summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDenis 'Gnutoo' Carikli <GNUtoo@no-log.org>2009-04-27 17:47:41 +0200
committerDenis 'Gnutoo' Carikli <GNUtoo@no-log.org>2009-04-27 17:47:41 +0200
commit691fd364dc741a8df339a1c3f74d941589ebaa99 (patch)
tree17aca55ad50553f58defacb24c377cd8777cf966
parent413cc98aa563c9e6104d1104d5b24987ab9d12f8 (diff)
parenteee57a831f63162a5c40c7ed53805f8d78a058bf (diff)
Merge branch 'org.openembedded.dev' of git://git.openembedded.net/openembedded into org.openembedded.dev
-rw-r--r--MAINTAINERS8
-rw-r--r--classes/autotools.bbclass4
-rw-r--r--classes/base.bbclass22
-rw-r--r--classes/canadian-sdk.bbclass6
-rw-r--r--classes/distutils-common-base.bbclass1
-rw-r--r--classes/icecc.bbclass11
-rw-r--r--classes/image.bbclass10
-rw-r--r--classes/lib_package.bbclass6
-rw-r--r--classes/package.bbclass8
-rw-r--r--classes/qmake2.bbclass2
-rw-r--r--classes/testlab.bbclass2
-rw-r--r--conf/bitbake.conf15
-rw-r--r--conf/checksums.ini152
-rw-r--r--conf/distro/angstrom-2008.1.conf20
-rw-r--r--conf/distro/include/angstrom.inc149
-rw-r--r--conf/distro/include/fso-autorev.inc1
-rw-r--r--conf/distro/include/sane-srcrevs.inc9
-rw-r--r--conf/machine/at91sam9g20ek.conf2
-rw-r--r--conf/machine/bug.conf16
-rw-r--r--conf/machine/hipox.conf2
-rw-r--r--conf/machine/include/kirkwood.inc4
-rw-r--r--conf/machine/include/omap3.inc2
-rw-r--r--conf/machine/include/tune-ppce500.inc1
-rw-r--r--conf/machine/micro2440.conf2
-rw-r--r--conf/machine/sheevaplug.conf15
-rw-r--r--conf/machine/topas910.conf44
-rwxr-xr-xcontrib/angstrom/sort.sh8
-rw-r--r--contrib/angstrom/upload-packages.sh2
-rw-r--r--contrib/buildbot/README4
-rw-r--r--contrib/buildbot/master.cfg153
-rwxr-xr-xcontrib/buildbot/scripts/full-oe-autobuild62
-rwxr-xr-xcontrib/mtn-bisect.sh26
-rwxr-xr-xcontrib/patchwork/pw-am.sh3
-rw-r--r--recipes/ace/ace.inc18
-rw-r--r--recipes/ace/ace_5.6.8.bb1
-rw-r--r--recipes/argp-standalone/argp-standalone_1.3.bb10
-rw-r--r--recipes/base-passwd/files/hipox/root-home.patch8
-rw-r--r--recipes/binutils/binutils-2.19.51.0.3/110-arm-eabi-conf.patch22
-rw-r--r--recipes/binutils/binutils-2.19.51.0.3/binutils-2.16.1-e300c2c3.patch18
-rw-r--r--recipes/binutils/binutils-2.19.51.0.3/binutils-2.16.91.0.6-objcopy-rename-errorcode.patch39
-rw-r--r--recipes/binutils/binutils-2.19.51.0.3/binutils-arm-pr7093.patch19
-rw-r--r--recipes/binutils/binutils-2.19.51.0.3/binutils-uclibc-100-uclibc-conf.patch34
-rw-r--r--recipes/binutils/binutils-2.19.51.0.3/binutils-uclibc-300-001_ld_makefile_patch.patch50
-rw-r--r--recipes/binutils/binutils-2.19.51.0.3/binutils-uclibc-300-006_better_file_error.patch43
-rw-r--r--recipes/binutils/binutils-2.19.51.0.3/binutils-uclibc-300-012_check_ldrunpath_length.patch47
-rw-r--r--recipes/binutils/binutils-2.19.51.0.3/binutils-uclibc-gas-needs-libm.patch38
-rw-r--r--recipes/binutils/binutils-avr32.inc1
-rw-r--r--recipes/binutils/binutils-canadian-sdk_2.18.50.0.7.bb32
-rw-r--r--recipes/binutils/binutils-canadian-sdk_2.18.bb6
-rw-r--r--recipes/binutils/binutils-cross-sdk_2.19.51.0.3.bb3
-rw-r--r--recipes/binutils/binutils-cross_2.19.51.0.3.bb4
-rw-r--r--recipes/binutils/binutils_2.17.bb2
-rw-r--r--recipes/binutils/binutils_2.19.51.0.3.bb19
-rw-r--r--recipes/bluez/bluez4_4.35.bb3
-rw-r--r--recipes/bluez/bluez4_4.37.bb64
-rw-r--r--recipes/bustle/bustle-dbus-monitor_0.2.0.bb19
-rw-r--r--recipes/busybox/files/busybox-appletlib-dependency.patch24
-rw-r--r--recipes/clamav/clamav.inc4
-rw-r--r--recipes/clamav/clamav_0.90.2.bb2
-rw-r--r--recipes/clamav/clamav_0.90.3.bb2
-rw-r--r--recipes/clamav/clamav_0.91.1.bb2
-rw-r--r--recipes/clamav/clamav_0.94.2.bb3
-rw-r--r--recipes/dbus/dbus.inc2
-rw-r--r--recipes/dbus/dbus_1.2.1.bb2
-rw-r--r--recipes/dialog/dialog-1.0-20050306/configure.patch37
-rw-r--r--recipes/dialog/dialog-1.0-20050306/m4.patch6979
-rw-r--r--recipes/dialog/dialog-1.0-20050306/templates.patch25
-rw-r--r--recipes/dialog/dialog-static_1.0-20050306.bb4
-rw-r--r--recipes/dialog/dialog-static_1.1-20080819.bb3
-rw-r--r--recipes/dialog/dialog.inc9
-rw-r--r--recipes/dialog/dialog_1.1-20080819.bb1
-rw-r--r--recipes/dsplink/gstreamer-ti_svn.bb2
-rw-r--r--recipes/e17/e-wm_svn.bb101
-rw-r--r--recipes/efl1/ecore.inc38
-rw-r--r--recipes/efl1/ecore_svn.bb2
-rw-r--r--recipes/efl1/etk_svn.bb10
-rwxr-xr-xrecipes/efl1/files/mkinstalldirs161
-rw-r--r--recipes/eibd/eibd_0.0.4.bb62
-rwxr-xr-xrecipes/eibd/files/eibd59
-rw-r--r--recipes/ekiga/ekiga_3.2.0.bb18
-rw-r--r--recipes/ekiga/opal_3.5.2.bb4
-rw-r--r--recipes/ekiga/opal_3.6.1.bb29
-rw-r--r--recipes/ekiga/ptlib_2.6.1.bb30
-rw-r--r--recipes/fbv/fbv-1.0b/cross_compile.patch41
-rw-r--r--recipes/fbv/fbv_1.0b.bb25
-rw-r--r--recipes/ffmpeg/omapfbplay_git.bb1
-rw-r--r--recipes/firmwares/marvell-gspi-fw/9.70.3-p37.tar.gzbin0 -> 92016 bytes
-rw-r--r--recipes/firmwares/marvell-gspi-fw/Marvell-Licence.txt40
-rw-r--r--recipes/firmwares/marvell-gspi-fw_9.70.3-p37.bb19
-rw-r--r--recipes/flickcurl/flickcurl_1.9.bb22
-rw-r--r--recipes/fltk/files/fix-it-damnit.patch39
-rw-r--r--recipes/fltk/fltk2_svn.bb52
-rw-r--r--recipes/freesmartphone/fso-term_git.bb17
-rw-r--r--recipes/freesmartphone/libfsotransport_git.bb3
-rw-r--r--recipes/freesmartphone/libgsm0710mux_git.bb6
-rw-r--r--recipes/freesmartphone/vala-dbus-binding-tool-native_git.bb17
-rw-r--r--recipes/fsi-client/fsi-client_20040803.bb3
-rw-r--r--recipes/gcc/gcc-4.4.0.inc20
-rw-r--r--recipes/gcc/gcc-4.4.0/100-uclibc-conf.patch37
-rw-r--r--recipes/gcc/gcc-4.4.0/103-uclibc-conf-noupstream.patch11
-rw-r--r--recipes/gcc/gcc-4.4.0/110-arm-eabi.patch27
-rw-r--r--recipes/gcc/gcc-4.4.0/200-uclibc-locale.patch2833
-rw-r--r--recipes/gcc/gcc-4.4.0/203-uclibc-locale-no__x.patch233
-rw-r--r--recipes/gcc/gcc-4.4.0/204-uclibc-locale-wchar_fix.patch48
-rw-r--r--recipes/gcc/gcc-4.4.0/205-uclibc-locale-update.patch519
-rw-r--r--recipes/gcc/gcc-4.4.0/300-libstdc++-pic.patch46
-rw-r--r--recipes/gcc/gcc-4.4.0/301-missing-execinfo_h.patch11
-rw-r--r--recipes/gcc/gcc-4.4.0/302-c99-snprintf.patch13
-rw-r--r--recipes/gcc/gcc-4.4.0/303-c99-complex-ugly-hack.patch12
-rw-r--r--recipes/gcc/gcc-4.4.0/304-index_macro.patch24
-rw-r--r--recipes/gcc/gcc-4.4.0/305-libmudflap-susv3-legacy.patch49
-rw-r--r--recipes/gcc/gcc-4.4.0/306-libstdc++-namespace.patch36
-rw-r--r--recipes/gcc/gcc-4.4.0/307-locale_facets.patch19
-rw-r--r--recipes/gcc/gcc-4.4.0/402-libbackend_dep_gcov-iov.h.patch13
-rw-r--r--recipes/gcc/gcc-4.4.0/602-sdk-libstdc++-includes.patch20
-rw-r--r--recipes/gcc/gcc-4.4.0/740-sh-pr24836.patch25
-rw-r--r--recipes/gcc/gcc-4.4.0/800-arm-bigendian.patch34
-rw-r--r--recipes/gcc/gcc-4.4.0/904-flatten-switch-stmt-00.patch153
-rw-r--r--recipes/gcc/gcc-4.4.0/arm-nolibfloat.patch24
-rw-r--r--recipes/gcc/gcc-4.4.0/arm-softfloat.patch16
-rw-r--r--recipes/gcc/gcc-4.4.0/arm-thumb-cache.patch29
-rw-r--r--recipes/gcc/gcc-4.4.0/arm-thumb.patch43
-rw-r--r--recipes/gcc/gcc-4.4.0/cache-amnesia.patch31
-rw-r--r--recipes/gcc/gcc-4.4.0/debian/ada-acats.dpatch78
-rw-r--r--recipes/gcc/gcc-4.4.0/debian/ada-alpha.dpatch88
-rw-r--r--recipes/gcc/gcc-4.4.0/debian/ada-default-project-path.dpatch147
-rw-r--r--recipes/gcc/gcc-4.4.0/debian/ada-driver-check.dpatch50
-rw-r--r--recipes/gcc/gcc-4.4.0/debian/ada-driver.dpatch42
-rw-r--r--recipes/gcc/gcc-4.4.0/debian/ada-gcc-name.dpatch87
-rw-r--r--recipes/gcc/gcc-4.4.0/debian/ada-gnatvsn.dpatch46
-rw-r--r--recipes/gcc/gcc-4.4.0/debian/ada-libgnatprj.dpatch4809
-rw-r--r--recipes/gcc/gcc-4.4.0/debian/ada-libgnatvsn.dpatch1598
-rw-r--r--recipes/gcc/gcc-4.4.0/debian/ada-link-lib.dpatch1932
-rw-r--r--recipes/gcc/gcc-4.4.0/debian/ada-sjlj.dpatch1307
-rw-r--r--recipes/gcc/gcc-4.4.0/debian/ada-symbolic-tracebacks.dpatch346
-rw-r--r--recipes/gcc/gcc-4.4.0/debian/alpha-ieee-doc.dpatch44
-rw-r--r--recipes/gcc/gcc-4.4.0/debian/alpha-ieee.dpatch57
-rw-r--r--recipes/gcc/gcc-4.4.0/debian/alpha-no-ev4-directive.dpatch49
-rw-r--r--recipes/gcc/gcc-4.4.0/debian/arm-unbreak-eabi-armv4t.dpatch36
-rw-r--r--recipes/gcc/gcc-4.4.0/debian/boehm-gc-getnprocs.dpatch39
-rw-r--r--recipes/gcc/gcc-4.4.0/debian/boehm-gc-nocheck.dpatch37
-rw-r--r--recipes/gcc/gcc-4.4.0/debian/config-ml.dpatch94
-rw-r--r--recipes/gcc/gcc-4.4.0/debian/cpu-default-i486.dpatch37
-rw-r--r--recipes/gcc/gcc-4.4.0/debian/cross-fixes.dpatch129
-rw-r--r--recipes/gcc/gcc-4.4.0/debian/cross-include.dpatch39
-rw-r--r--recipes/gcc/gcc-4.4.0/debian/deb-protoize.dpatch47
-rw-r--r--recipes/gcc/gcc-4.4.0/debian/gcc-d-lang.dpatch246
-rw-r--r--recipes/gcc/gcc-4.4.0/debian/gcc-driver-extra-langs.dpatch40
-rw-r--r--recipes/gcc/gcc-4.4.0/debian/gcc-hash-style-both.dpatch163
-rw-r--r--recipes/gcc/gcc-4.4.0/debian/gcc-hash-style-gnu.dpatch163
-rw-r--r--recipes/gcc/gcc-4.4.0/debian/gcc-i386-emit-cld.dpatch179
-rw-r--r--recipes/gcc/gcc-4.4.0/debian/gcc-ice-apport.dpatch44
-rw-r--r--recipes/gcc/gcc-4.4.0/debian/gcc-ice-hack.dpatch331
-rw-r--r--recipes/gcc/gcc-4.4.0/debian/gcc-multilib64dir.dpatch62
-rw-r--r--recipes/gcc/gcc-4.4.0/debian/gcc-pascal-lang.dpatch726
-rw-r--r--recipes/gcc/gcc-4.4.0/debian/gcc-ssp-default.dpatch209
-rw-r--r--recipes/gcc/gcc-4.4.0/debian/gcc-textdomain.dpatch103
-rw-r--r--recipes/gcc/gcc-4.4.0/debian/gdc-fix-build-kbsd-gnu.dpatch87
-rw-r--r--recipes/gcc/gcc-4.4.0/debian/gpc-4.1.dpatch28
-rw-r--r--recipes/gcc/gcc-4.4.0/debian/gpc-gcc-4.x.dpatch32
-rw-r--r--recipes/gcc/gcc-4.4.0/debian/gpc-names.dpatch117
-rw-r--r--recipes/gcc/gcc-4.4.0/debian/hurd-changes.dpatch72
-rw-r--r--recipes/gcc/gcc-4.4.0/debian/ignore-comp-fail.dpatch38
-rw-r--r--recipes/gcc/gcc-4.4.0/debian/kbsd-gnu-ada.dpatch231
-rw-r--r--recipes/gcc/gcc-4.4.0/debian/kbsd-gnu.dpatch99
-rw-r--r--recipes/gcc/gcc-4.4.0/debian/libffi-configure.dpatch45
-rw-r--r--recipes/gcc/gcc-4.4.0/debian/libjava-armel-ldflags.dpatch38
-rw-r--r--recipes/gcc/gcc-4.4.0/debian/libjava-debuginfo.dpatch43
-rw-r--r--recipes/gcc/gcc-4.4.0/debian/libjava-disable-static.dpatch45
-rw-r--r--recipes/gcc/gcc-4.4.0/debian/libjava-jar.dpatch227
-rw-r--r--recipes/gcc/gcc-4.4.0/debian/libjava-jnipath.dpatch94
-rw-r--r--recipes/gcc/gcc-4.4.0/debian/libjava-loading-constraints.dpatch431
-rw-r--r--recipes/gcc/gcc-4.4.0/debian/libjava-nobiarch-check.dpatch44
-rw-r--r--recipes/gcc/gcc-4.4.0/debian/libjava-realloc-leak.dpatch79
-rw-r--r--recipes/gcc/gcc-4.4.0/debian/libjava-rpath.dpatch49
-rw-r--r--recipes/gcc/gcc-4.4.0/debian/libjava-sjlj.dpatch65
-rw-r--r--recipes/gcc/gcc-4.4.0/debian/libjava-soname.dpatch34
-rw-r--r--recipes/gcc/gcc-4.4.0/debian/libjava-stacktrace.dpatch70
-rw-r--r--recipes/gcc/gcc-4.4.0/debian/libjava-subdir.dpatch246
-rw-r--r--recipes/gcc/gcc-4.4.0/debian/libjava-xulrunner1.9.dpatch41
-rw-r--r--recipes/gcc/gcc-4.4.0/debian/libobjc-gc-link.dpatch73
-rw-r--r--recipes/gcc/gcc-4.4.0/debian/libssp-gnu.dpatch52
-rw-r--r--recipes/gcc/gcc-4.4.0/debian/libstdc++-doclink.dpatch51
-rw-r--r--recipes/gcc/gcc-4.4.0/debian/libstdc++-pic.dpatch71
-rw-r--r--recipes/gcc/gcc-4.4.0/debian/libstdc++-symbols-hppa.dpatch369
-rw-r--r--recipes/gcc/gcc-4.4.0/debian/link-libs.dpatch157
-rw-r--r--recipes/gcc/gcc-4.4.0/debian/mips-triarch.dpatch61
-rw-r--r--recipes/gcc/gcc-4.4.0/debian/mudflap-nocheck.dpatch36
-rw-r--r--recipes/gcc/gcc-4.4.0/debian/multiarch-include.dpatch138
-rw-r--r--recipes/gcc/gcc-4.4.0/debian/multiarch-lib.dpatch52
-rw-r--r--recipes/gcc/gcc-4.4.0/debian/note-gnu-stack.dpatch316
-rw-r--r--recipes/gcc/gcc-4.4.0/debian/powerpc-biarch.dpatch47
-rw-r--r--recipes/gcc/gcc-4.4.0/debian/ppc64-ada.dpatch257
-rw-r--r--recipes/gcc/gcc-4.4.0/debian/pr24170.dpatch88
-rw-r--r--recipes/gcc/gcc-4.4.0/debian/pr27880.dpatch90
-rw-r--r--recipes/gcc/gcc-4.4.0/debian/pr28102.dpatch45
-rw-r--r--recipes/gcc/gcc-4.4.0/debian/pr28322.dpatch151
-rw-r--r--recipes/gcc/gcc-4.4.0/debian/pr30961.dpatch179
-rw-r--r--recipes/gcc/gcc-4.4.0/debian/pr33148.dpatch94
-rw-r--r--recipes/gcc/gcc-4.4.0/debian/pr34571.dpatch63
-rw-r--r--recipes/gcc/gcc-4.4.0/debian/rename-info-files.dpatch710
-rw-r--r--recipes/gcc/gcc-4.4.0/debian/s390-biarch.dpatch36
-rw-r--r--recipes/gcc/gcc-4.4.0/debian/sparc-biarch.dpatch80
-rw-r--r--recipes/gcc/gcc-4.4.0/debian/svn-class-updates.dpatch55
-rw-r--r--recipes/gcc/gcc-4.4.0/debian/svn-doc-updates.dpatch79
-rw-r--r--recipes/gcc/gcc-4.4.0/debian/svn-gdc-updates.dpatch137
-rw-r--r--recipes/gcc/gcc-4.4.0/debian/svn-updates.dpatch569584
-rw-r--r--recipes/gcc/gcc-4.4.0/debian/template.dpatch33
-rw-r--r--recipes/gcc/gcc-4.4.0/fedora/gcc43-c++-builtin-redecl.patch102
-rw-r--r--recipes/gcc/gcc-4.4.0/fedora/gcc43-cpp-pragma.patch284
-rw-r--r--recipes/gcc/gcc-4.4.0/fedora/gcc43-i386-libgomp.patch61
-rw-r--r--recipes/gcc/gcc-4.4.0/fedora/gcc43-ia64-libunwind.patch538
-rw-r--r--recipes/gcc/gcc-4.4.0/fedora/gcc43-java-debug-iface-type.patch17
-rw-r--r--recipes/gcc/gcc-4.4.0/fedora/gcc43-java-nomulti.patch44
-rw-r--r--recipes/gcc/gcc-4.4.0/fedora/gcc43-libgomp-speedup.patch2797
-rw-r--r--recipes/gcc/gcc-4.4.0/fedora/gcc43-ppc32-retaddr.patch86
-rw-r--r--recipes/gcc/gcc-4.4.0/fedora/gcc43-pr27898.patch16
-rw-r--r--recipes/gcc/gcc-4.4.0/fedora/gcc43-pr32139.patch19
-rw-r--r--recipes/gcc/gcc-4.4.0/fedora/gcc43-pr33763.patch153
-rw-r--r--recipes/gcc/gcc-4.4.0/fedora/gcc43-pr35440.patch56
-rw-r--r--recipes/gcc/gcc-4.4.0/fedora/gcc43-pr35751.patch114
-rw-r--r--recipes/gcc/gcc-4.4.0/fedora/gcc43-rh251682.patch89
-rw-r--r--recipes/gcc/gcc-4.4.0/fedora/gcc43-rh330771.patch34
-rw-r--r--recipes/gcc/gcc-4.4.0/fedora/gcc43-rh341221.patch28
-rw-r--r--recipes/gcc/gcc-4.4.0/fix-ICE-in-arm_unwind_emit_set.diff28
-rw-r--r--recipes/gcc/gcc-4.4.0/fortran-cross-compile-hack.patch30
-rw-r--r--recipes/gcc/gcc-4.4.0/fortran-static-linking.patch48
-rw-r--r--recipes/gcc/gcc-4.4.0/gcc-4.0.2-e300c2c3.patch319
-rw-r--r--recipes/gcc/gcc-4.4.0/gcc-4.2.3-linux-multilib-fix.patch23
-rw-r--r--recipes/gcc/gcc-4.4.0/gcc-4.3.1-ARCH_FLAGS_FOR_TARGET.patch31
-rw-r--r--recipes/gcc/gcc-4.4.0/gcc-4.3.1-SYSROOT_CFLAGS_FOR_TARGET.patch6691
-rw-r--r--recipes/gcc/gcc-4.4.0/gcc-arm-frename-registers.patch25
-rw-r--r--recipes/gcc/gcc-4.4.0/gcc-flags-for-build.patch279
-rw-r--r--recipes/gcc/gcc-4.4.0/gcc-release-branch/PR-36500-fix-neon.patch265
-rw-r--r--recipes/gcc/gcc-4.4.0/gcc41-configure.in.patch22
-rw-r--r--recipes/gcc/gcc-4.4.0/gcc43-build-id.patch74
-rw-r--r--recipes/gcc/gcc-4.4.0/gcc43-ppc64-ia64-GNU-stack.patch86
-rw-r--r--recipes/gcc/gcc-4.4.0/ldflags.patch22
-rw-r--r--recipes/gcc/gcc-4.4.0/pr34130.patch16
-rw-r--r--recipes/gcc/gcc-4.4.0/sdk-libstdc++-includes.patch22
-rw-r--r--recipes/gcc/gcc-4.4.0/sh3-installfix-fixheaders.patch11
-rw-r--r--recipes/gcc/gcc-4.4.0/sh_unwind.patch18
-rw-r--r--recipes/gcc/gcc-4.4.0/unbreak-armv4t.patch12
-rw-r--r--recipes/gcc/gcc-4.4.0/zecke-no-host-includes.patch31
-rw-r--r--recipes/gcc/gcc-4.4.0/zecke-xgcc-cpp.patch28
-rw-r--r--recipes/gcc/gcc-cross-initial_4.4.0.bb9
-rw-r--r--recipes/gcc/gcc-cross-intermediate_4.4.0.bb8
-rw-r--r--recipes/gcc/gcc-cross-sdk_4.4.0.bb13
-rw-r--r--recipes/gcc/gcc-cross_4.4.0.bb11
-rw-r--r--recipes/gcc/gcc-svn.inc1
-rw-r--r--recipes/gcc/gcc_4.4.0.bb13
-rw-r--r--recipes/gcc/mingw-gcc_3.4.5-20060117-2.bb4
-rw-r--r--recipes/genext2fs/genext2fs-1.4.1/volume.patch153
-rw-r--r--recipes/genext2fs/genext2fs-native_1.4.1.bb10
-rw-r--r--recipes/genext2fs/genext2fs_1.4.1.bb9
-rw-r--r--recipes/glibc/glibc-initial_2.9.bb6
-rw-r--r--recipes/glibc/glibc_2.9.bb152
-rw-r--r--recipes/gnome/gnome-media_2.26.0.bb32
-rw-r--r--recipes/gnome/gvfs_1.2.1.bb4
-rw-r--r--recipes/gnome/libxml++_2.26.0.bb7
-rw-r--r--recipes/gpephone/libgemwidget/libgemwidget-fixup.diff47
-rw-r--r--recipes/images/console-base-image.bb12
-rw-r--r--recipes/images/console-image.bb12
-rw-r--r--recipes/images/distcc-master-image.bb26
-rw-r--r--recipes/images/gnuradio-image.bb12
-rw-r--r--recipes/images/minimal-image.bb2
-rwxr-xr-xrecipes/initscripts/files/hipox/reboot19
-rw-r--r--recipes/initscripts/initscripts_1.0.bb7
-rw-r--r--recipes/iputils/files/debian/add-icmp-return-codes.diff41
-rw-r--r--recipes/iputils/files/debian/cleanup-docbook-formatting.diff20
-rw-r--r--recipes/iputils/files/debian/fix-arping-timeouts.diff24
-rw-r--r--recipes/iputils/files/debian/fix-cmsghdr-offset-bug.diff19
-rw-r--r--recipes/iputils/files/debian/fix-dead-host-ping-stats.diff17
-rw-r--r--recipes/iputils/files/debian/fix-tracepath-docs.diff23
-rw-r--r--recipes/iputils/files/debian/targets.diff27
-rw-r--r--recipes/iputils/files/debian/use_gethostbyname2.diff29
-rw-r--r--recipes/iputils/files/iputils_20071127-1.diff.gzbin0 -> 8924 bytes
-rw-r--r--recipes/iputils/iputils_20071127.bb79
-rw-r--r--recipes/iso-codes/iso-codes_1.4.bb12
-rw-r--r--recipes/kexecboot/initramfs-kexecboot-image.bb4
-rw-r--r--recipes/kexecboot/kexecboot-cfg_0.1.bb13
-rw-r--r--recipes/libelf/libelf_0.8.6.bb3
-rw-r--r--recipes/libsdl/libsdl-mixer_1.2.8.bb7
-rw-r--r--recipes/lighttpd/lighttpd_1.4.22.bb52
-rw-r--r--recipes/linknx/files/configure-libcurl.patch215
-rw-r--r--recipes/linknx/linknx_0.0.1.26.bb17
-rw-r--r--recipes/linux/linux-2.6.24/hipox/defconfig284
-rw-r--r--recipes/linux/linux-2.6.24/hipox/hipox-kconfig.patch16
-rw-r--r--recipes/linux/linux-2.6.24/hipox/hipox-ubifs.patch43970
-rw-r--r--recipes/linux/linux-2.6.24/ubifs-v2.6.24.patch45442
-rw-r--r--recipes/linux/linux-2.6.26/topas910/defconfig1145
-rw-r--r--recipes/linux/linux-2.6.29/cm-x270/0001-xm_x2xx-config-fix-up-CMDLINE-map-in-NOR-mtd-dev.patch828
-rw-r--r--recipes/linux/linux-2.6.29/cm-x270/0001-xm_x2xx-config-fix-up-CMDLINE.patch26
-rw-r--r--recipes/linux/linux-2.6.29/cm-x270/0002-cm-x270-nand-change-name-of-device.patch25
-rw-r--r--recipes/linux/linux-2.6.29/cm-x270/0003-cm-x2xx.c-add-support-for-sharp-VGA-display-panel.patch64
-rw-r--r--recipes/linux/linux-2.6.29/cm-x270/0004-add-build-script.patch27
-rw-r--r--recipes/linux/linux-2.6.29/cm-x270/defconfig1897
-rw-r--r--recipes/linux/linux-2.6.29/micro2440/defconfig29
-rw-r--r--recipes/linux/linux-bug/defconfig1698
-rw-r--r--recipes/linux/linux-bug_2.6.27.2.bb42
-rw-r--r--recipes/linux/linux-kirkwood/defconfig115
-rw-r--r--recipes/linux/linux-kirkwood_2.6.29.1.bb (renamed from recipes/linux/linux-kirkwood_2.6.29-rc7+git.bb)10
-rw-r--r--recipes/linux/linux-omap-2.6.29/dss2/0031-DSS2-do-bootmem-reserve-for-exclusive-access.patch33
-rw-r--r--recipes/linux/linux-omap-2.6.29/dss2/0032-DSS2-Fix-DISPC_VID_FIR-value-for-omap34xx.patch35
-rw-r--r--recipes/linux/linux-omap-2.6.29/dss2/0033-DSS2-Prefer-3-tap-filter.patch82
-rw-r--r--recipes/linux/linux-omap-2.6.29/dss2/0034-DSS2-VRAM-improve-omap_vram_add_region.patch135
-rw-r--r--recipes/linux/linux-omap-2.6.29/dss2/0035-DSS2-Added-the-function-pointer-for-getting-default.patch66
-rw-r--r--recipes/linux/linux-omap-2.6.29/dss2/0036-DSS2-Added-support-for-setting-and-querying-alpha-b.patch118
-rw-r--r--recipes/linux/linux-omap-2.6.29/dss2/0037-DSS2-Added-support-for-querying-color-keying.patch150
-rw-r--r--recipes/linux/linux-omap-2.6.29/dss2/0038-DSS2-OMAPFB-Some-color-keying-pointerd-renamed-in-D.patch56
-rw-r--r--recipes/linux/linux-omap-2.6.29/dss2/0039-DSS2-Add-sysfs-entry-to-for-the-alpha-blending-supp.patch59
-rw-r--r--recipes/linux/linux-omap-2.6.29/dss2/0040-DSS2-Provided-proper-exclusion-for-destination-colo.patch97
-rw-r--r--recipes/linux/linux-omap-2.6.29/dss2/0041-DSS2-Disable-vertical-offset-with-fieldmode.patch71
-rw-r--r--recipes/linux/linux-omap-2.6.29/dss2/0042-DSS2-Don-t-enable-fieldmode-automatically.patch34
-rw-r--r--recipes/linux/linux-omap-2.6.29/dss2/0043-DSS2-Swap-field-0-and-field-1-registers.patch170
-rw-r--r--recipes/linux/linux-omap-2.6.29/dss2/0044-DSS2-add-sysfs-entry-for-seting-the-rotate-type.patch76
-rw-r--r--recipes/linux/linux-omap-2.6.29/dss2/0045-DSS2-Fixed-line-endings-from-to.patch48
-rw-r--r--recipes/linux/linux-omap-2.6.29/dss2/0046-DSS2-DSI-decrease-sync-timeout-from-60s-to-2s.patch26
-rw-r--r--recipes/linux/linux-omap-2.6.29/dss2/0047-DSS2-fix-return-value-for-rotate_type-sysfs-functio.patch44
-rw-r--r--recipes/linux/linux-omap-2.6.29/dss2/0048-OMAP2-3-DMA-implement-trans-copy-and-const-fill.patch123
-rw-r--r--recipes/linux/linux-omap-2.6.29/dss2/0049-DSS2-VRAM-clear-allocated-area-with-DMA.patch101
-rw-r--r--recipes/linux/linux-omap-2.6.29/dss2/0050-DSS2-OMAPFB-remove-fb-clearing-code.patch53
-rw-r--r--recipes/linux/linux-omap-2.6.29/dss2/0051-DSS2-VRAM-use-debugfs-not-procfs.patch170
-rw-r--r--recipes/linux/linux-omap-2.6.29/dss2/0052-DSS2-VRAM-fix-section-mismatch-warning.patch34
-rw-r--r--recipes/linux/linux-omap-2.6.29/dss2/0053-DSS2-disable-LCD-DIGIT-before-resetting-DSS.patch41
-rw-r--r--recipes/linux/linux-omap-pm/0001-ASoC-Add-support-for-OMAP3-EVM.patch206
-rw-r--r--recipes/linux/linux-omap-pm/0001-Implement-downsampling-with-debugs.patch138
-rw-r--r--recipes/linux/linux-omap-pm/0001-Removed-resolution-check-that-prevents-scaling-when.patch26
-rw-r--r--recipes/linux/linux-omap-pm/0002-DSS-OMAPFB-fb-driver-for-new-display-subsystem.patch3809
-rw-r--r--recipes/linux/linux-omap-pm/0003-DSS-Add-generic-DVI-panel.patch146
-rw-r--r--recipes/linux/linux-omap-pm/0004-DSS-support-for-Beagle-Board.patch1607
-rw-r--r--recipes/linux/linux-omap-pm/0005-DSS-Sharp-LS037V7DW01-LCD-Panel-driver.patch156
-rw-r--r--recipes/linux/linux-omap-pm/0006-DSS-Support-for-OMAP3-SDP-board.patch1877
-rw-r--r--recipes/linux/linux-omap-pm/0007-DSS-Support-for-OMAP3-EVM-board.patch255
-rw-r--r--recipes/linux/linux-omap-pm/0009-DSS-OMAPFB-allocate-fbmem-only-for-fb0-or-if-spes.patch121
-rw-r--r--recipes/linux/linux-omap-pm/0010-DSS-OMAPFB-remove-extra-omapfb_setup_overlay-call.patch29
-rw-r--r--recipes/linux/linux-omap-pm/0011-DSS-OMAPFB-fix-GFX_SYNC-to-be-compatible-with-DSS1.patch27
-rw-r--r--recipes/linux/linux-omap-pm/0012-DSS-Add-comments-to-FAKE_VSYNC-to-make-things-more.patch27
-rw-r--r--recipes/linux/linux-omap-pm/0013-DSS-OMAPFB-remove-extra-spaces.patch25
-rw-r--r--recipes/linux/linux-omap-pm/0014-DSS-fix-clk_get_usecount.patch67
-rw-r--r--recipes/linux/linux-omap-pm/add-cpufreq-for-omap3evm.diff28
-rw-r--r--recipes/linux/linux-omap-pm/beagleboard/ehci.patch131
-rw-r--r--recipes/linux/linux-omap-pm/cache-display-fix.patch238
-rw-r--r--recipes/linux/linux-omap-pm/dss2.diff9
-rw-r--r--recipes/linux/linux-omap-pm/dss2/0001-Revert-gro-Fix-legacy-path-napi_complete-crash.patch39
-rw-r--r--recipes/linux/linux-omap-pm/dss2/0002-OMAPFB-move-omapfb.h-to-include-linux.patch1297
-rw-r--r--recipes/linux/linux-omap-pm/dss2/0003-DSS2-OMAP2-3-Display-Subsystem-driver.patch (renamed from recipes/linux/linux-omap-pm/0001-DSS-New-display-subsystem-driver-for-OMAP2-3.patch)9557
-rw-r--r--recipes/linux/linux-omap-pm/dss2/0004-DSS2-OMAP-framebuffer-driver.patch3403
-rw-r--r--recipes/linux/linux-omap-pm/dss2/0005-DSS2-Add-panel-drivers.patch396
-rw-r--r--recipes/linux/linux-omap-pm/dss2/0006-DSS2-HACK-Add-DSS2-support-for-N800.patch (renamed from recipes/linux/linux-omap-pm/0008-DSS-Hacked-N810-support.patch)129
-rw-r--r--recipes/linux/linux-omap-pm/dss2/0007-DSS2-Add-DSS2-support-for-SDP-Beagle-Overo-EVM.patch5691
-rw-r--r--recipes/linux/linux-omap-pm/dss2/0008-DSS2-Add-function-to-display-object-to-get-the-back.patch39
-rw-r--r--recipes/linux/linux-omap-pm/dss2/0009-DSS2-Add-acx565akm-panel.patch778
-rw-r--r--recipes/linux/linux-omap-pm/dss2/0010-DSS2-Small-VRFB-context-allocation-bug-fixed.patch28
-rw-r--r--recipes/linux/linux-omap-pm/dss2/0011-DSS2-Allocated-memory-for-Color-Look-up-table.patch37
-rw-r--r--recipes/linux/linux-omap-pm/dss2/0012-DSS2-Fix-DMA-rotation.patch65
-rw-r--r--recipes/linux/linux-omap-pm/dss2/0013-DSS2-Verify-that-overlay-paddr-0.patch41
-rw-r--r--recipes/linux/linux-omap-pm/dss2/0014-DSS2-Add-function-to-get-DSS-logic-clock-rate.patch51
-rw-r--r--recipes/linux/linux-omap-pm/dss2/0015-DSS2-DSI-calculate-VP_CLK_RATIO-properly.patch68
-rw-r--r--recipes/linux/linux-omap-pm/dss2/0016-DSS2-DSI-improve-packet-len-calculation.patch58
-rw-r--r--recipes/linux/linux-omap-pm/dss2/0017-DSS2-Disable-video-planes-on-sync-lost-error.patch103
-rw-r--r--recipes/linux/linux-omap-pm/dss2/0018-DSS2-check-for-ovl-paddr-only-when-enabling.patch40
-rw-r--r--recipes/linux/linux-omap-pm/dss2/0019-DSS2-Check-fclk-limits-when-configuring-video-plane.patch183
-rw-r--r--recipes/linux/linux-omap-pm/dss2/0020-DSS2-Check-scaling-limits-against-proper-values.patch79
-rw-r--r--recipes/linux/linux-omap-pm/dss2/0021-DSS2-Add-venc-register-dump.patch96
-rw-r--r--recipes/linux/linux-omap-pm/dss2/0022-DSS2-FB-remove-unused-var-warning.patch27
-rw-r--r--recipes/linux/linux-omap-pm/dss2/0023-DSS2-pass-the-default-FB-color-format-through-board.patch214
-rw-r--r--recipes/linux/linux-omap-pm/dss2/0024-DSS2-Beagle-Use-gpio_set_value.patch48
-rw-r--r--recipes/linux/linux-omap-pm/dss2/0025-DSS2-VRFB-Macro-for-calculating-base-address-of-th.patch28
-rw-r--r--recipes/linux/linux-omap-pm/dss2/0026-DSS2-DSI-sidlemode-to-noidle-while-sending-frame.patch78
-rw-r--r--recipes/linux/linux-omap-pm/dss2/0027-DSS2-VRFB-rotation-and-mirroring-implemented.patch324
-rw-r--r--recipes/linux/linux-omap-pm/dss2/0028-DSS2-OMAPFB-Added-support-for-the-YUV-VRFB-rotatio.patch236
-rw-r--r--recipes/linux/linux-omap-pm/dss2/0029-DSS2-OMAPFB-Set-line_length-correctly-for-YUV-with.patch61
-rw-r--r--recipes/linux/linux-omap-pm/dss2/0030-DSS2-dispc_get_trans_key-was-returning-wrong-key-ty.patch29
-rw-r--r--recipes/linux/linux-omap-pm/dss2/0031-DSS2-do-bootmem-reserve-for-exclusive-access.patch33
-rw-r--r--recipes/linux/linux-omap-pm/dss2/0032-DSS2-Fix-DISPC_VID_FIR-value-for-omap34xx.patch35
-rw-r--r--recipes/linux/linux-omap-pm/dss2/0033-DSS2-Prefer-3-tap-filter.patch82
-rw-r--r--recipes/linux/linux-omap-pm/dss2/0034-DSS2-VRAM-improve-omap_vram_add_region.patch135
-rw-r--r--recipes/linux/linux-omap-pm/dss2/0035-DSS2-Added-the-function-pointer-for-getting-default.patch66
-rw-r--r--recipes/linux/linux-omap-pm/dss2/0036-DSS2-Added-support-for-setting-and-querying-alpha-b.patch118
-rw-r--r--recipes/linux/linux-omap-pm/dss2/0037-DSS2-Added-support-for-querying-color-keying.patch150
-rw-r--r--recipes/linux/linux-omap-pm/dss2/0038-DSS2-OMAPFB-Some-color-keying-pointerd-renamed-in-D.patch56
-rw-r--r--recipes/linux/linux-omap-pm/dss2/0039-DSS2-Add-sysfs-entry-to-for-the-alpha-blending-supp.patch59
-rw-r--r--recipes/linux/linux-omap-pm/dss2/0040-DSS2-Provided-proper-exclusion-for-destination-colo.patch97
-rw-r--r--recipes/linux/linux-omap-pm/dss2/0041-DSS2-Disable-vertical-offset-with-fieldmode.patch71
-rw-r--r--recipes/linux/linux-omap-pm/dss2/0042-DSS2-Don-t-enable-fieldmode-automatically.patch34
-rw-r--r--recipes/linux/linux-omap-pm/dss2/0043-DSS2-Swap-field-0-and-field-1-registers.patch170
-rw-r--r--recipes/linux/linux-omap-pm/dss2/0044-DSS2-add-sysfs-entry-for-seting-the-rotate-type.patch76
-rw-r--r--recipes/linux/linux-omap-pm/dss2/0045-DSS2-Fixed-line-endings-from-to.patch48
-rw-r--r--recipes/linux/linux-omap-pm/dss2/0046-DSS2-DSI-decrease-sync-timeout-from-60s-to-2s.patch26
-rw-r--r--recipes/linux/linux-omap-pm/dss2/0047-DSS2-fix-return-value-for-rotate_type-sysfs-functio.patch44
-rw-r--r--recipes/linux/linux-omap-pm/dss2/0048-OMAP2-3-DMA-implement-trans-copy-and-const-fill.patch123
-rw-r--r--recipes/linux/linux-omap-pm/dss2/0049-DSS2-VRAM-clear-allocated-area-with-DMA.patch101
-rw-r--r--recipes/linux/linux-omap-pm/dss2/0050-DSS2-OMAPFB-remove-fb-clearing-code.patch53
-rw-r--r--recipes/linux/linux-omap-pm/dss2/0051-DSS2-VRAM-use-debugfs-not-procfs.patch170
-rw-r--r--recipes/linux/linux-omap-pm/dss2/0052-DSS2-VRAM-fix-section-mismatch-warning.patch34
-rw-r--r--recipes/linux/linux-omap-pm/dss2/0053-DSS2-disable-LCD-DIGIT-before-resetting-DSS.patch41
-rw-r--r--recipes/linux/linux-omap-pm/dss2/merge-fixups.diff49
-rw-r--r--recipes/linux/linux-omap-pm/dvb-fix-dma.diff60
-rw-r--r--recipes/linux/linux-omap-pm/ehci.patch0
-rw-r--r--recipes/linux/linux-omap-pm/fix-clkrate-programming.diff57
-rw-r--r--recipes/linux/linux-omap-pm/fix-dpll-m4.diff37
-rw-r--r--recipes/linux/linux-omap-pm/fix-irq33.diff111
-rw-r--r--recipes/linux/linux-omap-pm/fixup-evm-cpufreq.diff44
-rw-r--r--recipes/linux/linux-omap-pm/ioremap-fix.patch75
-rw-r--r--recipes/linux/linux-omap-pm/mru-256MB.diff24
-rw-r--r--recipes/linux/linux-omap-pm/mru-enable-overlay-optimalization.diff117
-rw-r--r--recipes/linux/linux-omap-pm/mru-fix-display-panning.diff49
-rw-r--r--recipes/linux/linux-omap-pm/mru-fix-timings.diff26
-rw-r--r--recipes/linux/linux-omap-pm/mru-improve-pixclock-config.diff93
-rw-r--r--recipes/linux/linux-omap-pm/mru-make-video-timings-selectable.diff312
-rw-r--r--recipes/linux/linux-omap-pm/musb-support-high-bandwidth.patch.eml134
-rw-r--r--recipes/linux/linux-omap-pm/no-harry-potter.diff11
-rw-r--r--recipes/linux/linux-omap-pm/omap-2430-lcd.patch11
-rw-r--r--recipes/linux/linux-omap-pm/oprofile-0.9.3.armv7.diff599
-rw-r--r--recipes/linux/linux-omap-pm/overo-cpufreq.diff25
-rw-r--r--recipes/linux/linux-omap-pm/overo/defconfig2250
-rw-r--r--recipes/linux/linux-omap-pm/overo/ehci.patch (renamed from recipes/linux/linux-omap-pm/0001-This-merges-Steve-Kipisz-USB-EHCI-support.-He-star.patch)47
-rw-r--r--recipes/linux/linux-omap-pm/strongly-ordered-memory.diff18
-rw-r--r--recipes/linux/linux-omap-pm/tick-schedc-suppress-needless-timer-reprogramming.patch81
-rw-r--r--recipes/linux/linux-omap-pm/timer-suppression.patch43
-rw-r--r--recipes/linux/linux-omap-pm/touchscreen.patch22
-rw-r--r--recipes/linux/linux-omap-pm/twl-asoc-fix-record.diff34
-rw-r--r--recipes/linux/linux-omap-pm/usbttyfix.patch29
-rw-r--r--recipes/linux/linux-omap-pm_git.bb95
-rw-r--r--recipes/linux/linux-omap_2.6.28.bb1
-rw-r--r--recipes/linux/linux-omap_2.6.29.bb24
-rw-r--r--recipes/linux/linux-rt_2.6.29.bb17
-rw-r--r--recipes/linux/linux.inc3
-rw-r--r--recipes/linux/linux_2.6.24.bb4
-rw-r--r--recipes/linux/linux_2.6.25.bb2
-rw-r--r--recipes/linux/linux_2.6.26.bb7
-rw-r--r--recipes/linux/linux_2.6.29.bb12
-rw-r--r--recipes/linux/openezx-kernel_git.bb12
-rw-r--r--recipes/lowlevel_topas910/lowlevel-topas910_1.0.bb31
-rw-r--r--recipes/make/mingw-make-canadian-sdk_3.81.bb2
-rw-r--r--recipes/man/man_1.5p.bb3
-rw-r--r--recipes/meta/canadian-sdk.bb130
-rw-r--r--recipes/meta/slugos-packages.bb5
-rw-r--r--recipes/mingw/mingw-runtime.inc4
-rw-r--r--recipes/mingw/mingw-w32api.inc4
-rw-r--r--recipes/mplayer/files/omapfb.patch19
-rw-r--r--recipes/mplayer/files/vo_omapfb.c269
-rw-r--r--recipes/mplayer/mplayer_svn.bb6
-rw-r--r--recipes/nautilus/nautilus-cd-burner/makefile.patch42
-rw-r--r--recipes/nautilus/nautilus-cd-burner_2.24.0.bb22
-rw-r--r--recipes/nautilus/nautilus-cd-burner_2.8.5.bb30
-rw-r--r--recipes/netbase/netbase/bug/hosts3
-rw-r--r--recipes/netbase/netbase/bug/interfaces39
-rw-r--r--recipes/netbase/netbase_4.21.bb2
-rwxr-xr-xrecipes/owfs/files/owhttpd60
-rwxr-xr-xrecipes/owfs/files/owserver59
-rw-r--r--recipes/owfs/owfs_2.7p21.bb58
-rw-r--r--recipes/powertop/powertop_1.11.bb9
-rw-r--r--recipes/pthsem/files/ldflags.patch16
-rw-r--r--recipes/pthsem/pthsem_2.0.7.bb31
-rw-r--r--recipes/pulseaudio/libcanberra_0.12.bb (renamed from recipes/pulseaudio/libcanberra_0.10.bb)6
-rw-r--r--recipes/pxaregs/pxaregs_1.14.bb2
-rw-r--r--recipes/python/python-evas_svn.bb1
-rw-r--r--recipes/qt4/files/4.5.1/0003-no-tools.patch (renamed from recipes/qt4/files/4.5.0/0003-no-tools.patch)0
-rw-r--r--recipes/qt4/files/4.5.1/0006-freetype-host-includes.patch (renamed from recipes/qt4/files/4.5.0/0006-freetype-host-includes.patch)0
-rw-r--r--recipes/qt4/files/4.5.1/0007-openssl-host-includes.patch (renamed from recipes/qt4/files/4.5.0/0007-openssl-host-includes.patch)0
-rw-r--r--recipes/qt4/files/4.5.1/0008-qt-lib-infix.patch (renamed from recipes/qt4/files/4.5.0/0008-qt-lib-infix.patch)0
-rw-r--r--recipes/qt4/files/4.5.1/0010-no-simpledecoration-example.patch (renamed from recipes/qt4/files/4.5.0/0010-no-simpledecoration-example.patch)0
-rw-r--r--recipes/qt4/files/linux.conf2
-rw-r--r--recipes/qt4/qt4-embedded_4.5.1.bb (renamed from recipes/qt4/qt4-embedded_4.5.0.bb)1
-rw-r--r--recipes/qt4/qt4-tools-native.inc8
-rw-r--r--recipes/qt4/qt4-tools-native_4.4.3.bb2
-rw-r--r--recipes/qt4/qt4-tools-native_4.5.1.bb (renamed from recipes/qt4/qt4-tools-native_4.5.0.bb)0
-rw-r--r--recipes/qt4/qt4-x11-free_4.5.1.bb (renamed from recipes/qt4/qt4-x11-free_4.5.0.bb)0
-rw-r--r--recipes/qt4/qt4.inc4
-rw-r--r--recipes/rpm/rpm-native_4.4.2.3.bb1
-rw-r--r--recipes/siproxd/files/no-docs.patch38
-rw-r--r--recipes/siproxd/files/siproxd.init59
-rw-r--r--recipes/siproxd/siproxd.inc40
-rw-r--r--recipes/siproxd/siproxd_0.7.1.bb3
-rw-r--r--recipes/sqlite/sqlite3-native_3.6.13.bb1
-rw-r--r--recipes/sqlite/sqlite3_3.6.13.bb1
-rw-r--r--recipes/squashfs-tools/squashfs-tools-4.0/Makefile.patch60
-rw-r--r--recipes/squashfs-tools/squashfs-tools-native_4.0.bb11
-rw-r--r--recipes/squashfs-tools/squashfs-tools_4.0.bb12
-rw-r--r--recipes/tasks/task-base.bb4
-rw-r--r--recipes/tasks/task-openmoko-feed.bb6
-rw-r--r--recipes/tracker/tracker_0.5.4.bb2
-rw-r--r--recipes/tunctl/tunctl.inc14
-rw-r--r--recipes/tunctl/tunctl_1.5.bb1
-rw-r--r--recipes/u-boot/u-boot-1.2.0/dm355-leopard.diff950
-rw-r--r--recipes/u-boot/u-boot-2009.01/at91sam9g20-fix-config.patch274
-rw-r--r--recipes/u-boot/u-boot-2009.03/hipox/01-hipox-fix-gmac-reset.patch16
-rw-r--r--recipes/u-boot/u-boot-2009.03/hipox/02-hipox-enable-mmu.patch281
-rw-r--r--recipes/u-boot/u-boot_1.2.0.bb2
-rw-r--r--recipes/u-boot/u-boot_2009.01.bb6
-rw-r--r--recipes/u-boot/u-boot_2009.03.bb7
-rw-r--r--recipes/u-boot/u-boot_git.bb6
-rw-r--r--recipes/udev/udev-124/default4
-rw-r--r--recipes/udev/udev-124/init29
-rw-r--r--recipes/udev/udev_124.bb10
-rw-r--r--recipes/udev/udev_141.bb2
-rw-r--r--recipes/unzip/unzip_552.bb2
-rw-r--r--recipes/util-linux-ng/util-linux-ng.inc2
-rw-r--r--recipes/util-linux-ng/util-linux-ng_2.13.1.bb1
-rw-r--r--recipes/vala/vala-bootstrap-native_0.6.0.bb3
-rw-r--r--recipes/vala/vala_0.6.0.bb1
-rw-r--r--recipes/webif/webif_svn.bb37
-rw-r--r--recipes/wt/wt_2.2.3.bb2
-rw-r--r--recipes/zaurus-updater/zaurus-updater.bb1
-rw-r--r--site/powerpc-common1
507 files changed, 688171 insertions, 66482 deletions
diff --git a/MAINTAINERS b/MAINTAINERS
index 34eb54d352..2447434e85 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -145,12 +145,12 @@ Interests: wifi, kernels, emulation, qemu, git
Recipes: linux-jlime*, scummvm, blackbox
Person: Leon Woestenberg
-Mail: leonw@mailcan.com
+Mail: leon@sidebranch.com
Website: http://www.sidebranch.com/
-Interests: Real-time embedded Linux for highly available applications.
+Interests: Real-time and/or embedded Linux for industrial applications.
Interests: Small read-only Linux based firmware, deterministic builds.
-Recipes: lighttpd, fastcgi
-Machines: mpc8313e-rdb, efika, ixp4xxbe, x86, davinci-dvevm
+Recipes: lighttpd, fastcgi, squashfs-tools, rt-tests, linux-rt, linux
+Machines: mpc8313e-rdb, mpc8315e-rdb, efika, ixp4xxbe, x86, canyonlands
Person: Liam Girdwoord
Mail: liam.girdwood@wolfsonmicro.com
diff --git a/classes/autotools.bbclass b/classes/autotools.bbclass
index 20f371a987..e43b289c56 100644
--- a/classes/autotools.bbclass
+++ b/classes/autotools.bbclass
@@ -231,6 +231,10 @@ autotools_stage_all() {
echo "cp -f ${STAGE_TEMP}/${libdir}/pkgconfig/*.pc ${STAGING_LIBDIR}/pkgconfig/"
cp -f ${STAGE_TEMP}/${libdir}/pkgconfig/*.pc ${STAGING_LIBDIR}/pkgconfig/
fi
+ if [ -e ${STAGE_TEMP}/${datadir}/pkgconfig/ ] ; then
+ echo "cp -f ${STAGE_TEMP}/${datadir}/pkgconfig/*.pc ${STAGING_DATADIR}/pkgconfig/"
+ cp -f ${STAGE_TEMP}/${datadir}/pkgconfig/*.pc ${STAGING_DATADIR}/pkgconfig/
+ fi
fi
rm -rf ${STAGE_TEMP}/${mandir} || true
rm -rf ${STAGE_TEMP}/${infodir} || true
diff --git a/classes/base.bbclass b/classes/base.bbclass
index 9ec705bc1e..e5fd814b25 100644
--- a/classes/base.bbclass
+++ b/classes/base.bbclass
@@ -40,12 +40,11 @@ def base_path_relative(src, dest):
return sep.join(relpath)
# for MD5/SHA handling
-def base_chk_load_parser(config_path):
+def base_chk_load_parser(config_paths):
import ConfigParser, os, bb
parser = ConfigParser.ConfigParser()
- if not len(parser.read(config_path)) == 1:
- bb.note("Can not open the '%s' ini file" % config_path)
- raise Exception("Can not open the '%s'" % config_path)
+ if len(parser.read(config_paths)) < 1:
+ raise ValueError("no ini files could be found")
return parser
@@ -620,13 +619,18 @@ python base_do_fetch() {
# Verify the SHA and MD5 sums we have in OE and check what do
# in
- check_sum = bb.which(bb.data.getVar('BBPATH', d, True), "conf/checksums.ini")
- if not check_sum:
- bb.note("No conf/checksums.ini found, not checking checksums")
- return
+ checksum_paths = bb.data.getVar('BBPATH', d, True).split(":")
+
+ # reverse the list to give precedence to directories that
+ # appear first in BBPATH
+ checksum_paths.reverse()
+ checksum_files = ["%s/conf/checksums.ini" % path for path in checksum_paths]
try:
- parser = base_chk_load_parser(check_sum)
+ parser = base_chk_load_parser(checksum_files)
+ except ValueError:
+ bb.note("No conf/checksums.ini found, not checking checksums")
+ return
except:
bb.note("Creating the CheckSum parser failed")
return
diff --git a/classes/canadian-sdk.bbclass b/classes/canadian-sdk.bbclass
index 6b4fdf878a..a6c5552310 100644
--- a/classes/canadian-sdk.bbclass
+++ b/classes/canadian-sdk.bbclass
@@ -19,11 +19,7 @@ CFLAGS = "${SDK_CFLAGS}"
CXXFLAGS = "${SDK_CFLAGS}"
LDFLAGS = "${SDK_LDFLAGS}"
-# TODO: add logic to add the following unless PN ~= gcc*
-#DEPENDS_prepend = "virtual/${HOST_PREFIX}binutils virtual/${HOST_PREFIX}gcc "
-# and otherwise just
-DEPENDS_prepend = "virtual/${HOST_PREFIX}binutils "
-
+DEPENDS_prepend = "virtual/${HOST_PREFIX}binutils virtual/${HOST_PREFIX}gcc "
# On mingw systems we want to have the real sysroot default to c:/... and
# assume that the default install will be on the C drive. This can be changed
diff --git a/classes/distutils-common-base.bbclass b/classes/distutils-common-base.bbclass
index 068eac4de8..9ca392b84a 100644
--- a/classes/distutils-common-base.bbclass
+++ b/classes/distutils-common-base.bbclass
@@ -17,6 +17,7 @@ PACKAGES = "${PN}-dev ${PN}-dbg ${PN}-doc ${PN}"
FILES_${PN} = "${bindir}/* ${libdir}/* ${libdir}/${PYTHON_DIR}/*"
FILES_${PN}-dev += "\
+ ${datadir}/pkgconfig \
${libdir}/pkgconfig \
${libdir}/${PYTHON_DIR}/site-packages/*.la \
"
diff --git a/classes/icecc.bbclass b/classes/icecc.bbclass
index dce29fbbeb..0eb2d9feee 100644
--- a/classes/icecc.bbclass
+++ b/classes/icecc.bbclass
@@ -137,7 +137,8 @@ def create_native_env(bb,d):
def get_cross_kernel_cc(bb,d):
kernel_cc = bb.data.expand('${KERNEL_CC}', d)
- kernel_cc = kernel_cc.replace('ccache', '')
+ kernel_cc = kernel_cc.replace('ccache', '').strip()
+ kernel_cc = kernel_cc.split(' ')[0]
kernel_cc = kernel_cc.strip()
return kernel_cc
@@ -182,10 +183,10 @@ def create_cross_kernel_env(bb,d):
cr_env_script = bb.data.getVar('ICECC_ENV_EXEC', d) or bb.data.expand('${STAGING_DIR}', d)+"/ice/icecc-create-env"
result=os.popen("%s %s %s %s %s %s" %(cr_env_script,
"--silent",
- os.path.join(ice_dir,'bin',kernel_cc),
- os.path.join(ice_dir,target_sys,'bin','g++'),
- os.path.join(ice_dir,target_sys,'bin','as'),
- os.path.join(ice_dir,"ice",cross_name) ) )
+ os.path.join(ice_dir, 'bin', kernel_cc),
+ os.path.join(ice_dir, 'bin', "%s-g++" % target_sys),
+ os.path.join(ice_dir, 'bin', "%s-as" % target_sys),
+ os.path.join(ice_dir, "ice", cross_name) ) )
return tar_file
diff --git a/classes/image.bbclass b/classes/image.bbclass
index fd0df4df08..89d27120c1 100644
--- a/classes/image.bbclass
+++ b/classes/image.bbclass
@@ -17,16 +17,16 @@ IMAGE_INITSCRIPTS ?= "initscripts"
#
IMAGE_LOGIN_MANAGER ?= "tinylogin"
-IMAGE_VARS = "${IMAGE_INITSCRIPTS} \
+IMAGE_BOOT ?= "${IMAGE_INITSCRIPTS} \
${IMAGE_DEV_MANAGER} \
${IMAGE_INIT_MANAGER} \
${IMAGE_LOGIN_MANAGER} "
-RDEPENDS += "${IMAGE_INSTALL} ${IMAGE_VARS}"
+RDEPENDS += "${IMAGE_INSTALL} ${IMAGE_BOOT}"
# "export IMAGE_BASENAME" not supported at this time
IMAGE_BASENAME[export] = "1"
-export PACKAGE_INSTALL ?= "${IMAGE_INSTALL} ${IMAGE_VARS}"
+export PACKAGE_INSTALL ?= "${IMAGE_INSTALL} ${IMAGE_BOOT}"
# We need to recursively follow RDEPENDS and RRECOMMENDS for images
do_rootfs[recrdeptask] += "do_deploy do_populate_staging"
@@ -104,8 +104,8 @@ LINGUAS_INSTALL = "${@" ".join(map(lambda s: "locale-base-%s" % s, bb.data.getVa
do_rootfs[nostamp] = "1"
do_rootfs[dirs] = "${TOPDIR}"
-do_rootfs[lockfiles] = "${IMAGE_ROOTFS}.lock"
do_build[nostamp] = "1"
+do_install[nostamp] = "1"
# Must call real_do_rootfs() from inside here, rather than as a separate
# task, so that we have a single fakeroot context for the whole process.
@@ -234,5 +234,5 @@ rootfs_update_timestamp () {
# export the zap_root_password, create_etc_timestamp and remote_init_link
EXPORT_FUNCTIONS zap_root_password create_etc_timestamp remove_init_link do_rootfs make_zimage_symlink_relative set_image_autologin rootfs_update_timestamp
-addtask rootfs before do_build after do_install
+addtask rootfs after do_compile before do_install
addtask deploy_to after do_rootfs
diff --git a/classes/lib_package.bbclass b/classes/lib_package.bbclass
index 03ba9d094f..788b7bb0c4 100644
--- a/classes/lib_package.bbclass
+++ b/classes/lib_package.bbclass
@@ -1,8 +1,12 @@
PACKAGES += "${PN}-bin"
+# NB: ${base_libdir}/*${SOLIBSDEV} is included here because the shared libraries
+# in ${base_libdir} do not follow the usual *.so.* naming convention, for instance
+# libproc-3.2.7.so
FILES_${PN} = "${libexecdir} ${libdir}/lib*${SOLIBS} \
${sysconfdir} ${sharedstatedir} ${localstatedir} \
- ${base_libdir}/*${SOLIBS} ${datadir}/${PN} ${libdir}/${PN}"
+ ${base_libdir}/*${SOLIBS} ${base_libdir}/*${SOLIBSDEV} \
+ ${datadir}/${PN} ${libdir}/${PN}"
FILES_${PN}-dev = "${includedir} ${libdir}/lib*${SOLIBSDEV} ${libdir}/*.la \
${libdir}/*.a ${libdir}/pkgconfig /lib/*.a /lib/*.o \
${datadir}/aclocal ${bindir}/*-config"
diff --git a/classes/package.bbclass b/classes/package.bbclass
index 7a61c5a0fb..8a77369682 100644
--- a/classes/package.bbclass
+++ b/classes/package.bbclass
@@ -384,8 +384,12 @@ python populate_packages () {
globbed = glob.glob(file)
if globbed:
if [ file ] != globbed:
- files += globbed
- continue
+ if not file in globbed:
+ files += globbed
+ continue
+ else:
+ globbed.remove(file)
+ files += globbed
if (not os.path.islink(file)) and (not os.path.exists(file)):
continue
if file in seen:
diff --git a/classes/qmake2.bbclass b/classes/qmake2.bbclass
index f0a7931698..26e813a036 100644
--- a/classes/qmake2.bbclass
+++ b/classes/qmake2.bbclass
@@ -10,6 +10,8 @@ export OE_QMAKE_UIC = "${STAGING_BINDIR_NATIVE}/uic4"
export OE_QMAKE_UIC3 = "${STAGING_BINDIR_NATIVE}/uic34"
export OE_QMAKE_MOC = "${STAGING_BINDIR_NATIVE}/moc4"
export OE_QMAKE_RCC = "${STAGING_BINDIR_NATIVE}/rcc4"
+export OE_QMAKE_QDBUSCPP2XML = "${STAGING_BINDIR_NATIVE}/qdbuscpp2xml4"
+export OE_QMAKE_QDBUSXML2CPP = "${STAGING_BINDIR_NATIVE}/qdbusxml2cpp4"
export OE_QMAKE_QMAKE = "${STAGING_BINDIR_NATIVE}/qmake2"
export OE_QMAKE_LINK = "${CXX}"
export OE_QMAKE_CXXFLAGS = "${CXXFLAGS}"
diff --git a/classes/testlab.bbclass b/classes/testlab.bbclass
index bb47ee877f..fc923c5112 100644
--- a/classes/testlab.bbclass
+++ b/classes/testlab.bbclass
@@ -22,7 +22,7 @@
# Needs 'dot', 'opkg-cl'
do_testlab() {
-if [ -e ${IMAGE_ROOTFS}/etc/opkg ] ; then
+if [ -e ${IMAGE_ROOTFS}/etc/opkg ] && [ "${ONLINE_PACKAGE_MANAGEMENT}" = "full" ] ; then
TESTLAB_DIR="${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}-testlab"
mkdir -p ${TESTLAB_DIR}/
diff --git a/conf/bitbake.conf b/conf/bitbake.conf
index e5073a1b93..9e026e44c4 100644
--- a/conf/bitbake.conf
+++ b/conf/bitbake.conf
@@ -211,9 +211,14 @@ PACKAGES = "${PN}-dbg ${PN} ${PN}-doc ${PN}-dev ${PN}-locale"
PACKAGES_DYNAMIC = "${PN}-locale-*"
FILES = ""
+# NB: ${base_libdir}/*${SOLIBSDEV} is included here because the shared libraries
+# in ${base_libdir} do not follow the usual *.so.* naming convention, for instance
+# libproc-3.2.7.so
FILES_${PN} = "${bindir}/* ${sbindir}/* ${libexecdir}/* ${libdir}/lib*${SOLIBS} \
${sysconfdir} ${sharedstatedir} ${localstatedir} \
- ${base_bindir}/* ${base_sbindir}/* ${base_libdir}/*${SOLIBS} ${datadir}/${PN} ${libdir}/${PN}/* \
+ ${base_bindir}/* ${base_sbindir}/* \
+ ${base_libdir}/*${SOLIBS} ${base_libdir}/*${SOLIBSDEV} \
+ ${datadir}/${PN} ${libdir}/${PN}/* \
${datadir}/pixmaps ${datadir}/applications \
${datadir}/idl ${datadir}/omf ${datadir}/sounds \
${libdir}/bonobo/servers"
@@ -224,7 +229,7 @@ SECTION_${PN}-doc = "doc"
FILES_${PN}-dev = "${includedir} ${libdir}/lib*${SOLIBSDEV} ${libdir}/*.la \
${libdir}/*.a ${libdir}/*.o ${libdir}/pkgconfig \
- ${base_libdir}/*.a ${base_libdir}/*.o ${datadir}/aclocal"
+ ${base_libdir}/*.a ${base_libdir}/*.o ${datadir}/aclocal ${datadir}/pkgconfig"
SECTION_${PN}-dev = "devel"
ALLOW_EMPTY_${PN}-dev = "1"
RDEPENDS_${PN}-dev = "${PN} (= ${EXTENDPV})"
@@ -324,7 +329,7 @@ STAGING_KERNEL_DIR = "${STAGING_DIR}/${MULTIMACH_TARGET_SYS}/kernel"
# Specific image creation and rootfs population info.
##################################################################
-IMAGE_ROOTFS = "${TMPDIR}/rootfs"
+IMAGE_ROOTFS = "${TMPDIR}/rootfs/${PN}"
IMAGE_BASENAME = "${PN}"
IMAGE_NAME = "${IMAGE_BASENAME}-${MACHINE}-${DATETIME}"
IMAGE_LINK_NAME = "${IMAGE_BASENAME}-${MACHINE}"
@@ -337,9 +342,9 @@ IMAGE_CMD_jffs2 = "mkfs.jffs2 -x lzo --root=${IMAGE_ROOTFS} --faketime --output=
IMAGE_CMD_yaffs2 = "mkyaffs2image ${EXTRA_IMAGECMD} ${IMAGE_ROOTFS} ${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}.rootfs.yaffs2"
IMAGE_CMD_cramfs = "mkcramfs ${IMAGE_ROOTFS} ${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}.rootfs.cramfs ${EXTRA_IMAGECMD}"
IMAGE_CMD_ext2 = "genext2fs -b ${ROOTFS_SIZE} -d ${IMAGE_ROOTFS} ${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}.rootfs.ext2 ${EXTRA_IMAGECMD}"
-IMAGE_CMD_ext2.gz = "rm -rf ${DEPLOY_DIR_IMAGE}/tmp.gz && mkdir ${DEPLOY_DIR_IMAGE}/tmp.gz; genext2fs -b ${IMAGE_ROOTFS_SIZE} -d ${IMAGE_ROOTFS} ${DEPLOY_DIR_IMAGE}/tmp.gz/${IMAGE_NAME}.rootfs.ext2 ${EXTRA_IMAGECMD}; gzip -f -9 ${DEPLOY_DIR_IMAGE}/tmp.gz/${IMAGE_NAME}.rootfs.ext2; mv ${DEPLOY_DIR_IMAGE}/tmp.gz/${IMAGE_NAME}.rootfs.ext2.gz ${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}.rootfs.ext2.gz; rmdir ${DEPLOY_DIR_IMAGE}/tmp.gz"
+IMAGE_CMD_ext2.gz = "rm -rf ${DEPLOY_DIR_IMAGE}/tmp.gz && mkdir ${DEPLOY_DIR_IMAGE}/tmp.gz; genext2fs -b ${ROOTFS_SIZE} -d ${IMAGE_ROOTFS} ${DEPLOY_DIR_IMAGE}/tmp.gz/${IMAGE_NAME}.rootfs.ext2 ${EXTRA_IMAGECMD}; gzip -f -9 ${DEPLOY_DIR_IMAGE}/tmp.gz/${IMAGE_NAME}.rootfs.ext2; mv ${DEPLOY_DIR_IMAGE}/tmp.gz/${IMAGE_NAME}.rootfs.ext2.gz ${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}.rootfs.ext2.gz; rmdir ${DEPLOY_DIR_IMAGE}/tmp.gz"
IMAGE_CMD_ext3 = "genext2fs -b ${ROOTFS_SIZE} -d ${IMAGE_ROOTFS} ${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}.rootfs.ext3 ${EXTRA_IMAGECMD}; tune2fs -j ${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}.rootfs.ext3"
-IMAGE_CMD_ext3.gz = "rm -rf ${DEPLOY_DIR_IMAGE}/tmp.gz && mkdir ${DEPLOY_DIR_IMAGE}/tmp.gz; genext2fs -b ${IMAGE_ROOTFS_SIZE} -d ${IMAGE_ROOTFS} ${DEPLOY_DIR_IMAGE}/tmp.gz/${IMAGE_NAME}.rootfs.ext3 ${EXTRA_IMAGECMD}; tune2fs -j ${DEPLOY_DIR_IMAGE}/tmp.gz/${IMAGE_NAME}.rootfs.ext3; gzip -f -9 ${DEPLOY_DIR_IMAGE}/tmp.gz/${IMAGE_NAME}.rootfs.ext3; mv ${DEPLOY_DIR_IMAGE}/tmp.gz/${IMAGE_NAME}.rootfs.ext3.gz ${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}.rootfs.ext3.gz; rmdir ${DEPLOY_DIR_IMAGE}/tmp.gz"
+IMAGE_CMD_ext3.gz = "rm -rf ${DEPLOY_DIR_IMAGE}/tmp.gz && mkdir ${DEPLOY_DIR_IMAGE}/tmp.gz; genext2fs -b ${ROOTFS_SIZE} -d ${IMAGE_ROOTFS} ${DEPLOY_DIR_IMAGE}/tmp.gz/${IMAGE_NAME}.rootfs.ext3 ${EXTRA_IMAGECMD}; tune2fs -j ${DEPLOY_DIR_IMAGE}/tmp.gz/${IMAGE_NAME}.rootfs.ext3; gzip -f -9 ${DEPLOY_DIR_IMAGE}/tmp.gz/${IMAGE_NAME}.rootfs.ext3; mv ${DEPLOY_DIR_IMAGE}/tmp.gz/${IMAGE_NAME}.rootfs.ext3.gz ${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}.rootfs.ext3.gz; rmdir ${DEPLOY_DIR_IMAGE}/tmp.gz"
IMAGE_CMD_squashfs = "mksquashfs ${IMAGE_ROOTFS} ${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}.rootfs.squashfs ${EXTRA_IMAGECMD} -noappend"
IMAGE_CMD_squashfs-lzma = "mksquashfs-lzma ${IMAGE_ROOTFS} ${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}.rootfs.squashfs-lzma ${EXTRA_IMAGECMD} -noappend"
IMAGE_CMD_tar = "cd ${IMAGE_ROOTFS} && tar -cvf ${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}.rootfs.tar ."
diff --git a/conf/checksums.ini b/conf/checksums.ini
index 948a4bfbd7..7939f1e7c9 100644
--- a/conf/checksums.ini
+++ b/conf/checksums.ini
@@ -58,6 +58,10 @@ sha256=7a960180e7873b1bdb522e76b0423b5c2c1b8efe1d30d7ca80c41eb97d822b2d
md5=24b0e5bbfe21ea9c5a5c589bcc79c0f2
sha256=ab877846c6caaff32efbf5be6fc5c63b7dec97a2e78c57c525da7705d2052bfc
+[ftp://download.dre.vanderbilt.edu/previous_versions/ACE-5.6.8.tar.bz2]
+md5=81c1ff761c3431cd12c81337aa80d558
+sha256=96b70582d931a7e83c3ca31b3bc7e23957391e16dee4ae6ddf938c9574d50b27
+
[http://www.amd.com/files/connectivitysolutions/geode/geode_lx/AES_Linux_LX_02.01.0100.tar.gz]
md5=12cb241a9037fffe31ba7c68a48ed614
sha256=a6068b4aa0e2330eed6e4741bad3191dc9ca7d7326f7bfab578ac55e2b8b91a2
@@ -1686,6 +1690,10 @@ sha256=d5b93fb8dbfa73e4a542bb8ad7d61c8b48dcf79948da26da9e9ef3b1a49c4221
md5=c6b1aa28bfecdd0c693a2afc43d7679e
sha256=d5b93fb8dbfa73e4a542bb8ad7d61c8b48dcf79948da26da9e9ef3b1a49c4221
+[http://www.auto.tuwien.ac.at/~mkoegler/eib/argp-standalone-1.3.tar.gz]
+md5=8a336796eeb2a765b76f68e3312adaab
+sha256=8b9067e77812c67c1e1b96ab9d92ab9af3a97e991d3c385b6e241d97f0e3cd28
+
[http://downloads.sourceforge.net/argtable/argtable2-7.tar.gz]
md5=a84130293aab3bc09631cbee717ede93
sha256=f7bd2786309b6a7ce9c1e2b3fbdd75419ef0bcabfaa4444362bbe40897959f45
@@ -2378,6 +2386,10 @@ sha256=68039d59a38379d7b65ea3fc72276c43ba234776460e14361af35771bcaab295
md5=437a39c6008ea6987af1bbaf2252e7b9
sha256=a2e482900eb45154653a692565d81ddeb4b59cd438628c1b14beb822499afef7
+[http://www.auto.tuwien.ac.at/~mkoegler/eib/bcusdk_0.0.4.tar.gz]
+md5=14138f457d6530bf45cf6a966fde9d5f
+sha256=4d5cec9ae2d45e17ef2f566cb84f6895ae49255c86aacebc5af40839f1b5c0e9
+
[http://xorg.freedesktop.org/releases/individual/app/bdftopcf-1.0.0.tar.bz2]
md5=41f4ac6760ef5e671ba8d4baa7236f12
sha256=8c01b85eab01f35ed6bc9d597d4c6c76cf9ddbe2596d9120d66e66135df1f9a1
@@ -2586,6 +2598,10 @@ sha256=2df529b1ac0a621efb87b5b53dbc0167c566f8bebbd6a8ce19964b05845fd2e7
md5=09a8c5821a2dfdbb20665bc0bd680791
sha256=3e8225b4d7ace0a2039de752e11fd6922d3b89a7259a292c347391c4788739f6
+[http://kernel.org/pub/linux/devel/binutils/binutils-2.19.51.0.3.tar.bz2]
+md5=c55a2b1eadf818d38e963060412fadca
+sha256=11a53d332d2295f447ab49402a34d82875bbf5da8dc239ebb909eafdf3c26a36
+
[ftp://ftp.gnu.org/gnu/binutils/binutils-2.19.tar.bz2]
md5=17a52219dee5a76c1a9d9b0bfd337d66
sha256=bd2ea10ffc2bf62a917b05f4fbe3d02212589c2bc177fa0c51a9c874d3da528a
@@ -2722,6 +2738,10 @@ sha256=1c46b6e219aec9bbd3286e9366de7e6dd05f68ed33b7487fbd211397c890fc40
md5=5919d6383cd9446f8b90fdca748dc961
sha256=e5e592de95f50a1569d3e4a95c8b955a2535e265e24869e3ce30e19b0949b465
+[http://www.kernel.org/pub/linux/bluetooth/bluez-4.37.tar.gz]
+md5=c1106f56f8e5562cf7c49d3455d2c5f7
+sha256=2bfc5db7703cbcaaa4be2576609136450e1dac5d4782707dd0dc81754e3c2489
+
[http://www.kernel.org/pub/linux/bluetooth/bluez-4.7.tar.gz]
md5=2aa806940d2c841e57a9b2ab7302b750
sha256=ed384dea4f5f21157758fcd7db64db19ce0b410509c26630706e4a3c779287a0
@@ -3542,6 +3562,10 @@ sha256=f98edecae40473c142fe49a0e02f5ff7fb28d778c4bd510dad747d208d20cb00
md5=60152bf1e24b3fbdf0473794199e5215
sha256=f98edecae40473c142fe49a0e02f5ff7fb28d778c4bd510dad747d208d20cb00
+[http://downloads.sourceforge.net/clamav/clamav-0.94.2.tar.gz]
+md5=1181e6d62341b84708f126cc353f7ebf
+sha256=1aec7fecff375958d067aceeb9782d3ff0be7c13bed0eecf6240fb089f8d268c
+
[http://memberwebs.com/nielsen/software/clamsmtp/clamsmtp-1.8.tar.gz]
md5=04da6aab94934641fcf9e7a7598346fb
sha256=c09b24c82f858845e235df4c8b2639240a7b786de66b595e351be86ab60663a5
@@ -4602,6 +4626,10 @@ sha256=902da1b1e9d90dfda8aa1864846db8ad12386e7521fc9f8b18c8ba220dd0123a
md5=7b81b22baa2df55efe4845865dddc7b6
sha256=7bb43d8b0cb287d728ea479fb65d1b57b8530af773018214e7f312dceed34237
+[ftp://invisible-island.net/dialog/dialog-1.1-20080819.tgz]
+md5=3caebd641a9f337b980becb4444336c5
+sha256=c5d49b39c5998bcecd124c05cc6f096d22ccdc378ad455214611ae41a2f4b7d9
+
[ftp://ftp.us.debian.org/debian/pool/main/d/dialog/dialog_1.0-20050306.orig.tar.gz]
md5=8ce5945be0660bd3152bd9eb0827f945
sha256=e3968765ed916b348fce5e309029d25d068a61e1d422a69a506d0fc80ee6e976
@@ -5202,6 +5230,10 @@ sha256=fefd63c13ca28713f7f03320c1e341430ea2d016d3ab3e49163a12f4df2123e7
md5=ec8690ff84b364d2df5b2443a01ba529
sha256=e0360be0eecee68649246c022825dd5422f895958ffa736886dd2a0b9ec7ebda
+[http://ftp.gnome.org/pub/GNOME/sources/ekiga/3.2/ekiga-3.2.0.tar.bz2]
+md5=01c4c944a1b900b5b3bfa95d3a820b22
+sha256=998b50e3920546cb43cd281d519394a2db23f5bf10223cac49120296407b3c6d
+
[http://effbot.org/media/downloads/elementtree-1.2.7-20070827-preview.zip]
md5=30e2fe5edd143f347e03a8baf5d60f8a
sha256=5071431068c58c1f56dcc8fff37f8a213351f3b45c012d3adb640ec9418053ad
@@ -5822,6 +5854,10 @@ sha256=517fa062d7b2d367f931a1c6ebb2bef84907077f0ce3f0c899e34490bbea9338
md5=e97c609af171cceb85d08f366406374a
sha256=112ba595859ad6e42f5ad522ada27a08da7702e3ea8c84df48ae1c5d6177ae8e
+[http://s-tech.elsat.net.pl/fbv/fbv-1.0b.tar.gz]
+md5=3e466375b930ec22be44f1041e77b55d
+sha256=9b55b9dafd5eb01562060d860e267e309a1876e8ba5ce4d3303484b94129ab3c
+
[http://sdgsystems.com/download/fbvncserver-0.9.4.tar.gz]
md5=01a37f17857641253541307f59dd8cc5
sha256=e22ed10ecba059904649f344be260512fdb3cbecbd95ca965f8b5cc3ea1785b5
@@ -6034,6 +6070,10 @@ sha256=701353279a17655d78e3b3678ad78d0375f5bf45877ad8b3507d589c42427f26
md5=e7737236f1eccadd4cf8cfcc0c82e005
sha256=ca7653a03f562057098c9fb956de34021a14017c2a44eedd3ab0963dc877e7e5
+[http://download.dajobe.org/flickcurl/flickcurl-1.9.tar.gz]
+md5=d701fcc8d764e634ee979f18ff9db322
+sha256=573ae52509289ed366a161facf390aa6ce530da143c760ca546868c8b0a0d034
+
[http://www.speech.cs.cmu.edu/flite/packed/flite-1.2/flite-1.2-release.tar.bz2]
md5=24c1576f5b3eb23ecedf4bebde96710f
sha256=10ff42ce08a628c7fd84d26b5228d549e9eecb1eb03cb158e87d8be66bc58ae2
@@ -6062,6 +6102,10 @@ sha256=855a97e35da823f205253b865758715872cd2c7720e4dcf134a3b6dc18bfb96a
md5=e146fd264e1001b1313acfd41ef75552
sha256=facba5a97a20ca92b32504174474775c6b12fb67a6f646fa0de18db709c3edde
+[http://ftp.easysw.com/pub/fltk/snapshots/fltk-2.0.x-r6671.tar.bz2]
+md5=6bcef5fd51eb3bc4dd0702f3ae6da6ba
+sha256=4c9a67f0d32c05af92bf95d5feec8eb4a8d56bfbfe2cd4364b32009cfd609b54
+
[http://members.cheese.at/woody/fltk-chess/fltk-chess-0.5.tgz]
md5=ee34788a2dc9fdc088a6dc66c31eba34
sha256=c789b355d0ba03b018513c3904bba6d6fab01b3a83a460fbe1b20a79052f46a4
@@ -7042,6 +7086,10 @@ sha256=309f614a3c7fee88edc4928ff17185a19533949a1642ccf776e87d86303704de
md5=cc3c5565fdb9ab87a05ddb106ba0bd1f
sha256=309f614a3c7fee88edc4928ff17185a19533949a1642ccf776e87d86303704de
+[ftp://ftp.gnu.org/gnu/gcc/gcc-4.4.0/gcc-4.4.0.tar.bz2]
+md5=cf5d787bee57f38168b74d65a7c0e6fd
+sha256=c5fe6f4c62ee7288765c3800ec9d21ad936bdcb5a04374cc09bd5a4232b836c9
+
[http://downloads.sourceforge.net/mingw/gcc-ada-3.4.5-20060117-2-src.tar.gz]
md5=30154205636c12c6abcc462ce07550cf
sha256=404358fe19326679f602de6f7d6a2db180e27af83813150f58ab28eec197b646
@@ -7234,6 +7282,10 @@ sha256=5af6001401a6bc04c075474be5d8aeb2bdb2ca3e509022c2fc55ca7c7f310256
md5=fd0337e89778e2dba74461c555ea8e42
sha256=e50495d292a1d456c28044efbf07c16d8865f8d95e1caba86f4c5b2e3fb1d28f
+[http://downloads.sourceforge.net/genext2fs/genext2fs-1.4.1.tar.gz]
+md5=b7b6361bcce2cedff1ae437fadafe53b
+sha256=404dbbfa7a86a6c3de8225c8da254d026b17fd288e05cec4df2cc7e1f4feecfc
+
[http://downloads.sourceforge.net/genext2fs/genext2fs-1.4rc1.tar.gz]
md5=664431bf6737df1c265500e1f0b5d40c
sha256=e60f88763ee12c02a5c7ade1a58925ef0ab198f9ec6aaf404747dfc29074c7be
@@ -7650,6 +7702,10 @@ sha256=3ded3a3c3ba2cf02d72479a5cc0829c7c261a9d0934e49a79233de9fa276ec22
md5=065c5952b439deba40083ccd67bcc8f7
sha256=4224a522ac4ee0fd89eb337e7505e280dfb05e2fe1ad44339ba8874081c0451a
+[ftp://ftp.gnu.org/pub/gnu/glibc/glibc-2.9.tar.bz2]
+md5=fc62e989cf31d015f31628609fc3757a
+sha256=098baa84c74af5b21d27ec6e8ba6f1a393de88327cefbcd9e90c9b4edda9a36c
+
[http://www.kegel.com/crosstool/crosstool-0.43/patches/glibc-2.3.6/glibc-fp-byteorder.patch]
md5=c89aac92d100761a767b9d5619fe582f
sha256=3033d84fd9a62d20a8cb0d42645d7cd5a28d2d108afcb4cc2d89db3dc1e328df
@@ -7670,6 +7726,10 @@ sha256=67c98ca1299f5f25eaece256d033e0e63bcf6876b920ca62a1fe61ac62c5c451
md5=226809992fb1f3dc6ea23e0f26952ea4
sha256=07de78810a5320d696792b67131c4cf3d6654aee015a6b74820d66fb00799000
+[ftp://ftp.gnu.org/pub/gnu/glibc/glibc-libidn-2.9.tar.bz2]
+md5=99536b508af988e7cc6275944d12b491
+sha256=27ac255ee701036191118f7a6a4191b24741f5909dccfc9eec4ab611a39e182f
+
[ftp://ftp.gnu.org/gnu/glibc/glibc-linuxthreads-2.2.5.tar.gz]
md5=c766a79a51668d7fa33f175a249655b4
sha256=c027824ee6593a838e0883bdd4bf8bd455b3dcf4ff0aa77fe82452819d882f47
@@ -8022,6 +8082,10 @@ sha256=3c9eb7f45dd0026340635b9e1ee18c36a47541610aa5a7ef604ca645aa4763f9
md5=0395fcf79b990465030a2795dcddacb9
sha256=7acda11db2eb07b2f68a1a506203fe95141954acb10c394850418fd04ed80a07
+[http://ftp.gnome.org/pub/GNOME/sources/gnome-media/2.26/gnome-media-2.26.0.tar.bz2]
+md5=3d519bc7d812aed8f6e4288b6d3cdf26
+sha256=39e7646d0790e05a010da1eb2d7552dcb5311abd72f001477c9c465d7146b9f7
+
[http://ftp.gnome.org/pub/GNOME/sources/gnome-menus/2.10/gnome-menus-2.10.2.tar.bz2]
md5=97b0ad03ea219cc8f5c02585db1d237e
sha256=0968a399590d94cf9e1640b647cc10f972a3a802cbd9602c0839f56fd2864193
@@ -8206,6 +8270,10 @@ sha256=77cb4bd39a4cec2aa3d61b0519134f9e4a65613960b3b3ee34dd2452d5e12ba7
md5=ce1171f19a40256cfdd31f42c979d91c
sha256=77cb4bd39a4cec2aa3d61b0519134f9e4a65613960b3b3ee34dd2452d5e12ba7
+[http://ftp.gnome.org/pub/GNOME/sources/gnote/0.1/gnote-0.1.2.tar.bz2]
+md5=905a8df3513a519096bcf7d8efc35118
+sha256=f08d0f214db875eac602bec37b20042f0ee4f14427f9559477a040ef39003538
+
[ftp://ftp.gnu.org/gnu/ghostscript/gnu-ghostscript-8.16.tar.gz]
md5=c42dfaebc37fe81eab0b5676b124ab63
sha256=417922d35e66ee90cf93cf3e93fdf281ec6b92de4f7436c9c1a97c0cc35b94a8
@@ -10922,6 +10990,10 @@ sha256=004f8358f4f84d90a260a76ac46ce8512126ac490d73460fcee6c11effd34362
md5=b5493f7a2997130a4f86c486c9993b86
sha256=25d45acf19e3acd09745df47581ac7a13e3694ee51fe4e642108f9f228cacca9
+[http://ftp.de.debian.org/debian/pool/main/i/iputils/iputils_20071127.orig.tar.gz]
+md5=a1d0aca33da380d6045c5c0e5002c09d
+sha256=9e4ab143828fefb3b67ce2bc3ad63a91cacc45d97161822915778683fb80343b
+
[http://ipython.scipy.org/dist/ipython-0.9.1.tar.gz]
md5=8a1bd1a9be272f4ddf4de99e5c1ad0dc
sha256=5540bc1a01f11ca66c3d7c31a43af670fd0f0044b8e38d142614872956548006
@@ -12322,6 +12394,10 @@ sha256=97f63ed9c2d685a25306bd5ffa4bdf0a5e296c9ad28fd7210e6e53f75cf6dcc4
md5=2623370bfcecaeecaeb85e5ec445f340
sha256=b0e3cb59e605412a52352cf9cf36344b165463d4e65916c95deb73fc51838272
+[http://0pointer.de/lennart/projects/libcanberra/libcanberra-0.12.tar.gz]
+md5=01a1952e861defa6de9d193558f2a732
+sha256=04a70135de89ec7971a7ffa6516cf7699329cc01056595d524a6250a9d049709
+
[http://kernel.org//pub/linux/libs/security/linux-privs/kernel-2.4/libcap-1.10.tar.bz2]
md5=4426a413128142cab89eb2e6f13d8571
sha256=66c3f033fdc8f9ba0bd9d0ae2d1f2c11f9fa51bf0d1418e5cb75e29e6577a5bc
@@ -14522,6 +14598,10 @@ sha256=477b72ba4968e9a49c78e08a5335df7f71f71d787222224345f33f0b888f801b
md5=4f5644788dfd6ba87ce7c9b6cc28890d
sha256=dcb0cc5d1871e91859071a0bfa9de1a66703f0482ef5fc745300aa1a2df04cbf
+[http://ftp.gnome.org/pub/GNOME/sources/libxml++/2.26/libxml++-2.26.0.tar.bz2]
+md5=a52fc7e6e44bb5cc187672930b843f72
+sha256=3287545d7e40bb24451f1afac6c77d545433d7efaf01ca8a60bcf9f6eacaf80a
+
[ftp://xmlsoft.org/libxml2/old/libxml2-2.6.10.tar.gz]
md5=299da4545913212ec4d82429d74314b9
sha256=09f5452cd3007737e98644e4bcd4001e499efd35267657e91c62c0c3c63f3ec5
@@ -14614,6 +14694,10 @@ sha256=62d5997fdb41afa9400adcdb040d04a1f5fa950045df96e3e3f593e8f0de5739
md5=5db3204d57436a032f899ff9dbce793f
sha256=97d0ac5957745eeaf311ec38ebbbf3b30a5316b01c320a759af47129c994c20c
+[http://www.lighttpd.net/download/lighttpd-1.4.22.tar.gz]
+md5=949c33a81e83f7718a47280bef21b90c
+sha256=197bd2b57c5e2b9bfc30bb565a4c44fbea82daa20a31fa8ba490dd61dad69f2a
+
[http://www-users.cs.york.ac.uk/~aw/pylinda/dist/linda-0.6.tar.gz]
md5=c3e1b6c428218968e2963182c1df1fdc
sha256=cba8ac22d77bbf8f6ed4a98933242b89ee2426cbc216f54415eafcac1274547a
@@ -14630,6 +14714,10 @@ sha256=cfde4a06df9fb4f26f8629d4ed3320ea813ba05a25217ec4ff55bbe5da04f504
md5=fc1d3add18afbb8e61b8277b89c525c6
sha256=cfde4a06df9fb4f26f8629d4ed3320ea813ba05a25217ec4ff55bbe5da04f504
+[http://downloads.sourceforge.net/linknx/linknx-0.0.1.26.tar.gz]
+md5=21956fe0ca7072e08b8fe096c61c4f2d
+sha256=cbc7e781fad9ac4704b7bf24b95e3de480fbcce6884e595109d18d0027d3b2fa
+
[http://links.twibright.com/download/links-2.1pre26.tar.bz2]
md5=841af2540c789e254b8465e07e24c684
sha256=c89f10d42be2a0be8a017e1084897b1aabc5bca76817e9dab43b758dff051c56
@@ -15174,6 +15262,10 @@ sha256=361a2861a5cd5bc7bd3320b60165c3bede06056ade7d75ab370d13a6b203d629
md5=d9504bb4251d4e5b32cb379debda634d
sha256=67cad76c18a138b9b55bf6ff88a5796128371cf9339b3761b36f79fb4e7459d7
+[http://www.bplan-gmbh.org/data/toshiba/topas/linux/2.6.26.5/lowlevel_topas910.tar.bz2]
+md5=3959ea1a2acaae196173b0283541c428
+sha256=b1f136a1d89daa4b1b9711eb81ad120b53c9357d159f262021b84ef8c9d128be
+
[http://www.ohse.de/uwe/releases/lrzsz-0.12.20.tar.gz]
md5=b5ce6a74abc9b9eb2af94dffdfd372a4
sha256=c28b36b14bddb014d9e9c97c52459852f97bd405f89113f30bee45ed92728ff1
@@ -16766,6 +16858,10 @@ sha256=86c8839ad5c8a1c5674eb3617bbe15e9c9bb2358a7435a0e2d22cd25ab7718ff
md5=50c5732c0c9736b7026bce1c6b0007dc
sha256=83f1d6623e142af30a9b3fa9135ecf973fbb8c89f1dc36a218de0c0fef6ddf07
+[http://ftp.gnome.org/pub/GNOME/sources/nautilus-cd-burner/2.24/nautilus-cd-burner-2.24.0.tar.bz2]
+md5=eb211dd03d0518263fa4eadccc3caa88
+sha256=d4ff952115a2fca28c613ce6a2b46740ce1000b0c213c482bcf3f127ceab99ad
+
[http://ftp.gnome.org/pub/GNOME/sources/nautilus-cd-burner/2.8/nautilus-cd-burner-2.8.5.tar.bz2]
md5=970173a3f93270950ca9fd247bdf07a7
sha256=978d470f5f0cc314fab20ad8b4f771c568915fb78e933960bf33444ac44f9a39
@@ -16978,6 +17074,10 @@ sha256=1d09b1c133e4eed9d2df07ead4eba813e6993875c39e66d7b4081287029d4033
md5=76ee9274c2b867839427eba91b327f03
sha256=1d09b1c133e4eed9d2df07ead4eba813e6993875c39e66d7b4081287029d4033
+[http://sysoev.ru/nginx/nginx-0.7.51.tar.gz]
+md5=c2455e4c8656b72eb31abcf6a9798df7
+sha256=f155372c309ccd1cfc3bcdd2e7e705cdbbbeb034dbe7b3393604d4755daed818
+
[http://downloads.sourceforge.net/ngrep/ngrep-1.42.tar.bz2]
md5=35e821cfd888e9523a90fb7e5074a072
sha256=fd5a85b48613452fbfc9ce6d6e3fa3f37992731422eb2843235fbf4e02d6f1e9
@@ -17386,6 +17486,10 @@ sha256=3ed39e1dc74b4e1adb3d8a3430b18bcfd19d21406375faf420cbdcd5499a4594
md5=7a1e7424b346ee0a0b719217a1081cfd
sha256=c11daf4e0baf1bc70d30411944f9a3238d61e3c1972c33443dbe0cb078cfe2d7
+[http://downloads.sourceforge.net/opalvoip/opal-3.6.1.tar.bz2]
+md5=c2b4f12822cef2182267ea0d020bddf6
+sha256=e6b48a294b35449c851c2a6ea6969041ed7f4148e92b3faa03a330b7bb5a59af
+
[http://www.openal.org/openal_webstf/downloads/openal-0.0.8.tar.gz]
md5=641cf53761f35ee979f3e888614797a0
sha256=723e2c57c3cdffa7ff11f9b6b5478d6cb4af017e5a1ee7a56032969c39c1c2fe
@@ -17794,6 +17898,10 @@ sha256=225a63cdebb1490a47f3af5d17d301cd3e9382395f21776c5b04e4cf17fdf2b7
md5=798eb3a03c519bd5f829775f5b219a91
sha256=49b2e7ecaac26c3d87ccd26279bc0536baa50f1e140b36e14fbeedde76aad0ef
+[http://downloads.sourceforge.net/owfs/owfs-2.7p21.tar.gz]
+md5=8aea6f3bb0dc9fdb52ed3f0e9d84fa79
+sha256=070a3368e9400e900618f8a704f487baf3671f6764715b4de04b151c66d3306d
+
[http://openzaurus.org/mirror/oz-compat_0.5.tar.gz]
md5=0005d4068b2227e26f4583c1a7415e97
sha256=8db9b3948c607315f0ba0df61b32f747bec5479c38051d3e0e55b31b82c81af5
@@ -18214,6 +18322,10 @@ sha256=5ed217591fefb043f4deb7b66a9b6351195dfb9405c0d2f5ec0f4d43a30aa9b2
md5=d6249654087f0bcafaa860ac573316a4
sha256=91806347cb386002a8bfd20ee66e536e4a7dfb01f207dd751341f2971090d9ac
+[http://www.bplan-gmbh.org/data/toshiba/topas/linux/2.6.26.5/patch_2.6.26.5_topas910.bz2]
+md5=092957fc9e029010106c4fa59ef2c098
+sha256=eefecb157633d2be256c0f6a2d46ab764027bbb906cf5c250be67b95e80767bb
+
[http://www.holgerschurig.de/files/linux/patcher-20040913.tar.bz2]
md5=08649756a41358b24e1857201a90f8bf
sha256=bad7cc70c773ecc05edf7d511f37f50a3e753fa8cddea0a81f2fc8f582a10489
@@ -19070,6 +19182,10 @@ sha256=2f18dc8e553b2eb9e40e429ccc829e2b8e25d2f82929cfbc4149b1147d00eee1
md5=9cb4a25331a4c4db866a31cbe507c793
sha256=72353660c5a2caafd601b20e12e75d865fd88f6cf1a088b306a3963f0bc77232
+[https://www.auto.tuwien.ac.at/~mkoegler/pth/pthsem-2.0.7.tar.gz]
+md5=b277716ee1224ca9925176fa29e1f0c5
+sha256=6226f92f3a0950c6f3da8f9dcb7c76d08634515519bf35cd916b3cdcc1aeb130
+
[http://www.ekiga.org/admin/downloads/latest/sources/ekiga_3.0.2/ptlib-2.4.4.tar.bz2]
md5=221ea2f96ff6bae9cf604d8766eae526
sha256=c9ef4267490507fc9699634551b50c0c1c225d48e0c095a81be6fa5a1fa96a3a
@@ -19078,6 +19194,10 @@ sha256=c9ef4267490507fc9699634551b50c0c1c225d48e0c095a81be6fa5a1fa96a3a
md5=7d8dcd999827d51ad4a15afe74aad181
sha256=c99897464bd07c73dbb72095a9806ddc0c26141230e34b181d7e742e78259e4b
+[http://downloads.sourceforge.net/opalvoip/ptlib-2.6.1.tar.bz2]
+md5=122ab96fcc44110ce05153f259b3285a
+sha256=b8301389c1ee9968df8075942061665e33198d3865f92d8fb26e519068517305
+
[http://pypi.python.org/packages/source/p/ptrace/ptrace-0.3.2.tar.gz]
md5=8108c2474bef16d126e956dce3c5073b
sha256=634fe75e195179adafb6218040724f38252bd0fc8f796bb3e3e9bdba065890c5
@@ -19942,6 +20062,10 @@ sha256=05d06b93f95092f1318634fca24f0c2d0a1252c9f1dc2fbb427b07e8ecbb4f39
md5=3bd081c940c8580ecaabc1bd898e48f0
sha256=4f6319c6031af47ef81fef08f465e4db61c0f169f5eb9bbc8f060cc3db3ffafa
+[ftp://ftp.trolltech.com/qt/source/qt-embedded-linux-opensource-src-4.5.1.tar.bz2]
+md5=43e7384c59625af0830032348f672a1d
+sha256=f525ad885675f4c2413d67d9a5efaf7c34862d88c796fe7e7e2d05a42a1a66c8
+
[ftp://ftp.trolltech.com/qt/source/qt-x11-free-3.3.5.tar.bz2]
md5=05d04688c0c0230ed54e89102d689ca4
sha256=aac89e862c74b2f3ead768e50e9fa7ada1e4225fe9d1d9e05723a3279259eb96
@@ -19994,6 +20118,10 @@ sha256=79ea9fb46d75c3759e3e98ab0064a47eaa5bdbbc2a53d923d60bd8e9cd0bc5c6
md5=d6d1555b7a074e0a746f6247af402e11
sha256=61831af6b71c7bd4e1ef542071225835d8c741fa8e079bceab8c83f712e396a1
+[ftp://ftp.trolltech.com/qt/source/qt-x11-opensource-src-4.5.1.tar.gz]
+md5=f81a94e2ab7713b2d375d4e5cfc8e051
+sha256=aa3f5a459d042681a321f33e8d99468337a00674d68b8a512e0078625c1f51da
+
[ftp://ftp.trolltech.com/qt/source/qtopia-core-opensource-src-4.2.0.tar.gz]
md5=9519eccf0638c9962f73a7b20da77e0e
sha256=8fdbc7da376b22796879d6e3b756f71a8800ed1b35fc88aa76cddffd6f1fd883
@@ -21198,6 +21326,10 @@ sha256=7faaccb6f17296399051bd076a7f41e0f6d95a28eda3e30468f1bd7cf45898e1
md5=597d7ff7edb42a18421c806ffd18a136
sha256=7faaccb6f17296399051bd076a7f41e0f6d95a28eda3e30468f1bd7cf45898e1
+[http://downloads.sourceforge.net/siproxd/siproxd-0.7.1.tar.gz]
+md5=45e5a44803181e2bf3361d562060c904
+sha256=5eef70f4e0a8f0f4628550807da3036f8b3086864bf4bcf5ab6d22ac3a6efd81
+
[http://download.berlios.de/sipsak/sipsak-0.9.6-1.tar.gz]
md5=c4eb8e282902e75f4f040f09ea9d99d5
sha256=5064c56d482a080b6a4aea71821b78c21b59d44f6d1aa14c27429441917911a9
@@ -21518,6 +21650,10 @@ sha256=47daba209bd3bcffa1c5fcd5fdfc4f524eae619b4fa855aeeb1bbbc8bd2bb04f
md5=903c9e935c538af392364a9172a3d98d
sha256=1673b9218ec318067a662315c161ae123088cad319231ec079018acb4717e8bb
+[http://www.sqlite.org/sqlite-3.6.13.tar.gz]
+md5=652a01797e7538811e4997a5847bc026
+sha256=2ca2591847df72224dd6f99c8fffe35bb63bf41a8519d8e15ad48141aa841bfa
+
[http://www.sqlite.org/sqlite-3.6.2.tar.gz]
md5=46f92e42243bc51aaa3871645ce78bd5
sha256=cb07a9801a128e2f42cf49b7e9d577b092ab54aa05242655af93491a73a91a1f
@@ -21570,6 +21706,10 @@ sha256=8423027a1e7dc238d27ec227f47ce22d1317b4c9a0a9ee49a38b6e6f8da8a5c8
md5=95c40fca0d886893631b5de14a0af25b
sha256=8423027a1e7dc238d27ec227f47ce22d1317b4c9a0a9ee49a38b6e6f8da8a5c8
+[http://downloads.sourceforge.net/squashfs/squashfs4.0.tar.gz]
+md5=a3c23391da4ebab0ac4a75021ddabf96
+sha256=18948edbe06bac2c4307eea99bfb962643e4b82e5b7edd541b4d743748e12e21
+
[http://www.squid-cache.org/Versions/v2/2.6/squid-2.6.STABLE14.tar.bz2]
md5=eadb138d48320df8b99349121159c6bf
sha256=dcb0c10965430862721b675e2f9f6a30819880e03124b5e9403bfce2c7f3b69a
@@ -22574,6 +22714,10 @@ sha256=3193c3446d211db2bd3c169c86f6d433666669336bd589a20c87f1483295cf2a
md5=724208e1b2d235148499672b44181298
sha256=ad214a2692041f423d2150777c233b21cab2d108f849edc513192587ac63c9c2
+[http://ftp.gnome.org/pub/GNOME/sources/tracker/0.6/tracker-0.6.93.tar.bz2]
+md5=768059a486ff73ae18595afab3b78a70
+sha256=f4d3b413a61bfe6895f7f87bbfbcc7159f66b1d73fc29a7380839802fbb01198
+
[http://downloads.sourceforge.net/transconnect/transconnect-1.2.tar.gz]
md5=c255ff48387ea6a7092707ba992237e7
sha256=47d6cc44f78fc6d4cdb1dfee02fe6e0f4d8aae0ce2e3e92567667f0475736617
@@ -22682,6 +22826,10 @@ sha256=d91b4addcbb241b04b6cf795447163ed890a436b10205d2cd9cc1885ea3d9433
md5=ee74158c6c55ae16327595c70369ef83
sha256=ef5e9bf276b65bb831f9c2554cd8784bd5b4ee65353808f82b7e2aef851587ec
+[http://downloads.sourceforge.net/tunctl/tunctl-1.5.tar.gz]
+md5=fdbedc263b3e85bb0e087cd567414607
+sha256=aa2a6c4cc6bfacb11e0d9f62334a6638a0d435475c61230116f00b6af8b14fff
+
[http://alioth.debian.org/frs/download.php/2241/tuxmath_w_fonts-1.6.0.tar.gz]
md5=3aa0e0e488719611f0bc4441b63a6f56
sha256=f3aae7e2f67cf12f3da98325388c7b2f6718729aa69c5c804d1866d6a49f8592
@@ -23186,6 +23334,10 @@ sha256=b8e499b338ce9fbd1fb315194b26540ec823c0afc46c9e145ac7a3e38ad57e6b
md5=af9d9e03038481fbf79ea3ac33f116f9
sha256=b8e499b338ce9fbd1fb315194b26540ec823c0afc46c9e145ac7a3e38ad57e6b
+[http://kernel.org/pub/linux/utils/util-linux-ng/v2.13/util-linux-ng-2.13.1.tar.bz2]
+md5=424badc1832e4b5291a2ec04e9e244f4
+sha256=e67d86683adef0855220b6f5a4b7ca2c51a15faa142e2ecd69925ede76854a4d
+
[http://kernel.org/pub/linux/utils/util-linux-ng/v2.14/util-linux-ng-2.14.tar.bz2]
md5=23f227da49df36f33fe47e917e332cd8
sha256=7736d8d7d3b39654e350416585b3e00af9f55670cce8b3dddd2c2494cbaae81c
diff --git a/conf/distro/angstrom-2008.1.conf b/conf/distro/angstrom-2008.1.conf
index a26a98729a..740ff31435 100644
--- a/conf/distro/angstrom-2008.1.conf
+++ b/conf/distro/angstrom-2008.1.conf
@@ -99,9 +99,8 @@ ANGSTROM_GCC_VERSION_xilinx-ml403 ?= "4.1.1"
# Blackfin has its on gcc
ANGSTROM_GCC_VERSION_bfin = "4.1.2"
-ANGSTROM_GCC_VERSION_armv7a = "4.3.1"
-
-ANGSTROM_GCC_VERSION_486sx = "4.3.2"
+ANGSTROM_GCC_VERSION_486sx = "4.3.3"
+ANGSTROM_GCC_VERSION_armv7a = "4.3.3"
# Uncomment this if want need to build an armv7a kernel with CSL toolchain (<2.6.27 don't boot with mainline gcc)
#KERNEL_CCSUFFIX_armv7a= "-4.2.1+csl-arm-2007q3-53"
@@ -110,10 +109,14 @@ ANGSTROM_GCC_VERSION_486sx = "4.3.2"
ANGSTROM_GCC_VERSION_avr32 ?= "4.2.2"
#Everybody else can just use this:
-ANGSTROM_GCC_VERSION ?= "4.2.4"
-PREFERRED_VERSION_binutils ?= "2.18.50.0.7"
-PREFERRED_VERSION_binutils-cross ?= "2.18.50.0.7"
-PREFERRED_VERSION_binutils-cross-sdk ?= "2.18.50.0.7"
+ANGSTROM_GCC_VERSION ?= "4.2.4"
+
+#2.19.51.0.3
+ANGSTROM_BINUTILS_VERSION ?= "2.18.50.0.7"
+
+PREFERRED_VERSION_binutils ?= "${ANGSTROM_BINUTILS_VERSION}"
+PREFERRED_VERSION_binutils-cross ?= "${ANGSTROM_BINUTILS_VERSION}"
+PREFERRED_VERSION_binutils-cross-sdk ?= "${ANGSTROM_BINUTILS_VERSION}"
PREFERRED_VERSION_gcc ?= "${ANGSTROM_GCC_VERSION}"
PREFERRED_VERSION_gcc-cross ?= "${ANGSTROM_GCC_VERSION}"
@@ -164,6 +167,7 @@ PREFERRED_PROVIDER_hotplug = "udev"
PREFERRED_PROVIDER_libxss = "libxss"
PREFERRED_PROVIDER_bluez-utils-dbus = "bluez-utils"
PREFERRED_PROVIDER_bluez-libs = "bluez4"
+PREFERRED_PROVIDER_bluez-utils = "bluez4"
# we don't ship gtk-directfb by default
PREFERRED_PROVIDER_gtk+ ?= "gtk+"
@@ -241,3 +245,5 @@ DISTRO_EXTRA_RRECOMMENDS += " \
"
SPLASH ?= ' ${@base_contains("MACHINE_FEATURES", "screen", "psplash-angstrom", "",d)}'
+ARM_INSTRUCTION_SET_pn-uclibc = "arm"
+ARM_INSTRUCTION_SET_pn-uclibc-initial = "arm"
diff --git a/conf/distro/include/angstrom.inc b/conf/distro/include/angstrom.inc
index 60f2e55149..1f0fced434 100644
--- a/conf/distro/include/angstrom.inc
+++ b/conf/distro/include/angstrom.inc
@@ -129,158 +129,11 @@ TARGET_CC_ARCH_pn-cairo_armv5te = "-march=armv4t"
#Set the right arch for the feeds
#Alphabetically sorted
-FEED_ARCH ?= "${TARGET_ARCH}"
+FEED_ARCH ?= "${BASE_PACKAGE_ARCH}"
#blackfin machines
FEED_ARCH_bfin = "blackfin"
-#armv4t machines
-
-FEED_ARCH_acern30 = "armv4t"
-FEED_ARCH_amsdelta = "armv4t"
-FEED_ARCH_ep93xx = "armv4t"
-FEED_ARCH_eteng500 = "armv4t"
-FEED_ARCH_om-gta01 = "armv4t"
-FEED_ARCH_om-gta02 = "armv4t"
-FEED_ARCH_h1940 = "armv4t"
-FEED_ARCH_h6300 = "armv4t"
-FEED_ARCH_kb9202 = "armv4t"
-FEED_ARCH_ks8695 = "armv4t"
-FEED_ARCH_rx1950 = "armv4t"
-FEED_ARCH_rx3000 = "armv4t"
-FEED_ARCH_sarge-at91 = "armv4t"
-FEED_ARCH_smdk2440 = "armv4t"
-FEED_ARCH_smdk2443 = "armv4t"
-
-#armv5t machines
-
-FEED_ARCH_a1200 = "armv5te"
-FEED_ARCH_a780 = "armv5te"
-FEED_ARCH_akita = "armv5te"
-FEED_ARCH_asus620 = "armv5te"
-FEED_ARCH_asus730 = "armv5te"
-FEED_ARCH_at91sam9263ek = "armv5te"
-FEED_ARCH_aximx50 = "armv5te"
-FEED_ARCH_aximx50v = "armv5te"
-FEED_ARCH_c7x0 = "armv5te"
-FEED_ARCH_compulab-pxa270 = "armv5te"
-FEED_ARCH_davinci-dvevm = "armv5te"
-FEED_ARCH_devkitidp-pxa255 = "armv5te"
-FEED_ARCH_e680 = "armv5te"
-FEED_ARCH_er0100 = "armv5te"
-FEED_ARCH_gumstix = "armv5te"
-FEED_ARCH_gumstix-verdex = "armv5te"
-FEED_ARCH_gumstix-connex = "armv5te"
-FEED_ARCH_h1910 = "armv5te"
-FEED_ARCH_h2200 = "armv5te"
-FEED_ARCH_h3900 = "armv5te"
-FEED_ARCH_h4000 = "armv5te"
-FEED_ARCH_h5000 = "armv5te"
-FEED_ARCH_htcalpine = "armv5te"
-FEED_ARCH_htcapache = "armv5te"
-FEED_ARCH_htcblueangel = "armv5te"
-FEED_ARCH_htchimalaya = "armv5te"
-FEED_ARCH_htcsable = "armv5te"
-FEED_ARCH_htctornado = "armv5te"
-FEED_ARCH_htcuniversal = "armv5te"
-FEED_ARCH_hx2000 = "armv5te"
-FEED_ARCH_hx4700 = "armv5te"
-FEED_ARCH_ixp4xxle = "armv5te"
-FEED_ARCH_logicpd-pxa270 = "armv5te"
-FEED_ARCH_looxc550 = "armv5te"
-FEED_ARCH_lsarm = "armv5te"
-FEED_ARCH_magician = "armv5te"
-FEED_ARCH_mainstone = "armv5te"
-FEED_ARCH_mnci = "armv5te"
-FEED_ARCH_mtx-3 = "armv5te"
-FEED_ARCH_mx21ads = "armv5te"
-FEED_ARCH_n2100 = "armv5te"
-FEED_ARCH_navman-icn330 = "armv5te"
-FEED_ARCH_netbook-pro = "armv5te"
-FEED_ARCH_nokia770 = "armv5te"
-FEED_ARCH_rokre2 = "armv5te"
-FEED_ARCH_nslu2le = "armv5te"
-FEED_ARCH_omap1510inn = "armv5te"
-FEED_ARCH_omap1610h2 = "armv5te"
-FEED_ARCH_omap1710h3 = "armv5te"
-FEED_ARCH_omap5912osk = "armv5te"
-FEED_ARCH_palmld = "armv5te"
-FEED_ARCH_palmt650 = "armv5te"
-FEED_ARCH_palmt680 = "armv5te"
-FEED_ARCH_palmtc = "armv5te"
-FEED_ARCH_palmtt = "armv5te"
-FEED_ARCH_palmtt3 = "armv5te"
-FEED_ARCH_palmtt5 = "armv5te"
-FEED_ARCH_palmtx = "armv5te"
-FEED_ARCH_palmz31 = "armv5te"
-FEED_ARCH_palmz71 = "armv5te"
-FEED_ARCH_palmz72 = "armv5te"
-FEED_ARCH_poodle = "armv5te"
-FEED_ARCH_qemuarm = "armv5te"
-FEED_ARCH_spitz = "armv5te"
-FEED_ARCH_tosa = "armv5te"
-FEED_ARCH_triton = "armv5te"
-
-FEED_ARCH_ixp4xxbe = "armv5teb"
-FEED_ARCH_nslu2be = "armv5teb"
-
-# armv6
-
-FEED_ARCH_mx31ads = "armv6"
-FEED_ARCH_mx31moboard = "armv6"
-FEED_ARCH_nokia800 = "armv6"
-FEED_ARCH_omap2420h4 = "armv6"
-FEED_ARCH_omap2430sdp = "armv6"
-
-#i486 machines
-FEED_ARCH_geodegx = "i486"
-FEED_ARCH_geodelx = "i486"
-FEED_ARCH_netvista = "i486"
-FEED_ARCH_wrap = "i486"
-FEED_ARCH_x86 = "i486"
-
-#i586 machines
-FEED_ARCH_epia = "i586"
-FEED_ARCH_i586-generic = "i586"
-FEED_ARCH_qemux86 = "i586"
-
-#i686 machines
-
-FEED_ARCH_alix = "i686"
-FEED_ARCH_colinux = "i686"
-FEED_ARCH_guinness = "i686"
-FEED_ARCH_i686-generic = "i686"
-FEED_ARCH_progear = "i686"
-
-#powerpc machines
-
-FEED_ARCH_dht-walnut = "ppc405"
-FEED_ARCH_magicbox = "ppc405"
-FEED_ARCH_xilinx-ml403 = "ppc405"
-FEED_ARCH_xilinx-ml410 = "ppc405"
-FEED_ARCH_sequoia = "ppc440e"
-FEED_ARCH_efika = "ppc603e"
-FEED_ARCH_lite5200 = "ppc603e"
-FEED_ARCH_lsppchd = "ppc603e"
-FEED_ARCH_lsppchg = "ppc603e"
-FEED_ARCH_storcenter = "ppc603e"
-FEED_ARCH_turbostation = "ppc603e"
-FEED_ARCH_mpc8313e-rdb = "ppce300c3"
-FEED_ARCH_mpc8323e-rdb = "ppce300c2"
-
-
-#strongarm machines, no EABI
-
-FEED_ARCH_collie = "arm-oabi"
-FEED_ARCH_h3600 = "arm-oabi"
-FEED_ARCH_h3800 = "arm-oabi"
-FEED_ARCH_htcwallaby = "arm-oabi"
-FEED_ARCH_jornada56x = "arm-oabi"
-FEED_ARCH_jornada7xx = "arm-oabi"
-FEED_ARCH_shark = "arm-oabi"
-FEED_ARCH_simpad = "arm-oabi"
-
-
#Tweak packaging for strongarm machines since they can't use EABI
PACKAGE_EXTRA_ARCHS_collie = "arm-oabi"
diff --git a/conf/distro/include/fso-autorev.inc b/conf/distro/include/fso-autorev.inc
index 8f08ad42b4..8ceb233f2f 100644
--- a/conf/distro/include/fso-autorev.inc
+++ b/conf/distro/include/fso-autorev.inc
@@ -6,6 +6,7 @@ SRCREV_pn-fsod = "${AUTOREV}"
SRCREV_pn-fsodeviced = "${AUTOREV}"
SRCREV_pn-fso-abyss = "${AUTOREV}"
SRCREV_pn-fso-apm = "${AUTOREV}"
+SRCREV_pn-fso-term = "${AUTOREV}"
SRCREV_pn-fso-gsm0710muxd = "${AUTOREV}"
SRCREV_pn-fso-gpsd = "${AUTOREV}"
SRCREV_pn-fso-monitord = "${AUTOREV}"
diff --git a/conf/distro/include/sane-srcrevs.inc b/conf/distro/include/sane-srcrevs.inc
index 32ec06eb42..af768c33da 100644
--- a/conf/distro/include/sane-srcrevs.inc
+++ b/conf/distro/include/sane-srcrevs.inc
@@ -59,8 +59,9 @@ SRCREV_pn-frameworkd-devel ?= "858c8d58d1f7e807f2c09532787c4e7b1a5daa52"
SRCREV_pn-fsod ?= "3fa5eb6f2edcf7c9f0fc2027fda47b91d9f0f136"
SRCREV_pn-fso-abyss ?= "0c713f42f078ae4aa3138ea487f044b9cd9d525b"
SRCREV_pn-fso-apm ?= "eb39ce7fb81bfa64e1a9eb5f142ca3d1065be3fa"
+SRCREV_pn-fso-term ?= "2cd15459c689d56e3ddde761129f4b00beab68ef"
SRCREV_pn-fso-gpsd ?= "78fe48dffb923175bde9f0aabc3500a9264a57e0"
-SRCREV_pn-fso-gsm0710muxd ?= "abcbcd7cc532a8834906de3fc24c8f8fe7643cd4"
+SRCREV_pn-fso-gsm0710muxd ?= "af1b80c7ded08b697730c3191d110dfd6dd872d3"
SRCREV_pn-fso-monitord ?= "0f64979a11d6263c7b7ed0e945a0889744f295f1"
SRCREV_pn-fso-sounds ?= "3d2cf5231cb0e81770a246530574142bd2b8bbff"
SRCREV_pn-fstests ?= "204"
@@ -110,6 +111,7 @@ SRCREV_pn-libowl ?= "277"
SRCREV_pn-libxcalibrate ?= "209d83af61ed38a002c8096377deac292b3e396c"
SRCREV_pn-libxosd ?= "627"
SRCREV_pn-linux-bfin ?= "3758"
+SRCREV_pn-linux-bug ?= "8918"
SRCREV_pn-linux-hackndev-2.6 ?= "1308"
SRCREV_pn-linux-ixp4xx ?= "1089"
SRCREV_pn-linux-openmoko-2.6.24 ?= "fb42ce6724576fc173faf8abfb04aa2c36d213b7"
@@ -153,7 +155,7 @@ SRCREV_pn-osb-browser ?= "125"
SRCREV_pn-osb-jscore ?= "117"
SRCREV_pn-osb-nrcit ?= "125"
SRCREV_pn-osb-nrcore ?= "126"
-SRCREV_pn-openezx-kernel ?= "87c2ff2531fd4a5f6799a80b339859dd3ebf4191"
+SRCREV_pn-openezx-kernel ?= "43b844d1d38f0343272d3f0f844f80666186c526"
SRCREV_pn-openmoko-agpsui ?= "7"
SRCREV_pn-openmoko-alsa-scenarios ?= "4732"
SRCREV_pn-openmoko-appearance ?= "3262"
@@ -243,6 +245,7 @@ SRCREV_pn-uclibc ?= "25712"
SRCREV_pn-uclibc-initial ?= "25712"
SRCREV_pn-usbpath ?= "3172"
SRCREV_pn-usbpath-native ?= "3172"
+SRCREV-pn-vala-dbus-binding-tool-native ?= "55a6bc5dd032731d89c238d274b2898ef02d12f8"
SRCREV_pn-vala-terminal ?= "94117f453ce884e9c30b611fae6fc19f85f98f2b"
SRCREV_pn-vala-native ?= "6cf030120cd7f6a76a5d766d7420aea847e02cfd"
SRCREV_pn-webkit-gtk ?= "42127"
@@ -257,7 +260,7 @@ SRCREV_pn-zhone ?= "f38cc52fbf11f7fe945797a6b8ade29ed479d924"
# Enlightenment Foundation Libraries
# Caution: This is not alphabetically, but (roughly) dependency-sorted.
# Please leave it like that.
-EFL_SRCREV ?= "40125"
+EFL_SRCREV ?= "40247"
SRCREV_pn-edb-native ?= "${EFL_SRCREV}"
SRCREV_pn-edb ?= "${EFL_SRCREV}"
SRCREV_pn-eina-native ?= "${EFL_SRCREV}"
diff --git a/conf/machine/at91sam9g20ek.conf b/conf/machine/at91sam9g20ek.conf
index df19389d9f..903e953b13 100644
--- a/conf/machine/at91sam9g20ek.conf
+++ b/conf/machine/at91sam9g20ek.conf
@@ -10,7 +10,7 @@ PREFERRED_PROVIDER_xserver = "xserver-kdrive"
KERNEL_IMAGETYPE = "uImage"
PREFERRED_VERSION_u-boot = "2009.01"
-UBOOT_MACHINE = "at92sam9g20ek_config"
+UBOOT_MACHINE = "at91sam9g20ek_config"
PREFERRED_VERSION_at91bootstrap = "2.10"
diff --git a/conf/machine/bug.conf b/conf/machine/bug.conf
new file mode 100644
index 0000000000..cec3d5b785
--- /dev/null
+++ b/conf/machine/bug.conf
@@ -0,0 +1,16 @@
+#@TYPE: Machine
+#@NAME: Bug Labs BUG Computer
+#@DESCRIPTION: Machine configuration for the BUG base unit.
+TARGET_ARCH = "arm"
+
+MACHINE_EXTRA_RRECOMMENDS = "marvell-gspi-fw"
+PREFERRED_PROVIDER_virtual/kernel = "linux-bug"
+
+MACHINE_FEATURES = "kernel26 screen touchscreen hotplug alsa wifi usbhost usbgadget"
+SERIAL_CONSOLE = "-L 115200 ttymxc4"
+
+CPU_FEATURES += "vfp"
+
+require conf/machine/include/tune-arm1136jf-s.inc
+
+KERNEL_IMAGETYPE = "uImage"
diff --git a/conf/machine/hipox.conf b/conf/machine/hipox.conf
index f3a31cf63b..7a2ac6f6e9 100644
--- a/conf/machine/hipox.conf
+++ b/conf/machine/hipox.conf
@@ -6,7 +6,7 @@ TARGET_ARCH = "arm"
MACHINE_FEATURES = "kernel26 ext2 pci usbhost ethernet serial raid uboot"
-SERIAL_CONSOLE = "115200 ttyS0"
+SERIAL_CONSOLE = "115200 ttyS1"
PREFERRED_PROVIDER_virtual/kernel = "linux"
diff --git a/conf/machine/include/kirkwood.inc b/conf/machine/include/kirkwood.inc
index be38858ae9..f58feb686c 100644
--- a/conf/machine/include/kirkwood.inc
+++ b/conf/machine/include/kirkwood.inc
@@ -11,7 +11,9 @@ USE_DEVFS = "0"
PREFERRED_PROVIDER_virtual/bootloader = ""
PREFERRED_PROVIDER_virtual/kernel = "linux-kirkwood"
-IMAGE_FSTYPES += "tar.gz"
+MACHINE_KERNEL_PR = "r1"
+
+IMAGE_FSTYPES += "tar.gz ubi"
SERIAL_CONSOLE = "ttyS0 115200"
# Currently all the orion devices we support use uImage
diff --git a/conf/machine/include/omap3.inc b/conf/machine/include/omap3.inc
index f4c0d37e26..5d6d9ffbff 100644
--- a/conf/machine/include/omap3.inc
+++ b/conf/machine/include/omap3.inc
@@ -1,7 +1,7 @@
require conf/machine/include/tune-cortexa8.inc
PREFERRED_PROVIDER_virtual/kernel = "linux-omap"
# Increase this everytime you change something in the kernel
-MACHINE_KERNEL_PR = "r27"
+MACHINE_KERNEL_PR = "r31"
KERNEL_IMAGETYPE = "uImage"
diff --git a/conf/machine/include/tune-ppce500.inc b/conf/machine/include/tune-ppce500.inc
index 9c8c68c342..44f8742f9f 100644
--- a/conf/machine/include/tune-ppce500.inc
+++ b/conf/machine/include/tune-ppce500.inc
@@ -1,3 +1,4 @@
TARGET_CC_ARCH = "-mcpu=8540"
BASE_PACKAGE_ARCH = "ppce500"
FEED_ARCH = "ppce500"
+PACKAGE_EXTRA_ARCHS += "ppce500"
diff --git a/conf/machine/micro2440.conf b/conf/machine/micro2440.conf
index 17aa0d310a..5c8da70e68 100644
--- a/conf/machine/micro2440.conf
+++ b/conf/machine/micro2440.conf
@@ -16,4 +16,4 @@ MACHINE_FEATURES = "kernel26 touchscreen screen usbhost usbgadget sound alsa eth
require conf/machine/include/tune-arm920t.inc
KERNEL_IMAGETYPE = "uImage"
-EXTRA_IMAGECMD_jffs2 = "--pad --little-endian -e16KiB -s 0x200 -n"
+EXTRA_IMAGECMD_jffs2 = "--pad --little-endian -e16KiB -n"
diff --git a/conf/machine/sheevaplug.conf b/conf/machine/sheevaplug.conf
index ee9ba6cb88..4517312e7a 100644
--- a/conf/machine/sheevaplug.conf
+++ b/conf/machine/sheevaplug.conf
@@ -3,4 +3,19 @@
MACHINE_EXTRA_RDEPENDS = "u-boot-utils"
MACHINE_EXTRA_RRECOMMENDS = "kernel-modules"
+# do ubiattach /dev/ubi_ctrl -m 4
+# From dmesg:
+# UBI: smallest flash I/O unit: 2048
+# UBI: logical eraseblock size: 129024 bytes
+# from ubiattach stdout:
+# UBI device number 0, total 4096 LEBs
+MKUBIFS_ARGS = "-m 2048 -e 129024 -c 4096"
+
+# do ubiattach /dev/ubi_ctrl -m 4
+# from dmesg:
+# UBI: smallest flash I/O unit: 2048
+# UBI: physical eraseblock size: 131072 bytes (128 KiB)
+# UBI: sub-page size: 512
+UBINIZE_ARGS = "-m 2048 -p 128KiB -s 512"
+
require conf/machine/include/kirkwood.inc
diff --git a/conf/machine/topas910.conf b/conf/machine/topas910.conf
new file mode 100644
index 0000000000..3b29929eaa
--- /dev/null
+++ b/conf/machine/topas910.conf
@@ -0,0 +1,44 @@
+#-----------------------------------------------------------------------------
+#@TYPE: Machine
+#@NAME: Toshiba TMPA910 (Topas) Starter Kit
+#@DESCRIPTION: Machine description for the Toshiba TMPA910CRAXBG SoC Starter Kit
+#-----------------------------------------------------------------------------
+
+TARGET_ARCH = "arm"
+GUI_MACHINE_CLASS = "smallscreen"
+#PACKAGE_EXTRA_ARCHS = "armv4t"
+
+PREFERRED_PROVIDER_virtual/kernel ?= "linux"
+PREFERRED_PROVIDER_virtual/xserver = "xserver-kdrive"
+#UBOOT_ENTRYPOINT = "30008000"
+
+MACHINE_FEATURES = "kernel26 apm alsa usbgadget usbhost vfat screen touchscreen"
+MACHINE_DISPLAY_WIDTH_PIXELS = "320"
+MACHINE_DISPLAY_HEIGHT_PIXELS = "240"
+MACHINE_DISPLAY_ORIENTATION = "0"
+MACHINE_DISPLAY_PPI = "110"
+XSERVER = "xserver-kdrive-fbdev"
+
+# package machine specific modules
+MACHINE_EXTRA_RRECOMMENDS = "\
+"
+
+SERIAL_CONSOLE = "115200 ttyS0"
+
+# used by some images
+ROOT_FLASH_SIZE = "256"
+
+# extra jffs2 tweaks
+IMAGE_FSTYPES ?= "jffs2"
+EXTRA_IMAGECMD_jffs2 = "--little-endian --pad=0x1DC0000 --eraseblock=0x20000 -n"
+#EXTRA_IMAGECMD_jffs2 = "--little-endian --eraseblock=0x20000 \
+# --pad -n ; sumtool --eraseblock=0x20000 --no-cleanmarkers \
+# --littleendian --pad \
+# -i ${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}.rootfs.jffs2 \
+# -o ${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}.rootfs.jffs2.summary"
+
+# build / upload tools
+EXTRA_IMAGEDEPENDS += "lowlevel-topas910"
+
+# tune for cpu
+include conf/machine/include/tune-arm920t.inc
diff --git a/contrib/angstrom/sort.sh b/contrib/angstrom/sort.sh
index dc4c1863a2..a1a4882480 100755
--- a/contrib/angstrom/sort.sh
+++ b/contrib/angstrom/sort.sh
@@ -46,15 +46,15 @@ case "$arch" in
"arm-oabi")
machines="h3600 h3800 collie simpad htcwallaby" ;;
"armv4t")
- machines="ep93xx h6300 om-gta01 om-gta02 fic-gta01 fic-gta02" ;;
+ machines="micro2440 ep93xx h6300 om-gta01 om-gta02 fic-gta01 fic-gta02" ;;
"armv5te")
- machines="sheevaplug dm355-leopard n2100 dns323 mv2120 kuropro lspro tsx09 ts409 davinci-dvevm davinci-sffsdr neuros-osd neuros-osd2 gumstix-connex gumstix-verdex gumstix e680 a780 a1200 at91sam9263ek rokre6 rokre2 rokr-e2 akita c7x0 h2200 h3900 h4000 h5000 htcapache htctornado htcblueangel htcuniversal hx4700 nslu2le hx2000 ixp4xxle magician netbook-pro nokia770 palmt650 palmt680 palmld palmtx palmtt3 palmz72 qemuarm omap5912osk poodle spitz tosa" ;;
+ machines="topas910 sheevaplug dm355-leopard n2100 dns323 mv2120 kuropro lspro tsx09 ts409 davinci-dvevm davinci-sffsdr neuros-osd neuros-osd2 gumstix-connex gumstix-verdex gumstix e680 a780 a1200 at91sam9263ek rokre6 rokre2 rokr-e2 akita c7x0 h2200 h3900 h4000 h5000 htcapache htctornado htcblueangel htcuniversal hx4700 nslu2le hx2000 ixp4xxle magician netbook-pro nokia770 palmt650 palmt680 palmld palmtx palmtt3 palmz72 qemuarm omap5912osk poodle spitz tosa" ;;
"armv5teb")
machines="ixp4xxbe nslu2be" ;;
"armv6-novfp")
machines="htcdiamond htckaiser htcpolaris htcraphael htcvogue" ;;
"armv6")
- machines="mx31ads nokia800 " ;;
+ machines="bug mx31ads nokia800 " ;;
"armv7")
machines="" ;;
"armv7a")
@@ -150,6 +150,8 @@ echo "Processing 'all' feed"
for i in `find . -name "*.ipk"| grep _all` ; do mkdir -p ../all/ || true ;mv $i ../all/ ; done
(mkdir -p ../all ; cd ../all && ipkg-make-index -p Packages -m . >& /dev/null ; touch Packages.sig )
+rm *x86_64*
+
for arch in arm-oabi armv4t armv5teb armv5te armv6-novfp armv6 armv7a armv7 avr32 bfin geode i486 i586 i686 iwmmxt ppc405 ppc603e sparc ; do
do_sort
done
diff --git a/contrib/angstrom/upload-packages.sh b/contrib/angstrom/upload-packages.sh
index 1ae7086cab..37d8c9ac9b 100644
--- a/contrib/angstrom/upload-packages.sh
+++ b/contrib/angstrom/upload-packages.sh
@@ -32,7 +32,7 @@ cat files-remote files-local | sort | uniq -u >files-uniq
cat files-uniq files-local | sort | uniq -d > files-trans
# Remove SGX files
-rm -f upload-queue/*3.00.*
+rm -f upload-queue/ti*codec* upload-queue/*3.00.*
# Copy over non-duplicate files
echo "Starting rsync..."
diff --git a/contrib/buildbot/README b/contrib/buildbot/README
new file mode 100644
index 0000000000..b5506a363b
--- /dev/null
+++ b/contrib/buildbot/README
@@ -0,0 +1,4 @@
+This directory contains buildbot config used by Marcin Juszkiewicz.
+
+Buildbot homepage: http://www.buildbot.net/
+Marcin's buildbot: http://home.haerwu.biz:8010/
diff --git a/contrib/buildbot/master.cfg b/contrib/buildbot/master.cfg
new file mode 100644
index 0000000000..537eb8110e
--- /dev/null
+++ b/contrib/buildbot/master.cfg
@@ -0,0 +1,153 @@
+def runOEImage(factory, machine, image, libc):
+ defaultenv['ANGSTROMLIBC'] = libc
+ factory.addStep(ShellCommand, description=["Building", machine, image], command=["/home/buildbot/scripts/full-oe-autobuild", image, machine], env=copy.copy(defaultenv), timeout=10000)
+
+import copy
+
+builders = []
+defaultenv = {}
+
+config = BuildmasterConfig = {}
+
+config['projectName'] = "HaeRWu buildbot"
+config['buildbotURL'] = "http://localhost:8010/"
+
+from buildbot.buildslave import BuildSlave
+from buildbot.changes.pb import PBChangeSource
+from buildbot.scheduler import Scheduler
+from buildbot.scheduler import Periodic
+from buildbot.scheduler import Nightly
+from buildbot.process import factory
+from buildbot.process import buildstep as step
+from buildbot.steps.source import SVN
+from buildbot.steps.python_twisted import Trial
+from buildbot.steps.shell import Compile, ShellCommand
+from buildbot.steps import source, shell
+
+config['slaves'] = [BuildSlave("homeQuad", "BOT-PASSWORD")]
+config['slavePortnum'] = 9989
+
+config['change_source'] = PBChangeSource()
+
+config['schedulers'] = []
+
+config['schedulers'].append(Nightly(name="Angstrom glibc full build",
+ hour=23, minute=0, dayOfWeek=[0,2,4],
+ builderNames=["angstrom_glibc_full_build"]))
+
+config['schedulers'].append(Nightly(name="Angstrom glibc incremental build",
+ hour=5, minute=0, dayOfWeek=[0,2,4],
+ builderNames=["angstrom_glibc_incremental_build"]))
+
+config['schedulers'].append(Nightly(name="Angstrom uclibc full build",
+ hour=23, minute=0, dayOfWeek=[1,3,5],
+ builderNames=["angstrom_uclibc_full_build"]))
+
+config['schedulers'].append(Nightly(name="Angstrom uclibc incremental build",
+ hour=5, minute=0, dayOfWeek=[1,3,5],
+ builderNames=["angstrom_uclibc_incremental_build"]))
+
+
+angstrom_glibc_incremental_build = factory.BuildFactory()
+angstrom_glibc_incremental_build.addStep(source.Git(repourl="git://git.openembedded.net/openembedded", branch='stable/2009', mode='update'))
+
+angstrom_glibc_incremental_build.addStep(ShellCommand, description=["Cleaning", "previous", "images"], command="/bin/rm tmp/deploy/images/*/*/*rootfs* || /bin/true", timeout=600)
+angstrom_glibc_incremental_build.addStep(ShellCommand, description=["Cleaning", "previous", "images", "step 2"], command="/bin/rm -rf tmp/deploy/images/*/*/*testlab* || /bin/true", timeout=600)
+runOEImage(angstrom_glibc_incremental_build, 'at91sam9263ek', 'base-image', 'glibc')
+runOEImage(angstrom_glibc_incremental_build, 'at91sam9263ek', 'console-image', 'glibc')
+runOEImage(angstrom_glibc_incremental_build, 'at91sam9263ek', 'x11-image', 'glibc')
+runOEImage(angstrom_glibc_incremental_build, 'beagleboard', 'base-image', 'glibc')
+runOEImage(angstrom_glibc_incremental_build, 'beagleboard', 'console-image', 'glibc')
+runOEImage(angstrom_glibc_incremental_build, 'beagleboard', 'x11-image', 'glibc')
+runOEImage(angstrom_glibc_incremental_build, 'qemux86', 'base-image', 'glibc')
+runOEImage(angstrom_glibc_incremental_build, 'qemux86', 'console-image', 'glibc')
+runOEImage(angstrom_glibc_incremental_build, 'qemux86', 'x11-image', 'glibc')
+
+angstrom_glibc_full_build = factory.BuildFactory()
+angstrom_glibc_full_build.addStep(source.Git(repourl="git://git.openembedded.net/openembedded", branch='stable/2009', mode='update'))
+
+angstrom_glibc_full_build.addStep(ShellCommand, description=["Cleaning", "previous", "images"], command="/bin/rm tmp/deploy/images/*/*/*rootfs* || /bin/true", timeout=600)
+angstrom_glibc_full_build.addStep(ShellCommand, description=["Cleaning", "previous", "images", "step 2"], command="/bin/rm -rf tmp/deploy/images/*/*/*testlab* || /bin/true", timeout=600)
+runOEImage(angstrom_glibc_full_build, 'at91sam9263ek', 'base-image', 'glibc')
+runOEImage(angstrom_glibc_full_build, 'at91sam9263ek', 'console-image', 'glibc')
+runOEImage(angstrom_glibc_full_build, 'at91sam9263ek', 'x11-image', 'glibc')
+runOEImage(angstrom_glibc_full_build, 'beagleboard', 'base-image', 'glibc')
+runOEImage(angstrom_glibc_full_build, 'beagleboard', 'console-image', 'glibc')
+runOEImage(angstrom_glibc_full_build, 'beagleboard', 'x11-image', 'glibc')
+runOEImage(angstrom_glibc_full_build, 'qemux86', 'base-image', 'glibc')
+runOEImage(angstrom_glibc_full_build, 'qemux86', 'console-image', 'glibc')
+runOEImage(angstrom_glibc_full_build, 'qemux86', 'x11-image', 'glibc')
+
+angstrom_uclibc_incremental_build = factory.BuildFactory()
+angstrom_uclibc_incremental_build.addStep(source.Git(repourl="git://git.openembedded.net/openembedded", branch='stable/2009', mode='update'))
+
+angstrom_uclibc_incremental_build.addStep(ShellCommand, description=["Cleaning", "previous", "images"], command="/bin/rm tmp/deploy/images/*/*/*rootfs* || /bin/true", timeout=600)
+angstrom_uclibc_incremental_build.addStep(ShellCommand, description=["Cleaning", "previous", "images", "step 2"], command="/bin/rm -rf tmp/deploy/images/*/*/*testlab* || /bin/true", timeout=600)
+runOEImage(angstrom_uclibc_incremental_build, 'atngw100', 'base-image', 'uclibc')
+runOEImage(angstrom_uclibc_incremental_build, 'atngw100', 'console-image', 'uclibc')
+runOEImage(angstrom_uclibc_incremental_build, 'atngw100', 'x11-image', 'uclibc')
+runOEImage(angstrom_uclibc_incremental_build, 'at91sam9263ek', 'base-image', 'uclibc')
+runOEImage(angstrom_uclibc_incremental_build, 'at91sam9263ek', 'console-image', 'uclibc')
+runOEImage(angstrom_uclibc_incremental_build, 'at91sam9263ek', 'x11-image', 'uclibc')
+runOEImage(angstrom_uclibc_incremental_build, 'beagleboard', 'base-image', 'uclibc')
+runOEImage(angstrom_uclibc_incremental_build, 'beagleboard', 'console-image', 'uclibc')
+runOEImage(angstrom_uclibc_incremental_build, 'beagleboard', 'x11-image', 'uclibc')
+runOEImage(angstrom_uclibc_incremental_build, 'qemux86', 'base-image', 'uclibc')
+runOEImage(angstrom_uclibc_incremental_build, 'qemux86', 'console-image', 'uclibc')
+runOEImage(angstrom_uclibc_incremental_build, 'qemux86', 'x11-image', 'uclibc')
+
+angstrom_uclibc_full_build = factory.BuildFactory()
+angstrom_uclibc_full_build.addStep(source.Git(repourl="git://git.openembedded.net/openembedded", branch='stable/2009', mode='update'))
+
+angstrom_uclibc_full_build.addStep(ShellCommand, description=["Cleaning", "previous", "images"], command="/bin/rm tmp/deploy/images/*/*/*rootfs* || /bin/true", timeout=600)
+angstrom_uclibc_full_build.addStep(ShellCommand, description=["Cleaning", "previous", "images", "step 2"], command="/bin/rm -rf tmp/deploy/images/*/*/*testlab* || /bin/true", timeout=600)
+runOEImage(angstrom_uclibc_full_build, 'atngw100', 'base-image', 'uclibc')
+runOEImage(angstrom_uclibc_full_build, 'atngw100', 'console-image', 'uclibc')
+runOEImage(angstrom_uclibc_full_build, 'atngw100', 'x11-image', 'uclibc')
+runOEImage(angstrom_uclibc_full_build, 'at91sam9263ek', 'base-image', 'uclibc')
+runOEImage(angstrom_uclibc_full_build, 'at91sam9263ek', 'console-image', 'uclibc')
+runOEImage(angstrom_uclibc_full_build, 'at91sam9263ek', 'x11-image', 'uclibc')
+runOEImage(angstrom_uclibc_full_build, 'beagleboard', 'base-image', 'uclibc')
+runOEImage(angstrom_uclibc_full_build, 'beagleboard', 'console-image', 'uclibc')
+runOEImage(angstrom_uclibc_full_build, 'beagleboard', 'x11-image', 'uclibc')
+runOEImage(angstrom_uclibc_full_build, 'qemux86', 'base-image', 'uclibc')
+runOEImage(angstrom_uclibc_full_build, 'qemux86', 'console-image', 'uclibc')
+runOEImage(angstrom_uclibc_full_build, 'qemux86', 'x11-image', 'uclibc')
+#---------------------------------------------------------------------
+
+build_agf = {
+ 'name': "angstrom_glibc_full_build",
+ 'slavename': "homeQuad",
+ 'builddir': "angstrom_glibc_full_build",
+ 'factory': angstrom_glibc_full_build,
+}
+
+build_agi = {
+ 'name': "angstrom_glibc_incremental_build",
+ 'slavename': "homeQuad",
+ 'builddir': "angstrom_glibc_incremental_build",
+ 'factory': angstrom_glibc_incremental_build,
+}
+build_auf = {
+ 'name': "angstrom_uclibc_full_build",
+ 'slavename': "homeQuad",
+ 'builddir': "angstrom_uclibc_full_build",
+ 'factory': angstrom_uclibc_full_build,
+}
+
+build_aui = {
+ 'name': "angstrom_uclibc_incremental_build",
+ 'slavename': "homeQuad",
+ 'builddir': "angstrom_uclibc_incremental_build",
+ 'factory': angstrom_uclibc_incremental_build,
+}
+
+config['builders'] = [build_agf, build_agi, build_auf, build_aui ]
+config['status'] = []
+config['debugPassword'] = ""
+
+from buildbot.status import html
+
+config['status'].append(html.Waterfall(http_port=8010))
+config['status'].append(html.Waterfall(http_port=8011, allowForce=False))
+
diff --git a/contrib/buildbot/scripts/full-oe-autobuild b/contrib/buildbot/scripts/full-oe-autobuild
new file mode 100755
index 0000000000..65605f0a7b
--- /dev/null
+++ b/contrib/buildbot/scripts/full-oe-autobuild
@@ -0,0 +1,62 @@
+#!/bin/sh
+
+# Poky Automated Build Server Enviroment Setup Script
+#
+# Copyright (C) 2006-2007 OpenedHand Ltd.
+# Adapted to OpenEmbedded by Marcin Juszkiewicz in 2008.
+#
+# 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 2 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, write to the Free Software
+# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+
+CURRDIR=`pwd`
+
+BB_DIR=$PWD/bitbake
+
+PATH=$BB_DIR/bin:$PATH
+
+# Don't export TARGET_ARCH - it *will* cause build failures
+export PATH LD_LIBRARY_PATH
+
+export BBPATH=`pwd`
+export BB_ENV_EXTRAWHITE="MACHINE ANGSTROMLIBC"
+
+CONFFILE="./conf/local.conf"
+
+umask 000
+
+rm conf/auto.conf
+
+CONFFILE="./conf/local.conf"
+
+if [ ! -e "$CONFFILE" ]; then
+ if [ ! -d "./conf" ]; then
+ mkdir -p "./conf"
+ fi
+ echo "BBFILES = '$PWD/recipes/*/*.bb'" > "$CONFFILE"
+ echo 'DISTRO = "angstrom-2008.1"' >> "$CONFFILE"
+ echo 'BB_NUMBER_THREADS = "6"' >> "$CONFFILE"
+ echo 'PARALLEL_MAKE = "-j 8"' >> "$CONFFILE"
+ echo 'DL_DIR = "/home/hrw/devel/sources/dl_dir/"' >> "$CONFFILE"
+ echo 'DEBIAN_MIRROR = "ftp://ftp.pl.debian.org/pub/debian/pool"' >> "$CONFFILE"
+ echo 'INHERIT += "rm_work"' >> "$CONFFILE"
+ echo 'BBINCLUDELOGS = "1"' >> "$CONFFILE"
+fi
+
+touch ./conf/local.conf
+
+MACHINE=$2 nice ionice -c3 bitbake $1
+
+retval=$?
+
+exit $retval
diff --git a/contrib/mtn-bisect.sh b/contrib/mtn-bisect.sh
deleted file mode 100755
index e1c970d974..0000000000
--- a/contrib/mtn-bisect.sh
+++ /dev/null
@@ -1,26 +0,0 @@
-#!/bin/bash
-
-# the revision that we noticed does not longer build
-LATEST_BAD_REV=$1
-
-# an older revision that is known to build
-LAST_KNOWN_GOOD_REV=$2
-
-# count the number of commits
-COUNT=`mtn log --brief --no-merges --no-graph --to p:$LAST_KNOWN_GOOD_REV --from $LATEST_BAD_REV | tee /tmp/candidates.txt | wc -l`
-
-echo $COUNT commits
-
-# if COUNT == 1 stop
-
-# make binary sections
-COUNT=$(($(($COUNT + 1)) / 2))
-
-CANDIDATE_REV=`cat /tmp/candidates.txt | head -n $COUNT | tail -n 1 | sed -e 's@\([a-f0-9]*\) .*@\1@'`
-
-echo $CANDIDATE_REV
-
-echo mtn up -r $CANDIDATE_REV
-mtn up -r $CANDIDATE_REV
-
-
diff --git a/contrib/patchwork/pw-am.sh b/contrib/patchwork/pw-am.sh
index 2ce6dc4066..1c64aa5d64 100755
--- a/contrib/patchwork/pw-am.sh
+++ b/contrib/patchwork/pw-am.sh
@@ -10,5 +10,6 @@
for patchnumber in $@;
do
wget -nv http://patchwork.openembedded.org/patch/$patchnumber/mbox/ -O pw-am-$patchnumber.patch
- git am pw-am-$patchnumber.patch
+ git am -s pw-am-$patchnumber.patch
+ rm pw-am-$patchnumber.patch
done
diff --git a/recipes/ace/ace.inc b/recipes/ace/ace.inc
new file mode 100644
index 0000000000..f2afc48a44
--- /dev/null
+++ b/recipes/ace/ace.inc
@@ -0,0 +1,18 @@
+DESCRIPTION = "C++ network programming framework"
+SECTION = "net"
+LICENSE = "http://www.cs.wustl.edu/~schmidt/ACE-copying.html"
+
+DEPENDS += "openssl gperf-native"
+
+SRC_URI = "ftp://download.dre.vanderbilt.edu/previous_versions/ACE-${PV}.tar.bz2"
+S = "${WORKDIR}/ACE_wrappers"
+B = "${WORKDIR}/build.${TARGET_SYS}"
+
+EXTRA_OECONF += "--disable-ace-tests --disable-gperf"
+LEAD_SONAME = "libACE-[0-9.]*.so"
+
+inherit autotools
+
+do_configure_prepend() {
+ export ace_cv_linux_event_poll=yes
+}
diff --git a/recipes/ace/ace_5.6.8.bb b/recipes/ace/ace_5.6.8.bb
new file mode 100644
index 0000000000..345abe17e4
--- /dev/null
+++ b/recipes/ace/ace_5.6.8.bb
@@ -0,0 +1 @@
+require ace.inc
diff --git a/recipes/argp-standalone/argp-standalone_1.3.bb b/recipes/argp-standalone/argp-standalone_1.3.bb
new file mode 100644
index 0000000000..6de77ef928
--- /dev/null
+++ b/recipes/argp-standalone/argp-standalone_1.3.bb
@@ -0,0 +1,10 @@
+DESCRIPTION = "Argp is an interface for parsing unix-style argument vectors. This is only needed for uclibc"
+PRIORITY = "optional"
+
+SRC_URI = "http://www.auto.tuwien.ac.at/~mkoegler/eib/argp-standalone-${PV}.tar.gz"
+
+inherit autotools
+
+do_stage() {
+ autotools_stage_all
+}
diff --git a/recipes/base-passwd/files/hipox/root-home.patch b/recipes/base-passwd/files/hipox/root-home.patch
new file mode 100644
index 0000000000..14960496fa
--- /dev/null
+++ b/recipes/base-passwd/files/hipox/root-home.patch
@@ -0,0 +1,8 @@
+--- base-passwd/passwd.master.orig 2005-07-08 06:26:22.000000000 +0200
++++ base-passwd/passwd.master 2005-07-08 06:31:58.000000000 +0200
+@@ -1,4 +1,4 @@
+-root::0:0:root:/root:/bin/sh
++root:D5wG08PcdvCQ.:0:0:root:/home/root:/bin/sh
+ daemon:*:1:1:daemon:/usr/sbin:/bin/sh
+ bin:*:2:2:bin:/bin:/bin/sh
+ sys:*:3:3:sys:/dev:/bin/sh
diff --git a/recipes/binutils/binutils-2.19.51.0.3/110-arm-eabi-conf.patch b/recipes/binutils/binutils-2.19.51.0.3/110-arm-eabi-conf.patch
new file mode 100644
index 0000000000..2623301da0
--- /dev/null
+++ b/recipes/binutils/binutils-2.19.51.0.3/110-arm-eabi-conf.patch
@@ -0,0 +1,22 @@
+--- /tmp/configure.ac 2008-06-22 14:14:59.000000000 +0200
++++ binutils-2.18.50.0.7/configure.ac 2008-06-22 14:15:30.000000000 +0200
+@@ -561,7 +561,7 @@
+ noconfigdirs="$noconfigdirs target-libffi target-qthreads"
+ libgloss_dir=arm
+ ;;
+- arm*-*-linux-gnueabi)
++ arm*-*-linux-gnueabi | arm*-*-linux-uclibcgnueabi)
+ noconfigdirs="$noconfigdirs target-qthreads"
+ noconfigdirs="$noconfigdirs target-libobjc"
+ case ${with_newlib} in
+--- /tmp/configure 2008-06-22 14:17:11.000000000 +0200
++++ binutils-2.18.50.0.7/configure 2008-06-22 14:17:56.000000000 +0200
+@@ -2307,7 +2307,7 @@
+ noconfigdirs="$noconfigdirs target-libffi target-qthreads"
+ libgloss_dir=arm
+ ;;
+- arm*-*-linux-gnueabi)
++ arm*-*-linux-gnueabi | arm*-*-linux-uclibcgnueabi)
+ noconfigdirs="$noconfigdirs target-qthreads"
+ noconfigdirs="$noconfigdirs target-libobjc"
+ case ${with_newlib} in
diff --git a/recipes/binutils/binutils-2.19.51.0.3/binutils-2.16.1-e300c2c3.patch b/recipes/binutils/binutils-2.19.51.0.3/binutils-2.16.1-e300c2c3.patch
new file mode 100644
index 0000000000..dfe9b18e17
--- /dev/null
+++ b/recipes/binutils/binutils-2.19.51.0.3/binutils-2.16.1-e300c2c3.patch
@@ -0,0 +1,18 @@
+Adds support for Freescale Power architecture e300c2 and e300c3 cores.
+http://www.bitshrine.org/gpp/tc-fsl-x86lnx-e300c3-nptl-4.0.2-2.src.rpm
+
+Leon Woestenberg <leonw@mailcan.com>
+
+Index: binutils-2.19.51.0.3/opcodes/ppc-dis.c
+===================================================================
+--- binutils-2.19.51.0.3.orig/opcodes/ppc-dis.c 2009-04-16 00:38:45.000000000 -0700
++++ binutils-2.19.51.0.3/opcodes/ppc-dis.c 2009-04-16 00:43:56.000000000 -0700
+@@ -132,6 +132,8 @@
+ | PPC_OPCODE_POWER6 | PPC_OPCODE_POWER7 | PPC_OPCODE_ALTIVEC
+ | PPC_OPCODE_VSX),
+ 0 },
++ { "pmr", (PPC_OPCODE_PMR),
++ 0 },
+ { "ppc", (PPC_OPCODE_PPC | PPC_OPCODE_CLASSIC | PPC_OPCODE_32),
+ 0 },
+ { "ppc32", (PPC_OPCODE_PPC | PPC_OPCODE_CLASSIC | PPC_OPCODE_32),
diff --git a/recipes/binutils/binutils-2.19.51.0.3/binutils-2.16.91.0.6-objcopy-rename-errorcode.patch b/recipes/binutils/binutils-2.19.51.0.3/binutils-2.16.91.0.6-objcopy-rename-errorcode.patch
new file mode 100644
index 0000000000..8df5b1fea0
--- /dev/null
+++ b/recipes/binutils/binutils-2.19.51.0.3/binutils-2.16.91.0.6-objcopy-rename-errorcode.patch
@@ -0,0 +1,39 @@
+# strip (and objcopy) fail to set the error code if there is no
+# output file name and the rename of the stripped (or copied) file
+# fails, yet the command fails to do anything. This fixes both
+# objcopy and strip.
+#
+# modification by bero: Ported to 2.16.91.0.6
+#
+#Signed-off-by: John Bowler <jbowler@acm.org>
+#Signed-off-by: Bernhard Rosenkraenzer <bero@arklinux.org>
+---
+# binutils/objcopy.c | 8 +++++---
+# 1 file changed, 5 insertions(+), 3 deletions(-)
+#
+Index: src/binutils/objcopy.c
+===================================================================
+--- src.orig/binutils/objcopy.c 2007-08-09 13:26:03.000000000 +0100
++++ src/binutils/objcopy.c 2007-08-09 16:36:12.000000000 +0100
+@@ -2787,8 +2787,9 @@ strip_main (int argc, char *argv[])
+ if (preserve_dates)
+ set_times (tmpname, &statbuf);
+ if (output_file != tmpname)
+- smart_rename (tmpname, output_file ? output_file : argv[i],
+- preserve_dates);
++ if (smart_rename (tmpname, output_file ? output_file : argv[i],
++ preserve_dates))
++ hold_status = 1;
+ status = hold_status;
+ }
+ else
+@@ -3411,7 +3412,8 @@ copy_main (int argc, char *argv[])
+ if (preserve_dates)
+ set_times (tmpname, &statbuf);
+ if (tmpname != output_filename)
+- smart_rename (tmpname, input_filename, preserve_dates);
++ if (smart_rename (tmpname, input_filename, preserve_dates))
++ status = 1;
+ }
+ else
+ unlink_if_ordinary (tmpname);
diff --git a/recipes/binutils/binutils-2.19.51.0.3/binutils-arm-pr7093.patch b/recipes/binutils/binutils-2.19.51.0.3/binutils-arm-pr7093.patch
new file mode 100644
index 0000000000..ad4a556e0f
--- /dev/null
+++ b/recipes/binutils/binutils-2.19.51.0.3/binutils-arm-pr7093.patch
@@ -0,0 +1,19 @@
+Index: binutils/bfd/elf32-arm.c
+===================================================================
+RCS file: /cvs/src/src/bfd/elf32-arm.c,v
+retrieving revision 1.162
+retrieving revision 1.163
+diff -u -r1.162 -r1.163
+--- binutils/bfd/elf32-arm.c 23 Dec 2008 09:01:45 -0000 1.162
++++ binutils/bfd/elf32-arm.c 23 Dec 2008 11:46:17 -0000 1.163
+@@ -4608,6 +4608,10 @@
+ Elf_Internal_Shdr *hdr;
+ unsigned int i, localsyms;
+
++ /* PR 7093: Make sure that we are dealing with an arm elf binary. */
++ if (! is_arm_elf (abfd))
++ return;
++
+ if ((abfd->flags & DYNAMIC) != 0)
+ return;
+
diff --git a/recipes/binutils/binutils-2.19.51.0.3/binutils-uclibc-100-uclibc-conf.patch b/recipes/binutils/binutils-2.19.51.0.3/binutils-uclibc-100-uclibc-conf.patch
new file mode 100644
index 0000000000..8de04e0fe0
--- /dev/null
+++ b/recipes/binutils/binutils-2.19.51.0.3/binutils-uclibc-100-uclibc-conf.patch
@@ -0,0 +1,34 @@
+--- binutils-2.18.orig/configure
++++ binutils-2.18/configure
+@@ -2206,7 +2206,7 @@
+ am33_2.0-*-linux*)
+ noconfigdirs="$noconfigdirs ${libgcj} target-newlib target-libgloss"
+ ;;
+- sh-*-linux*)
++ sh*-*-linux*)
+ noconfigdirs="$noconfigdirs ${libgcj} target-newlib target-libgloss"
+ ;;
+ sh*-*-pe|mips*-*-pe|*arm-wince-pe)
+@@ -2504,7 +2504,7 @@
+ romp-*-*)
+ noconfigdirs="$noconfigdirs bfd binutils ld gas opcodes target-libgloss ${libgcj}"
+ ;;
+- sh-*-* | sh64-*-*)
++ sh*-*-* | sh64-*-*)
+ case "${host}" in
+ i[3456789]86-*-vsta) ;; # don't add gprof back in
+ i[3456789]86-*-go32*) ;; # don't add gprof back in
+--- binutils-2.18.orig/gprof/configure
++++ binutils-2.18/gprof/configure
+@@ -4124,6 +4124,11 @@
+ lt_cv_deplibs_check_method=pass_all
+ ;;
+
++linux-uclibc*)
++ lt_cv_deplibs_check_method=pass_all
++ lt_cv_file_magic_test_file=`echo /lib/libuClibc-*.so`
++ ;;
++
+ netbsd*)
+ if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then
+ lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|_pic\.a)$'
diff --git a/recipes/binutils/binutils-2.19.51.0.3/binutils-uclibc-300-001_ld_makefile_patch.patch b/recipes/binutils/binutils-2.19.51.0.3/binutils-uclibc-300-001_ld_makefile_patch.patch
new file mode 100644
index 0000000000..04a7e61e25
--- /dev/null
+++ b/recipes/binutils/binutils-2.19.51.0.3/binutils-uclibc-300-001_ld_makefile_patch.patch
@@ -0,0 +1,50 @@
+#!/bin/sh -e
+## 001_ld_makefile_patch.dpatch
+##
+## All lines beginning with `## DP:' are a description of the patch.
+## DP: Description: correct where ld scripts are installed
+## DP: Author: Chris Chimelis <chris@debian.org>
+## DP: Upstream status: N/A
+## DP: Date: ??
+
+if [ $# -ne 1 ]; then
+ echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
+ exit 1
+fi
+
+[ -f debian/patches/00patch-opts ] && . debian/patches/00patch-opts
+patch_opts="${patch_opts:--f --no-backup-if-mismatch}"
+
+case "$1" in
+ -patch) patch $patch_opts -p1 < $0;;
+ -unpatch) patch $patch_opts -p1 -R < $0;;
+ *)
+ echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
+ exit 1;;
+esac
+
+exit 0
+
+@DPATCH@
+--- binutils-2.16.91.0.1/ld/Makefile.am
++++ binutils-2.16.91.0.1/ld/Makefile.am
+@@ -20,7 +20,7 @@
+ # We put the scripts in the directory $(scriptdir)/ldscripts.
+ # We can't put the scripts in $(datadir) because the SEARCH_DIR
+ # directives need to be different for native and cross linkers.
+-scriptdir = $(tooldir)/lib
++scriptdir = $(libdir)
+
+ EMUL = @EMUL@
+ EMULATION_OFILES = @EMULATION_OFILES@
+--- binutils-2.16.91.0.1/ld/Makefile.in
++++ binutils-2.16.91.0.1/ld/Makefile.in
+@@ -268,7 +268,7 @@
+ # We put the scripts in the directory $(scriptdir)/ldscripts.
+ # We can't put the scripts in $(datadir) because the SEARCH_DIR
+ # directives need to be different for native and cross linkers.
+-scriptdir = $(tooldir)/lib
++scriptdir = $(libdir)
+ BASEDIR = $(srcdir)/..
+ BFDDIR = $(BASEDIR)/bfd
+ INCDIR = $(BASEDIR)/include
diff --git a/recipes/binutils/binutils-2.19.51.0.3/binutils-uclibc-300-006_better_file_error.patch b/recipes/binutils/binutils-2.19.51.0.3/binutils-uclibc-300-006_better_file_error.patch
new file mode 100644
index 0000000000..f337611edf
--- /dev/null
+++ b/recipes/binutils/binutils-2.19.51.0.3/binutils-uclibc-300-006_better_file_error.patch
@@ -0,0 +1,43 @@
+#!/bin/sh -e
+## 006_better_file_error.dpatch by David Kimdon <dwhedon@gordian.com>
+##
+## All lines beginning with `## DP:' are a description of the patch.
+## DP: Specify which filename is causing an error if the filename is a
+## DP: directory. (#45832)
+
+if [ $# -ne 1 ]; then
+ echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
+ exit 1
+fi
+
+[ -f debian/patches/00patch-opts ] && . debian/patches/00patch-opts
+patch_opts="${patch_opts:--f --no-backup-if-mismatch}"
+
+case "$1" in
+ -patch) patch $patch_opts -p1 < $0;;
+ -unpatch) patch $patch_opts -p1 -R < $0;;
+ *)
+ echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
+ exit 1;;
+esac
+
+exit 0
+
+@DPATCH@
+diff -urNad /home/james/debian/packages/binutils/binutils-2.14.90.0.6/bfd/opncls.c binutils-2.14.90.0.6/bfd/opncls.c
+--- /home/james/debian/packages/binutils/binutils-2.14.90.0.6/bfd/opncls.c 2003-07-23 16:08:09.000000000 +0100
++++ binutils-2.14.90.0.6/bfd/opncls.c 2003-09-10 22:35:00.000000000 +0100
+@@ -150,6 +150,13 @@
+ {
+ bfd *nbfd;
+ const bfd_target *target_vec;
++ struct stat s;
++
++ if (stat (filename, &s) == 0)
++ if (S_ISDIR(s.st_mode)) {
++ bfd_set_error (bfd_error_file_not_recognized);
++ return NULL;
++ }
+
+ nbfd = _bfd_new_bfd ();
+ if (nbfd == NULL)
diff --git a/recipes/binutils/binutils-2.19.51.0.3/binutils-uclibc-300-012_check_ldrunpath_length.patch b/recipes/binutils/binutils-2.19.51.0.3/binutils-uclibc-300-012_check_ldrunpath_length.patch
new file mode 100644
index 0000000000..498651a90c
--- /dev/null
+++ b/recipes/binutils/binutils-2.19.51.0.3/binutils-uclibc-300-012_check_ldrunpath_length.patch
@@ -0,0 +1,47 @@
+#!/bin/sh -e
+## 012_check_ldrunpath_length.dpatch by Chris Chimelis <chris@debian.org>
+##
+## All lines beginning with `## DP:' are a description of the patch.
+## DP: Only generate an RPATH entry if LD_RUN_PATH is not empty, for
+## DP: cases where -rpath isn't specified. (#151024)
+
+if [ $# -ne 1 ]; then
+ echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
+ exit 1
+fi
+
+[ -f debian/patches/00patch-opts ] && . debian/patches/00patch-opts
+patch_opts="${patch_opts:--f --no-backup-if-mismatch}"
+
+case "$1" in
+ -patch) patch $patch_opts -p1 < $0;;
+ -unpatch) patch $patch_opts -p1 -R < $0;;
+ *)
+ echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
+ exit 1;;
+esac
+
+exit 0
+
+@DPATCH@
+diff -urNad /home/james/debian/packages/binutils/new/binutils-2.15/ld/emultempl/elf32.em binutils-2.15/ld/emultempl/elf32.em
+--- /home/james/debian/packages/binutils/new/binutils-2.15/ld/emultempl/elf32.em 2004-05-21 23:12:58.000000000 +0100
++++ binutils-2.15/ld/emultempl/elf32.em 2004-05-21 23:12:59.000000000 +0100
+@@ -692,6 +692,8 @@
+ && command_line.rpath == NULL)
+ {
+ lib_path = (const char *) getenv ("LD_RUN_PATH");
++ if ((lib_path) && (strlen (lib_path) == 0))
++ lib_path = NULL;
+ if (gld${EMULATION_NAME}_search_needed (lib_path, &n,
+ force))
+ break;
+@@ -871,6 +873,8 @@
+ rpath = command_line.rpath;
+ if (rpath == NULL)
+ rpath = (const char *) getenv ("LD_RUN_PATH");
++ if ((rpath) && (strlen (rpath) == 0))
++ rpath = NULL;
+ if (! (bfd_elf_size_dynamic_sections
+ (output_bfd, command_line.soname, rpath,
+ command_line.filter_shlib,
diff --git a/recipes/binutils/binutils-2.19.51.0.3/binutils-uclibc-gas-needs-libm.patch b/recipes/binutils/binutils-2.19.51.0.3/binutils-uclibc-gas-needs-libm.patch
new file mode 100644
index 0000000000..db838cf20c
--- /dev/null
+++ b/recipes/binutils/binutils-2.19.51.0.3/binutils-uclibc-gas-needs-libm.patch
@@ -0,0 +1,38 @@
+Source: Khem Raj <raj.khem@gmail.com>
+Disposition: submit upstream.
+
+Description:
+
+We do not need to have the libtool patch anymore for binutils after
+libtool has been updated upstream it include support for it. However
+for building gas natively on uclibc systems we have to link it with
+-lm so that it picks up missing symbols.
+
+/local/build_area/BUILD/arm_v5t_le_uclibc/binutils-2.17.50/objdir/libiberty/pic/libiberty.a(floatformat.o): In function `floatformat_from_double':
+floatformat.c:(.text+0x1ec): undefined reference to `frexp'
+floatformat.c:(.text+0x2f8): undefined reference to `ldexp'
+/local/build_area/BUILD/arm_v5t_le_uclibc/binutils-2.17.50/objdir/libiberty/pic/libiberty.a(floatformat.o): In function `floatformat_to_double':
+floatformat.c:(.text+0x38a): undefined reference to `ldexp'
+floatformat.c:(.text+0x3d2): undefined reference to `ldexp'
+floatformat.c:(.text+0x43e): undefined reference to `ldexp' floatformat.c:(.text+0x4e2): undefined reference to `ldexp'
+collect2: ld returned 1 exit status
+make[4]: *** [as-new] Error 1
+
+Index: binutils-2.17.50/gas/configure.tgt
+===================================================================
+--- binutils-2.17.50.orig/gas/configure.tgt
++++ binutils-2.17.50/gas/configure.tgt
+@@ -408,6 +408,12 @@ case ${generic_target} in
+ *-*-netware) fmt=elf em=netware ;;
+ esac
+
++case ${generic_target} in
++ arm-*-*uclibc*)
++ need_libm=yes
++ ;;
++esac
++
+ case ${cpu_type} in
+ alpha | arm | i386 | ia64 | mips | ns32k | pdp11 | ppc | sparc | z80 | z8k)
+ bfd_gas=yes
+
diff --git a/recipes/binutils/binutils-avr32.inc b/recipes/binutils/binutils-avr32.inc
index bbae784011..2aa5e3feb5 100644
--- a/recipes/binutils/binutils-avr32.inc
+++ b/recipes/binutils/binutils-avr32.inc
@@ -2,6 +2,7 @@
# See http://avr32linux.org/twiki/bin/view/Main/BinutilsPatches for
# more information
+DEPENDS += "autoconf-native automake-native"
do_avr32_reconf () {
if test ${TARGET_ARCH} == avr32; then
diff --git a/recipes/binutils/binutils-canadian-sdk_2.18.50.0.7.bb b/recipes/binutils/binutils-canadian-sdk_2.18.50.0.7.bb
new file mode 100644
index 0000000000..e44e7b7144
--- /dev/null
+++ b/recipes/binutils/binutils-canadian-sdk_2.18.50.0.7.bb
@@ -0,0 +1,32 @@
+SECTION = "devel"
+require binutils_${PV}.bb
+inherit canadian-sdk
+
+DEPENDS="\
+ virtual/${HOST_PREFIX}binutils \
+ virtual/${HOST_PREFIX}gcc \
+ flex-native bison-native \
+"
+
+FILESDIR = "${@os.path.dirname(bb.data.getVar('FILE',d,1))}/binutils-${PV}"
+# On MinGW hosts we want to prepend a drive letter, in ${SDK_REALPATH_MINGW}
+# to the sysroot path.
+SYSROOT = "${@['${SDK_REALPATH}/${TARGET_SYS}', '${SDK_REALPATH_MINGW}${SDK_REALPATH}/${TARGET_SYS}'][bb.data.getVar('SDK_OS', d, 1) in ['mingw32', 'mingw64']]}"
+EXTRA_OECONF = "--with-sysroot=${SYSROOT} \
+ --program-prefix=${TARGET_PREFIX}"
+PR = "r4"
+
+FILES_${PN}-dbg += "${prefix}/${TARGET_SYS}/bin/.debug"
+
+do_stage() {
+ :
+}
+
+do_install () {
+ autotools_do_install
+
+ # Install the libiberty header
+ install -d ${D}${includedir}
+ install -m 644 ${S}/include/ansidecl.h ${D}${includedir}
+ install -m 644 ${S}/include/libiberty.h ${D}${includedir}
+}
diff --git a/recipes/binutils/binutils-canadian-sdk_2.18.bb b/recipes/binutils/binutils-canadian-sdk_2.18.bb
index e44e7b7144..96726f82a8 100644
--- a/recipes/binutils/binutils-canadian-sdk_2.18.bb
+++ b/recipes/binutils/binutils-canadian-sdk_2.18.bb
@@ -2,11 +2,7 @@ SECTION = "devel"
require binutils_${PV}.bb
inherit canadian-sdk
-DEPENDS="\
- virtual/${HOST_PREFIX}binutils \
- virtual/${HOST_PREFIX}gcc \
- flex-native bison-native \
-"
+DEPENDS = "flex-native bison-native"
FILESDIR = "${@os.path.dirname(bb.data.getVar('FILE',d,1))}/binutils-${PV}"
# On MinGW hosts we want to prepend a drive letter, in ${SDK_REALPATH_MINGW}
diff --git a/recipes/binutils/binutils-cross-sdk_2.19.51.0.3.bb b/recipes/binutils/binutils-cross-sdk_2.19.51.0.3.bb
new file mode 100644
index 0000000000..76dff5449f
--- /dev/null
+++ b/recipes/binutils/binutils-cross-sdk_2.19.51.0.3.bb
@@ -0,0 +1,3 @@
+require binutils_${PV}.bb
+require binutils-cross-sdk.inc
+PR = "r0"
diff --git a/recipes/binutils/binutils-cross_2.19.51.0.3.bb b/recipes/binutils/binutils-cross_2.19.51.0.3.bb
new file mode 100644
index 0000000000..b78a30ac47
--- /dev/null
+++ b/recipes/binutils/binutils-cross_2.19.51.0.3.bb
@@ -0,0 +1,4 @@
+FILESDIR = "${@os.path.dirname(bb.data.getVar('FILE',d,1))}/binutils-${PV}"
+require binutils_${PV}.bb
+require binutils-cross.inc
+
diff --git a/recipes/binutils/binutils_2.17.bb b/recipes/binutils/binutils_2.17.bb
index 0f0b5d654d..fdee8a56ec 100644
--- a/recipes/binutils/binutils_2.17.bb
+++ b/recipes/binutils/binutils_2.17.bb
@@ -1,7 +1,7 @@
require binutils.inc
require binutils-avr32.inc
-PR = "r6"
+PR = "r7"
SRC_URI = \
"http://ftp.gnu.org/gnu/binutils/binutils-${PV}.tar.bz2 \
diff --git a/recipes/binutils/binutils_2.19.51.0.3.bb b/recipes/binutils/binutils_2.19.51.0.3.bb
new file mode 100644
index 0000000000..7808d3b534
--- /dev/null
+++ b/recipes/binutils/binutils_2.19.51.0.3.bb
@@ -0,0 +1,19 @@
+PR = "r0"
+
+require binutils.inc
+
+SRC_URI = "\
+ ${KERNELORG_MIRROR}/pub/linux/devel/binutils/binutils-${PV}.tar.bz2 \
+ file://binutils-2.16.91.0.6-objcopy-rename-errorcode.patch;patch=1 \
+ file://binutils-uclibc-100-uclibc-conf.patch;patch=1 \
+ file://110-arm-eabi-conf.patch;patch=1 \
+ file://binutils-uclibc-300-001_ld_makefile_patch.patch;patch=1 \
+ file://binutils-uclibc-300-006_better_file_error.patch;patch=1 \
+ file://binutils-uclibc-300-012_check_ldrunpath_length.patch;patch=1 \
+ file://binutils-uclibc-gas-needs-libm.patch;patch=1 \
+ file://binutils-arm-pr7093.patch;patch=1 \
+ "
+
+# powerpc patches
+SRC_URI += "file://binutils-2.16.1-e300c2c3.patch;patch=1"
+
diff --git a/recipes/bluez/bluez4_4.35.bb b/recipes/bluez/bluez4_4.35.bb
index fec1411d00..ce9c5a36ea 100644
--- a/recipes/bluez/bluez4_4.35.bb
+++ b/recipes/bluez/bluez4_4.35.bb
@@ -6,7 +6,8 @@ HOMEPAGE = "http://www.bluez.org"
LICENSE = "GPL"
# For angstrom we want this to replace at least bluez-libs
-PROVIDES_append_angstrom = " bluez-libs"
+PROVIDES_append_angstrom = " bluez-utils bluez-libs"
+
PR = "r1"
diff --git a/recipes/bluez/bluez4_4.37.bb b/recipes/bluez/bluez4_4.37.bb
new file mode 100644
index 0000000000..c28f260761
--- /dev/null
+++ b/recipes/bluez/bluez4_4.37.bb
@@ -0,0 +1,64 @@
+DESCRIPTION = "Linux Bluetooth Stack Userland V4"
+SECTION = "libs"
+PRIORITY = "optional"
+DEPENDS = "gst-plugins-base alsa-lib libusb-compat dbus-glib"
+HOMEPAGE = "http://www.bluez.org"
+LICENSE = "GPL"
+
+# For angstrom we want this to replace at least bluez-libs
+PROVIDES_append_angstrom = " bluez-utils bluez-libs"
+
+SRC_URI = "\
+ http://www.kernel.org/pub/linux/bluetooth/bluez-${PV}.tar.gz \
+ file://fix-dfutool-usb-declaration-mismatch.patch;patch=1 \
+ file://sbc-thumb.patch;patch=1 \
+ file://bluetooth.conf \
+"
+S = "${WORKDIR}/bluez-${PV}"
+
+inherit autotools_stage
+AUTOTOOLS_STAGE_PKGCONFIG = "1"
+
+EXTRA_OECONF = "\
+ --enable-gstreamer \
+ --enable-alsa \
+ --enable-usb \
+ --enable-netlink \
+ --enable-tools \
+ --enable-bccmd \
+ --enable-hid2hci \
+ --enable-dfutool \
+ --enable-hidd \
+ --enable-pandd \
+ --enable-dund \
+ --disable-cups \
+ --enable-test \
+ --enable-manpages \
+ --enable-configfiles \
+ --enable-initscripts \
+ --disable-pcmciarules \
+"
+
+do_install_append() {
+ install -m 0644 ${S}/audio/audio.conf ${D}/${sysconfdir}/bluetooth/
+ install -m 0644 ${S}/network/network.conf ${D}/${sysconfdir}/bluetooth/
+ install -m 0644 ${S}/input/input.conf ${D}/${sysconfdir}/bluetooth/
+ # at_console doesn't really work with the current state of OE, so punch some more holes so people can actually use BT
+ install -m 0644 ${WORKDIR}/bluetooth.conf ${D}/${sysconfdir}/dbus-1/system.d/
+}
+
+PACKAGES =+ "gst-plugin-bluez libasound-module-bluez"
+
+FILES_gst-plugin-bluez = "${libdir}/gstreamer-0.10/lib*.so"
+FILES_libasound-module-bluez = "${libdir}/alsa-lib/lib*.so"
+FILES_${PN} += "${libdir}/bluetooth/plugins/*.so"
+FILES_${PN}-dev += "\
+ ${libdir}/bluetooth/plugins/*.la \
+ ${libdir}/alsa-lib/*.la \
+ ${libdir}/gstreamer-0.10/*.la \
+"
+
+FILES_${PN}-dbg += "\
+ ${libdir}/bluetooth/plugins/.debug \
+ ${libdir}/*/.debug \
+"
diff --git a/recipes/bustle/bustle-dbus-monitor_0.2.0.bb b/recipes/bustle/bustle-dbus-monitor_0.2.0.bb
new file mode 100644
index 0000000000..4d4768f4de
--- /dev/null
+++ b/recipes/bustle/bustle-dbus-monitor_0.2.0.bb
@@ -0,0 +1,19 @@
+DESCRIPTION = "The monitoring utilitiy for the Bustle D-Bus diagram application."
+HOMEPAGE = "http://www.willthompson.co.uk/bustle"
+DEPENDS = "dbus glib-2.0"
+LICENSE = "LGPL"
+SECTION = "console/network"
+
+SRC_URI = "http://www.willthompson.co.uk/bustle/releases/bustle-${PV}.tar.gz"
+S = "${WORKDIR}/bustle-${PV}"
+
+do_compile() {
+ ${CC} ${CFLAGS} ${LDFLAGS} `pkg-config --cflags --libs dbus-1 glib-2.0` -o bustle-dbus-monitor bustle-dbus-monitor.c
+}
+
+do_install() {
+ install -d ${D}${sbindir}
+ install -m 0755 bustle-dbus-monitor ${D}${sbindir}
+}
+
+FILES_${PN} += "${sbindir}"
diff --git a/recipes/busybox/files/busybox-appletlib-dependency.patch b/recipes/busybox/files/busybox-appletlib-dependency.patch
index 85a61e8cf5..3efd4c0882 100644
--- a/recipes/busybox/files/busybox-appletlib-dependency.patch
+++ b/recipes/busybox/files/busybox-appletlib-dependency.patch
@@ -1,11 +1,15 @@
---- a/libbb/Kbuild 2008-11-09 20:28:09.000000000 +0300
-+++ b/libbb/Kbuild 2009-02-17 17:41:48.718747865 +0300
-@@ -147,3 +147,8 @@ lib-$(CONFIG_PGREP) += xregcomp.o
- lib-$(CONFIG_PKILL) += xregcomp.o
- lib-$(CONFIG_DEVFSD) += xregcomp.o
- lib-$(CONFIG_FEATURE_FIND_REGEX) += xregcomp.o
+Index: busybox-1.13.2/Makefile
+===================================================================
+--- busybox-1.13.2.orig/Makefile 2009-03-19 15:44:37.419270265 +0300
++++ busybox-1.13.2/Makefile 2009-03-19 15:45:57.737521296 +0300
+@@ -471,6 +471,10 @@
+ util-linux/ \
+ util-linux/volume_id/ \
+
++# Lib interdeps
++# libbb uses headers generated in applets
++libbb: applets
+
-+libbb/appletlib.o: include/usage_compressed.h include/applet_tables.h
-+
-+include/usage_compressed.h include/applet_tables.h:
-+ $(Q)$(MAKE) $(build)=applets $@
+ endif # KBUILD_EXTMOD
+
+ ifeq ($(dot-config),1)
diff --git a/recipes/clamav/clamav.inc b/recipes/clamav/clamav.inc
index 49b8023a53..5b2069e739 100644
--- a/recipes/clamav/clamav.inc
+++ b/recipes/clamav/clamav.inc
@@ -19,7 +19,6 @@ RRECOMMENDS_${PN}-daemon = "${PN}-freshclam"
RPROVIDES_${PN}-freshclam = "${PN}-data"
SRC_URI = "${SOURCEFORGE_MIRROR}/clamav/clamav-${PV}.tar.gz \
- file://cross-compile-fix.patch;patch=1 \
file://clamav-daemon.init \
file://clamav-freshclam.init \
file://clamd.conf \
@@ -67,10 +66,11 @@ do_stage () {
PACKAGES += "${PN}-freshclam ${PN}-daemon ${PN}-conf ${PN}-data ${PN}-lib \
${PN}-clamconf"
+LEAD_SONAME = "libclamav.so.*"
FILES_${PN} = "${bindir}/clamscan \
${bindir}/sigtool \
${bindir}/clamdscan"
-FILES_${PN}-lib = "${libdir}/libclamav.so.*"
+FILES_${PN}-lib = "${libdir}/libclamav.so.* ${libdir}/libclamunrar.so* ${libdir}/libclamunrar_iface.so*"
FILES_${PN}-conf = "${sysconfdir}/clamd.conf"
FILES_${PN}-clamconf = "${bindir}/clamconf"
FILES_${PN}-freshclam = "${bindir}/freshclam \
diff --git a/recipes/clamav/clamav_0.90.2.bb b/recipes/clamav/clamav_0.90.2.bb
index 9592adf914..740c02a90e 100644
--- a/recipes/clamav/clamav_0.90.2.bb
+++ b/recipes/clamav/clamav_0.90.2.bb
@@ -1,3 +1,5 @@
require clamav.inc
+SRC_URI += "file://cross-compile-fix.patch;patch=1"
+
PR = "r2"
diff --git a/recipes/clamav/clamav_0.90.3.bb b/recipes/clamav/clamav_0.90.3.bb
index e721558efe..2227f01f07 100644
--- a/recipes/clamav/clamav_0.90.3.bb
+++ b/recipes/clamav/clamav_0.90.3.bb
@@ -1,3 +1,5 @@
require clamav.inc
+SRC_URI += "file://cross-compile-fix.patch;patch=1"
+
PR = "r1"
diff --git a/recipes/clamav/clamav_0.91.1.bb b/recipes/clamav/clamav_0.91.1.bb
index e721558efe..2227f01f07 100644
--- a/recipes/clamav/clamav_0.91.1.bb
+++ b/recipes/clamav/clamav_0.91.1.bb
@@ -1,3 +1,5 @@
require clamav.inc
+SRC_URI += "file://cross-compile-fix.patch;patch=1"
+
PR = "r1"
diff --git a/recipes/clamav/clamav_0.94.2.bb b/recipes/clamav/clamav_0.94.2.bb
new file mode 100644
index 0000000000..12fad7afab
--- /dev/null
+++ b/recipes/clamav/clamav_0.94.2.bb
@@ -0,0 +1,3 @@
+require clamav.inc
+
+EXTRA_OECONF += "--program-transform-name=''"
diff --git a/recipes/dbus/dbus.inc b/recipes/dbus/dbus.inc
index 047b33a71c..2a4b19699f 100644
--- a/recipes/dbus/dbus.inc
+++ b/recipes/dbus/dbus.inc
@@ -27,7 +27,7 @@ EXTRA_OECONF = "\
--disable-doxygen-docs \
--with-xml=expat \
--with-x \
- --with-dbus-default-reply-timeout=60000 \
+ --with-dbus-default-reply-timeout=200000 \
"
do_install_append() {
diff --git a/recipes/dbus/dbus_1.2.1.bb b/recipes/dbus/dbus_1.2.1.bb
index 2a663f4bfa..7746c40062 100644
--- a/recipes/dbus/dbus_1.2.1.bb
+++ b/recipes/dbus/dbus_1.2.1.bb
@@ -1,3 +1,3 @@
include dbus.inc
-PR = "r10"
+PR = "r11"
diff --git a/recipes/dialog/dialog-1.0-20050306/configure.patch b/recipes/dialog/dialog-1.0-20050306/configure.patch
deleted file mode 100644
index 754243ad45..0000000000
--- a/recipes/dialog/dialog-1.0-20050306/configure.patch
+++ /dev/null
@@ -1,37 +0,0 @@
-
-#
-# Patch managed by http://www.mn-logistik.de/unsupported/pxa250/patcher
-#
-
---- dialog-0.9b-20031207/configure.in~configure
-+++ dialog-0.9b-20031207/configure.in
-@@ -6,6 +6,8 @@
- AC_CONFIG_HEADER(dlg_config.h:config.hin)
-
- CF_VERSION_INFO(dialog)
-+AH_TEMPLATE([DIALOG_VERSION], [Define to dialog version])
-+AH_TEMPLATE([DIALOG_PATCHDATE], [Define to dialog patchdate])
-
- DESTDIR=
- AC_SUBST(DESTDIR)
-@@ -146,6 +148,20 @@
- wget_wch \
- )
-
-+AH_TEMPLATE([HAVE_COLOR],
-+ [Define if you have the start_color function])
-+AH_TEMPLATE([HAVE_FORMBOX],
-+ [Define if you want the form dialog])
-+AH_TEMPLATE([HAVE_GAUGE],
-+ [Define if you want the gauge dialog])
-+AH_TEMPLATE([HAVE_TAILBOX],
-+ [Define if you want the tailbox dialog])
-+AH_TEMPLATE([HAVE_XDIALOG],
-+ [Define if you want Xdialog-style dialogs])
-+AH_TEMPLATE([HAVE_RC_FILE],
-+ [Define if you want the config-file support])
-+AH_TEMPLATE([USE_WIDE_CURSES], [Define if using wide curses])
-+
- AC_CHECK_FUNC(start_color,[AC_DEFINE(HAVE_COLOR)])
- CF_CURSES_CHTYPE
- CF_FUNC_WAIT
diff --git a/recipes/dialog/dialog-1.0-20050306/m4.patch b/recipes/dialog/dialog-1.0-20050306/m4.patch
deleted file mode 100644
index d7701b1770..0000000000
--- a/recipes/dialog/dialog-1.0-20050306/m4.patch
+++ /dev/null
@@ -1,6979 +0,0 @@
-
-#
-# Patch managed by http://www.mn-logistik.de/unsupported/pxa250/patcher
-#
-
-Index: dialog-1.0-20050306/acinclude.m4
-===================================================================
---- /dev/null 1970-01-01 00:00:00.000000000 +0000
-+++ dialog-1.0-20050306/acinclude.m4 2005-05-16 01:32:07.000000000 +0200
-@@ -0,0 +1,1953 @@
-+dnl ---------------------------------------------------------------------------
-+dnl CF_AC_PREREQ version: 2 updated: 1997/09/06 13:24:56
-+dnl ------------
-+dnl Conditionally generate script according to whether we're using the release
-+dnl version of autoconf, or a patched version (using the ternary component as
-+dnl the patch-version).
-+define(CF_AC_PREREQ,
-+[CF_PREREQ_COMPARE(
-+AC_PREREQ_CANON(AC_PREREQ_SPLIT(AC_ACVERSION)),
-+AC_PREREQ_CANON(AC_PREREQ_SPLIT([$1])), [$1], [$2], [$3])])dnl
-+dnl ---------------------------------------------------------------------------
-+dnl CF_ADD_INCDIR version: 4 updated: 2002/12/21 14:25:52
-+dnl -------------
-+dnl Add an include-directory to $CPPFLAGS. Don't add /usr/include, since it's
-+dnl redundant. We don't normally need to add -I/usr/local/include for gcc,
-+dnl but old versions (and some misinstalled ones) need that. To make things
-+dnl worse, gcc 3.x gives error messages if -I/usr/local/include is added to
-+dnl the include-path).
-+AC_DEFUN([CF_ADD_INCDIR],
-+[
-+for cf_add_incdir in $1
-+do
-+ while true
-+ do
-+ case $cf_add_incdir in
-+ /usr/include) # (vi
-+ ;;
-+ /usr/local/include) # (vi
-+ if test "$GCC" = yes
-+ then
-+ cf_save_CPPFLAGS="$CPPFLAGS"
-+ CPPFLAGS="$CPPFLAGS -I$cf_add_incdir"
-+ AC_TRY_COMPILE([#include <stdio.h>],
-+ [printf("Hello")],
-+ [],
-+ [CPPFLAGS="$cf_save_CPPFLAGS"])
-+ fi
-+ ;;
-+ *) # (vi
-+ CPPFLAGS="$CPPFLAGS -I$cf_add_incdir"
-+ ;;
-+ esac
-+ cf_top_incdir=`echo $cf_add_incdir | sed -e 's%/include/.*$%/include%'`
-+ test "$cf_top_incdir" = "$cf_add_incdir" && break
-+ cf_add_incdir="$cf_top_incdir"
-+ done
-+done
-+])dnl
-+dnl ---------------------------------------------------------------------------
-+dnl CF_ARG_DISABLE version: 3 updated: 1999/03/30 17:24:31
-+dnl --------------
-+dnl Allow user to disable a normally-on option.
-+AC_DEFUN([CF_ARG_DISABLE],
-+[CF_ARG_OPTION($1,[$2],[$3],[$4],yes)])dnl
-+dnl ---------------------------------------------------------------------------
-+dnl CF_ARG_ENABLE version: 3 updated: 1999/03/30 17:24:31
-+dnl -------------
-+dnl Allow user to enable a normally-off option.
-+AC_DEFUN([CF_ARG_ENABLE],
-+[CF_ARG_OPTION($1,[$2],[$3],[$4],no)])dnl
-+dnl ---------------------------------------------------------------------------
-+dnl CF_ARG_MSG_ENABLE version: 2 updated: 2000/07/29 19:32:03
-+dnl -----------------
-+dnl Verbose form of AC_ARG_ENABLE:
-+dnl
-+dnl Parameters:
-+dnl $1 = message
-+dnl $2 = option name
-+dnl $3 = help-string
-+dnl $4 = action to perform if option is enabled
-+dnl $5 = action if perform if option is disabled
-+dnl $6 = default option value (either 'yes' or 'no')
-+AC_DEFUN([CF_ARG_MSG_ENABLE],[
-+AC_MSG_CHECKING($1)
-+AC_ARG_ENABLE($2,[$3],,enableval=ifelse($6,,no,$6))
-+AC_MSG_RESULT($enableval)
-+if test "$enableval" != no ; then
-+ifelse($4,,[ :],$4)
-+else
-+ifelse($5,,[ :],$5)
-+fi
-+])dnl
-+dnl ---------------------------------------------------------------------------
-+dnl CF_ARG_OPTION version: 3 updated: 1997/10/18 14:42:41
-+dnl -------------
-+dnl Restricted form of AC_ARG_ENABLE that ensures user doesn't give bogus
-+dnl values.
-+dnl
-+dnl Parameters:
-+dnl $1 = option name
-+dnl $2 = help-string
-+dnl $3 = action to perform if option is not default
-+dnl $4 = action if perform if option is default
-+dnl $5 = default option value (either 'yes' or 'no')
-+AC_DEFUN([CF_ARG_OPTION],
-+[AC_ARG_ENABLE($1,[$2],[test "$enableval" != ifelse($5,no,yes,no) && enableval=ifelse($5,no,no,yes)
-+ if test "$enableval" != "$5" ; then
-+ifelse($3,,[ :]dnl
-+,[ $3]) ifelse($4,,,[
-+ else
-+ $4])
-+ fi],[enableval=$5 ifelse($4,,,[
-+ $4
-+])dnl
-+ ])])dnl
-+dnl ---------------------------------------------------------------------------
-+dnl CF_BUNDLED_INTL version: 10 updated: 2003/09/14 18:49:13
-+dnl ---------------
-+dnl Top-level macro for configuring an application with a bundled copy of
-+dnl the intl and po directories for gettext.
-+dnl
-+dnl $1 specifies either Makefile or makefile, defaulting to the former.
-+dnl $2 if nonempty sets the option to --enable-nls rather than to --disable-nls
-+dnl
-+dnl Sets variables which can be used to substitute in makefiles:
-+dnl INTLDIR_MAKE - to make ./intl directory
-+dnl MSG_DIR_MAKE - to make ./po directory
-+dnl SUB_MAKEFILE - list of makefiles in ./intl, ./po directories
-+dnl Defines
-+dnl HAVE_LIBGETTEXT_H if we're using ./intl
-+dnl
-+dnl Environment:
-+dnl ALL_LINGUAS if set, lists the root names of the ".po" files.
-+dnl CONFIG_H assumed to be "config.h"
-+dnl VERSION may be set, otherwise extract from "VERSION" file.
-+dnl
-+AH_TEMPLATE([HAVE_LIBGETTEXT_H], [Define if we're using ./intl.])
-+AC_DEFUN([CF_BUNDLED_INTL],[
-+cf_makefile=ifelse($1,,Makefile,$1)
-+
-+dnl Set of available languages (based on source distribution). Note that
-+dnl setting $LINGUAS overrides $ALL_LINGUAS. Some environments set $LINGUAS
-+dnl rather than $LC_ALL
-+test -z "$ALL_LINGUAS" && ALL_LINGUAS=`test -d $srcdir/po && cd $srcdir/po && echo *.po|sed -e 's/\.po//g' -e 's/*//'`
-+
-+# Allow override of "config.h" definition:
-+: ${CONFIG_H=config.h}
-+AC_SUBST(CONFIG_H)
-+
-+if test -z "$VERSION" ; then
-+if test -f $srcdir/VERSION ; then
-+ VERSION=`sed -e '2,$d' $srcdir/VERSION|cut -f1`
-+else
-+ VERSION=unknown
-+fi
-+fi
-+AC_SUBST(VERSION)
-+
-+AM_GNU_GETTEXT(,,,[$2])
-+
-+INTLDIR_MAKE=
-+MSG_DIR_MAKE=
-+SUB_MAKEFILE=
-+
-+dnl this updates SUB_MAKEFILE and MSG_DIR_MAKE:
-+CF_OUR_MESSAGES($1)
-+
-+if test "$USE_INCLUDED_LIBINTL" = yes ; then
-+ if test "$nls_cv_force_use_gnu_gettext" = yes ; then
-+ :
-+ elif test "$nls_cv_use_gnu_gettext" = yes ; then
-+ :
-+ else
-+ INTLDIR_MAKE="#"
-+ fi
-+ if test -z "$INTLDIR_MAKE"; then
-+ AC_DEFINE(HAVE_LIBGETTEXT_H)
-+ for cf_makefile in \
-+ $srcdir/intl/Makefile.in \
-+ $srcdir/intl/makefile.in
-+ do
-+ if test -f "$cf_makefile" ; then
-+ SUB_MAKEFILE="$SUB_MAKEFILE `echo ${cf_makefile}|sed -e 's/\.in$//'`:${cf_makefile}"
-+ break
-+ fi
-+ done
-+ fi
-+else
-+ INTLDIR_MAKE="#"
-+ if test "$USE_NLS" = yes ; then
-+ AC_CHECK_HEADERS(libintl.h)
-+ fi
-+fi
-+
-+if test -z "$INTLDIR_MAKE" ; then
-+ CPPFLAGS="-I../intl $CPPFLAGS"
-+fi
-+
-+dnl FIXME: we use this in lynx (the alternative is a spurious dependency upon
-+dnl GNU make)
-+if test "$BUILD_INCLUDED_LIBINTL" = yes ; then
-+ GT_YES="#"
-+ GT_NO=
-+else
-+ GT_YES=
-+ GT_NO="#"
-+fi
-+
-+AC_SUBST(INTLDIR_MAKE)
-+AC_SUBST(MSG_DIR_MAKE)
-+AC_SUBST(GT_YES)
-+AC_SUBST(GT_NO)
-+
-+dnl FIXME: the underlying AM_GNU_GETTEXT macro either needs some fixes or a
-+dnl little documentation. It doesn't define anything so that we can ifdef our
-+dnl own code, except ENABLE_NLS, which is too vague to be of any use.
-+
-+if test "$USE_INCLUDED_LIBINTL" = yes ; then
-+ if test "$nls_cv_force_use_gnu_gettext" = yes ; then
-+ AC_DEFINE(HAVE_GETTEXT)
-+ elif test "$nls_cv_use_gnu_gettext" = yes ; then
-+ AC_DEFINE(HAVE_GETTEXT)
-+ fi
-+ if test -n "$nls_cv_header_intl" ; then
-+ AC_DEFINE(HAVE_LIBINTL_H)
-+ fi
-+fi
-+])dnl
-+dnl ---------------------------------------------------------------------------
-+dnl CF_CHECK_CACHE version: 7 updated: 2001/12/19 00:50:10
-+dnl --------------
-+dnl Check if we're accidentally using a cache from a different machine.
-+dnl Derive the system name, as a check for reusing the autoconf cache.
-+dnl
-+dnl If we've packaged config.guess and config.sub, run that (since it does a
-+dnl better job than uname). Normally we'll use AC_CANONICAL_HOST, but allow
-+dnl an extra parameter that we may override, e.g., for AC_CANONICAL_SYSTEM
-+dnl which is useful in cross-compiles.
-+AC_DEFUN([CF_CHECK_CACHE],
-+[
-+if test -f $srcdir/config.guess ; then
-+ ifelse([$1],,[AC_CANONICAL_HOST],[$1])
-+ system_name="$host_os"
-+else
-+ system_name="`(uname -s -r) 2>/dev/null`"
-+ if test -z "$system_name" ; then
-+ system_name="`(hostname) 2>/dev/null`"
-+ fi
-+fi
-+AH_TEMPLATE([SYSTEM_NAME], [Set to the system name])
-+test -n "$system_name" && AC_DEFINE_UNQUOTED(SYSTEM_NAME,"$system_name")
-+AC_CACHE_VAL(cf_cv_system_name,[cf_cv_system_name="$system_name"])
-+
-+test -z "$system_name" && system_name="$cf_cv_system_name"
-+test -n "$cf_cv_system_name" && AC_MSG_RESULT(Configuring for $cf_cv_system_name)
-+
-+if test ".$system_name" != ".$cf_cv_system_name" ; then
-+ AC_MSG_RESULT(Cached system name ($system_name) does not agree with actual ($cf_cv_system_name))
-+ AC_ERROR("Please remove config.cache and try again.")
-+fi
-+])dnl
-+dnl ---------------------------------------------------------------------------
-+dnl CF_CURSES_CHTYPE version: 6 updated: 2003/11/06 19:59:57
-+dnl ----------------
-+dnl Test if curses defines 'chtype' (usually a 'long' type for SysV curses).
-+AH_TEMPLATE([HAVE_TYPE_CHTYPE], [Define if curses defines 'chtype'.])
-+AH_TEMPLATE([TYPE_CHTYPE_IS_SCALAR], [Define if chtype is scalar rather than a struct.])
-+AC_DEFUN([CF_CURSES_CHTYPE],
-+[
-+AC_REQUIRE([CF_CURSES_CPPFLAGS])dnl
-+AC_CACHE_CHECK(for chtype typedef,cf_cv_chtype_decl,[
-+ AC_TRY_COMPILE([#include <${cf_cv_ncurses_header-curses.h}>],
-+ [chtype foo],
-+ [cf_cv_chtype_decl=yes],
-+ [cf_cv_chtype_decl=no])])
-+if test $cf_cv_chtype_decl = yes ; then
-+ AC_DEFINE(HAVE_TYPE_CHTYPE)
-+ AC_CACHE_CHECK(if chtype is scalar or struct,cf_cv_chtype_type,[
-+ AC_TRY_COMPILE([#include <${cf_cv_ncurses_header-curses.h}>],
-+ [chtype foo; long x = foo],
-+ [cf_cv_chtype_type=scalar],
-+ [cf_cv_chtype_type=struct])])
-+ if test $cf_cv_chtype_type = scalar ; then
-+ AC_DEFINE(TYPE_CHTYPE_IS_SCALAR)
-+ fi
-+fi
-+])dnl
-+dnl ---------------------------------------------------------------------------
-+dnl CF_CURSES_CPPFLAGS version: 7 updated: 2003/06/06 00:48:41
-+dnl ------------------
-+dnl Look for the curses headers.
-+AC_DEFUN([CF_CURSES_CPPFLAGS],[
-+
-+AC_CACHE_CHECK(for extra include directories,cf_cv_curses_incdir,[
-+cf_cv_curses_incdir=no
-+case $host_os in #(vi
-+hpux10.*|hpux11.*) #(vi
-+ test -d /usr/include/curses_colr && \
-+ cf_cv_curses_incdir="-I/usr/include/curses_colr"
-+ ;;
-+sunos3*|sunos4*)
-+ test -d /usr/5lib && \
-+ test -d /usr/5include && \
-+ cf_cv_curses_incdir="-I/usr/5include"
-+ ;;
-+esac
-+])
-+test "$cf_cv_curses_incdir" != no && CPPFLAGS="$cf_cv_curses_incdir $CPPFLAGS"
-+
-+AC_CACHE_CHECK(if we have identified curses headers,cf_cv_ncurses_header,[
-+cf_cv_ncurses_header=none
-+for cf_header in \
-+ curses.h \
-+ ncurses.h \
-+ ncurses/curses.h \
-+ ncurses/ncurses.h
-+do
-+AC_TRY_COMPILE([#include <${cf_header}>],
-+ [initscr(); tgoto("?", 0,0)],
-+ [cf_cv_ncurses_header=$cf_header; break],[])
-+done
-+])
-+
-+if test "$cf_cv_ncurses_header" = none ; then
-+ AC_MSG_ERROR(No curses header-files found)
-+fi
-+
-+# cheat, to get the right #define's for HAVE_NCURSES_H, etc.
-+AC_CHECK_HEADERS($cf_cv_ncurses_header)
-+
-+])dnl
-+dnl ---------------------------------------------------------------------------
-+dnl CF_CURSES_FUNCS version: 12 updated: 2003/11/06 19:59:57
-+dnl ---------------
-+dnl Curses-functions are a little complicated, since a lot of them are macros.
-+AC_DEFUN([CF_CURSES_FUNCS],
-+[
-+AC_REQUIRE([CF_CURSES_CPPFLAGS])dnl
-+AC_REQUIRE([CF_XOPEN_CURSES])
-+AC_REQUIRE([CF_CURSES_TERM_H])
-+for cf_func in $1
-+do
-+ CF_UPPER(cf_tr_func,$cf_func)
-+ AC_MSG_CHECKING(for ${cf_func})
-+ CF_MSG_LOG(${cf_func})
-+ AC_CACHE_VAL(cf_cv_func_$cf_func,[
-+ eval cf_result='$ac_cv_func_'$cf_func
-+ if test ".$cf_result" != ".no"; then
-+ AC_TRY_LINK([
-+#ifdef HAVE_XCURSES
-+#include <xcurses.h>
-+char * XCursesProgramName = "test";
-+#else
-+#include <${cf_cv_ncurses_header-curses.h}>
-+#if defined(NCURSES_VERSION) && defined(HAVE_NCURSESW_TERM_H)
-+#include <ncursesw/term.h>
-+#else
-+#if defined(NCURSES_VERSION) && defined(HAVE_NCURSES_TERM_H)
-+#include <ncurses/term.h>
-+#else
-+#ifdef HAVE_TERM_H
-+#include <term.h>
-+#endif
-+#endif
-+#endif
-+#endif],
-+ [
-+#ifndef ${cf_func}
-+long foo = (long)(&${cf_func});
-+exit(foo == 0);
-+#endif
-+ ],
-+ [cf_result=yes],
-+ [cf_result=no])
-+ fi
-+ eval 'cf_cv_func_'$cf_func'=$cf_result'
-+ ])
-+ # use the computed/retrieved cache-value:
-+ eval 'cf_result=$cf_cv_func_'$cf_func
-+ AC_MSG_RESULT($cf_result)
-+ if test $cf_result != no; then
-+ AC_DEFINE_UNQUOTED(HAVE_${cf_tr_func})
-+ fi
-+done
-+])dnl
-+dnl ---------------------------------------------------------------------------
-+dnl CF_CURSES_LIBS version: 23 updated: 2003/11/06 19:59:57
-+dnl --------------
-+dnl Look for the curses libraries. Older curses implementations may require
-+dnl termcap/termlib to be linked as well. Call CF_CURSES_CPPFLAGS first.
-+AC_DEFUN([CF_CURSES_LIBS],[
-+
-+AC_REQUIRE([CF_CURSES_CPPFLAGS])dnl
-+AC_MSG_CHECKING(if we have identified curses libraries)
-+AC_TRY_LINK([#include <${cf_cv_ncurses_header-curses.h}>],
-+ [initscr(); tgoto("?", 0,0)],
-+ cf_result=yes,
-+ cf_result=no)
-+AC_MSG_RESULT($cf_result)
-+
-+if test "$cf_result" = no ; then
-+case $host_os in #(vi
-+freebsd*) #(vi
-+ AC_CHECK_LIB(mytinfo,tgoto,[LIBS="-lmytinfo $LIBS"])
-+ ;;
-+hpux10.*|hpux11.*) #(vi
-+ AC_CHECK_LIB(cur_colr,initscr,[
-+ LIBS="-lcur_colr $LIBS"
-+ ac_cv_func_initscr=yes
-+ ],[
-+ AC_CHECK_LIB(Hcurses,initscr,[
-+ # HP's header uses __HP_CURSES, but user claims _HP_CURSES.
-+ LIBS="-lHcurses $LIBS"
-+ CPPFLAGS="-D__HP_CURSES -D_HP_CURSES $CPPFLAGS"
-+ ac_cv_func_initscr=yes
-+ ])])
-+ ;;
-+linux*) # Suse Linux does not follow /usr/lib convention
-+ LIBS="$LIBS -L/lib"
-+ ;;
-+sunos3*|sunos4*)
-+ test -d /usr/5lib && \
-+ LIBS="$LIBS -L/usr/5lib -lcurses -ltermcap"
-+ ac_cv_func_initscr=yes
-+ ;;
-+esac
-+
-+if test ".$ac_cv_func_initscr" != .yes ; then
-+ cf_save_LIBS="$LIBS"
-+ cf_term_lib=""
-+ cf_curs_lib=""
-+
-+ if test ".${cf_cv_ncurses_version-no}" != .no
-+ then
-+ cf_check_list="ncurses curses cursesX"
-+ else
-+ cf_check_list="cursesX curses ncurses"
-+ fi
-+
-+ # Check for library containing tgoto. Do this before curses library
-+ # because it may be needed to link the test-case for initscr.
-+ AC_CHECK_FUNC(tgoto,[cf_term_lib=predefined],[
-+ for cf_term_lib in $cf_check_list termcap termlib unknown
-+ do
-+ AC_CHECK_LIB($cf_term_lib,tgoto,[break])
-+ done
-+ ])
-+
-+ # Check for library containing initscr
-+ test "$cf_term_lib" != predefined && test "$cf_term_lib" != unknown && LIBS="-l$cf_term_lib $cf_save_LIBS"
-+ for cf_curs_lib in $cf_check_list xcurses jcurses unknown
-+ do
-+ AC_CHECK_LIB($cf_curs_lib,initscr,[break])
-+ done
-+ test $cf_curs_lib = unknown && AC_ERROR(no curses library found)
-+
-+ LIBS="-l$cf_curs_lib $cf_save_LIBS"
-+ if test "$cf_term_lib" = unknown ; then
-+ AC_MSG_CHECKING(if we can link with $cf_curs_lib library)
-+ AC_TRY_LINK([#include <${cf_cv_ncurses_header-curses.h}>],
-+ [initscr()],
-+ [cf_result=yes],
-+ [cf_result=no])
-+ AC_MSG_RESULT($cf_result)
-+ test $cf_result = no && AC_ERROR(Cannot link curses library)
-+ elif test "$cf_curs_lib" = "$cf_term_lib" ; then
-+ :
-+ elif test "$cf_term_lib" != predefined ; then
-+ AC_MSG_CHECKING(if we need both $cf_curs_lib and $cf_term_lib libraries)
-+ AC_TRY_LINK([#include <${cf_cv_ncurses_header-curses.h}>],
-+ [initscr(); tgoto((char *)0, 0, 0);],
-+ [cf_result=no],
-+ [
-+ LIBS="-l$cf_curs_lib -l$cf_term_lib $cf_save_LIBS"
-+ AC_TRY_LINK([#include <${cf_cv_ncurses_header-curses.h}>],
-+ [initscr()],
-+ [cf_result=yes],
-+ [cf_result=error])
-+ ])
-+ AC_MSG_RESULT($cf_result)
-+ fi
-+fi
-+fi
-+
-+])dnl
-+dnl ---------------------------------------------------------------------------
-+dnl CF_CURSES_TERM_H version: 6 updated: 2003/11/06 19:59:57
-+dnl ----------------
-+dnl SVr4 curses should have term.h as well (where it puts the definitions of
-+dnl the low-level interface). This may not be true in old/broken implementations,
-+dnl as well as in misconfigured systems (e.g., gcc configured for Solaris 2.4
-+dnl running with Solaris 2.5.1).
-+AC_DEFUN([CF_CURSES_TERM_H],
-+[
-+AC_CACHE_CHECK(for term.h, cf_cv_term_header,[
-+
-+AC_REQUIRE([CF_CURSES_CPPFLAGS])dnl
-+# If we found <ncurses/curses.h>, look for <ncurses/term.h>, but always look
-+# for <term.h> if we do not find the variant.
-+for cf_header in \
-+ `echo ${cf_cv_ncurses_header-curses.h} | sed -e 's%/.*%/%'`term.h \
-+ term.h
-+do
-+ AC_TRY_COMPILE([
-+#include <${cf_cv_ncurses_header-curses.h}>
-+#include <${cf_header}>],
-+ [WINDOW *x],
-+ [cf_cv_term_header=$cf_header
-+ break],
-+ [cf_cv_term_header=no])
-+done
-+])
-+
-+AH_TEMPLATE([HAVE_TERM_H], [define if you have term.h])
-+AH_TEMPLATE([HAVE_NCURSES_TERM_H], [define if you have ncurses/term.h])
-+AH_TEMPLATE([HAVE_NCURSESW_TERM_H], [define if you have ncursesw/term.h])
-+case $cf_cv_term_header in #(vi
-+term.h) #(vi
-+ AC_DEFINE(HAVE_TERM_H)
-+ ;;
-+ncurses/term.h)
-+ AC_DEFINE(HAVE_NCURSES_TERM_H)
-+ ;;
-+ncursesw/term.h)
-+ AC_DEFINE(HAVE_NCURSESW_TERM_H)
-+ ;;
-+esac
-+])dnl
-+dnl ---------------------------------------------------------------------------
-+dnl CF_DIRNAME version: 4 updated: 2002/12/21 19:25:52
-+dnl ----------
-+dnl "dirname" is not portable, so we fake it with a shell script.
-+AC_DEFUN([CF_DIRNAME],[$1=`echo $2 | sed -e 's%/[[^/]]*$%%'`])dnl
-+dnl ---------------------------------------------------------------------------
-+dnl CF_DISABLE_ECHO version: 10 updated: 2003/04/17 22:27:11
-+dnl ---------------
-+dnl You can always use "make -n" to see the actual options, but it's hard to
-+dnl pick out/analyze warning messages when the compile-line is long.
-+dnl
-+dnl Sets:
-+dnl ECHO_LT - symbol to control if libtool is verbose
-+dnl ECHO_LD - symbol to prefix "cc -o" lines
-+dnl RULE_CC - symbol to put before implicit "cc -c" lines (e.g., .c.o)
-+dnl SHOW_CC - symbol to put before explicit "cc -c" lines
-+dnl ECHO_CC - symbol to put before any "cc" line
-+dnl
-+AC_DEFUN([CF_DISABLE_ECHO],[
-+AC_MSG_CHECKING(if you want to see long compiling messages)
-+CF_ARG_DISABLE(echo,
-+ [ --disable-echo display "compiling" commands],
-+ [
-+ ECHO_LT='--silent'
-+ ECHO_LD='@echo linking [$]@;'
-+ RULE_CC=' @echo compiling [$]<'
-+ SHOW_CC=' @echo compiling [$]@'
-+ ECHO_CC='@'
-+],[
-+ ECHO_LT=''
-+ ECHO_LD=''
-+ RULE_CC='# compiling'
-+ SHOW_CC='# compiling'
-+ ECHO_CC=''
-+])
-+AC_MSG_RESULT($enableval)
-+AC_SUBST(ECHO_LT)
-+AC_SUBST(ECHO_LD)
-+AC_SUBST(RULE_CC)
-+AC_SUBST(SHOW_CC)
-+AC_SUBST(ECHO_CC)
-+])dnl
-+dnl ---------------------------------------------------------------------------
-+dnl CF_FIND_LIBRARY version: 7 updated: 2000/04/13 21:38:04
-+dnl ---------------
-+dnl Look for a non-standard library, given parameters for AC_TRY_LINK. We
-+dnl prefer a standard location, and use -L options only if we do not find the
-+dnl library in the standard library location(s).
-+dnl $1 = library name
-+dnl $2 = library class, usually the same as library name
-+dnl $3 = includes
-+dnl $4 = code fragment to compile/link
-+dnl $5 = corresponding function-name
-+dnl $6 = flag, nonnull if failure causes an error-exit
-+dnl
-+dnl Sets the variable "$cf_libdir" as a side-effect, so we can see if we had
-+dnl to use a -L option.
-+AC_DEFUN([CF_FIND_LIBRARY],
-+[
-+ eval 'cf_cv_have_lib_'$1'=no'
-+ cf_libdir=""
-+ AC_CHECK_FUNC($5,
-+ eval 'cf_cv_have_lib_'$1'=yes',[
-+ cf_save_LIBS="$LIBS"
-+ AC_MSG_CHECKING(for $5 in -l$1)
-+ LIBS="-l$1 $LIBS"
-+ AC_TRY_LINK([$3],[$4],
-+ [AC_MSG_RESULT(yes)
-+ eval 'cf_cv_have_lib_'$1'=yes'
-+ ],
-+ [AC_MSG_RESULT(no)
-+ CF_LIBRARY_PATH(cf_search,$2)
-+ for cf_libdir in $cf_search
-+ do
-+ AC_MSG_CHECKING(for -l$1 in $cf_libdir)
-+ LIBS="-L$cf_libdir -l$1 $cf_save_LIBS"
-+ AC_TRY_LINK([$3],[$4],
-+ [AC_MSG_RESULT(yes)
-+ eval 'cf_cv_have_lib_'$1'=yes'
-+ break],
-+ [AC_MSG_RESULT(no)
-+ LIBS="$cf_save_LIBS"])
-+ done
-+ ])
-+ ])
-+eval 'cf_found_library=[$]cf_cv_have_lib_'$1
-+ifelse($6,,[
-+if test $cf_found_library = no ; then
-+ AC_ERROR(Cannot link $1 library)
-+fi
-+])
-+])dnl
-+dnl ---------------------------------------------------------------------------
-+dnl CF_FUNC_WAIT version: 2 updated: 1997/10/21 19:45:33
-+dnl ------------
-+dnl Test for the presence of <sys/wait.h>, 'union wait', arg-type of 'wait()'
-+dnl and/or 'waitpid()'.
-+dnl
-+dnl Note that we cannot simply grep for 'union wait' in the wait.h file,
-+dnl because some Posix systems turn this on only when a BSD variable is
-+dnl defined.
-+dnl
-+dnl I don't use AC_HEADER_SYS_WAIT, because it defines HAVE_SYS_WAIT_H, which
-+dnl would conflict with an attempt to test that header directly.
-+dnl
-+AH_TEMPLATE([WAIT_USES_UNION], [Define if wait uses union])
-+AH_TEMPLATE([WAITPID_USES_UNION], [Define if waitpid uses union])
-+AC_DEFUN([CF_FUNC_WAIT],
-+[
-+AC_REQUIRE([CF_UNION_WAIT])
-+if test $cf_cv_type_unionwait = yes; then
-+
-+ AC_MSG_CHECKING(if union wait can be used as wait-arg)
-+ AC_CACHE_VAL(cf_cv_arg_union_wait,[
-+ AC_TRY_COMPILE($cf_wait_headers,
-+ [union wait x; wait(&x)],
-+ [cf_cv_arg_union_wait=yes],
-+ [cf_cv_arg_union_wait=no])
-+ ])
-+ AC_MSG_RESULT($cf_cv_arg_union_wait)
-+ test $cf_cv_arg_union_wait = yes && AC_DEFINE(WAIT_USES_UNION)
-+
-+ AC_MSG_CHECKING(if union wait can be used as waitpid-arg)
-+ AC_CACHE_VAL(cf_cv_arg_union_waitpid,[
-+ AC_TRY_COMPILE($cf_wait_headers,
-+ [union wait x; waitpid(0, &x, 0)],
-+ [cf_cv_arg_union_waitpid=yes],
-+ [cf_cv_arg_union_waitpid=no])
-+ ])
-+ AC_MSG_RESULT($cf_cv_arg_union_waitpid)
-+ test $cf_cv_arg_union_waitpid = yes && AC_DEFINE(WAITPID_USES_UNION)
-+
-+fi
-+])dnl
-+dnl ---------------------------------------------------------------------------
-+dnl CF_GCC_ATTRIBUTES version: 9 updated: 2002/12/21 19:25:52
-+dnl -----------------
-+dnl Test for availability of useful gcc __attribute__ directives to quiet
-+dnl compiler warnings. Though useful, not all are supported -- and contrary
-+dnl to documentation, unrecognized directives cause older compilers to barf.
-+AC_DEFUN([CF_GCC_ATTRIBUTES],
-+[
-+if test "$GCC" = yes
-+then
-+cat > conftest.i <<EOF
-+#ifndef GCC_PRINTF
-+#define GCC_PRINTF 0
-+#endif
-+#ifndef GCC_SCANF
-+#define GCC_SCANF 0
-+#endif
-+#ifndef GCC_NORETURN
-+#define GCC_NORETURN /* nothing */
-+#endif
-+#ifndef GCC_UNUSED
-+#define GCC_UNUSED /* nothing */
-+#endif
-+EOF
-+if test "$GCC" = yes
-+then
-+ AC_CHECKING([for $CC __attribute__ directives])
-+cat > conftest.$ac_ext <<EOF
-+#line __oline__ "configure"
-+#include "confdefs.h"
-+#include "conftest.h"
-+#include "conftest.i"
-+#if GCC_PRINTF
-+#define GCC_PRINTFLIKE(fmt,var) __attribute__((format(printf,fmt,var)))
-+#else
-+#define GCC_PRINTFLIKE(fmt,var) /*nothing*/
-+#endif
-+#if GCC_SCANF
-+#define GCC_SCANFLIKE(fmt,var) __attribute__((format(scanf,fmt,var)))
-+#else
-+#define GCC_SCANFLIKE(fmt,var) /*nothing*/
-+#endif
-+extern void wow(char *,...) GCC_SCANFLIKE(1,2);
-+extern void oops(char *,...) GCC_PRINTFLIKE(1,2) GCC_NORETURN;
-+extern void foo(void) GCC_NORETURN;
-+int main(int argc GCC_UNUSED, char *argv[[]] GCC_UNUSED) { return 0; }
-+EOF
-+ for cf_attribute in scanf printf unused noreturn
-+ do
-+ CF_UPPER(CF_ATTRIBUTE,$cf_attribute)
-+ cf_directive="__attribute__(($cf_attribute))"
-+ echo "checking for $CC $cf_directive" 1>&AC_FD_CC
-+ case $cf_attribute in
-+ scanf|printf)
-+ cat >conftest.h <<EOF
-+#define GCC_$CF_ATTRIBUTE 1
-+EOF
-+ ;;
-+ *)
-+ cat >conftest.h <<EOF
-+#define GCC_$CF_ATTRIBUTE $cf_directive
-+EOF
-+ ;;
-+ esac
-+ if AC_TRY_EVAL(ac_compile); then
-+ test -n "$verbose" && AC_MSG_RESULT(... $cf_attribute)
-+ cat conftest.h >>confdefs.h
-+ fi
-+ done
-+else
-+ fgrep define conftest.i >>confdefs.h
-+fi
-+rm -rf conftest*
-+fi
-+])dnl
-+dnl ---------------------------------------------------------------------------
-+dnl CF_GCC_VERSION version: 3 updated: 2003/09/06 19:16:57
-+dnl --------------
-+dnl Find version of gcc
-+AC_DEFUN([CF_GCC_VERSION],[
-+AC_REQUIRE([AC_PROG_CC])
-+GCC_VERSION=none
-+if test "$GCC" = yes ; then
-+ AC_MSG_CHECKING(version of $CC)
-+ GCC_VERSION="`${CC} --version|sed -e '2,$d' -e 's/^[[^0-9.]]*//' -e 's/[[^0-9.]].*//'`"
-+ test -z "$GCC_VERSION" && GCC_VERSION=unknown
-+ AC_MSG_RESULT($GCC_VERSION)
-+fi
-+])dnl
-+dnl ---------------------------------------------------------------------------
-+dnl CF_GCC_WARNINGS version: 15 updated: 2003/07/05 18:42:30
-+dnl ---------------
-+dnl Check if the compiler supports useful warning options. There's a few that
-+dnl we don't use, simply because they're too noisy:
-+dnl
-+dnl -Wconversion (useful in older versions of gcc, but not in gcc 2.7.x)
-+dnl -Wredundant-decls (system headers make this too noisy)
-+dnl -Wtraditional (combines too many unrelated messages, only a few useful)
-+dnl -Wwrite-strings (too noisy, but should review occasionally). This
-+dnl is enabled for ncurses using "--enable-const".
-+dnl -pedantic
-+dnl
-+AC_DEFUN([CF_GCC_WARNINGS],
-+[
-+AC_REQUIRE([CF_GCC_VERSION])
-+if test "$GCC" = yes
-+then
-+ cat > conftest.$ac_ext <<EOF
-+#line __oline__ "configure"
-+int main(int argc, char *argv[[]]) { return (argv[[argc-1]] == 0) ; }
-+EOF
-+ AC_CHECKING([for $CC warning options])
-+ cf_save_CFLAGS="$CFLAGS"
-+ EXTRA_CFLAGS="-W -Wall"
-+ cf_warn_CONST=""
-+ test "$with_ext_const" = yes && cf_warn_CONST="Wwrite-strings"
-+ for cf_opt in \
-+ Wbad-function-cast \
-+ Wcast-align \
-+ Wcast-qual \
-+ Winline \
-+ Wmissing-declarations \
-+ Wmissing-prototypes \
-+ Wnested-externs \
-+ Wpointer-arith \
-+ Wshadow \
-+ Wstrict-prototypes \
-+ Wundef $cf_warn_CONST
-+ do
-+ CFLAGS="$cf_save_CFLAGS $EXTRA_CFLAGS -$cf_opt"
-+ if AC_TRY_EVAL(ac_compile); then
-+ test -n "$verbose" && AC_MSG_RESULT(... -$cf_opt)
-+ case $cf_opt in #(vi
-+ Wcast-qual) #(vi
-+ CPPFLAGS="$CPPFLAGS -DXTSTRINGDEFINES"
-+ ;;
-+ Winline) #(vi
-+ case $GCC_VERSION in
-+ 3.3*)
-+ CF_VERBOSE(feature is broken in gcc $GCC_VERSION)
-+ continue;;
-+ esac
-+ ;;
-+ esac
-+ EXTRA_CFLAGS="$EXTRA_CFLAGS -$cf_opt"
-+ fi
-+ done
-+ rm -f conftest*
-+ CFLAGS="$cf_save_CFLAGS"
-+fi
-+AC_SUBST(EXTRA_CFLAGS)
-+])dnl
-+dnl ---------------------------------------------------------------------------
-+dnl CF_GNU_SOURCE version: 3 updated: 2000/10/29 23:30:53
-+dnl -------------
-+dnl Check if we must define _GNU_SOURCE to get a reasonable value for
-+dnl _XOPEN_SOURCE, upon which many POSIX definitions depend. This is a defect
-+dnl (or misfeature) of glibc2, which breaks portability of many applications,
-+dnl since it is interwoven with GNU extensions.
-+dnl
-+dnl Well, yes we could work around it...
-+AC_DEFUN([CF_GNU_SOURCE],
-+[
-+AC_CACHE_CHECK(if we must define _GNU_SOURCE,cf_cv_gnu_source,[
-+AC_TRY_COMPILE([#include <sys/types.h>],[
-+#ifndef _XOPEN_SOURCE
-+make an error
-+#endif],
-+ [cf_cv_gnu_source=no],
-+ [cf_save="$CPPFLAGS"
-+ CPPFLAGS="$CPPFLAGS -D_GNU_SOURCE"
-+ AC_TRY_COMPILE([#include <sys/types.h>],[
-+#ifdef _XOPEN_SOURCE
-+make an error
-+#endif],
-+ [cf_cv_gnu_source=no],
-+ [cf_cv_gnu_source=yes])
-+ CPPFLAGS="$cf_save"
-+ ])
-+])
-+test "$cf_cv_gnu_source" = yes && CPPFLAGS="$CPPFLAGS -D_GNU_SOURCE"
-+])dnl
-+dnl ---------------------------------------------------------------------------
-+dnl CF_HEADER_PATH version: 8 updated: 2002/11/10 14:46:59
-+dnl --------------
-+dnl Construct a search-list for a nonstandard header-file
-+AC_DEFUN([CF_HEADER_PATH],
-+[CF_SUBDIR_PATH($1,$2,include)
-+test "$includedir" != NONE && \
-+test "$includedir" != "/usr/include" && \
-+test -d "$includedir" && {
-+ test -d $includedir && $1="[$]$1 $includedir"
-+ test -d $includedir/$2 && $1="[$]$1 $includedir/$2"
-+}
-+
-+test "$oldincludedir" != NONE && \
-+test "$oldincludedir" != "/usr/include" && \
-+test -d "$oldincludedir" && {
-+ test -d $oldincludedir && $1="[$]$1 $oldincludedir"
-+ test -d $oldincludedir/$2 && $1="[$]$1 $oldincludedir/$2"
-+}
-+
-+])dnl
-+dnl ---------------------------------------------------------------------------
-+dnl CF_HELP_MESSAGE version: 3 updated: 1998/01/14 10:56:23
-+dnl ---------------
-+dnl Insert text into the help-message, for readability, from AC_ARG_WITH.
-+AC_DEFUN([CF_HELP_MESSAGE],
-+[AC_DIVERT_HELP([$1])dnl
-+])dnl
-+dnl ---------------------------------------------------------------------------
-+dnl CF_INCLUDE_DIRS version: 4 updated: 2002/12/01 00:12:15
-+dnl ---------------
-+dnl Construct the list of include-options according to whether we're building
-+dnl in the source directory or using '--srcdir=DIR' option. If we're building
-+dnl with gcc, don't append the includedir if it happens to be /usr/include,
-+dnl since that usually breaks gcc's shadow-includes.
-+AC_DEFUN([CF_INCLUDE_DIRS],
-+[
-+CPPFLAGS="-I. -I../include $CPPFLAGS"
-+if test "$srcdir" != "."; then
-+ CPPFLAGS="-I\$(srcdir)/../include $CPPFLAGS"
-+fi
-+if test "$GCC" != yes; then
-+ CPPFLAGS="$CPPFLAGS -I\$(includedir)"
-+elif test "$includedir" != "/usr/include"; then
-+ if test "$includedir" = '${prefix}/include' ; then
-+ if test $prefix != /usr ; then
-+ CPPFLAGS="$CPPFLAGS -I\$(includedir)"
-+ fi
-+ else
-+ CPPFLAGS="$CPPFLAGS -I\$(includedir)"
-+ fi
-+fi
-+AC_SUBST(CPPFLAGS)
-+])dnl
-+dnl ---------------------------------------------------------------------------
-+dnl CF_INCLUDE_PATH version: 4 updated: 2001/04/15 21:21:45
-+dnl ---------------
-+dnl Adds to the include-path
-+dnl
-+dnl Autoconf 1.11 should have provided a way to add include path options to
-+dnl the cpp-tests.
-+dnl
-+AC_DEFUN([CF_INCLUDE_PATH],
-+[
-+for cf_path in $1
-+do
-+ cf_result="no"
-+ AC_MSG_CHECKING(for directory $cf_path)
-+ if test -d $cf_path
-+ then
-+ INCLUDES="$INCLUDES -I$cf_path"
-+ ac_cpp="${ac_cpp} -I$cf_path"
-+ CFLAGS="$CFLAGS -I$cf_path"
-+ cf_result="yes"
-+ case $cf_path in
-+ /usr/include|/usr/include/*)
-+ ;;
-+ *)
-+ CF_DIRNAME(cf_temp,$cf_path)
-+ case $cf_temp in
-+ */include)
-+ INCLUDES="$INCLUDES -I$cf_temp"
-+ ac_cpp="${ac_cpp} -I$cf_temp"
-+ CFLAGS="$CFLAGS -I$cf_temp"
-+ ;;
-+ esac
-+ esac
-+ fi
-+ AC_MSG_RESULT($cf_result)
-+done
-+])dnl
-+dnl ---------------------------------------------------------------------------
-+dnl CF_LIBRARY_PATH version: 7 updated: 2002/11/10 14:46:59
-+dnl ---------------
-+dnl Construct a search-list for a nonstandard library-file
-+AC_DEFUN([CF_LIBRARY_PATH],
-+[CF_SUBDIR_PATH($1,$2,lib)])dnl
-+dnl ---------------------------------------------------------------------------
-+dnl CF_LIB_PREFIX version: 7 updated: 2001/01/12 01:23:48
-+dnl -------------
-+dnl Compute the library-prefix for the given host system
-+dnl $1 = variable to set
-+AC_DEFUN([CF_LIB_PREFIX],
-+[
-+ case $cf_cv_system_name in
-+ OS/2*) LIB_PREFIX='' ;;
-+ os2*) LIB_PREFIX='' ;;
-+ *) LIB_PREFIX='lib' ;;
-+ esac
-+ifelse($1,,,[$1=$LIB_PREFIX])
-+ AC_SUBST(LIB_PREFIX)
-+])dnl
-+dnl ---------------------------------------------------------------------------
-+dnl CF_MAKEFLAGS version: 9 updated: 2001/12/30 18:17:27
-+dnl ------------
-+dnl Some 'make' programs support $(MAKEFLAGS), some $(MFLAGS), to pass 'make'
-+dnl options to lower-levels. It's very useful for "make -n" -- if we have it.
-+dnl (GNU 'make' does both, something POSIX 'make', which happens to make the
-+dnl $(MAKEFLAGS) variable incompatible because it adds the assignments :-)
-+AC_DEFUN([CF_MAKEFLAGS],
-+[
-+AC_CACHE_CHECK(for makeflags variable, cf_cv_makeflags,[
-+ cf_cv_makeflags=''
-+ for cf_option in '-$(MAKEFLAGS)' '$(MFLAGS)'
-+ do
-+ cat >cf_makeflags.tmp <<CF_EOF
-+SHELL = /bin/sh
-+all :
-+ @ echo '.$cf_option'
-+CF_EOF
-+ cf_result=`${MAKE-make} -k -f cf_makeflags.tmp 2>/dev/null`
-+ case "$cf_result" in
-+ .*k)
-+ cf_result=`${MAKE-make} -k -f cf_makeflags.tmp CC=cc 2>/dev/null`
-+ case "$cf_result" in
-+ .*CC=*) cf_cv_makeflags=
-+ ;;
-+ *) cf_cv_makeflags=$cf_option
-+ ;;
-+ esac
-+ break
-+ ;;
-+ *) echo no match "$cf_result"
-+ ;;
-+ esac
-+ done
-+ rm -f cf_makeflags.tmp
-+])
-+
-+AC_SUBST(cf_cv_makeflags)
-+])dnl
-+dnl ---------------------------------------------------------------------------
-+dnl CF_MAKE_TAGS version: 2 updated: 2000/10/04 09:18:40
-+dnl ------------
-+dnl Generate tags/TAGS targets for makefiles. Do not generate TAGS if we have
-+dnl a monocase filesystem.
-+AC_DEFUN([CF_MAKE_TAGS],[
-+AC_REQUIRE([CF_MIXEDCASE_FILENAMES])
-+AC_CHECK_PROG(MAKE_LOWER_TAGS, ctags, yes, no)
-+
-+if test "$cf_cv_mixedcase" = yes ; then
-+ AC_CHECK_PROG(MAKE_UPPER_TAGS, etags, yes, no)
-+else
-+ MAKE_UPPER_TAGS=no
-+fi
-+
-+if test "$MAKE_UPPER_TAGS" = yes ; then
-+ MAKE_UPPER_TAGS=
-+else
-+ MAKE_UPPER_TAGS="#"
-+fi
-+AC_SUBST(MAKE_UPPER_TAGS)
-+
-+if test "$MAKE_LOWER_TAGS" = yes ; then
-+ MAKE_LOWER_TAGS=
-+else
-+ MAKE_LOWER_TAGS="#"
-+fi
-+AC_SUBST(MAKE_LOWER_TAGS)
-+])dnl
-+dnl ---------------------------------------------------------------------------
-+dnl CF_MATH_LIB version: 5 updated: 2000/05/28 01:39:10
-+dnl -----------
-+dnl Checks for libraries. At least one UNIX system, Apple Macintosh
-+dnl Rhapsody 5.5, does not have -lm. We cannot use the simpler
-+dnl AC_CHECK_LIB(m,sin), because that fails for C++.
-+AC_DEFUN([CF_MATH_LIB],
-+[
-+AC_CACHE_CHECK(if -lm needed for math functions,
-+ cf_cv_need_libm,[
-+ AC_TRY_LINK([
-+ #include <stdio.h>
-+ #include <math.h>
-+ ],
-+ [double x = rand(); printf("result = %g\n", ]ifelse($2,,sin(x),$2)[)],
-+ [cf_cv_need_libm=no],
-+ [cf_cv_need_libm=yes])])
-+if test "$cf_cv_need_libm" = yes
-+then
-+ifelse($1,,[
-+ LIBS="$LIBS -lm"
-+],[$1=-lm])
-+fi
-+])
-+dnl ---------------------------------------------------------------------------
-+dnl CF_MIXEDCASE_FILENAMES version: 3 updated: 2003/09/20 17:07:55
-+dnl ----------------------
-+dnl Check if the file-system supports mixed-case filenames. If we're able to
-+dnl create a lowercase name and see it as uppercase, it doesn't support that.
-+AH_TEMPLATE([MIXEDCASE_FILENAMES],[Define if the file-system supports mixed-case filenames.])
-+AC_DEFUN([CF_MIXEDCASE_FILENAMES],
-+[
-+AC_CACHE_CHECK(if filesystem supports mixed-case filenames,cf_cv_mixedcase,[
-+if test "$cross_compiling" = yes ; then
-+ case $target_alias in #(vi
-+ *-os2-emx*|*-msdosdjgpp*|*-cygwin*|*-mingw32*|*-uwin*) #(vi
-+ cf_cv_mixedcase=no
-+ ;;
-+ *)
-+ cf_cv_mixedcase=yes
-+ ;;
-+ esac
-+else
-+ rm -f conftest CONFTEST
-+ echo test >conftest
-+ if test -f CONFTEST ; then
-+ cf_cv_mixedcase=no
-+ else
-+ cf_cv_mixedcase=yes
-+ fi
-+ rm -f conftest CONFTEST
-+fi
-+])
-+test "$cf_cv_mixedcase" = yes && AC_DEFINE(MIXEDCASE_FILENAMES)
-+])dnl
-+dnl ---------------------------------------------------------------------------
-+dnl CF_MSG_LOG version: 3 updated: 1997/09/07 14:05:52
-+dnl ----------
-+dnl Write a debug message to config.log, along with the line number in the
-+dnl configure script.
-+AC_DEFUN([CF_MSG_LOG],[
-+echo "(line __oline__) testing $* ..." 1>&AC_FD_CC
-+])dnl
-+dnl ---------------------------------------------------------------------------
-+dnl CF_NCURSES_CC_CHECK version: 3 updated: 2003/01/12 18:59:28
-+dnl -------------------
-+dnl Check if we can compile with ncurses' header file
-+dnl $1 is the cache variable to set
-+dnl $2 is the header-file to include
-+dnl $3 is the root name (ncurses or ncursesw)
-+AC_DEFUN([CF_NCURSES_CC_CHECK],[
-+ AC_TRY_COMPILE([
-+]ifelse($3,ncursesw,[
-+#define _XOPEN_SOURCE_EXTENDED
-+#undef HAVE_LIBUTF8_H /* in case we used CF_UTF8_LIB */
-+#define HAVE_LIBUTF8_H /* to force ncurses' header file to use cchar_t */
-+])[
-+#include <$2>],[
-+#ifdef NCURSES_VERSION
-+]ifelse($3,ncursesw,[
-+#ifndef WACS_BSSB
-+ make an error
-+#endif
-+])[
-+printf("%s\n", NCURSES_VERSION);
-+#else
-+#ifdef __NCURSES_H
-+printf("old\n");
-+#else
-+ make an error
-+#endif
-+#endif
-+ ]
-+ ,[$1=$cf_header]
-+ ,[$1=no])
-+])dnl
-+dnl ---------------------------------------------------------------------------
-+dnl CF_NCURSES_CPPFLAGS version: 17 updated: 2003/11/06 19:59:57
-+dnl -------------------
-+dnl Look for the SVr4 curses clone 'ncurses' in the standard places, adjusting
-+dnl the CPPFLAGS variable so we can include its header.
-+dnl
-+dnl The header files may be installed as either curses.h, or ncurses.h (would
-+dnl be obsolete, except that some packagers prefer this name to distinguish it
-+dnl from a "native" curses implementation). If not installed for overwrite,
-+dnl the curses.h file would be in an ncurses subdirectory (e.g.,
-+dnl /usr/include/ncurses), but someone may have installed overwriting the
-+dnl vendor's curses. Only very old versions (pre-1.9.2d, the first autoconf'd
-+dnl version) of ncurses don't define either __NCURSES_H or NCURSES_VERSION in
-+dnl the header.
-+dnl
-+dnl If the installer has set $CFLAGS or $CPPFLAGS so that the ncurses header
-+dnl is already in the include-path, don't even bother with this, since we cannot
-+dnl easily determine which file it is. In this case, it has to be <curses.h>.
-+dnl
-+dnl The optional parameter gives the root name of the library, in case it is
-+dnl not installed as the default curses library. That is how the
-+dnl wide-character version of ncurses is installed.
-+AC_DEFUN([CF_NCURSES_CPPFLAGS],
-+[AC_REQUIRE([CF_WITH_CURSES_DIR])
-+
-+AC_PROVIDE([CF_CURSES_CPPFLAGS])dnl
-+cf_ncuhdr_root=ifelse($1,,ncurses,$1)
-+
-+test -n "$cf_cv_curses_dir" && \
-+test "$cf_cv_curses_dir" != "no" && \
-+CPPFLAGS="-I$cf_cv_curses_dir/include -I$cf_cv_curses_dir/include/$cf_ncuhdr_root $CPPFLAGS"
-+
-+AC_CACHE_CHECK(for $cf_ncuhdr_root header in include-path, cf_cv_ncurses_h,[
-+ cf_header_list="$cf_ncuhdr_root/curses.h $cf_ncuhdr_root/ncurses.h"
-+ ( test "$cf_ncuhdr_root" = ncurses || test "$cf_ncuhdr_root" = ncursesw ) && cf_header_list="$cf_header_list curses.h ncurses.h"
-+ for cf_header in $cf_header_list
-+ do
-+ CF_NCURSES_CC_CHECK(cf_cv_ncurses_h,$cf_header,$1)
-+ test "$cf_cv_ncurses_h" != no && break
-+ done
-+])
-+
-+if test "$cf_cv_ncurses_h" != no ; then
-+ cf_cv_ncurses_header=$cf_cv_ncurses_h
-+else
-+AC_CACHE_CHECK(for $cf_ncuhdr_root include-path, cf_cv_ncurses_h2,[
-+ test -n "$verbose" && echo
-+ CF_HEADER_PATH(cf_search,$cf_ncuhdr_root)
-+ test -n "$verbose" && echo search path $cf_search
-+ cf_save2_CPPFLAGS="$CPPFLAGS"
-+ for cf_incdir in $cf_search
-+ do
-+ CF_ADD_INCDIR($cf_incdir)
-+ for cf_header in \
-+ ncurses.h \
-+ curses.h
-+ do
-+ CF_NCURSES_CC_CHECK(cf_cv_ncurses_h2,$cf_header,$1)
-+ if test "$cf_cv_ncurses_h2" != no ; then
-+ cf_cv_ncurses_h2=$cf_incdir/$cf_header
-+ test -n "$verbose" && echo $ac_n " ... found $ac_c" 1>&AC_FD_MSG
-+ break
-+ fi
-+ test -n "$verbose" && echo " ... tested $cf_incdir/$cf_header" 1>&AC_FD_MSG
-+ done
-+ CPPFLAGS="$cf_save2_CPPFLAGS"
-+ test "$cf_cv_ncurses_h2" != no && break
-+ done
-+ test "$cf_cv_ncurses_h2" = no && AC_ERROR(not found)
-+ ])
-+
-+ CF_DIRNAME(cf_1st_incdir,$cf_cv_ncurses_h2)
-+ cf_cv_ncurses_header=`basename $cf_cv_ncurses_h2`
-+ if test `basename $cf_1st_incdir` = $cf_ncuhdr_root ; then
-+ cf_cv_ncurses_header=$cf_ncuhdr_root/$cf_cv_ncurses_header
-+ fi
-+ CF_ADD_INCDIR($cf_1st_incdir)
-+
-+fi
-+
-+
-+AH_TEMPLATE([NCURSES],[Define if you have ncurses])
-+AH_TEMPLATE([HAVE_NCURSES_H],[Define if you have ncurses.h])
-+AH_TEMPLATE([HAVE_NCURSES_NCURSES_H],[Define if you have ncurses/ncurses.h])
-+AH_TEMPLATE([HAVE_NCURSESW_NCURSES_H],[Define if you have ncursesw/ncurses.h])
-+
-+AC_DEFINE(NCURSES)
-+case $cf_cv_ncurses_header in # (vi
-+*ncurses.h)
-+ AC_DEFINE(HAVE_NCURSES_H)
-+ ;;
-+esac
-+
-+case $cf_cv_ncurses_header in # (vi
-+ncurses/curses.h|ncurses/ncurses.h)
-+ AC_DEFINE(HAVE_NCURSES_NCURSES_H)
-+ ;;
-+ncursesw/curses.h|ncursesw/ncurses.h)
-+ AC_DEFINE(HAVE_NCURSESW_NCURSES_H)
-+ ;;
-+esac
-+
-+CF_NCURSES_VERSION
-+])dnl
-+dnl ---------------------------------------------------------------------------
-+dnl CF_NCURSES_LIBS version: 11 updated: 2002/12/22 14:22:25
-+dnl ---------------
-+dnl Look for the ncurses library. This is a little complicated on Linux,
-+dnl because it may be linked with the gpm (general purpose mouse) library.
-+dnl Some distributions have gpm linked with (bsd) curses, which makes it
-+dnl unusable with ncurses. However, we don't want to link with gpm unless
-+dnl ncurses has a dependency, since gpm is normally set up as a shared library,
-+dnl and the linker will record a dependency.
-+dnl
-+dnl The optional parameter gives the root name of the library, in case it is
-+dnl not installed as the default curses library. That is how the
-+dnl wide-character version of ncurses is installed.
-+AC_DEFUN([CF_NCURSES_LIBS],
-+[AC_REQUIRE([CF_NCURSES_CPPFLAGS])
-+
-+cf_nculib_root=ifelse($1,,ncurses,$1)
-+ # This works, except for the special case where we find gpm, but
-+ # ncurses is in a nonstandard location via $LIBS, and we really want
-+ # to link gpm.
-+cf_ncurses_LIBS=""
-+cf_ncurses_SAVE="$LIBS"
-+AC_CHECK_LIB(gpm,Gpm_Open,
-+ [AC_CHECK_LIB(gpm,initscr,
-+ [LIBS="$cf_ncurses_SAVE"],
-+ [cf_ncurses_LIBS="-lgpm"])])
-+
-+case $host_os in #(vi
-+freebsd*)
-+ # This is only necessary if you are linking against an obsolete
-+ # version of ncurses (but it should do no harm, since it's static).
-+ AC_CHECK_LIB(mytinfo,tgoto,[cf_ncurses_LIBS="-lmytinfo $cf_ncurses_LIBS"])
-+ ;;
-+esac
-+
-+LIBS="$cf_ncurses_LIBS $LIBS"
-+
-+if ( test -n "$cf_cv_curses_dir" && test "$cf_cv_curses_dir" != "no" )
-+then
-+ LIBS="-L$cf_cv_curses_dir/lib -l$cf_nculib_root $LIBS"
-+else
-+ CF_FIND_LIBRARY($cf_nculib_root,$cf_nculib_root,
-+ [#include <${cf_cv_ncurses_header-curses.h}>],
-+ [initscr()],
-+ initscr)
-+fi
-+
-+if test -n "$cf_ncurses_LIBS" ; then
-+ AC_MSG_CHECKING(if we can link $cf_nculib_root without $cf_ncurses_LIBS)
-+ cf_ncurses_SAVE="$LIBS"
-+ for p in $cf_ncurses_LIBS ; do
-+ q=`echo $LIBS | sed -e "s%$p %%" -e "s%$p$%%"`
-+ if test "$q" != "$LIBS" ; then
-+ LIBS="$q"
-+ fi
-+ done
-+ AC_TRY_LINK([#include <${cf_cv_ncurses_header-curses.h}>],
-+ [initscr(); mousemask(0,0); tgoto((char *)0, 0, 0);],
-+ [AC_MSG_RESULT(yes)],
-+ [AC_MSG_RESULT(no)
-+ LIBS="$cf_ncurses_SAVE"])
-+fi
-+
-+CF_UPPER(cf_nculib_ROOT,HAVE_LIB$cf_nculib_root)
-+AC_DEFINE_UNQUOTED($cf_nculib_ROOT)
-+])dnl
-+dnl ---------------------------------------------------------------------------
-+dnl CF_NCURSES_VERSION version: 11 updated: 2003/11/06 19:59:57
-+dnl ------------------
-+dnl Check for the version of ncurses, to aid in reporting bugs, etc.
-+dnl Call CF_CURSES_CPPFLAGS first, or CF_NCURSES_CPPFLAGS. We don't use
-+dnl AC_REQUIRE since that does not work with the shell's if/then/else/fi.
-+AC_DEFUN([CF_NCURSES_VERSION],
-+[
-+AC_REQUIRE([CF_CURSES_CPPFLAGS])dnl
-+AC_CACHE_CHECK(for ncurses version, cf_cv_ncurses_version,[
-+ cf_cv_ncurses_version=no
-+ cf_tempfile=out$$
-+ rm -f $cf_tempfile
-+ AC_TRY_RUN([
-+#include <${cf_cv_ncurses_header-curses.h}>
-+#include <stdio.h>
-+int main()
-+{
-+ FILE *fp = fopen("$cf_tempfile", "w");
-+#ifdef NCURSES_VERSION
-+# ifdef NCURSES_VERSION_PATCH
-+ fprintf(fp, "%s.%d\n", NCURSES_VERSION, NCURSES_VERSION_PATCH);
-+# else
-+ fprintf(fp, "%s\n", NCURSES_VERSION);
-+# endif
-+#else
-+# ifdef __NCURSES_H
-+ fprintf(fp, "old\n");
-+# else
-+ make an error
-+# endif
-+#endif
-+ exit(0);
-+}],[
-+ cf_cv_ncurses_version=`cat $cf_tempfile`],,[
-+
-+ # This will not work if the preprocessor splits the line after the
-+ # Autoconf token. The 'unproto' program does that.
-+ cat > conftest.$ac_ext <<EOF
-+#include <${cf_cv_ncurses_header-curses.h}>
-+#undef Autoconf
-+#ifdef NCURSES_VERSION
-+Autoconf NCURSES_VERSION
-+#else
-+#ifdef __NCURSES_H
-+Autoconf "old"
-+#endif
-+;
-+#endif
-+EOF
-+ cf_try="$ac_cpp conftest.$ac_ext 2>&AC_FD_CC | grep '^Autoconf ' >conftest.out"
-+ AC_TRY_EVAL(cf_try)
-+ if test -f conftest.out ; then
-+ cf_out=`cat conftest.out | sed -e 's%^Autoconf %%' -e 's%^[[^"]]*"%%' -e 's%".*%%'`
-+ test -n "$cf_out" && cf_cv_ncurses_version="$cf_out"
-+ rm -f conftest.out
-+ fi
-+])
-+ rm -f $cf_tempfile
-+])
-+test "$cf_cv_ncurses_version" = no || AC_DEFINE(NCURSES)
-+])dnl
-+dnl ---------------------------------------------------------------------------
-+dnl CF_OUR_MESSAGES version: 5 updated: 2003/06/16 20:33:11
-+dnl ---------------
-+dnl Check if we use the messages included with this program
-+dnl
-+dnl $1 specifies either Makefile or makefile, defaulting to the former.
-+dnl
-+dnl Sets variables which can be used to substitute in makefiles:
-+dnl MSG_DIR_MAKE - to make ./po directory
-+dnl SUB_MAKEFILE - makefile in ./po directory (see CF_BUNDLED_INTL)
-+dnl
-+AC_DEFUN([CF_OUR_MESSAGES],
-+[
-+cf_makefile=ifelse($1,,Makefile,$1)
-+
-+use_our_messages=no
-+if test "$USE_NLS" = yes ; then
-+if test -d $srcdir/po ; then
-+AC_MSG_CHECKING(if we should use included message-library)
-+ AC_ARG_ENABLE(included-msgs,
-+ [ --enable-included-msgs use included messages, for i18n support],
-+ [use_our_messages=$enableval],
-+ [use_our_messages=yes])
-+fi
-+AC_MSG_RESULT($use_our_messages)
-+fi
-+
-+MSG_DIR_MAKE="#"
-+if test "$use_our_messages" = yes
-+then
-+ SUB_MAKEFILE="$SUB_MAKEFILE $srcdir/po/$cf_makefile.in:$srcdir/po/$cf_makefile.inn"
-+ MSG_DIR_MAKE=
-+fi
-+
-+AC_SUBST(MSG_DIR_MAKE)
-+AC_SUBST(SUB_MAKEFILE)
-+])dnl
-+dnl ---------------------------------------------------------------------------
-+dnl CF_PATHSEP version: 3 updated: 2001/01/12 01:23:53
-+dnl ----------
-+dnl Provide a value for the $PATH and similar separator
-+AC_DEFUN([CF_PATHSEP],
-+[
-+ case $cf_cv_system_name in
-+ os2*) PATHSEP=';' ;;
-+ *) PATHSEP=':' ;;
-+ esac
-+ifelse($1,,,[$1=$PATHSEP])
-+ AC_SUBST(PATHSEP)
-+])dnl
-+dnl ---------------------------------------------------------------------------
-+dnl CF_PATH_SYNTAX version: 9 updated: 2002/09/17 23:03:38
-+dnl --------------
-+dnl Check the argument to see that it looks like a pathname. Rewrite it if it
-+dnl begins with one of the prefix/exec_prefix variables, and then again if the
-+dnl result begins with 'NONE'. This is necessary to work around autoconf's
-+dnl delayed evaluation of those symbols.
-+AC_DEFUN([CF_PATH_SYNTAX],[
-+case ".[$]$1" in #(vi
-+.\[$]\(*\)*|.\'*\'*) #(vi
-+ ;;
-+..|./*|.\\*) #(vi
-+ ;;
-+.[[a-zA-Z]]:[[\\/]]*) #(vi OS/2 EMX
-+ ;;
-+.\[$]{*prefix}*) #(vi
-+ eval $1="[$]$1"
-+ case ".[$]$1" in #(vi
-+ .NONE/*)
-+ $1=`echo [$]$1 | sed -e s%NONE%$ac_default_prefix%`
-+ ;;
-+ esac
-+ ;; #(vi
-+.NONE/*)
-+ $1=`echo [$]$1 | sed -e s%NONE%$ac_default_prefix%`
-+ ;;
-+*)
-+ ifelse($2,,[AC_ERROR([expected a pathname, not \"[$]$1\"])],$2)
-+ ;;
-+esac
-+])dnl
-+dnl ---------------------------------------------------------------------------
-+dnl CF_PROG_EXT version: 9 updated: 2003/10/18 16:36:22
-+dnl -----------
-+dnl Compute $PROG_EXT, used for non-Unix ports, such as OS/2 EMX.
-+AH_TEMPLATE([PROG_EXT],[Set to prog extension])
-+AC_DEFUN([CF_PROG_EXT],
-+[
-+AC_REQUIRE([CF_CHECK_CACHE])
-+case $cf_cv_system_name in
-+os2*)
-+ # We make sure -Zexe is not used -- it would interfere with @PROG_EXT@
-+ CFLAGS="$CFLAGS -Zmt"
-+ CPPFLAGS="$CPPFLAGS -D__ST_MT_ERRNO__"
-+ CXXFLAGS="$CXXFLAGS -Zmt"
-+ LDFLAGS=`echo "$LDFLAGS -Zmt -Zcrtdll" | sed -e "s%-Zexe%%g"`
-+ ;;
-+esac
-+
-+AC_EXEEXT
-+AC_OBJEXT
-+
-+PROG_EXT="$EXEEXT"
-+AC_SUBST(PROG_EXT)
-+test -n "$PROG_EXT" && AC_DEFINE_UNQUOTED(PROG_EXT,"$PROG_EXT")
-+])dnl
-+dnl ---------------------------------------------------------------------------
-+dnl CF_SUBDIR_PATH version: 3 updated: 2002/12/29 18:30:46
-+dnl --------------
-+dnl Construct a search-list for a nonstandard header/lib-file
-+dnl $1 = the variable to return as result
-+dnl $2 = the package name
-+dnl $3 = the subdirectory, e.g., bin, include or lib
-+AC_DEFUN([CF_SUBDIR_PATH],
-+[$1=""
-+
-+test -d [$]HOME && {
-+ test -n "$verbose" && echo " ... testing $3-directories under [$]HOME"
-+ test -d [$]HOME/$3 && $1="[$]$1 [$]HOME/$3"
-+ test -d [$]HOME/$3/$2 && $1="[$]$1 [$]HOME/$3/$2"
-+ test -d [$]HOME/$3/$2/$3 && $1="[$]$1 [$]HOME/$3/$2/$3"
-+}
-+
-+# For other stuff under the home directory, it should be sufficient to put
-+# a symbolic link for $HOME/$2 to the actual package location:
-+test -d [$]HOME/$2 && {
-+ test -n "$verbose" && echo " ... testing $3-directories under [$]HOME/$2"
-+ test -d [$]HOME/$2/$3 && $1="[$]$1 [$]HOME/$2/$3"
-+ test -d [$]HOME/$2/$3/$2 && $1="[$]$1 [$]HOME/$2/$3/$2"
-+}
-+
-+test "$prefix" != /usr/local && \
-+test -d /usr/local && {
-+ test -n "$verbose" && echo " ... testing $3-directories under /usr/local"
-+ test -d /usr/local/$3 && $1="[$]$1 /usr/local/$3"
-+ test -d /usr/local/$3/$2 && $1="[$]$1 /usr/local/$3/$2"
-+ test -d /usr/local/$3/$2/$3 && $1="[$]$1 /usr/local/$3/$2/$3"
-+ test -d /usr/local/$2/$3 && $1="[$]$1 /usr/local/$2/$3"
-+ test -d /usr/local/$2/$3/$2 && $1="[$]$1 /usr/local/$2/$3/$2"
-+}
-+
-+test "$prefix" != NONE && \
-+test -d $prefix && {
-+ test -n "$verbose" && echo " ... testing $3-directories under $prefix"
-+ test -d $prefix/$3 && $1="[$]$1 $prefix/$3"
-+ test -d $prefix/$3/$2 && $1="[$]$1 $prefix/$3/$2"
-+ test -d $prefix/$3/$2/$3 && $1="[$]$1 $prefix/$3/$2/$3"
-+ test -d $prefix/$2/$3 && $1="[$]$1 $prefix/$2/$3"
-+ test -d $prefix/$2/$3/$2 && $1="[$]$1 $prefix/$2/$3/$2"
-+}
-+
-+test "$prefix" != /opt && \
-+test -d /opt && {
-+ test -n "$verbose" && echo " ... testing $3-directories under /opt"
-+ test -d /opt/$3 && $1="[$]$1 /opt/$3"
-+ test -d /opt/$3/$2 && $1="[$]$1 /opt/$3/$2"
-+ test -d /opt/$3/$2/$3 && $1="[$]$1 /opt/$3/$2/$3"
-+ test -d /opt/$2/$3 && $1="[$]$1 /opt/$2/$3"
-+ test -d /opt/$2/$3/$2 && $1="[$]$1 /opt/$2/$3/$2"
-+}
-+
-+test "$prefix" != /usr && \
-+test -d /usr && {
-+ test -n "$verbose" && echo " ... testing $3-directories under /usr"
-+ test -d /usr/$3 && $1="[$]$1 /usr/$3"
-+ test -d /usr/$3/$2 && $1="[$]$1 /usr/$3/$2"
-+ test -d /usr/$3/$2/$3 && $1="[$]$1 /usr/$3/$2/$3"
-+ test -d /usr/$2/$3 && $1="[$]$1 /usr/$2/$3"
-+}
-+])dnl
-+dnl ---------------------------------------------------------------------------
-+dnl CF_SUBST version: 2 updated: 1997/09/06 23:41:28
-+dnl --------
-+dnl Shorthand macro for substituting things that the user may override
-+dnl with an environment variable.
-+dnl
-+dnl $1 = long/descriptive name
-+dnl $2 = environment variable
-+dnl $3 = default value
-+AC_DEFUN([CF_SUBST],
-+[AC_CACHE_VAL(cf_cv_subst_$2,[
-+AC_MSG_CHECKING(for $1 (symbol $2))
-+test -z "[$]$2" && $2=$3
-+AC_MSG_RESULT([$]$2)
-+AC_SUBST($2)
-+cf_cv_subst_$2=[$]$2])
-+$2=${cf_cv_subst_$2}
-+])dnl
-+dnl ---------------------------------------------------------------------------
-+dnl CF_SYSTYPE version: 3 updated: 2001/02/03 00:14:59
-+dnl ----------
-+dnl Derive the system-type (our main clue to the method of building shared
-+dnl libraries).
-+AC_DEFUN([CF_SYSTYPE],
-+[
-+AC_MSG_CHECKING(for system type)
-+AC_CACHE_VAL(cf_cv_systype,[
-+AC_ARG_WITH(system-type,
-+[ --with-system-type=XXX test: override derived host system-type],
-+[cf_cv_systype=$withval],
-+[
-+cf_cv_systype="`(uname -s || hostname || echo unknown) 2>/dev/null |sed -e s'/[[:\/.-]]/_/'g | sed 1q`"
-+if test -z "$cf_cv_systype"; then cf_cv_systype=unknown;fi
-+])])
-+AC_MSG_RESULT($cf_cv_systype)
-+])dnl
-+dnl ---------------------------------------------------------------------------
-+dnl CF_SYS_NAME version: 2 updated: 1997/08/28 23:57:55
-+dnl -----------
-+dnl Derive the system name, as a check for reusing the autoconf cache
-+AC_DEFUN([CF_SYS_NAME],
-+[
-+SYS_NAME=`(uname -s -r || uname -a || hostname) 2>/dev/null | sed 1q`
-+test -z "$SYS_NAME" && SYS_NAME=unknown
-+AC_DEFINE_UNQUOTED(SYS_NAME,"$SYS_NAME")
-+
-+AC_CACHE_VAL(cf_cv_system_name,[cf_cv_system_name="$SYS_NAME"])
-+
-+if test ".$SYS_NAME" != ".$cf_cv_system_name" ; then
-+ AC_MSG_RESULT("Cached system name does not agree with actual")
-+ AC_ERROR("Please remove config.cache and try again.")
-+fi])
-+dnl ---------------------------------------------------------------------------
-+dnl CF_UNION_WAIT version: 5 updated: 1997/11/23 14:49:44
-+dnl -------------
-+dnl Check to see if the BSD-style union wait is declared. Some platforms may
-+dnl use this, though it is deprecated in favor of the 'int' type in Posix.
-+dnl Some vendors provide a bogus implementation that declares union wait, but
-+dnl uses the 'int' type instead; we try to spot these by checking for the
-+dnl associated macros.
-+dnl
-+dnl Ahem. Some implementers cast the status value to an int*, as an attempt to
-+dnl use the macros for either union wait or int. So we do a check compile to
-+dnl see if the macros are defined and apply to an int.
-+dnl
-+dnl Sets: $cf_cv_type_unionwait
-+dnl Defines: HAVE_TYPE_UNIONWAIT
-+AH_TEMPLATE([HAVE_TYPE_UNIONWAIT], [Define if BSD-style union wait is declared.])
-+AC_DEFUN([CF_UNION_WAIT],
-+[
-+AC_REQUIRE([CF_WAIT_HEADERS])
-+AC_MSG_CHECKING([for union wait])
-+AC_CACHE_VAL(cf_cv_type_unionwait,[
-+ AC_TRY_LINK($cf_wait_headers,
-+ [int x;
-+ int y = WEXITSTATUS(x);
-+ int z = WTERMSIG(x);
-+ wait(&x);
-+ ],
-+ [cf_cv_type_unionwait=no
-+ echo compiles ok w/o union wait 1>&AC_FD_CC
-+ ],[
-+ AC_TRY_LINK($cf_wait_headers,
-+ [union wait x;
-+#ifdef WEXITSTATUS
-+ int y = WEXITSTATUS(x);
-+#endif
-+#ifdef WTERMSIG
-+ int z = WTERMSIG(x);
-+#endif
-+ wait(&x);
-+ ],
-+ [cf_cv_type_unionwait=yes
-+ echo compiles ok with union wait and possibly macros too 1>&AC_FD_CC
-+ ],
-+ [cf_cv_type_unionwait=no])])])
-+AC_MSG_RESULT($cf_cv_type_unionwait)
-+test $cf_cv_type_unionwait = yes && AC_DEFINE(HAVE_TYPE_UNIONWAIT)
-+])dnl
-+dnl ---------------------------------------------------------------------------
-+dnl CF_UPPER version: 5 updated: 2001/01/29 23:40:59
-+dnl --------
-+dnl Make an uppercase version of a variable
-+dnl $1=uppercase($2)
-+AC_DEFUN([CF_UPPER],
-+[
-+$1=`echo "$2" | sed y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%`
-+])dnl
-+dnl ---------------------------------------------------------------------------
-+dnl CF_UTF8_LIB version: 4 updated: 2003/03/01 18:36:42
-+dnl -----------
-+dnl Check for multibyte support, and if not found, utf8 compatibility library
-+AH_TEMPLATE([HAVE_LIBUTF8_H],[Define if we have libutf8.h])
-+AC_DEFUN([CF_UTF8_LIB],
-+[
-+AC_CACHE_CHECK(for multibyte character support,cf_cv_utf8_lib,[
-+ cf_save_LIBS="$LIBS"
-+ AC_TRY_LINK([
-+#include <stdlib.h>],[putwc(0,0);],
-+ [cf_cv_utf8_lib=yes],
-+ [LIBS="-lutf8 $LIBS"
-+ AC_TRY_LINK([
-+#include <libutf8.h>],[putwc(0,0);],
-+ [cf_cv_utf8_lib=add-on],
-+ [cf_cv_utf8_lib=no])
-+ LIBS="$cf_save_LIBS"
-+])])
-+
-+# HAVE_LIBUTF8_H is used by ncurses if curses.h is shared between
-+# ncurses/ncursesw:
-+if test "$cf_cv_utf8_lib" = "add-on" ; then
-+ AC_DEFINE(HAVE_LIBUTF8_H)
-+ LIBS="-lutf8 $LIBS"
-+fi
-+])dnl
-+dnl ---------------------------------------------------------------------------
-+dnl CF_VERBOSE version: 2 updated: 1997/09/05 10:45:14
-+dnl ----------
-+dnl Use AC_VERBOSE w/o the warnings
-+AC_DEFUN([CF_VERBOSE],
-+[test -n "$verbose" && echo " $1" 1>&AC_FD_MSG
-+])dnl
-+dnl ---------------------------------------------------------------------------
-+dnl CF_VERSION_INFO version: 3 updated: 2003/11/22 12:22:45
-+dnl ---------------
-+dnl Define several useful symbols derived from the VERSION file. A separate
-+dnl file is preferred to embedding the version numbers in various scripts.
-+dnl (automake is a textbook-example of why the latter is a bad idea, but there
-+dnl are others).
-+dnl
-+dnl The file contents are:
-+dnl libtool-version release-version patch-version
-+dnl or
-+dnl release-version
-+dnl where
-+dnl libtool-version (see ?) consists of 3 integers separated by '.'
-+dnl release-version consists of a major version and minor version
-+dnl separated by '.', optionally followed by a patch-version
-+dnl separated by '-'. The minor version need not be an
-+dnl integer (but it is preferred).
-+dnl patch-version is an integer in the form yyyymmdd, so ifdef's and
-+dnl scripts can easily compare versions.
-+dnl
-+dnl If libtool is used, the first form is required, since CF_WITH_LIBTOOL
-+dnl simply extracts the first field using 'cut -f1'.
-+AC_DEFUN([CF_VERSION_INFO],
-+[
-+if test -f $srcdir/VERSION ; then
-+ AC_MSG_CHECKING(for package version)
-+
-+ # if there are not enough fields, cut returns the last one...
-+ cf_field1=`sed -e '2,$d' $srcdir/VERSION|cut -f1`
-+ cf_field2=`sed -e '2,$d' $srcdir/VERSION|cut -f2`
-+ cf_field3=`sed -e '2,$d' $srcdir/VERSION|cut -f3`
-+
-+ # this is how CF_BUNDLED_INTL uses $VERSION:
-+ VERSION="$cf_field1"
-+
-+ VERSION_MAJOR=`echo "$cf_field2" | sed -e 's/\..*//'`
-+ test -z "$VERSION_MAJOR" && AC_MSG_ERROR(missing major-version)
-+
-+ VERSION_MINOR=`echo "$cf_field2" | sed -e 's/^[[^.]]*\.//' -e 's/-.*//'`
-+ test -z "$VERSION_MINOR" && AC_MSG_ERROR(missing minor-version)
-+
-+ AC_MSG_RESULT(${VERSION_MAJOR}.${VERSION_MINOR})
-+
-+ AC_MSG_CHECKING(for package patch date)
-+ VERSION_PATCH=`echo "$cf_field3" | sed -e 's/^[[^-]]*-//'`
-+ case .$VERSION_PATCH in
-+ .)
-+ AC_MSG_ERROR(missing patch-date $VERSION_PATCH)
-+ ;;
-+ .[[0-9]][[0-9]][[0-9]][[0-9]][[0-9]][[0-9]][[0-9]][[0-9]])
-+ ;;
-+ *)
-+ AC_MSG_ERROR(illegal patch-date $VERSION_PATCH)
-+ ;;
-+ esac
-+ AC_MSG_RESULT($VERSION_PATCH)
-+else
-+ AC_MSG_ERROR(did not find $srcdir/VERSION)
-+fi
-+
-+# show the actual data that we have for versions:
-+CF_VERBOSE(VERSION $VERSION)
-+CF_VERBOSE(VERSION_MAJOR $VERSION_MAJOR)
-+CF_VERBOSE(VERSION_MINOR $VERSION_MINOR)
-+CF_VERBOSE(VERSION_PATCH $VERSION_PATCH)
-+
-+AC_SUBST(VERSION)
-+AC_SUBST(VERSION_MAJOR)
-+AC_SUBST(VERSION_MINOR)
-+AC_SUBST(VERSION_PATCH)
-+
-+dnl if a package name is given, define its corresponding version info. We
-+dnl need the package name to ensure that the defined symbols are unique.
-+ifelse($1,,,[
-+ PACKAGE=$1
-+ AH_TEMPLATE([PACKAGE],[Define to package name])
-+ AC_DEFINE_UNQUOTED(PACKAGE, "$PACKAGE")
-+ AC_SUBST(PACKAGE)
-+ CF_UPPER(cf_PACKAGE,$PACKAGE)
-+ AC_DEFINE_UNQUOTED(${cf_PACKAGE}_VERSION,"${VERSION_MAJOR}.${VERSION_MINOR}")
-+ AC_DEFINE_UNQUOTED(${cf_PACKAGE}_PATCHDATE,${VERSION_PATCH})
-+])
-+])dnl
-+dnl ---------------------------------------------------------------------------
-+dnl CF_WAIT_HEADERS version: 2 updated: 1997/10/21 19:45:33
-+dnl ---------------
-+dnl Build up an expression $cf_wait_headers with the header files needed to
-+dnl compile against the prototypes for 'wait()', 'waitpid()', etc. Assume it's
-+dnl Posix, which uses <sys/types.h> and <sys/wait.h>, but allow SVr4 variation
-+dnl with <wait.h>.
-+AC_DEFUN([CF_WAIT_HEADERS],
-+[
-+AC_HAVE_HEADERS(sys/wait.h)
-+cf_wait_headers="#include <sys/types.h>
-+"
-+if test $ac_cv_header_sys_wait_h = yes; then
-+cf_wait_headers="$cf_wait_headers
-+#include <sys/wait.h>
-+"
-+else
-+AC_HAVE_HEADERS(wait.h)
-+AC_HAVE_HEADERS(waitstatus.h)
-+if test $ac_cv_header_wait_h = yes; then
-+cf_wait_headers="$cf_wait_headers
-+#include <wait.h>
-+"
-+fi
-+if test $ac_cv_header_waitstatus_h = yes; then
-+cf_wait_headers="$cf_wait_headers
-+#include <waitstatus.h>
-+"
-+fi
-+fi
-+])dnl
-+dnl ---------------------------------------------------------------------------
-+dnl CF_WITH_CURSES_DIR version: 2 updated: 2002/11/10 14:46:59
-+dnl ------------------
-+dnl Wrapper for AC_ARG_WITH to specify directory under which to look for curses
-+dnl libraries.
-+AC_DEFUN([CF_WITH_CURSES_DIR],[
-+AC_ARG_WITH(curses-dir,
-+ [ --with-curses-dir=DIR directory in which (n)curses is installed],
-+ [CF_PATH_SYNTAX(withval)
-+ cf_cv_curses_dir=$withval],
-+ [cf_cv_curses_dir=no])
-+])dnl
-+dnl ---------------------------------------------------------------------------
-+dnl CF_WITH_DBMALLOC version: 2 updated: 2002/12/29 21:11:45
-+dnl ----------------
-+dnl Configure-option for dbmalloc
-+AC_DEFUN([CF_WITH_DBMALLOC],[
-+AC_MSG_CHECKING(if you want to link with dbmalloc for testing)
-+AC_ARG_WITH(dbmalloc,
-+ [ --with-dbmalloc test: use Conor Cahill's dbmalloc library],
-+ [with_dbmalloc=$withval],
-+ [with_dbmalloc=no])
-+AC_MSG_RESULT($with_dbmalloc)
-+if test $with_dbmalloc = yes ; then
-+ AC_CHECK_LIB(dbmalloc,debug_malloc)
-+fi
-+])dnl
-+dnl ---------------------------------------------------------------------------
-+dnl CF_WITH_DMALLOC version: 2 updated: 2002/12/29 21:11:45
-+dnl ---------------
-+dnl Configure-option for dmalloc
-+AC_DEFUN([CF_WITH_DMALLOC],[
-+AC_MSG_CHECKING(if you want to link with dmalloc for testing)
-+AC_ARG_WITH(dmalloc,
-+ [ --with-dmalloc test: use Gray Watson's dmalloc library],
-+ [with_dmalloc=$withval],
-+ [with_dmalloc=no])
-+AC_MSG_RESULT($with_dmalloc)
-+if test $with_dmalloc = yes ; then
-+ AC_CHECK_LIB(dmalloc,dmalloc_debug)
-+fi
-+])dnl
-+dnl ---------------------------------------------------------------------------
-+dnl CF_WITH_LIBTOOL version: 8 updated: 2003/09/06 19:15:56
-+dnl ---------------
-+dnl Provide a configure option to incorporate libtool. Define several useful
-+dnl symbols for the makefile rules.
-+AC_DEFUN([CF_WITH_LIBTOOL],
-+[
-+LIBTOOL=
-+
-+# common library maintenance symbols that are convenient for libtool scripts:
-+LIB_CREATE='$(AR) -cr'
-+LIB_OBJECT='$(OBJECTS)'
-+LIB_SUFFIX=.a
-+LIB_PREP="$RANLIB"
-+
-+# symbols used to prop libtool up to enable it to determine what it should be
-+# doing:
-+LIB_CLEAN=
-+LIB_COMPILE=
-+LIB_LINK=
-+LIB_INSTALL=
-+LIB_UNINSTALL=
-+
-+AC_MSG_CHECKING(if you want to build libraries with libtool)
-+AC_ARG_WITH(libtool,
-+ [ --with-libtool generate libraries with libtool],
-+ [with_libtool=$withval],
-+ [with_libtool=no])
-+AC_MSG_RESULT($with_libtool)
-+if test "$with_libtool" != "no"; then
-+ if test "$with_libtool" != "yes" ; then
-+ CF_PATH_SYNTAX(with_libtool)
-+ LIBTOOL=$with_libtool
-+ else
-+ AC_PATH_PROG(LIBTOOL,libtool)
-+ fi
-+ if test -z "$LIBTOOL" ; then
-+ AC_MSG_ERROR(Cannot find libtool)
-+ fi
-+
-+ LIB_CREATE='$(LIBTOOL) --mode=link $(CC) -rpath $(DESTDIR)$(libdir) -version-info `cut -f1 $(srcdir)/VERSION` -o'
-+ LIB_OBJECT='$(OBJECTS:.o=.lo)'
-+ LIB_SUFFIX=.la
-+ LIB_CLEAN='$(LIBTOOL) --mode=clean'
-+ LIB_COMPILE='$(LIBTOOL) --mode=compile'
-+ LIB_LINK='$(LIBTOOL) --mode=link'
-+ LIB_INSTALL='$(LIBTOOL) --mode=install'
-+ LIB_UNINSTALL='$(LIBTOOL) --mode=uninstall'
-+ LIB_PREP=:
-+
-+ # Show the version of libtool
-+ AC_MSG_CHECKING(version of libtool)
-+
-+ # Save the version in a cache variable - this is not entirely a good
-+ # thing, but the version string from libtool is very ugly, and for
-+ # bug reports it might be useful to have the original string.
-+ cf_cv_libtool_version=`$LIBTOOL --version 2>&1 | sed -e '2,$d' -e 's/^[[^1-9]]*//' -e 's/[[^0-9.]].*//'`
-+ AC_MSG_RESULT($cf_cv_libtool_version)
-+ if test -z "$cf_cv_libtool_version" ; then
-+ AC_MSG_ERROR(This is not libtool)
-+ fi
-+
-+ # special hack to add --tag option for C++ compiler
-+ case $cf_cv_libtool_version in
-+ 1.[[5-9]]*|[[2-9]]*)
-+ LIBTOOL_CXX="$LIBTOOL --tag=CXX"
-+ ;;
-+ *)
-+ LIBTOOL_CXX="$LIBTOOL"
-+ ;;
-+ esac
-+else
-+ LIBTOOL=""
-+ LIBTOOL_CXX=""
-+fi
-+
-+test -z "$LIBTOOL" && ECHO_LT=
-+
-+AC_SUBST(LIBTOOL)
-+AC_SUBST(LIBTOOL_CXX)
-+
-+AC_SUBST(LIB_CREATE)
-+AC_SUBST(LIB_OBJECT)
-+AC_SUBST(LIB_SUFFIX)
-+AC_SUBST(LIB_PREP)
-+
-+AC_SUBST(LIB_CLEAN)
-+AC_SUBST(LIB_COMPILE)
-+AC_SUBST(LIB_LINK)
-+AC_SUBST(LIB_INSTALL)
-+AC_SUBST(LIB_UNINSTALL)
-+
-+])dnl
-+dnl ---------------------------------------------------------------------------
-+dnl CF_XOPEN_CURSES version: 8 updated: 2003/11/07 19:47:46
-+dnl ---------------
-+dnl Test if we should define X/Open source for curses, needed on Digital Unix
-+dnl 4.x, to see the extended functions, but breaks on IRIX 6.x.
-+dnl
-+dnl The getbegyx() check is needed for HPUX, which omits legacy macros such
-+dnl as getbegy(). The latter is better design, but the former is standard.
-+AC_DEFUN([CF_XOPEN_CURSES],
-+[
-+AC_REQUIRE([CF_CURSES_CPPFLAGS])dnl
-+AC_CACHE_CHECK(if we must define _XOPEN_SOURCE_EXTENDED,cf_cv_need_xopen_extension,[
-+AC_TRY_LINK([
-+#include <stdlib.h>
-+#include <${cf_cv_ncurses_header-curses.h}>],[
-+ long x = winnstr(stdscr, "", 0);
-+ int x1, y1;
-+ getbegyx(stdscr, y1, x1)],
-+ [cf_cv_need_xopen_extension=no],
-+ [AC_TRY_LINK([
-+#define _XOPEN_SOURCE_EXTENDED
-+#include <stdlib.h>
-+#include <${cf_cv_ncurses_header-curses.h}>],[
-+ long x = winnstr(stdscr, "", 0);
-+ int x1, y1;
-+ getbegyx(stdscr, y1, x1)],
-+ [cf_cv_need_xopen_extension=yes],
-+ [cf_cv_need_xopen_extension=unknown])])])
-+test $cf_cv_need_xopen_extension = yes && CPPFLAGS="$CPPFLAGS -D_XOPEN_SOURCE_EXTENDED"
-+])dnl
-+dnl ---------------------------------------------------------------------------
-+dnl CF_XOPEN_SOURCE version: 2 updated: 2003/11/26 19:29:42
-+dnl ---------------
-+dnl Try to get _XOPEN_SOURCE defined properly that we can use POSIX functions.
-+AC_DEFUN([CF_XOPEN_SOURCE],[
-+case $host_os in #(vi
-+hpux*) #(vi
-+ CPPFLAGS="$CPPFLAGS -D_HPUX_SOURCE"
-+ ;;
-+linux*) #(vi
-+ CF_GNU_SOURCE
-+ ;;
-+osf[[45]]*) #(vi
-+ CPPFLAGS="$CPPFLAGS -D_OSF_SOURCE"
-+ ;;
-+*)
-+ ;;
-+esac
-+])
-Index: dialog-1.0-20050306/aclocal.m4
-===================================================================
---- dialog-1.0-20050306.orig/aclocal.m4 2005-02-07 00:03:26.000000000 +0100
-+++ dialog-1.0-20050306/aclocal.m4 2005-05-16 01:35:48.000000000 +0200
-@@ -1,720 +1,143 @@
--dnl macros used for DIALOG configure script
--dnl -- Thomas E. Dickey
--dnl $Id: aclocal.m4,v 1.47 2005/02/06 23:03:26 tom Exp $
--dnl ---------------------------------------------------------------------------
--dnl ---------------------------------------------------------------------------
--dnl AM_GNU_GETTEXT version: 11 updated: 2004/01/26 20:58:40
--dnl --------------
--dnl Usage: Just like AM_WITH_NLS, which see.
--AC_DEFUN([AM_GNU_GETTEXT],
-- [AC_REQUIRE([AC_PROG_MAKE_SET])dnl
-- AC_REQUIRE([AC_PROG_CC])dnl
-- AC_REQUIRE([AC_CANONICAL_HOST])dnl
-- AC_REQUIRE([AC_PROG_RANLIB])dnl
-- AC_REQUIRE([AC_ISC_POSIX])dnl
-- AC_REQUIRE([AC_HEADER_STDC])dnl
-- AC_REQUIRE([AC_C_CONST])dnl
-- AC_REQUIRE([AC_C_INLINE])dnl
-- AC_REQUIRE([AC_TYPE_OFF_T])dnl
-- AC_REQUIRE([AC_TYPE_SIZE_T])dnl
-- AC_REQUIRE([AC_FUNC_ALLOCA])dnl
-- AC_REQUIRE([AC_FUNC_MMAP])dnl
-- AC_REQUIRE([jm_GLIBC21])dnl
--
-- AC_CHECK_HEADERS([argz.h limits.h locale.h nl_types.h malloc.h stddef.h \
--stdlib.h string.h unistd.h sys/param.h])
-- AC_CHECK_FUNCS([feof_unlocked fgets_unlocked getcwd getegid geteuid \
--getgid getuid mempcpy munmap putenv setenv setlocale stpcpy strchr strcasecmp \
--strdup strtoul tsearch __argz_count __argz_stringify __argz_next])
--
-- AM_ICONV
-- AM_LANGINFO_CODESET
-- AM_LC_MESSAGES
-- AM_WITH_NLS([$1],[$2],[$3],[$4])
--
-- if test "x$CATOBJEXT" != "x"; then
-- if test "x$ALL_LINGUAS" = "x"; then
-- LINGUAS=
-- else
-- AC_MSG_CHECKING(for catalogs to be installed)
-- NEW_LINGUAS=
-- for presentlang in $ALL_LINGUAS; do
-- useit=no
-- for desiredlang in ${LINGUAS-$ALL_LINGUAS}; do
-- # Use the presentlang catalog if desiredlang is
-- # a. equal to presentlang, or
-- # b. a variant of presentlang (because in this case,
-- # presentlang can be used as a fallback for messages
-- # which are not translated in the desiredlang catalog).
-- case "$desiredlang" in
-- "$presentlang"*) useit=yes;;
-- esac
-- done
-- if test $useit = yes; then
-- NEW_LINGUAS="$NEW_LINGUAS $presentlang"
-- fi
-- done
-- LINGUAS=$NEW_LINGUAS
-- AC_MSG_RESULT($LINGUAS)
-- fi
--
-- dnl Construct list of names of catalog files to be constructed.
-- if test -n "$LINGUAS"; then
-- for lang in $LINGUAS; do CATALOGS="$CATALOGS $lang$CATOBJEXT"; done
-- fi
-- fi
--
-- dnl If the AC_CONFIG_AUX_DIR macro for autoconf is used we possibly
-- dnl find the mkinstalldirs script in another subdir but ($top_srcdir).
-- dnl Try to locate it.
-- dnl changed mkinstalldirs to mkdirs.sh for Lynx /je spath 1998-Aug-21
-- dnl added check for separate locations of scripts -mirabile 2004-Jan-18
-- MKINSTALLDIRS=
-- if test -n "$ac_aux_dir"; then
-- MKINSTALLDIRS="$ac_aux_dir/mkdirs.sh"
-- fi
-- if test -z "$MKINSTALLDIRS"; then
-- MKINSTALLDIRS="\$(top_srcdir)/mkdirs.sh"
-- fi
-- if test -n "$GNUSYSTEM_AUX_DIR" ; then
-- if test -e "${GNUSYSTEM_AUX_DIR}/mkinstalldirs"; then
-- MKINSTALLDIRS="${GNUSYSTEM_AUX_DIR}/mkinstalldirs"
-- fi
-- fi
-- AC_SUBST(MKINSTALLDIRS)
--
-- dnl Enable libtool support if the surrounding package wishes it.
-- INTL_LIBTOOL_SUFFIX_PREFIX=ifelse([$1], use-libtool, [l], [])
-- AC_SUBST(INTL_LIBTOOL_SUFFIX_PREFIX)
--])dnl
--dnl ---------------------------------------------------------------------------
--dnl AM_ICONV version: 3 updated: 2002/10/27 23:21:42
--dnl --------
--dnl Inserted as requested by gettext 0.10.40
--dnl File from /usr/share/aclocal
--dnl iconv.m4
--dnl ====================
--dnl serial AM2
--dnl
--dnl From Bruno Haible.
--AC_DEFUN([AM_ICONV],
--[
-- dnl Some systems have iconv in libc, some have it in libiconv (OSF/1 and
-- dnl those with the standalone portable GNU libiconv installed).
-+ # generated automatically by aclocal 1.7.7 -*- Autoconf -*-
-
-- AC_ARG_WITH([libiconv-prefix],
--[ --with-libiconv-prefix=DIR search for libiconv in DIR/include and DIR/lib], [
-- for dir in `echo "$withval" | tr : ' '`; do
-- if test -d $dir/include; then CPPFLAGS="$CPPFLAGS -I$dir/include"; fi
-- if test -d $dir/lib; then LDFLAGS="$LDFLAGS -L$dir/lib"; fi
-- done
-- ])
-+ # Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002
-+ # 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.
-
-- AC_CACHE_CHECK(for iconv, am_cv_func_iconv, [
-- am_cv_func_iconv="no, consider installing GNU libiconv"
-- am_cv_lib_iconv=no
-- AC_TRY_LINK([#include <stdlib.h>
--#include <iconv.h>],
-- [iconv_t cd = iconv_open("","");
-- iconv(cd,NULL,NULL,NULL,NULL);
-- iconv_close(cd);],
-- am_cv_func_iconv=yes)
-- if test "$am_cv_func_iconv" != yes; then
-- am_save_LIBS="$LIBS"
-- LIBS="$LIBS -liconv"
-- AC_TRY_LINK([#include <stdlib.h>
--#include <iconv.h>],
-- [iconv_t cd = iconv_open("","");
-- iconv(cd,NULL,NULL,NULL,NULL);
-- iconv_close(cd);],
-- am_cv_lib_iconv=yes
-- am_cv_func_iconv=yes)
-- LIBS="$am_save_LIBS"
-- fi
-- ])
-- if test "$am_cv_func_iconv" = yes; then
-- AC_DEFINE(HAVE_ICONV, 1, [Define if you have the iconv() function.])
-- AC_MSG_CHECKING([for iconv declaration])
-- AC_CACHE_VAL(am_cv_proto_iconv, [
-- AC_TRY_COMPILE([
--#include <stdlib.h>
--#include <iconv.h>
--extern
--#ifdef __cplusplus
--"C"
--#endif
--#if defined(__STDC__) || defined(__cplusplus)
--size_t iconv (iconv_t cd, char * *inbuf, size_t *inbytesleft, char * *outbuf, size_t *outbytesleft);
--#else
--size_t iconv();
--#endif
--], [], am_cv_proto_iconv_arg1="", am_cv_proto_iconv_arg1="const")
-- am_cv_proto_iconv="extern size_t iconv (iconv_t cd, $am_cv_proto_iconv_arg1 char * *inbuf, size_t *inbytesleft, char * *outbuf, size_t *outbytesleft);"])
-- am_cv_proto_iconv=`echo "[$]am_cv_proto_iconv" | tr -s ' ' | sed -e 's/( /(/'`
-- AC_MSG_RESULT([$]{ac_t:-
-- }[$]am_cv_proto_iconv)
-- AC_DEFINE_UNQUOTED(ICONV_CONST, $am_cv_proto_iconv_arg1,
-- [Define as const if the declaration of iconv() needs const.])
-- fi
-- LIBICONV=
-- if test "$am_cv_lib_iconv" = yes; then
-- LIBICONV="-liconv"
-- fi
-- AC_SUBST(LIBICONV)
--])dnl
- dnl ---------------------------------------------------------------------------
--dnl AM_LANGINFO_CODESET version: 3 updated: 2002/10/27 23:21:42
--dnl -------------------
--dnl Inserted as requested by gettext 0.10.40
--dnl File from /usr/share/aclocal
--dnl codeset.m4
--dnl ====================
--dnl serial AM1
--dnl
--dnl From Bruno Haible.
--AC_DEFUN([AM_LANGINFO_CODESET],
-+dnl CF_AC_PREREQ version: 2 updated: 1997/09/06 13:24:56
-+dnl ------------
-+dnl Conditionally generate script according to whether we're using the release
-+dnl version of autoconf, or a patched version (using the ternary component as
-+dnl the patch-version).
-+define(CF_AC_PREREQ,
-+[CF_PREREQ_COMPARE(
-+AC_PREREQ_CANON(AC_PREREQ_SPLIT(AC_ACVERSION)),
-+AC_PREREQ_CANON(AC_PREREQ_SPLIT([$1])), [$1], [$2], [$3])])dnl
-+dnl ---------------------------------------------------------------------------
-+dnl CF_ADD_INCDIR version: 4 updated: 2002/12/21 14:25:52
-+dnl -------------
-+dnl Add an include-directory to $CPPFLAGS. Don't add /usr/include, since it's
-+dnl redundant. We don't normally need to add -I/usr/local/include for gcc,
-+dnl but old versions (and some misinstalled ones) need that. To make things
-+dnl worse, gcc 3.x gives error messages if -I/usr/local/include is added to
-+dnl the include-path).
-+AC_DEFUN([CF_ADD_INCDIR],
- [
-- AC_CACHE_CHECK([for nl_langinfo and CODESET], am_cv_langinfo_codeset,
-- [AC_TRY_LINK([#include <langinfo.h>],
-- [char* cs = nl_langinfo(CODESET);],
-- am_cv_langinfo_codeset=yes,
-- am_cv_langinfo_codeset=no)
-- ])
-- if test $am_cv_langinfo_codeset = yes; then
-- AC_DEFINE(HAVE_LANGINFO_CODESET, 1,
-- [Define if you have <langinfo.h> and nl_langinfo(CODESET).])
-- fi
-+for cf_add_incdir in $1
-+do
-+ while true
-+ do
-+ case $cf_add_incdir in
-+ /usr/include) # (vi
-+ ;;
-+ /usr/local/include) # (vi
-+ if test "$GCC" = yes
-+ then
-+ cf_save_CPPFLAGS="$CPPFLAGS"
-+ CPPFLAGS="$CPPFLAGS -I$cf_add_incdir"
-+ AC_TRY_COMPILE([#include <stdio.h>],
-+ [printf("Hello")],
-+ [],
-+ [CPPFLAGS="$cf_save_CPPFLAGS"])
-+ fi
-+ ;;
-+ *) # (vi
-+ CPPFLAGS="$CPPFLAGS -I$cf_add_incdir"
-+ ;;
-+ esac
-+ cf_top_incdir=`echo $cf_add_incdir | sed -e 's%/include/.*$%/include%'`
-+ test "$cf_top_incdir" = "$cf_add_incdir" && break
-+ cf_add_incdir="$cf_top_incdir"
-+ done
-+done
- ])dnl
- dnl ---------------------------------------------------------------------------
--dnl AM_LC_MESSAGES version: 4 updated: 2002/10/27 23:21:42
-+dnl CF_ARG_DISABLE version: 3 updated: 1999/03/30 17:24:31
- dnl --------------
--dnl Inserted as requested by gettext 0.10.40
--dnl File from /usr/share/aclocal
--dnl lcmessage.m4
--dnl ====================
--dnl Check whether LC_MESSAGES is available in <locale.h>.
--dnl Ulrich Drepper <drepper@cygnus.com>, 1995.
--dnl
--dnl This file can be copied and used freely without restrictions. It can
--dnl be used in projects which are not available under the GNU General Public
--dnl License or the GNU Library General Public License but which still want
--dnl to provide support for the GNU gettext functionality.
--dnl Please note that the actual code of the GNU gettext library is covered
--dnl by the GNU Library General Public License, and the rest of the GNU
--dnl gettext package package is covered by the GNU General Public License.
--dnl They are *not* in the public domain.
--dnl
--dnl serial 2
--dnl
--AC_DEFUN([AM_LC_MESSAGES],
-- [if test $ac_cv_header_locale_h = yes; then
-- AC_CACHE_CHECK([for LC_MESSAGES], am_cv_val_LC_MESSAGES,
-- [AC_TRY_LINK([#include <locale.h>], [return LC_MESSAGES],
-- am_cv_val_LC_MESSAGES=yes, am_cv_val_LC_MESSAGES=no)])
-- if test $am_cv_val_LC_MESSAGES = yes; then
-- AC_DEFINE(HAVE_LC_MESSAGES, 1,
-- [Define if your <locale.h> file defines LC_MESSAGES.])
-- fi
-- fi])dnl
-+dnl Allow user to disable a normally-on option.
-+AC_DEFUN([CF_ARG_DISABLE],
-+[CF_ARG_OPTION($1,[$2],[$3],[$4],yes)])dnl
- dnl ---------------------------------------------------------------------------
--dnl AM_PATH_PROG_WITH_TEST version: 5 updated: 2002/10/27 23:21:42
--dnl ----------------------
--dnl Inserted as requested by gettext 0.10.40
--dnl File from /usr/share/aclocal
--dnl progtest.m4
--dnl ====================
--dnl Search path for a program which passes the given test.
--dnl Ulrich Drepper <drepper@cygnus.com>, 1996.
--dnl
--dnl This file can be copied and used freely without restrictions. It can
--dnl be used in projects which are not available under the GNU General Public
--dnl License or the GNU Library General Public License but which still want
--dnl to provide support for the GNU gettext functionality.
--dnl Please note that the actual code of the GNU gettext library is covered
--dnl by the GNU Library General Public License, and the rest of the GNU
--dnl gettext package package is covered by the GNU General Public License.
--dnl They are *not* in the public domain.
--dnl
--dnl serial 2
-+dnl CF_ARG_ENABLE version: 3 updated: 1999/03/30 17:24:31
-+dnl -------------
-+dnl Allow user to enable a normally-off option.
-+AC_DEFUN([CF_ARG_ENABLE],
-+[CF_ARG_OPTION($1,[$2],[$3],[$4],no)])dnl
-+dnl ---------------------------------------------------------------------------
-+dnl CF_ARG_MSG_ENABLE version: 2 updated: 2000/07/29 19:32:03
-+dnl -----------------
-+dnl Verbose form of AC_ARG_ENABLE:
- dnl
--dnl AM_PATH_PROG_WITH_TEST(VARIABLE, PROG-TO-CHECK-FOR,
--dnl TEST-PERFORMED-ON-FOUND_PROGRAM [, VALUE-IF-NOT-FOUND [, PATH]])
--AC_DEFUN([AM_PATH_PROG_WITH_TEST],
--[# Extract the first word of "$2", so it can be a program name with args.
--AC_REQUIRE([CF_PATHSEP])
--set dummy $2; ac_word=[$]2
--AC_MSG_CHECKING([for $ac_word])
--AC_CACHE_VAL(ac_cv_path_$1,
--[case "[$]$1" in
-- /*)
-- ac_cv_path_$1="[$]$1" # Let the user override the test with a path.
-- ;;
-- *)
-- IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}${PATHSEP}"
-- for ac_dir in ifelse([$5], , $PATH, [$5]); do
-- test -z "$ac_dir" && ac_dir=.
-- if test -f $ac_dir/$ac_word; then
-- if [$3]; then
-- ac_cv_path_$1="$ac_dir/$ac_word"
-- break
-- fi
-- fi
-- done
-- IFS="$ac_save_ifs"
--dnl If no 4th arg is given, leave the cache variable unset,
--dnl so AC_PATH_PROGS will keep looking.
--ifelse([$4], , , [ test -z "[$]ac_cv_path_$1" && ac_cv_path_$1="$4"
--])dnl
-- ;;
--esac])dnl
--$1="$ac_cv_path_$1"
--if test ifelse([$4], , [-n "[$]$1"], ["[$]$1" != "$4"]); then
-- AC_MSG_RESULT([$]$1)
-+dnl Parameters:
-+dnl $1 = message
-+dnl $2 = option name
-+dnl $3 = help-string
-+dnl $4 = action to perform if option is enabled
-+dnl $5 = action if perform if option is disabled
-+dnl $6 = default option value (either 'yes' or 'no')
-+AC_DEFUN([CF_ARG_MSG_ENABLE],[
-+AC_MSG_CHECKING($1)
-+AC_ARG_ENABLE($2,[$3],,enableval=ifelse($6,,no,$6))
-+AC_MSG_RESULT($enableval)
-+if test "$enableval" != no ; then
-+ifelse($4,,[ :],$4)
- else
-- AC_MSG_RESULT(no)
-+ifelse($5,,[ :],$5)
- fi
--AC_SUBST($1)dnl
- ])dnl
- dnl ---------------------------------------------------------------------------
--dnl AM_WITH_NLS version: 17 updated: 2004/01/23 19:52:21
--dnl -----------
--dnl Inserted as requested by gettext 0.10.40
--dnl File from /usr/share/aclocal
--dnl gettext.m4
--dnl ====================
--dnl Macro to add for using GNU gettext.
--dnl Ulrich Drepper <drepper@cygnus.com>, 1995.
-+dnl CF_ARG_OPTION version: 3 updated: 1997/10/18 14:42:41
-+dnl -------------
-+dnl Restricted form of AC_ARG_ENABLE that ensures user doesn't give bogus
-+dnl values.
- dnl
--dnl This file can be copied and used freely without restrictions. It can
--dnl be used in projects which are not available under the GNU General Public
--dnl License or the GNU Library General Public License but which still want
--dnl to provide support for the GNU gettext functionality.
--dnl Please note that the actual code of the GNU gettext library is covered
--dnl by the GNU Library General Public License, and the rest of the GNU
--dnl gettext package package is covered by the GNU General Public License.
--dnl They are *not* in the public domain.
-+dnl Parameters:
-+dnl $1 = option name
-+dnl $2 = help-string
-+dnl $3 = action to perform if option is not default
-+dnl $4 = action if perform if option is default
-+dnl $5 = default option value (either 'yes' or 'no')
-+AC_DEFUN([CF_ARG_OPTION],
-+[AC_ARG_ENABLE($1,[$2],[test "$enableval" != ifelse($5,no,yes,no) && enableval=ifelse($5,no,no,yes)
-+ if test "$enableval" != "$5" ; then
-+ifelse($3,,[ :]dnl
-+,[ $3]) ifelse($4,,,[
-+ else
-+ $4])
-+ fi],[enableval=$5 ifelse($4,,,[
-+ $4
-+])dnl
-+ ])])dnl
-+dnl ---------------------------------------------------------------------------
-+dnl CF_BUNDLED_INTL version: 11 updated: 2004/09/12 19:45:55
-+dnl ---------------
-+dnl Top-level macro for configuring an application with a bundled copy of
-+dnl the intl and po directories for gettext.
- dnl
--dnl serial 10
-+dnl $1 specifies either Makefile or makefile, defaulting to the former.
-+dnl $2 if nonempty sets the option to --enable-nls rather than to --disable-nls
- dnl
--dnl Usage: AM_WITH_NLS([TOOLSYMBOL], [NEEDSYMBOL], [LIBDIR], [ENABLED]).
--dnl If TOOLSYMBOL is specified and is 'use-libtool', then a libtool library
--dnl $(top_builddir)/intl/libintl.la will be created (shared and/or static,
--dnl depending on --{enable,disable}-{shared,static} and on the presence of
--dnl AM-DISABLE-SHARED). Otherwise, a static library
--dnl $(top_builddir)/intl/libintl.a will be created.
--dnl If NEEDSYMBOL is specified and is 'need-ngettext', then GNU gettext
--dnl implementations (in libc or libintl) without the ngettext() function
--dnl will be ignored.
--dnl LIBDIR is used to find the intl libraries. If empty,
--dnl the value `$(top_builddir)/intl/' is used.
--dnl ENABLED is used to control the default for the related --enable-nls, since
--dnl not all application developers want this feature by default, e.g., lynx.
--dnl
--dnl The result of the configuration is one of three cases:
--dnl 1) GNU gettext, as included in the intl subdirectory, will be compiled
--dnl and used.
--dnl Catalog format: GNU --> install in $(datadir)
--dnl Catalog extension: .mo after installation, .gmo in source tree
--dnl 2) GNU gettext has been found in the system's C library.
--dnl Catalog format: GNU --> install in $(datadir)
--dnl Catalog extension: .mo after installation, .gmo in source tree
--dnl 3) No internationalization, always use English msgid.
--dnl Catalog format: none
--dnl Catalog extension: none
--dnl The use of .gmo is historical (it was needed to avoid overwriting the
--dnl GNU format catalogs when building on a platform with an X/Open gettext),
--dnl but we keep it in order not to force irrelevant filename changes on the
--dnl maintainers.
--dnl
--AC_DEFUN([AM_WITH_NLS],
-- [AC_MSG_CHECKING([whether NLS is requested])
-- dnl Default is enabled NLS
-- ifelse([$4],,[
-- AC_ARG_ENABLE(nls,
-- [ --disable-nls do not use Native Language Support],
-- USE_NLS=$enableval, USE_NLS=yes)],[
-- AC_ARG_ENABLE(nls,
-- [ --enable-nls use Native Language Support],
-- USE_NLS=$enableval, USE_NLS=no)])
-- AC_MSG_RESULT($USE_NLS)
-- AC_SUBST(USE_NLS)
--
-- BUILD_INCLUDED_LIBINTL=no
-- USE_INCLUDED_LIBINTL=no
-- INTLLIBS=
--
-- dnl If we use NLS figure out what method
-- if test "$USE_NLS" = "yes"; then
-- AC_DEFINE(ENABLE_NLS, 1,
-- [Define to 1 if translation of program messages to the user's native language
-- is requested.])
-- AC_MSG_CHECKING([whether included gettext is requested])
-- AC_ARG_WITH(included-gettext,
-- [ --with-included-gettext use the GNU gettext library included here],
-- nls_cv_force_use_gnu_gettext=$withval,
-- nls_cv_force_use_gnu_gettext=no)
-- AC_MSG_RESULT($nls_cv_force_use_gnu_gettext)
--
-- nls_cv_use_gnu_gettext="$nls_cv_force_use_gnu_gettext"
-- if test "$nls_cv_force_use_gnu_gettext" != "yes"; then
-- dnl User does not insist on using GNU NLS library. Figure out what
-- dnl to use. If GNU gettext is available we use this. Else we have
-- dnl to fall back to GNU NLS library.
-- CATOBJEXT=NONE
--
-- dnl Add a version number to the cache macros.
-- define(gt_cv_func_gnugettext_libc, [gt_cv_func_gnugettext]ifelse([$2], need-ngettext, 2, 1)[_libc])
-- define(gt_cv_func_gnugettext_libintl, [gt_cv_func_gnugettext]ifelse([$2], need-ngettext, 2, 1)[_libintl])
--
-- AC_CHECK_HEADER(libintl.h,
-- [AC_CACHE_CHECK([for GNU gettext in libc], gt_cv_func_gnugettext_libc,
-- [AC_TRY_LINK([#include <libintl.h>
--extern int _nl_msg_cat_cntr;],
-- [bindtextdomain ("", "");
--return (int) gettext ("")]ifelse([$2], need-ngettext, [ + (int) ngettext ("", "", 0)], [])[ + _nl_msg_cat_cntr],
-- gt_cv_func_gnugettext_libc=yes,
-- gt_cv_func_gnugettext_libc=no)])
--
-- if test "$gt_cv_func_gnugettext_libc" != "yes"; then
-- AC_CACHE_CHECK([for GNU gettext in libintl],
-- gt_cv_func_gnugettext_libintl,
-- [gt_save_LIBS="$LIBS"
-- LIBS="$LIBS -lintl $LIBICONV"
-- AC_TRY_LINK([#include <libintl.h>
--extern int _nl_msg_cat_cntr;],
-- [bindtextdomain ("", "");
--return (int) gettext ("")]ifelse([$2], need-ngettext, [ + (int) ngettext ("", "", 0)], [])[ + _nl_msg_cat_cntr],
-- gt_cv_func_gnugettext_libintl=yes,
-- gt_cv_func_gnugettext_libintl=no)
-- LIBS="$gt_save_LIBS"])
-- fi
--
-- dnl If an already present or preinstalled GNU gettext() is found,
-- dnl use it. But if this macro is used in GNU gettext, and GNU
-- dnl gettext is already preinstalled in libintl, we update this
-- dnl libintl. (Cf. the install rule in intl/Makefile.in.)
-- if test "$gt_cv_func_gnugettext_libc" = "yes" \
-- || { test "$gt_cv_func_gnugettext_libintl" = "yes" \
-- && test "$PACKAGE" != gettext; }; then
-- AC_DEFINE(HAVE_GETTEXT, 1,
-- [Define if the GNU gettext() function is already present or preinstalled.])
--
-- if test "$gt_cv_func_gnugettext_libintl" = "yes"; then
-- dnl If iconv() is in a separate libiconv library, then anyone
-- dnl linking with libintl{.a,.so} also needs to link with
-- dnl libiconv.
-- INTLLIBS="-lintl $LIBICONV"
-- fi
--
-- gt_save_LIBS="$LIBS"
-- LIBS="$LIBS $INTLLIBS"
-- AC_CHECK_FUNCS(dcgettext)
-- LIBS="$gt_save_LIBS"
--
-- dnl Search for GNU msgfmt in the PATH.
-- AM_PATH_PROG_WITH_TEST(MSGFMT, msgfmt,
-- [$ac_dir/$ac_word --statistics /dev/null >/dev/null 2>&1], :)
-- AC_PATH_PROG(GMSGFMT, gmsgfmt, $MSGFMT)
--
-- dnl Search for GNU xgettext in the PATH.
-- AM_PATH_PROG_WITH_TEST(XGETTEXT, xgettext,
-- [$ac_dir/$ac_word --omit-header /dev/null >/dev/null 2>&1], :)
--
-- CATOBJEXT=.gmo
-- fi
-- ])
--
-- if test "$CATOBJEXT" = "NONE"; then
-- dnl GNU gettext is not found in the C library.
-- dnl Fall back on GNU gettext library.
-- nls_cv_use_gnu_gettext=yes
-- fi
-- fi
--
-- if test "$nls_cv_use_gnu_gettext" = "yes"; then
-- if test ! -d $srcdir/intl ; then
-- AC_MSG_ERROR(no NLS library is packaged with this application)
-- fi
-- dnl Mark actions used to generate GNU NLS library.
-- INTLOBJS="\$(GETTOBJS)"
-- AM_PATH_PROG_WITH_TEST(MSGFMT, msgfmt,
-- [$ac_dir/$ac_word --statistics /dev/null >/dev/null 2>&1], :)
-- AC_PATH_PROG(GMSGFMT, gmsgfmt, $MSGFMT)
-- AM_PATH_PROG_WITH_TEST(XGETTEXT, xgettext,
-- [$ac_dir/$ac_word --omit-header /dev/null >/dev/null 2>&1], :)
-- AC_SUBST(MSGFMT)
-- BUILD_INCLUDED_LIBINTL=yes
-- USE_INCLUDED_LIBINTL=yes
-- CATOBJEXT=.gmo
-- INTLLIBS="ifelse([$3],[],\$(top_builddir)/intl,[$3])/libintl.ifelse([$1], use-libtool, [l], [])a $LIBICONV"
-- LIBS=`echo " $LIBS " | sed -e 's/ -lintl / /' -e 's/^ //' -e 's/ $//'`
-- fi
--
-- dnl This could go away some day; the PATH_PROG_WITH_TEST already does it.
-- dnl Test whether we really found GNU msgfmt.
-- if test "$GMSGFMT" != ":"; then
-- dnl If it is no GNU msgfmt we define it as : so that the
-- dnl Makefiles still can work.
-- if $GMSGFMT --statistics /dev/null >/dev/null 2>&1; then
-- : ;
-- else
-- AC_MSG_RESULT(
-- [found msgfmt program is not GNU msgfmt; ignore it])
-- GMSGFMT=":"
-- fi
-- fi
--
-- dnl This could go away some day; the PATH_PROG_WITH_TEST already does it.
-- dnl Test whether we really found GNU xgettext.
-- if test "$XGETTEXT" != ":"; then
-- dnl If it is no GNU xgettext we define it as : so that the
-- dnl Makefiles still can work.
-- if $XGETTEXT --omit-header /dev/null >/dev/null 2>&1; then
-- : ;
-- else
-- AC_MSG_RESULT(
-- [found xgettext program is not GNU xgettext; ignore it])
-- XGETTEXT=":"
-- fi
-- fi
--
-- dnl We need to process the po/ directory.
-- POSUB=po
-- fi
--
-- AC_OUTPUT_COMMANDS(
-- [for ac_file in $CONFIG_FILES; do
-- # Support "outfile[:infile[:infile...]]"
-- case "$ac_file" in
-- *:*) ac_file=`echo "$ac_file"|sed 's%:.*%%'` ;;
-- esac
-- # PO directories have a Makefile.in generated from Makefile.inn.
-- case "$ac_file" in */[Mm]akefile.in)
-- # Adjust a relative srcdir.
-- ac_dir=`echo "$ac_file"|sed 's%/[^/][^/]*$%%'`
-- ac_dir_suffix="/`echo "$ac_dir"|sed 's%^\./%%'`"
-- ac_dots=`echo "$ac_dir_suffix"|sed 's%/[^/]*%../%g'`
-- ac_base=`basename $ac_file .in`
-- # In autoconf-2.13 it is called $ac_given_srcdir.
-- # In autoconf-2.50 it is called $srcdir.
-- test -n "$ac_given_srcdir" || ac_given_srcdir="$srcdir"
-- case "$ac_given_srcdir" in
-- .) top_srcdir=`echo $ac_dots|sed 's%/$%%'` ;;
-- /*) top_srcdir="$ac_given_srcdir" ;;
-- *) top_srcdir="$ac_dots$ac_given_srcdir" ;;
-- esac
-- if test -f "$ac_given_srcdir/$ac_dir/POTFILES.in"; then
-- rm -f "$ac_dir/POTFILES"
-- test -n "$as_me" && echo "$as_me: creating $ac_dir/POTFILES" || echo "creating $ac_dir/POTFILES"
-- sed -e "/^#/d" -e "/^[ ]*\$/d" -e "s,.*, $top_srcdir/& \\\\," -e "\$s/\(.*\) \\\\/\1/" < "$ac_given_srcdir/$ac_dir/POTFILES.in" > "$ac_dir/POTFILES"
-- test -n "$as_me" && echo "$as_me: creating $ac_dir/$ac_base" || echo "creating $ac_dir/$ac_base"
-- sed -e "/POTFILES =/r $ac_dir/POTFILES" "$ac_dir/$ac_base.in" > "$ac_dir/$ac_base"
-- fi
-- ;;
-- esac
-- done])
--
--
-- dnl If this is used in GNU gettext we have to set BUILD_INCLUDED_LIBINTL
-- dnl to 'yes' because some of the testsuite requires it.
-- if test "$PACKAGE" = gettext; then
-- BUILD_INCLUDED_LIBINTL=yes
-- fi
--
-- dnl intl/plural.c is generated from intl/plural.y. It requires bison,
-- dnl because plural.y uses bison specific features. It requires at least
-- dnl bison-1.26 because earlier versions generate a plural.c that doesn't
-- dnl compile.
-- dnl bison is only needed for the maintainer (who touches plural.y). But in
-- dnl order to avoid separate Makefiles or --enable-maintainer-mode, we put
-- dnl the rule in general Makefile. Now, some people carelessly touch the
-- dnl files or have a broken "make" program, hence the plural.c rule will
-- dnl sometimes fire. To avoid an error, defines BISON to ":" if it is not
-- dnl present or too old.
-- if test "$nls_cv_use_gnu_gettext" = "yes"; then
-- AC_CHECK_PROGS([INTLBISON], [bison])
-- if test -z "$INTLBISON"; then
-- ac_verc_fail=yes
-- else
-- dnl Found it, now check the version.
-- AC_MSG_CHECKING([version of bison])
--changequote(<<,>>)dnl
-- ac_prog_version=`$INTLBISON --version 2>&1 | sed -n 's/^.*GNU Bison.* \([0-9]*\.[0-9.]*\).*$/\1/p'`
-- case $ac_prog_version in
-- '') ac_prog_version="v. ?.??, bad"; ac_verc_fail=yes;;
-- 1.2[6-9]* | 1.[3-9][0-9]* | [2-9].*)
--changequote([,])dnl
-- ac_prog_version="$ac_prog_version, ok"; ac_verc_fail=no;;
-- *) ac_prog_version="$ac_prog_version, bad"; ac_verc_fail=yes;;
-- esac
-- AC_MSG_RESULT([$ac_prog_version])
-- fi
-- if test $ac_verc_fail = yes; then
-- INTLBISON=:
-- fi
-- fi
--
-- dnl These rules are solely for the distribution goal. While doing this
-- dnl we only have to keep exactly one list of the available catalogs
-- dnl in configure.in.
-- for lang in $ALL_LINGUAS; do
-- GMOFILES="$GMOFILES $lang.gmo"
-- POFILES="$POFILES $lang.po"
-- done
--
-- dnl Make all variables we use known to autoconf.
-- AC_SUBST(BUILD_INCLUDED_LIBINTL)
-- AC_SUBST(USE_INCLUDED_LIBINTL)
-- AC_SUBST(CATALOGS)
-- AC_SUBST(CATOBJEXT)
-- AC_SUBST(GMOFILES)
-- AC_SUBST(INTLLIBS)
-- AC_SUBST(INTLOBJS)
-- AC_SUBST(POFILES)
-- AC_SUBST(POSUB)
--
-- dnl For backward compatibility. Some configure.ins may be using this.
-- nls_cv_header_intl=
-- nls_cv_header_libgt=
--
-- dnl For backward compatibility. Some Makefiles may be using this.
-- DATADIRNAME=share
-- AC_SUBST(DATADIRNAME)
--
-- dnl For backward compatibility. Some Makefiles may be using this.
-- INSTOBJEXT=.mo
-- AC_SUBST(INSTOBJEXT)
--
-- dnl For backward compatibility. Some Makefiles may be using this.
-- GENCAT=gencat
-- AC_SUBST(GENCAT)
-- ])dnl
--dnl ---------------------------------------------------------------------------
--dnl CF_AC_PREREQ version: 2 updated: 1997/09/06 13:24:56
--dnl ------------
--dnl Conditionally generate script according to whether we're using the release
--dnl version of autoconf, or a patched version (using the ternary component as
--dnl the patch-version).
--define(CF_AC_PREREQ,
--[CF_PREREQ_COMPARE(
--AC_PREREQ_CANON(AC_PREREQ_SPLIT(AC_ACVERSION)),
--AC_PREREQ_CANON(AC_PREREQ_SPLIT([$1])), [$1], [$2], [$3])])dnl
--dnl ---------------------------------------------------------------------------
--dnl CF_ADD_INCDIR version: 4 updated: 2002/12/21 14:25:52
--dnl -------------
--dnl Add an include-directory to $CPPFLAGS. Don't add /usr/include, since it's
--dnl redundant. We don't normally need to add -I/usr/local/include for gcc,
--dnl but old versions (and some misinstalled ones) need that. To make things
--dnl worse, gcc 3.x gives error messages if -I/usr/local/include is added to
--dnl the include-path).
--AC_DEFUN([CF_ADD_INCDIR],
--[
--for cf_add_incdir in $1
--do
-- while true
-- do
-- case $cf_add_incdir in
-- /usr/include) # (vi
-- ;;
-- /usr/local/include) # (vi
-- if test "$GCC" = yes
-- then
-- cf_save_CPPFLAGS="$CPPFLAGS"
-- CPPFLAGS="$CPPFLAGS -I$cf_add_incdir"
-- AC_TRY_COMPILE([#include <stdio.h>],
-- [printf("Hello")],
-- [],
-- [CPPFLAGS="$cf_save_CPPFLAGS"])
-- fi
-- ;;
-- *) # (vi
-- CPPFLAGS="$CPPFLAGS -I$cf_add_incdir"
-- ;;
-- esac
-- cf_top_incdir=`echo $cf_add_incdir | sed -e 's%/include/.*$%/include%'`
-- test "$cf_top_incdir" = "$cf_add_incdir" && break
-- cf_add_incdir="$cf_top_incdir"
-- done
--done
--])dnl
--dnl ---------------------------------------------------------------------------
--dnl CF_ARG_DISABLE version: 3 updated: 1999/03/30 17:24:31
--dnl --------------
--dnl Allow user to disable a normally-on option.
--AC_DEFUN([CF_ARG_DISABLE],
--[CF_ARG_OPTION($1,[$2],[$3],[$4],yes)])dnl
--dnl ---------------------------------------------------------------------------
--dnl CF_ARG_ENABLE version: 3 updated: 1999/03/30 17:24:31
--dnl -------------
--dnl Allow user to enable a normally-off option.
--AC_DEFUN([CF_ARG_ENABLE],
--[CF_ARG_OPTION($1,[$2],[$3],[$4],no)])dnl
--dnl ---------------------------------------------------------------------------
--dnl CF_ARG_MSG_ENABLE version: 2 updated: 2000/07/29 19:32:03
--dnl -----------------
--dnl Verbose form of AC_ARG_ENABLE:
--dnl
--dnl Parameters:
--dnl $1 = message
--dnl $2 = option name
--dnl $3 = help-string
--dnl $4 = action to perform if option is enabled
--dnl $5 = action if perform if option is disabled
--dnl $6 = default option value (either 'yes' or 'no')
--AC_DEFUN([CF_ARG_MSG_ENABLE],[
--AC_MSG_CHECKING($1)
--AC_ARG_ENABLE($2,[$3],,enableval=ifelse($6,,no,$6))
--AC_MSG_RESULT($enableval)
--if test "$enableval" != no ; then
--ifelse($4,,[ :],$4)
--else
--ifelse($5,,[ :],$5)
--fi
--])dnl
--dnl ---------------------------------------------------------------------------
--dnl CF_ARG_OPTION version: 3 updated: 1997/10/18 14:42:41
--dnl -------------
--dnl Restricted form of AC_ARG_ENABLE that ensures user doesn't give bogus
--dnl values.
--dnl
--dnl Parameters:
--dnl $1 = option name
--dnl $2 = help-string
--dnl $3 = action to perform if option is not default
--dnl $4 = action if perform if option is default
--dnl $5 = default option value (either 'yes' or 'no')
--AC_DEFUN([CF_ARG_OPTION],
--[AC_ARG_ENABLE($1,[$2],[test "$enableval" != ifelse($5,no,yes,no) && enableval=ifelse($5,no,no,yes)
-- if test "$enableval" != "$5" ; then
--ifelse($3,,[ :]dnl
--,[ $3]) ifelse($4,,,[
-- else
-- $4])
-- fi],[enableval=$5 ifelse($4,,,[
-- $4
--])dnl
-- ])])dnl
--dnl ---------------------------------------------------------------------------
--dnl CF_BUNDLED_INTL version: 11 updated: 2004/09/12 19:45:55
--dnl ---------------
--dnl Top-level macro for configuring an application with a bundled copy of
--dnl the intl and po directories for gettext.
--dnl
--dnl $1 specifies either Makefile or makefile, defaulting to the former.
--dnl $2 if nonempty sets the option to --enable-nls rather than to --disable-nls
--dnl
--dnl Sets variables which can be used to substitute in makefiles:
--dnl INTLDIR_MAKE - to make ./intl directory
--dnl MSG_DIR_MAKE - to make ./po directory
--dnl SUB_MAKEFILE - list of makefiles in ./intl, ./po directories
--dnl Defines
--dnl HAVE_LIBGETTEXT_H if we're using ./intl
-+dnl Sets variables which can be used to substitute in makefiles:
-+dnl INTLDIR_MAKE - to make ./intl directory
-+dnl MSG_DIR_MAKE - to make ./po directory
-+dnl SUB_MAKEFILE - list of makefiles in ./intl, ./po directories
-+dnl Defines
-+dnl HAVE_LIBGETTEXT_H if we're using ./intl
- dnl
- dnl Environment:
- dnl ALL_LINGUAS if set, lists the root names of the ".po" files.
- dnl CONFIG_H assumed to be "config.h"
- dnl VERSION may be set, otherwise extract from "VERSION" file.
- dnl
-+AH_TEMPLATE([HAVE_LIBGETTEXT_H], [Define if we're using ./intl.])
- AC_DEFUN([CF_BUNDLED_INTL],[
- cf_makefile=ifelse($1,,Makefile,$1)
-
-@@ -830,6 +253,7 @@
- system_name="`(hostname) 2>/dev/null`"
- fi
- fi
-+AH_TEMPLATE([SYSTEM_NAME], [Set to the system name])
- test -n "$system_name" && AC_DEFINE_UNQUOTED(SYSTEM_NAME,"$system_name")
- AC_CACHE_VAL(cf_cv_system_name,[cf_cv_system_name="$system_name"])
-
-@@ -845,6 +269,8 @@
- dnl CF_CURSES_CHTYPE version: 6 updated: 2003/11/06 19:59:57
- dnl ----------------
- dnl Test if curses defines 'chtype' (usually a 'long' type for SysV curses).
-+AH_TEMPLATE([HAVE_TYPE_CHTYPE], [Define if curses defines 'chtype'.])
-+AH_TEMPLATE([TYPE_CHTYPE_IS_SCALAR], [Define if chtype is scalar rather than a struct.])
- AC_DEFUN([CF_CURSES_CHTYPE],
- [
- AC_REQUIRE([CF_CURSES_CPPFLAGS])dnl
-@@ -1091,6 +517,9 @@
- done
- ])
-
-+AH_TEMPLATE([HAVE_TERM_H], [define if you have term.h])
-+AH_TEMPLATE([HAVE_NCURSES_TERM_H], [define if you have ncurses/term.h])
-+AH_TEMPLATE([HAVE_NCURSESW_TERM_H], [define if you have ncursesw/term.h])
- case $cf_cv_term_header in #(vi
- term.h) #(vi
- AC_DEFINE(HAVE_TERM_H)
-@@ -1208,6 +637,8 @@
- dnl I don't use AC_HEADER_SYS_WAIT, because it defines HAVE_SYS_WAIT_H, which
- dnl would conflict with an attempt to test that header directly.
- dnl
-+AH_TEMPLATE([WAIT_USES_UNION], [Define if wait uses union])
-+AH_TEMPLATE([WAITPID_USES_UNION], [Define if waitpid uses union])
- AC_DEFUN([CF_FUNC_WAIT],
- [
- AC_REQUIRE([CF_UNION_WAIT])
-@@ -1690,6 +1121,7 @@
- dnl ----------------------
- dnl Check if the file-system supports mixed-case filenames. If we're able to
- dnl create a lowercase name and see it as uppercase, it doesn't support that.
-+AH_TEMPLATE([MIXEDCASE_FILENAMES],[Define if the file-system supports mixed-case filenames.])
- AC_DEFUN([CF_MIXEDCASE_FILENAMES],
- [
- AC_CACHE_CHECK(if filesystem supports mixed-case filenames,cf_cv_mixedcase,[
-@@ -1836,8 +1268,13 @@
-
- fi
-
--AC_DEFINE(NCURSES)
-
-+AH_TEMPLATE([NCURSES],[Define if you have ncurses])
-+AH_TEMPLATE([HAVE_NCURSES_H],[Define if you have ncurses.h])
-+AH_TEMPLATE([HAVE_NCURSES_NCURSES_H],[Define if you have ncurses/ncurses.h])
-+AH_TEMPLATE([HAVE_NCURSESW_NCURSES_H],[Define if you have ncursesw/ncurses.h])
-+
-+AC_DEFINE(NCURSES)
- case $cf_cv_ncurses_header in # (vi
- *ncurses.h)
- AC_DEFINE(HAVE_NCURSES_H)
-@@ -2129,6 +1566,7 @@
- dnl CF_PROG_EXT version: 10 updated: 2004/01/03 19:28:18
- dnl -----------
- dnl Compute $PROG_EXT, used for non-Unix ports, such as OS/2 EMX.
-+AH_TEMPLATE([PROG_EXT],[Set to prog extension])
- AC_DEFUN([CF_PROG_EXT],
- [
- AC_REQUIRE([CF_CHECK_CACHE])
-@@ -2281,6 +1719,7 @@
- dnl
- dnl Sets: $cf_cv_type_unionwait
- dnl Defines: HAVE_TYPE_UNIONWAIT
-+AH_TEMPLATE([HAVE_TYPE_UNIONWAIT], [Define if BSD-style union wait is declared.])
- AC_DEFUN([CF_UNION_WAIT],
- [
- AC_REQUIRE([CF_WAIT_HEADERS])
-@@ -2325,6 +1764,7 @@
- dnl CF_UTF8_LIB version: 4 updated: 2003/03/01 18:36:42
- dnl -----------
- dnl Check for multibyte support, and if not found, utf8 compatibility library
-+AH_TEMPLATE([HAVE_LIBUTF8_H],[Define if we have libutf8.h])
- AC_DEFUN([CF_UTF8_LIB],
- [
- AC_CACHE_CHECK(for multibyte character support,cf_cv_utf8_lib,[
-@@ -2430,6 +1870,7 @@
- dnl need the package name to ensure that the defined symbols are unique.
- ifelse($1,,,[
- PACKAGE=$1
-+ AH_TEMPLATE([PACKAGE],[Define to package name])
- AC_DEFINE_UNQUOTED(PACKAGE, "$PACKAGE")
- AC_SUBST(PACKAGE)
- CF_UPPER(cf_PACKAGE,$PACKAGE)
-@@ -2628,138 +2069,1693 @@
-
- test -z "$LIBTOOL" && ECHO_LT=
-
--AC_SUBST(LIBTOOL)
--AC_SUBST(LIBTOOL_CXX)
-+AC_SUBST(LIBTOOL)
-+AC_SUBST(LIBTOOL_CXX)
-+
-+AC_SUBST(LIB_CREATE)
-+AC_SUBST(LIB_OBJECT)
-+AC_SUBST(LIB_SUFFIX)
-+AC_SUBST(LIB_PREP)
-+
-+AC_SUBST(LIB_CLEAN)
-+AC_SUBST(LIB_COMPILE)
-+AC_SUBST(LIB_LINK)
-+AC_SUBST(LIB_INSTALL)
-+AC_SUBST(LIB_UNINSTALL)
-+
-+])dnl
-+dnl ---------------------------------------------------------------------------
-+dnl CF_XOPEN_CURSES version: 8 updated: 2003/11/07 19:47:46
-+dnl ---------------
-+dnl Test if we should define X/Open source for curses, needed on Digital Unix
-+dnl 4.x, to see the extended functions, but breaks on IRIX 6.x.
-+dnl
-+dnl The getbegyx() check is needed for HPUX, which omits legacy macros such
-+dnl as getbegy(). The latter is better design, but the former is standard.
-+AC_DEFUN([CF_XOPEN_CURSES],
-+[
-+AC_REQUIRE([CF_CURSES_CPPFLAGS])dnl
-+AC_CACHE_CHECK(if we must define _XOPEN_SOURCE_EXTENDED,cf_cv_need_xopen_extension,[
-+AC_TRY_LINK([
-+#include <stdlib.h>
-+#include <${cf_cv_ncurses_header-curses.h}>],[
-+ long x = winnstr(stdscr, "", 0);
-+ int x1, y1;
-+ getbegyx(stdscr, y1, x1)],
-+ [cf_cv_need_xopen_extension=no],
-+ [AC_TRY_LINK([
-+#define _XOPEN_SOURCE_EXTENDED
-+#include <stdlib.h>
-+#include <${cf_cv_ncurses_header-curses.h}>],[
-+ long x = winnstr(stdscr, "", 0);
-+ int x1, y1;
-+ getbegyx(stdscr, y1, x1)],
-+ [cf_cv_need_xopen_extension=yes],
-+ [cf_cv_need_xopen_extension=unknown])])])
-+test $cf_cv_need_xopen_extension = yes && CPPFLAGS="$CPPFLAGS -D_XOPEN_SOURCE_EXTENDED"
-+])dnl
-+dnl ---------------------------------------------------------------------------
-+dnl CF_XOPEN_SOURCE version: 17 updated: 2005/02/06 12:07:45
-+dnl ---------------
-+dnl Try to get _XOPEN_SOURCE defined properly that we can use POSIX functions,
-+dnl or adapt to the vendor's definitions to get equivalent functionality.
-+dnl
-+dnl Parameters:
-+dnl $1 is the nominal value for _XOPEN_SOURCE
-+dnl $2 is the nominal value for _POSIX_C_SOURCE
-+AC_DEFUN([CF_XOPEN_SOURCE],[
-+
-+cf_XOPEN_SOURCE=ifelse($1,,500,$1)
-+cf_POSIX_C_SOURCE=ifelse($2,,199506L,$2)
-+
-+case $host_os in #(vi
-+aix[[45]]*) #(vi
-+ CPPFLAGS="$CPPFLAGS -D_ALL_SOURCE"
-+ ;;
-+freebsd*) #(vi
-+ # 5.x headers associate
-+ # _XOPEN_SOURCE=600 with _POSIX_C_SOURCE=200112L
-+ # _XOPEN_SOURCE=500 with _POSIX_C_SOURCE=199506L
-+ cf_POSIX_C_SOURCE=200112L
-+ cf_XOPEN_SOURCE=600
-+ CPPFLAGS="$CPPFLAGS -D_BSD_TYPES -D__BSD_VISIBLE -D_POSIX_C_SOURCE=$cf_POSIX_C_SOURCE -D_XOPEN_SOURCE=$cf_XOPEN_SOURCE"
-+ ;;
-+hpux*) #(vi
-+ CPPFLAGS="$CPPFLAGS -D_HPUX_SOURCE"
-+ ;;
-+irix[[56]].*) #(vi
-+ CPPFLAGS="$CPPFLAGS -D_SGI_SOURCE"
-+ ;;
-+linux*|gnu*) #(vi
-+ CF_GNU_SOURCE
-+ ;;
-+mirbsd*) #(vi
-+ # setting _XOPEN_SOURCE or _POSIX_SOURCE breaks <arpa/inet.h>
-+ ;;
-+netbsd*) #(vi
-+ # setting _XOPEN_SOURCE breaks IPv6 for lynx on NetBSD 1.6, breaks xterm, is not needed for ncursesw
-+ ;;
-+openbsd*) #(vi
-+ # setting _XOPEN_SOURCE breaks xterm on OpenBSD 2.8, is not needed for ncursesw
-+ ;;
-+osf[[45]]*) #(vi
-+ CPPFLAGS="$CPPFLAGS -D_OSF_SOURCE"
-+ ;;
-+sco*) #(vi
-+ # setting _XOPEN_SOURCE breaks Lynx on SCO Unix / OpenServer
-+ ;;
-+solaris*) #(vi
-+ CPPFLAGS="$CPPFLAGS -D__EXTENSIONS__"
-+ ;;
-+*)
-+ AC_CACHE_CHECK(if we should define _XOPEN_SOURCE,cf_cv_xopen_source,[
-+ AC_TRY_COMPILE([#include <sys/types.h>],[
-+#ifndef _XOPEN_SOURCE
-+make an error
-+#endif],
-+ [cf_cv_xopen_source=no],
-+ [cf_save="$CPPFLAGS"
-+ CPPFLAGS="$CPPFLAGS -D_XOPEN_SOURCE=$cf_XOPEN_SOURCE"
-+ AC_TRY_COMPILE([#include <sys/types.h>],[
-+#ifdef _XOPEN_SOURCE
-+make an error
-+#endif],
-+ [cf_cv_xopen_source=no],
-+ [cf_cv_xopen_source=$cf_XOPEN_SOURCE])
-+ CPPFLAGS="$cf_save"
-+ ])
-+])
-+test "$cf_cv_xopen_source" != no && CPPFLAGS="$CPPFLAGS -U_XOPEN_SOURCE -D_XOPEN_SOURCE=$cf_cv_xopen_source"
-+ CF_POSIX_C_SOURCE($cf_POSIX_C_SOURCE)
-+ ;;
-+esac
-+])
-+
-+# gettext.m4 serial 17 (gettext-0.11.5)
-+dnl Copyright (C) 1995-2002 Free Software Foundation, Inc.
-+dnl This file is free software, distributed under the terms of the GNU
-+dnl General Public License. As a special exception to the GNU General
-+dnl Public License, this file may be distributed as part of a program
-+dnl that contains a configuration script generated by Autoconf, under
-+dnl the same distribution terms as the rest of that program.
-+dnl
-+dnl This file can can be used in projects which are not available under
-+dnl the GNU General Public License or the GNU Library General Public
-+dnl License but which still want to provide support for the GNU gettext
-+dnl functionality.
-+dnl Please note that the actual code of the GNU gettext library is covered
-+dnl by the GNU Library General Public License, and the rest of the GNU
-+dnl gettext package package is covered by the GNU General Public License.
-+dnl They are *not* in the public domain.
-+
-+dnl Authors:
-+dnl Ulrich Drepper <drepper@cygnus.com>, 1995-2000.
-+dnl Bruno Haible <haible@clisp.cons.org>, 2000-2002.
-+
-+dnl Macro to add for using GNU gettext.
-+
-+dnl Usage: AM_GNU_GETTEXT([INTLSYMBOL], [NEEDSYMBOL], [INTLDIR]).
-+dnl INTLSYMBOL can be one of 'external', 'no-libtool', 'use-libtool'. The
-+dnl default (if it is not specified or empty) is 'no-libtool'.
-+dnl INTLSYMBOL should be 'external' for packages with no intl directory,
-+dnl and 'no-libtool' or 'use-libtool' for packages with an intl directory.
-+dnl If INTLSYMBOL is 'use-libtool', then a libtool library
-+dnl $(top_builddir)/intl/libintl.la will be created (shared and/or static,
-+dnl depending on --{enable,disable}-{shared,static} and on the presence of
-+dnl AM-DISABLE-SHARED). If INTLSYMBOL is 'no-libtool', a static library
-+dnl $(top_builddir)/intl/libintl.a will be created.
-+dnl If NEEDSYMBOL is specified and is 'need-ngettext', then GNU gettext
-+dnl implementations (in libc or libintl) without the ngettext() function
-+dnl will be ignored. If NEEDSYMBOL is specified and is
-+dnl 'need-formatstring-macros', then GNU gettext implementations that don't
-+dnl support the ISO C 99 <inttypes.h> formatstring macros will be ignored.
-+dnl INTLDIR is used to find the intl libraries. If empty,
-+dnl the value `$(top_builddir)/intl/' is used.
-+dnl
-+dnl The result of the configuration is one of three cases:
-+dnl 1) GNU gettext, as included in the intl subdirectory, will be compiled
-+dnl and used.
-+dnl Catalog format: GNU --> install in $(datadir)
-+dnl Catalog extension: .mo after installation, .gmo in source tree
-+dnl 2) GNU gettext has been found in the system's C library.
-+dnl Catalog format: GNU --> install in $(datadir)
-+dnl Catalog extension: .mo after installation, .gmo in source tree
-+dnl 3) No internationalization, always use English msgid.
-+dnl Catalog format: none
-+dnl Catalog extension: none
-+dnl If INTLSYMBOL is 'external', only cases 2 and 3 can occur.
-+dnl The use of .gmo is historical (it was needed to avoid overwriting the
-+dnl GNU format catalogs when building on a platform with an X/Open gettext),
-+dnl but we keep it in order not to force irrelevant filename changes on the
-+dnl maintainers.
-+dnl
-+AC_DEFUN([AM_GNU_GETTEXT],
-+[
-+ dnl Argument checking.
-+ ifelse([$1], [], , [ifelse([$1], [external], , [ifelse([$1], [no-libtool], , [ifelse([$1], [use-libtool], ,
-+ [errprint([ERROR: invalid first argument to AM_GNU_GETTEXT
-+])])])])])
-+ ifelse([$2], [], , [ifelse([$2], [need-ngettext], , [ifelse([$2], [need-formatstring-macros], ,
-+ [errprint([ERROR: invalid second argument to AM_GNU_GETTEXT
-+])])])])
-+ define(gt_included_intl, ifelse([$1], [external], [no], [yes]))
-+ define(gt_libtool_suffix_prefix, ifelse([$1], [use-libtool], [l], []))
-+
-+ AC_REQUIRE([AM_PO_SUBDIRS])dnl
-+ ifelse(gt_included_intl, yes, [
-+ AC_REQUIRE([AM_INTL_SUBDIR])dnl
-+ ])
-+
-+ dnl Prerequisites of AC_LIB_LINKFLAGS_BODY.
-+ AC_REQUIRE([AC_LIB_PREPARE_PREFIX])
-+ AC_REQUIRE([AC_LIB_RPATH])
-+
-+ dnl Sometimes libintl requires libiconv, so first search for libiconv.
-+ dnl Ideally we would do this search only after the
-+ dnl if test "$USE_NLS" = "yes"; then
-+ dnl if test "$gt_cv_func_gnugettext_libc" != "yes"; then
-+ dnl tests. But if configure.in invokes AM_ICONV after AM_GNU_GETTEXT
-+ dnl the configure script would need to contain the same shell code
-+ dnl again, outside any 'if'. There are two solutions:
-+ dnl - Invoke AM_ICONV_LINKFLAGS_BODY here, outside any 'if'.
-+ dnl - Control the expansions in more detail using AC_PROVIDE_IFELSE.
-+ dnl Since AC_PROVIDE_IFELSE is only in autoconf >= 2.52 and not
-+ dnl documented, we avoid it.
-+ ifelse(gt_included_intl, yes, , [
-+ AC_REQUIRE([AM_ICONV_LINKFLAGS_BODY])
-+ ])
-+
-+ AC_MSG_CHECKING([whether NLS is requested])
-+ dnl Default is enabled NLS
-+ AC_ARG_ENABLE(nls,
-+ [ --disable-nls do not use Native Language Support],
-+ USE_NLS=$enableval, USE_NLS=yes)
-+ AC_MSG_RESULT($USE_NLS)
-+ AC_SUBST(USE_NLS)
-+
-+ ifelse(gt_included_intl, yes, [
-+ BUILD_INCLUDED_LIBINTL=no
-+ USE_INCLUDED_LIBINTL=no
-+ ])
-+ LIBINTL=
-+ LTLIBINTL=
-+ POSUB=
-+
-+ dnl If we use NLS figure out what method
-+ if test "$USE_NLS" = "yes"; then
-+ gt_use_preinstalled_gnugettext=no
-+ ifelse(gt_included_intl, yes, [
-+ AC_MSG_CHECKING([whether included gettext is requested])
-+ AC_ARG_WITH(included-gettext,
-+ [ --with-included-gettext use the GNU gettext library included here],
-+ nls_cv_force_use_gnu_gettext=$withval,
-+ nls_cv_force_use_gnu_gettext=no)
-+ AC_MSG_RESULT($nls_cv_force_use_gnu_gettext)
-+
-+ nls_cv_use_gnu_gettext="$nls_cv_force_use_gnu_gettext"
-+ if test "$nls_cv_force_use_gnu_gettext" != "yes"; then
-+ ])
-+ dnl User does not insist on using GNU NLS library. Figure out what
-+ dnl to use. If GNU gettext is available we use this. Else we have
-+ dnl to fall back to GNU NLS library.
-+
-+ dnl Add a version number to the cache macros.
-+ define([gt_api_version], ifelse([$2], [need-formatstring-macros], 3, ifelse([$2], [need-ngettext], 2, 1)))
-+ define([gt_cv_func_gnugettext_libc], [gt_cv_func_gnugettext]gt_api_version[_libc])
-+ define([gt_cv_func_gnugettext_libintl], [gt_cv_func_gnugettext]gt_api_version[_libintl])
-+
-+ AC_CACHE_CHECK([for GNU gettext in libc], gt_cv_func_gnugettext_libc,
-+ [AC_TRY_LINK([#include <libintl.h>
-+]ifelse([$2], [need-formatstring-macros],
-+[#ifndef __GNU_GETTEXT_SUPPORTED_REVISION
-+#define __GNU_GETTEXT_SUPPORTED_REVISION(major) ((major) == 0 ? 0 : -1)
-+#endif
-+changequote(,)dnl
-+typedef int array [2 * (__GNU_GETTEXT_SUPPORTED_REVISION(0) >= 1) - 1];
-+changequote([,])dnl
-+], [])[extern int _nl_msg_cat_cntr;
-+extern int *_nl_domain_bindings;],
-+ [bindtextdomain ("", "");
-+return (int) gettext ("")]ifelse([$2], [need-ngettext], [ + (int) ngettext ("", "", 0)], [])[ + _nl_msg_cat_cntr + *_nl_domain_bindings],
-+ gt_cv_func_gnugettext_libc=yes,
-+ gt_cv_func_gnugettext_libc=no)])
-+
-+ if test "$gt_cv_func_gnugettext_libc" != "yes"; then
-+ dnl Sometimes libintl requires libiconv, so first search for libiconv.
-+ ifelse(gt_included_intl, yes, , [
-+ AM_ICONV_LINK
-+ ])
-+ dnl Search for libintl and define LIBINTL, LTLIBINTL and INCINTL
-+ dnl accordingly. Don't use AC_LIB_LINKFLAGS_BODY([intl],[iconv])
-+ dnl because that would add "-liconv" to LIBINTL and LTLIBINTL
-+ dnl even if libiconv doesn't exist.
-+ AC_LIB_LINKFLAGS_BODY([intl])
-+ AC_CACHE_CHECK([for GNU gettext in libintl],
-+ gt_cv_func_gnugettext_libintl,
-+ [gt_save_CPPFLAGS="$CPPFLAGS"
-+ CPPFLAGS="$CPPFLAGS $INCINTL"
-+ gt_save_LIBS="$LIBS"
-+ LIBS="$LIBS $LIBINTL"
-+ dnl Now see whether libintl exists and does not depend on libiconv.
-+ AC_TRY_LINK([#include <libintl.h>
-+]ifelse([$2], [need-formatstring-macros],
-+[#ifndef __GNU_GETTEXT_SUPPORTED_REVISION
-+#define __GNU_GETTEXT_SUPPORTED_REVISION(major) ((major) == 0 ? 0 : -1)
-+#endif
-+changequote(,)dnl
-+typedef int array [2 * (__GNU_GETTEXT_SUPPORTED_REVISION(0) >= 1) - 1];
-+changequote([,])dnl
-+], [])[extern int _nl_msg_cat_cntr;
-+extern
-+#ifdef __cplusplus
-+"C"
-+#endif
-+const char *_nl_expand_alias ();],
-+ [bindtextdomain ("", "");
-+return (int) gettext ("")]ifelse([$2], [need-ngettext], [ + (int) ngettext ("", "", 0)], [])[ + _nl_msg_cat_cntr + *_nl_expand_alias (0)],
-+ gt_cv_func_gnugettext_libintl=yes,
-+ gt_cv_func_gnugettext_libintl=no)
-+ dnl Now see whether libintl exists and depends on libiconv.
-+ if test "$gt_cv_func_gnugettext_libintl" != yes && test -n "$LIBICONV"; then
-+ LIBS="$LIBS $LIBICONV"
-+ AC_TRY_LINK([#include <libintl.h>
-+]ifelse([$2], [need-formatstring-macros],
-+[#ifndef __GNU_GETTEXT_SUPPORTED_REVISION
-+#define __GNU_GETTEXT_SUPPORTED_REVISION(major) ((major) == 0 ? 0 : -1)
-+#endif
-+changequote(,)dnl
-+typedef int array [2 * (__GNU_GETTEXT_SUPPORTED_REVISION(0) >= 1) - 1];
-+changequote([,])dnl
-+], [])[extern int _nl_msg_cat_cntr;
-+extern
-+#ifdef __cplusplus
-+"C"
-+#endif
-+const char *_nl_expand_alias ();],
-+ [bindtextdomain ("", "");
-+return (int) gettext ("")]ifelse([$2], [need-ngettext], [ + (int) ngettext ("", "", 0)], [])[ + _nl_msg_cat_cntr + *_nl_expand_alias (0)],
-+ [LIBINTL="$LIBINTL $LIBICONV"
-+ LTLIBINTL="$LTLIBINTL $LTLIBICONV"
-+ gt_cv_func_gnugettext_libintl=yes
-+ ])
-+ fi
-+ CPPFLAGS="$gt_save_CPPFLAGS"
-+ LIBS="$gt_save_LIBS"])
-+ fi
-+
-+ dnl If an already present or preinstalled GNU gettext() is found,
-+ dnl use it. But if this macro is used in GNU gettext, and GNU
-+ dnl gettext is already preinstalled in libintl, we update this
-+ dnl libintl. (Cf. the install rule in intl/Makefile.in.)
-+ if test "$gt_cv_func_gnugettext_libc" = "yes" \
-+ || { test "$gt_cv_func_gnugettext_libintl" = "yes" \
-+ && test "$PACKAGE" != gettext; }; then
-+ gt_use_preinstalled_gnugettext=yes
-+ else
-+ dnl Reset the values set by searching for libintl.
-+ LIBINTL=
-+ LTLIBINTL=
-+ INCINTL=
-+ fi
-+
-+ ifelse(gt_included_intl, yes, [
-+ if test "$gt_use_preinstalled_gnugettext" != "yes"; then
-+ dnl GNU gettext is not found in the C library.
-+ dnl Fall back on included GNU gettext library.
-+ nls_cv_use_gnu_gettext=yes
-+ fi
-+ fi
-+
-+ if test "$nls_cv_use_gnu_gettext" = "yes"; then
-+ dnl Mark actions used to generate GNU NLS library.
-+ INTLOBJS="\$(GETTOBJS)"
-+ BUILD_INCLUDED_LIBINTL=yes
-+ USE_INCLUDED_LIBINTL=yes
-+ LIBINTL="ifelse([$3],[],\${top_builddir}/intl,[$3])/libintl.[]gt_libtool_suffix_prefix[]a $LIBICONV"
-+ LTLIBINTL="ifelse([$3],[],\${top_builddir}/intl,[$3])/libintl.[]gt_libtool_suffix_prefix[]a $LTLIBICONV"
-+ LIBS=`echo " $LIBS " | sed -e 's/ -lintl / /' -e 's/^ //' -e 's/ $//'`
-+ fi
-+
-+ if test "$gt_use_preinstalled_gnugettext" = "yes" \
-+ || test "$nls_cv_use_gnu_gettext" = "yes"; then
-+ dnl Mark actions to use GNU gettext tools.
-+ CATOBJEXT=.gmo
-+ fi
-+ ])
-+
-+ if test "$gt_use_preinstalled_gnugettext" = "yes" \
-+ || test "$nls_cv_use_gnu_gettext" = "yes"; then
-+ AC_DEFINE(ENABLE_NLS, 1,
-+ [Define to 1 if translation of program messages to the user's native language
-+ is requested.])
-+ else
-+ USE_NLS=no
-+ fi
-+ fi
-+
-+ if test "$USE_NLS" = "yes"; then
-+
-+ if test "$gt_use_preinstalled_gnugettext" = "yes"; then
-+ if test "$gt_cv_func_gnugettext_libintl" = "yes"; then
-+ AC_MSG_CHECKING([how to link with libintl])
-+ AC_MSG_RESULT([$LIBINTL])
-+ AC_LIB_APPENDTOVAR([CPPFLAGS], [$INCINTL])
-+ fi
-+
-+ dnl For backward compatibility. Some packages may be using this.
-+ AC_DEFINE(HAVE_GETTEXT, 1,
-+ [Define if the GNU gettext() function is already present or preinstalled.])
-+ AC_DEFINE(HAVE_DCGETTEXT, 1,
-+ [Define if the GNU dcgettext() function is already present or preinstalled.])
-+ fi
-+
-+ dnl We need to process the po/ directory.
-+ POSUB=po
-+ fi
-+
-+ ifelse(gt_included_intl, yes, [
-+ dnl If this is used in GNU gettext we have to set BUILD_INCLUDED_LIBINTL
-+ dnl to 'yes' because some of the testsuite requires it.
-+ if test "$PACKAGE" = gettext; then
-+ BUILD_INCLUDED_LIBINTL=yes
-+ fi
-+
-+ dnl Make all variables we use known to autoconf.
-+ AC_SUBST(BUILD_INCLUDED_LIBINTL)
-+ AC_SUBST(USE_INCLUDED_LIBINTL)
-+ AC_SUBST(CATOBJEXT)
-+ AC_SUBST(INTLOBJS)
-+
-+ dnl For backward compatibility. Some configure.ins may be using this.
-+ nls_cv_header_intl=
-+ nls_cv_header_libgt=
-+
-+ dnl For backward compatibility. Some Makefiles may be using this.
-+ DATADIRNAME=share
-+ AC_SUBST(DATADIRNAME)
-+
-+ dnl For backward compatibility. Some Makefiles may be using this.
-+ INSTOBJEXT=.mo
-+ AC_SUBST(INSTOBJEXT)
-+
-+ dnl For backward compatibility. Some Makefiles may be using this.
-+ GENCAT=gencat
-+ AC_SUBST(GENCAT)
-+
-+ dnl Enable libtool support if the surrounding package wishes it.
-+ INTL_LIBTOOL_SUFFIX_PREFIX=gt_libtool_suffix_prefix
-+ AC_SUBST(INTL_LIBTOOL_SUFFIX_PREFIX)
-+ ])
-+
-+ dnl For backward compatibility. Some Makefiles may be using this.
-+ INTLLIBS="$LIBINTL"
-+ AC_SUBST(INTLLIBS)
-+
-+ dnl Make all documented variables known to autoconf.
-+ AC_SUBST(LIBINTL)
-+ AC_SUBST(LTLIBINTL)
-+ AC_SUBST(POSUB)
-+])
-+
-+
-+dnl Checks for all prerequisites of the po subdirectory,
-+dnl except for USE_NLS.
-+AC_DEFUN([AM_PO_SUBDIRS],
-+[
-+ AC_REQUIRE([AC_PROG_MAKE_SET])dnl
-+ AC_REQUIRE([AC_PROG_INSTALL])dnl
-+ AC_REQUIRE([AM_MKINSTALLDIRS])dnl
-+
-+ dnl Perform the following tests also if --disable-nls has been given,
-+ dnl because they are needed for "make dist" to work.
-+
-+ dnl Search for GNU msgfmt in the PATH.
-+ dnl The first test excludes Solaris msgfmt and early GNU msgfmt versions.
-+ dnl The second test excludes FreeBSD msgfmt.
-+ AM_PATH_PROG_WITH_TEST(MSGFMT, msgfmt,
-+ [$ac_dir/$ac_word --statistics /dev/null >/dev/null 2>&1 &&
-+ (if $ac_dir/$ac_word --statistics /dev/null 2>&1 >/dev/null | grep usage >/dev/null; then exit 1; else exit 0; fi)],
-+ :)
-+ AC_PATH_PROG(GMSGFMT, gmsgfmt, $MSGFMT)
-+
-+ dnl Search for GNU xgettext 0.11 or newer in the PATH.
-+ dnl The first test excludes Solaris xgettext and early GNU xgettext versions.
-+ dnl The second test excludes FreeBSD xgettext.
-+ AM_PATH_PROG_WITH_TEST(XGETTEXT, xgettext,
-+ [$ac_dir/$ac_word --omit-header --copyright-holder= /dev/null >/dev/null 2>&1 &&
-+ (if $ac_dir/$ac_word --omit-header --copyright-holder= /dev/null 2>&1 >/dev/null | grep usage >/dev/null; then exit 1; else exit 0; fi)],
-+ :)
-+ dnl Remove leftover from FreeBSD xgettext call.
-+ rm -f messages.po
-+
-+ dnl Search for GNU msgmerge 0.11 or newer in the PATH.
-+ AM_PATH_PROG_WITH_TEST(MSGMERGE, msgmerge,
-+ [$ac_dir/$ac_word --update -q /dev/null /dev/null >/dev/null 2>&1], :)
-+
-+ dnl This could go away some day; the PATH_PROG_WITH_TEST already does it.
-+ dnl Test whether we really found GNU msgfmt.
-+ if test "$GMSGFMT" != ":"; then
-+ dnl If it is no GNU msgfmt we define it as : so that the
-+ dnl Makefiles still can work.
-+ if $GMSGFMT --statistics /dev/null >/dev/null 2>&1 &&
-+ (if $GMSGFMT --statistics /dev/null 2>&1 >/dev/null | grep usage >/dev/null; then exit 1; else exit 0; fi); then
-+ : ;
-+ else
-+ GMSGFMT=`echo "$GMSGFMT" | sed -e 's,^.*/,,'`
-+ AC_MSG_RESULT(
-+ [found $GMSGFMT program is not GNU msgfmt; ignore it])
-+ GMSGFMT=":"
-+ fi
-+ fi
-+
-+ dnl This could go away some day; the PATH_PROG_WITH_TEST already does it.
-+ dnl Test whether we really found GNU xgettext.
-+ if test "$XGETTEXT" != ":"; then
-+ dnl If it is no GNU xgettext we define it as : so that the
-+ dnl Makefiles still can work.
-+ if $XGETTEXT --omit-header --copyright-holder= /dev/null >/dev/null 2>&1 &&
-+ (if $XGETTEXT --omit-header --copyright-holder= /dev/null 2>&1 >/dev/null | grep usage >/dev/null; then exit 1; else exit 0; fi); then
-+ : ;
-+ else
-+ AC_MSG_RESULT(
-+ [found xgettext program is not GNU xgettext; ignore it])
-+ XGETTEXT=":"
-+ fi
-+ dnl Remove leftover from FreeBSD xgettext call.
-+ rm -f messages.po
-+ fi
-+
-+ AC_OUTPUT_COMMANDS([
-+ for ac_file in $CONFIG_FILES; do
-+ # Support "outfile[:infile[:infile...]]"
-+ case "$ac_file" in
-+ *:*) ac_file=`echo "$ac_file"|sed 's%:.*%%'` ;;
-+ esac
-+ # PO directories have a Makefile.in generated from Makefile.in.in.
-+ case "$ac_file" in */Makefile.in)
-+ # Adjust a relative srcdir.
-+ ac_dir=`echo "$ac_file"|sed 's%/[^/][^/]*$%%'`
-+ ac_dir_suffix="/`echo "$ac_dir"|sed 's%^\./%%'`"
-+ ac_dots=`echo "$ac_dir_suffix"|sed 's%/[^/]*%../%g'`
-+ # In autoconf-2.13 it is called $ac_given_srcdir.
-+ # In autoconf-2.50 it is called $srcdir.
-+ test -n "$ac_given_srcdir" || ac_given_srcdir="$srcdir"
-+ case "$ac_given_srcdir" in
-+ .) top_srcdir=`echo $ac_dots|sed 's%/$%%'` ;;
-+ /*) top_srcdir="$ac_given_srcdir" ;;
-+ *) top_srcdir="$ac_dots$ac_given_srcdir" ;;
-+ esac
-+ if test -f "$ac_given_srcdir/$ac_dir/POTFILES.in"; then
-+ rm -f "$ac_dir/POTFILES"
-+ test -n "$as_me" && echo "$as_me: creating $ac_dir/POTFILES" || echo "creating $ac_dir/POTFILES"
-+ cat "$ac_given_srcdir/$ac_dir/POTFILES.in" | sed -e "/^#/d" -e "/^[ ]*\$/d" -e "s,.*, $top_srcdir/& \\\\," | sed -e "\$s/\(.*\) \\\\/\1/" > "$ac_dir/POTFILES"
-+ # ALL_LINGUAS, POFILES, GMOFILES, UPDATEPOFILES, DUMMYPOFILES depend
-+ # on $ac_dir but don't depend on user-specified configuration
-+ # parameters.
-+ if test -f "$ac_given_srcdir/$ac_dir/LINGUAS"; then
-+ # The LINGUAS file contains the set of available languages.
-+ if test -n "$ALL_LINGUAS"; then
-+ test -n "$as_me" && echo "$as_me: setting ALL_LINGUAS in configure.in is obsolete" || echo "setting ALL_LINGUAS in configure.in is obsolete"
-+ fi
-+ ALL_LINGUAS_=`sed -e "/^#/d" "$ac_given_srcdir/$ac_dir/LINGUAS"`
-+ # Hide the ALL_LINGUAS assigment from automake.
-+ eval 'ALL_LINGUAS''=$ALL_LINGUAS_'
-+ fi
-+ case "$ac_given_srcdir" in
-+ .) srcdirpre= ;;
-+ *) srcdirpre='$(srcdir)/' ;;
-+ esac
-+ POFILES=
-+ GMOFILES=
-+ UPDATEPOFILES=
-+ DUMMYPOFILES=
-+ for lang in $ALL_LINGUAS; do
-+ POFILES="$POFILES $srcdirpre$lang.po"
-+ GMOFILES="$GMOFILES $srcdirpre$lang.gmo"
-+ UPDATEPOFILES="$UPDATEPOFILES $lang.po-update"
-+ DUMMYPOFILES="$DUMMYPOFILES $lang.nop"
-+ done
-+ # CATALOGS depends on both $ac_dir and the user's LINGUAS
-+ # environment variable.
-+ INST_LINGUAS=
-+ if test -n "$ALL_LINGUAS"; then
-+ for presentlang in $ALL_LINGUAS; do
-+ useit=no
-+ if test "%UNSET%" != "$LINGUAS"; then
-+ desiredlanguages="$LINGUAS"
-+ else
-+ desiredlanguages="$ALL_LINGUAS"
-+ fi
-+ for desiredlang in $desiredlanguages; do
-+ # Use the presentlang catalog if desiredlang is
-+ # a. equal to presentlang, or
-+ # b. a variant of presentlang (because in this case,
-+ # presentlang can be used as a fallback for messages
-+ # which are not translated in the desiredlang catalog).
-+ case "$desiredlang" in
-+ "$presentlang"*) useit=yes;;
-+ esac
-+ done
-+ if test $useit = yes; then
-+ INST_LINGUAS="$INST_LINGUAS $presentlang"
-+ fi
-+ done
-+ fi
-+ CATALOGS=
-+ if test -n "$INST_LINGUAS"; then
-+ for lang in $INST_LINGUAS; do
-+ CATALOGS="$CATALOGS $lang.gmo"
-+ done
-+ fi
-+ test -n "$as_me" && echo "$as_me: creating $ac_dir/Makefile" || echo "creating $ac_dir/Makefile"
-+ sed -e "/^POTFILES =/r $ac_dir/POTFILES" -e "/^# Makevars/r $ac_given_srcdir/$ac_dir/Makevars" -e "s|@POFILES@|$POFILES|g" -e "s|@GMOFILES@|$GMOFILES|g" -e "s|@UPDATEPOFILES@|$UPDATEPOFILES|g" -e "s|@DUMMYPOFILES@|$DUMMYPOFILES|g" -e "s|@CATALOGS@|$CATALOGS|g" "$ac_dir/Makefile.in" > "$ac_dir/Makefile"
-+ for f in "$ac_given_srcdir/$ac_dir"/Rules-*; do
-+ if test -f "$f"; then
-+ case "$f" in
-+ *.orig | *.bak | *~) ;;
-+ *) cat "$f" >> "$ac_dir/Makefile" ;;
-+ esac
-+ fi
-+ done
-+ fi
-+ ;;
-+ esac
-+ done],
-+ [# Capture the value of obsolete ALL_LINGUAS because we need it to compute
-+ # POFILES, GMOFILES, UPDATEPOFILES, DUMMYPOFILES, CATALOGS. But hide it
-+ # from automake.
-+ eval 'ALL_LINGUAS''="$ALL_LINGUAS"'
-+ # Capture the value of LINGUAS because we need it to compute CATALOGS.
-+ LINGUAS="${LINGUAS-%UNSET%}"
-+ ])
-+])
-+
-+
-+dnl Checks for all prerequisites of the intl subdirectory,
-+dnl except for INTL_LIBTOOL_SUFFIX_PREFIX (and possibly LIBTOOL), INTLOBJS,
-+dnl USE_INCLUDED_LIBINTL, BUILD_INCLUDED_LIBINTL.
-+AC_DEFUN([AM_INTL_SUBDIR],
-+[
-+ AC_REQUIRE([AC_PROG_INSTALL])dnl
-+ AC_REQUIRE([AM_MKINSTALLDIRS])dnl
-+ AC_REQUIRE([AC_PROG_CC])dnl
-+ AC_REQUIRE([AC_CANONICAL_HOST])dnl
-+ AC_REQUIRE([AC_PROG_RANLIB])dnl
-+ AC_REQUIRE([AC_ISC_POSIX])dnl
-+ AC_REQUIRE([AC_HEADER_STDC])dnl
-+ AC_REQUIRE([AC_C_CONST])dnl
-+ AC_REQUIRE([AC_C_INLINE])dnl
-+ AC_REQUIRE([AC_TYPE_OFF_T])dnl
-+ AC_REQUIRE([AC_TYPE_SIZE_T])dnl
-+ AC_REQUIRE([AC_FUNC_ALLOCA])dnl
-+ AC_REQUIRE([AC_FUNC_MMAP])dnl
-+ AC_REQUIRE([jm_GLIBC21])dnl
-+ AC_REQUIRE([gt_INTDIV0])dnl
-+ AC_REQUIRE([jm_AC_TYPE_UINTMAX_T])dnl
-+ AC_REQUIRE([gt_HEADER_INTTYPES_H])dnl
-+ AC_REQUIRE([gt_INTTYPES_PRI])dnl
-+
-+ AC_CHECK_HEADERS([argz.h limits.h locale.h nl_types.h malloc.h stddef.h \
-+stdlib.h string.h unistd.h sys/param.h])
-+ AC_CHECK_FUNCS([feof_unlocked fgets_unlocked getc_unlocked getcwd getegid \
-+geteuid getgid getuid mempcpy munmap putenv setenv setlocale stpcpy \
-+strcasecmp strdup strtoul tsearch __argz_count __argz_stringify __argz_next])
-+
-+ AM_ICONV
-+ AM_LANGINFO_CODESET
-+ if test $ac_cv_header_locale_h = yes; then
-+ AM_LC_MESSAGES
-+ fi
-+
-+ dnl intl/plural.c is generated from intl/plural.y. It requires bison,
-+ dnl because plural.y uses bison specific features. It requires at least
-+ dnl bison-1.26 because earlier versions generate a plural.c that doesn't
-+ dnl compile.
-+ dnl bison is only needed for the maintainer (who touches plural.y). But in
-+ dnl order to avoid separate Makefiles or --enable-maintainer-mode, we put
-+ dnl the rule in general Makefile. Now, some people carelessly touch the
-+ dnl files or have a broken "make" program, hence the plural.c rule will
-+ dnl sometimes fire. To avoid an error, defines BISON to ":" if it is not
-+ dnl present or too old.
-+ AC_CHECK_PROGS([INTLBISON], [bison])
-+ if test -z "$INTLBISON"; then
-+ ac_verc_fail=yes
-+ else
-+ dnl Found it, now check the version.
-+ AC_MSG_CHECKING([version of bison])
-+changequote(<<,>>)dnl
-+ ac_prog_version=`$INTLBISON --version 2>&1 | sed -n 's/^.*GNU Bison.* \([0-9]*\.[0-9.]*\).*$/\1/p'`
-+ case $ac_prog_version in
-+ '') ac_prog_version="v. ?.??, bad"; ac_verc_fail=yes;;
-+ 1.2[6-9]* | 1.[3-9][0-9]* | [2-9].*)
-+changequote([,])dnl
-+ ac_prog_version="$ac_prog_version, ok"; ac_verc_fail=no;;
-+ *) ac_prog_version="$ac_prog_version, bad"; ac_verc_fail=yes;;
-+ esac
-+ AC_MSG_RESULT([$ac_prog_version])
-+ fi
-+ if test $ac_verc_fail = yes; then
-+ INTLBISON=:
-+ fi
-+])
-+
-+
-+AC_DEFUN([AM_MKINSTALLDIRS],
-+[
-+ dnl If the AC_CONFIG_AUX_DIR macro for autoconf is used we possibly
-+ dnl find the mkinstalldirs script in another subdir but $(top_srcdir).
-+ dnl Try to locate is.
-+ MKINSTALLDIRS=
-+ if test -n "$ac_aux_dir"; then
-+ MKINSTALLDIRS="$ac_aux_dir/mkinstalldirs"
-+ fi
-+ if test -z "$MKINSTALLDIRS"; then
-+ MKINSTALLDIRS="\$(top_srcdir)/mkinstalldirs"
-+ fi
-+ AC_SUBST(MKINSTALLDIRS)
-+])
-+
-+
-+dnl Usage: AM_GNU_GETTEXT_VERSION([gettext-version])
-+AC_DEFUN([AM_GNU_GETTEXT_VERSION], [])
-+
-+# lib-prefix.m4 serial 1 (gettext-0.11)
-+dnl Copyright (C) 2001-2002 Free Software Foundation, Inc.
-+dnl This file is free software, distributed under the terms of the GNU
-+dnl General Public License. As a special exception to the GNU General
-+dnl Public License, this file may be distributed as part of a program
-+dnl that contains a configuration script generated by Autoconf, under
-+dnl the same distribution terms as the rest of that program.
-+
-+dnl From Bruno Haible.
-+
-+dnl AC_LIB_PREFIX adds to the CPPFLAGS and LDFLAGS the flags that are needed
-+dnl to access previously installed libraries. The basic assumption is that
-+dnl a user will want packages to use other packages he previously installed
-+dnl with the same --prefix option.
-+dnl This macro is not needed if only AC_LIB_LINKFLAGS is used to locate
-+dnl libraries, but is otherwise very convenient.
-+AC_DEFUN([AC_LIB_PREFIX],
-+[
-+ AC_BEFORE([$0], [AC_LIB_LINKFLAGS])
-+ AC_REQUIRE([AC_PROG_CC])
-+ AC_REQUIRE([AC_CANONICAL_HOST])
-+ AC_REQUIRE([AC_LIB_PREPARE_PREFIX])
-+ dnl By default, look in $includedir and $libdir.
-+ use_additional=yes
-+ AC_LIB_WITH_FINAL_PREFIX([
-+ eval additional_includedir=\"$includedir\"
-+ eval additional_libdir=\"$libdir\"
-+ ])
-+ AC_ARG_WITH([lib-prefix],
-+[ --with-lib-prefix[=DIR] search for libraries in DIR/include and DIR/lib
-+ --without-lib-prefix don't search for libraries in includedir and libdir],
-+[
-+ if test "X$withval" = "Xno"; then
-+ use_additional=no
-+ else
-+ if test "X$withval" = "X"; then
-+ AC_LIB_WITH_FINAL_PREFIX([
-+ eval additional_includedir=\"$includedir\"
-+ eval additional_libdir=\"$libdir\"
-+ ])
-+ else
-+ additional_includedir="$withval/include"
-+ additional_libdir="$withval/lib"
-+ fi
-+ fi
-+])
-+ if test $use_additional = yes; then
-+ dnl Potentially add $additional_includedir to $CPPFLAGS.
-+ dnl But don't add it
-+ dnl 1. if it's the standard /usr/include,
-+ dnl 2. if it's already present in $CPPFLAGS,
-+ dnl 3. if it's /usr/local/include and we are using GCC on Linux,
-+ dnl 4. if it doesn't exist as a directory.
-+ if test "X$additional_includedir" != "X/usr/include"; then
-+ haveit=
-+ for x in $CPPFLAGS; do
-+ AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"])
-+ if test "X$x" = "X-I$additional_includedir"; then
-+ haveit=yes
-+ break
-+ fi
-+ done
-+ if test -z "$haveit"; then
-+ if test "X$additional_includedir" = "X/usr/local/include"; then
-+ if test -n "$GCC"; then
-+ case $host_os in
-+ linux*) haveit=yes;;
-+ esac
-+ fi
-+ fi
-+ if test -z "$haveit"; then
-+ if test -d "$additional_includedir"; then
-+ dnl Really add $additional_includedir to $CPPFLAGS.
-+ CPPFLAGS="${CPPFLAGS}${CPPFLAGS:+ }-I$additional_includedir"
-+ fi
-+ fi
-+ fi
-+ fi
-+ dnl Potentially add $additional_libdir to $LDFLAGS.
-+ dnl But don't add it
-+ dnl 1. if it's the standard /usr/lib,
-+ dnl 2. if it's already present in $LDFLAGS,
-+ dnl 3. if it's /usr/local/lib and we are using GCC on Linux,
-+ dnl 4. if it doesn't exist as a directory.
-+ if test "X$additional_libdir" != "X/usr/lib"; then
-+ haveit=
-+ for x in $LDFLAGS; do
-+ AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"])
-+ if test "X$x" = "X-L$additional_libdir"; then
-+ haveit=yes
-+ break
-+ fi
-+ done
-+ if test -z "$haveit"; then
-+ if test "X$additional_libdir" = "X/usr/local/lib"; then
-+ if test -n "$GCC"; then
-+ case $host_os in
-+ linux*) haveit=yes;;
-+ esac
-+ fi
-+ fi
-+ if test -z "$haveit"; then
-+ if test -d "$additional_libdir"; then
-+ dnl Really add $additional_libdir to $LDFLAGS.
-+ LDFLAGS="${LDFLAGS}${LDFLAGS:+ }-L$additional_libdir"
-+ fi
-+ fi
-+ fi
-+ fi
-+ fi
-+])
-+
-+dnl AC_LIB_PREPARE_PREFIX creates variables acl_final_prefix,
-+dnl acl_final_exec_prefix, containing the values to which $prefix and
-+dnl $exec_prefix will expand at the end of the configure script.
-+AC_DEFUN([AC_LIB_PREPARE_PREFIX],
-+[
-+ dnl Unfortunately, prefix and exec_prefix get only finally determined
-+ dnl at the end of configure.
-+ if test "X$prefix" = "XNONE"; then
-+ acl_final_prefix="$ac_default_prefix"
-+ else
-+ acl_final_prefix="$prefix"
-+ fi
-+ if test "X$exec_prefix" = "XNONE"; then
-+ acl_final_exec_prefix='${prefix}'
-+ else
-+ acl_final_exec_prefix="$exec_prefix"
-+ fi
-+ acl_save_prefix="$prefix"
-+ prefix="$acl_final_prefix"
-+ eval acl_final_exec_prefix=\"$acl_final_exec_prefix\"
-+ prefix="$acl_save_prefix"
-+])
-+
-+dnl AC_LIB_WITH_FINAL_PREFIX([statement]) evaluates statement, with the
-+dnl variables prefix and exec_prefix bound to the values they will have
-+dnl at the end of the configure script.
-+AC_DEFUN([AC_LIB_WITH_FINAL_PREFIX],
-+[
-+ acl_save_prefix="$prefix"
-+ prefix="$acl_final_prefix"
-+ acl_save_exec_prefix="$exec_prefix"
-+ exec_prefix="$acl_final_exec_prefix"
-+ $1
-+ exec_prefix="$acl_save_exec_prefix"
-+ prefix="$acl_save_prefix"
-+])
-+
-+# lib-link.m4 serial 3 (gettext-0.11.3)
-+dnl Copyright (C) 2001-2002 Free Software Foundation, Inc.
-+dnl This file is free software, distributed under the terms of the GNU
-+dnl General Public License. As a special exception to the GNU General
-+dnl Public License, this file may be distributed as part of a program
-+dnl that contains a configuration script generated by Autoconf, under
-+dnl the same distribution terms as the rest of that program.
-+
-+dnl From Bruno Haible.
-+
-+dnl AC_LIB_LINKFLAGS(name [, dependencies]) searches for libname and
-+dnl the libraries corresponding to explicit and implicit dependencies.
-+dnl Sets and AC_SUBSTs the LIB${NAME} and LTLIB${NAME} variables and
-+dnl augments the CPPFLAGS variable.
-+AC_DEFUN([AC_LIB_LINKFLAGS],
-+[
-+ AC_REQUIRE([AC_LIB_PREPARE_PREFIX])
-+ AC_REQUIRE([AC_LIB_RPATH])
-+ define([Name],[translit([$1],[./-], [___])])
-+ define([NAME],[translit([$1],[abcdefghijklmnopqrstuvwxyz./-],
-+ [ABCDEFGHIJKLMNOPQRSTUVWXYZ___])])
-+ AC_CACHE_CHECK([how to link with lib[]$1], [ac_cv_lib[]Name[]_libs], [
-+ AC_LIB_LINKFLAGS_BODY([$1], [$2])
-+ ac_cv_lib[]Name[]_libs="$LIB[]NAME"
-+ ac_cv_lib[]Name[]_ltlibs="$LTLIB[]NAME"
-+ ac_cv_lib[]Name[]_cppflags="$INC[]NAME"
-+ ])
-+ LIB[]NAME="$ac_cv_lib[]Name[]_libs"
-+ LTLIB[]NAME="$ac_cv_lib[]Name[]_ltlibs"
-+ INC[]NAME="$ac_cv_lib[]Name[]_cppflags"
-+ AC_LIB_APPENDTOVAR([CPPFLAGS], [$INC]NAME)
-+ AC_SUBST([LIB]NAME)
-+ AC_SUBST([LTLIB]NAME)
-+ dnl Also set HAVE_LIB[]NAME so that AC_LIB_HAVE_LINKFLAGS can reuse the
-+ dnl results of this search when this library appears as a dependency.
-+ HAVE_LIB[]NAME=yes
-+ undefine([Name])
-+ undefine([NAME])
-+])
-+
-+dnl AC_LIB_HAVE_LINKFLAGS(name, dependencies, includes, testcode)
-+dnl searches for libname and the libraries corresponding to explicit and
-+dnl implicit dependencies, together with the specified include files and
-+dnl the ability to compile and link the specified testcode. If found, it
-+dnl sets and AC_SUBSTs HAVE_LIB${NAME}=yes and the LIB${NAME} and
-+dnl LTLIB${NAME} variables and augments the CPPFLAGS variable, and
-+dnl #defines HAVE_LIB${NAME} to 1. Otherwise, it sets and AC_SUBSTs
-+dnl HAVE_LIB${NAME}=no and LIB${NAME} and LTLIB${NAME} to empty.
-+AC_DEFUN([AC_LIB_HAVE_LINKFLAGS],
-+[
-+ AC_REQUIRE([AC_LIB_PREPARE_PREFIX])
-+ AC_REQUIRE([AC_LIB_RPATH])
-+ define([Name],[translit([$1],[./-], [___])])
-+ define([NAME],[translit([$1],[abcdefghijklmnopqrstuvwxyz./-],
-+ [ABCDEFGHIJKLMNOPQRSTUVWXYZ___])])
-+
-+ dnl Search for lib[]Name and define LIB[]NAME, LTLIB[]NAME and INC[]NAME
-+ dnl accordingly.
-+ AC_LIB_LINKFLAGS_BODY([$1], [$2])
-+
-+ dnl Add $INC[]NAME to CPPFLAGS before performing the following checks,
-+ dnl because if the user has installed lib[]Name and not disabled its use
-+ dnl via --without-lib[]Name-prefix, he wants to use it.
-+ ac_save_CPPFLAGS="$CPPFLAGS"
-+ AC_LIB_APPENDTOVAR([CPPFLAGS], [$INC]NAME)
-+
-+ AC_CACHE_CHECK([for lib[]$1], [ac_cv_lib[]Name], [
-+ ac_save_LIBS="$LIBS"
-+ LIBS="$LIBS $LIB[]NAME"
-+ AC_TRY_LINK([$3], [$4], [ac_cv_lib[]Name=yes], [ac_cv_lib[]Name=no])
-+ LIBS="$ac_save_LIBS"
-+ ])
-+ if test "$ac_cv_lib[]Name" = yes; then
-+ HAVE_LIB[]NAME=yes
-+ AC_DEFINE([HAVE_LIB]NAME, 1, [Define if you have the $1 library.])
-+ AC_MSG_CHECKING([how to link with lib[]$1])
-+ AC_MSG_RESULT([$LIB[]NAME])
-+ else
-+ HAVE_LIB[]NAME=no
-+ dnl If $LIB[]NAME didn't lead to a usable library, we don't need
-+ dnl $INC[]NAME either.
-+ CPPFLAGS="$ac_save_CPPFLAGS"
-+ LIB[]NAME=
-+ LTLIB[]NAME=
-+ fi
-+ AC_SUBST([HAVE_LIB]NAME)
-+ AC_SUBST([LIB]NAME)
-+ AC_SUBST([LTLIB]NAME)
-+ undefine([Name])
-+ undefine([NAME])
-+])
-+
-+dnl Determine the platform dependent parameters needed to use rpath:
-+dnl libext, shlibext, hardcode_libdir_flag_spec, hardcode_libdir_separator,
-+dnl hardcode_direct, hardcode_minus_L,
-+dnl sys_lib_search_path_spec, sys_lib_dlsearch_path_spec.
-+AC_DEFUN([AC_LIB_RPATH],
-+[
-+ AC_REQUIRE([AC_PROG_CC]) dnl we use $CC, $GCC, $LDFLAGS
-+ AC_REQUIRE([AC_LIB_PROG_LD]) dnl we use $LD, $with_gnu_ld
-+ AC_REQUIRE([AC_CANONICAL_HOST]) dnl we use $host
-+ AC_REQUIRE([AC_CONFIG_AUX_DIR_DEFAULT]) dnl we use $ac_aux_dir
-+ AC_CACHE_CHECK([for shared library run path origin], acl_cv_rpath, [
-+ CC="$CC" GCC="$GCC" LDFLAGS="$LDFLAGS" LD="$LD" with_gnu_ld="$with_gnu_ld" \
-+ ${CONFIG_SHELL-/bin/sh} "$ac_aux_dir/config.rpath" "$host" > conftest.sh
-+ . ./conftest.sh
-+ rm -f ./conftest.sh
-+ acl_cv_rpath=done
-+ ])
-+ wl="$acl_cv_wl"
-+ libext="$acl_cv_libext"
-+ shlibext="$acl_cv_shlibext"
-+ hardcode_libdir_flag_spec="$acl_cv_hardcode_libdir_flag_spec"
-+ hardcode_libdir_separator="$acl_cv_hardcode_libdir_separator"
-+ hardcode_direct="$acl_cv_hardcode_direct"
-+ hardcode_minus_L="$acl_cv_hardcode_minus_L"
-+ sys_lib_search_path_spec="$acl_cv_sys_lib_search_path_spec"
-+ sys_lib_dlsearch_path_spec="$acl_cv_sys_lib_dlsearch_path_spec"
-+ dnl Determine whether the user wants rpath handling at all.
-+ AC_ARG_ENABLE(rpath,
-+ [ --disable-rpath do not hardcode runtime library paths],
-+ :, enable_rpath=yes)
-+])
-+
-+dnl AC_LIB_LINKFLAGS_BODY(name [, dependencies]) searches for libname and
-+dnl the libraries corresponding to explicit and implicit dependencies.
-+dnl Sets the LIB${NAME}, LTLIB${NAME} and INC${NAME} variables.
-+AC_DEFUN([AC_LIB_LINKFLAGS_BODY],
-+[
-+ define([NAME],[translit([$1],[abcdefghijklmnopqrstuvwxyz./-],
-+ [ABCDEFGHIJKLMNOPQRSTUVWXYZ___])])
-+ dnl By default, look in $includedir and $libdir.
-+ use_additional=yes
-+ AC_LIB_WITH_FINAL_PREFIX([
-+ eval additional_includedir=\"$includedir\"
-+ eval additional_libdir=\"$libdir\"
-+ ])
-+ AC_ARG_WITH([lib$1-prefix],
-+[ --with-lib$1-prefix[=DIR] search for lib$1 in DIR/include and DIR/lib
-+ --without-lib$1-prefix don't search for lib$1 in includedir and libdir],
-+[
-+ if test "X$withval" = "Xno"; then
-+ use_additional=no
-+ else
-+ if test "X$withval" = "X"; then
-+ AC_LIB_WITH_FINAL_PREFIX([
-+ eval additional_includedir=\"$includedir\"
-+ eval additional_libdir=\"$libdir\"
-+ ])
-+ else
-+ additional_includedir="$withval/include"
-+ additional_libdir="$withval/lib"
-+ fi
-+ fi
-+])
-+ dnl Search the library and its dependencies in $additional_libdir and
-+ dnl $LDFLAGS. Using breadth-first-seach.
-+ LIB[]NAME=
-+ LTLIB[]NAME=
-+ INC[]NAME=
-+ rpathdirs=
-+ ltrpathdirs=
-+ names_already_handled=
-+ names_next_round='$1 $2'
-+ while test -n "$names_next_round"; do
-+ names_this_round="$names_next_round"
-+ names_next_round=
-+ for name in $names_this_round; do
-+ already_handled=
-+ for n in $names_already_handled; do
-+ if test "$n" = "$name"; then
-+ already_handled=yes
-+ break
-+ fi
-+ done
-+ if test -z "$already_handled"; then
-+ names_already_handled="$names_already_handled $name"
-+ dnl See if it was already located by an earlier AC_LIB_LINKFLAGS
-+ dnl or AC_LIB_HAVE_LINKFLAGS call.
-+ uppername=`echo "$name" | sed -e 'y|abcdefghijklmnopqrstuvwxyz./-|ABCDEFGHIJKLMNOPQRSTUVWXYZ___|'`
-+ eval value=\"\$HAVE_LIB$uppername\"
-+ if test -n "$value"; then
-+ if test "$value" = yes; then
-+ eval value=\"\$LIB$uppername\"
-+ test -z "$value" || LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$value"
-+ eval value=\"\$LTLIB$uppername\"
-+ test -z "$value" || LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }$value"
-+ else
-+ dnl An earlier call to AC_LIB_HAVE_LINKFLAGS has determined
-+ dnl that this library doesn't exist. So just drop it.
-+ :
-+ fi
-+ else
-+ dnl Search the library lib$name in $additional_libdir and $LDFLAGS
-+ dnl and the already constructed $LIBNAME/$LTLIBNAME.
-+ found_dir=
-+ found_la=
-+ found_so=
-+ found_a=
-+ if test $use_additional = yes; then
-+ if test -n "$shlibext" && test -f "$additional_libdir/lib$name.$shlibext"; then
-+ found_dir="$additional_libdir"
-+ found_so="$additional_libdir/lib$name.$shlibext"
-+ if test -f "$additional_libdir/lib$name.la"; then
-+ found_la="$additional_libdir/lib$name.la"
-+ fi
-+ else
-+ if test -f "$additional_libdir/lib$name.$libext"; then
-+ found_dir="$additional_libdir"
-+ found_a="$additional_libdir/lib$name.$libext"
-+ if test -f "$additional_libdir/lib$name.la"; then
-+ found_la="$additional_libdir/lib$name.la"
-+ fi
-+ fi
-+ fi
-+ fi
-+ if test "X$found_dir" = "X"; then
-+ for x in $LDFLAGS $LTLIB[]NAME; do
-+ AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"])
-+ case "$x" in
-+ -L*)
-+ dir=`echo "X$x" | sed -e 's/^X-L//'`
-+ if test -n "$shlibext" && test -f "$dir/lib$name.$shlibext"; then
-+ found_dir="$dir"
-+ found_so="$dir/lib$name.$shlibext"
-+ if test -f "$dir/lib$name.la"; then
-+ found_la="$dir/lib$name.la"
-+ fi
-+ else
-+ if test -f "$dir/lib$name.$libext"; then
-+ found_dir="$dir"
-+ found_a="$dir/lib$name.$libext"
-+ if test -f "$dir/lib$name.la"; then
-+ found_la="$dir/lib$name.la"
-+ fi
-+ fi
-+ fi
-+ ;;
-+ esac
-+ if test "X$found_dir" != "X"; then
-+ break
-+ fi
-+ done
-+ fi
-+ if test "X$found_dir" != "X"; then
-+ dnl Found the library.
-+ LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }-L$found_dir -l$name"
-+ if test "X$found_so" != "X"; then
-+ dnl Linking with a shared library. We attempt to hardcode its
-+ dnl directory into the executable's runpath, unless it's the
-+ dnl standard /usr/lib.
-+ if test "$enable_rpath" = no || test "X$found_dir" = "X/usr/lib"; then
-+ dnl No hardcoding is needed.
-+ LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_so"
-+ else
-+ dnl Use an explicit option to hardcode DIR into the resulting
-+ dnl binary.
-+ dnl Potentially add DIR to ltrpathdirs.
-+ dnl The ltrpathdirs will be appended to $LTLIBNAME at the end.
-+ haveit=
-+ for x in $ltrpathdirs; do
-+ if test "X$x" = "X$found_dir"; then
-+ haveit=yes
-+ break
-+ fi
-+ done
-+ if test -z "$haveit"; then
-+ ltrpathdirs="$ltrpathdirs $found_dir"
-+ fi
-+ dnl The hardcoding into $LIBNAME is system dependent.
-+ if test "$hardcode_direct" = yes; then
-+ dnl Using DIR/libNAME.so during linking hardcodes DIR into the
-+ dnl resulting binary.
-+ LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_so"
-+ else
-+ if test -n "$hardcode_libdir_flag_spec" && test "$hardcode_minus_L" = no; then
-+ dnl Use an explicit option to hardcode DIR into the resulting
-+ dnl binary.
-+ LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_so"
-+ dnl Potentially add DIR to rpathdirs.
-+ dnl The rpathdirs will be appended to $LIBNAME at the end.
-+ haveit=
-+ for x in $rpathdirs; do
-+ if test "X$x" = "X$found_dir"; then
-+ haveit=yes
-+ break
-+ fi
-+ done
-+ if test -z "$haveit"; then
-+ rpathdirs="$rpathdirs $found_dir"
-+ fi
-+ else
-+ dnl Rely on "-L$found_dir".
-+ dnl But don't add it if it's already contained in the LDFLAGS
-+ dnl or the already constructed $LIBNAME
-+ haveit=
-+ for x in $LDFLAGS $LIB[]NAME; do
-+ AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"])
-+ if test "X$x" = "X-L$found_dir"; then
-+ haveit=yes
-+ break
-+ fi
-+ done
-+ if test -z "$haveit"; then
-+ LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-L$found_dir"
-+ fi
-+ if test "$hardcode_minus_L" != no; then
-+ dnl FIXME: Not sure whether we should use
-+ dnl "-L$found_dir -l$name" or "-L$found_dir $found_so"
-+ dnl here.
-+ LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_so"
-+ else
-+ dnl We cannot use $hardcode_runpath_var and LD_RUN_PATH
-+ dnl here, because this doesn't fit in flags passed to the
-+ dnl compiler. So give up. No hardcoding. This affects only
-+ dnl very old systems.
-+ dnl FIXME: Not sure whether we should use
-+ dnl "-L$found_dir -l$name" or "-L$found_dir $found_so"
-+ dnl here.
-+ LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-l$name"
-+ fi
-+ fi
-+ fi
-+ fi
-+ else
-+ if test "X$found_a" != "X"; then
-+ dnl Linking with a static library.
-+ LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_a"
-+ else
-+ dnl We shouldn't come here, but anyway it's good to have a
-+ dnl fallback.
-+ LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-L$found_dir -l$name"
-+ fi
-+ fi
-+ dnl Assume the include files are nearby.
-+ additional_includedir=
-+ case "$found_dir" in
-+ */lib | */lib/)
-+ basedir=`echo "X$found_dir" | sed -e 's,^X,,' -e 's,/lib/*$,,'`
-+ additional_includedir="$basedir/include"
-+ ;;
-+ esac
-+ if test "X$additional_includedir" != "X"; then
-+ dnl Potentially add $additional_includedir to $INCNAME.
-+ dnl But don't add it
-+ dnl 1. if it's the standard /usr/include,
-+ dnl 2. if it's /usr/local/include and we are using GCC on Linux,
-+ dnl 3. if it's already present in $CPPFLAGS or the already
-+ dnl constructed $INCNAME,
-+ dnl 4. if it doesn't exist as a directory.
-+ if test "X$additional_includedir" != "X/usr/include"; then
-+ haveit=
-+ if test "X$additional_includedir" = "X/usr/local/include"; then
-+ if test -n "$GCC"; then
-+ case $host_os in
-+ linux*) haveit=yes;;
-+ esac
-+ fi
-+ fi
-+ if test -z "$haveit"; then
-+ for x in $CPPFLAGS $INC[]NAME; do
-+ AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"])
-+ if test "X$x" = "X-I$additional_includedir"; then
-+ haveit=yes
-+ break
-+ fi
-+ done
-+ if test -z "$haveit"; then
-+ if test -d "$additional_includedir"; then
-+ dnl Really add $additional_includedir to $INCNAME.
-+ INC[]NAME="${INC[]NAME}${INC[]NAME:+ }-I$additional_includedir"
-+ fi
-+ fi
-+ fi
-+ fi
-+ fi
-+ dnl Look for dependencies.
-+ if test -n "$found_la"; then
-+ dnl Read the .la file. It defines the variables
-+ dnl dlname, library_names, old_library, dependency_libs, current,
-+ dnl age, revision, installed, dlopen, dlpreopen, libdir.
-+ save_libdir="$libdir"
-+ case "$found_la" in
-+ */* | *\\*) . "$found_la" ;;
-+ *) . "./$found_la" ;;
-+ esac
-+ libdir="$save_libdir"
-+ dnl We use only dependency_libs.
-+ for dep in $dependency_libs; do
-+ case "$dep" in
-+ -L*)
-+ additional_libdir=`echo "X$dep" | sed -e 's/^X-L//'`
-+ dnl Potentially add $additional_libdir to $LIBNAME and $LTLIBNAME.
-+ dnl But don't add it
-+ dnl 1. if it's the standard /usr/lib,
-+ dnl 2. if it's /usr/local/lib and we are using GCC on Linux,
-+ dnl 3. if it's already present in $LDFLAGS or the already
-+ dnl constructed $LIBNAME,
-+ dnl 4. if it doesn't exist as a directory.
-+ if test "X$additional_libdir" != "X/usr/lib"; then
-+ haveit=
-+ if test "X$additional_libdir" = "X/usr/local/lib"; then
-+ if test -n "$GCC"; then
-+ case $host_os in
-+ linux*) haveit=yes;;
-+ esac
-+ fi
-+ fi
-+ if test -z "$haveit"; then
-+ haveit=
-+ for x in $LDFLAGS $LIB[]NAME; do
-+ AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"])
-+ if test "X$x" = "X-L$additional_libdir"; then
-+ haveit=yes
-+ break
-+ fi
-+ done
-+ if test -z "$haveit"; then
-+ if test -d "$additional_libdir"; then
-+ dnl Really add $additional_libdir to $LIBNAME.
-+ LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-L$additional_libdir"
-+ fi
-+ fi
-+ haveit=
-+ for x in $LDFLAGS $LTLIB[]NAME; do
-+ AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"])
-+ if test "X$x" = "X-L$additional_libdir"; then
-+ haveit=yes
-+ break
-+ fi
-+ done
-+ if test -z "$haveit"; then
-+ if test -d "$additional_libdir"; then
-+ dnl Really add $additional_libdir to $LTLIBNAME.
-+ LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }-L$additional_libdir"
-+ fi
-+ fi
-+ fi
-+ fi
-+ ;;
-+ -R*)
-+ dir=`echo "X$dep" | sed -e 's/^X-R//'`
-+ if test "$enable_rpath" != no; then
-+ dnl Potentially add DIR to rpathdirs.
-+ dnl The rpathdirs will be appended to $LIBNAME at the end.
-+ haveit=
-+ for x in $rpathdirs; do
-+ if test "X$x" = "X$dir"; then
-+ haveit=yes
-+ break
-+ fi
-+ done
-+ if test -z "$haveit"; then
-+ rpathdirs="$rpathdirs $dir"
-+ fi
-+ dnl Potentially add DIR to ltrpathdirs.
-+ dnl The ltrpathdirs will be appended to $LTLIBNAME at the end.
-+ haveit=
-+ for x in $ltrpathdirs; do
-+ if test "X$x" = "X$dir"; then
-+ haveit=yes
-+ break
-+ fi
-+ done
-+ if test -z "$haveit"; then
-+ ltrpathdirs="$ltrpathdirs $dir"
-+ fi
-+ fi
-+ ;;
-+ -l*)
-+ dnl Handle this in the next round.
-+ names_next_round="$names_next_round "`echo "X$dep" | sed -e 's/^X-l//'`
-+ ;;
-+ *.la)
-+ dnl Handle this in the next round. Throw away the .la's
-+ dnl directory; it is already contained in a preceding -L
-+ dnl option.
-+ names_next_round="$names_next_round "`echo "X$dep" | sed -e 's,^X.*/,,' -e 's,^lib,,' -e 's,\.la$,,'`
-+ ;;
-+ *)
-+ dnl Most likely an immediate library name.
-+ LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$dep"
-+ LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }$dep"
-+ ;;
-+ esac
-+ done
-+ fi
-+ else
-+ dnl Didn't find the library; assume it is in the system directories
-+ dnl known to the linker and runtime loader. (All the system
-+ dnl directories known to the linker should also be known to the
-+ dnl runtime loader, otherwise the system is severely misconfigured.)
-+ LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-l$name"
-+ LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }-l$name"
-+ fi
-+ fi
-+ fi
-+ done
-+ done
-+ if test "X$rpathdirs" != "X"; then
-+ if test -n "$hardcode_libdir_separator"; then
-+ dnl Weird platform: only the last -rpath option counts, the user must
-+ dnl pass all path elements in one option. We can arrange that for a
-+ dnl single library, but not when more than one $LIBNAMEs are used.
-+ alldirs=
-+ for found_dir in $rpathdirs; do
-+ alldirs="${alldirs}${alldirs:+$hardcode_libdir_separator}$found_dir"
-+ done
-+ dnl Note: hardcode_libdir_flag_spec uses $libdir and $wl.
-+ acl_save_libdir="$libdir"
-+ libdir="$alldirs"
-+ eval flag=\"$hardcode_libdir_flag_spec\"
-+ libdir="$acl_save_libdir"
-+ LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$flag"
-+ else
-+ dnl The -rpath options are cumulative.
-+ for found_dir in $rpathdirs; do
-+ acl_save_libdir="$libdir"
-+ libdir="$found_dir"
-+ eval flag=\"$hardcode_libdir_flag_spec\"
-+ libdir="$acl_save_libdir"
-+ LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$flag"
-+ done
-+ fi
-+ fi
-+ if test "X$ltrpathdirs" != "X"; then
-+ dnl When using libtool, the option that works for both libraries and
-+ dnl executables is -R. The -R options are cumulative.
-+ for found_dir in $ltrpathdirs; do
-+ LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }-R$found_dir"
-+ done
-+ fi
-+])
-+
-+dnl AC_LIB_APPENDTOVAR(VAR, CONTENTS) appends the elements of CONTENTS to VAR,
-+dnl unless already present in VAR.
-+dnl Works only for CPPFLAGS, not for LIB* variables because that sometimes
-+dnl contains two or three consecutive elements that belong together.
-+AC_DEFUN([AC_LIB_APPENDTOVAR],
-+[
-+ for element in [$2]; do
-+ haveit=
-+ for x in $[$1]; do
-+ AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"])
-+ if test "X$x" = "X$element"; then
-+ haveit=yes
-+ break
-+ fi
-+ done
-+ if test -z "$haveit"; then
-+ [$1]="${[$1]}${[$1]:+ }$element"
-+ fi
-+ done
-+])
-+
-+# lib-ld.m4 serial 1 (gettext-0.11)
-+dnl Copyright (C) 1996-2002 Free Software Foundation, Inc.
-+dnl This file is free software, distributed under the terms of the GNU
-+dnl General Public License. As a special exception to the GNU General
-+dnl Public License, this file may be distributed as part of a program
-+dnl that contains a configuration script generated by Autoconf, under
-+dnl the same distribution terms as the rest of that program.
-+
-+dnl Subroutines of libtool.m4,
-+dnl with replacements s/AC_/AC_LIB/ and s/lt_cv/acl_cv/ to avoid collision
-+dnl with libtool.m4.
-+
-+dnl From libtool-1.4. Sets the variable with_gnu_ld to yes or no.
-+AC_DEFUN([AC_LIB_PROG_LD_GNU],
-+[AC_CACHE_CHECK([if the linker ($LD) is GNU ld], acl_cv_prog_gnu_ld,
-+[# I'd rather use --version here, but apparently some GNU ld's only accept -v.
-+if $LD -v 2>&1 </dev/null | egrep '(GNU|with BFD)' 1>&5; then
-+ acl_cv_prog_gnu_ld=yes
-+else
-+ acl_cv_prog_gnu_ld=no
-+fi])
-+with_gnu_ld=$acl_cv_prog_gnu_ld
-+])
-+
-+dnl From libtool-1.4. Sets the variable LD.
-+AC_DEFUN([AC_LIB_PROG_LD],
-+[AC_ARG_WITH(gnu-ld,
-+[ --with-gnu-ld assume the C compiler uses GNU ld [default=no]],
-+test "$withval" = no || with_gnu_ld=yes, with_gnu_ld=no)
-+AC_REQUIRE([AC_PROG_CC])dnl
-+AC_REQUIRE([AC_CANONICAL_HOST])dnl
-+ac_prog=ld
-+if test "$GCC" = yes; then
-+ # Check if gcc -print-prog-name=ld gives a path.
-+ AC_MSG_CHECKING([for ld used by GCC])
-+ case $host in
-+ *-*-mingw*)
-+ # gcc leaves a trailing carriage return which upsets mingw
-+ ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;;
-+ *)
-+ ac_prog=`($CC -print-prog-name=ld) 2>&5` ;;
-+ esac
-+ case $ac_prog in
-+ # Accept absolute paths.
-+ [[\\/]* | [A-Za-z]:[\\/]*)]
-+ [re_direlt='/[^/][^/]*/\.\./']
-+ # Canonicalize the path of ld
-+ ac_prog=`echo $ac_prog| sed 's%\\\\%/%g'`
-+ while echo $ac_prog | grep "$re_direlt" > /dev/null 2>&1; do
-+ ac_prog=`echo $ac_prog| sed "s%$re_direlt%/%"`
-+ done
-+ test -z "$LD" && LD="$ac_prog"
-+ ;;
-+ "")
-+ # If it fails, then pretend we aren't using GCC.
-+ ac_prog=ld
-+ ;;
-+ *)
-+ # If it is relative, then search for the first ld in PATH.
-+ with_gnu_ld=unknown
-+ ;;
-+ esac
-+elif test "$with_gnu_ld" = yes; then
-+ AC_MSG_CHECKING([for GNU ld])
-+else
-+ AC_MSG_CHECKING([for non-GNU ld])
-+fi
-+AC_CACHE_VAL(acl_cv_path_LD,
-+[if test -z "$LD"; then
-+ IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}${PATH_SEPARATOR-:}"
-+ for ac_dir in $PATH; do
-+ test -z "$ac_dir" && ac_dir=.
-+ if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then
-+ acl_cv_path_LD="$ac_dir/$ac_prog"
-+ # Check to see if the program is GNU ld. I'd rather use --version,
-+ # but apparently some GNU ld's only accept -v.
-+ # Break only if it was the GNU/non-GNU ld that we prefer.
-+ if "$acl_cv_path_LD" -v 2>&1 < /dev/null | egrep '(GNU|with BFD)' > /dev/null; then
-+ test "$with_gnu_ld" != no && break
-+ else
-+ test "$with_gnu_ld" != yes && break
-+ fi
-+ fi
-+ done
-+ IFS="$ac_save_ifs"
-+else
-+ acl_cv_path_LD="$LD" # Let the user override the test with a path.
-+fi])
-+LD="$acl_cv_path_LD"
-+if test -n "$LD"; then
-+ AC_MSG_RESULT($LD)
-+else
-+ AC_MSG_RESULT(no)
-+fi
-+test -z "$LD" && AC_MSG_ERROR([no acceptable ld found in \$PATH])
-+AC_LIB_PROG_LD_GNU
-+])
-+
-+# iconv.m4 serial AM4 (gettext-0.11.3)
-+dnl Copyright (C) 2000-2002 Free Software Foundation, Inc.
-+dnl This file is free software, distributed under the terms of the GNU
-+dnl General Public License. As a special exception to the GNU General
-+dnl Public License, this file may be distributed as part of a program
-+dnl that contains a configuration script generated by Autoconf, under
-+dnl the same distribution terms as the rest of that program.
-+
-+dnl From Bruno Haible.
-+
-+AC_DEFUN([AM_ICONV_LINKFLAGS_BODY],
-+[
-+ dnl Prerequisites of AC_LIB_LINKFLAGS_BODY.
-+ AC_REQUIRE([AC_LIB_PREPARE_PREFIX])
-+ AC_REQUIRE([AC_LIB_RPATH])
-+
-+ dnl Search for libiconv and define LIBICONV, LTLIBICONV and INCICONV
-+ dnl accordingly.
-+ AC_LIB_LINKFLAGS_BODY([iconv])
-+])
-+
-+AC_DEFUN([AM_ICONV_LINK],
-+[
-+ dnl Some systems have iconv in libc, some have it in libiconv (OSF/1 and
-+ dnl those with the standalone portable GNU libiconv installed).
-+
-+ dnl Search for libiconv and define LIBICONV, LTLIBICONV and INCICONV
-+ dnl accordingly.
-+ AC_REQUIRE([AM_ICONV_LINKFLAGS_BODY])
-+
-+ dnl Add $INCICONV to CPPFLAGS before performing the following checks,
-+ dnl because if the user has installed libiconv and not disabled its use
-+ dnl via --without-libiconv-prefix, he wants to use it. The first
-+ dnl AC_TRY_LINK will then fail, the second AC_TRY_LINK will succeed.
-+ am_save_CPPFLAGS="$CPPFLAGS"
-+ AC_LIB_APPENDTOVAR([CPPFLAGS], [$INCICONV])
-+
-+ AC_CACHE_CHECK(for iconv, am_cv_func_iconv, [
-+ am_cv_func_iconv="no, consider installing GNU libiconv"
-+ am_cv_lib_iconv=no
-+ AC_TRY_LINK([#include <stdlib.h>
-+#include <iconv.h>],
-+ [iconv_t cd = iconv_open("","");
-+ iconv(cd,NULL,NULL,NULL,NULL);
-+ iconv_close(cd);],
-+ am_cv_func_iconv=yes)
-+ if test "$am_cv_func_iconv" != yes; then
-+ am_save_LIBS="$LIBS"
-+ LIBS="$LIBS $LIBICONV"
-+ AC_TRY_LINK([#include <stdlib.h>
-+#include <iconv.h>],
-+ [iconv_t cd = iconv_open("","");
-+ iconv(cd,NULL,NULL,NULL,NULL);
-+ iconv_close(cd);],
-+ am_cv_lib_iconv=yes
-+ am_cv_func_iconv=yes)
-+ LIBS="$am_save_LIBS"
-+ fi
-+ ])
-+ if test "$am_cv_func_iconv" = yes; then
-+ AC_DEFINE(HAVE_ICONV, 1, [Define if you have the iconv() function.])
-+ fi
-+ if test "$am_cv_lib_iconv" = yes; then
-+ AC_MSG_CHECKING([how to link with libiconv])
-+ AC_MSG_RESULT([$LIBICONV])
-+ else
-+ dnl If $LIBICONV didn't lead to a usable library, we don't need $INCICONV
-+ dnl either.
-+ CPPFLAGS="$am_save_CPPFLAGS"
-+ LIBICONV=
-+ LTLIBICONV=
-+ fi
-+ AC_SUBST(LIBICONV)
-+ AC_SUBST(LTLIBICONV)
-+])
-+
-+AC_DEFUN([AM_ICONV],
-+[
-+ AM_ICONV_LINK
-+ if test "$am_cv_func_iconv" = yes; then
-+ AC_MSG_CHECKING([for iconv declaration])
-+ AC_CACHE_VAL(am_cv_proto_iconv, [
-+ AC_TRY_COMPILE([
-+#include <stdlib.h>
-+#include <iconv.h>
-+extern
-+#ifdef __cplusplus
-+"C"
-+#endif
-+#if defined(__STDC__) || defined(__cplusplus)
-+size_t iconv (iconv_t cd, char * *inbuf, size_t *inbytesleft, char * *outbuf, size_t *outbytesleft);
-+#else
-+size_t iconv();
-+#endif
-+], [], am_cv_proto_iconv_arg1="", am_cv_proto_iconv_arg1="const")
-+ am_cv_proto_iconv="extern size_t iconv (iconv_t cd, $am_cv_proto_iconv_arg1 char * *inbuf, size_t *inbytesleft, char * *outbuf, size_t *outbytesleft);"])
-+ am_cv_proto_iconv=`echo "[$]am_cv_proto_iconv" | tr -s ' ' | sed -e 's/( /(/'`
-+ AC_MSG_RESULT([$]{ac_t:-
-+ }[$]am_cv_proto_iconv)
-+ AC_DEFINE_UNQUOTED(ICONV_CONST, $am_cv_proto_iconv_arg1,
-+ [Define as const if the declaration of iconv() needs const.])
-+ fi
-+])
-+
-+# progtest.m4 serial 2 (gettext-0.10.40)
-+dnl Copyright (C) 1996-2002 Free Software Foundation, Inc.
-+dnl This file is free software, distributed under the terms of the GNU
-+dnl General Public License. As a special exception to the GNU General
-+dnl Public License, this file may be distributed as part of a program
-+dnl that contains a configuration script generated by Autoconf, under
-+dnl the same distribution terms as the rest of that program.
-+dnl
-+dnl This file can can be used in projects which are not available under
-+dnl the GNU General Public License or the GNU Library General Public
-+dnl License but which still want to provide support for the GNU gettext
-+dnl functionality.
-+dnl Please note that the actual code of the GNU gettext library is covered
-+dnl by the GNU Library General Public License, and the rest of the GNU
-+dnl gettext package package is covered by the GNU General Public License.
-+dnl They are *not* in the public domain.
-
--AC_SUBST(LIB_CREATE)
--AC_SUBST(LIB_OBJECT)
--AC_SUBST(LIB_SUFFIX)
--AC_SUBST(LIB_PREP)
-+dnl Authors:
-+dnl Ulrich Drepper <drepper@cygnus.com>, 1996.
-
--AC_SUBST(LIB_CLEAN)
--AC_SUBST(LIB_COMPILE)
--AC_SUBST(LIB_LINK)
--AC_SUBST(LIB_INSTALL)
--AC_SUBST(LIB_UNINSTALL)
-+# Search path for a program which passes the given test.
-
-+dnl AM_PATH_PROG_WITH_TEST(VARIABLE, PROG-TO-CHECK-FOR,
-+dnl TEST-PERFORMED-ON-FOUND_PROGRAM [, VALUE-IF-NOT-FOUND [, PATH]])
-+AC_DEFUN([AM_PATH_PROG_WITH_TEST],
-+[# Extract the first word of "$2", so it can be a program name with args.
-+set dummy $2; ac_word=[$]2
-+AC_MSG_CHECKING([for $ac_word])
-+AC_CACHE_VAL(ac_cv_path_$1,
-+[case "[$]$1" in
-+ /*)
-+ ac_cv_path_$1="[$]$1" # Let the user override the test with a path.
-+ ;;
-+ *)
-+ IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:"
-+ for ac_dir in ifelse([$5], , $PATH, [$5]); do
-+ test -z "$ac_dir" && ac_dir=.
-+ if test -f $ac_dir/$ac_word; then
-+ if [$3]; then
-+ ac_cv_path_$1="$ac_dir/$ac_word"
-+ break
-+ fi
-+ fi
-+ done
-+ IFS="$ac_save_ifs"
-+dnl If no 4th arg is given, leave the cache variable unset,
-+dnl so AC_PATH_PROGS will keep looking.
-+ifelse([$4], , , [ test -z "[$]ac_cv_path_$1" && ac_cv_path_$1="$4"
- ])dnl
--dnl ---------------------------------------------------------------------------
--dnl CF_XOPEN_CURSES version: 8 updated: 2003/11/07 19:47:46
--dnl ---------------
--dnl Test if we should define X/Open source for curses, needed on Digital Unix
--dnl 4.x, to see the extended functions, but breaks on IRIX 6.x.
--dnl
--dnl The getbegyx() check is needed for HPUX, which omits legacy macros such
--dnl as getbegy(). The latter is better design, but the former is standard.
--AC_DEFUN([CF_XOPEN_CURSES],
--[
--AC_REQUIRE([CF_CURSES_CPPFLAGS])dnl
--AC_CACHE_CHECK(if we must define _XOPEN_SOURCE_EXTENDED,cf_cv_need_xopen_extension,[
--AC_TRY_LINK([
--#include <stdlib.h>
--#include <${cf_cv_ncurses_header-curses.h}>],[
-- long x = winnstr(stdscr, "", 0);
-- int x1, y1;
-- getbegyx(stdscr, y1, x1)],
-- [cf_cv_need_xopen_extension=no],
-- [AC_TRY_LINK([
--#define _XOPEN_SOURCE_EXTENDED
--#include <stdlib.h>
--#include <${cf_cv_ncurses_header-curses.h}>],[
-- long x = winnstr(stdscr, "", 0);
-- int x1, y1;
-- getbegyx(stdscr, y1, x1)],
-- [cf_cv_need_xopen_extension=yes],
-- [cf_cv_need_xopen_extension=unknown])])])
--test $cf_cv_need_xopen_extension = yes && CPPFLAGS="$CPPFLAGS -D_XOPEN_SOURCE_EXTENDED"
--])dnl
--dnl ---------------------------------------------------------------------------
--dnl CF_XOPEN_SOURCE version: 17 updated: 2005/02/06 12:07:45
--dnl ---------------
--dnl Try to get _XOPEN_SOURCE defined properly that we can use POSIX functions,
--dnl or adapt to the vendor's definitions to get equivalent functionality.
--dnl
--dnl Parameters:
--dnl $1 is the nominal value for _XOPEN_SOURCE
--dnl $2 is the nominal value for _POSIX_C_SOURCE
--AC_DEFUN([CF_XOPEN_SOURCE],[
-+ ;;
-+esac])dnl
-+$1="$ac_cv_path_$1"
-+if test ifelse([$4], , [-n "[$]$1"], ["[$]$1" != "$4"]); then
-+ AC_MSG_RESULT([$]$1)
-+else
-+ AC_MSG_RESULT(no)
-+fi
-+AC_SUBST($1)dnl
-+])
-
--cf_XOPEN_SOURCE=ifelse($1,,500,$1)
--cf_POSIX_C_SOURCE=ifelse($2,,199506L,$2)
-+# glibc21.m4 serial 2 (fileutils-4.1.3, gettext-0.10.40)
-+dnl Copyright (C) 2000-2002 Free Software Foundation, Inc.
-+dnl This file is free software, distributed under the terms of the GNU
-+dnl General Public License. As a special exception to the GNU General
-+dnl Public License, this file may be distributed as part of a program
-+dnl that contains a configuration script generated by Autoconf, under
-+dnl the same distribution terms as the rest of that program.
-+
-+# Test for the GNU C Library, version 2.1 or newer.
-+# From Bruno Haible.
-
--case $host_os in #(vi
--aix[[45]]*) #(vi
-- CPPFLAGS="$CPPFLAGS -D_ALL_SOURCE"
-- ;;
--freebsd*) #(vi
-- # 5.x headers associate
-- # _XOPEN_SOURCE=600 with _POSIX_C_SOURCE=200112L
-- # _XOPEN_SOURCE=500 with _POSIX_C_SOURCE=199506L
-- cf_POSIX_C_SOURCE=200112L
-- cf_XOPEN_SOURCE=600
-- CPPFLAGS="$CPPFLAGS -D_BSD_TYPES -D__BSD_VISIBLE -D_POSIX_C_SOURCE=$cf_POSIX_C_SOURCE -D_XOPEN_SOURCE=$cf_XOPEN_SOURCE"
-- ;;
--hpux*) #(vi
-- CPPFLAGS="$CPPFLAGS -D_HPUX_SOURCE"
-- ;;
--irix[[56]].*) #(vi
-- CPPFLAGS="$CPPFLAGS -D_SGI_SOURCE"
-- ;;
--linux*|gnu*) #(vi
-- CF_GNU_SOURCE
-- ;;
--mirbsd*) #(vi
-- # setting _XOPEN_SOURCE or _POSIX_SOURCE breaks <arpa/inet.h>
-- ;;
--netbsd*) #(vi
-- # setting _XOPEN_SOURCE breaks IPv6 for lynx on NetBSD 1.6, breaks xterm, is not needed for ncursesw
-- ;;
--openbsd*) #(vi
-- # setting _XOPEN_SOURCE breaks xterm on OpenBSD 2.8, is not needed for ncursesw
-- ;;
--osf[[45]]*) #(vi
-- CPPFLAGS="$CPPFLAGS -D_OSF_SOURCE"
-- ;;
--sco*) #(vi
-- # setting _XOPEN_SOURCE breaks Lynx on SCO Unix / OpenServer
-- ;;
--solaris*) #(vi
-- CPPFLAGS="$CPPFLAGS -D__EXTENSIONS__"
-- ;;
--*)
-- AC_CACHE_CHECK(if we should define _XOPEN_SOURCE,cf_cv_xopen_source,[
-- AC_TRY_COMPILE([#include <sys/types.h>],[
--#ifndef _XOPEN_SOURCE
--make an error
--#endif],
-- [cf_cv_xopen_source=no],
-- [cf_save="$CPPFLAGS"
-- CPPFLAGS="$CPPFLAGS -D_XOPEN_SOURCE=$cf_XOPEN_SOURCE"
-- AC_TRY_COMPILE([#include <sys/types.h>],[
--#ifdef _XOPEN_SOURCE
--make an error
--#endif],
-- [cf_cv_xopen_source=no],
-- [cf_cv_xopen_source=$cf_XOPEN_SOURCE])
-- CPPFLAGS="$cf_save"
-- ])
--])
--test "$cf_cv_xopen_source" != no && CPPFLAGS="$CPPFLAGS -U_XOPEN_SOURCE -D_XOPEN_SOURCE=$cf_cv_xopen_source"
-- CF_POSIX_C_SOURCE($cf_POSIX_C_SOURCE)
-- ;;
--esac
--])
--dnl ---------------------------------------------------------------------------
--dnl jm_GLIBC21 version: 3 updated: 2002/10/27 23:21:42
--dnl ----------
--dnl Inserted as requested by gettext 0.10.40
--dnl File from /usr/share/aclocal
--dnl glibc21.m4
--dnl ====================
--dnl serial 2
--dnl
--dnl Test for the GNU C Library, version 2.1 or newer.
--dnl From Bruno Haible.
- AC_DEFUN([jm_GLIBC21],
- [
- AC_CACHE_CHECK(whether we are using the GNU C Library 2.1 or newer,
-@@ -2781,3 +3777,307 @@
- GLIBC21="$ac_cv_gnu_library_2_1"
- ]
- )
-+
-+# intdiv0.m4 serial 1 (gettext-0.11.3)
-+dnl Copyright (C) 2002 Free Software Foundation, Inc.
-+dnl This file is free software, distributed under the terms of the GNU
-+dnl General Public License. As a special exception to the GNU General
-+dnl Public License, this file may be distributed as part of a program
-+dnl that contains a configuration script generated by Autoconf, under
-+dnl the same distribution terms as the rest of that program.
-+
-+dnl From Bruno Haible.
-+
-+AC_DEFUN([gt_INTDIV0],
-+[
-+ AC_REQUIRE([AC_PROG_CC])dnl
-+ AC_REQUIRE([AC_CANONICAL_HOST])dnl
-+
-+ AC_CACHE_CHECK([whether integer division by zero raises SIGFPE],
-+ gt_cv_int_divbyzero_sigfpe,
-+ [
-+ AC_TRY_RUN([
-+#include <stdlib.h>
-+#include <signal.h>
-+
-+static void
-+#ifdef __cplusplus
-+sigfpe_handler (int sig)
-+#else
-+sigfpe_handler (sig) int sig;
-+#endif
-+{
-+ /* Exit with code 0 if SIGFPE, with code 1 if any other signal. */
-+ exit (sig != SIGFPE);
-+}
-+
-+int x = 1;
-+int y = 0;
-+int z;
-+int nan;
-+
-+int main ()
-+{
-+ signal (SIGFPE, sigfpe_handler);
-+/* IRIX and AIX (when "xlc -qcheck" is used) yield signal SIGTRAP. */
-+#if (defined (__sgi) || defined (_AIX)) && defined (SIGTRAP)
-+ signal (SIGTRAP, sigfpe_handler);
-+#endif
-+/* Linux/SPARC yields signal SIGILL. */
-+#if defined (__sparc__) && defined (__linux__)
-+ signal (SIGILL, sigfpe_handler);
-+#endif
-+
-+ z = x / y;
-+ nan = y / y;
-+ exit (1);
-+}
-+], gt_cv_int_divbyzero_sigfpe=yes, gt_cv_int_divbyzero_sigfpe=no,
-+ [
-+ # Guess based on the CPU.
-+ case "$host_cpu" in
-+ alpha* | i[34567]86 | m68k | s390*)
-+ gt_cv_int_divbyzero_sigfpe="guessing yes";;
-+ *)
-+ gt_cv_int_divbyzero_sigfpe="guessing no";;
-+ esac
-+ ])
-+ ])
-+ case "$gt_cv_int_divbyzero_sigfpe" in
-+ *yes) value=1;;
-+ *) value=0;;
-+ esac
-+ AC_DEFINE_UNQUOTED(INTDIV0_RAISES_SIGFPE, $value,
-+ [Define if integer division by zero raises signal SIGFPE.])
-+])
-+
-+# uintmax_t.m4 serial 6 (gettext-0.11)
-+dnl Copyright (C) 1997-2002 Free Software Foundation, Inc.
-+dnl This file is free software, distributed under the terms of the GNU
-+dnl General Public License. As a special exception to the GNU General
-+dnl Public License, this file may be distributed as part of a program
-+dnl that contains a configuration script generated by Autoconf, under
-+dnl the same distribution terms as the rest of that program.
-+
-+dnl From Paul Eggert.
-+
-+AC_PREREQ(2.13)
-+
-+# Define uintmax_t to `unsigned long' or `unsigned long long'
-+# if <inttypes.h> does not exist.
-+
-+AC_DEFUN([jm_AC_TYPE_UINTMAX_T],
-+[
-+ AC_REQUIRE([jm_AC_HEADER_INTTYPES_H])
-+ AC_REQUIRE([jm_AC_HEADER_STDINT_H])
-+ if test $jm_ac_cv_header_inttypes_h = no && test $jm_ac_cv_header_stdint_h = no; then
-+ AC_REQUIRE([jm_AC_TYPE_UNSIGNED_LONG_LONG])
-+ test $ac_cv_type_unsigned_long_long = yes \
-+ && ac_type='unsigned long long' \
-+ || ac_type='unsigned long'
-+ AC_DEFINE_UNQUOTED(uintmax_t, $ac_type,
-+ [Define to unsigned long or unsigned long long
-+ if <inttypes.h> and <stdint.h> don't define.])
-+ fi
-+])
-+
-+# inttypes_h.m4 serial 4 (gettext-0.11.4)
-+dnl Copyright (C) 1997-2002 Free Software Foundation, Inc.
-+dnl This file is free software, distributed under the terms of the GNU
-+dnl General Public License. As a special exception to the GNU General
-+dnl Public License, this file may be distributed as part of a program
-+dnl that contains a configuration script generated by Autoconf, under
-+dnl the same distribution terms as the rest of that program.
-+
-+dnl From Paul Eggert.
-+
-+# Define HAVE_INTTYPES_H_WITH_UINTMAX if <inttypes.h> exists,
-+# doesn't clash with <sys/types.h>, and declares uintmax_t.
-+
-+AC_DEFUN([jm_AC_HEADER_INTTYPES_H],
-+[
-+ AC_CACHE_CHECK([for inttypes.h], jm_ac_cv_header_inttypes_h,
-+ [AC_TRY_COMPILE(
-+ [#include <sys/types.h>
-+#include <inttypes.h>],
-+ [uintmax_t i = (uintmax_t) -1;],
-+ jm_ac_cv_header_inttypes_h=yes,
-+ jm_ac_cv_header_inttypes_h=no)])
-+ if test $jm_ac_cv_header_inttypes_h = yes; then
-+ AC_DEFINE_UNQUOTED(HAVE_INTTYPES_H_WITH_UINTMAX, 1,
-+[Define if <inttypes.h> exists, doesn't clash with <sys/types.h>,
-+ and declares uintmax_t. ])
-+ fi
-+])
-+
-+# stdint_h.m4 serial 2 (gettext-0.11.4)
-+dnl Copyright (C) 1997-2002 Free Software Foundation, Inc.
-+dnl This file is free software, distributed under the terms of the GNU
-+dnl General Public License. As a special exception to the GNU General
-+dnl Public License, this file may be distributed as part of a program
-+dnl that contains a configuration script generated by Autoconf, under
-+dnl the same distribution terms as the rest of that program.
-+
-+dnl From Paul Eggert.
-+
-+# Define HAVE_STDINT_H_WITH_UINTMAX if <stdint.h> exists,
-+# doesn't clash with <sys/types.h>, and declares uintmax_t.
-+
-+AC_DEFUN([jm_AC_HEADER_STDINT_H],
-+[
-+ AC_CACHE_CHECK([for stdint.h], jm_ac_cv_header_stdint_h,
-+ [AC_TRY_COMPILE(
-+ [#include <sys/types.h>
-+#include <stdint.h>],
-+ [uintmax_t i = (uintmax_t) -1;],
-+ jm_ac_cv_header_stdint_h=yes,
-+ jm_ac_cv_header_stdint_h=no)])
-+ if test $jm_ac_cv_header_stdint_h = yes; then
-+ AC_DEFINE_UNQUOTED(HAVE_STDINT_H_WITH_UINTMAX, 1,
-+[Define if <stdint.h> exists, doesn't clash with <sys/types.h>,
-+ and declares uintmax_t. ])
-+ fi
-+])
-+
-+# ulonglong.m4 serial 2 (fileutils-4.0.32, gettext-0.10.40)
-+dnl Copyright (C) 1999-2002 Free Software Foundation, Inc.
-+dnl This file is free software, distributed under the terms of the GNU
-+dnl General Public License. As a special exception to the GNU General
-+dnl Public License, this file may be distributed as part of a program
-+dnl that contains a configuration script generated by Autoconf, under
-+dnl the same distribution terms as the rest of that program.
-+
-+dnl From Paul Eggert.
-+
-+AC_DEFUN([jm_AC_TYPE_UNSIGNED_LONG_LONG],
-+[
-+ AC_CACHE_CHECK([for unsigned long long], ac_cv_type_unsigned_long_long,
-+ [AC_TRY_LINK([unsigned long long ull = 1; int i = 63;],
-+ [unsigned long long ullmax = (unsigned long long) -1;
-+ return ull << i | ull >> i | ullmax / ull | ullmax % ull;],
-+ ac_cv_type_unsigned_long_long=yes,
-+ ac_cv_type_unsigned_long_long=no)])
-+ if test $ac_cv_type_unsigned_long_long = yes; then
-+ AC_DEFINE(HAVE_UNSIGNED_LONG_LONG, 1,
-+ [Define if you have the unsigned long long type.])
-+ fi
-+])
-+
-+# inttypes.m4 serial 1 (gettext-0.11.4)
-+dnl Copyright (C) 1997-2002 Free Software Foundation, Inc.
-+dnl This file is free software, distributed under the terms of the GNU
-+dnl General Public License. As a special exception to the GNU General
-+dnl Public License, this file may be distributed as part of a program
-+dnl that contains a configuration script generated by Autoconf, under
-+dnl the same distribution terms as the rest of that program.
-+
-+dnl From Paul Eggert.
-+
-+# Define HAVE_INTTYPES_H if <inttypes.h> exists and doesn't clash with
-+# <sys/types.h>.
-+
-+AC_DEFUN([gt_HEADER_INTTYPES_H],
-+[
-+ AC_CACHE_CHECK([for inttypes.h], gt_cv_header_inttypes_h,
-+ [
-+ AC_TRY_COMPILE(
-+ [#include <sys/types.h>
-+#include <inttypes.h>],
-+ [], gt_cv_header_inttypes_h=yes, gt_cv_header_inttypes_h=no)
-+ ])
-+ if test $gt_cv_header_inttypes_h = yes; then
-+ AC_DEFINE_UNQUOTED(HAVE_INTTYPES_H, 1,
-+ [Define if <inttypes.h> exists and doesn't clash with <sys/types.h>.])
-+ fi
-+])
-+
-+# inttypes-pri.m4 serial 1 (gettext-0.11.4)
-+dnl Copyright (C) 1997-2002 Free Software Foundation, Inc.
-+dnl This file is free software, distributed under the terms of the GNU
-+dnl General Public License. As a special exception to the GNU General
-+dnl Public License, this file may be distributed as part of a program
-+dnl that contains a configuration script generated by Autoconf, under
-+dnl the same distribution terms as the rest of that program.
-+
-+dnl From Bruno Haible.
-+
-+# Define PRI_MACROS_BROKEN if <inttypes.h> exists and defines the PRI*
-+# macros to non-string values. This is the case on AIX 4.3.3.
-+
-+AC_DEFUN([gt_INTTYPES_PRI],
-+[
-+ AC_REQUIRE([gt_HEADER_INTTYPES_H])
-+ if test $gt_cv_header_inttypes_h = yes; then
-+ AC_CACHE_CHECK([whether the inttypes.h PRIxNN macros are broken],
-+ gt_cv_inttypes_pri_broken,
-+ [
-+ AC_TRY_COMPILE([#include <inttypes.h>
-+#ifdef PRId32
-+char *p = PRId32;
-+#endif
-+], [], gt_cv_inttypes_pri_broken=no, gt_cv_inttypes_pri_broken=yes)
-+ ])
-+ fi
-+ if test "$gt_cv_inttypes_pri_broken" = yes; then
-+ AC_DEFINE_UNQUOTED(PRI_MACROS_BROKEN, 1,
-+ [Define if <inttypes.h> exists and defines unusable PRI* macros.])
-+ fi
-+])
-+
-+# codeset.m4 serial AM1 (gettext-0.10.40)
-+dnl Copyright (C) 2000-2002 Free Software Foundation, Inc.
-+dnl This file is free software, distributed under the terms of the GNU
-+dnl General Public License. As a special exception to the GNU General
-+dnl Public License, this file may be distributed as part of a program
-+dnl that contains a configuration script generated by Autoconf, under
-+dnl the same distribution terms as the rest of that program.
-+
-+dnl From Bruno Haible.
-+
-+AC_DEFUN([AM_LANGINFO_CODESET],
-+[
-+ AC_CACHE_CHECK([for nl_langinfo and CODESET], am_cv_langinfo_codeset,
-+ [AC_TRY_LINK([#include <langinfo.h>],
-+ [char* cs = nl_langinfo(CODESET);],
-+ am_cv_langinfo_codeset=yes,
-+ am_cv_langinfo_codeset=no)
-+ ])
-+ if test $am_cv_langinfo_codeset = yes; then
-+ AC_DEFINE(HAVE_LANGINFO_CODESET, 1,
-+ [Define if you have <langinfo.h> and nl_langinfo(CODESET).])
-+ fi
-+])
-+
-+# lcmessage.m4 serial 3 (gettext-0.11.3)
-+dnl Copyright (C) 1995-2002 Free Software Foundation, Inc.
-+dnl This file is free software, distributed under the terms of the GNU
-+dnl General Public License. As a special exception to the GNU General
-+dnl Public License, this file may be distributed as part of a program
-+dnl that contains a configuration script generated by Autoconf, under
-+dnl the same distribution terms as the rest of that program.
-+dnl
-+dnl This file can can be used in projects which are not available under
-+dnl the GNU General Public License or the GNU Library General Public
-+dnl License but which still want to provide support for the GNU gettext
-+dnl functionality.
-+dnl Please note that the actual code of the GNU gettext library is covered
-+dnl by the GNU Library General Public License, and the rest of the GNU
-+dnl gettext package package is covered by the GNU General Public License.
-+dnl They are *not* in the public domain.
-+
-+dnl Authors:
-+dnl Ulrich Drepper <drepper@cygnus.com>, 1995.
-+
-+# Check whether LC_MESSAGES is available in <locale.h>.
-+
-+AC_DEFUN([AM_LC_MESSAGES],
-+[
-+ AC_CACHE_CHECK([for LC_MESSAGES], am_cv_val_LC_MESSAGES,
-+ [AC_TRY_LINK([#include <locale.h>], [return LC_MESSAGES],
-+ am_cv_val_LC_MESSAGES=yes, am_cv_val_LC_MESSAGES=no)])
-+ if test $am_cv_val_LC_MESSAGES = yes; then
-+ AC_DEFINE(HAVE_LC_MESSAGES, 1,
-+ [Define if your <locale.h> file defines LC_MESSAGES.])
-+ fi
-+])
-+
-Index: dialog-1.0-20050306/m4/codeset.m4
-===================================================================
---- /dev/null 1970-01-01 00:00:00.000000000 +0000
-+++ dialog-1.0-20050306/m4/codeset.m4 2005-05-16 01:32:07.000000000 +0200
-@@ -0,0 +1,23 @@
-+# codeset.m4 serial AM1 (gettext-0.10.40)
-+dnl Copyright (C) 2000-2002 Free Software Foundation, Inc.
-+dnl This file is free software, distributed under the terms of the GNU
-+dnl General Public License. As a special exception to the GNU General
-+dnl Public License, this file may be distributed as part of a program
-+dnl that contains a configuration script generated by Autoconf, under
-+dnl the same distribution terms as the rest of that program.
-+
-+dnl From Bruno Haible.
-+
-+AC_DEFUN([AM_LANGINFO_CODESET],
-+[
-+ AC_CACHE_CHECK([for nl_langinfo and CODESET], am_cv_langinfo_codeset,
-+ [AC_TRY_LINK([#include <langinfo.h>],
-+ [char* cs = nl_langinfo(CODESET);],
-+ am_cv_langinfo_codeset=yes,
-+ am_cv_langinfo_codeset=no)
-+ ])
-+ if test $am_cv_langinfo_codeset = yes; then
-+ AC_DEFINE(HAVE_LANGINFO_CODESET, 1,
-+ [Define if you have <langinfo.h> and nl_langinfo(CODESET).])
-+ fi
-+])
-Index: dialog-1.0-20050306/m4/gettext.m4
-===================================================================
---- /dev/null 1970-01-01 00:00:00.000000000 +0000
-+++ dialog-1.0-20050306/m4/gettext.m4 2005-05-16 01:32:07.000000000 +0200
-@@ -0,0 +1,587 @@
-+# gettext.m4 serial 17 (gettext-0.11.5)
-+dnl Copyright (C) 1995-2002 Free Software Foundation, Inc.
-+dnl This file is free software, distributed under the terms of the GNU
-+dnl General Public License. As a special exception to the GNU General
-+dnl Public License, this file may be distributed as part of a program
-+dnl that contains a configuration script generated by Autoconf, under
-+dnl the same distribution terms as the rest of that program.
-+dnl
-+dnl This file can can be used in projects which are not available under
-+dnl the GNU General Public License or the GNU Library General Public
-+dnl License but which still want to provide support for the GNU gettext
-+dnl functionality.
-+dnl Please note that the actual code of the GNU gettext library is covered
-+dnl by the GNU Library General Public License, and the rest of the GNU
-+dnl gettext package package is covered by the GNU General Public License.
-+dnl They are *not* in the public domain.
-+
-+dnl Authors:
-+dnl Ulrich Drepper <drepper@cygnus.com>, 1995-2000.
-+dnl Bruno Haible <haible@clisp.cons.org>, 2000-2002.
-+
-+dnl Macro to add for using GNU gettext.
-+
-+dnl Usage: AM_GNU_GETTEXT([INTLSYMBOL], [NEEDSYMBOL], [INTLDIR]).
-+dnl INTLSYMBOL can be one of 'external', 'no-libtool', 'use-libtool'. The
-+dnl default (if it is not specified or empty) is 'no-libtool'.
-+dnl INTLSYMBOL should be 'external' for packages with no intl directory,
-+dnl and 'no-libtool' or 'use-libtool' for packages with an intl directory.
-+dnl If INTLSYMBOL is 'use-libtool', then a libtool library
-+dnl $(top_builddir)/intl/libintl.la will be created (shared and/or static,
-+dnl depending on --{enable,disable}-{shared,static} and on the presence of
-+dnl AM-DISABLE-SHARED). If INTLSYMBOL is 'no-libtool', a static library
-+dnl $(top_builddir)/intl/libintl.a will be created.
-+dnl If NEEDSYMBOL is specified and is 'need-ngettext', then GNU gettext
-+dnl implementations (in libc or libintl) without the ngettext() function
-+dnl will be ignored. If NEEDSYMBOL is specified and is
-+dnl 'need-formatstring-macros', then GNU gettext implementations that don't
-+dnl support the ISO C 99 <inttypes.h> formatstring macros will be ignored.
-+dnl INTLDIR is used to find the intl libraries. If empty,
-+dnl the value `$(top_builddir)/intl/' is used.
-+dnl
-+dnl The result of the configuration is one of three cases:
-+dnl 1) GNU gettext, as included in the intl subdirectory, will be compiled
-+dnl and used.
-+dnl Catalog format: GNU --> install in $(datadir)
-+dnl Catalog extension: .mo after installation, .gmo in source tree
-+dnl 2) GNU gettext has been found in the system's C library.
-+dnl Catalog format: GNU --> install in $(datadir)
-+dnl Catalog extension: .mo after installation, .gmo in source tree
-+dnl 3) No internationalization, always use English msgid.
-+dnl Catalog format: none
-+dnl Catalog extension: none
-+dnl If INTLSYMBOL is 'external', only cases 2 and 3 can occur.
-+dnl The use of .gmo is historical (it was needed to avoid overwriting the
-+dnl GNU format catalogs when building on a platform with an X/Open gettext),
-+dnl but we keep it in order not to force irrelevant filename changes on the
-+dnl maintainers.
-+dnl
-+AC_DEFUN([AM_GNU_GETTEXT],
-+[
-+ dnl Argument checking.
-+ ifelse([$1], [], , [ifelse([$1], [external], , [ifelse([$1], [no-libtool], , [ifelse([$1], [use-libtool], ,
-+ [errprint([ERROR: invalid first argument to AM_GNU_GETTEXT
-+])])])])])
-+ ifelse([$2], [], , [ifelse([$2], [need-ngettext], , [ifelse([$2], [need-formatstring-macros], ,
-+ [errprint([ERROR: invalid second argument to AM_GNU_GETTEXT
-+])])])])
-+ define(gt_included_intl, ifelse([$1], [external], [no], [yes]))
-+ define(gt_libtool_suffix_prefix, ifelse([$1], [use-libtool], [l], []))
-+
-+ AC_REQUIRE([AM_PO_SUBDIRS])dnl
-+ ifelse(gt_included_intl, yes, [
-+ AC_REQUIRE([AM_INTL_SUBDIR])dnl
-+ ])
-+
-+ dnl Prerequisites of AC_LIB_LINKFLAGS_BODY.
-+ AC_REQUIRE([AC_LIB_PREPARE_PREFIX])
-+ AC_REQUIRE([AC_LIB_RPATH])
-+
-+ dnl Sometimes libintl requires libiconv, so first search for libiconv.
-+ dnl Ideally we would do this search only after the
-+ dnl if test "$USE_NLS" = "yes"; then
-+ dnl if test "$gt_cv_func_gnugettext_libc" != "yes"; then
-+ dnl tests. But if configure.in invokes AM_ICONV after AM_GNU_GETTEXT
-+ dnl the configure script would need to contain the same shell code
-+ dnl again, outside any 'if'. There are two solutions:
-+ dnl - Invoke AM_ICONV_LINKFLAGS_BODY here, outside any 'if'.
-+ dnl - Control the expansions in more detail using AC_PROVIDE_IFELSE.
-+ dnl Since AC_PROVIDE_IFELSE is only in autoconf >= 2.52 and not
-+ dnl documented, we avoid it.
-+ ifelse(gt_included_intl, yes, , [
-+ AC_REQUIRE([AM_ICONV_LINKFLAGS_BODY])
-+ ])
-+
-+ AC_MSG_CHECKING([whether NLS is requested])
-+ dnl Default is enabled NLS
-+ AC_ARG_ENABLE(nls,
-+ [ --disable-nls do not use Native Language Support],
-+ USE_NLS=$enableval, USE_NLS=yes)
-+ AC_MSG_RESULT($USE_NLS)
-+ AC_SUBST(USE_NLS)
-+
-+ ifelse(gt_included_intl, yes, [
-+ BUILD_INCLUDED_LIBINTL=no
-+ USE_INCLUDED_LIBINTL=no
-+ ])
-+ LIBINTL=
-+ LTLIBINTL=
-+ POSUB=
-+
-+ dnl If we use NLS figure out what method
-+ if test "$USE_NLS" = "yes"; then
-+ gt_use_preinstalled_gnugettext=no
-+ ifelse(gt_included_intl, yes, [
-+ AC_MSG_CHECKING([whether included gettext is requested])
-+ AC_ARG_WITH(included-gettext,
-+ [ --with-included-gettext use the GNU gettext library included here],
-+ nls_cv_force_use_gnu_gettext=$withval,
-+ nls_cv_force_use_gnu_gettext=no)
-+ AC_MSG_RESULT($nls_cv_force_use_gnu_gettext)
-+
-+ nls_cv_use_gnu_gettext="$nls_cv_force_use_gnu_gettext"
-+ if test "$nls_cv_force_use_gnu_gettext" != "yes"; then
-+ ])
-+ dnl User does not insist on using GNU NLS library. Figure out what
-+ dnl to use. If GNU gettext is available we use this. Else we have
-+ dnl to fall back to GNU NLS library.
-+
-+ dnl Add a version number to the cache macros.
-+ define([gt_api_version], ifelse([$2], [need-formatstring-macros], 3, ifelse([$2], [need-ngettext], 2, 1)))
-+ define([gt_cv_func_gnugettext_libc], [gt_cv_func_gnugettext]gt_api_version[_libc])
-+ define([gt_cv_func_gnugettext_libintl], [gt_cv_func_gnugettext]gt_api_version[_libintl])
-+
-+ AC_CACHE_CHECK([for GNU gettext in libc], gt_cv_func_gnugettext_libc,
-+ [AC_TRY_LINK([#include <libintl.h>
-+]ifelse([$2], [need-formatstring-macros],
-+[#ifndef __GNU_GETTEXT_SUPPORTED_REVISION
-+#define __GNU_GETTEXT_SUPPORTED_REVISION(major) ((major) == 0 ? 0 : -1)
-+#endif
-+changequote(,)dnl
-+typedef int array [2 * (__GNU_GETTEXT_SUPPORTED_REVISION(0) >= 1) - 1];
-+changequote([,])dnl
-+], [])[extern int _nl_msg_cat_cntr;
-+extern int *_nl_domain_bindings;],
-+ [bindtextdomain ("", "");
-+return (int) gettext ("")]ifelse([$2], [need-ngettext], [ + (int) ngettext ("", "", 0)], [])[ + _nl_msg_cat_cntr + *_nl_domain_bindings],
-+ gt_cv_func_gnugettext_libc=yes,
-+ gt_cv_func_gnugettext_libc=no)])
-+
-+ if test "$gt_cv_func_gnugettext_libc" != "yes"; then
-+ dnl Sometimes libintl requires libiconv, so first search for libiconv.
-+ ifelse(gt_included_intl, yes, , [
-+ AM_ICONV_LINK
-+ ])
-+ dnl Search for libintl and define LIBINTL, LTLIBINTL and INCINTL
-+ dnl accordingly. Don't use AC_LIB_LINKFLAGS_BODY([intl],[iconv])
-+ dnl because that would add "-liconv" to LIBINTL and LTLIBINTL
-+ dnl even if libiconv doesn't exist.
-+ AC_LIB_LINKFLAGS_BODY([intl])
-+ AC_CACHE_CHECK([for GNU gettext in libintl],
-+ gt_cv_func_gnugettext_libintl,
-+ [gt_save_CPPFLAGS="$CPPFLAGS"
-+ CPPFLAGS="$CPPFLAGS $INCINTL"
-+ gt_save_LIBS="$LIBS"
-+ LIBS="$LIBS $LIBINTL"
-+ dnl Now see whether libintl exists and does not depend on libiconv.
-+ AC_TRY_LINK([#include <libintl.h>
-+]ifelse([$2], [need-formatstring-macros],
-+[#ifndef __GNU_GETTEXT_SUPPORTED_REVISION
-+#define __GNU_GETTEXT_SUPPORTED_REVISION(major) ((major) == 0 ? 0 : -1)
-+#endif
-+changequote(,)dnl
-+typedef int array [2 * (__GNU_GETTEXT_SUPPORTED_REVISION(0) >= 1) - 1];
-+changequote([,])dnl
-+], [])[extern int _nl_msg_cat_cntr;
-+extern
-+#ifdef __cplusplus
-+"C"
-+#endif
-+const char *_nl_expand_alias ();],
-+ [bindtextdomain ("", "");
-+return (int) gettext ("")]ifelse([$2], [need-ngettext], [ + (int) ngettext ("", "", 0)], [])[ + _nl_msg_cat_cntr + *_nl_expand_alias (0)],
-+ gt_cv_func_gnugettext_libintl=yes,
-+ gt_cv_func_gnugettext_libintl=no)
-+ dnl Now see whether libintl exists and depends on libiconv.
-+ if test "$gt_cv_func_gnugettext_libintl" != yes && test -n "$LIBICONV"; then
-+ LIBS="$LIBS $LIBICONV"
-+ AC_TRY_LINK([#include <libintl.h>
-+]ifelse([$2], [need-formatstring-macros],
-+[#ifndef __GNU_GETTEXT_SUPPORTED_REVISION
-+#define __GNU_GETTEXT_SUPPORTED_REVISION(major) ((major) == 0 ? 0 : -1)
-+#endif
-+changequote(,)dnl
-+typedef int array [2 * (__GNU_GETTEXT_SUPPORTED_REVISION(0) >= 1) - 1];
-+changequote([,])dnl
-+], [])[extern int _nl_msg_cat_cntr;
-+extern
-+#ifdef __cplusplus
-+"C"
-+#endif
-+const char *_nl_expand_alias ();],
-+ [bindtextdomain ("", "");
-+return (int) gettext ("")]ifelse([$2], [need-ngettext], [ + (int) ngettext ("", "", 0)], [])[ + _nl_msg_cat_cntr + *_nl_expand_alias (0)],
-+ [LIBINTL="$LIBINTL $LIBICONV"
-+ LTLIBINTL="$LTLIBINTL $LTLIBICONV"
-+ gt_cv_func_gnugettext_libintl=yes
-+ ])
-+ fi
-+ CPPFLAGS="$gt_save_CPPFLAGS"
-+ LIBS="$gt_save_LIBS"])
-+ fi
-+
-+ dnl If an already present or preinstalled GNU gettext() is found,
-+ dnl use it. But if this macro is used in GNU gettext, and GNU
-+ dnl gettext is already preinstalled in libintl, we update this
-+ dnl libintl. (Cf. the install rule in intl/Makefile.in.)
-+ if test "$gt_cv_func_gnugettext_libc" = "yes" \
-+ || { test "$gt_cv_func_gnugettext_libintl" = "yes" \
-+ && test "$PACKAGE" != gettext; }; then
-+ gt_use_preinstalled_gnugettext=yes
-+ else
-+ dnl Reset the values set by searching for libintl.
-+ LIBINTL=
-+ LTLIBINTL=
-+ INCINTL=
-+ fi
-+
-+ ifelse(gt_included_intl, yes, [
-+ if test "$gt_use_preinstalled_gnugettext" != "yes"; then
-+ dnl GNU gettext is not found in the C library.
-+ dnl Fall back on included GNU gettext library.
-+ nls_cv_use_gnu_gettext=yes
-+ fi
-+ fi
-+
-+ if test "$nls_cv_use_gnu_gettext" = "yes"; then
-+ dnl Mark actions used to generate GNU NLS library.
-+ INTLOBJS="\$(GETTOBJS)"
-+ BUILD_INCLUDED_LIBINTL=yes
-+ USE_INCLUDED_LIBINTL=yes
-+ LIBINTL="ifelse([$3],[],\${top_builddir}/intl,[$3])/libintl.[]gt_libtool_suffix_prefix[]a $LIBICONV"
-+ LTLIBINTL="ifelse([$3],[],\${top_builddir}/intl,[$3])/libintl.[]gt_libtool_suffix_prefix[]a $LTLIBICONV"
-+ LIBS=`echo " $LIBS " | sed -e 's/ -lintl / /' -e 's/^ //' -e 's/ $//'`
-+ fi
-+
-+ if test "$gt_use_preinstalled_gnugettext" = "yes" \
-+ || test "$nls_cv_use_gnu_gettext" = "yes"; then
-+ dnl Mark actions to use GNU gettext tools.
-+ CATOBJEXT=.gmo
-+ fi
-+ ])
-+
-+ if test "$gt_use_preinstalled_gnugettext" = "yes" \
-+ || test "$nls_cv_use_gnu_gettext" = "yes"; then
-+ AC_DEFINE(ENABLE_NLS, 1,
-+ [Define to 1 if translation of program messages to the user's native language
-+ is requested.])
-+ else
-+ USE_NLS=no
-+ fi
-+ fi
-+
-+ if test "$USE_NLS" = "yes"; then
-+
-+ if test "$gt_use_preinstalled_gnugettext" = "yes"; then
-+ if test "$gt_cv_func_gnugettext_libintl" = "yes"; then
-+ AC_MSG_CHECKING([how to link with libintl])
-+ AC_MSG_RESULT([$LIBINTL])
-+ AC_LIB_APPENDTOVAR([CPPFLAGS], [$INCINTL])
-+ fi
-+
-+ dnl For backward compatibility. Some packages may be using this.
-+ AC_DEFINE(HAVE_GETTEXT, 1,
-+ [Define if the GNU gettext() function is already present or preinstalled.])
-+ AC_DEFINE(HAVE_DCGETTEXT, 1,
-+ [Define if the GNU dcgettext() function is already present or preinstalled.])
-+ fi
-+
-+ dnl We need to process the po/ directory.
-+ POSUB=po
-+ fi
-+
-+ ifelse(gt_included_intl, yes, [
-+ dnl If this is used in GNU gettext we have to set BUILD_INCLUDED_LIBINTL
-+ dnl to 'yes' because some of the testsuite requires it.
-+ if test "$PACKAGE" = gettext; then
-+ BUILD_INCLUDED_LIBINTL=yes
-+ fi
-+
-+ dnl Make all variables we use known to autoconf.
-+ AC_SUBST(BUILD_INCLUDED_LIBINTL)
-+ AC_SUBST(USE_INCLUDED_LIBINTL)
-+ AC_SUBST(CATOBJEXT)
-+ AC_SUBST(INTLOBJS)
-+
-+ dnl For backward compatibility. Some configure.ins may be using this.
-+ nls_cv_header_intl=
-+ nls_cv_header_libgt=
-+
-+ dnl For backward compatibility. Some Makefiles may be using this.
-+ DATADIRNAME=share
-+ AC_SUBST(DATADIRNAME)
-+
-+ dnl For backward compatibility. Some Makefiles may be using this.
-+ INSTOBJEXT=.mo
-+ AC_SUBST(INSTOBJEXT)
-+
-+ dnl For backward compatibility. Some Makefiles may be using this.
-+ GENCAT=gencat
-+ AC_SUBST(GENCAT)
-+
-+ dnl Enable libtool support if the surrounding package wishes it.
-+ INTL_LIBTOOL_SUFFIX_PREFIX=gt_libtool_suffix_prefix
-+ AC_SUBST(INTL_LIBTOOL_SUFFIX_PREFIX)
-+ ])
-+
-+ dnl For backward compatibility. Some Makefiles may be using this.
-+ INTLLIBS="$LIBINTL"
-+ AC_SUBST(INTLLIBS)
-+
-+ dnl Make all documented variables known to autoconf.
-+ AC_SUBST(LIBINTL)
-+ AC_SUBST(LTLIBINTL)
-+ AC_SUBST(POSUB)
-+])
-+
-+
-+dnl Checks for all prerequisites of the po subdirectory,
-+dnl except for USE_NLS.
-+AC_DEFUN([AM_PO_SUBDIRS],
-+[
-+ AC_REQUIRE([AC_PROG_MAKE_SET])dnl
-+ AC_REQUIRE([AC_PROG_INSTALL])dnl
-+ AC_REQUIRE([AM_MKINSTALLDIRS])dnl
-+
-+ dnl Perform the following tests also if --disable-nls has been given,
-+ dnl because they are needed for "make dist" to work.
-+
-+ dnl Search for GNU msgfmt in the PATH.
-+ dnl The first test excludes Solaris msgfmt and early GNU msgfmt versions.
-+ dnl The second test excludes FreeBSD msgfmt.
-+ AM_PATH_PROG_WITH_TEST(MSGFMT, msgfmt,
-+ [$ac_dir/$ac_word --statistics /dev/null >/dev/null 2>&1 &&
-+ (if $ac_dir/$ac_word --statistics /dev/null 2>&1 >/dev/null | grep usage >/dev/null; then exit 1; else exit 0; fi)],
-+ :)
-+ AC_PATH_PROG(GMSGFMT, gmsgfmt, $MSGFMT)
-+
-+ dnl Search for GNU xgettext 0.11 or newer in the PATH.
-+ dnl The first test excludes Solaris xgettext and early GNU xgettext versions.
-+ dnl The second test excludes FreeBSD xgettext.
-+ AM_PATH_PROG_WITH_TEST(XGETTEXT, xgettext,
-+ [$ac_dir/$ac_word --omit-header --copyright-holder= /dev/null >/dev/null 2>&1 &&
-+ (if $ac_dir/$ac_word --omit-header --copyright-holder= /dev/null 2>&1 >/dev/null | grep usage >/dev/null; then exit 1; else exit 0; fi)],
-+ :)
-+ dnl Remove leftover from FreeBSD xgettext call.
-+ rm -f messages.po
-+
-+ dnl Search for GNU msgmerge 0.11 or newer in the PATH.
-+ AM_PATH_PROG_WITH_TEST(MSGMERGE, msgmerge,
-+ [$ac_dir/$ac_word --update -q /dev/null /dev/null >/dev/null 2>&1], :)
-+
-+ dnl This could go away some day; the PATH_PROG_WITH_TEST already does it.
-+ dnl Test whether we really found GNU msgfmt.
-+ if test "$GMSGFMT" != ":"; then
-+ dnl If it is no GNU msgfmt we define it as : so that the
-+ dnl Makefiles still can work.
-+ if $GMSGFMT --statistics /dev/null >/dev/null 2>&1 &&
-+ (if $GMSGFMT --statistics /dev/null 2>&1 >/dev/null | grep usage >/dev/null; then exit 1; else exit 0; fi); then
-+ : ;
-+ else
-+ GMSGFMT=`echo "$GMSGFMT" | sed -e 's,^.*/,,'`
-+ AC_MSG_RESULT(
-+ [found $GMSGFMT program is not GNU msgfmt; ignore it])
-+ GMSGFMT=":"
-+ fi
-+ fi
-+
-+ dnl This could go away some day; the PATH_PROG_WITH_TEST already does it.
-+ dnl Test whether we really found GNU xgettext.
-+ if test "$XGETTEXT" != ":"; then
-+ dnl If it is no GNU xgettext we define it as : so that the
-+ dnl Makefiles still can work.
-+ if $XGETTEXT --omit-header --copyright-holder= /dev/null >/dev/null 2>&1 &&
-+ (if $XGETTEXT --omit-header --copyright-holder= /dev/null 2>&1 >/dev/null | grep usage >/dev/null; then exit 1; else exit 0; fi); then
-+ : ;
-+ else
-+ AC_MSG_RESULT(
-+ [found xgettext program is not GNU xgettext; ignore it])
-+ XGETTEXT=":"
-+ fi
-+ dnl Remove leftover from FreeBSD xgettext call.
-+ rm -f messages.po
-+ fi
-+
-+ AC_OUTPUT_COMMANDS([
-+ for ac_file in $CONFIG_FILES; do
-+ # Support "outfile[:infile[:infile...]]"
-+ case "$ac_file" in
-+ *:*) ac_file=`echo "$ac_file"|sed 's%:.*%%'` ;;
-+ esac
-+ # PO directories have a Makefile.in generated from Makefile.in.in.
-+ case "$ac_file" in */Makefile.in)
-+ # Adjust a relative srcdir.
-+ ac_dir=`echo "$ac_file"|sed 's%/[^/][^/]*$%%'`
-+ ac_dir_suffix="/`echo "$ac_dir"|sed 's%^\./%%'`"
-+ ac_dots=`echo "$ac_dir_suffix"|sed 's%/[^/]*%../%g'`
-+ # In autoconf-2.13 it is called $ac_given_srcdir.
-+ # In autoconf-2.50 it is called $srcdir.
-+ test -n "$ac_given_srcdir" || ac_given_srcdir="$srcdir"
-+ case "$ac_given_srcdir" in
-+ .) top_srcdir=`echo $ac_dots|sed 's%/$%%'` ;;
-+ /*) top_srcdir="$ac_given_srcdir" ;;
-+ *) top_srcdir="$ac_dots$ac_given_srcdir" ;;
-+ esac
-+ if test -f "$ac_given_srcdir/$ac_dir/POTFILES.in"; then
-+ rm -f "$ac_dir/POTFILES"
-+ test -n "$as_me" && echo "$as_me: creating $ac_dir/POTFILES" || echo "creating $ac_dir/POTFILES"
-+ cat "$ac_given_srcdir/$ac_dir/POTFILES.in" | sed -e "/^#/d" -e "/^[ ]*\$/d" -e "s,.*, $top_srcdir/& \\\\," | sed -e "\$s/\(.*\) \\\\/\1/" > "$ac_dir/POTFILES"
-+ # ALL_LINGUAS, POFILES, GMOFILES, UPDATEPOFILES, DUMMYPOFILES depend
-+ # on $ac_dir but don't depend on user-specified configuration
-+ # parameters.
-+ if test -f "$ac_given_srcdir/$ac_dir/LINGUAS"; then
-+ # The LINGUAS file contains the set of available languages.
-+ if test -n "$ALL_LINGUAS"; then
-+ test -n "$as_me" && echo "$as_me: setting ALL_LINGUAS in configure.in is obsolete" || echo "setting ALL_LINGUAS in configure.in is obsolete"
-+ fi
-+ ALL_LINGUAS_=`sed -e "/^#/d" "$ac_given_srcdir/$ac_dir/LINGUAS"`
-+ # Hide the ALL_LINGUAS assigment from automake.
-+ eval 'ALL_LINGUAS''=$ALL_LINGUAS_'
-+ fi
-+ case "$ac_given_srcdir" in
-+ .) srcdirpre= ;;
-+ *) srcdirpre='$(srcdir)/' ;;
-+ esac
-+ POFILES=
-+ GMOFILES=
-+ UPDATEPOFILES=
-+ DUMMYPOFILES=
-+ for lang in $ALL_LINGUAS; do
-+ POFILES="$POFILES $srcdirpre$lang.po"
-+ GMOFILES="$GMOFILES $srcdirpre$lang.gmo"
-+ UPDATEPOFILES="$UPDATEPOFILES $lang.po-update"
-+ DUMMYPOFILES="$DUMMYPOFILES $lang.nop"
-+ done
-+ # CATALOGS depends on both $ac_dir and the user's LINGUAS
-+ # environment variable.
-+ INST_LINGUAS=
-+ if test -n "$ALL_LINGUAS"; then
-+ for presentlang in $ALL_LINGUAS; do
-+ useit=no
-+ if test "%UNSET%" != "$LINGUAS"; then
-+ desiredlanguages="$LINGUAS"
-+ else
-+ desiredlanguages="$ALL_LINGUAS"
-+ fi
-+ for desiredlang in $desiredlanguages; do
-+ # Use the presentlang catalog if desiredlang is
-+ # a. equal to presentlang, or
-+ # b. a variant of presentlang (because in this case,
-+ # presentlang can be used as a fallback for messages
-+ # which are not translated in the desiredlang catalog).
-+ case "$desiredlang" in
-+ "$presentlang"*) useit=yes;;
-+ esac
-+ done
-+ if test $useit = yes; then
-+ INST_LINGUAS="$INST_LINGUAS $presentlang"
-+ fi
-+ done
-+ fi
-+ CATALOGS=
-+ if test -n "$INST_LINGUAS"; then
-+ for lang in $INST_LINGUAS; do
-+ CATALOGS="$CATALOGS $lang.gmo"
-+ done
-+ fi
-+ test -n "$as_me" && echo "$as_me: creating $ac_dir/Makefile" || echo "creating $ac_dir/Makefile"
-+ sed -e "/^POTFILES =/r $ac_dir/POTFILES" -e "/^# Makevars/r $ac_given_srcdir/$ac_dir/Makevars" -e "s|@POFILES@|$POFILES|g" -e "s|@GMOFILES@|$GMOFILES|g" -e "s|@UPDATEPOFILES@|$UPDATEPOFILES|g" -e "s|@DUMMYPOFILES@|$DUMMYPOFILES|g" -e "s|@CATALOGS@|$CATALOGS|g" "$ac_dir/Makefile.in" > "$ac_dir/Makefile"
-+ for f in "$ac_given_srcdir/$ac_dir"/Rules-*; do
-+ if test -f "$f"; then
-+ case "$f" in
-+ *.orig | *.bak | *~) ;;
-+ *) cat "$f" >> "$ac_dir/Makefile" ;;
-+ esac
-+ fi
-+ done
-+ fi
-+ ;;
-+ esac
-+ done],
-+ [# Capture the value of obsolete ALL_LINGUAS because we need it to compute
-+ # POFILES, GMOFILES, UPDATEPOFILES, DUMMYPOFILES, CATALOGS. But hide it
-+ # from automake.
-+ eval 'ALL_LINGUAS''="$ALL_LINGUAS"'
-+ # Capture the value of LINGUAS because we need it to compute CATALOGS.
-+ LINGUAS="${LINGUAS-%UNSET%}"
-+ ])
-+])
-+
-+
-+dnl Checks for all prerequisites of the intl subdirectory,
-+dnl except for INTL_LIBTOOL_SUFFIX_PREFIX (and possibly LIBTOOL), INTLOBJS,
-+dnl USE_INCLUDED_LIBINTL, BUILD_INCLUDED_LIBINTL.
-+AC_DEFUN([AM_INTL_SUBDIR],
-+[
-+ AC_REQUIRE([AC_PROG_INSTALL])dnl
-+ AC_REQUIRE([AM_MKINSTALLDIRS])dnl
-+ AC_REQUIRE([AC_PROG_CC])dnl
-+ AC_REQUIRE([AC_CANONICAL_HOST])dnl
-+ AC_REQUIRE([AC_PROG_RANLIB])dnl
-+ AC_REQUIRE([AC_ISC_POSIX])dnl
-+ AC_REQUIRE([AC_HEADER_STDC])dnl
-+ AC_REQUIRE([AC_C_CONST])dnl
-+ AC_REQUIRE([AC_C_INLINE])dnl
-+ AC_REQUIRE([AC_TYPE_OFF_T])dnl
-+ AC_REQUIRE([AC_TYPE_SIZE_T])dnl
-+ AC_REQUIRE([AC_FUNC_ALLOCA])dnl
-+ AC_REQUIRE([AC_FUNC_MMAP])dnl
-+ AC_REQUIRE([jm_GLIBC21])dnl
-+ AC_REQUIRE([gt_INTDIV0])dnl
-+ AC_REQUIRE([jm_AC_TYPE_UINTMAX_T])dnl
-+ AC_REQUIRE([gt_HEADER_INTTYPES_H])dnl
-+ AC_REQUIRE([gt_INTTYPES_PRI])dnl
-+
-+ AC_CHECK_HEADERS([argz.h limits.h locale.h nl_types.h malloc.h stddef.h \
-+stdlib.h string.h unistd.h sys/param.h])
-+ AC_CHECK_FUNCS([feof_unlocked fgets_unlocked getc_unlocked getcwd getegid \
-+geteuid getgid getuid mempcpy munmap putenv setenv setlocale stpcpy \
-+strcasecmp strdup strtoul tsearch __argz_count __argz_stringify __argz_next])
-+
-+ AM_ICONV
-+ AM_LANGINFO_CODESET
-+ if test $ac_cv_header_locale_h = yes; then
-+ AM_LC_MESSAGES
-+ fi
-+
-+ dnl intl/plural.c is generated from intl/plural.y. It requires bison,
-+ dnl because plural.y uses bison specific features. It requires at least
-+ dnl bison-1.26 because earlier versions generate a plural.c that doesn't
-+ dnl compile.
-+ dnl bison is only needed for the maintainer (who touches plural.y). But in
-+ dnl order to avoid separate Makefiles or --enable-maintainer-mode, we put
-+ dnl the rule in general Makefile. Now, some people carelessly touch the
-+ dnl files or have a broken "make" program, hence the plural.c rule will
-+ dnl sometimes fire. To avoid an error, defines BISON to ":" if it is not
-+ dnl present or too old.
-+ AC_CHECK_PROGS([INTLBISON], [bison])
-+ if test -z "$INTLBISON"; then
-+ ac_verc_fail=yes
-+ else
-+ dnl Found it, now check the version.
-+ AC_MSG_CHECKING([version of bison])
-+changequote(<<,>>)dnl
-+ ac_prog_version=`$INTLBISON --version 2>&1 | sed -n 's/^.*GNU Bison.* \([0-9]*\.[0-9.]*\).*$/\1/p'`
-+ case $ac_prog_version in
-+ '') ac_prog_version="v. ?.??, bad"; ac_verc_fail=yes;;
-+ 1.2[6-9]* | 1.[3-9][0-9]* | [2-9].*)
-+changequote([,])dnl
-+ ac_prog_version="$ac_prog_version, ok"; ac_verc_fail=no;;
-+ *) ac_prog_version="$ac_prog_version, bad"; ac_verc_fail=yes;;
-+ esac
-+ AC_MSG_RESULT([$ac_prog_version])
-+ fi
-+ if test $ac_verc_fail = yes; then
-+ INTLBISON=:
-+ fi
-+])
-+
-+
-+AC_DEFUN([AM_MKINSTALLDIRS],
-+[
-+ dnl If the AC_CONFIG_AUX_DIR macro for autoconf is used we possibly
-+ dnl find the mkinstalldirs script in another subdir but $(top_srcdir).
-+ dnl Try to locate is.
-+ MKINSTALLDIRS=
-+ if test -n "$ac_aux_dir"; then
-+ MKINSTALLDIRS="$ac_aux_dir/mkinstalldirs"
-+ fi
-+ if test -z "$MKINSTALLDIRS"; then
-+ MKINSTALLDIRS="\$(top_srcdir)/mkinstalldirs"
-+ fi
-+ AC_SUBST(MKINSTALLDIRS)
-+])
-+
-+
-+dnl Usage: AM_GNU_GETTEXT_VERSION([gettext-version])
-+AC_DEFUN([AM_GNU_GETTEXT_VERSION], [])
-Index: dialog-1.0-20050306/m4/glibc21.m4
-===================================================================
---- /dev/null 1970-01-01 00:00:00.000000000 +0000
-+++ dialog-1.0-20050306/m4/glibc21.m4 2005-05-16 01:32:07.000000000 +0200
-@@ -0,0 +1,32 @@
-+# glibc21.m4 serial 2 (fileutils-4.1.3, gettext-0.10.40)
-+dnl Copyright (C) 2000-2002 Free Software Foundation, Inc.
-+dnl This file is free software, distributed under the terms of the GNU
-+dnl General Public License. As a special exception to the GNU General
-+dnl Public License, this file may be distributed as part of a program
-+dnl that contains a configuration script generated by Autoconf, under
-+dnl the same distribution terms as the rest of that program.
-+
-+# Test for the GNU C Library, version 2.1 or newer.
-+# From Bruno Haible.
-+
-+AC_DEFUN([jm_GLIBC21],
-+ [
-+ AC_CACHE_CHECK(whether we are using the GNU C Library 2.1 or newer,
-+ ac_cv_gnu_library_2_1,
-+ [AC_EGREP_CPP([Lucky GNU user],
-+ [
-+#include <features.h>
-+#ifdef __GNU_LIBRARY__
-+ #if (__GLIBC__ == 2 && __GLIBC_MINOR__ >= 1) || (__GLIBC__ > 2)
-+ Lucky GNU user
-+ #endif
-+#endif
-+ ],
-+ ac_cv_gnu_library_2_1=yes,
-+ ac_cv_gnu_library_2_1=no)
-+ ]
-+ )
-+ AC_SUBST(GLIBC21)
-+ GLIBC21="$ac_cv_gnu_library_2_1"
-+ ]
-+)
-Index: dialog-1.0-20050306/m4/iconv.m4
-===================================================================
---- /dev/null 1970-01-01 00:00:00.000000000 +0000
-+++ dialog-1.0-20050306/m4/iconv.m4 2005-05-16 01:32:07.000000000 +0200
-@@ -0,0 +1,103 @@
-+# iconv.m4 serial AM4 (gettext-0.11.3)
-+dnl Copyright (C) 2000-2002 Free Software Foundation, Inc.
-+dnl This file is free software, distributed under the terms of the GNU
-+dnl General Public License. As a special exception to the GNU General
-+dnl Public License, this file may be distributed as part of a program
-+dnl that contains a configuration script generated by Autoconf, under
-+dnl the same distribution terms as the rest of that program.
-+
-+dnl From Bruno Haible.
-+
-+AC_DEFUN([AM_ICONV_LINKFLAGS_BODY],
-+[
-+ dnl Prerequisites of AC_LIB_LINKFLAGS_BODY.
-+ AC_REQUIRE([AC_LIB_PREPARE_PREFIX])
-+ AC_REQUIRE([AC_LIB_RPATH])
-+
-+ dnl Search for libiconv and define LIBICONV, LTLIBICONV and INCICONV
-+ dnl accordingly.
-+ AC_LIB_LINKFLAGS_BODY([iconv])
-+])
-+
-+AC_DEFUN([AM_ICONV_LINK],
-+[
-+ dnl Some systems have iconv in libc, some have it in libiconv (OSF/1 and
-+ dnl those with the standalone portable GNU libiconv installed).
-+
-+ dnl Search for libiconv and define LIBICONV, LTLIBICONV and INCICONV
-+ dnl accordingly.
-+ AC_REQUIRE([AM_ICONV_LINKFLAGS_BODY])
-+
-+ dnl Add $INCICONV to CPPFLAGS before performing the following checks,
-+ dnl because if the user has installed libiconv and not disabled its use
-+ dnl via --without-libiconv-prefix, he wants to use it. The first
-+ dnl AC_TRY_LINK will then fail, the second AC_TRY_LINK will succeed.
-+ am_save_CPPFLAGS="$CPPFLAGS"
-+ AC_LIB_APPENDTOVAR([CPPFLAGS], [$INCICONV])
-+
-+ AC_CACHE_CHECK(for iconv, am_cv_func_iconv, [
-+ am_cv_func_iconv="no, consider installing GNU libiconv"
-+ am_cv_lib_iconv=no
-+ AC_TRY_LINK([#include <stdlib.h>
-+#include <iconv.h>],
-+ [iconv_t cd = iconv_open("","");
-+ iconv(cd,NULL,NULL,NULL,NULL);
-+ iconv_close(cd);],
-+ am_cv_func_iconv=yes)
-+ if test "$am_cv_func_iconv" != yes; then
-+ am_save_LIBS="$LIBS"
-+ LIBS="$LIBS $LIBICONV"
-+ AC_TRY_LINK([#include <stdlib.h>
-+#include <iconv.h>],
-+ [iconv_t cd = iconv_open("","");
-+ iconv(cd,NULL,NULL,NULL,NULL);
-+ iconv_close(cd);],
-+ am_cv_lib_iconv=yes
-+ am_cv_func_iconv=yes)
-+ LIBS="$am_save_LIBS"
-+ fi
-+ ])
-+ if test "$am_cv_func_iconv" = yes; then
-+ AC_DEFINE(HAVE_ICONV, 1, [Define if you have the iconv() function.])
-+ fi
-+ if test "$am_cv_lib_iconv" = yes; then
-+ AC_MSG_CHECKING([how to link with libiconv])
-+ AC_MSG_RESULT([$LIBICONV])
-+ else
-+ dnl If $LIBICONV didn't lead to a usable library, we don't need $INCICONV
-+ dnl either.
-+ CPPFLAGS="$am_save_CPPFLAGS"
-+ LIBICONV=
-+ LTLIBICONV=
-+ fi
-+ AC_SUBST(LIBICONV)
-+ AC_SUBST(LTLIBICONV)
-+])
-+
-+AC_DEFUN([AM_ICONV],
-+[
-+ AM_ICONV_LINK
-+ if test "$am_cv_func_iconv" = yes; then
-+ AC_MSG_CHECKING([for iconv declaration])
-+ AC_CACHE_VAL(am_cv_proto_iconv, [
-+ AC_TRY_COMPILE([
-+#include <stdlib.h>
-+#include <iconv.h>
-+extern
-+#ifdef __cplusplus
-+"C"
-+#endif
-+#if defined(__STDC__) || defined(__cplusplus)
-+size_t iconv (iconv_t cd, char * *inbuf, size_t *inbytesleft, char * *outbuf, size_t *outbytesleft);
-+#else
-+size_t iconv();
-+#endif
-+], [], am_cv_proto_iconv_arg1="", am_cv_proto_iconv_arg1="const")
-+ am_cv_proto_iconv="extern size_t iconv (iconv_t cd, $am_cv_proto_iconv_arg1 char * *inbuf, size_t *inbytesleft, char * *outbuf, size_t *outbytesleft);"])
-+ am_cv_proto_iconv=`echo "[$]am_cv_proto_iconv" | tr -s ' ' | sed -e 's/( /(/'`
-+ AC_MSG_RESULT([$]{ac_t:-
-+ }[$]am_cv_proto_iconv)
-+ AC_DEFINE_UNQUOTED(ICONV_CONST, $am_cv_proto_iconv_arg1,
-+ [Define as const if the declaration of iconv() needs const.])
-+ fi
-+])
-Index: dialog-1.0-20050306/m4/intdiv0.m4
-===================================================================
---- /dev/null 1970-01-01 00:00:00.000000000 +0000
-+++ dialog-1.0-20050306/m4/intdiv0.m4 2005-05-16 01:32:07.000000000 +0200
-@@ -0,0 +1,72 @@
-+# intdiv0.m4 serial 1 (gettext-0.11.3)
-+dnl Copyright (C) 2002 Free Software Foundation, Inc.
-+dnl This file is free software, distributed under the terms of the GNU
-+dnl General Public License. As a special exception to the GNU General
-+dnl Public License, this file may be distributed as part of a program
-+dnl that contains a configuration script generated by Autoconf, under
-+dnl the same distribution terms as the rest of that program.
-+
-+dnl From Bruno Haible.
-+
-+AC_DEFUN([gt_INTDIV0],
-+[
-+ AC_REQUIRE([AC_PROG_CC])dnl
-+ AC_REQUIRE([AC_CANONICAL_HOST])dnl
-+
-+ AC_CACHE_CHECK([whether integer division by zero raises SIGFPE],
-+ gt_cv_int_divbyzero_sigfpe,
-+ [
-+ AC_TRY_RUN([
-+#include <stdlib.h>
-+#include <signal.h>
-+
-+static void
-+#ifdef __cplusplus
-+sigfpe_handler (int sig)
-+#else
-+sigfpe_handler (sig) int sig;
-+#endif
-+{
-+ /* Exit with code 0 if SIGFPE, with code 1 if any other signal. */
-+ exit (sig != SIGFPE);
-+}
-+
-+int x = 1;
-+int y = 0;
-+int z;
-+int nan;
-+
-+int main ()
-+{
-+ signal (SIGFPE, sigfpe_handler);
-+/* IRIX and AIX (when "xlc -qcheck" is used) yield signal SIGTRAP. */
-+#if (defined (__sgi) || defined (_AIX)) && defined (SIGTRAP)
-+ signal (SIGTRAP, sigfpe_handler);
-+#endif
-+/* Linux/SPARC yields signal SIGILL. */
-+#if defined (__sparc__) && defined (__linux__)
-+ signal (SIGILL, sigfpe_handler);
-+#endif
-+
-+ z = x / y;
-+ nan = y / y;
-+ exit (1);
-+}
-+], gt_cv_int_divbyzero_sigfpe=yes, gt_cv_int_divbyzero_sigfpe=no,
-+ [
-+ # Guess based on the CPU.
-+ case "$host_cpu" in
-+ alpha* | i[34567]86 | m68k | s390*)
-+ gt_cv_int_divbyzero_sigfpe="guessing yes";;
-+ *)
-+ gt_cv_int_divbyzero_sigfpe="guessing no";;
-+ esac
-+ ])
-+ ])
-+ case "$gt_cv_int_divbyzero_sigfpe" in
-+ *yes) value=1;;
-+ *) value=0;;
-+ esac
-+ AC_DEFINE_UNQUOTED(INTDIV0_RAISES_SIGFPE, $value,
-+ [Define if integer division by zero raises signal SIGFPE.])
-+])
-Index: dialog-1.0-20050306/m4/inttypes-pri.m4
-===================================================================
---- /dev/null 1970-01-01 00:00:00.000000000 +0000
-+++ dialog-1.0-20050306/m4/inttypes-pri.m4 2005-05-16 01:32:07.000000000 +0200
-@@ -0,0 +1,32 @@
-+# inttypes-pri.m4 serial 1 (gettext-0.11.4)
-+dnl Copyright (C) 1997-2002 Free Software Foundation, Inc.
-+dnl This file is free software, distributed under the terms of the GNU
-+dnl General Public License. As a special exception to the GNU General
-+dnl Public License, this file may be distributed as part of a program
-+dnl that contains a configuration script generated by Autoconf, under
-+dnl the same distribution terms as the rest of that program.
-+
-+dnl From Bruno Haible.
-+
-+# Define PRI_MACROS_BROKEN if <inttypes.h> exists and defines the PRI*
-+# macros to non-string values. This is the case on AIX 4.3.3.
-+
-+AC_DEFUN([gt_INTTYPES_PRI],
-+[
-+ AC_REQUIRE([gt_HEADER_INTTYPES_H])
-+ if test $gt_cv_header_inttypes_h = yes; then
-+ AC_CACHE_CHECK([whether the inttypes.h PRIxNN macros are broken],
-+ gt_cv_inttypes_pri_broken,
-+ [
-+ AC_TRY_COMPILE([#include <inttypes.h>
-+#ifdef PRId32
-+char *p = PRId32;
-+#endif
-+], [], gt_cv_inttypes_pri_broken=no, gt_cv_inttypes_pri_broken=yes)
-+ ])
-+ fi
-+ if test "$gt_cv_inttypes_pri_broken" = yes; then
-+ AC_DEFINE_UNQUOTED(PRI_MACROS_BROKEN, 1,
-+ [Define if <inttypes.h> exists and defines unusable PRI* macros.])
-+ fi
-+])
-Index: dialog-1.0-20050306/m4/inttypes.m4
-===================================================================
---- /dev/null 1970-01-01 00:00:00.000000000 +0000
-+++ dialog-1.0-20050306/m4/inttypes.m4 2005-05-16 01:32:07.000000000 +0200
-@@ -0,0 +1,27 @@
-+# inttypes.m4 serial 1 (gettext-0.11.4)
-+dnl Copyright (C) 1997-2002 Free Software Foundation, Inc.
-+dnl This file is free software, distributed under the terms of the GNU
-+dnl General Public License. As a special exception to the GNU General
-+dnl Public License, this file may be distributed as part of a program
-+dnl that contains a configuration script generated by Autoconf, under
-+dnl the same distribution terms as the rest of that program.
-+
-+dnl From Paul Eggert.
-+
-+# Define HAVE_INTTYPES_H if <inttypes.h> exists and doesn't clash with
-+# <sys/types.h>.
-+
-+AC_DEFUN([gt_HEADER_INTTYPES_H],
-+[
-+ AC_CACHE_CHECK([for inttypes.h], gt_cv_header_inttypes_h,
-+ [
-+ AC_TRY_COMPILE(
-+ [#include <sys/types.h>
-+#include <inttypes.h>],
-+ [], gt_cv_header_inttypes_h=yes, gt_cv_header_inttypes_h=no)
-+ ])
-+ if test $gt_cv_header_inttypes_h = yes; then
-+ AC_DEFINE_UNQUOTED(HAVE_INTTYPES_H, 1,
-+ [Define if <inttypes.h> exists and doesn't clash with <sys/types.h>.])
-+ fi
-+])
-Index: dialog-1.0-20050306/m4/inttypes_h.m4
-===================================================================
---- /dev/null 1970-01-01 00:00:00.000000000 +0000
-+++ dialog-1.0-20050306/m4/inttypes_h.m4 2005-05-16 01:32:07.000000000 +0200
-@@ -0,0 +1,28 @@
-+# inttypes_h.m4 serial 4 (gettext-0.11.4)
-+dnl Copyright (C) 1997-2002 Free Software Foundation, Inc.
-+dnl This file is free software, distributed under the terms of the GNU
-+dnl General Public License. As a special exception to the GNU General
-+dnl Public License, this file may be distributed as part of a program
-+dnl that contains a configuration script generated by Autoconf, under
-+dnl the same distribution terms as the rest of that program.
-+
-+dnl From Paul Eggert.
-+
-+# Define HAVE_INTTYPES_H_WITH_UINTMAX if <inttypes.h> exists,
-+# doesn't clash with <sys/types.h>, and declares uintmax_t.
-+
-+AC_DEFUN([jm_AC_HEADER_INTTYPES_H],
-+[
-+ AC_CACHE_CHECK([for inttypes.h], jm_ac_cv_header_inttypes_h,
-+ [AC_TRY_COMPILE(
-+ [#include <sys/types.h>
-+#include <inttypes.h>],
-+ [uintmax_t i = (uintmax_t) -1;],
-+ jm_ac_cv_header_inttypes_h=yes,
-+ jm_ac_cv_header_inttypes_h=no)])
-+ if test $jm_ac_cv_header_inttypes_h = yes; then
-+ AC_DEFINE_UNQUOTED(HAVE_INTTYPES_H_WITH_UINTMAX, 1,
-+[Define if <inttypes.h> exists, doesn't clash with <sys/types.h>,
-+ and declares uintmax_t. ])
-+ fi
-+])
-Index: dialog-1.0-20050306/m4/lcmessage.m4
-===================================================================
---- /dev/null 1970-01-01 00:00:00.000000000 +0000
-+++ dialog-1.0-20050306/m4/lcmessage.m4 2005-05-16 01:32:07.000000000 +0200
-@@ -0,0 +1,32 @@
-+# lcmessage.m4 serial 3 (gettext-0.11.3)
-+dnl Copyright (C) 1995-2002 Free Software Foundation, Inc.
-+dnl This file is free software, distributed under the terms of the GNU
-+dnl General Public License. As a special exception to the GNU General
-+dnl Public License, this file may be distributed as part of a program
-+dnl that contains a configuration script generated by Autoconf, under
-+dnl the same distribution terms as the rest of that program.
-+dnl
-+dnl This file can can be used in projects which are not available under
-+dnl the GNU General Public License or the GNU Library General Public
-+dnl License but which still want to provide support for the GNU gettext
-+dnl functionality.
-+dnl Please note that the actual code of the GNU gettext library is covered
-+dnl by the GNU Library General Public License, and the rest of the GNU
-+dnl gettext package package is covered by the GNU General Public License.
-+dnl They are *not* in the public domain.
-+
-+dnl Authors:
-+dnl Ulrich Drepper <drepper@cygnus.com>, 1995.
-+
-+# Check whether LC_MESSAGES is available in <locale.h>.
-+
-+AC_DEFUN([AM_LC_MESSAGES],
-+[
-+ AC_CACHE_CHECK([for LC_MESSAGES], am_cv_val_LC_MESSAGES,
-+ [AC_TRY_LINK([#include <locale.h>], [return LC_MESSAGES],
-+ am_cv_val_LC_MESSAGES=yes, am_cv_val_LC_MESSAGES=no)])
-+ if test $am_cv_val_LC_MESSAGES = yes; then
-+ AC_DEFINE(HAVE_LC_MESSAGES, 1,
-+ [Define if your <locale.h> file defines LC_MESSAGES.])
-+ fi
-+])
-Index: dialog-1.0-20050306/m4/lib-ld.m4
-===================================================================
---- /dev/null 1970-01-01 00:00:00.000000000 +0000
-+++ dialog-1.0-20050306/m4/lib-ld.m4 2005-05-16 01:32:07.000000000 +0200
-@@ -0,0 +1,97 @@
-+# lib-ld.m4 serial 1 (gettext-0.11)
-+dnl Copyright (C) 1996-2002 Free Software Foundation, Inc.
-+dnl This file is free software, distributed under the terms of the GNU
-+dnl General Public License. As a special exception to the GNU General
-+dnl Public License, this file may be distributed as part of a program
-+dnl that contains a configuration script generated by Autoconf, under
-+dnl the same distribution terms as the rest of that program.
-+
-+dnl Subroutines of libtool.m4,
-+dnl with replacements s/AC_/AC_LIB/ and s/lt_cv/acl_cv/ to avoid collision
-+dnl with libtool.m4.
-+
-+dnl From libtool-1.4. Sets the variable with_gnu_ld to yes or no.
-+AC_DEFUN([AC_LIB_PROG_LD_GNU],
-+[AC_CACHE_CHECK([if the linker ($LD) is GNU ld], acl_cv_prog_gnu_ld,
-+[# I'd rather use --version here, but apparently some GNU ld's only accept -v.
-+if $LD -v 2>&1 </dev/null | egrep '(GNU|with BFD)' 1>&5; then
-+ acl_cv_prog_gnu_ld=yes
-+else
-+ acl_cv_prog_gnu_ld=no
-+fi])
-+with_gnu_ld=$acl_cv_prog_gnu_ld
-+])
-+
-+dnl From libtool-1.4. Sets the variable LD.
-+AC_DEFUN([AC_LIB_PROG_LD],
-+[AC_ARG_WITH(gnu-ld,
-+[ --with-gnu-ld assume the C compiler uses GNU ld [default=no]],
-+test "$withval" = no || with_gnu_ld=yes, with_gnu_ld=no)
-+AC_REQUIRE([AC_PROG_CC])dnl
-+AC_REQUIRE([AC_CANONICAL_HOST])dnl
-+ac_prog=ld
-+if test "$GCC" = yes; then
-+ # Check if gcc -print-prog-name=ld gives a path.
-+ AC_MSG_CHECKING([for ld used by GCC])
-+ case $host in
-+ *-*-mingw*)
-+ # gcc leaves a trailing carriage return which upsets mingw
-+ ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;;
-+ *)
-+ ac_prog=`($CC -print-prog-name=ld) 2>&5` ;;
-+ esac
-+ case $ac_prog in
-+ # Accept absolute paths.
-+ [[\\/]* | [A-Za-z]:[\\/]*)]
-+ [re_direlt='/[^/][^/]*/\.\./']
-+ # Canonicalize the path of ld
-+ ac_prog=`echo $ac_prog| sed 's%\\\\%/%g'`
-+ while echo $ac_prog | grep "$re_direlt" > /dev/null 2>&1; do
-+ ac_prog=`echo $ac_prog| sed "s%$re_direlt%/%"`
-+ done
-+ test -z "$LD" && LD="$ac_prog"
-+ ;;
-+ "")
-+ # If it fails, then pretend we aren't using GCC.
-+ ac_prog=ld
-+ ;;
-+ *)
-+ # If it is relative, then search for the first ld in PATH.
-+ with_gnu_ld=unknown
-+ ;;
-+ esac
-+elif test "$with_gnu_ld" = yes; then
-+ AC_MSG_CHECKING([for GNU ld])
-+else
-+ AC_MSG_CHECKING([for non-GNU ld])
-+fi
-+AC_CACHE_VAL(acl_cv_path_LD,
-+[if test -z "$LD"; then
-+ IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}${PATH_SEPARATOR-:}"
-+ for ac_dir in $PATH; do
-+ test -z "$ac_dir" && ac_dir=.
-+ if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then
-+ acl_cv_path_LD="$ac_dir/$ac_prog"
-+ # Check to see if the program is GNU ld. I'd rather use --version,
-+ # but apparently some GNU ld's only accept -v.
-+ # Break only if it was the GNU/non-GNU ld that we prefer.
-+ if "$acl_cv_path_LD" -v 2>&1 < /dev/null | egrep '(GNU|with BFD)' > /dev/null; then
-+ test "$with_gnu_ld" != no && break
-+ else
-+ test "$with_gnu_ld" != yes && break
-+ fi
-+ fi
-+ done
-+ IFS="$ac_save_ifs"
-+else
-+ acl_cv_path_LD="$LD" # Let the user override the test with a path.
-+fi])
-+LD="$acl_cv_path_LD"
-+if test -n "$LD"; then
-+ AC_MSG_RESULT($LD)
-+else
-+ AC_MSG_RESULT(no)
-+fi
-+test -z "$LD" && AC_MSG_ERROR([no acceptable ld found in \$PATH])
-+AC_LIB_PROG_LD_GNU
-+])
-Index: dialog-1.0-20050306/m4/lib-link.m4
-===================================================================
---- /dev/null 1970-01-01 00:00:00.000000000 +0000
-+++ dialog-1.0-20050306/m4/lib-link.m4 2005-05-16 01:32:07.000000000 +0200
-@@ -0,0 +1,554 @@
-+# lib-link.m4 serial 3 (gettext-0.11.3)
-+dnl Copyright (C) 2001-2002 Free Software Foundation, Inc.
-+dnl This file is free software, distributed under the terms of the GNU
-+dnl General Public License. As a special exception to the GNU General
-+dnl Public License, this file may be distributed as part of a program
-+dnl that contains a configuration script generated by Autoconf, under
-+dnl the same distribution terms as the rest of that program.
-+
-+dnl From Bruno Haible.
-+
-+dnl AC_LIB_LINKFLAGS(name [, dependencies]) searches for libname and
-+dnl the libraries corresponding to explicit and implicit dependencies.
-+dnl Sets and AC_SUBSTs the LIB${NAME} and LTLIB${NAME} variables and
-+dnl augments the CPPFLAGS variable.
-+AC_DEFUN([AC_LIB_LINKFLAGS],
-+[
-+ AC_REQUIRE([AC_LIB_PREPARE_PREFIX])
-+ AC_REQUIRE([AC_LIB_RPATH])
-+ define([Name],[translit([$1],[./-], [___])])
-+ define([NAME],[translit([$1],[abcdefghijklmnopqrstuvwxyz./-],
-+ [ABCDEFGHIJKLMNOPQRSTUVWXYZ___])])
-+ AC_CACHE_CHECK([how to link with lib[]$1], [ac_cv_lib[]Name[]_libs], [
-+ AC_LIB_LINKFLAGS_BODY([$1], [$2])
-+ ac_cv_lib[]Name[]_libs="$LIB[]NAME"
-+ ac_cv_lib[]Name[]_ltlibs="$LTLIB[]NAME"
-+ ac_cv_lib[]Name[]_cppflags="$INC[]NAME"
-+ ])
-+ LIB[]NAME="$ac_cv_lib[]Name[]_libs"
-+ LTLIB[]NAME="$ac_cv_lib[]Name[]_ltlibs"
-+ INC[]NAME="$ac_cv_lib[]Name[]_cppflags"
-+ AC_LIB_APPENDTOVAR([CPPFLAGS], [$INC]NAME)
-+ AC_SUBST([LIB]NAME)
-+ AC_SUBST([LTLIB]NAME)
-+ dnl Also set HAVE_LIB[]NAME so that AC_LIB_HAVE_LINKFLAGS can reuse the
-+ dnl results of this search when this library appears as a dependency.
-+ HAVE_LIB[]NAME=yes
-+ undefine([Name])
-+ undefine([NAME])
-+])
-+
-+dnl AC_LIB_HAVE_LINKFLAGS(name, dependencies, includes, testcode)
-+dnl searches for libname and the libraries corresponding to explicit and
-+dnl implicit dependencies, together with the specified include files and
-+dnl the ability to compile and link the specified testcode. If found, it
-+dnl sets and AC_SUBSTs HAVE_LIB${NAME}=yes and the LIB${NAME} and
-+dnl LTLIB${NAME} variables and augments the CPPFLAGS variable, and
-+dnl #defines HAVE_LIB${NAME} to 1. Otherwise, it sets and AC_SUBSTs
-+dnl HAVE_LIB${NAME}=no and LIB${NAME} and LTLIB${NAME} to empty.
-+AC_DEFUN([AC_LIB_HAVE_LINKFLAGS],
-+[
-+ AC_REQUIRE([AC_LIB_PREPARE_PREFIX])
-+ AC_REQUIRE([AC_LIB_RPATH])
-+ define([Name],[translit([$1],[./-], [___])])
-+ define([NAME],[translit([$1],[abcdefghijklmnopqrstuvwxyz./-],
-+ [ABCDEFGHIJKLMNOPQRSTUVWXYZ___])])
-+
-+ dnl Search for lib[]Name and define LIB[]NAME, LTLIB[]NAME and INC[]NAME
-+ dnl accordingly.
-+ AC_LIB_LINKFLAGS_BODY([$1], [$2])
-+
-+ dnl Add $INC[]NAME to CPPFLAGS before performing the following checks,
-+ dnl because if the user has installed lib[]Name and not disabled its use
-+ dnl via --without-lib[]Name-prefix, he wants to use it.
-+ ac_save_CPPFLAGS="$CPPFLAGS"
-+ AC_LIB_APPENDTOVAR([CPPFLAGS], [$INC]NAME)
-+
-+ AC_CACHE_CHECK([for lib[]$1], [ac_cv_lib[]Name], [
-+ ac_save_LIBS="$LIBS"
-+ LIBS="$LIBS $LIB[]NAME"
-+ AC_TRY_LINK([$3], [$4], [ac_cv_lib[]Name=yes], [ac_cv_lib[]Name=no])
-+ LIBS="$ac_save_LIBS"
-+ ])
-+ if test "$ac_cv_lib[]Name" = yes; then
-+ HAVE_LIB[]NAME=yes
-+ AC_DEFINE([HAVE_LIB]NAME, 1, [Define if you have the $1 library.])
-+ AC_MSG_CHECKING([how to link with lib[]$1])
-+ AC_MSG_RESULT([$LIB[]NAME])
-+ else
-+ HAVE_LIB[]NAME=no
-+ dnl If $LIB[]NAME didn't lead to a usable library, we don't need
-+ dnl $INC[]NAME either.
-+ CPPFLAGS="$ac_save_CPPFLAGS"
-+ LIB[]NAME=
-+ LTLIB[]NAME=
-+ fi
-+ AC_SUBST([HAVE_LIB]NAME)
-+ AC_SUBST([LIB]NAME)
-+ AC_SUBST([LTLIB]NAME)
-+ undefine([Name])
-+ undefine([NAME])
-+])
-+
-+dnl Determine the platform dependent parameters needed to use rpath:
-+dnl libext, shlibext, hardcode_libdir_flag_spec, hardcode_libdir_separator,
-+dnl hardcode_direct, hardcode_minus_L,
-+dnl sys_lib_search_path_spec, sys_lib_dlsearch_path_spec.
-+AC_DEFUN([AC_LIB_RPATH],
-+[
-+ AC_REQUIRE([AC_PROG_CC]) dnl we use $CC, $GCC, $LDFLAGS
-+ AC_REQUIRE([AC_LIB_PROG_LD]) dnl we use $LD, $with_gnu_ld
-+ AC_REQUIRE([AC_CANONICAL_HOST]) dnl we use $host
-+ AC_REQUIRE([AC_CONFIG_AUX_DIR_DEFAULT]) dnl we use $ac_aux_dir
-+ AC_CACHE_CHECK([for shared library run path origin], acl_cv_rpath, [
-+ CC="$CC" GCC="$GCC" LDFLAGS="$LDFLAGS" LD="$LD" with_gnu_ld="$with_gnu_ld" \
-+ ${CONFIG_SHELL-/bin/sh} "$ac_aux_dir/config.rpath" "$host" > conftest.sh
-+ . ./conftest.sh
-+ rm -f ./conftest.sh
-+ acl_cv_rpath=done
-+ ])
-+ wl="$acl_cv_wl"
-+ libext="$acl_cv_libext"
-+ shlibext="$acl_cv_shlibext"
-+ hardcode_libdir_flag_spec="$acl_cv_hardcode_libdir_flag_spec"
-+ hardcode_libdir_separator="$acl_cv_hardcode_libdir_separator"
-+ hardcode_direct="$acl_cv_hardcode_direct"
-+ hardcode_minus_L="$acl_cv_hardcode_minus_L"
-+ sys_lib_search_path_spec="$acl_cv_sys_lib_search_path_spec"
-+ sys_lib_dlsearch_path_spec="$acl_cv_sys_lib_dlsearch_path_spec"
-+ dnl Determine whether the user wants rpath handling at all.
-+ AC_ARG_ENABLE(rpath,
-+ [ --disable-rpath do not hardcode runtime library paths],
-+ :, enable_rpath=yes)
-+])
-+
-+dnl AC_LIB_LINKFLAGS_BODY(name [, dependencies]) searches for libname and
-+dnl the libraries corresponding to explicit and implicit dependencies.
-+dnl Sets the LIB${NAME}, LTLIB${NAME} and INC${NAME} variables.
-+AC_DEFUN([AC_LIB_LINKFLAGS_BODY],
-+[
-+ define([NAME],[translit([$1],[abcdefghijklmnopqrstuvwxyz./-],
-+ [ABCDEFGHIJKLMNOPQRSTUVWXYZ___])])
-+ dnl By default, look in $includedir and $libdir.
-+ use_additional=yes
-+ AC_LIB_WITH_FINAL_PREFIX([
-+ eval additional_includedir=\"$includedir\"
-+ eval additional_libdir=\"$libdir\"
-+ ])
-+ AC_ARG_WITH([lib$1-prefix],
-+[ --with-lib$1-prefix[=DIR] search for lib$1 in DIR/include and DIR/lib
-+ --without-lib$1-prefix don't search for lib$1 in includedir and libdir],
-+[
-+ if test "X$withval" = "Xno"; then
-+ use_additional=no
-+ else
-+ if test "X$withval" = "X"; then
-+ AC_LIB_WITH_FINAL_PREFIX([
-+ eval additional_includedir=\"$includedir\"
-+ eval additional_libdir=\"$libdir\"
-+ ])
-+ else
-+ additional_includedir="$withval/include"
-+ additional_libdir="$withval/lib"
-+ fi
-+ fi
-+])
-+ dnl Search the library and its dependencies in $additional_libdir and
-+ dnl $LDFLAGS. Using breadth-first-seach.
-+ LIB[]NAME=
-+ LTLIB[]NAME=
-+ INC[]NAME=
-+ rpathdirs=
-+ ltrpathdirs=
-+ names_already_handled=
-+ names_next_round='$1 $2'
-+ while test -n "$names_next_round"; do
-+ names_this_round="$names_next_round"
-+ names_next_round=
-+ for name in $names_this_round; do
-+ already_handled=
-+ for n in $names_already_handled; do
-+ if test "$n" = "$name"; then
-+ already_handled=yes
-+ break
-+ fi
-+ done
-+ if test -z "$already_handled"; then
-+ names_already_handled="$names_already_handled $name"
-+ dnl See if it was already located by an earlier AC_LIB_LINKFLAGS
-+ dnl or AC_LIB_HAVE_LINKFLAGS call.
-+ uppername=`echo "$name" | sed -e 'y|abcdefghijklmnopqrstuvwxyz./-|ABCDEFGHIJKLMNOPQRSTUVWXYZ___|'`
-+ eval value=\"\$HAVE_LIB$uppername\"
-+ if test -n "$value"; then
-+ if test "$value" = yes; then
-+ eval value=\"\$LIB$uppername\"
-+ test -z "$value" || LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$value"
-+ eval value=\"\$LTLIB$uppername\"
-+ test -z "$value" || LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }$value"
-+ else
-+ dnl An earlier call to AC_LIB_HAVE_LINKFLAGS has determined
-+ dnl that this library doesn't exist. So just drop it.
-+ :
-+ fi
-+ else
-+ dnl Search the library lib$name in $additional_libdir and $LDFLAGS
-+ dnl and the already constructed $LIBNAME/$LTLIBNAME.
-+ found_dir=
-+ found_la=
-+ found_so=
-+ found_a=
-+ if test $use_additional = yes; then
-+ if test -n "$shlibext" && test -f "$additional_libdir/lib$name.$shlibext"; then
-+ found_dir="$additional_libdir"
-+ found_so="$additional_libdir/lib$name.$shlibext"
-+ if test -f "$additional_libdir/lib$name.la"; then
-+ found_la="$additional_libdir/lib$name.la"
-+ fi
-+ else
-+ if test -f "$additional_libdir/lib$name.$libext"; then
-+ found_dir="$additional_libdir"
-+ found_a="$additional_libdir/lib$name.$libext"
-+ if test -f "$additional_libdir/lib$name.la"; then
-+ found_la="$additional_libdir/lib$name.la"
-+ fi
-+ fi
-+ fi
-+ fi
-+ if test "X$found_dir" = "X"; then
-+ for x in $LDFLAGS $LTLIB[]NAME; do
-+ AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"])
-+ case "$x" in
-+ -L*)
-+ dir=`echo "X$x" | sed -e 's/^X-L//'`
-+ if test -n "$shlibext" && test -f "$dir/lib$name.$shlibext"; then
-+ found_dir="$dir"
-+ found_so="$dir/lib$name.$shlibext"
-+ if test -f "$dir/lib$name.la"; then
-+ found_la="$dir/lib$name.la"
-+ fi
-+ else
-+ if test -f "$dir/lib$name.$libext"; then
-+ found_dir="$dir"
-+ found_a="$dir/lib$name.$libext"
-+ if test -f "$dir/lib$name.la"; then
-+ found_la="$dir/lib$name.la"
-+ fi
-+ fi
-+ fi
-+ ;;
-+ esac
-+ if test "X$found_dir" != "X"; then
-+ break
-+ fi
-+ done
-+ fi
-+ if test "X$found_dir" != "X"; then
-+ dnl Found the library.
-+ LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }-L$found_dir -l$name"
-+ if test "X$found_so" != "X"; then
-+ dnl Linking with a shared library. We attempt to hardcode its
-+ dnl directory into the executable's runpath, unless it's the
-+ dnl standard /usr/lib.
-+ if test "$enable_rpath" = no || test "X$found_dir" = "X/usr/lib"; then
-+ dnl No hardcoding is needed.
-+ LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_so"
-+ else
-+ dnl Use an explicit option to hardcode DIR into the resulting
-+ dnl binary.
-+ dnl Potentially add DIR to ltrpathdirs.
-+ dnl The ltrpathdirs will be appended to $LTLIBNAME at the end.
-+ haveit=
-+ for x in $ltrpathdirs; do
-+ if test "X$x" = "X$found_dir"; then
-+ haveit=yes
-+ break
-+ fi
-+ done
-+ if test -z "$haveit"; then
-+ ltrpathdirs="$ltrpathdirs $found_dir"
-+ fi
-+ dnl The hardcoding into $LIBNAME is system dependent.
-+ if test "$hardcode_direct" = yes; then
-+ dnl Using DIR/libNAME.so during linking hardcodes DIR into the
-+ dnl resulting binary.
-+ LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_so"
-+ else
-+ if test -n "$hardcode_libdir_flag_spec" && test "$hardcode_minus_L" = no; then
-+ dnl Use an explicit option to hardcode DIR into the resulting
-+ dnl binary.
-+ LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_so"
-+ dnl Potentially add DIR to rpathdirs.
-+ dnl The rpathdirs will be appended to $LIBNAME at the end.
-+ haveit=
-+ for x in $rpathdirs; do
-+ if test "X$x" = "X$found_dir"; then
-+ haveit=yes
-+ break
-+ fi
-+ done
-+ if test -z "$haveit"; then
-+ rpathdirs="$rpathdirs $found_dir"
-+ fi
-+ else
-+ dnl Rely on "-L$found_dir".
-+ dnl But don't add it if it's already contained in the LDFLAGS
-+ dnl or the already constructed $LIBNAME
-+ haveit=
-+ for x in $LDFLAGS $LIB[]NAME; do
-+ AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"])
-+ if test "X$x" = "X-L$found_dir"; then
-+ haveit=yes
-+ break
-+ fi
-+ done
-+ if test -z "$haveit"; then
-+ LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-L$found_dir"
-+ fi
-+ if test "$hardcode_minus_L" != no; then
-+ dnl FIXME: Not sure whether we should use
-+ dnl "-L$found_dir -l$name" or "-L$found_dir $found_so"
-+ dnl here.
-+ LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_so"
-+ else
-+ dnl We cannot use $hardcode_runpath_var and LD_RUN_PATH
-+ dnl here, because this doesn't fit in flags passed to the
-+ dnl compiler. So give up. No hardcoding. This affects only
-+ dnl very old systems.
-+ dnl FIXME: Not sure whether we should use
-+ dnl "-L$found_dir -l$name" or "-L$found_dir $found_so"
-+ dnl here.
-+ LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-l$name"
-+ fi
-+ fi
-+ fi
-+ fi
-+ else
-+ if test "X$found_a" != "X"; then
-+ dnl Linking with a static library.
-+ LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_a"
-+ else
-+ dnl We shouldn't come here, but anyway it's good to have a
-+ dnl fallback.
-+ LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-L$found_dir -l$name"
-+ fi
-+ fi
-+ dnl Assume the include files are nearby.
-+ additional_includedir=
-+ case "$found_dir" in
-+ */lib | */lib/)
-+ basedir=`echo "X$found_dir" | sed -e 's,^X,,' -e 's,/lib/*$,,'`
-+ additional_includedir="$basedir/include"
-+ ;;
-+ esac
-+ if test "X$additional_includedir" != "X"; then
-+ dnl Potentially add $additional_includedir to $INCNAME.
-+ dnl But don't add it
-+ dnl 1. if it's the standard /usr/include,
-+ dnl 2. if it's /usr/local/include and we are using GCC on Linux,
-+ dnl 3. if it's already present in $CPPFLAGS or the already
-+ dnl constructed $INCNAME,
-+ dnl 4. if it doesn't exist as a directory.
-+ if test "X$additional_includedir" != "X/usr/include"; then
-+ haveit=
-+ if test "X$additional_includedir" = "X/usr/local/include"; then
-+ if test -n "$GCC"; then
-+ case $host_os in
-+ linux*) haveit=yes;;
-+ esac
-+ fi
-+ fi
-+ if test -z "$haveit"; then
-+ for x in $CPPFLAGS $INC[]NAME; do
-+ AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"])
-+ if test "X$x" = "X-I$additional_includedir"; then
-+ haveit=yes
-+ break
-+ fi
-+ done
-+ if test -z "$haveit"; then
-+ if test -d "$additional_includedir"; then
-+ dnl Really add $additional_includedir to $INCNAME.
-+ INC[]NAME="${INC[]NAME}${INC[]NAME:+ }-I$additional_includedir"
-+ fi
-+ fi
-+ fi
-+ fi
-+ fi
-+ dnl Look for dependencies.
-+ if test -n "$found_la"; then
-+ dnl Read the .la file. It defines the variables
-+ dnl dlname, library_names, old_library, dependency_libs, current,
-+ dnl age, revision, installed, dlopen, dlpreopen, libdir.
-+ save_libdir="$libdir"
-+ case "$found_la" in
-+ */* | *\\*) . "$found_la" ;;
-+ *) . "./$found_la" ;;
-+ esac
-+ libdir="$save_libdir"
-+ dnl We use only dependency_libs.
-+ for dep in $dependency_libs; do
-+ case "$dep" in
-+ -L*)
-+ additional_libdir=`echo "X$dep" | sed -e 's/^X-L//'`
-+ dnl Potentially add $additional_libdir to $LIBNAME and $LTLIBNAME.
-+ dnl But don't add it
-+ dnl 1. if it's the standard /usr/lib,
-+ dnl 2. if it's /usr/local/lib and we are using GCC on Linux,
-+ dnl 3. if it's already present in $LDFLAGS or the already
-+ dnl constructed $LIBNAME,
-+ dnl 4. if it doesn't exist as a directory.
-+ if test "X$additional_libdir" != "X/usr/lib"; then
-+ haveit=
-+ if test "X$additional_libdir" = "X/usr/local/lib"; then
-+ if test -n "$GCC"; then
-+ case $host_os in
-+ linux*) haveit=yes;;
-+ esac
-+ fi
-+ fi
-+ if test -z "$haveit"; then
-+ haveit=
-+ for x in $LDFLAGS $LIB[]NAME; do
-+ AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"])
-+ if test "X$x" = "X-L$additional_libdir"; then
-+ haveit=yes
-+ break
-+ fi
-+ done
-+ if test -z "$haveit"; then
-+ if test -d "$additional_libdir"; then
-+ dnl Really add $additional_libdir to $LIBNAME.
-+ LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-L$additional_libdir"
-+ fi
-+ fi
-+ haveit=
-+ for x in $LDFLAGS $LTLIB[]NAME; do
-+ AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"])
-+ if test "X$x" = "X-L$additional_libdir"; then
-+ haveit=yes
-+ break
-+ fi
-+ done
-+ if test -z "$haveit"; then
-+ if test -d "$additional_libdir"; then
-+ dnl Really add $additional_libdir to $LTLIBNAME.
-+ LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }-L$additional_libdir"
-+ fi
-+ fi
-+ fi
-+ fi
-+ ;;
-+ -R*)
-+ dir=`echo "X$dep" | sed -e 's/^X-R//'`
-+ if test "$enable_rpath" != no; then
-+ dnl Potentially add DIR to rpathdirs.
-+ dnl The rpathdirs will be appended to $LIBNAME at the end.
-+ haveit=
-+ for x in $rpathdirs; do
-+ if test "X$x" = "X$dir"; then
-+ haveit=yes
-+ break
-+ fi
-+ done
-+ if test -z "$haveit"; then
-+ rpathdirs="$rpathdirs $dir"
-+ fi
-+ dnl Potentially add DIR to ltrpathdirs.
-+ dnl The ltrpathdirs will be appended to $LTLIBNAME at the end.
-+ haveit=
-+ for x in $ltrpathdirs; do
-+ if test "X$x" = "X$dir"; then
-+ haveit=yes
-+ break
-+ fi
-+ done
-+ if test -z "$haveit"; then
-+ ltrpathdirs="$ltrpathdirs $dir"
-+ fi
-+ fi
-+ ;;
-+ -l*)
-+ dnl Handle this in the next round.
-+ names_next_round="$names_next_round "`echo "X$dep" | sed -e 's/^X-l//'`
-+ ;;
-+ *.la)
-+ dnl Handle this in the next round. Throw away the .la's
-+ dnl directory; it is already contained in a preceding -L
-+ dnl option.
-+ names_next_round="$names_next_round "`echo "X$dep" | sed -e 's,^X.*/,,' -e 's,^lib,,' -e 's,\.la$,,'`
-+ ;;
-+ *)
-+ dnl Most likely an immediate library name.
-+ LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$dep"
-+ LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }$dep"
-+ ;;
-+ esac
-+ done
-+ fi
-+ else
-+ dnl Didn't find the library; assume it is in the system directories
-+ dnl known to the linker and runtime loader. (All the system
-+ dnl directories known to the linker should also be known to the
-+ dnl runtime loader, otherwise the system is severely misconfigured.)
-+ LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-l$name"
-+ LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }-l$name"
-+ fi
-+ fi
-+ fi
-+ done
-+ done
-+ if test "X$rpathdirs" != "X"; then
-+ if test -n "$hardcode_libdir_separator"; then
-+ dnl Weird platform: only the last -rpath option counts, the user must
-+ dnl pass all path elements in one option. We can arrange that for a
-+ dnl single library, but not when more than one $LIBNAMEs are used.
-+ alldirs=
-+ for found_dir in $rpathdirs; do
-+ alldirs="${alldirs}${alldirs:+$hardcode_libdir_separator}$found_dir"
-+ done
-+ dnl Note: hardcode_libdir_flag_spec uses $libdir and $wl.
-+ acl_save_libdir="$libdir"
-+ libdir="$alldirs"
-+ eval flag=\"$hardcode_libdir_flag_spec\"
-+ libdir="$acl_save_libdir"
-+ LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$flag"
-+ else
-+ dnl The -rpath options are cumulative.
-+ for found_dir in $rpathdirs; do
-+ acl_save_libdir="$libdir"
-+ libdir="$found_dir"
-+ eval flag=\"$hardcode_libdir_flag_spec\"
-+ libdir="$acl_save_libdir"
-+ LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$flag"
-+ done
-+ fi
-+ fi
-+ if test "X$ltrpathdirs" != "X"; then
-+ dnl When using libtool, the option that works for both libraries and
-+ dnl executables is -R. The -R options are cumulative.
-+ for found_dir in $ltrpathdirs; do
-+ LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }-R$found_dir"
-+ done
-+ fi
-+])
-+
-+dnl AC_LIB_APPENDTOVAR(VAR, CONTENTS) appends the elements of CONTENTS to VAR,
-+dnl unless already present in VAR.
-+dnl Works only for CPPFLAGS, not for LIB* variables because that sometimes
-+dnl contains two or three consecutive elements that belong together.
-+AC_DEFUN([AC_LIB_APPENDTOVAR],
-+[
-+ for element in [$2]; do
-+ haveit=
-+ for x in $[$1]; do
-+ AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"])
-+ if test "X$x" = "X$element"; then
-+ haveit=yes
-+ break
-+ fi
-+ done
-+ if test -z "$haveit"; then
-+ [$1]="${[$1]}${[$1]:+ }$element"
-+ fi
-+ done
-+])
-Index: dialog-1.0-20050306/m4/lib-prefix.m4
-===================================================================
---- /dev/null 1970-01-01 00:00:00.000000000 +0000
-+++ dialog-1.0-20050306/m4/lib-prefix.m4 2005-05-16 01:32:07.000000000 +0200
-@@ -0,0 +1,148 @@
-+# lib-prefix.m4 serial 1 (gettext-0.11)
-+dnl Copyright (C) 2001-2002 Free Software Foundation, Inc.
-+dnl This file is free software, distributed under the terms of the GNU
-+dnl General Public License. As a special exception to the GNU General
-+dnl Public License, this file may be distributed as part of a program
-+dnl that contains a configuration script generated by Autoconf, under
-+dnl the same distribution terms as the rest of that program.
-+
-+dnl From Bruno Haible.
-+
-+dnl AC_LIB_PREFIX adds to the CPPFLAGS and LDFLAGS the flags that are needed
-+dnl to access previously installed libraries. The basic assumption is that
-+dnl a user will want packages to use other packages he previously installed
-+dnl with the same --prefix option.
-+dnl This macro is not needed if only AC_LIB_LINKFLAGS is used to locate
-+dnl libraries, but is otherwise very convenient.
-+AC_DEFUN([AC_LIB_PREFIX],
-+[
-+ AC_BEFORE([$0], [AC_LIB_LINKFLAGS])
-+ AC_REQUIRE([AC_PROG_CC])
-+ AC_REQUIRE([AC_CANONICAL_HOST])
-+ AC_REQUIRE([AC_LIB_PREPARE_PREFIX])
-+ dnl By default, look in $includedir and $libdir.
-+ use_additional=yes
-+ AC_LIB_WITH_FINAL_PREFIX([
-+ eval additional_includedir=\"$includedir\"
-+ eval additional_libdir=\"$libdir\"
-+ ])
-+ AC_ARG_WITH([lib-prefix],
-+[ --with-lib-prefix[=DIR] search for libraries in DIR/include and DIR/lib
-+ --without-lib-prefix don't search for libraries in includedir and libdir],
-+[
-+ if test "X$withval" = "Xno"; then
-+ use_additional=no
-+ else
-+ if test "X$withval" = "X"; then
-+ AC_LIB_WITH_FINAL_PREFIX([
-+ eval additional_includedir=\"$includedir\"
-+ eval additional_libdir=\"$libdir\"
-+ ])
-+ else
-+ additional_includedir="$withval/include"
-+ additional_libdir="$withval/lib"
-+ fi
-+ fi
-+])
-+ if test $use_additional = yes; then
-+ dnl Potentially add $additional_includedir to $CPPFLAGS.
-+ dnl But don't add it
-+ dnl 1. if it's the standard /usr/include,
-+ dnl 2. if it's already present in $CPPFLAGS,
-+ dnl 3. if it's /usr/local/include and we are using GCC on Linux,
-+ dnl 4. if it doesn't exist as a directory.
-+ if test "X$additional_includedir" != "X/usr/include"; then
-+ haveit=
-+ for x in $CPPFLAGS; do
-+ AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"])
-+ if test "X$x" = "X-I$additional_includedir"; then
-+ haveit=yes
-+ break
-+ fi
-+ done
-+ if test -z "$haveit"; then
-+ if test "X$additional_includedir" = "X/usr/local/include"; then
-+ if test -n "$GCC"; then
-+ case $host_os in
-+ linux*) haveit=yes;;
-+ esac
-+ fi
-+ fi
-+ if test -z "$haveit"; then
-+ if test -d "$additional_includedir"; then
-+ dnl Really add $additional_includedir to $CPPFLAGS.
-+ CPPFLAGS="${CPPFLAGS}${CPPFLAGS:+ }-I$additional_includedir"
-+ fi
-+ fi
-+ fi
-+ fi
-+ dnl Potentially add $additional_libdir to $LDFLAGS.
-+ dnl But don't add it
-+ dnl 1. if it's the standard /usr/lib,
-+ dnl 2. if it's already present in $LDFLAGS,
-+ dnl 3. if it's /usr/local/lib and we are using GCC on Linux,
-+ dnl 4. if it doesn't exist as a directory.
-+ if test "X$additional_libdir" != "X/usr/lib"; then
-+ haveit=
-+ for x in $LDFLAGS; do
-+ AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"])
-+ if test "X$x" = "X-L$additional_libdir"; then
-+ haveit=yes
-+ break
-+ fi
-+ done
-+ if test -z "$haveit"; then
-+ if test "X$additional_libdir" = "X/usr/local/lib"; then
-+ if test -n "$GCC"; then
-+ case $host_os in
-+ linux*) haveit=yes;;
-+ esac
-+ fi
-+ fi
-+ if test -z "$haveit"; then
-+ if test -d "$additional_libdir"; then
-+ dnl Really add $additional_libdir to $LDFLAGS.
-+ LDFLAGS="${LDFLAGS}${LDFLAGS:+ }-L$additional_libdir"
-+ fi
-+ fi
-+ fi
-+ fi
-+ fi
-+])
-+
-+dnl AC_LIB_PREPARE_PREFIX creates variables acl_final_prefix,
-+dnl acl_final_exec_prefix, containing the values to which $prefix and
-+dnl $exec_prefix will expand at the end of the configure script.
-+AC_DEFUN([AC_LIB_PREPARE_PREFIX],
-+[
-+ dnl Unfortunately, prefix and exec_prefix get only finally determined
-+ dnl at the end of configure.
-+ if test "X$prefix" = "XNONE"; then
-+ acl_final_prefix="$ac_default_prefix"
-+ else
-+ acl_final_prefix="$prefix"
-+ fi
-+ if test "X$exec_prefix" = "XNONE"; then
-+ acl_final_exec_prefix='${prefix}'
-+ else
-+ acl_final_exec_prefix="$exec_prefix"
-+ fi
-+ acl_save_prefix="$prefix"
-+ prefix="$acl_final_prefix"
-+ eval acl_final_exec_prefix=\"$acl_final_exec_prefix\"
-+ prefix="$acl_save_prefix"
-+])
-+
-+dnl AC_LIB_WITH_FINAL_PREFIX([statement]) evaluates statement, with the
-+dnl variables prefix and exec_prefix bound to the values they will have
-+dnl at the end of the configure script.
-+AC_DEFUN([AC_LIB_WITH_FINAL_PREFIX],
-+[
-+ acl_save_prefix="$prefix"
-+ prefix="$acl_final_prefix"
-+ acl_save_exec_prefix="$exec_prefix"
-+ exec_prefix="$acl_final_exec_prefix"
-+ $1
-+ exec_prefix="$acl_save_exec_prefix"
-+ prefix="$acl_save_prefix"
-+])
-Index: dialog-1.0-20050306/m4/progtest.m4
-===================================================================
---- /dev/null 1970-01-01 00:00:00.000000000 +0000
-+++ dialog-1.0-20050306/m4/progtest.m4 2005-05-16 01:32:07.000000000 +0200
-@@ -0,0 +1,59 @@
-+# progtest.m4 serial 2 (gettext-0.10.40)
-+dnl Copyright (C) 1996-2002 Free Software Foundation, Inc.
-+dnl This file is free software, distributed under the terms of the GNU
-+dnl General Public License. As a special exception to the GNU General
-+dnl Public License, this file may be distributed as part of a program
-+dnl that contains a configuration script generated by Autoconf, under
-+dnl the same distribution terms as the rest of that program.
-+dnl
-+dnl This file can can be used in projects which are not available under
-+dnl the GNU General Public License or the GNU Library General Public
-+dnl License but which still want to provide support for the GNU gettext
-+dnl functionality.
-+dnl Please note that the actual code of the GNU gettext library is covered
-+dnl by the GNU Library General Public License, and the rest of the GNU
-+dnl gettext package package is covered by the GNU General Public License.
-+dnl They are *not* in the public domain.
-+
-+dnl Authors:
-+dnl Ulrich Drepper <drepper@cygnus.com>, 1996.
-+
-+# Search path for a program which passes the given test.
-+
-+dnl AM_PATH_PROG_WITH_TEST(VARIABLE, PROG-TO-CHECK-FOR,
-+dnl TEST-PERFORMED-ON-FOUND_PROGRAM [, VALUE-IF-NOT-FOUND [, PATH]])
-+AC_DEFUN([AM_PATH_PROG_WITH_TEST],
-+[# Extract the first word of "$2", so it can be a program name with args.
-+set dummy $2; ac_word=[$]2
-+AC_MSG_CHECKING([for $ac_word])
-+AC_CACHE_VAL(ac_cv_path_$1,
-+[case "[$]$1" in
-+ /*)
-+ ac_cv_path_$1="[$]$1" # Let the user override the test with a path.
-+ ;;
-+ *)
-+ IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:"
-+ for ac_dir in ifelse([$5], , $PATH, [$5]); do
-+ test -z "$ac_dir" && ac_dir=.
-+ if test -f $ac_dir/$ac_word; then
-+ if [$3]; then
-+ ac_cv_path_$1="$ac_dir/$ac_word"
-+ break
-+ fi
-+ fi
-+ done
-+ IFS="$ac_save_ifs"
-+dnl If no 4th arg is given, leave the cache variable unset,
-+dnl so AC_PATH_PROGS will keep looking.
-+ifelse([$4], , , [ test -z "[$]ac_cv_path_$1" && ac_cv_path_$1="$4"
-+])dnl
-+ ;;
-+esac])dnl
-+$1="$ac_cv_path_$1"
-+if test ifelse([$4], , [-n "[$]$1"], ["[$]$1" != "$4"]); then
-+ AC_MSG_RESULT([$]$1)
-+else
-+ AC_MSG_RESULT(no)
-+fi
-+AC_SUBST($1)dnl
-+])
-Index: dialog-1.0-20050306/m4/stdint_h.m4
-===================================================================
---- /dev/null 1970-01-01 00:00:00.000000000 +0000
-+++ dialog-1.0-20050306/m4/stdint_h.m4 2005-05-16 01:32:07.000000000 +0200
-@@ -0,0 +1,28 @@
-+# stdint_h.m4 serial 2 (gettext-0.11.4)
-+dnl Copyright (C) 1997-2002 Free Software Foundation, Inc.
-+dnl This file is free software, distributed under the terms of the GNU
-+dnl General Public License. As a special exception to the GNU General
-+dnl Public License, this file may be distributed as part of a program
-+dnl that contains a configuration script generated by Autoconf, under
-+dnl the same distribution terms as the rest of that program.
-+
-+dnl From Paul Eggert.
-+
-+# Define HAVE_STDINT_H_WITH_UINTMAX if <stdint.h> exists,
-+# doesn't clash with <sys/types.h>, and declares uintmax_t.
-+
-+AC_DEFUN([jm_AC_HEADER_STDINT_H],
-+[
-+ AC_CACHE_CHECK([for stdint.h], jm_ac_cv_header_stdint_h,
-+ [AC_TRY_COMPILE(
-+ [#include <sys/types.h>
-+#include <stdint.h>],
-+ [uintmax_t i = (uintmax_t) -1;],
-+ jm_ac_cv_header_stdint_h=yes,
-+ jm_ac_cv_header_stdint_h=no)])
-+ if test $jm_ac_cv_header_stdint_h = yes; then
-+ AC_DEFINE_UNQUOTED(HAVE_STDINT_H_WITH_UINTMAX, 1,
-+[Define if <stdint.h> exists, doesn't clash with <sys/types.h>,
-+ and declares uintmax_t. ])
-+ fi
-+])
-Index: dialog-1.0-20050306/m4/uintmax_t.m4
-===================================================================
---- /dev/null 1970-01-01 00:00:00.000000000 +0000
-+++ dialog-1.0-20050306/m4/uintmax_t.m4 2005-05-16 01:32:07.000000000 +0200
-@@ -0,0 +1,29 @@
-+# uintmax_t.m4 serial 6 (gettext-0.11)
-+dnl Copyright (C) 1997-2002 Free Software Foundation, Inc.
-+dnl This file is free software, distributed under the terms of the GNU
-+dnl General Public License. As a special exception to the GNU General
-+dnl Public License, this file may be distributed as part of a program
-+dnl that contains a configuration script generated by Autoconf, under
-+dnl the same distribution terms as the rest of that program.
-+
-+dnl From Paul Eggert.
-+
-+AC_PREREQ(2.13)
-+
-+# Define uintmax_t to `unsigned long' or `unsigned long long'
-+# if <inttypes.h> does not exist.
-+
-+AC_DEFUN([jm_AC_TYPE_UINTMAX_T],
-+[
-+ AC_REQUIRE([jm_AC_HEADER_INTTYPES_H])
-+ AC_REQUIRE([jm_AC_HEADER_STDINT_H])
-+ if test $jm_ac_cv_header_inttypes_h = no && test $jm_ac_cv_header_stdint_h = no; then
-+ AC_REQUIRE([jm_AC_TYPE_UNSIGNED_LONG_LONG])
-+ test $ac_cv_type_unsigned_long_long = yes \
-+ && ac_type='unsigned long long' \
-+ || ac_type='unsigned long'
-+ AC_DEFINE_UNQUOTED(uintmax_t, $ac_type,
-+ [Define to unsigned long or unsigned long long
-+ if <inttypes.h> and <stdint.h> don't define.])
-+ fi
-+])
-Index: dialog-1.0-20050306/m4/ulonglong.m4
-===================================================================
---- /dev/null 1970-01-01 00:00:00.000000000 +0000
-+++ dialog-1.0-20050306/m4/ulonglong.m4 2005-05-16 01:32:07.000000000 +0200
-@@ -0,0 +1,23 @@
-+# ulonglong.m4 serial 2 (fileutils-4.0.32, gettext-0.10.40)
-+dnl Copyright (C) 1999-2002 Free Software Foundation, Inc.
-+dnl This file is free software, distributed under the terms of the GNU
-+dnl General Public License. As a special exception to the GNU General
-+dnl Public License, this file may be distributed as part of a program
-+dnl that contains a configuration script generated by Autoconf, under
-+dnl the same distribution terms as the rest of that program.
-+
-+dnl From Paul Eggert.
-+
-+AC_DEFUN([jm_AC_TYPE_UNSIGNED_LONG_LONG],
-+[
-+ AC_CACHE_CHECK([for unsigned long long], ac_cv_type_unsigned_long_long,
-+ [AC_TRY_LINK([unsigned long long ull = 1; int i = 63;],
-+ [unsigned long long ullmax = (unsigned long long) -1;
-+ return ull << i | ull >> i | ullmax / ull | ullmax % ull;],
-+ ac_cv_type_unsigned_long_long=yes,
-+ ac_cv_type_unsigned_long_long=no)])
-+ if test $ac_cv_type_unsigned_long_long = yes; then
-+ AC_DEFINE(HAVE_UNSIGNED_LONG_LONG, 1,
-+ [Define if you have the unsigned long long type.])
-+ fi
-+])
diff --git a/recipes/dialog/dialog-1.0-20050306/templates.patch b/recipes/dialog/dialog-1.0-20050306/templates.patch
deleted file mode 100644
index 07fa384802..0000000000
--- a/recipes/dialog/dialog-1.0-20050306/templates.patch
+++ /dev/null
@@ -1,25 +0,0 @@
-Index: dialog-1.0-20050306/configure.in
-===================================================================
---- dialog-1.0-20050306.orig/configure.in
-+++ dialog-1.0-20050306/configure.in
-@@ -137,6 +137,20 @@ strcasecmp \
- waitpid \
- )
-
-+AH_TEMPLATE([HAVE_FLUSHINP], [Define if you have the flushinp function])
-+AH_TEMPLATE([HAVE_GETBEGX], [Define if you have the getbegx function])
-+AH_TEMPLATE([HAVE_GETBEGY], [Define if you have the getbegy function])
-+AH_TEMPLATE([HAVE_GETBEGYX], [Define if you have the getbegyx function])
-+AH_TEMPLATE([HAVE_GETCURX], [Define if you have the getcurx function])
-+AH_TEMPLATE([HAVE_GETCURY], [Define if you have the getcury function])
-+AH_TEMPLATE([HAVE_GETMAXX], [Define if you have the getcury function])
-+AH_TEMPLATE([HAVE_GETMAXY], [Define if you have the getcury function])
-+AH_TEMPLATE([HAVE_GETMAXYX], [Define if you have the getcury function])
-+AH_TEMPLATE([HAVE_GETPARX], [Define if you have the getcury function])
-+AH_TEMPLATE([HAVE_GETPARY], [Define if you have the getcury function])
-+AH_TEMPLATE([HAVE_GETPARYX], [Define if you have the getcury function])
-+AH_TEMPLATE([HAVE_WGET_WCH], [Define if you have the getcury function])
-+
- CF_CURSES_FUNCS(\
- flushinp \
- getbegx \
diff --git a/recipes/dialog/dialog-static_1.0-20050306.bb b/recipes/dialog/dialog-static_1.0-20050306.bb
deleted file mode 100644
index ce4199c709..0000000000
--- a/recipes/dialog/dialog-static_1.0-20050306.bb
+++ /dev/null
@@ -1,4 +0,0 @@
-require dialog.inc
-LDFLAGS += "-static"
-S="${WORKDIR}/dialog-${PV}"
-FILESDIR = "${@os.path.dirname(bb.data.getVar('FILE',d,1))}/dialog-${PV}"
diff --git a/recipes/dialog/dialog-static_1.1-20080819.bb b/recipes/dialog/dialog-static_1.1-20080819.bb
new file mode 100644
index 0000000000..266999cf5e
--- /dev/null
+++ b/recipes/dialog/dialog-static_1.1-20080819.bb
@@ -0,0 +1,3 @@
+require dialog.inc
+LDFLAGS += "-static"
+S="${WORKDIR}/dialog-${PV}"
diff --git a/recipes/dialog/dialog.inc b/recipes/dialog/dialog.inc
index f2bcaf042a..8fe0d98a2a 100644
--- a/recipes/dialog/dialog.inc
+++ b/recipes/dialog/dialog.inc
@@ -5,9 +5,10 @@ DESCRIPTION = "Dialog lets you to present a variety of questions \
or display messages using dialog boxes from a shell \
script (or any scripting language)."
-SRC_URI = "ftp://ftp.us.debian.org/debian/pool/main/d/dialog/dialog_${PV}.orig.tar.gz \
- file://configure.patch;patch=1 \
- file://m4.patch;patch=1 \
- file://templates.patch;patch=1"
+SRC_URI = "ftp://invisible-island.net/dialog/dialog-${PV}.tgz"
inherit autotools
+
+do_configure() {
+ oe_runconf
+}
diff --git a/recipes/dialog/dialog_1.1-20080819.bb b/recipes/dialog/dialog_1.1-20080819.bb
new file mode 100644
index 0000000000..030b016adf
--- /dev/null
+++ b/recipes/dialog/dialog_1.1-20080819.bb
@@ -0,0 +1 @@
+require dialog.inc
diff --git a/recipes/dsplink/gstreamer-ti_svn.bb b/recipes/dsplink/gstreamer-ti_svn.bb
index f3eb7dd01b..2e6faddf30 100644
--- a/recipes/dsplink/gstreamer-ti_svn.bb
+++ b/recipes/dsplink/gstreamer-ti_svn.bb
@@ -2,7 +2,7 @@ DEPENDS = "ti-codec-engine ti-dmai gstreamer gst-plugins-base gst-plugins-good g
SRC_URI = "svn://gforge.ti.com/svn/gstreamer_ti/trunk;module=gstreamer_ti;proto=https;user=anonymous;pswd='' \
"
-SRCREV = "177"
+SRCREV = "189"
PR = "${MACHINE_KERNEL_PR}"
diff --git a/recipes/e17/e-wm_svn.bb b/recipes/e17/e-wm_svn.bb
index 7eba8e29ed..a1adc22bf1 100644
--- a/recipes/e17/e-wm_svn.bb
+++ b/recipes/e17/e-wm_svn.bb
@@ -1,11 +1,50 @@
DESCRIPTION = "The Enlightenment Window Manager Version 17"
DEPENDS = "eet evas ecore edje efreet edbus"
LICENSE = "MIT BSD"
+SRCNAME = "e"
PV = "0.16.999.050+svnr${SRCREV}"
-PR = "r5"
+PR = "r6"
inherit e update-alternatives
+SRC_URI += "\
+ file://enlightenment_start.oe \
+ file://applications.menu \
+ file://gsm-segfault-fix.patch;patch=1;maxrev=37617 \
+ file://fix-profiles.diff;patch=1;maxrev=39889 \
+"
+
+SRC_URI_append_openmoko = " file://illume-disable-screensaver.patch;patch=1"
+
+EXTRA_OECONF = "\
+ --with-edje-cc=${STAGING_BINDIR_NATIVE}/edje_cc \
+ --with-eet-eet=${STAGING_BINDIR_NATIVE}/eet \
+ --x-includes=${STAGING_INCDIR}/X11 \
+ --x-libraries=${STAGING_LIBDIR} \
+ --enable-simple-x11 \
+"
+
+do_configure_prepend() {
+ autopoint
+}
+
+do_stage() {
+ autotools_stage_all
+ for I in `find ${STAGING_LIBDIR}/enlightenment -name "*.la" -print`; do rm -f $I; done
+ for I in `find ${STAGING_LIBDIR}/enlightenment -name "*.a" -print`; do rm -f $I; done
+ for I in `find ${STAGING_LIBDIR_CROSS}/enlightenment -name "*.la" -print`; do rm -f $I; done
+ for I in `find ${STAGING_LIBDIR_CROSS}/enlightenment -name "*.a" -print`; do rm -f $I; done
+}
+
+do_install_append() {
+ # customising - should rather make this simple upstream
+ install -m 755 ${WORKDIR}/enlightenment_start.oe ${D}/${bindir}
+ install -d ${D}/${sysconfdir}/xdg/menus
+ install -m 644 ${WORKDIR}/applications.menu ${D}/${sysconfdir}/xdg/menus/
+ for I in `find ${D}/${libdir}/enlightenment -name "*.a" -print`; do rm -f $I; done
+ for I in `find ${D}/${libdir}/enlightenment -name "*.la" -print`; do rm -f $I; done
+}
+
RDEPENDS_${PN} += "\
shared-mime-info \
mime-support \
@@ -64,48 +103,6 @@ PACKAGE_ARCH_${PN}-other = "all"
PACKAGE_ARCH_${PN}-input-methods = "all"
PACKAGE_ARCH_${PN}-sysactions = "all"
-# file://${HOME}/C/svn/ssh+svn/e/trunk/e \
-SRC_URI = "\
- svn://svn.enlightenment.org/svn/e/trunk;module=e;proto=http \
- file://enlightenment_start.oe \
- file://applications.menu \
- file://gsm-segfault-fix.patch;patch=1;maxrev=37617 \
- file://fix-profiles.diff;patch=1;maxrev=39889 \
-"
-
-SRC_URI_append_openmoko = " file://illume-disable-screensaver.patch;patch=1 "
-
-S = "${WORKDIR}/e"
-
-EXTRA_OECONF = "\
- --with-edje-cc=${STAGING_BINDIR_NATIVE}/edje_cc \
- --with-eet-eet=${STAGING_BINDIR_NATIVE}/eet \
- --x-includes=${STAGING_INCDIR}/X11 \
- --x-libraries=${STAGING_LIBDIR} \
- --enable-simple-x11 \
-"
-
-do_configure_prepend() {
- autopoint
-}
-
-do_stage() {
- autotools_stage_all
- for I in `find ${STAGING_LIBDIR}/enlightenment -name "*.la" -print`; do rm -f $I; done
- for I in `find ${STAGING_LIBDIR}/enlightenment -name "*.a" -print`; do rm -f $I; done
- for I in `find ${STAGING_LIBDIR_CROSS}/enlightenment -name "*.la" -print`; do rm -f $I; done
- for I in `find ${STAGING_LIBDIR_CROSS}/enlightenment -name "*.a" -print`; do rm -f $I; done
-}
-
-do_install_append() {
- # customising - should rather make this simple upstream
- install -m 755 ${WORKDIR}/enlightenment_start.oe ${D}/${bindir}
- install -d ${D}/${sysconfdir}/xdg/menus
- install -m 644 ${WORKDIR}/applications.menu ${D}/${sysconfdir}/xdg/menus/
- for I in `find ${D}/${libdir}/enlightenment -name "*.a" -print`; do rm -f $I; done
- for I in `find ${D}/${libdir}/enlightenment -name "*.la" -print`; do rm -f $I; done
-}
-
FILES_${PN} = "\
${bindir}/* \
${libdir}/enlightenment/utils/* \
@@ -141,17 +138,27 @@ FILES_${PN}-utils = "${libdir}/enlightenment/utils/*"
RRECOMMENDS_${PN}-config-default = "${PN}-theme-default"
RRECOMMENDS_${PN}-config-illume = "${PN}-theme-illume"
-RRECOMMENDS_${PN}-config-minimalist = "${PN}-background-light-gradient \
-${PN}-theme-default"
-RRECOMMENDS_${PN}-config-netbook = "${PN}-background-dark-gradient \
-${PN}-theme-default"
+RRECOMMENDS_${PN}-config-minimalist = "\
+ ${PN}-background-light-gradient \
+ ${PN}-theme-default \
+"
+RRECOMMENDS_${PN}-config-netbook = "\
+ ${PN}-background-dark-gradient \
+ ${PN}-theme-default \
+"
RRECOMMENDS_${PN}-config-scaleable = "${PN}-theme-default"
RRECOMMENDS_${PN}-config-standard = "${PN}-theme-default"
FILES_${PN}-dbg += "\
${libdir}/enlightenment/modules/*/*/.debug/ \
${libdir}/enlightenment/preload/.debug/ \
+ ${libdir}/enlightenment/utils/.debug/ \
"
+
+FILES_${PN}-doc += "\
+ ${datadir}/enlightenment/doc \
+"
+
CONFFILES_${PN} = "/etc/xdg/menus/applications.menu"
ALTERNATIVE_PATH = "${bindir}/enlightenment_start.oe"
diff --git a/recipes/efl1/ecore.inc b/recipes/efl1/ecore.inc
index 9c366f7c88..bc4dcf38cf 100644
--- a/recipes/efl1/ecore.inc
+++ b/recipes/efl1/ecore.inc
@@ -4,13 +4,13 @@ DEPENDS = "curl eet evas tslib libxtst libxcomposite libxinerama libxscrnsaver l
# optional
# DEPENDS += "directfb libsdl-x11 openssl virtual/libiconv"
PV = "0.9.9.050+svnr${SRCREV}"
-PR = "r2"
+PR = "r3"
inherit efl
FILESDIR = "${@os.path.dirname(bb.data.getVar('FILE',d,1))}/ecore"
-PACKAGES += "\
+PACKAGES =+ "\
${PN}-con \
${PN}-config \
${PN}-desktop \
@@ -19,27 +19,27 @@ PACKAGES += "\
${PN}-evas \
${PN}-fb \
${PN}-file \
- ${PN}-imf \
${PN}-imf-evas \
+ ${PN}-imf \
${PN}-ipc \
${PN}-job \
${PN}-txt \
${PN}-x \
${PN}-input \
"
-FILES_${PN} = "${libdir}/libecore.so.*"
-FILES_${PN}-con = "${libdir}/libecore_con.so.*"
-FILES_${PN}-config = "${libdir}/libecore_config.so.*"
-FILES_${PN}-desktop = "${libdir}/libecore_desktop.so.*"
-FILES_${PN}-directfb = "${libdir}/libecore_directfb.so.*"
-FILES_${PN}-sdl = "${libdir}/libecore_sdl.so.*"
-FILES_${PN}-evas = "${libdir}/libecore_evas.so.*"
-FILES_${PN}-fb = "${libdir}/libecore_fb.so.*"
-FILES_${PN}-file = "${libdir}/libecore_file.so.*"
-FILES_${PN}-imf = "${libdir}/libecore_imf.so.*"
-FILES_${PN}-imf-evas = "${libdir}/libecore_imf_evas.so.*"
-FILES_${PN}-ipc = "${libdir}/libecore_ipc.so.*"
-FILES_${PN}-job = "${libdir}/libecore_job.so.*"
-FILES_${PN}-txt = "${libdir}/libecore_txt.so.*"
-FILES_${PN}-x = "${libdir}/libecore_x.so.*"
-FILES_${PN}-input = "${libdir}/libecore_input.so.*"
+FILES_${PN} = "${libdir}/libecore*.so.*"
+FILES_${PN}-con = "${libdir}/libecore_con*.so.*"
+FILES_${PN}-config = "${libdir}/libecore_config*.so.*"
+FILES_${PN}-desktop = "${libdir}/libecore_desktop*.so.*"
+FILES_${PN}-directfb = "${libdir}/libecore_directfb*.so.*"
+FILES_${PN}-sdl = "${libdir}/libecore_sdl*.so.*"
+FILES_${PN}-evas = "${libdir}/libecore_evas*.so.*"
+FILES_${PN}-fb = "${libdir}/libecore_fb*.so.*"
+FILES_${PN}-file = "${libdir}/libecore_file*.so.*"
+FILES_${PN}-imf = "${libdir}/libecore_imf*.so.*"
+FILES_${PN}-imf-evas = "${libdir}/libecore_imf_evas*.so.*"
+FILES_${PN}-ipc = "${libdir}/libecore_ipc*.so.*"
+FILES_${PN}-job = "${libdir}/libecore_job*.so.*"
+FILES_${PN}-txt = "${libdir}/libecore_txt*.so.*"
+FILES_${PN}-x = "${libdir}/libecore_x*.so.*"
+FILES_${PN}-input = "${libdir}/libecore_input*.so.*"
diff --git a/recipes/efl1/ecore_svn.bb b/recipes/efl1/ecore_svn.bb
index 566e6cc300..716b96e883 100644
--- a/recipes/efl1/ecore_svn.bb
+++ b/recipes/efl1/ecore_svn.bb
@@ -1,5 +1,5 @@
require ecore.inc
-PR = "r2"
+PR = "r4"
EXTRA_OECONF = "\
--x-includes=${STAGING_INCDIR}/X11 \
diff --git a/recipes/efl1/etk_svn.bb b/recipes/efl1/etk_svn.bb
index 5c47c406d2..31004a357f 100644
--- a/recipes/efl1/etk_svn.bb
+++ b/recipes/efl1/etk_svn.bb
@@ -2,10 +2,12 @@ DESCRIPTION = "Etk is an advanced widget toolkit based on the Enlightenment Foun
DEPENDS = "evas ecore edje"
LICENSE = "MIT"
PV = "0.1.0.042+svnr${SRCREV}"
-PR = "r4"
+PR = "r5"
inherit efl
+SRC_URI += "file://mkinstalldirs"
+
RRECOMMENDS_${PN} = "\
etk-engines-software-x11 \
etk-engines-evas \
@@ -14,6 +16,12 @@ RRECOMMENDS_${PN} = "\
etk-engines-software-x11-16 \
"
+do_compile_prepend() {
+ touch ${S}/po/etk.pot
+ cp ${WORKDIR}/mkinstalldirs ${S}
+ sed -i -e 's:@MKINSTALLDIRS@:${S}/mkinstalldirs:g' ${S}/po/Makefile
+}
+
PACKAGES += "etk-engines-software-x11"
FILES_${PN}-engines-software-x11 = "${libdir}/etk/engines/ecore_evas_software_x11.so"
diff --git a/recipes/efl1/files/mkinstalldirs b/recipes/efl1/files/mkinstalldirs
new file mode 100755
index 0000000000..ef7e16fdaf
--- /dev/null
+++ b/recipes/efl1/files/mkinstalldirs
@@ -0,0 +1,161 @@
+#! /bin/sh
+# mkinstalldirs --- make directory hierarchy
+
+scriptversion=2006-05-11.19
+
+# Original author: Noah Friedman <friedman@prep.ai.mit.edu>
+# Created: 1993-05-16
+# Public domain.
+#
+# This file is maintained in Automake, please report
+# bugs to <bug-automake@gnu.org> or send patches to
+# <automake-patches@gnu.org>.
+
+nl='
+'
+IFS=" "" $nl"
+errstatus=0
+dirmode=
+
+usage="\
+Usage: mkinstalldirs [-h] [--help] [--version] [-m MODE] DIR ...
+
+Create each directory DIR (with mode MODE, if specified), including all
+leading file name components.
+
+Report bugs to <bug-automake@gnu.org>."
+
+# process command line arguments
+while test $# -gt 0 ; do
+ case $1 in
+ -h | --help | --h*) # -h for help
+ echo "$usage"
+ exit $?
+ ;;
+ -m) # -m PERM arg
+ shift
+ test $# -eq 0 && { echo "$usage" 1>&2; exit 1; }
+ dirmode=$1
+ shift
+ ;;
+ --version)
+ echo "$0 $scriptversion"
+ exit $?
+ ;;
+ --) # stop option processing
+ shift
+ break
+ ;;
+ -*) # unknown option
+ echo "$usage" 1>&2
+ exit 1
+ ;;
+ *) # first non-opt arg
+ break
+ ;;
+ esac
+done
+
+for file
+do
+ if test -d "$file"; then
+ shift
+ else
+ break
+ fi
+done
+
+case $# in
+ 0) exit 0 ;;
+esac
+
+# Solaris 8's mkdir -p isn't thread-safe. If you mkdir -p a/b and
+# mkdir -p a/c at the same time, both will detect that a is missing,
+# one will create a, then the other will try to create a and die with
+# a "File exists" error. This is a problem when calling mkinstalldirs
+# from a parallel make. We use --version in the probe to restrict
+# ourselves to GNU mkdir, which is thread-safe.
+case $dirmode in
+ '')
+ if mkdir -p --version . >/dev/null 2>&1 && test ! -d ./--version; then
+ echo "mkdir -p -- $*"
+ exec mkdir -p -- "$@"
+ else
+ # On NextStep and OpenStep, the `mkdir' command does not
+ # recognize any option. It will interpret all options as
+ # directories to create, and then abort because `.' already
+ # exists.
+ test -d ./-p && rmdir ./-p
+ test -d ./--version && rmdir ./--version
+ fi
+ ;;
+ *)
+ if mkdir -m "$dirmode" -p --version . >/dev/null 2>&1 &&
+ test ! -d ./--version; then
+ echo "mkdir -m $dirmode -p -- $*"
+ exec mkdir -m "$dirmode" -p -- "$@"
+ else
+ # Clean up after NextStep and OpenStep mkdir.
+ for d in ./-m ./-p ./--version "./$dirmode";
+ do
+ test -d $d && rmdir $d
+ done
+ fi
+ ;;
+esac
+
+for file
+do
+ case $file in
+ /*) pathcomp=/ ;;
+ *) pathcomp= ;;
+ esac
+ oIFS=$IFS
+ IFS=/
+ set fnord $file
+ shift
+ IFS=$oIFS
+
+ for d
+ do
+ test "x$d" = x && continue
+
+ pathcomp=$pathcomp$d
+ case $pathcomp in
+ -*) pathcomp=./$pathcomp ;;
+ esac
+
+ if test ! -d "$pathcomp"; then
+ echo "mkdir $pathcomp"
+
+ mkdir "$pathcomp" || lasterr=$?
+
+ if test ! -d "$pathcomp"; then
+ errstatus=$lasterr
+ else
+ if test ! -z "$dirmode"; then
+ echo "chmod $dirmode $pathcomp"
+ lasterr=
+ chmod "$dirmode" "$pathcomp" || lasterr=$?
+
+ if test ! -z "$lasterr"; then
+ errstatus=$lasterr
+ fi
+ fi
+ fi
+ fi
+
+ pathcomp=$pathcomp/
+ done
+done
+
+exit $errstatus
+
+# Local Variables:
+# mode: shell-script
+# sh-indentation: 2
+# eval: (add-hook 'write-file-hooks 'time-stamp)
+# time-stamp-start: "scriptversion="
+# time-stamp-format: "%:y-%02m-%02d.%02H"
+# time-stamp-end: "$"
+# End:
diff --git a/recipes/eibd/eibd_0.0.4.bb b/recipes/eibd/eibd_0.0.4.bb
new file mode 100644
index 0000000000..23e2c0832c
--- /dev/null
+++ b/recipes/eibd/eibd_0.0.4.bb
@@ -0,0 +1,62 @@
+DESCRIPTION = "Eibd provides an interface to the EIB / KNX bus"
+HOMEPAGE = "http://www.auto.tuwien.ac.at/~mkoegler/"
+SECTION = "console/network"
+PRIORITY = "optional"
+LICENSE = "GPLv2"
+DEPENDS = " pthsem libxml2"
+DEPENDS_append_linux-uclibc = " argp-standalone "
+DEPENDS_append_linux-uclibcgnueabi = " argp-standalone "
+
+SRC_URI = "http://www.auto.tuwien.ac.at/~mkoegler/eib/bcusdk_${PV}.tar.gz \
+ file://eibd "
+
+S = "${WORKDIR}/bcusdk-${PV}"
+
+inherit autotools update-rc.d
+
+EXTRA_OECONF = " --with-pth=yes --without-pth-test \
+ --enable-onlyeibd \
+ --enable-pei16 \
+ --enable-ft12 \
+ --enable-tpuart \
+ --enable-pei16s \
+ --enable-tpuarts \
+ --enable-usb \
+ --enable-eibnetip \
+ --enable-eibnetiptunnel \
+ --enable-eibnetipserver \
+ "
+
+do_install_prepend() {
+ install -d ${D}${sysconfdir}/default/
+ install -d ${D}${sysconfdir}/init.d/
+ install -m 0755 ${WORKDIR}/eibd ${D}${sysconfdir}/init.d/eibd
+}
+
+PACKAGES =+ "eibd-server eibd-clients libeibclient-dev"
+
+FILES_eibd-server = "${bindir}/eibnetsearch ${bindir}/findknxusb \
+ ${bindir}/eibd ${bindir}/bcuaddrtab \
+ ${bindir}/eibnetdescribe ${bindir}/bcuread \
+ ${sysconfdir}/init.d/eibd "
+FILES_eibd-clients = "${bindir}/*"
+FILES_libeibclient-dev = "\
+ ${includedir} \
+ ${libdir}/lib*.so \
+ ${libdir}/*.la \
+ ${libdir}/*.a \
+ ${libdir}/*.o \
+ ${libdir}/pkgconfig \
+ /lib/*.a \
+ /lib/*.o \
+ ${datadir}/aclocal"
+
+DESCRIPTION_eibd-clients = "Simple example programs to perform management tasks on a EIB system."
+DESCRIPTION_libeibclient-dev = "A client library written in C to access the EIB bus over eibd."
+DESCRIPTION_eibd-server = "eibd is a daemon which supports connection to an EIB (KNX) network over various \
+interfaces. It provides its services over TCP/IP or Unix domain sockets. \
+It can also act as an EIBnet/IP server."
+
+INITSCRIPT_PACKAGES = "eibd-server"
+INITSCRIPT_NAME = "eibd"
+INITSCRIPT_PARAMS = "defaults 20"
diff --git a/recipes/eibd/files/eibd b/recipes/eibd/files/eibd
new file mode 100755
index 0000000000..953fbb8f80
--- /dev/null
+++ b/recipes/eibd/files/eibd
@@ -0,0 +1,59 @@
+#!/bin/sh
+
+PATH=/sbin:/bin:/usr/bin
+
+DAEMON="eibd"
+
+test -f /usr/bin/${DAEMON} || exit 0
+
+if test -f /etc/default/${DAEMON} ; then
+. /etc/default/${DAEMON}
+else
+:
+fi
+
+if [ "$START_EIBD" != "yes" ]
+then
+ exit 0
+fi
+
+startdaemon(){
+ echo -n "Starting ${DAEMON}: "
+ start-stop-daemon --start -x /usr/bin/${DAEMON} -- ${CMDLINE} -p /var/run/${DAEMON}.pid
+ echo "done"
+}
+
+stopdaemon(){
+ echo -n "Stopping ${DAEMON}: "
+ start-stop-daemon --stop -p /var/run/${DAEMON}.pid
+ echo "done"
+}
+
+
+
+case "$1" in
+ start)
+ startdaemon
+ ;;
+ stop)
+ stopdaemon
+ ;;
+ force-reload)
+ stopdaemon
+ startdaemon
+ ;;
+ restart)
+ stopdaemon
+ startdaemon
+ ;;
+ reload)
+ stopdaemon
+ startdaemon
+ ;;
+ *)
+ echo "Usage: ${DAEMON} { start | stop | restart | reload }" >&2
+ exit 1
+ ;;
+esac
+
+exit 0
diff --git a/recipes/ekiga/ekiga_3.2.0.bb b/recipes/ekiga/ekiga_3.2.0.bb
new file mode 100644
index 0000000000..3a63015d66
--- /dev/null
+++ b/recipes/ekiga/ekiga_3.2.0.bb
@@ -0,0 +1,18 @@
+DESCRIPTION = "Gnome videoconferencing application"
+LICENSE = "GPLv2"
+
+ARM_INSTRUCTION_SET = "arm"
+
+inherit gnome
+DEPENDS += " avahi libnotify eds-dbus libgnome gtkmm libsigc++-2.0 gstreamer gst-plugins-good gst-plugins-base gst-plugins-bad opal ptlib gnome-doc-utils"
+RDEPENDS += "gst-plugin-app gst-plugin-video4linux2 opal ptlib"
+
+EXTRA_OECONF = "--enable-static-libs --disable-ldap --disable-gnome --enable-gstreamer --disable-gdu --disable-scrollkeeper "
+
+do_configure_append() {
+ find ${S} -name Makefile | xargs sed -i s:'-I$(includedir)':'-I.':g
+ find ${S} -name Makefile | xargs sed -i s:'-I/usr/include':'-I${STAGING_INCDIR}':g
+}
+
+FILES_${PN} += "${datadir}/dbus-1 ${datadir}/icons"
+
diff --git a/recipes/ekiga/opal_3.5.2.bb b/recipes/ekiga/opal_3.5.2.bb
index ea4685d4c5..b54e337ecb 100644
--- a/recipes/ekiga/opal_3.5.2.bb
+++ b/recipes/ekiga/opal_3.5.2.bb
@@ -1,7 +1,7 @@
DESCRIPTION = "Open Phone Abstraction Library, implementation of the ITU H.323 teleconferencing protocol, and successor of the openh323 library."
LICENSE = "MPL"
-PR = "r1"
+PR = "r2"
inherit gnome
@@ -14,6 +14,8 @@ SRC_URI = "${SOURCEFORGE_MIRROR}/opalvoip/opal-${PV}.tar.bz2 \
EXTRA_OECONF = "--enable-localgsm --disable-spandsp "
ARM_INSTRUCTION_SET = "arm"
+TARGET_CC_ARCH += "${LDFLAGS}"
+
do_configure() {
libtoolize --force
gnu-configize
diff --git a/recipes/ekiga/opal_3.6.1.bb b/recipes/ekiga/opal_3.6.1.bb
new file mode 100644
index 0000000000..502c344b13
--- /dev/null
+++ b/recipes/ekiga/opal_3.6.1.bb
@@ -0,0 +1,29 @@
+DESCRIPTION = "Open Phone Abstraction Library, implementation of the ITU H.323 teleconferencing protocol, and successor of the openh323 library."
+LICENSE = "MPL"
+
+inherit gnome
+
+DEPENDS += " ffmpeg ptlib virtual/libsdl openldap"
+
+SRC_URI = "${SOURCEFORGE_MIRROR}/opalvoip/opal-${PV}.tar.bz2 \
+ file://configure.diff;patch=1 \
+ "
+
+EXTRA_OECONF = "--enable-localgsm --disable-spandsp "
+ARM_INSTRUCTION_SET = "arm"
+
+TARGET_CC_ARCH += "${LDFLAGS}"
+
+do_configure() {
+ libtoolize --force
+ gnu-configize
+ oe_runconf
+}
+
+FILES_${PN} += "${libdir}/opal-${PV}/*/*.so ${libdir}/opal-${PV}/*/*/*.so"
+FILES_${PN}-dbg += "${libdir}/opal-${PV}/*/.debug ${libdir}/opal-${PV}/*/*/.debug"
+
+do_stage() {
+ autotools_stage_all
+}
+
diff --git a/recipes/ekiga/ptlib_2.6.1.bb b/recipes/ekiga/ptlib_2.6.1.bb
new file mode 100644
index 0000000000..93a3bd8c96
--- /dev/null
+++ b/recipes/ekiga/ptlib_2.6.1.bb
@@ -0,0 +1,30 @@
+DESCRIPTION = "Portable Tools Libary"
+LICENSE = "MPL"
+
+inherit gnome
+
+DEPENDS += "libgsm openldap openssl expat virtual/libsdl alsa-lib"
+
+SRC_URI = "${SOURCEFORGE_MIRROR}/opalvoip/ptlib-${PV}.tar.bz2"
+
+do_configure() {
+ libtoolize --force
+ gnu-configize
+ oe_runconf
+}
+
+do_compile_append() {
+ sed -i -e s:${STAGING_DIR_TARGET}::g \
+ -e s:/${TARGET_SYS}::g \
+ ptlib.pc
+}
+
+FILES_${PN} += "${libdir}/ptlib-${PV}/*/*/*.so"
+
+do_stage() {
+ autotools_stage_all
+}
+
+
+
+
diff --git a/recipes/fbv/fbv-1.0b/cross_compile.patch b/recipes/fbv/fbv-1.0b/cross_compile.patch
new file mode 100644
index 0000000000..df8be13b60
--- /dev/null
+++ b/recipes/fbv/fbv-1.0b/cross_compile.patch
@@ -0,0 +1,41 @@
+---
+ configure | 8 ++++----
+ 1 file changed, 4 insertions(+), 4 deletions(-)
+
+Index: fbv-1.0b/configure
+===================================================================
+--- fbv-1.0b.orig/configure
++++ fbv-1.0b/configure
+@@ -106,12 +106,12 @@ xdir="/usr/X11R6"
+ ungif="no"
+ echo "libungif check" >>./config.log
+ echo " 1st:" >>./config.log
+-cc 2>>./config.log >>./config.log -o \$\$~test \$\$~test.c -lungif $libs
++${CC} 2>>./config.log >>./config.log -o \$\$~test \$\$~test.c -lungif $libs
+ if [ -e \$\$~test ]; then
+ libs="-lungif $libs" ; ungif="yes"
+ else
+ echo " 2nd: -lX11 -L$xdir/lib" >>./config.log
+- cc 2>>./config.log >>./config.log -o \$\$~test \$\$~test.c -lungif -lX11 -L$xdir/lib $libs
++ ${CC} 2>>./config.log >>./config.log -o \$\$~test \$\$~test.c -lungif -lX11 -L$xdir/lib $libs
+ if [ -e \$\$~test ]; then
+ libs="-lungif -lX11 -L$xdir/lib $libs" ; ungif="yes"
+ fi
+@@ -124,7 +124,7 @@ echo "libungif: $ungif" >> ./config.log
+ echo -n "checking for libjpeg presence... "
+ if [ "$jpeg" != "disabled" ]; then
+ jpeg="no"
+-cc 2>>./config.log >>./config.log -o \$\$~test \$\$~test.c -ljpeg $libs
++${CC} 2>>./config.log >>./config.log -o \$\$~test \$\$~test.c -ljpeg $libs
+ if [ -e \$\$~test ]; then
+ libs="-ljpeg $libs" ; jpeg="yes"
+ fi
+@@ -135,7 +135,7 @@ echo "libjpeg: $jpeg" >> ./config.log
+ echo -n "checking for libpng presence... "
+ if [ "$png" != "disabled" ]; then
+ png="no"
+-cc 2>>./config.log >>./config.log -o \$\$~test \$\$~test.c -lpng $libs
++${CC} 2>>./config.log >>./config.log -o \$\$~test \$\$~test.c -lpng $libs
+ if [ -e \$\$~test ]; then
+ libs="-lpng $libs" ; png="yes"
+ fi
diff --git a/recipes/fbv/fbv_1.0b.bb b/recipes/fbv/fbv_1.0b.bb
new file mode 100644
index 0000000000..04c70661d6
--- /dev/null
+++ b/recipes/fbv/fbv_1.0b.bb
@@ -0,0 +1,25 @@
+DESCRIPTION = "Frame Buffer Viewer"
+LICENSE = "GPL"
+DEPENDS = "libpng"
+PR = "r1"
+
+SRC_URI = "http://s-tech.elsat.net.pl/fbv/fbv-1.0b.tar.gz \
+ file://cross_compile.patch;patch=1"
+
+do_configure() {
+ CC="${CC}" ./configure --without-libungif --without-bmp \
+ --without-libjpeg
+}
+
+do_compile() {
+ oe_runmake CFLAGS="-O2 -Wall -D_GNU_SOURCE -D__KERNEL_STRICT_NAMES" \
+ CC="${CC}"
+}
+do_install() {
+ install -d ${D}${bindir}
+ install -m 0755 fbv ${D}${bindir}
+
+ # man
+ install -d ${D}${mandir}/man1/
+ install -m 0644 fbv.1 ${D}${mandir}/man1/fbv.1
+}
diff --git a/recipes/ffmpeg/omapfbplay_git.bb b/recipes/ffmpeg/omapfbplay_git.bb
index 202c29f291..67189c5c3c 100644
--- a/recipes/ffmpeg/omapfbplay_git.bb
+++ b/recipes/ffmpeg/omapfbplay_git.bb
@@ -20,6 +20,7 @@ CFLAGS += " -I. -I${STAGING_KERNEL_DIR}/include "
do_compile() {
cp ${STAGING_KERNEL_DIR}/arch/arm/plat-omap/include/mach/omapfb.h ${S} || true
cp ${STAGING_KERNEL_DIR}/include/asm-arm/arch-omap/omapfb.h ${S} || true
+ cp ${STAGING_KERNEL_DIR}/include/linux/omapfb.h ${S} || true
oe_runmake -e
}
diff --git a/recipes/firmwares/marvell-gspi-fw/9.70.3-p37.tar.gz b/recipes/firmwares/marvell-gspi-fw/9.70.3-p37.tar.gz
new file mode 100644
index 0000000000..c7bf76837a
--- /dev/null
+++ b/recipes/firmwares/marvell-gspi-fw/9.70.3-p37.tar.gz
Binary files differ
diff --git a/recipes/firmwares/marvell-gspi-fw/Marvell-Licence.txt b/recipes/firmwares/marvell-gspi-fw/Marvell-Licence.txt
new file mode 100644
index 0000000000..87035b055a
--- /dev/null
+++ b/recipes/firmwares/marvell-gspi-fw/Marvell-Licence.txt
@@ -0,0 +1,40 @@
+FIRMWARE LICENSE TERMS*
+
+Copyright (c) Marvell International Ltd.
+
+All rights reserved.
+
+Redistribution. Redistribution and use in binary form, without modification,
+are permitted provided that the following conditions are met:
+
+* Redistributions must reproduce the above copyright notice and the following
+ disclaimer in the documentation and/or other materials provided with the
+ distribution.
+
+* Neither the name of Marvell International Ltd. nor the names of its suppliers
+ may be used to endorse or promote products derived from this software without
+ specific prior written permission.
+
+* No reverse engineering, decompilation, or disassembly of this software is
+ permitted.
+
+Limited patent license. Marvell International Ltd. grants a world-wide,
+royalty-free, non-exclusive license under patents it now or hereafter owns or
+controls to make, have made, use, import, offer to sell and sell ("Utilize")
+this software, but solely to the extent that any such patent is necessary to
+Utilize the software alone, or in combination with an operating system licensed
+under an approved Open Source license as listed by the Open Source Initiative
+at http://opensource.org/licenses. The patent license shall not apply to any
+other combinations which include this software. No hardware per se is licensed
+hereunder.
+
+DISCLAIMER. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS 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 COPYRIGHT OWNER 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.*
diff --git a/recipes/firmwares/marvell-gspi-fw_9.70.3-p37.bb b/recipes/firmwares/marvell-gspi-fw_9.70.3-p37.bb
new file mode 100644
index 0000000000..017ec70685
--- /dev/null
+++ b/recipes/firmwares/marvell-gspi-fw_9.70.3-p37.bb
@@ -0,0 +1,19 @@
+DESCRIPTION = "Firmware for Marvel 8686 gspi wifi chipset"
+LICENCE = "closed"
+
+SRC_URI = "file://${PV}.tar.gz \
+ file://Marvell-Licence.txt"
+
+S = "${WORKDIR}/${PV}/FwImage"
+
+do_install() {
+
+ install -d ${D}${base_libdir}/firmware
+ install -m 0644 gspi8686.bin helper_gspi.bin ${D}${base_libdir}/firmware
+ install -m 0644 ${WORKDIR}/Marvell-Licence.txt ${D}${base_libdir}/firmware
+}
+
+PACKAGES = "${PN}"
+FILES_${PN} += "${base_libdir}/firmware"
+
+PACKAGE_ARCH = "all"
diff --git a/recipes/flickcurl/flickcurl_1.9.bb b/recipes/flickcurl/flickcurl_1.9.bb
new file mode 100644
index 0000000000..ea1cdb1974
--- /dev/null
+++ b/recipes/flickcurl/flickcurl_1.9.bb
@@ -0,0 +1,22 @@
+DESCRIPTION = "flickcurl is a C libarry for the Flick API"
+SECTION = "libs"
+HOMEPAGE = "http://librdf.org/flickcurl/"
+LICENSE = "LGPL 2.1/GPL 2/Apache 2.0"
+PR = "r0"
+SRC_URI = "http://download.dajobe.org/${PN}/${PN}-${PV}.tar.gz"
+
+DEPENDS = "curl libxml2"
+
+EXTRA_OECONF = "ac_cv_func_vsnprintf=no"
+
+inherit autotools
+
+do_stage() {
+ install -d ${STAGING_INCDIR}
+ install -m 0644 ${D}/usr/include/*.h ${STAGING_INCDIR}
+ oe_libinstall -so libflickcurl ${STAGING_LIBDIR}
+}
+
+LEAD_SONAME = "libflickcurl.so.1"
+
+FILES_${PN} += "${libdir}/libflickcurl.so.*"
diff --git a/recipes/fltk/files/fix-it-damnit.patch b/recipes/fltk/files/fix-it-damnit.patch
new file mode 100644
index 0000000000..ed1effdfc7
--- /dev/null
+++ b/recipes/fltk/files/fix-it-damnit.patch
@@ -0,0 +1,39 @@
+Index: fltk-2.0.x-r6671/Makefile
+===================================================================
+--- fltk-2.0.x-r6671.orig/Makefile
++++ fltk-2.0.x-r6671/Makefile
+@@ -25,7 +25,7 @@
+
+ include makeinclude
+
+-DIRS = src $(LOCALIMAGES) images OpenGL fluid glut test
++DIRS = src $(LOCALIMAGES) images fluid
+
+ all: makeinclude
+ for dir in $(DIRS); do\
+Index: fltk-2.0.x-r6671/makeinclude.in
+===================================================================
+--- fltk-2.0.x-r6671.orig/makeinclude.in
++++ fltk-2.0.x-r6671/makeinclude.in
+@@ -79,7 +79,7 @@
+ # libraries to link with:
+ LDLIBS = @LDFLAGS@ @LIBS@
+ GLDLIBS = @LDFLAGS@ @GLLIB@ @LIBS@
+-LINKFLTK = -L../lib @LINKFLTK@
++LINKFLTK = -L../lib @LINKFLTK@
+ LINKFLTKGL = -L../lib @LINKFLTKGL@ @LINKFLTK@
+ LINKFLTKFORMS = -L../lib -lfltk2_forms @LINKFLTK@
+ LOCAL_IMAGELIBS = @LOCAL_IMAGELIBS@
+Index: fltk-2.0.x-r6671/src/Makefile
+===================================================================
+--- fltk-2.0.x-r6671.orig/src/Makefile
++++ fltk-2.0.x-r6671/src/Makefile
+@@ -235,7 +235,7 @@
+
+ ../lib/$(DSONAME): $(OBJECTS)
+ echo $(DSOCOMMAND) $@ $(OBJECTS) -L../lib $(IMAGELIBS)
+- $(DSOCOMMAND) $@ $(OBJECTS) $(LDLIBS)
++ $(DSOCOMMAND) $@ $(OBJECTS) $(LDLIBS) -Wl,-soname,$(DSONAME)
+ $(RM) ../lib/$(DSOLINK)
+ $(LN) ../lib/$(DSONAME) ../lib/$(DSOLINK)
+
diff --git a/recipes/fltk/fltk2_svn.bb b/recipes/fltk/fltk2_svn.bb
new file mode 100644
index 0000000000..0dddfa3e2f
--- /dev/null
+++ b/recipes/fltk/fltk2_svn.bb
@@ -0,0 +1,52 @@
+DESCRIPTION = "FLTK is a cross-platform C++ GUI toolkit"
+HOMEPAGE = "http://www.fltk.org"
+SECTION = "libs"
+PRIORITY = "optional"
+LICENSE = "LGPL"
+DEPENDS = "zlib jpeg libpng libxext libxft"
+
+SVNREL = "6671"
+PV = "1.9.9+svnr${SVNREL}"
+
+SRC_URI = "\
+ http://ftp.easysw.com/pub/fltk/snapshots/fltk-2.0.x-r6671.tar.bz2 \
+ file://fix-it-damnit.patch;patch=1 \
+"
+S = "${WORKDIR}/fltk-2.0.x-r6671"
+
+inherit autotools_stage binconfig
+
+EXTRA_OECONF = "\
+ --enable-shared \
+ --enable-xdbe \
+ --enable-xft \
+ --disable-gl \
+ --x-includes=${STAGING_INCDIR} \
+ --x-libraries=${STAGING_LIBDIR} \
+"
+
+do_configure() {
+ gnu-configize
+ oe_runconf
+}
+
+do_install () {
+ sed -i "s|^STRIP.*=.*$|STRIP = ${STRIP}|" makeinclude
+ sed -i "s|^bindir.*=.*$|bindir = ${D}${bindir}|" makeinclude
+ oe_runmake install \
+ prefix="${D}${prefix}" \
+ bindir="${D}${bindir}" \
+ libdir="${D}${libdir}" \
+ includedir="${D}${includedir}" \
+ datadir="${STAGING_DATADIR}"
+
+ # add missing links
+ ln -sf ./libfltk2.so.2.0 ${D}${libdir}/libfltk2.so.2
+ ln -sf ./libfltk2_images.so.2.0 ${D}${libdir}/libfltk2_images.so.2
+}
+
+PACKAGES =+ "${PN}-fluid ${PN}-images"
+FILES_${PN}-fluid = "${bindir}/fluid2"
+FILES_${PN} = "${libdir}/lib*.so.*"
+FILES_${PN}-images = "${libdir}/libfltk2_images*.so.*"
+FILES_${PN}-dev += "${bindir}/fltk2-config"
diff --git a/recipes/freesmartphone/fso-term_git.bb b/recipes/freesmartphone/fso-term_git.bb
new file mode 100644
index 0000000000..22e74d3795
--- /dev/null
+++ b/recipes/freesmartphone/fso-term_git.bb
@@ -0,0 +1,17 @@
+DESCRIPTION = "FSO Term is a versatile muxer-aware terminal program"
+HOMEPAGE = "http://www.freesmartphone.org/index.php/Implementations/fso-term"
+AUTHOR = "Michael 'Mickey' Lauer <mlauer@vanille-media.de>"
+SECTION = "console/network"
+DEPENDS = "dbus dbus-glib readline libfsotransport"
+LICENSE = "GPL"
+PV = "0.0.0.0+gitr${SRCREV}"
+PR = "r0"
+
+SRC_URI = "\
+ ${FREESMARTPHONE_GIT}/fso-term.git;protocol=git;branch=master \
+"
+S = "${WORKDIR}/git"
+
+inherit autotools vala
+
+FILES_${PN} += "${datadir}"
diff --git a/recipes/freesmartphone/libfsotransport_git.bb b/recipes/freesmartphone/libfsotransport_git.bb
new file mode 100644
index 0000000000..c46721eca6
--- /dev/null
+++ b/recipes/freesmartphone/libfsotransport_git.bb
@@ -0,0 +1,3 @@
+require cornucopia.inc
+DESCRIPTION = "freesmartphone.org transport library"
+
diff --git a/recipes/freesmartphone/libgsm0710mux_git.bb b/recipes/freesmartphone/libgsm0710mux_git.bb
index 3ab00ff22a..108c6d5672 100644
--- a/recipes/freesmartphone/libgsm0710mux_git.bb
+++ b/recipes/freesmartphone/libgsm0710mux_git.bb
@@ -3,9 +3,9 @@ HOMEPAGE = "http://www.freesmartphone.org/index.php/Implementations/libgsm0710mu
AUTHOR = "Michael 'Mickey' Lauer <mlauer@vanille-media.de>"
LICENSE = "GPL"
SECTION = "devel"
-DEPENDS = "libgsm0710 vala-native glib-2.0"
-PV = "0.3.3+gitr${SRCREV}"
-PR = "r0"
+DEPENDS = "libgsm0710 vala-native glib-2.0 libfsotransport"
+PV = "0.3.4+gitr${SRCREV}"
+PR = "r1"
SRC_URI = "\
${FREESMARTPHONE_GIT}/libgsm0710mux;protocol=git;branch=master \
diff --git a/recipes/freesmartphone/vala-dbus-binding-tool-native_git.bb b/recipes/freesmartphone/vala-dbus-binding-tool-native_git.bb
new file mode 100644
index 0000000000..3076f9501c
--- /dev/null
+++ b/recipes/freesmartphone/vala-dbus-binding-tool-native_git.bb
@@ -0,0 +1,17 @@
+DESCRIPTION = "Vala DBus Binding Tool"
+SECTION = "console"
+LICENSE = "GPLv2"
+DEPENDS = "vala-native"
+PV = "0.1.0+gitr${SRCREV}"
+PR = "r0"
+
+SRC_URI = "${FREESMARTPHONE_GIT}/vala-dbus-binding-tool.git;protocol=git;branch=master"
+S = "${WORKDIR}/git"
+
+inherit autotools native
+
+do_stage() {
+ install -d ${STAGING_BINDIR_NATIVE}
+ install -m 0755 src/vala-dbus-binding-tool ${STAGING_BINDIR_NATIVE}/
+}
+
diff --git a/recipes/fsi-client/fsi-client_20040803.bb b/recipes/fsi-client/fsi-client_20040803.bb
index 84c185abf9..e4acf05871 100644
--- a/recipes/fsi-client/fsi-client_20040803.bb
+++ b/recipes/fsi-client/fsi-client_20040803.bb
@@ -10,7 +10,7 @@ S = "${WORKDIR}/client"
FILES_${PN} += "${libdir}/libfsiclient.so"
do_compile() {
- oe_runmake all examples
+ oe_runmake all examples CC="${CC} ${LDFLAGS}"
}
do_install() {
@@ -19,4 +19,3 @@ do_install() {
install libfsiclient.so ${D}${libdir}
install fsidumpraw fsidumppgm ${D}${bindir}
}
-
diff --git a/recipes/gcc/gcc-4.4.0.inc b/recipes/gcc/gcc-4.4.0.inc
new file mode 100644
index 0000000000..65922e401c
--- /dev/null
+++ b/recipes/gcc/gcc-4.4.0.inc
@@ -0,0 +1,20 @@
+# No armeb and thumb patches - really needs checking
+DEFAULT_PREFERENCE = "-999"
+ARM_INSTRUCTION_SET = "arm"
+
+require gcc-common.inc
+
+DEPENDS = "mpfr gmp"
+
+FILESPATHPKG .= ":gcc-$PV"
+
+SRC_URI = "${GNU_MIRROR}/gcc/gcc-${PV}/gcc-${PV}.tar.bz2 \
+ file://gcc-4.3.1-ARCH_FLAGS_FOR_TARGET.patch;patch=1 \
+ "
+# Language Overrides
+FORTRAN = ""
+JAVA = ""
+
+EXTRA_OECONF_BASE = " --enable-libssp \
+ --disable-bootstrap --disable-libgomp \
+ --disable-libmudflap"
diff --git a/recipes/gcc/gcc-4.4.0/100-uclibc-conf.patch b/recipes/gcc/gcc-4.4.0/100-uclibc-conf.patch
new file mode 100644
index 0000000000..0b799607e8
--- /dev/null
+++ b/recipes/gcc/gcc-4.4.0/100-uclibc-conf.patch
@@ -0,0 +1,37 @@
+Index: gcc-4.3.1/contrib/regression/objs-gcc.sh
+===================================================================
+--- gcc-4.3.1.orig/contrib/regression/objs-gcc.sh 2007-12-24 15:18:57.000000000 -0800
++++ gcc-4.3.1/contrib/regression/objs-gcc.sh 2008-08-16 01:15:12.000000000 -0700
+@@ -105,6 +105,10 @@
+ then
+ make all-gdb all-dejagnu all-ld || exit 1
+ make install-gdb install-dejagnu install-ld || exit 1
++elif [ $H_REAL_TARGET = $H_REAL_HOST -a $H_REAL_TARGET = i686-pc-linux-uclibc ]
++ then
++ make all-gdb all-dejagnu all-ld || exit 1
++ make install-gdb install-dejagnu install-ld || exit 1
+ elif [ $H_REAL_TARGET = $H_REAL_HOST ] ; then
+ make bootstrap || exit 1
+ make install || exit 1
+Index: gcc-4.3.1/libjava/classpath/ltconfig
+===================================================================
+--- gcc-4.3.1.orig/libjava/classpath/ltconfig 2007-06-03 16:18:43.000000000 -0700
++++ gcc-4.3.1/libjava/classpath/ltconfig 2008-08-16 01:15:12.000000000 -0700
+@@ -603,7 +603,7 @@
+
+ # Transform linux* to *-*-linux-gnu*, to support old configure scripts.
+ case $host_os in
+-linux-gnu*) ;;
++linux-gnu*|linux-uclibc*) ;;
+ linux*) host=`echo $host | sed 's/^\(.*-.*-linux\)\(.*\)$/\1-gnu\2/'`
+ esac
+
+@@ -1251,7 +1251,7 @@
+ ;;
+
+ # This must be Linux ELF.
+-linux-gnu*)
++linux*)
+ version_type=linux
+ need_lib_prefix=no
+ need_version=no
diff --git a/recipes/gcc/gcc-4.4.0/103-uclibc-conf-noupstream.patch b/recipes/gcc/gcc-4.4.0/103-uclibc-conf-noupstream.patch
new file mode 100644
index 0000000000..09c9bbecfb
--- /dev/null
+++ b/recipes/gcc/gcc-4.4.0/103-uclibc-conf-noupstream.patch
@@ -0,0 +1,11 @@
+--- gcc/gcc/config.gcc.uclibc100-sh~ 2006-03-06 20:46:56 +0100
++++ gcc/gcc/config.gcc 2006-03-10 15:02:41 +0100
+@@ -1905,7 +1905,7 @@
+ ;;
+ sh-*-elf* | sh[12346l]*-*-elf* | sh*-*-kaos* | \
+ sh-*-symbianelf* | sh[12346l]*-*-symbianelf* | \
+- sh-*-linux* | sh[346lbe]*-*-linux* | \
++ sh*-*-linux* | sh[346lbe]*-*-linux* | \
+ sh-*-netbsdelf* | shl*-*-netbsdelf* | sh5-*-netbsd* | sh5l*-*-netbsd* | \
+ sh64-*-netbsd* | sh64l*-*-netbsd*)
+ tmake_file="${tmake_file} sh/t-sh sh/t-elf"
diff --git a/recipes/gcc/gcc-4.4.0/110-arm-eabi.patch b/recipes/gcc/gcc-4.4.0/110-arm-eabi.patch
new file mode 100644
index 0000000000..acebe5308f
--- /dev/null
+++ b/recipes/gcc/gcc-4.4.0/110-arm-eabi.patch
@@ -0,0 +1,27 @@
+--- gcc-2005q3-1.orig/gcc/config.gcc 2005-10-31 19:02:54.000000000 +0300
++++ gcc-2005q3-1/gcc/config.gcc 2006-01-27 01:09:09.000000000 +0300
+@@ -674,7 +674,7 @@
+ tm_file="dbxelf.h elfos.h linux.h arm/elf.h arm/linux-gas.h arm/linux-elf.h"
+ tmake_file="t-slibgcc-elf-ver t-linux arm/t-arm"
+ case ${target} in
+- arm*-*-linux-gnueabi)
++ arm*-*-linux-gnueabi | arm*-*-linux-uclibcgnueabi)
+ tm_file="$tm_file arm/bpabi.h arm/linux-eabi.h"
+ tmake_file="$tmake_file arm/t-arm-elf arm/t-bpabi arm/t-linux-eabi"
+ # The BPABI long long divmod functions return a 128-bit value in
+
+diff -urN gcc-2005q3-2/gcc/config/arm/linux-eabi.h gcc-2005q3-2.new/gcc/config/arm/linux-eabi.h
+--- gcc-2005q3-2/gcc/config/arm/linux-eabi.h 2005-12-07 23:14:16.000000000 +0300
++++ gcc-2005q3-2.new/gcc/config/arm/linux-eabi.h 2006-03-29 19:02:34.000000000 +0400
+@@ -53,7 +53,11 @@
+ /* Use ld-linux.so.3 so that it will be possible to run "classic"
+ GNU/Linux binaries on an EABI system. */
+ #undef LINUX_TARGET_INTERPRETER
++#ifdef USE_UCLIBC
++#define LINUX_TARGET_INTERPRETER "/lib/ld-uClibc.so.0"
++#else
+ #define LINUX_TARGET_INTERPRETER "/lib/ld-linux.so.3"
++#endif
+
+ /* At this point, bpabi.h will have clobbered LINK_SPEC. We want to
+ use the GNU/Linux version, not the generic BPABI version. */
diff --git a/recipes/gcc/gcc-4.4.0/200-uclibc-locale.patch b/recipes/gcc/gcc-4.4.0/200-uclibc-locale.patch
new file mode 100644
index 0000000000..70ba98eed7
--- /dev/null
+++ b/recipes/gcc/gcc-4.4.0/200-uclibc-locale.patch
@@ -0,0 +1,2833 @@
+Index: gcc-4.3.2/libstdc++-v3/acinclude.m4
+===================================================================
+--- gcc-4.3.2.orig/libstdc++-v3/acinclude.m4 2008-04-25 09:52:57.000000000 -0700
++++ gcc-4.3.2/libstdc++-v3/acinclude.m4 2008-08-28 17:55:56.000000000 -0700
+@@ -1349,7 +1349,7 @@
+ AC_DEFUN([GLIBCXX_ENABLE_CLOCALE], [
+ GLIBCXX_ENABLE(clocale,auto,[@<:@=MODEL@:>@],
+ [use MODEL for target locale package],
+- [permit generic|gnu|ieee_1003.1-2001|yes|no|auto])
++ [permit generic|gnu|ieee_1003.1-2001|uclibc|yes|no|auto])
+
+ # Deal with gettext issues. Default to not using it (=no) until we detect
+ # support for it later. Let the user turn it off via --e/d, but let that
+@@ -1370,6 +1370,9 @@
+ # Default to "generic".
+ if test $enable_clocale_flag = auto; then
+ case ${target_os} in
++ *-uclibc*)
++ enable_clocale_flag=uclibc
++ ;;
+ linux* | gnu* | kfreebsd*-gnu | knetbsd*-gnu)
+ enable_clocale_flag=gnu
+ ;;
+@@ -1541,6 +1544,40 @@
+ CTIME_CC=config/locale/generic/time_members.cc
+ CLOCALE_INTERNAL_H=config/locale/generic/c++locale_internal.h
+ ;;
++ uclibc)
++ AC_MSG_RESULT(uclibc)
++
++ # Declare intention to use gettext, and add support for specific
++ # languages.
++ # For some reason, ALL_LINGUAS has to be before AM-GNU-GETTEXT
++ ALL_LINGUAS="de fr"
++
++ # Don't call AM-GNU-GETTEXT here. Instead, assume glibc.
++ AC_CHECK_PROG(check_msgfmt, msgfmt, yes, no)
++ if test x"$check_msgfmt" = x"yes" && test x"$enable_nls" = x"yes"; then
++ USE_NLS=yes
++ fi
++ # Export the build objects.
++ for ling in $ALL_LINGUAS; do \
++ glibcxx_MOFILES="$glibcxx_MOFILES $ling.mo"; \
++ glibcxx_POFILES="$glibcxx_POFILES $ling.po"; \
++ done
++ AC_SUBST(glibcxx_MOFILES)
++ AC_SUBST(glibcxx_POFILES)
++
++ CLOCALE_H=config/locale/uclibc/c_locale.h
++ CLOCALE_CC=config/locale/uclibc/c_locale.cc
++ CCODECVT_CC=config/locale/uclibc/codecvt_members.cc
++ CCOLLATE_CC=config/locale/uclibc/collate_members.cc
++ CCTYPE_CC=config/locale/uclibc/ctype_members.cc
++ CMESSAGES_H=config/locale/uclibc/messages_members.h
++ CMESSAGES_CC=config/locale/uclibc/messages_members.cc
++ CMONEY_CC=config/locale/uclibc/monetary_members.cc
++ CNUMERIC_CC=config/locale/uclibc/numeric_members.cc
++ CTIME_H=config/locale/uclibc/time_members.h
++ CTIME_CC=config/locale/uclibc/time_members.cc
++ CLOCALE_INTERNAL_H=config/locale/uclibc/c++locale_internal.h
++ ;;
+ esac
+
+ # This is where the testsuite looks for locale catalogs, using the
+Index: gcc-4.3.2/libstdc++-v3/config/locale/uclibc/c++locale_internal.h
+===================================================================
+--- /dev/null 1970-01-01 00:00:00.000000000 +0000
++++ gcc-4.3.2/libstdc++-v3/config/locale/uclibc/c++locale_internal.h 2008-08-28 17:55:56.000000000 -0700
+@@ -0,0 +1,63 @@
++// Prototypes for GLIBC thread locale __-prefixed functions -*- C++ -*-
++
++// Copyright (C) 2002, 2004, 2005 Free Software Foundation, Inc.
++//
++// This file is part of the GNU ISO C++ Library. This library is free
++// software; you can redistribute it and/or modify it under the
++// terms of the GNU General Public License as published by the
++// Free Software Foundation; either version 2, or (at your option)
++// any later version.
++
++// This library is distributed in the hope that it will be useful,
++// but WITHOUT ANY WARRANTY; without even the implied warranty of
++// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
++// GNU General Public License for more details.
++
++// You should have received a copy of the GNU General Public License along
++// with this library; see the file COPYING. If not, write to the Free
++// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
++// USA.
++
++// As a special exception, you may use this file as part of a free software
++// library without restriction. Specifically, if other files instantiate
++// templates or use macros or inline functions from this file, or you compile
++// this file and link it with other files to produce an executable, this
++// file does not by itself cause the resulting executable to be covered by
++// the GNU General Public License. This exception does not however
++// invalidate any other reasons why the executable file might be covered by
++// the GNU General Public License.
++
++// Written by Jakub Jelinek <jakub@redhat.com>
++
++#include <bits/c++config.h>
++#include <clocale>
++
++#ifdef __UCLIBC_MJN3_ONLY__
++#warning clean this up
++#endif
++
++#ifdef __UCLIBC_HAS_XLOCALE__
++
++extern "C" __typeof(nl_langinfo_l) __nl_langinfo_l;
++extern "C" __typeof(strcoll_l) __strcoll_l;
++extern "C" __typeof(strftime_l) __strftime_l;
++extern "C" __typeof(strtod_l) __strtod_l;
++extern "C" __typeof(strtof_l) __strtof_l;
++extern "C" __typeof(strtold_l) __strtold_l;
++extern "C" __typeof(strxfrm_l) __strxfrm_l;
++extern "C" __typeof(newlocale) __newlocale;
++extern "C" __typeof(freelocale) __freelocale;
++extern "C" __typeof(duplocale) __duplocale;
++extern "C" __typeof(uselocale) __uselocale;
++
++#ifdef _GLIBCXX_USE_WCHAR_T
++extern "C" __typeof(iswctype_l) __iswctype_l;
++extern "C" __typeof(towlower_l) __towlower_l;
++extern "C" __typeof(towupper_l) __towupper_l;
++extern "C" __typeof(wcscoll_l) __wcscoll_l;
++extern "C" __typeof(wcsftime_l) __wcsftime_l;
++extern "C" __typeof(wcsxfrm_l) __wcsxfrm_l;
++extern "C" __typeof(wctype_l) __wctype_l;
++#endif
++
++#endif // GLIBC 2.3 and later
+Index: gcc-4.3.2/libstdc++-v3/config/locale/uclibc/c_locale.cc
+===================================================================
+--- /dev/null 1970-01-01 00:00:00.000000000 +0000
++++ gcc-4.3.2/libstdc++-v3/config/locale/uclibc/c_locale.cc 2008-08-28 17:55:56.000000000 -0700
+@@ -0,0 +1,160 @@
++// Wrapper for underlying C-language localization -*- C++ -*-
++
++// Copyright (C) 2001, 2002, 2003 Free Software Foundation, Inc.
++//
++// This file is part of the GNU ISO C++ Library. This library is free
++// software; you can redistribute it and/or modify it under the
++// terms of the GNU General Public License as published by the
++// Free Software Foundation; either version 2, or (at your option)
++// any later version.
++
++// This library is distributed in the hope that it will be useful,
++// but WITHOUT ANY WARRANTY; without even the implied warranty of
++// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
++// GNU General Public License for more details.
++
++// You should have received a copy of the GNU General Public License along
++// with this library; see the file COPYING. If not, write to the Free
++// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
++// USA.
++
++// As a special exception, you may use this file as part of a free software
++// library without restriction. Specifically, if other files instantiate
++// templates or use macros or inline functions from this file, or you compile
++// this file and link it with other files to produce an executable, this
++// file does not by itself cause the resulting executable to be covered by
++// the GNU General Public License. This exception does not however
++// invalidate any other reasons why the executable file might be covered by
++// the GNU General Public License.
++
++//
++// ISO C++ 14882: 22.8 Standard locale categories.
++//
++
++// Written by Benjamin Kosnik <bkoz@redhat.com>
++
++#include <cerrno> // For errno
++#include <locale>
++#include <stdexcept>
++#include <langinfo.h>
++#include <bits/c++locale_internal.h>
++
++#ifndef __UCLIBC_HAS_XLOCALE__
++#define __strtol_l(S, E, B, L) strtol((S), (E), (B))
++#define __strtoul_l(S, E, B, L) strtoul((S), (E), (B))
++#define __strtoll_l(S, E, B, L) strtoll((S), (E), (B))
++#define __strtoull_l(S, E, B, L) strtoull((S), (E), (B))
++#define __strtof_l(S, E, L) strtof((S), (E))
++#define __strtod_l(S, E, L) strtod((S), (E))
++#define __strtold_l(S, E, L) strtold((S), (E))
++#warning should dummy __newlocale check for C|POSIX ?
++#define __newlocale(a, b, c) NULL
++#define __freelocale(a) ((void)0)
++#define __duplocale(a) __c_locale()
++#endif
++
++namespace std
++{
++ template<>
++ void
++ __convert_to_v(const char* __s, float& __v, ios_base::iostate& __err,
++ const __c_locale& __cloc)
++ {
++ if (!(__err & ios_base::failbit))
++ {
++ char* __sanity;
++ errno = 0;
++ float __f = __strtof_l(__s, &__sanity, __cloc);
++ if (__sanity != __s && errno != ERANGE)
++ __v = __f;
++ else
++ __err |= ios_base::failbit;
++ }
++ }
++
++ template<>
++ void
++ __convert_to_v(const char* __s, double& __v, ios_base::iostate& __err,
++ const __c_locale& __cloc)
++ {
++ if (!(__err & ios_base::failbit))
++ {
++ char* __sanity;
++ errno = 0;
++ double __d = __strtod_l(__s, &__sanity, __cloc);
++ if (__sanity != __s && errno != ERANGE)
++ __v = __d;
++ else
++ __err |= ios_base::failbit;
++ }
++ }
++
++ template<>
++ void
++ __convert_to_v(const char* __s, long double& __v, ios_base::iostate& __err,
++ const __c_locale& __cloc)
++ {
++ if (!(__err & ios_base::failbit))
++ {
++ char* __sanity;
++ errno = 0;
++ long double __ld = __strtold_l(__s, &__sanity, __cloc);
++ if (__sanity != __s && errno != ERANGE)
++ __v = __ld;
++ else
++ __err |= ios_base::failbit;
++ }
++ }
++
++ void
++ locale::facet::_S_create_c_locale(__c_locale& __cloc, const char* __s,
++ __c_locale __old)
++ {
++ __cloc = __newlocale(1 << LC_ALL, __s, __old);
++#ifdef __UCLIBC_HAS_XLOCALE__
++ if (!__cloc)
++ {
++ // This named locale is not supported by the underlying OS.
++ __throw_runtime_error(__N("locale::facet::_S_create_c_locale "
++ "name not valid"));
++ }
++#endif
++ }
++
++ void
++ locale::facet::_S_destroy_c_locale(__c_locale& __cloc)
++ {
++ if (_S_get_c_locale() != __cloc)
++ __freelocale(__cloc);
++ }
++
++ __c_locale
++ locale::facet::_S_clone_c_locale(__c_locale& __cloc)
++ { return __duplocale(__cloc); }
++} // namespace std
++
++namespace __gnu_cxx
++{
++ const char* const category_names[6 + _GLIBCXX_NUM_CATEGORIES] =
++ {
++ "LC_CTYPE",
++ "LC_NUMERIC",
++ "LC_TIME",
++ "LC_COLLATE",
++ "LC_MONETARY",
++ "LC_MESSAGES",
++#if _GLIBCXX_NUM_CATEGORIES != 0
++ "LC_PAPER",
++ "LC_NAME",
++ "LC_ADDRESS",
++ "LC_TELEPHONE",
++ "LC_MEASUREMENT",
++ "LC_IDENTIFICATION"
++#endif
++ };
++}
++
++namespace std
++{
++ const char* const* const locale::_S_categories = __gnu_cxx::category_names;
++} // namespace std
+Index: gcc-4.3.2/libstdc++-v3/config/locale/uclibc/c_locale.h
+===================================================================
+--- /dev/null 1970-01-01 00:00:00.000000000 +0000
++++ gcc-4.3.2/libstdc++-v3/config/locale/uclibc/c_locale.h 2008-08-28 17:55:56.000000000 -0700
+@@ -0,0 +1,117 @@
++// Wrapper for underlying C-language localization -*- C++ -*-
++
++// Copyright (C) 2001, 2002, 2003, 2004, 2005 Free Software Foundation, Inc.
++//
++// This file is part of the GNU ISO C++ Library. This library is free
++// software; you can redistribute it and/or modify it under the
++// terms of the GNU General Public License as published by the
++// Free Software Foundation; either version 2, or (at your option)
++// any later version.
++
++// This library is distributed in the hope that it will be useful,
++// but WITHOUT ANY WARRANTY; without even the implied warranty of
++// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
++// GNU General Public License for more details.
++
++// You should have received a copy of the GNU General Public License along
++// with this library; see the file COPYING. If not, write to the Free
++// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
++// USA.
++
++// As a special exception, you may use this file as part of a free software
++// library without restriction. Specifically, if other files instantiate
++// templates or use macros or inline functions from this file, or you compile
++// this file and link it with other files to produce an executable, this
++// file does not by itself cause the resulting executable to be covered by
++// the GNU General Public License. This exception does not however
++// invalidate any other reasons why the executable file might be covered by
++// the GNU General Public License.
++
++//
++// ISO C++ 14882: 22.8 Standard locale categories.
++//
++
++// Written by Benjamin Kosnik <bkoz@redhat.com>
++
++#ifndef _C_LOCALE_H
++#define _C_LOCALE_H 1
++
++#pragma GCC system_header
++
++#include <cstring> // get std::strlen
++#include <cstdio> // get std::snprintf or std::sprintf
++#include <clocale>
++#include <langinfo.h> // For codecvt
++#ifdef __UCLIBC_MJN3_ONLY__
++#warning fix this
++#endif
++#ifdef __UCLIBC_HAS_LOCALE__
++#include <iconv.h> // For codecvt using iconv, iconv_t
++#endif
++#ifdef __UCLIBC_HAS_GETTEXT_AWARENESS__
++#include <libintl.h> // For messages
++#endif
++
++#ifdef __UCLIBC_MJN3_ONLY__
++#warning what is _GLIBCXX_C_LOCALE_GNU for
++#endif
++#define _GLIBCXX_C_LOCALE_GNU 1
++
++#ifdef __UCLIBC_MJN3_ONLY__
++#warning fix categories
++#endif
++// #define _GLIBCXX_NUM_CATEGORIES 6
++#define _GLIBCXX_NUM_CATEGORIES 0
++
++#ifdef __UCLIBC_HAS_XLOCALE__
++namespace __gnu_cxx
++{
++ extern "C" __typeof(uselocale) __uselocale;
++}
++#endif
++
++namespace std
++{
++#ifdef __UCLIBC_HAS_XLOCALE__
++ typedef __locale_t __c_locale;
++#else
++ typedef int* __c_locale;
++#endif
++
++ // Convert numeric value of type _Tv to string and return length of
++ // string. If snprintf is available use it, otherwise fall back to
++ // the unsafe sprintf which, in general, can be dangerous and should
++ // be avoided.
++ template<typename _Tv>
++ int
++ __convert_from_v(char* __out,
++ const int __size __attribute__ ((__unused__)),
++ const char* __fmt,
++#ifdef __UCLIBC_HAS_XCLOCALE__
++ _Tv __v, const __c_locale& __cloc, int __prec)
++ {
++ __c_locale __old = __gnu_cxx::__uselocale(__cloc);
++#else
++ _Tv __v, const __c_locale&, int __prec)
++ {
++# ifdef __UCLIBC_HAS_LOCALE__
++ char* __old = std::setlocale(LC_ALL, NULL);
++ char* __sav = new char[std::strlen(__old) + 1];
++ std::strcpy(__sav, __old);
++ std::setlocale(LC_ALL, "C");
++# endif
++#endif
++
++ const int __ret = std::snprintf(__out, __size, __fmt, __prec, __v);
++
++#ifdef __UCLIBC_HAS_XCLOCALE__
++ __gnu_cxx::__uselocale(__old);
++#elif defined __UCLIBC_HAS_LOCALE__
++ std::setlocale(LC_ALL, __sav);
++ delete [] __sav;
++#endif
++ return __ret;
++ }
++}
++
++#endif
+Index: gcc-4.3.2/libstdc++-v3/config/locale/uclibc/codecvt_members.cc
+===================================================================
+--- /dev/null 1970-01-01 00:00:00.000000000 +0000
++++ gcc-4.3.2/libstdc++-v3/config/locale/uclibc/codecvt_members.cc 2008-08-28 17:55:56.000000000 -0700
+@@ -0,0 +1,308 @@
++// std::codecvt implementation details, GNU version -*- C++ -*-
++
++// Copyright (C) 2002, 2003 Free Software Foundation, Inc.
++//
++// This file is part of the GNU ISO C++ Library. This library is free
++// software; you can redistribute it and/or modify it under the
++// terms of the GNU General Public License as published by the
++// Free Software Foundation; either version 2, or (at your option)
++// any later version.
++
++// This library is distributed in the hope that it will be useful,
++// but WITHOUT ANY WARRANTY; without even the implied warranty of
++// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
++// GNU General Public License for more details.
++
++// You should have received a copy of the GNU General Public License along
++// with this library; see the file COPYING. If not, write to the Free
++// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
++// USA.
++
++// As a special exception, you may use this file as part of a free software
++// library without restriction. Specifically, if other files instantiate
++// templates or use macros or inline functions from this file, or you compile
++// this file and link it with other files to produce an executable, this
++// file does not by itself cause the resulting executable to be covered by
++// the GNU General Public License. This exception does not however
++// invalidate any other reasons why the executable file might be covered by
++// the GNU General Public License.
++
++//
++// ISO C++ 14882: 22.2.1.5 - Template class codecvt
++//
++
++// Written by Benjamin Kosnik <bkoz@redhat.com>
++
++#include <locale>
++#include <cstdlib> // For MB_CUR_MAX
++#include <climits> // For MB_LEN_MAX
++#include <bits/c++locale_internal.h>
++
++namespace std
++{
++ // Specializations.
++#ifdef _GLIBCXX_USE_WCHAR_T
++ codecvt_base::result
++ codecvt<wchar_t, char, mbstate_t>::
++ do_out(state_type& __state, const intern_type* __from,
++ const intern_type* __from_end, const intern_type*& __from_next,
++ extern_type* __to, extern_type* __to_end,
++ extern_type*& __to_next) const
++ {
++ result __ret = ok;
++ state_type __tmp_state(__state);
++
++#ifdef __UCLIBC_HAS_XLOCALE__
++ __c_locale __old = __uselocale(_M_c_locale_codecvt);
++#endif
++
++ // wcsnrtombs is *very* fast but stops if encounters NUL characters:
++ // in case we fall back to wcrtomb and then continue, in a loop.
++ // NB: wcsnrtombs is a GNU extension
++ for (__from_next = __from, __to_next = __to;
++ __from_next < __from_end && __to_next < __to_end
++ && __ret == ok;)
++ {
++ const intern_type* __from_chunk_end = wmemchr(__from_next, L'\0',
++ __from_end - __from_next);
++ if (!__from_chunk_end)
++ __from_chunk_end = __from_end;
++
++ __from = __from_next;
++ const size_t __conv = wcsnrtombs(__to_next, &__from_next,
++ __from_chunk_end - __from_next,
++ __to_end - __to_next, &__state);
++ if (__conv == static_cast<size_t>(-1))
++ {
++ // In case of error, in order to stop at the exact place we
++ // have to start again from the beginning with a series of
++ // wcrtomb.
++ for (; __from < __from_next; ++__from)
++ __to_next += wcrtomb(__to_next, *__from, &__tmp_state);
++ __state = __tmp_state;
++ __ret = error;
++ }
++ else if (__from_next && __from_next < __from_chunk_end)
++ {
++ __to_next += __conv;
++ __ret = partial;
++ }
++ else
++ {
++ __from_next = __from_chunk_end;
++ __to_next += __conv;
++ }
++
++ if (__from_next < __from_end && __ret == ok)
++ {
++ extern_type __buf[MB_LEN_MAX];
++ __tmp_state = __state;
++ const size_t __conv = wcrtomb(__buf, *__from_next, &__tmp_state);
++ if (__conv > static_cast<size_t>(__to_end - __to_next))
++ __ret = partial;
++ else
++ {
++ memcpy(__to_next, __buf, __conv);
++ __state = __tmp_state;
++ __to_next += __conv;
++ ++__from_next;
++ }
++ }
++ }
++
++#ifdef __UCLIBC_HAS_XLOCALE__
++ __uselocale(__old);
++#endif
++
++ return __ret;
++ }
++
++ codecvt_base::result
++ codecvt<wchar_t, char, mbstate_t>::
++ do_in(state_type& __state, const extern_type* __from,
++ const extern_type* __from_end, const extern_type*& __from_next,
++ intern_type* __to, intern_type* __to_end,
++ intern_type*& __to_next) const
++ {
++ result __ret = ok;
++ state_type __tmp_state(__state);
++
++#ifdef __UCLIBC_HAS_XLOCALE__
++ __c_locale __old = __uselocale(_M_c_locale_codecvt);
++#endif
++
++ // mbsnrtowcs is *very* fast but stops if encounters NUL characters:
++ // in case we store a L'\0' and then continue, in a loop.
++ // NB: mbsnrtowcs is a GNU extension
++ for (__from_next = __from, __to_next = __to;
++ __from_next < __from_end && __to_next < __to_end
++ && __ret == ok;)
++ {
++ const extern_type* __from_chunk_end;
++ __from_chunk_end = static_cast<const extern_type*>(memchr(__from_next, '\0',
++ __from_end
++ - __from_next));
++ if (!__from_chunk_end)
++ __from_chunk_end = __from_end;
++
++ __from = __from_next;
++ size_t __conv = mbsnrtowcs(__to_next, &__from_next,
++ __from_chunk_end - __from_next,
++ __to_end - __to_next, &__state);
++ if (__conv == static_cast<size_t>(-1))
++ {
++ // In case of error, in order to stop at the exact place we
++ // have to start again from the beginning with a series of
++ // mbrtowc.
++ for (;; ++__to_next, __from += __conv)
++ {
++ __conv = mbrtowc(__to_next, __from, __from_end - __from,
++ &__tmp_state);
++ if (__conv == static_cast<size_t>(-1)
++ || __conv == static_cast<size_t>(-2))
++ break;
++ }
++ __from_next = __from;
++ __state = __tmp_state;
++ __ret = error;
++ }
++ else if (__from_next && __from_next < __from_chunk_end)
++ {
++ // It is unclear what to return in this case (see DR 382).
++ __to_next += __conv;
++ __ret = partial;
++ }
++ else
++ {
++ __from_next = __from_chunk_end;
++ __to_next += __conv;
++ }
++
++ if (__from_next < __from_end && __ret == ok)
++ {
++ if (__to_next < __to_end)
++ {
++ // XXX Probably wrong for stateful encodings
++ __tmp_state = __state;
++ ++__from_next;
++ *__to_next++ = L'\0';
++ }
++ else
++ __ret = partial;
++ }
++ }
++
++#ifdef __UCLIBC_HAS_XLOCALE__
++ __uselocale(__old);
++#endif
++
++ return __ret;
++ }
++
++ int
++ codecvt<wchar_t, char, mbstate_t>::
++ do_encoding() const throw()
++ {
++ // XXX This implementation assumes that the encoding is
++ // stateless and is either single-byte or variable-width.
++ int __ret = 0;
++#ifdef __UCLIBC_HAS_XLOCALE__
++ __c_locale __old = __uselocale(_M_c_locale_codecvt);
++#endif
++ if (MB_CUR_MAX == 1)
++ __ret = 1;
++#ifdef __UCLIBC_HAS_XLOCALE__
++ __uselocale(__old);
++#endif
++ return __ret;
++ }
++
++ int
++ codecvt<wchar_t, char, mbstate_t>::
++ do_max_length() const throw()
++ {
++#ifdef __UCLIBC_HAS_XLOCALE__
++ __c_locale __old = __uselocale(_M_c_locale_codecvt);
++#endif
++ // XXX Probably wrong for stateful encodings.
++ int __ret = MB_CUR_MAX;
++#ifdef __UCLIBC_HAS_XLOCALE__
++ __uselocale(__old);
++#endif
++ return __ret;
++ }
++
++ int
++ codecvt<wchar_t, char, mbstate_t>::
++ do_length(state_type& __state, const extern_type* __from,
++ const extern_type* __end, size_t __max) const
++ {
++ int __ret = 0;
++ state_type __tmp_state(__state);
++
++#ifdef __UCLIBC_HAS_XLOCALE__
++ __c_locale __old = __uselocale(_M_c_locale_codecvt);
++#endif
++
++ // mbsnrtowcs is *very* fast but stops if encounters NUL characters:
++ // in case we advance past it and then continue, in a loop.
++ // NB: mbsnrtowcs is a GNU extension
++
++ // A dummy internal buffer is needed in order for mbsnrtocws to consider
++ // its fourth parameter (it wouldn't with NULL as first parameter).
++ wchar_t* __to = static_cast<wchar_t*>(__builtin_alloca(sizeof(wchar_t)
++ * __max));
++ while (__from < __end && __max)
++ {
++ const extern_type* __from_chunk_end;
++ __from_chunk_end = static_cast<const extern_type*>(memchr(__from, '\0',
++ __end
++ - __from));
++ if (!__from_chunk_end)
++ __from_chunk_end = __end;
++
++ const extern_type* __tmp_from = __from;
++ size_t __conv = mbsnrtowcs(__to, &__from,
++ __from_chunk_end - __from,
++ __max, &__state);
++ if (__conv == static_cast<size_t>(-1))
++ {
++ // In case of error, in order to stop at the exact place we
++ // have to start again from the beginning with a series of
++ // mbrtowc.
++ for (__from = __tmp_from;; __from += __conv)
++ {
++ __conv = mbrtowc(NULL, __from, __end - __from,
++ &__tmp_state);
++ if (__conv == static_cast<size_t>(-1)
++ || __conv == static_cast<size_t>(-2))
++ break;
++ }
++ __state = __tmp_state;
++ __ret += __from - __tmp_from;
++ break;
++ }
++ if (!__from)
++ __from = __from_chunk_end;
++
++ __ret += __from - __tmp_from;
++ __max -= __conv;
++
++ if (__from < __end && __max)
++ {
++ // XXX Probably wrong for stateful encodings
++ __tmp_state = __state;
++ ++__from;
++ ++__ret;
++ --__max;
++ }
++ }
++
++#ifdef __UCLIBC_HAS_XLOCALE__
++ __uselocale(__old);
++#endif
++
++ return __ret;
++ }
++#endif
++}
+Index: gcc-4.3.2/libstdc++-v3/config/locale/uclibc/collate_members.cc
+===================================================================
+--- /dev/null 1970-01-01 00:00:00.000000000 +0000
++++ gcc-4.3.2/libstdc++-v3/config/locale/uclibc/collate_members.cc 2008-08-28 17:55:56.000000000 -0700
+@@ -0,0 +1,80 @@
++// std::collate implementation details, GNU version -*- C++ -*-
++
++// Copyright (C) 2001, 2002 Free Software Foundation, Inc.
++//
++// This file is part of the GNU ISO C++ Library. This library is free
++// software; you can redistribute it and/or modify it under the
++// terms of the GNU General Public License as published by the
++// Free Software Foundation; either version 2, or (at your option)
++// any later version.
++
++// This library is distributed in the hope that it will be useful,
++// but WITHOUT ANY WARRANTY; without even the implied warranty of
++// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
++// GNU General Public License for more details.
++
++// You should have received a copy of the GNU General Public License along
++// with this library; see the file COPYING. If not, write to the Free
++// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
++// USA.
++
++// As a special exception, you may use this file as part of a free software
++// library without restriction. Specifically, if other files instantiate
++// templates or use macros or inline functions from this file, or you compile
++// this file and link it with other files to produce an executable, this
++// file does not by itself cause the resulting executable to be covered by
++// the GNU General Public License. This exception does not however
++// invalidate any other reasons why the executable file might be covered by
++// the GNU General Public License.
++
++//
++// ISO C++ 14882: 22.2.4.1.2 collate virtual functions
++//
++
++// Written by Benjamin Kosnik <bkoz@redhat.com>
++
++#include <locale>
++#include <bits/c++locale_internal.h>
++
++#ifndef __UCLIBC_HAS_XLOCALE__
++#define __strcoll_l(S1, S2, L) strcoll((S1), (S2))
++#define __strxfrm_l(S1, S2, N, L) strxfrm((S1), (S2), (N))
++#define __wcscoll_l(S1, S2, L) wcscoll((S1), (S2))
++#define __wcsxfrm_l(S1, S2, N, L) wcsxfrm((S1), (S2), (N))
++#endif
++
++namespace std
++{
++ // These are basically extensions to char_traits, and perhaps should
++ // be put there instead of here.
++ template<>
++ int
++ collate<char>::_M_compare(const char* __one, const char* __two) const
++ {
++ int __cmp = __strcoll_l(__one, __two, _M_c_locale_collate);
++ return (__cmp >> (8 * sizeof (int) - 2)) | (__cmp != 0);
++ }
++
++ template<>
++ size_t
++ collate<char>::_M_transform(char* __to, const char* __from,
++ size_t __n) const
++ { return __strxfrm_l(__to, __from, __n, _M_c_locale_collate); }
++
++#ifdef _GLIBCXX_USE_WCHAR_T
++ template<>
++ int
++ collate<wchar_t>::_M_compare(const wchar_t* __one,
++ const wchar_t* __two) const
++ {
++ int __cmp = __wcscoll_l(__one, __two, _M_c_locale_collate);
++ return (__cmp >> (8 * sizeof (int) - 2)) | (__cmp != 0);
++ }
++
++ template<>
++ size_t
++ collate<wchar_t>::_M_transform(wchar_t* __to, const wchar_t* __from,
++ size_t __n) const
++ { return __wcsxfrm_l(__to, __from, __n, _M_c_locale_collate); }
++#endif
++}
+Index: gcc-4.3.2/libstdc++-v3/config/locale/uclibc/ctype_members.cc
+===================================================================
+--- /dev/null 1970-01-01 00:00:00.000000000 +0000
++++ gcc-4.3.2/libstdc++-v3/config/locale/uclibc/ctype_members.cc 2008-08-28 17:55:56.000000000 -0700
+@@ -0,0 +1,300 @@
++// std::ctype implementation details, GNU version -*- C++ -*-
++
++// Copyright (C) 2001, 2002, 2003, 2004 Free Software Foundation, Inc.
++//
++// This file is part of the GNU ISO C++ Library. This library is free
++// software; you can redistribute it and/or modify it under the
++// terms of the GNU General Public License as published by the
++// Free Software Foundation; either version 2, or (at your option)
++// any later version.
++
++// This library is distributed in the hope that it will be useful,
++// but WITHOUT ANY WARRANTY; without even the implied warranty of
++// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
++// GNU General Public License for more details.
++
++// You should have received a copy of the GNU General Public License along
++// with this library; see the file COPYING. If not, write to the Free
++// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
++// USA.
++
++// As a special exception, you may use this file as part of a free software
++// library without restriction. Specifically, if other files instantiate
++// templates or use macros or inline functions from this file, or you compile
++// this file and link it with other files to produce an executable, this
++// file does not by itself cause the resulting executable to be covered by
++// the GNU General Public License. This exception does not however
++// invalidate any other reasons why the executable file might be covered by
++// the GNU General Public License.
++
++//
++// ISO C++ 14882: 22.2.1.1.2 ctype virtual functions.
++//
++
++// Written by Benjamin Kosnik <bkoz@redhat.com>
++
++#define _LIBC
++#include <locale>
++#undef _LIBC
++#include <bits/c++locale_internal.h>
++
++#ifndef __UCLIBC_HAS_XLOCALE__
++#define __wctype_l(S, L) wctype((S))
++#define __towupper_l(C, L) towupper((C))
++#define __towlower_l(C, L) towlower((C))
++#define __iswctype_l(C, M, L) iswctype((C), (M))
++#endif
++
++namespace std
++{
++ // NB: The other ctype<char> specializations are in src/locale.cc and
++ // various /config/os/* files.
++ template<>
++ ctype_byname<char>::ctype_byname(const char* __s, size_t __refs)
++ : ctype<char>(0, false, __refs)
++ {
++ if (std::strcmp(__s, "C") != 0 && std::strcmp(__s, "POSIX") != 0)
++ {
++ this->_S_destroy_c_locale(this->_M_c_locale_ctype);
++ this->_S_create_c_locale(this->_M_c_locale_ctype, __s);
++#ifdef __UCLIBC_HAS_XLOCALE__
++ this->_M_toupper = this->_M_c_locale_ctype->__ctype_toupper;
++ this->_M_tolower = this->_M_c_locale_ctype->__ctype_tolower;
++ this->_M_table = this->_M_c_locale_ctype->__ctype_b;
++#endif
++ }
++ }
++
++#ifdef _GLIBCXX_USE_WCHAR_T
++ ctype<wchar_t>::__wmask_type
++ ctype<wchar_t>::_M_convert_to_wmask(const mask __m) const
++ {
++ __wmask_type __ret;
++ switch (__m)
++ {
++ case space:
++ __ret = __wctype_l("space", _M_c_locale_ctype);
++ break;
++ case print:
++ __ret = __wctype_l("print", _M_c_locale_ctype);
++ break;
++ case cntrl:
++ __ret = __wctype_l("cntrl", _M_c_locale_ctype);
++ break;
++ case upper:
++ __ret = __wctype_l("upper", _M_c_locale_ctype);
++ break;
++ case lower:
++ __ret = __wctype_l("lower", _M_c_locale_ctype);
++ break;
++ case alpha:
++ __ret = __wctype_l("alpha", _M_c_locale_ctype);
++ break;
++ case digit:
++ __ret = __wctype_l("digit", _M_c_locale_ctype);
++ break;
++ case punct:
++ __ret = __wctype_l("punct", _M_c_locale_ctype);
++ break;
++ case xdigit:
++ __ret = __wctype_l("xdigit", _M_c_locale_ctype);
++ break;
++ case alnum:
++ __ret = __wctype_l("alnum", _M_c_locale_ctype);
++ break;
++ case graph:
++ __ret = __wctype_l("graph", _M_c_locale_ctype);
++ break;
++ default:
++ __ret = __wmask_type();
++ }
++ return __ret;
++ }
++
++ wchar_t
++ ctype<wchar_t>::do_toupper(wchar_t __c) const
++ { return __towupper_l(__c, _M_c_locale_ctype); }
++
++ const wchar_t*
++ ctype<wchar_t>::do_toupper(wchar_t* __lo, const wchar_t* __hi) const
++ {
++ while (__lo < __hi)
++ {
++ *__lo = __towupper_l(*__lo, _M_c_locale_ctype);
++ ++__lo;
++ }
++ return __hi;
++ }
++
++ wchar_t
++ ctype<wchar_t>::do_tolower(wchar_t __c) const
++ { return __towlower_l(__c, _M_c_locale_ctype); }
++
++ const wchar_t*
++ ctype<wchar_t>::do_tolower(wchar_t* __lo, const wchar_t* __hi) const
++ {
++ while (__lo < __hi)
++ {
++ *__lo = __towlower_l(*__lo, _M_c_locale_ctype);
++ ++__lo;
++ }
++ return __hi;
++ }
++
++ bool
++ ctype<wchar_t>::
++ do_is(mask __m, wchar_t __c) const
++ {
++ // Highest bitmask in ctype_base == 10, but extra in "C"
++ // library for blank.
++ bool __ret = false;
++ const size_t __bitmasksize = 11;
++ for (size_t __bitcur = 0; __bitcur <= __bitmasksize; ++__bitcur)
++ if (__m & _M_bit[__bitcur]
++ && __iswctype_l(__c, _M_wmask[__bitcur], _M_c_locale_ctype))
++ {
++ __ret = true;
++ break;
++ }
++ return __ret;
++ }
++
++ const wchar_t*
++ ctype<wchar_t>::
++ do_is(const wchar_t* __lo, const wchar_t* __hi, mask* __vec) const
++ {
++ for (; __lo < __hi; ++__vec, ++__lo)
++ {
++ // Highest bitmask in ctype_base == 10, but extra in "C"
++ // library for blank.
++ const size_t __bitmasksize = 11;
++ mask __m = 0;
++ for (size_t __bitcur = 0; __bitcur <= __bitmasksize; ++__bitcur)
++ if (__iswctype_l(*__lo, _M_wmask[__bitcur], _M_c_locale_ctype))
++ __m |= _M_bit[__bitcur];
++ *__vec = __m;
++ }
++ return __hi;
++ }
++
++ const wchar_t*
++ ctype<wchar_t>::
++ do_scan_is(mask __m, const wchar_t* __lo, const wchar_t* __hi) const
++ {
++ while (__lo < __hi && !this->do_is(__m, *__lo))
++ ++__lo;
++ return __lo;
++ }
++
++ const wchar_t*
++ ctype<wchar_t>::
++ do_scan_not(mask __m, const char_type* __lo, const char_type* __hi) const
++ {
++ while (__lo < __hi && this->do_is(__m, *__lo) != 0)
++ ++__lo;
++ return __lo;
++ }
++
++ wchar_t
++ ctype<wchar_t>::
++ do_widen(char __c) const
++ { return _M_widen[static_cast<unsigned char>(__c)]; }
++
++ const char*
++ ctype<wchar_t>::
++ do_widen(const char* __lo, const char* __hi, wchar_t* __dest) const
++ {
++ while (__lo < __hi)
++ {
++ *__dest = _M_widen[static_cast<unsigned char>(*__lo)];
++ ++__lo;
++ ++__dest;
++ }
++ return __hi;
++ }
++
++ char
++ ctype<wchar_t>::
++ do_narrow(wchar_t __wc, char __dfault) const
++ {
++ if (__wc >= 0 && __wc < 128 && _M_narrow_ok)
++ return _M_narrow[__wc];
++#ifdef __UCLIBC_HAS_XLOCALE__
++ __c_locale __old = __uselocale(_M_c_locale_ctype);
++#endif
++ const int __c = wctob(__wc);
++#ifdef __UCLIBC_HAS_XLOCALE__
++ __uselocale(__old);
++#endif
++ return (__c == EOF ? __dfault : static_cast<char>(__c));
++ }
++
++ const wchar_t*
++ ctype<wchar_t>::
++ do_narrow(const wchar_t* __lo, const wchar_t* __hi, char __dfault,
++ char* __dest) const
++ {
++#ifdef __UCLIBC_HAS_XLOCALE__
++ __c_locale __old = __uselocale(_M_c_locale_ctype);
++#endif
++ if (_M_narrow_ok)
++ while (__lo < __hi)
++ {
++ if (*__lo >= 0 && *__lo < 128)
++ *__dest = _M_narrow[*__lo];
++ else
++ {
++ const int __c = wctob(*__lo);
++ *__dest = (__c == EOF ? __dfault : static_cast<char>(__c));
++ }
++ ++__lo;
++ ++__dest;
++ }
++ else
++ while (__lo < __hi)
++ {
++ const int __c = wctob(*__lo);
++ *__dest = (__c == EOF ? __dfault : static_cast<char>(__c));
++ ++__lo;
++ ++__dest;
++ }
++#ifdef __UCLIBC_HAS_XLOCALE__
++ __uselocale(__old);
++#endif
++ return __hi;
++ }
++
++ void
++ ctype<wchar_t>::_M_initialize_ctype()
++ {
++#ifdef __UCLIBC_HAS_XLOCALE__
++ __c_locale __old = __uselocale(_M_c_locale_ctype);
++#endif
++ wint_t __i;
++ for (__i = 0; __i < 128; ++__i)
++ {
++ const int __c = wctob(__i);
++ if (__c == EOF)
++ break;
++ else
++ _M_narrow[__i] = static_cast<char>(__c);
++ }
++ if (__i == 128)
++ _M_narrow_ok = true;
++ else
++ _M_narrow_ok = false;
++ for (size_t __j = 0;
++ __j < sizeof(_M_widen) / sizeof(wint_t); ++__j)
++ _M_widen[__j] = btowc(__j);
++
++ for (size_t __k = 0; __k <= 11; ++__k)
++ {
++ _M_bit[__k] = static_cast<mask>(_ISbit(__k));
++ _M_wmask[__k] = _M_convert_to_wmask(_M_bit[__k]);
++ }
++#ifdef __UCLIBC_HAS_XLOCALE__
++ __uselocale(__old);
++#endif
++ }
++#endif // _GLIBCXX_USE_WCHAR_T
++}
+Index: gcc-4.3.2/libstdc++-v3/config/locale/uclibc/messages_members.cc
+===================================================================
+--- /dev/null 1970-01-01 00:00:00.000000000 +0000
++++ gcc-4.3.2/libstdc++-v3/config/locale/uclibc/messages_members.cc 2008-08-28 17:55:56.000000000 -0700
+@@ -0,0 +1,100 @@
++// std::messages implementation details, GNU version -*- C++ -*-
++
++// Copyright (C) 2001, 2002 Free Software Foundation, Inc.
++//
++// This file is part of the GNU ISO C++ Library. This library is free
++// software; you can redistribute it and/or modify it under the
++// terms of the GNU General Public License as published by the
++// Free Software Foundation; either version 2, or (at your option)
++// any later version.
++
++// This library is distributed in the hope that it will be useful,
++// but WITHOUT ANY WARRANTY; without even the implied warranty of
++// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
++// GNU General Public License for more details.
++
++// You should have received a copy of the GNU General Public License along
++// with this library; see the file COPYING. If not, write to the Free
++// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
++// USA.
++
++// As a special exception, you may use this file as part of a free software
++// library without restriction. Specifically, if other files instantiate
++// templates or use macros or inline functions from this file, or you compile
++// this file and link it with other files to produce an executable, this
++// file does not by itself cause the resulting executable to be covered by
++// the GNU General Public License. This exception does not however
++// invalidate any other reasons why the executable file might be covered by
++// the GNU General Public License.
++
++//
++// ISO C++ 14882: 22.2.7.1.2 messages virtual functions
++//
++
++// Written by Benjamin Kosnik <bkoz@redhat.com>
++
++#include <locale>
++#include <bits/c++locale_internal.h>
++
++#ifdef __UCLIBC_MJN3_ONLY__
++#warning fix gettext stuff
++#endif
++#ifdef __UCLIBC_HAS_GETTEXT_AWARENESS__
++extern "C" char *__dcgettext(const char *domainname,
++ const char *msgid, int category);
++#undef gettext
++#define gettext(msgid) __dcgettext(NULL, msgid, LC_MESSAGES)
++#else
++#undef gettext
++#define gettext(msgid) (msgid)
++#endif
++
++namespace std
++{
++ // Specializations.
++ template<>
++ string
++ messages<char>::do_get(catalog, int, int, const string& __dfault) const
++ {
++#ifdef __UCLIBC_HAS_XLOCALE__
++ __c_locale __old = __uselocale(_M_c_locale_messages);
++ const char* __msg = const_cast<const char*>(gettext(__dfault.c_str()));
++ __uselocale(__old);
++ return string(__msg);
++#elif defined __UCLIBC_HAS_LOCALE__
++ char* __old = strdup(setlocale(LC_ALL, NULL));
++ setlocale(LC_ALL, _M_name_messages);
++ const char* __msg = gettext(__dfault.c_str());
++ setlocale(LC_ALL, __old);
++ free(__old);
++ return string(__msg);
++#else
++ const char* __msg = gettext(__dfault.c_str());
++ return string(__msg);
++#endif
++ }
++
++#ifdef _GLIBCXX_USE_WCHAR_T
++ template<>
++ wstring
++ messages<wchar_t>::do_get(catalog, int, int, const wstring& __dfault) const
++ {
++# ifdef __UCLIBC_HAS_XLOCALE__
++ __c_locale __old = __uselocale(_M_c_locale_messages);
++ char* __msg = gettext(_M_convert_to_char(__dfault));
++ __uselocale(__old);
++ return _M_convert_from_char(__msg);
++# elif defined __UCLIBC_HAS_LOCALE__
++ char* __old = strdup(setlocale(LC_ALL, NULL));
++ setlocale(LC_ALL, _M_name_messages);
++ char* __msg = gettext(_M_convert_to_char(__dfault));
++ setlocale(LC_ALL, __old);
++ free(__old);
++ return _M_convert_from_char(__msg);
++# else
++ char* __msg = gettext(_M_convert_to_char(__dfault));
++ return _M_convert_from_char(__msg);
++# endif
++ }
++#endif
++}
+Index: gcc-4.3.2/libstdc++-v3/config/locale/uclibc/messages_members.h
+===================================================================
+--- /dev/null 1970-01-01 00:00:00.000000000 +0000
++++ gcc-4.3.2/libstdc++-v3/config/locale/uclibc/messages_members.h 2008-08-28 17:55:56.000000000 -0700
+@@ -0,0 +1,118 @@
++// std::messages implementation details, GNU version -*- C++ -*-
++
++// Copyright (C) 2001, 2002, 2003, 2004 Free Software Foundation, Inc.
++//
++// This file is part of the GNU ISO C++ Library. This library is free
++// software; you can redistribute it and/or modify it under the
++// terms of the GNU General Public License as published by the
++// Free Software Foundation; either version 2, or (at your option)
++// any later version.
++
++// This library is distributed in the hope that it will be useful,
++// but WITHOUT ANY WARRANTY; without even the implied warranty of
++// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
++// GNU General Public License for more details.
++
++// You should have received a copy of the GNU General Public License along
++// with this library; see the file COPYING. If not, write to the Free
++// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
++// USA.
++
++// As a special exception, you may use this file as part of a free software
++// library without restriction. Specifically, if other files instantiate
++// templates or use macros or inline functions from this file, or you compile
++// this file and link it with other files to produce an executable, this
++// file does not by itself cause the resulting executable to be covered by
++// the GNU General Public License. This exception does not however
++// invalidate any other reasons why the executable file might be covered by
++// the GNU General Public License.
++
++//
++// ISO C++ 14882: 22.2.7.1.2 messages functions
++//
++
++// Written by Benjamin Kosnik <bkoz@redhat.com>
++
++#ifdef __UCLIBC_MJN3_ONLY__
++#warning fix prototypes for *textdomain funcs
++#endif
++#ifdef __UCLIBC_HAS_GETTEXT_AWARENESS__
++extern "C" char *__textdomain(const char *domainname);
++extern "C" char *__bindtextdomain(const char *domainname,
++ const char *dirname);
++#else
++#undef __textdomain
++#undef __bindtextdomain
++#define __textdomain(D) ((void)0)
++#define __bindtextdomain(D,P) ((void)0)
++#endif
++
++ // Non-virtual member functions.
++ template<typename _CharT>
++ messages<_CharT>::messages(size_t __refs)
++ : facet(__refs), _M_c_locale_messages(_S_get_c_locale()),
++ _M_name_messages(_S_get_c_name())
++ { }
++
++ template<typename _CharT>
++ messages<_CharT>::messages(__c_locale __cloc, const char* __s,
++ size_t __refs)
++ : facet(__refs), _M_c_locale_messages(_S_clone_c_locale(__cloc)),
++ _M_name_messages(__s)
++ {
++ char* __tmp = new char[std::strlen(__s) + 1];
++ std::strcpy(__tmp, __s);
++ _M_name_messages = __tmp;
++ }
++
++ template<typename _CharT>
++ typename messages<_CharT>::catalog
++ messages<_CharT>::open(const basic_string<char>& __s, const locale& __loc,
++ const char* __dir) const
++ {
++ __bindtextdomain(__s.c_str(), __dir);
++ return this->do_open(__s, __loc);
++ }
++
++ // Virtual member functions.
++ template<typename _CharT>
++ messages<_CharT>::~messages()
++ {
++ if (_M_name_messages != _S_get_c_name())
++ delete [] _M_name_messages;
++ _S_destroy_c_locale(_M_c_locale_messages);
++ }
++
++ template<typename _CharT>
++ typename messages<_CharT>::catalog
++ messages<_CharT>::do_open(const basic_string<char>& __s,
++ const locale&) const
++ {
++ // No error checking is done, assume the catalog exists and can
++ // be used.
++ __textdomain(__s.c_str());
++ return 0;
++ }
++
++ template<typename _CharT>
++ void
++ messages<_CharT>::do_close(catalog) const
++ { }
++
++ // messages_byname
++ template<typename _CharT>
++ messages_byname<_CharT>::messages_byname(const char* __s, size_t __refs)
++ : messages<_CharT>(__refs)
++ {
++ if (this->_M_name_messages != locale::facet::_S_get_c_name())
++ delete [] this->_M_name_messages;
++ char* __tmp = new char[std::strlen(__s) + 1];
++ std::strcpy(__tmp, __s);
++ this->_M_name_messages = __tmp;
++
++ if (std::strcmp(__s, "C") != 0 && std::strcmp(__s, "POSIX") != 0)
++ {
++ this->_S_destroy_c_locale(this->_M_c_locale_messages);
++ this->_S_create_c_locale(this->_M_c_locale_messages, __s);
++ }
++ }
+Index: gcc-4.3.2/libstdc++-v3/config/locale/uclibc/monetary_members.cc
+===================================================================
+--- /dev/null 1970-01-01 00:00:00.000000000 +0000
++++ gcc-4.3.2/libstdc++-v3/config/locale/uclibc/monetary_members.cc 2008-08-28 17:55:56.000000000 -0700
+@@ -0,0 +1,692 @@
++// std::moneypunct implementation details, GNU version -*- C++ -*-
++
++// Copyright (C) 2001, 2002, 2003, 2004 Free Software Foundation, Inc.
++//
++// This file is part of the GNU ISO C++ Library. This library is free
++// software; you can redistribute it and/or modify it under the
++// terms of the GNU General Public License as published by the
++// Free Software Foundation; either version 2, or (at your option)
++// any later version.
++
++// This library is distributed in the hope that it will be useful,
++// but WITHOUT ANY WARRANTY; without even the implied warranty of
++// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
++// GNU General Public License for more details.
++
++// You should have received a copy of the GNU General Public License along
++// with this library; see the file COPYING. If not, write to the Free
++// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
++// USA.
++
++// As a special exception, you may use this file as part of a free software
++// library without restriction. Specifically, if other files instantiate
++// templates or use macros or inline functions from this file, or you compile
++// this file and link it with other files to produce an executable, this
++// file does not by itself cause the resulting executable to be covered by
++// the GNU General Public License. This exception does not however
++// invalidate any other reasons why the executable file might be covered by
++// the GNU General Public License.
++
++//
++// ISO C++ 14882: 22.2.6.3.2 moneypunct virtual functions
++//
++
++// Written by Benjamin Kosnik <bkoz@redhat.com>
++
++#define _LIBC
++#include <locale>
++#undef _LIBC
++#include <bits/c++locale_internal.h>
++
++#ifdef __UCLIBC_MJN3_ONLY__
++#warning optimize this for uclibc
++#warning tailor for stub locale support
++#endif
++
++#ifndef __UCLIBC_HAS_XLOCALE__
++#define __nl_langinfo_l(N, L) nl_langinfo((N))
++#endif
++
++namespace std
++{
++ // Construct and return valid pattern consisting of some combination of:
++ // space none symbol sign value
++ money_base::pattern
++ money_base::_S_construct_pattern(char __precedes, char __space, char __posn)
++ {
++ pattern __ret;
++
++ // This insanely complicated routine attempts to construct a valid
++ // pattern for use with monyepunct. A couple of invariants:
++
++ // if (__precedes) symbol -> value
++ // else value -> symbol
++
++ // if (__space) space
++ // else none
++
++ // none == never first
++ // space never first or last
++
++ // Any elegant implementations of this are welcome.
++ switch (__posn)
++ {
++ case 0:
++ case 1:
++ // 1 The sign precedes the value and symbol.
++ __ret.field[0] = sign;
++ if (__space)
++ {
++ // Pattern starts with sign.
++ if (__precedes)
++ {
++ __ret.field[1] = symbol;
++ __ret.field[3] = value;
++ }
++ else
++ {
++ __ret.field[1] = value;
++ __ret.field[3] = symbol;
++ }
++ __ret.field[2] = space;
++ }
++ else
++ {
++ // Pattern starts with sign and ends with none.
++ if (__precedes)
++ {
++ __ret.field[1] = symbol;
++ __ret.field[2] = value;
++ }
++ else
++ {
++ __ret.field[1] = value;
++ __ret.field[2] = symbol;
++ }
++ __ret.field[3] = none;
++ }
++ break;
++ case 2:
++ // 2 The sign follows the value and symbol.
++ if (__space)
++ {
++ // Pattern either ends with sign.
++ if (__precedes)
++ {
++ __ret.field[0] = symbol;
++ __ret.field[2] = value;
++ }
++ else
++ {
++ __ret.field[0] = value;
++ __ret.field[2] = symbol;
++ }
++ __ret.field[1] = space;
++ __ret.field[3] = sign;
++ }
++ else
++ {
++ // Pattern ends with sign then none.
++ if (__precedes)
++ {
++ __ret.field[0] = symbol;
++ __ret.field[1] = value;
++ }
++ else
++ {
++ __ret.field[0] = value;
++ __ret.field[1] = symbol;
++ }
++ __ret.field[2] = sign;
++ __ret.field[3] = none;
++ }
++ break;
++ case 3:
++ // 3 The sign immediately precedes the symbol.
++ if (__precedes)
++ {
++ __ret.field[0] = sign;
++ __ret.field[1] = symbol;
++ if (__space)
++ {
++ __ret.field[2] = space;
++ __ret.field[3] = value;
++ }
++ else
++ {
++ __ret.field[2] = value;
++ __ret.field[3] = none;
++ }
++ }
++ else
++ {
++ __ret.field[0] = value;
++ if (__space)
++ {
++ __ret.field[1] = space;
++ __ret.field[2] = sign;
++ __ret.field[3] = symbol;
++ }
++ else
++ {
++ __ret.field[1] = sign;
++ __ret.field[2] = symbol;
++ __ret.field[3] = none;
++ }
++ }
++ break;
++ case 4:
++ // 4 The sign immediately follows the symbol.
++ if (__precedes)
++ {
++ __ret.field[0] = symbol;
++ __ret.field[1] = sign;
++ if (__space)
++ {
++ __ret.field[2] = space;
++ __ret.field[3] = value;
++ }
++ else
++ {
++ __ret.field[2] = value;
++ __ret.field[3] = none;
++ }
++ }
++ else
++ {
++ __ret.field[0] = value;
++ if (__space)
++ {
++ __ret.field[1] = space;
++ __ret.field[2] = symbol;
++ __ret.field[3] = sign;
++ }
++ else
++ {
++ __ret.field[1] = symbol;
++ __ret.field[2] = sign;
++ __ret.field[3] = none;
++ }
++ }
++ break;
++ default:
++ ;
++ }
++ return __ret;
++ }
++
++ template<>
++ void
++ moneypunct<char, true>::_M_initialize_moneypunct(__c_locale __cloc,
++ const char*)
++ {
++ if (!_M_data)
++ _M_data = new __moneypunct_cache<char, true>;
++
++ if (!__cloc)
++ {
++ // "C" locale
++ _M_data->_M_decimal_point = '.';
++ _M_data->_M_thousands_sep = ',';
++ _M_data->_M_grouping = "";
++ _M_data->_M_grouping_size = 0;
++ _M_data->_M_curr_symbol = "";
++ _M_data->_M_curr_symbol_size = 0;
++ _M_data->_M_positive_sign = "";
++ _M_data->_M_positive_sign_size = 0;
++ _M_data->_M_negative_sign = "";
++ _M_data->_M_negative_sign_size = 0;
++ _M_data->_M_frac_digits = 0;
++ _M_data->_M_pos_format = money_base::_S_default_pattern;
++ _M_data->_M_neg_format = money_base::_S_default_pattern;
++
++ for (size_t __i = 0; __i < money_base::_S_end; ++__i)
++ _M_data->_M_atoms[__i] = money_base::_S_atoms[__i];
++ }
++ else
++ {
++ // Named locale.
++ _M_data->_M_decimal_point = *(__nl_langinfo_l(__MON_DECIMAL_POINT,
++ __cloc));
++ _M_data->_M_thousands_sep = *(__nl_langinfo_l(__MON_THOUSANDS_SEP,
++ __cloc));
++ _M_data->_M_grouping = __nl_langinfo_l(__MON_GROUPING, __cloc);
++ _M_data->_M_grouping_size = strlen(_M_data->_M_grouping);
++ _M_data->_M_positive_sign = __nl_langinfo_l(__POSITIVE_SIGN, __cloc);
++ _M_data->_M_positive_sign_size = strlen(_M_data->_M_positive_sign);
++
++ char __nposn = *(__nl_langinfo_l(__INT_N_SIGN_POSN, __cloc));
++ if (!__nposn)
++ _M_data->_M_negative_sign = "()";
++ else
++ _M_data->_M_negative_sign = __nl_langinfo_l(__NEGATIVE_SIGN,
++ __cloc);
++ _M_data->_M_negative_sign_size = strlen(_M_data->_M_negative_sign);
++
++ // _Intl == true
++ _M_data->_M_curr_symbol = __nl_langinfo_l(__INT_CURR_SYMBOL, __cloc);
++ _M_data->_M_curr_symbol_size = strlen(_M_data->_M_curr_symbol);
++ _M_data->_M_frac_digits = *(__nl_langinfo_l(__INT_FRAC_DIGITS,
++ __cloc));
++ char __pprecedes = *(__nl_langinfo_l(__INT_P_CS_PRECEDES, __cloc));
++ char __pspace = *(__nl_langinfo_l(__INT_P_SEP_BY_SPACE, __cloc));
++ char __pposn = *(__nl_langinfo_l(__INT_P_SIGN_POSN, __cloc));
++ _M_data->_M_pos_format = _S_construct_pattern(__pprecedes, __pspace,
++ __pposn);
++ char __nprecedes = *(__nl_langinfo_l(__INT_N_CS_PRECEDES, __cloc));
++ char __nspace = *(__nl_langinfo_l(__INT_N_SEP_BY_SPACE, __cloc));
++ _M_data->_M_neg_format = _S_construct_pattern(__nprecedes, __nspace,
++ __nposn);
++ }
++ }
++
++ template<>
++ void
++ moneypunct<char, false>::_M_initialize_moneypunct(__c_locale __cloc,
++ const char*)
++ {
++ if (!_M_data)
++ _M_data = new __moneypunct_cache<char, false>;
++
++ if (!__cloc)
++ {
++ // "C" locale
++ _M_data->_M_decimal_point = '.';
++ _M_data->_M_thousands_sep = ',';
++ _M_data->_M_grouping = "";
++ _M_data->_M_grouping_size = 0;
++ _M_data->_M_curr_symbol = "";
++ _M_data->_M_curr_symbol_size = 0;
++ _M_data->_M_positive_sign = "";
++ _M_data->_M_positive_sign_size = 0;
++ _M_data->_M_negative_sign = "";
++ _M_data->_M_negative_sign_size = 0;
++ _M_data->_M_frac_digits = 0;
++ _M_data->_M_pos_format = money_base::_S_default_pattern;
++ _M_data->_M_neg_format = money_base::_S_default_pattern;
++
++ for (size_t __i = 0; __i < money_base::_S_end; ++__i)
++ _M_data->_M_atoms[__i] = money_base::_S_atoms[__i];
++ }
++ else
++ {
++ // Named locale.
++ _M_data->_M_decimal_point = *(__nl_langinfo_l(__MON_DECIMAL_POINT,
++ __cloc));
++ _M_data->_M_thousands_sep = *(__nl_langinfo_l(__MON_THOUSANDS_SEP,
++ __cloc));
++ _M_data->_M_grouping = __nl_langinfo_l(__MON_GROUPING, __cloc);
++ _M_data->_M_grouping_size = strlen(_M_data->_M_grouping);
++ _M_data->_M_positive_sign = __nl_langinfo_l(__POSITIVE_SIGN, __cloc);
++ _M_data->_M_positive_sign_size = strlen(_M_data->_M_positive_sign);
++
++ char __nposn = *(__nl_langinfo_l(__N_SIGN_POSN, __cloc));
++ if (!__nposn)
++ _M_data->_M_negative_sign = "()";
++ else
++ _M_data->_M_negative_sign = __nl_langinfo_l(__NEGATIVE_SIGN,
++ __cloc);
++ _M_data->_M_negative_sign_size = strlen(_M_data->_M_negative_sign);
++
++ // _Intl == false
++ _M_data->_M_curr_symbol = __nl_langinfo_l(__CURRENCY_SYMBOL, __cloc);
++ _M_data->_M_curr_symbol_size = strlen(_M_data->_M_curr_symbol);
++ _M_data->_M_frac_digits = *(__nl_langinfo_l(__FRAC_DIGITS, __cloc));
++ char __pprecedes = *(__nl_langinfo_l(__P_CS_PRECEDES, __cloc));
++ char __pspace = *(__nl_langinfo_l(__P_SEP_BY_SPACE, __cloc));
++ char __pposn = *(__nl_langinfo_l(__P_SIGN_POSN, __cloc));
++ _M_data->_M_pos_format = _S_construct_pattern(__pprecedes, __pspace,
++ __pposn);
++ char __nprecedes = *(__nl_langinfo_l(__N_CS_PRECEDES, __cloc));
++ char __nspace = *(__nl_langinfo_l(__N_SEP_BY_SPACE, __cloc));
++ _M_data->_M_neg_format = _S_construct_pattern(__nprecedes, __nspace,
++ __nposn);
++ }
++ }
++
++ template<>
++ moneypunct<char, true>::~moneypunct()
++ { delete _M_data; }
++
++ template<>
++ moneypunct<char, false>::~moneypunct()
++ { delete _M_data; }
++
++#ifdef _GLIBCXX_USE_WCHAR_T
++ template<>
++ void
++ moneypunct<wchar_t, true>::_M_initialize_moneypunct(__c_locale __cloc,
++#ifdef __UCLIBC_HAS_XLOCALE__
++ const char*)
++#else
++ const char* __name)
++#endif
++ {
++ if (!_M_data)
++ _M_data = new __moneypunct_cache<wchar_t, true>;
++
++ if (!__cloc)
++ {
++ // "C" locale
++ _M_data->_M_decimal_point = L'.';
++ _M_data->_M_thousands_sep = L',';
++ _M_data->_M_grouping = "";
++ _M_data->_M_grouping_size = 0;
++ _M_data->_M_curr_symbol = L"";
++ _M_data->_M_curr_symbol_size = 0;
++ _M_data->_M_positive_sign = L"";
++ _M_data->_M_positive_sign_size = 0;
++ _M_data->_M_negative_sign = L"";
++ _M_data->_M_negative_sign_size = 0;
++ _M_data->_M_frac_digits = 0;
++ _M_data->_M_pos_format = money_base::_S_default_pattern;
++ _M_data->_M_neg_format = money_base::_S_default_pattern;
++
++ // Use ctype::widen code without the facet...
++ for (size_t __i = 0; __i < money_base::_S_end; ++__i)
++ _M_data->_M_atoms[__i] =
++ static_cast<wchar_t>(money_base::_S_atoms[__i]);
++ }
++ else
++ {
++ // Named locale.
++#ifdef __UCLIBC_HAS_XLOCALE__
++ __c_locale __old = __uselocale(__cloc);
++#else
++ // Switch to named locale so that mbsrtowcs will work.
++ char* __old = strdup(setlocale(LC_ALL, NULL));
++ setlocale(LC_ALL, __name);
++#endif
++
++#ifdef __UCLIBC_MJN3_ONLY__
++#warning fix this... should be monetary
++#endif
++#ifdef __UCLIBC__
++# ifdef __UCLIBC_HAS_XLOCALE__
++ _M_data->_M_decimal_point = __cloc->decimal_point_wc;
++ _M_data->_M_thousands_sep = __cloc->thousands_sep_wc;
++# else
++ _M_data->_M_decimal_point = __global_locale->decimal_point_wc;
++ _M_data->_M_thousands_sep = __global_locale->thousands_sep_wc;
++# endif
++#else
++ union { char *__s; wchar_t __w; } __u;
++ __u.__s = __nl_langinfo_l(_NL_MONETARY_DECIMAL_POINT_WC, __cloc);
++ _M_data->_M_decimal_point = __u.__w;
++
++ __u.__s = __nl_langinfo_l(_NL_MONETARY_THOUSANDS_SEP_WC, __cloc);
++ _M_data->_M_thousands_sep = __u.__w;
++#endif
++ _M_data->_M_grouping = __nl_langinfo_l(__MON_GROUPING, __cloc);
++ _M_data->_M_grouping_size = strlen(_M_data->_M_grouping);
++
++ const char* __cpossign = __nl_langinfo_l(__POSITIVE_SIGN, __cloc);
++ const char* __cnegsign = __nl_langinfo_l(__NEGATIVE_SIGN, __cloc);
++ const char* __ccurr = __nl_langinfo_l(__INT_CURR_SYMBOL, __cloc);
++
++ wchar_t* __wcs_ps = 0;
++ wchar_t* __wcs_ns = 0;
++ const char __nposn = *(__nl_langinfo_l(__INT_N_SIGN_POSN, __cloc));
++ try
++ {
++ mbstate_t __state;
++ size_t __len = strlen(__cpossign);
++ if (__len)
++ {
++ ++__len;
++ memset(&__state, 0, sizeof(mbstate_t));
++ __wcs_ps = new wchar_t[__len];
++ mbsrtowcs(__wcs_ps, &__cpossign, __len, &__state);
++ _M_data->_M_positive_sign = __wcs_ps;
++ }
++ else
++ _M_data->_M_positive_sign = L"";
++ _M_data->_M_positive_sign_size = wcslen(_M_data->_M_positive_sign);
++
++ __len = strlen(__cnegsign);
++ if (!__nposn)
++ _M_data->_M_negative_sign = L"()";
++ else if (__len)
++ {
++ ++__len;
++ memset(&__state, 0, sizeof(mbstate_t));
++ __wcs_ns = new wchar_t[__len];
++ mbsrtowcs(__wcs_ns, &__cnegsign, __len, &__state);
++ _M_data->_M_negative_sign = __wcs_ns;
++ }
++ else
++ _M_data->_M_negative_sign = L"";
++ _M_data->_M_negative_sign_size = wcslen(_M_data->_M_negative_sign);
++
++ // _Intl == true.
++ __len = strlen(__ccurr);
++ if (__len)
++ {
++ ++__len;
++ memset(&__state, 0, sizeof(mbstate_t));
++ wchar_t* __wcs = new wchar_t[__len];
++ mbsrtowcs(__wcs, &__ccurr, __len, &__state);
++ _M_data->_M_curr_symbol = __wcs;
++ }
++ else
++ _M_data->_M_curr_symbol = L"";
++ _M_data->_M_curr_symbol_size = wcslen(_M_data->_M_curr_symbol);
++ }
++ catch (...)
++ {
++ delete _M_data;
++ _M_data = 0;
++ delete __wcs_ps;
++ delete __wcs_ns;
++#ifdef __UCLIBC_HAS_XLOCALE__
++ __uselocale(__old);
++#else
++ setlocale(LC_ALL, __old);
++ free(__old);
++#endif
++ __throw_exception_again;
++ }
++
++ _M_data->_M_frac_digits = *(__nl_langinfo_l(__INT_FRAC_DIGITS,
++ __cloc));
++ char __pprecedes = *(__nl_langinfo_l(__INT_P_CS_PRECEDES, __cloc));
++ char __pspace = *(__nl_langinfo_l(__INT_P_SEP_BY_SPACE, __cloc));
++ char __pposn = *(__nl_langinfo_l(__INT_P_SIGN_POSN, __cloc));
++ _M_data->_M_pos_format = _S_construct_pattern(__pprecedes, __pspace,
++ __pposn);
++ char __nprecedes = *(__nl_langinfo_l(__INT_N_CS_PRECEDES, __cloc));
++ char __nspace = *(__nl_langinfo_l(__INT_N_SEP_BY_SPACE, __cloc));
++ _M_data->_M_neg_format = _S_construct_pattern(__nprecedes, __nspace,
++ __nposn);
++
++#ifdef __UCLIBC_HAS_XLOCALE__
++ __uselocale(__old);
++#else
++ setlocale(LC_ALL, __old);
++ free(__old);
++#endif
++ }
++ }
++
++ template<>
++ void
++ moneypunct<wchar_t, false>::_M_initialize_moneypunct(__c_locale __cloc,
++#ifdef __UCLIBC_HAS_XLOCALE__
++ const char*)
++#else
++ const char* __name)
++#endif
++ {
++ if (!_M_data)
++ _M_data = new __moneypunct_cache<wchar_t, false>;
++
++ if (!__cloc)
++ {
++ // "C" locale
++ _M_data->_M_decimal_point = L'.';
++ _M_data->_M_thousands_sep = L',';
++ _M_data->_M_grouping = "";
++ _M_data->_M_grouping_size = 0;
++ _M_data->_M_curr_symbol = L"";
++ _M_data->_M_curr_symbol_size = 0;
++ _M_data->_M_positive_sign = L"";
++ _M_data->_M_positive_sign_size = 0;
++ _M_data->_M_negative_sign = L"";
++ _M_data->_M_negative_sign_size = 0;
++ _M_data->_M_frac_digits = 0;
++ _M_data->_M_pos_format = money_base::_S_default_pattern;
++ _M_data->_M_neg_format = money_base::_S_default_pattern;
++
++ // Use ctype::widen code without the facet...
++ for (size_t __i = 0; __i < money_base::_S_end; ++__i)
++ _M_data->_M_atoms[__i] =
++ static_cast<wchar_t>(money_base::_S_atoms[__i]);
++ }
++ else
++ {
++ // Named locale.
++#ifdef __UCLIBC_HAS_XLOCALE__
++ __c_locale __old = __uselocale(__cloc);
++#else
++ // Switch to named locale so that mbsrtowcs will work.
++ char* __old = strdup(setlocale(LC_ALL, NULL));
++ setlocale(LC_ALL, __name);
++#endif
++
++#ifdef __UCLIBC_MJN3_ONLY__
++#warning fix this... should be monetary
++#endif
++#ifdef __UCLIBC__
++# ifdef __UCLIBC_HAS_XLOCALE__
++ _M_data->_M_decimal_point = __cloc->decimal_point_wc;
++ _M_data->_M_thousands_sep = __cloc->thousands_sep_wc;
++# else
++ _M_data->_M_decimal_point = __global_locale->decimal_point_wc;
++ _M_data->_M_thousands_sep = __global_locale->thousands_sep_wc;
++# endif
++#else
++ union { char *__s; wchar_t __w; } __u;
++ __u.__s = __nl_langinfo_l(_NL_MONETARY_DECIMAL_POINT_WC, __cloc);
++ _M_data->_M_decimal_point = __u.__w;
++
++ __u.__s = __nl_langinfo_l(_NL_MONETARY_THOUSANDS_SEP_WC, __cloc);
++ _M_data->_M_thousands_sep = __u.__w;
++#endif
++ _M_data->_M_grouping = __nl_langinfo_l(__MON_GROUPING, __cloc);
++ _M_data->_M_grouping_size = strlen(_M_data->_M_grouping);
++
++ const char* __cpossign = __nl_langinfo_l(__POSITIVE_SIGN, __cloc);
++ const char* __cnegsign = __nl_langinfo_l(__NEGATIVE_SIGN, __cloc);
++ const char* __ccurr = __nl_langinfo_l(__CURRENCY_SYMBOL, __cloc);
++
++ wchar_t* __wcs_ps = 0;
++ wchar_t* __wcs_ns = 0;
++ const char __nposn = *(__nl_langinfo_l(__N_SIGN_POSN, __cloc));
++ try
++ {
++ mbstate_t __state;
++ size_t __len;
++ __len = strlen(__cpossign);
++ if (__len)
++ {
++ ++__len;
++ memset(&__state, 0, sizeof(mbstate_t));
++ __wcs_ps = new wchar_t[__len];
++ mbsrtowcs(__wcs_ps, &__cpossign, __len, &__state);
++ _M_data->_M_positive_sign = __wcs_ps;
++ }
++ else
++ _M_data->_M_positive_sign = L"";
++ _M_data->_M_positive_sign_size = wcslen(_M_data->_M_positive_sign);
++
++ __len = strlen(__cnegsign);
++ if (!__nposn)
++ _M_data->_M_negative_sign = L"()";
++ else if (__len)
++ {
++ ++__len;
++ memset(&__state, 0, sizeof(mbstate_t));
++ __wcs_ns = new wchar_t[__len];
++ mbsrtowcs(__wcs_ns, &__cnegsign, __len, &__state);
++ _M_data->_M_negative_sign = __wcs_ns;
++ }
++ else
++ _M_data->_M_negative_sign = L"";
++ _M_data->_M_negative_sign_size = wcslen(_M_data->_M_negative_sign);
++
++ // _Intl == true.
++ __len = strlen(__ccurr);
++ if (__len)
++ {
++ ++__len;
++ memset(&__state, 0, sizeof(mbstate_t));
++ wchar_t* __wcs = new wchar_t[__len];
++ mbsrtowcs(__wcs, &__ccurr, __len, &__state);
++ _M_data->_M_curr_symbol = __wcs;
++ }
++ else
++ _M_data->_M_curr_symbol = L"";
++ _M_data->_M_curr_symbol_size = wcslen(_M_data->_M_curr_symbol);
++ }
++ catch (...)
++ {
++ delete _M_data;
++ _M_data = 0;
++ delete __wcs_ps;
++ delete __wcs_ns;
++#ifdef __UCLIBC_HAS_XLOCALE__
++ __uselocale(__old);
++#else
++ setlocale(LC_ALL, __old);
++ free(__old);
++#endif
++ __throw_exception_again;
++ }
++
++ _M_data->_M_frac_digits = *(__nl_langinfo_l(__FRAC_DIGITS, __cloc));
++ char __pprecedes = *(__nl_langinfo_l(__P_CS_PRECEDES, __cloc));
++ char __pspace = *(__nl_langinfo_l(__P_SEP_BY_SPACE, __cloc));
++ char __pposn = *(__nl_langinfo_l(__P_SIGN_POSN, __cloc));
++ _M_data->_M_pos_format = _S_construct_pattern(__pprecedes, __pspace,
++ __pposn);
++ char __nprecedes = *(__nl_langinfo_l(__N_CS_PRECEDES, __cloc));
++ char __nspace = *(__nl_langinfo_l(__N_SEP_BY_SPACE, __cloc));
++ _M_data->_M_neg_format = _S_construct_pattern(__nprecedes, __nspace,
++ __nposn);
++
++#ifdef __UCLIBC_HAS_XLOCALE__
++ __uselocale(__old);
++#else
++ setlocale(LC_ALL, __old);
++ free(__old);
++#endif
++ }
++ }
++
++ template<>
++ moneypunct<wchar_t, true>::~moneypunct()
++ {
++ if (_M_data->_M_positive_sign_size)
++ delete [] _M_data->_M_positive_sign;
++ if (_M_data->_M_negative_sign_size
++ && wcscmp(_M_data->_M_negative_sign, L"()") != 0)
++ delete [] _M_data->_M_negative_sign;
++ if (_M_data->_M_curr_symbol_size)
++ delete [] _M_data->_M_curr_symbol;
++ delete _M_data;
++ }
++
++ template<>
++ moneypunct<wchar_t, false>::~moneypunct()
++ {
++ if (_M_data->_M_positive_sign_size)
++ delete [] _M_data->_M_positive_sign;
++ if (_M_data->_M_negative_sign_size
++ && wcscmp(_M_data->_M_negative_sign, L"()") != 0)
++ delete [] _M_data->_M_negative_sign;
++ if (_M_data->_M_curr_symbol_size)
++ delete [] _M_data->_M_curr_symbol;
++ delete _M_data;
++ }
++#endif
++}
+Index: gcc-4.3.2/libstdc++-v3/config/locale/uclibc/numeric_members.cc
+===================================================================
+--- /dev/null 1970-01-01 00:00:00.000000000 +0000
++++ gcc-4.3.2/libstdc++-v3/config/locale/uclibc/numeric_members.cc 2008-08-28 17:55:56.000000000 -0700
+@@ -0,0 +1,160 @@
++// std::numpunct implementation details, GNU version -*- C++ -*-
++
++// Copyright (C) 2001, 2002, 2003, 2004 Free Software Foundation, Inc.
++//
++// This file is part of the GNU ISO C++ Library. This library is free
++// software; you can redistribute it and/or modify it under the
++// terms of the GNU General Public License as published by the
++// Free Software Foundation; either version 2, or (at your option)
++// any later version.
++
++// This library is distributed in the hope that it will be useful,
++// but WITHOUT ANY WARRANTY; without even the implied warranty of
++// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
++// GNU General Public License for more details.
++
++// You should have received a copy of the GNU General Public License along
++// with this library; see the file COPYING. If not, write to the Free
++// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
++// USA.
++
++// As a special exception, you may use this file as part of a free software
++// library without restriction. Specifically, if other files instantiate
++// templates or use macros or inline functions from this file, or you compile
++// this file and link it with other files to produce an executable, this
++// file does not by itself cause the resulting executable to be covered by
++// the GNU General Public License. This exception does not however
++// invalidate any other reasons why the executable file might be covered by
++// the GNU General Public License.
++
++//
++// ISO C++ 14882: 22.2.3.1.2 numpunct virtual functions
++//
++
++// Written by Benjamin Kosnik <bkoz@redhat.com>
++
++#define _LIBC
++#include <locale>
++#undef _LIBC
++#include <bits/c++locale_internal.h>
++
++#ifdef __UCLIBC_MJN3_ONLY__
++#warning tailor for stub locale support
++#endif
++#ifndef __UCLIBC_HAS_XLOCALE__
++#define __nl_langinfo_l(N, L) nl_langinfo((N))
++#endif
++
++namespace std
++{
++ template<>
++ void
++ numpunct<char>::_M_initialize_numpunct(__c_locale __cloc)
++ {
++ if (!_M_data)
++ _M_data = new __numpunct_cache<char>;
++
++ if (!__cloc)
++ {
++ // "C" locale
++ _M_data->_M_grouping = "";
++ _M_data->_M_grouping_size = 0;
++ _M_data->_M_use_grouping = false;
++
++ _M_data->_M_decimal_point = '.';
++ _M_data->_M_thousands_sep = ',';
++
++ for (size_t __i = 0; __i < __num_base::_S_oend; ++__i)
++ _M_data->_M_atoms_out[__i] = __num_base::_S_atoms_out[__i];
++
++ for (size_t __j = 0; __j < __num_base::_S_iend; ++__j)
++ _M_data->_M_atoms_in[__j] = __num_base::_S_atoms_in[__j];
++ }
++ else
++ {
++ // Named locale.
++ _M_data->_M_decimal_point = *(__nl_langinfo_l(DECIMAL_POINT,
++ __cloc));
++ _M_data->_M_thousands_sep = *(__nl_langinfo_l(THOUSANDS_SEP,
++ __cloc));
++
++ // Check for NULL, which implies no grouping.
++ if (_M_data->_M_thousands_sep == '\0')
++ _M_data->_M_grouping = "";
++ else
++ _M_data->_M_grouping = __nl_langinfo_l(GROUPING, __cloc);
++ _M_data->_M_grouping_size = strlen(_M_data->_M_grouping);
++ }
++
++ // NB: There is no way to extact this info from posix locales.
++ // _M_truename = __nl_langinfo_l(YESSTR, __cloc);
++ _M_data->_M_truename = "true";
++ _M_data->_M_truename_size = 4;
++ // _M_falsename = __nl_langinfo_l(NOSTR, __cloc);
++ _M_data->_M_falsename = "false";
++ _M_data->_M_falsename_size = 5;
++ }
++
++ template<>
++ numpunct<char>::~numpunct()
++ { delete _M_data; }
++
++#ifdef _GLIBCXX_USE_WCHAR_T
++ template<>
++ void
++ numpunct<wchar_t>::_M_initialize_numpunct(__c_locale __cloc)
++ {
++ if (!_M_data)
++ _M_data = new __numpunct_cache<wchar_t>;
++
++ if (!__cloc)
++ {
++ // "C" locale
++ _M_data->_M_grouping = "";
++ _M_data->_M_grouping_size = 0;
++ _M_data->_M_use_grouping = false;
++
++ _M_data->_M_decimal_point = L'.';
++ _M_data->_M_thousands_sep = L',';
++
++ // Use ctype::widen code without the facet...
++ for (size_t __i = 0; __i < __num_base::_S_oend; ++__i)
++ _M_data->_M_atoms_out[__i] =
++ static_cast<wchar_t>(__num_base::_S_atoms_out[__i]);
++
++ for (size_t __j = 0; __j < __num_base::_S_iend; ++__j)
++ _M_data->_M_atoms_in[__j] =
++ static_cast<wchar_t>(__num_base::_S_atoms_in[__j]);
++ }
++ else
++ {
++ // Named locale.
++ // NB: In the GNU model wchar_t is always 32 bit wide.
++ union { char *__s; wchar_t __w; } __u;
++ __u.__s = __nl_langinfo_l(_NL_NUMERIC_DECIMAL_POINT_WC, __cloc);
++ _M_data->_M_decimal_point = __u.__w;
++
++ __u.__s = __nl_langinfo_l(_NL_NUMERIC_THOUSANDS_SEP_WC, __cloc);
++ _M_data->_M_thousands_sep = __u.__w;
++
++ if (_M_data->_M_thousands_sep == L'\0')
++ _M_data->_M_grouping = "";
++ else
++ _M_data->_M_grouping = __nl_langinfo_l(GROUPING, __cloc);
++ _M_data->_M_grouping_size = strlen(_M_data->_M_grouping);
++ }
++
++ // NB: There is no way to extact this info from posix locales.
++ // _M_truename = __nl_langinfo_l(YESSTR, __cloc);
++ _M_data->_M_truename = L"true";
++ _M_data->_M_truename_size = 4;
++ // _M_falsename = __nl_langinfo_l(NOSTR, __cloc);
++ _M_data->_M_falsename = L"false";
++ _M_data->_M_falsename_size = 5;
++ }
++
++ template<>
++ numpunct<wchar_t>::~numpunct()
++ { delete _M_data; }
++ #endif
++}
+Index: gcc-4.3.2/libstdc++-v3/config/locale/uclibc/time_members.cc
+===================================================================
+--- /dev/null 1970-01-01 00:00:00.000000000 +0000
++++ gcc-4.3.2/libstdc++-v3/config/locale/uclibc/time_members.cc 2008-08-28 17:55:56.000000000 -0700
+@@ -0,0 +1,406 @@
++// std::time_get, std::time_put implementation, GNU version -*- C++ -*-
++
++// Copyright (C) 2001, 2002, 2003, 2004 Free Software Foundation, Inc.
++//
++// This file is part of the GNU ISO C++ Library. This library is free
++// software; you can redistribute it and/or modify it under the
++// terms of the GNU General Public License as published by the
++// Free Software Foundation; either version 2, or (at your option)
++// any later version.
++
++// This library is distributed in the hope that it will be useful,
++// but WITHOUT ANY WARRANTY; without even the implied warranty of
++// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
++// GNU General Public License for more details.
++
++// You should have received a copy of the GNU General Public License along
++// with this library; see the file COPYING. If not, write to the Free
++// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
++// USA.
++
++// As a special exception, you may use this file as part of a free software
++// library without restriction. Specifically, if other files instantiate
++// templates or use macros or inline functions from this file, or you compile
++// this file and link it with other files to produce an executable, this
++// file does not by itself cause the resulting executable to be covered by
++// the GNU General Public License. This exception does not however
++// invalidate any other reasons why the executable file might be covered by
++// the GNU General Public License.
++
++//
++// ISO C++ 14882: 22.2.5.1.2 - time_get virtual functions
++// ISO C++ 14882: 22.2.5.3.2 - time_put virtual functions
++//
++
++// Written by Benjamin Kosnik <bkoz@redhat.com>
++
++#include <locale>
++#include <bits/c++locale_internal.h>
++
++#ifdef __UCLIBC_MJN3_ONLY__
++#warning tailor for stub locale support
++#endif
++#ifndef __UCLIBC_HAS_XLOCALE__
++#define __nl_langinfo_l(N, L) nl_langinfo((N))
++#endif
++
++namespace std
++{
++ template<>
++ void
++ __timepunct<char>::
++ _M_put(char* __s, size_t __maxlen, const char* __format,
++ const tm* __tm) const
++ {
++#ifdef __UCLIBC_HAS_XLOCALE__
++ const size_t __len = __strftime_l(__s, __maxlen, __format, __tm,
++ _M_c_locale_timepunct);
++#else
++ char* __old = strdup(setlocale(LC_ALL, NULL));
++ setlocale(LC_ALL, _M_name_timepunct);
++ const size_t __len = strftime(__s, __maxlen, __format, __tm);
++ setlocale(LC_ALL, __old);
++ free(__old);
++#endif
++ // Make sure __s is null terminated.
++ if (__len == 0)
++ __s[0] = '\0';
++ }
++
++ template<>
++ void
++ __timepunct<char>::_M_initialize_timepunct(__c_locale __cloc)
++ {
++ if (!_M_data)
++ _M_data = new __timepunct_cache<char>;
++
++ if (!__cloc)
++ {
++ // "C" locale
++ _M_c_locale_timepunct = _S_get_c_locale();
++
++ _M_data->_M_date_format = "%m/%d/%y";
++ _M_data->_M_date_era_format = "%m/%d/%y";
++ _M_data->_M_time_format = "%H:%M:%S";
++ _M_data->_M_time_era_format = "%H:%M:%S";
++ _M_data->_M_date_time_format = "";
++ _M_data->_M_date_time_era_format = "";
++ _M_data->_M_am = "AM";
++ _M_data->_M_pm = "PM";
++ _M_data->_M_am_pm_format = "";
++
++ // Day names, starting with "C"'s Sunday.
++ _M_data->_M_day1 = "Sunday";
++ _M_data->_M_day2 = "Monday";
++ _M_data->_M_day3 = "Tuesday";
++ _M_data->_M_day4 = "Wednesday";
++ _M_data->_M_day5 = "Thursday";
++ _M_data->_M_day6 = "Friday";
++ _M_data->_M_day7 = "Saturday";
++
++ // Abbreviated day names, starting with "C"'s Sun.
++ _M_data->_M_aday1 = "Sun";
++ _M_data->_M_aday2 = "Mon";
++ _M_data->_M_aday3 = "Tue";
++ _M_data->_M_aday4 = "Wed";
++ _M_data->_M_aday5 = "Thu";
++ _M_data->_M_aday6 = "Fri";
++ _M_data->_M_aday7 = "Sat";
++
++ // Month names, starting with "C"'s January.
++ _M_data->_M_month01 = "January";
++ _M_data->_M_month02 = "February";
++ _M_data->_M_month03 = "March";
++ _M_data->_M_month04 = "April";
++ _M_data->_M_month05 = "May";
++ _M_data->_M_month06 = "June";
++ _M_data->_M_month07 = "July";
++ _M_data->_M_month08 = "August";
++ _M_data->_M_month09 = "September";
++ _M_data->_M_month10 = "October";
++ _M_data->_M_month11 = "November";
++ _M_data->_M_month12 = "December";
++
++ // Abbreviated month names, starting with "C"'s Jan.
++ _M_data->_M_amonth01 = "Jan";
++ _M_data->_M_amonth02 = "Feb";
++ _M_data->_M_amonth03 = "Mar";
++ _M_data->_M_amonth04 = "Apr";
++ _M_data->_M_amonth05 = "May";
++ _M_data->_M_amonth06 = "Jun";
++ _M_data->_M_amonth07 = "Jul";
++ _M_data->_M_amonth08 = "Aug";
++ _M_data->_M_amonth09 = "Sep";
++ _M_data->_M_amonth10 = "Oct";
++ _M_data->_M_amonth11 = "Nov";
++ _M_data->_M_amonth12 = "Dec";
++ }
++ else
++ {
++ _M_c_locale_timepunct = _S_clone_c_locale(__cloc);
++
++ _M_data->_M_date_format = __nl_langinfo_l(D_FMT, __cloc);
++ _M_data->_M_date_era_format = __nl_langinfo_l(ERA_D_FMT, __cloc);
++ _M_data->_M_time_format = __nl_langinfo_l(T_FMT, __cloc);
++ _M_data->_M_time_era_format = __nl_langinfo_l(ERA_T_FMT, __cloc);
++ _M_data->_M_date_time_format = __nl_langinfo_l(D_T_FMT, __cloc);
++ _M_data->_M_date_time_era_format = __nl_langinfo_l(ERA_D_T_FMT,
++ __cloc);
++ _M_data->_M_am = __nl_langinfo_l(AM_STR, __cloc);
++ _M_data->_M_pm = __nl_langinfo_l(PM_STR, __cloc);
++ _M_data->_M_am_pm_format = __nl_langinfo_l(T_FMT_AMPM, __cloc);
++
++ // Day names, starting with "C"'s Sunday.
++ _M_data->_M_day1 = __nl_langinfo_l(DAY_1, __cloc);
++ _M_data->_M_day2 = __nl_langinfo_l(DAY_2, __cloc);
++ _M_data->_M_day3 = __nl_langinfo_l(DAY_3, __cloc);
++ _M_data->_M_day4 = __nl_langinfo_l(DAY_4, __cloc);
++ _M_data->_M_day5 = __nl_langinfo_l(DAY_5, __cloc);
++ _M_data->_M_day6 = __nl_langinfo_l(DAY_6, __cloc);
++ _M_data->_M_day7 = __nl_langinfo_l(DAY_7, __cloc);
++
++ // Abbreviated day names, starting with "C"'s Sun.
++ _M_data->_M_aday1 = __nl_langinfo_l(ABDAY_1, __cloc);
++ _M_data->_M_aday2 = __nl_langinfo_l(ABDAY_2, __cloc);
++ _M_data->_M_aday3 = __nl_langinfo_l(ABDAY_3, __cloc);
++ _M_data->_M_aday4 = __nl_langinfo_l(ABDAY_4, __cloc);
++ _M_data->_M_aday5 = __nl_langinfo_l(ABDAY_5, __cloc);
++ _M_data->_M_aday6 = __nl_langinfo_l(ABDAY_6, __cloc);
++ _M_data->_M_aday7 = __nl_langinfo_l(ABDAY_7, __cloc);
++
++ // Month names, starting with "C"'s January.
++ _M_data->_M_month01 = __nl_langinfo_l(MON_1, __cloc);
++ _M_data->_M_month02 = __nl_langinfo_l(MON_2, __cloc);
++ _M_data->_M_month03 = __nl_langinfo_l(MON_3, __cloc);
++ _M_data->_M_month04 = __nl_langinfo_l(MON_4, __cloc);
++ _M_data->_M_month05 = __nl_langinfo_l(MON_5, __cloc);
++ _M_data->_M_month06 = __nl_langinfo_l(MON_6, __cloc);
++ _M_data->_M_month07 = __nl_langinfo_l(MON_7, __cloc);
++ _M_data->_M_month08 = __nl_langinfo_l(MON_8, __cloc);
++ _M_data->_M_month09 = __nl_langinfo_l(MON_9, __cloc);
++ _M_data->_M_month10 = __nl_langinfo_l(MON_10, __cloc);
++ _M_data->_M_month11 = __nl_langinfo_l(MON_11, __cloc);
++ _M_data->_M_month12 = __nl_langinfo_l(MON_12, __cloc);
++
++ // Abbreviated month names, starting with "C"'s Jan.
++ _M_data->_M_amonth01 = __nl_langinfo_l(ABMON_1, __cloc);
++ _M_data->_M_amonth02 = __nl_langinfo_l(ABMON_2, __cloc);
++ _M_data->_M_amonth03 = __nl_langinfo_l(ABMON_3, __cloc);
++ _M_data->_M_amonth04 = __nl_langinfo_l(ABMON_4, __cloc);
++ _M_data->_M_amonth05 = __nl_langinfo_l(ABMON_5, __cloc);
++ _M_data->_M_amonth06 = __nl_langinfo_l(ABMON_6, __cloc);
++ _M_data->_M_amonth07 = __nl_langinfo_l(ABMON_7, __cloc);
++ _M_data->_M_amonth08 = __nl_langinfo_l(ABMON_8, __cloc);
++ _M_data->_M_amonth09 = __nl_langinfo_l(ABMON_9, __cloc);
++ _M_data->_M_amonth10 = __nl_langinfo_l(ABMON_10, __cloc);
++ _M_data->_M_amonth11 = __nl_langinfo_l(ABMON_11, __cloc);
++ _M_data->_M_amonth12 = __nl_langinfo_l(ABMON_12, __cloc);
++ }
++ }
++
++#ifdef _GLIBCXX_USE_WCHAR_T
++ template<>
++ void
++ __timepunct<wchar_t>::
++ _M_put(wchar_t* __s, size_t __maxlen, const wchar_t* __format,
++ const tm* __tm) const
++ {
++#ifdef __UCLIBC_HAS_XLOCALE__
++ __wcsftime_l(__s, __maxlen, __format, __tm, _M_c_locale_timepunct);
++ const size_t __len = __wcsftime_l(__s, __maxlen, __format, __tm,
++ _M_c_locale_timepunct);
++#else
++ char* __old = strdup(setlocale(LC_ALL, NULL));
++ setlocale(LC_ALL, _M_name_timepunct);
++ const size_t __len = wcsftime(__s, __maxlen, __format, __tm);
++ setlocale(LC_ALL, __old);
++ free(__old);
++#endif
++ // Make sure __s is null terminated.
++ if (__len == 0)
++ __s[0] = L'\0';
++ }
++
++ template<>
++ void
++ __timepunct<wchar_t>::_M_initialize_timepunct(__c_locale __cloc)
++ {
++ if (!_M_data)
++ _M_data = new __timepunct_cache<wchar_t>;
++
++#warning wide time stuff
++// if (!__cloc)
++ {
++ // "C" locale
++ _M_c_locale_timepunct = _S_get_c_locale();
++
++ _M_data->_M_date_format = L"%m/%d/%y";
++ _M_data->_M_date_era_format = L"%m/%d/%y";
++ _M_data->_M_time_format = L"%H:%M:%S";
++ _M_data->_M_time_era_format = L"%H:%M:%S";
++ _M_data->_M_date_time_format = L"";
++ _M_data->_M_date_time_era_format = L"";
++ _M_data->_M_am = L"AM";
++ _M_data->_M_pm = L"PM";
++ _M_data->_M_am_pm_format = L"";
++
++ // Day names, starting with "C"'s Sunday.
++ _M_data->_M_day1 = L"Sunday";
++ _M_data->_M_day2 = L"Monday";
++ _M_data->_M_day3 = L"Tuesday";
++ _M_data->_M_day4 = L"Wednesday";
++ _M_data->_M_day5 = L"Thursday";
++ _M_data->_M_day6 = L"Friday";
++ _M_data->_M_day7 = L"Saturday";
++
++ // Abbreviated day names, starting with "C"'s Sun.
++ _M_data->_M_aday1 = L"Sun";
++ _M_data->_M_aday2 = L"Mon";
++ _M_data->_M_aday3 = L"Tue";
++ _M_data->_M_aday4 = L"Wed";
++ _M_data->_M_aday5 = L"Thu";
++ _M_data->_M_aday6 = L"Fri";
++ _M_data->_M_aday7 = L"Sat";
++
++ // Month names, starting with "C"'s January.
++ _M_data->_M_month01 = L"January";
++ _M_data->_M_month02 = L"February";
++ _M_data->_M_month03 = L"March";
++ _M_data->_M_month04 = L"April";
++ _M_data->_M_month05 = L"May";
++ _M_data->_M_month06 = L"June";
++ _M_data->_M_month07 = L"July";
++ _M_data->_M_month08 = L"August";
++ _M_data->_M_month09 = L"September";
++ _M_data->_M_month10 = L"October";
++ _M_data->_M_month11 = L"November";
++ _M_data->_M_month12 = L"December";
++
++ // Abbreviated month names, starting with "C"'s Jan.
++ _M_data->_M_amonth01 = L"Jan";
++ _M_data->_M_amonth02 = L"Feb";
++ _M_data->_M_amonth03 = L"Mar";
++ _M_data->_M_amonth04 = L"Apr";
++ _M_data->_M_amonth05 = L"May";
++ _M_data->_M_amonth06 = L"Jun";
++ _M_data->_M_amonth07 = L"Jul";
++ _M_data->_M_amonth08 = L"Aug";
++ _M_data->_M_amonth09 = L"Sep";
++ _M_data->_M_amonth10 = L"Oct";
++ _M_data->_M_amonth11 = L"Nov";
++ _M_data->_M_amonth12 = L"Dec";
++ }
++#if 0
++ else
++ {
++ _M_c_locale_timepunct = _S_clone_c_locale(__cloc);
++
++ union { char *__s; wchar_t *__w; } __u;
++
++ __u.__s = __nl_langinfo_l(_NL_WD_FMT, __cloc);
++ _M_data->_M_date_format = __u.__w;
++ __u.__s = __nl_langinfo_l(_NL_WERA_D_FMT, __cloc);
++ _M_data->_M_date_era_format = __u.__w;
++ __u.__s = __nl_langinfo_l(_NL_WT_FMT, __cloc);
++ _M_data->_M_time_format = __u.__w;
++ __u.__s = __nl_langinfo_l(_NL_WERA_T_FMT, __cloc);
++ _M_data->_M_time_era_format = __u.__w;
++ __u.__s = __nl_langinfo_l(_NL_WD_T_FMT, __cloc);
++ _M_data->_M_date_time_format = __u.__w;
++ __u.__s = __nl_langinfo_l(_NL_WERA_D_T_FMT, __cloc);
++ _M_data->_M_date_time_era_format = __u.__w;
++ __u.__s = __nl_langinfo_l(_NL_WAM_STR, __cloc);
++ _M_data->_M_am = __u.__w;
++ __u.__s = __nl_langinfo_l(_NL_WPM_STR, __cloc);
++ _M_data->_M_pm = __u.__w;
++ __u.__s = __nl_langinfo_l(_NL_WT_FMT_AMPM, __cloc);
++ _M_data->_M_am_pm_format = __u.__w;
++
++ // Day names, starting with "C"'s Sunday.
++ __u.__s = __nl_langinfo_l(_NL_WDAY_1, __cloc);
++ _M_data->_M_day1 = __u.__w;
++ __u.__s = __nl_langinfo_l(_NL_WDAY_2, __cloc);
++ _M_data->_M_day2 = __u.__w;
++ __u.__s = __nl_langinfo_l(_NL_WDAY_3, __cloc);
++ _M_data->_M_day3 = __u.__w;
++ __u.__s = __nl_langinfo_l(_NL_WDAY_4, __cloc);
++ _M_data->_M_day4 = __u.__w;
++ __u.__s = __nl_langinfo_l(_NL_WDAY_5, __cloc);
++ _M_data->_M_day5 = __u.__w;
++ __u.__s = __nl_langinfo_l(_NL_WDAY_6, __cloc);
++ _M_data->_M_day6 = __u.__w;
++ __u.__s = __nl_langinfo_l(_NL_WDAY_7, __cloc);
++ _M_data->_M_day7 = __u.__w;
++
++ // Abbreviated day names, starting with "C"'s Sun.
++ __u.__s = __nl_langinfo_l(_NL_WABDAY_1, __cloc);
++ _M_data->_M_aday1 = __u.__w;
++ __u.__s = __nl_langinfo_l(_NL_WABDAY_2, __cloc);
++ _M_data->_M_aday2 = __u.__w;
++ __u.__s = __nl_langinfo_l(_NL_WABDAY_3, __cloc);
++ _M_data->_M_aday3 = __u.__w;
++ __u.__s = __nl_langinfo_l(_NL_WABDAY_4, __cloc);
++ _M_data->_M_aday4 = __u.__w;
++ __u.__s = __nl_langinfo_l(_NL_WABDAY_5, __cloc);
++ _M_data->_M_aday5 = __u.__w;
++ __u.__s = __nl_langinfo_l(_NL_WABDAY_6, __cloc);
++ _M_data->_M_aday6 = __u.__w;
++ __u.__s = __nl_langinfo_l(_NL_WABDAY_7, __cloc);
++ _M_data->_M_aday7 = __u.__w;
++
++ // Month names, starting with "C"'s January.
++ __u.__s = __nl_langinfo_l(_NL_WMON_1, __cloc);
++ _M_data->_M_month01 = __u.__w;
++ __u.__s = __nl_langinfo_l(_NL_WMON_2, __cloc);
++ _M_data->_M_month02 = __u.__w;
++ __u.__s = __nl_langinfo_l(_NL_WMON_3, __cloc);
++ _M_data->_M_month03 = __u.__w;
++ __u.__s = __nl_langinfo_l(_NL_WMON_4, __cloc);
++ _M_data->_M_month04 = __u.__w;
++ __u.__s = __nl_langinfo_l(_NL_WMON_5, __cloc);
++ _M_data->_M_month05 = __u.__w;
++ __u.__s = __nl_langinfo_l(_NL_WMON_6, __cloc);
++ _M_data->_M_month06 = __u.__w;
++ __u.__s = __nl_langinfo_l(_NL_WMON_7, __cloc);
++ _M_data->_M_month07 = __u.__w;
++ __u.__s = __nl_langinfo_l(_NL_WMON_8, __cloc);
++ _M_data->_M_month08 = __u.__w;
++ __u.__s = __nl_langinfo_l(_NL_WMON_9, __cloc);
++ _M_data->_M_month09 = __u.__w;
++ __u.__s = __nl_langinfo_l(_NL_WMON_10, __cloc);
++ _M_data->_M_month10 = __u.__w;
++ __u.__s = __nl_langinfo_l(_NL_WMON_11, __cloc);
++ _M_data->_M_month11 = __u.__w;
++ __u.__s = __nl_langinfo_l(_NL_WMON_12, __cloc);
++ _M_data->_M_month12 = __u.__w;
++
++ // Abbreviated month names, starting with "C"'s Jan.
++ __u.__s = __nl_langinfo_l(_NL_WABMON_1, __cloc);
++ _M_data->_M_amonth01 = __u.__w;
++ __u.__s = __nl_langinfo_l(_NL_WABMON_2, __cloc);
++ _M_data->_M_amonth02 = __u.__w;
++ __u.__s = __nl_langinfo_l(_NL_WABMON_3, __cloc);
++ _M_data->_M_amonth03 = __u.__w;
++ __u.__s = __nl_langinfo_l(_NL_WABMON_4, __cloc);
++ _M_data->_M_amonth04 = __u.__w;
++ __u.__s = __nl_langinfo_l(_NL_WABMON_5, __cloc);
++ _M_data->_M_amonth05 = __u.__w;
++ __u.__s = __nl_langinfo_l(_NL_WABMON_6, __cloc);
++ _M_data->_M_amonth06 = __u.__w;
++ __u.__s = __nl_langinfo_l(_NL_WABMON_7, __cloc);
++ _M_data->_M_amonth07 = __u.__w;
++ __u.__s = __nl_langinfo_l(_NL_WABMON_8, __cloc);
++ _M_data->_M_amonth08 = __u.__w;
++ __u.__s = __nl_langinfo_l(_NL_WABMON_9, __cloc);
++ _M_data->_M_amonth09 = __u.__w;
++ __u.__s = __nl_langinfo_l(_NL_WABMON_10, __cloc);
++ _M_data->_M_amonth10 = __u.__w;
++ __u.__s = __nl_langinfo_l(_NL_WABMON_11, __cloc);
++ _M_data->_M_amonth11 = __u.__w;
++ __u.__s = __nl_langinfo_l(_NL_WABMON_12, __cloc);
++ _M_data->_M_amonth12 = __u.__w;
++ }
++#endif // 0
++ }
++#endif
++}
+Index: gcc-4.3.2/libstdc++-v3/config/locale/uclibc/time_members.h
+===================================================================
+--- /dev/null 1970-01-01 00:00:00.000000000 +0000
++++ gcc-4.3.2/libstdc++-v3/config/locale/uclibc/time_members.h 2008-08-28 17:55:56.000000000 -0700
+@@ -0,0 +1,68 @@
++// std::time_get, std::time_put implementation, GNU version -*- C++ -*-
++
++// Copyright (C) 2001, 2002, 2003, 2004 Free Software Foundation, Inc.
++//
++// This file is part of the GNU ISO C++ Library. This library is free
++// software; you can redistribute it and/or modify it under the
++// terms of the GNU General Public License as published by the
++// Free Software Foundation; either version 2, or (at your option)
++// any later version.
++
++// This library is distributed in the hope that it will be useful,
++// but WITHOUT ANY WARRANTY; without even the implied warranty of
++// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
++// GNU General Public License for more details.
++
++// You should have received a copy of the GNU General Public License along
++// with this library; see the file COPYING. If not, write to the Free
++// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
++// USA.
++
++// As a special exception, you may use this file as part of a free software
++// library without restriction. Specifically, if other files instantiate
++// templates or use macros or inline functions from this file, or you compile
++// this file and link it with other files to produce an executable, this
++// file does not by itself cause the resulting executable to be covered by
++// the GNU General Public License. This exception does not however
++// invalidate any other reasons why the executable file might be covered by
++// the GNU General Public License.
++
++//
++// ISO C++ 14882: 22.2.5.1.2 - time_get functions
++// ISO C++ 14882: 22.2.5.3.2 - time_put functions
++//
++
++// Written by Benjamin Kosnik <bkoz@redhat.com>
++
++ template<typename _CharT>
++ __timepunct<_CharT>::__timepunct(size_t __refs)
++ : facet(__refs), _M_data(NULL), _M_c_locale_timepunct(NULL),
++ _M_name_timepunct(_S_get_c_name())
++ { _M_initialize_timepunct(); }
++
++ template<typename _CharT>
++ __timepunct<_CharT>::__timepunct(__cache_type* __cache, size_t __refs)
++ : facet(__refs), _M_data(__cache), _M_c_locale_timepunct(NULL),
++ _M_name_timepunct(_S_get_c_name())
++ { _M_initialize_timepunct(); }
++
++ template<typename _CharT>
++ __timepunct<_CharT>::__timepunct(__c_locale __cloc, const char* __s,
++ size_t __refs)
++ : facet(__refs), _M_data(NULL), _M_c_locale_timepunct(NULL),
++ _M_name_timepunct(__s)
++ {
++ char* __tmp = new char[std::strlen(__s) + 1];
++ std::strcpy(__tmp, __s);
++ _M_name_timepunct = __tmp;
++ _M_initialize_timepunct(__cloc);
++ }
++
++ template<typename _CharT>
++ __timepunct<_CharT>::~__timepunct()
++ {
++ if (_M_name_timepunct != _S_get_c_name())
++ delete [] _M_name_timepunct;
++ delete _M_data;
++ _S_destroy_c_locale(_M_c_locale_timepunct);
++ }
+Index: gcc-4.3.2/libstdc++-v3/configure
+===================================================================
+--- gcc-4.3.2.orig/libstdc++-v3/configure 2008-07-07 12:49:54.000000000 -0700
++++ gcc-4.3.2/libstdc++-v3/configure 2008-08-28 18:02:13.000000000 -0700
+@@ -14003,7 +14003,7 @@
+ enableval="$enable_clocale"
+
+ case "$enableval" in
+- generic|gnu|ieee_1003.1-2001|yes|no|auto) ;;
++ generic|gnu|ieee_1003.1-2001|uclibc|yes|no|auto) ;;
+ *) { { echo "$as_me:$LINENO: error: Unknown argument to enable/disable clocale" >&5
+ echo "$as_me: error: Unknown argument to enable/disable clocale" >&2;}
+ { (exit 1); exit 1; }; } ;;
+@@ -14036,6 +14036,9 @@
+ # Default to "generic".
+ if test $enable_clocale_flag = auto; then
+ case ${target_os} in
++ *-uclibc*)
++ enable_clocale_flag=uclibc
++ ;;
+ linux* | gnu* | kfreebsd*-gnu | knetbsd*-gnu)
+ enable_clocale_flag=gnu
+ ;;
+@@ -14424,6 +14427,76 @@
+ CTIME_CC=config/locale/generic/time_members.cc
+ CLOCALE_INTERNAL_H=config/locale/generic/c++locale_internal.h
+ ;;
++ uclibc)
++ echo "$as_me:$LINENO: result: uclibc" >&5
++echo "${ECHO_T}uclibc" >&6
++
++ # Declare intention to use gettext, and add support for specific
++ # languages.
++ # For some reason, ALL_LINGUAS has to be before AM-GNU-GETTEXT
++ ALL_LINGUAS="de fr"
++
++ # Don't call AM-GNU-GETTEXT here. Instead, assume glibc.
++ # Extract the first word of "msgfmt", so it can be a program name with args.
++set dummy msgfmt; ac_word=$2
++echo "$as_me:$LINENO: checking for $ac_word" >&5
++echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
++if test "${ac_cv_prog_check_msgfmt+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++ if test -n "$check_msgfmt"; then
++ ac_cv_prog_check_msgfmt="$check_msgfmt" # 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_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
++ ac_cv_prog_check_msgfmt="yes"
++ echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
++ break 2
++ fi
++done
++done
++
++ test -z "$ac_cv_prog_check_msgfmt" && ac_cv_prog_check_msgfmt="no"
++fi
++fi
++check_msgfmt=$ac_cv_prog_check_msgfmt
++if test -n "$check_msgfmt"; then
++ echo "$as_me:$LINENO: result: $check_msgfmt" >&5
++echo "${ECHO_T}$check_msgfmt" >&6
++else
++ echo "$as_me:$LINENO: result: no" >&5
++echo "${ECHO_T}no" >&6
++fi
++
++ if test x"$check_msgfmt" = x"yes" && test x"$enable_nls" = x"yes"; then
++ USE_NLS=yes
++ fi
++ # Export the build objects.
++ for ling in $ALL_LINGUAS; do \
++ glibcxx_MOFILES="$glibcxx_MOFILES $ling.mo"; \
++ glibcxx_POFILES="$glibcxx_POFILES $ling.po"; \
++ done
++
++
++
++ CLOCALE_H=config/locale/uclibc/c_locale.h
++ CLOCALE_CC=config/locale/uclibc/c_locale.cc
++ CCODECVT_CC=config/locale/uclibc/codecvt_members.cc
++ CCOLLATE_CC=config/locale/uclibc/collate_members.cc
++ CCTYPE_CC=config/locale/uclibc/ctype_members.cc
++ CMESSAGES_H=config/locale/uclibc/messages_members.h
++ CMESSAGES_CC=config/locale/uclibc/messages_members.cc
++ CMONEY_CC=config/locale/uclibc/monetary_members.cc
++ CNUMERIC_CC=config/locale/uclibc/numeric_members.cc
++ CTIME_H=config/locale/uclibc/time_members.h
++ CTIME_CC=config/locale/uclibc/time_members.cc
++ CLOCALE_INTERNAL_H=config/locale/uclibc/c++locale_internal.h
++ ;;
+ esac
+
+ # This is where the testsuite looks for locale catalogs, using the
+@@ -17016,7 +17089,7 @@
+
+ # Fake what AC_TRY_COMPILE does. XXX Look at redoing this new-style.
+ cat > conftest.$ac_ext << EOF
+-#line 17019 "configure"
++#line 17092 "configure"
+ int main()
+ {
+ // NB: _Atomic_word not necessarily int.
+Index: gcc-4.3.2/libstdc++-v3/include/c_compatibility/wchar.h
+===================================================================
+--- gcc-4.3.2.orig/libstdc++-v3/include/c_compatibility/wchar.h 2007-03-04 14:59:49.000000000 -0800
++++ gcc-4.3.2/libstdc++-v3/include/c_compatibility/wchar.h 2008-08-28 17:55:56.000000000 -0700
+@@ -106,7 +106,9 @@
+ using std::wmemcpy;
+ using std::wmemmove;
+ using std::wmemset;
++#if _GLIBCXX_HAVE_WCSFTIME
+ using std::wcsftime;
++#endif
+
+ #if _GLIBCXX_USE_C99
+ using std::wcstold;
+Index: gcc-4.3.2/libstdc++-v3/include/c_std/cwchar
+===================================================================
+--- gcc-4.3.2.orig/libstdc++-v3/include/c_std/cwchar 2007-05-27 07:50:21.000000000 -0700
++++ gcc-4.3.2/libstdc++-v3/include/c_std/cwchar 2008-08-28 17:55:56.000000000 -0700
+@@ -182,7 +182,9 @@
+ using ::wcscoll;
+ using ::wcscpy;
+ using ::wcscspn;
++#if _GLIBCXX_HAVE_WCSFTIME
+ using ::wcsftime;
++#endif
+ using ::wcslen;
+ using ::wcsncat;
+ using ::wcsncmp;
diff --git a/recipes/gcc/gcc-4.4.0/203-uclibc-locale-no__x.patch b/recipes/gcc/gcc-4.4.0/203-uclibc-locale-no__x.patch
new file mode 100644
index 0000000000..f39e65220c
--- /dev/null
+++ b/recipes/gcc/gcc-4.4.0/203-uclibc-locale-no__x.patch
@@ -0,0 +1,233 @@
+Index: gcc-4.3.1/libstdc++-v3/config/locale/uclibc/c++locale_internal.h
+===================================================================
+--- gcc-4.3.1.orig/libstdc++-v3/config/locale/uclibc/c++locale_internal.h 2008-08-16 01:29:20.000000000 -0700
++++ gcc-4.3.1/libstdc++-v3/config/locale/uclibc/c++locale_internal.h 2008-08-16 01:33:23.000000000 -0700
+@@ -60,4 +60,49 @@
+ extern "C" __typeof(wctype_l) __wctype_l;
+ #endif
+
++# define __nl_langinfo_l nl_langinfo_l
++# define __strcoll_l strcoll_l
++# define __strftime_l strftime_l
++# define __strtod_l strtod_l
++# define __strtof_l strtof_l
++# define __strtold_l strtold_l
++# define __strxfrm_l strxfrm_l
++# define __newlocale newlocale
++# define __freelocale freelocale
++# define __duplocale duplocale
++# define __uselocale uselocale
++
++# ifdef _GLIBCXX_USE_WCHAR_T
++# define __iswctype_l iswctype_l
++# define __towlower_l towlower_l
++# define __towupper_l towupper_l
++# define __wcscoll_l wcscoll_l
++# define __wcsftime_l wcsftime_l
++# define __wcsxfrm_l wcsxfrm_l
++# define __wctype_l wctype_l
++# endif
++
++#else
++# define __nl_langinfo_l(N, L) nl_langinfo((N))
++# define __strcoll_l(S1, S2, L) strcoll((S1), (S2))
++# define __strtod_l(S, E, L) strtod((S), (E))
++# define __strtof_l(S, E, L) strtof((S), (E))
++# define __strtold_l(S, E, L) strtold((S), (E))
++# define __strxfrm_l(S1, S2, N, L) strxfrm((S1), (S2), (N))
++# warning should dummy __newlocale check for C|POSIX ?
++# define __newlocale(a, b, c) NULL
++# define __freelocale(a) ((void)0)
++# define __duplocale(a) __c_locale()
++//# define __uselocale ?
++//
++# ifdef _GLIBCXX_USE_WCHAR_T
++# define __iswctype_l(C, M, L) iswctype((C), (M))
++# define __towlower_l(C, L) towlower((C))
++# define __towupper_l(C, L) towupper((C))
++# define __wcscoll_l(S1, S2, L) wcscoll((S1), (S2))
++//# define __wcsftime_l(S, M, F, T, L) wcsftime((S), (M), (F), (T))
++# define __wcsxfrm_l(S1, S2, N, L) wcsxfrm((S1), (S2), (N))
++# define __wctype_l(S, L) wctype((S))
++# endif
++
+ #endif // GLIBC 2.3 and later
+Index: gcc-4.3.1/libstdc++-v3/config/locale/uclibc/c_locale.cc
+===================================================================
+--- gcc-4.3.1.orig/libstdc++-v3/config/locale/uclibc/c_locale.cc 2008-08-16 01:29:20.000000000 -0700
++++ gcc-4.3.1/libstdc++-v3/config/locale/uclibc/c_locale.cc 2008-08-16 01:33:00.000000000 -0700
+@@ -39,20 +39,6 @@
+ #include <langinfo.h>
+ #include <bits/c++locale_internal.h>
+
+-#ifndef __UCLIBC_HAS_XLOCALE__
+-#define __strtol_l(S, E, B, L) strtol((S), (E), (B))
+-#define __strtoul_l(S, E, B, L) strtoul((S), (E), (B))
+-#define __strtoll_l(S, E, B, L) strtoll((S), (E), (B))
+-#define __strtoull_l(S, E, B, L) strtoull((S), (E), (B))
+-#define __strtof_l(S, E, L) strtof((S), (E))
+-#define __strtod_l(S, E, L) strtod((S), (E))
+-#define __strtold_l(S, E, L) strtold((S), (E))
+-#warning should dummy __newlocale check for C|POSIX ?
+-#define __newlocale(a, b, c) NULL
+-#define __freelocale(a) ((void)0)
+-#define __duplocale(a) __c_locale()
+-#endif
+-
+ namespace std
+ {
+ template<>
+Index: gcc-4.3.1/libstdc++-v3/config/locale/uclibc/collate_members.cc
+===================================================================
+--- gcc-4.3.1.orig/libstdc++-v3/config/locale/uclibc/collate_members.cc 2008-08-16 01:29:20.000000000 -0700
++++ gcc-4.3.1/libstdc++-v3/config/locale/uclibc/collate_members.cc 2008-08-16 01:30:31.000000000 -0700
+@@ -36,13 +36,6 @@
+ #include <locale>
+ #include <bits/c++locale_internal.h>
+
+-#ifndef __UCLIBC_HAS_XLOCALE__
+-#define __strcoll_l(S1, S2, L) strcoll((S1), (S2))
+-#define __strxfrm_l(S1, S2, N, L) strxfrm((S1), (S2), (N))
+-#define __wcscoll_l(S1, S2, L) wcscoll((S1), (S2))
+-#define __wcsxfrm_l(S1, S2, N, L) wcsxfrm((S1), (S2), (N))
+-#endif
+-
+ namespace std
+ {
+ // These are basically extensions to char_traits, and perhaps should
+Index: gcc-4.3.1/libstdc++-v3/config/locale/uclibc/monetary_members.cc
+===================================================================
+--- gcc-4.3.1.orig/libstdc++-v3/config/locale/uclibc/monetary_members.cc 2008-08-16 01:29:20.000000000 -0700
++++ gcc-4.3.1/libstdc++-v3/config/locale/uclibc/monetary_members.cc 2008-08-16 01:30:31.000000000 -0700
+@@ -43,10 +43,6 @@
+ #warning tailor for stub locale support
+ #endif
+
+-#ifndef __UCLIBC_HAS_XLOCALE__
+-#define __nl_langinfo_l(N, L) nl_langinfo((N))
+-#endif
+-
+ namespace std
+ {
+ // Construct and return valid pattern consisting of some combination of:
+Index: gcc-4.3.1/libstdc++-v3/config/locale/uclibc/numeric_members.cc
+===================================================================
+--- gcc-4.3.1.orig/libstdc++-v3/config/locale/uclibc/numeric_members.cc 2008-08-16 01:29:20.000000000 -0700
++++ gcc-4.3.1/libstdc++-v3/config/locale/uclibc/numeric_members.cc 2008-08-16 01:30:31.000000000 -0700
+@@ -41,9 +41,6 @@
+ #ifdef __UCLIBC_MJN3_ONLY__
+ #warning tailor for stub locale support
+ #endif
+-#ifndef __UCLIBC_HAS_XLOCALE__
+-#define __nl_langinfo_l(N, L) nl_langinfo((N))
+-#endif
+
+ namespace std
+ {
+Index: gcc-4.3.1/libstdc++-v3/config/locale/uclibc/time_members.cc
+===================================================================
+--- gcc-4.3.1.orig/libstdc++-v3/config/locale/uclibc/time_members.cc 2008-08-16 01:29:20.000000000 -0700
++++ gcc-4.3.1/libstdc++-v3/config/locale/uclibc/time_members.cc 2008-08-16 01:30:31.000000000 -0700
+@@ -40,9 +40,6 @@
+ #ifdef __UCLIBC_MJN3_ONLY__
+ #warning tailor for stub locale support
+ #endif
+-#ifndef __UCLIBC_HAS_XLOCALE__
+-#define __nl_langinfo_l(N, L) nl_langinfo((N))
+-#endif
+
+ namespace std
+ {
+Index: gcc-4.3.1/libstdc++-v3/config/locale/uclibc/ctype_members.cc
+===================================================================
+--- gcc-4.3.1.orig/libstdc++-v3/config/locale/uclibc/ctype_members.cc 2008-08-16 01:29:20.000000000 -0700
++++ gcc-4.3.1/libstdc++-v3/config/locale/uclibc/ctype_members.cc 2008-08-16 01:30:31.000000000 -0700
+@@ -38,13 +38,6 @@
+ #undef _LIBC
+ #include <bits/c++locale_internal.h>
+
+-#ifndef __UCLIBC_HAS_XLOCALE__
+-#define __wctype_l(S, L) wctype((S))
+-#define __towupper_l(C, L) towupper((C))
+-#define __towlower_l(C, L) towlower((C))
+-#define __iswctype_l(C, M, L) iswctype((C), (M))
+-#endif
+-
+ namespace std
+ {
+ // NB: The other ctype<char> specializations are in src/locale.cc and
+Index: gcc-4.3.1/libstdc++-v3/config/locale/uclibc/messages_members.cc
+===================================================================
+--- gcc-4.3.1.orig/libstdc++-v3/config/locale/uclibc/messages_members.cc 2008-08-16 01:27:18.000000000 -0700
++++ gcc-4.3.1/libstdc++-v3/config/locale/uclibc/messages_members.cc 2008-08-16 01:30:31.000000000 -0700
+@@ -39,13 +39,10 @@
+ #ifdef __UCLIBC_MJN3_ONLY__
+ #warning fix gettext stuff
+ #endif
+-#ifdef __UCLIBC_HAS_GETTEXT_AWARENESS__
+-extern "C" char *__dcgettext(const char *domainname,
+- const char *msgid, int category);
+ #undef gettext
+-#define gettext(msgid) __dcgettext(NULL, msgid, LC_MESSAGES)
++#ifdef __UCLIBC_HAS_GETTEXT_AWARENESS__
++#define gettext(msgid) dcgettext(NULL, msgid, LC_MESSAGES)
+ #else
+-#undef gettext
+ #define gettext(msgid) (msgid)
+ #endif
+
+Index: gcc-4.3.1/libstdc++-v3/config/locale/uclibc/messages_members.h
+===================================================================
+--- gcc-4.3.1.orig/libstdc++-v3/config/locale/uclibc/messages_members.h 2008-08-16 01:29:20.000000000 -0700
++++ gcc-4.3.1/libstdc++-v3/config/locale/uclibc/messages_members.h 2008-08-16 01:31:43.000000000 -0700
+@@ -36,15 +36,11 @@
+ #ifdef __UCLIBC_MJN3_ONLY__
+ #warning fix prototypes for *textdomain funcs
+ #endif
+-#ifdef __UCLIBC_HAS_GETTEXT_AWARENESS__
+-extern "C" char *__textdomain(const char *domainname);
+-extern "C" char *__bindtextdomain(const char *domainname,
+- const char *dirname);
+-#else
+-#undef __textdomain
+-#undef __bindtextdomain
+-#define __textdomain(D) ((void)0)
+-#define __bindtextdomain(D,P) ((void)0)
++#ifndef __UCLIBC_HAS_GETTEXT_AWARENESS__
++#undef textdomain
++#undef bindtextdomain
++#define textdomain(D) ((void)0)
++#define bindtextdomain(D,P) ((void)0)
+ #endif
+
+ // Non-virtual member functions.
+@@ -70,7 +66,7 @@
+ messages<_CharT>::open(const basic_string<char>& __s, const locale& __loc,
+ const char* __dir) const
+ {
+- __bindtextdomain(__s.c_str(), __dir);
++ bindtextdomain(__s.c_str(), __dir);
+ return this->do_open(__s, __loc);
+ }
+
+@@ -90,7 +86,7 @@
+ {
+ // No error checking is done, assume the catalog exists and can
+ // be used.
+- __textdomain(__s.c_str());
++ textdomain(__s.c_str());
+ return 0;
+ }
+
+Index: gcc-4.3.1/libstdc++-v3/config/locale/uclibc/c_locale.h
+===================================================================
+--- gcc-4.3.1.orig/libstdc++-v3/config/locale/uclibc/c_locale.h 2008-08-16 01:29:20.000000000 -0700
++++ gcc-4.3.1/libstdc++-v3/config/locale/uclibc/c_locale.h 2008-08-16 01:30:31.000000000 -0700
+@@ -68,6 +68,7 @@
+ {
+ extern "C" __typeof(uselocale) __uselocale;
+ }
++#define __uselocale uselocale
+ #endif
+
+ namespace std
diff --git a/recipes/gcc/gcc-4.4.0/204-uclibc-locale-wchar_fix.patch b/recipes/gcc/gcc-4.4.0/204-uclibc-locale-wchar_fix.patch
new file mode 100644
index 0000000000..160ab35bb3
--- /dev/null
+++ b/recipes/gcc/gcc-4.4.0/204-uclibc-locale-wchar_fix.patch
@@ -0,0 +1,48 @@
+--- gcc/libstdc++-v3/config/locale/uclibc/monetary_members.cc.uclibc200_wchar~ 2006-03-10 15:32:37 +0100
++++ gcc/libstdc++-v3/config/locale/uclibc/monetary_members.cc 2006-03-10 15:37:27 +0100
+@@ -401,7 +401,7 @@
+ # ifdef __UCLIBC_HAS_XLOCALE__
+ _M_data->_M_decimal_point = __cloc->decimal_point_wc;
+ _M_data->_M_thousands_sep = __cloc->thousands_sep_wc;
+-# else
++# elif defined __UCLIBC_HAS_LOCALE__
+ _M_data->_M_decimal_point = __global_locale->decimal_point_wc;
+ _M_data->_M_thousands_sep = __global_locale->thousands_sep_wc;
+ # endif
+@@ -556,7 +556,7 @@
+ # ifdef __UCLIBC_HAS_XLOCALE__
+ _M_data->_M_decimal_point = __cloc->decimal_point_wc;
+ _M_data->_M_thousands_sep = __cloc->thousands_sep_wc;
+-# else
++# elif defined __UCLIBC_HAS_LOCALE__
+ _M_data->_M_decimal_point = __global_locale->decimal_point_wc;
+ _M_data->_M_thousands_sep = __global_locale->thousands_sep_wc;
+ # endif
+--- gcc/libstdc++-v3/config/locale/uclibc/numeric_members.cc.uclibc200_wchar~ 2006-03-10 15:32:37 +0100
++++ gcc/libstdc++-v3/config/locale/uclibc/numeric_members.cc 2006-03-10 15:37:27 +0100
+@@ -127,12 +127,25 @@
+ {
+ // Named locale.
+ // NB: In the GNU model wchar_t is always 32 bit wide.
++#ifdef __UCLIBC_MJN3_ONLY__
++#warning fix this... should be numeric
++#endif
++#ifdef __UCLIBC__
++# ifdef __UCLIBC_HAS_XLOCALE__
++ _M_data->_M_decimal_point = __cloc->decimal_point_wc;
++ _M_data->_M_thousands_sep = __cloc->thousands_sep_wc;
++# elif defined __UCLIBC_HAS_LOCALE__
++ _M_data->_M_decimal_point = __global_locale->decimal_point_wc;
++ _M_data->_M_thousands_sep = __global_locale->thousands_sep_wc;
++# endif
++#else
+ union { char *__s; wchar_t __w; } __u;
+ __u.__s = __nl_langinfo_l(_NL_NUMERIC_DECIMAL_POINT_WC, __cloc);
+ _M_data->_M_decimal_point = __u.__w;
+
+ __u.__s = __nl_langinfo_l(_NL_NUMERIC_THOUSANDS_SEP_WC, __cloc);
+ _M_data->_M_thousands_sep = __u.__w;
++#endif
+
+ if (_M_data->_M_thousands_sep == L'\0')
+ _M_data->_M_grouping = "";
diff --git a/recipes/gcc/gcc-4.4.0/205-uclibc-locale-update.patch b/recipes/gcc/gcc-4.4.0/205-uclibc-locale-update.patch
new file mode 100644
index 0000000000..48eaa1d442
--- /dev/null
+++ b/recipes/gcc/gcc-4.4.0/205-uclibc-locale-update.patch
@@ -0,0 +1,519 @@
+Index: gcc-4.3.2/libstdc++-v3/config/locale/uclibc/c_locale.cc
+===================================================================
+--- gcc-4.3.2.orig/libstdc++-v3/config/locale/uclibc/c_locale.cc 2008-09-17 22:35:28.000000000 -0700
++++ gcc-4.3.2/libstdc++-v3/config/locale/uclibc/c_locale.cc 2008-09-17 22:35:29.000000000 -0700
+@@ -39,23 +39,20 @@
+ #include <langinfo.h>
+ #include <bits/c++locale_internal.h>
+
+-namespace std
+-{
++_GLIBCXX_BEGIN_NAMESPACE(std)
++
+ template<>
+ void
+ __convert_to_v(const char* __s, float& __v, ios_base::iostate& __err,
+ const __c_locale& __cloc)
+ {
+- if (!(__err & ios_base::failbit))
+- {
+- char* __sanity;
+- errno = 0;
+- float __f = __strtof_l(__s, &__sanity, __cloc);
+- if (__sanity != __s && errno != ERANGE)
+- __v = __f;
+- else
+- __err |= ios_base::failbit;
+- }
++ char* __sanity;
++ errno = 0;
++ float __f = __strtof_l(__s, &__sanity, __cloc);
++ if (__sanity != __s && errno != ERANGE)
++ __v = __f;
++ else
++ __err |= ios_base::failbit;
+ }
+
+ template<>
+@@ -63,16 +60,13 @@
+ __convert_to_v(const char* __s, double& __v, ios_base::iostate& __err,
+ const __c_locale& __cloc)
+ {
+- if (!(__err & ios_base::failbit))
+- {
+- char* __sanity;
+- errno = 0;
+- double __d = __strtod_l(__s, &__sanity, __cloc);
+- if (__sanity != __s && errno != ERANGE)
+- __v = __d;
+- else
+- __err |= ios_base::failbit;
+- }
++ char* __sanity;
++ errno = 0;
++ double __d = __strtod_l(__s, &__sanity, __cloc);
++ if (__sanity != __s && errno != ERANGE)
++ __v = __d;
++ else
++ __err |= ios_base::failbit;
+ }
+
+ template<>
+@@ -80,16 +74,13 @@
+ __convert_to_v(const char* __s, long double& __v, ios_base::iostate& __err,
+ const __c_locale& __cloc)
+ {
+- if (!(__err & ios_base::failbit))
+- {
+- char* __sanity;
+- errno = 0;
+- long double __ld = __strtold_l(__s, &__sanity, __cloc);
+- if (__sanity != __s && errno != ERANGE)
+- __v = __ld;
+- else
+- __err |= ios_base::failbit;
+- }
++ char* __sanity;
++ errno = 0;
++ long double __ld = __strtold_l(__s, &__sanity, __cloc);
++ if (__sanity != __s && errno != ERANGE)
++ __v = __ld;
++ else
++ __err |= ios_base::failbit;
+ }
+
+ void
+@@ -110,17 +101,18 @@
+ void
+ locale::facet::_S_destroy_c_locale(__c_locale& __cloc)
+ {
+- if (_S_get_c_locale() != __cloc)
++ if (__cloc && _S_get_c_locale() != __cloc)
+ __freelocale(__cloc);
+ }
+
+ __c_locale
+ locale::facet::_S_clone_c_locale(__c_locale& __cloc)
+ { return __duplocale(__cloc); }
+-} // namespace std
+
+-namespace __gnu_cxx
+-{
++_GLIBCXX_END_NAMESPACE
++
++_GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx)
++
+ const char* const category_names[6 + _GLIBCXX_NUM_CATEGORIES] =
+ {
+ "LC_CTYPE",
+@@ -138,9 +130,11 @@
+ "LC_IDENTIFICATION"
+ #endif
+ };
+-}
+
+-namespace std
+-{
++_GLIBCXX_END_NAMESPACE
++
++_GLIBCXX_BEGIN_NAMESPACE(std)
++
+ const char* const* const locale::_S_categories = __gnu_cxx::category_names;
+-} // namespace std
++
++_GLIBCXX_END_NAMESPACE
+Index: gcc-4.3.2/libstdc++-v3/config/locale/uclibc/ctype_members.cc
+===================================================================
+--- gcc-4.3.2.orig/libstdc++-v3/config/locale/uclibc/ctype_members.cc 2008-09-17 22:35:28.000000000 -0700
++++ gcc-4.3.2/libstdc++-v3/config/locale/uclibc/ctype_members.cc 2008-09-17 23:09:49.000000000 -0700
+@@ -33,16 +33,20 @@
+
+ // Written by Benjamin Kosnik <bkoz@redhat.com>
+
++#include <features.h>
++#ifdef __UCLIBC_HAS_LOCALE__
+ #define _LIBC
+ #include <locale>
+ #undef _LIBC
++#else
++#include <locale>
++#endif
+ #include <bits/c++locale_internal.h>
+
+-namespace std
+-{
++_GLIBCXX_BEGIN_NAMESPACE(std)
++
+ // NB: The other ctype<char> specializations are in src/locale.cc and
+ // various /config/os/* files.
+- template<>
+ ctype_byname<char>::ctype_byname(const char* __s, size_t __refs)
+ : ctype<char>(0, false, __refs)
+ {
+@@ -57,6 +61,8 @@
+ #endif
+ }
+ }
++ ctype_byname<char>::~ctype_byname()
++ { }
+
+ #ifdef _GLIBCXX_USE_WCHAR_T
+ ctype<wchar_t>::__wmask_type
+@@ -138,17 +144,33 @@
+ ctype<wchar_t>::
+ do_is(mask __m, wchar_t __c) const
+ {
+- // Highest bitmask in ctype_base == 10, but extra in "C"
+- // library for blank.
++ // The case of __m == ctype_base::space is particularly important,
++ // due to its use in many istream functions. Therefore we deal with
++ // it first, exploiting the knowledge that on GNU systems _M_bit[5]
++ // is the mask corresponding to ctype_base::space. NB: an encoding
++ // change would not affect correctness!
++
+ bool __ret = false;
+- const size_t __bitmasksize = 11;
+- for (size_t __bitcur = 0; __bitcur <= __bitmasksize; ++__bitcur)
+- if (__m & _M_bit[__bitcur]
+- && __iswctype_l(__c, _M_wmask[__bitcur], _M_c_locale_ctype))
+- {
+- __ret = true;
+- break;
+- }
++ if (__m == _M_bit[5])
++ __ret = __iswctype_l(__c, _M_wmask[5], _M_c_locale_ctype);
++ else
++ {
++ // Highest bitmask in ctype_base == 10, but extra in "C"
++ // library for blank.
++ const size_t __bitmasksize = 11;
++ for (size_t __bitcur = 0; __bitcur <= __bitmasksize; ++__bitcur)
++ if (__m & _M_bit[__bitcur])
++ {
++ if (__iswctype_l(__c, _M_wmask[__bitcur], _M_c_locale_ctype))
++ {
++ __ret = true;
++ break;
++ }
++ else if (__m == _M_bit[__bitcur])
++ break;
++ }
++ }
++
+ return __ret;
+ }
+
+@@ -290,4 +312,5 @@
+ #endif
+ }
+ #endif // _GLIBCXX_USE_WCHAR_T
+-}
++
++_GLIBCXX_END_NAMESPACE
+Index: gcc-4.3.2/libstdc++-v3/config/locale/uclibc/messages_members.h
+===================================================================
+--- gcc-4.3.2.orig/libstdc++-v3/config/locale/uclibc/messages_members.h 2008-09-17 22:35:28.000000000 -0700
++++ gcc-4.3.2/libstdc++-v3/config/locale/uclibc/messages_members.h 2008-09-17 23:13:34.000000000 -0700
+@@ -53,12 +53,16 @@
+ template<typename _CharT>
+ messages<_CharT>::messages(__c_locale __cloc, const char* __s,
+ size_t __refs)
+- : facet(__refs), _M_c_locale_messages(_S_clone_c_locale(__cloc)),
+- _M_name_messages(__s)
++ : facet(__refs), _M_c_locale_messages(NULL),
++ _M_name_messages(NULL)
+ {
+- char* __tmp = new char[std::strlen(__s) + 1];
+- std::strcpy(__tmp, __s);
++ const size_t __len = std::strlen(__s) + 1;
++ char* __tmp = new char[__len];
++ std::memcpy(__tmp, __s, __len);
+ _M_name_messages = __tmp;
++
++ // Last to avoid leaking memory if new throws.
++ _M_c_locale_messages = _S_clone_c_locale(__cloc);
+ }
+
+ template<typename _CharT>
+Index: gcc-4.3.2/libstdc++-v3/config/locale/uclibc/monetary_members.cc
+===================================================================
+--- gcc-4.3.2.orig/libstdc++-v3/config/locale/uclibc/monetary_members.cc 2008-09-17 22:35:28.000000000 -0700
++++ gcc-4.3.2/libstdc++-v3/config/locale/uclibc/monetary_members.cc 2008-09-17 22:35:29.000000000 -0700
+@@ -33,9 +33,14 @@
+
+ // Written by Benjamin Kosnik <bkoz@redhat.com>
+
++#include <features.h>
++#ifdef __UCLIBC_HAS_LOCALE__
+ #define _LIBC
+ #include <locale>
+ #undef _LIBC
++#else
++#include <locale>
++#endif
+ #include <bits/c++locale_internal.h>
+
+ #ifdef __UCLIBC_MJN3_ONLY__
+@@ -206,7 +211,7 @@
+ }
+ break;
+ default:
+- ;
++ __ret = pattern();
+ }
+ return __ret;
+ }
+@@ -390,7 +395,9 @@
+ __c_locale __old = __uselocale(__cloc);
+ #else
+ // Switch to named locale so that mbsrtowcs will work.
+- char* __old = strdup(setlocale(LC_ALL, NULL));
++ char* __old = setlocale(LC_ALL, NULL);
++ const size_t __llen = strlen(__old) + 1;
++ char* __sav = new char[__llen];
+ setlocale(LC_ALL, __name);
+ #endif
+
+@@ -477,8 +484,8 @@
+ #ifdef __UCLIBC_HAS_XLOCALE__
+ __uselocale(__old);
+ #else
+- setlocale(LC_ALL, __old);
+- free(__old);
++ setlocale(LC_ALL, __sav);
++ delete [] __sav;
+ #endif
+ __throw_exception_again;
+ }
+@@ -498,8 +505,8 @@
+ #ifdef __UCLIBC_HAS_XLOCALE__
+ __uselocale(__old);
+ #else
+- setlocale(LC_ALL, __old);
+- free(__old);
++ setlocale(LC_ALL, __sav);
++ delete [] __sav;
+ #endif
+ }
+ }
+@@ -545,8 +552,11 @@
+ __c_locale __old = __uselocale(__cloc);
+ #else
+ // Switch to named locale so that mbsrtowcs will work.
+- char* __old = strdup(setlocale(LC_ALL, NULL));
+- setlocale(LC_ALL, __name);
++ char* __old = setlocale(LC_ALL, NULL);
++ const size_t __llen = strlen(__old) + 1;
++ char* __sav = new char[__llen];
++ memcpy(__sav, __old, __llen);
++ setlocale(LC_ALL, __name);
+ #endif
+
+ #ifdef __UCLIBC_MJN3_ONLY__
+@@ -633,8 +643,8 @@
+ #ifdef __UCLIBC_HAS_XLOCALE__
+ __uselocale(__old);
+ #else
+- setlocale(LC_ALL, __old);
+- free(__old);
++ setlocale(LC_ALL, __sav);
++ delete [] __sav;
+ #endif
+ __throw_exception_again;
+ }
+@@ -653,8 +663,8 @@
+ #ifdef __UCLIBC_HAS_XLOCALE__
+ __uselocale(__old);
+ #else
+- setlocale(LC_ALL, __old);
+- free(__old);
++ setlocale(LC_ALL, __sav);
++ delete [] __sav;
+ #endif
+ }
+ }
+Index: gcc-4.3.2/libstdc++-v3/config/locale/uclibc/numeric_members.cc
+===================================================================
+--- gcc-4.3.2.orig/libstdc++-v3/config/locale/uclibc/numeric_members.cc 2008-09-17 22:35:28.000000000 -0700
++++ gcc-4.3.2/libstdc++-v3/config/locale/uclibc/numeric_members.cc 2008-09-17 22:35:29.000000000 -0700
+@@ -33,9 +33,14 @@
+
+ // Written by Benjamin Kosnik <bkoz@redhat.com>
+
++#include <features.h>
++#ifdef __UCLIBC_HAS_LOCALE__
+ #define _LIBC
+ #include <locale>
+ #undef _LIBC
++#else
++#include <locale>
++#endif
+ #include <bits/c++locale_internal.h>
+
+ #ifdef __UCLIBC_MJN3_ONLY__
+Index: gcc-4.3.2/libstdc++-v3/config/locale/uclibc/time_members.h
+===================================================================
+--- gcc-4.3.2.orig/libstdc++-v3/config/locale/uclibc/time_members.h 2008-09-17 22:35:27.000000000 -0700
++++ gcc-4.3.2/libstdc++-v3/config/locale/uclibc/time_members.h 2008-09-17 23:13:34.000000000 -0700
+@@ -50,12 +50,21 @@
+ __timepunct<_CharT>::__timepunct(__c_locale __cloc, const char* __s,
+ size_t __refs)
+ : facet(__refs), _M_data(NULL), _M_c_locale_timepunct(NULL),
+- _M_name_timepunct(__s)
++ _M_name_timepunct(NULL)
+ {
+- char* __tmp = new char[std::strlen(__s) + 1];
+- std::strcpy(__tmp, __s);
++ const size_t __len = std::strlen(__s) + 1;
++ char* __tmp = new char[__len];
++ std::memcpy(__tmp, __s, __len);
+ _M_name_timepunct = __tmp;
+- _M_initialize_timepunct(__cloc);
++
++ try
++ { _M_initialize_timepunct(__cloc); }
++ catch(...)
++ {
++ delete [] _M_name_timepunct;
++ __throw_exception_again;
++ }
++
+ }
+
+ template<typename _CharT>
+Index: gcc-4.3.2/libstdc++-v3/config/locale/uclibc/c_locale.h
+===================================================================
+--- gcc-4.3.2.orig/libstdc++-v3/config/locale/uclibc/c_locale.h 2008-09-17 22:35:28.000000000 -0700
++++ gcc-4.3.2/libstdc++-v3/config/locale/uclibc/c_locale.h 2008-09-17 22:35:29.000000000 -0700
+@@ -39,21 +39,23 @@
+ #pragma GCC system_header
+
+ #include <cstring> // get std::strlen
+-#include <cstdio> // get std::snprintf or std::sprintf
++#include <cstdio> // get std::vsnprintf or std::vsprintf
+ #include <clocale>
+ #include <langinfo.h> // For codecvt
+ #ifdef __UCLIBC_MJN3_ONLY__
+ #warning fix this
+ #endif
+-#ifdef __UCLIBC_HAS_LOCALE__
++#ifdef _GLIBCXX_USE_ICONV
+ #include <iconv.h> // For codecvt using iconv, iconv_t
+ #endif
+-#ifdef __UCLIBC_HAS_GETTEXT_AWARENESS__
+-#include <libintl.h> // For messages
++#ifdef HAVE_LIBINTL_H
++#include <libintl.h> // For messages
+ #endif
++#include <cstdarg>
+
+ #ifdef __UCLIBC_MJN3_ONLY__
+ #warning what is _GLIBCXX_C_LOCALE_GNU for
++// psm: used in os/gnu-linux/ctype_noninline.h
+ #endif
+ #define _GLIBCXX_C_LOCALE_GNU 1
+
+@@ -78,23 +80,25 @@
+ #else
+ typedef int* __c_locale;
+ #endif
+-
+- // Convert numeric value of type _Tv to string and return length of
+- // string. If snprintf is available use it, otherwise fall back to
+- // the unsafe sprintf which, in general, can be dangerous and should
++ // Convert numeric value of type double to string and return length of
++ // string. If vsnprintf is available use it, otherwise fall back to
++ // the unsafe vsprintf which, in general, can be dangerous and should
+ // be avoided.
+- template<typename _Tv>
+- int
+- __convert_from_v(char* __out,
+- const int __size __attribute__ ((__unused__)),
+- const char* __fmt,
+-#ifdef __UCLIBC_HAS_XCLOCALE__
+- _Tv __v, const __c_locale& __cloc, int __prec)
++ inline int
++ __convert_from_v(const __c_locale&
++#ifndef __UCLIBC_HAS_XCLOCALE__
++ __cloc __attribute__ ((__unused__))
++#endif
++ ,
++ char* __out,
++ const int __size,
++ const char* __fmt, ...)
+ {
++ va_list __args;
++#ifdef __UCLIBC_HAS_XCLOCALE__
++
+ __c_locale __old = __gnu_cxx::__uselocale(__cloc);
+ #else
+- _Tv __v, const __c_locale&, int __prec)
+- {
+ # ifdef __UCLIBC_HAS_LOCALE__
+ char* __old = std::setlocale(LC_ALL, NULL);
+ char* __sav = new char[std::strlen(__old) + 1];
+@@ -103,7 +107,9 @@
+ # endif
+ #endif
+
+- const int __ret = std::snprintf(__out, __size, __fmt, __prec, __v);
++ va_start(__args, __fmt);
++ const int __ret = std::vsnprintf(__out, __size, __fmt, __args);
++ va_end(__args);
+
+ #ifdef __UCLIBC_HAS_XCLOCALE__
+ __gnu_cxx::__uselocale(__old);
+Index: gcc-4.3.2/libstdc++-v3/config/locale/uclibc/time_members.cc
+===================================================================
+--- gcc-4.3.2.orig/libstdc++-v3/config/locale/uclibc/time_members.cc 2008-09-17 22:35:28.000000000 -0700
++++ gcc-4.3.2/libstdc++-v3/config/locale/uclibc/time_members.cc 2008-09-17 22:35:29.000000000 -0700
+@@ -53,11 +53,14 @@
+ const size_t __len = __strftime_l(__s, __maxlen, __format, __tm,
+ _M_c_locale_timepunct);
+ #else
+- char* __old = strdup(setlocale(LC_ALL, NULL));
++ char* __old = setlocale(LC_ALL, NULL);
++ const size_t __llen = strlen(__old) + 1;
++ char* __sav = new char[__llen];
++ memcpy(__sav, __old, __llen);
+ setlocale(LC_ALL, _M_name_timepunct);
+ const size_t __len = strftime(__s, __maxlen, __format, __tm);
+- setlocale(LC_ALL, __old);
+- free(__old);
++ setlocale(LC_ALL, __sav);
++ delete [] __sav;
+ #endif
+ // Make sure __s is null terminated.
+ if (__len == 0)
+@@ -207,11 +210,14 @@
+ const size_t __len = __wcsftime_l(__s, __maxlen, __format, __tm,
+ _M_c_locale_timepunct);
+ #else
+- char* __old = strdup(setlocale(LC_ALL, NULL));
++ char* __old = setlocale(LC_ALL, NULL);
++ const size_t __llen = strlen(__old) + 1;
++ char* __sav = new char[__llen];
++ memcpy(__sav, __old, __llen);
+ setlocale(LC_ALL, _M_name_timepunct);
+ const size_t __len = wcsftime(__s, __maxlen, __format, __tm);
+- setlocale(LC_ALL, __old);
+- free(__old);
++ setlocale(LC_ALL, __sav);
++ delete [] __sav;
+ #endif
+ // Make sure __s is null terminated.
+ if (__len == 0)
+Index: gcc-4.3.2/libstdc++-v3/config/locale/uclibc/c++locale_internal.h
+===================================================================
+--- gcc-4.3.2.orig/libstdc++-v3/config/locale/uclibc/c++locale_internal.h 2008-09-17 22:35:28.000000000 -0700
++++ gcc-4.3.2/libstdc++-v3/config/locale/uclibc/c++locale_internal.h 2008-09-17 22:35:29.000000000 -0700
+@@ -31,6 +31,9 @@
+
+ #include <bits/c++config.h>
+ #include <clocale>
++#include <cstdlib>
++#include <cstring>
++#include <cstddef>
+
+ #ifdef __UCLIBC_MJN3_ONLY__
+ #warning clean this up
diff --git a/recipes/gcc/gcc-4.4.0/300-libstdc++-pic.patch b/recipes/gcc/gcc-4.4.0/300-libstdc++-pic.patch
new file mode 100644
index 0000000000..89d03a85e5
--- /dev/null
+++ b/recipes/gcc/gcc-4.4.0/300-libstdc++-pic.patch
@@ -0,0 +1,46 @@
+# DP: Build and install libstdc++_pic.a library.
+
+--- gcc-4.1.0/libstdc++-v3/src/Makefile.am 2004-11-15 17:33:05.000000000 -0600
++++ gcc-4.1.0-patched/libstdc++-v3/src/Makefile.am 2005-04-25 20:05:59.186930896 -0500
+@@ -214,6 +214,10 @@
+ $(OPT_LDFLAGS) $(SECTION_LDFLAGS) $(AM_CXXFLAGS) $(LDFLAGS) -o $@
+
+
++install-exec-local:
++ $(AR) cru libstdc++_pic.a .libs/*.o $(top_builddir)/libsupc++/*.o
++ $(INSTALL_DATA) libstdc++_pic.a $(DESTDIR)$(toolexeclibdir)
++
+ # Added bits to build debug library.
+ if GLIBCXX_BUILD_DEBUG
+ all-local: build_debug
+--- gcc-4.1.0/libstdc++-v3/src/Makefile.in 2005-04-11 19:13:08.000000000 -0500
++++ gcc-4.1.0-patched/libstdc++-v3/src/Makefile.in 2005-04-25 20:12:33.284316275 -0500
+@@ -627,7 +627,7 @@
+
+ install-data-am: install-data-local
+
+-install-exec-am: install-toolexeclibLTLIBRARIES
++install-exec-am: install-toolexeclibLTLIBRARIES install-exec-local
+
+ install-info: install-info-am
+
+@@ -660,6 +660,7 @@
+ distclean-libtool distclean-tags distdir dvi dvi-am html \
+ html-am info info-am install install-am install-data \
+ install-data-am install-data-local install-exec \
++ install-exec-local \
+ install-exec-am install-info install-info-am install-man \
+ install-strip install-toolexeclibLTLIBRARIES installcheck \
+ installcheck-am installdirs maintainer-clean \
+@@ -745,6 +746,11 @@
+ install_debug:
+ (cd ${debugdir} && $(MAKE) \
+ toolexeclibdir=$(glibcxx_toolexeclibdir)/debug install)
++
++install-exec-local:
++ $(AR) cru libstdc++_pic.a .libs/*.o $(top_builddir)/libsupc++/*.o
++ $(INSTALL_DATA) libstdc++_pic.a $(DESTDIR)$(toolexeclibdir)
++
+ # Tell versions [3.59,3.63) of GNU make to not export all variables.
+ # Otherwise a system limit (for SysV at least) may be exceeded.
+ .NOEXPORT:
diff --git a/recipes/gcc/gcc-4.4.0/301-missing-execinfo_h.patch b/recipes/gcc/gcc-4.4.0/301-missing-execinfo_h.patch
new file mode 100644
index 0000000000..0e2092f3fb
--- /dev/null
+++ b/recipes/gcc/gcc-4.4.0/301-missing-execinfo_h.patch
@@ -0,0 +1,11 @@
+--- gcc-4.0.0/boehm-gc/include/gc.h-orig 2005-04-28 22:28:57.000000000 -0500
++++ gcc-4.0.0/boehm-gc/include/gc.h 2005-04-28 22:30:38.000000000 -0500
+@@ -500,7 +500,7 @@
+ #ifdef __linux__
+ # include <features.h>
+ # if (__GLIBC__ == 2 && __GLIBC_MINOR__ >= 1 || __GLIBC__ > 2) \
+- && !defined(__ia64__)
++ && !defined(__ia64__) && !defined(__UCLIBC__)
+ # ifndef GC_HAVE_BUILTIN_BACKTRACE
+ # define GC_HAVE_BUILTIN_BACKTRACE
+ # endif
diff --git a/recipes/gcc/gcc-4.4.0/302-c99-snprintf.patch b/recipes/gcc/gcc-4.4.0/302-c99-snprintf.patch
new file mode 100644
index 0000000000..02865865e5
--- /dev/null
+++ b/recipes/gcc/gcc-4.4.0/302-c99-snprintf.patch
@@ -0,0 +1,13 @@
+Index: gcc-4.3.1/libstdc++-v3/include/c_std/cstdio
+===================================================================
+--- gcc-4.3.1.orig/libstdc++-v3/include/c_std/cstdio 2006-12-07 01:35:57.000000000 -0800
++++ gcc-4.3.1/libstdc++-v3/include/c_std/cstdio 2008-08-16 02:11:37.000000000 -0700
+@@ -144,7 +144,7 @@
+
+ _GLIBCXX_END_NAMESPACE
+
+-#if _GLIBCXX_USE_C99
++#if _GLIBCXX_USE_C99 || defined(__UCLIBC__)
+
+ #undef snprintf
+ #undef vfscanf
diff --git a/recipes/gcc/gcc-4.4.0/303-c99-complex-ugly-hack.patch b/recipes/gcc/gcc-4.4.0/303-c99-complex-ugly-hack.patch
new file mode 100644
index 0000000000..2ccc80d9bb
--- /dev/null
+++ b/recipes/gcc/gcc-4.4.0/303-c99-complex-ugly-hack.patch
@@ -0,0 +1,12 @@
+--- gcc-4.0.0/libstdc++-v3/configure-old 2005-04-30 22:04:48.061603912 -0500
++++ gcc-4.0.0/libstdc++-v3/configure 2005-04-30 22:06:13.678588152 -0500
+@@ -7194,6 +7194,9 @@
+ cat >>conftest.$ac_ext <<_ACEOF
+ /* end confdefs.h. */
+ #include <complex.h>
++#ifdef __UCLIBC__
++#error ugly hack to make sure configure test fails here for cross until uClibc supports the complex funcs
++#endif
+ int
+ main ()
+ {
diff --git a/recipes/gcc/gcc-4.4.0/304-index_macro.patch b/recipes/gcc/gcc-4.4.0/304-index_macro.patch
new file mode 100644
index 0000000000..d8e476555d
--- /dev/null
+++ b/recipes/gcc/gcc-4.4.0/304-index_macro.patch
@@ -0,0 +1,24 @@
+--- gcc-4.1.0/libstdc++-v3/include/ext/rope.mps 2006-03-24 01:49:51 +0100
++++ gcc-4.1.0/libstdc++-v3/include/ext/rope 2006-03-24 01:49:37 +0100
+@@ -59,6 +59,9 @@
+ #include <bits/allocator.h>
+ #include <ext/hash_fun.h>
+
++/* cope w/ index defined as macro, SuSv3 proposal */
++#undef index
++
+ # ifdef __GC
+ # define __GC_CONST const
+ # else
+--- gcc-4.1.0/libstdc++-v3/include/ext/ropeimpl.h.mps 2006-03-24 01:50:04 +0100
++++ gcc-4.1.0/libstdc++-v3/include/ext/ropeimpl.h 2006-03-24 01:50:28 +0100
+@@ -53,6 +53,9 @@
+ #include <ext/memory> // For uninitialized_copy_n
+ #include <ext/numeric> // For power
+
++/* cope w/ index defined as macro, SuSv3 proposal */
++#undef index
++
+ _GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx)
+
+ using std::size_t;
diff --git a/recipes/gcc/gcc-4.4.0/305-libmudflap-susv3-legacy.patch b/recipes/gcc/gcc-4.4.0/305-libmudflap-susv3-legacy.patch
new file mode 100644
index 0000000000..374b1f8659
--- /dev/null
+++ b/recipes/gcc/gcc-4.4.0/305-libmudflap-susv3-legacy.patch
@@ -0,0 +1,49 @@
+Index: gcc-4.2/libmudflap/mf-hooks2.c
+===================================================================
+--- gcc-4.2/libmudflap/mf-hooks2.c (revision 119834)
++++ gcc-4.2/libmudflap/mf-hooks2.c (working copy)
+@@ -427,7 +427,7 @@
+ {
+ TRACE ("%s\n", __PRETTY_FUNCTION__);
+ MF_VALIDATE_EXTENT(s, n, __MF_CHECK_WRITE, "bzero region");
+- bzero (s, n);
++ memset (s, 0, n);
+ }
+
+
+@@ -437,7 +437,7 @@
+ TRACE ("%s\n", __PRETTY_FUNCTION__);
+ MF_VALIDATE_EXTENT(src, n, __MF_CHECK_READ, "bcopy src");
+ MF_VALIDATE_EXTENT(dest, n, __MF_CHECK_WRITE, "bcopy dest");
+- bcopy (src, dest, n);
++ memmove (dest, src, n);
+ }
+
+
+@@ -447,7 +447,7 @@
+ TRACE ("%s\n", __PRETTY_FUNCTION__);
+ MF_VALIDATE_EXTENT(s1, n, __MF_CHECK_READ, "bcmp 1st arg");
+ MF_VALIDATE_EXTENT(s2, n, __MF_CHECK_READ, "bcmp 2nd arg");
+- return bcmp (s1, s2, n);
++ return n == 0 ? 0 : memcmp (s1, s2, n);
+ }
+
+
+@@ -456,7 +456,7 @@
+ size_t n = strlen (s);
+ TRACE ("%s\n", __PRETTY_FUNCTION__);
+ MF_VALIDATE_EXTENT(s, CLAMPADD(n, 1), __MF_CHECK_READ, "index region");
+- return index (s, c);
++ return strchr (s, c);
+ }
+
+
+@@ -465,7 +465,7 @@
+ size_t n = strlen (s);
+ TRACE ("%s\n", __PRETTY_FUNCTION__);
+ MF_VALIDATE_EXTENT(s, CLAMPADD(n, 1), __MF_CHECK_READ, "rindex region");
+- return rindex (s, c);
++ return strrchr (s, c);
+ }
+
+ /* XXX: stpcpy, memccpy */
diff --git a/recipes/gcc/gcc-4.4.0/306-libstdc++-namespace.patch b/recipes/gcc/gcc-4.4.0/306-libstdc++-namespace.patch
new file mode 100644
index 0000000000..69587ca63a
--- /dev/null
+++ b/recipes/gcc/gcc-4.4.0/306-libstdc++-namespace.patch
@@ -0,0 +1,36 @@
+diff -rup gcc-4.2.orig/libstdc++-v3/config/locale/uclibc/messages_members.h gcc-4.2/libstdc++-v3/config/locale/uclibc/messages_members.h
+--- gcc-4.2.orig/libstdc++-v3/config/locale/uclibc/messages_members.h 2006-12-22 13:06:56.000000000 +0100
++++ gcc-4.2/libstdc++-v3/config/locale/uclibc/messages_members.h 2006-12-22 15:23:41.000000000 +0100
+@@ -32,7 +32,8 @@
+ //
+
+ // Written by Benjamin Kosnik <bkoz@redhat.com>
+-
++namespace std
++{
+ #ifdef __UCLIBC_MJN3_ONLY__
+ #warning fix prototypes for *textdomain funcs
+ #endif
+@@ -115,3 +116,4 @@
+ this->_S_create_c_locale(this->_M_c_locale_messages, __s);
+ }
+ }
++}
+diff -rup gcc-4.2.orig/libstdc++-v3/config/locale/uclibc/time_members.h gcc-4.2/libstdc++-v3/config/locale/uclibc/time_members.h
+--- gcc-4.2.orig/libstdc++-v3/config/locale/uclibc/time_members.h 2006-12-22 13:06:56.000000000 +0100
++++ gcc-4.2/libstdc++-v3/config/locale/uclibc/time_members.h 2006-12-22 15:20:31.000000000 +0100
+@@ -33,7 +33,8 @@
+ //
+
+ // Written by Benjamin Kosnik <bkoz@redhat.com>
+-
++namespace std
++{
+ template<typename _CharT>
+ __timepunct<_CharT>::__timepunct(size_t __refs)
+ : facet(__refs), _M_data(NULL), _M_c_locale_timepunct(NULL),
+@@ -74,3 +75,4 @@
+ delete _M_data;
+ _S_destroy_c_locale(_M_c_locale_timepunct);
+ }
++}
diff --git a/recipes/gcc/gcc-4.4.0/307-locale_facets.patch b/recipes/gcc/gcc-4.4.0/307-locale_facets.patch
new file mode 100644
index 0000000000..774fcfa2ca
--- /dev/null
+++ b/recipes/gcc/gcc-4.4.0/307-locale_facets.patch
@@ -0,0 +1,19 @@
+This patch fixes a bug into ostream::operator<<(double) due to the wrong size
+passed into the __convert_from_v method. The wrong size is then passed to
+std::snprintf function, that, on uClibc, doens't handle sized 0 buffer.
+
+Signed-off-by: Carmelo Amoroso <carmelo.amoroso@st.com>
+
+Index: gcc-4.3.1/libstdc++-v3/include/bits/locale_facets.tcc
+===================================================================
+--- gcc-4.3.1.orig/libstdc++-v3/include/bits/locale_facets.tcc 2007-11-26 17:59:41.000000000 -0800
++++ gcc-4.3.1/libstdc++-v3/include/bits/locale_facets.tcc 2008-08-16 02:14:48.000000000 -0700
+@@ -1004,7 +1004,7 @@
+ const int __cs_size = __fixed ? __max_exp + __prec + 4
+ : __max_digits * 2 + __prec;
+ char* __cs = static_cast<char*>(__builtin_alloca(__cs_size));
+- __len = std::__convert_from_v(_S_get_c_locale(), __cs, 0, __fbuf,
++ __len = std::__convert_from_v(_S_get_c_locale(), __cs, __cs_size, __fbuf,
+ __prec, __v);
+ #endif
+
diff --git a/recipes/gcc/gcc-4.4.0/402-libbackend_dep_gcov-iov.h.patch b/recipes/gcc/gcc-4.4.0/402-libbackend_dep_gcov-iov.h.patch
new file mode 100644
index 0000000000..0bf115c45d
--- /dev/null
+++ b/recipes/gcc/gcc-4.4.0/402-libbackend_dep_gcov-iov.h.patch
@@ -0,0 +1,13 @@
+Index: gcc-4.2/gcc/Makefile.in
+===================================================================
+--- gcc-4.2/gcc/Makefile.in (revision 121758)
++++ gcc-4.2/gcc/Makefile.in (working copy)
+@@ -2658,7 +2658,7 @@ mips-tdump.o : mips-tdump.c $(CONFIG_H)
+ # FIXME: writing proper dependencies for this is a *LOT* of work.
+ libbackend.o : $(OBJS-common:.o=.c) $(out_file) \
+ insn-config.h insn-flags.h insn-codes.h insn-constants.h \
+- insn-attr.h $(DATESTAMP) $(BASEVER) $(DEVPHASE)
++ insn-attr.h $(DATESTAMP) $(BASEVER) $(DEVPHASE) gcov-iov.h
+ $(CC) $(ALL_CFLAGS) $(ALL_CPPFLAGS) \
+ -DTARGET_NAME=\"$(target_noncanonical)\" \
+ -DLOCALEDIR=\"$(localedir)\" \
diff --git a/recipes/gcc/gcc-4.4.0/602-sdk-libstdc++-includes.patch b/recipes/gcc/gcc-4.4.0/602-sdk-libstdc++-includes.patch
new file mode 100644
index 0000000000..23fce7544d
--- /dev/null
+++ b/recipes/gcc/gcc-4.4.0/602-sdk-libstdc++-includes.patch
@@ -0,0 +1,20 @@
+--- gcc-4.1.0/libstdc++-v3/fragment.am 2005-03-21 11:40:14.000000000 -0600
++++ gcc-4.1.0-patched/libstdc++-v3/fragment.am 2005-04-25 20:14:39.856251785 -0500
+@@ -21,5 +21,5 @@
+ $(WARN_FLAGS) $(WERROR) -fdiagnostics-show-location=once
+
+ # -I/-D flags to pass when compiling.
+-AM_CPPFLAGS = $(GLIBCXX_INCLUDES)
++AM_CPPFLAGS = $(GLIBCXX_INCLUDES) -I$(toplevel_srcdir)/include
+
+--- gcc-4.1.0/libstdc++-v3/libmath/Makefile.am 2005-03-21 11:40:18.000000000 -0600
++++ gcc-4.1.0-patched/libstdc++-v3/libmath/Makefile.am 2005-04-25 20:14:39.682280735 -0500
+@@ -35,7 +35,7 @@
+
+ libmath_la_SOURCES = stubs.c
+
+-AM_CPPFLAGS = $(CANADIAN_INCLUDES)
++AM_CPPFLAGS = $(CANADIAN_INCLUDES) -I$(toplevel_srcdir)/include
+
+ # Only compiling "C" sources in this directory.
+ LIBTOOL = @LIBTOOL@ --tag CC
diff --git a/recipes/gcc/gcc-4.4.0/740-sh-pr24836.patch b/recipes/gcc/gcc-4.4.0/740-sh-pr24836.patch
new file mode 100644
index 0000000000..7992282cff
--- /dev/null
+++ b/recipes/gcc/gcc-4.4.0/740-sh-pr24836.patch
@@ -0,0 +1,25 @@
+http://sourceforge.net/mailarchive/forum.php?thread_id=8959304&forum_id=5348
+http://gcc.gnu.org/bugzilla/show_bug.cgi?id=24836
+
+--- gcc/gcc/configure.ac (revision 106699)
++++ gcc/gcc/configure.ac (working copy)
+@@ -2446,7 +2446,7 @@
+ tls_first_minor=14
+ tls_as_opt="-m64 -Aesame --fatal-warnings"
+ ;;
+- sh-*-* | sh[34]-*-*)
++ sh-*-* | sh[34]*-*-*)
+ conftest_s='
+ .section ".tdata","awT",@progbits
+ foo: .long 25
+--- gcc/gcc/configure
++++ gcc/gcc/configure
+@@ -14846,7 +14846,7 @@
+ tls_first_minor=14
+ tls_as_opt="-m64 -Aesame --fatal-warnings"
+ ;;
+- sh-*-* | sh[34]-*-*)
++ sh-*-* | sh[34]*-*-*)
+ conftest_s='
+ .section ".tdata","awT",@progbits
+ foo: .long 25
diff --git a/recipes/gcc/gcc-4.4.0/800-arm-bigendian.patch b/recipes/gcc/gcc-4.4.0/800-arm-bigendian.patch
new file mode 100644
index 0000000000..f433942783
--- /dev/null
+++ b/recipes/gcc/gcc-4.4.0/800-arm-bigendian.patch
@@ -0,0 +1,34 @@
+By Lennert Buytenhek <buytenh@wantstofly.org>
+Adds support for arm*b-linux* big-endian ARM targets
+
+See http://gcc.gnu.org/PR16350
+
+Index: gcc-4.3.2/gcc/config/arm/linux-elf.h
+===================================================================
+--- gcc-4.3.2.orig/gcc/config/arm/linux-elf.h 2007-11-08 05:44:09.000000000 -0800
++++ gcc-4.3.2/gcc/config/arm/linux-elf.h 2008-08-28 21:08:30.000000000 -0700
+@@ -51,7 +51,7 @@
+
+ #undef MULTILIB_DEFAULTS
+ #define MULTILIB_DEFAULTS \
+- { "marm", "mlittle-endian", "mhard-float", "mno-thumb-interwork" }
++ { "marm", TARGET_ENDIAN_OPTION, "mhard-float", "mno-thumb-interwork" }
+
+ /* Now we define the strings used to build the spec file. */
+ #undef LIB_SPEC
+Index: gcc-4.3.2/gcc/config.gcc
+===================================================================
+--- gcc-4.3.2.orig/gcc/config.gcc 2008-08-28 20:57:39.000000000 -0700
++++ gcc-4.3.2/gcc/config.gcc 2008-08-28 21:00:11.000000000 -0700
+@@ -742,6 +742,11 @@
+ esac
+ tmake_file="${tmake_file} t-linux arm/t-arm"
+ case ${target} in
++ arm*b-*)
++ tm_defines="${tm_defines} TARGET_BIG_ENDIAN_DEFAULT=1"
++ ;;
++ esac
++ case ${target} in
+ arm*-*-linux-*eabi)
+ tm_file="$tm_file arm/bpabi.h arm/linux-eabi.h"
+ tmake_file="$tmake_file arm/t-arm-elf arm/t-bpabi arm/t-linux-eabi"
diff --git a/recipes/gcc/gcc-4.4.0/904-flatten-switch-stmt-00.patch b/recipes/gcc/gcc-4.4.0/904-flatten-switch-stmt-00.patch
new file mode 100644
index 0000000000..8fac37c4df
--- /dev/null
+++ b/recipes/gcc/gcc-4.4.0/904-flatten-switch-stmt-00.patch
@@ -0,0 +1,153 @@
+Hi,
+
+The attached patch makes sure that we create smaller object code for
+simple switch statements. We just make sure to flatten the switch
+statement into an if-else chain, basically.
+
+This fixes a size-regression as compared to gcc-3.4, as can be seen
+below.
+
+2007-04-15 Bernhard Fischer <..>
+
+ * stmt.c (expand_case): Do not create a complex binary tree when
+ optimizing for size but rather use the simple ordered list.
+ (emit_case_nodes): do not emit jumps to the default_label when
+ optimizing for size.
+
+Not regtested so far.
+Comments?
+
+Attached is the test switch.c mentioned below.
+
+$ for i in 2.95 3.3 3.4 4.0 4.1 4.2.orig-HEAD 4.3.orig-HEAD 4.3-HEAD;do
+gcc-$i -DCHAIN -Os -o switch-CHAIN-$i.o -c switch.c ;done
+$ for i in 2.95 3.3 3.4 4.0 4.1 4.2.orig-HEAD 4.3.orig-HEAD 4.3-HEAD;do
+gcc-$i -UCHAIN -Os -o switch-$i.o -c switch.c ;done
+
+$ size switch-*.o
+ text data bss dec hex filename
+ 169 0 0 169 a9 switch-2.95.o
+ 115 0 0 115 73 switch-3.3.o
+ 103 0 0 103 67 switch-3.4.o
+ 124 0 0 124 7c switch-4.0.o
+ 124 0 0 124 7c switch-4.1.o
+ 124 0 0 124 7c switch-4.2.orig-HEAD.o
+ 95 0 0 95 5f switch-4.3-HEAD.o
+ 124 0 0 124 7c switch-4.3.orig-HEAD.o
+ 166 0 0 166 a6 switch-CHAIN-2.95.o
+ 111 0 0 111 6f switch-CHAIN-3.3.o
+ 95 0 0 95 5f switch-CHAIN-3.4.o
+ 95 0 0 95 5f switch-CHAIN-4.0.o
+ 95 0 0 95 5f switch-CHAIN-4.1.o
+ 95 0 0 95 5f switch-CHAIN-4.2.orig-HEAD.o
+ 95 0 0 95 5f switch-CHAIN-4.3-HEAD.o
+ 95 0 0 95 5f switch-CHAIN-4.3.orig-HEAD.o
+
+
+Content-Type: text/x-diff; charset=us-ascii
+Content-Disposition: attachment; filename="gcc-4.3.gcc-flatten-switch-stmt.00.diff"
+
+Index: gcc-4.2.0/gcc/stmt.c
+===================================================================
+--- gcc-4.2.0.orig/gcc/stmt.c (revision 123843)
++++ gcc-4.2.0/gcc/stmt.c (working copy)
+@@ -2517,7 +2517,11 @@ expand_case (tree exp)
+ use_cost_table
+ = (TREE_CODE (orig_type) != ENUMERAL_TYPE
+ && estimate_case_costs (case_list));
+- balance_case_nodes (&case_list, NULL);
++ /* When optimizing for size, we want a straight list to avoid
++ jumps as much as possible. This basically creates an if-else
++ chain. */
++ if (!optimize_size)
++ balance_case_nodes (&case_list, NULL);
+ emit_case_nodes (index, case_list, default_label, index_type);
+ emit_jump (default_label);
+ }
+@@ -3075,6 +3079,7 @@ emit_case_nodes (rtx index, case_node_pt
+ {
+ if (!node_has_low_bound (node, index_type))
+ {
++ if (!optimize_size) /* don't jl to the .default_label. */
+ emit_cmp_and_jump_insns (index,
+ convert_modes
+ (mode, imode,
+
+
+Content-Type: text/x-csrc; charset=us-ascii
+Content-Disposition: attachment; filename="switch.c"
+
+int
+commutative_tree_code (int code)
+{
+#define CASE(val, ret) case val:/* __asm__("# val="#val ",ret="#ret);*/ return ret;
+#ifndef CHAIN
+ switch (code)
+ {
+# if 1
+ CASE(1,3)
+ CASE(3,2)
+ CASE(5,8)
+ CASE(7,1)
+ CASE(33,4)
+ CASE(44,9)
+ CASE(55,10)
+ CASE(66,-1)
+ CASE(77,99)
+ CASE(666,0)
+# else
+ case 1:
+ return 3;
+ case 3:
+ return 2;
+ case 5:
+ return 8;
+ case 7:
+ return 1;
+ case 33:
+ return 4;
+ case 44:
+ return 9;
+ case 55:
+ return 10;
+ case 66:
+ return -1;
+ case 77:
+ return 99;
+ case 666:
+ return 0;
+# endif
+ default:
+ break;
+ }
+ return 4711;
+
+#else
+ if (code == 1)
+ return 3;
+ else if (code == 3)
+ return 2;
+ else if (code == 5)
+ return 8;
+ else if (code == 7)
+ return 1;
+ else if (code == 33)
+ return 4;
+ else if (code == 44)
+ return 9;
+ else if (code == 55)
+ return 10;
+ else if (code == 66)
+ return -1;
+ else if (code == 77)
+ return 99;
+ else if (code == 666)
+ return 0;
+ else
+ return 4711;
+#endif
+}
+
+
+--AhhlLboLdkugWU4S--
+
diff --git a/recipes/gcc/gcc-4.4.0/arm-nolibfloat.patch b/recipes/gcc/gcc-4.4.0/arm-nolibfloat.patch
new file mode 100644
index 0000000000..c4897c0330
--- /dev/null
+++ b/recipes/gcc/gcc-4.4.0/arm-nolibfloat.patch
@@ -0,0 +1,24 @@
+# Dimitry Andric <dimitry@andric.com>, 2004-05-01
+#
+# * Removed the extra -lfloat option from LIBGCC_SPEC, since it isn't needed
+# anymore. (The required functions are now in libgcc.)
+#
+# Fixes errors like
+# arm-softfloat-linux-gnu/3.4.0/../../../../arm-softfloat-linux-gnu/bin/ld: cannot find -lfloat
+# collect2: ld returned 1 exit status
+# make[2]: *** [arm-softfloat-linux-gnu/gcc-3.4.0-glibc-2.3.2/build-glibc/iconvdata/ISO8859-1.so] Error 1
+# when building glibc-2.3.3 with gcc-3.4.0 for arm-softfloat
+
+Index: gcc-4.0.2/gcc/config/arm/linux-elf.h
+===================================================================
+--- gcc-4.0.2.orig/gcc/config/arm/linux-elf.h 2005-03-04 16:14:01.000000000 +0000
++++ gcc-4.0.2/gcc/config/arm/linux-elf.h 2005-11-11 18:02:54.000000000 +0000
+@@ -56,7 +56,7 @@
+ %{shared:-lc} \
+ %{!shared:%{profile:-lc_p}%{!profile:-lc}}"
+
+-#define LIBGCC_SPEC "%{msoft-float:-lfloat} %{mfloat-abi=soft*:-lfloat} -lgcc"
++#define LIBGCC_SPEC "-lgcc"
+
+ /* Provide a STARTFILE_SPEC appropriate for GNU/Linux. Here we add
+ the GNU/Linux magical crtbegin.o file (see crtstuff.c) which
diff --git a/recipes/gcc/gcc-4.4.0/arm-softfloat.patch b/recipes/gcc/gcc-4.4.0/arm-softfloat.patch
new file mode 100644
index 0000000000..5e1edd9208
--- /dev/null
+++ b/recipes/gcc/gcc-4.4.0/arm-softfloat.patch
@@ -0,0 +1,16 @@
+Index: gcc-4.0.2/gcc/config/arm/t-linux
+===================================================================
+--- gcc-4.0.2.orig/gcc/config/arm/t-linux 2004-05-15 12:41:35.000000000 +0000
++++ gcc-4.0.2/gcc/config/arm/t-linux 2005-11-11 16:07:53.000000000 +0000
+@@ -4,7 +4,10 @@
+ LIBGCC2_DEBUG_CFLAGS = -g0
+
+ LIB1ASMSRC = arm/lib1funcs.asm
+-LIB1ASMFUNCS = _udivsi3 _divsi3 _umodsi3 _modsi3 _dvmd_lnx
++LIB1ASMFUNCS = _udivsi3 _divsi3 _umodsi3 _modsi3 _dvmd_lnx \
++ _negdf2 _addsubdf3 _muldivdf3 _cmpdf2 _unorddf2 _fixdfsi _fixunsdfsi \
++ _truncdfsf2 _negsf2 _addsubsf3 _muldivsf3 _cmpsf2 _unordsf2 \
++ _fixsfsi _fixunssfsi _floatdidf _floatdisf _floatundisf _floatundidf
+
+ # MULTILIB_OPTIONS = mhard-float/msoft-float
+ # MULTILIB_DIRNAMES = hard-float soft-float
diff --git a/recipes/gcc/gcc-4.4.0/arm-thumb-cache.patch b/recipes/gcc/gcc-4.4.0/arm-thumb-cache.patch
new file mode 100644
index 0000000000..fa63846c8c
--- /dev/null
+++ b/recipes/gcc/gcc-4.4.0/arm-thumb-cache.patch
@@ -0,0 +1,29 @@
+--- gcc-4.1.1/gcc/config/arm/linux-gas.h- 2005-06-25 03:22:41.000000000 +0200
++++ gcc-4.1.1/gcc/config/arm/linux-gas.h 2006-06-18 10:23:46.000000000 +0200
+@@ -44,6 +44,7 @@
+
+ /* Clear the instruction cache from `beg' to `end'. This makes an
+ inline system call to SYS_cacheflush. */
++#if !defined(__thumb__)
+ #define CLEAR_INSN_CACHE(BEG, END) \
+ { \
+ register unsigned long _beg __asm ("a1") = (unsigned long) (BEG); \
+@@ -53,3 +54,18 @@
+ : "=r" (_beg) \
+ : "0" (_beg), "r" (_end), "r" (_flg)); \
+ }
++#else
++#define CLEAR_INSN_CACHE(BEG, END) \
++{ \
++ register unsigned long _beg __asm ("a1") = (unsigned long) (BEG); \
++ register unsigned long _end __asm ("a2") = (unsigned long) (END); \
++ register unsigned long _flg __asm ("a3") = 0; \
++ register unsigned long _swi __asm ("a4") = 0xf0002; \
++ __asm __volatile ("push {r7}\n" \
++ " mov r7,a4\n" \
++ " swi 0 @ sys_cacheflush\n" \
++ " pop {r7}\n" \
++ : "=r" (_beg) \
++ : "0" (_beg), "r" (_end), "r" (_flg), "r" (_swi)); \
++}
++#endif
diff --git a/recipes/gcc/gcc-4.4.0/arm-thumb.patch b/recipes/gcc/gcc-4.4.0/arm-thumb.patch
new file mode 100644
index 0000000000..7b0b8b2ddc
--- /dev/null
+++ b/recipes/gcc/gcc-4.4.0/arm-thumb.patch
@@ -0,0 +1,43 @@
+
+#
+# Patch managed by http://www.holgerschurig.de/patcher.html
+#
+
+Index: gcc-4.3.1/gcc/config/arm/lib1funcs.asm
+===================================================================
+--- gcc-4.3.1.orig/gcc/config/arm/lib1funcs.asm 2007-05-30 12:04:09.000000000 -0700
++++ gcc-4.3.1/gcc/config/arm/lib1funcs.asm 2008-08-28 21:51:17.000000000 -0700
+@@ -1225,11 +1225,12 @@
+ code here switches to the correct mode before executing the function. */
+
+ .text
+- .align 0
++ .align 1
+ .force_thumb
+
+ .macro call_via register
+ THUMB_FUNC_START _call_via_\register
++ .hidden SYM (_call_via_\register)
+
+ bx \register
+ nop
+@@ -1330,6 +1331,7 @@
+ .code 16
+
+ THUMB_FUNC_START _interwork_call_via_\register
++ .hidden SYM (_interwork_call_via_\register)
+
+ bx pc
+ nop
+Index: gcc-4.3.1/gcc/config/arm/t-linux
+===================================================================
+--- gcc-4.3.1.orig/gcc/config/arm/t-linux 2008-08-28 21:25:24.000000000 -0700
++++ gcc-4.3.1/gcc/config/arm/t-linux 2008-08-28 21:51:17.000000000 -0700
+@@ -6,6 +6,7 @@
+ LIB1ASMFUNCS = _udivsi3 _divsi3 _umodsi3 _modsi3 _dvmd_lnx \
+ _negdf2 _addsubdf3 _muldivdf3 _cmpdf2 _unorddf2 _fixdfsi _fixunsdfsi \
+ _truncdfsf2 _negsf2 _addsubsf3 _muldivsf3 _cmpsf2 _unordsf2 \
++ _call_via_rX \
+ _fixsfsi _fixunssfsi _floatdidf _floatdisf _floatundisf _floatundidf
+
+ # MULTILIB_OPTIONS = mhard-float/msoft-float
diff --git a/recipes/gcc/gcc-4.4.0/cache-amnesia.patch b/recipes/gcc/gcc-4.4.0/cache-amnesia.patch
new file mode 100644
index 0000000000..fb4d1a26d8
--- /dev/null
+++ b/recipes/gcc/gcc-4.4.0/cache-amnesia.patch
@@ -0,0 +1,31 @@
+---
+ gcc/configure | 2 +-
+ gcc/configure.ac | 2 +-
+ 2 files changed, 2 insertions(+), 2 deletions(-)
+
+Index: gcc-4.3.1/gcc/configure
+===================================================================
+--- gcc-4.3.1.orig/gcc/configure 2008-08-20 00:27:57.000000000 -0700
++++ gcc-4.3.1/gcc/configure 2008-08-20 00:45:11.000000000 -0700
+@@ -12813,7 +12813,7 @@ else
+ esac
+ saved_CFLAGS="${CFLAGS}"
+ CC="${CC_FOR_BUILD}" CFLAGS="${CFLAGS_FOR_BUILD}" \
+- ${realsrcdir}/configure \
++ CONFIG_SITE= ${realsrcdir}/configure --cache-file=./other.cache \
+ --enable-languages=${enable_languages-all} \
+ --target=$target_alias --host=$build_alias --build=$build_alias
+ CFLAGS="${saved_CFLAGS}"
+Index: gcc-4.3.1/gcc/configure.ac
+===================================================================
+--- gcc-4.3.1.orig/gcc/configure.ac 2008-08-20 00:27:57.000000000 -0700
++++ gcc-4.3.1/gcc/configure.ac 2008-08-20 00:44:52.000000000 -0700
+@@ -1480,7 +1480,7 @@ else
+ esac
+ saved_CFLAGS="${CFLAGS}"
+ CC="${CC_FOR_BUILD}" CFLAGS="${CFLAGS_FOR_BUILD}" \
+- ${realsrcdir}/configure \
++ CONFIG_SITE= ${realsrcdir}/configure --cache-file=./other.cache \
+ --enable-languages=${enable_languages-all} \
+ --target=$target_alias --host=$build_alias --build=$build_alias
+ CFLAGS="${saved_CFLAGS}"
diff --git a/recipes/gcc/gcc-4.4.0/debian/ada-acats.dpatch b/recipes/gcc/gcc-4.4.0/debian/ada-acats.dpatch
new file mode 100644
index 0000000000..fc25bf901f
--- /dev/null
+++ b/recipes/gcc/gcc-4.4.0/debian/ada-acats.dpatch
@@ -0,0 +1,78 @@
+#! /bin/sh -e
+
+# DP: - When running the ACATS, look for the gnat tools in their new
+# DP: directory (build/gnattools), and for the shared libraries in
+# DP: build/gcc/ada/rts, build/libgnatvsn and build/libgnatprj.
+
+dir=
+if [ $# -eq 3 -a "$2" = '-d' ]; then
+ pdir="-d $3"
+ dir="$3/"
+elif [ $# -ne 1 ]; then
+ echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
+ exit 1
+fi
+case "$1" in
+ -patch)
+ patch $pdir -f --no-backup-if-mismatch -p0 < $0
+ ;;
+ -unpatch)
+ patch $pdir -f --no-backup-if-mismatch -R -p0 < $0
+ ;;
+ *)
+ echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
+ exit 1
+esac
+exit 0
+
+--- gcc/testsuite/ada/acats/run_acats~
++++ gcc/testsuite/ada/acats/run_acats 2006-04-22 08:57:50.933824704 +0200
+@@ -11,23 +11,42 @@
+ host_gnatmake=`type gnatmake | awk '{print $3}'`
+ ROOT=`${PWDCMD-pwd}`
+ BASE=`cd $ROOT/../../..; ${PWDCMD-pwd}`
+-
+-PATH=$BASE:$ROOT:$PATH
+-ADA_INCLUDE_PATH=$BASE/ada/rts
++GNATTOOLS=`cd $BASE/../gnattools; ${PWDCMD-pwd}`
++LIBGNATVSN=`cd $BASE/../libgnatvsn; ${PWDCMD-pwd}`
++LIBGNATPRJ=`cd $BASE/../libgnatprj; ${PWDCMD-pwd}`
++
++PATH=$GNATTOOLS:$BASE:$ROOT:$PATH
++ADA_INCLUDE_DIR=$BASE/ada/rts
++ADA_INCLUDE_PATH=$ADA_INCLUDE_DIR:$LIBGNATVSN:$LIBGNATPRJ
+ LD_LIBRARY_PATH=$ADA_INCLUDE_PATH:$BASE:$LD_LIBRARY_PATH
+ ADA_OBJECTS_PATH=$ADA_INCLUDE_PATH
+
+-if [ ! -d $ADA_INCLUDE_PATH ]; then
++if [ ! -d $ADA_INCLUDE_DIR ]; then
+ echo gnatlib missing, exiting.
+ exit 1
+ fi
+
+-if [ ! -f $BASE/gnatchop ]; then
++if [ ! -d $GNATTOOLS ]; then
++ echo gnattools missing, exiting.
++ exit 1
++fi
++
++if [ ! -d $LIBGNATVSN ]; then
++ echo libgnatvsn missing, exiting.
++ exit 1
++fi
++
++if [ ! -d $LIBGNATPRJ ]; then
++ echo libgnatprj missing, exiting.
++ exit 1
++fi
++
++if [ ! -f $GNATTOOLS/gnatchop ]; then
+ echo gnattools missing, exiting.
+ exit 1
+ fi
+
+-if [ ! -f $BASE/gnatmake ]; then
++if [ ! -f $GNATTOOLS/gnatmake ]; then
+ echo gnattools missing, exiting.
+ exit 1
+ fi
diff --git a/recipes/gcc/gcc-4.4.0/debian/ada-alpha.dpatch b/recipes/gcc/gcc-4.4.0/debian/ada-alpha.dpatch
new file mode 100644
index 0000000000..1e2c47d670
--- /dev/null
+++ b/recipes/gcc/gcc-4.4.0/debian/ada-alpha.dpatch
@@ -0,0 +1,88 @@
+#! /bin/sh -e
+
+# DP: Fix GNAT on alpha.
+
+dir=
+if [ $# -eq 3 -a "$2" = '-d' ]; then
+ pdir="-d $3"
+ dir="$3/"
+elif [ $# -ne 1 ]; then
+ echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
+ exit 1
+fi
+case "$1" in
+ -patch)
+ patch $pdir -f --no-backup-if-mismatch -p0 < $0
+ ;;
+ -unpatch)
+ patch $pdir -f --no-backup-if-mismatch -R -p0 < $0
+ ;;
+ *)
+ echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
+ exit 1
+esac
+exit 0
+
+2008-04-01 Aurelien Jarno <aurelien@aurel32.net>
+
+ * s-osinte-linux-alpha.ads (SC_NPROCESSORS_ONLN): New constant
+ for sysconf call.
+ (bit_field): New packed boolean type used by cpu_set_t.
+ (cpu_set_t): New type corresponding to the C type with
+ the same name. Note that on the Ada side we use a bit
+ field array for the affinity mask. There is not need
+ for the C macro for setting individual bit.
+ (pthread_setaffinity_np): New imported routine.
+
+Index: gcc/ada/s-osinte-linux-alpha.ads
+===================================================================
+--- gcc/ada/s-osinte-linux-alpha.ads (révision 133772)
++++ gcc/ada/s-osinte-linux-alpha.ads (copie de travail)
+@@ -237,6 +237,7 @@
+ pragma Import (C, sysconf);
+
+ SC_CLK_TCK : constant := 2;
++ SC_NPROCESSORS_ONLN : constant := 84;
+
+ -------------------------
+ -- Priority Scheduling --
+@@ -268,6 +269,7 @@
+
+ type Thread_Body is access
+ function (arg : System.Address) return System.Address;
++ pragma Convention (C, Thread_Body);
+
+ function Thread_Body_Access is new
+ Unchecked_Conversion (System.Address, Thread_Body);
+@@ -448,12 +450,31 @@
+ pragma Import (C, pthread_getspecific, "pthread_getspecific");
+
+ type destructor_pointer is access procedure (arg : System.Address);
++ pragma Convention (C, destructor_pointer);
+
+ function pthread_key_create
+ (key : access pthread_key_t;
+ destructor : destructor_pointer) return int;
+ pragma Import (C, pthread_key_create, "pthread_key_create");
+
++ CPU_SETSIZE : constant := 1_024;
++
++ type bit_field is array (1 .. CPU_SETSIZE) of Boolean;
++ for bit_field'Size use CPU_SETSIZE;
++ pragma Pack (bit_field);
++ pragma Convention (C, bit_field);
++
++ type cpu_set_t is record
++ bits : bit_field;
++ end record;
++ pragma Convention (C, cpu_set_t);
++
++ function pthread_setaffinity_np
++ (thread : pthread_t;
++ cpusetsize : size_t;
++ cpuset : access cpu_set_t) return int;
++ pragma Import (C, pthread_setaffinity_np, "__gnat_pthread_setaffinity_np");
++
+ private
+
+ type sigset_t is record
diff --git a/recipes/gcc/gcc-4.4.0/debian/ada-default-project-path.dpatch b/recipes/gcc/gcc-4.4.0/debian/ada-default-project-path.dpatch
new file mode 100644
index 0000000000..b3283d75f3
--- /dev/null
+++ b/recipes/gcc/gcc-4.4.0/debian/ada-default-project-path.dpatch
@@ -0,0 +1,147 @@
+#! /bin/sh -e
+
+# DP: - Change the default search path for project files to the one specified
+# DP: by the Debian Policy for Ada: /usr/share/ada/adainclude.
+
+dir=
+if [ $# -eq 3 -a "$2" = '-d' ]; then
+ pdir="-d $3"
+ dir="$3/"
+elif [ $# -ne 1 ]; then
+ echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
+ exit 1
+fi
+case "$1" in
+ -patch)
+ patch $pdir -f --no-backup-if-mismatch -p0 < $0
+ ;;
+ -unpatch)
+ patch $pdir -f --no-backup-if-mismatch -R -p0 < $0
+ ;;
+ *)
+ echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
+ exit 1
+esac
+exit 0
+
+Index: gcc/ada/Make-lang.in
+===================================================================
+--- gcc/ada/Make-lang.in.orig
++++ gcc/ada/Make-lang.in
+@@ -974,7 +974,7 @@
+ $(ECHO) " S1 : constant String := \"$(ADA_INCLUDE_DIR)/\";" >>tmp-sdefault.adb
+ $(ECHO) " S2 : constant String := \"$(ADA_RTL_OBJ_DIR)/\";" >>tmp-sdefault.adb
+ $(ECHO) " S3 : constant String := \"$(target)/\";" >>tmp-sdefault.adb
+- $(ECHO) " S4 : constant String := \"$(libsubdir)/\";" >>tmp-sdefault.adb
++ $(ECHO) " S4 : constant String := \"/usr/share/ada/adainclude/\";" >>tmp-sdefault.adb
+ $(ECHO) " function Include_Dir_Default_Name return String_Ptr is" >>tmp-sdefault.adb
+ $(ECHO) " begin" >>tmp-sdefault.adb
+ $(ECHO) " return Relocate_Path (S0, S1);" >>tmp-sdefault.adb
+Index: gcc/ada/prj-ext.adb
+===================================================================
+--- gcc/ada/prj-ext.adb.orig
++++ gcc/ada/prj-ext.adb
+@@ -24,7 +24,6 @@
+ ------------------------------------------------------------------------------
+
+ with Hostparm;
+-with Makeutl; use Makeutl;
+ with Output; use Output;
+ with Osint; use Osint;
+ with Sdefault;
+@@ -254,38 +253,10 @@
+
+ -- Set the initial value of Current_Project_Path
+
+- if Add_Default_Dir then
+- declare
+- Prefix : String_Ptr := Sdefault.Search_Dir_Prefix;
+- begin
+- if Prefix = null then
+- Prefix := new String'(Executable_Prefix_Path);
+-
+- if Prefix.all /= "" then
+- if Get_Mode = Ada_Only then
+- Current_Project_Path :=
+- new String'(Name_Buffer (1 .. Name_Len) &
+- Path_Separator &
+- Prefix.all & Directory_Separator & "gnat");
+-
+- else
+- Current_Project_Path :=
+- new String'(Name_Buffer (1 .. Name_Len) &
+- Path_Separator &
+- Prefix.all & Directory_Separator &
+- "share" & Directory_Separator & "gpr");
+- end if;
+- end if;
+-
+- else
+- Current_Project_Path :=
+- new String'(Name_Buffer (1 .. Name_Len) & Path_Separator &
+- Prefix.all &
+- ".." & Directory_Separator &
+- ".." & Directory_Separator &
+- ".." & Directory_Separator & "gnat");
+- end if;
+- end;
++ if Add_Default_Dir and Sdefault.Search_Dir_Prefix /= null then
++ Current_Project_Path :=
++ new String'(Name_Buffer (1 .. Name_Len) & Path_Separator &
++ Sdefault.Search_Dir_Prefix.all);
+ end if;
+
+ if Current_Project_Path = null then
+Index: gcc/ada/gnatls.adb
+===================================================================
+--- gcc/ada/gnatls.adb.orig
++++ gcc/ada/gnatls.adb
+@@ -1622,9 +1622,6 @@
+ declare
+ Project_Path : String_Access := Getenv (Gpr_Project_Path);
+
+- Lib : constant String :=
+- Directory_Separator & "lib" & Directory_Separator;
+-
+ First : Natural;
+ Last : Natural;
+
+@@ -1684,36 +1681,8 @@
+ if Add_Default_Dir then
+ Name_Len := 0;
+ Add_Str_To_Name_Buffer (Sdefault.Search_Dir_Prefix.all);
+-
+- -- On Windows, make sure that all directory separators are '\'
+-
+- if Directory_Separator /= '/' then
+- for J in 1 .. Name_Len loop
+- if Name_Buffer (J) = '/' then
+- Name_Buffer (J) := Directory_Separator;
+- end if;
+- end loop;
+- end if;
+-
+- -- Find the sequence "/lib/"
+-
+- while Name_Len >= Lib'Length
+- and then Name_Buffer (Name_Len - 4 .. Name_Len) /= Lib
+- loop
+- Name_Len := Name_Len - 1;
+- end loop;
+-
+- -- If the sequence "/lib"/ was found, display the default
+- -- directory <prefix>/lib/gnat/.
+-
+- if Name_Len >= 5 then
+- Name_Buffer (Name_Len + 1 .. Name_Len + 4) := "gnat";
+- Name_Buffer (Name_Len + 5) := Directory_Separator;
+- Name_Len := Name_Len + 5;
+- Write_Str (" ");
+- Write_Line
+- (To_Host_Dir_Spec (Name_Buffer (1 .. Name_Len), True).all);
+- end if;
++ Write_Str (" ");
++ Write_Line (Name_Buffer (1 .. Name_Len));
+ end if;
+ end;
+
diff --git a/recipes/gcc/gcc-4.4.0/debian/ada-driver-check.dpatch b/recipes/gcc/gcc-4.4.0/debian/ada-driver-check.dpatch
new file mode 100644
index 0000000000..9ac1148329
--- /dev/null
+++ b/recipes/gcc/gcc-4.4.0/debian/ada-driver-check.dpatch
@@ -0,0 +1,50 @@
+#! /bin/sh -e
+
+# DP: Simplify Ada driver check (we always build using the required
+# DP: Ada version. Needed for warnings on alpha.
+
+dir=./
+if [ $# -eq 3 -a "$2" = '-d' ]; then
+ pdir="-d $3"
+ dir="$3/"
+elif [ $# -ne 1 ]; then
+ echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
+ exit 1
+fi
+case "$1" in
+ -patch)
+ patch $pdir -f --no-backup-if-mismatch -p0 < $0
+ #cd ${dir} && autoconf
+ ;;
+ -unpatch)
+ patch $pdir -f --no-backup-if-mismatch -R -p0 < $0
+ #rm -f ${dir}configure
+ ;;
+ *)
+ echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
+ exit 1
+esac
+exit 0
+
+--- config/acx.m4~ 2007-09-02 19:24:08.865326043 +0200
++++ config/acx.m4 2007-09-02 19:28:53.719623005 +0200
+@@ -380,7 +380,7 @@
+ # Other compilers, like HP Tru64 UNIX cc, exit successfully when
+ # given a .adb file, but produce no object file. So we must check
+ # if an object file was really produced to guard against this.
+-errors=`(${CC} -c conftest.adb) 2>&1 || echo failure`
++errors=`(${CC} -c conftest.adb) 2>/dev/null || echo failure`
+ if test x"$errors" = x && test -f conftest.$ac_objext; then
+ acx_cv_cc_gcc_supports_ada=yes
+ fi
+--- configure~ 2007-09-02 16:50:31.206279000 +0200
++++ configure 2007-09-02 19:28:58.259691491 +0200
+@@ -4261,7 +4261,7 @@
+ # Other compilers, like HP Tru64 UNIX cc, exit successfully when
+ # given a .adb file, but produce no object file. So we must check
+ # if an object file was really produced to guard against this.
+-errors=`(${CC} -c conftest.adb) 2>&1 || echo failure`
++errors=`(${CC} -c conftest.adb) 2>/dev/null || echo failure`
+ if test x"$errors" = x && test -f conftest.$ac_objext; then
+ acx_cv_cc_gcc_supports_ada=yes
+ fi
diff --git a/recipes/gcc/gcc-4.4.0/debian/ada-driver.dpatch b/recipes/gcc/gcc-4.4.0/debian/ada-driver.dpatch
new file mode 100644
index 0000000000..74ee94d1b6
--- /dev/null
+++ b/recipes/gcc/gcc-4.4.0/debian/ada-driver.dpatch
@@ -0,0 +1,42 @@
+#! /bin/sh -e
+
+# DP: Look for gcc-3.4, gcc-4.0 and gcc-4.1 as gcc with Ada support.
+
+dir=
+if [ $# -eq 3 -a "$2" = '-d' ]; then
+ pdir="-d $3"
+ dir="$3/"
+elif [ $# -ne 1 ]; then
+ echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
+ exit 1
+fi
+case "$1" in
+ -patch)
+ patch $pdir -f --no-backup-if-mismatch -p0 < $0
+ cd ${dir}gcc && autoconf
+ ;;
+ -unpatch)
+ patch $pdir -f --no-backup-if-mismatch -R -p0 < $0
+ rm ${dir}gcc/configure
+ ;;
+ *)
+ echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
+ exit 1
+esac
+exit 0
+
+
+--- gcc/aclocal.m4~ Sat Mar 2 00:37:42 2002
++++ gcc/aclocal.m4 Sat Apr 6 13:01:36 2002
+@@ -312,6 +312,11 @@
+ ${ac_tool_prefix}$user_cc $user_cc \
+ ${ac_tool_prefix}gcc gcc \
+ ${ac_tool_prefix}cc cc \
++ ${ac_tool_prefix}gcc-4.3 gcc-4.3 \
++ ${ac_tool_prefix}gcc-4.2 gcc-4.2 \
++ ${ac_tool_prefix}gcc-4.1 gcc-4.1 \
++ ${ac_tool_prefix}gcc-4.0 gcc-4.0 \
++ ${ac_tool_prefix}gcc-3.4 gcc-3.4 \
+ ${ac_tool_prefix}gnatgcc gnatgcc \
+ ${ac_tool_prefix}gnatcc gnatcc \
+ ${ac_tool_prefix}adagcc adagcc \
diff --git a/recipes/gcc/gcc-4.4.0/debian/ada-gcc-name.dpatch b/recipes/gcc/gcc-4.4.0/debian/ada-gcc-name.dpatch
new file mode 100644
index 0000000000..681d634480
--- /dev/null
+++ b/recipes/gcc/gcc-4.4.0/debian/ada-gcc-name.dpatch
@@ -0,0 +1,87 @@
+#! /bin/sh -e
+
+# DP: use gcc-4.3 instead of gcc as the command name.
+
+dir=
+if [ $# -eq 3 -a "$2" = '-d' ]; then
+ pdir="-d $3"
+ dir="$3/"
+elif [ $# -ne 1 ]; then
+ echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
+ exit 1
+fi
+case "$1" in
+ -patch)
+ patch $pdir -f --no-backup-if-mismatch -p0 < $0
+ ;;
+ -unpatch)
+ patch $pdir -f --no-backup-if-mismatch -R -p0 < $0
+ ;;
+ *)
+ echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
+ exit 1
+esac
+exit 0
+
+Index: gcc/ada/comperr.adb
+===================================================================
+--- gcc/ada/comperr.adb.orig 2007-09-10 18:53:41.000000000 +0200
++++ gcc/ada/comperr.adb 2007-12-05 00:15:52.596687382 +0100
+@@ -330,7 +330,7 @@
+ End_Line;
+
+ Write_Str
+- ("| Include the exact gcc or gnatmake command " &
++ ("| Include the exact gcc-4.3 or gnatmake command " &
+ "that you entered.");
+ End_Line;
+
+Index: gcc/ada/gnatlink.adb
+===================================================================
+--- gcc/ada/gnatlink.adb.orig 2007-10-19 15:14:33.000000000 +0200
++++ gcc/ada/gnatlink.adb 2007-12-05 00:15:52.596687382 +0100
+@@ -137,7 +137,7 @@
+ -- This table collects the arguments to be passed to compile the binder
+ -- generated file.
+
+- Gcc : String_Access := Program_Name ("gcc");
++ Gcc : String_Access := Program_Name ("gcc-4.3");
+
+ Read_Mode : constant String := "r" & ASCII.Nul;
+
+@@ -1368,7 +1368,8 @@
+ end if;
+
+ Write_Line (" --GCC=comp Use comp as the compiler");
+- Write_Line (" --LINK=nam Use 'nam' for the linking rather than 'gcc'");
++ Write_Line (" --LINK=nam Use 'nam' for the linking rather " &
++ "than 'gcc-4.3'");
+ Write_Eol;
+ Write_Line (" [non-Ada-objects] list of non Ada object files");
+ Write_Line (" [linker-options] other options for the linker");
+Index: gcc/ada/make.adb
+===================================================================
+--- gcc/ada/make.adb.orig 2007-10-19 15:14:33.000000000 +0200
++++ gcc/ada/make.adb 2007-12-05 00:15:52.604687208 +0100
+@@ -662,7 +662,7 @@
+ -- Compiler, Binder & Linker Data and Subprograms --
+ ----------------------------------------------------
+
+- Gcc : String_Access := Program_Name ("gcc");
++ Gcc : String_Access := Program_Name ("gcc-4.3");
+ Gnatbind : String_Access := Program_Name ("gnatbind");
+ Gnatlink : String_Access := Program_Name ("gnatlink");
+ -- Default compiler, binder, linker programs
+Index: gcc/ada/gnatchop.adb
+===================================================================
+--- gcc/ada/gnatchop.adb.orig 2007-10-19 15:14:33.000000000 +0200
++++ gcc/ada/gnatchop.adb 2007-12-05 00:15:52.612687034 +0100
+@@ -44,7 +44,7 @@
+ Config_File_Name : constant String_Access := new String'("gnat.adc");
+ -- The name of the file holding the GNAT configuration pragmas
+
+- Gcc : String_Access := new String'("gcc");
++ Gcc : String_Access := new String'("gcc-4.3");
+ -- May be modified by switch --GCC=
+
+ Gcc_Set : Boolean := False;
diff --git a/recipes/gcc/gcc-4.4.0/debian/ada-gnatvsn.dpatch b/recipes/gcc/gcc-4.4.0/debian/ada-gnatvsn.dpatch
new file mode 100644
index 0000000000..365bd60bb4
--- /dev/null
+++ b/recipes/gcc/gcc-4.4.0/debian/ada-gnatvsn.dpatch
@@ -0,0 +1,46 @@
+#! /bin/sh -e
+
+# DP: proposed patch for PR ada/27194.
+
+dir=
+if [ $# -eq 3 -a "$2" = '-d' ]; then
+ pdir="-d $3"
+ dir="$3/"
+elif [ $# -ne 1 ]; then
+ echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
+ exit 1
+fi
+case "$1" in
+ -patch)
+ patch $pdir -f --no-backup-if-mismatch -p0 < $0
+ ;;
+ -unpatch)
+ patch $pdir -f --no-backup-if-mismatch -R -p0 < $0
+ ;;
+ *)
+ echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
+ exit 1
+esac
+exit 0
+
+--- orig/gnatvsn.adb 2005-07-01 03:29:17.000000000 +0200
++++ gcc/ada/gnatvsn.adb 2006-04-18 10:00:05.100002000 +0200
+@@ -54,12 +54,13 @@
+ -------------------------
+
+ function Gnat_Version_String return String is
+- NUL_Pos : Positive := 1;
++ NUL_Pos : Positive := Version_String'Last;
+ begin
+- loop
+- exit when Version_String (NUL_Pos) = ASCII.NUL;
+-
+- NUL_Pos := NUL_Pos + 1;
++ for J in Version_String'Range loop
++ if Version_String (J) = ASCII.NUL then
++ NUL_Pos := J;
++ exit;
++ end if;
+ end loop;
+
+ return Version_String (1 .. NUL_Pos - 1);
diff --git a/recipes/gcc/gcc-4.4.0/debian/ada-libgnatprj.dpatch b/recipes/gcc/gcc-4.4.0/debian/ada-libgnatprj.dpatch
new file mode 100644
index 0000000000..dcbf30aef7
--- /dev/null
+++ b/recipes/gcc/gcc-4.4.0/debian/ada-libgnatprj.dpatch
@@ -0,0 +1,4809 @@
+#! /bin/sh -e
+
+# DP: - Introduce a new shared library named libgnatprj, containing
+# DP: the GNAT project file manager licensed under the pure GPL, for
+# DP: use in GNAT tools, GLADE and GPS. Link the GNAT tools against
+# DP: this new library.
+
+# This patch seems large, but the hunks in Makefile.in are actually
+# generated from Makefile.def using autogen.
+
+# !!! Must be applied after ada-libgnatvsn.dpatch
+
+dir=./
+if [ $# -eq 3 -a "$2" = '-d' ]; then
+ pdir="-d $3"
+ dir="$3/"
+elif [ $# -ne 1 ]; then
+ echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
+ exit 1
+fi
+case "$1" in
+ -patch)
+ patch $pdir -f --no-backup-if-mismatch -p0 < $0
+ cd ${dir} && autoconf
+ ;;
+ -unpatch)
+ patch $pdir -f --no-backup-if-mismatch -R -p0 < $0
+ ;;
+ *)
+ echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
+ exit 1
+esac
+exit 0
+
+Index: gcc/ada/config-lang.in
+===================================================================
+--- gcc/ada/config-lang.in.orig
++++ gcc/ada/config-lang.in
+@@ -34,8 +34,8 @@
+
+ outputs=ada/Makefile
+
+-target_libs="target-libada target-libgnatvsn"
+-lang_dirs="libada libgnatvsn gnattools"
++target_libs="target-libada target-libgnatvsn target-libgnatprj"
++lang_dirs="libada libgnatvsn libgnatprj gnattools"
+
+ # Ada will not work until the front end starts emitting GIMPLE trees.
+ build_by_default=no
+Index: gnattools/Makefile.in
+===================================================================
+--- gnattools/Makefile.in.orig
++++ gnattools/Makefile.in
+@@ -35,13 +35,13 @@
+ target_noncanonical=@target_noncanonical@
+
+ CFLAGS=-O2 -Wall
+-INCLUDES = -I@srcdir@/../gcc/ada -I@srcdir@/../gcc
+ ADA_CFLAGS=-O2 -gnatn
+-ADA_INCLUDES=-nostdinc -I- -I. -I../gcc/ada/rts -I../libgnatvsn
++ADA_INCLUDES=-nostdinc -I- -I. -I../gcc/ada/rts -I../libgnatvsn -I../libgnatprj
+ LIB_VERSION=$(strip $(shell grep ' Library_Version :' \
+ ../libgnatvsn/gnatvsn.ads | sed -e 's/.*"\(.*\)".*/\1/'))
+ ADA_LIBS := -L../gcc/ada/rts -lgnat-$(LIB_VERSION)
+ ADA_LIBS += -L../libgnatvsn -lgnatvsn
++ADA_LIBS += -L../libgnatprj -lgnatprj
+
+ # We will use the just-built compiler to compile and link everything.
+ GCC=../gcc/xgcc -B../gcc/
+@@ -66,74 +66,18 @@
+
+ # Since we don't have gnatmake, we must specify the full list of
+ # object files necessary to build gnatmake and gnatlink.
+-# TODO: remove from these lists the objects that are part of
+-# libgnatprj.
+ GNATLINK_OBJS = \
+-ali.o \
+-butil.o \
+-fmap.o \
+ gnatlink.o \
+ indepsw.o \
+-osint.o \
+-prefix.o \
+-rident.o \
+-sdefault.o \
+-stylesw.o \
+-switch.o \
+-targparm.o \
+ validsw.o
+
+ GNATMAKE_OBJS = \
+-ali-util.o \
+-ali.o \
+-binderr.o \
+-butil.o \
+-err_vars.o \
+-erroutc.o \
+-errutil.o \
+-fmap.o \
+ fname-sf.o \
+-fname-uf.o \
+ gnatmake.o \
+ make.o \
+ makeusg.o \
+-makeutl.o \
+-mlib-fil.o \
+ mlib-prj.o \
+-mlib-tgt.o \
+-mlib-tgt-specific.o \
+-mlib-utl.o \
+-mlib.o \
+ osint-m.o \
+-osint.o \
+-prefix.o \
+-prj-attr-pm.o \
+-prj-attr.o \
+-prj-com.o \
+-prj-dect.o \
+-prj-env.o \
+-prj-err.o \
+-prj-ext.o \
+-prj-nmsc.o \
+-prj-pars.o \
+-prj-part.o \
+-prj-proc.o \
+-prj-strt.o \
+-prj-tree.o \
+-prj-util.o \
+-prj.o \
+-rident.o \
+-scng.o \
+-sdefault.o \
+-sfn_scan.o \
+-sinput-c.o \
+-sinput-p.o \
+-styleg.o \
+-stylesw.o \
+-switch-m.o \
+-switch.o \
+-targparm.o \
+-tempdir.o \
+ usage.o \
+ validsw.o \
+ $(EXTRA_GNATMAKE_OBJS)
+@@ -175,11 +119,6 @@
+ for file in $(BODIES) $(SPECS); do \
+ $(LN_S) -f $$file .; \
+ done
+- rm -f sdefault.adb; $(LN_S) ../gcc/ada/sdefault.adb .
+- $(foreach PAIR,$(TOOLS_TARGET_PAIRS), \
+- rm -f $(word 1,$(subst <, ,$(PAIR)));\
+- $(LN_S) @srcdir@/../gcc/ada/$(word 2,$(subst <, ,$(PAIR))) \
+- $(word 1,$(subst <, ,$(PAIR)));)
+ touch $@
+
+ gnattools-native: ../gcc/ada/rts/libgnat-$(LIB_VERSION).so
+@@ -192,19 +131,16 @@
+ vpath %.c @srcdir@/../gcc/ada:@srcdir@/../gcc
+ vpath %.h @srcdir@/../gcc/ada
+
+-# Because the just-built gcc is a host tool like us, we can use some
+-# of its object files, e.g. prefix.o.
+-vpath prefix.o ../gcc
+-
+ # gnatlink
+
+-gnatlink-static: $(GNATLINK_OBJS) b_gnatl.o link.o
++gnatlink-static: $(GNATLINK_OBJS) b_gnatl.o
+ $(GCC) -o $@ $^ \
++ ../libgnatprj/libgnatprj.a \
+ ../libgnatvsn/libgnatvsn.a \
+ ../gcc/ada/rts/libgnat.a \
+ ../libiberty/libiberty.a
+
+-gnatlink: $(GNATLINK_OBJS) b_gnatl.o link.o
++gnatlink: $(GNATLINK_OBJS) b_gnatl.o
+ $(GCC) -o $@ $^ $(ADA_LIBS) ../libiberty/libiberty.a
+
+ b_gnatl.o: b_gnatl.c adaint.h
+@@ -215,13 +151,14 @@
+
+ # gnatmake
+
+-gnatmake-static: $(GNATMAKE_OBJS) b_gnatm.o link.o
++gnatmake-static: $(GNATMAKE_OBJS) b_gnatm.o
+ $(GCC) -o $@ $(ADA_CFLAGS) $^ \
++ ../libgnatprj/libgnatprj.a \
+ ../libgnatvsn/libgnatvsn.a \
+ ../gcc/ada/rts/libgnat.a \
+ ../libiberty/libiberty.a
+
+-gnatmake: $(GNATMAKE_OBJS) b_gnatm.o link.o
++gnatmake: $(GNATMAKE_OBJS) b_gnatm.o
+ $(GCC) -o $@ $(ADA_CFLAGS) $^ $(ADA_LIBS) ../libiberty/libiberty.a
+
+ b_gnatm.o: b_gnatm.c adaint.h
+@@ -231,19 +168,11 @@
+ ../gcc/gnatbind -C -o $@ $(ADA_INCLUDES) gnatmake.ali
+
+ # Other tools
+-gnatkr:
+- if [ ! -f $@.adb ] ; then $(LN_S) ../../src/gcc/ada/$@.ad[bs] .; fi
+- ./gnatmake-static -c -b $@ $(ADA_CFLAGS) $(ADA_INCLUDES) \
+- --GCC="$(GCC)" \
+- --GNATBIND=../gcc/gnatbind
+- ./gnatlink-static -o $@ $@.ali $^ $(ADA_INCLUDES) $(ADA_LIBS) \
+- --GCC="$(GCC) $(ADA_INCLUDES)"
+-
+ gnat: gnatcmd
+ cp -lp $< $@
+
+-gnatbind gnatchop gnatclean gnatcmd gnatfind gnatls gnatname gnatprep gnatxref gprmake: \
+-link.o prefix.o
++gnatbind gnatchop gnatclean gnatcmd gnatfind gnatkr gnatls gnatname gnatprep \
++gnatxref gprmake:
+ if [ ! -f $@.adb ] ; then $(LN_S) ../../src/gcc/ada/$@.ad[bs] .; fi
+ ./gnatmake-static -c -b $@ $(ADA_CFLAGS) $(ADA_INCLUDES) \
+ --GCC="$(GCC)" \
+@@ -252,29 +181,19 @@
+ ../libiberty/libiberty.a \
+ --GCC="$(GCC) $(ADA_INCLUDES)"
+
+-gnatbl: gnatbl.c link.o prefix.o
++gnatbl: gnatbl.c
+ $(GCC) -o $@ $< $(CFLAGS) \
+ -I../gcc -I@srcdir@/../gcc/config -I@srcdir@/../gcc \
+ -I@srcdir@/../include \
+ $(filter-out %.c,$^) \
+ $(ADA_LIBS) ../libiberty/libiberty.a
+
+-# Force compiling sdefault.adb, not .ads, to produce sdefault.o
+-sdefault.o: sdefault.adb
+-
+-sdefault.adb: stamp-gnattools-sources
+-
+ %.o: %.adb
+ $(GCC) -c -o $@ $< $(ADA_CFLAGS) $(ADA_INCLUDES)
+
+ %.o: %.ads
+ $(GCC) -c -o $@ $< $(ADA_CFLAGS) $(ADA_INCLUDES)
+
+-%.o: %.c
+- $(GCC) -c -o $@ $< $(CFLAGS) $(INCLUDES)
+-
+-prefix.o:
+-
+ # Other
+ # -----
+
+Index: libgnatprj/configure
+===================================================================
+--- /dev/null
++++ libgnatprj/configure
+@@ -0,0 +1,3138 @@
++#! /bin/sh
++# Guess values for system-dependent variables and create Makefiles.
++# Generated by GNU Autoconf 2.61.
++#
++# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001,
++# 2002, 2003, 2004, 2005, 2006 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=:
++ # Zsh 3.x and 4.x performs 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
++
++
++
++
++# PATH needs CR
++# 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
++
++# The user is always right.
++if test "${PATH_SEPARATOR+set}" != set; then
++ echo "#! /bin/sh" >conf$$.sh
++ echo "exit 0" >>conf$$.sh
++ chmod +x conf$$.sh
++ if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then
++ PATH_SEPARATOR=';'
++ else
++ PATH_SEPARATOR=:
++ fi
++ rm -f conf$$.sh
++fi
++
++# Support unset when possible.
++if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then
++ as_unset=unset
++else
++ as_unset=false
++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.)
++as_nl='
++'
++IFS=" "" $as_nl"
++
++# Find who we are. Look in the path if we contain no directory separator.
++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
++ echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2
++ { (exit 1); exit 1; }
++fi
++
++# Work around bugs in pre-3.0 UWIN ksh.
++for as_var in ENV MAIL MAILPATH
++do ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var
++done
++PS1='$ '
++PS2='> '
++PS4='+ '
++
++# NLS nuisances.
++for as_var in \
++ LANG LANGUAGE LC_ADDRESS LC_ALL LC_COLLATE LC_CTYPE LC_IDENTIFICATION \
++ LC_MEASUREMENT LC_MESSAGES LC_MONETARY LC_NAME LC_NUMERIC LC_PAPER \
++ LC_TELEPHONE LC_TIME
++do
++ if (set +x; test -z "`(eval $as_var=C; export $as_var) 2>&1`"); then
++ eval $as_var=C; export $as_var
++ else
++ ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var
++ fi
++done
++
++# Required to use basename.
++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
++
++
++# Name of the executable.
++as_me=`$as_basename -- "$0" ||
++$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \
++ X"$0" : 'X\(//\)$' \| \
++ X"$0" : 'X\(/\)' \| . 2>/dev/null ||
++echo X/"$0" |
++ sed '/^.*\/\([^/][^/]*\)\/*$/{
++ s//\1/
++ q
++ }
++ /^X\/\(\/\/\)$/{
++ s//\1/
++ q
++ }
++ /^X\/\(\/\).*/{
++ s//\1/
++ q
++ }
++ s/.*/./; q'`
++
++# CDPATH.
++$as_unset CDPATH
++
++
++if test "x$CONFIG_SHELL" = x; then
++ if (eval ":") 2>/dev/null; then
++ as_have_required=yes
++else
++ as_have_required=no
++fi
++
++ if test $as_have_required = yes && (eval ":
++(as_func_return () {
++ (exit \$1)
++}
++as_func_success () {
++ as_func_return 0
++}
++as_func_failure () {
++ as_func_return 1
++}
++as_func_ret_success () {
++ return 0
++}
++as_func_ret_failure () {
++ return 1
++}
++
++exitcode=0
++if as_func_success; then
++ :
++else
++ exitcode=1
++ echo as_func_success failed.
++fi
++
++if as_func_failure; then
++ exitcode=1
++ echo as_func_failure succeeded.
++fi
++
++if as_func_ret_success; then
++ :
++else
++ exitcode=1
++ echo as_func_ret_success failed.
++fi
++
++if as_func_ret_failure; then
++ exitcode=1
++ echo as_func_ret_failure succeeded.
++fi
++
++if ( set x; as_func_ret_success y && test x = \"\$1\" ); then
++ :
++else
++ exitcode=1
++ echo positional parameters were not saved.
++fi
++
++test \$exitcode = 0) || { (exit 1); exit 1; }
++
++(
++ as_lineno_1=\$LINENO
++ as_lineno_2=\$LINENO
++ test \"x\$as_lineno_1\" != \"x\$as_lineno_2\" &&
++ test \"x\`expr \$as_lineno_1 + 1\`\" = \"x\$as_lineno_2\") || { (exit 1); exit 1; }
++") 2> /dev/null; then
++ :
++else
++ as_candidate_shells=
++ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
++for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH
++do
++ IFS=$as_save_IFS
++ test -z "$as_dir" && as_dir=.
++ case $as_dir in
++ /*)
++ for as_base in sh bash ksh sh5; do
++ as_candidate_shells="$as_candidate_shells $as_dir/$as_base"
++ done;;
++ esac
++done
++IFS=$as_save_IFS
++
++
++ for as_shell in $as_candidate_shells $SHELL; do
++ # Try only shells that exist, to save several forks.
++ if { test -f "$as_shell" || test -f "$as_shell.exe"; } &&
++ { ("$as_shell") 2> /dev/null <<\_ASEOF
++if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
++ emulate sh
++ NULLCMD=:
++ # Zsh 3.x and 4.x performs 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
++
++
++:
++_ASEOF
++}; then
++ CONFIG_SHELL=$as_shell
++ as_have_required=yes
++ if { "$as_shell" 2> /dev/null <<\_ASEOF
++if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
++ emulate sh
++ NULLCMD=:
++ # Zsh 3.x and 4.x performs 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_func_return () {
++ (exit $1)
++}
++as_func_success () {
++ as_func_return 0
++}
++as_func_failure () {
++ as_func_return 1
++}
++as_func_ret_success () {
++ return 0
++}
++as_func_ret_failure () {
++ return 1
++}
++
++exitcode=0
++if as_func_success; then
++ :
++else
++ exitcode=1
++ echo as_func_success failed.
++fi
++
++if as_func_failure; then
++ exitcode=1
++ echo as_func_failure succeeded.
++fi
++
++if as_func_ret_success; then
++ :
++else
++ exitcode=1
++ echo as_func_ret_success failed.
++fi
++
++if as_func_ret_failure; then
++ exitcode=1
++ echo as_func_ret_failure succeeded.
++fi
++
++if ( set x; as_func_ret_success y && test x = "$1" ); then
++ :
++else
++ exitcode=1
++ echo positional parameters were not saved.
++fi
++
++test $exitcode = 0) || { (exit 1); exit 1; }
++
++(
++ as_lineno_1=$LINENO
++ as_lineno_2=$LINENO
++ test "x$as_lineno_1" != "x$as_lineno_2" &&
++ test "x`expr $as_lineno_1 + 1`" = "x$as_lineno_2") || { (exit 1); exit 1; }
++
++_ASEOF
++}; then
++ break
++fi
++
++fi
++
++ done
++
++ if test "x$CONFIG_SHELL" != x; then
++ for as_var in BASH_ENV ENV
++ do ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var
++ done
++ export CONFIG_SHELL
++ exec "$CONFIG_SHELL" "$as_myself" ${1+"$@"}
++fi
++
++
++ if test $as_have_required = no; then
++ echo This script requires a shell more modern than all the
++ echo shells that I found on your system. Please install a
++ echo modern shell, or manually run the script under such a
++ echo shell if you do have one.
++ { (exit 1); exit 1; }
++fi
++
++
++fi
++
++fi
++
++
++
++(eval "as_func_return () {
++ (exit \$1)
++}
++as_func_success () {
++ as_func_return 0
++}
++as_func_failure () {
++ as_func_return 1
++}
++as_func_ret_success () {
++ return 0
++}
++as_func_ret_failure () {
++ return 1
++}
++
++exitcode=0
++if as_func_success; then
++ :
++else
++ exitcode=1
++ echo as_func_success failed.
++fi
++
++if as_func_failure; then
++ exitcode=1
++ echo as_func_failure succeeded.
++fi
++
++if as_func_ret_success; then
++ :
++else
++ exitcode=1
++ echo as_func_ret_success failed.
++fi
++
++if as_func_ret_failure; then
++ exitcode=1
++ echo as_func_ret_failure succeeded.
++fi
++
++if ( set x; as_func_ret_success y && test x = \"\$1\" ); then
++ :
++else
++ exitcode=1
++ echo positional parameters were not saved.
++fi
++
++test \$exitcode = 0") || {
++ echo No shell found that supports shell functions.
++ echo Please tell autoconf@gnu.org about your system,
++ echo including any error possibly output before this
++ echo message
++}
++
++
++
++ as_lineno_1=$LINENO
++ as_lineno_2=$LINENO
++ test "x$as_lineno_1" != "x$as_lineno_2" &&
++ test "x`expr $as_lineno_1 + 1`" = "x$as_lineno_2" || {
++
++ # Create $as_me.lineno as a copy of $as_myself, but with $LINENO
++ # uniformly replaced by the line number. The first 'sed' inserts a
++ # line-number line after each line using $LINENO; the second 'sed'
++ # does the real work. The second script uses 'N' to pair each
++ # line-number line with the line containing $LINENO, and appends
++ # trailing '-' during substitution so that $LINENO is not a special
++ # case at line end.
++ # (Raja R Harinath suggested sed '=', and Paul Eggert wrote the
++ # scripts with optimization help from Paolo Bonzini. 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" ||
++ { echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2
++ { (exit 1); exit 1; }; }
++
++ # 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
++}
++
++
++if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then
++ as_dirname=dirname
++else
++ as_dirname=false
++fi
++
++ECHO_C= ECHO_N= ECHO_T=
++case `echo -n x` in
++-n*)
++ case `echo 'x\c'` in
++ *c*) ECHO_T=' ';; # ECHO_T is single tab character.
++ *) ECHO_C='\c';;
++ esac;;
++*)
++ ECHO_N='-n';;
++esac
++
++if expr a : '\(a\)' >/dev/null 2>&1 &&
++ test "X`expr 00001 : '.*\(...\)'`" = X001; then
++ as_expr=expr
++else
++ as_expr=false
++fi
++
++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
++fi
++echo >conf$$.file
++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 -p'.
++ ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe ||
++ as_ln_s='cp -p'
++elif ln conf$$.file conf$$ 2>/dev/null; then
++ as_ln_s=ln
++else
++ as_ln_s='cp -p'
++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=:
++else
++ test -d ./-p && rmdir ./-p
++ as_mkdir_p=false
++fi
++
++if test -x / >/dev/null 2>&1; then
++ as_test_x='test -x'
++else
++ if ls -dL / >/dev/null 2>&1; then
++ as_ls_L_option=L
++ else
++ as_ls_L_option=
++ fi
++ as_test_x='
++ eval sh -c '\''
++ if test -d "$1"; then
++ test -d "$1/.";
++ else
++ case $1 in
++ -*)set "./$1";;
++ esac;
++ case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in
++ ???[sx]*):;;*)false;;esac;fi
++ '\'' sh
++ '
++fi
++as_executable_p=$as_test_x
++
++# 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 7<&0 </dev/null 6>&1
++
++# Name of the host.
++# hostname on some systems (SVR3.2, 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=
++SHELL=${CONFIG_SHELL-/bin/sh}
++
++# Identity of this package.
++PACKAGE_NAME=
++PACKAGE_TARNAME=
++PACKAGE_VERSION=
++PACKAGE_STRING=
++PACKAGE_BUGREPORT=
++
++ac_unique_file="Makefile.in"
++ac_subst_vars='SHELL
++PATH_SEPARATOR
++PACKAGE_NAME
++PACKAGE_TARNAME
++PACKAGE_VERSION
++PACKAGE_STRING
++PACKAGE_BUGREPORT
++exec_prefix
++prefix
++program_transform_name
++bindir
++sbindir
++libexecdir
++datarootdir
++datadir
++sysconfdir
++sharedstatedir
++localstatedir
++includedir
++oldincludedir
++docdir
++infodir
++htmldir
++dvidir
++pdfdir
++psdir
++libdir
++localedir
++mandir
++DEFS
++ECHO_C
++ECHO_N
++ECHO_T
++LIBS
++build_alias
++host_alias
++target_alias
++INSTALL_PROGRAM
++INSTALL_SCRIPT
++INSTALL_DATA
++build
++build_cpu
++build_vendor
++build_os
++host
++host_cpu
++host_vendor
++host_os
++target
++target_cpu
++target_vendor
++target_os
++target_noncanonical
++LN_S
++x_ada_cflags
++default_gnattools_target
++TOOLS_TARGET_PAIRS
++LIBOBJS
++LTLIBOBJS'
++ac_subst_files=''
++ ac_precious_vars='build_alias
++host_alias
++target_alias'
++
++
++# Initialize some variables set by options.
++ac_init_help=
++ac_init_version=false
++# 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=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_feature=`expr "x$ac_option" : 'x-*disable-\(.*\)'`
++ # Reject names that are not valid shell variable names.
++ expr "x$ac_feature" : ".*[^-._$as_cr_alnum]" >/dev/null &&
++ { echo "$as_me: error: invalid feature name: $ac_feature" >&2
++ { (exit 1); exit 1; }; }
++ ac_feature=`echo $ac_feature | sed 's/[-.]/_/g'`
++ eval enable_$ac_feature=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_feature=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'`
++ # Reject names that are not valid shell variable names.
++ expr "x$ac_feature" : ".*[^-._$as_cr_alnum]" >/dev/null &&
++ { echo "$as_me: error: invalid feature name: $ac_feature" >&2
++ { (exit 1); exit 1; }; }
++ ac_feature=`echo $ac_feature | sed 's/[-.]/_/g'`
++ eval enable_$ac_feature=\$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_package=`expr "x$ac_option" : 'x-*with-\([^=]*\)'`
++ # Reject names that are not valid shell variable names.
++ expr "x$ac_package" : ".*[^-._$as_cr_alnum]" >/dev/null &&
++ { echo "$as_me: error: invalid package name: $ac_package" >&2
++ { (exit 1); exit 1; }; }
++ ac_package=`echo $ac_package | sed 's/[-.]/_/g'`
++ eval with_$ac_package=\$ac_optarg ;;
++
++ -without-* | --without-*)
++ ac_package=`expr "x$ac_option" : 'x-*without-\(.*\)'`
++ # Reject names that are not valid shell variable names.
++ expr "x$ac_package" : ".*[^-._$as_cr_alnum]" >/dev/null &&
++ { echo "$as_me: error: invalid package name: $ac_package" >&2
++ { (exit 1); exit 1; }; }
++ ac_package=`echo $ac_package | sed 's/[-.]/_/g'`
++ eval with_$ac_package=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 ;;
++
++ -*) { echo "$as_me: error: unrecognized option: $ac_option
++Try \`$0 --help' for more information." >&2
++ { (exit 1); exit 1; }; }
++ ;;
++
++ *=*)
++ ac_envvar=`expr "x$ac_option" : 'x\([^=]*\)='`
++ # Reject names that are not valid shell variable names.
++ expr "x$ac_envvar" : ".*[^_$as_cr_alnum]" >/dev/null &&
++ { echo "$as_me: error: invalid variable name: $ac_envvar" >&2
++ { (exit 1); exit 1; }; }
++ eval $ac_envvar=\$ac_optarg
++ export $ac_envvar ;;
++
++ *)
++ # FIXME: should be removed in autoconf 3.0.
++ echo "$as_me: WARNING: you should use --build, --host, --target" >&2
++ expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null &&
++ 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'`
++ { echo "$as_me: error: missing argument to $ac_option" >&2
++ { (exit 1); exit 1; }; }
++fi
++
++# Be sure to have absolute directory names.
++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
++ case $ac_val in
++ [\\/$]* | ?:[\\/]* ) continue;;
++ NONE | '' ) case $ac_var in *prefix ) continue;; esac;;
++ esac
++ { echo "$as_me: error: expected an absolute directory name for --$ac_var: $ac_val" >&2
++ { (exit 1); exit 1; }; }
++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
++ echo "$as_me: WARNING: If you wanted to set the --build type, don't use --host.
++ If a cross compiler is detected then cross compile mode will be used." >&2
++ 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 .` ||
++ { echo "$as_me: error: Working directory cannot be determined" >&2
++ { (exit 1); exit 1; }; }
++test "X$ac_ls_di" = "X$ac_pwd_ls_di" ||
++ { echo "$as_me: error: pwd does not report name of working directory" >&2
++ { (exit 1); exit 1; }; }
++
++
++# 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 -- "$0" ||
++$as_expr X"$0" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
++ X"$0" : 'X\(//\)[^/]' \| \
++ X"$0" : 'X\(//\)$' \| \
++ X"$0" : 'X\(/\)' \| . 2>/dev/null ||
++echo X"$0" |
++ 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 .."
++ { echo "$as_me: error: cannot find sources ($ac_unique_file) in $srcdir" >&2
++ { (exit 1); exit 1; }; }
++fi
++ac_msg="sources are in $srcdir, but \`cd $srcdir' does not work"
++ac_abs_confdir=`(
++ cd "$srcdir" && test -r "./$ac_unique_file" || { echo "$as_me: error: $ac_msg" >&2
++ { (exit 1); exit 1; }; }
++ 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
++
++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
++
++_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" || continue
++ ac_builddir=.
++
++case "$ac_dir" in
++.) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;;
++*)
++ ac_dir_suffix=/`echo "$ac_dir" | sed 's,^\.[\\/],,'`
++ # A ".." for each directory in $ac_dir_suffix.
++ ac_top_builddir_sub=`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
++ 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.61
++
++Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001,
++2002, 2003, 2004, 2005, 2006 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
++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.61. 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=.
++ 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=`echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;;
++ esac
++ case $ac_pass in
++ 1) ac_configure_args0="$ac_configure_args0 '$ac_arg'" ;;
++ 2)
++ ac_configure_args1="$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
++ ac_configure_args="$ac_configure_args '$ac_arg'"
++ ;;
++ esac
++ done
++done
++$as_unset ac_configure_args0 || test "${ac_configure_args0+set}" != set || { ac_configure_args0=; export ac_configure_args0; }
++$as_unset ac_configure_args1 || test "${ac_configure_args1+set}" != set || { ac_configure_args1=; export 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
++
++ cat <<\_ASBOX
++## ---------------- ##
++## Cache variables. ##
++## ---------------- ##
++_ASBOX
++ 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_*) { echo "$as_me:$LINENO: WARNING: Cache variable $ac_var contains a newline." >&5
++echo "$as_me: WARNING: Cache variable $ac_var contains a newline." >&2;} ;;
++ esac
++ case $ac_var in #(
++ _ | IFS | as_nl) ;; #(
++ *) $as_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
++
++ cat <<\_ASBOX
++## ----------------- ##
++## Output variables. ##
++## ----------------- ##
++_ASBOX
++ echo
++ for ac_var in $ac_subst_vars
++ do
++ eval ac_val=\$$ac_var
++ case $ac_val in
++ *\'\''*) ac_val=`echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;;
++ esac
++ echo "$ac_var='\''$ac_val'\''"
++ done | sort
++ echo
++
++ if test -n "$ac_subst_files"; then
++ cat <<\_ASBOX
++## ------------------- ##
++## File substitutions. ##
++## ------------------- ##
++_ASBOX
++ echo
++ for ac_var in $ac_subst_files
++ do
++ eval ac_val=\$$ac_var
++ case $ac_val in
++ *\'\''*) ac_val=`echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;;
++ esac
++ echo "$ac_var='\''$ac_val'\''"
++ done | sort
++ echo
++ fi
++
++ if test -s confdefs.h; then
++ cat <<\_ASBOX
++## ----------- ##
++## confdefs.h. ##
++## ----------- ##
++_ASBOX
++ echo
++ cat confdefs.h
++ echo
++ fi
++ test "$ac_signal" != 0 &&
++ echo "$as_me: caught signal $ac_signal"
++ 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'; { (exit 1); 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
++
++# 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
++
++
++# Let the site file select an alternate cache file if it wants to.
++# Prefer explicitly selected file to automatically selected ones.
++if test -n "$CONFIG_SITE"; then
++ set x "$CONFIG_SITE"
++elif test "x$prefix" != xNONE; then
++ set x "$prefix/share/config.site" "$prefix/etc/config.site"
++else
++ set x "$ac_default_prefix/share/config.site" \
++ "$ac_default_prefix/etc/config.site"
++fi
++shift
++for ac_site_file
++do
++ if test -r "$ac_site_file"; then
++ { echo "$as_me:$LINENO: loading site script $ac_site_file" >&5
++echo "$as_me: loading site script $ac_site_file" >&6;}
++ sed 's/^/| /' "$ac_site_file" >&5
++ . "$ac_site_file"
++ 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.
++ if test -f "$cache_file"; then
++ { echo "$as_me:$LINENO: loading cache $cache_file" >&5
++echo "$as_me: loading cache $cache_file" >&6;}
++ case $cache_file in
++ [\\/]* | ?:[\\/]* ) . "$cache_file";;
++ *) . "./$cache_file";;
++ esac
++ fi
++else
++ { echo "$as_me:$LINENO: creating cache $cache_file" >&5
++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,)
++ { echo "$as_me:$LINENO: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5
++echo "$as_me: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&2;}
++ ac_cache_corrupted=: ;;
++ ,set)
++ { echo "$as_me:$LINENO: error: \`$ac_var' was not set in the previous run" >&5
++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
++ { echo "$as_me:$LINENO: error: \`$ac_var' has changed since the previous run:" >&5
++echo "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;}
++ { echo "$as_me:$LINENO: former value: $ac_old_val" >&5
++echo "$as_me: former value: $ac_old_val" >&2;}
++ { echo "$as_me:$LINENO: current value: $ac_new_val" >&5
++echo "$as_me: current value: $ac_new_val" >&2;}
++ ac_cache_corrupted=:
++ fi;;
++ esac
++ # Pass precious variables to config.status.
++ if test "$ac_new_set" = set; then
++ case $ac_new_val in
++ *\'*) ac_arg=$ac_var=`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.
++ *) ac_configure_args="$ac_configure_args '$ac_arg'" ;;
++ esac
++ fi
++done
++if $ac_cache_corrupted; then
++ { echo "$as_me:$LINENO: error: changes in the environment can compromise the build" >&5
++echo "$as_me: error: changes in the environment can compromise the build" >&2;}
++ { { echo "$as_me:$LINENO: error: run \`make distclean' and/or \`rm $cache_file' and start over" >&5
++echo "$as_me: error: run \`make distclean' and/or \`rm $cache_file' and start over" >&2;}
++ { (exit 1); exit 1; }; }
++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
++
++
++
++
++
++
++# Start of actual configure tests
++
++ac_aux_dir=
++for ac_dir in "$srcdir" "$srcdir/.." "$srcdir/../.."; 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
++ { { echo "$as_me:$LINENO: error: cannot find install-sh or install.sh in \"$srcdir\" \"$srcdir/..\" \"$srcdir/../..\"" >&5
++echo "$as_me: error: cannot find install-sh or install.sh in \"$srcdir\" \"$srcdir/..\" \"$srcdir/../..\"" >&2;}
++ { (exit 1); exit 1; }; }
++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.
++
++
++# 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.
++{ echo "$as_me:$LINENO: checking for a BSD-compatible install" >&5
++echo $ECHO_N "checking for a BSD-compatible install... $ECHO_C" >&6; }
++if test -z "$INSTALL"; then
++if test "${ac_cv_path_install+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&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 { test -f "$as_dir/$ac_prog$ac_exec_ext" && $as_test_x "$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
++ ac_cv_path_install="$as_dir/$ac_prog$ac_exec_ext -c"
++ break 3
++ fi
++ fi
++ done
++ done
++ ;;
++esac
++done
++IFS=$as_save_IFS
++
++
++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
++{ echo "$as_me:$LINENO: result: $INSTALL" >&5
++echo "${ECHO_T}$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'
++
++
++# Make sure we can run config.sub.
++$SHELL "$ac_aux_dir/config.sub" sun4 >/dev/null 2>&1 ||
++ { { echo "$as_me:$LINENO: error: cannot run $SHELL $ac_aux_dir/config.sub" >&5
++echo "$as_me: error: cannot run $SHELL $ac_aux_dir/config.sub" >&2;}
++ { (exit 1); exit 1; }; }
++
++{ echo "$as_me:$LINENO: checking build system type" >&5
++echo $ECHO_N "checking build system type... $ECHO_C" >&6; }
++if test "${ac_cv_build+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&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 &&
++ { { echo "$as_me:$LINENO: error: cannot guess build type; you must specify one" >&5
++echo "$as_me: error: cannot guess build type; you must specify one" >&2;}
++ { (exit 1); exit 1; }; }
++ac_cv_build=`$SHELL "$ac_aux_dir/config.sub" $ac_build_alias` ||
++ { { echo "$as_me:$LINENO: error: $SHELL $ac_aux_dir/config.sub $ac_build_alias failed" >&5
++echo "$as_me: error: $SHELL $ac_aux_dir/config.sub $ac_build_alias failed" >&2;}
++ { (exit 1); exit 1; }; }
++
++fi
++{ echo "$as_me:$LINENO: result: $ac_cv_build" >&5
++echo "${ECHO_T}$ac_cv_build" >&6; }
++case $ac_cv_build in
++*-*-*) ;;
++*) { { echo "$as_me:$LINENO: error: invalid value of canonical build" >&5
++echo "$as_me: error: invalid value of canonical build" >&2;}
++ { (exit 1); exit 1; }; };;
++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
++
++
++{ echo "$as_me:$LINENO: checking host system type" >&5
++echo $ECHO_N "checking host system type... $ECHO_C" >&6; }
++if test "${ac_cv_host+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&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` ||
++ { { echo "$as_me:$LINENO: error: $SHELL $ac_aux_dir/config.sub $host_alias failed" >&5
++echo "$as_me: error: $SHELL $ac_aux_dir/config.sub $host_alias failed" >&2;}
++ { (exit 1); exit 1; }; }
++fi
++
++fi
++{ echo "$as_me:$LINENO: result: $ac_cv_host" >&5
++echo "${ECHO_T}$ac_cv_host" >&6; }
++case $ac_cv_host in
++*-*-*) ;;
++*) { { echo "$as_me:$LINENO: error: invalid value of canonical host" >&5
++echo "$as_me: error: invalid value of canonical host" >&2;}
++ { (exit 1); exit 1; }; };;
++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
++
++
++{ echo "$as_me:$LINENO: checking target system type" >&5
++echo $ECHO_N "checking target system type... $ECHO_C" >&6; }
++if test "${ac_cv_target+set}" = set; then
++ echo $ECHO_N "(cached) $ECHO_C" >&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` ||
++ { { echo "$as_me:$LINENO: error: $SHELL $ac_aux_dir/config.sub $target_alias failed" >&5
++echo "$as_me: error: $SHELL $ac_aux_dir/config.sub $target_alias failed" >&2;}
++ { (exit 1); exit 1; }; }
++fi
++
++fi
++{ echo "$as_me:$LINENO: result: $ac_cv_target" >&5
++echo "${ECHO_T}$ac_cv_target" >&6; }
++case $ac_cv_target in
++*-*-*) ;;
++*) { { echo "$as_me:$LINENO: error: invalid value of canonical target" >&5
++echo "$as_me: error: invalid value of canonical target" >&2;}
++ { (exit 1); exit 1; }; };;
++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}-
++
++# Autoconf M4 include file defining utility macros for complex Canadian
++# cross builds.
++
++
++
++
++
++
++
++
++
++####
++# _NCN_TOOL_PREFIXES: Some stuff that oughtta be done in AC_CANONICAL_SYSTEM
++# or AC_INIT.
++# These demand that AC_CANONICAL_SYSTEM be called beforehand.
++
++####
++# NCN_STRICT_CHECK_TOOLS(variable, progs-to-check-for,[value-if-not-found],[path])
++# Like plain AC_CHECK_TOOLS, but require prefix if build!=host.
++
++
++####
++# NCN_STRICT_CHECK_TARGET_TOOLS(variable, progs-to-check-for,[value-if-not-found],[path])
++# Like CVS Autoconf AC_CHECK_TARGET_TOOLS, but require prefix if build!=target.
++
++
++
++# Backported from Autoconf 2.5x; can go away when and if
++# we switch. Put the OS path separator in $PATH_SEPARATOR.
++
++
++
++
++# ACX_HAVE_GCC_FOR_TARGET
++# Check if the variable GCC_FOR_TARGET really points to a GCC binary.
++
++
++# ACX_CHECK_INSTALLED_TARGET_TOOL(VAR, PROG)
++# Searching for installed target binutils. We need to take extra care,
++# else we may find the wrong assembler, linker, etc., and lose.
++#
++# First try --with-build-time-tools, if specified.
++#
++# For build != host, we ask the installed GCC for the name of the tool it
++# uses, and accept it if it is an absolute path. This is because the
++# only good choice for a compiler is the same GCC version that is being
++# installed (or we couldn't make target libraries), and we assume that
++# on the host system we'll have not only the same GCC version, but also
++# the same binutils version.
++#
++# For build == host, search the same directories that the installed
++# compiler will search. We used to do this for the assembler, linker,
++# and nm only; for simplicity of configuration, however, we extend this
++# criterion to tools (such as ar and ranlib) that are never invoked by
++# the compiler, to avoid mismatches.
++#
++# Also note we have to check MD_EXEC_PREFIX before checking the user's path
++# if build == target. This makes the most sense only when bootstrapping,
++# but we also do so when build != host. In this case, we hope that the
++# build and host systems will have similar contents of MD_EXEC_PREFIX.
++#
++# If we do not find a suitable binary, then try the user's path.
++
++
++###
++# AC_PROG_CPP_WERROR
++# Used for autoconf 2.5x to force AC_PREPROC_IFELSE to reject code which
++# triggers warnings from the preprocessor. Will be in autoconf 2.58.
++# For now, using this also overrides header checks to use only the
++# preprocessor (matches 2.13 behavior; matching 2.58's behavior is a
++# bit harder from here).
++# Eventually autoconf will default to checking headers with the compiler
++# instead, and we'll have to do this differently.
++
++# AC_PROG_CPP_WERROR
++
++# Test for GNAT.
++# We require the gnatbind program, and a compiler driver that
++# understands Ada. We use the user's CC setting, already found.
++#
++# Sets the shell variable have_gnat to yes or no as appropriate, and
++# substitutes GNATBIND and GNATMAKE.
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++ case ${build_alias} in
++ "") build_noncanonical=${build} ;;
++ *) build_noncanonical=${build_alias} ;;
++esac
++
++ case ${host_alias} in
++ "") host_noncanonical=${build_noncanonical} ;;
++ *) host_noncanonical=${host_alias} ;;
++esac
++
++ case ${target_alias} in
++ "") target_noncanonical=${host_noncanonical} ;;
++ *) target_noncanonical=${target_alias} ;;
++esac
++
++
++
++
++# Need to pass this down for now :-P
++{ echo "$as_me:$LINENO: checking whether ln -s works" >&5
++echo $ECHO_N "checking whether ln -s works... $ECHO_C" >&6; }
++LN_S=$as_ln_s
++if test "$LN_S" = "ln -s"; then
++ { echo "$as_me:$LINENO: result: yes" >&5
++echo "${ECHO_T}yes" >&6; }
++else
++ { echo "$as_me:$LINENO: result: no, using $LN_S" >&5
++echo "${ECHO_T}no, using $LN_S" >&6; }
++fi
++
++
++# Determine x_ada_cflags
++case $host in
++ hppa*) x_ada_cflags=-mdisable-indexing ;;
++ *) x_ada_cflags= ;;
++esac
++
++
++# Determine what to build for 'gnattools'
++if test $build = $target ; then
++ # Note that build=target is almost certainly the wrong test; FIXME
++ default_gnattools_target="gnattools-native"
++else
++ default_gnattools_target="gnattools-cross"
++fi
++
++
++# Target-specific stuff (defaults)
++TOOLS_TARGET_PAIRS=
++
++
++# Per-target case statement
++# -------------------------
++case "${target}" in
++ alpha*-dec-vx*) # Unlike all other Vxworks
++ ;;
++ m68k*-wrs-vx* \
++ | powerpc*-wrs-vxworks \
++ | sparc*-wrs-vx* \
++ | *86-wrs-vxworks \
++ | xscale*-wrs-vx* \
++ | xscale*-wrs-coff \
++ | mips*-wrs-vx*)
++ TOOLS_TARGET_PAIRS="mlib-tgt-specific.adb<mlib-tgt-vxworks.adb"
++ ;;
++ sparc-sun-solaris*)
++ TOOLS_TARGET_PAIRS="mlib-tgt-specific.adb<mlib-tgt-solaris.adb"
++ ;;
++ *86-*-solaris2*)
++ TOOLS_TARGET_PAIRS="mlib-tgt-specific.adb<mlib-tgt-solaris.adb"
++ ;;
++ *86-*-linux* \
++ | powerpc*-*-linux* \
++ | *ia64-*-linux* \
++ | alpha*-*-linux* \
++ | sparc*-*-linux* \
++ | hppa*-*-linux* \
++ | *x86_64-*-linux*)
++ TOOLS_TARGET_PAIRS="\
++ mlib-tgt-specific.adb<mlib-tgt-linux.adb \
++ indepsw.adb<indepsw-gnu.adb"
++ ;;
++ s390*-*-linux*)
++ TOOLS_TARGET_PAIRS="mlib-tgt-specific.adb<mlib-tgt-linux.adb"
++ ;;
++ *86-*-freebsd*)
++ TOOLS_TARGET_PAIRS="\
++ mlib-tgt-specific.adb<mlib-tgt-linux.adb \
++ indepsw.adb<indepsw-gnu.adb"
++ ;;
++ mips-sgi-irix*)
++ TOOLS_TARGET_PAIRS="mlib-tgt-specific.adb<mlib-tgt-irix.adb"
++ ;;
++ hppa*-hp-hpux10*) # Unlike hpux11
++ ;;
++ hppa*-hp-hpux11*)
++ TOOLS_TARGET_PAIRS="mlib-tgt-specific.adb<mlib-tgt-hpux.adb"
++ ;;
++ *-ibm-aix*)
++ TOOLS_TARGET_PAIRS="\
++ mlib-tgt-specific.adb<mlib-tgt-aix.adb \
++ indepsw.adb<indepsw-aix.adb"
++ ;;
++ alpha*-dec-osf*)
++ TOOLS_TARGET_PAIRS="mlib-tgt-specific.adb<mlib-tgt-tru64.adb"
++ ;;
++ alpha*-dec-vms* | alpha*-dec-openvms* | alpha*-dec-vms* \
++ | alpha*-hp-vms* | alpha*-hp-openvms* | alpha*-hp-vms*)
++ TOOLS_TARGET_PAIRS="\
++ mlib-tgt-specific.adb<mlib-tgt-vms-alpha.adb \
++ symbols.adb<symbols-vms.adb \
++ symbols-processing.adb<symbols-processing-vms-alpha.adb"
++ ;;
++ ia64*-dec-vms* | ia64*-dec-openvms* | ia64*-dec-vms* \
++ | ia64*-hp-vms* | ia64*-hp-openvms* | ia64*-hp-vms*)
++ TOOLS_TARGET_PAIRS="\
++ mlib-tgt-specific.adb<mlib-tgt-vms-ia64.adb \
++ symbols.adb<symbols-vms.adb \
++ symbols-processing.adb<symbols-processing-vms-ia64.adb"
++ ;;
++ *-*-cygwin32* | *-*-mingw32* | *-*-pe)
++ TOOLS_TARGET_PAIRS="\
++ mlib-tgt-specific.adb<mlib-tgt-mingw.adb \
++ indepsw.adb<indepsw-mingw.adb"
++ ;;
++ powerpc-*-darwin*)
++ TOOLS_TARGET_PAIRS="mlib-tgt-specific.adb<mlib-tgt-darwin.adb"
++ ;;
++ *-*-lynxos)
++ TOOLS_TARGET_PAIRS="\
++ mlib-tgt-specific.adb<mlib-tgt-lynxos.adb \
++ indepsw.adb<indepsw-gnu.adb"
++ ;;
++esac
++
++# Output: create a Makefile.
++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_*) { echo "$as_me:$LINENO: WARNING: Cache variable $ac_var contains a newline." >&5
++echo "$as_me: WARNING: Cache variable $ac_var contains a newline." >&2;} ;;
++ esac
++ case $ac_var in #(
++ _ | IFS | as_nl) ;; #(
++ *) $as_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
++ test "x$cache_file" != "x/dev/null" &&
++ { echo "$as_me:$LINENO: updating cache $cache_file" >&5
++echo "$as_me: updating cache $cache_file" >&6;}
++ cat confcache >$cache_file
++ else
++ { echo "$as_me:$LINENO: not updating unwritable cache $cache_file" >&5
++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}'
++
++# Transform confdefs.h into DEFS.
++# Protect against shell expansion while executing Makefile rules.
++# Protect against Makefile macro expansion.
++#
++# If the first sed substitution is executed (which looks for macros that
++# take arguments), then branch to the quote section. Otherwise,
++# look for a macro that doesn't take arguments.
++ac_script='
++t clear
++:clear
++s/^[ ]*#[ ]*define[ ][ ]*\([^ (][^ (]*([^)]*)\)[ ]*\(.*\)/-D\1=\2/g
++t quote
++s/^[ ]*#[ ]*define[ ][ ]*\([^ ][^ ]*\)[ ]*\(.*\)/-D\1=\2/g
++t quote
++b any
++:quote
++s/[ `~#$^&*(){}\\|;'\''"<>?]/\\&/g
++s/\[/\\&/g
++s/\]/\\&/g
++s/\$/$$/g
++H
++:any
++${
++ g
++ s/^\n//
++ s/\n/ /g
++ p
++}
++'
++DEFS=`sed -n "$ac_script" confdefs.h`
++
++
++ac_libobjs=
++ac_ltlibobjs=
++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=`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.
++ ac_libobjs="$ac_libobjs \${LIBOBJDIR}$ac_i\$U.$ac_objext"
++ ac_ltlibobjs="$ac_ltlibobjs \${LIBOBJDIR}$ac_i"'$U.lo'
++done
++LIBOBJS=$ac_libobjs
++
++LTLIBOBJS=$ac_ltlibobjs
++
++
++
++: ${CONFIG_STATUS=./config.status}
++ac_clean_files_save=$ac_clean_files
++ac_clean_files="$ac_clean_files $CONFIG_STATUS"
++{ echo "$as_me:$LINENO: creating $CONFIG_STATUS" >&5
++echo "$as_me: creating $CONFIG_STATUS" >&6;}
++cat >$CONFIG_STATUS <<_ACEOF
++#! $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}
++_ACEOF
++
++cat >>$CONFIG_STATUS <<\_ACEOF
++## --------------------- ##
++## 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=:
++ # Zsh 3.x and 4.x performs 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
++
++
++
++
++# PATH needs CR
++# 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
++
++# The user is always right.
++if test "${PATH_SEPARATOR+set}" != set; then
++ echo "#! /bin/sh" >conf$$.sh
++ echo "exit 0" >>conf$$.sh
++ chmod +x conf$$.sh
++ if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then
++ PATH_SEPARATOR=';'
++ else
++ PATH_SEPARATOR=:
++ fi
++ rm -f conf$$.sh
++fi
++
++# Support unset when possible.
++if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then
++ as_unset=unset
++else
++ as_unset=false
++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.)
++as_nl='
++'
++IFS=" "" $as_nl"
++
++# Find who we are. Look in the path if we contain no directory separator.
++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
++ echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2
++ { (exit 1); exit 1; }
++fi
++
++# Work around bugs in pre-3.0 UWIN ksh.
++for as_var in ENV MAIL MAILPATH
++do ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var
++done
++PS1='$ '
++PS2='> '
++PS4='+ '
++
++# NLS nuisances.
++for as_var in \
++ LANG LANGUAGE LC_ADDRESS LC_ALL LC_COLLATE LC_CTYPE LC_IDENTIFICATION \
++ LC_MEASUREMENT LC_MESSAGES LC_MONETARY LC_NAME LC_NUMERIC LC_PAPER \
++ LC_TELEPHONE LC_TIME
++do
++ if (set +x; test -z "`(eval $as_var=C; export $as_var) 2>&1`"); then
++ eval $as_var=C; export $as_var
++ else
++ ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var
++ fi
++done
++
++# Required to use basename.
++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
++
++
++# Name of the executable.
++as_me=`$as_basename -- "$0" ||
++$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \
++ X"$0" : 'X\(//\)$' \| \
++ X"$0" : 'X\(/\)' \| . 2>/dev/null ||
++echo X/"$0" |
++ sed '/^.*\/\([^/][^/]*\)\/*$/{
++ s//\1/
++ q
++ }
++ /^X\/\(\/\/\)$/{
++ s//\1/
++ q
++ }
++ /^X\/\(\/\).*/{
++ s//\1/
++ q
++ }
++ s/.*/./; q'`
++
++# CDPATH.
++$as_unset CDPATH
++
++
++
++ as_lineno_1=$LINENO
++ as_lineno_2=$LINENO
++ test "x$as_lineno_1" != "x$as_lineno_2" &&
++ test "x`expr $as_lineno_1 + 1`" = "x$as_lineno_2" || {
++
++ # Create $as_me.lineno as a copy of $as_myself, but with $LINENO
++ # uniformly replaced by the line number. The first 'sed' inserts a
++ # line-number line after each line using $LINENO; the second 'sed'
++ # does the real work. The second script uses 'N' to pair each
++ # line-number line with the line containing $LINENO, and appends
++ # trailing '-' during substitution so that $LINENO is not a special
++ # case at line end.
++ # (Raja R Harinath suggested sed '=', and Paul Eggert wrote the
++ # scripts with optimization help from Paolo Bonzini. 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" ||
++ { echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2
++ { (exit 1); exit 1; }; }
++
++ # 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
++}
++
++
++if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then
++ as_dirname=dirname
++else
++ as_dirname=false
++fi
++
++ECHO_C= ECHO_N= ECHO_T=
++case `echo -n x` in
++-n*)
++ case `echo 'x\c'` in
++ *c*) ECHO_T=' ';; # ECHO_T is single tab character.
++ *) ECHO_C='\c';;
++ esac;;
++*)
++ ECHO_N='-n';;
++esac
++
++if expr a : '\(a\)' >/dev/null 2>&1 &&
++ test "X`expr 00001 : '.*\(...\)'`" = X001; then
++ as_expr=expr
++else
++ as_expr=false
++fi
++
++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
++fi
++echo >conf$$.file
++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 -p'.
++ ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe ||
++ as_ln_s='cp -p'
++elif ln conf$$.file conf$$ 2>/dev/null; then
++ as_ln_s=ln
++else
++ as_ln_s='cp -p'
++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=:
++else
++ test -d ./-p && rmdir ./-p
++ as_mkdir_p=false
++fi
++
++if test -x / >/dev/null 2>&1; then
++ as_test_x='test -x'
++else
++ if ls -dL / >/dev/null 2>&1; then
++ as_ls_L_option=L
++ else
++ as_ls_L_option=
++ fi
++ as_test_x='
++ eval sh -c '\''
++ if test -d "$1"; then
++ test -d "$1/.";
++ else
++ case $1 in
++ -*)set "./$1";;
++ esac;
++ case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in
++ ???[sx]*):;;*)false;;esac;fi
++ '\'' sh
++ '
++fi
++as_executable_p=$as_test_x
++
++# 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
++
++# 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.61. 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
++
++cat >>$CONFIG_STATUS <<_ACEOF
++# Files that config.status was made for.
++config_files="$ac_config_files"
++
++_ACEOF
++
++cat >>$CONFIG_STATUS <<\_ACEOF
++ac_cs_usage="\
++\`$as_me' instantiates files from templates according to the
++current configuration.
++
++Usage: $0 [OPTIONS] [FILE]...
++
++ -h, --help print this help, then exit
++ -V, --version print version number and configuration settings, then exit
++ -q, --quiet 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
++
++Configuration files:
++$config_files
++
++Report bugs to <bug-autoconf@gnu.org>."
++
++_ACEOF
++cat >>$CONFIG_STATUS <<_ACEOF
++ac_cs_version="\\
++config.status
++configured by $0, generated by GNU Autoconf 2.61,
++ with options \\"`echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`\\"
++
++Copyright (C) 2006 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'
++_ACEOF
++
++cat >>$CONFIG_STATUS <<\_ACEOF
++# If no file are specified by the user, then we need to provide default
++# value. By we need to know if files were specified by the user.
++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=$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 )
++ echo "$ac_cs_version"; exit ;;
++ --debug | --debu | --deb | --de | --d | -d )
++ debug=: ;;
++ --file | --fil | --fi | --f )
++ $ac_shift
++ CONFIG_FILES="$CONFIG_FILES $ac_optarg"
++ ac_need_defaults=false;;
++ --he | --h | --help | --hel | -h )
++ 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.
++ -*) { echo "$as_me: error: unrecognized option: $1
++Try \`$0 --help' for more information." >&2
++ { (exit 1); exit 1; }; } ;;
++
++ *) ac_config_targets="$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
++if \$ac_cs_recheck; then
++ echo "running CONFIG_SHELL=$SHELL $SHELL $0 "$ac_configure_args \$ac_configure_extra_args " --no-create --no-recursion" >&6
++ CONFIG_SHELL=$SHELL
++ export CONFIG_SHELL
++ exec $SHELL "$0"$ac_configure_args \$ac_configure_extra_args --no-create --no-recursion
++fi
++
++_ACEOF
++cat >>$CONFIG_STATUS <<\_ACEOF
++exec 5>>config.log
++{
++ echo
++ sed 'h;s/./-/g;s/^.../## /;s/...$/ ##/;p;x;p;x' <<_ASBOX
++## Running $as_me. ##
++_ASBOX
++ echo "$ac_log"
++} >&5
++
++_ACEOF
++cat >>$CONFIG_STATUS <<_ACEOF
++_ACEOF
++
++cat >>$CONFIG_STATUS <<\_ACEOF
++
++# Handling of arguments.
++for ac_config_target in $ac_config_targets
++do
++ case $ac_config_target in
++ "Makefile") CONFIG_FILES="$CONFIG_FILES Makefile" ;;
++
++ *) { { echo "$as_me:$LINENO: error: invalid argument: $ac_config_target" >&5
++echo "$as_me: error: invalid argument: $ac_config_target" >&2;}
++ { (exit 1); exit 1; }; };;
++ 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
++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=
++ trap 'exit_status=$?
++ { test -z "$tmp" || test ! -d "$tmp" || rm -fr "$tmp"; } && exit $exit_status
++' 0
++ trap '{ (exit 1); exit 1; }' 1 2 13 15
++}
++# Create a (secure) tmp directory for tmp files.
++
++{
++ tmp=`(umask 077 && mktemp -d "./confXXXXXX") 2>/dev/null` &&
++ test -n "$tmp" && test -d "$tmp"
++} ||
++{
++ tmp=./conf$$-$RANDOM
++ (umask 077 && mkdir "$tmp")
++} ||
++{
++ echo "$me: cannot create a temporary directory in ." >&2
++ { (exit 1); exit 1; }
++}
++
++#
++# Set up the sed scripts for CONFIG_FILES section.
++#
++
++# No need to generate the scripts if there are no CONFIG_FILES.
++# This happens for instance when ./config.status config.h
++if test -n "$CONFIG_FILES"; then
++
++_ACEOF
++
++
++
++ac_delim='%!_!# '
++for ac_last_try in false false false false false :; do
++ cat >conf$$subs.sed <<_ACEOF
++SHELL!$SHELL$ac_delim
++PATH_SEPARATOR!$PATH_SEPARATOR$ac_delim
++PACKAGE_NAME!$PACKAGE_NAME$ac_delim
++PACKAGE_TARNAME!$PACKAGE_TARNAME$ac_delim
++PACKAGE_VERSION!$PACKAGE_VERSION$ac_delim
++PACKAGE_STRING!$PACKAGE_STRING$ac_delim
++PACKAGE_BUGREPORT!$PACKAGE_BUGREPORT$ac_delim
++exec_prefix!$exec_prefix$ac_delim
++prefix!$prefix$ac_delim
++program_transform_name!$program_transform_name$ac_delim
++bindir!$bindir$ac_delim
++sbindir!$sbindir$ac_delim
++libexecdir!$libexecdir$ac_delim
++datarootdir!$datarootdir$ac_delim
++datadir!$datadir$ac_delim
++sysconfdir!$sysconfdir$ac_delim
++sharedstatedir!$sharedstatedir$ac_delim
++localstatedir!$localstatedir$ac_delim
++includedir!$includedir$ac_delim
++oldincludedir!$oldincludedir$ac_delim
++docdir!$docdir$ac_delim
++infodir!$infodir$ac_delim
++htmldir!$htmldir$ac_delim
++dvidir!$dvidir$ac_delim
++pdfdir!$pdfdir$ac_delim
++psdir!$psdir$ac_delim
++libdir!$libdir$ac_delim
++localedir!$localedir$ac_delim
++mandir!$mandir$ac_delim
++DEFS!$DEFS$ac_delim
++ECHO_C!$ECHO_C$ac_delim
++ECHO_N!$ECHO_N$ac_delim
++ECHO_T!$ECHO_T$ac_delim
++LIBS!$LIBS$ac_delim
++build_alias!$build_alias$ac_delim
++host_alias!$host_alias$ac_delim
++target_alias!$target_alias$ac_delim
++INSTALL_PROGRAM!$INSTALL_PROGRAM$ac_delim
++INSTALL_SCRIPT!$INSTALL_SCRIPT$ac_delim
++INSTALL_DATA!$INSTALL_DATA$ac_delim
++build!$build$ac_delim
++build_cpu!$build_cpu$ac_delim
++build_vendor!$build_vendor$ac_delim
++build_os!$build_os$ac_delim
++host!$host$ac_delim
++host_cpu!$host_cpu$ac_delim
++host_vendor!$host_vendor$ac_delim
++host_os!$host_os$ac_delim
++target!$target$ac_delim
++target_cpu!$target_cpu$ac_delim
++target_vendor!$target_vendor$ac_delim
++target_os!$target_os$ac_delim
++target_noncanonical!$target_noncanonical$ac_delim
++LN_S!$LN_S$ac_delim
++x_ada_cflags!$x_ada_cflags$ac_delim
++default_gnattools_target!$default_gnattools_target$ac_delim
++TOOLS_TARGET_PAIRS!$TOOLS_TARGET_PAIRS$ac_delim
++LIBOBJS!$LIBOBJS$ac_delim
++LTLIBOBJS!$LTLIBOBJS$ac_delim
++_ACEOF
++
++ if test `sed -n "s/.*$ac_delim\$/X/p" conf$$subs.sed | grep -c X` = 59; then
++ break
++ elif $ac_last_try; then
++ { { echo "$as_me:$LINENO: error: could not make $CONFIG_STATUS" >&5
++echo "$as_me: error: could not make $CONFIG_STATUS" >&2;}
++ { (exit 1); exit 1; }; }
++ else
++ ac_delim="$ac_delim!$ac_delim _$ac_delim!! "
++ fi
++done
++
++ac_eof=`sed -n '/^CEOF[0-9]*$/s/CEOF/0/p' conf$$subs.sed`
++if test -n "$ac_eof"; then
++ ac_eof=`echo "$ac_eof" | sort -nru | sed 1q`
++ ac_eof=`expr $ac_eof + 1`
++fi
++
++cat >>$CONFIG_STATUS <<_ACEOF
++cat >"\$tmp/subs-1.sed" <<\CEOF$ac_eof
++/@[a-zA-Z_][a-zA-Z_0-9]*@/!b end
++_ACEOF
++sed '
++s/[,\\&]/\\&/g; s/@/@|#_!!_#|/g
++s/^/s,@/; s/!/@,|#_!!_#|/
++:n
++t n
++s/'"$ac_delim"'$/,g/; t
++s/$/\\/; p
++N; s/^.*\n//; s/[,\\&]/\\&/g; s/@/@|#_!!_#|/g; b n
++' >>$CONFIG_STATUS <conf$$subs.sed
++rm -f conf$$subs.sed
++cat >>$CONFIG_STATUS <<_ACEOF
++:end
++s/|#_!!_#|//g
++CEOF$ac_eof
++_ACEOF
++
++
++# VPATH may cause trouble with some makes, so we remove $(srcdir),
++# ${srcdir} and @srcdir@ 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[ ]*=/{
++s/:*\$(srcdir):*/:/
++s/:*\${srcdir}:*/:/
++s/:*@srcdir@:*/:/
++s/^\([^=]*=[ ]*\):*/\1/
++s/:*$//
++s/^[^=]*=[ ]*$//
++}'
++fi
++
++cat >>$CONFIG_STATUS <<\_ACEOF
++fi # test -n "$CONFIG_FILES"
++
++
++for ac_tag in :F $CONFIG_FILES
++do
++ case $ac_tag in
++ :[FHLC]) ac_mode=$ac_tag; continue;;
++ esac
++ case $ac_mode$ac_tag in
++ :[FHL]*:*);;
++ :L* | :C*:*) { { echo "$as_me:$LINENO: error: Invalid tag $ac_tag." >&5
++echo "$as_me: error: Invalid tag $ac_tag." >&2;}
++ { (exit 1); exit 1; }; };;
++ :[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="$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 ||
++ { { echo "$as_me:$LINENO: error: cannot find input file: $ac_f" >&5
++echo "$as_me: error: cannot find input file: $ac_f" >&2;}
++ { (exit 1); exit 1; }; };;
++ esac
++ ac_file_inputs="$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 "`IFS=:
++ echo $* | sed 's|^[^:]*/||;s|:[^:]*/|, |g'`" by configure."
++ if test x"$ac_file" != x-; then
++ configure_input="$ac_file. $configure_input"
++ { echo "$as_me:$LINENO: creating $ac_file" >&5
++echo "$as_me: creating $ac_file" >&6;}
++ fi
++
++ case $ac_tag in
++ *:-:* | *:-) cat >"$tmp/stdin";;
++ 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 ||
++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"
++ case $as_dir in #(
++ -*) as_dir=./$as_dir;;
++ esac
++ test -d "$as_dir" || { $as_mkdir_p && mkdir -p "$as_dir"; } || {
++ as_dirs=
++ while :; do
++ case $as_dir in #(
++ *\'*) as_qdir=`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 ||
++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" || { { echo "$as_me:$LINENO: error: cannot create directory $as_dir" >&5
++echo "$as_me: error: cannot create directory $as_dir" >&2;}
++ { (exit 1); exit 1; }; }; }
++ ac_builddir=.
++
++case "$ac_dir" in
++.) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;;
++*)
++ ac_dir_suffix=/`echo "$ac_dir" | sed 's,^\.[\\/],,'`
++ # A ".." for each directory in $ac_dir_suffix.
++ ac_top_builddir_sub=`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
++# 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=
++
++case `sed -n '/datarootdir/ {
++ p
++ q
++}
++/@datadir@/p
++/@docdir@/p
++/@infodir@/p
++/@localedir@/p
++/@mandir@/p
++' $ac_file_inputs` in
++*datarootdir*) ac_datarootdir_seen=yes;;
++*@datadir@*|*@docdir@*|*@infodir@*|*@localedir@*|*@mandir@*)
++ { echo "$as_me:$LINENO: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&5
++echo "$as_me: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&2;}
++_ACEOF
++cat >>$CONFIG_STATUS <<_ACEOF
++ 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
++ sed "$ac_vpsub
++$extrasub
++_ACEOF
++cat >>$CONFIG_STATUS <<\_ACEOF
++:t
++/@[a-zA-Z_][a-zA-Z_0-9]*@/!b
++s&@configure_input@&$configure_input&;t t
++s&@top_builddir@&$ac_top_builddir_sub&;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
++" $ac_file_inputs | sed -f "$tmp/subs-1.sed" >$tmp/out
++
++test -z "$ac_datarootdir_hack$ac_datarootdir_seen" &&
++ { ac_out=`sed -n '/\${datarootdir}/p' "$tmp/out"`; test -n "$ac_out"; } &&
++ { ac_out=`sed -n '/^[ ]*datarootdir[ ]*:*=/p' "$tmp/out"`; test -z "$ac_out"; } &&
++ { echo "$as_me:$LINENO: WARNING: $ac_file contains a reference to the variable \`datarootdir'
++which seems to be undefined. Please make sure it is defined." >&5
++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 "$tmp/stdin"
++ case $ac_file in
++ -) cat "$tmp/out"; rm -f "$tmp/out";;
++ *) rm -f "$ac_file"; mv "$tmp/out" $ac_file;;
++ esac
++ ;;
++
++
++
++ esac
++
++done # for ac_tag
++
++
++{ (exit 0); exit 0; }
++_ACEOF
++chmod +x $CONFIG_STATUS
++ac_clean_files=$ac_clean_files_save
++
++
++# 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 || { (exit 1); exit 1; }
++fi
++
+Index: libgnatprj/Makefile.in
+===================================================================
+--- /dev/null
++++ libgnatprj/Makefile.in
+@@ -0,0 +1,177 @@
++# Makefile for libgnatprj.
++# Copyright (c) 2006 Ludovic Brenta <ludovic@ludovic-brenta.org>
++#
++# This file 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 2 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, write to the Free Software
++# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
++
++# Default target; must be first.
++all: libgnatprj
++
++.SUFFIXES:
++
++CPUS := $(shell getconf _NPROCESSORS_ONLN)
++LIB_VERSION := $(strip $(shell grep ' Library_Version :' \
++ @srcdir@/../gcc/ada/gnatvsn.ads | \
++ sed -e 's/.*"\(.*\)".*/\1/'))
++GCC:=../gcc/xgcc -B../gcc/
++LIBGNAT_JUST_BUILT := -nostdinc -I../gcc/ada/rts
++LIBGNATVSN := -I../libgnatvsn
++CFLAGS := -g -O2
++ADAFLAGS := -g -O2 -gnatn
++BASEVER := $(shell cat @srcdir@/../gcc/BASE-VER)
++DEVPHASE := $(shell cat @srcdir@/../gcc/DEV-PHASE)
++DATESTAMP := $(shell cat @srcdir@/../gcc/DATESTAMP)
++TOOLS_TARGET_PAIRS := @TOOLS_TARGET_PAIRS@
++LN_S := @LN_S@
++
++ifneq (@build@,@host@)
++ CFLAGS += -b @host@
++endif
++
++.PHONY: libgnatprj install
++libgnatprj: libgnatprj.so.$(LIB_VERSION) libgnatprj.a
++
++# Here we list one file per Ada unit: the body file if the unit has a
++# body, the spec file otherwise.
++PRJ_SOURCES := ali.adb ali-util.adb butil.adb binderr.adb errout.adb \
++erroutc.adb errutil.adb err_vars.ads fname-uf.adb fmap.adb impunit.adb \
++lib-util.adb makeutl.adb mlib.adb mlib-fil.adb mlib-tgt.adb \
++mlib-tgt-specific.adb mlib-utl.adb osint.adb osint-c.adb prj.adb prj-attr.adb \
++prj-attr-pm.adb prj-com.ads prj-dect.adb prj-env.adb prj-err.adb prj-ext.adb \
++prj-nmsc.adb prj-pars.adb prj-part.adb prj-pp.adb prj-proc.adb prj-strt.adb \
++prj-tree.adb prj-util.adb rident.ads scng.adb sfn_scan.adb sinfo-cn.adb \
++sinput-c.adb sinput-p.adb style.ads styleg.adb styleg-c.adb stylesw.adb \
++switch.adb switch-m.adb targparm.adb tempdir.adb
++
++# Source files generated in build/gcc/ada, not src/gcc/ada.
++GENERATED_SOURCES := sdefault.adb
++
++SOURCES := $(PRJ_SOURCES) $(GENERATED_SOURCES)
++
++OBJECTS := $(patsubst %.ads,%.o,$(SOURCES:.adb=.o))
++
++# Add some object files compiled from C sources. prefix.o requires
++# some objects from libiberty.
++OBJECTS += concat.o link.o prefix.o xexit.o xmalloc.o xstrdup.o
++
++vpath %.c @srcdir@/../gcc/ada
++
++libgnatprj.so.$(LIB_VERSION): $(addprefix obj-shared/,$(OBJECTS))
++ : # Make libgnatprj.so
++ $(GCC) -o $@ -shared -fPIC -Wl,--soname,$@ $^ \
++ -L../gcc/ada/rts -lgnat-$(LIB_VERSION) \
++ -L../libgnatvsn -lgnatvsn
++ $(LN_S) -f libgnatprj.so.$(LIB_VERSION) libgnatprj.so
++ chmod a=r obj-shared/*.ali
++# Make the .ali files, but not the .o files, visible to the gnat tools.
++ cp -lp obj-shared/*.ali .
++
++$(addprefix obj-shared/,$(OBJECTS)): | stamp-libgnatprj-sources obj-shared
++
++obj-shared/%.o: %.adb
++ $(GCC) -c -fPIC $(ADAFLAGS) $(LIBGNAT_JUST_BUILT) $(LIBGNATVSN) $< -o $@
++
++obj-shared/%.o: %.ads
++ $(GCC) -c -fPIC $(ADAFLAGS) $(LIBGNAT_JUST_BUILT) $(LIBGNATVSN) $< -o $@
++
++obj-shared/%.o: %.c
++ $(GCC) -c -fPIC $(CFLAGS) -I@srcdir@/../gcc $< -o $@
++
++obj-shared/prefix.o: @srcdir@/../gcc/prefix.c
++ $(GCC) -c -fPIC $(CFLAGS) -DPREFIX=\"@prefix@\" -DBASEVER=\"$(BASEVER)\" \
++ -I@srcdir@/../gcc -I@srcdir@/../include -I../gcc -I../libiberty \
++ $< -o $@
++
++obj-shared/%.o: @srcdir@/../libiberty/%.c
++ $(GCC) -c -fPIC $(CFLAGS) \
++ -I@srcdir@/../libiberty -I@srcdir@/../include $< -o $@
++
++obj-shared:
++ -mkdir $@
++
++libgnatprj.a: $(addprefix obj-static/,$(OBJECTS))
++ : # Make libgnatprj.a
++ ar rc $@ $^
++ ranlib $@
++
++$(addprefix obj-static/,$(OBJECTS)): | stamp-libgnatprj-sources obj-static
++
++obj-static/%.o: %.adb
++ $(GCC) -c $(ADAFLAGS) $(LIBGNAT_JUST_BUILT) $(LIBGNATVSN) $< -o $@
++
++obj-static/%.o: %.ads
++ $(GCC) -c $(ADAFLAGS) $(LIBGNAT_JUST_BUILT) $(LIBGNATVSN) $< -o $@
++
++obj-static/%.o: %.c
++ $(GCC) -c $(CFLAGS) -I@srcdir@/../gcc $< -o $@
++
++obj-static/prefix.o: @srcdir@/../gcc/prefix.c
++ $(GCC) -c $(CFLAGS) -DPREFIX=\"@prefix@\" -DBASEVER=\"$(BASEVER)\" \
++ -I@srcdir@/../gcc -I@srcdir@/../include -I../gcc -I../libiberty \
++ $< -o $@
++
++obj-static/%.o: @srcdir@/../libiberty/%.c
++ $(GCC) -c -fPIC $(CFLAGS) \
++ -I@srcdir@/../libiberty -I@srcdir@/../include $< -o $@
++
++obj-static:
++ -mkdir $@
++
++$(SOURCES): stamp-libgnatprj-sources
++
++stamp-libgnatprj-sources:
++ for file in $(PRJ_SOURCES); do \
++ ads=$$(echo $$file | sed 's/\.adb/.ads/'); \
++ if [ -f @srcdir@/../gcc/ada/$$file -a ! -L $$file ] ; then $(LN_S) @srcdir@/../gcc/ada/$$file .; fi; \
++ if [ -f @srcdir@/../gcc/ada/$$ads -a ! -L $$ads ] ; then $(LN_S) @srcdir@/../gcc/ada/$$ads .; fi; \
++ done
++ for file in $(GENERATED_SOURCES); do \
++ ads=$$(echo $$file | sed 's/\.adb/.ads/'); \
++ if [ -f ../gcc/ada/$$file -a ! -L $$file ] ; then $(LN_S) ../gcc/ada/$$file .; fi; \
++ if [ -f ../gcc/ada/$$ads -a ! -L $$ads ] ; then $(LN_S) ../gcc/ada/$$ads .; \
++ else \
++ if [ -f @srcdir@/../gcc/ada/$$ads -a ! -L $$ads ] ; then $(LN_S) @srcdir@/../gcc/ada/$$ads .; fi; \
++ fi; \
++ done
++ $(foreach PAIR,$(TOOLS_TARGET_PAIRS), \
++ rm -f $(word 1,$(subst <, ,$(PAIR)));\
++ $(LN_S) @srcdir@/../gcc/ada/$(word 2,$(subst <, ,$(PAIR))) \
++ $(word 1,$(subst <, ,$(PAIR)));)
++ touch $@
++
++# Generate a list of source files (.ads and .adb) to install. Almost
++# all of them are in src/gcc/ada, but some are generated during build
++# and are in build/gcc/ada.
++BODIES := $(filter %.adb,$(PRJ_SOURCES))
++SPECS := $(filter %.ads,$(PRJ_SOURCES)) $(patsubst %.adb,%.ads,$(BODIES))
++SOURCES_TO_INSTALL := \
++$(addprefix @srcdir@/../gcc/ada/,$(SPECS) $(BODIES)) \
++$(addprefix ../gcc/ada/,$(GENERATED_SOURCES))
++
++install: libgnatprj
++ $(INSTALL_DATA) libgnatprj.a $(DESTDIR)$(prefix)/lib
++ $(INSTALL_DATA) libgnatprj.so.$(LIB_VERSION) $(DESTDIR)$(prefix)/lib
++ cd $(DESTDIR)$(prefix)/lib; \
++ ln -sf libgnatprj.so.$(LIB_VERSION) libgnatprj.so
++ mkdir -p $(DESTDIR)$(prefix)/share/ada/adainclude/gnatprj
++ $(INSTALL_DATA) $(SOURCES_TO_INSTALL) \
++ $(DESTDIR)$(prefix)/share/ada/adainclude/gnatprj
++ mkdir -p $(DESTDIR)$(prefix)/lib/ada/adalib/gnatprj
++ $(INSTALL) -m 0444 obj-shared/*.ali \
++ $(DESTDIR)$(prefix)/lib/ada/adalib/gnatprj
++ chmod a=r $(DESTDIR)$(prefix)/lib/ada/adalib/gnatprj/*.ali
++
++.PHONY: clean
++clean:
++ rm -rf *.ali obj-static obj-shared libgnatprj* *.adb *.ads stamp*
+Index: Makefile.def
+===================================================================
+--- Makefile.def.orig
++++ Makefile.def
+@@ -130,6 +130,13 @@
+ missing= TAGS;
+ missing= install-info;
+ missing= installcheck; };
++host_modules= { module= libgnatprj; no_check=true;
++ missing= info;
++ missing= dvi;
++ missing= html;
++ missing= TAGS;
++ missing= install-info;
++ missing= installcheck; };
+ host_modules= { module= gnattools; no_check=true;
+ missing= info;
+ missing= dvi;
+@@ -175,6 +182,13 @@
+ missing= TAGS;
+ missing= install-info;
+ missing= installcheck; };
++target_modules = { module= libgnatprj; no_check=true;
++ missing= info;
++ missing= dvi;
++ missing= html;
++ missing= TAGS;
++ missing= install-info;
++ missing= installcheck; };
+ target_modules = { module= libgomp; lib_path=.libs; };
+
+ // These are (some of) the make targets to be done in each subdirectory.
+@@ -346,7 +360,10 @@
+
+ dependencies = { module=all-gnattools; on=all-libada; };
+ dependencies = { module=all-gnattools; on=all-libgnatvsn; };
++dependencies = { module=all-gnattools; on=all-libgnatprj; };
+ dependencies = { module=all-libgnatvsn; on=all-libada; };
++dependencies = { module=all-libgnatprj; on=all-libada; };
++dependencies = { module=all-libgnatprj; on=all-libgnatvsn; };
+
+ dependencies = { module=configure-mpfr; on=all-gmp; };
+
+Index: Makefile.in
+===================================================================
+--- Makefile.in.orig
++++ Makefile.in
+@@ -699,6 +699,7 @@
+ maybe-configure-utils \
+ maybe-configure-libada \
+ maybe-configure-libgnatvsn \
++ maybe-configure-libgnatprj \
+ maybe-configure-gnattools
+ .PHONY: configure-target
+ configure-target: \
+@@ -723,6 +724,7 @@
+ maybe-configure-target-rda \
+ maybe-configure-target-libada \
+ maybe-configure-target-libgnatvsn \
++ maybe-configure-target-libgnatprj \
+ maybe-configure-target-libgomp
+
+ # The target built for a native non-bootstrap build.
+@@ -852,6 +854,7 @@
+ all-host: maybe-all-utils
+ all-host: maybe-all-libada
+ all-host: maybe-all-libgnatvsn
++all-host: maybe-all-libgnatprj
+ all-host: maybe-all-gnattools
+
+ .PHONY: all-target
+@@ -879,6 +882,7 @@
+ all-target: maybe-all-target-rda
+ all-target: maybe-all-target-libada
+ all-target: maybe-all-target-libgnatvsn
++all-target: maybe-all-target-libgnatprj
+ all-target: maybe-all-target-libgomp
+
+ # Do a target for all the subdirectories. A ``make do-X'' will do a
+@@ -968,6 +972,7 @@
+ info-host: maybe-info-utils
+ info-host: maybe-info-libada
+ info-host: maybe-info-libgnatvsn
++info-host: maybe-info-libgnatprj
+ info-host: maybe-info-gnattools
+
+ .PHONY: info-target
+@@ -993,6 +998,7 @@
+ info-target: maybe-info-target-rda
+ info-target: maybe-info-target-libada
+ info-target: maybe-info-target-libgnatvsn
++info-target: maybe-info-target-libgnatprj
+ info-target: maybe-info-target-libgomp
+
+ .PHONY: do-dvi
+@@ -1077,6 +1083,7 @@
+ dvi-host: maybe-dvi-utils
+ dvi-host: maybe-dvi-libada
+ dvi-host: maybe-dvi-libgnatvsn
++dvi-host: maybe-dvi-libgnatprj
+ dvi-host: maybe-dvi-gnattools
+
+ .PHONY: dvi-target
+@@ -1102,6 +1109,7 @@
+ dvi-target: maybe-dvi-target-rda
+ dvi-target: maybe-dvi-target-libada
+ dvi-target: maybe-dvi-target-libgnatvsn
++dvi-target: maybe-dvi-target-libgnatprj
+ dvi-target: maybe-dvi-target-libgomp
+
+ .PHONY: do-pdf
+@@ -1186,6 +1194,7 @@
+ pdf-host: maybe-pdf-utils
+ pdf-host: maybe-pdf-libada
+ pdf-host: maybe-pdf-libgnatvsn
++pdf-host: maybe-pdf-libgnatprj
+ pdf-host: maybe-pdf-gnattools
+
+ .PHONY: pdf-target
+@@ -1211,6 +1220,7 @@
+ pdf-target: maybe-pdf-target-rda
+ pdf-target: maybe-pdf-target-libada
+ pdf-target: maybe-pdf-target-libgnatvsn
++pdf-target: maybe-pdf-target-libgnatprj
+ pdf-target: maybe-pdf-target-libgomp
+
+ .PHONY: do-html
+@@ -1295,6 +1305,7 @@
+ html-host: maybe-html-utils
+ html-host: maybe-html-libada
+ html-host: maybe-html-libgnatvsn
++html-host: maybe-html-libgnatprj
+ html-host: maybe-html-gnattools
+
+ .PHONY: html-target
+@@ -1320,6 +1331,7 @@
+ html-target: maybe-html-target-rda
+ html-target: maybe-html-target-libada
+ html-target: maybe-html-target-libgnatvsn
++html-target: maybe-html-target-libgnatprj
+ html-target: maybe-html-target-libgomp
+
+ .PHONY: do-TAGS
+@@ -1404,6 +1416,7 @@
+ TAGS-host: maybe-TAGS-utils
+ TAGS-host: maybe-TAGS-libada
+ TAGS-host: maybe-TAGS-libgnatvsn
++TAGS-host: maybe-TAGS-libgnatprj
+ TAGS-host: maybe-TAGS-gnattools
+
+ .PHONY: TAGS-target
+@@ -1429,6 +1442,7 @@
+ TAGS-target: maybe-TAGS-target-rda
+ TAGS-target: maybe-TAGS-target-libada
+ TAGS-target: maybe-TAGS-target-libgnatvsn
++TAGS-target: maybe-TAGS-target-libgnatprj
+ TAGS-target: maybe-TAGS-target-libgomp
+
+ .PHONY: do-install-info
+@@ -1513,6 +1527,7 @@
+ install-info-host: maybe-install-info-utils
+ install-info-host: maybe-install-info-libada
+ install-info-host: maybe-install-info-libgnatvsn
++install-info-host: maybe-install-info-libgnatprj
+ install-info-host: maybe-install-info-gnattools
+
+ .PHONY: install-info-target
+@@ -1538,6 +1553,7 @@
+ install-info-target: maybe-install-info-target-rda
+ install-info-target: maybe-install-info-target-libada
+ install-info-target: maybe-install-info-target-libgnatvsn
++install-info-target: maybe-install-info-target-libgnatprj
+ install-info-target: maybe-install-info-target-libgomp
+
+ .PHONY: do-install-pdf
+@@ -1622,6 +1638,7 @@
+ install-pdf-host: maybe-install-pdf-utils
+ install-pdf-host: maybe-install-pdf-libada
+ install-pdf-host: maybe-install-pdf-libgnatvsn
++install-pdf-host: maybe-install-pdf-libgnatprj
+ install-pdf-host: maybe-install-pdf-gnattools
+
+ .PHONY: install-pdf-target
+@@ -1647,6 +1664,7 @@
+ install-pdf-target: maybe-install-pdf-target-rda
+ install-pdf-target: maybe-install-pdf-target-libada
+ install-pdf-target: maybe-install-pdf-target-libgnatvsn
++install-pdf-target: maybe-install-pdf-target-libgnatprj
+ install-pdf-target: maybe-install-pdf-target-libgomp
+
+ .PHONY: do-install-html
+@@ -1731,6 +1749,7 @@
+ install-html-host: maybe-install-html-utils
+ install-html-host: maybe-install-html-libada
+ install-html-host: maybe-install-html-libgnatvsn
++install-html-host: maybe-install-html-libgnatprj
+ install-html-host: maybe-install-html-gnattools
+
+ .PHONY: install-html-target
+@@ -1756,6 +1775,7 @@
+ install-html-target: maybe-install-html-target-rda
+ install-html-target: maybe-install-html-target-libada
+ install-html-target: maybe-install-html-target-libgnatvsn
++install-html-target: maybe-install-html-target-libgnatprj
+ install-html-target: maybe-install-html-target-libgomp
+
+ .PHONY: do-installcheck
+@@ -1840,6 +1860,7 @@
+ installcheck-host: maybe-installcheck-utils
+ installcheck-host: maybe-installcheck-libada
+ installcheck-host: maybe-installcheck-libgnatvsn
++installcheck-host: maybe-installcheck-libgnatprj
+ installcheck-host: maybe-installcheck-gnattools
+
+ .PHONY: installcheck-target
+@@ -1865,6 +1886,7 @@
+ installcheck-target: maybe-installcheck-target-rda
+ installcheck-target: maybe-installcheck-target-libada
+ installcheck-target: maybe-installcheck-target-libgnatvsn
++installcheck-target: maybe-installcheck-target-libgnatprj
+ installcheck-target: maybe-installcheck-target-libgomp
+
+ .PHONY: do-mostlyclean
+@@ -1949,6 +1971,7 @@
+ mostlyclean-host: maybe-mostlyclean-utils
+ mostlyclean-host: maybe-mostlyclean-libada
+ mostlyclean-host: maybe-mostlyclean-libgnatvsn
++mostlyclean-host: maybe-mostlyclean-libgnatprj
+ mostlyclean-host: maybe-mostlyclean-gnattools
+
+ .PHONY: mostlyclean-target
+@@ -1974,6 +1997,7 @@
+ mostlyclean-target: maybe-mostlyclean-target-rda
+ mostlyclean-target: maybe-mostlyclean-target-libada
+ mostlyclean-target: maybe-mostlyclean-target-libgnatvsn
++mostlyclean-target: maybe-mostlyclean-target-libgnatprj
+ mostlyclean-target: maybe-mostlyclean-target-libgomp
+
+ .PHONY: do-clean
+@@ -2058,6 +2082,7 @@
+ clean-host: maybe-clean-utils
+ clean-host: maybe-clean-libada
+ clean-host: maybe-clean-libgnatvsn
++clean-host: maybe-clean-libgnatprj
+ clean-host: maybe-clean-gnattools
+
+ .PHONY: clean-target
+@@ -2083,6 +2108,7 @@
+ clean-target: maybe-clean-target-rda
+ clean-target: maybe-clean-target-libada
+ clean-target: maybe-clean-target-libgnatvsn
++clean-target: maybe-clean-target-libgnatprj
+ clean-target: maybe-clean-target-libgomp
+
+ .PHONY: do-distclean
+@@ -2167,6 +2193,7 @@
+ distclean-host: maybe-distclean-utils
+ distclean-host: maybe-distclean-libada
+ distclean-host: maybe-distclean-libgnatvsn
++distclean-host: maybe-distclean-libgnatprj
+ distclean-host: maybe-distclean-gnattools
+
+ .PHONY: distclean-target
+@@ -2192,6 +2219,7 @@
+ distclean-target: maybe-distclean-target-rda
+ distclean-target: maybe-distclean-target-libada
+ distclean-target: maybe-distclean-target-libgnatvsn
++distclean-target: maybe-distclean-target-libgnatprj
+ distclean-target: maybe-distclean-target-libgomp
+
+ .PHONY: do-maintainer-clean
+@@ -2276,6 +2304,7 @@
+ maintainer-clean-host: maybe-maintainer-clean-utils
+ maintainer-clean-host: maybe-maintainer-clean-libada
+ maintainer-clean-host: maybe-maintainer-clean-libgnatvsn
++maintainer-clean-host: maybe-maintainer-clean-libgnatprj
+ maintainer-clean-host: maybe-maintainer-clean-gnattools
+
+ .PHONY: maintainer-clean-target
+@@ -2301,6 +2330,7 @@
+ maintainer-clean-target: maybe-maintainer-clean-target-rda
+ maintainer-clean-target: maybe-maintainer-clean-target-libada
+ maintainer-clean-target: maybe-maintainer-clean-target-libgnatvsn
++maintainer-clean-target: maybe-maintainer-clean-target-libgnatprj
+ maintainer-clean-target: maybe-maintainer-clean-target-libgomp
+
+
+@@ -2439,6 +2469,7 @@
+ maybe-check-utils \
+ maybe-check-libada \
+ maybe-check-libgnatvsn \
++ maybe-check-libgnatprj \
+ maybe-check-gnattools
+
+ .PHONY: check-target
+@@ -2464,6 +2495,7 @@
+ maybe-check-target-rda \
+ maybe-check-target-libada \
+ maybe-check-target-libgnatvsn \
++ maybe-check-target-libgnatprj \
+ maybe-check-target-libgomp
+
+ do-check:
+@@ -2574,6 +2606,7 @@
+ maybe-install-utils \
+ maybe-install-libada \
+ maybe-install-libgnatvsn \
++ maybe-install-libgnatprj \
+ maybe-install-gnattools
+
+ .PHONY: install-host
+@@ -2649,6 +2682,7 @@
+ maybe-install-utils \
+ maybe-install-libada \
+ maybe-install-libgnatvsn \
++ maybe-install-libgnatprj \
+ maybe-install-gnattools
+
+ .PHONY: install-target
+@@ -2674,6 +2708,7 @@
+ maybe-install-target-rda \
+ maybe-install-target-libada \
+ maybe-install-target-libgnatvsn \
++ maybe-install-target-libgnatprj \
+ maybe-install-target-libgomp
+
+ uninstall:
+@@ -39562,6 +39597,327 @@
+
+
+
++.PHONY: configure-libgnatprj maybe-configure-libgnatprj
++maybe-configure-libgnatprj:
++@if gcc-bootstrap
++configure-libgnatprj: stage_current
++@endif gcc-bootstrap
++@if libgnatprj
++maybe-configure-libgnatprj: configure-libgnatprj
++configure-libgnatprj:
++ @: $(MAKE); $(unstage)
++ @r=`${PWD_COMMAND}`; export r; \
++ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
++ test ! -f $(HOST_SUBDIR)/libgnatprj/Makefile || exit 0; \
++ $(SHELL) $(srcdir)/mkinstalldirs $(HOST_SUBDIR)/libgnatprj ; \
++ $(HOST_EXPORTS) \
++ echo Configuring in $(HOST_SUBDIR)/libgnatprj; \
++ cd "$(HOST_SUBDIR)/libgnatprj" || exit 1; \
++ case $(srcdir) in \
++ /* | [A-Za-z]:[\\/]*) topdir=$(srcdir) ;; \
++ *) topdir=`echo $(HOST_SUBDIR)/libgnatprj/ | \
++ sed -e 's,\./,,g' -e 's,[^/]*/,../,g' `$(srcdir) ;; \
++ esac; \
++ srcdiroption="--srcdir=$${topdir}/libgnatprj"; \
++ libsrcdir="$$s/libgnatprj"; \
++ $(SHELL) $${libsrcdir}/configure \
++ $(HOST_CONFIGARGS) --build=${build_alias} --host=${host_alias} \
++ --target=${target_alias} $${srcdiroption} \
++ || exit 1
++@endif libgnatprj
++
++
++
++
++
++.PHONY: all-libgnatprj maybe-all-libgnatprj
++maybe-all-libgnatprj:
++@if gcc-bootstrap
++all-libgnatprj: stage_current
++@endif gcc-bootstrap
++@if libgnatprj
++TARGET-libgnatprj=all
++maybe-all-libgnatprj: all-libgnatprj
++all-libgnatprj: configure-libgnatprj
++ @: $(MAKE); $(unstage)
++ @r=`${PWD_COMMAND}`; export r; \
++ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
++ $(HOST_EXPORTS) \
++ (cd $(HOST_SUBDIR)/libgnatprj && \
++ $(MAKE) $(FLAGS_TO_PASS) $(TARGET-libgnatprj))
++@endif libgnatprj
++
++
++
++
++.PHONY: check-libgnatprj maybe-check-libgnatprj
++maybe-check-libgnatprj:
++@if libgnatprj
++maybe-check-libgnatprj: check-libgnatprj
++
++check-libgnatprj:
++
++@endif libgnatprj
++
++.PHONY: install-libgnatprj maybe-install-libgnatprj
++maybe-install-libgnatprj:
++@if libgnatprj
++maybe-install-libgnatprj: install-libgnatprj
++
++install-libgnatprj: installdirs
++ @: $(MAKE); $(unstage)
++ @r=`${PWD_COMMAND}`; export r; \
++ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
++ $(HOST_EXPORTS) \
++ (cd $(HOST_SUBDIR)/libgnatprj && \
++ $(MAKE) $(FLAGS_TO_PASS) install)
++
++@endif libgnatprj
++
++# Other targets (info, dvi, pdf, etc.)
++
++.PHONY: maybe-info-libgnatprj info-libgnatprj
++maybe-info-libgnatprj:
++@if libgnatprj
++maybe-info-libgnatprj: info-libgnatprj
++
++# libgnatprj doesn't support info.
++info-libgnatprj:
++
++@endif libgnatprj
++
++.PHONY: maybe-dvi-libgnatprj dvi-libgnatprj
++maybe-dvi-libgnatprj:
++@if libgnatprj
++maybe-dvi-libgnatprj: dvi-libgnatprj
++
++# libgnatprj doesn't support dvi.
++dvi-libgnatprj:
++
++@endif libgnatprj
++
++.PHONY: maybe-pdf-libgnatprj pdf-libgnatprj
++maybe-pdf-libgnatprj:
++@if libgnatprj
++maybe-pdf-libgnatprj: pdf-libgnatprj
++
++pdf-libgnatprj: \
++ configure-libgnatprj
++ @: $(MAKE); $(unstage)
++ @[ -f ./libgnatprj/Makefile ] || exit 0; \
++ r=`${PWD_COMMAND}`; export r; \
++ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
++ $(HOST_EXPORTS) \
++ for flag in $(EXTRA_HOST_FLAGS) ; do \
++ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
++ done; \
++ echo "Doing pdf in libgnatprj" ; \
++ (cd $(HOST_SUBDIR)/libgnatprj && \
++ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
++ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
++ "RANLIB=$${RANLIB}" \
++ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" "WINDMC=$${WINDMC}" \
++ pdf) \
++ || exit 1
++
++@endif libgnatprj
++
++.PHONY: maybe-html-libgnatprj html-libgnatprj
++maybe-html-libgnatprj:
++@if libgnatprj
++maybe-html-libgnatprj: html-libgnatprj
++
++# libgnatprj doesn't support html.
++html-libgnatprj:
++
++@endif libgnatprj
++
++.PHONY: maybe-TAGS-libgnatprj TAGS-libgnatprj
++maybe-TAGS-libgnatprj:
++@if libgnatprj
++maybe-TAGS-libgnatprj: TAGS-libgnatprj
++
++# libgnatprj doesn't support TAGS.
++TAGS-libgnatprj:
++
++@endif libgnatprj
++
++.PHONY: maybe-install-info-libgnatprj install-info-libgnatprj
++maybe-install-info-libgnatprj:
++@if libgnatprj
++maybe-install-info-libgnatprj: install-info-libgnatprj
++
++# libgnatprj doesn't support install-info.
++install-info-libgnatprj:
++
++@endif libgnatprj
++
++.PHONY: maybe-install-pdf-libgnatprj install-pdf-libgnatprj
++maybe-install-pdf-libgnatprj:
++@if libgnatprj
++maybe-install-pdf-libgnatprj: install-pdf-libgnatprj
++
++install-pdf-libgnatprj: \
++ configure-libgnatprj \
++ pdf-libgnatprj
++ @: $(MAKE); $(unstage)
++ @[ -f ./libgnatprj/Makefile ] || exit 0; \
++ r=`${PWD_COMMAND}`; export r; \
++ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
++ $(HOST_EXPORTS) \
++ for flag in $(EXTRA_HOST_FLAGS) ; do \
++ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
++ done; \
++ echo "Doing install-pdf in libgnatprj" ; \
++ (cd $(HOST_SUBDIR)/libgnatprj && \
++ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
++ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
++ "RANLIB=$${RANLIB}" \
++ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" "WINDMC=$${WINDMC}" \
++ install-pdf) \
++ || exit 1
++
++@endif libgnatprj
++
++.PHONY: maybe-install-html-libgnatprj install-html-libgnatprj
++maybe-install-html-libgnatprj:
++@if libgnatprj
++maybe-install-html-libgnatprj: install-html-libgnatprj
++
++install-html-libgnatprj: \
++ configure-libgnatprj \
++ html-libgnatprj
++ @: $(MAKE); $(unstage)
++ @[ -f ./libgnatprj/Makefile ] || exit 0; \
++ r=`${PWD_COMMAND}`; export r; \
++ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
++ $(HOST_EXPORTS) \
++ for flag in $(EXTRA_HOST_FLAGS) ; do \
++ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
++ done; \
++ echo "Doing install-html in libgnatprj" ; \
++ (cd $(HOST_SUBDIR)/libgnatprj && \
++ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
++ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
++ "RANLIB=$${RANLIB}" \
++ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" "WINDMC=$${WINDMC}" \
++ install-html) \
++ || exit 1
++
++@endif libgnatprj
++
++.PHONY: maybe-installcheck-libgnatprj installcheck-libgnatprj
++maybe-installcheck-libgnatprj:
++@if libgnatprj
++maybe-installcheck-libgnatprj: installcheck-libgnatprj
++
++# libgnatprj doesn't support installcheck.
++installcheck-libgnatprj:
++
++@endif libgnatprj
++
++.PHONY: maybe-mostlyclean-libgnatprj mostlyclean-libgnatprj
++maybe-mostlyclean-libgnatprj:
++@if libgnatprj
++maybe-mostlyclean-libgnatprj: mostlyclean-libgnatprj
++
++mostlyclean-libgnatprj:
++ @: $(MAKE); $(unstage)
++ @[ -f ./libgnatprj/Makefile ] || exit 0; \
++ r=`${PWD_COMMAND}`; export r; \
++ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
++ $(HOST_EXPORTS) \
++ for flag in $(EXTRA_HOST_FLAGS) ; do \
++ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
++ done; \
++ echo "Doing mostlyclean in libgnatprj" ; \
++ (cd $(HOST_SUBDIR)/libgnatprj && \
++ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
++ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
++ "RANLIB=$${RANLIB}" \
++ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" "WINDMC=$${WINDMC}" \
++ mostlyclean) \
++ || exit 1
++
++@endif libgnatprj
++
++.PHONY: maybe-clean-libgnatprj clean-libgnatprj
++maybe-clean-libgnatprj:
++@if libgnatprj
++maybe-clean-libgnatprj: clean-libgnatprj
++
++clean-libgnatprj:
++ @: $(MAKE); $(unstage)
++ @[ -f ./libgnatprj/Makefile ] || exit 0; \
++ r=`${PWD_COMMAND}`; export r; \
++ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
++ $(HOST_EXPORTS) \
++ for flag in $(EXTRA_HOST_FLAGS) ; do \
++ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
++ done; \
++ echo "Doing clean in libgnatprj" ; \
++ (cd $(HOST_SUBDIR)/libgnatprj && \
++ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
++ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
++ "RANLIB=$${RANLIB}" \
++ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" "WINDMC=$${WINDMC}" \
++ clean) \
++ || exit 1
++
++@endif libgnatprj
++
++.PHONY: maybe-distclean-libgnatprj distclean-libgnatprj
++maybe-distclean-libgnatprj:
++@if libgnatprj
++maybe-distclean-libgnatprj: distclean-libgnatprj
++
++distclean-libgnatprj:
++ @: $(MAKE); $(unstage)
++ @[ -f ./libgnatprj/Makefile ] || exit 0; \
++ r=`${PWD_COMMAND}`; export r; \
++ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
++ $(HOST_EXPORTS) \
++ for flag in $(EXTRA_HOST_FLAGS) ; do \
++ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
++ done; \
++ echo "Doing distclean in libgnatprj" ; \
++ (cd $(HOST_SUBDIR)/libgnatprj && \
++ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
++ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
++ "RANLIB=$${RANLIB}" \
++ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" "WINDMC=$${WINDMC}" \
++ distclean) \
++ || exit 1
++
++@endif libgnatprj
++
++.PHONY: maybe-maintainer-clean-libgnatprj maintainer-clean-libgnatprj
++maybe-maintainer-clean-libgnatprj:
++@if libgnatprj
++maybe-maintainer-clean-libgnatprj: maintainer-clean-libgnatprj
++
++maintainer-clean-libgnatprj:
++ @: $(MAKE); $(unstage)
++ @[ -f ./libgnatprj/Makefile ] || exit 0; \
++ r=`${PWD_COMMAND}`; export r; \
++ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
++ $(HOST_EXPORTS) \
++ for flag in $(EXTRA_HOST_FLAGS) ; do \
++ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
++ done; \
++ echo "Doing maintainer-clean in libgnatprj" ; \
++ (cd $(HOST_SUBDIR)/libgnatprj && \
++ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
++ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
++ "RANLIB=$${RANLIB}" \
++ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" "WINDMC=$${WINDMC}" \
++ maintainer-clean) \
++ || exit 1
++
++@endif libgnatprj
++
++
++
+ .PHONY: configure-gnattools maybe-configure-gnattools
+ maybe-configure-gnattools:
+ @if gcc-bootstrap
+@@ -49480,6 +49836,345 @@
+
+
+
++.PHONY: configure-target-libgnatprj maybe-configure-target-libgnatprj
++maybe-configure-target-libgnatprj:
++@if gcc-bootstrap
++configure-target-libgnatprj: stage_current
++@endif gcc-bootstrap
++@if target-libgnatprj
++maybe-configure-target-libgnatprj: configure-target-libgnatprj
++configure-target-libgnatprj:
++ @: $(MAKE); $(unstage)
++ @r=`${PWD_COMMAND}`; export r; \
++ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
++ echo "Checking multilib configuration for libgnatprj..."; \
++ $(SHELL) $(srcdir)/mkinstalldirs $(TARGET_SUBDIR)/libgnatprj ; \
++ $(CC_FOR_TARGET) --print-multi-lib > $(TARGET_SUBDIR)/libgnatprj/multilib.tmp 2> /dev/null ; \
++ if test -r $(TARGET_SUBDIR)/libgnatprj/multilib.out; then \
++ if cmp -s $(TARGET_SUBDIR)/libgnatprj/multilib.tmp $(TARGET_SUBDIR)/libgnatprj/multilib.out; then \
++ rm -f $(TARGET_SUBDIR)/libgnatprj/multilib.tmp; \
++ else \
++ rm -f $(TARGET_SUBDIR)/libgnatprj/Makefile; \
++ mv $(TARGET_SUBDIR)/libgnatprj/multilib.tmp $(TARGET_SUBDIR)/libgnatprj/multilib.out; \
++ fi; \
++ else \
++ mv $(TARGET_SUBDIR)/libgnatprj/multilib.tmp $(TARGET_SUBDIR)/libgnatprj/multilib.out; \
++ fi; \
++ test ! -f $(TARGET_SUBDIR)/libgnatprj/Makefile || exit 0; \
++ $(SHELL) $(srcdir)/mkinstalldirs $(TARGET_SUBDIR)/libgnatprj ; \
++ $(NORMAL_TARGET_EXPORTS) \
++ echo Configuring in $(TARGET_SUBDIR)/libgnatprj; \
++ cd "$(TARGET_SUBDIR)/libgnatprj" || exit 1; \
++ case $(srcdir) in \
++ /* | [A-Za-z]:[\\/]*) topdir=$(srcdir) ;; \
++ *) topdir=`echo $(TARGET_SUBDIR)/libgnatprj/ | \
++ sed -e 's,\./,,g' -e 's,[^/]*/,../,g' `$(srcdir) ;; \
++ esac; \
++ srcdiroption="--srcdir=$${topdir}/libgnatprj"; \
++ libsrcdir="$$s/libgnatprj"; \
++ rm -f no-such-file || : ; \
++ CONFIG_SITE=no-such-file $(SHELL) $${libsrcdir}/configure \
++ $(TARGET_CONFIGARGS) --build=${build_alias} --host=${target_alias} \
++ --target=${target_alias} $${srcdiroption} \
++ || exit 1
++@endif target-libgnatprj
++
++
++
++
++
++.PHONY: all-target-libgnatprj maybe-all-target-libgnatprj
++maybe-all-target-libgnatprj:
++@if gcc-bootstrap
++all-target-libgnatprj: stage_current
++@endif gcc-bootstrap
++@if target-libgnatprj
++TARGET-target-libgnatprj=all
++maybe-all-target-libgnatprj: all-target-libgnatprj
++all-target-libgnatprj: configure-target-libgnatprj
++ @: $(MAKE); $(unstage)
++ @r=`${PWD_COMMAND}`; export r; \
++ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
++ $(NORMAL_TARGET_EXPORTS) \
++ (cd $(TARGET_SUBDIR)/libgnatprj && \
++ $(MAKE) $(TARGET_FLAGS_TO_PASS) $(TARGET-target-libgnatprj))
++@endif target-libgnatprj
++
++
++
++
++
++.PHONY: check-target-libgnatprj maybe-check-target-libgnatprj
++maybe-check-target-libgnatprj:
++@if target-libgnatprj
++maybe-check-target-libgnatprj: check-target-libgnatprj
++
++# Dummy target for uncheckable module.
++check-target-libgnatprj:
++
++@endif target-libgnatprj
++
++.PHONY: install-target-libgnatprj maybe-install-target-libgnatprj
++maybe-install-target-libgnatprj:
++@if target-libgnatprj
++maybe-install-target-libgnatprj: install-target-libgnatprj
++
++install-target-libgnatprj: installdirs
++ @: $(MAKE); $(unstage)
++ @r=`${PWD_COMMAND}`; export r; \
++ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
++ $(NORMAL_TARGET_EXPORTS) \
++ (cd $(TARGET_SUBDIR)/libgnatprj && \
++ $(MAKE) $(TARGET_FLAGS_TO_PASS) install)
++
++@endif target-libgnatprj
++
++# Other targets (info, dvi, pdf, etc.)
++
++.PHONY: maybe-info-target-libgnatprj info-target-libgnatprj
++maybe-info-target-libgnatprj:
++@if target-libgnatprj
++maybe-info-target-libgnatprj: info-target-libgnatprj
++
++# libgnatprj doesn't support info.
++info-target-libgnatprj:
++
++@endif target-libgnatprj
++
++.PHONY: maybe-dvi-target-libgnatprj dvi-target-libgnatprj
++maybe-dvi-target-libgnatprj:
++@if target-libgnatprj
++maybe-dvi-target-libgnatprj: dvi-target-libgnatprj
++
++# libgnatprj doesn't support dvi.
++dvi-target-libgnatprj:
++
++@endif target-libgnatprj
++
++.PHONY: maybe-pdf-target-libgnatprj pdf-target-libgnatprj
++maybe-pdf-target-libgnatprj:
++@if target-libgnatprj
++maybe-pdf-target-libgnatprj: pdf-target-libgnatprj
++
++pdf-target-libgnatprj: \
++ configure-target-libgnatprj
++ @: $(MAKE); $(unstage)
++ @[ -f $(TARGET_SUBDIR)/libgnatprj/Makefile ] || exit 0 ; \
++ r=`${PWD_COMMAND}`; export r; \
++ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
++ $(NORMAL_TARGET_EXPORTS) \
++ echo "Doing pdf in $(TARGET_SUBDIR)/libgnatprj" ; \
++ for flag in $(EXTRA_TARGET_FLAGS); do \
++ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
++ done; \
++ (cd $(TARGET_SUBDIR)/libgnatprj && \
++ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
++ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
++ "RANLIB=$${RANLIB}" \
++ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" "WINDMC=$${WINDMC}" \
++ pdf) \
++ || exit 1
++
++@endif target-libgnatprj
++
++.PHONY: maybe-html-target-libgnatprj html-target-libgnatprj
++maybe-html-target-libgnatprj:
++@if target-libgnatprj
++maybe-html-target-libgnatprj: html-target-libgnatprj
++
++# libgnatprj doesn't support html.
++html-target-libgnatprj:
++
++@endif target-libgnatprj
++
++.PHONY: maybe-TAGS-target-libgnatprj TAGS-target-libgnatprj
++maybe-TAGS-target-libgnatprj:
++@if target-libgnatprj
++maybe-TAGS-target-libgnatprj: TAGS-target-libgnatprj
++
++# libgnatprj doesn't support TAGS.
++TAGS-target-libgnatprj:
++
++@endif target-libgnatprj
++
++.PHONY: maybe-install-info-target-libgnatprj install-info-target-libgnatprj
++maybe-install-info-target-libgnatprj:
++@if target-libgnatprj
++maybe-install-info-target-libgnatprj: install-info-target-libgnatprj
++
++# libgnatprj doesn't support install-info.
++install-info-target-libgnatprj:
++
++@endif target-libgnatprj
++
++.PHONY: maybe-install-pdf-target-libgnatprj install-pdf-target-libgnatprj
++maybe-install-pdf-target-libgnatprj:
++@if target-libgnatprj
++maybe-install-pdf-target-libgnatprj: install-pdf-target-libgnatprj
++
++install-pdf-target-libgnatprj: \
++ configure-target-libgnatprj \
++ pdf-target-libgnatprj
++ @: $(MAKE); $(unstage)
++ @[ -f $(TARGET_SUBDIR)/libgnatprj/Makefile ] || exit 0 ; \
++ r=`${PWD_COMMAND}`; export r; \
++ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
++ $(NORMAL_TARGET_EXPORTS) \
++ echo "Doing install-pdf in $(TARGET_SUBDIR)/libgnatprj" ; \
++ for flag in $(EXTRA_TARGET_FLAGS); do \
++ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
++ done; \
++ (cd $(TARGET_SUBDIR)/libgnatprj && \
++ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
++ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
++ "RANLIB=$${RANLIB}" \
++ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" "WINDMC=$${WINDMC}" \
++ install-pdf) \
++ || exit 1
++
++@endif target-libgnatprj
++
++.PHONY: maybe-install-html-target-libgnatprj install-html-target-libgnatprj
++maybe-install-html-target-libgnatprj:
++@if target-libgnatprj
++maybe-install-html-target-libgnatprj: install-html-target-libgnatprj
++
++install-html-target-libgnatprj: \
++ configure-target-libgnatprj \
++ html-target-libgnatprj
++ @: $(MAKE); $(unstage)
++ @[ -f $(TARGET_SUBDIR)/libgnatprj/Makefile ] || exit 0 ; \
++ r=`${PWD_COMMAND}`; export r; \
++ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
++ $(NORMAL_TARGET_EXPORTS) \
++ echo "Doing install-html in $(TARGET_SUBDIR)/libgnatprj" ; \
++ for flag in $(EXTRA_TARGET_FLAGS); do \
++ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
++ done; \
++ (cd $(TARGET_SUBDIR)/libgnatprj && \
++ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
++ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
++ "RANLIB=$${RANLIB}" \
++ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" "WINDMC=$${WINDMC}" \
++ install-html) \
++ || exit 1
++
++@endif target-libgnatprj
++
++.PHONY: maybe-installcheck-target-libgnatprj installcheck-target-libgnatprj
++maybe-installcheck-target-libgnatprj:
++@if target-libgnatprj
++maybe-installcheck-target-libgnatprj: installcheck-target-libgnatprj
++
++# libgnatprj doesn't support installcheck.
++installcheck-target-libgnatprj:
++
++@endif target-libgnatprj
++
++.PHONY: maybe-mostlyclean-target-libgnatprj mostlyclean-target-libgnatprj
++maybe-mostlyclean-target-libgnatprj:
++@if target-libgnatprj
++maybe-mostlyclean-target-libgnatprj: mostlyclean-target-libgnatprj
++
++mostlyclean-target-libgnatprj:
++ @: $(MAKE); $(unstage)
++ @[ -f $(TARGET_SUBDIR)/libgnatprj/Makefile ] || exit 0 ; \
++ r=`${PWD_COMMAND}`; export r; \
++ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
++ $(NORMAL_TARGET_EXPORTS) \
++ echo "Doing mostlyclean in $(TARGET_SUBDIR)/libgnatprj" ; \
++ for flag in $(EXTRA_TARGET_FLAGS); do \
++ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
++ done; \
++ (cd $(TARGET_SUBDIR)/libgnatprj && \
++ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
++ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
++ "RANLIB=$${RANLIB}" \
++ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" "WINDMC=$${WINDMC}" \
++ mostlyclean) \
++ || exit 1
++
++@endif target-libgnatprj
++
++.PHONY: maybe-clean-target-libgnatprj clean-target-libgnatprj
++maybe-clean-target-libgnatprj:
++@if target-libgnatprj
++maybe-clean-target-libgnatprj: clean-target-libgnatprj
++
++clean-target-libgnatprj:
++ @: $(MAKE); $(unstage)
++ @[ -f $(TARGET_SUBDIR)/libgnatprj/Makefile ] || exit 0 ; \
++ r=`${PWD_COMMAND}`; export r; \
++ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
++ $(NORMAL_TARGET_EXPORTS) \
++ echo "Doing clean in $(TARGET_SUBDIR)/libgnatprj" ; \
++ for flag in $(EXTRA_TARGET_FLAGS); do \
++ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
++ done; \
++ (cd $(TARGET_SUBDIR)/libgnatprj && \
++ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
++ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
++ "RANLIB=$${RANLIB}" \
++ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" "WINDMC=$${WINDMC}" \
++ clean) \
++ || exit 1
++
++@endif target-libgnatprj
++
++.PHONY: maybe-distclean-target-libgnatprj distclean-target-libgnatprj
++maybe-distclean-target-libgnatprj:
++@if target-libgnatprj
++maybe-distclean-target-libgnatprj: distclean-target-libgnatprj
++
++distclean-target-libgnatprj:
++ @: $(MAKE); $(unstage)
++ @[ -f $(TARGET_SUBDIR)/libgnatprj/Makefile ] || exit 0 ; \
++ r=`${PWD_COMMAND}`; export r; \
++ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
++ $(NORMAL_TARGET_EXPORTS) \
++ echo "Doing distclean in $(TARGET_SUBDIR)/libgnatprj" ; \
++ for flag in $(EXTRA_TARGET_FLAGS); do \
++ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
++ done; \
++ (cd $(TARGET_SUBDIR)/libgnatprj && \
++ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
++ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
++ "RANLIB=$${RANLIB}" \
++ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" "WINDMC=$${WINDMC}" \
++ distclean) \
++ || exit 1
++
++@endif target-libgnatprj
++
++.PHONY: maybe-maintainer-clean-target-libgnatprj maintainer-clean-target-libgnatprj
++maybe-maintainer-clean-target-libgnatprj:
++@if target-libgnatprj
++maybe-maintainer-clean-target-libgnatprj: maintainer-clean-target-libgnatprj
++
++maintainer-clean-target-libgnatprj:
++ @: $(MAKE); $(unstage)
++ @[ -f $(TARGET_SUBDIR)/libgnatprj/Makefile ] || exit 0 ; \
++ r=`${PWD_COMMAND}`; export r; \
++ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
++ $(NORMAL_TARGET_EXPORTS) \
++ echo "Doing maintainer-clean in $(TARGET_SUBDIR)/libgnatprj" ; \
++ for flag in $(EXTRA_TARGET_FLAGS); do \
++ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
++ done; \
++ (cd $(TARGET_SUBDIR)/libgnatprj && \
++ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
++ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
++ "RANLIB=$${RANLIB}" \
++ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" "WINDMC=$${WINDMC}" \
++ maintainer-clean) \
++ || exit 1
++
++@endif target-libgnatprj
++
++
++
++
++
+ .PHONY: configure-target-libgomp maybe-configure-target-libgomp
+ maybe-configure-target-libgomp:
+ @if gcc-bootstrap
+@@ -52030,6 +52725,7 @@
+ configure-target-rda: stage_last
+ configure-target-libada: stage_last
+ configure-target-libgnatvsn: stage_last
++configure-target-libgnatprj: stage_last
+ configure-target-libgomp: stage_last
+ @endif gcc-bootstrap
+
+@@ -52055,6 +52751,7 @@
+ configure-target-rda: maybe-all-gcc
+ configure-target-libada: maybe-all-gcc
+ configure-target-libgnatvsn: maybe-all-gcc
++configure-target-libgnatprj: maybe-all-gcc
+ configure-target-libgomp: maybe-all-gcc
+ @endif gcc-no-bootstrap
+
+@@ -52310,7 +53007,10 @@
+ all-fixincludes: maybe-all-libiberty
+ all-gnattools: maybe-all-libada
+ all-gnattools: maybe-all-libgnatvsn
++all-gnattools: maybe-all-libgnatprj
+ all-libgnatvsn: maybe-all-libada
++all-libgnatprj: maybe-all-libada
++all-libgnatprj: maybe-all-libgnatvsn
+ configure-mpfr: maybe-all-gmp
+
+ configure-stage1-mpfr: maybe-all-stage1-gmp
+@@ -52749,6 +53449,7 @@
+ configure-target-rda: maybe-all-target-libgcc
+ configure-target-libada: maybe-all-target-libgcc
+ configure-target-libgnatvsn: maybe-all-target-libgcc
++configure-target-libgnatprj: maybe-all-target-libgcc
+ configure-target-libgomp: maybe-all-target-libgcc
+ @endif gcc-no-bootstrap
+
+@@ -52793,6 +53494,8 @@
+
+ configure-target-libgnatvsn: maybe-all-target-newlib maybe-all-target-libgloss
+
++configure-target-libgnatprj: maybe-all-target-newlib maybe-all-target-libgloss
++
+ configure-target-libgomp: maybe-all-target-newlib maybe-all-target-libgloss
+
+
+Index: configure.ac
+===================================================================
+--- configure.ac.orig
++++ configure.ac
+@@ -155,7 +155,7 @@
+
+ # these libraries are used by various programs built for the host environment
+ #
+-host_libs="intl mmalloc libiberty opcodes bfd readline tcl tk itcl libgui zlib libcpp libdecnumber gmp mpfr libada libgnatvsn"
++host_libs="intl mmalloc libiberty opcodes bfd readline tcl tk itcl libgui zlib libcpp libdecnumber gmp mpfr libada libgnatvsn libgnatprj"
+
+ # these tools are built for the host environment
+ # Note, the powerpc-eabi build depends on sim occurring before gdb in order to
+@@ -186,7 +186,8 @@
+ ${libgcj} \
+ target-libobjc \
+ target-libada \
+- target-libgnatvsn"
++ target-libgnatvsn \
++ target-libgnatprj"
+
+ # these tools are built using the target libraries, and are intended to
+ # run only in the target environment
+@@ -264,7 +265,7 @@
+
+ # Similarly, some are only suitable for cross toolchains.
+ # Remove these if host=target.
+-cross_only="target-libgloss target-newlib target-opcodes target-libada target-libgnatvsn"
++cross_only="target-libgloss target-newlib target-opcodes target-libada target-libgnatvsn target-libgnatprj"
+
+ case $is_cross_compiler in
+ no) skipdirs="${skipdirs} ${cross_only}" ;;
+@@ -341,7 +342,7 @@
+ ENABLE_LIBADA=$enableval,
+ ENABLE_LIBADA=yes)
+ if test "${ENABLE_LIBADA}" != "yes" ; then
+- noconfigdirs="$noconfigdirs libgnatvsn gnattools"
++ noconfigdirs="$noconfigdirs libgnatvsn libgnatprj gnattools"
+ fi
+
+ AC_ARG_ENABLE(libssp,
+Index: libgnatprj/configure.ac
+===================================================================
+--- /dev/null
++++ libgnatprj/configure.ac
+@@ -0,0 +1,144 @@
++# Configure script for libada.
++# Copyright 2003, 2004 Free Software Foundation, Inc.
++#
++# This file 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 2 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, write to the Free Software
++# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
++
++AC_INIT
++AC_PREREQ([2.59])
++
++AC_CONFIG_SRCDIR([Makefile.in])
++
++# Start of actual configure tests
++
++AC_PROG_INSTALL
++
++AC_CANONICAL_BUILD
++AC_CANONICAL_HOST
++AC_CANONICAL_TARGET
++
++sinclude(../config/acx.m4)
++ACX_NONCANONICAL_TARGET
++
++# Need to pass this down for now :-P
++AC_PROG_LN_S
++
++# Determine x_ada_cflags
++case $host in
++ hppa*) x_ada_cflags=-mdisable-indexing ;;
++ *) x_ada_cflags= ;;
++esac
++AC_SUBST([x_ada_cflags])
++
++# Determine what to build for 'gnattools'
++if test $build = $target ; then
++ # Note that build=target is almost certainly the wrong test; FIXME
++ default_gnattools_target="gnattools-native"
++else
++ default_gnattools_target="gnattools-cross"
++fi
++AC_SUBST([default_gnattools_target])
++
++# Target-specific stuff (defaults)
++TOOLS_TARGET_PAIRS=
++AC_SUBST(TOOLS_TARGET_PAIRS)
++
++# Per-target case statement
++# -------------------------
++case "${target}" in
++ alpha*-dec-vx*) # Unlike all other Vxworks
++ ;;
++ m68k*-wrs-vx* \
++ | powerpc*-wrs-vxworks \
++ | sparc*-wrs-vx* \
++ | *86-wrs-vxworks \
++ | xscale*-wrs-vx* \
++ | xscale*-wrs-coff \
++ | mips*-wrs-vx*)
++ TOOLS_TARGET_PAIRS="mlib-tgt-specific.adb<mlib-tgt-vxworks.adb"
++ ;;
++ sparc-sun-solaris*)
++ TOOLS_TARGET_PAIRS="mlib-tgt-specific.adb<mlib-tgt-solaris.adb"
++ ;;
++ *86-*-solaris2*)
++ TOOLS_TARGET_PAIRS="mlib-tgt-specific.adb<mlib-tgt-solaris.adb"
++ ;;
++ *86-*-linux* \
++ | powerpc*-*-linux* \
++ | *ia64-*-linux* \
++ | alpha*-*-linux* \
++ | sparc*-*-linux* \
++ | hppa*-*-linux* \
++ | *x86_64-*-linux*)
++ TOOLS_TARGET_PAIRS="\
++ mlib-tgt-specific.adb<mlib-tgt-linux.adb \
++ indepsw.adb<indepsw-gnu.adb"
++ ;;
++ s390*-*-linux*)
++ TOOLS_TARGET_PAIRS="mlib-tgt-specific.adb<mlib-tgt-linux.adb"
++ ;;
++ *86-*-freebsd*)
++ TOOLS_TARGET_PAIRS="\
++ mlib-tgt-specific.adb<mlib-tgt-linux.adb \
++ indepsw.adb<indepsw-gnu.adb"
++ ;;
++ mips-sgi-irix*)
++ TOOLS_TARGET_PAIRS="mlib-tgt-specific.adb<mlib-tgt-irix.adb"
++ ;;
++ hppa*-hp-hpux10*) # Unlike hpux11
++ ;;
++ hppa*-hp-hpux11*)
++ TOOLS_TARGET_PAIRS="mlib-tgt-specific.adb<mlib-tgt-hpux.adb"
++ ;;
++ *-ibm-aix*)
++ TOOLS_TARGET_PAIRS="\
++ mlib-tgt-specific.adb<mlib-tgt-aix.adb \
++ indepsw.adb<indepsw-aix.adb"
++ ;;
++ alpha*-dec-osf*)
++ TOOLS_TARGET_PAIRS="mlib-tgt-specific.adb<mlib-tgt-tru64.adb"
++ ;;
++ alpha*-dec-vms* | alpha*-dec-openvms* | alpha*-dec-vms* \
++ | alpha*-hp-vms* | alpha*-hp-openvms* | alpha*-hp-vms*)
++ TOOLS_TARGET_PAIRS="\
++ mlib-tgt-specific.adb<mlib-tgt-vms-alpha.adb \
++ symbols.adb<symbols-vms.adb \
++ symbols-processing.adb<symbols-processing-vms-alpha.adb"
++ ;;
++ ia64*-dec-vms* | ia64*-dec-openvms* | ia64*-dec-vms* \
++ | ia64*-hp-vms* | ia64*-hp-openvms* | ia64*-hp-vms*)
++ TOOLS_TARGET_PAIRS="\
++ mlib-tgt-specific.adb<mlib-tgt-vms-ia64.adb \
++ symbols.adb<symbols-vms.adb \
++ symbols-processing.adb<symbols-processing-vms-ia64.adb"
++ ;;
++ *-*-cygwin32* | *-*-mingw32* | *-*-pe)
++ TOOLS_TARGET_PAIRS="\
++ mlib-tgt-specific.adb<mlib-tgt-mingw.adb \
++ indepsw.adb<indepsw-mingw.adb"
++ ;;
++ powerpc-*-darwin*)
++ TOOLS_TARGET_PAIRS="mlib-tgt-specific.adb<mlib-tgt-darwin.adb"
++ ;;
++ *-*-lynxos)
++ TOOLS_TARGET_PAIRS="\
++ mlib-tgt-specific.adb<mlib-tgt-lynxos.adb \
++ indepsw.adb<indepsw-gnu.adb"
++ ;;
++esac
++
++# Output: create a Makefile.
++AC_CONFIG_FILES([Makefile])
++
++AC_OUTPUT
diff --git a/recipes/gcc/gcc-4.4.0/debian/ada-libgnatvsn.dpatch b/recipes/gcc/gcc-4.4.0/debian/ada-libgnatvsn.dpatch
new file mode 100644
index 0000000000..e7de16dce9
--- /dev/null
+++ b/recipes/gcc/gcc-4.4.0/debian/ada-libgnatvsn.dpatch
@@ -0,0 +1,1598 @@
+#! /bin/sh -e
+
+# DP: - Introduce a new shared library named libgnatvsn, containing
+# DP: common components of GNAT under the GNAT-Modified GPL, for
+# DP: use in GNAT tools, ASIS, GLADE and GPS. Link the gnat tools
+# DP: against this new library.
+
+# This patch seems large, but the hunks in Makefile.in are actually
+# generated from Makefile.def using autogen.
+
+# !!! Must be applied after ada-link-lib.dpatch
+
+dir=./
+if [ $# -eq 3 -a "$2" = '-d' ]; then
+ pdir="-d $3"
+ dir="$3/"
+elif [ $# -ne 1 ]; then
+ echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
+ exit 1
+fi
+case "$1" in
+ -patch)
+ patch $pdir -f --no-backup-if-mismatch -p0 < $0
+ cd ${dir} && autoconf
+ ;;
+ -unpatch)
+ patch $pdir -f --no-backup-if-mismatch -R -p0 < $0
+ ;;
+ *)
+ echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
+ exit 1
+esac
+exit 0
+
+Index: gcc/ada/config-lang.in
+===================================================================
+--- gcc/ada/config-lang.in.orig
++++ gcc/ada/config-lang.in
+@@ -34,8 +34,8 @@
+
+ outputs=ada/Makefile
+
+-target_libs="target-libada"
+-lang_dirs="libada gnattools"
++target_libs="target-libada target-libgnatvsn"
++lang_dirs="libada libgnatvsn gnattools"
+
+ # Ada will not work until the front end starts emitting GIMPLE trees.
+ build_by_default=no
+Index: gnattools/Makefile.in
+===================================================================
+--- gnattools/Makefile.in.orig
++++ gnattools/Makefile.in
+@@ -37,10 +35,11 @@
+ CFLAGS=-O2 -Wall
+ INCLUDES = -I@srcdir@/../gcc/ada -I@srcdir@/../gcc
+ ADA_CFLAGS=-O2 -gnatn
+-ADA_INCLUDES=-nostdinc -I- -I. -I../gcc/ada/rts -I@srcdir@/../gcc/ada
++ADA_INCLUDES=-nostdinc -I- -I. -I../gcc/ada/rts -I../libgnatvsn
+ LIB_VERSION=$(strip $(shell grep ' Library_Version :' \
+- @srcdir@/../gcc/ada/gnatvsn.ads | sed -e 's/.*"\(.*\)".*/\1/'))
++ ../libgnatvsn/gnatvsn.ads | sed -e 's/.*"\(.*\)".*/\1/'))
+ ADA_LIBS := -L../gcc/ada/rts -lgnat-$(LIB_VERSION)
++ADA_LIBS += -L../libgnatvsn -lgnatvsn
+
+ # We will use the just-built compiler to compile and link everything.
+ GCC=../gcc/xgcc -B../gcc/
+@@ -66,62 +65,34 @@
+ # Since we don't have gnatmake, we must specify the full list of
+ # object files necessary to build gnatmake and gnatlink.
+ # TODO: remove from these lists the objects that are part of
+-# libgnatvsn and libgnatprj.
++# libgnatprj.
+ GNATLINK_OBJS = \
+ ali.o \
+-alloc.o \
+ butil.o \
+-casing.o \
+-csets.o \
+-debug.o \
+ fmap.o \
+-fname.o \
+ gnatlink.o \
+-gnatvsn.o \
+-hostparm.o \
+ indepsw.o \
+-namet.o \
+-opt.o \
+ osint.o \
+-output.o \
+ prefix.o \
+ rident.o \
+ sdefault.o \
+-snames.o \
+ stylesw.o \
+ switch.o \
+-table.o \
+ targparm.o \
+-tree_io.o \
+-types.o \
+-validsw.o \
+-version.o \
+-widechar.o
++validsw.o
+
+ GNATMAKE_OBJS = \
+ ali-util.o \
+ ali.o \
+-alloc.o \
+-atree.o \
+ binderr.o \
+ butil.o \
+-casing.o \
+-csets.o \
+-debug.o \
+-einfo.o\
+-elists.o \
+ err_vars.o \
+ erroutc.o \
+ errutil.o \
+ fmap.o \
+ fname-sf.o \
+ fname-uf.o \
+-fname.o \
+ gnatmake.o \
+-gnatvsn.o \
+-hostparm.o \
+-krunch.o \
+-lib.o \
+ make.o \
+ makeusg.o \
+ makeutl.o \
+@@ -131,12 +102,8 @@
+ mlib-tgt-specific.o \
+ mlib-utl.o \
+ mlib.o \
+-namet.o \
+-nlists.o \
+-opt.o \
+ osint-m.o \
+ osint.o \
+-output.o \
+ prefix.o \
+ prj-attr-pm.o \
+ prj-attr.o \
+@@ -154,47 +121,59 @@
+ prj-util.o \
+ prj.o \
+ rident.o \
+-scans.o \
+ scng.o \
+ sdefault.o \
+ sfn_scan.o \
+-sinfo.o \
+ sinput-c.o \
+ sinput-p.o \
+-sinput.o \
+-snames.o \
+-stand.o \
+-stringt.o \
+ styleg.o \
+ stylesw.o \
+ switch-m.o \
+ switch.o \
+-table.o \
+ targparm.o \
+ tempdir.o \
+-tree_io.o \
+-types.o \
+-uintp.o \
+-uname.o \
+-urealp.o \
+ usage.o \
+ validsw.o \
+-version.o \
+-widechar.o \
+ $(EXTRA_GNATMAKE_OBJS)
+
++
++EXTRA_TOOLS_OBJS = \
++bcheck.o \
++binde.o \
++bindgen.o \
++bindusg.o \
++clean.o \
++gprep.o \
++makegpr.o \
++osint-b.o \
++osint-l.o \
++prep.o \
++prj-makr.o \
++prj-pp.o \
++switch-b.o \
++vms_conv.o \
++vms_data.o \
++xr_tabls.o \
++xref_lib.o
++
++OBJECTS = $(GNATLINK_OBJS) $(GNATMAKE_OBJS) $(EXTRA_TOOLS_OBJS)
++
+ # Makefile targets
+ # ----------------
+
+ .PHONY: gnattools gnattools-native gnattools-cross regnattools
+ gnattools: @default_gnattools_target@
+
+-# Build directory for the tools. Let's copy the target-dependent
+-# sources using the same mechanism as for gnatlib. The other sources are
+-# accessed using the vpath directive.
++BODIES := $(foreach f,$(OBJECTS),$(wildcard $(patsubst %.o,@srcdir@/../gcc/ada/%.adb,$(f))))
++SPECS := $(foreach f,$(OBJECTS),$(wildcard $(patsubst %.o,@srcdir@/../gcc/ada/%.ads,$(f))))
++
++$(notdir $(SPECS) $(BODIES)): stamp-gnattools-sources
+
+ stamp-gnattools-sources:
+- $(LN_S) ../gcc/ada/sdefault.adb .
++ for file in $(BODIES) $(SPECS); do \
++ $(LN_S) -f $$file .; \
++ done
++ rm -f sdefault.adb; $(LN_S) ../gcc/ada/sdefault.adb .
+ $(foreach PAIR,$(TOOLS_TARGET_PAIRS), \
+ rm -f $(word 1,$(subst <, ,$(PAIR)));\
+ $(LN_S) @srcdir@/../gcc/ada/$(word 2,$(subst <, ,$(PAIR))) \
+@@ -202,6 +181,7 @@
+ touch $@
+
+ gnattools-native: ../gcc/ada/rts/libgnat-$(LIB_VERSION).so
++gnattools-native: ../libgnatvsn/libgnatvsn.so
+ gnattools-native: stamp-gnattools-sources
+ gnattools-native: $(TOOLS) gnatbl
+
+@@ -209,18 +189,16 @@
+
+ vpath %.c @srcdir@/../gcc/ada:@srcdir@/../gcc
+ vpath %.h @srcdir@/../gcc/ada
+-vpath %.adb .:@srcdir@/../gcc/ada
+-vpath %.ads @srcdir@/../gcc/ada
+
+ # Because the just-built gcc is a host tool like us, we can use some
+-# of its object files, e.g. prefix.o and version.o.
++# of its object files, e.g. prefix.o.
+ vpath prefix.o ../gcc
+-vpath version.o ../gcc
+
+ # gnatlink
+
+ gnatlink-static: $(GNATLINK_OBJS) b_gnatl.o link.o
+ $(GCC) -o $@ $^ \
++ ../libgnatvsn/libgnatvsn.a \
+ ../gcc/ada/rts/libgnat.a \
+ ../libiberty/libiberty.a
+
+@@ -237,6 +215,7 @@
+
+ gnatmake-static: $(GNATMAKE_OBJS) b_gnatm.o link.o
+ $(GCC) -o $@ $(ADA_CFLAGS) $^ \
++ ../libgnatvsn/libgnatvsn.a \
+ ../gcc/ada/rts/libgnat.a \
+ ../libiberty/libiberty.a
+
+@@ -250,7 +229,8 @@
+ ../gcc/gnatbind -C -o $@ $(ADA_INCLUDES) gnatmake.ali
+
+ # Other tools
+-gnatkr: version.o
++gnatkr:
++ if [ ! -f $@.adb ] ; then $(LN_S) ../../src/gcc/ada/$@.ad[bs] .; fi
+ ./gnatmake-static -c -b $@ $(ADA_CFLAGS) $(ADA_INCLUDES) \
+ --GCC="$(GCC)" \
+ --GNATBIND=../gcc/gnatbind
+@@ -261,7 +241,8 @@
+ cp -lp $< $@
+
+ gnatbind gnatchop gnatclean gnatcmd gnatfind gnatls gnatname gnatprep gnatxref gprmake: \
+-link.o version.o prefix.o
++link.o prefix.o
++ if [ ! -f $@.adb ] ; then $(LN_S) ../../src/gcc/ada/$@.ad[bs] .; fi
+ ./gnatmake-static -c -b $@ $(ADA_CFLAGS) $(ADA_INCLUDES) \
+ --GCC="$(GCC)" \
+ --GNATBIND=../gcc/gnatbind
+@@ -269,7 +250,7 @@
+ ../libiberty/libiberty.a \
+ --GCC="$(GCC) $(ADA_INCLUDES)"
+
+-gnatbl: gnatbl.c link.o version.o prefix.o
++gnatbl: gnatbl.c link.o prefix.o
+ $(GCC) -o $@ $< $(CFLAGS) \
+ -I../gcc -I@srcdir@/../gcc/config -I@srcdir@/../gcc \
+ -I@srcdir@/../include \
+@@ -290,6 +271,8 @@
+ %.o: %.c
+ $(GCC) -c -o $@ $< $(CFLAGS) $(INCLUDES)
+
++prefix.o:
++
+ # Other
+ # -----
+
+@@ -325,13 +308,15 @@
+ install-html:
+
+ # Cleaning rules.
++.PHONY: mostlyclean clean distclean
++
+ mostlyclean:
+ $(RM) gnatmake gnatlink $(TOOLS) gnatbl *.o *.ali
+
+-clean:
++clean: mostlyclean
+ $(RM) *.ads *.adb stamp-gnattools-sources
+
+-distclean:
++distclean: clean
+ $(RM) Makefile config.status config.log
+
+ maintainer-clean:
+Index: libgnatvsn/configure
+===================================================================
+--- /dev/null
++++ libgnatvsn/configure
+@@ -0,0 +1,43 @@
++#!/bin/sh
++
++# Minimal configure script for libgnatvsn. We're only interested in
++# a few parameters.
++
++for arg in $*; do
++ case ${arg} in
++ --build=*)
++ build=`expr ${arg} : '--build=\(.\+\)'`;;
++ --host=*)
++ host=`expr ${arg} : '--host=\(.\+\)'`;;
++ --target=*)
++ target=`expr ${arg} : '--target=\(.\+\)'`;;
++ --prefix=*)
++ prefix=`expr ${arg} : '--prefix=\(.\+\)'`;;
++ --srcdir=*)
++ srcdir=`expr ${arg} : '--srcdir=\(.\+\)'`;;
++ --with-pkgversion=*)
++ pkgversion=`expr ${arg} : '--with-pkgversion=\(.\+\)'`;;
++ --with-bugurl=*)
++ bugurl=`expr ${arg} : '--with-bugurl=\(.\+\)'`;;
++ *)
++ echo "Warning: ignoring option: ${arg}"
++ esac
++done
++
++echo "build: ${build}" | tee config.log
++echo "host: ${host}" | tee -a config.log
++echo "target: ${target}" | tee -a config.log
++echo "prefix: ${prefix}" | tee -a config.log
++echo "srcdir: ${srcdir}" | tee -a config.log
++echo "pkgversion: ${pkgversion}" | tee -a config.log
++echo "bugurl: ${bugurl}" | tee -a config.log
++
++echo "Creating Makefile..." | tee -a config.log
++sed -e "s,@build@,${build},g" \
++ -e "s,@host@,${host},g" \
++ -e "s,@target@,${target},g" \
++ -e "s,@prefix@,${prefix},g" \
++ -e "s,@srcdir@,${srcdir},g" \
++ -e "s,@PKGVERSION@,${pkgversion},g" \
++ -e "s,@REPORT_BUGS_TO@,${bugurl},g" \
++ < ${srcdir}/Makefile.in > Makefile
+Index: libgnatvsn/Makefile.in
+===================================================================
+--- /dev/null
++++ libgnatvsn/Makefile.in
+@@ -0,0 +1,147 @@
++# Makefile for libgnatvsn.
++# Copyright (c) 2006 Ludovic Brenta <ludovic@ludovic-brenta.org>
++#
++# This file 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 2 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, write to the Free Software
++# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
++
++# Default target; must be first.
++all: libgnatvsn
++
++.SUFFIXES:
++
++CPUS := $(shell getconf _NPROCESSORS_ONLN)
++LIB_VERSION := $(strip $(shell grep ' Library_Version :' \
++ @srcdir@/../gcc/ada/gnatvsn.ads | \
++ sed -e 's/.*"\(.*\)".*/\1/'))
++GCC:=../gcc/xgcc -B../gcc/
++LIBGNAT_JUST_BUILT := -nostdinc -I../gcc/ada/rts
++CFLAGS := -g -O2 -gnatn
++BASEVER := $(shell cat @srcdir@/../gcc/BASE-VER)
++DEVPHASE := $(shell cat @srcdir@/../gcc/DEV-PHASE)
++DATESTAMP := $(shell cat @srcdir@/../gcc/DATESTAMP)
++
++# For use in version.c - double quoted strings, with appropriate
++# surrounding punctuation and spaces, and with the datestamp and
++# development phase collapsed to the empty string in release mode
++# (i.e. if DEVPHASE_c is empty). The space immediately after the
++# comma in the $(if ...) constructs is significant - do not remove it.
++BASEVER_s := "\"$(BASEVER)\""
++DEVPHASE_s := "\"$(if $(DEVPHASE), ($(DEVPHASE)))\""
++DATESTAMP_s := "\"$(if $(DEVPHASE), $(DATESTAMP))\""
++PKGVERSION_s:= "\"@PKGVERSION@\""
++BUGURL_s := "\"@REPORT_BUGS_TO@\""
++
++ifneq (@build@,@host@)
++ CFLAGS += -b @host@
++endif
++
++.PHONY: libgnatvsn install
++libgnatvsn: libgnatvsn.so.$(LIB_VERSION) libgnatvsn.a
++
++VSN_SOURCES := alloc.ads atree.adb casing.adb csets.adb debug.adb einfo.adb \
++elists.adb fname.adb gnatvsn.adb hostparm.ads krunch.adb lib.adb namet.adb \
++nlists.adb opt.adb output.adb repinfo.adb scans.adb sinfo.adb sinput.adb \
++snames.adb stand.adb stringt.adb table.adb tree_in.adb tree_io.adb types.adb \
++uintp.adb uname.adb urealp.adb widechar.adb
++
++VSN_SEPARATES := lib-list.adb lib-sort.adb
++
++OBJECTS=$(patsubst %.ads,%.o,$(VSN_SOURCES:.adb=.o)) version.o
++
++vpath %.c @srcdir@/../gcc
++
++libgnatvsn.so.$(LIB_VERSION): $(addprefix obj-shared/,$(OBJECTS))
++ : # Make libgnatvsn.so
++ $(GCC) -o $@ -shared -fPIC -Wl,--soname,$@ $^ \
++ -L../gcc/ada/rts -lgnat-$(LIB_VERSION)
++ ln -s libgnatvsn.so.$(LIB_VERSION) libgnatvsn.so
++ chmod a=r obj-shared/*.ali
++# Make the .ali files, but not the .o files, visible to the gnat tools.
++ cp -lp obj-shared/*.ali .
++
++$(addprefix obj-shared/,$(OBJECTS)): | stamp-libgnatvsn-sources obj-shared
++
++obj-shared/%.o: %.adb
++ $(GCC) -c -fPIC $(CFLAGS) $(LIBGNAT_JUST_BUILT) $< -o $@
++
++obj-shared/%.o: %.ads
++ $(GCC) -c -fPIC $(CFLAGS) $(LIBGNAT_JUST_BUILT) $< -o $@
++
++obj-shared/version.o: version.c
++ $(GCC) -c -fPIC -g -O2 \
++ -DBASEVER=$(BASEVER_s) \
++ -DDATESTAMP=$(DATESTAMP_s) \
++ -DDEVPHASE=$(DEVPHASE_s) \
++ -DPKGVERSION=$(PKGVERSION_s) \
++ -DBUGURL=$(BUGURL_s) \
++ -DREVISION= \
++ $(realpath $<) -o $@
++
++obj-shared:
++ -mkdir $@
++
++libgnatvsn.a: $(addprefix obj-static/,$(OBJECTS))
++ : # Make libgnatvsn.a
++ ar rc $@ $^
++ ranlib $@
++
++$(addprefix obj-static/,$(OBJECTS)): | stamp-libgnatvsn-sources obj-static
++
++obj-static/%.o: %.adb
++ $(GCC) -c $(CFLAGS) $(LIBGNAT_JUST_BUILT) $< -o $@
++
++obj-static/%.o: %.ads
++ $(GCC) -c $(CFLAGS) $(LIBGNAT_JUST_BUILT) $< -o $@
++
++obj-static/version.o: version.c
++ $(GCC) -c -g -O2 \
++ -DBASEVER=$(BASEVER_s) \
++ -DDATESTAMP=$(DATESTAMP_s) \
++ -DDEVPHASE=$(DEVPHASE_s) \
++ -DPKGVERSION=$(PKGVERSION_s) \
++ -DBUGURL=$(BUGURL_s) \
++ -DREVISION= \
++ $< -o $@
++
++obj-static:
++ -mkdir $@
++
++$(VSN_SOURCES) $(VSN_SEPARATES): stamp-libgnatvsn-sources
++
++stamp-libgnatvsn-sources:
++ for file in $(VSN_SOURCES) $(VSN_SEPARATES); do \
++ ads=$$(echo $$file | sed 's/\.adb/.ads/'); \
++ if [ -f @srcdir@/../gcc/ada/$$file -a ! -L $$file ] ; then ln -s @srcdir@/../gcc/ada/$$file .; fi; \
++ if [ -f @srcdir@/../gcc/ada/$$ads -a ! -L $$ads ] ; then ln -s @srcdir@/../gcc/ada/$$ads .; fi; \
++ done
++ touch $@
++
++install: libgnatvsn
++ $(INSTALL_DATA) libgnatvsn.a $(DESTDIR)$(prefix)/lib
++ $(INSTALL_DATA) libgnatvsn.so.$(LIB_VERSION) $(DESTDIR)$(prefix)/lib
++ cd $(DESTDIR)$(prefix)/lib; \
++ ln -sf libgnatvsn.so.$(LIB_VERSION) libgnatvsn.so
++ mkdir -p $(DESTDIR)$(prefix)/share/ada/adainclude/gnatvsn
++ $(INSTALL_DATA) \
++ $(addprefix @srcdir@/../gcc/ada/,$(VSN_SOURCES) $(VSN_SEPARATES)) \
++ $(addprefix @srcdir@/../gcc/ada/,$(patsubst %.adb,%.ads,$(filter %.adb,$(VSN_SOURCES)))) \
++ $(DESTDIR)$(prefix)/share/ada/adainclude/gnatvsn
++ mkdir -p $(DESTDIR)$(prefix)/lib/ada/adalib/gnatvsn
++ $(INSTALL) -m 0444 obj-shared/*.ali \
++ $(DESTDIR)$(prefix)/lib/ada/adalib/gnatvsn
++ chmod a=r $(DESTDIR)$(prefix)/lib/ada/adalib/gnatvsn/*.ali
++
++.PHONY: clean
++clean:
++ rm -rf *.ali obj-static obj-shared libgnatvsn* *.adb *.ads stamp*
+Index: Makefile.def
+===================================================================
+--- Makefile.def.orig
++++ Makefile.def
+@@ -123,6 +123,13 @@
+ missing= TAGS;
+ missing= install-info;
+ missing= installcheck; };
++host_modules= { module= libgnatvsn; no_check=true;
++ missing= info;
++ missing= dvi;
++ missing= html;
++ missing= TAGS;
++ missing= install-info;
++ missing= installcheck; };
+ host_modules= { module= gnattools; no_check=true;
+ missing= info;
+ missing= dvi;
+@@ -161,6 +168,13 @@
+ missing= TAGS;
+ missing= install-info;
+ missing= installcheck; };
++target_modules = { module= libgnatvsn; no_check=true;
++ missing= info;
++ missing= dvi;
++ missing= html;
++ missing= TAGS;
++ missing= install-info;
++ missing= installcheck; };
+ target_modules = { module= libgomp; lib_path=.libs; };
+
+ // These are (some of) the make targets to be done in each subdirectory.
+@@ -331,6 +345,8 @@
+ dependencies = { module=all-fixincludes; on=all-libiberty; };
+
+ dependencies = { module=all-gnattools; on=all-libada; };
++dependencies = { module=all-gnattools; on=all-libgnatvsn; };
++dependencies = { module=all-libgnatvsn; on=all-libada; };
+
+ dependencies = { module=configure-mpfr; on=all-gmp; };
+
+Index: Makefile.in
+===================================================================
+--- Makefile.in.orig
++++ Makefile.in
+@@ -698,6 +698,7 @@
+ maybe-configure-libtermcap \
+ maybe-configure-utils \
+ maybe-configure-libada \
++ maybe-configure-libgnatvsn \
+ maybe-configure-gnattools
+ .PHONY: configure-target
+ configure-target: \
+@@ -721,6 +722,7 @@
+ maybe-configure-target-qthreads \
+ maybe-configure-target-rda \
+ maybe-configure-target-libada \
++ maybe-configure-target-libgnatvsn \
+ maybe-configure-target-libgomp
+
+ # The target built for a native non-bootstrap build.
+@@ -849,6 +851,7 @@
+ all-host: maybe-all-libtermcap
+ all-host: maybe-all-utils
+ all-host: maybe-all-libada
++all-host: maybe-all-libgnatvsn
+ all-host: maybe-all-gnattools
+
+ .PHONY: all-target
+@@ -875,6 +878,7 @@
+ all-target: maybe-all-target-qthreads
+ all-target: maybe-all-target-rda
+ all-target: maybe-all-target-libada
++all-target: maybe-all-target-libgnatvsn
+ all-target: maybe-all-target-libgomp
+
+ # Do a target for all the subdirectories. A ``make do-X'' will do a
+@@ -963,6 +967,7 @@
+ info-host: maybe-info-libtermcap
+ info-host: maybe-info-utils
+ info-host: maybe-info-libada
++info-host: maybe-info-libgnatvsn
+ info-host: maybe-info-gnattools
+
+ .PHONY: info-target
+@@ -987,6 +992,7 @@
+ info-target: maybe-info-target-qthreads
+ info-target: maybe-info-target-rda
+ info-target: maybe-info-target-libada
++info-target: maybe-info-target-libgnatvsn
+ info-target: maybe-info-target-libgomp
+
+ .PHONY: do-dvi
+@@ -1070,6 +1076,7 @@
+ dvi-host: maybe-dvi-libtermcap
+ dvi-host: maybe-dvi-utils
+ dvi-host: maybe-dvi-libada
++dvi-host: maybe-dvi-libgnatvsn
+ dvi-host: maybe-dvi-gnattools
+
+ .PHONY: dvi-target
+@@ -1094,6 +1101,7 @@
+ dvi-target: maybe-dvi-target-qthreads
+ dvi-target: maybe-dvi-target-rda
+ dvi-target: maybe-dvi-target-libada
++dvi-target: maybe-dvi-target-libgnatvsn
+ dvi-target: maybe-dvi-target-libgomp
+
+ .PHONY: do-pdf
+@@ -1177,6 +1185,7 @@
+ pdf-host: maybe-pdf-libtermcap
+ pdf-host: maybe-pdf-utils
+ pdf-host: maybe-pdf-libada
++pdf-host: maybe-pdf-libgnatvsn
+ pdf-host: maybe-pdf-gnattools
+
+ .PHONY: pdf-target
+@@ -1201,6 +1210,7 @@
+ pdf-target: maybe-pdf-target-qthreads
+ pdf-target: maybe-pdf-target-rda
+ pdf-target: maybe-pdf-target-libada
++pdf-target: maybe-pdf-target-libgnatvsn
+ pdf-target: maybe-pdf-target-libgomp
+
+ .PHONY: do-html
+@@ -1284,6 +1294,7 @@
+ html-host: maybe-html-libtermcap
+ html-host: maybe-html-utils
+ html-host: maybe-html-libada
++html-host: maybe-html-libgnatvsn
+ html-host: maybe-html-gnattools
+
+ .PHONY: html-target
+@@ -1308,6 +1319,7 @@
+ html-target: maybe-html-target-qthreads
+ html-target: maybe-html-target-rda
+ html-target: maybe-html-target-libada
++html-target: maybe-html-target-libgnatvsn
+ html-target: maybe-html-target-libgomp
+
+ .PHONY: do-TAGS
+@@ -1391,6 +1403,7 @@
+ TAGS-host: maybe-TAGS-libtermcap
+ TAGS-host: maybe-TAGS-utils
+ TAGS-host: maybe-TAGS-libada
++TAGS-host: maybe-TAGS-libgnatvsn
+ TAGS-host: maybe-TAGS-gnattools
+
+ .PHONY: TAGS-target
+@@ -1415,6 +1428,7 @@
+ TAGS-target: maybe-TAGS-target-qthreads
+ TAGS-target: maybe-TAGS-target-rda
+ TAGS-target: maybe-TAGS-target-libada
++TAGS-target: maybe-TAGS-target-libgnatvsn
+ TAGS-target: maybe-TAGS-target-libgomp
+
+ .PHONY: do-install-info
+@@ -1498,6 +1512,7 @@
+ install-info-host: maybe-install-info-libtermcap
+ install-info-host: maybe-install-info-utils
+ install-info-host: maybe-install-info-libada
++install-info-host: maybe-install-info-libgnatvsn
+ install-info-host: maybe-install-info-gnattools
+
+ .PHONY: install-info-target
+@@ -1522,6 +1537,7 @@
+ install-info-target: maybe-install-info-target-qthreads
+ install-info-target: maybe-install-info-target-rda
+ install-info-target: maybe-install-info-target-libada
++install-info-target: maybe-install-info-target-libgnatvsn
+ install-info-target: maybe-install-info-target-libgomp
+
+ .PHONY: do-install-pdf
+@@ -1605,6 +1621,7 @@
+ install-pdf-host: maybe-install-pdf-libtermcap
+ install-pdf-host: maybe-install-pdf-utils
+ install-pdf-host: maybe-install-pdf-libada
++install-pdf-host: maybe-install-pdf-libgnatvsn
+ install-pdf-host: maybe-install-pdf-gnattools
+
+ .PHONY: install-pdf-target
+@@ -1629,6 +1646,7 @@
+ install-pdf-target: maybe-install-pdf-target-qthreads
+ install-pdf-target: maybe-install-pdf-target-rda
+ install-pdf-target: maybe-install-pdf-target-libada
++install-pdf-target: maybe-install-pdf-target-libgnatvsn
+ install-pdf-target: maybe-install-pdf-target-libgomp
+
+ .PHONY: do-install-html
+@@ -1712,6 +1730,7 @@
+ install-html-host: maybe-install-html-libtermcap
+ install-html-host: maybe-install-html-utils
+ install-html-host: maybe-install-html-libada
++install-html-host: maybe-install-html-libgnatvsn
+ install-html-host: maybe-install-html-gnattools
+
+ .PHONY: install-html-target
+@@ -1736,6 +1755,7 @@
+ install-html-target: maybe-install-html-target-qthreads
+ install-html-target: maybe-install-html-target-rda
+ install-html-target: maybe-install-html-target-libada
++install-html-target: maybe-install-html-target-libgnatvsn
+ install-html-target: maybe-install-html-target-libgomp
+
+ .PHONY: do-installcheck
+@@ -1819,6 +1839,7 @@
+ installcheck-host: maybe-installcheck-libtermcap
+ installcheck-host: maybe-installcheck-utils
+ installcheck-host: maybe-installcheck-libada
++installcheck-host: maybe-installcheck-libgnatvsn
+ installcheck-host: maybe-installcheck-gnattools
+
+ .PHONY: installcheck-target
+@@ -1843,6 +1864,7 @@
+ installcheck-target: maybe-installcheck-target-qthreads
+ installcheck-target: maybe-installcheck-target-rda
+ installcheck-target: maybe-installcheck-target-libada
++installcheck-target: maybe-installcheck-target-libgnatvsn
+ installcheck-target: maybe-installcheck-target-libgomp
+
+ .PHONY: do-mostlyclean
+@@ -1926,6 +1948,7 @@
+ mostlyclean-host: maybe-mostlyclean-libtermcap
+ mostlyclean-host: maybe-mostlyclean-utils
+ mostlyclean-host: maybe-mostlyclean-libada
++mostlyclean-host: maybe-mostlyclean-libgnatvsn
+ mostlyclean-host: maybe-mostlyclean-gnattools
+
+ .PHONY: mostlyclean-target
+@@ -1950,6 +1973,7 @@
+ mostlyclean-target: maybe-mostlyclean-target-qthreads
+ mostlyclean-target: maybe-mostlyclean-target-rda
+ mostlyclean-target: maybe-mostlyclean-target-libada
++mostlyclean-target: maybe-mostlyclean-target-libgnatvsn
+ mostlyclean-target: maybe-mostlyclean-target-libgomp
+
+ .PHONY: do-clean
+@@ -2033,6 +2057,7 @@
+ clean-host: maybe-clean-libtermcap
+ clean-host: maybe-clean-utils
+ clean-host: maybe-clean-libada
++clean-host: maybe-clean-libgnatvsn
+ clean-host: maybe-clean-gnattools
+
+ .PHONY: clean-target
+@@ -2057,6 +2082,7 @@
+ clean-target: maybe-clean-target-qthreads
+ clean-target: maybe-clean-target-rda
+ clean-target: maybe-clean-target-libada
++clean-target: maybe-clean-target-libgnatvsn
+ clean-target: maybe-clean-target-libgomp
+
+ .PHONY: do-distclean
+@@ -2140,6 +2166,7 @@
+ distclean-host: maybe-distclean-libtermcap
+ distclean-host: maybe-distclean-utils
+ distclean-host: maybe-distclean-libada
++distclean-host: maybe-distclean-libgnatvsn
+ distclean-host: maybe-distclean-gnattools
+
+ .PHONY: distclean-target
+@@ -2164,6 +2191,7 @@
+ distclean-target: maybe-distclean-target-qthreads
+ distclean-target: maybe-distclean-target-rda
+ distclean-target: maybe-distclean-target-libada
++distclean-target: maybe-distclean-target-libgnatvsn
+ distclean-target: maybe-distclean-target-libgomp
+
+ .PHONY: do-maintainer-clean
+@@ -2247,6 +2275,7 @@
+ maintainer-clean-host: maybe-maintainer-clean-libtermcap
+ maintainer-clean-host: maybe-maintainer-clean-utils
+ maintainer-clean-host: maybe-maintainer-clean-libada
++maintainer-clean-host: maybe-maintainer-clean-libgnatvsn
+ maintainer-clean-host: maybe-maintainer-clean-gnattools
+
+ .PHONY: maintainer-clean-target
+@@ -2271,6 +2300,7 @@
+ maintainer-clean-target: maybe-maintainer-clean-target-qthreads
+ maintainer-clean-target: maybe-maintainer-clean-target-rda
+ maintainer-clean-target: maybe-maintainer-clean-target-libada
++maintainer-clean-target: maybe-maintainer-clean-target-libgnatvsn
+ maintainer-clean-target: maybe-maintainer-clean-target-libgomp
+
+
+@@ -2408,6 +2438,7 @@
+ maybe-check-libtermcap \
+ maybe-check-utils \
+ maybe-check-libada \
++ maybe-check-libgnatvsn \
+ maybe-check-gnattools
+
+ .PHONY: check-target
+@@ -2432,6 +2463,7 @@
+ maybe-check-target-qthreads \
+ maybe-check-target-rda \
+ maybe-check-target-libada \
++ maybe-check-target-libgnatvsn \
+ maybe-check-target-libgomp
+
+ do-check:
+@@ -2541,6 +2573,7 @@
+ maybe-install-libtermcap \
+ maybe-install-utils \
+ maybe-install-libada \
++ maybe-install-libgnatvsn \
+ maybe-install-gnattools
+
+ .PHONY: install-host
+@@ -2615,6 +2648,7 @@
+ maybe-install-libtermcap \
+ maybe-install-utils \
+ maybe-install-libada \
++ maybe-install-libgnatvsn \
+ maybe-install-gnattools
+
+ .PHONY: install-target
+@@ -2639,6 +2673,7 @@
+ maybe-install-target-qthreads \
+ maybe-install-target-rda \
+ maybe-install-target-libada \
++ maybe-install-target-libgnatvsn \
+ maybe-install-target-libgomp
+
+ uninstall:
+@@ -39206,6 +39241,327 @@
+
+
+
++.PHONY: configure-libgnatvsn maybe-configure-libgnatvsn
++maybe-configure-libgnatvsn:
++@if gcc-bootstrap
++configure-libgnatvsn: stage_current
++@endif gcc-bootstrap
++@if libgnatvsn
++maybe-configure-libgnatvsn: configure-libgnatvsn
++configure-libgnatvsn:
++ @: $(MAKE); $(unstage)
++ @r=`${PWD_COMMAND}`; export r; \
++ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
++ test ! -f $(HOST_SUBDIR)/libgnatvsn/Makefile || exit 0; \
++ $(SHELL) $(srcdir)/mkinstalldirs $(HOST_SUBDIR)/libgnatvsn ; \
++ $(HOST_EXPORTS) \
++ echo Configuring in $(HOST_SUBDIR)/libgnatvsn; \
++ cd "$(HOST_SUBDIR)/libgnatvsn" || exit 1; \
++ case $(srcdir) in \
++ /* | [A-Za-z]:[\\/]*) topdir=$(srcdir) ;; \
++ *) topdir=`echo $(HOST_SUBDIR)/libgnatvsn/ | \
++ sed -e 's,\./,,g' -e 's,[^/]*/,../,g' `$(srcdir) ;; \
++ esac; \
++ srcdiroption="--srcdir=$${topdir}/libgnatvsn"; \
++ libsrcdir="$$s/libgnatvsn"; \
++ $(SHELL) $${libsrcdir}/configure \
++ $(HOST_CONFIGARGS) --build=${build_alias} --host=${host_alias} \
++ --target=${target_alias} $${srcdiroption} \
++ || exit 1
++@endif libgnatvsn
++
++
++
++
++
++.PHONY: all-libgnatvsn maybe-all-libgnatvsn
++maybe-all-libgnatvsn:
++@if gcc-bootstrap
++all-libgnatvsn: stage_current
++@endif gcc-bootstrap
++@if libgnatvsn
++TARGET-libgnatvsn=all
++maybe-all-libgnatvsn: all-libgnatvsn
++all-libgnatvsn: configure-libgnatvsn
++ @: $(MAKE); $(unstage)
++ @r=`${PWD_COMMAND}`; export r; \
++ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
++ $(HOST_EXPORTS) \
++ (cd $(HOST_SUBDIR)/libgnatvsn && \
++ $(MAKE) $(FLAGS_TO_PASS) $(TARGET-libgnatvsn))
++@endif libgnatvsn
++
++
++
++
++.PHONY: check-libgnatvsn maybe-check-libgnatvsn
++maybe-check-libgnatvsn:
++@if libgnatvsn
++maybe-check-libgnatvsn: check-libgnatvsn
++
++check-libgnatvsn:
++
++@endif libgnatvsn
++
++.PHONY: install-libgnatvsn maybe-install-libgnatvsn
++maybe-install-libgnatvsn:
++@if libgnatvsn
++maybe-install-libgnatvsn: install-libgnatvsn
++
++install-libgnatvsn: installdirs
++ @: $(MAKE); $(unstage)
++ @r=`${PWD_COMMAND}`; export r; \
++ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
++ $(HOST_EXPORTS) \
++ (cd $(HOST_SUBDIR)/libgnatvsn && \
++ $(MAKE) $(FLAGS_TO_PASS) install)
++
++@endif libgnatvsn
++
++# Other targets (info, dvi, pdf, etc.)
++
++.PHONY: maybe-info-libgnatvsn info-libgnatvsn
++maybe-info-libgnatvsn:
++@if libgnatvsn
++maybe-info-libgnatvsn: info-libgnatvsn
++
++# libgnatvsn doesn't support info.
++info-libgnatvsn:
++
++@endif libgnatvsn
++
++.PHONY: maybe-dvi-libgnatvsn dvi-libgnatvsn
++maybe-dvi-libgnatvsn:
++@if libgnatvsn
++maybe-dvi-libgnatvsn: dvi-libgnatvsn
++
++# libgnatvsn doesn't support dvi.
++dvi-libgnatvsn:
++
++@endif libgnatvsn
++
++.PHONY: maybe-pdf-libgnatvsn pdf-libgnatvsn
++maybe-pdf-libgnatvsn:
++@if libgnatvsn
++maybe-pdf-libgnatvsn: pdf-libgnatvsn
++
++pdf-libgnatvsn: \
++ configure-libgnatvsn
++ @: $(MAKE); $(unstage)
++ @[ -f ./libgnatvsn/Makefile ] || exit 0; \
++ r=`${PWD_COMMAND}`; export r; \
++ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
++ $(HOST_EXPORTS) \
++ for flag in $(EXTRA_HOST_FLAGS) ; do \
++ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
++ done; \
++ echo "Doing pdf in libgnatvsn" ; \
++ (cd $(HOST_SUBDIR)/libgnatvsn && \
++ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
++ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
++ "RANLIB=$${RANLIB}" \
++ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" "WINDMC=$${WINDMC}" \
++ pdf) \
++ || exit 1
++
++@endif libgnatvsn
++
++.PHONY: maybe-html-libgnatvsn html-libgnatvsn
++maybe-html-libgnatvsn:
++@if libgnatvsn
++maybe-html-libgnatvsn: html-libgnatvsn
++
++# libgnatvsn doesn't support html.
++html-libgnatvsn:
++
++@endif libgnatvsn
++
++.PHONY: maybe-TAGS-libgnatvsn TAGS-libgnatvsn
++maybe-TAGS-libgnatvsn:
++@if libgnatvsn
++maybe-TAGS-libgnatvsn: TAGS-libgnatvsn
++
++# libgnatvsn doesn't support TAGS.
++TAGS-libgnatvsn:
++
++@endif libgnatvsn
++
++.PHONY: maybe-install-info-libgnatvsn install-info-libgnatvsn
++maybe-install-info-libgnatvsn:
++@if libgnatvsn
++maybe-install-info-libgnatvsn: install-info-libgnatvsn
++
++# libgnatvsn doesn't support install-info.
++install-info-libgnatvsn:
++
++@endif libgnatvsn
++
++.PHONY: maybe-install-pdf-libgnatvsn install-pdf-libgnatvsn
++maybe-install-pdf-libgnatvsn:
++@if libgnatvsn
++maybe-install-pdf-libgnatvsn: install-pdf-libgnatvsn
++
++install-pdf-libgnatvsn: \
++ configure-libgnatvsn \
++ pdf-libgnatvsn
++ @: $(MAKE); $(unstage)
++ @[ -f ./libgnatvsn/Makefile ] || exit 0; \
++ r=`${PWD_COMMAND}`; export r; \
++ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
++ $(HOST_EXPORTS) \
++ for flag in $(EXTRA_HOST_FLAGS) ; do \
++ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
++ done; \
++ echo "Doing install-pdf in libgnatvsn" ; \
++ (cd $(HOST_SUBDIR)/libgnatvsn && \
++ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
++ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
++ "RANLIB=$${RANLIB}" \
++ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" "WINDMC=$${WINDMC}" \
++ install-pdf) \
++ || exit 1
++
++@endif libgnatvsn
++
++.PHONY: maybe-install-html-libgnatvsn install-html-libgnatvsn
++maybe-install-html-libgnatvsn:
++@if libgnatvsn
++maybe-install-html-libgnatvsn: install-html-libgnatvsn
++
++install-html-libgnatvsn: \
++ configure-libgnatvsn \
++ html-libgnatvsn
++ @: $(MAKE); $(unstage)
++ @[ -f ./libgnatvsn/Makefile ] || exit 0; \
++ r=`${PWD_COMMAND}`; export r; \
++ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
++ $(HOST_EXPORTS) \
++ for flag in $(EXTRA_HOST_FLAGS) ; do \
++ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
++ done; \
++ echo "Doing install-html in libgnatvsn" ; \
++ (cd $(HOST_SUBDIR)/libgnatvsn && \
++ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
++ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
++ "RANLIB=$${RANLIB}" \
++ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" "WINDMC=$${WINDMC}" \
++ install-html) \
++ || exit 1
++
++@endif libgnatvsn
++
++.PHONY: maybe-installcheck-libgnatvsn installcheck-libgnatvsn
++maybe-installcheck-libgnatvsn:
++@if libgnatvsn
++maybe-installcheck-libgnatvsn: installcheck-libgnatvsn
++
++# libgnatvsn doesn't support installcheck.
++installcheck-libgnatvsn:
++
++@endif libgnatvsn
++
++.PHONY: maybe-mostlyclean-libgnatvsn mostlyclean-libgnatvsn
++maybe-mostlyclean-libgnatvsn:
++@if libgnatvsn
++maybe-mostlyclean-libgnatvsn: mostlyclean-libgnatvsn
++
++mostlyclean-libgnatvsn:
++ @: $(MAKE); $(unstage)
++ @[ -f ./libgnatvsn/Makefile ] || exit 0; \
++ r=`${PWD_COMMAND}`; export r; \
++ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
++ $(HOST_EXPORTS) \
++ for flag in $(EXTRA_HOST_FLAGS) ; do \
++ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
++ done; \
++ echo "Doing mostlyclean in libgnatvsn" ; \
++ (cd $(HOST_SUBDIR)/libgnatvsn && \
++ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
++ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
++ "RANLIB=$${RANLIB}" \
++ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" "WINDMC=$${WINDMC}" \
++ mostlyclean) \
++ || exit 1
++
++@endif libgnatvsn
++
++.PHONY: maybe-clean-libgnatvsn clean-libgnatvsn
++maybe-clean-libgnatvsn:
++@if libgnatvsn
++maybe-clean-libgnatvsn: clean-libgnatvsn
++
++clean-libgnatvsn:
++ @: $(MAKE); $(unstage)
++ @[ -f ./libgnatvsn/Makefile ] || exit 0; \
++ r=`${PWD_COMMAND}`; export r; \
++ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
++ $(HOST_EXPORTS) \
++ for flag in $(EXTRA_HOST_FLAGS) ; do \
++ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
++ done; \
++ echo "Doing clean in libgnatvsn" ; \
++ (cd $(HOST_SUBDIR)/libgnatvsn && \
++ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
++ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
++ "RANLIB=$${RANLIB}" \
++ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" "WINDMC=$${WINDMC}" \
++ clean) \
++ || exit 1
++
++@endif libgnatvsn
++
++.PHONY: maybe-distclean-libgnatvsn distclean-libgnatvsn
++maybe-distclean-libgnatvsn:
++@if libgnatvsn
++maybe-distclean-libgnatvsn: distclean-libgnatvsn
++
++distclean-libgnatvsn:
++ @: $(MAKE); $(unstage)
++ @[ -f ./libgnatvsn/Makefile ] || exit 0; \
++ r=`${PWD_COMMAND}`; export r; \
++ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
++ $(HOST_EXPORTS) \
++ for flag in $(EXTRA_HOST_FLAGS) ; do \
++ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
++ done; \
++ echo "Doing distclean in libgnatvsn" ; \
++ (cd $(HOST_SUBDIR)/libgnatvsn && \
++ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
++ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
++ "RANLIB=$${RANLIB}" \
++ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" "WINDMC=$${WINDMC}" \
++ distclean) \
++ || exit 1
++
++@endif libgnatvsn
++
++.PHONY: maybe-maintainer-clean-libgnatvsn maintainer-clean-libgnatvsn
++maybe-maintainer-clean-libgnatvsn:
++@if libgnatvsn
++maybe-maintainer-clean-libgnatvsn: maintainer-clean-libgnatvsn
++
++maintainer-clean-libgnatvsn:
++ @: $(MAKE); $(unstage)
++ @[ -f ./libgnatvsn/Makefile ] || exit 0; \
++ r=`${PWD_COMMAND}`; export r; \
++ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
++ $(HOST_EXPORTS) \
++ for flag in $(EXTRA_HOST_FLAGS) ; do \
++ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
++ done; \
++ echo "Doing maintainer-clean in libgnatvsn" ; \
++ (cd $(HOST_SUBDIR)/libgnatvsn && \
++ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
++ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
++ "RANLIB=$${RANLIB}" \
++ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" "WINDMC=$${WINDMC}" \
++ maintainer-clean) \
++ || exit 1
++
++@endif libgnatvsn
++
++
++
+ .PHONY: configure-gnattools maybe-configure-gnattools
+ maybe-configure-gnattools:
+ @if gcc-bootstrap
+@@ -48785,6 +49141,345 @@
+
+
+
++.PHONY: configure-target-libgnatvsn maybe-configure-target-libgnatvsn
++maybe-configure-target-libgnatvsn:
++@if gcc-bootstrap
++configure-target-libgnatvsn: stage_current
++@endif gcc-bootstrap
++@if target-libgnatvsn
++maybe-configure-target-libgnatvsn: configure-target-libgnatvsn
++configure-target-libgnatvsn:
++ @: $(MAKE); $(unstage)
++ @r=`${PWD_COMMAND}`; export r; \
++ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
++ echo "Checking multilib configuration for libgnatvsn..."; \
++ $(SHELL) $(srcdir)/mkinstalldirs $(TARGET_SUBDIR)/libgnatvsn ; \
++ $(CC_FOR_TARGET) --print-multi-lib > $(TARGET_SUBDIR)/libgnatvsn/multilib.tmp 2> /dev/null ; \
++ if test -r $(TARGET_SUBDIR)/libgnatvsn/multilib.out; then \
++ if cmp -s $(TARGET_SUBDIR)/libgnatvsn/multilib.tmp $(TARGET_SUBDIR)/libgnatvsn/multilib.out; then \
++ rm -f $(TARGET_SUBDIR)/libgnatvsn/multilib.tmp; \
++ else \
++ rm -f $(TARGET_SUBDIR)/libgnatvsn/Makefile; \
++ mv $(TARGET_SUBDIR)/libgnatvsn/multilib.tmp $(TARGET_SUBDIR)/libgnatvsn/multilib.out; \
++ fi; \
++ else \
++ mv $(TARGET_SUBDIR)/libgnatvsn/multilib.tmp $(TARGET_SUBDIR)/libgnatvsn/multilib.out; \
++ fi; \
++ test ! -f $(TARGET_SUBDIR)/libgnatvsn/Makefile || exit 0; \
++ $(SHELL) $(srcdir)/mkinstalldirs $(TARGET_SUBDIR)/libgnatvsn ; \
++ $(NORMAL_TARGET_EXPORTS) \
++ echo Configuring in $(TARGET_SUBDIR)/libgnatvsn; \
++ cd "$(TARGET_SUBDIR)/libgnatvsn" || exit 1; \
++ case $(srcdir) in \
++ /* | [A-Za-z]:[\\/]*) topdir=$(srcdir) ;; \
++ *) topdir=`echo $(TARGET_SUBDIR)/libgnatvsn/ | \
++ sed -e 's,\./,,g' -e 's,[^/]*/,../,g' `$(srcdir) ;; \
++ esac; \
++ srcdiroption="--srcdir=$${topdir}/libgnatvsn"; \
++ libsrcdir="$$s/libgnatvsn"; \
++ rm -f no-such-file || : ; \
++ CONFIG_SITE=no-such-file $(SHELL) $${libsrcdir}/configure \
++ $(TARGET_CONFIGARGS) --build=${build_alias} --host=${target_alias} \
++ --target=${target_alias} $${srcdiroption} \
++ || exit 1
++@endif target-libgnatvsn
++
++
++
++
++
++.PHONY: all-target-libgnatvsn maybe-all-target-libgnatvsn
++maybe-all-target-libgnatvsn:
++@if gcc-bootstrap
++all-target-libgnatvsn: stage_current
++@endif gcc-bootstrap
++@if target-libgnatvsn
++TARGET-target-libgnatvsn=all
++maybe-all-target-libgnatvsn: all-target-libgnatvsn
++all-target-libgnatvsn: configure-target-libgnatvsn
++ @: $(MAKE); $(unstage)
++ @r=`${PWD_COMMAND}`; export r; \
++ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
++ $(NORMAL_TARGET_EXPORTS) \
++ (cd $(TARGET_SUBDIR)/libgnatvsn && \
++ $(MAKE) $(TARGET_FLAGS_TO_PASS) $(TARGET-target-libgnatvsn))
++@endif target-libgnatvsn
++
++
++
++
++
++.PHONY: check-target-libgnatvsn maybe-check-target-libgnatvsn
++maybe-check-target-libgnatvsn:
++@if target-libgnatvsn
++maybe-check-target-libgnatvsn: check-target-libgnatvsn
++
++# Dummy target for uncheckable module.
++check-target-libgnatvsn:
++
++@endif target-libgnatvsn
++
++.PHONY: install-target-libgnatvsn maybe-install-target-libgnatvsn
++maybe-install-target-libgnatvsn:
++@if target-libgnatvsn
++maybe-install-target-libgnatvsn: install-target-libgnatvsn
++
++install-target-libgnatvsn: installdirs
++ @: $(MAKE); $(unstage)
++ @r=`${PWD_COMMAND}`; export r; \
++ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
++ $(NORMAL_TARGET_EXPORTS) \
++ (cd $(TARGET_SUBDIR)/libgnatvsn && \
++ $(MAKE) $(TARGET_FLAGS_TO_PASS) install)
++
++@endif target-libgnatvsn
++
++# Other targets (info, dvi, pdf, etc.)
++
++.PHONY: maybe-info-target-libgnatvsn info-target-libgnatvsn
++maybe-info-target-libgnatvsn:
++@if target-libgnatvsn
++maybe-info-target-libgnatvsn: info-target-libgnatvsn
++
++# libgnatvsn doesn't support info.
++info-target-libgnatvsn:
++
++@endif target-libgnatvsn
++
++.PHONY: maybe-dvi-target-libgnatvsn dvi-target-libgnatvsn
++maybe-dvi-target-libgnatvsn:
++@if target-libgnatvsn
++maybe-dvi-target-libgnatvsn: dvi-target-libgnatvsn
++
++# libgnatvsn doesn't support dvi.
++dvi-target-libgnatvsn:
++
++@endif target-libgnatvsn
++
++.PHONY: maybe-pdf-target-libgnatvsn pdf-target-libgnatvsn
++maybe-pdf-target-libgnatvsn:
++@if target-libgnatvsn
++maybe-pdf-target-libgnatvsn: pdf-target-libgnatvsn
++
++pdf-target-libgnatvsn: \
++ configure-target-libgnatvsn
++ @: $(MAKE); $(unstage)
++ @[ -f $(TARGET_SUBDIR)/libgnatvsn/Makefile ] || exit 0 ; \
++ r=`${PWD_COMMAND}`; export r; \
++ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
++ $(NORMAL_TARGET_EXPORTS) \
++ echo "Doing pdf in $(TARGET_SUBDIR)/libgnatvsn" ; \
++ for flag in $(EXTRA_TARGET_FLAGS); do \
++ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
++ done; \
++ (cd $(TARGET_SUBDIR)/libgnatvsn && \
++ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
++ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
++ "RANLIB=$${RANLIB}" \
++ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" "WINDMC=$${WINDMC}" \
++ pdf) \
++ || exit 1
++
++@endif target-libgnatvsn
++
++.PHONY: maybe-html-target-libgnatvsn html-target-libgnatvsn
++maybe-html-target-libgnatvsn:
++@if target-libgnatvsn
++maybe-html-target-libgnatvsn: html-target-libgnatvsn
++
++# libgnatvsn doesn't support html.
++html-target-libgnatvsn:
++
++@endif target-libgnatvsn
++
++.PHONY: maybe-TAGS-target-libgnatvsn TAGS-target-libgnatvsn
++maybe-TAGS-target-libgnatvsn:
++@if target-libgnatvsn
++maybe-TAGS-target-libgnatvsn: TAGS-target-libgnatvsn
++
++# libgnatvsn doesn't support TAGS.
++TAGS-target-libgnatvsn:
++
++@endif target-libgnatvsn
++
++.PHONY: maybe-install-info-target-libgnatvsn install-info-target-libgnatvsn
++maybe-install-info-target-libgnatvsn:
++@if target-libgnatvsn
++maybe-install-info-target-libgnatvsn: install-info-target-libgnatvsn
++
++# libgnatvsn doesn't support install-info.
++install-info-target-libgnatvsn:
++
++@endif target-libgnatvsn
++
++.PHONY: maybe-install-pdf-target-libgnatvsn install-pdf-target-libgnatvsn
++maybe-install-pdf-target-libgnatvsn:
++@if target-libgnatvsn
++maybe-install-pdf-target-libgnatvsn: install-pdf-target-libgnatvsn
++
++install-pdf-target-libgnatvsn: \
++ configure-target-libgnatvsn \
++ pdf-target-libgnatvsn
++ @: $(MAKE); $(unstage)
++ @[ -f $(TARGET_SUBDIR)/libgnatvsn/Makefile ] || exit 0 ; \
++ r=`${PWD_COMMAND}`; export r; \
++ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
++ $(NORMAL_TARGET_EXPORTS) \
++ echo "Doing install-pdf in $(TARGET_SUBDIR)/libgnatvsn" ; \
++ for flag in $(EXTRA_TARGET_FLAGS); do \
++ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
++ done; \
++ (cd $(TARGET_SUBDIR)/libgnatvsn && \
++ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
++ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
++ "RANLIB=$${RANLIB}" \
++ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" "WINDMC=$${WINDMC}" \
++ install-pdf) \
++ || exit 1
++
++@endif target-libgnatvsn
++
++.PHONY: maybe-install-html-target-libgnatvsn install-html-target-libgnatvsn
++maybe-install-html-target-libgnatvsn:
++@if target-libgnatvsn
++maybe-install-html-target-libgnatvsn: install-html-target-libgnatvsn
++
++install-html-target-libgnatvsn: \
++ configure-target-libgnatvsn \
++ html-target-libgnatvsn
++ @: $(MAKE); $(unstage)
++ @[ -f $(TARGET_SUBDIR)/libgnatvsn/Makefile ] || exit 0 ; \
++ r=`${PWD_COMMAND}`; export r; \
++ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
++ $(NORMAL_TARGET_EXPORTS) \
++ echo "Doing install-html in $(TARGET_SUBDIR)/libgnatvsn" ; \
++ for flag in $(EXTRA_TARGET_FLAGS); do \
++ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
++ done; \
++ (cd $(TARGET_SUBDIR)/libgnatvsn && \
++ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
++ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
++ "RANLIB=$${RANLIB}" \
++ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" "WINDMC=$${WINDMC}" \
++ install-html) \
++ || exit 1
++
++@endif target-libgnatvsn
++
++.PHONY: maybe-installcheck-target-libgnatvsn installcheck-target-libgnatvsn
++maybe-installcheck-target-libgnatvsn:
++@if target-libgnatvsn
++maybe-installcheck-target-libgnatvsn: installcheck-target-libgnatvsn
++
++# libgnatvsn doesn't support installcheck.
++installcheck-target-libgnatvsn:
++
++@endif target-libgnatvsn
++
++.PHONY: maybe-mostlyclean-target-libgnatvsn mostlyclean-target-libgnatvsn
++maybe-mostlyclean-target-libgnatvsn:
++@if target-libgnatvsn
++maybe-mostlyclean-target-libgnatvsn: mostlyclean-target-libgnatvsn
++
++mostlyclean-target-libgnatvsn:
++ @: $(MAKE); $(unstage)
++ @[ -f $(TARGET_SUBDIR)/libgnatvsn/Makefile ] || exit 0 ; \
++ r=`${PWD_COMMAND}`; export r; \
++ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
++ $(NORMAL_TARGET_EXPORTS) \
++ echo "Doing mostlyclean in $(TARGET_SUBDIR)/libgnatvsn" ; \
++ for flag in $(EXTRA_TARGET_FLAGS); do \
++ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
++ done; \
++ (cd $(TARGET_SUBDIR)/libgnatvsn && \
++ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
++ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
++ "RANLIB=$${RANLIB}" \
++ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" "WINDMC=$${WINDMC}" \
++ mostlyclean) \
++ || exit 1
++
++@endif target-libgnatvsn
++
++.PHONY: maybe-clean-target-libgnatvsn clean-target-libgnatvsn
++maybe-clean-target-libgnatvsn:
++@if target-libgnatvsn
++maybe-clean-target-libgnatvsn: clean-target-libgnatvsn
++
++clean-target-libgnatvsn:
++ @: $(MAKE); $(unstage)
++ @[ -f $(TARGET_SUBDIR)/libgnatvsn/Makefile ] || exit 0 ; \
++ r=`${PWD_COMMAND}`; export r; \
++ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
++ $(NORMAL_TARGET_EXPORTS) \
++ echo "Doing clean in $(TARGET_SUBDIR)/libgnatvsn" ; \
++ for flag in $(EXTRA_TARGET_FLAGS); do \
++ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
++ done; \
++ (cd $(TARGET_SUBDIR)/libgnatvsn && \
++ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
++ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
++ "RANLIB=$${RANLIB}" \
++ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" "WINDMC=$${WINDMC}" \
++ clean) \
++ || exit 1
++
++@endif target-libgnatvsn
++
++.PHONY: maybe-distclean-target-libgnatvsn distclean-target-libgnatvsn
++maybe-distclean-target-libgnatvsn:
++@if target-libgnatvsn
++maybe-distclean-target-libgnatvsn: distclean-target-libgnatvsn
++
++distclean-target-libgnatvsn:
++ @: $(MAKE); $(unstage)
++ @[ -f $(TARGET_SUBDIR)/libgnatvsn/Makefile ] || exit 0 ; \
++ r=`${PWD_COMMAND}`; export r; \
++ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
++ $(NORMAL_TARGET_EXPORTS) \
++ echo "Doing distclean in $(TARGET_SUBDIR)/libgnatvsn" ; \
++ for flag in $(EXTRA_TARGET_FLAGS); do \
++ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
++ done; \
++ (cd $(TARGET_SUBDIR)/libgnatvsn && \
++ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
++ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
++ "RANLIB=$${RANLIB}" \
++ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" "WINDMC=$${WINDMC}" \
++ distclean) \
++ || exit 1
++
++@endif target-libgnatvsn
++
++.PHONY: maybe-maintainer-clean-target-libgnatvsn maintainer-clean-target-libgnatvsn
++maybe-maintainer-clean-target-libgnatvsn:
++@if target-libgnatvsn
++maybe-maintainer-clean-target-libgnatvsn: maintainer-clean-target-libgnatvsn
++
++maintainer-clean-target-libgnatvsn:
++ @: $(MAKE); $(unstage)
++ @[ -f $(TARGET_SUBDIR)/libgnatvsn/Makefile ] || exit 0 ; \
++ r=`${PWD_COMMAND}`; export r; \
++ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
++ $(NORMAL_TARGET_EXPORTS) \
++ echo "Doing maintainer-clean in $(TARGET_SUBDIR)/libgnatvsn" ; \
++ for flag in $(EXTRA_TARGET_FLAGS); do \
++ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
++ done; \
++ (cd $(TARGET_SUBDIR)/libgnatvsn && \
++ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
++ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
++ "RANLIB=$${RANLIB}" \
++ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" "WINDMC=$${WINDMC}" \
++ maintainer-clean) \
++ || exit 1
++
++@endif target-libgnatvsn
++
++
++
++
++
+ .PHONY: configure-target-libgomp maybe-configure-target-libgomp
+ maybe-configure-target-libgomp:
+ @if gcc-bootstrap
+@@ -51334,6 +52029,7 @@
+ configure-target-qthreads: stage_last
+ configure-target-rda: stage_last
+ configure-target-libada: stage_last
++configure-target-libgnatvsn: stage_last
+ configure-target-libgomp: stage_last
+ @endif gcc-bootstrap
+
+@@ -51358,6 +52054,7 @@
+ configure-target-qthreads: maybe-all-gcc
+ configure-target-rda: maybe-all-gcc
+ configure-target-libada: maybe-all-gcc
++configure-target-libgnatvsn: maybe-all-gcc
+ configure-target-libgomp: maybe-all-gcc
+ @endif gcc-no-bootstrap
+
+@@ -51612,6 +52309,8 @@
+ all-stagefeedback-libcpp: maybe-all-stagefeedback-intl
+ all-fixincludes: maybe-all-libiberty
+ all-gnattools: maybe-all-libada
++all-gnattools: maybe-all-libgnatvsn
++all-libgnatvsn: maybe-all-libada
+ configure-mpfr: maybe-all-gmp
+
+ configure-stage1-mpfr: maybe-all-stage1-gmp
+@@ -52049,6 +52748,7 @@
+ configure-target-qthreads: maybe-all-target-libgcc
+ configure-target-rda: maybe-all-target-libgcc
+ configure-target-libada: maybe-all-target-libgcc
++configure-target-libgnatvsn: maybe-all-target-libgcc
+ configure-target-libgomp: maybe-all-target-libgcc
+ @endif gcc-no-bootstrap
+
+@@ -52091,6 +52791,8 @@
+
+ configure-target-libada: maybe-all-target-newlib maybe-all-target-libgloss
+
++configure-target-libgnatvsn: maybe-all-target-newlib maybe-all-target-libgloss
++
+ configure-target-libgomp: maybe-all-target-newlib maybe-all-target-libgloss
+
+
+Index: configure.ac
+===================================================================
+--- configure.ac.orig
++++ configure.ac
+@@ -155,7 +155,7 @@
+
+ # these libraries are used by various programs built for the host environment
+ #
+-host_libs="intl mmalloc libiberty opcodes bfd readline tcl tk itcl libgui zlib libcpp libdecnumber gmp mpfr libada"
++host_libs="intl mmalloc libiberty opcodes bfd readline tcl tk itcl libgui zlib libcpp libdecnumber gmp mpfr libada libgnatvsn"
+
+ # these tools are built for the host environment
+ # Note, the powerpc-eabi build depends on sim occurring before gdb in order to
+@@ -185,7 +185,8 @@
+ target-boehm-gc \
+ ${libgcj} \
+ target-libobjc \
+- target-libada"
++ target-libada \
++ target-libgnatvsn"
+
+ # these tools are built using the target libraries, and are intended to
+ # run only in the target environment
+@@ -263,7 +264,7 @@
+
+ # Similarly, some are only suitable for cross toolchains.
+ # Remove these if host=target.
+-cross_only="target-libgloss target-newlib target-opcodes target-libada"
++cross_only="target-libgloss target-newlib target-opcodes target-libada target-libgnatvsn"
+
+ case $is_cross_compiler in
+ no) skipdirs="${skipdirs} ${cross_only}" ;;
+@@ -340,7 +341,7 @@
+ ENABLE_LIBADA=$enableval,
+ ENABLE_LIBADA=yes)
+ if test "${ENABLE_LIBADA}" != "yes" ; then
+- noconfigdirs="$noconfigdirs gnattools"
++ noconfigdirs="$noconfigdirs libgnatvsn gnattools"
+ fi
+
+ AC_ARG_ENABLE(libssp,
diff --git a/recipes/gcc/gcc-4.4.0/debian/ada-link-lib.dpatch b/recipes/gcc/gcc-4.4.0/debian/ada-link-lib.dpatch
new file mode 100644
index 0000000000..2645fe034e
--- /dev/null
+++ b/recipes/gcc/gcc-4.4.0/debian/ada-link-lib.dpatch
@@ -0,0 +1,1932 @@
+#! /bin/sh -e
+
+# DP: - Install the shared Ada libraries as '.so.1', not '.so' to conform
+# DP: to the Debian policy.
+# DP: - Don't include a runtime link path (-rpath), when linking binaries.
+# DP: - Build the shared libraries on hppa-linux.
+# DP: - Instead of building libada as a target library only, build it as
+# DP: both a host and, if different, target library.
+# DP: - Build the GNAT tools in their top-level directory; do not use
+# DP: recursive makefiles.
+# DP: - Link the GNAT tools dynamically.
+# DP: - Fix a bug in src/gnattools/configure.ac whereby a nonexistent version
+# DP: of indepsw's body was selected. Regenerate configure. (PR ada/27300)
+
+# This patch seems large, but the hunks in Makefile.in are actually
+# generated from Makefile.def using autogen.
+
+dir=./
+if [ $# -eq 3 -a "$2" = '-d' ]; then
+ pdir="-d $3"
+ dir="$3/"
+elif [ $# -ne 1 ]; then
+ echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
+ exit 1
+fi
+case "$1" in
+ -patch)
+ patch $pdir -f --no-backup-if-mismatch -p0 < $0
+ cd ${dir} && autoconf
+ ;;
+ -unpatch)
+ patch $pdir -f --no-backup-if-mismatch -R -p0 < $0
+ ;;
+ *)
+ echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
+ exit 1
+esac
+exit 0
+
+Index: gcc/ada/config-lang.in
+===================================================================
+--- gcc/ada/config-lang.in.orig 2007-09-03 15:14:47.000000000 +0200
++++ gcc/ada/config-lang.in 2008-01-29 12:16:44.688811730 +0100
+@@ -35,7 +35,7 @@
+ outputs=ada/Makefile
+
+ target_libs="target-libada"
+-lang_dirs="gnattools"
++lang_dirs="libada gnattools"
+
+ # Ada will not work until the front end starts emitting GIMPLE trees.
+ build_by_default=no
+Index: gcc/ada/link.c
+===================================================================
+--- gcc/ada/link.c.orig 2007-11-21 12:20:42.000000000 +0100
++++ gcc/ada/link.c 2008-01-29 12:16:44.688811730 +0100
+@@ -146,8 +146,8 @@
+
+ #elif defined (__FreeBSD__)
+ const char *__gnat_object_file_option = "";
+-const char *__gnat_run_path_option = "-Wl,-rpath,";
+-char __gnat_shared_libgnat_default = STATIC;
++char *__gnat_run_path_option = "";
++char __gnat_shared_libgnat_default = SHARED;
+ int __gnat_link_max = 8192;
+ unsigned char __gnat_objlist_file_supported = 1;
+ unsigned char __gnat_using_gnu_linker = 1;
+@@ -155,8 +155,8 @@
+
+ #elif defined (linux)
+ const char *__gnat_object_file_option = "";
+-const char *__gnat_run_path_option = "-Wl,-rpath,";
+-char __gnat_shared_libgnat_default = STATIC;
++const char *__gnat_run_path_option = "";
++char __gnat_shared_libgnat_default = SHARED;
+ int __gnat_link_max = 8192;
+ unsigned char __gnat_objlist_file_supported = 1;
+ unsigned char __gnat_using_gnu_linker = 1;
+Index: gcc/ada/Makefile.in
+===================================================================
+--- gcc/ada/Makefile.in.orig 2008-01-29 12:10:06.222766372 +0100
++++ gcc/ada/Makefile.in 2008-01-29 12:17:55.465175005 +0100
+@@ -114,7 +114,7 @@
+ MAKEINFO = makeinfo
+ TEXI2DVI = texi2dvi
+ TEXI2PDF = texi2pdf
+-GNATBIND_FLAGS = -static -x
++GNATBIND_FLAGS = -shared -x
+ ADA_CFLAGS =
+ ADAFLAGS = -W -Wall -gnatpg -gnata
+ SOME_ADAFLAGS =-gnata
+@@ -247,7 +247,6 @@
+ LIBDEPS = $(LIBINTL_DEP) $(LIBIBERTY)
+ # Default is no TGT_LIB; one might be passed down or something
+ TGT_LIB =
+-TOOLS_LIBS = $(EXTRA_GNATTOOLS_OBJS) targext.o link.o $(LIBGNAT) ../../../libiberty/libiberty.a $(SYSLIBS) $(TGT_LIB)
+
+ # Specify the directories to be searched for header files.
+ # Both . and srcdir are used, in that order,
+@@ -293,30 +292,6 @@
+ # defined in this file into the environment.
+ .NOEXPORT:
+
+-# Lists of files for various purposes.
+-
+-GNATLINK_OBJS = gnatlink.o \
+- a-except.o ali.o alloc.o butil.o casing.o csets.o debug.o fmap.o fname.o \
+- gnatvsn.o hostparm.o indepsw.o interfac.o i-c.o i-cstrin.o namet.o opt.o \
+- osint.o output.o rident.o s-exctab.o s-secsta.o s-stalib.o s-stoele.o \
+- sdefault.o snames.o stylesw.o switch.o system.o table.o targparm.o tree_io.o \
+- types.o validsw.o widechar.o
+-
+-GNATMAKE_OBJS = a-except.o ali.o ali-util.o s-casuti.o \
+- alloc.o atree.o binderr.o butil.o casing.o csets.o debug.o elists.o einfo.o\
+- erroutc.o errutil.o err_vars.o fmap.o fname.o fname-uf.o fname-sf.o \
+- gnatmake.o gnatvsn.o hostparm.o interfac.o i-c.o i-cstrin.o krunch.o lib.o \
+- make.o makeusg.o makeutl.o mlib.o mlib-fil.o mlib-prj.o mlib-tgt.o \
+- mlib-tgt-specific.o mlib-utl.o namet.o nlists.o opt.o osint.o osint-m.o output.o \
+- prj.o prj-attr.o prj-attr-pm.o prj-com.o prj-dect.o prj-env.o prj-err.o prj-ext.o prj-nmsc.o \
+- prj-pars.o prj-part.o prj-proc.o prj-strt.o prj-tree.o prj-util.o \
+- rident.o s-exctab.o s-secsta.o s-stalib.o s-stoele.o \
+- scans.o scng.o sdefault.o sfn_scan.o s-purexc.o s-htable.o \
+- sinfo.o sinput.o sinput-c.o sinput-p.o \
+- snames.o stand.o stringt.o styleg.o stylesw.o system.o validsw.o switch.o switch-m.o \
+- table.o targparm.o tempdir.o tree_io.o types.o \
+- uintp.o uname.o urealp.o usage.o widechar.o \
+- $(EXTRA_GNATMAKE_OBJS)
+
+ # Convert the target variable into a space separated list of architecture,
+ # manufacturer, and operating system and assign each of those to its own
+@@ -1017,6 +992,11 @@
+ GMEM_LIB = gmemlib
+ endif
+
++ifeq ($(strip $(filter-out hppa% unknown linux gnu,$(targ))),)
++ GNATLIB_SHARED = gnatlib-shared-dual
++ LIBRARY_VERSION := $(LIB_VERSION)
++endif
++
+ ifeq ($(strip $(filter-out hppa% hp hpux10%,$(targ))),)
+ LIBGNAT_TARGET_PAIRS = \
+ a-excpol.adb<a-excpol-abort.adb \
+@@ -1666,128 +1646,6 @@
+ a-[a-o]*.adb a-[p-z]*.adb a-[a-o]*.ads a-[p-z]*.ads g-*.ad? i-*.ad? \
+ s-[a-o]*.adb s-[p-z]*.adb s-[a-o]*.ads s-[p-z]*.ads
+
+-LIBGNAT=../rts/libgnat.a
+-
+-GCC_LINK=$(CC) -static-libgcc $(ADA_INCLUDES)
+-
+-# when compiling the tools, the runtime has to be first on the path so that
+-# it hides the runtime files lying with the rest of the sources
+-ifeq ($(TOOLSCASE),native)
+- vpath %.ads ../rts ../
+- vpath %.adb ../rts ../
+- vpath %.c ../rts ../
+- vpath %.h ../rts ../
+-endif
+-
+-# in the cross tools case, everything is compiled with the native
+-# gnatmake/link. Therefore only -I needs to be modified in ADA_INCLUDES
+-ifeq ($(TOOLSCASE),cross)
+- vpath %.ads ../
+- vpath %.adb ../
+- vpath %.c ../
+- vpath %.h ../
+-endif
+-
+-../../gnatchop$(exeext):
+- $(GNATMAKE) -c $(ADA_INCLUDES) gnatchop --GCC="$(CC) $(ALL_ADAFLAGS)"
+- $(GNATBIND) $(ADA_INCLUDES) $(GNATBIND_FLAGS) gnatchop
+- $(GNATLINK) -v gnatchop -o $@ --GCC="$(GCC_LINK)" $(TOOLS_LIBS)
+-
+-../../gnat$(exeext):
+- $(GNATMAKE) -c $(ADA_INCLUDES) gnatcmd --GCC="$(CC) $(ALL_ADAFLAGS)"
+- $(GNATBIND) $(ADA_INCLUDES) $(GNATBIND_FLAGS) gnatcmd
+- $(GNATLINK) -v gnatcmd -o $@ --GCC="$(GCC_LINK)" $(TOOLS_LIBS)
+-
+-../../gnatkr$(exeext):
+- $(GNATMAKE) -c $(ADA_INCLUDES) gnatkr --GCC="$(CC) $(ALL_ADAFLAGS)"
+- $(GNATBIND) $(ADA_INCLUDES) $(GNATBIND_FLAGS) gnatkr
+- $(GNATLINK) -v gnatkr -o $@ --GCC="$(GCC_LINK)" $(TOOLS_LIBS)
+-
+-../../gnatls$(exeext):
+- $(GNATMAKE) -c $(ADA_INCLUDES) gnatls --GCC="$(CC) $(ALL_ADAFLAGS)"
+- $(GNATBIND) $(ADA_INCLUDES) $(GNATBIND_FLAGS) gnatls
+- $(GNATLINK) -v gnatls -o $@ --GCC="$(GCC_LINK)" $(TOOLS_LIBS)
+-
+-../../gnatname$(exeext):
+- $(GNATMAKE) -c $(ADA_INCLUDES) gnatname --GCC="$(CC) $(ALL_ADAFLAGS)"
+- $(GNATBIND) $(ADA_INCLUDES) $(GNATBIND_FLAGS) gnatname
+- $(GNATLINK) -v gnatname -o $@ --GCC="$(GCC_LINK)" $(TOOLS_LIBS)
+-
+-../../gprmake$(exeext):
+- $(GNATMAKE) -c $(ADA_INCLUDES) gprmake --GCC="$(CC) $(ALL_ADAFLAGS)"
+- $(GNATBIND) $(ADA_INCLUDES) $(GNATBIND_FLAGS) gprmake
+- $(GNATLINK) -v gprmake -o $@ --GCC="$(GCC_LINK)" $(TOOLS_LIBS)
+-
+-../../gnatprep$(exeext):
+- $(GNATMAKE) -c $(ADA_INCLUDES) gnatprep --GCC="$(CC) $(ALL_ADAFLAGS)"
+- $(GNATBIND) $(ADA_INCLUDES) $(GNATBIND_FLAGS) gnatprep
+- $(GNATLINK) -v gnatprep -o $@ --GCC="$(GCC_LINK)" $(TOOLS_LIBS)
+-
+-../../gnatxref$(exeext):
+- $(GNATMAKE) -c $(ADA_INCLUDES) gnatxref --GCC="$(CC) $(ALL_ADAFLAGS)"
+- $(GNATBIND) $(ADA_INCLUDES) $(GNATBIND_FLAGS) gnatxref
+- $(GNATLINK) -v gnatxref -o $@ --GCC="$(GCC_LINK)" $(TOOLS_LIBS)
+-
+-../../gnatfind$(exeext):
+- $(GNATMAKE) -c $(ADA_INCLUDES) gnatfind --GCC="$(CC) $(ALL_ADAFLAGS)"
+- $(GNATBIND) $(ADA_INCLUDES) $(GNATBIND_FLAGS) gnatfind
+- $(GNATLINK) -v gnatfind -o $@ --GCC="$(GCC_LINK)" $(TOOLS_LIBS)
+-
+-../../gnatclean$(exeext):
+- $(GNATMAKE) -c $(ADA_INCLUDES) gnatclean --GCC="$(CC) $(ALL_ADAFLAGS)"
+- $(GNATBIND) $(ADA_INCLUDES) $(GNATBIND_FLAGS) gnatclean
+- $(GNATLINK) -v gnatclean -o $@ --GCC="$(GCC_LINK)" $(TOOLS_LIBS)
+-
+-../../gnatsym$(exeext):
+- $(GNATMAKE) -c $(ADA_INCLUDES) gnatsym --GCC="$(CC) $(ALL_ADAFLAGS)"
+- $(GNATBIND) $(ADA_INCLUDES) $(GNATBIND_FLAGS) gnatsym
+- $(GNATLINK) -v gnatsym -o $@ --GCC="$(GCC_LINK)" $(TOOLS_LIBS)
+-
+-../../gnatdll$(exeext):
+- $(GNATMAKE) -c $(ADA_INCLUDES) gnatdll --GCC="$(CC) $(ALL_ADAFLAGS)"
+- $(GNATBIND) $(ADA_INCLUDES) $(GNATBIND_FLAGS) $(GNATBIND_FLAGS) gnatdll
+- $(GNATLINK) -v gnatdll -o $@ --GCC="$(GCC_LINK)" $(TOOLS_LIBS)
+-
+-../../vxaddr2line$(exeext): targext.o
+- $(GNATMAKE) -c $(ADA_INCLUDES) vxaddr2line --GCC="$(CC) $(ALL_ADAFLAGS)"
+- $(GNATBIND) $(ADA_INCLUDES) $(GNATBIND_FLAGS) vxaddr2line
+- $(GNATLINK) -v vxaddr2line -o $@ --GCC="$(GCC_LINK)" targext.o $(CLIB)
+-
+-gnatmake-re: link.o targext.o
+- $(GNATMAKE) $(ADA_INCLUDES) -u sdefault --GCC="$(CC) $(MOST_ADA_FLAGS)"
+- $(GNATMAKE) -c $(ADA_INCLUDES) gnatmake --GCC="$(CC) $(ALL_ADAFLAGS)"
+- $(GNATBIND) $(ADA_INCLUDES) $(GNATBIND_FLAGS) gnatmake
+- $(GNATLINK) -v gnatmake -o ../../gnatmake$(exeext) \
+- --GCC="$(GCC_LINK)" $(TOOLS_LIBS)
+-
+-# Note the use of the "mv" command in order to allow gnatlink to be linked with
+-# with the former version of gnatlink itself which cannot override itself.
+-gnatlink-re: link.o targext.o
+- $(GNATMAKE) -c $(ADA_INCLUDES) gnatlink --GCC="$(CC) $(ALL_ADAFLAGS)"
+- $(GNATBIND) $(ADA_INCLUDES) $(GNATBIND_FLAGS) gnatlink
+- $(GNATLINK) -v gnatlink -o ../../gnatlinknew$(exeext) \
+- --GCC="$(GCC_LINK)" $(TOOLS_LIBS)
+- $(MV) ../../gnatlinknew$(exeext) ../../gnatlink$(exeext)
+-
+-# Needs to be built with CC=gcc
+-# Since the RTL should be built with the latest compiler, remove the
+-# stamp target in the parent directory whenever gnat1 is rebuilt
+-
+-# Likewise for the tools
+-../../gnatmake$(exeext): $(P) b_gnatm.o link.o targext.o $(GNATMAKE_OBJS)
+- $(GCC_LINK) $(ALL_CFLAGS) $(LDFLAGS) -o $@ b_gnatm.o $(GNATMAKE_OBJS) \
+- $(TOOLS_LIBS)
+-
+-../../gnatlink$(exeext): $(P) b_gnatl.o link.o targext.o $(GNATLINK_OBJS)
+- $(GCC_LINK) $(ALL_CFLAGS) $(LDFLAGS) -o $@ b_gnatl.o $(GNATLINK_OBJS) \
+- $(TOOLS_LIBS)
+-
+-../../gnatbl$(exeext): gnatbl.o
+- $(GCC_LINK) -o $@ $(ALL_CFLAGS) $(LDFLAGS) gnatbl.o $(TOOLS_LIBS)
+-
+-gnatbl.o: gnatbl.c adaint.h
+- $(CC) $(ALL_CFLAGS) $(INCLUDES) -c $< $(OUTPUT_OPTION)
+-
+ ../stamp-gnatlib:
+ @if [ ! -f stamp-gnatlib ] ; \
+ then \
+@@ -1823,12 +1681,10 @@
+ # permission is required.
+ for file in gnat gnarl; do \
+ if [ -f rts/lib$${file}$(hyphen)$(LIBRARY_VERSION)$(soext) ]; then \
+- $(INSTALL) rts/lib$${file}$(hyphen)$(LIBRARY_VERSION)$(soext) \
++ $(INSTALL) rts/lib$${file}$(hyphen)$(LIBRARY_VERSION)$(soext).1 \
+ $(DESTDIR)$(ADA_RTL_OBJ_DIR); \
+- fi; \
+- if [ -f rts/lib$${file}$(soext) ]; then \
+- $(LN_S) lib$${file}$(hyphen)$(LIBRARY_VERSION)$(soext) \
+- $(DESTDIR)$(ADA_RTL_OBJ_DIR)/lib$${file}$(soext); \
++ $(LN_S) lib$${file}$(hyphen)$(LIBRARY_VERSION)$(soext).1 \
++ $(DESTDIR)$(ADA_RTL_OBJ_DIR)/lib$${file}$(hyphen)$(LIBRARY_VERSION)$(soext); \
+ fi; \
+ done
+ # This copy must be done preserving the date on the original file.
+@@ -1838,18 +1694,6 @@
+ cd $(DESTDIR)$(ADA_INCLUDE_DIR); $(CHMOD) a-wx *.adb
+ cd $(DESTDIR)$(ADA_INCLUDE_DIR); $(CHMOD) a-wx *.ads
+
+-../stamp-gnatlib2:
+- $(RM) rts/s-*.ali
+- $(RM) rts/s-*$(objext)
+- $(RM) rts/a-*.ali
+- $(RM) rts/a-*$(objext)
+- $(RM) rts/*.ali
+- $(RM) rts/*$(objext)
+- $(RM) rts/*$(arext)
+- $(RM) rts/*$(soext)
+- touch ../stamp-gnatlib2
+- $(RM) ../stamp-gnatlib
+-
+ # NOTE: The $(foreach ...) commands assume ";" is the valid separator between
+ # successive target commands. Although the Gnu make documentation
+ # implies this is true on all systems, I suspect it may not be, So care
+@@ -1859,7 +1703,7 @@
+
+ # GNULLI Begin ###########################################################
+
+-../stamp-gnatlib1: Makefile ../stamp-gnatlib2
++../stamp-gnatlib1: Makefile
+ $(RMDIR) rts
+ $(MKDIR) rts
+ $(CHMOD) u+w rts
+@@ -1885,7 +1729,7 @@
+ # Example: cd rts; ar rc libfoo.a $(LONG_LIST_OF_OBJS)
+ # is guaranteed to overflow the buffer.
+
+-gnatlib: ../stamp-gnatlib1 ../stamp-gnatlib2
++gnatlib: ../stamp-gnatlib1
+ $(MAKE) -C rts \
+ CC="`echo \"$(GCC_FOR_TARGET)\" \
+ | sed -e 's,^\./xgcc,../../xgcc,' -e 's,-B\./,-B../../,'`" \
+@@ -1924,64 +1768,75 @@
+ rts/memtrack.o
+ $(RANLIB_FOR_TARGET) rts/libgmem$(arext)
+ endif
+- $(CHMOD) a-wx rts/*.ali
+ touch ../stamp-gnatlib
+
+ # Warning: this target assumes that LIBRARY_VERSION has been set correctly.
+-gnatlib-shared-default:
+- $(MAKE) $(FLAGS_TO_PASS) \
+- GNATLIBFLAGS="$(GNATLIBFLAGS)" \
+- GNATLIBCFLAGS="$(GNATLIBCFLAGS) $(TARGET_LIBGCC2_CFLAGS)" \
+- THREAD_KIND="$(THREAD_KIND)" \
+- gnatlib
+- $(RM) rts/libgna*$(soext)
++gnatlib-shared-default: ../stamp-gnatlib1
++ $(MAKE) -C rts \
++ CC="`echo \"$(GCC_FOR_TARGET)\" \
++ | sed -e 's,^\./xgcc,../../xgcc,' -e 's,-B\./,-B../../,'`" \
++ INCLUDES="$(INCLUDES_FOR_SUBDIR) -I./../.." \
++ CFLAGS="$(GNATLIBCFLAGS_FOR_C)" \
++ srcdir=$(fsrcdir) \
++ -f ../Makefile $(LIBGNAT_OBJS)
++ $(MAKE) -C rts \
++ CC="`echo \"$(GCC_FOR_TARGET)\" \
++ | sed -e 's,^\./xgcc,../../xgcc,' -e 's,-B\./,-B../../,'`" \
++ ADA_INCLUDES="" \
++ CFLAGS="$(GNATLIBCFLAGS) $(TARGET_LIBGCC2_CFLAGS)" \
++ ADAFLAGS="$(GNATLIBFLAGS)" \
++ THREAD_KIND="$(THREAD_KIND)" \
++ srcdir=$(fsrcdir) \
++ -f ../Makefile \
++ $(GNATRTL_OBJS)
++ $(RM) rts/libgna*$(soext) rts/libgna*$(soext).1
+ cd rts; ../../xgcc -B../../ -shared $(GNATLIBCFLAGS) \
+ $(TARGET_LIBGCC2_CFLAGS) \
+- -o libgnat$(hyphen)$(LIBRARY_VERSION)$(soext) \
++ -o libgnat$(hyphen)$(LIBRARY_VERSION)$(soext).1 \
+ $(GNATRTL_NONTASKING_OBJS) $(LIBGNAT_OBJS) \
+ g-trasym.o convert_addresses.o \
+- $(SO_OPTS)libgnat$(hyphen)$(LIBRARY_VERSION)$(soext) \
++ $(SO_OPTS)libgnat$(hyphen)$(LIBRARY_VERSION)$(soext).1 \
+ $(MISCLIB) -lm
+ cd rts; ../../xgcc -B../../ -shared $(GNATLIBCFLAGS) \
+ $(TARGET_LIBGCC2_CFLAGS) \
+- -o libgnarl$(hyphen)$(LIBRARY_VERSION)$(soext) \
++ -o libgnarl$(hyphen)$(LIBRARY_VERSION)$(soext).1 \
+ $(GNATRTL_TASKING_OBJS) \
+- $(SO_OPTS)libgnarl$(hyphen)$(LIBRARY_VERSION)$(soext) \
++ $(SO_OPTS)libgnarl$(hyphen)$(LIBRARY_VERSION)$(soext).1 \
+ $(THREADSLIB)
+- cd rts; $(LN_S) libgnat$(hyphen)$(LIBRARY_VERSION)$(soext) \
+- libgnat$(soext)
+- cd rts; $(LN_S) libgnarl$(hyphen)$(LIBRARY_VERSION)$(soext) \
+- libgnarl$(soext)
++ cd rts; for lib in gnat gnarl; do \
++ l=lib$${lib}$(hyphen)$(LIBRARY_VERSION)$(soext); \
++ $(LN_S) $$l.1 $$l; \
++ done
++# Delete the object files, lest they be linked statically into the tools
++# executables. Only the .ali, .a and .so files must remain.
++ rm -f rts/*.o
++ $(CHMOD) a-wx rts/*.ali
+
+ gnatlib-shared-dual:
+ $(MAKE) $(FLAGS_TO_PASS) \
+ GNATLIBFLAGS="$(GNATLIBFLAGS)" \
+ GNATLIBCFLAGS="$(GNATLIBCFLAGS)" \
+ THREAD_KIND="$(THREAD_KIND)" \
+- gnatlib-shared-default
+- $(MV) rts/libgna*$(soext) .
+- $(RM) ../stamp-gnatlib2
++ gnatlib
++ $(RM) rts/*.o rts/*.ali
+ $(MAKE) $(FLAGS_TO_PASS) \
+ GNATLIBFLAGS="$(GNATLIBFLAGS)" \
+ GNATLIBCFLAGS="$(GNATLIBCFLAGS)" \
+ THREAD_KIND="$(THREAD_KIND)" \
+- gnatlib
+- $(MV) libgna*$(soext) rts
++ gnatlib-shared-default
+
+ gnatlib-shared-dual-win32:
+ $(MAKE) $(FLAGS_TO_PASS) \
+ GNATLIBFLAGS="$(GNATLIBFLAGS)" \
+- GNATLIBCFLAGS="$(GNATLIBCFLAGS) $(TARGET_LIBGCC2_CFLAGS)" \
++ GNATLIBCFLAGS="$(GNATLIBCFLAGS)" \
+ THREAD_KIND="$(THREAD_KIND)" \
+- gnatlib-shared-win32
+- $(MV) rts/libgna*$(soext) .
+- $(RM) ../stamp-gnatlib2
++ gnatlib
++ $(RM) rts/*.o rts/*.ali
+ $(MAKE) $(FLAGS_TO_PASS) \
+ GNATLIBFLAGS="$(GNATLIBFLAGS)" \
+- GNATLIBCFLAGS="$(GNATLIBCFLAGS)" \
++ GNATLIBCFLAGS="$(GNATLIBCFLAGS) $(TARGET_LIBGCC2_CFLAGS)" \
+ THREAD_KIND="$(THREAD_KIND)" \
+- gnatlib
+- $(MV) libgna*$(soext) rts
++ gnatlib-shared-win32
+
+ # ??? we need to add the option to support auto-import of arrays/records to
+ # the GNATLIBFLAGS when this will be supported by GNAT. At this point we will
+@@ -2090,22 +1945,6 @@
+ gnat-cross: force
+ make $(GNAT1_ADA_OBJS) CC="gcc -B../stage1/" CFLAGS="-S -gnatp"
+
+-# Compiling object files from source files.
+-
+-# Note that dependencies on obstack.h are not written
+-# because that file is not part of GCC.
+-# Dependencies on gvarargs.h are not written
+-# because all that file does, when not compiling with GCC,
+-# is include the system varargs.h.
+-
+-b_gnatl.c : $(GNATLINK_OBJS)
+- $(GNATBIND) -C $(ADA_INCLUDES) -o b_gnatl.c gnatlink.ali
+-b_gnatl.o : b_gnatl.c
+-
+-b_gnatm.c : $(GNATMAKE_OBJS)
+- $(GNATBIND) -C $(ADA_INCLUDES) -o b_gnatm.c gnatmake.ali
+-b_gnatm.o : b_gnatm.c
+-
+ ADA_INCLUDE_DIR = $(libsubdir)/adainclude
+ ADA_RTL_OBJ_DIR = $(libsubdir)/adalib
+
+@@ -2225,19 +2064,3 @@
+ .PHONY: risky-stage1 risky-stage2 risky-stage3 risky-stage4
+
+ force:
+-
+-# Gnatlbr, Vms_help, and Gnat.hlp are only used on VMS
+-
+-../../gnatlbr$(exeext): ../../prefix.o
+- $(GNATMAKE) -c $(ADA_INCLUDES) gnatlbr --GCC="$(CC) $(ALL_ADAFLAGS)"
+- $(GNATBIND) $(ADA_INCLUDES) $(GNATBIND_FLAGS) gnatlbr
+- $(GNATLINK) -v gnatlbr -o $@ --GCC="$(GCC_LINK)" $(TOOLS_LIBS)
+-
+-../../vms_help$(exeext):
+- $(GNATMAKE) -c $(ADA_INCLUDES) vms_help --GCC="$(CC) $(ALL_ADAFLAGS)"
+- $(GNATBIND) $(ADA_INCLUDES) $(GNATBIND_FLAGS) vms_help
+- $(GNATLINK) -v vms_help -o $@ --GCC="$(GCC_LINK)" $(TOOLS_LIBS)
+-
+-../../gnat.hlp: ../../vms_help$(exeext)
+- ../../vms_help$(exeext) $(fsrcdir)/gnat.help_in \
+- $(fsrcdir)/vms_data.ads ../../gnat.hlp
+Index: gnattools/Makefile.in
+===================================================================
+--- gnattools/Makefile.in.orig 2007-07-05 10:19:48.000000000 +0200
++++ gnattools/Makefile.in 2008-01-29 12:16:44.696811771 +0100
+@@ -18,6 +18,8 @@
+ # Default target; must be first.
+ all: gnattools
+
++.SUFFIXES:
++
+ # Standard autoconf-set variables.
+ SHELL = @SHELL@
+ srcdir = @srcdir@
+@@ -32,112 +34,16 @@
+ LN_S=@LN_S@
+ target_noncanonical=@target_noncanonical@
+
+-# Variables for the user (or the top level) to override.
+-objext=.o
+-TRACE=no
+-ADA_FOR_BUILD=
+-ADA_FOR_TARGET=
+-LDFLAGS=
+-PWD_COMMAND = $${PWDCMD-pwd}
+-
+-# The tedious process of getting CFLAGS right.
+-CFLAGS=-g
+-LOOSE_WARN = -W -Wall -Wwrite-strings -Wstrict-prototypes -Wmissing-prototypes
+-GCC_WARN_CFLAGS = $(LOOSE_WARN) $(NOCOMMON_FLAG)
+-
+-ADA_CFLAGS=
+-T_ADA_CFLAGS=
+-# HPPA is literally the only target which sets X_ADA_CFLAGS
+-X_ADA_CFLAGS=@x_ada_cflags@
+-ALL_ADA_CFLAGS=$(X_ADA_CFLAGS) $(T_ADA_CFLAGS) $(ADA_CFLAGS)
+-
+-# Variables for gnattools.
+-ADAFLAGS= -gnatpg -gnata
+-ADA_INCLUDE_DIR = $(libsubdir)/adainclude
+-ADA_RTL_OBJ_DIR = $(libsubdir)/adalib
+-
+-# For finding the GCC build dir, which is used far too much
+-GCC_DIR=../gcc
+-# Include fragment generated by GCC configure; shared with libada for now.
+-include $(GCC_DIR)/libada-mk
+-# Variables based on those gleaned from the GCC makefile. :-P
+-libsubdir=$(libdir)/gcc/$(target_noncanonical)/$(gcc_version)
+-
+-# Get possible host-specific override for libsubdir (ick).
+-xmake_file=$(subst /config,/../gcc/config,$(gcc_xmake_file))
+-ifneq ($(xmake_file),)
+-include $(xmake_file)
+-endif
+-
+-# Absolute srcdir for gcc/ada (why do we want absolute? I dunno)
+-fsrcdir := $(shell cd $(srcdir)/../gcc/ada/; ${PWD_COMMAND})
+-
+-# Useful "subroutines" for the excess includes
+-INCLUDES_FOR_SUBDIR = -I. -I.. -I../.. -I$(fsrcdir) -I$(fsrcdir)/../config \
+- -I$(fsrcdir)/../../include -I$(fsrcdir)/..
+-ADA_INCLUDES_FOR_SUBDIR = -I. -I$(fsrcdir)
+-
+-# Variables for gnattools1, native
+-TOOLS_FLAGS_TO_PASS_1= \
+- "CC=../../xgcc -B../../" \
+- "CFLAGS=$(CFLAGS) $(WARN_CFLAGS)" \
+- "LDFLAGS=$(LDFLAGS)" \
+- "ADAFLAGS=$(ADAFLAGS)" \
+- "INCLUDES=$(INCLUDES_FOR_SUBDIR)" \
+- "ADA_INCLUDES=-I- -I../rts $(ADA_INCLUDES_FOR_SUBDIR)"\
+- "exeext=$(exeext)" \
+- "fsrcdir=$(fsrcdir)" \
+- "srcdir=$(fsrcdir)" \
+- "GNATBIND=../../gnatbind" \
+- "TOOLSCASE=native"
+-
+-# Variables for regnattools
+-TOOLS_FLAGS_TO_PASS_1re= \
+- "CC=../../xgcc -B../../" \
+- "CFLAGS=$(CFLAGS)" \
+- "ADAFLAGS=$(ADAFLAGS)" \
+- "INCLUDES=$(INCLUDES_FOR_SUBDIR)" \
+- "ADA_INCLUDES=-I../rts $(ADA_INCLUDES_FOR_SUBDIR)"\
+- "exeext=$(exeext)" \
+- "fsrcdir=$(fsrcdir)" \
+- "srcdir=$(fsrcdir)" \
+- "GNATMAKE=../../gnatmake" \
+- "GNATLINK=../../gnatlink" \
+- "GNATBIND=../../gnatbind" \
+- "TOOLSCASE=cross" \
+- "INCLUDES="
+-
+-# Variables for gnattools2, native
+-TOOLS_FLAGS_TO_PASS_NATIVE= \
+- "CC=../../xgcc -B../../" \
+- "CFLAGS=$(CFLAGS)" \
+- "ADAFLAGS=$(ADAFLAGS)" \
+- "INCLUDES=$(INCLUDES_FOR_SUBDIR)" \
+- "ADA_INCLUDES=-I../rts $(ADA_INCLUDES_FOR_SUBDIR)" \
+- "exeext=$(exeext)" \
+- "fsrcdir=$(fsrcdir)" \
+- "srcdir=$(fsrcdir)" \
+- "GNATMAKE=../../gnatmake" \
+- "GNATLINK=../../gnatlink" \
+- "GNATBIND=../../gnatbind" \
+- "TOOLSCASE=native"
+-
+-# Variables for gnattools, cross
+-TOOLS_FLAGS_TO_PASS_CROSS= \
+- "CC=$(CC)" \
+- "CFLAGS=$(CFLAGS) $(WARN_CFLAGS)" \
+- "LDFLAGS=$(LDFLAGS)" \
+- "ADAFLAGS=$(ADAFLAGS)" \
+- "INCLUDES=$(INCLUDES_FOR_SUBDIR)" \
+- "ADA_INCLUDES=-I$(RTS_DIR)../adainclude -I$(RTS_DIR) $(ADA_INCLUDES_FOR_SUBDIR)" \
+- "exeext=$(exeext)" \
+- "fsrcdir=$(fsrcdir)" \
+- "srcdir=$(fsrcdir)" \
+- "GNATMAKE=gnatmake" \
+- "GNATLINK=gnatlink" \
+- "GNATBIND=gnatbind" \
+- "TOOLSCASE=cross" \
+- "LIBGNAT="
++CFLAGS=-O2 -Wall
++INCLUDES = -I@srcdir@/../gcc/ada -I@srcdir@/../gcc
++ADA_CFLAGS=-O2 -gnatn
++ADA_INCLUDES=-nostdinc -I- -I. -I../gcc/ada/rts -I@srcdir@/../gcc/ada
++LIB_VERSION=$(strip $(shell grep ' Library_Version :' \
++ @srcdir@/../gcc/ada/gnatvsn.ads | sed -e 's/.*"\(.*\)".*/\1/'))
++ADA_LIBS := -L../gcc/ada/rts -lgnat-$(LIB_VERSION)
++
++# We will use the just-built compiler to compile and link everything.
++GCC=../gcc/xgcc -B../gcc/
+
+ # File lists
+ # ----------
+@@ -146,17 +52,136 @@
+ EXTRA_GNATTOOLS = @EXTRA_GNATTOOLS@
+ TOOLS_TARGET_PAIRS = @TOOLS_TARGET_PAIRS@
+
+-# These are built by gnatmake, and in both native and cross configurations.
+-GNATTOOLS2_FILES = \
+- ../../gnatchop$(exeext) \
+- ../../gnat$(exeext) \
+- ../../gnatkr$(exeext) \
+- ../../gnatls$(exeext) \
+- ../../gnatprep$(exeext) \
+- ../../gnatxref$(exeext) \
+- ../../gnatfind$(exeext) \
+- ../../gnatname$(exeext) \
+- ../../gnatclean$(exeext)
++# Stage 1 builds xgcc and gnatbind; we can use them to build
++# gnatmake-static and gnatlink-static, then use gnatmake-static and
++# gnatlink-static to build the other tools. The reason we first build
++# statically-linked versions of gnatmake and gnatlink is so we can run
++# them with confidence on all build platforms, without LD_LIBRARY_PATH
++# or some such variable.
++
++# The tools we will build using gnatmake-static and gnatlink-static.
++TOOLS := gnat gnatbind gnatchop gnatclean gnatfind gnatkr gnatls gnatlink
++TOOLS += gnatmake gnatname gnatprep gnatxref gprmake
++
++# Since we don't have gnatmake, we must specify the full list of
++# object files necessary to build gnatmake and gnatlink.
++# TODO: remove from these lists the objects that are part of
++# libgnatvsn and libgnatprj.
++GNATLINK_OBJS = \
++ali.o \
++alloc.o \
++butil.o \
++casing.o \
++csets.o \
++debug.o \
++fmap.o \
++fname.o \
++gnatlink.o \
++gnatvsn.o \
++hostparm.o \
++indepsw.o \
++namet.o \
++opt.o \
++osint.o \
++output.o \
++prefix.o \
++rident.o \
++sdefault.o \
++snames.o \
++stylesw.o \
++switch.o \
++table.o \
++targparm.o \
++tree_io.o \
++types.o \
++validsw.o \
++version.o \
++widechar.o
++
++GNATMAKE_OBJS = \
++ali-util.o \
++ali.o \
++alloc.o \
++atree.o \
++binderr.o \
++butil.o \
++casing.o \
++csets.o \
++debug.o \
++einfo.o\
++elists.o \
++err_vars.o \
++erroutc.o \
++errutil.o \
++fmap.o \
++fname-sf.o \
++fname-uf.o \
++fname.o \
++gnatmake.o \
++gnatvsn.o \
++hostparm.o \
++krunch.o \
++lib.o \
++make.o \
++makeusg.o \
++makeutl.o \
++mlib-fil.o \
++mlib-prj.o \
++mlib-tgt.o \
++mlib-tgt-specific.o \
++mlib-utl.o \
++mlib.o \
++namet.o \
++nlists.o \
++opt.o \
++osint-m.o \
++osint.o \
++output.o \
++prefix.o \
++prj-attr-pm.o \
++prj-attr.o \
++prj-com.o \
++prj-dect.o \
++prj-env.o \
++prj-err.o \
++prj-ext.o \
++prj-nmsc.o \
++prj-pars.o \
++prj-part.o \
++prj-proc.o \
++prj-strt.o \
++prj-tree.o \
++prj-util.o \
++prj.o \
++rident.o \
++scans.o \
++scng.o \
++sdefault.o \
++sfn_scan.o \
++sinfo.o \
++sinput-c.o \
++sinput-p.o \
++sinput.o \
++snames.o \
++stand.o \
++stringt.o \
++styleg.o \
++stylesw.o \
++switch-m.o \
++switch.o \
++table.o \
++targparm.o \
++tempdir.o \
++tree_io.o \
++types.o \
++uintp.o \
++uname.o \
++urealp.o \
++usage.o \
++validsw.o \
++version.o \
++widechar.o \
++$(EXTRA_GNATMAKE_OBJS)
+
+ # Makefile targets
+ # ----------------
+@@ -164,126 +189,106 @@
+ .PHONY: gnattools gnattools-native gnattools-cross regnattools
+ gnattools: @default_gnattools_target@
+
+-# Sanity check
+-$(GCC_DIR)/stamp-gnatlib:
+- @if [ ! -f $(GCC_DIR)/stamp-gnatlib ] ; \
+- then \
+- echo "Cannot build gnattools while gnatlib is out of date or unbuilt" ; \
+- false; \
+- else \
+- true; \
+- fi
+-
+-
+ # Build directory for the tools. Let's copy the target-dependent
+ # sources using the same mechanism as for gnatlib. The other sources are
+-# accessed using the vpath directive in ada/Makefile.in
++# accessed using the vpath directive.
++
++stamp-gnattools-sources:
++ $(LN_S) ../gcc/ada/sdefault.adb .
++ $(foreach PAIR,$(TOOLS_TARGET_PAIRS), \
++ rm -f $(word 1,$(subst <, ,$(PAIR)));\
++ $(LN_S) @srcdir@/../gcc/ada/$(word 2,$(subst <, ,$(PAIR))) \
++ $(word 1,$(subst <, ,$(PAIR)));)
++ touch $@
++
++gnattools-native: ../gcc/ada/rts/libgnat-$(LIB_VERSION).so
++gnattools-native: stamp-gnattools-sources
++gnattools-native: $(TOOLS) gnatbl
++
++$(TOOLS) gnatcmd: | gnatmake-static gnatlink-static
++
++vpath %.c @srcdir@/../gcc/ada:@srcdir@/../gcc
++vpath %.h @srcdir@/../gcc/ada
++vpath %.adb .:@srcdir@/../gcc/ada
++vpath %.ads @srcdir@/../gcc/ada
++
++# Because the just-built gcc is a host tool like us, we can use some
++# of its object files, e.g. prefix.o and version.o.
++vpath prefix.o ../gcc
++vpath version.o ../gcc
++
++# gnatlink
++
++gnatlink-static: $(GNATLINK_OBJS) b_gnatl.o link.o
++ $(GCC) -o $@ $^ \
++ ../gcc/ada/rts/libgnat.a \
++ ../libiberty/libiberty.a
++
++gnatlink: $(GNATLINK_OBJS) b_gnatl.o link.o
++ $(GCC) -o $@ $^ $(ADA_LIBS) ../libiberty/libiberty.a
++
++b_gnatl.o: b_gnatl.c adaint.h
++ $(GCC) -c -o $@ $(CFLAGS) $<
++
++b_gnatl.c: $(GNATLINK_OBJS)
++ ../gcc/gnatbind -C -o $@ $(ADA_INCLUDES) gnatlink.ali
++
++# gnatmake
++
++gnatmake-static: $(GNATMAKE_OBJS) b_gnatm.o link.o
++ $(GCC) -o $@ $(ADA_CFLAGS) $^ \
++ ../gcc/ada/rts/libgnat.a \
++ ../libiberty/libiberty.a
++
++gnatmake: $(GNATMAKE_OBJS) b_gnatm.o link.o
++ $(GCC) -o $@ $(ADA_CFLAGS) $^ $(ADA_LIBS) ../libiberty/libiberty.a
++
++b_gnatm.o: b_gnatm.c adaint.h
++ $(GCC) -c -o $@ $(CFLAGS) $<
++
++b_gnatm.c: $(GNATMAKE_OBJS) adaint.h
++ ../gcc/gnatbind -C -o $@ $(ADA_INCLUDES) gnatmake.ali
++
++# Other tools
++gnatkr: version.o
++ ./gnatmake-static -c -b $@ $(ADA_CFLAGS) $(ADA_INCLUDES) \
++ --GCC="$(GCC)" \
++ --GNATBIND=../gcc/gnatbind
++ ./gnatlink-static -o $@ $@.ali $^ $(ADA_INCLUDES) $(ADA_LIBS) \
++ --GCC="$(GCC) $(ADA_INCLUDES)"
++
++gnat: gnatcmd
++ cp -lp $< $@
++
++gnatbind gnatchop gnatclean gnatcmd gnatfind gnatls gnatname gnatprep gnatxref gprmake: \
++link.o version.o prefix.o
++ ./gnatmake-static -c -b $@ $(ADA_CFLAGS) $(ADA_INCLUDES) \
++ --GCC="$(GCC)" \
++ --GNATBIND=../gcc/gnatbind
++ ./gnatlink-static -o $@ $@.ali $^ $(ADA_INCLUDES) $(ADA_LIBS) \
++ ../libiberty/libiberty.a \
++ --GCC="$(GCC) $(ADA_INCLUDES)"
++
++gnatbl: gnatbl.c link.o version.o prefix.o
++ $(GCC) -o $@ $< $(CFLAGS) \
++ -I../gcc -I@srcdir@/../gcc/config -I@srcdir@/../gcc \
++ -I@srcdir@/../include \
++ $(filter-out %.c,$^) \
++ $(ADA_LIBS) ../libiberty/libiberty.a
++
++# Force compiling sdefault.adb, not .ads, to produce sdefault.o
++sdefault.o: sdefault.adb
++
++sdefault.adb: stamp-gnattools-sources
++
++%.o: %.adb
++ $(GCC) -c -o $@ $< $(ADA_CFLAGS) $(ADA_INCLUDES)
++
++%.o: %.ads
++ $(GCC) -c -o $@ $< $(ADA_CFLAGS) $(ADA_INCLUDES)
+
+-$(GCC_DIR)/stamp-tools:
+- -rm -rf $(GCC_DIR)/ada/tools
+- -mkdir -p $(GCC_DIR)/ada/tools
+- -(cd $(GCC_DIR)/ada/tools; $(LN_S) ../sdefault.adb .)
+- -$(foreach PAIR,$(TOOLS_TARGET_PAIRS), \
+- rm -f $(GCC_DIR)/ada/tools/$(word 1,$(subst <, ,$(PAIR)));\
+- $(LN_S) $(fsrcdir)/$(word 2,$(subst <, ,$(PAIR))) \
+- $(GCC_DIR)/ada/tools/$(word 1,$(subst <, ,$(PAIR)));)
+- touch $(GCC_DIR)/stamp-tools
+-
+-# gnatmake/link tools cannot always be built with gnatmake/link for bootstrap
+-# reasons: gnatmake should be built with a recent compiler, a recent compiler
+-# may not generate ALI files compatible with an old gnatmake so it is important
+-# to be able to build gnatmake without a version of gnatmake around. Once
+-# everything has been compiled once, gnatmake can be recompiled with itself
+-# (see target regnattools)
+-gnattools-native: $(GCC_DIR)/stamp-tools $(GCC_DIR)/stamp-gnatlib
+- # gnattools1
+- $(MAKE) -C $(GCC_DIR)/ada/tools -f ../Makefile \
+- $(TOOLS_FLAGS_TO_PASS_1) \
+- ../../gnatmake$(exeext) ../../gnatlink$(exeext) ../../gnatbl$(exeext)
+- # gnattools2
+- $(MAKE) -C $(GCC_DIR)/ada/tools -f ../Makefile \
+- $(TOOLS_FLAGS_TO_PASS_NATIVE) \
+- $(GNATTOOLS2_FILES)
+-
+-# gnatmake/link can be built with recent gnatmake/link if they are available.
+-# This is especially convenient for building cross tools or for rebuilding
+-# the tools when the original bootstrap has already be done.
+-regnattools: $(GCC_DIR)/stamp-gnatlib
+- # gnattools1-re
+- $(MAKE) -C $(GCC_DIR)/ada/tools -f ../Makefile \
+- $(TOOLS_FLAGS_TO_PASS_1re) \
+- gnatmake-re gnatlink-re
+- # gnattools2
+- $(MAKE) -C $(GCC_DIR)/ada/tools -f ../Makefile \
+- $(TOOLS_FLAGS_TO_PASS_NATIVE) \
+- $(GNATTOOLS2_FILES)
+-
+-# For cross builds of gnattools,
+-# put the host RTS dir first in the PATH to hide the default runtime
+-# files that are among the sources
+-# FIXME: This should be done in configure.
+-RTS_DIR:=$(strip $(subst \,/,$(shell gnatls -v | grep adalib )))
+-gnattools-cross: $(GCC_DIR)/stamp-tools
+- # gnattools1-re
+- $(MAKE) -C $(GCC_DIR)/ada/tools -f ../Makefile \
+- $(TOOLS_FLAGS_TO_PASS_CROSS) INCLUDES="" \
+- gnatmake-re gnatlink-re
+- # gnattools2
+- $(MAKE) -C $(GCC_DIR)/ada/tools -f ../Makefile \
+- $(TOOLS_FLAGS_TO_PASS_CROSS) \
+- $(GNATTOOLS2_FILES)
+- # gnattools4 (cross only)
+- $(MAKE) -C $(GCC_DIR)/ada/tools -f ../Makefile \
+- $(TOOLS_FLAGS_TO_PASS_CROSS) \
+- top_buildir=../../.. \
+- ../../vxaddr2line$(exeext)
+- # Rename cross tools to where the GCC makefile wants them when
+- # installing. FIXME: installation should be done elsewhere.
+- if [ -f $(GCC_DIR)/gnatbind$(exeext) ] ; then \
+- mv $(GCC_DIR)/gnatbind$(exeext) $(GCC_DIR)/gnatbind-cross$(exeext); \
+- fi
+- if [ -f $(GCC_DIR)/gnatbl$(exeext) ] ; then \
+- mv $(GCC_DIR)/gnatbl$(exeext) $(GCC_DIR)/gnatbl-cross$(exeext); \
+- fi
+- if [ -f $(GCC_DIR)/gnatchop$(exeext) ] ; then \
+- mv $(GCC_DIR)/gnatchop$(exeext) $(GCC_DIR)/gnatchop-cross$(exeext); \
+- fi
+- if [ -f $(GCC_DIR)/gnat$(exeext) ] ; then \
+- mv $(GCC_DIR)/gnat$(exeext) $(GCC_DIR)/gnat-cross$(exeext); \
+- fi
+- if [ -f $(GCC_DIR)/gnatkr$(exeext) ] ; then \
+- mv $(GCC_DIR)/gnatkr$(exeext) $(GCC_DIR)/gnatkr-cross$(exeext); \
+- fi
+- if [ -f $(GCC_DIR)/gnatlink$(exeext) ] ; then \
+- mv $(GCC_DIR)/gnatlink$(exeext) $(GCC_DIR)/gnatlink-cross$(exeext); \
+- fi
+- if [ -f $(GCC_DIR)/gnatls$(exeext) ] ; then \
+- mv $(GCC_DIR)/gnatls$(exeext) $(GCC_DIR)/gnatls-cross$(exeext); \
+- fi
+- if [ -f $(GCC_DIR)/gnatmake$(exeext) ] ; then \
+- mv $(GCC_DIR)/gnatmake$(exeext) $(GCC_DIR)/gnatmake-cross$(exeext); \
+- fi
+- if [ -f $(GCC_DIR)/gnatmem$(exeext) ] ; then \
+- mv $(GCC_DIR)/gnatmem$(exeext) $(GCC_DIR)/gnatmem-cross$(exeext); \
+- fi
+- if [ -f $(GCC_DIR)/gnatname$(exeext) ] ; then \
+- mv $(GCC_DIR)/gnatname$(exeext) $(GCC_DIR)/gnatname-cross$(exeext); \
+- fi
+- if [ -f $(GCC_DIR)/gnatprep$(exeext) ] ; then \
+- mv $(GCC_DIR)/gnatprep$(exeext) $(GCC_DIR)/gnatprep-cross$(exeext); \
+- fi
+- if [ -f $(GCC_DIR)/gnatxref$(exeext) ] ; then \
+- mv $(GCC_DIR)/gnatxref$(exeext) $(GCC_DIR)/gnatxref-cross$(exeext); \
+- fi
+- if [ -f $(GCC_DIR)/gnatfind$(exeext) ] ; then \
+- mv $(GCC_DIR)/gnatfind$(exeext) $(GCC_DIR)/gnatfind-cross$(exeext); \
+- fi
+- if [ -f $(GCC_DIR)/gnatclean$(exeext) ] ; then \
+- mv $(GCC_DIR)/gnatclean$(exeext) $(GCC_DIR)/gnatclean-cross$(exeext); \
+- fi
+- if [ -f $(GCC_DIR)/gnatsym$(exeext) ] ; then \
+- mv $(GCC_DIR)/gnatsym$(exeext) $(GCC_DIR)/gnatsym-cross$(exeext); \
+- fi
++%.o: %.c
++ $(GCC) -c -o $@ $< $(CFLAGS) $(INCLUDES)
+
+ # Other
+ # -----
+@@ -311,6 +316,7 @@
+
+ # Installation rules.
+ install:
++ $(INSTALL) -s gnatmake gnatlink $(TOOLS) gnatbl $(DESTDIR)$(bindir)
+
+ install-info:
+
+@@ -320,8 +326,10 @@
+
+ # Cleaning rules.
+ mostlyclean:
++ $(RM) gnatmake gnatlink $(TOOLS) gnatbl *.o *.ali
+
+ clean:
++ $(RM) *.ads *.adb stamp-gnattools-sources
+
+ distclean:
+ $(RM) Makefile config.status config.log
+Index: libada/Makefile.in
+===================================================================
+--- libada/Makefile.in.orig 2007-03-04 01:29:34.000000000 +0100
++++ libada/Makefile.in 2008-01-29 12:16:44.696811771 +0100
+@@ -49,7 +49,7 @@
+
+ # For finding the GCC build dir, which is used far too much
+ host_subdir = @host_subdir@
+-GCC_DIR=../../$(host_subdir)/gcc
++GCC_DIR=../$(host_subdir)/gcc
+ # Include fragment generated by GCC configure.
+ include $(GCC_DIR)/libada-mk
+
+Index: Makefile.def
+===================================================================
+--- Makefile.def.orig 2007-11-21 12:21:09.000000000 +0100
++++ Makefile.def 2008-01-29 12:16:44.696811771 +0100
+@@ -116,7 +116,20 @@
+ missing=distclean;
+ missing=maintainer-clean; };
+ host_modules= { module= utils; no_check=true; };
+-host_modules= { module= gnattools; };
++host_modules= { module= libada; no_install=true; no_check=true;
++ missing= info;
++ missing= dvi;
++ missing= html;
++ missing= TAGS;
++ missing= install-info;
++ missing= installcheck; };
++host_modules= { module= gnattools; no_check=true;
++ missing= info;
++ missing= dvi;
++ missing= html;
++ missing= TAGS;
++ missing= install-info;
++ missing= installcheck; };
+
+ target_modules = { module= libstdc++-v3; lib_path=.libs; raw_cxx=true; };
+ target_modules = { module= libmudflap; lib_path=.libs; };
+@@ -141,7 +154,13 @@
+ target_modules = { module= boehm-gc; };
+ target_modules = { module= qthreads; };
+ target_modules = { module= rda; };
+-target_modules = { module= libada; };
++target_modules = { module= libada; no_install=true; no_check=true;
++ missing= info;
++ missing= dvi;
++ missing= html;
++ missing= TAGS;
++ missing= install-info;
++ missing= installcheck; };
+ target_modules = { module= libgomp; lib_path=.libs; };
+
+ // These are (some of) the make targets to be done in each subdirectory.
+@@ -311,7 +330,7 @@
+
+ dependencies = { module=all-fixincludes; on=all-libiberty; };
+
+-dependencies = { module=all-gnattools; on=all-target-libada; };
++dependencies = { module=all-gnattools; on=all-libada; };
+
+ dependencies = { module=configure-mpfr; on=all-gmp; };
+
+Index: Makefile.in
+===================================================================
+--- Makefile.in.orig 2008-01-13 22:19:42.000000000 +0100
++++ Makefile.in 2008-01-29 12:16:44.740811997 +0100
+@@ -699,6 +699,7 @@
+ maybe-configure-tk \
+ maybe-configure-libtermcap \
+ maybe-configure-utils \
++ maybe-configure-libada \
+ maybe-configure-gnattools
+ .PHONY: configure-target
+ configure-target: \
+@@ -849,6 +850,7 @@
+ all-host: maybe-all-tk
+ all-host: maybe-all-libtermcap
+ all-host: maybe-all-utils
++all-host: maybe-all-libada
+ all-host: maybe-all-gnattools
+
+ .PHONY: all-target
+@@ -962,6 +964,7 @@
+ info-host: maybe-info-tk
+ info-host: maybe-info-libtermcap
+ info-host: maybe-info-utils
++info-host: maybe-info-libada
+ info-host: maybe-info-gnattools
+
+ .PHONY: info-target
+@@ -1068,6 +1071,7 @@
+ dvi-host: maybe-dvi-tk
+ dvi-host: maybe-dvi-libtermcap
+ dvi-host: maybe-dvi-utils
++dvi-host: maybe-dvi-libada
+ dvi-host: maybe-dvi-gnattools
+
+ .PHONY: dvi-target
+@@ -1174,6 +1178,7 @@
+ pdf-host: maybe-pdf-tk
+ pdf-host: maybe-pdf-libtermcap
+ pdf-host: maybe-pdf-utils
++pdf-host: maybe-pdf-libada
+ pdf-host: maybe-pdf-gnattools
+
+ .PHONY: pdf-target
+@@ -1280,6 +1285,7 @@
+ html-host: maybe-html-tk
+ html-host: maybe-html-libtermcap
+ html-host: maybe-html-utils
++html-host: maybe-html-libada
+ html-host: maybe-html-gnattools
+
+ .PHONY: html-target
+@@ -1386,6 +1392,7 @@
+ TAGS-host: maybe-TAGS-tk
+ TAGS-host: maybe-TAGS-libtermcap
+ TAGS-host: maybe-TAGS-utils
++TAGS-host: maybe-TAGS-libada
+ TAGS-host: maybe-TAGS-gnattools
+
+ .PHONY: TAGS-target
+@@ -1492,6 +1499,7 @@
+ install-info-host: maybe-install-info-tk
+ install-info-host: maybe-install-info-libtermcap
+ install-info-host: maybe-install-info-utils
++install-info-host: maybe-install-info-libada
+ install-info-host: maybe-install-info-gnattools
+
+ .PHONY: install-info-target
+@@ -1598,6 +1606,7 @@
+ install-pdf-host: maybe-install-pdf-tk
+ install-pdf-host: maybe-install-pdf-libtermcap
+ install-pdf-host: maybe-install-pdf-utils
++install-pdf-host: maybe-install-pdf-libada
+ install-pdf-host: maybe-install-pdf-gnattools
+
+ .PHONY: install-pdf-target
+@@ -1704,6 +1713,7 @@
+ install-html-host: maybe-install-html-tk
+ install-html-host: maybe-install-html-libtermcap
+ install-html-host: maybe-install-html-utils
++install-html-host: maybe-install-html-libada
+ install-html-host: maybe-install-html-gnattools
+
+ .PHONY: install-html-target
+@@ -1810,6 +1820,7 @@
+ installcheck-host: maybe-installcheck-tk
+ installcheck-host: maybe-installcheck-libtermcap
+ installcheck-host: maybe-installcheck-utils
++installcheck-host: maybe-installcheck-libada
+ installcheck-host: maybe-installcheck-gnattools
+
+ .PHONY: installcheck-target
+@@ -1916,6 +1927,7 @@
+ mostlyclean-host: maybe-mostlyclean-tk
+ mostlyclean-host: maybe-mostlyclean-libtermcap
+ mostlyclean-host: maybe-mostlyclean-utils
++mostlyclean-host: maybe-mostlyclean-libada
+ mostlyclean-host: maybe-mostlyclean-gnattools
+
+ .PHONY: mostlyclean-target
+@@ -2022,6 +2034,7 @@
+ clean-host: maybe-clean-tk
+ clean-host: maybe-clean-libtermcap
+ clean-host: maybe-clean-utils
++clean-host: maybe-clean-libada
+ clean-host: maybe-clean-gnattools
+
+ .PHONY: clean-target
+@@ -2128,6 +2141,7 @@
+ distclean-host: maybe-distclean-tk
+ distclean-host: maybe-distclean-libtermcap
+ distclean-host: maybe-distclean-utils
++distclean-host: maybe-distclean-libada
+ distclean-host: maybe-distclean-gnattools
+
+ .PHONY: distclean-target
+@@ -2234,6 +2248,7 @@
+ maintainer-clean-host: maybe-maintainer-clean-tk
+ maintainer-clean-host: maybe-maintainer-clean-libtermcap
+ maintainer-clean-host: maybe-maintainer-clean-utils
++maintainer-clean-host: maybe-maintainer-clean-libada
+ maintainer-clean-host: maybe-maintainer-clean-gnattools
+
+ .PHONY: maintainer-clean-target
+@@ -2394,6 +2409,7 @@
+ maybe-check-tk \
+ maybe-check-libtermcap \
+ maybe-check-utils \
++ maybe-check-libada \
+ maybe-check-gnattools
+
+ .PHONY: check-target
+@@ -2526,6 +2542,7 @@
+ maybe-install-tk \
+ maybe-install-libtermcap \
+ maybe-install-utils \
++ maybe-install-libada \
+ maybe-install-gnattools
+
+ .PHONY: install-host
+@@ -2599,6 +2616,7 @@
+ maybe-install-tk \
+ maybe-install-libtermcap \
+ maybe-install-utils \
++ maybe-install-libada \
+ maybe-install-gnattools
+
+ .PHONY: install-target
+@@ -38875,6 +38893,321 @@
+
+
+
++.PHONY: configure-libada maybe-configure-libada
++maybe-configure-libada:
++@if gcc-bootstrap
++configure-libada: stage_current
++@endif gcc-bootstrap
++@if libada
++maybe-configure-libada: configure-libada
++configure-libada:
++ @: $(MAKE); $(unstage)
++ @r=`${PWD_COMMAND}`; export r; \
++ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
++ test ! -f $(HOST_SUBDIR)/libada/Makefile || exit 0; \
++ $(SHELL) $(srcdir)/mkinstalldirs $(HOST_SUBDIR)/libada ; \
++ $(HOST_EXPORTS) \
++ echo Configuring in $(HOST_SUBDIR)/libada; \
++ cd "$(HOST_SUBDIR)/libada" || exit 1; \
++ case $(srcdir) in \
++ /* | [A-Za-z]:[\\/]*) topdir=$(srcdir) ;; \
++ *) topdir=`echo $(HOST_SUBDIR)/libada/ | \
++ sed -e 's,\./,,g' -e 's,[^/]*/,../,g' `$(srcdir) ;; \
++ esac; \
++ srcdiroption="--srcdir=$${topdir}/libada"; \
++ libsrcdir="$$s/libada"; \
++ $(SHELL) $${libsrcdir}/configure \
++ $(HOST_CONFIGARGS) --build=${build_alias} --host=${host_alias} \
++ --target=${target_alias} $${srcdiroption} \
++ || exit 1
++@endif libada
++
++
++
++
++
++.PHONY: all-libada maybe-all-libada
++maybe-all-libada:
++@if gcc-bootstrap
++all-libada: stage_current
++@endif gcc-bootstrap
++@if libada
++TARGET-libada=all
++maybe-all-libada: all-libada
++all-libada: configure-libada
++ @: $(MAKE); $(unstage)
++ @r=`${PWD_COMMAND}`; export r; \
++ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
++ $(HOST_EXPORTS) \
++ (cd $(HOST_SUBDIR)/libada && \
++ $(MAKE) $(FLAGS_TO_PASS) $(TARGET-libada))
++@endif libada
++
++
++
++
++.PHONY: check-libada maybe-check-libada
++maybe-check-libada:
++@if libada
++maybe-check-libada: check-libada
++
++check-libada:
++
++@endif libada
++
++.PHONY: install-libada maybe-install-libada
++maybe-install-libada:
++@if libada
++maybe-install-libada: install-libada
++
++install-libada:
++
++@endif libada
++
++# Other targets (info, dvi, pdf, etc.)
++
++.PHONY: maybe-info-libada info-libada
++maybe-info-libada:
++@if libada
++maybe-info-libada: info-libada
++
++# libada doesn't support info.
++info-libada:
++
++@endif libada
++
++.PHONY: maybe-dvi-libada dvi-libada
++maybe-dvi-libada:
++@if libada
++maybe-dvi-libada: dvi-libada
++
++# libada doesn't support dvi.
++dvi-libada:
++
++@endif libada
++
++.PHONY: maybe-pdf-libada pdf-libada
++maybe-pdf-libada:
++@if libada
++maybe-pdf-libada: pdf-libada
++
++pdf-libada: \
++ configure-libada
++ @: $(MAKE); $(unstage)
++ @[ -f ./libada/Makefile ] || exit 0; \
++ r=`${PWD_COMMAND}`; export r; \
++ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
++ $(HOST_EXPORTS) \
++ for flag in $(EXTRA_HOST_FLAGS) ; do \
++ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
++ done; \
++ echo "Doing pdf in libada" ; \
++ (cd $(HOST_SUBDIR)/libada && \
++ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
++ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
++ "RANLIB=$${RANLIB}" \
++ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" "WINDMC=$${WINDMC}" \
++ pdf) \
++ || exit 1
++
++@endif libada
++
++.PHONY: maybe-html-libada html-libada
++maybe-html-libada:
++@if libada
++maybe-html-libada: html-libada
++
++# libada doesn't support html.
++html-libada:
++
++@endif libada
++
++.PHONY: maybe-TAGS-libada TAGS-libada
++maybe-TAGS-libada:
++@if libada
++maybe-TAGS-libada: TAGS-libada
++
++# libada doesn't support TAGS.
++TAGS-libada:
++
++@endif libada
++
++.PHONY: maybe-install-info-libada install-info-libada
++maybe-install-info-libada:
++@if libada
++maybe-install-info-libada: install-info-libada
++
++# libada doesn't support install-info.
++install-info-libada:
++
++@endif libada
++
++.PHONY: maybe-install-pdf-libada install-pdf-libada
++maybe-install-pdf-libada:
++@if libada
++maybe-install-pdf-libada: install-pdf-libada
++
++install-pdf-libada: \
++ configure-libada \
++ pdf-libada
++ @: $(MAKE); $(unstage)
++ @[ -f ./libada/Makefile ] || exit 0; \
++ r=`${PWD_COMMAND}`; export r; \
++ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
++ $(HOST_EXPORTS) \
++ for flag in $(EXTRA_HOST_FLAGS) ; do \
++ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
++ done; \
++ echo "Doing install-pdf in libada" ; \
++ (cd $(HOST_SUBDIR)/libada && \
++ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
++ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
++ "RANLIB=$${RANLIB}" \
++ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" "WINDMC=$${WINDMC}" \
++ install-pdf) \
++ || exit 1
++
++@endif libada
++
++.PHONY: maybe-install-html-libada install-html-libada
++maybe-install-html-libada:
++@if libada
++maybe-install-html-libada: install-html-libada
++
++install-html-libada: \
++ configure-libada \
++ html-libada
++ @: $(MAKE); $(unstage)
++ @[ -f ./libada/Makefile ] || exit 0; \
++ r=`${PWD_COMMAND}`; export r; \
++ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
++ $(HOST_EXPORTS) \
++ for flag in $(EXTRA_HOST_FLAGS) ; do \
++ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
++ done; \
++ echo "Doing install-html in libada" ; \
++ (cd $(HOST_SUBDIR)/libada && \
++ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
++ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
++ "RANLIB=$${RANLIB}" \
++ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" "WINDMC=$${WINDMC}" \
++ install-html) \
++ || exit 1
++
++@endif libada
++
++.PHONY: maybe-installcheck-libada installcheck-libada
++maybe-installcheck-libada:
++@if libada
++maybe-installcheck-libada: installcheck-libada
++
++# libada doesn't support installcheck.
++installcheck-libada:
++
++@endif libada
++
++.PHONY: maybe-mostlyclean-libada mostlyclean-libada
++maybe-mostlyclean-libada:
++@if libada
++maybe-mostlyclean-libada: mostlyclean-libada
++
++mostlyclean-libada:
++ @: $(MAKE); $(unstage)
++ @[ -f ./libada/Makefile ] || exit 0; \
++ r=`${PWD_COMMAND}`; export r; \
++ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
++ $(HOST_EXPORTS) \
++ for flag in $(EXTRA_HOST_FLAGS) ; do \
++ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
++ done; \
++ echo "Doing mostlyclean in libada" ; \
++ (cd $(HOST_SUBDIR)/libada && \
++ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
++ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
++ "RANLIB=$${RANLIB}" \
++ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" "WINDMC=$${WINDMC}" \
++ mostlyclean) \
++ || exit 1
++
++@endif libada
++
++.PHONY: maybe-clean-libada clean-libada
++maybe-clean-libada:
++@if libada
++maybe-clean-libada: clean-libada
++
++clean-libada:
++ @: $(MAKE); $(unstage)
++ @[ -f ./libada/Makefile ] || exit 0; \
++ r=`${PWD_COMMAND}`; export r; \
++ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
++ $(HOST_EXPORTS) \
++ for flag in $(EXTRA_HOST_FLAGS) ; do \
++ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
++ done; \
++ echo "Doing clean in libada" ; \
++ (cd $(HOST_SUBDIR)/libada && \
++ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
++ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
++ "RANLIB=$${RANLIB}" \
++ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" "WINDMC=$${WINDMC}" \
++ clean) \
++ || exit 1
++
++@endif libada
++
++.PHONY: maybe-distclean-libada distclean-libada
++maybe-distclean-libada:
++@if libada
++maybe-distclean-libada: distclean-libada
++
++distclean-libada:
++ @: $(MAKE); $(unstage)
++ @[ -f ./libada/Makefile ] || exit 0; \
++ r=`${PWD_COMMAND}`; export r; \
++ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
++ $(HOST_EXPORTS) \
++ for flag in $(EXTRA_HOST_FLAGS) ; do \
++ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
++ done; \
++ echo "Doing distclean in libada" ; \
++ (cd $(HOST_SUBDIR)/libada && \
++ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
++ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
++ "RANLIB=$${RANLIB}" \
++ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" "WINDMC=$${WINDMC}" \
++ distclean) \
++ || exit 1
++
++@endif libada
++
++.PHONY: maybe-maintainer-clean-libada maintainer-clean-libada
++maybe-maintainer-clean-libada:
++@if libada
++maybe-maintainer-clean-libada: maintainer-clean-libada
++
++maintainer-clean-libada:
++ @: $(MAKE); $(unstage)
++ @[ -f ./libada/Makefile ] || exit 0; \
++ r=`${PWD_COMMAND}`; export r; \
++ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
++ $(HOST_EXPORTS) \
++ for flag in $(EXTRA_HOST_FLAGS) ; do \
++ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
++ done; \
++ echo "Doing maintainer-clean in libada" ; \
++ (cd $(HOST_SUBDIR)/libada && \
++ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
++ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
++ "RANLIB=$${RANLIB}" \
++ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" "WINDMC=$${WINDMC}" \
++ maintainer-clean) \
++ || exit 1
++
++@endif libada
++
++
++
+ .PHONY: configure-gnattools maybe-configure-gnattools
+ maybe-configure-gnattools:
+ @if gcc-bootstrap
+@@ -38934,12 +39267,6 @@
+ maybe-check-gnattools: check-gnattools
+
+ check-gnattools:
+- @: $(MAKE); $(unstage)
+- @r=`${PWD_COMMAND}`; export r; \
+- s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+- $(HOST_EXPORTS) \
+- (cd $(HOST_SUBDIR)/gnattools && \
+- $(MAKE) $(FLAGS_TO_PASS) check)
+
+ @endif gnattools
+
+@@ -38965,24 +39292,8 @@
+ @if gnattools
+ maybe-info-gnattools: info-gnattools
+
+-info-gnattools: \
+- configure-gnattools
+- @: $(MAKE); $(unstage)
+- @[ -f ./gnattools/Makefile ] || exit 0; \
+- r=`${PWD_COMMAND}`; export r; \
+- s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+- $(HOST_EXPORTS) \
+- for flag in $(EXTRA_HOST_FLAGS) ; do \
+- eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
+- done; \
+- echo "Doing info in gnattools" ; \
+- (cd $(HOST_SUBDIR)/gnattools && \
+- $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
+- "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
+- "RANLIB=$${RANLIB}" \
+- "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" "WINDMC=$${WINDMC}" \
+- info) \
+- || exit 1
++# gnattools doesn't support info.
++info-gnattools:
+
+ @endif gnattools
+
+@@ -38991,24 +39302,8 @@
+ @if gnattools
+ maybe-dvi-gnattools: dvi-gnattools
+
+-dvi-gnattools: \
+- configure-gnattools
+- @: $(MAKE); $(unstage)
+- @[ -f ./gnattools/Makefile ] || exit 0; \
+- r=`${PWD_COMMAND}`; export r; \
+- s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+- $(HOST_EXPORTS) \
+- for flag in $(EXTRA_HOST_FLAGS) ; do \
+- eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
+- done; \
+- echo "Doing dvi in gnattools" ; \
+- (cd $(HOST_SUBDIR)/gnattools && \
+- $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
+- "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
+- "RANLIB=$${RANLIB}" \
+- "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" "WINDMC=$${WINDMC}" \
+- dvi) \
+- || exit 1
++# gnattools doesn't support dvi.
++dvi-gnattools:
+
+ @endif gnattools
+
+@@ -39043,24 +39338,8 @@
+ @if gnattools
+ maybe-html-gnattools: html-gnattools
+
+-html-gnattools: \
+- configure-gnattools
+- @: $(MAKE); $(unstage)
+- @[ -f ./gnattools/Makefile ] || exit 0; \
+- r=`${PWD_COMMAND}`; export r; \
+- s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+- $(HOST_EXPORTS) \
+- for flag in $(EXTRA_HOST_FLAGS) ; do \
+- eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
+- done; \
+- echo "Doing html in gnattools" ; \
+- (cd $(HOST_SUBDIR)/gnattools && \
+- $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
+- "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
+- "RANLIB=$${RANLIB}" \
+- "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" "WINDMC=$${WINDMC}" \
+- html) \
+- || exit 1
++# gnattools doesn't support html.
++html-gnattools:
+
+ @endif gnattools
+
+@@ -39069,24 +39348,8 @@
+ @if gnattools
+ maybe-TAGS-gnattools: TAGS-gnattools
+
+-TAGS-gnattools: \
+- configure-gnattools
+- @: $(MAKE); $(unstage)
+- @[ -f ./gnattools/Makefile ] || exit 0; \
+- r=`${PWD_COMMAND}`; export r; \
+- s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+- $(HOST_EXPORTS) \
+- for flag in $(EXTRA_HOST_FLAGS) ; do \
+- eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
+- done; \
+- echo "Doing TAGS in gnattools" ; \
+- (cd $(HOST_SUBDIR)/gnattools && \
+- $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
+- "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
+- "RANLIB=$${RANLIB}" \
+- "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" "WINDMC=$${WINDMC}" \
+- TAGS) \
+- || exit 1
++# gnattools doesn't support TAGS.
++TAGS-gnattools:
+
+ @endif gnattools
+
+@@ -39095,25 +39358,8 @@
+ @if gnattools
+ maybe-install-info-gnattools: install-info-gnattools
+
+-install-info-gnattools: \
+- configure-gnattools \
+- info-gnattools
+- @: $(MAKE); $(unstage)
+- @[ -f ./gnattools/Makefile ] || exit 0; \
+- r=`${PWD_COMMAND}`; export r; \
+- s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+- $(HOST_EXPORTS) \
+- for flag in $(EXTRA_HOST_FLAGS) ; do \
+- eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
+- done; \
+- echo "Doing install-info in gnattools" ; \
+- (cd $(HOST_SUBDIR)/gnattools && \
+- $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
+- "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
+- "RANLIB=$${RANLIB}" \
+- "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" "WINDMC=$${WINDMC}" \
+- install-info) \
+- || exit 1
++# gnattools doesn't support install-info.
++install-info-gnattools:
+
+ @endif gnattools
+
+@@ -39176,24 +39422,8 @@
+ @if gnattools
+ maybe-installcheck-gnattools: installcheck-gnattools
+
+-installcheck-gnattools: \
+- configure-gnattools
+- @: $(MAKE); $(unstage)
+- @[ -f ./gnattools/Makefile ] || exit 0; \
+- r=`${PWD_COMMAND}`; export r; \
+- s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+- $(HOST_EXPORTS) \
+- for flag in $(EXTRA_HOST_FLAGS) ; do \
+- eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
+- done; \
+- echo "Doing installcheck in gnattools" ; \
+- (cd $(HOST_SUBDIR)/gnattools && \
+- $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
+- "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
+- "RANLIB=$${RANLIB}" \
+- "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" "WINDMC=$${WINDMC}" \
+- installcheck) \
+- || exit 1
++# gnattools doesn't support installcheck.
++installcheck-gnattools:
+
+ @endif gnattools
+
+@@ -48296,13 +48526,8 @@
+ @if target-libada
+ maybe-check-target-libada: check-target-libada
+
++# Dummy target for uncheckable module.
+ check-target-libada:
+- @: $(MAKE); $(unstage)
+- @r=`${PWD_COMMAND}`; export r; \
+- s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+- $(NORMAL_TARGET_EXPORTS) \
+- (cd $(TARGET_SUBDIR)/libada && \
+- $(MAKE) $(TARGET_FLAGS_TO_PASS) check)
+
+ @endif target-libada
+
+@@ -48311,13 +48536,8 @@
+ @if target-libada
+ maybe-install-target-libada: install-target-libada
+
+-install-target-libada: installdirs
+- @: $(MAKE); $(unstage)
+- @r=`${PWD_COMMAND}`; export r; \
+- s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+- $(NORMAL_TARGET_EXPORTS) \
+- (cd $(TARGET_SUBDIR)/libada && \
+- $(MAKE) $(TARGET_FLAGS_TO_PASS) install)
++# Dummy target for uninstallable.
++install-target-libada:
+
+ @endif target-libada
+
+@@ -48328,24 +48548,8 @@
+ @if target-libada
+ maybe-info-target-libada: info-target-libada
+
+-info-target-libada: \
+- configure-target-libada
+- @: $(MAKE); $(unstage)
+- @[ -f $(TARGET_SUBDIR)/libada/Makefile ] || exit 0 ; \
+- r=`${PWD_COMMAND}`; export r; \
+- s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+- $(NORMAL_TARGET_EXPORTS) \
+- echo "Doing info in $(TARGET_SUBDIR)/libada" ; \
+- for flag in $(EXTRA_TARGET_FLAGS); do \
+- eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
+- done; \
+- (cd $(TARGET_SUBDIR)/libada && \
+- $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
+- "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
+- "RANLIB=$${RANLIB}" \
+- "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" "WINDMC=$${WINDMC}" \
+- info) \
+- || exit 1
++# libada doesn't support info.
++info-target-libada:
+
+ @endif target-libada
+
+@@ -48354,24 +48558,8 @@
+ @if target-libada
+ maybe-dvi-target-libada: dvi-target-libada
+
+-dvi-target-libada: \
+- configure-target-libada
+- @: $(MAKE); $(unstage)
+- @[ -f $(TARGET_SUBDIR)/libada/Makefile ] || exit 0 ; \
+- r=`${PWD_COMMAND}`; export r; \
+- s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+- $(NORMAL_TARGET_EXPORTS) \
+- echo "Doing dvi in $(TARGET_SUBDIR)/libada" ; \
+- for flag in $(EXTRA_TARGET_FLAGS); do \
+- eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
+- done; \
+- (cd $(TARGET_SUBDIR)/libada && \
+- $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
+- "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
+- "RANLIB=$${RANLIB}" \
+- "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" "WINDMC=$${WINDMC}" \
+- dvi) \
+- || exit 1
++# libada doesn't support dvi.
++dvi-target-libada:
+
+ @endif target-libada
+
+@@ -48406,24 +48594,8 @@
+ @if target-libada
+ maybe-html-target-libada: html-target-libada
+
+-html-target-libada: \
+- configure-target-libada
+- @: $(MAKE); $(unstage)
+- @[ -f $(TARGET_SUBDIR)/libada/Makefile ] || exit 0 ; \
+- r=`${PWD_COMMAND}`; export r; \
+- s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+- $(NORMAL_TARGET_EXPORTS) \
+- echo "Doing html in $(TARGET_SUBDIR)/libada" ; \
+- for flag in $(EXTRA_TARGET_FLAGS); do \
+- eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
+- done; \
+- (cd $(TARGET_SUBDIR)/libada && \
+- $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
+- "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
+- "RANLIB=$${RANLIB}" \
+- "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" "WINDMC=$${WINDMC}" \
+- html) \
+- || exit 1
++# libada doesn't support html.
++html-target-libada:
+
+ @endif target-libada
+
+@@ -48432,24 +48604,8 @@
+ @if target-libada
+ maybe-TAGS-target-libada: TAGS-target-libada
+
+-TAGS-target-libada: \
+- configure-target-libada
+- @: $(MAKE); $(unstage)
+- @[ -f $(TARGET_SUBDIR)/libada/Makefile ] || exit 0 ; \
+- r=`${PWD_COMMAND}`; export r; \
+- s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+- $(NORMAL_TARGET_EXPORTS) \
+- echo "Doing TAGS in $(TARGET_SUBDIR)/libada" ; \
+- for flag in $(EXTRA_TARGET_FLAGS); do \
+- eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
+- done; \
+- (cd $(TARGET_SUBDIR)/libada && \
+- $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
+- "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
+- "RANLIB=$${RANLIB}" \
+- "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" "WINDMC=$${WINDMC}" \
+- TAGS) \
+- || exit 1
++# libada doesn't support TAGS.
++TAGS-target-libada:
+
+ @endif target-libada
+
+@@ -48458,25 +48614,8 @@
+ @if target-libada
+ maybe-install-info-target-libada: install-info-target-libada
+
+-install-info-target-libada: \
+- configure-target-libada \
+- info-target-libada
+- @: $(MAKE); $(unstage)
+- @[ -f $(TARGET_SUBDIR)/libada/Makefile ] || exit 0 ; \
+- r=`${PWD_COMMAND}`; export r; \
+- s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+- $(NORMAL_TARGET_EXPORTS) \
+- echo "Doing install-info in $(TARGET_SUBDIR)/libada" ; \
+- for flag in $(EXTRA_TARGET_FLAGS); do \
+- eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
+- done; \
+- (cd $(TARGET_SUBDIR)/libada && \
+- $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
+- "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
+- "RANLIB=$${RANLIB}" \
+- "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" "WINDMC=$${WINDMC}" \
+- install-info) \
+- || exit 1
++# libada doesn't support install-info.
++install-info-target-libada:
+
+ @endif target-libada
+
+@@ -48539,24 +48678,8 @@
+ @if target-libada
+ maybe-installcheck-target-libada: installcheck-target-libada
+
+-installcheck-target-libada: \
+- configure-target-libada
+- @: $(MAKE); $(unstage)
+- @[ -f $(TARGET_SUBDIR)/libada/Makefile ] || exit 0 ; \
+- r=`${PWD_COMMAND}`; export r; \
+- s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+- $(NORMAL_TARGET_EXPORTS) \
+- echo "Doing installcheck in $(TARGET_SUBDIR)/libada" ; \
+- for flag in $(EXTRA_TARGET_FLAGS); do \
+- eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
+- done; \
+- (cd $(TARGET_SUBDIR)/libada && \
+- $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
+- "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
+- "RANLIB=$${RANLIB}" \
+- "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" "WINDMC=$${WINDMC}" \
+- installcheck) \
+- || exit 1
++# libada doesn't support installcheck.
++installcheck-target-libada:
+
+ @endif target-libada
+
+@@ -51490,7 +51613,7 @@
+ all-stageprofile-libcpp: maybe-all-stageprofile-intl
+ all-stagefeedback-libcpp: maybe-all-stagefeedback-intl
+ all-fixincludes: maybe-all-libiberty
+-all-gnattools: maybe-all-target-libada
++all-gnattools: maybe-all-libada
+ configure-mpfr: maybe-all-gmp
+
+ configure-stage1-mpfr: maybe-all-stage1-gmp
+Index: configure.ac
+===================================================================
+--- configure.ac.orig 2008-01-29 12:10:06.002765243 +0100
++++ configure.ac 2008-01-29 12:16:44.744812017 +0100
+@@ -155,7 +155,7 @@
+
+ # these libraries are used by various programs built for the host environment
+ #
+-host_libs="intl mmalloc libiberty opcodes bfd readline tcl tk itcl libgui zlib libcpp libdecnumber gmp mpfr"
++host_libs="intl mmalloc libiberty opcodes bfd readline tcl tk itcl libgui zlib libcpp libdecnumber gmp mpfr libada"
+
+ # these tools are built for the host environment
+ # Note, the powerpc-eabi build depends on sim occurring before gdb in order to
+@@ -263,7 +263,7 @@
+
+ # Similarly, some are only suitable for cross toolchains.
+ # Remove these if host=target.
+-cross_only="target-libgloss target-newlib target-opcodes"
++cross_only="target-libgloss target-newlib target-opcodes target-libada"
+
+ case $is_cross_compiler in
+ no) skipdirs="${skipdirs} ${cross_only}" ;;
diff --git a/recipes/gcc/gcc-4.4.0/debian/ada-sjlj.dpatch b/recipes/gcc/gcc-4.4.0/debian/ada-sjlj.dpatch
new file mode 100644
index 0000000000..8d480302d5
--- /dev/null
+++ b/recipes/gcc/gcc-4.4.0/debian/ada-sjlj.dpatch
@@ -0,0 +1,1307 @@
+#! /bin/sh -e
+
+# DP: There are two exception mechanisms to choose from: zero-cost and
+# DP: setjump/longjump. The Ada run-time library uses either of them
+# DP: but not both. Build both versions of the run-time library.
+
+# This patch changes the way the upstream Makefiles build the run-time
+# library. Before the patch: libada/Makefile calls gcc/ada/Makefile,
+# which builds the "rts" subdirectory containing symbolic links to
+# most source files, and modified copies of a few source files (to
+# take target dependencies into account, and also to select the
+# exception handling mechanism in system.ads). Then, gcc/ada/Makefile
+# calls itself recursively but in the "rts" subdirectory and builds
+# libgnat.a and libgnarl.a (and a couple other libraries:
+# libgccprefix.a, libgmem.a). Upon return from this recursive call,
+# it deletes the source and object files from "rts", reconstructs the
+# source files, and builds libgnat.so and libgnarl.so by calling
+# itself recursively a second time in the "rts" directory.
+
+# Furthermore, gcc/ada/Makefile disables parallel makes, so building
+# the static and then shared versions of the RTS is entirely
+# sequential even on SMP systems.
+
+# As a consequence of the above, building the SJLJ version of the
+# library would overwrite the ZCX version. Thus it is necessary to
+# manually save the previous version of the library before building the
+# second one.
+
+# After the patch: libada/Makefile calls gcc/ada/Makefile, which
+# builds the source directory (named gnatlib-sources instead of rts),
+# containing the symbolic links and target-dependent files.
+
+# In a second step, libada/Makefile calls gcc/ada/Makefile again to
+# build the targets gnatlib-shared-zcx, gnatlib-static-zcx and
+# gnatlib-static-sjlj (we could also build gnatlib-shared-sjlj, but
+# that triggers compiler errors on PowerPC).
+
+# Each of these three targets copies the source directory "rts" into a
+# new directory named rts-shared-zcx, rts-static-zcx or
+# rts-static-sjlj. In the new directory, they change the value of
+# System.ZCX_By_Default, and then they call gcc/ada/Makefile
+# recursively in the new directory to build the library.
+
+# gcc/ada/Makefile.in has a .NOTPARALLEL directive preventing it from
+# launching commands in parallel. However, libada/Makefile has no
+# such directive and can invoke up to three instances of
+# gcc/ada/Makefile.in in parallel. This is okay because each of them
+# runs in a different directory.
+
+# This patch also updates libgnat{vsn,prj}/Makefile and
+# gnattools/Makefile to look for the shared ZCX version of the library
+# in the appropriate directory, rather than just "rts", and updates
+# the "make install" and binary targets as well.
+
+dir=
+if [ $# -eq 3 -a "$2" = '-d' ]; then
+ pdir="-d $3"
+ dir="$3/"
+elif [ $# -ne 1 ]; then
+ echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
+ exit 1
+fi
+case "$1" in
+ -patch)
+ patch $pdir -f --no-backup-if-mismatch -p1 < $0
+ ;;
+ -unpatch)
+ patch $pdir -f --no-backup-if-mismatch -R -p1 < $0
+ ;;
+ *)
+ echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
+ exit 1
+esac
+exit 0
+
+
+Index: src/libada/Makefile.in
+===================================================================
+--- src.orig/libada/Makefile.in
++++ src/libada/Makefile.in
+@@ -16,7 +16,8 @@
+ # Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+
+ # Default target; must be first.
+-all: gnatlib
++GNATLIB = gnatlib-static-zcx gnatlib-static-sjlj gnatlib-shared-zcx
++all: $(GNATLIB)
+
+ # Standard autoconf-set variables.
+ SHELL = @SHELL@
+@@ -78,30 +79,38 @@
+ "CFLAGS=$(CFLAGS) $(WARN_CFLAGS)"
+
+ # Rules to build gnatlib.
+-.PHONY: gnatlib gnatlib-plain gnatlib-sjlj gnatlib-zcx gnatlib-shared
+-gnatlib: @default_gnatlib_target@
++.PHONY: $(GNATLIB)
+
+-gnatlib-plain: $(GCC_DIR)/ada/Makefile
+- test -f stamp-libada || \
++$(GCC_DIR)/ada/gnatlib-sources-sjlj/a-except.ads:
+ $(MAKE) -C $(GCC_DIR)/ada $(FLAGS_TO_PASS) \
+ GNATLIBFLAGS="$(GNATLIBFLAGS)" \
+ GNATLIBCFLAGS="$(GNATLIBCFLAGS)" \
+ TARGET_LIBGCC2_CFLAGS="$(TARGET_LIBGCC2_CFLAGS)" \
+ THREAD_KIND="$(THREAD_KIND)" \
+ TRACE="$(TRACE)" \
+- gnatlib \
+- && touch stamp-libada
++ EH_MECHANISM="" \
++ gnatlib-sources-sjlj/a-except.ads
+
+-gnatlib-sjlj gnatlib-zcx gnatlib-shared: $(GCC_DIR)/ada/Makefile
+- test -f stamp-libada || \
++$(GCC_DIR)/ada/gnatlib-sources-zcx/a-except.ads:
+ $(MAKE) -C $(GCC_DIR)/ada $(FLAGS_TO_PASS) \
+ GNATLIBFLAGS="$(GNATLIBFLAGS)" \
+ GNATLIBCFLAGS="$(GNATLIBCFLAGS)" \
+ TARGET_LIBGCC2_CFLAGS="$(TARGET_LIBGCC2_CFLAGS)" \
+ THREAD_KIND="$(THREAD_KIND)" \
+ TRACE="$(TRACE)" \
+- $@ \
+- && touch stamp-libada
++ EH_MECHANISM="-gcc" \
++ gnatlib-sources-zcx/a-except.ads
++
++$(GNATLIB): $(GCC_DIR)/ada/Makefile \
++$(GCC_DIR)/ada/gnatlib-sources-zcx/a-except.ads \
++$(GCC_DIR)/ada/gnatlib-sources-sjlj/a-except.ads
++ $(MAKE) -C $(GCC_DIR)/ada $(FLAGS_TO_PASS) \
++ GNATLIBFLAGS="$(GNATLIBFLAGS)" \
++ GNATLIBCFLAGS="$(GNATLIBCFLAGS)" \
++ TARGET_LIBGCC2_CFLAGS="$(TARGET_LIBGCC2_CFLAGS)" \
++ THREAD_KIND="$(THREAD_KIND)" \
++ TRACE="$(TRACE)" \
++ $@
+
+ # Check uninstalled version.
+ check:
+Index: src/libada/configure
+===================================================================
+--- src.orig/libada/configure
++++ src/libada/configure
+@@ -1552,17 +1552,6 @@
+ *) x_ada_cflags= ;;
+ esac
+
+-
+-# Determine what to build for 'gnatlib'
+-if test $build = $target \
+- && test ${enable_shared} = yes ; then
+- # Note that build=target is almost certainly the wrong test; FIXME
+- default_gnatlib_target="gnatlib-shared"
+-else
+- default_gnatlib_target="gnatlib-plain"
+-fi
+-
+-
+ # Output: create a Makefile.
+ ac_config_files="$ac_config_files Makefile"
+
+@@ -2222,7 +2211,6 @@
+ s,@enable_shared@,$enable_shared,;t t
+ s,@LN_S@,$LN_S,;t t
+ s,@x_ada_cflags@,$x_ada_cflags,;t t
+-s,@default_gnatlib_target@,$default_gnatlib_target,;t t
+ s,@LIBOBJS@,$LIBOBJS,;t t
+ s,@LTLIBOBJS@,$LTLIBOBJS,;t t
+ CEOF
+Index: src/gcc/ada/Makefile.in
+===================================================================
+--- src.orig/gcc/ada/Makefile.in
++++ src/gcc/ada/Makefile.in
+@@ -1324,6 +1324,50 @@
+ LIBRARY_VERSION := $(LIB_VERSION)
+ endif
+
++ifeq ($(strip $(filter-out mips linux%,$(arch) $(osys))),)
++ LIBGNAT_TARGET_PAIRS = \
++ a-intnam.ads<a-intnam-linux.ads \
++ g-soccon.ads<g-soccon-linux-mips.ads \
++ s-inmaop.adb<s-inmaop-posix.adb \
++ s-intman.adb<s-intman-posix.adb \
++ s-osinte.adb<s-osinte-posix.adb \
++ s-osinte.ads<s-osinte-linux.ads \
++ s-osprim.adb<s-osprim-posix.adb \
++ s-taprop.adb<s-taprop-linux.adb \
++ s-taspri.ads<s-taspri-posix.ads \
++ s-tpopsp.adb<s-tpopsp-posix-foreign.adb \
++ system.ads<system-linux-mips.ads
++
++ EH_MECHANISM=-gcc
++ THREADSLIB = -lpthread
++ GNATLIB_SHARED = gnatlib-shared-dual
++ GMEM_LIB = gmemlib
++ PREFIX_OBJS = $(PREFIX_REAL_OBJS)
++ LIBRARY_VERSION := $(LIB_VERSION)
++endif
++
++ifeq ($(strip $(filter-out mipsel linux%,$(arch) $(osys))),)
++ LIBGNAT_TARGET_PAIRS = \
++ a-intnam.ads<a-intnam-linux.ads \
++ g-soccon.ads<g-soccon-linux-mips.ads \
++ s-inmaop.adb<s-inmaop-posix.adb \
++ s-intman.adb<s-intman-posix.adb \
++ s-osinte.adb<s-osinte-posix.adb \
++ s-osinte.ads<s-osinte-linux.ads \
++ s-osprim.adb<s-osprim-posix.adb \
++ s-taprop.adb<s-taprop-linux.adb \
++ s-taspri.ads<s-taspri-posix.ads \
++ s-tpopsp.adb<s-tpopsp-posix-foreign.adb \
++ system.ads<system-linux-mipsel.ads
++
++ EH_MECHANISM=-gcc
++ THREADSLIB = -lpthread
++ GNATLIB_SHARED = gnatlib-shared-dual
++ GMEM_LIB = gmemlib
++ PREFIX_OBJS = $(PREFIX_REAL_OBJS)
++ LIBRARY_VERSION := $(LIB_VERSION)
++endif
++
+ ifeq ($(strip $(filter-out sparc% linux%,$(arch) $(osys))),)
+ LIBGNAT_TARGET_PAIRS = \
+ a-intnam.ads<a-intnam-linux.ads \
+@@ -1563,53 +1607,79 @@
+ a-[a-o]*.adb a-[p-z]*.adb a-[a-o]*.ads a-[p-z]*.ads g-*.ad? i-*.ad? \
+ s-[a-o]*.adb s-[p-z]*.adb s-[a-o]*.ads s-[p-z]*.ads
+
+-../stamp-gnatlib:
+- @if [ ! -f stamp-gnatlib ] ; \
+- then \
+- $(ECHO) You must first build the GNAT library: make gnatlib; \
+- false; \
+- else \
+- true; \
+- fi
++libgnat = libgnat$(hyphen)$(LIBRARY_VERSION)$(soext)
++libgnat-sjlj = libgnat$(hyphen)sjlj$(hyphen)$(LIBRARY_VERSION)$(soext)
+
+-install-gnatlib: ../stamp-gnatlib
++install-gnatlib: rts-static-zcx/libgnat$(arext) rts-static-sjlj/libgnat$(arext)
++install-gnatlib: rts-shared-zcx/$(libgnat)
+ # Create the directory before deleting it, in case the directory is
+ # a list of directories (as it may be on VMS). This ensures we are
+ # deleting the right one.
+- -$(MKDIR) $(DESTDIR)$(ADA_RTL_OBJ_DIR)
+- -$(MKDIR) $(DESTDIR)$(ADA_INCLUDE_DIR)
+- $(RMDIR) $(DESTDIR)$(ADA_RTL_OBJ_DIR)
+- $(RMDIR) $(DESTDIR)$(ADA_INCLUDE_DIR)
+- -$(MKDIR) $(DESTDIR)$(ADA_RTL_OBJ_DIR)
+- -$(MKDIR) $(DESTDIR)$(ADA_INCLUDE_DIR)
+- for file in rts/*.ali; do \
+- $(INSTALL_DATA_DATE) $$file $(DESTDIR)$(ADA_RTL_OBJ_DIR); \
++ -$(MKDIR) $(DESTDIR)$(ADA_NATIVE_RTL_OBJ_DIR)
++ -$(MKDIR) $(DESTDIR)$(ADA_NATIVE_INCLUDE_DIR)
++ $(RMDIR) $(DESTDIR)$(ADA_NATIVE_RTL_OBJ_DIR)
++ $(RMDIR) $(DESTDIR)$(ADA_NATIVE_INCLUDE_DIR)
++ -$(MKDIR) $(DESTDIR)$(ADA_NATIVE_RTL_OBJ_DIR)
++ -$(MKDIR) $(DESTDIR)$(ADA_NATIVE_INCLUDE_DIR)
++
++ -$(MKDIR) $(DESTDIR)$(ADA_SJLJ_RTL_OBJ_DIR)
++ -$(MKDIR) $(DESTDIR)$(ADA_SJLJ_INCLUDE_DIR)
++ $(RMDIR) $(DESTDIR)$(ADA_SJLJ_RTL_OBJ_DIR)
++ $(RMDIR) $(DESTDIR)$(ADA_SJLJ_INCLUDE_DIR)
++ -$(MKDIR) $(DESTDIR)$(ADA_SJLJ_RTL_OBJ_DIR)
++ -$(MKDIR) $(DESTDIR)$(ADA_SJLJ_INCLUDE_DIR)
++
++ for file in rts-shared-zcx/*.ali; do \
++ $(INSTALL_DATA_DATE) $$file $(DESTDIR)$(ADA_NATIVE_RTL_OBJ_DIR); \
++ done
++ for file in rts-static-sjlj/*.ali; do \
++ $(INSTALL_DATA_DATE) $$file $(DESTDIR)$(ADA_SJLJ_RTL_OBJ_DIR); \
++ done
++
++ -cd rts-static-zcx; for file in *$(arext);do \
++ $(INSTALL_DATA) $$file $(DESTDIR)$(ADA_NATIVE_RTL_OBJ_DIR); \
++ $(RANLIB_FOR_TARGET) $(DESTDIR)$(ADA_NATIVE_RTL_OBJ_DIR)/$$file; \
+ done
+- -cd rts; for file in *$(arext);do \
+- $(INSTALL_DATA) $$file $(DESTDIR)$(ADA_RTL_OBJ_DIR); \
+- $(RANLIB_FOR_TARGET) $(DESTDIR)$(ADA_RTL_OBJ_DIR)/$$file; \
++ -cd rts-static-sjlj; for file in *$(arext);do \
++ $(INSTALL_DATA) $$file $(DESTDIR)$(ADA_SJLJ_RTL_OBJ_DIR); \
++ $(RANLIB_FOR_TARGET) $(DESTDIR)$(ADA_SJLJ_RTL_OBJ_DIR)/$$file; \
+ done
++
++ -$(foreach file, $(EXTRA_ADALIB_FILES), \
++ $(INSTALL_DATA_DATE) rts-static-zcx/$(file) $(DESTDIR)$(ADA_NATIVE_RTL_OBJ_DIR) && \
++ ) true
+ -$(foreach file, $(EXTRA_ADALIB_FILES), \
+- $(INSTALL_DATA_DATE) rts/$(file) $(DESTDIR)$(ADA_RTL_OBJ_DIR) && \
++ $(INSTALL_DATA_DATE) rts-static-sjlj/$(file) $(DESTDIR)$(ADA_SJLJ_RTL_OBJ_DIR) && \
+ ) true
++
+ # Install the shared libraries, if any, using $(INSTALL) instead
+ # of $(INSTALL_DATA). The latter may force a mode inappropriate
+ # for shared libraries on some targets, e.g. on HP-UX where the x
+ # permission is required.
+ for file in gnat gnarl; do \
+- if [ -f rts/lib$${file}$(hyphen)$(LIBRARY_VERSION)$(soext) ]; then \
+- $(INSTALL) rts/lib$${file}$(hyphen)$(LIBRARY_VERSION)$(soext).1 \
+- $(DESTDIR)$(ADA_RTL_OBJ_DIR); \
++ if [ -f rts-shared-zcx/lib$${file}$(hyphen)$(LIBRARY_VERSION)$(soext).1 ]; then \
++ $(INSTALL) rts-shared-zcx/lib$${file}$(hyphen)$(LIBRARY_VERSION)$(soext).1 \
++ $(DESTDIR)$(ADA_NATIVE_RTL_OBJ_DIR); \
+ $(LN_S) lib$${file}$(hyphen)$(LIBRARY_VERSION)$(soext).1 \
+- $(DESTDIR)$(ADA_RTL_OBJ_DIR)/lib$${file}$(hyphen)$(LIBRARY_VERSION)$(soext); \
++ $(DESTDIR)$(ADA_NATIVE_RTL_OBJ_DIR)/lib$${file}$(hyphen)$(LIBRARY_VERSION)$(soext); \
+ fi; \
+ done
++
+ # This copy must be done preserving the date on the original file.
+- for file in rts/*.ad?; do \
+- $(INSTALL_DATA_DATE) $$file $(DESTDIR)$(ADA_INCLUDE_DIR); \
++ for file in rts-shared-zcx/*.adb rts-shared-zcx/*.ads; do \
++ $(INSTALL_DATA_DATE) $$file $(DESTDIR)$(ADA_NATIVE_INCLUDE_DIR); \
++ done
++ $(CHMOD) u=rw,go=r $(DESTDIR)$(ADA_NATIVE_INCLUDE_DIR)/*.adb
++ $(CHMOD) u=rw,go=r $(DESTDIR)$(ADA_NATIVE_INCLUDE_DIR)/*.ads
++ for file in rts-static-sjlj/*.adb rts-static-sjlj/*.ads; do \
++ $(INSTALL_DATA_DATE) $$file $(DESTDIR)$(ADA_SJLJ_INCLUDE_DIR); \
+ done
+- cd $(DESTDIR)$(ADA_INCLUDE_DIR); $(CHMOD) a-wx *.adb
+- cd $(DESTDIR)$(ADA_INCLUDE_DIR); $(CHMOD) a-wx *.ads
++ $(CHMOD) u=rw,go=r $(DESTDIR)$(ADA_SJLJ_INCLUDE_DIR)/*.adb
++ $(CHMOD) u=rw,go=r $(DESTDIR)$(ADA_SJLJ_INCLUDE_DIR)/*.ads
++
++ (cd $(DESTDIR)$(libsubdir); \
++ ln -s rts-native/adainclude adainclude; \
++ ln -s rts-native/adalib adalib;)
+
+ # NOTE: The $(foreach ...) commands assume ";" is the valid separator between
+ # successive target commands. Although the Gnu make documentation
+@@ -1620,23 +1690,30 @@
+
+ # GNULLI Begin ###########################################################
+
+-../stamp-gnatlib1: Makefile
+- $(RMDIR) rts
+- $(MKDIR) rts
+- $(CHMOD) u+w rts
++replace_zcx_by_default=\
++'s/ZCX_By_Default.*/ZCX_By_Default : constant Boolean := $(zcx_by_default);/'
++
++gnatlib-sources-zcx/a-except.ads: dir=$(dir $@)
++gnatlib-sources-zcx/a-except.ads: zcx_by_default=True
++
++gnatlib-sources-sjlj/a-except.ads: dir=$(dir $@)
++gnatlib-sources-sjlj/a-except.ads: zcx_by_default=False
++
++gnatlib-sources-zcx/a-except.ads gnatlib-sources-sjlj/a-except.ads:
++ $(MKDIR) $(dir)
++ $(CHMOD) u+w $(dir)
+ # Copy target independent sources
+ $(foreach f,$(ADA_INCLUDE_SRCS) $(LIBGNAT_SRCS), \
+- $(LN_S) $(fsrcpfx)$(f) rts ;) true
++ $(LN_S) $(fsrcpfx)$(f) $(dir) ;) true
+ # Remove files to be replaced by target dependent sources
+ $(RM) $(foreach PAIR,$(LIBGNAT_TARGET_PAIRS), \
+- rts/$(word 1,$(subst <, ,$(PAIR))))
+- $(RM) rts/*-*-*.ads rts/*-*-*.adb
++ $(dir)/$(word 1,$(subst <, ,$(PAIR))))
++ $(RM) $(dir)/*-*-*.ads $(dir)/*-*-*.adb
+ # Copy new target dependent sources
+ $(foreach PAIR,$(LIBGNAT_TARGET_PAIRS), \
+ $(LN_S) $(fsrcpfx)$(word 2,$(subst <, ,$(PAIR))) \
+- rts/$(word 1,$(subst <, ,$(PAIR)));)
+- $(RM) ../stamp-gnatlib
+- touch ../stamp-gnatlib1
++ $(dir)/$(word 1,$(subst <, ,$(PAIR)));)
++ sed -e $(replace_zcx_by_default) $(dir)/system.ads > $(dir)/s.ads
+
+ # GNULLI End #############################################################
+
+@@ -1646,57 +1723,60 @@
+ # Example: cd rts; ar rc libfoo.a $(LONG_LIST_OF_OBJS)
+ # is guaranteed to overflow the buffer.
+
+-gnatlib: ../stamp-gnatlib1
+- $(MAKE) -C rts \
++%/libgnat$(arext): build_dir = $(dir $@)
++%/libgnat$(arext): libgnarl = $(subst libgnat,libgnarl,$@)
++%/libgnat$(arext): libgnala = $(subst libgnat,libgnala,$@)
++%/libgnat$(arext): %
++ $(MAKE) -C $(build_dir) \
+ CC="`echo \"$(GCC_FOR_TARGET)\" \
+ | sed -e 's,^\./xgcc,../../xgcc,' -e 's,-B\./,-B../../,'`" \
+- INCLUDES="$(INCLUDES_FOR_SUBDIR) -I./../.." \
+- CFLAGS="$(GNATLIBCFLAGS_FOR_C)" \
+- FORCE_DEBUG_ADAFLAGS="$(FORCE_DEBUG_ADAFLAGS)" \
++ INCLUDES="$(INCLUDES_FOR_SUBDIR) -I./../.." \
++ CFLAGS="$(GNATLIBCFLAGS_FOR_C)" \
+ srcdir=$(fsrcdir) \
+- -f ../Makefile $(LIBGNAT_OBJS)
+- $(MAKE) -C rts \
++ -f ../Makefile $(LIBGNAT_OBJS)
++ $(MAKE) -C $(build_dir) \
+ CC="`echo \"$(GCC_FOR_TARGET)\" \
+ | sed -e 's,^\./xgcc,../../xgcc,' -e 's,-B\./,-B../../,'`" \
+- ADA_INCLUDES="" \
+- CFLAGS="$(GNATLIBCFLAGS)" \
+- ADAFLAGS="$(GNATLIBFLAGS)" \
+- FORCE_DEBUG_ADAFLAGS="$(FORCE_DEBUG_ADAFLAGS)" \
++ ADA_INCLUDES="" \
++ CFLAGS="$(GNATLIBCFLAGS)" \
++ ADAFLAGS="$(GNATLIBFLAGS)" \
+ srcdir=$(fsrcdir) \
+- -f ../Makefile \
+- $(GNATRTL_OBJS)
+- $(RM) rts/libgnat$(arext) rts/libgnarl$(arext)
+- $(AR_FOR_TARGET) $(AR_FLAGS) rts/libgnat$(arext) \
+- $(addprefix rts/,$(GNATRTL_NONTASKING_OBJS) $(LIBGNAT_OBJS) g-trasym.o convert_addresses.o)
++ -f ../Makefile \
++ $(GNATRTL_OBJS)
++ $(RM) $@ $(libgnarl)
++ $(AR_FOR_TARGET) $(AR_FLAGS) $@ \
++ $(addprefix $(build_dir),$(GNATRTL_NONTASKING_OBJS) $(LIBGNAT_OBJS) g-trasym.o convert_addresses.o)
+ ifneq ($(PREFIX_OBJS),)
+- $(AR_FOR_TARGET) $(AR_FLAGS) rts/libgccprefix$(arext) \
++ $(AR_FOR_TARGET) $(AR_FLAGS) $(build_dir)libgccprefix$(arext) \
+ $(PREFIX_OBJS);
+- $(RANLIB_FOR_TARGET) rts/libgccprefix$(arext)
++ $(RANLIB_FOR_TARGET) $(build_dir)libgccprefix$(arext)
+ endif
+- $(RANLIB_FOR_TARGET) rts/libgnat$(arext)
+- $(AR_FOR_TARGET) $(AR_FLAGS) rts/libgnarl$(arext) \
+- $(addprefix rts/,$(GNATRTL_TASKING_OBJS))
+- $(RANLIB_FOR_TARGET) rts/libgnarl$(arext)
+- $(AR_FOR_TARGET) $(AR_FLAGS) rts/libgnala$(arext) \
+- $(addprefix rts/,$(GNATRTL_LINEARALGEBRA_OBJS))
+- $(RANLIB_FOR_TARGET) rts/libgnala$(arext)
++ $(RANLIB_FOR_TARGET) $@
++ $(AR_FOR_TARGET) $(AR_FLAGS) $(libgnarl) \
++ $(addprefix $(build_dir),$(GNATRTL_TASKING_OBJS))
++ $(RANLIB_FOR_TARGET) $(libgnarl)
++ $(AR_FOR_TARGET) $(AR_FLAGS) $(libgnala) \
++ $(addprefix $(build_dir),$(GNATRTL_LINEARALGEBRA_OBJS))
++ $(RANLIB_FOR_TARGET) $(libgnala)
+ ifeq ($(GMEM_LIB),gmemlib)
+- $(AR_FOR_TARGET) $(AR_FLAGS) rts/libgmem$(arext) \
+- rts/memtrack.o
+- $(RANLIB_FOR_TARGET) rts/libgmem$(arext)
++ $(AR_FOR_TARGET) $(AR_FLAGS) $(build_dir)libgmem$(arext) \
++ $(build_dir)memtrack.o
++ $(RANLIB_FOR_TARGET) $(build_dir)libgmem$(arext)
+ endif
+- touch ../stamp-gnatlib
+
+ # Warning: this target assumes that LIBRARY_VERSION has been set correctly.
+-gnatlib-shared-default: ../stamp-gnatlib1
+- $(MAKE) -C rts \
++%/$(libgnat) %/$(libgnat-sjlj): build_dir = $(dir $@)
++%/$(libgnat) %/$(libgnat-sjlj): libgnarl = $(notdir $(subst libgnat,libgnarl,$@))
++%/$(libgnat) %/$(libgnat-sjlj): libgnala = $(notdir $(subst libgnat,libgnala,$@))
++%/$(libgnat) %/$(libgnat-sjlj): %
++ $(MAKE) -C $(build_dir) \
+ CC="`echo \"$(GCC_FOR_TARGET)\" \
+ | sed -e 's,^\./xgcc,../../xgcc,' -e 's,-B\./,-B../../,'`" \
+ INCLUDES="$(INCLUDES_FOR_SUBDIR) -I./../.." \
+ CFLAGS="$(GNATLIBCFLAGS_FOR_C)" \
+ srcdir=$(fsrcdir) \
+ -f ../Makefile $(LIBGNAT_OBJS)
+- $(MAKE) -C rts \
++ $(MAKE) -C $(build_dir) \
+ CC="`echo \"$(GCC_FOR_TARGET)\" \
+ | sed -e 's,^\./xgcc,../../xgcc,' -e 's,-B\./,-B../../,'`" \
+ ADA_INCLUDES="" \
+@@ -1706,157 +1786,75 @@
+ srcdir=$(fsrcdir) \
+ -f ../Makefile \
+ $(GNATRTL_OBJS)
+- $(RM) rts/libgna*$(soext) rts/libgna*$(soext).1
+- cd rts; ../../xgcc -B../../ -shared $(GNATLIBCFLAGS) \
++ $(RM) $(build_dir)/libgna*$(soext) $(build_dir)/libgna*$(soext).1
++ cd $(build_dir); ../../xgcc -B../../ -shared $(GNATLIBCFLAGS) \
+ $(TARGET_LIBGCC2_CFLAGS) \
+- -o libgnat$(hyphen)$(LIBRARY_VERSION)$(soext).1 \
++ -o $(notdir $@).1 \
+ $(GNATRTL_NONTASKING_OBJS) $(LIBGNAT_OBJS) \
+ g-trasym.o convert_addresses.o \
+- $(SO_OPTS)libgnat$(hyphen)$(LIBRARY_VERSION)$(soext).1 \
++ $(SO_OPTS)$(notdir $@).1 \
+ $(MISCLIB) -lm
+- cd rts; ../../xgcc -B../../ -shared $(GNATLIBCFLAGS) \
++ cd $(build_dir); $(LN_S) $(notdir $@).1 $(notdir $@)
++ cd $(build_dir); ../../xgcc -B../../ -shared $(GNATLIBCFLAGS) \
+ $(TARGET_LIBGCC2_CFLAGS) \
+- -o libgnarl$(hyphen)$(LIBRARY_VERSION)$(soext).1 \
++ -o $(libgnarl).1 \
+ $(GNATRTL_TASKING_OBJS) \
+- $(SO_OPTS)libgnarl$(hyphen)$(LIBRARY_VERSION)$(soext).1 \
++ $(SO_OPTS)$(libgnarl).1 \
+ $(THREADSLIB)
+- cd rts; for lib in gnat gnarl; do \
+- l=lib$${lib}$(hyphen)$(LIBRARY_VERSION)$(soext); \
+- $(LN_S) $$l.1 $$l; \
+- done
+-# Delete the object files, lest they be linked statically into the tools
+-# executables. Only the .ali, .a and .so files must remain.
+- rm -f rts/*.o
+- $(CHMOD) a-wx rts/*.ali
+-
+-gnatlib-shared-dual:
+- $(MAKE) $(FLAGS_TO_PASS) \
+- GNATLIBFLAGS="$(GNATLIBFLAGS)" \
+- GNATLIBCFLAGS="$(GNATLIBCFLAGS)" \
+- THREAD_KIND="$(THREAD_KIND)" \
+- gnatlib
+- $(RM) rts/*.o rts/*.ali
+- $(MAKE) $(FLAGS_TO_PASS) \
+- GNATLIBFLAGS="$(GNATLIBFLAGS)" \
+- GNATLIBCFLAGS="$(GNATLIBCFLAGS)" \
+- THREAD_KIND="$(THREAD_KIND)" \
+- gnatlib-shared-default
+-
+-gnatlib-shared-dual-win32:
+- $(MAKE) $(FLAGS_TO_PASS) \
+- GNATLIBFLAGS="$(GNATLIBFLAGS)" \
+- GNATLIBCFLAGS="$(GNATLIBCFLAGS)" \
+- THREAD_KIND="$(THREAD_KIND)" \
+- gnatlib
+- $(RM) rts/*.o rts/*.ali
+- $(MAKE) $(FLAGS_TO_PASS) \
+- GNATLIBFLAGS="$(GNATLIBFLAGS)" \
+- GNATLIBCFLAGS="$(GNATLIBCFLAGS) $(TARGET_LIBGCC2_CFLAGS)" \
+- THREAD_KIND="$(THREAD_KIND)" \
+- gnatlib-shared-win32
+-
+-# ??? we need to add the option to support auto-import of arrays/records to
+-# the GNATLIBFLAGS when this will be supported by GNAT. At this point we will
+-# use the gnatlib-shared-dual-win32 target to build the GNAT runtimes on
+-# Windows.
+-gnatlib-shared-win32:
+- $(MAKE) $(FLAGS_TO_PASS) \
+- GNATLIBFLAGS="$(GNATLIBFLAGS)" \
+- GNATLIBCFLAGS="$(GNATLIBCFLAGS) $(TARGET_LIBGCC2_CFLAGS)" \
+- THREAD_KIND="$(THREAD_KIND)" \
+- gnatlib
+- $(RM) rts/libgna*$(soext)
+- cd rts; ../../xgcc -B../../ -shared $(TARGET_LIBGCC2_CFLAGS) \
+- -o libgnat$(hyphen)$(LIBRARY_VERSION)$(soext) \
+- $(GNATRTL_NONTASKING_OBJS) $(LIBGNAT_OBJS) \
+- $(SO_OPTS)libgnat$(hyphen)$(LIBRARY_VERSION)$(soext) $(MISCLIB)
+- cd rts; ../../xgcc -B../../ -shared $(TARGET_LIBGCC2_CFLAGS) \
+- -o libgnarl$(hyphen)$(LIBRARY_VERSION)$(soext) \
+- $(GNATRTL_TASKING_OBJS) \
+- $(SO_OPTS)libgnarl$(hyphen)$(LIBRARY_VERSION)$(soext) \
+- $(THREADSLIB) -Wl,libgnat$(hyphen)$(LIBRARY_VERSION)$(soext)
+-
+-gnatlib-shared-darwin:
+- $(MAKE) $(FLAGS_TO_PASS) \
+- GNATLIBFLAGS="$(GNATLIBFLAGS)" \
+- GNATLIBCFLAGS="$(GNATLIBCFLAGS) $(TARGET_LIBGCC2_CFLAGS) \
+- -fno-common" \
+- THREAD_KIND="$(THREAD_KIND)" \
+- gnatlib
+- $(RM) rts/libgnat$(soext) rts/libgnarl$(soext)
+- cd rts; ../../xgcc -B../../ -dynamiclib $(TARGET_LIBGCC2_CFLAGS) \
+- -o libgnat$(hyphen)$(LIBRARY_VERSION)$(soext) \
+- $(GNATRTL_NONTASKING_OBJS) $(LIBGNAT_OBJS) \
+- $(SO_OPTS) \
+- $(MISCLIB) -lm
+- cd rts; ../../xgcc -B../../ -dynamiclib $(TARGET_LIBGCC2_CFLAGS) \
+- -o libgnarl$(hyphen)$(LIBRARY_VERSION)$(soext) \
+- $(GNATRTL_TASKING_OBJS) \
+- $(SO_OPTS) \
+- $(THREADSLIB) -Wl,libgnat$(hyphen)$(LIBRARY_VERSION)$(soext)
+- cd rts; $(LN_S) libgnat$(hyphen)$(LIBRARY_VERSION)$(soext) \
+- libgnat$(soext)
+- cd rts; $(LN_S) libgnarl$(hyphen)$(LIBRARY_VERSION)$(soext) \
+- libgnarl$(soext)
+-
+-gnatlib-shared-vms:
+- $(MAKE) $(FLAGS_TO_PASS) \
+- GNATLIBFLAGS="$(GNATLIBFLAGS)" \
+- GNATLIBCFLAGS="$(GNATLIBCFLAGS)" \
+- THREAD_KIND="$(THREAD_KIND)" \
+- gnatlib
+- $(RM) rts/libgna*$(soext)
+- cd rts && echo "case_sensitive=yes" > SYMVEC_$$$$.opt && \
+- objdump --syms $(LIBGNAT_OBJS) $(GNATRTL_NONTASKING_OBJS) | \
+- $(SHLIB_SYMVEC) >> SYMVEC_$$$$.opt && \
+- echo "case_sensitive=NO" >> SYMVEC_$$$$.opt && \
+- ../../xgcc -g -B../../ -shared -shared-libgcc \
+- -o libgnat$(hyphen)$(LIBRARY_VERSION)$(soext) libgnat.a \
+- sys\$$library:trace.exe \
+- --for-linker=/noinform \
+- --for-linker=SYMVEC_$$$$.opt \
+- --for-linker=gsmatch=equal,$(GSMATCH_VERSION)
+- cd rts && echo "case_sensitive=yes" > SYMVEC_$$$$.opt && \
+- objdump --syms $(GNATRTL_TASKING_OBJS) | \
+- $(SHLIB_SYMVEC) >> SYMVEC_$$$$.opt && \
+- echo "case_sensitive=NO" >> SYMVEC_$$$$.opt && \
+- ../../xgcc -g -B../../ -shared -shared-libgcc \
+- -o libgnarl$(hyphen)$(LIBRARY_VERSION)$(soext) \
+- libgnarl.a libgnat$(hyphen)$(LIBRARY_VERSION)$(soext) \
+- sys\$$library:trace.exe \
+- --for-linker=/noinform \
+- --for-linker=SYMVEC_$$$$.opt \
+- --for-linker=gsmatch=equal,$(GSMATCH_VERSION)
++ cd $(build_dir); $(LN_S) $(libgnarl).1 $(libgnarl)
++# TODO: enable building the shared libgnala
++ifeq (libgnala-shared-enabled,yes)
++ cd $(build_dir); ../../xgcc -B../../ -shared $(GNATLIBCFLAGS) \
++ $(TARGET_LIBGCC2_CFLAGS) \
++ -o $(libgnala).1 \
++ $(GNATRTL_LINEARALGEBRA_OBJS) \
++ $(SO_OPTS)$(libgnala).1
++ cd $(build_dir); $(LN_S) $(libgnala).1 $(libgnala)
++endif
+
+-gnatlib-shared:
++gnatlib-shared-dual: gnatlib-static-zcx gnatlib-static-sjlj gnatlib-shared-zcx
++
++gnatlib-shared-zcx: rts = $(subst gnatlib,rts,$@)
++gnatlib-shared-zcx: gnatlib-sources-zcx/a-except.ads
++ if [ ! -d $(rts) ] ; then \
++ cp -a gnatlib-sources-zcx $(rts); \
++ $(MV) $(rts)/s.ads $(rts)/system.ads; \
++ fi
+ $(MAKE) $(FLAGS_TO_PASS) \
++ EH_MECHANISM="-gcc" \
+ GNATLIBFLAGS="$(GNATLIBFLAGS)" \
+ GNATLIBCFLAGS="$(GNATLIBCFLAGS)" \
+ THREAD_KIND="$(THREAD_KIND)" \
+ TARGET_LIBGCC2_CFLAGS="$(TARGET_LIBGCC2_CFLAGS)" \
+- $(GNATLIB_SHARED)
++ $(rts)/$(libgnat)
+
+-gnatlib-sjlj:
+- $(MAKE) $(FLAGS_TO_PASS) EH_MECHANISM="" ../stamp-gnatlib1
+- sed -e 's/ZCX_By_Default.*/ZCX_By_Default : constant Boolean := False;/' rts/system.ads > rts/s.ads
+- $(MV) rts/s.ads rts/system.ads
++gnatlib-static-sjlj: rts = $(subst gnatlib,rts,$@)
++gnatlib-static-sjlj: gnatlib-sources-sjlj/a-except.ads
++ if [ ! -d $(rts) ] ; then \
++ cp -a gnatlib-sources-sjlj $(rts); \
++ $(MV) $(rts)/s.ads $(rts)/system.ads; \
++ fi
+ $(MAKE) $(FLAGS_TO_PASS) \
+ EH_MECHANISM="" \
+ GNATLIBFLAGS="$(GNATLIBFLAGS)" \
+ GNATLIBCFLAGS="$(GNATLIBCFLAGS)" \
+ THREAD_KIND="$(THREAD_KIND)" \
+- TARGET_LIBGCC2_CFLAGS="$(TARGET_LIBGCC2_CFLAGS)" gnatlib
++ TARGET_LIBGCC2_CFLAGS="$(TARGET_LIBGCC2_CFLAGS)" \
++ $(rts)/libgnat$(arext)
+
+-gnatlib-zcx:
+- $(MAKE) $(FLAGS_TO_PASS) EH_MECHANISM="-gcc" ../stamp-gnatlib1
+- sed -e 's/ZCX_By_Default.*/ZCX_By_Default : constant Boolean := True;/' rts/system.ads > rts/s.ads
+- $(MV) rts/s.ads rts/system.ads
++gnatlib-static-zcx: rts = $(subst gnatlib,rts,$@)
++gnatlib-static-zcx: gnatlib-sources-zcx/a-except.ads
++ if [ ! -d $(rts) ] ; then \
++ cp -a gnatlib-sources-zcx $(rts); \
++ $(MV) $(rts)/s.ads $(rts)/system.ads; \
++ fi
+ $(MAKE) $(FLAGS_TO_PASS) \
+ EH_MECHANISM="-gcc" \
+ GNATLIBFLAGS="$(GNATLIBFLAGS)" \
+ GNATLIBCFLAGS="$(GNATLIBCFLAGS)" \
+ THREAD_KIND="$(THREAD_KIND)" \
+- TARGET_LIBGCC2_CFLAGS="$(TARGET_LIBGCC2_CFLAGS)" gnatlib
++ TARGET_LIBGCC2_CFLAGS="$(TARGET_LIBGCC2_CFLAGS)" \
++ $(rts)/libgnat$(arext)
+
+ # .s files for cross-building
+ gnat-cross: force
+@@ -1864,6 +1862,10 @@
+
+ ADA_INCLUDE_DIR = $(libsubdir)/adainclude
+ ADA_RTL_OBJ_DIR = $(libsubdir)/adalib
++ADA_NATIVE_INCLUDE_DIR = $(libsubdir)/rts-native/adainclude
++ADA_NATIVE_RTL_OBJ_DIR = $(libsubdir)/rts-native/adalib
++ADA_SJLJ_INCLUDE_DIR = $(libsubdir)/rts-sjlj/adainclude
++ADA_SJLJ_RTL_OBJ_DIR = $(libsubdir)/rts-sjlj/adalib
+
+ # force no sibling call optimization on s-traceb.o so the number of stack
+ # frames to be skipped when computing a call chain is not modified by
+Index: src/gnattools/Makefile.in
+===================================================================
+--- src.orig/gnattools/Makefile.in
++++ src/gnattools/Makefile.in
+@@ -34,12 +34,13 @@
+ LN_S=@LN_S@
+ target_noncanonical=@target_noncanonical@
+
++RTS=../gcc/ada/rts-shared-zcx
+ CFLAGS=-O2 -Wall
+ ADA_CFLAGS=-O2 -gnatn
+-ADA_INCLUDES=-nostdinc -I- -I. -I../gcc/ada/rts -I../libgnatvsn -I../libgnatprj
++ADA_INCLUDES=-nostdinc -I- -I. -I$(RTS) -I../libgnatvsn -I../libgnatprj
+ LIB_VERSION=$(strip $(shell grep ' Library_Version :' \
+ ../libgnatvsn/gnatvsn.ads | sed -e 's/.*"\(.*\)".*/\1/'))
+-ADA_LIBS := -L../gcc/ada/rts -lgnat-$(LIB_VERSION)
++ADA_LIBS := -L$(RTS) -lgnat-$(LIB_VERSION)
+ ADA_LIBS += -L../libgnatvsn -lgnatvsn
+ ADA_LIBS += -L../libgnatprj -lgnatprj
+
+@@ -109,6 +110,7 @@
+
+ .PHONY: gnattools gnattools-native gnattools-cross regnattools
+ gnattools: @default_gnattools_target@
++ (cd $(RTS); if [ -d obj ]; then mv obj/* .; rmdir obj; fi)
+
+ BODIES := $(foreach f,$(OBJECTS),$(wildcard $(patsubst %.o,@srcdir@/../gcc/ada/%.adb,$(f))))
+ SPECS := $(foreach f,$(OBJECTS),$(wildcard $(patsubst %.o,@srcdir@/../gcc/ada/%.ads,$(f))))
+@@ -119,9 +121,12 @@
+ for file in $(BODIES) $(SPECS); do \
+ $(LN_S) -f $$file .; \
+ done
++# Move the RTS object files away lest they be linked statically into the
++# tools. Only the .ali, .a and .so files must remain.
++ (cd $(RTS); mkdir obj; mv *.o obj; chmod a-wx *.ali)
+ touch $@
+
+-gnattools-native: ../gcc/ada/rts/libgnat-$(LIB_VERSION).so
++gnattools-native: $(RTS)/libgnat-$(LIB_VERSION).so
+ gnattools-native: ../libgnatvsn/libgnatvsn.so
+ gnattools-native: stamp-gnattools-sources
+ gnattools-native: $(TOOLS) gnatbl
+@@ -137,7 +142,7 @@
+ $(GCC) -o $@ $^ \
+ ../libgnatprj/libgnatprj.a \
+ ../libgnatvsn/libgnatvsn.a \
+- ../gcc/ada/rts/libgnat.a \
++ ../gcc/ada/rts-static-zcx/libgnat.a \
+ ../libiberty/libiberty.a
+
+ gnatlink: $(GNATLINK_OBJS) b_gnatl.o
+@@ -155,7 +160,7 @@
+ $(GCC) -o $@ $(ADA_CFLAGS) $^ \
+ ../libgnatprj/libgnatprj.a \
+ ../libgnatvsn/libgnatvsn.a \
+- ../gcc/ada/rts/libgnat.a \
++ ../gcc/ada/rts-static-zcx/libgnat.a \
+ ../libiberty/libiberty.a
+
+ gnatmake: $(GNATMAKE_OBJS) b_gnatm.o
+Index: src/libgnatprj/Makefile.in
+===================================================================
+--- src.orig/libgnatprj/Makefile.in
++++ src/libgnatprj/Makefile.in
+@@ -25,7 +25,8 @@
+ @srcdir@/../gcc/ada/gnatvsn.ads | \
+ sed -e 's/.*"\(.*\)".*/\1/'))
+ GCC:=../gcc/xgcc -B../gcc/
+-LIBGNAT_JUST_BUILT := -nostdinc -I../gcc/ada/rts
++RTS:=../gcc/ada/rts-shared-zcx
++LIBGNAT_JUST_BUILT := -nostdinc -I$(RTS)
+ LIBGNATVSN := -I../libgnatvsn
+ CFLAGS := -g -O2
+ ADAFLAGS := -g -O2 -gnatn
+@@ -65,7 +66,7 @@
+ libgnatprj.so.$(LIB_VERSION): $(addprefix obj-shared/,$(OBJECTS))
+ : # Make libgnatprj.so
+ $(GCC) -o $@ -shared -fPIC -Wl,--soname,$@ $^ \
+- -L../gcc/ada/rts -lgnat-$(LIB_VERSION) \
++ -L$(RTS) -lgnat-$(LIB_VERSION) \
+ -L../libgnatvsn -lgnatvsn
+ $(LN_S) -f libgnatprj.so.$(LIB_VERSION) libgnatprj.so
+ chmod a=r obj-shared/*.ali
+Index: src/libgnatvsn/Makefile.in
+===================================================================
+--- src.orig/libgnatvsn/Makefile.in
++++ src/libgnatvsn/Makefile.in
+@@ -25,7 +25,8 @@
+ @srcdir@/../gcc/ada/gnatvsn.ads | \
+ sed -e 's/.*"\(.*\)".*/\1/'))
+ GCC:=../gcc/xgcc -B../gcc/
+-LIBGNAT_JUST_BUILT := -nostdinc -I../gcc/ada/rts
++RTS:=../gcc/ada/rts-shared-zcx
++LIBGNAT_JUST_BUILT := -nostdinc -I$(RTS)
+ CFLAGS := -g -O2 -gnatn
+ BASEVER := $(shell cat @srcdir@/../gcc/BASE-VER)
+ DEVPHASE := $(shell cat @srcdir@/../gcc/DEV-PHASE)
+@@ -64,7 +65,7 @@
+ libgnatvsn.so.$(LIB_VERSION): $(addprefix obj-shared/,$(OBJECTS))
+ : # Make libgnatvsn.so
+ $(GCC) -o $@ -shared -fPIC -Wl,--soname,$@ $^ \
+- -L../gcc/ada/rts -lgnat-$(LIB_VERSION)
++ -L$(RTS) -lgnat-$(LIB_VERSION)
+ ln -s libgnatvsn.so.$(LIB_VERSION) libgnatvsn.so
+ chmod a=r obj-shared/*.ali
+ # Make the .ali files, but not the .o files, visible to the gnat tools.
+Index: src/gcc/ada/Make-lang.in
+===================================================================
+--- src.orig/gcc/ada/Make-lang.in
++++ src/gcc/ada/Make-lang.in
+@@ -62,7 +62,8 @@
+ "ADA_FOR_TARGET=$(ADA_FOR_TARGET)" \
+ "INSTALL=$(INSTALL)" \
+ "INSTALL_DATA=$(INSTALL_DATA)" \
+- "INSTALL_PROGRAM=$(INSTALL_PROGRAM)"
++ "INSTALL_PROGRAM=$(INSTALL_PROGRAM)" \
++ "GCC_FOR_TARGET=$(GCC_FOR_TARGET)"
+
+ # Say how to compile Ada programs.
+ .SUFFIXES: .ada .adb .ads
+Index: src/gcc/ada/system-linux-mips.ads
+===================================================================
+--- /dev/null
++++ src/gcc/ada/system-linux-mips.ads
+@@ -0,0 +1,154 @@
++------------------------------------------------------------------------------
++-- --
++-- GNAT RUN-TIME COMPONENTS --
++-- --
++-- S Y S T E M --
++-- --
++-- S p e c --
++-- (GNU-Linux/MIPS Version) --
++-- --
++-- Copyright (C) 1992-2005, Free Software Foundation, Inc. --
++-- --
++-- This specification is derived from the Ada Reference Manual for use with --
++-- GNAT. The copyright notice above, and the license provisions that follow --
++-- apply solely to the contents of the part following the private keyword. --
++-- --
++-- GNAT is free software; you can redistribute it and/or modify it under --
++-- terms of the GNU General Public License as published by the Free Soft- --
++-- ware Foundation; either version 2, or (at your option) any later ver- --
++-- sion. GNAT is distributed in the hope that it will be useful, but WITH- --
++-- OUT 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 distributed with GNAT; see file COPYING. If not, write --
++-- to the Free Software Foundation, 51 Franklin Street, Fifth Floor, --
++-- Boston, MA 02110-1301, USA. --
++-- --
++-- As a special exception, if other files instantiate generics from this --
++-- unit, or you link this unit with other files to produce an executable, --
++-- this unit does not by itself cause the resulting executable to be --
++-- covered by the GNU General Public License. This exception does not --
++-- however invalidate any other reasons why the executable file might be --
++-- covered by the GNU Public License. --
++-- --
++-- GNAT was originally developed by the GNAT team at New York University. --
++-- Extensive contributions were provided by Ada Core Technologies Inc. --
++-- --
++------------------------------------------------------------------------------
++
++package System is
++ pragma Pure;
++ -- Note that we take advantage of the implementation permission to make
++ -- this unit Pure instead of Preelaborable; see RM 13.7.1(15). In Ada
++ -- 2005, this is Pure in any case (AI-362).
++
++ type Name is (SYSTEM_NAME_GNAT);
++ System_Name : constant Name := SYSTEM_NAME_GNAT;
++
++ -- System-Dependent Named Numbers
++
++ Min_Int : constant := Long_Long_Integer'First;
++ Max_Int : constant := Long_Long_Integer'Last;
++
++ Max_Binary_Modulus : constant := 2 ** Long_Long_Integer'Size;
++ Max_Nonbinary_Modulus : constant := Integer'Last;
++
++ Max_Base_Digits : constant := Long_Long_Float'Digits;
++ Max_Digits : constant := Long_Long_Float'Digits;
++
++ Max_Mantissa : constant := 63;
++ Fine_Delta : constant := 2.0 ** (-Max_Mantissa);
++
++ Tick : constant := 0.000_001;
++
++ -- Storage-related Declarations
++
++ type Address is private;
++ Null_Address : constant Address;
++
++ Storage_Unit : constant := 8;
++ Word_Size : constant := 32;
++ Memory_Size : constant := 2 ** 32;
++
++ -- Address comparison
++
++ function "<" (Left, Right : Address) return Boolean;
++ function "<=" (Left, Right : Address) return Boolean;
++ function ">" (Left, Right : Address) return Boolean;
++ function ">=" (Left, Right : Address) return Boolean;
++ function "=" (Left, Right : Address) return Boolean;
++
++ pragma Import (Intrinsic, "<");
++ pragma Import (Intrinsic, "<=");
++ pragma Import (Intrinsic, ">");
++ pragma Import (Intrinsic, ">=");
++ pragma Import (Intrinsic, "=");
++
++ -- Other System-Dependent Declarations
++
++ type Bit_Order is (High_Order_First, Low_Order_First);
++ Default_Bit_Order : constant Bit_Order := High_Order_First;
++ pragma Warnings (Off, Default_Bit_Order); -- kill constant condition warning
++
++ -- Priority-related Declarations (RM D.1)
++
++ Max_Priority : constant Positive := 30;
++ Max_Interrupt_Priority : constant Positive := 31;
++
++ subtype Any_Priority is Integer range 0 .. 31;
++ subtype Priority is Any_Priority range 0 .. 30;
++ subtype Interrupt_Priority is Any_Priority range 31 .. 31;
++
++ Default_Priority : constant Priority := 15;
++
++private
++
++ type Address is mod Memory_Size;
++ Null_Address : constant Address := 0;
++
++ --------------------------------------
++ -- System Implementation Parameters --
++ --------------------------------------
++
++ -- These parameters provide information about the target that is used
++ -- by the compiler. They are in the private part of System, where they
++ -- can be accessed using the special circuitry in the Targparm unit
++ -- whose source should be consulted for more detailed descriptions
++ -- of the individual switch values.
++
++ AAMP : constant Boolean := False;
++ Backend_Divide_Checks : constant Boolean := False;
++ Backend_Overflow_Checks : constant Boolean := False;
++ Command_Line_Args : constant Boolean := True;
++ Compiler_System_Version : constant Boolean := False;
++ Configurable_Run_Time : constant Boolean := False;
++ Denorm : constant Boolean := True;
++ Duration_32_Bits : constant Boolean := False;
++ Exit_Status_Supported : constant Boolean := True;
++ Fractional_Fixed_Ops : constant Boolean := False;
++ Frontend_Layout : constant Boolean := False;
++ Functions_Return_By_DSP : constant Boolean := False;
++ Machine_Overflows : constant Boolean := False;
++ Machine_Rounds : constant Boolean := True;
++ OpenVMS : constant Boolean := False;
++ Preallocated_Stacks : constant Boolean := False;
++ Signed_Zeros : constant Boolean := True;
++ Stack_Check_Default : constant Boolean := False;
++ Stack_Check_Probes : constant Boolean := False;
++ Support_64_Bit_Divides : constant Boolean := True;
++ Support_Aggregates : constant Boolean := True;
++ Support_Composite_Assign : constant Boolean := True;
++ Support_Composite_Compare : constant Boolean := True;
++ Support_Long_Shifts : constant Boolean := True;
++ Suppress_Standard_Library : constant Boolean := False;
++ Use_Ada_Main_Program_Name : constant Boolean := False;
++ ZCX_By_Default : constant Boolean := True;
++ GCC_ZCX_Support : constant Boolean := True;
++ Front_End_ZCX_Support : constant Boolean := False;
++
++ -- Obsolete entries, to be removed eventually (bootstrap issues!)
++
++ High_Integrity_Mode : constant Boolean := False;
++ Long_Shifts_Inlined : constant Boolean := True;
++
++end System;
+Index: src/gcc/ada/system-linux-mipsel.ads
+===================================================================
+--- /dev/null
++++ src/gcc/ada/system-linux-mipsel.ads
+@@ -0,0 +1,154 @@
++------------------------------------------------------------------------------
++-- --
++-- GNAT RUN-TIME COMPONENTS --
++-- --
++-- S Y S T E M --
++-- --
++-- S p e c --
++-- (GNU-Linux/MIPSEL Version) --
++-- --
++-- Copyright (C) 1992-2005, Free Software Foundation, Inc. --
++-- --
++-- This specification is derived from the Ada Reference Manual for use with --
++-- GNAT. The copyright notice above, and the license provisions that follow --
++-- apply solely to the contents of the part following the private keyword. --
++-- --
++-- GNAT is free software; you can redistribute it and/or modify it under --
++-- terms of the GNU General Public License as published by the Free Soft- --
++-- ware Foundation; either version 2, or (at your option) any later ver- --
++-- sion. GNAT is distributed in the hope that it will be useful, but WITH- --
++-- OUT 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 distributed with GNAT; see file COPYING. If not, write --
++-- to the Free Software Foundation, 51 Franklin Street, Fifth Floor, --
++-- Boston, MA 02110-1301, USA. --
++-- --
++-- As a special exception, if other files instantiate generics from this --
++-- unit, or you link this unit with other files to produce an executable, --
++-- this unit does not by itself cause the resulting executable to be --
++-- covered by the GNU General Public License. This exception does not --
++-- however invalidate any other reasons why the executable file might be --
++-- covered by the GNU Public License. --
++-- --
++-- GNAT was originally developed by the GNAT team at New York University. --
++-- Extensive contributions were provided by Ada Core Technologies Inc. --
++-- --
++------------------------------------------------------------------------------
++
++package System is
++ pragma Pure;
++ -- Note that we take advantage of the implementation permission to make
++ -- this unit Pure instead of Preelaborable; see RM 13.7.1(15). In Ada
++ -- 2005, this is Pure in any case (AI-362).
++
++ type Name is (SYSTEM_NAME_GNAT);
++ System_Name : constant Name := SYSTEM_NAME_GNAT;
++
++ -- System-Dependent Named Numbers
++
++ Min_Int : constant := Long_Long_Integer'First;
++ Max_Int : constant := Long_Long_Integer'Last;
++
++ Max_Binary_Modulus : constant := 2 ** Long_Long_Integer'Size;
++ Max_Nonbinary_Modulus : constant := Integer'Last;
++
++ Max_Base_Digits : constant := Long_Long_Float'Digits;
++ Max_Digits : constant := Long_Long_Float'Digits;
++
++ Max_Mantissa : constant := 63;
++ Fine_Delta : constant := 2.0 ** (-Max_Mantissa);
++
++ Tick : constant := 0.000_001;
++
++ -- Storage-related Declarations
++
++ type Address is private;
++ Null_Address : constant Address;
++
++ Storage_Unit : constant := 8;
++ Word_Size : constant := 32;
++ Memory_Size : constant := 2 ** 32;
++
++ -- Address comparison
++
++ function "<" (Left, Right : Address) return Boolean;
++ function "<=" (Left, Right : Address) return Boolean;
++ function ">" (Left, Right : Address) return Boolean;
++ function ">=" (Left, Right : Address) return Boolean;
++ function "=" (Left, Right : Address) return Boolean;
++
++ pragma Import (Intrinsic, "<");
++ pragma Import (Intrinsic, "<=");
++ pragma Import (Intrinsic, ">");
++ pragma Import (Intrinsic, ">=");
++ pragma Import (Intrinsic, "=");
++
++ -- Other System-Dependent Declarations
++
++ type Bit_Order is (High_Order_First, Low_Order_First);
++ Default_Bit_Order : constant Bit_Order := Low_Order_First;
++ pragma Warnings (Off, Default_Bit_Order); -- kill constant condition warning
++
++ -- Priority-related Declarations (RM D.1)
++
++ Max_Priority : constant Positive := 30;
++ Max_Interrupt_Priority : constant Positive := 31;
++
++ subtype Any_Priority is Integer range 0 .. 31;
++ subtype Priority is Any_Priority range 0 .. 30;
++ subtype Interrupt_Priority is Any_Priority range 31 .. 31;
++
++ Default_Priority : constant Priority := 15;
++
++private
++
++ type Address is mod Memory_Size;
++ Null_Address : constant Address := 0;
++
++ --------------------------------------
++ -- System Implementation Parameters --
++ --------------------------------------
++
++ -- These parameters provide information about the target that is used
++ -- by the compiler. They are in the private part of System, where they
++ -- can be accessed using the special circuitry in the Targparm unit
++ -- whose source should be consulted for more detailed descriptions
++ -- of the individual switch values.
++
++ AAMP : constant Boolean := False;
++ Backend_Divide_Checks : constant Boolean := False;
++ Backend_Overflow_Checks : constant Boolean := False;
++ Command_Line_Args : constant Boolean := True;
++ Compiler_System_Version : constant Boolean := False;
++ Configurable_Run_Time : constant Boolean := False;
++ Denorm : constant Boolean := True;
++ Duration_32_Bits : constant Boolean := False;
++ Exit_Status_Supported : constant Boolean := True;
++ Fractional_Fixed_Ops : constant Boolean := False;
++ Frontend_Layout : constant Boolean := False;
++ Functions_Return_By_DSP : constant Boolean := False;
++ Machine_Overflows : constant Boolean := False;
++ Machine_Rounds : constant Boolean := True;
++ OpenVMS : constant Boolean := False;
++ Preallocated_Stacks : constant Boolean := False;
++ Signed_Zeros : constant Boolean := True;
++ Stack_Check_Default : constant Boolean := False;
++ Stack_Check_Probes : constant Boolean := False;
++ Support_64_Bit_Divides : constant Boolean := True;
++ Support_Aggregates : constant Boolean := True;
++ Support_Composite_Assign : constant Boolean := True;
++ Support_Composite_Compare : constant Boolean := True;
++ Support_Long_Shifts : constant Boolean := True;
++ Suppress_Standard_Library : constant Boolean := False;
++ Use_Ada_Main_Program_Name : constant Boolean := False;
++ ZCX_By_Default : constant Boolean := True;
++ GCC_ZCX_Support : constant Boolean := True;
++ Front_End_ZCX_Support : constant Boolean := False;
++
++ -- Obsolete entries, to be removed eventually (bootstrap issues!)
++
++ High_Integrity_Mode : constant Boolean := False;
++ Long_Shifts_Inlined : constant Boolean := True;
++
++end System;
+Index: src/gcc/ada/g-soccon-linux-mips.ads
+===================================================================
+--- /dev/null
++++ src/gcc/ada/g-soccon-linux-mips.ads
+@@ -0,0 +1,184 @@
++------------------------------------------------------------------------------
++-- --
++-- GNAT COMPILER COMPONENTS --
++-- --
++-- G N A T . S O C K E T S . C O N S T A N T S --
++-- --
++-- S p e c --
++-- --
++-- Copyright (C) 2000-2005, Free Software Foundation, Inc. --
++-- --
++-- GNAT is free software; you can redistribute it and/or modify it under --
++-- terms of the GNU General Public License as published by the Free Soft- --
++-- ware Foundation; either version 2, or (at your option) any later ver- --
++-- sion. GNAT is distributed in the hope that it will be useful, but WITH- --
++-- OUT 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 distributed with GNAT; see file COPYING. If not, write --
++-- to the Free Software Foundation, 51 Franklin Street, Fifth Floor, --
++-- Boston, MA 02110-1301, USA. --
++-- --
++-- As a special exception, if other files instantiate generics from this --
++-- unit, or you link this unit with other files to produce an executable, --
++-- this unit does not by itself cause the resulting executable to be --
++-- covered by the GNU General Public License. This exception does not --
++-- however invalidate any other reasons why the executable file might be --
++-- covered by the GNU Public License. --
++-- --
++-- GNAT was originally developed by the GNAT team at New York University. --
++-- Extensive contributions were provided by Ada Core Technologies Inc. --
++-- --
++------------------------------------------------------------------------------
++
++-- This package provides target dependent definitions of constant for use
++-- by the GNAT.Sockets package (g-socket.ads). This package should not be
++-- directly with'ed by an applications program.
++
++-- This is the version for mips-linux, manually edited for the first shot
++-- no mips hardware at hand
++-- using http://www.gelato.unsw.edu.au/lxr/source/include/asm-mips/socket.h
++-- in order to find differents values
++-- This file is generated automatically, do not modify it by hand! Instead,
++-- make changes to gen-soccon.c and re-run it on each target.
++
++package GNAT.Sockets.Constants is
++
++ --------------
++ -- Families --
++ --------------
++
++ AF_INET : constant := 2; -- IPv4 address family
++ AF_INET6 : constant := 10; -- IPv6 address family
++
++ -----------
++ -- Modes --
++ -----------
++
++ SOCK_STREAM : constant := 1; -- Stream socket
++ SOCK_DGRAM : constant := 2; -- Datagram socket
++
++ -------------------
++ -- Socket errors --
++ -------------------
++
++ EACCES : constant := 13; -- Permission denied
++ EADDRINUSE : constant := 98; -- Address already in use
++ EADDRNOTAVAIL : constant := 99; -- Cannot assign address
++ EAFNOSUPPORT : constant := 97; -- Addr family not supported
++ EALREADY : constant := 114; -- Operation in progress
++ EBADF : constant := 9; -- Bad file descriptor
++ ECONNABORTED : constant := 103; -- Connection aborted
++ ECONNREFUSED : constant := 111; -- Connection refused
++ ECONNRESET : constant := 104; -- Connection reset by peer
++ EDESTADDRREQ : constant := 89; -- Destination addr required
++ EFAULT : constant := 14; -- Bad address
++ EHOSTDOWN : constant := 112; -- Host is down
++ EHOSTUNREACH : constant := 113; -- No route to host
++ EINPROGRESS : constant := 115; -- Operation now in progress
++ EINTR : constant := 4; -- Interrupted system call
++ EINVAL : constant := 22; -- Invalid argument
++ EIO : constant := 5; -- Input output error
++ EISCONN : constant := 106; -- Socket already connected
++ ELOOP : constant := 40; -- Too many symbolic lynks
++ EMFILE : constant := 24; -- Too many open files
++ EMSGSIZE : constant := 90; -- Message too long
++ ENAMETOOLONG : constant := 36; -- Name too long
++ ENETDOWN : constant := 100; -- Network is down
++ ENETRESET : constant := 102; -- Disconn. on network reset
++ ENETUNREACH : constant := 101; -- Network is unreachable
++ ENOBUFS : constant := 105; -- No buffer space available
++ ENOPROTOOPT : constant := 92; -- Protocol not available
++ ENOTCONN : constant := 107; -- Socket not connected
++ ENOTSOCK : constant := 88; -- Operation on non socket
++ EOPNOTSUPP : constant := 95; -- Operation not supported
++ EPFNOSUPPORT : constant := 96; -- Unknown protocol family
++ EPROTONOSUPPORT : constant := 93; -- Unknown protocol
++ EPROTOTYPE : constant := 91; -- Unknown protocol type
++ ESHUTDOWN : constant := 108; -- Cannot send once shutdown
++ ESOCKTNOSUPPORT : constant := 94; -- Socket type not supported
++ ETIMEDOUT : constant := 110; -- Connection timed out
++ ETOOMANYREFS : constant := 109; -- Too many references
++ EWOULDBLOCK : constant := 11; -- Operation would block
++
++ -----------------
++ -- Host errors --
++ -----------------
++
++ HOST_NOT_FOUND : constant := 1; -- Unknown host
++ TRY_AGAIN : constant := 2; -- Host name lookup failure
++ NO_DATA : constant := 4; -- No data record for name
++ NO_RECOVERY : constant := 3; -- Non recoverable errors
++
++ -------------------
++ -- Control flags --
++ -------------------
++
++ FIONBIO : constant := 16#667e#; -- Set/clear non-blocking io
++ FIONREAD : constant := 16#467f#; -- How many bytes to read
++
++ --------------------
++ -- Shutdown modes --
++ --------------------
++
++ SHUT_RD : constant := 0; -- No more recv
++ SHUT_WR : constant := 1; -- No more send
++ SHUT_RDWR : constant := 2; -- No more recv/send
++
++ ---------------------
++ -- Protocol levels --
++ ---------------------
++
++ SOL_SOCKET : constant := 1; -- Options for socket level
++ IPPROTO_IP : constant := 0; -- Dummy protocol for IP
++ IPPROTO_UDP : constant := 17; -- UDP
++ IPPROTO_TCP : constant := 6; -- TCP
++
++ -------------------
++ -- Request flags --
++ -------------------
++
++ MSG_OOB : constant := 1; -- Process out-of-band data
++ MSG_PEEK : constant := 2; -- Peek at incoming data
++ MSG_EOR : constant := 128; -- Send end of record
++ MSG_WAITALL : constant := 256; -- Wait for full reception
++ MSG_NOSIGNAL : constant := 16384; -- No SIGPIPE on send
++ MSG_Forced_Flags : constant := MSG_NOSIGNAL;
++ -- Flags set on all send(2) calls
++
++ --------------------
++ -- Socket options --
++ --------------------
++
++ TCP_NODELAY : constant := 1; -- Do not coalesce packets
++ SO_REUSEADDR : constant := 4; -- Bind reuse local address
++ SO_KEEPALIVE : constant := 8; -- Enable keep-alive msgs
++ SO_LINGER : constant := 16#80#; -- Defer close to flush data
++ SO_BROADCAST : constant := 16#20#; -- Can send broadcast msgs
++ SO_SNDBUF : constant := 16#1001#; -- Set/get send buffer size
++ SO_RCVBUF : constant := 16#1002#; -- Set/get recv buffer size
++ SO_SNDTIMEO : constant := 16#1005#; -- Emission timeout
++ SO_RCVTIMEO : constant := 16#1006#; -- Reception timeout
++ SO_ERROR : constant := 16#1007#; -- Get/clear error status
++ IP_MULTICAST_IF : constant := 32; -- Set/get mcast interface
++ IP_MULTICAST_TTL : constant := 33; -- Set/get multicast TTL
++ IP_MULTICAST_LOOP : constant := 34; -- Set/get mcast loopback
++ IP_ADD_MEMBERSHIP : constant := 35; -- Join a multicast group
++ IP_DROP_MEMBERSHIP : constant := 36; -- Leave a multicast group
++
++ -------------------
++ -- System limits --
++ -------------------
++
++ IOV_MAX : constant := 2147483647; -- Maximum writev iovcnt
++
++ ----------------------
++ -- Type definitions --
++ ----------------------
++
++ -- Sizes (in bytes) of the components of struct timeval
++
++ SIZEOF_tv_sec : constant := 4; -- tv_sec
++ SIZEOF_tv_usec : constant := 4; -- tv_usec
++
++end GNAT.Sockets.Constants;
diff --git a/recipes/gcc/gcc-4.4.0/debian/ada-symbolic-tracebacks.dpatch b/recipes/gcc/gcc-4.4.0/debian/ada-symbolic-tracebacks.dpatch
new file mode 100644
index 0000000000..d39accfdb5
--- /dev/null
+++ b/recipes/gcc/gcc-4.4.0/debian/ada-symbolic-tracebacks.dpatch
@@ -0,0 +1,346 @@
+#! /bin/sh -e
+
+# DP: - Enable support for symbolic tracebacks in exceptions (delete the dummy
+# DP: convert_addresses from adaint.c, and provide a real one separately.)
+
+dir=
+if [ $# -eq 3 -a "$2" = '-d' ]; then
+ pdir="-d $3"
+ dir="$3/"
+elif [ $# -ne 1 ]; then
+ echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
+ exit 1
+fi
+case "$1" in
+ -patch)
+ patch $pdir -f --no-backup-if-mismatch -p0 < $0
+ ;;
+ -unpatch)
+ patch $pdir -f --no-backup-if-mismatch -R -p0 < $0
+ ;;
+ *)
+ echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
+ exit 1
+esac
+exit 0
+
+Ported Jürgen Pfeifer's patch to enable symbolic tracebacks on Debian
+GNU/Linux.
+
+The binary distribution of GNAT 3.15p comes with an old version of
+binutils that includes a library, libaddr2line.a. This library does
+not exist in recent versions of binutils. The patch works around this
+by calling /usr/bin/addr2line (still part of binutils) and parsing the
+output. See debian/convert_addresses.c for the gory details.
+
+I have modified convert_addresses.c to not use a shell script anymore;
+Debian controls the version of binutils which is installed. Also, I
+use execve instead of execle.
+
+--
+Ludovic Brenta.
+
+# ' make emacs highlighting happy
+
+Index: gcc/ada/Makefile.in
+===================================================================
+--- gcc/ada/Makefile.in.orig 2008-01-13 22:19:26.000000000 +0100
++++ gcc/ada/Makefile.in 2008-01-29 11:56:42.178635045 +0100
+@@ -1655,7 +1655,7 @@
+ a-nucoar.o a-nurear.o i-forbla.o i-forlap.o s-gearop.o
+
+ GNATRTL_OBJS = $(GNATRTL_NONTASKING_OBJS) $(GNATRTL_TASKING_OBJS) \
+- $(GNATRTL_LINEARALGEBRA_OBJS) g-trasym.o memtrack.o
++ $(GNATRTL_LINEARALGEBRA_OBJS) g-trasym.o memtrack.o convert_addresses.o
+
+ # Default run time files
+
+@@ -1810,7 +1810,6 @@
+ for file in rts/*.ali; do \
+ $(INSTALL_DATA_DATE) $$file $(DESTDIR)$(ADA_RTL_OBJ_DIR); \
+ done
+- -$(INSTALL_DATA) rts/g-trasym$(objext) $(DESTDIR)$(ADA_RTL_OBJ_DIR)
+ -cd rts; for file in *$(arext);do \
+ $(INSTALL_DATA) $$file $(DESTDIR)$(ADA_RTL_OBJ_DIR); \
+ $(RANLIB_FOR_TARGET) $(DESTDIR)$(ADA_RTL_OBJ_DIR)/$$file; \
+@@ -1907,7 +1906,7 @@
+ $(GNATRTL_OBJS)
+ $(RM) rts/libgnat$(arext) rts/libgnarl$(arext)
+ $(AR_FOR_TARGET) $(AR_FLAGS) rts/libgnat$(arext) \
+- $(addprefix rts/,$(GNATRTL_NONTASKING_OBJS) $(LIBGNAT_OBJS))
++ $(addprefix rts/,$(GNATRTL_NONTASKING_OBJS) $(LIBGNAT_OBJS) g-trasym.o convert_addresses.o)
+ ifneq ($(PREFIX_OBJS),)
+ $(AR_FOR_TARGET) $(AR_FLAGS) rts/libgccprefix$(arext) \
+ $(PREFIX_OBJS);
+@@ -1940,6 +1939,7 @@
+ $(TARGET_LIBGCC2_CFLAGS) \
+ -o libgnat$(hyphen)$(LIBRARY_VERSION)$(soext) \
+ $(GNATRTL_NONTASKING_OBJS) $(LIBGNAT_OBJS) \
++ g-trasym.o convert_addresses.o \
+ $(SO_OPTS)libgnat$(hyphen)$(LIBRARY_VERSION)$(soext) \
+ $(MISCLIB) -lm
+ cd rts; ../../xgcc -B../../ -shared $(GNATLIBCFLAGS) \
+@@ -2183,6 +2183,7 @@
+ sysdep.o : sysdep.c
+ raise-gcc.o : raise-gcc.c raise.h
+ raise.o : raise.c raise.h
++convert_addresses.o : convert_addresses.c
+ vx_stack_info.o : vx_stack_info.c
+
+ gen-soccon: gen-soccon.c gsocket.h
+Index: gcc/ada/adaint.c
+===================================================================
+--- gcc/ada/adaint.c.orig 2008-01-13 22:19:26.000000000 +0100
++++ gcc/ada/adaint.c 2008-01-29 11:56:06.614450462 +0100
+@@ -2852,35 +2852,6 @@
+ }
+ #endif
+
+-#if defined (CROSS_DIRECTORY_STRUCTURE) \
+- || (! ((defined (sparc) || defined (i386)) && defined (sun) \
+- && defined (__SVR4)) \
+- && ! (defined (linux) && (defined (i386) || defined (__x86_64__))) \
+- && ! (defined (linux) && defined (__ia64__)) \
+- && ! defined (__FreeBSD__) \
+- && ! defined (__hpux__) \
+- && ! defined (__APPLE__) \
+- && ! defined (_AIX) \
+- && ! (defined (__alpha__) && defined (__osf__)) \
+- && ! defined (VMS) \
+- && ! defined (__MINGW32__) \
+- && ! (defined (__mips) && defined (__sgi)))
+-
+-/* Dummy function to satisfy g-trasym.o. See the preprocessor conditional
+- just above for a list of native platforms that provide a non-dummy
+- version of this procedure in libaddr2line.a. */
+-
+-void
+-convert_addresses (const char *file_name ATTRIBUTE_UNUSED,
+- void *addrs ATTRIBUTE_UNUSED,
+- int n_addr ATTRIBUTE_UNUSED,
+- void *buf ATTRIBUTE_UNUSED,
+- int *len ATTRIBUTE_UNUSED)
+-{
+- *len = 0;
+-}
+-#endif
+-
+ #if defined (_WIN32)
+ int __gnat_argument_needs_quote = 1;
+ #else
+Index: gcc/ada/convert_addresses.c
+===================================================================
+--- /dev/null 1970-01-01 00:00:00.000000000 +0000
++++ gcc/ada/convert_addresses.c 2008-01-29 11:56:06.614450462 +0100
+@@ -0,0 +1,157 @@
++/*
++ Copyright (C) 1999 by Juergen Pfeifer <juergen.pfeifer@gmx.net>
++ Ada for Linux Team (ALT)
++
++ Permission is hereby granted, free of charge, to any person obtaining a
++ copy of this software and associated documentation files (the
++ "Software"), to deal in the Software without restriction, including
++ without limitation the rights to use, copy, modify, merge, publish,
++ distribute, distribute with modifications, sublicense, and/or sell
++ copies of the Software, and to permit persons to whom the Software is
++ furnished to do so, subject to the following conditions:
++
++ The above copyright notice and this permission notice shall be included
++ in all copies or substantial portions of the Software.
++
++ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
++ OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
++ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
++ IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
++ DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
++ OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR
++ THE USE OR OTHER DEALINGS IN THE SOFTWARE.
++
++ Except as contained in this notice, the name(s) of the above copyright
++ holders shall not be used in advertising or otherwise to promote the
++ sale, use or other dealings in this Software without prior written
++ authorization.
++*/
++#include <sys/types.h>
++#include <stdlib.h>
++#include <stdio.h>
++#include <unistd.h>
++#include <string.h>
++#include <signal.h>
++
++#define STDIN_FILENO 0
++#define STDOUT_FILENO 1
++#define MAX_LINE 1024
++
++#define CLOSE1 close(fd1[0]); close(fd1[1])
++#define CLOSE2 close(fd2[0]); close(fd2[1])
++#define RESTSIG sigaction(SIGPIPE,&oact,NULL)
++
++void convert_addresses
++( void* addrs[],
++ int n_addr,
++ char* buf,
++ int* len)
++{
++ int max_len = *len;
++ pid_t pid = getpid();
++ pid_t child;
++
++ struct sigaction act, oact;
++
++ int fd1[2], fd2[2];
++ char exe_name[128];
++
++ *buf = 0; *len = 0;
++ /* Thanx to the /proc filesystem we can very easily reference our own
++ executable image:-)*/
++ snprintf(exe_name,sizeof(exe_name),"--exe=/proc/%ld/exe", (long)pid);
++
++ act.sa_handler = SIG_IGN;
++ sigemptyset(&act.sa_mask);
++ act.sa_flags = 0;
++ if (sigaction(SIGPIPE,&act,&oact) < 0)
++ return;
++
++ if (pipe(fd1) >= 0) {
++ if (pipe(fd2)>=0) {
++ if ((child = fork()) < 0) {
++ CLOSE1; CLOSE2; RESTSIG;
++ return;
++ }
++ else {
++ if (0==child) {
++ close(fd1[1]);
++ close(fd2[0]);
++ if (fd1[0] != STDIN_FILENO) {
++ if (dup2(fd1[0],STDIN_FILENO) != STDIN_FILENO) {
++ CLOSE1; CLOSE2;
++ }
++ close(fd1[0]);
++ }
++ if (fd2[1] != STDOUT_FILENO) {
++ if (dup2(fd2[1],STDOUT_FILENO) != STDOUT_FILENO) {
++ CLOSE1; CLOSE2;
++ }
++ close(fd2[1]);
++ }
++ {
++ /* As pointed out by Florian Weimer to me, it is a
++ security threat to call the script with a user defined
++ environment and using the path. That would be Trojans
++ pleasure. Therefore we use the absolute path to
++ addr2line and an empty environment. That should be
++ safe.
++ */
++ char *const argv[] = { "addr2line",
++ exe_name,
++ "--demangle=gnat",
++ "--functions",
++ "--basenames",
++ NULL };
++ char *const envp[] = { NULL };
++ if (execve("/usr/bin/addr2line", argv, envp) < 0) {
++ CLOSE1; CLOSE2;
++ }
++ }
++ }
++ else {
++ int i, n;
++ char hex[16];
++ char line[MAX_LINE + 1];
++ char *p;
++ char *s = buf;
++
++ /* Parent context */
++ close(fd1[0]);
++ close(fd2[1]);
++
++ for(i=0; i < n_addr; i++) {
++ snprintf(hex,sizeof(hex),"%p\n",addrs[i]);
++ write(fd1[1],hex,strlen(hex));
++ n = read(fd2[0],line,MAX_LINE);
++ if (n<=0)
++ break;
++ line[n]=0;
++ /* We have approx. 16 additional chars for "%p in " clause.
++ We use this info to prevent a buffer overrun.
++ */
++ if (n + 16 + (*len) > max_len)
++ break;
++ p = strchr(line,'\n');
++ if (p) {
++ if (*(p+1)) {
++ *p = 0;
++ *len += snprintf(s, (max_len - (*len)), "%p in %s at %s",addrs[i], line, p+1);
++ }
++ else {
++ *len += snprintf(s, (max_len - (*len)), "%p at %s",addrs[i], line);
++ }
++ s = buf + (*len);
++ }
++ }
++ close(fd1[1]);
++ close(fd2[0]);
++ }
++ }
++ }
++ else {
++ CLOSE1;
++ }
++ }
++ RESTSIG;
++}
+Index: gcc/ada/g-trasym.adb
+===================================================================
+--- gcc/ada/g-trasym.adb.orig 2007-04-11 10:18:15.000000000 +0200
++++ gcc/ada/g-trasym.adb 2008-01-29 11:56:06.614450462 +0100
+@@ -32,16 +32,16 @@
+ ------------------------------------------------------------------------------
+
+ -- Run-time symbolic traceback support
++-- This file has been modified by Juergen Pfeifer (31-Dec-1999) for
++-- the purpose to support the Ada for Linux Team implementation of
++-- convert_addresses. This implementation has the advantage to run
++-- on the binutils as they are deployed on Linux.
+
+ with System.Soft_Links;
+ with Ada.Exceptions.Traceback; use Ada.Exceptions.Traceback;
+
+ package body GNAT.Traceback.Symbolic is
+
+- pragma Linker_Options ("-laddr2line");
+- pragma Linker_Options ("-lbfd");
+- pragma Linker_Options ("-liberty");
+-
+ package TSL renames System.Soft_Links;
+
+ -- To perform the raw addresses to symbolic form translation we rely on a
+@@ -79,9 +79,13 @@
+ -- raw addresses provided in ADDRS, looked up in debug information from
+ -- FILENAME. LEN is filled with the result length.
+ --
+- -- This procedure is provided by libaddr2line on targets that support
+- -- it. A dummy version is in adaint.c for other targets so that build
+- -- of shared libraries doesn't generate unresolved symbols.
++ -- This is the ALT Linux specific version adapted to the binutils
++ -- deployed with most Linuxes. These binutils already have an
++ -- addr2line tool that demangles Ada symbolic names, but there are
++ -- version dependant variants for the option names. Therefore our
++ -- implementation spawns a shell script that does normalization of
++ -- the option and then executes addr2line and communicates with it
++ -- through a bidirectional pipe.
+ --
+ -- Note that this procedure is *not* thread-safe.
+
+@@ -93,8 +97,9 @@
+ (c_exename : System.Address) return System.Address;
+ pragma Import (C, locate_exec_on_path, "__gnat_locate_exec_on_path");
+
+- Res : String (1 .. 256 * Traceback'Length);
+- Len : Integer;
++ B_Size : constant Integer := 256 * Traceback'Length;
++ Len : Integer := B_Size;
++ Res : String (1 .. B_Size);
+
+ use type System.Address;
+
diff --git a/recipes/gcc/gcc-4.4.0/debian/alpha-ieee-doc.dpatch b/recipes/gcc/gcc-4.4.0/debian/alpha-ieee-doc.dpatch
new file mode 100644
index 0000000000..b4976bf847
--- /dev/null
+++ b/recipes/gcc/gcc-4.4.0/debian/alpha-ieee-doc.dpatch
@@ -0,0 +1,44 @@
+#! /bin/sh -e
+
+# DP: #212912
+# DP: on alpha-linux, make -mieee default and add -mieee-disable switch
+# DP: to turn default off (doc patch)
+
+dir=
+if [ $# -eq 3 -a "$2" = '-d' ]; then
+ pdir="-d $3"
+ dir="$3/"
+elif [ $# -ne 1 ]; then
+ echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
+ exit 1
+fi
+case "$1" in
+ -patch)
+ patch $pdir -f --no-backup-if-mismatch -p1 < $0
+ ;;
+ -unpatch)
+ patch $pdir -f --no-backup-if-mismatch -R -p1 < $0
+ ;;
+ *)
+ echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
+ exit 1
+esac
+exit 0
+
+
+--- src/gcc/doc/invoke.texi~ 2005-09-29 20:00:57.638380128 +0200
++++ src/gcc/doc/invoke.texi 2005-09-30 22:23:22.922502992 +0200
+@@ -7670,6 +7670,13 @@
+ values such as not-a-number and plus/minus infinity. Other Alpha
+ compilers call this option @option{-ieee_with_no_inexact}.
+
++DEBIAN SPECIFIC: This option is on by default, unless
++@option{-ffinite-math-only} (which is part of the @option{-ffast-math}
++set) is specified, because the software functions in the GNU libc math
++libraries generate denormalized numbers, NaNs, and infs (all of which
++will cause a programs to SIGFPE when it attempts to use the results without
++@option{-mieee}).
++
+ @item -mieee-with-inexact
+ @opindex mieee-with-inexact
+ This is like @option{-mieee} except the generated code also maintains
diff --git a/recipes/gcc/gcc-4.4.0/debian/alpha-ieee.dpatch b/recipes/gcc/gcc-4.4.0/debian/alpha-ieee.dpatch
new file mode 100644
index 0000000000..4070b1a39e
--- /dev/null
+++ b/recipes/gcc/gcc-4.4.0/debian/alpha-ieee.dpatch
@@ -0,0 +1,57 @@
+#! /bin/sh -e
+
+# DP: #212912
+# DP: on alpha-linux, make -mieee default and add -mieee-disable switch
+# DP: to turn default off
+
+dir=
+if [ $# -eq 3 -a "$2" = '-d' ]; then
+ pdir="-d $3"
+ dir="$3/"
+elif [ $# -ne 1 ]; then
+ echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
+ exit 1
+fi
+case "$1" in
+ -patch)
+ patch $pdir -f --no-backup-if-mismatch -p1 < $0
+ ;;
+ -unpatch)
+ patch $pdir -f --no-backup-if-mismatch -R -p1 < $0
+ ;;
+ *)
+ echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
+ exit 1
+esac
+exit 0
+
+
+--- src/gcc/config/alpha/alpha.c~ 2005-06-04 21:25:45.000000000 +0200
++++ src/gcc/config/alpha/alpha.c 2005-09-30 22:21:33.251175568 +0200
+@@ -248,6 +248,10 @@
+ { 0, 0, 0 }
+ };
+
++ /* If not -ffinite-math-only, enable -mieee*/
++ if (!flag_finite_math_only)
++ target_flags |= MASK_IEEE|MASK_IEEE_CONFORMANT;
++
+ /* Unicos/Mk doesn't have shared libraries. */
+ if (TARGET_ABI_UNICOSMK && flag_pic)
+ {
+#--- src/gcc/doc/invoke.texi~ 2005-09-29 20:00:57.638380128 +0200
+#+++ src/gcc/doc/invoke.texi 2005-09-30 22:23:22.922502992 +0200
+#@@ -7670,6 +7670,13 @@
+# values such as not-a-number and plus/minus infinity. Other Alpha
+# compilers call this option @option{-ieee_with_no_inexact}.
+#
+#+DEBIAN SPECIFIC: This option is on by default, unless
+#+@option{-ffinite-math-only} (which is part of the @option{-ffast-math}
+#+set) is specified, because the software functions in the GNU libc math
+#+libraries generate denormalized numbers, NaNs, and infs (all of which
+#+will cause a programs to SIGFPE when it attempts to use the results without
+#+@option{-mieee}).
+#+
+# @item -mieee-with-inexact
+# @opindex mieee-with-inexact
+# This is like @option{-mieee} except the generated code also maintains
diff --git a/recipes/gcc/gcc-4.4.0/debian/alpha-no-ev4-directive.dpatch b/recipes/gcc/gcc-4.4.0/debian/alpha-no-ev4-directive.dpatch
new file mode 100644
index 0000000000..e3f84244d2
--- /dev/null
+++ b/recipes/gcc/gcc-4.4.0/debian/alpha-no-ev4-directive.dpatch
@@ -0,0 +1,49 @@
+#! /bin/sh -e
+
+dir=
+if [ $# -eq 3 -a "$2" = '-d' ]; then
+ pdir="-d $3"
+ dir="$3/"
+elif [ $# -ne 1 ]; then
+ echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
+ exit 1
+fi
+case "$1" in
+ -patch)
+ patch $pdir -f --no-backup-if-mismatch -p0 < $0
+ ;;
+ -unpatch)
+ patch $pdir -f --no-backup-if-mismatch -R -p0 < $0
+ ;;
+ *)
+ echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
+ exit 1
+esac
+exit 0
+
+Index: gcc/config/alpha/alpha.c
+===================================================================
+--- gcc/config/alpha/alpha.c (revision 115263)
++++ gcc/config/alpha/alpha.c (working copy)
+@@ -9372,7 +9372,7 @@
+ fputs ("\t.set nomacro\n", asm_out_file);
+ if (TARGET_SUPPORT_ARCH | TARGET_BWX | TARGET_MAX | TARGET_FIX | TARGET_CIX)
+ {
+- const char *arch;
++ const char *arch = NULL;
+
+ if (alpha_cpu == PROCESSOR_EV6 || TARGET_FIX || TARGET_CIX)
+ arch = "ev6";
+@@ -9382,10 +9382,9 @@
+ arch = "ev56";
+ else if (alpha_cpu == PROCESSOR_EV5)
+ arch = "ev5";
+- else
+- arch = "ev4";
+
+- fprintf (asm_out_file, "\t.arch %s\n", arch);
++ if (arch)
++ fprintf (asm_out_file, "\t.arch %s\n", arch);
+ }
+ }
+ #endif
diff --git a/recipes/gcc/gcc-4.4.0/debian/arm-unbreak-eabi-armv4t.dpatch b/recipes/gcc/gcc-4.4.0/debian/arm-unbreak-eabi-armv4t.dpatch
new file mode 100644
index 0000000000..7bb8887068
--- /dev/null
+++ b/recipes/gcc/gcc-4.4.0/debian/arm-unbreak-eabi-armv4t.dpatch
@@ -0,0 +1,36 @@
+#! /bin/sh -e
+
+# DP: Fix armv4t build on ARM
+
+dir=
+if [ $# -eq 3 -a "$2" = '-d' ]; then
+ pdir="-d $3"
+ dir="$3/"
+elif [ $# -ne 1 ]; then
+ echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
+ exit 1
+fi
+case "$1" in
+ -patch)
+ patch $pdir -f --no-backup-if-mismatch -p1 < $0
+ ;;
+ -unpatch)
+ patch $pdir -f --no-backup-if-mismatch -R -p1 < $0
+ ;;
+ *)
+ echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
+ exit 1
+esac
+exit 0
+
+--- src/gcc/config/arm/linux-eabi.h.orig 2007-11-24 12:37:38.000000000 +0000
++++ src/gcc/config/arm/linux-eabi.h 2007-11-24 12:39:41.000000000 +0000
+@@ -44,7 +44,7 @@
+ The ARM10TDMI core is the default for armv5t, so set
+ SUBTARGET_CPU_DEFAULT to achieve this. */
+ #undef SUBTARGET_CPU_DEFAULT
+-#define SUBTARGET_CPU_DEFAULT TARGET_CPU_arm10tdmi
++#define SUBTARGET_CPU_DEFAULT TARGET_CPU_arm9tdmi
+
+ /* TARGET_BIG_ENDIAN_DEFAULT is set in
+ config.gcc for big endian configurations. */
diff --git a/recipes/gcc/gcc-4.4.0/debian/boehm-gc-getnprocs.dpatch b/recipes/gcc/gcc-4.4.0/debian/boehm-gc-getnprocs.dpatch
new file mode 100644
index 0000000000..8d85cdcbb0
--- /dev/null
+++ b/recipes/gcc/gcc-4.4.0/debian/boehm-gc-getnprocs.dpatch
@@ -0,0 +1,39 @@
+#! /bin/sh -e
+
+# DP: boehm-gc/pthread_support.c (GC_get_nprocs): Use sysconf as fallback.
+
+dir=
+if [ $# -eq 3 -a "$2" = '-d' ]; then
+ pdir="-d $3"
+ dir="$3/"
+elif [ $# -ne 1 ]; then
+ echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
+ exit 1
+fi
+case "$1" in
+ -patch)
+ patch $pdir -f --no-backup-if-mismatch -p0 < $0
+ ;;
+ -unpatch)
+ patch $pdir -f --no-backup-if-mismatch -R -p0 < $0
+ ;;
+ *)
+ echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
+ exit 1
+esac
+exit 0
+
+Index: boehm-gc/pthread_support.c
+===================================================================
+--- boehm-gc/pthread_support.c (revision 127207)
++++ boehm-gc/pthread_support.c (working copy)
+@@ -724,7 +724,8 @@
+ f = open("/proc/stat", O_RDONLY);
+ if (f < 0 || (len = STAT_READ(f, stat_buf, STAT_BUF_SIZE)) < 100) {
+ WARN("Couldn't read /proc/stat\n", 0);
+- return -1;
++ /* Fallback to sysconf after the warning */
++ return sysconf(_SC_NPROCESSORS_ONLN);
+ }
+ for (i = 0; i < len - 100; ++i) {
+ if (stat_buf[i] == '\n' && stat_buf[i+1] == 'c'
diff --git a/recipes/gcc/gcc-4.4.0/debian/boehm-gc-nocheck.dpatch b/recipes/gcc/gcc-4.4.0/debian/boehm-gc-nocheck.dpatch
new file mode 100644
index 0000000000..f9910dc041
--- /dev/null
+++ b/recipes/gcc/gcc-4.4.0/debian/boehm-gc-nocheck.dpatch
@@ -0,0 +1,37 @@
+#! /bin/sh -e
+
+# DP: Disable running the boehm-gc testsuite. Hangs the buildd at least on hppa.
+
+dir=
+if [ $# -eq 3 -a "$2" = '-d' ]; then
+ pdir="-d $3"
+ dir="$3/"
+elif [ $# -ne 1 ]; then
+ echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
+ exit 1
+fi
+case "$1" in
+ -patch)
+ patch $pdir -f --no-backup-if-mismatch -p0 < $0
+ ;;
+ -unpatch)
+ patch $pdir -f --no-backup-if-mismatch -R -p0 < $0
+ ;;
+ *)
+ echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
+ exit 1
+esac
+exit 0
+
+--- boehm-gc/Makefile.in~ 2004-06-20 16:24:06.000000000 +0200
++++ boehm-gc/Makefile.in 2004-06-23 09:43:42.000000000 +0200
+@@ -662,7 +662,8 @@
+ test "$$failed" -eq 0; \
+ else :; fi
+ check-am: $(check_PROGRAMS)
+- $(MAKE) $(AM_MAKEFLAGS) check-TESTS
++ : # $(MAKE) $(AM_MAKEFLAGS) check-TESTS
++ @echo target $@ disabled for Debian build.
+ check: check-recursive
+ all-am: Makefile $(LTLIBRARIES) all-multi
+ installdirs: installdirs-recursive
diff --git a/recipes/gcc/gcc-4.4.0/debian/config-ml.dpatch b/recipes/gcc/gcc-4.4.0/debian/config-ml.dpatch
new file mode 100644
index 0000000000..12ef7b495a
--- /dev/null
+++ b/recipes/gcc/gcc-4.4.0/debian/config-ml.dpatch
@@ -0,0 +1,94 @@
+#! /bin/sh -e
+
+# DP: disable some biarch libraries for biarch builds
+
+if [ $# -eq 3 ] && [ "$2" = '-d' ]; then
+ pdir="-d $3"
+ dir="$3/"
+elif [ $# -ne 1 ]; then
+ echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
+ exit 1
+fi
+case "$1" in
+ -patch) patch $pdir -f --no-backup-if-mismatch -p0 < $0;;
+ -unpatch) patch $pdir -f --no-backup-if-mismatch -R -p0 < $0;;
+ *)
+ echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
+ exit 1;;
+esac
+
+exit 0
+
+--- config-ml.in.orig 2007-12-01 10:09:04.533972767 +0100
++++ config-ml.in 2007-12-01 10:21:50.625529084 +0100
+@@ -301,6 +301,11 @@
+ done
+ fi
+ ;;
++i[34567]86-*-*)
++ case " $multidirs " in
++ *" 64 "*) ac_configure_args="${ac_configure_args} --host=x86_64-linux-gnu"
++ esac
++ ;;
+ m68*-*-*)
+ if [ x$enable_softfloat = xno ]
+ then
+@@ -472,9 +477,36 @@
+ esac
+ done
+ fi
++ case " $multidirs " in
++ *" 64 "*) ac_configure_args="${ac_configure_args} --host=powerpc64-linux-gnu"
++ esac
++ ;;
++s390-*-*)
++ case " $multidirs " in
++ *" 64 "*) ac_configure_args="${ac_configure_args} --host=s390x-linux-gnu"
++ esac
+ ;;
+ esac
+
++if [ -z "$biarch_multidir_names" ]; then
++ biarch_multidir_names="libiberty libstdc++-v3 libgfortran libmudflap libssp libffi libobjc libgomp"
++ echo "WARNING: biarch_multidir_names is unset. Use default value:"
++ echo " $biarch_multidir_names"
++fi
++ml_srcbase=`basename $ml_realsrcdir`
++old_multidirs="${multidirs}"
++multidirs=""
++for x in ${old_multidirs}; do
++ case " $x " in
++ " 32 "|" n32 "|" 64 " )
++ case "$biarch_multidir_names" in
++ *"$ml_srcbase"*) multidirs="${multidirs} ${x}" ;;
++ esac
++ ;;
++ *) multidirs="${multidirs} ${x}" ;;
++ esac
++done
++
+ # Remove extraneous blanks from multidirs.
+ # Tests like `if [ -n "$multidirs" ]' require it.
+ multidirs=`echo "$multidirs" | sed -e 's/^[ ][ ]*//' -e 's/[ ][ ]*$//' -e 's/[ ][ ]*/ /g'`
+@@ -852,9 +884,20 @@
+ fi
+ fi
+
++ ml_configure_args=
++ for arg in ${ac_configure_args}
++ do
++ case $arg in
++ *CC=*) ml_configure_args=${ml_config_env} ;;
++ *CXX=*) ml_configure_args=${ml_config_env} ;;
++ *GCJ=*) ml_configure_args=${ml_config_env} ;;
++ *) ;;
++ esac
++ done
++
+ if eval ${ml_config_env} ${ml_config_shell} ${ml_recprog} \
+ --with-multisubdir=${ml_dir} --with-multisrctop=${multisrctop} \
+- ${ac_configure_args} ${ml_config_env} ${ml_srcdiroption} ; then
++ ${ac_configure_args} ${ml_configure_args} ${ml_srcdiroption} ; then
+ true
+ else
+ exit 1
diff --git a/recipes/gcc/gcc-4.4.0/debian/cpu-default-i486.dpatch b/recipes/gcc/gcc-4.4.0/debian/cpu-default-i486.dpatch
new file mode 100644
index 0000000000..1afa60faf2
--- /dev/null
+++ b/recipes/gcc/gcc-4.4.0/debian/cpu-default-i486.dpatch
@@ -0,0 +1,37 @@
+#! /bin/sh -e
+
+# DP: set default 32bit ix86 architecture to i486
+
+dir=
+if [ $# -eq 3 -a "$2" = '-d' ]; then
+ pdir="-d $3"
+ dir="$3/"
+elif [ $# -ne 1 ]; then
+ echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
+ exit 1
+fi
+case "$1" in
+ -patch)
+ patch $pdir -f --no-backup-if-mismatch -p0 < $0
+ ;;
+ -unpatch)
+ patch $pdir -f --no-backup-if-mismatch -R -p0 < $0
+ ;;
+ *)
+ echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
+ exit 1
+esac
+exit 0
+
+
+--- gcc/config/i386/i386.c~ 2007-06-28 13:23:31.000000000 +0200
++++ gcc/config/i386/i386.c 2007-06-28 13:26:33.000000000 +0200
+@@ -1953,7 +1953,7 @@
+ "-mtune=generic instead as appropriate.");
+
+ if (!ix86_arch_string)
+- ix86_arch_string = TARGET_64BIT ? "x86-64" : "i386";
++ ix86_arch_string = TARGET_64BIT ? "x86-64" : "i486";
+ else
+ ix86_arch_specified = 1;
+
diff --git a/recipes/gcc/gcc-4.4.0/debian/cross-fixes.dpatch b/recipes/gcc/gcc-4.4.0/debian/cross-fixes.dpatch
new file mode 100644
index 0000000000..84d50bfd4a
--- /dev/null
+++ b/recipes/gcc/gcc-4.4.0/debian/cross-fixes.dpatch
@@ -0,0 +1,129 @@
+#! /bin/sh -e
+
+# DP: Fix the linker error when creating an xcc for ia64
+
+dir=
+if [ $# -eq 3 -a "$2" = '-d' ]; then
+ pdir="-d $3"
+ dir="$3/"
+elif [ $# -ne 1 ]; then
+ echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
+ exit 1
+fi
+case "$1" in
+ -patch)
+ patch $pdir -f --no-backup-if-mismatch -p1 < $0
+ cd ${dir}gcc && autoconf
+ ;;
+ -unpatch)
+ patch $pdir -f --no-backup-if-mismatch -R -p1 < $0
+ cd ${dir}gcc && autoconf
+ ;;
+ *)
+ echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
+ exit 1
+esac
+exit 0
+
+diff -NurpP -x '*.orig' -x '*.libc' gcc-4.0.0.orig/gcc/config/ia64/fde-glibc.c gcc-4.0.0.new/gcc/config/ia64/fde-glibc.c
+--- gcc-4.0.0.orig/gcc/config/ia64/fde-glibc.c 2003-11-02 18:35:20.000000000 +0100
++++ gcc-4.0.0.new/gcc/config/ia64/fde-glibc.c 2005-05-15 02:42:27.675247674 +0200
+@@ -31,6 +31,7 @@
+ #ifndef _GNU_SOURCE
+ #define _GNU_SOURCE 1
+ #endif
++#ifndef inhibit_libc
+ #include "config.h"
+ #include <stddef.h>
+ #include <stdlib.h>
+@@ -162,3 +163,5 @@ _Unwind_FindTableEntry (void *pc, unsign
+
+ return data.ret;
+ }
++
++#endif
+diff -NurpP -x '*.orig' -x '*.libc' gcc-4.0.0.orig/gcc/config/ia64/unwind-ia64.c gcc-4.0.0.new/gcc/config/ia64/unwind-ia64.c
+--- gcc-4.0.0.orig/gcc/config/ia64/unwind-ia64.c 2005-04-06 05:50:36.000000000 +0200
++++ gcc-4.0.0.new/gcc/config/ia64/unwind-ia64.c 2005-05-15 02:43:10.842199954 +0200
+@@ -30,7 +30,7 @@
+ This exception does not however invalidate any other reasons why
+ the executable file might be covered by the GNU General Public License. */
+
+-
++#ifndef inhibit_libc
+ #include "tconfig.h"
+ #include "tsystem.h"
+ #include "coretypes.h"
+@@ -2404,3 +2404,4 @@ alias (_Unwind_SetIP);
+ #endif
+
+ #endif
++#endif
+diff -NurpP -x '*.orig' -x '*.libc' gcc-4.0.0.orig/gcc/config/sh/linux-unwind.h gcc-4.0.0.new/gcc/config/sh/linux-unwind.h
+--- gcc-4.0.0.orig/gcc/config/sh/linux-unwind.h 2005-02-11 02:12:57.000000000 +0100
++++ gcc-4.0.0.new/gcc/config/sh/linux-unwind.h 2005-05-15 02:44:31.000000000 +0200
+@@ -29,6 +29,7 @@ Boston, MA 02111-1307, USA. */
+ /* Do code reading to identify a signal frame, and set the frame
+ state data appropriately. See unwind-dw2.c for the structs. */
+
++#ifndef inhibit_libc
+ #include <signal.h>
+ #include <sys/ucontext.h>
+ #include "insn-constants.h"
+@@ -169,3 +170,4 @@ sh_fallback_frame_state (struct _Unwind_
+ return _URC_NO_REASON;
+ }
+ #endif /* defined (__SH5__) */
++#endif
+diff -NurpP -x '*.orig' -x '*.libc' gcc-4.0.0.orig/gcc/unwind-compat.c gcc-4.0.0.new/gcc/unwind-compat.c
+--- gcc-4.0.0.orig/gcc/unwind-compat.c 2004-09-04 02:15:40.000000000 +0200
++++ gcc-4.0.0.new/gcc/unwind-compat.c 2005-05-15 02:41:17.000000000 +0200
+@@ -29,6 +29,7 @@
+ 02110-1301, USA. */
+
+ #if defined (USE_GAS_SYMVER) && defined (USE_LIBUNWIND_EXCEPTIONS)
++#ifndef inhibit_libc
+ #include "tconfig.h"
+ #include "tsystem.h"
+ #include "unwind.h"
+@@ -204,3 +205,4 @@ _Unwind_SetIP (struct _Unwind_Context *c
+ }
+ symver (_Unwind_SetIP, GCC_3.0);
+ #endif
++#endif
+diff -NurpP -x '*.orig' -x '*.libc' gcc-4.0.0.orig/gcc/unwind-generic.h gcc-4.0.0.new/gcc/unwind-generic.h
+--- gcc-4.0.0.orig/gcc/unwind-generic.h 2004-11-30 09:15:39.000000000 +0100
++++ gcc-4.0.0.new/gcc/unwind-generic.h 2005-05-15 02:38:33.000000000 +0200
+@@ -202,6 +202,7 @@ extern _Unwind_Reason_Code _Unwind_SjLj_
+ compatible with the standard ABI for IA-64, we inline these. */
+
+ #ifdef __ia64__
++#ifndef inhibit_libc
+ #include <stdlib.h>
+
+ static inline _Unwind_Ptr
+@@ -220,6 +221,7 @@ _Unwind_GetTextRelBase (struct _Unwind_C
+
+ /* @@@ Retrieve the Backing Store Pointer of the given context. */
+ extern _Unwind_Word _Unwind_GetBSP (struct _Unwind_Context *);
++#endif
+ #else
+ extern _Unwind_Ptr _Unwind_GetDataRelBase (struct _Unwind_Context *);
+ extern _Unwind_Ptr _Unwind_GetTextRelBase (struct _Unwind_Context *);
+diff -NurpP -x '*.orig' -x '*.libc' gcc-4.0.0.new/gcc/config/alpha/linux-unwind.h gcc-4.0.0.new2/gcc/config/alpha/linux-unwind.h
+--- gcc-4.0.0.new/gcc/config/alpha/linux-unwind.h 2005-02-11 02:12:54.000000000 +0100
++++ gcc-4.0.0.new2/gcc/config/alpha/linux-unwind.h 2005-05-15 05:09:16.000000000 +0200
+@@ -29,6 +29,7 @@ Boston, MA 02111-1307, USA. */
+ /* Do code reading to identify a signal frame, and set the frame
+ state data appropriately. See unwind-dw2.c for the structs. */
+
++#ifndef inhibit_libc
+ #include <signal.h>
+ #include <sys/ucontext.h>
+
+@@ -80,3 +81,5 @@ alpha_fallback_frame_state (struct _Unwi
+ fs->retaddr_column = 64;
+ return _URC_NO_REASON;
+ }
++
++#endif
diff --git a/recipes/gcc/gcc-4.4.0/debian/cross-include.dpatch b/recipes/gcc/gcc-4.4.0/debian/cross-include.dpatch
new file mode 100644
index 0000000000..c2622903ec
--- /dev/null
+++ b/recipes/gcc/gcc-4.4.0/debian/cross-include.dpatch
@@ -0,0 +1,39 @@
+#! /bin/sh -e
+
+# DP: Set cross include path to .../include, not .../sys-include
+# DP: This should be a fix for famous limits.h issue
+
+dir=
+if [ $# -eq 3 -a "$2" = '-d' ]; then
+ pdir="-d $3"
+ dir="$3/"
+elif [ $# -ne 1 ]; then
+ echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
+ exit 1
+fi
+case "$1" in
+ -patch)
+ patch $pdir -f --no-backup-if-mismatch -p0 < $0
+ cd ${dir}gcc && autoconf
+ ;;
+ -unpatch)
+ patch $pdir -f --no-backup-if-mismatch -R -p0 < $0
+ cd ${dir}gcc && autoconf
+ ;;
+ *)
+ echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
+ exit 1
+esac
+exit 0
+
+--- gcc/configure.ac.orig 2005-08-24 06:24:11.000000000 +0400
++++ gcc/configure.ac 2005-12-06 00:40:45.000000000 +0300
+@@ -681,7 +681,7 @@
+ ], [
+ TARGET_SYSTEM_ROOT=
+ TARGET_SYSTEM_ROOT_DEFINE=
+- CROSS_SYSTEM_HEADER_DIR='$(gcc_tooldir)/sys-include'
++ CROSS_SYSTEM_HEADER_DIR='$(prefix)/$(target_noncanonical)/include'
+ ])
+ AC_SUBST(TARGET_SYSTEM_ROOT)
+ AC_SUBST(TARGET_SYSTEM_ROOT_DEFINE)
diff --git a/recipes/gcc/gcc-4.4.0/debian/deb-protoize.dpatch b/recipes/gcc/gcc-4.4.0/debian/deb-protoize.dpatch
new file mode 100644
index 0000000000..f86ee09942
--- /dev/null
+++ b/recipes/gcc/gcc-4.4.0/debian/deb-protoize.dpatch
@@ -0,0 +1,47 @@
+#! /bin/sh -e
+
+# DP: build protoize/unprotoize binaries
+
+if [ $# -eq 3 -a "$2" = '-d' ]; then
+ pdir="-d $3"
+elif [ $# -ne 1 ]; then
+ echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
+ exit 1
+fi
+case "$1" in
+ -patch) patch $pdir -f --no-backup-if-mismatch -p0 < $0;;
+ -unpatch) patch $pdir -f --no-backup-if-mismatch -R -p0 < $0;;
+ *)
+ echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
+ exit 1
+esac
+exit 0
+
+--- gcc/Makefile.in.orig 2007-09-06 21:31:39.864036975 +0200
++++ gcc/Makefile.in 2007-09-06 21:33:57.836118252 +0200
+@@ -137,7 +137,7 @@
+
+ # Selection of languages to be made.
+ CONFIG_LANGUAGES = @all_selected_languages@
+-LANGUAGES = c gcov$(exeext) gcov-dump$(exeext) $(CONFIG_LANGUAGES)
++LANGUAGES = c proto gcov$(exeext) gcov-dump$(exeext) $(CONFIG_LANGUAGES)
+
+ # Various ways of specifying flags for compilations:
+ # CFLAGS is for the user to override to, e.g., do a cross build with -O2.
+@@ -3280,14 +3280,14 @@
+ protoize.o: protoize.c $(srcdir)/../include/getopt.h $(CONFIG_H) $(SYSTEM_H) \
+ coretypes.h $(TM_H) Makefile version.h cppdefault.h intl.h
+ (SHLIB_LINK='$(SHLIB_LINK)'; \
+- $(CC) -c $(ALL_CFLAGS) $(ALL_CPPFLAGS) \
++ $(CC) -c $(ALL_CFLAGS) $(ALL_CPPFLAGS) -Wno-error \
+ $(DRIVER_DEFINES) \
+ $(srcdir)/protoize.c $(OUTPUT_OPTION))
+
+ unprotoize.o: protoize.c $(srcdir)/../include/getopt.h $(CONFIG_H) \
+ $(SYSTEM_H) coretypes.h $(TM_H) Makefile version.h cppdefault.h intl.h
+ (SHLIB_LINK='$(SHLIB_LINK)'; \
+- $(CC) -c -DUNPROTOIZE $(ALL_CFLAGS) $(ALL_CPPFLAGS) \
++ $(CC) -c -DUNPROTOIZE $(ALL_CFLAGS) $(ALL_CPPFLAGS) -Wno-error \
+ $(DRIVER_DEFINES) \
+ $(srcdir)/protoize.c $(OUTPUT_OPTION))
+
diff --git a/recipes/gcc/gcc-4.4.0/debian/gcc-d-lang.dpatch b/recipes/gcc/gcc-4.4.0/debian/gcc-d-lang.dpatch
new file mode 100644
index 0000000000..24267ddbb3
--- /dev/null
+++ b/recipes/gcc/gcc-4.4.0/debian/gcc-d-lang.dpatch
@@ -0,0 +1,246 @@
+#! /bin/sh -e
+
+# DP: Add D options and specs for the gcc driver.
+
+dir=
+if [ $# -eq 3 -a "$2" = '-d' ]; then
+ pdir="-d $3"
+ dir="$3/"
+elif [ $# -ne 1 ]; then
+ echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
+ exit 1
+fi
+case "$1" in
+ -patch)
+ patch $pdir -f --no-backup-if-mismatch -p0 < $0
+ ;;
+ -unpatch)
+ patch $pdir -f --no-backup-if-mismatch -R -p0 < $0
+ ;;
+ *)
+ echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
+ exit 1
+esac
+exit 0
+
+diff -urN gcc.orig/d/lang.opt gcc/d/lang.opt
+--- gcc.orig/d/lang.opt 1970-01-01 01:00:00.000000000 +0100
++++ gcc/d/lang.opt 2007-03-04 16:29:47.000000000 +0100
+@@ -0,0 +1,160 @@
++; GDC -- D front-end for GCC
++; Copyright (C) 2004 David Friedman
++;
++; 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 2 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, write to the Free Software
++; Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
++
++; This is used in GCC 3.4+
++
++Language
++D
++
++I
++D Joined Separate
++-I <dir> Add <dir> to the end of the main include path.
++
++J
++D Joined Separate
++-J <dir> Add <dir> to the end of the string import path.
++
++fdeprecated
++D
++Allow use of deprecated features
++
++fassert
++D
++Generate runtime code for assert()'s
++
++frelease
++D
++Compile release version
++
++funittest
++D
++Compile in unittest code
++
++fversion=
++D Joined RejectNegative
++-fversion=<level|ident> Compile in version code >= <level> or identified by <ident>
++
++fdebug=
++D Joined RejectNegative
++-fdebug,-fdebug=<level>,-fdebug=<ident> Compile in debug code, code <= level, or code identified by ident
++
++fdebug
++D
++Compile in debug code
++
++fdebug-c
++D
++With -g, generate C debug information for debugger compatibility
++
++fd-verbose
++D
++Print information about D language processing to stdout
++
++fd-version=1
++D RejectNegative
++Compile as D language version 1
++
++femit-templates=
++D Joined RejectNegative
++-femit-templates=[normal|private|all|none|auto] Control template emission
++
++femit-templates
++D
++-femit-templates Emit templates code and data even if the linker cannot merge multiple copies
++
++nostdinc
++D
++Do not search standard system include directories
++
++fonly=
++D Joined RejectNegative
++Process all modules specified on the command line, but only generate code for the module specified by the argument.
++
++fod=
++D Joined RejectNegative
++-fod=<directory> Specify the object output directory. Note: this is actually a driver option; the backend ignores it.
++
++fop
++D
++Specify that the source file's parent directories should be appended to the object output directory. Note: this is actually a driver option; the backend ignores it.
++
++fintfc
++Generate D interface files
++
++fintfc-dir=
++D Joined RejectNegative
++-fintfc-dir=<dir> Write D interface files to directory <dir>
++
++fintfc-file=
++D Joined RejectNegative
++-fintfc-file=<filename> Write D interface file to <filename>
++
++fdoc
++D
++Generate documentation
++
++fdoc-dir=
++D Joined RejectNegative
++-fdoc-dir=<docdir> Write documentation file to docdir directory
++
++fdoc-file=
++D Joined RejectNegative
++-fdoc-file=<filename> Write documentation file to filename
++
++fdoc-inc=
++D Joined RejectNegative
++-fdoc-inc=<filename> Include a Ddoc macro file
++
++fmultilib-dir=
++D Joined RejectNegative
++-fmultilib-dir=<dir> Select header multilib subdirectory
++
++Wsign-compare
++D
++Warn about signed-unsigned comparisons
++
++fdump-source
++D RejectNegative
++Dump decoded UTF-8 text and source from HTML
++
++fbuiltin
++D
++Recognize built-in functions
++
++funsigned-char
++D
++Make \"char\" unsigned by default (silently ignored in D)
++
++fsigned-char
++D
++Make \"char\" signed by default (silently ignored in D)
++
++iprefix
++D Joined Separate
++-iprefix <path> Specify <path> as a prefix for next two options
++
++isysroot
++D Joined Separate
++-isysroot <dir> Set <dir> to be the system root directory
++
++isystem
++D Joined Separate
++-isystem <dir> Add <dir> to the start of the system include path
++
++Wall
++D
++Enable most warning messages
+diff -urN gcc.orig/d/lang-specs.h gcc/d/lang-specs.h
+--- gcc.orig/d/lang-specs.h 1970-01-01 01:00:00.000000000 +0100
++++ gcc/d/lang-specs.h 2007-03-04 16:36:44.000000000 +0100
+@@ -0,0 +1,53 @@
++/* GDC -- D front-end for GCC
++ Copyright (C) 2004 David Friedman
++
++ 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 2 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, write to the Free Software
++ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
++*/
++
++#ifndef D_D_SPEC
++#define D_D_SPEC 0
++#endif
++
++/* %{!M} probably doesn't make sense because we would need
++ to do that -- -MD and -MMD doesn't sound like a plan for D.... */
++
++/* %(d_options) ? */
++
++#if GCC_SPEC_FORMAT_4
++#define D_D_SPEC_REST 0, 1, 0
++#else
++#define D_D_SPEC_REST 0
++#endif
++
++#if D_DRIVER_ONLY
++{".html", "@d", D_D_SPEC_REST },
++{".HTML", "@d", D_D_SPEC_REST },
++{".htm", "@d", D_D_SPEC_REST },
++{".HTM", "@d", D_D_SPEC_REST },
++{".xhtml", "@d", D_D_SPEC_REST },
++{".XHTML", "@d", D_D_SPEC_REST },
++{".d", "@d", D_D_SPEC_REST },
++{".D", "@d", D_D_SPEC_REST },
++{"@d",
++ "%{!E:cc1d %i %:d-all-sources() %(cc1_options) %I %N %{nostdinc*} %{+e*} %{I*} %{J*}\
++ %{M} %{MM} %{!fsyntax-only:%(invoke_as)}}", D_D_SPEC_REST },
++#else
++{".d", "@d", D_D_SPEC_REST },
++{".D", "@d", D_D_SPEC_REST },
++{"@d",
++ "%{!E:cc1d %i %(cc1_options) %I %N %{nostdinc*} %{+e*} %{I*} %{J*}\
++ %{M} %{MM} %{!fsyntax-only:%(invoke_as)}}", D_D_SPEC_REST },
++#endif
++
diff --git a/recipes/gcc/gcc-4.4.0/debian/gcc-driver-extra-langs.dpatch b/recipes/gcc/gcc-4.4.0/debian/gcc-driver-extra-langs.dpatch
new file mode 100644
index 0000000000..2a206f7edc
--- /dev/null
+++ b/recipes/gcc/gcc-4.4.0/debian/gcc-driver-extra-langs.dpatch
@@ -0,0 +1,40 @@
+#! /bin/sh -e
+
+# DP: Add options and specs for languages that are not built from a source
+# DP: (but built from separate sources).
+
+dir=
+if [ $# -eq 3 -a "$2" = '-d' ]; then
+ pdir="-d $3"
+ dir="$3/"
+elif [ $# -ne 1 ]; then
+ echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
+ exit 1
+fi
+case "$1" in
+ -patch)
+ patch $pdir -f --no-backup-if-mismatch -p0 < $0
+ ;;
+ -unpatch)
+ patch $pdir -f --no-backup-if-mismatch -R -p0 < $0
+ ;;
+ *)
+ echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
+ exit 1
+esac
+exit 0
+
+
+--- gcc/Makefile.in~ 2006-07-11 14:03:25.865618000 +0200
++++ gcc/Makefile.in 2006-07-11 21:15:30.011548776 +0200
+@@ -424,8 +424,8 @@
+ xm_include_list=@xm_include_list@
+ xm_defines=@xm_defines@
+ lang_checks=check-gcc
+-lang_opt_files=@lang_opt_files@ $(srcdir)/c.opt $(srcdir)/common.opt
+-lang_specs_files=@lang_specs_files@
++lang_opt_files=$(sort @lang_opt_files@ $(foreach lang,$(debian_extra_langs),$(srcdir)/$(lang)/lang.opt)) $(srcdir)/c.opt $(srcdir)/common.opt
++lang_specs_files=$(sort @lang_specs_files@ $(foreach lang,$(debian_extra_langs),$(srcdir)/$(lang)/lang-specs.h))
+ lang_tree_files=@lang_tree_files@
+ target_cpu_default=@target_cpu_default@
+ GCC_THREAD_FILE=@thread_file@
diff --git a/recipes/gcc/gcc-4.4.0/debian/gcc-hash-style-both.dpatch b/recipes/gcc/gcc-4.4.0/debian/gcc-hash-style-both.dpatch
new file mode 100644
index 0000000000..8fea7586d0
--- /dev/null
+++ b/recipes/gcc/gcc-4.4.0/debian/gcc-hash-style-both.dpatch
@@ -0,0 +1,163 @@
+#! /bin/sh -e
+
+# DP: Link using --hash-style=both (alpha, amd64, ia64, i386, powerpc, ppc64, s390, sparc)
+
+dir=
+if [ $# -eq 3 -a "$2" = '-d' ]; then
+ pdir="-d $3"
+ dir="$3/"
+elif [ $# -ne 1 ]; then
+ echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
+ exit 1
+fi
+case "$1" in
+ -patch)
+ patch $pdir -f --no-backup-if-mismatch -p0 < $0
+ #cd ${dir}gcc && autoconf
+ ;;
+ -unpatch)
+ patch $pdir -f --no-backup-if-mismatch -R -p0 < $0
+ #rm ${dir}gcc/configure
+ ;;
+ *)
+ echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
+ exit 1
+esac
+exit 0
+
+2006-07-11 Jakub Jelinek <jakub@redhat.com>
+
+ * config/i386/linux.h (LINK_SPEC): Add --hash-style=both.
+ * config/i386/linux64.h (LINK_SPEC): Likewise.
+ * config/rs6000/sysv4.h (LINK_OS_LINUX_SPEC): Likewise.
+ * config/rs6000/linux64.h (LINK_OS_LINUX_SPEC32,
+ LINK_OS_LINUX_SPEC64): Likewise.
+ * config/s390/linux.h (LINK_SPEC): Likewise.
+ * config/ia64/linux.h (LINK_SPEC): Likewise.
+ * config/sparc/linux.h (LINK_SPEC): Likewise.
+ * config/sparc/linux64.h (LINK_SPEC, LINK_ARCH32_SPEC,
+ LINK_ARCH64_SPEC): Likewise.
+ * config/alpha/linux-elf.h (LINK_SPEC): Likewise.
+
+--- gcc/config/alpha/linux-elf.h.orig 2007-08-04 08:55:58.000000000 +0200
++++ gcc/config/alpha/linux-elf.h 2007-09-01 15:47:26.605865578 +0200
+@@ -39,7 +39,7 @@
+
+ #define ELF_DYNAMIC_LINKER LINUX_DYNAMIC_LINKER
+
+-#define LINK_SPEC "-m elf64alpha %{G*} %{relax:-relax} \
++#define LINK_SPEC "-m elf64alpha --hash-style=both %{G*} %{relax:-relax} \
+ %{O*:-O3} %{!O*:-O1} \
+ %{shared:-shared} \
+ %{!shared: \
+--- gcc/config/s390/linux.h.orig 2007-08-04 08:55:59.000000000 +0200
++++ gcc/config/s390/linux.h 2007-09-01 15:47:26.605865578 +0200
+@@ -77,7 +77,7 @@
+
+ #undef LINK_SPEC
+ #define LINK_SPEC \
+- "%{m31:-m elf_s390}%{m64:-m elf64_s390} \
++ "%{m31:-m elf_s390}%{m64:-m elf64_s390} --hash-style=both \
+ %{shared:-shared} \
+ %{!shared: \
+ %{static:-static} \
+--- gcc/config/sparc/linux.h.orig 2007-08-04 08:56:01.000000000 +0200
++++ gcc/config/sparc/linux.h 2007-09-01 15:47:26.605865578 +0200
+@@ -132,7 +132,7 @@
+
+
+ #undef LINK_SPEC
+-#define LINK_SPEC "-m elf32_sparc -Y P,/usr/lib %{shared:-shared} \
++#define LINK_SPEC "-m elf32_sparc --hash-style=both -Y P,/usr/lib %{shared:-shared} \
+ %{!mno-relax:%{!r:-relax}} \
+ %{!shared: \
+ %{!ibcs: \
+--- gcc/config/sparc/linux64.h.orig 2007-08-04 08:56:01.000000000 +0200
++++ gcc/config/sparc/linux64.h 2007-09-01 15:47:26.605865578 +0200
+@@ -166,7 +166,7 @@
+ { "link_arch_default", LINK_ARCH_DEFAULT_SPEC }, \
+ { "link_arch", LINK_ARCH_SPEC },
+
+-#define LINK_ARCH32_SPEC "-m elf32_sparc -Y P,/usr/lib %{shared:-shared} \
++#define LINK_ARCH32_SPEC "-m elf32_sparc --hash-style=both -Y P,/usr/lib %{shared:-shared} \
+ %{!shared: \
+ %{!ibcs: \
+ %{!static: \
+@@ -175,7 +175,7 @@
+ %{static:-static}}} \
+ "
+
+-#define LINK_ARCH64_SPEC "-m elf64_sparc -Y P,/usr/lib64 %{shared:-shared} \
++#define LINK_ARCH64_SPEC "-m elf64_sparc --hash-style=both -Y P,/usr/lib64 %{shared:-shared} \
+ %{!shared: \
+ %{!ibcs: \
+ %{!static: \
+@@ -256,7 +256,7 @@
+ #else /* !SPARC_BI_ARCH */
+
+ #undef LINK_SPEC
+-#define LINK_SPEC "-m elf64_sparc -Y P,/usr/lib64 %{shared:-shared} \
++#define LINK_SPEC "-m elf64_sparc --hash-style=both -Y P,/usr/lib64 %{shared:-shared} \
+ %{!shared: \
+ %{!ibcs: \
+ %{!static: \
+--- gcc/config/i386/linux.h.orig 2007-08-04 08:56:07.000000000 +0200
++++ gcc/config/i386/linux.h 2007-09-01 15:47:26.605865578 +0200
+@@ -108,7 +108,7 @@
+ { "dynamic_linker", LINUX_DYNAMIC_LINKER }
+
+ #undef LINK_SPEC
+-#define LINK_SPEC "-m %(link_emulation) %{shared:-shared} \
++#define LINK_SPEC "-m %(link_emulation) --hash-style=both %{shared:-shared} \
+ %{!shared: \
+ %{!ibcs: \
+ %{!static: \
+--- gcc/config/i386/linux64.h.orig 2007-08-04 08:56:07.000000000 +0200
++++ gcc/config/i386/linux64.h 2007-09-01 15:48:27.336781690 +0200
+@@ -65,7 +65,7 @@
+ #endif
+
+ #undef LINK_SPEC
+-#define LINK_SPEC "%{" SPEC_64 ":-m elf_x86_64} %{" SPEC_32 ":-m elf_i386} \
++#define LINK_SPEC "%{" SPEC_64 ":-m elf_x86_64} %{" SPEC_32 ":-m elf_i386} --hash-style=both \
+ %{shared:-shared} \
+ %{!shared: \
+ %{!static: \
+--- gcc/config/ia64/linux.h.orig 2006-12-12 18:59:53.000000000 +0100
++++ gcc/config/ia64/linux.h 2007-09-01 15:47:26.605865578 +0200
+@@ -40,7 +40,7 @@
+ #define GLIBC_DYNAMIC_LINKER "/lib/ld-linux-ia64.so.2"
+
+ #undef LINK_SPEC
+-#define LINK_SPEC "\
++#define LINK_SPEC "--hash-style=both \
+ %{shared:-shared} \
+ %{!shared: \
+ %{!static: \
+--- gcc/config/rs6000/sysv4.h.orig 2007-08-08 23:37:49.000000000 +0200
++++ gcc/config/rs6000/sysv4.h 2007-09-01 15:47:26.615865729 +0200
+@@ -901,7 +901,7 @@
+ #define LINUX_DYNAMIC_LINKER \
+ CHOOSE_DYNAMIC_LINKER (GLIBC_DYNAMIC_LINKER, UCLIBC_DYNAMIC_LINKER)
+
+-#define LINK_OS_LINUX_SPEC "-m elf32ppclinux %{!shared: %{!static: \
++#define LINK_OS_LINUX_SPEC "-m elf32ppclinux --hash-style=both %{!shared: %{!static: \
+ %{rdynamic:-export-dynamic} \
+ %{!dynamic-linker:-dynamic-linker " LINUX_DYNAMIC_LINKER "}}}"
+
+--- gcc/config/rs6000/linux64.h.orig 2007-08-04 08:56:12.000000000 +0200
++++ gcc/config/rs6000/linux64.h 2007-09-01 15:47:26.615865729 +0200
+@@ -354,11 +354,11 @@
+ CHOOSE_DYNAMIC_LINKER (GLIBC_DYNAMIC_LINKER64, UCLIBC_DYNAMIC_LINKER64)
+
+
+-#define LINK_OS_LINUX_SPEC32 "-m elf32ppclinux %{!shared: %{!static: \
++#define LINK_OS_LINUX_SPEC32 "-m elf32ppclinux --hash-style=both %{!shared: %{!static: \
+ %{rdynamic:-export-dynamic} \
+ %{!dynamic-linker:-dynamic-linker " LINUX_DYNAMIC_LINKER32 "}}}"
+
+-#define LINK_OS_LINUX_SPEC64 "-m elf64ppc %{!shared: %{!static: \
++#define LINK_OS_LINUX_SPEC64 "-m elf64ppc --hash-style=both %{!shared: %{!static: \
+ %{rdynamic:-export-dynamic} \
+ %{!dynamic-linker:-dynamic-linker " LINUX_DYNAMIC_LINKER64 "}}}"
+
diff --git a/recipes/gcc/gcc-4.4.0/debian/gcc-hash-style-gnu.dpatch b/recipes/gcc/gcc-4.4.0/debian/gcc-hash-style-gnu.dpatch
new file mode 100644
index 0000000000..8c6e2691b1
--- /dev/null
+++ b/recipes/gcc/gcc-4.4.0/debian/gcc-hash-style-gnu.dpatch
@@ -0,0 +1,163 @@
+#! /bin/sh -e
+
+# DP: Link using --hash-style=gnu (alpha, amd64, ia64, i386, powerpc, ppc64, s390, sparc)
+
+dir=
+if [ $# -eq 3 -a "$2" = '-d' ]; then
+ pdir="-d $3"
+ dir="$3/"
+elif [ $# -ne 1 ]; then
+ echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
+ exit 1
+fi
+case "$1" in
+ -patch)
+ patch $pdir -f --no-backup-if-mismatch -p0 < $0
+ #cd ${dir}gcc && autoconf
+ ;;
+ -unpatch)
+ patch $pdir -f --no-backup-if-mismatch -R -p0 < $0
+ #rm ${dir}gcc/configure
+ ;;
+ *)
+ echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
+ exit 1
+esac
+exit 0
+
+2006-07-11 Jakub Jelinek <jakub@redhat.com>
+
+ * config/i386/linux.h (LINK_SPEC): Add --hash-style=gnu.
+ * config/i386/linux64.h (LINK_SPEC): Likewise.
+ * config/rs6000/sysv4.h (LINK_OS_LINUX_SPEC): Likewise.
+ * config/rs6000/linux64.h (LINK_OS_LINUX_SPEC32,
+ LINK_OS_LINUX_SPEC64): Likewise.
+ * config/s390/linux.h (LINK_SPEC): Likewise.
+ * config/ia64/linux.h (LINK_SPEC): Likewise.
+ * config/sparc/linux.h (LINK_SPEC): Likewise.
+ * config/sparc/linux64.h (LINK_SPEC, LINK_ARCH32_SPEC,
+ LINK_ARCH64_SPEC): Likewise.
+ * config/alpha/linux-elf.h (LINK_SPEC): Likewise.
+
+--- gcc/config/alpha/linux-elf.h.orig 2007-09-01 15:49:36.997832511 +0200
++++ gcc/config/alpha/linux-elf.h 2007-09-01 15:49:48.538006592 +0200
+@@ -39,7 +39,7 @@
+
+ #define ELF_DYNAMIC_LINKER LINUX_DYNAMIC_LINKER
+
+-#define LINK_SPEC "-m elf64alpha %{G*} %{relax:-relax} \
++#define LINK_SPEC "-m elf64alpha --hash-style=gnu %{G*} %{relax:-relax} \
+ %{O*:-O3} %{!O*:-O1} \
+ %{shared:-shared} \
+ %{!shared: \
+--- gcc/config/s390/linux.h.orig 2007-09-01 15:49:36.997832511 +0200
++++ gcc/config/s390/linux.h 2007-09-01 15:49:48.548006743 +0200
+@@ -77,7 +77,7 @@
+
+ #undef LINK_SPEC
+ #define LINK_SPEC \
+- "%{m31:-m elf_s390}%{m64:-m elf64_s390} \
++ "%{m31:-m elf_s390}%{m64:-m elf64_s390} --hash-style=gnu \
+ %{shared:-shared} \
+ %{!shared: \
+ %{static:-static} \
+--- gcc/config/sparc/linux.h.orig 2007-09-01 15:49:36.997832511 +0200
++++ gcc/config/sparc/linux.h 2007-09-01 15:49:48.548006743 +0200
+@@ -132,7 +132,7 @@
+
+
+ #undef LINK_SPEC
+-#define LINK_SPEC "-m elf32_sparc -Y P,/usr/lib %{shared:-shared} \
++#define LINK_SPEC "-m elf32_sparc --hash-style=gnu -Y P,/usr/lib %{shared:-shared} \
+ %{!mno-relax:%{!r:-relax}} \
+ %{!shared: \
+ %{!ibcs: \
+--- gcc/config/sparc/linux64.h.orig 2007-09-01 15:49:36.997832511 +0200
++++ gcc/config/sparc/linux64.h 2007-09-01 15:49:48.548006743 +0200
+@@ -166,7 +166,7 @@
+ { "link_arch_default", LINK_ARCH_DEFAULT_SPEC }, \
+ { "link_arch", LINK_ARCH_SPEC },
+
+-#define LINK_ARCH32_SPEC "-m elf32_sparc -Y P,/usr/lib %{shared:-shared} \
++#define LINK_ARCH32_SPEC "-m elf32_sparc --hash-style=gnu -Y P,/usr/lib %{shared:-shared} \
+ %{!shared: \
+ %{!ibcs: \
+ %{!static: \
+@@ -175,7 +175,7 @@
+ %{static:-static}}} \
+ "
+
+-#define LINK_ARCH64_SPEC "-m elf64_sparc -Y P,/usr/lib64 %{shared:-shared} \
++#define LINK_ARCH64_SPEC "-m elf64_sparc --hash-style=gnu -Y P,/usr/lib64 %{shared:-shared} \
+ %{!shared: \
+ %{!ibcs: \
+ %{!static: \
+@@ -256,7 +256,7 @@
+ #else /* !SPARC_BI_ARCH */
+
+ #undef LINK_SPEC
+-#define LINK_SPEC "-m elf64_sparc -Y P,/usr/lib64 %{shared:-shared} \
++#define LINK_SPEC "-m elf64_sparc --hash-style=gnu -Y P,/usr/lib64 %{shared:-shared} \
+ %{!shared: \
+ %{!ibcs: \
+ %{!static: \
+--- gcc/config/i386/linux.h.orig 2007-09-01 15:49:37.007832662 +0200
++++ gcc/config/i386/linux.h 2007-09-01 15:49:48.548006743 +0200
+@@ -108,7 +108,7 @@
+ { "dynamic_linker", LINUX_DYNAMIC_LINKER }
+
+ #undef LINK_SPEC
+-#define LINK_SPEC "-m %(link_emulation) %{shared:-shared} \
++#define LINK_SPEC "-m %(link_emulation) --hash-style=gnu %{shared:-shared} \
+ %{!shared: \
+ %{!ibcs: \
+ %{!static: \
+--- gcc/config/i386/linux64.h.orig 2007-09-01 15:49:37.007832662 +0200
++++ gcc/config/i386/linux64.h 2007-09-01 15:50:49.068919687 +0200
+@@ -65,7 +65,7 @@
+ #endif
+
+ #undef LINK_SPEC
+-#define LINK_SPEC "%{" SPEC_64 ":-m elf_x86_64} %{" SPEC_32 ":-m elf_i386} \
++#define LINK_SPEC "%{" SPEC_64 ":-m elf_x86_64} %{" SPEC_32 ":-m elf_i386} --hash-style=gnu \
+ %{shared:-shared} \
+ %{!shared: \
+ %{!static: \
+--- gcc/config/ia64/linux.h.orig 2007-09-01 15:49:37.007832662 +0200
++++ gcc/config/ia64/linux.h 2007-09-01 15:49:48.548006743 +0200
+@@ -40,7 +40,7 @@
+ #define GLIBC_DYNAMIC_LINKER "/lib/ld-linux-ia64.so.2"
+
+ #undef LINK_SPEC
+-#define LINK_SPEC "\
++#define LINK_SPEC "--hash-style=gnu \
+ %{shared:-shared} \
+ %{!shared: \
+ %{!static: \
+--- gcc/config/rs6000/sysv4.h.orig 2007-09-01 15:49:37.007832662 +0200
++++ gcc/config/rs6000/sysv4.h 2007-09-01 15:49:48.548006743 +0200
+@@ -901,7 +901,7 @@
+ #define LINUX_DYNAMIC_LINKER \
+ CHOOSE_DYNAMIC_LINKER (GLIBC_DYNAMIC_LINKER, UCLIBC_DYNAMIC_LINKER)
+
+-#define LINK_OS_LINUX_SPEC "-m elf32ppclinux %{!shared: %{!static: \
++#define LINK_OS_LINUX_SPEC "-m elf32ppclinux --hash-style=gnu %{!shared: %{!static: \
+ %{rdynamic:-export-dynamic} \
+ %{!dynamic-linker:-dynamic-linker " LINUX_DYNAMIC_LINKER "}}}"
+
+--- gcc/config/rs6000/linux64.h.orig 2007-09-01 15:49:37.007832662 +0200
++++ gcc/config/rs6000/linux64.h 2007-09-01 15:49:48.548006743 +0200
+@@ -354,11 +354,11 @@
+ CHOOSE_DYNAMIC_LINKER (GLIBC_DYNAMIC_LINKER64, UCLIBC_DYNAMIC_LINKER64)
+
+
+-#define LINK_OS_LINUX_SPEC32 "-m elf32ppclinux %{!shared: %{!static: \
++#define LINK_OS_LINUX_SPEC32 "-m elf32ppclinux --hash-style=gnu %{!shared: %{!static: \
+ %{rdynamic:-export-dynamic} \
+ %{!dynamic-linker:-dynamic-linker " LINUX_DYNAMIC_LINKER32 "}}}"
+
+-#define LINK_OS_LINUX_SPEC64 "-m elf64ppc %{!shared: %{!static: \
++#define LINK_OS_LINUX_SPEC64 "-m elf64ppc --hash-style=gnu %{!shared: %{!static: \
+ %{rdynamic:-export-dynamic} \
+ %{!dynamic-linker:-dynamic-linker " LINUX_DYNAMIC_LINKER64 "}}}"
+
diff --git a/recipes/gcc/gcc-4.4.0/debian/gcc-i386-emit-cld.dpatch b/recipes/gcc/gcc-4.4.0/debian/gcc-i386-emit-cld.dpatch
new file mode 100644
index 0000000000..1267b00e18
--- /dev/null
+++ b/recipes/gcc/gcc-4.4.0/debian/gcc-i386-emit-cld.dpatch
@@ -0,0 +1,179 @@
+#! /bin/sh -e
+
+# DP: Emit cld instruction when stringops are used (i386).
+
+dir=
+if [ $# -eq 3 -a "$2" = '-d' ]; then
+ pdir="-d $3"
+ dir="$3/"
+elif [ $# -ne 1 ]; then
+ echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
+ exit 1
+fi
+case "$1" in
+ -patch)
+ patch $pdir -f --no-backup-if-mismatch -p0 < $0
+ ;;
+ -unpatch)
+ patch $pdir -f --no-backup-if-mismatch -R -p0 < $0
+ ;;
+ *)
+ echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
+ exit 1
+esac
+exit 0
+
+2008-03-06 Uros Bizjak <ubizjak@gmail.com>
+
+ * config/i386/i386.h (TARGET_CLD): New define.
+ (struct machine_function): Add needs_cld field.
+ (ix86_current_function_needs_cld): New define.
+ * config/i386/i386.md (UNSPEC_CLD): New unspec volatile constant.
+ ("cld"): New isns pattern.
+ ("strmov_singleop"): Set ix86_current_function_needs_cld flag.
+ ("rep_mov"): Ditto.
+ ("strset_singleop"): Ditto.
+ ("rep_stos"): Ditto.
+ ("cmpstrnqi_nz_1"): Ditto.
+ ("cmpstrnqi_1"): Ditto.
+ ("strlenqi_1"): Ditto.
+ * config/i386/i386.c (ix86_expand_prologue): Emit cld insn for
+ TARGET_CLD when ix86_current_function_needs_cld is set.
+
+Index: gcc/config/i386/i386.h
+===================================================================
+--- gcc/config/i386/i386.h (revision 132966)
++++ gcc/config/i386/i386.h (working copy)
+@@ -388,6 +388,7 @@ extern unsigned int ix86_arch_features[X
+
+ extern int x86_prefetch_sse;
+
++#define TARGET_CLD 1
+ #define TARGET_ABM x86_abm
+ #define TARGET_CMPXCHG16B x86_cmpxchg16b
+ #define TARGET_POPCNT x86_popcnt
+@@ -2446,8 +2447,9 @@ struct machine_function GTY(())
+ int save_varrargs_registers;
+ int accesses_prev_frame;
+ int optimize_mode_switching[MAX_386_ENTITIES];
+- /* Set by ix86_compute_frame_layout and used by prologue/epilogue expander to
+- determine the style used. */
++ int needs_cld;
++ /* Set by ix86_compute_frame_layout and used by prologue/epilogue
++ expander to determine the style used. */
+ int use_fast_prologue_epilogue;
+ /* Number of saved registers USE_FAST_PROLOGUE_EPILOGUE has been computed
+ for. */
+@@ -2467,6 +2469,7 @@ struct machine_function GTY(())
+ #define ix86_stack_locals (cfun->machine->stack_locals)
+ #define ix86_save_varrargs_registers (cfun->machine->save_varrargs_registers)
+ #define ix86_optimize_mode_switching (cfun->machine->optimize_mode_switching)
++#define ix86_current_function_needs_cld (cfun->machine->needs_cld)
+ #define ix86_tls_descriptor_calls_expanded_in_cfun \
+ (cfun->machine->tls_descriptor_call_expanded_p)
+ /* Since tls_descriptor_call_expanded is not cleared, even if all TLS
+Index: gcc/config/i386/i386.md
+===================================================================
+--- gcc/config/i386/i386.md (revision 132966)
++++ gcc/config/i386/i386.md (working copy)
+@@ -205,6 +205,7 @@
+ (UNSPECV_XCHG 12)
+ (UNSPECV_LOCK 13)
+ (UNSPECV_PROLOGUE_USE 14)
++ (UNSPECV_CLD 15)
+ ])
+
+ ;; Constants to represent pcomtrue/pcomfalse variants
+@@ -18519,6 +18520,14 @@
+
+ ;; Block operation instructions
+
++(define_insn "cld"
++ [(unspec_volatile [(const_int 0)] UNSPECV_CLD)]
++ ""
++ "cld"
++ [(set_attr "length" "1")
++ (set_attr "length_immediate" "0")
++ (set_attr "modrm" "0")])
++
+ (define_expand "movmemsi"
+ [(use (match_operand:BLK 0 "memory_operand" ""))
+ (use (match_operand:BLK 1 "memory_operand" ""))
+@@ -18591,7 +18600,7 @@
+ (set (match_operand 2 "register_operand" "")
+ (match_operand 5 "" ""))])]
+ "TARGET_SINGLE_STRINGOP || optimize_size"
+- "")
++ "ix86_current_function_needs_cld = 1;")
+
+ (define_insn "*strmovdi_rex_1"
+ [(set (mem:DI (match_operand:DI 2 "register_operand" "0"))
+@@ -18708,7 +18717,7 @@
+ (match_operand 3 "memory_operand" ""))
+ (use (match_dup 4))])]
+ ""
+- "")
++ "ix86_current_function_needs_cld = 1;")
+
+ (define_insn "*rep_movdi_rex64"
+ [(set (match_operand:DI 2 "register_operand" "=c") (const_int 0))
+@@ -18868,7 +18877,7 @@
+ (set (match_operand 0 "register_operand" "")
+ (match_operand 3 "" ""))])]
+ "TARGET_SINGLE_STRINGOP || optimize_size"
+- "")
++ "ix86_current_function_needs_cld = 1;")
+
+ (define_insn "*strsetdi_rex_1"
+ [(set (mem:DI (match_operand:DI 1 "register_operand" "0"))
+@@ -18962,7 +18971,7 @@
+ (use (match_operand 3 "register_operand" ""))
+ (use (match_dup 1))])]
+ ""
+- "")
++ "ix86_current_function_needs_cld = 1;")
+
+ (define_insn "*rep_stosdi_rex64"
+ [(set (match_operand:DI 1 "register_operand" "=c") (const_int 0))
+@@ -19138,7 +19147,7 @@
+ (clobber (match_operand 1 "register_operand" ""))
+ (clobber (match_dup 2))])]
+ ""
+- "")
++ "ix86_current_function_needs_cld = 1;")
+
+ (define_insn "*cmpstrnqi_nz_1"
+ [(set (reg:CC FLAGS_REG)
+@@ -19185,7 +19194,7 @@
+ (clobber (match_operand 1 "register_operand" ""))
+ (clobber (match_dup 2))])]
+ ""
+- "")
++ "ix86_current_function_needs_cld = 1;")
+
+ (define_insn "*cmpstrnqi_1"
+ [(set (reg:CC FLAGS_REG)
+@@ -19254,7 +19263,7 @@
+ (clobber (match_operand 1 "register_operand" ""))
+ (clobber (reg:CC FLAGS_REG))])]
+ ""
+- "")
++ "ix86_current_function_needs_cld = 1;")
+
+ (define_insn "*strlenqi_1"
+ [(set (match_operand:SI 0 "register_operand" "=&c")
+Index: gcc/config/i386/i386.c
+===================================================================
+--- gcc/config/i386/i386.c (revision 132966)
++++ gcc/config/i386/i386.c (working copy)
+@@ -6498,6 +6498,10 @@ ix86_expand_prologue (void)
+ emit_insn (gen_prologue_use (pic_offset_table_rtx));
+ emit_insn (gen_blockage ());
+ }
++
++ /* Emit cld instruction if stringops are used in the function. */
++ if (TARGET_CLD && ix86_current_function_needs_cld)
++ emit_insn (gen_cld ());
+ }
+
+ /* Emit code to restore saved registers using MOV insns. First register
diff --git a/recipes/gcc/gcc-4.4.0/debian/gcc-ice-apport.dpatch b/recipes/gcc/gcc-4.4.0/debian/gcc-ice-apport.dpatch
new file mode 100644
index 0000000000..87b8f06ea8
--- /dev/null
+++ b/recipes/gcc/gcc-4.4.0/debian/gcc-ice-apport.dpatch
@@ -0,0 +1,44 @@
+#! /bin/sh -e
+
+# DP: Report an ICE to apport (if apport is available
+# DP: and the environment variable GCC_NOAPPORT is not set)
+
+dir=
+if [ $# -eq 3 -a "$2" = '-d' ]; then
+ pdir="-d $3"
+ dir="$3/"
+elif [ $# -ne 1 ]; then
+ echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
+ exit 1
+fi
+case "$1" in
+ -patch)
+ patch $pdir -f --no-backup-if-mismatch -p0 < $0
+ ;;
+ -unpatch)
+ patch $pdir -f --no-backup-if-mismatch -R -p0 < $0
+ ;;
+ *)
+ echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
+ exit 1
+esac
+exit 0
+
+--- gcc/gcc.c~ 2007-08-05 22:17:07.000000000 +0200
++++ gcc/gcc.c 2007-08-12 15:03:16.000000000 +0200
+@@ -6119,6 +6119,15 @@
+ {
+ notice ("Preprocessed source stored into %s file, please attach this to your bugreport.\n",
+ temp_filenames[attempt * 2]);
++ if (!getenv ("GCC_NOAPPORT")
++ && !access ("/usr/share/apport/gcc_ice_hook", R_OK | X_OK))
++ {
++ char *cmd = xmalloc (50 + strlen (temp_filenames[attempt * 2]) + strlen (new_argv[0]));
++ sprintf (cmd, "/usr/share/apport/gcc_ice_hook %s %s",
++ new_argv[0], temp_filenames[attempt * 2]);
++ system (cmd);
++ free (cmd);
++ }
+ /* Make sure it is not deleted. */
+ free (temp_filenames[attempt * 2]);
+ temp_filenames[attempt * 2] = NULL;
diff --git a/recipes/gcc/gcc-4.4.0/debian/gcc-ice-hack.dpatch b/recipes/gcc/gcc-4.4.0/debian/gcc-ice-hack.dpatch
new file mode 100644
index 0000000000..84c5ef2ebd
--- /dev/null
+++ b/recipes/gcc/gcc-4.4.0/debian/gcc-ice-hack.dpatch
@@ -0,0 +1,331 @@
+#! /bin/sh -e
+
+# DP: Retry the build on an ice, save the calling options and preprocessed
+# DP: source when the ice is reproducible.
+
+dir=
+if [ $# -eq 3 -a "$2" = '-d' ]; then
+ pdir="-d $3"
+ dir="$3/"
+elif [ $# -ne 1 ]; then
+ echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
+ exit 1
+fi
+case "$1" in
+ -patch)
+ patch $pdir -f --no-backup-if-mismatch -p0 < $0
+ ;;
+ -unpatch)
+ patch $pdir -f --no-backup-if-mismatch -R -p0 < $0
+ ;;
+ *)
+ echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
+ exit 1
+esac
+exit 0
+
+2004-01-23 Jakub Jelinek <jakub@redhat.com>
+
+ * system.h (ICE_EXIT_CODE): Define.
+ * gcc.c (execute): Don't free first string early, but at the end
+ of the function. Call retry_ice if compiler exited with
+ ICE_EXIT_CODE.
+ (retry_ice): New function.
+ * diagnostic.c (diagnostic_count_diagnostic,
+ diagnostic_action_after_output, error_recursion): Exit with
+ ICE_EXIT_CODE instead of FATAL_EXIT_CODE.
+
+--- gcc/diagnostic.c.orig 2007-09-30 10:48:13.000000000 +0000
++++ gcc/diagnostic.c 2007-09-30 10:49:57.000000000 +0000
+@@ -244,7 +244,7 @@
+ fnotice (stderr, "Please submit a full bug report,\n"
+ "with preprocessed source if appropriate.\n"
+ "See %s for instructions.\n", bug_report_url);
+- exit (ICE_EXIT_CODE);
++ exit (FATAL_EXIT_CODE);
+
+ case DK_FATAL:
+ if (context->abort_on_error)
+--- gcc/gcc.c.orig 2007-09-30 10:48:13.000000000 +0000
++++ gcc/gcc.c 2007-09-30 10:48:39.000000000 +0000
+@@ -357,6 +357,9 @@
+ #if defined(HAVE_TARGET_OBJECT_SUFFIX) || defined(HAVE_TARGET_EXECUTABLE_SUFFIX)
+ static const char *convert_filename (const char *, int, int);
+ #endif
++#if !(defined (__MSDOS__) || defined (OS2) || defined (VMS))
++static void retry_ice (const char *prog, const char **argv);
++#endif
+
+ static const char *getenv_spec_function (int, const char **);
+ static const char *if_exists_spec_function (int, const char **);
+@@ -2999,7 +3002,7 @@
+ }
+ }
+
+- if (string != commands[i].prog)
++ if (i && string != commands[i].prog)
+ free (CONST_CAST (char *, string));
+ }
+
+@@ -3056,6 +3059,16 @@
+ else if (WIFEXITED (status)
+ && WEXITSTATUS (status) >= MIN_FATAL_STATUS)
+ {
++#if !(defined (__MSDOS__) || defined (OS2) || defined (VMS))
++ /* For ICEs in cc1, cc1obj, cc1plus see if it is
++ reproducible or not. */
++ char *p;
++ if (WEXITSTATUS (status) == ICE_EXIT_CODE
++ && i == 0
++ && (p = strrchr (commands[0].argv[0], DIR_SEPARATOR))
++ && ! strncmp (p + 1, "cc1", 3))
++ retry_ice (commands[0].prog, commands[0].argv);
++#endif
+ if (WEXITSTATUS (status) > greatest_status)
+ greatest_status = WEXITSTATUS (status);
+ ret_code = -1;
+@@ -3076,6 +3089,9 @@
+ }
+ }
+
++ if (commands[0].argv[0] != commands[0].prog)
++ free ((PTR) commands[0].argv[0]);
++
+ return ret_code;
+ }
+ }
+@@ -6016,6 +6032,224 @@
+ switches[switchnum].validated = 1;
+ }
+
++#if !(defined (__MSDOS__) || defined (OS2) || defined (VMS))
++#define RETRY_ICE_ATTEMPTS 2
++
++static void
++retry_ice (const char *prog, const char **argv)
++{
++ int nargs, out_arg = -1, quiet = 0, attempt;
++ int pid, retries, sleep_interval;
++ const char **new_argv;
++ char *temp_filenames[RETRY_ICE_ATTEMPTS * 2 + 2];
++
++ if (input_filename == NULL || ! strcmp (input_filename, "-"))
++ return;
++
++ for (nargs = 0; argv[nargs] != NULL; ++nargs)
++ /* Only retry compiler ICEs, not preprocessor ones. */
++ if (! strcmp (argv[nargs], "-E"))
++ return;
++ else if (argv[nargs][0] == '-' && argv[nargs][1] == 'o')
++ {
++ if (out_arg == -1)
++ out_arg = nargs;
++ else
++ return;
++ }
++ /* If the compiler is going to output any time information,
++ it might vary between invocations. */
++ else if (! strcmp (argv[nargs], "-quiet"))
++ quiet = 1;
++ else if (! strcmp (argv[nargs], "-ftime-report"))
++ return;
++
++ if (out_arg == -1 || !quiet)
++ return;
++
++ memset (temp_filenames, '\0', sizeof (temp_filenames));
++ new_argv = alloca ((nargs + 3) * sizeof (const char *));
++ memcpy (new_argv, argv, (nargs + 1) * sizeof (const char *));
++ new_argv[nargs++] = "-frandom-seed=0";
++ new_argv[nargs] = NULL;
++ if (new_argv[out_arg][2] == '\0')
++ new_argv[out_arg + 1] = "-";
++ else
++ new_argv[out_arg] = "-o-";
++
++ for (attempt = 0; attempt < RETRY_ICE_ATTEMPTS + 1; ++attempt)
++ {
++ int fd = -1;
++ int status;
++
++ temp_filenames[attempt * 2] = make_temp_file (".out");
++ temp_filenames[attempt * 2 + 1] = make_temp_file (".err");
++
++ if (attempt == RETRY_ICE_ATTEMPTS)
++ {
++ int i;
++ int fd1, fd2;
++ struct stat st1, st2;
++ size_t n, len;
++ char *buf;
++
++ buf = xmalloc (8192);
++
++ for (i = 0; i < 2; ++i)
++ {
++ fd1 = open (temp_filenames[i], O_RDONLY);
++ fd2 = open (temp_filenames[2 + i], O_RDONLY);
++
++ if (fd1 < 0 || fd2 < 0)
++ {
++ i = -1;
++ close (fd1);
++ close (fd2);
++ break;
++ }
++
++ if (fstat (fd1, &st1) < 0 || fstat (fd2, &st2) < 0)
++ {
++ i = -1;
++ close (fd1);
++ close (fd2);
++ break;
++ }
++
++ if (st1.st_size != st2.st_size)
++ {
++ close (fd1);
++ close (fd2);
++ break;
++ }
++
++ len = 0;
++ for (n = st1.st_size; n; n -= len)
++ {
++ len = n;
++ if (len > 4096)
++ len = 4096;
++
++ if (read (fd1, buf, len) != (int) len
++ || read (fd2, buf + 4096, len) != (int) len)
++ {
++ i = -1;
++ break;
++ }
++
++ if (memcmp (buf, buf + 4096, len) != 0)
++ break;
++ }
++
++ close (fd1);
++ close (fd2);
++
++ if (n)
++ break;
++ }
++
++ free (buf);
++ if (i == -1)
++ break;
++
++ if (i != 2)
++ {
++ notice ("The bug is not reproducible, so it is likely a hardware or OS problem.\n");
++ break;
++ }
++
++ fd = open (temp_filenames[attempt * 2], O_RDWR);
++ if (fd < 0)
++ break;
++ write (fd, "//", 2);
++ for (i = 0; i < nargs; i++)
++ {
++ write (fd, " ", 1);
++ write (fd, new_argv[i], strlen (new_argv[i]));
++ }
++ write (fd, "\n", 1);
++ new_argv[nargs] = "-E";
++ new_argv[nargs + 1] = NULL;
++ }
++
++ /* Fork a subprocess; wait and retry if it fails. */
++ sleep_interval = 1;
++ pid = -1;
++ for (retries = 0; retries < 4; retries++)
++ {
++ pid = fork ();
++ if (pid >= 0)
++ break;
++ sleep (sleep_interval);
++ sleep_interval *= 2;
++ }
++
++ if (pid < 0)
++ break;
++ else if (pid == 0)
++ {
++ if (attempt != RETRY_ICE_ATTEMPTS)
++ fd = open (temp_filenames[attempt * 2], O_RDWR);
++ if (fd < 0)
++ exit (-1);
++ if (fd != 1)
++ {
++ close (1);
++ dup (fd);
++ close (fd);
++ }
++
++ fd = open (temp_filenames[attempt * 2 + 1], O_RDWR);
++ if (fd < 0)
++ exit (-1);
++ if (fd != 2)
++ {
++ close (2);
++ dup (fd);
++ close (fd);
++ }
++
++ if (prog == new_argv[0])
++ execvp (prog, (char *const *) new_argv);
++ else
++ execv (new_argv[0], (char *const *) new_argv);
++ exit (-1);
++ }
++
++ if (waitpid (pid, &status, 0) < 0)
++ break;
++
++ if (attempt < RETRY_ICE_ATTEMPTS
++ && (! WIFEXITED (status) || WEXITSTATUS (status) != ICE_EXIT_CODE))
++ {
++ notice ("The bug is not reproducible, so it is likely a hardware or OS problem.\n");
++ break;
++ }
++ else if (attempt == RETRY_ICE_ATTEMPTS)
++ {
++ close (fd);
++ if (WIFEXITED (status)
++ && WEXITSTATUS (status) == SUCCESS_EXIT_CODE)
++ {
++ notice ("Preprocessed source stored into %s file, please attach this to your bugreport.\n",
++ temp_filenames[attempt * 2]);
++ /* Make sure it is not deleted. */
++ free (temp_filenames[attempt * 2]);
++ temp_filenames[attempt * 2] = NULL;
++ break;
++ }
++ }
++ }
++
++ for (attempt = 0; attempt < RETRY_ICE_ATTEMPTS * 2 + 2; attempt++)
++ if (temp_filenames[attempt])
++ {
++ unlink (temp_filenames[attempt]);
++ free (temp_filenames[attempt]);
++ }
++}
++#endif
++
+ /* Search for a file named NAME trying various prefixes including the
+ user's -B prefix and some standard ones.
+ Return the absolute file name found. If nothing is found, return NAME. */
+--- gcc/Makefile.in.orig 2007-09-30 10:48:13.000000000 +0000
++++ gcc/Makefile.in 2007-09-30 10:48:39.000000000 +0000
+@@ -192,6 +192,7 @@
+ build/gengtype-lex.o-warn = -Wno-error
+ # SYSCALLS.c misses prototypes
+ SYSCALLS.c.X-warn = -Wno-strict-prototypes -Wno-error
++build/gcc.o-warn = -Wno-error
+
+ # All warnings have to be shut off in stage1 if the compiler used then
+ # isn't gcc; configure determines that. WARN_CFLAGS will be either
diff --git a/recipes/gcc/gcc-4.4.0/debian/gcc-multilib64dir.dpatch b/recipes/gcc/gcc-4.4.0/debian/gcc-multilib64dir.dpatch
new file mode 100644
index 0000000000..fe8f5a1a41
--- /dev/null
+++ b/recipes/gcc/gcc-4.4.0/debian/gcc-multilib64dir.dpatch
@@ -0,0 +1,62 @@
+#! /bin/sh -e
+
+# DP: Use lib instead of lib64 as multilibdir on amd64 and ppc64.
+
+dir=
+if [ $# -eq 3 -a "$2" = '-d' ]; then
+ pdir="-d $3"
+ dir="$3/"
+elif [ $# -ne 1 ]; then
+ echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
+ exit 1
+fi
+case "$1" in
+ -patch)
+ patch $pdir -f --no-backup-if-mismatch -p0 < $0
+ ;;
+ -unpatch)
+ patch $pdir -f --no-backup-if-mismatch -R -p0 < $0
+ ;;
+ *)
+ echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
+ exit 1
+esac
+exit 0
+
+Index: gcc/config/i386/t-linux64
+===================================================================
+--- gcc/config/i386/t-linux64 (revision 130706)
++++ gcc/config/i386/t-linux64 (working copy)
+@@ -13,7 +13,7 @@
+
+ MULTILIB_OPTIONS = m64/m32
+ MULTILIB_DIRNAMES = 64 32
+-MULTILIB_OSDIRNAMES = ../lib64 $(if $(wildcard $(shell echo $(SYSTEM_HEADER_DIR))/../../usr/lib32),../lib32,../lib)
++MULTILIB_OSDIRNAMES = ../lib $(if $(wildcard $(shell echo $(SYSTEM_HEADER_DIR))/../../usr/lib32),../lib32,../lib)
+
+ LIBGCC = stmp-multilib
+ INSTALL_LIBGCC = install-multilib
+Index: gcc/config/rs6000/t-linux64
+===================================================================
+--- gcc/config/rs6000/t-linux64 (revision 130706)
++++ gcc/config/rs6000/t-linux64 (working copy)
+@@ -14,13 +14,13 @@
+ # it doesn't tell anything about the 32bit libraries on those systems. Set
+ # MULTILIB_OSDIRNAMES according to what is found on the target.
+
+-MULTILIB_OPTIONS = m64/m32 msoft-float
+-MULTILIB_DIRNAMES = 64 32 nof
++MULTILIB_OPTIONS = m64/m32
++MULTILIB_DIRNAMES = 64 32
+ MULTILIB_EXTRA_OPTS = fPIC mstrict-align
+-MULTILIB_EXCEPTIONS = m64/msoft-float
+-MULTILIB_EXCLUSIONS = m64/!m32/msoft-float
+-MULTILIB_OSDIRNAMES = ../lib64 $(if $(wildcard $(shell echo $(SYSTEM_HEADER_DIR))/../../usr/lib32),../lib32,../lib) nof
+-MULTILIB_MATCHES = $(MULTILIB_MATCHES_FLOAT)
++MULTILIB_EXCEPTIONS =
++MULTILIB_EXCLUSIONS =
++MULTILIB_OSDIRNAMES = ../lib $(if $(wildcard $(shell echo $(SYSTEM_HEADER_DIR))/../../usr/lib32),../lib32,../lib)
++MULTILIB_MATCHES =
+
+ softfp_wrap_start := '\#ifndef __powerpc64__'
+ softfp_wrap_end := '\#endif'
diff --git a/recipes/gcc/gcc-4.4.0/debian/gcc-pascal-lang.dpatch b/recipes/gcc/gcc-4.4.0/debian/gcc-pascal-lang.dpatch
new file mode 100644
index 0000000000..eab416ad63
--- /dev/null
+++ b/recipes/gcc/gcc-4.4.0/debian/gcc-pascal-lang.dpatch
@@ -0,0 +1,726 @@
+#! /bin/sh -e
+
+# DP: Add pascal options and specs for the gcc driver.
+
+dir=
+if [ $# -eq 3 -a "$2" = '-d' ]; then
+ pdir="-d $3"
+ dir="$3/"
+elif [ $# -ne 1 ]; then
+ echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
+ exit 1
+fi
+case "$1" in
+ -patch)
+ patch $pdir -f --no-backup-if-mismatch -p0 < $0
+ ln -sf p ${dir}/gcc/pascal
+ ;;
+ -unpatch)
+ patch $pdir -f --no-backup-if-mismatch -R -p0 < $0
+ ;;
+ *)
+ echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
+ exit 1
+esac
+exit 0
+
+diff -urN gcc.orig/p/lang.opt gcc/p/lang.opt
+--- gcc.orig/p/lang.opt 1970-01-01 01:00:00.000000000 +0100
++++ gcc/p/lang.opt 2006-03-03 20:17:49.000000000 +0100
+@@ -0,0 +1,635 @@
++; This file was generated automatically by mk-lang_opt.
++; DO NOT CHANGE THIS FILE MANUALLY!
++;
++; Options for the Pascal front end.
++; Copyright (C) 2004-2006 Free Software Foundation, Inc.
++;
++; This file is part of GNU Pascal.
++;
++; GNU Pascal 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 2, or (at your option)
++; any later version.
++;
++; GNU Pascal 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 GNU Pascal; see the file COPYING. If not, write to the
++; Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA
++; 02111-1307, USA.
++
++; See c.opt for a description of this file's format.
++
++; Please try to keep this file in ASCII collating order.
++
++Language
++Pascal
++
++A
++Pascal
++Ignored
++
++D
++Pascal Joined Separate
++-D<macro>[=<val>] Define a <macro> with <val> as its value. If just <macro> is given, <val> is taken to be 1
++
++E
++Pascal
++Preprocess only
++
++H
++Pascal
++Print the name of include files as they are used
++
++I
++Pascal Joined Separate
++-I <dir> Add <dir> to the end of the main include path.
++
++M
++Pascal
++Generate make dependencies
++
++MM
++Pascal
++Like -M but ignore system header files
++
++P
++Pascal
++Do not generate #line directives
++
++U
++Pascal Joined Separate
++-U<macro> Undefine <macro>
++
++Wabsolute
++Pascal
++Warn about variables at absolute adresses and `absolute' variable with non-constant addresses (default)
++
++Wall
++Pascal
++
++
++Wcomment
++Pascal
++
++
++Wdynamic-arrays
++Pascal
++Warn about arrays whose size is determined at run time (including array slices)
++
++Werror
++Pascal
++
++
++Wfloat-equal
++Pascal
++Warn about `=' and `<>' comparisons of real numbers
++
++Widentifier-case
++Pascal
++Warn about an identifier written with varying case
++
++Widentifier-case-local
++Pascal
++Warn about an identifier written with varying case within one program/module/unit
++
++Wimplicit-abstract
++Pascal
++Warn when an object type not declared `abstract' contains an abstract method (default)
++
++Wimplicit-io
++Pascal
++Warn when `Input' or `Output' are used implicitly
++
++Winherited-abstract
++Pascal
++Warn when an abstract object type inherits from a non-abstract one (default)
++
++Winterface-file-name
++Pascal
++Warn when a unit/module interface differs from the file name
++
++Wlocal-external
++Pascal
++Warn about local `external' declarations
++
++Wmissing-declarations
++Pascal
++
++
++Wmissing-prototypes
++Pascal
++
++
++Wmixed-comments
++Pascal
++Warn about mixed comments like `{ ... *)'
++
++Wnear-far
++Pascal
++Warn about use of useless `near' or `far' directives (default)
++
++Wnested-comments
++Pascal
++Warn about nested comments like `{ { } }'
++
++Wobject-assignment
++Pascal
++Warn when when assigning objects or declaring them as value parameters or function results (default)
++
++Wpointer-arith
++Pascal
++
++
++Wsemicolon
++Pascal
++Warn about a semicolon after `then', `else' or `do' (default)
++
++Wtyped-const
++Pascal
++Warn about misuse of typed constants as initialized variables (default)
++
++Wundef
++Pascal
++
++
++Wunderscore
++Pascal
++Warn about double/leading/trailing underscores in identifiers
++
++Wwarnings
++Pascal
++Enable warnings (same as `{$W+}')
++
++Wwrite-strings
++Pascal
++
++
++famtmpfile=
++Pascal Joined RejectNegative
++(Internal switch used for automake)
++
++fassertions
++Pascal
++Enable assertion checking (default)
++
++fautobuild
++Pascal
++Automatically compile all units/modules/`{$L ...}' files and link the object files provided
++
++fautolink
++Pascal
++Automatically link object files provided by units/modules or `{$L ...}' (default)
++
++fautomake
++Pascal
++Automatically compile changed units/modules/`{$L ...}' files and link the object files provided
++
++fautomake-g++=
++Pascal Joined RejectNegative
++Set the C++ compiler invoked by automake
++
++fautomake-gcc=
++Pascal Joined RejectNegative
++Set the C compiler invoked by automake
++
++fautomake-gpc=
++Pascal Joined RejectNegative
++Set the Pascal compiler invoked by automake
++
++fbig-endian
++Pascal RejectNegative
++Tell GPC that the system is big-endian (for those targets where it can vary)
++
++fborland-objects
++Pascal RejectNegative
++Choose Borland object model
++
++fborland-pascal
++Pascal RejectNegative
++Try to emulate Borland Pascal, version 7.0
++
++fcase-value-checking
++Pascal
++Cause a runtime error if a `case' matches no branch (default in ISO Pascal modes)
++
++fcidefine=
++Pascal Joined RejectNegative
++Define a case-insensitive macro
++
++fclassic-pascal
++Pascal RejectNegative
++Reject anything besides ISO 7185 Pascal
++
++fclassic-pascal-level-0
++Pascal RejectNegative
++Reject conformant arrays and anything besides ISO 7185 Pascal
++
++fcsdefine=
++Pascal Joined RejectNegative
++Define a case-sensitive macro
++
++fcstrings-as-strings
++Pascal
++Treat CStrings as strings
++
++fdebug-automake
++Pascal RejectNegative
++(For GPC developers.) Give additional information about the actions of automake
++
++fdebug-gpi
++Pascal RejectNegative
++(For GPC developers.) Show what is written to and read from GPI files (huge output!)
++
++fdebug-source
++Pascal
++Output the source while it is processed to standard error
++
++fdebug-tree=
++Pascal Joined RejectNegative
++(For GPC developers.) Show the internal representation of a given tree node (name or address)
++
++fdelphi
++Pascal RejectNegative
++Try to emulate Borland Pascal, version 7.0, with some Delphi extensions
++
++fdelphi-comments
++Pascal
++Allow Delphi style `//' comments (default)
++
++fdelphi-method-shadowing
++Pascal
++Redefining methods silently shadows old definition (default in `--delphi')
++
++fdisable-debug-info
++Pascal RejectNegative
++Inhibit `-g' options (temporary work-around, this option may disappear in the future)
++
++fdisable-default-paths
++Pascal RejectNegative
++Do not add a default path to the unit and object path
++
++fdisable-keyword=
++Pascal Joined RejectNegative
++Disable a keyword, independently of dialect defaults
++
++fdisable-predefined-identifier=
++Pascal Joined RejectNegative
++Disable a predefined identifier, independently of dialect defaults
++
++fdouble-quoted-strings
++Pascal
++Allow strings enclosed in \"\" (default)
++
++fenable-keyword=
++Pascal Joined RejectNegative
++Enable a keyword, independently of dialect defaults
++
++fenable-predefined-identifier=
++Pascal Joined RejectNegative
++Enable a predefined identifier, independently of dialect defaults
++
++fexact-compare-strings
++Pascal
++Do not blank-pad strings for comparisons
++
++fexecutable-file-name
++Pascal RejectNegative
++Derive output file name from main source file name
++
++fexecutable-file-name=
++Pascal Joined RejectNegative
++Specify the name of the output file
++
++fexecutable-path
++Pascal
++`--no-executable-path': Create the executable file in the directory where the main source is (default)
++
++fexecutable-path=
++Pascal Joined RejectNegative
++Path where to create the executable file
++
++fextended-pascal
++Pascal RejectNegative
++Reject anything besides ISO 10206 Extended Pascal
++
++fextended-syntax
++Pascal
++same as `--ignore-function-results --pointer-arithmetic --cstrings-as-strings -Wno-absolute' (same as `{$X+}')
++
++ffield-widths
++Pascal
++Use default field widths in write statements
++
++ffield-widths=
++Pascal Joined RejectNegative
++Specify as a colon-separated list the default field widths in write statements for Integer, Real, Boolean, LongInt, LongReal
++
++fgnu-objects
++Pascal RejectNegative
++Reset object model to default state
++
++fgnu-pascal
++Pascal RejectNegative
++Undo the effect of previous dialect options, allow all features again
++
++fgpc-main=
++Pascal Joined RejectNegative
++External name for the program's entry point (default: `main')
++
++fgpi-destination-path=
++Pascal Joined RejectNegative
++(Internal switch used for automake)
++
++fignore-function-results
++Pascal
++Do not complain when a function is called like a procedure
++
++fignore-garbage-after-dot
++Pascal
++Ignore anything after the terminating `.' (default in `--borland-pascal')
++
++fignore-packed
++Pascal
++Ignore `packed' in the source code (default in `--borland-pascal')
++
++fimplementation-only
++Pascal RejectNegative
++Do not produce a GPI file; only compile the implementation part
++
++fimplicit-result
++Pascal
++Enable implicit `Result' for functions (default only in `--delphi')
++
++finit-modules=
++Pascal Joined RejectNegative
++Initialize the named modules in addition to those imported regularly; kind of a kludge
++
++finterface-only
++Pascal RejectNegative
++Compile only the interface part of a unit/module and exit (creates `.gpi' file, no `.o' file)
++
++fio-checking
++Pascal
++Check I/O operations automatically (same as `{$I+}') (default)
++
++fiso-goto-restrictions
++Pascal
++Do not allow jumps into structured instructions (default)
++
++flittle-endian
++Pascal RejectNegative
++Tell GPC that the system is little-endian (for those targets where it can vary)
++
++flongjmp-all-nonlocal-labels
++Pascal
++Use `longjmp' for all nonlocal labels (default for Darwin/PPC)
++
++fmac-objects
++Pascal RejectNegative
++Choose Mac object model
++
++fmac-pascal
++Pascal RejectNegative
++Support (some features of) traditional Macintosh Pascal compilers
++
++fmacros
++Pascal
++Expand macros (default except with `--ucsd-pascal', `--borland-pascal' or `--delphi')
++
++fmaximum-field-alignment=
++Pascal Joined RejectNegative
++Set the maximum field alignment in bits if `pack-struct' is in effect
++
++fmethods-always-virtual
++Pascal
++Make all methods virtual (default in `--mac-pascal')
++
++fmixed-comments
++Pascal
++Allow comments like `{ ... *)' as required in ISO Pascal (default in ISO 7185/10206 Pascal mode)
++
++fnested-comments
++Pascal
++Allow nested comments like `{ { } }' and `(* (* *) *)'
++
++fnonlocal-exit
++Pascal
++Allow non-local `Exit' statements (default in `--ucsd-pascal' and `--mac-pascal')
++
++fobject-checking
++Pascal
++Check for valid objects on virtual method calls (default)
++
++fobject-destination-path
++Pascal
++`--no-object-destination-path': Create additional object files (e.g. of C files, not Pascal units) in the current directory (default)
++
++fobject-destination-path=
++Pascal Joined RejectNegative
++Path where to create additional object files (e.g. of C files, not Pascal units)
++
++fobject-pascal
++Pascal RejectNegative
++Reject anything besides (the implemented parts of) ANSI draft Object Pascal
++
++fobject-path
++Pascal
++`--no-object-path': Forget about directories where to look for additional object (and source) files
++
++fobject-path=
++Pascal Joined RejectNegative
++Directories where to look for additional object (and source) files
++
++fobjects-are-references
++Pascal
++Turn objects into references (default in `--mac-pascal')
++
++fobjects-require-override
++Pascal
++Require override directive for objects (default in `--mac-pascal')
++
++fooe-objects
++Pascal RejectNegative
++Choose OOE object model
++
++fpascal-sc
++Pascal RejectNegative
++Be strict about the implemented Pascal-SC extensions
++
++fpedantic
++Pascal
++Reject everything not allowed in some dialect, e.g. redefinition of its keywords
++
++fpointer-arithmetic
++Pascal
++Enable pointer arithmetic
++
++fpointer-checking
++Pascal
++Validate pointers before dereferencing
++
++fpointer-checking-user-defined
++Pascal
++Use user-defined procedure for validating pointers
++
++fpreprocessed
++Pascal RejectNegative
++Treat the input file as already preprocessed
++
++fprint-needed-options
++Pascal RejectNegative
++Print the needed options
++
++fprogress-bar
++Pascal
++Output number of processed lines while compiling
++
++fprogress-messages
++Pascal
++Output source file names and line numbers while compiling
++
++fpropagate-units
++Pascal
++Automalically export all imported identifiers from a unit
++
++frange-and-object-checking
++Pascal
++Same as `--range-checking --object-checking', same as `{$R+}'
++
++frange-checking
++Pascal
++Do automatic range checks (default)
++
++fread-base-specifier
++Pascal
++In read statements, allow input base specifier `n#' (default)
++
++fread-hex
++Pascal
++In read statements, allow hexadecimal input with `$' (default)
++
++fread-white-space
++Pascal
++In read statements, require whitespace after numbers
++
++fsetlimit=
++Pascal Joined RejectNegative
++Define the range for `set of Integer' etc.
++
++fshort-circuit
++Pascal
++Guarantee short-circuit Boolean evaluation (default; same as `{$B-}')
++
++fstack-checking
++Pascal
++Enable stack checking (same as `{$S+}')
++
++fstandard-pascal
++Pascal RejectNegative
++Synonym for `--classic-pascal'
++
++fstandard-pascal-level-0
++Pascal RejectNegative
++Synonym for `--classic-pascal-level-0'
++
++fsun-pascal
++Pascal RejectNegative
++Support (a few features of) Sun Pascal
++
++ftransparent-file-names
++Pascal
++Derive external file names from variable names
++
++ftruncate-strings
++Pascal
++Truncate strings being assigned to other strings of too short capacity
++
++ftyped-address
++Pascal
++Make the result of the address operator typed (same as `{$T+}', default)
++
++fucsd-pascal
++Pascal RejectNegative
++Try to emulate UCSD Pascal
++
++funit-destination-path
++Pascal
++`--no-unit-destination-path': Create object and GPI files of Pascal units in the current directory (default)
++
++funit-destination-path=
++Pascal Joined RejectNegative
++Path where to create object and GPI files of Pascal units
++
++funit-path
++Pascal
++`--no-unit-path': Forget about directories where to look for unit/module sources
++
++funit-path=
++Pascal Joined RejectNegative
++Directories where to look for unit/module sources
++
++fuses=
++Pascal Joined RejectNegative
++Add an implicit `uses' clause
++
++fvax-pascal
++Pascal RejectNegative
++Support (a few features of) VAX Pascal
++
++fwrite-capital-exponent
++Pascal
++Write real exponents with a capital `E'
++
++fwrite-clip-strings
++Pascal
++In write statements, truncate strings exceeding their field width (`Write (SomeLongString : 3)')
++
++fwrite-real-blank
++Pascal
++Output a blank in front of positive reals in exponential form (default)
++
++idirafter
++Pascal Joined Separate
++`-idirafter <dir>' Add <dir> to the end of the system include path
++
++imacros
++Pascal Joined Separate
++-imacros <file> Accept definition of macros in <file>
++
++include
++Pascal Joined Separate
++-include <file> Include the contents of <file> before other files
++
++iprefix
++Pascal Joined Separate
++-iprefix <path> Specify <path> as a prefix for next two options
++
++isystem
++Pascal Joined Separate
++-isystem <dir> Add <dir> to the start of the system include path
++
++iwithprefix
++Pascal Joined Separate
++-iwithprefix <dir> Add <dir> to the end of the system include path
++
++iwithprefixbefore
++Pascal Joined Separate
++-iwithprefixbefore <dir> Add <dir> to the end of the main include path
++
++nostdinc
++Pascal
++Do not search standard system include directories (those specified with -isystem will still be used)
++
++remap
++Pascal
++Remap file names when including files
++
++v
++Pascal
++Enable verbose output
++
++; This comment is to ensure we retain the blank line above.
+diff -urN gcc.orig/p/lang-specs.h gcc/p/lang-specs.h
+--- gcc.orig/p/lang-specs.h 1970-01-01 01:00:00.000000000 +0100
++++ gcc/p/lang-specs.h 2006-03-25 02:53:09.000000000 +0100
+@@ -0,0 +1,46 @@
++/*Definitions for specs for Pascal.
++
++ Copyright (C) 1997-2006 Free Software Foundation, Inc.
++
++ Authors: Peter Gerwinski <peter@gerwinski.de>
++ Frank Heckenbach <frank@pascal.gnu.de>
++
++ This file is part of GNU Pascal.
++
++ GNU Pascal 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 2, or (at your
++ option) any later version.
++
++ GNU Pascal 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 GNU Pascal; see the file COPYING. If not, write to the
++ Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA
++ 02111-1307, USA. */
++
++#include "p/p-version.h"
++
++/* This is the contribution to the `default_compilers' array for Pascal. */
++ {".pas", "@Pascal", 0},
++ {".p", "@Pascal", 0},
++ {".pp", "@Pascal", 0},
++ {".dpr", "@Pascal", 0},
++ {"@Pascal",
++ "gpc1 %{E:-E %{!M:%(cpp_unique_options) %1 %{m*} %{f*&W*&pedantic*} %{w} "
++ "%(cpp_debug_options) %{O*}}}"
++ "%{M:%(cpp_unique_options) %1 %{m*} %{f*&W*&pedantic*} %{w}"
++ "%(cpp_debug_options) %{O*}}"
++ "%{!E:%{!M:%{save-temps:-E %(cpp_unique_options) %1 %{m*} "
++ "%{f*&W*&pedantic*} %{w} %{O*} -o %b.i \n\
++ gpc1 -fpreprocessed %b.i} %{!save-temps:%(cpp_unique_options)} \
++ %(cc1_options)\
++ %{!famtmpfile*:%eInternal GPC problem: internal option `--amtmpfile' not given}\
++ %{!fsyntax-only:%(invoke_as)}}}", 0},
++ {"@Preprocessed-Pascal",
++ "%{!M:%{!MM:%{!E:gpc1 -fpreprocessed %i %(cc1_options)\
++ %{!famtmpfile*:%eInternal GPC problem: internal option `--amtmpfile' not given}\
++ %{!fsyntax-only:%(invoke_as)} }}}", 0},
+diff -urN gcc.orig/p/p-version.h gcc/p/p-version.h
+--- gcc.orig/p/p-version.h 1970-01-01 01:00:00.000000000 +0100
++++ gcc/p/p-version.h 2006-03-25 02:53:09.000000000 +0100
+@@ -0,0 +1,7 @@
++/* Generated automatically by the Makefile.
++ DO NOT CHANGE THIS FILE MANUALLY! */
++
++#define GPC_MAJOR "2"
++#define GPC_MINOR "1"
++#define GPC_VERSION_STRING "20060325"
++#define GPC_RELEASE_STRING GPC_VERSION_STRING
diff --git a/recipes/gcc/gcc-4.4.0/debian/gcc-ssp-default.dpatch b/recipes/gcc/gcc-4.4.0/debian/gcc-ssp-default.dpatch
new file mode 100644
index 0000000000..6ba9893680
--- /dev/null
+++ b/recipes/gcc/gcc-4.4.0/debian/gcc-ssp-default.dpatch
@@ -0,0 +1,209 @@
+#! /bin/sh -e
+
+# DP: Turn on -fstack-protector by default for C, C++, ObjC, ObjC++.
+# DP: Build libgcc using -fno-stack-protector.
+
+dir=
+if [ $# -eq 3 -a "$2" = '-d' ]; then
+ pdir="-d $3"
+ dir="$3/"
+elif [ $# -ne 1 ]; then
+ echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
+ exit 1
+fi
+case "$1" in
+ -patch)
+ patch $pdir -f --no-backup-if-mismatch -p0 < $0
+ ;;
+ -unpatch)
+ patch $pdir -f --no-backup-if-mismatch -R -p0 < $0
+ ;;
+ *)
+ echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
+ exit 1
+esac
+exit 0
+
+--- gcc/doc/invoke.texi.orig 2007-11-29 11:21:52.863409623 +0000
++++ gcc/doc/invoke.texi 2007-11-29 11:22:35.014045455 +0000
+@@ -6553,6 +6553,10 @@
+ when a function is entered and then checked when the function exits.
+ If a guard check fails, an error message is printed and the program exits.
+
++NOTE: In Ubuntu 6.10 and later versions this option is enabled by default
++for C, C++, ObjC, ObjC++, if neither @option{-no-fstack-protector}
++nor @option{-nostdlib} are found.
++
+ @item -fstack-protector-all
+ @opindex fstack-protector-all
+ Like @option{-fstack-protector} except that all functions are protected.
+--- gcc/objc/lang-specs.h.orig 2007-11-29 11:21:52.863409623 +0000
++++ gcc/objc/lang-specs.h 2007-11-29 11:22:35.014045455 +0000
+@@ -30,13 +30,13 @@
+ %{traditional|ftraditional|traditional-cpp:\
+ %eGNU Objective C no longer supports traditional compilation}\
+ %{save-temps|no-integrated-cpp:cc1obj -E %(cpp_options) -o %{save-temps:%b.mi} %{!save-temps:%g.mi} \n\
+- cc1obj -fpreprocessed %{save-temps:%b.mi} %{!save-temps:%g.mi} %(cc1_options) %{print-objc-runtime-info} %{gen-decls}}\
++ cc1obj -fpreprocessed %{save-temps:%b.mi} %{!save-temps:%g.mi} %(cc1_options) %(ssp_default) %{print-objc-runtime-info} %{gen-decls}}\
+ %{!save-temps:%{!no-integrated-cpp:\
+- cc1obj %(cpp_unique_options) %(cc1_options) %{print-objc-runtime-info} %{gen-decls}}}\
++ cc1obj %(cpp_unique_options) %(cc1_options) %(ssp_default) %{print-objc-runtime-info} %{gen-decls}}}\
+ %{!fsyntax-only:%(invoke_as)}}}}", 0, 0, 0},
+ {".mi", "@objc-cpp-output", 0, 0, 0},
+ {"@objc-cpp-output",
+- "%{!M:%{!MM:%{!E:cc1obj -fpreprocessed %i %(cc1_options) %{print-objc-runtime-info} %{gen-decls}\
++ "%{!M:%{!MM:%{!E:cc1obj -fpreprocessed %i %(cc1_options) %(ssp_default) %{print-objc-runtime-info} %{gen-decls}\
+ %{!fsyntax-only:%(invoke_as)}}}}", 0, 0, 0},
+ {"@objective-c-header",
+ "%{E|M|MM:cc1obj -E %{traditional|ftraditional|traditional-cpp:-traditional-cpp}\
+@@ -45,10 +45,10 @@
+ %{traditional|ftraditional|traditional-cpp:\
+ %eGNU Objective C no longer supports traditional compilation}\
+ %{save-temps|no-integrated-cpp:cc1obj -E %(cpp_options) -o %{save-temps:%b.mi} %{!save-temps:%g.mi} \n\
+- cc1obj -fpreprocessed %b.mi %(cc1_options) %{print-objc-runtime-info} %{gen-decls}\
++ cc1obj -fpreprocessed %b.mi %(cc1_options) %(ssp_default) %{print-objc-runtime-info} %{gen-decls}\
+ -o %g.s %{!o*:--output-pch=%i.gch}\
+ %W{o*:--output-pch=%*}%V}\
+ %{!save-temps:%{!no-integrated-cpp:\
+- cc1obj %(cpp_unique_options) %(cc1_options) %{print-objc-runtime-info} %{gen-decls}\
++ cc1obj %(cpp_unique_options) %(cc1_options) %(ssp_default) %{print-objc-runtime-info} %{gen-decls}\
+ -o %g.s %{!o*:--output-pch=%i.gch}\
+ %W{o*:--output-pch=%*}%V}}}}}", 0, 0, 0},
+--- gcc/objcp/lang-specs.h.orig 2007-11-29 11:21:52.863409623 +0000
++++ gcc/objcp/lang-specs.h 2007-11-29 11:22:35.014045455 +0000
+@@ -36,7 +36,7 @@
+ %(cpp_options) %2 -o %{save-temps:%b.mii} %{!save-temps:%g.mii} \n}\
+ cc1objplus %{save-temps|no-integrated-cpp:-fpreprocessed %{save-temps:%b.mii} %{!save-temps:%g.mii}}\
+ %{!save-temps:%{!no-integrated-cpp:%(cpp_unique_options)}}\
+- %(cc1_options) %2 %{+e1*}\
++ %(cc1_options) %(ssp_default) %2 %{+e1*}\
+ -o %g.s %{!o*:--output-pch=%i.gch} %W{o*:--output-pch=%*}%V}}}",
+ CPLUSPLUS_CPP_SPEC, 0, 0},
+ {"@objective-c++",
+@@ -46,15 +46,15 @@
+ %(cpp_options) %2 -o %{save-temps:%b.mii} %{!save-temps:%g.mii} \n}\
+ cc1objplus %{save-temps|no-integrated-cpp:-fpreprocessed %{save-temps:%b.mii} %{!save-temps:%g.mii}}\
+ %{!save-temps:%{!no-integrated-cpp:%(cpp_unique_options)}}\
+- %(cc1_options) %2 %{+e1*}\
++ %(cc1_options) %(ssp_default) %2 %{+e1*}\
+ %{!fsyntax-only:%(invoke_as)}}}}",
+ CPLUSPLUS_CPP_SPEC, 0, 0},
+ {".mii", "@objective-c++-cpp-output", 0, 0, 0},
+ {"@objective-c++-cpp-output",
+ "%{!M:%{!MM:%{!E:\
+- cc1objplus -fpreprocessed %i %(cc1_options) %2 %{+e*}\
++ cc1objplus -fpreprocessed %i %(cc1_options) %(ssp_default) %2 %{+e*}\
+ %{!fsyntax-only:%(invoke_as)}}}}", 0, 0, 0},
+ {"@objc++-cpp-output",
+ "%{!M:%{!MM:%{!E:\
+- cc1objplus -fpreprocessed %i %(cc1_options) %2 %{+e*}\
++ cc1objplus -fpreprocessed %i %(cc1_options) %(ssp_default) %2 %{+e*}\
+ %{!fsyntax-only:%(invoke_as)}}}}", 0, 0, 0},
+--- gcc/cp/lang-specs.h.orig 2007-11-29 11:21:52.863409623 +0000
++++ gcc/cp/lang-specs.h 2007-11-29 11:22:35.014045455 +0000
+@@ -47,7 +47,7 @@
+ %(cpp_options) %2 -o %{save-temps:%b.ii} %{!save-temps:%g.ii} \n}\
+ cc1plus %{save-temps|no-integrated-cpp:-fpreprocessed %{save-temps:%b.ii} %{!save-temps:%g.ii}}\
+ %{!save-temps:%{!no-integrated-cpp:%(cpp_unique_options)}}\
+- %(cc1_options) %2 %{+e1*}\
++ %(cc1_options) %(ssp_default) %2 %{+e1*}\
+ %{!fsyntax-only:-o %g.s %{!o*:--output-pch=%i.gch} %W{o*:--output-pch=%*}%V}}}}",
+ CPLUSPLUS_CPP_SPEC, 0, 0},
+ {"@c++",
+@@ -57,11 +57,11 @@
+ %(cpp_options) %2 -o %{save-temps:%b.ii} %{!save-temps:%g.ii} \n}\
+ cc1plus %{save-temps|no-integrated-cpp:-fpreprocessed %{save-temps:%b.ii} %{!save-temps:%g.ii}}\
+ %{!save-temps:%{!no-integrated-cpp:%(cpp_unique_options)}}\
+- %(cc1_options) %2 %{+e1*}\
++ %(cc1_options) %(ssp_default) %2 %{+e1*}\
+ %{!fsyntax-only:%(invoke_as)}}}}",
+ CPLUSPLUS_CPP_SPEC, 0, 0},
+ {".ii", "@c++-cpp-output", 0, 0, 0},
+ {"@c++-cpp-output",
+ "%{!M:%{!MM:%{!E:\
+- cc1plus -fpreprocessed %i %(cc1_options) %2 %{+e*}\
++ cc1plus -fpreprocessed %i %(cc1_options) %(ssp_default) %2 %{+e*}\
+ %{!fsyntax-only:%(invoke_as)}}}}", 0, 0, 0},
+--- gcc/Makefile.in.orig 2007-11-29 11:21:52.863409623 +0000
++++ gcc/Makefile.in 2007-11-29 11:23:23.254773156 +0000
+@@ -559,6 +559,7 @@
+ LIBGCC2_CFLAGS = -O2 $(LIBGCC2_INCLUDES) $(GCC_CFLAGS) $(TARGET_LIBGCC2_CFLAGS) \
+ $(LIBGCC2_DEBUG_CFLAGS) $(GTHREAD_FLAGS) \
+ -DIN_LIBGCC2 -D__GCC_FLOAT_NOT_NEEDED \
++ -fno-stack-protector \
+ $(INHIBIT_LIBC_CFLAGS)
+
+ # Additional options to use when compiling libgcc2.a.
+@@ -572,6 +573,7 @@
+ CRTSTUFF_CFLAGS = -O2 $(GCC_CFLAGS) $(INCLUDES) $(MULTILIB_CFLAGS) -g0 \
+ -finhibit-size-directive -fno-inline-functions -fno-exceptions \
+ -fno-zero-initialized-in-bss -fno-toplevel-reorder -fno-tree-vectorize \
++ -fno-stack-protector \
+ $(INHIBIT_LIBC_CFLAGS)
+
+ # Additional sources to handle exceptions; overridden by targets as needed.
+--- gcc/gcc.c.orig 2007-11-29 11:21:52.873409773 +0000
++++ gcc/gcc.c 2007-11-29 11:22:35.024045606 +0000
+@@ -701,6 +701,10 @@
+ #endif
+ #endif
+
++#ifndef SSP_DEFAULT_SPEC
++#define SSP_DEFAULT_SPEC "%{!fno-stack-protector:%{!nostdlib:-fstack-protector}}"
++#endif
++
+ #ifndef LINK_PIE_SPEC
+ #ifdef HAVE_LD_PIE
+ #define LINK_PIE_SPEC "%{pie:-pie} "
+@@ -754,6 +758,7 @@
+ static const char *cc1plus_spec = CC1PLUS_SPEC;
+ static const char *link_gcc_c_sequence_spec = LINK_GCC_C_SEQUENCE_SPEC;
+ static const char *link_ssp_spec = LINK_SSP_SPEC;
++static const char *ssp_default_spec = SSP_DEFAULT_SPEC;
+ static const char *asm_spec = ASM_SPEC;
+ static const char *asm_final_spec = ASM_FINAL_SPEC;
+ static const char *link_spec = LINK_SPEC;
+@@ -827,6 +832,7 @@
+ %{--help=*:--help=%(VALUE)}\
+ %{!fsyntax-only:%{S:%W{o*}%{!o*:-o %b.s}}}\
+ %{fsyntax-only:-o %j} %{-param*}\
++ %(ssp_default)\
+ %{fmudflap|fmudflapth:-fno-builtin -fno-merge-constants}\
+ %{coverage:-fprofile-arcs -ftest-coverage}";
+
+@@ -988,15 +994,15 @@
+ %{save-temps|traditional-cpp|no-integrated-cpp:%(trad_capable_cpp) \
+ %(cpp_options) -o %{save-temps:%b.i} %{!save-temps:%g.i} \n\
+ cc1 -fpreprocessed %{save-temps:%b.i} %{!save-temps:%g.i} \
+- %(cc1_options)}\
++ %(cc1_options) %(ssp_default)}\
+ %{!save-temps:%{!traditional-cpp:%{!no-integrated-cpp:\
+- cc1 %(cpp_unique_options) %(cc1_options)}}}\
++ cc1 %(cpp_unique_options) %(cc1_options) %(ssp_default)}}}\
+ %{!fsyntax-only:%(invoke_as)}} \
+ %{combine:\
+ %{save-temps|traditional-cpp|no-integrated-cpp:%(trad_capable_cpp) \
+ %(cpp_options) -o %{save-temps:%b.i} %{!save-temps:%g.i}}\
+ %{!save-temps:%{!traditional-cpp:%{!no-integrated-cpp:\
+- cc1 %(cpp_unique_options) %(cc1_options)}}\
++ cc1 %(cpp_unique_options) %(cc1_options) %(ssp_default)}}\
+ %{!fsyntax-only:%(invoke_as)}}}}}}", 0, 1, 1},
+ {"-",
+ "%{!E:%e-E or -x required when input is from standard input}\
+@@ -1019,7 +1025,7 @@
+ %W{o*:--output-pch=%*}%V}}}}}}", 0, 0, 0},
+ {".i", "@cpp-output", 0, 1, 0},
+ {"@cpp-output",
+- "%{!M:%{!MM:%{!E:cc1 -fpreprocessed %i %(cc1_options) %{!fsyntax-only:%(invoke_as)}}}}", 0, 1, 0},
++ "%{!M:%{!MM:%{!E:cc1 -fpreprocessed %i %(cc1_options) %(ssp_default) %{!fsyntax-only:%(invoke_as)}}}}", 0, 1, 0},
+ {".s", "@assembler", 0, 1, 0},
+ {"@assembler",
+ "%{!M:%{!MM:%{!E:%{!S:as %(asm_debug) %(asm_options) %i %A }}}}", 0, 1, 0},
+@@ -1579,6 +1585,7 @@
+ INIT_STATIC_SPEC ("cc1plus", &cc1plus_spec),
+ INIT_STATIC_SPEC ("link_gcc_c_sequence", &link_gcc_c_sequence_spec),
+ INIT_STATIC_SPEC ("link_ssp", &link_ssp_spec),
++ INIT_STATIC_SPEC ("ssp_default", &ssp_default_spec),
+ INIT_STATIC_SPEC ("endfile", &endfile_spec),
+ INIT_STATIC_SPEC ("link", &link_spec),
+ INIT_STATIC_SPEC ("lib", &lib_spec),
diff --git a/recipes/gcc/gcc-4.4.0/debian/gcc-textdomain.dpatch b/recipes/gcc/gcc-4.4.0/debian/gcc-textdomain.dpatch
new file mode 100644
index 0000000000..6315a19de5
--- /dev/null
+++ b/recipes/gcc/gcc-4.4.0/debian/gcc-textdomain.dpatch
@@ -0,0 +1,103 @@
+#! /bin/sh -e
+
+# DP: Set gettext's domain and textdomain to the versioned package name.
+
+dir=
+if [ $# -eq 3 -a "$2" = '-d' ]; then
+ pdir="-d $3"
+ dir="$3/"
+elif [ $# -ne 1 ]; then
+ echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
+ exit 1
+fi
+case "$1" in
+ -patch)
+ patch $pdir -f --no-backup-if-mismatch -p0 < $0
+ ;;
+ -unpatch)
+ patch $pdir -f --no-backup-if-mismatch -R -p0 < $0
+ ;;
+ *)
+ echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
+ exit 1
+esac
+exit 0
+
+
+--- gcc/Makefile.in.orig 2005-09-04 23:32:54.003440040 +0000
++++ gcc/Makefile.in 2005-09-04 23:40:10.954013456 +0000
+@@ -4565,8 +4565,8 @@
+ dir=$(localedir)/$$lang/LC_MESSAGES; \
+ echo $(mkinstalldirs) $(DESTDIR)$$dir; \
+ $(mkinstalldirs) $(DESTDIR)$$dir || exit 1; \
+- echo $(INSTALL_DATA) $$cat $(DESTDIR)$$dir/gcc.mo; \
+- $(INSTALL_DATA) $$cat $(DESTDIR)$$dir/gcc.mo; \
++ echo $(INSTALL_DATA) $$cat $(DESTDIR)$$dir/gcc-4.3.mo; \
++ $(INSTALL_DATA) $$cat $(DESTDIR)$$dir/gcc-4.3.mo; \
+ done
+
+ # Rule for regenerating the message template (gcc.pot).
+--- gcc/intl.c.orig 2005-09-04 23:32:54.006439584 +0000
++++ gcc/intl.c 2005-09-04 23:36:37.933397512 +0000
+@@ -51,8 +51,8 @@
+ setlocale (LC_ALL, "");
+ #endif
+
+- (void) bindtextdomain ("gcc", LOCALEDIR);
+- (void) textdomain ("gcc");
++ (void) bindtextdomain ("gcc-4.3", LOCALEDIR);
++ (void) textdomain ("gcc-4.3");
+
+ /* Opening quotation mark. */
+ open_quote = _("`");
+--- libcpp/Makefile.in.orig 2005-09-04 23:32:54.009439128 +0000
++++ libcpp/Makefile.in 2005-09-04 23:33:24.607787472 +0000
+@@ -47,6 +47,7 @@
+ LIBICONV = @LIBICONV@
+ LIBINTL = @LIBINTL@
+ PACKAGE = @PACKAGE@
++PACKAGE_SUFFIX = -4.3
+ RANLIB = @RANLIB@
+ SHELL = @SHELL@
+ USED_CATALOGS = @USED_CATALOGS@
+@@ -66,6 +67,7 @@
+
+ INCLUDES = -I$(srcdir) -I. -I$(srcdir)/../include @INCINTL@ \
+ -I$(srcdir)/include
++CPPFLAGS += -DPACKAGE_SUFFIX=\"$(strip $(PACKAGE_SUFFIX))\"
+
+ ALL_CFLAGS = $(CFLAGS) $(WARN_CFLAGS) $(INCLUDES) $(CPPFLAGS)
+
+@@ -156,8 +158,8 @@
+ else continue; \
+ fi; \
+ dir=$(localedir)/$$lang/LC_MESSAGES; \
+- echo $(INSTALL_DATA) $$cat $(DESTDIR)$$dir/$(PACKAGE).mo; \
+- $(INSTALL_DATA) $$cat $(DESTDIR)$$dir/$(PACKAGE).mo; \
++ echo $(INSTALL_DATA) $$cat $(DESTDIR)$$dir/$(PACKAGE)$(PACKAGE_SUFFIX).mo; \
++ $(INSTALL_DATA) $$cat $(DESTDIR)$$dir/$(PACKAGE)$(PACKAGE_SUFFIX).mo; \
+ done
+
+ mostlyclean:
+--- libcpp/system.h.orig 2005-09-04 23:32:54.006439584 +0000
++++ libcpp/system.h 2005-09-04 23:33:24.606787624 +0000
+@@ -260,7 +260,7 @@
+ #endif
+
+ #ifndef _
+-# define _(msgid) dgettext (PACKAGE, msgid)
++# define _(msgid) dgettext (PACKAGE PACKAGE_SUFFIX, msgid)
+ #endif
+
+ #ifndef N_
+--- libcpp/init.c.orig 2005-09-04 23:32:54.008439280 +0000
++++ libcpp/init.c 2005-09-04 23:33:24.607787472 +0000
+@@ -122,7 +122,7 @@
+ init_trigraph_map ();
+
+ #ifdef ENABLE_NLS
+- (void) bindtextdomain (PACKAGE, LOCALEDIR);
++ (void) bindtextdomain (PACKAGE PACKAGE_SUFFIX, LOCALEDIR);
+ #endif
+ }
+ }
diff --git a/recipes/gcc/gcc-4.4.0/debian/gdc-fix-build-kbsd-gnu.dpatch b/recipes/gcc/gcc-4.4.0/debian/gdc-fix-build-kbsd-gnu.dpatch
new file mode 100644
index 0000000000..9878d8abfb
--- /dev/null
+++ b/recipes/gcc/gcc-4.4.0/debian/gdc-fix-build-kbsd-gnu.dpatch
@@ -0,0 +1,87 @@
+#! /bin/sh -e
+
+# gdc-fix-build-kfreebsd.dpatch by Arthur Loiret <arthur.loiret@gmail.com>
+# DP: Fix gdc build on k*bsd*-gnu, update configure and target-ver-syms.sh
+# DP: to build k*bsd*-gnu architectures as a freebsd
+
+dir=
+if [ $# -eq 3 -a "$2" = '-d' ]; then
+ pdir="-d $3"
+ dir="$3/"
+elif [ $# -ne 1 ]; then
+ echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
+ exit 1
+fi
+case "$1" in
+ -patch)
+ patch $pdir -f --no-backup-if-mismatch -p0 < $0
+ #cd ${dir}gcc && autoconf
+ ;;
+ -unpatch)
+ patch $pdir -f --no-backup-if-mismatch -R -p0 < $0
+ #rm ${dir}gcc/configure
+ ;;
+ *)
+ echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
+ exit 1
+esac
+exit 0
+
+
+--- gcc/d/phobos/configure 2007-09-03 01:23:59.000000000 +0200
++++ gcc/d/phobos/configure 2007-09-03 01:27:18.000000000 +0200
+@@ -4599,7 +4599,7 @@
+ case "$target_os" in
+ darwin6*) DCFG_LONG_DOUBLE_FUNCS=config/noldfuncs ;;
+ darwin*) DCFG_LONG_DOUBLE_FUNCS=config/ldfuncs-darwin ;;
+- linux*)
++ linux*|k*bsd*-gnu)
+ case "$target_cpu" in
+ powerpc*)
+ DCFG_LONG_DOUBLE_FUNCS=config/ldfuncs-ppclinux
+@@ -5687,7 +5687,7 @@
+
+ case "$d_target_os" in
+ # use fpmath on Linux
+- linux*) d_have_fpsb=''
++ linux*|k*bsd*-gnu) d_have_fpsb=''
+ ;;
+ esac
+
+@@ -7014,7 +7014,7 @@
+ rm -f conftest.d conftest.$ac_objext
+
+ case "$d_target_os" in
+- aix*|*bsd*|cygwin*|darwin*|linux*|skyos*|solaris*|sysv*) d_have_unix=1 ;;
++ aix*|*bsd*|cygwin*|darwin*|linux*|k*bsd*-gnu|skyos*|solaris*|sysv*) d_have_unix=1 ;;
+ esac
+
+ DCFG_CBRIDGE_STDIO=
+@@ -7027,7 +7027,7 @@
+ d_sem_impl="mach"
+ d_have_loader=1
+ ;;
+- freebsd*)
++ freebsd*|k*bsd*-gnu)
+ d_have_loader=1
+ D_EXTRA_OBJS="$D_EXTRA_OBJS gcc/cbridge_stdio.o"
+ DCFG_CBRIDGE_STDIO=GNU_CBridge_Stdio
+@@ -9046,7 +9046,7 @@
+ d_gc_stack=GC_Use_Stack_Fixed
+ d_gc_data="$d_gc_data GC_Use_Data_Dyld"
+ ;;
+- freebsd*) D_GC_MODULES="$D_GC_MODULES internal/gc/gc_freebsd.o"
++ freebsd*|k*bsd*-gnu) D_GC_MODULES="$D_GC_MODULES internal/gc/gc_freebsd.o"
+ d_gc_stack=GC_Use_Stack_FreeBSD
+ d_gc_data="$d_gc_data GC_Use_Data_Fixed"
+ ;;
+--- gcc/d/target-ver-syms.sh 2007-09-03 02:14:56.000000000 +0200
++++ gcc/d/target-ver-syms.sh 2007-09-03 02:52:43.000000000 +0200
+@@ -30,6 +30,7 @@
+ darwin*) d_os_versym=darwin ; d_unix=1 ;;
+ elf*) ;;
+ freebsd*) d_os_versym=freebsd ; d_unix=1 ;;
++k*bsd*-gnu) d_os_versym=freebsd ; d_unix=1;;
+ linux*) d_os_versym=linux ; d_unix=1 ;;
+ mingw32*) d_os_versym=Win32; d_windows=1 ;;
+ pe*) case "$target" in
diff --git a/recipes/gcc/gcc-4.4.0/debian/gpc-4.1.dpatch b/recipes/gcc/gcc-4.4.0/debian/gpc-4.1.dpatch
new file mode 100644
index 0000000000..fcd499115f
--- /dev/null
+++ b/recipes/gcc/gcc-4.4.0/debian/gpc-4.1.dpatch
@@ -0,0 +1,28 @@
+#! /bin/sh -e
+
+# DP: GPC updates for GCC 4.1.2
+
+dir=gcc/
+if [ $# -eq 3 -a "$2" = '-d' ]; then
+ pdir="-d $3/gcc"
+ dir="$3/gcc/"
+elif [ $# -ne 1 ]; then
+ echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
+ exit 1
+fi
+case "$1" in
+ -patch)
+ patch $pdir -f --no-backup-if-mismatch -p1 < $0
+ #cd ${dir}gcc && autoconf
+ ;;
+ -unpatch)
+ patch $pdir -f --no-backup-if-mismatch -R -p1 < $0
+ #rm ${dir}gcc/configure
+ ;;
+ *)
+ echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
+ exit 1
+esac
+exit 0
+
+Not yet available for GCC-4.3
diff --git a/recipes/gcc/gcc-4.4.0/debian/gpc-gcc-4.x.dpatch b/recipes/gcc/gcc-4.4.0/debian/gpc-gcc-4.x.dpatch
new file mode 100644
index 0000000000..9ddfced70d
--- /dev/null
+++ b/recipes/gcc/gcc-4.4.0/debian/gpc-gcc-4.x.dpatch
@@ -0,0 +1,32 @@
+#! /bin/sh -e
+
+# DP: The gpc patch from the gpc tarball.
+
+dir=
+if [ $# -eq 3 -a "$2" = '-d' ]; then
+ #pdir="-d $3/gcc"
+ pdir="-d $3"
+ dir="$3/"
+elif [ $# -ne 1 ]; then
+ echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
+ exit 1
+fi
+
+gpc_gcc_patch=$pdir/p/diffs/gcc-4.1.diff
+gpc_gcc_patch=debian/patches/gpc-gcc-4.1.diff
+
+case "$1" in
+ -patch)
+ echo Using patch file ${gpc_gcc_patch}
+ patch $pdir -f -p0 < ${gpc_gcc_patch}
+ ;;
+ -unpatch)
+ # get the patch from the gpc source
+ echo Using patch file ${gpc_gcc_patch}
+ patch $pdir -f -R -p0 < ${gpc_gcc_patch}
+ ;;
+ *)
+ echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
+ exit 1
+esac
+exit 0
diff --git a/recipes/gcc/gcc-4.4.0/debian/gpc-names.dpatch b/recipes/gcc/gcc-4.4.0/debian/gpc-names.dpatch
new file mode 100644
index 0000000000..f494383ca3
--- /dev/null
+++ b/recipes/gcc/gcc-4.4.0/debian/gpc-names.dpatch
@@ -0,0 +1,117 @@
+#! /bin/sh -e
+
+# DP: versioned gpc names
+
+if [ $# -eq 3 -a "$2" = '-d' ]; then
+ pdir="-d $3"
+elif [ $# -ne 1 ]; then
+ echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
+ exit 1
+fi
+case "$1" in
+ -patch) patch $pdir -f --no-backup-if-mismatch -p0 < $0;;
+ -unpatch) patch $pdir -f --no-backup-if-mismatch -R -p0 < $0;;
+ *)
+ echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
+ exit 1
+esac
+exit 0
+
+--- gcc/p/doc/en/gpc.texi.orig 2007-08-27 00:21:02.340767891 +0200
++++ gcc/p/doc/en/gpc.texi 2007-08-27 00:21:29.921183935 +0200
+@@ -23,11 +23,11 @@
+
+ @dircategory GNU programming tools
+ @direntry
+-* GPC: (gpc). The GNU Pascal Compiler.
++* GPC-4.1: (gpc-4.1). The GNU Pascal Compiler (v2.1, based on GCC 4.1).
+ @end direntry
+ @dircategory Individual utilities
+ @direntry
+-* GPC: (gpc)Invoking GPC. The GNU Pascal Compiler.
++* GPC-4.1: (gpc-4.1)Invoking GPC. The GNU Pascal Compiler (v2.1, based on GCC 4.1).
+ @end direntry
+
+ @c For FSF printing, turn on finalout (to get rid of the black
+--- gcc/p/Make-lang.in.orig 2007-08-27 00:21:02.340767891 +0200
++++ gcc/p/Make-lang.in 2007-08-27 00:23:19.412835592 +0200
+@@ -799,42 +799,43 @@
+ pascal.start.encap:
+ pascal.rest.encap: pascal.rts pascal.utils
+
+-pascal.info: $(srcdir)/p/doc/info/gpc.info \
+- $(srcdir)/p/doc/info/gpcs.info \
+- $(srcdir)/p/doc/info/gpcs-de.info \
+- $(srcdir)/p/doc/info/gpc-hr.info \
+- $(srcdir)/p/doc/info/gpcs-hr.info \
+- $(srcdir)/p/doc/info/gpc-es.info \
+- $(srcdir)/p/doc/info/gpcs-es.info
++iv=-4.1
++pascal.info: $(srcdir)/p/doc/info/gpc$(iv).info \
++ $(srcdir)/p/doc/info/gpcs$(iv).info \
++ $(srcdir)/p/doc/info/gpcs-de$(iv).info \
++ $(srcdir)/p/doc/info/gpc-hr$(iv).info \
++ $(srcdir)/p/doc/info/gpcs-hr$(iv).info \
++ $(srcdir)/p/doc/info/gpc-es$(iv).info \
++ $(srcdir)/p/doc/info/gpcs-es$(iv).info
+ pascal.dvi: gpc.dvi
+
+-$(srcdir)/p/doc/info/gpc.info: $(GPC_TEXI_EN)
++$(srcdir)/p/doc/info/gpc$(iv).info: $(GPC_TEXI_EN)
+ [ -d "$(srcdir)/p/doc/info" ] || $(srcdir)/p/script/mkdir-p "$(srcdir)/p/doc/info"
+- $(MAKEINFO_EN) -o $(srcdir)/p/doc/info/gpc.info gpc.texi
++ $(MAKEINFO_EN) -o $(srcdir)/p/doc/info/gpc$(iv).info gpc.texi
+
+-$(srcdir)/p/doc/info/gpcs.info: $(GPC_TEXI_EN)
++$(srcdir)/p/doc/info/gpcs$(iv).info: $(GPC_TEXI_EN)
+ [ -d "$(srcdir)/p/doc/info" ] || $(srcdir)/p/script/mkdir-p "$(srcdir)/p/doc/info"
+- $(MAKEINFO_EN) --no-split -o $(srcdir)/p/doc/info/gpcs.info gpcs.texi
++ $(MAKEINFO_EN) --no-split -o $(srcdir)/p/doc/info/gpcs$(iv).info gpcs.texi
+
+-$(srcdir)/p/doc/info/gpcs-de.info: $(GPC_TEXI_DE)
++$(srcdir)/p/doc/info/gpcs-de$(iv).info: $(GPC_TEXI_DE)
+ [ -d "$(srcdir)/p/doc/info" ] || $(srcdir)/p/script/mkdir-p "$(srcdir)/p/doc/info"
+- $(MAKEINFO_DE) --no-split -o $(srcdir)/p/doc/info/gpcs-de.info gpcs.texi
++ $(MAKEINFO_DE) --no-split -o $(srcdir)/p/doc/info/gpcs-de$(iv).info gpcs.texi
+
+-$(srcdir)/p/doc/info/gpc-hr.info: $(GPC_TEXI_HR)
++$(srcdir)/p/doc/info/gpc-hr$(iv).info: $(GPC_TEXI_HR)
+ [ -d "$(srcdir)/p/doc/info" ] || $(srcdir)/p/script/mkdir-p "$(srcdir)/p/doc/info"
+- $(MAKEINFO_HR) -o $(srcdir)/p/doc/info/gpc-hr.info gpc.texi
++ $(MAKEINFO_HR) -o $(srcdir)/p/doc/info/gpc-hr$(iv).info gpc.texi
+
+-$(srcdir)/p/doc/info/gpcs-hr.info: $(GPC_TEXI_HR)
++$(srcdir)/p/doc/info/gpcs-hr$(iv).info: $(GPC_TEXI_HR)
+ [ -d "$(srcdir)/p/doc/info" ] || $(srcdir)/p/script/mkdir-p "$(srcdir)/p/doc/info"
+- $(MAKEINFO_HR) --no-split -o $(srcdir)/p/doc/info/gpcs-hr.info gpcs.texi
++ $(MAKEINFO_HR) --no-split -o $(srcdir)/p/doc/info/gpcs-hr$(iv).info gpcs.texi
+
+-$(srcdir)/p/doc/info/gpc-es.info: $(GPC_TEXI_ES)
++$(srcdir)/p/doc/info/gpc-es$(iv).info: $(GPC_TEXI_ES)
+ [ -d "$(srcdir)/p/doc/info" ] || $(srcdir)/p/script/mkdir-p "$(srcdir)/p/doc/info"
+- $(MAKEINFO_ES) -o $(srcdir)/p/doc/info/gpc-es.info gpc.texi
++ $(MAKEINFO_ES) -o $(srcdir)/p/doc/info/gpc-es$(iv).info gpc.texi
+
+-$(srcdir)/p/doc/info/gpcs-es.info: $(GPC_TEXI_ES)
++$(srcdir)/p/doc/info/gpcs-es$(iv).info: $(GPC_TEXI_ES)
+ [ -d "$(srcdir)/p/doc/info" ] || $(srcdir)/p/script/mkdir-p "$(srcdir)/p/doc/info"
+- $(MAKEINFO_ES) --no-split -o $(srcdir)/p/doc/info/gpcs-es.info gpcs.texi
++ $(MAKEINFO_ES) --no-split -o $(srcdir)/p/doc/info/gpcs-es$(iv).info gpcs.texi
+
+ gpc.dvi: $(GPC_TEXI_EN)
+ TEXINPUTS=$(srcdir)/p/doc:$(srcdir)/p/doc/images:$$TEXINPUTS \
+@@ -1023,11 +1024,11 @@
+ fi
+
+ pascal.install-info: pascal.install-info-man-dirs pascal.info
+- rm -f $(DESTDIR)$(infodir)/gpc.info* $(DESTDIR)$(infodir)/gpcs.info* $(DESTDIR)$(infodir)/gpcs-de.info* $(DESTDIR)$(infodir)/gpcs-hr.info* $(DESTDIR)$(infodir)/gpcs-es.info*
+- for f in `cd $(srcdir)/p/doc/info && echo gpc.info* gpcs*.info*`; do \
++ rm -f $(DESTDIR)$(infodir)/gpc*.info* $(DESTDIR)$(infodir)/gpcs*.info* $(DESTDIR)$(infodir)/gpcs-de*.info* $(DESTDIR)$(infodir)/gpcs-hr*.info* $(DESTDIR)$(infodir)/gpcs-es*.info*
++ for f in `cd $(srcdir)/p/doc/info && echo gpc$(iv).info* gpcs*.info*`; do \
+ $(INSTALL_DATA) $(srcdir)/p/doc/info/$$f $(DESTDIR)$(infodir)/$$f || exit 1; \
+ done
+- chmod a-x $(DESTDIR)$(infodir)/gpc.info* $(DESTDIR)$(infodir)/gpcs.info* $(DESTDIR)$(infodir)/gpcs-de.info* $(DESTDIR)$(infodir)/gpcs-hr.info* $(DESTDIR)$(infodir)/gpcs-es.info*
++ chmod a-x $(DESTDIR)$(infodir)/gpc*.info* $(DESTDIR)$(infodir)/gpcs*.info* $(DESTDIR)$(infodir)/gpcs-de*.info* $(DESTDIR)$(infodir)/gpcs-hr*.info* $(DESTDIR)$(infodir)/gpcs-es*.info*
+
+ pascal.install-man: pascal.install-info-man-dirs $(srcdir)/p/doc/en/gpc.1 $(srcdir)/p/doc/generated/gpc-run.1
+ -if [ -f gpc1$(exeext) ]; then \
diff --git a/recipes/gcc/gcc-4.4.0/debian/hurd-changes.dpatch b/recipes/gcc/gcc-4.4.0/debian/hurd-changes.dpatch
new file mode 100644
index 0000000000..1ccb5ca269
--- /dev/null
+++ b/recipes/gcc/gcc-4.4.0/debian/hurd-changes.dpatch
@@ -0,0 +1,72 @@
+#! /bin/sh -e
+
+dir=
+if [ $# -eq 3 -a "$2" = '-d' ]; then
+ pdir="-d $3"
+ dir="$3/"
+elif [ $# -ne 1 ]; then
+ echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
+ exit 1
+fi
+case "$1" in
+ -patch)
+ patch $pdir -f --no-backup-if-mismatch -p0 < $0
+ ;;
+ -unpatch)
+ patch $pdir -f --no-backup-if-mismatch -R -p0 < $0
+ ;;
+ *)
+ echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
+ exit 1
+esac
+exit 0
+
+# DP: Traditional GNU systems don't have a /usr directory. However, Debian
+# DP: systems do, and we support both having a /usr -> . symlink, and having a
+# DP: /usr directory like the other ports. So this patch should NOT go
+# DP: upstream.
+# DP:
+# DP: Define MAXPATHLEN and PATH_MAX.
+
+--- gcc/config/gnu.h.orig 2004-07-05 21:49:20.000000000 +0200
++++ gcc/config/gnu.h 2006-12-10 12:28:45.000000000 +0100
+@@ -6,7 +6,8 @@
+
+ /* Standard include directory. In GNU, "/usr" is a four-letter word. */
+ #undef STANDARD_INCLUDE_DIR
+-#define STANDARD_INCLUDE_DIR "/include"
++/* Overriden for Debian GNU/Hurd. */
++#define STANDARD_INCLUDE_DIR "/usr/include"
+
+ /* The system headers under GNU are C++-aware. */
+ #define NO_IMPLICIT_EXTERN_C
+--- gcc/config/t-gnu.orig 2004-01-10 07:40:24.000000000 +0100
++++ gcc/config/t-gnu 2006-12-10 12:28:45.000000000 +0100
+@@ -1,2 +1,2 @@
+ # In GNU, "/usr" is a four-letter word.
+-NATIVE_SYSTEM_HEADER_DIR = /include
++NATIVE_SYSTEM_HEADER_DIR = /usr/include
+--- gcc/tlink.c.orig 2005-06-25 04:02:01.000000000 +0200
++++ gcc/tlink.c 2006-12-10 12:28:45.000000000 +0100
+@@ -34,6 +34,10 @@
+
+ #define MAX_ITERATIONS 17
+
++#ifndef MAXPATHLEN
++#define MAXPATHLEN 4096
++#endif
++
+ /* Defined in the automatically-generated underscore.c. */
+ extern int prepends_underscore;
+
+--- boehm-gc/dyn_load.c.orig 2007-08-13 09:10:48.215678000 +0200
++++ boehm-gc/dyn_load.c 2007-08-13 09:11:09.743969000 +0200
+@@ -26,7 +26,7 @@
+ * None of this is safe with dlclose and incremental collection.
+ * But then not much of anything is safe in the presence of dlclose.
+ */
+-#if (defined(__linux__) || defined(__GLIBC__)) && !defined(_GNU_SOURCE)
++#if (defined(__linux__) || defined(__GLIBC__) || defined(__GNU__)) && !defined(_GNU_SOURCE)
+ /* Can't test LINUX, since this must be define before other includes */
+ # define _GNU_SOURCE
+ #endif
diff --git a/recipes/gcc/gcc-4.4.0/debian/ignore-comp-fail.dpatch b/recipes/gcc/gcc-4.4.0/debian/ignore-comp-fail.dpatch
new file mode 100644
index 0000000000..4609a82120
--- /dev/null
+++ b/recipes/gcc/gcc-4.4.0/debian/ignore-comp-fail.dpatch
@@ -0,0 +1,38 @@
+#! /bin/sh -e
+
+# DP: Ignore the bootstrap comparision failure
+
+dir=
+if [ $# -eq 3 -a "$2" = '-d' ]; then
+ pdir="-d $3"
+ dir="$3/"
+elif [ $# -ne 1 ]; then
+ echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
+ exit 1
+fi
+case "$1" in
+ -patch)
+ patch $pdir -f --no-backup-if-mismatch -p0 < $0
+ ;;
+ -unpatch)
+ patch $pdir -f --no-backup-if-mismatch -R -p0 < $0
+ ;;
+ *)
+ echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
+ exit 1
+esac
+exit 0
+
+--- gcc/Makefile.in~ 2004-02-06 08:03:12.000000000 +0100
++++ gcc/Makefile.in 2004-02-14 10:27:19.000000000 +0100
+@@ -3567,7 +3567,9 @@
+ if [ -f .bad_compare ]; then \
+ echo "Bootstrap comparison failure!"; \
+ cat .bad_compare; \
+- exit 1; \
++ echo ""; \
++ echo "Ignore the comparision failure!"; \
++ true; \
+ else \
+ case "$@" in \
+ *-lean ) rm -rf stage$$stage ;; \
diff --git a/recipes/gcc/gcc-4.4.0/debian/kbsd-gnu-ada.dpatch b/recipes/gcc/gcc-4.4.0/debian/kbsd-gnu-ada.dpatch
new file mode 100644
index 0000000000..e159ec3fd0
--- /dev/null
+++ b/recipes/gcc/gcc-4.4.0/debian/kbsd-gnu-ada.dpatch
@@ -0,0 +1,231 @@
+#! /bin/sh -e
+
+# Description: Ada support for GNU/k*BSD
+# Author: Aurelien Jarno <aurel32@debian.Org>
+# Status: submitted.
+
+dir=
+if [ $# -eq 3 -a "$2" = '-d' ]; then
+ pdir="-d $3"
+ dir="$3/"
+elif [ $# -ne 1 ]; then
+ echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
+ exit 1
+fi
+case "$1" in
+ -patch)
+ patch $pdir -f --no-backup-if-mismatch -p1 < $0
+ ;;
+ -unpatch)
+ patch $pdir -f --no-backup-if-mismatch -R -p1 < $0
+ ;;
+ *)
+ echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
+ exit 1
+esac
+exit 0
+
+# append the patch here and adjust the -p? flag in the patch calls.
+
+--- src/gcc/ada/Makefile.in.orig 2008-02-09 13:03:14 +0100
++++ src/gcc/ada/Makefile.in 2008-02-09 13:03:33 +0100
+@@ -866,6 +866,8 @@
+ s-osinte.ads<s-osinte-kfreebsd-gnu.ads \
+ s-osprim.adb<s-osprim-posix.adb \
+ s-taprop.adb<s-taprop-linux.adb \
++ s-tasinf.ads<s-tasinf-linux.ads \
++ s-tasinf.adb<s-tasinf-linux.adb \
+ s-taspri.ads<s-taspri-posix.ads \
+ s-tpopsp.adb<s-tpopsp-posix-foreign.adb \
+ system.ads<system-freebsd-x86.ads
+--- src/gcc/ada/s-osinte-kfreebsd-gnu.ads.orig 2008-02-09 12:18:43 +0100
++++ src/gcc/ada/s-osinte-kfreebsd-gnu.ads 2008-02-09 13:00:36 +0100
+@@ -223,7 +223,8 @@
+ function sysconf (name : int) return long;
+ pragma Import (C, sysconf);
+
+- SC_CLK_TCK : constant := 2;
++ SC_CLK_TCK : constant := 2;
++ SC_NPROCESSORS_ONLN : constant := 84;
+
+ -------------------------
+ -- Priority Scheduling --
+@@ -235,7 +236,7 @@
+
+ function To_Target_Priority
+ (Prio : System.Any_Priority) return Interfaces.C.int;
+- -- Maps System.Any_Priority to a POSIX priority.
++ -- Maps System.Any_Priority to a POSIX priority
+
+ -------------
+ -- Process --
+@@ -255,6 +256,7 @@
+
+ type Thread_Body is access
+ function (arg : System.Address) return System.Address;
++ pragma Convention (C, Thread_Body);
+
+ function Thread_Body_Access is new
+ Unchecked_Conversion (System.Address, Thread_Body);
+@@ -438,12 +440,31 @@
+ pragma Import (C, pthread_getspecific, "pthread_getspecific");
+
+ type destructor_pointer is access procedure (arg : System.Address);
++ pragma Convention (C, destructor_pointer);
+
+ function pthread_key_create
+ (key : access pthread_key_t;
+ destructor : destructor_pointer) return int;
+ pragma Import (C, pthread_key_create, "pthread_key_create");
+
++ CPU_SETSIZE : constant := 1_024;
++
++ type bit_field is array (1 .. CPU_SETSIZE) of Boolean;
++ for bit_field'Size use CPU_SETSIZE;
++ pragma Pack (bit_field);
++ pragma Convention (C, bit_field);
++
++ type cpu_set_t is record
++ bits : bit_field;
++ end record;
++ pragma Convention (C, cpu_set_t);
++
++ function pthread_setaffinity_np
++ (thread : pthread_t;
++ cpusetsize : size_t;
++ cpuset : access cpu_set_t) return int;
++ pragma Import (C, pthread_setaffinity_np, "__gnat_pthread_setaffinity_np");
++
+ private
+
+ type sigset_t is array (1 .. 4) of unsigned;
+--- src/gcc/ada/adaint.c 2008-02-10 03:14:20 +0100
++++ src/gcc/ada/adaint.c 2008-02-09 18:22:02 +0100
+@@ -888,7 +888,7 @@
+ strcpy (path, "GNAT-XXXXXX");
+
+ #if (defined (__FreeBSD__) || defined (__NetBSD__) || defined (__OpenBSD__) \
+- || defined (linux)) && !defined (__vxworks)
++ || defined (linux) || defined(__GLIBC__)) && !defined (__vxworks)
+ return mkstemp (path);
+ #elif defined (__Lynx__)
+ mktemp (path);
+@@ -981,7 +981,7 @@
+ }
+
+ #elif defined (linux) || defined (__FreeBSD__) || defined (__NetBSD__) \
+- || defined (__OpenBSD__)
++ || defined (__OpenBSD__) || defined(__GLIBC__)
+ #define MAX_SAFE_PATH 1000
+ char *tmpdir = getenv ("TMPDIR");
+
+@@ -3001,7 +3001,7 @@
+ }
+ #endif
+
+-#if defined (linux)
++#if defined (linux) || defined(__GLIBC__)
+ /* pthread affinity support */
+
+ #ifdef CPU_SETSIZE
+--- src/gcc/ada/socket.c 2007-10-19 15:14:33 +0200
++++ src/gcc/ada/socket.c 2008-02-09 18:23:40 +0100
+@@ -206,7 +206,7 @@
+ struct hostent *rh;
+ int ri;
+
+-#ifdef __linux__
++#if defined(__linux__) || defined(__GLIBC__)
+ (void) gethostbyname_r (name, ret, buf, buflen, &rh, h_errnop);
+ #else
+ rh = gethostbyname_r (name, ret, buf, buflen, h_errnop);
+@@ -223,7 +223,7 @@
+ struct hostent *rh;
+ int ri;
+
+-#ifdef __linux__
++#if defined(__linux__) || defined(__GLIBC__)
+ (void) gethostbyaddr_r (addr, len, type, ret, buf, buflen, &rh, h_errnop);
+ #else
+ rh = gethostbyaddr_r (addr, len, type, ret, buf, buflen, h_errnop);
+@@ -239,7 +239,7 @@
+ struct servent *rh;
+ int ri;
+
+-#ifdef __linux__
++#if defined(__linux__) || defined(__GLIBC__)
+ (void) getservbyname_r (name, proto, ret, buf, buflen, &rh);
+ #else
+ rh = getservbyname_r (name, proto, ret, buf, buflen);
+@@ -255,7 +255,7 @@
+ struct servent *rh;
+ int ri;
+
+-#ifdef __linux__
++#if defined(__linux__) || defined(__GLIBC__)
+ (void) getservbyport_r (port, proto, ret, buf, buflen, &rh);
+ #else
+ rh = getservbyport_r (port, proto, ret, buf, buflen);
+--- src/gcc/ada/gsocket.h.orig 2008-02-10 11:50:18 +0100
++++ src/gcc/ada/gsocket.h 2008-02-10 11:50:38 +0100
+@@ -167,7 +167,7 @@
+
+ #if defined (_AIX) || defined (__FreeBSD__) || defined (__hpux__) || defined (__osf__) || defined (_WIN32) || defined (__APPLE__)
+ # define HAVE_THREAD_SAFE_GETxxxBYyyy 1
+-#elif defined (sgi) || defined (linux) || (defined (sun) && defined (__SVR4) && !defined (__vxworks))
++#elif defined (sgi) || defined (linux) || defined (__GLIBC__) || (defined (sun) && defined (__SVR4) && !defined (__vxworks))
+ # define HAVE_GETxxxBYyyy_R 1
+ #endif
+
+--- src/gcc/ada/sysdep.c.orig 2008-02-10 11:55:28 +0100
++++ src/gcc/ada/sysdep.c 2008-02-10 11:58:15 +0100
+@@ -342,7 +342,8 @@
+ || (defined (__osf__) && ! defined (__alpha_vxworks)) || defined (WINNT) \
+ || defined (__MACHTEN__) || defined (__hpux__) || defined (_AIX) \
+ || (defined (__svr4__) && defined (i386)) || defined (__Lynx__) \
+- || defined (__CYGWIN__) || defined (__FreeBSD__) || defined (__OpenBSD__)
++ || defined (__CYGWIN__) || defined (__FreeBSD__) || defined (__OpenBSD__) \
++ || defined (__GLIBC__)
+
+ #ifdef __MINGW32__
+ #if OLD_MINGW
+@@ -399,7 +400,8 @@
+ || (defined (__osf__) && ! defined (__alpha_vxworks)) \
+ || defined (__CYGWIN32__) || defined (__MACHTEN__) || defined (__hpux__) \
+ || defined (_AIX) || (defined (__svr4__) && defined (i386)) \
+- || defined (__Lynx__) || defined (__FreeBSD__) || defined (__OpenBSD__)
++ || defined (__Lynx__) || defined (__FreeBSD__) || defined (__OpenBSD__) \
++ || defined (__GLIBC__)
+ char c;
+ int nread;
+ int good_one = 0;
+@@ -418,7 +420,8 @@
+ #if defined(linux) || defined (sun) || defined (sgi) || defined (__EMX__) \
+ || defined (__osf__) || defined (__MACHTEN__) || defined (__hpux__) \
+ || defined (_AIX) || (defined (__svr4__) && defined (i386)) \
+- || defined (__Lynx__) || defined (__FreeBSD__) || defined (__OpenBSD__)
++ || defined (__Lynx__) || defined (__FreeBSD__) || defined (__OpenBSD__) \
++ || defined (__GLIBC__)
+ eof_ch = termios_rec.c_cc[VEOF];
+
+ /* If waiting (i.e. Get_Immediate (Char)), set MIN = 1 and wait for
+@@ -845,7 +848,7 @@
+ /* Darwin, Free BSD, Linux, Tru64, where there exists a component tm_gmtoff
+ in struct tm */
+ #elif defined (__APPLE__) || defined (__FreeBSD__) || defined (linux) ||\
+- (defined (__alpha__) && defined (__osf__))
++ (defined (__alpha__) && defined (__osf__)) || defined (__GLIBC__)
+ *off = tp->tm_gmtoff;
+
+ /* All other platforms: Treat all time values in GMT */
+--- src/gcc/ada/link.c.orig 2008-02-10 11:59:07 +0100
++++ src/gcc/ada/link.c 2008-02-10 11:59:14 +0100
+@@ -153,7 +153,7 @@
+ unsigned char __gnat_using_gnu_linker = 1;
+ const char *__gnat_object_library_extension = ".a";
+
+-#elif defined (linux)
++#elif defined (linux) || defined(__GLIBC__)
+ const char *__gnat_object_file_option = "";
+ const char *__gnat_run_path_option = "";
+ char __gnat_shared_libgnat_default = SHARED;
diff --git a/recipes/gcc/gcc-4.4.0/debian/kbsd-gnu.dpatch b/recipes/gcc/gcc-4.4.0/debian/kbsd-gnu.dpatch
new file mode 100644
index 0000000000..5c9bb0e708
--- /dev/null
+++ b/recipes/gcc/gcc-4.4.0/debian/kbsd-gnu.dpatch
@@ -0,0 +1,99 @@
+#! /bin/sh -e
+
+# DP: GNU/k*BSD support
+# Author: Robert Millan <rmh@aybabtu.com>
+# Status: Not yet submitted
+
+
+dir=
+if [ $# -eq 3 -a "$2" = '-d' ]; then
+ pdir="-d $3"
+ dir="$3/"
+elif [ $# -ne 1 ]; then
+ echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
+ exit 1
+fi
+case "$1" in
+ -patch)
+ patch $pdir -f --no-backup-if-mismatch -p1 < $0
+ ;;
+ -unpatch)
+ patch $pdir -f --no-backup-if-mismatch -R -p1 < $0
+ ;;
+ *)
+ echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
+ exit 1
+esac
+exit 0
+
+# append the patch here and adjust the -p? flag in the patch calls.
+
+diff -Nurd gcc-4.2.orig/gcc/config/i386/kfreebsd-gnu.h gcc-4.2/gcc/config/i386/kfreebsd-gnu.h
+--- gcc-4.2.orig/gcc/config/i386/kfreebsd-gnu.h 2006-01-18 22:46:30.000000000 +0100
++++ gcc-4.2/gcc/config/i386/kfreebsd-gnu.h 2007-05-23 05:34:47.000000000 +0200
+@@ -20,7 +20,29 @@
+ the Free Software Foundation, 51 Franklin Street, Fifth Floor,
+ Boston, MA 02110-1301, USA. */
+
++#ifdef GLIBC_DYNAMIC_LINKER32
++#undef GLIBC_DYNAMIC_LINKER32
++#define GLIBC_DYNAMIC_LINKER32 "/lib/ld.so.1"
++#endif
++
++#ifdef GLIBC_DYNAMIC_LINKER64
++#undef GLIBC_DYNAMIC_LINKER64
++#define GLIBC_DYNAMIC_LINKER64 "/lib/ld-kfreebsd-x86-64.so.1"
++#endif
++
+ #undef LINK_EMULATION
+ #define LINK_EMULATION "elf_i386_fbsd"
++
++#ifdef LINK_EMULATION32
++#undef LINK_EMULATION32
++#define LINK_EMULATION32 LINK_EMULATION
++#endif
++
++#ifdef LINK_EMULATION64
++#undef LINK_EMULATION64
++#define LINK_EMULATION64 "elf_x86_64_fbsd"
++#endif
++
+ #undef REG_NAME
+ #define REG_NAME(reg) sc_ ## reg
++
+diff -Nurd gcc-4.2.orig/gcc/config/i386/linux64.h gcc-4.2/gcc/config/i386/linux64.h
+--- gcc-4.2.orig/gcc/config/i386/linux64.h 2007-05-22 22:25:11.000000000 +0200
++++ gcc-4.2/gcc/config/i386/linux64.h 2007-05-23 05:39:11.000000000 +0200
+@@ -53,8 +53,11 @@
+ When the -shared link option is used a final link is not being
+ done. */
+
++/* These macros may be overridden in k*bsd-gnu.h and i386/k*bsd-gnu.h. */
+ #define GLIBC_DYNAMIC_LINKER32 "/lib/ld-linux.so.2"
+ #define GLIBC_DYNAMIC_LINKER64 "/lib64/ld-linux-x86-64.so.2"
++#define LINK_EMULATION32 "elf_i386"
++#define LINK_EMULATION64 "elf_x86_64"
+
+ #if TARGET_64BIT_DEFAULT
+ #define SPEC_32 "m32"
+@@ -65,7 +68,7 @@
+ #endif
+
+ #undef LINK_SPEC
+-#define LINK_SPEC "%{" SPEC_64 ":-m elf_x86_64} %{" SPEC_32 ":-m elf_i386} --hash-style=both \
++#define LINK_SPEC "%{" SPEC_64 ":-m " LINK_EMULATION64 "} %{" SPEC_32 ":-m " LINK_EMULATION32 "} --hash-style=both \
+ %{shared:-shared} \
+ %{!shared: \
+ %{!static: \
+diff -Nurd gcc-4.2.orig/gcc/config.gcc gcc-4.2/gcc/config.gcc
+--- gcc-4.2.orig/gcc/config.gcc 2007-02-03 10:03:58.000000000 +0100
++++ gcc-4.2/gcc/config.gcc 2007-05-23 05:37:10.000000000 +0200
+@@ -1102,7 +1102,7 @@
+ tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h svr4.h linux.h \
+ i386/x86-64.h i386/linux64.h"
+ case ${target} in
+- x86_64-*-kfreebsd*-gnu) tm_file="${tm_file} kfreebsd-gnu.h" ;;
++ x86_64-*-kfreebsd*-gnu) tm_file="${tm_file} kfreebsd-gnu.h i386/kfreebsd-gnu.h" ;;
+ x86_64-*-knetbsd*-gnu) tm_file="${tm_file} knetbsd-gnu.h" ;;
+ esac
+ tmake_file="${tmake_file} i386/t-linux64 i386/t-crtfm t-dfprules"
diff --git a/recipes/gcc/gcc-4.4.0/debian/libffi-configure.dpatch b/recipes/gcc/gcc-4.4.0/debian/libffi-configure.dpatch
new file mode 100644
index 0000000000..8cc9d23550
--- /dev/null
+++ b/recipes/gcc/gcc-4.4.0/debian/libffi-configure.dpatch
@@ -0,0 +1,45 @@
+#! /bin/sh -e
+
+# DP: Add --enable-libffi option to toplevel configure script
+
+dir=
+if [ $# -eq 3 -a "$2" = '-d' ]; then
+ pdir="-d $3"
+ dir="$3/"
+elif [ $# -ne 1 ]; then
+ echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
+ exit 1
+fi
+case "$1" in
+ -patch)
+ patch $pdir -f --no-backup-if-mismatch -p0 < $0
+ cd ${dir} && autoconf
+ ;;
+ -unpatch)
+ patch $pdir -f --no-backup-if-mismatch -R -p0 < $0
+ ;;
+ *)
+ echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
+ exit 1
+esac
+exit 0
+
+--- configure.ac.orig 2007-08-27 13:42:57.000000000 +0200
++++ configure.ac 2007-09-01 15:57:19.664811738 +0200
+@@ -347,6 +347,16 @@
+ ENABLE_LIBSSP=$enableval,
+ ENABLE_LIBSSP=yes)
+
++AC_ARG_ENABLE(libffi,
++[ --enable-libffi build libffi directory],
++ENABLE_LIBFFI=$enableval,
++ENABLE_LIBFFI=yes)
++if test "${ENABLE_LIBFFI}" != "yes" ; then
++ noconfigdirs="$noconfigdirs target-libffi"
++else
++ libgcj="`echo $libgcj | sed 's/target-libffi *//'`"
++fi
++
+ # Save it here so that, even in case of --enable-libgcj, if the Java
+ # front-end isn't enabled, we still get libgcj disabled.
+ libgcj_saved=$libgcj
diff --git a/recipes/gcc/gcc-4.4.0/debian/libjava-armel-ldflags.dpatch b/recipes/gcc/gcc-4.4.0/debian/libjava-armel-ldflags.dpatch
new file mode 100644
index 0000000000..ecaddb61e0
--- /dev/null
+++ b/recipes/gcc/gcc-4.4.0/debian/libjava-armel-ldflags.dpatch
@@ -0,0 +1,38 @@
+#! /bin/sh -e
+
+# DP: Adjust libjava extra_ldflags for armel.
+
+dir=
+if [ $# -eq 3 -a "$2" = '-d' ]; then
+ pdir="-d $3"
+ dir="$3/"
+elif [ $# -ne 1 ]; then
+ echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
+ exit 1
+fi
+case "$1" in
+ -patch)
+ patch $pdir -f --no-backup-if-mismatch -p0 < $0
+ cd ${dir}libjava && autoconf
+ ;;
+ -unpatch)
+ patch $pdir -f --no-backup-if-mismatch -R -p0 < $0
+ rm -f ${dir}libjava/configure
+ ;;
+ *)
+ echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
+ exit 1
+esac
+exit 0
+
+--- libjava/configure.ac~ 2008-01-14 15:45:26.698717101 +0100
++++ libjava/configure.ac 2008-01-14 15:47:37.460689616 +0100
+@@ -807,7 +807,7 @@
+ # Some of the ARM unwinder code is actually in libstdc++. We
+ # could in principle replicate it in libgcj, but it's better to
+ # have a dependency on libstdc++.
+- extra_ldflags='-L$(here)/../libstdc++-v3/src/.libs -lstdc++'
++ extra_ldflags='-L$(here)/../libstdc++-v3/src -L$(here)/../libstdc++-v3/src/.libs -lstdc++'
+ LIBSTDCXXSPEC=-lstdc++
+ LIBGCJTESTSPEC="-L`${PWDCMD-pwd}`/.libs -L`${PWDCMD-pwd}`/../libstdc++-v3/src/.libs -rpath `${PWDCMD-pwd}`/.libs:`${PWDCMD-pwd}`/../libstdc++-v3/src/.libs -lstdc++"
+ ;;
diff --git a/recipes/gcc/gcc-4.4.0/debian/libjava-debuginfo.dpatch b/recipes/gcc/gcc-4.4.0/debian/libjava-debuginfo.dpatch
new file mode 100644
index 0000000000..942bbe1f91
--- /dev/null
+++ b/recipes/gcc/gcc-4.4.0/debian/libjava-debuginfo.dpatch
@@ -0,0 +1,43 @@
+#! /bin/sh -e
+
+# DP: Fix java debuginfo breakage.
+
+dir=
+if [ $# -eq 3 -a "$2" = '-d' ]; then
+ pdir="-d $3"
+ dir="$3/"
+elif [ $# -ne 1 ]; then
+ echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
+ exit 1
+fi
+case "$1" in
+ -patch)
+ patch $pdir -f --no-backup-if-mismatch -p0 < $0
+ ;;
+ -unpatch)
+ patch $pdir -f --no-backup-if-mismatch -R -p0 < $0
+ ;;
+ *)
+ echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
+ exit 1
+esac
+exit 0
+
+2008-03-06 Andrew Haley <aph@littlepinkcloud.com>
+
+ * jcf-parse.c (give_name_to_class): Call find_sourcefile fo find full
+ pathname of source file.
+
+Index: jcf-parse.c
+===================================================================
+--- gcc/java/jcf-parse.c (revision 131324)
++++ gcc/java/jcf-parse.c (working copy)
+@@ -1208,7 +1208,7 @@
+ #ifdef USE_MAPPED_LOCATION
+ {
+ tree source_name = identifier_subst (class_name, "", '.', '/', ".java");
+- const char *sfname = IDENTIFIER_POINTER (source_name);
++ const char *sfname = find_sourcefile (IDENTIFIER_POINTER (source_name));
+ linemap_add (line_table, LC_ENTER, false, sfname, 0);
+ input_location = linemap_line_start (line_table, 0, 1);
+ file_start_location = input_location;
diff --git a/recipes/gcc/gcc-4.4.0/debian/libjava-disable-static.dpatch b/recipes/gcc/gcc-4.4.0/debian/libjava-disable-static.dpatch
new file mode 100644
index 0000000000..23f6846c3f
--- /dev/null
+++ b/recipes/gcc/gcc-4.4.0/debian/libjava-disable-static.dpatch
@@ -0,0 +1,45 @@
+#! /bin/sh -e
+
+# DP: Disable building the static libjava.
+
+dir=
+if [ $# -eq 3 -a "$2" = '-d' ]; then
+ pdir="-d $3"
+ dir="$3/"
+elif [ $# -ne 1 ]; then
+ echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
+ exit 1
+fi
+case "$1" in
+ -patch)
+ patch $pdir -f --no-backup-if-mismatch -p0 < $0
+ ;;
+ -unpatch)
+ patch $pdir -f --no-backup-if-mismatch -R -p0 < $0
+ ;;
+ *)
+ echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
+ exit 1
+esac
+exit 0
+
+--- Makefile.in~ 2007-03-26 10:44:16.881179540 +0200
++++ Makefile.in 2007-03-26 10:48:27.564961048 +0200
+@@ -43901,7 +43901,7 @@
+ rm -f no-such-file || : ; \
+ CONFIG_SITE=no-such-file $(SHELL) $${libsrcdir}/configure \
+ $(TARGET_CONFIGARGS) --build=${build_alias} --host=${target_alias} \
+- --target=${target_alias} $${srcdiroption} \
++ --target=${target_alias} --disable-static $${srcdiroption} \
+ || exit 1
+ @endif target-libjava
+
+@@ -44783,7 +44783,7 @@
+ rm -f no-such-file || : ; \
+ CONFIG_SITE=no-such-file $(SHELL) $${libsrcdir}/configure \
+ $(TARGET_CONFIGARGS) --build=${build_alias} --host=${target_alias} \
+- --target=${target_alias} $${srcdiroption} \
++ --target=${target_alias} --disable-static $${srcdiroption} \
+ || exit 1
+ @endif target-boehm-gc
+
diff --git a/recipes/gcc/gcc-4.4.0/debian/libjava-jar.dpatch b/recipes/gcc/gcc-4.4.0/debian/libjava-jar.dpatch
new file mode 100644
index 0000000000..38177b2495
--- /dev/null
+++ b/recipes/gcc/gcc-4.4.0/debian/libjava-jar.dpatch
@@ -0,0 +1,227 @@
+#! /bin/sh -e
+
+# DP: gjar: support @ arguments.
+
+dir=
+if [ $# -eq 3 -a "$2" = '-d' ]; then
+ pdir="-d $3"
+ dir="$3/"
+elif [ $# -ne 1 ]; then
+ echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
+ exit 1
+fi
+case "$1" in
+ -patch)
+ patch $pdir -f --no-backup-if-mismatch -p0 < $0
+ uudecode $0
+ tar -xv -f jar-main-classes.tar.bz2 -C ${dir}libjava
+ rm -f jar-main-classes.tar.bz2*
+ ;;
+ -unpatch)
+ patch $pdir -f --no-backup-if-mismatch -R -p0 < $0
+ ;;
+ *)
+ echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
+ exit 1
+esac
+exit 0
+
+From: Christian Thalinger <twisti@complang.tuwien.ac.at>
+
+While building OpenJDK b16 I noticed that jar does not support @
+arguments. OpenJDK e.g. uses it to import the binary plug files.
+
+This patch adds support for @filelist, where the file filelist may only
+contain files and not options, as the spec says.
+
+Index: libjava/classpath/tools/gnu/classpath/tools/jar/Main.java
+===================================================================
+RCS file: /cvsroot/classpath/classpath/tools/gnu/classpath/tools/jar/Main.java,v
+retrieving revision 1.9
+diff -u -3 -p -r1.9 Main.java
+--- libjava/classpath/tools/gnu/classpath/tools/jar/Main.java 31 Jan 2007 17:05:34 -0000 1.9
++++ libjava/classpath/tools/gnu/classpath/tools/jar/Main.java 23 Jul 2007 18:31:19 -0000
+@@ -47,6 +47,8 @@ import gnu.classpath.tools.getopt.Parser
+
+ import java.io.BufferedReader;
+ import java.io.File;
++import java.io.FileNotFoundException;
++import java.io.FileReader;
+ import java.io.InputStreamReader;
+ import java.io.IOException;
+ import java.text.MessageFormat;
+@@ -102,14 +104,51 @@ public class Main
+ public void notifyFile(String fileArgument)
+ {
+ Entry entry;
++
++ if (fileArgument.charAt(0) == '@')
++ {
++ BufferedReader br = null;
++ String filename;
++
++ try
++ {
++ br =
++ new BufferedReader(new FileReader(fileArgument.substring(1)));
++ }
++ catch (FileNotFoundException fnfe)
++ {
++ System.err.println(fnfe);
++ System.exit(1);
++ }
++
++ try
++ {
++ while ((filename = br.readLine()) != null)
++ addEntry(filename);
++ }
++ catch (IOException ioe)
++ {
++ ioe.printStackTrace();
++ }
++ }
++ else
++ {
++ addEntry(fileArgument);
++ }
++ }
++
++ private final void addEntry(String filename)
++ {
++ Entry entry;
++
+ if (changedDirectory != null)
+ {
+- entry = new Entry(new File(changedDirectory, fileArgument),
+- fileArgument);
++ entry = new Entry(new File(changedDirectory, filename),
++ filename);
+ changedDirectory = null;
+ }
+ else
+- entry = new Entry(new File(fileArgument));
++ entry = new Entry(new File(filename));
+ entries.add(entry);
+ }
+ }
+
+
+begin-base64 644 jar-main-classes.tar.bz2
+QlpoOTFBWSZTWW4Pr8QAFqP/////////////////////////////////////
+////////4BOPr29evtt9a93vvsuw0a9lKAaOfcb1vZ9At3H0B99gLzH0+EA8
+2AFAAVnBDJEBMhPRMkZlDI0Mo2ERp6jE8mjSD0EaDaU9GU/Sm2U0zSDT1MNJ
+k0mBphNG1TxTGpvSaT0xGU02iYEbRoD1NBNqbQ0abU0NNNDJoeoyNtVBkiJp
+kDIGk01NpNpqegniaJoanqeQnqaZNGmj1ANAwhoaGgAaMgAGTQyaaAMgNABo
+ADQaAGQ0AGgDQAAAEIASamamIgNqZAADQDQDQDQAABoAAAADIAAAAAAAAAAA
+AAAAAAAaAAAEhSKYqAfpQ9Q0aGgBoDTQBo9QAPUDTQAZABo0AeoaaAGgAAAA
+NMgA0AAANAAAAAaAA0AAilKek2kKfkU/UHokPCJoek0AaABhMgyPU9R6gBo0
+0AGgDQ0AMQBhDQADID1AAAAAABkAyaMJoAAAESiCZAgTCBpGaTCp7RP1Gqex
+KepsaZU9TDSNP0pp6myIAMn6o2kZHptU0NNAPUGhtQDRoAANAaGgADQAAAAA
+AAANORgXkIhhCi1SRyiIoJ2mm1Wt12x2sXO5wkZ8kLEfmiQoH/XjqQsgDANT
+ZFNpCAbQFPZAlk3xj7KoxTNdac3Clvk4ClApjUVWEBqaOkwUmcJbpFrAK6kH
+JVugdJN5bL/awNpwKg0UMv0kioqlgFCUlJVKVZlasWQNKiRZjxgsDK57Fzlt
+MS5yX0mUs+/UnAuw5+U1LsreBl6iEHAIRb1AHEzxgiE9bn8UY5CCYIgpUA2D
+IU75ihEIgwFJFGXUAlKKshM1GtKZCF8ABMkQQWycWGbVla7wEUKhONOOvSaE
+Ml2HIIE4Q34l9JIGVSyv6S8/AxDc/anjZwM8cNzE3Z9zppdbSl1L7IUn+u/4
++oolwkJ5EgEmMxV1QWVdNHTFiyWKV9JL3PAn7sNzJT5XxPis960sZ2zcIAy6
+EOvAXxtGAB7Nso7phqOEYkxVCzw61oKpIRUBGSmIaXnFKzlcw7crzvi7scA+
+T9KHq+lvA6R7eTLQPw4QrF1EMGFOGnTnUmEODx7iLCnOXC4axUpK3MKFMYKW
+KKPcvYggQ63AVRIdnofk+c8snqEE6CIJSoo8iuXMTNWONXxkCVqAb5bQ1K6W
+FvIBykYuUSzt4uoQ0E06NJ+X8f9cd732JyzFXGcMPPlJEL+vTWLhpQt5tg2C
+nn6CSADH9FyXa7R6+ESbz1oQVRWKsAwb7RnXzxttqqsRj2pEAjY2MQIhFIs+
+Mi0rW4DABwGCIlIAhyBADOUuP4koVDCAEAYkQg4hAveQQAPrLRM2SBj8FCYB
+I1W+yOEuf253jZnF/lyeRjZz8Xb/VPs06E5gNAEe3bDVhBgQQbRwC1LHB6Td
+60Nm90SyBVFXGiCjuVNgwMpdwEtBB2wtq5oCr0LIefo3AoMnRtORq3fSMrdN
+7+fqTxe2s9VtbDwAx8r02YBr474A21QqB5DbfyCCOG0DBAsNo36wjGRIaA6n
+Xe47NowoUECYnFJJBSShgIBnQZZIkAZEx47+mmPB2lDcPQ48c/FZAXtyslVv
+HFYtkBJaAIqxjAXPtc5ht2pfrW0UvDEMTtA/E5fiat+YwdTmWZg4OfPnPxdQ
+WIQBMra5ZkWoD7QM3E2uProCWoCHhCXQ4j+fXpoQmCoc0wpwgxM9EPu7FZ6T
+LKRqvQTEBCYeUtgmwo6+oz7AOGBVZmJo1WTApChGB2zsoB4jHdfZyieoBdnL
+7u7dAC5roqrar7UQwJTbd5lLlgBxCzbw8GIDgvhodKgEmvByIOaayEAGWCsH
+J9b2r+k1DsSvmvxAkrPKJm4nU8y9XMA4RwEc2Q5Go1lssDS1NNH1XVrpR4S8
+ZCmDdcC04HRrdwjhU1Db9fuW9zdz12z12c71TvlOmp36mKH1cPuLhW5I0trQ
+QZRyEhJWKSO8lZYh3ktkRhOg+DYskUcI1IXdWiiCGxP+qYSHK5+JOdfxTL4Y
+h+G1ThDUyTfNYxbE5UufXvzW5k9mC8z6OJj59UBy/ahMMZteibZBRUxqLnOE
+1HNdx+dCG3ETtrkW7q7ekuyEcbfIylkyBZWZarNw9/luOKCdm/f6ITnuwltu
+CJo+4cYnWnvuu2ux41nKvRXgPElS7D1dhJxGOSwE7JS5ODGee72ZWrwPOScI
+PCwgpgdn38AMNwHQtoTIBZzDIl8TxJ2ii9YCmCBE3oqWyQJB06WIgokWWSUy
+FaAHWwtQiDN/J50grj8y4PqSJuP8L9Obd0+mtg7KZhqb82Q1yujZhu8HiN1b
+DWYr1LZSVKfw89kuFLcQXvGS+yiXcUU06GO1R2Ds7P0fsjPvv/hDfR5rNeP1
+mt9LOw+wc40V57YdyxORzFrSg5z7JD6QLRzAublOxjDKiSpWRSlGQdFCq+uw
+oP43PZes0VRy8MQeDGWtXZ4wMSWJA8537JLHCcn7sz3PVxmbBuCniu9Jb7F3
+B1HuVUckdgz8bXzR7t9HE/bN2E3Yyr7xoKa/Qx3f9xYZ6+Q9Fa5leq8a+U8/
+LuKIOYnDxPnhJ2oZquSyugtLa9n2euR7SmcHZpasq1rcccO23zoecN2B2sRA
+axBf1byPSlAA5cm2NsnhKTda+zbaVxVggbxjx9bvd7zGOahDRpEA0BIuvDtW
+47aIokTQA96YwSNx7HH/owBbF2b2z4DKF+aayyV/hSejq47uJcsGCqXEyKep
+Pop0g7FvRISGNfaadcCWMkEOjd29vmWJVG6L+AHVQEhCZRKHGZXvYTDNTeFu
+ITvgL5L7HYX3PbPbR8nsol5n5rgt6TKsn8HNZIkE+hLIDn37DWVVZ8L/KY6H
+L5eqIZSQ/iOPtreek106az16/UNmHRUADiG/qJGwn/Ko8PKe22GYwP6/J0Xz
+u36t0EBz9x4MjX2qABqkQMVYVAZDIGca/rBZNAcjo1AD2Hnx1TBItHbwBhh2
+t53u32lHCvQInNRwInDT704qW6eyn4p+eBu+52XD7aMOYjE0mrwm33Ldj1uK
+AF4s2T43BtQAu5xB2M3Qs5xf/JramLMOYbi22fwAFzk1cd91EFd3iAa2ixhW
+Fof7KYrvU9BY0kxWUCEaTT5pffbjSrsWvEWS2t11gOd0w+wBb9bPdNEDLKAR
+L2qrQIgI0z6lPvrx20G0fzLPxQhHm7KTr/ionm65xv0mcf1+uiwbr3G95kOo
+Xs8312GeaVZ469MoE29+U9QXrCkjG4HUe1lNBCvtCoAUF4z/s+/tfJ5X5NUe
+VEQNuAoa8aQECQPO1X1EJKgFpulnr5YCl8U9dFAnuN5fdUdz4D43IgGECxBO
+gEkgIhAayYPWg9u69niCr6XYMXqFG7obVSpCjX7ipANDPUY0GUBeixp6xpyy
+nTZDN3ncHkKt2/W0ebrJLeMFGtHuYVmXWxpxvX5MQvpgRksPGwsKhfNUOmkE
+grR6VesZqWHnZLyln11T4VSpUpsTablSQA+gjoQpCTsqEEQQRFx+JpjTyWG4
+IIXgb5XRrEtLh6Fc1mml39V5agl1smaqviIcTVtsmGPfbt1ceWcyowhzAQgp
+YwqJ4QSgQwIQECIKlZJa2dj9hTQWJbRNCNPWti6mCA1ishIyCSCB4XVQrq8E
+TX6Xl+B/R9F6PL3GH4FutFwY4CgEAoV3i0vvq7J8/tf18tKeREQPJfwwVZPi
+1sZBb94GK6ixtKHof7oqjV8sH47txn65rdZeld+uZueNIvoyz0enYEUkkIUA
+kUJAjACQVhCQROoJShCPFohQ/U7iwwhYyBCIxIBbEGRVkkSyQvzv9ImJFbWy
+0vmb1XkvjoYua8yx0E235O7uqri3hKdJlCFrdcUZCQZJEkEJFQJFGQQkUZFk
+STW9F6z0IVsVLYoQgyJIUQgjSMihIgkgBIjtKUoPLUgD1IjWKsiJIjIu6JF3
+QE3kCi2RWRkFkUkWRkFhEfeAM72A3fgk1A1CsOPk409yPETyzrh2Dujrnwvw
+JvmhzvDop1e71/h9UE24zrGyBUZgqNTOokRtoKMCMRGhR1JKtvebzD1JdPRE
+G06GvNegCLKAUK75f8otIQIprQHqeEhwqdxF37dUzExc16blxwH2UZF1Td4+
+6mXT0wHCobX/dDZwmeRRNmOuvyRHFc0tBvGwVn7F94zv8nE9V5e48LRfm4Ob
+XCQJLAzRJOaE7G9VMKWNpE78V+D6ne9fwPUcr1Pm8MYpDLGRMT+BfaB6EC6x
+KEqh1iDWpRpRASsaDQAKrRASt3nVOsIAQoEkKXaLCqkAg8migQtwpYubTraQ
+bCvhqUwWenElRTaggHnLF53ClyAWqbkUoptbedSme6zOpZooXXgXwsiaFpTN
+JJbfVShjf62tvQG1SX3hfapjXFuxvNm2mKOdMVIZUKwyGN1L3C2lhAltwF1e
+ytbeGpfVyXFEmdSxTCthbXTbY2kUlKqWSTMpepZbcjfXC2xta5I3KWKXKZMF
+Lr7cZXHFTJha3uJbFM2NLLboGMaRGSnTo10G5w5JSgkCDgHNDXtN5Il4+cfv
+3z5sXbHYi6wCIM5XFKri0CUgIIQpUqKB2VsCwwRWyluUs91cVUsSliS0VFzW
+hVobAbuhiTXoF08hSJSQSecgFkd0gG935gZuZ6wxZZqyvKo3rYYCVqGgqZoS
+QD5Qz+e0hAkiQI2mUzOAGVSeKpWlpmOuHZZ7B2fiFvujsd3XaEulbbJTvBM1
+cBM2mCySbksYSRLSEjs1tMppyDpjJbnaFYGU3gyF9jbIQ2Eyhmh3ikfaSto3
+R8IxCtQJ3PjbmV8bhgb/W+EotbZ5ClEDhHEU1OEut6M9A3ub0RSEdR1Arn+8
+tZuKVAqFvigwiBxMckrkpClINBRjquFodgFd5is9ybI6zPHDSCQDmcxBjyUy
+tmM+7SSjlmltqasGmwjKlMRGyQgBNoY08LAuCbcW5u2XBbgLXlPowKlGeQpM
+ujsWKpSrYwgLtZDk4+RPe3XG28hQCBBbBv58sAhZJIjY8OBidC6hac+35ntz
+hbims4miinCxQE7zFDOppU813hhacCNMkodsAEIqQ2FK0bY/xa/hd5Yvgz2t
+RhUIyB32/4FxbfOnAQbxMxpff6wVgXPcCluI89T3H/h4E6aBoBSlJf6awy9P
+zRUUsivkqSAIGIp2FOae/HbFDnJyTo0EsU5haR8PfiovS8z6tTRnA3SmGUDr
+XkkWu6cdaUBwQ6UlFjBoFddM25Z+RSFVJi3HD8XrtQDAKT8OhmUGwVFLAwt6
+gnCoFjUZalBQQvcqy2tqFaVqm6jvyAT3Gm/zzFW6nUUpiZTlkW/Tw04lGvqw
+wymCU/fe7viv03DG5LGaO3rRAC8LGsV+pE2SlA2049AJf7OzgraFtpclQ4/I
+KtyDE7KEhzL00MHFS62l3Z5TRfksLVJLoLbG5sopxbyhh3dnnuLjjfblMuUi
+lhz5S6yqHPsolLSlCXqUKBW2FaudTkXjwwLAcyex5cWgOxzBoGgDMFAv0kLt
+CnbP0mqi5cQdDMDl1JKskgEdVTf6KmZ2Dt9oMeiYqcR1dhqpQ19Gr0AxQ8gv
+DI2LBA1b3nmfIpv+Y4qN9gaUOyU3Q5vPNjNv3mJiG7JKQEGkBEhyctSMCPoH
+mCBfo8xPDgO9EXsKNBiHiNdIVUKr1IZZrhJCSEkJISQk4YksklCRsEt7VjAX
+WWoWXIvqSQGEL8MipAwt9ltYwElrMpVoX+RviFCW/wtsZIEORBhMTveMUiou
+XgI5gRNRfblNIFUNpF2NAAHsLPzR2ETucqG+bKnYgFo6QNvNnVU983lPTGU7
+Vg8mdXwij5NCideLSbxt0SEUQ9jKFLGodIcmpyJHkqUecvGKxTXUBtU7RQgC
+hNkucFIIRSAnZjAopWjfvwT0vZmC+AZkUC3RoKTuKSa8S2Qx23jnMUtQikbb
+ej6RA8rtczcaxFNemMqDISVohSSIgSAxgkJJIARAy6DL0s+VbMDYdYtHEXeU
+6mmq2KAwESKxQuUogXciroEhipaFy1pQqGVMwgBcgcD0imsXotxctlFmpqS7
+IWUNopCE1jaKURUChVFnOVZogG4gdbOigenYCF8ODz9NQ47xlznsMpeYB3Sm
+hA2fN2dmasOmeD0wOkKgetMvg7jyPMHRM9ggZTkwCaKUJAZJCCwTV13ka5YG
+Q2ygFYmEMI5q0JKKSKqRWtCgMGKcQ4Jab1jgsdlTluSFOqdXQcXKBvFNAYhg
+4ySARilyomyeGkORqF9d01PKDWxuMq82ogYd3DPJIGruqbWCkxo6qm4Jyqhd
+YJsCpVSKqbaBYtksL5xqhTMa0iAVFPUu4WLUVA1VC5ICCRwJBiY9dTQUU7gt
+3zdy62U2i4wArwuNXtNNlppJWHP4p5mABW6ECYqXtMCOuUrHgWFB1ySx7QsA
+dSjnasu7rCoqBMfbVOYJitQL7cq6FHRAkTCAxglpycqKBgIF12YoGoaAMjZR
+QSg24buo61ogBfxdTHAqWil6poFtCBq/WKUW8LRo16ghecDUqoShr3G10Hta
+1w5aLRIXWamrSDvxmYDl7iBwS7SBagA2JsGwNAYRgoxRhMFFs12Stlflw5B8
+tXE2k3i3cZDZ+Lw+m34tWU2NhZYcdS+oLexLCSYvS6EROkz9a1oZEU4PsY/d
+MA5Ikh0JGRRQICk2SHOewE4tERhFZGPCi0eFWG3HFoqJ4a+32Vz3tSBxLLh8
+i5fAukmtTMuY89BplR6YoEhI0WGJM9oaDxQXXWlIMmgfKeZU1uKqc22TdTKG
+Px0ECavqrKNX5xq763V57n8Znf4cn85nlWOcuuR+vFuZl1yZnTU4pLuojZkj
+U5UHF0Nau9MIxl+h0SxD0ovwB59hqqqJoQIbUkIFodSRV5tS+3QAMyGh0GQy
+bRjmandQWPSGJJY/Y4gC5ZRiEXiQ17x/4u5IpwoSDcH1+IA=
+====
diff --git a/recipes/gcc/gcc-4.4.0/debian/libjava-jnipath.dpatch b/recipes/gcc/gcc-4.4.0/debian/libjava-jnipath.dpatch
new file mode 100644
index 0000000000..a33888bf14
--- /dev/null
+++ b/recipes/gcc/gcc-4.4.0/debian/libjava-jnipath.dpatch
@@ -0,0 +1,94 @@
+#! /bin/sh -e
+
+# DP: - Add /usr/lib/jni to java.library.path.
+# DP: - When running the i386 binaries on amd64, look in
+# DP: - /usr/lib32/gcj-x.y and /usr/lib32/jni instead.
+
+dir=
+if [ $# -eq 3 -a "$2" = '-d' ]; then
+ pdir="-d $3"
+ dir="$3/"
+elif [ $# -ne 1 ]; then
+ echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
+ exit 1
+fi
+case "$1" in
+ -patch)
+ patch $pdir -f --no-backup-if-mismatch -p0 < $0
+ ;;
+ -unpatch)
+ patch $pdir -f --no-backup-if-mismatch -R -p0 < $0
+ ;;
+ *)
+ echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
+ exit 1
+esac
+exit 0
+
+--- libjava/gnu/classpath/natSystemProperties.cc~ 2006-08-02 00:53:40.000000000 +0200
++++ libjava/gnu/classpath/natSystemProperties.cc 2006-08-19 00:41:50.063803000 +0200
+@@ -141,6 +141,34 @@
+ return retval;
+ }
+
++static char*
++AppendJniLibdir (char *path, struct utsname *u)
++{
++ char* retval;
++ const char* jnilibdir = "/usr/lib/jni";
++
++#if defined(__linux__) && defined (__i386__)
++ if (! strcmp ("x86_64", u->machine))
++ jnilibdir = "/usr/lib32/jni";
++#endif
++
++ if (path)
++ {
++ jsize total = strlen (path)
++ + (sizeof (PATH_SEPARATOR) - 1) + strlen (jnilibdir) + 1;
++ retval = (char*) _Jv_Malloc (total);
++ strcpy (retval, path);
++ strcat (retval, PATH_SEPARATOR);
++ strcat (retval, jnilibdir);
++ }
++ else
++ {
++ retval = (char*) _Jv_Malloc (strlen (jnilibdir) + 1);
++ strcpy (retval, jnilibdir);
++ }
++ return retval;
++}
++
+ void
+ gnu::classpath::SystemProperties::insertSystemProperties (java::util::Properties *newprops)
+ {
+@@ -370,8 +398,13 @@
+ // Prepend GCJ_VERSIONED_LIBDIR to the module load path so that
+ // libgcj will find its own JNI libraries, like libgtkpeer.so.
+ char* val = PrependVersionedLibdir (path);
+- _Jv_SetDLLSearchPath (val);
++
++ // Append jnilibdir
++ char* val2 = AppendJniLibdir (val, &u);
++
++ _Jv_SetDLLSearchPath (val2);
+ _Jv_Free (val);
++ _Jv_Free (val2);
+ }
+ else
+ {
+@@ -379,9 +412,12 @@
+ #ifdef USE_LTDL
+ char *libpath = getenv (LTDL_SHLIBPATH_VAR);
+ char* val = _Jv_PrependVersionedLibdir (libpath);
+- SET ("java.library.path", val);
+- _Jv_SetDLLSearchPath (val);
++ // Append jnilibdir
++ char* val2 = AppendJniLibdir (val, &u);
++ SET ("java.library.path", val2);
++ _Jv_SetDLLSearchPath (val2);
+ _Jv_Free (val);
++ _Jv_Free (val2);
+ #else
+ SET ("java.library.path", "");
+ #endif
diff --git a/recipes/gcc/gcc-4.4.0/debian/libjava-loading-constraints.dpatch b/recipes/gcc/gcc-4.4.0/debian/libjava-loading-constraints.dpatch
new file mode 100644
index 0000000000..85f13ebe41
--- /dev/null
+++ b/recipes/gcc/gcc-4.4.0/debian/libjava-loading-constraints.dpatch
@@ -0,0 +1,431 @@
+#! /bin/sh -e
+
+# DP: Reimplement loading constraints (taken from the trunk).
+
+dir=
+if [ $# -eq 3 -a "$2" = '-d' ]; then
+ pdir="-d $3"
+ dir="$3/"
+elif [ $# -ne 1 ]; then
+ echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
+ exit 1
+fi
+case "$1" in
+ -patch)
+ patch $pdir -f --no-backup-if-mismatch -p0 < $0
+ uudecode $0
+ tar -xv -f class-loader-classes.tar.bz2 -C ${dir}libjava
+ rm -f class-loader-classes.tar.bz2*
+ ;;
+ -unpatch)
+ patch $pdir -f --no-backup-if-mismatch -R -p0 < $0
+ ;;
+ *)
+ echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
+ exit 1
+esac
+exit 0
+
+2008-03-13 Tom Tromey <tromey@redhat.com>
+
+ * java/lang/natClassLoader.cc (_Jv_RegisterInitiatingLoader):
+ Check loading constraints.
+ (_Jv_CheckOrCreateLoadingConstraint): New function.
+ * java/lang/ClassLoader.java (loadingConstraints): New field.
+ * link.cc (_Jv_Linker::find_field): Use
+ _Jv_CheckOrCreateLoadingConstraint.
+ (_Jv_Linker::check_loading_constraints): New function.
+ (_Jv_Linker::resolve_method_entry): Use
+ check_loading_constraints.
+ (_Jv_Linker::append_partial_itable): Likewise.
+ (_Jv_Linker::layout_vtable_methods): Likewise.
+ * include/jvm.h (_Jv_Linker::check_loading_constraints): Declare.
+ (_Jv_CheckOrCreateLoadingConstraint): Declare.
+
+--- libjava/include/jvm.h.orig 2008-03-21 22:09:54.249100837 +0100
++++ libjava/include/jvm.h 2008-03-21 22:10:20.739500439 +0100
+@@ -1,6 +1,6 @@
+ // jvm.h - Header file for private implementation information. -*- c++ -*-
+
+-/* Copyright (C) 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007 Free Software Foundation
++/* Copyright (C) 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation
+
+ This file is part of libgcj.
+
+@@ -265,6 +265,7 @@
+ jclass, jclass *);
+ static _Jv_Field *find_field(jclass, jclass, jclass *, _Jv_Utf8Const *,
+ _Jv_Utf8Const *);
++ static void check_loading_constraints (_Jv_Method *, jclass, jclass);
+ static void prepare_constant_time_tables(jclass);
+ static jshort get_interfaces(jclass, _Jv_ifaces *);
+ static void link_symbol_table(jclass);
+@@ -557,6 +558,9 @@
+ jboolean is_jni_call = true,
+ jclass iface = NULL);
+
++extern void _Jv_CheckOrCreateLoadingConstraint (jclass,
++ java::lang::ClassLoader *);
++
+ extern jobject _Jv_NewMultiArray (jclass, jint ndims, jint* dims)
+ __attribute__((__malloc__));
+
+--- libjava/java/lang/ClassLoader.h.orig 2008-03-21 22:09:54.249100837 +0100
++++ libjava/java/lang/ClassLoader.h 2008-03-21 22:10:20.749500589 +0100
+@@ -86,6 +86,7 @@
+ void checkInitialized();
+ public: // actually package-private
+ ::java::util::HashMap * __attribute__((aligned(__alignof__( ::java::lang::Object)))) loadedClasses;
++ ::java::util::HashMap * loadingConstraints;
+ ::java::util::HashMap * definedPackages;
+ private:
+ ::java::lang::ClassLoader * parent;
+--- libjava/java/lang/ClassLoader.java.orig 2008-03-21 22:09:54.249100837 +0100
++++ libjava/java/lang/ClassLoader.java 2008-03-21 22:10:20.749500589 +0100
+@@ -1,5 +1,5 @@
+ /* ClassLoader.java -- responsible for loading classes into the VM
+- Copyright (C) 1998, 1999, 2001, 2002, 2003, 2004, 2005, 2006, 2007 Free Software Foundation, Inc.
++ Copyright (C) 1998, 1999, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
+
+ This file is part of GNU Classpath.
+
+@@ -45,6 +45,7 @@
+
+ import java.io.IOException;
+ import java.io.InputStream;
++import java.lang.ref.WeakReference;
+ import java.net.URL;
+ import java.nio.ByteBuffer;
+ import java.security.CodeSource;
+@@ -130,6 +131,15 @@
+ final HashMap loadedClasses = new HashMap();
+
+ /**
++ * Loading constraints registered with this classloader. This maps
++ * a class name to a weak reference to a class. When the reference
++ * is non-null, it means that a reference to the name must resolve
++ * to the indicated class.
++ */
++ final HashMap<String, WeakReference<Class>> loadingConstraints
++ = new HashMap<String, WeakReference<Class>>();
++
++ /**
+ * All packages defined by this classloader. It is not private in order to
+ * allow native code (and trusted subclasses) access to this field.
+ */
+--- libjava/java/lang/natClassLoader.cc.orig 2008-03-21 22:09:54.249100837 +0100
++++ libjava/java/lang/natClassLoader.cc 2008-03-21 22:10:20.749500589 +0100
+@@ -1,6 +1,6 @@
+ // natClassLoader.cc - Implementation of java.lang.ClassLoader native methods.
+
+-/* Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006 Free Software Foundation
++/* Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2008 Free Software Foundation
+
+ This file is part of libgcj.
+
+@@ -41,6 +41,7 @@
+ #include <java/lang/StringBuffer.h>
+ #include <java/io/Serializable.h>
+ #include <java/lang/Cloneable.h>
++#include <java/lang/ref/WeakReference.h>
+ #include <java/util/HashMap.h>
+ #include <gnu/gcj/runtime/BootClassLoader.h>
+ #include <gnu/gcj/runtime/SystemClassLoader.h>
+@@ -143,7 +144,21 @@
+ // them later.
+ return;
+ }
+- loader->loadedClasses->put(klass->name->toString(), klass);
++
++ JvSynchronize sync (loader->loadingConstraints);
++
++ using namespace java::lang::ref;
++
++ jstring name = klass->getName();
++ WeakReference *ref = (WeakReference *) loader->loadingConstraints->get (name);
++ if (ref)
++ {
++ jclass constraint = (jclass) ref->get();
++ if (constraint && constraint != klass)
++ throw new java::lang::LinkageError(JvNewStringLatin1("loading constraint violated"));
++ }
++ loader->loadingConstraints->put(name, new WeakReference(klass));
++ loader->loadedClasses->put(name, klass);
+ }
+
+ // If we found an error while defining an interpreted class, we must
+@@ -156,6 +171,46 @@
+ loader->loadedClasses->remove(klass->name->toString());
+ }
+
++// Check a loading constraint. In particular check that, if there is
++// a constraint for the name of KLASS in LOADER, that it maps to
++// KLASS. If there is no such constraint, make a new one. If the
++// constraint is violated, throw an exception. Do nothing for
++// primitive types.
++void
++_Jv_CheckOrCreateLoadingConstraint (jclass klass,
++ java::lang::ClassLoader *loader)
++{
++ // Strip arrays.
++ while (klass->isArray())
++ klass = klass->getComponentType();
++ // Ignore primitive types.
++ if (klass->isPrimitive())
++ return;
++
++ if (! loader)
++ loader = java::lang::VMClassLoader::bootLoader;
++ jstring name = klass->getName();
++
++ JvSynchronize sync (loader->loadingConstraints);
++
++ using namespace java::lang::ref;
++
++ WeakReference *ref = (WeakReference *) loader->loadingConstraints->get (name);
++ if (ref)
++ {
++ jclass constraint = (jclass) ref->get();
++ if (constraint)
++ {
++ if (klass != constraint)
++ throw new java::lang::LinkageError(JvNewStringLatin1("loading constraint violated"));
++ // Otherwise, all is ok.
++ return;
++ }
++ }
++ // No constraint (or old constraint GC'd). Make a new one.
++ loader->loadingConstraints->put(name, new WeakReference(klass));
++}
++
+
+ // Class registration.
+ //
+--- libjava/link.cc.orig 2008-03-21 22:09:54.249100837 +0100
++++ libjava/link.cc 2008-03-21 22:24:51.692638568 +0100
+@@ -246,13 +246,9 @@
+ if (_Jv_CheckAccess (klass, *found_class, the_field->flags))
+ {
+ // Note that the field returned by find_field_helper is always
+- // resolved. There's no point checking class loaders here,
+- // since we already did the work to look up all the types.
+- // FIXME: being lazy here would be nice.
+- if (the_field->type != field_type)
+- throw new java::lang::LinkageError
+- (JvNewStringLatin1
+- ("field type mismatch with different loaders"));
++ // resolved. However, we still use the constraint mechanism
++ // because this may affect other lookups.
++ _Jv_CheckOrCreateLoadingConstraint (klass, (*found_class)->loader);
+ }
+ else
+ {
+@@ -269,6 +265,23 @@
+ return the_field;
+ }
+
++// Check loading constraints for method.
++void
++_Jv_Linker::check_loading_constraints (_Jv_Method *method, jclass self_class,
++ jclass other_class)
++{
++ JArray<jclass> *klass_args;
++ jclass klass_return;
++
++ _Jv_GetTypesFromSignature (method, self_class, &klass_args, &klass_return);
++ jclass *klass_arg = elements (klass_args);
++ java::lang::ClassLoader *found_loader = other_class->loader;
++
++ _Jv_CheckOrCreateLoadingConstraint (klass_return, found_loader);
++ for (int i = 0; i < klass_args->length; i++)
++ _Jv_CheckOrCreateLoadingConstraint (*(klass_arg++), found_loader);
++}
++
+ _Jv_Method *
+ _Jv_Linker::resolve_method_entry (jclass klass, jclass &found_class,
+ int class_index, int name_and_type_index,
+@@ -359,6 +372,11 @@
+ throw new java::lang::NoSuchMethodError (sb->toString());
+ }
+
++ // if (found_class->loader != klass->loader), then we must actually
++ // check that the types of arguments correspond. JVMS 5.4.3.3.
++ if (found_class->loader != klass->loader)
++ check_loading_constraints (the_method, klass, found_class);
++
+ return the_method;
+ }
+
+@@ -891,7 +909,8 @@
+ continue;
+
+ meth = NULL;
+- for (jclass cl = klass; cl; cl = cl->getSuperclass())
++ jclass cl;
++ for (cl = klass; cl; cl = cl->getSuperclass())
+ {
+ meth = _Jv_GetMethodLocal (cl, iface->methods[j].name,
+ iface->methods[j].signature);
+@@ -913,6 +932,9 @@
+ itable[pos] = (void *) &_Jv_ThrowAbstractMethodError;
+ else
+ itable[pos] = meth->ncode;
++
++ if (cl->loader != iface->loader)
++ check_loading_constraints (meth, cl, iface);
+ }
+ else
+ {
+@@ -1467,6 +1489,11 @@
+ sb->append(_Jv_GetMethodString(declarer, super_meth));
+ throw new VerifyError(sb->toString());
+ }
++ else if (declarer->loader != klass->loader)
++ {
++ // JVMS 5.4.2.
++ check_loading_constraints (meth, klass, declarer);
++ }
+ }
+ }
+
+
+begin 644 class-loader-classes.tar.bz2
+M0EIH.3%!62936;AC>/P`$B'_____________________________________
+M________X!6?>GEKK>IQ%5[=.%0070O6<+;>];;V[[P&^V:]RKXV;8WK.(';
+M!H:"@#;-,'G=N]V!J:30!&B:8AJGFF0-)HGFI/0Q/5/*;3:IY3U-M1,FI^J9
+MXE/`U/5!^J>IYJ>IIIM)LBGIE-IZ)F13]3U3>I-/94:>4>F9)IZDT]0]IJ@V
+MIXH&TGE-/3T:HTQ/4]&C1IJ/4:`T031-,"9":8FIZ&2GM)IZ3$TR:FU&C(GM
+M*/4]1F:4]$>H>4]1X4-I!M1Z&4-!ZC1D]1H]"!B:'H3`:3(,F:FT0>4TQ#0!
+MB-/2:;4T&Q)IZ@:$:!!-11ZGA1C4](V4-`]3(/:H]1Z@`!D`!H:`:`#3T0``
+M!H`!H````]0#30T``]0&@-`-`--`:`)-20C4*>1HRIZGJ#3:GFE,F::@PAZ0
+M'J#)Z@TTT!D;4/1-J>IH!ZAH:`T/*`-#0```!Z@`&FC0````&@!D!H`$````
+M``````!,```````````F``````````````````$P$P)$DT)IH),-)IDTT(VF
+M(1Z*>TIZ3R3PIDT&(#33$T>D&C0R-`-`!H````!H`:``&F@````````:`+40
+MP,AXAHV[384=&=*:I_H[F;&$@=O37@`S\@]IP%T.,X'0,ER*QC?1QSRUW6N"
+M,PD32^QGX&7VT)L,"HQLLV_A$&=,*!-;&"*90<G]>NL**ZQZ$2E+7^&68,XD
+MZ2L-J&VEA="HDKM#=(RL%<VYQV(N8+J6"[8R+"%8U*QHFMD@<E0,.=)F3!)`
+M2:-(NGN;%KG4O>]F7&*"*JQ;(5';J(%2;Q.A.*U0,-@1P8$.WD]@LZ*(+8/Q
+MM2^67GXUDF$[M<L>V*91J,-Q06UU8-K,$JF";`4%N=>X=8:D)$PT3#&JK1PF
+M`6FCDVM\`OR89!US!(FP$DN'GR:J3I?3Z^*W$,PN@9,1IT2%8*V!L&,O3JI5
+M9V7FG=(-/TD2LS&X4'>0H"1[(-_EJ1(\?O,8Y'5]&9\O%]=JW;YJ->]TMO&3
+MUW0O>4K#;_1LB0M"2)(89D*IVLG-0=09=D.?N@!8^15(J,.O%"N5XG;T:=]U
+MW"WV<%9HYM;QMB!+Y"WJQHK6!K:^WW/3<K1[R2NUV5Q5XWM:C9US`BZ29,2Z
+M,W`U*6I`\.)#ZWG*.&8<>,V*>OSZ"6BLCN=38I2D'=Y:$6$(:)"SOK,X#:Q[
+M+:)P*%QZF^?P"D*K7+,D3[+;EK-FHG=U,%,@9&1F0,#/U#$`.FFE[,JK"!;O
+M:9GS/GY-9C;[R4!XZB(Z7S3,MV<H'JQ5!^-/Z_S*OA6F/Z#L-&(@1B!B&I?D
+M1,P9+ASVFS.J%9/AIE.B2<YO]HH+?<\<?D66$Z(3O,VDA!$4IK@`N#!"Q+2)
+M&,TKEB:QKMEEDYVU708``T,-V>8K7!X,$95GI;Z8J?DZ'P>+Y7?/6?7?`%9*
+M`^02!IR^$4LLMO"VFI?+^O'W_728W=<'7?#F4``8K;#,EEEHL;,OS_V0!U'X
+MYR=^^ALB"$9<.8A)%`^@O/])`I]DQ+I`.X^K==RM9DILN(F?W,LG(DP5'`39
+M$54$10]$AH`8>^6;0K'NX(6U0;O<1<#[O)=MYKUGIFC`-RI-]Z5NE8I*`7N\
+MP.=_L@H!(;5?#6K\UD`25NI!)WMYH^/Y7=]5<O$"K1R@9PZFDA#.`N]O_\Z1
+M5X[\?%[EV]8@`:#U6-VAH+P>%:<=$_ZZM,#Q$C&]ER8U+I;GC=BY\)=H@!G:
+M*::N"G;4X5`'0PN6Y<5VGN=;P,')31=0`V9$D"%)UM2:R&$8"]5YMORU$"HS
+M/7UO=R$Q$,I:0QD5]=7*Y2''F17^;O;,JK@Z,(C62SN+OL]]M(NSD4%Q[B&2
+M&2J<!4`*&V6#/)@U5/-SGZ,GNKU8`HV>IK]V"1%2$IU5[:31T2<S6K+")\%Y
+M#H*#TC,$Y%AL^4HT]([O;19QG:88**(!.S&][,+]E2-R#F?WE!7(H!N&VPLV
+M:5H'6`P#*;'%:/<V<#RW$_347>H]L.3$83K6I3-D=3N=JFGTF`<T#W[!!LRF
+M<3"GD,TT;E*@;/BU"7<&PB<H(%M'@EMU`9U0"#,$?)/(&X4^G4XJA#FUBUHU
+MH,!)CO.+>V`>"N?&!Q.>X?6?KJ..`4;;$P#0"V.W"?M+'?RZ%:A<*Y@_/`-1
+M!U]#N0@!1Z5JU84FUAMJ`C_Y")13(2'H+#8C>@3]R@@4/L(:^!\1'5FJ5""%
+M5/?77,VOVZ+Z7SJ,D9`S`Z>`8PI`;JTREAX/[GX:)_=[$[<-,U(C#>L,/.[I
+MXST?5M/GS,HN_X!^9_R3$X5;-TNB<<6FZ7C9DRXX^PX2A78UNM=M?^U9U/:-
+M.BGXEFIAAS7^1P98&8F<.(/@68-LRLL`6'LGE>BHD.V)--&1CAQ`5<*>UII3
+M;XKW@2D6QLG#4MJX-TGPEENNNFN2Z:E*I0*&>SH,:=!$0,`E+UVIY/I['V)F
+M%@TN]]O*>QD]2OR:[I]7UK/;V/8Z=%Z6_I_^M7'7]#2N#>(0,!RGW+Y'6]6^
+MP*;^-[NI.7#\YE(OUB-8VVHLD2-)U):CBZ/3>2,X&+^D\COQG4]".VQ-`W7L
+M&77M;=\/N2ZO?FUO7_2QWP=O&<JZ%ZA!9\3'!8E3.JC*RDYQ\"H^A8;;(VN'
+MSL2S[CA]/Q7.D88(G_Q`AR`J/-!7#&`]CFM=BW/^+&%I\ZVS\TV^=`497QDB
+MQB)OYYXQM9X(2;`3")I1#'R#;LILI0HB:2ULME:82U%-$T-Y^3_4=QA;KP&L
+M)^,`LN6+VBEYU2]-@\TK%F^9R/1[7$-*KD?@-PA337^CO+K!O@.UNA9L38QA
+MT#RL>YIZ')R88;Z]NHM#E7[*!USJT=0I/%4I7'3FT[A+(F7#4WU'Y>'8F5',
+MIRIO=[CWCAV69]2KI4GO%JIWS)^:<ZB0[NEK**[GW^4A,9`A+-$V4PC8P@3:
+MO.(`P&L("Z&-;%R4`V2<9U(0Z7%&_8^HMAM;O"0R$<R_W@4O8FQT,FJ-U;']
+MU@.$9NK/KLX)/VW-597*N8.4YZQ%:C-I]@?%SN`S*?$[N^N^8[7X%N>?)DSJ
+M'<J.U3Q,FO_DPKDJSLVFR!0C9K9?TN(.*G><EIEQ)E$L:1SGH*F:1#+TY=\8
+M?*X&7SXZU\A1Q[SEK@3/P1F//79$!8Z_JL^;`/S_O>!)&7"9$,C'XF[0&Z6.
+MIL,Y:JX1*?TR(3\U!)1HCQ-A0C]'W]I+W2GJ-3&NB;I6+UGQV/_$[UUM(<ID
+M8:0@`&Z`_-GG'3QTU+_VD@J(`^&9G.RZK/[3VF?RJ37#*SU$UU7P7WKWPEA<
+MN^N95&Y[S^;?5J714Y4V@J/3P`L32#.8M#P+Z.3[UX?M/>?(AT56-55502B4
+MK>G@+3QZ44!S.&(-9,W;..KZW'+.G,;]92Q-69=O$!?631=T6+'<.,GG:6HO
+M!D':\:*DSJ#RL!`2PQ-1MFA4%)53Q+;R<FDX^NBZ02].P+P8C5$%OL3X.Y%8
+MXV#T_RRBD1)VD/A>JYJKXF(=))L0%:%@`Z!5,1MX"Z2B-3Z.V,[R[:(T5:)0
+MKAA$^LR-1M)C@J+XG7_)Z4'N0%P/NY;N#UJ-%#I>^=G!W5S=*O369O/^]VVE
+M'%CECI^"]&+I:WL02,K2))",3$77FCNYG&8Q=)IICOX>P-YY?.6.L(MY9V/B
+ME2H0;X3J';+6J>JVK4?RX$EV>\C9^KQXJ]W#QE#/"+:C`S6M#WP;.FX0[8/V
+MZ^JNNY/B3]F<O"V&KV%7AV\W&.Z#N$+Z#%;%'H)_U)G8]"/0B_HEGSQX1/(:
+M(,Y1O\J.8MT<T8&!AQR`!@D1@B&..YV#9+S&8&/>!6S""+$0S3"]]@-4YZ6,
+M.VB_>LTJJK`0(?B!@B#?>N)(N>\E4J@,._BEVJQH9UZGF6D$'Z#F]QO]_?IQ
+MD076O?U[W!?)[*^XF<8A0H4U;M^"K7K0:I7F-^'G-9I]G:Z/9;9T``*$C`%!
+M2;9@IRZ9_ORUU7;3?U+.EI<'D\[?+[=5MCM.-MU1[19N^%0*[>MOVF$EIN!E
+M4)@+'!I4N40H0,$69!5%!8+)39(%1#]OD];SUTGE,O9K;7LG-Q;^V%>5+&P4
+MF&C+VR7:33*+2SR5DKOJ]'B=NGV/CQ4C&@D`8:(C&#;%REE^6Q<TPME.4-%#
+M5?OH!4[CL*K]ECQ-XIEMMZK+NDSUQ*"E5@:B$T%9,Z_>>SZ/&Z9V[X'(8^BP
+M_?G0U6+-"Q/,W-I6=R$@*MV07$R:%`Y:XT2B=!LL*]WAE43PQ%#1*?<.L^]<
+M-!U=/D6T79D]QDY5_#6A71[3:$)$M&(8KHX:0`$1M!JM;9N=-:UG-K9MG6EI
+M"VFV_U;S6E2[>$MRX9RAE#RTU@:[M1(^/X[-(XL#+X!!=EV9,%11E[0.WL^?
+M_Y^OYWVR$\,1T)*#`4`%O&**@W(KLFW59#<UR7[GL$QP%K9(:2*0C!A!2$3Q
+MU0ID-VG^6!9`%`%(]EH[\(=<2%U3V%J0"S%@+)%!^SBV/I9.$N,+R2*+(#&0
+MB@I!$$29N^_7S67?XYLWNIWNK9.<W/RK[<_R6ZYOI='"VL`-:,6`L)HH4B@7
+MEF@S[6.^MP0-%UARQ0+A666DRI*8!RI:@MNJVHRGQ?,>YX^[<8=P;[LS,J$%
+MD%Y=*$F;!A*046"K%(==JE)%@=C3_2M($X7DB&J;=KAR#G47'5[FS2@:4<&\
+MSH1RE_"W+"L5].:MGA[[7[YQZ?VZ+70:1'7=/Z-?XMBM-S5[6K*IV&$9&`9B
+M\,A$HS*E02:"IB--E8MJJ<\T(RZBYA55!0M5%7BH(QO,*7[B_T-0]5S?E2>[
+M9&;C5/=5^%MKY3,.9S65O+I#`7MA0O([NRNY6NW(=8FU2HZ^$:)+Y_1R6\G]
+M[PJKY*'40F!3\;NY>'NI:'J'6_D#X[#">A'G"C&;=-WNHY9KDTO6PYR>C?;)
+M@:F(];UJ![&U]?D*$^!#YF>;0CS;"`_!!@%[DM=CSW8"K\A.2,L$@U'2C9>-
+M5U575S2TLO.YZ/4(,'1GA&">8.($J#2U]5>*=:;XW/)_3D;UA-IM=$O)'&1V
+M^`2*P^&2C`L,NI&@8270C`)Y9+P&O3Y;2__9DF=-^6E20`RC"8,D#)O!-F/*
+M=K*U3"@::!=GY60I$QD',R(TZH1S]9!40-03/9=02"G/IC.QOAE:2+WQDMB4
+M%PUB9.PWWK@TS-F9G%HC0/J((+8(+ED28-HK)E2K*%,8QHO/_G_O\=@_EYWD
+MWF8O)Q,9\+A,1=91HR-U<P>K7WK^Q#N@,&K&/#80>J*$8\G+,<`%BB,<K8"2
+MQ5[A,T3*@.*(8>$D8@9F)-<X(:18KIF*93N2(BA@&AP`)QD(((L(!SYX1S5O
+M@8YIB:PXDX3(94#/*:CRNW4%%6UPP;0FRR[U*\`M8YQ'([NHMRKDFR42L7.M
+M,"Z4HQ$(HO:D!SLK">945F%4)"HG$G(=$Y[Z@6L,"]6]YI8:0M@9F4>JJIJH
+M+;X`!(-#C<P5L,$!.T!*V-:K9J9`Q-/(YIG7X5:6&,I*B+EP4;[[KS2E<4;R
+M!S01L9)A)1P"4*JR'=R.@)'541?OWBX,78[\B6%*.KDKP_^/JN]\M9Q.:J2L
+MQ9O>"%NV-BP]W:.DD*#HJ.@HZ7.I73:LUN0G.$QK%!%!T,=KE4U,%4(NLA`W
+M(=)+=M10:LDP9%I8I6GL5##!R;6-CTXFMM%DU1VUG<$1#/A?V.-PXIC*\2O=
+M[,8=GI0@A@8Y&9@QLJG<>A.I<QIXYQ&#?\)0Q.4I:`..$'1%-@1$,%\7.#P9
+M"2OUTR%?6EMSOC#7N`8##D")5W$['#33:'D@5V5UC&17377$IZ<*KO5%T.$<
+MIQ1&23.5N`D7Y0U>5XL,<<S7:,L:E54@8TM(0[J(-Q;*&5:AN1Z'P)SMUQEZ
+M=C5C;U33J6-GW4Z+H=9^4V73=H\'-4:##I/TZO0UVC14>-VPI<7W%.XOO1##
+M;):P\/79[M>6Y+$S%&118"CL#8B6L#.9HV7GX`"HZQ&EV0^,HIZD%SC3>X$E
+MH4&V0J1-&J(P3O<W3J*BU=;[]Z#D>TEA4BYS9>D;V&&$WB2`-%6T".>F5<.I
+M8L3-XI&_Q4^P%0"07]E9EMV!;<&#38-(VN/"#I`R^,@`5)H;,><7Q;+GTD=B
+M`V+"<<"JMZY5JF.>NF$:&PXB6?`9-&=S&ERO,W0UR0;N$=?-'D;YZW%+FCQU
+M=*Y>NRA"2[[KA8EF;_-=)FLIG`M=*(<)M$\U%D>N#0=N-5;Z2*DP"T9$1F">
+M(X152$R3EWXM--C#,5S%E**K76.*W%^I;$O]+8VF.6^ZR#5R61E0S,VK[RQM
+M7=L"9>=^]K7H10F33U0JZH93NDD5(O@22#V(M=041?=BK)1%QG0,*JA$\`1*
+M]GSC6*)"I:+F.E!F&-=64T,:>\Y*0$-R@;1!A.^BNH)7]^EC4F$OSULI!%J@
+MH@>8Y/3UQE()$44V`.&-IM`V$I85S"6`T\[9:&^P,HV>X16A[4I1N,?DM+1[
+MCIQ<"]=BB@$4CR8D@`B(.1``F<[G,Y$_S2)RS0,*3'QM?T:9Q?(U_1QQLG9Y
+M>8S2S((#CDN/YUA)<L9M-0[BFMX6Z$*1O5;"$<>=61F['.V:"P6[/I$7AJ_E
+M,21@U*X.$6W:IM'75C&!M-H!M#30AL#6-IO4J0->7T"JO+-ULS,XAIZ.(VSW
+M+$+H9G0F30-I<*N.9XG*DD(NM&F;F"A`A>TE</4U[)BAW9DVKM&2G/B3.3BV
+M;M-<DC$;G7QN@VK2#.Y`WQ2J-"G50AE7`A,PI(`I2X*!L0FTDF&MIUF`TR"!
+M%XINHNT1AX5I4J*BI$D=FC<Y^*YM-]<J6LAEAEZDL3)<E`T$Q#JU*:R@*5D;
+M0Q$Q%*5"I_F9I*ZK;(DZ7-J;*&38H8HA$"%/C.@5>ZX4BCEZA17:T&7(HD+=
+ME9L`,-P9DD`$DAD<;X43%3,PB*0Q@%C,@F.L%%=5B,*#?F'&'GE(#,XVK8-C
+M:`>?"V:6=OC"=>5",XU\^4`M2!;%4JV2%'=C@UE+K'P,/)W>S;!`4@<O1/`N
+M&#&,)F48C/B(A@<7=9?%Y.X'+IK8:NC!PU=X^&DS0O9)3@PU#9!$I1!"&P),
+M*QB0QDABQ:L(,<X\`T)HSMEC6+;ZMDK&Q,Z\;S=;`W$U>0D,P"%<QF!GZ):,
+M#BERNM+4*T!+.,N90[:-?00]*<I#<99$2@RY$IWZBEEPB*:5.@@$J6B:3`5I
+M28QR.(03!:/`X)J:Y+7X"I+:<IC)$@SJ]W<$3:!+&0-8Z3%P#(,@VPBJ6TNR
+MY?)W-D17-VR&H*KP5`QQ:T6**28`&R!"0!@2@R<.A*QYEK@IAD2F8"&&TP)D
+M@%0+&E!L`W$-"O>T!/8%JOEJ$58`J;,#4,AMC;:8$T$!)I4F_,[D+YA0V"19
+M4D8UEQ(+!BTC(P8KB)_!$Y]E`5,\1*A`Q11=(!R?EH(BI7!`%A&1((!QKJA/
+M!MT(QC)R8R:T`"N9NGE%*$%=6PPE`()2&]1)R,.;=MP4J>^B:0.3A7&BEG+9
+MYF#;#8(IM!)KP85"ABP515%5B**\[J^!=<KIM%-12+%6*KKZII"EA54TE55(
+MI%JJ+5154M51J<Q==<6_%XR^Z^"LDE)2,83_E6L4>"W'!=JO+Q4%0>F[;:RF
+M^WU6;_GRVY#D^OFGDO5A-"FJ5C37(Z95Y=0JBJGVL..V%W@61Z:"IXVX?;*A
+M6\XAKU*F2D@F0"Q'2(2`\08UB^U]YL'NZ*)JW]"RYCB;U=S"&LT2EP+&689,
+M)&JJKJMCURP6,1@ZAD1$1$``\(`E9&+=K5NV_R>85'/^FVXP5V&<S#:1L^F2
+M(>ON2G03L:#C.+,)EBMYTS[M-_Y!*X$F-D-?<]=X4WUL\JN7'<&"=IUNFD5!
+M"/6'D.?C(^=%^9R`)4GE,Y#JIN&&;EW&A0TK&M.)18\?:!RN)([P%E%<()W2
+M^ND/$6-[M7U1G[UDX7.K8\YLL<_/3.KB*EO[;JKT1XLJN(%K2AYZ.SD\LM`:
+M)RT%&#?Y!_Q_T'*;9T0\/O]JT-.PO'!$8&C<M&,C!13FRZ6*ZJ*:QO6#3[/%
+M).[P;A<G":28QL]T-,$&+#AF4@55!HU4JU0LJ6M4L--JJ$+"+8::04D%6*+"
+?RU2TG1I:U$H06)<TB$BJ$Y,>E_^+N2*<*$A<,;Q^````
+`
+end
diff --git a/recipes/gcc/gcc-4.4.0/debian/libjava-nobiarch-check.dpatch b/recipes/gcc/gcc-4.4.0/debian/libjava-nobiarch-check.dpatch
new file mode 100644
index 0000000000..b32e1050a2
--- /dev/null
+++ b/recipes/gcc/gcc-4.4.0/debian/libjava-nobiarch-check.dpatch
@@ -0,0 +1,44 @@
+#! /bin/sh -e
+
+# DP: For biarch builds, disable the testsuite for the non-default architecture
+# DP: for runtime libraries, which are not built by default (libjava).
+
+dir=
+if [ $# -eq 3 -a "$2" = '-d' ]; then
+ pdir="-d $3"
+ dir="$3/"
+elif [ $# -ne 1 ]; then
+ echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
+ exit 1
+fi
+case "$1" in
+ -patch)
+ patch $pdir -f --no-backup-if-mismatch -p0 < $0
+ ;;
+ -unpatch)
+ patch $pdir -f --no-backup-if-mismatch -R -p0 < $0
+ ;;
+ *)
+ echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
+ exit 1
+esac
+exit 0
+
+--- libjava/testsuite/Makefile.in~ 2005-09-29 23:53:39.213898000 +0200
++++ libjava/testsuite/Makefile.in 2005-09-29 23:55:33.382541760 +0200
+@@ -346,12 +346,14 @@
+
+
+ check-DEJAGNU: site.exp
++ runtestflags="`echo '$(RUNTESTFLAGS)' | sed 's/,-m[36][24]//'`"; \
++ case "$$runtestflags" in *\\{\\}) runtestflags=; esac; \
+ srcdir=`$(am__cd) $(srcdir) && pwd`; export srcdir; \
+ EXPECT=$(EXPECT); export EXPECT; \
+ runtest=$(RUNTEST); \
+ if $(SHELL) -c "$$runtest --version" > /dev/null 2>&1; then \
+ l='$(DEJATOOL)'; for tool in $$l; do \
+- $$runtest $(AM_RUNTESTFLAGS) $(RUNTESTDEFAULTFLAGS) $(RUNTESTFLAGS); \
++ $$runtest $(AM_RUNTESTFLAGS) $(RUNTESTDEFAULTFLAGS) $$runtestflags; \
+ done; \
+ else echo "WARNING: could not find \`runtest'" 1>&2; :;\
+ fi
diff --git a/recipes/gcc/gcc-4.4.0/debian/libjava-realloc-leak.dpatch b/recipes/gcc/gcc-4.4.0/debian/libjava-realloc-leak.dpatch
new file mode 100644
index 0000000000..6bf7a7310f
--- /dev/null
+++ b/recipes/gcc/gcc-4.4.0/debian/libjava-realloc-leak.dpatch
@@ -0,0 +1,79 @@
+#! /bin/sh -e
+
+# DP: Don't leak upon failed realloc (taken from the trunk).
+
+dir=
+if [ $# -eq 3 -a "$2" = '-d' ]; then
+ pdir="-d $3"
+ dir="$3/"
+elif [ $# -ne 1 ]; then
+ echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
+ exit 1
+fi
+case "$1" in
+ -patch)
+ patch $pdir -f --no-backup-if-mismatch -p0 < $0
+ ;;
+ -unpatch)
+ patch $pdir -f --no-backup-if-mismatch -R -p0 < $0
+ ;;
+ *)
+ echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
+ exit 1
+esac
+exit 0
+
+libjava/
+
+2008-03-10 Jim Meyering <meyering@redhat.com>
+
+ Don't leak upon failed realloc.
+ * gnu/classpath/natSystemProperties.cc
+ (SystemProperties::insertSystemProperties):
+
+libjava/classpath/
+
+2008-03-10 Jim Meyering <meyering@redhat.com>
+
+ Don't leak upon failed realloc.
+ * native/jni/classpath/jcl.c (JCL_realloc): Upon failed realloc,
+ free the original buffer before throwing the exception.
+
+Index: libjava/classpath/native/jni/classpath/jcl.c
+===================================================================
+--- libjava/classpath/native/jni/classpath/jcl.c (revision 133093)
++++ libjava/classpath/native/jni/classpath/jcl.c (revision 133094)
+@@ -1,5 +1,5 @@
+ /* jcl.c
+- Copyright (C) 1998, 2005, 2006 Free Software Foundation, Inc.
++ Copyright (C) 1998, 2005, 2006, 2008 Free Software Foundation, Inc.
+
+ This file is part of GNU Classpath.
+
+@@ -152,9 +152,11 @@
+ JNIEXPORT void *JNICALL
+ JCL_realloc (JNIEnv * env, void *ptr, size_t size)
+ {
++ void *orig_ptr = ptr;
+ ptr = realloc (ptr, size);
+ if (ptr == 0)
+ {
++ free (orig_ptr);
+ JCL_ThrowException (env, "java/lang/OutOfMemoryError",
+ "malloc() failed.");
+ return NULL;
+Index: libjava/gnu/classpath/natSystemProperties.cc
+===================================================================
+--- libjava/gnu/classpath/natSystemProperties.cc (revision 133093)
++++ libjava/gnu/classpath/natSystemProperties.cc (revision 133094)
+@@ -270,7 +270,10 @@
+ if (errno != ERANGE)
+ break;
+ buflen = 2 * buflen;
++ char *orig_buf = buffer;
+ buffer = (char *) realloc (buffer, buflen);
++ if (buffer == NULL)
++ free (orig_buf);
+ }
+ if (buffer != NULL)
+ free (buffer);
diff --git a/recipes/gcc/gcc-4.4.0/debian/libjava-rpath.dpatch b/recipes/gcc/gcc-4.4.0/debian/libjava-rpath.dpatch
new file mode 100644
index 0000000000..e9b7f03f5b
--- /dev/null
+++ b/recipes/gcc/gcc-4.4.0/debian/libjava-rpath.dpatch
@@ -0,0 +1,49 @@
+#! /bin/sh -e
+
+# DP: - Link ecjx with -rpath $(dbexecdir)
+
+dir=
+if [ $# -eq 3 -a "$2" = '-d' ]; then
+ pdir="-d $3"
+ dir="$3/"
+elif [ $# -ne 1 ]; then
+ echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
+ exit 1
+fi
+case "$1" in
+ -patch)
+ patch $pdir -f --no-backup-if-mismatch -p0 < $0
+ #cd ${dir}libjava && autoconf
+ ;;
+ -unpatch)
+ patch $pdir -f --no-backup-if-mismatch -R -p0 < $0
+ #rm -f ${dir}libjava/configure
+ ;;
+ *)
+ echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
+ exit 1
+esac
+exit 0
+
+--- libjava/Makefile.am~ 2007-03-04 18:50:01.000000000 +0100
++++ libjava/Makefile.am 2007-03-04 19:19:32.000000000 +0100
+@@ -683,7 +683,7 @@
+ ecjx_LDFLAGS = $(ECJX_BASE_FLAGS) $(ECJ_BUILD_JAR)
+ endif !ENABLE_SHARED
+
+-ecjx_LDADD = -L$(here)/.libs libgcj.la
++ecjx_LDADD = -L$(here)/.libs libgcj.la -rpath $(dbexecdir)
+ ecjx_DEPENDENCIES = libgcj.la libgcj.spec
+
+ else !NATIVE
+--- libjava/Makefile.in~ 2007-03-04 18:50:01.000000000 +0100
++++ libjava/Makefile.in 2007-03-04 19:21:22.000000000 +0100
+@@ -7787,7 +7787,7 @@
+ @ENABLE_SHARED_TRUE@@NATIVE_TRUE@ecjx_LDFLAGS = $(ECJX_BASE_FLAGS) -Djava.class.path=$(ECJ_JAR)
+ @NATIVE_FALSE@ecjx_LDFLAGS = $(ECJX_BASE_FLAGS) $(ECJ_BUILD_JAR)
+ @NATIVE_FALSE@ecjx_LDADD =
+-@NATIVE_TRUE@ecjx_LDADD = -L$(here)/.libs libgcj.la
++@NATIVE_TRUE@ecjx_LDADD = -L$(here)/.libs libgcj.la -rpath $(dbexecdir)
+ @NATIVE_FALSE@ecjx_DEPENDENCIES =
+ @NATIVE_TRUE@ecjx_DEPENDENCIES = libgcj.la libgcj.spec
+ gappletviewer_SOURCES =
diff --git a/recipes/gcc/gcc-4.4.0/debian/libjava-sjlj.dpatch b/recipes/gcc/gcc-4.4.0/debian/libjava-sjlj.dpatch
new file mode 100644
index 0000000000..95b4673b3f
--- /dev/null
+++ b/recipes/gcc/gcc-4.4.0/debian/libjava-sjlj.dpatch
@@ -0,0 +1,65 @@
+#! /bin/sh -e
+
+# DP: Don't try to use _Unwind_Backtrace on SJLJ targets.
+# DP: See bug #387875, #388505, GCC PR 29206.
+
+dir=
+if [ $# -eq 3 -a "$2" = '-d' ]; then
+ pdir="-d $3"
+ dir="$3/"
+elif [ $# -ne 1 ]; then
+ echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
+ exit 1
+fi
+case "$1" in
+ -patch)
+ patch $pdir -f --no-backup-if-mismatch -p1 < $0
+ #cd ${dir}gcc && autoconf
+ ;;
+ -unpatch)
+ patch $pdir -f --no-backup-if-mismatch -R -p1 < $0
+ #rm ${dir}gcc/configure
+ ;;
+ *)
+ echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
+ exit 1
+esac
+exit 0
+
+---
+ libjava/sysdep/generic/backtrace.h | 17 +++++++++++++++++
+ 1 file changed, 17 insertions(+)
+
+Index: src/libjava/sysdep/generic/backtrace.h
+===================================================================
+--- src.orig/libjava/sysdep/generic/backtrace.h 2006-11-06 14:00:32.000000000 -0500
++++ src/libjava/sysdep/generic/backtrace.h 2006-11-06 14:04:38.000000000 -0500
+@@ -13,6 +13,20 @@ details. */
+
+ #include <java-stack.h>
+
++#ifdef SJLJ_EXCEPTIONS
++
++#undef _Unwind_GetIPInfo
++#define _Unwind_GetIPInfo(ctx,ip_before_insn) \
++ (abort (), (void) (ctx), *ip_before_insn = 1, 0)
++
++#undef _Unwind_GetRegionStart
++#define _Unwind_GetRegionStart(ctx) \
++ (abort (), (void) (ctx), 0)
++
++#undef _Unwind_Backtrace
++#define _Unwind_Backtrace(trace_fn,state_ptr) \
++ (fallback_backtrace (trace_fn, state_ptr))
++
+ /* Unwind through the call stack calling TRACE_FN with STATE for every stack
+ frame. Returns the reason why the unwinding was stopped. */
+ _Unwind_Reason_Code
+@@ -20,4 +34,7 @@ fallback_backtrace (_Unwind_Trace_Fn, _J
+ {
+ return _URC_NO_REASON;
+ }
++
++#endif /* SJLJ_EXCEPTIONS */
++
+ #endif
diff --git a/recipes/gcc/gcc-4.4.0/debian/libjava-soname.dpatch b/recipes/gcc/gcc-4.4.0/debian/libjava-soname.dpatch
new file mode 100644
index 0000000000..ccac8a40db
--- /dev/null
+++ b/recipes/gcc/gcc-4.4.0/debian/libjava-soname.dpatch
@@ -0,0 +1,34 @@
+#! /bin/sh -e
+
+# DP: Bump the libgcj soversion.
+
+dir=
+if [ $# -eq 3 -a "$2" = '-d' ]; then
+ pdir="-d $3"
+ dir="$3/"
+elif [ $# -ne 1 ]; then
+ echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
+ exit 1
+fi
+case "$1" in
+ -patch)
+ patch $pdir -f --no-backup-if-mismatch -p0 < $0
+ ;;
+ -unpatch)
+ patch $pdir -f --no-backup-if-mismatch -R -p0 < $0
+ ;;
+ *)
+ echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
+ exit 1
+esac
+exit 0
+
+
+--- libjava/libtool-version~ 2006-01-18 22:52:29.000000000 +0100
++++ libjava/libtool-version 2006-04-03 23:32:44.934656864 +0200
+@@ -3,4 +3,4 @@
+ # a separate file so that version updates don't involve re-running
+ # automake.
+ # CURRENT:REVISION:AGE
+-9:0:0
++90:0:0
diff --git a/recipes/gcc/gcc-4.4.0/debian/libjava-stacktrace.dpatch b/recipes/gcc/gcc-4.4.0/debian/libjava-stacktrace.dpatch
new file mode 100644
index 0000000000..9ace9dfb28
--- /dev/null
+++ b/recipes/gcc/gcc-4.4.0/debian/libjava-stacktrace.dpatch
@@ -0,0 +1,70 @@
+#! /bin/sh -e
+
+# DP: libgcj: Lookup source file name and line number in separated
+# DP: debug files found in /usr/lib/debug
+
+dir=
+if [ $# -eq 3 -a "$2" = '-d' ]; then
+ pdir="-d $3"
+ dir="$3/"
+elif [ $# -ne 1 ]; then
+ echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
+ exit 1
+fi
+case "$1" in
+ -patch)
+ patch $pdir -f --no-backup-if-mismatch -p0 < $0
+ ;;
+ -unpatch)
+ patch $pdir -f --no-backup-if-mismatch -R -p0 < $0
+ ;;
+ *)
+ echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
+ exit 1
+esac
+exit 0
+
+
+--- libjava/stacktrace.cc.orig 2006-06-16 13:54:07.078577632 +0200
++++ libjava/stacktrace.cc 2006-06-16 13:56:08.032189888 +0200
+@@ -20,6 +20,11 @@
+ #endif
+
+ #include <stdio.h>
++#include <stdlib.h>
++#include <string.h>
++#ifdef HAVE_UNISTD_H
++#include <unistd.h>
++#endif
+
+ #include <java/lang/Class.h>
+ #include <java/lang/Long.h>
+@@ -222,6 +227,28 @@
+ finder->lookup (binaryName, (jlong) offset);
+ *sourceFileName = finder->getSourceFile();
+ *lineNum = finder->getLineNum();
++ if (*lineNum == -1 && info.file_name[0] == '/')
++ {
++ const char *debugPrefix = "/usr/lib/debug";
++ char *debugPath = (char *) malloc (strlen(debugPrefix)
++ + strlen(info.file_name)
++ + 2);
++
++ if (debugPath)
++ {
++ strcpy (debugPath, debugPrefix);
++ strcat (debugPath, info.file_name);
++ //printf ("%s: 0x%x\n", debugPath, offset);
++ if (!access (debugPath, R_OK))
++ {
++ binaryName = JvNewStringUTF (debugPath);
++ finder->lookup (binaryName, (jlong) offset);
++ *sourceFileName = finder->getSourceFile();
++ *lineNum = finder->getLineNum();
++ }
++ free (debugPath);
++ }
++ }
+ if (*lineNum == -1 && NameFinder::showRaw())
+ {
+ gnu::gcj::runtime::StringBuffer *t =
diff --git a/recipes/gcc/gcc-4.4.0/debian/libjava-subdir.dpatch b/recipes/gcc/gcc-4.4.0/debian/libjava-subdir.dpatch
new file mode 100644
index 0000000000..ec707b8b5e
--- /dev/null
+++ b/recipes/gcc/gcc-4.4.0/debian/libjava-subdir.dpatch
@@ -0,0 +1,246 @@
+#! /bin/sh -e
+
+# DP: - Set the libjava sublibdir to /usr/lib/gcj-4.3
+# DP: - Set the default libgcj database dir to /var/lib/gcj-4.3
+
+dir=
+if [ $# -eq 3 -a "$2" = '-d' ]; then
+ pdir="-d $3"
+ dir="$3/"
+elif [ $# -ne 1 ]; then
+ echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
+ exit 1
+fi
+case "$1" in
+ -patch)
+ patch $pdir -f --no-backup-if-mismatch -p0 < $0
+ cd ${dir}libjava && aclocal -I . -I .. -I ../config -I libltdl && autoconf
+ ;;
+ -unpatch)
+ patch $pdir -f --no-backup-if-mismatch -R -p0 < $0
+ rm -f ${dir}libjava/configure
+ ;;
+ *)
+ echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
+ exit 1
+esac
+exit 0
+
+--- gcc/java/Make-lang.in.orig 2007-09-06 21:19:09.582719152 +0200
++++ gcc/java/Make-lang.in 2007-09-06 21:20:32.543970604 +0200
+@@ -313,12 +313,13 @@
+ $(CC) -c $(ALL_CFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) $(ZLIBINC) \
+ $(srcdir)/java/jcf-io.c $(OUTPUT_OPTION)
+
++short_version := $(shell echo $(version) | sed -r 's/([0-9]+\.[0-9]+).*/\1/')
+ # jcf-path.o needs a -D.
+ java/jcf-path.o: java/jcf-path.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) \
+ java/jcf.h
+ $(CC) -c $(ALL_CFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) \
+- -DLIBGCJ_ZIP_FILE='"$(datadir)/java/libgcj-$(version).jar"' \
+- -DDEFAULT_TARGET_VERSION=\"$(version)\" \
++ -DLIBGCJ_ZIP_FILE='"$(datadir)/java/libgcj-$(short_version).jar"' \
++ -DDEFAULT_TARGET_VERSION=\"$(short_version)\" \
+ $(srcdir)/java/jcf-path.c $(OUTPUT_OPTION)
+
+ TEXI_JAVA_FILES = java/gcj.texi $(gcc_docdir)/include/fdl.texi \
+--- libjava/classpath/configure.ac.orig 2008-01-13 17:18:19.000000000 +0100
++++ libjava/classpath/configure.ac 2008-01-13 17:18:45.000000000 +0100
+@@ -301,7 +301,7 @@
+ nativeexeclibdir=${withval}
+ ],
+ [
+- nativeexeclibdir='${toolexeclibdir}/gcj-'`cat ${srcdir}/../../gcc/BASE-VER`-`awk -F: '/^[[^#]].*:/ { print $1 }' ${srcdir}/../libtool-version`
++ nativeexeclibdir='${toolexeclibdir}/gcj-'`sed -r 's/([[0-9]]+\.[[0-9]]+).*/\1/' ${srcdir}/../../gcc/BASE-VER`-`awk -F: '/^[[^#]].*:/ { print $1 }' ${srcdir}/../libtool-version`
+ ])
+
+ AC_SUBST(nativeexeclibdir)
+--- libjava/classpath/configure.orig 2008-01-13 17:18:20.000000000 +0100
++++ libjava/classpath/configure 2008-01-13 17:18:45.000000000 +0100
+@@ -4771,7 +4771,7 @@
+
+ else
+
+- nativeexeclibdir='${toolexeclibdir}/gcj-'`cat ${srcdir}/../../gcc/BASE-VER`-`awk -F: '/^[^#].*:/ { print $1 }' ${srcdir}/../libtool-version`
++ nativeexeclibdir='${toolexeclibdir}/gcj-'`sed -r 's/([0-9]+\.[0-9]+).*/\1/' ${srcdir}/../../gcc/BASE-VER`-`awk -F: '/^[^#].*:/ { print $1 }' ${srcdir}/../libtool-version`
+
+ fi;
+
+--- libjava/testsuite/lib/libjava.exp.orig 2008-01-13 17:18:20.000000000 +0100
++++ libjava/testsuite/lib/libjava.exp 2008-01-13 17:18:45.000000000 +0100
+@@ -169,6 +169,7 @@
+ set text [eval exec "$GCJ_UNDER_TEST -B$specdir -v 2>@ stdout"]
+ regexp " version \[^\n\r\]*" $text version
+ set libjava_version [lindex $version 1]
++ set libjava_version "4.3"
+
+ verbose "version: $libjava_version"
+
+--- libjava/testsuite/Makefile.am.orig 2008-01-13 17:18:20.000000000 +0100
++++ libjava/testsuite/Makefile.am 2008-01-13 17:18:45.000000000 +0100
+@@ -4,6 +4,7 @@
+
+ # May be used by various substitution variables.
+ gcc_version := $(shell cat $(top_srcdir)/../gcc/BASE-VER)
++gcc_short_version := $(shell sed -r 's/([0-9]+\.[0-9]+).*/\1/' $(top_srcdir)/../gcc/BASE-VER)
+
+ # autoconf2.13's target_alias
+ target_noncanonical = @target_noncanonical@
+@@ -59,11 +60,11 @@
+ rm -rf $$testtmpdir; $(mkdir_p) $$testtmpdir; \
+ if test -n "$$testdep"; then \
+ $(GCJ) -C -g -w --encoding=UTF-8 -bootclasspath \
+- $(top_builddir)/libgcj-$(gcc_version).jar::$$testtmpdir \
++ $(top_builddir)/libgcj-$(gcc_short_version).jar::$$testtmpdir \
+ -d $$testtmpdir $(srcdir)/$$testdep || exit; \
+ fi; \
+ $(GCJ) -C -g -w --encoding=UTF-8 -bootclasspath \
+- $(top_builddir)/libgcj-$(gcc_version).jar:$$testtmpdir \
++ $(top_builddir)/libgcj-$(gcc_short_version).jar:$$testtmpdir \
+ -d $$testtmpdir $(srcdir)/$$test || exit; \
+ case "$$test" in \
+ libjava.loader/dummy.java) \
+@@ -75,7 +76,7 @@
+ esac; \
+ if test -n "$$genheader"; then \
+ $(MYGCJH) $$genheader $$testtmpdir/*.class \
+- -bootclasspath $(top_builddir)/libgcj-$(gcc_version).jar \
++ -bootclasspath $(top_builddir)/libgcj-$(gcc_short_version).jar \
+ -d $$testtmpdir/ || exit; \
+ mv $$testtmpdir/*.h $(srcdir)/`dirname $$test`/ 2>/dev/null; \
+ fi; \
+--- libjava/testsuite/Makefile.in.orig 2008-01-13 17:18:20.000000000 +0100
++++ libjava/testsuite/Makefile.in 2008-01-13 17:18:45.000000000 +0100
+@@ -327,6 +327,7 @@
+
+ # May be used by various substitution variables.
+ gcc_version := $(shell cat $(top_srcdir)/../gcc/BASE-VER)
++gcc_short_version := $(shell sed -r 's/([0-9]+\.[0-9]+).*/\1/' $(top_srcdir)/../gcc/BASE-VER)
+
+ # Setup the testing framework, if you have one
+ EXPECT = `if [ -f $(top_builddir)/../expect/expect ] ; then \
+@@ -576,11 +577,11 @@
+ @JAVA_MAINTAINER_MODE_TRUE@ rm -rf $$testtmpdir; $(mkdir_p) $$testtmpdir; \
+ @JAVA_MAINTAINER_MODE_TRUE@ if test -n "$$testdep"; then \
+ @JAVA_MAINTAINER_MODE_TRUE@ $(GCJ) -C -g -w --encoding=UTF-8 -bootclasspath \
+-@JAVA_MAINTAINER_MODE_TRUE@ $(top_builddir)/libgcj-$(gcc_version).jar::$$testtmpdir \
++@JAVA_MAINTAINER_MODE_TRUE@ $(top_builddir)/libgcj-$(gcc_short_version).jar::$$testtmpdir \
+ @JAVA_MAINTAINER_MODE_TRUE@ -d $$testtmpdir $(srcdir)/$$testdep || exit; \
+ @JAVA_MAINTAINER_MODE_TRUE@ fi; \
+ @JAVA_MAINTAINER_MODE_TRUE@ $(GCJ) -C -g -w --encoding=UTF-8 -bootclasspath \
+-@JAVA_MAINTAINER_MODE_TRUE@ $(top_builddir)/libgcj-$(gcc_version).jar:$$testtmpdir \
++@JAVA_MAINTAINER_MODE_TRUE@ $(top_builddir)/libgcj-$(gcc_short_version).jar:$$testtmpdir \
+ @JAVA_MAINTAINER_MODE_TRUE@ -d $$testtmpdir $(srcdir)/$$test || exit; \
+ @JAVA_MAINTAINER_MODE_TRUE@ case "$$test" in \
+ @JAVA_MAINTAINER_MODE_TRUE@ libjava.loader/dummy.java) \
+@@ -592,7 +593,7 @@
+ @JAVA_MAINTAINER_MODE_TRUE@ esac; \
+ @JAVA_MAINTAINER_MODE_TRUE@ if test -n "$$genheader"; then \
+ @JAVA_MAINTAINER_MODE_TRUE@ $(MYGCJH) $$genheader $$testtmpdir/*.class \
+-@JAVA_MAINTAINER_MODE_TRUE@ -bootclasspath $(top_builddir)/libgcj-$(gcc_version).jar \
++@JAVA_MAINTAINER_MODE_TRUE@ -bootclasspath $(top_builddir)/libgcj-$(gcc_short_version).jar \
+ @JAVA_MAINTAINER_MODE_TRUE@ -d $$testtmpdir/ || exit; \
+ @JAVA_MAINTAINER_MODE_TRUE@ mv $$testtmpdir/*.h $(srcdir)/`dirname $$test`/ 2>/dev/null; \
+ @JAVA_MAINTAINER_MODE_TRUE@ fi; \
+--- libjava/Makefile.am.orig 2008-01-13 17:18:20.000000000 +0100
++++ libjava/Makefile.am 2008-01-13 17:18:45.000000000 +0100
+@@ -5,7 +5,8 @@
+ ACLOCAL_AMFLAGS = -I . -I .. -I ../config -I libltdl
+
+ # May be used by various substitution variables.
+-gcc_version := $(shell cat $(top_srcdir)/../gcc/BASE-VER)
++gcc_full_version := $(shell cat $(top_srcdir)/../gcc/BASE-VER)
++gcc_version := $(shell sed -r 's/([0-9]+\.[0-9]+).*/\1/' $(top_srcdir)/../gcc/BASE-VER)
+
+ SUBDIRS = $(DIRLTDL) gcj include classpath
+ if TESTSUBDIR
+@@ -27,9 +28,9 @@
+ target_noncanonical = @target_noncanonical@
+
+ # This is required by TL_AC_GXX_INCLUDE_DIR.
+-libsubdir = $(libdir)/gcc/$(target_noncanonical)/$(gcc_version)
++libsubdir = $(libdir)/gcc/$(target_noncanonical)/$(gcc_full_version)
+
+-libexecsubdir = $(libexecdir)/gcc/$(target_noncanonical)/$(gcc_version)
++libexecsubdir = $(libexecdir)/gcc/$(target_noncanonical)/$(gcc_full_version)
+
+ ##
+ ## What gets installed, and where.
+@@ -141,7 +142,7 @@
+ -DGCJ_VERSIONED_LIBDIR="\"$(dbexecdir)\"" \
+ -DPATH_SEPARATOR="\"$(CLASSPATH_SEPARATOR)\"" \
+ -DECJ_JAR_FILE="\"$(ECJ_JAR)\"" \
+- -DLIBGCJ_DEFAULT_DATABASE="\"$(dbexecdir)/$(db_name)\"" \
++ -DLIBGCJ_DEFAULT_DATABASE="\"/var/lib/gcj-4.3/$(db_name)\"" \
+ -DLIBGCJ_DEFAULT_DATABASE_PATH_TAIL="\"$(db_pathtail)\""
+
+ AM_GCJFLAGS = \
+--- libjava/Makefile.in.orig 2008-01-13 17:18:20.000000000 +0100
++++ libjava/Makefile.in 2008-01-13 17:18:45.000000000 +0100
+@@ -816,7 +816,8 @@
+ ACLOCAL_AMFLAGS = -I . -I .. -I ../config -I libltdl
+
+ # May be used by various substitution variables.
+-gcc_version := $(shell cat $(top_srcdir)/../gcc/BASE-VER)
++gcc_full_version := $(shell cat $(top_srcdir)/../gcc/BASE-VER)
++gcc_version := $(shell sed -r 's/([0-9]+\.[0-9]+).*/\1/' $(top_srcdir)/../gcc/BASE-VER)
+ SUBDIRS = $(DIRLTDL) gcj include classpath $(am__append_1)
+
+ # write_entries_to_file - writes each entry in a list
+@@ -829,8 +830,8 @@
+ write_entries_to_file = $(shell rm -f $(2) || :) $(shell touch $(2)) $(foreach object,$(1),$(shell echo $(object) >> $(2)))
+
+ # This is required by TL_AC_GXX_INCLUDE_DIR.
+-libsubdir = $(libdir)/gcc/$(target_noncanonical)/$(gcc_version)
+-libexecsubdir = $(libexecdir)/gcc/$(target_noncanonical)/$(gcc_version)
++libsubdir = $(libdir)/gcc/$(target_noncanonical)/$(gcc_full_version)
++libexecsubdir = $(libexecdir)/gcc/$(target_noncanonical)/$(gcc_full_version)
+ toolexeclib_LTLIBRARIES = libgcj.la libgij.la libgcj-tools.la \
+ $(am__append_2) $(am__append_3)
+ toolexecmainlib_DATA = libgcj.spec
+@@ -875,7 +876,7 @@
+ -DGCJ_VERSIONED_LIBDIR="\"$(dbexecdir)\"" \
+ -DPATH_SEPARATOR="\"$(CLASSPATH_SEPARATOR)\"" \
+ -DECJ_JAR_FILE="\"$(ECJ_JAR)\"" \
+- -DLIBGCJ_DEFAULT_DATABASE="\"$(dbexecdir)/$(db_name)\"" \
++ -DLIBGCJ_DEFAULT_DATABASE="\"/var/lib/gcj-4.3/$(db_name)\"" \
+ -DLIBGCJ_DEFAULT_DATABASE_PATH_TAIL="\"$(db_pathtail)\""
+
+ AM_GCJFLAGS = \
+--- libjava/configure.ac.orig 2008-01-13 17:18:20.000000000 +0100
++++ libjava/configure.ac 2008-01-13 17:18:45.000000000 +0100
+@@ -511,6 +511,9 @@
+ AS_HELP_STRING([--with-java-home=DIRECTORY],
+ [value of java.home system property]),
+ [JAVA_HOME="${withval}"], [JAVA_HOME=""])
++if test -n "$with_multisubdir"; then
++ JAVA_HOME=`echo $JAVA_HOME | sed "s,/usr/lib/,/usr/lib$with_multisubdir/,"`
++fi
+ AM_CONDITIONAL(JAVA_HOME_SET, test ! -z "$JAVA_HOME")
+ AC_SUBST(JAVA_HOME)
+
+@@ -1385,6 +1388,7 @@
+ multi_os_directory=`$CC -print-multi-os-directory`
+ case $multi_os_directory in
+ .) toolexeclibdir=$toolexecmainlibdir ;; # Avoid trailing /.
++ ../lib*) toolexeclibdir='$(subst /lib/../lib,/lib,'$toolexecmainlibdir/$multi_os_directory')' ;;
+ *) toolexeclibdir=$toolexecmainlibdir/$multi_os_directory ;;
+ esac
+ ;;
+@@ -1395,6 +1399,7 @@
+
+ # Determine gcj and libgcj version number.
+ gcjversion=`cat "$srcdir/../gcc/BASE-VER"`
++short_version=`sed -r 's/([[0-9]]+\.[[0-9]]+).*/\1/' $srcdir/../gcc/BASE-VER`
+ libgcj_soversion=`awk -F: '/^[[^#]].*:/ { print $1 }' $srcdir/libtool-version`
+ GCJVERSION=$gcjversion
+ AC_SUBST(GCJVERSION)
+@@ -1402,7 +1407,7 @@
+
+ # Determine where the standard .db file and GNU Classpath JNI
+ # libraries are found.
+-gcjsubdir=gcj-$gcjversion-$libgcj_soversion
++gcjsubdir=gcj-$short_version-$libgcj_soversion
+ multi_os_directory=`$CC -print-multi-os-directory`
+ case $multi_os_directory in
+ .)
diff --git a/recipes/gcc/gcc-4.4.0/debian/libjava-xulrunner1.9.dpatch b/recipes/gcc/gcc-4.4.0/debian/libjava-xulrunner1.9.dpatch
new file mode 100644
index 0000000000..19d67d88ba
--- /dev/null
+++ b/recipes/gcc/gcc-4.4.0/debian/libjava-xulrunner1.9.dpatch
@@ -0,0 +1,41 @@
+#! /bin/sh -e
+
+# DP: Add configure check for xulrunner-1.9.
+
+dir=
+if [ $# -eq 3 -a "$2" = '-d' ]; then
+ pdir="-d $3"
+ dir="$3/"
+elif [ $# -ne 1 ]; then
+ echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
+ exit 1
+fi
+case "$1" in
+ -patch)
+ patch $pdir -f --no-backup-if-mismatch -p0 < $0
+ cd ${dir}libjava/classpath && aclocal -I m4 -I ../.. -I ../../config && autoconf
+ ;;
+ -unpatch)
+ patch $pdir -f --no-backup-if-mismatch -R -p0 < $0
+ rm -f ${dir}libjava/configure
+ ;;
+ *)
+ echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
+ exit 1
+esac
+exit 0
+
+--- libjava/classpath/configure.ac~ 2008-02-22 08:37:10.356094701 +0100
++++ libjava/classpath/configure.ac 2008-02-22 08:38:49.397588719 +0100
+@@ -702,7 +702,10 @@
+
+ dnl Check for plugin support headers and libraries.
+ if test "x${COMPILE_PLUGIN}" = xyes; then
+- PKG_CHECK_MODULES(MOZILLA, mozilla-plugin, [MOZILLA_FOUND=yes], [MOZILLA_FOUND=no])
++ PKG_CHECK_MODULES(MOZILLA, mozilla-plugin libxul-unstable, [MOZILLA_FOUND=yes], [MOZILLA_FOUND=no])
++ if test "x${MOZILLA_FOUND}" = xno; then
++ PKG_CHECK_MODULES(MOZILLA, mozilla-plugin, [MOZILLA_FOUND=yes], [MOZILLA_FOUND=no])
++ fi
+ if test "x${MOZILLA_FOUND}" = xno; then
+ PKG_CHECK_MODULES(MOZILLA, firefox-plugin firefox-xpcom, [MOZILLA_FOUND=yes], [MOZILLA_FOUND=no])
+ fi
diff --git a/recipes/gcc/gcc-4.4.0/debian/libobjc-gc-link.dpatch b/recipes/gcc/gcc-4.4.0/debian/libobjc-gc-link.dpatch
new file mode 100644
index 0000000000..87cb742c77
--- /dev/null
+++ b/recipes/gcc/gcc-4.4.0/debian/libobjc-gc-link.dpatch
@@ -0,0 +1,73 @@
+#! /bin/sh -e
+
+# DP: Link libobjc_gc with libgcjgc_convenience.la.
+
+dir=
+if [ $# -eq 3 -a "$2" = '-d' ]; then
+ pdir="-d $3"
+ dir="$3/"
+elif [ $# -ne 1 ]; then
+ echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
+ exit 1
+fi
+case "$1" in
+ -patch)
+ patch $pdir -f --no-backup-if-mismatch -p0 < $0
+ cd ${dir}libobjc && autoconf
+ ;;
+ -unpatch)
+ patch $pdir -f --no-backup-if-mismatch -R -p0 < $0
+ rm -f ${dir}libobjc/configure
+ ;;
+ *)
+ echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
+ exit 1
+esac
+exit 0
+
+2008-02-06 Matthias Klose <doko@ubuntu.com>
+
+ * configure.ac (OBJC_BOEHM_GC_LIBS): Link with libgcjgc_convenience.la.
+ * configure: Regenerate.
+ * Makefile.in (libobjc_gc$(libsuffix).la): Link with OBJC_BOEHM_GC_LIBS.
+
+--- libobjc/Makefile.in~ 2007-07-05 10:18:52.000000000 +0200
++++ libobjc/Makefile.in 2008-02-07 17:17:17.243167905 +0100
+@@ -95,6 +95,7 @@
+ OBJC_THREAD_FILE=thr-objc
+ OBJC_BOEHM_GC=@OBJC_BOEHM_GC@
+ OBJC_BOEHM_GC_INCLUDES=@OBJC_BOEHM_GC_INCLUDES@
++OBJC_BOEHM_GC_LIBS=@OBJC_BOEHM_GC_LIBS@
+
+ INCLUDES = -I$(srcdir)/objc -I$(srcdir)/$(MULTISRCTOP)../gcc \
+ -I$(srcdir)/$(MULTISRCTOP)../gcc/config \
+@@ -281,6 +282,7 @@
+
+ libobjc_gc$(libsuffix).la: $(OBJS_GC)
+ $(LIBTOOL_LINK) $(CC) -o $@ $(OBJS_GC) \
++ $(OBJC_BOEHM_GC_LIBS) \
+ -rpath $(toolexeclibdir) \
+ -version-info $(LIBOBJC_GC_VERSION) $(extra_ldflags_libobjc)
+
+--- libobjc/configure.ac~ 2007-10-19 15:14:58.000000000 +0200
++++ libobjc/configure.ac 2008-02-07 17:25:15.750386077 +0100
+@@ -66,15 +66,18 @@
+ no)
+ OBJC_BOEHM_GC=''
+ OBJC_BOEHM_GC_INCLUDES=''
++ OBJC_BOEHM_GC_LIBS=''
+ ;;
+ *)
+ OBJC_BOEHM_GC=libobjc_gc.la
+ OBJC_BOEHM_GC_INCLUDES='-I$(top_srcdir)/../boehm-gc/include -I../boehm-gc/include'
++ OBJC_BOEHM_GC_LIBS='../boehm-gc/libgcjgc_convenience.la -pthread'
+ ;;
+ esac],
+ [OBJC_BOEHM_GC=''; OBJC_BOEHM_GC_INCLUDES=''])
+ AC_SUBST(OBJC_BOEHM_GC)
+ AC_SUBST(OBJC_BOEHM_GC_INCLUDES)
++AC_SUBST(OBJC_BOEHM_GC_LIBS)
+
+ # -----------
+ # Directories
+
diff --git a/recipes/gcc/gcc-4.4.0/debian/libssp-gnu.dpatch b/recipes/gcc/gcc-4.4.0/debian/libssp-gnu.dpatch
new file mode 100644
index 0000000000..a0c6acd9fc
--- /dev/null
+++ b/recipes/gcc/gcc-4.4.0/debian/libssp-gnu.dpatch
@@ -0,0 +1,52 @@
+#! /bin/sh -e
+
+# DP: GNU/k*BSD support
+# Author: Aurelien Jarno <aurel32@debian.org>
+# Status: Submitted: http://gcc.gnu.org/ml/gcc-patches/2007-04/msg01962.html
+
+dir=
+if [ $# -eq 3 -a "$2" = '-d' ]; then
+ pdir="-d $3"
+ dir="$3/"
+elif [ $# -ne 1 ]; then
+ echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
+ exit 1
+fi
+case "$1" in
+ -patch)
+ patch $pdir -f --no-backup-if-mismatch -p1 < $0
+ ;;
+ -unpatch)
+ patch $pdir -f --no-backup-if-mismatch -R -p1 < $0
+ ;;
+ *)
+ echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
+ exit 1
+esac
+exit 0
+
+# append the patch here and adjust the -p? flag in the patch calls.
+
+--- src.orig/gcc/configure 2008-03-01 15:51:06 +0100
++++ src/gcc/configure 2008-03-01 16:02:24 +0100
+@@ -17110,7 +17110,7 @@
+ else
+ gcc_cv_libc_provides_ssp=no
+ case "$target" in
+- *-*-linux*)
++ *-*-*-gnu*)
+ if test x$host != x$target || test "x$TARGET_SYSTEM_ROOT" != x; then
+ if test "x$with_sysroot" = x; then
+ glibc_header_dir="${exec_prefix}/${target_noncanonical}/sys-include"
+--- src.orig/gcc/configure.ac 2008-02-01 19:55:55 +0100
++++ src/gcc/configure.ac 2008-03-01 16:02:06 +0100
+@@ -3379,7 +3379,7 @@
+ gcc_cv_libc_provides_ssp,
+ [gcc_cv_libc_provides_ssp=no
+ case "$target" in
+- *-*-linux*)
++ *-*-*-gnu*)
+ if test x$host != x$target || test "x$TARGET_SYSTEM_ROOT" != x; then
+ if test "x$with_sysroot" = x; then
+ glibc_header_dir="${exec_prefix}/${target_noncanonical}/sys-include"
+
diff --git a/recipes/gcc/gcc-4.4.0/debian/libstdc++-doclink.dpatch b/recipes/gcc/gcc-4.4.0/debian/libstdc++-doclink.dpatch
new file mode 100644
index 0000000000..9393296712
--- /dev/null
+++ b/recipes/gcc/gcc-4.4.0/debian/libstdc++-doclink.dpatch
@@ -0,0 +1,51 @@
+#! /bin/sh -e
+
+# DP: adjust hrefs to point to the local documentation
+
+dir=
+if [ $# -eq 3 -a "$2" = '-d' ]; then
+ pdir="-d $3"
+ dir="$3/"
+elif [ $# -ne 1 ]; then
+ echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
+ exit 1
+fi
+case "$1" in
+ -patch)
+ patch $pdir -f --no-backup-if-mismatch -p0 < $0
+ ;;
+ -unpatch)
+ patch $pdir -f --no-backup-if-mismatch -R -p0 < $0
+ ;;
+ *)
+ echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
+ exit 1
+esac
+exit 0
+
+--- libstdc++-v3/doc/doxygen/mainpage.html~ 2008-02-19 21:08:07.375796572 +0100
++++ libstdc++-v3/doc/doxygen/mainpage.html 2008-02-19 21:14:20.841430216 +0100
+@@ -30,8 +30,8 @@
+ <p>There are two types of documentation for libstdc++. One is the
+ distribution documentation, which can be read online
+ <a href="http://gcc.gnu.org/onlinedocs/libstdc++/index.html">here</a>
+- or offline from the file doc/html/index.html in the library source
+- directory.
++ or offline in the documentation directory
++ <a href="documentation.html">here</a>.
+ </p>
+
+ <p>The other type is the source documentation, of which this is the first page.
+@@ -71,9 +71,9 @@
+ This style guide can also be viewed on the <a href="http://gcc.gnu.org/onlinedocs/libstdc++/manual/bk01apas04.html">web</a>.
+
+ <h2>License, Copyright, and Other Lawyerly Verbosity</h2>
+-<p>The libstdc++ documentation is released under
+- <a href="http://gcc.gnu.org/onlinedocs/libstdc++/manual/bk01pt01ch01s02.html">
+- these terms</a>.
++<p>The libstdc++ documentation is released under these terms
++ (<a href="http://gcc.gnu.org/onlinedocs/libstdc++/manual/bk01pt01ch01s02.html">read online</a>, or
++ <a href="17_intro/license.html">read offline</a>).
+ </p>
+ <p>Part of the generated documentation involved comments and notes from
+ SGI, who says we gotta say this:
diff --git a/recipes/gcc/gcc-4.4.0/debian/libstdc++-pic.dpatch b/recipes/gcc/gcc-4.4.0/debian/libstdc++-pic.dpatch
new file mode 100644
index 0000000000..70c9e81542
--- /dev/null
+++ b/recipes/gcc/gcc-4.4.0/debian/libstdc++-pic.dpatch
@@ -0,0 +1,71 @@
+#! /bin/sh -e
+
+# DP: Build and install libstdc++_pic.a library.
+
+dir=
+if [ $# -eq 3 -a "$2" = '-d' ]; then
+ pdir="-d $3"
+ dir="$3/"
+elif [ $# -ne 1 ]; then
+ echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
+ exit 1
+fi
+case "$1" in
+ -patch)
+ patch $pdir -f --no-backup-if-mismatch -p0 < $0
+ ;;
+ -unpatch)
+ patch $pdir -f --no-backup-if-mismatch -R -p0 < $0
+ ;;
+ *)
+ echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
+ exit 1
+esac
+exit 0
+
+diff -ur libstdc++-v3/src/Makefile.am libstdc++-v3/src/Makefile.am
+--- libstdc++-v3/src/Makefile.am~ 2004-04-16 21:04:05.000000000 +0200
++++ libstdc++-v3/src/Makefile.am 2004-07-03 20:22:43.000000000 +0200
+@@ -210,6 +210,10 @@
+ $(OPT_LDFLAGS) $(SECTION_LDFLAGS) $(AM_CXXFLAGS) $(LDFLAGS) -o $@
+
+
++install-exec-local:
++ $(AR) cru libstdc++_pic.a .libs/*.o $(top_builddir)/libsupc++/*.o || touch libstdc++_pic.a
++ $(INSTALL_DATA) libstdc++_pic.a $(DESTDIR)$(toolexeclibdir)
++
+ # Added bits to build debug library.
+ if GLIBCXX_BUILD_DEBUG
+ all-local: build_debug
+diff -ur libstdc++-v3/src/Makefile.in libstdc++-v3/src/Makefile.in
+--- libstdc++-v3/src/Makefile.in 2004-07-03 06:41:13.000000000 +0200
++++ libstdc++-v3/src/Makefile.in 2004-07-03 20:25:05.000000000 +0200
+@@ -611,7 +611,7 @@
+
+ install-data-am: install-data-local
+
+-install-exec-am: install-toolexeclibLTLIBRARIES
++install-exec-am: install-toolexeclibLTLIBRARIES install-exec-local
+
+ install-info: install-info-am
+
+@@ -644,6 +644,7 @@
+ distclean-libtool distclean-tags distdir dvi dvi-am html \
+ html-am info info-am install install-am install-data \
+ install-data-am install-data-local install-exec \
++ install-exec-local \
+ install-exec-am install-info install-info-am install-man \
+ install-strip install-toolexeclibLTLIBRARIES installcheck \
+ installcheck-am installdirs maintainer-clean \
+@@ -729,6 +730,11 @@
+ install_debug:
+ (cd ${debugdir} && $(MAKE) \
+ toolexeclibdir=$(glibcxx_toolexeclibdir)/debug install)
++
++install-exec-local:
++ $(AR) cru libstdc++_pic.a .libs/*.o $(top_builddir)/libsupc++/*.o || touch libstdc++_pic.a
++ $(INSTALL_DATA) libstdc++_pic.a $(DESTDIR)$(toolexeclibdir)
++
+ # Tell versions [3.59,3.63) of GNU make to not export all variables.
+ # Otherwise a system limit (for SysV at least) may be exceeded.
+ .NOEXPORT:
diff --git a/recipes/gcc/gcc-4.4.0/debian/libstdc++-symbols-hppa.dpatch b/recipes/gcc/gcc-4.4.0/debian/libstdc++-symbols-hppa.dpatch
new file mode 100644
index 0000000000..250ec3aae5
--- /dev/null
+++ b/recipes/gcc/gcc-4.4.0/debian/libstdc++-symbols-hppa.dpatch
@@ -0,0 +1,369 @@
+#! /bin/sh -e
+
+# DP: Update libstdc++ baseline symbols for hppa.
+
+dir=
+if [ $# -eq 3 -a "$2" = '-d' ]; then
+ pdir="-d $3"
+ dir="$3/"
+elif [ $# -ne 1 ]; then
+ echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
+ exit 1
+fi
+case "$1" in
+ -patch)
+ patch $pdir -f --no-backup-if-mismatch -p0 < $0
+ ;;
+ -unpatch)
+ patch $pdir -f --no-backup-if-mismatch -R -p0 < $0
+ ;;
+ *)
+ echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
+ exit 1
+esac
+exit 0
+
+Index: libstdc++-v3/config/abi/post/hppa-linux-gnu/baseline_symbols.txt
+===================================================================
+--- libstdc++-v3/config/abi/post/hppa-linux-gnu/baseline_symbols.txt (revision 133733)
++++ libstdc++-v3/config/abi/post/hppa-linux-gnu/baseline_symbols.txt (working copy)
+@@ -33,19 +33,51 @@
+ FUNC:_ZN10__gnu_norm15_List_node_base6unhookEv@@GLIBCXX_3.4
+ FUNC:_ZN10__gnu_norm15_List_node_base7reverseEv@@GLIBCXX_3.4
+ FUNC:_ZN10__gnu_norm15_List_node_base8transferEPS0_S1_@@GLIBCXX_3.4
++FUNC:_ZN11__gnu_debug19_Safe_iterator_base12_M_get_mutexEv@@GLIBCXX_3.4.9
++FUNC:_ZN11__gnu_debug19_Safe_iterator_base16_M_attach_singleEPNS_19_Safe_sequence_baseEb@@GLIBCXX_3.4.9
++FUNC:_ZN11__gnu_debug19_Safe_iterator_base16_M_detach_singleEv@@GLIBCXX_3.4.9
+ FUNC:_ZN11__gnu_debug19_Safe_iterator_base9_M_attachEPNS_19_Safe_sequence_baseEb@@GLIBCXX_3.4
+ FUNC:_ZN11__gnu_debug19_Safe_iterator_base9_M_detachEv@@GLIBCXX_3.4
++FUNC:_ZN11__gnu_debug19_Safe_sequence_base12_M_get_mutexEv@@GLIBCXX_3.4.9
+ FUNC:_ZN11__gnu_debug19_Safe_sequence_base13_M_detach_allEv@@GLIBCXX_3.4
+ FUNC:_ZN11__gnu_debug19_Safe_sequence_base18_M_detach_singularEv@@GLIBCXX_3.4
+ FUNC:_ZN11__gnu_debug19_Safe_sequence_base22_M_revalidate_singularEv@@GLIBCXX_3.4
+ FUNC:_ZN11__gnu_debug19_Safe_sequence_base7_M_swapERS0_@@GLIBCXX_3.4
++FUNC:_ZN14__gnu_parallel9_Settings3getEv@@GLIBCXX_3.4.10
++FUNC:_ZN14__gnu_parallel9_Settings3setERS0_@@GLIBCXX_3.4.10
+ FUNC:_ZN9__gnu_cxx12__atomic_addEPVii@@GLIBCXX_3.4
+ FUNC:_ZN9__gnu_cxx17__pool_alloc_base12_M_get_mutexEv@@GLIBCXX_3.4.2
+ FUNC:_ZN9__gnu_cxx17__pool_alloc_base16_M_get_free_listEj@@GLIBCXX_3.4.2
+ FUNC:_ZN9__gnu_cxx17__pool_alloc_base9_M_refillEj@@GLIBCXX_3.4.2
+ FUNC:_ZN9__gnu_cxx18__exchange_and_addEPVii@@GLIBCXX_3.4
+ FUNC:_ZN9__gnu_cxx18stdio_sync_filebufIcSt11char_traitsIcEE4fileEv@@GLIBCXX_3.4.2
++FUNC:_ZN9__gnu_cxx18stdio_sync_filebufIcSt11char_traitsIcEE4syncEv@@GLIBCXX_3.4.10
++FUNC:_ZN9__gnu_cxx18stdio_sync_filebufIcSt11char_traitsIcEE5uflowEv@@GLIBCXX_3.4.10
++FUNC:_ZN9__gnu_cxx18stdio_sync_filebufIcSt11char_traitsIcEE6xsgetnEPci@@GLIBCXX_3.4.10
++FUNC:_ZN9__gnu_cxx18stdio_sync_filebufIcSt11char_traitsIcEE6xsputnEPKci@@GLIBCXX_3.4.10
++FUNC:_ZN9__gnu_cxx18stdio_sync_filebufIcSt11char_traitsIcEE7seekoffExSt12_Ios_SeekdirSt13_Ios_Openmode@@GLIBCXX_3.4.10
++FUNC:_ZN9__gnu_cxx18stdio_sync_filebufIcSt11char_traitsIcEE7seekposESt4fposI11__mbstate_tESt13_Ios_Openmode@@GLIBCXX_3.4.10
++FUNC:_ZN9__gnu_cxx18stdio_sync_filebufIcSt11char_traitsIcEE8overflowEi@@GLIBCXX_3.4.10
++FUNC:_ZN9__gnu_cxx18stdio_sync_filebufIcSt11char_traitsIcEE9pbackfailEi@@GLIBCXX_3.4.10
++FUNC:_ZN9__gnu_cxx18stdio_sync_filebufIcSt11char_traitsIcEE9underflowEv@@GLIBCXX_3.4.10
++FUNC:_ZN9__gnu_cxx18stdio_sync_filebufIcSt11char_traitsIcEEC1EP8_IO_FILE@@GLIBCXX_3.4.10
++FUNC:_ZN9__gnu_cxx18stdio_sync_filebufIcSt11char_traitsIcEEC2EP8_IO_FILE@@GLIBCXX_3.4.10
++FUNC:_ZN9__gnu_cxx18stdio_sync_filebufIcSt11char_traitsIcEED0Ev@@GLIBCXX_3.4.10
++FUNC:_ZN9__gnu_cxx18stdio_sync_filebufIcSt11char_traitsIcEED1Ev@@GLIBCXX_3.4.10
+ FUNC:_ZN9__gnu_cxx18stdio_sync_filebufIwSt11char_traitsIwEE4fileEv@@GLIBCXX_3.4.2
++FUNC:_ZN9__gnu_cxx18stdio_sync_filebufIwSt11char_traitsIwEE4syncEv@@GLIBCXX_3.4.10
++FUNC:_ZN9__gnu_cxx18stdio_sync_filebufIwSt11char_traitsIwEE5uflowEv@@GLIBCXX_3.4.10
++FUNC:_ZN9__gnu_cxx18stdio_sync_filebufIwSt11char_traitsIwEE6xsgetnEPwi@@GLIBCXX_3.4.10
++FUNC:_ZN9__gnu_cxx18stdio_sync_filebufIwSt11char_traitsIwEE6xsputnEPKwi@@GLIBCXX_3.4.10
++FUNC:_ZN9__gnu_cxx18stdio_sync_filebufIwSt11char_traitsIwEE7seekoffExSt12_Ios_SeekdirSt13_Ios_Openmode@@GLIBCXX_3.4.10
++FUNC:_ZN9__gnu_cxx18stdio_sync_filebufIwSt11char_traitsIwEE7seekposESt4fposI11__mbstate_tESt13_Ios_Openmode@@GLIBCXX_3.4.10
++FUNC:_ZN9__gnu_cxx18stdio_sync_filebufIwSt11char_traitsIwEE8overflowEj@@GLIBCXX_3.4.10
++FUNC:_ZN9__gnu_cxx18stdio_sync_filebufIwSt11char_traitsIwEE9pbackfailEj@@GLIBCXX_3.4.10
++FUNC:_ZN9__gnu_cxx18stdio_sync_filebufIwSt11char_traitsIwEE9underflowEv@@GLIBCXX_3.4.10
++FUNC:_ZN9__gnu_cxx18stdio_sync_filebufIwSt11char_traitsIwEEC1EP8_IO_FILE@@GLIBCXX_3.4.10
++FUNC:_ZN9__gnu_cxx18stdio_sync_filebufIwSt11char_traitsIwEEC2EP8_IO_FILE@@GLIBCXX_3.4.10
++FUNC:_ZN9__gnu_cxx18stdio_sync_filebufIwSt11char_traitsIwEED0Ev@@GLIBCXX_3.4.10
++FUNC:_ZN9__gnu_cxx18stdio_sync_filebufIwSt11char_traitsIwEED1Ev@@GLIBCXX_3.4.10
+ FUNC:_ZN9__gnu_cxx27__verbose_terminate_handlerEv@@CXXABI_1.3
+ FUNC:_ZN9__gnu_cxx6__poolILb0EE10_M_destroyEv@@GLIBCXX_3.4.4
+ FUNC:_ZN9__gnu_cxx6__poolILb0EE13_M_initializeEv@@GLIBCXX_3.4.4
+@@ -53,6 +85,7 @@
+ FUNC:_ZN9__gnu_cxx6__poolILb0EE16_M_reserve_blockEjj@@GLIBCXX_3.4.4
+ FUNC:_ZN9__gnu_cxx6__poolILb1EE10_M_destroyEv@@GLIBCXX_3.4.4
+ FUNC:_ZN9__gnu_cxx6__poolILb1EE13_M_initializeEPFvPvE@@GLIBCXX_3.4.4
++FUNC:_ZN9__gnu_cxx6__poolILb1EE13_M_initializeEv@@GLIBCXX_3.4.6
+ FUNC:_ZN9__gnu_cxx6__poolILb1EE16_M_get_thread_idEv@@GLIBCXX_3.4.4
+ FUNC:_ZN9__gnu_cxx6__poolILb1EE16_M_reclaim_blockEPcj@@GLIBCXX_3.4.4
+ FUNC:_ZN9__gnu_cxx6__poolILb1EE16_M_reserve_blockEjj@@GLIBCXX_3.4.4
+@@ -81,6 +114,7 @@
+ FUNC:_ZNK11__gnu_debug16_Error_formatter10_Parameter20_M_print_descriptionEPKS0_@@GLIBCXX_3.4
+ FUNC:_ZNK11__gnu_debug16_Error_formatter13_M_print_wordEPKc@@GLIBCXX_3.4
+ FUNC:_ZNK11__gnu_debug16_Error_formatter15_M_print_stringEPKc@@GLIBCXX_3.4
++FUNC:_ZNK11__gnu_debug16_Error_formatter17_M_get_max_lengthEv@@GLIBCXX_3.4.10
+ FUNC:_ZNK11__gnu_debug16_Error_formatter8_M_errorEv@@GLIBCXX_3.4
+ FUNC:_ZNK11__gnu_debug19_Safe_iterator_base11_M_singularEv@@GLIBCXX_3.4
+ FUNC:_ZNK11__gnu_debug19_Safe_iterator_base14_M_can_compareERKS0_@@GLIBCXX_3.4
+@@ -203,6 +237,7 @@
+ FUNC:_ZNKSs8max_sizeEv@@GLIBCXX_3.4
+ FUNC:_ZNKSs9_M_ibeginEv@@GLIBCXX_3.4
+ FUNC:_ZNKSsixEj@@GLIBCXX_3.4
++FUNC:_ZNKSt10bad_typeid4whatEv@@GLIBCXX_3.4.9
+ FUNC:_ZNKSt10istrstream5rdbufEv@@GLIBCXX_3.4
+ FUNC:_ZNKSt10moneypunctIcLb0EE10neg_formatEv@@GLIBCXX_3.4
+ FUNC:_ZNKSt10moneypunctIcLb0EE10pos_formatEv@@GLIBCXX_3.4
+@@ -301,6 +336,7 @@
+ FUNC:_ZNKSt11logic_error4whatEv@@GLIBCXX_3.4
+ FUNC:_ZNKSt12__basic_fileIcE7is_openEv@@GLIBCXX_3.4
+ FUNC:_ZNKSt12strstreambuf6pcountEv@@GLIBCXX_3.4
++FUNC:_ZNKSt13bad_exception4whatEv@@GLIBCXX_3.4.9
+ FUNC:_ZNKSt13basic_filebufIcSt11char_traitsIcEE7is_openEv@@GLIBCXX_3.4
+ FUNC:_ZNKSt13basic_filebufIwSt11char_traitsIwEE7is_openEv@@GLIBCXX_3.4
+ FUNC:_ZNKSt13basic_fstreamIcSt11char_traitsIcEE5rdbufEv@@GLIBCXX_3.4
+@@ -353,6 +389,16 @@
+ FUNC:_ZNKSt19basic_ostringstreamIcSt11char_traitsIcESaIcEE5rdbufEv@@GLIBCXX_3.4
+ FUNC:_ZNKSt19basic_ostringstreamIwSt11char_traitsIwESaIwEE3strEv@@GLIBCXX_3.4
+ FUNC:_ZNKSt19basic_ostringstreamIwSt11char_traitsIwESaIwEE5rdbufEv@@GLIBCXX_3.4
++FUNC:_ZNKSt3tr14hashIRKSbIwSt11char_traitsIwESaIwEEEclES6_@@GLIBCXX_3.4.10
++FUNC:_ZNKSt3tr14hashIRKSsEclES2_@@GLIBCXX_3.4.10
++FUNC:_ZNKSt3tr14hashISbIwSt11char_traitsIwESaIwEEEclES4_@@GLIBCXX_3.4.10
++FUNC:_ZNKSt3tr14hashISsEclESs@@GLIBCXX_3.4.10
++FUNC:_ZNKSt3tr14hashIeEclEe@@GLIBCXX_3.4.10
++FUNC:_ZNKSt4hashIRKSbIwSt11char_traitsIwESaIwEEEclES5_@@GLIBCXX_3.4.10
++FUNC:_ZNKSt4hashIRKSsEclES1_@@GLIBCXX_3.4.10
++FUNC:_ZNKSt4hashISbIwSt11char_traitsIwESaIwEEEclES3_@@GLIBCXX_3.4.10
++FUNC:_ZNKSt4hashISsEclESs@@GLIBCXX_3.4.10
++FUNC:_ZNKSt4hashIeEclEe@@GLIBCXX_3.4.10
+ FUNC:_ZNKSt5ctypeIcE10do_tolowerEPcPKc@@GLIBCXX_3.4
+ FUNC:_ZNKSt5ctypeIcE10do_tolowerEc@@GLIBCXX_3.4
+ FUNC:_ZNKSt5ctypeIcE10do_toupperEPcPKc@@GLIBCXX_3.4
+@@ -515,6 +561,7 @@
+ FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES3_RSt8ios_basewm@@GLIBCXX_3.4
+ FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES3_RSt8ios_basewx@@GLIBCXX_3.4
+ FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES3_RSt8ios_basewy@@GLIBCXX_3.4
++FUNC:_ZNKSt8bad_cast4whatEv@@GLIBCXX_3.4.9
+ FUNC:_ZNKSt8ios_base7failure4whatEv@@GLIBCXX_3.4
+ FUNC:_ZNKSt8messagesIcE18_M_convert_to_charERKSs@@GLIBCXX_3.4
+ FUNC:_ZNKSt8messagesIcE20_M_convert_from_charEPc@@GLIBCXX_3.4
+@@ -591,6 +638,7 @@
+ FUNC:_ZNKSt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES3_RSt8ios_basewPK2tmcc@@GLIBCXX_3.4
+ FUNC:_ZNKSt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES3_RSt8ios_basewPK2tmcc@@GLIBCXX_3.4
+ FUNC:_ZNKSt8valarrayIjE4sizeEv@@GLIBCXX_3.4
++FUNC:_ZNKSt9bad_alloc4whatEv@@GLIBCXX_3.4.9
+ FUNC:_ZNKSt9basic_iosIcSt11char_traitsIcEE10exceptionsEv@@GLIBCXX_3.4
+ FUNC:_ZNKSt9basic_iosIcSt11char_traitsIcEE3badEv@@GLIBCXX_3.4
+ FUNC:_ZNKSt9basic_iosIcSt11char_traitsIcEE3eofEv@@GLIBCXX_3.4
+@@ -774,6 +822,17 @@
+ FUNC:_ZNSdD0Ev@@GLIBCXX_3.4
+ FUNC:_ZNSdD1Ev@@GLIBCXX_3.4
+ FUNC:_ZNSdD2Ev@@GLIBCXX_3.4
++FUNC:_ZNSi10_M_extractIPvEERSiRT_@@GLIBCXX_3.4.9
++FUNC:_ZNSi10_M_extractIbEERSiRT_@@GLIBCXX_3.4.9
++FUNC:_ZNSi10_M_extractIdEERSiRT_@@GLIBCXX_3.4.9
++FUNC:_ZNSi10_M_extractIeEERSiRT_@@GLIBCXX_3.4.9
++FUNC:_ZNSi10_M_extractIfEERSiRT_@@GLIBCXX_3.4.9
++FUNC:_ZNSi10_M_extractIjEERSiRT_@@GLIBCXX_3.4.9
++FUNC:_ZNSi10_M_extractIlEERSiRT_@@GLIBCXX_3.4.9
++FUNC:_ZNSi10_M_extractImEERSiRT_@@GLIBCXX_3.4.9
++FUNC:_ZNSi10_M_extractItEERSiRT_@@GLIBCXX_3.4.9
++FUNC:_ZNSi10_M_extractIxEERSiRT_@@GLIBCXX_3.4.9
++FUNC:_ZNSi10_M_extractIyEERSiRT_@@GLIBCXX_3.4.9
+ FUNC:_ZNSi3getEPci@@GLIBCXX_3.4
+ FUNC:_ZNSi3getEPcic@@GLIBCXX_3.4
+ FUNC:_ZNSi3getERSt15basic_streambufIcSt11char_traitsIcEE@@GLIBCXX_3.4
+@@ -833,6 +892,14 @@
+ FUNC:_ZNSo6sentryD1Ev@@GLIBCXX_3.4
+ FUNC:_ZNSo6sentryD2Ev@@GLIBCXX_3.4
+ FUNC:_ZNSo8_M_writeEPKci@@GLIBCXX_3.4
++FUNC:_ZNSo9_M_insertIPKvEERSoT_@@GLIBCXX_3.4.9
++FUNC:_ZNSo9_M_insertIbEERSoT_@@GLIBCXX_3.4.9
++FUNC:_ZNSo9_M_insertIdEERSoT_@@GLIBCXX_3.4.9
++FUNC:_ZNSo9_M_insertIeEERSoT_@@GLIBCXX_3.4.9
++FUNC:_ZNSo9_M_insertIlEERSoT_@@GLIBCXX_3.4.9
++FUNC:_ZNSo9_M_insertImEERSoT_@@GLIBCXX_3.4.9
++FUNC:_ZNSo9_M_insertIxEERSoT_@@GLIBCXX_3.4.9
++FUNC:_ZNSo9_M_insertIyEERSoT_@@GLIBCXX_3.4.9
+ FUNC:_ZNSoC1EPSt15basic_streambufIcSt11char_traitsIcEE@@GLIBCXX_3.4
+ FUNC:_ZNSoC1Ev@@GLIBCXX_3.4
+ FUNC:_ZNSoC2EPSt15basic_streambufIcSt11char_traitsIcEE@@GLIBCXX_3.4
+@@ -1206,6 +1273,17 @@
+ FUNC:_ZNSt13basic_fstreamIwSt11char_traitsIwEED0Ev@@GLIBCXX_3.4
+ FUNC:_ZNSt13basic_fstreamIwSt11char_traitsIwEED1Ev@@GLIBCXX_3.4
+ FUNC:_ZNSt13basic_fstreamIwSt11char_traitsIwEED2Ev@@GLIBCXX_3.4
++FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE10_M_extractIPvEERS2_RT_@@GLIBCXX_3.4.9
++FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE10_M_extractIbEERS2_RT_@@GLIBCXX_3.4.9
++FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE10_M_extractIdEERS2_RT_@@GLIBCXX_3.4.9
++FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE10_M_extractIeEERS2_RT_@@GLIBCXX_3.4.9
++FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE10_M_extractIfEERS2_RT_@@GLIBCXX_3.4.9
++FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE10_M_extractIjEERS2_RT_@@GLIBCXX_3.4.9
++FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE10_M_extractIlEERS2_RT_@@GLIBCXX_3.4.9
++FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE10_M_extractImEERS2_RT_@@GLIBCXX_3.4.9
++FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE10_M_extractItEERS2_RT_@@GLIBCXX_3.4.9
++FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE10_M_extractIxEERS2_RT_@@GLIBCXX_3.4.9
++FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE10_M_extractIyEERS2_RT_@@GLIBCXX_3.4.9
+ FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE3getEPwi@@GLIBCXX_3.4
+ FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE3getEPwiw@@GLIBCXX_3.4
+ FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE3getERSt15basic_streambufIwS1_E@@GLIBCXX_3.4
+@@ -1265,6 +1343,14 @@
+ FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEE6sentryD1Ev@@GLIBCXX_3.4
+ FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEE6sentryD2Ev@@GLIBCXX_3.4
+ FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEE8_M_writeEPKwi@@GLIBCXX_3.4
++FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEE9_M_insertIPKvEERS2_T_@@GLIBCXX_3.4.9
++FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEE9_M_insertIbEERS2_T_@@GLIBCXX_3.4.9
++FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEE9_M_insertIdEERS2_T_@@GLIBCXX_3.4.9
++FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEE9_M_insertIeEERS2_T_@@GLIBCXX_3.4.9
++FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEE9_M_insertIlEERS2_T_@@GLIBCXX_3.4.9
++FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEE9_M_insertImEERS2_T_@@GLIBCXX_3.4.9
++FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEE9_M_insertIxEERS2_T_@@GLIBCXX_3.4.9
++FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEE9_M_insertIyEERS2_T_@@GLIBCXX_3.4.9
+ FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEEC1EPSt15basic_streambufIwS1_E@@GLIBCXX_3.4
+ FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEEC1Ev@@GLIBCXX_3.4
+ FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEEC2EPSt15basic_streambufIwS1_E@@GLIBCXX_3.4
+@@ -1386,6 +1472,7 @@
+ FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE6sbumpcEv@@GLIBCXX_3.4
+ FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE6setbufEPci@@GLIBCXX_3.4
+ FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE6snextcEv@@GLIBCXX_3.4
++FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE6stosscEv@@GLIBCXX_3.4.10
+ FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE6xsgetnEPci@@GLIBCXX_3.4
+ FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE6xsputnEPKci@@GLIBCXX_3.4
+ FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE7pubsyncEv@@GLIBCXX_3.4
+@@ -1424,6 +1511,7 @@
+ FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE6sbumpcEv@@GLIBCXX_3.4
+ FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE6setbufEPwi@@GLIBCXX_3.4
+ FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE6snextcEv@@GLIBCXX_3.4
++FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE6stosscEv@@GLIBCXX_3.4.10
+ FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE6xsgetnEPwi@@GLIBCXX_3.4
+ FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE6xsputnEPKwi@@GLIBCXX_3.4
+ FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE7pubsyncEv@@GLIBCXX_3.4
+@@ -1455,6 +1543,7 @@
+ FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE7seekposESt4fposI11__mbstate_tESt13_Ios_Openmode@@GLIBCXX_3.4
+ FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE8overflowEi@@GLIBCXX_3.4
+ FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE9pbackfailEi@@GLIBCXX_3.4
++FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE9showmanycEv@@GLIBCXX_3.4.6
+ FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE9underflowEv@@GLIBCXX_3.4
+ FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEEC1ERKSsSt13_Ios_Openmode@@GLIBCXX_3.4
+ FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEEC1ESt13_Ios_Openmode@@GLIBCXX_3.4
+@@ -1471,6 +1560,7 @@
+ FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEE7seekposESt4fposI11__mbstate_tESt13_Ios_Openmode@@GLIBCXX_3.4
+ FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEE8overflowEj@@GLIBCXX_3.4
+ FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEE9pbackfailEj@@GLIBCXX_3.4
++FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEE9showmanycEv@@GLIBCXX_3.4.6
+ FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEE9underflowEv@@GLIBCXX_3.4
+ FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEEC1ERKSbIwS1_S2_ESt13_Ios_Openmode@@GLIBCXX_3.4
+ FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEEC1ESt13_Ios_Openmode@@GLIBCXX_3.4
+@@ -1660,10 +1750,16 @@
+ FUNC:_ZNSt5ctypeIwED0Ev@@GLIBCXX_3.4
+ FUNC:_ZNSt5ctypeIwED1Ev@@GLIBCXX_3.4
+ FUNC:_ZNSt5ctypeIwED2Ev@@GLIBCXX_3.4
++FUNC:_ZNSt6__norm15_List_node_base4hookEPS0_@@GLIBCXX_3.4.9
++FUNC:_ZNSt6__norm15_List_node_base4swapERS0_S1_@@GLIBCXX_3.4.9
++FUNC:_ZNSt6__norm15_List_node_base6unhookEv@@GLIBCXX_3.4.9
++FUNC:_ZNSt6__norm15_List_node_base7reverseEv@@GLIBCXX_3.4.9
++FUNC:_ZNSt6__norm15_List_node_base8transferEPS0_S1_@@GLIBCXX_3.4.9
+ FUNC:_ZNSt6gslice8_IndexerC1EjRKSt8valarrayIjES4_@@GLIBCXX_3.4
+ FUNC:_ZNSt6gslice8_IndexerC2EjRKSt8valarrayIjES4_@@GLIBCXX_3.4
+ FUNC:_ZNSt6locale11_M_coalesceERKS_S1_i@@GLIBCXX_3.4
+ FUNC:_ZNSt6locale21_S_normalize_categoryEi@@GLIBCXX_3.4
++FUNC:_ZNSt6locale5_Impl16_M_install_cacheEPKNS_5facetEj@@GLIBCXX_3.4.7
+ FUNC:_ZNSt6locale5_Impl16_M_install_facetEPKNS_2idEPKNS_5facetE@@GLIBCXX_3.4
+ FUNC:_ZNSt6locale5_Impl16_M_replace_facetEPKS0_PKNS_2idE@@GLIBCXX_3.4
+ FUNC:_ZNSt6locale5_Impl19_M_replace_categoryEPKS0_PKPKNS_2idE@@GLIBCXX_3.4
+@@ -1676,6 +1772,7 @@
+ FUNC:_ZNSt6locale5_ImplC2Ej@@GLIBCXX_3.4
+ FUNC:_ZNSt6locale5_ImplD1Ev@@GLIBCXX_3.4
+ FUNC:_ZNSt6locale5_ImplD2Ev@@GLIBCXX_3.4
++FUNC:_ZNSt6locale5facet13_S_get_c_nameEv@@GLIBCXX_3.4.6
+ FUNC:_ZNSt6locale5facet15_S_get_c_localeEv@@GLIBCXX_3.4
+ FUNC:_ZNSt6locale5facet17_S_clone_c_localeERP15__locale_struct@@GLIBCXX_3.4
+ FUNC:_ZNSt6locale5facet18_S_create_c_localeERP15__locale_structPKcS2_@@GLIBCXX_3.4
+@@ -1753,7 +1850,9 @@
+ FUNC:_ZNSt8bad_castD2Ev@@GLIBCXX_3.4
+ FUNC:_ZNSt8ios_base13_M_grow_wordsEib@@GLIBCXX_3.4
+ FUNC:_ZNSt8ios_base15sync_with_stdioEb@@GLIBCXX_3.4
++FUNC:_ZNSt8ios_base17_M_call_callbacksENS_5eventE@@GLIBCXX_3.4.6
+ FUNC:_ZNSt8ios_base17register_callbackEPFvNS_5eventERS_iEi@@GLIBCXX_3.4
++FUNC:_ZNSt8ios_base20_M_dispose_callbacksEv@@GLIBCXX_3.4.6
+ FUNC:_ZNSt8ios_base4InitC1Ev@@GLIBCXX_3.4
+ FUNC:_ZNSt8ios_base4InitC2Ev@@GLIBCXX_3.4
+ FUNC:_ZNSt8ios_base4InitD1Ev@@GLIBCXX_3.4
+@@ -1832,6 +1931,11 @@
+ FUNC:_ZNSt8valarrayIjED1Ev@@GLIBCXX_3.4
+ FUNC:_ZNSt8valarrayIjED2Ev@@GLIBCXX_3.4
+ FUNC:_ZNSt8valarrayIjEixEj@@GLIBCXX_3.4
++FUNC:_ZNSt9__cxx199815_List_node_base4hookEPS0_@@GLIBCXX_3.4.10
++FUNC:_ZNSt9__cxx199815_List_node_base4swapERS0_S1_@@GLIBCXX_3.4.10
++FUNC:_ZNSt9__cxx199815_List_node_base6unhookEv@@GLIBCXX_3.4.10
++FUNC:_ZNSt9__cxx199815_List_node_base7reverseEv@@GLIBCXX_3.4.10
++FUNC:_ZNSt9__cxx199815_List_node_base8transferEPS0_S1_@@GLIBCXX_3.4.10
+ FUNC:_ZNSt9bad_allocD0Ev@@GLIBCXX_3.4
+ FUNC:_ZNSt9bad_allocD1Ev@@GLIBCXX_3.4
+ FUNC:_ZNSt9bad_allocD2Ev@@GLIBCXX_3.4
+@@ -1913,8 +2017,13 @@
+ FUNC:_ZSt14__convert_to_vIfEvPKcRT_RSt12_Ios_IostateRKP15__locale_struct@@GLIBCXX_3.4
+ FUNC:_ZSt14set_unexpectedPFvvE@@GLIBCXX_3.4
+ FUNC:_ZSt15set_new_handlerPFvvE@@GLIBCXX_3.4
++FUNC:_ZSt16__ostream_insertIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_PKS3_i@@GLIBCXX_3.4.9
++FUNC:_ZSt16__ostream_insertIwSt11char_traitsIwEERSt13basic_ostreamIT_T0_ES6_PKS3_i@@GLIBCXX_3.4.9
+ FUNC:_ZSt16__throw_bad_castv@@GLIBCXX_3.4
++FUNC:_ZSt17__copy_streambufsIcSt11char_traitsIcEEiPSt15basic_streambufIT_T0_ES6_@@GLIBCXX_3.4.6
++FUNC:_ZSt17__copy_streambufsIwSt11char_traitsIwEEiPSt15basic_streambufIT_T0_ES6_@@GLIBCXX_3.4.6
+ FUNC:_ZSt17__throw_bad_allocv@@GLIBCXX_3.4
++FUNC:_ZSt17__verify_groupingPKcjRKSs@@GLIBCXX_3.4.10
+ FUNC:_ZSt18_Rb_tree_decrementPKSt18_Rb_tree_node_base@@GLIBCXX_3.4
+ FUNC:_ZSt18_Rb_tree_decrementPSt18_Rb_tree_node_base@@GLIBCXX_3.4
+ FUNC:_ZSt18_Rb_tree_incrementPKSt18_Rb_tree_node_base@@GLIBCXX_3.4
+@@ -1930,6 +2039,8 @@
+ FUNC:_ZSt20__throw_length_errorPKc@@GLIBCXX_3.4
+ FUNC:_ZSt20__throw_out_of_rangePKc@@GLIBCXX_3.4
+ FUNC:_ZSt21_Rb_tree_rotate_rightPSt18_Rb_tree_node_baseRS0_@@GLIBCXX_3.4
++FUNC:_ZSt21__copy_streambufs_eofIcSt11char_traitsIcEEiPSt15basic_streambufIT_T0_ES6_Rb@@GLIBCXX_3.4.9
++FUNC:_ZSt21__copy_streambufs_eofIwSt11char_traitsIwEEiPSt15basic_streambufIT_T0_ES6_Rb@@GLIBCXX_3.4.9
+ FUNC:_ZSt21__throw_bad_exceptionv@@GLIBCXX_3.4
+ FUNC:_ZSt21__throw_runtime_errorPKc@@GLIBCXX_3.4
+ FUNC:_ZSt22__throw_overflow_errorPKc@@GLIBCXX_3.4
+@@ -2162,36 +2273,23 @@
+ FUNC:__cxa_vec_new@@CXXABI_1.3
+ FUNC:__dynamic_cast@@CXXABI_1.3
+ FUNC:__gxx_personality_v0@@CXXABI_1.3
+-FUNC:acosl@@GLIBCXX_3.4.3
+-FUNC:asinl@@GLIBCXX_3.4.3
+-FUNC:atan2l@@GLIBCXX_3.4
+-FUNC:atanl@@GLIBCXX_3.4.3
+-FUNC:ceill@@GLIBCXX_3.4.3
+-FUNC:coshl@@GLIBCXX_3.4
+-FUNC:cosl@@GLIBCXX_3.4
+-FUNC:expl@@GLIBCXX_3.4
+-FUNC:floorl@@GLIBCXX_3.4.3
+-FUNC:fmodl@@GLIBCXX_3.4.3
+-FUNC:frexpl@@GLIBCXX_3.4.3
+-FUNC:hypotl@@GLIBCXX_3.4
+-FUNC:ldexpl@@GLIBCXX_3.4.3
+-FUNC:log10l@@GLIBCXX_3.4
+-FUNC:logl@@GLIBCXX_3.4
+-FUNC:modfl@@GLIBCXX_3.4.3
+-FUNC:powl@@GLIBCXX_3.4
+-FUNC:sinhl@@GLIBCXX_3.4
+-FUNC:sinl@@GLIBCXX_3.4
+-FUNC:sqrtl@@GLIBCXX_3.4
+-FUNC:tanhl@@GLIBCXX_3.4
+-FUNC:tanl@@GLIBCXX_3.4
++FUNC:__signbitl@@GLIBCXX_3.4
+ OBJECT:0:CXXABI_1.3
+ OBJECT:0:CXXABI_1.3.1
++OBJECT:0:CXXABI_1.3.2
+ OBJECT:0:GLIBCXX_3.4
+ OBJECT:0:GLIBCXX_3.4.1
++OBJECT:0:GLIBCXX_3.4.10
+ OBJECT:0:GLIBCXX_3.4.2
+ OBJECT:0:GLIBCXX_3.4.3
+ OBJECT:0:GLIBCXX_3.4.4
+ OBJECT:0:GLIBCXX_3.4.5
++OBJECT:0:GLIBCXX_3.4.6
++OBJECT:0:GLIBCXX_3.4.7
++OBJECT:0:GLIBCXX_3.4.8
++OBJECT:0:GLIBCXX_3.4.9
++OBJECT:1028:_ZNSt3tr18__detail12__prime_listE@@GLIBCXX_3.4.10
++OBJECT:1028:_ZNSt8__detail12__prime_listE@@GLIBCXX_3.4.10
+ OBJECT:12:_ZTIN10__cxxabiv116__enum_type_infoE@@CXXABI_1.3
+ OBJECT:12:_ZTIN10__cxxabiv117__array_type_infoE@@CXXABI_1.3
+ OBJECT:12:_ZTIN10__cxxabiv117__class_type_infoE@@CXXABI_1.3
+@@ -3135,6 +3233,8 @@
+ OBJECT:8:_ZGVNSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE2idE@@GLIBCXX_3.4
+ OBJECT:8:_ZGVNSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE2idE@@GLIBCXX_3.4
+ OBJECT:8:_ZGVNSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE2idE@@GLIBCXX_3.4
++OBJECT:8:_ZTIN10__cxxabiv115__forced_unwindE@@CXXABI_1.3.2
++OBJECT:8:_ZTIN10__cxxabiv119__foreign_exceptionE@@CXXABI_1.3.2
+ OBJECT:8:_ZTINSt6locale5facetE@@GLIBCXX_3.4
+ OBJECT:8:_ZTISt10ctype_base@@GLIBCXX_3.4
+ OBJECT:8:_ZTISt10money_base@@GLIBCXX_3.4
diff --git a/recipes/gcc/gcc-4.4.0/debian/link-libs.dpatch b/recipes/gcc/gcc-4.4.0/debian/link-libs.dpatch
new file mode 100644
index 0000000000..340d5a51be
--- /dev/null
+++ b/recipes/gcc/gcc-4.4.0/debian/link-libs.dpatch
@@ -0,0 +1,157 @@
+#! /bin/sh -e
+
+dir=
+if [ $# -eq 3 -a "$2" = '-d' ]; then
+ pdir="-d $3"
+ dir="$3/"
+elif [ $# -ne 1 ]; then
+ echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
+ exit 1
+fi
+case "$1" in
+ -patch)
+ patch $pdir -f --no-backup-if-mismatch -p0 < $0
+ ;;
+ -unpatch)
+ patch $pdir -f --no-backup-if-mismatch -R -p0 < $0
+ ;;
+ *)
+ echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
+ exit 1
+esac
+exit 0
+
+--- gcc/config/t-slibgcc-elf-ver.orig 2006-10-03 18:16:53.094898500 +0200
++++ gcc/config/t-slibgcc-elf-ver 2006-10-03 18:17:40.061833750 +0200
+@@ -14,6 +14,7 @@
+ SHLIB_LINK = $(GCC_FOR_TARGET) $(LIBGCC2_CFLAGS) -shared -nodefaultlibs \
+ -Wl,--soname=$(SHLIB_SONAME) \
+ -Wl,--version-script=$(SHLIB_MAP) \
++ -Wl,-O1 \
+ -o $(SHLIB_DIR)/$(SHLIB_SONAME).tmp @multilib_flags@ \
+ $(SHLIB_OBJS) $(SHLIB_LC) && \
+ rm -f $(SHLIB_DIR)/$(SHLIB_SOLINK) && \
+--- libstdc++-v3/src/Makefile.am.orig 2006-10-03 18:16:53.186904250 +0200
++++ libstdc++-v3/src/Makefile.am 2006-10-03 18:17:40.121837500 +0200
+@@ -185,6 +185,7 @@
+ libstdc___la_DEPENDENCIES = ${version_dep} $(libstdc___la_LIBADD)
+
+ libstdc___la_LDFLAGS = \
++ -Wl,-O1 \
+ -version-info $(libtool_VERSION) ${version_arg} -lm
+
+ # Use special rules for the deprecated source files so that they find
+--- libstdc++-v3/src/Makefile.in.orig 2006-10-03 18:16:53.206905500 +0200
++++ libstdc++-v3/src/Makefile.in 2006-10-03 18:17:40.137838500 +0200
+@@ -387,6 +387,7 @@
+
+ libstdc___la_DEPENDENCIES = ${version_dep} $(libstdc___la_LIBADD)
+ libstdc___la_LDFLAGS = \
++ -Wl,-O1 \
+ -version-info $(libtool_VERSION) ${version_arg} -lm
+
+
+--- libobjc/Makefile.in.orig 2006-10-03 18:16:53.098898750 +0200
++++ libobjc/Makefile.in 2006-10-03 18:17:40.061833750 +0200
+@@ -276,11 +276,13 @@
+ libobjc$(libext).la: $(OBJS)
+ $(LIBTOOL_LINK) $(CC) -o $@ $(OBJS) \
+ -rpath $(toolexeclibdir) \
++ -Wl,-O1 \
+ -version-info $(LIBOBJC_VERSION) $(extra_ldflags_libobjc)
+
+ libobjc_gc$(libext).la: $(OBJS_GC)
+ $(LIBTOOL_LINK) $(CC) -o $@ $(OBJS_GC) \
+ -rpath $(toolexeclibdir) \
++ -Wl,-O1 \
+ -version-info $(LIBOBJC_GC_VERSION) $(extra_ldflags_libobjc)
+
+ #
+--- libgfortran/Makefile.am.orig 2006-10-03 18:16:53.102899000 +0200
++++ libgfortran/Makefile.am 2006-10-03 18:18:59.566802500 +0200
+@@ -7,7 +7,7 @@
+ gcc_version := $(shell cat $(top_srcdir)/../gcc/BASE-VER)
+
+ toolexeclib_LTLIBRARIES = libgfortran.la
+-libgfortran_la_LDFLAGS = -version-info `grep -v '^\#' $(srcdir)/libtool-version` -lm $(extra_ldflags_libgfortran)
++libgfortran_la_LDFLAGS = -version-info `grep -v '^\#' $(srcdir)/libtool-version` -lm $(extra_ldflags_libgfortran) -Wl,-O1
+
+ myexeclib_LTLIBRARIES = libgfortranbegin.la
+ myexeclibdir = $(libdir)/gcc/$(target_alias)/$(gcc_version)$(MULTISUBDIR)
+--- libgfortran/Makefile.in.orig 2006-10-03 18:16:53.106899250 +0200
++++ libgfortran/Makefile.in 2006-10-03 18:19:17.543926000 +0200
+@@ -359,7 +359,7 @@
+ ACLOCAL_AMFLAGS = -I ../config
+ gcc_version := $(shell cat $(top_srcdir)/../gcc/BASE-VER)
+ toolexeclib_LTLIBRARIES = libgfortran.la
+-libgfortran_la_LDFLAGS = -version-info `grep -v '^\#' $(srcdir)/libtool-version` -lm $(extra_ldflags_libgfortran)
++libgfortran_la_LDFLAGS = -version-info `grep -v '^\#' $(srcdir)/libtool-version` -lm $(extra_ldflags_libgfortran) -Wl,-O1
+ myexeclib_LTLIBRARIES = libgfortranbegin.la
+ myexeclibdir = $(libdir)/gcc/$(target_alias)/$(gcc_version)$(MULTISUBDIR)
+ libgfortranbegin_la_SOURCES = fmain.c
+--- libmudflap/Makefile.am.orig 2006-10-03 18:16:53.182904000 +0200
++++ libmudflap/Makefile.am 2006-10-03 18:17:40.117837250 +0200
+@@ -34,7 +34,7 @@
+ mf-hooks2.c
+ libmudflap_la_LIBADD =
+ libmudflap_la_DEPENDENCIES = $(libmudflap_la_LIBADD)
+-libmudflap_la_LDFLAGS = -version-info `grep -v '^\#' $(srcdir)/libtool-version`
++libmudflap_la_LDFLAGS = -version-info `grep -v '^\#' $(srcdir)/libtool-version` -Wl,-O1
+
+ clean-local:
+ rm -f pth/*.o pth/*.lo
+--- libmudflap/Makefile.in.orig 2006-10-03 18:16:53.182904000 +0200
++++ libmudflap/Makefile.in 2006-10-03 18:17:40.121837500 +0200
+@@ -241,7 +241,7 @@
+
+ libmudflap_la_LIBADD =
+ libmudflap_la_DEPENDENCIES = $(libmudflap_la_LIBADD)
+-libmudflap_la_LDFLAGS = -version-info `grep -v '^\#' $(srcdir)/libtool-version`
++libmudflap_la_LDFLAGS = -version-info `grep -v '^\#' $(srcdir)/libtool-version` -Wl,-O1
+ libmudflapth_la_SOURCES =
+ libmudflapth_la_LIBADD = \
+ pth/mf-runtime.lo \
+--- libffi/Makefile.am.orig 2006-10-03 18:16:53.098898750 +0200
++++ libffi/Makefile.am 2006-10-03 18:17:40.061833750 +0200
+@@ -154,7 +154,7 @@
+
+ AM_CFLAGS = -Wall -g -fexceptions
+
+-libffi_la_LDFLAGS = -version-info `grep -v '^\#' $(srcdir)/libtool-version`
++libffi_la_LDFLAGS = -version-info `grep -v '^\#' $(srcdir)/libtool-version` -Wl,-O1
+
+ AM_CPPFLAGS = -I. -I$(top_srcdir)/include -Iinclude -I$(top_srcdir)/src
+ AM_CCASFLAGS = $(AM_CPPFLAGS)
+--- libffi/Makefile.in.orig 2006-10-03 18:16:53.102899000 +0200
++++ libffi/Makefile.in 2006-10-03 18:17:40.065834000 +0200
+@@ -436,7 +436,7 @@
+ libffi_convenience_la_SOURCES = $(libffi_la_SOURCES)
+ nodist_libffi_convenience_la_SOURCES = $(nodist_libffi_la_SOURCES)
+ AM_CFLAGS = -Wall -g -fexceptions
+-libffi_la_LDFLAGS = -version-info `grep -v '^\#' $(srcdir)/libtool-version`
++libffi_la_LDFLAGS = -version-info `grep -v '^\#' $(srcdir)/libtool-version` -Wl,-O1
+ AM_CPPFLAGS = -I. -I$(top_srcdir)/include -Iinclude -I$(top_srcdir)/src
+ AM_CCASFLAGS = $(AM_CPPFLAGS)
+ all: fficonfig.h
+--- libjava/Makefile.am.orig 2006-10-03 18:16:53.130900750 +0200
++++ libjava/Makefile.am 2006-10-03 18:17:40.093835750 +0200
+@@ -97,7 +97,7 @@
+ GCJLINK = $(LIBTOOL) --tag=GCJ --mode=link $(GCJ) -L$(here) $(JC1FLAGS) \
+ $(LDFLAGS) -o $@
+ LIBLINK = $(LIBTOOL) --tag=CXX --mode=link $(CXX) -L$(here) $(JC1FLAGS) \
+- $(LDFLAGS) $(extra_ldflags_libjava) -o $@
++ $(LDFLAGS) $(extra_ldflags_libjava) -Wl,-O1 -o $@
+
+ GCC_UNWIND_INCLUDE = @GCC_UNWIND_INCLUDE@
+
+--- libjava/Makefile.in.orig 2006-10-03 18:16:53.162902750 +0200
++++ libjava/Makefile.in 2006-10-03 18:17:40.117837250 +0200
+@@ -733,7 +733,7 @@
+ $(LDFLAGS) -o $@
+
+ LIBLINK = $(LIBTOOL) --tag=CXX --mode=link $(CXX) -L$(here) $(JC1FLAGS) \
+- $(LDFLAGS) $(extra_ldflags_libjava) -o $@
++ $(LDFLAGS) $(extra_ldflags_libjava) -Wl,-O1 -o $@
+
+ WARNINGS = -Wextra -Wall
+ AM_CXXFLAGS = \
diff --git a/recipes/gcc/gcc-4.4.0/debian/mips-triarch.dpatch b/recipes/gcc/gcc-4.4.0/debian/mips-triarch.dpatch
new file mode 100644
index 0000000000..5738bb4791
--- /dev/null
+++ b/recipes/gcc/gcc-4.4.0/debian/mips-triarch.dpatch
@@ -0,0 +1,61 @@
+#! /bin/sh -e
+
+# DP: Patch author: Stuart Anderson <anderson@netsweng.com>
+# DP: Upstream status: Not submitted
+# DP: Description: add full tri-arch support. Include linux64.h also fix up
+# DP: Description: the directory names so that o32 is the default and follow
+# DP: Description: the glibc convention for 32 & 64 bit names
+
+dir=
+if [ $# -eq 3 -a "$2" = '-d' ]; then
+ pdir="-d $3"
+ dir="$3/"
+elif [ $# -ne 1 ]; then
+ echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
+ exit 1
+fi
+case "$1" in
+ -patch)
+ patch $pdir -f --no-backup-if-mismatch -p1 < $0
+ ;;
+ -unpatch)
+ patch $pdir -f --no-backup-if-mismatch -R -p1 < $0
+ ;;
+ *)
+ echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
+ exit 1
+esac
+exit 0
+
+--- src/gcc/config/mips/linux64.h 2007-08-02 12:49:31.000000000 +0200
++++ src/gcc/config/mips/linux64.h 2008-03-14 14:33:41.000000000 +0100
+@@ -24,7 +24,7 @@
+ #define DRIVER_SELF_SPECS \
+ NO_SHARED_SPECS \
+ " %{!EB:%{!EL:%(endian_spec)}}" \
+-" %{!mabi=*: -mabi=n32}"
++" %{!mabi=*: -mabi=32}"
+
+ #undef SUBTARGET_ASM_SPEC
+ #define SUBTARGET_ASM_SPEC "\
+--- src/gcc/config/mips/t-linux64 2006-06-06 14:51:24.000000000 +0200
++++ src/gcc/config/mips/t-linux64 2008-03-14 14:26:21.000000000 +0100
+@@ -1,5 +1,5 @@
+ MULTILIB_OPTIONS = mabi=n32/mabi=32/mabi=64
+-MULTILIB_DIRNAMES = n32 32 64
++MULTILIB_DIRNAMES = n32 . 64
+ MULTILIB_OSDIRNAMES = ../lib32 ../lib ../lib64
+
+ EXTRA_MULTILIB_PARTS=crtbegin.o crtend.o crtbeginS.o crtendS.o crtbeginT.o
+--- src/gcc/config.gcc 2008-01-29 17:28:10.000000000 +0100
++++ src/gcc/config.gcc 2008-03-14 14:26:21.000000000 +0100
+@@ -1680,7 +1680,8 @@
+ test x$with_llsc != x || with_llsc=yes
+ ;;
+ mips*-*-linux*) # Linux MIPS, either endian.
+- tm_file="dbxelf.h elfos.h svr4.h linux.h ${tm_file} mips/linux.h"
++ tm_file="dbxelf.h elfos.h svr4.h linux.h ${tm_file} mips/linux.h mips/linux64.h"
++ tmake_file="${tmake_file} mips/t-linux64"
+ case ${target} in
+ mipsisa32r2*)
+ tm_defines="${tm_defines} MIPS_ISA_DEFAULT=33"
diff --git a/recipes/gcc/gcc-4.4.0/debian/mudflap-nocheck.dpatch b/recipes/gcc/gcc-4.4.0/debian/mudflap-nocheck.dpatch
new file mode 100644
index 0000000000..9f8f025d82
--- /dev/null
+++ b/recipes/gcc/gcc-4.4.0/debian/mudflap-nocheck.dpatch
@@ -0,0 +1,36 @@
+#! /bin/sh -e
+
+# DP: Disable running the libmudflap testsuite. Getting killed on alpha.
+
+dir=
+if [ $# -eq 3 -a "$2" = '-d' ]; then
+ pdir="-d $3"
+ dir="$3/"
+elif [ $# -ne 1 ]; then
+ echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
+ exit 1
+fi
+case "$1" in
+ -patch)
+ patch $pdir -f --no-backup-if-mismatch -p0 < $0
+ ;;
+ -unpatch)
+ patch $pdir -f --no-backup-if-mismatch -R -p0 < $0
+ ;;
+ *)
+ echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
+ exit 1
+esac
+exit 0
+
+--- libmudflap/testsuite/Makefile.in~ 2005-09-23 18:33:47.000000000 +0200
++++ libmudflap/testsuite/Makefile.in 2006-03-25 20:31:45.044903808 +0100
+@@ -218,6 +218,8 @@
+
+
+ check-DEJAGNU: site.exp
++ @echo target $@ disabled for Debian build.
++check-DEJAGNU-disabled: site.exp
+ srcdir=`$(am__cd) $(srcdir) && pwd`; export srcdir; \
+ EXPECT=$(EXPECT); export EXPECT; \
+ runtest=$(RUNTEST); \
diff --git a/recipes/gcc/gcc-4.4.0/debian/multiarch-include.dpatch b/recipes/gcc/gcc-4.4.0/debian/multiarch-include.dpatch
new file mode 100644
index 0000000000..2580444e7d
--- /dev/null
+++ b/recipes/gcc/gcc-4.4.0/debian/multiarch-include.dpatch
@@ -0,0 +1,138 @@
+#! /bin/sh -e
+
+# DP: biarch-include.dpatch
+# DP:
+# DP: Adds biarch include directories
+# DP: /usr/local/include/<arch>-linux-gnu
+# DP: /usr/include/<arch>-linux-gnu
+# DP: to the system include paths, depending on 32/64 bit mode.
+
+dir=
+if [ $# -eq 3 -a "$2" = '-d' ]; then
+ pdir="-d $3"
+ dir="$3/"
+elif [ $# -ne 1 ]; then
+ echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
+ exit 1
+fi
+case "$1" in
+ -patch)
+ patch $pdir -f --no-backup-if-mismatch -p0 < $0
+ ;;
+ -unpatch)
+ patch $pdir -f --no-backup-if-mismatch -R -p0 < $0
+ ;;
+ *)
+ echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
+ exit 1
+esac
+exit 0
+
+Index: gcc/cppdefault.c
+===================================================================
+--- gcc/cppdefault.c (revision 112832)
++++ gcc/cppdefault.c (working copy)
+@@ -60,6 +60,7 @@
+ #endif
+ #ifdef LOCAL_INCLUDE_DIR
+ /* /usr/local/include comes before the fixincluded header files. */
++ { LOCAL_INCLUDE_DIR, 0, 0, 1, 1, 2 },
+ { LOCAL_INCLUDE_DIR, 0, 0, 1, 1, 0 },
+ #endif
+ #ifdef PREFIX_INCLUDE_DIR
+@@ -83,6 +84,7 @@
+ #endif
+ #ifdef STANDARD_INCLUDE_DIR
+ /* /usr/include comes dead last. */
++ { STANDARD_INCLUDE_DIR, STANDARD_INCLUDE_COMPONENT, 0, 0, 1, 2 },
+ { STANDARD_INCLUDE_DIR, STANDARD_INCLUDE_COMPONENT, 0, 0, 1, 0 },
+ #endif
+ { 0, 0, 0, 0, 0, 0 }
+Index: gcc/c-incpath.c
+===================================================================
+--- gcc/c-incpath.c (revision 112832)
++++ gcc/c-incpath.c (working copy)
+@@ -30,6 +30,7 @@
+ #include "intl.h"
+ #include "c-incpath.h"
+ #include "cppdefault.h"
++#include "errors.h"
+
+ /* Windows does not natively support inodes, and neither does MSDOS.
+ Cygwin's emulation can generate non-unique inodes, so don't use it.
+@@ -121,6 +121,31 @@
+ }
+ }
+
++struct multiarch_mapping
++{
++ const char *const multilib;
++ const char *const multiarch;
++};
++
++const struct multiarch_mapping multiarch_mappings[]
++= {
++#include "multiarch.inc"
++ { 0, 0 }
++};
++
++static const char*
++multilib_to_multiarch (const char *imultilib)
++{
++ const struct multiarch_mapping *p;
++
++ for (p = multiarch_mappings; p->multiarch; p++)
++ {
++ if (!strcmp(p->multilib, imultilib ? imultilib : ""))
++ return p->multiarch;
++ }
++ internal_error("no multiarch mapping for multilib (%s)\n", imultilib);
++}
++
+ /* Append the standard include chain defined in cppdefault.c. */
+ static void
+ add_standard_paths (const char *sysroot, const char *iprefix,
+@@ -128,6 +153,7 @@
+ {
+ const struct default_include *p;
+ size_t len;
++ const char *multiarch;
+
+ if (iprefix && (len = cpp_GCC_INCLUDE_DIR_len) != 0)
+ {
+@@ -146,8 +172,15 @@
+ if (!strncmp (p->fname, cpp_GCC_INCLUDE_DIR, len))
+ {
+ char *str = concat (iprefix, p->fname + len, NULL);
+- if (p->multilib && imultilib)
++ if (p->multilib == 1 && imultilib)
+ str = concat (str, dir_separator_str, imultilib, NULL);
++ if (p->multilib == 2)
++ {
++ multiarch = multilib_to_multiarch (imultilib);
++ if (!multiarch)
++ continue;
++ str = concat (str, dir_separator_str, multiarch, NULL);
++ }
+ add_path (str, SYSTEM, p->cxx_aware, false);
+ }
+ }
+@@ -166,9 +199,17 @@
+ else
+ str = update_path (p->fname, p->component);
+
+- if (p->multilib && imultilib)
++ if (p->multilib == 1 && imultilib)
+ str = concat (str, dir_separator_str, imultilib, NULL);
+
++ if (p->multilib == 2)
++ {
++ multiarch = multilib_to_multiarch (imultilib);
++ if (!multiarch)
++ continue;
++ str = concat (str, dir_separator_str, multiarch, NULL);
++ }
++
+ add_path (str, SYSTEM, p->cxx_aware, false);
+ }
+ }
diff --git a/recipes/gcc/gcc-4.4.0/debian/multiarch-lib.dpatch b/recipes/gcc/gcc-4.4.0/debian/multiarch-lib.dpatch
new file mode 100644
index 0000000000..93ba09fa39
--- /dev/null
+++ b/recipes/gcc/gcc-4.4.0/debian/multiarch-lib.dpatch
@@ -0,0 +1,52 @@
+#! /bin/sh -e
+
+# multiarch-lib.dpatch by Stephen Frost <sfrost@debian.org>
+
+dir=
+if [ $# -eq 3 -a "$2" = '-d' ]; then
+ pdir="-d $3"
+ dir="$3/"
+elif [ $# -ne 1 ]; then
+ echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
+ exit 1
+fi
+case "$1" in
+ -patch)
+ patch $pdir -f --no-backup-if-mismatch -p0 < $0
+ ;;
+ -unpatch)
+ patch $pdir -f --no-backup-if-mismatch -R -p0 < $0
+ ;;
+ *)
+ echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
+ exit 1
+esac
+exit 0
+
+diff -urN gcc.old/config/i386/t-linux64 gcc/config/i386/t-linux64
+--- gcc.old/config/i386/t-linux64 2002-11-28 15:47:02.000000000 +0100
++++ gcc/config/i386/t-linux64 2004-07-10 07:28:01.000000000 +0200
+@@ -6,7 +6,7 @@
+
+ MULTILIB_OPTIONS = m64/m32
+ MULTILIB_DIRNAMES = 64 32
+-MULTILIB_OSDIRNAMES = ../lib64 ../lib
++MULTILIB_OSDIRNAMES = x86_64-linux i486-linux
+
+ LIBGCC = stmp-multilib
+ INSTALL_LIBGCC = install-multilib
+diff -urN gcc.old/config/t-linux gcc/config/t-linux
+--- gcc.old/config/t-linux 2004-05-04 18:09:38.000000000 +0200
++++ gcc/config/t-linux 2004-07-10 07:28:01.000000000 +0200
+@@ -11,3 +11,11 @@
+ LIB2ADDEH = $(srcdir)/unwind-dw2.c $(srcdir)/unwind-dw2-fde-glibc.c \
+ $(srcdir)/unwind-sjlj.c $(srcdir)/gthr-gnat.c $(srcdir)/unwind-c.c
+ LIB2ADDEHDEP = unwind.inc unwind-dw2-fde.h unwind-dw2-fde.c
++
++MULTILIB_OPTIONS = m32
++MULTILIB_DIRNAMES = 32
++MULTILIB_OSDIRNAMES = $TARGET_ARCH
++
++LIBGCC = stmp-multilib
++INSTALL_LIBGCC = install-multilib
++
diff --git a/recipes/gcc/gcc-4.4.0/debian/note-gnu-stack.dpatch b/recipes/gcc/gcc-4.4.0/debian/note-gnu-stack.dpatch
new file mode 100644
index 0000000000..3ffc3925d4
--- /dev/null
+++ b/recipes/gcc/gcc-4.4.0/debian/note-gnu-stack.dpatch
@@ -0,0 +1,316 @@
+#! /bin/sh -e
+
+# DP: Add .note.GNU-stack sections for gcc's crt files, libffi and boehm-gc
+# DP: Taken from FC.
+
+dir=
+if [ $# -eq 3 -a "$2" = '-d' ]; then
+ pdir="-d $3"
+ dir="$3/"
+elif [ $# -ne 1 ]; then
+ echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
+ exit 1
+fi
+case "$1" in
+ -patch)
+ patch $pdir -f --no-backup-if-mismatch -p0 < $0
+ #cd ${dir}gcc && autoconf
+ ;;
+ -unpatch)
+ patch $pdir -f --no-backup-if-mismatch -R -p0 < $0
+ #rm ${dir}gcc/configure
+ ;;
+ *)
+ echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
+ exit 1
+esac
+exit 0
+
+gcc/
+
+2004-09-20 Jakub Jelinek <jakub@redhat.com>
+
+ * config/rs6000/ppc-asm.h: Add .note.GNU-stack section also
+ on ppc64-linux.
+
+ * config/ia64/lib1funcs.asm: Add .note.GNU-stack section on
+ ia64-linux.
+ * config/ia64/crtbegin.asm: Likewise.
+ * config/ia64/crtend.asm: Likewise.
+ * config/ia64/crti.asm: Likewise.
+ * config/ia64/crtn.asm: Likewise.
+
+2004-05-14 Jakub Jelinek <jakub@redhat.com>
+
+ * config/ia64/linux.h (TARGET_ASM_FILE_END): Define.
+
+
+boehm-gc/
+
+2005-02-08 Jakub Jelinek <jakub@redhat.com>
+
+ * ia64_save_regs_in_stack.s: Moved to...
+ * ia64_save_regs_in_stack.S: ... this. Add .note.GNU-stack
+ on Linux.
+
+libffi/
+
+2007-05-11 Daniel Jacobowitz <dan@debian.org>
+
+ * src/arm/sysv.S: Fix ARM comment marker.
+
+2005-02-08 Jakub Jelinek <jakub@redhat.com>
+
+ * src/alpha/osf.S: Add .note.GNU-stack on Linux.
+ * src/s390/sysv.S: Likewise.
+ * src/powerpc/linux64.S: Likewise.
+ * src/powerpc/linux64_closure.S: Likewise.
+ * src/powerpc/ppc_closure.S: Likewise.
+ * src/powerpc/sysv.S: Likewise.
+ * src/x86/unix64.S: Likewise.
+ * src/x86/sysv.S: Likewise.
+ * src/sparc/v8.S: Likewise.
+ * src/sparc/v9.S: Likewise.
+ * src/m68k/sysv.S: Likewise.
+ * src/ia64/unix.S: Likewise.
+ * src/arm/sysv.S: Likewise.
+
+
+Index: boehm-gc/ia64_save_regs_in_stack.s
+===================================================================
+--- boehm-gc/ia64_save_regs_in_stack.s (revision 107431)
++++ boehm-gc/ia64_save_regs_in_stack.s (revision 107432)
+@@ -1,12 +0,0 @@
+- .text
+- .align 16
+- .global GC_save_regs_in_stack
+- .proc GC_save_regs_in_stack
+-GC_save_regs_in_stack:
+- .body
+- flushrs
+- ;;
+- mov r8=ar.bsp
+- br.ret.sptk.few rp
+- .endp GC_save_regs_in_stack
+-
+Index: boehm-gc/ia64_save_regs_in_stack.S
+===================================================================
+--- boehm-gc/ia64_save_regs_in_stack.S (revision 0)
++++ boehm-gc/ia64_save_regs_in_stack.S (revision 107432)
+@@ -0,0 +1,15 @@
++ .text
++ .align 16
++ .global GC_save_regs_in_stack
++ .proc GC_save_regs_in_stack
++GC_save_regs_in_stack:
++ .body
++ flushrs
++ ;;
++ mov r8=ar.bsp
++ br.ret.sptk.few rp
++ .endp GC_save_regs_in_stack
++
++#ifdef __linux__
++ .section .note.GNU-stack,"",@progbits
++#endif
+--- gcc/config/ia64/linux.h.orig 2006-10-12 02:01:00.000000000 +0200
++++ gcc/config/ia64/linux.h 2006-12-11 10:33:13.000000000 +0100
+@@ -5,6 +5,8 @@
+
+ #define TARGET_VERSION fprintf (stderr, " (IA-64) Linux");
+
++#define TARGET_ASM_FILE_END file_end_indicate_exec_stack
++
+ /* This is for -profile to use -lc_p instead of -lc. */
+ #undef CC1_SPEC
+ #define CC1_SPEC "%{profile:-p} %{G*}"
+--- gcc/config/ia64/lib1funcs.asm.orig 2006-01-18 22:46:41.000000000 +0100
++++ gcc/config/ia64/lib1funcs.asm 2006-12-11 10:33:13.000000000 +0100
+@@ -792,3 +792,7 @@
+ }
+ .endp __floattitf
+ #endif
++
++#ifdef __linux__
++.section .note.GNU-stack; .previous
++#endif
+--- gcc/config/ia64/crti.asm.orig 2006-01-18 22:46:41.000000000 +0100
++++ gcc/config/ia64/crti.asm 2006-12-11 10:33:13.000000000 +0100
+@@ -64,3 +64,7 @@
+ .body
+
+ # end of crti.asm
++
++#ifdef __linux__
++.section .note.GNU-stack; .previous
++#endif
+--- gcc/config/ia64/crtn.asm.orig 2006-01-18 22:46:41.000000000 +0100
++++ gcc/config/ia64/crtn.asm 2006-12-11 10:33:13.000000000 +0100
+@@ -54,3 +54,7 @@
+ br.ret.sptk.many b0
+
+ # end of crtn.asm
++
++#ifdef __linux__
++.section .note.GNU-stack; .previous
++#endif
+--- gcc/config/ia64/crtend.asm.orig 2006-01-18 22:46:41.000000000 +0100
++++ gcc/config/ia64/crtend.asm 2006-12-11 10:33:13.000000000 +0100
+@@ -122,3 +122,7 @@
+
+ br.ret.sptk.many rp
+ .endp __do_global_ctors_aux
++
++#ifdef __linux__
++.section .note.GNU-stack; .previous
++#endif
+--- gcc/config/ia64/crtbegin.asm.orig 2006-01-18 22:46:41.000000000 +0100
++++ gcc/config/ia64/crtbegin.asm 2006-12-11 10:33:13.000000000 +0100
+@@ -255,3 +255,7 @@
+ .weak __cxa_finalize
+ #endif
+ .weak _Jv_RegisterClasses
++
++#ifdef __linux__
++.section .note.GNU-stack; .previous
++#endif
+--- gcc/config/rs6000/ppc-asm.h.orig 2006-01-18 22:46:46.000000000 +0100
++++ gcc/config/rs6000/ppc-asm.h 2006-12-11 10:33:14.000000000 +0100
+@@ -158,7 +158,7 @@
+ .size FUNC_NAME(name),GLUE(.L,name)-FUNC_NAME(name)
+ #endif
+
+-#if defined __linux__ && !defined __powerpc64__
++#if defined __linux__
+ .section .note.GNU-stack
+ .previous
+ #endif
+--- libffi/src/powerpc/ppc_closure.S.orig 2006-03-25 09:16:06.000000000 +0100
++++ libffi/src/powerpc/ppc_closure.S 2006-12-11 10:33:14.000000000 +0100
+@@ -281,3 +281,7 @@
+ .LEFDE1:
+
+ #endif
++
++#if defined __ELF__ && defined __linux__
++ .section .note.GNU-stack,"",@progbits
++#endif
+--- libffi/src/powerpc/sysv.S.orig 2006-03-25 09:16:06.000000000 +0100
++++ libffi/src/powerpc/sysv.S 2006-12-11 10:33:14.000000000 +0100
+@@ -217,3 +217,7 @@
+ .align 2
+ .LEFDE1:
+ #endif
++
++#if defined __ELF__ && defined __linux__
++ .section .note.GNU-stack,"",@progbits
++#endif
+--- libffi/src/powerpc/linux64_closure.S.orig 2006-01-18 22:49:27.000000000 +0100
++++ libffi/src/powerpc/linux64_closure.S 2006-12-11 10:33:14.000000000 +0100
+@@ -204,3 +204,7 @@
+ .align 3
+ .LEFDE1:
+ #endif
++
++#if defined __ELF__ && defined __linux__
++ .section .note.GNU-stack,"",@progbits
++#endif
+--- libffi/src/powerpc/linux64.S.orig 2006-03-25 09:16:06.000000000 +0100
++++ libffi/src/powerpc/linux64.S 2006-12-11 10:33:14.000000000 +0100
+@@ -175,3 +175,7 @@
+ .align 3
+ .LEFDE1:
+ #endif
++
++#if defined __ELF__ && defined __linux__
++ .section .note.GNU-stack,"",@progbits
++#endif
+--- libffi/src/arm/sysv.S.orig 2006-10-12 02:00:57.000000000 +0200
++++ libffi/src/arm/sysv.S 2006-12-11 10:33:14.000000000 +0100
+@@ -255,3 +255,6 @@
+ .ffi_closure_SYSV_end:
+ .size CNAME(ffi_closure_SYSV),.ffi_closure_SYSV_end-CNAME(ffi_closure_SYSV)
+
++#if defined __ELF__ && defined __linux__
++ .section .note.GNU-stack,"",%progbits
++#endif
+--- libffi/src/m68k/sysv.S.orig 2006-01-18 22:49:27.000000000 +0100
++++ libffi/src/m68k/sysv.S 2006-12-11 10:33:14.000000000 +0100
+@@ -207,3 +207,7 @@
+ rts
+ CFI_ENDPROC()
+ .size ffi_closure_struct_SYSV,.-ffi_closure_struct_SYSV
++
++#if defined __ELF__ && defined __linux__
++ .section .note.GNU-stack,"",@progbits
++#endif
+--- libffi/src/alpha/osf.S.orig 2006-01-18 22:49:27.000000000 +0100
++++ libffi/src/alpha/osf.S 2006-12-11 10:33:14.000000000 +0100
+@@ -356,4 +356,8 @@
+ .byte 16 # uleb128 offset 16*-8
+ .align 3
+ $LEFDE3:
++
++#ifdef __linux__
++ .section .note.GNU-stack,"",@progbits
++#endif
+ #endif
+--- libffi/src/x86/sysv.S.orig 2006-01-18 22:49:28.000000000 +0100
++++ libffi/src/x86/sysv.S 2006-12-11 10:33:14.000000000 +0100
+@@ -376,3 +376,7 @@
+ #endif
+
+ #endif /* ifndef __x86_64__ */
++
++#if defined __ELF__ && defined __linux__
++ .section .note.GNU-stack,"",@progbits
++#endif
+--- libffi/src/x86/unix64.S.orig 2006-01-18 22:49:28.000000000 +0100
++++ libffi/src/x86/unix64.S 2006-12-11 10:33:14.000000000 +0100
+@@ -410,3 +410,7 @@
+ .LEFDE3:
+
+ #endif /* __x86_64__ */
++
++#if defined __ELF__ && defined __linux__
++ .section .note.GNU-stack,"",@progbits
++#endif
+--- libffi/src/s390/sysv.S.orig 2006-01-18 22:49:28.000000000 +0100
++++ libffi/src/s390/sysv.S 2006-12-11 10:33:14.000000000 +0100
+@@ -427,3 +427,6 @@
+
+ #endif
+
++#if defined __ELF__ && defined __linux__
++ .section .note.GNU-stack,"",@progbits
++#endif
+--- libffi/src/ia64/unix.S.orig 2006-01-18 22:49:29.000000000 +0100
++++ libffi/src/ia64/unix.S 2006-12-11 10:33:14.000000000 +0100
+@@ -553,3 +553,7 @@
+ data8 @pcrel(.Lld_hfa_float) // FFI_IA64_TYPE_HFA_FLOAT
+ data8 @pcrel(.Lld_hfa_double) // FFI_IA64_TYPE_HFA_DOUBLE
+ data8 @pcrel(.Lld_hfa_ldouble) // FFI_IA64_TYPE_HFA_LDOUBLE
++
++#if defined __ELF__ && defined __linux__
++ .section .note.GNU-stack,"",@progbits
++#endif
+--- libffi/src/sparc/v9.S.orig 2006-01-18 22:49:29.000000000 +0100
++++ libffi/src/sparc/v9.S 2006-12-11 10:33:14.000000000 +0100
+@@ -300,3 +300,7 @@
+ .align 8
+ .LLEFDE2:
+ #endif
++
++#ifdef __linux__
++ .section .note.GNU-stack,"",@progbits
++#endif
+--- libffi/src/sparc/v8.S.orig 2006-01-18 22:49:29.000000000 +0100
++++ libffi/src/sparc/v8.S 2006-12-11 10:33:14.000000000 +0100
+@@ -265,3 +265,7 @@
+ .byte 0x1f ! uleb128 0x1f
+ .align WS
+ .LLEFDE2:
++
++#if defined __ELF__ && defined __linux__
++ .section .note.GNU-stack,"",@progbits
++#endif
diff --git a/recipes/gcc/gcc-4.4.0/debian/powerpc-biarch.dpatch b/recipes/gcc/gcc-4.4.0/debian/powerpc-biarch.dpatch
new file mode 100644
index 0000000000..a1d2a727a9
--- /dev/null
+++ b/recipes/gcc/gcc-4.4.0/debian/powerpc-biarch.dpatch
@@ -0,0 +1,47 @@
+#! /bin/sh -e
+
+# DP: enable biarch for 32 bit compiler
+
+dir=
+if [ $# -eq 3 -a "$2" = '-d' ]; then
+ pdir="-d $3"
+ dir="$3/"
+elif [ $# -ne 1 ]; then
+ echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
+ exit 1
+fi
+case "$1" in
+ -patch)
+ patch $pdir -f --no-backup-if-mismatch -p0 < $0
+ ;;
+ -unpatch)
+ patch $pdir -f --no-backup-if-mismatch -R -p0 < $0
+ ;;
+ *)
+ echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
+ exit 1
+esac
+exit 0
+
+--- gcc/config/rs6000/t-linux64.orig 2007-09-29 16:03:54.000000000 +0000
++++ gcc/config/rs6000/t-linux64 2007-09-30 10:36:47.000000000 +0000
+@@ -14,13 +14,13 @@
+ # it doesn't tell anything about the 32bit libraries on those systems. Set
+ # MULTILIB_OSDIRNAMES according to what is found on the target.
+
+-MULTILIB_OPTIONS = m64/m32 msoft-float
+-MULTILIB_DIRNAMES = 64 32 nof
++MULTILIB_OPTIONS = m64/m32
++MULTILIB_DIRNAMES = 64 32
+ MULTILIB_EXTRA_OPTS = fPIC mstrict-align
+-MULTILIB_EXCEPTIONS = m64/msoft-float
+-MULTILIB_EXCLUSIONS = m64/!m32/msoft-float
+-MULTILIB_OSDIRNAMES = ../lib64 $(if $(wildcard $(shell echo $(SYSTEM_HEADER_DIR))/../../usr/lib32),../lib32,../lib) nof
+-MULTILIB_MATCHES = $(MULTILIB_MATCHES_FLOAT)
++MULTILIB_EXCEPTIONS =
++MULTILIB_EXCLUSIONS =
++MULTILIB_OSDIRNAMES = ../lib64 $(if $(wildcard $(shell echo $(SYSTEM_HEADER_DIR))/../../usr/lib32),../lib32,../lib)
++MULTILIB_MATCHES =
+
+ softfp_wrap_start := '\#ifndef __powerpc64__'
+ softfp_wrap_end := '\#endif'
diff --git a/recipes/gcc/gcc-4.4.0/debian/ppc64-ada.dpatch b/recipes/gcc/gcc-4.4.0/debian/ppc64-ada.dpatch
new file mode 100644
index 0000000000..db9a229c40
--- /dev/null
+++ b/recipes/gcc/gcc-4.4.0/debian/ppc64-ada.dpatch
@@ -0,0 +1,257 @@
+#! /bin/sh -e
+
+# DP: Add gcc/ada/system-linux-ppc64.ads and use it in gcc/ada/Makefile.in
+# DP:
+
+dir=
+if [ $# -eq 3 -a "$2" = '-d' ]; then
+ pdir="-d $3"
+ dir="$3/"
+elif [ $# -ne 1 ]; then
+ echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
+ exit 1
+fi
+case "$1" in
+ -patch)
+ patch $pdir -f --no-backup-if-mismatch -p1 < $0
+ ;;
+ -unpatch)
+ patch $pdir -f --no-backup-if-mismatch -R -p1 < $0
+ ;;
+ *)
+ echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
+ exit 1
+esac
+exit 0
+
+diff -urN src.orig/gcc/ada/Makefile.in src/gcc/ada/Makefile.in
+--- src.orig/gcc/ada/Makefile.in 2005-05-02 16:39:32.000000000 +0200
++++ src/gcc/ada/Makefile.in 2005-05-02 16:36:37.000000000 +0200
+@@ -1346,6 +1346,31 @@
+ LIBRARY_VERSION := $(LIB_VERSION)
+ endif
+
++ifeq ($(strip $(filter-out powerpc64% linux%,$(arch) $(osys))),)
++ LIBGNAT_TARGET_PAIRS = \
++ a-intnam.ads<a-intnam-linux.ads \
++ s-inmaop.adb<s-inmaop-posix.adb \
++ s-intman.adb<s-intman-posix.adb \
++ s-osinte.adb<s-osinte-posix.adb \
++ s-osinte.ads<s-osinte-linux.ads \
++ s-osprim.adb<s-osprim-posix.adb \
++ s-taprop.adb<s-taprop-linux.adb \
++ s-taspri.ads<s-taspri-linux.ads \
++ s-tpopsp.adb<s-tpopsp-posix-foreign.adb \
++ s-parame.adb<s-parame-linux.adb \
++ system.ads<system-linux-ppc64.ads
++
++ TOOLS_TARGET_PAIRS = \
++ mlib-tgt.adb<mlib-tgt-linux.adb \
++ indepsw.adb<indepsw-linux.adb
++
++ THREADSLIB = -lpthread
++ GNATLIB_SHARED = gnatlib-shared-dual
++ GMEM_LIB = gmemlib
++ PREFIX_OBJS = $(PREFIX_REAL_OBJS)
++ LIBRARY_VERSION := $(LIB_VERSION)
++endif
++
+ ifeq ($(strip $(filter-out sparc% linux%,$(arch) $(osys))),)
+ LIBGNAT_TARGET_PAIRS = \
+ a-intnam.ads<a-intnam-linux.ads \
+diff -urN src.orig/gcc/ada/system-linux-ppc64.ads src/gcc/ada/system-linux-ppc64.ads
+--- src.orig/gcc/ada/system-linux-ppc64.ads 1970-01-01 01:00:00.000000000 +0100
++++ src/gcc/ada/system-linux-ppc64.ads 2005-05-02 16:33:38.000000000 +0200
+@@ -0,0 +1,151 @@
++------------------------------------------------------------------------------
++-- --
++-- GNAT RUN-TIME COMPONENTS --
++-- --
++-- S Y S T E M --
++-- --
++-- S p e c --
++-- (GNU-Linux/PPC64 Version) --
++-- --
++-- Copyright (C) 1992-2004 Free Software Foundation, Inc. --
++-- --
++-- This specification is derived from the Ada Reference Manual for use with --
++-- GNAT. The copyright notice above, and the license provisions that follow --
++-- apply solely to the contents of the part following the private keyword. --
++-- --
++-- GNAT is free software; you can redistribute it and/or modify it under --
++-- terms of the GNU General Public License as published by the Free Soft- --
++-- ware Foundation; either version 2, or (at your option) any later ver- --
++-- sion. GNAT is distributed in the hope that it will be useful, but WITH- --
++-- OUT 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 distributed with GNAT; see file COPYING. If not, write --
++-- to the Free Software Foundation, 59 Temple Place - Suite 330, Boston, --
++-- MA 02111-1307, USA. --
++-- --
++-- As a special exception, if other files instantiate generics from this --
++-- unit, or you link this unit with other files to produce an executable, --
++-- this unit does not by itself cause the resulting executable to be --
++-- covered by the GNU General Public License. This exception does not --
++-- however invalidate any other reasons why the executable file might be --
++-- covered by the GNU Public License. --
++-- --
++-- GNAT was originally developed by the GNAT team at New York University. --
++-- Extensive contributions were provided by Ada Core Technologies Inc. --
++-- --
++------------------------------------------------------------------------------
++
++package System is
++pragma Pure (System);
++-- Note that we take advantage of the implementation permission to
++-- make this unit Pure instead of Preelaborable, see RM 13.7(36)
++
++ type Name is (SYSTEM_NAME_GNAT);
++ System_Name : constant Name := SYSTEM_NAME_GNAT;
++
++ -- System-Dependent Named Numbers
++
++ Min_Int : constant := Long_Long_Integer'First;
++ Max_Int : constant := Long_Long_Integer'Last;
++
++ Max_Binary_Modulus : constant := 2 ** Long_Long_Integer'Size;
++ Max_Nonbinary_Modulus : constant := Integer'Last;
++
++ Max_Base_Digits : constant := Long_Long_Float'Digits;
++ Max_Digits : constant := Long_Long_Float'Digits;
++
++ Max_Mantissa : constant := 63;
++ Fine_Delta : constant := 2.0 ** (-Max_Mantissa);
++
++ Tick : constant := 0.000_001;
++
++ -- Storage-related Declarations
++
++ type Address is private;
++ Null_Address : constant Address;
++
++ Storage_Unit : constant := 8;
++ Word_Size : constant := 64;
++ Memory_Size : constant := 2 ** 64;
++
++ -- Address comparison
++
++ function "<" (Left, Right : Address) return Boolean;
++ function "<=" (Left, Right : Address) return Boolean;
++ function ">" (Left, Right : Address) return Boolean;
++ function ">=" (Left, Right : Address) return Boolean;
++ function "=" (Left, Right : Address) return Boolean;
++
++ pragma Import (Intrinsic, "<");
++ pragma Import (Intrinsic, "<=");
++ pragma Import (Intrinsic, ">");
++ pragma Import (Intrinsic, ">=");
++ pragma Import (Intrinsic, "=");
++
++ -- Other System-Dependent Declarations
++
++ type Bit_Order is (High_Order_First, Low_Order_First);
++ Default_Bit_Order : constant Bit_Order := High_Order_First;
++
++ -- Priority-related Declarations (RM D.1)
++
++ Max_Priority : constant Positive := 30;
++ Max_Interrupt_Priority : constant Positive := 31;
++
++ subtype Any_Priority is Integer range 0 .. 31;
++ subtype Priority is Any_Priority range 0 .. 30;
++ subtype Interrupt_Priority is Any_Priority range 31 .. 31;
++
++ Default_Priority : constant Priority := 15;
++
++private
++
++ type Address is mod Memory_Size;
++ Null_Address : constant Address := 0;
++
++ --------------------------------------
++ -- System Implementation Parameters --
++ --------------------------------------
++
++ -- These parameters provide information about the target that is used
++ -- by the compiler. They are in the private part of System, where they
++ -- can be accessed using the special circuitry in the Targparm unit
++ -- whose source should be consulted for more detailed descriptions
++ -- of the individual switch values.
++
++ AAMP : constant Boolean := False;
++ Backend_Divide_Checks : constant Boolean := False;
++ Backend_Overflow_Checks : constant Boolean := False;
++ Command_Line_Args : constant Boolean := True;
++ Configurable_Run_Time : constant Boolean := False;
++ Denorm : constant Boolean := True;
++ Duration_32_Bits : constant Boolean := False;
++ Exit_Status_Supported : constant Boolean := True;
++ Fractional_Fixed_Ops : constant Boolean := False;
++ Frontend_Layout : constant Boolean := False;
++ Functions_Return_By_DSP : constant Boolean := False;
++ Machine_Overflows : constant Boolean := False;
++ Machine_Rounds : constant Boolean := True;
++ OpenVMS : constant Boolean := False;
++ Preallocated_Stacks : constant Boolean := False;
++ Signed_Zeros : constant Boolean := True;
++ Stack_Check_Default : constant Boolean := False;
++ Stack_Check_Probes : constant Boolean := False;
++ Support_64_Bit_Divides : constant Boolean := True;
++ Support_Aggregates : constant Boolean := True;
++ Support_Composite_Assign : constant Boolean := True;
++ Support_Composite_Compare : constant Boolean := True;
++ Support_Long_Shifts : constant Boolean := True;
++ Suppress_Standard_Library : constant Boolean := False;
++ Use_Ada_Main_Program_Name : constant Boolean := False;
++ ZCX_By_Default : constant Boolean := True;
++ GCC_ZCX_Support : constant Boolean := True;
++ Front_End_ZCX_Support : constant Boolean := False;
++
++ -- Obsolete entries, to be removed eventually (bootstrap issues!)
++
++ High_Integrity_Mode : constant Boolean := False;
++ Long_Shifts_Inlined : constant Boolean := True;
++
++end System;
+diff -urN tmp/gcc/ada/s-auxdec.ads src/gcc/ada/s-auxdec.ads
+--- tmp/gcc/ada/s-auxdec.ads 2004-06-11 12:47:36.000000000 +0200
++++ src/gcc/ada/s-auxdec.ads 2005-05-03 11:34:17.000000000 +0200
+@@ -108,13 +108,13 @@
+ pragma Warnings (Off);
+
+ type F_Float is digits 6;
+- pragma Float_Representation (VAX_Float, F_Float);
++-- pragma Float_Representation (VAX_Float, F_Float);
+
+ type D_Float is digits 9;
+- pragma Float_Representation (Vax_Float, D_Float);
++-- pragma Float_Representation (Vax_Float, D_Float);
+
+ type G_Float is digits 15;
+- pragma Float_Representation (Vax_Float, G_Float);
++-- pragma Float_Representation (Vax_Float, G_Float);
+
+ -- Floating point type declarations for IEEE floating point data types
+
+--- tmp/gcc/ada/s-vaflop.ads 2003-10-21 15:42:18.000000000 +0200
++++ src/gcc/ada/s-vaflop.ads 2005-05-03 15:24:24.000000000 +0200
+@@ -40,15 +40,15 @@
+ -- Suppress warnings if not on Alpha/VAX
+
+ type D is digits 9;
+- pragma Float_Representation (VAX_Float, D);
++-- pragma Float_Representation (VAX_Float, D);
+ -- D Float type on Vax
+
+ type G is digits 15;
+- pragma Float_Representation (VAX_Float, G);
++-- pragma Float_Representation (VAX_Float, G);
+ -- G Float type on Vax
+
+ type F is digits 6;
+- pragma Float_Representation (VAX_Float, F);
++-- pragma Float_Representation (VAX_Float, F);
+ -- F Float type on Vax
+
+ type S is digits 6;
diff --git a/recipes/gcc/gcc-4.4.0/debian/pr24170.dpatch b/recipes/gcc/gcc-4.4.0/debian/pr24170.dpatch
new file mode 100644
index 0000000000..028291ed6f
--- /dev/null
+++ b/recipes/gcc/gcc-4.4.0/debian/pr24170.dpatch
@@ -0,0 +1,88 @@
+#! /bin/sh -e
+
+# DP: Fix PR libgcj/24170.
+
+dir=
+if [ $# -eq 3 -a "$2" = '-d' ]; then
+ pdir="-d $3"
+ dir="$3/"
+elif [ $# -ne 1 ]; then
+ echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
+ exit 1
+fi
+case "$1" in
+ -patch)
+ patch $pdir -f --no-backup-if-mismatch -p0 < $0
+ cd ${dir}libjava && autoconf
+ ;;
+ -unpatch)
+ patch $pdir -f --no-backup-if-mismatch -R -p0 < $0
+ rm -f ${dir}libjava/configure
+ ;;
+ *)
+ echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
+ exit 1
+esac
+exit 0
+
+2008-02-20 Tom Tromey <tromey@redhat.com>
+
+ PR libgcj/24170:
+ * java/io/natFilePosix.cc (File::performList): Don't use
+ readdir_r.
+ * configure, include/config.h.in: Rebuilt.
+ * configure.ac: Don't check for readdir_r.
+
+Index: libjava/configure.ac
+===================================================================
+--- libjava/configure.ac (revision 132490)
++++ libjava/configure.ac (revision 132491)
+@@ -1023,7 +1023,7 @@
+ PLATFORMNET=NoNet
+ else
+ AC_CHECK_FUNCS([strerror_r select fstat open fsync sleep opendir \
+- localtime_r readdir_r getpwuid_r getcwd \
++ localtime_r getpwuid_r getcwd \
+ access stat lstat mkdir rename rmdir unlink utime chmod readlink \
+ nl_langinfo setlocale \
+ inet_pton uname inet_ntoa \
+Index: libjava/include/config.h.in
+===================================================================
+--- libjava/include/config.h.in (revision 132490)
++++ libjava/include/config.h.in (revision 132491)
+@@ -214,9 +214,6 @@
+ /* Define to 1 if you have the <pwd.h> header file. */
+ #undef HAVE_PWD_H
+
+-/* Define to 1 if you have the `readdir_r' function. */
+-#undef HAVE_READDIR_R
+-
+ /* Define to 1 if you have the `readlink' function. */
+ #undef HAVE_READLINK
+
+Index: libjava/java/io/natFilePosix.cc
+===================================================================
+--- libjava/java/io/natFilePosix.cc (revision 132490)
++++ libjava/java/io/natFilePosix.cc (revision 132491)
+@@ -1,6 +1,6 @@
+ // natFile.cc - Native part of File class for POSIX.
+
+-/* Copyright (C) 1998, 1999, 2000, 2001, 2002, 2003, 2006
++/* Copyright (C) 1998, 1999, 2000, 2001, 2002, 2003, 2006, 2008
+ Free Software Foundation
+
+ This file is part of libgcj.
+@@ -292,13 +292,7 @@
+
+ java::util::ArrayList *list = new java::util::ArrayList ();
+ struct dirent *d;
+-#if defined(HAVE_READDIR_R) && defined(_POSIX_PTHREAD_SEMANTICS)
+- int name_max = pathconf (buf, _PC_NAME_MAX);
+- char dbuf[sizeof (struct dirent) + name_max + 1];
+- while (readdir_r (dir, (struct dirent *) dbuf, &d) == 0 && d != NULL)
+-#else /* HAVE_READDIR_R */
+ while ((d = readdir (dir)) != NULL)
+-#endif /* HAVE_READDIR_R */
+ {
+ // Omit "." and "..".
+ if (d->d_name[0] == '.'
diff --git a/recipes/gcc/gcc-4.4.0/debian/pr27880.dpatch b/recipes/gcc/gcc-4.4.0/debian/pr27880.dpatch
new file mode 100644
index 0000000000..f8f08b0695
--- /dev/null
+++ b/recipes/gcc/gcc-4.4.0/debian/pr27880.dpatch
@@ -0,0 +1,90 @@
+#! /bin/sh -e
+
+dir=
+if [ $# -eq 3 -a "$2" = '-d' ]; then
+ pdir="-d $3"
+ dir="$3/"
+elif [ $# -ne 1 ]; then
+ echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
+ exit 1
+fi
+case "$1" in
+ -patch)
+ patch $pdir -f --no-backup-if-mismatch -p0 < $0
+ ;;
+ -unpatch)
+ patch $pdir -f --no-backup-if-mismatch -R -p0 < $0
+ ;;
+ *)
+ echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
+ exit 1
+esac
+exit 0
+
+# DP: PR target/27880: Restore static linking on ia64 with system libunwind
+# DP: by adding unwind-compat to the static libgcc.
+
+2006-06-19 Andreas Schwab <schwab@suse.de>
+
+ PR target/27880
+ * unwind-compat.c: Wrap everything except _Unwind_GetIPInfo inside
+ SHARED.
+ * config/t-libunwind (LIB2ADDEHSTATIC): Add
+ $(srcdir)/unwind-compat.c.
+
+Index: gcc/config/t-libunwind
+===================================================================
+--- gcc/config/t-libunwind (revision 114767)
++++ gcc/config/t-libunwind (working copy)
+@@ -6,7 +6,8 @@
+ SHLIB_LC = -lunwind -lc
+ LIB2ADDEH = $(srcdir)/unwind-sjlj.c $(srcdir)/unwind-c.c \
+ $(srcdir)/unwind-compat.c $(srcdir)/unwind-dw2-fde-compat.c
+-LIB2ADDEHSTATIC = $(srcdir)/unwind-sjlj.c $(srcdir)/unwind-c.c
++LIB2ADDEHSTATIC = $(srcdir)/unwind-sjlj.c $(srcdir)/unwind-c.c \
++ $(srcdir)/unwind-compat.c
+
+ T_CFLAGS += -DUSE_LIBUNWIND_EXCEPTIONS
+ TARGET_LIBGCC2_CFLAGS += -DUSE_GAS_SYMVER
+Index: gcc/unwind-compat.c
+===================================================================
+--- gcc/unwind-compat.c (revision 114767)
++++ gcc/unwind-compat.c (working copy)
+@@ -35,6 +35,7 @@
+ #include "unwind-dw2-fde.h"
+ #include "unwind-compat.h"
+
++#ifdef SHARED
+ extern _Unwind_Reason_Code __libunwind_Unwind_Backtrace
+ (_Unwind_Trace_Fn, void *);
+
+@@ -136,13 +137,6 @@ _Unwind_GetIP (struct _Unwind_Context *c
+ }
+ symver (_Unwind_GetIP, GCC_3.0);
+
+-_Unwind_Ptr
+-_Unwind_GetIPInfo (struct _Unwind_Context *context, int *ip_before_insn)
+-{
+- *ip_before_insn = 0;
+- return __libunwind_Unwind_GetIP (context);
+-}
+-
+ extern void *__libunwind_Unwind_GetLanguageSpecificData
+ (struct _Unwind_Context *);
+
+@@ -212,4 +206,14 @@ _Unwind_SetIP (struct _Unwind_Context *c
+ return __libunwind_Unwind_SetIP (context, val);
+ }
+ symver (_Unwind_SetIP, GCC_3.0);
++#endif /* SHARED */
++
++extern _Unwind_Ptr __libunwind_Unwind_GetIP (struct _Unwind_Context *);
++
++_Unwind_Ptr
++_Unwind_GetIPInfo (struct _Unwind_Context *context, int *ip_before_insn)
++{
++ *ip_before_insn = 0;
++ return __libunwind_Unwind_GetIP (context);
++}
+ #endif
+
diff --git a/recipes/gcc/gcc-4.4.0/debian/pr28102.dpatch b/recipes/gcc/gcc-4.4.0/debian/pr28102.dpatch
new file mode 100644
index 0000000000..bdb546546a
--- /dev/null
+++ b/recipes/gcc/gcc-4.4.0/debian/pr28102.dpatch
@@ -0,0 +1,45 @@
+#! /bin/sh -e
+
+# DP: Apply proposed fix for PR target/28102.
+
+dir=
+if [ $# -eq 3 -a "$2" = '-d' ]; then
+ pdir="-d $3"
+ dir="$3/"
+elif [ $# -ne 1 ]; then
+ echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
+ exit 1
+fi
+case "$1" in
+ -patch)
+ patch $pdir -f --no-backup-if-mismatch -p0 < $0
+ ;;
+ -unpatch)
+ patch $pdir -f --no-backup-if-mismatch -R -p0 < $0
+ ;;
+ *)
+ echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
+ exit 1
+esac
+exit 0
+
+2006-07-15 Alfred M. Szmidt <ams@gnu.org>
+
+ * config/i386/gnu.h (TARGET_C99_FUNCTIONS): Undefine macro.
+
+Index: gcc/config/i386/gnu.h
+===================================================================
+--- gcc/config/i386/gnu.h (revision 115472)
++++ gcc/config/i386/gnu.h (working copy)
+@@ -36,3 +36,9 @@
+
+ /* FIXME: Is a Hurd-specific fallback mechanism necessary? */
+ #undef MD_UNWIND_SUPPORT
++
++/* config.gcc includes i386/linux.h. */
++#undef TARGET_C99_FUNCTIONS
++#define TARGET_C99_FUNCTIONS 1
++#undef TARGET_HAS_SINCOS
++#define TARGET_HAS_SINCOS 1
+
+
diff --git a/recipes/gcc/gcc-4.4.0/debian/pr28322.dpatch b/recipes/gcc/gcc-4.4.0/debian/pr28322.dpatch
new file mode 100644
index 0000000000..ea2ea2abcc
--- /dev/null
+++ b/recipes/gcc/gcc-4.4.0/debian/pr28322.dpatch
@@ -0,0 +1,151 @@
+#! /bin/sh -e
+
+# DP: Fix PR other/28322, GCC new warnings and compatibility.
+
+dir=
+if [ $# -eq 3 -a "$2" = '-d' ]; then
+ pdir="-d $3"
+ dir="$3/"
+elif [ $# -ne 1 ]; then
+ echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
+ exit 1
+fi
+case "$1" in
+ -patch)
+ patch $pdir -f --no-backup-if-mismatch -p0 < $0
+ ;;
+ -unpatch)
+ patch $pdir -f --no-backup-if-mismatch -R -p0 < $0
+ ;;
+ *)
+ echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
+ exit 1
+esac
+exit 0
+
+gcc/
+
+2008-02-26 Manuel Lopez-Ibanez <manu@gcc.gnu.org>
+
+ PR other/28322
+ * toplev.c (toplev_main): If there are warnings or error, print
+ errors for ignored options.
+ * opts.c (ignored_options): New static variable.
+ (postpone_unknown_option_error): New.
+ (print_ignored_options): New.
+ (handle_option): Postpone errors for unknown -Wno-* options.
+ * opts.h (print_ignored_options): Declare.
+
+gcc/testsuite/
+
+2008-02-26 Manuel Lopez-Ibanez <manu@gcc.gnu.org>
+
+ PR other/28322
+ * gcc.dg/pr28322.c: New.
+ * gcc.dg/pr28322-2.c: New.
+ * lib/prune.exp: Ignore "At top level" even if there is no ':'
+ preceding it.
+
+Index: gcc/toplev.c
+===================================================================
+--- gcc/toplev.c (revision 132801)
++++ gcc/toplev.c (working copy)
+@@ -2278,6 +2278,9 @@
+ if (!exit_after_options)
+ do_compile ();
+
++ if (warningcount || errorcount)
++ print_ignored_options ();
++
+ if (errorcount || sorrycount)
+ return (FATAL_EXIT_CODE);
+
+Index: gcc/testsuite/lib/prune.exp
+===================================================================
+--- gcc/testsuite/lib/prune.exp (revision 132801)
++++ gcc/testsuite/lib/prune.exp (working copy)
+@@ -21,7 +21,7 @@
+ #send_user "Before:$text\n"
+
+ regsub -all "(^|\n)(\[^\n\]*: )?In ((static member )?function|member|method|(copy )?constructor|destructor|instantiation|program|subroutine|block-data) \[^\n\]*" $text "" text
+- regsub -all "(^|\n)\[^\n\]*: At (top level|global scope):\[^\n\]*" $text "" text
++ regsub -all "(^|\n)\[^\n\]*(: )?At (top level|global scope):\[^\n\]*" $text "" text
+ regsub -all "(^|\n)\[^\n\]*: instantiated from \[^\n\]*" $text "" text
+ regsub -all "(^|\n) inlined from \[^\n\]*" $text "" text
+ regsub -all "(^|\n)collect2: ld returned \[^\n\]*" $text "" text
+Index: gcc/opts.c
+===================================================================
+--- gcc/opts.c (revision 132801)
++++ gcc/opts.c (working copy)
+@@ -356,6 +356,12 @@
+ static VEC(char_p,heap) *flag_instrument_functions_exclude_functions;
+ static VEC(char_p,heap) *flag_instrument_functions_exclude_files;
+
++typedef const char *const_char_p; /* For DEF_VEC_P. */
++DEF_VEC_P(const_char_p);
++DEF_VEC_ALLOC_P(const_char_p,heap);
++
++static VEC(const_char_p,heap) *ignored_options;
++
+ /* Input file names. */
+ const char **in_fnames;
+ unsigned num_in_fnames;
+@@ -434,6 +440,33 @@
+ free (bad_lang);
+ }
+
++/* Buffer the unknown option described by the string OPT. Currently,
++ we only complain about unknown -Wno-* options if they may have
++ prevented a diagnostic. Otherwise, we just ignore them. */
++
++static void postpone_unknown_option_error(const char *opt)
++{
++ VEC_safe_push (const_char_p, heap, ignored_options, opt);
++}
++
++/* Produce an error for each option previously buffered. */
++
++void print_ignored_options (void)
++{
++ location_t saved_loc = input_location;
++
++ input_location = 0;
++
++ while (!VEC_empty (const_char_p, ignored_options))
++ {
++ const char *opt;
++ opt = VEC_pop (const_char_p, ignored_options);
++ error ("unrecognized command line option \"%s\"", opt);
++ }
++
++ input_location = saved_loc;
++}
++
+ /* Handle the switch beginning at ARGV for the language indicated by
+ LANG_MASK. Returns the number of switches consumed. */
+ static unsigned int
+@@ -463,6 +496,14 @@
+ opt = dup;
+ value = 0;
+ opt_index = find_opt (opt + 1, lang_mask | CL_COMMON | CL_TARGET);
++ if (opt_index == cl_options_count && opt[1] == 'W')
++ {
++ /* We don't generate errors for unknown -Wno-* options
++ unless we issue diagnostics. */
++ postpone_unknown_option_error (argv[0]);
++ result = 1;
++ goto done;
++ }
+ }
+
+ if (opt_index == cl_options_count)
+Index: gcc/opts.h
+===================================================================
+--- gcc/opts.h (revision 132801)
++++ gcc/opts.h (working copy)
+@@ -105,4 +105,5 @@
+
+ extern void enable_warning_as_error (const char *arg, int value,
+ unsigned int lang_mask);
++extern void print_ignored_options (void);
+ #endif
diff --git a/recipes/gcc/gcc-4.4.0/debian/pr30961.dpatch b/recipes/gcc/gcc-4.4.0/debian/pr30961.dpatch
new file mode 100644
index 0000000000..b20fdf5bf5
--- /dev/null
+++ b/recipes/gcc/gcc-4.4.0/debian/pr30961.dpatch
@@ -0,0 +1,179 @@
+#! /bin/sh -e
+
+# DP: <your description>
+
+dir=
+if [ $# -eq 3 -a "$2" = '-d' ]; then
+ pdir="-d $3"
+ dir="$3/"
+elif [ $# -ne 1 ]; then
+ echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
+ exit 1
+fi
+case "$1" in
+ -patch)
+ patch $pdir -f --no-backup-if-mismatch -p0 < $0
+ ;;
+ -unpatch)
+ patch $pdir -f --no-backup-if-mismatch -R -p0 < $0
+ ;;
+ *)
+ echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
+ exit 1
+esac
+exit 0
+
+From: "H.J. Lu" <hjl@lucon.org>
+Sender: gcc-patches-owner@gcc.gnu.org
+To: gcc-patches@gcc.gnu.org
+Subject: PATCH: PR target/30961: [4.1/4.2/4.3 regression] redundant reg/mem stores/moves
+Date: Mon, 27 Aug 2007 11:34:12 -0700
+
+We start with
+
+(note:HI 3 4 22 2 NOTE_INSN_FUNCTION_BEG)
+
+(insn:HI 6 3 10 2 c.c:3 (set (reg:DF 58 [ <result> ])
+ (subreg:DF (reg/v:DI 59 [ in ]) 0)) 102 {*movdf_integer_rex64} (expr_list:REG_DEAD (reg/v:DI 59 [ in ])
+ (nil)))
+
+(insn:HI 10 6 16 2 c.c:7 (set (reg/i:DF 21 xmm0 [ <result> ])
+ (reg:DF 58 [ <result> ])) 102 {*movdf_integer_rex64} (expr_list:REG_DEAD (reg:DF 58 [ <result> ])
+ (nil)))
+
+(insn:HI 16 10 0 2 c.c:7 (use (reg/i:DF 21 xmm0 [ <result> ])) -1 (nil))
+
+we are trying to allocate registers for insn 6 and we allocate
+xmm0 for the return value. Reload doesn't check if xmm0 can be used for
+DF 59, it allocates xmm1 for DF 59 and generates:
+
+Reloads for insn # 6
+Reload 0: reload_in (DF) = (reg:DF 5 di)
+ SSE_REGS, RELOAD_FOR_INPUT (opnum = 1), can't combine
+ reload_in_reg: (subreg:DF (reg/v:DI 5 di [orig:59 in ] [59]) 0)
+ reload_reg_rtx: (reg:DF 22 xmm1)
+...
+
+(note:HI 4 1 3 2 [bb 2] NOTE_INSN_BASIC_BLOCK)
+
+(note:HI 3 4 22 2 NOTE_INSN_FUNCTION_BEG)
+
+(insn 22 3 23 2 c.c:3 (set (mem/c:DF (plus:DI (reg/f:DI 7 sp)
+ (const_int -8 [0xfffffffffffffff8])) [0 S8 A8])
+ (reg:DF 5 di)) 102 {*movdf_integer_rex64} (nil))
+
+(insn 23 22 6 2 c.c:3 (set (reg:DF 22 xmm1)
+ (mem/c:DF (plus:DI (reg/f:DI 7 sp)
+ (const_int -8 [0xfffffffffffffff8])) [0 S8 A8])) 102 {*movdf_integer_rex64} (nil))
+
+(insn:HI 6 23 16 2 c.c:3 (set (reg:DF 21 xmm0 [orig:58 <result> ] [58])
+ (reg:DF 22 xmm1)) 102 {*movdf_integer_rex64} (nil))
+
+(insn 16 6 21 2 c.c:7 (use (reg/i:DF 21 xmm0 [ <result> ])) -1 (nil))
+
+This patch tries to use the destination register when reloading for input. It
+generates
+
+Reloads for insn # 6
+Reload 0: reload_in (DF) = (reg:DF 5 di)
+ SSE_REGS, RELOAD_FOR_INPUT (opnum = 1), can't combine
+ reload_in_reg: (subreg:DF (reg/v:DI 5 di [orig:59 in ] [59]) 0)
+ reload_reg_rtx: (reg:DF 21 xmm0)
+...
+(note:HI 4 1 3 2 [bb 2] NOTE_INSN_BASIC_BLOCK)
+
+(note:HI 3 4 22 2 NOTE_INSN_FUNCTION_BEG)
+
+(insn 22 3 23 2 c.c:3 (set (mem/c:DF (plus:DI (reg/f:DI 7 sp)
+ (const_int -8 [0xfffffffffffffff8])) [0 S8 A8])
+ (reg:DF 5 di)) 102 {*movdf_integer_rex64} (nil))
+
+(insn 23 22 6 2 c.c:3 (set (reg:DF 21 xmm0)
+ (mem/c:DF (plus:DI (reg/f:DI 7 sp)
+ (const_int -8 [0xfffffffffffffff8])) [0 S8 A8])) 102 {*movdf_integer_rex64} (nil))
+
+(insn:HI 6 23 10 2 c.c:3 (set (reg:DF 22 xmm1 [orig:58 <result> ] [58])
+ (reg:DF 21 xmm0)) 102 {*movdf_integer_rex64} (nil))
+
+(insn:HI 10 6 16 2 c.c:7 (set (reg/i:DF 21 xmm0 [ <result> ])
+ (reg:DF 22 xmm1 [orig:58 <result> ] [58])) 102 {*movdf_integer_rex64} (nil))
+
+(insn 16 10 21 2 c.c:7 (use (reg/i:DF 21 xmm0 [ <result> ])) -1 (nil))
+
+
+H.J.
+----
+gcc/
+
+2007-08-27 H.J. Lu <hongjiu.lu@intel.com>
+
+ PR target/30961
+ * reload1.c (find_reg): Favor the hard register in destination
+ if it is usable and a memory location is needed for reload
+ input.
+
+gcc/testsuite/
+
+2007-08-27 H.J. Lu <hongjiu.lu@intel.com>
+
+ PR target/30961
+ * gcc.target/i386/pr30961-1.c: New.
+
+--- gcc/reload1.c.second 2007-08-27 09:35:08.000000000 -0700
++++ gcc/reload1.c 2007-08-27 09:36:33.000000000 -0700
+@@ -1781,6 +1781,20 @@ find_reg (struct insn_chain *chain, int
+ HARD_REG_SET not_usable;
+ HARD_REG_SET used_by_other_reload;
+ reg_set_iterator rsi;
++#ifdef SECONDARY_MEMORY_NEEDED
++ rtx body = PATTERN (chain->insn);
++ unsigned int dest_reg = FIRST_PSEUDO_REGISTER;
++
++ if (GET_CODE (body) == SET)
++ {
++ rtx dest = SET_DEST (body);
++
++ if ((REG_P (dest)
++ || (GET_CODE (dest) == SUBREG
++ && REG_P (SUBREG_REG (dest)))))
++ dest_reg = reg_or_subregno (dest);
++ }
++#endif
+
+ COPY_HARD_REG_SET (not_usable, bad_spill_regs);
+ IOR_HARD_REG_SET (not_usable, bad_spill_regs_global);
+@@ -1821,6 +1835,18 @@ find_reg (struct insn_chain *chain, int
+ this_cost--;
+ if (rl->out && REG_P (rl->out) && REGNO (rl->out) == regno)
+ this_cost--;
++#ifdef SECONDARY_MEMORY_NEEDED
++ /* If a memory location is needed for rl->in and dest_reg
++ is usable, we will favor it. */
++ else if (dest_reg == regno
++ && rl->in
++ && REG_P (rl->in)
++ && REGNO (rl->in) < FIRST_PSEUDO_REGISTER
++ && SECONDARY_MEMORY_NEEDED (REGNO_REG_CLASS (REGNO (rl->in)),
++ rl->class,
++ rl->mode))
++ this_cost = 0;
++#endif
+ if (this_cost < best_cost
+ /* Among registers with equal cost, prefer caller-saved ones, or
+ use REG_ALLOC_ORDER if it is defined. */
+--- gcc/testsuite/gcc.target/i386/pr30961-1.c.second 2007-08-27 11:01:59.000000000 -0700
++++ gcc/testsuite/gcc.target/i386/pr30961-1.c 2007-08-27 11:02:51.000000000 -0700
+@@ -0,0 +1,13 @@
++/* { dg-do compile } */
++/* { dg-require-effective-target lp64 } */
++/* { dg-options "-O2" } */
++
++double
++convert (long long in)
++{
++ double f;
++ __builtin_memcpy( &f, &in, sizeof( in ) );
++ return f;
++}
++
++/* { dg-final { scan-assembler-not "movapd" } } */
diff --git a/recipes/gcc/gcc-4.4.0/debian/pr33148.dpatch b/recipes/gcc/gcc-4.4.0/debian/pr33148.dpatch
new file mode 100644
index 0000000000..bcf30ffb56
--- /dev/null
+++ b/recipes/gcc/gcc-4.4.0/debian/pr33148.dpatch
@@ -0,0 +1,94 @@
+#! /bin/sh -e
+
+# DP: Fix (neg (lt X 0)) optimization (PR rtl-optimization/33148)
+
+dir=
+if [ $# -eq 3 -a "$2" = '-d' ]; then
+ pdir="-d $3"
+ dir="$3/"
+elif [ $# -ne 1 ]; then
+ echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
+ exit 1
+fi
+case "$1" in
+ -patch)
+ patch $pdir -f --no-backup-if-mismatch -p0 < $0
+ ;;
+ -unpatch)
+ patch $pdir -f --no-backup-if-mismatch -R -p0 < $0
+ ;;
+ *)
+ echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
+ exit 1
+esac
+exit 0
+
+
+From: Jakub Jelinek <jakub@redhat.com>
+Sender: gcc-patches-owner@gcc.gnu.org
+To: gcc-patches@gcc.gnu.org
+Subject: [PATCH] Fix (neg (lt X 0)) optimization (PR rtl-optimization/33148)
+Date: Mon, 27 Aug 2007 07:22:44 -0400
+
+Hi!
+
+PR25600 change introduced an optimization of (neg (lt x 0)) to
+(ashirtrt x C), but it is not checking whether x's mode is suitable
+for it. As it checks that op1 is const0_rtx, I believe MODE_FLOAT
+or VECTOR_MODE_P modes are not a problem, CC modes can certainly appear
+in LT's first operand with second operand const0_rtx.
+So, when we optimize
+(neg:DI (lt:DI (reg:CC ...) (const_int 0)))
+we create something like
+(sign_extend:DI (ashirtrt:CC (reg:CC ...) (const_int 31)))
+which is IMHO invalid RTL, ashirtrt is documented on fixed point modes
+only (guess vector modes aren't listed just by omission) and so is
+sign_extend.
+
+Ok for 4.2/trunk?
+
+2007-08-27 Jakub Jelinek <jakub@redhat.com>
+
+ PR rtl-optimization/33148
+ * simplify-rtx.c (simplify_unary_operation_1): Only optimize
+ (neg (lt X 0)) if X has scalar int mode.
+
+ * gcc.c-torture/compile/20070827-1.c: New test.
+
+--- gcc/simplify-rtx.c.jj 2007-08-27 10:15:33.000000000 +0200
++++ gcc/simplify-rtx.c 2007-08-27 12:12:51.000000000 +0200
+@@ -583,7 +583,8 @@ simplify_unary_operation_1 (enum rtx_cod
+ /* (neg (lt x 0)) is (ashiftrt X C) if STORE_FLAG_VALUE is 1. */
+ /* (neg (lt x 0)) is (lshiftrt X C) if STORE_FLAG_VALUE is -1. */
+ if (GET_CODE (op) == LT
+- && XEXP (op, 1) == const0_rtx)
++ && XEXP (op, 1) == const0_rtx
++ && SCALAR_INT_MODE_P (GET_MODE (XEXP (op, 0))))
+ {
+ enum machine_mode inner = GET_MODE (XEXP (op, 0));
+ int isize = GET_MODE_BITSIZE (inner);
+--- gcc/testsuite/gcc.c-torture/compile/20070827-1.c.jj 2007-08-27 12:17:20.000000000 +0200
++++ gcc/testsuite/gcc.c-torture/compile/20070827-1.c 2007-08-27 12:15:45.000000000 +0200
+@@ -0,0 +1,20 @@
++/* PR rtl-optimization/33148 */
++
++int
++foo (unsigned int *p, int *q, unsigned int w, unsigned int b)
++{
++ unsigned int i;
++ int mask;
++
++ if (q[0] < q[1])
++ mask = 0xff;
++ else
++ mask = 0;
++
++ for (i = 0; 8 * i < w; i++)
++ {
++ b ^= mask;
++ *p++ = b;
++ }
++ return 0;
++}
+
+ Jakub
diff --git a/recipes/gcc/gcc-4.4.0/debian/pr34571.dpatch b/recipes/gcc/gcc-4.4.0/debian/pr34571.dpatch
new file mode 100644
index 0000000000..d0a654a3cc
--- /dev/null
+++ b/recipes/gcc/gcc-4.4.0/debian/pr34571.dpatch
@@ -0,0 +1,63 @@
+#! /bin/sh -e
+
+# DP: Proposed patch for PR target/34571 (alpha)
+
+dir=
+if [ $# -eq 3 -a "$2" = '-d' ]; then
+ pdir="-d $3"
+ dir="$3/"
+elif [ $# -ne 1 ]; then
+ echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
+ exit 1
+fi
+case "$1" in
+ -patch)
+ patch $pdir -f --no-backup-if-mismatch -p0 < $0
+ ;;
+ -unpatch)
+ patch $pdir -f --no-backup-if-mismatch -R -p0 < $0
+ ;;
+ *)
+ echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
+ exit 1
+esac
+exit 0
+
+2007-12-26 Rask Ingemann Lambertsen <rask@sygehus.dk>
+
+ PR target/34571
+ * config/alpha/alpha.c (alpha_cannot_force_const_mem): Use
+ symbolic_operand.
+ * varasm.c (output_constant_pool_1): Fix typo.
+
+Index: gcc/config/alpha/alpha.c
+===================================================================
+--- gcc/config/alpha/alpha.c (revision 131132)
++++ gcc/config/alpha/alpha.c (working copy)
+@@ -1112,10 +1112,9 @@ alpha_legitimize_address (rtx x, rtx scr
+
+ static bool
+ alpha_cannot_force_const_mem (rtx x)
+ {
+- enum rtx_code code = GET_CODE (x);
+- return code == SYMBOL_REF || code == LABEL_REF || code == CONST;
++ return symbolic_operand (x, GET_MODE (x));
+ }
+
+ /* We do not allow indirect calls to be optimized into sibling calls, nor
+ can we allow a call to a function with a different GP to be optimized
+Index: gcc/varasm.c
+===================================================================
+--- gcc/varasm.c (revision 131132)
++++ gcc/varasm.c (working copy)
+@@ -3709,9 +3709,9 @@ output_constant_pool_1 (struct constant_
+ tmp = XEXP (XEXP (x, 0), 0);
+ /* FALLTHRU */
+
+ case LABEL_REF:
+- tmp = XEXP (x, 0);
++ tmp = XEXP (tmp, 0);
+ gcc_assert (!INSN_DELETED_P (tmp));
+ gcc_assert (!NOTE_P (tmp)
+ || NOTE_KIND (tmp) != NOTE_INSN_DELETED);
+ break;
diff --git a/recipes/gcc/gcc-4.4.0/debian/rename-info-files.dpatch b/recipes/gcc/gcc-4.4.0/debian/rename-info-files.dpatch
new file mode 100644
index 0000000000..665d3e5f33
--- /dev/null
+++ b/recipes/gcc/gcc-4.4.0/debian/rename-info-files.dpatch
@@ -0,0 +1,710 @@
+#! /bin/sh -e
+
+# DP: Allow transformations on info file names. Reference the
+# DP: transformed info file names in the texinfo files.
+
+dir=
+if [ $# -eq 3 -a "$2" = '-d' ]; then
+ pdir="-d $3"
+ dir="$3/"
+elif [ $# -ne 1 ]; then
+ echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
+ exit 1
+fi
+case "$1" in
+ -patch)
+ patch $pdir -f --no-backup-if-mismatch -p0 < $0
+ ;;
+ -unpatch)
+ patch $pdir -f --no-backup-if-mismatch -R -p0 < $0
+ ;;
+ *)
+ echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
+ exit 1
+esac
+exit 0
+
+
+gcc/ChangeLog:
+
+2004-02-17 Matthias Klose <doko@debian.org>
+
+ * Makefile.in: Allow transformations on info file names.
+ Define MAKEINFODEFS, macros to pass transformated info file
+ names to makeinfo.
+ * doc/cpp.texi: Use macros defined in MAKEINFODEFS for references.
+ * doc/cppinternals.texi: Likewise.
+ * doc/extend.texi: Likewise.
+ * doc/gcc.texi: Likewise.
+ * doc/gccint.texi: Likewise.
+ * doc/invoke.texi: Likewise.
+ * doc/libgcc.texi: Likewise.
+ * doc/makefile.texi: Likewise.
+ * doc/passes.texi: Likewise.
+ * doc/sourcebuild.texi: Likewise.
+ * doc/standards.texi: Likewise.
+ * doc/trouble.texi: Likewise.
+
+gcc/fortran/ChangeLog:
+ * Make-lang.in: Allow transformations on info file names.
+ Pass macros of transformated info file defined in MAKEINFODEFS
+ names to makeinfo.
+ * gfortran.texi: Use macros defined in MAKEINFODEFS for references.
+
+gcc/java/ChangeLog:
+ * Make-lang.in: Allow transformations on info file names.
+ Pass macros of transformated info file defined in MAKEINFODEFS
+ names to makeinfo.
+ * gcj.texi: Use macros defined in MAKEINFODEFS for references.
+
+gcc/treelang/ChangeLog:
+ * Make-lang.in: Allow transformations on info file names.
+ Pass macros of transformated info file defined in MAKEINFODEFS
+ names to makeinfo.
+ Define TREELANG_MAKEINFODEFS macros to pass transformated info file
+ names to makeinfo.
+ * treelang.texi: Use macros defined in MAKEINFO_DEFS for references.
+
+
+Index: libgomp/libgomp.texi
+===================================================================
+--- libgomp/libgomp.texi.orig 2007-10-29 12:36:42.000000000 +0100
++++ libgomp/libgomp.texi 2008-02-08 16:27:44.000000000 +0100
+@@ -32,7 +32,7 @@ texts being (a) (see below), and with th
+ @ifinfo
+ @dircategory GNU Libraries
+ @direntry
+-* libgomp: (libgomp). GNU OpenMP runtime library
++* @value{fnlibgomp}: (@value{fnlibgomp}). GNU OpenMP runtime library
+ @end direntry
+
+ This manual documents the GNU implementation of the OpenMP API for
+Index: libgomp/Makefile.am
+===================================================================
+--- libgomp/Makefile.am.orig 2007-12-12 12:01:26.000000000 +0100
++++ libgomp/Makefile.am 2008-02-08 16:27:44.000000000 +0100
+@@ -91,16 +91,19 @@ endif
+
+ all-local: $(STAMP_GENINSRC)
+
+-stamp-geninsrc: libgomp.info
+- cp -p $(top_builddir)/libgomp.info $(srcdir)/libgomp.info
++INFO_LIBGOMP_NAME = $(shell echo libgomp|sed '$(program_transform_name)')
++stamp-geninsrc: $(INFO_LIBGOMP_NAME).info
++ cp -p $(top_builddir)/$(INFO_LIBGOMP_NAME).info $(srcdir)/libgomp.info
+ @touch $@
+
+-libgomp.info: $(STAMP_BUILD_INFO)
++libgomp.info: $(INFO_LIBGOMP_NAME).info
++ cp $(INFO_LIBGOMP_NAME).info libgomp.info
++$(INFO_LIBGOMP_NAME).info: $(STAMP_BUILD_INFO)
+
+ stamp-build-info: libgomp.texi
+- $(MAKEINFO) $(AM_MAKEINFOFLAGS) $(MAKEINFOFLAGS) -I $(srcdir) -o libgomp.info $(srcdir)/libgomp.texi
++ $(MAKEINFO) $(AM_MAKEINFOFLAGS) $(MAKEINFOFLAGS) -D 'fnlibgomp $(INFO_LIBGOMP_NAME)' -I $(srcdir) -o $(INFO_LIBGOMP_NAME).info $(srcdir)/libgomp.texi
+ @touch $@
+
+
+-CLEANFILES = $(STAMP_GENINSRC) $(STAMP_BUILD_INFO) libgomp.info
++CLEANFILES = $(STAMP_GENINSRC) $(STAMP_BUILD_INFO) $(INFO_LIBGOMP_NAME).info
+ MAINTAINERCLEANFILES = $(srcdir)/libgomp.info
+Index: libgomp/Makefile.in
+===================================================================
+--- libgomp/Makefile.in.orig 2008-01-08 17:45:56.000000000 +0100
++++ libgomp/Makefile.in 2008-02-08 16:27:44.000000000 +0100
+@@ -316,7 +316,8 @@ info_TEXINFOS = libgomp.texi
+
+ # AM_CONDITIONAL on configure check ACX_CHECK_PROG_VER([MAKEINFO])
+ @BUILD_INFO_TRUE@STAMP_BUILD_INFO = stamp-build-info
+-CLEANFILES = $(STAMP_GENINSRC) $(STAMP_BUILD_INFO) libgomp.info
++INFO_LIBGOMP_NAME = $(shell echo libgomp|sed '$(program_transform_name)')
++CLEANFILES = $(STAMP_GENINSRC) $(STAMP_BUILD_INFO) $(INFO_LIBGOMP_NAME).info
+ MAINTAINERCLEANFILES = $(srcdir)/libgomp.info
+ all: config.h
+ $(MAKE) $(AM_MAKEFLAGS) all-recursive
+@@ -1079,15 +1080,16 @@ install-pdf: $(PDFS)
+ done
+
+ all-local: $(STAMP_GENINSRC)
+-
+-stamp-geninsrc: libgomp.info
+- cp -p $(top_builddir)/libgomp.info $(srcdir)/libgomp.info
++stamp-geninsrc: $(INFO_LIBGOMP_NAME).info
++ cp -p $(top_builddir)/$(INFO_LIBGOMP_NAME).info $(srcdir)/libgomp.info
+ @touch $@
+
+-libgomp.info: $(STAMP_BUILD_INFO)
++libgomp.info: $(INFO_LIBGOMP_NAME).info
++ cp $(INFO_LIBGOMP_NAME).info libgomp.info
++$(INFO_LIBGOMP_NAME).info: $(STAMP_BUILD_INFO)
+
+ stamp-build-info: libgomp.texi
+- $(MAKEINFO) $(AM_MAKEINFOFLAGS) $(MAKEINFOFLAGS) -I $(srcdir) -o libgomp.info $(srcdir)/libgomp.texi
++ $(MAKEINFO) $(AM_MAKEINFOFLAGS) $(MAKEINFOFLAGS) -D 'fnlibgomp $(INFO_LIBGOMP_NAME)' -I $(srcdir) -o $(INFO_LIBGOMP_NAME).info $(srcdir)/libgomp.texi
+ @touch $@
+ # Tell versions [3.59,3.63) of GNU make to not export all variables.
+ # Otherwise a system limit (for SysV at least) may be exceeded.
+Index: gcc/doc/cpp.texi
+===================================================================
+--- gcc/doc/cpp.texi.orig 2008-02-04 11:28:51.000000000 +0100
++++ gcc/doc/cpp.texi 2008-02-08 16:27:44.000000000 +0100
+@@ -52,7 +52,7 @@ This manual contains no Invariant Sectio
+ @ifinfo
+ @dircategory Software development
+ @direntry
+-* Cpp: (cpp). The GNU C preprocessor.
++* @value{fncpp}: (@value{fncpp}). The GNU C preprocessor.
+ @end direntry
+ @end ifinfo
+
+Index: gcc/doc/cppinternals.texi
+===================================================================
+--- gcc/doc/cppinternals.texi.orig 2007-03-11 13:17:34.000000000 +0100
++++ gcc/doc/cppinternals.texi 2008-02-08 16:27:44.000000000 +0100
+@@ -7,7 +7,7 @@
+ @ifinfo
+ @dircategory Software development
+ @direntry
+-* Cpplib: (cppinternals). Cpplib internals.
++* @value{fncppint}: (@value{fncppint}). Cpplib internals.
+ @end direntry
+ @end ifinfo
+
+Index: gcc/doc/extend.texi
+===================================================================
+--- gcc/doc/extend.texi.orig 2008-02-04 11:28:51.000000000 +0100
++++ gcc/doc/extend.texi 2008-02-08 16:27:44.000000000 +0100
+@@ -11497,7 +11497,7 @@ want to write code that checks whether t
+ test for the GNU compiler the same way as for C programs: check for a
+ predefined macro @code{__GNUC__}. You can also use @code{__GNUG__} to
+ test specifically for GNU C++ (@pxref{Common Predefined Macros,,
+-Predefined Macros,cpp,The GNU C Preprocessor}).
++Predefined Macros,@value{fncpp},The GNU C Preprocessor}).
+
+ @menu
+ * Volatiles:: What constitutes an access to a volatile object.
+Index: gcc/doc/gcc.texi
+===================================================================
+--- gcc/doc/gcc.texi.orig 2008-01-24 17:57:55.000000000 +0100
++++ gcc/doc/gcc.texi 2008-02-08 16:27:44.000000000 +0100
+@@ -65,8 +65,8 @@ included in the section entitled ``GNU F
+ @ifnottex
+ @dircategory Software development
+ @direntry
+-* gcc: (gcc). The GNU Compiler Collection.
+-* g++: (gcc). The GNU C++ compiler.
++* @value{fngcc}: (@value{fngcc}). The GNU Compiler Collection.
++* @value{fngxx}: (@value{fngcc}). The GNU C++ compiler.
+ @end direntry
+ This file documents the use of the GNU compilers.
+ @sp 1
+@@ -126,7 +126,7 @@ version @value{version-GCC}.
+ The internals of the GNU compilers, including how to port them to new
+ targets and some information about how to write front ends for new
+ languages, are documented in a separate manual. @xref{Top,,
+-Introduction, gccint, GNU Compiler Collection (GCC) Internals}.
++Introduction, @value{fngccint}, GNU Compiler Collection (GCC) Internals}.
+
+ @menu
+ * G++ and GCC:: You can compile C or C++ programs.
+Index: gcc/doc/gccint.texi
+===================================================================
+--- gcc/doc/gccint.texi.orig 2007-10-29 14:31:38.000000000 +0100
++++ gcc/doc/gccint.texi 2008-02-08 16:27:44.000000000 +0100
+@@ -51,7 +51,7 @@ included in the section entitled ``GNU F
+ @ifnottex
+ @dircategory Software development
+ @direntry
+-* gccint: (gccint). Internals of the GNU Compiler Collection.
++* @value{fngccint}: (@value{fngccint}). Internals of the GNU Compiler Collection.
+ @end direntry
+ This file documents the internals of the GNU compilers.
+ @sp 1
+@@ -83,7 +83,7 @@ write front ends for new languages. It
+ @value{VERSION_PACKAGE}
+ @end ifset
+ version @value{version-GCC}. The use of the GNU compilers is documented in a
+-separate manual. @xref{Top,, Introduction, gcc, Using the GNU
++separate manual. @xref{Top,, Introduction, @value{fngcc}, Using the GNU
+ Compiler Collection (GCC)}.
+
+ This manual is mainly a reference manual rather than a tutorial. It
+Index: gcc/doc/invoke.texi
+===================================================================
+--- gcc/doc/invoke.texi.orig 2008-02-07 12:10:09.000000000 +0100
++++ gcc/doc/invoke.texi 2008-02-08 16:27:44.000000000 +0100
+@@ -7456,7 +7456,7 @@ One of the standard libraries bypassed b
+ @option{-nodefaultlibs} is @file{libgcc.a}, a library of internal subroutines
+ that GCC uses to overcome shortcomings of particular machines, or special
+ needs for some languages.
+-(@xref{Interface,,Interfacing to GCC Output,gccint,GNU Compiler
++(@xref{Interface,,Interfacing to GCC Output,@value{fngccint},GNU Compiler
+ Collection (GCC) Internals},
+ for more discussion of @file{libgcc.a}.)
+ In most cases, you need @file{libgcc.a} even when you want to avoid
+@@ -7464,7 +7464,7 @@ other standard libraries. In other word
+ or @option{-nodefaultlibs} you should usually specify @option{-lgcc} as well.
+ This ensures that you have no unresolved references to internal GCC
+ library subroutines. (For example, @samp{__main}, used to ensure C++
+-constructors will be called; @pxref{Collect2,,@code{collect2}, gccint,
++constructors will be called; @pxref{Collect2,,@code{collect2}, @value{fngccint},
+ GNU Compiler Collection (GCC) Internals}.)
+
+ @item -pie
+@@ -15215,7 +15215,7 @@ Note that you can also specify places to
+ @option{-B}, @option{-I} and @option{-L} (@pxref{Directory Options}). These
+ take precedence over places specified using environment variables, which
+ in turn take precedence over those specified by the configuration of GCC@.
+-@xref{Driver,, Controlling the Compilation Driver @file{gcc}, gccint,
++@xref{Driver,, Controlling the Compilation Driver @file{gcc}, @value{fngccint},
+ GNU Compiler Collection (GCC) Internals}.
+
+ @table @env
+@@ -15370,7 +15370,7 @@ the headers it contains change.
+
+ A precompiled header file will be searched for when @code{#include} is
+ seen in the compilation. As it searches for the included file
+-(@pxref{Search Path,,Search Path,cpp,The C Preprocessor}) the
++(@pxref{Search Path,,Search Path,@value{fncpp},The C Preprocessor}) the
+ compiler looks for a precompiled header in each directory just before it
+ looks for the include file in that directory. The name searched for is
+ the name specified in the @code{#include} with @samp{.gch} appended. If
+Index: gcc/doc/libgcc.texi
+===================================================================
+--- gcc/doc/libgcc.texi.orig 2007-10-29 14:31:38.000000000 +0100
++++ gcc/doc/libgcc.texi 2008-02-08 16:27:44.000000000 +0100
+@@ -24,7 +24,7 @@ that needs them.
+ GCC will also generate calls to C library routines, such as
+ @code{memcpy} and @code{memset}, in some cases. The set of routines
+ that GCC may possibly use is documented in @ref{Other
+-Builtins,,,gcc, Using the GNU Compiler Collection (GCC)}.
++Builtins,,,@value{fngcc}, Using the GNU Compiler Collection (GCC)}.
+
+ These routines take arguments and return values of a specific machine
+ mode, not a specific C type. @xref{Machine Modes}, for an explanation
+Index: gcc/doc/makefile.texi
+===================================================================
+--- gcc/doc/makefile.texi.orig 2008-02-04 11:28:51.000000000 +0100
++++ gcc/doc/makefile.texi 2008-02-08 16:27:44.000000000 +0100
+@@ -139,7 +139,7 @@ regardless of how it itself was compiled
+ @item profiledbootstrap
+ Builds a compiler with profiling feedback information. For more
+ information, see
+-@ref{Building,,Building with profile feedback,gccinstall,Installing GCC}.
++@ref{Building,,Building with profile feedback,@value{fngccinstall},Installing GCC}.
+
+ @item restrap
+ Restart a bootstrap, so that everything that was not built with
+Index: gcc/doc/passes.texi
+===================================================================
+--- gcc/doc/passes.texi.orig 2008-02-04 11:28:51.000000000 +0100
++++ gcc/doc/passes.texi 2008-02-08 16:27:44.000000000 +0100
+@@ -191,7 +191,7 @@ rid of it. This pass is located in @fil
+ @item Mudflap declaration registration
+
+ If mudflap (@pxref{Optimize Options,,-fmudflap -fmudflapth
+--fmudflapir,gcc,Using the GNU Compiler Collection (GCC)}) is
++-fmudflapir,@value{fngcc},Using the GNU Compiler Collection (GCC)}) is
+ enabled, we generate code to register some variable declarations with
+ the mudflap runtime. Specifically, the runtime tracks the lifetimes of
+ those variable declarations that have their addresses taken, or whose
+Index: gcc/doc/standards.texi
+===================================================================
+--- gcc/doc/standards.texi.orig 2007-12-12 12:01:27.000000000 +0100
++++ gcc/doc/standards.texi 2008-02-08 16:27:44.000000000 +0100
+@@ -230,8 +230,8 @@ HTML format.
+ GNAT Reference Manual}, for information on standard
+ conformance and compatibility of the Ada compiler.
+
+-@xref{Standards,,Standards, gfortran, The GNU Fortran Compiler}, for details
++@xref{Standards,,Standards, @value{fngfortran}, The GNU Fortran Compiler}, for details
+ of standards supported by GNU Fortran.
+
+-@xref{Compatibility,,Compatibility with the Java Platform, gcj, GNU gcj},
++@xref{Compatibility,,Compatibility with the Java Platform, @value{fngcj}, GNU gcj},
+ for details of compatibility between @command{gcj} and the Java Platform.
+Index: gcc/java/Make-lang.in
+===================================================================
+--- gcc/java/Make-lang.in.orig 2008-02-07 12:10:09.000000000 +0100
++++ gcc/java/Make-lang.in 2008-02-08 16:27:44.000000000 +0100
+@@ -127,11 +127,23 @@ java.tags: force
+ etags --include TAGS.sub --include ../TAGS.sub
+
+
+-java.info: doc/gcj.info
++TEXI_GCJ_FILES = java/gcj.texi \
++ $(gcc_docdir)/include/gpl.texi $(gcc_docdir)/include/funding.texi \
++ $(gcc_docdir)/include/fdl.texi $(gcc_docdir)/include/gcc-common.texi gcc-vers.texi
++INFO_GCJ_NAME = $(shell echo gcj|sed '$(program_transform_name)')
+
+-java.srcinfo: doc/gcj.info
++java.info: doc/$(INFO_GCJ_NAME).info
++
++java.srcinfo: doc/$(INFO_GCJ_NAME).info
+ -cp -p $^ $(srcdir)/doc
+
++doc/$(INFO_GCJ_NAME).info: $(TEXI_GCJ_FILES)
++ if test "x$(BUILD_INFO)" = xinfo; then \
++ rm -f $(@)*; \
++ $(MAKEINFO) $(MAKEINFOFLAGS) $(MAKEINFODEFS) \
++ -I$(gcc_docdir)/include -I$(srcdir)/f -o$@ $<; \
++ fi
++
+ java.dvi: doc/gcj.dvi
+
+ JAVA_PDFFILES = doc/gcj.pdf
+@@ -187,8 +199,9 @@ java.uninstall:
+ -rm -rf $(DESTDIR)$(man1dir)/gij$(man1ext)
+ -rm -rf $(DESTDIR)$(man1dir)/jv-convert$(man1ext)
+ -rm -rf $(DESTDIR)$(man1dir)/gcj-dbtool$(man1ext)
++ -rm -f $(DESTDIR)$(infodir)/$(INFO_GCJ_NAME).info*
+
+-java.install-info: $(DESTDIR)$(infodir)/gcj.info
++java.install-info: $(DESTDIR)$(infodir)/$(INFO_GCJ_NAME).info
+
+ java.install-pdf: $(JAVA_PDFFILES)
+ @$(NORMAL_INSTALL)
+Index: gcc/java/gcj.texi
+===================================================================
+--- gcc/java/gcj.texi.orig 2007-12-12 12:01:27.000000000 +0100
++++ gcc/java/gcj.texi 2008-02-08 17:19:48.000000000 +0100
+@@ -56,21 +56,21 @@ man page gfdl(7).
+ @format
+ @dircategory Software development
+ @direntry
+-* Gcj: (gcj). Ahead-of-time compiler for the Java language
++* @value{fngcj}: (@value{fngcj}). Ahead-of-time compiler for the Java language
+ @end direntry
+
+ @dircategory Individual utilities
+ @direntry
+-* jcf-dump: (gcj)Invoking jcf-dump.
++* jcf-dump: (@value{fngcj}) Invoking jcf-dump.
+ Print information about Java class files
+-* gij: (gcj)Invoking gij. GNU interpreter for Java bytecode
+-* gcj-dbtool: (gcj)Invoking gcj-dbtool.
++* gij: (@value{fngcj}) Invoking gij. GNU interpreter for Java bytecode
++* gcj-dbtool: (@value{fngcj}) Invoking gcj-dbtool.
+ Tool for manipulating class file databases.
+-* jv-convert: (gcj)Invoking jv-convert.
++* jv-convert: (@value{fngcj}) Invoking jv-convert.
+ Convert file from one encoding to another
+-* grmic: (gcj)Invoking grmic.
++* grmic: (@value{fngcj}) Invoking grmic.
+ Generate stubs for Remote Method Invocation.
+-* gc-analyze: (gcj)Invoking gc-analyze.
++* gc-analyze: (@value{fngcj}) Invoking gc-analyze.
+ Analyze Garbage Collector (GC) memory dumps.
+ @end direntry
+ @end format
+@@ -152,7 +152,7 @@ and the Info entries for @file{gcj} and
+
+ As @command{gcj} is just another front end to @command{gcc}, it supports many
+ of the same options as gcc. @xref{Option Summary, , Option Summary,
+-gcc, Using the GNU Compiler Collection (GCC)}. This manual only documents the
++@value{fngcc}, Using the GNU Compiler Collection (GCC)}. This manual only documents the
+ options specific to @command{gcj}.
+
+ @c man end
+Index: gcc/fortran/Make-lang.in
+===================================================================
+--- gcc/fortran/Make-lang.in.orig 2008-02-07 12:10:11.000000000 +0100
++++ gcc/fortran/Make-lang.in 2008-02-08 16:27:44.000000000 +0100
+@@ -112,7 +112,8 @@ fortran.tags: force
+ cd $(srcdir)/fortran; etags -o TAGS.sub *.c *.h; \
+ etags --include TAGS.sub --include ../TAGS.sub
+
+-fortran.info: doc/gfortran.info doc/gfc-internals.info
++INFO_FORTRAN_NAME = $(shell echo gfortran|sed '$(program_transform_name)')
++fortran.info: doc/$(INFO_FORTRAN_NAME).info
+ fortran.dvi: doc/gfortran.dvi doc/gfc-internals.dvi
+ fortran.html: $(build_htmldir)/gfortran/index.html
+
+@@ -154,10 +155,10 @@ GFORTRAN_TEXI = \
+ $(srcdir)/doc/include/gcc-common.texi \
+ gcc-vers.texi
+
+-doc/gfortran.info: $(GFORTRAN_TEXI)
++doc/$(INFO_FORTRAN_NAME).info: $(GFORTRAN_TEXI)
+ if [ x$(BUILD_INFO) = xinfo ]; then \
+ rm -f doc/gfortran.info-*; \
+- $(MAKEINFO) -I $(srcdir)/doc/include -I $(srcdir)/fortran \
++ $(MAKEINFO) $(MAKEINFODEFS) -I $(srcdir)/doc/include -I $(srcdir)/fortran \
+ -o $@ $<; \
+ else true; fi
+
+@@ -225,7 +226,7 @@ fortran.install-common: install-finclude
+ fi ; \
+ fi
+
+-fortran.install-info: $(DESTDIR)$(infodir)/gfortran.info
++fortran.install-info: $(DESTDIR)$(infodir)/$(INFO_FORTRAN_NAME).info
+
+ fortran.install-man: $(DESTDIR)$(man1dir)/$(GFORTRAN_INSTALL_NAME)$(man1ext)
+
+@@ -243,7 +244,7 @@ fortran.uninstall:
+ rm -rf $(DESTDIR)$(bindir)/$(GFORTRAN_INSTALL_NAME)$(exeext); \
+ rm -rf $(DESTDIR)$(man1dir)/$(GFORTRAN_INSTALL_NAME)$(man1ext); \
+ rm -rf $(DESTDIR)$(bindir)/$(GFORTRAN_TARGET_INSTALL_NAME)$(exeext); \
+- rm -rf $(DESTDIR)$(infodir)/gfortran.info*
++ rm -rf $(DESTDIR)$(infodir)/$(INFO_FORTRAN_NAME).info*
+
+ #
+ # Clean hooks:
+Index: gcc/fortran/gfortran.texi
+===================================================================
+--- gcc/fortran/gfortran.texi.orig 2008-01-25 16:49:43.000000000 +0100
++++ gcc/fortran/gfortran.texi 2008-02-08 16:27:44.000000000 +0100
+@@ -102,7 +102,7 @@ texts being (a) (see below), and with th
+ @ifinfo
+ @dircategory Software development
+ @direntry
+-* gfortran: (gfortran). The GNU Fortran Compiler.
++* @value{fngfortran}: (@value{fngfortran}). The GNU Fortran Compiler.
+ @end direntry
+ This file documents the use and the internals of
+ the GNU Fortran compiler, (@command{gfortran}).
+Index: gcc/treelang/Make-lang.in
+===================================================================
+--- gcc/treelang/Make-lang.in.orig 2008-02-07 12:10:11.000000000 +0100
++++ gcc/treelang/Make-lang.in 2008-02-08 16:27:44.000000000 +0100
+@@ -153,9 +153,12 @@ treelang.tags: force
+ cd $(srcdir)/treelang; etags -o TAGS.sub *.y *.l *.c *.h; \
+ etags --include TAGS.sub --include ../TAGS.sub
+
+-treelang.info: doc/treelang.info
++INFO_TREELANG_NAME = $(shell echo treelang|sed '$(program_transform_name)')
++TREELANG_MAKEINFODEFS = -D 'fntreelang $(INFO_TREELANG_NAME)'
+
+-treelang.srcinfo: doc/treelang.info
++treelang.info: doc/$(INFO_TREELANG_NAME).info
++
++treelang.srcinfo: doc/$(INFO_TREELANG_NAME).info
+ -cp -p $^ $(srcdir)/doc
+
+ treelang.dvi: doc/treelang.dvi
+@@ -171,8 +174,8 @@ TEXI_TREELANG_FILES = treelang/treelang.
+ $(gcc_docdir)/include/funding.texi \
+ gcc-vers.texi
+
+-doc/treelang.info: $(TEXI_TREELANG_FILES)
+- $(MAKEINFO) $(MAKEINFOFLAGS) -I $(gcc_docdir)/include -o $@ $<
++doc/$(INFO_TREELANG_NAME).info: $(TEXI_TREELANG_FILES)
++ $(MAKEINFO) $(MAKEINFOFLAGS) $(TREELANG_MAKEINFODEFS) -I $(gcc_docdir)/include -o $@ $<
+
+ doc/treelang.dvi: $(TEXI_TREELANG_FILES)
+ $(TEXI2DVI) -I $(abs_docdir)/include -o $@ $<
+@@ -210,7 +213,7 @@ treelang.install.common.done: installdi
+ $(STAMP) treelang.install.common.done
+
+ # We might not be able to build the info files
+-treelang.install-info: $(DESTDIR)$(infodir)/treelang.info
++treelang.install-info: $(DESTDIR)$(infodir)/$(INFO_TREELANG_NAME).info
+
+ treelang.install-pdf: $(TREELANG_PDFFILES)
+ @$(NORMAL_INSTALL)
+@@ -233,6 +236,7 @@ treelang.uninstall:
+ echo -rm -rf $(DESTDIR)$(bindir)/$$name2$(exeext); \
+ rm -rf $(DESTDIR)$(bindir)/$$name2$(exeext); \
+ done
++ -rm -f $(DESTDIR)$(infodir)/$(INFO_TREELANG_NAME).info*
+ -rm treelang.install.common.done
+
+ #
+Index: gcc/treelang/treelang.texi
+===================================================================
+--- gcc/treelang/treelang.texi.orig 2007-10-29 14:33:20.000000000 +0100
++++ gcc/treelang/treelang.texi 2008-02-08 16:27:44.000000000 +0100
+@@ -107,7 +107,7 @@ texts being (a) (see below), and with th
+ @ifnottex
+ @dircategory Software development
+ @direntry
+-* treelang: (treelang). The GNU Treelang compiler.
++* @value{fntreelang}: (@value{fntreelang}). The GNU Treelang compiler.
+ @end direntry
+ @ifset INTERNALS
+ @ifset USING
+@@ -260,7 +260,7 @@ James A. Morrison.
+ @item
+ The packaging and compiler portions of GNU Treelang are based largely
+ on the GCC compiler.
+-@xref{Contributors,,Contributors to GCC,GCC,Using and Maintaining GCC},
++@xref{Contributors,,Contributors to GCC,@value{fngcc},Using and Maintaining GCC},
+ for more information.
+
+ @item
+@@ -880,7 +880,7 @@ files and accepts Treelang-specific comm
+ command-line options that are designed to cater to Treelang users
+ but apply to other languages as well.
+
+-@xref{G++ and GCC,,Programming Languages Supported by GCC,GCC,Using
++@xref{G++ and GCC,,Programming Languages Supported by GCC,@value{fngcc},Using
+ the GNU Compiler Collection (GCC)},
+ for information on the way different languages are handled
+ by the GCC compiler (@code{gcc}).
+Index: gcc/Makefile.in
+===================================================================
+--- gcc/Makefile.in.orig 2008-02-08 16:27:44.000000000 +0100
++++ gcc/Makefile.in 2008-02-08 17:18:23.000000000 +0100
+@@ -3617,8 +3617,27 @@ stmp-install-fixproto: fixproto
+
+ doc: $(BUILD_INFO) $(GENERATED_MANPAGES) gccbug
+
+-INFOFILES = doc/cpp.info doc/gcc.info doc/gccint.info \
+- doc/gccinstall.info doc/cppinternals.info
++INFO_CPP_NAME = $(shell echo cpp|sed '$(program_transform_name)')
++INFO_GCC_NAME = $(shell echo gcc|sed '$(program_transform_name)')
++INFO_GXX_NAME = $(shell echo g++|sed '$(program_transform_name)')
++INFO_GCCINT_NAME = $(shell echo gccint|sed '$(program_transform_name)')
++INFO_GCCINSTALL_NAME = $(shell echo gccinstall|sed '$(program_transform_name)')
++INFO_CPPINT_NAME = $(shell echo cppinternals|sed '$(program_transform_name)')
++
++INFO_FORTRAN_NAME = $(shell echo gfortran|sed '$(program_transform_name)')
++INFO_GCJ_NAME = $(shell echo gcj|sed '$(program_transform_name)')
++
++INFOFILES = doc/$(INFO_CPP_NAME).info doc/$(INFO_GCC_NAME).info \
++ doc/$(INFO_GCCINT_NAME).info \
++ doc/$(INFO_GCCINSTALL_NAME).info doc/$(INFO_CPPINT_NAME).info
++
++MAKEINFODEFS = -D 'fncpp $(INFO_CPP_NAME)' -D 'fngcc $(INFO_GCC_NAME)' \
++ -D 'fngxx $(INFO_GXX_NAME)' \
++ -D 'fngccint $(INFO_GCCINT_NAME)' \
++ -D 'fngccinstall $(INFO_GCCINSTALL_NAME)' \
++ -D 'fncppint $(INFO_CPPINT_NAME)' \
++ -D 'fngfortran $(INFO_FORTRAN_NAME)' \
++ -D 'fngcj $(INFO_GCJ_NAME)'
+
+ info: $(INFOFILES) lang.info @GENINSRC@ srcinfo lang.srcinfo
+
+@@ -3668,21 +3687,41 @@ gcc-vers.texi: $(BASEVER) $(DEVPHASE)
+ # patterns. To use them, put each of the specific targets with its
+ # specific dependencies but no build commands.
+
+-doc/cpp.info: $(TEXI_CPP_FILES)
+-doc/gcc.info: $(TEXI_GCC_FILES)
+-doc/gccint.info: $(TEXI_GCCINT_FILES)
+-doc/cppinternals.info: $(TEXI_CPPINT_FILES)
+-
++# Generic entry to handle info files, which are not renamed (currently Ada)
+ doc/%.info: %.texi
+ if [ x$(BUILD_INFO) = xinfo ]; then \
+ $(MAKEINFO) $(MAKEINFOFLAGS) -I . -I $(gcc_docdir) \
+ -I $(gcc_docdir)/include -o $@ $<; \
+ fi
+
++doc/$(INFO_CPP_NAME).info: $(TEXI_CPP_FILES)
++ if [ x$(BUILD_INFO) = xinfo ]; then \
++ $(MAKEINFO) $(MAKEINFOFLAGS) $(MAKEINFODEFS) -I $(gcc_docdir) \
++ -I $(gcc_docdir)/include -o $@ $<; \
++ fi
++
++doc/$(INFO_GCC_NAME).info: $(TEXI_GCC_FILES)
++ if [ x$(BUILD_INFO) = xinfo ]; then \
++ $(MAKEINFO) $(MAKEINFOFLAGS) $(MAKEINFODEFS) -I $(gcc_docdir) \
++ -I $(gcc_docdir)/include -o $@ $<; \
++ fi
++
++doc/$(INFO_GCCINT_NAME).info: $(TEXI_GCCINT_FILES)
++ if [ x$(BUILD_INFO) = xinfo ]; then \
++ $(MAKEINFO) $(MAKEINFOFLAGS) $(MAKEINFODEFS) -I $(gcc_docdir) \
++ -I $(gcc_docdir)/include -o $@ $<; \
++ fi
++
++doc/$(INFO_CPPINT_NAME).info: $(TEXI_CPPINT_FILES)
++ if [ x$(BUILD_INFO) = xinfo ]; then \
++ $(MAKEINFO) $(MAKEINFOFLAGS) $(MAKEINFODEFS) -I $(gcc_docdir) \
++ -I $(gcc_docdir)/include -o $@ $<; \
++ fi
++
+ # Duplicate entry to handle renaming of gccinstall.info
+-doc/gccinstall.info: $(TEXI_GCCINSTALL_FILES)
++doc/$(INFO_GCCINSTALL_NAME).info: $(TEXI_GCCINSTALL_FILES)
+ if [ x$(BUILD_INFO) = xinfo ]; then \
+- $(MAKEINFO) $(MAKEINFOFLAGS) -I $(gcc_docdir) \
++ $(MAKEINFO) $(MAKEINFOFLAGS) $(MAKEINFODEFS) -I $(gcc_docdir) \
+ -I $(gcc_docdir)/include -o $@ $<; \
+ fi
+
+@@ -3990,11 +4029,11 @@ install-driver: installdirs xgcc$(exeext
+ # $(INSTALL_DATA) might be a relative pathname, so we can't cd into srcdir
+ # to do the install.
+ install-info:: doc installdirs \
+- $(DESTDIR)$(infodir)/cpp.info \
+- $(DESTDIR)$(infodir)/gcc.info \
+- $(DESTDIR)$(infodir)/cppinternals.info \
+- $(DESTDIR)$(infodir)/gccinstall.info \
+- $(DESTDIR)$(infodir)/gccint.info \
++ $(DESTDIR)$(infodir)/$(INFO_CPP_NAME).info \
++ $(DESTDIR)$(infodir)/$(INFO_GCC_NAME).info \
++ $(DESTDIR)$(infodir)/$(INFO_CPPINT_NAME).info \
++ $(DESTDIR)$(infodir)/$(INFO_GCCINSTALL_NAME).info \
++ $(DESTDIR)$(infodir)/$(INFO_GCCINT_NAME).info \
+ lang.install-info
+
+ $(DESTDIR)$(infodir)/%.info: doc/%.info installdirs
+@@ -4195,8 +4234,11 @@ uninstall: lang.uninstall
+ -rm -rf $(DESTDIR)$(man1dir)/cpp$(man1ext)
+ -rm -rf $(DESTDIR)$(man1dir)/protoize$(man1ext)
+ -rm -rf $(DESTDIR)$(man1dir)/unprotoize$(man1ext)
+- -rm -f $(DESTDIR)$(infodir)/cpp.info* $(DESTDIR)$(infodir)/gcc.info*
+- -rm -f $(DESTDIR)$(infodir)/cppinternals.info* $(DESTDIR)$(infodir)/gccint.info*
++ -rm -f $(DESTDIR)$(infodir)/$(INFO_CPP_NAME).info*
++ -rm -f $(DESTDIR)$(infodir)/$(INFO_GCC_NAME).info*
++ -rm -f $(DESTDIR)$(infodir)/$(INFO_CPPINT_NAME).info*
++ -rm -f $(DESTDIR)$(infodir)/$(INFO_GCCINT_NAME).info*
++ -rm -f $(DESTDIR)$(infodir)/$(INFO_GCCINSTALL_NAME).info*
+ #
+ # These targets are for the dejagnu testsuites. The file site.exp
+ # contains global variables that all the testsuites will use.
+Index: gcc/doc/install.texi
+===================================================================
+--- gcc/doc/install.texi.orig 2008-01-30 11:21:55.000000000 +0100
++++ gcc/doc/install.texi 2008-02-08 16:29:13.000000000 +0100
+@@ -96,7 +96,7 @@ Free Documentation License}''.
+ @end ifinfo
+ @dircategory Software development
+ @direntry
+-* gccinstall: (gccinstall). Installing the GNU Compiler Collection.
++* @value{fngccinstall}: (@value{fngccinstall}). Installing the GNU Compiler Collection.
+ @end direntry
+
+ @c Part 3 Titlepage and Copyright
+Index: gcc/ada/gnat-style.texi
+===================================================================
+--- gcc/ada/gnat-style.texi.orig 2007-10-29 12:59:35.000000000 +0100
++++ gcc/ada/gnat-style.texi 2008-02-08 17:15:59.000000000 +0100
+@@ -31,7 +31,7 @@
+
+ @dircategory Software development
+ @direntry
+-* gnat-style: (gnat-style). GNAT Coding Style
++* gnat-style: (gnat-style-4.3). GNAT Coding Style
+ @end direntry
+
+ @macro syntax{element}
+Index: gcc/ada/gnat_rm.texi
+===================================================================
+--- gcc/ada/gnat_rm.texi.orig 2008-01-02 11:19:07.000000000 +0100
++++ gcc/ada/gnat_rm.texi 2008-02-08 17:15:12.000000000 +0100
+@@ -30,7 +30,7 @@
+
+ @dircategory GNU Ada tools
+ @direntry
+-* GNAT Reference Manual: (gnat_rm). Reference Manual for GNU Ada tools.
++* GNAT Reference Manual: (gnat_rm-4.3). Reference Manual for GNU Ada tools.
+ @end direntry
+
+ @copying
+Index: gcc/ada/gnat_ugn.texi
+===================================================================
+--- gcc/ada/gnat_ugn.texi.orig 2008-01-02 11:19:08.000000000 +0100
++++ gcc/ada/gnat_ugn.texi 2008-02-08 17:15:37.000000000 +0100
+@@ -96,7 +96,7 @@
+
+ @ifset unw
+ @set PLATFORM
+-@set FILE gnat_ugn_unw
++@set FILE gnat_ugn_unw-4.3
+ @end ifset
+
+ @ifset vms
diff --git a/recipes/gcc/gcc-4.4.0/debian/s390-biarch.dpatch b/recipes/gcc/gcc-4.4.0/debian/s390-biarch.dpatch
new file mode 100644
index 0000000000..392185f9bf
--- /dev/null
+++ b/recipes/gcc/gcc-4.4.0/debian/s390-biarch.dpatch
@@ -0,0 +1,36 @@
+#! /bin/sh -e
+
+# DP: enable biarch for 31 bit compiler
+
+dir=
+if [ $# -eq 3 -a "$2" = '-d' ]; then
+ pdir="-d $3"
+ dir="$3/"
+elif [ $# -ne 1 ]; then
+ echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
+ exit 1
+fi
+case "$1" in
+ -patch)
+ patch $pdir -f --no-backup-if-mismatch -p0 < $0
+ ;;
+ -unpatch)
+ patch $pdir -f --no-backup-if-mismatch -R -p0 < $0
+ ;;
+ *)
+ echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
+ exit 1
+esac
+exit 0
+
+--- gcc/config.gcc~ 2006-06-02 01:59:42.000000000 +0200
++++ gcc/config.gcc 2006-06-04 18:20:56.272554984 +0200
+@@ -1884,7 +1884,7 @@
+ ;;
+ s390-*-linux*)
+ tm_file="s390/s390.h dbxelf.h elfos.h svr4.h linux.h s390/linux.h"
+- tmake_file="${tmake_file} t-dfprules s390/t-crtstuff s390/t-linux"
++ tmake_file="${tmake_file} t-dfprules s390/t-crtstuff s390/t-linux s390/t-linux64"
+ ;;
+ s390x-*-linux*)
+ tm_file="s390/s390x.h s390/s390.h dbxelf.h elfos.h svr4.h linux.h s390/linux.h"
diff --git a/recipes/gcc/gcc-4.4.0/debian/sparc-biarch.dpatch b/recipes/gcc/gcc-4.4.0/debian/sparc-biarch.dpatch
new file mode 100644
index 0000000000..bf7a1370c2
--- /dev/null
+++ b/recipes/gcc/gcc-4.4.0/debian/sparc-biarch.dpatch
@@ -0,0 +1,80 @@
+#! /bin/sh -e
+# 10_newpatch.dpatch by <schizo@debian.org>
+# updated for 4.0, 4.1, 4.2 by Matthias Klose <doko@debian.org>
+#
+# DP: Enable biarch support for the 32bit sparc compiler
+
+if [ $# -eq 3 ] && [ "$2" = '-d' ]; then
+ pdir="-d $3"
+ dir="$3/"
+elif [ $# -ne 1 ]; then
+ echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
+ exit 1
+fi
+case "$1" in
+ -patch)
+ patch $pdir -f --no-backup-if-mismatch -p0 < $0
+ cd ${dir}libcpp && autoconf
+ ;;
+ -unpatch)
+ patch $pdir -f --no-backup-if-mismatch -R -p0 < $0
+ cd ${dir}libcpp && autoconf
+ ;;
+ *)
+ echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
+ exit 1;;
+esac
+
+exit 0
+
+--- gcc/config/sparc/linux64.h.orig 2006-06-04 13:09:21.857528428 -0300
++++ gcc/config/sparc/linux64.h 2006-06-04 13:11:15.385012057 -0300
+@@ -54,8 +54,8 @@
+ + MASK_STACK_BIAS + MASK_APP_REGS + MASK_FPU + MASK_LONG_DOUBLE_128)
+ #endif
+
+-#undef ASM_CPU_DEFAULT_SPEC
+-#define ASM_CPU_DEFAULT_SPEC "-Av9a"
++#undef ASM_CPU64_DEFAULT_SPEC
++#define ASM_CPU64_DEFAULT_SPEC "-Av9a"
+
+ /* Provide a STARTFILE_SPEC appropriate for GNU/Linux. Here we add
+ the GNU/Linux magical crtbegin.o file (see crtstuff.c) which
+--- gcc/config.gcc.orig 2006-06-04 13:09:21.882530957 -0300
++++ gcc/config.gcc 2006-06-04 13:14:13.577036688 -0300
+@@ -315,6 +315,7 @@
+ ;;
+ sparc*-*-*)
+ cpu_type=sparc
++ need_64bit_hwint=yes
+ ;;
+ s390*-*-*)
+ cpu_type=s390
+@@ -2105,9 +2106,16 @@
+ use_fixproto=yes
+ ;;
+ sparc-*-linux*) # SPARC's running GNU/Linux, libc6
++ # If cpu is specified, assume we want a 32/64 compiler
++ if test x$with_cpu = x; then
+ tm_file="${tm_file} dbxelf.h elfos.h svr4.h sparc/sysv4.h sparc/linux.h"
+ extra_options="${extra_options} sparc/long-double-switch.opt"
+ tmake_file="${tmake_file} sparc/t-linux sparc/t-crtfm"
++ else
++ tm_file="sparc/biarch64.h ${tm_file} dbxelf.h elfos.h svr4.h sparc/sysv4.h sparc/linux64.h"
++ extra_options="${extra_options} sparc/long-double-switch.opt"
++ tmake_file="${tmake_file} sparc/t-linux sparc/t-linux64 sparc/t-crtfm"
++ fi
+ ;;
+ sparc-*-rtems*)
+ tm_file="${tm_file} dbxelf.h elfos.h svr4.h sparc/sysv4.h sparc/sp-elf.h sparc/rtemself.h rtems.h"
+--- libcpp/configure.ac~ 2006-01-18 22:52:36.862072128 +0100
++++ libcpp/configure.ac 2006-08-15 14:48:00.484137064 +0200
+@@ -124,7 +124,7 @@
+ powerpc*-*-* | \
+ rs6000*-*-* | \
+ s390*-*-* | \
+- sparc64*-*-* | ultrasparc-*-freebsd* | \
++ sparc*-*-* | ultrasparc-*-freebsd* | \
+ sparcv9-*-solaris2* | \
+ sparc-*-solaris2.[789] | sparc-*-solaris2.1[0-9]* | \
+ sh[123456789l]*-*-*)
diff --git a/recipes/gcc/gcc-4.4.0/debian/svn-class-updates.dpatch b/recipes/gcc/gcc-4.4.0/debian/svn-class-updates.dpatch
new file mode 100644
index 0000000000..14274d86cf
--- /dev/null
+++ b/recipes/gcc/gcc-4.4.0/debian/svn-class-updates.dpatch
@@ -0,0 +1,55 @@
+#! /bin/sh -e
+
+# DP: updated class files from the 4.2 branch upto 20070804.
+
+dir=
+if [ $# -eq 3 -a "$2" = '-d' ]; then
+ pdir="-d $3"
+ dir="$3/"
+elif [ $# -ne 1 ]; then
+ echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
+ exit 1
+fi
+case "$1" in
+ -patch)
+ set -x
+ uudecode class-files.tar.bz2.uue
+ tar -xv -f class-files.tar.bz2 -C $dir
+ rm -f class-files.tar.bz2
+ ;;
+ -unpatch)
+ echo "cannot undo patch $(basename $0)"
+ ;;
+ *)
+ echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
+ exit 1
+esac
+exit 0
+
+
+#! /bin/sh
+
+dir=gcc-4_2-ubuntu-branch
+tag=ubuntu/gcc-4_2_1-release
+branch=ubuntu/gcc-4_2-branch
+
+tmplist=files$$
+
+svn diff --summarize \
+ svn://gcc.gnu.org/svn/gcc/tags/$tag \
+ svn://gcc.gnu.org/svn/gcc/branches/$branch \
+ | grep '\.class$' > $tmplist
+
+sed -n '/^[AM].*\.class$/s,.*/'$tag'/\(.*\),\1,p' $tmplist \
+ > neworchanged.list
+sed -n '/^[D].*\.class$/s,.*/'$tag'/\(.*\),\1,p' $tmplist \
+ > removed.list
+sed -n '/^[^ADM].*\.class$/s,.*/'$tag'/\(.*\),\1,p' $tmplist \
+ > unknown.list
+
+echo "new or changed: $(wc -l neworchanged.list | cut '-d ' -f1), removed $(wc -l removed.list | cut '-d ' -f1): , unknown: $(wc -l unknown.list | cut '-d ' -f1)"
+tar -c -j -f class-files.tar.bz2 -C $dir -T neworchanged.list
+uuencode class-files.tar.bz2 class-files.tar.bz2 > class-files.tar.bz2.uue
+
+rm -f $tmplist neworchanged.list removed.list unknown.list
+
diff --git a/recipes/gcc/gcc-4.4.0/debian/svn-doc-updates.dpatch b/recipes/gcc/gcc-4.4.0/debian/svn-doc-updates.dpatch
new file mode 100644
index 0000000000..d4fa85a556
--- /dev/null
+++ b/recipes/gcc/gcc-4.4.0/debian/svn-doc-updates.dpatch
@@ -0,0 +1,79 @@
+#! /bin/sh -e
+
+# DP: updates from the 4.3 branch upto 20080321 (documentation).
+
+last_updated()
+{
+ cat > ${dir}LAST_UPDATED <<EOF
+Fri Mar 21 20:55:21 CET 2008
+Fri Mar 21 19:55:21 UTC 2008 (revision 133434)
+EOF
+}
+
+dir=
+if [ $# -eq 3 -a "$2" = '-d' ]; then
+ pdir="-d $3"
+ dir="$3/"
+elif [ $# -ne 1 ]; then
+ echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
+ exit 1
+fi
+case "$1" in
+ -patch)
+ patch $pdir -f --no-backup-if-mismatch -p0 < $0
+ last_updated
+ #cd ${dir}gcc && autoconf
+ ;;
+ -unpatch)
+ patch $pdir -f --no-backup-if-mismatch -R -p0 < $0
+ #rm ${dir}gcc/configure
+ ;;
+ *)
+ echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
+ exit 1
+esac
+exit 0
+
+# svn diff svn://gcc.gnu.org/svn/gcc/tags/gcc_4_3_0_release svn://gcc.gnu.org/svn/gcc/branches/gcc-4_3-branch \
+# | awk '/^Index:.*\.class/ {skip=1; next} /^Index:/ { skip=0 } skip==0'
+
+Index: gcc/doc/extend.texi
+===================================================================
+--- gcc/doc/extend.texi (.../tags/gcc_4_3_0_release) (revision 133434)
++++ gcc/doc/extend.texi (.../branches/gcc-4_3-branch) (revision 133434)
+@@ -3380,7 +3380,8 @@
+
+ Some machines never actually require alignment; they allow reference to any
+ data type even at an odd address. For these machines, @code{__alignof__}
+-reports the @emph{recommended} alignment of a type.
++reports the smallest alignment that GCC will give the data type, usually as
++mandated by the target ABI.
+
+ If the operand of @code{__alignof__} is an lvalue rather than a type,
+ its value is the required alignment for its type, taking into account
+Index: gcc/doc/invoke.texi
+===================================================================
+--- gcc/doc/invoke.texi (.../tags/gcc_4_3_0_release) (revision 133434)
++++ gcc/doc/invoke.texi (.../branches/gcc-4_3-branch) (revision 133434)
+@@ -5208,8 +5208,9 @@
+ @opindex O3
+ Optimize yet more. @option{-O3} turns on all optimizations specified by
+ @option{-O2} and also turns on the @option{-finline-functions},
+-@option{-funswitch-loops}, @option{-fpredictive-commoning} and
+-@option{-fgcse-after-reload} options.
++@option{-funswitch-loops}, @option{-fpredictive-commoning},
++@option{-fgcse-after-reload} and @option{-ftree-vectorize}
++options.
+
+ @item -O0
+ @opindex O0
+@@ -5973,7 +5974,8 @@
+
+ @item -ftree-vectorize
+ @opindex ftree-vectorize
+-Perform loop vectorization on trees.
++Perform loop vectorization on trees. This flag is enabled by default at
++@option{-O3}.
+
+ @item -ftree-vect-loop-version
+ @opindex ftree-vect-loop-version
diff --git a/recipes/gcc/gcc-4.4.0/debian/svn-gdc-updates.dpatch b/recipes/gcc/gcc-4.4.0/debian/svn-gdc-updates.dpatch
new file mode 100644
index 0000000000..728209e51d
--- /dev/null
+++ b/recipes/gcc/gcc-4.4.0/debian/svn-gdc-updates.dpatch
@@ -0,0 +1,137 @@
+#! /bin/sh -e
+
+# svn-gdc-updates.dpatch by Arthur Loiret <arthur.loiret@gmail.com>
+# DP: SVN updates from the gdc branch up to 20070831.
+
+dir=
+if [ $# -eq 3 -a "$2" = '-d' ]; then
+ pdir="-d $3"
+ dir="$3/"
+elif [ $# -ne 1 ]; then
+ echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
+ exit 1
+fi
+case "$1" in
+ -patch)
+ patch $pdir -f --no-backup-if-mismatch -p0 < $0
+ #cd ${dir}gcc && autoconf
+ ;;
+ -unpatch)
+ patch $pdir -f --no-backup-if-mismatch -R -p0 < $0
+ #rm ${dir}gcc/configure
+ ;;
+ *)
+ echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
+ exit 1
+esac
+exit 0
+
+
+diff -ruN gcc/d/ChangeLog gcc/d/ChangeLog
+--- gcc/d/ChangeLog 2007-08-26 22:34:22.000000000 +0200
++++ gcc/d/ChangeLog 2007-09-02 19:33:43.000000000 +0200
+@@ -1,3 +1,20 @@
++2007-08-31 David Friedman <dvdfrdmn@users.sf.net>
++
++ * d-objfile.cc (outdata): Do not set TREE_CONSTANT on initializers
++ (Bugzilla 1453)
++
++2007-08-29 David Friedman <dvdfrdmn@users.sf.net>
++
++ * d-decls.cc (uniqueName): Allow multiple static declaration with
++ the same name if in a function. (SF 1783085)
++
++2007-08-28 David Friedman <dvdfrdmn@users.sf.net>
++
++ * d-codegen.cc (call): Use CommaExp correctly. (Bugzilla 1443)
++
++ * dmd/todt.c (createTsarrayDt): Don't take quadratic time to build
++ the initializer. (Bugzilla 1440)
++
+ 2007-08-22 David Friedman <dvdfrdmn@users.sf.net>
+
+ Release GDC 0.24
+diff -ruN gcc/d/d-codegen.cc gcc/d/d-codegen.cc
+--- gcc/d/d-codegen.cc 2007-08-26 22:34:22.000000000 +0200
++++ gcc/d/d-codegen.cc 2007-09-02 19:33:43.000000000 +0200
+@@ -780,10 +780,12 @@
+ if (expr->op == TOKcomma)
+ {
+ CommaExp * ce = (CommaExp *) expr;
++ expr = ce->e2;
++
+ VarExp * ve;
+- expr = ce->e1;
+- gcc_assert( ce->e2->op == TOKvar &&
+- ((VarExp *) ce->e2)->var->isFuncDeclaration() );
++ gcc_assert( ce->e2->op == TOKvar );
++ ve = (VarExp *) ce->e2;
++ gcc_assert(ve->var->isFuncDeclaration() && ! ve->var->needThis());
+ }
+
+ Type* t = expr->type->toBasetype();
+diff -ruN gcc/d/d-decls.cc gcc/d/d-decls.cc
+--- gcc/d/d-decls.cc 2007-08-26 22:34:22.000000000 +0200
++++ gcc/d/d-decls.cc 2007-09-02 19:33:43.000000000 +0200
+@@ -137,10 +137,17 @@
+ FuncDeclaration * f = d->isFuncDeclaration();
+ VarDeclaration * v = d->isVarDeclaration();
+
+- if (d->protection == PROTprivate &&
+- !(f && ! f->fbody) &&
++ /* Check cases for which it is okay to have a duplicate symbol name.
++ Otherwise, duplicate names are an error and the condition will
++ be caught by the assembler. */
++ if (!(f && ! f->fbody) &&
+ !(v && (v->storage_class & STCextern)) &&
+- (!p || p->isModule()))
++ (
++ // Static declarations in different scope statements
++ (p && p->isFuncDeclaration()) ||
++
++ // Top-level duplicate names are okay if private.
++ ((!p || p->isModule()) && d->protection == PROTprivate) ))
+ {
+ StringValue * sv;
+
+diff -ruN gcc/d/dmd/todt.c gcc/d/dmd/todt.c
+--- gcc/d/dmd/todt.c 2007-08-26 22:34:22.000000000 +0200
++++ gcc/d/dmd/todt.c 2007-09-02 19:33:43.000000000 +0200
+@@ -73,17 +73,18 @@
+
+ target_size_t dim = tsa->dim->toInteger();
+ dt_t * adt = NULL;
++ dt_t ** padt = & adt;
+
+ if (eoa_size * dim == eoa_size)
+ {
+ for (target_size_t i = 0; i < dim; i++)
+- dtcontainer(& adt, NULL, elem_or_all);
++ padt = dtcontainer(padt, NULL, elem_or_all);
+ }
+ else
+ {
+ assert(tsa->size(0) % eoa_size == 0);
+ for (target_size_t i = 0; i < dim; i++)
+- dtcontainer(& adt, NULL,
++ padt = dtcontainer(padt, NULL,
+ createTsarrayDt(elem_or_all, tsa->next));
+ }
+ dt_t * fdt = NULL;
+diff -ruN gcc/d/d-objfile.cc gcc/d/d-objfile.cc
+--- gcc/d/d-objfile.cc 2007-08-26 22:34:22.000000000 +0200
++++ gcc/d/d-objfile.cc 2007-09-02 19:33:43.000000000 +0200
+@@ -954,11 +954,8 @@
+
+ assert( t );
+
+- if (sym->Sdt && DECL_INITIAL( t ) == NULL_TREE) {
+- tree ini = dt2tree( sym->Sdt );
+- TREE_CONSTANT( ini ) = TREE_CONSTANT( t );
+- DECL_INITIAL( t ) = ini;
+- }
++ if (sym->Sdt && DECL_INITIAL( t ) == NULL_TREE)
++ DECL_INITIAL( t ) = dt2tree( sym->Sdt );
+
+ if (! g.ofile->shouldEmit(sym))
+ return;
diff --git a/recipes/gcc/gcc-4.4.0/debian/svn-updates.dpatch b/recipes/gcc/gcc-4.4.0/debian/svn-updates.dpatch
new file mode 100644
index 0000000000..480eeaeba4
--- /dev/null
+++ b/recipes/gcc/gcc-4.4.0/debian/svn-updates.dpatch
@@ -0,0 +1,569584 @@
+#! /bin/sh -e
+
+# DP: updates from the 4.3 branch upto 20080401.
+
+last_updated()
+{
+ cat > ${dir}LAST_UPDATED <<EOF
+Wed Apr 2 01:22:47 CEST 2008
+Tue Apr 1 23:22:47 UTC 2008 (revision 133808)
+EOF
+}
+
+dir=
+if [ $# -eq 3 -a "$2" = '-d' ]; then
+ pdir="-d $3"
+ dir="$3/"
+elif [ $# -ne 1 ]; then
+ echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
+ exit 1
+fi
+case "$1" in
+ -patch)
+ patch $pdir -f --no-backup-if-mismatch -p0 < $0
+ last_updated
+ #cd ${dir}gcc && autoconf
+ ;;
+ -unpatch)
+ patch $pdir -f --no-backup-if-mismatch -R -p0 < $0
+ #rm ${dir}gcc/configure
+ ;;
+ *)
+ echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
+ exit 1
+esac
+exit 0
+
+# svn diff svn://gcc.gnu.org/svn/gcc/tags/gcc_4_3_0_release svn://gcc.gnu.org/svn/gcc/branches/gcc-4_3-branch \
+# | awk '/^Index:.*\.class/ {skip=1; next} /^Index:/ { skip=0 } skip==0'
+
+Index: libgomp/iter.c
+===================================================================
+--- libgomp/iter.c (.../tags/gcc_4_3_0_release) (revision 133808)
++++ libgomp/iter.c (.../branches/gcc-4_3-branch) (revision 133808)
+@@ -242,17 +242,17 @@
+ if (ws->next == ws->end)
+ return false;
+
+- n = (ws->end - ws->next) / ws->incr;
++ start = ws->next;
++ n = (ws->end - start) / ws->incr;
+ q = (n + nthreads - 1) / nthreads;
+
+ if (q < ws->chunk_size)
+ q = ws->chunk_size;
+- if (q > n)
+- q = n;
++ if (q <= n)
++ end = start + q * ws->incr;
++ else
++ end = ws->end;
+
+- start = ws->next;
+- end = start + q * ws->incr;
+-
+ ws->next = end;
+ *pstart = start;
+ *pend = end;
+@@ -286,16 +286,16 @@
+ if (start == end)
+ return false;
+
+- n = (end - start) / ws->incr;
++ n = (end - start) / incr;
+ q = (n + nthreads - 1) / nthreads;
+
+ if (q < chunk_size)
+ q = chunk_size;
+- if (q > n)
+- q = n;
++ if (__builtin_expect (q <= n, 1))
++ nend = start + q * incr;
++ else
++ nend = end;
+
+- nend = start + q * incr;
+-
+ tmp = __sync_val_compare_and_swap (&ws->next, start, nend);
+ if (__builtin_expect (tmp == start, 1))
+ break;
+Index: libgomp/ChangeLog
+===================================================================
+--- libgomp/ChangeLog (.../tags/gcc_4_3_0_release) (revision 133808)
++++ libgomp/ChangeLog (.../branches/gcc-4_3-branch) (revision 133808)
+@@ -1,3 +1,27 @@
++2008-03-18 Jakub Jelinek <jakub@redhat.com>
++
++ PR middle-end/35611
++ * testsuite/libgomp.c/atomic-4.c: New test.
++
++ PR libgomp/35625
++ * iter.c (gomp_iter_guided_next_locked): If q > n, set end to ws->end.
++ (gomp_iter_guided_next): Likewise.
++ * testsuite/libgomp.c/pr35625.c: New test.
++
++2008-03-13 Jakub Jelinek <jakub@redhat.com>
++
++ PR middle-end/35185
++ * testsuite/libgomp.c++/pr35185.C: New test.
++
++2008-03-12 Jakub Jelinek <jakub@redhat.com>
++
++ PR middle-end/35549
++ * testsuite/libgomp.c/pr35549.c: New test.
++
++2008-03-06 Jakub Jelinek <jakub@redhat.com>
++
++ * testsuite/libgomp.c/atomic-3.c: New test.
++
+ 2008-03-05 Release Manager
+
+ * GCC 4.3.0 released.
+Index: libgomp/testsuite/libgomp.c++/pr35185.C
+===================================================================
+--- libgomp/testsuite/libgomp.c++/pr35185.C (.../tags/gcc_4_3_0_release) (revision 0)
++++ libgomp/testsuite/libgomp.c++/pr35185.C (.../branches/gcc-4_3-branch) (revision 133808)
+@@ -0,0 +1,33 @@
++// PR middle-end/35185
++// { dg-do run }
++
++extern "C" void abort ();
++
++struct S
++{
++ S () : s (6) {}
++ ~S () {}
++ int s;
++};
++
++__attribute__((noinline))
++bool
++bar (S s)
++{
++ return s.s != 6;
++}
++
++int
++main ()
++{
++ S s;
++ int err = 0;
++#pragma omp parallel shared (s)
++ {
++ if (bar (s))
++ #pragma omp atomic
++ err++;
++ }
++ if (err)
++ abort ();
++}
+Index: libgomp/testsuite/libgomp.c/pr35549.c
+===================================================================
+--- libgomp/testsuite/libgomp.c/pr35549.c (.../tags/gcc_4_3_0_release) (revision 0)
++++ libgomp/testsuite/libgomp.c/pr35549.c (.../branches/gcc-4_3-branch) (revision 133808)
+@@ -0,0 +1,30 @@
++/* PR middle-end/35549 */
++/* { dg-do run } */
++
++#include <omp.h>
++#include <stdlib.h>
++
++int
++main (void)
++{
++ int i = 6, n = 0;
++ omp_set_dynamic (0);
++ omp_set_nested (1);
++ #pragma omp parallel shared (i) num_threads (3)
++ {
++ if (omp_get_num_threads () != 3)
++ #pragma omp atomic
++ n += 1;
++ #pragma omp parallel shared (i) num_threads (4)
++ {
++ if (omp_get_num_threads () != 4)
++ #pragma omp atomic
++ n += 1;
++ #pragma omp critical
++ i += 1;
++ }
++ }
++ if (n == 0 && i != 6 + 3 * 4)
++ abort ();
++ return 0;
++}
+Index: libgomp/testsuite/libgomp.c/atomic-4.c
+===================================================================
+--- libgomp/testsuite/libgomp.c/atomic-4.c (.../tags/gcc_4_3_0_release) (revision 0)
++++ libgomp/testsuite/libgomp.c/atomic-4.c (.../branches/gcc-4_3-branch) (revision 133808)
+@@ -0,0 +1,18 @@
++/* PR middle-end/35611 */
++/* { dg-options "-O2" } */
++
++extern void abort (void);
++
++int
++main (void)
++{
++ long double d = .0L;
++ int i;
++ #pragma omp parallel for shared (d)
++ for (i = 0; i < 1000; i++)
++ #pragma omp atomic
++ d += 1.0L;
++ if (d != 1000.0L)
++ abort ();
++ return 0;
++}
+Index: libgomp/testsuite/libgomp.c/pr35625.c
+===================================================================
+--- libgomp/testsuite/libgomp.c/pr35625.c (.../tags/gcc_4_3_0_release) (revision 0)
++++ libgomp/testsuite/libgomp.c/pr35625.c (.../branches/gcc-4_3-branch) (revision 133808)
+@@ -0,0 +1,18 @@
++/* PR libgomp/35625 */
++/* { dg-do run } */
++/* { dg-options "-std=c99" } */
++
++int
++main (void)
++{
++#pragma omp parallel
++ {
++ #pragma omp for schedule (guided, 10)
++ for (int i = 0; i < 1826; i += 10)
++ ;
++ #pragma omp for schedule (guided, 10)
++ for (int i = 0; i > -1826; i -= 10)
++ ;
++ }
++ return 0;
++}
+Index: libgomp/testsuite/libgomp.c/atomic-3.c
+===================================================================
+--- libgomp/testsuite/libgomp.c/atomic-3.c (.../tags/gcc_4_3_0_release) (revision 0)
++++ libgomp/testsuite/libgomp.c/atomic-3.c (.../branches/gcc-4_3-branch) (revision 133808)
+@@ -0,0 +1,50 @@
++/* { dg-do run } */
++/* { dg-options "-fopenmp -O0" } */
++
++#include <omp.h>
++#include <stdlib.h>
++
++short e[64];
++int g;
++_Complex double d, f;
++int num_threads;
++
++__attribute__((noinline)) void
++foo (int x, long long y)
++{
++#pragma omp parallel num_threads (4)
++ {
++ int i;
++ #pragma omp barrier
++ for (i = 0; i < 2400; i++)
++ {
++ if (i == 0)
++ num_threads = omp_get_num_threads ();
++ #pragma omp atomic
++ e[0] += x;
++ #pragma omp atomic
++ e[16] += x;
++ #pragma omp atomic
++ g += y;
++ #pragma omp atomic
++ __real__ d += x;
++ #pragma omp atomic
++ __imag__ f += x;
++ }
++ }
++}
++
++int
++main (void)
++{
++ int i;
++ foo (3, 3LL);
++ if (g != 3 * 2400 * num_threads
++ || __real__ d != g || __imag__ d != 0
++ || __real__ f != 0 || __imag__ f != g)
++ abort ();
++ for (i = 0; i < 64; i++)
++ if (e[i] != ((i && i != 16) ? 0 : g))
++ abort ();
++ return 0;
++}
+Index: gcc/doc/include/texinfo.tex
+===================================================================
+--- gcc/doc/include/texinfo.tex (.../tags/gcc_4_3_0_release) (revision 133808)
++++ gcc/doc/include/texinfo.tex (.../branches/gcc-4_3-branch) (revision 133808)
+@@ -3,7 +3,7 @@
+ % Load plain if necessary, i.e., if running under initex.
+ \expandafter\ifx\csname fmtname\endcsname\relax\input plain\fi
+ %
+-\def\texinfoversion{2008-02-04.16}
++\def\texinfoversion{2008-03-07.10}
+ %
+ % Copyright (C) 1985, 1986, 1988, 1990, 1991, 1992, 1993, 1994, 1995,
+ % 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006,
+@@ -917,16 +917,21 @@
+ \temp
+ }
+
+-% @include file insert text of that file as input.
++% @include FILE -- \input text of FILE.
+ %
+ \def\include{\parseargusing\filenamecatcodes\includezzz}
+ \def\includezzz#1{%
+ \pushthisfilestack
+ \def\thisfile{#1}%
+ {%
+- \makevalueexpandable
+- \input #1
+- }%
++ \makevalueexpandable % we want to expand any @value in FILE.
++ \turnoffactive % and allow special characters in the expansion
++ \edef\temp{\noexpand\input #1 }%
++ %
++ % This trickery is to read FILE outside of a group, in case it makes
++ % definitions, etc.
++ \expandafter
++ }\temp
+ \popthisfilestack
+ }
+ \def\filenamecatcodes{%
+@@ -5725,7 +5730,7 @@
+ \let\/=\ptexslash
+ \let\*=\ptexstar
+ \let\t=\ptext
+- \expandafter \let\csname top \endcsname=\ptextop % outer
++ \expandafter \let\csname top\endcsname=\ptextop % outer
+ \let\frenchspacing=\plainfrenchspacing
+ %
+ \def\endldots{\mathinner{\ldots\ldots\ldots\ldots}}%
+Index: gcc/java/jcf-parse.c
+===================================================================
+--- gcc/java/jcf-parse.c (.../tags/gcc_4_3_0_release) (revision 133808)
++++ gcc/java/jcf-parse.c (.../branches/gcc-4_3-branch) (revision 133808)
+@@ -1208,7 +1208,7 @@
+ #ifdef USE_MAPPED_LOCATION
+ {
+ tree source_name = identifier_subst (class_name, "", '.', '/', ".java");
+- const char *sfname = IDENTIFIER_POINTER (source_name);
++ const char *sfname = find_sourcefile (IDENTIFIER_POINTER (source_name));
+ linemap_add (line_table, LC_ENTER, false, sfname, 0);
+ input_location = linemap_line_start (line_table, 0, 1);
+ file_start_location = input_location;
+Index: gcc/java/Make-lang.in
+===================================================================
+--- gcc/java/Make-lang.in (.../tags/gcc_4_3_0_release) (revision 133808)
++++ gcc/java/Make-lang.in (.../branches/gcc-4_3-branch) (revision 133808)
+@@ -311,7 +311,7 @@
+ $(srcdir)/java/jcf-path.c $(OUTPUT_OPTION)
+
+ TEXI_JAVA_FILES = java/gcj.texi $(gcc_docdir)/include/fdl.texi \
+- $(gcc_docdir)/include/gpl.texi $(gcc_docdir)/include/gcc-common.texi \
++ $(gcc_docdir)/include/gpl_v3.texi $(gcc_docdir)/include/gcc-common.texi \
+ gcc-vers.texi
+
+ # Documentation
+Index: gcc/java/ChangeLog
+===================================================================
+--- gcc/java/ChangeLog (.../tags/gcc_4_3_0_release) (revision 133808)
++++ gcc/java/ChangeLog (.../branches/gcc-4_3-branch) (revision 133808)
+@@ -1,3 +1,14 @@
++2008-04-01 Joseph Myers <joseph@codesourcery.com>
++
++ * gcj.texi: Include gpl_v3.texi instead of gpl.texi
++ * Make-lang.in (TEXI_JAVA_FILES): Include gpl_v3.texi instead of
++ gpl.texi.
++
++2008-03-06 Andrew Haley <aph@redhat.com>
++
++ * jcf-parse.c (give_name_to_class): Call find_sourcefile to find
++ full pathname of source file.
++
+ 2008-03-05 Release Manager
+
+ * GCC 4.3.0 released.
+Index: gcc/DATESTAMP
+===================================================================
+--- gcc/DATESTAMP (.../tags/gcc_4_3_0_release) (revision 133808)
++++ gcc/DATESTAMP (.../branches/gcc-4_3-branch) (revision 133808)
+@@ -1 +1 @@
+-20080305
++20080401
+Index: gcc/tree.c
+===================================================================
+--- gcc/tree.c (.../tags/gcc_4_3_0_release) (revision 133808)
++++ gcc/tree.c (.../branches/gcc-4_3-branch) (revision 133808)
+@@ -4067,6 +4067,16 @@
+ return NULL_TREE;
+ }
+
++ if (TREE_CODE (node) == TYPE_DECL
++ && TREE_CODE (TREE_TYPE (node)) != RECORD_TYPE
++ && TREE_CODE (TREE_TYPE (node)) != UNION_TYPE)
++ {
++ *no_add_attrs = true;
++ warning (OPT_Wattributes, "%qs attribute ignored",
++ IDENTIFIER_POINTER (name));
++ return NULL_TREE;
++ }
++
+ /* Report error on dllimport ambiguities seen now before they cause
+ any damage. */
+ else if (is_attribute_p ("dllimport", name))
+Index: gcc/fold-const.c
+===================================================================
+--- gcc/fold-const.c (.../tags/gcc_4_3_0_release) (revision 133808)
++++ gcc/fold-const.c (.../branches/gcc-4_3-branch) (revision 133808)
+@@ -5066,9 +5066,10 @@
+
+ Note that all these transformations are correct if A is
+ NaN, since the two alternatives (A and -A) are also NaNs. */
+- if ((FLOAT_TYPE_P (TREE_TYPE (arg01))
+- ? real_zerop (arg01)
+- : integer_zerop (arg01))
++ if (!HONOR_SIGNED_ZEROS (TYPE_MODE (type))
++ && (FLOAT_TYPE_P (TREE_TYPE (arg01))
++ ? real_zerop (arg01)
++ : integer_zerop (arg01))
+ && ((TREE_CODE (arg2) == NEGATE_EXPR
+ && operand_equal_p (TREE_OPERAND (arg2, 0), arg1, 0))
+ /* In the case that A is of the form X-Y, '-A' (arg2) may
+@@ -5121,7 +5122,8 @@
+ both transformations are correct when A is NaN: A != 0
+ is then true, and A == 0 is false. */
+
+- if (integer_zerop (arg01) && integer_zerop (arg2))
++ if (!HONOR_SIGNED_ZEROS (TYPE_MODE (type))
++ && integer_zerop (arg01) && integer_zerop (arg2))
+ {
+ if (comp_code == NE_EXPR)
+ return pedantic_non_lvalue (fold_convert (type, arg1));
+@@ -5155,7 +5157,8 @@
+ a number and A is not. The conditions in the original
+ expressions will be false, so all four give B. The min()
+ and max() versions would give a NaN instead. */
+- if (operand_equal_for_comparison_p (arg01, arg2, arg00)
++ if (!HONOR_SIGNED_ZEROS (TYPE_MODE (type))
++ && operand_equal_for_comparison_p (arg01, arg2, arg00)
+ /* Avoid these transformations if the COND_EXPR may be used
+ as an lvalue in the C++ front-end. PR c++/19199. */
+ && (in_gimple_form
+@@ -9357,7 +9360,7 @@
+ }
+ }
+
+- if (DECL_P (expr))
++ if (DECL_P (expr) && TREE_CODE (expr) != FUNCTION_DECL)
+ return DECL_ALIGN_UNIT (expr);
+ }
+ else if (code == POINTER_PLUS_EXPR)
+Index: gcc/omp-low.c
+===================================================================
+--- gcc/omp-low.c (.../tags/gcc_4_3_0_release) (revision 133808)
++++ gcc/omp-low.c (.../branches/gcc-4_3-branch) (revision 133808)
+@@ -456,7 +456,7 @@
+ }
+
+ static inline tree
+-maybe_lookup_decl (tree var, omp_context *ctx)
++maybe_lookup_decl (const_tree var, omp_context *ctx)
+ {
+ tree *n;
+ n = (tree *) pointer_map_contains (ctx->cb.decl_map, var);
+@@ -479,18 +479,18 @@
+ return n ? (tree) n->value : NULL_TREE;
+ }
+
+-/* Return true if DECL should be copied by pointer. SHARED_P is true
+- if DECL is to be shared. */
++/* Return true if DECL should be copied by pointer. SHARED_CTX is
++ the parallel context if DECL is to be shared. */
+
+ static bool
+-use_pointer_for_field (const_tree decl, bool shared_p)
++use_pointer_for_field (const_tree decl, omp_context *shared_ctx)
+ {
+ if (AGGREGATE_TYPE_P (TREE_TYPE (decl)))
+ return true;
+
+ /* We can only use copy-in/copy-out semantics for shared variables
+ when we know the value is not accessible from an outer scope. */
+- if (shared_p)
++ if (shared_ctx)
+ {
+ /* ??? Trivially accessible from anywhere. But why would we even
+ be passing an address in this case? Should we simply assert
+@@ -510,6 +510,34 @@
+ address taken. */
+ if (TREE_ADDRESSABLE (decl))
+ return true;
++
++ /* Disallow copy-in/out in nested parallel if
++ decl is shared in outer parallel, otherwise
++ each thread could store the shared variable
++ in its own copy-in location, making the
++ variable no longer really shared. */
++ if (!TREE_READONLY (decl) && shared_ctx->is_nested)
++ {
++ omp_context *up;
++
++ for (up = shared_ctx->outer; up; up = up->outer)
++ if (maybe_lookup_decl (decl, up))
++ break;
++
++ if (up && is_parallel_ctx (up))
++ {
++ tree c;
++
++ for (c = OMP_PARALLEL_CLAUSES (up->stmt);
++ c; c = OMP_CLAUSE_CHAIN (c))
++ if (OMP_CLAUSE_CODE (c) == OMP_CLAUSE_SHARED
++ && OMP_CLAUSE_DECL (c) == decl)
++ break;
++
++ if (c)
++ return true;
++ }
++ }
+ }
+
+ return false;
+@@ -596,7 +624,7 @@
+ }
+ else if (is_parallel_ctx (ctx))
+ {
+- bool by_ref = use_pointer_for_field (var, false);
++ bool by_ref = use_pointer_for_field (var, NULL);
+ x = build_receiver_ref (var, by_ref, ctx);
+ }
+ else if (ctx->outer)
+@@ -966,7 +994,7 @@
+ gcc_assert (is_parallel_ctx (ctx));
+ decl = OMP_CLAUSE_DECL (c);
+ gcc_assert (!is_variable_sized (decl));
+- by_ref = use_pointer_for_field (decl, true);
++ by_ref = use_pointer_for_field (decl, ctx);
+ /* Global variables don't need to be copied,
+ the receiver side will use them directly. */
+ if (is_global_var (maybe_lookup_decl_in_outer_ctx (decl, ctx)))
+@@ -1001,7 +1029,7 @@
+ && ! is_global_var (maybe_lookup_decl_in_outer_ctx (decl,
+ ctx)))
+ {
+- by_ref = use_pointer_for_field (decl, false);
++ by_ref = use_pointer_for_field (decl, NULL);
+ install_var_field (decl, by_ref, ctx);
+ }
+ install_var_local (decl, ctx);
+@@ -1014,7 +1042,7 @@
+
+ case OMP_CLAUSE_COPYIN:
+ decl = OMP_CLAUSE_DECL (c);
+- by_ref = use_pointer_for_field (decl, false);
++ by_ref = use_pointer_for_field (decl, NULL);
+ install_var_field (decl, by_ref, ctx);
+ break;
+
+@@ -1751,7 +1779,7 @@
+ /* Set up the DECL_VALUE_EXPR for shared variables now. This
+ needs to be delayed until after fixup_child_record_type so
+ that we get the correct type during the dereference. */
+- by_ref = use_pointer_for_field (var, true);
++ by_ref = use_pointer_for_field (var, ctx);
+ x = build_receiver_ref (var, by_ref, ctx);
+ SET_DECL_VALUE_EXPR (new_var, x);
+ DECL_HAS_VALUE_EXPR_P (new_var) = 1;
+@@ -1794,7 +1822,7 @@
+ break;
+
+ case OMP_CLAUSE_COPYIN:
+- by_ref = use_pointer_for_field (var, false);
++ by_ref = use_pointer_for_field (var, NULL);
+ x = build_receiver_ref (var, by_ref, ctx);
+ x = lang_hooks.decls.omp_clause_assign_op (c, new_var, x);
+ append_to_statement_list (x, &copyin_seq);
+@@ -2007,7 +2035,7 @@
+ continue;
+
+ var = OMP_CLAUSE_DECL (c);
+- by_ref = use_pointer_for_field (var, false);
++ by_ref = use_pointer_for_field (var, NULL);
+
+ ref = build_sender_ref (var, ctx);
+ x = lookup_decl_in_outer_ctx (var, ctx);
+@@ -2059,7 +2087,7 @@
+ continue;
+ if (is_variable_sized (val))
+ continue;
+- by_ref = use_pointer_for_field (val, false);
++ by_ref = use_pointer_for_field (val, NULL);
+
+ switch (OMP_CLAUSE_CODE (c))
+ {
+@@ -2129,7 +2157,7 @@
+ mapping for OVAR. */
+ var = lookup_decl_in_outer_ctx (ovar, ctx);
+
+- if (use_pointer_for_field (ovar, true))
++ if (use_pointer_for_field (ovar, ctx))
+ {
+ x = build_sender_ref (ovar, ctx);
+ var = build_fold_addr_expr (var);
+@@ -4852,184 +4880,177 @@
+ pop_gimplify_context (NULL_TREE);
+ }
+
++/* Callback for lower_omp_1. Return non-NULL if *tp needs to be
++ regimplified. */
+
+-/* Pass *TP back through the gimplifier within the context determined by WI.
+- This handles replacement of DECL_VALUE_EXPR, as well as adjusting the
+- flags on ADDR_EXPR. */
+-
+-static void
+-lower_regimplify (tree *tp, struct walk_stmt_info *wi)
++static tree
++lower_omp_2 (tree *tp, int *walk_subtrees, void *data ATTRIBUTE_UNUSED)
+ {
+- enum gimplify_status gs;
+- tree pre = NULL;
++ tree t = *tp;
+
+- if (wi->is_lhs)
+- gs = gimplify_expr (tp, &pre, NULL, is_gimple_lvalue, fb_lvalue);
+- else if (wi->val_only)
+- gs = gimplify_expr (tp, &pre, NULL, is_gimple_val, fb_rvalue);
+- else
+- gs = gimplify_expr (tp, &pre, NULL, is_gimple_formal_tmp_var, fb_rvalue);
+- gcc_assert (gs == GS_ALL_DONE);
++ /* Any variable with DECL_VALUE_EXPR needs to be regimplified. */
++ if (TREE_CODE (t) == VAR_DECL && DECL_HAS_VALUE_EXPR_P (t))
++ return t;
+
+- if (pre)
+- tsi_link_before (&wi->tsi, pre, TSI_SAME_STMT);
+-}
++ /* If a global variable has been privatized, TREE_CONSTANT on
++ ADDR_EXPR might be wrong. */
++ if (TREE_CODE (t) == ADDR_EXPR)
++ recompute_tree_invariant_for_addr_expr (t);
+
+-/* Copy EXP into a temporary. Insert the initialization statement before TSI. */
+-
+-static tree
+-init_tmp_var (tree exp, tree_stmt_iterator *tsi)
+-{
+- tree t, stmt;
+-
+- t = create_tmp_var (TREE_TYPE (exp), NULL);
+- DECL_GIMPLE_REG_P (t) = 1;
+- stmt = build_gimple_modify_stmt (t, exp);
+- SET_EXPR_LOCUS (stmt, EXPR_LOCUS (tsi_stmt (*tsi)));
+- tsi_link_before (tsi, stmt, TSI_SAME_STMT);
+-
+- return t;
++ *walk_subtrees = !TYPE_P (t) && !DECL_P (t);
++ return NULL_TREE;
+ }
+
+-/* Similarly, but copy from the temporary and insert the statement
+- after the iterator. */
+-
+-static tree
+-save_tmp_var (tree exp, tree_stmt_iterator *tsi)
++static void
++lower_omp_1 (tree *tp, omp_context *ctx, tree_stmt_iterator *tsi)
+ {
+- tree t, stmt;
++ tree t = *tp;
+
+- t = create_tmp_var (TREE_TYPE (exp), NULL);
+- DECL_GIMPLE_REG_P (t) = 1;
+- stmt = build_gimple_modify_stmt (exp, t);
+- SET_EXPR_LOCUS (stmt, EXPR_LOCUS (tsi_stmt (*tsi)));
+- tsi_link_after (tsi, stmt, TSI_SAME_STMT);
++ if (!t)
++ return;
+
+- return t;
+-}
++ if (EXPR_HAS_LOCATION (t))
++ input_location = EXPR_LOCATION (t);
+
+-/* Callback for walk_stmts. Lower the OpenMP directive pointed by TP. */
+-
+-static tree
+-lower_omp_1 (tree *tp, int *walk_subtrees, void *data)
+-{
+- struct walk_stmt_info *wi = data;
+- omp_context *ctx = wi->info;
+- tree t = *tp;
+-
+ /* If we have issued syntax errors, avoid doing any heavy lifting.
+ Just replace the OpenMP directives with a NOP to avoid
+ confusing RTL expansion. */
+- if (errorcount && OMP_DIRECTIVE_P (*tp))
++ if (errorcount && OMP_DIRECTIVE_P (t))
+ {
+ *tp = build_empty_stmt ();
+- return NULL_TREE;
++ return;
+ }
+
+- *walk_subtrees = 0;
+- switch (TREE_CODE (*tp))
++ switch (TREE_CODE (t))
+ {
++ case STATEMENT_LIST:
++ {
++ tree_stmt_iterator i;
++ for (i = tsi_start (t); !tsi_end_p (i); tsi_next (&i))
++ lower_omp_1 (tsi_stmt_ptr (i), ctx, &i);
++ }
++ break;
++
++ case COND_EXPR:
++ lower_omp_1 (&COND_EXPR_THEN (t), ctx, NULL);
++ lower_omp_1 (&COND_EXPR_ELSE (t), ctx, NULL);
++ if (ctx
++ && walk_tree (&COND_EXPR_COND (t), lower_omp_2, ctx, NULL))
++ {
++ tree pre = NULL;
++ gimplify_expr (&COND_EXPR_COND (t), &pre, NULL,
++ is_gimple_condexpr, fb_rvalue);
++ if (pre)
++ {
++ if (tsi)
++ tsi_link_before (tsi, pre, TSI_SAME_STMT);
++ else
++ {
++ append_to_statement_list (t, &pre);
++ *tp = pre;
++ }
++ }
++ }
++ break;
++ case CATCH_EXPR:
++ lower_omp_1 (&CATCH_BODY (t), ctx, NULL);
++ break;
++ case EH_FILTER_EXPR:
++ lower_omp_1 (&EH_FILTER_FAILURE (t), ctx, NULL);
++ break;
++ case TRY_CATCH_EXPR:
++ case TRY_FINALLY_EXPR:
++ lower_omp_1 (&TREE_OPERAND (t, 0), ctx, NULL);
++ lower_omp_1 (&TREE_OPERAND (t, 1), ctx, NULL);
++ break;
++ case BIND_EXPR:
++ lower_omp_1 (&BIND_EXPR_BODY (t), ctx, NULL);
++ break;
++ case RETURN_EXPR:
++ lower_omp_1 (&TREE_OPERAND (t, 0), ctx, NULL);
++ break;
++
+ case OMP_PARALLEL:
+ ctx = maybe_lookup_ctx (t);
+ lower_omp_parallel (tp, ctx);
+ break;
+-
+ case OMP_FOR:
+ ctx = maybe_lookup_ctx (t);
+ gcc_assert (ctx);
+ lower_omp_for (tp, ctx);
+ break;
+-
+ case OMP_SECTIONS:
+ ctx = maybe_lookup_ctx (t);
+ gcc_assert (ctx);
+ lower_omp_sections (tp, ctx);
+ break;
+-
+ case OMP_SINGLE:
+ ctx = maybe_lookup_ctx (t);
+ gcc_assert (ctx);
+ lower_omp_single (tp, ctx);
+ break;
+-
+ case OMP_MASTER:
+ ctx = maybe_lookup_ctx (t);
+ gcc_assert (ctx);
+ lower_omp_master (tp, ctx);
+ break;
+-
+ case OMP_ORDERED:
+ ctx = maybe_lookup_ctx (t);
+ gcc_assert (ctx);
+ lower_omp_ordered (tp, ctx);
+ break;
+-
+ case OMP_CRITICAL:
+ ctx = maybe_lookup_ctx (t);
+ gcc_assert (ctx);
+ lower_omp_critical (tp, ctx);
+ break;
+
+- case VAR_DECL:
+- if (ctx && DECL_HAS_VALUE_EXPR_P (t))
++ default:
++ if (ctx && walk_tree (tp, lower_omp_2, ctx, NULL))
+ {
+- lower_regimplify (&t, wi);
+- if (wi->val_only)
++ /* The gimplifier doesn't gimplify CALL_EXPR_STATIC_CHAIN.
++ Handle that here. */
++ tree call = get_call_expr_in (t);
++ if (call
++ && CALL_EXPR_STATIC_CHAIN (call)
++ && walk_tree (&CALL_EXPR_STATIC_CHAIN (call), lower_omp_2,
++ ctx, NULL))
+ {
+- if (wi->is_lhs)
+- t = save_tmp_var (t, &wi->tsi);
+- else
+- t = init_tmp_var (t, &wi->tsi);
++ tree pre = NULL;
++ gimplify_expr (&CALL_EXPR_STATIC_CHAIN (call), &pre, NULL,
++ is_gimple_val, fb_rvalue);
++ if (pre)
++ {
++ if (tsi)
++ tsi_link_before (tsi, pre, TSI_SAME_STMT);
++ else
++ {
++ append_to_statement_list (t, &pre);
++ lower_omp_1 (&pre, ctx, NULL);
++ *tp = pre;
++ return;
++ }
++ }
+ }
+- *tp = t;
+- }
+- break;
+
+- case ADDR_EXPR:
+- if (ctx)
+- lower_regimplify (tp, wi);
+- break;
+-
+- case ARRAY_REF:
+- case ARRAY_RANGE_REF:
+- case REALPART_EXPR:
+- case IMAGPART_EXPR:
+- case COMPONENT_REF:
+- case VIEW_CONVERT_EXPR:
+- if (ctx)
+- lower_regimplify (tp, wi);
+- break;
+-
+- case INDIRECT_REF:
+- if (ctx)
+- {
+- wi->is_lhs = false;
+- wi->val_only = true;
+- lower_regimplify (&TREE_OPERAND (t, 0), wi);
++ if (tsi == NULL)
++ gimplify_stmt (tp);
++ else
++ {
++ tree pre = NULL;
++ gimplify_expr (tp, &pre, NULL, is_gimple_stmt, fb_none);
++ if (pre)
++ tsi_link_before (tsi, pre, TSI_SAME_STMT);
++ }
+ }
+ break;
+-
+- default:
+- if (!TYPE_P (t) && !DECL_P (t))
+- *walk_subtrees = 1;
+- break;
+ }
+-
+- return NULL_TREE;
+ }
+
+ static void
+ lower_omp (tree *stmt_p, omp_context *ctx)
+ {
+- struct walk_stmt_info wi;
+-
+- memset (&wi, 0, sizeof (wi));
+- wi.callback = lower_omp_1;
+- wi.info = ctx;
+- wi.val_only = true;
+- wi.want_locations = true;
+-
+- walk_stmts (&wi, stmt_p);
++ lower_omp_1 (stmt_p, ctx, NULL);
+ }
+
+ /* Main entry point. */
+Index: gcc/tree-ssa-dse.c
+===================================================================
+--- gcc/tree-ssa-dse.c (.../tags/gcc_4_3_0_release) (revision 133808)
++++ gcc/tree-ssa-dse.c (.../branches/gcc-4_3-branch) (revision 133808)
+@@ -470,24 +470,23 @@
+ vuse_vec_p vv;
+ tree stmt_lhs;
+
+- if (LOADED_SYMS (use_stmt))
++ /* If use_stmt is or might be a nop assignment, e.g. for
++ struct { ... } S a, b, *p; ...
++ b = a; b = b;
++ or
++ b = a; b = *p; where p might be &b,
++ or
++ *p = a; *p = b; where p might be &b,
++ or
++ *p = *u; *p = *v; where p might be v, then USE_STMT
++ acts as a use as well as definition, so store in STMT
++ is not dead. */
++ if (LOADED_SYMS (use_stmt)
++ && bitmap_intersect_p (LOADED_SYMS (use_stmt),
++ STORED_SYMS (use_stmt)))
+ {
+- tree use_base
+- = get_base_address (GIMPLE_STMT_OPERAND (use_stmt, 0));
+- /* If use_stmt is or might be a nop assignment, e.g. for
+- struct { ... } S a, b, *p; ...
+- b = a; b = b;
+- or
+- b = a; b = *p; where p might be &b, then USE_STMT
+- acts as a use as well as definition, so store in STMT
+- is not dead. */
+- if (TREE_CODE (use_base) == VAR_DECL
+- && bitmap_bit_p (LOADED_SYMS (use_stmt),
+- DECL_UID (use_base)))
+- {
+- record_voperand_set (dse_gd->stores, &bd->stores, ann->uid);
+- return;
+- }
++ record_voperand_set (dse_gd->stores, &bd->stores, ann->uid);
++ return;
+ }
+
+ if (dump_file && (dump_flags & TDF_DETAILS))
+Index: gcc/DEV-PHASE
+===================================================================
+--- gcc/DEV-PHASE (.../tags/gcc_4_3_0_release) (revision 133808)
++++ gcc/DEV-PHASE (.../branches/gcc-4_3-branch) (revision 133808)
+@@ -0,0 +1 @@
++prerelease
+Index: gcc/ChangeLog
+===================================================================
+--- gcc/ChangeLog (.../tags/gcc_4_3_0_release) (revision 133808)
++++ gcc/ChangeLog (.../branches/gcc-4_3-branch) (revision 133808)
+@@ -1,3 +1,300 @@
++2008-04-01 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
++
++ PR middle-end/35705
++ * fold-const.c (get_pointer_modulus_and_residue): Return modulus 1 if
++ the expression is a function address.
++
++2008-04-01 Joseph Myers <joseph@codesourcery.com>
++
++ * doc/include/gpl_v3.texi: Update for manpage generation.
++ * doc/gcc.texi, doc/gccint.texi: Include gpl_v3.texi instead of
++ gpl.texi.
++ * doc/sourcebuild.texi: Document gpl_v3.texi as well as gpl.texi.
++ * Makefile.in (TEXI_GCC_FILES, TEXI_GCCINT_FILES): Include
++ gpl_v3.texi instead of gpl.texi.
++ (gpl.pod): New.
++
++2008-03-28 Nick Clifton <nickc@redhat.com>
++
++ PR target/31232
++ * config/stormy16/stormy16.c (xstormy16_legitimate_address_p): Do
++ not allow INT+INT as a legitimate addressing mode.
++
++2008-03-28 Nick Clifton <nickc@redhat.com>
++
++ PR target/31110
++ * config/mn10300/mn10300.c (mn10300_secondary_reload_class):
++ Return GENERAL_REGS for stack adjustment reloads.
++
++2008-03-27 H.J. Lu <hongjiu.lu@intel.com>
++
++ Backport from mainline:
++ 2008-03-27 H.J. Lu <hongjiu.lu@intel.com>
++
++ PR target/35657
++ * config/i386/i386.c (ix86_function_arg_boundary): Align
++ decimal floating point to its natural boundary.
++
++2008-03-25 Richard Guenther <rguenther@suse.de>
++
++ Backport from mainline:
++ 2008-03-19 Richard Guenther <rguenther@suse.de>
++
++ PR middle-end/35609
++ * tree-ssa.c (walk_data): New structure.
++ (warn_uninitialized_var): If not always_executed warn with "maybe"
++ instead of "is".
++ (execute_early_warn_uninitialized): Compute post-dominators.
++ Initialize always_executed before processing each basic block.
++
++2008-03-20 Ira Rosen <irar@il.ibm.com>
++
++ * doc/invoke.texi (-O3): Add -ftree-vectorize to the list of
++ optimizations turned on under -O3.
++ (ftree-vectorize): Add that the flag is turned on with -O3.
++
++2008-03-19 Michael Matz <matz@suse.de>
++
++ Backport from mainline:
++ 2008-03-19 Michael Matz <matz@suse.de>
++
++ PR middle-end/35616
++ * calls.c (expand_call): Check overlap of arguments with call
++ address for sibcalls.
++
++2008-03-19 Michael Matz <matz@suse.de>
++
++ * gcov-io.h (__gcov_merge_ior, __gcov_fork): Mark hidden.
++
++2008-03-19 Andreas Krebbel <krebbel1@de.ibm.com>
++
++ * cse.c (cse_insn): Avoid creation of overlapping MEMs.
++ * alias.c (nonoverlapping_memrefs_p): Export for use in other modules.
++ * alias.h (nonoverlapping_memrefs_p): Likewise.
++
++2008-03-19 Andreas Krebbel <krebbel1@de.ibm.com>
++
++ * cse.c (cse_extended_basic_block): Invalidate artificial defs
++ at bb start.
++
++2008-03-18 Mikulas Patocka <mikulas@artax.karlin.mff.cuni.cz>
++
++ PR target/35504
++ * config/i386/i386.c (x86_this_parameter): Calculate correct location
++ of "this" pointer when "regparm = N" or "fastcall" is in effect.
++
++2008-03-18 Richard Guenther <rguenther@suse.de>
++
++ Backport from mainline:
++ 2008-03-15 Richard Guenther <rguenther@suse.de>
++
++ PR middle-end/35593
++ * tree-ssa-ccp.c (maybe_fold_offset_to_array_ref): Make sure
++ to not produce negative array indices if not allowed. Add
++ parameter to indicate that.
++ (maybe_fold_offset_to_component_ref): Allow negative array
++ indices only for the first member of a structure.
++ (maybe_fold_offset_to_reference): Allow negative array indices.
++ (maybe_fold_stmt_addition): Likewise.
++
++2008-03-18 Jakub Jelinek <jakub@redhat.com>
++
++ PR middle-end/35611
++ * gimplify.c (gimplify_expr): Gimplify second operand of
++ OMP_ATOMIC_LOAD.
++
++2008-03-16 James E. Wilson <wilson@tuliptree.org>
++
++ PR debug/31510
++ * dbxout.c (dbxout_expand_expr, case VAR_DECL): Return NULL for
++ emulated thread local variables.
++
++2008-03-16 Hans-Peter Nilsson <hp@axis.com>
++
++ * doc/extend.texi (Alignment): Say that the ABI controls
++ the __alignof__ for non-strict-alignment targets rather
++ than being a recommendation.
++
++2008-03-14 Richard Guenther <rguenther@suse.de>
++
++ Backport from mainline:
++ 2008-02-19 Richard Guenther <rguenther@suse.de>
++
++ PR tree-optimization/34989
++ * tree-ssa-forwprop.c (forward_propagate_addr_expr_1): Re-structure.
++ Allow propagation to INDIRECT_REF if we can simplify only.
++
++2008-03-14 Uros Bizjak <ubizjak@gmail.com>
++
++ PR target/34000
++ PR target/35553
++ * config/i386/xmmintrin.h: Change all static inline functions to
++ extern inline and add __gnu_inline__ attribute.
++ * config/i386/bmintrin.h: Ditto.
++ * config/i386/smmintrin.h: Ditto.
++ * config/i386/tmmintrin.h: Ditto.
++ * config/i386/mmintrin-common.h: Ditto.
++ * config/i386/ammintrin.h: Ditto.
++ * config/i386/emmintrin.h: Ditto.
++ * config/i386/pmmintrin.h: Ditto.
++ * config/i386/mmintrin.h: Ditto.
++ * config/i386/mm3dnow.h: Ditto.
++
++2008-03-13 Jakub Jelinek <jakub@redhat.com>
++
++ PR middle-end/35185
++ * omp-low.c (lower_regimplify, init_tmp_var, save_tmp_var): Removed.
++ (lower_omp_2): New function.
++ (lower_omp_1, lower_omp): Rewritten.
++
++2008-03-12 Jakub Jelinek <jakub@redhat.com>
++
++ PR middle-end/35549
++ * omp-low.c (maybe_lookup_decl): Constify first argument.
++ (use_pointer_for_field): Change last argument from bool to
++ omp_context *. Disallow shared copy-in/out in nested
++ parallel if decl is shared in outer parallel too.
++ (build_outer_var_ref, scan_sharing_clauses,
++ lower_rec_input_clauses, lower_copyprivate_clauses,
++ lower_send_clauses, lower_send_shared_vars): Adjust callers.
++
++2008-03-12 Uros Bizjak <ubizjak@gmail.com>
++
++ PR target/35540
++ * config/i386/i386.md (paritysi2, paritydi2): Use register_operand
++ constraint for operand 1.
++ (paritysi2_cmp): Use register_operand constraint for operand 2.
++ Use earlyclobber modifier for operand 1. Remove support for
++ memory operands.
++ (paritydi2_cmp): Use register_operand constraint for operand 3.
++ Use earlyclobber modifier for operand 1. Remove support for
++ memory operands.
++
++2008-03-11 Uros Bizjak <ubizjak@gmail.com>
++
++ PR middle-end/35526
++ * expr.c (store_expr): Call emit_block_move if the mode
++ of "temp" RTX is BLKmode.
++
++2008-03-10 Vladimir Makarov <vmakarov@redhat.com>
++
++ * config/i386/sse.md (ssse3_pmaddubswv8hi3, ssse3_pmaddubswv4hi3):
++ Remove commutativity hint.
++
++2008-03-10 Jakub Jelinek <jakub@redhat.com>
++
++ PR c/35438
++ PR c/35439
++ * c-parser.c (c_parser_omp_threadprivate): Don't add vars with
++ errorneous type. Check that v is a VAR_DECL.
++
++ PR middle-end/35099
++ * tree-cfg.c (new_label_mapper): Update cfun->last_label_uid.
++
++2008-03-10 Uros Bizjak <ubizjak@gmail.com>
++
++ Backport from mainline:
++ 2008-03-09 Uros Bizjak <ubizjak@gmail.com>
++
++ PR target/35496
++ * config/i386/i386.c (ix86_constant_alignment): Compute alignment using
++ ALIGN_MODE_128 for VECTOR_CST and INTEGER_CST in addition to REAL_CST.
++
++ 2008-03-04 Uros Bizjak <ubizjak@gmail.com>
++
++ PR middle-end/35456
++ * fold-const.c (fold_cond_expr_with_comparison): Prevent
++ transformations for modes that have signed zeros.
++ * ifcvt.c (noce_try_abs): Ditto.
++
++2008-03-09 Kaz Kojima <kkojima@gcc.gnu.org>
++
++ Backport from mainline:
++ PR target/35225
++ * config/sh/sh.c (find_barrier): Don't go past 'from' argument.
++
++2008-03-09 Kaz Kojima <kkojima@gcc.gnu.org>
++
++ Backport from mainline:
++ PR target/35190
++ * config/sh/sh.md (jump_compact): Disable for crossing jumps.
++
++ * config/sh/sh.c (find_barrier): Don't go past
++ NOTE_INSN_SWITCH_TEXT_SECTIONS note.
++
++2008-03-08 Jakub Jelinek <jakub@redhat.com>
++
++ PR target/35498
++ * config/rs6000/rs6000.c (rs6000_expand_compare_and_swapqhi): Shift
++ wdst back after sync_compare_and_swapqhi_internal.
++
++2008-03-07 Joseph Myers <joseph@codesourcery.com>
++
++ * doc/include/texinfo.tex: Update to version 2008-03-07.10.
++
++2008-03-07 Richard Guenther <rguenther@suse.de>
++
++ Backport from mainline:
++ 2008-03-05 Richard Guenther <rguenther@suse.de>
++
++ PR tree-optimization/35472
++ * tree-ssa-dse.c (dse_optimize_stmt): Do not delete a store
++ whose single use_stmt has a overlapping set of loaded and
++ stored symbols as that use_stmt might be a noop assignment then.
++
++2008-03-06 H.J. Lu <hongjiu.lu@intel.com>
++
++ Backport from mainline:
++ 2008-02-18 H.J. Lu <hongjiu.lu@intel.com>
++
++ PR target/35189
++ * config/i386/i386.c (OPTION_MASK_ISA_MMX_SET): New.
++ (OPTION_MASK_ISA_3DNOW_SET): Likewise.
++ (OPTION_MASK_ISA_SSE_SET): Likewise.
++ (OPTION_MASK_ISA_SSE2_SET): Likewise.
++ (OPTION_MASK_ISA_SSE3_SET): Likewise.
++ (OPTION_MASK_ISA_SSSE3_SET): Likewise.
++ (OPTION_MASK_ISA_SSE4_1_SET): Likewise.
++ (OPTION_MASK_ISA_SSE4_2_SET): Likewise.
++ (OPTION_MASK_ISA_SSE4_SET): Likewise.
++ (OPTION_MASK_ISA_SSE4A_SET): Likewise.
++ (OPTION_MASK_ISA_SSE5_SET): Likewise.
++ (OPTION_MASK_ISA_3DNOW_A_UNSET): Likewise.
++ (OPTION_MASK_ISA_MMX_UNSET): Updated.
++ (OPTION_MASK_ISA_3DNOW_UNSET): Updated.
++ (OPTION_MASK_ISA_SSE_UNSET): Likewise.
++ (OPTION_MASK_ISA_SSE3_UNSET): Likewise.
++ (OPTION_MASK_ISA_SSSE3_UNSET): Likewise.
++ (OPTION_MASK_ISA_SSE4_1_UNSET): Likewise.
++ (OPTION_MASK_ISA_SSE4_2_UNSET): Likewise.
++ (OPTION_MASK_ISA_SSE4A_UNSET): Likewise.
++ (OPTION_MASK_ISA_SSE5_UNSET): Likewise.
++ (OPTION_MASK_ISA_SSE4): Removed.
++ (ix86_handle_option): Turn on bits in ix86_isa_flags and
++ ix86_isa_flags_explicit with OPTION_MASK_ISA_XXX_SET for -mXXX.
++ (override_options): Don't turn on implied SSE/MMX bits in
++ ix86_isa_flags.
++
++2008-03-06 Jakub Jelinek <jakub@redhat.com>
++
++ * gimplify.c (goa_lhs_expr_p): Allow different ADDR_EXPR nodes
++ for the same VAR_DECL.
++
++2008-03-06 Daniel Jacobowitz <dan@codesourcery.com>
++
++ * expmed.c (extract_bit_field): Always use adjust_address for MEM.
++
++2008-03-06 Joseph Myers <joseph@codesourcery.com>
++
++ PR target/33963
++ * tree.c (handle_dll_attribute): Disallow TYPE_DECLs for types
++ other than structures and unions.
++
++2008-03-06 Jakub Jelinek <jakub@redhat.com>
++
++ * BASE-VER: Set to 4.3.1.
++ * DEV-PHASE: Set to prerelease.
++
+ 2008-03-05 Release Manager
+
+ * GCC 4.3.0 released.
+@@ -56,12 +353,12 @@
+ Uros Bizjak <ubizjak@gmail.com>
+
+ PR target/25477
+- * gcc/config/darwin-protos.h: Add darwin_patch_builtins prototype.
+- * gcc/config/darwin-ppc-ldouble-patch.def: New file.
+- * gcc/config/rs6000/darwin.h (SUBTARGET_INIT_BUILTINS): New macro.
+- * gcc/config/rs6000/rs6000.c (rs6000_init_builtins): Call
++ * config/darwin-protos.h: Add darwin_patch_builtins prototype.
++ * config/darwin-ppc-ldouble-patch.def: New file.
++ * config/rs6000/darwin.h (SUBTARGET_INIT_BUILTINS): New macro.
++ * config/rs6000/rs6000.c (rs6000_init_builtins): Call
+ SUBTARGET_INIT_BUILTINS if defined.
+- * gcc/config/darwin.c (darwin_patch_builtin,
++ * config/darwin.c (darwin_patch_builtin,
+ darwin_patch_builtins): New functions.
+
+ 2008-02-27 Richard Guenther <rguenther@suse.de>
+@@ -2122,7 +2419,7 @@
+ 2008-01-02 Arthur Norman <acn1@cam.ac.uk>
+
+ PR target/34013
+- * gcc/config/i386/i386.c (ix86_expand_prologue): Save red-zone
++ * config/i386/i386.c (ix86_expand_prologue): Save red-zone
+ while stack probing.
+
+ 2008-01-01 Douglas Gregor <doug.gregor@gmail.com>
+Index: gcc/testsuite/gcc.c-torture/execute/20080222-1.c
+===================================================================
+--- gcc/testsuite/gcc.c-torture/execute/20080222-1.c (.../tags/gcc_4_3_0_release) (revision 0)
++++ gcc/testsuite/gcc.c-torture/execute/20080222-1.c (.../branches/gcc-4_3-branch) (revision 133808)
+@@ -0,0 +1,22 @@
++extern void abort (void);
++
++struct container
++{
++ unsigned char data[1];
++};
++
++unsigned char space[6] = {1, 2, 3, 4, 5, 6};
++
++int
++foo (struct container *p)
++{
++ return p->data[4];
++}
++
++int
++main ()
++{
++ if (foo ((struct container *) space) != 5)
++ abort ();
++ return 0;
++}
+Index: gcc/testsuite/gcc.c-torture/execute/pr35472.c
+===================================================================
+--- gcc/testsuite/gcc.c-torture/execute/pr35472.c (.../tags/gcc_4_3_0_release) (revision 0)
++++ gcc/testsuite/gcc.c-torture/execute/pr35472.c (.../branches/gcc-4_3-branch) (revision 133808)
+@@ -0,0 +1,22 @@
++extern void abort (void);
++extern void *memset (void *s, int c, __SIZE_TYPE__ n);
++struct S { int i[16]; };
++struct S *p;
++void __attribute__((noinline))
++foo(struct S *a, struct S *b) { a->i[0] = -1; p = b; }
++void test (void)
++{
++ struct S a, b;
++ memset (&a.i[0], '\0', sizeof (a.i));
++ memset (&b.i[0], '\0', sizeof (b.i));
++ foo (&a, &b);
++ *p = a;
++ *p = b;
++ if (b.i[0] != -1)
++ abort ();
++}
++int main()
++{
++ test();
++ return 0;
++}
+Index: gcc/testsuite/gcc.c-torture/execute/pr35456.c
+===================================================================
+--- gcc/testsuite/gcc.c-torture/execute/pr35456.c (.../tags/gcc_4_3_0_release) (revision 0)
++++ gcc/testsuite/gcc.c-torture/execute/pr35456.c (.../branches/gcc-4_3-branch) (revision 133808)
+@@ -0,0 +1,21 @@
++extern void abort (void);
++
++double
++__attribute__ ((noinline))
++not_fabs (double x)
++{
++ return x >= 0.0 ? x : -x;
++}
++
++int main()
++{
++ double x = -0.0;
++ double y;
++
++ y = not_fabs (x);
++
++ if (!__builtin_signbit (y))
++ abort();
++
++ return 0;
++}
+Index: gcc/testsuite/gcc.target/i386/ssse3-phsubw.c
+===================================================================
+--- gcc/testsuite/gcc.target/i386/ssse3-phsubw.c (.../tags/gcc_4_3_0_release) (revision 133808)
++++ gcc/testsuite/gcc.target/i386/ssse3-phsubw.c (.../branches/gcc-4_3-branch) (revision 133808)
+@@ -1,6 +1,6 @@
+ /* { dg-do run } */
+ /* { dg-require-effective-target ssse3 } */
+-/* { dg-options "-O2 -mssse3" } */
++/* { dg-options "-O2 -fno-strict-aliasing -mssse3" } */
+
+ #include "ssse3-check.h"
+ #include "ssse3-vals.h"
+Index: gcc/testsuite/gcc.target/i386/sse-14.c
+===================================================================
+--- gcc/testsuite/gcc.target/i386/sse-14.c (.../tags/gcc_4_3_0_release) (revision 133808)
++++ gcc/testsuite/gcc.target/i386/sse-14.c (.../branches/gcc-4_3-branch) (revision 133808)
+@@ -3,10 +3,10 @@
+
+ /* Test that the intrinsics compile without optimization. All of them are
+ defined as inline functions in {,x,e,p,t,s,a,b}mmintrin.h and mm3dnow.h
+- that reference the proper builtin functions. Defining away "static" and
++ that reference the proper builtin functions. Defining away "extern" and
+ "__inline" results in all of them being compiled as proper functions. */
+
+-#define static
++#define extern
+ #define __inline
+
+ #include <bmmintrin.h>
+Index: gcc/testsuite/gcc.target/i386/ssse3-phaddd.c
+===================================================================
+--- gcc/testsuite/gcc.target/i386/ssse3-phaddd.c (.../tags/gcc_4_3_0_release) (revision 133808)
++++ gcc/testsuite/gcc.target/i386/ssse3-phaddd.c (.../branches/gcc-4_3-branch) (revision 133808)
+@@ -1,6 +1,6 @@
+ /* { dg-do run } */
+ /* { dg-require-effective-target ssse3 } */
+-/* { dg-options "-O2 -mssse3" } */
++/* { dg-options "-O2 -fno-strict-aliasing -mssse3" } */
+
+ #include "ssse3-check.h"
+ #include "ssse3-vals.h"
+Index: gcc/testsuite/gcc.target/i386/ssse3-pabsb.c
+===================================================================
+--- gcc/testsuite/gcc.target/i386/ssse3-pabsb.c (.../tags/gcc_4_3_0_release) (revision 133808)
++++ gcc/testsuite/gcc.target/i386/ssse3-pabsb.c (.../branches/gcc-4_3-branch) (revision 133808)
+@@ -1,6 +1,6 @@
+ /* { dg-do run } */
+ /* { dg-require-effective-target ssse3 } */
+-/* { dg-options "-O2 -mssse3" } */
++/* { dg-options "-O2 -fno-strict-aliasing -mssse3" } */
+
+ #include "ssse3-check.h"
+ #include "ssse3-vals.h"
+Index: gcc/testsuite/gcc.target/i386/isa-1.c
+===================================================================
+--- gcc/testsuite/gcc.target/i386/isa-1.c (.../tags/gcc_4_3_0_release) (revision 0)
++++ gcc/testsuite/gcc.target/i386/isa-1.c (.../branches/gcc-4_3-branch) (revision 133808)
+@@ -0,0 +1,34 @@
++/* { dg-do run } */
++/* { dg-options "-march=x86-64 -msse4" } */
++
++extern void abort (void);
++
++int
++main ()
++{
++#if !defined __SSE__
++ abort ();
++#endif
++#if !defined __SSE2__
++ abort ();
++#endif
++#if !defined __SSE3__
++ abort ();
++#endif
++#if !defined __SSSE3__
++ abort ();
++#endif
++#if !defined __SSE4_1__
++ abort ();
++#endif
++#if !defined __SSE4_2__
++ abort ();
++#endif
++#if defined __SSE4A__
++ abort ();
++#endif
++#if defined __SSE5__
++ abort ();
++#endif
++ return 0;
++}
+Index: gcc/testsuite/gcc.target/i386/ssse3-psignb.c
+===================================================================
+--- gcc/testsuite/gcc.target/i386/ssse3-psignb.c (.../tags/gcc_4_3_0_release) (revision 133808)
++++ gcc/testsuite/gcc.target/i386/ssse3-psignb.c (.../branches/gcc-4_3-branch) (revision 133808)
+@@ -1,6 +1,6 @@
+ /* { dg-do run } */
+ /* { dg-require-effective-target ssse3 } */
+-/* { dg-options "-O2 -mssse3" } */
++/* { dg-options "-O2 -fno-strict-aliasing -mssse3" } */
+
+ #include "ssse3-check.h"
+ #include "ssse3-vals.h"
+Index: gcc/testsuite/gcc.target/i386/isa-9.c
+===================================================================
+--- gcc/testsuite/gcc.target/i386/isa-9.c (.../tags/gcc_4_3_0_release) (revision 0)
++++ gcc/testsuite/gcc.target/i386/isa-9.c (.../branches/gcc-4_3-branch) (revision 133808)
+@@ -0,0 +1,34 @@
++/* { dg-do run } */
++/* { dg-options "-march=amdfam10 -mno-sse5" } */
++
++extern void abort (void);
++
++int
++main ()
++{
++#if !defined __SSE__
++ abort ();
++#endif
++#if !defined __SSE2__
++ abort ();
++#endif
++#if !defined __SSE3__
++ abort ();
++#endif
++#if defined __SSSE3__
++ abort ();
++#endif
++#if defined __SSE4_1__
++ abort ();
++#endif
++#if defined __SSE4_2__
++ abort ();
++#endif
++#if !defined __SSE4A__
++ abort ();
++#endif
++#if defined __SSE5__
++ abort ();
++#endif
++ return 0;
++}
+Index: gcc/testsuite/gcc.target/i386/isa-12.c
+===================================================================
+--- gcc/testsuite/gcc.target/i386/isa-12.c (.../tags/gcc_4_3_0_release) (revision 0)
++++ gcc/testsuite/gcc.target/i386/isa-12.c (.../branches/gcc-4_3-branch) (revision 133808)
+@@ -0,0 +1,34 @@
++/* { dg-do run } */
++/* { dg-options "-march=x86-64 -msse5 -mno-sse3" } */
++
++extern void abort (void);
++
++int
++main ()
++{
++#if !defined __SSE__
++ abort ();
++#endif
++#if !defined __SSE2__
++ abort ();
++#endif
++#if defined __SSE3__
++ abort ();
++#endif
++#if defined __SSSE3__
++ abort ();
++#endif
++#if defined __SSE4_1__
++ abort ();
++#endif
++#if defined __SSE4_2__
++ abort ();
++#endif
++#if defined __SSE4A__
++ abort ();
++#endif
++#if defined __SSE5__
++ abort ();
++#endif
++ return 0;
++}
+Index: gcc/testsuite/gcc.target/i386/ssse3-phaddsw.c
+===================================================================
+--- gcc/testsuite/gcc.target/i386/ssse3-phaddsw.c (.../tags/gcc_4_3_0_release) (revision 133808)
++++ gcc/testsuite/gcc.target/i386/ssse3-phaddsw.c (.../branches/gcc-4_3-branch) (revision 133808)
+@@ -1,6 +1,6 @@
+ /* { dg-do run } */
+ /* { dg-require-effective-target ssse3 } */
+-/* { dg-options "-O2 -mssse3" } */
++/* { dg-options "-O2 -fno-strict-aliasing -mssse3" } */
+
+ #include "ssse3-check.h"
+ #include "ssse3-vals.h"
+Index: gcc/testsuite/gcc.target/i386/isa-2.c
+===================================================================
+--- gcc/testsuite/gcc.target/i386/isa-2.c (.../tags/gcc_4_3_0_release) (revision 0)
++++ gcc/testsuite/gcc.target/i386/isa-2.c (.../branches/gcc-4_3-branch) (revision 133808)
+@@ -0,0 +1,34 @@
++/* { dg-do run } */
++/* { dg-options "-march=x86-64 -msse4 -msse5" } */
++
++extern void abort (void);
++
++int
++main ()
++{
++#if !defined __SSE__
++ abort ();
++#endif
++#if !defined __SSE2__
++ abort ();
++#endif
++#if !defined __SSE3__
++ abort ();
++#endif
++#if !defined __SSSE3__
++ abort ();
++#endif
++#if !defined __SSE4_1__
++ abort ();
++#endif
++#if !defined __SSE4_2__
++ abort ();
++#endif
++#if !defined __SSE4A__
++ abort ();
++#endif
++#if !defined __SSE5__
++ abort ();
++#endif
++ return 0;
++}
+Index: gcc/testsuite/gcc.target/i386/isa-13.c
+===================================================================
+--- gcc/testsuite/gcc.target/i386/isa-13.c (.../tags/gcc_4_3_0_release) (revision 0)
++++ gcc/testsuite/gcc.target/i386/isa-13.c (.../branches/gcc-4_3-branch) (revision 133808)
+@@ -0,0 +1,34 @@
++/* { dg-do run } */
++/* { dg-options "-march=x86-64 -msse5 -mno-sse2" } */
++
++extern void abort (void);
++
++int
++main ()
++{
++#if !defined __SSE__
++ abort ();
++#endif
++#if defined __SSE2__
++ abort ();
++#endif
++#if defined __SSE3__
++ abort ();
++#endif
++#if defined __SSSE3__
++ abort ();
++#endif
++#if defined __SSE4_1__
++ abort ();
++#endif
++#if defined __SSE4_2__
++ abort ();
++#endif
++#if defined __SSE4A__
++ abort ();
++#endif
++#if defined __SSE5__
++ abort ();
++#endif
++ return 0;
++}
+Index: gcc/testsuite/gcc.target/i386/ssse3-pabsd.c
+===================================================================
+--- gcc/testsuite/gcc.target/i386/ssse3-pabsd.c (.../tags/gcc_4_3_0_release) (revision 133808)
++++ gcc/testsuite/gcc.target/i386/ssse3-pabsd.c (.../branches/gcc-4_3-branch) (revision 133808)
+@@ -1,6 +1,6 @@
+ /* { dg-do run } */
+ /* { dg-require-effective-target ssse3 } */
+-/* { dg-options "-O2 -mssse3" } */
++/* { dg-options "-O2 -fno-strict-aliasing -mssse3" } */
+
+ #include "ssse3-check.h"
+ #include "ssse3-vals.h"
+Index: gcc/testsuite/gcc.target/i386/isa-3.c
+===================================================================
+--- gcc/testsuite/gcc.target/i386/isa-3.c (.../tags/gcc_4_3_0_release) (revision 0)
++++ gcc/testsuite/gcc.target/i386/isa-3.c (.../branches/gcc-4_3-branch) (revision 133808)
+@@ -0,0 +1,34 @@
++/* { dg-do run } */
++/* { dg-options "-march=x86-64 -msse4 -msse5 -msse4a" } */
++
++extern void abort (void);
++
++int
++main ()
++{
++#if !defined __SSE__
++ abort ();
++#endif
++#if !defined __SSE2__
++ abort ();
++#endif
++#if !defined __SSE3__
++ abort ();
++#endif
++#if !defined __SSSE3__
++ abort ();
++#endif
++#if !defined __SSE4_1__
++ abort ();
++#endif
++#if !defined __SSE4_2__
++ abort ();
++#endif
++#if !defined __SSE4A__
++ abort ();
++#endif
++#if !defined __SSE5__
++ abort ();
++#endif
++ return 0;
++}
+Index: gcc/testsuite/gcc.target/i386/ssse3-psignd.c
+===================================================================
+--- gcc/testsuite/gcc.target/i386/ssse3-psignd.c (.../tags/gcc_4_3_0_release) (revision 133808)
++++ gcc/testsuite/gcc.target/i386/ssse3-psignd.c (.../branches/gcc-4_3-branch) (revision 133808)
+@@ -1,6 +1,6 @@
+ /* { dg-do run } */
+ /* { dg-require-effective-target ssse3 } */
+-/* { dg-options "-O2 -mssse3" } */
++/* { dg-options "-O2 -fno-strict-aliasing -mssse3" } */
+
+ #include "ssse3-check.h"
+ #include "ssse3-vals.h"
+Index: gcc/testsuite/gcc.target/i386/ssse3-pmaddubsw.c
+===================================================================
+--- gcc/testsuite/gcc.target/i386/ssse3-pmaddubsw.c (.../tags/gcc_4_3_0_release) (revision 133808)
++++ gcc/testsuite/gcc.target/i386/ssse3-pmaddubsw.c (.../branches/gcc-4_3-branch) (revision 133808)
+@@ -1,6 +1,6 @@
+ /* { dg-do run } */
+ /* { dg-require-effective-target ssse3 } */
+-/* { dg-options "-O2 -mssse3" } */
++/* { dg-options "-O2 -fno-strict-aliasing -mssse3" } */
+
+ #include "ssse3-check.h"
+ #include "ssse3-vals.h"
+Index: gcc/testsuite/gcc.target/i386/isa-14.c
+===================================================================
+--- gcc/testsuite/gcc.target/i386/isa-14.c (.../tags/gcc_4_3_0_release) (revision 0)
++++ gcc/testsuite/gcc.target/i386/isa-14.c (.../branches/gcc-4_3-branch) (revision 133808)
+@@ -0,0 +1,34 @@
++/* { dg-do run } */
++/* { dg-options "-march=x86-64 -msse5 -mno-sse" } */
++
++extern void abort (void);
++
++int
++main ()
++{
++#if defined __SSE__
++ abort ();
++#endif
++#if defined __SSE2__
++ abort ();
++#endif
++#if defined __SSE3__
++ abort ();
++#endif
++#if defined __SSSE3__
++ abort ();
++#endif
++#if defined __SSE4_1__
++ abort ();
++#endif
++#if defined __SSE4_2__
++ abort ();
++#endif
++#if defined __SSE4A__
++ abort ();
++#endif
++#if defined __SSE5__
++ abort ();
++#endif
++ return 0;
++}
+Index: gcc/testsuite/gcc.target/i386/ssse3-pmulhrsw.c
+===================================================================
+--- gcc/testsuite/gcc.target/i386/ssse3-pmulhrsw.c (.../tags/gcc_4_3_0_release) (revision 133808)
++++ gcc/testsuite/gcc.target/i386/ssse3-pmulhrsw.c (.../branches/gcc-4_3-branch) (revision 133808)
+@@ -1,6 +1,6 @@
+ /* { dg-do run } */
+ /* { dg-require-effective-target ssse3 } */
+-/* { dg-options "-O2 -mssse3" } */
++/* { dg-options "-O2 -fno-strict-aliasing -mssse3" } */
+
+ #include "ssse3-check.h"
+ #include "ssse3-vals.h"
+Index: gcc/testsuite/gcc.target/i386/ssse3-phaddw.c
+===================================================================
+--- gcc/testsuite/gcc.target/i386/ssse3-phaddw.c (.../tags/gcc_4_3_0_release) (revision 133808)
++++ gcc/testsuite/gcc.target/i386/ssse3-phaddw.c (.../branches/gcc-4_3-branch) (revision 133808)
+@@ -1,6 +1,6 @@
+ /* { dg-do run } */
+ /* { dg-require-effective-target ssse3 } */
+-/* { dg-options "-O2 -mssse3" } */
++/* { dg-options "-O2 -fno-strict-aliasing -mssse3" } */
+
+ #include "ssse3-check.h"
+ #include "ssse3-vals.h"
+Index: gcc/testsuite/gcc.target/i386/isa-4.c
+===================================================================
+--- gcc/testsuite/gcc.target/i386/isa-4.c (.../tags/gcc_4_3_0_release) (revision 0)
++++ gcc/testsuite/gcc.target/i386/isa-4.c (.../branches/gcc-4_3-branch) (revision 133808)
+@@ -0,0 +1,34 @@
++/* { dg-do run } */
++/* { dg-options "-march=core2 -msse5 -mno-sse4" } */
++
++extern void abort (void);
++
++int
++main ()
++{
++#if !defined __SSE__
++ abort ();
++#endif
++#if !defined __SSE2__
++ abort ();
++#endif
++#if !defined __SSE3__
++ abort ();
++#endif
++#if !defined __SSSE3__
++ abort ();
++#endif
++#if defined __SSE4_1__
++ abort ();
++#endif
++#if defined __SSE4_2__
++ abort ();
++#endif
++#if !defined __SSE4A__
++ abort ();
++#endif
++#if !defined __SSE5__
++ abort ();
++#endif
++ return 0;
++}
+Index: gcc/testsuite/gcc.target/i386/mmx-1.c
+===================================================================
+--- gcc/testsuite/gcc.target/i386/mmx-1.c (.../tags/gcc_4_3_0_release) (revision 133808)
++++ gcc/testsuite/gcc.target/i386/mmx-1.c (.../branches/gcc-4_3-branch) (revision 133808)
+@@ -3,10 +3,10 @@
+
+ /* Test that the intrinsics compile with optimization. All of them are
+ defined as inline functions in mmintrin.h that reference the proper
+- builtin functions. Defining away "static" and "__inline" results in
++ builtin functions. Defining away "extern" and "__inline" results in
+ all of them being compiled as proper functions. */
+
+-#define static
++#define extern
+ #define __inline
+
+ #include <mmintrin.h>
+Index: gcc/testsuite/gcc.target/i386/isa-5.c
+===================================================================
+--- gcc/testsuite/gcc.target/i386/isa-5.c (.../tags/gcc_4_3_0_release) (revision 0)
++++ gcc/testsuite/gcc.target/i386/isa-5.c (.../branches/gcc-4_3-branch) (revision 133808)
+@@ -0,0 +1,34 @@
++/* { dg-do run } */
++/* { dg-options "-march=core2 -msse4a -mno-sse4" } */
++
++extern void abort (void);
++
++int
++main ()
++{
++#if !defined __SSE__
++ abort ();
++#endif
++#if !defined __SSE2__
++ abort ();
++#endif
++#if !defined __SSE3__
++ abort ();
++#endif
++#if !defined __SSSE3__
++ abort ();
++#endif
++#if defined __SSE4_1__
++ abort ();
++#endif
++#if defined __SSE4_2__
++ abort ();
++#endif
++#if !defined __SSE4A__
++ abort ();
++#endif
++#if defined __SSE5__
++ abort ();
++#endif
++ return 0;
++}
+Index: gcc/testsuite/gcc.target/i386/ssse3-phsubd.c
+===================================================================
+--- gcc/testsuite/gcc.target/i386/ssse3-phsubd.c (.../tags/gcc_4_3_0_release) (revision 133808)
++++ gcc/testsuite/gcc.target/i386/ssse3-phsubd.c (.../branches/gcc-4_3-branch) (revision 133808)
+@@ -1,6 +1,6 @@
+ /* { dg-do run } */
+ /* { dg-require-effective-target ssse3 } */
+-/* { dg-options "-O2 -mssse3" } */
++/* { dg-options "-O2 -fno-strict-aliasing -mssse3" } */
+
+ #include "ssse3-check.h"
+ #include "ssse3-vals.h"
+Index: gcc/testsuite/gcc.target/i386/mmx-2.c
+===================================================================
+--- gcc/testsuite/gcc.target/i386/mmx-2.c (.../tags/gcc_4_3_0_release) (revision 133808)
++++ gcc/testsuite/gcc.target/i386/mmx-2.c (.../branches/gcc-4_3-branch) (revision 133808)
+@@ -3,10 +3,10 @@
+
+ /* Test that the intrinsics compile without optimization. All of them are
+ defined as inline functions in mmintrin.h that reference the proper
+- builtin functions. Defining away "static" and "__inline" results in
++ builtin functions. Defining away "extern" and "__inline" results in
+ all of them being compiled as proper functions. */
+
+-#define static
++#define extern
+ #define __inline
+
+ #include <mmintrin.h>
+Index: gcc/testsuite/gcc.target/i386/pr35540.c
+===================================================================
+--- gcc/testsuite/gcc.target/i386/pr35540.c (.../tags/gcc_4_3_0_release) (revision 0)
++++ gcc/testsuite/gcc.target/i386/pr35540.c (.../branches/gcc-4_3-branch) (revision 133808)
+@@ -0,0 +1,45 @@
++/* { dg-do run } */
++/* { dg-options "-O2" } */
++
++extern void abort (void);
++
++int __attribute__ ((noinline))
++test (unsigned int *a, int b)
++{
++ return b ? 1 : __builtin_parity (*a);
++}
++
++int __attribute__ ((noinline))
++testl (unsigned long *a, int b)
++{
++ return b ? 1 : __builtin_parityl (*a);
++}
++
++int __attribute__ ((noinline))
++testll (unsigned long long *a, int b)
++{
++ return b ? 1 : __builtin_parityll (*a);
++}
++
++int
++main ()
++{
++ unsigned int a = 0;
++ unsigned long al;
++ unsigned long long all;
++
++ a = 0x12345670;
++ if (test (&a, 0))
++ abort ();
++
++ al = 0x12345670ul;
++ if (testl (&al, 0))
++ abort();
++
++#if 1
++ all = 0x12345678abcdef0ull;
++ if (testll (&all, 0))
++ abort ();
++#endif
++ return 0;
++}
+Index: gcc/testsuite/gcc.target/i386/ssse3-pabsw.c
+===================================================================
+--- gcc/testsuite/gcc.target/i386/ssse3-pabsw.c (.../tags/gcc_4_3_0_release) (revision 133808)
++++ gcc/testsuite/gcc.target/i386/ssse3-pabsw.c (.../branches/gcc-4_3-branch) (revision 133808)
+@@ -1,6 +1,6 @@
+ /* { dg-do run } */
+ /* { dg-require-effective-target ssse3 } */
+-/* { dg-options "-O2 -mssse3" } */
++/* { dg-options "-O2 -fno-strict-aliasing -mssse3" } */
+
+ #include "ssse3-check.h"
+ #include "ssse3-vals.h"
+Index: gcc/testsuite/gcc.target/i386/isa-6.c
+===================================================================
+--- gcc/testsuite/gcc.target/i386/isa-6.c (.../tags/gcc_4_3_0_release) (revision 0)
++++ gcc/testsuite/gcc.target/i386/isa-6.c (.../branches/gcc-4_3-branch) (revision 133808)
+@@ -0,0 +1,34 @@
++/* { dg-do run } */
++/* { dg-options "-march=amdfam10 -mno-sse4" } */
++
++extern void abort (void);
++
++int
++main ()
++{
++#if !defined __SSE__
++ abort ();
++#endif
++#if !defined __SSE2__
++ abort ();
++#endif
++#if !defined __SSE3__
++ abort ();
++#endif
++#if defined __SSSE3__
++ abort ();
++#endif
++#if defined __SSE4_1__
++ abort ();
++#endif
++#if defined __SSE4_2__
++ abort ();
++#endif
++#if !defined __SSE4A__
++ abort ();
++#endif
++#if defined __SSE5__
++ abort ();
++#endif
++ return 0;
++}
+Index: gcc/testsuite/gcc.target/i386/ssse3-psignw.c
+===================================================================
+--- gcc/testsuite/gcc.target/i386/ssse3-psignw.c (.../tags/gcc_4_3_0_release) (revision 133808)
++++ gcc/testsuite/gcc.target/i386/ssse3-psignw.c (.../branches/gcc-4_3-branch) (revision 133808)
+@@ -1,6 +1,6 @@
+ /* { dg-do run } */
+ /* { dg-require-effective-target ssse3 } */
+-/* { dg-options "-O2 -mssse3" } */
++/* { dg-options "-O2 -fno-strict-aliasing -mssse3" } */
+
+ #include "ssse3-check.h"
+ #include "ssse3-vals.h"
+Index: gcc/testsuite/gcc.target/i386/ssse3-pshufb.c
+===================================================================
+--- gcc/testsuite/gcc.target/i386/ssse3-pshufb.c (.../tags/gcc_4_3_0_release) (revision 133808)
++++ gcc/testsuite/gcc.target/i386/ssse3-pshufb.c (.../branches/gcc-4_3-branch) (revision 133808)
+@@ -1,6 +1,6 @@
+ /* { dg-do run } */
+ /* { dg-require-effective-target ssse3 } */
+-/* { dg-options "-O2 -mssse3" } */
++/* { dg-options "-O2 -fno-strict-aliasing -mssse3" } */
+
+ #include "ssse3-check.h"
+ #include "ssse3-vals.h"
+Index: gcc/testsuite/gcc.target/i386/3dnow-1.c
+===================================================================
+--- gcc/testsuite/gcc.target/i386/3dnow-1.c (.../tags/gcc_4_3_0_release) (revision 133808)
++++ gcc/testsuite/gcc.target/i386/3dnow-1.c (.../branches/gcc-4_3-branch) (revision 133808)
+@@ -3,10 +3,10 @@
+
+ /* Test that the intrinsics compile with optimization. All of them are
+ defined as inline functions in mmintrin.h that reference the proper
+- builtin functions. Defining away "static" and "__inline" results in
++ builtin functions. Defining away "extern" and "__inline" results in
+ all of them being compiled as proper functions. */
+
+-#define static
++#define extern
+ #define __inline
+
+ #include <mm3dnow.h>
+Index: gcc/testsuite/gcc.target/i386/ssse3-phsubsw.c
+===================================================================
+--- gcc/testsuite/gcc.target/i386/ssse3-phsubsw.c (.../tags/gcc_4_3_0_release) (revision 133808)
++++ gcc/testsuite/gcc.target/i386/ssse3-phsubsw.c (.../branches/gcc-4_3-branch) (revision 133808)
+@@ -1,6 +1,6 @@
+ /* { dg-do run } */
+ /* { dg-require-effective-target ssse3 } */
+-/* { dg-options "-O2 -mssse3" } */
++/* { dg-options "-O2 -fno-strict-aliasing -mssse3" } */
+
+ #include "ssse3-check.h"
+ #include "ssse3-vals.h"
+Index: gcc/testsuite/gcc.target/i386/isa-7.c
+===================================================================
+--- gcc/testsuite/gcc.target/i386/isa-7.c (.../tags/gcc_4_3_0_release) (revision 0)
++++ gcc/testsuite/gcc.target/i386/isa-7.c (.../branches/gcc-4_3-branch) (revision 133808)
+@@ -0,0 +1,34 @@
++/* { dg-do run } */
++/* { dg-options "-march=amdfam10 -msse5 -mno-sse4" } */
++
++extern void abort (void);
++
++int
++main ()
++{
++#if !defined __SSE__
++ abort ();
++#endif
++#if !defined __SSE2__
++ abort ();
++#endif
++#if !defined __SSE3__
++ abort ();
++#endif
++#if defined __SSSE3__
++ abort ();
++#endif
++#if defined __SSE4_1__
++ abort ();
++#endif
++#if defined __SSE4_2__
++ abort ();
++#endif
++#if !defined __SSE4A__
++ abort ();
++#endif
++#if !defined __SSE5__
++ abort ();
++#endif
++ return 0;
++}
+Index: gcc/testsuite/gcc.target/i386/3dnowA-1.c
+===================================================================
+--- gcc/testsuite/gcc.target/i386/3dnowA-1.c (.../tags/gcc_4_3_0_release) (revision 133808)
++++ gcc/testsuite/gcc.target/i386/3dnowA-1.c (.../branches/gcc-4_3-branch) (revision 133808)
+@@ -1,13 +1,12 @@
+ /* { dg-do assemble } */
+-/* { dg-require-effective-target ilp32 } */
+-/* { dg-options "-O2 -Werror-implicit-function-declaration -m3dnow -march=athlon" } */
++/* { dg-options "-O2 -Werror-implicit-function-declaration -march=k8 -m3dnow" } */
+
+ /* Test that the intrinsics compile with optimization. All of them are
+ defined as inline functions in mmintrin.h that reference the proper
+- builtin functions. Defining away "static" and "__inline" results in
++ builtin functions. Defining away "extern" and "__inline" results in
+ all of them being compiled as proper functions. */
+
+-#define static
++#define extern
+ #define __inline
+
+ #include <mm3dnow.h>
+Index: gcc/testsuite/gcc.target/i386/isa-10.c
+===================================================================
+--- gcc/testsuite/gcc.target/i386/isa-10.c (.../tags/gcc_4_3_0_release) (revision 0)
++++ gcc/testsuite/gcc.target/i386/isa-10.c (.../branches/gcc-4_3-branch) (revision 133808)
+@@ -0,0 +1,34 @@
++/* { dg-do run } */
++/* { dg-options "-march=x86-64 -msse5 -mno-sse4" } */
++
++extern void abort (void);
++
++int
++main ()
++{
++#if !defined __SSE__
++ abort ();
++#endif
++#if !defined __SSE2__
++ abort ();
++#endif
++#if !defined __SSE3__
++ abort ();
++#endif
++#if defined __SSSE3__
++ abort ();
++#endif
++#if defined __SSE4_1__
++ abort ();
++#endif
++#if defined __SSE4_2__
++ abort ();
++#endif
++#if !defined __SSE4A__
++ abort ();
++#endif
++#if !defined __SSE5__
++ abort ();
++#endif
++ return 0;
++}
+Index: gcc/testsuite/gcc.target/i386/sse-13.c
+===================================================================
+--- gcc/testsuite/gcc.target/i386/sse-13.c (.../tags/gcc_4_3_0_release) (revision 133808)
++++ gcc/testsuite/gcc.target/i386/sse-13.c (.../branches/gcc-4_3-branch) (revision 133808)
+@@ -3,10 +3,10 @@
+
+ /* Test that the intrinsics compile with optimization. All of them are
+ defined as inline functions in {,x,e,p,t,s,a,b}mmintrin.h and mm3dnow.h
+- that reference the proper builtin functions. Defining away "static" and
++ that reference the proper builtin functions. Defining away "extern" and
+ "__inline" results in all of them being compiled as proper functions. */
+
+-#define static
++#define extern
+ #define __inline
+
+ /* Following intrinsics require immediate arguments. */
+Index: gcc/testsuite/gcc.target/i386/3dnow-2.c
+===================================================================
+--- gcc/testsuite/gcc.target/i386/3dnow-2.c (.../tags/gcc_4_3_0_release) (revision 133808)
++++ gcc/testsuite/gcc.target/i386/3dnow-2.c (.../branches/gcc-4_3-branch) (revision 133808)
+@@ -3,10 +3,10 @@
+
+ /* Test that the intrinsics compile without optimization. All of them are
+ defined as inline functions in mmintrin.h that reference the proper
+- builtin functions. Defining away "static" and "__inline" results in
++ builtin functions. Defining away "extern" and "__inline" results in
+ all of them being compiled as proper functions. */
+
+-#define static
++#define extern
+ #define __inline
+
+ #include <mm3dnow.h>
+Index: gcc/testsuite/gcc.target/i386/isa-8.c
+===================================================================
+--- gcc/testsuite/gcc.target/i386/isa-8.c (.../tags/gcc_4_3_0_release) (revision 0)
++++ gcc/testsuite/gcc.target/i386/isa-8.c (.../branches/gcc-4_3-branch) (revision 133808)
+@@ -0,0 +1,34 @@
++/* { dg-do run } */
++/* { dg-options "-march=amdfam10 -msse5 -mno-sse4a" } */
++
++extern void abort (void);
++
++int
++main ()
++{
++#if !defined __SSE__
++ abort ();
++#endif
++#if !defined __SSE2__
++ abort ();
++#endif
++#if !defined __SSE3__
++ abort ();
++#endif
++#if defined __SSSE3__
++ abort ();
++#endif
++#if defined __SSE4_1__
++ abort ();
++#endif
++#if defined __SSE4_2__
++ abort ();
++#endif
++#if defined __SSE4A__
++ abort ();
++#endif
++#if defined __SSE5__
++ abort ();
++#endif
++ return 0;
++}
+Index: gcc/testsuite/gcc.target/i386/3dnowA-2.c
+===================================================================
+--- gcc/testsuite/gcc.target/i386/3dnowA-2.c (.../tags/gcc_4_3_0_release) (revision 133808)
++++ gcc/testsuite/gcc.target/i386/3dnowA-2.c (.../branches/gcc-4_3-branch) (revision 133808)
+@@ -1,13 +1,12 @@
+ /* { dg-do assemble } */
+-/* { dg-require-effective-target ilp32 } */
+-/* { dg-options "-O0 -Werror-implicit-function-declaration -m3dnow -march=athlon" } */
++/* { dg-options "-O0 -Werror-implicit-function-declaration -march=k8 -m3dnow" } */
+
+ /* Test that the intrinsics compile without optimization. All of them are
+ defined as inline functions in mmintrin.h that reference the proper
+- builtin functions. Defining away "static" and "__inline" results in
++ builtin functions. Defining away "extern" and "__inline" results in
+ all of them being compiled as proper functions. */
+
+-#define static
++#define extern
+ #define __inline
+
+ #include <mm3dnow.h>
+Index: gcc/testsuite/gcc.target/i386/ssse3-palignr.c
+===================================================================
+--- gcc/testsuite/gcc.target/i386/ssse3-palignr.c (.../tags/gcc_4_3_0_release) (revision 133808)
++++ gcc/testsuite/gcc.target/i386/ssse3-palignr.c (.../branches/gcc-4_3-branch) (revision 133808)
+@@ -1,6 +1,6 @@
+ /* { dg-do run } */
+ /* { dg-require-effective-target ssse3 } */
+-/* { dg-options "-O2 -mssse3" } */
++/* { dg-options "-O2 -fno-strict-aliasing -mssse3" } */
+
+ #include "ssse3-check.h"
+ #include "ssse3-vals.h"
+Index: gcc/testsuite/gcc.target/i386/isa-11.c
+===================================================================
+--- gcc/testsuite/gcc.target/i386/isa-11.c (.../tags/gcc_4_3_0_release) (revision 0)
++++ gcc/testsuite/gcc.target/i386/isa-11.c (.../branches/gcc-4_3-branch) (revision 133808)
+@@ -0,0 +1,34 @@
++/* { dg-do run } */
++/* { dg-options "-march=x86-64 -msse5 -mno-ssse3" } */
++
++extern void abort (void);
++
++int
++main ()
++{
++#if !defined __SSE__
++ abort ();
++#endif
++#if !defined __SSE2__
++ abort ();
++#endif
++#if !defined __SSE3__
++ abort ();
++#endif
++#if defined __SSSE3__
++ abort ();
++#endif
++#if defined __SSE4_1__
++ abort ();
++#endif
++#if defined __SSE4_2__
++ abort ();
++#endif
++#if !defined __SSE4A__
++ abort ();
++#endif
++#if !defined __SSE5__
++ abort ();
++#endif
++ return 0;
++}
+Index: gcc/testsuite/gnat.dg/frame_overflow.adb
+===================================================================
+--- gcc/testsuite/gnat.dg/frame_overflow.adb (.../tags/gcc_4_3_0_release) (revision 133808)
++++ gcc/testsuite/gnat.dg/frame_overflow.adb (.../branches/gcc-4_3-branch) (revision 133808)
+@@ -1,15 +1,17 @@
+ -- { dg-do compile }
+
++with System;
++
+ procedure frame_overflow is
+
+- type Bitpos_Range_T is new Positive;
++ type Bitpos_Range_T is range 1..2**(System.Word_Size-1)-1;
+ type Bitmap_Array_T is array (Bitpos_Range_T) of Boolean;
+
+ type Bitmap_T is record
+ Bits : Bitmap_Array_T := (others => False);
+ end record;
+
+- function -- { dg-error "too large" "" }
++ function -- { dg-error "too large" }
+ Set_In (Bitmap : Bitmap_T; Bitpos : Bitpos_Range_T) return Bitmap_T
+ is
+ Result: Bitmap_T := Bitmap;
+@@ -18,7 +20,7 @@
+ return Result;
+ end;
+
+- function -- { dg-error "too large" "" }
++ function -- { dg-error "too large" }
+ Negate (Bitmap : Bitmap_T) return Bitmap_T is
+ Result: Bitmap_T;
+ begin
+Index: gcc/testsuite/gnat.dg/object_overflow.adb
+===================================================================
+--- gcc/testsuite/gnat.dg/object_overflow.adb (.../tags/gcc_4_3_0_release) (revision 0)
++++ gcc/testsuite/gnat.dg/object_overflow.adb (.../branches/gcc-4_3-branch) (revision 133808)
+@@ -0,0 +1,14 @@
++-- { dg-do compile }
++
++procedure Object_Overflow is
++
++ type Rec is null record;
++
++ procedure Proc (x : Rec) is begin null; end;
++
++ type Arr is array(Long_Integer) of Rec;
++ Obj : Arr; -- { dg-warning "Storage_Error will be raised" }
++
++begin
++ Proc (Obj(1));
++end;
+Index: gcc/testsuite/gcc.dg/pr34989-1.c
+===================================================================
+--- gcc/testsuite/gcc.dg/pr34989-1.c (.../tags/gcc_4_3_0_release) (revision 0)
++++ gcc/testsuite/gcc.dg/pr34989-1.c (.../branches/gcc-4_3-branch) (revision 133808)
+@@ -0,0 +1,10 @@
++/* { dg-do compile } */
++/* { dg-options "--combine -O2" } */
++/* { dg-additional-sources "pr34989-2.c" } */
++
++extern struct globals *const ptr_to_globals;
++struct globals { };
++int syslogd_main(int argc, char **argv)
++{
++ (*(struct globals**)&ptr_to_globals) = 0;
++}
+Index: gcc/testsuite/gcc.dg/gomp/pr34692.c
+===================================================================
+--- gcc/testsuite/gcc.dg/gomp/pr34692.c (.../tags/gcc_4_3_0_release) (revision 133808)
++++ gcc/testsuite/gcc.dg/gomp/pr34692.c (.../branches/gcc-4_3-branch) (revision 133808)
+@@ -24,3 +24,5 @@
+ cde f g h);
+ }
+ }
++
++/* { dg-final { cleanup-tree-dump "gimple" } } */
+Index: gcc/testsuite/gcc.dg/gomp/pr35439.c
+===================================================================
+--- gcc/testsuite/gcc.dg/gomp/pr35439.c (.../tags/gcc_4_3_0_release) (revision 0)
++++ gcc/testsuite/gcc.dg/gomp/pr35439.c (.../branches/gcc-4_3-branch) (revision 133808)
+@@ -0,0 +1,6 @@
++/* PR c/35439 */
++/* { dg-do compile } */
++/* { dg-options "-fopenmp" } */
++
++void x[1]; /* { dg-error "array of voids" } */
++#pragma omp threadprivate(x)
+Index: gcc/testsuite/gcc.dg/gomp/pr35244.c
+===================================================================
+--- gcc/testsuite/gcc.dg/gomp/pr35244.c (.../tags/gcc_4_3_0_release) (revision 0)
++++ gcc/testsuite/gcc.dg/gomp/pr35244.c (.../branches/gcc-4_3-branch) (revision 133808)
+@@ -0,0 +1,20 @@
++/* PR c++/35244 */
++/* { dg-do compile } */
++/* { dg-require-effective-target tls_native } */
++/* { dg-options "-fopenmp" } */
++
++int v1;
++typedef struct A A;
++typedef int i;
++#pragma omp threadprivate (i) /* { dg-error "expected identifier before" } */
++#pragma omp threadprivate (A) /* { dg-error "expected identifier before" } */
++#pragma omp threadprivate (v1)
++
++void foo ()
++{
++ static int v4;
++ {
++ static int v5;
++#pragma omp threadprivate (v4, v5)
++ }
++}
+Index: gcc/testsuite/gcc.dg/gomp/pr35438.c
+===================================================================
+--- gcc/testsuite/gcc.dg/gomp/pr35438.c (.../tags/gcc_4_3_0_release) (revision 0)
++++ gcc/testsuite/gcc.dg/gomp/pr35438.c (.../branches/gcc-4_3-branch) (revision 133808)
+@@ -0,0 +1,6 @@
++/* PR c/35438 */
++/* { dg-do compile } */
++/* { dg-options "-fopenmp" } */
++
++void foo ();
++#pragma omp threadprivate(foo) /* { dg-error "is not a variable" } */
+Index: gcc/testsuite/gcc.dg/gomp/pr34964.c
+===================================================================
+--- gcc/testsuite/gcc.dg/gomp/pr34964.c (.../tags/gcc_4_3_0_release) (revision 0)
++++ gcc/testsuite/gcc.dg/gomp/pr34964.c (.../branches/gcc-4_3-branch) (revision 133808)
+@@ -0,0 +1,6 @@
++/* PR c++/34964 */
++/* { dg-do compile } */
++/* { dg-options "-fopenmp" } */
++
++char x[] = 0; /* { dg-error "invalid initializer" } */
++#pragma omp threadprivate (x)
+Index: gcc/testsuite/gcc.dg/uninit-16.c
+===================================================================
+--- gcc/testsuite/gcc.dg/uninit-16.c (.../tags/gcc_4_3_0_release) (revision 0)
++++ gcc/testsuite/gcc.dg/uninit-16.c (.../branches/gcc-4_3-branch) (revision 133808)
+@@ -0,0 +1,23 @@
++/* { dg-do compile } */
++/* { dg-options "-O2 -Wuninitialized" } */
++
++int foo, bar;
++
++static
++void decode_reloc(int reloc, int *is_alt)
++{
++ if (reloc >= 20)
++ *is_alt = 1;
++ else if (reloc >= 10)
++ *is_alt = 0;
++}
++
++void testfunc()
++{
++ int alt_reloc;
++
++ decode_reloc(foo, &alt_reloc);
++
++ if (alt_reloc) /* { dg-warning "may be used uninitialized" } */
++ bar = 42;
++}
+Index: gcc/testsuite/gcc.dg/pr34989-2.c
+===================================================================
+--- gcc/testsuite/gcc.dg/pr34989-2.c (.../tags/gcc_4_3_0_release) (revision 0)
++++ gcc/testsuite/gcc.dg/pr34989-2.c (.../branches/gcc-4_3-branch) (revision 133808)
+@@ -0,0 +1,3 @@
++/* { dg-do compile } */
++
++extern struct globals *const ptr_to_globals;
+Index: gcc/testsuite/gcc.dg/uninit-15.c
+===================================================================
+--- gcc/testsuite/gcc.dg/uninit-15.c (.../tags/gcc_4_3_0_release) (revision 0)
++++ gcc/testsuite/gcc.dg/uninit-15.c (.../branches/gcc-4_3-branch) (revision 133808)
+@@ -0,0 +1,17 @@
++/* { dg-do compile } */
++/* { dg-options "-O -Wuninitialized" } */
++
++inline int foo (int i)
++{
++ if (i) return 1; /* { dg-warning "is used uninitialized" } */
++ return 0;
++}
++
++void baz();
++
++void bar()
++{
++ int j; /* { dg-message "was declared here" } */
++ for (; foo(j); ++j)
++ baz();
++}
+Index: gcc/testsuite/gcc.dg/pr35616.c
+===================================================================
+--- gcc/testsuite/gcc.dg/pr35616.c (.../tags/gcc_4_3_0_release) (revision 0)
++++ gcc/testsuite/gcc.dg/pr35616.c (.../branches/gcc-4_3-branch) (revision 133808)
+@@ -0,0 +1,43 @@
++/* { dg-do run } */
++/* { dg-options "-O2" } */
++typedef void (*listener_fun)(
++ int a,
++ int b,
++ int c);
++
++struct data_t
++{
++ int a;
++
++ listener_fun listener;
++
++ int b;
++ int c;
++ int d;
++};
++
++extern void abort(void);
++void function_calling_listener (struct data_t data);
++
++void function_calling_listener (struct data_t data)
++{
++ data.listener(data.a, data.c, data.d);
++}
++
++void my_listener(int a, int b, int c)
++{
++ if (a != 42 || b != 44 || c != 45)
++ abort ();
++}
++
++int main()
++{
++ struct data_t d;
++ d.a = 42;
++ d.b = 43;
++ d.c = 44;
++ d.d = 45;
++ d.listener = my_listener;
++ function_calling_listener (d);
++ return 0;
++}
+Index: gcc/testsuite/gcc.dg/pr35258.c
+===================================================================
+--- gcc/testsuite/gcc.dg/pr35258.c (.../tags/gcc_4_3_0_release) (revision 0)
++++ gcc/testsuite/gcc.dg/pr35258.c (.../branches/gcc-4_3-branch) (revision 133808)
+@@ -0,0 +1,28 @@
++/* { dg-do run } */
++/* { dg-options "-O1" } */
++
++extern void *memcpy (void *, const void *, __SIZE_TYPE__);
++extern int memcmp (const void *, const void *, __SIZE_TYPE__);
++extern void abort(void);
++
++char str[9] = "1234";
++
++void
++bar (void)
++{
++ unsigned int temp;
++ char *p = &str[2];
++
++ memcpy (&temp, &str[1], 4);
++ memcpy (p, &temp, 4);
++ str[1] = '.';
++}
++
++int main()
++{
++ bar();
++ if (memcmp (str, "1.234", 5) != 0)
++ abort ();
++
++ return 0;
++}
+Index: gcc/testsuite/gcc.dg/vect/vect.exp
+===================================================================
+--- gcc/testsuite/gcc.dg/vect/vect.exp (.../tags/gcc_4_3_0_release) (revision 133808)
++++ gcc/testsuite/gcc.dg/vect/vect.exp (.../branches/gcc-4_3-branch) (revision 133808)
+@@ -63,7 +63,11 @@
+ set dg-do-what-default run
+ } elseif { [istarget "i?86-*-*"] || [istarget "x86_64-*-*"] } {
+ lappend DEFAULT_VECTCFLAGS "-msse2"
+- set dg-do-what-default run
++ if [check_sse2_hw_available] {
++ set dg-do-what-default run
++ } else {
++ set dg-do-what-default compile
++ }
+ } elseif { [istarget "mips*-*-*"]
+ && [check_effective_target_mpaired_single]
+ && [check_effective_target_nomips16] } {
+Index: gcc/testsuite/ChangeLog
+===================================================================
+--- gcc/testsuite/ChangeLog (.../tags/gcc_4_3_0_release) (revision 133808)
++++ gcc/testsuite/ChangeLog (.../branches/gcc-4_3-branch) (revision 133808)
+@@ -1,3 +1,293 @@
++2008-03-31 Eric Botcazou <ebotcazou@adacore.com>
++
++ * gnat.dg/object_overflow.adb: New test.
++
++2008-03-30 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
++
++ PR c++/35245
++ * g++.dg/other/anon5.C: Skip on hppa*-*-hpux*.
++
++2008-03-30 Paul Thomas <pault@gcc.gnu.org>
++
++ PR fortran/35740
++ * gfortran.dg/transpose_conjg_1.f90: New test.
++
++2008-03-29 Paul Thomas <pault@gcc.gnu.org>
++
++ PR fortran/35698
++ * gfortran.dg/allocate_zerosize_3.f: New test.
++
++ PR fortran/35702
++ * gfortran.dg/character_assign_1.f90: New test.
++
++2008-03-28 Jerry DeLisle <jvdelisle@gcc.gnu.org>
++
++ PR fortran/35699
++ * gfortran.dg/direct_io_10.f: New test.
++
++2008-03-27 Jerry DeLisle <jvdelisle@gcc.gnu.org>
++
++ PR fortran/35724
++ * gfortran.dg/cshift_shift_real_2.f90: New test.
++
++2008-03-26 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
++
++ * gcc.dg/uninit-16.c (decode_reloc): Mark static.
++
++2008-03-26 Jakub Jelinek <jakub@redhat.com>
++
++ PR c++/35546
++ * g++.dg/ext/attrib33.C: New test.
++
++ PR c++/35332
++ * g++.dg/other/error27.C: New test.
++
++2008-03-25 Richard Guenther <rguenther@suse.de>
++
++ Backport from mainline:
++ 2008-03-19 Richard Guenther <rguenther@suse.de>
++
++ PR middle-end/35609
++ * gcc.dg/testsuite/uninit-15.c: New testcase.
++ * gcc.dg/testsuite/uninit-16.c: Likewise.
++
++2008-03-24 Paul Thomas <pault@gcc.gnu.org>
++
++ PR fortran/34813
++ * gfortran.dg/null_3.f90 : New test
++
++ PR fortran/33295
++ * gfortran.dg/module_function_type_1.f90 : New test
++
++2008-03-21 Uros Bizjak <ubizjak@gmail.com>
++
++ Backport from mainline:
++ 2008-03-20 Victor Kaplansky <victork@gcc.gnu.org>
++ Uros Bizjak <ubizjak@gmail.com>
++
++ PR testsuite/34168
++ * lib/target-supports.exp (check_sse2_hw_available): New procedure.
++ * gcc.dg/vect/vect.exp: Set dg-do-what-default to "compile"
++ if SSE2 hardware is not available.
++ * g++.dg/vect/vect.exp: Update target-dependent overrides to match
++ gcc.dg/vect/vect.exp.
++ * gfortran.dg/vect/vect.exp: Ditto.
++ (check_effective_target_lp64_or_vect_no_align): Remove procedure.
++
++ 2008-03-20 Uros Bizjak <ubizjak@gmail.com>
++
++ * gcc.dg/gomp/pr34692.c: Cleanup gimple dump file.
++
++2008-03-20 Jerry DeLisle <jvdelisle@gcc.gnu.org>
++
++ Backport from trunk:
++ PR libfortran/35627
++ * gfortran.dg/namelist_46.f90: New test.
++
++ PR libfortran/35617
++ * gfortran.dg/namelist_45.f90: New test.
++
++2008-03-20 H.J. Lu <hongjiu.lu@intel.com>
++
++ Backport from mainline:
++ 2008-03-20 H.J. Lu <hongjiu.lu@intel.com>
++
++ PR testsuite/35621
++ * gcc.target/i386/ssse3-pabsb.c: Add -fno-strict-aliasing.
++ * gcc.target/i386/ssse3-pabsd.c: Likewise.
++ * gcc.target/i386/ssse3-pabsw.c: Likewise.
++ * gcc.target/i386/ssse3-palignr.c: Likewise.
++ * gcc.target/i386/ssse3-phaddd.c: Likewise.
++ * gcc.target/i386/ssse3-phaddsw.c: Likewise.
++ * gcc.target/i386/ssse3-phaddw.c: Likewise.
++ * gcc.target/i386/ssse3-phsubd.c: Likewise.
++ * gcc.target/i386/ssse3-phsubsw.c: Likewise.
++ * gcc.target/i386/ssse3-phsubw.c: Likewise.
++ * gcc.target/i386/ssse3-pmaddubsw.c: Likewise.
++ * gcc.target/i386/ssse3-pmulhrsw.c: Likewise.
++ * gcc.target/i386/ssse3-pshufb.c: Likewise.
++ * gcc.target/i386/ssse3-psignb.c: Likewise.
++ * gcc.target/i386/ssse3-psignd.c: Likewise.
++ * gcc.target/i386/ssse3-psignw.c: Likewise.
++
++2008-03-19 Michael Matz <matz@suse.de>
++
++ Backport from mainline:
++ 2008-03-19 Michael Matz <matz@suse.de>
++
++ PR middle-end/35616
++ * gcc.dg/pr35616.c: New test.
++
++2008-03-19 Andreas Krebbel <krebbel1@de.ibm.com>
++
++ * gcc.dg/pr35258.c: New testcase.
++
++2008-03-18 Mikulas Patocka <mikulas@artax.karlin.mff.cuni.cz>
++
++ PR target/35504
++ * g++.dg/other/pr35504.C: New test.
++
++2008-03-18 Richard Guenther <rguenther@suse.de>
++
++ Backport from mainline:
++ 2008-03-15 Richard Guenther <rguenther@suse.de>
++
++ PR middle-end/35593
++ * g++.dg/warn/Warray-bounds-3.C: New testcase.
++
++2008-03-17 Jason Merrill <jason@redhat.com>
++
++ PR c++/35548
++ * g++.dg/init/ref16.C: New testcase.
++
++2008-03-14 Richard Guenther <rguenther@suse.de>
++
++ Backport from mainline:
++ 2008-02-19 Richard Guenther <rguenther@suse.de>
++
++ PR tree-optimization/34989
++ * gcc.dg/pr34989-1.c: New testcase.
++ * gcc.dg/pr34989-2.c: Likewise.
++
++2008-03-14 Uros Bizjak <ubizjak@gmail.com>
++
++ PR target/34000
++ PR target/35553
++ * g++.dg/other/i386-3.C: New test.
++ * gcc.target/i386/sse-13.c: Redefine extern instead of static.
++ * gcc.target/i386/sse-14.c: Ditto.
++ * gcc.target/i386/mmx-1.c: Ditto.
++ * gcc.target/i386/mmx-2.c: Ditto.
++ * gcc.target/i386/3dnow-1.c: Ditto.
++ * gcc.target/i386/3dnow-2.c: Ditto.
++ * gcc.target/i386/3dnowA-1.c: Ditto.
++ * gcc.target/i386/3dnowA-2.c: Ditto.
++
++2008-03-14 Paul Thomas <pault@gcc.gnu.org>
++
++ PR fortran/35474
++ * gfortran.dg/module_commons_2.f90 : New test.
++
++2008-03-12 Uros Bizjak <ubizjak@gmail.com>
++
++ PR target/35540
++ * gcc.target/i386/pr35540.c: New test.
++
++2008-03-11 Uros Bizjak <ubizjak@gmail.com>
++
++ * g++.dg/inherit/override-attribs.C: Require ilp32 x86 target.
++
++2008-03-11 Uros Bizjak <ubizjak@gmail.com>
++
++ PR middle-end/35526
++ * g++.dg/torture/pr35526.C: New test.
++
++2008-03-10 Jakub Jelinek <jakub@redhat.com>
++
++ PR c++/35328
++ * g++.dg/gomp/pr35328.C: New test.
++
++ PR c++/35337
++ * g++.dg/gomp/pr35337.C: New test.
++
++ PR c/35438
++ PR c/35439
++ * gcc.dg/gomp/pr35438.c: New test.
++ * gcc.dg/gomp/pr35439.c: New test.
++
++ PR middle-end/35099
++ * g++.dg/gomp/pr35099.C: New test.
++
++2008-03-10 Uros Bizjak <ubizjak@gmail.com>
++
++ Backport from mainline:
++ 2008-03-04 Uros Bizjak <ubizjak@gmail.com>
++
++ PR middle-end/35456
++ * gcc.c-torture/execute/pr35456.c: New test.
++
++2008-03-09 Eric Botcazou <ebotcazou@adacore.com>
++
++ * gnat.dg/frame_overflow.adb: Improve portability.
++
++2008-03-08 H.J. Lu <hongjiu.lu@intel.com>
++
++ Backport from mainline:
++ 2008-03-08 H.J. Lu <hongjiu.lu@intel.com>
++
++ PR target/35350
++ * gcc.target/i386/isa-1.c: Add -march=x86-64.
++ * gcc.target/i386/isa-2.c: Likewise.
++ * gcc.target/i386/isa-3.c: Likewise.
++ * gcc.target/i386/isa-10.c: Likewise.
++ * gcc.target/i386/isa-11.c: Likewise.
++ * gcc.target/i386/isa-12.c: Likewise.
++ * gcc.target/i386/isa-13.c: Likewise.
++ * gcc.target/i386/isa-14.c: Likewise.
++
++2008-03-07 Richard Guenther <rguenther@suse.de>
++
++ Backport from mainline:
++ 2008-03-05 Richard Guenther <rguenther@suse.de>
++
++ PR tree-optimization/35472
++ * gcc.c-torture/execute/pr35472.c: New testcase.
++
++2008-03-06 H.J. Lu <hongjiu.lu@intel.com>
++
++ Backport from mainline:
++ 2008-02-18 H.J. Lu <hongjiu.lu@intel.com>
++
++ PR target/35189
++ * gcc.target/i386/isa-1.c: New.
++ * gcc.target/i386/isa-2.c: Likewise.
++ * gcc.target/i386/isa-3.c: Likewise.
++ * gcc.target/i386/isa-4.c: Likewise.
++ * gcc.target/i386/isa-5.c: Likewise.
++ * gcc.target/i386/isa-6.c: Likewise.
++ * gcc.target/i386/isa-7.c: Likewise.
++ * gcc.target/i386/isa-8.c: Likewise.
++ * gcc.target/i386/isa-9.c: Likewise.
++ * gcc.target/i386/isa-10.c: Likewise.
++ * gcc.target/i386/isa-11.c: Likewise.
++ * gcc.target/i386/isa-12.c: Likewise.
++ * gcc.target/i386/isa-13.c: Likewise.
++ * gcc.target/i386/isa-14.c: Likewise.
++
++2008-03-06 Jakub Jelinek <jakub@redhat.com>
++
++ PR c++/35028
++ * g++.dg/gomp/pr35028.C: New test.
++
++ PR c++/34964
++ PR c++/35244
++ * gcc.dg/gomp/pr34964.c: New test.
++ * g++.dg/gomp/pr34964.C: New test.
++ * gcc.dg/gomp/pr35244.c: New test.
++ * g++.dg/gomp/pr35244.C: New test.
++
++ PR c++/35078
++ * g++.dg/gomp/pr35078.C: New test.
++
++2008-03-06 Daniel Jacobowitz <dan@codesourcery.com>
++
++ * gcc.c-torture/execute/20080222-1.c: New test.
++
++2008-03-06 Paolo Carlini <pcarlini@suse.de>
++
++ PR c++/35323
++ * g++.dg/lookup/crash7.C: New.
++
++2008-03-06 Paolo Carlini <pcarlini@suse.de>
++
++ PR c++/35333
++ * g++.dg/other/error26.C: New.
++
++2008-03-06 Paolo Carlini <pcarlini@suse.de>
++
++ PR c++/35338
++ * g++.dg/other/error25.C: New.
++
+ 2008-03-05 Release Manager
+
+ * GCC 4.3.0 released.
+Index: gcc/testsuite/g++.dg/other/i386-3.C
+===================================================================
+--- gcc/testsuite/g++.dg/other/i386-3.C (.../tags/gcc_4_3_0_release) (revision 0)
++++ gcc/testsuite/g++.dg/other/i386-3.C (.../branches/gcc-4_3-branch) (revision 133808)
+@@ -0,0 +1,8 @@
++/* Test that {,x,e,p,t,s,a,b}mmintrin.h, mm3dnow.h and mm_malloc.h are
++ usable with -O -fkeep-inline-functions. */
++/* { dg-do compile { target i?86-*-* x86_64-*-* } } */
++/* { dg-options "-O -fkeep-inline-functions -march=k8 -m3dnow -msse4 -msse5" } */
++
++#include <bmmintrin.h>
++#include <smmintrin.h>
++#include <mm3dnow.h>
+Index: gcc/testsuite/g++.dg/other/error25.C
+===================================================================
+--- gcc/testsuite/g++.dg/other/error25.C (.../tags/gcc_4_3_0_release) (revision 0)
++++ gcc/testsuite/g++.dg/other/error25.C (.../branches/gcc-4_3-branch) (revision 133808)
+@@ -0,0 +1,5 @@
++// PR c++/35338
++// { dg-options "" }
++
++int i = 0r; // { dg-error "unnamed-fixed" }
++bool b = !0r; // { dg-error "0.0|argument" }
+Index: gcc/testsuite/g++.dg/other/anon5.C
+===================================================================
+--- gcc/testsuite/g++.dg/other/anon5.C (.../tags/gcc_4_3_0_release) (revision 133808)
++++ gcc/testsuite/g++.dg/other/anon5.C (.../branches/gcc-4_3-branch) (revision 133808)
+@@ -4,7 +4,7 @@
+ // problem is that mips*-elf tests run from KSEG0 (which is in the upper
+ // half of the address range), and the linker compares sign-extended
+ // addresses from .debug_aranges with unextended addresses.
+-// { dg-do link { target { ! mips*-*-elf* } } }
++// { dg-do link { target { ! { hppa*-*-hpux* mips*-*-elf* } } } }
+ // { dg-options "-g" }
+
+ namespace {
+Index: gcc/testsuite/g++.dg/other/error26.C
+===================================================================
+--- gcc/testsuite/g++.dg/other/error26.C (.../tags/gcc_4_3_0_release) (revision 0)
++++ gcc/testsuite/g++.dg/other/error26.C (.../branches/gcc-4_3-branch) (revision 133808)
+@@ -0,0 +1,6 @@
++// PR c++/35333
++
++void foo(__complex__ double x)
++{
++ __builtin_conj(x)(); // { dg-error "~x" }
++}
+Index: gcc/testsuite/g++.dg/other/pr35504.C
+===================================================================
+--- gcc/testsuite/g++.dg/other/pr35504.C (.../tags/gcc_4_3_0_release) (revision 0)
++++ gcc/testsuite/g++.dg/other/pr35504.C (.../branches/gcc-4_3-branch) (revision 133808)
+@@ -0,0 +1,147 @@
++// { dg-do run { target { { i?86-*-* x86_64-*-* } && ilp32 } } }
++
++#define ATTR0 __attribute__((__regparm__(0)))
++#define ATTR1 __attribute__((__regparm__(1)))
++#define ATTR2 __attribute__((__regparm__(2)))
++#define ATTR3 __attribute__((__regparm__(3)))
++#define ATTR4 __attribute__((__fastcall__))
++#define ATTR5 __attribute__((__stdcall__))
++#define ATTR6 __attribute__((__cdecl__))
++#define ATTR7
++
++extern "C" void abort (void);
++
++struct long_struct
++{
++ int a[3];
++};
++
++struct long_struct ret;
++
++class c3 *this3;
++
++class c1
++{
++ int val1;
++public:
++ virtual void foo () { }
++};
++
++class c2
++{
++public:
++ virtual ATTR0 struct long_struct method0 ()
++ {
++ return ret;
++ }
++
++ virtual ATTR1 struct long_struct method1 ()
++ {
++ return ret;
++ }
++
++ virtual ATTR2 struct long_struct method2 ()
++ {
++ return ret;
++ }
++
++ virtual ATTR3 struct long_struct method3 ()
++ {
++ return ret;
++ }
++
++ virtual ATTR4 struct long_struct method4 ()
++ {
++ return ret;
++ }
++
++ virtual ATTR5 struct long_struct method5 ()
++ {
++ return ret;
++ }
++
++ virtual ATTR6 struct long_struct method6 ()
++ {
++ return ret;
++ }
++
++ virtual ATTR7 struct long_struct method7 ()
++ {
++ return ret;
++ }
++};
++
++class c3:c1, public c2
++{
++public:
++ c3 ()
++ {
++ this3 = this;
++ }
++
++ struct long_struct check_this (int a)
++ {
++ if (this3 != this)
++ abort ();
++
++ return ret;
++ }
++
++ virtual ATTR0 struct long_struct method0 ()
++ {
++ return check_this (0);
++ }
++
++ virtual ATTR1 struct long_struct method1 ()
++ {
++ return check_this (1);
++ }
++
++ virtual ATTR2 struct long_struct method2 ()
++ {
++ return check_this (2);
++ }
++
++ virtual ATTR3 struct long_struct method3 ()
++ {
++ return check_this (3);
++ }
++
++ virtual ATTR4 struct long_struct method4 ()
++ {
++ return check_this (4);
++ }
++
++ virtual ATTR5 struct long_struct method5 ()
++ {
++ return check_this (5);
++ }
++
++ virtual ATTR6 struct long_struct method6 ()
++ {
++ return check_this (6);
++ }
++
++ virtual ATTR7 struct long_struct method7 ()
++ {
++ return check_this (7);
++ }
++};
++
++class c3 c3_instance;
++class c2 *c2_ptr = &c3_instance;
++
++int
++main ()
++{
++ c2_ptr->method0 ();
++ c2_ptr->method1 ();
++ c2_ptr->method2 ();
++ c2_ptr->method3 ();
++ c2_ptr->method4 ();
++ c2_ptr->method5 ();
++ c2_ptr->method6 ();
++ c2_ptr->method7 ();
++
++ return 0;
++}
+Index: gcc/testsuite/g++.dg/other/error27.C
+===================================================================
+--- gcc/testsuite/g++.dg/other/error27.C (.../tags/gcc_4_3_0_release) (revision 0)
++++ gcc/testsuite/g++.dg/other/error27.C (.../branches/gcc-4_3-branch) (revision 133808)
+@@ -0,0 +1,12 @@
++// PR c++/35332
++// { dg-do compile }
++
++void foo (double x, double y)
++{
++ __builtin_isgreater(x, y)(); // { dg-error "__builtin_\[^\n\]*cannot be used as a function" }
++ __builtin_isless(x, y)(); // { dg-error "__builtin_\[^\n\]*cannot be used as a function" }
++ __builtin_isgreaterequal(x, y)(); // { dg-error "__builtin_\[^\n\]*cannot be used as a function" }
++ __builtin_islessequal(x, y)(); // { dg-error "__builtin_\[^\n\]*cannot be used as a function" }
++ __builtin_isunordered(x, y)(); // { dg-error "__builtin_\[^\n\]*cannot be used as a function" }
++ __builtin_islessgreater(x, y)(); // { dg-error "__builtin_\[^\n\]*cannot be used as a function" }
++}
+Index: gcc/testsuite/g++.dg/ext/attrib33.C
+===================================================================
+--- gcc/testsuite/g++.dg/ext/attrib33.C (.../tags/gcc_4_3_0_release) (revision 0)
++++ gcc/testsuite/g++.dg/ext/attrib33.C (.../branches/gcc-4_3-branch) (revision 133808)
+@@ -0,0 +1,18 @@
++// PR c++/35546
++// { dg-do compile }
++
++template <int N>
++struct T
++{
++ void foo (char const * ...) __attribute__ ((format (printf,2,3)));
++};
++
++template struct T<3>;
++
++template <typename T>
++struct U
++{
++ typedef T __attribute__((mode (SI))) V;
++};
++
++U<int>::V v;
+Index: gcc/testsuite/g++.dg/vect/vect.exp
+===================================================================
+--- gcc/testsuite/g++.dg/vect/vect.exp (.../tags/gcc_4_3_0_release) (revision 133808)
++++ gcc/testsuite/g++.dg/vect/vect.exp (.../branches/gcc-4_3-branch) (revision 133808)
+@@ -45,7 +45,14 @@
+ # Skip these tests for targets that do not support generating vector
+ # code. Set additional target-dependent vector flags, which can be
+ # overridden by using dg-options in individual tests.
+-if [istarget "powerpc*-*-*"] {
++if [istarget "powerpc-*paired*"] {
++ lappend DEFAULT_VECTCFLAGS "-mpaired"
++ if [check_750cl_hw_available] {
++ set dg-do-what-default run
++ } else {
++ set dg-do-what-default compile
++ }
++} elseif [istarget "powerpc*-*-*"] {
+ # Skip targets not supporting -maltivec.
+ if ![is-effective-target powerpc_altivec_ok] {
+ return
+@@ -53,19 +60,23 @@
+
+ lappend DEFAULT_VECTCFLAGS "-maltivec"
+ if [check_vmx_hw_available] {
+- set dg-do-what-default run
++ set dg-do-what-default run
+ } else {
+- if [is-effective-target ilp32] {
+- # Specify a cpu that supports VMX for compile-only tests.
+- lappend DEFAULT_VECTCFLAGS "-mcpu=7400"
+- }
+- set dg-do-what-default compile
++ if [is-effective-target ilp32] {
++ # Specify a cpu that supports VMX for compile-only tests.
++ lappend DEFAULT_VECTCFLAGS "-mcpu=970"
++ }
++ set dg-do-what-default compile
+ }
+ } elseif { [istarget "spu-*-*"] } {
+ set dg-do-what-default run
+ } elseif { [istarget "i?86-*-*"] || [istarget "x86_64-*-*"] } {
+ lappend DEFAULT_VECTCFLAGS "-msse2"
+- set dg-do-what-default run
++ if [check_sse2_hw_available] {
++ set dg-do-what-default run
++ } else {
++ set dg-do-what-default compile
++ }
+ } elseif { [istarget "mips*-*-*"]
+ && [check_effective_target_mpaired_single]
+ && [check_effective_target_nomips16] } {
+@@ -73,21 +84,37 @@
+ set dg-do-what-default run
+ } elseif [istarget "sparc*-*-*"] {
+ lappend DEFAULT_VECTCFLAGS "-mcpu=ultrasparc" "-mvis"
+- set dg-do-what-default run
++ if [check_effective_target_ultrasparc_hw] {
++ set dg-do-what-default run
++ } else {
++ set dg-do-what-default compile
++ }
+ } elseif [istarget "alpha*-*-*"] {
++ # Alpha's vectorization capabilities are extremely limited.
++ # It's more effort than its worth disabling all of the tests
++ # that it cannot pass. But if you actually want to see what
++ # does work, command out the return.
++ return
++
+ lappend DEFAULT_VECTCFLAGS "-mmax"
+ if [check_alpha_max_hw_available] {
+- set dg-do-what-default run
++ set dg-do-what-default run
+ } else {
+- set dg-do-what-default compile
++ set dg-do-what-default compile
+ }
+ } elseif [istarget "ia64-*-*"] {
+ set dg-do-what-default run
++} elseif [is-effective-target arm_neon_ok] {
++ lappend DEFAULT_VECTCFLAGS "-mfpu=neon" "-mfloat-abi=softfp"
++ if [is-effective-target arm_neon_hw] {
++ set dg-do-what-default run
++ } else {
++ set dg-do-what-default compile
++ }
+ } else {
+ return
+ }
+
+-
+ # Initialize `dg'.
+ dg-init
+
+Index: gcc/testsuite/g++.dg/warn/Warray-bounds-3.C
+===================================================================
+--- gcc/testsuite/g++.dg/warn/Warray-bounds-3.C (.../tags/gcc_4_3_0_release) (revision 0)
++++ gcc/testsuite/g++.dg/warn/Warray-bounds-3.C (.../branches/gcc-4_3-branch) (revision 133808)
+@@ -0,0 +1,15 @@
++/* { dg-do compile } */
++/* { dg-options "-O2 -Wall" } */
++
++extern void function(void * x);
++
++struct A {
++ long x;
++ char d[0];
++};
++
++
++void test(A * a) {
++ function((char *)a - 4); /* { dg-bogus "below array bounds" } */
++}
++
+Index: gcc/testsuite/g++.dg/lookup/crash7.C
+===================================================================
+--- gcc/testsuite/g++.dg/lookup/crash7.C (.../tags/gcc_4_3_0_release) (revision 0)
++++ gcc/testsuite/g++.dg/lookup/crash7.C (.../branches/gcc-4_3-branch) (revision 133808)
+@@ -0,0 +1,9 @@
++// PR c++/35323
++// { dg-options "" }
++
++void foo(int);
++
++void bar()
++{
++ foo(1r); // { dg-error "unnamed-fixed" }
++}
+Index: gcc/testsuite/g++.dg/gomp/pr34964.C
+===================================================================
+--- gcc/testsuite/g++.dg/gomp/pr34964.C (.../tags/gcc_4_3_0_release) (revision 0)
++++ gcc/testsuite/g++.dg/gomp/pr34964.C (.../branches/gcc-4_3-branch) (revision 133808)
+@@ -0,0 +1,6 @@
++// PR c++/34964
++// { dg-do compile }
++// { dg-options "-fopenmp" }
++
++char x[] = 0; // { dg-error "initializer fails to determine size" }
++#pragma omp threadprivate (x)
+Index: gcc/testsuite/g++.dg/gomp/pr35328.C
+===================================================================
+--- gcc/testsuite/g++.dg/gomp/pr35328.C (.../tags/gcc_4_3_0_release) (revision 0)
++++ gcc/testsuite/g++.dg/gomp/pr35328.C (.../branches/gcc-4_3-branch) (revision 133808)
+@@ -0,0 +1,31 @@
++// PR c++/35328
++// { dg-do compile }
++// { dg-options "-fopenmp" }
++
++struct A
++{
++ ~A ()(); // { dg-error "declared as function returning a function" }
++};
++struct B
++{
++ B ()(); // { dg-error "declared as function returning a function" }
++};
++struct C
++{
++ C ();
++ C (const C &)(); // { dg-error "declared as function returning a function" }
++};
++
++void
++foo ()
++{
++ A a;
++ B b;
++ C c;
++ #pragma omp parallel firstprivate (a)
++ ;
++ #pragma omp parallel private (b)
++ ;
++ #pragma omp parallel firstprivate (c)
++ ;
++}
+Index: gcc/testsuite/g++.dg/gomp/pr35337.C
+===================================================================
+--- gcc/testsuite/g++.dg/gomp/pr35337.C (.../tags/gcc_4_3_0_release) (revision 0)
++++ gcc/testsuite/g++.dg/gomp/pr35337.C (.../branches/gcc-4_3-branch) (revision 133808)
+@@ -0,0 +1,20 @@
++// PR c++/35337
++// { dg-do compile }
++// { dg-options "-fopenmp" }
++
++struct A { };
++
++void
++foo ()
++{
++#pragma omp parallel firstprivate(A) // { dg-error "struct A\[^\n\]*is not a variable" }
++ ;
++}
++
++void
++bar ()
++{
++#pragma omp for lastprivate(A) // { dg-error "struct A\[^\n\]*is not a variable" }
++ for (int i = 0; i < 10; i++)
++ ;
++}
+Index: gcc/testsuite/g++.dg/gomp/pr35244.C
+===================================================================
+--- gcc/testsuite/g++.dg/gomp/pr35244.C (.../tags/gcc_4_3_0_release) (revision 0)
++++ gcc/testsuite/g++.dg/gomp/pr35244.C (.../branches/gcc-4_3-branch) (revision 133808)
+@@ -0,0 +1,30 @@
++// PR c++/35244
++// { dg-do compile }
++// { dg-require-effective-target tls_native }
++// { dg-options "-fopenmp" }
++
++int v1;
++namespace N1
++{
++ int v2;
++}
++namespace N2
++{
++ int v3;
++}
++using N1::v2;
++using namespace N2;
++struct A;
++typedef int i;
++#pragma omp threadprivate (i) // { dg-error "is not file, namespace or block scope variable" }
++#pragma omp threadprivate (A) // { dg-error "is not file, namespace or block scope variable" }
++#pragma omp threadprivate (v1, v2, v3)
++
++void foo ()
++{
++ static int v4;
++ {
++ static int v5;
++#pragma omp threadprivate (v4, v5)
++ }
++}
+Index: gcc/testsuite/g++.dg/gomp/pr35078.C
+===================================================================
+--- gcc/testsuite/g++.dg/gomp/pr35078.C (.../tags/gcc_4_3_0_release) (revision 0)
++++ gcc/testsuite/g++.dg/gomp/pr35078.C (.../branches/gcc-4_3-branch) (revision 133808)
+@@ -0,0 +1,20 @@
++// PR c++/35078
++// { dg-do compile }
++// { dg-options "-fopenmp" }
++
++template<int> void
++foo ()
++{
++#pragma omp parallel for
++ for (int& i = 0; i < 10; ++i) // { dg-error "invalid type for iteration variable" }
++ ;
++}
++
++void
++bar ()
++{
++ int j = 0;
++#pragma omp parallel for
++ for (int& i = j; i < 10; ++i) // { dg-error "invalid type for iteration variable" }
++ ;
++}
+Index: gcc/testsuite/g++.dg/gomp/pr35099.C
+===================================================================
+--- gcc/testsuite/g++.dg/gomp/pr35099.C (.../tags/gcc_4_3_0_release) (revision 0)
++++ gcc/testsuite/g++.dg/gomp/pr35099.C (.../branches/gcc-4_3-branch) (revision 133808)
+@@ -0,0 +1,39 @@
++// PR middle-end/35099
++// { dg-do compile }
++// { dg-options "-O2 -fopenmp" }
++
++struct A
++{
++ ~A () throw ();
++ void foo ();
++};
++
++struct B
++{
++ B () { A ().foo (); }
++};
++
++void
++bar ()
++{
++#pragma omp parallel
++ {
++ #pragma omp single
++ B ();
++ #pragma omp for
++ for (int i = 0; i < 2; ++i)
++ B ();
++ }
++}
++
++void
++baz ()
++{
++#pragma omp parallel
++ {
++ #pragma omp single
++ B ();
++ #pragma omp single
++ B ();
++ }
++}
+Index: gcc/testsuite/g++.dg/gomp/pr35028.C
+===================================================================
+--- gcc/testsuite/g++.dg/gomp/pr35028.C (.../tags/gcc_4_3_0_release) (revision 0)
++++ gcc/testsuite/g++.dg/gomp/pr35028.C (.../branches/gcc-4_3-branch) (revision 133808)
+@@ -0,0 +1,19 @@
++// PR c++/35028
++// { dg-do compile }
++// { dg-options "-fopenmp" }
++
++struct A
++{
++ A ();
++ A (const A &, ...);
++ ~A ();
++ A operator++ (int);
++};
++
++void
++foo ()
++{
++ A a;
++ #pragma omp parallel firstprivate (a)
++ a++;
++}
+Index: gcc/testsuite/g++.dg/inherit/override-attribs.C
+===================================================================
+--- gcc/testsuite/g++.dg/inherit/override-attribs.C (.../tags/gcc_4_3_0_release) (revision 133808)
++++ gcc/testsuite/g++.dg/inherit/override-attribs.C (.../branches/gcc-4_3-branch) (revision 133808)
+@@ -1,5 +1,7 @@
+ // PR c++/14688
+-// { dg-do compile { target i?86-*-* } }
++// { dg-do compile { target i?86-*-* x86_64-*-* } }
++// { dg-require-effective-target ilp32 }
++
+ class one
+ {
+ public:
+Index: gcc/testsuite/g++.dg/init/ref16.C
+===================================================================
+--- gcc/testsuite/g++.dg/init/ref16.C (.../tags/gcc_4_3_0_release) (revision 0)
++++ gcc/testsuite/g++.dg/init/ref16.C (.../branches/gcc-4_3-branch) (revision 133808)
+@@ -0,0 +1,23 @@
++// PR c++/35548
++// { dg-do run }
++
++int c;
++struct A
++{
++ A() { ++c; }
++ A(const A&) { ++c; }
++ ~A() { --c; }
++};
++
++A f()
++{
++ return A();
++}
++
++int i;
++const A* ap;
++int main()
++{
++ const A& ar = i ? *ap : f();
++ return (c == 0);
++}
+Index: gcc/testsuite/g++.dg/torture/pr35526.C
+===================================================================
+--- gcc/testsuite/g++.dg/torture/pr35526.C (.../tags/gcc_4_3_0_release) (revision 0)
++++ gcc/testsuite/g++.dg/torture/pr35526.C (.../branches/gcc-4_3-branch) (revision 133808)
+@@ -0,0 +1,18 @@
++/* { dg-do compile } */
++
++extern void *memcpy (void *__dest, __const void *__src, __SIZE_TYPE__ __n);
++
++char internal_crash_read_ip[] = { 0xb8 };
++
++struct u_internal_crash_read_t
++{
++ char ip[sizeof (internal_crash_read_ip)];
++}
++u_internal_crash_read;
++
++void
++gSignalHandler (int psignalNr, int pinfo, int pctx)
++{
++ memcpy (u_internal_crash_read.ip, internal_crash_read_ip,
++ sizeof (internal_crash_read_ip));
++}
+Index: gcc/testsuite/lib/target-supports.exp
+===================================================================
+--- gcc/testsuite/lib/target-supports.exp (.../tags/gcc_4_3_0_release) (revision 133808)
++++ gcc/testsuite/lib/target-supports.exp (.../branches/gcc-4_3-branch) (revision 133808)
+@@ -764,6 +764,29 @@
+ }]
+ }
+
++# Return 1 if the target supports executing SSE2 instructions, 0
++# otherwise. Cache the result.
++
++proc check_sse2_hw_available { } {
++ return [check_cached_effective_target sse2_hw_available {
++ # If this is not the right target then we can skip the test.
++ if { !([istarget x86_64-*-*] || [istarget i?86-*-*]) } {
++ expr 0
++ } else {
++ check_runtime_nocache sse2_hw_available {
++ #include "cpuid.h"
++ int main ()
++ {
++ unsigned int eax, ebx, ecx, edx = 0;
++ if (__get_cpuid (1, &eax, &ebx, &ecx, &edx))
++ return !(edx & bit_SSE2);
++ return 1;
++ }
++ } ""
++ }
++ }]
++}
++
+ # Return 1 if the target supports executing AltiVec instructions, 0
+ # otherwise. Cache the result.
+
+Index: gcc/testsuite/gfortran.dg/allocate_zerosize_3.f
+===================================================================
+--- gcc/testsuite/gfortran.dg/allocate_zerosize_3.f (.../tags/gcc_4_3_0_release) (revision 0)
++++ gcc/testsuite/gfortran.dg/allocate_zerosize_3.f (.../branches/gcc-4_3-branch) (revision 133808)
+@@ -0,0 +1,40 @@
++C { dg-do run }
++C Test the fix for PR35698, in which the negative size dimension would
++C throw out the subsequent bounds.
++C
++C Contributed by Dick Hendrickson <dick.hendrickson@gmail.com>
++C
++ program try_lf0030
++ call LF0030(10)
++ end
++
++ SUBROUTINE LF0030(nf10)
++ INTEGER ILA1(7)
++ INTEGER ILA2(7)
++ LOGICAL LLA(:,:,:,:,:,:,:)
++ INTEGER ICA(7)
++ ALLOCATABLE LLA
++
++
++ ALLOCATE (LLA(2:3, 4, 0:5,
++ $ NF10:1, -2:7, -3:8,
++ $ -4:9))
++
++ ILA1 = LBOUND(LLA)
++ ILA2 = UBOUND(LLA)
++C CORRECT FOR THE ZERO DIMENSIONED TERM TO ALLOW AN EASIER VERIFY
++ ILA1(4) = ILA1(4) - 2 ! 1 - 2 = -1
++ ILA2(4) = ILA2(4) + 6 ! 0 + 6 = 6
++
++ DO J1 = 1,7
++ IVAL = 3-J1
++ IF (ILA1(J1) .NE. IVAL) call abort ()
++ 100 ENDDO
++
++ DO J1 = 1,7
++ IVAL = 2+J1
++ IF (ILA2(J1) .NE. IVAL) call abort ()
++ 101 ENDDO
++
++ END SUBROUTINE
++
+\ No newline at end of file
+Index: gcc/testsuite/gfortran.dg/null_3.f90
+===================================================================
+--- gcc/testsuite/gfortran.dg/null_3.f90 (.../tags/gcc_4_3_0_release) (revision 0)
++++ gcc/testsuite/gfortran.dg/null_3.f90 (.../branches/gcc-4_3-branch) (revision 133808)
+@@ -0,0 +1,18 @@
++! { dg-do compile }
++! This checks the fix for PR34813 in which the error at line 17
++! was not detected.
++!
++! Contributed by Daniel Franke <dfranke@gcc.gnu.org>
++!
++SUBROUTINE kd_tree_init_default()
++ TYPE :: kd_tree_node
++ INTEGER :: dummy
++ END TYPE
++
++ TYPE :: kd_tree
++ TYPE(kd_tree_node) :: root
++ END TYPE
++
++ TYPE(kd_tree) :: tree
++ tree = kd_tree(null()) ! { dg-error "neither a POINTER nor ALLOCATABLE" }
++END SUBROUTINE
+Index: gcc/testsuite/gfortran.dg/character_assign_1.f90
+===================================================================
+--- gcc/testsuite/gfortran.dg/character_assign_1.f90 (.../tags/gcc_4_3_0_release) (revision 0)
++++ gcc/testsuite/gfortran.dg/character_assign_1.f90 (.../branches/gcc-4_3-branch) (revision 133808)
+@@ -0,0 +1,17 @@
++! { dg-do compile }
++! Tests the fix for PR35702, which caused an ICE because the types in the assignment
++! were not translated to be the same.
++!
++! Contributed by Dick Hendrickson <dick.hendrickson@gmail.com>
++!
++MODULE TESTS
++ TYPE UNSEQ
++ CHARACTER(1) :: C
++ END TYPE UNSEQ
++CONTAINS
++ SUBROUTINE CG0028 (TDA1L, TDA1R, nf0, nf1, nf2, nf3)
++ TYPE(UNSEQ) TDA1L(NF3)
++ TDA1L(NF1:NF2:NF1)%C = TDA1L(NF0+2:NF3:NF2/2)%C
++ END SUBROUTINE
++END MODULE TESTS
++! { dg-final { cleanup-modules "tests" } }
+Index: gcc/testsuite/gfortran.dg/cshift_shift_real_2.f90
+===================================================================
+--- gcc/testsuite/gfortran.dg/cshift_shift_real_2.f90 (.../tags/gcc_4_3_0_release) (revision 0)
++++ gcc/testsuite/gfortran.dg/cshift_shift_real_2.f90 (.../branches/gcc-4_3-branch) (revision 133808)
+@@ -0,0 +1,8 @@
++! { dg-do compile }
++! PR35724 Compile time segmentation fault for CSHIFT with negative third arg
++ SUBROUTINE RA0072(DDA,LDA,nf10,nf1,mf1,nf2)
++ REAL DDA(10,10)
++ LOGICAL LDA(10,10)
++ WHERE (LDA) DDA = CSHIFT(DDA,1,-MF1) ! MF1 works, -1 works
++ END SUBROUTINE
++
+Index: gcc/testsuite/gfortran.dg/namelist_45.f90
+===================================================================
+--- gcc/testsuite/gfortran.dg/namelist_45.f90 (.../tags/gcc_4_3_0_release) (revision 0)
++++ gcc/testsuite/gfortran.dg/namelist_45.f90 (.../branches/gcc-4_3-branch) (revision 133808)
+@@ -0,0 +1,18 @@
++! { dg-do run }
++! PR35617 read namelist error with '!'
++program test
++ character(len=128) :: mhdpath
++ namelist /nbdrive_naml/ mhdpath
++ open(10, file='test.nml')
++
++ write(10,'(a)') "&nbdrive_naml"
++ write(10,'(a)')
++ write(10,'(a)') "!nstep_stop = 2 ! uncomment to bar"
++ write(10,'(a)') "!nstep_start = 2 ! uncomment to foo"
++ write(10,'(a)') " mhdpath = 'mypath.dat'"
++ write(10,'(a)') "/"
++
++ rewind(10)
++ read(10, nbdrive_naml)
++ close(10,status="delete")
++end program test
+Index: gcc/testsuite/gfortran.dg/namelist_46.f90
+===================================================================
+--- gcc/testsuite/gfortran.dg/namelist_46.f90 (.../tags/gcc_4_3_0_release) (revision 0)
++++ gcc/testsuite/gfortran.dg/namelist_46.f90 (.../branches/gcc-4_3-branch) (revision 133808)
+@@ -0,0 +1,23 @@
++! { dg-do run }
++! PR35627 Namelist read problem with short logical followed by read real
++program test
++ implicit none
++ LOGICAL :: nlco(200) ! (1:nbeam)
++ REAL(kind=8):: xlbtna(200) ! (1:nbeam)
++ NAMELIST/nbdrive_naml/ nlco, xlbtna
++ INTEGER :: nbshapa(200) ! (1:nbeam)
++ NAMELIST/nbdrive_naml/ nbshapa
++ nlco = .false.
++ xlbtna = 0.0_8
++ nbshapa = 0
++ open(10, file='t.nml')
++ write(10,'(a)') "&nbdrive_naml"
++ write(10,'(a)') "nlco = 4*T,"
++ write(10,'(a)') "xlbtna = 802.8, 802.8, 802.8, 802.8"
++ write(10,'(a)') "nbshapa = 4*1"
++ write(10,'(a)') "/"
++ rewind(10)
++ read(10, nbdrive_naml)
++ !write(*,nbdrive_naml)
++ close(10, status="delete")
++end program test
+Index: gcc/testsuite/gfortran.dg/module_commons_2.f90
+===================================================================
+--- gcc/testsuite/gfortran.dg/module_commons_2.f90 (.../tags/gcc_4_3_0_release) (revision 0)
++++ gcc/testsuite/gfortran.dg/module_commons_2.f90 (.../branches/gcc-4_3-branch) (revision 133808)
+@@ -0,0 +1,21 @@
++! { dg-do compile }
++! Tests the fix for PR35474, in which the PRIVATE statement would
++! cause the error Internal Error at (1): free_pi_tree(): Unresolved fixup
++! This arose because the symbol for 'i' emanating from the COMMON was
++! not being fixed-up as the EQUIVALENCE was built.
++!
++! Contributed by FX Coudert <fxcoudert@gcc.gnu.org>
++!
++module h5global
++ integer i
++ integer j
++ common /c/ i
++ equivalence (i, j)
++ private
++end module h5global
++
++program bug
++ use h5global
++end
++
++! { dg-final { cleanup-modules "h5global" } }
+Index: gcc/testsuite/gfortran.dg/transpose_conjg_1.f90
+===================================================================
+--- gcc/testsuite/gfortran.dg/transpose_conjg_1.f90 (.../tags/gcc_4_3_0_release) (revision 0)
++++ gcc/testsuite/gfortran.dg/transpose_conjg_1.f90 (.../branches/gcc-4_3-branch) (revision 133808)
+@@ -0,0 +1,37 @@
++! { dg-do run }
++! Tests the fix for PR35740, where the trick of interchanging the descriptor
++! dimensions to implement TRANSPOSE did not work if it is an argument of
++! an elemental function - eg. CONJG. The fix forces a library call for such
++! cases. During the diagnosis of the PR, it was found that the scalarizer was
++! completely thrown if the argument of TRANSPOSE was a non-variable
++! expression; eg a + c below. This is also fixed by the library call.
++!
++! Contributed by Dominik Muth <dominik.muth@gmx.de>
++!
++program main
++ implicit none
++ complex, dimension(2,2) :: a,b,c,d
++ a(1,1) = (1.,1.)
++ a(2,1) = (2.,2.)
++ a(1,2) = (3.,3.)
++ a(2,2) = (4.,4.)
++!
++ b = a
++ b = conjg(transpose(b))
++ d = a
++ d = transpose(conjg(d))
++ if (any (b /= d)) call abort ()
++!
++ d = matmul (b, a )
++ if (any (d /= matmul (transpose(conjg(a)), a))) call abort ()
++ if (any (d /= matmul (conjg(transpose(a)), a))) call abort ()
++!
++ c = (0.0,1.0)
++ b = conjg(transpose(a + c))
++ d = transpose(conjg(a + c))
++ if (any (b /= d)) call abort ()
++!
++ d = matmul (b, a + c)
++ if (any (d /= matmul (transpose(conjg(a + c)), a + c))) call abort ()
++ if (any (d /= matmul (conjg(transpose(a + c)), a + c))) call abort ()
++ END program main
+Index: gcc/testsuite/gfortran.dg/direct_io_10.f
+===================================================================
+--- gcc/testsuite/gfortran.dg/direct_io_10.f (.../tags/gcc_4_3_0_release) (revision 0)
++++ gcc/testsuite/gfortran.dg/direct_io_10.f (.../branches/gcc-4_3-branch) (revision 133808)
+@@ -0,0 +1,46 @@
++! { dg-do run }
++! pr35699 run-time abort writing zero sized section to direct access file
++ program directio
++ call qi0010 ( 10, 1, 2, 3, 4, 9, 2)
++ end
++
++ subroutine qi0010 (nf10, nf1, nf2, nf3, nf4,nf9, np2)
++ character(10) bda(nf10)
++ character(10) bda1(nf10), bval
++
++ integer j_len
++ bda1(1) = 'x'
++ do i = 2,10
++ bda1(i) = 'x'//bda1(i-1)
++ enddo
++ bda = 'unread'
++
++ inquire(iolength = j_len) bda1(nf1:nf10:nf2), bda1(nf4:nf3),
++ $ bda1(nf2:nf10:nf2)
++
++ open (unit=48,
++ $ access='direct',
++ $ status='scratch',
++ $ recl = j_len,
++ $ iostat = istat,
++ $ form='unformatted',
++ $ action='readwrite')
++
++ write (48,iostat = istat, rec = 3) bda1(nf1:nf10:nf2),
++ $ bda1(nf4:nf3), bda1(nf2:nf10:nf2)
++ if ( istat .ne. 0) then
++ call abort
++ endif
++ istat = -314
++
++ read (48,iostat = istat, rec = np2+1) bda(nf1:nf9:nf2),
++ $ bda(nf4:nf3), bda(nf2:nf10:nf2)
++ if ( istat .ne. 0) then
++ call abort
++ endif
++
++ do j1 = 1,10
++ bval = bda1(j1)
++ if (bda(j1) .ne. bval) call abort
++ enddo
++ end subroutine
+Index: gcc/testsuite/gfortran.dg/module_function_type_1.f90
+===================================================================
+--- gcc/testsuite/gfortran.dg/module_function_type_1.f90 (.../tags/gcc_4_3_0_release) (revision 0)
++++ gcc/testsuite/gfortran.dg/module_function_type_1.f90 (.../branches/gcc-4_3-branch) (revision 133808)
+@@ -0,0 +1,33 @@
++! { dg-do compile }
++! This checks the fix for PR33295 in which the A_type in initA was
++! not promoted to module level and so not recognised as being the
++! same as that emanating directly from module a.
++!
++! Contributed by Janus Weil <jaydub66@gmail.com>
++!
++module A
++ type A_type
++ real comp
++ end type
++end module A
++
++module B
++contains
++ function initA()
++ use A
++ implicit none
++ type(A_type):: initA
++ initA%comp=1.0
++ end function
++end module B
++
++program C
++ use B
++ use A
++ implicit none
++ type(A_type):: A_var
++ A_var = initA()
++end program C
++
++! { dg-final { cleanup-modules "A B" } }
++
+Index: gcc/testsuite/gfortran.dg/vect/vect.exp
+===================================================================
+--- gcc/testsuite/gfortran.dg/vect/vect.exp (.../tags/gcc_4_3_0_release) (revision 133808)
++++ gcc/testsuite/gfortran.dg/vect/vect.exp (.../branches/gcc-4_3-branch) (revision 133808)
+@@ -38,8 +38,18 @@
+ # Skip these tests for targets that do not support generating vector
+ # code. Set additional target-dependent vector flags, which can be
+ # overridden by using dg-options in individual tests.
+-if [istarget "powerpc*-*-*"] {
+- # If there are powerpc targets to skip, do it here.
++if [istarget "powerpc-*paired*"] {
++ lappend DEFAULT_VECTCFLAGS "-mpaired"
++ if [check_750cl_hw_available] {
++ set dg-do-what-default run
++ } else {
++ set dg-do-what-default compile
++ }
++} elseif [istarget "powerpc*-*-*"] {
++ # Skip targets not supporting -maltivec.
++ if ![is-effective-target powerpc_altivec_ok] {
++ return
++ }
+
+ lappend DEFAULT_VECTCFLAGS "-maltivec"
+ if [check_vmx_hw_available] {
+@@ -47,20 +57,38 @@
+ } else {
+ if [is-effective-target ilp32] {
+ # Specify a cpu that supports VMX for compile-only tests.
+- lappend DEFAULT_VECTCFLAGS "-mcpu=7400"
++ lappend DEFAULT_VECTCFLAGS "-mcpu=970"
+ }
+ set dg-do-what-default compile
+ }
++} elseif { [istarget "spu-*-*"] } {
++ set dg-do-what-default run
+ } elseif { [istarget "i?86-*-*"] || [istarget "x86_64-*-*"] } {
+ lappend DEFAULT_VECTCFLAGS "-msse2"
+- set dg-do-what-default run
+-} elseif [istarget "mipsisa64*-*-*"] {
++ if [check_sse2_hw_available] {
++ set dg-do-what-default run
++ } else {
++ set dg-do-what-default compile
++ }
++} elseif { [istarget "mips*-*-*"]
++ && [check_effective_target_mpaired_single]
++ && [check_effective_target_nomips16] } {
+ lappend DEFAULT_VECTCFLAGS "-mpaired-single"
+ set dg-do-what-default run
+ } elseif [istarget "sparc*-*-*"] {
+ lappend DEFAULT_VECTCFLAGS "-mcpu=ultrasparc" "-mvis"
+- set dg-do-what-default run
++ if [check_effective_target_ultrasparc_hw] {
++ set dg-do-what-default run
++ } else {
++ set dg-do-what-default compile
++ }
+ } elseif [istarget "alpha*-*-*"] {
++ # Alpha's vectorization capabilities are extremely limited.
++ # It's more effort than its worth disabling all of the tests
++ # that it cannot pass. But if you actually want to see what
++ # does work, command out the return.
++ return
++
+ lappend DEFAULT_VECTCFLAGS "-mmax"
+ if [check_alpha_max_hw_available] {
+ set dg-do-what-default run
+@@ -69,23 +97,17 @@
+ }
+ } elseif [istarget "ia64-*-*"] {
+ set dg-do-what-default run
++} elseif [is-effective-target arm_neon_ok] {
++ lappend DEFAULT_VECTCFLAGS "-mfpu=neon" "-mfloat-abi=softfp"
++ if [is-effective-target arm_neon_hw] {
++ set dg-do-what-default run
++ } else {
++ set dg-do-what-default compile
++ }
+ } else {
+ return
+ }
+
+-# Return 1 if the effective target is LP64 or if the effective target
+-# does not support a vector alignment mechanism.
+-
+-proc check_effective_target_lp64_or_vect_no_align { } {
+- if { [is-effective-target lp64]
+- || [is-effective-target vect_no_align] } {
+- set answer 1
+- } else {
+- set answer 0
+- }
+- return $answer
+-}
+-
+ # Initialize `dg'.
+ dg-init
+
+Index: gcc/cp/typeck.c
+===================================================================
+--- gcc/cp/typeck.c (.../tags/gcc_4_3_0_release) (revision 133808)
++++ gcc/cp/typeck.c (.../branches/gcc-4_3-branch) (revision 133808)
+@@ -962,6 +962,8 @@
+ if (TREE_CODE (t1) != ARRAY_TYPE
+ && TYPE_QUALS (t1) != TYPE_QUALS (t2))
+ return false;
++ if (TYPE_FOR_JAVA (t1) != TYPE_FOR_JAVA (t2))
++ return false;
+
+ /* Allow for two different type nodes which have essentially the same
+ definition. Note that we already checked for equality of the type
+@@ -971,9 +973,6 @@
+ && TYPE_MAIN_VARIANT (t1) == TYPE_MAIN_VARIANT (t2))
+ return true;
+
+- if (TYPE_FOR_JAVA (t1) != TYPE_FOR_JAVA (t2))
+- return false;
+-
+ /* Compare the types. Break out if they could be the same. */
+ switch (TREE_CODE (t1))
+ {
+Index: gcc/cp/decl.c
+===================================================================
+--- gcc/cp/decl.c (.../tags/gcc_4_3_0_release) (revision 133808)
++++ gcc/cp/decl.c (.../branches/gcc-4_3-branch) (revision 133808)
+@@ -3164,19 +3164,10 @@
+ tree type, decl;
+ if (size > 0)
+ type = make_signed_type (size);
+- else if (size == -1)
+- { /* "__java_boolean". */
+- if ((TYPE_MODE (boolean_type_node)
+- == smallest_mode_for_size (1, MODE_INT)))
+- type = build_variant_type_copy (boolean_type_node);
+- else
+- /* ppc-darwin has SImode bool, make jboolean a 1-bit
+- integer type without boolean semantics there. */
+- type = make_unsigned_type (1);
+- }
+ else if (size > -32)
+- { /* "__java_char". */
++ { /* "__java_char" or ""__java_boolean". */
+ type = make_unsigned_type (-size);
++ /*if (size == -1) TREE_SET_CODE (type, BOOLEAN_TYPE);*/
+ }
+ else
+ { /* "__java_float" or ""__java_double". */
+Index: gcc/cp/call.c
+===================================================================
+--- gcc/cp/call.c (.../tags/gcc_4_3_0_release) (revision 133808)
++++ gcc/cp/call.c (.../branches/gcc-4_3-branch) (revision 133808)
+@@ -1145,7 +1145,8 @@
+ const and rvalue references to rvalues of compatible class type. */
+ if (compatible_p
+ && (lvalue_p
+- || ((CP_TYPE_CONST_NON_VOLATILE_P(to) || TYPE_REF_IS_RVALUE (rto))
++ || (!(flags & LOOKUP_NO_TEMP_BIND)
++ && (CP_TYPE_CONST_NON_VOLATILE_P(to) || TYPE_REF_IS_RVALUE (rto))
+ && CLASS_TYPE_P (from))))
+ {
+ /* [dcl.init.ref]
+Index: gcc/cp/error.c
+===================================================================
+--- gcc/cp/error.c (.../tags/gcc_4_3_0_release) (revision 133808)
++++ gcc/cp/error.c (.../branches/gcc-4_3-branch) (revision 133808)
+@@ -326,6 +326,7 @@
+ case BOOLEAN_TYPE:
+ case COMPLEX_TYPE:
+ case VECTOR_TYPE:
++ case FIXED_POINT_TYPE:
+ pp_type_specifier_seq (cxx_pp, t);
+ break;
+
+@@ -2079,7 +2080,17 @@
+ case VEC_DELETE_EXPR:
+ case MODOP_EXPR:
+ case ABS_EXPR:
++ case CONJ_EXPR:
+ case VECTOR_CST:
++ case FIXED_CST:
++ case UNORDERED_EXPR:
++ case ORDERED_EXPR:
++ case UNLT_EXPR:
++ case UNLE_EXPR:
++ case UNGT_EXPR:
++ case UNGE_EXPR:
++ case UNEQ_EXPR:
++ case LTGT_EXPR:
+ pp_expression (cxx_pp, t);
+ break;
+
+Index: gcc/cp/ChangeLog
+===================================================================
+--- gcc/cp/ChangeLog (.../tags/gcc_4_3_0_release) (revision 133808)
++++ gcc/cp/ChangeLog (.../branches/gcc-4_3-branch) (revision 133808)
+@@ -1,3 +1,79 @@
++2008-03-26 Jakub Jelinek <jakub@redhat.com>
++
++ PR c++/35546
++ * pt.c (apply_late_template_attributes): Don't call tsubst on
++ first attribute argument if it is IDENTIFIER_NODE.
++
++ PR c++/35332
++ * error.c (dump_expr): Pass {,UN}ORDERED_EXPR, UN{LT,LE,GT,GE,EQ}_EXPR
++ and LTGT_EXPR to pp_expression.
++
++2008-03-17 Jason Merrill <jason@redhat.com>
++
++ PR c++/35548
++ * call.c (reference_binding): Check LOOKUP_NO_TEMP_BIND when binding
++ a temp directly to a reference as per DR391.
++
++2008-03-12 Richard Guenther <rguenther@suse.de>
++
++ PR c++/35469
++ Revert:
++ 2008-02-04 Richard Guenther <rguenther@suse.de>
++
++ PR java/35035
++ * decl.c (record_builtin_java_type): Make jboolean a
++ integer type again where its mode doesn't match that of bool.
++
++ 2008-01-25 Richard Guenther <rguenther@suse.de>
++
++ PR c++/33887
++ * decl.c (record_builtin_java_type): Make __java_boolean
++ a variant of bool.
++ * typeck.c (structural_comptypes): Move TYPE_FOR_JAVA check
++ after TYPE_MAIN_VARIANT check.
++
++2008-03-10 Jakub Jelinek <jakub@redhat.com>
++
++ PR c++/35328
++ * semantics.c (finish_omp_clauses): Look through NOP_EXPR even
++ if errorcount.
++
++ PR c++/35337
++ * semantics.c (finish_omp_clauses): Use %qD instead of %qE for
++ DECL_P in not a variable and appears more than once error messages.
++
++2008-03-06 Jakub Jelinek <jakub@redhat.com>
++
++ PR c++/35028
++ * cp-gimplify.c (cxx_omp_clause_apply_fn): Handle vararg copy ctors.
++
++ PR c++/34964
++ PR c++/35244
++ * semantics.c (finish_omp_threadprivate): Do nothing for error_operand_p
++ vars. Afterwards ensure v is VAR_DECL.
++
++ PR c++/35078
++ * parser.c (cp_parser_omp_for_loop): If DECL has REFERENCE_TYPE, don't
++ call cp_finish_decl.
++ * semantics.c (finish_omp_for): Fail if DECL doesn't have integral type
++ early.
++
++2008-03-06 Paolo Carlini <pcarlini@suse.de>
++
++ PR c++/35323
++ * name-lookup.c (arg_assoc_type): Handle FIXED_POINT_TYPE.
++
++2008-03-06 Paolo Carlini <pcarlini@suse.de>
++
++ PR c++/35333
++ * error.c (dump_expr): Handle CONJ_EXPR.
++
++2008-03-06 Paolo Carlini <pcarlini@suse.de>
++
++ PR c++/35338
++ * error.c (dump_type): Handle FIXED_POINT_TYPE.
++ (dump_expr): Handle FIXED_CST.
++
+ 2008-03-05 Release Manager
+
+ * GCC 4.3.0 released.
+Index: gcc/cp/cp-gimplify.c
+===================================================================
+--- gcc/cp/cp-gimplify.c (.../tags/gcc_4_3_0_release) (revision 133808)
++++ gcc/cp/cp-gimplify.c (.../branches/gcc-4_3-branch) (revision 133808)
+@@ -844,7 +844,8 @@
+ if (arg2)
+ argarray[i++] = p2;
+ /* Handle default arguments. */
+- for (parm = defparm; parm != void_list_node; parm = TREE_CHAIN (parm), i++)
++ for (parm = defparm; parm && parm != void_list_node;
++ parm = TREE_CHAIN (parm), i++)
+ argarray[i] = convert_default_arg (TREE_VALUE (parm),
+ TREE_PURPOSE (parm), fn, i);
+ t = build_call_a (fn, i, argarray);
+@@ -875,7 +876,7 @@
+ if (arg2)
+ argarray[i++] = build_fold_addr_expr (arg2);
+ /* Handle default arguments. */
+- for (parm = defparm; parm != void_list_node;
++ for (parm = defparm; parm && parm != void_list_node;
+ parm = TREE_CHAIN (parm), i++)
+ argarray[i] = convert_default_arg (TREE_VALUE (parm),
+ TREE_PURPOSE (parm),
+Index: gcc/cp/pt.c
+===================================================================
+--- gcc/cp/pt.c (.../tags/gcc_4_3_0_release) (revision 133808)
++++ gcc/cp/pt.c (.../branches/gcc-4_3-branch) (revision 133808)
+@@ -6717,9 +6717,29 @@
+ {
+ *p = TREE_CHAIN (t);
+ TREE_CHAIN (t) = NULL_TREE;
+- TREE_VALUE (t)
+- = tsubst_expr (TREE_VALUE (t), args, complain, in_decl,
+- /*integral_constant_expression_p=*/false);
++ /* If the first attribute argument is an identifier, don't
++ pass it through tsubst. Attributes like mode, format,
++ cleanup and several target specific attributes expect it
++ unmodified. */
++ if (TREE_VALUE (t)
++ && TREE_CODE (TREE_VALUE (t)) == TREE_LIST
++ && TREE_VALUE (TREE_VALUE (t))
++ && (TREE_CODE (TREE_VALUE (TREE_VALUE (t)))
++ == IDENTIFIER_NODE))
++ {
++ tree chain
++ = tsubst_expr (TREE_CHAIN (TREE_VALUE (t)), args, complain,
++ in_decl,
++ /*integral_constant_expression_p=*/false);
++ if (chain != TREE_CHAIN (TREE_VALUE (t)))
++ TREE_VALUE (t)
++ = tree_cons (NULL_TREE, TREE_VALUE (TREE_VALUE (t)),
++ chain);
++ }
++ else
++ TREE_VALUE (t)
++ = tsubst_expr (TREE_VALUE (t), args, complain, in_decl,
++ /*integral_constant_expression_p=*/false);
+ *q = t;
+ q = &TREE_CHAIN (t);
+ }
+Index: gcc/cp/semantics.c
+===================================================================
+--- gcc/cp/semantics.c (.../tags/gcc_4_3_0_release) (revision 133808)
++++ gcc/cp/semantics.c (.../branches/gcc-4_3-branch) (revision 133808)
+@@ -3400,13 +3400,16 @@
+ {
+ if (processing_template_decl)
+ break;
+- error ("%qE is not a variable in clause %<firstprivate%>", t);
++ if (DECL_P (t))
++ error ("%qD is not a variable in clause %<firstprivate%>", t);
++ else
++ error ("%qE is not a variable in clause %<firstprivate%>", t);
+ remove = true;
+ }
+ else if (bitmap_bit_p (&generic_head, DECL_UID (t))
+ || bitmap_bit_p (&firstprivate_head, DECL_UID (t)))
+ {
+- error ("%qE appears more than once in data clauses", t);
++ error ("%qD appears more than once in data clauses", t);
+ remove = true;
+ }
+ else
+@@ -3419,13 +3422,16 @@
+ {
+ if (processing_template_decl)
+ break;
+- error ("%qE is not a variable in clause %<lastprivate%>", t);
++ if (DECL_P (t))
++ error ("%qD is not a variable in clause %<lastprivate%>", t);
++ else
++ error ("%qE is not a variable in clause %<lastprivate%>", t);
+ remove = true;
+ }
+ else if (bitmap_bit_p (&generic_head, DECL_UID (t))
+ || bitmap_bit_p (&lastprivate_head, DECL_UID (t)))
+ {
+- error ("%qE appears more than once in data clauses", t);
++ error ("%qD appears more than once in data clauses", t);
+ remove = true;
+ }
+ else
+@@ -3661,7 +3667,7 @@
+ complete_ctor_identifier,
+ t, inner_type, LOOKUP_NORMAL);
+
+- if (targetm.cxx.cdtor_returns_this ())
++ if (targetm.cxx.cdtor_returns_this () || errorcount)
+ /* Because constructors and destructors return this,
+ the call will have been cast to "void". Remove the
+ cast here. We would like to use STRIP_NOPS, but it
+@@ -3683,7 +3689,7 @@
+ t = build_special_member_call (t, complete_dtor_identifier,
+ NULL, inner_type, LOOKUP_NORMAL);
+
+- if (targetm.cxx.cdtor_returns_this ())
++ if (targetm.cxx.cdtor_returns_this () || errorcount)
+ /* Because constructors and destructors return this,
+ the call will have been cast to "void". Remove the
+ cast here. We would like to use STRIP_NOPS, but it
+@@ -3742,9 +3748,14 @@
+ {
+ tree v = TREE_PURPOSE (t);
+
++ if (error_operand_p (v))
++ ;
++ else if (TREE_CODE (v) != VAR_DECL)
++ error ("%<threadprivate%> %qD is not file, namespace "
++ "or block scope variable", v);
+ /* If V had already been marked threadprivate, it doesn't matter
+ whether it had been used prior to this point. */
+- if (TREE_USED (v)
++ else if (TREE_USED (v)
+ && (DECL_LANG_SPECIFIC (v) == NULL
+ || !CP_DECL_THREADPRIVATE_P (v)))
+ error ("%qE declared %<threadprivate%> after first use", v);
+@@ -3903,6 +3914,16 @@
+ return NULL;
+ }
+
++ if (!INTEGRAL_TYPE_P (TREE_TYPE (decl)))
++ {
++ location_t elocus = locus;
++
++ if (EXPR_HAS_LOCATION (init))
++ elocus = EXPR_LOCATION (init);
++ error ("%Hinvalid type for iteration variable %qE", &elocus, decl);
++ return NULL;
++ }
++
+ if (pre_body == NULL || IS_EMPTY_STMT (pre_body))
+ pre_body = NULL;
+ else if (! processing_template_decl)
+Index: gcc/cp/name-lookup.c
+===================================================================
+--- gcc/cp/name-lookup.c (.../tags/gcc_4_3_0_release) (revision 133808)
++++ gcc/cp/name-lookup.c (.../branches/gcc-4_3-branch) (revision 133808)
+@@ -1,5 +1,5 @@
+ /* Definitions for C++ name lookup routines.
+- Copyright (C) 2003, 2004, 2005, 2006, 2007
++ Copyright (C) 2003, 2004, 2005, 2006, 2007, 2008
+ Free Software Foundation, Inc.
+ Contributed by Gabriel Dos Reis <gdr@integrable-solutions.net>
+
+@@ -4594,6 +4594,7 @@
+ case COMPLEX_TYPE:
+ case VECTOR_TYPE:
+ case BOOLEAN_TYPE:
++ case FIXED_POINT_TYPE:
+ return false;
+ case RECORD_TYPE:
+ if (TYPE_PTRMEMFUNC_P (type))
+Index: gcc/cp/parser.c
+===================================================================
+--- gcc/cp/parser.c (.../tags/gcc_4_3_0_release) (revision 133808)
++++ gcc/cp/parser.c (.../branches/gcc-4_3-branch) (revision 133808)
+@@ -20074,8 +20074,11 @@
+
+ init = cp_parser_assignment_expression (parser, false);
+
+- cp_finish_decl (decl, NULL_TREE, /*init_const_expr_p=*/false,
+- asm_specification, LOOKUP_ONLYCONVERTING);
++ if (TREE_CODE (TREE_TYPE (decl)) == REFERENCE_TYPE)
++ init = error_mark_node;
++ else
++ cp_finish_decl (decl, NULL_TREE, /*init_const_expr_p=*/false,
++ asm_specification, LOOKUP_ONLYCONVERTING);
+
+ if (pushed_scope)
+ pop_scope (pushed_scope);
+Index: gcc/tree-ssa-ccp.c
+===================================================================
+--- gcc/tree-ssa-ccp.c (.../tags/gcc_4_3_0_release) (revision 133808)
++++ gcc/tree-ssa-ccp.c (.../branches/gcc-4_3-branch) (revision 133808)
+@@ -1584,7 +1584,8 @@
+ is the desired result type. */
+
+ static tree
+-maybe_fold_offset_to_array_ref (tree base, tree offset, tree orig_type)
++maybe_fold_offset_to_array_ref (tree base, tree offset, tree orig_type,
++ bool allow_negative_idx)
+ {
+ tree min_idx, idx, idx_type, elt_offset = integer_zero_node;
+ tree array_type, elt_type, elt_size;
+@@ -1684,11 +1685,15 @@
+ idx = fold_convert (idx_type, idx);
+
+ /* We don't want to construct access past array bounds. For example
+- char *(c[4]);
+-
+- c[3][2]; should not be simplified into (*c)[14] or tree-vrp will give false
+- warning. */
+- if (domain_type && TYPE_MAX_VALUE (domain_type)
++ char *(c[4]);
++ c[3][2];
++ should not be simplified into (*c)[14] or tree-vrp will
++ give false warnings. The same is true for
++ struct A { long x; char d[0]; } *a;
++ (char *)a - 4;
++ which should be not folded to &a->d[-8]. */
++ if (domain_type
++ && TYPE_MAX_VALUE (domain_type)
+ && TREE_CODE (TYPE_MAX_VALUE (domain_type)) == INTEGER_CST)
+ {
+ tree up_bound = TYPE_MAX_VALUE (domain_type);
+@@ -1700,6 +1705,17 @@
+ && compare_tree_int (up_bound, 1) > 0)
+ return NULL_TREE;
+ }
++ if (domain_type
++ && TYPE_MIN_VALUE (domain_type))
++ {
++ if (!allow_negative_idx
++ && TREE_CODE (TYPE_MIN_VALUE (domain_type)) == INTEGER_CST
++ && tree_int_cst_lt (idx, TYPE_MIN_VALUE (domain_type)))
++ return NULL_TREE;
++ }
++ else if (!allow_negative_idx
++ && compare_tree_int (idx, 0) < 0)
++ return NULL_TREE;
+
+ return build4 (ARRAY_REF, elt_type, base, idx, NULL_TREE, NULL_TREE);
+ }
+@@ -1796,7 +1812,8 @@
+ new_base = build3 (COMPONENT_REF, field_type, new_base, f, NULL_TREE);
+
+ /* Recurse to possibly find the match. */
+- ret = maybe_fold_offset_to_array_ref (new_base, t, orig_type);
++ ret = maybe_fold_offset_to_array_ref (new_base, t, orig_type,
++ f == TYPE_FIELDS (record_type));
+ if (ret)
+ return ret;
+ ret = maybe_fold_offset_to_component_ref (field_type, new_base, t,
+@@ -1818,7 +1835,8 @@
+ base = build1 (INDIRECT_REF, record_type, base);
+ base = build3 (COMPONENT_REF, field_type, base, f, NULL_TREE);
+
+- t = maybe_fold_offset_to_array_ref (base, offset, orig_type);
++ t = maybe_fold_offset_to_array_ref (base, offset, orig_type,
++ f == TYPE_FIELDS (record_type));
+ if (t)
+ return t;
+ return maybe_fold_offset_to_component_ref (field_type, base, offset,
+@@ -1884,7 +1902,7 @@
+ {
+ if (base_is_ptr)
+ base = build1 (INDIRECT_REF, type, base);
+- ret = maybe_fold_offset_to_array_ref (base, offset, orig_type);
++ ret = maybe_fold_offset_to_array_ref (base, offset, orig_type, true);
+ }
+ return ret;
+ }
+@@ -2061,7 +2079,7 @@
+ ptd_type = TREE_TYPE (ptr_type);
+
+ /* At which point we can try some of the same things as for indirects. */
+- t = maybe_fold_offset_to_array_ref (op0, op1, ptd_type);
++ t = maybe_fold_offset_to_array_ref (op0, op1, ptd_type, true);
+ if (!t)
+ t = maybe_fold_offset_to_component_ref (TREE_TYPE (op0), op0, op1,
+ ptd_type, false);
+Index: gcc/dbxout.c
+===================================================================
+--- gcc/dbxout.c (.../tags/gcc_4_3_0_release) (revision 133808)
++++ gcc/dbxout.c (.../branches/gcc-4_3-branch) (revision 133808)
+@@ -2332,6 +2332,15 @@
+ switch (TREE_CODE (expr))
+ {
+ case VAR_DECL:
++ /* We can't handle emulated tls variables, because the address is an
++ offset to the return value of __emutls_get_address, and there is no
++ way to express that in stabs. Also, there are name mangling issues
++ here. We end up with references to undefined symbols if we don't
++ disable debug info for these variables. */
++ if (!targetm.have_tls && DECL_THREAD_LOCAL_P (expr))
++ return NULL;
++ /* FALLTHRU */
++
+ case PARM_DECL:
+ if (DECL_HAS_VALUE_EXPR_P (expr))
+ return dbxout_expand_expr (DECL_VALUE_EXPR (expr));
+Index: gcc/gcov-io.h
+===================================================================
+--- gcc/gcov-io.h (.../tags/gcc_4_3_0_release) (revision 133808)
++++ gcc/gcov-io.h (.../branches/gcc-4_3-branch) (revision 133808)
+@@ -467,6 +467,9 @@
+ consecutive values. */
+ extern void __gcov_merge_delta (gcov_type *, unsigned) ATTRIBUTE_HIDDEN;
+
++/* The merge function that just ors the counters together. */
++extern void __gcov_merge_ior (gcov_type *, unsigned) ATTRIBUTE_HIDDEN;
++
+ /* The profiler functions. */
+ extern void __gcov_interval_profiler (gcov_type *, gcov_type, int, unsigned);
+ extern void __gcov_pow2_profiler (gcov_type *, gcov_type);
+@@ -474,11 +477,10 @@
+ extern void __gcov_indirect_call_profiler (gcov_type *, gcov_type, void *, void *);
+ extern void __gcov_average_profiler (gcov_type *, gcov_type);
+ extern void __gcov_ior_profiler (gcov_type *, gcov_type);
+-extern void __gcov_merge_ior (gcov_type *, unsigned);
+
+ #ifndef inhibit_libc
+ /* The wrappers around some library functions.. */
+-extern pid_t __gcov_fork (void);
++extern pid_t __gcov_fork (void) ATTRIBUTE_HIDDEN;
+ extern int __gcov_execl (const char *, const char *, ...) ATTRIBUTE_HIDDEN;
+ extern int __gcov_execlp (const char *, const char *, ...) ATTRIBUTE_HIDDEN;
+ extern int __gcov_execle (const char *, const char *, ...) ATTRIBUTE_HIDDEN;
+Index: gcc/cse.c
+===================================================================
+--- gcc/cse.c (.../tags/gcc_4_3_0_release) (revision 133808)
++++ gcc/cse.c (.../branches/gcc-4_3-branch) (revision 133808)
+@@ -4753,6 +4753,23 @@
+ src_elt_cost = MAX_COST;
+ }
+
++ /* Avoid creation of overlapping memory moves. */
++ if (MEM_P (trial) && MEM_P (SET_DEST (sets[i].rtl)))
++ {
++ rtx src, dest;
++
++ /* BLKmode moves are not handled by cse anyway. */
++ if (GET_MODE (trial) == BLKmode)
++ break;
++
++ src = canon_rtx (trial);
++ dest = canon_rtx (SET_DEST (sets[i].rtl));
++
++ if (!MEM_P (src) || !MEM_P (dest)
++ || !nonoverlapping_memrefs_p (src, dest))
++ break;
++ }
++
+ /* We don't normally have an insn matching (set (pc) (pc)), so
+ check for this separately here. We will delete such an
+ insn below.
+@@ -5975,6 +5992,21 @@
+ int no_conflict = 0;
+
+ bb = ebb_data->path[path_entry].bb;
++
++ /* Invalidate recorded information for eh regs if there is an EH
++ edge pointing to that bb. */
++ if (bb_has_eh_pred (bb))
++ {
++ struct df_ref **def_rec;
++
++ for (def_rec = df_get_artificial_defs (bb->index); *def_rec; def_rec++)
++ {
++ struct df_ref *def = *def_rec;
++ if (DF_REF_FLAGS (def) & DF_REF_AT_TOP)
++ invalidate (DF_REF_REG (def), GET_MODE (DF_REF_REG (def)));
++ }
++ }
++
+ FOR_BB_INSNS (bb, insn)
+ {
+ /* If we have processed 1,000 insns, flush the hash table to
+Index: gcc/ifcvt.c
+===================================================================
+--- gcc/ifcvt.c (.../tags/gcc_4_3_0_release) (revision 133808)
++++ gcc/ifcvt.c (.../branches/gcc-4_3-branch) (revision 133808)
+@@ -1737,6 +1737,10 @@
+ rtx cond, earliest, target, seq, a, b, c;
+ int negate;
+
++ /* Reject modes with signed zeros. */
++ if (HONOR_SIGNED_ZEROS (GET_MODE (if_info->x)))
++ return FALSE;
++
+ /* Recognize A and B as constituting an ABS or NABS. The canonical
+ form is a branch around the negation, taken when the object is the
+ first operand of a comparison against 0 that evaluates to true. */
+Index: gcc/expr.c
+===================================================================
+--- gcc/expr.c (.../tags/gcc_4_3_0_release) (revision 133808)
++++ gcc/expr.c (.../branches/gcc-4_3-branch) (revision 133808)
+@@ -4654,7 +4654,8 @@
+ temp = convert_to_mode (GET_MODE (target), temp, unsignedp);
+ emit_move_insn (target, temp);
+ }
+- else if (GET_MODE (target) == BLKmode)
++ else if (GET_MODE (target) == BLKmode
++ || GET_MODE (temp) == BLKmode)
+ emit_block_move (target, temp, expr_size (exp),
+ (call_param_p
+ ? BLOCK_OP_CALL_PARM
+Index: gcc/ada/env.c
+===================================================================
+--- gcc/ada/env.c (.../tags/gcc_4_3_0_release) (revision 133808)
++++ gcc/ada/env.c (.../branches/gcc-4_3-branch) (revision 133808)
+@@ -41,10 +41,6 @@
+ #include <unixio.h>
+ #endif
+
+-#if defined (__APPLE__)
+-#include <crt_externs.h>
+-#endif
+-
+ #if defined (__MINGW32__)
+ #include <stdlib.h>
+ #endif
+@@ -61,6 +57,10 @@
+ #include "system.h"
+ #endif /* IN_RTS */
+
++#if defined (__APPLE__)
++#include <crt_externs.h>
++#endif
++
+ #include "env.h"
+
+ void
+@@ -166,7 +166,7 @@
+ LIB$SIGNAL (status);
+ }
+
+-#elif defined (__vxworks) && defined (__RTP__)
++#elif (defined (__vxworks) && defined (__RTP__)) || defined (__APPLE__)
+ setenv (name, value, 1);
+
+ #else
+@@ -178,7 +178,7 @@
+ sprintf (expression, "%s=%s", name, value);
+ putenv (expression);
+ #if (defined (__FreeBSD__) && (__FreeBSD__ < 7)) \
+- || defined (__APPLE__) || defined (__MINGW32__) \
++ || defined (__MINGW32__) \
+ ||(defined (__vxworks) && ! defined (__RTP__))
+ /* On some systems like FreeBSD 6.x and earlier, MacOS X and Windows,
+ putenv is making a copy of the expression string so we can free
+Index: gcc/ada/ChangeLog
+===================================================================
+--- gcc/ada/ChangeLog (.../tags/gcc_4_3_0_release) (revision 133808)
++++ gcc/ada/ChangeLog (.../branches/gcc-4_3-branch) (revision 133808)
+@@ -1,3 +1,14 @@
++2008-04-01 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
++
++ PR ada/33857
++ * env.c: Always include crt_externs.h if __APPLE__ is defined.
++ (__gnat_setenv): Use setenv instead of putenv if __APPLE__ is defined.
++
++2008-03-31 Eric Botcazou <ebotcazou@adacore.com>
++
++ * decl.c (gnat_to_gnu_entity) <object>: Do not force a non-null
++ size if it has overflowed.
++
+ 2008-03-05 Release Manager
+
+ * GCC 4.3.0 released.
+Index: gcc/ada/decl.c
+===================================================================
+--- gcc/ada/decl.c (.../tags/gcc_4_3_0_release) (revision 133808)
++++ gcc/ada/decl.c (.../branches/gcc-4_3-branch) (revision 133808)
+@@ -636,8 +636,12 @@
+ clause, as we would lose useful information on the view size
+ (e.g. for null array slices) and we are not allocating the object
+ here anyway. */
+- if (((gnu_size && integer_zerop (gnu_size))
+- || (TYPE_SIZE (gnu_type) && integer_zerop (TYPE_SIZE (gnu_type))))
++ if (((gnu_size
++ && integer_zerop (gnu_size)
++ && !TREE_OVERFLOW (gnu_size))
++ || (TYPE_SIZE (gnu_type)
++ && integer_zerop (TYPE_SIZE (gnu_type))
++ && !TREE_OVERFLOW (TYPE_SIZE (gnu_type))))
+ && (!Is_Constr_Subt_For_UN_Aliased (Etype (gnat_entity))
+ || !Is_Array_Type (Etype (gnat_entity)))
+ && !Present (Renamed_Object (gnat_entity))
+Index: gcc/fortran/trans-array.c
+===================================================================
+--- gcc/fortran/trans-array.c (.../tags/gcc_4_3_0_release) (revision 133808)
++++ gcc/fortran/trans-array.c (.../branches/gcc-4_3-branch) (revision 133808)
+@@ -3490,7 +3490,7 @@
+ size = 1 - lbound;
+ a.ubound[n] = specified_upper_bound;
+ a.stride[n] = stride;
+- size = ubound + size; //size = ubound + 1 - lbound
++ size = siz >= 0 ? ubound + size : 0; //size = ubound + 1 - lbound
+ stride = stride * size;
+ }
+ return (stride);
+@@ -3590,6 +3590,9 @@
+ else
+ or_expr = fold_build2 (TRUTH_OR_EXPR, boolean_type_node, or_expr, cond);
+
++ size = fold_build3 (COND_EXPR, gfc_array_index_type, cond,
++ gfc_index_zero_node, size);
++
+ /* Multiply the stride by the number of elements in this dimension. */
+ stride = fold_build2 (MULT_EXPR, gfc_array_index_type, stride, size);
+ stride = gfc_evaluate_now (stride, pblock);
+Index: gcc/fortran/trans-expr.c
+===================================================================
+--- gcc/fortran/trans-expr.c (.../tags/gcc_4_3_0_release) (revision 133808)
++++ gcc/fortran/trans-expr.c (.../branches/gcc-4_3-branch) (revision 133808)
+@@ -2844,7 +2844,9 @@
+ dsc = gfc_to_single_character (dlen, dest);
+
+
+- if (dsc != NULL_TREE && ssc != NULL_TREE)
++ /* Assign directly if the types are compatible. */
++ if (dsc != NULL_TREE && ssc != NULL_TREE
++ && TREE_TYPE (dsc) == TREE_TYPE (ssc))
+ {
+ gfc_add_modify_expr (block, dsc, ssc);
+ return;
+Index: gcc/fortran/Make-lang.in
+===================================================================
+--- gcc/fortran/Make-lang.in (.../tags/gcc_4_3_0_release) (revision 133808)
++++ gcc/fortran/Make-lang.in (.../branches/gcc-4_3-branch) (revision 133808)
+@@ -149,7 +149,7 @@
+ $(srcdir)/fortran/intrinsic.texi \
+ $(srcdir)/fortran/invoke.texi \
+ $(srcdir)/doc/include/fdl.texi \
+- $(srcdir)/doc/include/gpl.texi \
++ $(srcdir)/doc/include/gpl_v3.texi \
+ $(srcdir)/doc/include/funding.texi \
+ $(srcdir)/doc/include/gcc-common.texi \
+ gcc-vers.texi
+Index: gcc/fortran/ChangeLog
+===================================================================
+--- gcc/fortran/ChangeLog (.../tags/gcc_4_3_0_release) (revision 133808)
++++ gcc/fortran/ChangeLog (.../branches/gcc-4_3-branch) (revision 133808)
+@@ -1,3 +1,49 @@
++2008-04-01 Joseph Myers <joseph@codesourcery.com>
++
++ * gfortran.texi: Include gpl_v3.texi instead of gpl.texi
++ * Make-lang.in (GFORTRAN_TEXI): Include gpl_v3.texi instead of
++ gpl.texi.
++
++2008-03-30 Paul Thomas <pault@gcc.gnu.org>
++
++ PR fortran/35740
++ * resolve.c (resolve_function, resolve_call): If the procedure
++ is elemental do not look for noncopying intrinsics.
++
++2008-03-29 Paul Thomas <pault@gcc.gnu.org>
++
++ PR fortran/35698
++ * trans-array.c (gfc_array_init_size): Set 'size' zero if
++ negative in one dimension.
++
++ PR fortran/35702
++ * trans-expr.c (gfc_trans_string_copy): Only assign a char
++ directly if the lhs and rhs types are the same.
++
++2008-03-27 Jerry DeLisle <jvdelisle@gcc.gnu.org>
++
++ PR fortran/35724
++ * iresolve.c (gfc_resolve_cshift): Check for NULL symtree in
++ test for optional argument attribute.
++
++2008-03-24 Paul Thomas <pault@gcc.gnu.org>
++
++ PR fortran/34813
++ * resolve.c (resolve_structure_cons): It is an error to assign
++ NULL to anything other than a pointer or allocatable component.
++
++ PR fortran/33295
++ * resolve.c (resolve_symbol): If the symbol is a derived type,
++ resolve the derived type. If the symbol is a derived type
++ function, ensure that the derived type is visible in the same
++ namespace as the function.
++
++2008-03-14 Paul Thomas <pault@gcc.gnu.org>
++
++ PR fortran/35474
++ * module.c (mio_symtree_ref): After providing a symbol for a
++ missing equivalence member, resolve and NULL the fixups.
++
+ 2008-03-05 Release Manager
+
+ * GCC 4.3.0 released.
+Index: gcc/fortran/module.c
+===================================================================
+--- gcc/fortran/module.c (.../tags/gcc_4_3_0_release) (revision 133808)
++++ gcc/fortran/module.c (.../branches/gcc-4_3-branch) (revision 133808)
+@@ -2310,6 +2310,12 @@
+ p->u.rsym.symtree->n.sym = p->u.rsym.sym;
+ p->u.rsym.symtree->n.sym->refs++;
+ p->u.rsym.referenced = 1;
++
++ /* If the symbol is PRIVATE and in COMMON, load_commons will
++ generate a fixup symbol, which must be associated. */
++ if (p->fixup)
++ resolve_fixups (p->fixup, p->u.rsym.sym);
++ p->fixup = NULL;
+ }
+
+ if (p->type == P_UNKNOWN)
+Index: gcc/fortran/resolve.c
+===================================================================
+--- gcc/fortran/resolve.c (.../tags/gcc_4_3_0_release) (revision 133808)
++++ gcc/fortran/resolve.c (.../branches/gcc-4_3-branch) (revision 133808)
+@@ -827,6 +827,16 @@
+ t = gfc_convert_type (cons->expr, &comp->ts, 1);
+ }
+
++ if (cons->expr->expr_type == EXPR_NULL
++ && !(comp->pointer || comp->allocatable))
++ {
++ t = FAILURE;
++ gfc_error ("The NULL in the derived type constructor at %L is "
++ "being applied to component '%s', which is neither "
++ "a POINTER nor ALLOCATABLE", &cons->expr->where,
++ comp->name);
++ }
++
+ if (!comp->pointer || cons->expr->expr_type == EXPR_NULL)
+ continue;
+
+@@ -2365,7 +2375,12 @@
+ gfc_expr_set_symbols_referenced (expr->ts.cl->length);
+ }
+
+- if (t == SUCCESS)
++ if (t == SUCCESS
++ && !((expr->value.function.esym
++ && expr->value.function.esym->attr.elemental)
++ ||
++ (expr->value.function.isym
++ && expr->value.function.isym->elemental)))
+ find_noncopying_intrinsics (expr->value.function.esym,
+ expr->value.function.actual);
+
+@@ -2836,7 +2851,7 @@
+ if (resolve_elemental_actual (NULL, c) == FAILURE)
+ return FAILURE;
+
+- if (t == SUCCESS)
++ if (t == SUCCESS && !(c->resolved_sym && c->resolved_sym->attr.elemental))
+ find_noncopying_intrinsics (c->resolved_sym, c->ext.actual);
+ return t;
+ }
+@@ -7974,6 +7989,29 @@
+ return;
+ }
+
++ /* Make sure that the derived type has been resolved and that the
++ derived type is visible in the symbol's namespace, if it is a
++ module function and is not PRIVATE. */
++ if (sym->ts.type == BT_DERIVED
++ && sym->ts.derived->attr.use_assoc
++ && sym->ns->proc_name->attr.flavor == FL_MODULE)
++ {
++ gfc_symbol *ds;
++
++ if (resolve_fl_derived (sym->ts.derived) == FAILURE)
++ return;
++
++ gfc_find_symbol (sym->ts.derived->name, sym->ns, 1, &ds);
++ if (!ds && sym->attr.function
++ && gfc_check_access (sym->attr.access, sym->ns->default_access))
++ {
++ symtree = gfc_new_symtree (&sym->ns->sym_root,
++ sym->ts.derived->name);
++ symtree->n.sym = sym->ts.derived;
++ sym->ts.derived->refs++;
++ }
++ }
++
+ /* Unless the derived-type declaration is use associated, Fortran 95
+ does not allow public entries of private derived types.
+ See 4.4.1 (F95) and 4.5.1.1 (F2003); and related interpretation
+Index: gcc/fortran/iresolve.c
+===================================================================
+--- gcc/fortran/iresolve.c (.../tags/gcc_4_3_0_release) (revision 133808)
++++ gcc/fortran/iresolve.c (.../branches/gcc-4_3-branch) (revision 133808)
+@@ -592,7 +592,8 @@
+
+ if (dim != NULL)
+ {
+- if (dim->expr_type != EXPR_CONSTANT && dim->symtree->n.sym->attr.optional)
++ if (dim->expr_type != EXPR_CONSTANT && dim->symtree != NULL
++ && dim->symtree->n.sym->attr.optional)
+ {
+ /* Mark this for later setting the type in gfc_conv_missing_dummy. */
+ dim->representation.length = shift->ts.kind;
+Index: gcc/BASE-VER
+===================================================================
+--- gcc/BASE-VER (.../tags/gcc_4_3_0_release) (revision 133808)
++++ gcc/BASE-VER (.../branches/gcc-4_3-branch) (revision 133808)
+@@ -1 +1 @@
+-4.3.0
++4.3.1
+Index: gcc/alias.c
+===================================================================
+--- gcc/alias.c (.../tags/gcc_4_3_0_release) (revision 133808)
++++ gcc/alias.c (.../branches/gcc-4_3-branch) (revision 133808)
+@@ -164,7 +164,6 @@
+ static bool nonoverlapping_component_refs_p (const_tree, const_tree);
+ static tree decl_for_component_ref (tree);
+ static rtx adjust_offset_for_component_ref (tree, rtx);
+-static int nonoverlapping_memrefs_p (const_rtx, const_rtx);
+ static int write_dependence_p (const_rtx, const_rtx, int);
+
+ static void memory_modified_1 (rtx, const_rtx, void *);
+@@ -1976,7 +1975,7 @@
+ /* Return nonzero if we can determine the exprs corresponding to memrefs
+ X and Y and they do not overlap. */
+
+-static int
++int
+ nonoverlapping_memrefs_p (const_rtx x, const_rtx y)
+ {
+ tree exprx = MEM_EXPR (x), expry = MEM_EXPR (y);
+Index: gcc/alias.h
+===================================================================
+--- gcc/alias.h (.../tags/gcc_4_3_0_release) (revision 133808)
++++ gcc/alias.h (.../branches/gcc-4_3-branch) (revision 133808)
+@@ -28,6 +28,7 @@
+ extern alias_set_type get_frame_alias_set (void);
+ extern bool component_uses_parent_alias_set (const_tree);
+ extern bool alias_set_subset_of (alias_set_type, alias_set_type);
++extern int nonoverlapping_memrefs_p (const_rtx, const_rtx);
+
+ /* This alias set can be used to force a memory to conflict with all
+ other memories, creating a barrier across which no memory reference
+Index: gcc/gimplify.c
+===================================================================
+--- gcc/gimplify.c (.../tags/gcc_4_3_0_release) (revision 133808)
++++ gcc/gimplify.c (.../branches/gcc-4_3-branch) (revision 133808)
+@@ -5464,7 +5464,11 @@
+ expr = TREE_OPERAND (expr, 0);
+ addr = TREE_OPERAND (addr, 0);
+ }
+- return expr == addr;
++ if (expr == addr)
++ return true;
++ return (TREE_CODE (addr) == ADDR_EXPR
++ && TREE_CODE (expr) == ADDR_EXPR
++ && TREE_OPERAND (addr, 0) == TREE_OPERAND (expr, 0));
+ }
+ if (TREE_CODE (addr) == ADDR_EXPR && expr == TREE_OPERAND (addr, 0))
+ return true;
+@@ -6018,12 +6022,18 @@
+
+ case OMP_RETURN:
+ case OMP_CONTINUE:
+- case OMP_ATOMIC_LOAD:
+- case OMP_ATOMIC_STORE:
+-
++ case OMP_ATOMIC_STORE:
+ ret = GS_ALL_DONE;
+ break;
+
++ case OMP_ATOMIC_LOAD:
++ if (gimplify_expr (&TREE_OPERAND (*expr_p, 1), pre_p, NULL,
++ is_gimple_val, fb_rvalue) != GS_ALL_DONE)
++ ret = GS_ERROR;
++ else
++ ret = GS_ALL_DONE;
++ break;
++
+ case POINTER_PLUS_EXPR:
+ /* Convert ((type *)A)+offset into &A->field_of_type_and_offset.
+ The second is gimple immediate saving a need for extra statement.
+Index: gcc/calls.c
+===================================================================
+--- gcc/calls.c (.../tags/gcc_4_3_0_release) (revision 133808)
++++ gcc/calls.c (.../branches/gcc-4_3-branch) (revision 133808)
+@@ -2326,7 +2326,7 @@
+ int save_pending_stack_adjust = 0;
+ int save_stack_pointer_delta = 0;
+ rtx insns;
+- rtx before_call, next_arg_reg;
++ rtx before_call, next_arg_reg, after_args;
+
+ if (pass == 0)
+ {
+@@ -2756,6 +2756,7 @@
+ use_reg (&call_fusage, struct_value);
+ }
+
++ after_args = get_last_insn ();
+ funexp = prepare_call_address (funexp, static_chain_value,
+ &call_fusage, reg_parm_seen, pass == 0);
+
+@@ -2790,6 +2791,13 @@
+ next_arg_reg, valreg, old_inhibit_defer_pop, call_fusage,
+ flags, & args_so_far);
+
++ /* If the call setup or the call itself overlaps with anything
++ of the argument setup we probably clobbered our call address.
++ In that case we can't do sibcalls. */
++ if (pass == 0
++ && check_sibcall_argument_overlap (after_args, 0, 0))
++ sibcall_failure = 1;
++
+ /* If a non-BLKmode value is returned at the most significant end
+ of a register, shift the register right by the appropriate amount
+ and update VALREG accordingly. BLKmode values are handled by the
+Index: gcc/expmed.c
+===================================================================
+--- gcc/expmed.c (.../tags/gcc_4_3_0_release) (revision 133808)
++++ gcc/expmed.c (.../branches/gcc-4_3-branch) (revision 133808)
+@@ -1339,18 +1339,15 @@
+ || (offset * BITS_PER_UNIT % bitsize == 0
+ && MEM_ALIGN (op0) % bitsize == 0)))))
+ {
+- if (mode1 != GET_MODE (op0))
++ if (MEM_P (op0))
++ op0 = adjust_address (op0, mode1, offset);
++ else if (mode1 != GET_MODE (op0))
+ {
+- if (MEM_P (op0))
+- op0 = adjust_address (op0, mode1, offset);
+- else
+- {
+- rtx sub = simplify_gen_subreg (mode1, op0, GET_MODE (op0),
+- byte_offset);
+- if (sub == NULL)
+- goto no_subreg_mode_swap;
+- op0 = sub;
+- }
++ rtx sub = simplify_gen_subreg (mode1, op0, GET_MODE (op0),
++ byte_offset);
++ if (sub == NULL)
++ goto no_subreg_mode_swap;
++ op0 = sub;
+ }
+ if (mode1 != mode)
+ return convert_to_mode (tmode, op0, unsignedp);
+Index: gcc/po/ca.po
+===================================================================
+--- gcc/po/ca.po (.../tags/gcc_4_3_0_release) (revision 133808)
++++ gcc/po/ca.po (.../branches/gcc-4_3-branch) (revision 133808)
+@@ -1,37932 +0,0 @@
+-# translation of gcc-3.4.3-ca.po to Catalan
+-# Catalan translation of gcc.
+-# Copyright (C) 2004 Free Software Foundation, Inc.
+-# This file is distributed under the same license as the gcc package.
+-# Gilles MATEU <mateu.gilles@wanadoo.fr>, 2002.
+-# Gilles MATEU <mateu.gilles@wanadoo.fr>, 2003.
+-# Gilles MATEU <mateu.gilles@wanadoo.fr>, 2004.
+-# Jordi Mas i Hernandez <jmas@softcatala.org>, 2004
+-# Antoni Bella Pérez <BELLA5@teleline.es>, 2004
+-# Gilles MATEU <gilles@mateu.org>, 2004
+-# David Poblador <david@nirvanis.org>, 2004
+-#
+-#
+-# Aquest fitxer té errades ortogràfiques, sintàtiques, i de traducció greus.
+-# A 31/10/2004 vaig aplicar correccions importants, però s'hauria de revisar
+-# el fitxer completament.
+-#
+-# - Proposo a més no traduir les ordres de llenguatge C. Per exemple, no traduir
+-# 'case' per 'cas' ni cap altre ordre del llenguatge C.
+-#
+-# - Proposo escriure els mots que sigui ordre del llenguatge entre de la següent manera:
+-# «case» (per indicar que es textual)
+-#
+-# Cal molta feina en aquest fitxer. Jordi 05/11/2004
+-#
+-#
+-msgid ""
+-msgstr ""
+-"Project-Id-Version: gcc 3.4.3\n"
+-"Report-Msgid-Bugs-To: http://gcc.gnu.org/bugs.html\n"
+-"POT-Creation-Date: 2007-11-08 21:09+0000\n"
+-"PO-Revision-Date: 2004-11-10 00:42+0000\n"
+-"Last-Translator: Mateu Gilles <gilles@mateu.org>\n"
+-"Language-Team: Catalan <ca@dodds.net>\n"
+-"MIME-Version: 1.0\n"
+-"Content-Type: text/plain; charset=iso-8859-1\n"
+-"Content-Transfer-Encoding: 8bit\n"
+-
+-#: c-decl.c:3814
+-msgid "<anonymous>"
+-msgstr "<anònim>"
+-
+-#: c-format.c:357 c-format.c:381
+-#, fuzzy
+-msgid "' ' flag"
+-msgstr "opció \" \""
+-
+-#: c-format.c:357 c-format.c:381
+-#, fuzzy
+-msgid "the ' ' printf flag"
+-msgstr "l'opció \" \" de printf"
+-
+-#: c-format.c:358 c-format.c:382 c-format.c:416 c-format.c:428 c-format.c:487
+-#, fuzzy
+-msgid "'+' flag"
+-msgstr "opció \"+\""
+-
+-#: c-format.c:358 c-format.c:382 c-format.c:416 c-format.c:428
+-#, fuzzy
+-msgid "the '+' printf flag"
+-msgstr "l'opció \"+\" de printf"
+-
+-#: c-format.c:359 c-format.c:383 c-format.c:429 c-format.c:463
+-#, fuzzy
+-msgid "'#' flag"
+-msgstr "opció \"#\""
+-
+-#: c-format.c:359 c-format.c:383 c-format.c:429
+-#, fuzzy
+-msgid "the '#' printf flag"
+-msgstr "l'opció \"#\" de printf"
+-
+-#: c-format.c:360 c-format.c:384 c-format.c:461
+-#, fuzzy
+-msgid "'0' flag"
+-msgstr "opció \"0\""
+-
+-#: c-format.c:360 c-format.c:384
+-#, fuzzy
+-msgid "the '0' printf flag"
+-msgstr "l'opció \"0\" de printf"
+-
+-#: c-format.c:361 c-format.c:385 c-format.c:460 c-format.c:490
+-#, fuzzy
+-msgid "'-' flag"
+-msgstr "opció \"-\""
+-
+-#: c-format.c:361 c-format.c:385
+-#, fuzzy
+-msgid "the '-' printf flag"
+-msgstr "l'opció \"-\" de printf"
+-
+-#: c-format.c:362 c-format.c:443
+-#, fuzzy
+-msgid "''' flag"
+-msgstr "opció \"'\""
+-
+-#: c-format.c:362
+-#, fuzzy
+-msgid "the ''' printf flag"
+-msgstr "l'opció \"'\" de printf"
+-
+-#: c-format.c:363 c-format.c:444
+-#, fuzzy
+-msgid "'I' flag"
+-msgstr "opció \"'\""
+-
+-#: c-format.c:363
+-#, fuzzy
+-msgid "the 'I' printf flag"
+-msgstr "l'opció \"'\" de printf"
+-
+-#: c-format.c:364 c-format.c:386 c-format.c:441 c-format.c:464 c-format.c:491
+-#: c-format.c:1623 config/sol2-c.c:45
+-msgid "field width"
+-msgstr "amplària de camp"
+-
+-#: c-format.c:364 c-format.c:386 config/sol2-c.c:45
+-msgid "field width in printf format"
+-msgstr "amplària de camp en format printf"
+-
+-#: c-format.c:365 c-format.c:387 c-format.c:418 c-format.c:431
+-msgid "precision"
+-msgstr "precisió"
+-
+-#: c-format.c:365 c-format.c:387 c-format.c:418 c-format.c:431
+-msgid "precision in printf format"
+-msgstr "precisió en format printf"
+-
+-#: c-format.c:366 c-format.c:388 c-format.c:419 c-format.c:432 c-format.c:442
+-#: c-format.c:494 config/sol2-c.c:46
+-msgid "length modifier"
+-msgstr "modificador de longitud"
+-
+-#: c-format.c:366 c-format.c:388 c-format.c:419 c-format.c:432
+-#: config/sol2-c.c:46
+-msgid "length modifier in printf format"
+-msgstr "modificador de longitud en format printf"
+-
+-#: c-format.c:417 c-format.c:430
+-#, fuzzy
+-msgid "'q' flag"
+-msgstr "opció \"'\""
+-
+-#: c-format.c:417 c-format.c:430
+-#, fuzzy
+-msgid "the 'q' diagnostic flag"
+-msgstr "l'opció \"'\" de printf"
+-
+-#: c-format.c:438
+-msgid "assignment suppression"
+-msgstr "supressió de l'assignació"
+-
+-#: c-format.c:438
+-msgid "the assignment suppression scanf feature"
+-msgstr "la supressió de l'assignació és una característica de scanf"
+-
+-#: c-format.c:439
+-#, fuzzy
+-msgid "'a' flag"
+-msgstr "opció \"'\""
+-
+-#: c-format.c:439
+-#, fuzzy
+-msgid "the 'a' scanf flag"
+-msgstr "l'opció \"a\" de scanf"
+-
+-#: c-format.c:440
+-#, fuzzy
+-msgid "'m' flag"
+-msgstr "opció \"'\""
+-
+-#: c-format.c:440
+-#, fuzzy
+-msgid "the 'm' scanf flag"
+-msgstr "l'opció \"'\" de scanf"
+-
+-#: c-format.c:441
+-msgid "field width in scanf format"
+-msgstr "amplària de camp en format scanf"
+-
+-#: c-format.c:442
+-msgid "length modifier in scanf format"
+-msgstr "modificador de longitud en format scanf"
+-
+-#: c-format.c:443
+-#, fuzzy
+-msgid "the ''' scanf flag"
+-msgstr "l'opció \"'\" de scanf"
+-
+-#: c-format.c:444
+-#, fuzzy
+-msgid "the 'I' scanf flag"
+-msgstr "l'opció \"'\" de scanf"
+-
+-#: c-format.c:459
+-#, fuzzy
+-msgid "'_' flag"
+-msgstr "opció \"'\""
+-
+-#: c-format.c:459
+-#, fuzzy
+-msgid "the '_' strftime flag"
+-msgstr "l'opció \"_\" de strftime"
+-
+-#: c-format.c:460
+-#, fuzzy
+-msgid "the '-' strftime flag"
+-msgstr "l'opció \"-\" de strftime"
+-
+-#: c-format.c:461
+-#, fuzzy
+-msgid "the '0' strftime flag"
+-msgstr "l'opció \"0\" de strftime"
+-
+-#: c-format.c:462 c-format.c:486
+-#, fuzzy
+-msgid "'^' flag"
+-msgstr "opció \"'\""
+-
+-#: c-format.c:462
+-#, fuzzy
+-msgid "the '^' strftime flag"
+-msgstr "l'opció \"^\" de strftime"
+-
+-#: c-format.c:463
+-#, fuzzy
+-msgid "the '#' strftime flag"
+-msgstr "l'opció \"#\" de strftime"
+-
+-#: c-format.c:464
+-msgid "field width in strftime format"
+-msgstr "amplària de camp en format strftime"
+-
+-#: c-format.c:465
+-#, fuzzy
+-msgid "'E' modifier"
+-msgstr "modificador \"E\""
+-
+-#: c-format.c:465
+-#, fuzzy
+-msgid "the 'E' strftime modifier"
+-msgstr "el modificador \"E\" de strftime"
+-
+-#: c-format.c:466
+-#, fuzzy
+-msgid "'O' modifier"
+-msgstr "modificador \"O\""
+-
+-#: c-format.c:466
+-#, fuzzy
+-msgid "the 'O' strftime modifier"
+-msgstr "el modificador \"O\" de strftime"
+-
+-#: c-format.c:467
+-#, fuzzy
+-msgid "the 'O' modifier"
+-msgstr "el modificador \"O\""
+-
+-#: c-format.c:485
+-msgid "fill character"
+-msgstr "caràcter de farciment"
+-
+-#: c-format.c:485
+-msgid "fill character in strfmon format"
+-msgstr "caràcter de farciment en format strfmon"
+-
+-#: c-format.c:486
+-#, fuzzy
+-msgid "the '^' strfmon flag"
+-msgstr "l'opció \"^\" de strfmon"
+-
+-#: c-format.c:487
+-#, fuzzy
+-msgid "the '+' strfmon flag"
+-msgstr "l'opció \"+\" de strfmon"
+-
+-#: c-format.c:488
+-#, fuzzy
+-msgid "'(' flag"
+-msgstr "opció \"'\""
+-
+-#: c-format.c:488
+-#, fuzzy
+-msgid "the '(' strfmon flag"
+-msgstr "l'opció \"(\" de strfmon"
+-
+-#: c-format.c:489
+-#, fuzzy
+-msgid "'!' flag"
+-msgstr "opció \"'\""
+-
+-#: c-format.c:489
+-#, fuzzy
+-msgid "the '!' strfmon flag"
+-msgstr "l'opció \"!\" de strfmon"
+-
+-#: c-format.c:490
+-#, fuzzy
+-msgid "the '-' strfmon flag"
+-msgstr "l'opció \"-\" de strfmon"
+-
+-#: c-format.c:491
+-msgid "field width in strfmon format"
+-msgstr "amplària de camp en format strfmon"
+-
+-#: c-format.c:492
+-msgid "left precision"
+-msgstr "precisió esquerra"
+-
+-#: c-format.c:492
+-msgid "left precision in strfmon format"
+-msgstr "precisió esquerra en format strfmon"
+-
+-#: c-format.c:493
+-msgid "right precision"
+-msgstr "precisió de dreta"
+-
+-#: c-format.c:493
+-msgid "right precision in strfmon format"
+-msgstr "precisió de dreta en format strfmon"
+-
+-#: c-format.c:494
+-msgid "length modifier in strfmon format"
+-msgstr "modificador de longitud en format strfmon"
+-
+-#: c-format.c:1725
+-msgid "field precision"
+-msgstr "precisió del camp"
+-
+-#: c-incpath.c:74
+-#, c-format
+-msgid "ignoring duplicate directory \"%s\"\n"
+-msgstr "ignorant el directori duplicat \"%s\"\n"
+-
+-#: c-incpath.c:77
+-#, c-format
+-msgid " as it is a non-system directory that duplicates a system directory\n"
+-msgstr " com és un directori que no és del sistema que duplica un directori del sistema\n"
+-
+-#: c-incpath.c:81
+-#, c-format
+-msgid "ignoring nonexistent directory \"%s\"\n"
+-msgstr "ignorant el directori inexistent \"%s\"\n"
+-
+-#: c-incpath.c:344
+-#, c-format
+-msgid "#include \"...\" search starts here:\n"
+-msgstr "la recerca de #include \"...\" s'inicia aquí:\n"
+-
+-#: c-incpath.c:348
+-#, c-format
+-msgid "#include <...> search starts here:\n"
+-msgstr "la recerca de #include <...> s'inicia aquí:\n"
+-
+-#: c-incpath.c:353
+-#, c-format
+-msgid "End of search list.\n"
+-msgstr "Fi de la llista de recerca.\n"
+-
+-#: c-opts.c:1484
+-msgid "<built-in>"
+-msgstr "<built-in>"
+-
+-#: c-opts.c:1502
+-#, fuzzy
+-msgid "<command-line>"
+-msgstr "<command line>"
+-
+-#: c-typeck.c:2448 c-typeck.c:4851 c-typeck.c:4853 c-typeck.c:4861
+-#: c-typeck.c:4891 c-typeck.c:6267
+-msgid "initializer element is not constant"
+-msgstr "l'element de valor inicial no és constant"
+-
+-#: c-typeck.c:4654
+-#, fuzzy
+-msgid "array initialized from parenthesized string constant"
+-msgstr "matriu de caràcters amb valors inicials assignats d'una cadena ampla"
+-
+-#: c-typeck.c:4715 cp/typeck2.c:677
+-#, gcc-internal-format
+-msgid "char-array initialized from wide string"
+-msgstr "matriu de caràcters amb valors inicials assignats d'una cadena ampla"
+-
+-#: c-typeck.c:4720
+-#, fuzzy
+-msgid "wchar_t-array initialized from non-wide string"
+-msgstr "matriu de caràcters amb valors inicials assignats d'una cadena ampla"
+-
+-#: c-typeck.c:4738 cp/typeck2.c:697
+-#, gcc-internal-format
+-msgid "initializer-string for array of chars is too long"
+-msgstr "la cadena de valors inicials per a la matriu de caràcters és massa llarga"
+-
+-#: c-typeck.c:4744
+-#, fuzzy
+-msgid "array of inappropriate type initialized from string constant"
+-msgstr "matriu de caràcters amb valors inicials assignats d'una cadena ampla"
+-
+-#. ??? This should not be an error when inlining calls to
+-#. unprototyped functions.
+-#: c-typeck.c:4808 c-typeck.c:4333 cp/typeck.c:1528
+-#, gcc-internal-format
+-msgid "invalid use of non-lvalue array"
+-msgstr "ús no vàlid de matriu no evaluada"
+-
+-#: c-typeck.c:4834
+-msgid "array initialized from non-constant array expression"
+-msgstr "matriu amb valors inicials assignats d'una expressió matricial que no és constant"
+-
+-#: c-typeck.c:4898 c-typeck.c:6271
+-#, gcc-internal-format
+-msgid "initializer element is not computable at load time"
+-msgstr "l'element de valor inicial no és calculable al moment de la càrrega"
+-
+-#. Although C99 is unclear about whether incomplete arrays
+-#. of VLAs themselves count as VLAs, it does not make
+-#. sense to permit them to be initialized given that
+-#. ordinary VLAs may not be initialized.
+-#: c-typeck.c:4909 c-decl.c:3222 c-decl.c:3237
+-#, gcc-internal-format
+-msgid "variable-sized object may not be initialized"
+-msgstr "un objecte de grandària variable no pot tenir valor inicial"
+-
+-#: c-typeck.c:4913
+-msgid "invalid initializer"
+-msgstr "valor inicial no vàlid"
+-
+-#: c-typeck.c:5387
+-msgid "extra brace group at end of initializer"
+-msgstr "grup extra de claus al final dels valors inicials"
+-
+-#: c-typeck.c:5407
+-msgid "missing braces around initializer"
+-msgstr "falten claus al voltant dels valors inicials"
+-
+-#: c-typeck.c:5468
+-msgid "braces around scalar initializer"
+-msgstr "claus al voltant del valor inicial escalar"
+-
+-#: c-typeck.c:5525
+-msgid "initialization of flexible array member in a nested context"
+-msgstr "iniciació d'un membre de matriu flexible en un context niat"
+-
+-#: c-typeck.c:5527
+-msgid "initialization of a flexible array member"
+-msgstr "iniciació d'un membre de matriu flexible"
+-
+-#: c-typeck.c:5554
+-msgid "missing initializer"
+-msgstr "falta valor inicial"
+-
+-#: c-typeck.c:5576
+-msgid "empty scalar initializer"
+-msgstr "valor inicial escalar buidor"
+-
+-#: c-typeck.c:5581
+-msgid "extra elements in scalar initializer"
+-msgstr "elements extres en valor inicial escalar"
+-
+-#: c-typeck.c:5678 c-typeck.c:5738
+-msgid "array index in non-array initializer"
+-msgstr "índex de matriu en valor inicial que no és de matriu"
+-
+-#: c-typeck.c:5683 c-typeck.c:5791
+-msgid "field name not in record or union initializer"
+-msgstr "el nom del camp no està en e l'inicialitzador de record o union"
+-
+-#: c-typeck.c:5729
+-#, fuzzy
+-msgid "array index in initializer not of integer type"
+-msgstr "l'índex de matriu en el valor inicial excedeix els límits de la matriu"
+-
+-#: c-typeck.c:5734 c-typeck.c:5736
+-msgid "nonconstant array index in initializer"
+-msgstr "índex de matriu no constant en valor inicial"
+-
+-#: c-typeck.c:5740 c-typeck.c:5743
+-msgid "array index in initializer exceeds array bounds"
+-msgstr "l'índex de matriu en el valor inicial excedeix els límits de la matriu"
+-
+-#: c-typeck.c:5754
+-msgid "empty index range in initializer"
+-msgstr "límits d'índexs buits en valor inicial"
+-
+-#: c-typeck.c:5763
+-msgid "array index range in initializer exceeds array bounds"
+-msgstr "els límits d'índexs de la matriu en el valor inicial excedeixen els límits de la matriu"
+-
+-#: c-typeck.c:5838 c-typeck.c:5861 c-typeck.c:6335
+-msgid "initialized field with side-effects overwritten"
+-msgstr "camp iniciat amb efectes laterals sobreescrits"
+-
+-#: c-typeck.c:5840 c-typeck.c:5863 c-typeck.c:6337
+-#, fuzzy
+-msgid "initialized field overwritten"
+-msgstr "camp iniciat amb efectes laterals sobreescrits"
+-
+-#: c-typeck.c:6545
+-msgid "excess elements in char array initializer"
+-msgstr "excés d'elements en valors inicials de matriu de caràcters"
+-
+-#: c-typeck.c:6552 c-typeck.c:6598
+-msgid "excess elements in struct initializer"
+-msgstr "excés d'elements en valors inicials de struct"
+-
+-#: c-typeck.c:6613
+-msgid "non-static initialization of a flexible array member"
+-msgstr "iniciació no estàtica d'un membre de matriu flexible"
+-
+-#: c-typeck.c:6681
+-msgid "excess elements in union initializer"
+-msgstr "excés d'elements en valors inicials d'union"
+-
+-#: c-typeck.c:6768
+-msgid "excess elements in array initializer"
+-msgstr "excés d'elements en valors inicials de matriu"
+-
+-#: c-typeck.c:6798
+-msgid "excess elements in vector initializer"
+-msgstr "excés d'elements en valor inicial vectorial"
+-
+-#: c-typeck.c:6822
+-msgid "excess elements in scalar initializer"
+-msgstr "excés d'elements en valor inicial escalar"
+-
+-#: cfgrtl.c:1925
+-msgid "flow control insn inside a basic block"
+-msgstr "control de fluix insn dintre el bloc bàsic"
+-
+-#: cfgrtl.c:2054
+-msgid "wrong insn in the fallthru edge"
+-msgstr "insn erroni en la vora del respatller"
+-
+-#: cfgrtl.c:2110
+-msgid "insn outside basic block"
+-msgstr "insn fora del bloc bàsic"
+-
+-#: cfgrtl.c:2117
+-msgid "return not followed by barrier"
+-msgstr "return no és seguit per una barrera"
+-
+-#: cgraph.c:339 ipa-inline.c:417
+-msgid "function body not available"
+-msgstr "la funció cso no és disponible"
+-
+-#: cgraph.c:341 cgraphbuild.c:96
+-msgid "redefined extern inline functions are not considered for inlining"
+-msgstr ""
+-
+-#: cgraph.c:344 cgraphbuild.c:103
+-msgid "function not considered for inlining"
+-msgstr ""
+-
+-#: cgraph.c:346 cgraphbuild.c:99
+-msgid "function not inlinable"
+-msgstr "la funció no pot ser «inline»"
+-
+-#: cgraphbuild.c:101
+-#, fuzzy
+-msgid "mismatched arguments"
+-msgstr "claus sense coincidència en especificacions"
+-
+-#: collect2.c:378 gcc.c:6897
+-#, fuzzy, c-format
+-msgid "internal gcc abort in %s, at %s:%d"
+-msgstr "abandó en %s, en %s:%d"
+-
+-#: collect2.c:889
+-#, c-format
+-msgid "no arguments"
+-msgstr "sense arguments"
+-
+-#: collect2.c:1263 collect2.c:1411 collect2.c:1446
+-#, c-format
+-msgid "fopen %s"
+-msgstr "fopen %s"
+-
+-#: collect2.c:1266 collect2.c:1416 collect2.c:1449
+-#, c-format
+-msgid "fclose %s"
+-msgstr "fclose %s"
+-
+-#: collect2.c:1275
+-#, c-format
+-msgid "collect2 version %s"
+-msgstr "collect2 versió %s"
+-
+-#: collect2.c:1365
+-#, c-format
+-msgid "%d constructor(s) found\n"
+-msgstr "es troba(en) %d constructor(s)\n"
+-
+-#: collect2.c:1366
+-#, c-format
+-msgid "%d destructor(s) found\n"
+-msgstr "es troba(en) %d destructor(s)\n"
+-
+-#: collect2.c:1367
+-#, c-format
+-msgid "%d frame table(s) found\n"
+-msgstr "es troba(en) %d marcs de matriu(es)\n"
+-
+-#: collect2.c:1504
+-#, fuzzy, c-format
+-msgid "can't get program status"
+-msgstr "%s: %s: no es pot obtenir l'estat: %s\n"
+-
+-#: collect2.c:1573
+-#, fuzzy, c-format
+-msgid "could not open response file %s"
+-msgstr "No es pot obrir el fitxer de codi font %s.\n"
+-
+-#: collect2.c:1578
+-#, fuzzy, c-format
+-msgid "could not write to response file %s"
+-msgstr "No es pot trobar el fitxer d'especificacions %s\n"
+-
+-#: collect2.c:1583
+-#, fuzzy, c-format
+-msgid "could not close response file %s"
+-msgstr "No es pot obrir el fitxer de codi font %s.\n"
+-
+-#: collect2.c:1601
+-#, c-format
+-msgid "[cannot find %s]"
+-msgstr "[no es pot trobar %s]"
+-
+-#: collect2.c:1616
+-#, fuzzy, c-format
+-msgid "cannot find '%s'"
+-msgstr "no es pot trobar \"%s\""
+-
+-#: collect2.c:1620 collect2.c:2112 collect2.c:2267 gcc.c:2978
+-#, c-format
+-msgid "pex_init failed"
+-msgstr ""
+-
+-#: collect2.c:1658
+-#, c-format
+-msgid "[Leaving %s]\n"
+-msgstr "[Deixant %s]\n"
+-
+-#: collect2.c:1878
+-#, c-format
+-msgid ""
+-"\n"
+-"write_c_file - output name is %s, prefix is %s\n"
+-msgstr ""
+-"\n"
+-"write_c_file - el nom de sortida és %s, el prefix és %s\n"
+-
+-#: collect2.c:2086
+-#, fuzzy, c-format
+-msgid "cannot find 'nm'"
+-msgstr "no es pot trobar \"nm\""
+-
+-#: collect2.c:2133
+-#, fuzzy, c-format
+-msgid "can't open nm output"
+-msgstr "no es pot obrir %s"
+-
+-#: collect2.c:2177
+-#, c-format
+-msgid "init function found in object %s"
+-msgstr "es va trobar la funció init en l'objecte %s"
+-
+-#: collect2.c:2185
+-#, c-format
+-msgid "fini function found in object %s"
+-msgstr "es va trobar la funció fini en l'objecte %s"
+-
+-#: collect2.c:2288
+-#, fuzzy, c-format
+-msgid "can't open ldd output"
+-msgstr "no es pot obrir %s"
+-
+-#: collect2.c:2291
+-#, c-format
+-msgid ""
+-"\n"
+-"ldd output with constructors/destructors.\n"
+-msgstr ""
+-"\n"
+-"sortida de ldd amb constructors/destructors.\n"
+-
+-#: collect2.c:2306
+-#, c-format
+-msgid "dynamic dependency %s not found"
+-msgstr "no es troba la dependència dinàmica %s"
+-
+-#: collect2.c:2318
+-#, c-format
+-msgid "unable to open dynamic dependency '%s'"
+-msgstr "no es pot obrir la dependència dinàmica \"%s\""
+-
+-#: collect2.c:2474
+-#, c-format
+-msgid "%s: not a COFF file"
+-msgstr "%s: no és un fitxer COFF"
+-
+-#: collect2.c:2594
+-#, c-format
+-msgid "%s: cannot open as COFF file"
+-msgstr "%s: no es pot obrir com un fitxer COFF"
+-
+-#: collect2.c:2652
+-#, c-format
+-msgid "library lib%s not found"
+-msgstr "no es troba la biblioteca lib%s"
+-
+-#: cppspec.c:106
+-#, c-format
+-msgid "\"%s\" is not a valid option to the preprocessor"
+-msgstr "\"%s\" no es una opció vàlida per el preprocessador"
+-
+-#: cppspec.c:128
+-#, c-format
+-msgid "too many input files"
+-msgstr "massa fitxers d'entrada"
+-
+-#: diagnostic.c:188
+-#, c-format
+-msgid "%s:%d: confused by earlier errors, bailing out\n"
+-msgstr "%s:%d: confusió per errors precedentes, abandó\n"
+-
+-#: diagnostic.c:235
+-#, fuzzy, c-format
+-msgid "compilation terminated due to -Wfatal-errors.\n"
+-msgstr "compilació acabada.\n"
+-
+-#: diagnostic.c:244
+-#, c-format
+-msgid ""
+-"Please submit a full bug report,\n"
+-"with preprocessed source if appropriate.\n"
+-"See %s for instructions.\n"
+-msgstr ""
+-"Si us plau, envieu un informe d'error complet,\n"
+-"amb la font preprocessada si és oportú.\n"
+-"Consulta %s per a les instruccions.\n"
+-
+-#: diagnostic.c:253
+-#, c-format
+-msgid "compilation terminated.\n"
+-msgstr "compilació acabada.\n"
+-
+-#: diagnostic.c:641
+-#, c-format
+-msgid "Internal compiler error: Error reporting routines re-entered.\n"
+-msgstr "Error intern del compilador: Error al reportar rutines reentrades.\n"
+-
+-#: final.c:1136
+-msgid "negative insn length"
+-msgstr "longitud insn negativa"
+-
+-#: final.c:2609
+-msgid "could not split insn"
+-msgstr "no es pot separar insn"
+-
+-#: final.c:2979
+-#, fuzzy
+-msgid "invalid 'asm': "
+-msgstr "\"asm\" no vàlid: "
+-
+-#: final.c:3162
+-#, c-format
+-msgid "nested assembly dialect alternatives"
+-msgstr "alternatives de dialecte d'ensamblador imbricades"
+-
+-#: final.c:3179 final.c:3191
+-#, c-format
+-msgid "unterminated assembly dialect alternative"
+-msgstr "alternativa de dialecte d'ensamblador no terminada"
+-
+-#: final.c:3238
+-#, c-format
+-msgid "operand number missing after %%-letter"
+-msgstr "falta nombre operand després de %%-letter"
+-
+-#: final.c:3241 final.c:3282
+-#, c-format
+-msgid "operand number out of range"
+-msgstr "nombre operador fora de límits"
+-
+-#: final.c:3301
+-#, c-format
+-msgid "invalid %%-code"
+-msgstr "%%-codi no vàlid"
+-
+-#: final.c:3331
+-#, fuzzy, c-format
+-msgid "'%%l' operand isn't a label"
+-msgstr "l'operand \"%%l\" no és una etiqueta"
+-
+-#. We can't handle floating point constants;
+-#. PRINT_OPERAND must handle them.
+-#. We can't handle floating point constants; PRINT_OPERAND must
+-#. handle them.
+-#. We can't handle floating point constants;
+-#. PRINT_OPERAND must handle them.
+-#: final.c:3433 vmsdbgout.c:487 config/i386/i386.c:8143
+-#: config/pdp11/pdp11.c:1704
+-#, c-format
+-msgid "floating constant misused"
+-msgstr "constant de coma flotant mal usada"
+-
+-#: final.c:3493 vmsdbgout.c:544 config/i386/i386.c:8224
+-#: config/pdp11/pdp11.c:1751
+-#, c-format
+-msgid "invalid expression as operand"
+-msgstr "expressió no vàlida com a operand"
+-
+-#: gcc.c:1704
+-#, c-format
+-msgid "Using built-in specs.\n"
+-msgstr "Usant especificacions internes.\n"
+-
+-#: gcc.c:1887
+-#, c-format
+-msgid ""
+-"Setting spec %s to '%s'\n"
+-"\n"
+-msgstr ""
+-"Canviant l'especificació de %s a \"%s\"\n"
+-"\n"
+-
+-#: gcc.c:2002
+-#, c-format
+-msgid "Reading specs from %s\n"
+-msgstr "Llegint especificacions de %s\n"
+-
+-#: gcc.c:2098 gcc.c:2117
+-#, c-format
+-msgid "specs %%include syntax malformed after %ld characters"
+-msgstr "specs sintaxi mal formada de %%include després de %ld caràcters"
+-
+-#: gcc.c:2125
+-#, c-format
+-msgid "could not find specs file %s\n"
+-msgstr "No es pot trobar el fitxer d'especificacions %s\n"
+-
+-#: gcc.c:2142 gcc.c:2150 gcc.c:2159 gcc.c:2168
+-#, c-format
+-msgid "specs %%rename syntax malformed after %ld characters"
+-msgstr "specs sintaxi mal formada de %%rename després de %ld caràcters"
+-
+-#: gcc.c:2177
+-#, c-format
+-msgid "specs %s spec was not found to be renamed"
+-msgstr "specs l'especificació %s no es va trobar per a ser re-nomenada"
+-
+-#: gcc.c:2184
+-#, c-format
+-msgid "%s: attempt to rename spec '%s' to already defined spec '%s'"
+-msgstr ""
+-
+-#: gcc.c:2189
+-#, c-format
+-msgid "rename spec %s to %s\n"
+-msgstr "re-nomenada especificació %s a %s\n"
+-
+-#: gcc.c:2191
+-#, c-format
+-msgid ""
+-"spec is '%s'\n"
+-"\n"
+-msgstr ""
+-"la especificació és \"%s\"\n"
+-"\n"
+-
+-#: gcc.c:2204
+-#, c-format
+-msgid "specs unknown %% command after %ld characters"
+-msgstr "specs ordre %% desconegut després de %ld caràcters"
+-
+-#: gcc.c:2215 gcc.c:2228
+-#, c-format
+-msgid "specs file malformed after %ld characters"
+-msgstr "specs fitxer mal format després de %ld caràcters"
+-
+-#: gcc.c:2281
+-#, c-format
+-msgid "spec file has no spec for linking"
+-msgstr "el fitxer d'especificacions no té especificacions per a enllaçar"
+-
+-#: gcc.c:2609 gcc.c:4751
+-#, c-format
+-msgid "%s\n"
+-msgstr "%s\n"
+-
+-#: gcc.c:2809
+-#, fuzzy, c-format
+-msgid "system path '%s' is not absolute"
+-msgstr "la reservació \"%s\" no s'utilitza"
+-
+-#: gcc.c:2872
+-#, c-format
+-msgid "-pipe not supported"
+-msgstr "-pipe no té suport"
+-
+-#: gcc.c:2934
+-#, c-format
+-msgid ""
+-"\n"
+-"Go ahead? (y or n) "
+-msgstr ""
+-"\n"
+-"Continuar? (s o n) "
+-
+-#: gcc.c:3017
+-#, fuzzy
+-msgid "failed to get exit status"
+-msgstr "ld va retornar l'estat de sortida %d"
+-
+-#: gcc.c:3023
+-msgid "failed to get process times"
+-msgstr ""
+-
+-#: gcc.c:3049
+-#, c-format
+-msgid ""
+-"Internal error: %s (program %s)\n"
+-"Please submit a full bug report.\n"
+-"See %s for instructions."
+-msgstr ""
+-"Error intern: %s (programa %s)\n"
+-"Per favor envieu un informe complet d'error.\n"
+-"Consulta %s per a més instruccions."
+-
+-#: gcc.c:3075
+-#, c-format
+-msgid "# %s %.2f %.2f\n"
+-msgstr "# %s %.2f %.2f\n"
+-
+-#: gcc.c:3211
+-#, c-format
+-msgid "Usage: %s [options] file...\n"
+-msgstr "Utilització: %s [opcions] fitxer...\n"
+-
+-#: gcc.c:3212
+-msgid "Options:\n"
+-msgstr "Opcions:\n"
+-
+-#: gcc.c:3214
+-msgid " -pass-exit-codes Exit with highest error code from a phase\n"
+-msgstr " -pass-exit-codes Sortir amb el codi d'error més alt d'una fase\n"
+-
+-#: gcc.c:3215
+-msgid " --help Display this information\n"
+-msgstr " --help Mostra aquesta informació\n"
+-
+-#: gcc.c:3216
+-msgid " --target-help Display target specific command line options\n"
+-msgstr ""
+-" --target-help Mostra opcions de línia d'ordres específiques de\n"
+-" l'objectiu\n"
+-
+-#: gcc.c:3217
+-msgid " --help={target|optimizers|warnings|undocumented|params}[,{[^]joined|[^]separate}]\n"
+-msgstr ""
+-
+-#: gcc.c:3218
+-#, fuzzy
+-msgid " Display specific types of command line options\n"
+-msgstr ""
+-" --target-help Mostra opcions de línia d'ordres específiques de\n"
+-" l'objectiu\n"
+-
+-#: gcc.c:3220
+-msgid " (Use '-v --help' to display command line options of sub-processes)\n"
+-msgstr " (Usi \"-v --help\" per a mostrar les opcions de línia d'ordres dels subprocès)\n"
+-
+-#: gcc.c:3221
+-msgid " -dumpspecs Display all of the built in spec strings\n"
+-msgstr " -dumpspecs Mostra totes les cadenes internes d'especificació\n"
+-
+-#: gcc.c:3222
+-msgid " -dumpversion Display the version of the compiler\n"
+-msgstr " -dumpversion Mostra la versió del compilador\n"
+-
+-#: gcc.c:3223
+-msgid " -dumpmachine Display the compiler's target processor\n"
+-msgstr " -dumpmachine Mostra el processador objectiu del compilador\n"
+-
+-#: gcc.c:3224
+-msgid " -print-search-dirs Display the directories in the compiler's search path\n"
+-msgstr ""
+-" -print-search-dirs Mostra els directoris en la ruta de recerca del\n"
+-" compilador\n"
+-
+-#: gcc.c:3225
+-msgid " -print-libgcc-file-name Display the name of the compiler's companion library\n"
+-msgstr ""
+-" -print-libgcc-file-name Mostra el nom de la biblioteca que acompanya el\n"
+-" compilador\n"
+-
+-#: gcc.c:3226
+-msgid " -print-file-name=<lib> Display the full path to library <lib>\n"
+-msgstr " -print-file-name=<lib> Mostra la ruta completa a la biblioteca <lib>\n"
+-
+-#: gcc.c:3227
+-msgid " -print-prog-name=<prog> Display the full path to compiler component <prog>\n"
+-msgstr ""
+-" -print-prog-name=<prog> Mostra la ruta completa del programa component del\n"
+-" compilador <prog>\n"
+-
+-#: gcc.c:3228
+-msgid " -print-multi-directory Display the root directory for versions of libgcc\n"
+-msgstr " -print-multi-directory Mostra el directori arrel per a versoins de libgcc\n"
+-
+-#: gcc.c:3229
+-msgid ""
+-" -print-multi-lib Display the mapping between command line options and\n"
+-" multiple library search directories\n"
+-msgstr ""
+-" -print-multi-lib Mostra el mapatge entre les opcions de línia\n"
+-" d'ordres i els múltiples directoris de la recerca\n"
+-" de biblioteques\n"
+-
+-#: gcc.c:3232
+-msgid " -print-multi-os-directory Display the relative path to OS libraries\n"
+-msgstr " -print-multi-os-directory Mostra la ruta relativa per a les biblioteques del SO\n"
+-
+-#: gcc.c:3233
+-msgid " -print-sysroot-headers-suffix Display the sysroot suffix used to find headers\n"
+-msgstr ""
+-
+-#: gcc.c:3234
+-msgid " -Wa,<options> Pass comma-separated <options> on to the assembler\n"
+-msgstr " -Wa,<options> Passa <opcions> separades per coma al ensamblador\n"
+-
+-#: gcc.c:3235
+-msgid " -Wp,<options> Pass comma-separated <options> on to the preprocessor\n"
+-msgstr " -Wp,<opcions> Passa <opcions> separades per coma al preprocesador\n"
+-
+-#: gcc.c:3236
+-msgid " -Wl,<options> Pass comma-separated <options> on to the linker\n"
+-msgstr " -Wl,<opcions> Passa <opcions> separades per coma al enllaçador\n"
+-
+-#: gcc.c:3237
+-msgid " -Xassembler <arg> Pass <arg> on to the assembler\n"
+-msgstr " -Xassembler <arg> Passa <arg> al ensamblador\n"
+-
+-#: gcc.c:3238
+-msgid " -Xpreprocessor <arg> Pass <arg> on to the preprocessor\n"
+-msgstr " -Xpreprocessor <arg> Passa el <arg> al preprocesador\n"
+-
+-#: gcc.c:3239
+-msgid " -Xlinker <arg> Pass <arg> on to the linker\n"
+-msgstr " -Xlinker <arg> Passa el <arg> al enllaçador\n"
+-
+-#: gcc.c:3240
+-#, fuzzy
+-msgid " -combine Pass multiple source files to compiler at once\n"
+-msgstr " -o <fitxer> Col·loca la sortida en el <fitxer>\n"
+-
+-#: gcc.c:3241
+-msgid " -save-temps Do not delete intermediate files\n"
+-msgstr " -save-temps No esborra els fitxers intermedis\n"
+-
+-#: gcc.c:3242
+-msgid " -pipe Use pipes rather than intermediate files\n"
+-msgstr " -pipe Usa canonades en lloc de fitxers intermedis\n"
+-
+-#: gcc.c:3243
+-msgid " -time Time the execution of each subprocess\n"
+-msgstr " -time Obté el temps d'execució de cada subprocès\n"
+-
+-#: gcc.c:3244
+-msgid " -specs=<file> Override built-in specs with the contents of <file>\n"
+-msgstr ""
+-" -specs=<file> Sobreposa les especificacions internes amb el\n"
+-" contingut de <fitxer>\n"
+-
+-#: gcc.c:3245
+-msgid " -std=<standard> Assume that the input sources are for <standard>\n"
+-msgstr ""
+-" -std=<estàndard> Assumeix qu'els fitxers d'entrada són per a el\n"
+-" <estàndard>\n"
+-
+-#: gcc.c:3246
+-msgid ""
+-" --sysroot=<directory> Use <directory> as the root directory for headers\n"
+-" and libraries\n"
+-msgstr ""
+-
+-#: gcc.c:3249
+-msgid " -B <directory> Add <directory> to the compiler's search paths\n"
+-msgstr ""
+-" -B <directori> Agrega el <directori> a les rutes de recerca del\n"
+-" compilador\n"
+-
+-#: gcc.c:3250
+-msgid " -b <machine> Run gcc for target <machine>, if installed\n"
+-msgstr ""
+-" -b <màquina> Executa gcc per a l'objectiu <màquina>,\n"
+-" si va ser instal·lat\n"
+-
+-#: gcc.c:3251
+-msgid " -V <version> Run gcc version number <version>, if installed\n"
+-msgstr ""
+-" -V <versió> Executa el gcc amb nombre de versió <versió>,\n"
+-" si va ser instal·lat\n"
+-
+-#: gcc.c:3252
+-msgid " -v Display the programs invoked by the compiler\n"
+-msgstr " -v Mostra els programes invocats pel compilador\n"
+-
+-#: gcc.c:3253
+-msgid " -### Like -v but options quoted and commands not executed\n"
+-msgstr ""
+-" -### Com -v però les opcions i ordres entr \"\" no estan\n"
+-" executades\n"
+-
+-#: gcc.c:3254
+-msgid " -E Preprocess only; do not compile, assemble or link\n"
+-msgstr " -E Solament preprocessa; no compila, ensambla o enllaça\n"
+-
+-#: gcc.c:3255
+-msgid " -S Compile only; do not assemble or link\n"
+-msgstr " -S Solament compila; no ensambla o enllaça\n"
+-
+-#: gcc.c:3256
+-msgid " -c Compile and assemble, but do not link\n"
+-msgstr " -c Compila i ensambla, però no enllaça\n"
+-
+-#: gcc.c:3257
+-msgid " -o <file> Place the output into <file>\n"
+-msgstr " -o <fitxer> Col·loca la sortida en el <fitxer>\n"
+-
+-#: gcc.c:3258
+-msgid ""
+-" -x <language> Specify the language of the following input files\n"
+-" Permissible languages include: c c++ assembler none\n"
+-" 'none' means revert to the default behavior of\n"
+-" guessing the language based on the file's extension\n"
+-msgstr ""
+-" -x <llenguatge> Especifica el llenguatge dels següents fitxers d''\n"
+-" entrada. Els llenguatges permesos inclouen: c c++\n"
+-" assembler none. \"none\" significa revertir a la\n"
+-" conducta habitual de endevinar el llenguatge basat\n"
+-" en l'extensió del fitxer\n"
+-
+-#: gcc.c:3265
+-#, c-format
+-msgid ""
+-"\n"
+-"Options starting with -g, -f, -m, -O, -W, or --param are automatically\n"
+-" passed on to the various sub-processes invoked by %s. In order to pass\n"
+-" other options on to these processes the -W<letter> options must be used.\n"
+-msgstr ""
+-"\n"
+-"Les opcions que comencen amb -g, -f, -m, -O, -W, o --param es passen\n"
+-" automàticament als varis subprocesos invocats per %s. Per passar altres\n"
+-" opcions a aquests processos es deuen usar les opcions -W<lletra>\n"
+-
+-#: gcc.c:3389
+-#, fuzzy, c-format
+-msgid "'-%c' option must have argument"
+-msgstr "l'opció \"-%c\" ha de tenir arguments"
+-
+-#: gcc.c:3411
+-#, fuzzy, c-format
+-msgid "couldn't run '%s': %s"
+-msgstr "no és pot obrir %s"
+-
+-#. translate_options () has turned --version into -fversion.
+-#: gcc.c:3612
+-#, fuzzy, c-format
+-msgid "%s %s%s\n"
+-msgstr "%s \"%s\"\n"
+-
+-#: gcc.c:3615 gcov.c:426 fortran/gfortranspec.c:380 java/jcf-dump.c:1168
+-msgid "(C)"
+-msgstr ""
+-
+-#: gcc.c:3616 java/jcf-dump.c:1169
+-#, c-format
+-msgid ""
+-"This is free software; see the source for copying conditions. There is NO\n"
+-"warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.\n"
+-"\n"
+-msgstr ""
+-"Això és programari lliure; vegi el codi font per a les condicions de còpia.\n"
+-"No hi ha CAP garantia; ni tan sols de COMERCIABILITAT o\n"
+-"ADEQUACIÓ A UN PROPÒSIT PARTICULAR.\n"
+-
+-#: gcc.c:3728
+-#, fuzzy, c-format
+-msgid "argument to '-Xlinker' is missing"
+-msgstr "falta l'argument per a \"-Xlinker\""
+-
+-#: gcc.c:3736
+-#, fuzzy, c-format
+-msgid "argument to '-Xpreprocessor' is missing"
+-msgstr "falta l'argument per a \"-Xpreprocessor\""
+-
+-#: gcc.c:3743
+-#, fuzzy, c-format
+-msgid "argument to '-Xassembler' is missing"
+-msgstr "falta l'argument per a \"-Xassembler\""
+-
+-#: gcc.c:3750
+-#, fuzzy, c-format
+-msgid "argument to '-l' is missing"
+-msgstr "falta l'argument per a \"-I\""
+-
+-#: gcc.c:3771
+-#, fuzzy, c-format
+-msgid "argument to '-specs' is missing"
+-msgstr "falta l'argument per a \"-specs\""
+-
+-#: gcc.c:3785
+-#, fuzzy, c-format
+-msgid "argument to '-specs=' is missing"
+-msgstr "falta l'argument per a \"-specs=\""
+-
+-#: gcc.c:3826
+-#, c-format
+-msgid "'-%c' must come at the start of the command line"
+-msgstr ""
+-
+-#: gcc.c:3835
+-#, fuzzy, c-format
+-msgid "argument to '-B' is missing"
+-msgstr "falta l'argument per a \"-B\""
+-
+-#: gcc.c:4185
+-#, fuzzy, c-format
+-msgid "argument to '-x' is missing"
+-msgstr "falta l'argument per a \"-x\""
+-
+-#: gcc.c:4213
+-#, fuzzy, c-format
+-msgid "argument to '-%s' is missing"
+-msgstr "falta l'argument per a \"-%s\""
+-
+-#: gcc.c:4541
+-#, c-format
+-msgid "switch '%s' does not start with '-'"
+-msgstr ""
+-
+-#: gcc.c:4685
+-#, c-format
+-msgid "spec '%s' invalid"
+-msgstr ""
+-
+-#: gcc.c:4824
+-#, fuzzy, c-format
+-msgid "spec '%s' has invalid '%%0%c'"
+-msgstr "el camp de bits \"%s\" té un tipus no vàlid"
+-
+-#: gcc.c:5053
+-#, fuzzy, c-format
+-msgid "could not open temporary response file %s"
+-msgstr "no es pot obrir el fitxer de dump \"%s\""
+-
+-#: gcc.c:5059
+-#, fuzzy, c-format
+-msgid "could not write to temporary response file %s"
+-msgstr "No es pot trobar el fitxer d'especificacions %s\n"
+-
+-#: gcc.c:5065
+-#, fuzzy, c-format
+-msgid "could not close temporary response file %s"
+-msgstr "no es pot obrir el fitxer de dump \"%s\""
+-
+-#: gcc.c:5099
+-#, fuzzy, c-format
+-msgid "spec '%s' has invalid '%%W%c"
+-msgstr "el camp de bits \"%s\" té un tipus no vàlid"
+-
+-#: gcc.c:5119
+-#, fuzzy, c-format
+-msgid "spec '%s' has invalid '%%x%c'"
+-msgstr "el camp de bits \"%s\" té un tipus no vàlid"
+-
+-#: gcc.c:5341
+-#, c-format
+-msgid "Processing spec %c%s%c, which is '%s'\n"
+-msgstr "Processant l'especificació %c%s%c, el qual és \"%s\"\n"
+-
+-#: gcc.c:5465
+-#, fuzzy, c-format
+-msgid "unknown spec function '%s'"
+-msgstr "funció d'especificació \"%s\" desconeguda"
+-
+-#: gcc.c:5484
+-#, fuzzy, c-format
+-msgid "error in args to spec function '%s'"
+-msgstr "error en els arguments per a la funció d'especificació \"%s\""
+-
+-#: gcc.c:5532
+-#, c-format
+-msgid "malformed spec function name"
+-msgstr "nom de la funció d'especificació malformat"
+-
+-#. )
+-#: gcc.c:5535
+-#, c-format
+-msgid "no arguments for spec function"
+-msgstr "molt pocs arguments per a la funció spec"
+-
+-#: gcc.c:5554
+-#, c-format
+-msgid "malformed spec function arguments"
+-msgstr ""
+-
+-#: gcc.c:5800
+-#, c-format
+-msgid "braced spec '%s' is invalid at '%c'"
+-msgstr ""
+-
+-#: gcc.c:5888
+-#, c-format
+-msgid "braced spec body '%s' is invalid"
+-msgstr ""
+-
+-#: gcc.c:6421
+-#, c-format
+-msgid "install: %s%s\n"
+-msgstr "instal·lar: %s%s\n"
+-
+-#: gcc.c:6424
+-#, c-format
+-msgid "programs: %s\n"
+-msgstr "programes: %s\n"
+-
+-#: gcc.c:6426
+-#, c-format
+-msgid "libraries: %s\n"
+-msgstr "biblioteques: %s\n"
+-
+-#. The error status indicates that only one set of fixed
+-#. headers should be built.
+-#: gcc.c:6480
+-#, c-format
+-msgid "not configured with sysroot headers suffix"
+-msgstr ""
+-
+-#: gcc.c:6489
+-#, c-format
+-msgid ""
+-"\n"
+-"For bug reporting instructions, please see:\n"
+-msgstr ""
+-"\n"
+-"Per a instruccions de report de bug, si us plau per favor vegi:\n"
+-
+-#: gcc.c:6505
+-#, fuzzy, c-format
+-msgid "Target: %s\n"
+-msgstr "biblioteques: %s\n"
+-
+-#: gcc.c:6506
+-#, c-format
+-msgid "Configured with: %s\n"
+-msgstr "Configurat amb: %s\n"
+-
+-#: gcc.c:6520
+-#, c-format
+-msgid "Thread model: %s\n"
+-msgstr "Model de fils: %s\n"
+-
+-#: gcc.c:6531
+-#, fuzzy, c-format
+-msgid "gcc version %s %s\n"
+-msgstr "gcc versió %s\n"
+-
+-#: gcc.c:6533
+-#, fuzzy, c-format
+-msgid "gcc driver version %s %sexecuting gcc version %s\n"
+-msgstr "controlador gcc versió %s executant gcc versió %s\n"
+-
+-#: gcc.c:6541
+-#, c-format
+-msgid "no input files"
+-msgstr "no hi ha fitxers d'entrada"
+-
+-#: gcc.c:6590
+-#, fuzzy, c-format
+-msgid "cannot specify -o with -c or -S with multiple files"
+-msgstr "no es pot especificar -o amb -c o -S i múltiples llenguatges"
+-
+-#: gcc.c:6624
+-#, fuzzy, c-format
+-msgid "spec '%s' is invalid"
+-msgstr "el paràmetre \"%s\" té valor inicial"
+-
+-#: gcc.c:6760
+-#, c-format
+-msgid ""
+-"\n"
+-"Linker options\n"
+-"==============\n"
+-"\n"
+-msgstr ""
+-
+-#: gcc.c:6761
+-#, c-format
+-msgid ""
+-"Use \"-Wl,OPTION\" to pass \"OPTION\" to the linker.\n"
+-"\n"
+-msgstr ""
+-
+-#: gcc.c:7112
+-#, fuzzy, c-format
+-msgid "multilib spec '%s' is invalid"
+-msgstr "l'argument de patró %d no és vàlid"
+-
+-#: gcc.c:7303
+-#, fuzzy, c-format
+-msgid "multilib exclusions '%s' is invalid"
+-msgstr "múltiples camps inicialitzats en la unió \"%#T\""
+-
+-#: gcc.c:7361 gcc.c:7502
+-#, fuzzy, c-format
+-msgid "multilib select '%s' is invalid"
+-msgstr "l'argument de patró %d no és vàlid"
+-
+-#: gcc.c:7540
+-#, fuzzy, c-format
+-msgid "multilib exclusion '%s' is invalid"
+-msgstr "múltiples camps inicialitzats en la unió \"%#T\""
+-
+-#: gcc.c:7746
+-#, fuzzy, c-format
+-msgid "environment variable \"%s\" not defined"
+-msgstr "no es va definir la variable d'ambient DJGPP"
+-
+-#: gcc.c:7837 gcc.c:7842
+-#, fuzzy, c-format
+-msgid "invalid version number `%s'"
+-msgstr "opció \"%s\" no vàlida"
+-
+-#: gcc.c:7885
+-#, fuzzy, c-format
+-msgid "too few arguments to %%:version-compare"
+-msgstr "molt pocs arguments per a la funció"
+-
+-#: gcc.c:7891
+-#, fuzzy, c-format
+-msgid "too many arguments to %%:version-compare"
+-msgstr "massa arguments per a la funció"
+-
+-#: gcc.c:7932
+-#, c-format
+-msgid "unknown operator '%s' in %%:version-compare"
+-msgstr ""
+-
+-#: gcc.c:7966
+-#, c-format
+-msgid ""
+-"Assembler options\n"
+-"=================\n"
+-"\n"
+-msgstr ""
+-
+-#: gcc.c:7967
+-#, c-format
+-msgid ""
+-"Use \"-Wa,OPTION\" to pass \"OPTION\" to the assembler.\n"
+-"\n"
+-msgstr ""
+-
+-#: gcov.c:399
+-#, fuzzy, c-format
+-msgid ""
+-"Usage: gcov [OPTION]... SOURCEFILE...\n"
+-"\n"
+-msgstr ""
+-"Us: gcov [OPCIO]... FITXERFONT\n"
+-"\n"
+-
+-#: gcov.c:400
+-#, c-format
+-msgid ""
+-"Print code coverage information.\n"
+-"\n"
+-msgstr ""
+-"Escriure les informacions de la covertura del codi.\n"
+-"\n"
+-
+-#: gcov.c:401
+-#, c-format
+-msgid " -h, --help Print this help, then exit\n"
+-msgstr " -h, --help Mostra aquesta informació, i surt\n"
+-
+-#: gcov.c:402
+-#, c-format
+-msgid " -v, --version Print version number, then exit\n"
+-msgstr " -v, --version Mostra el numero de versió, i surt\n"
+-
+-#: gcov.c:403
+-#, c-format
+-msgid " -a, --all-blocks Show information for every basic block\n"
+-msgstr ""
+-
+-#: gcov.c:404
+-#, c-format
+-msgid " -b, --branch-probabilities Include branch probabilities in output\n"
+-msgstr " -b, --branch-probabilities Incloure les probabilitats de brancament en la sortida\n"
+-
+-#: gcov.c:405
+-#, c-format
+-msgid ""
+-" -c, --branch-counts Given counts of branches taken\n"
+-" rather than percentages\n"
+-msgstr ""
+-" -c, --branch-counts Dóna el compte de branques preses\n"
+-" enlloc de percentatges\n"
+-
+-#: gcov.c:407
+-#, c-format
+-msgid " -n, --no-output Do not create an output file\n"
+-msgstr " -n, --no-output No crea un fitxer de sortida\n"
+-
+-#: gcov.c:408
+-#, c-format
+-msgid ""
+-" -l, --long-file-names Use long output file names for included\n"
+-" source files\n"
+-msgstr ""
+-" -l, --long-file-names Usar nom de fitxers de sortida llargs pels\n"
+-" fitxers font inclòs\n"
+-
+-#: gcov.c:410
+-#, c-format
+-msgid " -f, --function-summaries Output summaries for each function\n"
+-msgstr " -f, --function-summaries Fer un resum per a cada funció\n"
+-
+-#: gcov.c:411
+-#, c-format
+-msgid " -o, --object-directory DIR|FILE Search for object files in DIR or called FILE\n"
+-msgstr " -o, --object-directory DIR|FIT Cerca els fitxers objectes en DIR o el FITxer\n"
+-
+-#: gcov.c:412
+-#, c-format
+-msgid " -p, --preserve-paths Preserve all pathname components\n"
+-msgstr ""
+-
+-#: gcov.c:413
+-#, c-format
+-msgid " -u, --unconditional-branches Show unconditional branch counts too\n"
+-msgstr ""
+-
+-#: gcov.c:414
+-#, c-format
+-msgid ""
+-"\n"
+-"For bug reporting instructions, please see:\n"
+-"%s.\n"
+-msgstr ""
+-"\n"
+-"Per a instrucions d'informe de bug, si us plau consulta:\n"
+-"%s.\n"
+-
+-#: gcov.c:424
+-#, fuzzy, c-format
+-msgid "gcov %s%s\n"
+-msgstr "gcov (GCC) %s\n"
+-
+-#: gcov.c:428
+-#, c-format
+-msgid ""
+-"This is free software; see the source for copying conditions.\n"
+-"There is NO warranty; not even for MERCHANTABILITY or \n"
+-"FITNESS FOR A PARTICULAR PURPOSE.\n"
+-"\n"
+-msgstr ""
+-"Això és programari lliure; vegi el codi font per a les condicions de còpia.\n"
+-"No hi ha CAP garantia; ni tan sols de COMERCIABILITAT o\n"
+-"ADEQUACIÓ A UN PROPÒSIT PARTICULAR.\n"
+-
+-#: gcov.c:524
+-#, c-format
+-msgid "%s:no functions found\n"
+-msgstr "%s:no es troben funcions\n"
+-
+-#: gcov.c:556 gcov.c:584 fortran/dump-parse-tree.c:63
+-#, c-format
+-msgid "\n"
+-msgstr "\n"
+-
+-#: gcov.c:571
+-#, fuzzy, c-format
+-msgid "%s:creating '%s'\n"
+-msgstr "%s:creant \"%s\"\n"
+-
+-#: gcov.c:575
+-#, fuzzy, c-format
+-msgid "%s:error writing output file '%s'\n"
+-msgstr "%s:error escrivint al fitxer de sortida \"%s\"\n"
+-
+-#: gcov.c:580
+-#, fuzzy, c-format
+-msgid "%s:could not open output file '%s'\n"
+-msgstr "%s:no es pot obrir el fitxer de sortida \"%s\"\n"
+-
+-#: gcov.c:729
+-#, fuzzy, c-format
+-msgid "%s:source file is newer than graph file '%s'\n"
+-msgstr "%s:el fitxer font és més nou qu'el fitxer graf \"%s\"\n"
+-
+-#: gcov.c:734
+-#, c-format
+-msgid "(the message is only displayed one per source file)\n"
+-msgstr ""
+-
+-#: gcov.c:758
+-#, c-format
+-msgid "%s:cannot open graph file\n"
+-msgstr "%s:no es pot obrir el fitxer de graf\n"
+-
+-#: gcov.c:764
+-#, c-format
+-msgid "%s:not a gcov graph file\n"
+-msgstr "%s:no és un fitxer de graf gcov\n"
+-
+-#: gcov.c:777
+-#, fuzzy, c-format
+-msgid "%s:version '%.4s', prefer '%.4s'\n"
+-msgstr "%s:versió \"%.4s\", prefereix \"%.4s\"\n"
+-
+-#: gcov.c:829
+-#, fuzzy, c-format
+-msgid "%s:already seen blocks for '%s'\n"
+-msgstr "%s:no línies per a \"%s\"\n"
+-
+-#: gcov.c:947
+-#, c-format
+-msgid "%s:corrupted\n"
+-msgstr "%s:corromput\n"
+-
+-#: gcov.c:1023
+-#, fuzzy, c-format
+-msgid "%s:cannot open data file, assuming not executed\n"
+-msgstr "%s:no es pot obrir el fitxer de dades\n"
+-
+-#: gcov.c:1030
+-#, c-format
+-msgid "%s:not a gcov data file\n"
+-msgstr "%s:no és un fitxer de dades gcov\n"
+-
+-#: gcov.c:1043
+-#, fuzzy, c-format
+-msgid "%s:version '%.4s', prefer version '%.4s'\n"
+-msgstr "%s:versió \"%.4s\", prefereix \"%.4s\"\n"
+-
+-#: gcov.c:1049
+-#, c-format
+-msgid "%s:stamp mismatch with graph file\n"
+-msgstr ""
+-
+-#: gcov.c:1078
+-#, fuzzy, c-format
+-msgid "%s:unknown function '%u'\n"
+-msgstr "%s:funció \"%u\" desconeguda\n"
+-
+-#: gcov.c:1091
+-#, fuzzy, c-format
+-msgid "%s:profile mismatch for '%s'\n"
+-msgstr "%s:no línies per a \"%s\"\n"
+-
+-#: gcov.c:1110
+-#, c-format
+-msgid "%s:overflowed\n"
+-msgstr "%s:sobreeixit\n"
+-
+-#: gcov.c:1134
+-#, c-format
+-msgid "%s:'%s' lacks entry and/or exit blocks\n"
+-msgstr ""
+-
+-#: gcov.c:1139
+-#, c-format
+-msgid "%s:'%s' has arcs to entry block\n"
+-msgstr ""
+-
+-#: gcov.c:1147
+-#, c-format
+-msgid "%s:'%s' has arcs from exit block\n"
+-msgstr ""
+-
+-#: gcov.c:1355
+-#, fuzzy, c-format
+-msgid "%s:graph is unsolvable for '%s'\n"
+-msgstr "%s:no línies per a \"%s\"\n"
+-
+-#: gcov.c:1435
+-#, fuzzy, c-format
+-msgid "%s '%s'\n"
+-msgstr "%s \"%s\"\n"
+-
+-#: gcov.c:1438
+-#, c-format
+-msgid "Lines executed:%s of %d\n"
+-msgstr "Es van executar %s de %d línies\n"
+-
+-#: gcov.c:1442
+-#, fuzzy, c-format
+-msgid "No executable lines\n"
+-msgstr "No hi ha línies de codi font executable"
+-
+-#: gcov.c:1448
+-#, c-format
+-msgid "Branches executed:%s of %d\n"
+-msgstr "%s de %d ramificacions executades\n"
+-
+-#: gcov.c:1452
+-#, c-format
+-msgid "Taken at least once:%s of %d\n"
+-msgstr "%s de %d ramificacions visitades almenys una vegada\n"
+-
+-#: gcov.c:1458
+-#, c-format
+-msgid "No branches\n"
+-msgstr "No hi ha ramificacions\n"
+-
+-#: gcov.c:1460
+-#, c-format
+-msgid "Calls executed:%s of %d\n"
+-msgstr "%s de %d crides executades\n"
+-
+-#: gcov.c:1464
+-#, c-format
+-msgid "No calls\n"
+-msgstr "No hi ha crides\n"
+-
+-#: gcov.c:1611
+-#, fuzzy, c-format
+-msgid "%s:no lines for '%s'\n"
+-msgstr "%s:no línies per a \"%s\"\n"
+-
+-#: gcov.c:1806
+-#, c-format
+-msgid "call %2d returned %s\n"
+-msgstr "la crida %2d retorna %s\n"
+-
+-#: gcov.c:1811
+-#, c-format
+-msgid "call %2d never executed\n"
+-msgstr "la crida %2d mai s'executa\n"
+-
+-#: gcov.c:1816
+-#, c-format
+-msgid "branch %2d taken %s%s\n"
+-msgstr "ramificació %2d presa %s%s\n"
+-
+-#: gcov.c:1820
+-#, c-format
+-msgid "branch %2d never executed\n"
+-msgstr "la ramificació %2d mai s'executa\n"
+-
+-#: gcov.c:1825
+-#, c-format
+-msgid "unconditional %2d taken %s\n"
+-msgstr "incondicional %2d va prendre %s\n"
+-
+-#: gcov.c:1828
+-#, c-format
+-msgid "unconditional %2d never executed\n"
+-msgstr "l'incondicional %2d mai s'executa\n"
+-
+-#: gcov.c:1864
+-#, c-format
+-msgid "%s:cannot open source file\n"
+-msgstr "%s:no es pot obrir el fitxer font\n"
+-
+-#: gcse.c:685
+-msgid "GCSE disabled"
+-msgstr "GCSE desactivat"
+-
+-#: gcse.c:6600
+-msgid "jump bypassing disabled"
+-msgstr "evitació de salts desactivada"
+-
+-#. Opening quotation mark.
+-#: intl.c:57
+-msgid "`"
+-msgstr ""
+-
+-#. Closing quotation mark.
+-#: intl.c:60
+-msgid "'"
+-msgstr ""
+-
+-#: ipa-inline.c:377
+-msgid "--param large-function-growth limit reached"
+-msgstr ""
+-
+-#: ipa-inline.c:392
+-msgid "--param large-stack-frame-growth limit reached"
+-msgstr ""
+-
+-#: ipa-inline.c:410
+-#, fuzzy
+-msgid "function not inline candidate"
+-msgstr "la funció no pot ser «inline»"
+-
+-#: ipa-inline.c:426
+-msgid "--param max-inline-insns-single limit reached"
+-msgstr ""
+-
+-#: ipa-inline.c:435
+-msgid "--param max-inline-insns-auto limit reached"
+-msgstr ""
+-
+-#: ipa-inline.c:461 ipa-inline.c:914 ipa-inline.c:1105 ipa-inline.c:1225
+-msgid "recursive inlining"
+-msgstr ""
+-
+-#: ipa-inline.c:922
+-msgid "call is unlikely and code size would grow"
+-msgstr ""
+-
+-#: ipa-inline.c:925
+-msgid "function not declared inline and code size would grow"
+-msgstr ""
+-
+-#: ipa-inline.c:927
+-msgid "optimizing for size and code size would grow"
+-msgstr ""
+-
+-#: ipa-inline.c:1013
+-msgid "--param inline-unit-growth limit reached"
+-msgstr ""
+-
+-#: langhooks.c:389
+-msgid "At top level:"
+-msgstr "En el nivell principal:"
+-
+-#: langhooks.c:407
+-#, fuzzy, c-format
+-msgid "In member function %qs"
+-msgstr "en la funció membre \"%s\":"
+-
+-#: langhooks.c:411
+-#, fuzzy, c-format
+-msgid "In function %qs"
+-msgstr "En la funció \"%s\":"
+-
+-#: langhooks.c:461
+-#, fuzzy, c-format
+-msgid " inlined from %qs at %s:%d:%d"
+-msgstr "En el fitxer inclòs de %s:%d"
+-
+-#: langhooks.c:467
+-#, fuzzy, c-format
+-msgid " inlined from %qs at %s:%d"
+-msgstr "En el fitxer inclòs de %s:%d"
+-
+-#: langhooks.c:473
+-#, fuzzy, c-format
+-msgid " inlined from %qs"
+-msgstr "En el fitxer inclòs des de %s:%u"
+-
+-#: loop-iv.c:2805 tree-ssa-loop-niter.c:1818
+-msgid "assuming that the loop is not infinite"
+-msgstr ""
+-
+-#: loop-iv.c:2806 tree-ssa-loop-niter.c:1819
+-msgid "cannot optimize possibly infinite loops"
+-msgstr ""
+-
+-#: loop-iv.c:2814 tree-ssa-loop-niter.c:1823
+-msgid "assuming that the loop counter does not overflow"
+-msgstr ""
+-
+-#: loop-iv.c:2815 tree-ssa-loop-niter.c:1824
+-msgid "cannot optimize loop, the loop counter may overflow"
+-msgstr ""
+-
+-#. What to print when a switch has no documentation.
+-#: opts.c:348
+-msgid "This switch lacks documentation"
+-msgstr ""
+-
+-#: opts.c:1159
+-msgid "[enabled]"
+-msgstr ""
+-
+-#: opts.c:1159
+-#, fuzzy
+-msgid "[disabled]"
+-msgstr "GCSE desactivat"
+-
+-#: opts.c:1170
+-#, c-format
+-msgid " No options with the desired characteristics were found\n"
+-msgstr ""
+-
+-#: opts.c:1172
+-#, c-format
+-msgid " All options with the desired characteristics have already been displayed\n"
+-msgstr ""
+-
+-#: opts.c:1226
+-msgid "The following options are target specific"
+-msgstr ""
+-
+-#: opts.c:1229
+-msgid "The following options control compiler warning messages"
+-msgstr ""
+-
+-#: opts.c:1232
+-#, fuzzy
+-msgid "The following options control optimizations"
+-msgstr "Realitzar les optimitzacions de cicle"
+-
+-#: opts.c:1235 opts.c:1273
+-msgid "The following options are language-independent"
+-msgstr ""
+-
+-#: opts.c:1238
+-msgid "The --param option recognizes the following as parameters"
+-msgstr ""
+-
+-#: opts.c:1245
+-msgid "The following options are specific to the language "
+-msgstr ""
+-
+-#: opts.c:1249
+-msgid "The following options are supported by the language "
+-msgstr ""
+-
+-#: opts.c:1260
+-#, fuzzy
+-msgid "The following options are not documented"
+-msgstr " Existeixen, però no estan documentades.\n"
+-
+-#: opts.c:1271
+-msgid "The following options are language-related"
+-msgstr ""
+-
+-#: opts.c:1403
+-#, c-format
+-msgid "warning: unrecognized argument to --help= switch: %.*s\n"
+-msgstr ""
+-
+-#: protoize.c:582
+-#, fuzzy, c-format
+-msgid "%s: error writing file '%s': %s\n"
+-msgstr "%s: error escrivint el fitxer \"%s\": %s\n"
+-
+-#: protoize.c:626
+-#, c-format
+-msgid "%s: usage '%s [ -VqfnkN ] [ -i <istring> ] [ filename ... ]'\n"
+-msgstr "%s: ùs \"%s [ -VqfnkN ] [ -i <istring> ] [ nom_fitxer ... ]\"\n"
+-
+-#: protoize.c:629
+-#, c-format
+-msgid "%s: usage '%s [ -VqfnkNlgC ] [ -B <dirname> ] [ filename ... ]'\n"
+-msgstr "%s: ùs \"%s [ -VqfnkNlgC ] [ -B <nom_directori> ] [ nom_fitxer ... ]\"\n"
+-
+-#: protoize.c:730
+-#, fuzzy, c-format
+-msgid "%s: warning: no read access for file '%s'\n"
+-msgstr "%s: avís: no hi ha accés de lectura pel fitxer \"%s\"\n"
+-
+-#: protoize.c:738
+-#, fuzzy, c-format
+-msgid "%s: warning: no write access for file '%s'\n"
+-msgstr "%s: avís: no hi ha accés d'escriptura pel fitxer \"%s\"\n"
+-
+-#: protoize.c:746
+-#, fuzzy, c-format
+-msgid "%s: warning: no write access for dir containing '%s'\n"
+-msgstr "%s: avís: no hi ha accés d'escriptura pel directori que conté \"%s\"\n"
+-
+-#. Catch cases like /.. where we try to backup to a
+-#. point above the absolute root of the logical file
+-#. system.
+-#: protoize.c:1133
+-#, c-format
+-msgid "%s: invalid file name: %s\n"
+-msgstr "%s: nom de fitxer no vàlid: %s\n"
+-
+-#: protoize.c:1281
+-#, c-format
+-msgid "%s: %s: can't get status: %s\n"
+-msgstr "%s: %s: no es pot obtenir l'estat: %s\n"
+-
+-#: protoize.c:1302
+-#, c-format
+-msgid ""
+-"\n"
+-"%s: fatal error: aux info file corrupted at line %d\n"
+-msgstr ""
+-"\n"
+-"%s: error fatal: fitxer d'informació auxiliar corrupte a la línia %d\n"
+-
+-#: protoize.c:1631
+-#, fuzzy, c-format
+-msgid "%s:%d: declaration of function '%s' takes different forms\n"
+-msgstr "%s:%d: la declaració de la funció `%s' pren formes diferents\n"
+-
+-#: protoize.c:1886
+-#, fuzzy, c-format
+-msgid "%s: compiling '%s'\n"
+-msgstr "%s: compilant `%s'\n"
+-
+-#: protoize.c:1909
+-#, c-format
+-msgid "%s: wait: %s\n"
+-msgstr "%s: esperar: %s\n"
+-
+-#: protoize.c:1914
+-#, c-format
+-msgid "%s: subprocess got fatal signal %d\n"
+-msgstr "%s: el subproces va rebre el senyal fatal %d\n"
+-
+-#: protoize.c:1922
+-#, c-format
+-msgid "%s: %s exited with status %d\n"
+-msgstr "%s: %s va acabar amb estat %d\n"
+-
+-#: protoize.c:1971
+-#, fuzzy, c-format
+-msgid "%s: warning: missing SYSCALLS file '%s'\n"
+-msgstr "%s: avís: falta el fitxer SYSCALLS \"%s\"\n"
+-
+-#: protoize.c:1980 protoize.c:2009
+-#, fuzzy, c-format
+-msgid "%s: can't read aux info file '%s': %s\n"
+-msgstr "%s: no es pot llegir el fitxer d'informació auxiliar \"%s\": %s\n"
+-
+-#: protoize.c:2025 protoize.c:2053
+-#, fuzzy, c-format
+-msgid "%s: can't get status of aux info file '%s': %s\n"
+-msgstr "%s: no es pot obtenir l'estat del fitxer d'informació auxiliar \"%s\": %s\n"
+-
+-#: protoize.c:2081
+-#, fuzzy, c-format
+-msgid "%s: can't open aux info file '%s' for reading: %s\n"
+-msgstr "%s: no es pot obrir el fitxer d'informació auxiliar \"%s\" per a lectura: %s\n"
+-
+-#: protoize.c:2099
+-#, fuzzy, c-format
+-msgid "%s: error reading aux info file '%s': %s\n"
+-msgstr "%s: error llegint el fitxer d'informació auxiliar \"%s\": %s\n"
+-
+-#: protoize.c:2112
+-#, fuzzy, c-format
+-msgid "%s: error closing aux info file '%s': %s\n"
+-msgstr "%s: error tancant el fitxer d'informació auxiliar \"%s\": %s\n"
+-
+-#: protoize.c:2128
+-#, fuzzy, c-format
+-msgid "%s: can't delete aux info file '%s': %s\n"
+-msgstr "%s: no es pot esborrar el fitxer d'informació auxiliar \"%s\": %s\n"
+-
+-#: protoize.c:2210 protoize.c:4180
+-#, fuzzy, c-format
+-msgid "%s: can't delete file '%s': %s\n"
+-msgstr "%s: no es pot esborrar el fitxer \"%s\": %s\n"
+-
+-#: protoize.c:2288
+-#, fuzzy, c-format
+-msgid "%s: warning: can't rename file '%s' to '%s': %s\n"
+-msgstr "%s: avís: no es pot renomenar el fitxer \"%s\" a \"%s\": %s\n"
+-
+-#: protoize.c:2410
+-#, c-format
+-msgid "%s: conflicting extern definitions of '%s'\n"
+-msgstr "%s: definicions externes de \"%s\" en conflicte\n"
+-
+-#: protoize.c:2414
+-#, c-format
+-msgid "%s: declarations of '%s' will not be converted\n"
+-msgstr "%s: les declaracions de \"%s\" no es convertiran\n"
+-
+-#: protoize.c:2416
+-#, c-format
+-msgid "%s: conflict list for '%s' follows:\n"
+-msgstr "%s: llistes de conflictes per a \"%s\" a continuació:\n"
+-
+-#: protoize.c:2449
+-#, fuzzy, c-format
+-msgid "%s: warning: using formals list from %s(%d) for function '%s'\n"
+-msgstr "%s: avís: usant llistes formals de %s(%d) per a la funció \"%s\"\n"
+-
+-#: protoize.c:2489
+-#, fuzzy, c-format
+-msgid "%s: %d: '%s' used but missing from SYSCALLS\n"
+-msgstr "%s: %d: s'usa \"%s\" però falta en SYSCALLS\n"
+-
+-#: protoize.c:2495
+-#, fuzzy, c-format
+-msgid "%s: %d: warning: no extern definition for '%s'\n"
+-msgstr "%s: %d: avís: no hi ha definició extern per a \"%s\"\n"
+-
+-#: protoize.c:2525
+-#, fuzzy, c-format
+-msgid "%s: warning: no static definition for '%s' in file '%s'\n"
+-msgstr "%s: avís: no hi ha definició static per a \"%s\" en el fitxer \"%s\"\n"
+-
+-#: protoize.c:2531
+-#, fuzzy, c-format
+-msgid "%s: multiple static defs of '%s' in file '%s'\n"
+-msgstr "%s: definicions static múltiples de \"%s\" en el fitxer \"%s\"\n"
+-
+-#: protoize.c:2701 protoize.c:2704
+-#, c-format
+-msgid "%s: %d: warning: source too confusing\n"
+-msgstr "%s: %d: avís: codi font massa confús\n"
+-
+-#: protoize.c:2899
+-#, c-format
+-msgid "%s: %d: warning: varargs function declaration not converted\n"
+-msgstr "%s: %d: avís: no es va convertir la declaració de la funció varargs\n"
+-
+-#: protoize.c:2914
+-#, fuzzy, c-format
+-msgid "%s: declaration of function '%s' not converted\n"
+-msgstr "%s: no es va convertir la declaració de la funció \"%s\"\n"
+-
+-#: protoize.c:3037
+-#, fuzzy, c-format
+-msgid "%s: warning: too many parameter lists in declaration of '%s'\n"
+-msgstr "%s: avís: massa llistes de paràmetres en la declaració de \"%s\"\n"
+-
+-#: protoize.c:3058
+-#, fuzzy, c-format
+-msgid ""
+-"\n"
+-"%s: warning: too few parameter lists in declaration of '%s'\n"
+-msgstr ""
+-"\n"
+-"%s: avís: molt poques llistes de paràmetres en la declaració de \"%s\"\n"
+-
+-#: protoize.c:3154
+-#, fuzzy, c-format
+-msgid "%s: %d: warning: found '%s' but expected '%s'\n"
+-msgstr "%s: %d: avís: es va trobar \"%s\" però s'esperava \"%s\"\n"
+-
+-#: protoize.c:3329
+-#, fuzzy, c-format
+-msgid "%s: local declaration for function '%s' not inserted\n"
+-msgstr "%s: no es va inserir la declaració local per a la funció \"%s\"\n"
+-
+-#: protoize.c:3356
+-#, fuzzy, c-format
+-msgid ""
+-"\n"
+-"%s: %d: warning: can't add declaration of '%s' into macro call\n"
+-msgstr ""
+-"\n"
+-"%s: %d: avís: no es pot afegir la declaració per a\"%s\" en la crida de macro\n"
+-
+-#: protoize.c:3428
+-#, fuzzy, c-format
+-msgid "%s: global declarations for file '%s' not inserted\n"
+-msgstr "%s: no es van inserir les declaracions globals pel fitxer \"%s\"\n"
+-
+-#: protoize.c:3518 protoize.c:3548
+-#, fuzzy, c-format
+-msgid "%s: definition of function '%s' not converted\n"
+-msgstr "%s: no es va convertir la definició de la funció \"%s\"\n"
+-
+-#: protoize.c:3537
+-#, c-format
+-msgid "%s: %d: warning: definition of %s not converted\n"
+-msgstr "%s: %d: avís: no es va convertir la definició de %s\n"
+-
+-#: protoize.c:3863
+-#, fuzzy, c-format
+-msgid "%s: found definition of '%s' at %s(%d)\n"
+-msgstr "%s: es va trobar la definició de \"%s\" en %s(%d)\n"
+-
+-#. If we make it here, then we did not know about this
+-#. function definition.
+-#: protoize.c:3879
+-#, fuzzy, c-format
+-msgid "%s: %d: warning: '%s' excluded by preprocessing\n"
+-msgstr "%s: %d: avís: \"%s\" va ser exclòs pel preprocessament\n"
+-
+-#: protoize.c:3882
+-#, c-format
+-msgid "%s: function definition not converted\n"
+-msgstr "%s: no es va convertir la definició de la funció\n"
+-
+-#: protoize.c:3940
+-#, fuzzy, c-format
+-msgid "%s: '%s' not converted\n"
+-msgstr "%s: no es va convertir \"%s\"\n"
+-
+-#: protoize.c:3948
+-#, fuzzy, c-format
+-msgid "%s: would convert file '%s'\n"
+-msgstr "%s: es podria convertir el fitxer \"%s\"\n"
+-
+-#: protoize.c:3951
+-#, fuzzy, c-format
+-msgid "%s: converting file '%s'\n"
+-msgstr "%s: convertint el fitxer \"%s\"\n"
+-
+-#: protoize.c:3961
+-#, fuzzy, c-format
+-msgid "%s: can't get status for file '%s': %s\n"
+-msgstr "%s: no es pot obtenir l'estat del fitxer \"%s\": %s\n"
+-
+-#: protoize.c:4003
+-#, fuzzy, c-format
+-msgid "%s: can't open file '%s' for reading: %s\n"
+-msgstr "%s: no es pot obrir el fitxer \"%s\" per a lectura: %s\n"
+-
+-#: protoize.c:4018
+-#, fuzzy, c-format
+-msgid ""
+-"\n"
+-"%s: error reading input file '%s': %s\n"
+-msgstr ""
+-"\n"
+-"%s: error al llegint el fitxer d'entrada \"%s\": %s\n"
+-
+-#: protoize.c:4052
+-#, fuzzy, c-format
+-msgid "%s: can't create/open clean file '%s': %s\n"
+-msgstr "%s: no es pot crear/obrir el fitxer net \"%s\": %s\n"
+-
+-#: protoize.c:4157
+-#, fuzzy, c-format
+-msgid "%s: warning: file '%s' already saved in '%s'\n"
+-msgstr "%s: avís: el fitxer \"%s\" ja havia estat guardat en \"%s\"\n"
+-
+-#: protoize.c:4165
+-#, fuzzy, c-format
+-msgid "%s: can't link file '%s' to '%s': %s\n"
+-msgstr "%s: no es pot enllaçar el fitxer \"%s\" a \"%s\": %s\n"
+-
+-#: protoize.c:4195
+-#, fuzzy, c-format
+-msgid "%s: can't create/open output file '%s': %s\n"
+-msgstr "%s: no es pot crear/obrir el fitxer de sortida \"%s\": %s\n"
+-
+-#: protoize.c:4228
+-#, fuzzy, c-format
+-msgid "%s: can't change mode of file '%s': %s\n"
+-msgstr "%s: no es pot canviar el mode del fitxer \"%s\": %s\n"
+-
+-#: protoize.c:4404
+-#, c-format
+-msgid "%s: cannot get working directory: %s\n"
+-msgstr "%s: no es pot obtenir el directori de treball: %s\n"
+-
+-#: protoize.c:4502
+-#, c-format
+-msgid "%s: input file names must have .c suffixes: %s\n"
+-msgstr "%s: els noms de fitxer d'entrada deuen tenir sufixos .c: %s\n"
+-
+-#: reload.c:3734
+-msgid "unable to generate reloads for:"
+-msgstr "no es poden generar recarregues per a:"
+-
+-#: reload1.c:2000
+-msgid "this is the insn:"
+-msgstr "això és el insn:"
+-
+-#. It's the compiler's fault.
+-#: reload1.c:5363
+-msgid "could not find a spill register"
+-msgstr "no es pot trobar un registre de buidat "
+-
+-#. It's the compiler's fault.
+-#: reload1.c:7038
+-msgid "VOIDmode on an output"
+-msgstr "VOIDmode en una sortida"
+-
+-#: reload1.c:8043
+-msgid "Failure trying to reload:"
+-msgstr ""
+-
+-#: rtl-error.c:127
+-msgid "unrecognizable insn:"
+-msgstr "insn no recognoscible:"
+-
+-#: rtl-error.c:129
+-msgid "insn does not satisfy its constraints:"
+-msgstr "insn no satisfà les seves restriccions:"
+-
+-#: timevar.c:411
+-msgid ""
+-"\n"
+-"Execution times (seconds)\n"
+-msgstr ""
+-"\n"
+-"Temps d'execució (segons)\n"
+-
+-#. Print total time.
+-#: timevar.c:469
+-msgid " TOTAL :"
+-msgstr " TOTAL :"
+-
+-#: timevar.c:502
+-#, c-format
+-msgid "time in %s: %ld.%06ld (%ld%%)\n"
+-msgstr "temps en %s: %ld.%06ld (%ld%%)\n"
+-
+-#: tlink.c:383
+-#, c-format
+-msgid "collect: reading %s\n"
+-msgstr "collect: llegint %s\n"
+-
+-#: tlink.c:477
+-#, c-format
+-msgid "removing .rpo file"
+-msgstr ""
+-
+-#: tlink.c:479
+-#, c-format
+-msgid "renaming .rpo file"
+-msgstr ""
+-
+-#: tlink.c:533
+-#, c-format
+-msgid "collect: recompiling %s\n"
+-msgstr "collect: recompilant %s\n"
+-
+-#: tlink.c:737
+-#, c-format
+-msgid "collect: tweaking %s in %s\n"
+-msgstr "collect: alterant %s en %s\n"
+-
+-#: tlink.c:787
+-#, c-format
+-msgid "collect: relinking\n"
+-msgstr "collect: reenllaçant\n"
+-
+-#: toplev.c:606
+-#, fuzzy, c-format
+-msgid "unrecoverable error"
+-msgstr "error intern"
+-
+-#: toplev.c:1180
+-#, fuzzy, c-format
+-msgid ""
+-"%s%s%s %sversion %s (%s)\n"
+-"%s\tcompiled by GNU C version %s, "
+-msgstr ""
+-"%s%s%s versió %s (%s)\n"
+-"%s\tcompilat amb GNU C versió %s.\n"
+-"%s%s%s versió %s (%s) compilada per a CC.\n"
+-
+-#: toplev.c:1182
+-#, c-format
+-msgid "%s%s%s %sversion %s (%s) compiled by CC, "
+-msgstr ""
+-
+-#: toplev.c:1186
+-#, fuzzy, c-format
+-msgid "GMP version %s, MPFR version %s.\n"
+-msgstr "\"%s\" en versió \"%.4s\", s'espera la versió \"%.4s\""
+-
+-#: toplev.c:1188
+-#, c-format
+-msgid "warning: %s header version %s differs from library version %s.\n"
+-msgstr ""
+-
+-#: toplev.c:1190
+-#, c-format
+-msgid "%s%sGGC heuristics: --param ggc-min-expand=%d --param ggc-min-heapsize=%d\n"
+-msgstr ""
+-
+-#: toplev.c:1340
+-msgid "options passed: "
+-msgstr "opcions passades: "
+-
+-#: toplev.c:1374
+-msgid "options enabled: "
+-msgstr "opcions activades: "
+-
+-#: toplev.c:1509
+-#, c-format
+-msgid "created and used with differing settings of '%s'"
+-msgstr ""
+-
+-#: toplev.c:1511
+-msgid "out of memory"
+-msgstr ""
+-
+-#: toplev.c:1526
+-msgid "created and used with different settings of -fpic"
+-msgstr ""
+-
+-#: toplev.c:1528
+-msgid "created and used with different settings of -fpie"
+-msgstr ""
+-
+-#: tree-inline.c:2571
+-msgid "originally indirect function call not considered for inlining"
+-msgstr ""
+-
+-#. The remainder are real diagnostic types.
+-#: diagnostic.def:15
+-#, fuzzy
+-msgid "fatal error: "
+-msgstr "error intern: "
+-
+-#: diagnostic.def:16
+-#, fuzzy
+-msgid "internal compiler error: "
+-msgstr "error intern: "
+-
+-#: diagnostic.def:17
+-#, fuzzy
+-msgid "error: "
+-msgstr "error intern: "
+-
+-#: diagnostic.def:18
+-#, fuzzy
+-msgid "sorry, unimplemented: "
+-msgstr "disculpi, no s'ha implementat: #pragma noalign NAME"
+-
+-#: diagnostic.def:19
+-msgid "warning: "
+-msgstr "avís: "
+-
+-#: diagnostic.def:20
+-msgid "anachronism: "
+-msgstr ""
+-
+-#: diagnostic.def:21
+-#, fuzzy
+-msgid "note: "
+-msgstr "nota:"
+-
+-#: diagnostic.def:22
+-msgid "debug: "
+-msgstr ""
+-
+-#: params.def:46
+-msgid "The maximum number of fields in a structure variable without direct structure accesses that GCC will attempt to track separately"
+-msgstr ""
+-
+-#: params.def:53
+-#, fuzzy
+-msgid "The maximum number of elements in an array for wich we track its elements separately"
+-msgstr "El nombre màxim d'instruccions en una sola funció elegible per a inlining"
+-
+-#: params.def:62
+-msgid "The maximum structure size (in bytes) for which GCC will use by-element copies"
+-msgstr ""
+-
+-#: params.def:71
+-#, fuzzy
+-msgid "The maximum number of structure fields for which GCC will use by-element copies"
+-msgstr "El nombre màxim d'instruccions pel inliner RTL"
+-
+-#: params.def:83
+-msgid "The threshold ratio between instantiated fields and the total structure size"
+-msgstr ""
+-
+-#: params.def:93
+-msgid "The threshold ratio between current and hotest structure counts"
+-msgstr ""
+-
+-#: params.def:110
+-msgid "The maximum number of instructions in a single function eligible for inlining"
+-msgstr "El nombre màxim d'instruccions en una sola funció elegible per a inlining"
+-
+-#: params.def:122
+-msgid "The maximum number of instructions when automatically inlining"
+-msgstr "El nombre màxim d'instruccions quan es fa inlining automàticament"
+-
+-#: params.def:127
+-#, fuzzy
+-msgid "The maximum number of instructions inline function can grow to via recursive inlining"
+-msgstr "El nombre màxim d'instruccions en una sola funció elegible per a inlining"
+-
+-#: params.def:132
+-#, fuzzy
+-msgid "The maximum number of instructions non-inline function can grow to via recursive inlining"
+-msgstr "El nombre màxim d'instruccions en una sola funció elegible per a inlining"
+-
+-#: params.def:137
+-msgid "The maximum depth of recursive inlining for inline functions"
+-msgstr ""
+-
+-#: params.def:142
+-msgid "The maximum depth of recursive inlining for non-inline functions"
+-msgstr ""
+-
+-#: params.def:147
+-msgid "Inline recursively only when the probability of call being executed exceeds the parameter"
+-msgstr ""
+-
+-#: params.def:154
+-msgid "If -fvariable-expansion-in-unroller is used, the maximum number of times that an individual variable will be expanded during loop unrolling"
+-msgstr ""
+-
+-#: params.def:160
+-msgid "If -ftree-vectorize is used, the minimal loop bound of a loop to be considered for vectorization"
+-msgstr ""
+-
+-#: params.def:171
+-msgid "The maximum number of instructions to consider to fill a delay slot"
+-msgstr "El nombre màxim d'instruccions per a considerar l'omplert d'una ranura de retard"
+-
+-#: params.def:182
+-msgid "The maximum number of instructions to consider to find accurate live register information"
+-msgstr "El nombre màxim d'instruccions per a considerar la recerca d'informació de registres en viu exacta"
+-
+-#: params.def:192
+-msgid "The maximum length of scheduling's pending operations list"
+-msgstr "La longitud màxima de la llista d'operacions pendents del planificador de tasques"
+-
+-#: params.def:197
+-msgid "The size of function body to be considered large"
+-msgstr ""
+-
+-#: params.def:201
+-msgid "Maximal growth due to inlining of large function (in percent)"
+-msgstr ""
+-
+-#: params.def:205
+-msgid "The size of translation unit to be considered large"
+-msgstr ""
+-
+-#: params.def:209
+-msgid "how much can given compilation unit grow because of the inlining (in percent)"
+-msgstr ""
+-
+-#: params.def:213
+-msgid "expense of call operation relative to ordinary arithmetic operations"
+-msgstr ""
+-
+-#: params.def:217
+-msgid "The size of stack frame to be considered large"
+-msgstr ""
+-
+-#: params.def:221
+-msgid "Maximal stack frame growth due to inlining (in percent)"
+-msgstr ""
+-
+-#: params.def:228
+-msgid "The maximum amount of memory to be allocated by GCSE"
+-msgstr "La quantitat màxima de memòria a ser assignada per GCSE"
+-
+-#: params.def:233
+-msgid "The maximum number of passes to make when doing GCSE"
+-msgstr "El nombre màxim de passos a realitzar quan es fa GCSE"
+-
+-#: params.def:243
+-msgid "The threshold ratio for performing partial redundancy elimination after reload"
+-msgstr ""
+-
+-#: params.def:250
+-msgid "The threshold ratio of critical edges execution count that permit performing redundancy elimination after reload"
+-msgstr ""
+-
+-#: params.def:261
+-msgid "The maximum number of instructions to consider to unroll in a loop"
+-msgstr "El nombre màxim d'instruccions per a considerar el desenrotllo en un cicle"
+-
+-#: params.def:267
+-#, fuzzy
+-msgid "The maximum number of instructions to consider to unroll in a loop on average"
+-msgstr "El nombre màxim d'instruccions per a considerar el desenrotllo en un cicle"
+-
+-#: params.def:272
+-msgid "The maximum number of unrollings of a single loop"
+-msgstr ""
+-
+-#: params.def:277
+-#, fuzzy
+-msgid "The maximum number of insns of a peeled loop"
+-msgstr "El nombre màxim d'instruccions per a considerar l'omplert d'una ranura de retard"
+-
+-#: params.def:282
+-#, fuzzy
+-msgid "The maximum number of peelings of a single loop"
+-msgstr "El nombre màxim de passos a realitzar quan es fa GCSE"
+-
+-#: params.def:287
+-#, fuzzy
+-msgid "The maximum number of insns of a completely peeled loop"
+-msgstr "El nombre màxim d'instruccions per a considerar el desenrotllo en un cicle"
+-
+-#: params.def:292
+-#, fuzzy
+-msgid "The maximum number of peelings of a single loop that is peeled completely"
+-msgstr "El nombre màxim d'instruccions en una sola funció elegible per a inlining"
+-
+-#: params.def:297
+-#, fuzzy
+-msgid "The maximum number of insns of a peeled loop that rolls only once"
+-msgstr "El nombre màxim d'instruccions per al inliner de RTL"
+-
+-#: params.def:303
+-#, fuzzy
+-msgid "The maximum number of insns of an unswitched loop"
+-msgstr "El nombre màxim d'instruccions per a considerar el desenrotllo en un cicle"
+-
+-#: params.def:308
+-#, fuzzy
+-msgid "The maximum number of unswitchings in a single loop"
+-msgstr "El nombre màxim d'instruccions en una sola funció elegible per a un sol cicle"
+-
+-#: params.def:315
+-msgid "Bound on the number of iterations the brute force # of iterations analysis algorithm evaluates"
+-msgstr ""
+-
+-#: params.def:321
+-msgid "Bound on the cost of an expression to compute the number of iterations"
+-msgstr ""
+-
+-#: params.def:327
+-msgid "A factor for tuning the upper bound that swing modulo scheduler uses for scheduling a loop"
+-msgstr ""
+-
+-#: params.def:331
+-msgid "The number of cycles the swing modulo scheduler considers when checking conflicts using DFA"
+-msgstr ""
+-
+-#: params.def:335
+-msgid "A threshold on the average loop count considered by the swing modulo scheduler"
+-msgstr ""
+-
+-#: params.def:340
+-msgid "Select fraction of the maximal count of repetitions of basic block in program given basic block needs to have to be considered hot"
+-msgstr ""
+-
+-#: params.def:344
+-msgid "Select fraction of the maximal frequency of executions of basic block in function given basic block needs to have to be considered hot"
+-msgstr ""
+-
+-#: params.def:349
+-msgid "Select fraction of the maximal frequency of executions of basic block in function given basic block get alignment"
+-msgstr ""
+-
+-#: params.def:354
+-msgid "Loops iterating at least selected number of iterations will get loop alignement."
+-msgstr ""
+-
+-#: params.def:370
+-#, fuzzy
+-msgid "The maximum number of loop iterations we predict statically"
+-msgstr "El nombre màxim d'instruccions quan es fa inlining automàticament"
+-
+-#: params.def:374
+-msgid "The percentage of function, weighted by execution frequency, that must be covered by trace formation. Used when profile feedback is available"
+-msgstr ""
+-
+-#: params.def:378
+-msgid "The percentage of function, weighted by execution frequency, that must be covered by trace formation. Used when profile feedback is not available"
+-msgstr ""
+-
+-#: params.def:382
+-msgid "Maximal code growth caused by tail duplication (in percent)"
+-msgstr ""
+-
+-#: params.def:386
+-msgid "Stop reverse growth if the reverse probability of best edge is less than this threshold (in percent)"
+-msgstr ""
+-
+-#: params.def:390
+-msgid "Stop forward growth if the probability of best edge is less than this threshold (in percent). Used when profile feedback is available"
+-msgstr ""
+-
+-#: params.def:394
+-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 ""
+-
+-#: params.def:400
+-msgid "The maximum number of incoming edges to consider for crossjumping"
+-msgstr "El nombre màxim de vores d'entrada per a considerar el salt creuat"
+-
+-#: params.def:406
+-#, fuzzy
+-msgid "The minimum number of matching instructions to consider for crossjumping"
+-msgstr "El nombre màxim de vores d'entrada per a considerar el salt creuat"
+-
+-#: params.def:412
+-msgid "The maximum expansion factor when copying basic blocks"
+-msgstr ""
+-
+-#: params.def:418
+-#, fuzzy
+-msgid "The maximum number of insns to duplicate when unfactoring computed gotos"
+-msgstr "El nombre màxim d'instruccions per a considerar el desenrotllo en un cicle"
+-
+-#: params.def:424
+-#, fuzzy
+-msgid "The maximum length of path considered in cse"
+-msgstr "La longitud màxima de la llista d'operacions pendents del planificador de tasques"
+-
+-#: params.def:428
+-#, fuzzy
+-msgid "The maximum instructions CSE process before flushing"
+-msgstr "El nombre màxim d'instruccions pel inliner RTL"
+-
+-#: params.def:435
+-msgid "The minimum cost of an expensive expression in the loop invariant motion"
+-msgstr ""
+-
+-#: params.def:444
+-msgid "Bound on number of candidates below that all candidates are considered in iv optimizations"
+-msgstr ""
+-
+-#: params.def:452
+-#, fuzzy
+-msgid "Bound on number of iv uses in loop optimized in iv optimizations"
+-msgstr "Realitzar un nombre menor d'optimitzacions costoses"
+-
+-#: params.def:460
+-msgid "If number of candidates in the set is smaller, we always try to remove unused ivs during its optimization"
+-msgstr ""
+-
+-#: params.def:465
+-msgid "Bound on size of expressions used in the scalar evolutions analyzer"
+-msgstr ""
+-
+-#: params.def:470
+-msgid "Bound on the number of variables in Omega constraint systems"
+-msgstr ""
+-
+-#: params.def:475
+-msgid "Bound on the number of inequalities in Omega constraint systems"
+-msgstr ""
+-
+-#: params.def:480
+-msgid "Bound on the number of equalities in Omega constraint systems"
+-msgstr ""
+-
+-#: params.def:485
+-msgid "Bound on the number of wild cards in Omega constraint systems"
+-msgstr ""
+-
+-#: params.def:490
+-msgid "Bound on the size of the hash table in Omega constraint systems"
+-msgstr ""
+-
+-#: params.def:495
+-msgid "Bound on the number of keys in Omega constraint systems"
+-msgstr ""
+-
+-#: params.def:500
+-msgid "When set to 1, use expensive methods to eliminate all redundant constraints"
+-msgstr ""
+-
+-#: params.def:505
+-msgid "Bound on number of runtime checks inserted by the vectorizer's loop versioning for alignment check"
+-msgstr ""
+-
+-#: params.def:510
+-msgid "Bound on number of runtime checks inserted by the vectorizer's loop versioning for alias check"
+-msgstr ""
+-
+-#: params.def:515
+-#, fuzzy
+-msgid "The maximum memory locations recorded by cselib"
+-msgstr "El nombre màxim d'instruccions per al inliner de RTL"
+-
+-#: params.def:519
+-#, fuzzy
+-msgid "The maximum memory locations recorded by flow"
+-msgstr "El nombre màxim d'instruccions per al inliner de RTL"
+-
+-#: params.def:532
+-msgid "Minimum heap expansion to trigger garbage collection, as a percentage of the total size of the heap"
+-msgstr ""
+-
+-#: params.def:537
+-msgid "Minimum heap size before we start collecting garbage, in kilobytes"
+-msgstr ""
+-
+-#: params.def:545
+-#, fuzzy
+-msgid "The maximum number of instructions to search backward when looking for equivalent reload"
+-msgstr "El nombre màxim d'instruccions per a considerar el desenrotllo en un cicle"
+-
+-#: params.def:550
+-msgid "The maximum number of virtual operators that a function is allowed to have before triggering memory partitioning heuristics"
+-msgstr ""
+-
+-#: params.def:555
+-msgid "The average number of virtual operators that memory statements are allowed to have before triggering memory partitioning heuristics"
+-msgstr ""
+-
+-#: params.def:560
+-#, fuzzy
+-msgid "The maximum number of blocks in a region to be considered for interblock scheduling"
+-msgstr "El nombre màxim de vores d'entrada per a considerar el salt creuat"
+-
+-#: params.def:565
+-#, fuzzy
+-msgid "The maximum number of insns in a region to be considered for interblock scheduling"
+-msgstr "El nombre màxim de vores d'entrada per a considerar el salt creuat"
+-
+-#: params.def:570
+-msgid "The minimum probability of reaching a source block for interblock speculative scheduling"
+-msgstr ""
+-
+-#: params.def:575
+-#, fuzzy
+-msgid "The maximum number of iterations through CFG to extend regions"
+-msgstr "El nombre màxim d'instruccions per a considerar el desenrotllo en un cicle"
+-
+-#: params.def:580
+-#, fuzzy
+-msgid "The maximum conflict delay for an insn to be considered for speculative motion"
+-msgstr "El nombre màxim de vores d'entrada per a considerar el salt creuat"
+-
+-#: params.def:585
+-msgid "The minimal probability of speculation success (in percents), so that speculative insn will be scheduled."
+-msgstr ""
+-
+-#: params.def:590
+-msgid "The maximum number of RTL nodes that can be recorded as combiner's last value"
+-msgstr ""
+-
+-#: params.def:598
+-#, fuzzy
+-msgid "The upper bound for sharing integer constants"
+-msgstr "el valor de enumerator per a \"%s\" no és una constant entera"
+-
+-#: params.def:617
+-#, fuzzy
+-msgid "Minimum number of virtual mappings to consider switching to full virtual renames"
+-msgstr "El nombre màxim d'instruccions per a considerar l'omplert d'una ranura de retard"
+-
+-#: params.def:622
+-msgid "Ratio between virtual mappings and virtual symbols to do full virtual renames"
+-msgstr ""
+-
+-#: params.def:627
+-msgid "The lower bound for a buffer to be considered for stack smashing protection"
+-msgstr ""
+-
+-#: params.def:645
+-msgid "Maximum number of statements allowed in a block that needs to be duplicated when threading jumps"
+-msgstr ""
+-
+-#: params.def:654
+-msgid "Maximum number of fields in a structure before pointer analysis treats the structure as a single variable"
+-msgstr ""
+-
+-#: params.def:659
+-#, fuzzy
+-msgid "The maximum number of instructions ready to be issued to be considered by the scheduler during the first scheduling pass"
+-msgstr "El nombre màxim d'instruccions per a considerar el desenrotllo en un cicle"
+-
+-#: params.def:669
+-msgid "The number of insns executed before prefetch is completed"
+-msgstr ""
+-
+-#: params.def:676
+-msgid "The number of prefetches that can run at the same time"
+-msgstr ""
+-
+-#: params.def:683
+-msgid "The size of L1 cache"
+-msgstr ""
+-
+-#: params.def:690
+-msgid "The size of L1 cache line"
+-msgstr ""
+-
+-#: params.def:697
+-msgid "The size of L2 cache"
+-msgstr ""
+-
+-#: params.def:708
+-msgid "Whether to use canonical types"
+-msgstr ""
+-
+-#: params.def:713
+-msgid "Maximum length of partial antic set when performing tree pre optimization"
+-msgstr ""
+-
+-#: config/alpha/alpha.c:5015
+-#, c-format
+-msgid "invalid %%H value"
+-msgstr "valor %%H no vàlid"
+-
+-#: config/alpha/alpha.c:5036 config/bfin/bfin.c:1423
+-#, c-format
+-msgid "invalid %%J value"
+-msgstr "valor %%J no vàlid"
+-
+-#: config/alpha/alpha.c:5066 config/ia64/ia64.c:4718
+-#, c-format
+-msgid "invalid %%r value"
+-msgstr "valor %%r no vàlid"
+-
+-#: config/alpha/alpha.c:5076 config/ia64/ia64.c:4672
+-#: config/rs6000/rs6000.c:11670 config/xtensa/xtensa.c:2036
+-#, c-format
+-msgid "invalid %%R value"
+-msgstr "valor %%R no vàlid"
+-
+-#: config/alpha/alpha.c:5082 config/rs6000/rs6000.c:11589
+-#: config/xtensa/xtensa.c:2003
+-#, c-format
+-msgid "invalid %%N value"
+-msgstr "valor %%N no vàlid"
+-
+-#: config/alpha/alpha.c:5090 config/rs6000/rs6000.c:11617
+-#, c-format
+-msgid "invalid %%P value"
+-msgstr "valor %%P no vàlid"
+-
+-#: config/alpha/alpha.c:5098
+-#, c-format
+-msgid "invalid %%h value"
+-msgstr "valor %%h no vàlid"
+-
+-#: config/alpha/alpha.c:5106 config/xtensa/xtensa.c:2029
+-#, c-format
+-msgid "invalid %%L value"
+-msgstr "valor %%L no vàlid"
+-
+-#: config/alpha/alpha.c:5145 config/rs6000/rs6000.c:11571
+-#, c-format
+-msgid "invalid %%m value"
+-msgstr "valor %%m no vàlid"
+-
+-#: config/alpha/alpha.c:5153 config/rs6000/rs6000.c:11579
+-#, c-format
+-msgid "invalid %%M value"
+-msgstr "valor %%M no vàlid"
+-
+-#: config/alpha/alpha.c:5197
+-#, c-format
+-msgid "invalid %%U value"
+-msgstr "valor %%U no vàlid"
+-
+-#: config/alpha/alpha.c:5209 config/alpha/alpha.c:5223
+-#: config/rs6000/rs6000.c:11678
+-#, c-format
+-msgid "invalid %%s value"
+-msgstr "valor %%s no vàlid"
+-
+-#: config/alpha/alpha.c:5246
+-#, c-format
+-msgid "invalid %%C value"
+-msgstr "valor %%C no vàlid"
+-
+-#: config/alpha/alpha.c:5283 config/rs6000/rs6000.c:11406
+-#: config/rs6000/rs6000.c:11425
+-#, c-format
+-msgid "invalid %%E value"
+-msgstr "valor %%E no vàlid"
+-
+-#: config/alpha/alpha.c:5308 config/alpha/alpha.c:5356
+-#, c-format
+-msgid "unknown relocation unspec"
+-msgstr "reubicació unspec desconeguda"
+-
+-#: config/alpha/alpha.c:5317 config/crx/crx.c:1081
+-#: config/rs6000/rs6000.c:12005 config/spu/spu.c:1492
+-#, c-format
+-msgid "invalid %%xn code"
+-msgstr "codi %%xn no vàlid"
+-
+-#: config/arc/arc.c:1724 config/m32r/m32r.c:1805
+-#, c-format
+-msgid "invalid operand to %%R code"
+-msgstr "operand no vàlid per al codi %%R"
+-
+-#: config/arc/arc.c:1756 config/m32r/m32r.c:1828
+-#, c-format
+-msgid "invalid operand to %%H/%%L code"
+-msgstr "operand no vàlid per al codi %%H/%%L"
+-
+-#: config/arc/arc.c:1778 config/m32r/m32r.c:1899
+-#, c-format
+-msgid "invalid operand to %%U code"
+-msgstr "operand no vàlid per al codi %%U"
+-
+-#: config/arc/arc.c:1789
+-#, c-format
+-msgid "invalid operand to %%V code"
+-msgstr "operand no vàlid per al codi %%V"
+-
+-#. Unknown flag.
+-#. Undocumented flag.
+-#: config/arc/arc.c:1796 config/m32r/m32r.c:1926 config/sparc/sparc.c:6995
+-#, c-format
+-msgid "invalid operand output code"
+-msgstr "operand no vàlid per al codi de sortida"
+-
+-#: config/arm/arm.c:12521 config/arm/arm.c:12539
+-#, fuzzy, c-format
+-msgid "predicated Thumb instruction"
+-msgstr "Generar instruccions char"
+-
+-#: config/arm/arm.c:12527
+-#, fuzzy, c-format
+-msgid "predicated instruction in conditional sequence"
+-msgstr "els tipus de dades no coincideixen en l'expressió condicional"
+-
+-#: config/arm/arm.c:12686
+-#, fuzzy, c-format
+-msgid "invalid shift operand"
+-msgstr "operand %%f no vàlid"
+-
+-#: config/arm/arm.c:12733 config/arm/arm.c:12743 config/arm/arm.c:12753
+-#: config/arm/arm.c:12763 config/arm/arm.c:12773 config/arm/arm.c:12812
+-#: config/arm/arm.c:12830 config/arm/arm.c:12865 config/arm/arm.c:12884
+-#: config/arm/arm.c:12899 config/arm/arm.c:12927 config/arm/arm.c:12934
+-#: config/arm/arm.c:12942 config/arm/arm.c:12963 config/arm/arm.c:12970
+-#: config/bfin/bfin.c:1436 config/bfin/bfin.c:1443 config/bfin/bfin.c:1450
+-#: config/bfin/bfin.c:1457 config/bfin/bfin.c:1466 config/bfin/bfin.c:1473
+-#: config/bfin/bfin.c:1480 config/bfin/bfin.c:1487
+-#, fuzzy, c-format
+-msgid "invalid operand for code '%c'"
+-msgstr "codi d'operand \"%c\" no vàlid"
+-
+-#: config/arm/arm.c:12825
+-#, fuzzy, c-format
+-msgid "instruction never executed"
+-msgstr "l'incondicional %2d mai s'executa\n"
+-
+-#: config/arm/arm.c:13037
+-#, fuzzy, c-format
+-msgid "missing operand"
+-msgstr "\"(\" faltant"
+-
+-#: config/avr/avr.c:1022
+-#, c-format
+-msgid "address operand requires constraint for X, Y, or Z register"
+-msgstr ""
+-
+-#: config/avr/avr.c:1129
+-msgid "bad address, not (reg+disp):"
+-msgstr "adreça errònia, no (reg+disp)"
+-
+-#: config/avr/avr.c:1136
+-#, fuzzy
+-msgid "bad address, not post_inc or pre_dec:"
+-msgstr "adreça errònia, no (reg+disp)"
+-
+-#: config/avr/avr.c:1147
+-msgid "internal compiler error. Bad address:"
+-msgstr "error intern del compilador. Direcció errònia:"
+-
+-#: config/avr/avr.c:1160
+-msgid "internal compiler error. Unknown mode:"
+-msgstr "error intern del compilador. Mode desconegut:"
+-
+-#: config/avr/avr.c:1775 config/avr/avr.c:2463
+-msgid "invalid insn:"
+-msgstr "insn no vàlid:"
+-
+-#: config/avr/avr.c:1814 config/avr/avr.c:1900 config/avr/avr.c:1949
+-#: config/avr/avr.c:1977 config/avr/avr.c:2072 config/avr/avr.c:2241
+-#: config/avr/avr.c:2502 config/avr/avr.c:2614
+-msgid "incorrect insn:"
+-msgstr "insn incorrecte:"
+-
+-#: config/avr/avr.c:1996 config/avr/avr.c:2157 config/avr/avr.c:2312
+-#: config/avr/avr.c:2680
+-msgid "unknown move insn:"
+-msgstr "desplaçament insn desconegut:"
+-
+-#: config/avr/avr.c:2910
+-msgid "bad shift insn:"
+-msgstr "desplaçament insn erròni:"
+-
+-#: config/avr/avr.c:3026 config/avr/avr.c:3446 config/avr/avr.c:3804
+-msgid "internal compiler error. Incorrect shift:"
+-msgstr "error intern del compilador. Direcció errònia:"
+-
+-#: config/bfin/bfin.c:1385
+-#, c-format
+-msgid "invalid %%j value"
+-msgstr "valor %%j no vàlid"
+-
+-#: config/bfin/bfin.c:1578
+-#, fuzzy, c-format
+-msgid "invalid const_double operand"
+-msgstr "restriccions no vàlides per a l'operand"
+-
+-#: config/c4x/c4x.c:1583
+-msgid "using CONST_DOUBLE for address"
+-msgstr "ùs de CONST_DOUBLE per a l'adreça"
+-
+-#: config/c4x/c4x.c:1721
+-msgid "c4x_address_cost: Invalid addressing mode"
+-msgstr "c4x_address_cost: Moda d'adreçament no vàlid"
+-
+-#: config/c4x/c4x.c:1856
+-#, c-format
+-msgid "c4x_print_operand: %%L inconsistency"
+-msgstr "c4x_print_operand: inconsistència %%L"
+-
+-#: config/c4x/c4x.c:1862
+-#, c-format
+-msgid "c4x_print_operand: %%N inconsistency"
+-msgstr "c4x_print_operand: inconsistència %%N"
+-
+-#: config/c4x/c4x.c:1903
+-#, c-format
+-msgid "c4x_print_operand: %%O inconsistency"
+-msgstr "c4x_print_operand: inconsistència %%O"
+-
+-#: config/c4x/c4x.c:1998
+-msgid "c4x_print_operand: Bad operand case"
+-msgstr "c4x_print_operand: Operand «case» erroni"
+-
+-#: config/c4x/c4x.c:2039
+-msgid "c4x_print_operand_address: Bad post_modify"
+-msgstr "c4x_print_operand_address: post_modify erroni"
+-
+-#: config/c4x/c4x.c:2061
+-msgid "c4x_print_operand_address: Bad pre_modify"
+-msgstr "c4x_print_operand_address: pre_modify erroni"
+-
+-#: config/c4x/c4x.c:2109 config/c4x/c4x.c:2121 config/c4x/c4x.c:2136
+-msgid "c4x_print_operand_address: Bad operand case"
+-msgstr "c4x_print_operand_address: Operand «case» erroni"
+-
+-#: config/c4x/c4x.c:2387
+-msgid "c4x_rptb_insert: Cannot find start label"
+-msgstr "c4x_rptb_insert: No es pot trobar l'etiqueta d'inici"
+-
+-#: config/c4x/c4x.c:2985
+-msgid "invalid indirect memory address"
+-msgstr "adreça indirecta de memòria no vàlida"
+-
+-#: config/c4x/c4x.c:3074
+-msgid "invalid indirect (S) memory address"
+-msgstr "adreça indirecta de memòria (S) no vàlida"
+-
+-#: config/c4x/c4x.c:3409
+-msgid "c4x_valid_operands: Internal error"
+-msgstr "c4x_valid_operands: error intern"
+-
+-#: config/c4x/c4x.c:3848
+-msgid "c4x_operand_subword: invalid mode"
+-msgstr "c4x_operand_subword: mode no vàlid"
+-
+-#: config/c4x/c4x.c:3851
+-msgid "c4x_operand_subword: invalid operand"
+-msgstr "c4x_operand_subword: operand no vàlid"
+-
+-#. We could handle these with some difficulty.
+-#. e.g., *p-- => *(p-=2); *(p+1).
+-#: config/c4x/c4x.c:3877
+-msgid "c4x_operand_subword: invalid autoincrement"
+-msgstr "c4x_operand_subword: autoincrement no vàlid"
+-
+-#: config/c4x/c4x.c:3883
+-msgid "c4x_operand_subword: invalid address"
+-msgstr "c4x_operand_subword: adreça no vàlid"
+-
+-#: config/c4x/c4x.c:3894
+-msgid "c4x_operand_subword: address not offsettable"
+-msgstr "c4x_operand_subword: adreça no desplaçada"
+-
+-#: config/c4x/c4x.c:4096
+-#, fuzzy
+-msgid "c4x_rptb_rpts_p: Repeat block top label moved"
+-msgstr "c4x_rptb_rpts_p: etiqueta superior de bloc de repetició desplaçada\n"
+-
+-#. Use `%s' to print the string in case there are any escape
+-#. characters in the message.
+-#: config/cris/cris.c:491 fortran/dump-parse-tree.c:78
+-#: fortran/dump-parse-tree.c:430 fortran/dump-parse-tree.c:776
+-#: fortran/dump-parse-tree.c:821 c-typeck.c:4607 c-typeck.c:4622
+-#: c-typeck.c:4637 final.c:2984 final.c:2986 gcc.c:4737 loop-iv.c:2807
+-#: loop-iv.c:2816 rtl-error.c:112 toplev.c:610 tree-ssa-loop-niter.c:1829
+-#: cp/parser.c:2188 cp/typeck.c:4559 java/expr.c:409
+-#, gcc-internal-format
+-msgid "%s"
+-msgstr "%s"
+-
+-#: config/cris/cris.c:542
+-msgid "unexpected index-type in cris_print_index"
+-msgstr "index-type inesperat en cris_print_index"
+-
+-#: config/cris/cris.c:556
+-msgid "unexpected base-type in cris_print_base"
+-msgstr "base-type inesperat en cris_print_base"
+-
+-#: config/cris/cris.c:672
+-msgid "invalid operand for 'b' modifier"
+-msgstr "operand no vàlid per al modificador \"b\""
+-
+-#: config/cris/cris.c:689
+-#, fuzzy
+-msgid "invalid operand for 'o' modifier"
+-msgstr "operand no vàlid per al modificador \"b\""
+-
+-#: config/cris/cris.c:708
+-#, fuzzy
+-msgid "invalid operand for 'O' modifier"
+-msgstr "operand no vàlid per al modificador \"b\""
+-
+-#: config/cris/cris.c:741
+-msgid "invalid operand for 'p' modifier"
+-msgstr "operand no vàlid per al modificador \"p\""
+-
+-#: config/cris/cris.c:780
+-msgid "invalid operand for 'z' modifier"
+-msgstr "operand no vàlid per al modificador \"z\""
+-
+-#: config/cris/cris.c:834 config/cris/cris.c:864
+-msgid "invalid operand for 'H' modifier"
+-msgstr "operand no vàlid per al modificador \"H\""
+-
+-#: config/cris/cris.c:840
+-msgid "bad register"
+-msgstr "registre erroni"
+-
+-#: config/cris/cris.c:884
+-msgid "invalid operand for 'e' modifier"
+-msgstr "operand no vàlid per al modificador \"e\""
+-
+-#: config/cris/cris.c:901
+-msgid "invalid operand for 'm' modifier"
+-msgstr "operand no vàlid per al modificador \"m\""
+-
+-#: config/cris/cris.c:926
+-msgid "invalid operand for 'A' modifier"
+-msgstr "operand no vàlid per al modificador \"A\""
+-
+-#: config/cris/cris.c:949
+-msgid "invalid operand for 'D' modifier"
+-msgstr "operand no vàlid per al modificador \"D\""
+-
+-#: config/cris/cris.c:963
+-msgid "invalid operand for 'T' modifier"
+-msgstr "operand no vàlid per al modificador \"T\""
+-
+-#: config/cris/cris.c:972
+-msgid "invalid operand modifier letter"
+-msgstr "lletra de modificador d'operand no vàlid"
+-
+-#: config/cris/cris.c:1029
+-msgid "unexpected multiplicative operand"
+-msgstr "operand multiplicatiu inesperat"
+-
+-#: config/cris/cris.c:1049
+-msgid "unexpected operand"
+-msgstr "operand inesperat"
+-
+-#: config/cris/cris.c:1082 config/cris/cris.c:1092
+-msgid "unrecognized address"
+-msgstr "adreça no reconeguda"
+-
+-#: config/cris/cris.c:2019
+-msgid "unrecognized supposed constant"
+-msgstr "suposada constant no reconeguda"
+-
+-#: config/cris/cris.c:2394 config/cris/cris.c:2458
+-msgid "unexpected side-effects in address"
+-msgstr "effecte de vora inesperat en l'adreça"
+-
+-#. Can't possibly get a GOT-needing-fixup for a function-call,
+-#. right?
+-#: config/cris/cris.c:3253
+-msgid "Unidentifiable call op"
+-msgstr ""
+-
+-#: config/cris/cris.c:3304
+-#, c-format
+-msgid "PIC register isn't set up"
+-msgstr "el registre PIC no està preparat"
+-
+-#: config/fr30/fr30.c:464
+-#, c-format
+-msgid "fr30_print_operand_address: unhandled address"
+-msgstr "fr30_print_operand_address: adreça sense manejar"
+-
+-#: config/fr30/fr30.c:488
+-#, c-format
+-msgid "fr30_print_operand: unrecognized %%p code"
+-msgstr "fr30_print_operand_address: no es reconeix el codi %%p"
+-
+-#: config/fr30/fr30.c:508
+-#, c-format
+-msgid "fr30_print_operand: unrecognized %%b code"
+-msgstr "fr30_print_operand_address: no es reconeix el codi %%b"
+-
+-#: config/fr30/fr30.c:529
+-#, c-format
+-msgid "fr30_print_operand: unrecognized %%B code"
+-msgstr "fr30_print_operand_address: no es reconeix el codi %%B"
+-
+-#: config/fr30/fr30.c:537
+-#, c-format
+-msgid "fr30_print_operand: invalid operand to %%A code"
+-msgstr "fr30_print_operand: operand no vàlid per al codi %%A"
+-
+-#: config/fr30/fr30.c:554
+-#, c-format
+-msgid "fr30_print_operand: invalid %%x code"
+-msgstr "fr30_print_operand: codi %%x no vàlid"
+-
+-#: config/fr30/fr30.c:561
+-#, c-format
+-msgid "fr30_print_operand: invalid %%F code"
+-msgstr "fr30_print_operand: codi %%F no vàlid"
+-
+-#: config/fr30/fr30.c:578
+-#, c-format
+-msgid "fr30_print_operand: unknown code"
+-msgstr "fr30_print_operand: codi desconegut"
+-
+-#: config/fr30/fr30.c:606 config/fr30/fr30.c:615 config/fr30/fr30.c:626
+-#: config/fr30/fr30.c:639
+-#, c-format
+-msgid "fr30_print_operand: unhandled MEM"
+-msgstr "fr30_print_operand: MEM sense manejar"
+-
+-#: config/frv/frv.c:2542
+-#, fuzzy
+-msgid "bad insn to frv_print_operand_address:"
+-msgstr "insn erroni per a frv_print_operand_address:"
+-
+-#: config/frv/frv.c:2553
+-#, fuzzy
+-msgid "bad register to frv_print_operand_memory_reference_reg:"
+-msgstr "insn erroni per a frv_print_operand_memory_reference_reg:"
+-
+-#: config/frv/frv.c:2592 config/frv/frv.c:2602 config/frv/frv.c:2611
+-#: config/frv/frv.c:2632 config/frv/frv.c:2637
+-#, fuzzy
+-msgid "bad insn to frv_print_operand_memory_reference:"
+-msgstr "insn erroni per a frv_print_operand_memory_reference:"
+-
+-#: config/frv/frv.c:2723
+-#, fuzzy, c-format
+-msgid "bad condition code"
+-msgstr "codi d'extensió de registre erroni"
+-
+-#: config/frv/frv.c:2798
+-#, fuzzy
+-msgid "bad insn in frv_print_operand, bad const_double"
+-msgstr "insn erroni per a frv_print_operand,·bad·const_double"
+-
+-#: config/frv/frv.c:2859
+-#, fuzzy
+-msgid "bad insn to frv_print_operand, 'e' modifier:"
+-msgstr "insn erroni per a frv_print_operand, modificador \"e\":"
+-
+-#: config/frv/frv.c:2867
+-#, fuzzy
+-msgid "bad insn to frv_print_operand, 'F' modifier:"
+-msgstr "insn erroni per a frv_print_operand, modificador \"F\":"
+-
+-#: config/frv/frv.c:2883
+-#, fuzzy
+-msgid "bad insn to frv_print_operand, 'f' modifier:"
+-msgstr "insn erroni per a frv_print_operand, modificador \"f\":"
+-
+-#: config/frv/frv.c:2897
+-#, fuzzy
+-msgid "bad insn to frv_print_operand, 'g' modifier:"
+-msgstr "insn erroni per a frv_print_operand, modificador \"C\":"
+-
+-#: config/frv/frv.c:2945
+-#, fuzzy
+-msgid "bad insn to frv_print_operand, 'L' modifier:"
+-msgstr "insn erroni per a frv_print_operand, modificador \"L\":"
+-
+-#: config/frv/frv.c:2958
+-#, fuzzy
+-msgid "bad insn to frv_print_operand, 'M/N' modifier:"
+-msgstr "insn erroni per a frv_print_operand, modificador \"M/N\":"
+-
+-#: config/frv/frv.c:2979
+-#, fuzzy
+-msgid "bad insn to frv_print_operand, 'O' modifier:"
+-msgstr "insn erroni per a frv_print_operand, modificador \"O\":"
+-
+-#: config/frv/frv.c:2997
+-#, fuzzy
+-msgid "bad insn to frv_print_operand, P modifier:"
+-msgstr "insn erroni per a frv_print_operand, modificador \"P\":"
+-
+-#: config/frv/frv.c:3017
+-#, fuzzy
+-msgid "bad insn in frv_print_operand, z case"
+-msgstr "insn erroni per a frv_print_operand, «case» z"
+-
+-#: config/frv/frv.c:3048
+-#, fuzzy
+-msgid "bad insn in frv_print_operand, 0 case"
+-msgstr "insn erroni per a frv_print_operand, «case» 0"
+-
+-#: config/frv/frv.c:3053
+-msgid "frv_print_operand: unknown code"
+-msgstr "frv_print_operand: codi desconegut"
+-
+-#: config/frv/frv.c:4422
+-#, fuzzy
+-msgid "bad output_move_single operand"
+-msgstr "Operand output_move_single erroni"
+-
+-#: config/frv/frv.c:4549
+-#, fuzzy
+-msgid "bad output_move_double operand"
+-msgstr "Operand output_move_single erroni"
+-
+-#: config/frv/frv.c:4691
+-#, fuzzy
+-msgid "bad output_condmove_single operand"
+-msgstr "Operand output_condmove_single erroni"
+-
+-#. This macro is a C statement to print on `stderr' a string describing the
+-#. particular machine description choice. Every machine description should
+-#. define `TARGET_VERSION'. For example:
+-#.
+-#. #ifdef MOTOROLA
+-#. #define TARGET_VERSION fprintf (stderr, " (68k, Motorola syntax)");
+-#. #else
+-#. #define TARGET_VERSION fprintf (stderr, " (68k, MIT syntax)");
+-#. #endif
+-#: config/frv/frv.h:328
+-#, c-format
+-msgid " (frv)"
+-msgstr ""
+-
+-#: config/i386/i386.c:8218
+-#, c-format
+-msgid "invalid UNSPEC as operand"
+-msgstr "UNSPEC no vàlid com a operand"
+-
+-#: config/i386/i386.c:8924
+-#, c-format
+-msgid "operand is neither a constant nor a condition code, invalid operand code 'c'"
+-msgstr "l'operand no és una constant ni un codi de condició, codi d'operand \"c\" no vàlid"
+-
+-#: config/i386/i386.c:9040
+-#, fuzzy, c-format
+-msgid "invalid operand code '%c'"
+-msgstr "codi d'operand \"%c\" no vàlid"
+-
+-#: config/i386/i386.c:9089
+-#, c-format
+-msgid "invalid constraints for operand"
+-msgstr "restriccions no vàlides per a l'operand"
+-
+-#: config/i386/i386.c:16348
+-msgid "unknown insn mode"
+-msgstr "mode insn desconegut"
+-
+-#. If the environment variable DJDIR is not defined, then DJGPP is not installed correctly and GCC will quickly become confused with the default prefix settings. Report the problem now so the user doesn't receive deceptive "file not found" error messages later.
+-#. DJDIR is automatically defined by the DJGPP environment config file pointed to by the environment variable DJGPP. Examine DJGPP to try and figure out what's wrong.
+-#: config/i386/xm-djgpp.h:61
+-#, c-format
+-msgid "environment variable DJGPP not defined"
+-msgstr "no es va definir la variable d'ambient DJGPP"
+-
+-#: config/i386/xm-djgpp.h:63
+-#, c-format
+-msgid "environment variable DJGPP points to missing file '%s'"
+-msgstr "la variable d'ambient DJGPP punta al fitxer faltant\"%s\""
+-
+-#: config/i386/xm-djgpp.h:66
+-#, c-format
+-msgid "environment variable DJGPP points to corrupt file '%s'"
+-msgstr "la variable d'ambient DJGPP punta al fitxer corrupte \"%s\""
+-
+-#: config/ia64/ia64.c:4770
+-#, c-format
+-msgid "ia64_print_operand: unknown code"
+-msgstr "ia64_print_operand: codi desconegut"
+-
+-#: config/ia64/ia64.c:9889
+-#, fuzzy
+-msgid "invalid conversion from %<__fpreg%>"
+-msgstr "conversió no vàlida de \"%T\" a \"%T\""
+-
+-#: config/ia64/ia64.c:9892
+-#, fuzzy
+-msgid "invalid conversion to %<__fpreg%>"
+-msgstr "conversió no vàlida del tipus \"%T\" a partir del tipus \"%T\""
+-
+-#: config/ia64/ia64.c:9905 config/ia64/ia64.c:9916
+-#, fuzzy
+-msgid "invalid operation on %<__fpreg%>"
+-msgstr "no vàlid operand per al codi %%p"
+-
+-#: config/iq2000/iq2000.c:3118
+-#, c-format
+-msgid "invalid %%P operand"
+-msgstr "operand no vàlid per a %%P"
+-
+-#: config/iq2000/iq2000.c:3126 config/rs6000/rs6000.c:11607
+-#, c-format
+-msgid "invalid %%p value"
+-msgstr "valor no vàlid per a %%p"
+-
+-#: config/iq2000/iq2000.c:3182
+-#, c-format
+-msgid "invalid use of %%d, %%x, or %%X"
+-msgstr "ùs no vàlid de %%d, %%x, o %%X"
+-
+-#: config/m32r/m32r.c:1775
+-#, c-format
+-msgid "invalid operand to %%s code"
+-msgstr "no vàlid operand per al codi %%s"
+-
+-#: config/m32r/m32r.c:1782
+-#, c-format
+-msgid "invalid operand to %%p code"
+-msgstr "no vàlid operand per al codi %%p"
+-
+-#: config/m32r/m32r.c:1837
+-msgid "bad insn for 'A'"
+-msgstr "insn erroni per a \"A\""
+-
+-#: config/m32r/m32r.c:1884
+-#, c-format
+-msgid "invalid operand to %%T/%%B code"
+-msgstr "no vàlid operand per al codi %%T/%%B"
+-
+-#: config/m32r/m32r.c:1907
+-#, c-format
+-msgid "invalid operand to %%N code"
+-msgstr "no vàlid operand per al codi %%N"
+-
+-#: config/m32r/m32r.c:1940
+-msgid "pre-increment address is not a register"
+-msgstr "l'adreça de pre-increment no és un registre"
+-
+-#: config/m32r/m32r.c:1947
+-msgid "pre-decrement address is not a register"
+-msgstr "l'adreça de pre-decrement no és un registre"
+-
+-#: config/m32r/m32r.c:1954
+-msgid "post-increment address is not a register"
+-msgstr "l'adreça de post-increment no és un registre"
+-
+-#: config/m32r/m32r.c:2030 config/m32r/m32r.c:2044
+-#: config/rs6000/rs6000.c:19870
+-msgid "bad address"
+-msgstr "adreça erroni"
+-
+-#: config/m32r/m32r.c:2049
+-msgid "lo_sum not of register"
+-msgstr "lo_sum no és un registre"
+-
+-#. !!!! SCz wrong here.
+-#: config/m68hc11/m68hc11.c:3189 config/m68hc11/m68hc11.c:3567
+-msgid "move insn not handled"
+-msgstr "no es maneja move insn"
+-
+-#: config/m68hc11/m68hc11.c:3413 config/m68hc11/m68hc11.c:3497
+-#: config/m68hc11/m68hc11.c:3770
+-msgid "invalid register in the move instruction"
+-msgstr "registre no vàlid en la instrucció move"
+-
+-#: config/m68hc11/m68hc11.c:3447
+-msgid "invalid operand in the instruction"
+-msgstr "operand no vàlid en la instrucció"
+-
+-#: config/m68hc11/m68hc11.c:3744
+-msgid "invalid register in the instruction"
+-msgstr "registre no vàlid en la instrucció"
+-
+-#: config/m68hc11/m68hc11.c:3777
+-msgid "operand 1 must be a hard register"
+-msgstr "l'operand 1 ha de ser un registre fix"
+-
+-#: config/m68hc11/m68hc11.c:3791
+-msgid "invalid rotate insn"
+-msgstr "rotació de insn no vàlida"
+-
+-#: config/m68hc11/m68hc11.c:4215
+-msgid "registers IX, IY and Z used in the same INSN"
+-msgstr "es van usar els registres IX, IY i Z en el mateix INSN"
+-
+-#: config/m68hc11/m68hc11.c:4548 config/m68hc11/m68hc11.c:4848
+-msgid "cannot do z-register replacement"
+-msgstr "no es pot reemplaçar el registre-z"
+-
+-#: config/m68hc11/m68hc11.c:4911
+-msgid "invalid Z register replacement for insn"
+-msgstr "reemplaçament de registre Z no vàlid per al insn"
+-
+-#: config/mips/mips.c:6313 config/mips/mips.c:6334 config/mips/mips.c:6438
+-#, fuzzy, c-format
+-msgid "'%%%c' is not a valid operand prefix"
+-msgstr "\"%T\" no és una expressió vàlida"
+-
+-#: config/mips/mips.c:6382 config/mips/mips.c:6389 config/mips/mips.c:6396
+-#: config/mips/mips.c:6456
+-#, fuzzy, c-format
+-msgid "invalid use of '%%%c'"
+-msgstr "ús no vàlid de \"%D\""
+-
+-#: config/mips/mips.c:6701
+-msgid "mips_debugger_offset called with non stack/frame/arg pointer"
+-msgstr ""
+-
+-#: config/mmix/mmix.c:1487 config/mmix/mmix.c:1617
+-msgid "MMIX Internal: Expected a CONST_INT, not this"
+-msgstr "MMIX intern: Esperant un CONS_INT, no això"
+-
+-#: config/mmix/mmix.c:1566
+-msgid "MMIX Internal: Bad value for 'm', not a CONST_INT"
+-msgstr "MMIX intern: valor erroni per a \"m\", no és un CONST_INT"
+-
+-#: config/mmix/mmix.c:1585
+-msgid "MMIX Internal: Expected a register, not this"
+-msgstr "MMIX intern: Esperant un registre, no això"
+-
+-#: config/mmix/mmix.c:1595
+-msgid "MMIX Internal: Expected a constant, not this"
+-msgstr "MMIX intern: Esperant una constant, no això"
+-
+-#. We need the original here.
+-#: config/mmix/mmix.c:1679
+-msgid "MMIX Internal: Cannot decode this operand"
+-msgstr "MMIX intern: aquest operand no es pot dexifrar"
+-
+-#: config/mmix/mmix.c:1736
+-msgid "MMIX Internal: This is not a recognized address"
+-msgstr "MMIX intern: adreça no reconeguda"
+-
+-#: config/mmix/mmix.c:2669
+-msgid "MMIX Internal: Trying to output invalidly reversed condition:"
+-msgstr "MMIX intern: Intentant de mostrar una condició invertida de forma no vàlida:"
+-
+-#: config/mmix/mmix.c:2676
+-msgid "MMIX Internal: What's the CC of this?"
+-msgstr "MMIX Internal: Quin és el CC per això"
+-
+-#: config/mmix/mmix.c:2680
+-msgid "MMIX Internal: What is the CC of this?"
+-msgstr "MMIX Internal: Quin és el CC per això"
+-
+-#: config/mmix/mmix.c:2744
+-msgid "MMIX Internal: This is not a constant:"
+-msgstr "MMIX Internal: Això no és una constant:"
+-
+-#: config/mt/mt.c:299
+-msgid "mt_final_prescan_insn, invalid insn #1"
+-msgstr ""
+-
+-#: config/mt/mt.c:370
+-#, fuzzy
+-msgid "PRINT_OPERAND_ADDRESS, 2 regs"
+-msgstr "PRINT_OPERAND_ADDRESS, punter nul"
+-
+-#: config/mt/mt.c:394
+-#, fuzzy
+-msgid "PRINT_OPERAND_ADDRESS, invalid insn #1"
+-msgstr "PRINT_OPERAND_ADDRESS, punter nul"
+-
+-#: config/rs6000/host-darwin.c:96
+-#, c-format
+-msgid "Out of stack space.\n"
+-msgstr ""
+-
+-#: config/rs6000/host-darwin.c:117
+-#, c-format
+-msgid "Try running '%s' in the shell to raise its limit.\n"
+-msgstr ""
+-
+-#: config/rs6000/rs6000.c:11434
+-#, c-format
+-msgid "invalid %%f value"
+-msgstr "valor %%f no vàlid"
+-
+-#: config/rs6000/rs6000.c:11443
+-#, c-format
+-msgid "invalid %%F value"
+-msgstr "valor %%F no vàlid"
+-
+-#: config/rs6000/rs6000.c:11452
+-#, c-format
+-msgid "invalid %%G value"
+-msgstr "valor %%G no vàlid"
+-
+-#: config/rs6000/rs6000.c:11487
+-#, c-format
+-msgid "invalid %%j code"
+-msgstr "valor %%j no vàlid"
+-
+-#: config/rs6000/rs6000.c:11497
+-#, c-format
+-msgid "invalid %%J code"
+-msgstr "valor %%J no vàlid"
+-
+-#: config/rs6000/rs6000.c:11507
+-#, c-format
+-msgid "invalid %%k value"
+-msgstr "valor %%k no vàlid"
+-
+-#: config/rs6000/rs6000.c:11527 config/xtensa/xtensa.c:2022
+-#, c-format
+-msgid "invalid %%K value"
+-msgstr "valor %%K no vàlid"
+-
+-#: config/rs6000/rs6000.c:11597
+-#, c-format
+-msgid "invalid %%O value"
+-msgstr "valor %%O no vàlid"
+-
+-#: config/rs6000/rs6000.c:11644
+-#, c-format
+-msgid "invalid %%q value"
+-msgstr "valor no vàlid per a %%q"
+-
+-#: config/rs6000/rs6000.c:11688
+-#, c-format
+-msgid "invalid %%S value"
+-msgstr "valor %%S no vàlid"
+-
+-#: config/rs6000/rs6000.c:11728
+-#, c-format
+-msgid "invalid %%T value"
+-msgstr "valor %%T no vàlid"
+-
+-#: config/rs6000/rs6000.c:11738
+-#, c-format
+-msgid "invalid %%u value"
+-msgstr "valor %%u no vàlid"
+-
+-#: config/rs6000/rs6000.c:11747 config/xtensa/xtensa.c:1992
+-#, c-format
+-msgid "invalid %%v value"
+-msgstr "valor %%v no vàlid"
+-
+-#: config/rs6000/rs6000.c:21768
+-#, fuzzy
+-msgid "AltiVec argument passed to unprototyped function"
+-msgstr "molt pocs arguments per a la funció"
+-
+-#: config/s390/s390.c:4561
+-#, fuzzy, c-format
+-msgid "cannot decompose address"
+-msgstr "No es pot descompondre l'adreça."
+-
+-#: config/s390/s390.c:4771
+-msgid "UNKNOWN in print_operand !?"
+-msgstr "UNKNOWN en print_operand !?"
+-
+-#: config/score/score3.c:1262 config/score/score3.c:1282
+-#: config/score/score7.c:1253
+-#, fuzzy, c-format
+-msgid "invalid operand for code: '%c'"
+-msgstr "codi d'operand \"%c\" no vàlid"
+-
+-#: config/sh/sh.c:746
+-#, fuzzy, c-format
+-msgid "invalid operand to %%R"
+-msgstr "operand no vàlid per al codi %%R"
+-
+-#: config/sh/sh.c:773
+-#, fuzzy, c-format
+-msgid "invalid operand to %%S"
+-msgstr "operand no vàlid per al codi %%R"
+-
+-#: config/sh/sh.c:8095
+-#, fuzzy
+-msgid "created and used with different architectures / ABIs"
+-msgstr "\"%#D\" redeclarat com un tipus diferent de símbol"
+-
+-#: config/sh/sh.c:8097
+-#, fuzzy
+-msgid "created and used with different ABIs"
+-msgstr "\"%#D\" redeclarat com un tipus diferent de símbol"
+-
+-#: config/sh/sh.c:8099
+-#, fuzzy
+-msgid "created and used with different endianness"
+-msgstr "inicialitzador de dades en l'ordinador amb \"endianness\" diferent"
+-
+-#: config/sparc/sparc.c:6803 config/sparc/sparc.c:6809
+-#, c-format
+-msgid "invalid %%Y operand"
+-msgstr "operand %%Y no vàlid"
+-
+-#: config/sparc/sparc.c:6879
+-#, c-format
+-msgid "invalid %%A operand"
+-msgstr "operand %%A no vàlid"
+-
+-#: config/sparc/sparc.c:6889
+-#, c-format
+-msgid "invalid %%B operand"
+-msgstr "operand %%B no vàlid"
+-
+-#: config/sparc/sparc.c:6928
+-#, c-format
+-msgid "invalid %%c operand"
+-msgstr "operand %%c no vàlid"
+-
+-#: config/sparc/sparc.c:6950
+-#, c-format
+-msgid "invalid %%d operand"
+-msgstr "operand %%d no vàlid"
+-
+-#: config/sparc/sparc.c:6967
+-#, c-format
+-msgid "invalid %%f operand"
+-msgstr "operand %%f no vàlid"
+-
+-#: config/sparc/sparc.c:6981
+-#, c-format
+-msgid "invalid %%s operand"
+-msgstr "operand %%s no vàlid"
+-
+-#: config/sparc/sparc.c:7035
+-#, c-format
+-msgid "long long constant not a valid immediate operand"
+-msgstr "la constant long long no és un operand immediat vàlid"
+-
+-#: config/sparc/sparc.c:7038
+-#, c-format
+-msgid "floating point constant not a valid immediate operand"
+-msgstr "la constant de coma flotant no és un operand immediat vàlid"
+-
+-#: config/stormy16/stormy16.c:1775 config/stormy16/stormy16.c:1846
+-#, fuzzy, c-format
+-msgid "'B' operand is not constant"
+-msgstr "l'operand \"B\" no és una constant"
+-
+-#: config/stormy16/stormy16.c:1802
+-#, fuzzy, c-format
+-msgid "'B' operand has multiple bits set"
+-msgstr "l'operand \"B\" té establerts múltiples bits"
+-
+-#: config/stormy16/stormy16.c:1828
+-#, fuzzy, c-format
+-msgid "'o' operand is not constant"
+-msgstr "l'operand \"o\" no és una constant"
+-
+-#: config/stormy16/stormy16.c:1860
+-#, c-format
+-msgid "xstormy16_print_operand: unknown code"
+-msgstr "xstormy16_print_operand: codi desconegut"
+-
+-#: config/v850/v850.c:372
+-msgid "const_double_split got a bad insn:"
+-msgstr "const_double_split va rebre un insn erroni:"
+-
+-#: config/v850/v850.c:936
+-msgid "output_move_single:"
+-msgstr "output_move_single:"
+-
+-#: config/xtensa/xtensa.c:652 config/xtensa/xtensa.c:684
+-#: config/xtensa/xtensa.c:693
+-msgid "bad test"
+-msgstr "prova errònia"
+-
+-#: config/xtensa/xtensa.c:1980
+-#, c-format
+-msgid "invalid %%D value"
+-msgstr "valor no vàlid per a %%D"
+-
+-#: config/xtensa/xtensa.c:2017
+-msgid "invalid mask"
+-msgstr "màscara no vàlida"
+-
+-#: config/xtensa/xtensa.c:2043
+-#, fuzzy, c-format
+-msgid "invalid %%x value"
+-msgstr "valor no vàlid per a %%x/X"
+-
+-#: config/xtensa/xtensa.c:2050
+-#, fuzzy, c-format
+-msgid "invalid %%d value"
+-msgstr "valor %%v no vàlid"
+-
+-#: config/xtensa/xtensa.c:2071 config/xtensa/xtensa.c:2081
+-#, fuzzy, c-format
+-msgid "invalid %%t/%%b value"
+-msgstr "valor %%b no vàlid"
+-
+-#: config/xtensa/xtensa.c:2123
+-msgid "invalid address"
+-msgstr "adreça no vàlida"
+-
+-#: config/xtensa/xtensa.c:2148
+-msgid "no register in address"
+-msgstr "no hi ha registre en l'adreça"
+-
+-#: config/xtensa/xtensa.c:2156
+-msgid "address offset not a constant"
+-msgstr "el desplaçament d'adreça no és una constant"
+-
+-#: cp/call.c:2514
+-msgid "candidates are:"
+-msgstr ""
+-
+-#: cp/call.c:6463
+-msgid "candidate 1:"
+-msgstr ""
+-
+-#: cp/call.c:6464
+-msgid "candidate 2:"
+-msgstr ""
+-
+-#: cp/decl2.c:668
+-msgid "candidates are: %+#D"
+-msgstr ""
+-
+-#: cp/decl2.c:670
+-#, fuzzy
+-msgid "candidate is: %+#D"
+-msgstr "no es pot escriure %s: %m"
+-
+-#: cp/g++spec.c:251 java/jvspec.c:406
+-#, fuzzy, c-format
+-msgid "argument to '%s' missing\n"
+-msgstr "falta l'argument per a `%s'\n"
+-
+-#: fortran/arith.c:90
+-msgid "Arithmetic OK at %L"
+-msgstr ""
+-
+-#: fortran/arith.c:93
+-msgid "Arithmetic overflow at %L"
+-msgstr ""
+-
+-#: fortran/arith.c:96
+-msgid "Arithmetic underflow at %L"
+-msgstr ""
+-
+-#: fortran/arith.c:99
+-msgid "Arithmetic NaN at %L"
+-msgstr ""
+-
+-#: fortran/arith.c:102
+-#, fuzzy
+-msgid "Division by zero at %L"
+-msgstr "divisió per zero"
+-
+-#: fortran/arith.c:105
+-msgid "Array operands are incommensurate at %L"
+-msgstr ""
+-
+-#: fortran/arith.c:109
+-msgid "Integer outside symmetric range implied by Standard Fortran at %L"
+-msgstr ""
+-
+-#: fortran/arith.c:1425
+-msgid "elemental binary operation"
+-msgstr ""
+-
+-#: fortran/arith.c:1997
+-#, fuzzy, no-c-format
+-msgid "Arithmetic OK converting %s to %s at %L"
+-msgstr "la conversion de %s a %s ha fallat"
+-
+-#: fortran/arith.c:2001
+-#, no-c-format
+-msgid "Arithmetic overflow converting %s to %s at %L. This check can be disabled with the option -fno-range-check"
+-msgstr ""
+-
+-#: fortran/arith.c:2006
+-#, no-c-format
+-msgid "Arithmetic underflow converting %s to %s at %L"
+-msgstr ""
+-
+-#: fortran/arith.c:2010
+-#, no-c-format
+-msgid "Arithmetic NaN converting %s to %s at %L"
+-msgstr ""
+-
+-#: fortran/arith.c:2014
+-#, fuzzy, no-c-format
+-msgid "Division by zero converting %s to %s at %L"
+-msgstr "divisió per zero en \"%E %% 0\""
+-
+-#: fortran/arith.c:2018
+-#, no-c-format
+-msgid "Array operands are incommensurate converting %s to %s at %L"
+-msgstr ""
+-
+-#: fortran/arith.c:2022
+-#, no-c-format
+-msgid "Integer outside symmetric range implied by Standard Fortran converting %s to %s at %L"
+-msgstr ""
+-
+-#: fortran/arith.c:2355
+-#, fuzzy, no-c-format
+-msgid "The Hollerith constant at %L is too long to convert to %s"
+-msgstr "La constant de caràcter en %0 no té l'apòstrofe que tanca en %1"
+-
+-#: fortran/arith.c:2513
+-#, no-c-format
+-msgid "Enumerator exceeds the C integer type at %C"
+-msgstr ""
+-
+-#: fortran/array.c:97
+-#, fuzzy, no-c-format
+-msgid "Expected array subscript at %C"
+-msgstr "el subindici de matriu té un tipus \"char\""
+-
+-#: fortran/array.c:124
+-#, fuzzy, no-c-format
+-msgid "Expected array subscript stride at %C"
+-msgstr "el subindici de matriu té un tipus \"char\""
+-
+-#: fortran/array.c:167
+-#, fuzzy, no-c-format
+-msgid "Invalid form of array reference at %C"
+-msgstr "Element null en %0 per a la referència de matriu en %1"
+-
+-#: fortran/array.c:172
+-#, no-c-format
+-msgid "Array reference at %C cannot have more than %d dimensions"
+-msgstr ""
+-
+-#: fortran/array.c:223
+-#, no-c-format
+-msgid "Variable '%s' at %L in this context must be constant"
+-msgstr ""
+-
+-#: fortran/array.c:299
+-#, no-c-format
+-msgid "Expected expression in array specification at %C"
+-msgstr ""
+-
+-#: fortran/array.c:386
+-#, no-c-format
+-msgid "Bad array specification for an explicitly shaped array at %C"
+-msgstr ""
+-
+-#: fortran/array.c:396
+-#, no-c-format
+-msgid "Bad array specification for assumed shape array at %C"
+-msgstr ""
+-
+-#: fortran/array.c:410
+-#, fuzzy, no-c-format
+-msgid "Bad specification for deferred shape array at %C"
+-msgstr "No hi ha especificació per al iterador del DO implícit `%A' en %0"
+-
+-#: fortran/array.c:414
+-#, fuzzy, no-c-format
+-msgid "Bad specification for assumed size array at %C"
+-msgstr "No hi ha especificació per al iterador del DO implícit `%A' en %0"
+-
+-#: fortran/array.c:423
+-#, no-c-format
+-msgid "Expected another dimension in array declaration at %C"
+-msgstr ""
+-
+-#: fortran/array.c:429
+-#, no-c-format
+-msgid "Array specification at %C has more than %d dimensions"
+-msgstr ""
+-
+-#: fortran/array.c:635
+-#, fuzzy, no-c-format
+-msgid "duplicated initializer"
+-msgstr "valor inicial no vàlid"
+-
+-#: fortran/array.c:727
+-#, no-c-format
+-msgid "DO-iterator '%s' at %L is inside iterator of the same name"
+-msgstr ""
+-
+-#: fortran/array.c:829 fortran/array.c:938
+-#, fuzzy, no-c-format
+-msgid "Syntax error in array constructor at %C"
+-msgstr "errore sintàctic en la llista de paràmetre de macro"
+-
+-#: fortran/array.c:884
+-#, no-c-format
+-msgid "Fortran 2003: [...] style array constructors at %C"
+-msgstr ""
+-
+-#: fortran/array.c:898
+-#, fuzzy, no-c-format
+-msgid "Empty array constructor at %C is not allowed"
+-msgstr "l'argument per a l'atribut \"%s\" és més gran que %d"
+-
+-#: fortran/array.c:982
+-#, no-c-format
+-msgid "Element in %s array constructor at %L is %s"
+-msgstr ""
+-
+-#: fortran/array.c:1309
+-#, no-c-format
+-msgid "Iterator step at %L cannot be zero"
+-msgstr ""
+-
+-#: fortran/check.c:44
+-#, fuzzy, no-c-format
+-msgid "'%s' argument of '%s' intrinsic at %L must be a scalar"
+-msgstr "l'argument 1 de __builtin__spe_predicate ha de ser una constant"
+-
+-#: fortran/check.c:59
+-#, no-c-format
+-msgid "'%s' argument of '%s' intrinsic at %L must be %s"
+-msgstr ""
+-
+-#: fortran/check.c:87
+-#, no-c-format
+-msgid "'%s' argument of '%s' intrinsic at %L must be a numeric type"
+-msgstr ""
+-
+-#: fortran/check.c:101 fortran/check.c:817 fortran/check.c:827
+-#, no-c-format
+-msgid "'%s' argument of '%s' intrinsic at %L must be INTEGER or REAL"
+-msgstr ""
+-
+-#: fortran/check.c:118
+-#, no-c-format
+-msgid "'%s' argument of '%s' intrinsic at %L must be REAL or COMPLEX"
+-msgstr ""
+-
+-#: fortran/check.c:147
+-#, fuzzy, no-c-format
+-msgid "'%s' argument of '%s' intrinsic at %L must be a constant"
+-msgstr "l'argument 1 de __builtin__spe_predicate ha de ser una constant"
+-
+-#: fortran/check.c:156
+-#, fuzzy, no-c-format
+-msgid "Invalid kind for %s at %L"
+-msgstr "constant de cadena no vàlida \"%E\""
+-
+-#: fortran/check.c:175
+-#, no-c-format
+-msgid "'%s' argument of '%s' intrinsic at %L must be double precision"
+-msgstr ""
+-
+-#: fortran/check.c:192
+-#, no-c-format
+-msgid "'%s' argument of '%s' intrinsic at %L must be a logical array"
+-msgstr ""
+-
+-#: fortran/check.c:210
+-#, fuzzy, no-c-format
+-msgid "'%s' argument of '%s' intrinsic at %L must be an array"
+-msgstr "l'argument 1 de __builtin__spe_predicate ha de ser una constant"
+-
+-#: fortran/check.c:225
+-#, no-c-format
+-msgid "'%s' argument of '%s' intrinsic at %L must be the same type and kind as '%s'"
+-msgstr ""
+-
+-#: fortran/check.c:241
+-#, no-c-format
+-msgid "'%s' argument of '%s' intrinsic at %L must be of rank %d"
+-msgstr ""
+-
+-#: fortran/check.c:256
+-#, no-c-format
+-msgid "'%s' argument of '%s' intrinsic at %L must not be OPTIONAL"
+-msgstr ""
+-
+-#: fortran/check.c:275
+-#, no-c-format
+-msgid "'%s' argument of '%s' intrinsic at %L must be of kind %d"
+-msgstr ""
+-
+-#: fortran/check.c:297
+-#, no-c-format
+-msgid "'%s' argument of '%s' intrinsic at %L cannot be INTENT(IN)"
+-msgstr ""
+-
+-#: fortran/check.c:303
+-#, no-c-format
+-msgid "'%s' argument of '%s' intrinsic at %L must be a variable"
+-msgstr ""
+-
+-#: fortran/check.c:320
+-#, no-c-format
+-msgid "Missing DIM parameter in intrinsic '%s' at %L"
+-msgstr ""
+-
+-#: fortran/check.c:363
+-#, no-c-format
+-msgid "'dim' argument of '%s' intrinsic at %L is not a valid dimension index"
+-msgstr ""
+-
+-#: fortran/check.c:433
+-#, no-c-format
+-msgid "Unequal character lengths (%ld and %ld) in %s intrinsic at %L"
+-msgstr ""
+-
+-#: fortran/check.c:535 fortran/check.c:1938 fortran/check.c:1953
+-#, no-c-format
+-msgid "'%s' argument of '%s' intrinsic at %L must be ALLOCATABLE"
+-msgstr ""
+-
+-#: fortran/check.c:559 fortran/check.c:3703
+-#, no-c-format
+-msgid "'%s' and '%s' arguments of '%s' intrinsic at %L must have the same type"
+-msgstr ""
+-
+-#: fortran/check.c:568 fortran/check.c:1143 fortran/check.c:1286
+-#: fortran/check.c:1360 fortran/check.c:1616
+-#, no-c-format
+-msgid "Extension: Different type kinds at %L"
+-msgstr ""
+-
+-#: fortran/check.c:608 fortran/check.c:2022
+-#, no-c-format
+-msgid "'%s' argument of '%s' intrinsic at %L must be a POINTER"
+-msgstr ""
+-
+-#: fortran/check.c:628
+-#, no-c-format
+-msgid "'%s' argument of '%s' intrinsic at %L must be a pointer or target VARIABLE or FUNCTION"
+-msgstr ""
+-
+-#: fortran/check.c:636
+-#, no-c-format
+-msgid "'%s' argument of '%s' intrinsic at %L must be a POINTER or a TARGET"
+-msgstr ""
+-
+-#: fortran/check.c:652
+-#, no-c-format
+-msgid "Array section with a vector subscript at %L shall not be the target of a pointer"
+-msgstr ""
+-
+-#: fortran/check.c:663
+-#, no-c-format
+-msgid "NULL pointer at %L is not permitted as actual argument of '%s' intrinsic function"
+-msgstr ""
+-
+-#: fortran/check.c:798 fortran/check.c:915
+-#, no-c-format
+-msgid "'%s' argument of '%s' intrinsic at %L must not be present if 'x' is COMPLEX"
+-msgstr ""
+-
+-#: fortran/check.c:848 fortran/check.c:1205 fortran/check.c:1308
+-#: fortran/check.c:1467 fortran/check.c:1484 fortran/check.c:2318
+-#: fortran/check.c:2444 fortran/check.c:2779 fortran/check.c:2821
+-#, no-c-format
+-msgid "Fortran 2003: '%s' intrinsic with KIND argument at %L"
+-msgstr ""
+-
+-#: fortran/check.c:964 fortran/check.c:1712 fortran/check.c:1720
+-#, no-c-format
+-msgid "'%s' argument of '%s' intrinsic at %L must be numeric or LOGICAL"
+-msgstr ""
+-
+-#: fortran/check.c:978
+-#, no-c-format
+-msgid "Different shape for arguments '%s' and '%s' at %L for intrinsic 'dot_product'"
+-msgstr ""
+-
+-#: fortran/check.c:997 fortran/check.c:1005
+-#, no-c-format
+-msgid "'%s' argument of '%s' intrinsic at %L must be default real"
+-msgstr ""
+-
+-#: fortran/check.c:1256
+-#, no-c-format
+-msgid "Argument of %s at %L must be of length one"
+-msgstr ""
+-
+-#: fortran/check.c:1315
+-#, no-c-format
+-msgid "'%s' argument of '%s' intrinsic at %L must be the same kind as '%s'"
+-msgstr ""
+-
+-#: fortran/check.c:1440
+-#, no-c-format
+-msgid "'%s' argument of '%s' intrinsic at %L must be a non-derived type"
+-msgstr ""
+-
+-#: fortran/check.c:1589
+-#, fuzzy, no-c-format
+-msgid "Intrinsic '%s' at %L must have at least two arguments"
+-msgstr "\"%D\" ha de prendre dos arguments exactament"
+-
+-#: fortran/check.c:1622
+-#, no-c-format
+-msgid "'a%d' argument of '%s' intrinsic at %L must be %s(%d)"
+-msgstr ""
+-
+-#: fortran/check.c:1655
+-#, no-c-format
+-msgid "Fortran 2003: '%s' intrinsic with CHARACTER argument at %L"
+-msgstr ""
+-
+-#: fortran/check.c:1662
+-#, no-c-format
+-msgid "'a1' argument of '%s' intrinsic at %L must be INTEGER, REAL or CHARACTER"
+-msgstr ""
+-
+-#: fortran/check.c:1734
+-#, no-c-format
+-msgid "Different shape on dimension 1 for arguments '%s' and '%s' at %L for intrinsic matmul"
+-msgstr ""
+-
+-#: fortran/check.c:1753
+-#, no-c-format
+-msgid "Different shape on dimension 2 for argument '%s' and dimension 1 for argument '%s' at %L for intrinsic matmul"
+-msgstr ""
+-
+-#: fortran/check.c:1762
+-#, no-c-format
+-msgid "'%s' argument of '%s' intrinsic at %L must be of rank 1 or 2"
+-msgstr ""
+-
+-#: fortran/check.c:1964
+-#, no-c-format
+-msgid "the '%s' and '%s' arguments of '%s' intrinsic at %L must have the same rank %d/%d"
+-msgstr ""
+-
+-#: fortran/check.c:1973
+-#, no-c-format
+-msgid "the '%s' and '%s' arguments of '%s' intrinsic at %L must be of the same kind %d/%d"
+-msgstr ""
+-
+-#: fortran/check.c:2069
+-#, no-c-format
+-msgid "'%s' argument of '%s' intrinsic at %L must be of type REAL or COMPLEX"
+-msgstr ""
+-
+-#: fortran/check.c:2090
+-#, no-c-format
+-msgid "'%s' argument of '%s' intrinsic at %L must be of a dummy variable"
+-msgstr ""
+-
+-#: fortran/check.c:2098
+-#, no-c-format
+-msgid "'%s' argument of '%s' intrinsic at %L must be of an OPTIONAL dummy variable"
+-msgstr ""
+-
+-#: fortran/check.c:2114
+-#, no-c-format
+-msgid "'%s' argument of '%s' intrinsic at %L must not be a subobject of '%s'"
+-msgstr ""
+-
+-#: fortran/check.c:2231
+-#, no-c-format
+-msgid "'shape' argument of 'reshape' intrinsic at %L must be an array of constant size"
+-msgstr ""
+-
+-#: fortran/check.c:2241
+-#, no-c-format
+-msgid "'shape' argument of 'reshape' intrinsic at %L has more than %d elements"
+-msgstr ""
+-
+-#: fortran/check.c:2279
+-#, no-c-format
+-msgid "Without padding, there are not enough elements in the intrinsic RESHAPE source at %L to match the shape"
+-msgstr ""
+-
+-#: fortran/check.c:2364
+-#, fuzzy, no-c-format
+-msgid "Missing arguments to %s intrinsic at %L"
+-msgstr "Falten arguments per a l'opció \"%s\""
+-
+-#: fortran/check.c:2405
+-#, no-c-format
+-msgid "'source' argument of 'shape' intrinsic at %L must not be an assumed size array"
+-msgstr ""
+-
+-#: fortran/check.c:2479
+-#, fuzzy, no-c-format
+-msgid "'%s' argument of '%s' intrinsic at %L must be less than rank %d"
+-msgstr "l'argument per a l'atribut \"%s\" és més gran que %d"
+-
+-#: fortran/check.c:2731
+-#, no-c-format
+-msgid "'MOLD' argument of 'TRANSFER' intrinsic at %L must not be %s"
+-msgstr ""
+-
+-#: fortran/check.c:3050
+-#, fuzzy, no-c-format
+-msgid "Too many arguments to %s at %L"
+-msgstr "massa arguments per a %s \"%+#D\""
+-
+-#: fortran/check.c:3162 fortran/check.c:3616 fortran/check.c:3640
+-#, no-c-format
+-msgid "'%s' argument of '%s' intrinsic at %L must be INTEGER or PROCEDURE"
+-msgstr ""
+-
+-#: fortran/check.c:3338
+-#, no-c-format
+-msgid "'%s' argument of '%s' intrinsic at %L must be of a kind not wider than the default kind (%d)"
+-msgstr ""
+-
+-#: fortran/check.c:3687 fortran/check.c:3695
+-#, no-c-format
+-msgid "'%s' argument of '%s' intrinsic at %L must be INTEGER or LOGICAL"
+-msgstr ""
+-
+-#: fortran/data.c:64
+-#, fuzzy, no-c-format
+-msgid "non-constant array in DATA statement %L"
+-msgstr "índex de matriu no constant en valor inicial"
+-
+-#: fortran/data.c:193
+-#, no-c-format
+-msgid "failure to simplify substring reference in DATA statement at %L"
+-msgstr ""
+-
+-#: fortran/data.c:224
+-#, fuzzy, no-c-format
+-msgid "initialization string truncated to match variable at %L"
+-msgstr "no es poden niuar els designadors d'iniciació"
+-
+-#: fortran/data.c:293
+-#, no-c-format
+-msgid "'%s' at %L already is initialized at %L"
+-msgstr ""
+-
+-#: fortran/data.c:412
+-#, fuzzy, no-c-format
+-msgid "Extension: re-initialization of '%s' at %L"
+-msgstr " salta la inicialización de \"%#D\""
+-
+-#: fortran/decl.c:254
+-#, no-c-format
+-msgid "Host associated variable '%s' may not be in the DATA statement at %C"
+-msgstr ""
+-
+-#: fortran/decl.c:261
+-#, no-c-format
+-msgid "Extension: initialization of common block variable '%s' in DATA statement at %C"
+-msgstr ""
+-
+-#: fortran/decl.c:366
+-#, no-c-format
+-msgid "Symbol '%s' must be a PARAMETER in DATA statement at %C"
+-msgstr ""
+-
+-#: fortran/decl.c:470
+-#, no-c-format
+-msgid "Initialization at %C is not allowed in a PURE procedure"
+-msgstr ""
+-
+-#: fortran/decl.c:529
+-#, no-c-format
+-msgid "DATA statement at %C is not allowed in a PURE procedure"
+-msgstr ""
+-
+-#: fortran/decl.c:558
+-#, no-c-format
+-msgid "Bad INTENT specification at %C"
+-msgstr ""
+-
+-#: fortran/decl.c:600
+-#, no-c-format
+-msgid "Conflict in attributes of function argument at %C"
+-msgstr ""
+-
+-#: fortran/decl.c:647
+-#, fuzzy, no-c-format
+-msgid "Syntax error in character length specification at %C"
+-msgstr "error de decodificació en l'especificació del mètode"
+-
+-#: fortran/decl.c:757
+-#, fuzzy, no-c-format
+-msgid "Procedure '%s' at %C is already defined at %L"
+-msgstr "\"%D\" ja està definit en \"%T\""
+-
+-#: fortran/decl.c:765
+-#, fuzzy, no-c-format
+-msgid "Name '%s' at %C is already defined as a generic interface at %L"
+-msgstr "L'etiqueta %A ja es va definir en %1 quan es va redefinir en %0"
+-
+-#: fortran/decl.c:778
+-#, no-c-format
+-msgid "Procedure '%s' at %C has an explicit interface and must not have attributes declared at %L"
+-msgstr ""
+-
+-#: fortran/decl.c:850
+-#, no-c-format
+-msgid "Procedure '%s' at %L must have the BIND(C) attribute to be C interoperable"
+-msgstr ""
+-
+-#: fortran/decl.c:880
+-#, no-c-format
+-msgid "Type '%s' at %L is a parameter to the BIND(C) procedure '%s' but is not C interoperable because derived type '%s' is not C interoperable"
+-msgstr ""
+-
+-#: fortran/decl.c:887
+-#, no-c-format
+-msgid "Variable '%s' at %L is a parameter to the BIND(C) procedure '%s' but may not be C interoperable"
+-msgstr ""
+-
+-#: fortran/decl.c:902
+-#, no-c-format
+-msgid "Character argument '%s' at %L must be length 1 because procedure '%s' is BIND(C)"
+-msgstr ""
+-
+-#: fortran/decl.c:916
+-#, no-c-format
+-msgid "Variable '%s' at %L cannot have the ALLOCATABLE attribute because procedure '%s' is BIND(C)"
+-msgstr ""
+-
+-#: fortran/decl.c:925
+-#, no-c-format
+-msgid "Variable '%s' at %L cannot have the POINTER attribute because procedure '%s' is BIND(C)"
+-msgstr ""
+-
+-#: fortran/decl.c:934
+-#, no-c-format
+-msgid "Variable '%s' at %L cannot have the OPTIONAL attribute because procedure '%s' is BIND(C)"
+-msgstr ""
+-
+-#: fortran/decl.c:947
+-#, no-c-format
+-msgid "Assumed-shape array '%s' at %L cannot be an argument to the procedure '%s' at %L because the procedure is BIND(C)"
+-msgstr ""
+-
+-#: fortran/decl.c:957
+-#, no-c-format
+-msgid "Deferred-shape array '%s' at %L cannot be an argument to the procedure '%s' at %L because the procedure is BIND(C)"
+-msgstr ""
+-
+-#: fortran/decl.c:1033
+-#, no-c-format
+-msgid "Variable '%s' in common block '%s' at %C must be declared with a C interoperable kind since common block '%s' is BIND(C)"
+-msgstr ""
+-
+-#: fortran/decl.c:1069
+-#, no-c-format
+-msgid "CHARACTER expression at %L is being truncated (%d/%d)"
+-msgstr ""
+-
+-#: fortran/decl.c:1075
+-#, no-c-format
+-msgid "The CHARACTER elements of the array constructor at %L must have the same length (%d/%d)"
+-msgstr ""
+-
+-#: fortran/decl.c:1165
+-#, no-c-format
+-msgid "Initializer not allowed for PARAMETER '%s' at %C"
+-msgstr ""
+-
+-#: fortran/decl.c:1174
+-#, no-c-format
+-msgid "Initializer not allowed for COMMON variable '%s' at %C"
+-msgstr ""
+-
+-#: fortran/decl.c:1184
+-#, fuzzy, no-c-format
+-msgid "PARAMETER at %L is missing an initializer"
+-msgstr "falta valor inicial"
+-
+-#: fortran/decl.c:1194
+-#, no-c-format
+-msgid "Variable '%s' at %C with an initializer already appears in a DATA statement"
+-msgstr ""
+-
+-#: fortran/decl.c:1344
+-#, no-c-format
+-msgid "Component at %C must have the POINTER attribute"
+-msgstr ""
+-
+-#: fortran/decl.c:1352
+-#, no-c-format
+-msgid "Array component of structure at %C must have explicit or deferred shape"
+-msgstr ""
+-
+-#: fortran/decl.c:1378
+-#, no-c-format
+-msgid "Allocatable component at %C must be an array"
+-msgstr ""
+-
+-#: fortran/decl.c:1389
+-#, no-c-format
+-msgid "Pointer array component of structure at %C must have a deferred shape"
+-msgstr ""
+-
+-#: fortran/decl.c:1398
+-#, no-c-format
+-msgid "Allocatable component of structure at %C must have a deferred shape"
+-msgstr ""
+-
+-#: fortran/decl.c:1407
+-#, no-c-format
+-msgid "Array component of structure at %C must have an explicit shape"
+-msgstr ""
+-
+-#: fortran/decl.c:1433
+-#, no-c-format
+-msgid "NULL() initialization at %C is ambiguous"
+-msgstr ""
+-
+-#: fortran/decl.c:1556 fortran/decl.c:5197
+-#, no-c-format
+-msgid "Duplicate array spec for Cray pointee at %C"
+-msgstr ""
+-
+-#: fortran/decl.c:1616
+-#, no-c-format
+-msgid "the type of '%s' at %C has not been declared within the interface"
+-msgstr ""
+-
+-#: fortran/decl.c:1632
+-#, fuzzy, no-c-format
+-msgid "Function name '%s' not allowed at %C"
+-msgstr "%Jno es permet un atribut de secció per a \"%D\""
+-
+-#: fortran/decl.c:1648
+-#, no-c-format
+-msgid "Extension: Old-style initialization at %C"
+-msgstr ""
+-
+-#: fortran/decl.c:1663
+-#, no-c-format
+-msgid "Initialization at %C isn't for a pointer variable"
+-msgstr ""
+-
+-#: fortran/decl.c:1671
+-#, no-c-format
+-msgid "Pointer initialization requires a NULL() at %C"
+-msgstr ""
+-
+-#: fortran/decl.c:1677
+-#, no-c-format
+-msgid "Initialization of pointer at %C is not allowed in a PURE procedure"
+-msgstr ""
+-
+-#: fortran/decl.c:1690
+-#, no-c-format
+-msgid "Pointer initialization at %C requires '=>', not '='"
+-msgstr ""
+-
+-#: fortran/decl.c:1699 fortran/decl.c:6129
+-#, fuzzy, no-c-format
+-msgid "Expected an initialization expression at %C"
+-msgstr "inicialització de l'expressió new amb \"=\""
+-
+-#: fortran/decl.c:1705
+-#, no-c-format
+-msgid "Initialization of variable at %C is not allowed in a PURE procedure"
+-msgstr ""
+-
+-#: fortran/decl.c:1718
+-#, no-c-format
+-msgid "Initialization of allocatable component at %C is not allowed"
+-msgstr ""
+-
+-#: fortran/decl.c:1772 fortran/decl.c:1781
+-#, fuzzy, no-c-format
+-msgid "Old-style type declaration %s*%d not supported at %C"
+-msgstr "no es dóna suport a la declaració feble de \"%s\""
+-
+-#: fortran/decl.c:1786
+-#, fuzzy, no-c-format
+-msgid "Nonstandard type declaration %s*%d at %C"
+-msgstr "declaració extern niada de \"%s\""
+-
+-#: fortran/decl.c:1838 fortran/decl.c:1897
+-#, no-c-format
+-msgid "Missing right parenthesis at %C"
+-msgstr ""
+-
+-#: fortran/decl.c:1853 fortran/decl.c:1931
+-#, fuzzy, no-c-format
+-msgid "Expected initialization expression at %C"
+-msgstr "inicialització de l'expressió new amb \"=\""
+-
+-#: fortran/decl.c:1861 fortran/decl.c:1937
+-#, fuzzy, no-c-format
+-msgid "Expected scalar initialization expression at %C"
+-msgstr "inicialització de l'expressió new amb \"=\""
+-
+-#: fortran/decl.c:1891
+-#, fuzzy, no-c-format
+-msgid "Kind %d not supported for type %s at %C"
+-msgstr "el mode d'arrodoniment no té suport per a floats de VAX"
+-
+-#: fortran/decl.c:1957
+-#, fuzzy, no-c-format
+-msgid "Kind %d is not supported for CHARACTER at %C"
+-msgstr "el mode d'arrodoniment no té suport per a floats de VAX"
+-
+-#: fortran/decl.c:2086
+-#, no-c-format
+-msgid "Syntax error in CHARACTER declaration at %C"
+-msgstr ""
+-
+-#: fortran/decl.c:2156
+-#, no-c-format
+-msgid "Extension: BYTE type at %C"
+-msgstr ""
+-
+-#: fortran/decl.c:2162
+-#, no-c-format
+-msgid "BYTE type used at %C is not available on the target machine"
+-msgstr ""
+-
+-#: fortran/decl.c:2211
+-#, no-c-format
+-msgid "DOUBLE COMPLEX at %C does not conform to the Fortran 95 standard"
+-msgstr ""
+-
+-#: fortran/decl.c:2245 fortran/decl.c:2252 fortran/decl.c:2558
+-#: fortran/decl.c:2566
+-#, fuzzy, no-c-format
+-msgid "Type name '%s' at %C is ambiguous"
+-msgstr "l'ús de \"%D\" és ambigu"
+-
+-#: fortran/decl.c:2321
+-#, no-c-format
+-msgid "Missing character range in IMPLICIT at %C"
+-msgstr ""
+-
+-#: fortran/decl.c:2367
+-#, no-c-format
+-msgid "Letters must be in alphabetic order in IMPLICIT statement at %C"
+-msgstr ""
+-
+-#: fortran/decl.c:2421
+-#, no-c-format
+-msgid "Empty IMPLICIT statement at %C"
+-msgstr ""
+-
+-#: fortran/decl.c:2524
+-#, no-c-format
+-msgid "IMPORT statement at %C only permitted in an INTERFACE body"
+-msgstr ""
+-
+-#: fortran/decl.c:2529
+-#, fuzzy, no-c-format
+-msgid "Fortran 2003: IMPORT statement at %C"
+-msgstr "Coma sobrant en la declaració FORMAT en %0"
+-
+-#: fortran/decl.c:2544
+-#, no-c-format
+-msgid "Expecting list of named entities at %C"
+-msgstr ""
+-
+-#: fortran/decl.c:2572
+-#, no-c-format
+-msgid "Cannot IMPORT '%s' from host scoping unit at %C - does not exist."
+-msgstr ""
+-
+-#: fortran/decl.c:2579
+-#, no-c-format
+-msgid "'%s' is already IMPORTed from host scoping unit at %C."
+-msgstr ""
+-
+-#: fortran/decl.c:2608
+-#, fuzzy, no-c-format
+-msgid "Syntax error in IMPORT statement at %C"
+-msgstr "Nombre espuri en la declaració FORMAT en %0"
+-
+-#: fortran/decl.c:2850
+-#, fuzzy, no-c-format
+-msgid "Missing dimension specification at %C"
+-msgstr "Falta l'especificador %A en la declaració en %0"
+-
+-#: fortran/decl.c:2924
+-#, no-c-format
+-msgid "Duplicate %s attribute at %L"
+-msgstr ""
+-
+-#: fortran/decl.c:2943
+-#, no-c-format
+-msgid "Fortran 2003: ALLOCATABLE attribute at %C in a TYPE definition"
+-msgstr ""
+-
+-#: fortran/decl.c:2953
+-#, fuzzy, no-c-format
+-msgid "Attribute at %L is not allowed in a TYPE definition"
+-msgstr "la variable de registre global segueix a una definició de funció"
+-
+-#: fortran/decl.c:2971
+-#, no-c-format
+-msgid "Fortran 2003: Attribute %s at %L in a TYPE definition"
+-msgstr ""
+-
+-#: fortran/decl.c:2982
+-#, no-c-format
+-msgid "%s attribute at %L is not allowed outside of the specification part of a module"
+-msgstr ""
+-
+-#: fortran/decl.c:3034 fortran/decl.c:5437
+-#, no-c-format
+-msgid "PROTECTED at %C only allowed in specification part of a module"
+-msgstr ""
+-
+-#: fortran/decl.c:3040
+-#, no-c-format
+-msgid "Fortran 2003: PROTECTED attribute at %C"
+-msgstr ""
+-
+-#: fortran/decl.c:3071
+-#, no-c-format
+-msgid "Fortran 2003: VALUE attribute at %C"
+-msgstr ""
+-
+-#: fortran/decl.c:3081
+-#, no-c-format
+-msgid "Fortran 2003: VOLATILE attribute at %C"
+-msgstr ""
+-
+-#: fortran/decl.c:3121
+-#, no-c-format
+-msgid "Multiple identifiers provided with single NAME= specifier at %C"
+-msgstr ""
+-
+-#. Print an error, but continue parsing line.
+-#: fortran/decl.c:3171
+-#, no-c-format
+-msgid "C kind parameter is for type %s but symbol '%s' at %L is of type %s"
+-msgstr ""
+-
+-#: fortran/decl.c:3235
+-#, no-c-format
+-msgid "Implicitly declared BIND(C) function '%s' at %L may not be C interoperable"
+-msgstr ""
+-
+-#: fortran/decl.c:3257
+-#, no-c-format
+-msgid "Variable '%s' in common block '%s' at %L may not be a C interoperable kind though common block '%s' is BIND(C)"
+-msgstr ""
+-
+-#: fortran/decl.c:3266
+-#, no-c-format
+-msgid "Type declaration '%s' at %L is not C interoperable but it is BIND(C)"
+-msgstr ""
+-
+-#: fortran/decl.c:3270
+-#, no-c-format
+-msgid "Variable '%s' at %L may not be a C interoperable kind but it is bind(c)"
+-msgstr ""
+-
+-#: fortran/decl.c:3282
+-#, no-c-format
+-msgid "Variable '%s' in common block '%s' at %L cannot be declared with BIND(C) since it is not a global"
+-msgstr ""
+-
+-#: fortran/decl.c:3296
+-#, no-c-format
+-msgid "Variable '%s' at %L cannot have both the POINTER and BIND(C) attributes"
+-msgstr ""
+-
+-#: fortran/decl.c:3304
+-#, no-c-format
+-msgid "Variable '%s' at %L cannot have both the ALLOCATABLE and BIND(C) attributes"
+-msgstr ""
+-
+-#: fortran/decl.c:3314
+-#, no-c-format
+-msgid "Return type of BIND(C) function '%s' at %L cannot be an array"
+-msgstr ""
+-
+-#: fortran/decl.c:3322
+-#, no-c-format
+-msgid "Return type of BIND(C) function '%s' at %L cannot be a character string"
+-msgstr ""
+-
+-#. Use gfc_warning_now because we won't say that the symbol fails
+-#. just because of this.
+-#: fortran/decl.c:3334
+-#, no-c-format
+-msgid "Symbol '%s' at %L is marked PRIVATE but has been given the binding label '%s'"
+-msgstr ""
+-
+-#: fortran/decl.c:3409
+-#, no-c-format
+-msgid "Need either entity or common block name for attribute specification statement at %C"
+-msgstr ""
+-
+-#: fortran/decl.c:3456
+-#, no-c-format
+-msgid "Missing entity or common block name for attribute specification statement at %C"
+-msgstr ""
+-
+-#. Now we have an error, which we signal, and then fix up
+-#. because the knock-on is plain and simple confusing.
+-#: fortran/decl.c:3563
+-#, no-c-format
+-msgid "Derived type at %C has not been previously defined and so cannot appear in a derived type definition"
+-msgstr ""
+-
+-#: fortran/decl.c:3595
+-#, fuzzy, no-c-format
+-msgid "Syntax error in data declaration at %C"
+-msgstr "errore sintàctic en la llista de paràmetre de macro"
+-
+-#: fortran/decl.c:3742
+-#, no-c-format
+-msgid "Name '%s' at %C is the name of the procedure"
+-msgstr ""
+-
+-#: fortran/decl.c:3754
+-#, no-c-format
+-msgid "Unexpected junk in formal argument list at %C"
+-msgstr ""
+-
+-#: fortran/decl.c:3771
+-#, no-c-format
+-msgid "Duplicate symbol '%s' in formal argument list at %C"
+-msgstr ""
+-
+-#: fortran/decl.c:3822
+-#, no-c-format
+-msgid "RESULT variable at %C must be different than function name"
+-msgstr ""
+-
+-#: fortran/decl.c:3892
+-#, fuzzy, no-c-format
+-msgid "Unexpected junk after function declaration at %C"
+-msgstr "causa conflicte amb la declaració de la funció \"%#D\""
+-
+-#: fortran/decl.c:3951
+-#, no-c-format
+-msgid "Interface '%s' at %C may not be generic"
+-msgstr ""
+-
+-#: fortran/decl.c:3956
+-#, fuzzy, no-c-format
+-msgid "Interface '%s' at %C may not be a statement function"
+-msgstr "el constructor no pot ser una funció membre de tipus static"
+-
+-#: fortran/decl.c:3967
+-#, no-c-format
+-msgid "Intrinsic procedure '%s' not allowed in PROCEDURE statement at %C"
+-msgstr ""
+-
+-#: fortran/decl.c:3975
+-#, no-c-format
+-msgid "Fortran 2003: Support for intrinsic procedure '%s' in PROCEDURE statement at %C not yet implemented in gfortran"
+-msgstr ""
+-
+-#: fortran/decl.c:4014
+-#, no-c-format
+-msgid "BIND(C) attribute at %C requires an interface with BIND(C)"
+-msgstr ""
+-
+-#: fortran/decl.c:4021
+-#, no-c-format
+-msgid "BIND(C) procedure with NAME may not have POINTER attribute at %C"
+-msgstr ""
+-
+-#: fortran/decl.c:4027
+-#, no-c-format
+-msgid "Dummy procedure at %C may not have BIND(C) attribute with NAME"
+-msgstr ""
+-
+-#: fortran/decl.c:4060 fortran/decl.c:4103
+-#, fuzzy, no-c-format
+-msgid "Syntax error in PROCEDURE statement at %C"
+-msgstr "Nombre espuri en la declaració FORMAT en %0"
+-
+-#: fortran/decl.c:4077
+-#, no-c-format
+-msgid "PROCEDURE at %C must be in a generic interface"
+-msgstr ""
+-
+-#: fortran/decl.c:4128
+-#, no-c-format
+-msgid "Fortran 2003: Procedure components at %C are not yet implemented in gfortran"
+-msgstr ""
+-
+-#: fortran/decl.c:4138
+-#, no-c-format
+-msgid "Fortran 2003: PROCEDURE statement at %C"
+-msgstr ""
+-
+-#: fortran/decl.c:4186
+-#, no-c-format
+-msgid "Expected formal argument list in function definition at %C"
+-msgstr ""
+-
+-#: fortran/decl.c:4210 fortran/decl.c:4214 fortran/decl.c:4536
+-#: fortran/decl.c:4540 fortran/symbol.c:1402
+-#, no-c-format
+-msgid "BIND(C) attribute at %L can only be used for variables or common blocks"
+-msgstr ""
+-
+-#: fortran/decl.c:4246
+-#, fuzzy, no-c-format
+-msgid "Function '%s' at %C already has a type of %s"
+-msgstr "Els inicis de les funcions són alineats a aquesta potència de 2"
+-
+-#: fortran/decl.c:4322
+-#, no-c-format
+-msgid "ENTRY statement at %C cannot appear within a PROGRAM"
+-msgstr ""
+-
+-#: fortran/decl.c:4325
+-#, no-c-format
+-msgid "ENTRY statement at %C cannot appear within a MODULE"
+-msgstr ""
+-
+-#: fortran/decl.c:4328
+-#, no-c-format
+-msgid "ENTRY statement at %C cannot appear within a BLOCK DATA"
+-msgstr ""
+-
+-#: fortran/decl.c:4332
+-#, no-c-format
+-msgid "ENTRY statement at %C cannot appear within an INTERFACE"
+-msgstr ""
+-
+-#: fortran/decl.c:4336
+-#, no-c-format
+-msgid "ENTRY statement at %C cannot appear within a DERIVED TYPE block"
+-msgstr ""
+-
+-#: fortran/decl.c:4340
+-#, no-c-format
+-msgid "ENTRY statement at %C cannot appear within an IF-THEN block"
+-msgstr ""
+-
+-#: fortran/decl.c:4344
+-#, fuzzy, no-c-format
+-msgid "ENTRY statement at %C cannot appear within a DO block"
+-msgstr "La declaració RETURN en %0 no és vàlida dintre d'una unitat de programa principal"
+-
+-#: fortran/decl.c:4348
+-#, no-c-format
+-msgid "ENTRY statement at %C cannot appear within a SELECT block"
+-msgstr ""
+-
+-#: fortran/decl.c:4352
+-#, no-c-format
+-msgid "ENTRY statement at %C cannot appear within a FORALL block"
+-msgstr ""
+-
+-#: fortran/decl.c:4356
+-#, no-c-format
+-msgid "ENTRY statement at %C cannot appear within a WHERE block"
+-msgstr ""
+-
+-#: fortran/decl.c:4360
+-#, fuzzy, no-c-format
+-msgid "ENTRY statement at %C cannot appear within a contained subprogram"
+-msgstr "La declaració RETURN en %0 no és vàlida dintre d'una unitat de programa principal"
+-
+-#: fortran/decl.c:4378
+-#, fuzzy, no-c-format
+-msgid "ENTRY statement at %C cannot appear in a contained procedure"
+-msgstr "desbordament en la constant implícita"
+-
+-#: fortran/decl.c:4560
+-#, no-c-format
+-msgid "Missing required parentheses before BIND(C) at %C"
+-msgstr ""
+-
+-#: fortran/decl.c:4618 fortran/decl.c:4634
+-#, no-c-format
+-msgid "Syntax error in NAME= specifier for binding label at %C"
+-msgstr ""
+-
+-#: fortran/decl.c:4649
+-#, no-c-format
+-msgid "Missing closing quote '\"' for binding label at %C"
+-msgstr ""
+-
+-#: fortran/decl.c:4658
+-#, no-c-format
+-msgid "Missing closing quote ''' for binding label at %C"
+-msgstr ""
+-
+-#: fortran/decl.c:4668
+-#, fuzzy, no-c-format
+-msgid "Missing closing paren for binding label at %C"
+-msgstr "Falta el primer operand binari per a l'operador binari en %0"
+-
+-#: fortran/decl.c:4703
+-#, no-c-format
+-msgid "NAME not allowed on BIND(C) for ABSTRACT INTERFACE at %C"
+-msgstr ""
+-
+-#: fortran/decl.c:4876
+-#, fuzzy, no-c-format
+-msgid "Unexpected END statement at %C"
+-msgstr "Falta l'especificador %A en la declaració en %0"
+-
+-#. We would have required END [something].
+-#: fortran/decl.c:4885
+-#, no-c-format
+-msgid "%s statement expected at %L"
+-msgstr ""
+-
+-#: fortran/decl.c:4896
+-#, fuzzy, no-c-format
+-msgid "Expecting %s statement at %C"
+-msgstr "Coma sobrant en la declaració FORMAT en %0"
+-
+-#: fortran/decl.c:4911
+-#, no-c-format
+-msgid "Expected block name of '%s' in %s statement at %C"
+-msgstr ""
+-
+-#: fortran/decl.c:4928
+-#, no-c-format
+-msgid "Expected terminating name at %C"
+-msgstr ""
+-
+-#: fortran/decl.c:4937
+-#, fuzzy, no-c-format
+-msgid "Expected label '%s' for %s statement at %C"
+-msgstr "No hi ha definició d'etiqueta per a la declaració FORMAT en %0"
+-
+-#: fortran/decl.c:4991
+-#, fuzzy, no-c-format
+-msgid "Missing array specification at %L in DIMENSION statement"
+-msgstr "Falta l'especificador %A en la declaració en %0"
+-
+-#: fortran/decl.c:5000
+-#, no-c-format
+-msgid "Array specification must be deferred at %L"
+-msgstr ""
+-
+-#: fortran/decl.c:5077
+-#, no-c-format
+-msgid "Unexpected character in variable list at %C"
+-msgstr ""
+-
+-#: fortran/decl.c:5114
+-#, no-c-format
+-msgid "Expected '(' at %C"
+-msgstr ""
+-
+-#: fortran/decl.c:5128 fortran/decl.c:5168
+-#, no-c-format
+-msgid "Expected variable name at %C"
+-msgstr ""
+-
+-#: fortran/decl.c:5144
+-#, fuzzy, no-c-format
+-msgid "Cray pointer at %C must be an integer"
+-msgstr "el predicat ha de ser un identificador"
+-
+-#: fortran/decl.c:5148
+-#, no-c-format
+-msgid "Cray pointer at %C has %d bytes of precision; memory addresses require %d bytes"
+-msgstr ""
+-
+-#: fortran/decl.c:5154
+-#, no-c-format
+-msgid "Expected \",\" at %C"
+-msgstr ""
+-
+-#: fortran/decl.c:5217
+-#, no-c-format
+-msgid "Expected \")\" at %C"
+-msgstr ""
+-
+-#: fortran/decl.c:5229
+-#, fuzzy, no-c-format
+-msgid "Expected \",\" or end of statement at %C"
+-msgstr "Coma sobrant en la declaració FORMAT en %0"
+-
+-#: fortran/decl.c:5293
+-#, no-c-format
+-msgid "Cray pointer declaration at %C requires -fcray-pointer flag"
+-msgstr ""
+-
+-#: fortran/decl.c:5388
+-#, no-c-format
+-msgid "Access specification of the %s operator at %C has already been specified"
+-msgstr ""
+-
+-#: fortran/decl.c:5405
+-#, no-c-format
+-msgid "Access specification of the .%s. operator at %C has already been specified"
+-msgstr ""
+-
+-#: fortran/decl.c:5443
+-#, no-c-format
+-msgid "Fortran 2003: PROTECTED statement at %C"
+-msgstr ""
+-
+-#: fortran/decl.c:5483
+-#, fuzzy, no-c-format
+-msgid "Syntax error in PROTECTED statement at %C"
+-msgstr "Nombre espuri en la declaració FORMAT en %0"
+-
+-#: fortran/decl.c:5504
+-#, fuzzy, no-c-format
+-msgid "PRIVATE statement at %C is only allowed in the specification part of a module"
+-msgstr "L'especificador d'accés o la declaració PRIVATE en %0 no és vàlid per a la definició de tipus derivat dintre d'un altre que la part d'especificació d'un mòdul"
+-
+-#: fortran/decl.c:5541
+-#, fuzzy, no-c-format
+-msgid "PUBLIC statement at %C is only allowed in the specification part of a module"
+-msgstr "L'especificador d'accés o la declaració PRIVATE en %0 no és vàlid per a la definició de tipus derivat dintre d'un altre que la part d'especificació d'un mòdul"
+-
+-#: fortran/decl.c:5568
+-#, no-c-format
+-msgid "Expected variable name at %C in PARAMETER statement"
+-msgstr ""
+-
+-#: fortran/decl.c:5575
+-#, fuzzy, no-c-format
+-msgid "Expected = sign in PARAMETER statement at %C"
+-msgstr "Signe espuri en la declaració FORMAT en %0"
+-
+-#: fortran/decl.c:5581
+-#, no-c-format
+-msgid "Expected expression at %C in PARAMETER statement"
+-msgstr ""
+-
+-#: fortran/decl.c:5639
+-#, fuzzy, no-c-format
+-msgid "Unexpected characters in PARAMETER statement at %C"
+-msgstr "Coma sobrant en la declaració FORMAT en %0"
+-
+-#: fortran/decl.c:5663
+-#, no-c-format
+-msgid "Blanket SAVE statement at %C follows previous SAVE statement"
+-msgstr ""
+-
+-#: fortran/decl.c:5675
+-#, no-c-format
+-msgid "SAVE statement at %C follows blanket SAVE statement"
+-msgstr ""
+-
+-#: fortran/decl.c:5722
+-#, fuzzy, no-c-format
+-msgid "Syntax error in SAVE statement at %C"
+-msgstr "Nombre espuri en la declaració FORMAT en %0"
+-
+-#: fortran/decl.c:5733
+-#, no-c-format
+-msgid "Fortran 2003: VALUE statement at %C"
+-msgstr ""
+-
+-#: fortran/decl.c:5773
+-#, fuzzy, no-c-format
+-msgid "Syntax error in VALUE statement at %C"
+-msgstr "Nombre espuri en la declaració FORMAT en %0"
+-
+-#: fortran/decl.c:5784
+-#, fuzzy, no-c-format
+-msgid "Fortran 2003: VOLATILE statement at %C"
+-msgstr "Coma sobrant en la declaració FORMAT en %0"
+-
+-#: fortran/decl.c:5826
+-#, fuzzy, no-c-format
+-msgid "Syntax error in VOLATILE statement at %C"
+-msgstr "Nombre espuri en la declaració FORMAT en %0"
+-
+-#: fortran/decl.c:5848
+-#, no-c-format
+-msgid "MODULE PROCEDURE at %C must be in a generic module interface"
+-msgstr ""
+-
+-#: fortran/decl.c:5910
+-#, no-c-format
+-msgid "Derived type at %C can only be PRIVATE in the specification part of a module"
+-msgstr ""
+-
+-#: fortran/decl.c:5922
+-#, no-c-format
+-msgid "Derived type at %C can only be PUBLIC in the specification part of a module"
+-msgstr ""
+-
+-#: fortran/decl.c:5979
+-#, no-c-format
+-msgid "Expected :: in TYPE definition at %C"
+-msgstr ""
+-
+-#: fortran/decl.c:5990
+-#, fuzzy, no-c-format
+-msgid "Type name '%s' at %C cannot be the same as an intrinsic type"
+-msgstr "El nom de tipus en %0 no és el mateix que el nom en %1"
+-
+-#: fortran/decl.c:6000
+-#, no-c-format
+-msgid "Derived type name '%s' at %C already has a basic type of %s"
+-msgstr ""
+-
+-#: fortran/decl.c:6016
+-#, no-c-format
+-msgid "Derived type definition of '%s' at %C has already been defined"
+-msgstr ""
+-
+-#: fortran/decl.c:6054
+-#, no-c-format
+-msgid "Cray Pointee at %C cannot be assumed shape array"
+-msgstr ""
+-
+-#: fortran/decl.c:6074
+-#, no-c-format
+-msgid "Fortran 2003: ENUM and ENUMERATOR at %C"
+-msgstr ""
+-
+-#: fortran/decl.c:6146
+-#, no-c-format
+-msgid "ENUMERATOR %L not initialized with integer expression"
+-msgstr ""
+-
+-#: fortran/decl.c:6195
+-#, fuzzy, no-c-format
+-msgid "ENUM definition statement expected before %C"
+-msgstr "s'esperava nom de tipus abans de \"*\""
+-
+-#: fortran/decl.c:6228
+-#, no-c-format
+-msgid "Syntax error in ENUMERATOR definition at %C"
+-msgstr ""
+-
+-#: fortran/dump-parse-tree.c:48
+-#, c-format
+-msgid "%-5d "
+-msgstr ""
+-
+-#: fortran/dump-parse-tree.c:50
+-#, fuzzy, c-format
+-msgid " "
+-msgstr " \"%D\""
+-
+-#: fortran/dump-parse-tree.c:73 fortran/dump-parse-tree.c:626
+-#, fuzzy, c-format
+-msgid "(%s "
+-msgstr "%s "
+-
+-#: fortran/dump-parse-tree.c:86 fortran/dump-parse-tree.c:1069
+-#: fortran/dump-parse-tree.c:1113 fortran/dump-parse-tree.c:1123
+-#, c-format
+-msgid "%d"
+-msgstr ""
+-
+-#: fortran/dump-parse-tree.c:90 fortran/dump-parse-tree.c:116
+-#: fortran/dump-parse-tree.c:159 fortran/dump-parse-tree.c:395
+-#: fortran/dump-parse-tree.c:518 fortran/dump-parse-tree.c:613
+-#: fortran/dump-parse-tree.c:636
+-#, c-format
+-msgid ")"
+-msgstr ""
+-
+-#: fortran/dump-parse-tree.c:99 fortran/dump-parse-tree.c:435
+-#, c-format
+-msgid "("
+-msgstr ""
+-
+-#: fortran/dump-parse-tree.c:105
+-#, fuzzy, c-format
+-msgid "%s = "
+-msgstr "%s "
+-
+-#: fortran/dump-parse-tree.c:109
+-#, c-format
+-msgid "(arg not-present)"
+-msgstr ""
+-
+-#: fortran/dump-parse-tree.c:113 fortran/dump-parse-tree.c:389
+-#: fortran/dump-parse-tree.c:514
+-#, c-format
+-msgid " "
+-msgstr ""
+-
+-#: fortran/dump-parse-tree.c:130 fortran/dump-parse-tree.c:325
+-#, c-format
+-msgid "()"
+-msgstr ""
+-
+-#: fortran/dump-parse-tree.c:134
+-#, c-format
+-msgid "(%d"
+-msgstr ""
+-
+-#: fortran/dump-parse-tree.c:148
+-#, fuzzy, c-format
+-msgid " %s "
+-msgstr "%s "
+-
+-#: fortran/dump-parse-tree.c:175
+-#, c-format
+-msgid "FULL"
+-msgstr ""
+-
+-#: fortran/dump-parse-tree.c:206 fortran/dump-parse-tree.c:215
+-#: fortran/dump-parse-tree.c:288
+-#, c-format
+-msgid " , "
+-msgstr ""
+-
+-#: fortran/dump-parse-tree.c:220
+-#, c-format
+-msgid "UNKNOWN"
+-msgstr ""
+-
+-#: fortran/dump-parse-tree.c:244
+-#, fuzzy, c-format
+-msgid " %% %s"
+-msgstr "%s: %s"
+-
+-#: fortran/dump-parse-tree.c:302
+-#, c-format
+-msgid "''"
+-msgstr ""
+-
+-#: fortran/dump-parse-tree.c:307
+-#, c-format
+-msgid "' // ACHAR("
+-msgstr ""
+-
+-#: fortran/dump-parse-tree.c:309
+-#, c-format
+-msgid ") // '"
+-msgstr ""
+-
+-#: fortran/dump-parse-tree.c:337
+-#, fuzzy, c-format
+-msgid "%s("
+-msgstr "%s"
+-
+-#: fortran/dump-parse-tree.c:343
+-#, c-format
+-msgid "(/ "
+-msgstr ""
+-
+-#: fortran/dump-parse-tree.c:345
+-#, c-format
+-msgid " /)"
+-msgstr ""
+-
+-#: fortran/dump-parse-tree.c:351
+-#, c-format
+-msgid "NULL()"
+-msgstr ""
+-
+-#: fortran/dump-parse-tree.c:361 fortran/dump-parse-tree.c:374
+-#: fortran/dump-parse-tree.c:387 fortran/dump-parse-tree.c:393
+-#, c-format
+-msgid "_%d"
+-msgstr ""
+-
+-#: fortran/dump-parse-tree.c:366
+-#, c-format
+-msgid ".true."
+-msgstr ""
+-
+-#: fortran/dump-parse-tree.c:368
+-#, fuzzy, c-format
+-msgid ".false."
+-msgstr "fclose"
+-
+-#: fortran/dump-parse-tree.c:383
+-#, c-format
+-msgid "(complex "
+-msgstr ""
+-
+-#: fortran/dump-parse-tree.c:399
+-#, c-format
+-msgid "%dH"
+-msgstr ""
+-
+-#: fortran/dump-parse-tree.c:408
+-#, c-format
+-msgid "???"
+-msgstr ""
+-
+-#: fortran/dump-parse-tree.c:414
+-#, c-format
+-msgid " {"
+-msgstr ""
+-
+-#: fortran/dump-parse-tree.c:418
+-#, c-format
+-msgid "%.2x"
+-msgstr ""
+-
+-#: fortran/dump-parse-tree.c:429 fortran/dump-parse-tree.c:732
+-#, fuzzy, c-format
+-msgid "%s:"
+-msgstr "%s"
+-
+-#: fortran/dump-parse-tree.c:439
+-#, c-format
+-msgid "U+ "
+-msgstr ""
+-
+-#: fortran/dump-parse-tree.c:442
+-#, c-format
+-msgid "U- "
+-msgstr ""
+-
+-#: fortran/dump-parse-tree.c:445
+-#, c-format
+-msgid "+ "
+-msgstr ""
+-
+-#: fortran/dump-parse-tree.c:448
+-#, c-format
+-msgid "- "
+-msgstr ""
+-
+-#: fortran/dump-parse-tree.c:451
+-#, c-format
+-msgid "* "
+-msgstr ""
+-
+-#: fortran/dump-parse-tree.c:454
+-#, c-format
+-msgid "/ "
+-msgstr ""
+-
+-#: fortran/dump-parse-tree.c:457
+-#, c-format
+-msgid "** "
+-msgstr ""
+-
+-#: fortran/dump-parse-tree.c:460
+-#, c-format
+-msgid "// "
+-msgstr ""
+-
+-#: fortran/dump-parse-tree.c:463
+-#, c-format
+-msgid "AND "
+-msgstr ""
+-
+-#: fortran/dump-parse-tree.c:466
+-#, c-format
+-msgid "OR "
+-msgstr ""
+-
+-#: fortran/dump-parse-tree.c:469
+-#, c-format
+-msgid "EQV "
+-msgstr ""
+-
+-#: fortran/dump-parse-tree.c:472
+-#, c-format
+-msgid "NEQV "
+-msgstr ""
+-
+-#: fortran/dump-parse-tree.c:476
+-#, c-format
+-msgid "= "
+-msgstr ""
+-
+-#: fortran/dump-parse-tree.c:480
+-#, c-format
+-msgid "/= "
+-msgstr ""
+-
+-#: fortran/dump-parse-tree.c:484
+-#, c-format
+-msgid "> "
+-msgstr ""
+-
+-#: fortran/dump-parse-tree.c:488
+-#, c-format
+-msgid ">= "
+-msgstr ""
+-
+-#: fortran/dump-parse-tree.c:492
+-#, c-format
+-msgid "< "
+-msgstr ""
+-
+-#: fortran/dump-parse-tree.c:496
+-#, c-format
+-msgid "<= "
+-msgstr ""
+-
+-#: fortran/dump-parse-tree.c:499
+-#, c-format
+-msgid "NOT "
+-msgstr ""
+-
+-#: fortran/dump-parse-tree.c:502
+-#, fuzzy, c-format
+-msgid "parens"
+-msgstr "obrir %s"
+-
+-#: fortran/dump-parse-tree.c:524
+-#, fuzzy, c-format
+-msgid "%s["
+-msgstr "%s"
+-
+-#: fortran/dump-parse-tree.c:530
+-#, fuzzy, c-format
+-msgid "%s[["
+-msgstr "%s"
+-
+-#: fortran/dump-parse-tree.c:551
+-#, fuzzy, c-format
+-msgid "(%s %s %s %s %s"
+-msgstr "%s: %s: "
+-
+-#: fortran/dump-parse-tree.c:558
+-#, c-format
+-msgid " ALLOCATABLE"
+-msgstr ""
+-
+-#: fortran/dump-parse-tree.c:560 fortran/dump-parse-tree.c:631
+-#, c-format
+-msgid " DIMENSION"
+-msgstr ""
+-
+-#: fortran/dump-parse-tree.c:562
+-#, c-format
+-msgid " EXTERNAL"
+-msgstr ""
+-
+-#: fortran/dump-parse-tree.c:564
+-#, c-format
+-msgid " INTRINSIC"
+-msgstr ""
+-
+-#: fortran/dump-parse-tree.c:566
+-#, c-format
+-msgid " OPTIONAL"
+-msgstr ""
+-
+-#: fortran/dump-parse-tree.c:568 fortran/dump-parse-tree.c:629
+-#, c-format
+-msgid " POINTER"
+-msgstr ""
+-
+-#: fortran/dump-parse-tree.c:570
+-#, c-format
+-msgid " PROTECTED"
+-msgstr ""
+-
+-#: fortran/dump-parse-tree.c:572
+-#, c-format
+-msgid " VALUE"
+-msgstr ""
+-
+-#: fortran/dump-parse-tree.c:574
+-#, c-format
+-msgid " VOLATILE"
+-msgstr ""
+-
+-#: fortran/dump-parse-tree.c:576
+-#, c-format
+-msgid " THREADPRIVATE"
+-msgstr ""
+-
+-#: fortran/dump-parse-tree.c:578
+-#, c-format
+-msgid " TARGET"
+-msgstr ""
+-
+-#: fortran/dump-parse-tree.c:580
+-#, c-format
+-msgid " DUMMY"
+-msgstr ""
+-
+-#: fortran/dump-parse-tree.c:582
+-#, c-format
+-msgid " RESULT"
+-msgstr ""
+-
+-#: fortran/dump-parse-tree.c:584
+-#, c-format
+-msgid " ENTRY"
+-msgstr ""
+-
+-#: fortran/dump-parse-tree.c:587
+-#, c-format
+-msgid " DATA"
+-msgstr ""
+-
+-#: fortran/dump-parse-tree.c:589
+-#, c-format
+-msgid " USE-ASSOC"
+-msgstr ""
+-
+-#: fortran/dump-parse-tree.c:591
+-#, c-format
+-msgid " IN-NAMELIST"
+-msgstr ""
+-
+-#: fortran/dump-parse-tree.c:593
+-#, c-format
+-msgid " IN-COMMON"
+-msgstr ""
+-
+-#: fortran/dump-parse-tree.c:596
+-#, c-format
+-msgid " ABSTRACT INTERFACE"
+-msgstr ""
+-
+-#: fortran/dump-parse-tree.c:598
+-#, c-format
+-msgid " FUNCTION"
+-msgstr ""
+-
+-#: fortran/dump-parse-tree.c:600
+-#, c-format
+-msgid " SUBROUTINE"
+-msgstr ""
+-
+-#: fortran/dump-parse-tree.c:602
+-#, c-format
+-msgid " IMPLICIT-TYPE"
+-msgstr ""
+-
+-#: fortran/dump-parse-tree.c:605
+-#, c-format
+-msgid " SEQUENCE"
+-msgstr ""
+-
+-#: fortran/dump-parse-tree.c:607
+-#, c-format
+-msgid " ELEMENTAL"
+-msgstr ""
+-
+-#: fortran/dump-parse-tree.c:609
+-#, c-format
+-msgid " PURE"
+-msgstr ""
+-
+-#: fortran/dump-parse-tree.c:611
+-#, c-format
+-msgid " RECURSIVE"
+-msgstr ""
+-
+-#: fortran/dump-parse-tree.c:635 fortran/dump-parse-tree.c:682
+-#: fortran/dump-parse-tree.c:706 fortran/dump-parse-tree.c:735
+-#: fortran/dump-parse-tree.c:1276 fortran/dump-parse-tree.c:1282
+-#: fortran/dump-parse-tree.c:1784
+-#, c-format
+-msgid " %s"
+-msgstr " %s"
+-
+-#: fortran/dump-parse-tree.c:659
+-#, c-format
+-msgid "symbol %s "
+-msgstr ""
+-
+-#: fortran/dump-parse-tree.c:666
+-#, c-format
+-msgid "value: "
+-msgstr ""
+-
+-#: fortran/dump-parse-tree.c:673
+-#, c-format
+-msgid "Array spec:"
+-msgstr ""
+-
+-#: fortran/dump-parse-tree.c:680
+-#, fuzzy, c-format
+-msgid "Generic interfaces:"
+-msgstr "Usar la interfície Cygwin"
+-
+-#: fortran/dump-parse-tree.c:688
+-#, fuzzy, c-format
+-msgid "result: %s"
+-msgstr "%s: %s"
+-
+-#: fortran/dump-parse-tree.c:694
+-#, c-format
+-msgid "components: "
+-msgstr ""
+-
+-#: fortran/dump-parse-tree.c:701
+-#, c-format
+-msgid "Formal arglist:"
+-msgstr ""
+-
+-#: fortran/dump-parse-tree.c:708
+-#, c-format
+-msgid " [Alt Return]"
+-msgstr ""
+-
+-#: fortran/dump-parse-tree.c:715
+-#, fuzzy, c-format
+-msgid "Formal namespace"
+-msgstr "\"%D\" és un nom d'espai"
+-
+-#: fortran/dump-parse-tree.c:771
+-#, c-format
+-msgid "common: /%s/ "
+-msgstr ""
+-
+-#: fortran/dump-parse-tree.c:779 fortran/dump-parse-tree.c:1720
+-#, c-format
+-msgid ", "
+-msgstr ""
+-
+-#: fortran/dump-parse-tree.c:791
+-#, c-format
+-msgid "symtree: %s Ambig %d"
+-msgstr ""
+-
+-#: fortran/dump-parse-tree.c:794
+-#, fuzzy, c-format
+-msgid " from namespace %s"
+-msgstr "espai de noms \"%D\" desconegut"
+-
+-#: fortran/dump-parse-tree.c:820
+-#, fuzzy, c-format
+-msgid "%s,"
+-msgstr "%s"
+-
+-#: fortran/dump-parse-tree.c:852
+-#, c-format
+-msgid "!$OMP %s"
+-msgstr ""
+-
+-#: fortran/dump-parse-tree.c:867 fortran/dump-parse-tree.c:1010
+-#, fuzzy, c-format
+-msgid " (%s)"
+-msgstr " %s"
+-
+-#: fortran/dump-parse-tree.c:872
+-#, c-format
+-msgid " ("
+-msgstr ""
+-
+-#: fortran/dump-parse-tree.c:888
+-#, c-format
+-msgid " IF("
+-msgstr ""
+-
+-#: fortran/dump-parse-tree.c:894
+-#, c-format
+-msgid " NUM_THREADS("
+-msgstr ""
+-
+-#: fortran/dump-parse-tree.c:910
+-#, c-format
+-msgid " SCHEDULE (%s"
+-msgstr ""
+-
+-#: fortran/dump-parse-tree.c:930
+-#, c-format
+-msgid " DEFAULT(%s)"
+-msgstr ""
+-
+-#: fortran/dump-parse-tree.c:933
+-#, c-format
+-msgid " ORDERED"
+-msgstr ""
+-
+-#: fortran/dump-parse-tree.c:958
+-#, c-format
+-msgid " REDUCTION(%s:"
+-msgstr ""
+-
+-#: fortran/dump-parse-tree.c:972
+-#, fuzzy, c-format
+-msgid " %s("
+-msgstr " %s"
+-
+-#: fortran/dump-parse-tree.c:988
+-#, c-format
+-msgid "!$OMP SECTION\n"
+-msgstr ""
+-
+-#: fortran/dump-parse-tree.c:997
+-#, c-format
+-msgid "!$OMP END %s"
+-msgstr ""
+-
+-#: fortran/dump-parse-tree.c:1002
+-#, c-format
+-msgid " COPYPRIVATE("
+-msgstr ""
+-
+-#: fortran/dump-parse-tree.c:1007
+-#, c-format
+-msgid " NOWAIT"
+-msgstr ""
+-
+-#: fortran/dump-parse-tree.c:1034
+-#, c-format
+-msgid "NOP"
+-msgstr ""
+-
+-#: fortran/dump-parse-tree.c:1038
+-#, c-format
+-msgid "CONTINUE"
+-msgstr ""
+-
+-#: fortran/dump-parse-tree.c:1042
+-#, c-format
+-msgid "ENTRY %s"
+-msgstr ""
+-
+-#: fortran/dump-parse-tree.c:1047
+-#, c-format
+-msgid "ASSIGN "
+-msgstr ""
+-
+-#: fortran/dump-parse-tree.c:1054
+-#, c-format
+-msgid "LABEL ASSIGN "
+-msgstr ""
+-
+-#: fortran/dump-parse-tree.c:1056
+-#, fuzzy, c-format
+-msgid " %d"
+-msgstr " %s"
+-
+-#: fortran/dump-parse-tree.c:1060
+-#, c-format
+-msgid "POINTER ASSIGN "
+-msgstr ""
+-
+-#: fortran/dump-parse-tree.c:1067
+-#, c-format
+-msgid "GOTO "
+-msgstr ""
+-
+-#: fortran/dump-parse-tree.c:1076
+-#, c-format
+-msgid ", ("
+-msgstr ""
+-
+-#: fortran/dump-parse-tree.c:1092 fortran/dump-parse-tree.c:1094
+-#, c-format
+-msgid "CALL %s "
+-msgstr ""
+-
+-#: fortran/dump-parse-tree.c:1096
+-#, c-format
+-msgid "CALL ?? "
+-msgstr ""
+-
+-#: fortran/dump-parse-tree.c:1102
+-#, c-format
+-msgid "RETURN "
+-msgstr ""
+-
+-#: fortran/dump-parse-tree.c:1108
+-#, c-format
+-msgid "PAUSE "
+-msgstr ""
+-
+-#: fortran/dump-parse-tree.c:1118
+-#, c-format
+-msgid "STOP "
+-msgstr ""
+-
+-#: fortran/dump-parse-tree.c:1128 fortran/dump-parse-tree.c:1136
+-#, c-format
+-msgid "IF "
+-msgstr ""
+-
+-#: fortran/dump-parse-tree.c:1130
+-#, fuzzy, c-format
+-msgid " %d, %d, %d"
+-msgstr "%s: %s: "
+-
+-#: fortran/dump-parse-tree.c:1147
+-#, c-format
+-msgid "ELSE\n"
+-msgstr ""
+-
+-#: fortran/dump-parse-tree.c:1150
+-#, c-format
+-msgid "ELSE IF "
+-msgstr ""
+-
+-#: fortran/dump-parse-tree.c:1160
+-#, c-format
+-msgid "ENDIF"
+-msgstr ""
+-
+-#: fortran/dump-parse-tree.c:1165
+-#, c-format
+-msgid "SELECT CASE "
+-msgstr ""
+-
+-#: fortran/dump-parse-tree.c:1173
+-#, c-format
+-msgid "CASE "
+-msgstr ""
+-
+-#: fortran/dump-parse-tree.c:1189
+-#, c-format
+-msgid "END SELECT"
+-msgstr ""
+-
+-#: fortran/dump-parse-tree.c:1193
+-#, c-format
+-msgid "WHERE "
+-msgstr ""
+-
+-#: fortran/dump-parse-tree.c:1204
+-#, c-format
+-msgid "ELSE WHERE "
+-msgstr ""
+-
+-#: fortran/dump-parse-tree.c:1211
+-#, c-format
+-msgid "END WHERE"
+-msgstr ""
+-
+-#: fortran/dump-parse-tree.c:1216
+-#, c-format
+-msgid "FORALL "
+-msgstr ""
+-
+-#: fortran/dump-parse-tree.c:1241
+-#, c-format
+-msgid "END FORALL"
+-msgstr ""
+-
+-#: fortran/dump-parse-tree.c:1245
+-#, c-format
+-msgid "DO "
+-msgstr ""
+-
+-#: fortran/dump-parse-tree.c:1259 fortran/dump-parse-tree.c:1270
+-#, c-format
+-msgid "END DO"
+-msgstr ""
+-
+-#: fortran/dump-parse-tree.c:1263
+-#, c-format
+-msgid "DO WHILE "
+-msgstr ""
+-
+-#: fortran/dump-parse-tree.c:1274
+-#, c-format
+-msgid "CYCLE"
+-msgstr ""
+-
+-#: fortran/dump-parse-tree.c:1280
+-#, c-format
+-msgid "EXIT"
+-msgstr ""
+-
+-#: fortran/dump-parse-tree.c:1286
+-#, c-format
+-msgid "ALLOCATE "
+-msgstr ""
+-
+-#: fortran/dump-parse-tree.c:1289 fortran/dump-parse-tree.c:1305
+-#, c-format
+-msgid " STAT="
+-msgstr ""
+-
+-#: fortran/dump-parse-tree.c:1302
+-#, c-format
+-msgid "DEALLOCATE "
+-msgstr ""
+-
+-#: fortran/dump-parse-tree.c:1318
+-#, c-format
+-msgid "OPEN"
+-msgstr ""
+-
+-#: fortran/dump-parse-tree.c:1323 fortran/dump-parse-tree.c:1402
+-#: fortran/dump-parse-tree.c:1444 fortran/dump-parse-tree.c:1467
+-#: fortran/dump-parse-tree.c:1619
+-#, c-format
+-msgid " UNIT="
+-msgstr ""
+-
+-#: fortran/dump-parse-tree.c:1328 fortran/dump-parse-tree.c:1407
+-#: fortran/dump-parse-tree.c:1449 fortran/dump-parse-tree.c:1478
+-#: fortran/dump-parse-tree.c:1636
+-#, c-format
+-msgid " IOMSG="
+-msgstr ""
+-
+-#: fortran/dump-parse-tree.c:1333 fortran/dump-parse-tree.c:1412
+-#: fortran/dump-parse-tree.c:1454 fortran/dump-parse-tree.c:1483
+-#: fortran/dump-parse-tree.c:1641
+-#, c-format
+-msgid " IOSTAT="
+-msgstr ""
+-
+-#: fortran/dump-parse-tree.c:1338 fortran/dump-parse-tree.c:1472
+-#, c-format
+-msgid " FILE="
+-msgstr ""
+-
+-#: fortran/dump-parse-tree.c:1343 fortran/dump-parse-tree.c:1417
+-#, c-format
+-msgid " STATUS="
+-msgstr ""
+-
+-#: fortran/dump-parse-tree.c:1348 fortran/dump-parse-tree.c:1513
+-#, c-format
+-msgid " ACCESS="
+-msgstr ""
+-
+-#: fortran/dump-parse-tree.c:1353 fortran/dump-parse-tree.c:1529
+-#, c-format
+-msgid " FORM="
+-msgstr ""
+-
+-#: fortran/dump-parse-tree.c:1358 fortran/dump-parse-tree.c:1544
+-#, c-format
+-msgid " RECL="
+-msgstr ""
+-
+-#: fortran/dump-parse-tree.c:1363 fortran/dump-parse-tree.c:1554
+-#, c-format
+-msgid " BLANK="
+-msgstr ""
+-
+-#: fortran/dump-parse-tree.c:1368 fortran/dump-parse-tree.c:1559
+-#, c-format
+-msgid " POSITION="
+-msgstr ""
+-
+-#: fortran/dump-parse-tree.c:1373 fortran/dump-parse-tree.c:1564
+-#, c-format
+-msgid " ACTION="
+-msgstr ""
+-
+-#: fortran/dump-parse-tree.c:1378 fortran/dump-parse-tree.c:1584
+-#, c-format
+-msgid " DELIM="
+-msgstr ""
+-
+-#: fortran/dump-parse-tree.c:1383 fortran/dump-parse-tree.c:1589
+-#, c-format
+-msgid " PAD="
+-msgstr ""
+-
+-#: fortran/dump-parse-tree.c:1388 fortran/dump-parse-tree.c:1594
+-#, c-format
+-msgid " CONVERT="
+-msgstr ""
+-
+-#: fortran/dump-parse-tree.c:1392 fortran/dump-parse-tree.c:1421
+-#: fortran/dump-parse-tree.c:1458 fortran/dump-parse-tree.c:1599
+-#: fortran/dump-parse-tree.c:1676
+-#, c-format
+-msgid " ERR=%d"
+-msgstr ""
+-
+-#: fortran/dump-parse-tree.c:1397
+-#, c-format
+-msgid "CLOSE"
+-msgstr ""
+-
+-#: fortran/dump-parse-tree.c:1425
+-#, c-format
+-msgid "BACKSPACE"
+-msgstr ""
+-
+-#: fortran/dump-parse-tree.c:1429
+-#, c-format
+-msgid "ENDFILE"
+-msgstr ""
+-
+-#: fortran/dump-parse-tree.c:1433
+-#, c-format
+-msgid "REWIND"
+-msgstr ""
+-
+-#: fortran/dump-parse-tree.c:1437
+-#, c-format
+-msgid "FLUSH"
+-msgstr ""
+-
+-#: fortran/dump-parse-tree.c:1462
+-#, c-format
+-msgid "INQUIRE"
+-msgstr ""
+-
+-#: fortran/dump-parse-tree.c:1488
+-#, c-format
+-msgid " EXIST="
+-msgstr ""
+-
+-#: fortran/dump-parse-tree.c:1493
+-#, c-format
+-msgid " OPENED="
+-msgstr ""
+-
+-#: fortran/dump-parse-tree.c:1498
+-#, c-format
+-msgid " NUMBER="
+-msgstr ""
+-
+-#: fortran/dump-parse-tree.c:1503
+-#, c-format
+-msgid " NAMED="
+-msgstr ""
+-
+-#: fortran/dump-parse-tree.c:1508
+-#, c-format
+-msgid " NAME="
+-msgstr ""
+-
+-#: fortran/dump-parse-tree.c:1518
+-#, c-format
+-msgid " SEQUENTIAL="
+-msgstr ""
+-
+-#: fortran/dump-parse-tree.c:1524
+-#, c-format
+-msgid " DIRECT="
+-msgstr ""
+-
+-#: fortran/dump-parse-tree.c:1534
+-#, c-format
+-msgid " FORMATTED"
+-msgstr ""
+-
+-#: fortran/dump-parse-tree.c:1539
+-#, c-format
+-msgid " UNFORMATTED="
+-msgstr ""
+-
+-#: fortran/dump-parse-tree.c:1549
+-#, c-format
+-msgid " NEXTREC="
+-msgstr ""
+-
+-#: fortran/dump-parse-tree.c:1569
+-#, c-format
+-msgid " READ="
+-msgstr ""
+-
+-#: fortran/dump-parse-tree.c:1574
+-#, c-format
+-msgid " WRITE="
+-msgstr ""
+-
+-#: fortran/dump-parse-tree.c:1579
+-#, c-format
+-msgid " READWRITE="
+-msgstr ""
+-
+-#: fortran/dump-parse-tree.c:1603
+-#, c-format
+-msgid "IOLENGTH "
+-msgstr ""
+-
+-#: fortran/dump-parse-tree.c:1609
+-#, c-format
+-msgid "READ"
+-msgstr ""
+-
+-#: fortran/dump-parse-tree.c:1613
+-#, c-format
+-msgid "WRITE"
+-msgstr ""
+-
+-#: fortran/dump-parse-tree.c:1625
+-#, c-format
+-msgid " FMT="
+-msgstr ""
+-
+-#: fortran/dump-parse-tree.c:1630
+-#, c-format
+-msgid " FMT=%d"
+-msgstr ""
+-
+-#: fortran/dump-parse-tree.c:1632
+-#, fuzzy, c-format
+-msgid " NML=%s"
+-msgstr " %s"
+-
+-#: fortran/dump-parse-tree.c:1646
+-#, c-format
+-msgid " SIZE="
+-msgstr ""
+-
+-#: fortran/dump-parse-tree.c:1651
+-#, c-format
+-msgid " REC="
+-msgstr ""
+-
+-#: fortran/dump-parse-tree.c:1656
+-#, c-format
+-msgid " ADVANCE="
+-msgstr ""
+-
+-#: fortran/dump-parse-tree.c:1667
+-#, c-format
+-msgid "TRANSFER "
+-msgstr ""
+-
+-#: fortran/dump-parse-tree.c:1672
+-#, c-format
+-msgid "DT_END"
+-msgstr ""
+-
+-#: fortran/dump-parse-tree.c:1678
+-#, c-format
+-msgid " END=%d"
+-msgstr ""
+-
+-#: fortran/dump-parse-tree.c:1680
+-#, c-format
+-msgid " EOR=%d"
+-msgstr ""
+-
+-#: fortran/dump-parse-tree.c:1714
+-#, c-format
+-msgid "Equivalence: "
+-msgstr ""
+-
+-#: fortran/dump-parse-tree.c:1740
+-#, c-format
+-msgid "Namespace:"
+-msgstr ""
+-
+-#: fortran/dump-parse-tree.c:1754
+-#, c-format
+-msgid " %c-%c: "
+-msgstr ""
+-
+-#: fortran/dump-parse-tree.c:1756
+-#, c-format
+-msgid " %c: "
+-msgstr ""
+-
+-#: fortran/dump-parse-tree.c:1765
+-#, c-format
+-msgid "procedure name = %s"
+-msgstr ""
+-
+-#: fortran/dump-parse-tree.c:1781
+-#, fuzzy, c-format
+-msgid "Operator interfaces for %s:"
+-msgstr ""
+-"\n"
+-" Opcions per a %s:\n"
+-
+-#: fortran/dump-parse-tree.c:1790
+-#, c-format
+-msgid "User operators:\n"
+-msgstr ""
+-
+-#: fortran/dump-parse-tree.c:1806
+-#, c-format
+-msgid "CONTAINS\n"
+-msgstr ""
+-
+-#: fortran/error.c:213
+-#, fuzzy, no-c-format
+-msgid " Included at %s:%d:"
+-msgstr "En el fitxer inclòs de %s:%d"
+-
+-#: fortran/error.c:318
+-#, fuzzy, no-c-format
+-msgid "<During initialization>\n"
+-msgstr "assignació de valors inicials"
+-
+-#: fortran/error.c:651
+-#, no-c-format
+-msgid "Error count reached limit of %d."
+-msgstr ""
+-
+-#: fortran/error.c:670 fortran/error.c:725 fortran/error.c:762
+-#, fuzzy
+-msgid "Warning:"
+-msgstr "avís:"
+-
+-#: fortran/error.c:727 fortran/error.c:810 fortran/error.c:836
+-#, fuzzy
+-msgid "Error:"
+-msgstr "error intern: "
+-
+-#: fortran/error.c:860
+-#, fuzzy
+-msgid "Fatal Error:"
+-msgstr "error intern: "
+-
+-#: fortran/error.c:879
+-#, fuzzy, no-c-format
+-msgid "Internal Error at (1):"
+-msgstr "error intern: "
+-
+-#: fortran/expr.c:252
+-#, c-format
+-msgid "Constant expression required at %C"
+-msgstr ""
+-
+-#: fortran/expr.c:255
+-#, c-format
+-msgid "Integer expression required at %C"
+-msgstr ""
+-
+-#: fortran/expr.c:260
+-#, fuzzy, c-format
+-msgid "Integer value too large in expression at %C"
+-msgstr "desbordament enter en l'expressió"
+-
+-#: fortran/expr.c:1018 fortran/expr.c:1189 fortran/expr.c:1240
+-#, no-c-format
+-msgid "index in dimension %d is out of bounds at %L"
+-msgstr ""
+-
+-#: fortran/expr.c:1789
+-#, no-c-format
+-msgid "elemental function arguments at %C are not compliant"
+-msgstr ""
+-
+-#: fortran/expr.c:1833
+-#, no-c-format
+-msgid "Numeric or CHARACTER operands are required in expression at %L"
+-msgstr ""
+-
+-#: fortran/expr.c:1853
+-#, no-c-format
+-msgid "Fortran 2003: Noninteger exponent in an initialization expression at %L"
+-msgstr ""
+-
+-#: fortran/expr.c:1868
+-#, no-c-format
+-msgid "Concatenation operator in expression at %L must have two CHARACTER operands"
+-msgstr ""
+-
+-#: fortran/expr.c:1875
+-#, no-c-format
+-msgid "Concat operator at %L must concatenate strings of the same kind"
+-msgstr ""
+-
+-#: fortran/expr.c:1885
+-#, no-c-format
+-msgid ".NOT. operator in expression at %L must have a LOGICAL operand"
+-msgstr ""
+-
+-#: fortran/expr.c:1901
+-#, no-c-format
+-msgid "LOGICAL operands are required in expression at %L"
+-msgstr ""
+-
+-#: fortran/expr.c:1912
+-#, fuzzy, no-c-format
+-msgid "Only intrinsic operators can be used in expression at %L"
+-msgstr "Falta un operand per a l'operador en %1 al final de l'expressió en %0"
+-
+-#: fortran/expr.c:1920
+-#, fuzzy, no-c-format
+-msgid "Numeric operands are required in expression at %L"
+-msgstr "Falta un operand per a l'operador en %1 al final de l'expressió en %0"
+-
+-#: fortran/expr.c:1985
+-#, no-c-format
+-msgid "Inquiry function '%s' at %L is not permitted in an initialization expression"
+-msgstr ""
+-
+-#: fortran/expr.c:2015
+-#, no-c-format
+-msgid "Assumed character length variable '%s' in constant expression at %L"
+-msgstr ""
+-
+-#: fortran/expr.c:2061 fortran/expr.c:2067
+-#, no-c-format
+-msgid "transformational intrinsic '%s' at %L is not permitted in an initialization expression"
+-msgstr ""
+-
+-#: fortran/expr.c:2098
+-#, no-c-format
+-msgid "Extension: Evaluation of nonstandard initialization expression at %L"
+-msgstr ""
+-
+-#: fortran/expr.c:2151
+-#, no-c-format
+-msgid "Function '%s' in initialization expression at %L must be an intrinsic or a specification function"
+-msgstr ""
+-
+-#: fortran/expr.c:2163
+-#, no-c-format
+-msgid "Intrinsic function '%s' at %L is not permitted in an initialization expression"
+-msgstr ""
+-
+-#: fortran/expr.c:2207
+-#, fuzzy, no-c-format
+-msgid "Assumed size array '%s' at %L is not permitted in an initialization expression"
+-msgstr "la grandària de la matriu \"%D\" no és una expressió constant integral"
+-
+-#: fortran/expr.c:2213
+-#, no-c-format
+-msgid "Assumed shape array '%s' at %L is not permitted in an initialization expression"
+-msgstr ""
+-
+-#: fortran/expr.c:2219
+-#, no-c-format
+-msgid "Deferred array '%s' at %L is not permitted in an initialization expression"
+-msgstr ""
+-
+-#: fortran/expr.c:2229
+-#, no-c-format
+-msgid "Parameter '%s' at %L has not been declared or is a variable, which does not reduce to a constant expression"
+-msgstr ""
+-
+-#: fortran/expr.c:2317
+-#, fuzzy, no-c-format
+-msgid "Initialization expression didn't reduce %C"
+-msgstr "inicialització de l'expressió new amb \"=\""
+-
+-#: fortran/expr.c:2360
+-#, fuzzy, no-c-format
+-msgid "Specification function '%s' at %L cannot be a statement function"
+-msgstr "el constructor no pot ser una funció membre de tipus static"
+-
+-#: fortran/expr.c:2367
+-#, fuzzy, no-c-format
+-msgid "Specification function '%s' at %L cannot be an internal function"
+-msgstr "%Jla funció interna \"%D\" no és declarada com funció"
+-
+-#: fortran/expr.c:2374
+-#, no-c-format
+-msgid "Specification function '%s' at %L must be PURE"
+-msgstr ""
+-
+-#: fortran/expr.c:2381
+-#, no-c-format
+-msgid "Specification function '%s' at %L cannot be RECURSIVE"
+-msgstr ""
+-
+-#: fortran/expr.c:2443
+-#, no-c-format
+-msgid "Dummy argument '%s' not allowed in expression at %L"
+-msgstr ""
+-
+-#: fortran/expr.c:2450
+-#, no-c-format
+-msgid "Dummy argument '%s' at %L cannot be OPTIONAL"
+-msgstr ""
+-
+-#: fortran/expr.c:2457
+-#, no-c-format
+-msgid "Dummy argument '%s' at %L cannot be INTENT(OUT)"
+-msgstr ""
+-
+-#: fortran/expr.c:2479
+-#, fuzzy, no-c-format
+-msgid "Variable '%s' cannot appear in the expression at %L"
+-msgstr "desbordament en la constant implícita"
+-
+-#: fortran/expr.c:2528
+-#, no-c-format
+-msgid "Expression at %L must be of INTEGER type"
+-msgstr ""
+-
+-#: fortran/expr.c:2537
+-#, no-c-format
+-msgid "Function '%s' at %L must be PURE"
+-msgstr ""
+-
+-#: fortran/expr.c:2546
+-#, no-c-format
+-msgid "Expression at %L must be scalar"
+-msgstr ""
+-
+-#: fortran/expr.c:2573
+-#, no-c-format
+-msgid "Incompatible ranks in %s (%d and %d) at %L"
+-msgstr ""
+-
+-#: fortran/expr.c:2587
+-#, no-c-format
+-msgid "Different shape for %s at %L on dimension %d (%d and %d)"
+-msgstr ""
+-
+-#: fortran/expr.c:2633 fortran/expr.c:2800
+-#, no-c-format
+-msgid "Cannot assign to INTENT(IN) variable '%s' at %L"
+-msgstr ""
+-
+-#: fortran/expr.c:2676
+-#, no-c-format
+-msgid "'%s' at %L is not a VALUE"
+-msgstr ""
+-
+-#: fortran/expr.c:2683
+-#, fuzzy, no-c-format
+-msgid "Incompatible ranks %d and %d in assignment at %L"
+-msgstr "tipus incompatible en l'assignació de \"%T\" a \"%T\""
+-
+-#: fortran/expr.c:2690
+-#, fuzzy, no-c-format
+-msgid "Variable type is UNKNOWN in assignment at %L"
+-msgstr "tipus incompatible en l'assignació de \"%T\" a \"%T\""
+-
+-#: fortran/expr.c:2702
+-#, no-c-format
+-msgid "NULL appears on right-hand side in assignment at %L"
+-msgstr ""
+-
+-#: fortran/expr.c:2713
+-#, no-c-format
+-msgid "Vector assignment to assumed-size Cray Pointee at %L is illegal"
+-msgstr ""
+-
+-#: fortran/expr.c:2722
+-#, no-c-format
+-msgid "POINTER valued function appears on right-hand side of assignment at %L"
+-msgstr ""
+-
+-#: fortran/expr.c:2727
+-#, fuzzy
+-msgid "array assignment"
+-msgstr "assignació"
+-
+-#: fortran/expr.c:2744
+-#, fuzzy, no-c-format
+-msgid "Incompatible types in assignment at %L, %s to %s"
+-msgstr "tipus incompatible en l'assignació de \"%T\" a \"%T\""
+-
+-#: fortran/expr.c:2769
+-#, no-c-format
+-msgid "Pointer assignment target is not a POINTER at %L"
+-msgstr ""
+-
+-#: fortran/expr.c:2777
+-#, no-c-format
+-msgid "'%s' in the pointer assignment at %L cannot be an l-value since it is a procedure"
+-msgstr ""
+-
+-#: fortran/expr.c:2807
+-#, no-c-format
+-msgid "Pointer assignment to non-POINTER at %L"
+-msgstr ""
+-
+-#: fortran/expr.c:2816
+-#, no-c-format
+-msgid "Bad pointer object in PURE procedure at %L"
+-msgstr ""
+-
+-#: fortran/expr.c:2828
+-#, no-c-format
+-msgid "Different types in pointer assignment at %L"
+-msgstr ""
+-
+-#: fortran/expr.c:2835
+-#, no-c-format
+-msgid "Different kind type parameters in pointer assignment at %L"
+-msgstr ""
+-
+-#: fortran/expr.c:2842
+-#, no-c-format
+-msgid "Different ranks in pointer assignment at %L"
+-msgstr ""
+-
+-#: fortran/expr.c:2857
+-#, no-c-format
+-msgid "Different character lengths in pointer assignment at %L"
+-msgstr ""
+-
+-#: fortran/expr.c:2868
+-#, no-c-format
+-msgid "Pointer assignment target is neither TARGET nor POINTER at %L"
+-msgstr ""
+-
+-#: fortran/expr.c:2875
+-#, no-c-format
+-msgid "Bad target in pointer assignment in PURE procedure at %L"
+-msgstr ""
+-
+-#: fortran/expr.c:2881
+-#, no-c-format
+-msgid "Pointer assignment with vector subscript on rhs at %L"
+-msgstr ""
+-
+-#: fortran/expr.c:2888
+-#, no-c-format
+-msgid "Pointer assigment target has PROTECTED attribute at %L"
+-msgstr ""
+-
+-#: fortran/gfortranspec.c:248
+-#, fuzzy, c-format
+-msgid "overflowed output arg list for '%s'"
+-msgstr "llista d'arguments de sortida desbordada per a \"%s\""
+-
+-#: fortran/gfortranspec.c:381
+-#, c-format
+-msgid ""
+-"GNU Fortran comes with NO WARRANTY, to the extent permitted by law.\n"
+-"You may redistribute copies of GNU Fortran\n"
+-"under the terms of the GNU General Public License.\n"
+-"For more information about these matters, see the file named COPYING\n"
+-"\n"
+-msgstr ""
+-
+-#: fortran/gfortranspec.c:403
+-#, fuzzy, c-format
+-msgid "argument to '%s' missing"
+-msgstr "falta l'argument per a \"%s\""
+-
+-#: fortran/gfortranspec.c:407
+-#, c-format
+-msgid "no input files; unwilling to write output files"
+-msgstr "no hi ha fitxers d'entrada; incapaç d'escriure fitxers de sortida"
+-
+-#: fortran/gfortranspec.c:566
+-#, fuzzy, c-format
+-msgid "Driving:"
+-msgstr "avís:"
+-
+-#: fortran/interface.c:173
+-#, fuzzy, no-c-format
+-msgid "Syntax error in generic specification at %C"
+-msgstr "error de decodificació en l'especificació del mètode"
+-
+-#: fortran/interface.c:200
+-#, fuzzy, no-c-format
+-msgid "Syntax error: Trailing garbage in INTERFACE statement at %C"
+-msgstr "Text espuri addicional al nombre en la declaració FORMAT en %0"
+-
+-#: fortran/interface.c:219
+-#, no-c-format
+-msgid "Dummy procedure '%s' at %C cannot have a generic interface"
+-msgstr ""
+-
+-#: fortran/interface.c:252
+-#, no-c-format
+-msgid "Fortran 2003: ABSTRACT INTERFACE at %C"
+-msgstr ""
+-
+-#: fortran/interface.c:260
+-#, no-c-format
+-msgid "Syntax error in ABSTRACT INTERFACE statement at %C"
+-msgstr ""
+-
+-#: fortran/interface.c:291
+-#, no-c-format
+-msgid "Syntax error: Trailing garbage in END INTERFACE statement at %C"
+-msgstr ""
+-
+-#: fortran/interface.c:304
+-#, fuzzy, no-c-format
+-msgid "Expected a nameless interface at %C"
+-msgstr " s'esperava un patró de classe, es va obtenir \"%T\""
+-
+-#: fortran/interface.c:315
+-#, no-c-format
+-msgid "Expected 'END INTERFACE ASSIGNMENT (=)' at %C"
+-msgstr ""
+-
+-#: fortran/interface.c:317
+-#, no-c-format
+-msgid "Expecting 'END INTERFACE OPERATOR (%s)' at %C"
+-msgstr ""
+-
+-#: fortran/interface.c:331
+-#, no-c-format
+-msgid "Expecting 'END INTERFACE OPERATOR (.%s.)' at %C"
+-msgstr ""
+-
+-#: fortran/interface.c:342
+-#, no-c-format
+-msgid "Expecting 'END INTERFACE %s' at %C"
+-msgstr ""
+-
+-#: fortran/interface.c:551
+-#, no-c-format
+-msgid "Alternate return cannot appear in operator interface at %L"
+-msgstr ""
+-
+-#: fortran/interface.c:581
+-#, no-c-format
+-msgid "Operator interface at %L has the wrong number of arguments"
+-msgstr ""
+-
+-#: fortran/interface.c:592
+-#, no-c-format
+-msgid "Assignment operator interface at %L must be a SUBROUTINE"
+-msgstr ""
+-
+-#: fortran/interface.c:598
+-#, no-c-format
+-msgid "Assignment operator interface at %L must have two arguments"
+-msgstr ""
+-
+-#: fortran/interface.c:608
+-#, no-c-format
+-msgid "Assignment operator interface at %L must not redefine an INTRINSIC type assignment"
+-msgstr ""
+-
+-#: fortran/interface.c:617
+-#, no-c-format
+-msgid "Intrinsic operator interface at %L must be a FUNCTION"
+-msgstr ""
+-
+-#: fortran/interface.c:627
+-#, no-c-format
+-msgid "First argument of defined assignment at %L must be INTENT(IN) or INTENT(INOUT)"
+-msgstr ""
+-
+-#: fortran/interface.c:631
+-#, no-c-format
+-msgid "Second argument of defined assignment at %L must be INTENT(IN)"
+-msgstr ""
+-
+-#: fortran/interface.c:637 fortran/resolve.c:8807
+-#, no-c-format
+-msgid "First argument of operator interface at %L must be INTENT(IN)"
+-msgstr ""
+-
+-#: fortran/interface.c:641 fortran/resolve.c:8819
+-#, no-c-format
+-msgid "Second argument of operator interface at %L must be INTENT(IN)"
+-msgstr ""
+-
+-#: fortran/interface.c:744
+-#, no-c-format
+-msgid "Operator interface at %L conflicts with intrinsic interface"
+-msgstr ""
+-
+-#: fortran/interface.c:1044
+-#, no-c-format
+-msgid "Procedure '%s' in %s at %L has no explicit interface"
+-msgstr ""
+-
+-#: fortran/interface.c:1047
+-#, no-c-format
+-msgid "Procedure '%s' in %s at %L is neither function nor subroutine"
+-msgstr ""
+-
+-#: fortran/interface.c:1102 fortran/interface.c:1108
+-#, no-c-format
+-msgid "Ambiguous interfaces '%s' and '%s' in %s at %L"
+-msgstr ""
+-
+-#: fortran/interface.c:1144
+-#, no-c-format
+-msgid "'%s' at %L is not a module procedure"
+-msgstr ""
+-
+-#: fortran/interface.c:1676
+-#, no-c-format
+-msgid "Keyword argument '%s' at %L is not in the procedure"
+-msgstr ""
+-
+-#: fortran/interface.c:1684
+-#, no-c-format
+-msgid "Keyword argument '%s' at %L is already associated with another actual argument"
+-msgstr ""
+-
+-#: fortran/interface.c:1694
+-#, no-c-format
+-msgid "More actual than formal arguments in procedure call at %L"
+-msgstr ""
+-
+-#: fortran/interface.c:1706 fortran/interface.c:1935
+-#, no-c-format
+-msgid "Missing alternate return spec in subroutine call at %L"
+-msgstr ""
+-
+-#: fortran/interface.c:1714
+-#, no-c-format
+-msgid "Unexpected alternate return spec in subroutine call at %L"
+-msgstr ""
+-
+-#: fortran/interface.c:1729
+-#, no-c-format
+-msgid "Fortran 2003: Scalar CHARACTER actual argument with array dummy argument '%s' at %L"
+-msgstr ""
+-
+-#: fortran/interface.c:1742
+-#, no-c-format
+-msgid "Type/rank mismatch in argument '%s' at %L"
+-msgstr ""
+-
+-#: fortran/interface.c:1758
+-#, no-c-format
+-msgid "Character length mismatch between actual argument and pointer or allocatable dummy argument '%s' at %L"
+-msgstr ""
+-
+-#: fortran/interface.c:1771
+-#, no-c-format
+-msgid "Character length of actual argument shorter than of dummy argument '%s' (%lu/%lu) at %L"
+-msgstr ""
+-
+-#: fortran/interface.c:1776
+-#, no-c-format
+-msgid "Actual argument contains too few elements for dummy argument '%s' (%lu/%lu) at %L"
+-msgstr ""
+-
+-#: fortran/interface.c:1790
+-#, no-c-format
+-msgid "Expected a procedure for argument '%s' at %L"
+-msgstr ""
+-
+-#: fortran/interface.c:1800
+-#, no-c-format
+-msgid "Expected a PURE procedure for argument '%s' at %L"
+-msgstr ""
+-
+-#: fortran/interface.c:1814
+-#, no-c-format
+-msgid "Actual argument for '%s' cannot be an assumed-size array at %L"
+-msgstr ""
+-
+-#: fortran/interface.c:1823
+-#, fuzzy, no-c-format
+-msgid "Actual argument for '%s' must be a pointer at %L"
+-msgstr "l'argument per a \"%s\" ha de ser una literal sense signe de 2-bit"
+-
+-#: fortran/interface.c:1832
+-#, no-c-format
+-msgid "Actual argument for '%s' must be ALLOCATABLE at %L"
+-msgstr ""
+-
+-#: fortran/interface.c:1843
+-#, no-c-format
+-msgid "Actual argument at %L must be definable to match dummy INTENT = OUT/INOUT"
+-msgstr ""
+-
+-#: fortran/interface.c:1851
+-#, no-c-format
+-msgid "Actual argument at %L is use-associated with PROTECTED attribute and dummy argument '%s' is INTENT = OUT/INOUT"
+-msgstr ""
+-
+-#: fortran/interface.c:1864
+-#, no-c-format
+-msgid "Array-section actual argument with vector subscripts at %L is incompatible with INTENT(IN), INTENT(INOUT) or VOLATILE attribute of the dummy argument '%s'"
+-msgstr ""
+-
+-#: fortran/interface.c:1881
+-#, no-c-format
+-msgid "Assumed-shape actual argument at %L is incompatible with the non-assumed-shape dummy argument '%s' due to VOLATILE attribute"
+-msgstr ""
+-
+-#: fortran/interface.c:1893
+-#, no-c-format
+-msgid "Array-section actual argument at %L is incompatible with the non-assumed-shape dummy argument '%s' due to VOLATILE attribute"
+-msgstr ""
+-
+-#: fortran/interface.c:1912
+-#, no-c-format
+-msgid "Pointer-array actual argument at %L requires an assumed-shape or pointer-array dummy argument '%s' due to VOLATILE attribute"
+-msgstr ""
+-
+-#: fortran/interface.c:1942
+-#, no-c-format
+-msgid "Missing actual argument for argument '%s' at %L"
+-msgstr ""
+-
+-#: fortran/interface.c:2128
+-#, no-c-format
+-msgid "Same actual argument associated with INTENT(%s) argument '%s' and INTENT(%s) argument '%s' at %L"
+-msgstr ""
+-
+-#: fortran/interface.c:2184
+-#, no-c-format
+-msgid "Procedure argument at %L is INTENT(IN) while interface specifies INTENT(%s)"
+-msgstr ""
+-
+-#: fortran/interface.c:2194
+-#, no-c-format
+-msgid "Procedure argument at %L is local to a PURE procedure and is passed to an INTENT(%s) argument"
+-msgstr ""
+-
+-#: fortran/interface.c:2202
+-#, no-c-format
+-msgid "Procedure argument at %L is local to a PURE procedure and has the POINTER attribute"
+-msgstr ""
+-
+-#: fortran/interface.c:2225
+-#, no-c-format
+-msgid "Procedure '%s' called with an implicit interface at %L"
+-msgstr ""
+-
+-#: fortran/interface.c:2440
+-#, no-c-format
+-msgid "Function '%s' called in lieu of an operator at %L must be PURE"
+-msgstr ""
+-
+-#: fortran/interface.c:2519
+-#, no-c-format
+-msgid "Entity '%s' at %C is already present in the interface"
+-msgstr ""
+-
+-#: fortran/intrinsic.c:2918
+-#, fuzzy, no-c-format
+-msgid "Too many arguments in call to '%s' at %L"
+-msgstr "massa arguments per a %s \"%+#D\""
+-
+-#: fortran/intrinsic.c:2933
+-#, no-c-format
+-msgid "The argument list functions %%VAL, %%LOC or %%REF are not allowed in this context at %L"
+-msgstr ""
+-
+-#: fortran/intrinsic.c:2936
+-#, no-c-format
+-msgid "Can't find keyword named '%s' in call to '%s' at %L"
+-msgstr ""
+-
+-#: fortran/intrinsic.c:2943
+-#, no-c-format
+-msgid "Argument '%s' is appears twice in call to '%s' at %L"
+-msgstr ""
+-
+-#: fortran/intrinsic.c:2957
+-#, no-c-format
+-msgid "Missing actual argument '%s' in call to '%s' at %L"
+-msgstr ""
+-
+-#: fortran/intrinsic.c:2972
+-#, no-c-format
+-msgid "ALTERNATE RETURN not permitted at %L"
+-msgstr ""
+-
+-#: fortran/intrinsic.c:3021
+-#, no-c-format
+-msgid "Type of argument '%s' in call to '%s' at %L should be %s, not %s"
+-msgstr ""
+-
+-#: fortran/intrinsic.c:3337
+-#, no-c-format
+-msgid "Intrinsic '%s' at %L is not included in the selected standard"
+-msgstr ""
+-
+-#: fortran/intrinsic.c:3450
+-#, no-c-format
+-msgid "Fortran 2003: Elemental function as initialization expression with non-integer/non-character arguments at %L"
+-msgstr ""
+-
+-#: fortran/intrinsic.c:3508
+-#, no-c-format
+-msgid "Subroutine call to intrinsic '%s' at %L is not PURE"
+-msgstr ""
+-
+-#: fortran/intrinsic.c:3579
+-#, fuzzy, no-c-format
+-msgid "Extension: Conversion from %s to %s at %L"
+-msgstr "conversió no vàlida de \"%T\" a \"%T\""
+-
+-#: fortran/intrinsic.c:3582
+-#, fuzzy, no-c-format
+-msgid "Conversion from %s to %s at %L"
+-msgstr "conversió de \"%#T\" a \"%#T\""
+-
+-#: fortran/intrinsic.c:3629
+-#, fuzzy, no-c-format
+-msgid "Can't convert %s to %s at %L"
+-msgstr "la conversion de %s a %s ha fallat"
+-
+-#: fortran/io.c:156 fortran/primary.c:738
+-#, no-c-format
+-msgid "Extension: backslash character at %C"
+-msgstr ""
+-
+-#: fortran/io.c:187 fortran/io.c:190
+-#, no-c-format
+-msgid "Extension: Tab character in format at %C"
+-msgstr ""
+-
+-#: fortran/io.c:450
+-#, fuzzy
+-msgid "Positive width required"
+-msgstr " però es requereixen %d"
+-
+-#: fortran/io.c:451
+-#, fuzzy
+-msgid "Nonnegative width required"
+-msgstr "amplària negativa en el camp de bit \"%s\""
+-
+-#: fortran/io.c:452
+-#, fuzzy
+-msgid "Unexpected element"
+-msgstr "operand inesperat"
+-
+-#: fortran/io.c:453
+-#, fuzzy
+-msgid "Unexpected end of format string"
+-msgstr "constant de format sense acabar"
+-
+-#: fortran/io.c:472
+-#, fuzzy
+-msgid "Missing leading left parenthesis"
+-msgstr "\"(\" faltant"
+-
+-#: fortran/io.c:519
+-msgid "Expected P edit descriptor"
+-msgstr ""
+-
+-#. P requires a prior number.
+-#: fortran/io.c:527
+-msgid "P descriptor requires leading scale factor"
+-msgstr ""
+-
+-#. X requires a prior number if we're being pedantic.
+-#: fortran/io.c:532
+-#, no-c-format
+-msgid "Extension: X descriptor requires leading space count at %C"
+-msgstr ""
+-
+-#: fortran/io.c:554
+-#, no-c-format
+-msgid "Extension: $ descriptor at %C"
+-msgstr ""
+-
+-#: fortran/io.c:559
+-#, no-c-format
+-msgid "$ should be the last specifier in format at %C"
+-msgstr ""
+-
+-#: fortran/io.c:604
+-msgid "Repeat count cannot follow P descriptor"
+-msgstr ""
+-
+-#: fortran/io.c:624
+-#, no-c-format
+-msgid "Extension: Missing positive width after L descriptor at %C"
+-msgstr ""
+-
+-#: fortran/io.c:670 fortran/io.c:672 fortran/io.c:733 fortran/io.c:735
+-#, fuzzy, no-c-format
+-msgid "Period required in format specifier at %C"
+-msgstr "no es reconeix l'especificador de format"
+-
+-#: fortran/io.c:704
+-msgid "Positive exponent width required"
+-msgstr ""
+-
+-#: fortran/io.c:753
+-#, no-c-format
+-msgid "The H format specifier at %C is a Fortran 95 deleted feature"
+-msgstr ""
+-
+-#: fortran/io.c:838 fortran/io.c:895
+-#, no-c-format
+-msgid "Extension: Missing comma at %C"
+-msgstr ""
+-
+-#: fortran/io.c:905
+-#, fuzzy, no-c-format
+-msgid "%s in format string at %C"
+-msgstr "format %s, argument %s (argument %d)"
+-
+-#: fortran/io.c:946
+-#, no-c-format
+-msgid "Format statement in module main block at %C"
+-msgstr ""
+-
+-#: fortran/io.c:952
+-#, fuzzy, no-c-format
+-msgid "Missing format label at %C"
+-msgstr "nom de fitxer faltant deprés de \"%s\""
+-
+-#: fortran/io.c:1010 fortran/io.c:1034
+-#, fuzzy, no-c-format
+-msgid "Duplicate %s specification at %C"
+-msgstr "després de l'especificació prèvia en \"%#D\""
+-
+-#: fortran/io.c:1041
+-#, no-c-format
+-msgid "Variable tag cannot be INTENT(IN) at %C"
+-msgstr ""
+-
+-#: fortran/io.c:1048
+-#, no-c-format
+-msgid "Variable tag cannot be assigned in PURE procedure at %C"
+-msgstr ""
+-
+-#: fortran/io.c:1085
+-#, fuzzy, no-c-format
+-msgid "Duplicate %s label specification at %C"
+-msgstr "declaració de l'etiqueta \"%s\" duplicada"
+-
+-#: fortran/io.c:1106
+-#, no-c-format
+-msgid "Constant expression in FORMAT tag at %L must be of type default CHARACTER"
+-msgstr ""
+-
+-#: fortran/io.c:1119
+-#, no-c-format
+-msgid "FORMAT tag at %L must be of type CHARACTER or INTEGER"
+-msgstr ""
+-
+-#: fortran/io.c:1125
+-#, no-c-format
+-msgid "Deleted feature: ASSIGNED variable in FORMAT tag at %L"
+-msgstr ""
+-
+-#: fortran/io.c:1131
+-#, no-c-format
+-msgid "Variable '%s' at %L has not been assigned a format label"
+-msgstr ""
+-
+-#: fortran/io.c:1138
+-#, no-c-format
+-msgid "Scalar '%s' in FORMAT tag at %L is not an ASSIGNED variable"
+-msgstr ""
+-
+-#: fortran/io.c:1151
+-#, no-c-format
+-msgid "Extension: Character array in FORMAT tag at %L"
+-msgstr ""
+-
+-#: fortran/io.c:1157
+-#, fuzzy, no-c-format
+-msgid "Extension: Non-character in FORMAT tag at %L"
+-msgstr "Coma sobrant en la declaració FORMAT en %0"
+-
+-#: fortran/io.c:1182
+-#, fuzzy, no-c-format
+-msgid "%s tag at %L must be of type %s"
+-msgstr "\"%D\" no és un membre de tipus \"%T\""
+-
+-#: fortran/io.c:1189
+-#, no-c-format
+-msgid "%s tag at %L must be scalar"
+-msgstr ""
+-
+-#: fortran/io.c:1195
+-#, no-c-format
+-msgid "Fortran 2003: IOMSG tag at %L"
+-msgstr ""
+-
+-#: fortran/io.c:1203
+-#, no-c-format
+-msgid "Fortran 95 requires default INTEGER in %s tag at %L"
+-msgstr ""
+-
+-#: fortran/io.c:1211
+-#, no-c-format
+-msgid "Extension: CONVERT tag at %L"
+-msgstr ""
+-
+-#: fortran/io.c:1367 fortran/io.c:1375
+-#, fuzzy, no-c-format
+-msgid "Fortran 2003: %s specifier in %s statement at %C has value '%s'"
+-msgstr "Falta l'especificador %A en la declaració en %0"
+-
+-#: fortran/io.c:1393 fortran/io.c:1401
+-#, fuzzy, no-c-format
+-msgid "Extension: %s specifier in %s statement at %C has value '%s'"
+-msgstr "Falta l'especificador %A en la declaració en %0"
+-
+-#: fortran/io.c:1413 fortran/io.c:1419
+-#, fuzzy, no-c-format
+-msgid "%s specifier in %s statement at %C has invalid value '%s'"
+-msgstr "Falta l'especificador %A en la declaració en %0"
+-
+-#: fortran/io.c:1473
+-#, no-c-format
+-msgid "OPEN statement not allowed in PURE procedure at %C"
+-msgstr ""
+-
+-#: fortran/io.c:1818
+-#, no-c-format
+-msgid "CLOSE statement not allowed in PURE procedure at %C"
+-msgstr ""
+-
+-#: fortran/io.c:1955 fortran/match.c:1841
+-#, no-c-format
+-msgid "%s statement not allowed in PURE procedure at %C"
+-msgstr ""
+-
+-#: fortran/io.c:2011
+-#, no-c-format
+-msgid "Fortran 2003: FLUSH statement at %C"
+-msgstr ""
+-
+-#: fortran/io.c:2072
+-#, no-c-format
+-msgid "Duplicate UNIT specification at %C"
+-msgstr ""
+-
+-#: fortran/io.c:2128
+-#, fuzzy, no-c-format
+-msgid "Duplicate format specification at %C"
+-msgstr "error de decodificació en l'especificació del mètode"
+-
+-#: fortran/io.c:2145
+-#, no-c-format
+-msgid "Symbol '%s' in namelist '%s' is INTENT(IN) at %C"
+-msgstr ""
+-
+-#: fortran/io.c:2181
+-#, fuzzy, no-c-format
+-msgid "Duplicate NML specification at %C"
+-msgstr "inicialització duplicada de %D"
+-
+-#: fortran/io.c:2190
+-#, no-c-format
+-msgid "Symbol '%s' at %C must be a NAMELIST group name"
+-msgstr ""
+-
+-#: fortran/io.c:2231
+-#, no-c-format
+-msgid "END tag at %C not allowed in output statement"
+-msgstr ""
+-
+-#: fortran/io.c:2288
+-#, no-c-format
+-msgid "UNIT specification at %L must be an INTEGER expression or a CHARACTER variable"
+-msgstr ""
+-
+-#: fortran/io.c:2297
+-#, no-c-format
+-msgid "Internal unit with vector subscript at %L"
+-msgstr ""
+-
+-#: fortran/io.c:2304
+-#, no-c-format
+-msgid "External IO UNIT cannot be an array at %L"
+-msgstr ""
+-
+-#: fortran/io.c:2314
+-#, fuzzy, no-c-format
+-msgid "ERR tag label %d at %L not defined"
+-msgstr "s'usa l'etiqueta \"%D\" però no està definida"
+-
+-#: fortran/io.c:2326
+-#, fuzzy, no-c-format
+-msgid "END tag label %d at %L not defined"
+-msgstr "s'usa l'etiqueta \"%D\" però no està definida"
+-
+-#: fortran/io.c:2338
+-#, fuzzy, no-c-format
+-msgid "EOR tag label %d at %L not defined"
+-msgstr "s'usa l'etiqueta \"%D\" però no està definida"
+-
+-#: fortran/io.c:2348
+-#, fuzzy, no-c-format
+-msgid "FORMAT label %d at %L not defined"
+-msgstr "s'usa l'etiqueta \"%D\" però no està definida"
+-
+-#: fortran/io.c:2469
+-#, fuzzy, no-c-format
+-msgid "Syntax error in I/O iterator at %C"
+-msgstr "errore sintàctic en la llista de paràmetre de macro"
+-
+-#: fortran/io.c:2500
+-#, fuzzy, no-c-format
+-msgid "Expected variable in READ statement at %C"
+-msgstr "Coma sobrant en la declaració FORMAT en %0"
+-
+-#: fortran/io.c:2506
+-#, fuzzy, no-c-format
+-msgid "Expected expression in %s statement at %C"
+-msgstr "Coma sobrant en la declaració FORMAT en %0"
+-
+-#: fortran/io.c:2516
+-#, no-c-format
+-msgid "Variable '%s' in input list at %C cannot be INTENT(IN)"
+-msgstr ""
+-
+-#: fortran/io.c:2525
+-#, no-c-format
+-msgid "Cannot read to variable '%s' in PURE procedure at %C"
+-msgstr ""
+-
+-#: fortran/io.c:2541
+-#, no-c-format
+-msgid "Cannot write to internal file unit '%s' at %C inside a PURE procedure"
+-msgstr ""
+-
+-#. A general purpose syntax error.
+-#: fortran/io.c:2602 fortran/io.c:3004 fortran/gfortran.h:1998
+-#, fuzzy, no-c-format
+-msgid "Syntax error in %s statement at %C"
+-msgstr "error sintàctic en l'element \"%s\""
+-
+-#: fortran/io.c:2670
+-#, no-c-format
+-msgid "Fortran 2003: Internal file at %L with namelist"
+-msgstr ""
+-
+-#: fortran/io.c:2833
+-#, no-c-format
+-msgid "PRINT namelist at %C is an extension"
+-msgstr ""
+-
+-#: fortran/io.c:2965
+-#, no-c-format
+-msgid "Extension: Comma before i/o item list at %C"
+-msgstr ""
+-
+-#: fortran/io.c:2974
+-#, fuzzy, no-c-format
+-msgid "Expected comma in I/O list at %C"
+-msgstr "Coma sobrant en la declaració FORMAT en %0"
+-
+-#: fortran/io.c:3036
+-#, fuzzy, no-c-format
+-msgid "PRINT statement at %C not allowed within PURE procedure"
+-msgstr "La declaració RETURN en %0 no és vàlida dintre d'una unitat de programa principal"
+-
+-#: fortran/io.c:3176 fortran/io.c:3227
+-#, no-c-format
+-msgid "INQUIRE statement not allowed in PURE procedure at %C"
+-msgstr ""
+-
+-#: fortran/io.c:3203
+-#, no-c-format
+-msgid "IOLENGTH tag invalid in INQUIRE statement at %C"
+-msgstr ""
+-
+-#: fortran/io.c:3213 fortran/trans-io.c:1144
+-#, no-c-format
+-msgid "INQUIRE statement at %L cannot contain both FILE and UNIT specifiers"
+-msgstr ""
+-
+-#: fortran/io.c:3220
+-#, no-c-format
+-msgid "INQUIRE statement at %L requires either FILE or UNIT specifier"
+-msgstr ""
+-
+-#: fortran/match.c:270
+-#, fuzzy, no-c-format
+-msgid "Integer too large at %C"
+-msgstr "Enter en %0 massa gran"
+-
+-#: fortran/match.c:363 fortran/parse.c:442
+-#, no-c-format
+-msgid "Too many digits in statement label at %C"
+-msgstr ""
+-
+-#: fortran/match.c:369
+-#, no-c-format
+-msgid "Statement label at %C is zero"
+-msgstr ""
+-
+-#: fortran/match.c:402
+-#, fuzzy, no-c-format
+-msgid "Label name '%s' at %C is ambiguous"
+-msgstr "l'ús de \"%D\" és ambigu"
+-
+-#: fortran/match.c:408
+-#, fuzzy, no-c-format
+-msgid "Duplicate construct label '%s' at %C"
+-msgstr "etiqueta duplicada \"%D\""
+-
+-#: fortran/match.c:438
+-#, fuzzy, no-c-format
+-msgid "Invalid character in name at %C"
+-msgstr "caracter no vàlid \"%c\" en #if"
+-
+-#: fortran/match.c:451 fortran/match.c:523
+-#, no-c-format
+-msgid "Name at %C is too long"
+-msgstr ""
+-
+-#: fortran/match.c:506 fortran/match.c:552
+-#, no-c-format
+-msgid "Invalid C name in NAME= specifier at %C"
+-msgstr ""
+-
+-#: fortran/match.c:543
+-#, no-c-format
+-msgid "Embedded space in NAME= specifier at %C"
+-msgstr ""
+-
+-#: fortran/match.c:868
+-#, no-c-format
+-msgid "Loop variable at %C cannot be a sub-component"
+-msgstr ""
+-
+-#: fortran/match.c:874
+-#, no-c-format
+-msgid "Loop variable '%s' at %C cannot be INTENT(IN)"
+-msgstr ""
+-
+-#: fortran/match.c:907
+-#, no-c-format
+-msgid "Expected a step value in iterator at %C"
+-msgstr ""
+-
+-#: fortran/match.c:919
+-#, fuzzy, no-c-format
+-msgid "Syntax error in iterator at %C"
+-msgstr "errore sintàctic en la llista de paràmetre de macro"
+-
+-#: fortran/match.c:1155
+-#, fuzzy, no-c-format
+-msgid "Invalid form of PROGRAM statement at %C"
+-msgstr "Coma faltant en la declaració FORMAT en %0"
+-
+-#: fortran/match.c:1196
+-#, no-c-format
+-msgid "Setting value of PROTECTED variable at %C"
+-msgstr ""
+-
+-#: fortran/match.c:1249
+-#, no-c-format
+-msgid "Assigning to a PROTECTED pointer at %C"
+-msgstr ""
+-
+-#: fortran/match.c:1292 fortran/match.c:1365
+-#, no-c-format
+-msgid "Obsolescent: arithmetic IF statement at %C"
+-msgstr ""
+-
+-#: fortran/match.c:1340
+-#, fuzzy, no-c-format
+-msgid "Syntax error in IF-expression at %C"
+-msgstr "desbordament enter en l'expressió"
+-
+-#: fortran/match.c:1351
+-#, no-c-format
+-msgid "Block label not appropriate for arithmetic IF statement at %C"
+-msgstr ""
+-
+-#: fortran/match.c:1389
+-#, fuzzy, no-c-format
+-msgid "Block label is not appropriate IF statement at %C"
+-msgstr "No hi ha definició d'etiqueta per a la declaració FORMAT en %0"
+-
+-#: fortran/match.c:1468 fortran/primary.c:2522
+-#, no-c-format
+-msgid "Cannot assign to a named constant at %C"
+-msgstr ""
+-
+-#: fortran/match.c:1478
+-#, no-c-format
+-msgid "Unclassifiable statement in IF-clause at %C"
+-msgstr ""
+-
+-#: fortran/match.c:1485
+-#, no-c-format
+-msgid "Syntax error in IF-clause at %C"
+-msgstr ""
+-
+-#: fortran/match.c:1529
+-#, no-c-format
+-msgid "Unexpected junk after ELSE statement at %C"
+-msgstr ""
+-
+-#: fortran/match.c:1535 fortran/match.c:1570
+-#, no-c-format
+-msgid "Label '%s' at %C doesn't match IF label '%s'"
+-msgstr ""
+-
+-#: fortran/match.c:1564
+-#, no-c-format
+-msgid "Unexpected junk after ELSE IF statement at %C"
+-msgstr ""
+-
+-#: fortran/match.c:1727
+-#, no-c-format
+-msgid "Name '%s' in %s statement at %C is not a loop name"
+-msgstr ""
+-
+-#: fortran/match.c:1743
+-#, fuzzy, no-c-format
+-msgid "%s statement at %C is not within a loop"
+-msgstr "la declaració continue no està dintre dintre d'un cicle"
+-
+-#: fortran/match.c:1746
+-#, fuzzy, no-c-format
+-msgid "%s statement at %C is not within loop '%s'"
+-msgstr "la declaració break no està dintre d'un cicle o «switch»"
+-
+-#: fortran/match.c:1754
+-#, no-c-format
+-msgid "%s statement at %C leaving OpenMP structured block"
+-msgstr ""
+-
+-#: fortran/match.c:1767
+-#, no-c-format
+-msgid "EXIT statement at %C terminating !$OMP DO loop"
+-msgstr ""
+-
+-#: fortran/match.c:1819
+-#, no-c-format
+-msgid "Too many digits in STOP code at %C"
+-msgstr ""
+-
+-#: fortran/match.c:1872
+-#, no-c-format
+-msgid "Deleted feature: PAUSE statement at %C"
+-msgstr ""
+-
+-#: fortran/match.c:1920
+-#, no-c-format
+-msgid "Deleted feature: ASSIGN statement at %C"
+-msgstr ""
+-
+-#: fortran/match.c:1966
+-#, no-c-format
+-msgid "Deleted feature: Assigned GOTO statement at %C"
+-msgstr ""
+-
+-#: fortran/match.c:2013 fortran/match.c:2065
+-#, no-c-format
+-msgid "Statement label list in GOTO at %C cannot be empty"
+-msgstr ""
+-
+-#: fortran/match.c:2149
+-#, no-c-format
+-msgid "Bad allocate-object in ALLOCATE statement at %C for a PURE procedure"
+-msgstr ""
+-
+-#: fortran/match.c:2173
+-#, no-c-format
+-msgid "STAT variable '%s' of ALLOCATE statement at %C cannot be INTENT(IN)"
+-msgstr ""
+-
+-#: fortran/match.c:2180
+-#, no-c-format
+-msgid "Illegal STAT variable in ALLOCATE statement at %C for a PURE procedure"
+-msgstr ""
+-
+-#: fortran/match.c:2218 fortran/match.c:2382
+-#, no-c-format
+-msgid "STAT expression at %C must be a variable"
+-msgstr ""
+-
+-#: fortran/match.c:2272
+-#, no-c-format
+-msgid "Illegal variable in NULLIFY at %C for a PURE procedure"
+-msgstr ""
+-
+-#: fortran/match.c:2349
+-#, no-c-format
+-msgid "Illegal deallocate-expression in DEALLOCATE at %C for a PURE procedure"
+-msgstr ""
+-
+-#: fortran/match.c:2368
+-#, no-c-format
+-msgid "STAT variable '%s' of DEALLOCATE statement at %C cannot be INTENT(IN)"
+-msgstr ""
+-
+-#: fortran/match.c:2375
+-#, no-c-format
+-msgid "Illegal STAT variable in DEALLOCATE statement at %C for a PURE procedure"
+-msgstr ""
+-
+-#: fortran/match.c:2424
+-#, no-c-format
+-msgid "Alternate RETURN statement at %C is only allowed within a SUBROUTINE"
+-msgstr ""
+-
+-#: fortran/match.c:2455
+-#, fuzzy, no-c-format
+-msgid "Extension: RETURN statement in main program at %C"
+-msgstr "La declaració RETURN en %0 no és vàlida dintre d'una unitat de programa principal"
+-
+-#: fortran/match.c:2665
+-#, fuzzy, no-c-format
+-msgid "Syntax error in common block name at %C"
+-msgstr "errore sintàctic en la llista de paràmetre de macro"
+-
+-#: fortran/match.c:2701
+-#, no-c-format
+-msgid "Symbol '%s' at %C is already an external symbol that is not COMMON"
+-msgstr ""
+-
+-#: fortran/match.c:2719
+-#, no-c-format
+-msgid "BLOCK DATA unit cannot contain blank COMMON at %C"
+-msgstr ""
+-
+-#. If we find an error, just print it and continue,
+-#. cause it's just semantic, and we can see if there
+-#. are more errors.
+-#: fortran/match.c:2765
+-#, no-c-format
+-msgid "Variable '%s' at %L in common block '%s' at %C must be declared with a C interoperable kind since common block '%s' is bind(c)"
+-msgstr ""
+-
+-#: fortran/match.c:2774
+-#, no-c-format
+-msgid "Variable '%s' in common block '%s' at %C can not be bind(c) since it is not global"
+-msgstr ""
+-
+-#: fortran/match.c:2781
+-#, no-c-format
+-msgid "Symbol '%s' at %C is already in a COMMON block"
+-msgstr ""
+-
+-#: fortran/match.c:2793
+-#, no-c-format
+-msgid "Previously initialized symbol '%s' in blank COMMON block at %C"
+-msgstr ""
+-
+-#: fortran/match.c:2796
+-#, no-c-format
+-msgid "Previously initialized symbol '%s' in COMMON block '%s' at %C"
+-msgstr ""
+-
+-#: fortran/match.c:2821
+-#, no-c-format
+-msgid "Array specification for symbol '%s' in COMMON at %C must be explicit"
+-msgstr ""
+-
+-#: fortran/match.c:2831
+-#, no-c-format
+-msgid "Symbol '%s' in COMMON at %C cannot be a POINTER array"
+-msgstr ""
+-
+-#: fortran/match.c:2863
+-#, no-c-format
+-msgid "Symbol '%s', in COMMON block '%s' at %C is being indirectly equivalenced to another COMMON block '%s'"
+-msgstr ""
+-
+-#: fortran/match.c:2971
+-#, no-c-format
+-msgid "Namelist group name '%s' at %C already has a basic type of %s"
+-msgstr ""
+-
+-#: fortran/match.c:2979
+-#, no-c-format
+-msgid "Namelist group name '%s' at %C already is USE associated and cannot be respecified."
+-msgstr ""
+-
+-#: fortran/match.c:3006
+-#, no-c-format
+-msgid "Assumed size array '%s' in namelist '%s' at %C is not allowed"
+-msgstr ""
+-
+-#: fortran/match.c:3013
+-#, no-c-format
+-msgid "Assumed character length '%s' in namelist '%s' at %C is not allowed"
+-msgstr ""
+-
+-#: fortran/match.c:3140
+-#, no-c-format
+-msgid "Derived type component %C is not a permitted EQUIVALENCE member"
+-msgstr ""
+-
+-#: fortran/match.c:3148
+-#, no-c-format
+-msgid "Array reference in EQUIVALENCE at %C cannot be an array section"
+-msgstr ""
+-
+-#: fortran/match.c:3176
+-#, no-c-format
+-msgid "EQUIVALENCE at %C requires two or more objects"
+-msgstr ""
+-
+-#: fortran/match.c:3190
+-#, no-c-format
+-msgid "Attempt to indirectly overlap COMMON blocks %s and %s by EQUIVALENCE at %C"
+-msgstr ""
+-
+-#: fortran/match.c:3351
+-#, no-c-format
+-msgid "Statement function at %L is recursive"
+-msgstr ""
+-
+-#: fortran/match.c:3439
+-#, fuzzy, no-c-format
+-msgid "Expected initialization expression in CASE at %C"
+-msgstr "inicialització de l'expressió new amb \"=\""
+-
+-#: fortran/match.c:3462
+-#, no-c-format
+-msgid "Expected the name of the SELECT CASE construct at %C"
+-msgstr ""
+-
+-#: fortran/match.c:3474
+-#, no-c-format
+-msgid "Expected case name of '%s' at %C"
+-msgstr ""
+-
+-#: fortran/match.c:3518
+-#, fuzzy, no-c-format
+-msgid "Unexpected CASE statement at %C"
+-msgstr "Falta l'especificador %A en la declaració en %0"
+-
+-#: fortran/match.c:3570
+-#, fuzzy, no-c-format
+-msgid "Syntax error in CASE-specification at %C"
+-msgstr "error de decodificació en l'especificació del mètode"
+-
+-#: fortran/match.c:3690
+-#, no-c-format
+-msgid "ELSEWHERE statement at %C not enclosed in WHERE block"
+-msgstr ""
+-
+-#: fortran/match.c:3728
+-#, no-c-format
+-msgid "Label '%s' at %C doesn't match WHERE label '%s'"
+-msgstr ""
+-
+-#: fortran/match.c:3828
+-#, fuzzy, no-c-format
+-msgid "Syntax error in FORALL iterator at %C"
+-msgstr "errore sintàctic en la llista de paràmetre de macro"
+-
+-#: fortran/matchexp.c:28
+-#, fuzzy, c-format
+-msgid "Syntax error in expression at %C"
+-msgstr "desbordament enter en l'expressió"
+-
+-#: fortran/matchexp.c:72
+-#, fuzzy, no-c-format
+-msgid "Bad character '%c' in OPERATOR name at %C"
+-msgstr "caracter no vàlid \"%c\" en #if"
+-
+-#: fortran/matchexp.c:80
+-#, fuzzy, no-c-format
+-msgid "The name '%s' cannot be used as a defined operator at %C"
+-msgstr "no es pot usar \"%s\" com un nom de macro perquè és un operador en C++"
+-
+-#: fortran/matchexp.c:187
+-#, fuzzy, no-c-format
+-msgid "Expected a right parenthesis in expression at %C"
+-msgstr "S'esperava un operador binari entre les expressions en %0 i en %1"
+-
+-#: fortran/matchexp.c:312
+-#, fuzzy, no-c-format
+-msgid "Expected exponent in expression at %C"
+-msgstr "S'esperava un operador binari entre les expressions en %0 i en %1"
+-
+-#: fortran/matchexp.c:348 fortran/matchexp.c:452
+-#, no-c-format
+-msgid "Extension: Unary operator following arithmetic operator (use parentheses) at %C"
+-msgstr ""
+-
+-#: fortran/misc.c:39
+-#, no-c-format
+-msgid "Out of memory-- malloc() failed"
+-msgstr ""
+-
+-#: fortran/module.c:516
+-#, no-c-format
+-msgid "Fortran 2003: module nature in USE statement at %C"
+-msgstr ""
+-
+-#: fortran/module.c:528
+-#, no-c-format
+-msgid "Module nature in USE statement at %C shall be either INTRINSIC or NON_INTRINSIC"
+-msgstr ""
+-
+-#: fortran/module.c:541
+-#, no-c-format
+-msgid "\"::\" was expected after module nature at %C but was not found"
+-msgstr ""
+-
+-#: fortran/module.c:550
+-#, no-c-format
+-msgid "Fortran 2003: \"USE :: module\" at %C"
+-msgstr ""
+-
+-#: fortran/module.c:602
+-#, fuzzy, no-c-format
+-msgid "Missing generic specification in USE statement at %C"
+-msgstr "Falta l'especificador %A en la declaració en %0"
+-
+-#: fortran/module.c:610
+-#, no-c-format
+-msgid "Fortran 2003: Renaming operators in USE statements at %C"
+-msgstr ""
+-
+-#: fortran/module.c:652
+-#, no-c-format
+-msgid "The name '%s' at %C has already been used as an external module name."
+-msgstr ""
+-
+-#: fortran/module.c:930
+-#, no-c-format
+-msgid "Reading module %s at line %d column %d: %s"
+-msgstr ""
+-
+-#: fortran/module.c:934
+-#, no-c-format
+-msgid "Writing module %s at line %d column %d: %s"
+-msgstr ""
+-
+-#: fortran/module.c:938
+-#, no-c-format
+-msgid "Module %s at line %d column %d: %s"
+-msgstr ""
+-
+-#: fortran/module.c:978
+-#, fuzzy
+-msgid "Unexpected EOF"
+-msgstr "operand inesperat"
+-
+-#: fortran/module.c:1010
+-#, fuzzy
+-msgid "Unexpected end of module in string constant"
+-msgstr "conversió obsoleta d'una constant de cadena a \"%T\""
+-
+-#: fortran/module.c:1064
+-#, fuzzy
+-msgid "Integer overflow"
+-msgstr "desbordament enter en l'expressió"
+-
+-#: fortran/module.c:1095
+-msgid "Name too long"
+-msgstr ""
+-
+-#: fortran/module.c:1202
+-msgid "Bad name"
+-msgstr ""
+-
+-#: fortran/module.c:1246
+-#, fuzzy
+-msgid "Expected name"
+-msgstr "operand inesperat"
+-
+-#: fortran/module.c:1249
+-#, fuzzy
+-msgid "Expected left parenthesis"
+-msgstr "operand inesperat"
+-
+-#: fortran/module.c:1252
+-msgid "Expected right parenthesis"
+-msgstr ""
+-
+-#: fortran/module.c:1255
+-#, fuzzy
+-msgid "Expected integer"
+-msgstr "operand inesperat"
+-
+-#: fortran/module.c:1258
+-#, fuzzy
+-msgid "Expected string"
+-msgstr "operand inesperat"
+-
+-#: fortran/module.c:1282
+-msgid "find_enum(): Enum not found"
+-msgstr ""
+-
+-#: fortran/module.c:1296
+-#, fuzzy, no-c-format
+-msgid "Error writing modules file: %s"
+-msgstr "%s:error escrivint al fitxer de sortida \"%s\"\n"
+-
+-#: fortran/module.c:1691
+-#, fuzzy
+-msgid "Expected attribute bit name"
+-msgstr "no és necessari l'atribut packed"
+-
+-#: fortran/module.c:2503
+-#, fuzzy
+-msgid "Expected integer string"
+-msgstr "falta la secció de punters"
+-
+-#: fortran/module.c:2507
+-msgid "Error converting integer"
+-msgstr ""
+-
+-#: fortran/module.c:2529
+-#, fuzzy
+-msgid "Expected real string"
+-msgstr "constant de format sense acabar"
+-
+-#: fortran/module.c:2722
+-#, fuzzy
+-msgid "Expected expression type"
+-msgstr "expressió d'adreça inesperada"
+-
+-#: fortran/module.c:2776
+-#, fuzzy
+-msgid "Bad operator"
+-msgstr "operand no vàlid"
+-
+-#: fortran/module.c:2861
+-#, fuzzy
+-msgid "Bad type in constant expression"
+-msgstr "desbordament en la constant implícita"
+-
+-#: fortran/module.c:2898
+-#, no-c-format
+-msgid "Namelist %s cannot be renamed by USE association to %s"
+-msgstr ""
+-
+-#: fortran/module.c:3723
+-#, no-c-format
+-msgid "Symbol '%s' referenced at %L not found in module '%s'"
+-msgstr ""
+-
+-#: fortran/module.c:3730
+-#, no-c-format
+-msgid "User operator '%s' referenced at %L not found in module '%s'"
+-msgstr ""
+-
+-#: fortran/module.c:3735
+-#, no-c-format
+-msgid "Intrinsic operator '%s' referenced at %L not found in module '%s'"
+-msgstr ""
+-
+-#: fortran/module.c:4213
+-#, fuzzy, no-c-format
+-msgid "Can't open module file '%s' for writing at %C: %s"
+-msgstr "no es pot obrir %s per a escriptura"
+-
+-#: fortran/module.c:4251
+-#, fuzzy, no-c-format
+-msgid "Error writing module file '%s' for writing: %s"
+-msgstr "%s: error escrivint el fitxer \"%s\": %s\n"
+-
+-#: fortran/module.c:4281 fortran/module.c:4363
+-#, no-c-format
+-msgid "Symbol '%s' referenced at %L does not exist in intrinsic module ISO_C_BINDING."
+-msgstr ""
+-
+-#: fortran/module.c:4394
+-#, no-c-format
+-msgid "Symbol '%s' referenced at %L not found in intrinsic module ISO_C_BINDING"
+-msgstr ""
+-
+-#: fortran/module.c:4416
+-#, no-c-format
+-msgid "Symbol '%s' already declared"
+-msgstr ""
+-
+-#: fortran/module.c:4471
+-#, no-c-format
+-msgid "Use of intrinsic module '%s' at %C conflicts with non-intrinsic module name used previously"
+-msgstr ""
+-
+-#: fortran/module.c:4484
+-#, no-c-format
+-msgid "Symbol '%s' referenced at %L does not exist in intrinsic module ISO_FORTRAN_ENV"
+-msgstr ""
+-
+-#: fortran/module.c:4492
+-#, no-c-format
+-msgid "Use of the NUMERIC_STORAGE_SIZE named constant from intrinsic module ISO_FORTRAN_ENV at %L is incompatible with option %s"
+-msgstr ""
+-
+-#: fortran/module.c:4520
+-#, no-c-format
+-msgid "Use of the NUMERIC_STORAGE_SIZE named constant from intrinsic module ISO_FORTRAN_ENV at %C is incompatible with option %s"
+-msgstr ""
+-
+-#: fortran/module.c:4536
+-#, no-c-format
+-msgid "Symbol '%s' referenced at %L not found in intrinsic module ISO_FORTRAN_ENV"
+-msgstr ""
+-
+-#: fortran/module.c:4569
+-#, no-c-format
+-msgid "Fortran 2003: ISO_FORTRAN_ENV intrinsic module at %C"
+-msgstr ""
+-
+-#: fortran/module.c:4577
+-#, no-c-format
+-msgid "Fortran 2003: ISO_C_BINDING module at %C"
+-msgstr ""
+-
+-#: fortran/module.c:4587
+-#, no-c-format
+-msgid "Can't find an intrinsic module named '%s' at %C"
+-msgstr ""
+-
+-#: fortran/module.c:4592
+-#, fuzzy, no-c-format
+-msgid "Can't open module file '%s' for reading at %C: %s"
+-msgstr "%s: no es pot obrir el fitxer \"%s\" per a lectura: %s\n"
+-
+-#: fortran/module.c:4600
+-#, no-c-format
+-msgid "Use of non-intrinsic module '%s' at %C conflicts with intrinsic module name used previously"
+-msgstr ""
+-
+-#: fortran/module.c:4615
+-#, fuzzy
+-msgid "Unexpected end of module"
+-msgstr "símbol PIC inesperat"
+-
+-#: fortran/module.c:4620
+-#, no-c-format
+-msgid "File '%s' opened at %C is not a GFORTRAN module file"
+-msgstr ""
+-
+-#: fortran/module.c:4630
+-#, no-c-format
+-msgid "Can't USE the same module we're building!"
+-msgstr ""
+-
+-#: fortran/openmp.c:134 fortran/openmp.c:499
+-#, no-c-format
+-msgid "COMMON block /%s/ not found at %C"
+-msgstr ""
+-
+-#: fortran/openmp.c:165
+-#, fuzzy, no-c-format
+-msgid "Syntax error in OpenMP variable list at %C"
+-msgstr "errore sintàctic en la llista de paràmetre de macro"
+-
+-#: fortran/openmp.c:291
+-#, no-c-format
+-msgid "%s is not INTRINSIC procedure name at %C"
+-msgstr ""
+-
+-#: fortran/openmp.c:478
+-#, no-c-format
+-msgid "Threadprivate variable at %C is an element of a COMMON block"
+-msgstr ""
+-
+-#: fortran/openmp.c:518
+-#, no-c-format
+-msgid "Syntax error in !$OMP THREADPRIVATE list at %C"
+-msgstr ""
+-
+-#: fortran/openmp.c:696 fortran/resolve.c:5822 fortran/resolve.c:6133
+-#, no-c-format
+-msgid "IF clause at %L requires a scalar LOGICAL expression"
+-msgstr ""
+-
+-#: fortran/openmp.c:704
+-#, no-c-format
+-msgid "NUM_THREADS clause at %L requires a scalar INTEGER expression"
+-msgstr ""
+-
+-#: fortran/openmp.c:712
+-#, no-c-format
+-msgid "SCHEDULE clause's chunk_size at %L requires a scalar INTEGER expression"
+-msgstr ""
+-
+-#: fortran/openmp.c:726 fortran/openmp.c:736 fortran/openmp.c:743
+-#: fortran/openmp.c:753
+-#, no-c-format
+-msgid "Symbol '%s' present on multiple clauses at %L"
+-msgstr ""
+-
+-#: fortran/openmp.c:776
+-#, no-c-format
+-msgid "Non-THREADPRIVATE object '%s' in COPYIN clause at %L"
+-msgstr ""
+-
+-#: fortran/openmp.c:779
+-#, no-c-format
+-msgid "COPYIN clause object '%s' is ALLOCATABLE at %L"
+-msgstr ""
+-
+-#: fortran/openmp.c:782
+-#, no-c-format
+-msgid "COPYIN clause object '%s' at %L has ALLOCATABLE components"
+-msgstr ""
+-
+-#: fortran/openmp.c:790
+-#, no-c-format
+-msgid "Assumed size array '%s' in COPYPRIVATE clause at %L"
+-msgstr ""
+-
+-#: fortran/openmp.c:793
+-#, no-c-format
+-msgid "COPYPRIVATE clause object '%s' is ALLOCATABLE at %L"
+-msgstr ""
+-
+-#: fortran/openmp.c:796
+-#, no-c-format
+-msgid "COPYPRIVATE clause object '%s' at %L has ALLOCATABLE components"
+-msgstr ""
+-
+-#: fortran/openmp.c:804
+-#, no-c-format
+-msgid "THREADPRIVATE object '%s' in SHARED clause at %L"
+-msgstr ""
+-
+-#: fortran/openmp.c:807
+-#, no-c-format
+-msgid "Cray pointee '%s' in SHARED clause at %L"
+-msgstr ""
+-
+-#: fortran/openmp.c:815
+-#, no-c-format
+-msgid "THREADPRIVATE object '%s' in %s clause at %L"
+-msgstr ""
+-
+-#: fortran/openmp.c:818
+-#, no-c-format
+-msgid "Cray pointee '%s' in %s clause at %L"
+-msgstr ""
+-
+-#: fortran/openmp.c:823
+-#, no-c-format
+-msgid "POINTER object '%s' in %s clause at %L"
+-msgstr ""
+-
+-#: fortran/openmp.c:826
+-#, no-c-format
+-msgid "%s clause object '%s' is ALLOCATABLE at %L"
+-msgstr ""
+-
+-#: fortran/openmp.c:831
+-#, no-c-format
+-msgid "%s clause object '%s' has ALLOCATABLE components at %L"
+-msgstr ""
+-
+-#: fortran/openmp.c:834
+-#, no-c-format
+-msgid "Cray pointer '%s' in %s clause at %L"
+-msgstr ""
+-
+-#: fortran/openmp.c:838
+-#, no-c-format
+-msgid "Assumed size array '%s' in %s clause at %L"
+-msgstr ""
+-
+-#: fortran/openmp.c:843
+-#, no-c-format
+-msgid "Variable '%s' in %s clause is used in NAMELIST statement at %L"
+-msgstr ""
+-
+-#: fortran/openmp.c:852
+-#, no-c-format
+-msgid "%c REDUCTION variable '%s' at %L must be of numeric type, got %s"
+-msgstr ""
+-
+-#: fortran/openmp.c:863
+-#, no-c-format
+-msgid "%s REDUCTION variable '%s' must be LOGICAL at %L"
+-msgstr ""
+-
+-#: fortran/openmp.c:874
+-#, no-c-format
+-msgid "%s REDUCTION variable '%s' must be INTEGER or REAL at %L"
+-msgstr ""
+-
+-#: fortran/openmp.c:883
+-#, no-c-format
+-msgid "%s REDUCTION variable '%s' must be INTEGER at %L"
+-msgstr ""
+-
+-#: fortran/openmp.c:995
+-#, no-c-format
+-msgid "!$OMP ATOMIC statement must set a scalar variable of intrinsic type at %L"
+-msgstr ""
+-
+-#: fortran/openmp.c:1035
+-#, no-c-format
+-msgid "!$OMP ATOMIC assignment operator must be +, *, -, /, .AND., .OR., .EQV. or .NEQV. at %L"
+-msgstr ""
+-
+-#: fortran/openmp.c:1083
+-#, no-c-format
+-msgid "!$OMP ATOMIC assignment must be var = var op expr or var = expr op var at %L"
+-msgstr ""
+-
+-#: fortran/openmp.c:1097
+-#, no-c-format
+-msgid "!$OMP ATOMIC var = var op expr not mathematically equivalent to var = var op (expr) at %L"
+-msgstr ""
+-
+-#: fortran/openmp.c:1129
+-#, no-c-format
+-msgid "expr in !$OMP ATOMIC assignment var = var op expr must be scalar and cannot reference var at %L"
+-msgstr ""
+-
+-#: fortran/openmp.c:1153
+-#, no-c-format
+-msgid "!$OMP ATOMIC assignment intrinsic IAND, IOR or IEOR must have two arguments at %L"
+-msgstr ""
+-
+-#: fortran/openmp.c:1160
+-#, no-c-format
+-msgid "!$OMP ATOMIC assignment intrinsic must be MIN, MAX, IAND, IOR or IEOR at %L"
+-msgstr ""
+-
+-#: fortran/openmp.c:1176
+-#, no-c-format
+-msgid "!$OMP ATOMIC intrinsic arguments except one must not reference '%s' at %L"
+-msgstr ""
+-
+-#: fortran/openmp.c:1179
+-#, no-c-format
+-msgid "!$OMP ATOMIC intrinsic arguments must be scalar at %L"
+-msgstr ""
+-
+-#: fortran/openmp.c:1185
+-#, no-c-format
+-msgid "First or last !$OMP ATOMIC intrinsic argument must be '%s' at %L"
+-msgstr ""
+-
+-#: fortran/openmp.c:1203
+-#, no-c-format
+-msgid "!$OMP ATOMIC assignment must have an operator or intrinsic on right hand side at %L"
+-msgstr ""
+-
+-#: fortran/openmp.c:1305
+-#, no-c-format
+-msgid "!$OMP DO cannot be a DO WHILE or DO without loop control at %L"
+-msgstr ""
+-
+-#: fortran/openmp.c:1311
+-#, no-c-format
+-msgid "!$OMP DO iteration variable must be of type integer at %L"
+-msgstr ""
+-
+-#: fortran/openmp.c:1315
+-#, no-c-format
+-msgid "!$OMP DO iteration variable must not be THREADPRIVATE at %L"
+-msgstr ""
+-
+-#: fortran/openmp.c:1323
+-#, no-c-format
+-msgid "!$OMP DO iteration variable present on clause other than PRIVATE or LASTPRIVATE at %L"
+-msgstr ""
+-
+-#: fortran/options.c:219
+-#, no-c-format
+-msgid "Option -fwhole-program is not supported for Fortran"
+-msgstr ""
+-
+-#: fortran/options.c:273
+-#, no-c-format
+-msgid "Reading file '%s' as free form"
+-msgstr ""
+-
+-#: fortran/options.c:283
+-#, no-c-format
+-msgid "'-fd-lines-as-comments' has no effect in free form"
+-msgstr ""
+-
+-#: fortran/options.c:286
+-#, no-c-format
+-msgid "'-fd-lines-as-code' has no effect in free form"
+-msgstr ""
+-
+-#: fortran/options.c:312
+-#, no-c-format
+-msgid "Flag -fno-automatic overwrites -fmax-stack-var-size=%d"
+-msgstr ""
+-
+-#: fortran/options.c:315
+-#, no-c-format
+-msgid "Flag -fno-automatic overwrites -frecursive"
+-msgstr ""
+-
+-#: fortran/options.c:317
+-#, no-c-format
+-msgid "Flag -fno-automatic overwrites -frecursive implied by -fopenmp"
+-msgstr ""
+-
+-#: fortran/options.c:321
+-#, no-c-format
+-msgid "Flag -frecursive overwrites -fmax-stack-var-size=%d"
+-msgstr ""
+-
+-#: fortran/options.c:325
+-#, no-c-format
+-msgid "Flag -fmax-stack-var-size=%d overwrites -frecursive implied by -fopenmp"
+-msgstr ""
+-
+-#: fortran/options.c:392
+-#, c-format
+-msgid "gfortran: Only one -M option allowed\n"
+-msgstr ""
+-
+-#: fortran/options.c:398
+-#, c-format
+-msgid "gfortran: Directory required after -M\n"
+-msgstr ""
+-
+-#: fortran/options.c:443
+-#, no-c-format
+-msgid "Argument to -ffpe-trap is not valid: %s"
+-msgstr ""
+-
+-#: fortran/options.c:573
+-#, no-c-format
+-msgid "Fixed line length must be at least seven."
+-msgstr ""
+-
+-#: fortran/options.c:591
+-#, no-c-format
+-msgid "Free line length must be at least three."
+-msgstr ""
+-
+-#: fortran/options.c:605
+-#, fuzzy, no-c-format
+-msgid "-static-libgfortran is not supported in this configuration"
+-msgstr "%s no té suport en aquesta configuració"
+-
+-#: fortran/options.c:649
+-#, no-c-format
+-msgid "Maximum supported identifier length is %d"
+-msgstr ""
+-
+-#: fortran/options.c:681
+-#, fuzzy, no-c-format
+-msgid "Unrecognized option to -finit-logical: %s"
+-msgstr "opció \"-%s\" no reconeguda"
+-
+-#: fortran/options.c:695
+-#, fuzzy, no-c-format
+-msgid "Unrecognized option to -finit-real: %s"
+-msgstr "opció \"-%s\" no reconeguda"
+-
+-#: fortran/options.c:711
+-#, no-c-format
+-msgid "The value of n in -finit-character=n must be between 0 and 127"
+-msgstr ""
+-
+-#: fortran/options.c:794
+-#, no-c-format
+-msgid "Maximum subrecord length cannot exceed %d"
+-msgstr ""
+-
+-#: fortran/parse.c:304
+-#, fuzzy, no-c-format
+-msgid "Unclassifiable statement at %C"
+-msgstr "Falta l'especificador %A en la declaració en %0"
+-
+-#: fortran/parse.c:328
+-#, no-c-format
+-msgid "OpenMP directives at %C may not appear in PURE or ELEMENTAL procedures"
+-msgstr ""
+-
+-#: fortran/parse.c:406
+-#, no-c-format
+-msgid "Unclassifiable OpenMP directive at %C"
+-msgstr ""
+-
+-#: fortran/parse.c:445 fortran/parse.c:586
+-#, fuzzy, no-c-format
+-msgid "Zero is not a valid statement label at %C"
+-msgstr "\"%E\" no és un argument de patró vàlid"
+-
+-#: fortran/parse.c:452 fortran/parse.c:578
+-#, fuzzy, no-c-format
+-msgid "Non-numeric character in statement label at %C"
+-msgstr "Caràcter no numèric en %0 en el camp d'etiqueta [info -f g77 M LEX]"
+-
+-#: fortran/parse.c:464 fortran/parse.c:500 fortran/parse.c:626
+-#, no-c-format
+-msgid "Semicolon at %C needs to be preceded by statement"
+-msgstr ""
+-
+-#: fortran/parse.c:472 fortran/parse.c:638
+-#, no-c-format
+-msgid "Ignoring statement label in empty statement at %C"
+-msgstr ""
+-
+-#: fortran/parse.c:565 fortran/parse.c:605
+-#, no-c-format
+-msgid "Bad continuation line at %C"
+-msgstr ""
+-
+-#: fortran/parse.c:664
+-#, no-c-format
+-msgid "Line truncated at %C"
+-msgstr ""
+-
+-#: fortran/parse.c:841
+-#, no-c-format
+-msgid "FORMAT statement at %L does not have a statement label"
+-msgstr ""
+-
+-#: fortran/parse.c:913
+-msgid "arithmetic IF"
+-msgstr ""
+-
+-#: fortran/parse.c:919
+-#, fuzzy
+-msgid "attribute declaration"
+-msgstr "declaració buida"
+-
+-#: fortran/parse.c:949
+-#, fuzzy
+-msgid "data declaration"
+-msgstr "declaració buida"
+-
+-#: fortran/parse.c:958
+-#, fuzzy
+-msgid "derived type declaration"
+-msgstr "declaració buida"
+-
+-#: fortran/parse.c:1037
+-msgid "block IF"
+-msgstr ""
+-
+-#: fortran/parse.c:1046
+-msgid "implied END DO"
+-msgstr ""
+-
+-#: fortran/parse.c:1119
+-msgid "assignment"
+-msgstr "assignació"
+-
+-#: fortran/parse.c:1122
+-#, fuzzy
+-msgid "pointer assignment"
+-msgstr "assignació"
+-
+-#: fortran/parse.c:1131
+-msgid "simple IF"
+-msgstr ""
+-
+-#: fortran/parse.c:1347
+-#, fuzzy, no-c-format
+-msgid "Unexpected %s statement at %C"
+-msgstr "Falta l'especificador %A en la declaració en %0"
+-
+-#: fortran/parse.c:1486
+-#, fuzzy, no-c-format
+-msgid "%s statement at %C cannot follow %s statement at %L"
+-msgstr "La declaració en %0 no és vàlida en el context establert per la declaració en %1"
+-
+-#: fortran/parse.c:1503
+-#, fuzzy, no-c-format
+-msgid "Unexpected end of file in '%s'"
+-msgstr "EOF inesperat mentre es llegia el fitxer de codi font %s.\n"
+-
+-#: fortran/parse.c:1558
+-#, no-c-format
+-msgid "Fortran 2003: Derived type definition at %C without components"
+-msgstr ""
+-
+-#: fortran/parse.c:1569
+-#, no-c-format
+-msgid "PRIVATE statement in TYPE at %C must be inside a MODULE"
+-msgstr ""
+-
+-#: fortran/parse.c:1577
+-#, no-c-format
+-msgid "PRIVATE statement at %C must precede structure components"
+-msgstr ""
+-
+-#: fortran/parse.c:1585
+-#, fuzzy, no-c-format
+-msgid "Duplicate PRIVATE statement at %C"
+-msgstr "Coma faltant en la declaració FORMAT en %0"
+-
+-#: fortran/parse.c:1597
+-#, no-c-format
+-msgid "SEQUENCE statement at %C must precede structure components"
+-msgstr ""
+-
+-#: fortran/parse.c:1604
+-#, no-c-format
+-msgid "SEQUENCE attribute at %C already specified in TYPE statement"
+-msgstr ""
+-
+-#: fortran/parse.c:1609
+-#, no-c-format
+-msgid "Duplicate SEQUENCE statement at %C"
+-msgstr ""
+-
+-#: fortran/parse.c:1700
+-#, no-c-format
+-msgid "ENUM declaration at %C has no ENUMERATORS"
+-msgstr ""
+-
+-#: fortran/parse.c:1778
+-#, no-c-format
+-msgid "Unexpected %s statement in INTERFACE block at %C"
+-msgstr ""
+-
+-#: fortran/parse.c:1804
+-#, no-c-format
+-msgid "SUBROUTINE at %C does not belong in a generic function interface"
+-msgstr ""
+-
+-#: fortran/parse.c:1808
+-#, no-c-format
+-msgid "FUNCTION at %C does not belong in a generic subroutine interface"
+-msgstr ""
+-
+-#: fortran/parse.c:1818
+-#, no-c-format
+-msgid "Name '%s' of ABSTRACT INTERFACE at %C cannot be the same as an intrinsic type"
+-msgstr ""
+-
+-#: fortran/parse.c:1849
+-#, no-c-format
+-msgid "Unexpected %s statement at %C in INTERFACE body"
+-msgstr ""
+-
+-#: fortran/parse.c:1863
+-#, no-c-format
+-msgid "INTERFACE procedure '%s' at %L has the same name as the enclosing procedure"
+-msgstr ""
+-
+-#: fortran/parse.c:1958
+-#, no-c-format
+-msgid "%s statement must appear in a MODULE"
+-msgstr ""
+-
+-#: fortran/parse.c:1965
+-#, no-c-format
+-msgid "%s statement at %C follows another accessibility specification"
+-msgstr ""
+-
+-#: fortran/parse.c:2015
+-#, fuzzy, no-c-format
+-msgid "Bad kind expression for function '%s' at %L"
+-msgstr "classe d'emmagatzematge no vàlida per a la funció \"%s\""
+-
+-#: fortran/parse.c:2018
+-#, no-c-format
+-msgid "The type for function '%s' at %L is not accessible"
+-msgstr ""
+-
+-#: fortran/parse.c:2070
+-#, no-c-format
+-msgid "ELSEWHERE statement at %C follows previous unmasked ELSEWHERE"
+-msgstr ""
+-
+-#: fortran/parse.c:2091
+-#, no-c-format
+-msgid "Unexpected %s statement in WHERE block at %C"
+-msgstr ""
+-
+-#: fortran/parse.c:2150
+-#, no-c-format
+-msgid "Unexpected %s statement in FORALL block at %C"
+-msgstr ""
+-
+-#: fortran/parse.c:2201
+-#, fuzzy, no-c-format
+-msgid "ELSE IF statement at %C cannot follow ELSE statement at %L"
+-msgstr "La declaració PUBLIC o PRIVATE en %1 no es pot especificar juntament amb la declaració PUBLIC o PRIVATE en %0"
+-
+-#: fortran/parse.c:2219
+-#, no-c-format
+-msgid "Duplicate ELSE statements at %L and %C"
+-msgstr ""
+-
+-#: fortran/parse.c:2280
+-#, no-c-format
+-msgid "Expected a CASE or END SELECT statement following SELECT CASE at %C"
+-msgstr ""
+-
+-#: fortran/parse.c:2338
+-#, no-c-format
+-msgid "Variable '%s' at %C cannot be redefined inside loop beginning at %L"
+-msgstr ""
+-
+-#: fortran/parse.c:2372
+-#, no-c-format
+-msgid "End of nonblock DO statement at %C is within another block"
+-msgstr ""
+-
+-#: fortran/parse.c:2381
+-#, no-c-format
+-msgid "End of nonblock DO statement at %C is interwoven with another DO loop"
+-msgstr ""
+-
+-#: fortran/parse.c:2430
+-#, no-c-format
+-msgid "Statement label in ENDDO at %C doesn't match DO label"
+-msgstr ""
+-
+-#: fortran/parse.c:2446
+-#, no-c-format
+-msgid "named block DO at %L requires matching ENDDO name"
+-msgstr ""
+-
+-#: fortran/parse.c:2702
+-#, no-c-format
+-msgid "Name after !$omp critical and !$omp end critical does not match at %C"
+-msgstr ""
+-
+-#: fortran/parse.c:2758
+-#, no-c-format
+-msgid "%s statement at %C cannot terminate a non-block DO loop"
+-msgstr ""
+-
+-#: fortran/parse.c:2943
+-#, no-c-format
+-msgid "Contained procedure '%s' at %C is already ambiguous"
+-msgstr ""
+-
+-#: fortran/parse.c:2993
+-#, no-c-format
+-msgid "Unexpected %s statement in CONTAINS section at %C"
+-msgstr ""
+-
+-#. This is valid in Fortran 2008.
+-#: fortran/parse.c:3018
+-#, no-c-format
+-msgid "Extension: CONTAINS statement without FUNCTION or SUBROUTINE statement at %C"
+-msgstr ""
+-
+-#: fortran/parse.c:3089
+-#, fuzzy, no-c-format
+-msgid "CONTAINS statement at %C is already in a contained program unit"
+-msgstr "La declaració RETURN en %0 no és vàlida dintre d'una unitat de programa principal"
+-
+-#: fortran/parse.c:3138
+-#, no-c-format
+-msgid "Global name '%s' at %L is already being used as a %s at %L"
+-msgstr ""
+-
+-#: fortran/parse.c:3159
+-#, no-c-format
+-msgid "Blank BLOCK DATA at %C conflicts with prior BLOCK DATA at %L"
+-msgstr ""
+-
+-#: fortran/parse.c:3185
+-#, no-c-format
+-msgid "Unexpected %s statement in BLOCK DATA at %C"
+-msgstr ""
+-
+-#: fortran/parse.c:3228
+-#, no-c-format
+-msgid "Unexpected %s statement in MODULE at %C"
+-msgstr ""
+-
+-#. If we see a duplicate main program, shut down. If the second
+-#. instance is an implied main program, ie data decls or executable
+-#. statements, we're in for lots of errors.
+-#: fortran/parse.c:3416
+-#, no-c-format
+-msgid "Two main PROGRAMs at %L and %C"
+-msgstr ""
+-
+-#: fortran/primary.c:87
+-#, fuzzy, no-c-format
+-msgid "Missing kind-parameter at %C"
+-msgstr "falta parèntesi dret en la llista de paràmetres de macro"
+-
+-#: fortran/primary.c:210
+-#, fuzzy, no-c-format
+-msgid "Integer kind %d at %C not available"
+-msgstr "la funció cso no és disponible"
+-
+-#: fortran/primary.c:218
+-#, no-c-format
+-msgid "Integer too big for its kind at %C. This check can be disabled with the option -fno-range-check"
+-msgstr ""
+-
+-#: fortran/primary.c:247
+-#, no-c-format
+-msgid "Extension: Hollerith constant at %C"
+-msgstr ""
+-
+-#: fortran/primary.c:259
+-#, no-c-format
+-msgid "Invalid Hollerith constant: %L must contain at least one character"
+-msgstr ""
+-
+-#: fortran/primary.c:265
+-#, no-c-format
+-msgid "Invalid Hollerith constant: Integer kind at %L should be default"
+-msgstr ""
+-
+-#: fortran/primary.c:353
+-#, no-c-format
+-msgid "Extension: Hexadecimal constant at %C uses non-standard syntax."
+-msgstr ""
+-
+-#: fortran/primary.c:363
+-#, no-c-format
+-msgid "Empty set of digits in BOZ constant at %C"
+-msgstr ""
+-
+-#: fortran/primary.c:369
+-#, fuzzy, no-c-format
+-msgid "Illegal character in BOZ constant at %C"
+-msgstr "Constant de caràcter de longitud zero en %0"
+-
+-#: fortran/primary.c:391
+-#, no-c-format
+-msgid "Extension: BOZ constant at %C uses non-standard postfix syntax."
+-msgstr ""
+-
+-#: fortran/primary.c:417
+-#, no-c-format
+-msgid "Integer too big for integer kind %i at %C"
+-msgstr ""
+-
+-#: fortran/primary.c:517
+-#, fuzzy, no-c-format
+-msgid "Missing exponent in real number at %C"
+-msgstr "Falta un valor en %1 per a l'exponent de nombre real en %0"
+-
+-#: fortran/primary.c:573
+-#, no-c-format
+-msgid "Real number at %C has a 'd' exponent and an explicit kind"
+-msgstr ""
+-
+-#: fortran/primary.c:586
+-#, no-c-format
+-msgid "Invalid real kind %d at %C"
+-msgstr ""
+-
+-#: fortran/primary.c:600
+-#, no-c-format
+-msgid "Real constant overflows its kind at %C"
+-msgstr ""
+-
+-#: fortran/primary.c:605
+-#, no-c-format
+-msgid "Real constant underflows its kind at %C"
+-msgstr ""
+-
+-#: fortran/primary.c:697
+-#, fuzzy, no-c-format
+-msgid "Syntax error in SUBSTRING specification at %C"
+-msgstr "error de decodificació en l'especificació del mètode"
+-
+-#: fortran/primary.c:902
+-#, no-c-format
+-msgid "Invalid kind %d for CHARACTER constant at %C"
+-msgstr ""
+-
+-#: fortran/primary.c:923
+-#, fuzzy, no-c-format
+-msgid "Unterminated character constant beginning at %C"
+-msgstr "Constant de caràcter de longitud zero en %0"
+-
+-#: fortran/primary.c:1035
+-#, no-c-format
+-msgid "Bad kind for logical constant at %C"
+-msgstr ""
+-
+-#: fortran/primary.c:1074
+-#, no-c-format
+-msgid "Expected PARAMETER symbol in complex constant at %C"
+-msgstr ""
+-
+-#: fortran/primary.c:1080
+-#, no-c-format
+-msgid "Numeric PARAMETER required in complex constant at %C"
+-msgstr ""
+-
+-#: fortran/primary.c:1086
+-#, no-c-format
+-msgid "Scalar PARAMETER required in complex constant at %C"
+-msgstr ""
+-
+-#: fortran/primary.c:1090
+-#, no-c-format
+-msgid "Fortran 2003: PARAMETER symbol in complex constant at %C"
+-msgstr ""
+-
+-#: fortran/primary.c:1120
+-#, no-c-format
+-msgid "Error converting PARAMETER constant in complex constant at %C"
+-msgstr ""
+-
+-#: fortran/primary.c:1249
+-#, no-c-format
+-msgid "Syntax error in COMPLEX constant at %C"
+-msgstr ""
+-
+-#: fortran/primary.c:1430
+-#, no-c-format
+-msgid "Keyword '%s' at %C has already appeared in the current argument list"
+-msgstr ""
+-
+-#: fortran/primary.c:1494
+-#, fuzzy, no-c-format
+-msgid "Extension: argument list function at %C"
+-msgstr "massa arguments per a la funció \"%s\""
+-
+-#: fortran/primary.c:1561
+-#, no-c-format
+-msgid "Expected alternate return label at %C"
+-msgstr ""
+-
+-#: fortran/primary.c:1579
+-#, no-c-format
+-msgid "Missing keyword name in actual argument list at %C"
+-msgstr ""
+-
+-#: fortran/primary.c:1624
+-#, fuzzy, no-c-format
+-msgid "Syntax error in argument list at %C"
+-msgstr "errore sintàctic en la llista de paràmetre de macro"
+-
+-#: fortran/primary.c:1708
+-#, no-c-format
+-msgid "Expected structure component name at %C"
+-msgstr ""
+-
+-#: fortran/primary.c:1961
+-#, no-c-format
+-msgid "Too many components in structure constructor at %C"
+-msgstr ""
+-
+-#: fortran/primary.c:1974
+-#, no-c-format
+-msgid "Structure constructor for '%s' at %C has PRIVATE components"
+-msgstr ""
+-
+-#: fortran/primary.c:1984
+-#, no-c-format
+-msgid "Too few components in structure constructor at %C"
+-msgstr ""
+-
+-#: fortran/primary.c:2002
+-#, no-c-format
+-msgid "Syntax error in structure constructor at %C"
+-msgstr ""
+-
+-#: fortran/primary.c:2086
+-#, no-c-format
+-msgid "'%s' 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.c:2188
+-#, no-c-format
+-msgid "Unexpected use of subroutine name '%s' at %C"
+-msgstr ""
+-
+-#: fortran/primary.c:2219
+-#, no-c-format
+-msgid "Statement function '%s' requires argument list at %C"
+-msgstr ""
+-
+-#: fortran/primary.c:2222
+-#, fuzzy, no-c-format
+-msgid "Function '%s' requires an argument list at %C"
+-msgstr "\"union %s\" declarat dintre d'una llista de paràmetres"
+-
+-#: fortran/primary.c:2267
+-#, fuzzy, no-c-format
+-msgid "Missing argument to '%s' at %C"
+-msgstr "Falten arguments per a l'opció \"%s\""
+-
+-#: fortran/primary.c:2408
+-#, fuzzy, no-c-format
+-msgid "Missing argument list in function '%s' at %C"
+-msgstr "Falten arguments per a l'opció \"%s\""
+-
+-#: fortran/primary.c:2436
+-#, fuzzy, no-c-format
+-msgid "Symbol at %C is not appropriate for an expression"
+-msgstr "desbordament de coma flotant en l'expressió"
+-
+-#: fortran/primary.c:2504
+-#, no-c-format
+-msgid "Assigning to PROTECTED variable at %C"
+-msgstr ""
+-
+-#: fortran/primary.c:2520
+-#, no-c-format
+-msgid "Named constant at %C in an EQUIVALENCE"
+-msgstr ""
+-
+-#: fortran/primary.c:2543
+-#, no-c-format
+-msgid "Expected VARIABLE at %C"
+-msgstr ""
+-
+-#: fortran/resolve.c:120
+-#, fuzzy, no-c-format
+-msgid "Alternate return specifier in elemental subroutine '%s' at %L is not allowed"
+-msgstr "L'especificador de retorn alternatiu en %0 no és vàlid dintre d'una funció"
+-
+-#: fortran/resolve.c:124
+-#, fuzzy, no-c-format
+-msgid "Alternate return specifier in function '%s' at %L is not allowed"
+-msgstr "L'especificador de retorn alternatiu en %0 no és vàlid dintre d'una funció"
+-
+-#: fortran/resolve.c:137
+-#, no-c-format
+-msgid "Dummy procedure '%s' of PURE procedure at %L must also be PURE"
+-msgstr ""
+-
+-#: fortran/resolve.c:144
+-#, no-c-format
+-msgid "Dummy procedure at %L not allowed in ELEMENTAL procedure"
+-msgstr ""
+-
+-#: fortran/resolve.c:157 fortran/resolve.c:1080
+-#, no-c-format
+-msgid "Unable to find a specific INTRINSIC procedure for the reference '%s' at %L"
+-msgstr ""
+-
+-#: fortran/resolve.c:201
+-#, no-c-format
+-msgid "Argument '%s' of pure function '%s' at %L must be INTENT(IN)"
+-msgstr ""
+-
+-#: fortran/resolve.c:206
+-#, no-c-format
+-msgid "Argument '%s' of pure subroutine '%s' at %L must have its INTENT specified"
+-msgstr ""
+-
+-#: fortran/resolve.c:215
+-#, no-c-format
+-msgid "Argument '%s' of elemental procedure at %L must be scalar"
+-msgstr ""
+-
+-#: fortran/resolve.c:222
+-#, no-c-format
+-msgid "Argument '%s' of elemental procedure at %L cannot have the POINTER attribute"
+-msgstr ""
+-
+-#: fortran/resolve.c:234
+-#, no-c-format
+-msgid "Argument '%s' of statement function at %L must be scalar"
+-msgstr ""
+-
+-#: fortran/resolve.c:244
+-#, no-c-format
+-msgid "Character-valued argument '%s' of statement function at %L must have constant length"
+-msgstr ""
+-
+-#: fortran/resolve.c:299
+-#, no-c-format
+-msgid "Contained function '%s' at %L has no IMPLICIT type"
+-msgstr ""
+-
+-#: fortran/resolve.c:302
+-#, no-c-format
+-msgid "Result '%s' of contained function '%s' at %L has no IMPLICIT type"
+-msgstr ""
+-
+-#: fortran/resolve.c:319
+-#, no-c-format
+-msgid "Character-valued internal function '%s' at %L must not be assumed length"
+-msgstr ""
+-
+-#: fortran/resolve.c:490
+-#, no-c-format
+-msgid "Procedure %s at %L has entries with mismatched array specifications"
+-msgstr ""
+-
+-#: fortran/resolve.c:516
+-#, no-c-format
+-msgid "FUNCTION result %s can't be an array in FUNCTION %s at %L"
+-msgstr ""
+-
+-#: fortran/resolve.c:520
+-#, no-c-format
+-msgid "ENTRY result %s can't be an array in FUNCTION %s at %L"
+-msgstr ""
+-
+-#: fortran/resolve.c:527
+-#, no-c-format
+-msgid "FUNCTION result %s can't be a POINTER in FUNCTION %s at %L"
+-msgstr ""
+-
+-#: fortran/resolve.c:531
+-#, no-c-format
+-msgid "ENTRY result %s can't be a POINTER in FUNCTION %s at %L"
+-msgstr ""
+-
+-#: fortran/resolve.c:569
+-#, no-c-format
+-msgid "FUNCTION result %s can't be of type %s in FUNCTION %s at %L"
+-msgstr ""
+-
+-#: fortran/resolve.c:574
+-#, no-c-format
+-msgid "ENTRY result %s can't be of type %s in FUNCTION %s at %L"
+-msgstr ""
+-
+-#: fortran/resolve.c:643
+-#, no-c-format
+-msgid "Derived type variable '%s' in COMMON at %L has neither the SEQUENCE nor the BIND(C) attribute"
+-msgstr ""
+-
+-#: fortran/resolve.c:647
+-#, no-c-format
+-msgid "Derived type variable '%s' in COMMON at %L has an ultimate component that is allocatable"
+-msgstr ""
+-
+-#: fortran/resolve.c:651
+-#, no-c-format
+-msgid "Derived type variable '%s' in COMMON at %L may not have default initializer"
+-msgstr ""
+-
+-#: fortran/resolve.c:661
+-#, no-c-format
+-msgid "COMMON block '%s' at %L is used as PARAMETER at %L"
+-msgstr ""
+-
+-#: fortran/resolve.c:665
+-#, no-c-format
+-msgid "COMMON block '%s' at %L is also an intrinsic procedure"
+-msgstr ""
+-
+-#: fortran/resolve.c:669
+-#, no-c-format
+-msgid "Fortran 2003: COMMON block '%s' at %L that is also a function result"
+-msgstr ""
+-
+-#: fortran/resolve.c:674
+-#, no-c-format
+-msgid "Fortran 2003: COMMON block '%s' at %L that is also a global procedure"
+-msgstr ""
+-
+-#: fortran/resolve.c:736
+-#, no-c-format
+-msgid "Components of structure constructor '%s' at %L are PRIVATE"
+-msgstr ""
+-
+-#: fortran/resolve.c:756
+-#, no-c-format
+-msgid "The rank of the element in the derived type constructor at %L does not match that of the component (%d/%d)"
+-msgstr ""
+-
+-#: fortran/resolve.c:769
+-#, no-c-format
+-msgid "The element in the derived type constructor at %L, for pointer component '%s', is %s but should be %s"
+-msgstr ""
+-
+-#: fortran/resolve.c:786
+-#, no-c-format
+-msgid "The element in the derived type constructor at %L, for pointer component '%s' should be a POINTER or a TARGET"
+-msgstr ""
+-
+-#: fortran/resolve.c:913
+-#, no-c-format
+-msgid "The upper bound in the last dimension must appear in the reference to the assumed size array '%s' at %L"
+-msgstr ""
+-
+-#: fortran/resolve.c:976 fortran/resolve.c:5434 fortran/resolve.c:6098
+-#, fuzzy, no-c-format
+-msgid "Label %d referenced at %L is never defined"
+-msgstr "L'etiqueta %A ja es va definir en %1 quan es va redefinir en %0"
+-
+-#: fortran/resolve.c:986
+-#, fuzzy, no-c-format
+-msgid "'%s' at %L is ambiguous"
+-msgstr "l'ús de \"%D\" és ambigu"
+-
+-#: fortran/resolve.c:1018
+-#, no-c-format
+-msgid "Statement function '%s' at %L is not allowed as an actual argument"
+-msgstr ""
+-
+-#: fortran/resolve.c:1026
+-#, no-c-format
+-msgid "Intrinsic '%s' at %L is not allowed as an actual argument"
+-msgstr ""
+-
+-#: fortran/resolve.c:1033
+-#, no-c-format
+-msgid "Internal procedure '%s' is not allowed as an actual argument at %L"
+-msgstr ""
+-
+-#: fortran/resolve.c:1039
+-#, no-c-format
+-msgid "ELEMENTAL non-INTRINSIC procedure '%s' is not allowed as an actual argument at %L"
+-msgstr ""
+-
+-#: fortran/resolve.c:1059
+-#, no-c-format
+-msgid "GENERIC procedure '%s' is not allowed as an actual argument at %L"
+-msgstr ""
+-
+-#: fortran/resolve.c:1098
+-#, fuzzy, no-c-format
+-msgid "Symbol '%s' at %L is ambiguous"
+-msgstr "l'ús de \"%D\" és ambigu"
+-
+-#: fortran/resolve.c:1143
+-#, no-c-format
+-msgid "By-value argument at %L is not of numeric type"
+-msgstr ""
+-
+-#: fortran/resolve.c:1150
+-#, no-c-format
+-msgid "By-value argument at %L cannot be an array or an array section"
+-msgstr ""
+-
+-#: fortran/resolve.c:1164
+-#, fuzzy, no-c-format
+-msgid "By-value argument at %L is not allowed in this context"
+-msgstr "La declaració en %0 no és vàlida en aquest context"
+-
+-#: fortran/resolve.c:1176
+-#, no-c-format
+-msgid "Passing internal procedure at %L by location not allowed"
+-msgstr ""
+-
+-#: fortran/resolve.c:1293
+-#, no-c-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)"
+-msgstr ""
+-
+-#: fortran/resolve.c:1315
+-msgid "elemental procedure"
+-msgstr ""
+-
+-#: fortran/resolve.c:1332
+-#, no-c-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"
+-msgstr ""
+-
+-#: fortran/resolve.c:1466
+-#, no-c-format
+-msgid "There is no specific function for the generic '%s' at %L"
+-msgstr ""
+-
+-#: fortran/resolve.c:1475
+-#, no-c-format
+-msgid "Generic function '%s' at %L is not consistent with a specific intrinsic interface"
+-msgstr ""
+-
+-#: fortran/resolve.c:1513
+-#, no-c-format
+-msgid "Function '%s' at %L is INTRINSIC but is not compatible with an intrinsic"
+-msgstr ""
+-
+-#: fortran/resolve.c:1559
+-#, no-c-format
+-msgid "Unable to resolve the specific function '%s' at %L"
+-msgstr ""
+-
+-#: fortran/resolve.c:1615 fortran/resolve.c:8740
+-#, no-c-format
+-msgid "Function '%s' at %L has no IMPLICIT type"
+-msgstr ""
+-
+-#: fortran/resolve.c:1799
+-#, fuzzy, no-c-format
+-msgid "Argument to '%s' at %L is not a variable"
+-msgstr "l'argument de l'atribut \"%s\" no es una cadena constant"
+-
+-#: fortran/resolve.c:1871
+-#, no-c-format
+-msgid "More actual than formal arguments in '%s' call at %L"
+-msgstr ""
+-
+-#: fortran/resolve.c:1883
+-#, no-c-format
+-msgid "Parameter '%s' to '%s' at %L must be either a TARGET or an associated pointer"
+-msgstr ""
+-
+-#: fortran/resolve.c:1909
+-#, no-c-format
+-msgid "Allocatable variable '%s' used as a parameter to '%s' at %L must not be an array of zero size"
+-msgstr ""
+-
+-#: fortran/resolve.c:1926
+-#, no-c-format
+-msgid "Assumed-shape array '%s' at %L cannot be an argument to the procedure '%s' because it is not C interoperable"
+-msgstr ""
+-
+-#: fortran/resolve.c:1936
+-#, no-c-format
+-msgid "Deferred-shape array '%s' at %L cannot be an argument to the procedure '%s' because it is not C interoperable"
+-msgstr ""
+-
+-#: fortran/resolve.c:1959 fortran/resolve.c:1998
+-#, no-c-format
+-msgid "CHARACTER argument '%s' to '%s' at %L must have a length of 1"
+-msgstr ""
+-
+-#. Case 1c, section 15.1.2.5, J3/04-007: an associated
+-#. scalar pointer.
+-#: fortran/resolve.c:1974
+-#, no-c-format
+-msgid "Argument '%s' to '%s' at %L must be an associated scalar POINTER"
+-msgstr ""
+-
+-#: fortran/resolve.c:1990
+-#, no-c-format
+-msgid "Parameter '%s' to '%s' at %L must be a scalar"
+-msgstr ""
+-
+-#. TODO: Update this error message to allow for procedure
+-#. pointers once they are implemented.
+-#: fortran/resolve.c:2012
+-#, no-c-format
+-msgid "Parameter '%s' to '%s' at %L must be a procedure"
+-msgstr ""
+-
+-#: fortran/resolve.c:2020
+-#, no-c-format
+-msgid "Parameter '%s' to '%s' at %L must be BIND(C)"
+-msgstr ""
+-
+-#: fortran/resolve.c:2062
+-#, fuzzy, no-c-format
+-msgid "'%s' at %L is not a function"
+-msgstr "\"%D\" no és una funció,"
+-
+-#: fortran/resolve.c:2068
+-#, no-c-format
+-msgid "ABSTRACT INTERFACE '%s' must not be referenced at %L"
+-msgstr ""
+-
+-#. Internal procedures are taken care of in resolve_contained_fntype.
+-#: fortran/resolve.c:2111
+-#, no-c-format
+-msgid "Function '%s' is declared CHARACTER(*) and cannot be used at %L since it is not a dummy argument"
+-msgstr ""
+-
+-#: fortran/resolve.c:2164
+-#, no-c-format
+-msgid "User defined non-ELEMENTAL function '%s' at %L not allowed in WORKSHARE construct"
+-msgstr ""
+-
+-#: fortran/resolve.c:2213
+-#, no-c-format
+-msgid "reference to non-PURE function '%s' at %L inside a FORALL %s"
+-msgstr ""
+-
+-#: fortran/resolve.c:2220
+-#, no-c-format
+-msgid "Function reference to '%s' at %L is to a non-PURE procedure within a PURE procedure"
+-msgstr ""
+-
+-#: fortran/resolve.c:2235
+-#, no-c-format
+-msgid "Function '%s' at %L cannot call itself, as it is not RECURSIVE"
+-msgstr ""
+-
+-#: fortran/resolve.c:2243
+-#, no-c-format
+-msgid "Call to ENTRY '%s' at %L is recursive, but function '%s' is not declared as RECURSIVE"
+-msgstr ""
+-
+-#: fortran/resolve.c:2285
+-#, no-c-format
+-msgid "Subroutine call to '%s' in FORALL block at %L is not PURE"
+-msgstr ""
+-
+-#: fortran/resolve.c:2288
+-#, no-c-format
+-msgid "Subroutine call to '%s' at %L is not PURE"
+-msgstr ""
+-
+-#: fortran/resolve.c:2351
+-#, no-c-format
+-msgid "There is no specific subroutine for the generic '%s' at %L"
+-msgstr ""
+-
+-#: fortran/resolve.c:2360
+-#, no-c-format
+-msgid "Generic subroutine '%s' at %L is not consistent with an intrinsic subroutine interface"
+-msgstr ""
+-
+-#: fortran/resolve.c:2468
+-#, no-c-format
+-msgid "Missing SHAPE parameter for call to %s at %L"
+-msgstr ""
+-
+-#: fortran/resolve.c:2476
+-#, no-c-format
+-msgid "SHAPE parameter for call to %s at %L must be a rank 1 INTEGER array"
+-msgstr ""
+-
+-#: fortran/resolve.c:2543
+-#, no-c-format
+-msgid "Subroutine '%s' at %L is INTRINSIC but is not compatible with an intrinsic"
+-msgstr ""
+-
+-#: fortran/resolve.c:2587
+-#, no-c-format
+-msgid "Unable to resolve the specific subroutine '%s' at %L"
+-msgstr ""
+-
+-#: fortran/resolve.c:2644
+-#, no-c-format
+-msgid "'%s' at %L has a type, which is not consistent with the CALL at %L"
+-msgstr ""
+-
+-#: fortran/resolve.c:2663
+-#, no-c-format
+-msgid "SUBROUTINE '%s' at %L cannot call itself, as it is not RECURSIVE"
+-msgstr ""
+-
+-#: fortran/resolve.c:2671
+-#, no-c-format
+-msgid "Call to ENTRY '%s' at %L is recursive, but subroutine '%s' is not declared as RECURSIVE"
+-msgstr ""
+-
+-#: fortran/resolve.c:2741
+-#, no-c-format
+-msgid "Shapes for operands at %L and %L are not conformable"
+-msgstr ""
+-
+-#: fortran/resolve.c:2792
+-#, c-format
+-msgid "Invalid context for NULL() pointer at %%L"
+-msgstr ""
+-
+-#: fortran/resolve.c:2808
+-#, c-format
+-msgid "Operand of unary numeric operator '%s' at %%L is %s"
+-msgstr ""
+-
+-#: fortran/resolve.c:2824
+-#, c-format
+-msgid "Operands of binary numeric operator '%s' at %%L are %s/%s"
+-msgstr ""
+-
+-#: fortran/resolve.c:2838
+-#, c-format
+-msgid "Operands of string concatenation operator at %%L are %s/%s"
+-msgstr ""
+-
+-#: fortran/resolve.c:2857
+-#, c-format
+-msgid "Operands of logical operator '%s' at %%L are %s/%s"
+-msgstr ""
+-
+-#: fortran/resolve.c:2871
+-#, c-format
+-msgid "Operand of .not. operator at %%L is %s"
+-msgstr ""
+-
+-#: fortran/resolve.c:2885
+-#, fuzzy
+-msgid "COMPLEX quantities cannot be compared at %L"
+-msgstr "els qualificadors \"%V\" no es poden aplicar a \"%T\""
+-
+-#: fortran/resolve.c:2913
+-#, c-format
+-msgid "Logicals at %%L must be compared with %s instead of %s"
+-msgstr ""
+-
+-#: fortran/resolve.c:2919
+-#, c-format
+-msgid "Operands of comparison operator '%s' at %%L are %s/%s"
+-msgstr ""
+-
+-#: fortran/resolve.c:2927
+-#, c-format
+-msgid "Unknown operator '%s' at %%L"
+-msgstr ""
+-
+-#: fortran/resolve.c:2929
+-#, c-format
+-msgid "Operand of user operator '%s' at %%L is %s"
+-msgstr ""
+-
+-#: fortran/resolve.c:2932
+-#, c-format
+-msgid "Operands of user operator '%s' at %%L are %s/%s"
+-msgstr ""
+-
+-#: fortran/resolve.c:3018
+-#, c-format
+-msgid "Inconsistent ranks for operator at %%L and %%L"
+-msgstr ""
+-
+-#: fortran/resolve.c:3212
+-#, no-c-format
+-msgid "Array reference at %L is out of bounds (%ld < %ld) in dimension %d"
+-msgstr ""
+-
+-#: fortran/resolve.c:3220
+-#, no-c-format
+-msgid "Array reference at %L is out of bounds (%ld > %ld) in dimension %d"
+-msgstr ""
+-
+-#: fortran/resolve.c:3239
+-#, no-c-format
+-msgid "Illegal stride of zero at %L"
+-msgstr ""
+-
+-#: fortran/resolve.c:3256
+-#, no-c-format
+-msgid "Lower array reference at %L is out of bounds (%ld < %ld) in dimension %d"
+-msgstr ""
+-
+-#: fortran/resolve.c:3264
+-#, no-c-format
+-msgid "Lower array reference at %L is out of bounds (%ld > %ld) in dimension %d"
+-msgstr ""
+-
+-#: fortran/resolve.c:3280
+-#, no-c-format
+-msgid "Upper array reference at %L is out of bounds (%ld < %ld) in dimension %d"
+-msgstr ""
+-
+-#: fortran/resolve.c:3289
+-#, no-c-format
+-msgid "Upper array reference at %L is out of bounds (%ld > %ld) in dimension %d"
+-msgstr ""
+-
+-#: fortran/resolve.c:3328
+-#, no-c-format
+-msgid "Rightmost upper bound of assumed size array section not specified at %L"
+-msgstr ""
+-
+-#: fortran/resolve.c:3338
+-#, no-c-format
+-msgid "Rank mismatch in array reference at %L (%d/%d)"
+-msgstr ""
+-
+-#: fortran/resolve.c:3366
+-#, no-c-format
+-msgid "Array index at %L must be scalar"
+-msgstr ""
+-
+-#: fortran/resolve.c:3372
+-#, no-c-format
+-msgid "Array index at %L must be of INTEGER type"
+-msgstr ""
+-
+-#: fortran/resolve.c:3378
+-#, no-c-format
+-msgid "Extension: REAL array index at %L"
+-msgstr ""
+-
+-#: fortran/resolve.c:3408
+-#, no-c-format
+-msgid "Argument dim at %L must be scalar"
+-msgstr ""
+-
+-#: fortran/resolve.c:3414
+-#, no-c-format
+-msgid "Argument dim at %L must be of INTEGER type"
+-msgstr ""
+-
+-#: fortran/resolve.c:3534
+-#, no-c-format
+-msgid "Array index at %L is an array of rank %d"
+-msgstr ""
+-
+-#: fortran/resolve.c:3571
+-#, no-c-format
+-msgid "Substring start index at %L must be of type INTEGER"
+-msgstr ""
+-
+-#: fortran/resolve.c:3578
+-#, no-c-format
+-msgid "Substring start index at %L must be scalar"
+-msgstr ""
+-
+-#: fortran/resolve.c:3587
+-#, no-c-format
+-msgid "Substring start index at %L is less than one"
+-msgstr ""
+-
+-#: fortran/resolve.c:3600
+-#, no-c-format
+-msgid "Substring end index at %L must be of type INTEGER"
+-msgstr ""
+-
+-#: fortran/resolve.c:3607
+-#, fuzzy, no-c-format
+-msgid "Substring end index at %L must be scalar"
+-msgstr "El punt d'inici/fi de la subcadena en %0 està fora del rang definit"
+-
+-#: fortran/resolve.c:3617
+-#, no-c-format
+-msgid "Substring end index at %L exceeds the string length"
+-msgstr ""
+-
+-#: fortran/resolve.c:3755
+-#, no-c-format
+-msgid "Component to the right of a part reference with nonzero rank must not have the POINTER attribute at %L"
+-msgstr ""
+-
+-#: fortran/resolve.c:3762
+-#, no-c-format
+-msgid "Component to the right of a part reference with nonzero rank must not have the ALLOCATABLE attribute at %L"
+-msgstr ""
+-
+-#: fortran/resolve.c:3781
+-#, no-c-format
+-msgid "Two or more part references with nonzero rank must not be specified at %L"
+-msgstr ""
+-
+-#: fortran/resolve.c:3956
+-#, no-c-format
+-msgid "Variable '%s', used in a specification expression, is referenced at %L before the ENTRY statement in which it is a parameter"
+-msgstr ""
+-
+-#: fortran/resolve.c:3961
+-#, no-c-format
+-msgid "Variable '%s' is used at %L before the ENTRY statement in which it is a parameter"
+-msgstr ""
+-
+-#: fortran/resolve.c:4238
+-#, no-c-format
+-msgid "%s at %L must be a scalar"
+-msgstr ""
+-
+-#: fortran/resolve.c:4248
+-#, no-c-format
+-msgid "Deleted feature: %s at %L must be integer"
+-msgstr ""
+-
+-#: fortran/resolve.c:4252 fortran/resolve.c:4259
+-#, no-c-format
+-msgid "%s at %L must be INTEGER"
+-msgstr ""
+-
+-#: fortran/resolve.c:4279
+-#, no-c-format
+-msgid "Cannot assign to loop variable in PURE procedure at %L"
+-msgstr ""
+-
+-#: fortran/resolve.c:4303
+-#, no-c-format
+-msgid "Step expression in DO loop at %L cannot be zero"
+-msgstr ""
+-
+-#: fortran/resolve.c:4378
+-#, no-c-format
+-msgid "FORALL index-name at %L must be a scalar INTEGER"
+-msgstr ""
+-
+-#: fortran/resolve.c:4383
+-#, no-c-format
+-msgid "FORALL start expression at %L must be a scalar INTEGER"
+-msgstr ""
+-
+-#: fortran/resolve.c:4390
+-#, no-c-format
+-msgid "FORALL end expression at %L must be a scalar INTEGER"
+-msgstr ""
+-
+-#: fortran/resolve.c:4398
+-#, no-c-format
+-msgid "FORALL stride expression at %L must be a scalar %s"
+-msgstr ""
+-
+-#: fortran/resolve.c:4403
+-#, no-c-format
+-msgid "FORALL stride expression at %L cannot be zero"
+-msgstr ""
+-
+-#: fortran/resolve.c:4419
+-#, no-c-format
+-msgid "FORALL index '%s' may not appear in triplet specification at %L"
+-msgstr ""
+-
+-#: fortran/resolve.c:4499
+-#, no-c-format
+-msgid "Expression in DEALLOCATE statement at %L must be ALLOCATABLE or a POINTER"
+-msgstr ""
+-
+-#: fortran/resolve.c:4506
+-#, no-c-format
+-msgid "Cannot deallocate INTENT(IN) variable '%s' at %L"
+-msgstr ""
+-
+-#: fortran/resolve.c:4675
+-#, no-c-format
+-msgid "The STAT variable '%s' in an ALLOCATE statement must not be allocated in the same statement at %L"
+-msgstr ""
+-
+-#: fortran/resolve.c:4711
+-#, no-c-format
+-msgid "Expression in ALLOCATE statement at %L must be ALLOCATABLE or a POINTER"
+-msgstr ""
+-
+-#: fortran/resolve.c:4719
+-#, no-c-format
+-msgid "Cannot allocate INTENT(IN) variable '%s' at %L"
+-msgstr ""
+-
+-#: fortran/resolve.c:4743
+-#, fuzzy, no-c-format
+-msgid "Array specification required in ALLOCATE statement at %L"
+-msgstr "Falta l'especificador %A en la declaració en %0"
+-
+-#: fortran/resolve.c:4773
+-#, fuzzy, no-c-format
+-msgid "Bad array specification in ALLOCATE statement at %L"
+-msgstr "No hi ha definició d'etiqueta per a la declaració FORMAT en %0"
+-
+-#: fortran/resolve.c:4791
+-#, no-c-format
+-msgid "'%s' must not appear an the array specification at %L in the same ALLOCATE statement where it is itself allocated"
+-msgstr ""
+-
+-#. The cases overlap, or they are the same
+-#. 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.c:4949
+-#, no-c-format
+-msgid "CASE label at %L overlaps with CASE label at %L"
+-msgstr ""
+-
+-#: fortran/resolve.c:5000
+-#, fuzzy, no-c-format
+-msgid "Expression in CASE statement at %L must be of type %s"
+-msgstr "la declaració de l'expressió té tipus de dada incompleta"
+-
+-#: fortran/resolve.c:5011
+-#, no-c-format
+-msgid "Expression in CASE statement at %L must be kind %d"
+-msgstr ""
+-
+-#: fortran/resolve.c:5023
+-#, no-c-format
+-msgid "Expression in CASE statement at %L must be scalar"
+-msgstr ""
+-
+-#: fortran/resolve.c:5069
+-#, no-c-format
+-msgid "Selection expression in computed GOTO statement at %L must be a scalar integer expression"
+-msgstr ""
+-
+-#: fortran/resolve.c:5087
+-#, no-c-format
+-msgid "Argument of SELECT statement at %L cannot be %s"
+-msgstr ""
+-
+-#: fortran/resolve.c:5096
+-#, no-c-format
+-msgid "Argument of SELECT statement at %L must be a scalar expression"
+-msgstr ""
+-
+-#: fortran/resolve.c:5161
+-#, no-c-format
+-msgid "The DEFAULT CASE at %L cannot be followed by a second DEFAULT CASE at %L"
+-msgstr ""
+-
+-#: fortran/resolve.c:5187
+-#, no-c-format
+-msgid "Logical range in CASE statement at %L is not allowed"
+-msgstr ""
+-
+-#: fortran/resolve.c:5199
+-#, no-c-format
+-msgid "constant logical value in CASE statement is repeated at %L"
+-msgstr ""
+-
+-#: fortran/resolve.c:5213
+-#, no-c-format
+-msgid "Range specification at %L can never be matched"
+-msgstr ""
+-
+-#: fortran/resolve.c:5316
+-#, no-c-format
+-msgid "Logical SELECT CASE block at %L has more that two cases"
+-msgstr ""
+-
+-#: fortran/resolve.c:5354
+-#, no-c-format
+-msgid "Data transfer element at %L cannot have POINTER components"
+-msgstr ""
+-
+-#: fortran/resolve.c:5361
+-#, no-c-format
+-msgid "Data transfer element at %L cannot have ALLOCATABLE components"
+-msgstr ""
+-
+-#: fortran/resolve.c:5368
+-#, no-c-format
+-msgid "Data transfer element at %L cannot have PRIVATE components"
+-msgstr ""
+-
+-#: fortran/resolve.c:5377
+-#, no-c-format
+-msgid "Data transfer element at %L cannot be a full reference to an assumed-size array"
+-msgstr ""
+-
+-#: fortran/resolve.c:5441
+-#, fuzzy, no-c-format
+-msgid "Statement at %L is not a valid branch target statement for the branch statement at %L"
+-msgstr "La declaració en %0 no és vàlida en el context establert per la declaració en %1"
+-
+-#: fortran/resolve.c:5450
+-#, no-c-format
+-msgid "Branch at %L causes an infinite loop"
+-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.c:5463
+-#, fuzzy, no-c-format
+-msgid "Label at %L is not in the same block as the GOTO statement at %L"
+-msgstr "La declaració en %0 no és vàlida en el context establert per la declaració en %1"
+-
+-#: fortran/resolve.c:5478 fortran/resolve.c:5492
+-#, no-c-format
+-msgid "Deleted feature: GOTO at %L jumps to END of construct at %L"
+-msgstr ""
+-
+-#: fortran/resolve.c:5569
+-#, no-c-format
+-msgid "WHERE mask at %L has inconsistent shape"
+-msgstr ""
+-
+-#: fortran/resolve.c:5585
+-#, no-c-format
+-msgid "WHERE assignment target at %L has inconsistent shape"
+-msgstr ""
+-
+-#: fortran/resolve.c:5600 fortran/resolve.c:5682
+-#, no-c-format
+-msgid "Unsupported statement inside WHERE at %L"
+-msgstr ""
+-
+-#: fortran/resolve.c:5631
+-#, no-c-format
+-msgid "Assignment to a FORALL index variable at %L"
+-msgstr ""
+-
+-#: fortran/resolve.c:5639
+-#, no-c-format
+-msgid "The FORALL with index '%s' cause more than one assignment to this object at %L"
+-msgstr ""
+-
+-#: fortran/resolve.c:5774
+-#, no-c-format
+-msgid "An outer FORALL construct already has an index with this name %L"
+-msgstr ""
+-
+-#: fortran/resolve.c:5830
+-#, no-c-format
+-msgid "WHERE/ELSEWHERE clause at %L requires a LOGICAL array"
+-msgstr ""
+-
+-#: fortran/resolve.c:5890
+-#, no-c-format
+-msgid "Subroutine '%s' called instead of assignment at %L must be PURE"
+-msgstr ""
+-
+-#: fortran/resolve.c:5927
+-#, no-c-format
+-msgid "CHARACTER expression will be truncated in assignment (%d/%d) at %L"
+-msgstr ""
+-
+-#: fortran/resolve.c:5950
+-#, no-c-format
+-msgid "Cannot assign to variable '%s' in PURE procedure at %L"
+-msgstr ""
+-
+-#: fortran/resolve.c:5962
+-#, no-c-format
+-msgid "The impure variable at %L is assigned to a derived type variable with a POINTER component in a PURE procedure (12.6)"
+-msgstr ""
+-
+-#: fortran/resolve.c:6066
+-#, no-c-format
+-msgid "ASSIGNED GOTO statement at %L requires an INTEGER variable"
+-msgstr ""
+-
+-#: fortran/resolve.c:6069
+-#, no-c-format
+-msgid "Variable '%s' has not been assigned a target label at %L"
+-msgstr ""
+-
+-#: fortran/resolve.c:6080
+-#, no-c-format
+-msgid "Alternate RETURN statement at %L requires a SCALAR-INTEGER return specifier"
+-msgstr ""
+-
+-#: fortran/resolve.c:6106
+-#, no-c-format
+-msgid "ASSIGN statement at %L requires a scalar default INTEGER variable"
+-msgstr ""
+-
+-#: fortran/resolve.c:6121
+-#, no-c-format
+-msgid "Arithmetic IF statement at %L requires a numeric expression"
+-msgstr ""
+-
+-#: fortran/resolve.c:6163
+-#, no-c-format
+-msgid "Exit condition of DO WHILE loop at %L must be a scalar LOGICAL expression"
+-msgstr ""
+-
+-#: fortran/resolve.c:6170
+-#, no-c-format
+-msgid "STAT tag in ALLOCATE statement at %L must be of type INTEGER"
+-msgstr ""
+-
+-#: fortran/resolve.c:6182
+-#, no-c-format
+-msgid "STAT tag in DEALLOCATE statement at %L must be of type INTEGER"
+-msgstr ""
+-
+-#: fortran/resolve.c:6247
+-#, no-c-format
+-msgid "FORALL mask clause at %L requires a LOGICAL expression"
+-msgstr ""
+-
+-#: fortran/resolve.c:6317 fortran/resolve.c:6373
+-#, no-c-format
+-msgid "Binding label '%s' for common block '%s' at %L collides with the global entity '%s' at %L"
+-msgstr ""
+-
+-#. Common block names match but binding labels do not.
+-#: fortran/resolve.c:6338
+-#, no-c-format
+-msgid "Binding label '%s' for common block '%s' at %L does not match the binding label '%s' for common block '%s' at %L"
+-msgstr ""
+-
+-#: fortran/resolve.c:6385
+-#, no-c-format
+-msgid "Binding label '%s' for common block '%s' at %L collides with global entity '%s' at %L"
+-msgstr ""
+-
+-#. Make sure global procedures don't collide with anything.
+-#: fortran/resolve.c:6437
+-#, no-c-format
+-msgid "Binding label '%s' at %L collides with the global entity '%s' at %L"
+-msgstr ""
+-
+-#. Make sure procedures in interface bodies don't collide.
+-#: fortran/resolve.c:6450
+-#, no-c-format
+-msgid "Binding label '%s' in interface body at %L collides with the global entity '%s' at %L"
+-msgstr ""
+-
+-#: fortran/resolve.c:6463
+-#, no-c-format
+-msgid "Binding label '%s' at %L collides with global entity '%s' at %L"
+-msgstr ""
+-
+-#: fortran/resolve.c:6540
+-#, no-c-format
+-msgid "CHARACTER variable has zero length at %L"
+-msgstr ""
+-
+-#: fortran/resolve.c:6828
+-#, no-c-format
+-msgid "Allocatable array '%s' at %L must have a deferred shape"
+-msgstr ""
+-
+-#: fortran/resolve.c:6831
+-#, no-c-format
+-msgid "Scalar object '%s' at %L may not be ALLOCATABLE"
+-msgstr ""
+-
+-#: fortran/resolve.c:6838
+-#, no-c-format
+-msgid "Array pointer '%s' at %L must have a deferred shape"
+-msgstr ""
+-
+-#: fortran/resolve.c:6849
+-#, no-c-format
+-msgid "Array '%s' at %L cannot have a deferred shape"
+-msgstr ""
+-
+-#: fortran/resolve.c:6878
+-#, no-c-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"
+-msgstr ""
+-
+-#: fortran/resolve.c:6901
+-#, no-c-format
+-msgid "Object '%s' at %L must have the SAVE attribute for default initialization of a component"
+-msgstr ""
+-
+-#. The shape of a main program or module array needs to be
+-#. constant.
+-#: fortran/resolve.c:6948
+-#, no-c-format
+-msgid "The module or main program array '%s' at %L must have constant shape"
+-msgstr ""
+-
+-#: fortran/resolve.c:6961
+-#, no-c-format
+-msgid "Entity with assumed character length at %L must be a dummy argument or a PARAMETER"
+-msgstr ""
+-
+-#: fortran/resolve.c:6980
+-#, no-c-format
+-msgid "'%s' at %L must have constant character length in this context"
+-msgstr ""
+-
+-#: fortran/resolve.c:7012
+-#, fuzzy, no-c-format
+-msgid "Allocatable '%s' at %L cannot have an initializer"
+-msgstr "no existeix el camp \"%D\" en el union que s'està inicialitzant"
+-
+-#: fortran/resolve.c:7015
+-#, fuzzy, no-c-format
+-msgid "External '%s' at %L cannot have an initializer"
+-msgstr "no existeix el camp \"%D\" en el union que s'està inicialitzant"
+-
+-#: fortran/resolve.c:7019
+-#, fuzzy, no-c-format
+-msgid "Dummy '%s' at %L cannot have an initializer"
+-msgstr "\"%s\" té \"extern\" i assignador de valor inicial al mateix temps"
+-
+-#: fortran/resolve.c:7022
+-#, fuzzy, no-c-format
+-msgid "Intrinsic '%s' at %L cannot have an initializer"
+-msgstr "no existeix el camp \"%D\" en el union que s'està inicialitzant"
+-
+-#: fortran/resolve.c:7025
+-#, fuzzy, no-c-format
+-msgid "Function result '%s' at %L cannot have an initializer"
+-msgstr "no existeix el camp \"%D\" en el union que s'està inicialitzant"
+-
+-#: fortran/resolve.c:7028
+-#, no-c-format
+-msgid "Automatic array '%s' at %L cannot have an initializer"
+-msgstr ""
+-
+-#: fortran/resolve.c:7051
+-#, no-c-format
+-msgid "Although not referenced, '%s' at %L has ambiguous interfaces"
+-msgstr ""
+-
+-#: fortran/resolve.c:7070
+-#, no-c-format
+-msgid "Character-valued statement function '%s' at %L must have constant length"
+-msgstr ""
+-
+-#: fortran/resolve.c:7078
+-#, no-c-format
+-msgid "Automatic character length function '%s' at %L must have an explicit interface"
+-msgstr ""
+-
+-#: fortran/resolve.c:7103
+-#, no-c-format
+-msgid "Fortran 2003: '%s' is of a PRIVATE type and cannot be a dummy argument of '%s', which is PUBLIC at %L"
+-msgstr ""
+-
+-#: fortran/resolve.c:7126 fortran/resolve.c:7151
+-#, no-c-format
+-msgid "Fortran 2003: Procedure '%s' in PUBLIC interface '%s' at %L takes dummy arguments of '%s' which is PRIVATE"
+-msgstr ""
+-
+-#: fortran/resolve.c:7168
+-#, fuzzy, no-c-format
+-msgid "Function '%s' at %L cannot have an initializer"
+-msgstr "no existeix el camp \"%D\" en el union que s'està inicialitzant"
+-
+-#: fortran/resolve.c:7177
+-#, fuzzy, no-c-format
+-msgid "External object '%s' at %L may not have an initializer"
+-msgstr "no existeix el camp \"%D\" en el union que s'està inicialitzant"
+-
+-#: fortran/resolve.c:7185
+-#, no-c-format
+-msgid "ELEMENTAL function '%s' at %L must have a scalar result"
+-msgstr ""
+-
+-#: fortran/resolve.c:7206
+-#, no-c-format
+-msgid "CHARACTER(*) function '%s' at %L cannot be array-valued"
+-msgstr ""
+-
+-#: fortran/resolve.c:7210
+-#, no-c-format
+-msgid "CHARACTER(*) function '%s' at %L cannot be pointer-valued"
+-msgstr ""
+-
+-#: fortran/resolve.c:7214
+-#, no-c-format
+-msgid "CHARACTER(*) function '%s' at %L cannot be pure"
+-msgstr ""
+-
+-#: fortran/resolve.c:7218
+-#, no-c-format
+-msgid "CHARACTER(*) function '%s' at %L cannot be recursive"
+-msgstr ""
+-
+-#: fortran/resolve.c:7227
+-#, no-c-format
+-msgid "CHARACTER(*) function '%s' at %L is obsolescent in fortran 95"
+-msgstr ""
+-
+-#: fortran/resolve.c:7299
+-#, no-c-format
+-msgid "Character length of component '%s' needs to be a constant specification expression at %L"
+-msgstr ""
+-
+-#: fortran/resolve.c:7314
+-#, no-c-format
+-msgid "The component '%s' is a PRIVATE type and cannot be a component of '%s', which is PUBLIC at %L"
+-msgstr ""
+-
+-#: fortran/resolve.c:7324
+-#, no-c-format
+-msgid "Component %s of SEQUENCE type declared at %L does not have the SEQUENCE attribute"
+-msgstr ""
+-
+-#: fortran/resolve.c:7334
+-#, no-c-format
+-msgid "The pointer component '%s' of '%s' at %L is a type that has not been declared"
+-msgstr ""
+-
+-#: fortran/resolve.c:7352
+-#, no-c-format
+-msgid "Component '%s' of '%s' at %L must have constant array bounds"
+-msgstr ""
+-
+-#: fortran/resolve.c:7395
+-#, no-c-format
+-msgid "NAMELIST object '%s' was declared PRIVATE and cannot be member of PUBLIC namelist '%s' at %L"
+-msgstr ""
+-
+-#: fortran/resolve.c:7405
+-#, no-c-format
+-msgid "NAMELIST object '%s' has use-associated PRIVATE components and cannot be member of namelist '%s' at %L"
+-msgstr ""
+-
+-#: fortran/resolve.c:7418
+-#, no-c-format
+-msgid "NAMELIST object '%s' has PRIVATE components and cannot be a member of PUBLIC namelist '%s' at %L"
+-msgstr ""
+-
+-#: fortran/resolve.c:7430
+-#, no-c-format
+-msgid "NAMELIST array object '%s' must not have assumed shape in namelist '%s' at %L"
+-msgstr ""
+-
+-#: fortran/resolve.c:7439
+-#, no-c-format
+-msgid "NAMELIST array object '%s' must have constant shape in namelist '%s' at %L"
+-msgstr ""
+-
+-#: fortran/resolve.c:7451
+-#, no-c-format
+-msgid "NAMELIST object '%s' in namelist '%s' at %L cannot have ALLOCATABLE components"
+-msgstr ""
+-
+-#: fortran/resolve.c:7459
+-#, no-c-format
+-msgid "NAMELIST object '%s' in namelist '%s' at %L cannot have POINTER components"
+-msgstr ""
+-
+-#: fortran/resolve.c:7485
+-#, no-c-format
+-msgid "PROCEDURE attribute conflicts with NAMELIST attribute in '%s' at %L"
+-msgstr ""
+-
+-#: fortran/resolve.c:7504
+-#, no-c-format
+-msgid "Parameter array '%s' at %L cannot be automatic or of deferred shape"
+-msgstr ""
+-
+-#: fortran/resolve.c:7515
+-#, no-c-format
+-msgid "Implicitly typed PARAMETER '%s' at %L doesn't match a later IMPLICIT type"
+-msgstr ""
+-
+-#: fortran/resolve.c:7526
+-#, fuzzy, no-c-format
+-msgid "Incompatible derived type in PARAMETER at %L"
+-msgstr "tipus incompatibles en %s"
+-
+-#: fortran/resolve.c:7597
+-#, no-c-format
+-msgid "Interface '%s' of procedure '%s' at %L must be explicit"
+-msgstr ""
+-
+-#: fortran/resolve.c:7622
+-#, no-c-format
+-msgid "Type specified for intrinsic function '%s' at %L is ignored"
+-msgstr ""
+-
+-#: fortran/resolve.c:7629
+-#, no-c-format
+-msgid "Intrinsic subroutine '%s' at %L shall not have a type specifier"
+-msgstr ""
+-
+-#: fortran/resolve.c:7636
+-#, no-c-format
+-msgid "Intrinsic '%s' at %L does not exist"
+-msgstr ""
+-
+-#: fortran/resolve.c:7676
+-#, no-c-format
+-msgid "Assumed size array at %L must be a dummy argument"
+-msgstr ""
+-
+-#: fortran/resolve.c:7679
+-#, no-c-format
+-msgid "Assumed shape array at %L must be a dummy argument"
+-msgstr ""
+-
+-#: fortran/resolve.c:7691
+-#, no-c-format
+-msgid "Symbol at %L is not a DUMMY variable"
+-msgstr ""
+-
+-#: fortran/resolve.c:7697
+-#, no-c-format
+-msgid "'%s' at %L cannot have the VALUE attribute because it is not a dummy argument"
+-msgstr ""
+-
+-#: fortran/resolve.c:7707
+-#, no-c-format
+-msgid "Character dummy variable '%s' at %L with VALUE attribute must have constant length"
+-msgstr ""
+-
+-#: fortran/resolve.c:7716
+-#, no-c-format
+-msgid "C interoperable character dummy variable '%s' at %L with VALUE attribute must have length one"
+-msgstr ""
+-
+-#: fortran/resolve.c:7742
+-#, no-c-format
+-msgid "Variable '%s' at %L cannot be BIND(C) because it is neither a COMMON block nor declared at the module level scope"
+-msgstr ""
+-
+-#: fortran/resolve.c:7795
+-#, no-c-format
+-msgid "The derived type '%s' at %L is of type '%s', which has not been defined"
+-msgstr ""
+-
+-#: fortran/resolve.c:7811
+-#, no-c-format
+-msgid "Fortran 2003: PUBLIC %s '%s' at %L of PRIVATE derived type '%s'"
+-msgstr ""
+-
+-#: fortran/resolve.c:7830
+-#, no-c-format
+-msgid "The INTENT(OUT) dummy argument '%s' at %L is ASSUMED SIZE and so cannot have a default initializer"
+-msgstr ""
+-
+-#: fortran/resolve.c:7889
+-#, no-c-format
+-msgid "Threadprivate at %L isn't SAVEd"
+-msgstr ""
+-
+-#: fortran/resolve.c:7967
+-#, no-c-format
+-msgid "BLOCK DATA element '%s' at %L must be in COMMON"
+-msgstr ""
+-
+-#: fortran/resolve.c:8011
+-#, no-c-format
+-msgid "Nonconstant array section at %L in DATA statement"
+-msgstr ""
+-
+-#: fortran/resolve.c:8024
+-#, no-c-format
+-msgid "DATA statement at %L has more variables than values"
+-msgstr ""
+-
+-#: fortran/resolve.c:8118
+-#, no-c-format
+-msgid "iterator start at %L does not simplify"
+-msgstr ""
+-
+-#: fortran/resolve.c:8125
+-#, no-c-format
+-msgid "iterator end at %L does not simplify"
+-msgstr ""
+-
+-#: fortran/resolve.c:8132
+-#, no-c-format
+-msgid "iterator step at %L does not simplify"
+-msgstr ""
+-
+-#: fortran/resolve.c:8258
+-#, no-c-format
+-msgid "DATA statement at %L has more values than variables"
+-msgstr ""
+-
+-#: fortran/resolve.c:8349
+-#, fuzzy, no-c-format
+-msgid "Label %d at %L defined but not used"
+-msgstr "s'usa l'etiqueta \"%D\" però no està definida"
+-
+-#: fortran/resolve.c:8354
+-#, fuzzy, no-c-format
+-msgid "Label %d at %L defined but cannot be used"
+-msgstr "s'usa l'etiqueta \"%D\" però no està definida"
+-
+-#: fortran/resolve.c:8439
+-#, no-c-format
+-msgid "Derived type variable '%s' at %L must have SEQUENCE attribute to be an EQUIVALENCE object"
+-msgstr ""
+-
+-#: fortran/resolve.c:8448
+-#, no-c-format
+-msgid "Derived type variable '%s' at %L cannot have ALLOCATABLE components to be an EQUIVALENCE object"
+-msgstr ""
+-
+-#: fortran/resolve.c:8465
+-#, no-c-format
+-msgid "Derived type variable '%s' at %L with pointer component(s) cannot be an EQUIVALENCE object"
+-msgstr ""
+-
+-#: fortran/resolve.c:8570
+-#, no-c-format
+-msgid "Syntax error in EQUIVALENCE statement at %L"
+-msgstr ""
+-
+-#: fortran/resolve.c:8585
+-#, no-c-format
+-msgid "Either all or none of the objects in the EQUIVALENCE set at %L shall have the PROTECTED attribute"
+-msgstr ""
+-
+-#: fortran/resolve.c:8597
+-#, no-c-format
+-msgid "Common block member '%s' at %L cannot be an EQUIVALENCE object in the pure procedure '%s'"
+-msgstr ""
+-
+-#: fortran/resolve.c:8606
+-#, no-c-format
+-msgid "Named constant '%s' at %L cannot be an EQUIVALENCE object"
+-msgstr ""
+-
+-#: fortran/resolve.c:8685
+-#, no-c-format
+-msgid "Array '%s' at %L with non-constant bounds cannot be an EQUIVALENCE object"
+-msgstr ""
+-
+-#: fortran/resolve.c:8696
+-#, no-c-format
+-msgid "Structure component '%s' at %L cannot be an EQUIVALENCE object"
+-msgstr ""
+-
+-#: fortran/resolve.c:8707
+-#, no-c-format
+-msgid "Substring at %L has length zero"
+-msgstr ""
+-
+-#: fortran/resolve.c:8750
+-#, no-c-format
+-msgid "PUBLIC function '%s' at %L cannot be of PRIVATE type '%s'"
+-msgstr ""
+-
+-#: fortran/resolve.c:8762
+-#, no-c-format
+-msgid "ENTRY '%s' at %L has no IMPLICIT type"
+-msgstr ""
+-
+-#: fortran/resolve.c:8788
+-#, no-c-format
+-msgid "User operator procedure '%s' at %L must be a FUNCTION"
+-msgstr ""
+-
+-#: fortran/resolve.c:8795
+-#, no-c-format
+-msgid "User operator procedure '%s' at %L cannot be assumed character length"
+-msgstr ""
+-
+-#: fortran/resolve.c:8801
+-#, no-c-format
+-msgid "User operator procedure '%s' at %L must have at least one argument"
+-msgstr ""
+-
+-#: fortran/resolve.c:8811
+-#, no-c-format
+-msgid "First argument of operator interface at %L cannot be optional"
+-msgstr ""
+-
+-#: fortran/resolve.c:8823
+-#, no-c-format
+-msgid "Second argument of operator interface at %L cannot be optional"
+-msgstr ""
+-
+-#: fortran/resolve.c:8827
+-#, no-c-format
+-msgid "Operator interface at %L must have, at most, two arguments"
+-msgstr ""
+-
+-#: fortran/resolve.c:8867
+-#, no-c-format
+-msgid "Contained procedure '%s' at %L of a PURE procedure must also be PURE"
+-msgstr ""
+-
+-#: fortran/scanner.c:526
+-#, no-c-format
+-msgid "!$OMP at %C starts a commented line as it neither is followed by a space nor is a continuation line"
+-msgstr ""
+-
+-#: fortran/scanner.c:816 fortran/scanner.c:937
+-#, no-c-format
+-msgid "Limit of %d continuations exceeded in statement at %C"
+-msgstr ""
+-
+-#: fortran/scanner.c:861
+-#, fuzzy, no-c-format
+-msgid "Missing '&' in continued character constant at %C"
+-msgstr "Constant de caràcter de longitud zero en %0"
+-
+-#: fortran/scanner.c:1071
+-#, no-c-format
+-msgid "Nonconforming tab character at %C"
+-msgstr ""
+-
+-#: fortran/scanner.c:1153 fortran/scanner.c:1156
+-#, no-c-format
+-msgid "'&' not allowed by itself in line %d"
+-msgstr ""
+-
+-#: fortran/scanner.c:1189
+-#, no-c-format
+-msgid "Nonconforming tab character in column 1 of line %d"
+-msgstr ""
+-
+-#: fortran/scanner.c:1387
+-#, no-c-format
+-msgid "%s:%d: file %s left but not entered"
+-msgstr ""
+-
+-#: fortran/scanner.c:1419
+-#, fuzzy, no-c-format
+-msgid "%s:%d: Illegal preprocessor directive"
+-msgstr "%s en directiva de preprocessament"
+-
+-#: fortran/scanner.c:1514
+-#, no-c-format
+-msgid "File '%s' is being included recursively"
+-msgstr ""
+-
+-#: fortran/scanner.c:1529
+-#, fuzzy, no-c-format
+-msgid "Can't open file '%s'"
+-msgstr "no es pot obrir el fitxer \"%s\""
+-
+-#: fortran/scanner.c:1538
+-#, fuzzy, no-c-format
+-msgid "Can't open included file '%s'"
+-msgstr "no es pot tancar el fitxer temporal"
+-
+-#: fortran/scanner.c:1676
+-#, fuzzy, c-format
+-msgid "%s:%3d %s\n"
+-msgstr "%s: %s"
+-
+-#: fortran/simplify.c:82
+-#, no-c-format
+-msgid "Result of %s overflows its kind at %L"
+-msgstr ""
+-
+-#: fortran/simplify.c:87
+-#, no-c-format
+-msgid "Result of %s underflows its kind at %L"
+-msgstr ""
+-
+-#: fortran/simplify.c:92
+-#, no-c-format
+-msgid "Result of %s is NaN at %L"
+-msgstr ""
+-
+-#: fortran/simplify.c:96
+-#, no-c-format
+-msgid "Result of %s gives range error for its kind at %L"
+-msgstr ""
+-
+-#: fortran/simplify.c:119
+-#, no-c-format
+-msgid "KIND parameter of %s at %L must be an initialization expression"
+-msgstr ""
+-
+-#: fortran/simplify.c:127
+-#, fuzzy, no-c-format
+-msgid "Invalid KIND parameter of %s at %L"
+-msgstr "el paràmetre \"%s\" no és vàlid"
+-
+-#: fortran/simplify.c:282
+-#, no-c-format
+-msgid "Argument of ACHAR function at %L outside of range [0,127]"
+-msgstr ""
+-
+-#: fortran/simplify.c:307
+-#, no-c-format
+-msgid "Argument of ACOS at %L must be between -1 and 1"
+-msgstr ""
+-
+-#: fortran/simplify.c:329
+-#, no-c-format
+-msgid "Argument of ACOSH at %L must not be less than 1"
+-msgstr ""
+-
+-#: fortran/simplify.c:546
+-#, no-c-format
+-msgid "Argument of ASIN at %L must be between -1 and 1"
+-msgstr ""
+-
+-#: fortran/simplify.c:602
+-#, no-c-format
+-msgid "Argument of ATANH at %L must be inside the range -1 to 1"
+-msgstr ""
+-
+-#: fortran/simplify.c:627
+-#, no-c-format
+-msgid "If first argument of ATAN2 %L is zero, then the second argument must not be zero"
+-msgstr ""
+-
+-#: fortran/simplify.c:714
+-#, no-c-format
+-msgid "Argument of CHAR function at %L outside of range [0,255]"
+-msgstr ""
+-
+-#: fortran/simplify.c:1247
+-#, no-c-format
+-msgid "Argument of IACHAR at %L must be of length one"
+-msgstr ""
+-
+-#: fortran/simplify.c:1254
+-#, no-c-format
+-msgid "Argument of IACHAR function at %L outside of range 0..127"
+-msgstr ""
+-
+-#: fortran/simplify.c:1293
+-#, fuzzy, no-c-format
+-msgid "Invalid second argument of IBCLR at %L"
+-msgstr "argument de tipus no vàlid de \"%s\""
+-
+-#: fortran/simplify.c:1301
+-#, no-c-format
+-msgid "Second argument of IBCLR exceeds bit size at %L"
+-msgstr ""
+-
+-#: fortran/simplify.c:1335
+-#, fuzzy, no-c-format
+-msgid "Invalid second argument of IBITS at %L"
+-msgstr "argument de tipus no vàlid de \"%s\""
+-
+-#: fortran/simplify.c:1341
+-#, fuzzy, no-c-format
+-msgid "Invalid third argument of IBITS at %L"
+-msgstr "argument de tipus no vàlid de \"%s\""
+-
+-#: fortran/simplify.c:1351
+-#, no-c-format
+-msgid "Sum of second and third arguments of IBITS exceeds bit size at %L"
+-msgstr ""
+-
+-#: fortran/simplify.c:1393
+-#, fuzzy, no-c-format
+-msgid "Invalid second argument of IBSET at %L"
+-msgstr "argument de tipus no vàlid de \"%s\""
+-
+-#: fortran/simplify.c:1401
+-#, no-c-format
+-msgid "Second argument of IBSET exceeds bit size at %L"
+-msgstr ""
+-
+-#: fortran/simplify.c:1431
+-#, no-c-format
+-msgid "Argument of ICHAR at %L must be of length one"
+-msgstr ""
+-
+-#: fortran/simplify.c:1646
+-#, fuzzy, no-c-format
+-msgid "Argument of INT at %L is not a valid type"
+-msgstr "l'argument de \"asm\" no és una cadena constant"
+-
+-#: fortran/simplify.c:1688
+-#, fuzzy, no-c-format
+-msgid "Argument of %s at %L is not a valid type"
+-msgstr "l'argument de l'atribut \"%s\" no es una cadena constant"
+-
+-#: fortran/simplify.c:1786
+-#, fuzzy, no-c-format
+-msgid "Invalid second argument of ISHFT at %L"
+-msgstr "argument de tipus no vàlid de \"%s\""
+-
+-#: fortran/simplify.c:1801
+-#, no-c-format
+-msgid "Magnitude of second argument of ISHFT exceeds bit size at %L"
+-msgstr ""
+-
+-#: fortran/simplify.c:1865
+-#, fuzzy, no-c-format
+-msgid "Invalid second argument of ISHFTC at %L"
+-msgstr "argument de tipus no vàlid de \"%s\""
+-
+-#: fortran/simplify.c:1879
+-#, fuzzy, no-c-format
+-msgid "Invalid third argument of ISHFTC at %L"
+-msgstr "argument de tipus no vàlid de \"%s\""
+-
+-#: fortran/simplify.c:1885
+-#, no-c-format
+-msgid "Magnitude of third argument of ISHFTC exceeds BIT_SIZE of first argument at %L"
+-msgstr ""
+-
+-#: fortran/simplify.c:1901
+-#, no-c-format
+-msgid "Magnitude of second argument of ISHFTC exceeds third argument at %L"
+-msgstr ""
+-
+-#: fortran/simplify.c:1904
+-#, no-c-format
+-msgid "Magnitude of second argument of ISHFTC exceeds BIT_SIZE of first argument at %L"
+-msgstr ""
+-
+-#: fortran/simplify.c:1975
+-#, no-c-format
+-msgid "Argument of KIND at %L is a DERIVED type"
+-msgstr ""
+-
+-#: fortran/simplify.c:2163
+-#, fuzzy, no-c-format
+-msgid "DIM argument at %L is out of bounds"
+-msgstr "l'argument \"%d\" no és una constant"
+-
+-#: fortran/simplify.c:2318
+-#, no-c-format
+-msgid "Argument of LOG at %L cannot be less than or equal to zero"
+-msgstr ""
+-
+-#: fortran/simplify.c:2331
+-#, no-c-format
+-msgid "Complex argument of LOG at %L cannot be zero"
+-msgstr ""
+-
+-#: fortran/simplify.c:2374
+-#, no-c-format
+-msgid "Argument of LOG10 at %L cannot be less than or equal to zero"
+-msgstr ""
+-
+-#. Result is processor-dependent.
+-#: fortran/simplify.c:2579
+-#, no-c-format
+-msgid "Second argument MOD at %L is zero"
+-msgstr ""
+-
+-#. Result is processor-dependent.
+-#: fortran/simplify.c:2590
+-#, no-c-format
+-msgid "Second argument of MOD at %L is zero"
+-msgstr ""
+-
+-#. Result is processor-dependent. This processor just opts
+-#. to not handle it at all.
+-#. Result is processor-dependent.
+-#: fortran/simplify.c:2638 fortran/simplify.c:2650
+-#, no-c-format
+-msgid "Second argument of MODULO at %L is zero"
+-msgstr ""
+-
+-#: fortran/simplify.c:2702
+-#, no-c-format
+-msgid "Second argument of NEAREST at %L shall not be zero"
+-msgstr ""
+-
+-#: fortran/simplify.c:2977
+-#, no-c-format
+-msgid "Argument NCOPIES of REPEAT intrinsic is negative at %L"
+-msgstr ""
+-
+-#: fortran/simplify.c:3032
+-#, no-c-format
+-msgid "Argument NCOPIES of REPEAT intrinsic is too large at %L"
+-msgstr ""
+-
+-#: fortran/simplify.c:3122
+-#, fuzzy, no-c-format
+-msgid "Integer too large in shape specification at %L"
+-msgstr "després de l'especificació prèvia en \"%#D\""
+-
+-#: fortran/simplify.c:3132
+-#, no-c-format
+-msgid "Too many dimensions in shape specification for RESHAPE at %L"
+-msgstr ""
+-
+-#: fortran/simplify.c:3140
+-#, no-c-format
+-msgid "Shape specification at %L cannot be negative"
+-msgstr ""
+-
+-#: fortran/simplify.c:3150
+-#, no-c-format
+-msgid "Shape specification at %L cannot be the null array"
+-msgstr ""
+-
+-#: fortran/simplify.c:3171
+-#, no-c-format
+-msgid "ORDER parameter of RESHAPE at %L is not the same size as SHAPE parameter"
+-msgstr ""
+-
+-#: fortran/simplify.c:3178
+-#, no-c-format
+-msgid "Error in ORDER parameter of RESHAPE at %L"
+-msgstr ""
+-
+-#: fortran/simplify.c:3188
+-#, no-c-format
+-msgid "ORDER parameter of RESHAPE at %L is out of range"
+-msgstr ""
+-
+-#: fortran/simplify.c:3197
+-#, no-c-format
+-msgid "Invalid permutation in ORDER parameter at %L"
+-msgstr ""
+-
+-#: fortran/simplify.c:3253
+-#, no-c-format
+-msgid "PAD parameter required for short SOURCE parameter at %L"
+-msgstr ""
+-
+-#: fortran/simplify.c:3372
+-#, no-c-format
+-msgid "Result of SCALE overflows its kind at %L"
+-msgstr ""
+-
+-#: fortran/simplify.c:3942
+-#, fuzzy, no-c-format
+-msgid "Argument of SQRT at %L has a negative value"
+-msgstr "la crida a la funció té valor agregat"
+-
+-#: fortran/simplify.c:4069
+-#, no-c-format
+-msgid "Intrinsic TRANSFER at %L has partly undefined result: source size %ld < result size %ld"
+-msgstr ""
+-
+-#: fortran/symbol.c:120
+-#, no-c-format
+-msgid "Duplicate IMPLICIT NONE statement at %C"
+-msgstr ""
+-
+-#: fortran/symbol.c:160
+-#, no-c-format
+-msgid "Letter '%c' already set in IMPLICIT statement at %C"
+-msgstr ""
+-
+-#: fortran/symbol.c:182
+-#, no-c-format
+-msgid "Cannot specify IMPLICIT at %C after IMPLICIT NONE"
+-msgstr ""
+-
+-#: fortran/symbol.c:193
+-#, no-c-format
+-msgid "Letter %c already has an IMPLICIT type at %C"
+-msgstr ""
+-
+-#: fortran/symbol.c:247
+-#, no-c-format
+-msgid "Symbol '%s' at %L has no IMPLICIT type"
+-msgstr ""
+-
+-#. BIND(C) variables should not be implicitly declared.
+-#: fortran/symbol.c:261
+-#, no-c-format
+-msgid "Implicitly declared BIND(C) variable '%s' at %L may not be C interoperable"
+-msgstr ""
+-
+-#. Dummy args to a BIND(C) routine may not be interoperable if
+-#. they are implicitly typed.
+-#: fortran/symbol.c:275
+-#, no-c-format
+-msgid "Implicity declared variable '%s' at %L may not be C interoperable but it is a dummy argument to the BIND(C) procedure '%s' at %L"
+-msgstr ""
+-
+-#: fortran/symbol.c:316
+-#, no-c-format
+-msgid "Function result '%s' at %L has no IMPLICIT type"
+-msgstr ""
+-
+-#: fortran/symbol.c:395
+-#, no-c-format
+-msgid "%s attribute not allowed in BLOCK DATA program unit at %L"
+-msgstr ""
+-
+-#: fortran/symbol.c:561
+-#, no-c-format
+-msgid "Fortran 2003: Procedure pointers at %L are not yet implemented in gfortran"
+-msgstr ""
+-
+-#: fortran/symbol.c:690 fortran/symbol.c:1300
+-#, fuzzy, no-c-format
+-msgid "%s attribute conflicts with %s attribute at %L"
+-msgstr "l'atribut \"%s\" solament aplica a variables"
+-
+-#: fortran/symbol.c:693
+-#, no-c-format
+-msgid "%s attribute conflicts with %s attribute in '%s' at %L"
+-msgstr ""
+-
+-#: fortran/symbol.c:701
+-#, no-c-format
+-msgid "Fortran 2003: %s attribute with %s attribute at %L"
+-msgstr ""
+-
+-#: fortran/symbol.c:707
+-#, no-c-format
+-msgid "Fortran 2003: %s attribute with %s attribute in '%s' at %L"
+-msgstr ""
+-
+-#: fortran/symbol.c:751
+-#, no-c-format
+-msgid "Cannot change attributes of USE-associated symbol at %L"
+-msgstr ""
+-
+-#: fortran/symbol.c:754
+-#, no-c-format
+-msgid "Cannot change attributes of USE-associated symbol %s at %L"
+-msgstr ""
+-
+-#: fortran/symbol.c:770
+-#, no-c-format
+-msgid "Duplicate %s attribute specified at %L"
+-msgstr ""
+-
+-#: fortran/symbol.c:912
+-#, no-c-format
+-msgid "Cray Pointee at %L appears in multiple pointer() statements"
+-msgstr ""
+-
+-#: fortran/symbol.c:931
+-#, no-c-format
+-msgid "Duplicate PROTECTED attribute specified at %L"
+-msgstr ""
+-
+-#: fortran/symbol.c:964
+-#, fuzzy, no-c-format
+-msgid "SAVE attribute at %L cannot be specified in a PURE procedure"
+-msgstr "La declaració o atribut SAVE en %1 no es pot especificar juntament amb la declaració o atribut SAVE en %0"
+-
+-#: fortran/symbol.c:972
+-#, no-c-format
+-msgid "Duplicate SAVE attribute specified at %L"
+-msgstr ""
+-
+-#: fortran/symbol.c:993
+-#, no-c-format
+-msgid "Duplicate VALUE attribute specified at %L"
+-msgstr ""
+-
+-#: fortran/symbol.c:1013
+-#, no-c-format
+-msgid "Duplicate VOLATILE attribute specified at %L"
+-msgstr ""
+-
+-#: fortran/symbol.c:1296
+-#, fuzzy, no-c-format
+-msgid "%s attribute of '%s' conflicts with %s attribute at %L"
+-msgstr "%Jl'àrea d'adreça de \"%s\" és en conflicte amb una declaració prèvia"
+-
+-#: fortran/symbol.c:1330
+-#, no-c-format
+-msgid "%s procedure at %L is already declared as %s procedure"
+-msgstr ""
+-
+-#: fortran/symbol.c:1365
+-#, no-c-format
+-msgid "INTENT (%s) conflicts with INTENT(%s) at %L"
+-msgstr ""
+-
+-#: fortran/symbol.c:1388
+-#, no-c-format
+-msgid "ACCESS specification at %L was already specified"
+-msgstr ""
+-
+-#: fortran/symbol.c:1405
+-#, no-c-format
+-msgid "Duplicate BIND attribute specified at %L"
+-msgstr ""
+-
+-#: fortran/symbol.c:1412
+-#, no-c-format
+-msgid "Fortran 2003: BIND(C) at %L"
+-msgstr ""
+-
+-#: fortran/symbol.c:1434
+-#, no-c-format
+-msgid "Symbol '%s' at %L already has an explicit interface"
+-msgstr ""
+-
+-#: fortran/symbol.c:1479
+-#, no-c-format
+-msgid "Symbol '%s' at %L cannot have a type"
+-msgstr ""
+-
+-#: fortran/symbol.c:1636
+-#, no-c-format
+-msgid "Component '%s' at %C already declared at %L"
+-msgstr ""
+-
+-#: fortran/symbol.c:1714
+-#, fuzzy, no-c-format
+-msgid "Symbol '%s' at %C is ambiguous"
+-msgstr "l'ús de \"%D\" és ambigu"
+-
+-#: fortran/symbol.c:1746
+-#, no-c-format
+-msgid "Derived type '%s' at %C is being used before it is defined"
+-msgstr ""
+-
+-#: fortran/symbol.c:1774
+-#, fuzzy, no-c-format
+-msgid "'%s' at %C is not a member of the '%s' structure"
+-msgstr "\"%D\" no és un membre de tipus \"%T\""
+-
+-#: fortran/symbol.c:1781
+-#, no-c-format
+-msgid "Component '%s' at %C is a PRIVATE component of '%s'"
+-msgstr ""
+-
+-#: fortran/symbol.c:1938
+-#, no-c-format
+-msgid "Duplicate statement label %d at %L and %L"
+-msgstr ""
+-
+-#: fortran/symbol.c:1948
+-#, no-c-format
+-msgid "Label %d at %C already referenced as branch target"
+-msgstr ""
+-
+-#: fortran/symbol.c:1957
+-#, no-c-format
+-msgid "Label %d at %C already referenced as a format label"
+-msgstr ""
+-
+-#: fortran/symbol.c:1999
+-#, no-c-format
+-msgid "Label %d at %C previously used as a FORMAT label"
+-msgstr ""
+-
+-#: fortran/symbol.c:2007
+-#, no-c-format
+-msgid "Label %d at %C previously used as branch target"
+-msgstr ""
+-
+-#: fortran/symbol.c:2314
+-#, no-c-format
+-msgid "Name '%s' at %C is an ambiguous reference to '%s' from module '%s'"
+-msgstr ""
+-
+-#: fortran/symbol.c:2317
+-#, no-c-format
+-msgid "Name '%s' at %C is an ambiguous reference to '%s' from current program unit"
+-msgstr ""
+-
+-#. Symbol is from another namespace.
+-#: fortran/symbol.c:2461
+-#, no-c-format
+-msgid "Symbol '%s' at %C has already been host associated"
+-msgstr ""
+-
+-#: fortran/symbol.c:3162
+-#, no-c-format
+-msgid "Derived type '%s' declared at %L must have the BIND attribute to be C interoperable"
+-msgstr ""
+-
+-#: fortran/symbol.c:3173
+-#, fuzzy, no-c-format
+-msgid "Derived type '%s' at %L is empty"
+-msgstr "el predicat de la resposta està buidor"
+-
+-#: fortran/symbol.c:3190
+-#, no-c-format
+-msgid "Component '%s' at %L cannot have the POINTER attribute because it is a member of the BIND(C) derived type '%s' at %L"
+-msgstr ""
+-
+-#: fortran/symbol.c:3202
+-#, no-c-format
+-msgid "Component '%s' at %L cannot have the ALLOCATABLE attribute because it is a member of the BIND(C) derived type '%s' at %L"
+-msgstr ""
+-
+-#. If the derived type is bind(c), all fields must be
+-#. interop.
+-#: fortran/symbol.c:3241
+-#, no-c-format
+-msgid "Component '%s' in derived type '%s' at %L may not be C interoperable, even though derived type '%s' is BIND(C)"
+-msgstr ""
+-
+-#. If derived type is param to bind(c) routine, or to one
+-#. of the iso_c_binding procs, it must be interoperable, so
+-#. all fields must interop too.
+-#: fortran/symbol.c:3250
+-#, no-c-format
+-msgid "Component '%s' in derived type '%s' at %L may not be C interoperable"
+-msgstr ""
+-
+-#: fortran/symbol.c:3264
+-#, no-c-format
+-msgid "Derived type '%s' at %L cannot be declared with both PRIVATE and BIND(C) attributes"
+-msgstr ""
+-
+-#: fortran/symbol.c:3272
+-#, no-c-format
+-msgid "Derived type '%s' at %L cannot have the SEQUENCE attribute because it is BIND(C)"
+-msgstr ""
+-
+-#: fortran/target-memory.c:548
+-#, no-c-format
+-msgid "Overlapping unequal initializers in EQUIVALENCE at %L"
+-msgstr ""
+-
+-#: fortran/trans-common.c:396
+-#, no-c-format
+-msgid "Named COMMON block '%s' at %L shall be of the same size"
+-msgstr ""
+-
+-#: fortran/trans-common.c:817
+-#, fuzzy, no-c-format
+-msgid "Bad array reference at %L"
+-msgstr "Element null en %0 per a la referència de matriu en %1"
+-
+-#: fortran/trans-common.c:825
+-#, no-c-format
+-msgid "Illegal reference type at %L as EQUIVALENCE object"
+-msgstr ""
+-
+-#: fortran/trans-common.c:865
+-#, no-c-format
+-msgid "Inconsistent equivalence rules involving '%s' at %L and '%s' at %L"
+-msgstr ""
+-
+-#. Aligning this field would misalign a previous field.
+-#: fortran/trans-common.c:998
+-#, no-c-format
+-msgid "The equivalence set for variable '%s' declared at %L violates alignment requirements"
+-msgstr ""
+-
+-#: fortran/trans-common.c:1063
+-#, no-c-format
+-msgid "Equivalence for '%s' does not match ordering of COMMON '%s' at %L"
+-msgstr ""
+-
+-#: fortran/trans-common.c:1078
+-#, no-c-format
+-msgid "The equivalence set for '%s' cause an invalid extension to COMMON '%s' at %L"
+-msgstr ""
+-
+-#. The required offset conflicts with previous alignment
+-#. requirements. Insert padding immediately before this
+-#. segment.
+-#: fortran/trans-common.c:1089
+-#, no-c-format
+-msgid "Padding of %d bytes required before '%s' in COMMON '%s' at %L"
+-msgstr ""
+-
+-#: fortran/trans-common.c:1115
+-#, no-c-format
+-msgid "COMMON '%s' at %L does not exist"
+-msgstr ""
+-
+-#: fortran/trans-common.c:1122
+-#, no-c-format
+-msgid "COMMON '%s' at %L requires %d bytes of padding at start"
+-msgstr ""
+-
+-#: fortran/trans-decl.c:3016
+-#, no-c-format
+-msgid "Dummy argument '%s' at %L was declared INTENT(OUT) but was not set"
+-msgstr ""
+-
+-#: fortran/trans-decl.c:3020
+-#, no-c-format
+-msgid "Unused dummy argument '%s' at %L"
+-msgstr ""
+-
+-#: fortran/trans-decl.c:3026
+-#, fuzzy, no-c-format
+-msgid "Unused variable '%s' declared at %L"
+-msgstr "%Jla variable \"%D\" és declarada com \"inline\""
+-
+-#: fortran/trans-decl.c:3052
+-#, fuzzy, no-c-format
+-msgid "Unused parameter '%s' declared at %L"
+-msgstr "el paràmetre \"%s\" es va declarar void"
+-
+-#: fortran/trans-expr.c:2036
+-#, fuzzy, no-c-format
+-msgid "Unknown argument list function at %L"
+-msgstr "massa pocs arguments per a la funció \"%s\""
+-
+-#: fortran/trans-intrinsic.c:829
+-#, no-c-format
+-msgid "'dim' argument of %s intrinsic at %L is not a valid dimension index"
+-msgstr ""
+-
+-#: fortran/trans-io.c:1850
+-#, no-c-format
+-msgid "Derived type '%s' at %L has PRIVATE components"
+-msgstr ""
+-
+-#: fortran/trans-stmt.c:438
+-#, fuzzy, no-c-format
+-msgid "An alternate return at %L without a * dummy argument"
+-msgstr "L'especificador de retorn alternatiu en %0 no és vàlid dintre d'una unitat de programa principal"
+-
+-#: fortran/trans.c:49
+-msgid "Array bound mismatch"
+-msgstr ""
+-
+-#: fortran/trans.c:50
+-#, fuzzy
+-msgid "Array reference out of bounds"
+-msgstr "formant la referència a void"
+-
+-#: fortran/trans.c:51
+-#, fuzzy
+-msgid "Incorrect function return value"
+-msgstr "la funció \"no return\" retorna un valor que no és \"void\""
+-
+-#: fortran/trans.c:465 fortran/trans.c:859
+-msgid "Attempt to allocate a negative amount of memory."
+-msgstr ""
+-
+-#: fortran/trans.c:479
+-msgid "Memory allocation failed"
+-msgstr ""
+-
+-#: fortran/trans.c:567
+-msgid "Attempt to allocate negative amount of memory. Possible integer overflow"
+-msgstr ""
+-
+-#: fortran/trans.c:598 fortran/trans.c:876
+-msgid "Out of memory"
+-msgstr ""
+-
+-#: fortran/trans.c:678
+-msgid "Attempting to allocate already allocated array"
+-msgstr ""
+-
+-#: fortran/trans.c:776
+-msgid "Attempt to DEALLOCATE unallocated memory."
+-msgstr ""
+-
+-#: java/jcf-dump.c:1066
+-#, c-format
+-msgid "Not a valid Java .class file.\n"
+-msgstr ""
+-
+-#: java/jcf-dump.c:1072
+-#, fuzzy, c-format
+-msgid "error while parsing constant pool\n"
+-msgstr "%s abans d'una constant de cadena"
+-
+-#: java/jcf-dump.c:1078 java/jcf-parse.c:1458
+-#, gcc-internal-format
+-msgid "error in constant pool entry #%d\n"
+-msgstr ""
+-
+-#: java/jcf-dump.c:1088
+-#, c-format
+-msgid "error while parsing fields\n"
+-msgstr ""
+-
+-#: java/jcf-dump.c:1094
+-#, c-format
+-msgid "error while parsing methods\n"
+-msgstr ""
+-
+-#: java/jcf-dump.c:1100
+-#, c-format
+-msgid "error while parsing final attributes\n"
+-msgstr ""
+-
+-#: java/jcf-dump.c:1137
+-#, c-format
+-msgid "Try 'jcf-dump --help' for more information.\n"
+-msgstr ""
+-
+-#: java/jcf-dump.c:1144
+-#, fuzzy, c-format
+-msgid ""
+-"Usage: jcf-dump [OPTION]... CLASS...\n"
+-"\n"
+-msgstr ""
+-"Us: gcov [OPCIO]... FITXERFONT\n"
+-"\n"
+-
+-#: java/jcf-dump.c:1145
+-#, c-format
+-msgid ""
+-"Display contents of a class file in readable form.\n"
+-"\n"
+-msgstr ""
+-
+-#: java/jcf-dump.c:1146
+-#, fuzzy, c-format
+-msgid " -c Disassemble method bodies\n"
+-msgstr " -W Activar avisos extra\n"
+-
+-#: java/jcf-dump.c:1147
+-#, fuzzy, c-format
+-msgid " --javap Generate output in 'javap' format\n"
+-msgstr " --help Mostra aquesta informació\n"
+-
+-#: java/jcf-dump.c:1149
+-#, c-format
+-msgid " --classpath PATH Set path to find .class files\n"
+-msgstr ""
+-
+-#: java/jcf-dump.c:1150
+-#, fuzzy, c-format
+-msgid " -IDIR Append directory to class path\n"
+-msgstr ""
+-" -B <directori> Agrega el <directori> a les rutes de recerca del\n"
+-" compilador\n"
+-
+-#: java/jcf-dump.c:1151
+-#, c-format
+-msgid " --bootclasspath PATH Override built-in class path\n"
+-msgstr ""
+-
+-#: java/jcf-dump.c:1152
+-#, c-format
+-msgid " --extdirs PATH Set extensions directory path\n"
+-msgstr ""
+-
+-#: java/jcf-dump.c:1153
+-#, fuzzy, c-format
+-msgid " -o FILE Set output file name\n"
+-msgstr " -o <fitxer> Col·loca la sortida en el <fitxer>\n"
+-
+-#: java/jcf-dump.c:1155
+-#, fuzzy, c-format
+-msgid " --help Print this help, then exit\n"
+-msgstr " -h, --help Mostra aquesta informació, i surt\n"
+-
+-#: java/jcf-dump.c:1156
+-#, fuzzy, c-format
+-msgid " --version Print version number, then exit\n"
+-msgstr " -v, --version Mostra el numero de versió, i surt\n"
+-
+-#: java/jcf-dump.c:1157
+-#, fuzzy, c-format
+-msgid " -v, --verbose Print extra information while running\n"
+-msgstr " -v, --version Mostra el numero de versió, i surt\n"
+-
+-#: java/jcf-dump.c:1159
+-#, fuzzy, c-format
+-msgid ""
+-"For bug reporting instructions, please see:\n"
+-"%s.\n"
+-msgstr ""
+-"\n"
+-"Per a instrucions d'informe de bug, si us plau consulta:\n"
+-"%s.\n"
+-
+-#: java/jcf-dump.c:1187 java/jcf-dump.c:1255
+-#, c-format
+-msgid "jcf-dump: no classes specified\n"
+-msgstr ""
+-
+-#: java/jcf-dump.c:1275
+-#, fuzzy, c-format
+-msgid "Cannot open '%s' for output.\n"
+-msgstr "no es pot obrir %s"
+-
+-#: java/jcf-dump.c:1321
+-#, c-format
+-msgid "bad format of .zip/.jar archive\n"
+-msgstr ""
+-
+-#: java/jcf-dump.c:1439
+-#, c-format
+-msgid "Bad byte codes.\n"
+-msgstr ""
+-
+-#: java/jvgenmain.c:47
+-#, fuzzy, c-format
+-msgid "Usage: %s [OPTIONS]... CLASSNAMEmain [OUTFILE]\n"
+-msgstr ""
+-"Us: gcov [OPCIO]... FITXERFONT\n"
+-"\n"
+-
+-#: java/jvgenmain.c:109
+-#, fuzzy, c-format
+-msgid "%s: Cannot open output file: %s\n"
+-msgstr "%s:no es pot obrir el fitxer de sortida \"%s\"\n"
+-
+-#: java/jvgenmain.c:151
+-#, fuzzy, c-format
+-msgid "%s: Failed to close output file %s\n"
+-msgstr "%s:no es pot obrir el fitxer de sortida \"%s\"\n"
+-
+-#: java/jvspec.c:409
+-#, c-format
+-msgid "can't specify '-D' without '--main'\n"
+-msgstr ""
+-
+-#: java/jvspec.c:412
+-#, fuzzy, c-format
+-msgid "'%s' is not a valid class name"
+-msgstr "\"%s\" no és un nom de fitxer vàlid"
+-
+-#: java/jvspec.c:418
+-#, c-format
+-msgid "--resource requires -o"
+-msgstr ""
+-
+-#: java/jvspec.c:432
+-#, c-format
+-msgid "cannot specify both -C and -o"
+-msgstr ""
+-
+-#: java/jvspec.c:444
+-#, c-format
+-msgid "cannot create temporary file"
+-msgstr ""
+-
+-#: java/jvspec.c:466
+-#, c-format
+-msgid "using both @FILE with multiple files not implemented"
+-msgstr ""
+-
+-#: java/jvspec.c:588
+-#, c-format
+-msgid "cannot specify 'main' class when not linking"
+-msgstr ""
+-
+-#: config/i386/nwld.h:34
+-#, fuzzy
+-msgid "Static linking is not supported.\n"
+-msgstr "no es dóna suport a l'expressió del límit de la pila"
+-
+-#: java/jvspec.c:80 gcc.c:820 ada/lang-specs.h:33
+-msgid "-pg and -fomit-frame-pointer are incompatible"
+-msgstr ""
+-
+-#: config/vax/netbsd-elf.h:41
+-#, fuzzy
+-msgid "the -shared option is not currently supported for VAX ELF"
+-msgstr "L'opció -shared no se suporta actualment per a ELF de VAX."
+-
+-#: config/sparc/sol2-gld-bi.h:17 config/sparc/sol2-gld-bi.h:22
+-#: config/sparc/sol2-bi.h:189 config/sparc/sol2-bi.h:194
+-msgid "does not support multilib"
+-msgstr "no es dóna suport a multilib"
+-
+-#: config/vax/vax.h:49 config/vax/vax.h:50
+-msgid "profiling not supported with -mg\n"
+-msgstr ""
+-
+-#: config/rs6000/linux64.h:347 config/rs6000/linux64.h:349 config/linux.h:106
+-#: config/linux.h:108 config/rs6000/sysv4.h:897 config/rs6000/sysv4.h:899
+-#: config/alpha/linux-elf.h:33 config/alpha/linux-elf.h:35
+-#: config/sparc/linux.h:126 config/sparc/linux.h:128
+-#: config/sparc/linux64.h:152 config/sparc/linux64.h:154
+-msgid "-mglibc and -muclibc used together"
+-msgstr ""
+-
+-#: config/i386/cygwin.h:28
+-msgid "mno-cygwin and mno-win32 are not compatible"
+-msgstr ""
+-
+-#: config/i386/cygwin.h:74 config/i386/mingw32.h:74
+-msgid "shared and mdll are not compatible"
+-msgstr ""
+-
+-#: config/i386/sco5.h:188
+-msgid "-pg not supported on this platform"
+-msgstr "-pg no té suport en aquesta plataforma"
+-
+-#: config/i386/sco5.h:189
+-msgid "-p and -pp specified - pick one"
+-msgstr "-p i -pp especificats - tria un"
+-
+-#: config/i386/sco5.h:258
+-msgid "-G and -static are mutually exclusive"
+-msgstr "-G·i·-static són mútuament exclusius"
+-
+-#: gcc.c:792
+-msgid "GCC does not support -C or -CC without -E"
+-msgstr "GCC no dóna suport a -C o -CC sense usar -E"
+-
+-#: gcc.c:1002
+-msgid "-E or -x required when input is from standard input"
+-msgstr ""
+-
+-#: java/lang-specs.h:33
+-msgid "-fjni and -femit-class-files are incompatible"
+-msgstr ""
+-
+-#: java/lang-specs.h:34
+-msgid "-fjni and -femit-class-file are incompatible"
+-msgstr ""
+-
+-#: java/lang-specs.h:35 java/lang-specs.h:36
+-msgid "-femit-class-file should used along with -fsyntax-only"
+-msgstr ""
+-
+-#: config/mcore/mcore.h:56
+-msgid "the m210 does not have little endian support"
+-msgstr ""
+-
+-#: config/lynx.h:70
+-msgid "cannot use mthreads and mlegacy-threads together"
+-msgstr ""
+-
+-#: config/lynx.h:95
+-msgid "cannot use mshared and static together"
+-msgstr ""
+-
+-#: config/sh/sh.h:461
+-#, fuzzy
+-msgid "SH2a does not support little-endian"
+-msgstr "no es dóna suport a multilib"
+-
+-#: config/mips/mips.h:1042 config/arc/arc.h:61
+-msgid "may not use both -EB and -EL"
+-msgstr ""
+-
+-#: config/s390/tpf.h:119
+-#, fuzzy
+-msgid "static is not supported on TPF-OS"
+-msgstr "no es dóna suport a límits de pila en aquest objectiu"
+-
+-#: config/rs6000/darwin.h:95
+-msgid " conflicting code gen style switches are used"
+-msgstr ""
+-
+-#: ada/lang-specs.h:34
+-msgid "-c or -S required for Ada"
+-msgstr ""
+-
+-#: config/mips/r3900.h:34
+-msgid "-mhard-float not supported"
+-msgstr ""
+-
+-#: config/mips/r3900.h:36
+-msgid "-msingle-float and -msoft-float cannot both be specified"
+-msgstr ""
+-
+-#: config/vxworks.h:71
+-#, fuzzy
+-msgid "-Xbind-now and -Xbind-lazy are incompatible"
+-msgstr "-membedded-pic i -mabicalls són incompatibles"
+-
+-#: config/darwin.h:269
+-msgid "-current_version only allowed with -dynamiclib"
+-msgstr ""
+-
+-#: config/darwin.h:271
+-msgid "-install_name only allowed with -dynamiclib"
+-msgstr ""
+-
+-#: config/darwin.h:276
+-msgid "-bundle not allowed with -dynamiclib"
+-msgstr "no es permet -bundle amb -dynamiclib"
+-
+-#: config/darwin.h:277
+-msgid "-bundle_loader not allowed with -dynamiclib"
+-msgstr "no es permet -bundle_loader amb -dynamiclib"
+-
+-#: config/darwin.h:278
+-msgid "-client_name not allowed with -dynamiclib"
+-msgstr "no es permet -client_name amb -dynamiclib"
+-
+-#: config/darwin.h:283
+-msgid "-force_flat_namespace not allowed with -dynamiclib"
+-msgstr ""
+-
+-#: config/darwin.h:285
+-msgid "-keep_private_externs not allowed with -dynamiclib"
+-msgstr ""
+-
+-#: config/darwin.h:286
+-msgid "-private_bundle not allowed with -dynamiclib"
+-msgstr "no es permet -private_bundle amb -dynamiclib"
+-
+-#: config/sparc/linux64.h:211 config/sparc/linux64.h:222
+-#: config/sparc/netbsd-elf.h:125 config/sparc/netbsd-elf.h:144
+-#: config/sparc/sol2-bi.h:217 config/sparc/sol2-bi.h:227
+-msgid "may not use both -m32 and -m64"
+-msgstr ""
+-
+-#: config/arm/arm.h:147
+-msgid "-msoft-float and -mhard_float may not be used together"
+-msgstr ""
+-
+-#: config/arm/arm.h:149
+-msgid "-mbig-endian and -mlittle-endian may not be used together"
+-msgstr ""
+-
+-#: java/lang.opt:65
+-#, fuzzy
+-msgid "Warn if a deprecated compiler feature, class, method, or field is used"
+-msgstr "No anunciar característiques obsoletes del compilador"
+-
+-#: java/lang.opt:69
+-msgid "Warn if deprecated empty statements are found"
+-msgstr ""
+-
+-#: java/lang.opt:73
+-msgid "Warn if .class files are out of date"
+-msgstr ""
+-
+-#: java/lang.opt:77
+-msgid "Warn if modifiers are specified when not necessary"
+-msgstr ""
+-
+-#: java/lang.opt:81
+-msgid "Deprecated; use --classpath instead"
+-msgstr ""
+-
+-#: java/lang.opt:88
+-msgid "Permit the use of the assert keyword"
+-msgstr ""
+-
+-#: java/lang.opt:110
+-msgid "Replace system path"
+-msgstr ""
+-
+-#: java/lang.opt:114
+-#, fuzzy
+-msgid "Generate checks for references to NULL"
+-msgstr "Generar codi per a una DLL"
+-
+-#: java/lang.opt:118
+-msgid "Set class path"
+-msgstr ""
+-
+-#: java/lang.opt:125
+-msgid "Output a class file"
+-msgstr ""
+-
+-#: java/lang.opt:129
+-msgid "Alias for -femit-class-file"
+-msgstr ""
+-
+-#: java/lang.opt:133
+-msgid "Choose input encoding (defaults from your locale)"
+-msgstr ""
+-
+-#: java/lang.opt:137
+-msgid "Set the extension directory path"
+-msgstr ""
+-
+-#: java/lang.opt:144
+-msgid "Input file is a file with a list of filenames to compile"
+-msgstr ""
+-
+-#: java/lang.opt:151
+-msgid "Always check for non gcj generated classes archives"
+-msgstr ""
+-
+-#: java/lang.opt:155
+-msgid "Assume the runtime uses a hash table to map an object to its synchronization structure"
+-msgstr ""
+-
+-#: java/lang.opt:159
+-msgid "Generate instances of Class at runtime"
+-msgstr ""
+-
+-#: java/lang.opt:163
+-msgid "Use offset tables for virtual method calls"
+-msgstr ""
+-
+-#: java/lang.opt:170
+-msgid "Assume native functions are implemented using JNI"
+-msgstr ""
+-
+-#: java/lang.opt:174
+-#, fuzzy
+-msgid "Enable optimization of static class initialization code"
+-msgstr "(es requereix una inicialització fora de la classe)"
+-
+-#: java/lang.opt:181
+-msgid "Reduce the amount of reflection meta-data generated"
+-msgstr ""
+-
+-#: java/lang.opt:185
+-msgid "Enable assignability checks for stores into object arrays"
+-msgstr ""
+-
+-#: java/lang.opt:189
+-#, fuzzy
+-msgid "Generate code for the Boehm GC"
+-msgstr "Generar codi per a M*Core M340"
+-
+-#: java/lang.opt:193
+-msgid "Call a library routine to do integer divisions"
+-msgstr ""
+-
+-#: java/lang.opt:197
+-msgid "Generated should be loaded by bootstrap loader"
+-msgstr ""
+-
+-#: java/lang.opt:201
+-msgid "Set the source language version"
+-msgstr ""
+-
+-#: java/lang.opt:205
+-#, fuzzy
+-msgid "Set the target VM version"
+-msgstr "versió d'encapçalat errònia"
+-
+-#: ada/lang.opt:96
+-msgid "Specify options to GNAT"
+-msgstr ""
+-
+-#: fortran/lang.opt:29
+-#, fuzzy
+-msgid "Add a directory for INCLUDE and MODULE searching"
+-msgstr "Agregar un directori per a la recerca de INCLUDE"
+-
+-#: fortran/lang.opt:33
+-msgid "Put MODULE files in 'directory'"
+-msgstr ""
+-
+-#: fortran/lang.opt:41
+-#, fuzzy
+-msgid "Warn about possible aliasing of dummy arguments"
+-msgstr "Avisar sobre possibles parèntesis faltantes"
+-
+-#: fortran/lang.opt:45
+-#, fuzzy
+-msgid "Warn about missing ampersand in continued character constants"
+-msgstr "Avisar sobre l'ús de literals multicaràcters"
+-
+-#: fortran/lang.opt:49
+-#, fuzzy
+-msgid "Warn about truncated character expressions"
+-msgstr "No anunciar característiques obsoletes del compilador"
+-
+-#: fortran/lang.opt:53
+-#, fuzzy
+-msgid "Warn about implicit conversion"
+-msgstr "Avisar sobre la declaració implícita de funcions"
+-
+-#: fortran/lang.opt:57
+-#, fuzzy
+-msgid "Warn about calls with implicit interface"
+-msgstr "Avisar sobre conversions que descarten calificators"
+-
+-#: fortran/lang.opt:61
+-#, fuzzy
+-msgid "Warn about truncated source lines"
+-msgstr "No anunciar característiques obsoletes del compilador"
+-
+-#: fortran/lang.opt:65
+-#, fuzzy
+-msgid "Warn about usage of non-standard intrinsics"
+-msgstr "Avisar sobre l'ús d' (només algunes per ara) extensions Fortran"
+-
+-#: fortran/lang.opt:69
+-#, fuzzy
+-msgid "Warn about \"suspicious\" constructs"
+-msgstr "Avisar sobre declaracions sospitoses de main"
+-
+-#: fortran/lang.opt:73
+-msgid "Permit nonconforming uses of the tab character"
+-msgstr ""
+-
+-#: fortran/lang.opt:77
+-#, fuzzy
+-msgid "Warn about underflow of numerical constant expressions"
+-msgstr "desbordament en la constant implícita"
+-
+-#: fortran/lang.opt:81
+-msgid "All intrinsics procedures are available regardless of selected standard"
+-msgstr ""
+-
+-#: fortran/lang.opt:89
+-#, fuzzy
+-msgid "Do not treat local variables and COMMON blocks as if they were named in SAVE statements"
+-msgstr "Tractar les variables locals i els blocs COMMON com si fossin nomenats en declaracions SAVE"
+-
+-#: fortran/lang.opt:93
+-msgid "Specify that backslash in string introduces an escape character"
+-msgstr ""
+-
+-#: fortran/lang.opt:97
+-msgid "Produce a backtrace when a runtime error is encountered"
+-msgstr ""
+-
+-#: fortran/lang.opt:101
+-msgid "-fblas-matmul-limit=<n> Size of the smallest matrix for which matmul will use BLAS"
+-msgstr ""
+-
+-#: fortran/lang.opt:105
+-#, fuzzy
+-msgid "Use big-endian format for unformatted files"
+-msgstr "Usar ordre de bit big-endian"
+-
+-#: fortran/lang.opt:109
+-#, fuzzy
+-msgid "Use little-endian format for unformatted files"
+-msgstr "Usar l'ordre d'octet little-endian per a les dades"
+-
+-#: fortran/lang.opt:113
+-msgid "Use native format for unformatted files"
+-msgstr ""
+-
+-#: fortran/lang.opt:117
+-msgid "Swap endianness for unformatted files"
+-msgstr ""
+-
+-#: fortran/lang.opt:121
+-#, fuzzy
+-msgid "Use the Cray Pointer extension"
+-msgstr "Usar la interfície Cygwin"
+-
+-#: fortran/lang.opt:125
+-msgid "Ignore 'D' in column one in fixed form"
+-msgstr ""
+-
+-#: fortran/lang.opt:129
+-msgid "Treat lines with 'D' in column one as comments"
+-msgstr ""
+-
+-#: fortran/lang.opt:133
+-msgid "Set the default double precision kind to an 8 byte wide type"
+-msgstr ""
+-
+-#: fortran/lang.opt:137
+-msgid "Set the default integer kind to an 8 byte wide type"
+-msgstr ""
+-
+-#: fortran/lang.opt:141
+-msgid "Set the default real kind to an 8 byte wide type"
+-msgstr ""
+-
+-#: fortran/lang.opt:145
+-msgid "Allow dollar signs in entity names"
+-msgstr ""
+-
+-#: fortran/lang.opt:149
+-msgid "Dump a core file when a runtime error occurs"
+-msgstr ""
+-
+-#: fortran/lang.opt:153
+-#, fuzzy
+-msgid "Display the code tree after parsing"
+-msgstr "Mostra la versió del compilador"
+-
+-#: fortran/lang.opt:157
+-msgid "Specify that an external BLAS library should be used for matmul calls on large-size arrays"
+-msgstr ""
+-
+-#: fortran/lang.opt:161
+-#, fuzzy
+-msgid "Use f2c calling convention"
+-msgstr "Usar convenció de cridada normal"
+-
+-#: fortran/lang.opt:165
+-#, fuzzy
+-msgid "Assume that the source file is fixed form"
+-msgstr "Assumir que els punters no tenen alies"
+-
+-#: fortran/lang.opt:169
+-msgid "Specify where to find the compiled intrinsic modules"
+-msgstr ""
+-
+-#: fortran/lang.opt:173
+-msgid "Allow arbitrary character line width in fixed mode"
+-msgstr ""
+-
+-#: fortran/lang.opt:177
+-msgid "Use n as character line width in fixed mode"
+-msgstr ""
+-
+-#: fortran/lang.opt:181
+-#, fuzzy
+-msgid "Stop on following floating point exceptions"
+-msgstr "Especifica la versió de l'emulador de nombre de coma flotant"
+-
+-#: fortran/lang.opt:185
+-msgid "Assume that the source file is free form"
+-msgstr ""
+-
+-#: fortran/lang.opt:189
+-msgid "Allow arbitrary character line width in free mode"
+-msgstr ""
+-
+-#: fortran/lang.opt:193
+-msgid "Use n as character line width in free mode"
+-msgstr ""
+-
+-#: fortran/lang.opt:197
+-msgid "Specify that no implicit typing is allowed, unless overridden by explicit IMPLICIT statements"
+-msgstr ""
+-
+-#: fortran/lang.opt:201
+-msgid "-finit-character=<n> Initialize local character variables to ASCII value n"
+-msgstr ""
+-
+-#: fortran/lang.opt:205
+-msgid "-finit-integer=<n> Initialize local integer variables to n"
+-msgstr ""
+-
+-#: fortran/lang.opt:209
+-#, fuzzy
+-msgid "Initialize local variables to zero (from g77)"
+-msgstr "Inicialitza les variables locals i matrius a zero"
+-
+-#: fortran/lang.opt:213
+-msgid "-finit-logical=<true|false> Initialize local logical variables"
+-msgstr ""
+-
+-#: fortran/lang.opt:217
+-msgid "-finit-real=<zero|nan|inf|-inf> Initialize local real variables"
+-msgstr ""
+-
+-#: fortran/lang.opt:221
+-#, fuzzy
+-msgid "Maximum number of errors to report"
+-msgstr "Especificar el nombre màxim d'iteracions per a RPTS"
+-
+-#: fortran/lang.opt:225
+-#, fuzzy
+-msgid "Maximum identifier length"
+-msgstr "Establir la longitud màxima de línia"
+-
+-#: fortran/lang.opt:229
+-msgid "Maximum length for subrecords"
+-msgstr ""
+-
+-#: fortran/lang.opt:233
+-msgid "Size in bytes of the largest array that will be put on the stack"
+-msgstr ""
+-
+-#: fortran/lang.opt:237
+-msgid "Set default accessibility of module entities to PRIVATE."
+-msgstr ""
+-
+-#: fortran/lang.opt:241
+-msgid "Enable OpenMP (also sets frecursive)"
+-msgstr ""
+-
+-#: fortran/lang.opt:245
+-msgid "Try to lay out derived types as compactly as possible"
+-msgstr ""
+-
+-#: fortran/lang.opt:249
+-msgid "Treat the input file as preprocessed"
+-msgstr ""
+-
+-#: fortran/lang.opt:253
+-msgid "Enable range checking during compilation"
+-msgstr ""
+-
+-#: fortran/lang.opt:257
+-msgid "Use a 4-byte record marker for unformatted files"
+-msgstr ""
+-
+-#: fortran/lang.opt:261
+-msgid "Use an 8-byte record marker for unformatted files"
+-msgstr ""
+-
+-#: fortran/lang.opt:265
+-msgid "Allocate local variables on the stack to allow indirect recursion"
+-msgstr ""
+-
+-#: fortran/lang.opt:269
+-msgid "Copy array sections into a contiguous block on procedure entry"
+-msgstr ""
+-
+-#: fortran/lang.opt:273
+-msgid "Append a second underscore if the name already contains an underscore"
+-msgstr ""
+-
+-#: fortran/lang.opt:277 c.opt:714
+-msgid "Use the narrowest integer type possible for enumeration types"
+-msgstr ""
+-
+-#: fortran/lang.opt:281
+-msgid "Apply negative sign to zero values"
+-msgstr ""
+-
+-#: fortran/lang.opt:285
+-#, fuzzy
+-msgid "Append underscores to externally visible names"
+-msgstr "Mai agregar un segon subratllat als externs"
+-
+-#: fortran/lang.opt:289
+-msgid "Statically link the GNU Fortran helper library (libgfortran)"
+-msgstr ""
+-
+-#: fortran/lang.opt:293
+-msgid "Conform to the ISO Fortran 2003 standard"
+-msgstr ""
+-
+-#: fortran/lang.opt:297
+-msgid "Conform to the ISO Fortran 95 standard"
+-msgstr ""
+-
+-#: fortran/lang.opt:301
+-msgid "Conform to nothing in particular"
+-msgstr ""
+-
+-#: fortran/lang.opt:305
+-msgid "Accept extensions to support legacy code"
+-msgstr ""
+-
+-#: treelang/lang.opt:30
+-msgid "Trace lexical analysis"
+-msgstr ""
+-
+-#: treelang/lang.opt:34
+-#, fuzzy
+-msgid "Trace the parsing process"
+-msgstr "Apuntar al processador AM33"
+-
+-#: config/alpha/alpha.opt:23 config/i386/i386.opt:155
+-msgid "Do not use hardware fp"
+-msgstr "No usar fp de maquinari"
+-
+-#: config/alpha/alpha.opt:27
+-msgid "Use fp registers"
+-msgstr "Usar registres fp"
+-
+-#: config/alpha/alpha.opt:31
+-msgid "Assume GAS"
+-msgstr "Assumir GAS"
+-
+-#: config/alpha/alpha.opt:35
+-msgid "Do not assume GAS"
+-msgstr "No assumir GAS"
+-
+-#: config/alpha/alpha.opt:39
+-msgid "Request IEEE-conformant math library routines (OSF/1)"
+-msgstr "Requerir rutines de biblioteca matemàtica que compleixin amb IEEE (OSF/1)"
+-
+-#: config/alpha/alpha.opt:43
+-msgid "Emit IEEE-conformant code, without inexact exceptions"
+-msgstr "Emetre codi que compleixi amb IEEE, sense excepcions inexactes"
+-
+-#: config/alpha/alpha.opt:50
+-msgid "Do not emit complex integer constants to read-only memory"
+-msgstr "No emetre constants enteres complexes a memòria de només lectura"
+-
+-#: config/alpha/alpha.opt:54
+-msgid "Use VAX fp"
+-msgstr "Usar fp VAX"
+-
+-#: config/alpha/alpha.opt:58
+-msgid "Do not use VAX fp"
+-msgstr "No usar fp VAX"
+-
+-#: config/alpha/alpha.opt:62
+-msgid "Emit code for the byte/word ISA extension"
+-msgstr "Emetre codi per a l'extensió ISA octet/word"
+-
+-#: config/alpha/alpha.opt:66
+-msgid "Emit code for the motion video ISA extension"
+-msgstr "Emetre codi per a l'extensió ISA de vídeo en moviment"
+-
+-#: config/alpha/alpha.opt:70
+-msgid "Emit code for the fp move and sqrt ISA extension"
+-msgstr "Emetre codi per a l'extensió ISA de move i sqrt de fp"
+-
+-#: config/alpha/alpha.opt:74
+-msgid "Emit code for the counting ISA extension"
+-msgstr "Emetre codi per a l'extensió ISA de compte"
+-
+-#: config/alpha/alpha.opt:78
+-msgid "Emit code using explicit relocation directives"
+-msgstr "Emetre codi utilitzant directives explícites de reassignació"
+-
+-#: config/alpha/alpha.opt:82
+-msgid "Emit 16-bit relocations to the small data areas"
+-msgstr "Emetre reassignació de 16 bits per a les àrees de dades petites"
+-
+-#: config/alpha/alpha.opt:86
+-msgid "Emit 32-bit relocations to the small data areas"
+-msgstr "Emetre reassignació de 32 bits per a les àrees de dades petites"
+-
+-#: config/alpha/alpha.opt:90
+-#, fuzzy
+-msgid "Emit direct branches to local functions"
+-msgstr "Ometre el marc de referència per a les funcions fulles"
+-
+-#: config/alpha/alpha.opt:94
+-#, fuzzy
+-msgid "Emit indirect branches to local functions"
+-msgstr "Ometre el marc de referència per a les funcions fulles"
+-
+-#: config/alpha/alpha.opt:98
+-msgid "Emit rdval instead of rduniq for thread pointer"
+-msgstr ""
+-
+-#: config/alpha/alpha.opt:102 config/s390/s390.opt:59
+-#: config/sparc/long-double-switch.opt:23
+-#, fuzzy
+-msgid "Use 128-bit long double"
+-msgstr "Usar long doubles de 128 bits"
+-
+-#: config/alpha/alpha.opt:106 config/s390/s390.opt:63
+-#: config/sparc/long-double-switch.opt:27
+-#, fuzzy
+-msgid "Use 64-bit long double"
+-msgstr "Usar long doubles de 64 bit"
+-
+-#: config/alpha/alpha.opt:110
+-msgid "Use features of and schedule given CPU"
+-msgstr "Usar les característiques d'el i el planificador del CPU donat"
+-
+-#: config/alpha/alpha.opt:114
+-msgid "Schedule given CPU"
+-msgstr "planificat per al CPU donat"
+-
+-#: config/alpha/alpha.opt:118
+-msgid "Control the generated fp rounding mode"
+-msgstr "Controlar el mode d'arrodoniment generat de fp"
+-
+-#: config/alpha/alpha.opt:122
+-msgid "Control the IEEE trap mode"
+-msgstr "Controlar el mode de captura IEEE"
+-
+-#: config/alpha/alpha.opt:126
+-msgid "Control the precision given to fp exceptions"
+-msgstr "Controlar la precisió donada a les excepcions de fp"
+-
+-#: config/alpha/alpha.opt:130
+-msgid "Tune expected memory latency"
+-msgstr "Ajustar la latència esperada de memòria"
+-
+-#: config/alpha/alpha.opt:134 config/ia64/ia64.opt:93
+-#: config/rs6000/sysv4.opt:32
+-msgid "Specify bit size of immediate TLS offsets"
+-msgstr ""
+-
+-#: config/frv/frv.opt:23
+-#, fuzzy
+-msgid "Use 4 media accumulators"
+-msgstr "Usar el acumulador de multiplicació"
+-
+-#: config/frv/frv.opt:27
+-#, fuzzy
+-msgid "Use 8 media accumulators"
+-msgstr "Usar el acumulador de multiplicació"
+-
+-#: config/frv/frv.opt:31
+-#, fuzzy
+-msgid "Enable label alignment optimizations"
+-msgstr "Activar les optimitzacions del enllaçador"
+-
+-#: config/frv/frv.opt:35
+-#, fuzzy
+-msgid "Dynamically allocate cc registers"
+-msgstr "No assignar el registre BK"
+-
+-#: config/frv/frv.opt:42
+-msgid "Set the cost of branches"
+-msgstr ""
+-
+-#: config/frv/frv.opt:46
+-msgid "Enable conditional execution other than moves/scc"
+-msgstr ""
+-
+-#: config/frv/frv.opt:50
+-#, fuzzy
+-msgid "Change the maximum length of conditionally-executed sequences"
+-msgstr "La longitud màxima de la llista d'operacions pendents del planificador de tasques"
+-
+-#: config/frv/frv.opt:54
+-msgid "Change the number of temporary registers that are available to conditionally-executed sequences"
+-msgstr ""
+-
+-#: config/frv/frv.opt:58
+-#, fuzzy
+-msgid "Enable conditional moves"
+-msgstr "Activar l'ús de les instruccions condicionals move"
+-
+-#: config/frv/frv.opt:62
+-#, fuzzy
+-msgid "Set the target CPU type"
+-msgstr "Especificar el nom del CPU destinació"
+-
+-#: config/frv/frv.opt:84
+-#, fuzzy
+-msgid "Use fp double instructions"
+-msgstr "Usar instruccions AltiVec"
+-
+-#: config/frv/frv.opt:88
+-msgid "Change the ABI to allow double word insns"
+-msgstr ""
+-
+-#: config/frv/frv.opt:92 config/bfin/bfin.opt:73
+-#, fuzzy
+-msgid "Enable Function Descriptor PIC mode"
+-msgstr "Habilitar l'anàlisi de perfil de les funcions"
+-
+-#: config/frv/frv.opt:96
+-msgid "Just use icc0/fcc0"
+-msgstr ""
+-
+-#: config/frv/frv.opt:100
+-msgid "Only use 32 FPRs"
+-msgstr ""
+-
+-#: config/frv/frv.opt:104
+-msgid "Use 64 FPRs"
+-msgstr ""
+-
+-#: config/frv/frv.opt:108
+-msgid "Only use 32 GPRs"
+-msgstr ""
+-
+-#: config/frv/frv.opt:112
+-msgid "Use 64 GPRs"
+-msgstr ""
+-
+-#: config/frv/frv.opt:116
+-msgid "Enable use of GPREL for read-only data in FDPIC"
+-msgstr ""
+-
+-#: config/frv/frv.opt:120 config/rs6000/rs6000.opt:112
+-#: config/pdp11/pdp11.opt:71
+-msgid "Use hardware floating point"
+-msgstr "Usar coma flotant de maquinari"
+-
+-#: config/frv/frv.opt:124 config/bfin/bfin.opt:77
+-#, fuzzy
+-msgid "Enable inlining of PLT in function calls"
+-msgstr "Activar l'ús de la instrucció RTPS"
+-
+-#: config/frv/frv.opt:128
+-#, fuzzy
+-msgid "Enable PIC support for building libraries"
+-msgstr "Activar el suport per a objectes enormes"
+-
+-#: config/frv/frv.opt:132
+-msgid "Follow the EABI linkage requirements"
+-msgstr ""
+-
+-#: config/frv/frv.opt:136
+-#, fuzzy
+-msgid "Disallow direct calls to global functions"
+-msgstr "Ometre el marc de referència per a les funcions fulles"
+-
+-#: config/frv/frv.opt:140
+-#, fuzzy
+-msgid "Use media instructions"
+-msgstr "Usar instruccions de camps de bit"
+-
+-#: config/frv/frv.opt:144
+-#, fuzzy
+-msgid "Use multiply add/subtract instructions"
+-msgstr "Usar instruccions de fp per a multiplicar-acumular"
+-
+-#: config/frv/frv.opt:148
+-msgid "Enable optimizing &&/|| in conditional execution"
+-msgstr ""
+-
+-#: config/frv/frv.opt:152
+-#, fuzzy
+-msgid "Enable nested conditional execution optimizations"
+-msgstr "Activar l'ús de les instruccions condicionals move"
+-
+-#: config/frv/frv.opt:157
+-msgid "Do not mark ABI switches in e_flags"
+-msgstr ""
+-
+-#: config/frv/frv.opt:161
+-msgid "Remove redundant membars"
+-msgstr ""
+-
+-#: config/frv/frv.opt:165
+-#, fuzzy
+-msgid "Pack VLIW instructions"
+-msgstr "Usar instruccions AltiVec"
+-
+-#: config/frv/frv.opt:169
+-msgid "Enable setting GPRs to the result of comparisons"
+-msgstr ""
+-
+-#: config/frv/frv.opt:173
+-msgid "Change the amount of scheduler lookahead"
+-msgstr ""
+-
+-#: config/frv/frv.opt:177 config/pa/pa.opt:104
+-msgid "Use software floating point"
+-msgstr "Usar coma flotant de programari"
+-
+-#: config/frv/frv.opt:181
+-msgid "Assume a large TLS segment"
+-msgstr ""
+-
+-#: config/frv/frv.opt:185
+-#, fuzzy
+-msgid "Do not assume a large TLS segment"
+-msgstr "No assumir GAS"
+-
+-#: config/frv/frv.opt:190
+-msgid "Cause gas to print tomcat statistics"
+-msgstr ""
+-
+-#: config/frv/frv.opt:195
+-msgid "Link with the library-pic libraries"
+-msgstr ""
+-
+-#: config/frv/frv.opt:199
+-msgid "Allow branches to be packed with other instructions"
+-msgstr ""
+-
+-#: config/mn10300/mn10300.opt:23
+-msgid "Target the AM33 processor"
+-msgstr "Apuntar al processador AM33"
+-
+-#: config/mn10300/mn10300.opt:27
+-#, fuzzy
+-msgid "Target the AM33/2.0 processor"
+-msgstr "Apuntar al processador AM33"
+-
+-#: config/mn10300/mn10300.opt:31
+-msgid "Work around hardware multiply bug"
+-msgstr "Evitar el error de multiplicació de maquinari"
+-
+-#: config/mn10300/mn10300.opt:36
+-msgid "Enable linker relaxations"
+-msgstr "Activar la relaxació del enllaçador"
+-
+-#: config/mn10300/mn10300.opt:40
+-msgid "Return pointers in both a0 and d0"
+-msgstr ""
+-
+-#: config/s390/tpf.opt:23
+-msgid "Enable TPF-OS tracing code"
+-msgstr ""
+-
+-#: config/s390/tpf.opt:27
+-#, fuzzy
+-msgid "Specify main object for TPF-OS"
+-msgstr "Especificar el nombre màxim d'iteracions per a RPTS"
+-
+-#: config/s390/s390.opt:23
+-#, fuzzy
+-msgid "31 bit ABI"
+-msgstr "Usar el ABI 64 bits"
+-
+-#: config/s390/s390.opt:27
+-#, fuzzy
+-msgid "64 bit ABI"
+-msgstr "Usar el ABI 64 bits"
+-
+-#: config/s390/s390.opt:31 config/i386/i386.opt:59 config/spu/spu.opt:60
+-msgid "Generate code for given CPU"
+-msgstr "Generar codi per al CPU donat"
+-
+-#: config/s390/s390.opt:35
+-msgid "Maintain backchain pointer"
+-msgstr ""
+-
+-#: config/s390/s390.opt:39
+-msgid "Additional debug prints"
+-msgstr "Impressions addicionals de depuració"
+-
+-#: config/s390/s390.opt:43
+-msgid "ESA/390 architecture"
+-msgstr ""
+-
+-#: config/s390/s390.opt:47
+-#, fuzzy
+-msgid "Enable fused multiply/add instructions"
+-msgstr "Generar instruccions multiply/add de curt circuit"
+-
+-#: config/s390/s390.opt:51
+-#, fuzzy
+-msgid "Enable decimal floating point hardware support"
+-msgstr "la constant de coma flotant hexadecimal requereixe un exponent"
+-
+-#: config/s390/s390.opt:55
+-#, fuzzy
+-msgid "Enable hardware floating point"
+-msgstr "Usar coma flotant de maquinari"
+-
+-#: config/s390/s390.opt:67
+-msgid "Use packed stack layout"
+-msgstr ""
+-
+-#: config/s390/s390.opt:71
+-msgid "Use bras for executable < 64k"
+-msgstr "Usar bras per a executable < 64k"
+-
+-#: config/s390/s390.opt:75
+-#, fuzzy
+-msgid "Disable hardware floating point"
+-msgstr "Usar coma flotant de maquinari"
+-
+-#: config/s390/s390.opt:79
+-msgid "Set the max. number of bytes which has to be left to stack size before a trap instruction is triggered"
+-msgstr ""
+-
+-#: config/s390/s390.opt:83
+-msgid "Emit extra code in the function prologue in order to trap if the stack size exceeds the given limit"
+-msgstr ""
+-
+-#: config/s390/s390.opt:87 config/ia64/ia64.opt:97 config/sparc/sparc.opt:95
+-#: config/i386/i386.opt:183 config/rs6000/rs6000.opt:226 config/spu/spu.opt:64
+-msgid "Schedule code for given CPU"
+-msgstr "Codi de planificador per al CPU donat"
+-
+-#: config/s390/s390.opt:91
+-msgid "mvcle use"
+-msgstr "ùs de mvcle"
+-
+-#: config/s390/s390.opt:95
+-msgid "Warn if a function uses alloca or creates an array with dynamic size"
+-msgstr ""
+-
+-#: config/s390/s390.opt:99
+-msgid "Warn if a single function's framesize exceeds the given framesize"
+-msgstr ""
+-
+-#: config/s390/s390.opt:103
+-msgid "z/Architecture"
+-msgstr ""
+-
+-#: config/ia64/ilp32.opt:3
+-#, fuzzy
+-msgid "Generate ILP32 code"
+-msgstr "Generar codi 32 bit per a i386"
+-
+-#: config/ia64/ilp32.opt:7
+-#, fuzzy
+-msgid "Generate LP64 code"
+-msgstr "Generar codi 64 bit per a x86-64"
+-
+-#: config/ia64/ia64.opt:3
+-msgid "Generate big endian code"
+-msgstr "Generar codi big endian"
+-
+-#: config/ia64/ia64.opt:7
+-msgid "Generate little endian code"
+-msgstr "Generar codi little endian"
+-
+-#: config/ia64/ia64.opt:11
+-msgid "Generate code for GNU as"
+-msgstr "Generar codi per a GNU as"
+-
+-#: config/ia64/ia64.opt:15
+-msgid "Generate code for GNU ld"
+-msgstr "Generar codi per a GNU ld"
+-
+-#: config/ia64/ia64.opt:19
+-msgid "Emit stop bits before and after volatile extended asms"
+-msgstr "Emetre bits de desocupada abans i després de asms estesos amb volatile"
+-
+-#: config/ia64/ia64.opt:23
+-msgid "Use in/loc/out register names"
+-msgstr "Usar noms de registre in/loc/out"
+-
+-#: config/ia64/ia64.opt:30
+-msgid "Enable use of sdata/scommon/sbss"
+-msgstr "Activar l'ús de sdata/scommon/sbss"
+-
+-#: config/ia64/ia64.opt:34
+-msgid "Generate code without GP reg"
+-msgstr "Generar codi sense registre GP"
+-
+-#: config/ia64/ia64.opt:38
+-msgid "gp is constant (but save/restore gp on indirect calls)"
+-msgstr "gp és constant (però hi ha save/restore de gp en crides indirectes)"
+-
+-#: config/ia64/ia64.opt:42
+-msgid "Generate self-relocatable code"
+-msgstr "Generar codi self-relocatable"
+-
+-#: config/ia64/ia64.opt:46
+-msgid "Generate inline floating point division, optimize for latency"
+-msgstr "Generar divisió de coma flotant «inline», optimitzar per a latència"
+-
+-#: config/ia64/ia64.opt:50
+-msgid "Generate inline floating point division, optimize for throughput"
+-msgstr "Generar divisió de coma flotant «inline», optimitzar per a sortida"
+-
+-#: config/ia64/ia64.opt:57
+-msgid "Generate inline integer division, optimize for latency"
+-msgstr "Generar divisió entera «inline», optimitzar per a latència"
+-
+-#: config/ia64/ia64.opt:61
+-msgid "Generate inline integer division, optimize for throughput"
+-msgstr "Generar divisió entera «inline», optimitzar per a sortida"
+-
+-#: config/ia64/ia64.opt:65
+-#, fuzzy
+-msgid "Do not inline integer division"
+-msgstr "No avisar sobre la divisió entera per zero en temps de compilació"
+-
+-#: config/ia64/ia64.opt:69
+-msgid "Generate inline square root, optimize for latency"
+-msgstr "Generar arrel quadrada «inline», optimitzar per a latència"
+-
+-#: config/ia64/ia64.opt:73
+-msgid "Generate inline square root, optimize for throughput"
+-msgstr "Generar arrel quadrada «inline», optimitzar per a sortida"
+-
+-#: config/ia64/ia64.opt:77
+-#, fuzzy
+-msgid "Do not inline square root"
+-msgstr "No desactivar registres d'espai"
+-
+-#: config/ia64/ia64.opt:81
+-msgid "Enable Dwarf 2 line debug info via GNU as"
+-msgstr "Activar la informació de la línia de depuració Dwarf2 a través com de GNU"
+-
+-#: config/ia64/ia64.opt:85
+-msgid "Enable earlier placing stop bits for better scheduling"
+-msgstr ""
+-
+-#: config/ia64/ia64.opt:89 config/spu/spu.opt:56 config/pa/pa.opt:51
+-msgid "Specify range of registers to make fixed"
+-msgstr "Especifica el rang de registres a convertir en fixos"
+-
+-#: config/ia64/ia64.opt:101
+-#, fuzzy
+-msgid "Use data speculation before reload"
+-msgstr "Permetre el moviment especulatiu de més càrregues"
+-
+-#: config/ia64/ia64.opt:105
+-msgid "Use data speculation after reload"
+-msgstr ""
+-
+-#: config/ia64/ia64.opt:109
+-#, fuzzy
+-msgid "Use control speculation"
+-msgstr "Crear una aplicació de consola"
+-
+-#: config/ia64/ia64.opt:113
+-msgid "Use in block data speculation before reload"
+-msgstr ""
+-
+-#: config/ia64/ia64.opt:117
+-msgid "Use in block data speculation after reload"
+-msgstr ""
+-
+-#: config/ia64/ia64.opt:121
+-msgid "Use in block control speculation"
+-msgstr ""
+-
+-#: config/ia64/ia64.opt:125
+-msgid "Use simple data speculation check"
+-msgstr ""
+-
+-#: config/ia64/ia64.opt:129
+-msgid "Use simple data speculation check for control speculation"
+-msgstr ""
+-
+-#: config/ia64/ia64.opt:133
+-msgid "Print information about speculative motions."
+-msgstr ""
+-
+-#: config/ia64/ia64.opt:137
+-msgid "If set, data speculative instructions will be chosen for schedule only if there are no other choices at the moment "
+-msgstr ""
+-
+-#: config/ia64/ia64.opt:141
+-msgid "If set, control speculative instructions will be chosen for schedule only if there are no other choices at the moment "
+-msgstr ""
+-
+-#: config/ia64/ia64.opt:145
+-msgid "Count speculative dependencies while calculating priority of instructions"
+-msgstr ""
+-
+-#: config/m32c/m32c.opt:24 config/bfin/bfin.opt:23 config/mt/mt.opt:27
+-msgid "Use simulator runtime"
+-msgstr ""
+-
+-#: config/m32c/m32c.opt:28
+-#, fuzzy
+-msgid "Compile code for R8C variants"
+-msgstr "Compilar per a punters de 64-bit"
+-
+-#: config/m32c/m32c.opt:32
+-#, fuzzy
+-msgid "Compile code for M16C variants"
+-msgstr "Compilar per a punters de 64-bit"
+-
+-#: config/m32c/m32c.opt:36
+-#, fuzzy
+-msgid "Compile code for M32CM variants"
+-msgstr "Compilar per a punters de 32-bit"
+-
+-#: config/m32c/m32c.opt:40
+-#, fuzzy
+-msgid "Compile code for M32C variants"
+-msgstr "Compilar per a punters de 32-bit"
+-
+-#: config/m32c/m32c.opt:44
+-msgid "Number of memreg bytes (default: 16, range: 0..16)"
+-msgstr ""
+-
+-#: config/sparc/little-endian.opt:23
+-#, fuzzy
+-msgid "Generate code for little-endian"
+-msgstr "Generar codi per a little endian"
+-
+-#: config/sparc/little-endian.opt:27
+-#, fuzzy
+-msgid "Generate code for big-endian"
+-msgstr "Generar codi per a big endian"
+-
+-#: config/sparc/sparc.opt:23 config/sparc/sparc.opt:27
+-#, fuzzy
+-msgid "Use hardware FP"
+-msgstr "Usar fp de maquinari"
+-
+-#: config/sparc/sparc.opt:31
+-#, fuzzy
+-msgid "Do not use hardware FP"
+-msgstr "No usar fp de maquinari"
+-
+-#: config/sparc/sparc.opt:35
+-msgid "Assume possible double misalignment"
+-msgstr "Assumir desalineació de double possible"
+-
+-#: config/sparc/sparc.opt:39
+-msgid "Pass -assert pure-text to linker"
+-msgstr "Passar el text pur de -assert al enllaçador"
+-
+-#: config/sparc/sparc.opt:43
+-msgid "Use ABI reserved registers"
+-msgstr "Usar els registres ABI reservats"
+-
+-#: config/sparc/sparc.opt:47
+-#, fuzzy
+-msgid "Use hardware quad FP instructions"
+-msgstr "Usar instruccions de fp quad de maquinari"
+-
+-#: config/sparc/sparc.opt:51
+-msgid "Do not use hardware quad fp instructions"
+-msgstr "No usar instruccions de fp quad de maquinari"
+-
+-#: config/sparc/sparc.opt:55
+-#, fuzzy
+-msgid "Compile for V8+ ABI"
+-msgstr "Compilar per a el ABI de v8plus"
+-
+-#: config/sparc/sparc.opt:59
+-#, fuzzy
+-msgid "Use UltraSPARC Visual Instruction Set extensions"
+-msgstr "Utilitzar el Conjunt d'Instruccions Visuals"
+-
+-#: config/sparc/sparc.opt:63
+-msgid "Pointers are 64-bit"
+-msgstr "El punters són de 64 bits"
+-
+-#: config/sparc/sparc.opt:67
+-msgid "Pointers are 32-bit"
+-msgstr "El punters són de 32 bits"
+-
+-#: config/sparc/sparc.opt:71
+-msgid "Use 64-bit ABI"
+-msgstr "Usar el ABI 64 bits"
+-
+-#: config/sparc/sparc.opt:75
+-msgid "Use 32-bit ABI"
+-msgstr "Usar el ABI 32 bits"
+-
+-#: config/sparc/sparc.opt:79
+-msgid "Use stack bias"
+-msgstr "Usar tendència de la pila"
+-
+-#: config/sparc/sparc.opt:83
+-msgid "Use structs on stronger alignment for double-word copies"
+-msgstr "Usar structs en alineació més forta per a còpies double-word"
+-
+-#: config/sparc/sparc.opt:87
+-msgid "Optimize tail call instructions in assembler and linker"
+-msgstr "Optimitzar les instruccions de la crida extrem en l'ensamblador i l'enllaçador"
+-
+-#: config/sparc/sparc.opt:91 config/rs6000/rs6000.opt:222
+-msgid "Use features of and schedule code for given CPU"
+-msgstr "Usar característiques i calendaritzar el codi per al CPU donat"
+-
+-#: config/sparc/sparc.opt:99
+-#, fuzzy
+-msgid "Use given SPARC-V9 code model"
+-msgstr "Usar el model de codi del SPARC donat"
+-
+-#: config/sparc/sparc.opt:103
+-msgid "Enable strict 32-bit psABI struct return checking."
+-msgstr ""
+-
+-#: config/m32r/m32r.opt:23
+-#, fuzzy
+-msgid "Compile for the m32rx"
+-msgstr "Compilar per a un 68HC12"
+-
+-#: config/m32r/m32r.opt:27
+-#, fuzzy
+-msgid "Compile for the m32r2"
+-msgstr "Compilar per a un 68HC12"
+-
+-#: config/m32r/m32r.opt:31
+-#, fuzzy
+-msgid "Compile for the m32r"
+-msgstr "Compilar per a un 68HC12"
+-
+-#: config/m32r/m32r.opt:35
+-msgid "Align all loops to 32 byte boundary"
+-msgstr "Alinear tots els cicles al límit de 32 octet"
+-
+-#: config/m32r/m32r.opt:39
+-msgid "Prefer branches over conditional execution"
+-msgstr "Preferir les branques sobre l'execució condicional"
+-
+-#: config/m32r/m32r.opt:43
+-msgid "Give branches their default cost"
+-msgstr ""
+-
+-#: config/m32r/m32r.opt:47
+-msgid "Display compile time statistics"
+-msgstr "Mostrar estadístiques de tepms de compilació"
+-
+-#: config/m32r/m32r.opt:51
+-msgid "Specify cache flush function"
+-msgstr "Especificar una funció de neteja de memòria cau"
+-
+-#: config/m32r/m32r.opt:55
+-#, fuzzy
+-msgid "Specify cache flush trap number"
+-msgstr "Especificar una funció de neteja de memòria cau"
+-
+-#: config/m32r/m32r.opt:59
+-msgid "Only issue one instruction per cycle"
+-msgstr "Només executar una instrucció per cicle"
+-
+-#: config/m32r/m32r.opt:63
+-#, fuzzy
+-msgid "Allow two instructions to be issued per cycle"
+-msgstr "Només executar una instrucció per cicle"
+-
+-#: config/m32r/m32r.opt:67
+-msgid "Code size: small, medium or large"
+-msgstr "Grandària del codi: small, medium o large"
+-
+-#: config/m32r/m32r.opt:71
+-msgid "Don't call any cache flush functions"
+-msgstr "No cridar cap funció de neteja de memòria cau"
+-
+-#: config/m32r/m32r.opt:75
+-#, fuzzy
+-msgid "Don't call any cache flush trap"
+-msgstr "No cridar cap funció de neteja de memòria cau"
+-
+-#: config/m32r/m32r.opt:82
+-msgid "Small data area: none, sdata, use"
+-msgstr " Àrea de dades small: none, sdata, use"
+-
+-#: config/m68k/m68k.opt:23
+-msgid "Generate code for a 520X"
+-msgstr "Generar codi per a un 520X"
+-
+-#: config/m68k/m68k.opt:27
+-#, fuzzy
+-msgid "Generate code for a 5206e"
+-msgstr "Generar codi per a un 520X"
+-
+-#: config/m68k/m68k.opt:31
+-#, fuzzy
+-msgid "Generate code for a 528x"
+-msgstr "Generar codi per a un 520X"
+-
+-#: config/m68k/m68k.opt:35
+-#, fuzzy
+-msgid "Generate code for a 5307"
+-msgstr "Generar codi per a un 520X"
+-
+-#: config/m68k/m68k.opt:39
+-#, fuzzy
+-msgid "Generate code for a 5407"
+-msgstr "Generar codi per a un 520X"
+-
+-#: config/m68k/m68k.opt:43 config/m68k/m68k.opt:104
+-msgid "Generate code for a 68000"
+-msgstr "Generar codi per a un 68000"
+-
+-#: config/m68k/m68k.opt:47
+-#, fuzzy
+-msgid "Generate code for a 68010"
+-msgstr "Generar codi per a un 68020"
+-
+-#: config/m68k/m68k.opt:51 config/m68k/m68k.opt:108
+-msgid "Generate code for a 68020"
+-msgstr "Generar codi per a un 68020"
+-
+-#: config/m68k/m68k.opt:55
+-msgid "Generate code for a 68040, without any new instructions"
+-msgstr "Generar codi per a un 68040, sense cap instrucció nova"
+-
+-#: config/m68k/m68k.opt:59
+-msgid "Generate code for a 68060, without any new instructions"
+-msgstr "Generar codi per a un 68060, sense cap instrucció nova"
+-
+-#: config/m68k/m68k.opt:63
+-msgid "Generate code for a 68030"
+-msgstr "Generar codi per a un 68030"
+-
+-#: config/m68k/m68k.opt:67
+-msgid "Generate code for a 68040"
+-msgstr "Generar codi per a un 68040"
+-
+-#: config/m68k/m68k.opt:71
+-msgid "Generate code for a 68060"
+-msgstr "Generar codi per a un 68060"
+-
+-#: config/m68k/m68k.opt:75
+-msgid "Generate code for a 68302"
+-msgstr "Generar codi per a un 68302"
+-
+-#: config/m68k/m68k.opt:79
+-msgid "Generate code for a 68332"
+-msgstr "Generar codi per a un 68332"
+-
+-#: config/m68k/m68k.opt:84
+-msgid "Generate code for a 68851"
+-msgstr "Generar codi per a un 68851"
+-
+-#: config/m68k/m68k.opt:88
+-#, fuzzy
+-msgid "Generate code that uses 68881 floating-point instructions"
+-msgstr "Usar instruccions de maquinari per a coma flotant"
+-
+-#: config/m68k/m68k.opt:92
+-msgid "Align variables on a 32-bit boundary"
+-msgstr "Alinear les variables en un límit de 32-bit"
+-
+-#: config/m68k/m68k.opt:96 config/arm/arm.opt:49 config/score/score.opt:63
+-msgid "Specify the name of the target architecture"
+-msgstr "Especificar el nom de l'arquitectura destinació"
+-
+-#: config/m68k/m68k.opt:100
+-msgid "Use the bit-field instructions"
+-msgstr "Usar instruccions de camps de bit"
+-
+-#: config/m68k/m68k.opt:112
+-#, fuzzy
+-msgid "Generate code for a ColdFire v4e"
+-msgstr "Generar codi per a M*Core M340"
+-
+-#: config/m68k/m68k.opt:116
+-#, fuzzy
+-msgid "Specify the target CPU"
+-msgstr "Especificar el nom del CPU destinació"
+-
+-#: config/m68k/m68k.opt:120
+-msgid "Generate code for a cpu32"
+-msgstr "Generar codi per a un cpu32"
+-
+-#: config/m68k/m68k.opt:124
+-#, fuzzy
+-msgid "Use hardware division instructions on ColdFire"
+-msgstr "Usar instruccions de fp quad de maquinari"
+-
+-#: config/m68k/m68k.opt:128
+-#, fuzzy
+-msgid "Generate code for a Fido A"
+-msgstr "Generar codi per a un Sun FPA"
+-
+-#: config/m68k/m68k.opt:132
+-#, fuzzy
+-msgid "Generate code which uses hardware floating point instructions"
+-msgstr "Usar instruccions de maquinari per a coma flotant"
+-
+-#: config/m68k/m68k.opt:136
+-msgid "Enable ID based shared library"
+-msgstr ""
+-
+-#: config/m68k/m68k.opt:140
+-msgid "Do not use the bit-field instructions"
+-msgstr "No usar instruccions de camps de bit"
+-
+-#: config/m68k/m68k.opt:144
+-msgid "Use normal calling convention"
+-msgstr "Usar convenció de cridada normal"
+-
+-#: config/m68k/m68k.opt:148
+-#, fuzzy
+-msgid "Consider type 'int' to be 32 bits wide"
+-msgstr "Considerar que el tipus \"int\" és de 32 bits d'amplària"
+-
+-#: config/m68k/m68k.opt:152
+-msgid "Generate pc-relative code"
+-msgstr "Generar codi relatiu al pc"
+-
+-#: config/m68k/m68k.opt:156
+-msgid "Use different calling convention using 'rtd'"
+-msgstr "Usar la convenció de cridada diferent usant 'rtd'"
+-
+-#: config/m68k/m68k.opt:160 config/bfin/bfin.opt:61
+-msgid "Enable separate data segment"
+-msgstr ""
+-
+-#: config/m68k/m68k.opt:164 config/bfin/bfin.opt:57
+-msgid "ID of shared library to build"
+-msgstr ""
+-
+-#: config/m68k/m68k.opt:168
+-#, fuzzy
+-msgid "Consider type 'int' to be 16 bits wide"
+-msgstr "Considerar que el tipus \"int\" és de 16 bits d'amplària"
+-
+-#: config/m68k/m68k.opt:172
+-msgid "Generate code with library calls for floating point"
+-msgstr "Generar codi amb crides a biblioteques per a coma flotant"
+-
+-#: config/m68k/m68k.opt:176
+-msgid "Do not use unaligned memory references"
+-msgstr "No permetre referències a memòria sense alinear"
+-
+-#: config/m68k/m68k.opt:180
+-#, fuzzy
+-msgid "Tune for the specified target CPU or architecture"
+-msgstr "Especificar el nom de l'arquitectura destinació"
+-
+-#: config/m68k/ieee.opt:24 config/i386/i386.opt:95
+-msgid "Use IEEE math for fp comparisons"
+-msgstr "Usar matemàtica IEEE per a comparances fp"
+-
+-#: config/i386/djgpp.opt:25
+-msgid "Ignored (obsolete)"
+-msgstr ""
+-
+-#: config/i386/i386.opt:23
+-msgid "sizeof(long double) is 16"
+-msgstr "sizeof(long double) és 16."
+-
+-#: config/i386/i386.opt:27 config/i386/i386.opt:91
+-msgid "Use hardware fp"
+-msgstr "Usar fp de maquinari"
+-
+-#: config/i386/i386.opt:31
+-msgid "sizeof(long double) is 12"
+-msgstr "sizeof(long double) és 12."
+-
+-#: config/i386/i386.opt:35
+-msgid "Reserve space for outgoing arguments in the function prologue"
+-msgstr ""
+-
+-#: config/i386/i386.opt:39
+-msgid "Align some doubles on dword boundary"
+-msgstr "Alinear alguns dobles en límits de dword"
+-
+-#: config/i386/i386.opt:43
+-msgid "Function starts are aligned to this power of 2"
+-msgstr "Els inicis de les funcions són alineats a aquesta potència de 2"
+-
+-#: config/i386/i386.opt:47
+-msgid "Jump targets are aligned to this power of 2"
+-msgstr "Els objectius de salt són alineats a aquesta potència de 2"
+-
+-#: config/i386/i386.opt:51
+-msgid "Loop code aligned to this power of 2"
+-msgstr "El codi de cicle és alineat a aquesta potència de 2"
+-
+-#: config/i386/i386.opt:55
+-msgid "Align destination of the string operations"
+-msgstr "Alinear destinació de les operacions de cadenes"
+-
+-#: config/i386/i386.opt:63
+-msgid "Use given assembler dialect"
+-msgstr "Usar el dialecte de l'ensamblador donat"
+-
+-#: config/i386/i386.opt:67
+-msgid "Branches are this expensive (1-5, arbitrary units)"
+-msgstr "Les ramificacions són així de cares (1-5, unitats arbitràries)"
+-
+-#: config/i386/i386.opt:71
+-msgid "Data greater than given threshold will go into .ldata section in x86-64 medium model"
+-msgstr ""
+-
+-#: config/i386/i386.opt:75
+-msgid "Use given x86-64 code model"
+-msgstr "Usar el mpdel de codi x86-64 donat"
+-
+-#: config/i386/i386.opt:79
+-msgid "Generate sin, cos, sqrt for FPU"
+-msgstr "Generar sin, cos, sqrt per a FPU"
+-
+-#: config/i386/i386.opt:83
+-msgid "Return values of functions in FPU registers"
+-msgstr "Retornar valors de funcions en registres FPU"
+-
+-#: config/i386/i386.opt:87
+-msgid "Generate floating point mathematics using given instruction set"
+-msgstr "Generar matemàtiques de coma flotant usant el conjunt d'instruccions donat"
+-
+-#: config/i386/i386.opt:99
+-msgid "Inline all known string operations"
+-msgstr "Convertir a «inline» totes les operacions de cadenes conegudes"
+-
+-#: config/i386/i386.opt:103
+-msgid "Inline memset/memcpy string operations, but perform inline version only for small blocks"
+-msgstr ""
+-
+-#: config/i386/i386.opt:111
+-msgid "Use native (MS) bitfield layout"
+-msgstr ""
+-
+-#: config/i386/i386.opt:127
+-msgid "Omit the frame pointer in leaf functions"
+-msgstr "Ometre el marc de referència per a les funcions fulles"
+-
+-#: config/i386/i386.opt:131
+-msgid "Set 80387 floating-point precision (-mpc32, -mpc64, -mpc80)"
+-msgstr ""
+-
+-#: config/i386/i386.opt:135
+-msgid "Attempt to keep stack aligned to this power of 2"
+-msgstr "Es tracta de mantenir la pila alineada a aquesta potència de 2"
+-
+-#: config/i386/i386.opt:139
+-msgid "Use push instructions to save outgoing arguments"
+-msgstr "Usar instruccions push per a guardar els arguments de sortida"
+-
+-#: config/i386/i386.opt:143
+-msgid "Use red-zone in the x86-64 code"
+-msgstr "Usar red-zone en el codi x86-64"
+-
+-#: config/i386/i386.opt:147
+-msgid "Number of registers used to pass integer arguments"
+-msgstr "Nombre de registres usats per a passar arguments enters"
+-
+-#: config/i386/i386.opt:151
+-msgid "Alternate calling convention"
+-msgstr "Convenció de cridada alternativa"
+-
+-#: config/i386/i386.opt:159
+-msgid "Use SSE register passing conventions for SF and DF mode"
+-msgstr ""
+-
+-#: config/i386/i386.opt:163
+-msgid "Realign stack in prologue"
+-msgstr ""
+-
+-#: config/i386/i386.opt:167
+-msgid "Enable stack probing"
+-msgstr "Habilitar la prova de la pila"
+-
+-#: config/i386/i386.opt:171
+-msgid "Chose strategy to generate stringop using"
+-msgstr ""
+-
+-#: config/i386/i386.opt:175
+-msgid "Use given thread-local storage dialect"
+-msgstr "Usar el dialecte d'emmagatzematge thread-local donat"
+-
+-#: config/i386/i386.opt:179
+-#, c-format
+-msgid "Use direct references against %gs when accessing tls data"
+-msgstr ""
+-
+-#: config/i386/i386.opt:187
+-#, fuzzy
+-msgid "Vector library ABI to use"
+-msgstr "Especificar el ABI a utilitzar"
+-
+-#: config/i386/i386.opt:193
+-msgid "Generate 32bit i386 code"
+-msgstr "Generar codi 32 bit per a i386"
+-
+-#: config/i386/i386.opt:197
+-msgid "Generate 64bit x86-64 code"
+-msgstr "Generar codi 64 bit per a x86-64"
+-
+-#: config/i386/i386.opt:201
+-msgid "Support MMX built-in functions"
+-msgstr "Donar suport per a funcions internes MMX"
+-
+-#: config/i386/i386.opt:205
+-msgid "Support 3DNow! built-in functions"
+-msgstr "Donar suport per a funcions internes 3DNow!"
+-
+-#: config/i386/i386.opt:209
+-#, fuzzy
+-msgid "Support Athlon 3Dnow! built-in functions"
+-msgstr "Donar suport per a funcions internes 3DNow!"
+-
+-#: config/i386/i386.opt:213
+-msgid "Support MMX and SSE built-in functions and code generation"
+-msgstr "Donar suport per a funcions internes MMX i SSE i generació de codi"
+-
+-#: config/i386/i386.opt:217
+-msgid "Support MMX, SSE and SSE2 built-in functions and code generation"
+-msgstr "Donar suport per a funcions internes MMX, SSE i SSE2 i generació de codi"
+-
+-#: config/i386/i386.opt:221
+-msgid "Support MMX, SSE, SSE2 and SSE3 built-in functions and code generation"
+-msgstr "Donar suport per a funcions internes MMX, SSE, SSE2 i SSE3 i generació de codi"
+-
+-#: config/i386/i386.opt:225
+-#, fuzzy
+-msgid "Support MMX, SSE, SSE2, SSE3 and SSSE3 built-in functions and code generation"
+-msgstr "Donar suport per a funcions internes MMX, SSE, SSE2 i SSE3 i generació de codi"
+-
+-#: config/i386/i386.opt:229
+-#, fuzzy
+-msgid "Support MMX, SSE, SSE2, SSE3, SSSE3 and SSE4.1 built-in functions and code generation"
+-msgstr "Donar suport per a funcions internes MMX, SSE, SSE2 i SSE3 i generació de codi"
+-
+-#: config/i386/i386.opt:233 config/i386/i386.opt:237
+-#, fuzzy
+-msgid "Support MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1 and SSE4.2 built-in functions and code generation"
+-msgstr "Donar suport per a funcions internes MMX, SSE, SSE2 i SSE3 i generació de codi"
+-
+-#: config/i386/i386.opt:241
+-#, fuzzy
+-msgid "Do not support SSE4.1 and SSE4.2 built-in functions and code generation"
+-msgstr "No donar suport per a funcions internes MMX, SSE i SSE2 i generació de codi"
+-
+-#: config/i386/i386.opt:245
+-#, fuzzy
+-msgid "Support MMX, SSE, SSE2, SSE3 and SSE4A built-in functions and code generation"
+-msgstr "Donar suport per a funcions internes MMX, SSE, SSE2 i SSE3 i generació de codi"
+-
+-#: config/i386/i386.opt:249
+-#, fuzzy
+-msgid "Support SSE5 built-in functions and code generation"
+-msgstr "Donar suport per a funcions internes MMX i SSE i generació de codi"
+-
+-#: config/i386/i386.opt:255
+-msgid "Support code generation of Advanced Bit Manipulation (ABM) instructions."
+-msgstr ""
+-
+-#: config/i386/i386.opt:259
+-#, fuzzy
+-msgid "Support code generation of cmpxchg16b instruction."
+-msgstr "No generar instruccions char"
+-
+-#: config/i386/i386.opt:263
+-#, fuzzy
+-msgid "Support code generation of popcnt instruction."
+-msgstr "No generar instruccions char"
+-
+-#: config/i386/i386.opt:267
+-msgid "Support code generation of sahf instruction in 64bit x86-64 code."
+-msgstr ""
+-
+-#: config/i386/i386.opt:271
+-msgid "Generate reciprocals instead of divss and sqrtss."
+-msgstr ""
+-
+-#: config/i386/i386.opt:275
+-#, fuzzy
+-msgid "Enable automatic generation of fused floating point multiply-add instructions"
+-msgstr "No generar instruccions multiply/add de curt circuit"
+-
+-#: config/i386/cygming.opt:23
+-msgid "Create console application"
+-msgstr "Crear una aplicació de consola"
+-
+-#: config/i386/cygming.opt:27
+-msgid "Use the Cygwin interface"
+-msgstr "Usar la interfície Cygwin"
+-
+-#: config/i386/cygming.opt:31
+-msgid "Generate code for a DLL"
+-msgstr "Generar codi per a una DLL"
+-
+-#: config/i386/cygming.opt:35
+-msgid "Ignore dllimport for functions"
+-msgstr "Ignorar dllimport per a funcions"
+-
+-#: config/i386/cygming.opt:39
+-msgid "Use Mingw-specific thread support"
+-msgstr "Usar suport de fils específic de Mingw"
+-
+-#: config/i386/cygming.opt:43
+-msgid "Set Windows defines"
+-msgstr "Establir les definicions de Windows"
+-
+-#: config/i386/cygming.opt:47
+-msgid "Create GUI application"
+-msgstr "Crear una aplicació amb interfície gràfica d'usuari (GUI)"
+-
+-#: config/i386/sco5.opt:24
+-msgid "Generate ELF output"
+-msgstr "Generar sortida ELF"
+-
+-#: config/rs6000/aix41.opt:24 config/rs6000/aix64.opt:32
+-msgid "Support message passing with the Parallel Environment"
+-msgstr "Suport per al pas de missatges amb l'Ambient Paral·lel"
+-
+-#: config/rs6000/aix.opt:24 config/rs6000/rs6000.opt:147
+-msgid "Conform more closely to IBM XLC semantics"
+-msgstr ""
+-
+-#: config/rs6000/darwin.opt:24 config/rs6000/sysv4.opt:132
+-#, fuzzy
+-msgid "Generate 64-bit code"
+-msgstr "Generar codi 64 bit per a x86-64"
+-
+-#: config/rs6000/darwin.opt:28 config/rs6000/sysv4.opt:136
+-#, fuzzy
+-msgid "Generate 32-bit code"
+-msgstr "Generar codi 32 bit per a i386"
+-
+-#: config/rs6000/darwin.opt:32
+-msgid "Generate code suitable for executables (NOT shared libs)"
+-msgstr ""
+-
+-#: config/rs6000/rs6000.opt:24
+-msgid "Use POWER instruction set"
+-msgstr "Usar el conjunt d'instruccions POWER"
+-
+-#: config/rs6000/rs6000.opt:28
+-msgid "Do not use POWER instruction set"
+-msgstr "No usar el conjunt d'instruccions POWER"
+-
+-#: config/rs6000/rs6000.opt:32
+-msgid "Use POWER2 instruction set"
+-msgstr "Usar el conjunt d'instruccions POWER2"
+-
+-#: config/rs6000/rs6000.opt:36
+-msgid "Use PowerPC instruction set"
+-msgstr "Usar el conjunt d'instruccions PowerPC"
+-
+-#: config/rs6000/rs6000.opt:40
+-msgid "Do not use PowerPC instruction set"
+-msgstr "No usar el conjunt d'instruccions PowerPC"
+-
+-#: config/rs6000/rs6000.opt:44
+-msgid "Use PowerPC-64 instruction set"
+-msgstr "Usar el conjunt d'instruccions PowerPC-64"
+-
+-#: config/rs6000/rs6000.opt:48
+-msgid "Use PowerPC General Purpose group optional instructions"
+-msgstr "Usar el grup opcional d'instruccions PowerPC de Propòsit General"
+-
+-#: config/rs6000/rs6000.opt:52
+-msgid "Use PowerPC Graphics group optional instructions"
+-msgstr "Usar el grup opcional d'instruccions PowerPC de Gràfiques"
+-
+-#: config/rs6000/rs6000.opt:56
+-#, fuzzy
+-msgid "Use PowerPC V2.01 single field mfcr instruction"
+-msgstr "Generar instruccions char"
+-
+-#: config/rs6000/rs6000.opt:60
+-#, fuzzy
+-msgid "Use PowerPC V2.02 popcntb instruction"
+-msgstr "Usar el conjunt d'instruccions PowerPC"
+-
+-#: config/rs6000/rs6000.opt:64
+-#, fuzzy
+-msgid "Use PowerPC V2.02 floating point rounding instructions"
+-msgstr "Usar instruccions de maquinari per a coma flotant"
+-
+-#: config/rs6000/rs6000.opt:68
+-#, fuzzy
+-msgid "Use PowerPC V2.05 compare bytes instruction"
+-msgstr "Usar el conjunt d'instruccions PowerPC"
+-
+-#: config/rs6000/rs6000.opt:72
+-#, fuzzy
+-msgid "Use extended PowerPC V2.05 move floating point to/from GPR instructions"
+-msgstr "Usar instruccions de maquinari per a coma flotant"
+-
+-#: config/rs6000/rs6000.opt:76
+-msgid "Use AltiVec instructions"
+-msgstr "Usar instruccions AltiVec"
+-
+-#: config/rs6000/rs6000.opt:80
+-#, fuzzy
+-msgid "Use decimal floating point instructions"
+-msgstr "Usar instruccions de maquinari per a coma flotant"
+-
+-#: config/rs6000/rs6000.opt:84
+-#, fuzzy
+-msgid "Use 4xx half-word multiply instructions"
+-msgstr "Generar instruccions multiply/add de curt circuit"
+-
+-#: config/rs6000/rs6000.opt:88
+-#, fuzzy
+-msgid "Use 4xx string-search dlmzb instruction"
+-msgstr "Usar instruccions AltiVec"
+-
+-#: config/rs6000/rs6000.opt:92
+-msgid "Generate load/store multiple instructions"
+-msgstr "Generar múltiples instruccions load/store"
+-
+-#: config/rs6000/rs6000.opt:96
+-msgid "Generate string instructions for block moves"
+-msgstr "Generar instruccions de cadena per a moviment de blocs"
+-
+-#: config/rs6000/rs6000.opt:100
+-msgid "Use new mnemonics for PowerPC architecture"
+-msgstr "Usar els mnemònics nous per a l'arquitectura PowerPC"
+-
+-#: config/rs6000/rs6000.opt:104
+-msgid "Use old mnemonics for PowerPC architecture"
+-msgstr "Usar els mnemònics vells per a l'arquitectura PowerPC"
+-
+-#: config/rs6000/rs6000.opt:108 config/pdp11/pdp11.opt:83
+-msgid "Do not use hardware floating point"
+-msgstr "No usa coma flotant de maquinari"
+-
+-#: config/rs6000/rs6000.opt:116
+-msgid "Do not generate load/store with update instructions"
+-msgstr "No generar load/store amb instruccions d'actualització"
+-
+-#: config/rs6000/rs6000.opt:120
+-msgid "Generate load/store with update instructions"
+-msgstr "Generar load/store amb instruccions d'actualització"
+-
+-#: config/rs6000/rs6000.opt:124
+-#, fuzzy
+-msgid "Do not generate fused multiply/add instructions"
+-msgstr "No generar instruccions multiply/add de curt circuit"
+-
+-#: config/rs6000/rs6000.opt:128
+-msgid "Generate fused multiply/add instructions"
+-msgstr "Generar instruccions multiply/add de curt circuit"
+-
+-#: config/rs6000/rs6000.opt:132
+-#, fuzzy
+-msgid "Schedule the start and end of the procedure"
+-msgstr "No calendaritzar l'inici i el final del procediment"
+-
+-#: config/rs6000/rs6000.opt:139
+-msgid "Return all structures in memory (AIX default)"
+-msgstr "Regressar totes les estructures en memòria (per omissió en AIX)"
+-
+-#: config/rs6000/rs6000.opt:143
+-msgid "Return small structures in registers (SVR4 default)"
+-msgstr "Regressar les petites estructures en registres (per omissió en SVR4)"
+-
+-#: config/rs6000/rs6000.opt:151
+-#, fuzzy
+-msgid "Generate software reciprocal sqrt for better throughput"
+-msgstr "Generar arrel quadrada «inline», optimitzar per a sortida"
+-
+-#: config/rs6000/rs6000.opt:155
+-#, fuzzy
+-msgid "Do not place floating point constants in TOC"
+-msgstr "No col·locar les constants de coma flotant en TOC"
+-
+-#: config/rs6000/rs6000.opt:159
+-msgid "Place floating point constants in TOC"
+-msgstr "Col·locar les constants de coma flotant en TOC"
+-
+-#: config/rs6000/rs6000.opt:163
+-#, fuzzy
+-msgid "Do not place symbol+offset constants in TOC"
+-msgstr "No col·locar les constants símbol+desplaçament en TOC"
+-
+-#: config/rs6000/rs6000.opt:167
+-msgid "Place symbol+offset constants in TOC"
+-msgstr "Col·locar les constants símbol+desplaçament en TOC"
+-
+-#: config/rs6000/rs6000.opt:178
+-msgid "Use only one TOC entry per procedure"
+-msgstr ""
+-
+-#: config/rs6000/rs6000.opt:182
+-msgid "Put everything in the regular TOC"
+-msgstr "Col·locar tot en el TOC normal"
+-
+-#: config/rs6000/rs6000.opt:186
+-msgid "Generate VRSAVE instructions when generating AltiVec code"
+-msgstr ""
+-
+-#: config/rs6000/rs6000.opt:190
+-msgid "Deprecated option. Use -mvrsave/-mno-vrsave instead"
+-msgstr ""
+-
+-#: config/rs6000/rs6000.opt:194
+-#, fuzzy
+-msgid "Generate isel instructions"
+-msgstr "Generar instruccions char"
+-
+-#: config/rs6000/rs6000.opt:198
+-msgid "Deprecated option. Use -misel/-mno-isel instead"
+-msgstr ""
+-
+-#: config/rs6000/rs6000.opt:202
+-#, fuzzy
+-msgid "Generate SPE SIMD instructions on E500"
+-msgstr "Generar instruccions char"
+-
+-#: config/rs6000/rs6000.opt:206
+-#, fuzzy
+-msgid "Generate PPC750CL paired-single instructions"
+-msgstr "Generar instruccions char"
+-
+-#: config/rs6000/rs6000.opt:210
+-msgid "Deprecated option. Use -mspe/-mno-spe instead"
+-msgstr ""
+-
+-#: config/rs6000/rs6000.opt:214
+-msgid "Enable debug output"
+-msgstr "Activar la sortida de depuració"
+-
+-#: config/rs6000/rs6000.opt:218
+-msgid "Specify ABI to use"
+-msgstr "Especificar el ABI a utilitzar"
+-
+-#: config/rs6000/rs6000.opt:230
+-msgid "Select full, part, or no traceback table"
+-msgstr ""
+-
+-#: config/rs6000/rs6000.opt:234
+-#, fuzzy
+-msgid "Avoid all range limits on call instructions"
+-msgstr "Evitar tots els límits de rang en les instruccions de crides"
+-
+-#: config/rs6000/rs6000.opt:238
+-msgid "Warn about deprecated 'vector long ...' AltiVec type usage"
+-msgstr ""
+-
+-#: config/rs6000/rs6000.opt:242
+-msgid "Select GPR floating point method"
+-msgstr ""
+-
+-#: config/rs6000/rs6000.opt:246
+-msgid "Specify size of long double (64 or 128 bits)"
+-msgstr "Especificar la grandària de long double (64 o 128 bits)"
+-
+-#: config/rs6000/rs6000.opt:250
+-msgid "Determine which dependences between insns are considered costly"
+-msgstr ""
+-
+-#: config/rs6000/rs6000.opt:254
+-msgid "Specify which post scheduling nop insertion scheme to apply"
+-msgstr ""
+-
+-#: config/rs6000/rs6000.opt:258
+-#, fuzzy
+-msgid "Specify alignment of structure fields default/natural"
+-msgstr "Especificar l'alineació mínima de bit de les estructures"
+-
+-#: config/rs6000/rs6000.opt:262
+-msgid "Specify scheduling priority for dispatch slot restricted insns"
+-msgstr ""
+-
+-#: config/rs6000/aix64.opt:24
+-msgid "Compile for 64-bit pointers"
+-msgstr "Compilar per a punters de 64-bit"
+-
+-#: config/rs6000/aix64.opt:28
+-msgid "Compile for 32-bit pointers"
+-msgstr "Compilar per a punters de 32-bit"
+-
+-#: config/rs6000/linux64.opt:24
+-#, fuzzy
+-msgid "Call mcount for profiling before a function prologue"
+-msgstr "No moure les instruccions al pròleg d'una funció"
+-
+-#: config/rs6000/sysv4.opt:24
+-msgid "Select ABI calling convention"
+-msgstr "Seleccionar la convenció de cridada ABI"
+-
+-#: config/rs6000/sysv4.opt:28
+-msgid "Select method for sdata handling"
+-msgstr "Seleccionar el mètode per al maneig de sdata"
+-
+-#: config/rs6000/sysv4.opt:36 config/rs6000/sysv4.opt:40
+-msgid "Align to the base type of the bit-field"
+-msgstr "Alinear al tipus base del camp de bit"
+-
+-#: config/rs6000/sysv4.opt:45 config/rs6000/sysv4.opt:49
+-msgid "Produce code relocatable at runtime"
+-msgstr "Produir codi re-ubicable en el moment d'execució"
+-
+-#: config/rs6000/sysv4.opt:53 config/rs6000/sysv4.opt:57
+-msgid "Produce little endian code"
+-msgstr "Produir codi little endian"
+-
+-#: config/rs6000/sysv4.opt:61 config/rs6000/sysv4.opt:65
+-msgid "Produce big endian code"
+-msgstr "Produir codi big endian"
+-
+-#: config/rs6000/sysv4.opt:70 config/rs6000/sysv4.opt:74
+-#: config/rs6000/sysv4.opt:83 config/rs6000/sysv4.opt:100
+-#: config/rs6000/sysv4.opt:128 config/rs6000/sysv4.opt:140
+-msgid "no description yet"
+-msgstr "sense descripció encara"
+-
+-#: config/rs6000/sysv4.opt:78
+-msgid "Assume all variable arg functions are prototyped"
+-msgstr ""
+-
+-#: config/rs6000/sysv4.opt:87
+-msgid "Use EABI"
+-msgstr "Usar EABI"
+-
+-#: config/rs6000/sysv4.opt:91
+-#, fuzzy
+-msgid "Allow bit-fields to cross word boundaries"
+-msgstr "No permetre que els camps de bits creuin els límits de word"
+-
+-#: config/rs6000/sysv4.opt:95
+-msgid "Use alternate register names"
+-msgstr "Usar noms de registre alternats"
+-
+-#: config/rs6000/sysv4.opt:104
+-msgid "Link with libsim.a, libc.a and sim-crt0.o"
+-msgstr "Enllaçar amb libsim.a, libc.a i sim-crt0.o"
+-
+-#: config/rs6000/sysv4.opt:108
+-msgid "Link with libads.a, libc.a and crt0.o"
+-msgstr "Enllaçar amb libads.a, libc.a i crt0.o"
+-
+-#: config/rs6000/sysv4.opt:112
+-msgid "Link with libyk.a, libc.a and crt0.o"
+-msgstr "Enllaçar amb libyk.a, libc.a i crt0.o"
+-
+-#: config/rs6000/sysv4.opt:116
+-msgid "Link with libmvme.a, libc.a and crt0.o"
+-msgstr "Enllaçar amb libmvme.a, libc.a i crt0.o"
+-
+-#: config/rs6000/sysv4.opt:120
+-msgid "Set the PPC_EMB bit in the ELF flags header"
+-msgstr "Activar el bit PPC_EMB en els interruptors de l'encapçalat ELF"
+-
+-#: config/rs6000/sysv4.opt:124
+-msgid "Use the WindISS simulator"
+-msgstr ""
+-
+-#: config/rs6000/sysv4.opt:144
+-#, fuzzy
+-msgid "Generate code to use a non-exec PLT and GOT"
+-msgstr "Generar codi per a un Sun Sky board"
+-
+-#: config/rs6000/sysv4.opt:148
+-#, fuzzy
+-msgid "Generate code for old exec BSS PLT"
+-msgstr "Generar codi per a un Sun FPA"
+-
+-#: config/spu/spu.opt:20
+-msgid "Emit warnings when run-time relocations are generated"
+-msgstr ""
+-
+-#: config/spu/spu.opt:24
+-msgid "Emit errors when run-time relocations are generated"
+-msgstr ""
+-
+-#: config/spu/spu.opt:28
+-msgid "Specify cost of branches (Default 20)"
+-msgstr ""
+-
+-#: config/spu/spu.opt:32
+-#, fuzzy
+-msgid "Make sure loads and stores are not moved past DMA instructions"
+-msgstr "Generar load/store amb instruccions d'actualització"
+-
+-#: config/spu/spu.opt:36
+-msgid "volatile must be specified on any memory that is effected by DMA"
+-msgstr ""
+-
+-#: config/spu/spu.opt:40
+-#, fuzzy
+-msgid "Use standard main function as entry for startup"
+-msgstr "Usar jsr i rts per a crides i retorns de funció"
+-
+-#: config/spu/spu.opt:44
+-#, fuzzy
+-msgid "Generate branch hints for branches"
+-msgstr "Generar instruccions de cadena per a moviment de blocs"
+-
+-#: config/spu/spu.opt:48
+-#, fuzzy
+-msgid "Generate code for 18 bit addressing"
+-msgstr "Generar codi per a big endian"
+-
+-#: config/spu/spu.opt:52
+-#, fuzzy
+-msgid "Generate code for 32 bit addressing"
+-msgstr "Generar codi per a big endian"
+-
+-#: config/mcore/mcore.opt:23
+-#, fuzzy
+-msgid "Generate code for the M*Core M210"
+-msgstr "Generar codi per a M*Core M340"
+-
+-#: config/mcore/mcore.opt:27
+-msgid "Generate code for the M*Core M340"
+-msgstr "Generar codi per a M*Core M340"
+-
+-#: config/mcore/mcore.opt:31
+-msgid "Set maximum alignment to 4"
+-msgstr "Establir l'alineació màxima a 4"
+-
+-#: config/mcore/mcore.opt:35
+-msgid "Force functions to be aligned to a 4 byte boundary"
+-msgstr "Forçar que les funcions s'alineïn a un límit de 4 octet"
+-
+-#: config/mcore/mcore.opt:39
+-msgid "Set maximum alignment to 8"
+-msgstr "Establir l'alineació màxima a 8"
+-
+-#: config/mcore/mcore.opt:43 config/score/score.opt:23
+-#, fuzzy
+-msgid "Generate big-endian code"
+-msgstr "Generar codi big endian"
+-
+-#: config/mcore/mcore.opt:47
+-msgid "Emit call graph information"
+-msgstr "Emetre informació de graf de crides"
+-
+-#: config/mcore/mcore.opt:51
+-#, fuzzy
+-msgid "Use the divide instruction"
+-msgstr "No usar la instrucció divideix"
+-
+-#: config/mcore/mcore.opt:55
+-msgid "Inline constants if it can be done in 2 insns or less"
+-msgstr "«inline» constants si pot ser fet en 2 insns o menys"
+-
+-#: config/mcore/mcore.opt:59 config/score/score.opt:27
+-#, fuzzy
+-msgid "Generate little-endian code"
+-msgstr "Generar codi little endian"
+-
+-#: config/mcore/mcore.opt:67
+-#, fuzzy
+-msgid "Use arbitrary sized immediates in bit operations"
+-msgstr "No intervenir en immediats de grandàries arbitràries en operacions de bit"
+-
+-#: config/mcore/mcore.opt:71
+-msgid "Prefer word accesses over byte accesses"
+-msgstr "Preferir accessos word sobre accés octet"
+-
+-#: config/mcore/mcore.opt:75
+-#, fuzzy
+-msgid "Set the maximum amount for a single stack increment operation"
+-msgstr "Quantitat màxima per a una sola operació d'increment de pila"
+-
+-#: config/mcore/mcore.opt:79
+-#, fuzzy
+-msgid "Always treat bitfields as int-sized"
+-msgstr "Tractar sempre als camps de bit com de grandària int"
+-
+-#: config/arc/arc.opt:32
+-msgid "Prepend the name of the cpu to all public symbol names"
+-msgstr ""
+-
+-#: config/arc/arc.opt:42
+-#, fuzzy
+-msgid "Compile code for ARC variant CPU"
+-msgstr "Codi de planificador per al CPU donat"
+-
+-#: config/arc/arc.opt:46
+-msgid "Put functions in SECTION"
+-msgstr ""
+-
+-#: config/arc/arc.opt:50
+-msgid "Put data in SECTION"
+-msgstr ""
+-
+-#: config/arc/arc.opt:54
+-msgid "Put read-only data in SECTION"
+-msgstr ""
+-
+-#: config/sh/sh.opt:44
+-#, fuzzy
+-msgid "Generate SH1 code"
+-msgstr "Generar codi SA"
+-
+-#: config/sh/sh.opt:48
+-#, fuzzy
+-msgid "Generate SH2 code"
+-msgstr "Generar codi SA"
+-
+-#: config/sh/sh.opt:52
+-#, fuzzy
+-msgid "Generate SH2a code"
+-msgstr "Generar codi SA"
+-
+-#: config/sh/sh.opt:56
+-#, fuzzy
+-msgid "Generate SH2a FPU-less code"
+-msgstr "Generar codi SA"
+-
+-#: config/sh/sh.opt:60
+-#, fuzzy
+-msgid "Generate default single-precision SH2a code"
+-msgstr "Generar codi little endian"
+-
+-#: config/sh/sh.opt:64
+-#, fuzzy
+-msgid "Generate only single-precision SH2a code"
+-msgstr "Generar codi little endian"
+-
+-#: config/sh/sh.opt:68
+-#, fuzzy
+-msgid "Generate SH2e code"
+-msgstr "Generar codi SA"
+-
+-#: config/sh/sh.opt:72
+-#, fuzzy
+-msgid "Generate SH3 code"
+-msgstr "Generar codi SA"
+-
+-#: config/sh/sh.opt:76
+-#, fuzzy
+-msgid "Generate SH3e code"
+-msgstr "Generar codi SA"
+-
+-#: config/sh/sh.opt:80
+-#, fuzzy
+-msgid "Generate SH4 code"
+-msgstr "Generar codi SA"
+-
+-#: config/sh/sh.opt:84
+-#, fuzzy
+-msgid "Generate SH4-100 code"
+-msgstr "Generar codi SA"
+-
+-#: config/sh/sh.opt:88
+-#, fuzzy
+-msgid "Generate SH4-200 code"
+-msgstr "Generar codi H8S/2600"
+-
+-#: config/sh/sh.opt:94
+-#, fuzzy
+-msgid "Generate SH4-300 code"
+-msgstr "Generar codi H8/300H"
+-
+-#: config/sh/sh.opt:98
+-#, fuzzy
+-msgid "Generate SH4 FPU-less code"
+-msgstr "Generar codi SA"
+-
+-#: config/sh/sh.opt:102
+-#, fuzzy
+-msgid "Generate SH4-100 FPU-less code"
+-msgstr "Generar codi H8/300H"
+-
+-#: config/sh/sh.opt:106
+-#, fuzzy
+-msgid "Generate SH4-200 FPU-less code"
+-msgstr "Generar codi H8S/2600"
+-
+-#: config/sh/sh.opt:110
+-#, fuzzy
+-msgid "Generate SH4-300 FPU-less code"
+-msgstr "Generar codi H8/300H"
+-
+-#: config/sh/sh.opt:114
+-#, fuzzy
+-msgid "Generate code for SH4 340 series (MMU/FPU-less)"
+-msgstr "Generar codi per al CPU C30"
+-
+-#: config/sh/sh.opt:119
+-#, fuzzy
+-msgid "Generate code for SH4 400 series (MMU/FPU-less)"
+-msgstr "Generar codi per al CPU C40"
+-
+-#: config/sh/sh.opt:124
+-#, fuzzy
+-msgid "Generate code for SH4 500 series (FPU-less)."
+-msgstr "Generar codi per al CPU C40"
+-
+-#: config/sh/sh.opt:129
+-#, fuzzy
+-msgid "Generate default single-precision SH4 code"
+-msgstr "Generar codi little endian"
+-
+-#: config/sh/sh.opt:133
+-msgid "Generate default single-precision SH4-100 code"
+-msgstr ""
+-
+-#: config/sh/sh.opt:137
+-msgid "Generate default single-precision SH4-200 code"
+-msgstr ""
+-
+-#: config/sh/sh.opt:141
+-msgid "Generate default single-precision SH4-300 code"
+-msgstr ""
+-
+-#: config/sh/sh.opt:145
+-#, fuzzy
+-msgid "Generate only single-precision SH4 code"
+-msgstr "Generar codi little endian"
+-
+-#: config/sh/sh.opt:149
+-#, fuzzy
+-msgid "Generate only single-precision SH4-100 code"
+-msgstr "Generar codi little endian"
+-
+-#: config/sh/sh.opt:153
+-#, fuzzy
+-msgid "Generate only single-precision SH4-200 code"
+-msgstr "Generar codi little endian"
+-
+-#: config/sh/sh.opt:157
+-#, fuzzy
+-msgid "Generate only single-precision SH4-300 code"
+-msgstr "Generar codi little endian"
+-
+-#: config/sh/sh.opt:161
+-#, fuzzy
+-msgid "Generate SH4a code"
+-msgstr "Generar codi SA"
+-
+-#: config/sh/sh.opt:165
+-#, fuzzy
+-msgid "Generate SH4a FPU-less code"
+-msgstr "Generar codi SA"
+-
+-#: config/sh/sh.opt:169
+-#, fuzzy
+-msgid "Generate default single-precision SH4a code"
+-msgstr "Generar codi little endian"
+-
+-#: config/sh/sh.opt:173
+-#, fuzzy
+-msgid "Generate only single-precision SH4a code"
+-msgstr "Generar codi little endian"
+-
+-#: config/sh/sh.opt:177
+-#, fuzzy
+-msgid "Generate SH4al-dsp code"
+-msgstr "Generar codi SA"
+-
+-#: config/sh/sh.opt:181
+-#, fuzzy
+-msgid "Generate 32-bit SHmedia code"
+-msgstr "Generar codi 32 bit per a i386"
+-
+-#: config/sh/sh.opt:185
+-#, fuzzy
+-msgid "Generate 32-bit FPU-less SHmedia code"
+-msgstr "Generar codi little endian"
+-
+-#: config/sh/sh.opt:189
+-#, fuzzy
+-msgid "Generate 64-bit SHmedia code"
+-msgstr "Generar codi 64 bit per a x86-64"
+-
+-#: config/sh/sh.opt:193
+-#, fuzzy
+-msgid "Generate 64-bit FPU-less SHmedia code"
+-msgstr "Generar codi little endian"
+-
+-#: config/sh/sh.opt:197
+-#, fuzzy
+-msgid "Generate SHcompact code"
+-msgstr "Generar codi SA"
+-
+-#: config/sh/sh.opt:201
+-#, fuzzy
+-msgid "Generate FPU-less SHcompact code"
+-msgstr "Generar codi relatiu al pc"
+-
+-#: config/sh/sh.opt:205
+-msgid "Throttle unrolling to avoid thrashing target registers unless the unroll benefit outweighs this"
+-msgstr ""
+-
+-#: config/sh/sh.opt:209
+-#, fuzzy
+-msgid "Generate code in big endian mode"
+-msgstr "Generar codi per a big endian"
+-
+-#: config/sh/sh.opt:213
+-#, fuzzy
+-msgid "Generate 32-bit offsets in switch tables"
+-msgstr "Usar entrades de 4 octet en les matrius de «switch»"
+-
+-#: config/sh/sh.opt:217
+-msgid "Cost to assume for a branch insn"
+-msgstr ""
+-
+-#: config/sh/sh.opt:221
+-msgid "Enable cbranchdi4 pattern"
+-msgstr ""
+-
+-#: config/sh/sh.opt:225
+-msgid "Expand cbranchdi4 pattern early into separate comparisons and branches."
+-msgstr ""
+-
+-#: config/sh/sh.opt:229
+-msgid "Emit cmpeqdi_t pattern even when -mcbranchdi and -mexpand-cbranchdi are in effect."
+-msgstr ""
+-
+-#: config/sh/sh.opt:233
+-msgid "Enable SH5 cut2 workaround"
+-msgstr ""
+-
+-#: config/sh/sh.opt:237
+-#, fuzzy
+-msgid "Align doubles at 64-bit boundaries"
+-msgstr "Alinear les variables en un límit de 16-bit"
+-
+-#: config/sh/sh.opt:241
+-msgid "Division strategy, one of: call, call2, fp, inv, inv:minlat, inv20u, inv20l, inv:call, inv:call2, inv:fp, call-div1, call-fp, call-table"
+-msgstr ""
+-
+-#: config/sh/sh.opt:245
+-#, fuzzy
+-msgid "Specify name for 32 bit signed division function"
+-msgstr "Especificar un nom alternatiu per a la secció bss"
+-
+-#: config/sh/sh.opt:252
+-#, fuzzy
+-msgid "Enable the use of the fused floating point multiply-accumulate operation"
+-msgstr "Activar l'ús de les instruccions short load"
+-
+-#: config/sh/sh.opt:256
+-msgid "Cost to assume for gettr insn"
+-msgstr ""
+-
+-#: config/sh/sh.opt:260 config/sh/sh.opt:310
+-msgid "Follow Renesas (formerly Hitachi) / SuperH calling conventions"
+-msgstr ""
+-
+-#: config/sh/sh.opt:264
+-msgid "Increase the IEEE compliance for floating-point code"
+-msgstr ""
+-
+-#: config/sh/sh.opt:268
+-msgid "Enable the use of the indexed addressing mode for SHmedia32/SHcompact"
+-msgstr ""
+-
+-#: config/sh/sh.opt:272
+-msgid "inline code to invalidate instruction cache entries after setting up nested function trampolines"
+-msgstr ""
+-
+-#: config/sh/sh.opt:276
+-msgid "Assume symbols might be invalid"
+-msgstr ""
+-
+-#: config/sh/sh.opt:280
+-msgid "Annotate assembler instructions with estimated addresses"
+-msgstr ""
+-
+-#: config/sh/sh.opt:284
+-#, fuzzy
+-msgid "Generate code in little endian mode"
+-msgstr "Generar codi per a little endian"
+-
+-#: config/sh/sh.opt:288
+-#, fuzzy
+-msgid "Mark MAC register as call-clobbered"
+-msgstr "nom de registre desconegut \"%s\" en \"asm\""
+-
+-#: config/sh/sh.opt:294
+-msgid "Make structs a multiple of 4 bytes (warning: ABI altered)"
+-msgstr ""
+-
+-#: config/sh/sh.opt:298
+-msgid "Emit function-calls using global offset table when generating PIC"
+-msgstr ""
+-
+-#: config/sh/sh.opt:302
+-#, fuzzy
+-msgid "Assume pt* instructions won't trap"
+-msgstr "Les operacions de coma flotant poden capturar"
+-
+-#: config/sh/sh.opt:306
+-msgid "Shorten address references during linking"
+-msgstr ""
+-
+-#: config/sh/sh.opt:314
+-msgid "Deprecated. Use -Os instead"
+-msgstr ""
+-
+-#: config/sh/sh.opt:318
+-msgid "Cost to assume for a multiply insn"
+-msgstr ""
+-
+-#: config/sh/sh.opt:322
+-msgid "Don't generate privileged-mode only code; implies -mno-inline-ic_invalidate if the inline code would not work in user mode."
+-msgstr ""
+-
+-#: config/sh/sh.opt:328
+-msgid "Pretend a branch-around-a-move is a conditional move."
+-msgstr ""
+-
+-#: config/sh/superh.opt:6
+-msgid "Board name [and memory region]."
+-msgstr ""
+-
+-#: config/sh/superh.opt:10
+-#, fuzzy
+-msgid "Runtime name."
+-msgstr "No hi ha fitxers d'entrada"
+-
+-#: config/arm/arm.opt:23
+-msgid "Specify an ABI"
+-msgstr "Especificar un ABI"
+-
+-#: config/arm/arm.opt:27
+-msgid "Generate a call to abort if a noreturn function returns"
+-msgstr "Generar una cridada a avortar si una funció \"noreturn\" retorna"
+-
+-#: config/arm/arm.opt:34
+-msgid "Pass FP arguments in FP registers"
+-msgstr "Passar els arguments FP en els registres FP"
+-
+-#: config/arm/arm.opt:38
+-msgid "Generate APCS conformant stack frames"
+-msgstr "Generar marcs de pila que compleixin amb APCS"
+-
+-#: config/arm/arm.opt:42
+-msgid "Generate re-entrant, PIC code"
+-msgstr "Generar codi PIC que es torna a introduir"
+-
+-#: config/arm/arm.opt:56
+-msgid "Assume target CPU is configured as big endian"
+-msgstr "Assumir que el CPU destinació està configurat com big endian"
+-
+-#: config/arm/arm.opt:60
+-msgid "Thumb: Assume non-static functions may be called from ARM code"
+-msgstr "Thumb: Assumir que les funcions no static poden ser crides des de codi ARM"
+-
+-#: config/arm/arm.opt:64
+-msgid "Thumb: Assume function pointers may go to non-Thumb aware code"
+-msgstr "Thumb: Assumir que els punters de funció poden anar a codi no informat sobre Thumb"
+-
+-#: config/arm/arm.opt:68
+-msgid "Cirrus: Place NOPs to avoid invalid instruction combinations"
+-msgstr ""
+-
+-#: config/arm/arm.opt:72 config/bfin/bfin.opt:27
+-msgid "Specify the name of the target CPU"
+-msgstr "Especificar el nom del CPU destinació"
+-
+-#: config/arm/arm.opt:76
+-#, fuzzy
+-msgid "Specify if floating point hardware should be used"
+-msgstr "Especifica la versió de l'emulador de nombre de coma flotant"
+-
+-#: config/arm/arm.opt:90
+-#, fuzzy
+-msgid "Specify the name of the target floating point hardware/format"
+-msgstr "Especifica la versió de l'emulador de nombre de coma flotant"
+-
+-#: config/arm/arm.opt:94
+-msgid "Alias for -mfloat-abi=hard"
+-msgstr ""
+-
+-#: config/arm/arm.opt:98
+-msgid "Assume target CPU is configured as little endian"
+-msgstr "Assumir que el CPU destinació està configurat com little endian"
+-
+-#: config/arm/arm.opt:102
+-msgid "Generate call insns as indirect calls, if necessary"
+-msgstr "Generar les crides insns com crides indirectes, si és necessari"
+-
+-#: config/arm/arm.opt:106
+-msgid "Specify the register to be used for PIC addressing"
+-msgstr "Especificar el registre a usar per l'adreçament PIC"
+-
+-#: config/arm/arm.opt:110
+-msgid "Store function names in object code"
+-msgstr "Emmagatzemar noms de funció en el codi objecte"
+-
+-#: config/arm/arm.opt:114
+-#, fuzzy
+-msgid "Permit scheduling of a function's prologue sequence"
+-msgstr "Usar caps per als pròlegs de funció"
+-
+-#: config/arm/arm.opt:118
+-msgid "Do not load the PIC register in function prologues"
+-msgstr "No carregar el registre PIC en els pròlegs de funció"
+-
+-#: config/arm/arm.opt:122
+-msgid "Alias for -mfloat-abi=soft"
+-msgstr ""
+-
+-#: config/arm/arm.opt:126
+-msgid "Specify the minimum bit alignment of structures"
+-msgstr "Especificar l'alineació mínima de bit de les estructures"
+-
+-#: config/arm/arm.opt:130
+-msgid "Compile for the Thumb not the ARM"
+-msgstr "Compilar per al Thumb on per al ARM"
+-
+-#: config/arm/arm.opt:134
+-msgid "Support calls between Thumb and ARM instruction sets"
+-msgstr "Suport a crides entre els conjunts d'instruccions Thumb i ARM"
+-
+-#: config/arm/arm.opt:138
+-#, fuzzy
+-msgid "Specify how to access the thread pointer"
+-msgstr "Especificar el nom de l'arquitectura destinació"
+-
+-#: config/arm/arm.opt:142
+-msgid "Thumb: Generate (non-leaf) stack frames even if not needed"
+-msgstr "Thumb: Generar marcs de pila (no-fulles) encara si no és necessari"
+-
+-#: config/arm/arm.opt:146
+-msgid "Thumb: Generate (leaf) stack frames even if not needed"
+-msgstr "Thumb: Generar marcs de pila (fulles) encara si no és necessari"
+-
+-#: config/arm/arm.opt:150
+-#, fuzzy
+-msgid "Tune code for the given processor"
+-msgstr "Compilar per al processador v850"
+-
+-#: config/arm/arm.opt:154
+-msgid "Assume big endian bytes, little endian words"
+-msgstr "Assumir octets big endian ,mots little endian"
+-
+-#: config/arm/arm.opt:158
+-msgid "Use Neon quad-word (rather than double-word) registers for vectorization"
+-msgstr ""
+-
+-#: config/arm/pe.opt:23
+-msgid "Ignore dllimport attribute for functions"
+-msgstr "Ignorar l'atribut dllimport per a les funcions"
+-
+-#: config/pdp11/pdp11.opt:23
+-msgid "Generate code for an 11/10"
+-msgstr "Generar codi per a un 11/10"
+-
+-#: config/pdp11/pdp11.opt:27
+-msgid "Generate code for an 11/40"
+-msgstr "Generar codi per a un 11/40"
+-
+-#: config/pdp11/pdp11.opt:31
+-msgid "Generate code for an 11/45"
+-msgstr "5Generar codi per a un 11/45"
+-
+-#: config/pdp11/pdp11.opt:35
+-#, fuzzy
+-msgid "Use 16-bit abs patterns"
+-msgstr "Usar registres FP de 64 bits"
+-
+-#: config/pdp11/pdp11.opt:39
+-#, fuzzy
+-msgid "Return floating-point results in ac0 (fr0 in Unix assembler syntax)"
+-msgstr "Retorna els resultats en coma flotant en ac0"
+-
+-#: config/pdp11/pdp11.opt:43
+-msgid "Do not use inline patterns for copying memory"
+-msgstr ""
+-
+-#: config/pdp11/pdp11.opt:47
+-msgid "Use inline patterns for copying memory"
+-msgstr ""
+-
+-#: config/pdp11/pdp11.opt:51
+-msgid "Do not pretend that branches are expensive"
+-msgstr ""
+-
+-#: config/pdp11/pdp11.opt:55
+-msgid "Pretend that branches are expensive"
+-msgstr ""
+-
+-#: config/pdp11/pdp11.opt:59
+-#, fuzzy
+-msgid "Use the DEC assembler syntax"
+-msgstr "Usar sintaxi de l'ensamblador DEC"
+-
+-#: config/pdp11/pdp11.opt:63
+-msgid "Use 32 bit float"
+-msgstr "Usar float de 32 bits"
+-
+-#: config/pdp11/pdp11.opt:67
+-msgid "Use 64 bit float"
+-msgstr "Usar float de 64 bits"
+-
+-#: config/pdp11/pdp11.opt:75
+-msgid "Use 16 bit int"
+-msgstr "Usar int de 16 bits"
+-
+-#: config/pdp11/pdp11.opt:79
+-msgid "Use 32 bit int"
+-msgstr "Usar int de 32 bits"
+-
+-#: config/pdp11/pdp11.opt:87
+-msgid "Target has split I&D"
+-msgstr "L'objectiu té un I&D dividit"
+-
+-#: config/pdp11/pdp11.opt:91
+-msgid "Use UNIX assembler syntax"
+-msgstr "Usar sintaxi de l'ensamblador UNIX"
+-
+-#: config/avr/avr.opt:23
+-#, fuzzy
+-msgid "Use subroutines for function prologues and epilogues"
+-msgstr "Usar subrutines per al pròleg/epíleg de funció"
+-
+-#: config/avr/avr.opt:27
+-#, fuzzy
+-msgid "Select the target MCU"
+-msgstr "Especificar el nom del CPU destinació"
+-
+-#: config/avr/avr.opt:34
+-#, fuzzy
+-msgid "Use an 8-bit 'int' type"
+-msgstr "Usar tipus int de 64 bits"
+-
+-#: config/avr/avr.opt:38
+-msgid "Change the stack pointer without disabling interrupts"
+-msgstr "Canviar el punter de la pila sense desactivar les interrupcions"
+-
+-#: config/avr/avr.opt:42
+-msgid "Do not generate tablejump insns"
+-msgstr "No generar insns de salt de matriu"
+-
+-#: config/avr/avr.opt:52
+-msgid "Use rjmp/rcall (limited range) on >8K devices"
+-msgstr ""
+-
+-#: config/avr/avr.opt:56
+-msgid "Output instruction sizes to the asm file"
+-msgstr "Grandàries d'instrucció de sortida al fitxer asm"
+-
+-#: config/avr/avr.opt:60
+-msgid "Change only the low 8 bits of the stack pointer"
+-msgstr "Canviar només els 8 bits baixos del punter de pila"
+-
+-#: config/crx/crx.opt:23
+-#, fuzzy
+-msgid "Support multiply accumulate instructions"
+-msgstr "Usar instruccions de fp per a multiplicar-acumular"
+-
+-#: config/crx/crx.opt:27
+-#, fuzzy
+-msgid "Do not use push to store function arguments"
+-msgstr "No usar instruccions push per a guardar els arguments de sortida"
+-
+-#: config/crx/crx.opt:31
+-msgid "Restrict doloop to the given nesting level"
+-msgstr ""
+-
+-#: config/c4x/c4x.opt:23
+-msgid "Generate code for C30 CPU"
+-msgstr "Generar codi per al CPU C30"
+-
+-#: config/c4x/c4x.opt:27
+-msgid "Generate code for C31 CPU"
+-msgstr "Generar codi per al CPU C31"
+-
+-#: config/c4x/c4x.opt:31
+-msgid "Generate code for C32 CPU"
+-msgstr "Generar codi per al CPU C32"
+-
+-#: config/c4x/c4x.opt:35
+-msgid "Generate code for C33 CPU"
+-msgstr "Generar codi per al CPU C33"
+-
+-#: config/c4x/c4x.opt:39
+-msgid "Generate code for C40 CPU"
+-msgstr "Generar codi per al CPU C40"
+-
+-#: config/c4x/c4x.opt:43
+-msgid "Generate code for C44 CPU"
+-msgstr "Generar codi per al CPU C44"
+-
+-#: config/c4x/c4x.opt:47
+-msgid "Assume that pointers may be aliased"
+-msgstr "Assumir que es poden fer alies dels punters"
+-
+-#: config/c4x/c4x.opt:51
+-msgid "Big memory model"
+-msgstr "Model de memòria big"
+-
+-#: config/c4x/c4x.opt:55
+-msgid "Use the BK register as a general purpose register"
+-msgstr "Usar el registre BK com un registre de propòsit general"
+-
+-#: config/c4x/c4x.opt:59
+-#, fuzzy
+-msgid "Generate code for CPU"
+-msgstr "Generar codi per al CPU C30"
+-
+-#: config/c4x/c4x.opt:63
+-msgid "Enable use of DB instruction"
+-msgstr "Activar l'ús de la instrucció DB"
+-
+-#: config/c4x/c4x.opt:67
+-msgid "Enable debugging"
+-msgstr "Activar la depuració"
+-
+-#: config/c4x/c4x.opt:71
+-msgid "Enable new features under development"
+-msgstr "Activar noves característiques en desenvolupament"
+-
+-#: config/c4x/c4x.opt:75
+-msgid "Use fast but approximate float to integer conversion"
+-msgstr "Usar conversió de coma flotant a enter ràpida però aproximada"
+-
+-#: config/c4x/c4x.opt:79
+-msgid "Force RTL generation to emit valid 3 operand insns"
+-msgstr "Forçar que la generació de RTL emeti 3 operandes insns vàlids"
+-
+-#: config/c4x/c4x.opt:83
+-msgid "Force constants into registers to improve hoisting"
+-msgstr "Forçar les constants dintre de registres per a millorar l'aixecament"
+-
+-#: config/c4x/c4x.opt:87 config/c4x/c4x.opt:111
+-msgid "Save DP across ISR in small memory model"
+-msgstr "Guardar DP entre ISR en el model de memòria small"
+-
+-#: config/c4x/c4x.opt:91
+-msgid "Allow unsigned iteration counts for RPTB/DB"
+-msgstr "Permetre comptes d'iteracions unsigned per a RPTB/DB"
+-
+-#: config/c4x/c4x.opt:95
+-msgid "Pass arguments on the stack"
+-msgstr "Passar els arguments en la pila"
+-
+-#: config/c4x/c4x.opt:99
+-msgid "Use MPYI instruction for C3x"
+-msgstr "Usar instrucció MPYI per a C3x"
+-
+-#: config/c4x/c4x.opt:103
+-msgid "Enable parallel instructions"
+-msgstr "Activar les funcions paral·leles"
+-
+-#: config/c4x/c4x.opt:107
+-msgid "Enable MPY||ADD and MPY||SUB instructions"
+-msgstr "Activar les instruccions MPY||ADD i MPY||SUB"
+-
+-#: config/c4x/c4x.opt:115
+-msgid "Preserve all 40 bits of FP reg across call"
+-msgstr "Preservar els 40 bits del registre FP entre crides"
+-
+-#: config/c4x/c4x.opt:119
+-msgid "Pass arguments in registers"
+-msgstr "Passar els arguments en els registres"
+-
+-#: config/c4x/c4x.opt:123
+-msgid "Enable use of RTPB instruction"
+-msgstr "Activar l'ús de la instrucció RTPB"
+-
+-#: config/c4x/c4x.opt:127
+-msgid "Enable use of RTPS instruction"
+-msgstr "Activar l'ús de la instrucció RTPS"
+-
+-#: config/c4x/c4x.opt:131
+-#, fuzzy
+-msgid "Set the maximum number of iterations for RPTS to N"
+-msgstr "Especificar el nombre màxim d'iteracions per a RPTS"
+-
+-#: config/c4x/c4x.opt:135
+-msgid "Small memory model"
+-msgstr "Model de memòria small"
+-
+-#: config/c4x/c4x.opt:139
+-msgid "Emit code compatible with TI tools"
+-msgstr "Emetre codi compatible amb les eines TI"
+-
+-#: config/pa/pa-hpux.opt:23
+-msgid "Generate cpp defines for server IO"
+-msgstr "Generar definicions cpp per a IO de servidor"
+-
+-#: config/pa/pa-hpux.opt:27 config/pa/pa-hpux1010.opt:23
+-#: config/pa/pa-hpux1111.opt:23
+-msgid "Specify UNIX standard for predefines and linking"
+-msgstr ""
+-
+-#: config/pa/pa-hpux.opt:31
+-msgid "Generate cpp defines for workstation IO"
+-msgstr "Generar definicions cpp per a IO d'estació de treball"
+-
+-#: config/pa/pa.opt:23 config/pa/pa.opt:76 config/pa/pa.opt:84
+-msgid "Generate PA1.0 code"
+-msgstr "Generar codi PA1.0"
+-
+-#: config/pa/pa.opt:27 config/pa/pa.opt:88 config/pa/pa.opt:108
+-msgid "Generate PA1.1 code"
+-msgstr "Generar codi PA1.1"
+-
+-#: config/pa/pa.opt:31 config/pa/pa.opt:92
+-msgid "Generate PA2.0 code (requires binutils 2.10 or later)"
+-msgstr ""
+-
+-#: config/pa/pa.opt:35
+-msgid "Generate code for huge switch statements"
+-msgstr "Generar codi per a declaracions «switch» llargues"
+-
+-#: config/pa/pa.opt:39
+-msgid "Disable FP regs"
+-msgstr "Desactivar els registres FP"
+-
+-#: config/pa/pa.opt:43
+-msgid "Disable indexed addressing"
+-msgstr "Desactivar adreçament d'index"
+-
+-#: config/pa/pa.opt:47
+-msgid "Generate fast indirect calls"
+-msgstr "Generar crides indirectes ràpides"
+-
+-#: config/pa/pa.opt:55
+-msgid "Assume code will be assembled by GAS"
+-msgstr ""
+-
+-#: config/pa/pa.opt:59
+-msgid "Put jumps in call delay slots"
+-msgstr ""
+-
+-#: config/pa/pa.opt:64
+-msgid "Enable linker optimizations"
+-msgstr "Activar les optimitzacions del enllaçador"
+-
+-#: config/pa/pa.opt:68
+-msgid "Always generate long calls"
+-msgstr "Generar sempre crides llargues"
+-
+-#: config/pa/pa.opt:72
+-msgid "Emit long load/store sequences"
+-msgstr ""
+-
+-#: config/pa/pa.opt:80
+-msgid "Disable space regs"
+-msgstr ""
+-
+-#: config/pa/pa.opt:96
+-msgid "Use portable calling conventions"
+-msgstr "Usar convencions de cridada portable"
+-
+-#: config/pa/pa.opt:100
+-#, fuzzy
+-msgid "Specify CPU for scheduling purposes. Valid arguments are 700, 7100, 7100LC, 7200, 7300, and 8000"
+-msgstr ""
+-"opció -mschedule= desconeguda (%s).\n"
+-"Les opcions vàlides són 700, 7100, 7100LC, 7200, 7300, i 8000\n"
+-
+-#: config/pa/pa.opt:112
+-msgid "Do not disable space regs"
+-msgstr "No desactivar registres d'espai"
+-
+-#: config/pa/pa64-hpux.opt:23
+-msgid "Assume code will be linked by GNU ld"
+-msgstr ""
+-
+-#: config/pa/pa64-hpux.opt:27
+-msgid "Assume code will be linked by HP ld"
+-msgstr ""
+-
+-#: config/xtensa/xtensa.opt:23
+-#, fuzzy
+-msgid "Use CONST16 instruction to load constants"
+-msgstr "Usar instruccions push per a guardar els arguments de sortida"
+-
+-#: config/xtensa/xtensa.opt:27
+-msgid "Enable fused multiply/add and multiply/subtract FP instructions"
+-msgstr "Activar les instruccions FP multiply/add i multiply/substract de curt circuit"
+-
+-#: config/xtensa/xtensa.opt:31
+-msgid "Use indirect CALLXn instructions for large programs"
+-msgstr "Usar instruccions CALLXn indirectes per a programes grans"
+-
+-#: config/xtensa/xtensa.opt:35
+-msgid "Automatically align branch targets to reduce branch penalties"
+-msgstr "Alinear automàticament els objectius de les ramificacions per a reduir les faltes de ramificació"
+-
+-#: config/xtensa/xtensa.opt:39
+-msgid "Intersperse literal pools with code in the text section"
+-msgstr "Entremesclar els conjunts de literals amb codi en la secció de text"
+-
+-#: config/stormy16/stormy16.opt:24
+-msgid "Provide libraries for the simulator"
+-msgstr ""
+-
+-#: config/mips/mips.opt:23
+-#, fuzzy
+-msgid "Generate code that conforms to the given ABI"
+-msgstr "Generar codi per al CPU donat"
+-
+-#: config/mips/mips.opt:27
+-msgid "Generate code that can be used in SVR4-style dynamic objects"
+-msgstr ""
+-
+-#: config/mips/mips.opt:31
+-#, fuzzy
+-msgid "Use PMC-style 'mad' instructions"
+-msgstr "Usar instruccions de camps de bit"
+-
+-#: config/mips/mips.opt:35
+-#, fuzzy
+-msgid "Generate code for the given ISA"
+-msgstr "Generar codi per al CPU donat"
+-
+-#: config/mips/mips.opt:39
+-#, fuzzy
+-msgid "Set the cost of branches to roughly COST instructions"
+-msgstr "Activar l'ús de les instruccions short load"
+-
+-#: config/mips/mips.opt:43
+-msgid "Use Branch Likely instructions, overriding the architecture default"
+-msgstr ""
+-
+-#: config/mips/mips.opt:47
+-msgid "Switch on/off MIPS16 ASE on alternating functions for compiler testing"
+-msgstr ""
+-
+-#: config/mips/mips.opt:51
+-msgid "Trap on integer divide by zero"
+-msgstr "Atrapar la divisió entera per zero"
+-
+-#: config/mips/mips.opt:55
+-msgid "Specify when instructions are allowed to access code"
+-msgstr ""
+-
+-#: config/mips/mips.opt:59
+-msgid "Use branch-and-break sequences to check for integer divide by zero"
+-msgstr ""
+-
+-#: config/mips/mips.opt:63
+-#, fuzzy
+-msgid "Use trap instructions to check for integer divide by zero"
+-msgstr "Atrapar la divisió entera per zero"
+-
+-#: config/mips/mips.opt:67
+-#, fuzzy
+-msgid "Allow the use of MDMX instructions"
+-msgstr "Activar l'ús de la instrucció DB"
+-
+-#: config/mips/mips.opt:71
+-msgid "Allow hardware floating-point instructions to cover both 32-bit and 64-bit operations"
+-msgstr ""
+-
+-#: config/mips/mips.opt:75
+-#, fuzzy
+-msgid "Use MIPS-DSP instructions"
+-msgstr "No usar instruccions MIPS16"
+-
+-#: config/mips/mips.opt:79
+-#, fuzzy
+-msgid "Use MIPS-DSP REV 2 instructions"
+-msgstr "Usar el conjunt d'instruccions POWER2"
+-
+-#: config/mips/mips.opt:89
+-msgid "Use big-endian byte order"
+-msgstr "Usar ordre de bit big-endian"
+-
+-#: config/mips/mips.opt:93
+-msgid "Use little-endian byte order"
+-msgstr "Usar ordre de bit little-endian"
+-
+-#: config/mips/mips.opt:97 config/iq2000/iq2000.opt:31
+-msgid "Use ROM instead of RAM"
+-msgstr "Usar ROM enlloc de RAM"
+-
+-#: config/mips/mips.opt:101
+-msgid "Use NewABI-style %reloc() assembly operators"
+-msgstr ""
+-
+-#: config/mips/mips.opt:105
+-msgid "Use -G for data that is not defined by the current object"
+-msgstr ""
+-
+-#: config/mips/mips.opt:109
+-#, fuzzy
+-msgid "Work around certain R4000 errata"
+-msgstr "Evitar el bug del primer maquinari 4300"
+-
+-#: config/mips/mips.opt:113
+-#, fuzzy
+-msgid "Work around certain R4400 errata"
+-msgstr "Evitar el bug del primer maquinari 4300"
+-
+-#: config/mips/mips.opt:117
+-msgid "Work around errata for early SB-1 revision 2 cores"
+-msgstr ""
+-
+-#: config/mips/mips.opt:121
+-msgid "Work around certain VR4120 errata"
+-msgstr ""
+-
+-#: config/mips/mips.opt:125
+-msgid "Work around VR4130 mflo/mfhi errata"
+-msgstr ""
+-
+-#: config/mips/mips.opt:129
+-#, fuzzy
+-msgid "Work around an early 4300 hardware bug"
+-msgstr "Evitar el bug del primer maquinari 4300"
+-
+-#: config/mips/mips.opt:133
+-#, fuzzy
+-msgid "FP exceptions are enabled"
+-msgstr "opcions activades: "
+-
+-#: config/mips/mips.opt:137
+-#, fuzzy
+-msgid "Use 32-bit floating-point registers"
+-msgstr "Usar registres generals de 32 bits"
+-
+-#: config/mips/mips.opt:141
+-#, fuzzy
+-msgid "Use 64-bit floating-point registers"
+-msgstr "Usar registres generals de 64 bits"
+-
+-#: config/mips/mips.opt:145
+-msgid "Use FUNC to flush the cache before calling stack trampolines"
+-msgstr ""
+-
+-#: config/mips/mips.opt:149
+-#, fuzzy
+-msgid "Generate floating-point multiply-add instructions"
+-msgstr "Generar instruccions multiply/add de curt circuit"
+-
+-#: config/mips/mips.opt:153
+-msgid "Use 32-bit general registers"
+-msgstr "Usar registres generals de 32 bits"
+-
+-#: config/mips/mips.opt:157
+-msgid "Use 64-bit general registers"
+-msgstr "Usar registres generals de 64 bits"
+-
+-#: config/mips/mips.opt:161
+-msgid "Use GP-relative addressing to access small data"
+-msgstr ""
+-
+-#: config/mips/mips.opt:165
+-#, fuzzy
+-msgid "Allow the use of hardware floating-point ABI and instructions"
+-msgstr "Usar instruccions de maquinari per a coma flotant"
+-
+-#: config/mips/mips.opt:169
+-msgid "Generate code that can be safely linked with MIPS16 code."
+-msgstr ""
+-
+-#: config/mips/mips.opt:173
+-#, fuzzy
+-msgid "Generate code for ISA level N"
+-msgstr "Generar codi per a Intel as"
+-
+-#: config/mips/mips.opt:177
+-#, fuzzy
+-msgid "Generate MIPS16 code"
+-msgstr "Generar codi SA"
+-
+-#: config/mips/mips.opt:181
+-#, fuzzy
+-msgid "Use MIPS-3D instructions"
+-msgstr "No usar instruccions MIPS16"
+-
+-#: config/mips/mips.opt:185
+-#, fuzzy
+-msgid "Use ll, sc and sync instructions"
+-msgstr "Usar instruccions AltiVec"
+-
+-#: config/mips/mips.opt:189
+-msgid "Use -G for object-local data"
+-msgstr ""
+-
+-#: config/mips/mips.opt:193
+-msgid "Use indirect calls"
+-msgstr "Usar crides indirectes"
+-
+-#: config/mips/mips.opt:197
+-#, fuzzy
+-msgid "Use a 32-bit long type"
+-msgstr "Usar tipus long de 32 bits"
+-
+-#: config/mips/mips.opt:201
+-#, fuzzy
+-msgid "Use a 64-bit long type"
+-msgstr "Usar tipus long de 64 bits"
+-
+-#: config/mips/mips.opt:205
+-msgid "Don't optimize block moves"
+-msgstr "No optimitzar els moviments de blocs"
+-
+-#: config/mips/mips.opt:209
+-#, fuzzy
+-msgid "Use the mips-tfile postpass"
+-msgstr "Usar mips-tfile asm postpass"
+-
+-#: config/mips/mips.opt:213
+-#, fuzzy
+-msgid "Allow the use of MT instructions"
+-msgstr "Activar l'ús de la instrucció RTPS"
+-
+-#: config/mips/mips.opt:217
+-msgid "Do not use a cache-flushing function before calling stack trampolines"
+-msgstr ""
+-
+-#: config/mips/mips.opt:221
+-#, fuzzy
+-msgid "Do not use MDMX instructions"
+-msgstr "No usar instruccions AltiVec"
+-
+-#: config/mips/mips.opt:225
+-#, fuzzy
+-msgid "Generate normal-mode code"
+-msgstr "Generar codi SA"
+-
+-#: config/mips/mips.opt:229
+-#, fuzzy
+-msgid "Do not use MIPS-3D instructions"
+-msgstr "No usar instruccions MIPS16"
+-
+-#: config/mips/mips.opt:233
+-#, fuzzy
+-msgid "Use paired-single floating-point instructions"
+-msgstr "Usar instruccions de maquinari per a coma flotant"
+-
+-#: config/mips/mips.opt:237
+-msgid "When generating -mabicalls code, make the code suitable for use in shared libraries"
+-msgstr ""
+-
+-#: config/mips/mips.opt:241
+-#, fuzzy
+-msgid "Restrict the use of hardware floating-point instructions to 32-bit operations"
+-msgstr "Usar instruccions de maquinari per a coma flotant"
+-
+-#: config/mips/mips.opt:245
+-#, fuzzy
+-msgid "Use SmartMIPS instructions"
+-msgstr "No usar instruccions MIPS16"
+-
+-#: config/mips/mips.opt:249
+-#, fuzzy
+-msgid "Prevent the use of all hardware floating-point instructions"
+-msgstr "Usar instruccions de maquinari per a coma flotant"
+-
+-#: config/mips/mips.opt:253
+-msgid "Optimize lui/addiu address loads"
+-msgstr "Optimitzar les càrregues de les adreces lui/addiu"
+-
+-#: config/mips/mips.opt:257
+-#, fuzzy
+-msgid "Assume all symbols have 32-bit values"
+-msgstr "Assumir que tots els doubles estan alineats"
+-
+-#: config/mips/mips.opt:261
+-msgid "Optimize the output for PROCESSOR"
+-msgstr ""
+-
+-#: config/mips/mips.opt:265 config/iq2000/iq2000.opt:44
+-msgid "Put uninitialized constants in ROM (needs -membedded-data)"
+-msgstr "Posar les constants sense inicialitzar en ROM (necessita -membedded-data)"
+-
+-#: config/mips/mips.opt:269
+-#, fuzzy
+-msgid "Perform VR4130-specific alignment optimizations"
+-msgstr "Realitzar optimitzacions de filat de salts"
+-
+-#: config/mips/mips.opt:273
+-msgid "Lift restrictions on GOT size"
+-msgstr ""
+-
+-#: config/mips/sdemtk.opt:23
+-#, fuzzy
+-msgid "Prevent the use of all floating-point operations"
+-msgstr "es requereixen registres booleans per a l'opció de coma flotant"
+-
+-#: config/fr30/fr30.opt:23
+-msgid "Assume small address space"
+-msgstr "Assumint espai d'adreces petit"
+-
+-#: config/m68hc11/m68hc11.opt:23 config/m68hc11/m68hc11.opt:31
+-msgid "Compile for a 68HC11"
+-msgstr "Compilar per a un 68HC11"
+-
+-#: config/m68hc11/m68hc11.opt:27 config/m68hc11/m68hc11.opt:35
+-msgid "Compile for a 68HC12"
+-msgstr "Compilar per a un 68HC12"
+-
+-#: config/m68hc11/m68hc11.opt:41 config/m68hc11/m68hc11.opt:45
+-msgid "Compile for a 68HCS12"
+-msgstr "Compilar per a un 68HCS12"
+-
+-#: config/m68hc11/m68hc11.opt:49
+-msgid "Auto pre/post decrement increment allowed"
+-msgstr "Es permet el pre/post decrement increment automàtic"
+-
+-#: config/m68hc11/m68hc11.opt:53
+-msgid "Min/max instructions allowed"
+-msgstr ""
+-
+-#: config/m68hc11/m68hc11.opt:57
+-msgid "Use call and rtc for function calls and returns"
+-msgstr "Usar call i rtc per a crides i retorns de funció"
+-
+-#: config/m68hc11/m68hc11.opt:61
+-msgid "Auto pre/post decrement increment not allowed"
+-msgstr "No es permet el pre/post decrement increment automàtic"
+-
+-#: config/m68hc11/m68hc11.opt:65
+-msgid "Use jsr and rts for function calls and returns"
+-msgstr "Usar jsr i rts per a crides i retorns de funció"
+-
+-#: config/m68hc11/m68hc11.opt:69
+-msgid "Min/max instructions not allowed"
+-msgstr ""
+-
+-#: config/m68hc11/m68hc11.opt:73
+-msgid "Use direct addressing mode for soft registers"
+-msgstr "Usar el mode d'adreçament direct per a registres soft"
+-
+-#: config/m68hc11/m68hc11.opt:77
+-msgid "Compile with 32-bit integer mode"
+-msgstr "Compilar amb el mode enter de 32-bit"
+-
+-#: config/m68hc11/m68hc11.opt:82
+-msgid "Specify the register allocation order"
+-msgstr "Especificar l'ordre d'assignació de registres"
+-
+-#: config/m68hc11/m68hc11.opt:86
+-msgid "Do not use direct addressing mode for soft registers"
+-msgstr "No usar el mode d'adreçament direct per a registres soft"
+-
+-#: config/m68hc11/m68hc11.opt:90
+-msgid "Compile with 16-bit integer mode"
+-msgstr "Compilar amb el mode enter de 16-bit"
+-
+-#: config/m68hc11/m68hc11.opt:94
+-msgid "Indicate the number of soft registers available"
+-msgstr "Indicar el nombre de registres suaus disponibles"
+-
+-#: config/vax/vax.opt:23 config/vax/vax.opt:27
+-msgid "Target DFLOAT double precision code"
+-msgstr ""
+-
+-#: config/vax/vax.opt:31 config/vax/vax.opt:35
+-#, fuzzy
+-msgid "Generate GFLOAT double precision code"
+-msgstr "Generar codi little endian"
+-
+-#: config/vax/vax.opt:39
+-#, fuzzy
+-msgid "Generate code for GNU assembler (gas)"
+-msgstr "Generar codi per a GNU as"
+-
+-#: config/vax/vax.opt:43
+-#, fuzzy
+-msgid "Generate code for UNIX assembler"
+-msgstr "Generar codi per a GNU as"
+-
+-#: config/vax/vax.opt:47
+-#, fuzzy
+-msgid "Use VAXC structure conventions"
+-msgstr "Usar convencions de cridada portable"
+-
+-#: config/cris/linux.opt:27
+-msgid "Together with -fpic and -fPIC, do not use GOTPLT references"
+-msgstr "Juntament amb -fpic i -fPIC, no utilitzar referències GOTPLT"
+-
+-#: config/cris/cris.opt:45
+-#, fuzzy
+-msgid "Work around bug in multiplication instruction"
+-msgstr "No usar instruccions de fp per a multiplicar-acumular"
+-
+-#: config/cris/cris.opt:51
+-msgid "Compile for ETRAX 4 (CRIS v3)"
+-msgstr "Compilar per a ETRAX 4 (CRIS v3)"
+-
+-#: config/cris/cris.opt:56
+-msgid "Compile for ETRAX 100 (CRIS v8)"
+-msgstr "Compilar per a ETRAX 100 (CRIS v8)"
+-
+-#: config/cris/cris.opt:64
+-msgid "Emit verbose debug information in assembly code"
+-msgstr "Emetre informació de depuració detallada en el codi ensamblador"
+-
+-#: config/cris/cris.opt:71
+-msgid "Do not use condition codes from normal instructions"
+-msgstr "No usar codis de condició per a les instruccions normals"
+-
+-#: config/cris/cris.opt:80
+-msgid "Do not emit addressing modes with side-effect assignment"
+-msgstr "No emetre modes d'adreçament amb assignacions col·laterals"
+-
+-#: config/cris/cris.opt:89
+-msgid "Do not tune stack alignment"
+-msgstr "No ajustar l'alineació de la pila"
+-
+-#: config/cris/cris.opt:98
+-msgid "Do not tune writable data alignment"
+-msgstr "No ajustar l'alineació de les dades modificables"
+-
+-#: config/cris/cris.opt:107
+-msgid "Do not tune code and read-only data alignment"
+-msgstr "No ajustar l'alineació del codi i de dades només de lectura"
+-
+-#: config/cris/cris.opt:116
+-msgid "Align code and data to 32 bits"
+-msgstr "Alinear codi i dades a 32 bits"
+-
+-#: config/cris/cris.opt:133
+-msgid "Don't align items in code or data"
+-msgstr "No alinear elements en el codi o les dades"
+-
+-#: config/cris/cris.opt:142
+-msgid "Do not emit function prologue or epilogue"
+-msgstr "No emetre pròleg o epíleg de funcions"
+-
+-#: config/cris/cris.opt:149
+-msgid "Use the most feature-enabling options allowed by other options"
+-msgstr "Usar la major quantitat de característiques permeses per altres opcions"
+-
+-#: config/cris/cris.opt:158
+-msgid "Override -mbest-lib-options"
+-msgstr "Anular -mbest-lib-options"
+-
+-#: config/cris/cris.opt:165
+-msgid "Generate code for the specified chip or CPU version"
+-msgstr "Generar codi per al xip especificat o la versió de CPU"
+-
+-#: config/cris/cris.opt:169
+-msgid "Tune alignment for the specified chip or CPU version"
+-msgstr "Ajustar alineació per al xip especificat o la versió de CPU"
+-
+-#: config/cris/cris.opt:173
+-msgid "Warn when a stackframe is larger than the specified size"
+-msgstr "Avisar quan un marc de pila sigui més gran que la grandària especificada"
+-
+-#: config/cris/aout.opt:27
+-msgid "Compile for the MMU-less Etrax 100-based elinux system"
+-msgstr "Compilar per al sistema elinux Etrax basat en 100 sense MMU"
+-
+-#: config/cris/aout.opt:33
+-msgid "For elinux, request a specified stack-size for this program"
+-msgstr "Per a elinux, sol·licitar una grandària de pila especificada per a aquest programa"
+-
+-#: config/h8300/h8300.opt:23
+-msgid "Generate H8S code"
+-msgstr "Generar codi H8S"
+-
+-#: config/h8300/h8300.opt:27
+-#, fuzzy
+-msgid "Generate H8SX code"
+-msgstr "Generar codi H8S"
+-
+-#: config/h8300/h8300.opt:31
+-msgid "Generate H8S/2600 code"
+-msgstr "Generar codi H8S/2600"
+-
+-#: config/h8300/h8300.opt:35
+-msgid "Make integers 32 bits wide"
+-msgstr "Fer enters de 32 bits d'amplària"
+-
+-#: config/h8300/h8300.opt:42
+-msgid "Use registers for argument passing"
+-msgstr "Usar registres per a pas de paràmetres"
+-
+-#: config/h8300/h8300.opt:46
+-msgid "Consider access to byte sized memory slow"
+-msgstr "Considerar lent l'accés a la memòria de grandària octet"
+-
+-#: config/h8300/h8300.opt:50
+-msgid "Enable linker relaxing"
+-msgstr "Activar la relaxació del enllaçador"
+-
+-#: config/h8300/h8300.opt:54
+-msgid "Generate H8/300H code"
+-msgstr "Generar codi H8/300H"
+-
+-#: config/h8300/h8300.opt:58
+-msgid "Enable the normal mode"
+-msgstr ""
+-
+-#: config/h8300/h8300.opt:62
+-msgid "Use H8/300 alignment rules"
+-msgstr "Usar regles d'alineació H8/300"
+-
+-#: config/v850/v850.opt:23
+-#, fuzzy
+-msgid "Use registers r2 and r5"
+-msgstr "No usar els registres r2 i r5"
+-
+-#: config/v850/v850.opt:27
+-msgid "Use 4 byte entries in switch tables"
+-msgstr "Usar entrades de 4 octet en les matrius de «switch»"
+-
+-#: config/v850/v850.opt:31
+-msgid "Enable backend debugging"
+-msgstr "Habilitar la depuració per la fi"
+-
+-#: config/v850/v850.opt:35
+-msgid "Do not use the callt instruction"
+-msgstr "No usar la instrucció callt"
+-
+-#: config/v850/v850.opt:39
+-msgid "Reuse r30 on a per function basis"
+-msgstr "Reusar r30 basat per funció"
+-
+-#: config/v850/v850.opt:43
+-msgid "Support Green Hills ABI"
+-msgstr "Dóna suport a l'ABI Green Hills"
+-
+-#: config/v850/v850.opt:47
+-msgid "Prohibit PC relative function calls"
+-msgstr "Prohibir la crida a funcions relatives al PC"
+-
+-#: config/v850/v850.opt:51
+-msgid "Use stubs for function prologues"
+-msgstr "Usar caps per als pròlegs de funció"
+-
+-#: config/v850/v850.opt:55
+-msgid "Set the max size of data eligible for the SDA area"
+-msgstr "Establir la grandària màxima de dades elegibles per a l'àrea SDA"
+-
+-#: config/v850/v850.opt:59
+-msgid "Enable the use of the short load instructions"
+-msgstr "Activar l'ús de les instruccions short load"
+-
+-#: config/v850/v850.opt:63
+-msgid "Same as: -mep -mprolog-function"
+-msgstr "Igual que: -mep -mprolog-function"
+-
+-#: config/v850/v850.opt:67
+-msgid "Set the max size of data eligible for the TDA area"
+-msgstr "Establir la grandària màxima de dades elegibles per a l'àrea TDA"
+-
+-#: config/v850/v850.opt:71
+-msgid "Enforce strict alignment"
+-msgstr "Reforçar l'alineació estricta"
+-
+-#: config/v850/v850.opt:78
+-msgid "Compile for the v850 processor"
+-msgstr "Compilar per al processador v850"
+-
+-#: config/v850/v850.opt:82
+-#, fuzzy
+-msgid "Compile for the v850e processor"
+-msgstr "Compilar per al processador v850"
+-
+-#: config/v850/v850.opt:86
+-#, fuzzy
+-msgid "Compile for the v850e1 processor"
+-msgstr "Compilar per al processador v850"
+-
+-#: config/v850/v850.opt:90
+-msgid "Set the max size of data eligible for the ZDA area"
+-msgstr "Establir la grandària màxima de dades elegibles per a l'àrea ZDA"
+-
+-#: config/mmix/mmix.opt:24
+-msgid "For intrinsics library: pass all parameters in registers"
+-msgstr "Per a biblioteques intrínsiques: passar els paràmetres en registres"
+-
+-#: config/mmix/mmix.opt:28
+-msgid "Use register stack for parameters and return value"
+-msgstr "Usar registres de pila per a paràmetres i valors de retorn"
+-
+-#: config/mmix/mmix.opt:32
+-msgid "Use call-clobbered registers for parameters and return value"
+-msgstr "Usar registres maltractats per a paràmetres i valors de retorn"
+-
+-#: config/mmix/mmix.opt:37
+-msgid "Use epsilon-respecting floating point compare instructions"
+-msgstr "Usar instuccions de comparança en coma flotant que respectent epsilon"
+-
+-#: config/mmix/mmix.opt:41
+-msgid "Use zero-extending memory loads, not sign-extending ones"
+-msgstr "Usar càrregues de memòria d'extensió zero, no les d'extensió amb signe"
+-
+-#: config/mmix/mmix.opt:45
+-msgid "Generate divide results with reminder having the same sign as the divisor (not the dividend)"
+-msgstr "Generar resultats de divisió amb residu que tingui el mateix signe que el divisor (no el del dividend)"
+-
+-#: config/mmix/mmix.opt:49
+-msgid "Prepend global symbols with \":\" (for use with PREFIX)"
+-msgstr "Precedir als símbols globals amb \":\" (per a usar-se amb PREFIX)"
+-
+-#: config/mmix/mmix.opt:53
+-msgid "Do not provide a default start-address 0x100 of the program"
+-msgstr "No proveir una adreça d'inici per omissió 0x100 del programa"
+-
+-#: config/mmix/mmix.opt:57
+-msgid "Link to emit program in ELF format (rather than mmo)"
+-msgstr "Enllaçar per a emetre el programa en format ELF (en lloc de mmo)"
+-
+-#: config/mmix/mmix.opt:61
+-msgid "Use P-mnemonics for branches statically predicted as taken"
+-msgstr "Usar Mnemónicos-P per a ramificacions predites estàticament com preses"
+-
+-#: config/mmix/mmix.opt:65
+-msgid "Don't use P-mnemonics for branches"
+-msgstr "No usar Mnemónicos-P per a ramificacions"
+-
+-#: config/mmix/mmix.opt:79
+-msgid "Use addresses that allocate global registers"
+-msgstr "Usar adreces que reservin registres globals"
+-
+-#: config/mmix/mmix.opt:83
+-msgid "Do not use addresses that allocate global registers"
+-msgstr "No usar adreces que reservin registres globals"
+-
+-#: config/mmix/mmix.opt:87
+-msgid "Generate a single exit point for each function"
+-msgstr "Generar només un punt de sortida per a cada funció"
+-
+-#: config/mmix/mmix.opt:91
+-msgid "Do not generate a single exit point for each function"
+-msgstr "No generar només un punt de sortida per a cada funció"
+-
+-#: config/mmix/mmix.opt:95
+-msgid "Set start-address of the program"
+-msgstr "Definir l'adreça d'inici del programa"
+-
+-#: config/mmix/mmix.opt:99
+-msgid "Set start-address of data"
+-msgstr "Definir l'adreça d'inici de les dades"
+-
+-#: config/iq2000/iq2000.opt:23 config/mt/mt.opt:55
+-msgid "Specify CPU for code generation purposes"
+-msgstr "Especificar el CPU per a propòsits de generació de codi"
+-
+-#: config/iq2000/iq2000.opt:27
+-msgid "Specify CPU for scheduling purposes"
+-msgstr "Especificar el CPU per a propòsits de calendarització"
+-
+-#: config/iq2000/iq2000.opt:35
+-msgid "Use GP relative sdata/sbss sections"
+-msgstr "Usar seccions sdata/sbss relatives a GP"
+-
+-#: config/iq2000/iq2000.opt:40
+-msgid "No default crt0.o"
+-msgstr "No està el crt0.o per omissió"
+-
+-#: config/bfin/bfin.opt:31
+-#, fuzzy
+-msgid "Omit frame pointer for leaf functions"
+-msgstr "Ometre el marc de referència per a les funcions fulles"
+-
+-#: config/bfin/bfin.opt:35
+-msgid "Program is entirely located in low 64k of memory"
+-msgstr ""
+-
+-#: config/bfin/bfin.opt:39
+-msgid "Work around a hardware anomaly by adding a number of NOPs before a"
+-msgstr ""
+-
+-#: config/bfin/bfin.opt:44
+-msgid "Avoid speculative loads to work around a hardware anomaly."
+-msgstr ""
+-
+-#: config/bfin/bfin.opt:48
+-msgid "Enabled ID based shared library"
+-msgstr ""
+-
+-#: config/bfin/bfin.opt:52
+-msgid "Generate code that won't be linked against any other ID shared libraries,"
+-msgstr ""
+-
+-#: config/bfin/bfin.opt:65
+-msgid "Avoid generating pc-relative calls; use indirection"
+-msgstr ""
+-
+-#: config/bfin/bfin.opt:69
+-#, fuzzy
+-msgid "Link with the fast floating-point library"
+-msgstr "Usar la unitat de coma flotant de Xtensa"
+-
+-#: config/bfin/bfin.opt:81
+-msgid "Do stack checking using bounds in L1 scratch memory"
+-msgstr ""
+-
+-#: config/mt/mt.opt:23
+-msgid "Use byte loads and stores when generating code."
+-msgstr ""
+-
+-#: config/mt/mt.opt:31
+-msgid "Do not include crt0.o in the startup files"
+-msgstr ""
+-
+-#: config/mt/mt.opt:35 config/mt/mt.opt:39 config/mt/mt.opt:43
+-#: config/mt/mt.opt:47 config/mt/mt.opt:51
+-#, fuzzy
+-msgid "Internal debug switch"
+-msgstr "interruptor -mdebug-%s desconegut"
+-
+-#: config/vxworks.opt:24
+-#, fuzzy
+-msgid "Assume the VxWorks RTP environment"
+-msgstr "Assumir l'ambient normal d'execució C"
+-
+-#: config/vxworks.opt:31
+-#, fuzzy
+-msgid "Assume the VxWorks vThreads environment"
+-msgstr "Assumir l'ambient normal d'execució C"
+-
+-#: config/darwin.opt:23
+-#, fuzzy
+-msgid "Generate code suitable for fast turn around debugging"
+-msgstr "Generar codi per a un Sun Sky board"
+-
+-#: config/darwin.opt:31
+-msgid "The earliest MacOS X version on which this program will run"
+-msgstr ""
+-
+-#: config/darwin.opt:35
+-#, fuzzy
+-msgid "Set sizeof(bool) to 1"
+-msgstr "sizeof(long double) és 16."
+-
+-#: config/darwin.opt:39
+-#, fuzzy
+-msgid "Generate code for darwin loadable kernel extensions"
+-msgstr "Generar codi per a little endian"
+-
+-#: config/darwin.opt:43
+-#, fuzzy
+-msgid "Generate code for the kernel or loadable kernel extensions"
+-msgstr "Generar codi per al xip especificat o la versió de CPU"
+-
+-#: config/darwin.opt:47
+-msgid "Add <dir> to the end of the system framework include path"
+-msgstr ""
+-
+-#: config/lynx.opt:23
+-msgid "Support legacy multi-threading"
+-msgstr ""
+-
+-#: config/lynx.opt:27
+-#, fuzzy
+-msgid "Use shared libraries"
+-msgstr "Usar fp de maquinari"
+-
+-#: config/lynx.opt:31
+-msgid "Support multi-threading"
+-msgstr ""
+-
+-#: config/score/score.opt:31
+-#, fuzzy
+-msgid "Disable bcnz instruction"
+-msgstr "Desactivar l'ús de la instrucció DB"
+-
+-#: config/score/score.opt:35
+-#, fuzzy
+-msgid "Enable unaligned load/store instruction"
+-msgstr "Activar l'ús de la instrucció DB"
+-
+-#: config/score/score.opt:39
+-msgid "Support SCORE 5 ISA"
+-msgstr ""
+-
+-#: config/score/score.opt:43
+-msgid "Support SCORE 5U ISA"
+-msgstr ""
+-
+-#: config/score/score.opt:47
+-msgid "Support SCORE 7 ISA"
+-msgstr ""
+-
+-#: config/score/score.opt:51
+-msgid "Support SCORE 7D ISA"
+-msgstr ""
+-
+-#: config/score/score.opt:55
+-msgid "Support SCORE 3 ISA"
+-msgstr ""
+-
+-#: config/score/score.opt:59
+-msgid "Support SCORE 3d ISA"
+-msgstr ""
+-
+-#: config/linux.opt:24
+-#, fuzzy
+-msgid "Use uClibc instead of GNU libc"
+-msgstr "Usar ROM enlloc de RAM"
+-
+-#: config/linux.opt:28
+-#, fuzzy
+-msgid "Use GNU libc instead of uClibc"
+-msgstr "Usar ROM enlloc de RAM"
+-
+-#: c.opt:41
+-msgid "Assert the <answer> to <question>. Putting '-' before <question> disables the <answer> to <question>"
+-msgstr ""
+-
+-#: c.opt:45
+-#, fuzzy
+-msgid "Do not discard comments"
+-msgstr "No desactivar registres d'espai"
+-
+-#: c.opt:49
+-msgid "Do not discard comments in macro expansions"
+-msgstr ""
+-
+-#: c.opt:53
+-msgid "Define a <macro> with <val> as its value. If just <macro> is given, <val> is taken to be 1"
+-msgstr ""
+-
+-#: c.opt:60
+-msgid "Add <dir> to the end of the main framework include path"
+-msgstr ""
+-
+-#: c.opt:64
+-#, fuzzy
+-msgid "Print the name of header files as they are used"
+-msgstr "Mostrar els noms de les unitats de programa mentre són compilades"
+-
+-#: c.opt:68 c.opt:859
+-msgid "Add <dir> to the end of the main include path"
+-msgstr ""
+-
+-#: c.opt:72
+-#, fuzzy
+-msgid "Generate make dependencies"
+-msgstr "Generar codi little endian"
+-
+-#: c.opt:76
+-#, fuzzy
+-msgid "Generate make dependencies and compile"
+-msgstr "Generar codi little endian"
+-
+-#: c.opt:80
+-msgid "Write dependency output to the given file"
+-msgstr ""
+-
+-#: c.opt:84
+-msgid "Treat missing header files as generated files"
+-msgstr ""
+-
+-#: c.opt:88
+-msgid "Like -M but ignore system header files"
+-msgstr ""
+-
+-#: c.opt:92
+-msgid "Like -MD but ignore system header files"
+-msgstr ""
+-
+-#: c.opt:96
+-#, fuzzy
+-msgid "Generate phony targets for all headers"
+-msgstr "Generar codi com de Intel"
+-
+-#: c.opt:100
+-msgid "Add a MAKE-quoted target"
+-msgstr ""
+-
+-#: c.opt:104
+-msgid "Add an unquoted target"
+-msgstr ""
+-
+-#: c.opt:108
+-#, fuzzy
+-msgid "Do not generate #line directives"
+-msgstr "No generar directives .size"
+-
+-#: c.opt:112
+-msgid "Undefine <macro>"
+-msgstr ""
+-
+-#: c.opt:116
+-msgid "Warn about things that will change when compiling with an ABI-compliant compiler"
+-msgstr ""
+-
+-#: c.opt:120
+-#, fuzzy
+-msgid "Warn about suspicious uses of memory addresses"
+-msgstr "Avisar sobre declaracions sospitoses de main"
+-
+-#: c.opt:124
+-msgid "Enable most warning messages"
+-msgstr "Activar gairebé tots els missatges d'avís"
+-
+-#: c.opt:128
+-#, fuzzy
+-msgid "Warn if a comparison is always true or always false due to the limited range of the data type"
+-msgstr "la comparança sempre és falsa a causa dels límits limitats del tipus de dades"
+-
+-#: c.opt:132
+-msgid "Warn whenever an Objective-C assignment is being intercepted by the garbage collector"
+-msgstr ""
+-
+-#: c.opt:136
+-msgid "Warn about casting functions to incompatible types"
+-msgstr "Avisar per funcions de conversió a tipus incompatibles"
+-
+-#: c.opt:140
+-msgid "Warn about C constructs that are not in the common subset of C and C++"
+-msgstr ""
+-
+-#: c.opt:144
+-#, fuzzy
+-msgid "Warn about C++ constructs whose meaning differs between ISO C++ 1998 and ISO C++ 200x"
+-msgstr "Avisar sobre construccions el significat de les quals canvia en ISO C"
+-
+-#: c.opt:148
+-msgid "Warn about casts which discard qualifiers"
+-msgstr "Avisar sobre conversions que descarten calificators"
+-
+-#: c.opt:152
+-#, fuzzy
+-msgid "Warn about subscripts whose type is \"char\""
+-msgstr "Avisar sobre subindicis el tipus del qual és \"char\""
+-
+-#: c.opt:156
+-#, fuzzy
+-msgid "Warn about variables that might be changed by \"longjmp\" or \"vfork\""
+-msgstr "%Jla variable \"%D\" podria ser apallissada per \"longjmp\" o \"vfork\""
+-
+-#: c.opt:160
+-msgid "Warn about possibly nested block comments, and C++ comments spanning more than one physical line"
+-msgstr ""
+-
+-#: c.opt:164
+-msgid "Synonym for -Wcomment"
+-msgstr ""
+-
+-#: c.opt:168
+-msgid "Warn for implicit type conversions that may change a value"
+-msgstr ""
+-
+-#: c.opt:172
+-#, fuzzy
+-msgid "Warn for implicit type conversions between signed and unsigned integers"
+-msgstr "comparança entre expressions enteres signed i unsigned"
+-
+-#: c.opt:176
+-#, fuzzy
+-msgid "Warn when all constructors and destructors are private"
+-msgstr "No avisar quan tots els ctors/dtors són privats"
+-
+-#: c.opt:180
+-#, fuzzy
+-msgid "Warn when a declaration is found after a statement"
+-msgstr "Avisar quan una declaració no especifiqui un tipus"
+-
+-#: c.opt:184
+-#, fuzzy
+-msgid "Warn about deprecated compiler features"
+-msgstr "No anunciar característiques obsoletes del compilador"
+-
+-#: c.opt:188
+-#, fuzzy
+-msgid "Warn about compile-time integer division by zero"
+-msgstr "No avisar sobre la divisió entera per zero en temps de compilació"
+-
+-#: c.opt:192
+-msgid "Warn about violations of Effective C++ style rules"
+-msgstr "Avisar violacions de regles d'estil de Effective C++"
+-
+-#: c.opt:196
+-#, fuzzy
+-msgid "Warn about an empty body in an if or else statement"
+-msgstr "cos buit en una declaració else"
+-
+-#: c.opt:200
+-msgid "Warn about stray tokens after #elif and #endif"
+-msgstr ""
+-
+-#: c.opt:208
+-msgid "This switch is deprecated; use -Werror=implicit-function-declaration instead"
+-msgstr ""
+-
+-#: c.opt:212
+-#, fuzzy
+-msgid "Warn if testing floating point numbers for equality"
+-msgstr "Avisar sobre l'equitat de proves de nombres de coma flotant"
+-
+-#: c.opt:216
+-#, fuzzy
+-msgid "Warn about printf/scanf/strftime/strfmon format string anomalies"
+-msgstr "Avisar sobre anomalies amb format de printf/scanf/strftime/strfmon"
+-
+-#: c.opt:220
+-#, fuzzy
+-msgid "Warn if passing too many arguments to a function for its format string"
+-msgstr "massa arguments per a la funció \"va_start\""
+-
+-#: c.opt:224
+-#, fuzzy
+-msgid "Warn about format strings that are not literals"
+-msgstr "Avisar sobre l'ús de literals multicaràcters"
+-
+-#: c.opt:228
+-#, fuzzy
+-msgid "Warn about format strings that contain NUL bytes"
+-msgstr "Avisar sobre l'ús de literals multicaràcters"
+-
+-#: c.opt:232
+-msgid "Warn about possible security problems with format functions"
+-msgstr "Avisar sobre possibles problemes de seguretat amb funcions de format"
+-
+-#: c.opt:236
+-#, fuzzy
+-msgid "Warn about strftime formats yielding 2-digit years"
+-msgstr "No avisar sobre formats de strftime que produeixen dos dígits per a l'any"
+-
+-#: c.opt:240
+-#, fuzzy
+-msgid "Warn about zero-length formats"
+-msgstr "cadena de format %s de longitud zero"
+-
+-#: c.opt:247
+-msgid "Warn about variables which are initialized to themselves"
+-msgstr ""
+-
+-#: c.opt:254
+-msgid "Warn about implicit function declarations"
+-msgstr "Avisar sobre la declaració implícita de funcions"
+-
+-#: c.opt:258
+-msgid "Warn when a declaration does not specify a type"
+-msgstr "Avisar quan una declaració no especifiqui un tipus"
+-
+-#: c.opt:262
+-msgid "Deprecated. This switch has no effect"
+-msgstr ""
+-
+-#: c.opt:266
+-#, fuzzy
+-msgid "Warn when there is a cast to a pointer from an integer of a different size"
+-msgstr "conversió a punter des d'un enter de grandària diferent"
+-
+-#: c.opt:270
+-#, fuzzy
+-msgid "Warn about invalid uses of the \"offsetof\" macro"
+-msgstr "Avisar sobre l'ús de la directiva #import"
+-
+-#: c.opt:274
+-msgid "Warn about PCH files that are found but not used"
+-msgstr ""
+-
+-#: c.opt:278
+-#, fuzzy
+-msgid "Do not warn about using \"long long\" when -pedantic"
+-msgstr "No avisar sobre l'ús de \"long long\" quan s'usi -pedantic"
+-
+-#: c.opt:282
+-#, fuzzy
+-msgid "Warn about suspicious declarations of \"main\""
+-msgstr "Avisar sobre declaracions sospitoses de main"
+-
+-#: c.opt:286
+-msgid "Warn about possibly missing braces around initializers"
+-msgstr "Avisar sobre possibles claus faltantes al voltant d'assignadorsº"
+-
+-#: c.opt:290
+-#, fuzzy
+-msgid "Warn about global functions without previous declarations"
+-msgstr "Avisar sobre funcions globals sense declaracions prèvies"
+-
+-#: c.opt:294
+-#, fuzzy
+-msgid "Warn about missing fields in struct initializers"
+-msgstr "Avisar sobre possibles claus faltantes al voltant d'assignadorsº"
+-
+-#: c.opt:298
+-msgid "Warn about functions which might be candidates for format attributes"
+-msgstr "Avisar per funcions que podrien ser candidates per a atributs de format"
+-
+-#: c.opt:302
+-msgid "Warn about user-specified include directories that do not exist"
+-msgstr ""
+-
+-#: c.opt:306
+-msgid "Warn about function parameters declared without a type specifier in K&R-style functions"
+-msgstr ""
+-
+-#: c.opt:310
+-#, fuzzy
+-msgid "Warn about global functions without prototypes"
+-msgstr "Avisar sobre funcions globals sense prototips"
+-
+-#: c.opt:314
+-#, fuzzy
+-msgid "Warn about use of multi-character character constants"
+-msgstr "Avisar sobre l'ús de literals multicaràcters"
+-
+-#: c.opt:318
+-#, fuzzy
+-msgid "Warn about \"extern\" declarations not at file scope"
+-msgstr "Avisar sobre externs que no estan en el nivell de l'abast del fitxer"
+-
+-#: c.opt:322
+-#, fuzzy
+-msgid "Warn when non-templatized friend functions are declared within a template"
+-msgstr "No avisar quan les funcions friend sense patró són declarades dintre d'un patró"
+-
+-#: c.opt:326
+-#, fuzzy
+-msgid "Warn about non-virtual destructors"
+-msgstr "Avisar sobre destructors no virtuals"
+-
+-#: c.opt:330
+-msgid "Warn about NULL being passed to argument slots marked as requiring non-NULL"
+-msgstr ""
+-
+-#: c.opt:334
+-#, fuzzy
+-msgid "Warn about non-normalised Unicode strings"
+-msgstr "Avisar sobre cadenes de format que no són cadenes literals"
+-
+-#: c.opt:338
+-#, fuzzy
+-msgid "Warn if a C-style cast is used in a program"
+-msgstr "Avisar quan s'usi una conversió d'estil C en un programa"
+-
+-#: c.opt:342
+-#, fuzzy
+-msgid "Warn for obsolescent usage in a declaration"
+-msgstr "Avisar sobre la declaració implícita de funcions"
+-
+-#: c.opt:346
+-#, fuzzy
+-msgid "Warn if an old-style parameter definition is used"
+-msgstr "Avisar quan no s'usi un paràmetre d'una funció"
+-
+-#: c.opt:350
+-msgid "Warn if a string is longer than the maximum portable length specified by the standard"
+-msgstr ""
+-
+-#: c.opt:354
+-msgid "Warn about overloaded virtual function names"
+-msgstr "Avisar sobre noms de funcions virtual sobrecarregades"
+-
+-#: c.opt:358
+-#, fuzzy
+-msgid "Warn about overriding initializers without side effects"
+-msgstr "Avisar sobre variables automàtiques sense iniciar"
+-
+-#: c.opt:362
+-#, fuzzy
+-msgid "Warn about possibly missing parentheses"
+-msgstr "Avisar sobre possibles parèntesis faltantes"
+-
+-#: c.opt:366
+-#, fuzzy
+-msgid "Warn when converting the type of pointers to member functions"
+-msgstr "avisar quan el tipus converteix punters a funcions membre"
+-
+-#: c.opt:370
+-msgid "Warn about function pointer arithmetic"
+-msgstr "Avisar sobre l'aritmètica de punters de funcions"
+-
+-#: c.opt:374
+-#, fuzzy
+-msgid "Warn when a pointer is cast to an integer of a different size"
+-msgstr "conversió de punter a enter de grandària diferent"
+-
+-#: c.opt:378
+-#, fuzzy
+-msgid "Warn about misuses of pragmas"
+-msgstr "Avisar sobre pragmas no reconeguts"
+-
+-#: c.opt:382
+-#, fuzzy
+-msgid "Warn if inherited methods are unimplemented"
+-msgstr "Avisar si es detecten comentaris niats"
+-
+-#: c.opt:386
+-msgid "Warn about multiple declarations of the same object"
+-msgstr "Avisar sobre declaracions múltiples del mateix objecte"
+-
+-#: c.opt:390
+-msgid "Warn when the compiler reorders code"
+-msgstr "Avisar quan el compilador reordeni codi"
+-
+-#: c.opt:394
+-#, fuzzy
+-msgid "Warn whenever a function's return type defaults to \"int\" (C), or about inconsistent return types (C++)"
+-msgstr "Avisar quan el tipus de retorn per defecte d'una funció canvia a int"
+-
+-#: c.opt:398
+-msgid "Warn if a selector has multiple methods"
+-msgstr ""
+-
+-#: c.opt:402
+-msgid "Warn about possible violations of sequence point rules"
+-msgstr "Avisar sobre possibles violacions a les regles de seqüència de punt"
+-
+-#: c.opt:406
+-#, fuzzy
+-msgid "Warn about signed-unsigned comparisons"
+-msgstr "Avisar sobre comparances signed/unsigned"
+-
+-#: c.opt:410
+-msgid "Warn when overload promotes from unsigned to signed"
+-msgstr "Avisar quan la sobrecàrrega promogui de unsigned a signed"
+-
+-#: c.opt:414
+-msgid "Warn about uncasted NULL used as sentinel"
+-msgstr ""
+-
+-#: c.opt:418
+-#, fuzzy
+-msgid "Warn about unprototyped function declarations"
+-msgstr "Avisar sobre declaracions de funció sense prototip"
+-
+-#: c.opt:422
+-msgid "Warn if type signatures of candidate methods do not match exactly"
+-msgstr ""
+-
+-#: c.opt:426
+-msgid "Warn when synthesis behavior differs from Cfront"
+-msgstr "Avisar quan el comportament de síntesi difereixi de Cfront"
+-
+-#: c.opt:430 common.opt:182
+-msgid "Do not suppress warnings from system headers"
+-msgstr "No suprimir els avisos dels encapçalats del sistema"
+-
+-#: c.opt:434
+-#, fuzzy
+-msgid "Warn about features not present in traditional C"
+-msgstr "es suggereix no usar #elif en C tradicional"
+-
+-#: c.opt:438
+-msgid "Warn of prototypes causing type conversions different from what would happen in the absence of prototype"
+-msgstr ""
+-
+-#: c.opt:442
+-msgid "Warn if trigraphs are encountered that might affect the meaning of the program"
+-msgstr ""
+-
+-#: c.opt:446
+-#, fuzzy
+-msgid "Warn about @selector()s without previously declared methods"
+-msgstr "Avisar sobre funcions globals sense declaracions prèvies"
+-
+-#: c.opt:450
+-#, fuzzy
+-msgid "Warn if an undefined macro is used in an #if directive"
+-msgstr "directiva # no definida o no vàlida"
+-
+-#: c.opt:454
+-msgid "Warn about unrecognized pragmas"
+-msgstr "Avisar sobre pragmas no reconeguts"
+-
+-#: c.opt:458
+-msgid "Warn about macros defined in the main file that are not used"
+-msgstr ""
+-
+-#: c.opt:462
+-#, fuzzy
+-msgid "Do not warn about using variadic macros when -pedantic"
+-msgstr "No avisar sobre l'ús de \"long long\" quan s'usi -pedantic"
+-
+-#: c.opt:466
+-#, fuzzy
+-msgid "Warn if a variable length array is used"
+-msgstr "Avisar quan no s'usi una variable"
+-
+-#: c.opt:470
+-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.opt:474
+-#, fuzzy
+-msgid "Warn when a pointer differs in signedness in an assignment"
+-msgstr "Avisar quan la sobrecàrrega promogui de unsigned a signed"
+-
+-#: c.opt:478
+-msgid "A synonym for -std=c89 (for C) or -std=c++98 (for C++)"
+-msgstr ""
+-
+-#: c.opt:486
+-#, fuzzy
+-msgid "Enforce class member access control semantics"
+-msgstr "No obeir les semàntiques de control d'accés"
+-
+-#: c.opt:493
+-msgid "Change when template instances are emitted"
+-msgstr "Canviar quan s'emetin les instàncies del patró"
+-
+-#: c.opt:497
+-#, fuzzy
+-msgid "Recognize the \"asm\" keyword"
+-msgstr "No reconèixer la paraula clau \"asm\""
+-
+-#: c.opt:501
+-#, fuzzy
+-msgid "Recognize built-in functions"
+-msgstr "No reconèixer cap funció interna"
+-
+-#: c.opt:508
+-msgid "Check the return value of new"
+-msgstr "Revisar el valor de retorn de new"
+-
+-#: c.opt:512
+-#, fuzzy
+-msgid "Allow the arguments of the '?' operator to have different types"
+-msgstr "els operands de ?: tenen tipus diferents"
+-
+-#: c.opt:516
+-#, fuzzy
+-msgid "Reduce the size of object files"
+-msgstr "Reduir la grandària dels fitxers objecte"
+-
+-#: c.opt:520
+-#, fuzzy
+-msgid "Use class <name> for constant strings"
+-msgstr "Especificar un nom alternatiu per a la secció constant"
+-
+-#: c.opt:524
+-msgid "Inline member functions by default"
+-msgstr "Fer que les funcions membre siguin «inline» per omissió"
+-
+-#: c.opt:528
+-#, fuzzy
+-msgid "Preprocess directives only."
+-msgstr "Processar directives #ident"
+-
+-#: c.opt:532
+-#, fuzzy
+-msgid "Permit '$' as an identifier character"
+-msgstr "el format és una cadena de caràcter ampla"
+-
+-#: c.opt:539
+-#, fuzzy
+-msgid "Generate code to check exception specifications"
+-msgstr "No generar codi per a revisar excepcions d'especificacions"
+-
+-#: c.opt:546
+-msgid "Convert all strings and character constants to character set <cset>"
+-msgstr ""
+-
+-#: c.opt:550
+-#, fuzzy
+-msgid "Permit universal character names (\\u and \\U) in identifiers"
+-msgstr "universal-character-name \"\\u%04x\" no és vàlid en l'identificador"
+-
+-#: c.opt:554
+-msgid "Specify the default character set for source files"
+-msgstr ""
+-
+-#: c.opt:562
+-#, fuzzy
+-msgid "Scope of for-init-statement variables is local to the loop"
+-msgstr "L'àmbit de les variables de la declaració d'inici de for s'estén cap a fora"
+-
+-#: c.opt:566
+-#, fuzzy
+-msgid "Do not assume that standard C libraries and \"main\" exist"
+-msgstr "Assumir que podrien no existir les biblioteques estàndard i main"
+-
+-#: c.opt:570
+-#, fuzzy
+-msgid "Recognize GNU-defined keywords"
+-msgstr "No reconèixer les paraules claus definides per GNU"
+-
+-#: c.opt:574
+-msgid "Generate code for GNU runtime environment"
+-msgstr ""
+-
+-#: c.opt:578
+-#, fuzzy
+-msgid "Use traditional GNU semantics for inline functions"
+-msgstr "C tradicional rebutja els valors inicials d'unions"
+-
+-#: c.opt:591
+-msgid "Assume normal C execution environment"
+-msgstr "Assumir l'ambient normal d'execució C"
+-
+-#: c.opt:595
+-msgid "Enable support for huge objects"
+-msgstr "Activar el suport per a objectes enormes"
+-
+-#: c.opt:599
+-msgid "Export functions even if they can be inlined"
+-msgstr "Exportar funcions encara si poden ser «inline»"
+-
+-#: c.opt:603
+-#, fuzzy
+-msgid "Emit implicit instantiations of inline templates"
+-msgstr "Emetre solament instanciacions explícites de patrons «inline»"
+-
+-#: c.opt:607
+-#, fuzzy
+-msgid "Emit implicit instantiations of templates"
+-msgstr "Emetre solament instanciacions explícites de patrons «inline»"
+-
+-#: c.opt:611
+-#, fuzzy
+-msgid "Inject friend functions into enclosing namespace"
+-msgstr "Integrar les funcions simples en els seus invocators"
+-
+-#: c.opt:618
+-msgid "Allow implicit conversions between vectors with differing numbers of subparts and/or differing element types."
+-msgstr ""
+-
+-#: c.opt:622
+-#, fuzzy
+-msgid "Don't warn about uses of Microsoft extensions"
+-msgstr "No avisar pedantment sobre els usos d'extensions Microsoft"
+-
+-#: c.opt:632
+-msgid "Generate code for NeXT (Apple Mac OS X) runtime environment"
+-msgstr ""
+-
+-#: c.opt:636
+-msgid "Assume that receivers of Objective-C messages may be nil"
+-msgstr ""
+-
+-#: c.opt:648
+-msgid "Generate special Objective-C methods to initialize/destroy non-POD C++ ivars, if needed"
+-msgstr ""
+-
+-#: c.opt:652
+-msgid "Allow fast jumps to the message dispatcher"
+-msgstr ""
+-
+-#: c.opt:658
+-msgid "Enable Objective-C exception and synchronization syntax"
+-msgstr ""
+-
+-#: c.opt:662
+-msgid "Enable garbage collection (GC) in Objective-C/Objective-C++ programs"
+-msgstr ""
+-
+-#: c.opt:667
+-#, fuzzy
+-msgid "Enable Objective-C setjmp exception handling runtime"
+-msgstr "Activar el maneig d'excepcions"
+-
+-#: c.opt:671
+-#, fuzzy
+-msgid "Enable OpenMP"
+-msgstr "Activar la depuració"
+-
+-#: c.opt:675
+-msgid "Recognize C++ kewords like \"compl\" and \"xor\""
+-msgstr ""
+-
+-#: c.opt:679
+-#, fuzzy
+-msgid "Enable optional diagnostics"
+-msgstr "Desactivar els diagnòstics opcionals"
+-
+-#: c.opt:686
+-msgid "Look for and use PCH files even when preprocessing"
+-msgstr ""
+-
+-#: c.opt:690
+-msgid "Downgrade conformance errors to warnings"
+-msgstr "Degradar els errors de concordança a advertiments"
+-
+-#: c.opt:694
+-msgid "Treat the input file as already preprocessed"
+-msgstr ""
+-
+-#: c.opt:698
+-msgid "Used in Fix-and-Continue mode to indicate that object files may be swapped in at runtime"
+-msgstr ""
+-
+-#: c.opt:702
+-msgid "Enable automatic template instantiation"
+-msgstr "Activar l'instanciació automàtica de patrons"
+-
+-#: c.opt:706
+-#, fuzzy
+-msgid "Generate run time type descriptor information"
+-msgstr "No generar informació del tipus de descriptor en temps d'execució"
+-
+-#: c.opt:710
+-msgid "Use the same size for double as for float"
+-msgstr "Usar la mateixa grandària per a double que per a float"
+-
+-#: c.opt:718
+-#, fuzzy
+-msgid "Force the underlying type for \"wchar_t\" to be \"unsigned short\""
+-msgstr "Fer de costat el tipus sota wchar_t per \"unsigned short\""
+-
+-#: c.opt:722
+-msgid "When \"signed\" or \"unsigned\" is not given make the bitfield signed"
+-msgstr ""
+-
+-#: c.opt:726
+-#, fuzzy
+-msgid "Make \"char\" signed by default"
+-msgstr "Fer que \"char\" sigui signed per omissió"
+-
+-#: c.opt:733
+-msgid "Display statistics accumulated during compilation"
+-msgstr "Mostrar les estadístiques acumulades durant la compilació"
+-
+-#: c.opt:740
+-msgid "Distance between tab stops for column reporting"
+-msgstr ""
+-
+-#: c.opt:744
+-#, fuzzy
+-msgid "Specify maximum template instantiation depth"
+-msgstr "Especificar la profunditat màxima d'instanciació de patrons"
+-
+-#: c.opt:751
+-#, fuzzy
+-msgid "Do not generate thread-safe code for initializing local statics"
+-msgstr "No generis codi per a crides near"
+-
+-#: c.opt:755
+-msgid "When \"signed\" or \"unsigned\" is not given make the bitfield unsigned"
+-msgstr ""
+-
+-#: c.opt:759
+-msgid "Make \"char\" unsigned by default"
+-msgstr "Fer que \"char\" sigui unsigned per omissió"
+-
+-#: c.opt:763
+-msgid "Use __cxa_atexit to register destructors"
+-msgstr "Usar __cxa_atexit per a registrar destructors"
+-
+-#: c.opt:767
+-msgid "Use __cxa_get_exception_ptr in exception handling"
+-msgstr ""
+-
+-#: c.opt:771
+-msgid "Marks all inlined methods as having hidden visibility"
+-msgstr ""
+-
+-#: c.opt:775
+-msgid "Changes visibility to match Microsoft Visual Studio by default"
+-msgstr ""
+-
+-#: c.opt:779
+-msgid "Discard unused virtual functions"
+-msgstr "Descartar funcions virtual sense usar"
+-
+-#: c.opt:783
+-msgid "Implement vtables using thunks"
+-msgstr "Implementar vtables usant thunks"
+-
+-#: c.opt:787
+-msgid "Emit common-like symbols as weak symbols"
+-msgstr "Emetre símbols comuns com símbols febles"
+-
+-#: c.opt:791
+-msgid "Convert all wide strings and character constants to character set <cset>"
+-msgstr ""
+-
+-#: c.opt:795
+-msgid "Generate a #line directive pointing at the current working directory"
+-msgstr ""
+-
+-#: c.opt:799
+-msgid "Emit cross referencing information"
+-msgstr "Emetre informació de referència creuada"
+-
+-#: c.opt:803
+-msgid "Generate lazy class lookup (via objc_getClass()) for use in Zero-Link mode"
+-msgstr ""
+-
+-#: c.opt:807
+-msgid "Dump declarations to a .decl file"
+-msgstr ""
+-
+-#: c.opt:811
+-msgid "Aggressive reduced debug info for structs"
+-msgstr ""
+-
+-#: c.opt:815
+-msgid "Conservative reduced debug info for structs"
+-msgstr ""
+-
+-#: c.opt:819
+-msgid "Detailed reduced debug info for structs"
+-msgstr ""
+-
+-#: c.opt:823 c.opt:855
+-msgid "Add <dir> to the end of the system include path"
+-msgstr ""
+-
+-#: c.opt:827
+-#, fuzzy
+-msgid "Accept definition of macros in <file>"
+-msgstr "cicle en la definició de la reservació \"%s\""
+-
+-#: c.opt:831
+-msgid "-imultilib <dir> Set <dir> to be the multilib include subdirectory"
+-msgstr ""
+-
+-#: c.opt:835
+-msgid "Include the contents of <file> before other files"
+-msgstr ""
+-
+-#: c.opt:839
+-#, fuzzy
+-msgid "Specify <path> as a prefix for next two options"
+-msgstr "Especificar un nom alternatiu per a la secció de text"
+-
+-#: c.opt:843
+-msgid "Set <dir> to be the system root directory"
+-msgstr ""
+-
+-#: c.opt:847
+-msgid "Add <dir> to the start of the system include path"
+-msgstr ""
+-
+-#: c.opt:851
+-msgid "Add <dir> to the end of the quote include path"
+-msgstr ""
+-
+-#: c.opt:872
+-msgid "Do not search standard system include directories (those specified with -isystem will still be used)"
+-msgstr ""
+-
+-#: c.opt:876
+-msgid "Do not search standard system include directories for C++"
+-msgstr ""
+-
+-#: c.opt:892
+-msgid "Generate C header of platform-specific features"
+-msgstr ""
+-
+-#: c.opt:896
+-msgid "Print a checksum of the executable for PCH validity checking, and stop"
+-msgstr ""
+-
+-#: c.opt:900
+-msgid "Remap file names when including files"
+-msgstr ""
+-
+-#: c.opt:904
+-msgid "Conform to the ISO 1998 C++ standard"
+-msgstr ""
+-
+-#: c.opt:908
+-msgid "Conform to the ISO 1998 C++ standard, with extensions that are likely to"
+-msgstr ""
+-
+-#: c.opt:915 c.opt:950
+-msgid "Conform to the ISO 1990 C standard"
+-msgstr ""
+-
+-#: c.opt:919 c.opt:958
+-msgid "Conform to the ISO 1999 C standard"
+-msgstr ""
+-
+-#: c.opt:923
+-msgid "Deprecated in favor of -std=c99"
+-msgstr ""
+-
+-#: c.opt:927
+-msgid "Conform to the ISO 1998 C++ standard with GNU extensions"
+-msgstr ""
+-
+-#: c.opt:931
+-msgid "Conform to the ISO 1998 C++ standard, with GNU extensions and"
+-msgstr ""
+-
+-#: c.opt:938
+-msgid "Conform to the ISO 1990 C standard with GNU extensions"
+-msgstr ""
+-
+-#: c.opt:942
+-msgid "Conform to the ISO 1999 C standard with GNU extensions"
+-msgstr ""
+-
+-#: c.opt:946
+-msgid "Deprecated in favor of -std=gnu99"
+-msgstr ""
+-
+-#: c.opt:954
+-msgid "Conform to the ISO 1990 C standard as amended in 1994"
+-msgstr ""
+-
+-#: c.opt:962
+-msgid "Deprecated in favor of -std=iso9899:1999"
+-msgstr ""
+-
+-#: c.opt:966
+-msgid "Enable traditional preprocessing"
+-msgstr ""
+-
+-#: c.opt:970
+-msgid "Support ISO C trigraphs"
+-msgstr ""
+-
+-#: c.opt:974
+-msgid "Do not predefine system-specific and GCC-specific macros"
+-msgstr ""
+-
+-#: c.opt:978
+-msgid "Enable verbose output"
+-msgstr "Activar la sortida de depuració verbosa"
+-
+-#: common.opt:27
+-#, fuzzy
+-msgid "Display this information"
+-msgstr " --help Mostra aquesta informació\n"
+-
+-#: common.opt:31
+-msgid "Display descriptions of a specific class of options. <class> is one or more of optimizers, target, warnings, undocumented, params"
+-msgstr ""
+-
+-#: common.opt:35
+-msgid "Alias for --help=target"
+-msgstr ""
+-
+-#: common.opt:51
+-msgid "Set parameter <param> to value. See below for a complete list of parameters"
+-msgstr ""
+-
+-#: common.opt:58
+-#, fuzzy
+-msgid "Put global and static data smaller than <number> bytes into a special section (on some targets)"
+-msgstr ""
+-" -G <nombre> Col·locar les dades globals i estàtics més petits que <nombre>\n"
+-" octets en una secció especial (en alguns objectius)\n"
+-
+-#: common.opt:62
+-#, fuzzy
+-msgid "Set optimization level to <number>"
+-msgstr " -O[nombre] Establir el nivell d'optimització a [nombre]\n"
+-
+-#: common.opt:66
+-#, fuzzy
+-msgid "Optimize for space rather than speed"
+-msgstr " -Os Optimitzar per a espai en lloc de velocitat\n"
+-
+-#: common.opt:70
+-msgid "This switch is deprecated; use -Wextra instead"
+-msgstr ""
+-
+-#: common.opt:74
+-msgid "Warn about returning structures, unions or arrays"
+-msgstr "Avisar sobre la retorn d'estructures, unions o matrius"
+-
+-#: common.opt:78
+-msgid "Warn if an array is accessed out of bounds"
+-msgstr ""
+-
+-#: common.opt:82
+-#, fuzzy
+-msgid "Warn about inappropriate attribute usage"
+-msgstr "Avisar sobre l'aritmètica de punters de funcions"
+-
+-#: common.opt:86
+-msgid "Warn about pointer casts which increase alignment"
+-msgstr "Avisar sobre conversió de punters que incrementi l'alineació"
+-
+-#: common.opt:90
+-msgid "Warn about uses of __attribute__((deprecated)) declarations"
+-msgstr "Avisar sobre el ùs de declaracions __attribute__((deprecated))"
+-
+-#: common.opt:94
+-msgid "Warn when an optimization pass is disabled"
+-msgstr "Avisar quan es va desactivar un pas d'optimització"
+-
+-#: common.opt:98
+-msgid "Treat all warnings as errors"
+-msgstr "Tractar tots els avisos com errors"
+-
+-#: common.opt:102
+-#, fuzzy
+-msgid "Treat specified warning as error"
+-msgstr "Tractar tots els avisos com errors"
+-
+-#: common.opt:106
+-msgid "Print extra (possibly unwanted) warnings"
+-msgstr ""
+-
+-#: common.opt:110
+-msgid "Exit on the first error occurred"
+-msgstr ""
+-
+-#: common.opt:114
+-msgid "Warn when an inlined function cannot be inlined"
+-msgstr "Avisar quan una funció «inline» no pot ser «inline»"
+-
+-#: common.opt:118
+-#, fuzzy
+-msgid "Warn if an object is larger than <number> bytes"
+-msgstr " -Wlarger-than-<nombre> Avisar si un objecte és més gran que <nombre> octets\n"
+-
+-#: common.opt:122
+-msgid "Warn when a logical operator is suspicously always evaluating to true or false"
+-msgstr ""
+-
+-#: common.opt:126
+-msgid "Warn if the loop cannot be optimized due to nontrivial assumptions."
+-msgstr ""
+-
+-#: common.opt:130
+-#, fuzzy
+-msgid "Warn about functions which might be candidates for __attribute__((noreturn))"
+-msgstr "Avisar sobre funcions que podrien ser candidates per a l'atribut noreturn"
+-
+-#: common.opt:134
+-#, fuzzy
+-msgid "Warn about overflow in arithmetic expressions"
+-msgstr "desbordament de coma flotant en l'expressió"
+-
+-#: common.opt:138
+-msgid "Warn when the packed attribute has no effect on struct layout"
+-msgstr "Avisar quan l'atribut packed no té efecte en la disposició d'un struct"
+-
+-#: common.opt:142
+-#, fuzzy
+-msgid "Warn when padding is required to align structure members"
+-msgstr "Avisar quan es requereix farcit per a alinear als membres d'un struct"
+-
+-#: common.opt:146
+-msgid "Warn when one local variable shadows another"
+-msgstr "Avisar quan una variable local enfosque una altra"
+-
+-#: common.opt:150
+-msgid "Warn when not issuing stack smashing protection for some reason"
+-msgstr ""
+-
+-#: common.opt:154 common.opt:158
+-#, fuzzy
+-msgid "Warn about code which might break strict aliasing rules"
+-msgstr "Avisar sobre codi que pugui trencar les regles estrictes d'aliessis"
+-
+-#: common.opt:162 common.opt:166
+-msgid "Warn about optimizations that assume that signed overflow is undefined"
+-msgstr ""
+-
+-#: common.opt:170
+-msgid "Warn about enumerated switches, with no default, missing a case"
+-msgstr "Avisar sobre «switch» enumerats, sense valor per defecte, que manquin d'un «case»"
+-
+-#: common.opt:174
+-#, fuzzy
+-msgid "Warn about enumerated switches missing a \"default:\" statement"
+-msgstr "Avisar sobre «switch» enumerats que manquin d'un \"default:\""
+-
+-#: common.opt:178
+-msgid "Warn about all enumerated switches missing a specific case"
+-msgstr "Avisar sobre tots els «switch» enumerats que manquin d'un «case» específic"
+-
+-#: common.opt:186
+-msgid "Warn about uninitialized automatic variables"
+-msgstr "Avisar sobre variables automàtiques sense iniciar"
+-
+-#: common.opt:190
+-msgid "Warn about code that will never be executed"
+-msgstr "Avisar sobre codi que mai s'executarà"
+-
+-#: common.opt:194
+-msgid "Enable all -Wunused- warnings"
+-msgstr ""
+-
+-#: common.opt:198
+-msgid "Warn when a function is unused"
+-msgstr "Avisar quan no s'usi una funció"
+-
+-#: common.opt:202
+-msgid "Warn when a label is unused"
+-msgstr "Avisar quan no s'usi una etiqueta"
+-
+-#: common.opt:206
+-msgid "Warn when a function parameter is unused"
+-msgstr "Avisar quan no s'usi un paràmetre d'una funció"
+-
+-#: common.opt:210
+-msgid "Warn when an expression value is unused"
+-msgstr "Avisar quan no s'usi un valor d'una expressió"
+-
+-#: common.opt:214
+-msgid "Warn when a variable is unused"
+-msgstr "Avisar quan no s'usi una variable"
+-
+-#: common.opt:218
+-#, fuzzy
+-msgid "Warn when a register variable is declared volatile"
+-msgstr "Avisar quan no s'usi una variable"
+-
+-#: common.opt:222
+-msgid "Warn instead of error in case profiles in -fprofile-use do not match"
+-msgstr ""
+-
+-#: common.opt:226
+-#, fuzzy
+-msgid "Emit declaration information into <file>"
+-msgstr " -aux-info <fitxer> Emetre la informació de declaracions en el <fitxer>\n"
+-
+-#: common.opt:239
+-#, fuzzy
+-msgid "Enable dumps from specific passes of the compiler"
+-msgstr " -d[lletres] Activa els bolcats des de passos específics del compilador\n"
+-
+-#: common.opt:243
+-#, fuzzy
+-msgid "Set the file basename to be used for dumps"
+-msgstr " -dumpbase <fitxer> Nom base a usar per als bolcats des de passos específics\n"
+-
+-#: common.opt:263
+-msgid "Align the start of functions"
+-msgstr "Alinear l'inici de les funcions"
+-
+-#: common.opt:270
+-msgid "Align labels which are only reached by jumping"
+-msgstr "Alinear les etiquetes que solament s'arriben a saltant"
+-
+-#: common.opt:277
+-msgid "Align all labels"
+-msgstr "Alinear totes les etiquetes"
+-
+-#: common.opt:284
+-msgid "Align the start of loops"
+-msgstr "Alinear l'inici dels cicles"
+-
+-#: common.opt:299
+-#, fuzzy
+-msgid "Specify that arguments may alias each other and globals"
+-msgstr "Especifica que els arguments poden ser alies de cada altre i dels globals"
+-
+-#: common.opt:303
+-msgid "Assume arguments may alias globals but not each other"
+-msgstr "Assumir que els arguments poden ser alies de globals però no de cada altre"
+-
+-#: common.opt:307
+-#, fuzzy
+-msgid "Assume arguments alias neither each other nor globals"
+-msgstr "Assumir que els arguments no poden ser alies de globals o de cada altre"
+-
+-#: common.opt:311
+-#, fuzzy
+-msgid "Assume arguments alias no other storage"
+-msgstr "Assumir que els arguments no poden ser alies de globals o de cada altre"
+-
+-#: common.opt:315
+-#, fuzzy
+-msgid "Generate unwind tables that are exact at each instruction boundary"
+-msgstr "Generar matrius de desembolico exactament en cada límit d'instrucció"
+-
+-#: common.opt:319
+-#, fuzzy
+-msgid "Generate auto-inc/dec instructions"
+-msgstr "Generar instruccions char"
+-
+-#: common.opt:327
+-msgid "Generate code to check bounds before indexing arrays"
+-msgstr "Generar codi per a revisar els límits abans de matrius"
+-
+-#: common.opt:331
+-#, fuzzy
+-msgid "Replace add, compare, branch with branch on count register"
+-msgstr "Reemplaçar add,compare,branch per branch en el compte de registres"
+-
+-#: common.opt:335
+-msgid "Use profiling information for branch probabilities"
+-msgstr "Usar la informació d'anàlisi de perfil per a les probabilitats de ramificació"
+-
+-#: common.opt:339
+-msgid "Perform branch target load optimization before prologue / epilogue threading"
+-msgstr ""
+-
+-#: common.opt:343
+-msgid "Perform branch target load optimization after prologue / epilogue threading"
+-msgstr ""
+-
+-#: common.opt:347
+-msgid "Restrict target load migration not to re-use registers in any basic block"
+-msgstr ""
+-
+-#: common.opt:351
+-#, fuzzy
+-msgid "Mark <register> as being preserved across functions"
+-msgstr " -fcall-saved-<registre> Marca el <registre> com preservat entre funcions\n"
+-
+-#: common.opt:355
+-#, fuzzy
+-msgid "Mark <register> as being corrupted by function calls"
+-msgstr " -fcall-used-<registre> Marca el <registre> com corrupte per a crides de funció\n"
+-
+-#: common.opt:362
+-#, fuzzy
+-msgid "Save registers around function calls"
+-msgstr "Permetre guardar registres al voltant de crides de funció"
+-
+-#: common.opt:366
+-msgid "Compare the results of several data dependence analyzers."
+-msgstr ""
+-
+-#: common.opt:370
+-msgid "Do not put uninitialized globals in the common section"
+-msgstr "No posar globals sense iniciar en la secció comuna"
+-
+-#: common.opt:374
+-#, fuzzy
+-msgid "Perform a register copy-propagation optimization pass"
+-msgstr "Fer el pas d'optimització de còpia-propagació de registres"
+-
+-#: common.opt:378
+-msgid "Perform cross-jumping optimization"
+-msgstr "Realitzar optimitzacions de salts creuats"
+-
+-#: common.opt:382
+-msgid "When running CSE, follow jumps to their targets"
+-msgstr "Quan s'estigui executant CSE, seguir als salts als seus objectius"
+-
+-#: common.opt:386
+-msgid "When running CSE, follow conditional jumps"
+-msgstr "Quan s'estigui executant CSE, seguir als salts condicionals"
+-
+-#: common.opt:390
+-msgid "Omit range reduction step when performing complex division"
+-msgstr ""
+-
+-#: common.opt:394
+-#, fuzzy
+-msgid "Place data items into their own section"
+-msgstr "col·locar els elements de dades en la seva pròpia secció"
+-
+-#: common.opt:398
+-msgid "List all available debugging counters with their limits and counts."
+-msgstr ""
+-
+-#: common.opt:402
+-msgid "-fdbg-cnt=<counter>:<limit>[,<counter>:<limit>,...] Set the debug counter limit. "
+-msgstr ""
+-
+-#: common.opt:406
+-msgid "Map one directory name to another in debug information"
+-msgstr ""
+-
+-#: common.opt:412
+-msgid "Defer popping functions args from stack until later"
+-msgstr "Diferir l'extracció d'arguments de funcions de la pila fins més tard"
+-
+-#: common.opt:416
+-msgid "Attempt to fill delay slots of branch instructions"
+-msgstr "Intentar emplenar les ranures de retard de les instruccions de ramificació"
+-
+-#: common.opt:420
+-msgid "Delete useless null pointer checks"
+-msgstr "Esborrar les revisions de punters nuls sense ús"
+-
+-#: common.opt:424
+-#, fuzzy
+-msgid "How often to emit source location at the beginning of line-wrapped diagnostics"
+-msgstr " -fdiagnostics-show-location=[once | every-line] Indica que tan seguit es ha d'emetre la informació d'ubicació del codi, com prefix, a l'inici dels diagnòstics quan està activat el cort de línia\n"
+-
+-#: common.opt:428
+-msgid "Amend appropriate diagnostic messages with the command line option that controls them"
+-msgstr ""
+-
+-#: common.opt:432
+-msgid "Dump various compiler internals to a file"
+-msgstr ""
+-
+-#: common.opt:436
+-#, fuzzy
+-msgid "Suppress output of addresses in debugging dumps"
+-msgstr "Suprimir la sortida de notes de nombres d'instrucció i nombres de línia en els bolcats de depuració"
+-
+-#: common.opt:440
+-#, fuzzy
+-msgid "Suppress output of instruction numbers, line number notes and addresses in debugging dumps"
+-msgstr "Suprimir la sortida de notes de nombres d'instrucció i nombres de línia en els bolcats de depuració"
+-
+-#: common.opt:444
+-#, fuzzy
+-msgid "Perform early inlining"
+-msgstr "Realitzar les optimitzacions de cicle"
+-
+-#: common.opt:448
+-msgid "Perform DWARF2 duplicate elimination"
+-msgstr "Realitzar l'eliminació de DWARF2 duplicats"
+-
+-#: common.opt:452 common.opt:456
+-msgid "Perform unused type elimination in debug info"
+-msgstr ""
+-
+-#: common.opt:460
+-msgid "Do not suppress C++ class debug information."
+-msgstr ""
+-
+-#: common.opt:464
+-msgid "Enable exception handling"
+-msgstr "Activar el maneig d'excepcions"
+-
+-#: common.opt:468
+-msgid "Perform a number of minor, expensive optimizations"
+-msgstr "Realitzar un nombre menor d'optimitzacions costoses"
+-
+-#: common.opt:475
+-msgid "Assume no NaNs or infinities are generated"
+-msgstr ""
+-
+-#: common.opt:479
+-#, fuzzy
+-msgid "Mark <register> as being unavailable to the compiler"
+-msgstr " -ffixed-<registre> Marca el <registre> com no disponible per al compilador\n"
+-
+-#: common.opt:483
+-msgid "Don't allocate floats and doubles in extended-precision registers"
+-msgstr ""
+-
+-#: common.opt:489
+-#, fuzzy
+-msgid "Copy memory address constants into registers before use"
+-msgstr "Copiar les constants d'adreces de memòria en registres abans d'usar-los"
+-
+-#: common.opt:493
+-#, fuzzy
+-msgid "Perform a forward propagation pass on RTL"
+-msgstr "Fer el pas d'optimització de còpia-propagació de registres"
+-
+-#: common.opt:500
+-msgid "Allow function addresses to be held in registers"
+-msgstr "Permetre que les adreces de les funcions es conserven en registres"
+-
+-#: common.opt:504
+-#, fuzzy
+-msgid "Place each function into its own section"
+-msgstr "col·locar cada funció en la seva pròpia secció"
+-
+-#: common.opt:508
+-#, fuzzy
+-msgid "Perform global common subexpression elimination"
+-msgstr "Realitzar l'eliminació de subexpressions comuns globals"
+-
+-#: common.opt:512
+-#, fuzzy
+-msgid "Perform enhanced load motion during global common subexpression elimination"
+-msgstr "Realitzar el moviment de càrrega millorada durant l'eliminació de subexpressions globals"
+-
+-#: common.opt:516
+-#, fuzzy
+-msgid "Perform store motion after global common subexpression elimination"
+-msgstr "Realitzar el moviment de guardat després de l'eliminació de subexpressions globals"
+-
+-#: common.opt:520
+-#, fuzzy
+-msgid "Perform redundant load after store elimination in global common subexpression"
+-msgstr "Realitzar el moviment de càrrega millorada durant l'eliminació de subexpressions globals"
+-
+-#: common.opt:525
+-#, fuzzy
+-msgid "Perform global common subexpression elimination after register allocation"
+-msgstr "Realitzar l'eliminació de subexpressions comuns globals"
+-
+-#: common.opt:530
+-#, fuzzy
+-msgid "Enable guessing of branch probabilities"
+-msgstr "Activar la predicció de probabilitats de ramificació"
+-
+-#: common.opt:538
+-msgid "Process #ident directives"
+-msgstr "Processar directives #ident"
+-
+-#: common.opt:542
+-msgid "Perform conversion of conditional jumps to branchless equivalents"
+-msgstr ""
+-
+-#: common.opt:546
+-msgid "Perform conversion of conditional jumps to conditional execution"
+-msgstr "Realitzar la conversió de salts condicionals a execució condicional"
+-
+-#: common.opt:554
+-msgid "Do not generate .size directives"
+-msgstr "No generar directives .size"
+-
+-#: common.opt:563
+-#, fuzzy
+-msgid "Pay attention to the \"inline\" keyword"
+-msgstr "Fer atenció a la paraula clau \"inline\""
+-
+-#: common.opt:567
+-#, fuzzy
+-msgid "Integrate simple functions into their callers when code size is known to not growth"
+-msgstr "Integrar les funcions simples en els seus invocators"
+-
+-#: common.opt:571
+-msgid "Integrate simple functions into their callers"
+-msgstr "Integrar les funcions simples en els seus invocators"
+-
+-#: common.opt:575
+-#, fuzzy
+-msgid "Integrate functions called once into their callers"
+-msgstr "Integrar les funcions simples en els seus invocators"
+-
+-#: common.opt:582
+-#, fuzzy
+-msgid "Limit the size of inlined functions to <number>"
+-msgstr "-finline-limit=<nombre>\tLimita la grandària de funcions «inline» a <nombre>\n"
+-
+-#: common.opt:586
+-#, fuzzy
+-msgid "Instrument function entry and exit with profiling calls"
+-msgstr "Instrumentar funcions entrada/sortida amb crides d'anàlisi de perfil"
+-
+-#: common.opt:590
+-msgid "-finstrument-functions-exclude-function-list=name,... Do not instrument listed functions"
+-msgstr ""
+-
+-#: common.opt:594
+-msgid "-finstrument-functions-exclude-file-list=filename,... Do not instrument functions listed in files"
+-msgstr ""
+-
+-#: common.opt:598
+-#, fuzzy
+-msgid "Perform Interprocedural constant propagation"
+-msgstr "Activar la propagació de les constants condicionals SSA"
+-
+-#: common.opt:602
+-#, fuzzy
+-msgid "Discover pure and const functions"
+-msgstr "Descartar funcions virtual sense usar"
+-
+-#: common.opt:606
+-msgid "Perform interprocedural points-to analysis"
+-msgstr ""
+-
+-#: common.opt:610
+-msgid "Discover readonly and non addressable static variables"
+-msgstr ""
+-
+-#: common.opt:614
+-msgid "Type based escape and alias analysis"
+-msgstr ""
+-
+-#: common.opt:618
+-msgid "Perform matrix layout flattening and transposing based"
+-msgstr ""
+-
+-#: common.opt:623
+-#, fuzzy
+-msgid "Perform structure layout optimizations based"
+-msgstr "Realitzar optimitzacions de reducció de força"
+-
+-#: common.opt:628
+-msgid "Optimize induction variables on trees"
+-msgstr ""
+-
+-#: common.opt:632
+-#, fuzzy
+-msgid "Use jump tables for sufficiently large switch statements"
+-msgstr "l'etiqueta «case» no es troba dintre d'una declaració «switch»"
+-
+-#: common.opt:636
+-#, fuzzy
+-msgid "Generate code for functions even if they are fully inlined"
+-msgstr "Generar codi per a les funcions encara si estan completament «inline»"
+-
+-#: common.opt:640
+-msgid "Emit static const variables even if they are not used"
+-msgstr "Emetre variables static const encara si no s'usen"
+-
+-#: common.opt:644
+-#, fuzzy
+-msgid "Give external symbols a leading underscore"
+-msgstr "Els símbols externs tenen un subratllat inicial"
+-
+-#: common.opt:648 common.opt:852 common.opt:983
+-msgid "Does nothing. Preserved for backward compatibility."
+-msgstr ""
+-
+-#: common.opt:652
+-msgid "Set errno after built-in math functions"
+-msgstr "Establir errno després de les funcions matemàtiques internes"
+-
+-#: common.opt:656
+-#, fuzzy
+-msgid "Report on permanent memory allocation"
+-msgstr "Reportar l'allotjament en memòria permanent al final de l'execució"
+-
+-#: common.opt:663
+-msgid "Attempt to merge identical constants and constant variables"
+-msgstr "Intentar barrejar constants idèntiques i variables constants"
+-
+-#: common.opt:667
+-msgid "Attempt to merge identical constants across compilation units"
+-msgstr "Intentar barrejar constants idèntiques a través de les unitats de compilació"
+-
+-#: common.opt:671
+-#, fuzzy
+-msgid "Limit diagnostics to <number> characters per line. 0 suppresses line-wrapping"
+-msgstr " -fmessage-length=<nombre> Limita la longitud dels missatges de diagnòstic a <nombre> caràcters per línia. 0 suprimeix el cort de línia\n"
+-
+-#: common.opt:675
+-msgid "Perform SMS based modulo scheduling before the first scheduling pass"
+-msgstr ""
+-
+-#: common.opt:679
+-msgid "Perform SMS based modulo scheduling with register moves allowed"
+-msgstr ""
+-
+-#: common.opt:683
+-#, fuzzy
+-msgid "Move loop invariant computations out of loops"
+-msgstr "Forçar que totes les computacions invariantes del cicle siguin fora del cicle"
+-
+-#: common.opt:687
+-msgid "Add mudflap bounds-checking instrumentation for single-threaded program"
+-msgstr ""
+-
+-#: common.opt:691
+-msgid "Add mudflap bounds-checking instrumentation for multi-threaded program"
+-msgstr ""
+-
+-#: common.opt:695
+-msgid "Ignore read operations when inserting mudflap instrumentation"
+-msgstr ""
+-
+-#: common.opt:699
+-#, fuzzy
+-msgid "Use the RTL dead code elimination pass"
+-msgstr "Activar l'eliminació agressiva de codi mort SSA"
+-
+-#: common.opt:703
+-#, fuzzy
+-msgid "Use the RTL dead store elimination pass"
+-msgstr "Fa el pas complet d'optimització de moviment de registres"
+-
+-#: common.opt:707
+-msgid "Enable/Disable the traditional scheduling in loops that already passed modulo scheduling"
+-msgstr ""
+-
+-#: common.opt:711
+-msgid "Support synchronous non-call exceptions"
+-msgstr "Suport per a excepcions síncrones no de crides"
+-
+-#: common.opt:715
+-msgid "When possible do not generate stack frames"
+-msgstr "Quan sigui possible no generar marcs de pila"
+-
+-#: common.opt:719
+-msgid "Expand OpenMP operations on SSA form"
+-msgstr ""
+-
+-#: common.opt:723
+-#, fuzzy
+-msgid "Do the full register move optimization pass"
+-msgstr "Fa el pas complet d'optimització de moviment de registres"
+-
+-#: common.opt:727
+-msgid "Optimize sibling and tail recursive calls"
+-msgstr "Optimitzar les crides recursives germanades i d'extrem"
+-
+-#: common.opt:731 common.opt:735
+-msgid "Report on memory allocation before interprocedural optimization"
+-msgstr ""
+-
+-#: common.opt:739
+-msgid "Pack structure members together without holes"
+-msgstr "Empaqueta junts als membres de l'estructura sense forats"
+-
+-#: common.opt:743
+-msgid "Set initial maximum structure member alignment"
+-msgstr ""
+-
+-#: common.opt:747
+-#, fuzzy
+-msgid "Return small aggregates in memory, not registers"
+-msgstr "Retornar els agregats \"short\" en memòria, no en registres"
+-
+-#: common.opt:751
+-#, fuzzy
+-msgid "Perform loop peeling"
+-msgstr "Realitzar les optimitzacions de cicle"
+-
+-#: common.opt:755
+-msgid "Enable machine specific peephole optimizations"
+-msgstr "Activar les optimitzacions de forats específiques de la màquina"
+-
+-#: common.opt:759
+-#, fuzzy
+-msgid "Enable an RTL peephole pass before sched2"
+-msgstr "Activa una execució de passada de forats rtl abans de sched2"
+-
+-#: common.opt:763
+-#, fuzzy
+-msgid "Generate position-independent code if possible (large mode)"
+-msgstr "Generar codi independent de posició, si és possible"
+-
+-#: common.opt:767
+-#, fuzzy
+-msgid "Generate position-independent code for executables if possible (large mode)"
+-msgstr "Generar codi independent de posició, si és possible"
+-
+-#: common.opt:771
+-#, fuzzy
+-msgid "Generate position-independent code if possible (small mode)"
+-msgstr "Generar codi independent de posició, si és possible"
+-
+-#: common.opt:775
+-#, fuzzy
+-msgid "Generate position-independent code for executables if possible (small mode)"
+-msgstr "Generar codi independent de posició, si és possible"
+-
+-#: common.opt:779
+-#, fuzzy
+-msgid "Run predictive commoning optimization."
+-msgstr "Permet una optimització de moviment de registres"
+-
+-#: common.opt:783
+-msgid "Generate prefetch instructions, if available, for arrays in loops"
+-msgstr "Generar instruccions de precarregament, si estan disponibles, per a matrius en cicles"
+-
+-#: common.opt:787
+-msgid "Enable basic program profiling code"
+-msgstr "Activar el codi bàsic d'anàlisi de perfil del programa"
+-
+-#: common.opt:791
+-#, fuzzy
+-msgid "Insert arc-based program profiling code"
+-msgstr "Inserir codi d'anàlisi de perfil basat en el programa arc"
+-
+-#: common.opt:795
+-msgid "Enable common options for generating profile info for profile feedback directed optimizations"
+-msgstr ""
+-
+-#: common.opt:799
+-msgid "Enable common options for performing profile feedback directed optimizations"
+-msgstr ""
+-
+-#: common.opt:803
+-msgid "Insert code to profile values of expressions"
+-msgstr ""
+-
+-#: common.opt:810
+-msgid "Make compile reproducible using <string>"
+-msgstr ""
+-
+-#: common.opt:820
+-msgid "Record gcc command line switches in the object file."
+-msgstr ""
+-
+-#: common.opt:824
+-#, fuzzy
+-msgid "Return small aggregates in registers"
+-msgstr "Retornar els agregats \"short\" en registres"
+-
+-#: common.opt:828
+-msgid "Enables a register move optimization"
+-msgstr "Permet una optimització de moviment de registres"
+-
+-#: common.opt:832
+-#, fuzzy
+-msgid "Perform a register renaming optimization pass"
+-msgstr "Fer el pas d'optimització de renomenació de registres"
+-
+-#: common.opt:836
+-msgid "Reorder basic blocks to improve code placement"
+-msgstr "Reordenar els blocs bàsics per a millorar la ubicació del codi"
+-
+-#: common.opt:840
+-#, fuzzy
+-msgid "Reorder basic blocks and partition into hot and cold sections"
+-msgstr "Reordenar els blocs bàsics per a millorar la ubicació del codi"
+-
+-#: common.opt:844
+-msgid "Reorder functions to improve code placement"
+-msgstr "Reordenar les funcions per a millorar la ubicació del codi"
+-
+-#: common.opt:848
+-#, fuzzy
+-msgid "Add a common subexpression elimination pass after loop optimizations"
+-msgstr "Executar un pas CSE abans de les optimitzacions de cicles"
+-
+-#: common.opt:856
+-msgid "Disable optimizations that assume default FP rounding behavior"
+-msgstr ""
+-
+-#: common.opt:860
+-msgid "Enable scheduling across basic blocks"
+-msgstr "Activar la calendarització entre blocs bàsics"
+-
+-#: common.opt:864
+-msgid "Allow speculative motion of non-loads"
+-msgstr "Permetre el moviment especulatiu de cap càrrega"
+-
+-#: common.opt:868
+-msgid "Allow speculative motion of some loads"
+-msgstr "Permetre el moviment especulatiu d'unes càrregues"
+-
+-#: common.opt:872
+-msgid "Allow speculative motion of more loads"
+-msgstr "Permetre el moviment especulatiu de més càrregues"
+-
+-#: common.opt:876
+-#, fuzzy
+-msgid "Set the verbosity level of the scheduler"
+-msgstr " -fsched-verbose=<nombre> Estableix el nivell de detall del calendaritzador\n"
+-
+-#: common.opt:880
+-msgid "If scheduling post reload, do superblock scheduling"
+-msgstr ""
+-
+-#: common.opt:884
+-msgid "If scheduling post reload, do trace scheduling"
+-msgstr ""
+-
+-#: common.opt:888
+-msgid "Reschedule instructions before register allocation"
+-msgstr "Recalendaritzar les instruccions abans de l'allotjament de registres"
+-
+-#: common.opt:892
+-msgid "Reschedule instructions after register allocation"
+-msgstr "Recalendaritzar les instruccions després de l'allotjament de registres"
+-
+-#: common.opt:898
+-msgid "Allow premature scheduling of queued insns"
+-msgstr ""
+-
+-#: common.opt:902
+-msgid "Set number of queued insns that can be prematurely scheduled"
+-msgstr ""
+-
+-#: common.opt:910 common.opt:914
+-msgid "Set dependence distance checking in premature scheduling of queued insns"
+-msgstr ""
+-
+-#: common.opt:918
+-msgid "Access data in the same section from shared anchor points"
+-msgstr ""
+-
+-#: common.opt:922
+-#, fuzzy
+-msgid "Perform sequence abstraction optimization on RTL"
+-msgstr "Realitzar optimitzacions de reducció de força"
+-
+-#: common.opt:926
+-msgid "Eliminate redundant sign extensions using LCM."
+-msgstr ""
+-
+-#: common.opt:930
+-msgid "Show column numbers in diagnostics, when available. Default off"
+-msgstr ""
+-
+-#: common.opt:934
+-msgid "Disable optimizations observable by IEEE signaling NaNs"
+-msgstr ""
+-
+-#: common.opt:938
+-msgid "Disable floating point optimizations that ignore the IEEE signedness of zero"
+-msgstr ""
+-
+-#: common.opt:942
+-#, fuzzy
+-msgid "Convert floating point constants to single precision constants"
+-msgstr "Convertir constants de coma flotant a constants de precisió simple"
+-
+-#: common.opt:946
+-msgid "Split lifetimes of induction variables when loops are unrolled"
+-msgstr ""
+-
+-#: common.opt:950
+-msgid "Split wide types into independent registers"
+-msgstr ""
+-
+-#: common.opt:954
+-msgid "Apply variable expansion when loops are unrolled"
+-msgstr ""
+-
+-#: common.opt:960
+-msgid "Insert stack checking code into the program"
+-msgstr "Insereix codi de revisió de la pila en el programa"
+-
+-#: common.opt:967
+-msgid "Trap if the stack goes past <register>"
+-msgstr ""
+-
+-#: common.opt:971
+-msgid "Trap if the stack goes past symbol <name>"
+-msgstr ""
+-
+-#: common.opt:975
+-msgid "Use propolice as a stack protection method"
+-msgstr ""
+-
+-#: common.opt:979
+-msgid "Use a stack protection method for every function"
+-msgstr ""
+-
+-#: common.opt:991
+-msgid "Assume strict aliasing rules apply"
+-msgstr "Assumir que s'apliquen les regles estrictes d'alies"
+-
+-#: common.opt:995
+-#, fuzzy
+-msgid "Treat signed overflow as undefined"
+-msgstr "Establir les definicions de Windows"
+-
+-#: common.opt:999
+-msgid "Check for syntax errors, then stop"
+-msgstr "Buscar errors de sintaxi, i aleshores detenir-se"
+-
+-#: common.opt:1003
+-#, fuzzy
+-msgid "Create data files needed by \"gcov\""
+-msgstr "Crear fitxers de dades necessàries per a gcov"
+-
+-#: common.opt:1007
+-msgid "Perform jump threading optimizations"
+-msgstr "Realitzar optimitzacions de filat de salts"
+-
+-#: common.opt:1011
+-#, fuzzy
+-msgid "Report the time taken by each compiler pass"
+-msgstr "Reportar el temps pres per cada pas del compilador al final de l'execució"
+-
+-#: common.opt:1015
+-msgid "Set the default thread-local storage code generation model"
+-msgstr ""
+-
+-#: common.opt:1019
+-msgid "Reorder top level functions, variables, and asms"
+-msgstr ""
+-
+-#: common.opt:1023
+-msgid "Perform superblock formation via tail duplication"
+-msgstr ""
+-
+-#: common.opt:1030
+-#, fuzzy
+-msgid "Assume floating-point operations can trap"
+-msgstr "Les operacions de coma flotant poden capturar"
+-
+-#: common.opt:1034
+-#, fuzzy
+-msgid "Trap for signed overflow in addition, subtraction and multiplication"
+-msgstr "Atrapar desbordaments signed en addició / substracció / multiplicació"
+-
+-#: common.opt:1038
+-#, fuzzy
+-msgid "Enable SSA-CCP optimization on trees"
+-msgstr "Activar les optimitzacions SSA"
+-
+-#: common.opt:1042
+-#, fuzzy
+-msgid "Enable SSA-CCP optimization for stores and loads"
+-msgstr "Activar les optimitzacions SSA"
+-
+-#: common.opt:1046
+-msgid "Enable loop header copying on trees"
+-msgstr ""
+-
+-#: common.opt:1050
+-msgid "Replace SSA temporaries with better names in copies"
+-msgstr ""
+-
+-#: common.opt:1054
+-msgid "Enable copy propagation on trees"
+-msgstr ""
+-
+-#: common.opt:1058
+-msgid "This switch is obsolete"
+-msgstr ""
+-
+-#: common.opt:1062
+-#, fuzzy
+-msgid "Transform condition stores into unconditional ones"
+-msgstr "Realitzar la conversió de salts condicionals a execució condicional"
+-
+-#: common.opt:1066
+-#, fuzzy
+-msgid "Enable SSA dead code elimination optimization on trees"
+-msgstr "Activar l'eliminació agressiva de codi mort SSA"
+-
+-#: common.opt:1070
+-#, fuzzy
+-msgid "Enable dominator optimizations"
+-msgstr "Activar les optimitzacions del enllaçador"
+-
+-#: common.opt:1074
+-#, fuzzy
+-msgid "Enable dead store elimination"
+-msgstr "Activar l'eliminació agressiva de codi mort SSA"
+-
+-#: common.opt:1078
+-msgid "Enable Full Redundancy Elimination (FRE) on trees"
+-msgstr ""
+-
+-#: common.opt:1082
+-#, fuzzy
+-msgid "Enable loop invariant motion on trees"
+-msgstr "Forçar que totes les computacions invariantes del cicle siguin fora del cicle"
+-
+-#: common.opt:1086
+-#, fuzzy
+-msgid "Enable linear loop transforms on trees"
+-msgstr "Activar les optimitzacions del enllaçador"
+-
+-#: common.opt:1090
+-#, fuzzy
+-msgid "Create canonical induction variables in loops"
+-msgstr "Enfortir la reducció de totes les variables generals d'inducció de cicle"
+-
+-#: common.opt:1094
+-#, fuzzy
+-msgid "Enable loop optimizations on tree level"
+-msgstr "Activar les optimitzacions del enllaçador"
+-
+-#: common.opt:1098
+-#, fuzzy
+-msgid "Enable automatic parallelization of loops"
+-msgstr "Activar l'instanciació automàtica de patrons"
+-
+-#: common.opt:1102
+-#, fuzzy
+-msgid "Enable SSA-PRE optimization on trees"
+-msgstr "Activar les optimitzacions SSA"
+-
+-#: common.opt:1106
+-msgid "Enable reassociation on tree level"
+-msgstr ""
+-
+-#: common.opt:1110
+-msgid "Perform structural alias analysis"
+-msgstr ""
+-
+-#: common.opt:1114
+-#, fuzzy
+-msgid "Enable SSA code sinking on trees"
+-msgstr "Activar les optimitzacions SSA"
+-
+-#: common.opt:1118
+-msgid "Perform scalar replacement of aggregates"
+-msgstr ""
+-
+-#: common.opt:1122
+-msgid "Replace temporary expressions in the SSA->normal pass"
+-msgstr ""
+-
+-#: common.opt:1126
+-msgid "Perform live range splitting during the SSA->normal pass"
+-msgstr ""
+-
+-#: common.opt:1130
+-#, fuzzy
+-msgid "Perform Value Range Propagation on trees"
+-msgstr "Fer el pas d'optimització de còpia-propagació de registres"
+-
+-#: common.opt:1134
+-#, fuzzy
+-msgid "Compile whole compilation unit at a time"
+-msgstr "Buidar la unitat de traducció completa a un fitxer"
+-
+-#: common.opt:1138
+-msgid "Perform loop unrolling when iteration count is known"
+-msgstr "Realitzar el desenrollament del cicle quan es coneix el compte d'iteració"
+-
+-#: common.opt:1142
+-msgid "Perform loop unrolling for all loops"
+-msgstr "Realitzar el desenrollament del cicle per a tots els cicles"
+-
+-#: common.opt:1149
+-msgid "Allow loop optimizations to assume that the loops behave in normal way"
+-msgstr ""
+-
+-#: common.opt:1153
+-msgid "Allow optimization for floating-point arithmetic which may change the"
+-msgstr ""
+-
+-#: common.opt:1158
+-msgid "Same as -fassociative-math for expressions which include division."
+-msgstr ""
+-
+-#: common.opt:1166
+-#, fuzzy
+-msgid "Allow math optimizations that may violate IEEE or ISO standards"
+-msgstr "Permetre optimitzacions matemàtiques que poden violar els estàndards IEEE o ANSI"
+-
+-#: common.opt:1170
+-#, fuzzy
+-msgid "Perform loop unswitching"
+-msgstr "Realitzar les optimitzacions de cicle"
+-
+-#: common.opt:1174
+-msgid "Just generate unwind tables for exception handling"
+-msgstr "Només generar matrius de desembolico per a maneig d'excepcions"
+-
+-#: common.opt:1178
+-#, fuzzy
+-msgid "Perform variable tracking"
+-msgstr "Realitzar optimització de la crida de l'extrem"
+-
+-#: common.opt:1182
+-msgid "Perform variable tracking and also tag variables that are uninitialized"
+-msgstr ""
+-
+-#: common.opt:1186
+-#, fuzzy
+-msgid "Enable loop vectorization on trees"
+-msgstr "Activar les optimitzacions del enllaçador"
+-
+-#: common.opt:1190
+-#, fuzzy
+-msgid "Enable use of cost model in vectorization"
+-msgstr "Activar l'ús de les instruccions condicionals move"
+-
+-#: common.opt:1194
+-msgid "Enable loop versioning when doing loop vectorization on trees"
+-msgstr ""
+-
+-#: common.opt:1198
+-#, fuzzy
+-msgid "Set the verbosity level of the vectorizer"
+-msgstr " -fsched-verbose=<nombre> Estableix el nivell de detall del calendaritzador\n"
+-
+-#: common.opt:1202
+-msgid "Enable copy propagation of scalar-evolution information."
+-msgstr ""
+-
+-#: common.opt:1212
+-msgid "Add extra commentary to assembler output"
+-msgstr "Agregar comentaris extra a la sortida de l'ensamblador"
+-
+-#: common.opt:1216
+-msgid "Set the default symbol visibility"
+-msgstr ""
+-
+-#: common.opt:1221
+-#, fuzzy
+-msgid "Use expression value profiles in optimizations"
+-msgstr "Activar les optimitzacions del enllaçador"
+-
+-#: common.opt:1225
+-msgid "Construct webs and split unrelated uses of single variable"
+-msgstr ""
+-
+-#: common.opt:1229
+-#, fuzzy
+-msgid "Perform whole program optimizations"
+-msgstr "Realitzar les optimitzacions de cicle"
+-
+-#: common.opt:1233
+-msgid "Assume signed arithmetic overflow wraps around"
+-msgstr ""
+-
+-#: common.opt:1237
+-msgid "Put zero initialized data in the bss section"
+-msgstr "Posar dades inicialitzades a zero en la secció bss"
+-
+-#: common.opt:1241
+-msgid "Generate debug information in default format"
+-msgstr "Generar informació de depuració en el format per omissió"
+-
+-#: common.opt:1245
+-msgid "Generate debug information in COFF format"
+-msgstr "Generar informació de depuració en el format COFF"
+-
+-#: common.opt:1249
+-msgid "Generate debug information in DWARF v2 format"
+-msgstr "Generar informació de depuració en el format DWARF v2"
+-
+-#: common.opt:1253
+-msgid "Generate debug information in default extended format"
+-msgstr "Generar informació de depuració en el format estès per omissió"
+-
+-#: common.opt:1257
+-msgid "Generate debug information in STABS format"
+-msgstr "Generar informació de depuració en el format STABS"
+-
+-#: common.opt:1261
+-msgid "Generate debug information in extended STABS format"
+-msgstr "Generar informació de depuració en el format STABS estès"
+-
+-#: common.opt:1265
+-msgid "Generate debug information in VMS format"
+-msgstr "Generar informació de depuració en el format VMS"
+-
+-#: common.opt:1269
+-msgid "Generate debug information in XCOFF format"
+-msgstr "Generar informació de depuració en el format XCOFF"
+-
+-#: common.opt:1273
+-msgid "Generate debug information in extended XCOFF format"
+-msgstr "Generar informació de depuració en el format XCOFF estès"
+-
+-#: common.opt:1277
+-#, fuzzy
+-msgid "Place output into <file>"
+-msgstr "-o <fitxer>\tSituar la sortida en el <fitxer>"
+-
+-#: common.opt:1281
+-msgid "Enable function profiling"
+-msgstr "Habilitar l'anàlisi de perfil de les funcions"
+-
+-#: common.opt:1285
+-msgid "Issue warnings needed for strict compliance to the standard"
+-msgstr "Activar els avisos necessaris per a complir strictament amb ISO C"
+-
+-#: common.opt:1289
+-msgid "Like -pedantic but issue them as errors"
+-msgstr ""
+-
+-#: common.opt:1293
+-msgid "Do not display functions compiled or elapsed time"
+-msgstr "No mostrar les funcions compilades o el temps transcorregut"
+-
+-#: common.opt:1297
+-msgid "Display the compiler's version"
+-msgstr "Mostra la versió del compilador"
+-
+-#: common.opt:1301
+-msgid "Suppress warnings"
+-msgstr ""
+-
+-#: common.opt:1305
+-msgid "Create a shared library"
+-msgstr ""
+-
+-#: common.opt:1309
+-#, fuzzy
+-msgid "Create a position independent executable"
+-msgstr "Generar codi independent de posició, si és possible"
+-
+-#: attribs.c:244
+-#, fuzzy, gcc-internal-format
+-msgid "%qs attribute directive ignored"
+-msgstr "s'ignora la directiva d'atribut \"%s\""
+-
+-#: attribs.c:252
+-#, fuzzy, gcc-internal-format
+-msgid "wrong number of arguments specified for %qs attribute"
+-msgstr "es va especificar un nombre equivocat d'arguments per a l'atribut \"%s\""
+-
+-#: attribs.c:270
+-#, fuzzy, gcc-internal-format
+-msgid "%qs attribute does not apply to types"
+-msgstr "l'atribut \"%s\" no s'aplica a tipus"
+-
+-#: attribs.c:317
+-#, fuzzy, gcc-internal-format
+-msgid "%qs attribute only applies to function types"
+-msgstr "l'atribut \"%s\" només s'aplica a tipus de funcions"
+-
+-#: attribs.c:327
+-#, fuzzy, gcc-internal-format
+-msgid "type attributes ignored after type is already defined"
+-msgstr "l'atribut \"%s\" sol es pot aplicar a definicions de classe"
+-
+-#: bb-reorder.c:1860
+-#, gcc-internal-format
+-msgid "multiple hot/cold transitions found (bb %i)"
+-msgstr ""
+-
+-#: bt-load.c:1546
+-#, gcc-internal-format
+-msgid "branch target register load optimization is not intended to be run twice"
+-msgstr ""
+-
+-#: builtins.c:451
+-#, gcc-internal-format
+-msgid "offset outside bounds of constant string"
+-msgstr "desplaçament fora dels límits de la constant de cadena"
+-
+-#: builtins.c:1001
+-#, fuzzy, gcc-internal-format
+-msgid "second argument to %<__builtin_prefetch%> must be a constant"
+-msgstr "el segon argument de \"__builtin_prefetch\" ha de ser una constant"
+-
+-#: builtins.c:1008
+-#, fuzzy, gcc-internal-format
+-msgid "invalid second argument to %<__builtin_prefetch%>; using zero"
+-msgstr "el segon argument de __builtin_prefetch no és vàlid; s'utilitzarà zero"
+-
+-#: builtins.c:1016
+-#, fuzzy, gcc-internal-format
+-msgid "third argument to %<__builtin_prefetch%> must be a constant"
+-msgstr "el tercer argument de \"__builtin_prefetch\" ha de ser una constant"
+-
+-#: builtins.c:1023
+-#, fuzzy, gcc-internal-format
+-msgid "invalid third argument to %<__builtin_prefetch%>; using zero"
+-msgstr "el tercer argument de __builtin_prefetch no és vàlid; s'utilitzarà zero"
+-
+-#: builtins.c:4592
+-#, fuzzy, gcc-internal-format
+-msgid "argument of %<__builtin_args_info%> must be constant"
+-msgstr "l'argument de \"__builtin_args_info\" ha de ser constant"
+-
+-#: builtins.c:4598
+-#, fuzzy, gcc-internal-format
+-msgid "argument of %<__builtin_args_info%> out of range"
+-msgstr "l'argument de \"__builtin_args_info\" està fora de límits"
+-
+-#: builtins.c:4604
+-#, fuzzy, gcc-internal-format
+-msgid "missing argument in %<__builtin_args_info%>"
+-msgstr "falta un argument en \"__builtin_args_info\""
+-
+-#: builtins.c:4693 gimplify.c:2117
+-#, fuzzy, gcc-internal-format
+-msgid "too few arguments to function %<va_start%>"
+-msgstr "massa arguments per a la funció \"va_start\""
+-
+-#: builtins.c:4857
+-#, fuzzy, gcc-internal-format
+-msgid "first argument to %<va_arg%> not of type %<va_list%>"
+-msgstr "el primer argument per a \"va_arg\" no és del tipus \"va_list\""
+-
+-#. Unfortunately, this is merely undefined, rather than a constraint
+-#. violation, so we cannot make this an error. If this call is never
+-#. executed, the program is still strictly conforming.
+-#: builtins.c:4871
+-#, fuzzy, gcc-internal-format
+-msgid "%qT is promoted to %qT when passed through %<...%>"
+-msgstr "\"%s\" es promou a \"%s\" quan passa a través de \"...\""
+-
+-#: builtins.c:4876
+-#, fuzzy, gcc-internal-format
+-msgid "(so you should pass %qT not %qT to %<va_arg%>)"
+-msgstr "(així que ha de passar \"%s\" i no \"%s\" a \"va_arg\")"
+-
+-#. We can, however, treat "undefined" any way we please.
+-#. Call abort to encourage the user to fix the program.
+-#: builtins.c:4882 c-typeck.c:2408
+-#, gcc-internal-format
+-msgid "if this code is reached, the program will abort"
+-msgstr "si s'arriba a aquest codi, el programa avortarà"
+-
+-#: builtins.c:5000
+-#, fuzzy, gcc-internal-format
+-msgid "invalid argument to %<__builtin_frame_address%>"
+-msgstr "argument no vàlid per a \"__builtin_frame_address\""
+-
+-#: builtins.c:5002
+-#, fuzzy, gcc-internal-format
+-msgid "invalid argument to %<__builtin_return_address%>"
+-msgstr "argument no vàlid per a \"__builtin_return_address\""
+-
+-#: builtins.c:5015
+-#, fuzzy, gcc-internal-format
+-msgid "unsupported argument to %<__builtin_frame_address%>"
+-msgstr "argument sense suport per a \"__builtin_frame_address\""
+-
+-#: builtins.c:5017
+-#, fuzzy, gcc-internal-format
+-msgid "unsupported argument to %<__builtin_return_address%>"
+-msgstr "argument sense suport per a \"__builtin_return_address\""
+-
+-#: builtins.c:5564
+-#, fuzzy, gcc-internal-format
+-msgid "both arguments to %<__builtin___clear_cache%> must be pointers"
+-msgstr "l'argument de \"__builtin_eh_return_regno\" ha de ser constant"
+-
+-#. All valid uses of __builtin_va_arg_pack () are removed during
+-#. inlining.
+-#: builtins.c:6276 expr.c:8024
+-msgid "%Kinvalid use of %<__builtin_va_arg_pack ()%>"
+-msgstr ""
+-
+-#. All valid uses of __builtin_va_arg_pack_len () are removed during
+-#. inlining.
+-#: builtins.c:6282
+-msgid "%Kinvalid use of %<__builtin_va_arg_pack_len ()%>"
+-msgstr ""
+-
+-#: builtins.c:6578
+-#, fuzzy, gcc-internal-format
+-msgid "%<__builtin_longjmp%> second argument must be 1"
+-msgstr "el segon argument de _builtin_longjump ha de ser 1"
+-
+-#: builtins.c:7209
+-#, gcc-internal-format
+-msgid "target format does not support infinity"
+-msgstr "el format objectiu no té suport per a infinit"
+-
+-#: builtins.c:9623 builtins.c:9712
+-#, fuzzy, gcc-internal-format
+-msgid "non-floating-point argument to function %qs"
+-msgstr "arguments que no són de coma flotant per a la funció \"%s\""
+-
+-#: builtins.c:11303
+-#, fuzzy, gcc-internal-format
+-msgid "%<va_start%> used in function with fixed args"
+-msgstr "es va usar \"va_start\" en una funció amb arguments fixos"
+-
+-#: builtins.c:11311
+-#, fuzzy, gcc-internal-format
+-msgid "wrong number of arguments to function %<va_start%>"
+-msgstr "massa arguments per a la funció \"va_start\""
+-
+-#. Evidently an out of date version of <stdarg.h>; can't validate
+-#. va_start's second argument, but can still work as intended.
+-#: builtins.c:11324
+-#, fuzzy, gcc-internal-format
+-msgid "%<__builtin_next_arg%> called without an argument"
+-msgstr "es va cridar a \"__builtin_next_arg\" sense argument"
+-
+-#: builtins.c:11329
+-#, fuzzy, gcc-internal-format
+-msgid "wrong number of arguments to function %<__builtin_next_arg%>"
+-msgstr "es va especificar un nombre equivocat d'arguments per a l'atribut \"%s\""
+-
+-#. FIXME: Sometimes with the tree optimizers we can get the
+-#. not the last argument even though the user used the last
+-#. argument. We just warn and set the arg to be the last
+-#. argument so that we will get wrong-code because of
+-#. it.
+-#: builtins.c:11358
+-#, fuzzy, gcc-internal-format
+-msgid "second parameter of %<va_start%> not last named argument"
+-msgstr "el segon paràmetre de \"va_start\" no és l'últim argument nomenat"
+-
+-#: builtins.c:11472
+-#, fuzzy
+-msgid "%Kfirst argument of %D must be a pointer, second integer constant"
+-msgstr "l'argument de l'atribut \"%s\" no és una cadena entera"
+-
+-#: builtins.c:11485
+-#, fuzzy
+-msgid "%Klast argument of %D is not integer constant between 0 and 3"
+-msgstr "l'argument de \"asm\" no és una cadena constant"
+-
+-#: builtins.c:11529 builtins.c:11693 builtins.c:11752
+-msgid "%Kcall to %D will always overflow destination buffer"
+-msgstr ""
+-
+-#: builtins.c:11683
+-msgid "%Kcall to %D might overflow destination buffer"
+-msgstr ""
+-
+-#: c-common.c:859
+-#, fuzzy, gcc-internal-format
+-msgid "%qD is not defined outside of function scope"
+-msgstr "%Jno es defineix \"%D\" fora de l'àmbit de la funció"
+-
+-#. Translators: The %d after 'ISO C' will be 90 or 99. Do not
+-#. separate the %d from the 'C'. 'ISO' should not be
+-#. translated, but it may be moved after 'C%d' in languages
+-#. where modifiers follow nouns.
+-#: c-common.c:891
+-#, fuzzy, gcc-internal-format
+-msgid "string length %qd is greater than the length %qd ISO C%d compilers are required to support"
+-msgstr "la longitud de la cadena \"%d\" és major que la longitud `%d\" que es requereix que els compiladors ISO C %d donin suport"
+-
+-#: c-common.c:941
+-#, gcc-internal-format
+-msgid "overflow in constant expression"
+-msgstr "desbordament en la constant implícita"
+-
+-#: c-common.c:963
+-#, gcc-internal-format
+-msgid "integer overflow in expression"
+-msgstr "desbordament enter en l'expressió"
+-
+-#: c-common.c:967
+-#, gcc-internal-format
+-msgid "floating point overflow in expression"
+-msgstr "desbordament de coma flotant en l'expressió"
+-
+-#: c-common.c:971
+-#, fuzzy, gcc-internal-format
+-msgid "fixed-point overflow in expression"
+-msgstr "desbordament de coma flotant en l'expressió"
+-
+-#: c-common.c:975
+-#, gcc-internal-format
+-msgid "vector overflow in expression"
+-msgstr "desbordament de vector flotant en l'expressió"
+-
+-#: c-common.c:980
+-#, fuzzy, gcc-internal-format
+-msgid "complex integer overflow in expression"
+-msgstr "desbordament enter en l'expressió"
+-
+-#: c-common.c:982
+-#, fuzzy, gcc-internal-format
+-msgid "complex floating point overflow in expression"
+-msgstr "desbordament de coma flotant en l'expressió"
+-
+-#: c-common.c:1013
+-#, gcc-internal-format
+-msgid "logical %<%s%> with non-zero constant will always evaluate as true"
+-msgstr ""
+-
+-#: c-common.c:1046
+-#, gcc-internal-format
+-msgid "type-punning to incomplete type might break strict-aliasing rules"
+-msgstr "el càstig de tipus a tipus incomplet pot trencar les regles d'alies estricte"
+-
+-#: c-common.c:1060
+-#, gcc-internal-format
+-msgid "dereferencing type-punned pointer will break strict-aliasing rules"
+-msgstr "el retorn de punters de tipus castigat trencarà les regles d'alies estricte"
+-
+-#: c-common.c:1067 c-common.c:1085
+-#, fuzzy, gcc-internal-format
+-msgid "dereferencing type-punned pointer might break strict-aliasing rules"
+-msgstr "el retorn de punters de tipus castigat trencarà les regles d'alies estricte"
+-
+-#: c-common.c:1111
+-#, fuzzy, gcc-internal-format
+-msgid "%Hsuggest braces around empty body in an %<if%> statement"
+-msgstr "%Hcos buit en una declaració «if»"
+-
+-#: c-common.c:1115
+-#, fuzzy, gcc-internal-format
+-msgid "%Hsuggest braces around empty body in an %<else%> statement"
+-msgstr "cos buit en una declaració else"
+-
+-#: c-common.c:1141
+-#, fuzzy, gcc-internal-format
+-msgid "first argument of %q+D should be %<int%>"
+-msgstr "%Jel primer argument de \"%D\" ha de ser \"int\""
+-
+-#: c-common.c:1149
+-#, fuzzy, gcc-internal-format
+-msgid "second argument of %q+D should be %<char **%>"
+-msgstr "%Jel segon argument de \"%D\" ha de ser \"char **\""
+-
+-#: c-common.c:1158
+-#, fuzzy, gcc-internal-format
+-msgid "third argument of %q+D should probably be %<char **%>"
+-msgstr "%Jel tercer argument de \"%D\" ha de ser \"char **\""
+-
+-#: c-common.c:1168
+-#, fuzzy, gcc-internal-format
+-msgid "%q+D takes only zero or two arguments"
+-msgstr "%J\"%D\" només pren zero o dos arguments"
+-
+-#: c-common.c:1203
+-#, gcc-internal-format
+-msgid "use -flax-vector-conversions to permit conversions between vectors with differing element types or numbers of subparts"
+-msgstr ""
+-
+-#: c-common.c:1241
+-#, gcc-internal-format
+-msgid "negative integer implicitly converted to unsigned type"
+-msgstr "enter negatiu truncat implícitament al tipus unsigned"
+-
+-#: c-common.c:1244
+-#, gcc-internal-format
+-msgid "conversion of unsigned constant value to negative integer"
+-msgstr ""
+-
+-#: c-common.c:1270
+-#, gcc-internal-format
+-msgid "conversion to %qT alters %qT constant value"
+-msgstr ""
+-
+-#: c-common.c:1296
+-#, gcc-internal-format
+-msgid "conversion to %qT from %qT may change the sign of the result"
+-msgstr ""
+-
+-#: c-common.c:1325
+-#, fuzzy, gcc-internal-format
+-msgid "conversion to %qT from %qT may alter its value"
+-msgstr "la conversió de \"%E\" des de \"%T\" a \"%T\" és ambigua"
+-
+-#: c-common.c:1353
+-#, gcc-internal-format
+-msgid "large integer implicitly truncated to unsigned type"
+-msgstr "enter gran truncat implícitament al tipus unsigned"
+-
+-#: c-common.c:1359 c-common.c:1366 c-common.c:1374
+-#, gcc-internal-format
+-msgid "overflow in implicit constant conversion"
+-msgstr "desbordament en la conversió implícita de constant"
+-
+-#: c-common.c:1528
+-#, fuzzy, gcc-internal-format
+-msgid "operation on %qE may be undefined"
+-msgstr "l'operació sobre \"%s\" pot estar indefinida"
+-
+-#: c-common.c:1821
+-#, gcc-internal-format
+-msgid "case label does not reduce to an integer constant"
+-msgstr "l'etiqueta d'un «case» no es redueix a una constant entera"
+-
+-#: c-common.c:1861
+-#, gcc-internal-format
+-msgid "case label value is less than minimum value for type"
+-msgstr ""
+-
+-#: c-common.c:1869
+-#, gcc-internal-format
+-msgid "case label value exceeds maximum value for type"
+-msgstr ""
+-
+-#: c-common.c:1877
+-#, gcc-internal-format
+-msgid "lower value in case label range less than minimum value for type"
+-msgstr ""
+-
+-#: c-common.c:1886
+-#, gcc-internal-format
+-msgid "upper value in case label range exceeds maximum value for type"
+-msgstr ""
+-
+-#: c-common.c:1960
+-#, gcc-internal-format
+-msgid "GCC cannot support operators with integer types and fixed-point types that have too many integral and fractional bits together"
+-msgstr ""
+-
+-#: c-common.c:2450
+-#, fuzzy, gcc-internal-format
+-msgid "invalid operands to binary %s (have %qT and %qT)"
+-msgstr "operadors no vàlids per al binari %s"
+-
+-#: c-common.c:2686
+-#, gcc-internal-format
+-msgid "comparison is always false due to limited range of data type"
+-msgstr "la comparança sempre és falsa a causa dels límits limitats del tipus de dades"
+-
+-#: c-common.c:2688
+-#, gcc-internal-format
+-msgid "comparison is always true due to limited range of data type"
+-msgstr "la comparança sempre és certa a causa dels límits limitat del tipus de dades"
+-
+-#: c-common.c:2767
+-#, gcc-internal-format
+-msgid "comparison of unsigned expression >= 0 is always true"
+-msgstr "la comparança d'una expressió unsigned >= 0 sempre és certa"
+-
+-#: c-common.c:2777
+-#, gcc-internal-format
+-msgid "comparison of unsigned expression < 0 is always false"
+-msgstr "la comparança d'una expressió unsigned < 0 sempre és falsa"
+-
+-#: c-common.c:2818
+-#, fuzzy, gcc-internal-format
+-msgid "pointer of type %<void *%> used in arithmetic"
+-msgstr "es va usar un punter de tipus \"void *\" en l'aritmètica"
+-
+-#: c-common.c:2824
+-#, gcc-internal-format
+-msgid "pointer to a function used in arithmetic"
+-msgstr "es va usar un punter a una funció en l'aritmètica"
+-
+-#: c-common.c:2830
+-#, gcc-internal-format
+-msgid "pointer to member function used in arithmetic"
+-msgstr "es va usar un punter a una funció membre en l'aritmètica"
+-
+-#: c-common.c:2982
+-#, fuzzy, gcc-internal-format
+-msgid "the address of %qD will always evaluate as %<true%>"
+-msgstr "l'adreça de \"%D\", sempre serà \"true\""
+-
+-#: c-common.c:3051 cp/semantics.c:596 cp/typeck.c:6411
+-#, gcc-internal-format
+-msgid "suggest parentheses around assignment used as truth value"
+-msgstr "es suggereixen parèntesi al voltant de l'assignació usada com valor veritable"
+-
+-#: c-common.c:3123 c-typeck.c:8958
+-#, fuzzy, gcc-internal-format
+-msgid "invalid use of %<restrict%>"
+-msgstr "ús no vàlid de \"restrict\""
+-
+-#: c-common.c:3339
+-#, fuzzy, gcc-internal-format
+-msgid "invalid application of %<sizeof%> to a function type"
+-msgstr "aplicació invalida de \"sizeof\" a una expressió de tipus de funció"
+-
+-#: c-common.c:3349
+-#, fuzzy, gcc-internal-format
+-msgid "invalid application of %qs to a void type"
+-msgstr "applicació no vàlida de \"%s\" a un tipus void"
+-
+-#: c-common.c:3355
+-#, fuzzy, gcc-internal-format
+-msgid "invalid application of %qs to incomplete type %qT "
+-msgstr "aplicació no vàlida de \"%s\" a un tipus incomplet \"T\" "
+-
+-#: c-common.c:3396
+-#, fuzzy, gcc-internal-format
+-msgid "%<__alignof%> applied to a bit-field"
+-msgstr "\"__alignof\" aplicat a un camp de bits"
+-
+-#: c-common.c:3969
+-#, fuzzy, gcc-internal-format
+-msgid "cannot disable built-in function %qs"
+-msgstr "no es pot desactivar la funció interna \"%s\""
+-
+-#: c-common.c:4172
+-#, gcc-internal-format
+-msgid "pointers are not permitted as case values"
+-msgstr "els punters no són permesos com valors d'un «case»"
+-
+-#: c-common.c:4178
+-#, gcc-internal-format
+-msgid "range expressions in switch statements are non-standard"
+-msgstr "les expressions de límits en les declaracions «switch» no són estàndard"
+-
+-#: c-common.c:4204
+-#, gcc-internal-format
+-msgid "empty range specified"
+-msgstr "es va especificar uns límits buides"
+-
+-#: c-common.c:4264
+-#, gcc-internal-format
+-msgid "duplicate (or overlapping) case value"
+-msgstr "valor d'un «case» duplicat (o sobreposat)"
+-
+-#
+-#: c-common.c:4265
+-#, gcc-internal-format
+-msgid "%Jthis is the first entry overlapping that value"
+-msgstr "%Jaquesta és la primera entrada que sobreposa aquest valor"
+-
+-#: c-common.c:4269
+-#, gcc-internal-format
+-msgid "duplicate case value"
+-msgstr "valor d'un «case» duplicat"
+-
+-#: c-common.c:4270
+-#, gcc-internal-format
+-msgid "%Jpreviously used here"
+-msgstr "%Jes va usar prèviament aquí"
+-
+-#: c-common.c:4274
+-#, gcc-internal-format
+-msgid "multiple default labels in one switch"
+-msgstr "múltiples etiquetes per omissió en un sol «switch»"
+-
+-#: c-common.c:4275
+-#, gcc-internal-format
+-msgid "%Jthis is the first default label"
+-msgstr "%Jaquesta és la primera etiqueta per omissió"
+-
+-#: c-common.c:4324
+-#, fuzzy, gcc-internal-format
+-msgid "%Jcase value %qs not in enumerated type"
+-msgstr "el valor de «case» \"%ld\" no és un tipus enumerat"
+-
+-#: c-common.c:4327
+-#, fuzzy, gcc-internal-format
+-msgid "%Jcase value %qs not in enumerated type %qT"
+-msgstr "el valor de «case» \"%ld\" no és un tipus enumerat"
+-
+-#: c-common.c:4385
+-#, fuzzy, gcc-internal-format
+-msgid "%Hswitch missing default case"
+-msgstr "manca el «case» per defecte per a un «switch»"
+-
+-#: c-common.c:4448
+-#, fuzzy, gcc-internal-format
+-msgid "%Henumeration value %qE not handled in switch"
+-msgstr "el valor d'enumeració \"%s\" no es gestiona en un «switch»"
+-
+-#: c-common.c:4472
+-#, gcc-internal-format
+-msgid "taking the address of a label is non-standard"
+-msgstr "prendre l'adreça d'una etiqueta no és estàndard"
+-
+-#: c-common.c:4622
+-#, fuzzy, gcc-internal-format
+-msgid "%qE attribute ignored for field of type %qT"
+-msgstr "atribut \"%s\" ignorat per a \"%s\""
+-
+-#: c-common.c:4633 c-common.c:4652 c-common.c:4670 c-common.c:4697
+-#: c-common.c:4724 c-common.c:4750 c-common.c:4769 c-common.c:4793
+-#: c-common.c:4816 c-common.c:4839 c-common.c:4860 c-common.c:4881
+-#: c-common.c:4905 c-common.c:4931 c-common.c:4968 c-common.c:4995
+-#: c-common.c:5046 c-common.c:5130 c-common.c:5160 c-common.c:5179
+-#: c-common.c:5499 c-common.c:5559 c-common.c:5580 c-common.c:5644
+-#: c-common.c:5762 c-common.c:5828 c-common.c:5877 c-common.c:5923
+-#: c-common.c:5993 c-common.c:6017 c-common.c:6301 c-common.c:6324
+-#: c-common.c:6363
+-#, fuzzy, gcc-internal-format
+-msgid "%qE attribute ignored"
+-msgstr "s'ignora l'atribut \"%s\""
+-
+-#: c-common.c:4715 c-common.c:4741
+-#, fuzzy, gcc-internal-format
+-msgid "%qE attribute conflicts with attribute %s"
+-msgstr "l'atribut \"%s\" solament aplica a variables"
+-
+-#: c-common.c:4962
+-#, fuzzy, gcc-internal-format
+-msgid "%qE attribute have effect only on public objects"
+-msgstr "%Jl'atribut \"%E\" s'aplica solament a funcions"
+-
+-#: c-common.c:5067
+-#, fuzzy, gcc-internal-format
+-msgid "destructor priorities are not supported"
+-msgstr "els trampolins no tenen suport"
+-
+-#: c-common.c:5069
+-#, fuzzy, gcc-internal-format
+-msgid "constructor priorities are not supported"
+-msgstr "els trampolins no tenen suport"
+-
+-#: c-common.c:5086
+-#, gcc-internal-format
+-msgid "destructor priorities from 0 to %d are reserved for the implementation"
+-msgstr ""
+-
+-#: c-common.c:5091
+-#, gcc-internal-format
+-msgid "constructor priorities from 0 to %d are reserved for the implementation"
+-msgstr ""
+-
+-#: c-common.c:5099
+-#, gcc-internal-format
+-msgid "destructor priorities must be integers from 0 to %d inclusive"
+-msgstr ""
+-
+-#: c-common.c:5102
+-#, gcc-internal-format
+-msgid "constructor priorities must be integers from 0 to %d inclusive"
+-msgstr ""
+-
+-#: c-common.c:5221
+-#, fuzzy, gcc-internal-format
+-msgid "unknown machine mode %qs"
+-msgstr "es desconeix el mode de màquina \"%s\""
+-
+-#: c-common.c:5250
+-#, gcc-internal-format
+-msgid "specifying vector types with __attribute__ ((mode)) is deprecated"
+-msgstr ""
+-
+-#: c-common.c:5253
+-#, fuzzy, gcc-internal-format
+-msgid "use __attribute__ ((vector_size)) instead"
+-msgstr "s'ignora la directiva d'atribut \"%s\""
+-
+-#: c-common.c:5262
+-#, fuzzy, gcc-internal-format
+-msgid "unable to emulate %qs"
+-msgstr "no es pot emular \"%s\""
+-
+-#: c-common.c:5272
+-#, fuzzy, gcc-internal-format
+-msgid "invalid pointer mode %qs"
+-msgstr "mode de punter \"%s\" no vàlid"
+-
+-#: c-common.c:5289
+-#, fuzzy, gcc-internal-format
+-msgid "signness of type and machine mode %qs don't match"
+-msgstr "el nombre de #-lines per a entrar i sortir dels fitxers no coincideixen"
+-
+-#: c-common.c:5300
+-#, fuzzy, gcc-internal-format
+-msgid "no data type for mode %qs"
+-msgstr "no hi ha tipus de dades pel mode \"%s\""
+-
+-#: c-common.c:5310
+-#, fuzzy, gcc-internal-format
+-msgid "cannot use mode %qs for enumeral types"
+-msgstr "no es pot convertir a un tipus punter"
+-
+-#: c-common.c:5337
+-#, fuzzy, gcc-internal-format
+-msgid "mode %qs applied to inappropriate type"
+-msgstr "mode \"%s\" aplicat a un tipus no inadequat"
+-
+-#: c-common.c:5368
+-#, gcc-internal-format
+-msgid "%Jsection attribute cannot be specified for local variables"
+-msgstr "%Jl'atribut de secció no pot ser especificat per a les variables locals"
+-
+-#: c-common.c:5379 config/bfin/bfin.c:4879 config/bfin/bfin.c:4930
+-#, fuzzy, gcc-internal-format
+-msgid "section of %q+D conflicts with previous declaration"
+-msgstr "%Jla secció de \"%D\" causa conflictes amb la declaració prèvia"
+-
+-#: c-common.c:5388
+-#, fuzzy, gcc-internal-format
+-msgid "section attribute not allowed for %q+D"
+-msgstr "%Jno es permet un atribut de secció per a \"%D\""
+-
+-#: c-common.c:5394
+-#, gcc-internal-format
+-msgid "%Jsection attributes are not supported for this target"
+-msgstr "%Jatributs de secció no suportats per aquest objectiu"
+-
+-#: c-common.c:5426
+-#, gcc-internal-format
+-msgid "requested alignment is not a constant"
+-msgstr "l'alineació sol·licitada no és una constant"
+-
+-#: c-common.c:5431
+-#, gcc-internal-format
+-msgid "requested alignment is not a power of 2"
+-msgstr "l'alineació sol·licitada no és una potència de 2"
+-
+-#: c-common.c:5436
+-#, gcc-internal-format
+-msgid "requested alignment is too large"
+-msgstr "l'alineació sol·licitada és massa gran"
+-
+-#: c-common.c:5462
+-#, fuzzy, gcc-internal-format
+-msgid "alignment may not be specified for %q+D"
+-msgstr "%Jl'alineació no pot ser especificada per a \"%D\""
+-
+-#: c-common.c:5469
+-#, gcc-internal-format
+-msgid "alignment for %q+D was previously specified as %d and may not be decreased"
+-msgstr ""
+-
+-#: c-common.c:5473
+-#, fuzzy, gcc-internal-format
+-msgid "alignment for %q+D must be at least %d"
+-msgstr "l'alineació ha de ser una potència petita de dos, no %d"
+-
+-#: c-common.c:5522
+-#, fuzzy, gcc-internal-format
+-msgid "%q+D defined both normally and as an alias"
+-msgstr "%J\"%D\" definit normalment i com un alies"
+-
+-#: c-common.c:5538
+-#, fuzzy, gcc-internal-format
+-msgid "alias argument not a string"
+-msgstr "l'argument d'alies no és una cadena"
+-
+-#: c-common.c:5601
+-#, gcc-internal-format
+-msgid "%Jweakref attribute must appear before alias attribute"
+-msgstr ""
+-
+-#: c-common.c:5631
+-#, fuzzy, gcc-internal-format
+-msgid "%qE attribute ignored on non-class types"
+-msgstr "atribut \"%s\" ignorat per a \"%s\""
+-
+-#: c-common.c:5637
+-#, fuzzy, gcc-internal-format
+-msgid "%qE attribute ignored because %qT is already defined"
+-msgstr "el mateix bypass \"%s - %s\" ja està definit"
+-
+-#: c-common.c:5650
+-#, fuzzy, gcc-internal-format
+-msgid "visibility argument not a string"
+-msgstr "l'argument de visibilitat no és una cadena"
+-
+-#: c-common.c:5662
+-#, fuzzy, gcc-internal-format
+-msgid "%qE attribute ignored on types"
+-msgstr "atribut \"%s\" ignorat per a \"%s\""
+-
+-#: c-common.c:5678
+-#, fuzzy, gcc-internal-format
+-msgid "visibility argument must be one of \"default\", \"hidden\", \"protected\" or \"internal\""
+-msgstr "l'argument de visibilitat ha de ser \"default\", \"hidden\", \"protected\" o \"internal\""
+-
+-#: c-common.c:5689
+-#, fuzzy, gcc-internal-format
+-msgid "%qD redeclared with different visibility"
+-msgstr "\"%#D\" redeclarat com un tipus diferent de símbol"
+-
+-#: c-common.c:5692 c-common.c:5696
+-#, gcc-internal-format
+-msgid "%qD was declared %qs which implies default visibility"
+-msgstr ""
+-
+-#: c-common.c:5770
+-#, fuzzy, gcc-internal-format
+-msgid "tls_model argument not a string"
+-msgstr "l'argument tls_model no és una cadena"
+-
+-#: c-common.c:5783
+-#, fuzzy, gcc-internal-format
+-msgid "tls_model argument must be one of \"local-exec\", \"initial-exec\", \"local-dynamic\" or \"global-dynamic\""
+-msgstr "l'argument de tls_model ha de ser \"local-exec\", \"initial-exec\", \"local-dynamic\" or \"global-dynamic\""
+-
+-#: c-common.c:5802 c-common.c:5897
+-#, fuzzy, gcc-internal-format
+-msgid "%J%qE attribute applies only to functions"
+-msgstr "%Jl'atribut \"%E\" s'aplica solament a funcions"
+-
+-#: c-common.c:5807 c-common.c:5902
+-#, fuzzy, gcc-internal-format
+-msgid "%Jcan%'t set %qE attribute after definition"
+-msgstr "%Jno es pot establir l'atribut \"%E\" després de la definició"
+-
+-#: c-common.c:5858
+-#, gcc-internal-format
+-msgid "alloc_size parameter outside range"
+-msgstr ""
+-
+-#: c-common.c:5991
+-#, fuzzy, gcc-internal-format
+-msgid "%qE attribute ignored for %qE"
+-msgstr "atribut \"%s\" ignorat per a \"%s\""
+-
+-#: c-common.c:6049
+-#, fuzzy, gcc-internal-format
+-msgid "invalid vector type for attribute %qE"
+-msgstr "tipus de vector no vàlid per a l'atribut \"%s\""
+-
+-#: c-common.c:6055
+-#, gcc-internal-format
+-msgid "vector size not an integral multiple of component size"
+-msgstr ""
+-
+-#: c-common.c:6061
+-#, gcc-internal-format
+-msgid "zero vector size"
+-msgstr ""
+-
+-#: c-common.c:6069
+-#, gcc-internal-format
+-msgid "number of components of the vector not a power of two"
+-msgstr ""
+-
+-#: c-common.c:6097
+-#, gcc-internal-format
+-msgid "nonnull attribute without arguments on a non-prototype"
+-msgstr "un atribut nonnull sense arguments en un que no és prototip"
+-
+-#: c-common.c:6112
+-#, fuzzy, gcc-internal-format
+-msgid "nonnull argument has invalid operand number (argument %lu)"
+-msgstr "un argument no null té un nombre d'operadors no vàlid (arg %lu)"
+-
+-#: c-common.c:6131
+-#, fuzzy, gcc-internal-format
+-msgid "nonnull argument with out-of-range operand number (argument %lu, operand %lu)"
+-msgstr "argument no \"null\" amb un nombre d'operadors fora de límits (arg %lu, operand %lu)"
+-
+-#: c-common.c:6139
+-#, fuzzy, gcc-internal-format
+-msgid "nonnull argument references non-pointer operand (argument %lu, operand %lu)"
+-msgstr "un argument no null fa referència a un operand que no és un punter (arg %lu, operand %lu)"
+-
+-#: c-common.c:6215
+-#, fuzzy, gcc-internal-format
+-msgid "not enough variable arguments to fit a sentinel"
+-msgstr "molt pocs arguments per a la funció"
+-
+-#: c-common.c:6229
+-#, fuzzy, gcc-internal-format
+-msgid "missing sentinel in function call"
+-msgstr "Prohibir la crida a funcions relatives al PC"
+-
+-#: c-common.c:6270
+-#, fuzzy, gcc-internal-format
+-msgid "null argument where non-null required (argument %lu)"
+-msgstr "argument null on es requereix un que no sigui null (arg %lu)"
+-
+-#: c-common.c:6335
+-#, fuzzy, gcc-internal-format
+-msgid "cleanup argument not an identifier"
+-msgstr "l'objecte cridat no és un identificador"
+-
+-#: c-common.c:6342
+-#, fuzzy, gcc-internal-format
+-msgid "cleanup argument not a function"
+-msgstr "l'objecte cridat no és una funció"
+-
+-#: c-common.c:6381
+-#, fuzzy, gcc-internal-format
+-msgid "%qE attribute requires prototypes with named arguments"
+-msgstr "l'atribut \"%s\" requereix una constant entera com argument"
+-
+-#: c-common.c:6392
+-#, fuzzy, gcc-internal-format
+-msgid "%qE attribute only applies to variadic functions"
+-msgstr "l'atribut \"%s\" nomès s'aplica a funcions"
+-
+-#: c-common.c:6404
+-#, fuzzy, gcc-internal-format
+-msgid "requested position is not an integer constant"
+-msgstr "la init_priority sol·licitada no és una constant entera"
+-
+-#: c-common.c:6412
+-#, gcc-internal-format
+-msgid "requested position is less than zero"
+-msgstr ""
+-
+-#: c-common.c:6736
+-#, fuzzy, gcc-internal-format
+-msgid "%Hignoring return value of %qD, declared with attribute warn_unused_result"
+-msgstr "%Hignorant el valor de retorn de \"%D\", declarat amb atributs \"warn_unused_result\""
+-
+-#: c-common.c:6740
+-#, gcc-internal-format
+-msgid "%Hignoring return value of function declared with attribute warn_unused_result"
+-msgstr ""
+-
+-#: c-common.c:6793
+-#, fuzzy, gcc-internal-format
+-msgid "cannot apply %<offsetof%> to static data member %qD"
+-msgstr "ús no vàlid del camp no static \"%D\""
+-
+-#: c-common.c:6797
+-#, gcc-internal-format
+-msgid "cannot apply %<offsetof%> when %<operator[]%> is overloaded"
+-msgstr ""
+-
+-#: c-common.c:6818 cp/typeck.c:4525
+-#, fuzzy, gcc-internal-format
+-msgid "attempt to take address of bit-field structure member %qD"
+-msgstr "es va intentar prendre l'adreça del membre de l'estructura de camps de bits \"%s\""
+-
+-#: c-common.c:6871
+-#, fuzzy, gcc-internal-format
+-msgid "lvalue required as left operand of assignment"
+-msgstr "l-value no vàlid en l'assignació"
+-
+-#: c-common.c:6874
+-#, gcc-internal-format
+-msgid "lvalue required as increment operand"
+-msgstr ""
+-
+-#: c-common.c:6877
+-#, gcc-internal-format
+-msgid "lvalue required as decrement operand"
+-msgstr ""
+-
+-#: c-common.c:6880
+-#, gcc-internal-format
+-msgid "lvalue required as unary %<&%> operand"
+-msgstr ""
+-
+-#: c-common.c:6883
+-#, fuzzy, gcc-internal-format
+-msgid "lvalue required in asm statement"
+-msgstr "lvalue no vàlid en declaració asm"
+-
+-#: c-common.c:7005
+-#, fuzzy, gcc-internal-format
+-msgid "size of array is too large"
+-msgstr "la grandària de la matriu \"%s\" és massa gran"
+-
+-#: c-common.c:7041 c-common.c:7090 c-typeck.c:2705
+-#, fuzzy, gcc-internal-format
+-msgid "too few arguments to function %qE"
+-msgstr "molt pocs arguments per a la funció"
+-
+-#. ??? This should not be an error when inlining calls to
+-#. unprototyped functions.
+-#: c-common.c:7058 c-typeck.c:4374
+-#, fuzzy, gcc-internal-format
+-msgid "incompatible type for argument %d of %qE"
+-msgstr "tipus incompatible per a l'argument %d de \"%s\""
+-
+-#: c-common.c:7250
+-#, fuzzy, gcc-internal-format
+-msgid "array subscript has type %<char%>"
+-msgstr "el subindici de matriu té un tipus \"char\""
+-
+-#: c-common.c:7273
+-#, gcc-internal-format
+-msgid "suggest parentheses around + or - inside shift"
+-msgstr "es suggereixen parèntesi al voltant de + o - dintre d'un desplaçament"
+-
+-#: c-common.c:7281
+-#, gcc-internal-format
+-msgid "suggest parentheses around && within ||"
+-msgstr "es suggereixen parèntesi al voltant de && dintre de ||"
+-
+-#: c-common.c:7291
+-#, gcc-internal-format
+-msgid "suggest parentheses around arithmetic in operand of |"
+-msgstr "es suggereixen parèntesi al voltant de l'aritmètica per a operada de |"
+-
+-#: c-common.c:7296
+-#, gcc-internal-format
+-msgid "suggest parentheses around comparison in operand of |"
+-msgstr "es suggereixen parèntesi al voltant de les comparances per a operada de |"
+-
+-#: c-common.c:7306
+-#, gcc-internal-format
+-msgid "suggest parentheses around arithmetic in operand of ^"
+-msgstr "es suggereixen parèntesi al voltant de l'aritmètica per a operada de ^"
+-
+-#: c-common.c:7311
+-#, gcc-internal-format
+-msgid "suggest parentheses around comparison in operand of ^"
+-msgstr "es suggereixen parèntesi al voltant de les comparances per a operada de ^"
+-
+-#: c-common.c:7319
+-#, gcc-internal-format
+-msgid "suggest parentheses around + or - in operand of &"
+-msgstr "es suggereixen parèntesi al voltant de + o - per a operada de &"
+-
+-#: c-common.c:7324
+-#, gcc-internal-format
+-msgid "suggest parentheses around comparison in operand of &"
+-msgstr "es suggereixen parèntesi al voltant de les comparances per a operada de &"
+-
+-#: c-common.c:7332
+-#, fuzzy, gcc-internal-format
+-msgid "suggest parentheses around comparison in operand of %s"
+-msgstr "es suggereixen parèntesi al voltant de les comparances per a operada de |"
+-
+-#: c-common.c:7341
+-#, gcc-internal-format
+-msgid "comparisons like X<=Y<=Z do not have their mathematical meaning"
+-msgstr "les comparances com X<=Y<=Z no tenen el seu significat matemàtic"
+-
+-#: c-common.c:7354
+-#, fuzzy, gcc-internal-format
+-msgid "label %q+D defined but not used"
+-msgstr "s'usa l'etiqueta \"%D\" però no està definida"
+-
+-#: c-common.c:7356
+-#, fuzzy, gcc-internal-format
+-msgid "label %q+D declared but not defined"
+-msgstr "%Jl'etiqueta \"%D\" està declarada però no està definida"
+-
+-#: c-common.c:7375
+-#, gcc-internal-format
+-msgid "division by zero"
+-msgstr "divisió per zero"
+-
+-#. Except for passing an argument to an unprototyped function,
+-#. this is a constraint violation. When passing an argument to
+-#. an unprototyped function, it is compile-time undefined;
+-#. making it a constraint in that case was rejected in
+-#. DR#252.
+-#: c-convert.c:95 c-typeck.c:1775 c-typeck.c:4012 cp/typeck.c:1502
+-#: cp/typeck.c:5717 cp/typeck.c:6325 fortran/convert.c:88
+-#: treelang/tree-convert.c:79
+-#, gcc-internal-format
+-msgid "void value not ignored as it ought to be"
+-msgstr "valor void no ignorat com deuria ser"
+-
+-#: c-convert.c:118 fortran/convert.c:121 java/typeck.c:152
+-#: treelang/tree-convert.c:105
+-#, gcc-internal-format
+-msgid "conversion to non-scalar type requested"
+-msgstr "es va sol·licitar conversió a tipus no escalar"
+-
+-#: c-decl.c:546
+-#, fuzzy, gcc-internal-format
+-msgid "array %q+D assumed to have one element"
+-msgstr "%Js'assumeix que la matriu \"%D\" té un element"
+-
+-#: c-decl.c:651
+-#, gcc-internal-format
+-msgid "GCC supports only %u nested scopes"
+-msgstr ""
+-
+-#: c-decl.c:737 cp/decl.c:358
+-#, fuzzy, gcc-internal-format
+-msgid "label %q+D used but not defined"
+-msgstr "s'usa l'etiqueta \"%D\" però no està definida"
+-
+-#: c-decl.c:778
+-#, fuzzy, gcc-internal-format
+-msgid "nested function %q+D declared but never defined"
+-msgstr "s'usa la funció «inline» \"%D\" però mai es va definir"
+-
+-#: c-decl.c:788
+-#, fuzzy, gcc-internal-format
+-msgid "inline function %q+D declared but never defined"
+-msgstr "s'usa la funció «inline» \"%D\" però mai es va definir"
+-
+-#: c-decl.c:801 cp/decl.c:608
+-#, fuzzy, gcc-internal-format
+-msgid "unused variable %q+D"
+-msgstr "%Jvariable \"%D\" sense ús"
+-
+-#: c-decl.c:805
+-#, gcc-internal-format
+-msgid "type of array %q+D completed incompatibly with implicit initialization"
+-msgstr ""
+-
+-#: c-decl.c:1039
+-#, fuzzy, gcc-internal-format
+-msgid "a parameter list with an ellipsis can%'t match an empty parameter name list declaration"
+-msgstr "una llista de paràmetres amb una el·lipse no pot coincidir amb una declaració de nom de llista de paràmetres buida."
+-
+-#: c-decl.c:1046
+-#, fuzzy, gcc-internal-format
+-msgid "an argument type that has a default promotion can%'t match an empty parameter name list declaration"
+-msgstr "Un tipus d'argument que té una promoció per omissió no pot coincidir amb una declaració de nom de llista de paràmetres buida."
+-
+-#: c-decl.c:1087
+-#, gcc-internal-format
+-msgid "prototype for %q+D declares more arguments than previous old-style definition"
+-msgstr ""
+-
+-#: c-decl.c:1093
+-#, gcc-internal-format
+-msgid "prototype for %q+D declares fewer arguments than previous old-style definition"
+-msgstr ""
+-
+-#: c-decl.c:1102
+-#, fuzzy, gcc-internal-format
+-msgid "prototype for %q+D declares argument %d with incompatible type"
+-msgstr "el prototip per a \"%s\" a continuació i l'argument %d no coincideixen"
+-
+-#. If we get here, no errors were found, but do issue a warning
+-#. for this poor-style construct.
+-#: c-decl.c:1115
+-#, fuzzy, gcc-internal-format
+-msgid "prototype for %q+D follows non-prototype definition"
+-msgstr "a continuació la definició del no prototip aquí"
+-
+-#: c-decl.c:1130
+-#, fuzzy, gcc-internal-format
+-msgid "previous definition of %q+D was here"
+-msgstr "%Jdefinició prèvia de \"%D\" aquí"
+-
+-#: c-decl.c:1132
+-#, fuzzy, gcc-internal-format
+-msgid "previous implicit declaration of %q+D was here"
+-msgstr "%Jdeclaració implícita prèvia de \"%D\" aquí"
+-
+-#: c-decl.c:1134
+-#, fuzzy, gcc-internal-format
+-msgid "previous declaration of %q+D was here"
+-msgstr "%Jdeclaració prèvia de \"%D\" aquí"
+-
+-#: c-decl.c:1174
+-#, fuzzy, gcc-internal-format
+-msgid "%q+D redeclared as different kind of symbol"
+-msgstr "\"%#D\" redeclarat com un tipus diferent de símbol"
+-
+-#: c-decl.c:1178
+-#, fuzzy, gcc-internal-format
+-msgid "built-in function %q+D declared as non-function"
+-msgstr "%Jla funció interna \"%D\" no és declarada com funció"
+-
+-#: c-decl.c:1181 c-decl.c:1298 c-decl.c:1983
+-#, fuzzy, gcc-internal-format
+-msgid "declaration of %q+D shadows a built-in function"
+-msgstr "la declaració de \"%#D\" enfosqueix un paràmetre"
+-
+-#: c-decl.c:1190
+-#, fuzzy, gcc-internal-format
+-msgid "redeclaration of enumerator %q+D"
+-msgstr "redeclaració de \"enum %s\""
+-
+-#. If types don't match for a built-in, throw away the
+-#. built-in. No point in calling locate_old_decl here, it
+-#. won't print anything.
+-#: c-decl.c:1211
+-#, fuzzy, gcc-internal-format
+-msgid "conflicting types for built-in function %q+D"
+-msgstr "%Jtipus en conflicte per a la funció interna \"%D\""
+-
+-#: c-decl.c:1235 c-decl.c:1248 c-decl.c:1258
+-#, fuzzy, gcc-internal-format
+-msgid "conflicting types for %q+D"
+-msgstr "%Jtipus en conflicte per a \"%D\""
+-
+-#: c-decl.c:1256
+-#, fuzzy, gcc-internal-format
+-msgid "conflicting type qualifiers for %q+D"
+-msgstr "%Jtipus en conflicte per a \"%D\""
+-
+-#. Allow OLDDECL to continue in use.
+-#: c-decl.c:1273
+-#, fuzzy, gcc-internal-format
+-msgid "redefinition of typedef %q+D"
+-msgstr "%Jredefinició de typedef \"%D\""
+-
+-#: c-decl.c:1324 c-decl.c:1426
+-#, fuzzy, gcc-internal-format
+-msgid "redefinition of %q+D"
+-msgstr "%Jredefinició de \"%D\""
+-
+-#: c-decl.c:1359 c-decl.c:1464
+-#, fuzzy, gcc-internal-format
+-msgid "static declaration of %q+D follows non-static declaration"
+-msgstr "%Jdeclaració \"static\" de \"%D\" a continuació d'una declaració \"non-static\""
+-
+-#: c-decl.c:1369 c-decl.c:1376 c-decl.c:1453 c-decl.c:1461
+-#, fuzzy, gcc-internal-format
+-msgid "non-static declaration of %q+D follows static declaration"
+-msgstr "%Jdeclaració \"non-static\" de \"%D\" a continuació d'una declaració \"static\""
+-
+-#: c-decl.c:1393
+-#, gcc-internal-format
+-msgid "%<gnu_inline%> attribute present on %q+D"
+-msgstr ""
+-
+-#: c-decl.c:1395
+-#, fuzzy, gcc-internal-format
+-msgid "%Jbut not here"
+-msgstr " primer tipus aquí"
+-
+-#: c-decl.c:1413
+-#, fuzzy, gcc-internal-format
+-msgid "thread-local declaration of %q+D follows non-thread-local declaration"
+-msgstr "%Jdeclaració \"thread-local\" de \"%D\" a continuació d'una declaració \"non-thread-local\""
+-
+-#: c-decl.c:1416
+-#, fuzzy, gcc-internal-format
+-msgid "non-thread-local declaration of %q+D follows thread-local declaration"
+-msgstr "%Jdeclaració \"non-thread-local\" de \"%D\" a continuació d'una declaració \"thread-local\""
+-
+-#: c-decl.c:1446
+-#, fuzzy, gcc-internal-format
+-msgid "extern declaration of %q+D follows declaration with no linkage"
+-msgstr "%Jla declaració externa de \"%D\" no coincideix amb la declaració sense \"linkage\""
+-
+-#: c-decl.c:1482
+-#, fuzzy, gcc-internal-format
+-msgid "declaration of %q+D with no linkage follows extern declaration"
+-msgstr "%Jla declaració de \"%D\" sense \"linkage\" segueix una declaració \"extern\""
+-
+-#: c-decl.c:1488
+-#, fuzzy, gcc-internal-format
+-msgid "redeclaration of %q+D with no linkage"
+-msgstr "%Jredeclaració de \"%D\" sense \"linkage\""
+-
+-#: c-decl.c:1502
+-#, gcc-internal-format
+-msgid "redeclaration of %q+D with different visibility (old visibility preserved)"
+-msgstr ""
+-
+-#: c-decl.c:1513
+-#, fuzzy, gcc-internal-format
+-msgid "inline declaration of %qD follows declaration with attribute noinline"
+-msgstr "%Jla declaració externa de \"%D\" no coincideix amb la declaració sense \"linkage\""
+-
+-#: c-decl.c:1520
+-#, fuzzy, gcc-internal-format
+-msgid "declaration of %q+D with attribute noinline follows inline declaration "
+-msgstr "%Jla declaració de \"%D\" sense \"linkage\" segueix una declaració \"extern\""
+-
+-#: c-decl.c:1539
+-#, fuzzy, gcc-internal-format
+-msgid "%q+D declared inline after being called"
+-msgstr "%J\"%D\" declarat «inline» abans de ser cridat"
+-
+-#: c-decl.c:1544
+-#, fuzzy, gcc-internal-format
+-msgid "%q+D declared inline after its definition"
+-msgstr "%J\"%D\" declarat «inline» després de la seva definició"
+-
+-#: c-decl.c:1563
+-#, fuzzy, gcc-internal-format
+-msgid "redefinition of parameter %q+D"
+-msgstr "%Jredefinició de typedef \"%D\""
+-
+-#: c-decl.c:1590
+-#, fuzzy, gcc-internal-format
+-msgid "redundant redeclaration of %q+D"
+-msgstr "%Jdeclaració redundant de \"%D\""
+-
+-#: c-decl.c:1970
+-#, fuzzy, gcc-internal-format
+-msgid "declaration of %q+D shadows previous non-variable"
+-msgstr "la declaració de \"%#D\" enfosqueix un paràmetre"
+-
+-#: c-decl.c:1975
+-#, fuzzy, gcc-internal-format
+-msgid "declaration of %q+D shadows a parameter"
+-msgstr "la declaració de \"%#D\" enfosqueix un paràmetre"
+-
+-#: c-decl.c:1978
+-#, fuzzy, gcc-internal-format
+-msgid "declaration of %q+D shadows a global declaration"
+-msgstr "la declaració de \"%#D\" enfosqueix un paràmetre"
+-
+-#: c-decl.c:1988
+-#, fuzzy, gcc-internal-format
+-msgid "declaration of %q+D shadows a previous local"
+-msgstr "la declaració de \"%#D\" enfosqueix un paràmetre"
+-
+-#: c-decl.c:1991 cp/name-lookup.c:988 cp/name-lookup.c:1019
+-#: cp/name-lookup.c:1027
+-#, gcc-internal-format
+-msgid "%Jshadowed declaration is here"
+-msgstr "%Jla declaració enfosquit és aquí"
+-
+-#: c-decl.c:2183
+-#, fuzzy, gcc-internal-format
+-msgid "nested extern declaration of %qD"
+-msgstr "declaració extern niada de \"%s\""
+-
+-#: c-decl.c:2346 c-decl.c:2349
+-#, fuzzy, gcc-internal-format
+-msgid "implicit declaration of function %qE"
+-msgstr "declaració implícita de la funció \"%s\""
+-
+-#: c-decl.c:2411
+-#, fuzzy, gcc-internal-format
+-msgid "incompatible implicit declaration of built-in function %qD"
+-msgstr "declaració implícita de la funció \"%#D\""
+-
+-#: c-decl.c:2420
+-#, fuzzy, gcc-internal-format
+-msgid "incompatible implicit declaration of function %qD"
+-msgstr "declaració implícita de la funció \"%#D\""
+-
+-#: c-decl.c:2473
+-#, fuzzy, gcc-internal-format
+-msgid "%H%qE undeclared here (not in a function)"
+-msgstr "\"%s\" no ha estat declarat aquí (no en una funció)"
+-
+-#: c-decl.c:2478
+-#, fuzzy, gcc-internal-format
+-msgid "%H%qE undeclared (first use in this function)"
+-msgstr "\"%s\" no ha estat declarat aquí (primer us en aquesta funció)"
+-
+-#: c-decl.c:2482
+-#, fuzzy, gcc-internal-format
+-msgid "%H(Each undeclared identifier is reported only once"
+-msgstr "(Cada identificador no declarat solament es reporta una vegada"
+-
+-#: c-decl.c:2483
+-#, fuzzy, gcc-internal-format
+-msgid "%Hfor each function it appears in.)"
+-msgstr "per a cada funció en la qual apareix.)"
+-
+-#: c-decl.c:2521 cp/decl.c:2397
+-#, fuzzy, gcc-internal-format
+-msgid "label %qE referenced outside of any function"
+-msgstr "l'etiqueta %s es referenciada fora de qualsevol funció"
+-
+-#: c-decl.c:2563
+-#, fuzzy, gcc-internal-format
+-msgid "duplicate label declaration %qE"
+-msgstr "declaració de l'etiqueta \"%s\" duplicada"
+-
+-#: c-decl.c:2599
+-#, fuzzy, gcc-internal-format
+-msgid "%Hduplicate label %qD"
+-msgstr "%Hetiqueta duplicada \"%D\""
+-
+-#: c-decl.c:2609
+-#, fuzzy, gcc-internal-format
+-msgid "%Jjump into statement expression"
+-msgstr "desbordament en la constant implícita"
+-
+-#: c-decl.c:2611
+-#, fuzzy, gcc-internal-format
+-msgid "%Jjump into scope of identifier with variably modified type"
+-msgstr "l'argument de patró \"%T\" és un tipus modificat variablement"
+-
+-#: c-decl.c:2626
+-#, gcc-internal-format
+-msgid "%Htraditional C lacks a separate namespace for labels, identifier %qE conflicts"
+-msgstr ""
+-
+-#: c-decl.c:2701
+-#, gcc-internal-format
+-msgid "%H%qE defined as wrong kind of tag"
+-msgstr ""
+-
+-#: c-decl.c:2903
+-#, gcc-internal-format
+-msgid "unnamed struct/union that defines no instances"
+-msgstr "struct/union sense nom que no defineix cap instància"
+-
+-#: c-decl.c:2911
+-#, gcc-internal-format
+-msgid "empty declaration with storage class specifier does not redeclare tag"
+-msgstr ""
+-
+-#: c-decl.c:2922
+-#, fuzzy, gcc-internal-format
+-msgid "empty declaration with type qualifier does not redeclare tag"
+-msgstr "la declaració no declara res"
+-
+-#: c-decl.c:2943 c-decl.c:2950
+-#, fuzzy, gcc-internal-format
+-msgid "useless type name in empty declaration"
+-msgstr "paraules claus inútils o noms de tipus en una declaració buida"
+-
+-#: c-decl.c:2958
+-#, fuzzy, gcc-internal-format
+-msgid "%<inline%> in empty declaration"
+-msgstr "declaració buida"
+-
+-#: c-decl.c:2964
+-#, fuzzy, gcc-internal-format
+-msgid "%<auto%> in file-scope empty declaration"
+-msgstr "es van especificar dos tipus en una declaració buida"
+-
+-#: c-decl.c:2970
+-#, fuzzy, gcc-internal-format
+-msgid "%<register%> in file-scope empty declaration"
+-msgstr "es van especificar dos tipus en una declaració buida"
+-
+-#: c-decl.c:2976
+-#, fuzzy, gcc-internal-format
+-msgid "useless storage class specifier in empty declaration"
+-msgstr "especificadors de classe d'emmagatzematge no vàlids en les declaracions de paràmetres"
+-
+-#: c-decl.c:2982
+-#, fuzzy, gcc-internal-format
+-msgid "useless %<__thread%> in empty declaration"
+-msgstr "paraules claus inútils o noms de tipus en una declaració buida"
+-
+-#: c-decl.c:2990
+-#, fuzzy, gcc-internal-format
+-msgid "useless type qualifier in empty declaration"
+-msgstr "qualificadors de tipus duplicats en la declaració %s"
+-
+-#: c-decl.c:2997
+-#, gcc-internal-format
+-msgid "empty declaration"
+-msgstr "declaració buida"
+-
+-#: c-decl.c:3063
+-#, fuzzy, gcc-internal-format
+-msgid "ISO C90 does not support %<static%> or type qualifiers in parameter array declarators"
+-msgstr "ISO C90 no dóna suport a \"static\" o qualificadors de tipus dins matrius de declaradors de paràmetres"
+-
+-#: c-decl.c:3066
+-#, fuzzy, gcc-internal-format
+-msgid "ISO C90 does not support %<[*]%> array declarators"
+-msgstr "ISO C90 no dóna suport a declaradors de paràmetres \"[*]\""
+-
+-#. C99 6.7.5.2p4
+-#. A function definition isn't function prototype scope C99 6.2.1p4.
+-#. C99 6.7.5.2p4
+-#: c-decl.c:3073 c-decl.c:5015
+-#, gcc-internal-format
+-msgid "%<[*]%> not allowed in other than function prototype scope"
+-msgstr ""
+-
+-#: c-decl.c:3097
+-#, gcc-internal-format
+-msgid "static or type qualifiers in abstract declarator"
+-msgstr "static o qualificador de tipus en un declarador abstracte"
+-
+-#: c-decl.c:3183
+-#, fuzzy, gcc-internal-format
+-msgid "%q+D is usually a function"
+-msgstr "%J\"%D\" és generalment una funció"
+-
+-#: c-decl.c:3192 cp/decl.c:3983 cp/decl2.c:773
+-#, fuzzy, gcc-internal-format
+-msgid "typedef %qD is initialized (use __typeof__ instead)"
+-msgstr "typedef \"%D\" està inicialitzat (utilitzi __typeof__ en el seu lloc)"
+-
+-#: c-decl.c:3197
+-#, fuzzy, gcc-internal-format
+-msgid "function %qD is initialized like a variable"
+-msgstr "la funció \"%#D\" està inicialitzada com una variable"
+-
+-#. DECL_INITIAL in a PARM_DECL is really DECL_ARG_TYPE.
+-#: c-decl.c:3203
+-#, fuzzy, gcc-internal-format
+-msgid "parameter %qD is initialized"
+-msgstr "el paràmetre \"%s\" té valor inicial"
+-
+-#: c-decl.c:3228
+-#, fuzzy, gcc-internal-format
+-msgid "variable %qD has initializer but incomplete type"
+-msgstr "la variable \"%#D\" té inicializador però de tipus de dada incompleta"
+-
+-#: c-decl.c:3316 c-decl.c:6108 cp/decl.c:4025 cp/decl.c:10985
+-#, fuzzy, gcc-internal-format
+-msgid "inline function %q+D given attribute noinline"
+-msgstr "%Jha donat un atribut «noinline» a la funció «inline» \"%D\""
+-
+-#: c-decl.c:3327
+-#, gcc-internal-format
+-msgid "%q+D is static but declared in inline function %qD which is not static"
+-msgstr ""
+-
+-#: c-decl.c:3418
+-#, fuzzy, gcc-internal-format
+-msgid "initializer fails to determine size of %q+D"
+-msgstr "l'inicializador no pot determinar la grandària de \"%D\""
+-
+-#: c-decl.c:3423
+-#, fuzzy, gcc-internal-format
+-msgid "array size missing in %q+D"
+-msgstr "falta la grandària de la matriu en \"%D\""
+-
+-#: c-decl.c:3435
+-#, fuzzy, gcc-internal-format
+-msgid "zero or negative size array %q+D"
+-msgstr "%Jmatriu \"%D\" de grandària zero o negatiu"
+-
+-#: c-decl.c:3490 varasm.c:2067
+-#, fuzzy, gcc-internal-format
+-msgid "storage size of %q+D isn%'t known"
+-msgstr "no es coneix la grandària d'emmagatzematge de \"%D\""
+-
+-#: c-decl.c:3500
+-#, fuzzy, gcc-internal-format
+-msgid "storage size of %q+D isn%'t constant"
+-msgstr "la grandària d'emmagatzematge de \"%D\" no és constant"
+-
+-#: c-decl.c:3545
+-#, fuzzy, gcc-internal-format
+-msgid "ignoring asm-specifier for non-static local variable %q+D"
+-msgstr "%Js'ignora l'especificador \"asm\" per a la variable local \"non-static\" \"%D\""
+-
+-#: c-decl.c:3573 fortran/f95-lang.c:653
+-#, gcc-internal-format
+-msgid "cannot put object with volatile field into register"
+-msgstr "no es pot posar objecte amb camp volatile en register"
+-
+-#: c-decl.c:3702
+-#, gcc-internal-format
+-msgid "ISO C forbids forward parameter declarations"
+-msgstr "ISO C prohibeix declaracions avançades de paràmetres"
+-
+-#: c-decl.c:3821
+-#, fuzzy, gcc-internal-format
+-msgid "bit-field %qs width not an integer constant"
+-msgstr "l'amplària del camp de bits \"%s\" no és una constant entera"
+-
+-#: c-decl.c:3829
+-#, fuzzy, gcc-internal-format
+-msgid "negative width in bit-field %qs"
+-msgstr "amplària negativa en el camp de bit \"%s\""
+-
+-#: c-decl.c:3834
+-#, fuzzy, gcc-internal-format
+-msgid "zero width for bit-field %qs"
+-msgstr "amplària zero per al camp de bits \"%s\""
+-
+-#: c-decl.c:3844
+-#, fuzzy, gcc-internal-format
+-msgid "bit-field %qs has invalid type"
+-msgstr "el camp de bits \"%s\" té un tipus no vàlid"
+-
+-#: c-decl.c:3854
+-#, fuzzy, gcc-internal-format
+-msgid "type of bit-field %qs is a GCC extension"
+-msgstr "el tipus de camp de bits \"%s\" és una extensió del GCC"
+-
+-#: c-decl.c:3860
+-#, fuzzy, gcc-internal-format
+-msgid "width of %qs exceeds its type"
+-msgstr "l'amplària de \"%s\" excedeix el seu tipus"
+-
+-#: c-decl.c:3873
+-#, fuzzy, gcc-internal-format
+-msgid "%qs is narrower than values of its type"
+-msgstr "\"%s\" és més estret que els valors del seu tipus"
+-
+-#: c-decl.c:3892
+-#, fuzzy, gcc-internal-format
+-msgid "ISO C90 forbids array %qs whose size can%'t be evaluated"
+-msgstr "ISO C90 prohibeix matriu \"%s\" que la seua grandària no pot ser avaluada"
+-
+-#: c-decl.c:3896
+-#, fuzzy, gcc-internal-format
+-msgid "ISO C90 forbids array whose size can%'t be evaluated"
+-msgstr "ISO C90 prohibeix matriu \"%s\" que la seua grandària no pot ser avaluada"
+-
+-#: c-decl.c:3902
+-#, fuzzy, gcc-internal-format
+-msgid "ISO C90 forbids variable length array %qs"
+-msgstr "ISO C90 prohibeix la matriu \"%s\" de grandària variable"
+-
+-#: c-decl.c:3905
+-#, fuzzy, gcc-internal-format
+-msgid "ISO C90 forbids variable length array"
+-msgstr "ISO C++ prohibeix la matriu de grandària variable"
+-
+-#: c-decl.c:3914
+-#, fuzzy, gcc-internal-format
+-msgid "the size of array %qs can%'t be evaluated"
+-msgstr "la grandària del tipus no pot ser avaluat explícitament"
+-
+-#: c-decl.c:3918
+-#, fuzzy, gcc-internal-format
+-msgid "the size of array can %'t be evaluated"
+-msgstr "la grandària del tipus no pot ser avaluat explícitament"
+-
+-#: c-decl.c:3924
+-#, gcc-internal-format
+-msgid "variable length array %qs is used"
+-msgstr ""
+-
+-#: c-decl.c:3928 cp/decl.c:7004
+-#, gcc-internal-format
+-msgid "variable length array is used"
+-msgstr ""
+-
+-#: c-decl.c:4051 c-decl.c:4328
+-#, fuzzy, gcc-internal-format
+-msgid "variably modified %qs at file scope"
+-msgstr "l'argument de patró \"%T\" és un tipus modificat variablement"
+-
+-#: c-decl.c:4069
+-#, fuzzy, gcc-internal-format
+-msgid "type defaults to %<int%> in declaration of %qs"
+-msgstr "el tipus de dada per omissió és \"int\" en la declaració de \"%s\""
+-
+-#: c-decl.c:4097
+-#, fuzzy, gcc-internal-format
+-msgid "duplicate %<const%>"
+-msgstr "\"const\" duplicat"
+-
+-#: c-decl.c:4099
+-#, fuzzy, gcc-internal-format
+-msgid "duplicate %<restrict%>"
+-msgstr "\"restrict\" duplicat"
+-
+-#: c-decl.c:4101
+-#, fuzzy, gcc-internal-format
+-msgid "duplicate %<volatile%>"
+-msgstr "\"volatile\" duplicat"
+-
+-#: c-decl.c:4120
+-#, fuzzy, gcc-internal-format
+-msgid "function definition declared %<auto%>"
+-msgstr "la definició de la funció ho va declarar com \"auto\""
+-
+-#: c-decl.c:4122
+-#, fuzzy, gcc-internal-format
+-msgid "function definition declared %<register%>"
+-msgstr "la definició de la funció ho va declarar com \"register\""
+-
+-#: c-decl.c:4124
+-#, fuzzy, gcc-internal-format
+-msgid "function definition declared %<typedef%>"
+-msgstr "la definició de la funció ho va declarar com \"typedef\""
+-
+-#: c-decl.c:4126
+-#, fuzzy, gcc-internal-format
+-msgid "function definition declared %<__thread%>"
+-msgstr "la definició de la funció ho va declarar com \"__thread\""
+-
+-#: c-decl.c:4142
+-#, fuzzy, gcc-internal-format
+-msgid "storage class specified for structure field %qs"
+-msgstr "es va especificar una classe d'emmagatzematge per al camp de l'estructura \"%s\""
+-
+-#: c-decl.c:4146 cp/decl.c:7874
+-#, fuzzy, gcc-internal-format
+-msgid "storage class specified for parameter %qs"
+-msgstr "es va especificar una classe d'emmagatzematge per al paràmetre \"%s\""
+-
+-#: c-decl.c:4149 cp/decl.c:7876
+-#, gcc-internal-format
+-msgid "storage class specified for typename"
+-msgstr "es va especificar una classe d'emmagatzematge per al nom de tipus"
+-
+-#: c-decl.c:4166 cp/decl.c:7893
+-#, fuzzy, gcc-internal-format
+-msgid "%qs initialized and declared %<extern%>"
+-msgstr "\"%s\" iniciat i declarat com \"extern\""
+-
+-#: c-decl.c:4169 cp/decl.c:7896
+-#, fuzzy, gcc-internal-format
+-msgid "%qs has both %<extern%> and initializer"
+-msgstr "\"%s\" té \"extern\" i assignador de valor inicial al mateix temps"
+-
+-#: c-decl.c:4174
+-#, fuzzy, gcc-internal-format
+-msgid "file-scope declaration of %qs specifies %<auto%>"
+-msgstr "la declaració al nivell del fitxer de \"%s\" especifica \"auto\""
+-
+-#: c-decl.c:4176
+-#, fuzzy, gcc-internal-format
+-msgid "file-scope declaration of %qs specifies %<register%>"
+-msgstr "la declaració al nivell del fitxer de \"%s\" especifica \"auto\""
+-
+-#: c-decl.c:4181 cp/decl.c:7900
+-#, fuzzy, gcc-internal-format
+-msgid "nested function %qs declared %<extern%>"
+-msgstr "la funció niada \"%s\" es va declarar \"extern\""
+-
+-#: c-decl.c:4184 cp/decl.c:7910
+-#, fuzzy, gcc-internal-format
+-msgid "function-scope %qs implicitly auto and declared %<__thread%>"
+-msgstr "l'àmbit de la funció \"%s\" és implícitament acte i declarada \"__thread\""
+-
+-#. Only the innermost declarator (making a parameter be of
+-#. array type which is converted to pointer type)
+-#. may have static or type qualifiers.
+-#: c-decl.c:4231 c-decl.c:4472
+-#, gcc-internal-format
+-msgid "static or type qualifiers in non-parameter array declarator"
+-msgstr "static o qualificador de tipus en un declarador de matriu que no és paràmetre"
+-
+-#: c-decl.c:4278
+-#, fuzzy, gcc-internal-format
+-msgid "declaration of %qs as array of voids"
+-msgstr "declaració de \"%s\" com una matriu de voids"
+-
+-#: c-decl.c:4284
+-#, fuzzy, gcc-internal-format
+-msgid "declaration of %qs as array of functions"
+-msgstr "declaració de \"%s\" com una matriu de funcions"
+-
+-#: c-decl.c:4289
+-#, gcc-internal-format
+-msgid "invalid use of structure with flexible array member"
+-msgstr "ús no vàlid d'estructura amb membres de matriu flexible"
+-
+-#: c-decl.c:4309
+-#, fuzzy, gcc-internal-format
+-msgid "size of array %qs has non-integer type"
+-msgstr "la grandària de la matriu \"%s\" té un tipus no enter"
+-
+-#: c-decl.c:4314
+-#, fuzzy, gcc-internal-format
+-msgid "ISO C forbids zero-size array %qs"
+-msgstr "ISO C prohibeix la matriu \"%s\" de grandària zero"
+-
+-#: c-decl.c:4321
+-#, fuzzy, gcc-internal-format
+-msgid "size of array %qs is negative"
+-msgstr "la grandària de la matriu \"%s\" és negatiu"
+-
+-#: c-decl.c:4375 c-decl.c:4631 cp/decl.c:8375
+-#, fuzzy, gcc-internal-format
+-msgid "size of array %qs is too large"
+-msgstr "la grandària de la matriu \"%s\" és massa gran"
+-
+-#: c-decl.c:4386
+-#, gcc-internal-format
+-msgid "ISO C90 does not support flexible array members"
+-msgstr "ISO C90 no té suport per a membres de matrius flexibles"
+-
+-#. C99 6.7.5.2p4
+-#: c-decl.c:4399
+-#, fuzzy, gcc-internal-format
+-msgid "%<[*]%> not allowed in other than a declaration"
+-msgstr "no es permet l'espai de noms \"%D\" en la declaració d'ús"
+-
+-#: c-decl.c:4422
+-#, gcc-internal-format
+-msgid "array type has incomplete element type"
+-msgstr "el tipus array té tipus d'element incomplet"
+-
+-#: c-decl.c:4504 cp/decl.c:8001
+-#, fuzzy, gcc-internal-format
+-msgid "%qs declared as function returning a function"
+-msgstr "\"%s\" que és declarat com funció retorna una funció"
+-
+-#: c-decl.c:4509 cp/decl.c:8006
+-#, fuzzy, gcc-internal-format
+-msgid "%qs declared as function returning an array"
+-msgstr "\"%s\" que és declarat com funció retorna una matriu"
+-
+-#: c-decl.c:4531
+-#, fuzzy, gcc-internal-format
+-msgid "function definition has qualified void return type"
+-msgstr "definició no vàlida del tipus qualificat \"%T\""
+-
+-#: c-decl.c:4534 cp/decl.c:7990 cp/pt.c:8568
+-#, gcc-internal-format
+-msgid "type qualifiers ignored on function return type"
+-msgstr "s'ignoren els qualificadors de tipus en el tipus de retorn de la funció"
+-
+-#: c-decl.c:4563 c-decl.c:4644 c-decl.c:4732 c-decl.c:4825
+-#, gcc-internal-format
+-msgid "ISO C forbids qualified function types"
+-msgstr "ISO C prohibeix els tipus de funció qualificats"
+-
+-#: c-decl.c:4652
+-#, fuzzy, gcc-internal-format
+-msgid "typedef %q+D declared %<inline%>"
+-msgstr "%Jla variable \"%D\" és declarada com \"inline\""
+-
+-#: c-decl.c:4667
+-#, gcc-internal-format
+-msgid "ISO C forbids const or volatile function types"
+-msgstr "ISO C prohibeix els tipus de funció const o volatile"
+-
+-#. C99 6.7.2.1p8
+-#: c-decl.c:4677
+-#, gcc-internal-format
+-msgid "a member of a structure or union cannot have a variably modified type"
+-msgstr ""
+-
+-#: c-decl.c:4693
+-#, fuzzy, gcc-internal-format
+-msgid "variable or field %qs declared void"
+-msgstr "variable o camp \"%s\" declarat void"
+-
+-#: c-decl.c:4725
+-#, gcc-internal-format
+-msgid "attributes in parameter array declarator ignored"
+-msgstr "atributs en el declarador de paràmetres de matriu ignorats"
+-
+-#: c-decl.c:4760
+-#, fuzzy, gcc-internal-format
+-msgid "parameter %q+D declared %<inline%>"
+-msgstr "el paràmetre \"%D\" es va declarar void"
+-
+-#: c-decl.c:4773
+-#, fuzzy, gcc-internal-format
+-msgid "field %qs declared as a function"
+-msgstr "el camp \"%s\" es declara com una funció"
+-
+-#: c-decl.c:4779
+-#, fuzzy, gcc-internal-format
+-msgid "field %qs has incomplete type"
+-msgstr "el camp \"%s\" té tipus de dada incompleta"
+-
+-#: c-decl.c:4796 c-decl.c:4808 c-decl.c:4812
+-#, fuzzy, gcc-internal-format
+-msgid "invalid storage class for function %qs"
+-msgstr "classe d'emmagatzematge no vàlida per a la funció \"%s\""
+-
+-#: c-decl.c:4831
+-#, fuzzy, gcc-internal-format
+-msgid "%<noreturn%> function returns non-void value"
+-msgstr "la funció \"no return\" retorna un valor que no és \"void\""
+-
+-#: c-decl.c:4867
+-#, fuzzy, gcc-internal-format
+-msgid "cannot inline function %<main%>"
+-msgstr "no es pot fer «inline» la funció \"main\""
+-
+-#: c-decl.c:4910
+-#, gcc-internal-format
+-msgid "variable previously declared %<static%> redeclared %<extern%>"
+-msgstr ""
+-
+-#: c-decl.c:4920
+-#, fuzzy, gcc-internal-format
+-msgid "variable %q+D declared %<inline%>"
+-msgstr "%Jla variable \"%D\" és declarada com \"inline\""
+-
+-#. C99 6.7.5.2p2
+-#: c-decl.c:4951
+-#, gcc-internal-format
+-msgid "object with variably modified type must have no linkage"
+-msgstr ""
+-
+-#: c-decl.c:5020 c-decl.c:6199
+-#, fuzzy, gcc-internal-format
+-msgid "function declaration isn%'t a prototype"
+-msgstr "la declaració de la funció no és un prototip"
+-
+-#: c-decl.c:5028
+-#, gcc-internal-format
+-msgid "parameter names (without types) in function declaration"
+-msgstr "noms de paràmetres (sense tipus) en la declaració de la funció"
+-
+-#: c-decl.c:5061
+-#, fuzzy, gcc-internal-format
+-msgid "parameter %u (%q+D) has incomplete type"
+-msgstr "%Jel paràmetre \"%D\" té un tipus incomplet"
+-
+-#: c-decl.c:5064
+-#, fuzzy, gcc-internal-format
+-msgid "%Jparameter %u has incomplete type"
+-msgstr "%Jel paràmetre \"%D\" té un tipus incomplet"
+-
+-#: c-decl.c:5073
+-#, fuzzy, gcc-internal-format
+-msgid "parameter %u (%q+D) has void type"
+-msgstr "%Jel paràmetre \"%D\" té un tipus incomplet"
+-
+-#: c-decl.c:5076
+-#, fuzzy, gcc-internal-format
+-msgid "%Jparameter %u has void type"
+-msgstr "%Jel paràmetre \"%D\" té un tipus incomplet"
+-
+-#: c-decl.c:5138
+-#, gcc-internal-format
+-msgid "%<void%> as only parameter may not be qualified"
+-msgstr ""
+-
+-#: c-decl.c:5142 c-decl.c:5176
+-#, gcc-internal-format
+-msgid "%<void%> must be the only parameter"
+-msgstr ""
+-
+-#: c-decl.c:5170
+-#, fuzzy, gcc-internal-format
+-msgid "parameter %q+D has just a forward declaration"
+-msgstr "%Jel paràmetre \"%D\" només té una declaració posterior"
+-
+-#. The %s will be one of 'struct', 'union', or 'enum'.
+-#: c-decl.c:5215
+-#, fuzzy, gcc-internal-format
+-msgid "%<%s %E%> declared inside parameter list"
+-msgstr "\"%s %s\" declarat dintre d'una llista de paràmetres"
+-
+-#. The %s will be one of 'struct', 'union', or 'enum'.
+-#: c-decl.c:5219
+-#, gcc-internal-format
+-msgid "anonymous %s declared inside parameter list"
+-msgstr "%s anònim declarat dintre d'una llista de paràmetres"
+-
+-#: c-decl.c:5224
+-#, gcc-internal-format
+-msgid "its scope is only this definition or declaration, which is probably not what you want"
+-msgstr "el seu àmbit és solament aquesta definició o declaració, la qual cosa probablement no sigui el que desitja."
+-
+-#: c-decl.c:5358
+-#, fuzzy, gcc-internal-format
+-msgid "redefinition of %<union %E%>"
+-msgstr "redefinició de \"union %s\""
+-
+-#: c-decl.c:5360
+-#, fuzzy, gcc-internal-format
+-msgid "redefinition of %<struct %E%>"
+-msgstr "redefinició de \"struct %s\""
+-
+-#: c-decl.c:5365
+-#, fuzzy, gcc-internal-format
+-msgid "nested redefinition of %<union %E%>"
+-msgstr "redefinició niada de \"%s\""
+-
+-#: c-decl.c:5367
+-#, fuzzy, gcc-internal-format
+-msgid "nested redefinition of %<struct %E%>"
+-msgstr "redefinició niada de \"%s\""
+-
+-#: c-decl.c:5442 cp/decl.c:3780
+-#, gcc-internal-format
+-msgid "declaration does not declare anything"
+-msgstr "la declaració no declara res"
+-
+-#: c-decl.c:5446
+-#, fuzzy, gcc-internal-format
+-msgid "ISO C doesn%'t support unnamed structs/unions"
+-msgstr "ISO C no té suport per a structs/unions sense nom"
+-
+-#: c-decl.c:5490 c-decl.c:5506
+-#, fuzzy, gcc-internal-format
+-msgid "duplicate member %q+D"
+-msgstr "%Jmembre duplicat \"%D\""
+-
+-#: c-decl.c:5545
+-#, fuzzy, gcc-internal-format
+-msgid "union has no named members"
+-msgstr "membres nomenats"
+-
+-#: c-decl.c:5547
+-#, fuzzy, gcc-internal-format
+-msgid "union has no members"
+-msgstr "agregat anònim sense membres"
+-
+-#: c-decl.c:5552
+-#, fuzzy, gcc-internal-format
+-msgid "struct has no named members"
+-msgstr "membres nomenats"
+-
+-#: c-decl.c:5554
+-#, fuzzy, gcc-internal-format
+-msgid "struct has no members"
+-msgstr "%s no té un membre cridat \"%s\""
+-
+-#: c-decl.c:5616
+-#, gcc-internal-format
+-msgid "%Jflexible array member in union"
+-msgstr "%Jmembre de matriu flexible en el union"
+-
+-#: c-decl.c:5621
+-#, gcc-internal-format
+-msgid "%Jflexible array member not at end of struct"
+-msgstr "%Jel membre de matriu flexible no està al final del struct"
+-
+-#: c-decl.c:5626
+-#, gcc-internal-format
+-msgid "%Jflexible array member in otherwise empty struct"
+-msgstr "%Jel membre de matriu flexible seria d'altra manera un struct buit"
+-
+-#
+-#: c-decl.c:5633
+-#, gcc-internal-format
+-msgid "%Jinvalid use of structure with flexible array member"
+-msgstr "%Jús no vàlid d'estructura amb membres de matriu flexible"
+-
+-#: c-decl.c:5742
+-#, gcc-internal-format
+-msgid "union cannot be made transparent"
+-msgstr "union no es pot fer transparent"
+-
+-#: c-decl.c:5813
+-#, fuzzy, gcc-internal-format
+-msgid "nested redefinition of %<enum %E%>"
+-msgstr "redefinició niada de \"%s\""
+-
+-#. This enum is a named one that has been declared already.
+-#: c-decl.c:5820
+-#, fuzzy, gcc-internal-format
+-msgid "redeclaration of %<enum %E%>"
+-msgstr "redeclaració de \"enum %s\""
+-
+-#: c-decl.c:5883
+-#, gcc-internal-format
+-msgid "enumeration values exceed range of largest integer"
+-msgstr "els valors d'enumeració excedeixen els límits de l'enter més gran"
+-
+-#: c-decl.c:5900
+-#, gcc-internal-format
+-msgid "specified mode too small for enumeral values"
+-msgstr ""
+-
+-#: c-decl.c:5996
+-#, fuzzy, gcc-internal-format
+-msgid "enumerator value for %qE is not an integer constant"
+-msgstr "el valor de enumerator per a \"%s\" no és una constant entera"
+-
+-#: c-decl.c:6013
+-#, gcc-internal-format
+-msgid "overflow in enumeration values"
+-msgstr "desbordament en valors d'enumeració"
+-
+-#: c-decl.c:6018
+-#, fuzzy, gcc-internal-format
+-msgid "ISO C restricts enumerator values to range of %<int%>"
+-msgstr "ISO C restringeix els valors d'enumeració als límits de \"int\""
+-
+-#: c-decl.c:6125
+-#, gcc-internal-format
+-msgid "return type is an incomplete type"
+-msgstr "el tipus de retorn és un tipus incomplet"
+-
+-#: c-decl.c:6133
+-#, fuzzy, gcc-internal-format
+-msgid "return type defaults to %<int%>"
+-msgstr "el tipus de retorn per omissió és \"int\""
+-
+-#: c-decl.c:6206
+-#, fuzzy, gcc-internal-format
+-msgid "no previous prototype for %q+D"
+-msgstr "%Jno hi ha un prototip previ per a \"%D\""
+-
+-#: c-decl.c:6215
+-#, fuzzy, gcc-internal-format
+-msgid "%q+D was used with no prototype before its definition"
+-msgstr "%Jes va usar \"%D\" sense prototip abans de la seva definició"
+-
+-#: c-decl.c:6221 cp/decl.c:11126
+-#, fuzzy, gcc-internal-format
+-msgid "no previous declaration for %q+D"
+-msgstr "no hi ha declaració prèvia per a \"%D\""
+-
+-#: c-decl.c:6231
+-#, fuzzy, gcc-internal-format
+-msgid "%q+D was used with no declaration before its definition"
+-msgstr "%Jes va usar \"%D\" sense declaració abans de la seva definició"
+-
+-#: c-decl.c:6254 c-decl.c:6723
+-#, fuzzy, gcc-internal-format
+-msgid "return type of %q+D is not %<int%>"
+-msgstr "el tipus de retorn de \"%D\" no és \"int\""
+-
+-#: c-decl.c:6259
+-#, fuzzy, gcc-internal-format
+-msgid "%q+D is normally a non-static function"
+-msgstr "%J\"%D\" generalment és una funció «non-static»"
+-
+-#: c-decl.c:6293
+-#, gcc-internal-format
+-msgid "%Jold-style parameter declarations in prototyped function definition"
+-msgstr ""
+-
+-#: c-decl.c:6307
+-#, fuzzy, gcc-internal-format
+-msgid "%Jtraditional C rejects ISO C style function definitions"
+-msgstr "C tradicional rebutja la definició de funcions d'estil ISO·C"
+-
+-#: c-decl.c:6323
+-#, gcc-internal-format
+-msgid "%Jparameter name omitted"
+-msgstr "%Jes va ometre el nom del paràmetre"
+-
+-#: c-decl.c:6357
+-#, fuzzy, gcc-internal-format
+-msgid "%Jold-style function definition"
+-msgstr "%s: no es va convertir la definició de la funció\n"
+-
+-#: c-decl.c:6366
+-#, gcc-internal-format
+-msgid "%Jparameter name missing from parameter list"
+-msgstr "%Jfalta el nom del paràmetre de la llista de paràmetres"
+-
+-#: c-decl.c:6377
+-#, fuzzy, gcc-internal-format
+-msgid "%q+D declared as a non-parameter"
+-msgstr "%J\"%D\" declarat com «non-parameter»"
+-
+-#: c-decl.c:6382
+-#, fuzzy, gcc-internal-format
+-msgid "multiple parameters named %q+D"
+-msgstr "%Jmúltiples paràmetres nomenats \"%D\""
+-
+-#: c-decl.c:6390
+-#, fuzzy, gcc-internal-format
+-msgid "parameter %q+D declared with void type"
+-msgstr "el paràmetre \"%D\" es va declarar void"
+-
+-#: c-decl.c:6407 c-decl.c:6409
+-#, fuzzy, gcc-internal-format
+-msgid "type of %q+D defaults to %<int%>"
+-msgstr "%Jel tipus de \"%D\" és \"int\" per omissió"
+-
+-#: c-decl.c:6428
+-#, fuzzy, gcc-internal-format
+-msgid "parameter %q+D has incomplete type"
+-msgstr "el paràmetre té tipus incomplet"
+-
+-#: c-decl.c:6434
+-#, fuzzy, gcc-internal-format
+-msgid "declaration for parameter %q+D but no such parameter"
+-msgstr "%Jexisteix la declaració per al paràmetre \"%D\" però no hi ha tal paràmetre"
+-
+-#: c-decl.c:6484
+-#, fuzzy, gcc-internal-format
+-msgid "number of arguments doesn%'t match built-in prototype"
+-msgstr "el nombre d'arguments no coincideixen amb el prototip"
+-
+-#: c-decl.c:6488
+-#, fuzzy, gcc-internal-format
+-msgid "number of arguments doesn%'t match prototype"
+-msgstr "el nombre d'arguments no coincideixen amb el prototip"
+-
+-#: c-decl.c:6489 c-decl.c:6529 c-decl.c:6542
+-#, gcc-internal-format
+-msgid "%Hprototype declaration"
+-msgstr "%Hdeclaració de prototip"
+-
+-#: c-decl.c:6523
+-#, fuzzy, gcc-internal-format
+-msgid "promoted argument %qD doesn%'t match built-in prototype"
+-msgstr "l'argument promogut \"%D\" no coincideix amb el prototip"
+-
+-#: c-decl.c:6527
+-#, fuzzy, gcc-internal-format
+-msgid "promoted argument %qD doesn%'t match prototype"
+-msgstr "l'argument promogut \"%D\" no coincideix amb el prototip"
+-
+-#: c-decl.c:6537
+-#, fuzzy, gcc-internal-format
+-msgid "argument %qD doesn%'t match built-in prototype"
+-msgstr "l'argument \"%D\" no coincideix amb el prototip"
+-
+-#: c-decl.c:6541
+-#, fuzzy, gcc-internal-format
+-msgid "argument %qD doesn%'t match prototype"
+-msgstr "l'argument \"%D\" no coincideix amb el prototip"
+-
+-#: c-decl.c:6768 cp/decl.c:11820
+-#, gcc-internal-format
+-msgid "no return statement in function returning non-void"
+-msgstr "no hi ha una declaració de retorn en una funció que retorna \"non-void\""
+-
+-#. If we get here, declarations have been used in a for loop without
+-#. the C99 for loop scope. This doesn't make much sense, so don't
+-#. allow it.
+-#: c-decl.c:6841
+-#, fuzzy, gcc-internal-format
+-msgid "%<for%> loop initial declaration used outside C99 mode"
+-msgstr "es va usar la declaració inicial del cicle \"for\" fora del mode C99"
+-
+-#: c-decl.c:6870
+-#, fuzzy, gcc-internal-format
+-msgid "declaration of static variable %q+D in %<for%> loop initial declaration"
+-msgstr "%Jdeclaració de la variable \"static\" \"%D\" en la declaració inicial del cicle \"for\""
+-
+-#: c-decl.c:6873
+-#, fuzzy, gcc-internal-format
+-msgid "declaration of %<extern%> variable %q+D in %<for%> loop initial declaration"
+-msgstr "%Jdeclaració de la variable \"extern\" \"%D\" en la declaració inicial del cicle \"for\""
+-
+-#: c-decl.c:6878
+-#, fuzzy, gcc-internal-format
+-msgid "%<struct %E%> declared in %<for%> loop initial declaration"
+-msgstr "\"struct %s\" declarat en la declaració inicial del cicle \"for\""
+-
+-#: c-decl.c:6882
+-#, fuzzy, gcc-internal-format
+-msgid "%<union %E%> declared in %<for%> loop initial declaration"
+-msgstr "\"union %s\" declarat en la declaració inicial del cicle \"for\""
+-
+-#: c-decl.c:6886
+-#, fuzzy, gcc-internal-format
+-msgid "%<enum %E%> declared in %<for%> loop initial declaration"
+-msgstr "\"enum %s\" declarat en la declaració inicial del cicle \"for\""
+-
+-#: c-decl.c:6890
+-#, fuzzy, gcc-internal-format
+-msgid "declaration of non-variable %q+D in %<for%> loop initial declaration"
+-msgstr "%Jdeclaració de \"%D\" que és \"non-variable\" en la declaració inicial del cicle \"for\""
+-
+-#: c-decl.c:7178 c-decl.c:7420 c-decl.c:7716
+-#, fuzzy, gcc-internal-format
+-msgid "duplicate %qE"
+-msgstr "\"%s\" duplicat"
+-
+-#: c-decl.c:7201 c-decl.c:7430 c-decl.c:7617
+-#, fuzzy, gcc-internal-format
+-msgid "two or more data types in declaration specifiers"
+-msgstr "dos o més tipus de dades en la declaració de \"%s\""
+-
+-#: c-decl.c:7213 cp/parser.c:2149
+-#, fuzzy, gcc-internal-format
+-msgid "%<long long long%> is too long for GCC"
+-msgstr "\"long long long\" és massa llarg per a GCC"
+-
+-#: c-decl.c:7220 c-decl.c:7520
+-#, gcc-internal-format
+-msgid "both %<long long%> and %<double%> in declaration specifiers"
+-msgstr ""
+-
+-#: c-decl.c:7226
+-#, fuzzy, gcc-internal-format
+-msgid "ISO C90 does not support %<long long%>"
+-msgstr "ISO C90 no dóna suport a \"long long\""
+-
+-#: c-decl.c:7231 c-decl.c:7260
+-#, fuzzy, gcc-internal-format
+-msgid "both %<long%> and %<short%> in declaration specifiers"
+-msgstr "s'especifica long i short al mateix temps per a \"%s\""
+-
+-#: c-decl.c:7234 c-decl.c:7437
+-#, fuzzy, gcc-internal-format
+-msgid "both %<long%> and %<void%> in declaration specifiers"
+-msgstr "s'especifica long i short al mateix temps per a \"%s\""
+-
+-#: c-decl.c:7237 c-decl.c:7459
+-#, fuzzy, gcc-internal-format
+-msgid "both %<long%> and %<_Bool%> in declaration specifiers"
+-msgstr "s'especifica long i short al mateix temps per a \"%s\""
+-
+-#: c-decl.c:7240 c-decl.c:7481
+-#, fuzzy, gcc-internal-format
+-msgid "both %<long%> and %<char%> in declaration specifiers"
+-msgstr "s'especifica long i short al mateix temps per a \"%s\""
+-
+-#: c-decl.c:7243 c-decl.c:7501
+-#, fuzzy, gcc-internal-format
+-msgid "both %<long%> and %<float%> in declaration specifiers"
+-msgstr "s'especifica long i short al mateix temps per a \"%s\""
+-
+-#: c-decl.c:7246
+-#, gcc-internal-format
+-msgid "both %<long%> and %<_Decimal32%> in declaration specifiers"
+-msgstr ""
+-
+-#: c-decl.c:7249
+-#, gcc-internal-format
+-msgid "both %<long%> and %<_Decimal64%> in declaration specifiers"
+-msgstr ""
+-
+-#: c-decl.c:7252
+-#, gcc-internal-format
+-msgid "both %<long%> and %<_Decimal128%> in declaration specifiers"
+-msgstr ""
+-
+-#: c-decl.c:7263 c-decl.c:7440
+-#, gcc-internal-format
+-msgid "both %<short%> and %<void%> in declaration specifiers"
+-msgstr ""
+-
+-#: c-decl.c:7266 c-decl.c:7462
+-#, gcc-internal-format
+-msgid "both %<short%> and %<_Bool%> in declaration specifiers"
+-msgstr ""
+-
+-#: c-decl.c:7269 c-decl.c:7484
+-#, gcc-internal-format
+-msgid "both %<short%> and %<char%> in declaration specifiers"
+-msgstr ""
+-
+-#: c-decl.c:7272 c-decl.c:7504
+-#, gcc-internal-format
+-msgid "both %<short%> and %<float%> in declaration specifiers"
+-msgstr ""
+-
+-#: c-decl.c:7275 c-decl.c:7523
+-#, gcc-internal-format
+-msgid "both %<short%> and %<double%> in declaration specifiers"
+-msgstr ""
+-
+-#: c-decl.c:7278
+-#, gcc-internal-format
+-msgid "both %<short%> and %<_Decimal32%> in declaration specifiers"
+-msgstr ""
+-
+-#: c-decl.c:7281
+-#, gcc-internal-format
+-msgid "both %<short%> and %<_Decimal64%> in declaration specifiers"
+-msgstr ""
+-
+-#: c-decl.c:7284
+-#, gcc-internal-format
+-msgid "both %<short%> and %<_Decimal128%> in declaration specifiers"
+-msgstr ""
+-
+-#: c-decl.c:7292 c-decl.c:7321
+-#, fuzzy, gcc-internal-format
+-msgid "both %<signed%> and %<unsigned%> in declaration specifiers"
+-msgstr "s'especifica signed i unsigned al mateix temps per a \"%s\""
+-
+-#: c-decl.c:7295 c-decl.c:7443
+-#, fuzzy, gcc-internal-format
+-msgid "both %<signed%> and %<void%> in declaration specifiers"
+-msgstr "s'especifica signed i unsigned al mateix temps per a \"%s\""
+-
+-#: c-decl.c:7298 c-decl.c:7465
+-#, fuzzy, gcc-internal-format
+-msgid "both %<signed%> and %<_Bool%> in declaration specifiers"
+-msgstr "s'especifica signed i unsigned al mateix temps per a \"%s\""
+-
+-#: c-decl.c:7301 c-decl.c:7507
+-#, fuzzy, gcc-internal-format
+-msgid "both %<signed%> and %<float%> in declaration specifiers"
+-msgstr "s'especifica signed i unsigned al mateix temps per a \"%s\""
+-
+-#: c-decl.c:7304 c-decl.c:7526
+-#, fuzzy, gcc-internal-format
+-msgid "both %<signed%> and %<double%> in declaration specifiers"
+-msgstr "s'especifica signed i unsigned al mateix temps per a \"%s\""
+-
+-#: c-decl.c:7307
+-#, gcc-internal-format
+-msgid "both %<signed%> and %<_Decimal32%> in declaration specifiers"
+-msgstr ""
+-
+-#: c-decl.c:7310
+-#, gcc-internal-format
+-msgid "both %<signed%> and %<_Decimal64%> in declaration specifiers"
+-msgstr ""
+-
+-#: c-decl.c:7313
+-#, gcc-internal-format
+-msgid "both %<signed%> and %<_Decimal128%> in declaration specifiers"
+-msgstr ""
+-
+-#: c-decl.c:7324 c-decl.c:7446
+-#, fuzzy, gcc-internal-format
+-msgid "both %<unsigned%> and %<void%> in declaration specifiers"
+-msgstr "s'especifica signed i unsigned al mateix temps per a \"%s\""
+-
+-#: c-decl.c:7327 c-decl.c:7468
+-#, fuzzy, gcc-internal-format
+-msgid "both %<unsigned%> and %<_Bool%> in declaration specifiers"
+-msgstr "s'especifica signed i unsigned al mateix temps per a \"%s\""
+-
+-#: c-decl.c:7330 c-decl.c:7510
+-#, fuzzy, gcc-internal-format
+-msgid "both %<unsigned%> and %<float%> in declaration specifiers"
+-msgstr "s'especifica signed i unsigned al mateix temps per a \"%s\""
+-
+-#: c-decl.c:7333 c-decl.c:7529
+-#, fuzzy, gcc-internal-format
+-msgid "both %<unsigned%> and %<double%> in declaration specifiers"
+-msgstr "s'especifica signed i unsigned al mateix temps per a \"%s\""
+-
+-#: c-decl.c:7336
+-#, gcc-internal-format
+-msgid "both %<unsigned%> and %<_Decimal32%> in declaration specifiers"
+-msgstr ""
+-
+-#: c-decl.c:7339
+-#, gcc-internal-format
+-msgid "both %<unsigned%> and %<_Decimal64%> in declaration specifiers"
+-msgstr ""
+-
+-#: c-decl.c:7342
+-#, gcc-internal-format
+-msgid "both %<unsigned%> and %<_Decimal128%> in declaration specifiers"
+-msgstr ""
+-
+-#: c-decl.c:7350
+-#, gcc-internal-format
+-msgid "ISO C90 does not support complex types"
+-msgstr "ISO C90 no té suport per a tipus complexos"
+-
+-#: c-decl.c:7352 c-decl.c:7449
+-#, gcc-internal-format
+-msgid "both %<complex%> and %<void%> in declaration specifiers"
+-msgstr ""
+-
+-#: c-decl.c:7355 c-decl.c:7471
+-#, gcc-internal-format
+-msgid "both %<complex%> and %<_Bool%> in declaration specifiers"
+-msgstr ""
+-
+-#: c-decl.c:7358
+-#, gcc-internal-format
+-msgid "both %<complex%> and %<_Decimal32%> in declaration specifiers"
+-msgstr ""
+-
+-#: c-decl.c:7361
+-#, gcc-internal-format
+-msgid "both %<complex%> and %<_Decimal64%> in declaration specifiers"
+-msgstr ""
+-
+-#: c-decl.c:7364
+-#, gcc-internal-format
+-msgid "both %<complex%> and %<_Decimal128%> in declaration specifiers"
+-msgstr ""
+-
+-#: c-decl.c:7367
+-#, gcc-internal-format
+-msgid "both %<complex%> and %<_Fract%> in declaration specifiers"
+-msgstr ""
+-
+-#: c-decl.c:7370
+-#, gcc-internal-format
+-msgid "both %<complex%> and %<_Accum%> in declaration specifiers"
+-msgstr ""
+-
+-#: c-decl.c:7373
+-#, gcc-internal-format
+-msgid "both %<complex%> and %<_Sat%> in declaration specifiers"
+-msgstr ""
+-
+-#: c-decl.c:7381
+-#, fuzzy, gcc-internal-format
+-msgid "ISO C does not support saturating types"
+-msgstr "ISO C no dóna suport a tipus enters complexos"
+-
+-#: c-decl.c:7383 c-decl.c:7452
+-#, gcc-internal-format
+-msgid "both %<_Sat%> and %<void%> in declaration specifiers"
+-msgstr ""
+-
+-#: c-decl.c:7386 c-decl.c:7474
+-#, gcc-internal-format
+-msgid "both %<_Sat%> and %<_Bool%> in declaration specifiers"
+-msgstr ""
+-
+-#: c-decl.c:7389 c-decl.c:7487
+-#, gcc-internal-format
+-msgid "both %<_Sat%> and %<char%> in declaration specifiers"
+-msgstr ""
+-
+-#: c-decl.c:7392 c-decl.c:7494
+-#, gcc-internal-format
+-msgid "both %<_Sat%> and %<int%> in declaration specifiers"
+-msgstr ""
+-
+-#: c-decl.c:7395 c-decl.c:7513
+-#, gcc-internal-format
+-msgid "both %<_Sat%> and %<float%> in declaration specifiers"
+-msgstr ""
+-
+-#: c-decl.c:7398 c-decl.c:7532
+-#, gcc-internal-format
+-msgid "both %<_Sat%> and %<double%> in declaration specifiers"
+-msgstr ""
+-
+-#: c-decl.c:7401
+-#, gcc-internal-format
+-msgid "both %<_Sat%> and %<_Decimal32%> in declaration specifiers"
+-msgstr ""
+-
+-#: c-decl.c:7404
+-#, gcc-internal-format
+-msgid "both %<_Sat%> and %<_Decimal64%> in declaration specifiers"
+-msgstr ""
+-
+-#: c-decl.c:7407
+-#, gcc-internal-format
+-msgid "both %<_Sat%> and %<_Decimal128%> in declaration specifiers"
+-msgstr ""
+-
+-#: c-decl.c:7410
+-#, gcc-internal-format
+-msgid "both %<_Sat%> and %<complex%> in declaration specifiers"
+-msgstr ""
+-
+-#: c-decl.c:7549
+-#, fuzzy, gcc-internal-format
+-msgid "both %<long long%> and %<%s%> in declaration specifiers"
+-msgstr "s'especifica long i short al mateix temps per a \"%s\""
+-
+-#: c-decl.c:7552
+-#, fuzzy, gcc-internal-format
+-msgid "both %<long%> and %<%s%> in declaration specifiers"
+-msgstr "s'especifica long i short al mateix temps per a \"%s\""
+-
+-#: c-decl.c:7555
+-#, gcc-internal-format
+-msgid "both %<short%> and %<%s%> in declaration specifiers"
+-msgstr ""
+-
+-#: c-decl.c:7558
+-#, fuzzy, gcc-internal-format
+-msgid "both %<signed%> and %<%s%> in declaration specifiers"
+-msgstr "s'especifica signed i unsigned al mateix temps per a \"%s\""
+-
+-#: c-decl.c:7561
+-#, fuzzy, gcc-internal-format
+-msgid "both %<unsigned%> and %<%s%> in declaration specifiers"
+-msgstr "s'especifica signed i unsigned al mateix temps per a \"%s\""
+-
+-#: c-decl.c:7564 c-decl.c:7590
+-#, gcc-internal-format
+-msgid "both %<complex%> and %<%s%> in declaration specifiers"
+-msgstr ""
+-
+-#: c-decl.c:7567
+-#, gcc-internal-format
+-msgid "both %<_Sat%> and %<%s%> in declaration specifiers"
+-msgstr ""
+-
+-#: c-decl.c:7577
+-#, fuzzy, gcc-internal-format
+-msgid "decimal floating point not supported for this target"
+-msgstr "no es dóna suport a -fdata-sections en aquest objectiu"
+-
+-#: c-decl.c:7579
+-#, fuzzy, gcc-internal-format
+-msgid "ISO C does not support decimal floating point"
+-msgstr "ISO C90 no dóna suport a \"long long\""
+-
+-#: c-decl.c:7598
+-#, fuzzy, gcc-internal-format
+-msgid "fixed-point types not supported for this target"
+-msgstr "no es dóna suport a -fdata-sections en aquest objectiu"
+-
+-#: c-decl.c:7600
+-#, fuzzy, gcc-internal-format
+-msgid "ISO C does not support fixed-point types"
+-msgstr "ISO C no dóna suport a tipus enters complexos"
+-
+-#: c-decl.c:7634
+-#, fuzzy, gcc-internal-format
+-msgid "%qE fails to be a typedef or built in type"
+-msgstr "\"%s\" falla al ser un typedef o un tipus intern del compilador"
+-
+-#: c-decl.c:7667
+-#, fuzzy, gcc-internal-format
+-msgid "%qE is not at beginning of declaration"
+-msgstr "\"%s\" no està en l'inici de la declaració"
+-
+-#: c-decl.c:7681
+-#, gcc-internal-format
+-msgid "%<__thread%> used with %<auto%>"
+-msgstr ""
+-
+-#: c-decl.c:7683
+-#, gcc-internal-format
+-msgid "%<__thread%> used with %<register%>"
+-msgstr ""
+-
+-#: c-decl.c:7685
+-#, gcc-internal-format
+-msgid "%<__thread%> used with %<typedef%>"
+-msgstr ""
+-
+-#: c-decl.c:7696
+-#, fuzzy, gcc-internal-format
+-msgid "%<__thread%> before %<extern%>"
+-msgstr "\"__thread\" abans \"extern\""
+-
+-#: c-decl.c:7705
+-#, fuzzy, gcc-internal-format
+-msgid "%<__thread%> before %<static%>"
+-msgstr "\"__thread\" abans \"static\""
+-
+-#: c-decl.c:7721
+-#, fuzzy, gcc-internal-format
+-msgid "multiple storage classes in declaration specifiers"
+-msgstr "múltiples classes d'emmagatzematge en la declaració de \"%s\""
+-
+-#: c-decl.c:7728
+-#, gcc-internal-format
+-msgid "%<__thread%> used with %qE"
+-msgstr ""
+-
+-#: c-decl.c:7775
+-#, gcc-internal-format
+-msgid "%<_Sat%> is used without %<_Fract%> or %<_Accum%>"
+-msgstr ""
+-
+-#: c-decl.c:7787
+-#, fuzzy, gcc-internal-format
+-msgid "ISO C does not support plain %<complex%> meaning %<double complex%>"
+-msgstr "ISO C no té suport per a \"complex\" simples que signifiquen \"double complex\""
+-
+-#: c-decl.c:7832 c-decl.c:7858
+-#, gcc-internal-format
+-msgid "ISO C does not support complex integer types"
+-msgstr "ISO C no dóna suport a tipus enters complexos"
+-
+-#: c-decl.c:8008 toplev.c:847
+-#, fuzzy, gcc-internal-format
+-msgid "%q+F used but never defined"
+-msgstr "\"%s\" utilitzat però mai definit"
+-
+-#: c-format.c:98 c-format.c:207
+-#, gcc-internal-format
+-msgid "format string has invalid operand number"
+-msgstr "la cadena de format té un nombre d'operadors no vàlid"
+-
+-#: c-format.c:115
+-#, gcc-internal-format
+-msgid "function does not return string type"
+-msgstr "la funció no retorna un tipus string"
+-
+-#: c-format.c:144
+-#, fuzzy, gcc-internal-format
+-msgid "format string argument not a string type"
+-msgstr "l'argument de la cadena de format no és del tipus cadena de text"
+-
+-#: c-format.c:187
+-#, gcc-internal-format
+-msgid "unrecognized format specifier"
+-msgstr "no es reconeix l'especificador de format"
+-
+-#: c-format.c:199
+-#, fuzzy, gcc-internal-format
+-msgid "%qE is an unrecognized format function type"
+-msgstr "\"%s\" és un format de tipus de funció no reconegut"
+-
+-#: c-format.c:213
+-#, fuzzy, gcc-internal-format
+-msgid "%<...%> has invalid operand number"
+-msgstr "\"...\" té un nombre d'operadors no vàlid"
+-
+-#: c-format.c:220
+-#, fuzzy, gcc-internal-format
+-msgid "format string argument follows the args to be formatted"
+-msgstr "l'argument de la cadena de format segueix els arguments que rebran format"
+-
+-#: c-format.c:927
+-#, fuzzy, gcc-internal-format
+-msgid "function might be possible candidate for %qs format attribute"
+-msgstr "la funció pot ser un candidat possible per a l'atribut de format \"%s\""
+-
+-#: c-format.c:1019 c-format.c:1040 c-format.c:2058
+-#, gcc-internal-format
+-msgid "missing $ operand number in format"
+-msgstr "falta l'operand numèric $ en el format"
+-
+-#: c-format.c:1049
+-#, gcc-internal-format
+-msgid "%s does not support %%n$ operand number formats"
+-msgstr "%s no té suport per a l'operand amb format de nombre %%n$"
+-
+-#: c-format.c:1056
+-#, gcc-internal-format
+-msgid "operand number out of range in format"
+-msgstr "operand numèric fora de límits en el format"
+-
+-#: c-format.c:1079
+-#, gcc-internal-format
+-msgid "format argument %d used more than once in %s format"
+-msgstr "s'usa més d'una vegada l'argument de format %d en el format %s"
+-
+-#: c-format.c:1111
+-#, fuzzy, gcc-internal-format
+-msgid "$ operand number used after format without operand number"
+-msgstr "el nombre de operades especificats per al format no pren arguments"
+-
+-#: c-format.c:1142
+-#, gcc-internal-format
+-msgid "format argument %d unused before used argument %d in $-style format"
+-msgstr "no s'usa l'argument de format %d abans d'usar l'argument %d en el format $-style"
+-
+-#: c-format.c:1237
+-#, gcc-internal-format
+-msgid "format not a string literal, format string not checked"
+-msgstr "el format no és una cadena literal, no es va revisar la cadena de format"
+-
+-#: c-format.c:1252 c-format.c:1255
+-#, gcc-internal-format
+-msgid "format not a string literal and no format arguments"
+-msgstr "el format no és una cadena literal i no té arguments de format"
+-
+-#: c-format.c:1258
+-#, gcc-internal-format
+-msgid "format not a string literal, argument types not checked"
+-msgstr "el format no és una cadena literal, no es van revisar els tipus d'argument"
+-
+-#: c-format.c:1271
+-#, gcc-internal-format
+-msgid "too many arguments for format"
+-msgstr "massa arguments per al format"
+-
+-#: c-format.c:1274
+-#, gcc-internal-format
+-msgid "unused arguments in $-style format"
+-msgstr "no es van usar arguments en el format d'estil-$"
+-
+-#: c-format.c:1277
+-#, gcc-internal-format
+-msgid "zero-length %s format string"
+-msgstr "cadena de format %s de longitud zero"
+-
+-#: c-format.c:1281
+-#, gcc-internal-format
+-msgid "format is a wide character string"
+-msgstr "el format és una cadena de caràcter ampla"
+-
+-#: c-format.c:1284
+-#, gcc-internal-format
+-msgid "unterminated format string"
+-msgstr "constant de format sense acabar"
+-
+-#: c-format.c:1492
+-#, fuzzy, gcc-internal-format
+-msgid "embedded %<\\0%> in format"
+-msgstr "\"\\0\" incrustat en el format"
+-
+-#: c-format.c:1507
+-#, fuzzy, gcc-internal-format
+-msgid "spurious trailing %<%%%> in format"
+-msgstr "\"%%\" final espuri en el format"
+-
+-#: c-format.c:1551 c-format.c:1821
+-#, gcc-internal-format
+-msgid "repeated %s in format"
+-msgstr "es va repetir %s en el format"
+-
+-#: c-format.c:1564
+-#, gcc-internal-format
+-msgid "missing fill character at end of strfmon format"
+-msgstr "falta el caràcter de farciment al final del format strfmon"
+-
+-#: c-format.c:1608 c-format.c:1710 c-format.c:2005 c-format.c:2070
+-#, gcc-internal-format
+-msgid "too few arguments for format"
+-msgstr "molt pocs arguments per al format"
+-
+-#: c-format.c:1649
+-#, gcc-internal-format
+-msgid "zero width in %s format"
+-msgstr "amplària zero en el format %s"
+-
+-#: c-format.c:1667
+-#, gcc-internal-format
+-msgid "empty left precision in %s format"
+-msgstr "precisió esquerra buida en el format %s"
+-
+-#: c-format.c:1740
+-#, gcc-internal-format
+-msgid "empty precision in %s format"
+-msgstr "precisió buida en el format %s"
+-
+-#: c-format.c:1805
+-#, fuzzy, gcc-internal-format
+-msgid "%s does not support the %qs %s length modifier"
+-msgstr "%s no té suport per al modificador de longitud %s \"%s\""
+-
+-#: c-format.c:1838
+-#, gcc-internal-format
+-msgid "conversion lacks type at end of format"
+-msgstr "la conversió manca de tipus al final del format"
+-
+-#: c-format.c:1849
+-#, fuzzy, gcc-internal-format
+-msgid "unknown conversion type character %qc in format"
+-msgstr "es desconeix el caràcter de tipus de conversió \"%c\" en el format"
+-
+-#: c-format.c:1852
+-#, gcc-internal-format
+-msgid "unknown conversion type character 0x%x in format"
+-msgstr "es desconeix el caràcter de tipus de conversió 0x%x en el format"
+-
+-#: c-format.c:1859
+-#, fuzzy, gcc-internal-format
+-msgid "%s does not support the %<%%%c%> %s format"
+-msgstr "%s no té suport per al format \"%%%s%c\" %s"
+-
+-#: c-format.c:1875
+-#, fuzzy, gcc-internal-format
+-msgid "%s used with %<%%%c%> %s format"
+-msgstr "es va usar %s amb el format \"%%%c\" %s"
+-
+-#: c-format.c:1884
+-#, gcc-internal-format
+-msgid "%s does not support %s"
+-msgstr "%s no té suport per a %s"
+-
+-#: c-format.c:1894
+-#, fuzzy, gcc-internal-format
+-msgid "%s does not support %s with the %<%%%c%> %s format"
+-msgstr "%s no té suport per a %s amb el format \"%%%c\" %s"
+-
+-#: c-format.c:1930
+-#, fuzzy, gcc-internal-format
+-msgid "%s ignored with %s and %<%%%c%> %s format"
+-msgstr "s'ignora %s amb %s i el format \"%%%c\" %s"
+-
+-#: c-format.c:1934
+-#, gcc-internal-format
+-msgid "%s ignored with %s in %s format"
+-msgstr "s'ignora %s amb %s en el format %s"
+-
+-#: c-format.c:1941
+-#, fuzzy, gcc-internal-format
+-msgid "use of %s and %s together with %<%%%c%> %s format"
+-msgstr "ús de %s i %s juntament amb el format \"%%%c\" %s"
+-
+-#: c-format.c:1945
+-#, gcc-internal-format
+-msgid "use of %s and %s together in %s format"
+-msgstr "ús de %s i %s junts en el format %s"
+-
+-#: c-format.c:1964
+-#, fuzzy, gcc-internal-format
+-msgid "%<%%%c%> yields only last 2 digits of year in some locales"
+-msgstr "\"%%%c\" només produeix els dos últims dígits de l'any en alguns llocs"
+-
+-#: c-format.c:1967
+-#, fuzzy, gcc-internal-format
+-msgid "%<%%%c%> yields only last 2 digits of year"
+-msgstr "\"%%%c\" només produeix els dos últims dígits de l'any"
+-
+-#. The end of the format string was reached.
+-#: c-format.c:1984
+-#, fuzzy, gcc-internal-format
+-msgid "no closing %<]%> for %<%%[%> format"
+-msgstr "no hi ha un \"]\" que tancament per al format \"%%[\""
+-
+-#: c-format.c:1998
+-#, fuzzy, gcc-internal-format
+-msgid "use of %qs length modifier with %qc type character"
+-msgstr "ús del modificador de longitud \"%s\" amb el caràcter de tipus \"%c\""
+-
+-#: c-format.c:2020
+-#, fuzzy, gcc-internal-format
+-msgid "%s does not support the %<%%%s%c%> %s format"
+-msgstr "%s no té suport per al format \"%%%s%c\" %s"
+-
+-#: c-format.c:2037
+-#, gcc-internal-format
+-msgid "operand number specified with suppressed assignment"
+-msgstr "nombre d'operadors especificat amb assignació suprimida"
+-
+-#: c-format.c:2040
+-#, gcc-internal-format
+-msgid "operand number specified for format taking no argument"
+-msgstr "el nombre de operades especificats per al format no pren arguments"
+-
+-#: c-format.c:2173
+-#, fuzzy, gcc-internal-format
+-msgid "writing through null pointer (argument %d)"
+-msgstr "escrivint a través d'un punter nul (argument %d)"
+-
+-#: c-format.c:2181
+-#, fuzzy, gcc-internal-format
+-msgid "reading through null pointer (argument %d)"
+-msgstr "llegint a través d'un punter nul (argument %d)"
+-
+-#: c-format.c:2201
+-#, fuzzy, gcc-internal-format
+-msgid "writing into constant object (argument %d)"
+-msgstr "escrivint en un objecte constant (argument %d)"
+-
+-#: c-format.c:2212
+-#, fuzzy, gcc-internal-format
+-msgid "extra type qualifiers in format argument (argument %d)"
+-msgstr "qualificadores de tipus extra en l'argument de format (argument %d)"
+-
+-#: c-format.c:2323
+-#, gcc-internal-format
+-msgid "%s should have type %<%s%s%>, but argument %d has type %qT"
+-msgstr ""
+-
+-#: c-format.c:2327
+-#, gcc-internal-format
+-msgid "format %q.*s expects type %<%s%s%>, but argument %d has type %qT"
+-msgstr ""
+-
+-#: c-format.c:2335
+-#, gcc-internal-format
+-msgid "%s should have type %<%T%s%>, but argument %d has type %qT"
+-msgstr ""
+-
+-#: c-format.c:2339
+-#, gcc-internal-format
+-msgid "format %q.*s expects type %<%T%s%>, but argument %d has type %qT"
+-msgstr ""
+-
+-#: c-format.c:2398 c-format.c:2404 c-format.c:2554
+-#, gcc-internal-format
+-msgid "%<__gcc_host_wide_int__%> is not defined as a type"
+-msgstr ""
+-
+-#: c-format.c:2411 c-format.c:2564
+-#, gcc-internal-format
+-msgid "%<__gcc_host_wide_int__%> is not defined as %<long%> or %<long long%>"
+-msgstr ""
+-
+-#: c-format.c:2460
+-#, fuzzy, gcc-internal-format
+-msgid "%<locus%> is not defined as a type"
+-msgstr "\"%s\" no és definit"
+-
+-#: c-format.c:2513
+-#, gcc-internal-format
+-msgid "%<location_t%> is not defined as a type"
+-msgstr ""
+-
+-#: c-format.c:2530
+-#, fuzzy, gcc-internal-format
+-msgid "%<tree%> is not defined as a type"
+-msgstr "\"%s\" no és definit"
+-
+-#: c-format.c:2535
+-#, fuzzy, gcc-internal-format
+-msgid "%<tree%> is not defined as a pointer type"
+-msgstr "new no pot ser aplicat a un tipus de referència"
+-
+-#: c-format.c:2758
+-#, fuzzy, gcc-internal-format
+-msgid "args to be formatted is not %<...%>"
+-msgstr "els arguments que rebran format no són \"...\""
+-
+-#: c-format.c:2767
+-#, gcc-internal-format
+-msgid "strftime formats cannot format arguments"
+-msgstr "els formats de strftime no poden donar format als arguments"
+-
+-#: c-lex.c:245
+-#, gcc-internal-format
+-msgid "badly nested C headers from preprocessor"
+-msgstr "encapçalats C mal niats del preprocessador"
+-
+-#: c-lex.c:293
+-#, fuzzy, gcc-internal-format
+-msgid "%Hignoring #pragma %s %s"
+-msgstr "ignorant el #pragma %s %s"
+-
+-#. ... or not.
+-#: c-lex.c:419
+-#, fuzzy, gcc-internal-format
+-msgid "%Hstray %<@%> in program"
+-msgstr "%H\"@\" paràsit en el programa"
+-
+-#: c-lex.c:436
+-#, fuzzy, gcc-internal-format
+-msgid "stray %qs in program"
+-msgstr "\"%c\" paràsit en el programa"
+-
+-#: c-lex.c:446
+-#, gcc-internal-format
+-msgid "missing terminating %c character"
+-msgstr "falta caràcter acabant %c"
+-
+-#: c-lex.c:448
+-#, fuzzy, gcc-internal-format
+-msgid "stray %qc in program"
+-msgstr "\"%c\" paràsit en el programa"
+-
+-#: c-lex.c:450
+-#, fuzzy, gcc-internal-format
+-msgid "stray %<\\%o%> in program"
+-msgstr "\"\\%o\" paràsit en el programa"
+-
+-#: c-lex.c:605
+-#, gcc-internal-format
+-msgid "this decimal constant is unsigned only in ISO C90"
+-msgstr "aquesta constant decimal només és unsigned en ISO C90"
+-
+-#: c-lex.c:609
+-#, gcc-internal-format
+-msgid "this decimal constant would be unsigned in ISO C90"
+-msgstr "aquesta constant decimal serà unsigned en ISO C90 "
+-
+-#: c-lex.c:625
+-#, fuzzy, gcc-internal-format
+-msgid "integer constant is too large for %qs type"
+-msgstr "la constant entera és massa gran pel tipus \"%s\""
+-
+-#: c-lex.c:674
+-#, fuzzy, gcc-internal-format
+-msgid "unsupported non-standard suffix on floating constant"
+-msgstr "sufix \"%.*s\" no vàlid en la constant de coma flotant"
+-
+-#: c-lex.c:680
+-#, fuzzy, gcc-internal-format
+-msgid "non-standard suffix on floating constant"
+-msgstr "sufix \"%.*s\" no vàlid en la constant de coma flotant"
+-
+-#: c-lex.c:722 c-lex.c:724
+-#, fuzzy, gcc-internal-format
+-msgid "floating constant exceeds range of %qT"
+-msgstr "la constant de coma flotant excedeix els límits de \"%s\""
+-
+-#: c-lex.c:732
+-#, fuzzy, gcc-internal-format
+-msgid "floating constant truncated to zero"
+-msgstr "constant de coma flotant mal usada"
+-
+-#: c-lex.c:941
+-#, gcc-internal-format
+-msgid "traditional C rejects string constant concatenation"
+-msgstr "C tradicional rebutja la concatenació de cadenes constantes"
+-
+-#: c-omp.c:106
+-#, fuzzy, gcc-internal-format
+-msgid "invalid expression type for %<#pragma omp atomic%>"
+-msgstr "expressió no vàlida com a operand"
+-
+-#: c-omp.c:218
+-#, fuzzy, gcc-internal-format
+-msgid "%Hinvalid type for iteration variable %qE"
+-msgstr "tipus de vector no vàlid per a l'atribut \"%s\""
+-
+-#: c-omp.c:222
+-#, fuzzy, gcc-internal-format
+-msgid "%Hiteration variable %qE is unsigned"
+-msgstr "la variable estàtica \"%s\" està marcada com dllimport"
+-
+-#: c-omp.c:233
+-#, fuzzy, gcc-internal-format
+-msgid "%H%qE is not initialized"
+-msgstr "falta valor inicial"
+-
+-#: c-omp.c:246 cp/semantics.c:3840
+-#, fuzzy, gcc-internal-format
+-msgid "%Hmissing controlling predicate"
+-msgstr "falta \"(\" abans del predicat"
+-
+-#: c-omp.c:304
+-#, fuzzy, gcc-internal-format
+-msgid "%Hinvalid controlling predicate"
+-msgstr "restriccions no vàlides per a l'operand"
+-
+-#: c-omp.c:311 cp/semantics.c:3846
+-#, fuzzy, gcc-internal-format
+-msgid "%Hmissing increment expression"
+-msgstr "\")\" faltant en l'expressió"
+-
+-#: c-omp.c:361
+-#, fuzzy, gcc-internal-format
+-msgid "%Hinvalid increment expression"
+-msgstr "expressió de valor veritable no vàlida"
+-
+-#: c-opts.c:153
+-#, fuzzy, gcc-internal-format
+-msgid "no class name specified with %qs"
+-msgstr "no nom de «class» especificat amb \"%s\""
+-
+-#: c-opts.c:157
+-#, fuzzy, gcc-internal-format
+-msgid "assertion missing after %qs"
+-msgstr "asserció faltant deprés de \"%s\""
+-
+-#: c-opts.c:162
+-#, fuzzy, gcc-internal-format
+-msgid "macro name missing after %qs"
+-msgstr "nom de macro faltant deprés de \"%s\""
+-
+-#: c-opts.c:171
+-#, fuzzy, gcc-internal-format
+-msgid "missing path after %qs"
+-msgstr "falta el camí després de \"%s\""
+-
+-#: c-opts.c:180
+-#, fuzzy, gcc-internal-format
+-msgid "missing filename after %qs"
+-msgstr "nom de fitxer faltant deprés de \"%s\""
+-
+-#: c-opts.c:185
+-#, fuzzy, gcc-internal-format
+-msgid "missing makefile target after %qs"
+-msgstr "falta l'objectiu del «makefile» després de \"%s\""
+-
+-#: c-opts.c:337
+-#, gcc-internal-format
+-msgid "-I- specified twice"
+-msgstr "-I- especificat dues vegades"
+-
+-#: c-opts.c:340
+-#, gcc-internal-format
+-msgid "obsolete option -I- used, please use -iquote instead"
+-msgstr ""
+-
+-#: c-opts.c:508
+-#, fuzzy, gcc-internal-format
+-msgid "argument %qs to %<-Wnormalized%> not recognized"
+-msgstr "no es reconeix el llenguatge %s"
+-
+-#: c-opts.c:595
+-#, fuzzy, gcc-internal-format
+-msgid "switch %qs is no longer supported"
+-msgstr "el «switch» \"%s\" ja no té suport"
+-
+-#: c-opts.c:705
+-#, gcc-internal-format
+-msgid "-fhandle-exceptions has been renamed -fexceptions (and is now on by default)"
+-msgstr "es va re-nomenar \"-fhandle-exceptions\" a \"-fexceptions\" (i ara està activat per defecte)"
+-
+-#: c-opts.c:911
+-#, gcc-internal-format
+-msgid "output filename specified twice"
+-msgstr "nom de fitxer de sortida especificat dues vegades"
+-
+-#: c-opts.c:1051
+-#, fuzzy, gcc-internal-format
+-msgid "-fno-gnu89-inline is only supported in GNU99 or C99 mode"
+-msgstr "-g només té suport quan s'usa GAS en aquest processador,"
+-
+-#: c-opts.c:1126
+-#, gcc-internal-format
+-msgid "-Wformat-y2k ignored without -Wformat"
+-msgstr "s'ignora -Wformat-y2k sense -Wformat"
+-
+-#: c-opts.c:1128
+-#, gcc-internal-format
+-msgid "-Wformat-extra-args ignored without -Wformat"
+-msgstr "s'ignora -Wformat-extra-args sense -Wformat"
+-
+-#: c-opts.c:1130
+-#, gcc-internal-format
+-msgid "-Wformat-zero-length ignored without -Wformat"
+-msgstr "s'ignora -Wformat-zero-length sense -Wformat"
+-
+-#: c-opts.c:1132
+-#, gcc-internal-format
+-msgid "-Wformat-nonliteral ignored without -Wformat"
+-msgstr "s'ignora -Wformat-nonliteral sense -Wformat"
+-
+-#: c-opts.c:1134
+-#, fuzzy, gcc-internal-format
+-msgid "-Wformat-contains-nul ignored without -Wformat"
+-msgstr "s'ignora -Wformat-nonliteral sense -Wformat"
+-
+-#: c-opts.c:1136
+-#, gcc-internal-format
+-msgid "-Wformat-security ignored without -Wformat"
+-msgstr "s'ignora -Wformat-security sense -Wformat"
+-
+-#: c-opts.c:1160
+-#, gcc-internal-format
+-msgid "opening output file %s: %m"
+-msgstr "obrint el fitxer de sortida %s: %m"
+-
+-#: c-opts.c:1165
+-#, gcc-internal-format
+-msgid "too many filenames given. Type %s --help for usage"
+-msgstr "massa noms de fitxers. Teclegi %s --help per a informació d'ùs"
+-
+-#: c-opts.c:1249
+-#, fuzzy, gcc-internal-format
+-msgid "The C parser does not support -dy, option ignored"
+-msgstr "no se suporta el codi APCS que es torna a introduir.Ignorat"
+-
+-#: c-opts.c:1253
+-#, gcc-internal-format
+-msgid "The Objective-C parser does not support -dy, option ignored"
+-msgstr ""
+-
+-#: c-opts.c:1256
+-#, fuzzy, gcc-internal-format
+-msgid "The C++ parser does not support -dy, option ignored"
+-msgstr "no se suporta el codi APCS que es torna a introduir.Ignorat"
+-
+-#: c-opts.c:1260
+-#, gcc-internal-format
+-msgid "The Objective-C++ parser does not support -dy, option ignored"
+-msgstr ""
+-
+-#: c-opts.c:1309
+-#, gcc-internal-format
+-msgid "opening dependency file %s: %m"
+-msgstr "obrint el fitxer de dependències %s: %m"
+-
+-#: c-opts.c:1319
+-#, gcc-internal-format
+-msgid "closing dependency file %s: %m"
+-msgstr "tancant el fitxer de dependències %s: %m"
+-
+-#: c-opts.c:1322
+-#, gcc-internal-format
+-msgid "when writing output to %s: %m"
+-msgstr "escrivint la sortida a %s: %m"
+-
+-#: c-opts.c:1402
+-#, gcc-internal-format
+-msgid "to generate dependencies you must specify either -M or -MM"
+-msgstr "per a generar dependències s'ha d'especificar -M o -MM"
+-
+-#: c-opts.c:1448
+-#, gcc-internal-format
+-msgid "-fdirectives-only is incompatible with -Wunused_macros"
+-msgstr ""
+-
+-#: c-opts.c:1450
+-#, gcc-internal-format
+-msgid "-fdirectives-only is incompatible with -traditional"
+-msgstr ""
+-
+-#: c-opts.c:1588
+-#, gcc-internal-format
+-msgid "too late for # directive to set debug directory"
+-msgstr ""
+-
+-#: c-parser.c:1070
+-#, fuzzy, gcc-internal-format
+-msgid "%HISO C forbids an empty source file"
+-msgstr "ISO C prohibeix un fitxer font buit"
+-
+-#: c-parser.c:1156 c-parser.c:6091
+-#, fuzzy, gcc-internal-format
+-msgid "%HISO C does not allow extra %<;%> outside of a function"
+-msgstr "ISO C no permet \";\" extra fora d'una funció"
+-
+-#: c-parser.c:1259 c-parser.c:6640
+-#, fuzzy, gcc-internal-format
+-msgid "expected declaration specifiers"
+-msgstr "declaració repetida de la unitat \"%s\""
+-
+-#: c-parser.c:1271
+-#, fuzzy, gcc-internal-format
+-msgid "%Hempty declaration"
+-msgstr "declaració buida"
+-
+-#: c-parser.c:1307
+-#, fuzzy, gcc-internal-format
+-msgid "%Hdata definition has no type or storage class"
+-msgstr "la definició de dades no té tipus o classe d'emmagatzematge"
+-
+-#: c-parser.c:1362
+-#, gcc-internal-format
+-msgid "expected %<,%> or %<;%>"
+-msgstr ""
+-
+-#. This can appear in many cases looking nothing like a
+-#. function definition, so we don't give a more specific
+-#. error suggesting there was one.
+-#: c-parser.c:1369 c-parser.c:1386
+-#, gcc-internal-format
+-msgid "expected %<=%>, %<,%>, %<;%>, %<asm%> or %<__attribute__%>"
+-msgstr ""
+-
+-#: c-parser.c:1378
+-#, fuzzy, gcc-internal-format
+-msgid "%HISO C forbids nested functions"
+-msgstr "ISO C prohibeix les funcions niades"
+-
+-#: c-parser.c:1743 c-parser.c:2553 c-parser.c:3189 c-parser.c:3445
+-#: c-parser.c:4308 c-parser.c:4895 c-parser.c:5298 c-parser.c:5318
+-#: c-parser.c:5434 c-parser.c:5582 c-parser.c:5599 c-parser.c:5731
+-#: c-parser.c:5743 c-parser.c:5768 c-parser.c:5903 c-parser.c:5932
+-#: c-parser.c:5940 c-parser.c:5968 c-parser.c:5982 c-parser.c:6201
+-#: c-parser.c:6300 c-parser.c:6803 c-parser.c:7426
+-#, fuzzy, gcc-internal-format
+-msgid "expected identifier"
+-msgstr "operand inesperat"
+-
+-#: c-parser.c:1773
+-#, fuzzy, gcc-internal-format
+-msgid "%Hcomma at end of enumerator list"
+-msgstr "coma al final de la llista de numeradors"
+-
+-#: c-parser.c:1779
+-#, gcc-internal-format
+-msgid "expected %<,%> or %<}%>"
+-msgstr ""
+-
+-#: c-parser.c:1793 c-parser.c:1977 c-parser.c:6058
+-#, gcc-internal-format
+-msgid "expected %<{%>"
+-msgstr ""
+-
+-#: c-parser.c:1804
+-#, fuzzy, gcc-internal-format
+-msgid "%HISO C forbids forward references to %<enum%> types"
+-msgstr "ISO C prohibeix les declaracions posteriors per a tipus \"enum\""
+-
+-#: c-parser.c:1911
+-#, fuzzy, gcc-internal-format
+-msgid "expected class name"
+-msgstr "operand inesperat"
+-
+-#: c-parser.c:1930 c-parser.c:5835
+-#, fuzzy, gcc-internal-format
+-msgid "%Hextra semicolon in struct or union specified"
+-msgstr "es va especificar un punt i coma extra en un struct o union"
+-
+-#: c-parser.c:1959
+-#, fuzzy, gcc-internal-format
+-msgid "%Hno semicolon at end of struct or union"
+-msgstr "no hi ha punt i coma al final del struct o union"
+-
+-#: c-parser.c:1963
+-#, gcc-internal-format
+-msgid "expected %<;%>"
+-msgstr ""
+-
+-#: c-parser.c:2042 c-parser.c:3014
+-#, gcc-internal-format
+-msgid "expected specifier-qualifier-list"
+-msgstr ""
+-
+-#: c-parser.c:2052
+-#, fuzzy, gcc-internal-format
+-msgid "%HISO C forbids member declarations with no members"
+-msgstr "ISO C prohibeix declaracions de membres sense membres"
+-
+-#: c-parser.c:2126
+-#, gcc-internal-format
+-msgid "expected %<,%>, %<;%> or %<}%>"
+-msgstr ""
+-
+-#: c-parser.c:2133
+-#, gcc-internal-format
+-msgid "expected %<:%>, %<,%>, %<;%>, %<}%> or %<__attribute__%>"
+-msgstr ""
+-
+-#: c-parser.c:2184
+-#, fuzzy, gcc-internal-format
+-msgid "%H%<typeof%> applied to a bit-field"
+-msgstr "\"typeof\" aplicat a un camp de bits"
+-
+-#: c-parser.c:2421
+-#, gcc-internal-format
+-msgid "expected identifier or %<(%>"
+-msgstr ""
+-
+-#: c-parser.c:2622
+-#, fuzzy, gcc-internal-format
+-msgid "%HISO C requires a named argument before %<...%>"
+-msgstr "ISO C requereix un argument amb nom abans de \"...\""
+-
+-#: c-parser.c:2729
+-#, fuzzy, gcc-internal-format
+-msgid "expected declaration specifiers or %<...%>"
+-msgstr "la declaració del nivell superior de \"%s\" especifica \"auto\""
+-
+-#: c-parser.c:2779
+-#, gcc-internal-format
+-msgid "%Hwide string literal in %<asm%>"
+-msgstr ""
+-
+-#: c-parser.c:2786 c-parser.c:6695 cp/parser.c:20393
+-#, fuzzy, gcc-internal-format
+-msgid "expected string literal"
+-msgstr "_Pragma duu una cadena literal entre parèntesis"
+-
+-#: c-parser.c:3107
+-#, fuzzy, gcc-internal-format
+-msgid "%HISO C forbids empty initializer braces"
+-msgstr "ISO C prohibeix les claus de iniciador buides"
+-
+-#. Use the colon as the error location.
+-#: c-parser.c:3154
+-#, fuzzy, gcc-internal-format
+-msgid "%Hobsolete use of designated initializer with %<:%>"
+-msgstr "ús obsolet de l'iniciador designat amb \":\""
+-
+-#: c-parser.c:3285
+-#, fuzzy, gcc-internal-format
+-msgid "%HISO C forbids specifying range of elements to initialize"
+-msgstr "ISO C prohibeix l'especificació de límits d'elements a iniciar"
+-
+-#: c-parser.c:3298
+-#, fuzzy, gcc-internal-format
+-msgid "%HISO C90 forbids specifying subobject to initialize"
+-msgstr "ISO C90 prohibeix l'especificació de «subobject» a iniciar"
+-
+-#: c-parser.c:3307
+-#, fuzzy, gcc-internal-format
+-msgid "%Hobsolete use of designated initializer without %<=%>"
+-msgstr "ús obsolet de l'iniciador designat sense \"=\""
+-
+-#: c-parser.c:3316
+-#, gcc-internal-format
+-msgid "expected %<=%>"
+-msgstr ""
+-
+-#: c-parser.c:3461
+-#, fuzzy, gcc-internal-format
+-msgid "%HISO C forbids label declarations"
+-msgstr "ISO C prohibeix les declaracions etiquetades"
+-
+-#: c-parser.c:3466 c-parser.c:3541
+-#, fuzzy, gcc-internal-format
+-msgid "expected declaration or statement"
+-msgstr "declaració repetida de l'autòmat \"%s\""
+-
+-#: c-parser.c:3494 c-parser.c:3522
+-#, fuzzy, gcc-internal-format
+-msgid "%HISO C90 forbids mixed declarations and code"
+-msgstr "ISO C90 prohibeix les declaracions barrejades amb codi"
+-
+-#: c-parser.c:3555
+-#, fuzzy, gcc-internal-format
+-msgid "%Hlabel at end of compound statement"
+-msgstr "etiqueta al final de la declaració composta"
+-
+-#: c-parser.c:3598
+-#, gcc-internal-format
+-msgid "expected %<:%> or %<...%>"
+-msgstr ""
+-
+-#: c-parser.c:3779
+-#, gcc-internal-format
+-msgid "expected identifier or %<*%>"
+-msgstr ""
+-
+-#. Avoid infinite loop in error recovery:
+-#. 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-parser.c:3841
+-#, fuzzy, gcc-internal-format
+-msgid "expected statement"
+-msgstr "operand inesperat"
+-
+-#: c-parser.c:3851
+-#, gcc-internal-format
+-msgid "%Ha label can only be part of a statement and a declaration is not a statement"
+-msgstr ""
+-
+-#: c-parser.c:4036
+-#, fuzzy, gcc-internal-format
+-msgid "%Hsuggest braces around empty body in %<do%> statement"
+-msgstr "%Hcos buit en una declaració «if»"
+-
+-#: c-parser.c:4192
+-#, fuzzy, gcc-internal-format
+-msgid "%H%E qualifier ignored on asm"
+-msgstr "qualificador %s ignorat en asm"
+-
+-#: c-parser.c:4473
+-#, fuzzy, gcc-internal-format
+-msgid "%HISO C forbids omitting the middle term of a ?: expression"
+-msgstr "ISO C prohibeix l'omissió del terme mig d'una expressió ?:"
+-
+-#: c-parser.c:4863
+-#, fuzzy, gcc-internal-format
+-msgid "%Htraditional C rejects the unary plus operator"
+-msgstr "C tradicional rebutja l'operador unari mes"
+-
+-#. C99 6.7.5.2p4
+-#: c-parser.c:4974
+-#, fuzzy, gcc-internal-format
+-msgid "%H%<[*]%> not allowed in other than a declaration"
+-msgstr "no es permet l'espai de noms \"%D\" en la declaració d'ús"
+-
+-#: c-parser.c:4988
+-#, fuzzy, gcc-internal-format
+-msgid "%H%<sizeof%> applied to a bit-field"
+-msgstr "sizeof aplicat a un camp de bits"
+-
+-#: c-parser.c:5132 c-parser.c:5476 c-parser.c:5498
+-#, fuzzy, gcc-internal-format
+-msgid "expected expression"
+-msgstr "expressió d'adreça inesperada"
+-
+-#: c-parser.c:5159
+-#, fuzzy, gcc-internal-format
+-msgid "%Hbraced-group within expression allowed only inside a function"
+-msgstr "un grup de claus dintre d'una expressió només es permet dintre d'una funció"
+-
+-#: c-parser.c:5173
+-#, fuzzy, gcc-internal-format
+-msgid "%HISO C forbids braced-groups within expressions"
+-msgstr "ISO C prohibeix «braced-groups» dintre d'expressions"
+-
+-#: c-parser.c:5358
+-#, fuzzy, gcc-internal-format
+-msgid "%Hfirst argument to %<__builtin_choose_expr%> not a constant"
+-msgstr "el primer argument per a __builtin_choose_expr no és una constant"
+-
+-#: c-parser.c:5527
+-#, gcc-internal-format
+-msgid "%Hcompound literal has variable size"
+-msgstr ""
+-
+-#: c-parser.c:5535
+-#, fuzzy, gcc-internal-format
+-msgid "%HISO C90 forbids compound literals"
+-msgstr "ISO C90 prohibeix els «compound literals»"
+-
+-#: c-parser.c:6053
+-#, fuzzy, gcc-internal-format
+-msgid "%Hextra semicolon in method definition specified"
+-msgstr "es va especificar un punt i coma extra en un struct o union"
+-
+-#: c-parser.c:6600 cp/parser.c:20436
+-#, gcc-internal-format
+-msgid "%<#pragma omp barrier%> may only be used in compound statements"
+-msgstr ""
+-
+-#: c-parser.c:6611 cp/parser.c:20451
+-#, gcc-internal-format
+-msgid "%<#pragma omp flush%> may only be used in compound statements"
+-msgstr ""
+-
+-#: c-parser.c:6623
+-#, gcc-internal-format
+-msgid "%H%<#pragma omp section%> may only be used in %<#pragma omp sections%> construct"
+-msgstr ""
+-
+-#: c-parser.c:6630 cp/parser.c:20426
+-#, gcc-internal-format
+-msgid "%<#pragma GCC pch_preprocess%> must be first"
+-msgstr ""
+-
+-#: c-parser.c:6781 cp/parser.c:19277
+-#, fuzzy, gcc-internal-format
+-msgid "too many %qs clauses"
+-msgstr "massa fitxers d'entrada"
+-
+-#: c-parser.c:6906
+-#, gcc-internal-format
+-msgid "expected %<none%> or %<shared%>"
+-msgstr ""
+-
+-#: c-parser.c:6949
+-#, gcc-internal-format
+-msgid "expected %<(%>"
+-msgstr ""
+-
+-#: c-parser.c:6993 c-parser.c:7170
+-#, fuzzy, gcc-internal-format
+-msgid "expected integer expression"
+-msgstr "expressió d'adreça inesperada"
+-
+-#: c-parser.c:7002
+-#, gcc-internal-format
+-msgid "%H%<num_threads%> value must be positive"
+-msgstr ""
+-
+-#: c-parser.c:7082
+-#, gcc-internal-format
+-msgid "expected %<+%>, %<*%>, %<-%>, %<&%>, %<^%>, %<|%>, %<&&%>, or %<||%>"
+-msgstr ""
+-
+-#: c-parser.c:7165
+-#, gcc-internal-format
+-msgid "%Hschedule %<runtime%> does not take a %<chunk_size%> parameter"
+-msgstr ""
+-
+-#: c-parser.c:7183
+-#, fuzzy, gcc-internal-format
+-msgid "invalid schedule kind"
+-msgstr "rotació de insn no vàlida"
+-
+-#: c-parser.c:7269
+-#, gcc-internal-format
+-msgid "expected %<#pragma omp%> clause"
+-msgstr ""
+-
+-#: c-parser.c:7278
+-#, fuzzy, gcc-internal-format
+-msgid "%H%qs is not valid for %qs"
+-msgstr "%s: no per a %s"
+-
+-#: c-parser.c:7378
+-#, fuzzy, gcc-internal-format
+-msgid "invalid operator for %<#pragma omp atomic%>"
+-msgstr "operand no vàlid per al modificador \"p\""
+-
+-#: c-parser.c:7429 c-parser.c:7449
+-#, gcc-internal-format
+-msgid "expected %<(%> or end of line"
+-msgstr ""
+-
+-#: c-parser.c:7467
+-#, fuzzy, gcc-internal-format
+-msgid "for statement expected"
+-msgstr "%s és més curt de l'esperat"
+-
+-#: c-parser.c:7540 cp/semantics.c:3826 cp/semantics.c:3870
+-#, fuzzy, gcc-internal-format
+-msgid "expected iteration declaration or initialization"
+-msgstr "declaració repetida de l'autòmat \"%s\""
+-
+-#: c-parser.c:7666
+-#, gcc-internal-format
+-msgid "%Hexpected %<#pragma omp section%> or %<}%>"
+-msgstr ""
+-
+-#: c-parser.c:7899 cp/semantics.c:3718
+-#, gcc-internal-format
+-msgid "%qE declared %<threadprivate%> after first use"
+-msgstr ""
+-
+-#: c-parser.c:7901 cp/semantics.c:3720
+-#, gcc-internal-format
+-msgid "automatic variable %qE cannot be %<threadprivate%>"
+-msgstr ""
+-
+-#: c-parser.c:7903 cp/semantics.c:3722
+-#, fuzzy, gcc-internal-format
+-msgid "%<threadprivate%> %qE has incomplete type"
+-msgstr "%Jel paràmetre \"%D\" té un tipus incomplet"
+-
+-#: c-pch.c:132
+-#, fuzzy, gcc-internal-format
+-msgid "can%'t create precompiled header %s: %m"
+-msgstr "no es pot obtenir el directori actual"
+-
+-#: c-pch.c:153
+-#, fuzzy, gcc-internal-format
+-msgid "can%'t write to %s: %m"
+-msgstr "no es pot escriure a %s: %m"
+-
+-#: c-pch.c:159
+-#, fuzzy, gcc-internal-format
+-msgid "%qs is not a valid output file"
+-msgstr "\"%s\" no és un nom de fitxer de sortida vàlid"
+-
+-#: c-pch.c:188 c-pch.c:203 c-pch.c:217
+-#, fuzzy, gcc-internal-format
+-msgid "can%'t write %s: %m"
+-msgstr "no es pot escriure %s: %m"
+-
+-#: c-pch.c:193 c-pch.c:210
+-#, fuzzy, gcc-internal-format
+-msgid "can%'t seek in %s: %m"
+-msgstr "no es pot cercar dintre %s: %m"
+-
+-#: c-pch.c:201 c-pch.c:243 c-pch.c:283 c-pch.c:334
+-#, fuzzy, gcc-internal-format
+-msgid "can%'t read %s: %m"
+-msgstr "no es pot llegir %s: %m"
+-
+-#: c-pch.c:466
+-#, gcc-internal-format
+-msgid "pch_preprocess pragma should only be used with -fpreprocessed"
+-msgstr ""
+-
+-#: c-pch.c:467
+-#, fuzzy, gcc-internal-format
+-msgid "use #include instead"
+-msgstr "#include niat amb massa profunditat"
+-
+-#: c-pch.c:473
+-#, fuzzy, gcc-internal-format
+-msgid "%s: couldn%'t open PCH file: %m"
+-msgstr "no es pot llegir el fitxer PCH: %m"
+-
+-#: c-pch.c:478
+-#, gcc-internal-format
+-msgid "use -Winvalid-pch for more information"
+-msgstr ""
+-
+-#: c-pch.c:479
+-#, gcc-internal-format
+-msgid "%s: PCH file was invalid"
+-msgstr ""
+-
+-#: c-pragma.c:102
+-#, fuzzy, gcc-internal-format
+-msgid "#pragma pack (pop) encountered without matching #pragma pack (push)"
+-msgstr "es va trobar un #pragma pack (pop) sense un #pragma pack (push, <n>) coincident"
+-
+-#: c-pragma.c:115
+-#, fuzzy, gcc-internal-format
+-msgid "#pragma pack(pop, %s) encountered without matching #pragma pack(push, %s)"
+-msgstr "es va trobar un #pragma pack (pop, %s) sense un #pragma pack (push, %s, <n>) coincident"
+-
+-#: c-pragma.c:129
+-#, gcc-internal-format
+-msgid "#pragma pack(push[, id], <n>) is not supported on this target"
+-msgstr "no es dóna suport a #pragma pack(push[, id], <n>) en aquest objectiu"
+-
+-#: c-pragma.c:131
+-#, gcc-internal-format
+-msgid "#pragma pack(pop[, id], <n>) is not supported on this target"
+-msgstr "no es dóna suport a #pragma pack(pop[, id], <n>) en aquest objectiu"
+-
+-#: c-pragma.c:152
+-#, fuzzy, gcc-internal-format
+-msgid "missing %<(%> after %<#pragma pack%> - ignored"
+-msgstr "\"(\" faltant desprès de \"#pragma pack\" - ignorat"
+-
+-#: c-pragma.c:163 c-pragma.c:195
+-#, fuzzy, gcc-internal-format
+-msgid "invalid constant in %<#pragma pack%> - ignored"
+-msgstr "acció \"%s\" desconeguda per a \"#pragma pack\" - ignorat"
+-
+-#: c-pragma.c:167 c-pragma.c:209
+-#, fuzzy, gcc-internal-format
+-msgid "malformed %<#pragma pack%> - ignored"
+-msgstr "\"#pragma pack\" malformat - ignorat"
+-
+-#: c-pragma.c:172
+-#, fuzzy, gcc-internal-format
+-msgid "malformed %<#pragma pack(push[, id][, <n>])%> - ignored"
+-msgstr "\"#pragma pack(push[, id], <n>)\" malformat - ignorat"
+-
+-#: c-pragma.c:174
+-#, fuzzy, gcc-internal-format
+-msgid "malformed %<#pragma pack(pop[, id])%> - ignored"
+-msgstr "\"#pragma pack(pop[, id])\" malformat - ignorat"
+-
+-#: c-pragma.c:183
+-#, fuzzy, gcc-internal-format
+-msgid "unknown action %qs for %<#pragma pack%> - ignored"
+-msgstr "acció \"%s\" desconeguda per a \"#pragma pack\" - ignorat"
+-
+-#: c-pragma.c:212
+-#, fuzzy, gcc-internal-format
+-msgid "junk at end of %<#pragma pack%>"
+-msgstr "escombraries al final de \"#pragma pack\""
+-
+-#: c-pragma.c:215
+-#, gcc-internal-format
+-msgid "#pragma pack has no effect with -fpack-struct - ignored"
+-msgstr ""
+-
+-#: c-pragma.c:235
+-#, gcc-internal-format
+-msgid "alignment must be a small power of two, not %d"
+-msgstr "l'alineació ha de ser una potència petita de dos, no %d"
+-
+-#: c-pragma.c:290
+-#, fuzzy, gcc-internal-format
+-msgid "missing %<(%> after %<#pragma push_macro%> - ignored"
+-msgstr "\"(\" faltant desprès de \"#pragma pack\" - ignorat"
+-
+-#: c-pragma.c:298
+-#, fuzzy, gcc-internal-format
+-msgid "invalid constant in %<#pragma push_macro%> - ignored"
+-msgstr "nom de secció faltant en \"#pragma %s\" - ignorat"
+-
+-#: c-pragma.c:301
+-#, fuzzy, gcc-internal-format
+-msgid "missing %<)%> after %<#pragma push_macro%> - ignored"
+-msgstr "\"(\" faltant desprès de \"#pragma pack\" - ignorat"
+-
+-#: c-pragma.c:304
+-#, fuzzy, gcc-internal-format
+-msgid "junk at end of %<#pragma push_macro%>"
+-msgstr "escombraries al final de #pragma map"
+-
+-#: c-pragma.c:347
+-#, fuzzy, gcc-internal-format
+-msgid "missing %<(%> after %<#pragma pop_macro%> - ignored"
+-msgstr "\"(\" faltant desprès de \"#pragma pack\" - ignorat"
+-
+-#: c-pragma.c:355
+-#, fuzzy, gcc-internal-format
+-msgid "invalid constant in %<#pragma pop_macro%> - ignored"
+-msgstr "nom de secció faltant en \"#pragma %s\" - ignorat"
+-
+-#: c-pragma.c:358
+-#, fuzzy, gcc-internal-format
+-msgid "missing %<)%> after %<#pragma pop_macro%> - ignored"
+-msgstr "\"(\" faltant desprès de \"#pragma pack\" - ignorat"
+-
+-#: c-pragma.c:361
+-#, fuzzy, gcc-internal-format
+-msgid "junk at end of %<#pragma pop_macro%>"
+-msgstr "escombraries al final de #pragma map"
+-
+-#: c-pragma.c:406
+-#, fuzzy, gcc-internal-format
+-msgid "applying #pragma weak %q+D after first use results in unspecified behavior"
+-msgstr "%Jl'aplicació del #pragma weak \"%s\" després del primer ús resulta en conducta no especificada"
+-
+-#: c-pragma.c:480 c-pragma.c:485
+-#, gcc-internal-format
+-msgid "malformed #pragma weak, ignored"
+-msgstr "#pragma weak malformat, ignorat"
+-
+-#: c-pragma.c:489
+-#, fuzzy, gcc-internal-format
+-msgid "junk at end of %<#pragma weak%>"
+-msgstr "escombraries al final de \"#pragma weak\""
+-
+-#: c-pragma.c:557 c-pragma.c:559
+-#, gcc-internal-format
+-msgid "malformed #pragma redefine_extname, ignored"
+-msgstr "#pragma redefine_extname malformat, ignorat"
+-
+-#: c-pragma.c:562
+-#, fuzzy, gcc-internal-format
+-msgid "junk at end of %<#pragma redefine_extname%>"
+-msgstr "escombraries al final de #pragma redefine_extname"
+-
+-#: c-pragma.c:568
+-#, fuzzy, gcc-internal-format
+-msgid "#pragma redefine_extname not supported on this target"
+-msgstr "no es dóna suport a _builtin_eh_return en aquest objectiu"
+-
+-#: c-pragma.c:585 c-pragma.c:672
+-#, fuzzy, gcc-internal-format
+-msgid "#pragma redefine_extname ignored due to conflict with previous rename"
+-msgstr "#pragma redefine_extname té conflictes amb la declaració"
+-
+-#: c-pragma.c:608
+-#, fuzzy, gcc-internal-format
+-msgid "#pragma redefine_extname ignored due to conflict with previous #pragma redefine_extname"
+-msgstr "#pragma redefine_extname té conflictes amb la declaració"
+-
+-#: c-pragma.c:627
+-#, gcc-internal-format
+-msgid "malformed #pragma extern_prefix, ignored"
+-msgstr "#pragma extern_prefix malformat, ignorat"
+-
+-#: c-pragma.c:630
+-#, fuzzy, gcc-internal-format
+-msgid "junk at end of %<#pragma extern_prefix%>"
+-msgstr "escombraries al final de #pragma extern_prefix"
+-
+-#: c-pragma.c:637
+-#, fuzzy, gcc-internal-format
+-msgid "#pragma extern_prefix not supported on this target"
+-msgstr "No es dóna suport a anàlisi de perfil en aquest objectiu."
+-
+-#: c-pragma.c:663
+-#, fuzzy, gcc-internal-format
+-msgid "asm declaration ignored due to conflict with previous rename"
+-msgstr "la declaració asm causa conflictes amb el rename previ"
+-
+-#: c-pragma.c:694
+-#, fuzzy, gcc-internal-format
+-msgid "#pragma redefine_extname ignored due to conflict with __asm__ declaration"
+-msgstr "#pragma redefine_extname té conflictes amb la declaració"
+-
+-#: c-pragma.c:756
+-#, gcc-internal-format
+-msgid "#pragma GCC visibility push() must specify default, internal, hidden or protected"
+-msgstr ""
+-
+-#: c-pragma.c:791
+-#, gcc-internal-format
+-msgid "#pragma GCC visibility must be followed by push or pop"
+-msgstr ""
+-
+-#: c-pragma.c:797
+-#, gcc-internal-format
+-msgid "no matching push for %<#pragma GCC visibility pop%>"
+-msgstr ""
+-
+-#: c-pragma.c:804 c-pragma.c:811
+-#, fuzzy, gcc-internal-format
+-msgid "missing %<(%> after %<#pragma GCC visibility push%> - ignored"
+-msgstr "\"(\" faltant desprès de \"#pragma %s\" - ignorat"
+-
+-#: c-pragma.c:807
+-#, fuzzy, gcc-internal-format
+-msgid "malformed #pragma GCC visibility push"
+-msgstr "secció #pragma builtin malformada"
+-
+-#: c-pragma.c:815
+-#, fuzzy, gcc-internal-format
+-msgid "junk at end of %<#pragma GCC visibility%>"
+-msgstr "escombraries al final de #pragma %s"
+-
+-#: c-pragma.c:831
+-#, fuzzy, gcc-internal-format
+-msgid "#pragma GCC diagnostic not allowed inside functions"
+-msgstr "ISO C no permet \";\" extra fora d'una funció"
+-
+-#: c-pragma.c:837
+-#, gcc-internal-format
+-msgid "missing [error|warning|ignored] after %<#pragma GCC diagnostic%>"
+-msgstr ""
+-
+-#: c-pragma.c:846
+-#, gcc-internal-format
+-msgid "expected [error|warning|ignored] after %<#pragma GCC diagnostic%>"
+-msgstr ""
+-
+-#: c-pragma.c:850
+-#, fuzzy, gcc-internal-format
+-msgid "missing option after %<#pragma GCC diagnostic%> kind"
+-msgstr "\"(\" faltant desprès de \"#pragma %s\" - ignorat"
+-
+-#: c-pragma.c:864
+-#, fuzzy, gcc-internal-format
+-msgid "unknown option after %<#pragma GCC diagnostic%> kind"
+-msgstr "acció \"%s\" desconeguda per a \"#pragma pack\" - ignorat"
+-
+-#: c-typeck.c:174
+-#, fuzzy, gcc-internal-format
+-msgid "%qD has an incomplete type"
+-msgstr "\"%s\" té un tipus incompleta"
+-
+-#: c-typeck.c:195 cp/call.c:2785
+-#, gcc-internal-format
+-msgid "invalid use of void expression"
+-msgstr "ús no vàlid de l'expressió void"
+-
+-#: c-typeck.c:203
+-#, gcc-internal-format
+-msgid "invalid use of flexible array member"
+-msgstr "ús no vàlid de membres de matriu flexible"
+-
+-#: c-typeck.c:209
+-#, gcc-internal-format
+-msgid "invalid use of array with unspecified bounds"
+-msgstr "ús no vàlid de matrius amb límits sense especificar"
+-
+-#: c-typeck.c:217
+-#, fuzzy, gcc-internal-format
+-msgid "invalid use of undefined type %<%s %E%>"
+-msgstr "ús no vàlid del tipus indefinit \"%s %s\""
+-
+-#. If this type has a typedef-name, the TYPE_NAME is a TYPE_DECL.
+-#: c-typeck.c:221
+-#, fuzzy, gcc-internal-format
+-msgid "invalid use of incomplete typedef %qD"
+-msgstr "ús no vàlid del typedef incomplet \"%s\""
+-
+-#: c-typeck.c:474 c-typeck.c:499
+-#, gcc-internal-format
+-msgid "function types not truly compatible in ISO C"
+-msgstr "els tipus de funció no són totalment compatibles en ISO C"
+-
+-#: c-typeck.c:621
+-#, gcc-internal-format
+-msgid "can%'t mix operands of decimal float and vector types"
+-msgstr ""
+-
+-#: c-typeck.c:626
+-#, gcc-internal-format
+-msgid "can%'t mix operands of decimal float and complex types"
+-msgstr ""
+-
+-#: c-typeck.c:631
+-#, gcc-internal-format
+-msgid "can%'t mix operands of decimal float and other float types"
+-msgstr ""
+-
+-#: c-typeck.c:1037
+-#, gcc-internal-format
+-msgid "types are not quite compatible"
+-msgstr "els tipus no són totalment compatibles"
+-
+-#: c-typeck.c:1356
+-#, fuzzy, gcc-internal-format
+-msgid "function return types not compatible due to %<volatile%>"
+-msgstr "el tipus de retorn d'una funció no pot ser una funció"
+-
+-#: c-typeck.c:1515 c-typeck.c:2853
+-#, gcc-internal-format
+-msgid "arithmetic on pointer to an incomplete type"
+-msgstr "aritmètica en punter a un tipus incomplet"
+-
+-#: c-typeck.c:1912
+-#, fuzzy, gcc-internal-format
+-msgid "%qT has no member named %qE"
+-msgstr "\"%D\" no té un membre cridat \"%E\""
+-
+-#: c-typeck.c:1953
+-#, fuzzy, gcc-internal-format
+-msgid "request for member %qE in something not a structure or union"
+-msgstr "petició del membre \"%s\" en alguna cosa que no és estructura o unió"
+-
+-#: c-typeck.c:1997
+-#, gcc-internal-format
+-msgid "dereferencing pointer to incomplete type"
+-msgstr "punter dereferènciat a tipus de dada incompleta"
+-
+-#: c-typeck.c:2001
+-#, fuzzy, gcc-internal-format
+-msgid "dereferencing %<void *%> pointer"
+-msgstr "dereferènciant el punter \"void *\""
+-
+-#: c-typeck.c:2018
+-#, fuzzy, gcc-internal-format
+-msgid "invalid type argument of %qs (have %qT)"
+-msgstr "argument de tipus no vàlid de \"%s\""
+-
+-#: c-typeck.c:2046 cp/typeck.c:2524
+-#, gcc-internal-format
+-msgid "subscripted value is neither array nor pointer"
+-msgstr "el valor indicat pel subindici no és ni matriu ni punter"
+-
+-#: c-typeck.c:2057 cp/typeck.c:2443 cp/typeck.c:2529
+-#, gcc-internal-format
+-msgid "array subscript is not an integer"
+-msgstr "el subindici de la matriu no és un enter"
+-
+-#: c-typeck.c:2063
+-#, fuzzy, gcc-internal-format
+-msgid "subscripted value is pointer to function"
+-msgstr "passant l'argument del punter a la funció"
+-
+-#: c-typeck.c:2110
+-#, fuzzy, gcc-internal-format
+-msgid "ISO C forbids subscripting %<register%> array"
+-msgstr "ISO C prohibeix el subindici d'una matriu \"register\""
+-
+-#: c-typeck.c:2112
+-#, gcc-internal-format
+-msgid "ISO C90 forbids subscripting non-lvalue array"
+-msgstr "ISO C90 prohibeix el subindici d'una matriu non-lvalue"
+-
+-#: c-typeck.c:2228
+-#, gcc-internal-format
+-msgid "%H%qD is static but used in inline function %qD which is not static"
+-msgstr ""
+-
+-#: c-typeck.c:2376
+-#, fuzzy, gcc-internal-format
+-msgid "called object %qE is not a function"
+-msgstr "l'objecte cridat no és una funció"
+-
+-#. This situation leads to run-time undefined behavior. We can't,
+-#. therefore, simply error unless we can prove that all possible
+-#. executions of the program must execute the code.
+-#: c-typeck.c:2404
+-#, gcc-internal-format
+-msgid "function called through a non-compatible type"
+-msgstr ""
+-
+-#: c-typeck.c:2515
+-#, fuzzy, gcc-internal-format
+-msgid "too many arguments to function %qE"
+-msgstr "massa arguments per a la funció"
+-
+-#: c-typeck.c:2536
+-#, gcc-internal-format
+-msgid "type of formal parameter %d is incomplete"
+-msgstr "el tipus de dada del paràmetre formal %d està incomplet"
+-
+-#: c-typeck.c:2549
+-#, fuzzy, gcc-internal-format
+-msgid "passing argument %d of %qE as integer rather than floating due to prototype"
+-msgstr "%s com enter en lloc de coma flotant a causa del prototip"
+-
+-#: c-typeck.c:2554
+-#, fuzzy, gcc-internal-format
+-msgid "passing argument %d of %qE as integer rather than complex due to prototype"
+-msgstr "%s com enter en lloc de complex a causa del prototip"
+-
+-#: c-typeck.c:2559
+-#, fuzzy, gcc-internal-format
+-msgid "passing argument %d of %qE as complex rather than floating due to prototype"
+-msgstr "%s com complex en lloc de coma flotant a causa del prototip"
+-
+-#: c-typeck.c:2564
+-#, fuzzy, gcc-internal-format
+-msgid "passing argument %d of %qE as floating rather than integer due to prototype"
+-msgstr "%s com coma flotant en lloc d'enter a causa del prototip"
+-
+-#: c-typeck.c:2569
+-#, fuzzy, gcc-internal-format
+-msgid "passing argument %d of %qE as complex rather than integer due to prototype"
+-msgstr "%s com complex en lloc d'enter a causa del prototip"
+-
+-#: c-typeck.c:2574
+-#, fuzzy, gcc-internal-format
+-msgid "passing argument %d of %qE as floating rather than complex due to prototype"
+-msgstr "%s com coma flotant en lloc de complex a causa del prototip"
+-
+-#: c-typeck.c:2587
+-#, fuzzy, gcc-internal-format
+-msgid "passing argument %d of %qE as %<float%> rather than %<double%> due to prototype"
+-msgstr "%s com \"float\" en lloc de \"double\" a causa del prototip"
+-
+-#: c-typeck.c:2612
+-#, fuzzy, gcc-internal-format
+-msgid "passing argument %d of %qE as %qT rather than %qT due to prototype"
+-msgstr "%s com enter en lloc de complex a causa del prototip"
+-
+-#: c-typeck.c:2633
+-#, fuzzy, gcc-internal-format
+-msgid "passing argument %d of %qE with different width due to prototype"
+-msgstr "%s amb amplària diferent a causa del prototip"
+-
+-#: c-typeck.c:2656
+-#, fuzzy, gcc-internal-format
+-msgid "passing argument %d of %qE as unsigned due to prototype"
+-msgstr "%s com unsigned a causa del prototip"
+-
+-#: c-typeck.c:2660
+-#, fuzzy, gcc-internal-format
+-msgid "passing argument %d of %qE as signed due to prototype"
+-msgstr "%s com signed a causa del prototip"
+-
+-#: c-typeck.c:2766 c-typeck.c:2770
+-#, fuzzy, gcc-internal-format
+-msgid "comparison with string literal results in unspecified behavior"
+-msgstr "la declaració feble de \"%s\" després del primer ús resulta en una conducta no especificada"
+-
+-#: c-typeck.c:2795
+-#, fuzzy, gcc-internal-format
+-msgid "pointer of type %<void *%> used in subtraction"
+-msgstr "es va usar un punter de tipus \"void *\" en la substracció"
+-
+-#: c-typeck.c:2797
+-#, gcc-internal-format
+-msgid "pointer to a function used in subtraction"
+-msgstr "es va usar un punter a una funció en la substracció"
+-
+-#: c-typeck.c:2908
+-#, gcc-internal-format
+-msgid "wrong type argument to unary plus"
+-msgstr "argument de tipus erroni per a l'increment unari"
+-
+-#: c-typeck.c:2921
+-#, gcc-internal-format
+-msgid "wrong type argument to unary minus"
+-msgstr "argument de tipus erroni per al decrement unari"
+-
+-#: c-typeck.c:2941
+-#, fuzzy, gcc-internal-format
+-msgid "ISO C does not support %<~%> for complex conjugation"
+-msgstr "ISO C no té suport de \"~\" per a conjugacions complexes"
+-
+-#: c-typeck.c:2947
+-#, gcc-internal-format
+-msgid "wrong type argument to bit-complement"
+-msgstr "argument de tipus erroni per a complement de bits"
+-
+-#: c-typeck.c:2955
+-#, gcc-internal-format
+-msgid "wrong type argument to abs"
+-msgstr "argument de tipus erroni per a abs"
+-
+-#: c-typeck.c:2967
+-#, gcc-internal-format
+-msgid "wrong type argument to conjugation"
+-msgstr "argument de tipus erroni per a la conjugació"
+-
+-#: c-typeck.c:2979
+-#, gcc-internal-format
+-msgid "wrong type argument to unary exclamation mark"
+-msgstr "argument de tipus erroni per al signe d'exclamació unari"
+-
+-#: c-typeck.c:3013
+-#, fuzzy, gcc-internal-format
+-msgid "ISO C does not support %<++%> and %<--%> on complex types"
+-msgstr "ISO C no té suport per a \"++\" i \"--\" en tipus complexos"
+-
+-#: c-typeck.c:3032 c-typeck.c:3064
+-#, gcc-internal-format
+-msgid "wrong type argument to increment"
+-msgstr "argument de tipus erroni per a l'increment"
+-
+-#: c-typeck.c:3034 c-typeck.c:3066
+-#, gcc-internal-format
+-msgid "wrong type argument to decrement"
+-msgstr "argument de tipus erroni pel decrement"
+-
+-#: c-typeck.c:3055
+-#, gcc-internal-format
+-msgid "increment of pointer to unknown structure"
+-msgstr "increment de punter a estructura desconeguda"
+-
+-#: c-typeck.c:3057
+-#, gcc-internal-format
+-msgid "decrement of pointer to unknown structure"
+-msgstr "decrement de punter a estructura desconeguda"
+-
+-#: c-typeck.c:3258
+-#, fuzzy, gcc-internal-format
+-msgid "assignment of read-only member %qD"
+-msgstr "%s del membre de només lectura \"%s\""
+-
+-#: c-typeck.c:3259
+-#, fuzzy, gcc-internal-format
+-msgid "increment of read-only member %qD"
+-msgstr "%s del membre de només lectura \"%s\""
+-
+-#: c-typeck.c:3260
+-#, fuzzy, gcc-internal-format
+-msgid "decrement of read-only member %qD"
+-msgstr "%s del membre de només lectura \"%s\""
+-
+-#: c-typeck.c:3261
+-#, gcc-internal-format
+-msgid "read-only member %qD used as %<asm%> output"
+-msgstr ""
+-
+-#: c-typeck.c:3265
+-#, fuzzy, gcc-internal-format
+-msgid "assignment of read-only variable %qD"
+-msgstr "%s de la variable de només lectura \"%s\""
+-
+-#: c-typeck.c:3266
+-#, fuzzy, gcc-internal-format
+-msgid "increment of read-only variable %qD"
+-msgstr "%s de la variable de només lectura \"%s\""
+-
+-#: c-typeck.c:3267
+-#, fuzzy, gcc-internal-format
+-msgid "decrement of read-only variable %qD"
+-msgstr "%s de la variable de només lectura \"%s\""
+-
+-#: c-typeck.c:3268
+-#, gcc-internal-format
+-msgid "read-only variable %qD used as %<asm%> output"
+-msgstr ""
+-
+-#: c-typeck.c:3271
+-#, fuzzy, gcc-internal-format
+-msgid "assignment of read-only location %qE"
+-msgstr "%s de la ubicació de només lectura"
+-
+-#: c-typeck.c:3272
+-#, fuzzy, gcc-internal-format
+-msgid "increment of read-only location %qE"
+-msgstr "%s de la ubicació de només lectura"
+-
+-#: c-typeck.c:3273
+-#, fuzzy, gcc-internal-format
+-msgid "decrement of read-only location %qE"
+-msgstr "%s de la ubicació de només lectura"
+-
+-#: c-typeck.c:3274
+-#, gcc-internal-format
+-msgid "read-only location %qE used as %<asm%> output"
+-msgstr ""
+-
+-#: c-typeck.c:3310
+-#, fuzzy, gcc-internal-format
+-msgid "cannot take address of bit-field %qD"
+-msgstr "no es pot adquirir l'adreça del camp de bits \"%s\""
+-
+-#: c-typeck.c:3338
+-#, fuzzy, gcc-internal-format
+-msgid "global register variable %qD used in nested function"
+-msgstr "es va usar la variable de registre global \"%s\" en funcions niades"
+-
+-#: c-typeck.c:3341
+-#, fuzzy, gcc-internal-format
+-msgid "register variable %qD used in nested function"
+-msgstr "es va usar la va variable \"%s\" en funcions niades"
+-
+-#: c-typeck.c:3346
+-#, fuzzy, gcc-internal-format
+-msgid "address of global register variable %qD requested"
+-msgstr "es va sol·licitar l'adreça de la variable de registre global \"%s\""
+-
+-#: c-typeck.c:3348
+-#, fuzzy, gcc-internal-format
+-msgid "address of register variable %qD requested"
+-msgstr "es va sol·licitar l'adreça de la variable register \"%s\""
+-
+-#: c-typeck.c:3394
+-#, fuzzy, gcc-internal-format
+-msgid "non-lvalue array in conditional expression"
+-msgstr "els tipus de dades no coincideixen en l'expressió condicional"
+-
+-#: c-typeck.c:3442
+-#, gcc-internal-format
+-msgid "signed and unsigned type in conditional expression"
+-msgstr "tipus signed i unsigned en l'expressió condicional"
+-
+-#: c-typeck.c:3449
+-#, gcc-internal-format
+-msgid "ISO C forbids conditional expr with only one void side"
+-msgstr "ISO C prohibeix una expressió condicional amb només un costat void"
+-
+-#: c-typeck.c:3463 c-typeck.c:3471
+-#, fuzzy, gcc-internal-format
+-msgid "ISO C forbids conditional expr between %<void *%> and function pointer"
+-msgstr "ISO C prohibeix expressions condicionals entre \"void *\" i punters de funcions"
+-
+-#: c-typeck.c:3478
+-#, gcc-internal-format
+-msgid "pointer type mismatch in conditional expression"
+-msgstr "els tipus de dades punters no coincideixen en l'expressió condicional"
+-
+-#: c-typeck.c:3485 c-typeck.c:3495
+-#, gcc-internal-format
+-msgid "pointer/integer type mismatch in conditional expression"
+-msgstr "els tipus de dades punters/enters no coincideixen en l'expressió condicional"
+-
+-#: c-typeck.c:3509 tree-cfg.c:3783
+-#, gcc-internal-format
+-msgid "type mismatch in conditional expression"
+-msgstr "els tipus de dades no coincideixen en l'expressió condicional"
+-
+-#: c-typeck.c:3552
+-#, gcc-internal-format
+-msgid "left-hand operand of comma expression has no effect"
+-msgstr "l'operador del costat esquerre de l'expressió coma no té efecte"
+-
+-#: c-typeck.c:3589
+-#, gcc-internal-format
+-msgid "cast specifies array type"
+-msgstr "la conversió especifica el tipus matriu"
+-
+-#: c-typeck.c:3595
+-#, gcc-internal-format
+-msgid "cast specifies function type"
+-msgstr "la conversió especifica el tipus funció"
+-
+-#: c-typeck.c:3612
+-#, gcc-internal-format
+-msgid "ISO C forbids casting nonscalar to the same type"
+-msgstr "ISO C prohibeix la conversió d'un no escalar al mateix tipus"
+-
+-#: c-typeck.c:3629
+-#, gcc-internal-format
+-msgid "ISO C forbids casts to union type"
+-msgstr "ISO C prohibeix la conversió al tipus union"
+-
+-#: c-typeck.c:3637
+-#, gcc-internal-format
+-msgid "cast to union type from type not present in union"
+-msgstr "conversió a tipus union des d'un tipus no presenti en union"
+-
+-#: c-typeck.c:3683
+-#, gcc-internal-format
+-msgid "cast adds new qualifiers to function type"
+-msgstr "la conversió afegeix nous qualificadors del tipus de la funció"
+-
+-#. There are qualifiers present in IN_OTYPE that are not
+-#. present in IN_TYPE.
+-#: c-typeck.c:3688
+-#, gcc-internal-format
+-msgid "cast discards qualifiers from pointer target type"
+-msgstr "la conversió descarta els qualificadors del tipus de la destinació del punter"
+-
+-#: c-typeck.c:3704
+-#, gcc-internal-format
+-msgid "cast increases required alignment of target type"
+-msgstr "la conversió incrementa l'alineació requerida del tipus de la destinació"
+-
+-#: c-typeck.c:3715
+-#, gcc-internal-format
+-msgid "cast from pointer to integer of different size"
+-msgstr "conversió de punter a enter de grandària diferent"
+-
+-#: c-typeck.c:3719
+-#, gcc-internal-format
+-msgid "cast from function call of type %qT to non-matching type %qT"
+-msgstr ""
+-
+-#: c-typeck.c:3727
+-#, gcc-internal-format
+-msgid "cast to pointer from integer of different size"
+-msgstr "conversió a punter des d'un enter de grandària diferent"
+-
+-#: c-typeck.c:3741
+-#, gcc-internal-format
+-msgid "ISO C forbids conversion of function pointer to object pointer type"
+-msgstr "ISO C prohibeix la conversió d'un punter de funció a un tipus punter d'objecte"
+-
+-#: c-typeck.c:3749
+-#, gcc-internal-format
+-msgid "ISO C forbids conversion of object pointer to function pointer type"
+-msgstr "ISO C prohibeix la conversió d'un punter d'objecte a un tipus punter de funció"
+-
+-#: c-typeck.c:4026
+-#, gcc-internal-format
+-msgid "cannot pass rvalue to reference parameter"
+-msgstr "no es pot passar un valor-r a un paràmetre de referència"
+-
+-#: c-typeck.c:4139 c-typeck.c:4306
+-#, fuzzy, gcc-internal-format
+-msgid "passing argument %d of %qE makes qualified function pointer from unqualified"
+-msgstr "%s fa un punter de funció qualificat des d'un no qualificat"
+-
+-#: c-typeck.c:4142 c-typeck.c:4309
+-#, fuzzy, gcc-internal-format
+-msgid "assignment makes qualified function pointer from unqualified"
+-msgstr "%s fa un punter de funció qualificat des d'un no qualificat"
+-
+-#: c-typeck.c:4145 c-typeck.c:4311
+-#, fuzzy, gcc-internal-format
+-msgid "initialization makes qualified function pointer from unqualified"
+-msgstr "%s fa un punter de funció qualificat des d'un no qualificat"
+-
+-#: c-typeck.c:4148 c-typeck.c:4313
+-#, fuzzy, gcc-internal-format
+-msgid "return makes qualified function pointer from unqualified"
+-msgstr "%s fa un punter de funció qualificat des d'un no qualificat"
+-
+-#: c-typeck.c:4152 c-typeck.c:4273
+-#, fuzzy, gcc-internal-format
+-msgid "passing argument %d of %qE discards qualifiers from pointer target type"
+-msgstr "la conversió de \"%T\" a \"%T\" descarta els qualificadors del tipus de la destinació del punter"
+-
+-#: c-typeck.c:4154 c-typeck.c:4275
+-#, fuzzy, gcc-internal-format
+-msgid "assignment discards qualifiers from pointer target type"
+-msgstr "la conversió descarta els qualificadors del tipus de la destinació del punter"
+-
+-#: c-typeck.c:4156 c-typeck.c:4277
+-#, fuzzy, gcc-internal-format
+-msgid "initialization discards qualifiers from pointer target type"
+-msgstr "la conversió descarta els qualificadors del tipus de la destinació del punter"
+-
+-#: c-typeck.c:4158 c-typeck.c:4279
+-#, fuzzy, gcc-internal-format
+-msgid "return discards qualifiers from pointer target type"
+-msgstr "la conversió descarta els qualificadors del tipus de la destinació del punter"
+-
+-#: c-typeck.c:4165
+-#, gcc-internal-format
+-msgid "ISO C prohibits argument conversion to union type"
+-msgstr "ISO C prohibeix la conversió d'arguments a tipus union"
+-
+-#: c-typeck.c:4201
+-#, fuzzy, gcc-internal-format
+-msgid "request for implicit conversion from %qT to %qT not permitted in C++"
+-msgstr "iconv no dóna suport a la conversió de \"%s\" a \"%s\""
+-
+-#: c-typeck.c:4214
+-#, fuzzy, gcc-internal-format
+-msgid "argument %d of %qE might be a candidate for a format attribute"
+-msgstr "la funció pot ser un candidat possible per a l'atribut de format \"%s\""
+-
+-#: c-typeck.c:4220
+-#, fuzzy, gcc-internal-format
+-msgid "assignment left-hand side might be a candidate for a format attribute"
+-msgstr "Avisar per funcions que podrien ser candidates per a atributs de format"
+-
+-#: c-typeck.c:4225
+-#, fuzzy, gcc-internal-format
+-msgid "initialization left-hand side might be a candidate for a format attribute"
+-msgstr "la funció pot ser un candidat possible per a l'atribut de format \"%s\""
+-
+-#: c-typeck.c:4230
+-#, fuzzy, gcc-internal-format
+-msgid "return type might be a candidate for a format attribute"
+-msgstr "la funció pot ser un candidat possible per a l'atribut de format \"%s\""
+-
+-#: c-typeck.c:4253
+-#, fuzzy, gcc-internal-format
+-msgid "ISO C forbids passing argument %d of %qE between function pointer and %<void *%>"
+-msgstr "ISO C prohibeix %s entre punters a funció i \"void *\""
+-
+-#: c-typeck.c:4256
+-#, fuzzy, gcc-internal-format
+-msgid "ISO C forbids assignment between function pointer and %<void *%>"
+-msgstr "ISO C prohibeix %s entre punters a funció i \"void *\""
+-
+-#: c-typeck.c:4258
+-#, fuzzy, gcc-internal-format
+-msgid "ISO C forbids initialization between function pointer and %<void *%>"
+-msgstr "ISO C prohibeix %s entre punters a funció i \"void *\""
+-
+-#: c-typeck.c:4260
+-#, fuzzy, gcc-internal-format
+-msgid "ISO C forbids return between function pointer and %<void *%>"
+-msgstr "ISO C prohibeix %s entre punters a funció i \"void *\""
+-
+-#: c-typeck.c:4289
+-#, fuzzy, gcc-internal-format
+-msgid "pointer targets in passing argument %d of %qE differ in signedness"
+-msgstr "el punter que punta a %s difereix en signe"
+-
+-#: c-typeck.c:4291
+-#, fuzzy, gcc-internal-format
+-msgid "pointer targets in assignment differ in signedness"
+-msgstr "el punter que punta a %s difereix en signe"
+-
+-#: c-typeck.c:4293
+-#, fuzzy, gcc-internal-format
+-msgid "pointer targets in initialization differ in signedness"
+-msgstr "el punter que punta a %s difereix en signe"
+-
+-#: c-typeck.c:4295
+-#, fuzzy, gcc-internal-format
+-msgid "pointer targets in return differ in signedness"
+-msgstr "el punter que punta a %s difereix en signe"
+-
+-#: c-typeck.c:4320
+-#, fuzzy, gcc-internal-format
+-msgid "passing argument %d of %qE from incompatible pointer type"
+-msgstr "%s de tipus de punter incompatible"
+-
+-#: c-typeck.c:4322
+-#, fuzzy, gcc-internal-format
+-msgid "assignment from incompatible pointer type"
+-msgstr "%s de tipus de punter incompatible"
+-
+-#: c-typeck.c:4323
+-#, fuzzy, gcc-internal-format
+-msgid "initialization from incompatible pointer type"
+-msgstr "%s de tipus de punter incompatible"
+-
+-#: c-typeck.c:4325
+-#, fuzzy, gcc-internal-format
+-msgid "return from incompatible pointer type"
+-msgstr "%s de tipus de punter incompatible"
+-
+-#: c-typeck.c:4342
+-#, fuzzy, gcc-internal-format
+-msgid "passing argument %d of %qE makes pointer from integer without a cast"
+-msgstr "%s crea un punter des d'un enter sense una conversió"
+-
+-#: c-typeck.c:4344
+-#, fuzzy, gcc-internal-format
+-msgid "assignment makes pointer from integer without a cast"
+-msgstr "%s crea un punter des d'un enter sense una conversió"
+-
+-#: c-typeck.c:4346
+-#, fuzzy, gcc-internal-format
+-msgid "initialization makes pointer from integer without a cast"
+-msgstr "%s crea un punter des d'un enter sense una conversió"
+-
+-#: c-typeck.c:4348
+-#, fuzzy, gcc-internal-format
+-msgid "return makes pointer from integer without a cast"
+-msgstr "%s crea un punter des d'un enter sense una conversió"
+-
+-#: c-typeck.c:4355
+-#, fuzzy, gcc-internal-format
+-msgid "passing argument %d of %qE makes integer from pointer without a cast"
+-msgstr "%s crea un enter des d'un punter sense una conversió"
+-
+-#: c-typeck.c:4357
+-#, fuzzy, gcc-internal-format
+-msgid "assignment makes integer from pointer without a cast"
+-msgstr "%s crea un enter des d'un punter sense una conversió"
+-
+-#: c-typeck.c:4359
+-#, fuzzy, gcc-internal-format
+-msgid "initialization makes integer from pointer without a cast"
+-msgstr "%s crea un enter des d'un punter sense una conversió"
+-
+-#: c-typeck.c:4361
+-#, fuzzy, gcc-internal-format
+-msgid "return makes integer from pointer without a cast"
+-msgstr "%s crea un enter des d'un punter sense una conversió"
+-
+-#: c-typeck.c:4377
+-#, fuzzy, gcc-internal-format
+-msgid "incompatible types in assignment"
+-msgstr "tipus incompatibles en %s"
+-
+-#: c-typeck.c:4380
+-#, fuzzy, gcc-internal-format
+-msgid "incompatible types in initialization"
+-msgstr "tipus incompatibles en %s"
+-
+-#: c-typeck.c:4383
+-#, fuzzy, gcc-internal-format
+-msgid "incompatible types in return"
+-msgstr "tipus incompatibles en %s"
+-
+-#: c-typeck.c:4439
+-#, gcc-internal-format
+-msgid "traditional C rejects automatic aggregate initialization"
+-msgstr "C tradicional rebutja la iniciació automàtica d'agregats"
+-
+-#: c-typeck.c:4610 c-typeck.c:4625 c-typeck.c:4640
+-#, fuzzy, gcc-internal-format
+-msgid "(near initialization for %qs)"
+-msgstr "(prop de l'assignació de valors inicials per a \"%s\")"
+-
+-#: c-typeck.c:5180 cp/decl.c:4975
+-#, gcc-internal-format
+-msgid "opaque vector types cannot be initialized"
+-msgstr ""
+-
+-#: c-typeck.c:5803
+-#, fuzzy, gcc-internal-format
+-msgid "unknown field %qE specified in initializer"
+-msgstr "camp \"%s\" desconegut especificat en el valor inicial"
+-
+-#: c-typeck.c:6703
+-#, gcc-internal-format
+-msgid "traditional C rejects initialization of unions"
+-msgstr "C tradicional rebutja els valors inicials d'unions"
+-
+-#: c-typeck.c:7011
+-#, fuzzy, gcc-internal-format
+-msgid "jump into statement expression"
+-msgstr "desbordament en la constant implícita"
+-
+-#: c-typeck.c:7017
+-#, fuzzy, gcc-internal-format
+-msgid "jump into scope of identifier with variably modified type"
+-msgstr "l'argument de patró \"%T\" és un tipus modificat variablement"
+-
+-#: c-typeck.c:7054
+-#, fuzzy, gcc-internal-format
+-msgid "ISO C forbids %<goto *expr;%>"
+-msgstr "ISO C prohibeix \"goto *expr;\""
+-
+-#: c-typeck.c:7069 cp/typeck.c:6592
+-#, fuzzy, gcc-internal-format
+-msgid "function declared %<noreturn%> has a %<return%> statement"
+-msgstr "la funció declarada \"noreturn\" té una declaració \"return\""
+-
+-#: c-typeck.c:7077
+-#, fuzzy, gcc-internal-format
+-msgid "%<return%> with no value, in function returning non-void"
+-msgstr "\"return\" sense valors, en una funció que retorna \"non-void\""
+-
+-#: c-typeck.c:7086
+-#, fuzzy, gcc-internal-format
+-msgid "%<return%> with a value, in function returning void"
+-msgstr "\"return\" amb valor, en una funció que retorna \"void\""
+-
+-#: c-typeck.c:7088
+-#, fuzzy, gcc-internal-format
+-msgid "ISO C forbids %<return%> with expression, in function returning void"
+-msgstr "\"return\" amb valor, en una funció que retorna \"void\""
+-
+-#: c-typeck.c:7145
+-#, gcc-internal-format
+-msgid "function returns address of local variable"
+-msgstr "la funció retorna l'adreça d'una variable local"
+-
+-#: c-typeck.c:7217 cp/semantics.c:949
+-#, gcc-internal-format
+-msgid "switch quantity not an integer"
+-msgstr "la quantitat del «switch» no és un enter"
+-
+-#: c-typeck.c:7229
+-#, fuzzy, gcc-internal-format
+-msgid "%<long%> switch expression not converted to %<int%> in ISO C"
+-msgstr "no es converteix l'expressió de «switch» \"long\" a \"int\" en ISO C"
+-
+-#: c-typeck.c:7269
+-#, fuzzy, gcc-internal-format
+-msgid "case label in statement expression not containing enclosing switch statement"
+-msgstr "l'etiqueta «case» no es troba dintre d'una declaració «switch»"
+-
+-#: c-typeck.c:7272
+-#, fuzzy, gcc-internal-format
+-msgid "%<default%> label in statement expression not containing enclosing switch statement"
+-msgstr "l'etiqueta \"default\" no està dintre d'una declaració «switch»"
+-
+-#: c-typeck.c:7278
+-#, gcc-internal-format
+-msgid "case label in scope of identifier with variably modified type not containing enclosing switch statement"
+-msgstr ""
+-
+-#: c-typeck.c:7281
+-#, gcc-internal-format
+-msgid "%<default%> label in scope of identifier with variably modified type not containing enclosing switch statement"
+-msgstr ""
+-
+-#: c-typeck.c:7285 cp/parser.c:6804
+-#, gcc-internal-format
+-msgid "case label not within a switch statement"
+-msgstr "l'etiqueta «case» no es troba dintre d'una declaració «switch»"
+-
+-#: c-typeck.c:7287
+-#, fuzzy, gcc-internal-format
+-msgid "%<default%> label not within a switch statement"
+-msgstr "l'etiqueta \"default\" no està dintre d'una declaració «switch»"
+-
+-#: c-typeck.c:7364
+-#, fuzzy, gcc-internal-format
+-msgid "%Hsuggest explicit braces to avoid ambiguous %<else%>"
+-msgstr "%Hsuggereix parèntesis explícits per evitar \"else\" ambigu"
+-
+-#: c-typeck.c:7475 cp/cp-gimplify.c:97 cp/parser.c:7409
+-#, gcc-internal-format
+-msgid "break statement not within loop or switch"
+-msgstr "la declaració break no està dintre d'un cicle o «switch»"
+-
+-#: c-typeck.c:7477 cp/parser.c:7430
+-#, gcc-internal-format
+-msgid "continue statement not within a loop"
+-msgstr "la declaració continue no està dintre dintre d'un cicle"
+-
+-#: c-typeck.c:7482 cp/parser.c:7420
+-#, fuzzy, gcc-internal-format
+-msgid "break statement used with OpenMP for loop"
+-msgstr "la declaració break no està dintre d'un cicle o «switch»"
+-
+-#: c-typeck.c:7505
+-#, gcc-internal-format
+-msgid "%Hstatement with no effect"
+-msgstr ""
+-
+-#: c-typeck.c:7527
+-#, gcc-internal-format
+-msgid "expression statement has incomplete type"
+-msgstr "la declaració de l'expressió té tipus de dada incompleta"
+-
+-#: c-typeck.c:8082 cp/typeck.c:3259
+-#, gcc-internal-format
+-msgid "right shift count is negative"
+-msgstr "el valor de desplaçament a la dreta és negatiu"
+-
+-#: c-typeck.c:8089 cp/typeck.c:3265
+-#, gcc-internal-format
+-msgid "right shift count >= width of type"
+-msgstr "valor de desplaçament a la dreta >= amplària del tipus"
+-
+-#: c-typeck.c:8111 cp/typeck.c:3284
+-#, gcc-internal-format
+-msgid "left shift count is negative"
+-msgstr "el valor de desplaçament a l'esquerra és negatiu"
+-
+-#: c-typeck.c:8114 cp/typeck.c:3286
+-#, gcc-internal-format
+-msgid "left shift count >= width of type"
+-msgstr "valor de desplaçament a l'esquerra >= amplària del tipus"
+-
+-#: c-typeck.c:8132 cp/typeck.c:3324
+-#, gcc-internal-format
+-msgid "comparing floating point with == or != is unsafe"
+-msgstr "no és segura la comparança de coma flotant amb == o !="
+-
+-#: c-typeck.c:8156 c-typeck.c:8163
+-#, fuzzy, gcc-internal-format
+-msgid "ISO C forbids comparison of %<void *%> with function pointer"
+-msgstr "ISO C prohibeix la comparança de \"void *\" amb un punter de funció"
+-
+-#: c-typeck.c:8169 c-typeck.c:8227
+-#, gcc-internal-format
+-msgid "comparison of distinct pointer types lacks a cast"
+-msgstr "la comparança de diferents tipus de punter manca d'una conversió"
+-
+-#: c-typeck.c:8178 c-typeck.c:8186 cp/typeck.c:3344 cp/typeck.c:3353
+-#, fuzzy, gcc-internal-format
+-msgid "the address of %qD will never be NULL"
+-msgstr "l'adreça de \"%D\", sempre serà \"true\""
+-
+-#: c-typeck.c:8193 c-typeck.c:8198 c-typeck.c:8245 c-typeck.c:8250
+-#, gcc-internal-format
+-msgid "comparison between pointer and integer"
+-msgstr "comparança entre punter i enter"
+-
+-#: c-typeck.c:8219
+-#, gcc-internal-format
+-msgid "comparison of complete and incomplete pointers"
+-msgstr "comparança de punters complets i incomplets"
+-
+-#: c-typeck.c:8222
+-#, gcc-internal-format
+-msgid "ISO C forbids ordered comparisons of pointers to functions"
+-msgstr "ISO C prohibeix la comparança entre punters a funcions"
+-
+-#: c-typeck.c:8234 c-typeck.c:8240
+-#, gcc-internal-format
+-msgid "ordered comparison of pointer with integer zero"
+-msgstr "comparança ordenada de punter amb l'enter zero"
+-
+-#: c-typeck.c:8500
+-#, gcc-internal-format
+-msgid "comparison between signed and unsigned"
+-msgstr "comparança entre signed i unsigned"
+-
+-#: c-typeck.c:8546 cp/typeck.c:3830
+-#, gcc-internal-format
+-msgid "comparison of promoted ~unsigned with constant"
+-msgstr "comparança d'un ~unsigned promogut amb una constant"
+-
+-#: c-typeck.c:8554 cp/typeck.c:3838
+-#, gcc-internal-format
+-msgid "comparison of promoted ~unsigned with unsigned"
+-msgstr "comparança d'un ~unsigned promogut amb unsigned"
+-
+-#: c-typeck.c:8612
+-#, fuzzy, gcc-internal-format
+-msgid "used array that cannot be converted to pointer where scalar is required"
+-msgstr "s'usa un valor de tipus matriu quan es requereix un escalar"
+-
+-#: c-typeck.c:8616
+-#, fuzzy, gcc-internal-format
+-msgid "used struct type value where scalar is required"
+-msgstr "s'usa un valor de tipus struct quan es requereix un escalar"
+-
+-#: c-typeck.c:8620
+-#, fuzzy, gcc-internal-format
+-msgid "used union type value where scalar is required"
+-msgstr "s'usa un valor de tipus union quan es requereix un escalar"
+-
+-#: c-typeck.c:8725 cp/semantics.c:3523
+-#, fuzzy, gcc-internal-format
+-msgid "%qE has invalid type for %<reduction%>"
+-msgstr "tipus de retorn no vàlid per a la funció \"%#D\""
+-
+-#: c-typeck.c:8759 cp/semantics.c:3536
+-#, fuzzy, gcc-internal-format
+-msgid "%qE has invalid type for %<reduction(%s)%>"
+-msgstr "tipus de retorn no vàlid per a la funció \"%#D\""
+-
+-#: c-typeck.c:8775 cp/semantics.c:3546
+-#, gcc-internal-format
+-msgid "%qE must be %<threadprivate%> for %<copyin%>"
+-msgstr ""
+-
+-#: c-typeck.c:8784 cp/semantics.c:3351
+-#, fuzzy, gcc-internal-format
+-msgid "%qE is not a variable in clause %qs"
+-msgstr "\"%s\" no és un nom de fitxer vàlid"
+-
+-#: c-typeck.c:8791 c-typeck.c:8811 c-typeck.c:8831 cp/semantics.c:3377
+-#: cp/semantics.c:3396
+-#, gcc-internal-format
+-msgid "%qE appears more than once in data clauses"
+-msgstr ""
+-
+-#: c-typeck.c:8805 cp/semantics.c:3371
+-#, gcc-internal-format
+-msgid "%qE is not a variable in clause %<firstprivate%>"
+-msgstr ""
+-
+-#: c-typeck.c:8825 cp/semantics.c:3390
+-#, gcc-internal-format
+-msgid "%qE is not a variable in clause %<lastprivate%>"
+-msgstr ""
+-
+-#: c-typeck.c:8883 cp/semantics.c:3587
+-#, gcc-internal-format
+-msgid "%qE is predetermined %qs for %qs"
+-msgstr ""
+-
+-#: calls.c:2032
+-#, gcc-internal-format
+-msgid "function call has aggregate value"
+-msgstr "la crida a la funció té valor agregat"
+-
+-#: cfgexpand.c:1884
+-#, gcc-internal-format
+-msgid "not protecting local variables: variable length buffer"
+-msgstr ""
+-
+-#: cfgexpand.c:1887
+-#, gcc-internal-format
+-msgid "not protecting function: no buffer at least %d bytes long"
+-msgstr ""
+-
+-#: cfghooks.c:97
+-#, gcc-internal-format
+-msgid "bb %d on wrong place"
+-msgstr "bb %d en un lloc equivocat"
+-
+-#: cfghooks.c:103
+-#, gcc-internal-format
+-msgid "prev_bb of %d should be %d, not %d"
+-msgstr "el prev_bb de %d ha de ser %d, no %d"
+-
+-#: cfghooks.c:120
+-#, gcc-internal-format
+-msgid "verify_flow_info: Block %i has loop_father, but there are no loops"
+-msgstr ""
+-
+-#: cfghooks.c:126
+-#, fuzzy, gcc-internal-format
+-msgid "verify_flow_info: Block %i lacks loop_father"
+-msgstr "verify_flow_info: El bloc bàsic %d succ edge està corrupte"
+-
+-#: cfghooks.c:132
+-#, gcc-internal-format
+-msgid "verify_flow_info: Wrong count of block %i %i"
+-msgstr "verify_flow_info: Compte erroni del bloc %i %i"
+-
+-#: cfghooks.c:138
+-#, gcc-internal-format
+-msgid "verify_flow_info: Wrong frequency of block %i %i"
+-msgstr "verify_flow_info: Freqüència errònia del bloc %i %i"
+-
+-#: cfghooks.c:146
+-#, gcc-internal-format
+-msgid "verify_flow_info: Duplicate edge %i->%i"
+-msgstr "verify_flow_info: Vora duplicada %i->%i"
+-
+-#: cfghooks.c:152
+-#, gcc-internal-format
+-msgid "verify_flow_info: Wrong probability of edge %i->%i %i"
+-msgstr "verify_flow_info: Probabilitat errònia de la vora %i->%i %i"
+-
+-#: cfghooks.c:158
+-#, gcc-internal-format
+-msgid "verify_flow_info: Wrong count of edge %i->%i %i"
+-msgstr "verify_flow_info: Compte erroni de la vora %i->%i %i"
+-
+-#: cfghooks.c:170
+-#, gcc-internal-format
+-msgid "verify_flow_info: Basic block %d succ edge is corrupted"
+-msgstr "verify_flow_info: El bloc bàsic %d succ edge està corrupte"
+-
+-#: cfghooks.c:184 cfgrtl.c:1840
+-#, fuzzy, gcc-internal-format
+-msgid "wrong amount of branch edges after unconditional jump %i"
+-msgstr "Quantitat errònia de vores de ramificació després del salt incondicional %i"
+-
+-#: cfghooks.c:192 cfghooks.c:203
+-#, gcc-internal-format
+-msgid "basic block %d pred edge is corrupted"
+-msgstr "el bloc bàsic %d pred edge està corrupte"
+-
+-#: cfghooks.c:204
+-#, fuzzy, gcc-internal-format
+-msgid "its dest_idx should be %d, not %d"
+-msgstr "el prev_bb de %d ha de ser %d, no %d"
+-
+-#: cfghooks.c:233
+-#, gcc-internal-format
+-msgid "basic block %i edge lists are corrupted"
+-msgstr "les llistes de vora del bloc bàsic %i estan corruptes"
+-
+-#: cfghooks.c:246
+-#, gcc-internal-format
+-msgid "verify_flow_info failed"
+-msgstr "verify_flow_info fallat"
+-
+-#: cfghooks.c:307
+-#, fuzzy, gcc-internal-format
+-msgid "%s does not support redirect_edge_and_branch"
+-msgstr "%s no té suport per a l'operand amb format de nombre %%n$"
+-
+-#: cfghooks.c:327
+-#, fuzzy, gcc-internal-format
+-msgid "%s does not support can_remove_branch_p"
+-msgstr "%s no té suport per a %s"
+-
+-#: cfghooks.c:381
+-#, fuzzy, gcc-internal-format
+-msgid "%s does not support redirect_edge_and_branch_force"
+-msgstr "%s no té suport per a l'operand amb format de nombre %%n$"
+-
+-#: cfghooks.c:417
+-#, fuzzy, gcc-internal-format
+-msgid "%s does not support split_block"
+-msgstr "%s no té suport per a %s"
+-
+-#: cfghooks.c:460
+-#, fuzzy, gcc-internal-format
+-msgid "%s does not support move_block_after"
+-msgstr "%s no té suport per a %s"
+-
+-#: cfghooks.c:473
+-#, fuzzy, gcc-internal-format
+-msgid "%s does not support delete_basic_block"
+-msgstr "%s no té suport per a %s"
+-
+-#: cfghooks.c:523
+-#, fuzzy, gcc-internal-format
+-msgid "%s does not support split_edge"
+-msgstr "%s no té suport per a %s"
+-
+-#: cfghooks.c:596
+-#, fuzzy, gcc-internal-format
+-msgid "%s does not support create_basic_block"
+-msgstr "%s no té suport per a %s"
+-
+-#: cfghooks.c:624
+-#, fuzzy, gcc-internal-format
+-msgid "%s does not support can_merge_blocks_p"
+-msgstr "%s no té suport per a %s"
+-
+-#: cfghooks.c:635
+-#, fuzzy, gcc-internal-format
+-msgid "%s does not support predict_edge"
+-msgstr "%s no té suport per a %s"
+-
+-#: cfghooks.c:644
+-#, fuzzy, gcc-internal-format
+-msgid "%s does not support predicted_by_p"
+-msgstr "%s no té suport per a %s"
+-
+-#: cfghooks.c:658
+-#, fuzzy, gcc-internal-format
+-msgid "%s does not support merge_blocks"
+-msgstr "%s no té suport per a %s"
+-
+-#: cfghooks.c:711
+-#, fuzzy, gcc-internal-format
+-msgid "%s does not support make_forwarder_block"
+-msgstr "%s no té suport per a %s"
+-
+-#: cfghooks.c:845
+-#, fuzzy, gcc-internal-format
+-msgid "%s does not support can_duplicate_block_p"
+-msgstr "no es dóna suport a multilib"
+-
+-#: cfghooks.c:867
+-#, fuzzy, gcc-internal-format
+-msgid "%s does not support duplicate_block"
+-msgstr "%s no té suport per a %s"
+-
+-#: cfghooks.c:944
+-#, fuzzy, gcc-internal-format
+-msgid "%s does not support block_ends_with_call_p"
+-msgstr "%s no té suport per a %s"
+-
+-#: cfghooks.c:955
+-#, fuzzy, gcc-internal-format
+-msgid "%s does not support block_ends_with_condjump_p"
+-msgstr "%s no té suport per a %s"
+-
+-#: cfghooks.c:973
+-#, fuzzy, gcc-internal-format
+-msgid "%s does not support flow_call_edges_add"
+-msgstr "%s no té suport per a %s"
+-
+-#: cfgloop.c:1328
+-#, fuzzy, gcc-internal-format
+-msgid "size of loop %d should be %d, not %d"
+-msgstr "La grandària del cicle %d ha de ser %d, no %d."
+-
+-#: cfgloop.c:1342
+-#, fuzzy, gcc-internal-format
+-msgid "bb %d do not belong to loop %d"
+-msgstr "Bb %d no pertany al cicle %d."
+-
+-#: cfgloop.c:1357
+-#, fuzzy, gcc-internal-format
+-msgid "loop %d's header does not have exactly 2 entries"
+-msgstr "L'encapçalat del cicle %d no té exactament 2 entrades."
+-
+-#: cfgloop.c:1364
+-#, fuzzy, gcc-internal-format
+-msgid "loop %d's latch does not have exactly 1 successor"
+-msgstr "El forrellat del cicle %d no té exactament 1 successor."
+-
+-#: cfgloop.c:1369
+-#, fuzzy, gcc-internal-format
+-msgid "loop %d's latch does not have header as successor"
+-msgstr "El forrellat del cicle %d no té un encapçalat com successor."
+-
+-#: cfgloop.c:1374
+-#, fuzzy, gcc-internal-format
+-msgid "loop %d's latch does not belong directly to it"
+-msgstr "El forrellat del cicle %d no pertany directament a ell."
+-
+-#: cfgloop.c:1380
+-#, fuzzy, gcc-internal-format
+-msgid "loop %d's header does not belong directly to it"
+-msgstr "L'encapçalat del cicle %d no pertany directament a ell."
+-
+-#: cfgloop.c:1386
+-#, gcc-internal-format
+-msgid "loop %d's latch is marked as part of irreducible region"
+-msgstr ""
+-
+-#: cfgloop.c:1419
+-#, fuzzy, gcc-internal-format
+-msgid "basic block %d should be marked irreducible"
+-msgstr "el bloc bàsic %d pred edge està corrupte"
+-
+-#: cfgloop.c:1425
+-#, fuzzy, gcc-internal-format
+-msgid "basic block %d should not be marked irreducible"
+-msgstr "les llistes de vora del bloc bàsic %i estan corruptes"
+-
+-#: cfgloop.c:1433
+-#, gcc-internal-format
+-msgid "edge from %d to %d should be marked irreducible"
+-msgstr ""
+-
+-#: cfgloop.c:1440
+-#, gcc-internal-format
+-msgid "edge from %d to %d should not be marked irreducible"
+-msgstr ""
+-
+-#: cfgloop.c:1455
+-#, gcc-internal-format
+-msgid "corrupted head of the exits list of loop %d"
+-msgstr ""
+-
+-#: cfgloop.c:1473
+-#, gcc-internal-format
+-msgid "corrupted exits list of loop %d"
+-msgstr ""
+-
+-#: cfgloop.c:1482
+-#, gcc-internal-format
+-msgid "nonempty exits list of loop %d, but exits are not recorded"
+-msgstr ""
+-
+-#: cfgloop.c:1508
+-#, gcc-internal-format
+-msgid "Exit %d->%d not recorded"
+-msgstr ""
+-
+-#: cfgloop.c:1526
+-#, gcc-internal-format
+-msgid "Wrong list of exited loops for edge %d->%d"
+-msgstr ""
+-
+-#: cfgloop.c:1535
+-#, gcc-internal-format
+-msgid "Too many loop exits recorded"
+-msgstr ""
+-
+-#: cfgloop.c:1546
+-#, gcc-internal-format
+-msgid "%d exits recorded for loop %d (having %d exits)"
+-msgstr ""
+-
+-#: cfgrtl.c:1734
+-#, gcc-internal-format
+-msgid "BB_RTL flag not set for block %d"
+-msgstr ""
+-
+-#: cfgrtl.c:1741
+-#, gcc-internal-format
+-msgid "insn %d basic block pointer is %d, should be %d"
+-msgstr ""
+-
+-#: cfgrtl.c:1752
+-#, gcc-internal-format
+-msgid "insn %d in header of bb %d has non-NULL basic block"
+-msgstr ""
+-
+-#: cfgrtl.c:1760
+-#, gcc-internal-format
+-msgid "insn %d in footer of bb %d has non-NULL basic block"
+-msgstr ""
+-
+-#: cfgrtl.c:1782
+-#, gcc-internal-format
+-msgid "verify_flow_info: REG_BR_PROB does not match cfg %wi %i"
+-msgstr "verify_flow_info: REG_BR_PROB no coincideix amb la configuració %wi %i"
+-
+-#: cfgrtl.c:1797
+-#, gcc-internal-format
+-msgid "fallthru edge crosses section boundary (bb %i)"
+-msgstr ""
+-
+-#: cfgrtl.c:1822
+-#, fuzzy, gcc-internal-format
+-msgid "missing REG_EH_REGION note in the end of bb %i"
+-msgstr "Manca la nota REG_EH_REGION al final de bb %i"
+-
+-#: cfgrtl.c:1830
+-#, fuzzy, gcc-internal-format
+-msgid "too many outgoing branch edges from bb %i"
+-msgstr "Massa vores de ramificació de sortida de bb %i"
+-
+-#: cfgrtl.c:1835
+-#, fuzzy, gcc-internal-format
+-msgid "fallthru edge after unconditional jump %i"
+-msgstr "Vora de caiguda després del salt incondicional %i"
+-
+-#: cfgrtl.c:1846
+-#, fuzzy, gcc-internal-format
+-msgid "wrong amount of branch edges after conditional jump %i"
+-msgstr "Quantitat errònia de vores de ramificació després del salt condicional %i"
+-
+-#: cfgrtl.c:1852
+-#, fuzzy, gcc-internal-format
+-msgid "call edges for non-call insn in bb %i"
+-msgstr "Bords de cridada per a una insn que no és cridada en bb %i"
+-
+-#: cfgrtl.c:1861
+-#, fuzzy, gcc-internal-format
+-msgid "abnormal edges for no purpose in bb %i"
+-msgstr "Vores anormals sense cap propòsit en bb %i"
+-
+-#: cfgrtl.c:1873
+-#, gcc-internal-format
+-msgid "insn %d inside basic block %d but block_for_insn is NULL"
+-msgstr "insn %d està dintre del bloc bàsic %d però block_for_insn és NULL"
+-
+-#: cfgrtl.c:1877
+-#, gcc-internal-format
+-msgid "insn %d inside basic block %d but block_for_insn is %i"
+-msgstr "insn %d està dintre del bloc bàsic %d però block_for_insn és %i"
+-
+-#: cfgrtl.c:1891 cfgrtl.c:1901
+-#, gcc-internal-format
+-msgid "NOTE_INSN_BASIC_BLOCK is missing for block %d"
+-msgstr "NOTE_INSN_BASIC_BLOCK mancada per al bloc %d"
+-
+-#: cfgrtl.c:1914
+-#, gcc-internal-format
+-msgid "NOTE_INSN_BASIC_BLOCK %d in middle of basic block %d"
+-msgstr "NOTE_INSN_BASIC_BLOCK %d en el mitjà del bloc bàsic %d"
+-
+-#: cfgrtl.c:1924
+-#, gcc-internal-format
+-msgid "in basic block %d:"
+-msgstr "en el bloc bàsic %d:"
+-
+-#: cfgrtl.c:1977 cfgrtl.c:2067
+-#, fuzzy, gcc-internal-format
+-msgid "insn %d outside of basic blocks has non-NULL bb field"
+-msgstr "insn fora del bloc bàsic"
+-
+-#: cfgrtl.c:1985
+-#, gcc-internal-format
+-msgid "end insn %d for block %d not found in the insn stream"
+-msgstr "el insn final %d per al bloc %d no es troba en el fluix insn"
+-
+-#: cfgrtl.c:1998
+-#, gcc-internal-format
+-msgid "insn %d is in multiple basic blocks (%d and %d)"
+-msgstr "insn %d està en múltiples blocs bàsics (%d i %d)"
+-
+-#: cfgrtl.c:2010
+-#, gcc-internal-format
+-msgid "head insn %d for block %d not found in the insn stream"
+-msgstr "el cap insn %d per al bloc %d no es troba en el fluix insn"
+-
+-#: cfgrtl.c:2030
+-#, gcc-internal-format
+-msgid "missing barrier after block %i"
+-msgstr "falta una barrera després del bloc %i"
+-
+-#: cfgrtl.c:2043
+-#, gcc-internal-format
+-msgid "verify_flow_info: Incorrect blocks for fallthru %i->%i"
+-msgstr "verify_flow_info: Blocs incorrectes per al respatller %i->%i"
+-
+-#: cfgrtl.c:2052
+-#, gcc-internal-format
+-msgid "verify_flow_info: Incorrect fallthru %i->%i"
+-msgstr "verify_flow_info: Respatller incorrecte %i->%i"
+-
+-#: cfgrtl.c:2085
+-#, gcc-internal-format
+-msgid "basic blocks not laid down consecutively"
+-msgstr "els blocs bàsics no estan col·locats consecutivament"
+-
+-#: cfgrtl.c:2124
+-#, gcc-internal-format
+-msgid "number of bb notes in insn chain (%d) != n_basic_blocks (%d)"
+-msgstr "el nombre de notes bb en la cadena insn (%d) != n_basic_blocks (%d)"
+-
+-#: cgraph.c:794
+-#, gcc-internal-format
+-msgid "%D renamed after being referenced in assembly"
+-msgstr ""
+-
+-#: cgraphunit.c:670
+-#, gcc-internal-format
+-msgid "aux field set for edge %s->%s"
+-msgstr ""
+-
+-#: cgraphunit.c:676
+-#, fuzzy, gcc-internal-format
+-msgid "Execution count is negative"
+-msgstr "el valor de desplaçament a l'esquerra és negatiu"
+-
+-#: cgraphunit.c:683
+-#, fuzzy, gcc-internal-format
+-msgid "caller edge count is negative"
+-msgstr "el valor de desplaçament a l'esquerra és negatiu"
+-
+-#: cgraphunit.c:688
+-#, gcc-internal-format
+-msgid "caller edge frequency is negative"
+-msgstr ""
+-
+-#: cgraphunit.c:693
+-#, gcc-internal-format
+-msgid "caller edge frequency is too large"
+-msgstr ""
+-
+-#: cgraphunit.c:702
+-#, fuzzy, gcc-internal-format
+-msgid "inlined_to pointer is wrong"
+-msgstr "falta la secció de punters"
+-
+-#: cgraphunit.c:707
+-#, fuzzy, gcc-internal-format
+-msgid "multiple inline callers"
+-msgstr "specificadors \"virtual\" múltiples"
+-
+-#: cgraphunit.c:714
+-#, gcc-internal-format
+-msgid "inlined_to pointer set for noninline callers"
+-msgstr ""
+-
+-#: cgraphunit.c:720
+-#, gcc-internal-format
+-msgid "inlined_to pointer is set but no predecessors found"
+-msgstr ""
+-
+-#: cgraphunit.c:725
+-#, fuzzy, gcc-internal-format
+-msgid "inlined_to pointer refers to itself"
+-msgstr "punter no vàlid al camp de bit \"%D\""
+-
+-#: cgraphunit.c:735
+-#, gcc-internal-format
+-msgid "node not found in cgraph_hash"
+-msgstr ""
+-
+-#: cgraphunit.c:763
+-#, gcc-internal-format
+-msgid "shared call_stmt:"
+-msgstr ""
+-
+-#: cgraphunit.c:770
+-#, fuzzy, gcc-internal-format
+-msgid "edge points to wrong declaration:"
+-msgstr "s'usa \"%s\" previ a la declaració"
+-
+-#: cgraphunit.c:779
+-#, gcc-internal-format
+-msgid "missing callgraph edge for call stmt:"
+-msgstr ""
+-
+-#: cgraphunit.c:795
+-#, gcc-internal-format
+-msgid "edge %s->%s has no corresponding call_stmt"
+-msgstr ""
+-
+-#: cgraphunit.c:807
+-#, fuzzy, gcc-internal-format
+-msgid "verify_cgraph_node failed"
+-msgstr "verify_flow_info fallat"
+-
+-#: cgraphunit.c:909 cgraphunit.c:932
+-#, gcc-internal-format
+-msgid "%J%<externally_visible%> attribute have effect only on public objects"
+-msgstr ""
+-
+-#: cgraphunit.c:1122
+-#, fuzzy, gcc-internal-format
+-msgid "failed to reclaim unneeded function"
+-msgstr "el camp \"%s\" es declara com una funció"
+-
+-#: cgraphunit.c:1454
+-#, gcc-internal-format
+-msgid "nodes with no released memory found"
+-msgstr ""
+-
+-#: collect2.c:1189
+-#, fuzzy, gcc-internal-format
+-msgid "unknown demangling style '%s'"
+-msgstr "es desconeix el mode de màquina \"%s\""
+-
+-#: collect2.c:1512
+-#, gcc-internal-format
+-msgid "%s terminated with signal %d [%s]%s"
+-msgstr "%s acabat amb el senyal %d [%s]%s"
+-
+-#: collect2.c:1530
+-#, gcc-internal-format
+-msgid "%s returned %d exit status"
+-msgstr "%s va retornar l'estat de sortida %d"
+-
+-#: collect2.c:2242
+-#, fuzzy, gcc-internal-format
+-msgid "cannot find 'ldd'"
+-msgstr "no es troba \"ldd\""
+-
+-#: convert.c:69
+-#, gcc-internal-format
+-msgid "cannot convert to a pointer type"
+-msgstr "no es pot convertir a un tipus punter"
+-
+-#: convert.c:333
+-#, gcc-internal-format
+-msgid "pointer value used where a floating point value was expected"
+-msgstr "es va usar un valor de punter on s'esperava un valor de coma flotant"
+-
+-#: convert.c:337
+-#, gcc-internal-format
+-msgid "aggregate value used where a float was expected"
+-msgstr "es va usar un valor agregat on s'esperava un float"
+-
+-#: convert.c:362
+-#, gcc-internal-format
+-msgid "conversion to incomplete type"
+-msgstr "conversió a tipus de dada incompleta"
+-
+-#: convert.c:731 convert.c:807
+-#, gcc-internal-format
+-msgid "can't convert between vector values of different size"
+-msgstr "no es pot convertir entre valors vectorials de grandàries diferents"
+-
+-#: convert.c:737
+-#, gcc-internal-format
+-msgid "aggregate value used where an integer was expected"
+-msgstr "es va usar un valor agregat on s'esperava un enter"
+-
+-#: convert.c:787
+-#, gcc-internal-format
+-msgid "pointer value used where a complex was expected"
+-msgstr "es va usar un valor de punter on s'esperava un complex"
+-
+-#: convert.c:791
+-#, gcc-internal-format
+-msgid "aggregate value used where a complex was expected"
+-msgstr "es va usar un valor agregat on s'esperava un complex"
+-
+-#: convert.c:813
+-#, gcc-internal-format
+-msgid "can't convert value to a vector"
+-msgstr "no es pot convertir el valor a un vector"
+-
+-#: convert.c:852
+-#, fuzzy, gcc-internal-format
+-msgid "aggregate value used where a fixed-point was expected"
+-msgstr "es va usar un valor agregat on s'esperava un float"
+-
+-#: coverage.c:182
+-#, fuzzy, gcc-internal-format
+-msgid "%qs is not a gcov data file"
+-msgstr "\"%s\" no és fitxer de dades gcov"
+-
+-#: coverage.c:193
+-#, fuzzy, gcc-internal-format
+-msgid "%qs is version %q.*s, expected version %q.*s"
+-msgstr "\"%s\" en versió \"%.4s\", s'espera la versió \"%.4s\""
+-
+-#: coverage.c:273 coverage.c:281
+-#, gcc-internal-format
+-msgid "coverage mismatch for function %u while reading execution counters"
+-msgstr ""
+-
+-#: coverage.c:275 coverage.c:370
+-#, gcc-internal-format
+-msgid "checksum is %x instead of %x"
+-msgstr ""
+-
+-#: coverage.c:283 coverage.c:372
+-#, gcc-internal-format
+-msgid "number of counters is %d instead of %d"
+-msgstr ""
+-
+-#: coverage.c:289
+-#, gcc-internal-format
+-msgid "cannot merge separate %s counters for function %u"
+-msgstr ""
+-
+-#: coverage.c:310
+-#, fuzzy, gcc-internal-format
+-msgid "%qs has overflowed"
+-msgstr "desbordament de la pila per a \"%s\""
+-
+-#: coverage.c:347
+-#, fuzzy, gcc-internal-format
+-msgid "no coverage for function %qs found"
+-msgstr "%s:no es troben funcions\n"
+-
+-#: coverage.c:361 coverage.c:364
+-#, gcc-internal-format
+-msgid "coverage mismatch for function %qs while reading counter %qs"
+-msgstr ""
+-
+-#: coverage.c:380
+-#, gcc-internal-format
+-msgid "coverage mismatch ignored due to -Wcoverage-mismatch"
+-msgstr ""
+-
+-#: coverage.c:382
+-#, gcc-internal-format
+-msgid "execution counts estimated"
+-msgstr ""
+-
+-#: coverage.c:385
+-#, gcc-internal-format
+-msgid "this can result in poorly optimized code"
+-msgstr ""
+-
+-#: coverage.c:543
+-#, gcc-internal-format
+-msgid "cannot open %s"
+-msgstr "no es pot obrir %s"
+-
+-#: coverage.c:578
+-#, fuzzy, gcc-internal-format
+-msgid "error writing %qs"
+-msgstr "error a l'escriure a \"%s\""
+-
+-#: dbgcnt.c:127
+-#, gcc-internal-format
+-msgid "Can not find a valid counter:value pair:"
+-msgstr ""
+-
+-#: dbgcnt.c:128
+-#, gcc-internal-format
+-msgid "-fdbg-cnt=%s"
+-msgstr ""
+-
+-#: dbgcnt.c:129
+-#, fuzzy, gcc-internal-format
+-msgid " %s"
+-msgstr " \"%D\""
+-
+-#: diagnostic.c:660
+-#, gcc-internal-format
+-msgid "in %s, at %s:%d"
+-msgstr "en %s, en %s:%d"
+-
+-#: dominance.c:983
+-#, fuzzy, gcc-internal-format
+-msgid "dominator of %d status unknown"
+-msgstr "el tipus de \"%E\" és desconegut"
+-
+-#: dominance.c:990
+-#, gcc-internal-format
+-msgid "dominator of %d should be %d, not %d"
+-msgstr ""
+-
+-#: dwarf2out.c:3634
+-#, fuzzy, gcc-internal-format
+-msgid "DW_LOC_OP %s not implemented"
+-msgstr "DW_LOC_OP %s no està implementat\n"
+-
+-#: emit-rtl.c:2326
+-#, fuzzy, gcc-internal-format
+-msgid "invalid rtl sharing found in the insn"
+-msgstr "operand no vàlid en la instrucció"
+-
+-#: emit-rtl.c:2328
+-#, gcc-internal-format
+-msgid "shared rtx"
+-msgstr ""
+-
+-#: emit-rtl.c:2330
+-#, fuzzy, gcc-internal-format
+-msgid "internal consistency failure"
+-msgstr "avortament intern de gcc"
+-
+-#: emit-rtl.c:3417
+-#, gcc-internal-format
+-msgid "ICE: emit_insn used where emit_jump_insn needed:\n"
+-msgstr "ICE:s'usa emit_insn on es necessita emit_jump_insn:\n"
+-
+-#: errors.c:132
+-#, gcc-internal-format
+-msgid "abort in %s, at %s:%d"
+-msgstr "abandó en %s, en %s:%d"
+-
+-#: except.c:337
+-#, gcc-internal-format
+-msgid "exception handling disabled, use -fexceptions to enable"
+-msgstr "maneig d'excepcions desactivat, usi -fexceptions per a activar"
+-
+-#: except.c:2889
+-#, fuzzy, gcc-internal-format
+-msgid "argument of %<__builtin_eh_return_regno%> must be constant"
+-msgstr "l'argument de \"__builtin_eh_return_regno\" ha de ser constant"
+-
+-#: except.c:3022
+-#, gcc-internal-format
+-msgid "__builtin_eh_return not supported on this target"
+-msgstr "no es dóna suport a _builtin_eh_return en aquest objectiu"
+-
+-#: except.c:3903 except.c:3912
+-#, gcc-internal-format
+-msgid "region_array is corrupted for region %i"
+-msgstr ""
+-
+-#: except.c:3917
+-#, gcc-internal-format
+-msgid "outer block of region %i is wrong"
+-msgstr ""
+-
+-#: except.c:3922
+-#, gcc-internal-format
+-msgid "region %i may contain throw and is contained in region that may not"
+-msgstr ""
+-
+-#: except.c:3928
+-#, gcc-internal-format
+-msgid "negative nesting depth of region %i"
+-msgstr ""
+-
+-#: except.c:3948
+-#, gcc-internal-format
+-msgid "tree list ends on depth %i"
+-msgstr ""
+-
+-#: except.c:3953
+-#, fuzzy, gcc-internal-format
+-msgid "array does not match the region tree"
+-msgstr "la conversió no coincideix amb el tipus de la funció"
+-
+-#: except.c:3959
+-#, fuzzy, gcc-internal-format
+-msgid "verify_eh_tree failed"
+-msgstr "verify_flow_info fallat"
+-
+-#: explow.c:1281
+-#, gcc-internal-format
+-msgid "stack limits not supported on this target"
+-msgstr "no es dóna suport a límits de pila en aquest objectiu"
+-
+-#: expr.c:8031
+-#, fuzzy
+-msgid "%Kcall to %qs declared with attribute error: %s"
+-msgstr "funció \"%s\" re-declarada amb l'atribut «noinline»"
+-
+-#: expr.c:8037
+-#, fuzzy
+-msgid "%Kcall to %qs declared with attribute warning: %s"
+-msgstr "funció \"%s\" re-declarada amb l'atribut «noinline»"
+-
+-#: final.c:1431
+-#, fuzzy, gcc-internal-format
+-msgid "invalid argument %qs to -fdebug-prefix-map"
+-msgstr "no vàlid argument per a l'atribut \"%s\""
+-
+-#: fixed-value.c:104
+-#, fuzzy, gcc-internal-format
+-msgid "large fixed-point constant implicitly truncated to fixed-point type"
+-msgstr "enter gran truncat implícitament al tipus unsigned"
+-
+-#: fold-const.c:992 tree-ssa-loop-niter.c:1827 tree-vrp.c:5060
+-#, fuzzy, gcc-internal-format
+-msgid "%H%s"
+-msgstr "%s"
+-
+-#: fold-const.c:1363
+-#, gcc-internal-format
+-msgid "assuming signed overflow does not occur when negating a division"
+-msgstr ""
+-
+-#: fold-const.c:3989 fold-const.c:4000
+-#, gcc-internal-format
+-msgid "comparison is always %d due to width of bit-field"
+-msgstr "la comparança sempre és %d a causa de l'amplària del camp de bit"
+-
+-#: fold-const.c:5317
+-#, gcc-internal-format
+-msgid "assuming signed overflow does not occur when simplifying range test"
+-msgstr ""
+-
+-#: fold-const.c:5691 fold-const.c:5706
+-#, gcc-internal-format
+-msgid "comparison is always %d"
+-msgstr "la comparança sempre és %d"
+-
+-#: fold-const.c:5835
+-#, fuzzy, gcc-internal-format
+-msgid "%<or%> of unmatched not-equal tests is always 1"
+-msgstr "un \"or\" de proves no equivalents sense coincidència sempre és 1"
+-
+-#: fold-const.c:5840
+-#, fuzzy, gcc-internal-format
+-msgid "%<and%> of mutually exclusive equal-tests is always 0"
+-msgstr "un \"and\" de proves equivalents mútuament exclusives sempre és 0"
+-
+-#: fold-const.c:8617
+-#, gcc-internal-format
+-msgid "assuming signed overflow does not occur when reducing constant in comparison"
+-msgstr ""
+-
+-#: fold-const.c:8871
+-#, gcc-internal-format
+-msgid "assuming signed overflow does not occur when combining constants around a comparison"
+-msgstr ""
+-
+-#: fold-const.c:13236
+-#, gcc-internal-format
+-msgid "fold check: original tree changed by fold"
+-msgstr ""
+-
+-#: function.c:377
+-#, fuzzy, gcc-internal-format
+-msgid "%Jtotal size of local objects too large"
+-msgstr "%Jla grandària de la variable \"%D\" és massa gran"
+-
+-#: function.c:837 varasm.c:2095
+-#, fuzzy, gcc-internal-format
+-msgid "size of variable %q+D is too large"
+-msgstr "%Jla grandària de la variable \"%D\" és massa gran"
+-
+-#: function.c:1554 gimplify.c:4250
+-#, fuzzy, gcc-internal-format
+-msgid "impossible constraint in %<asm%>"
+-msgstr "restricció impossible en \"asm\""
+-
+-#: function.c:3538
+-#, fuzzy, gcc-internal-format
+-msgid "variable %q+D might be clobbered by %<longjmp%> or %<vfork%>"
+-msgstr "%Jla variable \"%D\" podria ser apallissada per \"longjmp\" o \"vfork\""
+-
+-#: function.c:3559
+-#, fuzzy, gcc-internal-format
+-msgid "argument %q+D might be clobbered by %<longjmp%> or %<vfork%>"
+-msgstr "%Jl'argument \"%D\" podria ser apallissat per \"longjmp\" o \"vfork\""
+-
+-#: function.c:4004
+-#, gcc-internal-format
+-msgid "function returns an aggregate"
+-msgstr "la funció retorna un agregat"
+-
+-#: function.c:4401
+-#, fuzzy, gcc-internal-format
+-msgid "unused parameter %q+D"
+-msgstr "%Jparàmetre \"%D\" sense ús"
+-
+-#: gcc.c:1286
+-#, gcc-internal-format
+-msgid "ambiguous abbreviation %s"
+-msgstr "abreujament ambigu %s"
+-
+-#: gcc.c:1313
+-#, fuzzy, gcc-internal-format
+-msgid "incomplete '%s' option"
+-msgstr "Opció \"%s\" incompleta"
+-
+-#: gcc.c:1324
+-#, fuzzy, gcc-internal-format
+-msgid "missing argument to '%s' option"
+-msgstr "Falten arguments per a l'opció \"%s\""
+-
+-#: gcc.c:1337
+-#, fuzzy, gcc-internal-format
+-msgid "extraneous argument to '%s' option"
+-msgstr "argument estrany per a l'opció \"%s\""
+-
+-#: gcc.c:3987
+-#, gcc-internal-format
+-msgid "warning: -pipe ignored because -save-temps specified"
+-msgstr "Avís: s'ignora -pipe perquè es va especificar -save-temps"
+-
+-#: gcc.c:4276
+-#, fuzzy, gcc-internal-format
+-msgid "warning: '-x %s' after last input file has no effect"
+-msgstr "avís: \"-x %s\" després de l'últim fitxer d'entrada no té efecte"
+-
+-#. Catch the case where a spec string contains something like
+-#. '%{foo:%*}'. i.e. there is no * in the pattern on the left
+-#. hand side of the :.
+-#: gcc.c:5314
+-#, gcc-internal-format
+-msgid "spec failure: '%%*' has not been initialized by pattern match"
+-msgstr "Falla en spec: \"%%*\" no ha estat iniciat per coincidència de patró"
+-
+-#: gcc.c:5323
+-#, gcc-internal-format
+-msgid "warning: use of obsolete %%[ operator in specs"
+-msgstr "Avís: ús de l'operador obsolet %%[ en specs"
+-
+-#: gcc.c:5404
+-#, gcc-internal-format
+-msgid "spec failure: unrecognized spec option '%c'"
+-msgstr "Falla en spec: Opció d'especificació \"%c\" no reconeguda"
+-
+-#: gcc.c:6305
+-#, gcc-internal-format
+-msgid "spec failure: more than one arg to SYSROOT_SUFFIX_SPEC"
+-msgstr ""
+-
+-#: gcc.c:6328
+-#, gcc-internal-format
+-msgid "spec failure: more than one arg to SYSROOT_HEADERS_SUFFIX_SPEC"
+-msgstr ""
+-
+-#: gcc.c:6415
+-#, fuzzy, gcc-internal-format
+-msgid "unrecognized option '-%s'"
+-msgstr "opció \"-%s\" no reconeguda"
+-
+-#: gcc.c:6615 gcc.c:6678
+-#, gcc-internal-format
+-msgid "%s: %s compiler not installed on this system"
+-msgstr "%s: el compilador %s no està instal·lat en aquest sistema"
+-
+-#: gcc.c:6778
+-#, gcc-internal-format
+-msgid "%s: linker input file unused because linking not done"
+-msgstr "%s: fitxer d'entrada de l'enllaçador sense ùs perquè no es va fer enllaç"
+-
+-#: gcc.c:6818
+-#, gcc-internal-format
+-msgid "language %s not recognized"
+-msgstr "no es reconeix el llenguatge %s"
+-
+-#: gcc.c:6889
+-#, gcc-internal-format
+-msgid "%s: %s"
+-msgstr "%s: %s"
+-
+-#: gcse.c:6660
+-#, fuzzy, gcc-internal-format
+-msgid "%s: %d basic blocks and %d edges/basic block"
+-msgstr "GCSE desactivat: %d > 1000 blocs bàsics i %d >= 20 blocs bord/bàsics"
+-
+-#: gcse.c:6673
+-#, fuzzy, gcc-internal-format
+-msgid "%s: %d basic blocks and %d registers"
+-msgstr "GCSE desactivat: %d blocs bàsics i %d registres"
+-
+-#: ggc-common.c:403 ggc-common.c:411 ggc-common.c:479 ggc-common.c:498
+-#: ggc-page.c:2138 ggc-page.c:2169 ggc-page.c:2176 ggc-zone.c:2290
+-#: ggc-zone.c:2305
+-#, gcc-internal-format
+-msgid "can't write PCH file: %m"
+-msgstr "no es pot escriure el fitxer PCH: %m"
+-
+-#: ggc-common.c:491 config/i386/host-cygwin.c:57
+-#, fuzzy, gcc-internal-format
+-msgid "can't get position in PCH file: %m"
+-msgstr "no es pot crear el fitxer d'informació de \"repository\" \"%s\""
+-
+-#: ggc-common.c:501
+-#, fuzzy, gcc-internal-format
+-msgid "can't write padding to PCH file: %m"
+-msgstr "no es pot escriure al fitxer de sortida"
+-
+-#: ggc-common.c:556 ggc-common.c:564 ggc-common.c:571 ggc-common.c:574
+-#: ggc-common.c:584 ggc-common.c:587 ggc-page.c:2266 ggc-zone.c:2324
+-#, gcc-internal-format
+-msgid "can't read PCH file: %m"
+-msgstr "no es pot llegir el fitxer PCH: %m"
+-
+-#: ggc-common.c:579
+-#, gcc-internal-format
+-msgid "had to relocate PCH"
+-msgstr ""
+-
+-#: ggc-page.c:1471
+-#, gcc-internal-format
+-msgid "open /dev/zero: %m"
+-msgstr "open /dev/zero: %m"
+-
+-#: ggc-page.c:2154 ggc-page.c:2160
+-#, gcc-internal-format
+-msgid "can't write PCH file"
+-msgstr "no es pot escriure el fitxer PCH"
+-
+-#: ggc-zone.c:2287 ggc-zone.c:2298
+-#, fuzzy, gcc-internal-format
+-msgid "can't seek PCH file: %m"
+-msgstr "no es pot llegir el fitxer PCH: %m"
+-
+-#: ggc-zone.c:2301
+-#, fuzzy, gcc-internal-format
+-msgid "can't write PCH fle: %m"
+-msgstr "no es pot escriure el fitxer PCH: %m"
+-
+-#: gimplify.c:4139
+-#, fuzzy, gcc-internal-format
+-msgid "invalid lvalue in asm output %d"
+-msgstr "lvalue no vàlid en declaració asm"
+-
+-#: gimplify.c:4251
+-#, gcc-internal-format
+-msgid "non-memory input %d must stay in memory"
+-msgstr ""
+-
+-#: gimplify.c:4264
+-#, fuzzy, gcc-internal-format
+-msgid "memory input %d is not directly addressable"
+-msgstr "el nombre de sortida %d no és directament adreçable"
+-
+-#: gimplify.c:4743
+-#, gcc-internal-format
+-msgid "%qs not specified in enclosing parallel"
+-msgstr ""
+-
+-#: gimplify.c:4745
+-#, gcc-internal-format
+-msgid "%Henclosing parallel"
+-msgstr ""
+-
+-#: gimplify.c:4799
+-#, gcc-internal-format
+-msgid "iteration variable %qs should be private"
+-msgstr ""
+-
+-#: gimplify.c:4813
+-#, gcc-internal-format
+-msgid "iteration variable %qs should not be firstprivate"
+-msgstr ""
+-
+-#: gimplify.c:4816
+-#, fuzzy, gcc-internal-format
+-msgid "iteration variable %qs should not be reduction"
+-msgstr "es va usar la va variable \"%s\" en funcions niades"
+-
+-#: gimplify.c:4940
+-#, fuzzy, gcc-internal-format
+-msgid "%s variable %qs is private in outer context"
+-msgstr "\"%D\" no es va declarar en aquest àmbit"
+-
+-#: gimplify.c:6108
+-#, gcc-internal-format
+-msgid "gimplification failed"
+-msgstr ""
+-
+-#: global.c:284 global.c:297 global.c:311
+-#, fuzzy, gcc-internal-format
+-msgid "%s cannot be used in asm here"
+-msgstr "no es pot usar %s en ensamblador aquí"
+-
+-#: graph.c:401 java/jcf-parse.c:1757 java/jcf-parse.c:1897 objc/objc-act.c:500
+-#, fuzzy, gcc-internal-format
+-msgid "can't open %s: %m"
+-msgstr "no es pot obrir %s"
+-
+-#: haifa-sched.c:184
+-#, gcc-internal-format
+-msgid "fix_sched_param: unknown param: %s"
+-msgstr "fix_sched_param: paràmetre desconegut: %s"
+-
+-#: omp-low.c:1288
+-#, gcc-internal-format
+-msgid "work-sharing region may not be closely nested inside of work-sharing, critical, ordered or master region"
+-msgstr ""
+-
+-#: omp-low.c:1304
+-#, gcc-internal-format
+-msgid "master region may not be closely nested inside of work-sharing region"
+-msgstr ""
+-
+-#: omp-low.c:1318
+-#, gcc-internal-format
+-msgid "ordered region may not be closely nested inside of critical region"
+-msgstr ""
+-
+-#: omp-low.c:1324
+-#, gcc-internal-format
+-msgid "ordered region must be closely nested inside a loop region with an ordered clause"
+-msgstr ""
+-
+-#: omp-low.c:1338
+-#, gcc-internal-format
+-msgid "critical region may not be nested inside a critical region with the same name"
+-msgstr ""
+-
+-#: omp-low.c:5050 cp/decl.c:2660 cp/parser.c:7417 cp/parser.c:7437
+-#, gcc-internal-format
+-msgid "invalid exit from OpenMP structured block"
+-msgstr ""
+-
+-#: omp-low.c:5052
+-#, gcc-internal-format
+-msgid "invalid entry to OpenMP structured block"
+-msgstr ""
+-
+-#: opts.c:173
+-#, gcc-internal-format
+-msgid "argument %qs to %<-femit-struct-debug-detailed%> not recognized"
+-msgstr ""
+-
+-#: opts.c:207
+-#, gcc-internal-format
+-msgid "argument %qs to %<-femit-struct-debug-detailed%> unknown"
+-msgstr ""
+-
+-#: opts.c:213
+-#, gcc-internal-format
+-msgid "%<-femit-struct-debug-detailed=dir:...%> must allow at least as much as %<-femit-struct-debug-detailed=ind:...%>"
+-msgstr ""
+-
+-#. Eventually this should become a hard error IMO.
+-#: opts.c:438
+-#, gcc-internal-format
+-msgid "command line option \"%s\" is valid for %s but not for %s"
+-msgstr "l'opció de línia d'ordres \"%s\" és vàlida per a %s però no per a %s"
+-
+-#: opts.c:492
+-#, fuzzy, gcc-internal-format
+-msgid "command line option %qs is not supported by this configuration"
+-msgstr "%s no té suport en aquesta configuració"
+-
+-#: opts.c:545
+-#, gcc-internal-format
+-msgid "missing argument to \"%s\""
+-msgstr "falten arguments per a \"%s\""
+-
+-#: opts.c:555
+-#, gcc-internal-format
+-msgid "argument to \"%s\" should be a non-negative integer"
+-msgstr "l'argument per a \"%s\" ha de ser un enter non negatiu"
+-
+-#: opts.c:728
+-#, gcc-internal-format
+-msgid "unrecognized command line option \"%s\""
+-msgstr "opció de línia d'ordres \"%s\" desconeguda"
+-
+-#: opts.c:947
+-#, gcc-internal-format
+-msgid "-Wuninitialized is not supported without -O"
+-msgstr "no es dóna suport a -Wuninitialized sense -O"
+-
+-#: opts.c:962
+-#, gcc-internal-format
+-msgid "-freorder-blocks-and-partition does not work with exceptions"
+-msgstr ""
+-
+-#: opts.c:973
+-#, gcc-internal-format
+-msgid "-freorder-blocks-and-partition does not support unwind info"
+-msgstr ""
+-
+-#: opts.c:987
+-#, gcc-internal-format
+-msgid "-freorder-blocks-and-partition does not work on this architecture"
+-msgstr ""
+-
+-#: opts.c:1263
+-#, gcc-internal-format
+-msgid "unrecognized include_flags 0x%x passed to print_specific_help"
+-msgstr ""
+-
+-#: opts.c:1593
+-#, fuzzy, gcc-internal-format
+-msgid "structure alignment must be a small power of two, not %d"
+-msgstr "l'alineació ha de ser una potència petita de dos, no %d"
+-
+-#: opts.c:1656
+-#, fuzzy, gcc-internal-format
+-msgid "unrecognized visibility value \"%s\""
+-msgstr "no es reconeix el nom de registre \"%s\""
+-
+-#: opts.c:1704
+-#, gcc-internal-format
+-msgid "unrecognized register name \"%s\""
+-msgstr "no es reconeix el nom de registre \"%s\""
+-
+-#: opts.c:1728
+-#, gcc-internal-format
+-msgid "unknown tls-model \"%s\""
+-msgstr "tls-model \"%s\" desconegut"
+-
+-#: opts.c:1803
+-#, gcc-internal-format
+-msgid "%s: --param arguments should be of the form NAME=VALUE"
+-msgstr ""
+-
+-#: opts.c:1808
+-#, fuzzy, gcc-internal-format
+-msgid "invalid --param value %qs"
+-msgstr "valor de --param \"%s\" no vàlid"
+-
+-#: opts.c:1931
+-#, gcc-internal-format
+-msgid "target system does not support debug output"
+-msgstr "el sistema objectiu no té suport per a sortides de depuració"
+-
+-#: opts.c:1938
+-#, gcc-internal-format
+-msgid "debug format \"%s\" conflicts with prior selection"
+-msgstr "format de depuració \"%s\" en conflicte amb una selecció prèvia"
+-
+-#: opts.c:1954
+-#, gcc-internal-format
+-msgid "unrecognised debug output level \"%s\""
+-msgstr "no es reconeix el nivell de sortida de depuració \"%s\""
+-
+-#: opts.c:1956
+-#, gcc-internal-format
+-msgid "debug output level %s is too high"
+-msgstr "el nivell de sortida de depuració %s és massa alt"
+-
+-#: opts.c:2038
+-#, gcc-internal-format
+-msgid "-Werror=%s: No option -%s"
+-msgstr ""
+-
+-#: params.c:68
+-#, fuzzy, gcc-internal-format
+-msgid "minimum value of parameter %qs is %u"
+-msgstr "el paràmetre \"%s\" no és vàlid"
+-
+-#: params.c:73
+-#, gcc-internal-format
+-msgid "maximum value of parameter %qs is %u"
+-msgstr ""
+-
+-#. If we didn't find this parameter, issue an error message.
+-#: params.c:85
+-#, fuzzy, gcc-internal-format
+-msgid "invalid parameter %qs"
+-msgstr "el paràmetre \"%s\" no és vàlid"
+-
+-#: profile.c:304
+-#, gcc-internal-format
+-msgid "corrupted profile info: run_max * runs < sum_max"
+-msgstr ""
+-
+-#: profile.c:310
+-#, gcc-internal-format
+-msgid "corrupted profile info: sum_all is smaller than sum_max"
+-msgstr ""
+-
+-#: profile.c:355
+-#, gcc-internal-format
+-msgid "corrupted profile info: edge from %i to %i exceeds maximal count"
+-msgstr "informació de perfil corrupta: el tall des de %i fins a %i excedeix el compte màxim"
+-
+-#: profile.c:519
+-#, gcc-internal-format
+-msgid "corrupted profile info: number of iterations for basic block %d thought to be %i"
+-msgstr "informació de perfil corrupta: el nombre d'iteracions pel bloc bàsica %d hauria de ser %i"
+-
+-#: profile.c:540
+-#, gcc-internal-format
+-msgid "corrupted profile info: number of executions for edge %d-%d thought to be %i"
+-msgstr "informació de perfil corrupta: el nombre d'execicions pel tall %d-%d hauria de ser %i"
+-
+-#: reg-stack.c:538
+-#, gcc-internal-format
+-msgid "output constraint %d must specify a single register"
+-msgstr "la restricció de sortida %d s'ha d'especificar un sol registre"
+-
+-#: reg-stack.c:548
+-#, gcc-internal-format
+-msgid "output constraint %d cannot be specified together with \"%s\" clobber"
+-msgstr "la restricció de sortida %d no es pot especificar amb el clobber \"%s\""
+-
+-#: reg-stack.c:571
+-#, gcc-internal-format
+-msgid "output regs must be grouped at top of stack"
+-msgstr "els registres de sortida deuen ser agrupats en la part superior de la pila"
+-
+-#: reg-stack.c:608
+-#, gcc-internal-format
+-msgid "implicitly popped regs must be grouped at top of stack"
+-msgstr "els registres extrets implícitament deuen ser agrupats en la part superior de la pila"
+-
+-#: reg-stack.c:627
+-#, fuzzy, gcc-internal-format
+-msgid "output operand %d must use %<&%> constraint"
+-msgstr "l'operand de sortida %d ha d'usar la restricció \"&\""
+-
+-#: regclass.c:875
+-#, gcc-internal-format
+-msgid "can't use '%s' as a %s register"
+-msgstr "no es pot usar \"%s\" com un registre %s"
+-
+-#: regclass.c:890 config/ia64/ia64.c:5138 config/ia64/ia64.c:5145
+-#: config/pa/pa.c:359 config/pa/pa.c:366 config/spu/spu.c:3886
+-#: config/spu/spu.c:3893
+-#, gcc-internal-format
+-msgid "unknown register name: %s"
+-msgstr "nom de registre desconegut: %s"
+-
+-#: regclass.c:900
+-#, gcc-internal-format
+-msgid "global register variable follows a function definition"
+-msgstr "la variable de registre global segueix a una definició de funció"
+-
+-#: regclass.c:904
+-#, gcc-internal-format
+-msgid "register used for two global register variables"
+-msgstr "nom de registre usat per dues variables de registre globals"
+-
+-#: regclass.c:909
+-#, gcc-internal-format
+-msgid "call-clobbered register used for global register variable"
+-msgstr "registre de cridada alterada usat per a una variable de registre global"
+-
+-#: regrename.c:1893
+-#, gcc-internal-format
+-msgid "validate_value_data: [%u] Bad next_regno for empty chain (%u)"
+-msgstr "validate_value_data: [%u] next_regno erroni per a la cadena buida (%u)"
+-
+-#: regrename.c:1905
+-#, gcc-internal-format
+-msgid "validate_value_data: Loop in regno chain (%u)"
+-msgstr "validate_value_data: Cicle en la cadena regno (%u)"
+-
+-#: regrename.c:1908
+-#, gcc-internal-format
+-msgid "validate_value_data: [%u] Bad oldest_regno (%u)"
+-msgstr "validate_value_data: [%u] oldest_regno erroni (%u)"
+-
+-#: regrename.c:1920
+-#, gcc-internal-format
+-msgid "validate_value_data: [%u] Non-empty reg in chain (%s %u %i)"
+-msgstr "validate_value_data: [%u] Registre no buit en la cadena (%s %u %i)"
+-
+-#: reload.c:1252
+-#, fuzzy, gcc-internal-format
+-msgid "cannot reload integer constant operand in %<asm%>"
+-msgstr "no es pot recarregar un operador constant enter en \"asm\""
+-
+-#: reload.c:1266
+-#, fuzzy, gcc-internal-format
+-msgid "impossible register constraint in %<asm%>"
+-msgstr "restricció de registres impossible en \"asm\""
+-
+-#: reload.c:3564
+-#, fuzzy, gcc-internal-format
+-msgid "%<&%> constraint used with no register class"
+-msgstr "es va usar la restricció \"&\" sense classe de registre"
+-
+-#: reload.c:3735 reload.c:3975
+-#, fuzzy, gcc-internal-format
+-msgid "inconsistent operand constraints in an %<asm%>"
+-msgstr "restriccions d'operand inconsistents en un \"asm\""
+-
+-#: reload1.c:1301
+-#, fuzzy, gcc-internal-format
+-msgid "%<asm%> operand has impossible constraints"
+-msgstr "l'operand asm %d probablement no coincideix amb les restriccions"
+-
+-#: reload1.c:1321
+-#, gcc-internal-format
+-msgid "frame size too large for reliable stack checking"
+-msgstr "la grandària del marc és massa gran per a una revisió fiable de la pila"
+-
+-#: reload1.c:1324
+-#, gcc-internal-format
+-msgid "try reducing the number of local variables"
+-msgstr "intenti reduir el nombre de variables locals"
+-
+-#: reload1.c:1987
+-#, fuzzy, gcc-internal-format
+-msgid "can't find a register in class %qs while reloading %<asm%>"
+-msgstr "no es pot trobar un registre en la classe \"%s\" mentre es recarrega \"asm\"."
+-
+-#: reload1.c:1992
+-#, fuzzy, gcc-internal-format
+-msgid "unable to find a register to spill in class %qs"
+-msgstr "no es pot trobar un registre per a buidar la classe \"%s\"."
+-
+-#: reload1.c:4160
+-#, fuzzy, gcc-internal-format
+-msgid "%<asm%> operand requires impossible reload"
+-msgstr "l'operand \"asm\" requereix una recarrega impossible"
+-
+-#: reload1.c:5368
+-#, fuzzy, gcc-internal-format
+-msgid "%<asm%> operand constraint incompatible with operand size"
+-msgstr "la restricció de l'operand \"asm\" és incompatible amb la grandària de l'operand"
+-
+-#: reload1.c:7039
+-#, fuzzy, gcc-internal-format
+-msgid "output operand is constant in %<asm%>"
+-msgstr "l'operand de sortida és constant en \"asm\""
+-
+-#: rtl.c:484
+-#, fuzzy, gcc-internal-format
+-msgid "RTL check: access of elt %d of '%s' with last elt %d in %s, at %s:%d"
+-msgstr "revisió RTL: accés de elt %d de \"%s\" amb l'últim elt %d en %s, en %s:%d"
+-
+-#: rtl.c:494
+-#, gcc-internal-format
+-msgid "RTL check: expected elt %d type '%c', have '%c' (rtx %s) in %s, at %s:%d"
+-msgstr "revisió RTL: s'esperava el tipus elt %d \"%c\", es té \"%c\" (rtx %s) en %s, en %s:%d"
+-
+-#: rtl.c:504
+-#, gcc-internal-format
+-msgid "RTL check: expected elt %d type '%c' or '%c', have '%c' (rtx %s) in %s, at %s:%d"
+-msgstr "revisió RTL: s'esperava el tipus elt %d \"%c\" o \"%c\", es té \"%c\" (rtx %s) en %s, en %s:%d"
+-
+-#: rtl.c:513
+-#, fuzzy, gcc-internal-format
+-msgid "RTL check: expected code '%s', have '%s' in %s, at %s:%d"
+-msgstr "Revisió RTL: s'esperava el codi \"%s\", es té \"%s\" en %s, en %s:%d"
+-
+-#: rtl.c:523
+-#, fuzzy, gcc-internal-format
+-msgid "RTL check: expected code '%s' or '%s', have '%s' in %s, at %s:%d"
+-msgstr "Revisió RTL: s'esperava el codi \"%s\" o \"%s\", es té \"%s\" en %s, en %s:%d"
+-
+-#: rtl.c:550
+-#, fuzzy, gcc-internal-format
+-msgid "RTL check: attempt to treat non-block symbol as a block symbol in %s, at %s:%d"
+-msgstr "revisió RTL: accés de elt %d de \"%s\" amb l'últim elt %d en %s, en %s:%d"
+-
+-#: rtl.c:560
+-#, gcc-internal-format
+-msgid "RTL check: access of elt %d of vector with last elt %d in %s, at %s:%d"
+-msgstr "Revisió RTL: accés de elt %d de vector amb l'últim elt %d en %s, en %s:%d"
+-
+-#: rtl.c:571
+-#, fuzzy, gcc-internal-format
+-msgid "RTL flag check: %s used with unexpected rtx code '%s' in %s, at %s:%d"
+-msgstr "Revisió RTL: es va usar %s amb el codi rtx inesperat \"%s\" en %s, en %s:%d"
+-
+-#: stmt.c:317
+-#, fuzzy, gcc-internal-format
+-msgid "output operand constraint lacks %<=%>"
+-msgstr "la restricció d'operand de sortida manca de \"=\""
+-
+-#: stmt.c:332
+-#, fuzzy, gcc-internal-format
+-msgid "output constraint %qc for operand %d is not at the beginning"
+-msgstr "la restricció de sortida \"%c\" per a l'operand %d no està al principi"
+-
+-#: stmt.c:355
+-#, fuzzy, gcc-internal-format
+-msgid "operand constraint contains incorrectly positioned %<+%> or %<=%>"
+-msgstr "la restricció d'operand conté \"+\" o \"=\" mal posicionat"
+-
+-#: stmt.c:362 stmt.c:461
+-#, fuzzy, gcc-internal-format
+-msgid "%<%%%> constraint used with last operand"
+-msgstr "restricció \"%%\" utilitzada amb l'últim operand"
+-
+-#: stmt.c:381
+-#, gcc-internal-format
+-msgid "matching constraint not valid in output operand"
+-msgstr "la restricció coincident no és vàlida en l'operand de sortida"
+-
+-#: stmt.c:452
+-#, fuzzy, gcc-internal-format
+-msgid "input operand constraint contains %qc"
+-msgstr "la restricció d'operand d'entrada conté \"%c\""
+-
+-#: stmt.c:494
+-#, gcc-internal-format
+-msgid "matching constraint references invalid operand number"
+-msgstr "la restricció de coincidència fa referència a un nombre d'operand no vàlid"
+-
+-#: stmt.c:532
+-#, fuzzy, gcc-internal-format
+-msgid "invalid punctuation %qc in constraint"
+-msgstr "puntuació no vàlida \"%c\" en la restricció"
+-
+-#: stmt.c:556
+-#, fuzzy, gcc-internal-format
+-msgid "matching constraint does not allow a register"
+-msgstr "la restricció coincident no és vàlida en l'operand de sortida"
+-
+-#: stmt.c:610
+-#, fuzzy, gcc-internal-format
+-msgid "asm-specifier for variable %qs conflicts with asm clobber list"
+-msgstr "els qualificadors asm per a la variable \"%s\" generen conflicte amb la lista d'agrupació asm"
+-
+-#: stmt.c:702
+-#, fuzzy, gcc-internal-format
+-msgid "unknown register name %qs in %<asm%>"
+-msgstr "nom de registre \"%s\" desconegut en \"asm\""
+-
+-#: stmt.c:710
+-#, fuzzy, gcc-internal-format
+-msgid "PIC register %qs clobbered in %<asm%>"
+-msgstr "nom de registre desconegut \"%s\" en \"asm\""
+-
+-#: stmt.c:757
+-#, fuzzy, gcc-internal-format
+-msgid "more than %d operands in %<asm%>"
+-msgstr "no més de %d operands en \"asm\""
+-
+-#: stmt.c:820
+-#, gcc-internal-format
+-msgid "output number %d not directly addressable"
+-msgstr "el nombre de sortida %d no és directament adreçable"
+-
+-#: stmt.c:903
+-#, fuzzy, gcc-internal-format
+-msgid "asm operand %d probably doesn%'t match constraints"
+-msgstr "l'operand asm %d probablement no coincideix amb les restriccions"
+-
+-#: stmt.c:913
+-#, gcc-internal-format
+-msgid "use of memory input without lvalue in asm operand %d is deprecated"
+-msgstr ""
+-
+-#: stmt.c:1060
+-#, gcc-internal-format
+-msgid "asm clobber conflict with output operand"
+-msgstr "l'agrupació asm causa conflictes amb l'operand de sortida"
+-
+-#: stmt.c:1065
+-#, gcc-internal-format
+-msgid "asm clobber conflict with input operand"
+-msgstr "l'agrupació asm causa conflictes amb l'operand d'entrada"
+-
+-#: stmt.c:1143
+-#, fuzzy, gcc-internal-format
+-msgid "too many alternatives in %<asm%>"
+-msgstr "massa alternatives en \"asm\""
+-
+-#: stmt.c:1155
+-#, fuzzy, gcc-internal-format
+-msgid "operand constraints for %<asm%> differ in number of alternatives"
+-msgstr "les restriccions d'operands per a \"asm\" difereixen en el nombre d'alternatives"
+-
+-#: stmt.c:1208
+-#, fuzzy, gcc-internal-format
+-msgid "duplicate asm operand name %qs"
+-msgstr "nom d'operand asm \"%s\" duplicat"
+-
+-#: stmt.c:1306
+-#, gcc-internal-format
+-msgid "missing close brace for named operand"
+-msgstr "falta la clau final per a l'operand nomenat"
+-
+-#: stmt.c:1334
+-#, fuzzy, gcc-internal-format
+-msgid "undefined named operand %qs"
+-msgstr "operand nomenat no definit \"%s\""
+-
+-#: stmt.c:1482
+-#, fuzzy, gcc-internal-format
+-msgid "%Hvalue computed is not used"
+-msgstr "l'autòmat \"%s\" no s'utilitza"
+-
+-#: stor-layout.c:149
+-#, fuzzy, gcc-internal-format
+-msgid "type size can%'t be explicitly evaluated"
+-msgstr "la grandària del tipus no pot ser avaluat explícitament"
+-
+-#: stor-layout.c:151
+-#, gcc-internal-format
+-msgid "variable-size type declared outside of any function"
+-msgstr "tipus de grandària variable declarat fora de qualsevol funció"
+-
+-#: stor-layout.c:467
+-#, fuzzy, gcc-internal-format
+-msgid "size of %q+D is %d bytes"
+-msgstr "la grandària de \"%s\" és de %d octets"
+-
+-#: stor-layout.c:469
+-#, fuzzy, gcc-internal-format
+-msgid "size of %q+D is larger than %wd bytes"
+-msgstr "la grandària de \"%s\" és major que %d octets"
+-
+-#: stor-layout.c:899
+-#, fuzzy, gcc-internal-format
+-msgid "packed attribute causes inefficient alignment for %q+D"
+-msgstr "l'atribut packed causa una alineació ineficient per a \"%s\""
+-
+-#: stor-layout.c:902
+-#, fuzzy, gcc-internal-format
+-msgid "packed attribute is unnecessary for %q+D"
+-msgstr "no és necessari l'atribut packed per a \"%s\""
+-
+-#. No, we need to skip space before this field.
+-#. Bump the cumulative size to multiple of field alignment.
+-#: stor-layout.c:919
+-#, fuzzy, gcc-internal-format
+-msgid "padding struct to align %q+D"
+-msgstr "estructura de farcit per a alinear \"%s\""
+-
+-#: stor-layout.c:1270
+-#, gcc-internal-format
+-msgid "padding struct size to alignment boundary"
+-msgstr "grandària de l'estructura de farcit pels límits d'alineació"
+-
+-#: stor-layout.c:1300
+-#, fuzzy, gcc-internal-format
+-msgid "packed attribute causes inefficient alignment for %qs"
+-msgstr "l'atribut packed causa una alineació ineficient per a \"%s\""
+-
+-#: stor-layout.c:1304
+-#, fuzzy, gcc-internal-format
+-msgid "packed attribute is unnecessary for %qs"
+-msgstr "no és necessari l'atribut packed per a \"%s\""
+-
+-#: stor-layout.c:1310
+-#, gcc-internal-format
+-msgid "packed attribute causes inefficient alignment"
+-msgstr "l'atribut packed causa una alineació ineficient"
+-
+-#: stor-layout.c:1312
+-#, gcc-internal-format
+-msgid "packed attribute is unnecessary"
+-msgstr "no és necessari l'atribut packed"
+-
+-#: stor-layout.c:1842
+-#, fuzzy, gcc-internal-format
+-msgid "alignment of array elements is greater than element size"
+-msgstr "l'alineació de \"%s\" és massa granda que l'alineació màxima del fitxer objecte. S'usa %d."
+-
+-#: targhooks.c:120
+-#, gcc-internal-format
+-msgid "__builtin_saveregs not supported by this target"
+-msgstr "no es dóna suport a _builtin_saveregs en aquest objectiu"
+-
+-#: tlink.c:483
+-#, gcc-internal-format
+-msgid "repository file '%s' does not contain command-line arguments"
+-msgstr ""
+-
+-#: tlink.c:728
+-#, gcc-internal-format
+-msgid "'%s' was assigned to '%s', but was not defined during recompilation, or vice versa"
+-msgstr ""
+-
+-#: tlink.c:798
+-#, gcc-internal-format
+-msgid "ld returned %d exit status"
+-msgstr "ld va retornar l'estat de sortida %d"
+-
+-#: toplev.c:528
+-#, fuzzy, gcc-internal-format
+-msgid "invalid option argument %qs"
+-msgstr "opció \"%s\" no vàlida"
+-
+-#: toplev.c:626
+-#, gcc-internal-format
+-msgid "getting core file size maximum limit: %m"
+-msgstr ""
+-
+-#: toplev.c:629
+-#, gcc-internal-format
+-msgid "setting core file size limit to maximum: %m"
+-msgstr ""
+-
+-#: toplev.c:849
+-#, fuzzy, gcc-internal-format
+-msgid "%q+F declared %<static%> but never defined"
+-msgstr "\"%s\" declarat \"static\" però mai definit"
+-
+-#: toplev.c:877
+-#, fuzzy, gcc-internal-format
+-msgid "%q+D defined but not used"
+-msgstr "\"%s\" definit però no utilitzat"
+-
+-#: toplev.c:920
+-#, fuzzy, gcc-internal-format
+-msgid "%qD is deprecated (declared at %s:%d)"
+-msgstr "\"%s\" és depreciat (declarat a %s:%d)"
+-
+-#: toplev.c:943
+-#, fuzzy, gcc-internal-format
+-msgid "%qs is deprecated (declared at %s:%d)"
+-msgstr "\"%s\" és depreciat (declarat a %s:%d)"
+-
+-#: toplev.c:947
+-#, gcc-internal-format
+-msgid "type is deprecated (declared at %s:%d)"
+-msgstr "type és depreciat (declarat a %s:%d)"
+-
+-#: toplev.c:953
+-#, fuzzy, gcc-internal-format
+-msgid "%qs is deprecated"
+-msgstr "\"%s\" és depreciat"
+-
+-#: toplev.c:955
+-#, gcc-internal-format
+-msgid "type is deprecated"
+-msgstr "type és depreciat"
+-
+-#: toplev.c:975 toplev.c:1002
+-#, gcc-internal-format
+-msgid "GCC supports only %d input file changes"
+-msgstr ""
+-
+-#: toplev.c:1160
+-#, gcc-internal-format
+-msgid "unrecognized gcc debugging option: %c"
+-msgstr "opció de depuració de gcc no reconeguda: %c"
+-
+-#: toplev.c:1411
+-#, fuzzy, gcc-internal-format
+-msgid "can%'t open %s for writing: %m"
+-msgstr "no es pot obrir %s per a escriptura"
+-
+-#: toplev.c:1432
+-#, fuzzy, gcc-internal-format
+-msgid "-frecord-gcc-switches is not supported by the current target"
+-msgstr "no es dóna suport a -fdata-sections en aquest objectiu"
+-
+-#: toplev.c:1745
+-#, fuzzy, gcc-internal-format
+-msgid "this target does not support %qs"
+-msgstr "%s no té suport per a %s"
+-
+-#: toplev.c:1794
+-#, gcc-internal-format
+-msgid "instruction scheduling not supported on this target machine"
+-msgstr "no es dóna suport a la planificació d'instruccions en aquest objectiu"
+-
+-#: toplev.c:1798
+-#, gcc-internal-format
+-msgid "this target machine does not have delayed branches"
+-msgstr "aquesta màquina objectiu no té ramificacions alentides"
+-
+-#: toplev.c:1812
+-#, gcc-internal-format
+-msgid "-f%sleading-underscore not supported on this target machine"
+-msgstr "no es dóna suport a -f%sleading-underscore en aquest objectiu"
+-
+-#: toplev.c:1885
+-#, fuzzy, gcc-internal-format
+-msgid "target system does not support the \"%s\" debug format"
+-msgstr "%s no té suport per al format \"%%%s%c\" %s"
+-
+-#: toplev.c:1898
+-#, gcc-internal-format
+-msgid "variable tracking requested, but useless unless producing debug info"
+-msgstr ""
+-
+-#: toplev.c:1901
+-#, fuzzy, gcc-internal-format
+-msgid "variable tracking requested, but not supported by this debug format"
+-msgstr "%s no té suport per al format \"%%%s%c\" %s"
+-
+-#: toplev.c:1935
+-#, fuzzy, gcc-internal-format
+-msgid "can%'t open %s: %m"
+-msgstr "no es pot obrir %s"
+-
+-#: toplev.c:1942
+-#, gcc-internal-format
+-msgid "-ffunction-sections not supported for this target"
+-msgstr "no es dóna suport a -ffunction-sections en aquest objectiu"
+-
+-#: toplev.c:1947
+-#, gcc-internal-format
+-msgid "-fdata-sections not supported for this target"
+-msgstr "no es dóna suport a -fdata-sections en aquest objectiu"
+-
+-#: toplev.c:1954
+-#, gcc-internal-format
+-msgid "-ffunction-sections disabled; it makes profiling impossible"
+-msgstr "-ffunction-sections desactivat; fa impossible l'anàlisi de perfil"
+-
+-#: toplev.c:1961
+-#, gcc-internal-format
+-msgid "-fprefetch-loop-arrays not supported for this target"
+-msgstr "no es dóna suport a -fprefetch-loop-arrays en aquest objectiu"
+-
+-#: toplev.c:1967
+-#, gcc-internal-format
+-msgid "-fprefetch-loop-arrays not supported for this target (try -march switches)"
+-msgstr "no es dóna suport a -fprefetch-loop-arrays en aquest objectiu (prova opcions -march)"
+-
+-#: toplev.c:1976
+-#, gcc-internal-format
+-msgid "-fprefetch-loop-arrays is not supported with -Os"
+-msgstr "no es dóna suport a -fprefetch-loop-arrays amb -Os"
+-
+-#: toplev.c:1983
+-#, gcc-internal-format
+-msgid "-ffunction-sections may affect debugging on some targets"
+-msgstr "-ffunction-sections podria afectar la depuració en alguns objectius"
+-
+-#: toplev.c:1999
+-#, fuzzy, gcc-internal-format
+-msgid "-fstack-protector not supported for this target"
+-msgstr "no es dóna suport a -fdata-sections en aquest objectiu"
+-
+-#: toplev.c:2012
+-#, gcc-internal-format
+-msgid "unwind tables currently requires a frame pointer for correctness"
+-msgstr ""
+-
+-#: toplev.c:2198
+-#, fuzzy, gcc-internal-format
+-msgid "error writing to %s: %m"
+-msgstr "error a l'escriure a %s"
+-
+-#: toplev.c:2200 java/jcf-parse.c:1776
+-#, fuzzy, gcc-internal-format
+-msgid "error closing %s: %m"
+-msgstr "error al tancar %s"
+-
+-#: tree-cfg.c:1432 tree-cfg.c:2068 tree-cfg.c:2071
+-#, fuzzy, gcc-internal-format
+-msgid "%Hwill never be executed"
+-msgstr "la cridada %2d mai s'executa\n"
+-
+-#: tree-cfg.c:3134
+-#, gcc-internal-format
+-msgid "SSA name in freelist but still referenced"
+-msgstr ""
+-
+-#: tree-cfg.c:3143
+-#, gcc-internal-format
+-msgid "ASSERT_EXPR with an always-false condition"
+-msgstr ""
+-
+-#: tree-cfg.c:3156
+-#, gcc-internal-format
+-msgid "GIMPLE register modified with BIT_FIELD_REF"
+-msgstr ""
+-
+-#: tree-cfg.c:3191
+-#, gcc-internal-format
+-msgid "invariant not recomputed when ADDR_EXPR changed"
+-msgstr ""
+-
+-#: tree-cfg.c:3197
+-#, gcc-internal-format
+-msgid "constant not recomputed when ADDR_EXPR changed"
+-msgstr ""
+-
+-#: tree-cfg.c:3202
+-#, gcc-internal-format
+-msgid "side effects not recomputed when ADDR_EXPR changed"
+-msgstr ""
+-
+-#: tree-cfg.c:3218
+-#, gcc-internal-format
+-msgid "address taken, but ADDRESSABLE bit not set"
+-msgstr ""
+-
+-#: tree-cfg.c:3228
+-#, gcc-internal-format
+-msgid "non-integral used in condition"
+-msgstr ""
+-
+-#: tree-cfg.c:3233
+-#, fuzzy, gcc-internal-format
+-msgid "invalid conditional operand"
+-msgstr "restriccions no vàlides per a l'operand"
+-
+-#: tree-cfg.c:3285
+-#, fuzzy, gcc-internal-format
+-msgid "invalid reference prefix"
+-msgstr "membre referència \"%D\" sense inicialitzar"
+-
+-#: tree-cfg.c:3296
+-#, fuzzy, gcc-internal-format
+-msgid "invalid operand to plus/minus, type is a pointer"
+-msgstr "operand no vàlid en la instrucció"
+-
+-#: tree-cfg.c:3307
+-#, fuzzy, gcc-internal-format
+-msgid "invalid operand to pointer plus, first operand is not a pointer"
+-msgstr "l'operand base de \"->\" no és un punter"
+-
+-#: tree-cfg.c:3315
+-#, gcc-internal-format
+-msgid "invalid operand to pointer plus, second operand is not an integer with type of sizetype."
+-msgstr ""
+-
+-#: tree-cfg.c:3382 tree-cfg.c:3798
+-#, fuzzy, gcc-internal-format
+-msgid "invalid operand in unary expression"
+-msgstr "operadors no vàlids per al binari %s"
+-
+-#: tree-cfg.c:3392
+-#, fuzzy, gcc-internal-format
+-msgid "type mismatch in unary expression"
+-msgstr "els tipus de dades no coincideixen en l'expressió condicional"
+-
+-#: tree-cfg.c:3413
+-#, fuzzy, gcc-internal-format
+-msgid "invalid operands in binary expression"
+-msgstr "operadors no vàlids per al binari %s"
+-
+-#: tree-cfg.c:3424
+-#, fuzzy, gcc-internal-format
+-msgid "type mismatch in binary expression"
+-msgstr "els tipus de dades no coincideixen en l'expressió condicional"
+-
+-#: tree-cfg.c:3449
+-#, fuzzy, gcc-internal-format
+-msgid "invalid expression for min lvalue"
+-msgstr "expressió no vàlida com a operand"
+-
+-#: tree-cfg.c:3456
+-#, fuzzy, gcc-internal-format
+-msgid "invalid operand in indirect reference"
+-msgstr "operand no vàlid en la instrucció"
+-
+-#: tree-cfg.c:3463
+-#, fuzzy, gcc-internal-format
+-msgid "type mismatch in indirect reference"
+-msgstr "els tipus de dades no coincideixen en l'expressió condicional"
+-
+-#: tree-cfg.c:3491
+-#, fuzzy, gcc-internal-format
+-msgid "invalid operands to array reference"
+-msgstr "operadors no vàlids per al binari %s"
+-
+-#: tree-cfg.c:3502
+-#, fuzzy, gcc-internal-format
+-msgid "type mismatch in array reference"
+-msgstr "falta subindici en la referència de la matriu"
+-
+-#: tree-cfg.c:3511
+-#, fuzzy, gcc-internal-format
+-msgid "type mismatch in array range reference"
+-msgstr "falta subindici en la referència de la matriu"
+-
+-#: tree-cfg.c:3522
+-#, fuzzy, gcc-internal-format
+-msgid "type mismatch in real/imagpart reference"
+-msgstr "els tipus de dades no coincideixen en l'expressió condicional"
+-
+-#: tree-cfg.c:3532
+-#, fuzzy, gcc-internal-format
+-msgid "type mismatch in component reference"
+-msgstr "els tipus de dades no coincideixen en l'expressió condicional"
+-
+-#: tree-cfg.c:3586
+-#, fuzzy, gcc-internal-format
+-msgid "invalid operand in conversion"
+-msgstr "operand no vàlid en la instrucció"
+-
+-#: tree-cfg.c:3614
+-#, fuzzy, gcc-internal-format
+-msgid "invalid types in nop conversion"
+-msgstr "tipus \"void\" no vàlid per a new"
+-
+-#: tree-cfg.c:3628
+-#, fuzzy, gcc-internal-format
+-msgid "invalid operand in int to float conversion"
+-msgstr "operand no vàlid en la instrucció"
+-
+-#: tree-cfg.c:3634
+-#, fuzzy, gcc-internal-format
+-msgid "invalid types in conversion to floating point"
+-msgstr "sufix \"%.*s\" no vàlid en la constant de coma flotant"
+-
+-#: tree-cfg.c:3647
+-#, fuzzy, gcc-internal-format
+-msgid "invalid operand in float to int conversion"
+-msgstr "operand no vàlid en la instrucció"
+-
+-#: tree-cfg.c:3653
+-#, fuzzy, gcc-internal-format
+-msgid "invalid types in conversion to integer"
+-msgstr "tipus \"void\" no vàlid per a new"
+-
+-#: tree-cfg.c:3667
+-#, fuzzy, gcc-internal-format
+-msgid "invalid operands in complex expression"
+-msgstr "operand no vàlid en la instrucció"
+-
+-#: tree-cfg.c:3680
+-#, fuzzy, gcc-internal-format
+-msgid "type mismatch in complex expression"
+-msgstr "els tipus de dades no coincideixen en l'expressió condicional"
+-
+-#: tree-cfg.c:3694
+-#, gcc-internal-format
+-msgid "constructor not allowed for non-vector types"
+-msgstr ""
+-
+-#: tree-cfg.c:3711
+-#, fuzzy, gcc-internal-format
+-msgid "invalid operands in shift expression"
+-msgstr "operand no vàlid en la instrucció"
+-
+-#: tree-cfg.c:3717
+-#, fuzzy, gcc-internal-format
+-msgid "type mismatch in shift expression"
+-msgstr "els tipus de dades no coincideixen en l'expressió condicional"
+-
+-#: tree-cfg.c:3735
+-#, fuzzy, gcc-internal-format
+-msgid "invalid (pointer) operands to plus/minus"
+-msgstr "operadors no vàlids per al binari %s"
+-
+-#: tree-cfg.c:3748
+-#, fuzzy, gcc-internal-format
+-msgid "invalid operands in pointer plus expression"
+-msgstr "operand no vàlid en la instrucció"
+-
+-#: tree-cfg.c:3755
+-#, fuzzy, gcc-internal-format
+-msgid "type mismatch in pointer plus expression"
+-msgstr "els tipus de dades no coincideixen en l'expressió condicional"
+-
+-#: tree-cfg.c:3774
+-#, fuzzy, gcc-internal-format
+-msgid "invalid operands in conditional expression"
+-msgstr "tipus signed i unsigned en l'expressió condicional"
+-
+-#: tree-cfg.c:3807
+-#, fuzzy, gcc-internal-format
+-msgid "type mismatch in address expression"
+-msgstr "els tipus de dades no coincideixen en l'expressió condicional"
+-
+-#: tree-cfg.c:3827
+-#, fuzzy, gcc-internal-format
+-msgid "invalid operands in truth expression"
+-msgstr "operand no vàlid en la instrucció"
+-
+-#: tree-cfg.c:3836
+-#, fuzzy, gcc-internal-format
+-msgid "type mismatch in binary truth expression"
+-msgstr "els tipus de dades no coincideixen en l'expressió condicional"
+-
+-#: tree-cfg.c:3852
+-#, fuzzy, gcc-internal-format
+-msgid "invalid operand in unary not"
+-msgstr "operadors no vàlids per al binari %s"
+-
+-#: tree-cfg.c:3861
+-#, fuzzy, gcc-internal-format
+-msgid "type mismatch in not expression"
+-msgstr "els tipus de dades no coincideixen en l'expressió condicional"
+-
+-#: tree-cfg.c:3900
+-#, fuzzy, gcc-internal-format
+-msgid "invalid operands in comparison expression"
+-msgstr "ús no vàlid de l'expressió void"
+-
+-#: tree-cfg.c:3917
+-#, fuzzy, gcc-internal-format
+-msgid "type mismatch in comparison expression"
+-msgstr "els tipus de dades no coincideixen en l'expressió condicional"
+-
+-#: tree-cfg.c:3947
+-#, fuzzy, gcc-internal-format
+-msgid "non-trivial conversion at assignment"
+-msgstr "l-value no vàlid en l'assignació"
+-
+-#: tree-cfg.c:3988 tree-cfg.c:4136
+-#, fuzzy, gcc-internal-format
+-msgid "is not a valid GIMPLE statement"
+-msgstr "\"%E\" no és un argument de patró vàlid"
+-
+-#: tree-cfg.c:4015
+-#, fuzzy, gcc-internal-format
+-msgid "invalid operand to switch statement"
+-msgstr "no vàlid operand per al codi %%s"
+-
+-#: tree-cfg.c:4026
+-#, fuzzy, gcc-internal-format
+-msgid "type error in return expression"
+-msgstr " en expressió thrown"
+-
+-#: tree-cfg.c:4104
+-#, fuzzy, gcc-internal-format
+-msgid "verify_gimple failed"
+-msgstr "verify_flow_info fallat"
+-
+-#: tree-cfg.c:4156
+-#, gcc-internal-format
+-msgid "statement marked for throw, but doesn%'t"
+-msgstr ""
+-
+-#: tree-cfg.c:4161
+-#, gcc-internal-format
+-msgid "statement marked for throw in middle of block"
+-msgstr ""
+-
+-#: tree-cfg.c:4232
+-#, fuzzy, gcc-internal-format
+-msgid "unexpected non-tuple"
+-msgstr "operand inesperat"
+-
+-#: tree-cfg.c:4261
+-#, gcc-internal-format
+-msgid "Dead STMT in EH table"
+-msgstr ""
+-
+-#: tree-cfg.c:4295
+-#, gcc-internal-format
+-msgid "bb_for_stmt (phi) is set to a wrong basic block"
+-msgstr ""
+-
+-#: tree-cfg.c:4306
+-#, fuzzy, gcc-internal-format
+-msgid "missing PHI def"
+-msgstr "falta valor"
+-
+-#: tree-cfg.c:4317
+-#, gcc-internal-format
+-msgid "PHI def is not a GIMPLE value"
+-msgstr ""
+-
+-#: tree-cfg.c:4333 tree-cfg.c:4359
+-#, gcc-internal-format
+-msgid "incorrect sharing of tree nodes"
+-msgstr ""
+-
+-#: tree-cfg.c:4350
+-#, gcc-internal-format
+-msgid "bb_for_stmt (stmt) is set to a wrong basic block"
+-msgstr ""
+-
+-#: tree-cfg.c:4373
+-#, fuzzy, gcc-internal-format
+-msgid "verify_stmts failed"
+-msgstr "verify_flow_info fallat"
+-
+-#: tree-cfg.c:4396
+-#, gcc-internal-format
+-msgid "ENTRY_BLOCK has IL associated with it"
+-msgstr ""
+-
+-#: tree-cfg.c:4402
+-#, gcc-internal-format
+-msgid "EXIT_BLOCK has IL associated with it"
+-msgstr ""
+-
+-#: tree-cfg.c:4409
+-#, gcc-internal-format
+-msgid "fallthru to exit from bb %d"
+-msgstr ""
+-
+-#: tree-cfg.c:4431
+-#, gcc-internal-format
+-msgid "nonlocal label "
+-msgstr ""
+-
+-#: tree-cfg.c:4440 tree-cfg.c:4450 tree-cfg.c:4475
+-#, gcc-internal-format
+-msgid "label "
+-msgstr ""
+-
+-#: tree-cfg.c:4465
+-#, fuzzy, gcc-internal-format
+-msgid "control flow in the middle of basic block %d"
+-msgstr "control de fluix insn dintre el bloc bàsic"
+-
+-#: tree-cfg.c:4495
+-#, fuzzy, gcc-internal-format
+-msgid "fallthru edge after a control statement in bb %d"
+-msgstr "Vora de caiguda després del salt incondicional %i"
+-
+-#: tree-cfg.c:4508
+-#, gcc-internal-format
+-msgid "true/false edge after a non-COND_EXPR in bb %d"
+-msgstr ""
+-
+-#: tree-cfg.c:4524
+-#, gcc-internal-format
+-msgid "COND_EXPR with code in branches at the end of bb %d"
+-msgstr ""
+-
+-#: tree-cfg.c:4538 tree-cfg.c:4560 tree-cfg.c:4573 tree-cfg.c:4644
+-#, gcc-internal-format
+-msgid "wrong outgoing edge flags at end of bb %d"
+-msgstr ""
+-
+-#: tree-cfg.c:4548
+-#, fuzzy, gcc-internal-format
+-msgid "explicit goto at end of bb %d"
+-msgstr "instanciació explícita de \"%#D\""
+-
+-#: tree-cfg.c:4578
+-#, gcc-internal-format
+-msgid "return edge does not point to exit in bb %d"
+-msgstr ""
+-
+-#: tree-cfg.c:4611
+-#, gcc-internal-format
+-msgid "found default case not at end of case vector"
+-msgstr ""
+-
+-#: tree-cfg.c:4617
+-#, fuzzy, gcc-internal-format
+-msgid "case labels not sorted: "
+-msgstr "els trampolins no tenen suport"
+-
+-#: tree-cfg.c:4628
+-#, gcc-internal-format
+-msgid "no default case found at end of case vector"
+-msgstr ""
+-
+-#: tree-cfg.c:4636
+-#, gcc-internal-format
+-msgid "extra outgoing edge %d->%d"
+-msgstr ""
+-
+-#: tree-cfg.c:4658
+-#, gcc-internal-format
+-msgid "missing edge %i->%i"
+-msgstr ""
+-
+-#: tree-cfg.c:6941 tree-cfg.c:6945
+-#, fuzzy, gcc-internal-format
+-msgid "%H%<noreturn%> function does return"
+-msgstr "la funció \"noreturn\" retorna"
+-
+-#: tree-cfg.c:6967 tree-cfg.c:6972
+-#, fuzzy, gcc-internal-format
+-msgid "%Hcontrol reaches end of non-void function"
+-msgstr "el control arriba a el final d'una funció que no és void"
+-
+-#: tree-cfg.c:7033
+-#, fuzzy, gcc-internal-format
+-msgid "%Jfunction might be possible candidate for attribute %<noreturn%>"
+-msgstr "la funció pot ser un candidat possible per a l'atribut \"noreturn\""
+-
+-#: tree-dump.c:933
+-#, fuzzy, gcc-internal-format
+-msgid "could not open dump file %qs: %s"
+-msgstr "no es pot obrir el fitxer de dump \"%s\""
+-
+-#: tree-dump.c:1068
+-#, fuzzy, gcc-internal-format
+-msgid "ignoring unknown option %q.*s in %<-fdump-%s%>"
+-msgstr "ignorant l'opció desconeguda \"%.*s\" dintre \"-f%s\""
+-
+-#: tree-eh.c:1788
+-#, fuzzy, gcc-internal-format
+-msgid "EH edge %i->%i is missing"
+-msgstr "falta l'argument per a \"-%s\""
+-
+-#: tree-eh.c:1793
+-#, gcc-internal-format
+-msgid "EH edge %i->%i miss EH flag"
+-msgstr ""
+-
+-#. ??? might not be mistake.
+-#: tree-eh.c:1799
+-#, gcc-internal-format
+-msgid "EH edge %i->%i has duplicated regions"
+-msgstr ""
+-
+-#: tree-eh.c:1833
+-#, gcc-internal-format
+-msgid "BB %i can not throw but has EH edges"
+-msgstr ""
+-
+-#: tree-eh.c:1840
+-#, gcc-internal-format
+-msgid "BB %i last statement has incorrectly set region"
+-msgstr ""
+-
+-#: tree-eh.c:1851
+-#, gcc-internal-format
+-msgid "unnecessary EH edge %i->%i"
+-msgstr ""
+-
+-#: tree-inline.c:1830
+-#, gcc-internal-format
+-msgid "function %q+F can never be inlined because it uses alloca (override using the always_inline attribute)"
+-msgstr ""
+-
+-#: tree-inline.c:1842
+-#, gcc-internal-format
+-msgid "function %q+F can never be inlined because it uses setjmp"
+-msgstr ""
+-
+-#: tree-inline.c:1856
+-#, gcc-internal-format
+-msgid "function %q+F can never be inlined because it uses variable argument lists"
+-msgstr ""
+-
+-#: tree-inline.c:1867
+-#, gcc-internal-format
+-msgid "function %q+F can never be inlined because it uses setjmp-longjmp exception handling"
+-msgstr ""
+-
+-#: tree-inline.c:1874
+-#, gcc-internal-format
+-msgid "function %q+F can never be inlined because it uses non-local goto"
+-msgstr ""
+-
+-#: tree-inline.c:1885
+-#, gcc-internal-format
+-msgid "function %q+F can never be inlined because it uses __builtin_return or __builtin_apply_args"
+-msgstr ""
+-
+-#: tree-inline.c:1904
+-#, gcc-internal-format
+-msgid "function %q+F can never be inlined because it contains a computed goto"
+-msgstr ""
+-
+-#: tree-inline.c:1918
+-#, gcc-internal-format
+-msgid "function %q+F can never be inlined because it receives a non-local goto"
+-msgstr ""
+-
+-#: tree-inline.c:1943
+-#, gcc-internal-format
+-msgid "function %q+F can never be inlined because it uses variable sized variables"
+-msgstr ""
+-
+-#: tree-inline.c:2005
+-#, gcc-internal-format
+-msgid "function %q+F can never be inlined because it is suppressed using -fno-inline"
+-msgstr ""
+-
+-#: tree-inline.c:2019
+-#, gcc-internal-format
+-msgid "function %q+F can never be inlined because it uses attributes conflicting with inlining"
+-msgstr ""
+-
+-#: tree-inline.c:2588 tree-inline.c:2598
+-#, fuzzy, gcc-internal-format
+-msgid "inlining failed in call to %q+F: %s"
+-msgstr "el \"inlining\" ha fallat en la cridada a \"%s\""
+-
+-#: tree-inline.c:2589 tree-inline.c:2600
+-#, gcc-internal-format
+-msgid "called from here"
+-msgstr "cridat des d'aquí"
+-
+-#: tree-mudflap.c:860
+-#, gcc-internal-format
+-msgid "mudflap checking not yet implemented for ARRAY_RANGE_REF"
+-msgstr ""
+-
+-#: tree-mudflap.c:1044
+-#, gcc-internal-format
+-msgid "mudflap cannot track %qs in stub function"
+-msgstr ""
+-
+-#: tree-mudflap.c:1272
+-#, gcc-internal-format
+-msgid "mudflap cannot track unknown size extern %qs"
+-msgstr ""
+-
+-#: tree-nomudflap.c:50
+-#, fuzzy, gcc-internal-format
+-msgid "mudflap: this language is not supported"
+-msgstr "els trampolins no tenen suport"
+-
+-#: tree-optimize.c:430
+-#, fuzzy, gcc-internal-format
+-msgid "size of return value of %q+D is %u bytes"
+-msgstr "la grandària del valor de retorn de \"%s\" és de %u octets"
+-
+-#: tree-optimize.c:433
+-#, fuzzy, gcc-internal-format
+-msgid "size of return value of %q+D is larger than %wd bytes"
+-msgstr "la grandària del valor de retorn de \"%s\" és més gran que %d octets"
+-
+-#: tree-outof-ssa.c:637 tree-outof-ssa.c:688 tree-ssa-coalesce.c:936
+-#: tree-ssa-coalesce.c:951 tree-ssa-coalesce.c:1163 tree-ssa-live.c:1043
+-#, gcc-internal-format
+-msgid "SSA corruption"
+-msgstr ""
+-
+-#: tree-outof-ssa.c:1105
+-#, gcc-internal-format
+-msgid " Pending stmts not issued on PRED edge (%d, %d)\n"
+-msgstr ""
+-
+-#: tree-outof-ssa.c:1111
+-#, gcc-internal-format
+-msgid " Pending stmts not issued on SUCC edge (%d, %d)\n"
+-msgstr ""
+-
+-#: tree-outof-ssa.c:1118
+-#, gcc-internal-format
+-msgid " Pending stmts not issued on ENTRY edge (%d, %d)\n"
+-msgstr ""
+-
+-#: tree-outof-ssa.c:1124
+-#, gcc-internal-format
+-msgid " Pending stmts not issued on EXIT edge (%d, %d)\n"
+-msgstr ""
+-
+-#: tree-profile.c:351
+-#, fuzzy, gcc-internal-format
+-msgid "unimplemented functionality"
+-msgstr "En la declaració de la funció"
+-
+-#: tree-ssa-alias-warnings.c:814
+-#, gcc-internal-format
+-msgid "%Hlikely type-punning may break strict-aliasing rules: object %<%s%s%> of main type %qT is referenced at or around %s:%d and may be aliased to object %<%s%s%> of main type %qT which is referenced at or around %s:%d."
+-msgstr ""
+-
+-#: tree-ssa.c:110
+-#, gcc-internal-format
+-msgid "expected an SSA_NAME object"
+-msgstr ""
+-
+-#: tree-ssa.c:116
+-#, gcc-internal-format
+-msgid "type mismatch between an SSA_NAME and its symbol"
+-msgstr ""
+-
+-#: tree-ssa.c:122
+-#, gcc-internal-format
+-msgid "found an SSA_NAME that had been released into the free pool"
+-msgstr ""
+-
+-#: tree-ssa.c:128
+-#, gcc-internal-format
+-msgid "found a virtual definition for a GIMPLE register"
+-msgstr ""
+-
+-#: tree-ssa.c:134
+-#, fuzzy, gcc-internal-format
+-msgid "found a real definition for a non-register"
+-msgstr "la definició de la funció ho va declarar com \"register\""
+-
+-#: tree-ssa.c:141
+-#, gcc-internal-format
+-msgid "found real variable when subvariables should have appeared"
+-msgstr ""
+-
+-#: tree-ssa.c:148
+-#, gcc-internal-format
+-msgid "found a default name with a non-empty defining statement"
+-msgstr ""
+-
+-#: tree-ssa.c:176
+-#, gcc-internal-format
+-msgid "SSA_NAME created in two different blocks %i and %i"
+-msgstr ""
+-
+-#: tree-ssa.c:185
+-#, gcc-internal-format
+-msgid "SSA_NAME_DEF_STMT is wrong"
+-msgstr ""
+-
+-#: tree-ssa.c:237
+-#, fuzzy, gcc-internal-format
+-msgid "missing definition"
+-msgstr "falta valor inicial"
+-
+-#: tree-ssa.c:243
+-#, gcc-internal-format
+-msgid "definition in block %i does not dominate use in block %i"
+-msgstr ""
+-
+-#: tree-ssa.c:251
+-#, gcc-internal-format
+-msgid "definition in block %i follows the use"
+-msgstr ""
+-
+-#: tree-ssa.c:258
+-#, gcc-internal-format
+-msgid "SSA_NAME_OCCURS_IN_ABNORMAL_PHI should be set"
+-msgstr ""
+-
+-#: tree-ssa.c:266
+-#, gcc-internal-format
+-msgid "no immediate_use list"
+-msgstr ""
+-
+-#: tree-ssa.c:278
+-#, gcc-internal-format
+-msgid "wrong immediate use list"
+-msgstr ""
+-
+-#: tree-ssa.c:312
+-#, gcc-internal-format
+-msgid "incoming edge count does not match number of PHI arguments"
+-msgstr ""
+-
+-#: tree-ssa.c:326
+-#, fuzzy, gcc-internal-format
+-msgid "PHI argument is missing for edge %d->%d"
+-msgstr "falta l'argument per omissió per al paràmetre %P de \"%+#D\""
+-
+-#: tree-ssa.c:335
+-#, fuzzy, gcc-internal-format
+-msgid "PHI argument is not SSA_NAME, or invariant"
+-msgstr "l'argument \"%d\" no és una constant"
+-
+-#: tree-ssa.c:348
+-#, gcc-internal-format
+-msgid "wrong edge %d->%d for PHI argument"
+-msgstr ""
+-
+-#: tree-ssa.c:398
+-#, gcc-internal-format
+-msgid "non-addressable variable inside an alias set"
+-msgstr ""
+-
+-#: tree-ssa.c:409
+-#, fuzzy, gcc-internal-format
+-msgid "verify_flow_insensitive_alias_info failed"
+-msgstr "verify_flow_info fallat"
+-
+-#: tree-ssa.c:451
+-#, gcc-internal-format
+-msgid "dereferenced pointers should have a name or a symbol tag"
+-msgstr ""
+-
+-#: tree-ssa.c:458
+-#, gcc-internal-format
+-msgid "pointers with a memory tag, should have points-to sets"
+-msgstr ""
+-
+-#: tree-ssa.c:470
+-#, gcc-internal-format
+-msgid "pointer escapes but its name tag is not call-clobbered"
+-msgstr ""
+-
+-#: tree-ssa.c:480
+-#, fuzzy, gcc-internal-format
+-msgid "verify_flow_sensitive_alias_info failed"
+-msgstr "verify_flow_info fallat"
+-
+-#: tree-ssa.c:508
+-#, gcc-internal-format
+-msgid "variable in call_clobbered_vars but not marked call_clobbered"
+-msgstr ""
+-
+-#: tree-ssa.c:527
+-#, gcc-internal-format
+-msgid "variable marked call_clobbered but not in call_clobbered_vars bitmap."
+-msgstr ""
+-
+-#: tree-ssa.c:537
+-#, fuzzy, gcc-internal-format
+-msgid "verify_call_clobbering failed"
+-msgstr "verify_flow_info fallat"
+-
+-#: tree-ssa.c:558
+-#, gcc-internal-format
+-msgid "Memory partitions should have at least one symbol"
+-msgstr ""
+-
+-#: tree-ssa.c:568
+-#, gcc-internal-format
+-msgid "Partitioned symbols should belong to exactly one partition"
+-msgstr ""
+-
+-#: tree-ssa.c:581
+-#, fuzzy, gcc-internal-format
+-msgid "verify_memory_partitions failed"
+-msgstr "verify_flow_info fallat"
+-
+-#: tree-ssa.c:653
+-#, gcc-internal-format
+-msgid "AUX pointer initialized for edge %d->%d"
+-msgstr ""
+-
+-#: tree-ssa.c:677
+-#, gcc-internal-format
+-msgid "stmt (%p) marked modified after optimization pass: "
+-msgstr ""
+-
+-#: tree-ssa.c:697
+-#, gcc-internal-format
+-msgid "statement makes a memory store, but has no VDEFS"
+-msgstr ""
+-
+-#: tree-ssa.c:707 tree-ssa.c:717
+-#, fuzzy, gcc-internal-format
+-msgid "in statement"
+-msgstr "En la declaració de la funció"
+-
+-#: tree-ssa.c:756
+-#, fuzzy, gcc-internal-format
+-msgid "verify_ssa failed"
+-msgstr "verify_flow_info fallat"
+-
+-#: tree-ssa.c:1284
+-#, fuzzy, gcc-internal-format
+-msgid "%J%qD was declared here"
+-msgstr "%Jes va declarar \"%D\" prèviament aquí"
+-
+-#. We only do data flow with SSA_NAMEs, so that's all we
+-#. can warn about.
+-#: tree-ssa.c:1302
+-#, fuzzy, gcc-internal-format
+-msgid "%H%qD is used uninitialized in this function"
+-msgstr "%J\"%D\" podria ser usat sense iniciar en aquesta funció"
+-
+-#: tree-ssa.c:1340
+-#, fuzzy, gcc-internal-format
+-msgid "%H%qD may be used uninitialized in this function"
+-msgstr "%J\"%D\" podria ser usat sense iniciar en aquesta funció"
+-
+-#: tree-vrp.c:4374
+-#, fuzzy, gcc-internal-format
+-msgid "%Harray subscript is outside array bounds"
+-msgstr "el subindici de la matriu no és un enter"
+-
+-#: tree-vrp.c:4388
+-#, fuzzy, gcc-internal-format
+-msgid "%Harray subscript is above array bounds"
+-msgstr "el subindici de la matriu no és un enter"
+-
+-#: tree-vrp.c:4395
+-#, fuzzy, gcc-internal-format
+-msgid "%Harray subscript is below array bounds"
+-msgstr "el subindici de la matriu no és un enter"
+-
+-#: tree-vrp.c:5042
+-#, gcc-internal-format
+-msgid "assuming signed overflow does not occur when simplifying conditional to constant"
+-msgstr ""
+-
+-#: tree-vrp.c:5048
+-#, gcc-internal-format
+-msgid "assuming signed overflow does not occur when simplifying conditional"
+-msgstr ""
+-
+-#: tree.c:3951
+-#, gcc-internal-format
+-msgid "%q+D already declared with dllexport attribute: dllimport ignored"
+-msgstr ""
+-
+-#: tree.c:3963
+-#, gcc-internal-format
+-msgid "%q+D redeclared without dllimport attribute after being referenced with dll linkage"
+-msgstr ""
+-
+-#: tree.c:3979
+-#, gcc-internal-format
+-msgid "%q+D redeclared without dllimport attribute: previous dllimport ignored"
+-msgstr ""
+-
+-#: tree.c:4038 tree.c:4050 config/darwin.c:1458 config/arm/arm.c:3099
+-#: config/arm/arm.c:3127 config/avr/avr.c:4598 config/h8300/h8300.c:5281
+-#: config/h8300/h8300.c:5305 config/i386/i386.c:3056 config/i386/i386.c:22515
+-#: config/ia64/ia64.c:586 config/m68hc11/m68hc11.c:1118
+-#: config/rs6000/rs6000.c:19657 config/sh/symbian.c:408
+-#: config/sh/symbian.c:415
+-#, fuzzy, gcc-internal-format
+-msgid "%qs attribute ignored"
+-msgstr "s'ignora l'atribut \"%s\""
+-
+-#: tree.c:4066
+-#, fuzzy, gcc-internal-format
+-msgid "inline function %q+D declared as dllimport: attribute ignored"
+-msgstr "la funció «inline» \"%s\" està declarada com dllimport: s'ignora l'atribut."
+-
+-#: tree.c:4074
+-#, fuzzy, gcc-internal-format
+-msgid "function %q+D definition is marked dllimport"
+-msgstr "la definició de la funció \"%s\" està marcada com dllimport"
+-
+-#: tree.c:4082 config/sh/symbian.c:430
+-#, fuzzy, gcc-internal-format
+-msgid "variable %q+D definition is marked dllimport"
+-msgstr "la variable \"%s\" està marcada com dllimport"
+-
+-#: tree.c:4105 config/sh/symbian.c:505
+-#, gcc-internal-format
+-msgid "external linkage required for symbol %q+D because of %qs attribute"
+-msgstr ""
+-
+-#: tree.c:4119
+-#, gcc-internal-format
+-msgid "%qs implies default visibility, but %qD has already been declared with a different visibility"
+-msgstr ""
+-
+-#: tree.c:5632
+-#, gcc-internal-format
+-msgid "arrays of functions are not meaningful"
+-msgstr "les matrius de funcions no tenen significat"
+-
+-#: tree.c:5785
+-#, gcc-internal-format
+-msgid "function return type cannot be function"
+-msgstr "el tipus de retorn d'una funció no pot ser una funció"
+-
+-#: tree.c:6802 tree.c:6887 tree.c:6948
+-#, fuzzy, gcc-internal-format
+-msgid "tree check: %s, have %s in %s, at %s:%d"
+-msgstr "revisió d'arbre: s'esperava %s, es té %s en %s, en %s:%d"
+-
+-#: tree.c:6839
+-#, fuzzy, gcc-internal-format
+-msgid "tree check: expected none of %s, have %s in %s, at %s:%d"
+-msgstr "revisió d'arbre: s'esperava %s, es té %s en %s, en %s:%d"
+-
+-#: tree.c:6852
+-#, fuzzy, gcc-internal-format
+-msgid "tree check: expected class %qs, have %qs (%s) in %s, at %s:%d"
+-msgstr "revisió d'arbre: s'esperava classe \"%c\", es té \"%c\" (%s) en %s, en %s:%d"
+-
+-#: tree.c:6901
+-#, fuzzy, gcc-internal-format
+-msgid "tree check: did not expect class %qs, have %qs (%s) in %s, at %s:%d"
+-msgstr "revisió d'arbre: s'esperava classe \"%c\", es té \"%c\" (%s) en %s, en %s:%d"
+-
+-#: tree.c:6914
+-#, fuzzy, gcc-internal-format
+-msgid "tree check: expected omp_clause %s, have %s in %s, at %s:%d"
+-msgstr "revisió d'arbre: s'esperava %s, es té %s en %s, en %s:%d"
+-
+-#: tree.c:6974
+-#, fuzzy, gcc-internal-format
+-msgid "tree check: expected tree that contains %qs structure, have %qs in %s, at %s:%d"
+-msgstr "revisió d'arbre: s'esperava %s, es té %s en %s, en %s:%d"
+-
+-#: tree.c:6988
+-#, gcc-internal-format
+-msgid "tree check: accessed elt %d of tree_vec with %d elts in %s, at %s:%d"
+-msgstr "revisió d'arbre: accés de *elt %d de tree_vec amb %d elts en %s, en %s:%d"
+-
+-#: tree.c:7000
+-#, fuzzy, gcc-internal-format
+-msgid "tree check: accessed elt %d of phi_node with %d elts in %s, at %s:%d"
+-msgstr "revisió d'arbre: accés de *elt %d de tree_vec amb %d elts en %s, en %s:%d"
+-
+-#: tree.c:7013
+-#, fuzzy, gcc-internal-format
+-msgid "tree check: accessed operand %d of %s with %d operands in %s, at %s:%d"
+-msgstr "revisió d'arbre: accés de *elt %d de tree_vec amb %d elts en %s, en %s:%d"
+-
+-#: tree.c:7026
+-#, fuzzy, gcc-internal-format
+-msgid "tree check: accessed operand %d of omp_clause %s with %d operands in %s, at %s:%d"
+-msgstr "revisió d'arbre: accés de *elt %d de tree_vec amb %d elts en %s, en %s:%d"
+-
+-#: value-prof.c:351
+-#, gcc-internal-format
+-msgid "Dead histogram"
+-msgstr ""
+-
+-#: value-prof.c:380
+-#, gcc-internal-format
+-msgid "Histogram value statement does not correspond to statement it is associated with"
+-msgstr ""
+-
+-#: value-prof.c:393
+-#, fuzzy, gcc-internal-format
+-msgid "verify_histograms failed"
+-msgstr "verify_flow_info fallat"
+-
+-#: value-prof.c:434
+-#, gcc-internal-format
+-msgid "%HCorrupted value profile: %s profiler overall count (%d) does not match BB count (%d)"
+-msgstr ""
+-
+-#: varasm.c:546
+-#, fuzzy, gcc-internal-format
+-msgid "%+D causes a section type conflict"
+-msgstr "%s causa un conflicte de tipus de secció"
+-
+-#: varasm.c:1089
+-#, fuzzy, gcc-internal-format
+-msgid "alignment of %q+D is greater than maximum object file alignment. Using %d"
+-msgstr "l'alineació de \"%s\" és massa granda que l'alineació màxima del fitxer objecte. S'usa %d."
+-
+-#: varasm.c:1310 varasm.c:1318
+-#, fuzzy, gcc-internal-format
+-msgid "register name not specified for %q+D"
+-msgstr "no s'especifica nom de registre per a \"%s\""
+-
+-#: varasm.c:1320
+-#, fuzzy, gcc-internal-format
+-msgid "invalid register name for %q+D"
+-msgstr "nom de registre no vàlid per a \"%s\""
+-
+-#: varasm.c:1322
+-#, fuzzy, gcc-internal-format
+-msgid "data type of %q+D isn%'t suitable for a register"
+-msgstr "el tipus de dades de \"%s\" no és adequat per a un registre"
+-
+-#: varasm.c:1325
+-#, fuzzy, gcc-internal-format
+-msgid "register specified for %q+D isn%'t suitable for data type"
+-msgstr "el registre especificat per \"%s\" no és adequat per al tipus de dades"
+-
+-#: varasm.c:1335
+-#, gcc-internal-format
+-msgid "global register variable has initial value"
+-msgstr "la variable de registre global té valor inicial"
+-
+-#: varasm.c:1339
+-#, gcc-internal-format
+-msgid "optimization may eliminate reads and/or writes to register variables"
+-msgstr ""
+-
+-#: varasm.c:1377
+-#, fuzzy, gcc-internal-format
+-msgid "register name given for non-register variable %q+D"
+-msgstr "nom de registre donat per a una variable \"%s\" que no és registre"
+-
+-#: varasm.c:1446
+-#, fuzzy, gcc-internal-format
+-msgid "global destructors not supported on this target"
+-msgstr "no es dóna suport a límits de pila en aquest objectiu"
+-
+-#: varasm.c:1512
+-#, fuzzy, gcc-internal-format
+-msgid "global constructors not supported on this target"
+-msgstr "no es dóna suport a límits de pila en aquest objectiu"
+-
+-#: varasm.c:1898
+-#, gcc-internal-format
+-msgid "thread-local COMMON data not implemented"
+-msgstr ""
+-
+-#: varasm.c:1927
+-#, fuzzy, gcc-internal-format
+-msgid "requested alignment for %q+D is greater than implemented alignment of %wu"
+-msgstr "l'alineació sol·licitada per a %s és massa granda que l'alineació implementada de %d"
+-
+-#: varasm.c:4386
+-#, fuzzy, gcc-internal-format
+-msgid "initializer for integer/fixed-point value is too complicated"
+-msgstr "el assignador per a un valor enter és massa complicat"
+-
+-#: varasm.c:4391
+-#, gcc-internal-format
+-msgid "initializer for floating value is not a floating constant"
+-msgstr "el assignador per a un valor de coma flotant no és una constant de coma flotant"
+-
+-#: varasm.c:4664
+-#, fuzzy, gcc-internal-format
+-msgid "invalid initial value for member %qs"
+-msgstr "valor inicial no vàlid per al membre \"%s\""
+-
+-#: varasm.c:4864 varasm.c:4908
+-#, fuzzy, gcc-internal-format
+-msgid "weak declaration of %q+D must precede definition"
+-msgstr "la declaració feble de \"%s\" ha de precedir la definició"
+-
+-#: varasm.c:4872
+-#, fuzzy, gcc-internal-format
+-msgid "weak declaration of %q+D after first use results in unspecified behavior"
+-msgstr "la declaració feble de \"%s\" després del primer ús resulta en una conducta no especificada"
+-
+-#: varasm.c:4906
+-#, fuzzy, gcc-internal-format
+-msgid "weak declaration of %q+D must be public"
+-msgstr "la declaració feble de \"%s\" ha de ser pública"
+-
+-#: varasm.c:4915
+-#, fuzzy, gcc-internal-format
+-msgid "weak declaration of %q+D not supported"
+-msgstr "no es dóna suport a la declaració feble de \"%s\""
+-
+-#: varasm.c:4941
+-#, gcc-internal-format
+-msgid "only weak aliases are supported in this configuration"
+-msgstr "només els aliessis febles tenen suport en aquesta configuració"
+-
+-#: varasm.c:5176
+-#, fuzzy, gcc-internal-format
+-msgid "%Jweakref is not supported in this configuration"
+-msgstr "%s no té suport en aquesta configuració"
+-
+-#: varasm.c:5257
+-#, fuzzy, gcc-internal-format
+-msgid "%q+D aliased to undefined symbol %qs"
+-msgstr "ús no vàlid del tipus indefinit \"%s %s\""
+-
+-#: varasm.c:5262
+-#, gcc-internal-format
+-msgid "%q+D aliased to external symbol %qs"
+-msgstr ""
+-
+-#: varasm.c:5301
+-#, gcc-internal-format
+-msgid "weakref %q+D ultimately targets itself"
+-msgstr ""
+-
+-#: varasm.c:5310
+-#, fuzzy, gcc-internal-format
+-msgid "weakref %q+D must have static linkage"
+-msgstr "no es pot declarar que la funció membre \"%D\" tingui enllaçat estàtic"
+-
+-#: varasm.c:5316
+-#, fuzzy, gcc-internal-format
+-msgid "%Jalias definitions not supported in this configuration"
+-msgstr "les definicions d'alies no tenen suport en aquesta configuració; ignorades"
+-
+-#: varasm.c:5321
+-#, fuzzy, gcc-internal-format
+-msgid "%Jonly weak aliases are supported in this configuration"
+-msgstr "només els aliessis febles tenen suport en aquesta configuració"
+-
+-#: varasm.c:5378
+-#, gcc-internal-format
+-msgid "visibility attribute not supported in this configuration; ignored"
+-msgstr "els atributs de visibilitat no tenen suport en aquesta configuració; ignorats"
+-
+-#: varray.c:195
+-#, gcc-internal-format
+-msgid "virtual array %s[%lu]: element %lu out of bounds in %s, at %s:%d"
+-msgstr "matriu virtual %s[%lu]: l'element %lu està fora dels límits en %s, en %s:%d"
+-
+-#: varray.c:205
+-#, gcc-internal-format
+-msgid "underflowed virtual array %s in %s, at %s:%d"
+-msgstr ""
+-
+-#: vec.c:233
+-#, gcc-internal-format
+-msgid "vector %s %s domain error, in %s at %s:%u"
+-msgstr ""
+-
+-#. Print an error message for unrecognized stab codes.
+-#: xcoffout.c:187
+-#, fuzzy, gcc-internal-format
+-msgid "no sclass for %s stab (0x%x)"
+-msgstr "no hi ha sclass per al stab %s (0x%x)\n"
+-
+-#: config/darwin-c.c:84
+-#, gcc-internal-format
+-msgid "too many #pragma options align=reset"
+-msgstr "massa opcions #pragma align=reset"
+-
+-#: config/darwin-c.c:104 config/darwin-c.c:107 config/darwin-c.c:109
+-#: config/darwin-c.c:111
+-#, gcc-internal-format
+-msgid "malformed '#pragma options', ignoring"
+-msgstr "\"#pragma opcions\" malformat, ignorant"
+-
+-#: config/darwin-c.c:114
+-#, gcc-internal-format
+-msgid "junk at end of '#pragma options'"
+-msgstr "escombraries al final de \"#pragma opcions\""
+-
+-#: config/darwin-c.c:124
+-#, gcc-internal-format
+-msgid "malformed '#pragma options align={mac68k|power|reset}', ignoring"
+-msgstr "\"#pragma opcions align={mac68k|power|reset}\" malformat, ignorant"
+-
+-#: config/darwin-c.c:136
+-#, gcc-internal-format
+-msgid "missing '(' after '#pragma unused', ignoring"
+-msgstr "\"(\" faltant després de '#pragma unused', ignorant"
+-
+-#: config/darwin-c.c:154
+-#, gcc-internal-format
+-msgid "missing ')' after '#pragma unused', ignoring"
+-msgstr "\")\" faltant després de '#pragma unused', ignorant"
+-
+-#: config/darwin-c.c:157
+-#, gcc-internal-format
+-msgid "junk at end of '#pragma unused'"
+-msgstr "escombraries al final de \"#pragma unused\""
+-
+-#: config/darwin-c.c:168
+-#, fuzzy, gcc-internal-format
+-msgid "malformed '#pragma ms_struct', ignoring"
+-msgstr "\"#pragma opcions\" malformat, ignorant"
+-
+-#: config/darwin-c.c:176
+-#, fuzzy, gcc-internal-format
+-msgid "malformed '#pragma ms_struct {on|off|reset}', ignoring"
+-msgstr "\"#pragma opcions\" malformat, ignorant"
+-
+-#: config/darwin-c.c:179
+-#, fuzzy, gcc-internal-format
+-msgid "junk at end of '#pragma ms_struct'"
+-msgstr "escombraries al final de \"#pragma %s\""
+-
+-#: config/darwin-c.c:405
+-#, gcc-internal-format
+-msgid "subframework include %s conflicts with framework include"
+-msgstr ""
+-
+-#: config/darwin-c.c:588
+-#, gcc-internal-format
+-msgid "Unknown value %qs of -mmacosx-version-min"
+-msgstr ""
+-
+-#: config/darwin.c:1431
+-#, gcc-internal-format
+-msgid "%<%s%> 2.95 vtable-compatibility attribute applies only when compiling a kext"
+-msgstr ""
+-
+-#: config/darwin.c:1438
+-#, gcc-internal-format
+-msgid "%<%s%> 2.95 vtable-compatibility attribute applies only to C++ classes"
+-msgstr ""
+-
+-#: config/darwin.c:1563
+-#, fuzzy, gcc-internal-format
+-msgid "internal and protected visibility attributes not supported in this configuration; ignored"
+-msgstr "els atributs de visibilitat no tenen suport en aquesta configuració; ignorats"
+-
+-#: config/host-darwin.c:62
+-#, gcc-internal-format
+-msgid "couldn't unmap pch_address_space: %m"
+-msgstr ""
+-
+-#: config/sol2-c.c:93 config/sol2-c.c:109
+-#, fuzzy, gcc-internal-format
+-msgid "malformed %<#pragma align%>, ignoring"
+-msgstr "#pragma align mal format - ignorat"
+-
+-#: config/sol2-c.c:102
+-#, fuzzy, gcc-internal-format
+-msgid "invalid alignment for %<#pragma align%>, ignoring"
+-msgstr "#pragma align mal format - ignorat"
+-
+-#: config/sol2-c.c:117
+-#, gcc-internal-format
+-msgid "%<#pragma align%> must appear before the declaration of %D, ignoring"
+-msgstr ""
+-
+-#: config/sol2-c.c:129 config/sol2-c.c:141
+-#, fuzzy, gcc-internal-format
+-msgid "malformed %<#pragma align%>"
+-msgstr "secció #pragma builtin malformada"
+-
+-#: config/sol2-c.c:136
+-#, fuzzy, gcc-internal-format
+-msgid "junk at end of %<#pragma align%>"
+-msgstr "escombraries al final de #pragma %s"
+-
+-#: config/sol2-c.c:157 config/sol2-c.c:164
+-#, fuzzy, gcc-internal-format
+-msgid "malformed %<#pragma init%>, ignoring"
+-msgstr "\"#pragma opcions\" malformat, ignorant"
+-
+-#: config/sol2-c.c:187 config/sol2-c.c:199
+-#, fuzzy, gcc-internal-format
+-msgid "malformed %<#pragma init%>"
+-msgstr "secció #pragma builtin malformada"
+-
+-#: config/sol2-c.c:194
+-#, fuzzy, gcc-internal-format
+-msgid "junk at end of %<#pragma init%>"
+-msgstr "escombraries al final de #pragma %s"
+-
+-#: config/sol2-c.c:215 config/sol2-c.c:222
+-#, fuzzy, gcc-internal-format
+-msgid "malformed %<#pragma fini%>, ignoring"
+-msgstr "\"#pragma opcions\" malformat, ignorant"
+-
+-#: config/sol2-c.c:245 config/sol2-c.c:257
+-#, fuzzy, gcc-internal-format
+-msgid "malformed %<#pragma fini%>"
+-msgstr "secció #pragma builtin malformada"
+-
+-#: config/sol2-c.c:252
+-#, fuzzy, gcc-internal-format
+-msgid "junk at end of %<#pragma fini%>"
+-msgstr "escombraries al final de #pragma %s"
+-
+-#: config/sol2.c:53
+-#, gcc-internal-format
+-msgid "ignoring %<#pragma align%> for explicitly aligned %q+D"
+-msgstr ""
+-
+-#: config/vxworks.c:69
+-#, fuzzy, gcc-internal-format
+-msgid "PIC is only supported for RTPs"
+-msgstr "-g només té suport quan s'usa GAS en aquest processador,"
+-
+-#. Mach-O supports 'weak imports', and 'weak definitions' in coalesced
+-#. sections. machopic_select_section ensures that weak variables go in
+-#. 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:451
+-#, fuzzy, gcc-internal-format
+-msgid "alias definitions not supported in Mach-O; ignored"
+-msgstr "les definicions d'alies no tenen suport en aquesta configuració; ignorades"
+-
+-#. No profiling.
+-#: config/vx-common.h:89
+-#, fuzzy, gcc-internal-format
+-msgid "profiler support for VxWorks"
+-msgstr "suport per a function_profiler per a MMIX"
+-
+-#: config/windiss.h:36
+-#, fuzzy, gcc-internal-format
+-msgid "profiler support for WindISS"
+-msgstr "suport per a function_profiler per a MMIX"
+-
+-#: config/alpha/alpha.c:232 config/rs6000/rs6000.c:1990
+-#, fuzzy, gcc-internal-format
+-msgid "bad value %qs for -mtls-size switch"
+-msgstr "valor erroni \"%s\" per a l'opció -mtls-size"
+-
+-#: config/alpha/alpha.c:286
+-#, gcc-internal-format
+-msgid "-f%s ignored for Unicos/Mk (not supported)"
+-msgstr "s'ignora -f%s per a Unicos/Mk (no es dóna suport)"
+-
+-#: config/alpha/alpha.c:310
+-#, gcc-internal-format
+-msgid "-mieee not supported on Unicos/Mk"
+-msgstr "no es dóna suport a -mieee en Unicos/Mk"
+-
+-#: config/alpha/alpha.c:321
+-#, gcc-internal-format
+-msgid "-mieee-with-inexact not supported on Unicos/Mk"
+-msgstr "no es dóna suport a -mieee-with-inexact en Unicos/Mk"
+-
+-#: config/alpha/alpha.c:338
+-#, fuzzy, gcc-internal-format
+-msgid "bad value %qs for -mtrap-precision switch"
+-msgstr "valor erroni \"%s\" per a l'opció -mtrap-precision"
+-
+-#: config/alpha/alpha.c:352
+-#, fuzzy, gcc-internal-format
+-msgid "bad value %qs for -mfp-rounding-mode switch"
+-msgstr "valor erroni \"%s\" per a l'opció -mfp-rounding-mode"
+-
+-#: config/alpha/alpha.c:367
+-#, fuzzy, gcc-internal-format
+-msgid "bad value %qs for -mfp-trap-mode switch"
+-msgstr "valor erroni \"%s\" per a l'opció -mfp-trap-mode"
+-
+-#: config/alpha/alpha.c:381 config/alpha/alpha.c:393
+-#, fuzzy, gcc-internal-format
+-msgid "bad value %qs for -mcpu switch"
+-msgstr "valor erroni \"%s\" per a l'opció -mcpu"
+-
+-#: config/alpha/alpha.c:400
+-#, gcc-internal-format
+-msgid "trap mode not supported on Unicos/Mk"
+-msgstr "no es dóna suport al mode trap en Unicos/Mk"
+-
+-#: config/alpha/alpha.c:407
+-#, gcc-internal-format
+-msgid "fp software completion requires -mtrap-precision=i"
+-msgstr "el completat per programari de fp requereix una opció -mtrap-precision=i"
+-
+-#: config/alpha/alpha.c:423
+-#, gcc-internal-format
+-msgid "rounding mode not supported for VAX floats"
+-msgstr "el mode d'arrodoniment no té suport per a floats de VAX"
+-
+-#: config/alpha/alpha.c:428
+-#, gcc-internal-format
+-msgid "trap mode not supported for VAX floats"
+-msgstr "el mode de captura no té suport per a valors de coma flotant VAX"
+-
+-#: config/alpha/alpha.c:432
+-#, fuzzy, gcc-internal-format
+-msgid "128-bit long double not supported for VAX floats"
+-msgstr "el mode de captura no té suport per a valors de coma flotant VAX"
+-
+-#: config/alpha/alpha.c:460
+-#, gcc-internal-format
+-msgid "L%d cache latency unknown for %s"
+-msgstr "latència de cau L%d desconeguda per a %s"
+-
+-#: config/alpha/alpha.c:475
+-#, fuzzy, gcc-internal-format
+-msgid "bad value %qs for -mmemory-latency"
+-msgstr "valor erroni \"%s\" per a -mmemory-latency"
+-
+-#: config/alpha/alpha.c:6514 config/alpha/alpha.c:6517 config/s390/s390.c:8279
+-#: config/s390/s390.c:8282
+-#, gcc-internal-format
+-msgid "bad builtin fcode"
+-msgstr ""
+-
+-#: config/arc/arc.c:388
+-#, fuzzy, gcc-internal-format
+-msgid "argument of %qs attribute is not a string constant"
+-msgstr "l'argument de l'atribut \"%s\" no es una cadena constant"
+-
+-#: config/arc/arc.c:396
+-#, fuzzy, gcc-internal-format
+-msgid "argument of %qs attribute is not \"ilink1\" or \"ilink2\""
+-msgstr "l'argument de l'atribut \"%s\" no es \"ilink1\" o \"ilink2\""
+-
+-#: config/arm/arm.c:1050
+-#, gcc-internal-format
+-msgid "switch -mcpu=%s conflicts with -march= switch"
+-msgstr "l'opció -mcpu=%s genera conflictes amb l'opció -march="
+-
+-#: config/arm/arm.c:1060 config/rs6000/rs6000.c:1504 config/sparc/sparc.c:761
+-#, gcc-internal-format
+-msgid "bad value (%s) for %s switch"
+-msgstr "valor erroni (%s) per a l'opció %s"
+-
+-#: config/arm/arm.c:1170
+-#, fuzzy, gcc-internal-format
+-msgid "target CPU does not support ARM mode"
+-msgstr "el CPU objectiu no té suport per a APCS-32"
+-
+-#: config/arm/arm.c:1174
+-#, gcc-internal-format
+-msgid "target CPU does not support interworking"
+-msgstr "el CPU objectiu no té suport per a treball intern"
+-
+-#: config/arm/arm.c:1180
+-#, gcc-internal-format
+-msgid "target CPU does not support THUMB instructions"
+-msgstr "el CPU objectiu no té suport les instruccions THUMB"
+-
+-#: config/arm/arm.c:1198
+-#, gcc-internal-format
+-msgid "enabling backtrace support is only meaningful when compiling for the Thumb"
+-msgstr "habilitar el suport de rastrejat cap a endarrere només té significat quan es compila per al Thumb"
+-
+-#: config/arm/arm.c:1201
+-#, gcc-internal-format
+-msgid "enabling callee interworking support is only meaningful when compiling for the Thumb"
+-msgstr "habilitar el suport de treball intern de crides només té significat quan es compila per al Thumb"
+-
+-#: config/arm/arm.c:1204
+-#, gcc-internal-format
+-msgid "enabling caller interworking support is only meaningful when compiling for the Thumb"
+-msgstr "habilitar el suport de treball intern de cridat només té significat quan es compila per al Thumb"
+-
+-#: config/arm/arm.c:1208
+-#, gcc-internal-format
+-msgid "-mapcs-stack-check incompatible with -mno-apcs-frame"
+-msgstr "-mapcs-stack-check és incompatible amb -mno-apcs-frame"
+-
+-#: config/arm/arm.c:1216
+-#, gcc-internal-format
+-msgid "-fpic and -mapcs-reent are incompatible"
+-msgstr "-fpic i -mapcs-reent són incompatibles"
+-
+-#: config/arm/arm.c:1219
+-#, gcc-internal-format
+-msgid "APCS reentrant code not supported. Ignored"
+-msgstr "no se suporta el codi APCS que es torna a introduir.Ignorat"
+-
+-#: config/arm/arm.c:1227
+-#, gcc-internal-format
+-msgid "-g with -mno-apcs-frame may not give sensible debugging"
+-msgstr "-g amb -mno-apcs-frame no permet una depuració sensible"
+-
+-#: config/arm/arm.c:1230
+-#, gcc-internal-format
+-msgid "passing floating point arguments in fp regs not yet supported"
+-msgstr "encara no se suporta passar arguments de nombre de coma flotant en registres fp"
+-
+-#: config/arm/arm.c:1275
+-#, fuzzy, gcc-internal-format
+-msgid "invalid ABI option: -mabi=%s"
+-msgstr "opció \"%s\" no vàlida"
+-
+-#: config/arm/arm.c:1281
+-#, gcc-internal-format
+-msgid "iwmmxt requires an AAPCS compatible ABI for proper operation"
+-msgstr ""
+-
+-#: config/arm/arm.c:1284
+-#, gcc-internal-format
+-msgid "iwmmxt abi requires an iwmmxt capable cpu"
+-msgstr ""
+-
+-#: config/arm/arm.c:1294
+-#, fuzzy, gcc-internal-format
+-msgid "invalid floating point emulation option: -mfpe=%s"
+-msgstr "opció d'emulació de coma flotant no vàlida: -mfpe-%s"
+-
+-#: config/arm/arm.c:1311
+-#, fuzzy, gcc-internal-format
+-msgid "invalid floating point option: -mfpu=%s"
+-msgstr "opció d'emulació de coma flotant no vàlida: -mfpe-%s"
+-
+-#: config/arm/arm.c:1351
+-#, fuzzy, gcc-internal-format
+-msgid "invalid floating point abi: -mfloat-abi=%s"
+-msgstr "opció d'emulació de coma flotant no vàlida: -mfpe-%s"
+-
+-#: config/arm/arm.c:1358
+-#, gcc-internal-format
+-msgid "-mfloat-abi=hard and VFP"
+-msgstr ""
+-
+-#: config/arm/arm.c:1364
+-#, fuzzy, gcc-internal-format
+-msgid "iWMMXt and hardware floating point"
+-msgstr "Usar coma flotant de maquinari"
+-
+-#: config/arm/arm.c:1368
+-#, gcc-internal-format
+-msgid "Thumb-2 iWMMXt"
+-msgstr ""
+-
+-#: config/arm/arm.c:1391
+-#, fuzzy, gcc-internal-format
+-msgid "invalid thread pointer option: -mtp=%s"
+-msgstr "opció d'emulació de coma flotant no vàlida: -mfpe-%s"
+-
+-#: config/arm/arm.c:1404
+-#, gcc-internal-format
+-msgid "can not use -mtp=cp15 with 16-bit Thumb"
+-msgstr ""
+-
+-#: config/arm/arm.c:1418
+-#, fuzzy, gcc-internal-format
+-msgid "structure size boundary can only be set to %s"
+-msgstr "El límit de la grandària de l'estructura només pot establir-se a 8 o 32"
+-
+-#: config/arm/arm.c:1424
+-#, gcc-internal-format
+-msgid "RTP PIC is incompatible with Thumb"
+-msgstr ""
+-
+-#: config/arm/arm.c:1433
+-#, gcc-internal-format
+-msgid "RTP PIC is incompatible with -msingle-pic-base"
+-msgstr ""
+-
+-#: config/arm/arm.c:1445
+-#, gcc-internal-format
+-msgid "-mpic-register= is useless without -fpic"
+-msgstr "-mpic-register= és inútil sense -fpic"
+-
+-#: config/arm/arm.c:1454
+-#, gcc-internal-format
+-msgid "unable to use '%s' for PIC register"
+-msgstr "no es pot usar \"%s\" per a registre PIC"
+-
+-#: config/arm/arm.c:3067 config/arm/arm.c:3085 config/avr/avr.c:4618
+-#: config/avr/avr.c:4660 config/bfin/bfin.c:4778 config/c4x/c4x.c:4071
+-#: config/h8300/h8300.c:5257 config/i386/i386.c:3009
+-#: config/m68hc11/m68hc11.c:1155 config/m68k/m68k.c:741
+-#: config/mcore/mcore.c:3032 config/mips/mips.c:1151 config/mips/mips.c:1153
+-#: config/mt/mt.c:1275 config/rs6000/rs6000.c:19583 config/sh/sh.c:7984
+-#: config/sh/sh.c:8005 config/sh/sh.c:8028 config/stormy16/stormy16.c:2252
+-#: config/v850/v850.c:2048
+-#, fuzzy, gcc-internal-format
+-msgid "%qs attribute only applies to functions"
+-msgstr "l'atribut \"%s\" nomès s'aplica a funcions"
+-
+-#: config/arm/arm.c:14012
+-#, gcc-internal-format
+-msgid "unable to compute real location of stacked parameter"
+-msgstr "no es pot calcular la ubicació real del paràmetre apilat"
+-
+-#: config/arm/arm.c:15451
+-#, fuzzy, gcc-internal-format
+-msgid "argument must be a constant"
+-msgstr "l'argument \"%d\" no és una constant"
+-
+-#. @@@ better error message
+-#: config/arm/arm.c:15759 config/arm/arm.c:15796
+-#, gcc-internal-format
+-msgid "selector must be an immediate"
+-msgstr "el selector ha de ser immediat"
+-
+-#. @@@ better error message
+-#: config/arm/arm.c:15839 config/i386/i386.c:20651 config/i386/i386.c:20685
+-#, gcc-internal-format
+-msgid "mask must be an immediate"
+-msgstr "la màscara ha de ser immediat"
+-
+-#: config/arm/arm.c:16498
+-#, gcc-internal-format
+-msgid "no low registers available for popping high registers"
+-msgstr "no hi ha registres inferiors disponibles per a emmagatzemar registres superiors"
+-
+-#: config/arm/arm.c:16721
+-#, gcc-internal-format
+-msgid "interrupt Service Routines cannot be coded in Thumb mode"
+-msgstr "no es poden codificar les Rutines de Serveis d'Interrupció en el mode Thumb"
+-
+-#: config/arm/pe.c:158 config/mcore/mcore.c:2898
+-#, fuzzy, gcc-internal-format
+-msgid "initialized variable %q+D is marked dllimport"
+-msgstr "la variable iniciada \"%s\" està marcada com dllimport"
+-
+-#: config/arm/pe.c:167
+-#, fuzzy, gcc-internal-format
+-msgid "static variable %q+D is marked dllimport"
+-msgstr "la variable estàtica \"%s\" està marcada com dllimport"
+-
+-#: config/avr/avr.c:690
+-#, gcc-internal-format
+-msgid "large frame pointer change (%d) with -mtiny-stack"
+-msgstr "canvi de punter gran de marc (%d) amb -mtiny-stack"
+-
+-#: config/avr/avr.c:4591
+-#, gcc-internal-format
+-msgid "only initialized variables can be placed into program memory area"
+-msgstr "Només les variables iniciades es poden ubicar en l'àrea de memòria del programa."
+-
+-#: config/avr/avr.c:4635
+-#, gcc-internal-format
+-msgid "%qs appears to be a misspelled interrupt handler"
+-msgstr ""
+-
+-#: config/avr/avr.c:4643
+-#, gcc-internal-format
+-msgid "%qs appears to be a misspelled signal handler"
+-msgstr ""
+-
+-#: config/avr/avr.c:4751
+-#, gcc-internal-format
+-msgid "only uninitialized variables can be placed in the .noinit section"
+-msgstr "Només les variables sense inicialitzar es poden col·locar en la secció noinit"
+-
+-#: config/avr/avr.c:4765
+-#, fuzzy, gcc-internal-format
+-msgid "MCU %qs supported for assembler only"
+-msgstr "MCU \"%s\" només té suport per a ensamblador"
+-
+-#: config/avr/avr.h:692
+-#, gcc-internal-format
+-msgid "trampolines not supported"
+-msgstr "els trampolins no tenen suport"
+-
+-#: config/bfin/bfin.c:2259 config/m68k/m68k.c:488
+-#, fuzzy, gcc-internal-format
+-msgid "-mshared-library-id=%s is not between 0 and %d"
+-msgstr "-mregparm=%d no està entre 0 i %d"
+-
+-#: config/bfin/bfin.c:2279
+-#, fuzzy, gcc-internal-format
+-msgid "-mcpu=%s is not valid"
+-msgstr "\"%s\" no és un nom de fitxer vàlid"
+-
+-#: config/bfin/bfin.c:2315
+-#, gcc-internal-format
+-msgid "-mcpu=%s has invalid silicon revision"
+-msgstr ""
+-
+-#: config/bfin/bfin.c:2332
+-#, fuzzy, gcc-internal-format
+-msgid "bf561 support is incomplete yet."
+-msgstr "el paràmetre té tipus incomplet"
+-
+-#: config/bfin/bfin.c:2372
+-#, gcc-internal-format
+-msgid "-mshared-library-id= specified without -mid-shared-library"
+-msgstr ""
+-
+-#: config/bfin/bfin.c:2378
+-#, fuzzy, gcc-internal-format
+-msgid "Can't use multiple stack checking methods together."
+-msgstr "Insereix codi de revisió de la pila en el programa"
+-
+-#: config/bfin/bfin.c:2381
+-#, gcc-internal-format
+-msgid "ID shared libraries and FD-PIC mode can't be used together."
+-msgstr ""
+-
+-#: config/bfin/bfin.c:2386 config/m68k/m68k.c:582
+-#, gcc-internal-format
+-msgid "cannot specify both -msep-data and -mid-shared-library"
+-msgstr ""
+-
+-#: config/bfin/bfin.c:4783
+-#, fuzzy, gcc-internal-format
+-msgid "multiple function type attributes specified"
+-msgstr "%Jha donat un atribut «noinline» a la funció «inline» \"%D\""
+-
+-#: config/bfin/bfin.c:4839 config/bfin/bfin.c:4868 config/spu/spu.c:2976
+-#, gcc-internal-format
+-msgid "`%s' attribute only applies to functions"
+-msgstr "l'atribut \"%s\" nomès s'aplica a funcions"
+-
+-#: config/bfin/bfin.c:4850
+-#, gcc-internal-format
+-msgid "can't apply both longcall and shortcall attributes to the same function"
+-msgstr ""
+-
+-#: config/bfin/bfin.c:4900
+-#, gcc-internal-format
+-msgid "`%s' attribute only applies to variables"
+-msgstr "l'atribut \"%s\" solament aplica a variables"
+-
+-#: config/bfin/bfin.c:4907
+-#, fuzzy, gcc-internal-format
+-msgid "`%s' attribute cannot be specified for local variables"
+-msgstr "%Jl'atribut de secció no pot ser especificat per a les variables locals"
+-
+-#: config/c4x/c4x-c.c:68
+-#, gcc-internal-format
+-msgid "missing '(' after '#pragma %s' - ignored"
+-msgstr "\"(\" faltant desprès de \"#pragma %s\" - ignorat"
+-
+-#: config/c4x/c4x-c.c:71
+-#, gcc-internal-format
+-msgid "missing function name in '#pragma %s' - ignored"
+-msgstr "nom de funcció faltant en \"#pragma %s\" - ignorat"
+-
+-#: config/c4x/c4x-c.c:76
+-#, gcc-internal-format
+-msgid "malformed '#pragma %s' - ignored"
+-msgstr "\"#pragma %s\" malformat - ignorat"
+-
+-#: config/c4x/c4x-c.c:78
+-#, gcc-internal-format
+-msgid "missing section name in '#pragma %s' - ignored"
+-msgstr "nom de secció faltant en \"#pragma %s\" - ignorat"
+-
+-#: config/c4x/c4x-c.c:83
+-#, gcc-internal-format
+-msgid "missing ')' for '#pragma %s' - ignored"
+-msgstr "\")\" faltant per a \"#pragma %s\" - ignorat"
+-
+-#: config/c4x/c4x-c.c:86
+-#, gcc-internal-format
+-msgid "junk at end of '#pragma %s'"
+-msgstr "escombraries al final de \"#pragma %s\""
+-
+-#: config/c4x/c4x.c:859
+-#, gcc-internal-format
+-msgid "ISR %s requires %d words of local vars, max is 32767"
+-msgstr "El ISR %s requereix de %d words de variables locals,el màxim és 32767."
+-
+-#. This function is for retrieving a part of an instruction name for
+-#. an operator, for immediate output. If that ever happens for
+-#. MULT, we need to apply TARGET_MUL_BUG in the caller. Make sure
+-#. we notice.
+-#: config/cris/cris.c:434
+-#, gcc-internal-format
+-msgid "MULT case in cris_op_str"
+-msgstr ""
+-
+-#: config/cris/cris.c:811
+-#, fuzzy, gcc-internal-format
+-msgid "invalid use of ':' modifier"
+-msgstr "operand no vàlid per al modificador \"b\""
+-
+-#: config/cris/cris.c:983
+-#, gcc-internal-format
+-msgid "internal error: bad register: %d"
+-msgstr "error intern: registre erroni: %d"
+-
+-#: config/cris/cris.c:1524
+-#, gcc-internal-format
+-msgid "internal error: sideeffect-insn affecting main effect"
+-msgstr "error intern: sideeffect-insn afectant el efecte principal"
+-
+-#: config/cris/cris.c:1548
+-#, fuzzy, gcc-internal-format
+-msgid "unknown cc_attr value"
+-msgstr "reubicació unspec desconeguda"
+-
+-#. If we get here, the caller got its initial tests wrong.
+-#: config/cris/cris.c:1901
+-#, gcc-internal-format
+-msgid "internal error: cris_side_effect_mode_ok with bad operands"
+-msgstr "error intern: cris_side_effect_mode_ok amb operands erronis"
+-
+-#: config/cris/cris.c:2104
+-#, gcc-internal-format
+-msgid "-max-stackframe=%d is not usable, not between 0 and %d"
+-msgstr "no es pot usar -max-stackframe=%d, no està entre 0 i %d"
+-
+-#: config/cris/cris.c:2132
+-#, gcc-internal-format
+-msgid "unknown CRIS version specification in -march= or -mcpu= : %s"
+-msgstr "especificació de versió CRIS desconeguda en -march= o -mcpu= : %s"
+-
+-#: config/cris/cris.c:2168
+-#, gcc-internal-format
+-msgid "unknown CRIS cpu version specification in -mtune= : %s"
+-msgstr "especificació de versió de cpu de CRIS desconeguda en -mtune= : %s"
+-
+-#: config/cris/cris.c:2186
+-#, gcc-internal-format
+-msgid "-fPIC and -fpic are not supported in this configuration"
+-msgstr "no es dóna suport a -fPIC i -fpic en aquesta configuració"
+-
+-#: config/cris/cris.c:2201
+-#, gcc-internal-format
+-msgid "that particular -g option is invalid with -maout and -melinux"
+-msgstr "aquesta opció particular -g no és vàlid amb -maout i -melinux"
+-
+-#: config/cris/cris.c:2414
+-#, gcc-internal-format
+-msgid "Unknown src"
+-msgstr ""
+-
+-#: config/cris/cris.c:2475
+-#, fuzzy, gcc-internal-format
+-msgid "Unknown dest"
+-msgstr "mode insn desconegut"
+-
+-#: config/cris/cris.c:2760
+-#, gcc-internal-format
+-msgid "stackframe too big: %d bytes"
+-msgstr "marc de pila massa grand: %d bytes"
+-
+-#: config/cris/cris.c:3213 config/cris/cris.c:3240
+-#, gcc-internal-format
+-msgid "expand_binop failed in movsi got"
+-msgstr ""
+-
+-#: config/cris/cris.c:3321
+-#, gcc-internal-format
+-msgid "emitting PIC operand, but PIC register isn't set up"
+-msgstr "emetent un operand PIC, però el registre PIC no està preparat"
+-
+-#. Definitions for GCC. Part of the machine description for CRIS.
+-#. Copyright (C) 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2007
+-#. Free Software Foundation, Inc.
+-#. Contributed by Axis Communications. Written by Hans-Peter Nilsson.
+-#.
+-#. 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
+-#. <http://www.gnu.org/licenses/>.
+-#. After the first "Node:" comment comes all preprocessor directives and
+-#. attached declarations described in the info files, the "Using and
+-#. Porting GCC" manual (uapgcc), in the same order as found in the "Target
+-#. macros" section in the gcc-2.9x CVS edition of 2000-03-17. FIXME: Not
+-#. really, but needs an update anyway.
+-#.
+-#. There is no generic copy-of-uapgcc comment, you'll have to see uapgcc
+-#. for that. If applicable, there is a CRIS-specific comment. The order
+-#. of macro definitions follow the order in the manual. Every section in
+-#. the manual (node in the info pages) has an introductory `Node:
+-#. <subchapter>' comment. If no macros are defined for a section, only
+-#. the section-comment is present.
+-#. Note that other header files (e.g. config/elfos.h, config/linux.h,
+-#. config/cris/linux.h and config/cris/aout.h) are responsible for lots of
+-#. settings not repeated below. This file contains general CRIS
+-#. definitions and definitions for the cris-*-elf subtarget.
+-#. We don't want to use gcc_assert for everything, as that can be
+-#. compiled out.
+-#: config/cris/cris.h:43
+-#, gcc-internal-format
+-msgid "CRIS-port assertion failed: "
+-msgstr ""
+-
+-#. Node: Caller Saves
+-#. (no definitions)
+-#. Node: Function entry
+-#. See cris.c for TARGET_ASM_FUNCTION_PROLOGUE and
+-#. TARGET_ASM_FUNCTION_EPILOGUE.
+-#. Node: Profiling
+-#: config/cris/cris.h:868
+-#, gcc-internal-format
+-msgid "no FUNCTION_PROFILER for CRIS"
+-msgstr "no FUNCTION_PROFILER per a CRIS"
+-
+-#: config/crx/crx.h:354
+-#, fuzzy, gcc-internal-format
+-msgid "Profiler support for CRX"
+-msgstr "suport per a function_profiler per a MMIX"
+-
+-#: config/crx/crx.h:365
+-#, fuzzy, gcc-internal-format
+-msgid "Trampoline support for CRX"
+-msgstr "els trampolins no tenen suport"
+-
+-#: config/frv/frv.c:8622
+-#, gcc-internal-format
+-msgid "accumulator is not a constant integer"
+-msgstr "el acumulador no és una constant entera"
+-
+-#: config/frv/frv.c:8627
+-#, gcc-internal-format
+-msgid "accumulator number is out of bounds"
+-msgstr ""
+-
+-#: config/frv/frv.c:8638
+-#, fuzzy, gcc-internal-format
+-msgid "inappropriate accumulator for %qs"
+-msgstr "acumulador inadequat per a \"%s\""
+-
+-#: config/frv/frv.c:8715
+-#, fuzzy, gcc-internal-format
+-msgid "invalid IACC argument"
+-msgstr "argument de tipus no vàlid"
+-
+-#: config/frv/frv.c:8738
+-#, fuzzy, gcc-internal-format
+-msgid "%qs expects a constant argument"
+-msgstr "l'atribut \"%s\" espera una constant com argument"
+-
+-#: config/frv/frv.c:8743
+-#, fuzzy, gcc-internal-format
+-msgid "constant argument out of range for %qs"
+-msgstr "l'argument constant està fora de límits per a \"%s\""
+-
+-#: config/frv/frv.c:9224
+-#, gcc-internal-format
+-msgid "media functions are not available unless -mmedia is used"
+-msgstr ""
+-
+-#: config/frv/frv.c:9236
+-#, gcc-internal-format
+-msgid "this media function is only available on the fr500"
+-msgstr ""
+-
+-#: config/frv/frv.c:9264
+-#, gcc-internal-format
+-msgid "this media function is only available on the fr400 and fr550"
+-msgstr ""
+-
+-#: config/frv/frv.c:9283
+-#, gcc-internal-format
+-msgid "this builtin function is only available on the fr405 and fr450"
+-msgstr ""
+-
+-#: config/frv/frv.c:9292
+-#, gcc-internal-format
+-msgid "this builtin function is only available on the fr500 and fr550"
+-msgstr ""
+-
+-#: config/frv/frv.c:9304
+-#, gcc-internal-format
+-msgid "this builtin function is only available on the fr450"
+-msgstr ""
+-
+-#: config/h8300/h8300.c:330
+-#, gcc-internal-format
+-msgid "-ms2600 is used without -ms"
+-msgstr "es va usar -ms2600 sense -ms"
+-
+-#: config/h8300/h8300.c:336
+-#, gcc-internal-format
+-msgid "-mn is used without -mh or -ms"
+-msgstr "es va usar -mn sense -mh o -ms"
+-
+-#: config/i386/host-cygwin.c:64
+-#, fuzzy, gcc-internal-format
+-msgid "can't extend PCH file: %m"
+-msgstr "no es pot llegir el fitxer PCH: %m"
+-
+-#: config/i386/host-cygwin.c:75
+-#, fuzzy, gcc-internal-format
+-msgid "can't set position in PCH file: %m"
+-msgstr "no es pot crear el fitxer d'informació de \"repository\" \"%s\""
+-
+-#: config/i386/i386.c:2133 config/i386/i386.c:2333
+-#, fuzzy, gcc-internal-format
+-msgid "bad value (%s) for -mtune= switch"
+-msgstr "valor erroni (%s) per a l'opció -mcpu="
+-
+-#: config/i386/i386.c:2174
+-#, fuzzy, gcc-internal-format
+-msgid "bad value (%s) for -mstringop-strategy= switch"
+-msgstr "valor erroni (%s) per a l'opció -mcpu="
+-
+-#: config/i386/i386.c:2177
+-#, gcc-internal-format
+-msgid "-mtune=x86-64 is deprecated. Use -mtune=k8 or -mtune=generic instead as appropriate."
+-msgstr ""
+-
+-#: config/i386/i386.c:2186
+-#, fuzzy, gcc-internal-format
+-msgid "generic CPU can be used only for -mtune= switch"
+-msgstr "valor erroni (%s) per a l'opció -mcpu="
+-
+-#: config/i386/i386.c:2188 config/i386/i386.c:2297 config/mt/mt.c:804
+-#, gcc-internal-format
+-msgid "bad value (%s) for -march= switch"
+-msgstr "valor erroni (%s) per a l'opció -march="
+-
+-#: config/i386/i386.c:2199
+-#, fuzzy, gcc-internal-format
+-msgid "code model %s does not support PIC mode"
+-msgstr "el model de codi %s no té suport en el mode PIC"
+-
+-#: config/i386/i386.c:2205 config/sparc/sparc.c:725
+-#, gcc-internal-format
+-msgid "bad value (%s) for -mcmodel= switch"
+-msgstr "valor erroni (%s) per a l'opció -mcmodel="
+-
+-#: config/i386/i386.c:2228
+-#, gcc-internal-format
+-msgid "bad value (%s) for -masm= switch"
+-msgstr "valor erroni (%s) per a l'opció -masm="
+-
+-#: config/i386/i386.c:2231
+-#, fuzzy, gcc-internal-format
+-msgid "code model %qs not supported in the %s bit mode"
+-msgstr "el model de codi %s no té suport en el mode %s bit"
+-
+-#: config/i386/i386.c:2234
+-#, gcc-internal-format
+-msgid "%i-bit mode not compiled in"
+-msgstr "no està compilat el mode %i-bit"
+-
+-#: config/i386/i386.c:2245 config/i386/i386.c:2319
+-#, fuzzy, gcc-internal-format
+-msgid "CPU you selected does not support x86-64 instruction set"
+-msgstr "el CPU objectiu no té suport les instruccions THUMB"
+-
+-#: config/i386/i386.c:2351
+-#, gcc-internal-format
+-msgid "-mregparm is ignored in 64-bit mode"
+-msgstr ""
+-
+-#: config/i386/i386.c:2354
+-#, gcc-internal-format
+-msgid "-mregparm=%d is not between 0 and %d"
+-msgstr "-mregparm=%d no està entre 0 i %d"
+-
+-#: config/i386/i386.c:2366
+-#, gcc-internal-format
+-msgid "-malign-loops is obsolete, use -falign-loops"
+-msgstr "-malign-loops és obsolet, usi -falign-loops"
+-
+-#: config/i386/i386.c:2371 config/i386/i386.c:2384 config/i386/i386.c:2397
+-#, gcc-internal-format
+-msgid "-malign-loops=%d is not between 0 and %d"
+-msgstr "-malign-loops=%d no està entre 0 i %d"
+-
+-#: config/i386/i386.c:2379
+-#, gcc-internal-format
+-msgid "-malign-jumps is obsolete, use -falign-jumps"
+-msgstr "-malign-jumps és obsolet, usi -falign-jumps"
+-
+-#: config/i386/i386.c:2392
+-#, gcc-internal-format
+-msgid "-malign-functions is obsolete, use -falign-functions"
+-msgstr "-malign-functions és obsolet, usi -falign-functions"
+-
+-#: config/i386/i386.c:2425
+-#, gcc-internal-format
+-msgid "-mbranch-cost=%d is not between 0 and 5"
+-msgstr "-mbranch-cost=%d no està entre 0 i 5"
+-
+-#: config/i386/i386.c:2433
+-#, gcc-internal-format
+-msgid "-mlarge-data-threshold=%d is negative"
+-msgstr ""
+-
+-#: config/i386/i386.c:2447
+-#, gcc-internal-format
+-msgid "bad value (%s) for -mtls-dialect= switch"
+-msgstr "valor erroni (%s) per a l'opció -mtls-dialect="
+-
+-#: config/i386/i386.c:2455
+-#, gcc-internal-format
+-msgid "pc%d is not valid precision setting (32, 64 or 80)"
+-msgstr ""
+-
+-#: config/i386/i386.c:2471
+-#, fuzzy, gcc-internal-format
+-msgid "-mrtd is ignored in 64bit mode"
+-msgstr "la convenció de crides -mrtd no té suport en el mode 64 bit"
+-
+-#: config/i386/i386.c:2560
+-#, gcc-internal-format
+-msgid "-mpreferred-stack-boundary=%d is not between %d and 12"
+-msgstr "-mpreferred-stack-boundary=%d no està entre %d i 12"
+-
+-#: config/i386/i386.c:2569
+-#, gcc-internal-format
+-msgid "-msseregparm used without SSE enabled"
+-msgstr ""
+-
+-#: config/i386/i386.c:2580 config/i386/i386.c:2591
+-#, gcc-internal-format
+-msgid "SSE instruction set disabled, using 387 arithmetics"
+-msgstr "el conjunt d'instruccions SSE està desactivat, usant l'aritmètica 387"
+-
+-#: config/i386/i386.c:2596
+-#, gcc-internal-format
+-msgid "387 instruction set disabled, using SSE arithmetics"
+-msgstr "el conjunt d'instruccions 387 està desactivat, usant l'aritmètica SSE"
+-
+-#: config/i386/i386.c:2603
+-#, gcc-internal-format
+-msgid "bad value (%s) for -mfpmath= switch"
+-msgstr "valor erroni (%s) per a l'opció -mfpmath="
+-
+-#: config/i386/i386.c:2616
+-#, gcc-internal-format
+-msgid "unknown vectorization library ABI type (%s) for -mveclibabi= switch"
+-msgstr ""
+-
+-#: config/i386/i386.c:2635
+-#, gcc-internal-format
+-msgid "unwind tables currently require either a frame pointer or -maccumulate-outgoing-args for correctness"
+-msgstr ""
+-
+-#: config/i386/i386.c:3022 config/i386/i386.c:3075
+-#, fuzzy, gcc-internal-format
+-msgid "fastcall and regparm attributes are not compatible"
+-msgstr "-f%s i -msdata=%s són incompatibles"
+-
+-#: config/i386/i386.c:3029
+-#, fuzzy, gcc-internal-format
+-msgid "%qs attribute requires an integer constant argument"
+-msgstr "l'atribut \"%s\" requereix una constant entera com argument"
+-
+-#: config/i386/i386.c:3035
+-#, fuzzy, gcc-internal-format
+-msgid "argument to %qs attribute larger than %d"
+-msgstr "l'argument per a l'atribut \"%s\" és més gran que %d"
+-
+-#: config/i386/i386.c:3045
+-#, gcc-internal-format
+-msgid "%s functions limited to %d register parameters"
+-msgstr ""
+-
+-#: config/i386/i386.c:3067 config/i386/i386.c:3102
+-#, fuzzy, gcc-internal-format
+-msgid "fastcall and cdecl attributes are not compatible"
+-msgstr "-f%s i -msdata=%s són incompatibles"
+-
+-#: config/i386/i386.c:3071
+-#, fuzzy, gcc-internal-format
+-msgid "fastcall and stdcall attributes are not compatible"
+-msgstr "-f%s i -msdata=%s són incompatibles"
+-
+-#: config/i386/i386.c:3085 config/i386/i386.c:3098
+-#, fuzzy, gcc-internal-format
+-msgid "stdcall and cdecl attributes are not compatible"
+-msgstr "-f%s i -msdata=%s són incompatibles"
+-
+-#: config/i386/i386.c:3089
+-#, fuzzy, gcc-internal-format
+-msgid "stdcall and fastcall attributes are not compatible"
+-msgstr "-f%s i -msdata=%s són incompatibles"
+-
+-#: config/i386/i386.c:3236
+-#, gcc-internal-format
+-msgid "Calling %qD with attribute sseregparm without SSE/SSE2 enabled"
+-msgstr ""
+-
+-#: config/i386/i386.c:3239
+-#, gcc-internal-format
+-msgid "Calling %qT with attribute sseregparm without SSE/SSE2 enabled"
+-msgstr ""
+-
+-#: config/i386/i386.c:3925
+-#, gcc-internal-format
+-msgid "SSE register return with SSE disabled"
+-msgstr ""
+-
+-#: config/i386/i386.c:3931
+-#, gcc-internal-format
+-msgid "SSE register argument with SSE disabled"
+-msgstr ""
+-
+-#: config/i386/i386.c:3947
+-#, gcc-internal-format
+-msgid "x87 register return with x87 disabled"
+-msgstr ""
+-
+-#: config/i386/i386.c:4265
+-#, gcc-internal-format
+-msgid "SSE vector argument without SSE enabled changes the ABI"
+-msgstr ""
+-
+-#: config/i386/i386.c:4283
+-#, gcc-internal-format
+-msgid "MMX vector argument without MMX enabled changes the ABI"
+-msgstr ""
+-
+-#: config/i386/i386.c:4810
+-#, gcc-internal-format
+-msgid "SSE vector return without SSE enabled changes the ABI"
+-msgstr ""
+-
+-#: config/i386/i386.c:4820
+-#, gcc-internal-format
+-msgid "MMX vector return without MMX enabled changes the ABI"
+-msgstr ""
+-
+-#: config/i386/i386.c:6171
+-#, fuzzy, gcc-internal-format
+-msgid "-mstackrealign ignored for nested functions"
+-msgstr "ISO C prohibeix les funcions niades"
+-
+-#: config/i386/i386.c:6173
+-#, fuzzy, gcc-internal-format
+-msgid "%s not supported for nested functions"
+-msgstr "No donar suport per a funcions internes MMX"
+-
+-#: config/i386/i386.c:8576
+-#, gcc-internal-format
+-msgid "extended registers have no high halves"
+-msgstr "els registres estesos no tenen meitats superiors"
+-
+-#: config/i386/i386.c:8591
+-#, gcc-internal-format
+-msgid "unsupported operand size for extended register"
+-msgstr "mida d'operand sense suport per al registre estès"
+-
+-#: config/i386/i386.c:19610
+-#, fuzzy, gcc-internal-format
+-msgid "the third argument must be a 4-bit immediate"
+-msgstr "l'argument 3 ha de ser una literal sense signe de 4-bit"
+-
+-#: config/i386/i386.c:19614
+-#, fuzzy, gcc-internal-format
+-msgid "the third argument must be an 8-bit immediate"
+-msgstr "l'argument 1 ha de ser una literal amb signe de 5-bit"
+-
+-#: config/i386/i386.c:19836
+-#, fuzzy, gcc-internal-format
+-msgid "last argument must be an immediate"
+-msgstr "la màscara ha de ser immediat"
+-
+-#: config/i386/i386.c:19963
+-#, fuzzy, gcc-internal-format
+-msgid "the second argument must be a 4-bit immediate"
+-msgstr "l'argument 3 ha de ser una literal sense signe de 4-bit"
+-
+-#: config/i386/i386.c:20209
+-#, fuzzy, gcc-internal-format
+-msgid "the fifth argument must be a 8-bit immediate"
+-msgstr "l'argument 1 ha de ser una literal amb signe de 5-bit"
+-
+-#: config/i386/i386.c:20304
+-#, fuzzy, gcc-internal-format
+-msgid "the third argument must be a 8-bit immediate"
+-msgstr "l'argument 1 ha de ser una literal amb signe de 5-bit"
+-
+-#: config/i386/i386.c:20374 config/rs6000/rs6000.c:8133
+-#, gcc-internal-format
+-msgid "selector must be an integer constant in the range 0..%wi"
+-msgstr ""
+-
+-#: config/i386/i386.c:20774 config/i386/i386.c:20970
+-#, gcc-internal-format
+-msgid "shift must be an immediate"
+-msgstr "el desplaçament ha de ser immediat"
+-
+-#: config/i386/i386.c:21033 config/i386/i386.c:21075
+-#, fuzzy, gcc-internal-format
+-msgid "index mask must be an immediate"
+-msgstr "la màscara ha de ser immediat"
+-
+-#: config/i386/i386.c:21038 config/i386/i386.c:21080
+-#, fuzzy, gcc-internal-format
+-msgid "length mask must be an immediate"
+-msgstr "la màscara ha de ser immediat"
+-
+-#: config/i386/i386.c:22525 config/rs6000/rs6000.c:19666
+-#, fuzzy, gcc-internal-format
+-msgid "%qs incompatible attribute ignored"
+-msgstr "s'ignora l'atribut \"%s\""
+-
+-#: config/i386/winnt-cxx.c:71 config/sh/symbian.c:172
+-#, gcc-internal-format
+-msgid "definition of static data member %q+D of dllimport'd class"
+-msgstr ""
+-
+-#: config/i386/winnt.c:58
+-#, fuzzy, gcc-internal-format
+-msgid "%qs attribute only applies to variables"
+-msgstr "l'atribut \"%s\" solament aplica a variables"
+-
+-#: config/i386/winnt.c:80
+-#, gcc-internal-format
+-msgid "%qs attribute applies only to initialized variables with external linkage"
+-msgstr ""
+-
+-#: config/i386/winnt.c:297
+-#, fuzzy, gcc-internal-format
+-msgid "%q+D:'selectany' attribute applies only to initialized objects"
+-msgstr "%Jl'atribut \"%E\" s'aplica solament a funcions"
+-
+-#: config/i386/winnt.c:445
+-#, fuzzy, gcc-internal-format
+-msgid "%q+D causes a section type conflict"
+-msgstr "%s causa un conflicte de tipus de secció"
+-
+-#: config/i386/cygming.h:162
+-#, gcc-internal-format
+-msgid "-f%s ignored for target (all code is position independent)"
+-msgstr "s'ignora -f%s per a l'objectiu (tot el codi és independent de posició)"
+-
+-#: config/i386/djgpp.h:180
+-#, gcc-internal-format
+-msgid "-mbnu210 is ignored (option is obsolete)"
+-msgstr "s'ignora -mbnu210 (l'opció és obsoleta)."
+-
+-#: config/i386/i386-interix.h:256
+-#, fuzzy, gcc-internal-format
+-msgid "ms-bitfields not supported for objc"
+-msgstr "-f%s no té suport: ignorat"
+-
+-#: config/ia64/ia64-c.c:51
+-#, gcc-internal-format
+-msgid "malformed #pragma builtin"
+-msgstr "secció #pragma builtin malformada"
+-
+-#: config/ia64/ia64.c:554 config/m32r/m32r.c:373
+-#, fuzzy, gcc-internal-format
+-msgid "invalid argument of %qs attribute"
+-msgstr "no vàlid argument per a l'atribut \"%s\""
+-
+-#: config/ia64/ia64.c:566
+-#, gcc-internal-format
+-msgid "%Jan address area attribute cannot be specified for local variables"
+-msgstr "%Jno es pot especificar un atribut d'àrea de dades per a variables locals"
+-
+-#: config/ia64/ia64.c:573
+-#, fuzzy, gcc-internal-format
+-msgid "address area of %q+D conflicts with previous declaration"
+-msgstr "%Jl'àrea d'adreça de \"%s\" és en conflicte amb una declaració prèvia"
+-
+-#: config/ia64/ia64.c:580
+-#, gcc-internal-format
+-msgid "%Jaddress area attribute cannot be specified for functions"
+-msgstr "%Jno es pot especificar un atribut d'àrea d'adreça per a funcions"
+-
+-#: config/ia64/ia64.c:5126 config/pa/pa.c:347 config/spu/spu.c:3875
+-#, gcc-internal-format
+-msgid "value of -mfixed-range must have form REG1-REG2"
+-msgstr "el valor de -mfixed-range ha de ser de la forma REG1-REG2"
+-
+-#: config/ia64/ia64.c:5153 config/pa/pa.c:374 config/spu/spu.c:3901
+-#, gcc-internal-format
+-msgid "%s-%s is an empty range"
+-msgstr "%s-%s és un rang buit"
+-
+-#: config/ia64/ia64.c:5181
+-#, fuzzy, gcc-internal-format
+-msgid "bad value %<%s%> for -mtls-size= switch"
+-msgstr "valor erroni (%s) per a l'opció -mtls-size="
+-
+-#: config/ia64/ia64.c:5209
+-#, fuzzy, gcc-internal-format
+-msgid "bad value %<%s%> for -mtune= switch"
+-msgstr "valor erroni (%s) per a l'opció -mcpu="
+-
+-#: config/ia64/ia64.c:5228
+-#, gcc-internal-format
+-msgid "not yet implemented: latency-optimized inline square root"
+-msgstr ""
+-
+-#: config/ia64/ia64.c:9950
+-#, fuzzy, gcc-internal-format
+-msgid "version attribute is not a string"
+-msgstr "l'argument de l'atribut \"%s\" no es una cadena constant"
+-
+-#: config/iq2000/iq2000.c:1812
+-#, fuzzy, gcc-internal-format
+-msgid "gp_offset (%ld) or end_offset (%ld) is less than zero"
+-msgstr "gp_offset (%ld) o end_offset (%ld) és menys de zero"
+-
+-#: config/iq2000/iq2000.c:2583
+-#, fuzzy, gcc-internal-format
+-msgid "argument %qd is not a constant"
+-msgstr "l'argument \"%d\" no és una constant"
+-
+-#: config/iq2000/iq2000.c:2885 config/mt/mt.c:349 config/xtensa/xtensa.c:2118
+-#, gcc-internal-format
+-msgid "PRINT_OPERAND_ADDRESS, null pointer"
+-msgstr "PRINT_OPERAND_ADDRESS, punter nul"
+-
+-#: config/iq2000/iq2000.c:3040
+-#, fuzzy, gcc-internal-format
+-msgid "PRINT_OPERAND: Unknown punctuation '%c'"
+-msgstr "PRINT_OPERAND: puntuació desconeguda \"%c\""
+-
+-#: config/iq2000/iq2000.c:3049 config/xtensa/xtensa.c:1972
+-#, gcc-internal-format
+-msgid "PRINT_OPERAND null pointer"
+-msgstr "PRINT_OPERAND punter nul"
+-
+-#: config/m32c/m32c-pragma.c:63
+-#, fuzzy, gcc-internal-format
+-msgid "junk at end of #pragma GCC memregs [0..16]"
+-msgstr "escombraries al final de #pragma %s"
+-
+-#: config/m32c/m32c-pragma.c:70
+-#, gcc-internal-format
+-msgid "#pragma GCC memregs must precede any function decls"
+-msgstr ""
+-
+-#: config/m32c/m32c-pragma.c:81 config/m32c/m32c-pragma.c:88
+-#, gcc-internal-format
+-msgid "#pragma GCC memregs takes a number [0..16]"
+-msgstr ""
+-
+-#: config/m32c/m32c.c:416
+-#, fuzzy, gcc-internal-format
+-msgid "invalid target memregs value '%d'"
+-msgstr "valor de --param \"%s\" no vàlid"
+-
+-#: config/m32c/m32c.c:2759
+-#, fuzzy, gcc-internal-format
+-msgid "`%s' attribute is not supported for R8C target"
+-msgstr "l'atribut \"%s\" no té suport en aquesta plataforma"
+-
+-#: config/m32c/m32c.c:2767
+-#, fuzzy, gcc-internal-format
+-msgid "`%s' attribute applies only to functions"
+-msgstr "%Jl'atribut \"%E\" s'aplica solament a funcions"
+-
+-#: config/m32c/m32c.c:2775
+-#, gcc-internal-format
+-msgid "`%s' attribute argument not an integer constant"
+-msgstr "l'argument de l'atribut \"%s\" no és una cadena entera"
+-
+-#: config/m32c/m32c.c:2784
+-#, fuzzy, gcc-internal-format
+-msgid "`%s' attribute argument should be between 18 to 255"
+-msgstr "l'argument de l'atribut \"%s\" no és una cadena entera"
+-
+-#: config/m68hc11/m68hc11.c:279
+-#, gcc-internal-format
+-msgid "-f%s ignored for 68HC11/68HC12 (not supported)"
+-msgstr "s'ignora -f%s per a 68HC11/68HC12 (sense suport)"
+-
+-#: config/m68hc11/m68hc11.c:1240
+-#, fuzzy, gcc-internal-format
+-msgid "%<trap%> and %<far%> attributes are not compatible, ignoring %<far%>"
+-msgstr "-f%s i -msdata=%s són incompatibles"
+-
+-#: config/m68hc11/m68hc11.c:1247
+-#, fuzzy, gcc-internal-format
+-msgid "%<trap%> attribute is already used"
+-msgstr "l'atribut \"trap\" ja està en ús"
+-
+-#: config/m68k/m68k.c:533
+-#, fuzzy, gcc-internal-format
+-msgid "-mcpu=%s conflicts with -march=%s"
+-msgstr "l'opció -mcpu=%s genera conflictes amb l'opció -march="
+-
+-#: config/m68k/m68k.c:594
+-#, fuzzy, gcc-internal-format
+-msgid "-mpcrel -fPIC is not currently supported on selected cpu"
+-msgstr " -fPIC actualment no té suport en el 68000 o 68010\n"
+-
+-#: config/m68k/m68k.c:656
+-#, fuzzy, gcc-internal-format
+-msgid "-falign-labels=%d is not supported"
+-msgstr "els trampolins no tenen suport"
+-
+-#: config/m68k/m68k.c:661
+-#, fuzzy, gcc-internal-format
+-msgid "-falign-loops=%d is not supported"
+-msgstr "-malign-loops=%d no està entre 0 i %d"
+-
+-#: config/m68k/m68k.c:748
+-#, fuzzy, gcc-internal-format
+-msgid "multiple interrupt attributes not allowed"
+-msgstr "%Jno es permet un atribut de secció per a \"%D\""
+-
+-#: config/m68k/m68k.c:755
+-#, gcc-internal-format
+-msgid "interrupt_thread is available only on fido"
+-msgstr ""
+-
+-#: config/m68k/m68k.c:1072 config/rs6000/rs6000.c:15014
+-#, fuzzy, gcc-internal-format
+-msgid "stack limit expression is not supported"
+-msgstr "no es dóna suport a l'expressió del límit de la pila"
+-
+-#: config/mips/mips.c:1163
+-#, gcc-internal-format
+-msgid "%qs cannot have both %<mips16%> and %<nomips16%> attributes"
+-msgstr ""
+-
+-#: config/mips/mips.c:1185 config/mips/mips.c:1188
+-#, gcc-internal-format
+-msgid "%qs redeclared with conflicting %qs attributes"
+-msgstr ""
+-
+-#: config/mips/mips.c:2348
+-#, gcc-internal-format
+-msgid "MIPS16 TLS"
+-msgstr ""
+-
+-#: config/mips/mips.c:5439
+-#, fuzzy, gcc-internal-format
+-msgid "cannot handle inconsistent calls to %qs"
+-msgstr "no es poden manejar les crides inconsistents a \"%s\""
+-
+-#: config/mips/mips.c:10258
+-#, fuzzy, gcc-internal-format
+-msgid "invalid argument to built-in function"
+-msgstr "massa arguments per a la funció"
+-
+-#: config/mips/mips.c:10530
+-#, fuzzy, gcc-internal-format
+-msgid "built-in function %qs not supported for MIPS16"
+-msgstr "no se suporta actualment la funció interna \"%s\""
+-
+-#: config/mips/mips.c:11679 config/mips/mips.c:12065
+-#, gcc-internal-format
+-msgid "MIPS16 PIC"
+-msgstr ""
+-
+-#: config/mips/mips.c:11682
+-#, gcc-internal-format
+-msgid "hard-float MIPS16 code for ABIs other than o32 and o64"
+-msgstr ""
+-
+-#: config/mips/mips.c:11810
+-#, fuzzy, gcc-internal-format
+-msgid "CPU names must be lower case"
+-msgstr "el nom de cpu ha de estar en minúscules"
+-
+-#: config/mips/mips.c:11938
+-#, gcc-internal-format
+-msgid "%<-%s%> conflicts with the other architecture options, which specify a %s processor"
+-msgstr ""
+-
+-#: config/mips/mips.c:11954
+-#, gcc-internal-format
+-msgid "%<-march=%s%> is not compatible with the selected ABI"
+-msgstr ""
+-
+-#: config/mips/mips.c:11969
+-#, fuzzy, gcc-internal-format
+-msgid "%<-mgp64%> used with a 32-bit processor"
+-msgstr "s'utilitza -mgp64 amb una ABI de 32-bit"
+-
+-#: config/mips/mips.c:11971
+-#, fuzzy, gcc-internal-format
+-msgid "%<-mgp32%> used with a 64-bit ABI"
+-msgstr "s'utilitza -mgp32 amb una ABI de 64-bit"
+-
+-#: config/mips/mips.c:11973
+-#, fuzzy, gcc-internal-format
+-msgid "%<-mgp64%> used with a 32-bit ABI"
+-msgstr "s'utilitza -mgp64 amb una ABI de 32-bit"
+-
+-#: config/mips/mips.c:11989 config/mips/mips.c:11991 config/mips/mips.c:12058
+-#, gcc-internal-format
+-msgid "unsupported combination: %s"
+-msgstr "combinació sense suport: %s"
+-
+-#: config/mips/mips.c:11995
+-#, gcc-internal-format
+-msgid "%<-mgp32%> and %<-mfp64%> can only be combined if the target supports the mfhc1 and mthc1 instructions"
+-msgstr ""
+-
+-#: config/mips/mips.c:11998
+-#, gcc-internal-format
+-msgid "%<-mgp32%> and %<-mfp64%> can only be combined when using the o32 ABI"
+-msgstr ""
+-
+-#: config/mips/mips.c:12052
+-#, fuzzy, gcc-internal-format
+-msgid "the %qs architecture does not support branch-likely instructions"
+-msgstr "el CPU objectiu no té suport les instruccions THUMB"
+-
+-#: config/mips/mips.c:12098
+-#, gcc-internal-format
+-msgid "%<-mno-gpopt%> needs %<-mexplicit-relocs%>"
+-msgstr ""
+-
+-#: config/mips/mips.c:12106 config/mips/mips.c:12109
+-#, gcc-internal-format
+-msgid "cannot use small-data accesses for %qs"
+-msgstr ""
+-
+-#: config/mips/mips.c:12123
+-#, gcc-internal-format
+-msgid "%<-mips3d%> requires %<-mpaired-single%>"
+-msgstr ""
+-
+-#: config/mips/mips.c:12132
+-#, fuzzy, gcc-internal-format
+-msgid "%qs must be used with %qs"
+-msgstr "-frepo ha de ser usat amb -c"
+-
+-#: config/mips/mips.c:12139
+-#, fuzzy, gcc-internal-format
+-msgid "the %qs architecture does not support paired-single instructions"
+-msgstr "el CPU objectiu no té suport les instruccions THUMB"
+-
+-#. Output assembler code to FILE to increment profiler label # LABELNO
+-#. for profiling a function entry.
+-#: config/mips/mips.h:2110
+-#, gcc-internal-format
+-msgid "mips16 function profiling"
+-msgstr "anàlisi de perfil de les funcions mips16"
+-
+-#: config/mmix/mmix.c:226
+-#, gcc-internal-format
+-msgid "-f%s not supported: ignored"
+-msgstr "-f%s no té suport: ignorat"
+-
+-#: config/mmix/mmix.c:674
+-#, fuzzy, gcc-internal-format
+-msgid "support for mode %qs"
+-msgstr "no hi ha tipus de dades pel mode \"%s\""
+-
+-#: config/mmix/mmix.c:688
+-#, gcc-internal-format
+-msgid "too large function value type, needs %d registers, have only %d registers for this"
+-msgstr "el valor del tipus de la funció és massa gran, necessita %d registres, només es tenen %d registres per a això"
+-
+-#: config/mmix/mmix.c:858
+-#, gcc-internal-format
+-msgid "function_profiler support for MMIX"
+-msgstr "suport per a function_profiler per a MMIX"
+-
+-#: config/mmix/mmix.c:880
+-#, gcc-internal-format
+-msgid "MMIX Internal: Last named vararg would not fit in a register"
+-msgstr "MMIX intern: L'últim vararg nomenat no conté en un registre"
+-
+-#: config/mmix/mmix.c:1495 config/mmix/mmix.c:1519 config/mmix/mmix.c:1635
+-#, gcc-internal-format
+-msgid "MMIX Internal: Bad register: %d"
+-msgstr "MMIX intern: registre erroni: %d"
+-
+-#. Presumably there's a missing case above if we get here.
+-#: config/mmix/mmix.c:1627
+-#, fuzzy, gcc-internal-format
+-msgid "MMIX Internal: Missing %qc case in mmix_print_operand"
+-msgstr "MMIX intern: «case» \"%c\" faltant en mmix_print_operand"
+-
+-#: config/mmix/mmix.c:1913
+-#, fuzzy, gcc-internal-format
+-msgid "stack frame not a multiple of 8 bytes: %wd"
+-msgstr "el marc de pila no és un múltiple de 8 octets: %d"
+-
+-#: config/mmix/mmix.c:2149
+-#, fuzzy, gcc-internal-format
+-msgid "stack frame not a multiple of octabyte: %wd"
+-msgstr "el marc de pila no és un múltiple de octabyte: %d"
+-
+-#: config/mmix/mmix.c:2489 config/mmix/mmix.c:2553
+-#, gcc-internal-format
+-msgid "MMIX Internal: %s is not a shiftable int"
+-msgstr "MMIX intern: %s no és un enter desplaçable"
+-
+-#: config/mt/mt.c:312
+-#, gcc-internal-format
+-msgid "info pointer NULL"
+-msgstr ""
+-
+-#: config/pa/pa.c:479
+-#, fuzzy, gcc-internal-format
+-msgid "PIC code generation is not supported in the portable runtime model"
+-msgstr "La generació de codi PIC no té suport en el model portable de temps d'execució\n"
+-
+-#: config/pa/pa.c:484
+-#, fuzzy, gcc-internal-format
+-msgid "PIC code generation is not compatible with fast indirect calls"
+-msgstr "La generació de codi PIC no és compatible amb les crides ràpides indirectes\n"
+-
+-#: config/pa/pa.c:489
+-#, gcc-internal-format
+-msgid "-g is only supported when using GAS on this processor,"
+-msgstr "-g només té suport quan s'usa GAS en aquest processador,"
+-
+-#: config/pa/pa.c:490
+-#, gcc-internal-format
+-msgid "-g option disabled"
+-msgstr "opció -g desactivada"
+-
+-#: config/pa/pa.c:8285
+-#, gcc-internal-format
+-msgid "alignment (%u) for %s exceeds maximum alignment for global common data. Using %u"
+-msgstr ""
+-
+-#: config/pa/pa-hpux11.h:84
+-#, gcc-internal-format
+-msgid "-munix=98 option required for C89 Amendment 1 features.\n"
+-msgstr ""
+-
+-#: config/rs6000/host-darwin.c:61
+-#, gcc-internal-format
+-msgid "Segmentation Fault (code)"
+-msgstr ""
+-
+-#: config/rs6000/host-darwin.c:131
+-#, gcc-internal-format
+-msgid "Segmentation Fault"
+-msgstr ""
+-
+-#: config/rs6000/host-darwin.c:145
+-#, gcc-internal-format
+-msgid "While setting up signal stack: %m"
+-msgstr ""
+-
+-#: config/rs6000/host-darwin.c:151
+-#, gcc-internal-format
+-msgid "While setting up signal handler: %m"
+-msgstr ""
+-
+-#. Handle the machine specific pragma longcall. Its syntax is
+-#.
+-#. # pragma longcall ( TOGGLE )
+-#.
+-#. where TOGGLE is either 0 or 1.
+-#.
+-#. rs6000_default_long_calls is set to the value of TOGGLE, changing
+-#. whether or not new function declarations receive a longcall
+-#. attribute by default.
+-#: config/rs6000/rs6000-c.c:52
+-#, gcc-internal-format
+-msgid "ignoring malformed #pragma longcall"
+-msgstr "ignorant el #pragma longcall malformats"
+-
+-#: config/rs6000/rs6000-c.c:65
+-#, gcc-internal-format
+-msgid "missing open paren"
+-msgstr "\"(\" faltant"
+-
+-#: config/rs6000/rs6000-c.c:67
+-#, gcc-internal-format
+-msgid "missing number"
+-msgstr "falta valor"
+-
+-#: config/rs6000/rs6000-c.c:69
+-#, gcc-internal-format
+-msgid "missing close paren"
+-msgstr "\")\" faltant"
+-
+-#: config/rs6000/rs6000-c.c:72
+-#, gcc-internal-format
+-msgid "number must be 0 or 1"
+-msgstr ""
+-
+-#: config/rs6000/rs6000-c.c:75
+-#, gcc-internal-format
+-msgid "junk at end of #pragma longcall"
+-msgstr "escombraries al final de #pragma longcall"
+-
+-#: config/rs6000/rs6000-c.c:2550
+-#, fuzzy, gcc-internal-format
+-msgid "passing arg %d of %qE discards qualifiers frompointer target type"
+-msgstr "la conversió de \"%T\" a \"%T\" descarta els qualificadors del tipus de la destinació del punter"
+-
+-#: config/rs6000/rs6000-c.c:2593
+-#, fuzzy, gcc-internal-format
+-msgid "invalid parameter combination for AltiVec intrinsic"
+-msgstr "registre no vàlid en la instrucció"
+-
+-#: config/rs6000/rs6000.c:1294
+-#, gcc-internal-format
+-msgid "-mdynamic-no-pic overrides -fpic or -fPIC"
+-msgstr ""
+-
+-#: config/rs6000/rs6000.c:1305
+-#, fuzzy, gcc-internal-format
+-msgid "-m64 requires PowerPC64 architecture, enabling"
+-msgstr "-maix64 requereix que l'arquitectura PowerPC64 romangui activada"
+-
+-#: config/rs6000/rs6000.c:1528
+-#, gcc-internal-format
+-msgid "-mmultiple is not supported on little endian systems"
+-msgstr "-mmultiple no té suport en sistemes little endian"
+-
+-#: config/rs6000/rs6000.c:1535
+-#, gcc-internal-format
+-msgid "-mstring is not supported on little endian systems"
+-msgstr "-mstringe no té suport en sistemes little endian"
+-
+-#: config/rs6000/rs6000.c:1549
+-#, gcc-internal-format
+-msgid "unknown -mdebug-%s switch"
+-msgstr "interruptor -mdebug-%s desconegut"
+-
+-#: config/rs6000/rs6000.c:1561
+-#, gcc-internal-format
+-msgid "unknown -mtraceback arg %qs; expecting %<full%>, %<partial%> or %<none%>"
+-msgstr ""
+-
+-#: config/rs6000/rs6000.c:1973
+-#, fuzzy, gcc-internal-format
+-msgid "unknown -m%s= option specified: '%s'"
+-msgstr "opció -misel= especificada desconeguda: \"%s\""
+-
+-#: config/rs6000/rs6000.c:2186
+-#, gcc-internal-format
+-msgid "not configured for ABI: '%s'"
+-msgstr ""
+-
+-#: config/rs6000/rs6000.c:2199
+-#, gcc-internal-format
+-msgid "Using darwin64 ABI"
+-msgstr ""
+-
+-#: config/rs6000/rs6000.c:2204
+-#, gcc-internal-format
+-msgid "Using old darwin ABI"
+-msgstr ""
+-
+-#: config/rs6000/rs6000.c:2211
+-#, gcc-internal-format
+-msgid "Using IBM extended precision long double"
+-msgstr ""
+-
+-#: config/rs6000/rs6000.c:2217
+-#, gcc-internal-format
+-msgid "Using IEEE extended precision long double"
+-msgstr ""
+-
+-#: config/rs6000/rs6000.c:2222
+-#, gcc-internal-format
+-msgid "unknown ABI specified: '%s'"
+-msgstr "ABI especificada desconeguda: \"%s\""
+-
+-#: config/rs6000/rs6000.c:2249
+-#, fuzzy, gcc-internal-format
+-msgid "invalid option for -mfloat-gprs: '%s'"
+-msgstr "opció no vàlida \"-mshort-data-%s\""
+-
+-#: config/rs6000/rs6000.c:2259
+-#, gcc-internal-format
+-msgid "Unknown switch -mlong-double-%s"
+-msgstr "Opció -mlong-double-%s desconegut"
+-
+-#: config/rs6000/rs6000.c:2280
+-#, gcc-internal-format
+-msgid "-malign-power is not supported for 64-bit Darwin; it is incompatible with the installed C and C++ libraries"
+-msgstr ""
+-
+-#: config/rs6000/rs6000.c:2288
+-#, fuzzy, gcc-internal-format
+-msgid "unknown -malign-XXXXX option specified: '%s'"
+-msgstr "opció -misel= especificada desconeguda: \"%s\""
+-
+-#: config/rs6000/rs6000.c:4989
+-#, gcc-internal-format
+-msgid "GCC vector returned by reference: non-standard ABI extension with no compatibility guarantee"
+-msgstr ""
+-
+-#: config/rs6000/rs6000.c:5062
+-#, gcc-internal-format
+-msgid "cannot return value in vector register because altivec instructions are disabled, use -maltivec to enable them"
+-msgstr ""
+-
+-#: config/rs6000/rs6000.c:5320
+-#, gcc-internal-format
+-msgid "cannot pass argument in vector register because altivec instructions are disabled, use -maltivec to enable them"
+-msgstr ""
+-
+-#: config/rs6000/rs6000.c:6221
+-#, gcc-internal-format
+-msgid "GCC vector passed by reference: non-standard ABI extension with no compatibility guarantee"
+-msgstr ""
+-
+-#: config/rs6000/rs6000.c:7461
+-#, gcc-internal-format
+-msgid "argument 1 must be a 5-bit signed literal"
+-msgstr "l'argument 1 ha de ser una literal amb signe de 5-bit"
+-
+-#: config/rs6000/rs6000.c:7564 config/rs6000/rs6000.c:8475
+-#, gcc-internal-format
+-msgid "argument 2 must be a 5-bit unsigned literal"
+-msgstr "l'argument 2 ha de ser una literal sense signe de 5-bit"
+-
+-#: config/rs6000/rs6000.c:7604
+-#, gcc-internal-format
+-msgid "argument 1 of __builtin_altivec_predicate must be a constant"
+-msgstr "l'argument 1 de _builtin_altivec_predicate ha de ser una constant"
+-
+-#: config/rs6000/rs6000.c:7657
+-#, gcc-internal-format
+-msgid "argument 1 of __builtin_altivec_predicate is out of range"
+-msgstr "l'argument 1 de _builtin_altivec_predicate es fora de límits"
+-
+-#: config/rs6000/rs6000.c:7906
+-#, gcc-internal-format
+-msgid "argument 3 must be a 4-bit unsigned literal"
+-msgstr "l'argument 3 ha de ser una literal sense signe de 4-bit"
+-
+-#: config/rs6000/rs6000.c:8078
+-#, fuzzy, gcc-internal-format
+-msgid "argument to %qs must be a 2-bit unsigned literal"
+-msgstr "l'argument per a \"%s\" ha de ser una literal sense signe de 2-bit"
+-
+-#: config/rs6000/rs6000.c:8220
+-#, gcc-internal-format
+-msgid "unresolved overload for Altivec builtin %qF"
+-msgstr ""
+-
+-#: config/rs6000/rs6000.c:8302
+-#, gcc-internal-format
+-msgid "argument to dss must be a 2-bit unsigned literal"
+-msgstr "l'argument per a dss ha de ser una literal sense signe de 2-bit"
+-
+-#: config/rs6000/rs6000.c:8595
+-#, fuzzy, gcc-internal-format
+-msgid "argument 1 of __builtin_paired_predicate must be a constant"
+-msgstr "l'argument 1 de __builtin__spe_predicate ha de ser una constant"
+-
+-#: config/rs6000/rs6000.c:8642
+-#, fuzzy, gcc-internal-format
+-msgid "argument 1 of __builtin_paired_predicate is out of range"
+-msgstr "l'argument 1 de __builtin_spe_predicate està fora de límits"
+-
+-#: config/rs6000/rs6000.c:8667
+-#, gcc-internal-format
+-msgid "argument 1 of __builtin_spe_predicate must be a constant"
+-msgstr "l'argument 1 de __builtin__spe_predicate ha de ser una constant"
+-
+-#: config/rs6000/rs6000.c:8739
+-#, gcc-internal-format
+-msgid "argument 1 of __builtin_spe_predicate is out of range"
+-msgstr "l'argument 1 de __builtin_spe_predicate està fora de límits"
+-
+-#: config/rs6000/rs6000.c:14977
+-#, fuzzy, gcc-internal-format
+-msgid "stack frame too large"
+-msgstr "marc de pila massa grand: %d bytes"
+-
+-#: config/rs6000/rs6000.c:17598
+-#, gcc-internal-format
+-msgid "no profiling of 64-bit code for this ABI"
+-msgstr ""
+-
+-#: config/rs6000/rs6000.c:19470
+-#, gcc-internal-format
+-msgid "use of %<long%> in AltiVec types is invalid for 64-bit code"
+-msgstr ""
+-
+-#: config/rs6000/rs6000.c:19472
+-#, gcc-internal-format
+-msgid "use of %<long%> in AltiVec types is deprecated; use %<int%>"
+-msgstr ""
+-
+-#: config/rs6000/rs6000.c:19476
+-#, gcc-internal-format
+-msgid "use of %<long long%> in AltiVec types is invalid"
+-msgstr ""
+-
+-#: config/rs6000/rs6000.c:19478
+-#, gcc-internal-format
+-msgid "use of %<double%> in AltiVec types is invalid"
+-msgstr ""
+-
+-#: config/rs6000/rs6000.c:19480
+-#, gcc-internal-format
+-msgid "use of %<long double%> in AltiVec types is invalid"
+-msgstr ""
+-
+-#: config/rs6000/rs6000.c:19482
+-#, gcc-internal-format
+-msgid "use of boolean types in AltiVec types is invalid"
+-msgstr ""
+-
+-#: config/rs6000/rs6000.c:19484
+-#, gcc-internal-format
+-msgid "use of %<complex%> in AltiVec types is invalid"
+-msgstr ""
+-
+-#: config/rs6000/rs6000.c:19486
+-#, gcc-internal-format
+-msgid "use of decimal floating point types in AltiVec types is invalid"
+-msgstr ""
+-
+-#: config/rs6000/aix43.h:38 config/rs6000/aix51.h:37 config/rs6000/aix52.h:38
+-#: config/rs6000/aix53.h:38
+-#, gcc-internal-format
+-msgid "-maix64 and POWER architecture are incompatible"
+-msgstr "-maix64 i l'arquitectura POWER són incompatibles"
+-
+-#: config/rs6000/aix43.h:43 config/rs6000/aix51.h:42 config/rs6000/aix52.h:43
+-#: config/rs6000/aix53.h:43
+-#, gcc-internal-format
+-msgid "-maix64 requires PowerPC64 architecture remain enabled"
+-msgstr "-maix64 requereix que l'arquitectura PowerPC64 romangui activada"
+-
+-#: config/rs6000/aix43.h:49 config/rs6000/aix52.h:49 config/rs6000/aix53.h:49
+-#, fuzzy, gcc-internal-format
+-msgid "soft-float and long-double-128 are incompatible"
+-msgstr "-mrelocatable i -mcall-%s són incompatibles"
+-
+-#: config/rs6000/aix43.h:53 config/rs6000/aix51.h:46 config/rs6000/aix52.h:53
+-#: config/rs6000/aix53.h:53
+-#, gcc-internal-format
+-msgid "-maix64 required: 64-bit computation with 32-bit addressing not yet supported"
+-msgstr "es requereix -maix64: càlcul de 64 bits amb adreçament de 32 bits no té suport encara"
+-
+-#: config/rs6000/e500.h:41
+-#, gcc-internal-format
+-msgid "AltiVec and E500 instructions cannot coexist"
+-msgstr ""
+-
+-#: config/rs6000/e500.h:43
+-#, fuzzy, gcc-internal-format
+-msgid "64-bit E500 not supported"
+-msgstr "-pipe no té suport"
+-
+-#: config/rs6000/e500.h:45
+-#, fuzzy, gcc-internal-format
+-msgid "E500 and FPRs not supported"
+-msgstr "els trampolins no tenen suport"
+-
+-#: config/rs6000/eabispe.h:43 config/rs6000/linuxspe.h:42
+-#, fuzzy, gcc-internal-format
+-msgid "-m64 not supported in this configuration"
+-msgstr "%s no té suport en aquesta configuració"
+-
+-#: config/rs6000/linux64.h:108
+-#, fuzzy, gcc-internal-format
+-msgid "-m64 requires a PowerPC64 cpu"
+-msgstr "-maix64 requereix que l'arquitectura PowerPC64 romangui activada"
+-
+-#. Definitions for __builtin_return_address and __builtin_frame_address.
+-#. __builtin_return_address (0) should give link register (65), enable
+-#. this.
+-#. This should be uncommented, so that the link register is used, but
+-#. currently this would result in unmatched insns and spilling fixed
+-#. registers so we'll leave it for another day. When these problems are
+-#. taken care of one additional fetch will be necessary in RETURN_ADDR_RTX.
+-#. (mrs)
+-#. #define RETURN_ADDR_IN_PREVIOUS_FRAME
+-#. Number of bytes into the frame return addresses can be found. See
+-#. rs6000_stack_info in rs6000.c for more information on how the different
+-#. abi's store the return address.
+-#: config/rs6000/rs6000.h:1560
+-#, gcc-internal-format
+-msgid "RETURN_ADDRESS_OFFSET not supported"
+-msgstr "No es dóna suport a RETURN_ADDRESS_OFFSET"
+-
+-#. Sometimes certain combinations of command options do not make sense
+-#. on a particular target machine. You can define a macro
+-#. `OVERRIDE_OPTIONS' to take account of this. This macro, if
+-#. defined, is executed once just after all the command options have
+-#. been parsed.
+-#.
+-#. The macro SUBTARGET_OVERRIDE_OPTIONS is provided for subtargets, to
+-#. get control.
+-#: config/rs6000/sysv4.h:129
+-#, gcc-internal-format
+-msgid "bad value for -mcall-%s"
+-msgstr "valor erroni per a -mcall-%s"
+-
+-#: config/rs6000/sysv4.h:145
+-#, gcc-internal-format
+-msgid "bad value for -msdata=%s"
+-msgstr "valor erroni per a -msdata=%s"
+-
+-#: config/rs6000/sysv4.h:162
+-#, gcc-internal-format
+-msgid "-mrelocatable and -msdata=%s are incompatible"
+-msgstr "-mrelocatable and i -msdata=%s són incompatibles"
+-
+-#: config/rs6000/sysv4.h:171
+-#, gcc-internal-format
+-msgid "-f%s and -msdata=%s are incompatible"
+-msgstr "-f%s i -msdata=%s són incompatibles"
+-
+-#: config/rs6000/sysv4.h:180
+-#, gcc-internal-format
+-msgid "-msdata=%s and -mcall-%s are incompatible"
+-msgstr "-msdata=%s i -mcall-%s són incompatibles"
+-
+-#: config/rs6000/sysv4.h:189
+-#, gcc-internal-format
+-msgid "-mrelocatable and -mno-minimal-toc are incompatible"
+-msgstr "-mrelocatable i -mno-minimal-toc són incompatibles"
+-
+-#: config/rs6000/sysv4.h:195
+-#, gcc-internal-format
+-msgid "-mrelocatable and -mcall-%s are incompatible"
+-msgstr "-mrelocatable i -mcall-%s són incompatibles"
+-
+-#: config/rs6000/sysv4.h:202
+-#, gcc-internal-format
+-msgid "-fPIC and -mcall-%s are incompatible"
+-msgstr "-fPIC i -mcall-%s són incompatibles"
+-
+-#: config/rs6000/sysv4.h:209
+-#, gcc-internal-format
+-msgid "-mcall-aixdesc must be big endian"
+-msgstr "-mcall-aixdesc ha de ser big endian"
+-
+-#: config/rs6000/sysv4.h:214
+-#, gcc-internal-format
+-msgid "-msecure-plt not supported by your assembler"
+-msgstr ""
+-
+-#: config/rs6000/sysv4.h:232
+-#, fuzzy, gcc-internal-format
+-msgid "-m%s not supported in this configuration"
+-msgstr "%s no té suport en aquesta configuració"
+-
+-#: config/s390/s390.c:1395
+-#, gcc-internal-format
+-msgid "stack guard value must be an exact power of 2"
+-msgstr ""
+-
+-#: config/s390/s390.c:1402
+-#, gcc-internal-format
+-msgid "stack size must be an exact power of 2"
+-msgstr ""
+-
+-#: config/s390/s390.c:1447
+-#, fuzzy, gcc-internal-format
+-msgid "z/Architecture mode not supported on %s"
+-msgstr "no es dóna suport al mode trap en Unicos/Mk"
+-
+-#: config/s390/s390.c:1449
+-#, fuzzy, gcc-internal-format
+-msgid "64-bit ABI not supported in ESA/390 mode"
+-msgstr "el model de codi %s no té suport en el mode PIC"
+-
+-#: config/s390/s390.c:1456
+-#, fuzzy, gcc-internal-format
+-msgid "Hardware decimal floating point instructions not available on %s"
+-msgstr "Usar instruccions de maquinari per a coma flotant"
+-
+-#: config/s390/s390.c:1459
+-#, fuzzy, gcc-internal-format
+-msgid "Hardware decimal floating point instructions not available in ESA/390 mode"
+-msgstr "Usar instruccions de maquinari per a coma flotant"
+-
+-#: config/s390/s390.c:1469
+-#, gcc-internal-format
+-msgid "-mhard-dfp can't be used in conjunction with -msoft-float"
+-msgstr ""
+-
+-#: config/s390/s390.c:1483
+-#, gcc-internal-format
+-msgid "-mbackchain -mpacked-stack -mhard-float are not supported in combination"
+-msgstr ""
+-
+-#: config/s390/s390.c:1489
+-#, gcc-internal-format
+-msgid "stack size must be greater than the stack guard value"
+-msgstr ""
+-
+-#: config/s390/s390.c:1491
+-#, gcc-internal-format
+-msgid "stack size must not be greater than 64k"
+-msgstr ""
+-
+-#: config/s390/s390.c:1494
+-#, gcc-internal-format
+-msgid "-mstack-guard implies use of -mstack-size"
+-msgstr ""
+-
+-#: config/s390/s390.c:6640
+-#, fuzzy, gcc-internal-format
+-msgid "total size of local variables exceeds architecture limit"
+-msgstr "La grandària total de les variables locals excedeix els límits de l'arquitectura."
+-
+-#: config/s390/s390.c:7298
+-#, gcc-internal-format
+-msgid "frame size of function %qs is "
+-msgstr ""
+-
+-#: config/s390/s390.c:7328
+-#, fuzzy, gcc-internal-format
+-msgid "frame size of %qs is "
+-msgstr "no es coneix la grandària d'emmagatzematge de \"%s\""
+-
+-#: config/s390/s390.c:7332
+-#, gcc-internal-format
+-msgid "%qs uses dynamic stack allocation"
+-msgstr ""
+-
+-#: config/score/score3.c:654 config/score/score7.c:653
+-#, fuzzy, gcc-internal-format
+-msgid "-fPIC and -G are incompatible"
+-msgstr "-fPIC i -mcall-%s són incompatibles"
+-
+-#: config/sh/sh.c:6894
+-#, gcc-internal-format
+-msgid "__builtin_saveregs not supported by this subtarget"
+-msgstr "no es dóna suport a _builtin_saveregs en aquest subobjectiu"
+-
+-#: config/sh/sh.c:7904
+-#, fuzzy, gcc-internal-format
+-msgid "%qs attribute only applies to interrupt functions"
+-msgstr "l'atribut \"%s\" aplica solament a funcions d'interrupció"
+-
+-#: config/sh/sh.c:7990
+-#, gcc-internal-format
+-msgid "attribute interrupt_handler is not compatible with -m5-compact"
+-msgstr ""
+-
+-#. The argument must be a constant string.
+-#: config/sh/sh.c:8012
+-#, fuzzy, gcc-internal-format
+-msgid "%qs attribute argument not a string constant"
+-msgstr "l'argument de l'atribut \"%s\" no és una cadena constant"
+-
+-#. The argument must be a constant integer.
+-#: config/sh/sh.c:8037
+-#, fuzzy, gcc-internal-format
+-msgid "%qs attribute argument not an integer constant"
+-msgstr "l'argument de l'atribut \"%s\" no és una cadena entera"
+-
+-#: config/sh/sh.c:10085
+-#, gcc-internal-format
+-msgid "r0 needs to be available as a call-clobbered register"
+-msgstr ""
+-
+-#: config/sh/sh.c:10106
+-#, fuzzy, gcc-internal-format
+-msgid "Need a second call-clobbered general purpose register"
+-msgstr "Usar el registre BK com un registre de propòsit general"
+-
+-#: config/sh/sh.c:10114
+-#, gcc-internal-format
+-msgid "Need a call-clobbered target register"
+-msgstr ""
+-
+-#: config/sh/symbian.c:146
+-#, fuzzy, gcc-internal-format
+-msgid "function %q+D is defined after prior declaration as dllimport: attribute ignored"
+-msgstr "la funció inline \"%s\" està declarada com dllimport: s'ignora l'atribut."
+-
+-#: config/sh/symbian.c:158
+-#, fuzzy, gcc-internal-format
+-msgid "inline function %q+D is declared as dllimport: attribute ignored"
+-msgstr "la funció «inline» \"%s\" està declarada com dllimport: s'ignora l'atribut."
+-
+-#: config/sh/symbian.c:272
+-#, fuzzy, gcc-internal-format
+-msgid "%qs declared as both exported to and imported from a DLL"
+-msgstr "\"%s\" és declarat com exportat a i importat d'una DLL al mateix temps"
+-
+-#: config/sh/symbian.c:279
+-#, gcc-internal-format
+-msgid "failure in redeclaration of %q+D: dllimport'd symbol lacks external linkage"
+-msgstr ""
+-
+-#: config/sh/symbian.c:325
+-#, gcc-internal-format
+-msgid "%s %q+D %s after being referenced with dllimport linkage"
+-msgstr ""
+-
+-#: config/sh/symbian.c:891 cp/tree.c:2737
+-#, gcc-internal-format
+-msgid "lang_* check: failed in %s, at %s:%d"
+-msgstr "revisió lang_*: ha fallat en %s, en %s:%d"
+-
+-#. FIXME
+-#: config/sh/netbsd-elf.h:94
+-#, gcc-internal-format
+-msgid "unimplemented-shmedia profiling"
+-msgstr ""
+-
+-#. There are no delay slots on SHmedia.
+-#. Relaxation isn't yet supported for SHmedia
+-#. After reload, if conversion does little good but can cause ICEs: - find_if_block doesn't do anything for SH because we don't have conditional execution patterns. (We use conditional move patterns, which are handled differently, and only before reload). - find_cond_trap doesn't do anything for the SH because we #. don't have conditional traps. - find_if_case_1 uses redirect_edge_and_branch_force in the only path that does an optimization, and this causes an ICE when branch targets are in registers. - find_if_case_2 doesn't do anything for the SHmedia after reload except when it can redirect a tablejump - and that's rather rare.
+-#. -fprofile-arcs needs a working libgcov . In unified tree configurations with newlib, this requires to configure with --with-newlib --with-headers. But there is no way to check here we have a working libgcov, so just assume that we have.
+-#: config/sh/sh.h:631
+-#, fuzzy, gcc-internal-format
+-msgid "profiling is still experimental for this target"
+-msgstr "No es dóna suport a anàlisi de perfil en aquest objectiu."
+-
+-#. Only the sh64-elf assembler fully supports .quad properly.
+-#. Pick one that makes most sense for the target in general. It is not much good to use different functions depending on -Os, since then we'll end up with two different functions when some of the code is compiled for size, and some for speed.
+-#. SH4 tends to emphasize speed.
+-#. These have their own way of doing things.
+-#. ??? Should we use the integer SHmedia function instead?
+-#. SH1 .. SH3 cores often go into small-footprint systems, so default to the smallest implementation available.
+-#. ??? EXPERIMENTAL
+-#. User supplied - leave it alone.
+-#. The debugging information is sufficient, but gdb doesn't implement this yet
+-#. Never run scheduling before reload, since that can break global alloc, and generates slower code anyway due to the pressure on R0.
+-#. Enable sched1 for SH4; ready queue will be reordered by the target hooks when pressure is high. We can not do this for SH3 and lower as they give spill failures for R0.
+-#. ??? Current exception handling places basic block boundaries after call_insns. It causes the high pressure on R0 and gives spill failures for R0 in reload. See PR 22553 and the thread on gcc-patches <http://gcc.gnu.org/ml/gcc-patches/2005-10/msg00816.html>.
+-#: config/sh/sh.h:730
+-#, gcc-internal-format
+-msgid "ignoring -fschedule-insns because of exception handling bug"
+-msgstr ""
+-
+-#. The kernel loader cannot handle the relaxation relocations, so it cannot load kernel modules (which are ET_REL) or RTP executables (which are linked with --emit-relocs). No relaxation relocations appear in shared libraries, so relaxation is OK for RTP PIC.
+-#: config/sh/vxworks.h:43
+-#, fuzzy, gcc-internal-format
+-msgid "-mrelax is only supported for RTP PIC"
+-msgstr "-g només té suport quan s'usa GAS en aquest processador,"
+-
+-#: config/sparc/sparc.c:698
+-#, gcc-internal-format
+-msgid "%s is not supported by this configuration"
+-msgstr "%s no té suport en aquesta configuració"
+-
+-#: config/sparc/sparc.c:705
+-#, gcc-internal-format
+-msgid "-mlong-double-64 not allowed with -m64"
+-msgstr "no es permet -mlong-double-64 amb -m64"
+-
+-#: config/sparc/sparc.c:730
+-#, gcc-internal-format
+-msgid "-mcmodel= is not supported on 32 bit systems"
+-msgstr "-mcmodel= no té suport en sistemes de 32 bit"
+-
+-#: config/spu/spu-c.c:77
+-#, fuzzy, gcc-internal-format
+-msgid "insufficient arguments to overloaded function %s"
+-msgstr "massa pocs arguments per a la funció \"%s\""
+-
+-#: config/spu/spu-c.c:112
+-#, fuzzy, gcc-internal-format
+-msgid "too many arguments to overloaded function %s"
+-msgstr "massa arguments per a la funció \"%s\""
+-
+-#: config/spu/spu-c.c:124
+-#, gcc-internal-format
+-msgid "parameter list does not match a valid signature for %s()"
+-msgstr ""
+-
+-#: config/spu/spu.c:337 config/spu/spu.c:348
+-#, fuzzy, gcc-internal-format
+-msgid "Unknown architecture '%s'"
+-msgstr "es desconeix el mode de màquina \"%s\""
+-
+-#: config/spu/spu.c:3034
+-#, gcc-internal-format
+-msgid "`%s' attribute ignored"
+-msgstr "s'ignora l'atribut \"%s\""
+-
+-#: config/spu/spu.c:5218
+-#, gcc-internal-format
+-msgid "%s expects an integer literal in the range [%d, %d]."
+-msgstr ""
+-
+-#: config/spu/spu.c:5238
+-#, gcc-internal-format
+-msgid "%s expects an integer literal in the range [%d, %d]. ("
+-msgstr ""
+-
+-#: config/spu/spu.c:5268
+-#, gcc-internal-format
+-msgid "%d least significant bits of %s are ignored."
+-msgstr ""
+-
+-#: config/stormy16/stormy16.c:499
+-#, fuzzy, gcc-internal-format
+-msgid "constant halfword load operand out of range"
+-msgstr "l'argument constant està fora de límits per a \"%s\""
+-
+-#: config/stormy16/stormy16.c:509
+-#, fuzzy, gcc-internal-format
+-msgid "constant arithmetic operand out of range"
+-msgstr "l'argument constant està fora de límits per a \"%s\""
+-
+-#: config/stormy16/stormy16.c:1108
+-#, gcc-internal-format
+-msgid "local variable memory requirements exceed capacity"
+-msgstr ""
+-
+-#: config/stormy16/stormy16.c:1274
+-#, fuzzy, gcc-internal-format
+-msgid "function_profiler support"
+-msgstr "suport per a function_profiler per a MMIX"
+-
+-#: config/stormy16/stormy16.c:1363
+-#, gcc-internal-format
+-msgid "cannot use va_start in interrupt function"
+-msgstr "no es pot usar va_start en una funció d'interrupció"
+-
+-#: config/stormy16/stormy16.c:1906
+-#, gcc-internal-format
+-msgid "switch statement of size %lu entries too large"
+-msgstr "la declaració «switch» de grandària %lu entrades és massa gran"
+-
+-#: config/stormy16/stormy16.c:2274
+-#, fuzzy, gcc-internal-format
+-msgid "%<__BELOW100__%> attribute only applies to variables"
+-msgstr "l'atribut \"%s\" solament aplica a variables"
+-
+-#: config/stormy16/stormy16.c:2281
+-#, gcc-internal-format
+-msgid "__BELOW100__ attribute not allowed with auto storage class"
+-msgstr ""
+-
+-#: config/v850/v850-c.c:66
+-#, gcc-internal-format
+-msgid "#pragma GHS endXXXX found without previous startXXX"
+-msgstr "es va trobar un #pragma GHS endXXXX sense un startXXX previ"
+-
+-#: config/v850/v850-c.c:69
+-#, gcc-internal-format
+-msgid "#pragma GHS endXXX does not match previous startXXX"
+-msgstr "el #pragma GHS endXXXX no coincideix amb el startXXX previ"
+-
+-#: config/v850/v850-c.c:95
+-#, gcc-internal-format
+-msgid "cannot set interrupt attribute: no current function"
+-msgstr "no es pot establir l'atribut d'interrupció: no hi ha funció actual"
+-
+-#: config/v850/v850-c.c:103
+-#, gcc-internal-format
+-msgid "cannot set interrupt attribute: no such identifier"
+-msgstr "no es pot establir l'atribut d'interrupció: no hi ha tal identificador"
+-
+-#: config/v850/v850-c.c:148
+-#, gcc-internal-format
+-msgid "junk at end of #pragma ghs section"
+-msgstr "escombraries al final de la secció #pragma ghs"
+-
+-#: config/v850/v850-c.c:165
+-#, gcc-internal-format
+-msgid "unrecognized section name \"%s\""
+-msgstr "no es reconeix el nom de secció \"%s\""
+-
+-#: config/v850/v850-c.c:180
+-#, gcc-internal-format
+-msgid "malformed #pragma ghs section"
+-msgstr "secció #pragma ghs malformada"
+-
+-#: config/v850/v850-c.c:199
+-#, gcc-internal-format
+-msgid "junk at end of #pragma ghs interrupt"
+-msgstr "escombraries al final del #pragma ghs interrupt"
+-
+-#: config/v850/v850-c.c:210
+-#, gcc-internal-format
+-msgid "junk at end of #pragma ghs starttda"
+-msgstr "escombraries al final del #pragma ghs starttda"
+-
+-#: config/v850/v850-c.c:221
+-#, gcc-internal-format
+-msgid "junk at end of #pragma ghs startsda"
+-msgstr "escombraries al final del #pragma ghs startsda"
+-
+-#: config/v850/v850-c.c:232
+-#, gcc-internal-format
+-msgid "junk at end of #pragma ghs startzda"
+-msgstr "escombraries al final del #pragma ghs startzda"
+-
+-#: config/v850/v850-c.c:243
+-#, gcc-internal-format
+-msgid "junk at end of #pragma ghs endtda"
+-msgstr "escombraries al final del #pragma ghs endtda"
+-
+-#: config/v850/v850-c.c:254
+-#, gcc-internal-format
+-msgid "junk at end of #pragma ghs endsda"
+-msgstr "escombraries al final del #pragma ghs endsda"
+-
+-#: config/v850/v850-c.c:265
+-#, gcc-internal-format
+-msgid "junk at end of #pragma ghs endzda"
+-msgstr "escombraries al final del #pragma ghs endzda"
+-
+-#: config/v850/v850.c:184
+-#, gcc-internal-format
+-msgid "value passed to %<-m%s%> is too large"
+-msgstr ""
+-
+-#: config/v850/v850.c:2084
+-#, fuzzy, gcc-internal-format
+-msgid "%Jdata area attributes cannot be specified for local variables"
+-msgstr "no es pot especificar un atribut d'àrea de dades per a variables locals"
+-
+-#: config/v850/v850.c:2095
+-#, fuzzy, gcc-internal-format
+-msgid "data area of %q+D conflicts with previous declaration"
+-msgstr "l'àrea de dades de \"%s\" en conflicte amb una declaració prèvia"
+-
+-#: config/v850/v850.c:2225
+-#, fuzzy, gcc-internal-format
+-msgid "bogus JR construction: %d"
+-msgstr "construcció JR ambigua: %d\n"
+-
+-#: config/v850/v850.c:2243 config/v850/v850.c:2352
+-#, gcc-internal-format
+-msgid "bad amount of stack space removal: %d"
+-msgstr "quantitat errònia d'eliminació d'espai de pila: %d"
+-
+-#: config/v850/v850.c:2332
+-#, gcc-internal-format
+-msgid "bogus JARL construction: %d\n"
+-msgstr "construcció JARL ambigua: %d\n"
+-
+-#: config/v850/v850.c:2631
+-#, fuzzy, gcc-internal-format
+-msgid "bogus DISPOSE construction: %d"
+-msgstr "construcció DISPOSE ambigua: %d\n"
+-
+-#: config/v850/v850.c:2650
+-#, fuzzy, gcc-internal-format
+-msgid "too much stack space to dispose of: %d"
+-msgstr "Massa espai de pila per a preparar: %d"
+-
+-#: config/v850/v850.c:2752
+-#, fuzzy, gcc-internal-format
+-msgid "bogus PREPEARE construction: %d"
+-msgstr "construcció PREPEARE ambigua: %d\n"
+-
+-#: config/v850/v850.c:2771
+-#, fuzzy, gcc-internal-format
+-msgid "too much stack space to prepare: %d"
+-msgstr "Massa espai de pila per a preparar: %d"
+-
+-#: config/xtensa/xtensa.c:1861
+-#, gcc-internal-format
+-msgid "boolean registers required for the floating-point option"
+-msgstr "es requereixen registres booleans per a l'opció de coma flotant"
+-
+-#: config/xtensa/xtensa.c:1896
+-#, fuzzy, gcc-internal-format
+-msgid "-f%s is not supported with CONST16 instructions"
+-msgstr "%s no té suport en aquesta configuració"
+-
+-#: config/xtensa/xtensa.c:1901
+-#, gcc-internal-format
+-msgid "PIC is required but not supported with CONST16 instructions"
+-msgstr ""
+-
+-#: config/xtensa/xtensa.c:2745 config/xtensa/xtensa.c:2765
+-#, fuzzy, gcc-internal-format
+-msgid "bad builtin code"
+-msgstr "macro interna \"%s\" no vàlida"
+-
+-#: config/xtensa/xtensa.c:2873
+-#, gcc-internal-format
+-msgid "only uninitialized variables can be placed in a .bss section"
+-msgstr "només les variables sense inicialitzar es poden col·locar en una secció .bss"
+-
+-#: ada/misc.c:261
+-#, gcc-internal-format
+-msgid "missing argument to \"-%s\""
+-msgstr "Falten arguments per a \"-%s\""
+-
+-#: ada/misc.c:311
+-#, fuzzy, gcc-internal-format
+-msgid "%<-gnat%> misspelled as %<-gant%>"
+-msgstr "\"-gnat\" mal lletrejat com \"-gant\""
+-
+-#: cp/call.c:2462
+-#, gcc-internal-format
+-msgid "%s %D(%T, %T, %T) <built-in>"
+-msgstr "%s %D(%T, %T, %T) <intern>"
+-
+-#: cp/call.c:2467
+-#, gcc-internal-format
+-msgid "%s %D(%T, %T) <built-in>"
+-msgstr "%s %D(%T, %T) <intern>"
+-
+-#: cp/call.c:2471
+-#, gcc-internal-format
+-msgid "%s %D(%T) <built-in>"
+-msgstr "%s %D(%T) <intern>"
+-
+-#: cp/call.c:2475
+-#, gcc-internal-format
+-msgid "%s %T <conversion>"
+-msgstr "%s %T <conversió>"
+-
+-#: cp/call.c:2477
+-#, gcc-internal-format
+-msgid "%s %+#D <near match>"
+-msgstr ""
+-
+-#: cp/call.c:2479 cp/pt.c:1397
+-#, gcc-internal-format
+-msgid "%s %+#D"
+-msgstr "%s %+#D"
+-
+-#: cp/call.c:2720
+-#, fuzzy, gcc-internal-format
+-msgid "conversion from %qT to %qT is ambiguous"
+-msgstr "la conversió de \"%T\" a \"%T\" és ambigua"
+-
+-#: cp/call.c:2873 cp/call.c:2891 cp/call.c:2954
+-#, fuzzy, gcc-internal-format
+-msgid "no matching function for call to %<%D(%A)%>"
+-msgstr "no hi ha una funció coincident per a la crida a \"%D(%A)\""
+-
+-#: cp/call.c:2894 cp/call.c:2957
+-#, fuzzy, gcc-internal-format
+-msgid "call of overloaded %<%D(%A)%> is ambiguous"
+-msgstr "la crida del \"%D(%A)\" sobrecarregat és ambigua"
+-
+-#. It's no good looking for an overloaded operator() on a
+-#. pointer-to-member-function.
+-#: cp/call.c:3029
+-#, gcc-internal-format
+-msgid "pointer-to-member function %E cannot be called without an object; consider using .* or ->*"
+-msgstr "la funció punter-a-membre %E no es pot cridar dintre d'un objecte; consideri utilitzar .* o ->*"
+-
+-#: cp/call.c:3103
+-#, fuzzy, gcc-internal-format
+-msgid "no match for call to %<(%T) (%A)%>"
+-msgstr "no hi ha coincidència per a la crida a \"(%T) (%A)\""
+-
+-#: cp/call.c:3112
+-#, fuzzy, gcc-internal-format
+-msgid "call of %<(%T) (%A)%> is ambiguous"
+-msgstr "la crida de \"(%T) (%A)\" és ambigua"
+-
+-#: cp/call.c:3150
+-#, gcc-internal-format
+-msgid "%s for ternary %<operator?:%> in %<%E ? %E : %E%>"
+-msgstr ""
+-
+-#: cp/call.c:3156
+-#, fuzzy, gcc-internal-format
+-msgid "%s for %<operator%s%> in %<%E%s%>"
+-msgstr "%s per a \"operator%s\" en \"%E%s\""
+-
+-#: cp/call.c:3160
+-#, fuzzy, gcc-internal-format
+-msgid "%s for %<operator[]%> in %<%E[%E]%>"
+-msgstr "%s per a \"operator%s\" en \"%E%s\""
+-
+-#: cp/call.c:3165
+-#, fuzzy, gcc-internal-format
+-msgid "%s for %qs in %<%s %E%>"
+-msgstr "%s per a \"operador%s\" en \"%s%E\""
+-
+-#: cp/call.c:3170
+-#, fuzzy, gcc-internal-format
+-msgid "%s for %<operator%s%> in %<%E %s %E%>"
+-msgstr "%s per a \"operator%s\" en \"%E%s\""
+-
+-#: cp/call.c:3173
+-#, fuzzy, gcc-internal-format
+-msgid "%s for %<operator%s%> in %<%s%E%>"
+-msgstr "%s per a \"operador%s\" en \"%s%E\""
+-
+-#: cp/call.c:3265
+-#, gcc-internal-format
+-msgid "ISO C++ forbids omitting the middle term of a ?: expression"
+-msgstr "ISO C++ prohibeix l'omissió del terme mig d'una expressió ?:"
+-
+-#: cp/call.c:3343
+-#, gcc-internal-format
+-msgid "second operand to the conditional operator is of type %<void%>, but the third operand is neither a throw-expression nor of type %<void%>"
+-msgstr ""
+-
+-#: cp/call.c:3348
+-#, gcc-internal-format
+-msgid "third operand to the conditional operator is of type %<void%>, but the second operand is neither a throw-expression nor of type %<void%>"
+-msgstr ""
+-
+-#: cp/call.c:3389 cp/call.c:3609
+-#, fuzzy, gcc-internal-format
+-msgid "operands to ?: have different types %qT and %qT"
+-msgstr "els operands de ?: tenen tipus diferents"
+-
+-#: cp/call.c:3563
+-#, fuzzy, gcc-internal-format
+-msgid "enumeral mismatch in conditional expression: %qT vs %qT"
+-msgstr "no coincideix el enumeral en l'expressió condicional: \"%T\" vs \"%T\""
+-
+-#: cp/call.c:3570
+-#, gcc-internal-format
+-msgid "enumeral and non-enumeral type in conditional expression"
+-msgstr "tipus enumeral i no enumeral en l'expressió condicional"
+-
+-#: cp/call.c:3874
+-#, fuzzy, gcc-internal-format
+-msgid "no %<%D(int)%> declared for postfix %qs, trying prefix operator instead"
+-msgstr "no es va declarar \"%D(int)\" per al \"%s\" postfix, intentant en el seu lloc l'operador prefix"
+-
+-#: cp/call.c:3947
+-#, fuzzy, gcc-internal-format
+-msgid "comparison between %q#T and %q#T"
+-msgstr "comparança entre \"%#T\" i \"%#T\""
+-
+-#: cp/call.c:4229
+-#, gcc-internal-format
+-msgid "no corresponding deallocation function for `%D'"
+-msgstr ""
+-
+-#: cp/call.c:4234
+-#, fuzzy, gcc-internal-format
+-msgid "no suitable %<operator %s%> for %qT"
+-msgstr "no hi ha un operador \"operator delete\" adequat per a \"%T\""
+-
+-#: cp/call.c:4252
+-#, fuzzy, gcc-internal-format
+-msgid "%q+#D is private"
+-msgstr "\"%+#D\" és privat"
+-
+-#: cp/call.c:4254
+-#, fuzzy, gcc-internal-format
+-msgid "%q+#D is protected"
+-msgstr "\"%+#D\" està protegit"
+-
+-#: cp/call.c:4256
+-#, fuzzy, gcc-internal-format
+-msgid "%q+#D is inaccessible"
+-msgstr "\"%+#D\" és inaccessible"
+-
+-#: cp/call.c:4257
+-#, gcc-internal-format
+-msgid "within this context"
+-msgstr "des d'aquest context"
+-
+-#: cp/call.c:4303
+-#, fuzzy, gcc-internal-format
+-msgid "passing NULL to non-pointer argument %P of %qD"
+-msgstr "passant NULL usat per al no punter %s %P de \"%D\""
+-
+-#: cp/call.c:4306
+-#, fuzzy, gcc-internal-format
+-msgid "converting to non-pointer type %qT from NULL"
+-msgstr "%s al tipus \"%T\" que no és un punter des de NULL"
+-
+-#: cp/call.c:4312
+-#, fuzzy, gcc-internal-format
+-msgid "converting %<false%> to pointer type for argument %P of %qD"
+-msgstr "tipus incompatible per a l'argument %d de \"%s\""
+-
+-#: cp/call.c:4356 cp/cvt.c:217
+-#, fuzzy, gcc-internal-format
+-msgid "invalid conversion from %qT to %qT"
+-msgstr "conversió no vàlida de \"%T\" a \"%T\""
+-
+-#: cp/call.c:4358
+-#, fuzzy, gcc-internal-format
+-msgid " initializing argument %P of %qD"
+-msgstr " inicialitzant l'argument %P de \"%D\""
+-
+-#: cp/call.c:4491
+-#, fuzzy, gcc-internal-format
+-msgid "cannot bind bitfield %qE to %qT"
+-msgstr "no es pot inicialitzar \"%T\" des de \"%T\""
+-
+-#: cp/call.c:4494 cp/call.c:4510
+-#, fuzzy, gcc-internal-format
+-msgid "cannot bind packed field %qE to %qT"
+-msgstr "no es pot declarar que el camp \"%D\" sigui de tipus \"%T\""
+-
+-#: cp/call.c:4497
+-#, fuzzy, gcc-internal-format
+-msgid "cannot bind rvalue %qE to %qT"
+-msgstr "no es pot inicialitzar \"%T\" des de \"%T\""
+-
+-#: cp/call.c:4611
+-#, fuzzy, gcc-internal-format
+-msgid "cannot pass objects of non-POD type %q#T through %<...%>; call will abort at runtime"
+-msgstr "no es pot passar objectes de tipus \"%#T\" que no és POD a través de \"...\"; la cridada avortarà en temps d'execució"
+-
+-#. Undefined behavior [expr.call] 5.2.2/7.
+-#: cp/call.c:4639
+-#, fuzzy, gcc-internal-format
+-msgid "cannot receive objects of non-POD type %q#T through %<...%>; call will abort at runtime"
+-msgstr "no es pot passar objectes de tipus \"%#T\" que no és POD a través de \"...\"; la cridada avortarà en temps d'execució"
+-
+-#: cp/call.c:4687
+-#, fuzzy, gcc-internal-format
+-msgid "the default argument for parameter %d of %qD has not yet been parsed"
+-msgstr "l'argument per omissió per al paràmetre del tipus \"%T\" té el tipus \"%T\""
+-
+-#: cp/call.c:4697
+-#, fuzzy, gcc-internal-format
+-msgid "recursive evaluation of default argument for %q#D"
+-msgstr "redefinició de l'argument per omissió per a \"%#D\""
+-
+-#: cp/call.c:4802
+-#, fuzzy, gcc-internal-format
+-msgid "argument of function call might be a candidate for a format attribute"
+-msgstr "Avisar per funcions que podrien ser candidates per a atributs de format"
+-
+-#: cp/call.c:4950
+-#, fuzzy, gcc-internal-format
+-msgid "passing %qT as %<this%> argument of %q#D discards qualifiers"
+-msgstr "passar \"%T\" com l'argument \"this\" de \"%#D\" descarta als qualificadors"
+-
+-#: cp/call.c:4969
+-#, fuzzy, gcc-internal-format
+-msgid "%qT is not an accessible base of %qT"
+-msgstr "\"%T\" no és una base inaccessible de \"%T\""
+-
+-#: cp/call.c:5229
+-#, fuzzy, gcc-internal-format
+-msgid "could not find class$ field in java interface type %qT"
+-msgstr "no es va poder trobar un camp class$ en el tipus d'interfície java \"%T\""
+-
+-#: cp/call.c:5470
+-#, fuzzy, gcc-internal-format
+-msgid "call to non-function %qD"
+-msgstr "cridada a \"%D\" que no és funció"
+-
+-#: cp/call.c:5595
+-#, fuzzy, gcc-internal-format
+-msgid "no matching function for call to %<%T::%s(%A)%#V%>"
+-msgstr "no es troba una funció coincident per a la cridada a \"%T::%D(%A)%#V\""
+-
+-#: cp/call.c:5613
+-#, fuzzy, gcc-internal-format
+-msgid "call of overloaded %<%s(%A)%> is ambiguous"
+-msgstr "la cridada del \"%D(%A)\" sobrecarregat és ambigua"
+-
+-#: cp/call.c:5639
+-#, fuzzy, gcc-internal-format
+-msgid "cannot call member function %qD without object"
+-msgstr "no es pot cridar a la funció membre \"%D\" sense un objecte"
+-
+-#: cp/call.c:6283
+-#, fuzzy, gcc-internal-format
+-msgid "passing %qT chooses %qT over %qT"
+-msgstr "passar \"%T\" escull \"%T\" sobre \"%T\""
+-
+-#: cp/call.c:6285 cp/name-lookup.c:4320 cp/name-lookup.c:4753
+-#, fuzzy, gcc-internal-format
+-msgid " in call to %qD"
+-msgstr " en la crida a \"%D\""
+-
+-#: cp/call.c:6342
+-#, fuzzy, gcc-internal-format
+-msgid "choosing %qD over %qD"
+-msgstr "escollint \"%D\" sobre \"%D\""
+-
+-#: cp/call.c:6343
+-#, fuzzy, gcc-internal-format
+-msgid " for conversion from %qT to %qT"
+-msgstr " per a la conversió de \"%T\" a \"%T\""
+-
+-#: cp/call.c:6345
+-#, gcc-internal-format
+-msgid " because conversion sequence for the argument is better"
+-msgstr " perquè la seqüència de conversió per a l'argument és millor"
+-
+-#: cp/call.c:6459
+-#, 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.c:6603
+-#, fuzzy, gcc-internal-format
+-msgid "could not convert %qE to %qT"
+-msgstr "no es pot convertir \"%E\" a \"%T\""
+-
+-#: cp/call.c:6737
+-#, fuzzy, gcc-internal-format
+-msgid "invalid initialization of non-const reference of type %qT from a temporary of type %qT"
+-msgstr "const_cast no vàlid d'un rvalue de tipus \"%T\" al tipus \"%T\""
+-
+-#: cp/call.c:6741
+-#, fuzzy, gcc-internal-format
+-msgid "invalid initialization of reference of type %qT from expression of type %qT"
+-msgstr "initialització no vàlida de reference de tipus \"%T\" a partir d'una expressió de tipus \"%T\""
+-
+-#: cp/class.c:280
+-#, fuzzy, gcc-internal-format
+-msgid "cannot convert from base %qT to derived type %qT via virtual base %qT"
+-msgstr "no es pot convertir de la base \"%T\" al tipus derivat \"%T\" a través de la base virtual \"%T\""
+-
+-#: cp/class.c:961
+-#, fuzzy, gcc-internal-format
+-msgid "Java class %qT cannot have a destructor"
+-msgstr "la classe base \"%#T\" té un destructor no virtual"
+-
+-#: cp/class.c:963
+-#, fuzzy, gcc-internal-format
+-msgid "Java class %qT cannot have an implicit non-trivial destructor"
+-msgstr "la classe base \"%#T\" té un destructor no virtual"
+-
+-#: cp/class.c:1062
+-#, fuzzy, gcc-internal-format
+-msgid "repeated using declaration %q+D"
+-msgstr "per a la declaració de patró \"%D\""
+-
+-#: cp/class.c:1064
+-#, fuzzy, gcc-internal-format
+-msgid "using declaration %q+D conflicts with a previous using declaration"
+-msgstr "%Jla secció de \"%D\" causa conflictes amb la declaració prèvia"
+-
+-#: cp/class.c:1069
+-#, fuzzy, gcc-internal-format
+-msgid "%q+#D cannot be overloaded"
+-msgstr "no es poden sobrecarregar \"%#D\" i \"%#D\""
+-
+-#: cp/class.c:1070
+-#, gcc-internal-format
+-msgid "with %q+#D"
+-msgstr ""
+-
+-#: cp/class.c:1137
+-#, fuzzy, gcc-internal-format
+-msgid "conflicting access specifications for method %q+D, ignored"
+-msgstr "especificacions d'accés en conflicte per al mètode \"%D\", ignorat"
+-
+-#: cp/class.c:1140
+-#, fuzzy, gcc-internal-format
+-msgid "conflicting access specifications for field %qE, ignored"
+-msgstr "especificacions d'accés en conflicte per al camp \"%s\", ignorat"
+-
+-#: cp/class.c:1201 cp/class.c:1209
+-#, fuzzy, gcc-internal-format
+-msgid "%q+D invalid in %q#T"
+-msgstr "\"%D\" no vàlid en \"%#T\""
+-
+-#: cp/class.c:1202
+-#, fuzzy, gcc-internal-format
+-msgid " because of local method %q+#D with same name"
+-msgstr " a causa del mètode local \"%D\" amb el mateix nom"
+-
+-#: cp/class.c:1210
+-#, fuzzy, gcc-internal-format
+-msgid " because of local member %q+#D with same name"
+-msgstr " a causa del membre local \"%D\" amb el mateix nom"
+-
+-#: cp/class.c:1253
+-#, fuzzy, gcc-internal-format
+-msgid "base class %q#T has a non-virtual destructor"
+-msgstr "la classe base \"%#T\" té un destructor no virtual"
+-
+-#: cp/class.c:1570
+-#, fuzzy, gcc-internal-format
+-msgid "all member functions in class %qT are private"
+-msgstr "tots les funcions membres en la classe \"%#T\" són privades"
+-
+-#: cp/class.c:1582
+-#, fuzzy, gcc-internal-format
+-msgid "%q#T only defines a private destructor and has no friends"
+-msgstr "\"%#T\" solament defineix un destructor privat i no té friends"
+-
+-#: cp/class.c:1626
+-#, fuzzy, gcc-internal-format
+-msgid "%q#T only defines private constructors and has no friends"
+-msgstr "\"%#T\" solament defineix constructors privats i no té friends"
+-
+-#: cp/class.c:2019
+-#, fuzzy, gcc-internal-format
+-msgid "no unique final overrider for %qD in %qT"
+-msgstr "no hi ha un eixafador únic final per a \"%D\" en \"%#T\""
+-
+-#. Here we know it is a hider, and no overrider exists.
+-#: cp/class.c:2439
+-#, fuzzy, gcc-internal-format
+-msgid "%q+D was hidden"
+-msgstr "\"%D\" estava amagat"
+-
+-#: cp/class.c:2440
+-#, fuzzy, gcc-internal-format
+-msgid " by %q+D"
+-msgstr " per \"%D\""
+-
+-#: cp/class.c:2483 cp/decl2.c:1135
+-#, fuzzy, gcc-internal-format
+-msgid "%q+#D invalid; an anonymous union can only have non-static data members"
+-msgstr "\"%D\" no vàlid; un union anònim només pot tenir membres amb dades no estàtiques"
+-
+-#: cp/class.c:2486
+-#, fuzzy, gcc-internal-format
+-msgid "%q+#D invalid; an anonymous struct can only have non-static data members"
+-msgstr "\"%D\" no vàlid; un union anònim només pot tenir membres amb dades no estàtiques"
+-
+-#: cp/class.c:2494 cp/decl2.c:1141
+-#, fuzzy, gcc-internal-format
+-msgid "private member %q+#D in anonymous union"
+-msgstr "membre privat \"%D\" en union anònima"
+-
+-#: cp/class.c:2496
+-#, fuzzy, gcc-internal-format
+-msgid "private member %q+#D in anonymous struct"
+-msgstr "membre privat \"%D\" en union anònima"
+-
+-#: cp/class.c:2501 cp/decl2.c:1143
+-#, fuzzy, gcc-internal-format
+-msgid "protected member %q+#D in anonymous union"
+-msgstr "membre protegit \"%D\" en union anònima"
+-
+-#: cp/class.c:2503
+-#, fuzzy, gcc-internal-format
+-msgid "protected member %q+#D in anonymous struct"
+-msgstr "membre protegit \"%D\" en union anònima"
+-
+-#: cp/class.c:2677
+-#, fuzzy, gcc-internal-format
+-msgid "bit-field %q+#D with non-integral type"
+-msgstr "camp de bits \"%D\" amb tipus no enter"
+-
+-#: cp/class.c:2690
+-#, fuzzy, gcc-internal-format
+-msgid "bit-field %q+D width not an integer constant"
+-msgstr "l'amplària del camp de bits \"%D\" no és una constant entera"
+-
+-#: cp/class.c:2695
+-#, fuzzy, gcc-internal-format
+-msgid "negative width in bit-field %q+D"
+-msgstr "amplària negativa en el camp de bit \"%D\""
+-
+-#: cp/class.c:2700
+-#, fuzzy, gcc-internal-format
+-msgid "zero width for bit-field %q+D"
+-msgstr "amplària zero per al camp de bits \"%D\""
+-
+-#: cp/class.c:2706
+-#, fuzzy, gcc-internal-format
+-msgid "width of %q+D exceeds its type"
+-msgstr "l'amplària de \"%D\" excedeix el seu tipus"
+-
+-#: cp/class.c:2715
+-#, fuzzy, gcc-internal-format
+-msgid "%q+D is too small to hold all values of %q#T"
+-msgstr "\"%D\" és massa petit per a guardar tots els valors de \"%#T\""
+-
+-#: cp/class.c:2772
+-#, fuzzy, gcc-internal-format
+-msgid "member %q+#D with constructor not allowed in union"
+-msgstr "no es permet el membre \"%D\" amb constructor en la union"
+-
+-#: cp/class.c:2775
+-#, fuzzy, gcc-internal-format
+-msgid "member %q+#D with destructor not allowed in union"
+-msgstr "no es permet el membre \"%D\" amb destructor en la union"
+-
+-#: cp/class.c:2777
+-#, fuzzy, gcc-internal-format
+-msgid "member %q+#D with copy assignment operator not allowed in union"
+-msgstr "no es permet el membre \"%D\" amb operador d'assignació de còpia en la union"
+-
+-#: cp/class.c:2801
+-#, fuzzy, gcc-internal-format
+-msgid "multiple fields in union %qT initialized"
+-msgstr "múltiples camps inicialitzats en la unió \"%#T\""
+-
+-#: cp/class.c:2890
+-#, fuzzy, gcc-internal-format
+-msgid "%q+D may not be static because it is a member of a union"
+-msgstr "\"%D\" ha de ser una funció membre que no sigui static"
+-
+-#: cp/class.c:2895
+-#, fuzzy, gcc-internal-format
+-msgid "%q+D may not have reference type %qT because it is a member of a union"
+-msgstr "\"%D\" ha de ser una funció membre que no sigui static"
+-
+-#: cp/class.c:2906
+-#, fuzzy, gcc-internal-format
+-msgid "field %q+D invalidly declared function type"
+-msgstr "el camp \"%D\" és declarat no vàlidament com un tipus de funció"
+-
+-#: cp/class.c:2912
+-#, fuzzy, gcc-internal-format
+-msgid "field %q+D invalidly declared method type"
+-msgstr "el camp \"%D\" és declarat no vàlidament com un tipus de mètode"
+-
+-#: cp/class.c:2944
+-#, fuzzy, gcc-internal-format
+-msgid "non-static reference %q+#D in class without a constructor"
+-msgstr "referència \"%D\" que no és static en una classe sense un constructor"
+-
+-#: cp/class.c:2955
+-#, gcc-internal-format
+-msgid "ignoring packed attribute because of unpacked non-POD field %q+#D"
+-msgstr ""
+-
+-#: cp/class.c:3022
+-#, fuzzy, gcc-internal-format
+-msgid "non-static const member %q+#D in class without a constructor"
+-msgstr "membre const \"%D\" que no és static en una classe sense un constructor"
+-
+-#: cp/class.c:3037
+-#, fuzzy, gcc-internal-format
+-msgid "field %q+#D with same name as class"
+-msgstr "camp \"%D\" amb el mateix nom que la classe"
+-
+-#: cp/class.c:3068
+-#, fuzzy, gcc-internal-format
+-msgid "%q#T has pointer data members"
+-msgstr "\"%#T\" té membres punters a dades"
+-
+-#: cp/class.c:3073
+-#, fuzzy, gcc-internal-format
+-msgid " but does not override %<%T(const %T&)%>"
+-msgstr " però no s'imposa a \"%T(const %T&)\""
+-
+-#: cp/class.c:3075
+-#, fuzzy, gcc-internal-format
+-msgid " or %<operator=(const %T&)%>"
+-msgstr " o a \"operator=(cont %T&)\""
+-
+-#: cp/class.c:3079
+-#, fuzzy, gcc-internal-format
+-msgid " but does not override %<operator=(const %T&)%>"
+-msgstr " però no s'imposa a \"operator=(const %T&)\""
+-
+-#: cp/class.c:3540
+-#, gcc-internal-format
+-msgid "offset of empty base %qT may not be ABI-compliant and maychange in a future version of GCC"
+-msgstr ""
+-
+-#: cp/class.c:3665
+-#, gcc-internal-format
+-msgid "class %qT will be considered nearly empty in a future version of GCC"
+-msgstr ""
+-
+-#: cp/class.c:3747
+-#, fuzzy, gcc-internal-format
+-msgid "initializer specified for non-virtual method %q+D"
+-msgstr "es va especificar un inicialitzador per al mètode no virtual \"%D\""
+-
+-#: cp/class.c:4412
+-#, gcc-internal-format
+-msgid "offset of virtual base %qT is not ABI-compliant and may change in a future version of GCC"
+-msgstr ""
+-
+-#: cp/class.c:4513
+-#, fuzzy, gcc-internal-format
+-msgid "direct base %qT inaccessible in %qT due to ambiguity"
+-msgstr "base directa \"%T\" inaccessible en \"%T\" a causa d'ambigüitat"
+-
+-#: cp/class.c:4525
+-#, fuzzy, gcc-internal-format
+-msgid "virtual base %qT inaccessible in %qT due to ambiguity"
+-msgstr "base virtual \"%T\" inaccessible en \"%T\" a causa d'ambigüitat"
+-
+-#: cp/class.c:4704
+-#, gcc-internal-format
+-msgid "size assigned to %qT may not be ABI-compliant and may change in a future version of GCC"
+-msgstr ""
+-
+-#: cp/class.c:4744
+-#, gcc-internal-format
+-msgid "the offset of %qD may not be ABI-compliant and may change in a future version of GCC"
+-msgstr ""
+-
+-#: cp/class.c:4772
+-#, gcc-internal-format
+-msgid "offset of %q+D is not ABI-compliant and may change in a future version of GCC"
+-msgstr ""
+-
+-#: cp/class.c:4781
+-#, gcc-internal-format
+-msgid "%q+D contains empty classes which may cause base classes to be placed at different locations in a future version of GCC"
+-msgstr ""
+-
+-#: cp/class.c:4864
+-#, gcc-internal-format
+-msgid "layout of classes derived from empty class %qT may change in a future version of GCC"
+-msgstr ""
+-
+-#: cp/class.c:5010 cp/parser.c:14608
+-#, fuzzy, gcc-internal-format
+-msgid "redefinition of %q#T"
+-msgstr "redefinició de \"%#T\""
+-
+-#: cp/class.c:5166
+-#, fuzzy, gcc-internal-format
+-msgid "%q#T has virtual functions and accessible non-virtual destructor"
+-msgstr "\"%#T\" té funcions virtuals però destructors no virtuals"
+-
+-#: cp/class.c:5268
+-#, gcc-internal-format
+-msgid "trying to finish struct, but kicked out due to previous parse errors"
+-msgstr "es va tractar d'acabar struct, però va ser tret a causa d'errors previs de decodificació"
+-
+-#: cp/class.c:5728
+-#, fuzzy, gcc-internal-format
+-msgid "language string %<\"%E\"%> not recognized"
+-msgstr "cadena de llenguatge \"\"%s\"\" no reconeguda"
+-
+-#: cp/class.c:5817
+-#, fuzzy, gcc-internal-format
+-msgid "cannot resolve overloaded function %qD based on conversion to type %qT"
+-msgstr "no es pot resoldre la funció sobrecarregada \"%D\" basant-se en la conversió al tipus \"%T\""
+-
+-#: cp/class.c:5946
+-#, fuzzy, gcc-internal-format
+-msgid "no matches converting function %qD to type %q#T"
+-msgstr "no hi ha coincidències al convertir la funció \"%D\" al tipus \"%#T\""
+-
+-#: cp/class.c:5969
+-#, fuzzy, gcc-internal-format
+-msgid "converting overloaded function %qD to type %q#T is ambiguous"
+-msgstr "la conversió de la funció sobrecarregada \"%D\" al tipus \"%#T\" és ambigua"
+-
+-#: cp/class.c:5995
+-#, fuzzy, gcc-internal-format
+-msgid "assuming pointer to member %qD"
+-msgstr "assumint el punter a membre \"%D\""
+-
+-#: cp/class.c:5998
+-#, fuzzy, gcc-internal-format
+-msgid "(a pointer to member can only be formed with %<&%E%>)"
+-msgstr "(un punter a membre solament es pot formar amb \"&%E\")"
+-
+-#: cp/class.c:6054 cp/class.c:6088
+-#, gcc-internal-format
+-msgid "not enough type information"
+-msgstr "no hi ha suficient informació de tipus"
+-
+-#: cp/class.c:6071
+-#, fuzzy, gcc-internal-format
+-msgid "argument of type %qT does not match %qT"
+-msgstr "l'argument de tipus \"%T\" no coincideix amb \"%T\""
+-
+-#. [basic.scope.class]
+-#.
+-#. A name N used in a class S shall refer to the same declaration
+-#. in its context and when re-evaluated in the completed scope of
+-#. S.
+-#: cp/class.c:6358 cp/decl.c:1199 cp/name-lookup.c:526
+-#, fuzzy, gcc-internal-format
+-msgid "declaration of %q#D"
+-msgstr "la declaració de \"%#D\""
+-
+-#: cp/class.c:6359
+-#, fuzzy, gcc-internal-format
+-msgid "changes meaning of %qD from %q+#D"
+-msgstr "canvia el significat de \"%D\" a partir de \"%+#D\""
+-
+-#: cp/cp-gimplify.c:99
+-#, fuzzy, gcc-internal-format
+-msgid "continue statement not within loop or switch"
+-msgstr "la declaració break no està dintre d'un cicle o «switch»"
+-
+-#: cp/cp-gimplify.c:371
+-#, fuzzy, gcc-internal-format
+-msgid "statement with no effect"
+-msgstr "%s no té %s"
+-
+-#: cp/cvt.c:90
+-#, fuzzy, gcc-internal-format
+-msgid "can't convert from incomplete type %qT to %qT"
+-msgstr "no es pot convertir des del tipus de dada incompleta \"%T\" a \"%T\""
+-
+-#: cp/cvt.c:99
+-#, fuzzy, gcc-internal-format
+-msgid "conversion of %qE from %qT to %qT is ambiguous"
+-msgstr "la conversió de \"%E\" des de \"%T\" a \"%T\" és ambigua"
+-
+-#: cp/cvt.c:168 cp/cvt.c:193 cp/cvt.c:238
+-#, fuzzy, gcc-internal-format
+-msgid "cannot convert %qE from type %qT to type %qT"
+-msgstr "no es pot convertir \"%E\" des del tipus \"%T\" al tipus \"%T\""
+-
+-#: cp/cvt.c:452
+-#, fuzzy, gcc-internal-format
+-msgid "conversion from %qT to %qT discards qualifiers"
+-msgstr "la conversió de \"%T\" a \"%T\" descarta els qualificadors"
+-
+-#: cp/cvt.c:470 cp/typeck.c:5257
+-#, fuzzy, gcc-internal-format
+-msgid "casting %qT to %qT does not dereference pointer"
+-msgstr "la conversió de \"%T\" a \"%T\" no dereferencia els punters"
+-
+-#: cp/cvt.c:497
+-#, fuzzy, gcc-internal-format
+-msgid "cannot convert type %qT to type %qT"
+-msgstr "no es pot convertir del tipus \"%T\" al tipus \"%T\""
+-
+-#: cp/cvt.c:656
+-#, fuzzy, gcc-internal-format
+-msgid "conversion from %q#T to %q#T"
+-msgstr "conversió de \"%#T\" a \"%#T\""
+-
+-#: cp/cvt.c:668 cp/cvt.c:688
+-#, fuzzy, gcc-internal-format
+-msgid "%q#T used where a %qT was expected"
+-msgstr "es va usar un \"%#T\" on s'esperava un \"%T\""
+-
+-#: cp/cvt.c:703
+-#, fuzzy, gcc-internal-format
+-msgid "%q#T used where a floating point value was expected"
+-msgstr "es va usar un \"%#T\" on s'esperava un valor de coma flotant"
+-
+-#: cp/cvt.c:750
+-#, fuzzy, gcc-internal-format
+-msgid "conversion from %qT to non-scalar type %qT requested"
+-msgstr "es va sol·licitar la conversió des de \"%T\" al tipus no escalar \"%T\""
+-
+-#: cp/cvt.c:784
+-#, fuzzy, gcc-internal-format
+-msgid "pseudo-destructor is not called"
+-msgstr "l'argument per a l'atribut \"%s\" és més gran que %d"
+-
+-#: cp/cvt.c:844
+-#, fuzzy, gcc-internal-format
+-msgid "object of incomplete type %qT will not be accessed in %s"
+-msgstr "l'objecte de tipus incomplet \"%T\" no es accesará en %s"
+-
+-#: cp/cvt.c:849
+-#, fuzzy, gcc-internal-format
+-msgid "object of type %qT will not be accessed in %s"
+-msgstr "l'objecte de tipus \"%T\" no es accesará en %s"
+-
+-#: cp/cvt.c:865
+-#, fuzzy, gcc-internal-format
+-msgid "object %qE of incomplete type %qT will not be accessed in %s"
+-msgstr "l'objecte \"%E\" de tipus incomplet \"%T\" no es accesará en %s"
+-
+-#. [over.over] enumerates the places where we can take the address
+-#. of an overloaded function, and this is not one of them.
+-#: cp/cvt.c:902
+-#, gcc-internal-format
+-msgid "%s cannot resolve address of overloaded function"
+-msgstr "%s no es pot resoldre l'adreça de la funció sobrecarregada"
+-
+-#. Only warn when there is no &.
+-#: cp/cvt.c:909
+-#, fuzzy, gcc-internal-format
+-msgid "%s is a reference, not call, to function %qE"
+-msgstr "%s és una referència, no una cridada, a la funció \"%E\""
+-
+-#: cp/cvt.c:926
+-#, fuzzy, gcc-internal-format
+-msgid "%s has no effect"
+-msgstr "%s no té %s"
+-
+-#: cp/cvt.c:958
+-#, fuzzy, gcc-internal-format
+-msgid "value computed is not used"
+-msgstr "l'autòmat \"%s\" no s'utilitza"
+-
+-#: cp/cvt.c:1068
+-#, gcc-internal-format
+-msgid "converting NULL to non-pointer type"
+-msgstr "convertint NULL a un tipus que no és punter"
+-
+-#: cp/cvt.c:1174
+-#, fuzzy, gcc-internal-format
+-msgid "ambiguous default type conversion from %qT"
+-msgstr "conversió de tipus per omissió ambigua des de \"%T\""
+-
+-#: cp/cvt.c:1176
+-#, fuzzy, gcc-internal-format
+-msgid " candidate conversions include %qD and %qD"
+-msgstr " les conversions candidates inclouen \"%D\" i \"%D\""
+-
+-#: cp/decl.c:1062
+-#, fuzzy, gcc-internal-format
+-msgid "%qD was declared %<extern%> and later %<static%>"
+-msgstr "\"%s\" va ser declarat \"extern\" i després \"static\""
+-
+-#: cp/decl.c:1063 cp/decl.c:1618 objc/objc-act.c:2931 objc/objc-act.c:7503
+-#, fuzzy, gcc-internal-format
+-msgid "previous declaration of %q+D"
+-msgstr "declaració prèvia de \"%D\""
+-
+-#: cp/decl.c:1096
+-#, fuzzy, gcc-internal-format
+-msgid "declaration of %qF throws different exceptions"
+-msgstr "la declaració de \"%F\" llança excepcions diferents"
+-
+-#: cp/decl.c:1097
+-#, fuzzy, gcc-internal-format
+-msgid "from previous declaration %q+F"
+-msgstr "que la declaració prèvia \"%F\""
+-
+-#: cp/decl.c:1153
+-#, fuzzy, gcc-internal-format
+-msgid "function %q+D redeclared as inline"
+-msgstr "funció \"%s\" re declarada com «inline»"
+-
+-#: cp/decl.c:1155
+-#, fuzzy, gcc-internal-format
+-msgid "previous declaration of %q+D with attribute noinline"
+-msgstr "declaració prèvia de la funció \"%s\" amb l'atribut «noinline»"
+-
+-#: cp/decl.c:1162
+-#, fuzzy, gcc-internal-format
+-msgid "function %q+D redeclared with attribute noinline"
+-msgstr "funció \"%s\" re-declarada amb l'atribut «noinline»"
+-
+-#: cp/decl.c:1164
+-#, fuzzy, gcc-internal-format
+-msgid "previous declaration of %q+D was inline"
+-msgstr "la declaració prèvia de la funció \"%s\" va ser «inline»"
+-
+-#: cp/decl.c:1186 cp/decl.c:1259
+-#, fuzzy, gcc-internal-format
+-msgid "shadowing %s function %q#D"
+-msgstr "enfosquint la funció de biblioteca \"%#D\""
+-
+-#: cp/decl.c:1195
+-#, fuzzy, gcc-internal-format
+-msgid "library function %q#D redeclared as non-function %q#D"
+-msgstr "la funció de biblioteca \"%#D\" és redeclarada com \"%#D\" que no és funció"
+-
+-#: cp/decl.c:1200
+-#, fuzzy, gcc-internal-format
+-msgid "conflicts with built-in declaration %q#D"
+-msgstr "causa conflicte amb la declaració interna \"%#D\""
+-
+-#: cp/decl.c:1254 cp/decl.c:1380 cp/decl.c:1396
+-#, fuzzy, gcc-internal-format
+-msgid "new declaration %q#D"
+-msgstr "declaració nova \"%#D\""
+-
+-#: cp/decl.c:1255
+-#, fuzzy, gcc-internal-format
+-msgid "ambiguates built-in declaration %q#D"
+-msgstr "fa ambigua la declaració interna \"%#D\""
+-
+-#: cp/decl.c:1344
+-#, fuzzy, gcc-internal-format
+-msgid "%q#D redeclared as different kind of symbol"
+-msgstr "\"%#D\" redeclarat com un tipus diferent de símbol"
+-
+-#: cp/decl.c:1347
+-#, fuzzy, gcc-internal-format
+-msgid "previous declaration of %q+#D"
+-msgstr "declaració prèvia de \"%#D\""
+-
+-#: cp/decl.c:1366
+-#, fuzzy, gcc-internal-format
+-msgid "declaration of template %q#D"
+-msgstr "declaració del patró \"%#D\""
+-
+-#: cp/decl.c:1367 cp/name-lookup.c:527
+-#, fuzzy, gcc-internal-format
+-msgid "conflicts with previous declaration %q+#D"
+-msgstr "causa conflictes amb la declaració prèvia \"%#D\""
+-
+-#: cp/decl.c:1381 cp/decl.c:1397
+-#, fuzzy, gcc-internal-format
+-msgid "ambiguates old declaration %q+#D"
+-msgstr "fa ambigua la declaració antiga \"%#D\""
+-
+-#: cp/decl.c:1389
+-#, fuzzy, gcc-internal-format
+-msgid "declaration of C function %q#D conflicts with"
+-msgstr "la declaració de la funció C \"%#D\" té conflictes amb"
+-
+-#: cp/decl.c:1391
+-#, fuzzy, gcc-internal-format
+-msgid "previous declaration %q+#D here"
+-msgstr "declaració prèvia de \"%#D\" aquí"
+-
+-#: cp/decl.c:1405
+-#, fuzzy, gcc-internal-format
+-msgid "conflicting declaration %q#D"
+-msgstr "declaracions de \"%s\" en conflicte"
+-
+-#: cp/decl.c:1406
+-#, fuzzy, gcc-internal-format
+-msgid "%q+D has a previous declaration as %q#D"
+-msgstr "declaració prèvia com \"%#D\""
+-
+-#. [namespace.alias]
+-#.
+-#. A namespace-name or namespace-alias shall not be declared as
+-#. the name of any other entity in the same declarative region.
+-#. A namespace-name defined at global scope shall not be
+-#. declared as the name of any other entity in any global scope
+-#. of the program.
+-#: cp/decl.c:1458
+-#, fuzzy, gcc-internal-format
+-msgid "declaration of namespace %qD conflicts with"
+-msgstr "la declaració de la funció C \"%#D\" té conflictes amb"
+-
+-#: cp/decl.c:1459
+-#, fuzzy, gcc-internal-format
+-msgid "previous declaration of namespace %q+D here"
+-msgstr "declaració prèvia de \"%#D\" aquí"
+-
+-#: cp/decl.c:1470
+-#, fuzzy, gcc-internal-format
+-msgid "%q+#D previously defined here"
+-msgstr "es va definir \"%#D\" prèviament aquí"
+-
+-#. Prototype decl follows defn w/o prototype.
+-#: cp/decl.c:1480
+-#, fuzzy, gcc-internal-format
+-msgid "prototype for %q+#D"
+-msgstr "el prototip per a \"%#D\""
+-
+-#: cp/decl.c:1481
+-#, fuzzy, gcc-internal-format
+-msgid "%Jfollows non-prototype definition here"
+-msgstr "a continuació la definició del no prototip aquí"
+-
+-#: cp/decl.c:1521
+-#, fuzzy, gcc-internal-format
+-msgid "previous declaration of %q+#D with %qL linkage"
+-msgstr "declaració prèvia de \"%#D\" amb l'enllaç %L"
+-
+-#: cp/decl.c:1523
+-#, fuzzy, gcc-internal-format
+-msgid "conflicts with new declaration with %qL linkage"
+-msgstr "té conflictes amb la declaració nova amb l'enllaç %L"
+-
+-#: cp/decl.c:1546 cp/decl.c:1552
+-#, fuzzy, gcc-internal-format
+-msgid "default argument given for parameter %d of %q#D"
+-msgstr "argument per omissió donat per al paràmetre %d de \"%#D\""
+-
+-#: cp/decl.c:1548 cp/decl.c:1554
+-#, fuzzy, gcc-internal-format
+-msgid "after previous specification in %q+#D"
+-msgstr "després de l'especificació prèvia en \"%#D\""
+-
+-#: cp/decl.c:1563
+-#, fuzzy, gcc-internal-format
+-msgid "%q#D was used before it was declared inline"
+-msgstr "es va usar \"%#D\" abans que sigui declarat «inline»"
+-
+-#: cp/decl.c:1564
+-#, fuzzy, gcc-internal-format
+-msgid "%Jprevious non-inline declaration here"
+-msgstr "declaració prèvia no «inline» aquí"
+-
+-#: cp/decl.c:1617
+-#, fuzzy, gcc-internal-format
+-msgid "redundant redeclaration of %qD in same scope"
+-msgstr "declaració redundant de \"%D\" en el mateix àmbit"
+-
+-#. From [temp.expl.spec]:
+-#.
+-#. If a template, a member template or the member of a class
+-#. template is explicitly specialized then that
+-#. specialization shall be declared before the first use of
+-#. that specialization that would cause an implicit
+-#. instantiation to take place, in every translation unit in
+-#. which such a use occurs.
+-#: cp/decl.c:1932
+-#, fuzzy, gcc-internal-format
+-msgid "explicit specialization of %qD after first use"
+-msgstr "especialització explícita de %D després del primer ús"
+-
+-#: cp/decl.c:2028
+-#, fuzzy, gcc-internal-format
+-msgid "%q+D: visibility attribute ignored because it"
+-msgstr "s'ignora l'atribut \"%s\""
+-
+-#: cp/decl.c:2030
+-#, fuzzy, gcc-internal-format
+-msgid "%Jconflicts with previous declaration here"
+-msgstr "causa conflictes amb la declaració prèvia \"%#D\""
+-
+-#: cp/decl.c:2457
+-#, fuzzy, gcc-internal-format
+-msgid "jump to label %qD"
+-msgstr "salt a l'etiqueta \"%D\""
+-
+-#: cp/decl.c:2459
+-#, gcc-internal-format
+-msgid "jump to case label"
+-msgstr "salt a l'etiqueta «case»"
+-
+-#: cp/decl.c:2461
+-#, fuzzy, gcc-internal-format
+-msgid "%H from here"
+-msgstr " des d'aquí"
+-
+-#: cp/decl.c:2480 cp/decl.c:2643
+-#, gcc-internal-format
+-msgid " exits OpenMP structured block"
+-msgstr ""
+-
+-#: cp/decl.c:2501
+-#, fuzzy, gcc-internal-format
+-msgid " crosses initialization of %q+#D"
+-msgstr " creua la inicialització de \"%#D\""
+-
+-#: cp/decl.c:2503 cp/decl.c:2618
+-#, fuzzy, gcc-internal-format
+-msgid " enters scope of non-POD %q+#D"
+-msgstr " entra en l'àmbit de \"%#D\" que no és POD"
+-
+-#: cp/decl.c:2516 cp/decl.c:2622
+-#, gcc-internal-format
+-msgid " enters try block"
+-msgstr " entra intent de bloc"
+-
+-#: cp/decl.c:2518 cp/decl.c:2624
+-#, gcc-internal-format
+-msgid " enters catch block"
+-msgstr " entra captura de bloc"
+-
+-#: cp/decl.c:2528 cp/decl.c:2627
+-#, fuzzy, gcc-internal-format
+-msgid " enters OpenMP structured block"
+-msgstr " entra intent de bloc"
+-
+-#: cp/decl.c:2599 cp/decl.c:2639
+-#, fuzzy, gcc-internal-format
+-msgid "jump to label %q+D"
+-msgstr "salt a l'etiqueta \"%D\""
+-
+-#: cp/decl.c:2600 cp/decl.c:2640
+-#, gcc-internal-format
+-msgid " from here"
+-msgstr " des d'aquí"
+-
+-#. Can't skip init of __exception_info.
+-#: cp/decl.c:2612
+-#, fuzzy, gcc-internal-format
+-msgid "%J enters catch block"
+-msgstr " entra captura de bloc"
+-
+-#: cp/decl.c:2616
+-#, fuzzy, gcc-internal-format
+-msgid " skips initialization of %q+#D"
+-msgstr " salta la inicialización de \"%#D\""
+-
+-#: cp/decl.c:2692
+-#, gcc-internal-format
+-msgid "label named wchar_t"
+-msgstr "etiqueta nomenada wchar_t"
+-
+-#: cp/decl.c:2696
+-#, fuzzy, gcc-internal-format
+-msgid "duplicate label %qD"
+-msgstr "etiqueta duplicada \"%D\""
+-
+-#: cp/decl.c:2962
+-#, fuzzy, gcc-internal-format
+-msgid "%qD is not a type"
+-msgstr "\"%D::%D\" no és un patró"
+-
+-#: cp/decl.c:2968 cp/parser.c:4033
+-#, fuzzy, gcc-internal-format
+-msgid "%qD used without template parameters"
+-msgstr "s'usa \"%D\" sense paràmetres de patró"
+-
+-#: cp/decl.c:2983
+-#, fuzzy, gcc-internal-format
+-msgid "%q#T is not a class"
+-msgstr "\"%#T\" no és un patró"
+-
+-#: cp/decl.c:2995 cp/decl.c:3063
+-#, fuzzy, gcc-internal-format
+-msgid "no class template named %q#T in %q#T"
+-msgstr "no hi ha una patró de classe cridada \"%#T\" en \"%#T\""
+-
+-#: cp/decl.c:3003
+-#, gcc-internal-format
+-msgid "%<typename %T::%D%> names %q#T, which is not a class template"
+-msgstr ""
+-
+-#: cp/decl.c:3010
+-#, gcc-internal-format
+-msgid "%<typename %T::%D%> names %q#T, which is not a type"
+-msgstr ""
+-
+-#: cp/decl.c:3072
+-#, fuzzy, gcc-internal-format
+-msgid "template parameters do not match template"
+-msgstr "els paràmetres del patró no poden ser friends"
+-
+-#: cp/decl.c:3073 cp/friend.c:321 cp/friend.c:329
+-#, fuzzy, gcc-internal-format
+-msgid "%q+D declared here"
+-msgstr " \"%#D\" declarat aquí"
+-
+-#: cp/decl.c:3711
+-#, fuzzy, gcc-internal-format
+-msgid "%Jan anonymous struct cannot have function members"
+-msgstr "un union anònim no pot tenir funcions membre"
+-
+-#: cp/decl.c:3713
+-#, fuzzy, gcc-internal-format
+-msgid "%Jan anonymous union cannot have function members"
+-msgstr "un union anònim no pot tenir funcions membre"
+-
+-#: cp/decl.c:3731
+-#, fuzzy, gcc-internal-format
+-msgid "member %q+#D with constructor not allowed in anonymous aggregate"
+-msgstr "no es permet el membre \"%#D\" amb constructor en un agregat anònim"
+-
+-#: cp/decl.c:3734
+-#, fuzzy, gcc-internal-format
+-msgid "member %q+#D with destructor not allowed in anonymous aggregate"
+-msgstr "no es permet el membre \"%#D\" amb destructor en un agregat anònim"
+-
+-#: cp/decl.c:3737
+-#, fuzzy, gcc-internal-format
+-msgid "member %q+#D with copy assignment operator not allowed in anonymous aggregate"
+-msgstr "no es permet el membre \"%#D\" amb operador d'assignació de còpia en un agregat anònim"
+-
+-#: cp/decl.c:3762
+-#, gcc-internal-format
+-msgid "multiple types in one declaration"
+-msgstr "tipus múltiples en una declaració"
+-
+-#: cp/decl.c:3766
+-#, fuzzy, gcc-internal-format
+-msgid "redeclaration of C++ built-in type %qT"
+-msgstr "redeclaració del tipus intern de C++ \"%T\""
+-
+-#: cp/decl.c:3803
+-#, gcc-internal-format
+-msgid "missing type-name in typedef-declaration"
+-msgstr "falta el nom del tipus en la declaració typedef"
+-
+-#: cp/decl.c:3811
+-#, gcc-internal-format
+-msgid "ISO C++ prohibits anonymous structs"
+-msgstr "ISO C++ prohibeix structs anònims"
+-
+-#: cp/decl.c:3818
+-#, fuzzy, gcc-internal-format
+-msgid "%qs can only be specified for functions"
+-msgstr "\"%D\" només pot ser especificat per a funcions"
+-
+-#: cp/decl.c:3824
+-#, fuzzy, gcc-internal-format
+-msgid "%<friend%> can only be specified inside a class"
+-msgstr "\"%D\" només pot ser especificat dintre d'una classe"
+-
+-#: cp/decl.c:3826
+-#, fuzzy, gcc-internal-format
+-msgid "%<explicit%> can only be specified for constructors"
+-msgstr "\"%D\" només pot ser especificat per a constructors"
+-
+-#: cp/decl.c:3828
+-#, fuzzy, gcc-internal-format
+-msgid "a storage class can only be specified for objects and functions"
+-msgstr "\"%D\" només pot ser especificat per a objectes i funcions"
+-
+-#: cp/decl.c:3834
+-#, fuzzy, gcc-internal-format
+-msgid "qualifiers can only be specified for objects and functions"
+-msgstr "\"%D\" només pot ser especificat per a objectes i funcions"
+-
+-#: cp/decl.c:3837
+-#, fuzzy, gcc-internal-format
+-msgid "%<typedef%> was ignored in this declaration"
+-msgstr "el tipus de dada per omissió és \"int\" en la declaració de \"%s\""
+-
+-#: cp/decl.c:3866
+-#, fuzzy, gcc-internal-format
+-msgid "attribute ignored in declaration of %q+#T"
+-msgstr "declaració friend prèvia de \"%D\""
+-
+-#: cp/decl.c:3867
+-#, gcc-internal-format
+-msgid "attribute for %q+#T must follow the %qs keyword"
+-msgstr ""
+-
+-#: cp/decl.c:3909
+-#, fuzzy, gcc-internal-format
+-msgid "ignoring attributes applied to class type outside of definition"
+-msgstr "l'atribut \"%s\" sol es pot aplicar a definicions de classe"
+-
+-#: cp/decl.c:3987
+-#, fuzzy, gcc-internal-format
+-msgid "function %q#D is initialized like a variable"
+-msgstr "la funció \"%#D\" està inicialitzada com una variable"
+-
+-#: cp/decl.c:3998
+-#, fuzzy, gcc-internal-format
+-msgid "declaration of %q#D has %<extern%> and is initialized"
+-msgstr "la declaració de \"%#D\" té \"extern\" i està inicialitzada"
+-
+-#: cp/decl.c:4014
+-#, fuzzy, gcc-internal-format
+-msgid "definition of %q#D is marked %<dllimport%>"
+-msgstr "la definició de la funció \"%s\" està marcada com dllimport"
+-
+-#: cp/decl.c:4033
+-#, fuzzy, gcc-internal-format
+-msgid "%q#D is not a static member of %q#T"
+-msgstr "\"%#D\" no és un membre static de \"%#T\""
+-
+-#: cp/decl.c:4039
+-#, fuzzy, gcc-internal-format
+-msgid "ISO C++ does not permit %<%T::%D%> to be defined as %<%T::%D%>"
+-msgstr "ISO C++ no permet que \"%T::%D\" es defineixi com \"%T::%D\""
+-
+-#: cp/decl.c:4048
+-#, gcc-internal-format
+-msgid "template header not allowed in member definition of explicitly specialized class"
+-msgstr ""
+-
+-#: cp/decl.c:4056
+-#, fuzzy, gcc-internal-format
+-msgid "duplicate initialization of %qD"
+-msgstr "inicialització duplicada de %D"
+-
+-#: cp/decl.c:4095
+-#, fuzzy, gcc-internal-format
+-msgid "declaration of %q#D outside of class is not definition"
+-msgstr "la declaració de \"%#D\" fora de la classe no és una definició"
+-
+-#: cp/decl.c:4188
+-#, fuzzy, gcc-internal-format
+-msgid "variable %q#D has initializer but incomplete type"
+-msgstr "la variable \"%#D\" té inicializador però de tipus de dada incompleta"
+-
+-#: cp/decl.c:4194 cp/decl.c:4906
+-#, fuzzy, gcc-internal-format
+-msgid "elements of array %q#D have incomplete type"
+-msgstr "alguns elements de la matriu \"%#D\" tenen tipus de dada incompleta"
+-
+-#: cp/decl.c:4200
+-#, fuzzy, gcc-internal-format
+-msgid "aggregate %q#D has incomplete type and cannot be defined"
+-msgstr "l'agregat \"%#D\" té un tipus incomplet i no es pot definir"
+-
+-#: cp/decl.c:4236
+-#, fuzzy, gcc-internal-format
+-msgid "%qD declared as reference but not initialized"
+-msgstr "\"%D\" declarat com referència però no està inicialitzat"
+-
+-#: cp/decl.c:4242
+-#, fuzzy, gcc-internal-format
+-msgid "ISO C++ forbids use of initializer list to initialize reference %qD"
+-msgstr "ISO C++ prohibeix l'ús d'una llista de inicialitzadors per a inicialitzar la referència \"%D\""
+-
+-#: cp/decl.c:4268
+-#, fuzzy, gcc-internal-format
+-msgid "cannot initialize %qT from %qT"
+-msgstr "no es pot inicialitzar \"%T\" des de \"%T\""
+-
+-#: cp/decl.c:4296
+-#, gcc-internal-format
+-msgid "name %qD used in a GNU-style designated initializer for an array"
+-msgstr ""
+-
+-#: cp/decl.c:4345
+-#, fuzzy, gcc-internal-format
+-msgid "initializer fails to determine size of %qD"
+-msgstr "l'inicializador no pot determinar la grandària de \"%D\""
+-
+-#: cp/decl.c:4352
+-#, fuzzy, gcc-internal-format
+-msgid "array size missing in %qD"
+-msgstr "falta la grandària de la matriu en \"%D\""
+-
+-#: cp/decl.c:4364
+-#, fuzzy, gcc-internal-format
+-msgid "zero-size array %qD"
+-msgstr "matriu \"%D\" de grandària zero"
+-
+-#. An automatic variable with an incomplete type: that is an error.
+-#. Don't talk about array types here, since we took care of that
+-#. message in grokdeclarator.
+-#: cp/decl.c:4407
+-#, fuzzy, gcc-internal-format
+-msgid "storage size of %qD isn't known"
+-msgstr "no es coneix la grandària d'emmagatzematge de \"%D\""
+-
+-#: cp/decl.c:4429
+-#, fuzzy, gcc-internal-format
+-msgid "storage size of %qD isn't constant"
+-msgstr "la grandària d'emmagatzematge de \"%D\" no és constant"
+-
+-#: cp/decl.c:4478
+-#, fuzzy, gcc-internal-format
+-msgid "sorry: semantics of inline function static data %q+#D are wrong (you'll wind up with multiple copies)"
+-msgstr "perdó: la semàntica de les dades static de la funció «inline» \"%#D\" és errònia (acabarà amb múltiples còpies)"
+-
+-#: cp/decl.c:4481
+-#, fuzzy, gcc-internal-format
+-msgid "%J you can work around this by removing the initializer"
+-msgstr " pot evitar això eliminant l'inicializador"
+-
+-#: cp/decl.c:4508
+-#, fuzzy, gcc-internal-format
+-msgid "uninitialized const %qD"
+-msgstr "const \"%D\" sense inicialitzar"
+-
+-#: cp/decl.c:4620
+-#, fuzzy, gcc-internal-format
+-msgid "invalid type %qT as initializer for a vector of type %qT"
+-msgstr "inicialitzador no vàlid per al mètode virtual \"%D\""
+-
+-#: cp/decl.c:4662
+-#, fuzzy, gcc-internal-format
+-msgid "initializer for %qT must be brace-enclosed"
+-msgstr "l'inicialitzador per a \"%T\" ha d'estar tancat entre parèntesis"
+-
+-#: cp/decl.c:4680
+-#, fuzzy, gcc-internal-format
+-msgid "%qT has no non-static data member named %qD"
+-msgstr "\"%T\" té una dada membre que no és non-static cridada \"%D\""
+-
+-#: cp/decl.c:4731
+-#, fuzzy, gcc-internal-format
+-msgid "braces around scalar initializer for type %qT"
+-msgstr "parèntesis al voltant de l'inicialitzador per a \"%T\""
+-
+-#: cp/decl.c:4814
+-#, fuzzy, gcc-internal-format
+-msgid "missing braces around initializer for %qT"
+-msgstr "falten claus al voltant dels valors inicials"
+-
+-#: cp/decl.c:4871
+-#, fuzzy, gcc-internal-format
+-msgid "too many initializers for %qT"
+-msgstr "massa inicialitzadors per a \"%T\""
+-
+-#: cp/decl.c:4914
+-#, fuzzy, gcc-internal-format
+-msgid "variable-sized object %qD may not be initialized"
+-msgstr "l'objecte de grandària variable \"%D\" no pot ser inicialitzat"
+-
+-#: cp/decl.c:4920
+-#, fuzzy, gcc-internal-format
+-msgid "%qD has incomplete type"
+-msgstr "\"%D\" té un tipus de dada incompleta"
+-
+-#: cp/decl.c:4935
+-#, fuzzy, gcc-internal-format
+-msgid "scalar object %qD requires one element in initializer"
+-msgstr "excés d'elements en valors inicials d'union"
+-
+-#. A non-aggregate that is not a scalar cannot be initialized
+-#. via an initializer-list in C++98.
+-#: cp/decl.c:4945
+-#, fuzzy, gcc-internal-format
+-msgid "braces around initializer for non-aggregate type %qT"
+-msgstr "parèntesis al voltant de l'inicialitzador per a \"%T\""
+-
+-#: cp/decl.c:4995
+-#, fuzzy, gcc-internal-format
+-msgid "%qD must be initialized by constructor, not by %<{...}%>"
+-msgstr "\"%D\" ha de ser inicialitzat per un constructor, no per \"{...}\""
+-
+-#: cp/decl.c:5031
+-#, fuzzy, gcc-internal-format
+-msgid "array %qD initialized by parenthesized string literal %qE"
+-msgstr "_Pragma duu una cadena literal entre parèntesis"
+-
+-#: cp/decl.c:5046
+-#, fuzzy, gcc-internal-format
+-msgid "structure %qD with uninitialized const members"
+-msgstr "estructura \"%D\" amb membres const sense inicialitzar"
+-
+-#: cp/decl.c:5048
+-#, fuzzy, gcc-internal-format
+-msgid "structure %qD with uninitialized reference members"
+-msgstr "estructura \"%D\" amb membres de referència sense inicialitzar"
+-
+-#: cp/decl.c:5330
+-#, gcc-internal-format
+-msgid "assignment (not initialization) in declaration"
+-msgstr "assignació (no inicialització) en la declaració"
+-
+-#: cp/decl.c:5420
+-#, fuzzy, gcc-internal-format
+-msgid "shadowing previous type declaration of %q#D"
+-msgstr "enfosquint la declaració de tipus prèvia de \"%#D\""
+-
+-#: cp/decl.c:5450
+-#, fuzzy, gcc-internal-format
+-msgid "%qD cannot be thread-local because it has non-POD type %qT"
+-msgstr "\"%D\" no pot ser thread-local perquè és de tipus \"%T\" que no és POD"
+-
+-#: cp/decl.c:5485
+-#, fuzzy, gcc-internal-format
+-msgid "%qD is thread-local and so cannot be dynamically initialized"
+-msgstr "\"%D\" és thread-local i per tant no es pot inicialitzar dinàmicament"
+-
+-#: cp/decl.c:5503
+-#, fuzzy, gcc-internal-format
+-msgid "%qD cannot be initialized by a non-constant expression when being declared"
+-msgstr "matriu amb valors inicials assignats d'una expressió matricial que no és constant"
+-
+-#: cp/decl.c:6160
+-#, fuzzy, gcc-internal-format
+-msgid "destructor for alien class %qT cannot be a member"
+-msgstr "el destructor per a la classe estrangera \"%T\" no pot ser un membre"
+-
+-#: cp/decl.c:6162
+-#, fuzzy, gcc-internal-format
+-msgid "constructor for alien class %qT cannot be a member"
+-msgstr "el constructor per a la classe estrangera \"%T\" no pot ser un membre"
+-
+-#: cp/decl.c:6183
+-#, fuzzy, gcc-internal-format
+-msgid "%qD declared as a %<virtual%> %s"
+-msgstr "\"%D\" va ser declarat com un %s \"virtual\""
+-
+-#: cp/decl.c:6185
+-#, fuzzy, gcc-internal-format
+-msgid "%qD declared as an %<inline%> %s"
+-msgstr "\"%D\" va ser declarat com un %s \"inline\""
+-
+-#: cp/decl.c:6187
+-#, fuzzy, gcc-internal-format
+-msgid "%<const%> and %<volatile%> function specifiers on %qD invalid in %s declaration"
+-msgstr "especificadors de funció \"const\" i \"volatile\" en \"%D\" no vàlids en la declaració %s"
+-
+-#: cp/decl.c:6191
+-#, fuzzy, gcc-internal-format
+-msgid "%q+D declared as a friend"
+-msgstr "\"%D\" declarat com un friend"
+-
+-#: cp/decl.c:6197
+-#, fuzzy, gcc-internal-format
+-msgid "%q+D declared with an exception specification"
+-msgstr "\"%D\" declarat amb una excepció d'especificació"
+-
+-#: cp/decl.c:6231
+-#, fuzzy, gcc-internal-format
+-msgid "definition of %qD is not in namespace enclosing %qT"
+-msgstr "la declaració de \"%D\" no està en un espai de noms al voltant de \"%D\""
+-
+-#: cp/decl.c:6342
+-#, fuzzy, gcc-internal-format
+-msgid "defining explicit specialization %qD in friend declaration"
+-msgstr "definint l'especialització explícita \"%D\" en la declaració friend"
+-
+-#. Something like `template <class T> friend void f<T>()'.
+-#: cp/decl.c:6352
+-#, fuzzy, gcc-internal-format
+-msgid "invalid use of template-id %qD in declaration of primary template"
+-msgstr "ús no vàlid de l'aneu de patró \"%D\" en la declaració del patró primàri"
+-
+-#: cp/decl.c:6382
+-#, fuzzy, gcc-internal-format
+-msgid "default arguments are not allowed in declaration of friend template specialization %qD"
+-msgstr "no es permeten els argument per omissió en la declaració de l'especialització friend del patró \"%D\""
+-
+-#: cp/decl.c:6390
+-#, fuzzy, gcc-internal-format
+-msgid "%<inline%> is not allowed in declaration of friend template specialization %qD"
+-msgstr "no es permet \"inline\" en la declaració de l'especialització friend del patró \"%D\""
+-
+-#: cp/decl.c:6433
+-#, fuzzy, gcc-internal-format
+-msgid "cannot declare %<::main%> to be a template"
+-msgstr "no es pot declarar \"::main\" com template"
+-
+-#: cp/decl.c:6435
+-#, fuzzy, gcc-internal-format
+-msgid "cannot declare %<::main%> to be inline"
+-msgstr "no es pot declarar \"::main\" com «inline»"
+-
+-#: cp/decl.c:6437
+-#, fuzzy, gcc-internal-format
+-msgid "cannot declare %<::main%> to be static"
+-msgstr "no es pot declarar \"::main\" com static"
+-
+-#: cp/decl.c:6465
+-#, fuzzy, gcc-internal-format
+-msgid "non-local function %q#D uses anonymous type"
+-msgstr "la funció \"%#D\" que no és local usa un tipus anònim"
+-
+-#: cp/decl.c:6468 cp/decl.c:6748
+-#, fuzzy, gcc-internal-format
+-msgid "%q+#D does not refer to the unqualified type, so it is not used for linkage"
+-msgstr "\"%#D\" no es refereix al tipus sense qualificar, així que no s'usa per a l'enllaçat"
+-
+-#: cp/decl.c:6474
+-#, fuzzy, gcc-internal-format
+-msgid "non-local function %q#D uses local type %qT"
+-msgstr "la funció \"%#D\" que no és local utilitza el tipus local \"%T\""
+-
+-#: cp/decl.c:6498
+-#, fuzzy, gcc-internal-format
+-msgid "static member function %qD cannot have cv-qualifier"
+-msgstr "%sfunció membre \"%D\" no pot tenir el qualificador de mètode \"%T\""
+-
+-#: cp/decl.c:6499
+-#, fuzzy, gcc-internal-format
+-msgid "non-member function %qD cannot have cv-qualifier"
+-msgstr "%sfunció membre \"%D\" no pot tenir el qualificador de mètode \"%T\""
+-
+-#: cp/decl.c:6547
+-#, fuzzy, gcc-internal-format
+-msgid "%<::main%> must return %<int%>"
+-msgstr "\"main\" ha de retornar \"int\""
+-
+-#: cp/decl.c:6586
+-#, fuzzy, gcc-internal-format
+-msgid "definition of implicitly-declared %qD"
+-msgstr "la definició de \"%D\" declarat implícitament"
+-
+-#: cp/decl.c:6603 cp/decl2.c:677
+-#, fuzzy, gcc-internal-format
+-msgid "no %q#D member function declared in class %qT"
+-msgstr "no hi ha una funció membre \"%#D\" declarada en la classe \"%T\""
+-
+-#. DRs 132, 319 and 389 seem to indicate types with
+-#. 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/decl.c:6745
+-#, fuzzy, gcc-internal-format
+-msgid "non-local variable %q#D uses anonymous type"
+-msgstr "la funció \"%#D\" que no és local usa un tipus anònim"
+-
+-#: cp/decl.c:6754
+-#, fuzzy, gcc-internal-format
+-msgid "non-local variable %q#D uses local type %qT"
+-msgstr "la funció \"%#D\" que no és local utilitza el tipus local \"%T\""
+-
+-#: cp/decl.c:6876
+-#, fuzzy, gcc-internal-format
+-msgid "invalid in-class initialization of static data member of non-integral type %qT"
+-msgstr "ISO C++ prohibeix la inicialització del membre constant \"%D\" del tipus \"%T\" que no és enter"
+-
+-#: cp/decl.c:6886
+-#, fuzzy, gcc-internal-format
+-msgid "ISO C++ forbids in-class initialization of non-const static member %qD"
+-msgstr "ISO C++ prohibeix la inicialización en la classe del membre static \"%D\" que no és constant"
+-
+-#: cp/decl.c:6890
+-#, fuzzy, gcc-internal-format
+-msgid "ISO C++ forbids initialization of member constant %qD of non-integral type %qT"
+-msgstr "ISO C++ prohibeix la inicialització del membre constant \"%D\" del tipus \"%T\" que no és enter"
+-
+-#: cp/decl.c:6915
+-#, fuzzy, gcc-internal-format
+-msgid "size of array %qD has non-integral type %qT"
+-msgstr "la grandària de la matriu \"%D\" té un tipus no enter"
+-
+-#: cp/decl.c:6917
+-#, fuzzy, gcc-internal-format
+-msgid "size of array has non-integral type %qT"
+-msgstr "la grandària de la matriu té un tipus no enter"
+-
+-#: cp/decl.c:6965
+-#, fuzzy, gcc-internal-format
+-msgid "size of array %qD is negative"
+-msgstr "la grandària de la matriu \"%D\" és negatiu"
+-
+-#: cp/decl.c:6967
+-#, gcc-internal-format
+-msgid "size of array is negative"
+-msgstr "la grandària de la matriu és negatiu"
+-
+-#: cp/decl.c:6975
+-#, fuzzy, gcc-internal-format
+-msgid "ISO C++ forbids zero-size array %qD"
+-msgstr "ISO C++ prohibeix la matriu \"%D\" de grandària zero"
+-
+-#: cp/decl.c:6977
+-#, gcc-internal-format
+-msgid "ISO C++ forbids zero-size array"
+-msgstr "ISO C++ prohibeix la matriu de grandària zero"
+-
+-#: cp/decl.c:6984
+-#, fuzzy, gcc-internal-format
+-msgid "size of array %qD is not an integral constant-expression"
+-msgstr "la grandària de la matriu \"%D\" no és una expressió constant integral"
+-
+-#: cp/decl.c:6987
+-#, gcc-internal-format
+-msgid "size of array is not an integral constant-expression"
+-msgstr "la grandària de la matriu no és una expressió constant integral"
+-
+-#: cp/decl.c:6993
+-#, fuzzy, gcc-internal-format
+-msgid "ISO C++ forbids variable length array %qD"
+-msgstr "ISO C++ prohibeix la matriu \"%D\" de grandària variable"
+-
+-#: cp/decl.c:6995
+-#, fuzzy, gcc-internal-format
+-msgid "ISO C++ forbids variable length array"
+-msgstr "ISO C++ prohibeix la matriu de grandària variable"
+-
+-#: cp/decl.c:7001
+-#, gcc-internal-format
+-msgid "variable length array %qD is used"
+-msgstr ""
+-
+-#: cp/decl.c:7035
+-#, gcc-internal-format
+-msgid "overflow in array dimension"
+-msgstr "desbordament en la dimensió de la matriu"
+-
+-#: cp/decl.c:7116
+-#, fuzzy, gcc-internal-format
+-msgid "declaration of %qD as %s"
+-msgstr "declaración de \"%D\" com %s"
+-
+-#: cp/decl.c:7118
+-#, gcc-internal-format
+-msgid "creating %s"
+-msgstr "creant %s"
+-
+-#: cp/decl.c:7130
+-#, fuzzy, gcc-internal-format
+-msgid "declaration of %qD as multidimensional array must have bounds for all dimensions except the first"
+-msgstr "la declaració de \"%D\" com una matriu multidimensional ha de tenir límits per a totes les dimensions excepte la primera"
+-
+-#: cp/decl.c:7134
+-#, gcc-internal-format
+-msgid "multidimensional array must have bounds for all dimensions except the first"
+-msgstr "una matriu multidimensional ha de tenir límits per a totes les dimensions excepte per a la primera"
+-
+-#: cp/decl.c:7169
+-#, gcc-internal-format
+-msgid "return type specification for constructor invalid"
+-msgstr "l'especificació del tipus de retorn per al constructor no és vàlid"
+-
+-#: cp/decl.c:7179
+-#, gcc-internal-format
+-msgid "return type specification for destructor invalid"
+-msgstr "l'especificació del tipus de retorn per al destructor no és vàlid"
+-
+-#: cp/decl.c:7192
+-#, fuzzy, gcc-internal-format
+-msgid "return type specified for %<operator %T%>"
+-msgstr "es va especificar un tipus de retorn per a \"operator %T\""
+-
+-#: cp/decl.c:7214
+-#, gcc-internal-format
+-msgid "unnamed variable or field declared void"
+-msgstr "variable sense nom o camp declarat void"
+-
+-#: cp/decl.c:7218
+-#, fuzzy, gcc-internal-format
+-msgid "variable or field %qE declared void"
+-msgstr "variable o camp \"%s\" declarat void"
+-
+-#: cp/decl.c:7221
+-#, gcc-internal-format
+-msgid "variable or field declared void"
+-msgstr "variable o camp declarat void"
+-
+-#: cp/decl.c:7388
+-#, fuzzy, gcc-internal-format
+-msgid "invalid use of qualified-name %<::%D%>"
+-msgstr "ús no vàlid del membre \"%D\""
+-
+-#: cp/decl.c:7391
+-#, fuzzy, gcc-internal-format
+-msgid "invalid use of qualified-name %<%T::%D%>"
+-msgstr "definició no vàlida del tipus qualificat \"%T\""
+-
+-#: cp/decl.c:7394
+-#, fuzzy, gcc-internal-format
+-msgid "invalid use of qualified-name %<%D::%D%>"
+-msgstr "ús no vàlid del membre \"%D\""
+-
+-#: cp/decl.c:7406
+-#, fuzzy, gcc-internal-format
+-msgid "type %qT is not derived from type %qT"
+-msgstr "el tipus \"%T\" no és derivat del tipus \"%T\""
+-
+-#: cp/decl.c:7422 cp/decl.c:7512 cp/decl.c:8660
+-#, fuzzy, gcc-internal-format
+-msgid "declaration of %qD as non-function"
+-msgstr "la declaració de \"%D\" com una no funció"
+-
+-#: cp/decl.c:7428
+-#, fuzzy, gcc-internal-format
+-msgid "declaration of %qD as non-member"
+-msgstr "la declaració de \"%D\" com una no funció"
+-
+-#: cp/decl.c:7457
+-#, fuzzy, gcc-internal-format
+-msgid "declarator-id missing; using reserved word %qD"
+-msgstr "falta l'identificador del declarador; utilitzant la paraula reservada \"%D\""
+-
+-#: cp/decl.c:7504
+-#, fuzzy, gcc-internal-format
+-msgid "function definition does not declare parameters"
+-msgstr "la definició de la funció ho va declarar com \"register\""
+-
+-#: cp/decl.c:7546
+-#, fuzzy, gcc-internal-format
+-msgid "two or more data types in declaration of %qs"
+-msgstr "dos o més tipus de dades en la declaració de \"%s\""
+-
+-#: cp/decl.c:7552
+-#, fuzzy, gcc-internal-format
+-msgid "conflicting specifiers in declaration of %qs"
+-msgstr "declaracions de \"%s\" en conflicte"
+-
+-#: cp/decl.c:7623 cp/decl.c:7626
+-#, fuzzy, gcc-internal-format
+-msgid "ISO C++ forbids declaration of %qs with no type"
+-msgstr "ISO C++ prohibeix la declaració de \"%s\" sense tipus"
+-
+-#: cp/decl.c:7651
+-#, fuzzy, gcc-internal-format
+-msgid "%<signed%> or %<unsigned%> invalid for %qs"
+-msgstr "short, signed o unsigned no vàlid per a \"%s\""
+-
+-#: cp/decl.c:7653
+-#, fuzzy, gcc-internal-format
+-msgid "%<signed%> and %<unsigned%> specified together for %qs"
+-msgstr "es van donar junts signed i unsigned per a \"%s\""
+-
+-#: cp/decl.c:7655
+-#, fuzzy, gcc-internal-format
+-msgid "%<long long%> invalid for %qs"
+-msgstr "complex no vàlid per a \"%s\""
+-
+-#: cp/decl.c:7657
+-#, fuzzy, gcc-internal-format
+-msgid "%<long%> invalid for %qs"
+-msgstr "complex no vàlid per a \"%s\""
+-
+-#: cp/decl.c:7659
+-#, fuzzy, gcc-internal-format
+-msgid "%<short%> invalid for %qs"
+-msgstr "complex no vàlid per a \"%s\""
+-
+-#: cp/decl.c:7661
+-#, fuzzy, gcc-internal-format
+-msgid "%<long%> or %<short%> invalid for %qs"
+-msgstr "long, short, signed o unsigned no vàlids per a \"%s\""
+-
+-#: cp/decl.c:7663
+-#, fuzzy, gcc-internal-format
+-msgid "%<long%> or %<short%> specified with char for %qs"
+-msgstr "s'especifica long o short amb char per a \"%s\""
+-
+-#: cp/decl.c:7665
+-#, fuzzy, gcc-internal-format
+-msgid "%<long%> and %<short%> specified together for %qs"
+-msgstr "long i short especificats junts per a \"%s\""
+-
+-#: cp/decl.c:7671
+-#, fuzzy, gcc-internal-format
+-msgid "long, short, signed or unsigned used invalidly for %qs"
+-msgstr "ús no vàlid de long, short, signed o unsigned per a \"%s\""
+-
+-#: cp/decl.c:7735
+-#, fuzzy, gcc-internal-format
+-msgid "complex invalid for %qs"
+-msgstr "complex no vàlid per a \"%s\""
+-
+-#: cp/decl.c:7764
+-#, fuzzy, gcc-internal-format
+-msgid "qualifiers are not allowed on declaration of %<operator %T%>"
+-msgstr "no es permeten qualificadors en la declaració de \"operator %T\""
+-
+-#: cp/decl.c:7776 cp/typeck.c:7011
+-#, fuzzy, gcc-internal-format
+-msgid "ignoring %qV qualifiers added to function type %qT"
+-msgstr "qualificadors no vàlids en el tipus de funció no membre"
+-
+-#: cp/decl.c:7799
+-#, fuzzy, gcc-internal-format
+-msgid "member %qD cannot be declared both virtual and static"
+-msgstr "\"%D\" no es pot declarar virtual, ja que sempre és static"
+-
+-#: cp/decl.c:7807
+-#, fuzzy, gcc-internal-format
+-msgid "%<%T::%D%> is not a valid declarator"
+-msgstr "\"%T::%D\" no és una declaració vàlida"
+-
+-#: cp/decl.c:7816
+-#, gcc-internal-format
+-msgid "typedef declaration invalid in parameter declaration"
+-msgstr "declaració typedef no vàlida en la declaració de paràmetres"
+-
+-#: cp/decl.c:7822
+-#, gcc-internal-format
+-msgid "storage class specifiers invalid in parameter declarations"
+-msgstr "especificadors de classe d'emmagatzematge no vàlids en les declaracions de paràmetres"
+-
+-#: cp/decl.c:7829
+-#, gcc-internal-format
+-msgid "virtual outside class declaration"
+-msgstr "declaració de virtual fora de class"
+-
+-#: cp/decl.c:7847
+-#, fuzzy, gcc-internal-format
+-msgid "multiple storage classes in declaration of %qs"
+-msgstr "múltiples classes d'emmagatzematge en la declaració de \"%s\""
+-
+-#: cp/decl.c:7870
+-#, fuzzy, gcc-internal-format
+-msgid "storage class specified for %qs"
+-msgstr "classe d'emmagatzematge especificada per %s \"%s\""
+-
+-#: cp/decl.c:7904
+-#, fuzzy, gcc-internal-format
+-msgid "top-level declaration of %qs specifies %<auto%>"
+-msgstr "la declaració del nivell superior de \"%s\" especifica \"auto\""
+-
+-#: cp/decl.c:7916
+-#, gcc-internal-format
+-msgid "storage class specifiers invalid in friend function declarations"
+-msgstr "especificadors de classe d'emmagatzematge no vàlids en les declaracions de funcions friend"
+-
+-#: cp/decl.c:8043
+-#, gcc-internal-format
+-msgid "destructor cannot be static member function"
+-msgstr "el destructor no pot ser una funció membre de tipus static"
+-
+-#: cp/decl.c:8048
+-#, fuzzy, gcc-internal-format
+-msgid "destructors may not be cv-qualified"
+-msgstr "els destructors no poden ser \"%s\""
+-
+-#: cp/decl.c:8066
+-#, gcc-internal-format
+-msgid "constructors cannot be declared virtual"
+-msgstr "els constructors no poden ser declarats virtual"
+-
+-#: cp/decl.c:8079
+-#, fuzzy, gcc-internal-format
+-msgid "can't initialize friend function %qs"
+-msgstr "no es pot inicialitzar la funció friend \"%s\""
+-
+-#. Cannot be both friend and virtual.
+-#: cp/decl.c:8083
+-#, gcc-internal-format
+-msgid "virtual functions cannot be friends"
+-msgstr "les funcions virtuals no poden ser friend"
+-
+-#: cp/decl.c:8087
+-#, gcc-internal-format
+-msgid "friend declaration not in class definition"
+-msgstr "la declaració friend no està en una definició de classe"
+-
+-#: cp/decl.c:8089
+-#, fuzzy, gcc-internal-format
+-msgid "can't define friend function %qs in a local class definition"
+-msgstr "no es pot definir la funció friend \"%s\" en una definició de classe local"
+-
+-#: cp/decl.c:8102
+-#, gcc-internal-format
+-msgid "destructors may not have parameters"
+-msgstr "els destructors no poden tenir paràmetres"
+-
+-#: cp/decl.c:8121
+-#, fuzzy, gcc-internal-format
+-msgid "cannot declare pointer to %q#T"
+-msgstr "no es pot declarar un punter a \"%#T\""
+-
+-#: cp/decl.c:8134 cp/decl.c:8141
+-#, fuzzy, gcc-internal-format
+-msgid "cannot declare reference to %q#T"
+-msgstr "no es poden declarar referències a \"%#T\""
+-
+-#: cp/decl.c:8143
+-#, fuzzy, gcc-internal-format
+-msgid "cannot declare pointer to %q#T member"
+-msgstr "no es pot declarar un punter al membre \"%#T\""
+-
+-#: cp/decl.c:8194
+-#, gcc-internal-format
+-msgid "cannot declare reference to %q#T, which is not a typedef or a template type argument"
+-msgstr ""
+-
+-#: cp/decl.c:8238
+-#, fuzzy, gcc-internal-format
+-msgid "template-id %qD used as a declarator"
+-msgstr "l'identificador de patró \"%D\" s'usa com un declarador"
+-
+-#: cp/decl.c:8289
+-#, gcc-internal-format
+-msgid "member functions are implicitly friends of their class"
+-msgstr "les funcions membres són implícitament friends de la seva classe"
+-
+-#: cp/decl.c:8293
+-#, fuzzy, gcc-internal-format
+-msgid "extra qualification %<%T::%> on member %qs"
+-msgstr "s'ignora la qualificació extra `%T::' en el membre \"%s\""
+-
+-#: cp/decl.c:8325
+-#, fuzzy, gcc-internal-format
+-msgid "cannot define member function %<%T::%s%> within %<%T%>"
+-msgstr "no es pot declarar la funció membre \"%T::%s\" dintre de \"%T\""
+-
+-#: cp/decl.c:8342
+-#, fuzzy, gcc-internal-format
+-msgid "cannot declare member %<%T::%s%> within %qT"
+-msgstr "no es pot declarar el membre \"%T::%s\" dintre de \"%T\""
+-
+-#: cp/decl.c:8365
+-#, fuzzy, gcc-internal-format
+-msgid "non-parameter %qs cannot be a parameter pack"
+-msgstr "les dades membres \"%D\" no poden ser un patró membre"
+-
+-#: cp/decl.c:8386
+-#, fuzzy, gcc-internal-format
+-msgid "data member may not have variably modified type %qT"
+-msgstr "l'argument de patró \"%T\" és un tipus modificat variablement"
+-
+-#: cp/decl.c:8388
+-#, fuzzy, gcc-internal-format
+-msgid "parameter may not have variably modified type %qT"
+-msgstr "l'argument de patró \"%T\" és un tipus modificat variablement"
+-
+-#. [dcl.fct.spec] The explicit specifier shall only be used in
+-#. declarations of constructors within a class definition.
+-#: cp/decl.c:8396
+-#, fuzzy, gcc-internal-format
+-msgid "only declarations of constructors can be %<explicit%>"
+-msgstr "solament les declaracions de constructors poden ser \"explicit\""
+-
+-#: cp/decl.c:8404
+-#, fuzzy, gcc-internal-format
+-msgid "non-member %qs cannot be declared %<mutable%>"
+-msgstr "el no-membre \"%s\" no pot ser declarat \"mutable\""
+-
+-#: cp/decl.c:8409
+-#, fuzzy, gcc-internal-format
+-msgid "non-object member %qs cannot be declared %<mutable%>"
+-msgstr "el membre non-objecte \"%s\" no pot ser declarat \"mutable\""
+-
+-#: cp/decl.c:8415
+-#, fuzzy, gcc-internal-format
+-msgid "function %qs cannot be declared %<mutable%>"
+-msgstr "la funció \"%s\" no pot ser declarada \"mutable\""
+-
+-#: cp/decl.c:8420
+-#, fuzzy, gcc-internal-format
+-msgid "static %qs cannot be declared %<mutable%>"
+-msgstr "static \"%s\" no pot ser declarat \"mutable\""
+-
+-#: cp/decl.c:8425
+-#, fuzzy, gcc-internal-format
+-msgid "const %qs cannot be declared %<mutable%>"
+-msgstr "const \"%s\" no pot ser declarat \"mutable\""
+-
+-#: cp/decl.c:8462
+-#, fuzzy, gcc-internal-format
+-msgid "%Jtypedef name may not be a nested-name-specifier"
+-msgstr "el nom de la definició de tipus pot no ser qualificada per a la classe"
+-
+-#: cp/decl.c:8478
+-#, fuzzy, gcc-internal-format
+-msgid "ISO C++ forbids nested type %qD with same name as enclosing class"
+-msgstr "ISO C++ prohibeix el tipus niat \"%D\" amb el mateix nom que la classe que ho conté"
+-
+-#: cp/decl.c:8564
+-#, fuzzy, gcc-internal-format
+-msgid "qualified function types cannot be used to declare static member functions"
+-msgstr "el destructor no pot ser una funció membre de tipus static"
+-
+-#: cp/decl.c:8566
+-#, fuzzy, gcc-internal-format
+-msgid "qualified function types cannot be used to declare free functions"
+-msgstr "el tipus de retorn d'una funció no pot ser una funció"
+-
+-#: cp/decl.c:8592
+-#, gcc-internal-format
+-msgid "type qualifiers specified for friend class declaration"
+-msgstr "es van especificar qualificadors de tipus en una declaració de classe friend"
+-
+-#: cp/decl.c:8597
+-#, fuzzy, gcc-internal-format
+-msgid "%<inline%> specified for friend class declaration"
+-msgstr "es va especificar \"inline\" per a la declaració de classe friend"
+-
+-#: cp/decl.c:8605
+-#, gcc-internal-format
+-msgid "template parameters cannot be friends"
+-msgstr "els paràmetres del patró no poden ser friends"
+-
+-#: cp/decl.c:8607
+-#, fuzzy, gcc-internal-format
+-msgid "friend declaration requires class-key, i.e. %<friend class %T::%D%>"
+-msgstr "la declaració friend requereix una clau de classe, ex. \"friend class %T::%D\""
+-
+-#: cp/decl.c:8611
+-#, fuzzy, gcc-internal-format
+-msgid "friend declaration requires class-key, i.e. %<friend %#T%>"
+-msgstr "la declaració friend requereix una clau de classe, ex. \"friend %#T\""
+-
+-#: cp/decl.c:8624
+-#, fuzzy, gcc-internal-format
+-msgid "trying to make class %qT a friend of global scope"
+-msgstr "tractant fer que la classe \"%T\" sigui un friend d'àmbit global"
+-
+-#: cp/decl.c:8635
+-#, gcc-internal-format
+-msgid "invalid qualifiers on non-member function type"
+-msgstr "qualificadors no vàlids en el tipus de funció no membre"
+-
+-#: cp/decl.c:8650
+-#, fuzzy, gcc-internal-format
+-msgid "abstract declarator %qT used as declaration"
+-msgstr "el declarador abstracte \"%T\" es va utilitzar com una declaració"
+-
+-#: cp/decl.c:8679
+-#, fuzzy, gcc-internal-format
+-msgid "cannot use %<::%> in parameter declaration"
+-msgstr "no es pot usar \"::\" en la declaració de paràmetres"
+-
+-#. Something like struct S { int N::j; };
+-#: cp/decl.c:8725
+-#, fuzzy, gcc-internal-format
+-msgid "invalid use of %<::%>"
+-msgstr "ús no vàlid de \"::\""
+-
+-#: cp/decl.c:8740
+-#, fuzzy, gcc-internal-format
+-msgid "can't make %qD into a method -- not in a class"
+-msgstr "no es pot fer \"%D\" en un mètode -- no està en una classe"
+-
+-#: cp/decl.c:8749
+-#, fuzzy, gcc-internal-format
+-msgid "function %qD declared virtual inside a union"
+-msgstr "la funció \"%s\" es va declarar virtual dintre d'un union"
+-
+-#: cp/decl.c:8758
+-#, fuzzy, gcc-internal-format
+-msgid "%qD cannot be declared virtual, since it is always static"
+-msgstr "\"%D\" no es pot declarar virtual, ja que sempre és static"
+-
+-#: cp/decl.c:8774
+-#, fuzzy, gcc-internal-format
+-msgid "expected qualified name in friend declaration for destructor %qD"
+-msgstr "no es permeten qualificadors en la declaració de \"operator %T\""
+-
+-#: cp/decl.c:8784
+-#, fuzzy, gcc-internal-format
+-msgid "declaration of %qD as member of %qT"
+-msgstr "la declaració de \"%s\" obscurece a un membre de \"this\""
+-
+-#: cp/decl.c:8860
+-#, fuzzy, gcc-internal-format
+-msgid "field %qD has incomplete type"
+-msgstr "el camp \"%D\" té tipus de dada incompleta"
+-
+-#: cp/decl.c:8862
+-#, fuzzy, gcc-internal-format
+-msgid "name %qT has incomplete type"
+-msgstr "el nom \"%T\" té tipus de dada incompleta"
+-
+-#: cp/decl.c:8871
+-#, fuzzy, gcc-internal-format
+-msgid " in instantiation of template %qT"
+-msgstr " en la instanciació det patró \"%T\""
+-
+-#: cp/decl.c:8880
+-#, fuzzy, gcc-internal-format
+-msgid "%qE is neither function nor member function; cannot be declared friend"
+-msgstr "\"%s\" no és ni funció ni funció membre; no pot ser declarat friend"
+-
+-#. An attempt is being made to initialize a non-static
+-#. member. But, from [class.mem]:
+-#.
+-#. 4 A member-declarator can contain a
+-#. constant-initializer only if it declares a static
+-#. member (_class.static_) of integral or enumeration
+-#. type, see _class.static.data_.
+-#.
+-#. This used to be relatively common practice, but
+-#. the rest of the compiler does not correctly
+-#. handle the initialization unless the member is
+-#. static so we make it static below.
+-#: cp/decl.c:8932
+-#, fuzzy, gcc-internal-format
+-msgid "ISO C++ forbids initialization of member %qD"
+-msgstr "ISO C++ prohibeix la inicialización del membre \"%D\""
+-
+-#: cp/decl.c:8934
+-#, fuzzy, gcc-internal-format
+-msgid "making %qD static"
+-msgstr "fent a \"%D\" static"
+-
+-#: cp/decl.c:8999
+-#, fuzzy, gcc-internal-format
+-msgid "storage class %<auto%> invalid for function %qs"
+-msgstr "la classe d'emmagatzematge \"auto\" no és vàlida per a la funció \"%s\""
+-
+-#: cp/decl.c:9001
+-#, fuzzy, gcc-internal-format
+-msgid "storage class %<register%> invalid for function %qs"
+-msgstr "la classe d'emmagatzematge \"register\" no és vàlida per a la funció \"%s\""
+-
+-#: cp/decl.c:9003
+-#, fuzzy, gcc-internal-format
+-msgid "storage class %<__thread%> invalid for function %qs"
+-msgstr "la classe d'emmagatzematge \"__thread\" no és vàlida per a la funció \"%s\""
+-
+-#: cp/decl.c:9014
+-#, fuzzy, gcc-internal-format
+-msgid "%<static%> specified invalid for function %qs declared out of global scope"
+-msgstr "la classe d'emmagatzematge \"inline\" no és vàlida per a la funció \"%s\" declarada fora de l'àmbit global"
+-
+-#: cp/decl.c:9017
+-#, fuzzy, gcc-internal-format
+-msgid "%<inline%> specifier invalid for function %qs declared out of global scope"
+-msgstr "la classe d'emmagatzematge \"inline\" no és vàlida per a la funció \"%s\" declarada fora de l'àmbit global"
+-
+-#: cp/decl.c:9025
+-#, fuzzy, gcc-internal-format
+-msgid "virtual non-class function %qs"
+-msgstr "la funció virtual \"%s\" no és classe"
+-
+-#: cp/decl.c:9056
+-#, fuzzy, gcc-internal-format
+-msgid "cannot declare member function %qD to have static linkage"
+-msgstr "no es pot declarar que la funció membre \"%D\" tingui enllaçat estàtic"
+-
+-#. FIXME need arm citation
+-#: cp/decl.c:9063
+-#, gcc-internal-format
+-msgid "cannot declare static function inside another function"
+-msgstr "no es pot declarar una funció static dintre d'altra funció"
+-
+-#: cp/decl.c:9093
+-#, fuzzy, gcc-internal-format
+-msgid "%<static%> may not be used when defining (as opposed to declaring) a static data member"
+-msgstr "\"static\" pot no ser utilitzat quan es defineix (oposat a la declaració) una dada membre static"
+-
+-#: cp/decl.c:9100
+-#, fuzzy, gcc-internal-format
+-msgid "static member %qD declared %<register%>"
+-msgstr "es va declarar el membre static \"%D\" com \"register\""
+-
+-#: cp/decl.c:9105
+-#, fuzzy, gcc-internal-format
+-msgid "cannot explicitly declare member %q#D to have extern linkage"
+-msgstr "no es pot declarar explícitament que el membre \"%#D\" tingui un enllaçat extern"
+-
+-#: cp/decl.c:9234
+-#, fuzzy, gcc-internal-format
+-msgid "default argument for %q#D has type %qT"
+-msgstr "l'argument per omissió de \"%#D\" té tipus \"%T\""
+-
+-#: cp/decl.c:9237
+-#, fuzzy, gcc-internal-format
+-msgid "default argument for parameter of type %qT has type %qT"
+-msgstr "l'argument per omissió per al paràmetre del tipus \"%T\" té el tipus \"%T\""
+-
+-#: cp/decl.c:9253
+-#, fuzzy, gcc-internal-format
+-msgid "default argument %qE uses local variable %qD"
+-msgstr "l'argument per omissió \"%E\" usa la variable local \"%D\""
+-
+-#: cp/decl.c:9323
+-#, fuzzy, gcc-internal-format
+-msgid "parameter %qD invalidly declared method type"
+-msgstr "el paràmetre \"%D\" es va declarar no vàlidament com tipus de mètode"
+-
+-#: cp/decl.c:9347
+-#, fuzzy, gcc-internal-format
+-msgid "parameter %qD includes %s to array of unknown bound %qT"
+-msgstr "el paràmetre \"%D\" inclou %s per a la matriu \"%T\" de límit desconegut"
+-
+-#: cp/decl.c:9361
+-#, fuzzy, gcc-internal-format
+-msgid "parameter packs must be at the end of the parameter list"
+-msgstr "\"void\" en la llista de paràmetres ha de ser la llista completa"
+-
+-#: cp/decl.c:9366
+-#, fuzzy, gcc-internal-format
+-msgid "multiple parameters named %qE"
+-msgstr "%Jmúltiples paràmetres nomenats \"%D\""
+-
+-#. [class.copy]
+-#.
+-#. A declaration of a constructor for a class X is ill-formed if
+-#. its first parameter is of type (optionally cv-qualified) X
+-#. and either there are no other parameters or else all other
+-#. parameters have default arguments.
+-#.
+-#. We *don't* complain about member template instantiations that
+-#. have this form, though; they can occur as we try to decide
+-#. what constructor to use during overload resolution. Since
+-#. overload resolution will never prefer such a constructor to
+-#. the non-template copy constructor (which is either explicitly
+-#. or implicitly defined), there's no need to worry about their
+-#. existence. Theoretically, they should never even be
+-#. instantiated, but that's hard to forestall.
+-#: cp/decl.c:9581
+-#, fuzzy, gcc-internal-format
+-msgid "invalid constructor; you probably meant %<%T (const %T&)%>"
+-msgstr "constructor no vàlid; tal vegada va voler dir \"%T (const %T&)\""
+-
+-#: cp/decl.c:9703
+-#, fuzzy, gcc-internal-format
+-msgid "%qD may not be declared within a namespace"
+-msgstr "\"%D\" no es va declarar en aquest àmbit"
+-
+-#: cp/decl.c:9708
+-#, fuzzy, gcc-internal-format
+-msgid "%qD may not be declared as static"
+-msgstr "\"%#D\" no pot ser declarat"
+-
+-#: cp/decl.c:9731
+-#, fuzzy, gcc-internal-format
+-msgid "%qD must be a nonstatic member function"
+-msgstr "\"%D\" ha de ser una funció membre que no sigui static"
+-
+-#: cp/decl.c:9740
+-#, fuzzy, gcc-internal-format
+-msgid "%qD must be either a non-static member function or a non-member function"
+-msgstr "\"%D\" ha de ser una funció membre no estàtic o una funció no membre"
+-
+-#: cp/decl.c:9761
+-#, fuzzy, gcc-internal-format
+-msgid "%qD must have an argument of class or enumerated type"
+-msgstr "\"%D\" ha de tenir un argument de tipus classe o enumerat"
+-
+-#: cp/decl.c:9802
+-#, gcc-internal-format
+-msgid "conversion to %s%s will never use a type conversion operator"
+-msgstr "la conversió a %s%s mai usarà un operador de conversió de tipus"
+-
+-#. 13.4.0.3
+-#: cp/decl.c:9810
+-#, gcc-internal-format
+-msgid "ISO C++ prohibits overloading operator ?:"
+-msgstr "ISO C++ prohibeix la sobrecàrrega de l'operador ?:"
+-
+-#: cp/decl.c:9815
+-#, fuzzy, gcc-internal-format
+-msgid "%qD must not have variable number of arguments"
+-msgstr "\"%D\" ha de prendre un o dos arguments"
+-
+-#: cp/decl.c:9866
+-#, fuzzy, gcc-internal-format
+-msgid "postfix %qD must take %<int%> as its argument"
+-msgstr "el postfix \"%D\" ha de prendre \"int\" com el seu argument"
+-
+-#: cp/decl.c:9869
+-#, fuzzy, gcc-internal-format
+-msgid "postfix %qD must take %<int%> as its second argument"
+-msgstr "el postfix \"%D\" ha de prendre \"int\" com el seu segon argument"
+-
+-#: cp/decl.c:9877
+-#, fuzzy, gcc-internal-format
+-msgid "%qD must take either zero or one argument"
+-msgstr "\"%D\" ha de prendre zero o un argument"
+-
+-#: cp/decl.c:9879
+-#, fuzzy, gcc-internal-format
+-msgid "%qD must take either one or two arguments"
+-msgstr "\"%D\" ha de prendre un o dos arguments"
+-
+-#: cp/decl.c:9901
+-#, fuzzy, gcc-internal-format
+-msgid "prefix %qD should return %qT"
+-msgstr "el prefix \"%D\" ha de regressar \"%T\""
+-
+-#: cp/decl.c:9907
+-#, fuzzy, gcc-internal-format
+-msgid "postfix %qD should return %qT"
+-msgstr "el postfix \"%D\" ha de regressar \"%T\""
+-
+-#: cp/decl.c:9916
+-#, fuzzy, gcc-internal-format
+-msgid "%qD must take %<void%>"
+-msgstr "\"%D\" ha de prendre \"void\""
+-
+-#: cp/decl.c:9918 cp/decl.c:9927
+-#, fuzzy, gcc-internal-format
+-msgid "%qD must take exactly one argument"
+-msgstr "\"%D\" ha de prendre un argument exactament"
+-
+-#: cp/decl.c:9929
+-#, fuzzy, gcc-internal-format
+-msgid "%qD must take exactly two arguments"
+-msgstr "\"%D\" ha de prendre dos arguments exactament"
+-
+-#: cp/decl.c:9938
+-#, fuzzy, gcc-internal-format
+-msgid "user-defined %qD always evaluates both arguments"
+-msgstr "el \"%D\" definit per l'usuari sempre avalua ambdós arguments"
+-
+-#: cp/decl.c:9952
+-#, fuzzy, gcc-internal-format
+-msgid "%qD should return by value"
+-msgstr "\"%D\" ha de regressar per valor"
+-
+-#: cp/decl.c:9964 cp/decl.c:9968
+-#, fuzzy, gcc-internal-format
+-msgid "%qD cannot have default arguments"
+-msgstr "\"%D\" no pot tenir arguments per omissió"
+-
+-#: cp/decl.c:10026
+-#, fuzzy, gcc-internal-format
+-msgid "using template type parameter %qT after %qs"
+-msgstr "usant el paràmetre de tipus patró \"%T\" després de \"%s\""
+-
+-#: cp/decl.c:10041
+-#, fuzzy, gcc-internal-format
+-msgid "using typedef-name %qD after %qs"
+-msgstr "usant el nom de definició de tipus \"%D\" després de \"%s\""
+-
+-#: cp/decl.c:10042
+-#, fuzzy, gcc-internal-format
+-msgid "%q+D has a previous declaration here"
+-msgstr "declaració prèvia com \"%#D\""
+-
+-#: cp/decl.c:10050
+-#, fuzzy, gcc-internal-format
+-msgid "%qT referred to as %qs"
+-msgstr "\"%#D\" redeclarat com %C"
+-
+-#: cp/decl.c:10051 cp/decl.c:10058
+-#, fuzzy, gcc-internal-format
+-msgid "%q+T has a previous declaration here"
+-msgstr "%Jaixò és una declaració prèvia"
+-
+-#: cp/decl.c:10057
+-#, fuzzy, gcc-internal-format
+-msgid "%qT referred to as enum"
+-msgstr "\"%#D\" redeclarat com %C"
+-
+-#. If a class template appears as elaborated type specifier
+-#. without a template header such as:
+-#.
+-#. template <class T> class C {};
+-#. void f(class C); // No template header here
+-#.
+-#. then the required template argument is missing.
+-#: cp/decl.c:10072
+-#, fuzzy, gcc-internal-format
+-msgid "template argument required for %<%s %T%>"
+-msgstr "es requereix un argument de patró per a \"%T\""
+-
+-#: cp/decl.c:10120 cp/name-lookup.c:2698
+-#, gcc-internal-format
+-msgid "%qD has the same name as the class in which it is declared"
+-msgstr ""
+-
+-#: cp/decl.c:10150 cp/name-lookup.c:2207 cp/parser.c:4036 cp/parser.c:14029
+-#: cp/parser.c:16234
+-#, fuzzy, gcc-internal-format
+-msgid "reference to %qD is ambiguous"
+-msgstr "l'ús de \"%D\" és ambigu"
+-
+-#: cp/decl.c:10264
+-#, fuzzy, gcc-internal-format
+-msgid "use of enum %q#D without previous declaration"
+-msgstr "ús del enum \"%#D\" sense declaració prèvia"
+-
+-#: cp/decl.c:10285
+-#, fuzzy, gcc-internal-format
+-msgid "redeclaration of %qT as a non-template"
+-msgstr "la declaració de \"%D\" com una no funció"
+-
+-#: cp/decl.c:10286 cp/pt.c:4154
+-#, fuzzy, gcc-internal-format
+-msgid "previous declaration %q+D"
+-msgstr "declaració prèvia de \"%D\""
+-
+-#: cp/decl.c:10397
+-#, fuzzy, gcc-internal-format
+-msgid "derived union %qT invalid"
+-msgstr "union derivada \"%T\" no vàlida"
+-
+-#: cp/decl.c:10406
+-#, fuzzy, gcc-internal-format
+-msgid "Java class %qT cannot have multiple bases"
+-msgstr "la classe base \"%#T\" té un destructor no virtual"
+-
+-#: cp/decl.c:10417
+-#, fuzzy, gcc-internal-format
+-msgid "Java class %qT cannot have virtual bases"
+-msgstr "la classe base \"%#T\" té un destructor no virtual"
+-
+-#: cp/decl.c:10440
+-#, fuzzy, gcc-internal-format
+-msgid "base type %qT fails to be a struct or class type"
+-msgstr "el tipus base \"%T\" falla a ser un tipus struct o classe"
+-
+-#: cp/decl.c:10473
+-#, fuzzy, gcc-internal-format
+-msgid "recursive type %qT undefined"
+-msgstr "tipus recursivo \"%T\" sense definir"
+-
+-#: cp/decl.c:10475
+-#, fuzzy, gcc-internal-format
+-msgid "duplicate base type %qT invalid"
+-msgstr "tipus base duplicat \"%T\" no vàlid"
+-
+-#: cp/decl.c:10552
+-#, fuzzy, gcc-internal-format
+-msgid "multiple definition of %q#T"
+-msgstr "definició múltiple de \"%#T\""
+-
+-#: cp/decl.c:10553
+-#, fuzzy, gcc-internal-format
+-msgid "%Jprevious definition here"
+-msgstr "definició prèvia aquí"
+-
+-#. DR 377
+-#.
+-#. IF no integral type can represent all the enumerator values, the
+-#. enumeration is ill-formed.
+-#: cp/decl.c:10692
+-#, gcc-internal-format
+-msgid "no integral type can represent all of the enumerator values for %qT"
+-msgstr ""
+-
+-#: cp/decl.c:10803
+-#, fuzzy, gcc-internal-format
+-msgid "enumerator value for %qD is not an integer constant"
+-msgstr "el valor de enumerator per a \"%s\" no és una constant entera"
+-
+-#: cp/decl.c:10831
+-#, fuzzy, gcc-internal-format
+-msgid "overflow in enumeration values at %qD"
+-msgstr "desbordament en valors d'enumeració en \"%D\""
+-
+-#: cp/decl.c:10906
+-#, fuzzy, gcc-internal-format
+-msgid "return type %q#T is incomplete"
+-msgstr "el tipus de retorn \"%#T\" és un tipus de dada incompleta"
+-
+-#: cp/decl.c:11031 cp/typeck.c:6711
+-#, fuzzy, gcc-internal-format
+-msgid "%<operator=%> should return a reference to %<*this%>"
+-msgstr "\"operator=\" ha de retornar una referència a \"*this\""
+-
+-#: cp/decl.c:11420
+-#, fuzzy, gcc-internal-format
+-msgid "parameter %qD declared void"
+-msgstr "el paràmetre \"%D\" es va declarar void"
+-
+-#: cp/decl.c:11908
+-#, fuzzy, gcc-internal-format
+-msgid "invalid member function declaration"
+-msgstr "declaració del patró membre \"%D\" no vàlida"
+-
+-#: cp/decl.c:11923
+-#, fuzzy, gcc-internal-format
+-msgid "%qD is already defined in class %qT"
+-msgstr "\"%D\" ja es va definir en la classe \"%T\""
+-
+-#: cp/decl.c:12170
+-#, fuzzy, gcc-internal-format
+-msgid "static member function %q#D declared with type qualifiers"
+-msgstr "la funció membre static \"%#D\" és declarada amb qualificadors de tipus"
+-
+-#: cp/decl2.c:268
+-#, gcc-internal-format
+-msgid "name missing for member function"
+-msgstr "falta el nom per a la funció membre"
+-
+-#: cp/decl2.c:339 cp/decl2.c:353
+-#, gcc-internal-format
+-msgid "ambiguous conversion for array subscript"
+-msgstr "conversió ambigua per a índex de matriu"
+-
+-#: cp/decl2.c:347
+-#, fuzzy, gcc-internal-format
+-msgid "invalid types %<%T[%T]%> for array subscript"
+-msgstr "tipus no vàlids \"%T[%T]\" per a índex de matriu"
+-
+-#: cp/decl2.c:390
+-#, fuzzy, gcc-internal-format
+-msgid "deleting array %q#D"
+-msgstr "esborrant la matriu \"%#D\""
+-
+-#: cp/decl2.c:396
+-#, fuzzy, gcc-internal-format
+-msgid "type %q#T argument given to %<delete%>, expected pointer"
+-msgstr "es va donar un argument de tipus \"%#T\" a \"delete\", s'esperava un punter"
+-
+-#: cp/decl2.c:408
+-#, fuzzy, gcc-internal-format
+-msgid "cannot delete a function. Only pointer-to-objects are valid arguments to %<delete%>"
+-msgstr "no es pot esborrar una funció. Solament els punters a objectes són arguments vàlids per a \"delete\""
+-
+-#: cp/decl2.c:416
+-#, fuzzy, gcc-internal-format
+-msgid "deleting %qT is undefined"
+-msgstr "esborrar \"%T\" està indefinit"
+-
+-#: cp/decl2.c:459 cp/pt.c:3828
+-#, fuzzy, gcc-internal-format
+-msgid "template declaration of %q#D"
+-msgstr "declaració en patró de \"%#D\""
+-
+-#: cp/decl2.c:511
+-#, fuzzy, gcc-internal-format
+-msgid "Java method %qD has non-Java return type %qT"
+-msgstr "el mètode Java \"%D\" té un tipus de retorn \"%T\" que no és de Java"
+-
+-#: cp/decl2.c:528
+-#, fuzzy, gcc-internal-format
+-msgid "Java method %qD has non-Java parameter type %qT"
+-msgstr "el mètode Java \"%D\" té un tipus de paràmetre \"%T\" que no és de Java"
+-
+-#: cp/decl2.c:639
+-#, fuzzy, gcc-internal-format
+-msgid "prototype for %q#D does not match any in class %qT"
+-msgstr "el prototip per a \"%#D\" no coincideix amb cap altre en la classe \"%T\""
+-
+-#: cp/decl2.c:719
+-#, fuzzy, gcc-internal-format
+-msgid "local class %q#T shall not have static data member %q#D"
+-msgstr "la classe local \"%#T\" no ha de tenir el membre static \"%#D\""
+-
+-#: cp/decl2.c:727
+-#, gcc-internal-format
+-msgid "initializer invalid for static member with constructor"
+-msgstr "inicializador no vàlid per al membre static amb constructor"
+-
+-#: cp/decl2.c:730
+-#, gcc-internal-format
+-msgid "(an out of class initialization is required)"
+-msgstr "(es requereix una inicialització fora de la classe)"
+-
+-#: cp/decl2.c:790
+-#, fuzzy, gcc-internal-format
+-msgid "member %qD conflicts with virtual function table field name"
+-msgstr "el membre \"%D\" té conflictes amb el nom de camp de la matriu de funcions virtuals"
+-
+-#: cp/decl2.c:810
+-#, fuzzy, gcc-internal-format
+-msgid "%qD is already defined in %qT"
+-msgstr "\"%D\" ja està definit en \"%T\""
+-
+-#: cp/decl2.c:831
+-#, fuzzy, gcc-internal-format
+-msgid "initializer specified for static member function %qD"
+-msgstr "es va especificar un inicialitzador per a la funció no-membre \"%D\""
+-
+-#: cp/decl2.c:854
+-#, gcc-internal-format
+-msgid "field initializer is not constant"
+-msgstr "l'inicializador del camp no és constant"
+-
+-#: cp/decl2.c:881
+-#, fuzzy, gcc-internal-format
+-msgid "%<asm%> specifiers are not permitted on non-static data members"
+-msgstr "no es permeten els especificadores \"asm\" en membres de dades no estàtiques"
+-
+-#: cp/decl2.c:932
+-#, fuzzy, gcc-internal-format
+-msgid "bit-field %qD with non-integral type"
+-msgstr "camp de bits \"%D\" amb tipus no enter"
+-
+-#: cp/decl2.c:938
+-#, fuzzy, gcc-internal-format
+-msgid "cannot declare %qD to be a bit-field type"
+-msgstr "no es pot declarar \"%D\" que sigui un tipus de camp de bits"
+-
+-#: cp/decl2.c:948
+-#, fuzzy, gcc-internal-format
+-msgid "cannot declare bit-field %qD with function type"
+-msgstr "no es pot declarar el camp de bits \"%D\" amb un tipus de funció"
+-
+-#: cp/decl2.c:955
+-#, fuzzy, gcc-internal-format
+-msgid "%qD is already defined in the class %qT"
+-msgstr "\"%D\" ja està definit en la classe %T"
+-
+-#: cp/decl2.c:962
+-#, fuzzy, gcc-internal-format
+-msgid "static member %qD cannot be a bit-field"
+-msgstr "el membre static \"%D\" no pot ser un camp de bits"
+-
+-#: cp/decl2.c:1122
+-#, gcc-internal-format
+-msgid "anonymous struct not inside named type"
+-msgstr "struct anònim no es troba dintre d'un tipus nomenat"
+-
+-#: cp/decl2.c:1206
+-#, gcc-internal-format
+-msgid "namespace-scope anonymous aggregates must be static"
+-msgstr "els agregats anònims d'abast de nom d'espai deuen ser static"
+-
+-#: cp/decl2.c:1215
+-#, fuzzy, gcc-internal-format
+-msgid "anonymous union with no members"
+-msgstr "agregat anònim sense membres"
+-
+-#: cp/decl2.c:1251
+-#, fuzzy, gcc-internal-format
+-msgid "%<operator new%> must return type %qT"
+-msgstr "\"operator new\" ha de retornar el tipus \"%T\""
+-
+-#. [basic.stc.dynamic.allocation]
+-#.
+-#. The first parameter shall not have an associated default
+-#. argument.
+-#: cp/decl2.c:1262
+-#, gcc-internal-format
+-msgid "the first parameter of %<operator new%> cannot have a default argument"
+-msgstr ""
+-
+-#: cp/decl2.c:1278
+-#, fuzzy, gcc-internal-format
+-msgid "%<operator new%> takes type %<size_t%> (%qT) as first parameter"
+-msgstr "\"operator new\" pren el tipus \"size_t\" (\"%T\") com primer argument"
+-
+-#: cp/decl2.c:1307
+-#, fuzzy, gcc-internal-format
+-msgid "%<operator delete%> must return type %qT"
+-msgstr "\"operator delete\" ha de retornar el tipus \"%T\""
+-
+-#: cp/decl2.c:1316
+-#, fuzzy, gcc-internal-format
+-msgid "%<operator delete%> takes type %qT as first parameter"
+-msgstr "\"operator delete\" pren el tipus \"%T\" com primer argument"
+-
+-#: cp/decl2.c:1985
+-#, gcc-internal-format
+-msgid "%qT has a field %qD whose type uses the anonymous namespace"
+-msgstr ""
+-
+-#: cp/decl2.c:1992
+-#, gcc-internal-format
+-msgid "%qT declared with greater visibility than the type of its field %qD"
+-msgstr ""
+-
+-#: cp/decl2.c:2005
+-#, gcc-internal-format
+-msgid "%qT has a base %qT whose type uses the anonymous namespace"
+-msgstr ""
+-
+-#: cp/decl2.c:2011
+-#, gcc-internal-format
+-msgid "%qT declared with greater visibility than its base %qT"
+-msgstr ""
+-
+-#: cp/decl2.c:3395
+-#, fuzzy, gcc-internal-format
+-msgid "inline function %q+D used but never defined"
+-msgstr "s'usa la funció «inline» \"%D\" però mai es va definir"
+-
+-#: cp/decl2.c:3543
+-#, fuzzy, gcc-internal-format
+-msgid "default argument missing for parameter %P of %q+#D"
+-msgstr "falta l'argument per omissió per al paràmetre %P de \"%+#D\""
+-
+-#. We really want to suppress this warning in system headers,
+-#. because libstdc++ uses variadic templates even when we aren't
+-#. in C++0x mode.
+-#: cp/error.c:2669
+-#, fuzzy, gcc-internal-format
+-msgid "ISO C++ does not include variadic templates"
+-msgstr "ISO C no permet macros variadic nomenats"
+-
+-#. Can't throw a reference.
+-#: cp/except.c:269
+-#, fuzzy, gcc-internal-format
+-msgid "type %qT is disallowed in Java %<throw%> or %<catch%>"
+-msgstr "el tipus \"%T\" no està permès en \"throw\" o \"catch\" de Java"
+-
+-#: cp/except.c:280
+-#, fuzzy, gcc-internal-format
+-msgid "call to Java %<catch%> or %<throw%> with %<jthrowable%> undefined"
+-msgstr "cridada a \"catch\" o \"throw\" de Java amb \"jthrowable\" sense definir"
+-
+-#. Thrown object must be a Throwable.
+-#: cp/except.c:287
+-#, fuzzy, gcc-internal-format
+-msgid "type %qT is not derived from %<java::lang::Throwable%>"
+-msgstr "el tipus \"%T\" no és derivat de \"java::lang::Throwable\""
+-
+-#: cp/except.c:350
+-#, gcc-internal-format
+-msgid "mixing C++ and Java catches in a single translation unit"
+-msgstr "barrejant \"catches\" de C++ i Java en una sola unitat de traducció"
+-
+-#: cp/except.c:620
+-#, gcc-internal-format
+-msgid "throwing NULL, which has integral, not pointer type"
+-msgstr "llançant NULL, que té un tipus integral, no un tipus punter"
+-
+-#: cp/except.c:643 cp/init.c:1780
+-#, fuzzy, gcc-internal-format
+-msgid "%qD should never be overloaded"
+-msgstr "\"%D\" ha de regressar per valor"
+-
+-#: cp/except.c:739
+-#, gcc-internal-format
+-msgid " in thrown expression"
+-msgstr " en expressió thrown"
+-
+-#: cp/except.c:895
+-#, fuzzy, gcc-internal-format
+-msgid "expression %qE of abstract class type %qT cannot be used in throw-expression"
+-msgstr "no es pot usar l'expressió \"%E\" del tipus de classe abstracta \"%T\" en les expressions thrown"
+-
+-#: cp/except.c:980
+-#, fuzzy, gcc-internal-format
+-msgid "%Hexception of type %qT will be caught"
+-msgstr "l'excepció del tipus \"%T\" serà atrapada"
+-
+-#: cp/except.c:982
+-#, fuzzy, gcc-internal-format
+-msgid "%H by earlier handler for %qT"
+-msgstr " per un gestor anterior per a \"%T\""
+-
+-#: cp/except.c:1012
+-#, fuzzy, gcc-internal-format
+-msgid "%H%<...%> handler must be the last handler for its try block"
+-msgstr "el gestor \"...\" ha de ser l'últim gestor per al seu bloc try"
+-
+-#: cp/friend.c:156
+-#, fuzzy, gcc-internal-format
+-msgid "%qD is already a friend of class %qT"
+-msgstr "\"%D\" ja és un friend de la classe \"%T\""
+-
+-#: cp/friend.c:232
+-#, fuzzy, gcc-internal-format
+-msgid "invalid type %qT declared %<friend%>"
+-msgstr "el tipus no vàlid \"%T\" va ser declarat \"friend\""
+-
+-#. [temp.friend]
+-#. Friend declarations shall not declare partial
+-#. specializations.
+-#. template <class U> friend class T::X<U>;
+-#. [temp.friend]
+-#. Friend declarations shall not declare partial
+-#. specializations.
+-#: cp/friend.c:248 cp/friend.c:278
+-#, fuzzy, gcc-internal-format
+-msgid "partial specialization %qT declared %<friend%>"
+-msgstr "l'especialització parcial \"%T\" es va declarar \"friend\""
+-
+-#: cp/friend.c:256
+-#, fuzzy, gcc-internal-format
+-msgid "class %qT is implicitly friends with itself"
+-msgstr "la classe \"%T\" és implícitament friend amb si mateixa"
+-
+-#: cp/friend.c:314
+-#, fuzzy, gcc-internal-format
+-msgid "%qT is not a member of %qT"
+-msgstr "\"%D\" no és un membre de \"%T\""
+-
+-#: cp/friend.c:319
+-#, fuzzy, gcc-internal-format
+-msgid "%qT is not a member class template of %qT"
+-msgstr "\"%D\" no és una funció patró membre"
+-
+-#: cp/friend.c:327
+-#, fuzzy, gcc-internal-format
+-msgid "%qT is not a nested class of %qT"
+-msgstr "\"%T\" no és una base de \"%T\""
+-
+-#. template <class T> friend class T;
+-#: cp/friend.c:340
+-#, fuzzy, gcc-internal-format
+-msgid "template parameter type %qT declared %<friend%>"
+-msgstr "el tipus de paràmetre de patró \"%T\" es va declarar \"friend\""
+-
+-#. template <class T> friend class A; where A is not a template
+-#: cp/friend.c:346
+-#, fuzzy, gcc-internal-format
+-msgid "%q#T is not a template"
+-msgstr "\"%#T\" no és un patró"
+-
+-#: cp/friend.c:368
+-#, fuzzy, gcc-internal-format
+-msgid "%qD is already a friend of %qT"
+-msgstr "\"%T\" ja és un friend de \"%T\""
+-
+-#: cp/friend.c:377
+-#, fuzzy, gcc-internal-format
+-msgid "%qT is already a friend of %qT"
+-msgstr "\"%T\" ja és un friend de \"%T\""
+-
+-#: cp/friend.c:494
+-#, fuzzy, gcc-internal-format
+-msgid "member %qD declared as friend before type %qT defined"
+-msgstr "el membre \"%D\" és declarat friend abans que es defineixi el tipus \"%T\""
+-
+-#: cp/friend.c:550
+-#, fuzzy, gcc-internal-format
+-msgid "friend declaration %q#D declares a non-template function"
+-msgstr "la declaració friend \"%#D\" declara una funció que no és patró"
+-
+-#: cp/friend.c:554
+-#, fuzzy, 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 "(si aquesta no és la seva intenció, asseguri's qu'el patró de la funció ja ha estat declarada i agregui <> aquí després del nom de la funció) -Wno-non-template-friend desactiva aquest avís"
+-
+-#: cp/init.c:334
+-#, fuzzy, gcc-internal-format
+-msgid "%J%qD should be initialized in the member initialization list"
+-msgstr "inicialització de la dada membre no vàlida"
+-
+-#: cp/init.c:382
+-#, fuzzy, gcc-internal-format
+-msgid "%Jdefault-initialization of %q#D, which has reference type"
+-msgstr "l'inicialització per omissió de \"%#D\", el qual té el tipus de referència"
+-
+-#: cp/init.c:388
+-#, fuzzy, gcc-internal-format
+-msgid "%Juninitialized reference member %qD"
+-msgstr "membre referència \"%D\" sense inicialitzar"
+-
+-#: cp/init.c:391
+-#, fuzzy, gcc-internal-format
+-msgid "%Juninitialized member %qD with %<const%> type %qT"
+-msgstr "const \"%D\" sense inicialitzar"
+-
+-#: cp/init.c:534
+-#, fuzzy, gcc-internal-format
+-msgid "%q+D will be initialized after"
+-msgstr "\"%D\" s'inicialitzarà després"
+-
+-#: cp/init.c:537
+-#, fuzzy, gcc-internal-format
+-msgid "base %qT will be initialized after"
+-msgstr "la base \"%T\" s'inicialitzarà després"
+-
+-#: cp/init.c:540
+-#, fuzzy, gcc-internal-format
+-msgid " %q+#D"
+-msgstr " \"#%D\""
+-
+-#: cp/init.c:542
+-#, fuzzy, gcc-internal-format
+-msgid " base %qT"
+-msgstr " base \"%T\""
+-
+-#: cp/init.c:543
+-#, fuzzy, gcc-internal-format
+-msgid "%J when initialized here"
+-msgstr "\"%D\" s'inicialitzarà després"
+-
+-#: cp/init.c:559
+-#, fuzzy, gcc-internal-format
+-msgid "%Jmultiple initializations given for %qD"
+-msgstr "es van donar inicialitzacions múltiples per a \"%D\""
+-
+-#: cp/init.c:562
+-#, fuzzy, gcc-internal-format
+-msgid "%Jmultiple initializations given for base %qT"
+-msgstr "es van donar inicialitzacions múltiples per a la base \"%T\""
+-
+-#: cp/init.c:629
+-#, fuzzy, gcc-internal-format
+-msgid "%Jinitializations for multiple members of %qT"
+-msgstr "inicialitzacions per a múltiples membres de \"%T\""
+-
+-#: cp/init.c:691
+-#, fuzzy, gcc-internal-format
+-msgid "%Jbase class %q#T should be explicitly initialized in the copy constructor"
+-msgstr "la classe base \"%#T\" ha de ser inicialitzada explícitament en la còpia del constructor"
+-
+-#: cp/init.c:915 cp/init.c:934
+-#, fuzzy, gcc-internal-format
+-msgid "class %qT does not have any field named %qD"
+-msgstr "la classe \"%T\" no té cap camp cridat \"%D\""
+-
+-#: cp/init.c:921
+-#, fuzzy, gcc-internal-format
+-msgid "%q#D is a static data member; it can only be initialized at its definition"
+-msgstr "el camp \"%#D\" és static; l'únic punt d'inicialització és la seva definició"
+-
+-#: cp/init.c:928
+-#, fuzzy, gcc-internal-format
+-msgid "%q#D is not a non-static data member of %qT"
+-msgstr "\"%#D\" no és un membre static de \"%#T\""
+-
+-#: cp/init.c:967
+-#, fuzzy, gcc-internal-format
+-msgid "unnamed initializer for %qT, which has no base classes"
+-msgstr "inicialitzador sense nom per a \"%T\", el qual no té una classe base"
+-
+-#: cp/init.c:975
+-#, fuzzy, gcc-internal-format
+-msgid "unnamed initializer for %qT, which uses multiple inheritance"
+-msgstr "inicialitzador sense nom per a \"%T\", el qual usa herència múltiple"
+-
+-#: cp/init.c:1021
+-#, fuzzy, gcc-internal-format
+-msgid "%qD is both a direct base and an indirect virtual base"
+-msgstr "el tipus \"%D\" no és una base directa o virtual de \"%T\""
+-
+-#: cp/init.c:1029
+-#, fuzzy, gcc-internal-format
+-msgid "type %qT is not a direct or virtual base of %qT"
+-msgstr "el tipus \"%D\" no és una base directa o virtual de \"%T\""
+-
+-#: cp/init.c:1032
+-#, fuzzy, gcc-internal-format
+-msgid "type %qT is not a direct base of %qT"
+-msgstr "el tipus \"%D\" no és una base directa de \"%T\""
+-
+-#: cp/init.c:1112
+-#, gcc-internal-format
+-msgid "bad array initializer"
+-msgstr "inicialitzador de matriu erroni"
+-
+-#: cp/init.c:1287
+-#, fuzzy, gcc-internal-format
+-msgid "%qT is not an aggregate type"
+-msgstr "\"%T\" no és un tipus agregat"
+-
+-#: cp/init.c:1341
+-#, fuzzy, gcc-internal-format
+-msgid "incomplete type %qT does not have member %qD"
+-msgstr "el tipus incomplet \"%T\" no té al membre \"%D\""
+-
+-#: cp/init.c:1354
+-#, fuzzy, gcc-internal-format
+-msgid "invalid pointer to bit-field %qD"
+-msgstr "punter no vàlid al camp de bit \"%D\""
+-
+-#: cp/init.c:1431
+-#, fuzzy, gcc-internal-format
+-msgid "invalid use of non-static member function %qD"
+-msgstr "ús no vàlid del camp no static \"%D\""
+-
+-#: cp/init.c:1437
+-#, fuzzy, gcc-internal-format
+-msgid "invalid use of non-static data member %qD"
+-msgstr "ús no vàlid del camp no static \"%D\""
+-
+-#: cp/init.c:1714
+-#, fuzzy, gcc-internal-format
+-msgid "invalid type %<void%> for new"
+-msgstr "tipus \"void\" no vàlid per a new"
+-
+-#: cp/init.c:1724
+-#, fuzzy, gcc-internal-format
+-msgid "uninitialized const in %<new%> of %q#T"
+-msgstr "const sense inicialitzar en \"new\" de \"%#T\""
+-
+-#: cp/init.c:1775
+-#, fuzzy, gcc-internal-format
+-msgid "call to Java constructor with %qs undefined"
+-msgstr "cridada a constructor Java amb \"%s\" sense definir"
+-
+-#: cp/init.c:1815
+-#, gcc-internal-format
+-msgid "no suitable %qD found in class %qT"
+-msgstr ""
+-
+-#: cp/init.c:1820
+-#, fuzzy, gcc-internal-format
+-msgid "request for member %qD is ambiguous"
+-msgstr "a petició per al membre \"%D\" és ambigua"
+-
+-#: cp/init.c:1972
+-#, gcc-internal-format
+-msgid "ISO C++ forbids initialization in array new"
+-msgstr "ISO C++ prohibeix la inicialització en la matriu new"
+-
+-#: cp/init.c:2174
+-#, gcc-internal-format
+-msgid "size in array new must have integral type"
+-msgstr "la grandària de la matriu nova ha de tenir un tipus integral"
+-
+-#: cp/init.c:2183
+-#, gcc-internal-format
+-msgid "new cannot be applied to a reference type"
+-msgstr "new no pot ser aplicat a un tipus de referència"
+-
+-#: cp/init.c:2189
+-#, gcc-internal-format
+-msgid "new cannot be applied to a function type"
+-msgstr "new no pot ser aplicat a una funcció de referència"
+-
+-#: cp/init.c:2228
+-#, fuzzy, gcc-internal-format
+-msgid "call to Java constructor, while %<jclass%> undefined"
+-msgstr "cridada a constructor Java, mentre \"jclass\" està indefinit"
+-
+-#: cp/init.c:2246
+-#, fuzzy, gcc-internal-format
+-msgid "can't find %<class$%> in %qT"
+-msgstr "no es pot trobar class$"
+-
+-#: cp/init.c:2607
+-#, gcc-internal-format
+-msgid "initializer ends prematurely"
+-msgstr "l'inicialitzador acaba prematurament"
+-
+-#: cp/init.c:2662
+-#, gcc-internal-format
+-msgid "cannot initialize multi-dimensional array with initializer"
+-msgstr "no es poden inicialitzar matrius multidimensionals amb l'inicialitzador"
+-
+-#: cp/init.c:2799
+-#, gcc-internal-format
+-msgid "possible problem detected in invocation of delete operator:"
+-msgstr ""
+-
+-#: cp/init.c:2802
+-#, gcc-internal-format
+-msgid "neither the destructor nor the class-specific operator delete will be called, even if they are declared when the class is defined."
+-msgstr ""
+-
+-#: cp/init.c:2823
+-#, gcc-internal-format
+-msgid "unknown array size in delete"
+-msgstr "grandària de matriu desconeguda en delete"
+-
+-#: cp/init.c:3070
+-#, gcc-internal-format
+-msgid "type to vector delete is neither pointer or array type"
+-msgstr "el tipus de vector delete no és del tipus punter ni matriu"
+-
+-#: cp/lex.c:489
+-#, gcc-internal-format
+-msgid "junk at end of #pragma %s"
+-msgstr "escombraries al final de #pragma %s"
+-
+-#: cp/lex.c:496
+-#, gcc-internal-format
+-msgid "invalid #pragma %s"
+-msgstr "#pragma %s no vàlid"
+-
+-#: cp/lex.c:504
+-#, gcc-internal-format
+-msgid "#pragma vtable no longer supported"
+-msgstr "#pragma vtable ja no té suport"
+-
+-#: cp/lex.c:583
+-#, fuzzy, gcc-internal-format
+-msgid "#pragma implementation for %qs appears after file is included"
+-msgstr "implementació de #pragma per a %s apareix després que el fitxer és inclòs"
+-
+-#: cp/lex.c:608
+-#, gcc-internal-format
+-msgid "junk at end of #pragma GCC java_exceptions"
+-msgstr "escombraries al final del #pragma GCC java_exceptions"
+-
+-#: cp/lex.c:622
+-#, fuzzy, gcc-internal-format
+-msgid "%qD not defined"
+-msgstr "\"%D\" no està definit"
+-
+-#: cp/lex.c:626
+-#, fuzzy, gcc-internal-format
+-msgid "%qD was not declared in this scope"
+-msgstr "\"%D\" no es va declarar en aquest àmbit"
+-
+-#. In a template, it is invalid to write "f()" or "f(3)" if no
+-#. declaration of "f" is available. Historically, G++ and most
+-#. other compilers accepted that usage since they deferred all name
+-#. lookup until instantiation time rather than doing unqualified
+-#. name lookup at template definition time; explain to the user what
+-#. is going wrong.
+-#.
+-#. Note that we have the exact wording of the following message in
+-#. the manual (trouble.texi, node "Name lookup"), so they need to
+-#. be kept in synch.
+-#: cp/lex.c:663
+-#, gcc-internal-format
+-msgid "there are no arguments to %qD that depend on a template parameter, so a declaration of %qD must be available"
+-msgstr ""
+-
+-#: cp/lex.c:672
+-#, gcc-internal-format
+-msgid "(if you use %<-fpermissive%>, G++ will accept your code, but allowing the use of an undeclared name is deprecated)"
+-msgstr ""
+-
+-#: cp/mangle.c:1691
+-#, gcc-internal-format
+-msgid "mangling typeof, use decltype instead"
+-msgstr ""
+-
+-#: cp/mangle.c:2208
+-#, gcc-internal-format
+-msgid "call_expr cannot be mangled due to a defect in the C++ ABI"
+-msgstr ""
+-
+-#: cp/mangle.c:2216
+-#, gcc-internal-format
+-msgid "zero-operand casts cannot be mangled due to a defect in the C++ ABI"
+-msgstr ""
+-
+-#: cp/mangle.c:2266
+-#, gcc-internal-format
+-msgid "omitted middle operand to %<?:%> operand cannot be mangled"
+-msgstr ""
+-
+-#: cp/mangle.c:2584
+-#, gcc-internal-format
+-msgid "the mangled name of %qD will change in a future version of GCC"
+-msgstr ""
+-
+-#: cp/method.c:462
+-#, fuzzy, gcc-internal-format
+-msgid "generic thunk code fails for method %q#D which uses %<...%>"
+-msgstr "el codi de thunk genèric ha fallat per al mètode \"%#D\" que utilitza \"...\""
+-
+-#: cp/method.c:697
+-#, fuzzy, gcc-internal-format
+-msgid "non-static const member %q#D, can't use default assignment operator"
+-msgstr "el membre const \"%#D\" que no és static, no pot usar l'operador d'assignació per omissió"
+-
+-#: cp/method.c:703
+-#, fuzzy, gcc-internal-format
+-msgid "non-static reference member %q#D, can't use default assignment operator"
+-msgstr "el membre de referència \"%#D\" que no és static, no pot usar l'operador d'assignació per omissió"
+-
+-#: cp/method.c:815
+-#, gcc-internal-format
+-msgid "%Hsynthesized method %qD first required here "
+-msgstr ""
+-
+-#: cp/method.c:1158
+-#, gcc-internal-format
+-msgid "vtable layout for class %qT may not be ABI-compliantand may change in a future version of GCC due to implicit virtual destructor"
+-msgstr ""
+-
+-#: cp/name-lookup.c:728
+-#, fuzzy, gcc-internal-format
+-msgid "redeclaration of %<wchar_t%> as %qT"
+-msgstr "redeclaración de \"wchar_t\" com \"%T\""
+-
+-#. A redeclaration of main, but not a duplicate of the
+-#. previous one.
+-#.
+-#. [basic.start.main]
+-#.
+-#. This function shall not be overloaded.
+-#: cp/name-lookup.c:758
+-#, fuzzy, gcc-internal-format
+-msgid "invalid redeclaration of %q+D"
+-msgstr "redeclaración no vàlida de \"%D\""
+-
+-#: cp/name-lookup.c:759
+-#, fuzzy, gcc-internal-format
+-msgid "as %qD"
+-msgstr "com \"%D\""
+-
+-#: cp/name-lookup.c:850
+-#, fuzzy, gcc-internal-format
+-msgid "type mismatch with previous external decl of %q#D"
+-msgstr "no coincideixen els tipus amb la declaració externa prèvia"
+-
+-#: cp/name-lookup.c:851
+-#, fuzzy, gcc-internal-format
+-msgid "previous external decl of %q+#D"
+-msgstr "declaració externa prèvia de \"%#D\""
+-
+-#: cp/name-lookup.c:942
+-#, fuzzy, gcc-internal-format
+-msgid "extern declaration of %q#D doesn't match"
+-msgstr "la declaració externa de \"%#D\" no coincideix"
+-
+-#: cp/name-lookup.c:943
+-#, fuzzy, gcc-internal-format
+-msgid "global declaration %q+#D"
+-msgstr "amb la declaració global \"%#D\""
+-
+-#: cp/name-lookup.c:980 cp/name-lookup.c:987
+-#, fuzzy, gcc-internal-format
+-msgid "declaration of %q#D shadows a parameter"
+-msgstr "la declaració de \"%#D\" enfosqueix un paràmetre"
+-
+-#. Location of previous decl is not useful in this case.
+-#: cp/name-lookup.c:1012
+-#, fuzzy, gcc-internal-format
+-msgid "declaration of %qD shadows a member of 'this'"
+-msgstr "la declaració de \"%s\" obscurece a un membre de \"this\""
+-
+-#: cp/name-lookup.c:1018
+-#, fuzzy, gcc-internal-format
+-msgid "declaration of %qD shadows a previous local"
+-msgstr "la declaració de \"%#D\" enfosqueix un paràmetre"
+-
+-#: cp/name-lookup.c:1025
+-#, fuzzy, gcc-internal-format
+-msgid "declaration of %qD shadows a global declaration"
+-msgstr "la declaració de \"%#D\" enfosqueix un paràmetre"
+-
+-#: cp/name-lookup.c:1148
+-#, fuzzy, gcc-internal-format
+-msgid "name lookup of %qD changed"
+-msgstr "la recerca de nom de \"%D\" va canviar"
+-
+-#: cp/name-lookup.c:1149
+-#, gcc-internal-format
+-msgid " matches this %q+D under ISO standard rules"
+-msgstr ""
+-
+-#: cp/name-lookup.c:1151
+-#, gcc-internal-format
+-msgid " matches this %q+D under old rules"
+-msgstr ""
+-
+-#: cp/name-lookup.c:1169 cp/name-lookup.c:1177
+-#, fuzzy, gcc-internal-format
+-msgid "name lookup of %qD changed for new ISO %<for%> scoping"
+-msgstr "la recerca de nom de \"%D\" va canviar"
+-
+-#: cp/name-lookup.c:1171
+-#, gcc-internal-format
+-msgid " cannot use obsolete binding at %q+D because it has a destructor"
+-msgstr ""
+-
+-#: cp/name-lookup.c:1179
+-#, gcc-internal-format
+-msgid " using obsolete binding at %q+D"
+-msgstr ""
+-
+-#: cp/name-lookup.c:1232
+-#, gcc-internal-format
+-msgid "%s %s(%E) %p %d\n"
+-msgstr ""
+-
+-#: cp/name-lookup.c:1235
+-#, fuzzy, gcc-internal-format
+-msgid "%s %s %p %d\n"
+-msgstr "%s: %s: "
+-
+-#: cp/name-lookup.c:1362
+-#, gcc-internal-format
+-msgid "XXX is_class_level != (current_scope == class_scope)\n"
+-msgstr ""
+-
+-#: cp/name-lookup.c:1920
+-#, fuzzy, gcc-internal-format
+-msgid "%q#D hides constructor for %q#T"
+-msgstr "\"%#D\" amaga el destructor per a \"%#T\""
+-
+-#: cp/name-lookup.c:1937
+-#, fuzzy, gcc-internal-format
+-msgid "%q#D conflicts with previous using declaration %q#D"
+-msgstr "\"%#D\" causa conflicte amb la declaració prèvia en ús \"%#D\""
+-
+-#: cp/name-lookup.c:1960
+-#, fuzzy, gcc-internal-format
+-msgid "previous non-function declaration %q+#D"
+-msgstr "la declaració prèvia \"%#D\" que no és funció"
+-
+-#: cp/name-lookup.c:1961
+-#, fuzzy, gcc-internal-format
+-msgid "conflicts with function declaration %q#D"
+-msgstr "causa conflicte amb la declaració de la funció \"%#D\""
+-
+-#. It's a nested name with template parameter dependent scope.
+-#. This can only be using-declaration for class member.
+-#: cp/name-lookup.c:2039 cp/name-lookup.c:2064
+-#, fuzzy, gcc-internal-format
+-msgid "%qT is not a namespace"
+-msgstr "\"%T\" no és un nom d'espai"
+-
+-#. 7.3.3/5
+-#. A using-declaration shall not name a template-id.
+-#: cp/name-lookup.c:2049
+-#, fuzzy, gcc-internal-format
+-msgid "a using-declaration cannot specify a template-id. Try %<using %D%>"
+-msgstr "una declaració d'ús no pot especificar un identificador de patró. Intenti \"using %D\""
+-
+-#: cp/name-lookup.c:2056
+-#, fuzzy, gcc-internal-format
+-msgid "namespace %qD not allowed in using-declaration"
+-msgstr "no es permet l'espai de noms \"%D\" en la declaració d'ús"
+-
+-#: cp/name-lookup.c:2092
+-#, fuzzy, gcc-internal-format
+-msgid "%qD not declared"
+-msgstr "no es va declarar \"%D\""
+-
+-#: cp/name-lookup.c:2128 cp/name-lookup.c:2165 cp/name-lookup.c:2199
+-#: cp/name-lookup.c:2214
+-#, fuzzy, gcc-internal-format
+-msgid "%qD is already declared in this scope"
+-msgstr "\"%D\" ja es va declarar en aquest àmbit"
+-
+-#: cp/name-lookup.c:2817
+-#, gcc-internal-format
+-msgid "using-declaration for non-member at class scope"
+-msgstr "declaració d'ús per a un no membre en l'àmbit de la classe"
+-
+-#: cp/name-lookup.c:2824
+-#, fuzzy, gcc-internal-format
+-msgid "%<%T::%D%> names destructor"
+-msgstr "\"%D\" nomena al constructor"
+-
+-#: cp/name-lookup.c:2829
+-#, fuzzy, gcc-internal-format
+-msgid "%<%T::%D%> names constructor"
+-msgstr "\"%D\" nomena al constructor"
+-
+-#: cp/name-lookup.c:2834
+-#, fuzzy, gcc-internal-format
+-msgid "%<%T::%D%> names constructor in %qT"
+-msgstr "\"%D\" nomena al constructor"
+-
+-#: cp/name-lookup.c:2884
+-#, fuzzy, gcc-internal-format
+-msgid "no members matching %<%T::%D%> in %q#T"
+-msgstr "no hi ha membres que coincideixin amb \"%D\" en \"%#T\""
+-
+-#: cp/name-lookup.c:2952
+-#, fuzzy, gcc-internal-format
+-msgid "declaration of %qD not in a namespace surrounding %qD"
+-msgstr "la declaració de \"%D\" no està en un espai de noms al voltant de \"%D\""
+-
+-#: cp/name-lookup.c:2960
+-#, fuzzy, gcc-internal-format
+-msgid "explicit qualification in declaration of %qD"
+-msgstr "qualificadors de tipus duplicats en la declaració %s"
+-
+-#: cp/name-lookup.c:3003
+-#, fuzzy, gcc-internal-format
+-msgid "%qD should have been declared inside %qD"
+-msgstr "\"%D\" deuria ser declarat dintre de \"%D\""
+-
+-#: cp/name-lookup.c:3048
+-#, fuzzy, gcc-internal-format
+-msgid "%qD attribute requires a single NTBS argument"
+-msgstr "l'atribut \"%s\" requereix una constant entera com argument"
+-
+-#: cp/name-lookup.c:3055
+-#, gcc-internal-format
+-msgid "%qD attribute is meaningless since members of the anonymous namespace get local symbols"
+-msgstr ""
+-
+-#: cp/name-lookup.c:3064 cp/name-lookup.c:3433
+-#, fuzzy, gcc-internal-format
+-msgid "%qD attribute directive ignored"
+-msgstr "s'ignora la directiva d'atribut \"%s\""
+-
+-#: cp/name-lookup.c:3109
+-#, fuzzy, gcc-internal-format
+-msgid "namespace alias %qD not allowed here, assuming %qD"
+-msgstr "no es permet aquí l'alies de l'espai de noms \"%D\", assumint que és \"%D\""
+-
+-#: cp/name-lookup.c:3421
+-#, gcc-internal-format
+-msgid "strong using only meaningful at namespace scope"
+-msgstr ""
+-
+-#: cp/name-lookup.c:3425
+-#, gcc-internal-format
+-msgid "current namespace %qD does not enclose strongly used namespace %qD"
+-msgstr ""
+-
+-#: cp/name-lookup.c:4318
+-#, fuzzy, gcc-internal-format
+-msgid "%q+D is not a function,"
+-msgstr "\"%D\" no és una funció,"
+-
+-#: cp/name-lookup.c:4319
+-#, fuzzy, gcc-internal-format
+-msgid " conflict with %q+D"
+-msgstr " té conflicte amb \"%D\""
+-
+-#: cp/name-lookup.c:4752
+-#, gcc-internal-format
+-msgid "argument dependent lookup finds %q+D"
+-msgstr ""
+-
+-#: cp/name-lookup.c:5184
+-#, gcc-internal-format
+-msgid "XXX entering pop_everything ()\n"
+-msgstr ""
+-
+-#: cp/name-lookup.c:5193
+-#, gcc-internal-format
+-msgid "XXX leaving pop_everything ()\n"
+-msgstr ""
+-
+-#: cp/parser.c:451
+-#, gcc-internal-format
+-msgid "identifier %<%s%> will become a keyword in C++0x"
+-msgstr ""
+-
+-#: cp/parser.c:2066
+-#, fuzzy, gcc-internal-format
+-msgid "%<#pragma%> is not allowed here"
+-msgstr "ja s'ha desat #pragma %s"
+-
+-#: cp/parser.c:2096
+-#, fuzzy, gcc-internal-format
+-msgid "%<%E::%E%> has not been declared"
+-msgstr "\"%#D\" no pot ser declarat"
+-
+-#: cp/parser.c:2099
+-#, fuzzy, gcc-internal-format
+-msgid "%<::%E%> has not been declared"
+-msgstr "\"%#D\" no pot ser declarat"
+-
+-#: cp/parser.c:2102
+-#, fuzzy, gcc-internal-format
+-msgid "request for member %qE in non-class type %qT"
+-msgstr "sol·licitud pel membre \"%D\" en \"%E\", el qual és del tipus no agregat \"%T\""
+-
+-#: cp/parser.c:2105
+-#, fuzzy, gcc-internal-format
+-msgid "%<%T::%E%> has not been declared"
+-msgstr "\"%#D\" no pot ser declarat"
+-
+-#: cp/parser.c:2108
+-#, fuzzy, gcc-internal-format
+-msgid "%qE has not been declared"
+-msgstr "\"%#D\" no pot ser declarat"
+-
+-#: cp/parser.c:2111
+-#, gcc-internal-format
+-msgid "%<%E::%E%> %s"
+-msgstr ""
+-
+-#: cp/parser.c:2113
+-#, fuzzy, gcc-internal-format
+-msgid "%<::%E%> %s"
+-msgstr "accés \"%D\""
+-
+-#: cp/parser.c:2115
+-#, fuzzy, gcc-internal-format
+-msgid "%qE %s"
+-msgstr "%s: %s"
+-
+-#: cp/parser.c:2151
+-#, fuzzy, gcc-internal-format
+-msgid "ISO C++ does not support %<long long%>"
+-msgstr "ISO C++ no dóna suport a \"long long\""
+-
+-#: cp/parser.c:2171
+-#, fuzzy, gcc-internal-format
+-msgid "duplicate %qs"
+-msgstr "\"%s\" duplicat"
+-
+-#: cp/parser.c:2214
+-#, fuzzy, gcc-internal-format
+-msgid "new types may not be defined in a return type"
+-msgstr "new no pot ser aplicat a un tipus de referència"
+-
+-#: cp/parser.c:2215
+-#, fuzzy, gcc-internal-format
+-msgid "(perhaps a semicolon is missing after the definition of %qT)"
+-msgstr "manca punt i coma després de la declaració de \"%T\""
+-
+-#: cp/parser.c:2234 cp/parser.c:4077 cp/pt.c:5443
+-#, fuzzy, gcc-internal-format
+-msgid "%qT is not a template"
+-msgstr "\"%T\" no és un patró"
+-
+-#: cp/parser.c:2236
+-#, fuzzy, gcc-internal-format
+-msgid "%qE is not a template"
+-msgstr "\"%T\" no és un patró"
+-
+-#: cp/parser.c:2238
+-#, fuzzy, gcc-internal-format
+-msgid "invalid template-id"
+-msgstr "rotació de insn no vàlida"
+-
+-#: cp/parser.c:2267
+-#, fuzzy, gcc-internal-format
+-msgid "%s cannot appear in a constant-expression"
+-msgstr "desbordament en la constant implícita"
+-
+-#: cp/parser.c:2292
+-#, fuzzy, gcc-internal-format
+-msgid "invalid use of template-name %qE without an argument list"
+-msgstr "ús no vàlid del nom de patró \"%E\" en un declarador"
+-
+-#: cp/parser.c:2294
+-#, fuzzy, gcc-internal-format
+-msgid "invalid use of destructor %qD as a type"
+-msgstr "ús no vàlid de \"restrict\""
+-
+-#. Something like 'unsigned A a;'
+-#: cp/parser.c:2297
+-#, fuzzy, gcc-internal-format
+-msgid "invalid combination of multiple type-specifiers"
+-msgstr "definició no vàlida del tipus qualificat \"%T\""
+-
+-#. Issue an error message.
+-#: cp/parser.c:2301
+-#, fuzzy, gcc-internal-format
+-msgid "%qE does not name a type"
+-msgstr "\"%T\" no és un tipus de classe"
+-
+-#: cp/parser.c:2333
+-#, fuzzy, gcc-internal-format
+-msgid "(perhaps %<typename %T::%E%> was intended)"
+-msgstr " (usi \"typename %T::%D\" si això és el que volia)"
+-
+-#: cp/parser.c:2348
+-#, fuzzy, gcc-internal-format
+-msgid "%qE in namespace %qE does not name a type"
+-msgstr "\"%T\" no és un tipus de classe"
+-
+-#: cp/parser.c:2351
+-#, fuzzy, gcc-internal-format
+-msgid "%qE in class %qT does not name a type"
+-msgstr "\"%T\" no és un tipus de classe"
+-
+-#: cp/parser.c:3160
+-#, gcc-internal-format
+-msgid "ISO C++ forbids braced-groups within expressions"
+-msgstr "ISO C++ prohibeix grups de parèntesis dintre de les expressions"
+-
+-#: cp/parser.c:3171
+-#, fuzzy, gcc-internal-format
+-msgid "statement-expressions are not allowed outside functions nor in template-argument lists"
+-msgstr "un grup de claus dintre d'una expressió només es permet dintre d'una funció"
+-
+-#: cp/parser.c:3229
+-#, fuzzy, gcc-internal-format
+-msgid "%<this%> may not be used in this context"
+-msgstr "\"%D\" no es va declarar en aquest àmbit"
+-
+-#: cp/parser.c:3412
+-#, fuzzy, gcc-internal-format
+-msgid "local variable %qD may not appear in this context"
+-msgstr "\"%D\" no es va declarar en aquest àmbit"
+-
+-#: cp/parser.c:3711
+-#, gcc-internal-format
+-msgid "scope %qT before %<~%> is not a class-name"
+-msgstr ""
+-
+-#: cp/parser.c:3812
+-#, fuzzy, gcc-internal-format
+-msgid "declaration of %<~%T%> as member of %qT"
+-msgstr "la declaració de \"%s\" obscurece a un membre de \"this\""
+-
+-#: cp/parser.c:3826
+-#, fuzzy, gcc-internal-format
+-msgid "typedef-name %qD used as destructor declarator"
+-msgstr "l'identificador de patró \"%D\" s'usa com un declarador"
+-
+-#: cp/parser.c:4480
+-#, fuzzy, gcc-internal-format
+-msgid "ISO C++ forbids compound-literals"
+-msgstr "ISO C++ prohibeix literals composats"
+-
+-#: cp/parser.c:4837
+-#, fuzzy, gcc-internal-format
+-msgid "%qE does not have class type"
+-msgstr "\"%T\" no és un tipus de classe"
+-
+-#: cp/parser.c:4920 cp/typeck.c:1978
+-#, fuzzy, gcc-internal-format
+-msgid "invalid use of %qD"
+-msgstr "ús no vàlid de \"%D\""
+-
+-#: cp/parser.c:5480
+-#, gcc-internal-format
+-msgid "array bound forbidden after parenthesized type-id"
+-msgstr ""
+-
+-#: cp/parser.c:5481
+-#, gcc-internal-format
+-msgid "try removing the parentheses around the type-id"
+-msgstr ""
+-
+-#: cp/parser.c:5671
+-#, fuzzy, gcc-internal-format
+-msgid "expression in new-declarator must have integral or enumeration type"
+-msgstr "la grandària de la matriu nova ha de tenir un tipus integral"
+-
+-#: cp/parser.c:5860
+-#, gcc-internal-format
+-msgid "use of old-style cast"
+-msgstr "ús de la conversió d'estil antic"
+-
+-#: cp/parser.c:5986
+-#, gcc-internal-format
+-msgid "%H%<>>%> operator will be treated as two right angle brackets in C++0x"
+-msgstr ""
+-
+-#: cp/parser.c:5989
+-#, fuzzy, gcc-internal-format
+-msgid "suggest parentheses around %<>>%> expression"
+-msgstr "es suggereixen parèntesi al voltant de && dintre de ||"
+-
+-#: cp/parser.c:6793
+-#, fuzzy, gcc-internal-format
+-msgid "case label %qE not within a switch statement"
+-msgstr "l'etiqueta «case» \"%E\" no es troba dintre d'una declaració «switch»"
+-
+-#: cp/parser.c:6922
+-#, gcc-internal-format
+-msgid "%<else%> without a previous %<if%>"
+-msgstr ""
+-
+-#: cp/parser.c:7208
+-#, gcc-internal-format
+-msgid "suggest a space before %<;%> or explicit braces around empty body in %<%s%> statement"
+-msgstr ""
+-
+-#: cp/parser.c:7468
+-#, gcc-internal-format
+-msgid "ISO C++ forbids computed gotos"
+-msgstr "ISO C++ prohibeix gotos calculats"
+-
+-#: cp/parser.c:7608
+-#, gcc-internal-format
+-msgid "extra %<;%>"
+-msgstr ""
+-
+-#: cp/parser.c:7825
+-#, gcc-internal-format
+-msgid "%<__label__%> not at the beginning of a block"
+-msgstr ""
+-
+-#: cp/parser.c:7958
+-#, gcc-internal-format
+-msgid "mixing declarations and function-definitions is forbidden"
+-msgstr ""
+-
+-#: cp/parser.c:8090
+-#, gcc-internal-format
+-msgid "%<friend%> used outside of class"
+-msgstr ""
+-
+-#: cp/parser.c:8244
+-#, fuzzy, gcc-internal-format
+-msgid "class definition may not be declared a friend"
+-msgstr "la funció \"%D\" no pot ser declarada friend"
+-
+-#: cp/parser.c:8308 cp/parser.c:15155
+-#, gcc-internal-format
+-msgid "templates may not be %<virtual%>"
+-msgstr ""
+-
+-#: cp/parser.c:8775
+-#, gcc-internal-format
+-msgid "only constructors take base initializers"
+-msgstr ""
+-
+-#: cp/parser.c:8795
+-#, fuzzy, gcc-internal-format
+-msgid "cannot expand initializer for member %<%D%>"
+-msgstr "falta e l'inicialitzador pel membre \"%D\""
+-
+-#: cp/parser.c:8847
+-#, fuzzy, gcc-internal-format
+-msgid "anachronistic old-style base class initializer"
+-msgstr "inicialitzador de classe base d'estil antic anacrònic"
+-
+-#: cp/parser.c:8892
+-#, gcc-internal-format
+-msgid "keyword %<typename%> not allowed in this context (a qualified member initializer is implicitly a type)"
+-msgstr ""
+-
+-#. Warn that we do not support `export'.
+-#: cp/parser.c:9237
+-#, fuzzy, gcc-internal-format
+-msgid "keyword %<export%> not implemented, and will be ignored"
+-msgstr "la paraula clau \"export\" no està implementada, i serà ignorada"
+-
+-#: cp/parser.c:9482 cp/parser.c:9583
+-#, fuzzy, gcc-internal-format
+-msgid "template parameter pack %qD cannot have a default argument"
+-msgstr "\"%D\" no pot tenir arguments per omissió"
+-
+-#: cp/parser.c:9485 cp/parser.c:9586
+-#, fuzzy, gcc-internal-format
+-msgid "template parameter packs cannot have default arguments"
+-msgstr "els paràmetres del patró no poden ser friends"
+-
+-#. Otherwise, emit an error about the invalid digraph, but continue
+-#. parsing because we got our argument list.
+-#: cp/parser.c:9723
+-#, fuzzy, gcc-internal-format
+-msgid "%<<::%> cannot begin a template-argument list"
+-msgstr "l'objecte \"%E\" no es pot usar com un argument de patró"
+-
+-#: cp/parser.c:9724
+-#, gcc-internal-format
+-msgid "%<<:%> is an alternate spelling for %<[%>. Insert whitespace between %<<%> and %<::%>"
+-msgstr ""
+-
+-#: cp/parser.c:9731
+-#, gcc-internal-format
+-msgid "(if you use -fpermissive G++ will accept your code)"
+-msgstr ""
+-
+-#: cp/parser.c:9804
+-#, fuzzy, gcc-internal-format
+-msgid "parse error in template argument list"
+-msgstr "l'objecte \"%E\" no es pot usar com un argument de patró"
+-
+-#. Explain what went wrong.
+-#: cp/parser.c:9917
+-#, fuzzy, gcc-internal-format
+-msgid "non-template %qD used as template"
+-msgstr "s'usa un no-patró com patró"
+-
+-#: cp/parser.c:9918
+-#, fuzzy, gcc-internal-format
+-msgid "use %<%T::template %D%> to indicate that it is a template"
+-msgstr "identificador de patró \"%D\" en la declaració del patró primari"
+-
+-#: cp/parser.c:10441
+-#, gcc-internal-format
+-msgid "template specialization with C linkage"
+-msgstr "especialització de patró amb enllaç C"
+-
+-#: cp/parser.c:11032
+-#, fuzzy, gcc-internal-format
+-msgid "using %<typename%> outside of template"
+-msgstr "usant \"typename\" fora de la plantilla"
+-
+-#: cp/parser.c:11191
+-#, fuzzy, gcc-internal-format
+-msgid "declaration %qD does not declare anything"
+-msgstr "la declaració no declara res"
+-
+-#: cp/parser.c:11275
+-#, fuzzy, gcc-internal-format
+-msgid "attributes ignored on uninstantiated type"
+-msgstr "operació no vàlida en tipus no instanciat"
+-
+-#: cp/parser.c:11279
+-#, fuzzy, gcc-internal-format
+-msgid "attributes ignored on template instantiation"
+-msgstr "classe d'emmagatzematge \"%D\" aplicada a la instanciació d'un patró"
+-
+-#: cp/parser.c:11284
+-#, gcc-internal-format
+-msgid "attributes ignored on elaborated-type-specifier that is not a forward declaration"
+-msgstr ""
+-
+-#: cp/parser.c:11406
+-#, gcc-internal-format
+-msgid "comma at end of enumerator list"
+-msgstr "coma al final de la llista de numeradors"
+-
+-#: cp/parser.c:11498
+-#, fuzzy, gcc-internal-format
+-msgid "%qD is not a namespace-name"
+-msgstr "\"%D\" no és un nom d'espai"
+-
+-#: cp/parser.c:11599
+-#, fuzzy, gcc-internal-format
+-msgid "%<namespace%> definition is not allowed here"
+-msgstr "no es permet aquí l'alies de l'espai de noms \"%D\", assumint que és \"%D\""
+-
+-#. [namespace.udecl]
+-#.
+-#. A using declaration shall not name a template-id.
+-#: cp/parser.c:11738
+-#, fuzzy, gcc-internal-format
+-msgid "a template-id may not appear in a using-declaration"
+-msgstr "no es permet l'espai de noms \"%D\" en la declaració d'ús"
+-
+-#: cp/parser.c:12094
+-#, gcc-internal-format
+-msgid "an asm-specification is not allowed on a function-definition"
+-msgstr ""
+-
+-#: cp/parser.c:12096
+-#, fuzzy, gcc-internal-format
+-msgid "attributes are not allowed on a function-definition"
+-msgstr "la variable de registre global segueix a una definició de funció"
+-
+-#: cp/parser.c:12229
+-#, fuzzy, gcc-internal-format
+-msgid "initializer provided for function"
+-msgstr "es va especificar un inicialitzador per a la funció no-membre \"%D\""
+-
+-#: cp/parser.c:12249
+-#, fuzzy, gcc-internal-format
+-msgid "attributes after parenthesized initializer ignored"
+-msgstr "atributs en el declarador de paràmetres de matriu ignorats"
+-
+-#: cp/parser.c:12630 cp/pt.c:8772
+-#, fuzzy, gcc-internal-format
+-msgid "array bound is not an integer constant"
+-msgstr "el subindici de la matriu no és un enter"
+-
+-#: cp/parser.c:12739
+-#, fuzzy, gcc-internal-format
+-msgid "%<%T::%E%> is not a type"
+-msgstr "\"%D::%D\" no és un patró"
+-
+-#: cp/parser.c:12765
+-#, fuzzy, gcc-internal-format
+-msgid "invalid use of constructor as a template"
+-msgstr "ús no vàlid del patró \"%D\""
+-
+-#: cp/parser.c:12766
+-#, gcc-internal-format
+-msgid "use %<%T::%D%> instead of %<%T::%D%> to name the constructor in a qualified name"
+-msgstr ""
+-
+-#: cp/parser.c:12938
+-#, fuzzy, gcc-internal-format
+-msgid "%qD is a namespace"
+-msgstr "\"%D\" és un nom d'espai"
+-
+-#: cp/parser.c:13013
+-#, fuzzy, gcc-internal-format
+-msgid "duplicate cv-qualifier"
+-msgstr "valor d'un «case» duplicat"
+-
+-#: cp/parser.c:13600
+-#, fuzzy, gcc-internal-format
+-msgid "file ends in default argument"
+-msgstr "%Hlectura de final de fitxer dintre de l'argument per defecte"
+-
+-#: cp/parser.c:13673
+-#, fuzzy, gcc-internal-format
+-msgid "deprecated use of default argument for parameter of non-function"
+-msgstr "argument per omissió donat per al paràmetre %d de \"%#D\""
+-
+-#: cp/parser.c:13676
+-#, fuzzy, gcc-internal-format
+-msgid "default arguments are only permitted for function parameters"
+-msgstr "argument per omissió donat per al paràmetre %d de \"%#D\""
+-
+-#: cp/parser.c:13877
+-#, gcc-internal-format
+-msgid "ISO C++ does not allow designated initializers"
+-msgstr "ISO C++ no permet inicialitzadors designats"
+-
+-#: cp/parser.c:14477
+-#, fuzzy, gcc-internal-format
+-msgid "invalid class name in declaration of %qD"
+-msgstr "declaració del patró membre \"%D\" no vàlida"
+-
+-#: cp/parser.c:14489
+-#, fuzzy, gcc-internal-format
+-msgid "declaration of %qD in namespace %qD which does not enclose %qD"
+-msgstr "declaració de \"%D\" en \"%D\" la qual no inclou a \"%D\""
+-
+-#: cp/parser.c:14492
+-#, fuzzy, gcc-internal-format
+-msgid "declaration of %qD in %qD which does not enclose %qD"
+-msgstr "declaració de \"%D\" en \"%D\" la qual no inclou a \"%D\""
+-
+-#: cp/parser.c:14505
+-#, fuzzy, gcc-internal-format
+-msgid "extra qualification ignored"
+-msgstr "s'ignora la qualificació extra \"%T::\" en el membre \"%D\""
+-
+-#: cp/parser.c:14516
+-#, fuzzy, gcc-internal-format
+-msgid "an explicit specialization must be preceded by %<template <>%>"
+-msgstr "especialització explícita no precedida per \"template <>\""
+-
+-#: cp/parser.c:14609
+-#, fuzzy, gcc-internal-format
+-msgid "previous definition of %q+#T"
+-msgstr "definició prèvia de \"%#T\""
+-
+-#: cp/parser.c:14855
+-#, gcc-internal-format
+-msgid "%Hextra %<;%>"
+-msgstr ""
+-
+-#: cp/parser.c:14873
+-#, gcc-internal-format
+-msgid "a class-key must be used when declaring a friend"
+-msgstr ""
+-
+-#: cp/parser.c:14887
+-#, fuzzy, gcc-internal-format
+-msgid "friend declaration does not name a class or function"
+-msgstr "la declaració friend no està en una definició de classe"
+-
+-#: cp/parser.c:15064
+-#, gcc-internal-format
+-msgid "pure-specifier on function-definition"
+-msgstr ""
+-
+-#: cp/parser.c:15356
+-#, fuzzy, gcc-internal-format
+-msgid "keyword %<typename%> not allowed outside of templates"
+-msgstr "usant \"typename\" fora de la plantilla"
+-
+-#: cp/parser.c:15358
+-#, fuzzy, gcc-internal-format
+-msgid "keyword %<typename%> not allowed in this context (the base class is implicitly a type)"
+-msgstr "usant \"typename\" fora de la plantilla"
+-
+-#: cp/parser.c:16407
+-#, fuzzy, gcc-internal-format
+-msgid "too few template-parameter-lists"
+-msgstr "molt poques llistes de paràmetres de patró en la declaració de \"%D\""
+-
+-#. Otherwise, there are too many template parameter lists. We have
+-#. something like:
+-#.
+-#. template <class T> template <class U> void S::f();
+-#: cp/parser.c:16422
+-#, fuzzy, gcc-internal-format
+-msgid "too many template-parameter-lists"
+-msgstr "massa llistes de paràmetres de patró en la declaració de \"%D\""
+-
+-#. Issue an error message.
+-#: cp/parser.c:16694
+-#, fuzzy, gcc-internal-format
+-msgid "named return values are no longer supported"
+-msgstr "--driver ja no té suport"
+-
+-#. 14.5.2.2 [temp.mem]
+-#.
+-#. A local class shall not have member templates.
+-#: cp/parser.c:16766
+-#, fuzzy, gcc-internal-format
+-msgid "invalid declaration of member template in local class"
+-msgstr "declaració no vàlida del patró membre \"%#D\" en la classe local"
+-
+-#: cp/parser.c:16775
+-#, gcc-internal-format
+-msgid "template with C linkage"
+-msgstr "patró amb enllaç C"
+-
+-#: cp/parser.c:16919
+-#, fuzzy, gcc-internal-format
+-msgid "template declaration of %qs"
+-msgstr "declaració en patró de \"%#D\""
+-
+-#: cp/parser.c:16982
+-#, fuzzy, gcc-internal-format
+-msgid "explicit template specialization cannot have a storage class"
+-msgstr "especialització de patró amb enllaç C"
+-
+-#: cp/parser.c:17171
+-#, fuzzy, gcc-internal-format
+-msgid "%H%<>>%> should be %<> >%> within a nested template argument list"
+-msgstr "\">>\" ha de ser \"> >\" en el nom de classe del patró"
+-
+-#: cp/parser.c:17184
+-#, fuzzy, gcc-internal-format
+-msgid "spurious %<>>%>, use %<>%> to terminate a template argument list"
+-msgstr "falta parèntesi dret en la llista de paràmetres de macro"
+-
+-#: cp/parser.c:17519
+-#, fuzzy, gcc-internal-format
+-msgid "invalid use of %qD in linkage specification"
+-msgstr "especificació de classe base no vàlida"
+-
+-#: cp/parser.c:17532
+-#, fuzzy, gcc-internal-format
+-msgid "%<__thread%> before %qD"
+-msgstr "\"__thread\" abans \"extern\""
+-
+-#: cp/parser.c:17847
+-#, fuzzy, gcc-internal-format
+-msgid "%qs tag used in naming %q#T"
+-msgstr "es va usar la marca \"%s\" al nomenar a\"%#T\""
+-
+-#: cp/parser.c:17868
+-#, fuzzy, gcc-internal-format
+-msgid "%qD redeclared with different access"
+-msgstr "\"%#D\" redeclarat com un tipus diferent de símbol"
+-
+-#: cp/parser.c:17885
+-#, gcc-internal-format
+-msgid "%<template%> (as a disambiguator) is only allowed within templates"
+-msgstr ""
+-
+-#: cp/parser.c:18138 cp/parser.c:19061 cp/parser.c:19192
+-#, gcc-internal-format
+-msgid "misplaced %<@%D%> Objective-C++ construct"
+-msgstr ""
+-
+-#: cp/parser.c:18279
+-#, gcc-internal-format
+-msgid "%<@encode%> must specify a type as an argument"
+-msgstr ""
+-
+-#: cp/parser.c:18594
+-#, gcc-internal-format
+-msgid "invalid Objective-C++ selector name"
+-msgstr ""
+-
+-#: cp/parser.c:18925
+-#, gcc-internal-format
+-msgid "identifier expected after %<@protocol%>"
+-msgstr ""
+-
+-#: cp/parser.c:19626
+-#, gcc-internal-format
+-msgid "schedule %<runtime%> does not take a %<chunk_size%> parameter"
+-msgstr ""
+-
+-#: cp/parser.c:19735
+-#, fuzzy, gcc-internal-format
+-msgid "%qs is not valid for %qs"
+-msgstr "%s: no per a %s"
+-
+-#: cp/parser.c:20390
+-#, fuzzy, gcc-internal-format
+-msgid "junk at end of %<#pragma GCC pch_preprocess%>"
+-msgstr "escombraries al final del #pragma GCC java_exceptions"
+-
+-#: cp/parser.c:20477
+-#, gcc-internal-format
+-msgid "%<#pragma omp section%> may only be used in %<#pragma omp sections%> construct"
+-msgstr ""
+-
+-#: cp/parser.c:20535
+-#, fuzzy, gcc-internal-format
+-msgid "inter-module optimizations not implemented for C++"
+-msgstr "no s'ha implementat encara profiling"
+-
+-#: cp/pt.c:249
+-#, fuzzy, gcc-internal-format
+-msgid "data member %qD cannot be a member template"
+-msgstr "les dades membres \"%D\" no poden ser un patró membre"
+-
+-#: cp/pt.c:261
+-#, fuzzy, gcc-internal-format
+-msgid "invalid member template declaration %qD"
+-msgstr "declaració del patró membre \"%D\" no vàlida"
+-
+-#: cp/pt.c:609
+-#, fuzzy, gcc-internal-format
+-msgid "explicit specialization in non-namespace scope %qD"
+-msgstr "especialització explícita en l'àmbit \"%D\" que no és espai de noms"
+-
+-#: cp/pt.c:623
+-#, gcc-internal-format
+-msgid "enclosing class templates are not explicitly specialized"
+-msgstr "les patrons de classe contingudes no són especialitzades explícitament"
+-
+-#: cp/pt.c:711
+-#, fuzzy, gcc-internal-format
+-msgid "specialization of %qD in different namespace"
+-msgstr "especialitzant \"%#T\" en diferents espais de noms"
+-
+-#: cp/pt.c:712 cp/pt.c:809
+-#, fuzzy, gcc-internal-format
+-msgid " from definition of %q+#D"
+-msgstr " de la definició de \"%#D\""
+-
+-#: cp/pt.c:729
+-#, fuzzy, gcc-internal-format
+-msgid "explicit instantiation of %qD in namespace %qD (which does not enclose namespace %qD)"
+-msgstr "declaració de \"%D\" en \"%D\" la qual no inclou a \"%D\""
+-
+-#: cp/pt.c:747
+-#, fuzzy, gcc-internal-format
+-msgid "name of class shadows template template parameter %qD"
+-msgstr "\"%#T\" no és un tipus vàlid per a un paràmetre constant de patró"
+-
+-#: cp/pt.c:776
+-#, fuzzy, gcc-internal-format
+-msgid "specialization of %qT after instantiation"
+-msgstr "especialització de \"%T\" després de la instanciació"
+-
+-#: cp/pt.c:808
+-#, fuzzy, gcc-internal-format
+-msgid "specializing %q#T in different namespace"
+-msgstr "especialitzant \"%#T\" en diferents espais de noms"
+-
+-#: cp/pt.c:823
+-#, fuzzy, gcc-internal-format
+-msgid "specialization %qT after instantiation %qT"
+-msgstr "especialització de \"%T\" després de la instanciació \"%T\""
+-
+-#: cp/pt.c:836
+-#, fuzzy, gcc-internal-format
+-msgid "explicit specialization of non-template %qT"
+-msgstr "especialització explícita de \"%T\" que no és patró"
+-
+-#: cp/pt.c:1238
+-#, fuzzy, gcc-internal-format
+-msgid "specialization of %qD after instantiation"
+-msgstr "especialització de %D després de la instanciació"
+-
+-#: cp/pt.c:1464
+-#, fuzzy, gcc-internal-format
+-msgid "%qD is not a function template"
+-msgstr "\"%D\" no és un patró de funció"
+-
+-#: cp/pt.c:1673
+-#, fuzzy, gcc-internal-format
+-msgid "template-id %qD for %q+D does not match any template declaration"
+-msgstr "l'idenfificador de patró \"%D\" per a \"%+D\" no coincideix amb cap declaració de patró"
+-
+-#: cp/pt.c:1681
+-#, fuzzy, gcc-internal-format
+-msgid "ambiguous template specialization %qD for %q+D"
+-msgstr "especialització de patró ambigua \"%D\" per a \"%+D\""
+-
+-#. This case handles bogus declarations like template <>
+-#. template <class T> void f<int>();
+-#: cp/pt.c:1916 cp/pt.c:1970
+-#, fuzzy, gcc-internal-format
+-msgid "template-id %qD in declaration of primary template"
+-msgstr "identificador de patró \"%D\" en la declaració del patró primari"
+-
+-#: cp/pt.c:1929
+-#, gcc-internal-format
+-msgid "template parameter list used in explicit instantiation"
+-msgstr "es va usar una llista de paràmetres de patró en una instanciació explícita"
+-
+-#: cp/pt.c:1935
+-#, gcc-internal-format
+-msgid "definition provided for explicit instantiation"
+-msgstr "es proveeix una definició per a instanciació explícita"
+-
+-#: cp/pt.c:1943
+-#, fuzzy, gcc-internal-format
+-msgid "too many template parameter lists in declaration of %qD"
+-msgstr "massa llistes de paràmetres de patró en la declaració de \"%D\""
+-
+-#: cp/pt.c:1946
+-#, fuzzy, gcc-internal-format
+-msgid "too few template parameter lists in declaration of %qD"
+-msgstr "molt poques llistes de paràmetres de patró en la declaració de \"%D\""
+-
+-#: cp/pt.c:1948
+-#, fuzzy, gcc-internal-format
+-msgid "explicit specialization of %qD must be introduced by %<template <>%>"
+-msgstr "especialització explícita no precedida per \"template <>\""
+-
+-#: cp/pt.c:1967
+-#, gcc-internal-format
+-msgid "function template partial specialization %qD is not allowed"
+-msgstr ""
+-
+-#: cp/pt.c:1999
+-#, gcc-internal-format
+-msgid "default argument specified in explicit specialization"
+-msgstr "es va especificar un argument per omissió en l'especialització explícita"
+-
+-#: cp/pt.c:2029
+-#, fuzzy, gcc-internal-format
+-msgid "%qD is not a template function"
+-msgstr "\"%D\" no és una funció patró membre"
+-
+-#: cp/pt.c:2037
+-#, fuzzy, gcc-internal-format
+-msgid "%qD is not declared in %qD"
+-msgstr "no es va declarar \"%D\""
+-
+-#. From [temp.expl.spec]:
+-#.
+-#. If such an explicit specialization for the member
+-#. of a class template names an implicitly-declared
+-#. special member function (clause _special_), the
+-#. program is ill-formed.
+-#.
+-#. Similar language is found in [temp.explicit].
+-#: cp/pt.c:2099
+-#, gcc-internal-format
+-msgid "specialization of implicitly-declared special member function"
+-msgstr "especialització de la funció membre especial declarada implícitament"
+-
+-#: cp/pt.c:2143
+-#, fuzzy, gcc-internal-format
+-msgid "no member function %qD declared in %qT"
+-msgstr "la funció no membre \"%D\" es va declarar en \"%T\""
+-
+-#: cp/pt.c:2642
+-#, gcc-internal-format
+-msgid "base initializer expansion %<%T%> contains no parameter packs"
+-msgstr ""
+-
+-#: cp/pt.c:2701
+-#, gcc-internal-format
+-msgid "expansion pattern %<%T%> contains no argument packs"
+-msgstr ""
+-
+-#: cp/pt.c:2703
+-#, gcc-internal-format
+-msgid "expansion pattern %<%E%> contains no argument packs"
+-msgstr ""
+-
+-#: cp/pt.c:2745
+-#, gcc-internal-format
+-msgid "parameter packs not expanded with `...':"
+-msgstr ""
+-
+-#: cp/pt.c:2760 cp/pt.c:3383
+-#, fuzzy, gcc-internal-format
+-msgid " %qD"
+-msgstr " \"%D\""
+-
+-#: cp/pt.c:2762
+-#, fuzzy, gcc-internal-format
+-msgid " <anonymous>"
+-msgstr "<anònim>"
+-
+-#: cp/pt.c:2875
+-#, fuzzy, gcc-internal-format
+-msgid "declaration of %q+#D"
+-msgstr "la declaració de \"%#D\""
+-
+-#: cp/pt.c:2876
+-#, fuzzy, gcc-internal-format
+-msgid " shadows template parm %q+#D"
+-msgstr " enfosquen el paràmetre de patró \"%#D\""
+-
+-#: cp/pt.c:3379
+-#, gcc-internal-format
+-msgid "template parameters not used in partial specialization:"
+-msgstr "no s'usen els paràmetres de patró en l'especialització parcial:"
+-
+-#: cp/pt.c:3394
+-#, fuzzy, gcc-internal-format
+-msgid "partial specialization %qT does not specialize any template arguments"
+-msgstr "l'especialització parcial \"%T\" no especialitza cap argument de patró"
+-
+-#: cp/pt.c:3439
+-#, gcc-internal-format
+-msgid "parameter pack argument %qE must be at the end of the template argument list"
+-msgstr ""
+-
+-#: cp/pt.c:3441
+-#, gcc-internal-format
+-msgid "parameter pack argument %qT must be at the end of the template argument list"
+-msgstr ""
+-
+-#: cp/pt.c:3462
+-#, fuzzy, gcc-internal-format
+-msgid "template argument %qE involves template parameter(s)"
+-msgstr "l'argument de patró \"%E\" involucra el(s) paràmetre(s) de patró"
+-
+-#: cp/pt.c:3505
+-#, fuzzy, gcc-internal-format
+-msgid "type %qT of template argument %qE depends on template parameter(s)"
+-msgstr "el tipus \"%T\" de l'argument de patró \"%E\" depèn del(s) paràmetre(s) de patró"
+-
+-#: cp/pt.c:3611
+-#, fuzzy, gcc-internal-format
+-msgid "no default argument for %qD"
+-msgstr "no hi ha un argument per omissió per a \"%D\""
+-
+-#: cp/pt.c:3796
+-#, gcc-internal-format
+-msgid "template class without a name"
+-msgstr "classe de patró sense nom"
+-
+-#. [temp.mem]
+-#.
+-#. A destructor shall not be a member template.
+-#: cp/pt.c:3804
+-#, fuzzy, gcc-internal-format
+-msgid "destructor %qD declared as member template"
+-msgstr "les dades membres \"%D\" no poden ser un patró membre"
+-
+-#. [basic.stc.dynamic.allocation]
+-#.
+-#. An allocation function can be a function
+-#. template. ... Template allocation functions shall
+-#. have two or more parameters.
+-#: cp/pt.c:3819
+-#, fuzzy, gcc-internal-format
+-msgid "invalid template declaration of %qD"
+-msgstr "declaració del patró membre \"%D\" no vàlida"
+-
+-#: cp/pt.c:3890
+-#, gcc-internal-format
+-msgid "parameter pack %qE must be at the end of the template parameter list"
+-msgstr ""
+-
+-#: cp/pt.c:3893
+-#, gcc-internal-format
+-msgid "parameter pack %qT must be at the end of the template parameter list"
+-msgstr ""
+-
+-#: cp/pt.c:3953
+-#, fuzzy, gcc-internal-format
+-msgid "template definition of non-template %q#D"
+-msgstr "definició de patró de \"%#D\" que no és patró"
+-
+-#: cp/pt.c:3996
+-#, fuzzy, gcc-internal-format
+-msgid "expected %d levels of template parms for %q#D, got %d"
+-msgstr "s'esperaven %d nivells de paràmetres de patró per a \"%#D\", es van obtenir %d"
+-
+-#: cp/pt.c:4008
+-#, fuzzy, gcc-internal-format
+-msgid "got %d template parameters for %q#D"
+-msgstr "es van obtenir %d paràmetres de patró per a \"%#D\""
+-
+-#: cp/pt.c:4011
+-#, fuzzy, gcc-internal-format
+-msgid "got %d template parameters for %q#T"
+-msgstr "es van obtenir %d paràmetres de patró per a \"%#T\""
+-
+-#: cp/pt.c:4013
+-#, gcc-internal-format
+-msgid " but %d required"
+-msgstr " però es requereixen %d"
+-
+-#: cp/pt.c:4031
+-#, fuzzy, gcc-internal-format
+-msgid "template arguments to %qD do not match original template %qD"
+-msgstr "l'idenfificador de patró \"%D\" per a \"%+D\" no coincideix amb cap declaració de patró"
+-
+-#: cp/pt.c:4035
+-#, fuzzy, gcc-internal-format
+-msgid "use template<> for an explicit specialization"
+-msgstr "les patrons de classe contingudes no són especialitzades explícitament"
+-
+-#: cp/pt.c:4131
+-#, fuzzy, gcc-internal-format
+-msgid "%qT is not a template type"
+-msgstr "\"%T\" no és un tipus patró"
+-
+-#: cp/pt.c:4144
+-#, fuzzy, gcc-internal-format
+-msgid "template specifiers not specified in declaration of %qD"
+-msgstr "molt poques llistes de paràmetres de patró en la declaració de \"%D\""
+-
+-#: cp/pt.c:4155
+-#, fuzzy, gcc-internal-format
+-msgid "used %d template parameter(s) instead of %d"
+-msgstr "es van usar %d paràmetre%s de patró en lloc de %d"
+-
+-#: cp/pt.c:4184
+-#, fuzzy, gcc-internal-format
+-msgid "template parameter %q+#D"
+-msgstr "paràmetre de patró \"%#D\""
+-
+-#: cp/pt.c:4185
+-#, fuzzy, gcc-internal-format
+-msgid "redeclared here as %q#D"
+-msgstr "redeclarat aquí com \"%#D\""
+-
+-#. We have in [temp.param]:
+-#.
+-#. A template-parameter may not be given default arguments
+-#. by two different declarations in the same scope.
+-#: cp/pt.c:4195
+-#, fuzzy, gcc-internal-format
+-msgid "redefinition of default argument for %q#D"
+-msgstr "redefinició de l'argument per omissió per a \"%#D\""
+-
+-#: cp/pt.c:4196
+-#, fuzzy, gcc-internal-format
+-msgid "%J original definition appeared here"
+-msgstr " la definició original apareix aquí"
+-
+-#: cp/pt.c:4300
+-#, fuzzy, gcc-internal-format
+-msgid "%qE is not a valid template argument for type %qT because function %qD has not external linkage"
+-msgstr "la cadena literal %E no és un argument vàlid de patró perquè és l'adreça d'un objecte amb enllaç estàtic"
+-
+-#: cp/pt.c:4341
+-#, fuzzy, 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 "la cadena literal %E no és un argument vàlid de patró perquè és l'adreça d'un objecte amb enllaç estàtic"
+-
+-#: cp/pt.c:4418
+-#, fuzzy, gcc-internal-format
+-msgid "%qE is not a valid template argument for type %qT because it is a non-constant expression"
+-msgstr "la cadena literal %E no és un argument vàlid de patró perquè és l'adreça d'un objecte amb enllaç estàtic"
+-
+-#: cp/pt.c:4462
+-#, fuzzy, gcc-internal-format
+-msgid "%qD is not a valid template argument because %qD is a variable, not the address of a variable"
+-msgstr "la cadena literal %E no és un argument vàlid de patró perquè és l'adreça d'un objecte amb enllaç estàtic"
+-
+-#: cp/pt.c:4480
+-#, fuzzy, gcc-internal-format
+-msgid "%qE is not a valid template argument of type %qT because %qE is not a variable"
+-msgstr "la cadena literal %E no és un argument vàlid de patró perquè és l'adreça d'un objecte amb enllaç estàtic"
+-
+-#: cp/pt.c:4487
+-#, fuzzy, gcc-internal-format
+-msgid "%qE is not a valid template argument of type %qT because %qD does not have external linkage"
+-msgstr "la cadena literal %E no és un argument vàlid de patró perquè és l'adreça d'un objecte amb enllaç estàtic"
+-
+-#: cp/pt.c:4517
+-#, gcc-internal-format
+-msgid "%qE is not a valid template argument for type %qT because of conflicts in cv-qualification"
+-msgstr ""
+-
+-#: cp/pt.c:4524
+-#, fuzzy, gcc-internal-format
+-msgid "%qE is not a valid template argument for type %qT because it is not an lvalue"
+-msgstr "la cadena literal %E no és un argument vàlid de patró perquè és l'adreça d'un objecte amb enllaç estàtic"
+-
+-#: cp/pt.c:4537
+-#, fuzzy, gcc-internal-format
+-msgid "%qE is not a valid template argument for type %qT because object %qD has not external linkage"
+-msgstr "la cadena literal %E no és un argument vàlid de patró perquè és l'adreça d'un objecte amb enllaç estàtic"
+-
+-#: cp/pt.c:4577
+-#, fuzzy, gcc-internal-format
+-msgid "%qE is not a valid template argument for type %qT because it is a pointer"
+-msgstr "\"%E\" no és un argument de patró vàlid"
+-
+-#: cp/pt.c:4579
+-#, gcc-internal-format
+-msgid "try using %qE instead"
+-msgstr ""
+-
+-#: cp/pt.c:4614
+-#, fuzzy, gcc-internal-format
+-msgid "%qE is not a valid template argument for type %qT because it is of type %qT"
+-msgstr "\"%E\" no és un argument de patró vàlid"
+-
+-#: cp/pt.c:4617
+-#, fuzzy, gcc-internal-format
+-msgid "standard conversions are not allowed in this context"
+-msgstr "\"%D\" no es va declarar en aquest àmbit"
+-
+-#: cp/pt.c:4797
+-#, fuzzy, gcc-internal-format
+-msgid "to refer to a type member of a template parameter, use %<typename %E%>"
+-msgstr "per a fer referència a un tipus membre d'un paràmetre de patró, usi \"typename %E\""
+-
+-#: cp/pt.c:4813 cp/pt.c:4832 cp/pt.c:4882
+-#, fuzzy, gcc-internal-format
+-msgid "type/value mismatch at argument %d in template parameter list for %qD"
+-msgstr "no coincideix el tipus/valor en l'argument %d en la llista de paràmetres de patró per a \"%D\""
+-
+-#: cp/pt.c:4817
+-#, fuzzy, gcc-internal-format
+-msgid " expected a constant of type %qT, got %qT"
+-msgstr " s'esperava una constant de tipus \"%T\", es va obtenir \"%T\""
+-
+-#: cp/pt.c:4821
+-#, fuzzy, gcc-internal-format
+-msgid " expected a class template, got %qE"
+-msgstr " s'esperava un patró de classe, es va obtenir \"%T\""
+-
+-#: cp/pt.c:4823
+-#, fuzzy, gcc-internal-format
+-msgid " expected a type, got %qE"
+-msgstr " s'esperava un tipus, es va obtenir \"%E\""
+-
+-#: cp/pt.c:4836
+-#, fuzzy, gcc-internal-format
+-msgid " expected a type, got %qT"
+-msgstr " s'esperava un tipus, es va obtenir \"%T\""
+-
+-#: cp/pt.c:4838
+-#, fuzzy, gcc-internal-format
+-msgid " expected a class template, got %qT"
+-msgstr " s'esperava un patró de classe, es va obtenir \"%T\""
+-
+-#: cp/pt.c:4885
+-#, fuzzy, gcc-internal-format
+-msgid " expected a template of type %qD, got %qD"
+-msgstr " s'esperava un patró de tipus \"%D\", es va obtenir \"%D\""
+-
+-#: cp/pt.c:4928
+-#, fuzzy, gcc-internal-format
+-msgid "could not convert template argument %qE to %qT"
+-msgstr "no es pot convertir l'argument de patró \"%E\" a \"%T\""
+-
+-#: cp/pt.c:4984
+-#, gcc-internal-format
+-msgid "wrong number of template arguments (%d, should be %d)"
+-msgstr "nombre erroni d'arguments de patró (%d, deuria ser %d)"
+-
+-#: cp/pt.c:5116
+-#, fuzzy, gcc-internal-format
+-msgid "wrong number of template arguments (%d, should be %d%s)"
+-msgstr "nombre erroni d'arguments de patró (%d, deuria ser %d)"
+-
+-#: cp/pt.c:5120
+-#, fuzzy, gcc-internal-format
+-msgid "provided for %q+D"
+-msgstr "proveït per \"%D\""
+-
+-#: cp/pt.c:5177
+-#, gcc-internal-format
+-msgid "cannot expand %<%E%> into a fixed-length argument list"
+-msgstr ""
+-
+-#: cp/pt.c:5180
+-#, gcc-internal-format
+-msgid "cannot expand %<%T%> into a fixed-length argument list"
+-msgstr ""
+-
+-#: cp/pt.c:5195
+-#, gcc-internal-format
+-msgid "template argument %d is invalid"
+-msgstr "l'argument de patró %d no és vàlid"
+-
+-#: cp/pt.c:5455
+-#, fuzzy, gcc-internal-format
+-msgid "non-template type %qT used as a template"
+-msgstr "s'usa el tipus \"%T\" que és no-patró com patró"
+-
+-#: cp/pt.c:5457
+-#, fuzzy, gcc-internal-format
+-msgid "for template declaration %q+D"
+-msgstr "per a la declaració de patró \"%D\""
+-
+-#: cp/pt.c:6132
+-#, fuzzy, gcc-internal-format
+-msgid "template instantiation depth exceeds maximum of %d (use -ftemplate-depth-NN to increase the maximum) instantiating %qD"
+-msgstr "la profunditat d'instanciació del patró excedeix el màxim de %d (usi -ftemplate-depth-NN per a incrementar el màxim) al instanciar \"%D\""
+-
+-#: cp/pt.c:7237
+-#, gcc-internal-format
+-msgid "mismatched argument pack lengths while expanding %<%T%>"
+-msgstr ""
+-
+-#: cp/pt.c:7241
+-#, gcc-internal-format
+-msgid "mismatched argument pack lengths while expanding %<%E%>"
+-msgstr ""
+-
+-#: cp/pt.c:8189
+-#, fuzzy, gcc-internal-format
+-msgid "instantiation of %q+D as type %qT"
+-msgstr "instanciació de \"%D\" com tipus \"%T\""
+-
+-#. It may seem that this case cannot occur, since:
+-#.
+-#. typedef void f();
+-#. void g() { f x; }
+-#.
+-#. declares a function, not a variable. However:
+-#.
+-#. typedef void f();
+-#. template <typename T> void g() { T t; }
+-#. template void g<f>();
+-#.
+-#. is an attempt to declare a variable with function
+-#. type.
+-#: cp/pt.c:8324
+-#, fuzzy, gcc-internal-format
+-msgid "variable %qD has function type"
+-msgstr "la variable \"%#D\" té inicializador però de tipus de dada incompleta"
+-
+-#: cp/pt.c:8471
+-#, fuzzy, gcc-internal-format
+-msgid "invalid parameter type %qT"
+-msgstr "tipus de paràmetre \"%T\" no vàlid"
+-
+-#: cp/pt.c:8473
+-#, fuzzy, gcc-internal-format
+-msgid "in declaration %q+D"
+-msgstr "en la declaració \"%D\""
+-
+-#: cp/pt.c:8550
+-#, fuzzy, gcc-internal-format
+-msgid "function returning an array"
+-msgstr "la funció retorna un agregat"
+-
+-#: cp/pt.c:8552
+-#, fuzzy, gcc-internal-format
+-msgid "function returning a function"
+-msgstr "\"%s\" que és declarat com funció retorna una funció"
+-
+-#: cp/pt.c:8586
+-#, fuzzy, gcc-internal-format
+-msgid "creating pointer to member function of non-class type %qT"
+-msgstr "creant un punter a funció membre del tipus \"%T\" que no és classe"
+-
+-#: cp/pt.c:8792
+-#, fuzzy, gcc-internal-format
+-msgid "creating array with negative size (%qE)"
+-msgstr "creant la matriu amb grandària zero (\"%E\")"
+-
+-#: cp/pt.c:9047
+-#, gcc-internal-format
+-msgid "forming reference to void"
+-msgstr "formant la referència a void"
+-
+-#: cp/pt.c:9049
+-#, fuzzy, gcc-internal-format
+-msgid "forming %s to reference type %qT"
+-msgstr "formant %s per a referenciar al tipus \"%T\""
+-
+-#: cp/pt.c:9100
+-#, fuzzy, gcc-internal-format
+-msgid "creating pointer to member of non-class type %qT"
+-msgstr "creant un punter al membre del tipus \"%T\" que no és classe"
+-
+-#: cp/pt.c:9106
+-#, fuzzy, gcc-internal-format
+-msgid "creating pointer to member reference type %qT"
+-msgstr "creant un punter al membre de referència de tipus \"%T\""
+-
+-#: cp/pt.c:9112
+-#, fuzzy, gcc-internal-format
+-msgid "creating pointer to member of type void"
+-msgstr "creant un punter al membre de referència de tipus \"%T\""
+-
+-#: cp/pt.c:9179
+-#, fuzzy, gcc-internal-format
+-msgid "creating array of %qT"
+-msgstr "creant la matriu de \"%T\""
+-
+-#: cp/pt.c:9185
+-#, fuzzy, gcc-internal-format
+-msgid "creating array of %qT, which is an abstract class type"
+-msgstr "inicialitzador sense nom per a \"%T\", el qual no té una classe base"
+-
+-#: cp/pt.c:9236
+-#, fuzzy, gcc-internal-format
+-msgid "%qT is not a class, struct, or union type"
+-msgstr "\"%T\" no és de tipus classe, struct o union"
+-
+-#: cp/pt.c:9271
+-#, gcc-internal-format
+-msgid "%qT resolves to %qT, which is not an enumeration type"
+-msgstr ""
+-
+-#: cp/pt.c:9274
+-#, fuzzy, gcc-internal-format
+-msgid "%qT resolves to %qT, which is is not a class type"
+-msgstr "inicialitzador sense nom per a \"%T\", el qual no té una classe base"
+-
+-#: cp/pt.c:9375
+-#, fuzzy, gcc-internal-format
+-msgid "use of %qs in template"
+-msgstr "ús de \"%s\" en el patró"
+-
+-#: cp/pt.c:9512
+-#, fuzzy, gcc-internal-format
+-msgid "dependent-name %qE is parsed as a non-type, but instantiation yields a type"
+-msgstr "s'usa \"%D\" com un tipus, però no està definit com un tipus."
+-
+-#: cp/pt.c:9514
+-#, fuzzy, gcc-internal-format
+-msgid "say %<typename %E%> if a type is meant"
+-msgstr " (usi \"typename %T::%D\" si això és el que volia)"
+-
+-#: cp/pt.c:9643
+-#, fuzzy, gcc-internal-format
+-msgid "using invalid field %qD"
+-msgstr "%s: nom de fitxer no vàlid: %s\n"
+-
+-#: cp/pt.c:9952 cp/pt.c:10432
+-#, fuzzy, gcc-internal-format
+-msgid "invalid use of pack expansion expression"
+-msgstr "ús no vàlid de l'expressió void"
+-
+-#: cp/pt.c:9956 cp/pt.c:10436
+-#, gcc-internal-format
+-msgid "use %<...%> to expand argument pack"
+-msgstr ""
+-
+-#: cp/pt.c:10594
+-#, gcc-internal-format
+-msgid "a cast to a type other than an integral or enumeration type cannot appear in a constant-expression"
+-msgstr ""
+-
+-#: cp/pt.c:11052
+-#, fuzzy, gcc-internal-format
+-msgid "%qT is not a class or namespace"
+-msgstr "\"%T\" no és un nom d'espai"
+-
+-#: cp/pt.c:11055
+-#, fuzzy, gcc-internal-format
+-msgid "%qD is not a class or namespace"
+-msgstr "\"%D\" no és un nom d'espai"
+-
+-#: cp/pt.c:11265
+-#, fuzzy, gcc-internal-format
+-msgid "%qT is/uses anonymous type"
+-msgstr "l'argument de patró \"%T\" usa un tipus anònim"
+-
+-#: cp/pt.c:11267
+-#, fuzzy, gcc-internal-format
+-msgid "template argument for %qD uses local type %qT"
+-msgstr "l'argument per omissió de \"%#D\" té tipus \"%T\""
+-
+-#: cp/pt.c:11277
+-#, fuzzy, gcc-internal-format
+-msgid "%qT is a variably modified type"
+-msgstr "l'argument de patró \"%T\" és un tipus modificat variablement"
+-
+-#: cp/pt.c:11288
+-#, fuzzy, gcc-internal-format
+-msgid "integral expression %qE is not constant"
+-msgstr "la grandària d'emmagatzematge de \"%D\" no és constant"
+-
+-#: cp/pt.c:11293
+-#, fuzzy, gcc-internal-format
+-msgid " trying to instantiate %qD"
+-msgstr " tractant d'instanciar \"%D\""
+-
+-#: cp/pt.c:13959
+-#, fuzzy, gcc-internal-format
+-msgid "ambiguous class template instantiation for %q#T"
+-msgstr "instanciació de patró classe ambigua per a \"%#T\""
+-
+-#: cp/pt.c:13962
+-#, gcc-internal-format
+-msgid "%s %+#T"
+-msgstr "%s %+#T"
+-
+-#: cp/pt.c:13985 cp/pt.c:14068
+-#, fuzzy, gcc-internal-format
+-msgid "explicit instantiation of non-template %q#D"
+-msgstr "instanciació explícita de \"%#D\" que no és patró"
+-
+-#: cp/pt.c:14000
+-#, fuzzy, gcc-internal-format
+-msgid "%qD is not a static data member of a class template"
+-msgstr "\"%#D\" no és un membre static de \"%#T\""
+-
+-#: cp/pt.c:14006 cp/pt.c:14063
+-#, fuzzy, gcc-internal-format
+-msgid "no matching template for %qD found"
+-msgstr "no es troba una patró coincident per a \"%D\""
+-
+-#: cp/pt.c:14011
+-#, fuzzy, gcc-internal-format
+-msgid "type %qT for explicit instantiation %qD does not match declared type %qT"
+-msgstr "instanciació explícita del tipus \"%T\" del tipus no-patró"
+-
+-#: cp/pt.c:14019
+-#, fuzzy, gcc-internal-format
+-msgid "explicit instantiation of %q#D"
+-msgstr "instanciació explícita de \"%#D\""
+-
+-#: cp/pt.c:14055
+-#, fuzzy, gcc-internal-format
+-msgid "duplicate explicit instantiation of %q#D"
+-msgstr "instanciació explícita duplicada de \"%#D\""
+-
+-#: cp/pt.c:14077
+-#, fuzzy, gcc-internal-format
+-msgid "ISO C++ forbids the use of %<extern%> on explicit instantiations"
+-msgstr "ISO C++ prohibeix l'ús de \"extern\" en instanciacions explícites"
+-
+-#: cp/pt.c:14082 cp/pt.c:14175
+-#, fuzzy, gcc-internal-format
+-msgid "storage class %qD applied to template instantiation"
+-msgstr "classe d'emmagatzematge \"%D\" aplicada a la instanciació d'un patró"
+-
+-#: cp/pt.c:14147
+-#, fuzzy, gcc-internal-format
+-msgid "explicit instantiation of non-template type %qT"
+-msgstr "instanciació explícita del tipus \"%T\" del tipus no-patró"
+-
+-#: cp/pt.c:14156
+-#, fuzzy, gcc-internal-format
+-msgid "explicit instantiation of %q#T before definition of template"
+-msgstr "instanciació explícita de \"%#T\" abans de la definició del patró"
+-
+-#: cp/pt.c:14164
+-#, fuzzy, gcc-internal-format
+-msgid "ISO C++ forbids the use of %qE on explicit instantiations"
+-msgstr "ISO C++ prohibeix l'ús de \"%s\" en les instanciacions explícites"
+-
+-#: cp/pt.c:14209
+-#, fuzzy, gcc-internal-format
+-msgid "duplicate explicit instantiation of %q#T"
+-msgstr "instanciació explícita duplicada de \"%#T\""
+-
+-#: cp/pt.c:14657
+-#, fuzzy, gcc-internal-format
+-msgid "explicit instantiation of %qD but no definition available"
+-msgstr "instanciació explícita de \"%D\" però no hi ha una definició disponible"
+-
+-#: cp/pt.c:14851
+-#, 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)"
+-msgstr "la profunditat d'instanciació del patró excedeix el màxim de %d (usi -ftemplate-depth-NN per a incrementar el màxim) al instanciar \"%D\""
+-
+-#: cp/pt.c:15193
+-#, fuzzy, gcc-internal-format
+-msgid "%q#T is not a valid type for a template constant parameter"
+-msgstr "\"%#T\" no és un tipus vàlid per a un paràmetre constant de patró"
+-
+-#: cp/repo.c:111
+-#, gcc-internal-format
+-msgid "-frepo must be used with -c"
+-msgstr "-frepo ha de ser usat amb -c"
+-
+-#: cp/repo.c:200
+-#, gcc-internal-format
+-msgid "mysterious repository information in %s"
+-msgstr "informació de \"repository\" misteriosa en %s"
+-
+-#: cp/repo.c:218
+-#, fuzzy, gcc-internal-format
+-msgid "can't create repository information file %qs"
+-msgstr "no es pot crear el fitxer d'informació de \"repository\" \"%s\""
+-
+-#: cp/rtti.c:271
+-#, gcc-internal-format
+-msgid "cannot use typeid with -fno-rtti"
+-msgstr "no es pot usar typeid sense -fno-rtti"
+-
+-#: cp/rtti.c:277
+-#, gcc-internal-format
+-msgid "must #include <typeinfo> before using typeid"
+-msgstr "ha de fer #include <typeinfo> abans d'usar typeid"
+-
+-#: cp/rtti.c:360
+-#, fuzzy, gcc-internal-format
+-msgid "cannot create type information for type %qT because it involves types of variable size"
+-msgstr "no es pot crear la informació de tipus per al tipus \"%T\" perquè la seva grandària és variable"
+-
+-#: cp/rtti.c:615 cp/rtti.c:629
+-#, fuzzy, gcc-internal-format
+-msgid "dynamic_cast of %q#D to %q#T can never succeed"
+-msgstr "dynamic_cast de \"%#D\" a \"%#T\" mai podrà tenir èxit"
+-
+-#: cp/rtti.c:639
+-#, fuzzy, gcc-internal-format
+-msgid "%<dynamic_cast%> not permitted with -fno-rtti"
+-msgstr "no es pot usar typeid sense -fno-rtti"
+-
+-#: cp/rtti.c:716
+-#, fuzzy, gcc-internal-format
+-msgid "cannot dynamic_cast %qE (of type %q#T) to type %q#T (%s)"
+-msgstr "no es pot fer dynamic_cast \"%E\" (de tipus \"%#T\") al tipus \"%#T\" (%s)"
+-
+-#: cp/search.c:257
+-#, fuzzy, gcc-internal-format
+-msgid "%qT is an ambiguous base of %qT"
+-msgstr "\"%T\" és una base ambigua de \"%T\""
+-
+-#: cp/search.c:275
+-#, fuzzy, gcc-internal-format
+-msgid "%qT is an inaccessible base of %qT"
+-msgstr "\"%T\" és una base inaccessible de \"%T\""
+-
+-#: cp/search.c:1868
+-#, fuzzy, gcc-internal-format
+-msgid "deprecated covariant return type for %q+#D"
+-msgstr "tipus de retorn covariant no vàlid per a \"%#D\""
+-
+-#: cp/search.c:1870 cp/search.c:1885 cp/search.c:1890 cp/search.c:1909
+-#, fuzzy, gcc-internal-format
+-msgid " overriding %q+#D"
+-msgstr " substituint \"%#D\""
+-
+-#: cp/search.c:1884
+-#, fuzzy, gcc-internal-format
+-msgid "invalid covariant return type for %q+#D"
+-msgstr "tipus de retorn covariant no vàlid per a \"%#D\""
+-
+-#: cp/search.c:1889
+-#, fuzzy, gcc-internal-format
+-msgid "conflicting return type specified for %q+#D"
+-msgstr "tipus de retorn en conflicte especificats per a \"%#D\""
+-
+-#: cp/search.c:1899
+-#, fuzzy, gcc-internal-format
+-msgid "looser throw specifier for %q+#F"
+-msgstr "especificador thrown més flexible per a \"%#F\""
+-
+-#: cp/search.c:1900
+-#, fuzzy, gcc-internal-format
+-msgid " overriding %q+#F"
+-msgstr " substituint \"%#F\""
+-
+-#: cp/search.c:1908
+-#, fuzzy, gcc-internal-format
+-msgid "conflicting type attributes specified for %q+#D"
+-msgstr "tipus de retorn en conflicte especificats per a \"%#D\""
+-
+-#. A static member function cannot match an inherited
+-#. virtual member function.
+-#: cp/search.c:2002
+-#, fuzzy, gcc-internal-format
+-msgid "%q+#D cannot be declared"
+-msgstr "\"%#D\" no pot ser declarat"
+-
+-#: cp/search.c:2003
+-#, fuzzy, gcc-internal-format
+-msgid " since %q+#D declared in base class"
+-msgstr " ja que es va declarar \"%#D\" en la classe base"
+-
+-#: cp/semantics.c:762
+-#, fuzzy, gcc-internal-format
+-msgid "suggest explicit braces around empty body in %<do%> statement"
+-msgstr "%Hsuggereix parèntesis explícits per evitar \"else\" ambigu"
+-
+-#: cp/semantics.c:1290
+-#, fuzzy, gcc-internal-format
+-msgid "type of asm operand %qE could not be determined"
+-msgstr "no es pot determinar el tipus de l'operand asm \"%E\""
+-
+-#: cp/semantics.c:1346
+-#, gcc-internal-format
+-msgid "__label__ declarations are only allowed in function scopes"
+-msgstr ""
+-
+-#: cp/semantics.c:1433
+-#, fuzzy, gcc-internal-format
+-msgid "invalid use of member %q+D in static member function"
+-msgstr "ús no vàlid del membre \"%D\" en la funció membre static"
+-
+-#: cp/semantics.c:1435
+-#, fuzzy, gcc-internal-format
+-msgid "invalid use of non-static data member %q+D"
+-msgstr "ús no vàlid del camp no static \"%D\""
+-
+-#: cp/semantics.c:1436 cp/semantics.c:1475
+-#, gcc-internal-format
+-msgid "from this location"
+-msgstr ""
+-
+-#: cp/semantics.c:1474
+-#, fuzzy, gcc-internal-format
+-msgid "object missing in reference to %q+D"
+-msgstr "falta un objecte en \"%E\""
+-
+-#: cp/semantics.c:1928
+-#, fuzzy, gcc-internal-format
+-msgid "arguments to destructor are not allowed"
+-msgstr "l'argument per a l'atribut \"%s\" és més gran que %d"
+-
+-#: cp/semantics.c:1978
+-#, fuzzy, gcc-internal-format
+-msgid "%<this%> is unavailable for static member functions"
+-msgstr "\"this\" no està disponible per a funcions membre static"
+-
+-#: cp/semantics.c:1984
+-#, fuzzy, gcc-internal-format
+-msgid "invalid use of %<this%> in non-member function"
+-msgstr "ús no vàlid de \"this\" en la funció no membre"
+-
+-#: cp/semantics.c:1986
+-#, fuzzy, gcc-internal-format
+-msgid "invalid use of %<this%> at top level"
+-msgstr "ús no vàlid de \"this\" en el nivell principal"
+-
+-#: cp/semantics.c:2010
+-#, fuzzy, gcc-internal-format
+-msgid "invalid qualifying scope in pseudo-destructor name"
+-msgstr "qualificadors no vàlids en el tipus de funció no membre"
+-
+-#: cp/semantics.c:2015 cp/typeck.c:2004
+-#, fuzzy, gcc-internal-format
+-msgid "qualified type %qT does not match destructor name ~%qT"
+-msgstr "el tipus qualificat \"%T\" no coincideix amb el nom del destructor \"~%T\""
+-
+-#: cp/semantics.c:2037
+-#, fuzzy, gcc-internal-format
+-msgid "%qE is not of type %qT"
+-msgstr "\"%E\" no és de tipus \"%T\""
+-
+-#: cp/semantics.c:2081
+-#, gcc-internal-format
+-msgid "compound literal of non-object type %qT"
+-msgstr ""
+-
+-#: cp/semantics.c:2158
+-#, fuzzy, gcc-internal-format
+-msgid "template type parameters must use the keyword %<class%> or %<typename%>"
+-msgstr "els paràmetres de tipus patró ha d'usar la paraula clau \"class\" o \"typename\""
+-
+-#: cp/semantics.c:2195
+-#, fuzzy, gcc-internal-format
+-msgid "invalid use of type %qT as a default value for a template template-parameter"
+-msgstr "\"%#T\" no és un tipus vàlid per a un paràmetre constant de patró"
+-
+-#: cp/semantics.c:2198
+-#, fuzzy, gcc-internal-format
+-msgid "invalid default argument for a template template parameter"
+-msgstr "\"%#T\" no és un tipus vàlid per a un paràmetre constant de patró"
+-
+-#: cp/semantics.c:2215
+-#, fuzzy, gcc-internal-format
+-msgid "definition of %q#T inside template parameter list"
+-msgstr "definició de \"%#T\" dintre d'una llista de paràmetres de patró"
+-
+-#: cp/semantics.c:2226
+-#, fuzzy, gcc-internal-format
+-msgid "invalid definition of qualified type %qT"
+-msgstr "definició no vàlida del tipus qualificat \"%T\""
+-
+-#: cp/semantics.c:2437
+-#, gcc-internal-format
+-msgid "invalid base-class specification"
+-msgstr "especificació de classe base no vàlida"
+-
+-#: cp/semantics.c:2446
+-#, fuzzy, gcc-internal-format
+-msgid "base class %qT has cv qualifiers"
+-msgstr "la classe base \"%T\" té qualificadors cv"
+-
+-#: cp/semantics.c:2468
+-#, fuzzy, gcc-internal-format
+-msgid "incomplete type %qT used in nested name specifier"
+-msgstr "el tipus incomplet \"%T\" no es pot utilitzar per a nomenar un àmbit"
+-
+-#: cp/semantics.c:2471
+-#, fuzzy, gcc-internal-format
+-msgid "reference to %<%T::%D%> is ambiguous"
+-msgstr "l'ús de \"%D\" és ambigu"
+-
+-#: cp/semantics.c:2475 cp/typeck.c:1813
+-#, fuzzy, gcc-internal-format
+-msgid "%qD is not a member of %qT"
+-msgstr "\"%D\" no és un membre de \"%T\""
+-
+-#: cp/semantics.c:2478
+-#, fuzzy, gcc-internal-format
+-msgid "%qD is not a member of %qD"
+-msgstr "\"%D\" no és un membre de \"%T\""
+-
+-#: cp/semantics.c:2480
+-#, fuzzy, gcc-internal-format
+-msgid "%<::%D%> has not been declared"
+-msgstr "\"%#D\" no pot ser declarat"
+-
+-#: cp/semantics.c:2621
+-#, fuzzy, gcc-internal-format
+-msgid "use of %<auto%> variable from containing function"
+-msgstr "ús de %s des d'una funció contenidora"
+-
+-#: cp/semantics.c:2623
+-#, fuzzy, gcc-internal-format
+-msgid " %q+#D declared here"
+-msgstr " \"%#D\" declarat aquí"
+-
+-#: cp/semantics.c:2661
+-#, gcc-internal-format
+-msgid "template parameter %qD of type %qT is not allowed in an integral constant expression because it is not of integral or enumeration type"
+-msgstr ""
+-
+-#: cp/semantics.c:2830
+-#, fuzzy, gcc-internal-format
+-msgid "%qD cannot appear in a constant-expression"
+-msgstr "la grandària de la matriu \"%D\" no és una expressió constant integral"
+-
+-#: cp/semantics.c:2838
+-#, fuzzy, gcc-internal-format
+-msgid "use of namespace %qD as expression"
+-msgstr "ús de l'espai de noms \"%D\" com una expressió"
+-
+-#: cp/semantics.c:2843
+-#, fuzzy, gcc-internal-format
+-msgid "use of class template %qT as expression"
+-msgstr "ús de la plantilla de classe \"%T\" com una expressió"
+-
+-#. Ambiguous reference to base members.
+-#: cp/semantics.c:2849
+-#, fuzzy, gcc-internal-format
+-msgid "request for member %qD is ambiguous in multiple inheritance lattice"
+-msgstr "la petició pel membre \"%D\" és ambigua en la xarxa d'herència múltiple"
+-
+-#: cp/semantics.c:2970 cp/semantics.c:4210
+-#, fuzzy, gcc-internal-format
+-msgid "type of %qE is unknown"
+-msgstr "el tipus de \"%E\" és desconegut"
+-
+-#: cp/semantics.c:2985
+-#, gcc-internal-format
+-msgid "cannot apply %<offsetof%> to destructor %<~%T%>"
+-msgstr ""
+-
+-#: cp/semantics.c:2996
+-#, fuzzy, gcc-internal-format
+-msgid "cannot apply %<offsetof%> to member function %qD"
+-msgstr "ús no vàlid del camp no static \"%D\""
+-
+-#: cp/semantics.c:3349
+-#, fuzzy, gcc-internal-format
+-msgid "%qD is not a variable in clause %qs"
+-msgstr "\"%s\" no és un nom de fitxer vàlid"
+-
+-#: cp/semantics.c:3358
+-#, gcc-internal-format
+-msgid "%qD appears more than once in data clauses"
+-msgstr ""
+-
+-#: cp/semantics.c:3418
+-#, gcc-internal-format
+-msgid "num_threads expression must be integral"
+-msgstr ""
+-
+-#: cp/semantics.c:3432
+-#, gcc-internal-format
+-msgid "schedule chunk size expression must be integral"
+-msgstr ""
+-
+-#: cp/semantics.c:3562
+-#, fuzzy, gcc-internal-format
+-msgid "%qE has reference type for %qs"
+-msgstr "formant %s per a referenciar al tipus \"%T\""
+-
+-#: cp/semantics.c:3724
+-#, gcc-internal-format
+-msgid "%<threadprivate%> %qE is not file, namespace or block scope variable"
+-msgstr ""
+-
+-#. Report the error.
+-#: cp/semantics.c:4033
+-#, gcc-internal-format
+-msgid "static assertion failed: %E"
+-msgstr ""
+-
+-#: cp/semantics.c:4035
+-#, fuzzy, gcc-internal-format
+-msgid "non-constant condition for static assertion"
+-msgstr "%Jdeclaració \"non-static\" de \"%D\" a continuació d'una declaració \"static\""
+-
+-#: cp/semantics.c:4097
+-#, fuzzy, gcc-internal-format
+-msgid "%qE refers to a set of overloaded functions"
+-msgstr "%s no es pot resoldre l'adreça de la funció sobrecarregada"
+-
+-#: cp/semantics.c:4145
+-#, fuzzy, gcc-internal-format
+-msgid "argument to decltype must be an expression"
+-msgstr "ús de la plantilla de classe \"%T\" com una expressió"
+-
+-#: cp/semantics.c:4366
+-#, gcc-internal-format
+-msgid "__is_convertible_to"
+-msgstr ""
+-
+-#: cp/semantics.c:4395
+-#, fuzzy, gcc-internal-format
+-msgid "incomplete type %qT not allowed"
+-msgstr "unificació de tipus incomplet"
+-
+-#: cp/tree.c:829
+-#, fuzzy, gcc-internal-format
+-msgid "%qV qualifiers cannot be applied to %qT"
+-msgstr "els qualificadors \"%V\" no es poden aplicar a \"%T\""
+-
+-#: cp/tree.c:2134
+-#, fuzzy, gcc-internal-format
+-msgid "%qE attribute can only be applied to Java class definitions"
+-msgstr "l'atribut \"%s\" només es pot aplicar a definicions de classes Java"
+-
+-#: cp/tree.c:2163
+-#, fuzzy, gcc-internal-format
+-msgid "%qE attribute can only be applied to class definitions"
+-msgstr "l'atribut \"%s\" sol es pot aplicar a definicions de classe"
+-
+-#: cp/tree.c:2169
+-#, fuzzy, gcc-internal-format
+-msgid "%qE is obsolete; g++ vtables are now COM-compatible by default"
+-msgstr "\"%s\" és obsolet; les vtables de g++ ara són compatibles amb COM per omissió"
+-
+-#: cp/tree.c:2193
+-#, gcc-internal-format
+-msgid "requested init_priority is not an integer constant"
+-msgstr "la init_priority sol·licitada no és una constant entera"
+-
+-#: cp/tree.c:2214
+-#, fuzzy, gcc-internal-format
+-msgid "can only use %qE attribute on file-scope definitions of objects of class type"
+-msgstr "sol es pot usar l'atribut \"%s\" en definicions de rang de fitxer d'objectes de tipus class"
+-
+-#: cp/tree.c:2222
+-#, gcc-internal-format
+-msgid "requested init_priority is out of range"
+-msgstr "la init_priority sol·licitada està fora de límits"
+-
+-#: cp/tree.c:2232
+-#, gcc-internal-format
+-msgid "requested init_priority is reserved for internal use"
+-msgstr "la init_priority sol·licitada està reservada per a ús intern"
+-
+-#: cp/tree.c:2243
+-#, fuzzy, gcc-internal-format
+-msgid "%qE attribute is not supported on this platform"
+-msgstr "l'atribut \"%s\" no té suport en aquesta plataforma"
+-
+-#: cp/typeck.c:431 cp/typeck.c:445 cp/typeck.c:545
+-#, fuzzy, gcc-internal-format
+-msgid "%s between distinct pointer types %qT and %qT lacks a cast"
+-msgstr "%s entre diferents tipus de punter \"%T\" i \"%T\" manca d'una conversió"
+-
+-#: cp/typeck.c:507
+-#, fuzzy, gcc-internal-format
+-msgid "ISO C++ forbids %s between pointer of type %<void *%> and pointer-to-function"
+-msgstr "ISO C++ prohibeix %s entre punters de tipus \"void *\" i punters a funcions"
+-
+-#: cp/typeck.c:565
+-#, fuzzy, gcc-internal-format
+-msgid "%s between distinct pointer-to-member types %qT and %qT lacks a cast"
+-msgstr "%s entre diferents tipus de punter \"%T\" i \"%T\" manca d'una conversió"
+-
+-#: cp/typeck.c:1129
+-#, gcc-internal-format
+-msgid "canonical types differ for identical types %T and %T"
+-msgstr ""
+-
+-#: cp/typeck.c:1136
+-#, gcc-internal-format
+-msgid "same canonical type node for different types %T and %T"
+-msgstr ""
+-
+-#: cp/typeck.c:1248
+-#, fuzzy, gcc-internal-format
+-msgid "invalid application of %qs to a member function"
+-msgstr "aplicació no vàlida de \"%s\" a una funció membre"
+-
+-#: cp/typeck.c:1298
+-#, fuzzy, gcc-internal-format
+-msgid "invalid application of %<sizeof%> to a bit-field"
+-msgstr "applicació no vàlida de \"%s\" a un tipus void"
+-
+-#: cp/typeck.c:1303
+-#, fuzzy, gcc-internal-format
+-msgid "ISO C++ forbids applying %<sizeof%> to an expression of function type"
+-msgstr "ISO C++ prohibeix l'aplicació de \"sizeof\" a una expressió de tipus de funció"
+-
+-#: cp/typeck.c:1346
+-#, fuzzy, gcc-internal-format
+-msgid "invalid application of %<__alignof%> to a bit-field"
+-msgstr "applicació no vàlida de \"%s\" a un tipus void"
+-
+-#: cp/typeck.c:1354
+-#, fuzzy, gcc-internal-format
+-msgid "ISO C++ forbids applying %<__alignof%> to an expression of function type"
+-msgstr "ISO C++ prohibeix l'aplicació de \"sizeof\" a una expressió de tipus de funció"
+-
+-#: cp/typeck.c:1405
+-#, fuzzy, gcc-internal-format
+-msgid "invalid use of non-static member function"
+-msgstr "ús no vàlid del membre \"%D\" en la funció membre static"
+-
+-#: cp/typeck.c:1669
+-#, fuzzy, gcc-internal-format
+-msgid "deprecated conversion from string constant to %qT"
+-msgstr "conversió obsoleta d'una constant de cadena a \"%T\""
+-
+-#: cp/typeck.c:1784 cp/typeck.c:2132
+-#, fuzzy, gcc-internal-format
+-msgid "request for member %qD in %qE, which is of non-class type %qT"
+-msgstr "sol·licitud pel membre \"%D\" en \"%E\", el qual és del tipus no agregat \"%T\""
+-
+-#: cp/typeck.c:1811
+-#, fuzzy, gcc-internal-format
+-msgid "invalid use of nonstatic data member %qE"
+-msgstr "ús no vàlid del camp no static \"%D\""
+-
+-#: cp/typeck.c:1863 cp/typeck.c:1891
+-#, fuzzy, gcc-internal-format
+-msgid "invalid access to non-static data member %qD of NULL object"
+-msgstr "accés no vàlid a dades del membre que no és static \"%D\" de l'objecte NULL"
+-
+-#: cp/typeck.c:1866 cp/typeck.c:1893
+-#, gcc-internal-format
+-msgid "(perhaps the %<offsetof%> macro was used incorrectly)"
+-msgstr ""
+-
+-#: cp/typeck.c:2010
+-#, gcc-internal-format
+-msgid "the type being destroyed is %qT, but the destructor refers to %qT"
+-msgstr ""
+-
+-#: cp/typeck.c:2049 cp/typeck.c:2069
+-#, fuzzy, gcc-internal-format
+-msgid "%qD is not a template"
+-msgstr "\"%T\" no és un patró"
+-
+-#: cp/typeck.c:2170
+-#, fuzzy, gcc-internal-format
+-msgid "%<%D::%D%> is not a member of %qT"
+-msgstr "\"%D::%D\" no és un membre de \"%T\""
+-
+-#: cp/typeck.c:2185
+-#, fuzzy, gcc-internal-format
+-msgid "%qT is not a base of %qT"
+-msgstr "\"%T\" no és una base de \"%T\""
+-
+-#: cp/typeck.c:2204
+-#, fuzzy, gcc-internal-format
+-msgid "%qD has no member named %qE"
+-msgstr "\"%D\" no té un membre cridat \"%E\""
+-
+-#: cp/typeck.c:2219
+-#, fuzzy, gcc-internal-format
+-msgid "%qD is not a member template function"
+-msgstr "\"%D\" no és una funció patró membre"
+-
+-#. A pointer to incomplete type (other than cv void) can be
+-#. dereferenced [expr.unary.op]/1
+-#: cp/typeck.c:2352
+-#, fuzzy, gcc-internal-format
+-msgid "%qT is not a pointer-to-object type"
+-msgstr "\"%T\" no és de tipus punter-a-objecte"
+-
+-#: cp/typeck.c:2377
+-#, fuzzy, gcc-internal-format
+-msgid "invalid use of %qs on pointer to member"
+-msgstr "ús no vàlid de \"%s\" en punter a membre"
+-
+-#: cp/typeck.c:2381
+-#, fuzzy, gcc-internal-format
+-msgid "invalid type argument of %qs"
+-msgstr "argument de tipus no vàlid de \"%s\""
+-
+-#: cp/typeck.c:2383
+-#, gcc-internal-format
+-msgid "invalid type argument"
+-msgstr "argument de tipus no vàlid"
+-
+-#: cp/typeck.c:2406
+-#, gcc-internal-format
+-msgid "subscript missing in array reference"
+-msgstr "falta subindici en la referència de la matriu"
+-
+-#: cp/typeck.c:2480
+-#, gcc-internal-format
+-msgid "ISO C++ forbids subscripting non-lvalue array"
+-msgstr "ISO C++ prohibeix el subindici d'una matriu de l-valors"
+-
+-#: cp/typeck.c:2491
+-#, fuzzy, gcc-internal-format
+-msgid "subscripting array declared %<register%>"
+-msgstr "es va declarar el subindici de la matriu com \"register\""
+-
+-#: cp/typeck.c:2576
+-#, fuzzy, gcc-internal-format
+-msgid "object missing in use of %qE"
+-msgstr "falta un objecte en \"%E\""
+-
+-#: cp/typeck.c:2693
+-#, fuzzy, gcc-internal-format
+-msgid "ISO C++ forbids calling %<::main%> from within program"
+-msgstr "ISO C++ prohibeix la crida \"::main\" dintre del mateix programa"
+-
+-#: cp/typeck.c:2718
+-#, fuzzy, gcc-internal-format
+-msgid "must use %<.*%> or %<->*%> to call pointer-to-member function in %<%E (...)%>"
+-msgstr "es ha d'usar .* o ->* en la crida a la funció punter-a-membre en \"%E (...)\""
+-
+-#: cp/typeck.c:2732
+-#, fuzzy, gcc-internal-format
+-msgid "%qE cannot be used as a function"
+-msgstr "no es pot usar \"%E\" com una funció"
+-
+-#: cp/typeck.c:2822
+-#, fuzzy, gcc-internal-format
+-msgid "too many arguments to %s %q+#D"
+-msgstr "massa arguments per a %s \"%+#D\""
+-
+-#: cp/typeck.c:2823 cp/typeck.c:2927
+-#, gcc-internal-format
+-msgid "at this point in file"
+-msgstr "en aquest punt en el fitxer"
+-
+-#: cp/typeck.c:2826
+-#, gcc-internal-format
+-msgid "too many arguments to function"
+-msgstr "massa arguments per a la funció"
+-
+-#: cp/typeck.c:2856
+-#, fuzzy, gcc-internal-format
+-msgid "parameter %P of %qD has incomplete type %qT"
+-msgstr "el paràmetre \"%s\" té tipus de dada incompleta"
+-
+-#: cp/typeck.c:2859
+-#, fuzzy, gcc-internal-format
+-msgid "parameter %P has incomplete type %qT"
+-msgstr "el paràmetre té tipus incomplet"
+-
+-#: cp/typeck.c:2926
+-#, fuzzy, gcc-internal-format
+-msgid "too few arguments to %s %q+#D"
+-msgstr "molt pocs arguments per a %s \"%+#D\""
+-
+-#: cp/typeck.c:2930
+-#, gcc-internal-format
+-msgid "too few arguments to function"
+-msgstr "molt pocs arguments per a la funció"
+-
+-#: cp/typeck.c:3098 cp/typeck.c:3108
+-#, fuzzy, gcc-internal-format
+-msgid "assuming cast to type %qT from overloaded function"
+-msgstr "assumint la conversió al tipus \"%T\" des de la funció sobrecarregada"
+-
+-#: cp/typeck.c:3306
+-#, fuzzy, gcc-internal-format
+-msgid "left rotate count is negative"
+-msgstr "el compte de rotació %s és negatiu"
+-
+-#: cp/typeck.c:3307
+-#, fuzzy, gcc-internal-format
+-msgid "right rotate count is negative"
+-msgstr "el compte de rotació %s és negatiu"
+-
+-#: cp/typeck.c:3310
+-#, fuzzy, gcc-internal-format
+-msgid "left rotate count >= width of type"
+-msgstr "el compte de rotació %s >= amplària del tipus"
+-
+-#: cp/typeck.c:3311
+-#, fuzzy, gcc-internal-format
+-msgid "right rotate count >= width of type"
+-msgstr "el compte de rotació %s >= amplària del tipus"
+-
+-#: cp/typeck.c:3327 cp/typeck.c:3502
+-#, fuzzy, gcc-internal-format
+-msgid "comparison with string literal results in unspecified behaviour"
+-msgstr "la declaració feble de \"%s\" després del primer ús resulta en una conducta no especificada"
+-
+-#: cp/typeck.c:3360 cp/typeck.c:3365 cp/typeck.c:3520 cp/typeck.c:3525
+-#, gcc-internal-format
+-msgid "ISO C++ forbids comparison between pointer and integer"
+-msgstr "ISO C++ prohibeix la comparança entre punters i enters"
+-
+-#: cp/typeck.c:3539
+-#, gcc-internal-format
+-msgid "unordered comparison on non-floating point argument"
+-msgstr "comparança sense ordre en argument de coma no flotant"
+-
+-#: cp/typeck.c:3577
+-#, fuzzy, gcc-internal-format
+-msgid "invalid operands of types %qT and %qT to binary %qO"
+-msgstr "operadors no vàlids de tipus \"%T\" i \"%T\" per al binari \"%O\""
+-
+-#: cp/typeck.c:3749
+-#, fuzzy, gcc-internal-format
+-msgid "comparison between types %q#T and %q#T"
+-msgstr "comparança entre els tipus \"%#T\" i \"%#T\""
+-
+-#: cp/typeck.c:3786
+-#, gcc-internal-format
+-msgid "comparison between signed and unsigned integer expressions"
+-msgstr "comparança entre expressions enteres signed i unsigned"
+-
+-#. Some sort of arithmetic operation involving NULL was
+-#. performed. Note that pointer-difference and pointer-addition
+-#. have already been handled above, and so we don't end up here in
+-#. that case.
+-#: cp/typeck.c:3858
+-#, gcc-internal-format
+-msgid "NULL used in arithmetic"
+-msgstr "es va usar NULL en l'aritmètica"
+-
+-#: cp/typeck.c:3927
+-#, fuzzy, gcc-internal-format
+-msgid "ISO C++ forbids using pointer of type %<void *%> in subtraction"
+-msgstr "ISO C++ prohibeix l'ús d'un punter de tipus \"void *\" en la substracció"
+-
+-#: cp/typeck.c:3929
+-#, gcc-internal-format
+-msgid "ISO C++ forbids using pointer to a function in subtraction"
+-msgstr "ISO C++ prohibeix l'ús d'un punter a una funció en la substracció"
+-
+-#: cp/typeck.c:3931
+-#, gcc-internal-format
+-msgid "ISO C++ forbids using pointer to a method in subtraction"
+-msgstr "ISO C++ prohibeix l'ús d'un punter a un mètode en la substracció"
+-
+-#: cp/typeck.c:3943
+-#, gcc-internal-format
+-msgid "invalid use of a pointer to an incomplete type in pointer arithmetic"
+-msgstr "ús no vàlid d'un punter a un tipus incomplet en aritmètica de punters"
+-
+-#: cp/typeck.c:4003
+-#, fuzzy, gcc-internal-format
+-msgid "invalid use of %qE to form a pointer-to-member-function"
+-msgstr "ús no vàlid de \"%s\" en punter a membre"
+-
+-#: cp/typeck.c:4006
+-#, gcc-internal-format
+-msgid " a qualified-id is required"
+-msgstr ""
+-
+-#: cp/typeck.c:4011
+-#, fuzzy, gcc-internal-format
+-msgid "parentheses around %qE cannot be used to form a pointer-to-member-function"
+-msgstr "avisar quan el tipus converteix punters a funcions membre"
+-
+-#: cp/typeck.c:4034
+-#, gcc-internal-format
+-msgid "taking address of temporary"
+-msgstr "prenent l'adreça del temporal"
+-
+-#: cp/typeck.c:4287
+-#, fuzzy, gcc-internal-format
+-msgid "ISO C++ forbids incrementing an enum"
+-msgstr "ISO C++ prohibeix %sing un enum"
+-
+-#: cp/typeck.c:4288
+-#, fuzzy, gcc-internal-format
+-msgid "ISO C++ forbids decrementing an enum"
+-msgstr "ISO C++ prohibeix %sing un enum"
+-
+-#: cp/typeck.c:4299
+-#, fuzzy, gcc-internal-format
+-msgid "cannot increment a pointer to incomplete type %qT"
+-msgstr "no es pot %s un punter a un tipus incomplet \"%T\""
+-
+-#: cp/typeck.c:4300
+-#, fuzzy, gcc-internal-format
+-msgid "cannot decrement a pointer to incomplete type %qT"
+-msgstr "no es pot %s un punter a un tipus incomplet \"%T\""
+-
+-#: cp/typeck.c:4306
+-#, fuzzy, gcc-internal-format
+-msgid "ISO C++ forbids incrementing a pointer of type %qT"
+-msgstr "ISO C++ prohibeix %sing un punter de tipus \"%T\""
+-
+-#: cp/typeck.c:4307
+-#, fuzzy, gcc-internal-format
+-msgid "ISO C++ forbids decrementing a pointer of type %qT"
+-msgstr "ISO C++ prohibeix %sing un punter de tipus \"%T\""
+-
+-#: cp/typeck.c:4327
+-#, fuzzy, gcc-internal-format
+-msgid "invalid use of Boolean expression as operand to %<operator--%>"
+-msgstr "expressió no vàlida com a operand"
+-
+-#. ARM $3.4
+-#: cp/typeck.c:4357
+-#, fuzzy, gcc-internal-format
+-msgid "ISO C++ forbids taking address of function %<::main%>"
+-msgstr "ISO C++ prohibeix prendre l'adreça de la funció \"::main\""
+-
+-#. An expression like &memfn.
+-#: cp/typeck.c:4413
+-#, fuzzy, gcc-internal-format
+-msgid "ISO C++ forbids taking the address of an unqualified or parenthesized non-static member function to form a pointer to member function. Say %<&%T::%D%>"
+-msgstr "ISO C++ prohibeix prendre l'adreça d'una funció membre no estàtica sense qualificar per a formar un punter a la funció membre. Com \"&%T::%D\""
+-
+-#: cp/typeck.c:4418
+-#, fuzzy, gcc-internal-format
+-msgid "ISO C++ forbids taking the address of a bound member function to form a pointer to member function. Say %<&%T::%D%>"
+-msgstr "ISO C++ prohibeix prendre l'adreça d'una funció membre límitada per a formar un punter a la funció membre. Com \"&%T::%D\""
+-
+-#: cp/typeck.c:4443
+-#, gcc-internal-format
+-msgid "ISO C++ forbids taking the address of a cast to a non-lvalue expression"
+-msgstr "ISO C++ prohibeix prendre l'adreça d'una conversió a una expressió no lvalue"
+-
+-#: cp/typeck.c:4467
+-#, fuzzy, gcc-internal-format
+-msgid "cannot create pointer to reference member %qD"
+-msgstr "no es pot crear un punter al membre referència \"%D\""
+-
+-#: cp/typeck.c:4678
+-#, fuzzy, gcc-internal-format
+-msgid "cannot take the address of %<this%>, which is an rvalue expression"
+-msgstr "no es pot prendre l'adreça de \"this\" que és una expressió rvalue"
+-
+-#: cp/typeck.c:4701
+-#, fuzzy, gcc-internal-format
+-msgid "address of explicit register variable %qD requested"
+-msgstr "es va sol·licitar l'adreça de la variable register \"%s\""
+-
+-#: cp/typeck.c:4706
+-#, fuzzy, gcc-internal-format
+-msgid "address requested for %qD, which is declared %<register%>"
+-msgstr "es va sol·licitar l'adreça de \"%D\", el qual es va declarar com \"register\""
+-
+-#: cp/typeck.c:4772
+-#, fuzzy, gcc-internal-format
+-msgid "%s expression list treated as compound expression"
+-msgstr "la llista d'inicialitzadors es tracta com una expressió compostada"
+-
+-#: cp/typeck.c:5175
+-#, fuzzy, gcc-internal-format
+-msgid "invalid static_cast from type %qT to type %qT"
+-msgstr "static_cast no vàlid del tipus \"%T\" al tipus \"%T\""
+-
+-#: cp/typeck.c:5197
+-#, fuzzy, gcc-internal-format
+-msgid "converting from %qT to %qT"
+-msgstr "convertint de \"%T\" a \"%T\""
+-
+-#: cp/typeck.c:5245
+-#, fuzzy, gcc-internal-format
+-msgid "invalid cast of an rvalue expression of type %qT to type %qT"
+-msgstr "reinterpret_cast no vàlid d'una expressió rvalue del tipus \"%T\" al tipus \"%T\""
+-
+-#: cp/typeck.c:5304
+-#, fuzzy, gcc-internal-format
+-msgid "cast from %qT to %qT loses precision"
+-msgstr "reinterpret_cast de \"%T\" a \"%T\" perd precisió"
+-
+-#: cp/typeck.c:5331
+-#, fuzzy, gcc-internal-format
+-msgid "cast from %qT to %qT increases required alignment of target type"
+-msgstr "la conversió de \"%T\" a \"%T\" incrementa l'alineació requerida del tipus de la destinació"
+-
+-#. Only issue a warning, as we have always supported this
+-#. where possible, and it is necessary in some cases. DR 195
+-#. addresses this issue, but as of 2004/10/26 is still in
+-#. drafting.
+-#: cp/typeck.c:5351
+-#, gcc-internal-format
+-msgid "ISO C++ forbids casting between pointer-to-function and pointer-to-object"
+-msgstr "ISO C++ prohibeix la conversió entre punter a funció i punter a objecte"
+-
+-#: cp/typeck.c:5362
+-#, fuzzy, gcc-internal-format
+-msgid "invalid cast from type %qT to type %qT"
+-msgstr "const_cast no vàlid del tipus \"%T\" al tipus \"%T\""
+-
+-#: cp/typeck.c:5418
+-#, fuzzy, gcc-internal-format
+-msgid "invalid use of const_cast with type %qT, which is not a pointer, reference, nor a pointer-to-data-member type"
+-msgstr "ús no vàlid de const_cast amb tipus \"%T\", que no és un punter, referència, ni un tipus punter-a-dades-membres"
+-
+-#: cp/typeck.c:5427
+-#, fuzzy, gcc-internal-format
+-msgid "invalid use of const_cast with type %qT, which is a pointer or reference to a function type"
+-msgstr "ús no vàlid de const_cast amb tipus \"%T\", el qual és un punter o referència a un tipus de funció"
+-
+-#: cp/typeck.c:5452
+-#, fuzzy, gcc-internal-format
+-msgid "invalid const_cast of an rvalue of type %qT to type %qT"
+-msgstr "const_cast no vàlid d'un rvalue de tipus \"%T\" al tipus \"%T\""
+-
+-#: cp/typeck.c:5503
+-#, fuzzy, gcc-internal-format
+-msgid "invalid const_cast from type %qT to type %qT"
+-msgstr "const_cast no vàlid del tipus \"%T\" al tipus \"%T\""
+-
+-#: cp/typeck.c:5571 cp/typeck.c:5576
+-#, fuzzy, gcc-internal-format
+-msgid "ISO C++ forbids casting to an array type %qT"
+-msgstr "ISO C++ prohibeix la conversió a un tipus de matriu \"%T\""
+-
+-#: cp/typeck.c:5584
+-#, fuzzy, gcc-internal-format
+-msgid "invalid cast to function type %qT"
+-msgstr "conversió no vàlida al tipus de funció \"%T\""
+-
+-#: cp/typeck.c:5804
+-#, fuzzy, gcc-internal-format
+-msgid " in evaluation of %<%Q(%#T, %#T)%>"
+-msgstr " en l'avaluació de \"%Q(%#T, %#T)\""
+-
+-#: cp/typeck.c:5873
+-#, fuzzy, gcc-internal-format
+-msgid "incompatible types in assignment of %qT to %qT"
+-msgstr "tipus incompatible en l'assignació de \"%T\" a \"%T\""
+-
+-#: cp/typeck.c:5884
+-#, fuzzy, gcc-internal-format
+-msgid "array used as initializer"
+-msgstr "inicialitzador de matriu erroni"
+-
+-#: cp/typeck.c:5886
+-#, fuzzy, gcc-internal-format
+-msgid "invalid array assignment"
+-msgstr "l-value no vàlid en l'assignació"
+-
+-#: cp/typeck.c:5998
+-#, gcc-internal-format
+-msgid " in pointer to member function conversion"
+-msgstr " en la conversió del punter a funció membre"
+-
+-#: cp/typeck.c:6009
+-#, fuzzy, gcc-internal-format
+-msgid "pointer to member conversion via virtual base %qT"
+-msgstr "punter a la conversió membre a través de la base virtual \"%T\" de \"%T\""
+-
+-#: cp/typeck.c:6049 cp/typeck.c:6061
+-#, gcc-internal-format
+-msgid " in pointer to member conversion"
+-msgstr " en la conversió del punter a membre"
+-
+-#: cp/typeck.c:6140
+-#, fuzzy, gcc-internal-format
+-msgid "invalid conversion to type %qT from type %qT"
+-msgstr "conversió no vàlida del tipus \"%T\" a partir del tipus \"%T\""
+-
+-#: cp/typeck.c:6384
+-#, fuzzy, gcc-internal-format
+-msgid "cannot convert %qT to %qT for argument %qP to %qD"
+-msgstr "no es pot convertir \"%T\" a \"%T\" per a l'argument `%P' per a \"%D\""
+-
+-#: cp/typeck.c:6387
+-#, fuzzy, gcc-internal-format
+-msgid "cannot convert %qT to %qT in %s"
+-msgstr "no es pot convertir \"%T\" a \"%T\" en %s"
+-
+-#: cp/typeck.c:6398
+-#, fuzzy, gcc-internal-format
+-msgid "%s might be a candidate for a format attribute"
+-msgstr "la funció pot ser un candidat possible per a l'atribut de format \"%s\""
+-
+-#: cp/typeck.c:6485 cp/typeck.c:6487
+-#, fuzzy, gcc-internal-format
+-msgid "in passing argument %P of %q+D"
+-msgstr "en el pas de l'argument %P de \"%+D\""
+-
+-#: cp/typeck.c:6537
+-#, gcc-internal-format
+-msgid "returning reference to temporary"
+-msgstr "retornant la referència al temporal"
+-
+-#: cp/typeck.c:6544
+-#, gcc-internal-format
+-msgid "reference to non-lvalue returned"
+-msgstr "es va retornar una referència a un non-lvalue"
+-
+-#: cp/typeck.c:6560
+-#, fuzzy, gcc-internal-format
+-msgid "reference to local variable %q+D returned"
+-msgstr "es va retornar una referència a la variable local \"%D\""
+-
+-#: cp/typeck.c:6563
+-#, fuzzy, gcc-internal-format
+-msgid "address of local variable %q+D returned"
+-msgstr "es va retornar l'adreça de la variable local \"%D\""
+-
+-#: cp/typeck.c:6598
+-#, gcc-internal-format
+-msgid "returning a value from a destructor"
+-msgstr "retornant un valor d'un destructor"
+-
+-#. If a return statement appears in a handler of the
+-#. function-try-block of a constructor, the program is ill-formed.
+-#: cp/typeck.c:6606
+-#, gcc-internal-format
+-msgid "cannot return from a handler of a function-try-block of a constructor"
+-msgstr "no es pot retornar d'un gestor d'una function-try-block d'un constructor"
+-
+-#. You can't return a value from a constructor.
+-#: cp/typeck.c:6609
+-#, gcc-internal-format
+-msgid "returning a value from a constructor"
+-msgstr "retornant un valor d'un constructor"
+-
+-#: cp/typeck.c:6633
+-#, fuzzy, gcc-internal-format
+-msgid "return-statement with no value, in function returning %qT"
+-msgstr "\"return\" sense valors, en una funció que retorna non-void"
+-
+-#: cp/typeck.c:6654
+-#, fuzzy, gcc-internal-format
+-msgid "return-statement with a value, in function returning 'void'"
+-msgstr "\"return\" amb valor, en una funció que retorna void"
+-
+-#: cp/typeck.c:6685
+-#, fuzzy, gcc-internal-format
+-msgid "%<operator new%> must not return NULL unless it is declared %<throw()%> (or -fcheck-new is in effect)"
+-msgstr "\"operator new\" no ha de regressar NULL a menys que es declari \"throw()\" (o -fcheck-new estigui en efecte)"
+-
+-#: cp/typeck2.c:53
+-#, fuzzy, gcc-internal-format
+-msgid "type %qT is not a base type for type %qT"
+-msgstr "el tipus \"%T\" no és un tipus base per al tipus \"%T\""
+-
+-#: cp/typeck2.c:96
+-#, fuzzy, gcc-internal-format
+-msgid "%s of read-only parameter %qD"
+-msgstr "%s del membre de només lectura \"%s\""
+-
+-#: cp/typeck2.c:101
+-#, fuzzy, gcc-internal-format
+-msgid "%s of read-only reference %qD"
+-msgstr "%s del membre de només lectura \"%s\""
+-
+-#: cp/typeck2.c:103
+-#, fuzzy, gcc-internal-format
+-msgid "%s of read-only named return value %qD"
+-msgstr "%s de la variable de només lectura \"%s\""
+-
+-#: cp/typeck2.c:105
+-#, fuzzy, gcc-internal-format
+-msgid "%s of function %qD"
+-msgstr "%s:funció \"%u\" desconeguda\n"
+-
+-#: cp/typeck2.c:107
+-#, fuzzy, gcc-internal-format
+-msgid "%s of read-only location %qE"
+-msgstr "%s de la ubicació de només lectura"
+-
+-#: cp/typeck2.c:287
+-#, fuzzy, gcc-internal-format
+-msgid "cannot declare variable %q+D to be of abstract type %qT"
+-msgstr "no es pot declarar que la variable \"%D\" sigui de tipus \"%T\""
+-
+-#: cp/typeck2.c:290
+-#, fuzzy, gcc-internal-format
+-msgid "cannot declare parameter %q+D to be of abstract type %qT"
+-msgstr "no es pot declarar que el paràmetre \"%D\" sigui de tipus \"%T\""
+-
+-#: cp/typeck2.c:293
+-#, fuzzy, gcc-internal-format
+-msgid "cannot declare field %q+D to be of abstract type %qT"
+-msgstr "no es pot declarar que el camp \"%D\" sigui de tipus \"%T\""
+-
+-#: cp/typeck2.c:297
+-#, fuzzy, gcc-internal-format
+-msgid "invalid abstract return type for member function %q+#D"
+-msgstr "tipus de retorn no vàlid per a la funció membre \"%#D\""
+-
+-#: cp/typeck2.c:299
+-#, fuzzy, gcc-internal-format
+-msgid "invalid abstract return type for function %q+#D"
+-msgstr "tipus de retorn no vàlid per a la funció \"%#D\""
+-
+-#. Here we do not have location information.
+-#: cp/typeck2.c:302
+-#, fuzzy, gcc-internal-format
+-msgid "invalid abstract type %qT for %qE"
+-msgstr "tipus de paràmetre \"%T\" no vàlid"
+-
+-#: cp/typeck2.c:304
+-#, fuzzy, gcc-internal-format
+-msgid "invalid abstract type for %q+D"
+-msgstr "tipus de retorn covariant no vàlid per a \"%#D\""
+-
+-#: cp/typeck2.c:307
+-#, fuzzy, gcc-internal-format
+-msgid "cannot allocate an object of abstract type %qT"
+-msgstr "no es pot assignar un objecte de tipus \"%T\""
+-
+-#: cp/typeck2.c:315
+-#, fuzzy, gcc-internal-format
+-msgid "%J because the following virtual functions are pure within %qT:"
+-msgstr " perquè les següents funcions virtuals són abstractes:"
+-
+-#: cp/typeck2.c:319
+-#, fuzzy, gcc-internal-format
+-msgid "\t%+#D"
+-msgstr "\t%#D"
+-
+-#: cp/typeck2.c:326
+-#, fuzzy, gcc-internal-format
+-msgid "%J since type %qT has pure virtual functions"
+-msgstr " ja que el tipus \"%T\" té funcions virtuals abstractes"
+-
+-#: cp/typeck2.c:593
+-#, fuzzy, gcc-internal-format
+-msgid "constructor syntax used, but no constructor declared for type %qT"
+-msgstr "es va usar la sintaxi de constructor, però no es va declarar un constructor per al tipus \"%T\""
+-
+-#: cp/typeck2.c:607
+-#, gcc-internal-format
+-msgid "cannot initialize arrays using this syntax"
+-msgstr "no es poden inicialitzar matrius usant aquesta sintaxi"
+-
+-#: cp/typeck2.c:683
+-#, gcc-internal-format
+-msgid "int-array initialized from non-wide string"
+-msgstr "matriu d'enters amb valors inicials assignats d'una cadena no ampla"
+-
+-#: cp/typeck2.c:738
+-#, gcc-internal-format
+-msgid "cannot initialize aggregate of type %qT with a compound literal"
+-msgstr ""
+-
+-#: cp/typeck2.c:747
+-#, gcc-internal-format
+-msgid "array must be initialized with a brace-enclosed initializer"
+-msgstr ""
+-
+-#: cp/typeck2.c:823 cp/typeck2.c:924
+-#, fuzzy, gcc-internal-format
+-msgid "non-trivial designated initializers not supported"
+-msgstr "inicialitzadors etiquetats com no trivials"
+-
+-#: cp/typeck2.c:947 cp/typeck2.c:961
+-#, fuzzy, gcc-internal-format
+-msgid "missing initializer for member %qD"
+-msgstr "falta e l'inicialitzador pel membre \"%D\""
+-
+-#: cp/typeck2.c:952
+-#, fuzzy, gcc-internal-format
+-msgid "uninitialized const member %qD"
+-msgstr "membre const \"%D\" sense inicialitzar"
+-
+-#: cp/typeck2.c:954
+-#, fuzzy, gcc-internal-format
+-msgid "member %qD with uninitialized const fields"
+-msgstr "membre \"%D\" amb camps const sense inicialitzar"
+-
+-#: cp/typeck2.c:956
+-#, fuzzy, gcc-internal-format
+-msgid "member %qD is uninitialized reference"
+-msgstr "el membre \"%D\" és una referència sense inicialitzar"
+-
+-#: cp/typeck2.c:1011
+-#, fuzzy, gcc-internal-format
+-msgid "no field %qD found in union being initialized"
+-msgstr "no existeix el camp \"%D\" en el union que s'està inicialitzant"
+-
+-#: cp/typeck2.c:1020
+-#, gcc-internal-format
+-msgid "index value instead of field name in union initializer"
+-msgstr "valor d'índex en lloc del nom del camp en l'inicialitzador d'union"
+-
+-#: cp/typeck2.c:1175
+-#, gcc-internal-format
+-msgid "circular pointer delegation detected"
+-msgstr "es va detectar una delegació de punter circular"
+-
+-#: cp/typeck2.c:1188
+-#, fuzzy, gcc-internal-format
+-msgid "base operand of %<->%> has non-pointer type %qT"
+-msgstr "l'operand base de \"->\" té el tipus \"%T\" que no és punter"
+-
+-#: cp/typeck2.c:1212
+-#, fuzzy, gcc-internal-format
+-msgid "result of %<operator->()%> yields non-pointer result"
+-msgstr "el resultat de \"operator->()\" produeix un resultat que no és un punter"
+-
+-#: cp/typeck2.c:1214
+-#, fuzzy, gcc-internal-format
+-msgid "base operand of %<->%> is not a pointer"
+-msgstr "l'operand base de \"->\" no és un punter"
+-
+-#: cp/typeck2.c:1236
+-#, fuzzy, gcc-internal-format
+-msgid "%qE cannot be used as a member pointer, since it is of type %qT"
+-msgstr "no es pot usar \"%E\" com un punter membre, perquè és de tipus \"%T\""
+-
+-#: cp/typeck2.c:1245
+-#, fuzzy, gcc-internal-format
+-msgid "cannot apply member pointer %qE to %qE, which is of non-class type %qT"
+-msgstr "no es pot aplicar el punter a membre \"%E\" a \"%E\", el qual és del tipus no agregat \"%T\""
+-
+-#: cp/typeck2.c:1267
+-#, fuzzy, gcc-internal-format
+-msgid "pointer to member type %qT incompatible with object type %qT"
+-msgstr "el tipus de membre \"%T::\" és incompatible amb el tipus objecte \"%T\""
+-
+-#: cp/typeck2.c:1495
+-#, fuzzy, gcc-internal-format
+-msgid "call to function %qD which throws incomplete type %q#T"
+-msgstr "cridada a la funció \"%D\" la qual llança el tipus incomplet \"%#T\""
+-
+-#: cp/typeck2.c:1498
+-#, fuzzy, gcc-internal-format
+-msgid "call to function which throws incomplete type %q#T"
+-msgstr "cridada a una funció la qual llança el tipus incomplet \"%#T\""
+-
+-#: fortran/f95-lang.c:233
+-#, gcc-internal-format
+-msgid "Unexpected type in truthvalue_conversion"
+-msgstr ""
+-
+-#: fortran/f95-lang.c:289
+-#, fuzzy, gcc-internal-format
+-msgid "can't open input file: %s"
+-msgstr "no es pot tancar el fitxer temporal"
+-
+-#: fortran/f95-lang.c:629
+-#, fuzzy, gcc-internal-format
+-msgid "global register variable %qs used in nested function"
+-msgstr "es va usar la variable de registre global \"%s\" en funcions niades"
+-
+-#: fortran/f95-lang.c:633
+-#, fuzzy, gcc-internal-format
+-msgid "register variable %qs used in nested function"
+-msgstr "es va usar la va variable \"%s\" en funcions niades"
+-
+-#: fortran/f95-lang.c:640
+-#, fuzzy, gcc-internal-format
+-msgid "address of global register variable %qs requested"
+-msgstr "es va sol·licitar l'adreça de la variable de registre global \"%s\""
+-
+-#: fortran/f95-lang.c:658
+-#, fuzzy, gcc-internal-format
+-msgid "address of register variable %qs requested"
+-msgstr "es va sol·licitar l'adreça de la variable register \"%s\""
+-
+-#: fortran/trans-array.c:3765
+-#, gcc-internal-format
+-msgid "Possible frontend bug: array constructor not expanded"
+-msgstr ""
+-
+-#: fortran/trans-array.c:5418
+-#, gcc-internal-format
+-msgid "Possible frontend bug: Deferred array size without pointer, allocatable attribute or derived type without allocatable components."
+-msgstr ""
+-
+-#: fortran/trans-array.c:5894
+-#, gcc-internal-format
+-msgid "bad expression type during walk (%d)"
+-msgstr ""
+-
+-#: fortran/trans-const.c:270
+-#, gcc-internal-format
+-msgid "gfc_conv_constant_to_tree(): invalid type: %s"
+-msgstr ""
+-
+-#: fortran/trans-decl.c:966
+-#, gcc-internal-format
+-msgid "intrinsic variable which isn't a procedure"
+-msgstr ""
+-
+-#: fortran/trans-decl.c:2639
+-#, fuzzy, gcc-internal-format
+-msgid "Function does not return a value"
+-msgstr "la funció no retorna un tipus string"
+-
+-#: fortran/trans-decl.c:2817
+-#, gcc-internal-format
+-msgid "backend decl for module variable %s already exists"
+-msgstr ""
+-
+-#: fortran/trans-decl.c:3351
+-#, fuzzy, gcc-internal-format
+-msgid "Function return value not set"
+-msgstr "la funció retorna un agregat"
+-
+-#: fortran/trans-expr.c:1163
+-#, fuzzy, gcc-internal-format
+-msgid "Unknown intrinsic op"
+-msgstr "mode insn desconegut"
+-
+-#: fortran/trans-intrinsic.c:714
+-#, fuzzy, gcc-internal-format
+-msgid "Intrinsic function %s(%d) not recognized"
+-msgstr "no es reconeix el llenguatge %s"
+-
+-#: fortran/trans-io.c:1928
+-#, gcc-internal-format
+-msgid "Bad IO basetype (%d)"
+-msgstr ""
+-
+-#: fortran/trans-types.c:386
+-#, gcc-internal-format
+-msgid "integer kind=8 not available for -fdefault-integer-8 option"
+-msgstr ""
+-
+-#: fortran/trans-types.c:409
+-#, gcc-internal-format
+-msgid "real kind=8 not available for -fdefault-real-8 option"
+-msgstr ""
+-
+-#: fortran/trans-types.c:422
+-#, gcc-internal-format
+-msgid "Use of -fdefault-double-8 requires -fdefault-real-8"
+-msgstr ""
+-
+-#: fortran/trans-types.c:1181
+-#, fuzzy, gcc-internal-format
+-msgid "Array element size too big"
+-msgstr "Valor de l'element de la matriu en %0 està fora del rang definit"
+-
+-#: fortran/trans.c:1150
+-#, gcc-internal-format
+-msgid "gfc_trans_code(): Bad statement code"
+-msgstr ""
+-
+-#: java/class.c:835
+-#, gcc-internal-format
+-msgid "bad method signature"
+-msgstr ""
+-
+-#: java/class.c:891
+-#, gcc-internal-format
+-msgid "misplaced ConstantValue attribute (not in any field)"
+-msgstr ""
+-
+-#: java/class.c:894
+-#, gcc-internal-format
+-msgid "duplicate ConstantValue attribute for field '%s'"
+-msgstr ""
+-
+-#: java/class.c:905
+-#, gcc-internal-format
+-msgid "ConstantValue attribute of field '%s' has wrong type"
+-msgstr ""
+-
+-#: java/class.c:1595
+-#, gcc-internal-format
+-msgid "%Jabstract method in non-abstract class"
+-msgstr ""
+-
+-#: java/class.c:2665
+-#, gcc-internal-format
+-msgid "non-static method %q+D overrides static method"
+-msgstr ""
+-
+-#: java/decl.c:1154
+-#, fuzzy, gcc-internal-format
+-msgid "%q+D used prior to declaration"
+-msgstr "s'usa \"%#D\" previ a la declaració"
+-
+-#: java/decl.c:1577
+-#, gcc-internal-format
+-msgid "In %+D: overlapped variable and exception ranges at %d"
+-msgstr ""
+-
+-#: java/decl.c:1640
+-#, gcc-internal-format
+-msgid "bad type in parameter debug info"
+-msgstr ""
+-
+-#: java/decl.c:1649
+-#, gcc-internal-format
+-msgid "bad PC range for debug info for local %q+D"
+-msgstr ""
+-
+-#: java/expr.c:376
+-#, gcc-internal-format
+-msgid "need to insert runtime check for %s"
+-msgstr ""
+-
+-#: java/expr.c:505 java/expr.c:552
+-#, gcc-internal-format
+-msgid "assert: %s is assign compatible with %s"
+-msgstr ""
+-
+-#: java/expr.c:670
+-#, gcc-internal-format
+-msgid "stack underflow - dup* operation"
+-msgstr ""
+-
+-#: java/expr.c:1657
+-#, gcc-internal-format
+-msgid "reference %qs is ambiguous: appears in interface %qs and interface %qs"
+-msgstr ""
+-
+-#: java/expr.c:1685
+-#, fuzzy, gcc-internal-format
+-msgid "field %qs not found"
+-msgstr "no es troba la biblioteca lib%s"
+-
+-#: java/expr.c:2224
+-#, gcc-internal-format
+-msgid "method '%s' not found in class"
+-msgstr ""
+-
+-#: java/expr.c:2429
+-#, gcc-internal-format
+-msgid "failed to find class '%s'"
+-msgstr ""
+-
+-#: java/expr.c:2470
+-#, gcc-internal-format
+-msgid "class '%s' has no method named '%s' matching signature '%s'"
+-msgstr ""
+-
+-#: java/expr.c:2501
+-#, gcc-internal-format
+-msgid "invokestatic on non static method"
+-msgstr ""
+-
+-#: java/expr.c:2506
+-#, gcc-internal-format
+-msgid "invokestatic on abstract method"
+-msgstr ""
+-
+-#: java/expr.c:2514
+-#, gcc-internal-format
+-msgid "invoke[non-static] on static method"
+-msgstr ""
+-
+-#: java/expr.c:2865
+-#, gcc-internal-format
+-msgid "missing field '%s' in '%s'"
+-msgstr ""
+-
+-#: java/expr.c:2872
+-#, gcc-internal-format
+-msgid "mismatching signature for field '%s' in '%s'"
+-msgstr ""
+-
+-#: java/expr.c:2901
+-#, gcc-internal-format
+-msgid "assignment to final field %q+D not in field's class"
+-msgstr ""
+-
+-#: java/expr.c:3123
+-#, gcc-internal-format
+-msgid "invalid PC in line number table"
+-msgstr ""
+-
+-#: java/expr.c:3173
+-#, gcc-internal-format
+-msgid "unreachable bytecode from %d to before %d"
+-msgstr ""
+-
+-#: java/expr.c:3217
+-#, gcc-internal-format
+-msgid "unreachable bytecode from %d to the end of the method"
+-msgstr ""
+-
+-#. duplicate code from LOAD macro
+-#: java/expr.c:3522
+-#, gcc-internal-format
+-msgid "unrecogized wide sub-instruction"
+-msgstr ""
+-
+-#: java/jcf-parse.c:521
+-#, gcc-internal-format
+-msgid "<constant pool index %d not in range>"
+-msgstr ""
+-
+-#: java/jcf-parse.c:531
+-#, gcc-internal-format
+-msgid "<constant pool index %d unexpected type"
+-msgstr ""
+-
+-#: java/jcf-parse.c:1111
+-#, gcc-internal-format
+-msgid "bad string constant"
+-msgstr ""
+-
+-#: java/jcf-parse.c:1129
+-#, gcc-internal-format
+-msgid "bad value constant type %d, index %d"
+-msgstr ""
+-
+-#: java/jcf-parse.c:1421 java/jcf-parse.c:1427
+-#, gcc-internal-format
+-msgid "cannot find file for class %s"
+-msgstr ""
+-
+-#: java/jcf-parse.c:1452
+-#, gcc-internal-format
+-msgid "not a valid Java .class file"
+-msgstr ""
+-
+-#: java/jcf-parse.c:1455
+-#, gcc-internal-format
+-msgid "error while parsing constant pool"
+-msgstr ""
+-
+-#. FIXME - where was first time
+-#: java/jcf-parse.c:1470
+-#, gcc-internal-format
+-msgid "reading class %s for the second time from %s"
+-msgstr ""
+-
+-#: java/jcf-parse.c:1488
+-#, gcc-internal-format
+-msgid "error while parsing fields"
+-msgstr ""
+-
+-#: java/jcf-parse.c:1491
+-#, gcc-internal-format
+-msgid "error while parsing methods"
+-msgstr ""
+-
+-#: java/jcf-parse.c:1494
+-#, gcc-internal-format
+-msgid "error while parsing final attributes"
+-msgstr ""
+-
+-#: java/jcf-parse.c:1541
+-#, gcc-internal-format
+-msgid "%Hduplicate class will only be compiled once"
+-msgstr ""
+-
+-#: java/jcf-parse.c:1636
+-#, gcc-internal-format
+-msgid "missing Code attribute"
+-msgstr ""
+-
+-#: java/jcf-parse.c:1858
+-#, gcc-internal-format
+-msgid "no input file specified"
+-msgstr ""
+-
+-#: java/jcf-parse.c:1893
+-#, fuzzy, gcc-internal-format
+-msgid "can't close input file %s: %m"
+-msgstr "no es pot tancar el fitxer temporal"
+-
+-#: java/jcf-parse.c:1940
+-#, gcc-internal-format
+-msgid "bad zip/jar file %s"
+-msgstr ""
+-
+-#: java/jcf-parse.c:2145
+-#, gcc-internal-format
+-msgid "error while reading %s from zip file"
+-msgstr ""
+-
+-#: java/jvspec.c:425
+-#, gcc-internal-format
+-msgid "warning: already-compiled .class files ignored with -C"
+-msgstr ""
+-
+-#: java/lang.c:590
+-#, gcc-internal-format
+-msgid "-findirect-dispatch is incompatible with -freduced-reflection"
+-msgstr ""
+-
+-#: java/lang.c:593
+-#, fuzzy, gcc-internal-format
+-msgid "-fjni is incompatible with -freduced-reflection"
+-msgstr "-G és incompatible amb el codi PIC el qual és per omissió"
+-
+-#: java/lang.c:604
+-#, gcc-internal-format
+-msgid "can't do dependency tracking with input from stdin"
+-msgstr ""
+-
+-#: java/lang.c:620
+-#, gcc-internal-format
+-msgid "couldn't determine target name for dependency tracking"
+-msgstr ""
+-
+-#: java/mangle_name.c:139 java/mangle_name.c:209
+-#, gcc-internal-format
+-msgid "internal error - invalid Utf8 name"
+-msgstr ""
+-
+-#: java/typeck.c:491
+-#, gcc-internal-format
+-msgid "junk at end of signature string"
+-msgstr ""
+-
+-#: java/verify-glue.c:378
+-#, fuzzy, gcc-internal-format
+-msgid "verification failed: %s"
+-msgstr "verify_flow_info fallat"
+-
+-#: java/verify-glue.c:380
+-#, gcc-internal-format
+-msgid "verification failed at PC=%d: %s"
+-msgstr ""
+-
+-#: java/verify-glue.c:468
+-#, gcc-internal-format
+-msgid "bad pc in exception_table"
+-msgstr ""
+-
+-#: objc/objc-act.c:705
+-#, gcc-internal-format
+-msgid "%<@end%> must appear in an @implementation context"
+-msgstr ""
+-
+-#: objc/objc-act.c:734
+-#, fuzzy, gcc-internal-format
+-msgid "method declaration not in @interface context"
+-msgstr "la declaració friend no està en una definició de classe"
+-
+-#: objc/objc-act.c:745
+-#, gcc-internal-format
+-msgid "method definition not in @implementation context"
+-msgstr ""
+-
+-#: objc/objc-act.c:1177
+-#, fuzzy, gcc-internal-format
+-msgid "comparison of distinct Objective-C types lacks a cast"
+-msgstr "la comparança de diferents tipus de punter manca d'una conversió"
+-
+-#: objc/objc-act.c:1181
+-#, gcc-internal-format
+-msgid "initialization from distinct Objective-C type"
+-msgstr ""
+-
+-#: objc/objc-act.c:1185
+-#, gcc-internal-format
+-msgid "assignment from distinct Objective-C type"
+-msgstr ""
+-
+-#: objc/objc-act.c:1189
+-#, gcc-internal-format
+-msgid "distinct Objective-C type in return"
+-msgstr ""
+-
+-#: objc/objc-act.c:1193
+-#, gcc-internal-format
+-msgid "passing argument %d of %qE from distinct Objective-C type"
+-msgstr ""
+-
+-#: objc/objc-act.c:1348
+-#, gcc-internal-format
+-msgid "statically allocated instance of Objective-C class %qs"
+-msgstr ""
+-
+-#: objc/objc-act.c:1425
+-#, gcc-internal-format
+-msgid "protocol %qs has circular dependency"
+-msgstr ""
+-
+-#: objc/objc-act.c:1450 objc/objc-act.c:6583
+-#, fuzzy, gcc-internal-format
+-msgid "cannot find protocol declaration for %qs"
+-msgstr "no hi ha declaració prèvia per a \"%D\""
+-
+-#: objc/objc-act.c:1914 objc/objc-act.c:3350 objc/objc-act.c:7196
+-#: objc/objc-act.c:7532 objc/objc-act.c:7586 objc/objc-act.c:7611
+-#, fuzzy, gcc-internal-format
+-msgid "cannot find interface declaration for %qs"
+-msgstr "declaració extern niada de \"%s\""
+-
+-#: objc/objc-act.c:1918
+-#, fuzzy, gcc-internal-format
+-msgid "interface %qs does not have valid constant string layout"
+-msgstr "l'argument de \"asm\" no és una cadena constant"
+-
+-#: objc/objc-act.c:1923
+-#, fuzzy, gcc-internal-format
+-msgid "cannot find reference tag for class %qs"
+-msgstr "no es pot trobar el fitxer font %s"
+-
+-#: objc/objc-act.c:2550
+-#, gcc-internal-format
+-msgid "%Hcreating selector for nonexistent method %qE"
+-msgstr ""
+-
+-#: objc/objc-act.c:2752
+-#, fuzzy, gcc-internal-format
+-msgid "%qs is not an Objective-C class name or alias"
+-msgstr "\"%T\" no és una classa o un espai de noms"
+-
+-#: objc/objc-act.c:2878 objc/objc-act.c:2909 objc/objc-act.c:7460
+-#: objc/objc-act.c:7761 objc/objc-act.c:7791
+-#, gcc-internal-format
+-msgid "Objective-C declarations may only appear in global scope"
+-msgstr ""
+-
+-#: objc/objc-act.c:2883
+-#, fuzzy, gcc-internal-format
+-msgid "cannot find class %qs"
+-msgstr "no es pot trobar class$"
+-
+-#: objc/objc-act.c:2885
+-#, fuzzy, gcc-internal-format
+-msgid "class %qs already exists"
+-msgstr "ja s'ha desat #pragma %s %s"
+-
+-#: objc/objc-act.c:2929 objc/objc-act.c:7501
+-#, fuzzy, gcc-internal-format
+-msgid "%qs redeclared as different kind of symbol"
+-msgstr "\"%s\" redeclarat com un tipus diferent de símbol"
+-
+-#: objc/objc-act.c:3203
+-#, gcc-internal-format
+-msgid "strong-cast assignment has been intercepted"
+-msgstr ""
+-
+-#: objc/objc-act.c:3245
+-#, gcc-internal-format
+-msgid "strong-cast may possibly be needed"
+-msgstr ""
+-
+-#: objc/objc-act.c:3255
+-#, fuzzy, gcc-internal-format
+-msgid "instance variable assignment has been intercepted"
+-msgstr "la variable estàtica \"%s\" està marcada com dllimport"
+-
+-#: objc/objc-act.c:3274
+-#, gcc-internal-format
+-msgid "pointer arithmetic for garbage-collected objects not allowed"
+-msgstr ""
+-
+-#: objc/objc-act.c:3280
+-#, gcc-internal-format
+-msgid "global/static variable assignment has been intercepted"
+-msgstr ""
+-
+-#: objc/objc-act.c:3463
+-#, gcc-internal-format
+-msgid "use %<-fobjc-exceptions%> to enable Objective-C exception syntax"
+-msgstr ""
+-
+-#: objc/objc-act.c:3804
+-#, fuzzy, gcc-internal-format
+-msgid "@catch parameter is not a known Objective-C class type"
+-msgstr "\"%T\" no és una classa o un espai de noms"
+-
+-#: objc/objc-act.c:3820
+-#, fuzzy, gcc-internal-format
+-msgid "exception of type %<%T%> will be caught"
+-msgstr "l'excepció del tipus \"%T\" serà atrapada"
+-
+-#: objc/objc-act.c:3822
+-#, fuzzy, gcc-internal-format
+-msgid "%H by earlier handler for %<%T%>"
+-msgstr " per un gestor anterior per a \"%T\""
+-
+-#: objc/objc-act.c:3875
+-#, gcc-internal-format
+-msgid "%<@try%> without %<@catch%> or %<@finally%>"
+-msgstr ""
+-
+-#: objc/objc-act.c:3923
+-#, gcc-internal-format
+-msgid "%<@throw%> (rethrow) used outside of a @catch block"
+-msgstr ""
+-
+-#: objc/objc-act.c:4324
+-#, gcc-internal-format
+-msgid "type %q+D does not have a known size"
+-msgstr ""
+-
+-#: objc/objc-act.c:4957
+-#, fuzzy, gcc-internal-format
+-msgid "%J%s %qs"
+-msgstr "En %s \"%s\":"
+-
+-#: objc/objc-act.c:4980 objc/objc-act.c:4999
+-#, gcc-internal-format
+-msgid "inconsistent instance variable specification"
+-msgstr ""
+-
+-#: objc/objc-act.c:5857
+-#, fuzzy, gcc-internal-format
+-msgid "can not use an object as parameter to a method"
+-msgstr "no es pot usar \"::\" en la declaració de paràmetres"
+-
+-#: objc/objc-act.c:6080
+-#, fuzzy, gcc-internal-format
+-msgid "multiple %s named %<%c%s%> found"
+-msgstr "múltiples paràmetres nomenats \"%s\""
+-
+-#: objc/objc-act.c:6307
+-#, fuzzy, gcc-internal-format
+-msgid "no super class declared in @interface for %qs"
+-msgstr "no hi ha declaració prèvia per a \"%s\""
+-
+-#: objc/objc-act.c:6345
+-#, gcc-internal-format
+-msgid "found %<-%s%> instead of %<+%s%> in protocol(s)"
+-msgstr ""
+-
+-#: objc/objc-act.c:6404
+-#, fuzzy, gcc-internal-format
+-msgid "invalid receiver type %qs"
+-msgstr "tipus de paràmetre \"%T\" no vàlid"
+-
+-#: objc/objc-act.c:6419
+-#, gcc-internal-format
+-msgid "%<%c%s%> not found in protocol(s)"
+-msgstr ""
+-
+-#: objc/objc-act.c:6433
+-#, fuzzy, gcc-internal-format
+-msgid "%qs may not respond to %<%c%s%>"
+-msgstr "\"%s\" no té suport per a %s"
+-
+-#: objc/objc-act.c:6441
+-#, gcc-internal-format
+-msgid "no %<%c%s%> method found"
+-msgstr ""
+-
+-#: objc/objc-act.c:6447
+-#, gcc-internal-format
+-msgid "(Messages without a matching method signature"
+-msgstr ""
+-
+-#: objc/objc-act.c:6448
+-#, gcc-internal-format
+-msgid "will be assumed to return %<id%> and accept"
+-msgstr ""
+-
+-#: objc/objc-act.c:6449
+-#, fuzzy, gcc-internal-format
+-msgid "%<...%> as arguments.)"
+-msgstr "sense arguments"
+-
+-#: objc/objc-act.c:6682
+-#, fuzzy, gcc-internal-format
+-msgid "undeclared selector %qs"
+-msgstr "selector \"%s\" sense declarar"
+-
+-#. Historically, a class method that produced objects (factory
+-#. method) would assign `self' to the instance that it
+-#. allocated. This would effectively turn the class method into
+-#. an instance method. Following this assignment, the instance
+-#. variables could be accessed. That practice, while safe,
+-#. violates the simple rule that a class method should not refer
+-#. to an instance variable. It's better to catch the cases
+-#. where this is done unknowingly than to support the above
+-#. paradigm.
+-#: objc/objc-act.c:6724
+-#, fuzzy, gcc-internal-format
+-msgid "instance variable %qs accessed in class method"
+-msgstr "la variable estàtica \"%s\" està marcada com dllimport"
+-
+-#: objc/objc-act.c:6957
+-#, fuzzy, gcc-internal-format
+-msgid "duplicate declaration of method %<%c%s%>"
+-msgstr "declaració implícita de la funció \"%s\""
+-
+-#: objc/objc-act.c:7018
+-#, fuzzy, gcc-internal-format
+-msgid "duplicate interface declaration for category %<%s(%s)%>"
+-msgstr "declaració implícita de la funció \"%s\""
+-
+-#: objc/objc-act.c:7045
+-#, fuzzy, gcc-internal-format
+-msgid "illegal reference type specified for instance variable %qs"
+-msgstr "s'ignora l'especificador asm per a la variable local no estàtica \"%s\""
+-
+-#: objc/objc-act.c:7056
+-#, fuzzy, gcc-internal-format
+-msgid "instance variable %qs has unknown size"
+-msgstr "la variable estàtica \"%s\" està marcada com dllimport"
+-
+-#: objc/objc-act.c:7081
+-#, fuzzy, gcc-internal-format
+-msgid "type %qs has no default constructor to call"
+-msgstr "el tipus \"%T\" no té destructor"
+-
+-#: objc/objc-act.c:7087
+-#, fuzzy, gcc-internal-format
+-msgid "destructor for %qs shall not be run either"
+-msgstr "el destructor per a la classe estrangera \"%T\" no pot ser un membre"
+-
+-#. Vtable pointers are Real Bad(tm), since Obj-C cannot
+-#. initialize them.
+-#: objc/objc-act.c:7099
+-#, fuzzy, gcc-internal-format
+-msgid "type %qs has virtual member functions"
+-msgstr " ja que el tipus \"%T\" té funcions virtuals abstractes"
+-
+-#: objc/objc-act.c:7100
+-#, fuzzy, gcc-internal-format
+-msgid "illegal aggregate type %qs specified for instance variable %qs"
+-msgstr "s'ignora l'especificador asm per a la variable local no estàtica \"%s\""
+-
+-#: objc/objc-act.c:7110
+-#, fuzzy, gcc-internal-format
+-msgid "type %qs has a user-defined constructor"
+-msgstr "el tipus \"%T\" no té destructor"
+-
+-#: objc/objc-act.c:7112
+-#, fuzzy, gcc-internal-format
+-msgid "type %qs has a user-defined destructor"
+-msgstr "el tipus \"%T\" no té destructor"
+-
+-#: objc/objc-act.c:7116
+-#, gcc-internal-format
+-msgid "C++ constructors and destructors will not be invoked for Objective-C fields"
+-msgstr ""
+-
+-#: objc/objc-act.c:7225
+-#, fuzzy, gcc-internal-format
+-msgid "instance variable %qs is declared private"
+-msgstr "la variable estàtica \"%s\" està marcada com dllimport"
+-
+-#: objc/objc-act.c:7236
+-#, gcc-internal-format
+-msgid "instance variable %qs is %s; this will be a hard error in the future"
+-msgstr ""
+-
+-#: objc/objc-act.c:7243
+-#, fuzzy, gcc-internal-format
+-msgid "instance variable %qs is declared %s"
+-msgstr "variable sense nom o camp declarat void"
+-
+-#: objc/objc-act.c:7269 objc/objc-act.c:7357
+-#, gcc-internal-format
+-msgid "incomplete implementation of class %qs"
+-msgstr ""
+-
+-#: objc/objc-act.c:7273 objc/objc-act.c:7362
+-#, gcc-internal-format
+-msgid "incomplete implementation of category %qs"
+-msgstr ""
+-
+-#: objc/objc-act.c:7278 objc/objc-act.c:7367
+-#, gcc-internal-format
+-msgid "method definition for %<%c%s%> not found"
+-msgstr ""
+-
+-#: objc/objc-act.c:7408
+-#, gcc-internal-format
+-msgid "%s %qs does not fully implement the %qs protocol"
+-msgstr ""
+-
+-#: objc/objc-act.c:7466 objc/objc-act.c:9156
+-#, gcc-internal-format
+-msgid "%<@end%> missing in implementation context"
+-msgstr ""
+-
+-#: objc/objc-act.c:7485
+-#, gcc-internal-format
+-msgid "cannot find interface declaration for %qs, superclass of %qs"
+-msgstr ""
+-
+-#: objc/objc-act.c:7515
+-#, gcc-internal-format
+-msgid "reimplementation of class %qs"
+-msgstr ""
+-
+-#: objc/objc-act.c:7547
+-#, fuzzy, gcc-internal-format
+-msgid "conflicting super class name %qs"
+-msgstr "tipus en conflicte per a \"%s\""
+-
+-#: objc/objc-act.c:7549
+-#, fuzzy, gcc-internal-format
+-msgid "previous declaration of %qs"
+-msgstr "declaració prèvia de \"%s\""
+-
+-#: objc/objc-act.c:7565 objc/objc-act.c:7563
+-#, fuzzy, gcc-internal-format
+-msgid "duplicate interface declaration for class %qs"
+-msgstr "declaració de l'etiqueta \"%s\" duplicada"
+-
+-#: objc/objc-act.c:7819
+-#, fuzzy, gcc-internal-format
+-msgid "duplicate declaration for protocol %qs"
+-msgstr "declaració implícita de la funció \"%s\""
+-
+-#. Add a readable method name to the warning.
+-#: objc/objc-act.c:8397
+-#, fuzzy, gcc-internal-format
+-msgid "%J%s %<%c%s%>"
+-msgstr "En %s \"%s\":"
+-
+-#: objc/objc-act.c:8727
+-#, fuzzy, gcc-internal-format
+-msgid "no super class declared in interface for %qs"
+-msgstr "no hi ha declaració prèvia per a \"%s\""
+-
+-#: objc/objc-act.c:8776
+-#, gcc-internal-format
+-msgid "[super ...] must appear in a method context"
+-msgstr ""
+-
+-#: objc/objc-act.c:8816
+-#, gcc-internal-format
+-msgid "method possibly missing a [super dealloc] call"
+-msgstr ""
+-
+-#: objc/objc-act.c:9446
+-#, fuzzy, gcc-internal-format
+-msgid "local declaration of %qs hides instance variable"
+-msgstr "la declaració local de \"%s\" oculta la variable d'instància"
+-
+-#: treelang/tree1.c:278
+-#, fuzzy, gcc-internal-format
+-msgid "%HDuplicate name %q.*s."
+-msgstr "%Hetiqueta duplicada \"%D\""
+-
+-#: treelang/treetree.c:796
+-#, fuzzy, gcc-internal-format
+-msgid "Global register variable %qD used in nested function."
+-msgstr "es va usar la variable de registre global \"%s\" en funcions niades"
+-
+-#: treelang/treetree.c:800
+-#, fuzzy, gcc-internal-format
+-msgid "Register variable %qD used in nested function."
+-msgstr "es va usar la va variable \"%s\" en funcions niades"
+-
+-#: treelang/treetree.c:806
+-#, fuzzy, gcc-internal-format
+-msgid "Address of global register variable %qD requested."
+-msgstr "es va sol·licitar l'adreça de la variable de registre global \"%s\""
+-
+-#: treelang/treetree.c:811
+-#, fuzzy, gcc-internal-format
+-msgid "Address of register variable %qD requested."
+-msgstr "es va sol·licitar l'adreça de la variable register \"%s\""
+-
+-#: treelang/treetree.c:1169
+-#, fuzzy, gcc-internal-format
+-msgid "%qD attribute ignored"
+-msgstr "s'ignora l'atribut \"%s\""
+-
+-#~ msgid "second arg to `__builtin_expect' must be a constant"
+-#~ msgstr "el segon argument de \"__builtin_expect\" ha de ser una constant"
+-
+-#~ msgid "no vector mode with the size and type specified could be found"
+-#~ msgstr "no es pot trobar un mode vector amb la grandària i el tipus especificat "
+-
+-#~ msgid "%s at end of input"
+-#~ msgstr "%s al final de l'entrada"
+-
+-#~ msgid "%s before %s'%c'"
+-#~ msgstr "%s abans de %s\"%c\""
+-
+-#~ msgid "%s before %s'\\x%x'"
+-#~ msgstr "%s abans de %s\"\\x%x\""
+-
+-#~ msgid "%s before numeric constant"
+-#~ msgstr "%s abans d'una constant numèrica"
+-
+-#~ msgid "%s before \"%s\""
+-#~ msgstr "%s abans de \"%s\""
+-
+-#~ msgid "%s before '%s' token"
+-#~ msgstr "%s abans l'element \"%s\""
+-
+-#~ msgid "%Jlabel `%D' used but not defined"
+-#~ msgstr "%Js'usa l'etiqueta \"%D\" però no està definida"
+-
+-#~ msgid "%Jlabel `%D' defined but not used"
+-#~ msgstr "%Jl'etiqueta \"%D\" no s'usa però està definida"
+-
+-#~ msgid "%J'%D' redeclared as different kind of symbol"
+-#~ msgstr "%J\"%D\" redeclarat com un tipus diferent de símbol"
+-
+-#~ msgid "%Jshadowing built-in function '%D'"
+-#~ msgstr "%Jenfosquin la funció interna \"%D\""
+-
+-#~ msgid "%Jconst declaration of '%D' follows non-const declaration"
+-#~ msgstr "%Jdeclaració \"const\" de \"%D\" a continuació d'una declaració \"non-const\""
+-
+-#~ msgid "%Jnon-const declaration of '%D' follows const declaration"
+-#~ msgstr "%Jdeclaració \"non-const\" de \"%D\" a continuació d'una declaració \"const\""
+-
+-#~ msgid "%Jdeclaration of '%D' shadows a parameter"
+-#~ msgstr "%Jla declaració de \"%D\" enfosqueix un paràmetre"
+-
+-#~ msgid "%Jdeclaration of '%D' shadows a global declaration"
+-#~ msgstr "%Jla declaració de \"%D\" enfosqueix una declaració global"
+-
+-#~ msgid "%Jdeclaration of '%D' shadows a previous local"
+-#~ msgstr "%Jla declaració de \"%D\" enfosqueix una declaració local"
+-
+-#~ msgid "%Jprevious declaration of '%D'"
+-#~ msgstr "%Jdeclaració prèvia de \"%D\""
+-
+-#~ msgid "%J`%D' previously defined here"
+-#~ msgstr "%Jes va definir \"%D\" prèviament aquí"
+-
+-#~ msgid "GCC does not yet properly implement `[*]' array declarators"
+-#~ msgstr "GCC no implementa encara correctament declaradors de matrius \"[*]\""
+-
+-#~ msgid "typedef `%s' is initialized (use __typeof__ instead)"
+-#~ msgstr "typedef \"%s\" té valor inicial (usi __typeof__ en lloc)"
+-
+-#~ msgid "function `%s' is initialized like a variable"
+-#~ msgstr "la funció \"%s\" té valor inicial com una variable"
+-
+-#~ msgid "variable `%s' has initializer but incomplete type"
+-#~ msgstr "la variable \"%s\" té assignació de valor inicial, però tipus de dada incompleta"
+-
+-#~ msgid "elements of array `%s' have incomplete type"
+-#~ msgstr "alguns elements de la matriu \"%s\" tenen tipus de dada incompleta"
+-
+-#~ msgid "%Jinitializer fails to determine size of '%D'"
+-#~ msgstr "%Jl'inicialitzador no pot determinar la grandària de \"%D\""
+-
+-#~ msgid "%Jarray size missing in '%D'"
+-#~ msgstr "%Jfalta la grandària de la matriu en \"%D\""
+-
+-#~ msgid "%Jstorage size of '%D' isn't known"
+-#~ msgstr "%Jno es coneix la grandària d'emmagatzematge de \"%D\""
+-
+-#~ msgid "%Jstorage size of '%D' isn't constant"
+-#~ msgstr "%Jla grandària d'emmagatzematge de \"%D\" no és constant"
+-
+-#~ msgid "long or short specified with floating type for `%s'"
+-#~ msgstr "s'especifica long o short amb tipus floating per a \"%s\""
+-
+-#~ msgid "the only valid combination is `long double'"
+-#~ msgstr "l'única combinació vàlida és \"long double\""
+-
+-#~ msgid "ISO C forbids qualified void function return type"
+-#~ msgstr "ISO C prohibeix el tipus de retorn de funció void qualificat"
+-
+-#~ msgid "invalid type modifier within pointer declarator"
+-#~ msgstr "modificador de tipus no vàlid dintre de la declaració del punter"
+-
+-#~ msgid "invalid type modifier within array declarator"
+-#~ msgstr "modificador de tipus no vàlid dins d'un declarador de matriu"
+-
+-#~ msgid "thread-local storage not supported for this target"
+-#~ msgstr "no es dóna suport a -thread local strorage en aquest objectiu"
+-
+-#~ msgid "parameter `%s' has incomplete type"
+-#~ msgstr "el paràmetre \"%s\" té tipus de dada incompleta"
+-
+-#~ msgid "%s defined inside parms"
+-#~ msgstr "es va definir %s dintre dels paràmetres"
+-
+-#~ msgid "union"
+-#~ msgstr "unió"
+-
+-#~ msgid "structure"
+-#~ msgstr "estructura"
+-
+-#~ msgid "%s has no %s"
+-#~ msgstr "%s no té %s"
+-
+-#~ msgid "struct"
+-#~ msgstr "struct"
+-
+-#~ msgid "members"
+-#~ msgstr "membres"
+-
+-#~ msgid "enum defined inside parms"
+-#~ msgstr "enum definit dintre dels paràmetres"
+-
+-#~ msgid "%Jparameter \"%D\" declared void"
+-#~ msgstr "%Jel paràmetre \"%D\" es va declarar void"
+-
+-#~ msgid "this function may return with or without a value"
+-#~ msgstr "aquesta funció pot retornar amb o sense un valor"
+-
+-#~ msgid "%Jredefinition of global '%D'"
+-#~ msgstr "%Jredefinició de la «global» \"%D\""
+-
+-#~ msgid "%J'%D' previously defined here"
+-#~ msgstr "%Jes va definir \"%D\" prèviament aquí"
+-
+-#~ msgid "`I' flag"
+-#~ msgstr "opció \"I\""
+-
+-#~ msgid "the `I' printf flag"
+-#~ msgstr "l'opció \"I\" de printf"
+-
+-#~ msgid "`a' flag"
+-#~ msgstr "opció \"a\""
+-
+-#~ msgid "the `I' scanf flag"
+-#~ msgstr "l'opció \"I\" de scanf"
+-
+-#~ msgid "`_' flag"
+-#~ msgstr "l'opció \"_\""
+-
+-#~ msgid "`^' flag"
+-#~ msgstr "opció \"^\""
+-
+-#~ msgid "`(' flag"
+-#~ msgstr "opció \"(\""
+-
+-#~ msgid "`!' flag"
+-#~ msgstr "opció \"!\""
+-
+-#~ msgid "%s does not support the `%%%c' %s format"
+-#~ msgstr "%s no té suport per al format \"%%%c\" %s"
+-
+-#~ msgid "format argument is not a pointer (arg %d)"
+-#~ msgstr "l'argument de format no és un punter (argument %d)"
+-
+-#~ msgid "format argument is not a pointer to a pointer (arg %d)"
+-#~ msgstr "l'argument de format no és un punter a un punter (argument %d)"
+-
+-#~ msgid "pointer"
+-#~ msgstr "punter"
+-
+-#~ msgid "different type"
+-#~ msgstr "diferents tipus"
+-
+-#~ msgid "%s is not type %s (arg %d)"
+-#~ msgstr "%s no és del tipus %s (argument %d)"
+-
+-#~ msgid "-Wmissing-format-attribute ignored without -Wformat"
+-#~ msgstr "s'ignora -Wformat-attribute sense -Wformat"
+-
+-#~ msgid "YYDEBUG not defined"
+-#~ msgstr "no es va definir YYDEBUG"
+-
+-#~ msgid "syntax error"
+-#~ msgstr "error sintàctic"
+-
+-#~ msgid "syntax error: cannot back up"
+-#~ msgstr "error sintàctic: no es pot regressar"
+-
+-#~ msgid "ISO C forbids data definition with no type or storage class"
+-#~ msgstr "ISO C prohibeix la definició de dades sense tipus o classe d'emmagatzematge"
+-
+-#~ msgid "`sizeof' applied to a bit-field"
+-#~ msgstr "\"sizeof\" aplicat a un camp de bits"
+-
+-#~ msgid "old-style parameter declaration"
+-#~ msgstr "declaració de paràmetres d'estil antic"
+-
+-#~ msgid "`...' in old-style identifier list"
+-#~ msgstr "\"...\" en una llista d'identificadors d'estil antic"
+-
+-#~ msgid "parse error; also virtual memory exhausted"
+-#~ msgstr "error d'analitza; també es va excedir la memòria virtual"
+-
+-#~ msgid "parse error"
+-#~ msgstr "error d'analitza"
+-
+-#~ msgid "parser stack overflow"
+-#~ msgstr "s'ha desbordat la pila de l'analitzador"
+-
+-#~ msgid "%s: not a PCH file"
+-#~ msgstr "%s: no és un fitxer PCH"
+-
+-#~ msgid "calling fdopen"
+-#~ msgstr "cridant fdopen"
+-
+-#~ msgid "reading"
+-#~ msgstr "llegint %s"
+-
+-#~ msgid "destructor needed for `%D'"
+-#~ msgstr "es necessita un \"destructor\" per a \"%D\""
+-
+-#~ msgid "where case label appears here"
+-#~ msgstr "on l'etiqueta «case» apareix aquí"
+-
+-#~ msgid "(enclose actions of previous case statements requiring destructors in their own scope.)"
+-#~ msgstr "(les accions adjuntes de declaracions «case» prèvies requereixen destructors en el seu propi àmbit.)"
+-
+-#
+-#~ msgid "will never be executed"
+-#~ msgstr "mai s'executarà"
+-
+-#~ msgid "subscript has type `char'"
+-#~ msgstr "el subindici és de tipus \"char\""
+-
+-#~ msgid "invalid lvalue in unary `&'"
+-#~ msgstr "l-value no vàlid en \"&\" unari"
+-
+-#~ msgid "use of conditional expressions as lvalues is deprecated"
+-#~ msgstr "l'ús d'expressions condicionals com \"lvalues\" és depreciada"
+-
+-#~ msgid "use of compound expressions as lvalues is deprecated"
+-#~ msgstr "l'ús d'expressions compostes com \"lvalues\" és depreciada"
+-
+-#~ msgid "use of cast expressions as lvalues is deprecated"
+-#~ msgstr "l'ús d'expressions de conversió com \"lvalues\" és depreciada"
+-
+-#~ msgid "%s discards qualifiers from pointer target type"
+-#~ msgstr "%s descarta els qualificadors del tipus de la destinació del punter"
+-
+-#~ msgid "incompatible type for argument %d of indirect function call"
+-#~ msgstr "tipus incompatible per a l'argument %d de la crida indirecta a funció"
+-
+-#~ msgid "passing arg of `%s'"
+-#~ msgstr "passant l'argument de \"%s\""
+-
+-#~ msgid "passing arg %d of `%s'"
+-#~ msgstr "passant l'argument %d de \"%s\""
+-
+-#~ msgid "passing arg %d of pointer to function"
+-#~ msgstr "passant l'argument %d del punter a la funció"
+-
+-#~ msgid "asm template is not a string constant"
+-#~ msgstr "la plantilla asm no és una cadena constant"
+-
+-#~ msgid "modification by `asm'"
+-#~ msgstr "modificació per \"asm\""
+-
+-#~ msgid "return"
+-#~ msgstr "return"
+-
+-#~ msgid "shift count is negative"
+-#~ msgstr "valor de desplaçament a la dreta negatiu"
+-
+-#~ msgid "shift count >= width of type"
+-#~ msgstr "valor de desplaçament a la dreta >= amplària del tipus"
+-
+-#~ msgid "%Jinlining failed in call to '%F'"
+-#~ msgstr "%Jel \"inlining\" ha fallat en la crida a \"%F\""
+-
+-#~ msgid "%Jcan't inline call to '%F'"
+-#~ msgstr "%Jno es pot fer la crida «inline» a \"%F\""
+-
+-#~ msgid "redirecting stdout: %s"
+-#~ msgstr "redirigint sortida estàndard: %s"
+-
+-#~ msgid "pipe"
+-#~ msgstr "pipe"
+-
+-#~ msgid "fdopen"
+-#~ msgstr "fdopen"
+-
+-#~ msgid "dup2 %d 1"
+-#~ msgstr "dup2 %d 1"
+-
+-#~ msgid "close %d"
+-#~ msgstr "close %d"
+-
+-#~ msgid "execv %s"
+-#~ msgstr "execv %s"
+-
+-#~ msgid "unable to stat file '%s'"
+-#~ msgstr "no es pot avaluar el fitxer \"%s\""
+-
+-#~ msgid "unable to mmap file '%s'"
+-#~ msgstr "no es pot fer mmap al fitxer \"%s\""
+-
+-#~ msgid "not found\n"
+-#~ msgstr "no trobat\n"
+-
+-#~ msgid "bad magic number in file '%s'"
+-#~ msgstr "nombre màgic erroni en el fitxer \"%s\""
+-
+-#~ msgid "dynamic dependencies.\n"
+-#~ msgstr "dependències dinàmiques.\n"
+-
+-#~ msgid ""
+-#~ ";; Combiner statistics: %d attempts, %d substitutions (%d requiring new space),\n"
+-#~ ";; %d successes.\n"
+-#~ "\n"
+-#~ msgstr ""
+-#~ ";; Estadístiques del combinador: %d intents, %d substitucions (%d van requerir espai nou),\n"
+-#~ ";; %d èxits.\n"
+-#~ "\n"
+-
+-#~ msgid ""
+-#~ "\n"
+-#~ ";; Combiner totals: %d attempts, %d substitutions (%d requiring new space),\n"
+-#~ ";; %d successes.\n"
+-#~ msgstr ""
+-#~ "\n"
+-#~ ";; Totals del combinador: %d intents, %d substitucions (%d van requerir espai nou),\n"
+-#~ ";; %d èxits.\n"
+-
+-#~ msgid "`%s' is corrupted"
+-#~ msgstr "\"%s\" és corromput"
+-
+-#~ msgid "file %s not found, execution counts assumed to be zero"
+-#~ msgstr "no es troba el fitxer %s, s'assumeix que el compte d'execució és zero."
+-
+-#~ msgid "iconv_open"
+-#~ msgstr "\"iconv_open\""
+-
+-#~ msgid "universal character names are only valid in C++ and C99"
+-#~ msgstr "\"universal character names\" només són vàlid en C++ i C99"
+-
+-#~ msgid "the meaning of '\\%c' is different in traditional C"
+-#~ msgstr "el significat de \"\\%c\" és diferent en C tradicional"
+-
+-#~ msgid "incomplete universal character name %.*s"
+-#~ msgstr "\"universal character name\" incomplet %.*s"
+-
+-#~ msgid "universal character %.*s is not valid in an identifier"
+-#~ msgstr "\"universal character\" %.*s no és vàlid en l'identificador"
+-
+-#~ msgid "universal character %.*s is not valid at the start of an identifier"
+-#~ msgstr "\"universal-character\" %.*s no és vàlid a l'inici d'un identificador"
+-
+-#~ msgid "the meaning of '\\x' is different in traditional C"
+-#~ msgstr "el significat de \"\\x\" és diferent en C tradicional"
+-
+-#~ msgid "\\x used with no following hex digits"
+-#~ msgstr "es va usar \\x sense dígits hexadecimals a continuació"
+-
+-#~ msgid "hex escape sequence out of range"
+-#~ msgstr "seqüència d'escapament hexadecimal fora de límits"
+-
+-#~ msgid "octal escape sequence out of range"
+-#~ msgstr "seqüència d'escapament octal fora de límits"
+-
+-#~ msgid "the meaning of '\\a' is different in traditional C"
+-#~ msgstr "el significat de \"\\a\" és diferent en C tradicional"
+-
+-#~ msgid "non-ISO-standard escape sequence, '\\%c'"
+-#~ msgstr "seqüència d'escapament que no és estàndard ISO, \"\\%c\""
+-
+-#~ msgid "unknown escape sequence '\\%c'"
+-#~ msgstr "seqüència d'escapament \"\\%c\" desconeguda"
+-
+-#~ msgid "unknown escape sequence: '\\%03o'"
+-#~ msgstr "seqüència d'escapament desconeguda: '\\%03o'"
+-
+-#~ msgid "character constant too long for its type"
+-#~ msgstr "constant de caràcter massa gran pel seu tipus"
+-
+-#~ msgid "multi-character character constant"
+-#~ msgstr "constant de caràcter amb múltiples caràcters"
+-
+-#~ msgid "empty character constant"
+-#~ msgstr "constant de caràcter buida"
+-
+-#~ msgid "stdout"
+-#~ msgstr "stdout"
+-
+-#~ msgid "too many decimal points in number"
+-#~ msgstr "massa punts decimals en el nombre"
+-
+-#~ msgid "invalid digit \"%c\" in octal constant"
+-#~ msgstr "dígit \"%c\" no vàlid en la constant octal"
+-
+-#~ msgid "use of C99 hexadecimal floating constant"
+-#~ msgstr "ús d'una constant de coma flotant hexadecimal C99"
+-
+-#~ msgid "exponent has no digits"
+-#~ msgstr "exponent no té dígits"
+-
+-#~ msgid "traditional C rejects the \"%.*s\" suffix"
+-#~ msgstr "C tradicional rebutja el sufix \"%.*s\""
+-
+-#~ msgid "invalid suffix \"%.*s\" on integer constant"
+-#~ msgstr "sufix \"%.*s\" no vàlid en constant entera"
+-
+-#~ msgid "use of C99 long long integer constant"
+-#~ msgstr "ús d'una constant entera long long C99"
+-
+-#~ msgid "imaginary constants are a GCC extension"
+-#~ msgstr "les constants imaginàries són una extensió GCC"
+-
+-#~ msgid "integer constant is too large for its type"
+-#~ msgstr "la constant entera és massa gran per al seu tipus"
+-
+-#~ msgid "integer constant is so large that it is unsigned"
+-#~ msgstr "la constant entera és tan gran que és unsigned"
+-
+-#~ msgid "missing ')' after \"defined\""
+-#~ msgstr "falta \")\" després de \"defined\""
+-
+-#~ msgid "operator \"defined\" requires an identifier"
+-#~ msgstr "l'operador \"defined\" requereix un identificador"
+-
+-#~ msgid "(\"%s\" is an alternative token for \"%s\" in C++)"
+-#~ msgstr "(\"%s\" és un element alternatiu per a \"%s\" en C++)"
+-
+-#~ msgid "this use of \"defined\" may not be portable"
+-#~ msgstr "aquest ùs de \"defined\" podria ser no portable"
+-
+-#~ msgid "floating constant in preprocessor expression"
+-#~ msgstr "constant de coma flotant en l'expressió del preprocessador"
+-
+-#~ msgid "imaginary number in preprocessor expression"
+-#~ msgstr "nombre imaginari en l'expressió del preprocessador"
+-
+-#~ msgid "missing binary operator before token \"%s\""
+-#~ msgstr "operador binari faltant abans de l'element \"%s\""
+-
+-#~ msgid "token \"%s\" is not valid in preprocessor expressions"
+-#~ msgstr "l'element \"%s\" no és vàlid en les expressions del preprocesador"
+-
+-#~ msgid "missing expression between '(' and ')'"
+-#~ msgstr "expressió faltant entre \"(\" i \")\""
+-
+-#~ msgid "#if with no expression"
+-#~ msgstr "#if sense expressió"
+-
+-#~ msgid "operator '%s' has no right operand"
+-#~ msgstr "l'operador \"%s\" no té operand a la dreta"
+-
+-#~ msgid "operator '%s' has no left operand"
+-#~ msgstr "l'operador \"%s\" no té operand a l'esquera"
+-
+-#~ msgid " ':' without preceding '?'"
+-#~ msgstr " \":\" sense \"?\" precedent"
+-
+-#~ msgid "unbalanced stack in #if"
+-#~ msgstr "pila desequilibrada en #if"
+-
+-#~ msgid "impossible operator '%u'"
+-#~ msgstr "operador \"%u\" impossible"
+-
+-#~ msgid "'?' without following ':'"
+-#~ msgstr " \"?\" sense \":\" següent"
+-
+-#~ msgid "integer overflow in preprocessor expression"
+-#~ msgstr "desbordament d'enter en l'expressió del preprocessador"
+-
+-#~ msgid "missing '(' in expression"
+-#~ msgstr "\"(\" faltant en l'expressió"
+-
+-#~ msgid "the left operand of \"%s\" changes sign when promoted"
+-#~ msgstr "l'operand esquerra de \"%s\" canvia el signe quan és promogut"
+-
+-#~ msgid "the right operand of \"%s\" changes sign when promoted"
+-#~ msgstr "l'operand dret de \"%s\" canvia el signe quan és promogut"
+-
+-#~ msgid "comma operator in operand of #if"
+-#~ msgstr "operador coma en operand de #if"
+-
+-#~ msgid "division by zero in #if"
+-#~ msgstr "divisió per zero en #if"
+-
+-#~ msgid "%s is a block device"
+-#~ msgstr "%s és un dispositiu de blocs"
+-
+-#~ msgid "%s is too large"
+-#~ msgstr "%s és massa gran"
+-
+-#~ msgid "no include path in which to search for %s"
+-#~ msgstr "no hi ha ruta d'inclusió en la qual cercar %s"
+-
+-#~ msgid "Multiple include guards may be useful for:\n"
+-#~ msgstr "Guàrdies múltiples de include poden ser útils per a:\n"
+-
+-#~ msgid "cppchar_t must be an unsigned type"
+-#~ msgstr "cppchar_t ha de ser d'un tipus unsigned"
+-
+-#~ msgid "preprocessor arithmetic has maximum precision of %lu bits; target requires %lu bits"
+-#~ msgstr "l'aritmètica del preprocesador té una precisió màxima de %lu bits; l'objectiu requereix %lu bits"
+-
+-#~ msgid "CPP arithmetic must be at least as precise as a target int"
+-#~ msgstr "l'aritmètica de CPP ha de ser almenys tan precisa com un int de l'objectiu"
+-
+-#~ msgid "target char is less than 8 bits wide"
+-#~ msgstr "el char de l'objectiu té menys de 8 bits d'ample"
+-
+-#~ msgid "target wchar_t is narrower than target char"
+-#~ msgstr "el wchar_t de l'objectiu és més estret que el char de l'objectiu"
+-
+-#~ msgid "target int is narrower than target char"
+-#~ msgstr "el int de l'objectiu és més estret que el char de l'objectiu"
+-
+-#~ msgid "CPP half-integer narrower than CPP character"
+-#~ msgstr "el mitj-enter de CPP és més estret que el caràcter de CPP"
+-
+-#~ msgid "CPP on this host cannot handle wide character constants over %lu bits, but the target requires %lu bits"
+-#~ msgstr "CPP no pot manejar constants de caràcter amples més enllà de %lu bits en aquestobjectiu, però l'objectiu requereix %lu bits"
+-
+-#~ msgid "null character(s) ignored"
+-#~ msgstr "caràter(es) nul(s) ignorats"
+-
+-#~ msgid "'$' in identifier or number"
+-#~ msgstr "\"$\" en l'identificador o nombre"
+-
+-#~ msgid "attempt to use poisoned \"%s\""
+-#~ msgstr "intent d'usar \"%s\" enverinat"
+-
+-#~ msgid "__VA_ARGS__ can only appear in the expansion of a C99 variadic macro"
+-#~ msgstr "__VA_ARGS__ solament pot aparèixer en l'expansió d'una macro variadic C99"
+-
+-#~ msgid "null character(s) preserved in literal"
+-#~ msgstr "caràcter(es) nul(s) preservats en la literal"
+-
+-#~ msgid "unterminated comment"
+-#~ msgstr "comentari sense acabar"
+-
+-#~ msgid "C++ style comments are not allowed in ISO C90"
+-#~ msgstr "els comentaris d'estil C++ no són permesos en ISO C90"
+-
+-#~ msgid "(this will be reported only once per input file)"
+-#~ msgstr "(això es reportarà solament una vegada per cada fitxer d'entrada)"
+-
+-#~ msgid "multi-line comment"
+-#~ msgstr "comentari en múltiples línies"
+-
+-#~ msgid "unspellable token %s"
+-#~ msgstr "Element %s impronunciable"
+-
+-#~ msgid "extra tokens at end of #%s directive"
+-#~ msgstr "elements extra al final de la directiva #%s"
+-
+-#~ msgid "#%s is a GCC extension"
+-#~ msgstr "#%s és una extensió del GCC"
+-
+-#~ msgid "suggest not using #elif in traditional C"
+-#~ msgstr "es suggereix no usar #elif en C tradicional"
+-
+-#~ msgid "traditional C ignores #%s with the # indented"
+-#~ msgstr "C tradicional ignora #%s amb el # indentat"
+-
+-#~ msgid "suggest hiding #%s from traditional C with an indented #"
+-#~ msgstr "es suggereix ocultar #%s del C tradicional amb el # indentat"
+-
+-#~ msgid "style of line directive is a GCC extension"
+-#~ msgstr "l'estil de la directiva de línia és una extensió del GCC"
+-
+-#~ msgid "invalid preprocessing directive #%s"
+-#~ msgstr "directiva de preprocessament #%s no vàlida"
+-
+-#~ msgid "\"defined\" cannot be used as a macro name"
+-#~ msgstr "\"defined\" no es pot usar com un nom de macro"
+-
+-#~ msgid "no macro name given in #%s directive"
+-#~ msgstr "no es va donar un nom de macro en la directiva #%s"
+-
+-#~ msgid "macro names must be identifiers"
+-#~ msgstr "els noms de macro deuen ser identificadors"
+-
+-#~ msgid "undefining \"%s\""
+-#~ msgstr "esborrant la definició de \"%s\""
+-
+-#~ msgid "missing terminating > character"
+-#~ msgstr "falta el caràcter de terminació >"
+-
+-#~ msgid "#%s expects \"FILENAME\" or <FILENAME>"
+-#~ msgstr "#%s espera \"NOM_DE_FITXER\" o <NOM_DE_FITXER>"
+-
+-#~ msgid "#include_next in primary source file"
+-#~ msgstr "#include_next en el fitxer font primari"
+-
+-#~ msgid "invalid flag \"%s\" in line directive"
+-#~ msgstr "indicador \"%s\" no vàlid en la línia de la directiva"
+-
+-#~ msgid "\"%s\" after #line is not a positive integer"
+-#~ msgstr "\"%s\" desprès de #line no és un enter positiu"
+-
+-#~ msgid "line number out of range"
+-#~ msgstr "nombre de línia fora de límits"
+-
+-#~ msgid "\"%s\" after # is not a positive integer"
+-#~ msgstr "\"%s\" desprès de # no és un enter positiu"
+-
+-#~ msgid "invalid #ident directive"
+-#~ msgstr "directiva #ident no vàlida"
+-
+-#~ msgid "registering \"%s\" as both a pragma and a pragma namespace"
+-#~ msgstr "desant \"%s\" com a pragma i espai de noms de pragma"
+-
+-#~ msgid "#pragma once in main file"
+-#~ msgstr "#pragma una vegada en el fitxer principal"
+-
+-#~ msgid "invalid #pragma GCC poison directive"
+-#~ msgstr "directiva #pragma de GCC enverinada no vàlida"
+-
+-#~ msgid "poisoning existing macro \"%s\""
+-#~ msgstr "enverinant la macro existent \"%s\""
+-
+-#~ msgid "#pragma system_header ignored outside include file"
+-#~ msgstr "#pragma system_header ignorat fora del fitxer d'inclusió"
+-
+-#~ msgid "current file is older than %s"
+-#~ msgstr "el fitxer actual és més vell que %s"
+-
+-#~ msgid "#else without #if"
+-#~ msgstr "#else sense #if"
+-
+-#~ msgid "#else after #else"
+-#~ msgstr "#else després de #else"
+-
+-#~ msgid "#elif without #if"
+-#~ msgstr "#elif sense #if"
+-
+-#~ msgid "#elif after #else"
+-#~ msgstr "#elif després de #else"
+-
+-#~ msgid "#endif without #if"
+-#~ msgstr "#endif sense #if"
+-
+-#~ msgid "missing ')' to complete answer"
+-#~ msgstr "falta \")\" per a completar la resposta"
+-
+-#~ msgid "assertion without predicate"
+-#~ msgstr "afirmació sense predicat"
+-
+-#~ msgid "\"%s\" re-asserted"
+-#~ msgstr "\"%s\" reafirmat"
+-
+-#~ msgid "could not determine date and time"
+-#~ msgstr "no es pot determinar la data i l'hora"
+-
+-#~ msgid "invalid string literal, ignoring final '\\'"
+-#~ msgstr "cadena literal no vàlida, s'ignora el \"\\\" finals"
+-
+-#~ msgid "pasting \"%s\" and \"%s\" does not give a valid preprocessing token"
+-#~ msgstr "pegar \"%s\" i \"%s\" no dóna un element vàlid de preprocessament"
+-
+-#~ msgid "ISO C99 requires rest arguments to be used"
+-#~ msgstr "ISO C99 requereix que la resta dels arguments sigui usat"
+-
+-#~ msgid "macro \"%s\" requires %u arguments, but only %u given"
+-#~ msgstr "la macro \"%s\" requereix %u arguments, però sol es proporcionen %u"
+-
+-#~ msgid "macro \"%s\" passed %u arguments, but takes just %u"
+-#~ msgstr "la macro \"%s\" va rebre %u arguments, però solament va prendre %u"
+-
+-#~ msgid "unterminated argument list invoking macro \"%s\""
+-#~ msgstr "llista d'arguments sense acabar a l'invocar la macro \"%s\""
+-
+-#~ msgid "function-like macro \"%s\" must be used with arguments in traditional C"
+-#~ msgstr "la funció de macro \"%s\" es ha d'usar amb arguments en C tradicional"
+-
+-#~ msgid "duplicate macro parameter \"%s\""
+-#~ msgstr "paràmetre de macro \"%s\" duplicat"
+-
+-#~ msgid "\"%s\" may not appear in macro parameter list"
+-#~ msgstr "\"%s\" podria faltar en la llista de paràmetre de macro"
+-
+-#~ msgid "macro parameters must be comma-separated"
+-#~ msgstr "els paràmetres de macro deuen ser separats per comes"
+-
+-#~ msgid "parameter name missing"
+-#~ msgstr "falta el nom del paràmetre"
+-
+-#~ msgid "anonymous variadic macros were introduced in C99"
+-#~ msgstr "els macros variadic anònims es van introduir en C99"
+-
+-#~ msgid "ISO C requires whitespace after the macro name"
+-#~ msgstr "ISO C requereix espais en blanc després del nom de macro"
+-
+-#~ msgid "'#' is not followed by a macro parameter"
+-#~ msgstr "\"#\" no és seguit per un paràmetre de macro"
+-
+-#~ msgid "'##' cannot appear at either end of a macro expansion"
+-#~ msgstr "\"##\" no pot apareixer en o al final d'una expansió de macro"
+-
+-#~ msgid "macro argument \"%s\" would be stringified in traditional C"
+-#~ msgstr "l'argument de macro \"%s\" deuria ser convertit a cadena en C traditional"
+-
+-#~ msgid "invalid hash type %d in cpp_macro_definition"
+-#~ msgstr "tipus de hash %d no vàlid en cpp_macro_definition"
+-
+-#~ msgid ";; Processing block from %d to %d, %d sets.\n"
+-#~ msgstr ";; Processant el bloc de %d a %d, %d establerts.\n"
+-
+-#~ msgid "can't access real part of complex value in hard register"
+-#~ msgstr "No es pot accedir a la part real d'un valor complex en un registre fix"
+-
+-#~ msgid "can't access imaginary part of complex value in hard register"
+-#~ msgstr "No es pot accedir a la part imaginària d'un valor complex en un registre fix"
+-
+-#~ msgid "function using short complex types cannot be inline"
+-#~ msgstr "les funcions que usen tipus short complex no poden ser «inline»"
+-
+-#~ msgid "%Jprior parameter's size depends on '%D'"
+-#~ msgstr "%Jla grandària del paràmetre previ depèn de \"%D\""
+-
+-#~ msgid "returned value in block_exit_expr"
+-#~ msgstr "es va regressar un valor en block_exit_expr"
+-
+-#~ msgid "cannot take the address of an unaligned member"
+-#~ msgstr "no es pot prendre l'adreça d'un membre desalineat"
+-
+-#~ msgid "Attempt to delete prologue/epilogue insn:"
+-#~ msgstr "Intent d'esborrar insn pròleg/epíleg:"
+-
+-#~ msgid "%s (GCC) %s\n"
+-#~ msgstr "%s (GCC) %s\n"
+-
+-#~ msgid "warning: -pipe ignored because -time specified"
+-#~ msgstr "Avís: s'ignora -pipe perquè es va especificar -time"
+-
+-#~ msgid "invalid specification! Bug in cc"
+-#~ msgstr "Especificació no vàlida! Bug en cc."
+-
+-#~ msgid "Internal gcov abort.\n"
+-#~ msgstr "avortament intern de gcov.\n"
+-
+-#~ msgid "NULL pointer checks disabled"
+-#~ msgstr "verificacions de punters \"NULL\" desactivades"
+-
+-#~ msgid "function cannot be inline"
+-#~ msgstr "la funció no pot ser «inline»"
+-
+-#~ msgid "varargs function cannot be inline"
+-#~ msgstr "la funció varargs no pot ser «inline»"
+-
+-#~ msgid "function using alloca cannot be inline"
+-#~ msgstr "la funció que usa alloca no pot ser «inline»"
+-
+-#, fuzzy
+-#~ msgid "function using longjmp cannot be inline"
+-#~ msgstr "la funció que usa setjmp no pot ser «inline»"
+-
+-#~ msgid "function using setjmp cannot be inline"
+-#~ msgstr "la funció que usa setjmp no pot ser «inline»"
+-
+-#~ msgid "function uses __builtin_eh_return"
+-#~ msgstr "la funció usa __builtin_eh_return"
+-
+-#~ msgid "function with nested functions cannot be inline"
+-#~ msgstr "una funció amb funcions niades no pot ser «inline»"
+-
+-#~ msgid "function with label addresses used in initializers cannot inline"
+-#~ msgstr "una funció amb adreces d'etiquetes usada en iniciadors no pot ser «inline»"
+-
+-#~ msgid "function too large to be inline"
+-#~ msgstr "la funció és massa gran per a ser «inline»"
+-
+-#~ msgid "no prototype, and parameter address used; cannot be inline"
+-#~ msgstr "no hi ha prototip, i s'usen adreces de paràmetre; no pot ser «inline»"
+-
+-#~ msgid "inline functions not supported for this return value type"
+-#~ msgstr "no es dóna suport a funcions «inline» per a aquest tipus de valor de retorn"
+-
+-#~ msgid "function with varying-size return value cannot be inline"
+-#~ msgstr "una funció amb valor de retorn de grandària variable no pot ser «inline»"
+-
+-#~ msgid "function with varying-size parameter cannot be inline"
+-#~ msgstr "una funció amb paràmetre de grandària variable no pot ser «inline»"
+-
+-#~ msgid "function with transparent unit parameter cannot be inline"
+-#~ msgstr "una funció amb paràmetre d'unitat transparent no pot ser «inline»"
+-
+-#~ msgid "function with computed jump cannot inline"
+-#~ msgstr "una funció amb salt calculat no pot ser «inline»"
+-
+-#~ msgid "function with nonlocal goto cannot be inline"
+-#~ msgstr "una funció amb goto no local no pot ser «inline»"
+-
+-#~ msgid "function with target specific attribute(s) cannot be inlined"
+-#~ msgstr "una funció amb atribut(s) específic(s) de l'objectiu no pot ser «inline»"
+-
+-#~ msgid ""
+-#~ ",\n"
+-#~ " from %s:%u"
+-#~ msgstr ""
+-#~ ",\n"
+-#~ " des de %s:%u"
+-
+-#~ msgid "-fwritable-strings is deprecated; see documentation for details"
+-#~ msgstr "-fwritable-strings és obsolet, per favor vegi la documentació per a més detalls"
+-
+-#~ msgid "%s: internal abort\n"
+-#~ msgstr "%s: abandó intern\n"
+-
+-#~ msgid "jump to `%s' invalidly jumps into binding contour"
+-#~ msgstr "el salt a \"%s\" salta de forma no vàlida a un contorn d'unió"
+-
+-#~ msgid "%Jlabel '%D' used before containing binding contour"
+-#~ msgstr "%Jes va usar l'etiqueta \"%D\" abans que contingués un contorn d'unió"
+-
+-#, fuzzy
+-#~ msgid "%Junused variable '%D'"
+-#~ msgstr "variable \"%s\" sense ús"
+-
+-#~ msgid "case value `%ld' not in enumerated type `%s'"
+-#~ msgstr "el valor de «case» \"%ld\" no és un tipus enumerat \"%s\""
+-
+-#~ msgid "invalid register name `%s' for register variable"
+-#~ msgstr "el nom de registre \"%s\" no és vàlid per a variable de registre"
+-
+-#~ msgid ""
+-#~ "\n"
+-#~ "Target specific options:\n"
+-#~ msgstr ""
+-#~ "\n"
+-#~ "Opcions específiques de l'objectiu:\n"
+-
+-#, fuzzy
+-#~ msgid " -m%-23s [undocumented]\n"
+-#~ msgstr " -m%-23.23s [sense documentar]\n"
+-
+-#~ msgid ""
+-#~ "\n"
+-#~ "There are undocumented target specific options as well.\n"
+-#~ msgstr ""
+-#~ "\n"
+-#~ "A més hi ha opcions específiques de l'objectiu sense documentar.\n"
+-
+-#~ msgid "invalid initializer for bit string"
+-#~ msgstr "assignador no vàlid per a cadena de bits"
+-
+-#~ msgid "volatile register variables don't work as you might wish"
+-#~ msgstr "les variables de registre volatile no funcionen com vostè volgués"
+-
+-#, fuzzy
+-#~ msgid "%Jstorage size of `%D' isn't known"
+-#~ msgstr "no es coneix la grandària d'emmagatzematge de \"%D\""
+-
+-#~ msgid "unknown set constructor type"
+-#~ msgstr "conjunt de tipus constructor desconegut"
+-
+-#~ msgid "-msystem-v and -p are incompatible"
+-#~ msgstr "-msystem-v i -p són incompatibles"
+-
+-#~ msgid "-msystem-v and -mthreads are incompatible"
+-#~ msgstr "-msystem-v i -mthreads són incompatibles"
+-
+-#~ msgid "Do not use fp registers"
+-#~ msgstr "No usar registres fp"
+-
+-#~ msgid "Emit IEEE-conformant code, with inexact exceptions"
+-#~ msgstr "Emetre codi que compleixi amb IEEE, amb excepcions inexactes"
+-
+-#~ msgid "bad value (%s) for -mcpu switch"
+-#~ msgstr "valor erroni (%s) per a l'opció -mcpu"
+-
+-#~ msgid "target CPU does not support APCS-26"
+-#~ msgstr "el CPU objectiu no té suport per a APCS-26"
+-
+-#~ msgid "interworking forces APCS-32 to be used"
+-#~ msgstr "el treball intern força l'ús de APCS-32"
+-
+-#~ msgid "Use the 32-bit version of the APCS"
+-#~ msgstr "Usar la versió 32-bit del APCS"
+-
+-#~ msgid "The MMU will trap on unaligned accesses"
+-#~ msgstr "La MMU atraparà els accessos no alineats"
+-
+-#~ msgid "Use library calls to perform FP operations"
+-#~ msgstr "Usar crides a biblioteques per a realitzar les operacions de FP"
+-
+-#~ msgid "Do not move instructions into a function's prologue"
+-#~ msgstr "No moure les instruccions al pròleg d'una funció"
+-
+-#~ msgid "Assume int to be 8 bit integer"
+-#~ msgstr "Assumir que int sigui enter de 8 bit"
+-
+-#~ msgid "Specify the initial stack address"
+-#~ msgstr "Especificar l'adreça inicial de la pila"
+-
+-#~ msgid "Specify the MCU name"
+-#~ msgstr "Especificar el nom MCU"
+-
+-#~ msgid "unknown CPU version %d, using 40.\n"
+-#~ msgstr "versió desconeguda de CPU %d, usant 40.\n"
+-
+-#~ msgid "mode not QImode"
+-#~ msgstr "el moda no és QImode"
+-
+-#~ msgid "Do not use MPYI instruction for C3x"
+-#~ msgstr "No usar instrucció MPYI per a C3x"
+-
+-#~ msgid "Use slow but accurate float to integer conversion"
+-#~ msgstr "Usar conversió de coma flotant a enter lenta però exacta"
+-
+-#~ msgid "Disable use of RTPS instruction"
+-#~ msgstr "Desactivar l'ús de la instrucció RTPS"
+-
+-#~ msgid "Disable use of RTPB instruction"
+-#~ msgstr "Desactivar l'ús de la instrucció RTPB"
+-
+-#~ msgid "Emit code to use GAS extensions"
+-#~ msgstr "Emetre codi per a usar les extensions de GAS"
+-
+-#~ msgid "Don't save DP across ISR in small memory model"
+-#~ msgstr "No guardar DP entre ISR en el model de memòria small"
+-
+-#~ msgid "Disable new features under development"
+-#~ msgstr "Desactivar noves característiques en desenvolupament"
+-
+-#~ msgid "Disable debugging"
+-#~ msgstr "Desactivar la depuració"
+-
+-#~ msgid "Don't force constants into registers"
+-#~ msgstr "No forçar les constants en els registres"
+-
+-#~ msgid "Allow RTL generation to emit invalid 3 operand insns"
+-#~ msgstr "Permetre que la generació de RTL emeti 3 operandes insns no vàlids"
+-
+-#~ msgid "Disallow unsigned iteration counts for RPTB/DB"
+-#~ msgstr "No permetre comptes d'iteracions unsigned per a RPTB/DB"
+-
+-#~ msgid "Only preserve 32 bits of FP reg across call"
+-#~ msgstr "Només preservar 32 bits del registre FP entre crides"
+-
+-#~ msgid "Disable parallel instructions"
+-#~ msgstr "Desactivar les funcions paral·leles"
+-
+-#~ msgid "Disable MPY||ADD and MPY||SUB instructions"
+-#~ msgstr "Desactivar les instruccions MPY||ADD i MPY||SUB"
+-
+-#~ msgid "Select CPU to generate code for"
+-#~ msgstr "Seleccionar el CPU per al qual es genera codi"
+-
+-#~ msgid "allocated but unused delay list in epilogue"
+-#~ msgstr "llista d'alenteixo assignada però sense ús en l'epíleg"
+-
+-#~ msgid "unexpected function type needing stack adjustment for __builtin_eh_return"
+-#~ msgstr "el tipus de funció inesperat necessita un ajustament de pila per a _builtin_eh_return"
+-
+-#~ msgid "invalid operand for 'v' modifier"
+-#~ msgstr "operand no vàlid per al modificador \"v\""
+-
+-#~ msgid "invalid operand for 'P' modifier"
+-#~ msgstr "operand no vàlid per al modificador \"P\""
+-
+-#~ msgid "unrecognized supposed constant in cris_global_pic_symbol"
+-#~ msgstr "suposada constant no reconeguda en cris_global_pic_symbol"
+-
+-#~ msgid "unexpected NOTE as addr_const:"
+-#~ msgstr "NOTE com a addr_const inesperat:"
+-
+-#~ msgid "bad modes_tieable_p for register %s, mode1 %s, mode2 %s"
+-#~ msgstr "modes_tieable_p erroni per al registre %s, mode1 %s, mode2 %s"
+-
+-#~ msgid "bad insn to d30v_print_operand_address:"
+-#~ msgstr "insn erronia per a d30v_print_operand_address:"
+-
+-#~ msgid "bad insn to d30v_print_operand_memory_reference:"
+-#~ msgstr "insn erroni per a d30v_print_operand_memory_reference:"
+-
+-#~ msgid "bad insn to d30v_print_operand, 'f' modifier:"
+-#~ msgstr "insn erroni per a d30v_print_operand, modificador \"f\":"
+-
+-#~ msgid "bad insn to d30v_print_operand, 'A' modifier:"
+-#~ msgstr "insn erroni per a d30v_print_operand, modificador \"A\":"
+-
+-#~ msgid "bad insn to d30v_print_operand, 'M' modifier:"
+-#~ msgstr "insn erroni per a d30v_print_operand, modificador \"M\":"
+-
+-#~ msgid "bad insn to print_operand, 'F' or 'T' modifier:"
+-#~ msgstr "insn erroni per a print_operand, modificador \"F\" o \"T\":"
+-
+-#~ msgid "bad insn to print_operand, 'B' modifier:"
+-#~ msgstr "insn erroni per a print_operand, modificador \"B\":"
+-
+-#~ msgid "bad insn to print_operand, 'E' modifier:"
+-#~ msgstr "insn erroni per a print_operand, modificador \"E\":"
+-
+-#~ msgid "bad insn to print_operand, 'R' modifier:"
+-#~ msgstr "insn erroni per a print_operand, modificador \"R\":"
+-
+-#~ msgid "bad insn to print_operand, 's' modifier:"
+-#~ msgstr "insn erroni per a print_operand, modificador \"s\":"
+-
+-#~ msgid "bad insn in d30v_print_operand, 0 case"
+-#~ msgstr "insn erroni per a d30v_print_operand, «case» 0"
+-
+-#~ msgid "d30v_emit_comparison"
+-#~ msgstr "d30v_emit_comparison"
+-
+-#~ msgid "bad call to d30v_move_2words"
+-#~ msgstr "cirdada ad30v_move_2words errònia"
+-
+-#~ msgid "Disable use of conditional move instructions"
+-#~ msgstr "Desactivar l'ús de les instruccions condicionals move"
+-
+-#~ msgid "Debug argument support in compiler"
+-#~ msgstr "Suport per a depuració d'arguments en el compilador"
+-
+-#~ msgid "Debug stack support in compiler"
+-#~ msgstr "Suport per a depuració de pila en el compilador"
+-
+-#~ msgid "Debug memory address support in compiler"
+-#~ msgstr "Suport per a depuració d'adreces de memòria en el compilador"
+-
+-#~ msgid "Make adjacent short instructions parallel if possible"
+-#~ msgstr "Fer paral·leles les instruccions adjacents talles siés possible."
+-
+-#~ msgid "Do not make adjacent short instructions parallel"
+-#~ msgstr "No fer paral·leles les instruccions adjacents."
+-
+-#~ msgid "Link programs/data to be in external memory by default"
+-#~ msgstr "Enllaçar programes/dades per a estar en la memòria externa per omissió"
+-
+-#~ msgid "Link programs/data to be in onchip memory by default"
+-#~ msgstr "Enllaçar programes/dades per a estar en la memòria del xip per omissió"
+-
+-#~ msgid "Change the branch costs within the compiler"
+-#~ msgstr "Canviar els costos de ramificació dintre del compilador"
+-
+-#~ msgid "Change the threshold for conversion to conditional execution"
+-#~ msgstr "Canviar el llindar per a la conversió a execució condicional"
+-
+-#~ msgid "stack size > 32k"
+-#~ msgstr "Grandària de la pila > 32k"
+-
+-#~ msgid "invalid addressing mode"
+-#~ msgstr "mode d'adreçament no vàlid"
+-
+-#~ msgid "invalid offset in ybase addressing"
+-#~ msgstr "desplaçament no vàlid en l'adreçament de ybase"
+-
+-#~ msgid "invalid register in ybase addressing"
+-#~ msgstr "registre no vàlid en l'adreçament de ybase"
+-
+-#~ msgid "invalid shift operator in emit_1600_core_shift"
+-#~ msgstr "operador de desplaçament no vàlid en emit_1600_core_shift"
+-
+-#~ msgid "invalid mode for gen_tst_reg"
+-#~ msgstr "mode no vàlid per a gen_tst_reg"
+-
+-#~ msgid "invalid mode for integer comparison in gen_compare_reg"
+-#~ msgstr "mode no vàlid per a la comparança entera en gen_compari_reg"
+-
+-#~ msgid "Pass parameters in registers (default)"
+-#~ msgstr "Passar els paràmetres en els registres (per omissió)"
+-
+-#~ msgid "Don't pass parameters in registers"
+-#~ msgstr "No passar els paràmetres en els registres"
+-
+-#~ msgid "Generate code for near calls"
+-#~ msgstr "Genera codi per a crides near"
+-
+-#~ msgid "Generate code for near jumps"
+-#~ msgstr "Genera codi per a salts near"
+-
+-#~ msgid "Don't generate code for near jumps"
+-#~ msgstr "No generis codi per a salts near"
+-
+-#~ msgid "Generate code for a bit-manipulation unit"
+-#~ msgstr "Genera codi per a una unitat de manipulació de bits"
+-
+-#~ msgid "Don't generate code for a bit-manipulation unit"
+-#~ msgstr "No generar codi per a una unitat de manipulació de bits"
+-
+-#~ msgid "Generate code for memory map1"
+-#~ msgstr "Generar codi per a memory map1"
+-
+-#~ msgid "Generate code for memory map2"
+-#~ msgstr "Generar codi per a memory map2"
+-
+-#~ msgid "Generate code for memory map3"
+-#~ msgstr "Generar codi per a memory map3"
+-
+-#~ msgid "Generate code for memory map4"
+-#~ msgstr "Generar codi per a memory map4"
+-
+-#~ msgid "Ouput extra code for initialized data"
+-#~ msgstr "Generar codi extra per a dades inicialitzades"
+-
+-#~ msgid "Don't let reg. allocator use ybase registers"
+-#~ msgstr "No permetre que el assignador de registres usi registres ybase"
+-
+-#~ msgid "Output extra debug info in Luxworks environment"
+-#~ msgstr "Generar informació extra de depuració en l'ambit Luxworks"
+-
+-#~ msgid "Save temp. files in Luxworks environment"
+-#~ msgstr "Guardar els fitxers temporals en l'ambit Luxworks"
+-
+-#~ msgid "Specify alternate name for data section"
+-#~ msgstr "Especificar un nom alternatiu per a la secció de dades"
+-
+-#~ msgid "Specify alternate name for dsp16xx chip"
+-#~ msgstr "Especificar un nom alternatiu per a el xip dsp16xx"
+-
+-#~ msgid "profiling not implemented yet"
+-#~ msgstr "no s'ha implementat encara profiling"
+-
+-#~ msgid "trampolines not yet implemented"
+-#~ msgstr "no s'han implementat encara trampolin"
+-
+-#~ msgid "Bad insn to frv_print_operand, 'c' modifier:"
+-#~ msgstr "insn erroni per a frv_print_operand, modificador \"c\":"
+-
+-#~ msgid "Do not generate H8S code"
+-#~ msgstr "No generar codi H8S"
+-
+-#~ msgid "Do not generate H8S/2600 code"
+-#~ msgstr "No generar codi H8S/2600"
+-
+-#~ msgid "Do not use registers for argument passing"
+-#~ msgstr "No usar registres per a pas de paràmetres"
+-
+-#~ msgid "Do not generate H8/300H code"
+-#~ msgstr "No generar codi H8/300H"
+-
+-#~ msgid "malformed #pragma map, ignored"
+-#~ msgstr "#pragma map malformat, ignorat"
+-
+-#~ msgid "real name is too long - alias ignored"
+-#~ msgstr "el nom real és massa llargària - s'ignora l'alies"
+-
+-#~ msgid "alias name is too long - alias ignored"
+-#~ msgstr "el nom d'alies és massa llargària - s'ignora l'alies"
+-
+-#~ msgid "internal error--no jump follows compare:"
+-#~ msgstr "error intern--no hi ha salts a continuació de la comparança:"
+-
+-#~ msgid "Do not generate char instructions"
+-#~ msgstr "No generar instruccions char"
+-
+-#~ msgid "code model `large' not supported yet"
+-#~ msgstr "el model de codi \"large\" not té suport"
+-
+-#~ msgid "-malign-double makes no sense in the 64bit mode"
+-#~ msgstr "-malign-double no té sentit en el mode 64 bit"
+-
+-#, fuzzy
+-#~ msgid "%J'%D' causes a section type conflict"
+-#~ msgstr "%s causa un conflicte de tipus de secció"
+-
+-#~ msgid "Use the Mingw32 interface"
+-#~ msgstr "Usar la interfície Mingw32"
+-
+-#~ msgid "Don't set Windows defines"
+-#~ msgstr "No establir les definicions de Windows"
+-
+-#~ msgid "Align doubles on word boundary"
+-#~ msgstr "Alinear dobles en límits de word"
+-
+-#~ msgid "Uninitialized locals in .bss"
+-#~ msgstr "Locals sense valors inicials en .bss"
+-
+-#~ msgid "Uninitialized locals in .data"
+-#~ msgstr "Locals sense valors inicials en .data"
+-
+-#~ msgid "Do not use IEEE math for fp comparisons"
+-#~ msgstr "No usar matemàtica IEEE per a comparances fp"
+-
+-#~ msgid "Do not return values of functions in FPU registers"
+-#~ msgstr "No retornar valors de funcions en registres FPU"
+-
+-#~ msgid "Do not generate sin, cos, sqrt for FPU"
+-#~ msgstr "No generar sin, cos, sqrt per a FPU"
+-
+-#~ msgid "Do not align destination of the string operations"
+-#~ msgstr "No alinear destinació de les operacions de cadenes"
+-
+-#~ msgid "Do not inline all known string operations"
+-#~ msgstr "No convertir a «inline» totes les operacions de cadenes conegudes"
+-
+-#~ msgid "Do not support 3DNow! built-in functions"
+-#~ msgstr "No donar suport per a funcions internes 3DNow!"
+-
+-#~ msgid "Do not support MMX and SSE built-in functions and code generation"
+-#~ msgstr "No donar suport per a funcions internes MMX i SSE i generació de codi"
+-
+-#~ msgid "Do not support MMX, SSE, SSE2 and SSE3 built-in functions and code generation"
+-#~ msgstr "No donar suport per a funcions internes MMX, SSE, SSE2 i SSE3 i generació de codi"
+-
+-#~ msgid "Do not use red-zone in the x86-64 code"
+-#~ msgstr "No usar red-zone en el codi x86-64"
+-
+-#~ msgid "sorry, not implemented: #pragma align NAME=SIZE"
+-#~ msgstr "disculpi, no s'ha implementar: #pragma align NAME=SIZE"
+-
+-#~ msgid "sorry, not implemented: #pragma noalign NAME"
+-#~ msgstr "disculpi, no s'ha implementat: #pragma noalign NAME"
+-
+-#~ msgid "conflicting architectures defined - using C series"
+-#~ msgstr "es van definir arquitectures en conflicte - usant les sèries C"
+-
+-#~ msgid "conflicting architectures defined - using K series"
+-#~ msgstr "es van definir arquitectures en conflicte - usant les sèries K"
+-
+-#~ msgid "iC2.0 and iC3.0 are incompatible - using iC3.0"
+-#~ msgstr "iC2.0 i iC3.0 són incompatibles - usant iC3.0"
+-
+-#~ msgid "Generate SB code"
+-#~ msgstr "Generar codi SB"
+-
+-#~ msgid "Generate KA code"
+-#~ msgstr "Generar codi KA"
+-
+-#~ msgid "Generate KB code"
+-#~ msgstr "Generar codi KB"
+-
+-#~ msgid "Generate JA code"
+-#~ msgstr "Generar codi JA"
+-
+-#~ msgid "Generate JD code"
+-#~ msgstr "Generar codi JD"
+-
+-#~ msgid "Generate JF code"
+-#~ msgstr "Generar codi JF"
+-
+-#~ msgid "generate RP code"
+-#~ msgstr "generar codi RP"
+-
+-#~ msgid "Generate MC code"
+-#~ msgstr "Generar codi MC"
+-
+-#~ msgid "Generate CA code"
+-#~ msgstr "Generar codi CA"
+-
+-#~ msgid "Generate CF code"
+-#~ msgstr "Generar codi CF"
+-
+-#~ msgid "Use alternate leaf function entries"
+-#~ msgstr "Usar entrades de funció fulles alternades"
+-
+-#~ msgid "Do not use alternate leaf function entries"
+-#~ msgstr "No usar entrades de funció fulles alternades"
+-
+-#~ msgid "Do not perform tail call optimization"
+-#~ msgstr "No realitzar optimització de la crida de l'extrem"
+-
+-#~ msgid "Use complex addressing modes"
+-#~ msgstr "Usar modes d'adreçament complexos"
+-
+-#~ msgid "Do not use complex addressing modes"
+-#~ msgstr "No usar modes d'adreçament complexos"
+-
+-#~ msgid "Align code to 8 byte boundary"
+-#~ msgstr "Alinear el codi a límits de 8 octet"
+-
+-#~ msgid "Do not align code to 8 byte boundary"
+-#~ msgstr "No alinear el codi a límits de 8 octet"
+-
+-#~ msgid "Enable compatibility with iC960 v2.0"
+-#~ msgstr "Activar la compatibilitat amb iC960 v2.0"
+-
+-#~ msgid "Enable compatibility with iC960 v3.0"
+-#~ msgstr "Activar la compatibilitat amb iC960 v3.0"
+-
+-#~ msgid "Enable compatibility with ic960 assembler"
+-#~ msgstr "Activar la compatibilitat amb el ensamblador ic960"
+-
+-#~ msgid "Do not permit unaligned accesses"
+-#~ msgstr "No permetre accessos sense alinear"
+-
+-#~ msgid "Permit unaligned accesses"
+-#~ msgstr "Permetre accessos sense alinear"
+-
+-#~ msgid "Layout types like Intel's v1.3 gcc"
+-#~ msgstr "Presentar tipus com en el gcc v1.3 de Intel"
+-
+-#~ msgid "Do not layout types like Intel's v1.3 gcc"
+-#~ msgstr "No presentar tipus com en el gcc v1.3 de Intel"
+-
+-#~ msgid "Use 64 bit long doubles"
+-#~ msgstr "Usar long doubles de 64 bit"
+-
+-#~ msgid "Enable linker relaxation"
+-#~ msgstr "Activar la relaxació del enllaçador"
+-
+-#~ msgid "Do not enable linker relaxation"
+-#~ msgstr "Desactivar la relaxació del enllaçador"
+-
+-#~ msgid "cannot optimize floating point division for both latency and throughput"
+-#~ msgstr "no es pot optimitzar la divisió de coma flotant per a latència i sortida al mateix temps"
+-
+-#~ msgid "cannot optimize integer division for both latency and throughput"
+-#~ msgstr "no es pot optimitzar la divisió entera per a latència i sortida al mateix temps"
+-
+-#, fuzzy
+-#~ msgid "cannot optimize square root for both latency and throughput"
+-#~ msgstr "no es pot optimitzar la divisió entera per a latència i sortida al mateix temps"
+-
+-#, fuzzy
+-#~ msgid "bad value (%s) for -tune= switch"
+-#~ msgstr "valor erroni (%s) per a l'opció -mcpu="
+-
+-#~ msgid "Generate code for Intel ld"
+-#~ msgstr "Generar codi per a Intel ld"
+-
+-#~ msgid "Don't emit stop bits before and after volatile extended asms"
+-#~ msgstr "No emetre bits de desocupada abans i després d'asms extesos amb volatile"
+-
+-#~ msgid "Emit code for Itanium (TM) processor B step"
+-#~ msgstr "Emetre codi per a Itanium (TM) processador de pas B"
+-
+-#~ msgid "Disable use of sdata/scommon/sbss"
+-#~ msgstr "Desactivar l'ús de sdata/scommon/sbss"
+-
+-#~ msgid "Disable Dwarf 2 line debug info via GNU as"
+-#~ msgstr "Desactivar la informació de la línia de depuració Dwarf 2 a través com de GNU"
+-
+-#~ msgid "bad value (%s) for -mcpu= switch"
+-#~ msgstr "valor erroni (%s) per a l'opció -mcpu="
+-
+-#~ msgid "The compiler does not support -march=%s."
+-#~ msgstr "El compilador no dóna suport a -march=%s."
+-
+-#~ msgid "Don't use GP relative sdata/sbss sections"
+-#~ msgstr "No usar seccions sdata/sbss relatives a GP"
+-
+-#~ msgid "Don't use ROM instead of RAM"
+-#~ msgstr "No usar ROM enlloc de RAM"
+-
+-#~ msgid "Don't put uninitialized constants in ROM"
+-#~ msgstr "No posar les constants sense inicialitzar en ROM"
+-
+-#~ msgid "bad value (%s) for -mmodel switch"
+-#~ msgstr "valor erroni (%s) per a l'opció -mmodel"
+-
+-#~ msgid "bad value (%s) for -msdata switch"
+-#~ msgstr "valor erroni (%s) per a l'opció -msdata"
+-
+-#~ msgid "bad value (%s) for -flush-trap=n (0=<n<=15)"
+-#~ msgstr "valor erroni (%s) per a -flush-trap=n (0=<n<=15)"
+-
+-#~ msgid "-malign-loops=%d is not between 1 and %d"
+-#~ msgstr "-malign-loops=%d no és entre 1 i %d"
+-
+-#~ msgid "-malign-jumps=%d is not between 1 and %d"
+-#~ msgstr "-malign-jumps=%d no és entre 1 i %d"
+-
+-#~ msgid "-malign-functions=%d is not between 1 and %d"
+-#~ msgstr "-malign-functions=%d no és entre 1 i %d"
+-
+-#~ msgid "Do no generate code for a 68851"
+-#~ msgstr "No generar codi per a un 68851"
+-
+-#~ msgid "Use unaligned memory references"
+-#~ msgstr "Usar referències a memòria sense alinear"
+-
+-#~ msgid "invalid option `-mstack-increment=%s'"
+-#~ msgstr "opció no vàlida \"-mstack-increment=%s\""
+-
+-#~ msgid "Inline constants if it only takes 1 instruction"
+-#~ msgstr "«inline» constants si només pren 1 instrucció"
+-
+-#~ msgid "Force functions to be aligned to a 2 byte boundary"
+-#~ msgstr "Forçar que les funcions s'alineïn a un límit de 2 octet"
+-
+-#~ msgid "bad value (%s) for -mabi= switch"
+-#~ msgstr "valor erroni (%s) per a l'opció -mabi="
+-
+-#, fuzzy
+-#~ msgid "-g is only supported using GNU as with -mabi=32,"
+-#~ msgstr "-g només té suport quan s'usa GAS en aquest processador,"
+-
+-#~ msgid "-G and -membedded-pic are incompatible"
+-#~ msgstr "-G i -membedded-pic són incompatibles"
+-
+-#~ msgid "internal error: %%) found without a %%( in assembler pattern"
+-#~ msgstr "error intern: es va trobar %%) sense un %%( en el patró de l'ensamblador"
+-
+-#~ msgid "internal error: %%] found without a %%[ in assembler pattern"
+-#~ msgstr "error intern: es va trobar %%] sense un %%[ en el patró de l'ensamblador"
+-
+-#~ msgid "internal error: %%> found without a %%< in assembler pattern"
+-#~ msgstr "error intern: es va trobar %%> sense un %%< en el patró de l'ensamblador"
+-
+-#~ msgid "internal error: %%} found without a %%{ in assembler pattern"
+-#~ msgstr "error intern: es va trobar %%} sense un %%{ en el patró de l'ensamblador"
+-
+-#~ msgid "PRINT_OPERAND: unknown punctuation '%c'"
+-#~ msgstr "PRINT_OPERAND: puntuació desconeguda \"%c\""
+-
+-#, fuzzy
+-#~ msgid "PRINT_OPERAND, invalid insn for %%C"
+-#~ msgstr "PRINT_OPERAND punter nul"
+-
+-#, fuzzy
+-#~ msgid "PRINT_OPERAND, invalid insn for %%N"
+-#~ msgstr "PRINT_OPERAND punter nul"
+-
+-#, fuzzy
+-#~ msgid "PRINT_OPERAND, invalid insn for %%F"
+-#~ msgstr "PRINT_OPERAND punter nul"
+-
+-#, fuzzy
+-#~ msgid "PRINT_OPERAND, invalid insn for %%W"
+-#~ msgstr "PRINT_OPERAND punter nul"
+-
+-#~ msgid "bad value (%s) for %s"
+-#~ msgstr "valor erroni (%s) per a %s"
+-
+-#, fuzzy
+-#~ msgid "can't rewind temp file: %m"
+-#~ msgstr "no es pot rebobinar el fitxer temporal"
+-
+-#, fuzzy
+-#~ msgid "can't write to output file: %m"
+-#~ msgstr "no es pot escriure al fitxer de sortida"
+-
+-#, fuzzy
+-#~ msgid "can't read from temp file: %m"
+-#~ msgstr "no es pot llegir des del fitxer temporal"
+-
+-#, fuzzy
+-#~ msgid "can't close temp file: %m"
+-#~ msgstr "no es pot tancar el fitxer temporal"
+-
+-#~ msgid "Don't optimize lui/addiu address loads"
+-#~ msgstr "No optimitzar les càrregues de les adreces lui/addiu"
+-
+-#~ msgid "Use MIPS as"
+-#~ msgstr "Usar l'as de MIPS"
+-
+-#~ msgid "Use GNU as"
+-#~ msgstr "Usar l'as de GNU"
+-
+-#~ msgid "Use symbolic register names"
+-#~ msgstr "Usar noms simbòlics de registre"
+-
+-#~ msgid "Don't use symbolic register names"
+-#~ msgstr "No usar noms simbòlics de registre"
+-
+-#, fuzzy
+-#~ msgid "Use GP relative sdata/sbss sections (now ignored)"
+-#~ msgstr "Usar seccions sdata/sbss relatives a GP"
+-
+-#, fuzzy
+-#~ msgid "Don't use GP relative sdata/sbss sections (now ignored)"
+-#~ msgstr "No usar seccions sdata/sbss relatives a GP"
+-
+-#, fuzzy
+-#~ msgid "Output compiler statistics (now ignored)"
+-#~ msgstr "Mostrar la sortida d'estadístiques del compilador"
+-
+-#~ msgid "Don't output compiler statistics"
+-#~ msgstr "No mostrar la sortida d'estadístiques del compilador"
+-
+-#~ msgid "Optimize block moves"
+-#~ msgstr "Optimitzar els moviments de blocs"
+-
+-#~ msgid "Don't use mips-tfile asm postpass"
+-#~ msgstr "No usar mips-tfile asm postpass"
+-
+-#~ msgid "Use 32-bit FP registers"
+-#~ msgstr "Usar registres FP de 32 bits"
+-
+-#~ msgid "Use Irix PIC"
+-#~ msgstr "Usar PIC de Irix"
+-
+-#~ msgid "Don't use Irix PIC"
+-#~ msgstr "No usar PIC de Irix"
+-
+-#~ msgid "Don't use indirect calls"
+-#~ msgstr "No usar crides indirectes"
+-
+-#~ msgid "Use embedded PIC"
+-#~ msgstr "Usar el PIC incrustat"
+-
+-#~ msgid "Don't use embedded PIC"
+-#~ msgstr "No usar el PIC incrustat"
+-
+-#~ msgid "Use single (32-bit) FP only"
+-#~ msgstr "Usar únicament una sola FP (32-bit)"
+-
+-#~ msgid "Don't use single (32-bit) FP only"
+-#~ msgstr "No usar únicament una sola FP (32-bit)"
+-
+-#~ msgid "Don't use multiply accumulate"
+-#~ msgstr "No usar el acumulador de multiplicació"
+-
+-#~ msgid "Don't generate fused multiply/add instructions"
+-#~ msgstr "No generar instruccions multiply/add de curt circuit"
+-
+-#~ msgid "Don't work around early 4300 hardware bug"
+-#~ msgstr "No evitar el bug del primer maquinari 4300"
+-
+-#~ msgid "Don't trap on integer divide by zero"
+-#~ msgstr "No atrapar la divisió entera per zero"
+-
+-#, fuzzy
+-#~ msgid "Generate mips16 code"
+-#~ msgstr "Generar codi SA"
+-
+-#~ msgid "Specify a Standard MIPS ISA"
+-#~ msgstr "Especificar el ISA de MIPS standard"
+-
+-#~ msgid "Do not work around hardware multiply bug"
+-#~ msgstr "No evitar el error de multiplicació de maquinari"
+-
+-#~ msgid "Don't use hardware fp"
+-#~ msgstr "No usar el fp de maquinari"
+-
+-#~ msgid "Alternative calling convention"
+-#~ msgstr "Convenció de cridada alternativa"
+-
+-#~ msgid "Pass some arguments in registers"
+-#~ msgstr "Passar alguns arguments en registres"
+-
+-#~ msgid "Pass all arguments on stack"
+-#~ msgstr "Passar tots els arguments en la pila"
+-
+-#~ msgid "Optimize for 32532 cpu"
+-#~ msgstr "Optimitzar per al cpu 32532"
+-
+-#~ msgid "Optimize for 32332 cpu"
+-#~ msgstr "Optimitzar per al cpu 32332"
+-
+-#~ msgid "Optimize for 32032"
+-#~ msgstr "Optimitzar per a 32032"
+-
+-#~ msgid "Register sb is zero. Use for absolute addressing"
+-#~ msgstr "El registre sb és zero. S'usa per a adreçament absolut"
+-
+-#~ msgid "Do not use register sb"
+-#~ msgstr "No usar el registre sb"
+-
+-#~ msgid "Do not use bit-field instructions"
+-#~ msgstr "No usar instruccions de camps de bit"
+-
+-#~ msgid "Generate code for high memory"
+-#~ msgstr "Generar codi per a memòria alta"
+-
+-#~ msgid "Generate code for low memory"
+-#~ msgstr "Generar codi per a memòria baixa"
+-
+-#~ msgid "32381 fpu"
+-#~ msgstr "fpu 32381"
+-
+-#~ msgid "Do not use multiply-accumulate fp instructions"
+-#~ msgstr "No usar instruccions de fp per a multiplicar-acumular"
+-
+-#~ msgid "\"Small register classes\" kludge"
+-#~ msgstr "kludge de \"Classes de registre petites\""
+-
+-#~ msgid "No \"Small register classes\" kludge"
+-#~ msgstr "No kludge de \"Classes de registre petites\""
+-
+-#~ msgid ""
+-#~ "unknown -march= option (%s).\n"
+-#~ "Valid options are 1.0, 1.1, and 2.0\n"
+-#~ msgstr ""
+-#~ "opció -march= desconeguda (%s).\n"
+-#~ "Les opcions vàlides són 1.0, 1.1, i 2.0\n"
+-
+-#~ msgid "Do not disable FP regs"
+-#~ msgstr "No desactivar registres FP"
+-
+-#~ msgid "Do not disable indexed addressing"
+-#~ msgstr "No desactivar adreçament indexat"
+-
+-#~ msgid "Do not use portable calling conventions"
+-#~ msgstr "No usar convencions de cridada portable"
+-
+-#~ msgid "Do not use software floating point"
+-#~ msgstr "No usa coma flotant de programari"
+-
+-#~ msgid "Do not emit long load/store sequences"
+-#~ msgstr "No emetre seqüències load/store llargues"
+-
+-#~ msgid "Do not generate fast indirect calls"
+-#~ msgstr "No generar crides indirectes ràpides"
+-
+-#~ msgid "Do not generate code for huge switch statements"
+-#~ msgstr "No generar codi per a declaracions «switch» llargues"
+-
+-#~ msgid "Return floating point results in memory"
+-#~ msgstr "Retorna els resultats en coma flotant en memòria"
+-
+-#~ msgid "Target does not have split I&D"
+-#~ msgstr "L'objectiu no té un I&D dividit"
+-
+-#~ msgid "Always pass floating-point arguments in memory"
+-#~ msgstr "Passar sempre els arguments de coma flotant en memòria"
+-
+-#~ msgid "Don't always pass floating-point arguments in memory"
+-#~ msgstr "No passar sempre els arguments de coma flotant en memòria"
+-
+-#, fuzzy
+-#~ msgid "-fpic is not supported; -fPIC assumed"
+-#~ msgstr "el model de codi %s no té suport en el mode PIC"
+-
+-#, fuzzy
+-#~ msgid "Call mcount for profiling after a function prologue"
+-#~ msgstr "No moure les instruccions al pròleg d'una funció"
+-
+-#~ msgid "Do not use POWER2 instruction set"
+-#~ msgstr "No usar el conjunt d'instruccions POWER2"
+-
+-#, fuzzy
+-#~ msgid "Do not use PowerPC General Purpose group optional instructions"
+-#~ msgstr "No usar el grup opcional d'instruccions PowerPC de Propòsit General"
+-
+-#, fuzzy
+-#~ msgid "Do not use PowerPC Graphics group optional instructions"
+-#~ msgstr "No usar el grup opcional d'instruccions PowerPC de Gràfiques"
+-
+-#, fuzzy
+-#~ msgid "Do not use PowerPC-64 instruction set"
+-#~ msgstr "No usar el conjunt d'instruccions PowerPC-64"
+-
+-#~ msgid "Place variable addresses in the regular TOC"
+-#~ msgstr "Col·locar les adreces variables en el TOC normal"
+-
+-#~ msgid "Do not generate load/store multiple instructions"
+-#~ msgstr "No generar múltiples instruccions load/store"
+-
+-#~ msgid "Do not generate string instructions for block moves"
+-#~ msgstr "No generar instruccions de cadena per a moviment de blocs"
+-
+-#~ msgid "Don't align to the base type of the bit-field"
+-#~ msgstr "No alinear al tipus base del camp de bit"
+-
+-#~ msgid "Don't assume that unaligned accesses are handled by the system"
+-#~ msgstr "No assumir que els accessos sense alinear són manejats pel sistema"
+-
+-#~ msgid "Assume that unaligned accesses are handled by the system"
+-#~ msgstr "Assumir que els accessos sense alinear són manejats pel sistema"
+-
+-#~ msgid "Don't produce code relocatable at runtime"
+-#~ msgstr "No produir codi re-ubicable en el moment d'execució"
+-
+-#~ msgid "Don't use EABI"
+-#~ msgstr "No usar EABI"
+-
+-#~ msgid "Don't use alternate register names"
+-#~ msgstr "No usar noms de registre alternats"
+-
+-#, fuzzy
+-#~ msgid "Unknown cpu used in -mtune=%s."
+-#~ msgstr "especificació de versió de cpu de CRIS desconeguda en -mtune= : %s"
+-
+-#~ msgid "invalid UNSPEC as operand (1)"
+-#~ msgstr "UNSPEC no vàlid com a operand (1)"
+-
+-#~ msgid "invalid UNSPEC as operand (2)"
+-#~ msgstr "UNSPEC no vàlid com a operand (2)"
+-
+-#~ msgid "UNKNOWN in s390_output_symbolic_const !?"
+-#~ msgstr "UNKNOWN en s390_output_symbolic_const !?"
+-
+-#~ msgid "Set backchain"
+-#~ msgstr "Establir la cadena cap a endarrere"
+-
+-#~ msgid "Don't set backchain (faster, but debug harder"
+-#~ msgstr "No establir la cadena cap a endarrere (més ràpid, però més difícil de depurar"
+-
+-#~ msgid "Don't use bras"
+-#~ msgstr "No usar bras"
+-
+-#~ msgid "Don't print additional debug prints"
+-#~ msgstr "No imprimir impressions addicionals de depuració"
+-
+-#~ msgid "mvc&ex"
+-#~ msgstr "mvc&ex"
+-
+-#, fuzzy
+-#~ msgid "enable tpf OS code"
+-#~ msgstr "Generar codi SA"
+-
+-#, fuzzy
+-#~ msgid "disable fused multiply/add instructions"
+-#~ msgstr "Generar instruccions multiply/add de curt circuit"
+-
+-#~ msgid "invalid %%C operand"
+-#~ msgstr "operand %%C no vàlid"
+-
+-#~ msgid "invalid %%D operand"
+-#~ msgstr "operand %%D no vàlid"
+-
+-#~ msgid "Use 128 bit long doubles"
+-#~ msgstr "Usar long doubles de 128 bits"
+-
+-#~ msgid "Do not pass -assert pure-text to linker"
+-#~ msgstr "No passar el text pur de -assert al enllaçador"
+-
+-#~ msgid "Use flat register window model"
+-#~ msgstr "Usar el model pla de finestra de registre"
+-
+-#~ msgid "Do not use flat register window model"
+-#~ msgstr "No usar el model pla de finestra de registre"
+-
+-#~ msgid "Do not use ABI reserved registers"
+-#~ msgstr "No usar els registres ABI reservats"
+-
+-#~ msgid "Do not compile for v8plus ABI"
+-#~ msgstr "No compilar per a el ABI de v8plus"
+-
+-#~ msgid "Do not utilize Visual Instruction Set"
+-#~ msgstr "No utilitzar el Conjunt d'Instruccions Visuals"
+-
+-#~ msgid "Optimize for Cypress processors"
+-#~ msgstr "Optimitzar per als processadors Cypress"
+-
+-#~ msgid "Optimize for SPARCLite processors"
+-#~ msgstr "Optimitzar per als processadors SPARCLite"
+-
+-#~ msgid "Optimize for F930 processors"
+-#~ msgstr "Optimitzar per als processadors F930"
+-
+-#~ msgid "Optimize for F934 processors"
+-#~ msgstr "Optimitzar per als processadors F934"
+-
+-#~ msgid "Use V8 SPARC ISA"
+-#~ msgstr "Usar el ISA V8 de SPARC"
+-
+-#~ msgid "Optimize for SuperSPARC processors"
+-#~ msgstr "Optimitzar per als processadors SuperSPARC"
+-
+-#~ msgid "Do not use stack bias"
+-#~ msgstr "No usar tendència de la pila"
+-
+-#~ msgid "Do not use structs on stronger alignment for double-word copies"
+-#~ msgstr "No usar structs en alineació més forta per a còpies double-word"
+-
+-#~ msgid "Do not optimize tail call instructions in assembler or linker"
+-#~ msgstr "No optimitzar les instruccions de la crida extrem en l'ensamblador i l'enllaçador"
+-
+-#~ msgid "%s=%s is not numeric"
+-#~ msgstr "%s=%s no és numèric"
+-
+-#~ msgid "%s=%s is too large"
+-#~ msgstr "%s=%s é massa gran"
+-
+-#, fuzzy
+-#~ msgid "Compile for v850e1 processor"
+-#~ msgstr "Compilar per al processador v850e"
+-
+-#~ msgid "Compile for v850e processor"
+-#~ msgstr "Compilar per al processador v850e"
+-
+-#, fuzzy
+-#~ msgid "Use PC-relative L32R instruction to load constants"
+-#~ msgstr "Usar instruccions CALLn directes per a crides ràpides"
+-
+-#~ msgid "Disable fused multiply/add and multiply/subtract FP instructions"
+-#~ msgstr "Desactivar les instruccions FP multiply/add i multiply/substract de curt circuit"
+-
+-#~ msgid "Put literal pools in a separate literal section"
+-#~ msgstr "Posar els conjunts de literals en una secció literal separada"
+-
+-#~ msgid "Do not automatically align branch targets"
+-#~ msgstr "No alinear automàticament els objectius de les ramificacions"
+-
+-#~ msgid "Use direct CALLn instructions for fast calls"
+-#~ msgstr "Usar instruccions CALLn directes per a crides ràpides"
+-
+-#~ msgid "unable to call pointer to member function here"
+-#~ msgstr "no es pot cridar un punter a una funció membre aquí"
+-
+-#, fuzzy
+-#~ msgid "%J%s %+#D"
+-#~ msgstr "%s %+#D"
+-
+-#~ msgid "`%E' has type `void' and is not a throw-expression"
+-#~ msgstr "\"%E\" té tipus \"void\" i no és una expressió throw"
+-
+-#~ msgid "using synthesized `%#D' for copy assignment"
+-#~ msgstr "usant \"%#D\" sintetitzat per a assignació de còpia"
+-
+-#~ msgid " where cfront would use `%#D'"
+-#~ msgstr " on cfront podria usar \"%#D\""
+-
+-#~ msgid "request for member `%D' in `%E', which is of non-aggregate type `%T'"
+-#~ msgstr "sol·licitud pel membre \"%D\" en \"%E\" el qual és del tipus no agregat \"%T\""
+-
+-#~ msgid "`%D' invalid in `%T'"
+-#~ msgstr "\"%D\" no vàlid en \"%#T\""
+-
+-#~ msgid "base `%T' with only non-default constructor in class without a constructor"
+-#~ msgstr "base \"%#T\" amb només un constructor que no és per omissió en una classe sense un constructor"
+-
+-#~ msgid "field `%D' in local class cannot be static"
+-#~ msgstr "el camp \"%D\" en la classe local no pot ser static"
+-
+-#~ msgid "pointer to member cast from `%T' to `%T' is via virtual base"
+-#~ msgstr "el punter a la conversió de membre de \"%T\" a \"%T\" és a través d'una base virtual"
+-
+-#~ msgid "invalid conversion from '%T' to '%T'"
+-#~ msgstr "conversió no vàlida de \"%T\" a \"%T\""
+-
+-#~ msgid "`%#D' previously declared here"
+-#~ msgstr "es va declarar \"%#D\" prèviament aquí"
+-
+-#~ msgid "label `%s' referenced outside of any function"
+-#~ msgstr "l'etiqueta \"%s\" es va referenciar fora de qualsevol funció"
+-
+-#~ msgid "no type named `%#T' in `%#T'"
+-#~ msgstr "no hi ha un tipus cridat \"%#T\" en \"%#T\""
+-
+-#~ msgid "brace-enclosed initializer used to initialize `%T'"
+-#~ msgstr "es va utilitzar un inicialitzador entre parèntesis per a inicialitzar \"%T\""
+-
+-#~ msgid "cannot initialize `%D' to namespace `%D'"
+-#~ msgstr "no es poden inicialitzar \"%D\" per a l'espai de noms \"%D\""
+-
+-#~ msgid "invalid catch parameter"
+-#~ msgstr "paràmetre de captura no vàlid"
+-
+-#~ msgid "operator `%T' declared to return `%T'"
+-#~ msgstr "l'operador \"%T\" es va declarar per a retornar \"%T\""
+-
+-#~ msgid "destructors must be member functions"
+-#~ msgstr "els destructors deuen ser funcions membre"
+-
+-#~ msgid "destructor `%T' must match class name `%T'"
+-#~ msgstr "el destructor \"%T\" ha de coincidir amb el nom de la classe \"%T\""
+-
+-#~ msgid "`%T' specified as declarator-id"
+-#~ msgstr "\"%T\" especificat com identificador de declarador"
+-
+-#~ msgid " perhaps you want `%T' for a constructor"
+-#~ msgstr " potser vol \"%T\" per a un constructor"
+-
+-#~ msgid "`bool' is now a keyword"
+-#~ msgstr "`bool' ara és una paraula clau"
+-
+-#~ msgid "extraneous `%T' ignored"
+-#~ msgstr "\"%T\" extra ignorat"
+-
+-#~ msgid "multiple declarations `%T' and `%T'"
+-#~ msgstr "declaracions múltiples \"%T\" i \"%T\""
+-
+-#~ msgid "constructors may not be `%s'"
+-#~ msgstr "els constructors no poden ser \"%s\""
+-
+-#~ msgid "return value type specifier for constructor ignored"
+-#~ msgstr "l'especificador de tipus del valor retornat per al constructor és ignorat"
+-
+-#, fuzzy
+-#~ msgid "%Jinvalid type qualifier for non-member function type"
+-#~ msgstr "qualificador de tipus no vàlid per al tipus de funció no membre"
+-
+-#~ msgid "function `%D' cannot be declared friend"
+-#~ msgstr "la funció \"%D\" no pot ser declarada friend"
+-
+-#~ msgid "storage class `static' invalid for function `%s' declared out of global scope"
+-#~ msgstr "la classe d'emmagatzematge \"static\" no és vàlida per a la funció \"%s\" declarada fora de l'àmbit global"
+-
+-#~ msgid "invalid integer constant in parameter list, did you forget to give parameter name?"
+-#~ msgstr "constant entera no vàlida en la llista de paràmetres, va oblidar proporcionar nom(s) de paràmetre(s)?"
+-
+-#~ msgid "enumerator value for `%D' not integer constant"
+-#~ msgstr "el valor de enumerador per a \"%D\" no és una constant entera"
+-
+-#~ msgid "return type for `main' changed to `int'"
+-#~ msgstr "el tipus de retorn per a \"main\" va canviar a \"int\""
+-
+-#~ msgid "`%D' implicitly declared before its definition"
+-#~ msgstr "\"%D\" declarat implícitament abans de la seva definició"
+-
+-#~ msgid "invalid use of `virtual' in template declaration of `%#D'"
+-#~ msgstr "ús no vàlid de \"virtual\" en la declaració de patró de \"%#D\""
+-
+-#~ msgid "unexpected letter `%c' in locate_error\n"
+-#~ msgstr "lletra \"%c\" inesperada en locate_error\n"
+-
+-#~ msgid "typename type `%#T' declared `friend'"
+-#~ msgstr "el tipus de nom de tipus \"%#T\" es va declarar \"friend\""
+-
+-#~ msgid "`%T' fails to be an aggregate typedef"
+-#~ msgstr "\"%T\" falla a ser un tipus agregat"
+-
+-#~ msgid "type `%T' is of non-aggregate type"
+-#~ msgstr "el tipus \"%T\" és d'un tipus no agregat"
+-
+-#~ msgid "new of array type fails to specify size"
+-#~ msgstr "new de matriu falla a l'especificar la grandària"
+-
+-#~ msgid "zero size array reserves no space"
+-#~ msgstr "la matriu de grandària zero no reserva espai"
+-
+-#~ msgid "`%D' undeclared (first use this function)"
+-#~ msgstr "\"%D\" sense declarar (primer ús en aquesta funció)"
+-
+-#~ msgid "(Each undeclared identifier is reported only once for each function it appears in.)"
+-#~ msgstr "(Cada identificador sense declarar és reportat només una vegada per a cada funció en el qual apareix.)"
+-
+-#~ msgid "`%D' was previously implicitly declared to return `int'"
+-#~ msgstr "\"%D\" va ser declarat prèvia i implícitament per a retornar \"int\""
+-
+-#~ msgid "using declaration `%D' introduced ambiguous type `%T'"
+-#~ msgstr "l'ús de la declaració \"%D\" va introduir el tipus ambigu \"%T\""
+-
+-#~ msgid "`%#D' redeclared as %C"
+-#~ msgstr "\"%#D\" redeclarat com %C"
+-
+-#, fuzzy
+-#~ msgid "using-declaration cannot name destructor"
+-#~ msgstr "declaració d'ús per al destructor"
+-
+-#~ msgid "namespace `%T' undeclared"
+-#~ msgstr "espai de noms \"%T\" sense declarar"
+-
+-#~ msgid " first declared as `%#D' here"
+-#~ msgstr " declarat inicialment com \"%#D\" aquí"
+-
+-#~ msgid " also declared as `%#D' here"
+-#~ msgstr " també declarat com \"%#D\" aquí"
+-
+-#~ msgid "`%D' denotes an ambiguous type"
+-#~ msgstr "\"%D\" denota un tipus ambigu"
+-
+-#, fuzzy
+-#~ msgid "%J other type here"
+-#~ msgstr " altre tipus aquí"
+-
+-#~ msgid "`%D::%D' is not a template"
+-#~ msgstr "\"%D::%D\" no és un patró"
+-
+-#~ msgid "`%D' undeclared in namespace `%D'"
+-#~ msgstr "\"%D\" no declarat en l'espai de noms \"%D\""
+-
+-#, fuzzy
+-#~ msgid "invalid token"
+-#~ msgstr "codi no vàlid"
+-
+-#, fuzzy
+-#~ msgid "`::%D' has not been declared"
+-#~ msgstr "\"%#D\" no pot ser declarat"
+-
+-#, fuzzy
+-#~ msgid "`%D' %s"
+-#~ msgstr "accés \"%D\""
+-
+-#, fuzzy
+-#~ msgid "`%s' is not a template"
+-#~ msgstr "\"%T\" no és un patró"
+-
+-#, fuzzy
+-#~ msgid "duplicate `friend'"
+-#~ msgstr "\"%s\" duplicat"
+-
+-#, fuzzy
+-#~ msgid "invalid function declaration"
+-#~ msgstr "declarador no vàlid"
+-
+-#~ msgid "explicit specialization not preceded by `template <>'"
+-#~ msgstr "especialització explícita no precedida per \"template <>\""
+-
+-#~ msgid "partial specialization `%D' of function template"
+-#~ msgstr "especialització parcial \"%D\" del patró de funció"
+-
+-#~ msgid "too many template parameter lists in declaration of `%T'"
+-#~ msgstr "massa llistes de paràmetres de patró en la declaració de \"%T\""
+-
+-#~ msgid "`%D' does not declare a template type"
+-#~ msgstr "\"%D\" no declara un tipus de patró"
+-
+-#~ msgid "it must be the address of a function with external linkage"
+-#~ msgstr "ha de ser l'adreça d'una funció amb enllaç extern"
+-
+-#~ msgid "it must be the address of an object with external linkage"
+-#~ msgstr "ha de ser l'adreça d'un objecte amb enllaç extern"
+-
+-#~ msgid "it must be a pointer-to-member of the form `&X::Y'"
+-#~ msgstr "ha de ser un punter-a-membre de la forma \"&X::I\""
+-
+-#~ msgid "address of non-extern `%E' cannot be used as template argument"
+-#~ msgstr "no es pot usar l'adreça de \"%E\" que no és extern com un argument de patró"
+-
+-#~ msgid "non-constant `%E' cannot be used as template argument"
+-#~ msgstr "\"%E\" que no és constant no es pot usar com un argument de patró"
+-
+-#, fuzzy
+-#~ msgid "type '%T' cannot be used as a value for a non-type template-parameter"
+-#~ msgstr "l'objecte \"%E\" no es pot usar com un argument de patró"
+-
+-#, fuzzy
+-#~ msgid "invalid use of '%D' as a non-type template-argument"
+-#~ msgstr "ús no vàlid de \"%s\" en punter a membre"
+-
+-#, fuzzy
+-#~ msgid "invalid use of '%E' as a non-type template-argument"
+-#~ msgstr "ús no vàlid de \"%s\" en punter a membre"
+-
+-#~ msgid "non-template used as template"
+-#~ msgstr "s'usa un no-patró com patró"
+-
+-#~ msgid "creating array with size zero"
+-#~ msgstr "creant la matriu amb grandària zero"
+-
+-#, fuzzy
+-#~ msgid "`%T' uses local type `%T'"
+-#~ msgstr "l'argument de patró \"%T\" usa el tipus local \"%T\""
+-
+-#~ msgid "use of `%s' in template type unification"
+-#~ msgstr "ús de \"%s\" en la unificació de tipus de patró"
+-
+-#~ msgid "`%#D' needs a final overrider"
+-#~ msgstr "\"%#D\" necessita un substituent final"
+-
+-#, fuzzy
+-#~ msgid "invalid use of `%D' as a default value for a template template-parameter"
+-#~ msgstr "\"%#T\" no és un tipus vàlid per a un paràmetre constant de patró"
+-
+-#~ msgid "multiple declarators in template declaration"
+-#~ msgstr "múltiples declaradors en una declaració de patró"
+-
+-#~ msgid "non-lvalue in %s"
+-#~ msgstr "non-lvalue dintre %s"
+-
+-#~ msgid "division by zero in `%E / 0'"
+-#~ msgstr "divisió per zero en \"%E / 0\""
+-
+-#~ msgid "division by zero in `%E / 0.'"
+-#~ msgstr "divisió per zero en \"%E / 0.\""
+-
+-#~ msgid "division by zero in `%E %% 0.'"
+-#~ msgstr "divisió per zero en \"%E %% 0.\""
+-
+-#~ msgid "cast to non-reference type used as lvalue"
+-#~ msgstr "s'usa la conversió a un tipus no referenciat com un lvalue"
+-
+-#~ msgid "invalid use of `--' on bool variable `%D'"
+-#~ msgstr "ús no vàlid de \"--\" en la variable booleana \"%D\""
+-
+-#~ msgid "taking address of destructor"
+-#~ msgstr "prenent l'adreça del destructor"
+-
+-#~ msgid "taking address of bound pointer-to-member expression"
+-#~ msgstr "prenent l'adreça de l'expressió límitada punter-a-membre"
+-
+-#, fuzzy
+-#~ msgid "%s from type `%T' to type `%T' casts away constness"
+-#~ msgstr "static_cast del tipus \"%T\" al tipus \"%T\" proscriu la constància"
+-
+-#~ msgid "invalid reinterpret_cast from type `%T' to type `%T'"
+-#~ msgstr "reinterpret_cast no vàlid del tipus \"%T\" al tipus \"%T\""
+-
+-#~ msgid "ISO C++ forbids cast to non-reference type used as lvalue"
+-#~ msgstr "ISO C++ prohibeix la conversió a un tipus no referent usat com lvalue"
+-
+-#~ msgid "ISO C++ forbids assignment of arrays"
+-#~ msgstr "ISO C++ prohibeix l'assignació de matrius"
+-
+-#, fuzzy
+-#~ msgid "pointer to member cast via virtual base `%T'"
+-#~ msgstr "punter a la conversió membre a través de la base virtual \"%T\" de \"%T\""
+-
+-#~ msgid "passing `%T' for %s %P of `%D'"
+-#~ msgstr "passant \"%T\" per a %s %P de \"%D\""
+-
+-#~ msgid "%s to `%T' from `%T'"
+-#~ msgstr "%s a \"%T\" des de \"%T\""
+-
+-#~ msgid "passing negative value `%E' for %s %P of `%D'"
+-#~ msgstr "passant el valor negatiu `%E' per a %s %P de \"%D\""
+-
+-#~ msgid "%s of negative value `%E' to `%T'"
+-#~ msgstr "%s de valor negatiu `%I' a \"%T\""
+-
+-#~ msgid "initializing array with parameter list"
+-#~ msgstr "inicialitzant una matriu amb una llista de paràmetres"
+-
+-#~ msgid "initializer for scalar variable requires one element"
+-#~ msgstr "l'inicialitzador per a una variable escalar requereix un element"
+-
+-#~ msgid "ignoring extra initializers for `%T'"
+-#~ msgstr "ignorant els inicialitzadors extra per a \"%T\""
+-
+-#~ msgid "variable-sized object of type `%T' may not be initialized"
+-#~ msgstr "un objecte de grandària variable de tipus \"%T\" no pot ser inicialitzat"
+-
+-#~ msgid "subobject of type `%T' must be initialized by constructor, not by `%E'"
+-#~ msgstr "el subobjecte de tipus \"%T\" ha de ser inicialitzat per un constructor, no per \"%E\""
+-
+-#~ msgid "aggregate has a partly bracketed initializer"
+-#~ msgstr "l'agregat té un inicialitzador amb parèntesis parcials"
+-
+-#~ msgid "non-empty initializer for array of empty elements"
+-#~ msgstr "inicialitzador no-buit per a una matriu d'elements buits"
+-
+-#~ msgid "initializer list for object of class with virtual base classes"
+-#~ msgstr "llista d'inicialitzadors per a un objecte d'una classe amb classes base virtual"
+-
+-#~ msgid "initializer list for object of class with base classes"
+-#~ msgstr "llista d'inicialitzadors per a un objecte d'una classe amb classes base"
+-
+-#~ msgid "initializer list for object using virtual functions"
+-#~ msgstr "llista d'inicialitzadors per a un objecte que usa funcions virtuals"
+-
+-#~ msgid "union `%T' with no named members cannot be initialized"
+-#~ msgstr "no es pot inicialitzar el union \"%T\" sense membres nomenats"
+-
+-#~ msgid "excess elements in aggregate initializer"
+-#~ msgstr "excés d'elements en l'inicialitzador agregat"
+-
+-#~ msgid "%s is deprecated, please see the documentation for details"
+-#~ msgstr "%s és obsolet, per favor vegi la documentació per a més detalls"
+-
+-#~ msgid "note:"
+-#~ msgstr "nota:"
+-
+-#~ msgid "fatal:"
+-#~ msgstr "fatal:"
+-
+-#~ msgid "(continued):"
+-#~ msgstr "(continuat):"
+-
+-#~ msgid "[REPORT BUG!!] %"
+-#~ msgstr "[REPORTAR error!!] %"
+-
+-#~ msgid "[REPORT BUG!!]"
+-#~ msgstr "[REPORTAR error!!]"
+-
+-#~ msgid "ASSIGN'ed label cannot fit into `%A' at %0 -- using wider sibling"
+-#~ msgstr "l'etiqueta ASSIGNada no entra en \"%A\" a %0 -- utilitzant una similar més ample"
+-
+-#~ msgid "no INTEGER type can hold a pointer on this configuration"
+-#~ msgstr "cap tipus INTEGER pot guardar un punter en aquesta configuració"
+-
+-#~ msgid "configuration: REAL, INTEGER, and LOGICAL are %d bits wide,"
+-#~ msgstr "configuració: REAL, INTEGER, i LOGICAL són de %d bits d'amplària,"
+-
+-#~ msgid "and pointers are %d bits wide, but g77 doesn't yet work"
+-#~ msgstr "i els punters són de %d bits d'amplària, però g77 encara no treballa"
+-
+-#~ msgid "properly unless they all are 32 bits wide"
+-#~ msgstr "de forma adequada a menys que tots siguin de 32 bits d'amplària"
+-
+-#~ msgid "Please keep this in mind before you report bugs."
+-#~ msgstr "Per favor tingui això presenti abans de reportar errors."
+-
+-#~ msgid "configuration: char * holds %d bits, but ftnlen only %d"
+-#~ msgstr "configuració: char * guarda %d bits, però ftnlen només %d"
+-
+-#~ msgid ""
+-#~ "configuration: char * holds %d bits, but INTEGER only %d --\n"
+-#~ " ASSIGN statement might fail"
+-#~ msgstr ""
+-#~ "configuració: char * guarda %d bits, però INTEGER només %d --\n"
+-#~ " la declaració ASSIGN pot fallar"
+-
+-#~ msgid "Outside of any program unit:\n"
+-#~ msgstr "Fora de qualsevol unitat de programa:\n"
+-
+-#~ msgid "%A from %B at %0%C"
+-#~ msgstr "%A des de %B en %0%C"
+-
+-#~ msgid "At %0, INCLUDE file %A exists, but is not readable"
+-#~ msgstr "En %0, el fitxer INCLUDE %A existeix, però no és llegible"
+-
+-#~ msgid "At %0, INCLUDE nesting too deep"
+-#~ msgstr "En %0, la \"niació\" de INCLUDE és massa profunda"
+-
+-#~ msgid "Two arithmetic operators in a row at %0 and %1 -- use parentheses"
+-#~ msgstr "Dos operadors aritmètics en una fila en %0 i %1 -- usi parèntesi"
+-
+-#~ msgid "Operator at %0 has lower precedence than that at %1 -- use parentheses"
+-#~ msgstr "L'operador en %0 té una preferència menor que aquell en %1 -- usi parèntesi"
+-
+-#~ msgid "Use .EQV./.NEQV. instead of .EQ./.NE. at %0 for LOGICAL operands at %1 and %2"
+-#~ msgstr "Usi .EQV./.NEQV. en lloc de .EQ./.NE en %0 pels operands LOGICAL en %1 i %2"
+-
+-#~ msgid "Unsupported operand for ** at %1 -- converting to default INTEGER"
+-#~ msgstr "Operand sense suport per a ** en %1 -- es va convertir a INTEGER per omissió"
+-
+-#~ msgid "--driver no longer supported"
+-#~ msgstr "--driver ja no té suport"
+-
+-#~ msgid "Implicit declaration of `%A' at %0"
+-#~ msgstr "Declaració implícita de \"%A\" en %0"
+-
+-#~ msgid "Non-ISO-C-standard escape sequence `\\%A' at %0"
+-#~ msgstr "Seqüència d'escapament que no és estàndard ISO \"\\%A\" en %0"
+-
+-#~ msgid "Unknown escape sequence `\\%A' at %0"
+-#~ msgstr "Seqüència d'escapament és desconeguda \"\\%A\" en %0"
+-
+-#~ msgid "Unterminated escape sequence `\\' at %0"
+-#~ msgstr "Seqüència d'escapament sense acabar \"\\\" en %0"
+-
+-#~ msgid "Unknown escape sequence `\\' followed by char code 0x%A at %0"
+-#~ msgstr "Seqüència d'escapament és desconeguda: \"\\\" seguida pel codi de caràcter 0x%A en %0"
+-
+-#~ msgid "\\x used at %0 with no following hex digits"
+-#~ msgstr "es va usar \\x en %0 sense dígits hexadecimals a continuació"
+-
+-#~ msgid "Hex escape at %0 out of range"
+-#~ msgstr "Escapament hex a %0 fora de límits"
+-
+-#~ msgid "Escape sequence at %0 out of range for character"
+-#~ msgstr "Seqüència d'escapament en %0 fora de límits pel caràcter"
+-
+-#~ msgid "hex escape out of range"
+-#~ msgstr "Escapament hex fora de límits"
+-
+-#~ msgid "non-ANSI-standard escape sequence, `\\%c'"
+-#~ msgstr "seqüència d'escapament que no és estàndard ANSI, \"\\%c\""
+-
+-#~ msgid "non-ISO escape sequence `\\%c'"
+-#~ msgstr "seqüència d'escapament que no és ISO, \"\\%c\""
+-
+-#~ msgid "unknown escape sequence `\\%c'"
+-#~ msgstr "seqüència d'escapament és desconeguda, \"\\%c\""
+-
+-#~ msgid "unknown escape sequence: `\\' followed by char code 0x%x"
+-#~ msgstr "seqüència d'escapament és desconeguda, \"\\\" seguida pel codi de caràcter 0x%x"
+-
+-#~ msgid "badly formed directive -- no closing quote"
+-#~ msgstr "directiva mal formada -- cometa sense tancar"
+-
+-#~ msgid "bad directive -- missing close-quote"
+-#~ msgstr "directiva errònia -- falta una cometa que tanqui"
+-
+-#~ msgid "invalid #ident"
+-#~ msgstr "#ident no vàlid"
+-
+-#~ msgid "undefined or invalid # directive"
+-#~ msgstr "directiva # no definida o no vàlida"
+-
+-#~ msgid "invalid #line"
+-#~ msgstr "#line no vàlid"
+-
+-#~ msgid "use `#line ...' instead of `# ...' in first line"
+-#~ msgstr "usi \"#line ...\" en lloc de \"# ...\" en la primera línia"
+-
+-#~ msgid "invalid #-line"
+-#~ msgstr "#-line no vàlid"
+-
+-#~ msgid "Null character at %0 -- line ignored"
+-#~ msgstr "Caràcter nul en %0 -- línia ignorada"
+-
+-#~ msgid "INCLUDE at %0 not the only statement on the source line"
+-#~ msgstr "INCLUDE en %0 no és la primera declaració en la línia de codi"
+-
+-#~ msgid "ASSIGNed FORMAT specifier is too small"
+-#~ msgstr "l'especificador ASSIGNed FORMAT és massa petit"
+-
+-#~ msgid "SELECT CASE on CHARACTER type (at %0) not supported -- sorry"
+-#~ msgstr "SELECT CASE en el tipus CHARACTER (en %0) no té suport -- perdó"
+-
+-#~ msgid "ASSIGN to variable that is too small"
+-#~ msgstr "ASSIGN a una variable que és massa petita"
+-
+-#~ msgid "ASSIGNed GOTO target variable is too small"
+-#~ msgstr "la variable de l'objectiu ASSIGNed GOTO és massa petita"
+-
+-#~ msgid "Local adjustable symbol `%A' at %0"
+-#~ msgstr "Símbol local ajustable \"%A\" en %0"
+-
+-#, fuzzy
+-#~ msgid "-fvxt-not-f90 no longer supported -- try -fvxt"
+-#~ msgstr "%s ja no té suport -- intenti -fvxt"
+-
+-#, fuzzy
+-#~ msgid "-ff90-not-vxt no longer supported -- try -fno-vxt -ff90"
+-#~ msgstr "%s ja no té suport -- intenti -fno-vxt -ff90"
+-
+-#, fuzzy
+-#~ msgid "-fdebug-kludge is disabled, use normal debugging flags"
+-#~ msgstr "%s desactivat, usi els interruptors normals de depuració"
+-
+-#~ msgid "Invalid token at %0 in expression or subexpression at %1"
+-#~ msgstr "Element no vàlid en %0 en l'expressió o subexpressió en %1"
+-
+-#~ msgid "Unrecognized character at %0 [info -f g77 M LEX]"
+-#~ msgstr "Caràcter no reconegut en %0 [info -f g77 M LEX]"
+-
+-#~ msgid "Label definition %A at %0 on empty statement (as of %1)"
+-#~ msgstr "La definició de l'etiqueta %A en %0 en una declaració buida (per a %1)"
+-
+-#~ msgid "Invalid first character at %0 [info -f g77 M LEX]"
+-#~ msgstr "Primer caràcter no vàlid en %0 [info -f g77 M LEX]"
+-
+-#~ msgid "Line too long as of %0 [info -f g77 M LEX]"
+-#~ msgstr "Línia massa deixa anar per a %0 [info -f g77 M LEX]"
+-
+-#~ msgid "Label number at %0 not in range 1-99999"
+-#~ msgstr "El nombre d'etiqueta en %0 no està en el rang 1-99999"
+-
+-#, fuzzy
+-#~ msgid "At %0, '!' and '/*' are not valid comment delimiters"
+-#~ msgstr "En %0, \"!\" i \"/*\" no són delímitadors de comentari vàlids"
+-
+-#~ msgid "Continuation indicator at %0 must appear in column 6 [info -f g77 M LEX]"
+-#~ msgstr "L'indicador de continuació en %0 ha d'aparèixer en la columna 6 [info -f g77 M LEX]"
+-
+-#~ msgid "Label at %0 invalid with continuation line indicator at %1 [info -f g77 M LEX]"
+-#~ msgstr "Etiqueta en %0 no vàlida amb indicador de continuació de línia en %1 [info -f g77 M LEX]"
+-
+-#~ msgid "Hollerith constant at %0 specified %A more characters than are present as of %1"
+-#~ msgstr "La constant hollerith en %0 especifica %A més caràcters que els presents en %1"
+-
+-#~ msgid "Missing close parenthese at %0 needed to match open parenthese at %1"
+-#~ msgstr "Falta el parèntesi que tanca en %0 necessari per a coincidir amb els parèntesis oberts en %1"
+-
+-#~ msgid "Period at %0 not followed by digits for floating-point number or by `NOT.', `TRUE.', or `FALSE.'"
+-#~ msgstr "El punt en %0 no està seguit de dígits per a un nombre de coma flotant o per \"NOT.\", \"TRUE.\" o \"FALSE.\""
+-
+-#~ msgid "Missing close-period between `.%A' at %0 and %1"
+-#~ msgstr "Falta el punt que tanca entri \".%A\" en %0 i %1"
+-
+-#~ msgid "Invalid exponent at %0 for real constant at %1; nondigit `%A' in exponent field"
+-#~ msgstr "Exponent no vàlid en %0 per a la constant real en %1; \"%A\" que no és dígit en el camp de l'exponent"
+-
+-#~ msgid "Semicolon at %0 is an invalid token"
+-#~ msgstr "El punt i coma en %0 és un element no vàlid"
+-
+-#~ msgid "Unrecognized FORMAT specifier at %0"
+-#~ msgstr "Especificador FORMAT no reconegut en %0"
+-
+-#~ msgid "Missing close-parenthese(s) in FORMAT statement at %0"
+-#~ msgstr "Falta(en) parèntesi(s) que tanquen en la declaració FORMAT en %0"
+-
+-#~ msgid "Missing number following period in FORMAT statement at %0"
+-#~ msgstr "Falta un nombre a continuació del punt en la declaració FORMAT en %0"
+-
+-#~ msgid "Missing number following `E' in FORMAT statement at %0"
+-#~ msgstr "Falta un nombre a continuació de \"E\" en la declaració FORMAT en %0"
+-
+-#~ msgid "Spurious trailing comma preceding terminator at %0"
+-#~ msgstr "Coma final espúria precedint al terminador en %0"
+-
+-#~ msgid "At %0, specify OPERATOR instead of ASSIGNMENT for INTERFACE statement not specifying the assignment operator (=)"
+-#~ msgstr "En %0, especifiqui OPERATOR en lloc de ASSIGNMENT per a la declaració INTERFACE que no especifica l'operador d'assignació (=)"
+-
+-#~ msgid "At %0, specify ASSIGNMENT instead of OPERATOR for INTERFACE statement specifying the assignment operator (=)"
+-#~ msgstr "En %0, especifiqui ASSIGNMENT en lloc de OPERATOR per a la declaració INTERFACE que especifica l'operador d'assignació (=)"
+-
+-#~ msgid "Cannot specify =initialization-expr at %0 unless `::' appears before list of objects"
+-#~ msgstr "No es pot especificar =expr-iniciació en %0 a menys que \"::\" aparegui abans que la llista dels objectes"
+-
+-#~ msgid "Reference to label at %1 inconsistent with its definition at %0"
+-#~ msgstr "La referència a l'etiqueta en %1 és inconsistenta amb la seva definició en %0"
+-
+-#~ msgid "Reference to label at %1 inconsistent with earlier reference at %0"
+-#~ msgstr "La referència a l'etiqueta en %1 és inconsistenta amb la referència anterior en %0"
+-
+-#~ msgid "DO-statement reference to label at %1 follows its definition at %0"
+-#~ msgstr "La referència de la declaració DO a l'etiqueta en %1 segueix la seva definició en %0"
+-
+-#~ msgid "Reference to label at %1 is outside block containing definition at %0"
+-#~ msgstr "La referència a l'etiqueta en %1 està fora del bloc que conté la definició en %0"
+-
+-#~ msgid "DO-statement references to label at %0 and %2 separated by unterminated block starting at %1"
+-#~ msgstr "Les referències de la declaració DO a l'etiqueta en %0 i %2 estan separades per un bloc sense acabar que comença en %1"
+-
+-#~ msgid "DO-statement reference to label at %0 and label definition at %2 separated by unterminated block starting at %1"
+-#~ msgstr "La referència de la declaració DO a l'etiqueta en %0 i la definició de l'etiqueta en %2 estan separades per un bloc sense acabar que comença en %1"
+-
+-#~ msgid "Label definition at %0 invalid on this kind of statement"
+-#~ msgstr "La definició d'etiqueta en %0 no és vàlida en aquest tipus de declaració"
+-
+-#~ msgid "Statement at %0 must specify construct name specified at %1"
+-#~ msgstr "La declaració en %0 ha d'especificar el nom de la construcció especificada en %1"
+-
+-#~ msgid "Construct name at %0 superfluous, no construct name specified at %1"
+-#~ msgstr "El nom de la construcció en %0 és superflu, no es va especificar un nom de construcció en %1"
+-
+-#~ msgid "Construct name at %0 not the same as construct name at %1"
+-#~ msgstr "El nom de construcció en %0 no és el mateix que el nom de construcció en %1"
+-
+-#~ msgid "Construct name at %0 does not match construct name for any containing DO constructs"
+-#~ msgstr "El nom de construcció en %0 no coincideix amb el nom de construcció per a qualsevol construcció DO contenidora"
+-
+-#~ msgid "Label definition missing at %0 for DO construct specifying label at %1"
+-#~ msgstr "Falta la definició d'etiqueta en %0 per a la construcció DO que especifica l'etiqueta en %1"
+-
+-#~ msgid "Statement at %0 follows ELSE block for IF construct at %1"
+-#~ msgstr "La declaració en %0 segueix al bloc ELSE per a la construcció IF en %1"
+-
+-#~ msgid "Second occurrence of ELSE WHERE at %0 within WHERE at %1"
+-#~ msgstr "Segona ocurrència de ELSE WHERE en %0 dintre de WHERE en %1"
+-
+-#~ msgid "END statement at %0 missing `%A' keyword required for internal or module procedure(s) bounded by %1"
+-#~ msgstr "A la declaració END en %0 li falta la paraula clau `%A' requerida per a procediment(s) intern(s) o mòdul(s) units per %1"
+-
+-#~ msgid "MODULE PROCEDURE statement at %0 disallowed because INTERFACE at %1 specifies no generic name, operator, or assignment"
+-#~ msgstr "No es permet la declaració MODULE PROCEDURE en %0 perquè INTERFACE en %1 no especifica un nom genèric, operador o assignació"
+-
+-#~ msgid "BLOCK DATA name at %0 superfluous, no name specified at %1"
+-#~ msgstr "El nom de BLOCK DATA en %0 és superflu, no es va especificar un nom en %1"
+-
+-#~ msgid "Program name at %0 superfluous, no PROGRAM statement specified at %1"
+-#~ msgstr "El nom de programa en %0 és superflu, no es va especificar una declaració PROGRAM en %1"
+-
+-#~ msgid "Program unit name at %0 not the same as name at %1"
+-#~ msgstr "El nom d'unitat de programa en %0 no és el mateix que el nom en %1"
+-
+-#~ msgid "End of source file before end of block started at %0"
+-#~ msgstr "Fi del fitxer font abans que comencés el bloc en %0"
+-
+-#~ msgid "Undefined label, first referenced at %0"
+-#~ msgstr "Etiqueta indefinida, primer referenciada en %0"
+-
+-#~ msgid "Access specifier at %0 must immediately follow derived-type statement at %1 with no intervening statements"
+-#~ msgstr "L'especificador d'accés en %0 ha de seguir immediatament a la declaració de tipus derivat en %1 sense declaracions que intervinguin"
+-
+-#~ msgid "No components specified as of %0 for derived-type definition beginning at %1"
+-#~ msgstr "No es van especificar components per a %0 per a la definició de tipus derivat que comença en %1"
+-
+-#~ msgid "No components specified as of %0 for structure definition beginning at %1"
+-#~ msgstr "No es van especificar components per a %0 per a la la definició de l'estructura que comença en %1"
+-
+-#~ msgid "Missing structure name for outer structure definition at %0"
+-#~ msgstr "Falta el nom de l'estructura per a la definició de l'estructura externa en %0"
+-
+-#~ msgid "Field names at %0 for outer structure definition -- specify them in a subsequent RECORD statement instead"
+-#~ msgstr "Noms de camps en %0 per a la definició de l'estructura exterior -- especifiqui'ls en el seu lloc en una declaració RECORD subsecuents"
+-
+-#~ msgid "Missing field name(s) for structure definition at %0 within structure definition at %1"
+-#~ msgstr "Manca(en) el(s) nom(s) de camp(s) per a la definició de l'estructura en %0 dintre de la definició de l'estructura en %1"
+-
+-#~ msgid "No components specified as of %0 for map beginning at %1"
+-#~ msgstr "No es van especificar component en %0 per al mapa que comença en %1"
+-
+-#~ msgid "Zero or one maps specified as of %0 for union beginning at %1 -- at least two are required"
+-#~ msgstr "Es van especificar zero o un mapa en %0 per a la unió que comença en %1 -- es requereixen almenys dos"
+-
+-#~ msgid "Items in I/O list starting at %0 invalid for namelist-directed I/O"
+-#~ msgstr "Els elements en la llista d'I/O que comença en %0 són no vàlids pel I/O dirigit per una llista de noms"
+-
+-#~ msgid "Conflicting I/O control specifications at %0 and %1"
+-#~ msgstr "Especificacions de control d'I/O en conflicte en %0 i %1"
+-
+-#~ msgid "No UNIT= specifier in I/O control list at %0"
+-#~ msgstr "No hi ha un especificador UNIT= en la llista de control d'I/O en %0"
+-
+-#~ msgid "Specification at %0 requires ADVANCE=`NO' specification in same I/O control list"
+-#~ msgstr "L'especificació en %0 requereix l'especificació ADVANCE=\"NO\" en la mateixa llista de control d'I/O"
+-
+-#~ msgid "Specification at %0 requires explicit FMT= specification in same I/O control list"
+-#~ msgstr "L'especificació en %0 requereix l'especificació FMT= explícita en la mateixa llista de control d'I/O"
+-
+-#~ msgid "Second occurrence of CASE DEFAULT at %0 within SELECT CASE at %1"
+-#~ msgstr "Segona ocurrència de CASE DEFAULT en %0 dintre d'un SELECT CASE en %1"
+-
+-#~ msgid "Duplicate or overlapping case values/ranges at %0 and %1"
+-#~ msgstr "Valors o rangs del «case» duplicats o sobreposats en %0 i %1"
+-
+-#~ msgid "Type and/or kind-type parameter disagreement between CASE value or value within range at %0 and SELECT CASE at %1"
+-#~ msgstr "Desacord de tipus i/o paràmetre de tipus entre el valor CASE o el valor dintre del rang en %0 i SELECT CASE en %1"
+-
+-#~ msgid "Range specification at %0 invalid for CASE statement within logical-type SELECT CASE statement"
+-#~ msgstr "Especificació de rang en %0 no vàlida per a la declaració CASE dintre de la declaració SELECT CASE de tipus lògic"
+-
+-#~ msgid "Fortran 90 feature at %0 unsupported"
+-#~ msgstr "Característica Fortran 90 en %0 sense suport"
+-
+-#~ msgid "Invalid declaration of or reference to symbol `%A' at %0 [initially seen at %1]"
+-#~ msgstr "Declaració no vàlida de/o referència al símbol \"%A\" en %0 [observat inicialment en %1]"
+-
+-#~ msgid "Too few elements (%A missing) as of %0 for array reference at %1"
+-#~ msgstr "Molt pocs elements (falta %A) per a %0 per a la referència de matriu en %1"
+-
+-#~ msgid "Too many elements as of %0 for array reference at %1"
+-#~ msgstr "Massa elements per a %0 per a la referència de matriu en %1"
+-
+-#~ msgid "Missing colon as of %0 in substring reference for %1"
+-#~ msgstr "Falten dos punts en %0 en la referència de subcadene per a %1"
+-
+-#~ msgid "Invalid use at %0 of substring operator on %1"
+-#~ msgstr "ùs no vàlid en %0 de l'operador de subcadenes en %1"
+-
+-#~ msgid "Expression at %0 has incorrect data type or rank for its context"
+-#~ msgstr "L'expressió en %0 té el tipus de dada o rang incorrecte per al seu context"
+-
+-#~ msgid "Division by 0 (zero) at %0 (IEEE not yet supported)"
+-#~ msgstr "Divisió per 0 (zero) en %0 (IEEE encara no té suport)"
+-
+-#~ msgid "%A step count known to be 0 (zero) at %0"
+-#~ msgstr "Se sap que el compte de passada %A és 0 (zero) en %0"
+-
+-#~ msgid "%A end value plus step count known to overflow at %0"
+-#~ msgstr "Se sap que el valor final %A mes el compte de passada es desborda en %0"
+-
+-#~ msgid "%A begin, end, and step-count values known to result in implementation-dependent behavior due to overflow(s) in intermediate calculations at %0"
+-#~ msgstr "Se sap que els valors d'inici, fi i compte de passada %A resulten en conducta depenent de la implementació a causa de desbordament(s) en càlculs intermedis en %0"
+-
+-#~ msgid "%A begin, end, and step-count values known to result in no iterations at %0"
+-#~ msgstr "Se sap que els valors d'inici, fi i compte de passada %A resulten en falta d'iteracions en %0"
+-
+-#~ msgid "Type disagreement between expressions at %0 and %1"
+-#~ msgstr "Desacord de tipus entre les expressions en %0 i %1"
+-
+-#~ msgid "Gratuitous parentheses surround implied-DO construct at %0"
+-#~ msgstr "Parèntesis gratuïts al voltant de la construcció amb DO implícit en %0"
+-
+-#~ msgid "Zero-size specification invalid at %0"
+-#~ msgstr "Especificació de grandària zero no vàlida en %0"
+-
+-#~ msgid "Zero-size array at %0"
+-#~ msgstr "Matriu de grandària zero en %0"
+-
+-#, fuzzy
+-#~ msgid "%J'%D' used prior to declaration"
+-#~ msgstr "s'usa \"%#D\" previ a la declaració"
+-
+-#~ msgid "declaration of `%s' shadows a parameter"
+-#~ msgstr "la declaració de \"%s\" enfosquí un paràmetre"
+-
+-#~ msgid "declaration of `%s' shadows a symbol from the parameter list"
+-#~ msgstr "la declaració de \"%s\" enfosquí un símbol de la llista de paràmetres"
+-
+-#, fuzzy
+-#~ msgid "%Jlabel '%D' used but not defined"
+-#~ msgstr "s'usa l'etiqueta \"%D\" però no està definida"
+-
+-#, fuzzy
+-#~ msgid "%Jlabel '%D' defined but not used"
+-#~ msgstr "s'usa l'etiqueta \"%D\" però no està definida"
+-
+-#, fuzzy
+-#~ msgid "can't close %s: %m"
+-#~ msgstr "no és pot obrir %s"
+-
+-#, fuzzy
+-#~ msgid "can't create %s: %m"
+-#~ msgstr "no és pot obrir %s"
+-
+-#, fuzzy
+-#~ msgid "Exception of type `%s *' already handled by `@catch (%s *)'"
+-#~ msgstr "l'excepció del tipus \"%T\" serà atrapada"
+-
+-#~ msgid "Warn about possibly confusing type conversions"
+-#~ msgstr "Avisar sobre la possibilitat de conversió de tipus confuses"
+-
+-#, fuzzy
+-#~ msgid "Make implicit function declarations an error"
+-#~ msgstr "Avisar sobre la declaració implícita de funcions"
+-
+-#, fuzzy
+-#~ msgid "Make string literals \"const char[]\" not \"char[]\""
+-#~ msgstr "Fer que les cadenes literals siguin \"char[]\" en lloc de \"const char[]\""
+-
+-#~ msgid "Do not store floats in registers"
+-#~ msgstr "No guardar floats en els registres"
+-
+-#, fuzzy
+-#~ msgid "Copy memory operands into registers before use"
+-#~ msgstr "Copiar els operands de memòria en registres abans d'usar-los"
+-
+-#, fuzzy
+-#~ msgid "Use graph-coloring register allocation"
+-#~ msgstr "Utilitzar coloració de grafes per a l'allotjament de registres."
+-
+-#~ msgid "Run the loop optimizer twice"
+-#~ msgstr "Executar el optimizador de cicles dues vegades"
+-
+-#~ msgid "Mark data as shared rather than private"
+-#~ msgstr "Marcar dades com compartits en lloc de privats"
+-
+-#~ msgid "Store strings in writable data section"
+-#~ msgstr "Guardar les cadenes en la secció de dades modificables"
+-
+-#~ msgid "GCC does not support -C without using -E"
+-#~ msgstr "GCC no dóna suport a -C sense usar -E"
+-
+-#~ msgid "GCC does not support -CC without using -E"
+-#~ msgstr "GCC no dóna suport a -CC sense usar -E"
+-
+-#~ msgid "-pg or -p and -fomit-frame-pointer are incompatible"
+-#~ msgstr "punters -pg o -p i -fomit-frame són incompatibles"
+-
+-#~ msgid "concatenation of string literals with __FUNCTION__ is deprecated"
+-#~ msgstr "us depreciada de la concatenació de cadenes literals amb __FUNCTION__"
+-
+-#~ msgid "pointer to a member used in arithmetic"
+-#~ msgstr "es va usar un punter a un membre en l'aritmètica"
+-
+-#~ msgid "ISO C++ forbids range expressions in switch statements"
+-#~ msgstr "ISO C++ prohibeix un rang d'expressions en les declaracions «switch»"
+-
+-#~ msgid "ISO C++ forbids taking the address of a label"
+-#~ msgstr "ISO C++ prohibeix prendre l'adreça d'una etiqueta"
+-
+-#~ msgid "declaration of `%s' shadows %s"
+-#~ msgstr "la declaració de \"%s\" enfosque \"%s\""
+-
+-#~ msgid "`struct %s' incomplete in scope ending here"
+-#~ msgstr "el \"struct %s\" incomplet en l'àmbit acaba aquí"
+-
+-#~ msgid "`union %s' incomplete in scope ending here"
+-#~ msgstr "el \"union %s\" incomplet en l'àmbit acaba aquí"
+-
+-#~ msgid "`enum %s' incomplete in scope ending here"
+-#~ msgstr "el \"enum %s\" incomplet en l'àmbit acaba aquí"
+-
+-#~ msgid "label `%s' defined but not used"
+-#~ msgstr "l'etiqueta \"%s\" està definida però no s'usa"
+-
+-#~ msgid "shadowing library function `%s'"
+-#~ msgstr "enfosquin la funció de biblioteca \"%s\""
+-
+-#~ msgid "library function `%s' declared as non-function"
+-#~ msgstr "la funció de biblioteca \"%s\" no és declarada com funció"
+-
+-#~ msgid "redeclaration of `%s'"
+-#~ msgstr "re declaració de \"%s\""
+-
+-#~ msgid "prototype for `%s' follows"
+-#~ msgstr "el prototip per a \"%s\" a continuació"
+-
+-#~ msgid "non-prototype definition here"
+-#~ msgstr "la definició del no prototip aquí"
+-
+-#~ msgid "prototype for `%s' follows and number of arguments doesn't match"
+-#~ msgstr "el prototip per a \"%s\" a continuació i el nombre d'arguments no coincideixen"
+-
+-#~ msgid "type qualifiers for `%s' conflict with previous decl"
+-#~ msgstr "qualificators de tipus per a \"%s\" generen conflicte amb la declaració prèvia"
+-
+-#~ msgid "redundant redeclaration of `%s' in same scope"
+-#~ msgstr "declaració redundant de \"%s\" en el mateix àmbit"
+-
+-#~ msgid "a parameter"
+-#~ msgstr "un paràmetre"
+-
+-#~ msgid "a previous local"
+-#~ msgstr "una declaració local prèvia"
+-
+-#~ msgid "a global declaration"
+-#~ msgstr "una declaració global"
+-
+-#~ msgid "`%s' was declared implicitly `extern' and later `static'"
+-#~ msgstr "\"%s\" es va declarar implícitament \"extern\" i després \"static\""
+-
+-#~ msgid "previous external decl of `%s'"
+-#~ msgstr "declaració externa prèvia de \"%s\""
+-
+-#~ msgid "type mismatch with previous implicit declaration"
+-#~ msgstr "no coincideixen els tipus amb la declaració implícita prèvia"
+-
+-#~ msgid "`%s' was previously implicitly declared to return `int'"
+-#~ msgstr "\"%s\" va ser declarat prèvia i implícitament per a retornar \"int\""
+-
+-#~ msgid "`%s' locally external but globally static"
+-#~ msgstr "\"%s\" és externa localment però estàtica globalment"
+-
+-#~ msgid "function `%s' was previously declared within a block"
+-#~ msgstr "la funció \"%s\" va ser declarada prèviament dintre d'un bloc"
+-
+-#~ msgid "declaration of `%s' has `extern' and is initialized"
+-#~ msgstr "la declaració de \"%s\" té \"extern\" i té valor inicial"
+-
+-#~ msgid "initializer fails to determine size of `%s'"
+-#~ msgstr "el iniciador no va poder determinar la grandària de \"%s\""
+-
+-#~ msgid "array size missing in `%s'"
+-#~ msgstr "falta la grandària de la matriu en %s"
+-
+-#~ msgid "storage size of `%s' isn't constant"
+-#~ msgstr "la grandària d'emmagatzematge de \"%s\" no és constant"
+-
+-#~ msgid "ISO C forbids parameter `%s' shadowing typedef"
+-#~ msgstr "ISO C prohibeix l'enfosquiment del paràmetre \"%s\" de typedef"
+-
+-#~ msgid "parameter `%s' points to incomplete type"
+-#~ msgstr "el paràmetre \"%s\" punta a un tipus incomplet"
+-
+-#~ msgid "parameter points to incomplete type"
+-#~ msgstr "el paràmetre punta a un tipus incomplet"
+-
+-#~ msgid "`enum %s' declared inside parameter list"
+-#~ msgstr "\"enum %s\" declarat dintre d'una llista de paràmetres"
+-
+-#~ msgid "anonymous union declared inside parameter list"
+-#~ msgstr "union anònim declarat dintre d'una llista de paràmetres"
+-
+-#~ msgid "anonymous enum declared inside parameter list"
+-#~ msgstr "enum anònim declarat dintre d'una llista de paràmetres"
+-
+-#~ msgid "bit-field `%s' type invalid in ISO C"
+-#~ msgstr "el tipus de camp de bit \"%s\" no és vàlid en ISO C"
+-
+-#~ msgid "duplicate member `%s'"
+-#~ msgstr "membre duplicat \"%s\""
+-
+-#~ msgid "parm types given both in parmlist and separately"
+-#~ msgstr "es van donar els tipus dels paràmetres en la llista de paràmetres i per separat"
+-
+-#~ msgid "ignoring invalid multibyte character"
+-#~ msgstr "ignorant els caràcters multibyte no vàlids"
+-
+-#~ msgid "options array incorrectly sorted: %s is before %s"
+-#~ msgstr "opcions de matriu ordenades incorrectament: %s està abans de %s"
+-
+-#~ msgid "-Wno-strict-prototypes is not supported in C++"
+-#~ msgstr "no es dóna suport a -Wno-strict-prototypes en C++"
+-
+-#~ msgid ""
+-#~ "Switches:\n"
+-#~ " -include <file> Include the contents of <file> before other files\n"
+-#~ " -imacros <file> Accept definition of macros in <file>\n"
+-#~ " -iprefix <path> Specify <path> as a prefix for next two options\n"
+-#~ " -iwithprefix <dir> Add <dir> to the end of the system include path\n"
+-#~ " -iwithprefixbefore <dir> Add <dir> to the end of the main include path\n"
+-#~ " -isystem <dir> Add <dir> to the start of the system include path\n"
+-#~ msgstr ""
+-#~ "Interruptors:\n"
+-#~ " -include <fitxer> Inclou el contingut de <fitxer> abans altres fitxers\n"
+-#~ " -imacros <fitxer> Accepta la definició de macros en <fitxer>\n"
+-#~ " -iprefix <camí> Especifica <camí> com a prefix per a les dues opcions\n"
+-#~ " següentes\n"
+-#~ " -iwithprefix <dir> Afegeix <dir> al final del camí d'inclusió del sistema\n"
+-#~ " -iwithprefixbefore <dir> Afegeix <dir> al final del camí d'inclusió principal\n"
+-#~ " -isystem <dir> Afegeix <dir> a l'inicí del camí d'inclusió del sistema\n"
+-
+-#~ msgid ""
+-#~ " -idirafter <dir> Add <dir> to the end of the system include path\n"
+-#~ " -I <dir> Add <dir> to the end of the main include path\n"
+-#~ " -I- Fine-grained include path control; see info docs\n"
+-#~ " -nostdinc Do not search system include directories\n"
+-#~ " (dirs specified with -isystem will still be used)\n"
+-#~ " -nostdinc++ Do not search system include directories for C++\n"
+-#~ " -o <file> Put output into <file>\n"
+-#~ msgstr ""
+-#~ " -idirafter <dir> Afegeix <dir> al final del camí d'inclusió del sistema\n"
+-#~ " -I <dir> Afegeix <dir> al final del camí d'inclusió principal\n"
+-#~ " -I- afinar el control del camí d'inclusió; consulta la doc\n"
+-#~ " -nostdinc No cerca els directoris d'inclusió\n"
+-#~ " (dirs especificats amb -isystem seran encara utilitzats)\n"
+-#~ " -nostdinc++ No cerca els directoris d'inclusió per a C++\n"
+-#~ " -o <fitxer> Posa la sortida en <fitxer>\n"
+-
+-#~ msgid ""
+-#~ " -trigraphs Support ISO C trigraphs\n"
+-#~ " -std=<std name> Specify the conformance standard; one of:\n"
+-#~ " gnu89, gnu99, c89, c99, iso9899:1990,\n"
+-#~ " iso9899:199409, iso9899:1999, c++98\n"
+-#~ " -w Inhibit warning messages\n"
+-#~ " -W[no-]trigraphs Warn if trigraphs are encountered\n"
+-#~ " -W[no-]comment{s} Warn if one comment starts inside another\n"
+-#~ msgstr ""
+-#~ " -trigraphs Permetre trigrafes ISO/ C\n"
+-#~ " -std=<nom std> Especificar el estándard de concordança; una de:\n"
+-#~ " gnu89, gnu99, c89, c99, iso/9899:1990,\n"
+-#~ " iso9899:199409, iso9899:1999, c++98\n"
+-#~ " -w Inhibir els missatges d'avís\n"
+-#~ " -W[no-]trigraphs Avisar si es troben trigrafes\n"
+-#~ " -W[no-]comment{s} Avisar si un comentari inicia dintre d'altre\n"
+-
+-#~ msgid ""
+-#~ " -W[no-]traditional Warn about features not present in traditional C\n"
+-#~ " -W[no-]undef Warn if an undefined macro is used by #if\n"
+-#~ " -W[no-]import Warn about the use of the #import directive\n"
+-#~ msgstr ""
+-#~ " -W[no-]traditional Avisar a propòsit de funccionalitats que no\n"
+-#~ " són presentes en tradicional C\n"
+-#~ " -W[no-]undef Avisar si #if utilitza una macro no definida\n"
+-#~ " -W[no-]import Avisar a propòsit de l'ùs de directives #import\n"
+-
+-#~ msgid ""
+-#~ " -W[no-]error Treat all warnings as errors\n"
+-#~ " -W[no-]system-headers Do not suppress warnings from system headers\n"
+-#~ " -W[no-]all Enable most preprocessor warnings\n"
+-#~ msgstr ""
+-#~ " -W[no-]error Tractar tots els avís com a errors\n"
+-#~ " -W[no-]system-headers No supprimir les avís de les capçaleres sistema\n"
+-#~ " -W[no-]all Autoritzar tots els avís del preprocessador\n"
+-
+-#~ msgid ""
+-#~ " -M Generate make dependencies\n"
+-#~ " -MM As -M, but ignore system header files\n"
+-#~ " -MD Generate make dependencies and compile\n"
+-#~ " -MMD As -MD, but ignore system header files\n"
+-#~ " -MF <file> Write dependency output to the given file\n"
+-#~ " -MG Treat missing header file as generated files\n"
+-#~ msgstr ""
+-#~ " -M Generar les dependencies de make\n"
+-#~ " -MM Com -M, però ignorales capçaleres sistema\n"
+-#~ " -MD Generar les dependencies de make i compilar\n"
+-#~ " -MMD Com -MD, però ignorales capçaleres sistema\n"
+-#~ " -MF <fitxer> Escriu les dependencies de sortida a el fitxer donat\n"
+-#~ " -MG Tractar les fitxers de capçalera com a fitxers generats\n"
+-
+-#~ msgid ""
+-#~ " -MP\t\t\t Generate phony targets for all headers\n"
+-#~ " -MQ <target> Add a MAKE-quoted target\n"
+-#~ " -MT <target> Add an unquoted target\n"
+-#~ msgstr ""
+-#~ " -MP\t\t\t Generar objectius facticis per a totes les capçaleres\n"
+-#~ " -MQ <objectiu> Afegir un objectiu MAKE-quoted\n"
+-#~ " -MT <objectiu> Afegir un objectiu sense parèntesis\n"
+-
+-#~ msgid ""
+-#~ " -D<macro> Define a <macro> with string '1' as its value\n"
+-#~ " -D<macro>=<val> Define a <macro> with <val> as its value\n"
+-#~ " -A<question>=<answer> Assert the <answer> to <question>\n"
+-#~ " -A-<question>=<answer> Disable the <answer> to <question>\n"
+-#~ " -U<macro> Undefine <macro> \n"
+-#~ " -v Display the version number\n"
+-#~ msgstr ""
+-#~ " -D<macro> Definir una <macro> amb la cadena '1' com valor\n"
+-#~ " -D<macro>=<val> Definir una <macro> amb <val> com valor\n"
+-#~ " -A<pregunta>=<resposta> Associar <resposta> a <pregunta>\n"
+-#~ " -A-<pregunta>=<resposta> Dissociar <resposta> de <pregunta>\n"
+-#~ " -U<macro> Només definir <macro> \n"
+-#~ " -v Mostrar el numero de versió\n"
+-
+-#~ msgid ""
+-#~ " -H Print the name of header files as they are used\n"
+-#~ " -C Do not discard comments\n"
+-#~ " -dM Display a list of macro definitions active at end\n"
+-#~ " -dD Preserve macro definitions in output\n"
+-#~ " -dN As -dD except that only the names are preserved\n"
+-#~ " -dI Include #include directives in the output\n"
+-#~ msgstr ""
+-#~ " -H Mostrar les noms de fitxers de capçalera quan estan utilitzats\n"
+-#~ " -C Posar les comentaris de costat\n"
+-#~ " -dM Mostrar al final una llista de les definicions de macro actives\n"
+-#~ " -dD Preservar les definicions de macro a la sortida\n"
+-#~ " -dN Com -dD excepte nomès les noms són preservats\n"
+-#~ " -dI Incloure les directives #include a la sortida\n"
+-
+-#~ msgid ""
+-#~ " -f[no-]preprocessed Treat the input file as already preprocessed\n"
+-#~ " -ftabstop=<number> Distance between tab stops for column reporting\n"
+-#~ " -P Do not generate #line directives\n"
+-#~ " -remap Remap file names when including files\n"
+-#~ " --help Display this information\n"
+-#~ msgstr ""
+-#~ " -f[no-]preprocessed Tractar el fitxer d'entrada com a ja preprocessat\n"
+-#~ " -ftabstop=<nombre> Seleccionar l'amplitud de tabulació per a les rapports\n"
+-#~ " -P No generar directives #line\n"
+-#~ " -remap Remapar les noms de fitxer quan s'inclouen fitxers\n"
+-#~ " -help Mostra aquesta informació\n"
+-
+-#~ msgid "ISO C forbids the address of a cast expression"
+-#~ msgstr "ISO C prohibeix l'adreça d'una expressió cast"
+-
+-#~ msgid "initializer for static variable is not constant"
+-#~ msgstr "el valor inicial assignat per a la variable estàtica no es constant"
+-
+-#~ msgid "initializer for static variable uses complicated arithmetic"
+-#~ msgstr "el valor inicial assignat per a la variable estàtica usa aritmètica complicada"
+-
+-#~ msgid "aggregate initializer is not constant"
+-#~ msgstr "el inicialitzador agregat no és una constant"
+-
+-#~ msgid "aggregate initializer uses complicated arithmetic"
+-#~ msgstr "el inicialitzador agregat usa aritmètica complicada"
+-
+-#~ msgid "incompatibilities between object file & expected values"
+-#~ msgstr "incompatibilitats entre el fitxer objecte i els valors esperats"
+-
+-#~ msgid ""
+-#~ "\n"
+-#~ "Processing symbol table #%d, offset = 0x%.8lx, kind = %s\n"
+-#~ msgstr ""
+-#~ "\n"
+-#~ "Processant la matriu de símbols #%d, desplacament = 0x%.8lx, tipus = %s\n"
+-
+-#~ msgid "string section missing"
+-#~ msgstr "falta la secció de cadenes"
+-
+-#~ msgid "no symbol table found"
+-#~ msgstr "no es troba la matriu de símbols"
+-
+-#~ msgid ""
+-#~ "\n"
+-#~ "Updating header and load commands.\n"
+-#~ "\n"
+-#~ msgstr ""
+-#~ "\n"
+-#~ "Actualitzant les ordres d'encapçalat i càrrega.\n"
+-#~ "\n"
+-
+-#~ msgid "load command map, %d cmds, new size %ld.\n"
+-#~ msgstr "carregar mapa d'ordres, %d ordres, nova grandària %ld.\n"
+-
+-#~ msgid ""
+-#~ "writing load commands.\n"
+-#~ "\n"
+-#~ msgstr ""
+-#~ "escrivint les ordres de càrrega.\n"
+-#~ "\n"
+-
+-#~ msgid "close %s"
+-#~ msgstr "tancar %s"
+-
+-#~ msgid "could not convert 0x%l.8x into a region"
+-#~ msgstr "no es pot convertir 0x%l.8x en una regió"
+-
+-#~ msgid "%s function, region %d, offset = %ld (0x%.8lx)\n"
+-#~ msgstr "funció %s, regió %d, desfasament = %ld (0x%.8lx)\n"
+-
+-#~ msgid "bad magic number"
+-#~ msgstr "nombre màgic erroni"
+-
+-#~ msgid "bad raw header version"
+-#~ msgstr "versió d'encapçalat textual errònia"
+-
+-#~ msgid "raw header buffer too small"
+-#~ msgstr "emmagatzematge temporal d'encapçalat textual massa petit"
+-
+-#~ msgid "old raw header file"
+-#~ msgstr "fitxer d'encapçalat textual antic"
+-
+-#~ msgid "unsupported version"
+-#~ msgstr "versió sense suport"
+-
+-#~ msgid "unknown {de,en}code_mach_o_hdr return value %d"
+-#~ msgstr "valor de retorn {de,en}code_mach_o_hdr %d desconegut"
+-
+-#~ msgid "fstat %s"
+-#~ msgstr "fstat %s"
+-
+-#~ msgid "lseek %s 0"
+-#~ msgstr "lseek %s 0"
+-
+-#~ msgid "read %s"
+-#~ msgstr "read %s"
+-
+-#~ msgid "read %ld bytes, expected %ld, from %s"
+-#~ msgstr "%ld octets llegits, s'esperaven %ld, de %s"
+-
+-#~ msgid "msync %s"
+-#~ msgstr "msync %s"
+-
+-#~ msgid "munmap %s"
+-#~ msgstr "munmap %s"
+-
+-#~ msgid "write %s"
+-#~ msgstr "write %s"
+-
+-#~ msgid "wrote %ld bytes, expected %ld, to %s"
+-#~ msgstr "%ld octets escrits, s'esperaven %ld, a %s"
+-
+-#~ msgid "ISO C++ does not permit \"%s\" in #if"
+-#~ msgstr "ISO C++ no permet \"%s\" en #if"
+-
+-#~ msgid "invalid character '\\%03o' in #if"
+-#~ msgstr "caracter no vàlid \"\\%03o\" en #if"
+-
+-#~ msgid "absolute file name in remap_filename"
+-#~ msgstr "nom de fitxer absolut en remap_filename"
+-
+-#~ msgid "%s: Not a directory"
+-#~ msgstr "%s: No és un directori"
+-
+-#~ msgid "directory name missing after %s"
+-#~ msgstr "nom de directori faltant deprés de %s"
+-
+-#~ msgid "file name missing after %s"
+-#~ msgstr "nom de fitxer faltant deprés de %s"
+-
+-#~ msgid "path name missing after %s"
+-#~ msgstr "nom de camí faltant deprés de %s"
+-
+-#~ msgid "trigraph ??%c converted to %c"
+-#~ msgstr "trigraph ??%c convertit a %c"
+-
+-#~ msgid "trigraph ??%c ignored"
+-#~ msgstr "s'ignora el trigraph ??%c"
+-
+-#~ msgid "backslash and newline separated by space"
+-#~ msgstr "barra invertida i fi de línia separats per espai"
+-
+-#~ msgid "backslash-newline at end of file"
+-#~ msgstr "barra invertida al final del fitxer"
+-
+-#~ msgid "\"/*\" within comment"
+-#~ msgstr "\"/*\" dintre un comentari"
+-
+-#~ msgid "no newline at end of file"
+-#~ msgstr "no hi ha caràcter de fi de línia"
+-
+-#~ msgid "unknown string token %s\n"
+-#~ msgstr "Element de cadena %s desconegut\n"
+-
+-#~ msgid "non-hex digit '%c' in universal-character-name"
+-#~ msgstr "dígit no hexadecimal \"%c\" en universal-character-name"
+-
+-#~ msgid "universal-character-name on EBCDIC target"
+-#~ msgstr "universal-character-name en l'objectiu EBCDIC"
+-
+-#~ msgid "universal-character-name out of range"
+-#~ msgstr "universal-character-name fora de límits"
+-
+-#~ msgid "escape sequence out of range for its type"
+-#~ msgstr "seqüència d'escapament fora de límits per a el seu tipus"
+-
+-#~ msgid "#import is obsolete, use an #ifndef wrapper in the header file"
+-#~ msgstr "#import és obsolet, usi un embolcall #ifndef en el fitxer d'encapçalat"
+-
+-#~ msgid "#pragma once is obsolete"
+-#~ msgstr "#pragma una vegada és obsolet"
+-
+-#~ msgid "the conditional began here"
+-#~ msgstr "el condicional va començar aquí"
+-
+-#~ msgid "unterminated #%s"
+-#~ msgstr "#%s sense acabar"
+-
+-#~ msgid "\"%s\" redefined"
+-#~ msgstr "\"%s\" re-definit"
+-
+-#~ msgid "this is the location of the previous definition"
+-#~ msgstr "aquesta és la ubicació de la definició prèvia"
+-
+-#~ msgid "((anonymous))"
+-#~ msgstr "((anònim))"
+-
+-#~ msgid "%s: warnings being treated as errors\n"
+-#~ msgstr "%s: els avisos són tractats com errors\n"
+-
+-#~ msgid ""
+-#~ ",\n"
+-#~ " from %s:%d"
+-#~ msgstr ""
+-#~ ",\n"
+-#~ " de %s:%d"
+-
+-#~ msgid "internal regno botch: `%s' has regno = %d\n"
+-#~ msgstr "regno intern mal fet: \"%s\" té regno = %d\n"
+-
+-#~ msgid "unsupported wide integer operation"
+-#~ msgstr "operació d'enters amples sense suport"
+-
+-#~ msgid "Copyright (C) 2003 Free Software Foundation, Inc.\n"
+-#~ msgstr "Copyright (C) 2003 Free Software Foundation, Inc.\n"
+-
+-#~ msgid "Copyright (C) 2001 Free Software Foundation, Inc.\n"
+-#~ msgstr "Copyright (C) 2001 Free Software Foundation, Inc.\n"
+-
+-#~ msgid "Could not open basic block file %s.\n"
+-#~ msgstr "No es pot obrir fitxer de bloc bàsic %s.\n"
+-
+-#~ msgid "Could not open program flow graph file %s.\n"
+-#~ msgstr "No es pot obrir el fitxer del graf de fluix del programa %s.\n"
+-
+-#~ msgid "Could not open data file %s.\n"
+-#~ msgstr "No es pot obrir fitxer de dades %s.\n"
+-
+-#~ msgid "Assuming that all execution counts are zero.\n"
+-#~ msgstr "Assumint que tots els comptes d'execició estan a zero.\n"
+-
+-#~ msgid "No executable code associated with file %s.\n"
+-#~ msgstr "No hi ha codi executable associat al fitxer %s.\n"
+-
+-#~ msgid "didn't use all bb entries of graph, function %s\n"
+-#~ msgstr "no es van usar totes les entrades bb del graf, funció %s\n"
+-
+-#~ msgid "block_num = %ld, num_blocks = %d\n"
+-#~ msgstr "block_num = %ld, num_blocks = %d\n"
+-
+-#~ msgid "ERROR: too many basic blocks in function %s\n"
+-#~ msgstr "ERROR: massa blocs bàsics en la funció %s\n"
+-
+-#~ msgid "ERROR: out of range line number in function %s\n"
+-#~ msgstr "ERROR: nombre de línies fora de límits en la funció %s\n"
+-
+-#~ msgid "Creating %s.\n"
+-#~ msgstr "Creant %s.\n"
+-
+-#~ msgid "invalid string `%s' in define_cpu_unit"
+-#~ msgstr "cadena \"%s\" no vàlida en define_cpu_unit"
+-
+-#~ msgid "invalid string `%s' in define_query_cpu_unit"
+-#~ msgstr "cadena \"%s\" no vàlida en define_query_cpu_unit"
+-
+-#~ msgid "invalid string `%s' in define_bypass"
+-#~ msgstr "cadena \"%s\" no vàlida en define_bypass"
+-
+-#~ msgid "invalid first string `%s' in exclusion_set"
+-#~ msgstr "primera cadena \"%s\" no vàlida en exclusion_set"
+-
+-#~ msgid "invalid second string `%s' in exclusion_set"
+-#~ msgstr "segona cadena \"%s\" no vàlida en exclusion_set"
+-
+-#~ msgid "invalid first string `%s' in presence_set"
+-#~ msgstr "primera cadena \"%s\" no vàlida en presence_set"
+-
+-#~ msgid "invalid first string `%s' in absence_set"
+-#~ msgstr "primera cadena \"%s\" no vàlida en absence_set"
+-
+-#~ msgid "invalid option `%s' in automata_option"
+-#~ msgstr "opció·\"%s\" no vàlida en automata_option"
+-
+-#~ msgid "invalid `%s' in reservation `%s'"
+-#~ msgstr "\"%s\" no vàlid en la reservació \"%s\""
+-
+-#~ msgid "unit `%s' excludes itself"
+-#~ msgstr "la unitat \"%s\" s'exclou a ella mateixa"
+-
+-#~ msgid "`%s' is already used as insn reservation name"
+-#~ msgstr "\"%s\" ja es va utilitzar com un nom de reservació de insn"
+-
+-#~ msgid "automaton `%s' is not declared"
+-#~ msgstr "l'autòmat \"%s\" no es va declarar"
+-
+-#~ msgid "`%s' is declared as cpu unit"
+-#~ msgstr "\"%s\" es declara com una unitat de cpu"
+-
+-#~ msgid "`%s' is declared as cpu reservation"
+-#~ msgstr "\"%s\" està declarat com una reservació de cpu"
+-
+-#~ msgid "repeated declaration of reservation `%s'"
+-#~ msgstr "declaració repetida de la reservació \"%s\""
+-
+-#~ msgid "there is no insn reservation `%s'"
+-#~ msgstr "no hi ha reservació de insn \"%s\""
+-
+-#~ msgid "bypass `%s - %s' is already defined"
+-#~ msgstr "el bypass \"%s - %s\" ja està definit"
+-
+-#~ msgid "unit `%s' is not used"
+-#~ msgstr "la unitat \"%s\" no s'utilitza"
+-
+-#~ msgid "-split has no argument."
+-#~ msgstr "-split no té arguments"
+-
+-#~ msgid "option `-split' has not been implemented yet\n"
+-#~ msgstr "l'opció \"-split\" encara no s'ha implementat\n"
+-
+-#~ msgid "Errors in DFA description"
+-#~ msgstr "Errors en la descripció DFA"
+-
+-#~ msgid "Error in writing DFA description file %s"
+-#~ msgstr "Error a l'escriure el fitxer de descripció DFA %s"
+-
+-#~ msgid ".da file corrupted"
+-#~ msgstr "fitxer .da corrupte"
+-
+-#~ msgid "Generate STABS format debug info"
+-#~ msgstr "Generar informació de depuració en el format STABS"
+-
+-#~ msgid "Generate extended STABS format debug info"
+-#~ msgstr "Generar informació de depuració en el format STABS estès"
+-
+-#~ msgid "Generate DWARF-1 format debug info"
+-#~ msgstr "Generar informació de depuració en el format DWARF-1"
+-
+-#~ msgid "Generate extended DWARF-1 format debug info"
+-#~ msgstr "Generar informació de depuració en el format DWARF-1 estès"
+-
+-#~ msgid "Generate DWARF-2 debug info"
+-#~ msgstr "Generar informació de depuració en el format DWARF-2"
+-
+-#~ msgid "Generate XCOFF format debug info"
+-#~ msgstr "Generar informació de depuració en el format XCOFF"
+-
+-#~ msgid "Generate extended XCOFF format debug info"
+-#~ msgstr "Generar informació de depuració en el format XCOFF estès"
+-
+-#~ msgid "Generate COFF format debug info"
+-#~ msgstr "Generar informació de depuració en el format COFF"
+-
+-#~ msgid "Generate VMS format debug info"
+-#~ msgstr "Generar informació de depuració en el format VMS"
+-
+-#~ msgid "Consider all mem refs through pointers as volatile"
+-#~ msgstr "Considerar totes les referències a memòria a través de punters com volatile"
+-
+-#~ msgid "Consider all mem refs to global data to be volatile"
+-#~ msgstr "Considerar totes les referències a dades globals com volatile"
+-
+-#~ msgid "Consider all mem refs to static data to be volatile"
+-#~ msgstr "Considerar totes les referències a dades static com volatile"
+-
+-#~ msgid "Output GNU ld formatted global initializers"
+-#~ msgstr "Obtenir iniciators globals amb format per a ld de GNU"
+-
+-#~ msgid "Compile just for ISO C90"
+-#~ msgstr "Compilar només per a ISO C90"
+-
+-#~ msgid "Determine language standard"
+-#~ msgstr "Determinar el estàndard de llenguatge"
+-
+-#~ msgid "Make bit-fields by unsigned by default"
+-#~ msgstr "Fer per omissió unsigned els camps de bit"
+-
+-#~ msgid "Allow different types as args of ? operator"
+-#~ msgstr "Permetre tipus diferents com arguments de l'operador ?"
+-
+-#~ msgid "Allow the use of $ inside identifiers"
+-#~ msgstr "Permetre l'ús de $ dintre dels identificadors"
+-
+-#~ msgid "Use the smallest fitting integer to hold enums"
+-#~ msgstr "Usar l'enter adequat més petit per a contenir enumerats"
+-
+-#~ msgid "Don't warn about too many arguments to format functions"
+-#~ msgstr "No avisar sobre massa arguments per a les funcions de format"
+-
+-#~ msgid "Warn when trigraphs are encountered"
+-#~ msgstr "Avisar si es troben trigrafes"
+-
+-#~ msgid "Mark strings as 'const char *'"
+-#~ msgstr "Marcar les cadenes com \"const char *\""
+-
+-#~ msgid " -pedantic-errors Like -pedantic except that errors are produced\n"
+-#~ msgstr " -pedantic-errors Com -pedantic excepte que es produeixen errors\n"
+-
+-#~ msgid " -w Suppress warnings\n"
+-#~ msgstr " -w Suprimir avisos\n"
+-
+-#~ msgid " -Wunused Enable unused warnings\n"
+-#~ msgstr " -Wunused Activar avisos sense usar\n"
+-
+-#~ msgid " -p Enable function profiling\n"
+-#~ msgstr " -p Activar l'anàlisi de perfil de funcions\n"
+-
+-#~ msgid ""
+-#~ "\n"
+-#~ "Language specific options:\n"
+-#~ msgstr ""
+-#~ "\n"
+-#~ "Opcions específiques del llenguatge:\n"
+-
+-#~ msgid " %-23.23s [undocumented]\n"
+-#~ msgstr " %-23.23s [sense documentar]\n"
+-
+-#~ msgid ""
+-#~ "\n"
+-#~ "There are undocumented %s specific options as well.\n"
+-#~ msgstr ""
+-#~ "\n"
+-#~ "A més hi ha opcions específiques de %s sense documentar.\n"
+-
+-#~ msgid "unrecognized option `%s'"
+-#~ msgstr "Opció \"%s\" no reconeguda"
+-
+-#~ msgid "-Wid-clash-LEN is no longer supported"
+-#~ msgstr "-Wid-clash-LEN ja no té suport"
+-
+-#~ msgid "use -gdwarf -g%d for DWARF v1, level %d"
+-#~ msgstr "usi -gdwarf -g%d per a DWARF v1, nivell %d"
+-
+-#~ msgid "use -gdwarf-2 for DWARF v2"
+-#~ msgstr "usi -ddwarf-2 per a DWARF v2"
+-
+-#~ msgid "ignoring option `%s' due to invalid debug level specification"
+-#~ msgstr "ignorant l'opció \"%s\" a causa de l'especificació d'un nivell de depuració no vàlid"
+-
+-#~ msgid "`%s': unknown or unsupported -g option"
+-#~ msgstr "\"%s\": opció -g desconeguda o sense suport"
+-
+-#~ msgid "`%s' ignored, conflicts with `-g%s'"
+-#~ msgstr "\"%s\" ignorat, té conflicte amb \"-g%s\""
+-
+-#~ msgid "-param option missing argument"
+-#~ msgstr "falta l'argument per a l'opció -param"
+-
+-#~ msgid "invalid --param option: %s"
+-#~ msgstr "opció de --param no vàlida: %s"
+-
+-#~ msgid "(it is valid for %s but not the selected language)"
+-#~ msgstr "(és vàlida per a %s però no per al llenguatge seleccionat)"
+-
+-#~ msgid "#`%s' not supported by %s#"
+-#~ msgstr "#\"%s\" no té suport per a %s#"
+-
+-#~ msgid "The maximum number of instructions by repeated inlining before gcc starts to throttle inlining"
+-#~ msgstr "El nombre màxim d'instruccions per inlining repetit abans que gcc comenci a descartar inlining"
+-
+-#~ msgid "The number of instructions in a single functions still eligible to inlining after a lot recursive inlining"
+-#~ msgstr "El nombre d'instruccions en una sola funció per a ser encara elegible per a inlining després de molt inlining recursiu"
+-
+-#~ msgid "Use the 26-bit version of the APCS"
+-#~ msgstr "Usar la versió 26-bit del APCS"
+-
+-#~ msgid "Use Mingw32 interface"
+-#~ msgstr "Usar la interfície Mingw32"
+-
+-#~ msgid "Use bare Windows interface"
+-#~ msgstr "Usar la interfície nua Windows"
+-
+-#~ msgid "const objects cannot go in .sdata/.sbss"
+-#~ msgstr "els objectes cons no poden anar a .sdata/.sbss"
+-
+-#~ msgid "Do not use Sky linkage convention"
+-#~ msgstr "No usar la convenció d'enllaç Sky"
+-
+-#~ msgid "Generate code for a 68881"
+-#~ msgstr "Generar codi per a un 68881"
+-
+-#~ msgid "internal gcc monitor: short-branch(%x)"
+-#~ msgstr "monitor intern de gcc: short-branch(%x)"
+-
+-#~ msgid "internal gcc error: Can't express symbolic location"
+-#~ msgstr "error intern de gcc: No es pot expressar la ubicació simbòlica"
+-
+-#~ msgid "argument #%d is a structure"
+-#~ msgstr "l'argument #%d és una estructura"
+-
+-#~ msgid "%%R not followed by %%B/C/D/E"
+-#~ msgstr "%%R no és seguit per %%B/C/D/E"
+-
+-#~ msgid "invalid %%Q value"
+-#~ msgstr "valor %%Q no vàlid"
+-
+-#~ msgid "invalid %%o value"
+-#~ msgstr "valor no vàlid per a %%o"
+-
+-#~ msgid "invalid %%s/S value"
+-#~ msgstr "valor no vàlid per a %%s/S"
+-
+-#~ msgid "invalid %%B value"
+-#~ msgstr "valor no vàlid per a %%B"
+-
+-#~ msgid "`%%d' operand isn't a register"
+-#~ msgstr "l'operand \"%%d\" no és un registre"
+-
+-#~ msgid "operand is r0"
+-#~ msgstr "l'operand és r0"
+-
+-#~ msgid "operand is const_double"
+-#~ msgstr "l'operand és const_double"
+-
+-#~ msgid "-mtrap-large-shift and -mhandle-large-shift are incompatible"
+-#~ msgstr "-mtrap-large-shift i -mhandle-large-shift no són compatibles"
+-
+-#~ msgid "-mshort-data-%s is too large "
+-#~ msgstr "-mshort-data-%s és massa gran"
+-
+-#~ msgid "-mshort-data-%s and PIC are incompatible"
+-#~ msgstr "-mshort-data-%s i PIC són incompatibles"
+-
+-#~ msgid "bad value (%s) for -mips switch"
+-#~ msgstr "valor erroni (%s) per a l'opció -mips"
+-
+-#~ msgid "invalid option `entry%s'"
+-#~ msgstr "opció no vàlid \"entry%s\""
+-
+-#~ msgid "-mentry is only meaningful with -mips-16"
+-#~ msgstr "-mentry només té significat amb -mips-16"
+-
+-#~ msgid "MIPS ECOFF format does not allow changing filenames within functions with #line"
+-#~ msgstr "el format ECOFF de MIPS no permet el canvi de noms de fitxer dintre de funcions amb #line"
+-
+-#~ msgid "fp_offset (%ld) or end_offset (%ld) is less than zero"
+-#~ msgstr "fp_offset (%ld) o end_offset (%ld) és menor a zero"
+-
+-#~ msgid "Trap on integer divide overflow"
+-#~ msgstr "Atrapar desbordaments en la divisió entera"
+-
+-#~ msgid "Don't trap on integer divide overflow"
+-#~ msgstr "No atrapar desbordaments en la divisió entera"
+-
+-#~ msgid "Use mips16 entry/exit psuedo ops"
+-#~ msgstr "Usar pseudo ops mips16 de entrada/sortida"
+-
+-#~ msgid "invalid %%z value"
+-#~ msgstr "valor %%z no vàlid"
+-
+-#~ msgid "invalid %%Z value"
+-#~ msgstr "valor %%Z no vàlid"
+-
+-#~ msgid "can't have varargs with -mfp-arg-in-fp-regs"
+-#~ msgstr "no es pot tenir varargs amb -mfp-arg-in-fp-regs"
+-
+-#~ msgid "unknown -mvrsave= option specified: '%s'"
+-#~ msgstr "opció -mvrsave= especificada desconeguda: \"%s\""
+-
+-#~ msgid "64 bit mode"
+-#~ msgstr "moda 64 bits"
+-
+-#~ msgid "31 bit mode"
+-#~ msgstr "moda 31 bits"
+-
+-#~ msgid "Use the Xtensa code density option"
+-#~ msgstr "Usar l'opció de densitat del codi Xtensa"
+-
+-#~ msgid "Do not use the Xtensa code density option"
+-#~ msgstr "No usar l'opció de densitat del codi Xtensa"
+-
+-#~ msgid "Use the Xtensa MAC16 option"
+-#~ msgstr "Usar l'opció MAC16 de Xtensa"
+-
+-#~ msgid "Do not use the Xtensa MAC16 option"
+-#~ msgstr "No usar l'opció MAC16 de Xtensa"
+-
+-#~ msgid "Use the Xtensa MUL16 option"
+-#~ msgstr "Usar l'opció MUL16 de Xtensa"
+-
+-#~ msgid "Do not use the Xtensa MUL16 option"
+-#~ msgstr "No usar l'opció MUL16 de Xtensa"
+-
+-#~ msgid "Use the Xtensa MUL32 option"
+-#~ msgstr "Usar l'opció MUL32 de Xtensa"
+-
+-#~ msgid "Do not use the Xtensa MUL32 option"
+-#~ msgstr "No usar l'opció MUL32 de Xtensa"
+-
+-#~ msgid "Use the Xtensa NSA option"
+-#~ msgstr "Usar l'opció NSA de Xtensa"
+-
+-#~ msgid "Do not use the Xtensa NSA option"
+-#~ msgstr "No usar l'opció NSA de Xtensa"
+-
+-#~ msgid "Use the Xtensa MIN/MAX option"
+-#~ msgstr "Usar l'opció MIN/MAX de Xtensa"
+-
+-#~ msgid "Do not use the Xtensa MIN/MAX option"
+-#~ msgstr "No usar l'opció MIN/MAX de Xtensa"
+-
+-#~ msgid "Use the Xtensa SEXT option"
+-#~ msgstr "Usar l'opció SEXT de Xtensa"
+-
+-#~ msgid "Do not use the Xtensa SEXT option"
+-#~ msgstr "No usar l'opció SEXT de Xtensa"
+-
+-#~ msgid "Use the Xtensa boolean register option"
+-#~ msgstr "Usar l'opció de registre booleà de Xtensa"
+-
+-#~ msgid "Do not use the Xtensa boolean register option"
+-#~ msgstr "No usar l'opció de registre booleà de Xtensa"
+-
+-#~ msgid "Do not use the Xtensa floating-point unit"
+-#~ msgstr "No usar la unitat de coma flotant de Xtensa"
+-
+-#~ msgid "Serialize volatile memory references with MEMW instructions"
+-#~ msgstr "Serialitzar les referències a memòria volàtil amb instruccions MEMW"
+-
+-#~ msgid "Do not serialize volatile memory references with MEMW instructions"
+-#~ msgstr "No serialitzar les referències a memòria volàtil amb instruccions MEMW"
+-
+-#~ msgid "type of `%E' does not match destructor type `%T' (type was `%T')"
+-#~ msgstr "el tipus de \"%E\" no coincideix amb el tipus del destructor \"%T\" (el tipus era \"%T\")"
+-
+-#~ msgid "base object `%E' of scoped method call is of non-aggregate type `%T'"
+-#~ msgstr "l'objecte base \"%E\" de la cridada de mètode de l'ambient és del tipus no agregat \"%T\""
+-
+-#~ msgid "destructors take no parameters"
+-#~ msgstr "els destructors no prenen paràmetres"
+-
+-#~ msgid "destructor name `~%T' does not match type `%T' of expression"
+-#~ msgstr "el nom del destructor \"%T\" no coincideix amb el tipus \"%T\" de l'expressió"
+-
+-#~ msgid "%s %+#D%s"
+-#~ msgstr "%s %+#D%s"
+-
+-#~ msgid "`%D' must be declared before use"
+-#~ msgstr "es deu declarar \"%D\" abans del seu ús"
+-
+-#~ msgid " initializing argument %P of `%D' from result of `%D'"
+-#~ msgstr " inicialitzant l'argument %P de \"%D\" a partir del resultat de \"%D\""
+-
+-#~ msgid " initializing temporary from result of `%D'"
+-#~ msgstr " inicialitzant el temporal a partir del resultat de \"%D\""
+-
+-#~ msgid "cannot receive objects of non-POD type `%#T' through `...'"
+-#~ msgstr "no es pot rebre objectes de tipus \"%#T\" que no és POD a través de \"...\""
+-
+-#~ msgid "duplicate enum value `%D'"
+-#~ msgstr "valor enum duplicat \"%D\""
+-
+-#~ msgid "duplicate field `%D' (as enum and non-enum)"
+-#~ msgstr "camp duplicat \"%D\" (com enum i non-enum)"
+-
+-#~ msgid "duplicate nested type `%D'"
+-#~ msgstr "tipus niat duplicat \"%D\""
+-
+-#~ msgid "duplicate field `%D' (as type and non-type)"
+-#~ msgstr "camp duplicat \"%D\" (com tipus i no tipus)"
+-
+-#~ msgid "ISO C++ forbids member `%D' with same name as enclosing class"
+-#~ msgstr "ISO C++ prohibeix que el membre \"%D\" tingui el mateix nom que la classe que ho conté"
+-
+-#~ msgid "field `%D' invalidly declared offset type"
+-#~ msgstr "el camp \"%D\" és declarat no vàlidament com un tipus de desplaçament"
+-
+-#~ msgid "field `%D' declared static in union"
+-#~ msgstr "el camp \"%D\" és declarat com static en la unió"
+-
+-#~ msgid "lookup of `%D' finds `%#D'"
+-#~ msgstr "la recerca de \"%D\" troba a \"%#D\""
+-
+-#~ msgid " instead of `%D' from dependent base class"
+-#~ msgstr " en lloc de \"%D\" de la classe base depenent"
+-
+-#~ msgid "lookup of `%D' in the scope of `%#T' (`%#D') does not match lookup in the current scope (`%#D')"
+-#~ msgstr "la recerca de \"%D\" en l'àmbit de \"%#T\" (\"%#D\") no coincideix amb la recerca en l'àmbit actual (\"%#D\")"
+-
+-#~ msgid "`%T' is implicitly a typename"
+-#~ msgstr "\"%T\" implícitament és un nom de tipus"
+-
+-#~ msgid "ISO C++ forbids static data member `%D' with same name as enclosing class"
+-#~ msgstr "ISO C++ prohibeix que el membre de dades static \"%D\" tingui el mateix nom que la classe que ho conté"
+-
+-#~ msgid "parameter `%D' invalidly declared offset type"
+-#~ msgstr "el paràmetre \"%D\" es va declarar no vàlidament com tipus de desplaçament"
+-
+-#~ msgid "`%s %T' declares a new type at namespace scope"
+-#~ msgstr "\"%s %T\" declara un tipus nou en l'àmbit del nom d'espai"
+-
+-#~ msgid " names from dependent base classes are not visible to unqualified name lookup - to refer to the inherited type, say `%s %T::%T'"
+-#~ msgstr " els noms de les classes bases depenents no són visibles per a la recerca de noms sense qualificar - per a referir-se al tipus heretat, utilitzi \"%s %T::%T\""
+-
+-#~ msgid "base class `%T' has incomplete type"
+-#~ msgstr "la classe base \"%T\" té tipus de dada incompleta"
+-
+-#~ msgid "semicolon missing after declaration of `%#T'"
+-#~ msgstr "manca punt i coma després de la declaració de \"%#T\""
+-
+-#~ msgid "template `%#D' instantiated in file without #pragma interface"
+-#~ msgstr "es va instanciar el patró \"%#D\" en el fitxer sense #pragma interface"
+-
+-#~ msgid "template `%#D' defined in file without #pragma interface"
+-#~ msgstr "es va definir el patró \"%#D\" en el fitxer sense #pragma interface"
+-
+-#~ msgid "parser may be lost: is there a '{' missing somewhere?"
+-#~ msgstr "el decodificador tal vegada es va perdre: falta algun \"{\" en algun lloc?"
+-
+-#~ msgid "anachronistic use of array size in vector delete"
+-#~ msgstr "ús anacrònic de la grandària de la matriu desconeguda en vector delete"
+-
+-#~ msgid "(use `=' to initialize static data members)"
+-#~ msgstr "(usi \"=\" per a inicialitzar membres de dades static)"
+-
+-#~ msgid "too many initialization functions required"
+-#~ msgstr "es requereixen massa funcions d'inicialització"
+-
+-#~ msgid "a using-declaration cannot specify a template-id. Try `using %T::%D'"
+-#~ msgstr "una declaració d'ús no pot especificar un aneu de patró. Intenti \"using %T::%D\""
+-
+-#~ msgid "`%T' does not have a class or union named `%D'"
+-#~ msgstr "\"%T\" no té una classe o union cridat \"%D\""
+-
+-#~ msgid "`%T' is not a class or union type"
+-#~ msgstr "\"%T\" no és una classe o tipus union"
+-
+-#~ msgid "(static %s for %s)"
+-#~ msgstr "(%s static per a %s)"
+-
+-#~ msgid "%s: In instantiation of `%s':\n"
+-#~ msgstr "%s: En la instanciació de \"%s\":\n"
+-
+-#~ msgid "%s:%d: instantiated from `%s'\n"
+-#~ msgstr "%s:%d: instanciat des de \"%s\"\n"
+-
+-#~ msgid "%s:%d: instantiated from here\n"
+-#~ msgstr "%s:%d: instanciat des d'aquí\n"
+-
+-#~ msgid "cannot call destructor `%T::~%T' without object"
+-#~ msgstr "no es pot cridar al destructor \"%T::%T\" sense un objecte"
+-
+-#~ msgid "no method `%T::%D'"
+-#~ msgstr "no hi ha un mètode \"%T::%D\""
+-
+-#~ msgid "object missing in use of pointer-to-member construct"
+-#~ msgstr "manca objecte en l'ús d'una consctrucció que punta a membres"
+-
+-#~ msgid "member `%D' is non-static but referenced as a static member"
+-#~ msgstr "el membre \"%D\" no és static però és referenciat com un membre static"
+-
+-#~ msgid "object missing in `%E'"
+-#~ msgstr "falta un objecte en \"%E\""
+-
+-#~ msgid "initializer list being treated as compound expression"
+-#~ msgstr "es tracta la llista d'inicialitzadors com una expressió composada"
+-
+-#~ msgid "ISO C++ forbids aggregate initializer to new"
+-#~ msgstr "ISO C++ prohibeix un inicialitzador agregat per a new"
+-
+-#~ msgid "cannot declare references to references"
+-#~ msgstr "no es poden declarar referències a referències"
+-
+-#~ msgid "cannot declare pointers to references"
+-#~ msgstr "no es poden declarar punter a referències"
+-
+-#~ msgid "type name expected before `&'"
+-#~ msgstr "s'esperava nom de tipus abans de \"&\""
+-
+-#~ msgid "semicolon missing after %s declaration"
+-#~ msgstr "manca punt i coma després de la declaració %s"
+-
+-#~ msgid "`::%D' undeclared (first use here)"
+-#~ msgstr "\"::%D\" sense declarar (primer ús aquí)"
+-
+-#~ msgid "use of linkage spec `%D' is different from previous spec `%D'"
+-#~ msgstr "l'ús de l'especificació d'enllaçat \"%D\" és diferent de l'especificació prèvia \"%D\""
+-
+-#~ msgid "use of template qualifier outside template"
+-#~ msgstr "ús del qualificador de patró fora del patró"
+-
+-#~ msgid "ISO C++ forbids an empty condition for `%s'"
+-#~ msgstr "ISO C++ prohibeix una condició buida per a \"%s\""
+-
+-#~ msgid "definition of class `%T' in condition"
+-#~ msgstr "definició de la classe \"%T\" en una condició"
+-
+-#~ msgid "definition of enum `%T' in condition"
+-#~ msgstr "definició del enum \"%T\" en una condició"
+-
+-#~ msgid "definition of array `%#D' in condition"
+-#~ msgstr "definició de la matriu \"%#D\" en una condició"
+-
+-#~ msgid "old style placement syntax, use () instead"
+-#~ msgstr "sintaxi d'ubicació d'estil antic, usi en el seu lloc ()"
+-
+-#~ msgid "sigof type specifier"
+-#~ msgstr "especificador de tipus sigof"
+-
+-#~ msgid "`sigof' applied to non-aggregate expression"
+-#~ msgstr "\"sigof\" aplicat a una expressió no agregada"
+-
+-#~ msgid "storage class specifier `%s' not allowed after struct or class"
+-#~ msgstr "no es permet el especificador de classe d'emmagatzematge \"%s\" després de struct o class"
+-
+-#~ msgid "type specifier `%s' not allowed after struct or class"
+-#~ msgstr "no es permet el especificador de tipus \"%s\" després de struct o class"
+-
+-#~ msgid "type qualifier `%s' not allowed after struct or class"
+-#~ msgstr "no es permet el qualificador de tipus \"%s\" després de struct o class"
+-
+-#~ msgid "no body nor ';' separates two class, struct or union declarations"
+-#~ msgstr "no hi ha cos ni \";\" separant dues declaracions class, struct o union"
+-
+-#~ msgid "no bases given following `:'"
+-#~ msgstr "no hi ha bases donat seguint \":\""
+-
+-#~ msgid "multiple access specifiers"
+-#~ msgstr "specificadors d'accés múltiples"
+-
+-#~ msgid "missing ';' before right brace"
+-#~ msgstr "falta \";\" abans de la clau dreta"
+-
+-#~ msgid "ISO C++ forbids array dimensions with parenthesized type in new"
+-#~ msgstr "ISO C++ prohibeix les dimensions de matriu amb tipus amb parèntesi en new"
+-
+-#~ msgid "ISO C++ forbids label declarations"
+-#~ msgstr "ISO C++ prohibeix declaracions d'etiquetes"
+-
+-#~ msgid "label must be followed by statement"
+-#~ msgstr "l'etiqueta ha de ser seguida d'una declaració"
+-
+-#~ msgid "must have at least one catch per try block"
+-#~ msgstr "es deu tenir almenys un catch per cada bloc try"
+-
+-#~ msgid "ISO C++ forbids compound statements inside for initializations"
+-#~ msgstr "ISO C++ prohibeix les declaracions compostes internes per a inicialitzacions"
+-
+-#~ msgid "possibly missing ')'"
+-#~ msgstr "possible \")\" faltant"
+-
+-#~ msgid "type specifier omitted for parameter"
+-#~ msgstr "especificador de tipus omès per al paràmetre"
+-
+-#~ msgid "`%E' is not a type, use `typename %E' to make it one"
+-#~ msgstr "\"%E\" no és un tipus, usi \"typename %E\" per a fer-lo un tipus"
+-
+-#~ msgid "no type `%D' in `%T'"
+-#~ msgstr "no hi ha un tipus \"%D\" en \"%T\""
+-
+-#~ msgid "type specifier omitted for parameter `%E'"
+-#~ msgstr "es va ometre el especificador per al paràmetre \"%E\""
+-
+-#~ msgid "type `%T' composed from a local class is not a valid template-argument"
+-#~ msgstr "el tipus \"%T\" composat des d'una classe local no és un argument de patró vàlid"
+-
+-#~ msgid "adjusting pointers for covariant returns"
+-#~ msgstr "ajustant els punters per a retorns covariants"
+-
+-#~ msgid " overriding `%#D' (must be pointer or reference to class)"
+-#~ msgstr " substituint a \"%#D\" (ha de ser punter o referència a una classe)"
+-
+-#~ msgid " overriding `%#D' (must use pointer or reference)"
+-#~ msgstr " substituint a \"%#D\" (ha de ser punter o referència)"
+-
+-#~ msgid "ISO C++ does not permit named return values"
+-#~ msgstr "ISO C++ no permet valors de retorn nomenats"
+-
+-#~ msgid "return identifier `%D' already in place"
+-#~ msgstr "l'identificador de retorn \"%D\" ja està en el seu lloc"
+-
+-#~ msgid "can't redefine default return value for constructors"
+-#~ msgstr "no es pot redefinir el valor per omissió de retorn pels constructors"
+-
+-#~ msgid "calling type `%T' like a method"
+-#~ msgstr "cridant al tipus \"%T\" com un mètode"
+-
+-#~ msgid "destructor specifier `%T::~%T()' must have matching names"
+-#~ msgstr "el especificador del destructor \"%T::%T()\" deu tenir noms coincidents"
+-
+-#~ msgid "identifier name `%s' conflicts with GNU C++ internal naming strategy"
+-#~ msgstr "el nom d'identificador \"%s\" causa conflictes amb l'estratègia interna de nomenatge del C++ de GNU"
+-
+-#~ msgid "parse error at end of saved function text"
+-#~ msgstr "error de decodificació al final del text de la funció guardada"
+-
+-#~ msgid "function body for constructor missing"
+-#~ msgstr "falta el cos de la funció pel constructor"
+-
+-#~ msgid "circular dependency in default args of `%#D'"
+-#~ msgstr "dependència circular en els arguments per omissió de \"%#D\""
+-
+-#~ msgid "invalid type `%T' for default argument to `%T'"
+-#~ msgstr "tipus \"%T\" no vàlid per a l'argument per omissió de \"%T\""
+-
+-#~ msgid "%s before `%c'"
+-#~ msgstr "%s abans de \"%c\""
+-
+-#~ msgid "%s before `\\%o'"
+-#~ msgstr "%s abans de \"\\%o\""
+-
+-#~ msgid "%s before `%s' token"
+-#~ msgstr "%s abans del testimoni \"%s\""
+-
+-#~ msgid "ISO C++ prohibits conversion from `%#T' to `(...)'"
+-#~ msgstr "ISO C++ prohibeix la conversió de \"%#T\" a \"(...)\""
+-
+-#~ msgid "invalid application of `%s' to non-static member"
+-#~ msgstr "ús no vàlid de \"%s\" en un membre no static"
+-
+-#~ msgid "destructor specifier `%T::~%T' must have matching names"
+-#~ msgstr "el especificador del destructor \"%T::~%T\" deu tenir noms coincidents"
+-
+-#~ msgid "parameter type of called function is incomplete"
+-#~ msgstr "el tipus del paràmetre de la funció cridada és incomplet"
+-
+-#~ msgid "ISO C++ forbids using pointer to a member in subtraction"
+-#~ msgstr "ISO C++ prohibeix l'ús d'un punter a un membre en la substracció"
+-
+-#~ msgid "reinterpret_cast from `%T' to `%T' casts away const (or volatile)"
+-#~ msgstr "reinterpret_cast de \"%T\" a \"%T\" proscriu a const (o volatile)"
+-
+-#~ msgid "return-statement with no value, in function declared with a non-void return type"
+-#~ msgstr "return-statement sense valor, en una funció declarada amb un tipus de retorn non-void"
+-
+-#~ msgid "return-statement with a value, in function declared with a void return type"
+-#~ msgstr "return-statement amb un valor, en una funció declarada amb un tipus de retorn void"
+-
+-#~ msgid "comma expression used to initialize return value"
+-#~ msgstr "es va usar una expressió coma per a inicialitzar el valor de retorn"
+-
+-#~ msgid "`%T' fails to be a typedef or built-in type"
+-#~ msgstr "\"%T\" falla al ser un typedef o un tipus built-in"
+-
+-#~ msgid "ISO C++ forbids defining types within %s"
+-#~ msgstr "ISO C++ prohibeix la definició de tipus dintre de %s"
+-
+-#~ msgid "Only emit explicit template instantiations"
+-#~ msgstr "Emetre solament instanciacions explícites de patrons"
+-
+-#~ msgid "Recognize and/bitand/bitor/compl/not/or/xor"
+-#~ msgstr "Reconèixer and/bitand/bitor/compl/not/or/xor"
+-
+-#~ msgid "Warn about inconsistent return types"
+-#~ msgstr "Avisar sobre tipus inconsistents de retorn"
+-
+-#~ msgid "Warn when a function is declared extern, then inline"
+-#~ msgstr "Avisar quan una funció és declarada extern i després «inline»"
+-
+-#~ msgid "directory name must immediately follow -I"
+-#~ msgstr "el nom del directori deu seguir immediatament a -I"
+-
+-#~ msgid "ignoring pragma: %s"
+-#~ msgstr "ignorant el pragma: %s"
+-
+-#~ msgid "Print g77-specific compiler version info, run internal tests"
+-#~ msgstr "Imprimeix informació de la versió del compilador g77, executa proves internes"
+-
+-#~ msgid "Program is written in typical FORTRAN 66 dialect"
+-#~ msgstr "El programa està escrit en el dialecte típic FORTRAN 66"
+-
+-#~ msgid "Program is written in typical Unix f77 dialect"
+-#~ msgstr "El programa està escrit en el dialecte típic Unix f77"
+-
+-#~ msgid "Program does not use Unix-f77 dialectal features"
+-#~ msgstr "El programa no utilitza les característiques del dialecte Unix-f77"
+-
+-#~ msgid "Program is written in Fortran-90-ish dialect"
+-#~ msgstr "El programa en un dialecte proper a Fortran-90"
+-
+-#~ msgid "Allow $ in symbol names"
+-#~ msgstr "Permetre $ en els noms de símbols"
+-
+-#~ msgid "f2c-compatible code need not be generated"
+-#~ msgstr "No es necessita generar codi compatible amb f2c"
+-
+-#~ msgid "Unsupported; do not generate libf2c-calling code"
+-#~ msgstr "Sense suport; no genera codi de cridada a libf2c"
+-
+-#~ msgid "Unsupported; affects code-generation of arrays"
+-#~ msgstr "Sense suport; afecta la generació de codi de les matrius"
+-
+-#~ msgid "Program is written in Fortran-90-ish free form"
+-#~ msgstr "El programa està escrit en una forma lliure propera a Fortran-90"
+-
+-#~ msgid "Program is written in VXT (Digital-like) FORTRAN"
+-#~ msgstr "El programa està escrit en VXT (com Digital) FORTRAN"
+-
+-#~ msgid "Disallow all ugly features"
+-#~ msgstr "Desactiva totes les característiques lletjes"
+-
+-#~ msgid "Hollerith and typeless constants not passed as arguments"
+-#~ msgstr "No es passen les constants Hollerith i sense tipus com arguments"
+-
+-#~ msgid "Allow ordinary copying of ASSIGN'ed vars"
+-#~ msgstr "Permet la còpia ordinària de variables ASSIGN'ed"
+-
+-#~ msgid "Dummy array dimensioned to (1) is assumed-size"
+-#~ msgstr "La matriu faltament dimensionada a (1) és de grandària assumida"
+-
+-#~ msgid "Trailing comma in procedure call denotes null argument"
+-#~ msgstr "Coma al final de la crida al procediment denota un argument null"
+-
+-#~ msgid "Allow REAL(Z) and AIMAG(Z) given DOUBLE COMPLEX Z"
+-#~ msgstr "Permet que REAL(Z) i AIMAG(Z) rebin DOUBLE COMPLEX Z"
+-
+-#~ msgid "Initialization via DATA and PARAMETER is type-compatible"
+-#~ msgstr "L'inicialització a través de DATA i PARAMETER és de tipus compatible"
+-
+-#~ msgid "Allow INTEGER and LOGICAL interchangeability"
+-#~ msgstr "Permet l'intercanvi entre INTEGER i LOGICAL"
+-
+-#~ msgid "Print internal debugging-related info"
+-#~ msgstr "Mostra la informació interna relacionada amb la depuració"
+-
+-#~ msgid "Backslashes in character/hollerith constants not special (C-style)"
+-#~ msgstr "Les barres invertides en constants de caràcter/hollerith no són especials (estil C)"
+-
+-#~ msgid "Have front end emulate COMPLEX arithmetic to avoid bugs"
+-#~ msgstr "Fa que el front emuli aritmètica COMPLEX per a evitar errors"
+-
+-#~ msgid "Disable the appending of underscores to externals"
+-#~ msgstr "Desactiva l'agregació de subratllats als externs"
+-
+-#~ msgid "Intrinsics spelled as e.g. SqRt"
+-#~ msgstr "Intrínsecs lletrejats com p.e. SqRt"
+-
+-#~ msgid "Intrinsics in uppercase"
+-#~ msgstr "Intrínsecs en majúscules"
+-
+-#~ msgid "Intrinsics letters in arbitrary cases"
+-#~ msgstr "Lletres d'intrínsecs amb majúscules/minúscules indistintes"
+-
+-#~ msgid "Language keywords spelled as e.g. IOStat"
+-#~ msgstr "Paraules claus del llenguatge lletrejades com p.e. IOStat"
+-
+-#~ msgid "Language keywords in uppercase"
+-#~ msgstr "Paraules claus del llenguatge en majúscules"
+-
+-#~ msgid "Language keyword letters in arbitrary cases"
+-#~ msgstr "Paraules claus del llenguatge amb majúscules/minúscules indistintes"
+-
+-#~ msgid "Internally convert most source to uppercase"
+-#~ msgstr "Convertir internament gairebé tot el codi a majúscules"
+-
+-#~ msgid "Internally preserve source case"
+-#~ msgstr "Preservar internament les majúscules i minúscules del codi font"
+-
+-#~ msgid "Symbol names spelled in mixed case"
+-#~ msgstr "Noms de símbol lletrejats amb majúscules/minúscules barrejades"
+-
+-#~ msgid "Symbol names in uppercase"
+-#~ msgstr "Noms de símbol en majúscules"
+-
+-#~ msgid "Symbol names in lowercase"
+-#~ msgstr "Noms de símbol en minúscules"
+-
+-#~ msgid "Program written in uppercase"
+-#~ msgstr "Programa escrit en majúscules"
+-
+-#~ msgid "Program written in lowercase"
+-#~ msgstr "Programa escrit en minúscules"
+-
+-#~ msgid "Program written in strict mixed-case"
+-#~ msgstr "Programa escrit estrictament amb majúscules i minúscules barrejades"
+-
+-#~ msgid "Compile as if program written in uppercase"
+-#~ msgstr "Compilar com si el programa estigués escrit en majúscules"
+-
+-#~ msgid "Compile as if program written in lowercase"
+-#~ msgstr "Compilar com si el programa estigués escrit en minúscules"
+-
+-#~ msgid "Preserve all spelling (case) used in program"
+-#~ msgstr "Preservar tot el lletrejo (majúscules/minúscules) usat en el programa"
+-
+-#~ msgid "Delete libU77 intrinsics with bad interfaces"
+-#~ msgstr "Esborrar els intrínsecs libU77 amb interfícies errònies"
+-
+-#~ msgid "Disable libU77 intrinsics with bad interfaces"
+-#~ msgstr "Desactivar els intrínsecs libU77 amb interfícies errònies"
+-
+-#~ msgid "Hide libU77 intrinsics with bad interfaces"
+-#~ msgstr "Amagar els intrínsecs libU77 amb interfícies errònies"
+-
+-#~ msgid "Delete non-FORTRAN-77 intrinsics f2c supports"
+-#~ msgstr "Esborrar els intrínsecs de FORTRAN que no és 77 que f2c suporta"
+-
+-#~ msgid "Disable non-FORTRAN-77 intrinsics f2c supports"
+-#~ msgstr "Desactivar els intrínsecs de FORTRAN que no és 77 que f2c suporta"
+-
+-#~ msgid "Hide non-FORTRAN-77 intrinsics f2c supports"
+-#~ msgstr "Amagar els intrínsecs de FORTRAN que no és 77 que f2c suporta"
+-
+-#~ msgid "Delete non-FORTRAN-77 intrinsics F90 supports"
+-#~ msgstr "Esborrar els intrínsecs de FORTRAN que no és 77 que F90 suporta"
+-
+-#~ msgid "Disable non-FORTRAN-77 intrinsics F90 supports"
+-#~ msgstr "Desactivar els intrínsecs de FORTRAN que no és 77 que F90 suporta"
+-
+-#~ msgid "Hide non-FORTRAN-77 intrinsics F90 supports"
+-#~ msgstr "Amagar els intrínsecs de FORTRAN que no és 77 que F90 suporta"
+-
+-#~ msgid "Delete non-FORTRAN-77 intrinsics g77 supports"
+-#~ msgstr "Esborrar els intrínsecs de FORTRAN que no és 77 que g77 suporta"
+-
+-#~ msgid "Disable non-FORTRAN 77 intrinsics F90 supports"
+-#~ msgstr "Desactivar els intrínsecs de FORTRAN que no és 77 que g77 suporta"
+-
+-#~ msgid "Hide non-FORTRAN 77 intrinsics F90 supports"
+-#~ msgstr "Amagar els intrínsecs de FORTRAN que no és 77 que g77 suporta"
+-
+-#~ msgid "Delete MIL-STD 1753 intrinsics"
+-#~ msgstr "Esborrar els intrínsecs MIL-STD 1753"
+-
+-#~ msgid "Disable MIL-STD 1753 intrinsics"
+-#~ msgstr "Desactivar els intrínsecs MIL-STD 1753"
+-
+-#~ msgid "Hide MIL-STD 1753 intrinsics"
+-#~ msgstr "Amagar els intrínsecs MIL-STD 1753"
+-
+-#~ msgid "Delete libU77 intrinsics"
+-#~ msgstr "Esborrar els intrínsecs libU77"
+-
+-#~ msgid "Disable libU77 intrinsics"
+-#~ msgstr "Desactivar els intrínsecs libU77"
+-
+-#~ msgid "Hide libU77 intrinsics"
+-#~ msgstr "Amagar els intrínsecs libU77"
+-
+-#~ msgid "Delete non-FORTRAN-77 intrinsics VXT FORTRAN supports"
+-#~ msgstr "Esborrar els intrínsecs de FORTRAN que no és 77 que VXT FORTRAN suporta"
+-
+-#~ msgid "Disable non-FORTRAN-77 intrinsics VXT FORTRAN supports"
+-#~ msgstr "Desactivar els intrínsecs de FORTRAN que no és 77 que VXT FORTRAN suporta"
+-
+-#~ msgid "Hide non-FORTRAN-77 intrinsics VXT FORTRAN supports"
+-#~ msgstr "Amagar els intrínsecs de FORTRAN que no és 77 que VXT FORTRAN suporta"
+-
+-#~ msgid "Treat initial values of 0 like non-zero values"
+-#~ msgstr "Tractar els valors inicials de 0 com valors que no són zero"
+-
+-#~ msgid "Emit special debugging information for COMMON and EQUIVALENCE (disabled)"
+-#~ msgstr "Emetre informació especial de depuració per a COMMON i EQUIVALENCE (desactivat)"
+-
+-#~ msgid "Take at least one trip through each iterative DO loop"
+-#~ msgstr "Prendre almenys un viatge a través de cada cicle DO iteratiu"
+-
+-#~ msgid "Disable fatal diagnostics about inter-procedural problems"
+-#~ msgstr "Desactivar els diagnòstics fatals sobre problemes interprocedurals"
+-
+-#~ msgid "Make prefix-radix non-decimal constants be typeless"
+-#~ msgstr "Fer que no tinguin tipus les constants amb prefix-radical que no és decimal"
+-
+-#~ msgid "Generate code to check subscript and substring bounds"
+-#~ msgstr "Generar codi per a revisar els límits de subíndicis i subcadenes"
+-
+-#~ msgid "Fortran-specific form of -fbounds-check"
+-#~ msgstr "Forma específica de Fortran de -fbounds-check"
+-
+-#~ msgid "Disable warnings about inter-procedural problems"
+-#~ msgstr "Desactivar els avisos sobre problemes interprocedurals"
+-
+-#~ msgid "Warn about constructs with surprising meanings"
+-#~ msgstr "Avisar sobre constructors amb significats sorprenents"
+Index: gcc/po/rw.po
+===================================================================
+--- gcc/po/rw.po (.../tags/gcc_4_3_0_release) (revision 133808)
++++ gcc/po/rw.po (.../branches/gcc-4_3-branch) (revision 133808)
+@@ -1,37927 +0,0 @@
+-# Kinyarwanda translations for gcc package.
+-# Copyright (C) 2005 Free Software Foundation, Inc.
+-# This file is distributed under the same license as the gcc package.
+-# Steve Murphy <murf@e-tools.com>, 2005.
+-# Steve performed initial rough translation from compendium built from translations provided by the following translators:
+-# Philibert Ndandali <ndandali@yahoo.fr>, 2005.
+-# Viateur MUGENZI <muvia1@yahoo.fr>, 2005.
+-# Noëlla Mupole <s24211045@tuks.co.za>, 2005.
+-# Carole Karema <karemacarole@hotmail.com>, 2005.
+-# JEAN BAPTISTE NGENDAHAYO <ngenda_denis@yahoo.co.uk>, 2005.
+-# Augustin KIBERWA <akiberwa@yahoo.co.uk>, 2005.
+-# Donatien NSENGIYUMVA <ndonatienuk@yahoo.co.uk>, 2005.
+-# Antoine Bigirimana <antoine@e-tools.com>, 2005.
+-#
+-msgid ""
+-msgstr ""
+-"Project-Id-Version: gcc 3.3\n"
+-"Report-Msgid-Bugs-To: http://gcc.gnu.org/bugs.html\n"
+-"POT-Creation-Date: 2007-05-13 19:50-0700\n"
+-"PO-Revision-Date: 2005-04-04 10:55-0700\n"
+-"Last-Translator: Steven Michael Murphy <murf@e-tools.com>\n"
+-"Language-Team: Kinyarwanda <translation-team-rw@lists.sourceforge.net>\n"
+-"MIME-Version: 1.0\n"
+-"Content-Type: text/plain; charset=UTF-8\n"
+-"Content-Transfer-Encoding: 8bit\n"
+-
+-#: c-decl.c:3783
+-msgid "<anonymous>"
+-msgstr ""
+-
+-#: c-format.c:347 c-format.c:371
+-#, fuzzy
+-msgid "' ' flag"
+-msgstr "`'Ibendera"
+-
+-#: c-format.c:347 c-format.c:371
+-#, fuzzy
+-msgid "the ' ' printf flag"
+-msgstr "i Ibendera"
+-
+-#: c-format.c:348 c-format.c:372 c-format.c:406 c-format.c:418 c-format.c:475
+-#, fuzzy
+-msgid "'+' flag"
+-msgstr "`+'Ibendera"
+-
+-#: c-format.c:348 c-format.c:372 c-format.c:406 c-format.c:418
+-#, fuzzy
+-msgid "the '+' printf flag"
+-msgstr "i Ibendera"
+-
+-#: c-format.c:349 c-format.c:373 c-format.c:419 c-format.c:451
+-#, fuzzy
+-msgid "'#' flag"
+-msgstr "`#'Ibendera"
+-
+-#: c-format.c:349 c-format.c:373 c-format.c:419
+-#, fuzzy
+-msgid "the '#' printf flag"
+-msgstr "i Ibendera"
+-
+-#: c-format.c:350 c-format.c:374 c-format.c:449
+-#, fuzzy
+-msgid "'0' flag"
+-msgstr "`Ibendera"
+-
+-#: c-format.c:350 c-format.c:374
+-#, fuzzy
+-msgid "the '0' printf flag"
+-msgstr "i Ibendera"
+-
+-#: c-format.c:351 c-format.c:375 c-format.c:448 c-format.c:478
+-#, fuzzy
+-msgid "'-' flag"
+-msgstr "`-'Ibendera"
+-
+-#: c-format.c:351 c-format.c:375
+-#, fuzzy
+-msgid "the '-' printf flag"
+-msgstr "i Ibendera"
+-
+-#: c-format.c:352 c-format.c:432
+-#, fuzzy
+-msgid "''' flag"
+-msgstr "`''Ibendera"
+-
+-#: c-format.c:352
+-#, fuzzy
+-msgid "the ''' printf flag"
+-msgstr "i Ibendera"
+-
+-#: c-format.c:353 c-format.c:433
+-#, fuzzy
+-msgid "'I' flag"
+-msgstr "`''Ibendera"
+-
+-#: c-format.c:353
+-#, fuzzy
+-msgid "the 'I' printf flag"
+-msgstr "i Ibendera"
+-
+-#: c-format.c:354 c-format.c:376 c-format.c:430 c-format.c:452 c-format.c:479
+-#: c-format.c:1606 config/sol2-c.c:46
+-#, fuzzy
+-msgid "field width"
+-msgstr "Umwanya Ubugari"
+-
+-#: c-format.c:354 c-format.c:376 config/sol2-c.c:46
+-#, fuzzy
+-msgid "field width in printf format"
+-msgstr "Umwanya Ubugari in Imiterere"
+-
+-#: c-format.c:355 c-format.c:377 c-format.c:408 c-format.c:421
+-msgid "precision"
+-msgstr ""
+-
+-#: c-format.c:355 c-format.c:377 c-format.c:408 c-format.c:421
+-#, fuzzy
+-msgid "precision in printf format"
+-msgstr "in Imiterere"
+-
+-#: c-format.c:356 c-format.c:378 c-format.c:409 c-format.c:422 c-format.c:431
+-#: c-format.c:482 config/sol2-c.c:47
+-#, fuzzy
+-msgid "length modifier"
+-msgstr "Uburebure"
+-
+-#: c-format.c:356 c-format.c:378 c-format.c:409 c-format.c:422
+-#: config/sol2-c.c:47
+-#, fuzzy
+-msgid "length modifier in printf format"
+-msgstr "Uburebure in Imiterere"
+-
+-#: c-format.c:407 c-format.c:420
+-#, fuzzy
+-msgid "'q' flag"
+-msgstr "`''Ibendera"
+-
+-#: c-format.c:407 c-format.c:420
+-#, fuzzy
+-msgid "the 'q' diagnostic flag"
+-msgstr "i Ibendera"
+-
+-#: c-format.c:428
+-#, fuzzy
+-msgid "assignment suppression"
+-msgstr "Igenera"
+-
+-#: c-format.c:428
+-#, fuzzy
+-msgid "the assignment suppression scanf feature"
+-msgstr "i Igenera"
+-
+-#: c-format.c:429
+-#, fuzzy
+-msgid "'a' flag"
+-msgstr "`''Ibendera"
+-
+-#: c-format.c:429
+-#, fuzzy
+-msgid "the 'a' scanf flag"
+-msgstr "i Ibendera"
+-
+-#: c-format.c:430
+-#, fuzzy
+-msgid "field width in scanf format"
+-msgstr "Umwanya Ubugari in Imiterere"
+-
+-#: c-format.c:431
+-#, fuzzy
+-msgid "length modifier in scanf format"
+-msgstr "Uburebure in Imiterere"
+-
+-#: c-format.c:432
+-#, fuzzy
+-msgid "the ''' scanf flag"
+-msgstr "i Ibendera"
+-
+-#: c-format.c:433
+-#, fuzzy
+-msgid "the 'I' scanf flag"
+-msgstr "i Ibendera"
+-
+-#: c-format.c:447
+-#, fuzzy
+-msgid "'_' flag"
+-msgstr "`''Ibendera"
+-
+-#: c-format.c:447
+-#, fuzzy
+-msgid "the '_' strftime flag"
+-msgstr "i Ibendera"
+-
+-#: c-format.c:448
+-#, fuzzy
+-msgid "the '-' strftime flag"
+-msgstr "i Ibendera"
+-
+-#: c-format.c:449
+-#, fuzzy
+-msgid "the '0' strftime flag"
+-msgstr "i Ibendera"
+-
+-#: c-format.c:450 c-format.c:474
+-#, fuzzy
+-msgid "'^' flag"
+-msgstr "`''Ibendera"
+-
+-#: c-format.c:450
+-#, fuzzy
+-msgid "the '^' strftime flag"
+-msgstr "i Ibendera"
+-
+-#: c-format.c:451
+-#, fuzzy
+-msgid "the '#' strftime flag"
+-msgstr "i Ibendera"
+-
+-#: c-format.c:452
+-#, fuzzy
+-msgid "field width in strftime format"
+-msgstr "Umwanya Ubugari in Imiterere"
+-
+-#: c-format.c:453
+-#, fuzzy
+-msgid "'E' modifier"
+-msgstr "i"
+-
+-#: c-format.c:453
+-#, fuzzy
+-msgid "the 'E' strftime modifier"
+-msgstr "i"
+-
+-#: c-format.c:454
+-#, fuzzy
+-msgid "'O' modifier"
+-msgstr "i"
+-
+-#: c-format.c:454
+-#, fuzzy
+-msgid "the 'O' strftime modifier"
+-msgstr "i"
+-
+-#: c-format.c:455
+-#, fuzzy
+-msgid "the 'O' modifier"
+-msgstr "i"
+-
+-# svx/source\dialog\tabstpge.src:RID_SVXPAGE_TABULATOR.FL_FILLCHAR.text
+-#: c-format.c:473
+-#, fuzzy
+-msgid "fill character"
+-msgstr "Kuzuza inyuguti"
+-
+-#: c-format.c:473
+-#, fuzzy
+-msgid "fill character in strfmon format"
+-msgstr "Kuzuza Inyuguti in Imiterere"
+-
+-#: c-format.c:474
+-#, fuzzy
+-msgid "the '^' strfmon flag"
+-msgstr "i Ibendera"
+-
+-#: c-format.c:475
+-#, fuzzy
+-msgid "the '+' strfmon flag"
+-msgstr "i Ibendera"
+-
+-#: c-format.c:476
+-#, fuzzy
+-msgid "'(' flag"
+-msgstr "`''Ibendera"
+-
+-#: c-format.c:476
+-#, fuzzy
+-msgid "the '(' strfmon flag"
+-msgstr "i Ibendera"
+-
+-#: c-format.c:477
+-#, fuzzy
+-msgid "'!' flag"
+-msgstr "`''Ibendera"
+-
+-#: c-format.c:477
+-#, fuzzy
+-msgid "the '!' strfmon flag"
+-msgstr "i Ibendera"
+-
+-#: c-format.c:478
+-#, fuzzy
+-msgid "the '-' strfmon flag"
+-msgstr "i Ibendera"
+-
+-#: c-format.c:479
+-#, fuzzy
+-msgid "field width in strfmon format"
+-msgstr "Umwanya Ubugari in Imiterere"
+-
+-#: c-format.c:480
+-#, fuzzy
+-msgid "left precision"
+-msgstr "Ibumoso:"
+-
+-#: c-format.c:480
+-#, fuzzy
+-msgid "left precision in strfmon format"
+-msgstr "Ibumoso: in Imiterere"
+-
+-#: c-format.c:481
+-#, fuzzy
+-msgid "right precision"
+-msgstr "Iburyo:"
+-
+-#: c-format.c:481
+-#, fuzzy
+-msgid "right precision in strfmon format"
+-msgstr "Iburyo: in Imiterere"
+-
+-#: c-format.c:482
+-#, fuzzy
+-msgid "length modifier in strfmon format"
+-msgstr "Uburebure in Imiterere"
+-
+-#: c-format.c:1708
+-#, fuzzy
+-msgid "field precision"
+-msgstr "Umwanya"
+-
+-#: c-incpath.c:73
+-#, fuzzy, c-format
+-msgid "ignoring duplicate directory \"%s\"\n"
+-msgstr "Gusubiramo bushyinguro"
+-
+-#: c-incpath.c:76
+-#, fuzzy, c-format
+-msgid " as it is a non-system directory that duplicates a system directory\n"
+-msgstr "Nka ni a Sisitemu bushyinguro a Sisitemu"
+-
+-#: c-incpath.c:80
+-#, fuzzy, c-format
+-msgid "ignoring nonexistent directory \"%s\"\n"
+-msgstr "bushyinguro"
+-
+-#: c-incpath.c:295
+-#, fuzzy, c-format
+-msgid "#include \"...\" search starts here:\n"
+-msgstr "#Gushyiramo Gushaka"
+-
+-#: c-incpath.c:299
+-#, fuzzy, c-format
+-msgid "#include <...> search starts here:\n"
+-msgstr "#Gushyiramo Gushaka"
+-
+-#: c-incpath.c:304
+-#, fuzzy, c-format
+-msgid "End of search list.\n"
+-msgstr "Impera Bya Gushaka Urutonde"
+-
+-#: c-opts.c:1378
+-#, fuzzy
+-msgid "<built-in>"
+-msgstr "<in"
+-
+-#: c-opts.c:1396
+-#, fuzzy
+-msgid "<command-line>"
+-msgstr "<Komandi: Umurongo"
+-
+-#: c-typeck.c:2328 c-typeck.c:4764 c-typeck.c:4766 c-typeck.c:4774
+-#: c-typeck.c:4804 c-typeck.c:6180
+-#, fuzzy
+-msgid "initializer element is not constant"
+-msgstr "Ikigize: ni OYA"
+-
+-#: c-typeck.c:4567
+-#, fuzzy
+-msgid "array initialized from parenthesized string constant"
+-msgstr "INYUGUTI Imbonerahamwe Bivuye Ikurikiranyanyuguti"
+-
+-#: c-typeck.c:4628 cp/typeck2.c:686
+-#, fuzzy, gcc-internal-format
+-msgid "char-array initialized from wide string"
+-msgstr "INYUGUTI Imbonerahamwe Bivuye Ikurikiranyanyuguti"
+-
+-#: c-typeck.c:4633
+-#, fuzzy
+-msgid "wchar_t-array initialized from non-wide string"
+-msgstr "INYUGUTI Imbonerahamwe Bivuye Ikurikiranyanyuguti"
+-
+-#: c-typeck.c:4651 cp/typeck2.c:706
+-#, fuzzy, gcc-internal-format
+-msgid "initializer-string for array of chars is too long"
+-msgstr "Ikurikiranyanyuguti kugirango Imbonerahamwe Bya ni"
+-
+-#: c-typeck.c:4657
+-#, fuzzy
+-msgid "array of inappropriate type initialized from string constant"
+-msgstr "INYUGUTI Imbonerahamwe Bivuye Ikurikiranyanyuguti"
+-
+-#. ??? This should not be an error when inlining calls to
+-#. unprototyped functions.
+-#: c-typeck.c:4721 c-typeck.c:4216 cp/typeck.c:1532
+-#, fuzzy, gcc-internal-format
+-msgid "invalid use of non-lvalue array"
+-msgstr "Sibyo Gukoresha Bya Imbonerahamwe"
+-
+-#: c-typeck.c:4747
+-#, fuzzy
+-msgid "array initialized from non-constant array expression"
+-msgstr "Imbonerahamwe Bivuye Imbonerahamwe imvugo"
+-
+-#: c-typeck.c:4811 c-typeck.c:6184
+-#, fuzzy, gcc-internal-format
+-msgid "initializer element is not computable at load time"
+-msgstr "Ikigize: ni OYA ku Ibirimo Igihe"
+-
+-#. Although C99 is unclear about whether incomplete arrays
+-#. of VLAs themselves count as VLAs, it does not make
+-#. sense to permit them to be initialized given that
+-#. ordinary VLAs may not be initialized.
+-#: c-typeck.c:4822 c-decl.c:3217 c-decl.c:3232
+-#, fuzzy, gcc-internal-format
+-msgid "variable-sized object may not be initialized"
+-msgstr "IMPINDURAGACIRO Igikoresho Gicurasi OYA"
+-
+-#: c-typeck.c:4826
+-#, fuzzy
+-msgid "invalid initializer"
+-msgstr "Sibyo"
+-
+-#: c-typeck.c:5300
+-#, fuzzy
+-msgid "extra brace group at end of initializer"
+-msgstr "Birenga Itsinda ku Impera Bya"
+-
+-#: c-typeck.c:5320
+-#, fuzzy
+-msgid "missing braces around initializer"
+-msgstr "Ibuze Ingirwadusodeko"
+-
+-#: c-typeck.c:5381
+-#, fuzzy
+-msgid "braces around scalar initializer"
+-msgstr "Ingirwadusodeko"
+-
+-#: c-typeck.c:5438
+-#, fuzzy
+-msgid "initialization of flexible array member in a nested context"
+-msgstr "Bya Imbonerahamwe in a Imvugiro"
+-
+-#: c-typeck.c:5440
+-#, fuzzy
+-msgid "initialization of a flexible array member"
+-msgstr "Bya a Imbonerahamwe"
+-
+-#: c-typeck.c:5467
+-#, fuzzy
+-msgid "missing initializer"
+-msgstr "Ibuze"
+-
+-#: c-typeck.c:5489
+-#, fuzzy
+-msgid "empty scalar initializer"
+-msgstr "ubusa"
+-
+-#: c-typeck.c:5494
+-#, fuzzy
+-msgid "extra elements in scalar initializer"
+-msgstr "Birenga Ibintu in"
+-
+-#: c-typeck.c:5591 c-typeck.c:5651
+-#, fuzzy
+-msgid "array index in non-array initializer"
+-msgstr "Imbonerahamwe Umubarendanga in Imbonerahamwe"
+-
+-#: c-typeck.c:5596 c-typeck.c:5704
+-#, fuzzy
+-msgid "field name not in record or union initializer"
+-msgstr "Umwanya Izina: OYA in Icyabitswe Cyangwa Ihuza"
+-
+-#: c-typeck.c:5642
+-#, fuzzy
+-msgid "array index in initializer not of integer type"
+-msgstr "Imbonerahamwe Umubarendanga in Imbonerahamwe"
+-
+-#: c-typeck.c:5647 c-typeck.c:5649
+-#, fuzzy
+-msgid "nonconstant array index in initializer"
+-msgstr "Imbonerahamwe Umubarendanga in"
+-
+-#: c-typeck.c:5653 c-typeck.c:5656
+-#, fuzzy
+-msgid "array index in initializer exceeds array bounds"
+-msgstr "Imbonerahamwe Umubarendanga in Imbonerahamwe"
+-
+-#: c-typeck.c:5667
+-#, fuzzy
+-msgid "empty index range in initializer"
+-msgstr "ubusa Umubarendanga Urutonde in"
+-
+-#: c-typeck.c:5676
+-#, fuzzy
+-msgid "array index range in initializer exceeds array bounds"
+-msgstr "Imbonerahamwe Umubarendanga Urutonde in Imbonerahamwe"
+-
+-#: c-typeck.c:5751 c-typeck.c:5774 c-typeck.c:6248
+-#, fuzzy
+-msgid "initialized field with side-effects overwritten"
+-msgstr "Umwanya Na: Ingaruka"
+-
+-#: c-typeck.c:5753 c-typeck.c:5776 c-typeck.c:6250
+-#, fuzzy
+-msgid "initialized field overwritten"
+-msgstr "Umwanya Na: Ingaruka"
+-
+-#: c-typeck.c:6458
+-#, fuzzy
+-msgid "excess elements in char array initializer"
+-msgstr "Ibintu in INYUGUTI Imbonerahamwe"
+-
+-#: c-typeck.c:6465 c-typeck.c:6511
+-#, fuzzy
+-msgid "excess elements in struct initializer"
+-msgstr "Ibintu in"
+-
+-#: c-typeck.c:6526
+-#, fuzzy
+-msgid "non-static initialization of a flexible array member"
+-msgstr "Bya a Imbonerahamwe"
+-
+-#: c-typeck.c:6594
+-#, fuzzy
+-msgid "excess elements in union initializer"
+-msgstr "Ibintu in Ihuza"
+-
+-#: c-typeck.c:6681
+-#, fuzzy
+-msgid "excess elements in array initializer"
+-msgstr "Ibintu in Imbonerahamwe"
+-
+-#: c-typeck.c:6711
+-#, fuzzy
+-msgid "excess elements in vector initializer"
+-msgstr "Ibintu in"
+-
+-#: c-typeck.c:6735
+-#, fuzzy
+-msgid "excess elements in scalar initializer"
+-msgstr "Ibintu in"
+-
+-#: cfgrtl.c:1970
+-#, fuzzy
+-msgid "flow control insn inside a basic block"
+-msgstr "Igenzura Mo Imbere a BASIC Funga"
+-
+-#: cfgrtl.c:2048
+-#, fuzzy
+-msgid "wrong insn in the fallthru edge"
+-msgstr "in i"
+-
+-#: cfgrtl.c:2090
+-#, fuzzy
+-msgid "insn outside basic block"
+-msgstr "Hanze BASIC Funga"
+-
+-#: cfgrtl.c:2097
+-#, fuzzy
+-msgid "return not followed by barrier"
+-msgstr "Garuka OYA ku"
+-
+-#: cgraph.c:391 ipa-inline.c:313
+-#, fuzzy
+-msgid "function body not available"
+-msgstr "Umumaro Mumurongo"
+-
+-#: cgraph.c:393 cgraphunit.c:633
+-#, fuzzy
+-msgid "redefined extern inline functions are not considered for inlining"
+-msgstr "Ryari: Umumaro"
+-
+-#: cgraph.c:396 cgraphunit.c:638
+-#, fuzzy
+-msgid "function not considered for inlining"
+-msgstr "Umumaro Mumurongo"
+-
+-#: cgraph.c:398 cgraphunit.c:636 ipa-inline.c:306
+-#, fuzzy
+-msgid "function not inlinable"
+-msgstr "Umumaro Mumurongo"
+-
+-#: collect2.c:373 gcc.c:6833
+-#, fuzzy, c-format
+-msgid "internal gcc abort in %s, at %s:%d"
+-msgstr "Kureka in ku"
+-
+-#: collect2.c:872
+-#, fuzzy, c-format
+-msgid "no arguments"
+-msgstr "Oya ingingo"
+-
+-#: collect2.c:1246 collect2.c:1394 collect2.c:1429
+-#, c-format
+-msgid "fopen %s"
+-msgstr ""
+-
+-#: collect2.c:1249 collect2.c:1399 collect2.c:1432
+-#, c-format
+-msgid "fclose %s"
+-msgstr ""
+-
+-#: collect2.c:1258
+-#, fuzzy, c-format
+-msgid "collect2 version %s"
+-msgstr "Verisiyo"
+-
+-#: collect2.c:1348
+-#, fuzzy, c-format
+-msgid "%d constructor(s) found\n"
+-msgstr "%dS"
+-
+-#: collect2.c:1349
+-#, fuzzy, c-format
+-msgid "%d destructor(s) found\n"
+-msgstr "%dS"
+-
+-#: collect2.c:1350
+-#, fuzzy, c-format
+-msgid "%d frame table(s) found\n"
+-msgstr "%dIkadiri imbonerahamwe# S"
+-
+-#: collect2.c:1487
+-#, fuzzy, c-format
+-msgid "can't get program status"
+-msgstr "%s:%s:Kubona Imimerere"
+-
+-#: collect2.c:1537
+-#, fuzzy, c-format
+-msgid "[cannot find %s]"
+-msgstr "[Gushaka"
+-
+-#: collect2.c:1552
+-#, fuzzy, c-format
+-msgid "cannot find '%s'"
+-msgstr "Gushaka"
+-
+-#: collect2.c:1556 collect2.c:2045 collect2.c:2200 gcc.c:2928
+-#, c-format
+-msgid "pex_init failed"
+-msgstr ""
+-
+-#: collect2.c:1591
+-#, c-format
+-msgid "[Leaving %s]\n"
+-msgstr ""
+-
+-#: collect2.c:1811
+-#, fuzzy, c-format
+-msgid ""
+-"\n"
+-"write_c_file - output name is %s, prefix is %s\n"
+-msgstr "Ibisohoka Izina: ni Imbanziriza ni"
+-
+-#: collect2.c:2019
+-#, fuzzy, c-format
+-msgid "cannot find 'nm'"
+-msgstr "Gushaka"
+-
+-#: collect2.c:2066
+-#, fuzzy, c-format
+-msgid "can't open nm output"
+-msgstr "Gufungura Ibisohoka IDOSIYE"
+-
+-#: collect2.c:2110
+-#, fuzzy, c-format
+-msgid "init function found in object %s"
+-msgstr "Umumaro Byabonetse in Igikoresho"
+-
+-#: collect2.c:2118
+-#, fuzzy, c-format
+-msgid "fini function found in object %s"
+-msgstr "Umumaro Byabonetse in Igikoresho"
+-
+-#: collect2.c:2221
+-#, fuzzy, c-format
+-msgid "can't open ldd output"
+-msgstr "Gufungura Ibisohoka IDOSIYE"
+-
+-#: collect2.c:2224
+-#, fuzzy, c-format
+-msgid ""
+-"\n"
+-"ldd output with constructors/destructors.\n"
+-msgstr "Ibisohoka Na:"
+-
+-#: collect2.c:2239
+-#, fuzzy, c-format
+-msgid "dynamic dependency %s not found"
+-msgstr "OYA Byabonetse"
+-
+-#: collect2.c:2251
+-#, fuzzy, c-format
+-msgid "unable to open dynamic dependency '%s'"
+-msgstr "Kuri Gufungura"
+-
+-#: collect2.c:2407
+-#, fuzzy, c-format
+-msgid "%s: not a COFF file"
+-msgstr "%s:OYA a IDOSIYE"
+-
+-#: collect2.c:2527
+-#, fuzzy, c-format
+-msgid "%s: cannot open as COFF file"
+-msgstr "%s:Gufungura Nka IDOSIYE"
+-
+-#: collect2.c:2585
+-#, fuzzy, c-format
+-msgid "library lib%s not found"
+-msgstr "Isomero OYA Byabonetse"
+-
+-#: cppspec.c:106
+-#, fuzzy, c-format
+-msgid "\"%s\" is not a valid option to the preprocessor"
+-msgstr "\"%s\"ni OYA a Byemewe Ihitamo Kuri i"
+-
+-#: cppspec.c:128
+-#, fuzzy, c-format
+-msgid "too many input files"
+-msgstr "Iyinjiza Idosiye"
+-
+-#: diagnostic.c:189
+-#, fuzzy, c-format
+-msgid "%s:%d: confused by earlier errors, bailing out\n"
+-msgstr "%s:%d:ku Amakosa"
+-
+-#: diagnostic.c:254
+-#, c-format
+-msgid "compilation terminated due to -Wfatal-errors.\n"
+-msgstr ""
+-
+-#: diagnostic.c:263
+-#, fuzzy, c-format
+-msgid ""
+-"Please submit a full bug report,\n"
+-"with preprocessed source if appropriate.\n"
+-"See %s for instructions.\n"
+-msgstr "Tanga a Icyegeranyo Na: Inkomoko NIBA kugirango Amabwiriza"
+-
+-#: diagnostic.c:272
+-#, c-format
+-msgid "compilation terminated.\n"
+-msgstr ""
+-
+-#: diagnostic.c:623
+-#, fuzzy, c-format
+-msgid "Internal compiler error: Error reporting routines re-entered.\n"
+-msgstr "Ikosa"
+-
+-#: final.c:1104
+-#, fuzzy
+-msgid "negative insn length"
+-msgstr "Uburebure"
+-
+-#: final.c:2449
+-#, fuzzy
+-msgid "could not split insn"
+-msgstr "OYA Gutandukanya"
+-
+-#: final.c:2798
+-#, fuzzy
+-msgid "invalid 'asm': "
+-msgstr "Sibyo"
+-
+-#: final.c:2981
+-#, c-format
+-msgid "nested assembly dialect alternatives"
+-msgstr ""
+-
+-#: final.c:2998 final.c:3010
+-#, c-format
+-msgid "unterminated assembly dialect alternative"
+-msgstr ""
+-
+-#: final.c:3057
+-#, fuzzy, c-format
+-msgid "operand number missing after %%-letter"
+-msgstr "Umubare Ibuze Nyuma"
+-
+-#: final.c:3060 final.c:3101
+-#, fuzzy, c-format
+-msgid "operand number out of range"
+-msgstr "Umubare Inyuma Bya Urutonde"
+-
+-# sc/source\ui\src\globstr.src:RID_GLOBSTR.STR_INVALID.text
+-#: final.c:3120
+-#, fuzzy, c-format
+-msgid "invalid %%-code"
+-msgstr "Sibyo"
+-
+-#: final.c:3150
+-#, fuzzy, c-format
+-msgid "'%%l' operand isn't a label"
+-msgstr "`%%l'si a Akarango"
+-
+-#. We can't handle floating point constants;
+-#. PRINT_OPERAND must handle them.
+-#. We can't handle floating point constants; PRINT_OPERAND must
+-#. handle them.
+-#. We can't handle floating point constants;
+-#. PRINT_OPERAND must handle them.
+-#: final.c:3251 vmsdbgout.c:487 config/i386/i386.c:7222
+-#: config/pdp11/pdp11.c:1700
+-#, fuzzy, c-format
+-msgid "floating constant misused"
+-msgstr "Bihindagurika"
+-
+-#: final.c:3307 vmsdbgout.c:544 config/i386/i386.c:7298
+-#: config/pdp11/pdp11.c:1747
+-#, fuzzy, c-format
+-msgid "invalid expression as operand"
+-msgstr "Sibyo imvugo Nka"
+-
+-#: flow.c:1735
+-#, fuzzy
+-msgid "Attempt to delete prologue/epilogue insn:"
+-msgstr "Kuri Gusiba"
+-
+-#: gcc.c:1665
+-#, fuzzy, c-format
+-msgid "Using built-in specs.\n"
+-msgstr "in"
+-
+-#: gcc.c:1848
+-#, fuzzy, c-format
+-msgid ""
+-"Setting spec %s to '%s'\n"
+-"\n"
+-msgstr "Kuri"
+-
+-#: gcc.c:1963
+-#, fuzzy, c-format
+-msgid "Reading specs from %s\n"
+-msgstr "Bivuye"
+-
+-#: gcc.c:2059 gcc.c:2078
+-#, fuzzy, c-format
+-msgid "specs %%include syntax malformed after %ld characters"
+-msgstr "Nyuma Inyuguti"
+-
+-#: gcc.c:2086
+-#, fuzzy, c-format
+-msgid "could not find specs file %s\n"
+-msgstr "OYA Gushaka IDOSIYE"
+-
+-#: gcc.c:2103 gcc.c:2111 gcc.c:2120 gcc.c:2129
+-#, fuzzy, c-format
+-msgid "specs %%rename syntax malformed after %ld characters"
+-msgstr "Nyuma Inyuguti"
+-
+-#: gcc.c:2138
+-#, fuzzy, c-format
+-msgid "specs %s spec was not found to be renamed"
+-msgstr "OYA Byabonetse Kuri"
+-
+-#: gcc.c:2145
+-#, fuzzy, c-format
+-msgid "%s: attempt to rename spec '%s' to already defined spec '%s'"
+-msgstr "%s:Kuri Guhindura izina Kuri"
+-
+-#: gcc.c:2150
+-#, fuzzy, c-format
+-msgid "rename spec %s to %s\n"
+-msgstr "Guhindura izina Kuri"
+-
+-#: gcc.c:2152
+-#, fuzzy, c-format
+-msgid ""
+-"spec is '%s'\n"
+-"\n"
+-msgstr "ni"
+-
+-#: gcc.c:2165
+-#, fuzzy, c-format
+-msgid "specs unknown %% command after %ld characters"
+-msgstr "Kitazwi Komandi: Nyuma Inyuguti"
+-
+-#: gcc.c:2176 gcc.c:2189
+-#, fuzzy, c-format
+-msgid "specs file malformed after %ld characters"
+-msgstr "IDOSIYE Nyuma Inyuguti"
+-
+-#: gcc.c:2242
+-#, fuzzy, c-format
+-msgid "spec file has no spec for linking"
+-msgstr "IDOSIYE Oya kugirango Impuza"
+-
+-#: gcc.c:2759
+-#, fuzzy, c-format
+-msgid "system path '%s' is not absolute"
+-msgstr "ni OYA"
+-
+-#: gcc.c:2822
+-#, fuzzy, c-format
+-msgid "-pipe not supported"
+-msgstr "-OYA"
+-
+-#: gcc.c:2884
+-#, fuzzy, c-format
+-msgid ""
+-"\n"
+-"Go ahead? (y or n) "
+-msgstr "Y Cyangwa N"
+-
+-#: gcc.c:2967
+-#, fuzzy
+-msgid "failed to get exit status"
+-msgstr "Gusohoka Imimerere"
+-
+-#: gcc.c:2973
+-#, fuzzy
+-msgid "failed to get process times"
+-msgstr "Byanze Kuri Gushaka ishuri"
+-
+-#: gcc.c:2999
+-#, fuzzy, c-format
+-msgid ""
+-"Internal error: %s (program %s)\n"
+-"Please submit a full bug report.\n"
+-"See %s for instructions."
+-msgstr "Ikosa Porogaramu Tanga a Icyegeranyo kugirango Amabwiriza"
+-
+-#: gcc.c:3025
+-#, fuzzy, c-format
+-msgid "# %s %.2f %.2f\n"
+-msgstr ""
+-"#%s%.Project- Id- Version: basctl\n"
+-"POT- Creation- Date: 2003- 12- 07 17: 13+ 02\n"
+-"PO- Revision- Date: 2004- 11- 04 10: 13- 0700\n"
+-"Last- Translator: Language- Team:< en@ li. org> MIME- Version: 1. 0\n"
+-"Content- Type: text/ plain; charset= UTF- 8\n"
+-"Content- Transfer- Encoding: 8bit\n"
+-"X- Generator: KBabel 1. 0\n"
+-"."
+-
+-#: gcc.c:3161
+-#, fuzzy, c-format
+-msgid "Usage: %s [options] file...\n"
+-msgstr "Amahitamo IDOSIYE"
+-
+-# crashrep/source\all\crashrep.lng:%OPTIONS_BUTTON%.text
+-#: gcc.c:3162
+-#, fuzzy
+-msgid "Options:\n"
+-msgstr "Amahitamo..."
+-
+-#: gcc.c:3164
+-#, fuzzy
+-msgid " -pass-exit-codes Exit with highest error code from a phase\n"
+-msgstr "-Gusohoka Na: kirekire kurusha ibindi Ikosa ITEGEKONGENGA Bivuye a"
+-
+-#: gcc.c:3165
+-#, fuzzy
+-msgid " --help Display this information\n"
+-msgstr "--Ifashayobora iyi"
+-
+-#: gcc.c:3166
+-#, fuzzy
+-msgid " --target-help Display target specific command line options\n"
+-msgstr "--Intego Ifashayobora Intego Komandi: Umurongo"
+-
+-#: gcc.c:3168
+-#, fuzzy
+-msgid " (Use '-v --help' to display command line options of sub-processes)\n"
+-msgstr "(v Kuri Kugaragaza Komandi: Umurongo Amahitamo Bya"
+-
+-#: gcc.c:3169
+-#, fuzzy
+-msgid " -dumpspecs Display all of the built in spec strings\n"
+-msgstr "-Byose Bya i in"
+-
+-#: gcc.c:3170
+-#, fuzzy
+-msgid " -dumpversion Display the version of the compiler\n"
+-msgstr "-i Verisiyo Bya i"
+-
+-#: gcc.c:3171
+-#, fuzzy
+-msgid " -dumpmachine Display the compiler's target processor\n"
+-msgstr "-i Intego"
+-
+-#: gcc.c:3172
+-#, fuzzy
+-msgid " -print-search-dirs Display the directories in the compiler's search path\n"
+-msgstr "-Gucapa Gushaka i ububiko bw'amaderese in i Gushaka"
+-
+-#: gcc.c:3173
+-#, fuzzy
+-msgid " -print-libgcc-file-name Display the name of the compiler's companion library\n"
+-msgstr "-Gucapa IDOSIYE Izina: i Izina: Bya i"
+-
+-#: gcc.c:3174
+-#, fuzzy
+-msgid " -print-file-name=<lib> Display the full path to library <lib>\n"
+-msgstr "-Gucapa IDOSIYE Izina: i Inzira Kuri Isomero"
+-
+-#: gcc.c:3175
+-#, fuzzy
+-msgid " -print-prog-name=<prog> Display the full path to compiler component <prog>\n"
+-msgstr "-Gucapa Izina: i Inzira Kuri"
+-
+-#: gcc.c:3176
+-#, fuzzy
+-msgid " -print-multi-directory Display the root directory for versions of libgcc\n"
+-msgstr "-Gucapa bushyinguro i Imizi bushyinguro kugirango Uburyo Bya"
+-
+-#: gcc.c:3177
+-#, fuzzy
+-msgid ""
+-" -print-multi-lib Display the mapping between command line options and\n"
+-" multiple library search directories\n"
+-msgstr "-Gucapa i Igereranya hagati Komandi: Umurongo Amahitamo Igikubo Isomero Gushaka"
+-
+-#: gcc.c:3180
+-#, fuzzy
+-msgid " -print-multi-os-directory Display the relative path to OS libraries\n"
+-msgstr "-Gucapa bushyinguro i Bifitanye isano Inzira Kuri"
+-
+-#: gcc.c:3181
+-#, fuzzy
+-msgid " -Wa,<options> Pass comma-separated <options> on to the assembler\n"
+-msgstr "-Amahitamo Akitso Amahitamo ku Kuri i"
+-
+-#: gcc.c:3182
+-#, fuzzy
+-msgid " -Wp,<options> Pass comma-separated <options> on to the preprocessor\n"
+-msgstr "-Amahitamo Akitso Amahitamo ku Kuri i"
+-
+-#: gcc.c:3183
+-#, fuzzy
+-msgid " -Wl,<options> Pass comma-separated <options> on to the linker\n"
+-msgstr "-Amahitamo Akitso Amahitamo ku Kuri i"
+-
+-#: gcc.c:3184
+-#, fuzzy
+-msgid " -Xassembler <arg> Pass <arg> on to the assembler\n"
+-msgstr "-ku Kuri i"
+-
+-#: gcc.c:3185
+-#, fuzzy
+-msgid " -Xpreprocessor <arg> Pass <arg> on to the preprocessor\n"
+-msgstr "-ku Kuri i"
+-
+-#: gcc.c:3186
+-#, fuzzy
+-msgid " -Xlinker <arg> Pass <arg> on to the linker\n"
+-msgstr "-ku Kuri i"
+-
+-#: gcc.c:3187
+-#, fuzzy
+-msgid " -combine Pass multiple source files to compiler at once\n"
+-msgstr "-OYA Kugaragaza Imimaro Cyangwa"
+-
+-#: gcc.c:3188
+-#, fuzzy
+-msgid " -save-temps Do not delete intermediate files\n"
+-msgstr "-Kubika OYA Gusiba"
+-
+-#: gcc.c:3189
+-msgid " -pipe Use pipes rather than intermediate files\n"
+-msgstr ""
+-
+-#: gcc.c:3190
+-#, fuzzy
+-msgid " -time Time the execution of each subprocess\n"
+-msgstr "-Igihe i Bya"
+-
+-#: gcc.c:3191
+-#, fuzzy
+-msgid " -specs=<file> Override built-in specs with the contents of <file>\n"
+-msgstr "-IDOSIYE in Na: i Ibigize Bya IDOSIYE"
+-
+-#: gcc.c:3192
+-#, fuzzy
+-msgid " -std=<standard> Assume that the input sources are for <standard>\n"
+-msgstr "-STD Bisanzwe i Iyinjiza kugirango Bisanzwe"
+-
+-#: gcc.c:3193
+-msgid ""
+-" --sysroot=<directory> Use <directory> as the root directory for headers\n"
+-" and libraries\n"
+-msgstr ""
+-
+-#: gcc.c:3196
+-#, fuzzy
+-msgid " -B <directory> Add <directory> to the compiler's search paths\n"
+-msgstr "-bushyinguro bushyinguro Kuri i Gushaka"
+-
+-#: gcc.c:3197
+-#, fuzzy
+-msgid " -b <machine> Run gcc for target <machine>, if installed\n"
+-msgstr "-B kugirango Intego NIBA"
+-
+-#: gcc.c:3198
+-#, fuzzy
+-msgid " -V <version> Run gcc version number <version>, if installed\n"
+-msgstr "-V Verisiyo Verisiyo Umubare Verisiyo NIBA"
+-
+-#: gcc.c:3199
+-#, fuzzy
+-msgid " -v Display the programs invoked by the compiler\n"
+-msgstr "-v i Porogaramu ku i"
+-
+-#: gcc.c:3200
+-#, fuzzy
+-msgid " -### Like -v but options quoted and commands not executed\n"
+-msgstr "-###v Amahitamo Na Amabwiriza OYA"
+-
+-#: gcc.c:3201
+-#, fuzzy
+-msgid " -E Preprocess only; do not compile, assemble or link\n"
+-msgstr "-E OYA Gukusanya Cyangwa"
+-
+-#: gcc.c:3202
+-#, fuzzy
+-msgid " -S Compile only; do not assemble or link\n"
+-msgstr "-OYA Cyangwa"
+-
+-#: gcc.c:3203
+-#, fuzzy
+-msgid " -c Compile and assemble, but do not link\n"
+-msgstr "-C Na OYA"
+-
+-#: gcc.c:3204
+-#, fuzzy
+-msgid " -o <file> Place the output into <file>\n"
+-msgstr "-o IDOSIYE i Ibisohoka IDOSIYE"
+-
+-#: gcc.c:3205
+-#, fuzzy
+-msgid ""
+-" -x <language> Specify the language of the following input files\n"
+-" Permissible languages include: c c++ assembler none\n"
+-" 'none' means revert to the default behavior of\n"
+-" guessing the language based on the file's extension\n"
+-msgstr "-X Ururimi i Ururimi Bya i Iyinjiza Indimi Gushyiramo C C Kugaruza Kuri i Mburabuzi imyitwarire i Ururimi ku i"
+-
+-#: gcc.c:3212
+-#, fuzzy, c-format
+-msgid ""
+-"\n"
+-"Options starting with -g, -f, -m, -O, -W, or --param are automatically\n"
+-" passed on to the various sub-processes invoked by %s. In order to pass\n"
+-" other options on to these processes the -W<letter> options must be used.\n"
+-msgstr "Na: g F M Cyangwa ku Kuri i ku Itondekanya Kuri Ikindi Amahitamo ku Kuri i Ibaruwa... Amahitamo"
+-
+-#: gcc.c:3335
+-#, fuzzy, c-format
+-msgid "'-%c' option must have argument"
+-msgstr "`-%c'Ihitamo"
+-
+-#: gcc.c:3357
+-#, fuzzy, c-format
+-msgid "couldn't run '%s': %s"
+-msgstr "Gukoresha"
+-
+-#. translate_options () has turned --version into -fversion.
+-#: gcc.c:3550
+-#, c-format
+-msgid "%s (GCC) %s\n"
+-msgstr ""
+-
+-#: gcc.c:3552 gcov.c:419 fortran/gfortranspec.c:349 java/gjavah.c:2406
+-#: java/jcf-dump.c:936 java/jv-scan.c:129
+-msgid "(C)"
+-msgstr ""
+-
+-#: gcc.c:3553 java/gjavah.c:2407 java/jcf-dump.c:937 java/jv-scan.c:130
+-#, fuzzy, c-format
+-msgid ""
+-"This is free software; see the source for copying conditions. There is NO\n"
+-"warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.\n"
+-"\n"
+-msgstr "ni Kigenga i Inkomoko kugirango ni OYA ATARIIGIHARWE kugirango Cyangwa A"
+-
+-#: gcc.c:3654
+-#, fuzzy, c-format
+-msgid "argument to '-Xlinker' is missing"
+-msgstr "Kuri ni Ibuze"
+-
+-#: gcc.c:3662
+-#, fuzzy, c-format
+-msgid "argument to '-Xpreprocessor' is missing"
+-msgstr "Kuri ni Ibuze"
+-
+-#: gcc.c:3669
+-#, fuzzy, c-format
+-msgid "argument to '-Xassembler' is missing"
+-msgstr "Kuri ni Ibuze"
+-
+-#: gcc.c:3676
+-#, fuzzy, c-format
+-msgid "argument to '-l' is missing"
+-msgstr "Kuri ni Ibuze"
+-
+-#: gcc.c:3697
+-#, fuzzy, c-format
+-msgid "argument to '-specs' is missing"
+-msgstr "Kuri ni Ibuze"
+-
+-#: gcc.c:3711
+-#, fuzzy, c-format
+-msgid "argument to '-specs=' is missing"
+-msgstr "Kuri ni Ibuze"
+-
+-#: gcc.c:3752
+-#, fuzzy, c-format
+-msgid "'-%c' must come at the start of the command line"
+-msgstr "`-%c'ku i Gutangira Bya i Komandi: Umurongo"
+-
+-#: gcc.c:3761
+-#, fuzzy, c-format
+-msgid "argument to '-B' is missing"
+-msgstr "Kuri ni Ibuze"
+-
+-#: gcc.c:4147
+-#, fuzzy, c-format
+-msgid "argument to '-x' is missing"
+-msgstr "Kuri ni Ibuze"
+-
+-#: gcc.c:4175
+-#, fuzzy, c-format
+-msgid "argument to '-%s' is missing"
+-msgstr "Kuri ni Ibuze"
+-
+-#: gcc.c:4513
+-#, c-format
+-msgid "switch '%s' does not start with '-'"
+-msgstr ""
+-
+-#: gcc.c:4690
+-#, c-format
+-msgid "spec '%s' invalid"
+-msgstr ""
+-
+-# basctl/source\basicide\basidesh.src:RID_IMGBTN_REMOVEWATCH.text
+-#: gcc.c:4756
+-#, fuzzy, c-format
+-msgid "%s\n"
+-msgstr "%s"
+-
+-#: gcc.c:4829
+-#, fuzzy, c-format
+-msgid "spec '%s' has invalid '%%0%c'"
+-msgstr "Umwanya Sibyo Ubwoko"
+-
+-#: gcc.c:5040
+-#, fuzzy, c-format
+-msgid "spec '%s' has invalid '%%W%c"
+-msgstr "Umwanya Sibyo Ubwoko"
+-
+-#: gcc.c:5071
+-#, fuzzy, c-format
+-msgid "spec '%s' has invalid '%%x%c'"
+-msgstr "Umwanya Sibyo Ubwoko"
+-
+-#: gcc.c:5293
+-#, fuzzy, c-format
+-msgid "Processing spec %c%s%c, which is '%s'\n"
+-msgstr "ni"
+-
+-#: gcc.c:5426
+-#, fuzzy, c-format
+-msgid "unknown spec function '%s'"
+-msgstr "Kitazwi Umumaro"
+-
+-#: gcc.c:5445
+-#, fuzzy, c-format
+-msgid "error in args to spec function '%s'"
+-msgstr "Ikosa in Kuri Umumaro"
+-
+-#: gcc.c:5493
+-#, fuzzy, c-format
+-msgid "malformed spec function name"
+-msgstr "Umumaro Izina:"
+-
+-#. )
+-#: gcc.c:5496
+-#, fuzzy, c-format
+-msgid "no arguments for spec function"
+-msgstr "Oya ingingo kugirango Umumaro"
+-
+-#: gcc.c:5515
+-#, fuzzy, c-format
+-msgid "malformed spec function arguments"
+-msgstr "Umumaro ingingo"
+-
+-#: gcc.c:5754
+-#, c-format
+-msgid "braced spec '%s' is invalid at '%c'"
+-msgstr ""
+-
+-#: gcc.c:5842
+-#, c-format
+-msgid "braced spec body '%s' is invalid"
+-msgstr ""
+-
+-# #-#-#-#-# setup2.pot (PACKAGE VERSION) #-#-#-#-#
+-# setup2/source\ui\pages\plang.src:RESID_PAGE_PAGELANGUAGE.STR_PROG.text
+-# #-#-#-#-# setup2.pot (PACKAGE VERSION) #-#-#-#-#
+-# setup2/source\uibase\agentdlg.src:RC_AGENTDLG.RESID_DLG_AGENT_STR_INSTALL.text
+-#: gcc.c:6372
+-#, fuzzy, c-format
+-msgid "install: %s%s\n"
+-msgstr "Kwinjiza porogaramu"
+-
+-#: gcc.c:6373
+-#, fuzzy, c-format
+-msgid "programs: %s\n"
+-msgstr "Porogaramu"
+-
+-# basctl/source\basicide\moduldlg.src:RID_TD_ORGANIZE.RID_TC_ORGANIZE.RID_TP_LIB.text
+-#: gcc.c:6375
+-#, fuzzy, c-format
+-msgid "libraries: %s\n"
+-msgstr "Amasomero"
+-
+-#: gcc.c:6433
+-#, fuzzy, c-format
+-msgid ""
+-"\n"
+-"For bug reporting instructions, please see:\n"
+-msgstr "Amabwiriza"
+-
+-# basctl/source\basicide\moduldlg.src:RID_TD_ORGANIZE.RID_TC_ORGANIZE.RID_TP_LIB.text
+-#: gcc.c:6449
+-#, fuzzy, c-format
+-msgid "Target: %s\n"
+-msgstr "Amasomero"
+-
+-#: gcc.c:6450
+-#, fuzzy, c-format
+-msgid "Configured with: %s\n"
+-msgstr "Na:"
+-
+-#: gcc.c:6464
+-#, fuzzy, c-format
+-msgid "Thread model: %s\n"
+-msgstr "Urugero"
+-
+-#: gcc.c:6475
+-#, fuzzy, c-format
+-msgid "gcc version %s\n"
+-msgstr "Verisiyo"
+-
+-#: gcc.c:6477
+-#, fuzzy, c-format
+-msgid "gcc driver version %s executing gcc version %s\n"
+-msgstr "Musomyi: Verisiyo Gukora: %s%s Verisiyo"
+-
+-#: gcc.c:6485
+-#, fuzzy, c-format
+-msgid "no input files"
+-msgstr "Oya Iyinjiza Idosiye"
+-
+-#: gcc.c:6534
+-#, fuzzy, c-format
+-msgid "cannot specify -o with -c or -S with multiple files"
+-msgstr "o Na: C Cyangwa Na Igikubo"
+-
+-#: gcc.c:6568
+-#, fuzzy, c-format
+-msgid "spec '%s' is invalid"
+-msgstr "ni"
+-
+-#: gcc.c:7048
+-#, fuzzy, c-format
+-msgid "multilib spec '%s' is invalid"
+-msgstr "Inyandikorugero ni Sibyo"
+-
+-#: gcc.c:7239
+-#, fuzzy, c-format
+-msgid "multilib exclusions '%s' is invalid"
+-msgstr "Igikubo Imyanya in Ihuza"
+-
+-#: gcc.c:7297 gcc.c:7438
+-#, fuzzy, c-format
+-msgid "multilib select '%s' is invalid"
+-msgstr "Inyandikorugero ni Sibyo"
+-
+-#: gcc.c:7476
+-#, fuzzy, c-format
+-msgid "multilib exclusion '%s' is invalid"
+-msgstr "Igikubo Imyanya in Ihuza"
+-
+-#: gcc.c:7735 gcc.c:7740
+-#, fuzzy, c-format
+-msgid "invalid version number `%s'"
+-msgstr "Sibyo Gukoresha Bya"
+-
+-#: gcc.c:7783
+-#, fuzzy, c-format
+-msgid "too few arguments to %%:version-compare"
+-msgstr "ingingo Kuri Umumaro"
+-
+-#: gcc.c:7789
+-#, fuzzy, c-format
+-msgid "too many arguments to %%:version-compare"
+-msgstr "ingingo Kuri Umumaro"
+-
+-#: gcc.c:7830
+-#, c-format
+-msgid "unknown operator '%s' in %%:version-compare"
+-msgstr ""
+-
+-#: gcov.c:392
+-#, c-format
+-msgid ""
+-"Usage: gcov [OPTION]... SOURCEFILE\n"
+-"\n"
+-msgstr ""
+-
+-#: gcov.c:393
+-#, fuzzy, c-format
+-msgid ""
+-"Print code coverage information.\n"
+-"\n"
+-msgstr "ITEGEKONGENGA Ibisobanuro"
+-
+-#: gcov.c:394
+-#, fuzzy, c-format
+-msgid " -h, --help Print this help, then exit\n"
+-msgstr "-h Ifashayobora iyi Ifashayobora Hanyuma"
+-
+-#: gcov.c:395
+-#, fuzzy, c-format
+-msgid " -v, --version Print version number, then exit\n"
+-msgstr "-v Verisiyo Verisiyo Umubare Hanyuma"
+-
+-#: gcov.c:396
+-#, c-format
+-msgid " -a, --all-blocks Show information for every basic block\n"
+-msgstr ""
+-
+-#: gcov.c:397
+-#, fuzzy, c-format
+-msgid " -b, --branch-probabilities Include branch probabilities in output\n"
+-msgstr "-B in"
+-
+-#: gcov.c:398
+-#, fuzzy, c-format
+-msgid ""
+-" -c, --branch-counts Given counts of branches taken\n"
+-" rather than percentages\n"
+-msgstr "-C Bya"
+-
+-#: gcov.c:400
+-#, fuzzy, c-format
+-msgid " -n, --no-output Do not create an output file\n"
+-msgstr "-N Oya Ibisohoka OYA Kurema Ibisohoka"
+-
+-#: gcov.c:401
+-#, fuzzy, c-format
+-msgid ""
+-" -l, --long-file-names Use long output file names for included\n"
+-" source files\n"
+-msgstr "-L IDOSIYE Amazina Ibisohoka IDOSIYE Amazina kugirango Inkomoko"
+-
+-#: gcov.c:403
+-#, fuzzy, c-format
+-msgid " -f, --function-summaries Output summaries for each function\n"
+-msgstr "-F Umumaro kugirango"
+-
+-#: gcov.c:404
+-#, fuzzy, c-format
+-msgid " -o, --object-directory DIR|FILE Search for object files in DIR or called FILE\n"
+-msgstr "-o Igikoresho bushyinguro kugirango Igikoresho Idosiye in Cyangwa"
+-
+-#: gcov.c:405
+-#, fuzzy, c-format
+-msgid " -p, --preserve-paths Preserve all pathname components\n"
+-msgstr "-P Inzira Byose"
+-
+-#: gcov.c:406
+-#, c-format
+-msgid " -u, --unconditional-branches Show unconditional branch counts too\n"
+-msgstr ""
+-
+-#: gcov.c:407
+-#, fuzzy, c-format
+-msgid ""
+-"\n"
+-"For bug reporting instructions, please see:\n"
+-"%s.\n"
+-msgstr "Amabwiriza"
+-
+-#: gcov.c:417
+-#, c-format
+-msgid "gcov (GCC) %s\n"
+-msgstr ""
+-
+-#: gcov.c:421
+-#, fuzzy, c-format
+-msgid ""
+-"This is free software; see the source for copying conditions.\n"
+-"There is NO warranty; not even for MERCHANTABILITY or \n"
+-"FITNESS FOR A PARTICULAR PURPOSE.\n"
+-"\n"
+-msgstr "ni Kigenga i Inkomoko kugirango ni OYA ATARIIGIHARWE kugirango Cyangwa A"
+-
+-#: gcov.c:511
+-#, fuzzy, c-format
+-msgid "%s:no functions found\n"
+-msgstr "Oya Byabonetse"
+-
+-# basctl/source\basicide\basidesh.src:RID_IMGBTN_REMOVEWATCH.text
+-#: gcov.c:532 gcov.c:560 fortran/dump-parse-tree.c:63
+-#, fuzzy, c-format
+-msgid "\n"
+-msgstr ":"
+-
+-#: gcov.c:547
+-#, fuzzy, c-format
+-msgid "%s:creating '%s'\n"
+-msgstr "%s:Guhindura.... IDOSIYE"
+-
+-#: gcov.c:551
+-#, fuzzy, c-format
+-msgid "%s:error writing output file '%s'\n"
+-msgstr "Ibisohoka IDOSIYE"
+-
+-#: gcov.c:556
+-#, fuzzy, c-format
+-msgid "%s:could not open output file '%s'\n"
+-msgstr "OYA Gufungura Ibisohoka IDOSIYE"
+-
+-#: gcov.c:708
+-#, fuzzy, c-format
+-msgid "%s:cannot open graph file\n"
+-msgstr "%s:Gufungura Nka IDOSIYE"
+-
+-#: gcov.c:714
+-#, fuzzy, c-format
+-msgid "%s:not a gcov graph file\n"
+-msgstr "%s:OYA a IDOSIYE"
+-
+-#: gcov.c:727
+-#, c-format
+-msgid "%s:version '%.4s', prefer '%.4s'\n"
+-msgstr ""
+-
+-#: gcov.c:779
+-#, c-format
+-msgid "%s:already seen blocks for '%s'\n"
+-msgstr ""
+-
+-#: gcov.c:897 gcov.c:1055
+-#, c-format
+-msgid "%s:corrupted\n"
+-msgstr ""
+-
+-#: gcov.c:971
+-#, c-format
+-msgid "%s:cannot open data file, assuming not executed\n"
+-msgstr ""
+-
+-#: gcov.c:978
+-#, fuzzy, c-format
+-msgid "%s:not a gcov data file\n"
+-msgstr "%s:OYA a IDOSIYE"
+-
+-#: gcov.c:991
+-#, c-format
+-msgid "%s:version '%.4s', prefer version '%.4s'\n"
+-msgstr ""
+-
+-#: gcov.c:997
+-#, c-format
+-msgid "%s:stamp mismatch with graph file\n"
+-msgstr ""
+-
+-#: gcov.c:1023
+-#, fuzzy, c-format
+-msgid "%s:unknown function '%u'\n"
+-msgstr "Kitazwi Umumaro"
+-
+-#: gcov.c:1036
+-#, fuzzy, c-format
+-msgid "%s:profile mismatch for '%s'\n"
+-msgstr "%s:Urutonde kugirango"
+-
+-#: gcov.c:1055
+-#, c-format
+-msgid "%s:overflowed\n"
+-msgstr ""
+-
+-#: gcov.c:1079
+-#, c-format
+-msgid "%s:'%s' lacks entry and/or exit blocks\n"
+-msgstr ""
+-
+-#: gcov.c:1084
+-#, c-format
+-msgid "%s:'%s' has arcs to entry block\n"
+-msgstr ""
+-
+-#: gcov.c:1092
+-#, c-format
+-msgid "%s:'%s' has arcs from exit block\n"
+-msgstr ""
+-
+-#: gcov.c:1300
+-#, c-format
+-msgid "%s:graph is unsolvable for '%s'\n"
+-msgstr ""
+-
+-# desktop/source\app\ssodlg.src:DLG_SSOLOGIN.text
+-#: gcov.c:1380
+-#, fuzzy, c-format
+-msgid "%s '%s'\n"
+-msgstr "%s:%s"
+-
+-#: gcov.c:1383
+-#, fuzzy, c-format
+-msgid "Lines executed:%s of %d\n"
+-msgstr "%sBya Imirongo in"
+-
+-#: gcov.c:1387
+-#, fuzzy, c-format
+-msgid "No executable lines\n"
+-msgstr "Imirongo in"
+-
+-#: gcov.c:1393
+-#, fuzzy, c-format
+-msgid "Branches executed:%s of %d\n"
+-msgstr "%sBya in"
+-
+-#: gcov.c:1397
+-#, fuzzy, c-format
+-msgid "Taken at least once:%s of %d\n"
+-msgstr "%sBya ku Rimwe in"
+-
+-#: gcov.c:1403
+-#, fuzzy, c-format
+-msgid "No branches\n"
+-msgstr "in"
+-
+-#: gcov.c:1405
+-#, fuzzy, c-format
+-msgid "Calls executed:%s of %d\n"
+-msgstr "%sBya Amahamagara: in"
+-
+-#: gcov.c:1409
+-#, fuzzy, c-format
+-msgid "No calls\n"
+-msgstr "Amahamagara: in"
+-
+-#: gcov.c:1550
+-#, fuzzy, c-format
+-msgid "%s:no lines for '%s'\n"
+-msgstr "%s:Urutonde kugirango"
+-
+-#: gcov.c:1745
+-#, fuzzy, c-format
+-msgid "call %2d returned %s\n"
+-msgstr "Nta narimwe"
+-
+-#: gcov.c:1750
+-#, fuzzy, c-format
+-msgid "call %2d never executed\n"
+-msgstr "Nta narimwe"
+-
+-#: gcov.c:1755
+-#, fuzzy, c-format
+-msgid "branch %2d taken %s%s\n"
+-msgstr "in"
+-
+-#: gcov.c:1759
+-#, fuzzy, c-format
+-msgid "branch %2d never executed\n"
+-msgstr "Nta narimwe"
+-
+-#: gcov.c:1764
+-#, fuzzy, c-format
+-msgid "unconditional %2d taken %s\n"
+-msgstr "Kitazwi Ikurikiranyanyuguti"
+-
+-#: gcov.c:1767
+-#, fuzzy, c-format
+-msgid "unconditional %2d never executed\n"
+-msgstr "Nta narimwe"
+-
+-#: gcov.c:1800
+-#, fuzzy, c-format
+-msgid "%s:cannot open source file\n"
+-msgstr "%s:Gufungura Nka IDOSIYE"
+-
+-#: gcov.c:1810
+-#, fuzzy, c-format
+-msgid "%s:source file is newer than graph file '%s'\n"
+-msgstr "Inkomoko IDOSIYE ni"
+-
+-#: gcse.c:681
+-msgid "GCSE disabled"
+-msgstr ""
+-
+-#: gcse.c:6531
+-#, fuzzy
+-msgid "jump bypassing disabled"
+-msgstr "-g Ihitamo Yahagaritswe"
+-
+-#: gengtype-yacc.c:560
+-#: /scratch/mitchell/gcc-releases/gcc-4.2.0-20070316/gcc-4.2.0-20070316/gcc/java/parse.c:2939
+-#: /scratch/mitchell/gcc-releases/gcc-4.2.0-20070316/gcc-4.2.0-20070316/gcc/java/parse.y:16547
+-#, fuzzy
+-msgid "syntax error: cannot back up"
+-msgstr "Ikosa Inyuma Hejuru"
+-
+-#: gengtype-yacc.c:1596
+-#: /scratch/mitchell/gcc-releases/gcc-4.2.0-20070316/gcc-4.2.0-20070316/gcc/java/parse.c:6207
+-#: /scratch/mitchell/gcc-releases/gcc-4.2.0-20070316/gcc-4.2.0-20070316/gcc/java/parse.y:16545
+-#, fuzzy
+-msgid "syntax error; also virtual memory exhausted"
+-msgstr "Ikosa Kitaboneka Ububiko"
+-
+-#. Depending on the version of Bison used to compile this grammar,
+-#. it may issue generic diagnostics spelled "syntax error" or
+-#. "parse error". To prevent this from changing the translation
+-#. template randomly, we list all the variants of this particular
+-#. diagnostic here. Translators: there is no fine distinction
+-#. between diagnostics with "syntax error" in them, and diagnostics
+-#. with "parse error" in them. It's okay to give them both the same
+-#. translation.
+-#: gengtype-yacc.c:1600
+-#: /scratch/mitchell/gcc-releases/gcc-4.2.0-20070316/gcc-4.2.0-20070316/gcc/java/parse.c:6211
+-#: /scratch/mitchell/gcc-releases/gcc-4.2.0-20070316/gcc-4.2.0-20070316/gcc/java/parse.y:16543
+-msgid "syntax error"
+-msgstr "Ikosa mu myandikire"
+-
+-#: gengtype-yacc.c:1721
+-#: /scratch/mitchell/gcc-releases/gcc-4.2.0-20070316/gcc-4.2.0-20070316/gcc/java/parse.c:6332
+-#, fuzzy
+-msgid "parser stack overflow"
+-msgstr "Byarenze urugero"
+-
+-#. Opening quotation mark.
+-#: intl.c:58
+-msgid "`"
+-msgstr ""
+-
+-#. Closing quotation mark.
+-#: intl.c:61
+-msgid "'"
+-msgstr ""
+-
+-#: ipa-inline.c:288
+-msgid "--param large-function-growth limit reached"
+-msgstr ""
+-
+-#: ipa-inline.c:322
+-msgid "--param max-inline-insns-single limit reached"
+-msgstr ""
+-
+-#: ipa-inline.c:331
+-msgid "--param max-inline-insns-auto limit reached"
+-msgstr ""
+-
+-#: ipa-inline.c:357 ipa-inline.c:803
+-msgid "recursive inlining"
+-msgstr ""
+-
+-#: ipa-inline.c:816
+-msgid "call is unlikely"
+-msgstr ""
+-
+-#: ipa-inline.c:887
+-msgid "--param inline-unit-growth limit reached"
+-msgstr ""
+-
+-#: langhooks.c:517
+-#, fuzzy
+-msgid "At top level:"
+-msgstr "Hejuru: urwego"
+-
+-#: langhooks.c:522
+-#, fuzzy, c-format
+-msgid "In member function %qs:"
+-msgstr "Umumaro"
+-
+-#: langhooks.c:526
+-#, fuzzy, c-format
+-msgid "In function %qs:"
+-msgstr "Umumaro"
+-
+-#: loop-iv.c:2700 tree-ssa-loop-niter.c:1154
+-msgid "assuming that the loop is not infinite"
+-msgstr ""
+-
+-#: loop-iv.c:2701 tree-ssa-loop-niter.c:1155
+-msgid "cannot optimize possibly infinite loops"
+-msgstr ""
+-
+-#: loop-iv.c:2709 tree-ssa-loop-niter.c:1159
+-msgid "assuming that the loop counter does not overflow"
+-msgstr ""
+-
+-#: loop-iv.c:2710 tree-ssa-loop-niter.c:1160
+-msgid "cannot optimize loop, the loop counter may overflow"
+-msgstr ""
+-
+-#. What to print when a switch has no documentation.
+-#: opts.c:100
+-msgid "This switch lacks documentation"
+-msgstr ""
+-
+-#: opts.c:1188
+-#, fuzzy, c-format
+-msgid ""
+-"\n"
+-"Target specific options:\n"
+-msgstr "Amahitamo"
+-
+-#: opts.c:1209
+-msgid "The following options are language-independent:\n"
+-msgstr ""
+-
+-#: opts.c:1216
+-#, c-format
+-msgid ""
+-"The %s front end recognizes the following options:\n"
+-"\n"
+-msgstr ""
+-
+-#: opts.c:1229
+-msgid "The --param option recognizes the following as parameters:\n"
+-msgstr ""
+-
+-#: protoize.c:583
+-#, fuzzy, c-format
+-msgid "%s: error writing file '%s': %s\n"
+-msgstr "%s:Ikosa IDOSIYE"
+-
+-#: protoize.c:627
+-#, fuzzy, c-format
+-msgid "%s: usage '%s [ -VqfnkN ] [ -i <istring> ] [ filename ... ]'\n"
+-msgstr "%s:Ikoresha: i Izina ry'idosiye:"
+-
+-#: protoize.c:630
+-#, fuzzy, c-format
+-msgid "%s: usage '%s [ -VqfnkNlgC ] [ -B <dirname> ] [ filename ... ]'\n"
+-msgstr "%s:Ikoresha: Izina ry'idosiye:"
+-
+-#: protoize.c:731
+-#, fuzzy, c-format
+-msgid "%s: warning: no read access for file '%s'\n"
+-msgstr "%s:Iburira Oya Gusoma kugirango IDOSIYE"
+-
+-#: protoize.c:739
+-#, fuzzy, c-format
+-msgid "%s: warning: no write access for file '%s'\n"
+-msgstr "%s:Iburira Oya Kwandika kugirango IDOSIYE"
+-
+-#: protoize.c:747
+-#, fuzzy, c-format
+-msgid "%s: warning: no write access for dir containing '%s'\n"
+-msgstr "%s:Iburira Oya Kwandika kugirango"
+-
+-#. Catch cases like /.. where we try to backup to a
+-#. point above the absolute root of the logical file
+-#. system.
+-#: protoize.c:1134
+-#, fuzzy, c-format
+-msgid "%s: invalid file name: %s\n"
+-msgstr "%s:Sibyo IDOSIYE Izina:"
+-
+-#: protoize.c:1282
+-#, fuzzy, c-format
+-msgid "%s: %s: can't get status: %s\n"
+-msgstr "%s:%s:Kubona Imimerere"
+-
+-#: protoize.c:1303
+-#, fuzzy, c-format
+-msgid ""
+-"\n"
+-"%s: fatal error: aux info file corrupted at line %d\n"
+-msgstr "%s:Ikosa Ibisobanuro IDOSIYE ku Umurongo"
+-
+-#: protoize.c:1632
+-#, fuzzy, c-format
+-msgid "%s:%d: declaration of function '%s' takes different forms\n"
+-msgstr "%s:%d:Bya Umumaro"
+-
+-#: protoize.c:1887
+-#, fuzzy, c-format
+-msgid "%s: compiling '%s'\n"
+-msgstr "%s:Guhindura.... IDOSIYE"
+-
+-#: protoize.c:1910
+-#, fuzzy, c-format
+-msgid "%s: wait: %s\n"
+-msgstr "%s:Tegereza"
+-
+-#: protoize.c:1915
+-#, c-format
+-msgid "%s: subprocess got fatal signal %d\n"
+-msgstr ""
+-
+-#: protoize.c:1923
+-#, fuzzy, c-format
+-msgid "%s: %s exited with status %d\n"
+-msgstr "%s:%sNa: Imimerere"
+-
+-#: protoize.c:1972
+-#, fuzzy, c-format
+-msgid "%s: warning: missing SYSCALLS file '%s'\n"
+-msgstr "%s:Iburira Ibuze IDOSIYE"
+-
+-#: protoize.c:1981 protoize.c:2010
+-#, fuzzy, c-format
+-msgid "%s: can't read aux info file '%s': %s\n"
+-msgstr "%s:Gusoma Ibisobanuro IDOSIYE"
+-
+-#: protoize.c:2026 protoize.c:2054
+-#, fuzzy, c-format
+-msgid "%s: can't get status of aux info file '%s': %s\n"
+-msgstr "%s:Kubona Imimerere Bya Ibisobanuro IDOSIYE"
+-
+-#: protoize.c:2082
+-#, fuzzy, c-format
+-msgid "%s: can't open aux info file '%s' for reading: %s\n"
+-msgstr "%s:Gufungura Ibisobanuro IDOSIYE kugirango"
+-
+-#: protoize.c:2100
+-#, fuzzy, c-format
+-msgid "%s: error reading aux info file '%s': %s\n"
+-msgstr "%s:Ikosa Ibisobanuro IDOSIYE"
+-
+-#: protoize.c:2113
+-#, fuzzy, c-format
+-msgid "%s: error closing aux info file '%s': %s\n"
+-msgstr "%s:Ikosa Ibisobanuro IDOSIYE"
+-
+-#: protoize.c:2129
+-#, fuzzy, c-format
+-msgid "%s: can't delete aux info file '%s': %s\n"
+-msgstr "%s:Gusiba Ibisobanuro IDOSIYE"
+-
+-#: protoize.c:2211 protoize.c:4181
+-#, fuzzy, c-format
+-msgid "%s: can't delete file '%s': %s\n"
+-msgstr "%s:Gusiba IDOSIYE"
+-
+-#: protoize.c:2289
+-#, fuzzy, c-format
+-msgid "%s: warning: can't rename file '%s' to '%s': %s\n"
+-msgstr "%s:Iburira Guhindura izina IDOSIYE Kuri"
+-
+-#: protoize.c:2411
+-#, fuzzy, c-format
+-msgid "%s: conflicting extern definitions of '%s'\n"
+-msgstr "%s:Bya"
+-
+-#: protoize.c:2415
+-#, fuzzy, c-format
+-msgid "%s: declarations of '%s' will not be converted\n"
+-msgstr "%s:Bya OYA"
+-
+-#: protoize.c:2417
+-#, fuzzy, c-format
+-msgid "%s: conflict list for '%s' follows:\n"
+-msgstr "%s:Urutonde kugirango"
+-
+-#: protoize.c:2450
+-#, fuzzy, c-format
+-msgid "%s: warning: using formals list from %s(%d) for function '%s'\n"
+-msgstr "%s:Iburira ikoresha Urutonde Bivuye kugirango Umumaro"
+-
+-#: protoize.c:2490
+-#, fuzzy, c-format
+-msgid "%s: %d: '%s' used but missing from SYSCALLS\n"
+-msgstr "%s:%d:`%s'Ibuze Bivuye"
+-
+-#: protoize.c:2496
+-#, fuzzy, c-format
+-msgid "%s: %d: warning: no extern definition for '%s'\n"
+-msgstr "%s:%d:Iburira Oya Insobanuro kugirango"
+-
+-#: protoize.c:2526
+-#, fuzzy, c-format
+-msgid "%s: warning: no static definition for '%s' in file '%s'\n"
+-msgstr "%s:Iburira Oya Insobanuro kugirango in IDOSIYE"
+-
+-#: protoize.c:2532
+-#, fuzzy, c-format
+-msgid "%s: multiple static defs of '%s' in file '%s'\n"
+-msgstr "%s:Igikubo Bya in IDOSIYE"
+-
+-#: protoize.c:2702 protoize.c:2705
+-#, fuzzy, c-format
+-msgid "%s: %d: warning: source too confusing\n"
+-msgstr "%s:%d:Iburira Inkomoko"
+-
+-#: protoize.c:2900
+-#, fuzzy, c-format
+-msgid "%s: %d: warning: varargs function declaration not converted\n"
+-msgstr "%s:%d:Iburira Umumaro OYA"
+-
+-#: protoize.c:2915
+-#, fuzzy, c-format
+-msgid "%s: declaration of function '%s' not converted\n"
+-msgstr "%s:Bya Umumaro OYA"
+-
+-#: protoize.c:3038
+-#, fuzzy, c-format
+-msgid "%s: warning: too many parameter lists in declaration of '%s'\n"
+-msgstr "%s:Iburira Intonde in Bya"
+-
+-#: protoize.c:3059
+-#, fuzzy, c-format
+-msgid ""
+-"\n"
+-"%s: warning: too few parameter lists in declaration of '%s'\n"
+-msgstr "%s:Iburira Intonde in Bya"
+-
+-#: protoize.c:3155
+-#, fuzzy, c-format
+-msgid "%s: %d: warning: found '%s' but expected '%s'\n"
+-msgstr "%s:%d:Iburira Byabonetse Ikitezwe:"
+-
+-#: protoize.c:3330
+-#, fuzzy, c-format
+-msgid "%s: local declaration for function '%s' not inserted\n"
+-msgstr "%s:kugirango Umumaro OYA"
+-
+-#: protoize.c:3357
+-#, fuzzy, c-format
+-msgid ""
+-"\n"
+-"%s: %d: warning: can't add declaration of '%s' into macro call\n"
+-msgstr "%s:%d:Iburira Kongeramo Bya Makoro"
+-
+-#: protoize.c:3429
+-#, fuzzy, c-format
+-msgid "%s: global declarations for file '%s' not inserted\n"
+-msgstr "%s:kugirango IDOSIYE OYA"
+-
+-#: protoize.c:3519 protoize.c:3549
+-#, fuzzy, c-format
+-msgid "%s: definition of function '%s' not converted\n"
+-msgstr "%s:Insobanuro Bya Umumaro OYA"
+-
+-#: protoize.c:3538
+-#, fuzzy, c-format
+-msgid "%s: %d: warning: definition of %s not converted\n"
+-msgstr "%s:%d:Iburira Insobanuro Bya OYA"
+-
+-#: protoize.c:3864
+-#, fuzzy, c-format
+-msgid "%s: found definition of '%s' at %s(%d)\n"
+-msgstr "%s:Byabonetse Insobanuro Bya ku"
+-
+-#. If we make it here, then we did not know about this
+-#. function definition.
+-#: protoize.c:3880
+-#, fuzzy, c-format
+-msgid "%s: %d: warning: '%s' excluded by preprocessing\n"
+-msgstr "%s:%d:Iburira ku"
+-
+-#: protoize.c:3883
+-#, fuzzy, c-format
+-msgid "%s: function definition not converted\n"
+-msgstr "%s:Umumaro Insobanuro OYA"
+-
+-#: protoize.c:3941
+-#, fuzzy, c-format
+-msgid "%s: '%s' not converted\n"
+-msgstr "%s:`%s'OYA"
+-
+-#: protoize.c:3949
+-#, fuzzy, c-format
+-msgid "%s: would convert file '%s'\n"
+-msgstr "%s:GUHINDURA IDOSIYE"
+-
+-#: protoize.c:3952
+-#, fuzzy, c-format
+-msgid "%s: converting file '%s'\n"
+-msgstr "%s:Guhindura.... IDOSIYE"
+-
+-#: protoize.c:3962
+-#, fuzzy, c-format
+-msgid "%s: can't get status for file '%s': %s\n"
+-msgstr "%s:Kubona Imimerere kugirango IDOSIYE"
+-
+-#: protoize.c:4004
+-#, fuzzy, c-format
+-msgid "%s: can't open file '%s' for reading: %s\n"
+-msgstr "%s:Gufungura IDOSIYE kugirango"
+-
+-#: protoize.c:4019
+-#, fuzzy, c-format
+-msgid ""
+-"\n"
+-"%s: error reading input file '%s': %s\n"
+-msgstr "%s:Ikosa Iyinjiza IDOSIYE"
+-
+-#: protoize.c:4053
+-#, fuzzy, c-format
+-msgid "%s: can't create/open clean file '%s': %s\n"
+-msgstr "%s:Kurema Gufungura GUSUKURA IDOSIYE"
+-
+-#: protoize.c:4158
+-#, fuzzy, c-format
+-msgid "%s: warning: file '%s' already saved in '%s'\n"
+-msgstr "%s:Iburira IDOSIYE in"
+-
+-#: protoize.c:4166
+-#, fuzzy, c-format
+-msgid "%s: can't link file '%s' to '%s': %s\n"
+-msgstr "%s:Ihuza IDOSIYE Kuri"
+-
+-#: protoize.c:4196
+-#, fuzzy, c-format
+-msgid "%s: can't create/open output file '%s': %s\n"
+-msgstr "%s:Kurema Gufungura Ibisohoka IDOSIYE"
+-
+-#: protoize.c:4229
+-#, fuzzy, c-format
+-msgid "%s: can't change mode of file '%s': %s\n"
+-msgstr "%s:Guhindura>> Ubwoko Bya IDOSIYE"
+-
+-#: protoize.c:4405
+-#, fuzzy, c-format
+-msgid "%s: cannot get working directory: %s\n"
+-msgstr "%s:Kubona bushyinguro"
+-
+-#: protoize.c:4503
+-#, fuzzy, c-format
+-msgid "%s: input file names must have .c suffixes: %s\n"
+-msgstr "%s:Iyinjiza IDOSIYE Amazina C Imigereka"
+-
+-#: reload.c:3742
+-#, fuzzy
+-msgid "unable to generate reloads for:"
+-msgstr "Kuri kugirango"
+-
+-#: reload1.c:1938
+-#, fuzzy
+-msgid "this is the insn:"
+-msgstr "iyi ni i"
+-
+-#. It's the compiler's fault.
+-#: reload1.c:5179
+-#, fuzzy
+-msgid "could not find a spill register"
+-msgstr "OYA Gushaka a Kwiyandikisha"
+-
+-#. It's the compiler's fault.
+-#: reload1.c:6835
+-#, fuzzy
+-msgid "VOIDmode on an output"
+-msgstr "ku Ibisohoka"
+-
+-#: reload1.c:7828
+-msgid "Failure trying to reload:"
+-msgstr ""
+-
+-#: rtl-error.c:128
+-msgid "unrecognizable insn:"
+-msgstr ""
+-
+-#: rtl-error.c:130
+-#, fuzzy
+-msgid "insn does not satisfy its constraints:"
+-msgstr "OYA"
+-
+-#: timevar.c:412
+-#, fuzzy
+-msgid ""
+-"\n"
+-"Execution times (seconds)\n"
+-msgstr "Times amasogonda"
+-
+-# #-#-#-#-# sc.pot (PACKAGE VERSION) #-#-#-#-#
+-# sc/source\ui\src\autofmt.src:RID_SCDLG_AUTOFORMAT.STR_SUM.text
+-# #-#-#-#-# sc.pot (PACKAGE VERSION) #-#-#-#-#
+-# sc/source\ui\src\globstr.src:RID_GLOBSTR.STR_PIVOT_TOTAL.text
+-#. Print total time.
+-#: timevar.c:470
+-#, fuzzy
+-msgid " TOTAL :"
+-msgstr "Igiteranyo"
+-
+-#: timevar.c:499
+-#, fuzzy, c-format
+-msgid "time in %s: %ld.%06ld (%ld%%)\n"
+-msgstr "Igihe in"
+-
+-#: tlink.c:384
+-#, c-format
+-msgid "collect: reading %s\n"
+-msgstr ""
+-
+-#: tlink.c:478
+-#, c-format
+-msgid "removing .rpo file"
+-msgstr ""
+-
+-#: tlink.c:480
+-#, fuzzy, c-format
+-msgid "renaming .rpo file"
+-msgstr "Gufungura %s%S Ibisohoka IDOSIYE"
+-
+-#: tlink.c:534
+-#, c-format
+-msgid "collect: recompiling %s\n"
+-msgstr ""
+-
+-#: tlink.c:738
+-#, fuzzy, c-format
+-msgid "collect: tweaking %s in %s\n"
+-msgstr "in"
+-
+-#: tlink.c:788
+-#, c-format
+-msgid "collect: relinking\n"
+-msgstr ""
+-
+-#: toplev.c:601
+-#, fuzzy, c-format
+-msgid "unrecoverable error"
+-msgstr "Ikosa ry'imbere"
+-
+-#: toplev.c:1160
+-#, fuzzy, c-format
+-msgid ""
+-"%s%s%s version %s (%s)\n"
+-"%s\tcompiled by GNU C version %s.\n"
+-msgstr "%s%s%sVerisiyo ku C Verisiyo Verisiyo ku"
+-
+-#: toplev.c:1162
+-#, c-format
+-msgid "%s%s%s version %s (%s) compiled by CC.\n"
+-msgstr ""
+-
+-#: toplev.c:1166
+-#, fuzzy, c-format
+-msgid "%s%sGGC heuristics: --param ggc-min-expand=%d --param ggc-min-heapsize=%d\n"
+-msgstr "%s%sGGCGITO Kwagura GITO"
+-
+-#: toplev.c:1228
+-#, fuzzy
+-msgid "options passed: "
+-msgstr "Amahitamo"
+-
+-#: toplev.c:1257
+-#, fuzzy
+-msgid "options enabled: "
+-msgstr "Amahitamo Bikora"
+-
+-#: toplev.c:1376
+-#, c-format
+-msgid "created and used with differing settings of '%s'"
+-msgstr ""
+-
+-#: toplev.c:1378
+-msgid "out of memory"
+-msgstr ""
+-
+-#: toplev.c:1393
+-msgid "created and used with different settings of -fpic"
+-msgstr ""
+-
+-#: toplev.c:1395
+-msgid "created and used with different settings of -fpie"
+-msgstr ""
+-
+-#: tree-inline.c:1993
+-msgid "originally indirect function call not considered for inlining"
+-msgstr ""
+-
+-#. The remainder are real diagnostic types.
+-#: diagnostic.def:15
+-#, fuzzy
+-msgid "fatal error: "
+-msgstr "Ikosa ry'imbere"
+-
+-#: diagnostic.def:16
+-#, fuzzy
+-msgid "internal compiler error: "
+-msgstr "Ikosa ry'imbere"
+-
+-#: diagnostic.def:17
+-#, fuzzy
+-msgid "error: "
+-msgstr "Ikosa ry'imbere"
+-
+-#: diagnostic.def:18
+-#, fuzzy
+-msgid "sorry, unimplemented: "
+-msgstr "OYA"
+-
+-#: diagnostic.def:19
+-#, fuzzy
+-msgid "warning: "
+-msgstr "Iburira!"
+-
+-#: diagnostic.def:20
+-msgid "anachronism: "
+-msgstr ""
+-
+-# scp/source\cde\unxbasic_cde.lng:STR_BASIC_CDEINT_NETWORK_STRING2.text
+-#: diagnostic.def:21
+-#, fuzzy
+-msgid "note: "
+-msgstr "Ibisobanuro:"
+-
+-#: diagnostic.def:22
+-msgid "debug: "
+-msgstr ""
+-
+-#: params.def:48
+-msgid "The maximum number of fields in a structure variable without direct structure accesses that GCC will attempt to track separately"
+-msgstr ""
+-
+-#: params.def:55
+-msgid "The maximum number of elements in an array for wich we track its elements separately"
+-msgstr ""
+-
+-#: params.def:64
+-msgid "The maximum structure size (in bytes) for which GCC will use by-element copies"
+-msgstr ""
+-
+-#: params.def:73
+-#, fuzzy
+-msgid "The maximum number of structure fields for which GCC will use by-element copies"
+-msgstr "Kinini Umubare Bya Amabwiriza kugirango i"
+-
+-#: params.def:85
+-msgid "The threshold ratio between instantiated fields and the total structure size"
+-msgstr ""
+-
+-#: params.def:102
+-#, fuzzy
+-msgid "The maximum number of instructions in a single function eligible for inlining"
+-msgstr "Kinini Umubare Bya Amabwiriza in a UMWE Umumaro kugirango"
+-
+-#: params.def:114
+-#, fuzzy
+-msgid "The maximum number of instructions when automatically inlining"
+-msgstr "Kinini Umubare Bya Amabwiriza Ryari: ku buryo bwikora"
+-
+-#: params.def:119
+-#, fuzzy
+-msgid "The maximum number of instructions inline function can grow to via recursive inlining"
+-msgstr "Kinini Umubare Bya Amabwiriza in a UMWE Umumaro kugirango"
+-
+-#: params.def:124
+-#, fuzzy
+-msgid "The maximum number of instructions non-inline function can grow to via recursive inlining"
+-msgstr "Kinini Umubare Bya Amabwiriza in a UMWE Umumaro kugirango"
+-
+-#: params.def:129
+-msgid "The maximum depth of recursive inlining for inline functions"
+-msgstr ""
+-
+-#: params.def:134
+-msgid "The maximum depth of recursive inlining for non-inline functions"
+-msgstr ""
+-
+-#: params.def:139
+-msgid "Inline recursively only when the probability of call being executed exceeds the parameter"
+-msgstr ""
+-
+-#: params.def:146
+-msgid "If -fvariable-expansion-in-unroller is used, the maximum number of times that an individual variable will be expanded during loop unrolling"
+-msgstr ""
+-
+-#: params.def:157
+-#, fuzzy
+-msgid "The maximum number of instructions to consider to fill a delay slot"
+-msgstr "Kinini Umubare Bya Amabwiriza Kuri Kuri Kuzuza a Gutinda"
+-
+-#: params.def:168
+-#, fuzzy
+-msgid "The maximum number of instructions to consider to find accurate live register information"
+-msgstr "Kinini Umubare Bya Amabwiriza Kuri Kuri Gushaka Kwiyandikisha Ibisobanuro"
+-
+-#: params.def:178
+-#, fuzzy
+-msgid "The maximum length of scheduling's pending operations list"
+-msgstr "Kinini Uburebure Bya Ibikorwa: Urutonde"
+-
+-#: params.def:183
+-msgid "The size of function body to be considered large"
+-msgstr ""
+-
+-#: params.def:187
+-#, fuzzy
+-msgid "Maximal growth due to inlining of large function (in percent)"
+-msgstr "ITEGEKONGENGA IKURA ku in"
+-
+-#: params.def:191
+-#, fuzzy
+-msgid "The size of translation unit to be considered large"
+-msgstr "i Umwandiko wahinduwe ururimi Igice: Kuri a IDOSIYE"
+-
+-#: params.def:195
+-msgid "how much can given compilation unit grow because of the inlining (in percent)"
+-msgstr ""
+-
+-#: params.def:199
+-msgid "expense of call operation relative to ordinary arithmetic operations"
+-msgstr ""
+-
+-#: params.def:206
+-#, fuzzy
+-msgid "The maximum amount of memory to be allocated by GCSE"
+-msgstr "Kinini Igiteranyo Bya Ububiko Kuri ku"
+-
+-#: params.def:211
+-#, fuzzy
+-msgid "The maximum number of passes to make when doing GCSE"
+-msgstr "Kinini Umubare Bya Kuri Ubwoko Ryari:"
+-
+-#: params.def:221
+-msgid "The threshold ratio for performing partial redundancy elimination after reload"
+-msgstr ""
+-
+-#: params.def:228
+-msgid "The threshold ratio of critical edges execution count that permit performing redundancy elimination after reload"
+-msgstr ""
+-
+-#: params.def:239
+-#, fuzzy
+-msgid "The maximum number of instructions to consider to unroll in a loop"
+-msgstr "Kinini Umubare Bya Amabwiriza Kuri Kuri in a"
+-
+-#: params.def:245
+-#, fuzzy
+-msgid "The maximum number of instructions to consider to unroll in a loop on average"
+-msgstr "Kinini Umubare Bya Amabwiriza Kuri Kuri in a"
+-
+-#: params.def:250
+-#, fuzzy
+-msgid "The maximum number of unrollings of a single loop"
+-msgstr "Kinini Umubare Bya Amabwiriza kugirango i"
+-
+-#: params.def:255
+-#, fuzzy
+-msgid "The maximum number of insns of a peeled loop"
+-msgstr "Kinini Umubare Bya Amabwiriza Kuri Kuri Kuzuza a Gutinda"
+-
+-#: params.def:260
+-#, fuzzy
+-msgid "The maximum number of peelings of a single loop"
+-msgstr "Kinini Umubare Bya Kuri Ubwoko Ryari:"
+-
+-#: params.def:265
+-#, fuzzy
+-msgid "The maximum number of insns of a completely peeled loop"
+-msgstr "Kinini Umubare Bya Amabwiriza Kuri Kuri in a"
+-
+-#: params.def:270
+-#, fuzzy
+-msgid "The maximum number of peelings of a single loop that is peeled completely"
+-msgstr "Kinini Umubare Bya Amabwiriza in a UMWE Umumaro kugirango"
+-
+-#: params.def:275
+-#, fuzzy
+-msgid "The maximum number of insns of a peeled loop that rolls only once"
+-msgstr "Kinini Umubare Bya Amabwiriza kugirango i"
+-
+-#: params.def:281
+-#, fuzzy
+-msgid "The maximum number of insns of an unswitched loop"
+-msgstr "Kinini Umubare Bya Amabwiriza Kuri Kuri in a"
+-
+-#: params.def:286
+-#, fuzzy
+-msgid "The maximum number of unswitchings in a single loop"
+-msgstr "Kinini Umubare Bya Amabwiriza in a UMWE Umumaro kugirango"
+-
+-#: params.def:293
+-msgid "Bound on the number of iterations the brute force # of iterations analysis algorithm evaluates"
+-msgstr ""
+-
+-#: params.def:299
+-msgid "Bound on the cost of an expression to compute the number of iterations"
+-msgstr ""
+-
+-#: params.def:304
+-msgid "Maximum number of loops to perform swing modulo scheduling on (mainly for debugging)"
+-msgstr ""
+-
+-#: params.def:310
+-msgid "A factor for tuning the upper bound that swing modulo scheduler uses for scheduling a loop"
+-msgstr ""
+-
+-#: params.def:314
+-msgid "The number of cycles the swing modulo scheduler considers when checking conflicts using DFA"
+-msgstr ""
+-
+-#: params.def:318
+-msgid "A threshold on the average loop count considered by the swing modulo scheduler"
+-msgstr ""
+-
+-#: params.def:323
+-#, fuzzy
+-msgid "Select fraction of the maximal count of repetitions of basic block in program given basic block needs to have to be considered hot"
+-msgstr "Imigabane Bya i IBARA Bya Bya BASIC Funga in Porogaramu BASIC Funga Kuri Kuri"
+-
+-#: params.def:327
+-#, fuzzy
+-msgid "Select fraction of the maximal frequency of executions of basic block in function given basic block needs to have to be considered hot"
+-msgstr "Imigabane Bya i Ubwisubire Bya Bya BASIC Funga in Umumaro BASIC Funga Kuri Kuri"
+-
+-#: params.def:343
+-#, fuzzy
+-msgid "The maximum number of loop iterations we predict statically"
+-msgstr "Kinini Umubare Bya Amabwiriza Ryari: ku buryo bwikora"
+-
+-#: params.def:347
+-#, fuzzy
+-msgid "The percentage of function, weighted by execution frequency, that must be covered by trace formation. Used when profile feedback is available"
+-msgstr "Ijanisha Bya Umumaro ku Ubwisubire ku Ryari: Ibijyana ni Bihari"
+-
+-#: params.def:351
+-#, fuzzy
+-msgid "The percentage of function, weighted by execution frequency, that must be covered by trace formation. Used when profile feedback is not available"
+-msgstr "Ijanisha Bya Umumaro ku Ubwisubire ku Ryari: Ibijyana ni OYA Bihari"
+-
+-#: params.def:355
+-#, fuzzy
+-msgid "Maximal code growth caused by tail duplication (in percent)"
+-msgstr "ITEGEKONGENGA IKURA ku in"
+-
+-#: params.def:359
+-#, fuzzy
+-msgid "Stop reverse growth if the reverse probability of best edge is less than this threshold (in percent)"
+-msgstr "Ihindurakerekezo IKURA NIBA i Ihindurakerekezo Imishobokere Bya ni Birutwa iyi in"
+-
+-#: params.def:363
+-#, fuzzy
+-msgid "Stop forward growth if the probability of best edge is less than this threshold (in percent). Used when profile feedback is available"
+-msgstr "Imbere IKURA NIBA i Imishobokere Bya ni Birutwa iyi in Ryari: Ibijyana ni Bihari"
+-
+-#: params.def:367
+-#, fuzzy
+-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 "Imbere IKURA NIBA i Imishobokere Bya ni Birutwa iyi in Ryari: Ibijyana ni OYA Bihari"
+-
+-#: params.def:373
+-#, fuzzy
+-msgid "The maximum number of incoming edges to consider for crossjumping"
+-msgstr "Kinini Umubare Bya Kuri kugirango"
+-
+-#: params.def:379
+-#, fuzzy
+-msgid "The minimum number of matching instructions to consider for crossjumping"
+-msgstr "Kinini Umubare Bya Kuri kugirango"
+-
+-#: params.def:385
+-msgid "The maximum expansion factor when copying basic blocks"
+-msgstr ""
+-
+-#: params.def:391
+-#, fuzzy
+-msgid "The maximum number of insns to duplicate when unfactoring computed gotos"
+-msgstr "Kinini Umubare Bya Kuri Ubwoko Ryari:"
+-
+-#: params.def:397
+-#, fuzzy
+-msgid "The maximum length of path considered in cse"
+-msgstr "Kinini Uburebure Bya Ibikorwa: Urutonde"
+-
+-#: params.def:401
+-#, fuzzy
+-msgid "The maximum instructions CSE process before flushing"
+-msgstr "Kinini Umubare Bya Amabwiriza kugirango i"
+-
+-#: params.def:408
+-msgid "The minimum cost of an expensive expression in the loop invariant motion"
+-msgstr ""
+-
+-#: params.def:417
+-msgid "Bound on number of candidates below that all candidates are considered in iv optimizations"
+-msgstr ""
+-
+-#: params.def:425
+-#, fuzzy
+-msgid "Bound on number of iv uses in loop optimized in iv optimizations"
+-msgstr "a Umubare Bya"
+-
+-#: params.def:433
+-msgid "If number of candidates in the set is smaller, we always try to remove unused ivs during its optimization"
+-msgstr ""
+-
+-#: params.def:438
+-msgid "Bound on size of expressions used in the scalar evolutions analyzer"
+-msgstr ""
+-
+-#: params.def:443
+-msgid "Bound on number of runtime checks inserted by the vectorizer's loop versioning"
+-msgstr ""
+-
+-#: params.def:450
+-msgid "Given N calls and V call-clobbered vars in a function. Use .GLOBAL_VAR if NxV is larger than this limit"
+-msgstr ""
+-
+-#: params.def:455
+-#, fuzzy
+-msgid "The maximum memory locations recorded by cselib"
+-msgstr "Kinini Umubare Bya Amabwiriza kugirango i"
+-
+-#: params.def:459
+-#, fuzzy
+-msgid "The maximum memory locations recorded by flow"
+-msgstr "Kinini Igiteranyo Bya Ububiko Kuri ku"
+-
+-#: params.def:472
+-#, fuzzy
+-msgid "Minimum heap expansion to trigger garbage collection, as a percentage of the total size of the heap"
+-msgstr "Kuri Imbarutso Nka a Ijanisha Bya i Igiteranyo Ingano Bya i"
+-
+-#: params.def:477
+-#, fuzzy
+-msgid "Minimum heap size before we start collecting garbage, in kilobytes"
+-msgstr "Ingano Mbere Twebwe Gutangira in"
+-
+-#: params.def:485
+-#, fuzzy
+-msgid "The maximum number of instructions to search backward when looking for equivalent reload"
+-msgstr "Kinini Umubare Bya Amabwiriza Kuri Kuri in a"
+-
+-#: params.def:490
+-msgid "The maximum number of virtual operands allowed to represent aliases before triggering alias grouping"
+-msgstr ""
+-
+-#: params.def:495
+-#, fuzzy
+-msgid "The maximum number of blocks in a region to be considered for interblock scheduling"
+-msgstr "Kinini Umubare Bya Kuri kugirango"
+-
+-#: params.def:500
+-#, fuzzy
+-msgid "The maximum number of insns in a region to be considered for interblock scheduling"
+-msgstr "Kinini Umubare Bya Kuri kugirango"
+-
+-#: params.def:505
+-msgid "The minimum probability of reaching a source block for interblock speculative scheduling"
+-msgstr ""
+-
+-#: params.def:510
+-#, fuzzy
+-msgid "The maximum number of iterations through CFG to extend regions"
+-msgstr "Kinini Umubare Bya Amabwiriza Kuri Kuri in a"
+-
+-#: params.def:515
+-#, fuzzy
+-msgid "The maximum conflict delay for an insn to be considered for speculative motion"
+-msgstr "Kinini Umubare Bya Kuri kugirango"
+-
+-#: params.def:520
+-msgid "The minimal probability of speculation success (in percents), so that speculative insn will be scheduled."
+-msgstr ""
+-
+-#: params.def:525
+-msgid "The maximum number of RTL nodes that can be recorded as combiner's last value"
+-msgstr ""
+-
+-#: params.def:533
+-#, fuzzy
+-msgid "The upper bound for sharing integer constants"
+-msgstr "Agaciro kugirango OYA Umubare wuzuye"
+-
+-#: params.def:552
+-#, fuzzy
+-msgid "Minimum number of virtual mappings to consider switching to full virtual renames"
+-msgstr "Kinini Umubare Bya Amabwiriza Kuri Kuri Kuzuza a Gutinda"
+-
+-#: params.def:557
+-msgid "Ratio between virtual mappings and virtual symbols to do full virtual renames"
+-msgstr ""
+-
+-#: params.def:562
+-msgid "The lower bound for a buffer to be considered for stack smashing protection"
+-msgstr ""
+-
+-#: params.def:580
+-msgid "Maximum number of statements allowed in a block that needs to be duplicated when threading jumps"
+-msgstr ""
+-
+-#: params.def:589
+-msgid "Maximum number of fields in a structure before pointer analysis treats the structure as a single variable"
+-msgstr ""
+-
+-#: params.def:594
+-#, fuzzy
+-msgid "The maximum number of instructions ready to be issued to be considered by the scheduler during the first scheduling pass"
+-msgstr "Kinini Umubare Bya Amabwiriza Kuri Kuri in a"
+-
+-# sc/source\ui\src\globstr.src:RID_GLOBSTR.STR_VALID_DEFERROR.text
+-#: config/alpha/alpha.c:5121
+-#, fuzzy, c-format
+-msgid "invalid %%H value"
+-msgstr "Agaciro siko"
+-
+-# sc/source\ui\src\globstr.src:RID_GLOBSTR.STR_VALID_DEFERROR.text
+-#: config/alpha/alpha.c:5142 config/bfin/bfin.c:1237
+-#, fuzzy, c-format
+-msgid "invalid %%J value"
+-msgstr "Agaciro siko"
+-
+-# sc/source\ui\src\globstr.src:RID_GLOBSTR.STR_VALID_DEFERROR.text
+-#: config/alpha/alpha.c:5172 config/ia64/ia64.c:4656
+-#, fuzzy, c-format
+-msgid "invalid %%r value"
+-msgstr "Agaciro siko"
+-
+-# sc/source\ui\src\globstr.src:RID_GLOBSTR.STR_VALID_DEFERROR.text
+-#: config/alpha/alpha.c:5182 config/rs6000/rs6000.c:10600
+-#: config/xtensa/xtensa.c:1707
+-#, fuzzy, c-format
+-msgid "invalid %%R value"
+-msgstr "Agaciro siko"
+-
+-# sc/source\ui\src\globstr.src:RID_GLOBSTR.STR_VALID_DEFERROR.text
+-#: config/alpha/alpha.c:5188 config/rs6000/rs6000.c:10519
+-#: config/xtensa/xtensa.c:1674
+-#, fuzzy, c-format
+-msgid "invalid %%N value"
+-msgstr "Agaciro siko"
+-
+-# sc/source\ui\src\globstr.src:RID_GLOBSTR.STR_VALID_DEFERROR.text
+-#: config/alpha/alpha.c:5196 config/rs6000/rs6000.c:10547
+-#, fuzzy, c-format
+-msgid "invalid %%P value"
+-msgstr "Agaciro siko"
+-
+-# sc/source\ui\src\globstr.src:RID_GLOBSTR.STR_VALID_DEFERROR.text
+-#: config/alpha/alpha.c:5204
+-#, fuzzy, c-format
+-msgid "invalid %%h value"
+-msgstr "Agaciro siko"
+-
+-# sc/source\ui\src\globstr.src:RID_GLOBSTR.STR_VALID_DEFERROR.text
+-#: config/alpha/alpha.c:5212 config/xtensa/xtensa.c:1700
+-#, fuzzy, c-format
+-msgid "invalid %%L value"
+-msgstr "Agaciro siko"
+-
+-# sc/source\ui\src\globstr.src:RID_GLOBSTR.STR_VALID_DEFERROR.text
+-#: config/alpha/alpha.c:5251 config/rs6000/rs6000.c:10501
+-#, fuzzy, c-format
+-msgid "invalid %%m value"
+-msgstr "Agaciro siko"
+-
+-# sc/source\ui\src\globstr.src:RID_GLOBSTR.STR_VALID_DEFERROR.text
+-#: config/alpha/alpha.c:5259 config/rs6000/rs6000.c:10509
+-#, fuzzy, c-format
+-msgid "invalid %%M value"
+-msgstr "Agaciro siko"
+-
+-# sc/source\ui\src\globstr.src:RID_GLOBSTR.STR_VALID_DEFERROR.text
+-#: config/alpha/alpha.c:5303
+-#, fuzzy, c-format
+-msgid "invalid %%U value"
+-msgstr "Agaciro siko"
+-
+-# sc/source\ui\src\globstr.src:RID_GLOBSTR.STR_VALID_DEFERROR.text
+-#: config/alpha/alpha.c:5315 config/alpha/alpha.c:5329
+-#: config/rs6000/rs6000.c:10608
+-#, fuzzy, c-format
+-msgid "invalid %%s value"
+-msgstr "Agaciro siko"
+-
+-# sc/source\ui\src\globstr.src:RID_GLOBSTR.STR_VALID_DEFERROR.text
+-#: config/alpha/alpha.c:5352
+-#, fuzzy, c-format
+-msgid "invalid %%C value"
+-msgstr "Agaciro siko"
+-
+-# sc/source\ui\src\globstr.src:RID_GLOBSTR.STR_VALID_DEFERROR.text
+-#: config/alpha/alpha.c:5389 config/rs6000/rs6000.c:10339
+-#: config/rs6000/rs6000.c:10358
+-#, fuzzy, c-format
+-msgid "invalid %%E value"
+-msgstr "Agaciro siko"
+-
+-#: config/alpha/alpha.c:5414 config/alpha/alpha.c:5462
+-#, fuzzy, c-format
+-msgid "unknown relocation unspec"
+-msgstr "Kitazwi"
+-
+-#: config/alpha/alpha.c:5423 config/crx/crx.c:1082
+-#: config/rs6000/rs6000.c:10923
+-#, fuzzy, c-format
+-msgid "invalid %%xn code"
+-msgstr "Sibyo ITEGEKONGENGA"
+-
+-#: config/arc/arc.c:1726 config/m32r/m32r.c:1805
+-#, fuzzy, c-format
+-msgid "invalid operand to %%R code"
+-msgstr "Sibyo Kuri ITEGEKONGENGA"
+-
+-#: config/arc/arc.c:1758 config/m32r/m32r.c:1828
+-#, fuzzy, c-format
+-msgid "invalid operand to %%H/%%L code"
+-msgstr "Sibyo Kuri ITEGEKONGENGA"
+-
+-#: config/arc/arc.c:1780 config/m32r/m32r.c:1899
+-#, fuzzy, c-format
+-msgid "invalid operand to %%U code"
+-msgstr "Sibyo Kuri ITEGEKONGENGA"
+-
+-#: config/arc/arc.c:1791
+-#, fuzzy, c-format
+-msgid "invalid operand to %%V code"
+-msgstr "Sibyo Kuri ITEGEKONGENGA"
+-
+-#. Unknown flag.
+-#. Undocumented flag.
+-#: config/arc/arc.c:1798 config/m32r/m32r.c:1926 config/sparc/sparc.c:6907
+-#, fuzzy, c-format
+-msgid "invalid operand output code"
+-msgstr "Sibyo Ibisohoka ITEGEKONGENGA"
+-
+-#: config/arm/arm.c:11005 config/arm/arm.c:11023
+-#, fuzzy, c-format
+-msgid "predicated Thumb instruction"
+-msgstr "INYUGUTI Amabwiriza"
+-
+-#: config/arm/arm.c:11011
+-#, fuzzy, c-format
+-msgid "predicated instruction in conditional sequence"
+-msgstr "OYA"
+-
+-#: config/arm/arm.c:11080
+-#, fuzzy, c-format
+-msgid "invalid shift operand"
+-msgstr "Sibyo"
+-
+-#: config/arm/arm.c:11127 config/arm/arm.c:11137 config/arm/arm.c:11147
+-#: config/arm/arm.c:11173 config/arm/arm.c:11191 config/arm/arm.c:11226
+-#: config/arm/arm.c:11245 config/arm/arm.c:11260 config/arm/arm.c:11286
+-#: config/arm/arm.c:11293 config/arm/arm.c:11300
+-#, fuzzy, c-format
+-msgid "invalid operand for code '%c'"
+-msgstr "Sibyo ITEGEKONGENGA"
+-
+-#: config/arm/arm.c:11186
+-#, fuzzy, c-format
+-msgid "instruction never exectued"
+-msgstr "OYA"
+-
+-#: config/arm/arm.c:11311
+-#, fuzzy, c-format
+-msgid "missing operand"
+-msgstr "Ibuze Gufungura"
+-
+-#: config/avr/avr.c:1046
+-#, c-format
+-msgid "address operand requires constraint for X, Y, or Z register"
+-msgstr ""
+-
+-#: config/avr/avr.c:1153
+-#, fuzzy
+-msgid "bad address, not (reg+disp):"
+-msgstr "Aderesi OYA"
+-
+-#: config/avr/avr.c:1160
+-#, fuzzy
+-msgid "bad address, not post_inc or pre_dec:"
+-msgstr "Aderesi OYA"
+-
+-#: config/avr/avr.c:1171
+-#, fuzzy
+-msgid "internal compiler error. Bad address:"
+-msgstr "By'imbere Ikosa Aderesi"
+-
+-#: config/avr/avr.c:1184
+-#, fuzzy
+-msgid "internal compiler error. Unknown mode:"
+-msgstr "By'imbere Ikosa Ubwoko"
+-
+-#: config/avr/avr.c:1807 config/avr/avr.c:2490
+-#, fuzzy
+-msgid "invalid insn:"
+-msgstr "Sibyo"
+-
+-#: config/avr/avr.c:1841 config/avr/avr.c:1927 config/avr/avr.c:1976
+-#: config/avr/avr.c:2004 config/avr/avr.c:2099 config/avr/avr.c:2268
+-#: config/avr/avr.c:2524 config/avr/avr.c:2636
+-msgid "incorrect insn:"
+-msgstr ""
+-
+-#: config/avr/avr.c:2023 config/avr/avr.c:2184 config/avr/avr.c:2339
+-#: config/avr/avr.c:2702
+-#, fuzzy
+-msgid "unknown move insn:"
+-msgstr "Kitazwi Kwimura"
+-
+-#: config/avr/avr.c:2932
+-#, fuzzy
+-msgid "bad shift insn:"
+-msgstr "Gusunika"
+-
+-#: config/avr/avr.c:3048 config/avr/avr.c:3496 config/avr/avr.c:3882
+-#, fuzzy
+-msgid "internal compiler error. Incorrect shift:"
+-msgstr "By'imbere Ikosa Gusunika"
+-
+-# sc/source\ui\src\globstr.src:RID_GLOBSTR.STR_VALID_DEFERROR.text
+-#: config/bfin/bfin.c:1199
+-#, fuzzy, c-format
+-msgid "invalid %%j value"
+-msgstr "Agaciro siko"
+-
+-#: config/bfin/bfin.c:1367
+-#, fuzzy, c-format
+-msgid "invalid const_double operand"
+-msgstr "Sibyo kugirango"
+-
+-#: config/c4x/c4x.c:1584
+-#, fuzzy
+-msgid "using CONST_DOUBLE for address"
+-msgstr "ikoresha kugirango Aderesi"
+-
+-#: config/c4x/c4x.c:1722
+-#, fuzzy
+-msgid "c4x_address_cost: Invalid addressing mode"
+-msgstr "Kwohereza Ubwoko"
+-
+-#: config/c4x/c4x.c:1857
+-#, c-format
+-msgid "c4x_print_operand: %%L inconsistency"
+-msgstr ""
+-
+-#: config/c4x/c4x.c:1863
+-#, c-format
+-msgid "c4x_print_operand: %%N inconsistency"
+-msgstr ""
+-
+-#: config/c4x/c4x.c:1904
+-#, c-format
+-msgid "c4x_print_operand: %%O inconsistency"
+-msgstr ""
+-
+-#: config/c4x/c4x.c:1999
+-msgid "c4x_print_operand: Bad operand case"
+-msgstr ""
+-
+-#: config/c4x/c4x.c:2040
+-msgid "c4x_print_operand_address: Bad post_modify"
+-msgstr ""
+-
+-#: config/c4x/c4x.c:2062
+-msgid "c4x_print_operand_address: Bad pre_modify"
+-msgstr ""
+-
+-#: config/c4x/c4x.c:2110 config/c4x/c4x.c:2122 config/c4x/c4x.c:2137
+-msgid "c4x_print_operand_address: Bad operand case"
+-msgstr ""
+-
+-#: config/c4x/c4x.c:2388
+-#, fuzzy
+-msgid "c4x_rptb_insert: Cannot find start label"
+-msgstr "Gushaka Gutangira Akarango"
+-
+-#: config/c4x/c4x.c:2990
+-#, fuzzy
+-msgid "invalid indirect memory address"
+-msgstr "Sibyo BUZIGUYE Ububiko Aderesi"
+-
+-#: config/c4x/c4x.c:3079
+-#, fuzzy
+-msgid "invalid indirect (S) memory address"
+-msgstr "Sibyo BUZIGUYE Ububiko Aderesi"
+-
+-#: config/c4x/c4x.c:3414
+-#, fuzzy
+-msgid "c4x_valid_operands: Internal error"
+-msgstr "Ikosa"
+-
+-#: config/c4x/c4x.c:3853
+-#, fuzzy
+-msgid "c4x_operand_subword: invalid mode"
+-msgstr "Sibyo Ubwoko"
+-
+-#: config/c4x/c4x.c:3856
+-#, fuzzy
+-msgid "c4x_operand_subword: invalid operand"
+-msgstr "Sibyo"
+-
+-#. We could handle these with some difficulty.
+-#. e.g., *p-- => *(p-=2); *(p+1).
+-#: config/c4x/c4x.c:3882
+-#, fuzzy
+-msgid "c4x_operand_subword: invalid autoincrement"
+-msgstr "Sibyo nyamwiyongera"
+-
+-#: config/c4x/c4x.c:3888
+-#, fuzzy
+-msgid "c4x_operand_subword: invalid address"
+-msgstr "Sibyo Aderesi"
+-
+-#: config/c4x/c4x.c:3899
+-#, fuzzy
+-msgid "c4x_operand_subword: address not offsettable"
+-msgstr "Aderesi OYA"
+-
+-#: config/c4x/c4x.c:4101
+-#, fuzzy
+-msgid "c4x_rptb_rpts_p: Repeat block top label moved"
+-msgstr "Funga Hejuru: Akarango"
+-
+-# basctl/source\basicide\basidesh.src:RID_IMGBTN_REMOVEWATCH.text
+-#. Use `%s' to print the string in case there are any escape
+-#. characters in the message.
+-#: config/cris/cris.c:492 fortran/dump-parse-tree.c:79
+-#: fortran/dump-parse-tree.c:421 fortran/dump-parse-tree.c:754
+-#: fortran/dump-parse-tree.c:801 c-typeck.c:4520 c-typeck.c:4535
+-#: c-typeck.c:4550 final.c:2803 final.c:2805 gcc.c:4742 loop-iv.c:2702
+-#: loop-iv.c:2711 rtl-error.c:113 toplev.c:605 tree-ssa-loop-niter.c:1165
+-#: cp/parser.c:2087 cp/typeck.c:4468 java/expr.c:413
+-#: /scratch/mitchell/gcc-releases/gcc-4.2.0-20070316/gcc-4.2.0-20070316/gcc/java/parse.y:5005
+-#, fuzzy, gcc-internal-format
+-msgid "%s"
+-msgstr "%s"
+-
+-#: config/cris/cris.c:544
+-#, fuzzy
+-msgid "unexpected index-type in cris_print_index"
+-msgstr "Umubarendanga Ubwoko in"
+-
+-#: config/cris/cris.c:558
+-#, fuzzy
+-msgid "unexpected base-type in cris_print_base"
+-msgstr "SHINGIRO Ubwoko in"
+-
+-#: config/cris/cris.c:674
+-#, fuzzy
+-msgid "invalid operand for 'b' modifier"
+-msgstr "Sibyo kugirango"
+-
+-#: config/cris/cris.c:691
+-#, fuzzy
+-msgid "invalid operand for 'o' modifier"
+-msgstr "Sibyo kugirango"
+-
+-#: config/cris/cris.c:710
+-#, fuzzy
+-msgid "invalid operand for 'O' modifier"
+-msgstr "Sibyo kugirango"
+-
+-#: config/cris/cris.c:743
+-#, fuzzy
+-msgid "invalid operand for 'p' modifier"
+-msgstr "Sibyo kugirango"
+-
+-#: config/cris/cris.c:782
+-#, fuzzy
+-msgid "invalid operand for 'z' modifier"
+-msgstr "Sibyo kugirango"
+-
+-#: config/cris/cris.c:836 config/cris/cris.c:866
+-#, fuzzy
+-msgid "invalid operand for 'H' modifier"
+-msgstr "Sibyo kugirango"
+-
+-#: config/cris/cris.c:842
+-#, fuzzy
+-msgid "bad register"
+-msgstr "Kwiyandikisha"
+-
+-#: config/cris/cris.c:887
+-#, fuzzy
+-msgid "invalid operand for 'e' modifier"
+-msgstr "Sibyo kugirango"
+-
+-#: config/cris/cris.c:904
+-#, fuzzy
+-msgid "invalid operand for 'm' modifier"
+-msgstr "Sibyo kugirango"
+-
+-#: config/cris/cris.c:929
+-#, fuzzy
+-msgid "invalid operand for 'A' modifier"
+-msgstr "Sibyo kugirango"
+-
+-#: config/cris/cris.c:952
+-#, fuzzy
+-msgid "invalid operand for 'D' modifier"
+-msgstr "Sibyo kugirango"
+-
+-#: config/cris/cris.c:966
+-#, fuzzy
+-msgid "invalid operand for 'T' modifier"
+-msgstr "Sibyo kugirango"
+-
+-#: config/cris/cris.c:975
+-#, fuzzy
+-msgid "invalid operand modifier letter"
+-msgstr "Sibyo Ibaruwa..."
+-
+-#: config/cris/cris.c:1032
+-msgid "unexpected multiplicative operand"
+-msgstr ""
+-
+-#: config/cris/cris.c:1052
+-msgid "unexpected operand"
+-msgstr ""
+-
+-#: config/cris/cris.c:1085 config/cris/cris.c:1095
+-#, fuzzy
+-msgid "unrecognized address"
+-msgstr "Aderesi"
+-
+-#: config/cris/cris.c:2021
+-msgid "unrecognized supposed constant"
+-msgstr ""
+-
+-#: config/cris/cris.c:2396 config/cris/cris.c:2460
+-#, fuzzy
+-msgid "unexpected side-effects in address"
+-msgstr "Ingaruka in Aderesi"
+-
+-#. Can't possibly get a GOT-needing-fixup for a function-call,
+-#. right?
+-#: config/cris/cris.c:3254
+-msgid "Unidentifiable call op"
+-msgstr ""
+-
+-#: config/cris/cris.c:3305
+-#, fuzzy, c-format
+-msgid "PIC register isn't set up"
+-msgstr "Kwiyandikisha si Gushyiraho Hejuru"
+-
+-#: config/fr30/fr30.c:464
+-#, fuzzy, c-format
+-msgid "fr30_print_operand_address: unhandled address"
+-msgstr "Aderesi"
+-
+-#: config/fr30/fr30.c:488
+-#, fuzzy, c-format
+-msgid "fr30_print_operand: unrecognized %%p code"
+-msgstr "ITEGEKONGENGA"
+-
+-#: config/fr30/fr30.c:508
+-#, fuzzy, c-format
+-msgid "fr30_print_operand: unrecognized %%b code"
+-msgstr "ITEGEKONGENGA"
+-
+-#: config/fr30/fr30.c:529
+-#, fuzzy, c-format
+-msgid "fr30_print_operand: unrecognized %%B code"
+-msgstr "ITEGEKONGENGA"
+-
+-#: config/fr30/fr30.c:537
+-#, fuzzy, c-format
+-msgid "fr30_print_operand: invalid operand to %%A code"
+-msgstr "Sibyo Kuri ITEGEKONGENGA"
+-
+-#: config/fr30/fr30.c:554
+-#, fuzzy, c-format
+-msgid "fr30_print_operand: invalid %%x code"
+-msgstr "Sibyo ITEGEKONGENGA"
+-
+-#: config/fr30/fr30.c:561
+-#, fuzzy, c-format
+-msgid "fr30_print_operand: invalid %%F code"
+-msgstr "Sibyo ITEGEKONGENGA"
+-
+-#: config/fr30/fr30.c:578
+-#, fuzzy, c-format
+-msgid "fr30_print_operand: unknown code"
+-msgstr "Kitazwi ITEGEKONGENGA"
+-
+-#: config/fr30/fr30.c:606 config/fr30/fr30.c:615 config/fr30/fr30.c:626
+-#: config/fr30/fr30.c:639
+-#, c-format
+-msgid "fr30_print_operand: unhandled MEM"
+-msgstr ""
+-
+-#: config/frv/frv.c:2541
+-#, fuzzy
+-msgid "bad insn to frv_print_operand_address:"
+-msgstr "Kuri"
+-
+-#: config/frv/frv.c:2552
+-#, fuzzy
+-msgid "bad register to frv_print_operand_memory_reference_reg:"
+-msgstr "Kwiyandikisha Kuri"
+-
+-#: config/frv/frv.c:2591 config/frv/frv.c:2601 config/frv/frv.c:2610
+-#: config/frv/frv.c:2631 config/frv/frv.c:2636
+-#, fuzzy
+-msgid "bad insn to frv_print_operand_memory_reference:"
+-msgstr "Kuri"
+-
+-#: config/frv/frv.c:2722
+-#, fuzzy, c-format
+-msgid "bad condition code"
+-msgstr "Kwiyandikisha Umugereka ITEGEKONGENGA"
+-
+-#: config/frv/frv.c:2797
+-#, fuzzy
+-msgid "bad insn in frv_print_operand, bad const_double"
+-msgstr "in"
+-
+-#: config/frv/frv.c:2858
+-#, fuzzy
+-msgid "bad insn to frv_print_operand, 'e' modifier:"
+-msgstr "Kuri"
+-
+-#: config/frv/frv.c:2866
+-#, fuzzy
+-msgid "bad insn to frv_print_operand, 'F' modifier:"
+-msgstr "Kuri"
+-
+-#: config/frv/frv.c:2882
+-#, fuzzy
+-msgid "bad insn to frv_print_operand, 'f' modifier:"
+-msgstr "Kuri"
+-
+-#: config/frv/frv.c:2896
+-#, fuzzy
+-msgid "bad insn to frv_print_operand, 'g' modifier:"
+-msgstr "Kuri"
+-
+-#: config/frv/frv.c:2944
+-#, fuzzy
+-msgid "bad insn to frv_print_operand, 'L' modifier:"
+-msgstr "Kuri"
+-
+-#: config/frv/frv.c:2957
+-#, fuzzy
+-msgid "bad insn to frv_print_operand, 'M/N' modifier:"
+-msgstr "Kuri"
+-
+-#: config/frv/frv.c:2978
+-#, fuzzy
+-msgid "bad insn to frv_print_operand, 'O' modifier:"
+-msgstr "Kuri"
+-
+-#: config/frv/frv.c:2996
+-#, fuzzy
+-msgid "bad insn to frv_print_operand, P modifier:"
+-msgstr "Kuri"
+-
+-#: config/frv/frv.c:3016
+-#, fuzzy
+-msgid "bad insn in frv_print_operand, z case"
+-msgstr "in Z"
+-
+-#: config/frv/frv.c:3047
+-#, fuzzy
+-msgid "bad insn in frv_print_operand, 0 case"
+-msgstr "in 0"
+-
+-#: config/frv/frv.c:3052
+-#, fuzzy
+-msgid "frv_print_operand: unknown code"
+-msgstr "Kitazwi ITEGEKONGENGA"
+-
+-#: config/frv/frv.c:4421
+-msgid "bad output_move_single operand"
+-msgstr ""
+-
+-#: config/frv/frv.c:4548
+-msgid "bad output_move_double operand"
+-msgstr ""
+-
+-#: config/frv/frv.c:4690
+-msgid "bad output_condmove_single operand"
+-msgstr ""
+-
+-#. This macro is a C statement to print on `stderr' a string describing the
+-#. particular machine description choice. Every machine description should
+-#. define `TARGET_VERSION'. For example:
+-#.
+-#. #ifdef MOTOROLA
+-#. #define TARGET_VERSION fprintf (stderr, " (68k, Motorola syntax)");
+-#. #else
+-#. #define TARGET_VERSION fprintf (stderr, " (68k, MIT syntax)");
+-#. #endif
+-#: config/frv/frv.h:329
+-#, c-format
+-msgid " (frv)"
+-msgstr ""
+-
+-#: config/i386/i386.c:7292
+-#, fuzzy, c-format
+-msgid "invalid UNSPEC as operand"
+-msgstr "Sibyo Nka"
+-
+-#: config/i386/i386.c:7887
+-#, fuzzy, c-format
+-msgid "operand is neither a constant nor a condition code, invalid operand code 'c'"
+-msgstr "ni a a Ibisabwa ITEGEKONGENGA Sibyo ITEGEKONGENGA"
+-
+-#: config/i386/i386.c:7940
+-#, fuzzy, c-format
+-msgid "invalid operand code '%c'"
+-msgstr "Sibyo ITEGEKONGENGA"
+-
+-#: config/i386/i386.c:7983
+-#, fuzzy, c-format
+-msgid "invalid constraints for operand"
+-msgstr "Sibyo kugirango"
+-
+-#: config/i386/i386.c:13641
+-#, fuzzy
+-msgid "unknown insn mode"
+-msgstr "Kitazwi Ubwoko"
+-
+-#. If the environment variable DJDIR is not defined, then DJGPP is not installed correctly and GCC will quickly become confused with the default prefix settings. Report the problem now so the user doesn't receive deceptive "file not found" error messages later.
+-#. DJDIR is automatically defined by the DJGPP environment config file pointed to by the environment variable DJGPP. Examine DJGPP to try and figure out what's wrong.
+-#: config/i386/xm-djgpp.h:62
+-#, fuzzy, c-format
+-msgid "environment variable DJGPP not defined"
+-msgstr "IMPINDURAGACIRO OYA"
+-
+-#: config/i386/xm-djgpp.h:64
+-#, fuzzy, c-format
+-msgid "environment variable DJGPP points to missing file '%s'"
+-msgstr "IMPINDURAGACIRO Utudomo Kuri Ibuze IDOSIYE"
+-
+-#: config/i386/xm-djgpp.h:67
+-#, fuzzy, c-format
+-msgid "environment variable DJGPP points to corrupt file '%s'"
+-msgstr "IMPINDURAGACIRO Utudomo Kuri IDOSIYE"
+-
+-#: config/ia64/ia64.c:4708
+-#, fuzzy, c-format
+-msgid "ia64_print_operand: unknown code"
+-msgstr "Kitazwi ITEGEKONGENGA"
+-
+-#: config/ia64/ia64.c:9799
+-#, fuzzy
+-msgid "invalid conversion from %<__fpreg%>"
+-msgstr "Sibyo Ihindurangero Bivuye Kuri"
+-
+-#: config/ia64/ia64.c:9802
+-#, fuzzy
+-msgid "invalid conversion to %<__fpreg%>"
+-msgstr "Sibyo Ihindurangero Kuri Ubwoko Bivuye Ubwoko"
+-
+-#: config/ia64/ia64.c:9815 config/ia64/ia64.c:9826
+-#, fuzzy
+-msgid "invalid operation on %<__fpreg%>"
+-msgstr "Sibyo Kuri ITEGEKONGENGA"
+-
+-#: config/iq2000/iq2000.c:3129
+-#, fuzzy, c-format
+-msgid "invalid %%P operand"
+-msgstr "Sibyo"
+-
+-# sc/source\ui\src\globstr.src:RID_GLOBSTR.STR_VALID_DEFERROR.text
+-#: config/iq2000/iq2000.c:3137 config/rs6000/rs6000.c:10537
+-#, fuzzy, c-format
+-msgid "invalid %%p value"
+-msgstr "Agaciro siko"
+-
+-#: config/iq2000/iq2000.c:3193 config/mips/mips.c:5643
+-#, fuzzy, c-format
+-msgid "invalid use of %%d, %%x, or %%X"
+-msgstr "Sibyo Gukoresha Bya Cyangwa"
+-
+-#: config/m32r/m32r.c:1775
+-#, fuzzy, c-format
+-msgid "invalid operand to %%s code"
+-msgstr "Sibyo Kuri ITEGEKONGENGA"
+-
+-#: config/m32r/m32r.c:1782
+-#, fuzzy, c-format
+-msgid "invalid operand to %%p code"
+-msgstr "Sibyo Kuri ITEGEKONGENGA"
+-
+-#: config/m32r/m32r.c:1837
+-#, fuzzy
+-msgid "bad insn for 'A'"
+-msgstr "kugirango"
+-
+-#: config/m32r/m32r.c:1884
+-#, fuzzy, c-format
+-msgid "invalid operand to %%T/%%B code"
+-msgstr "Sibyo Kuri ITEGEKONGENGA"
+-
+-#: config/m32r/m32r.c:1907
+-#, fuzzy, c-format
+-msgid "invalid operand to %%N code"
+-msgstr "Sibyo Kuri ITEGEKONGENGA"
+-
+-#: config/m32r/m32r.c:1940
+-#, fuzzy
+-msgid "pre-increment address is not a register"
+-msgstr "Byahawe imiterere mbere Iyongeragaciro Aderesi ni OYA a Kwiyandikisha"
+-
+-#: config/m32r/m32r.c:1947
+-#, fuzzy
+-msgid "pre-decrement address is not a register"
+-msgstr "Byahawe imiterere mbere Aderesi ni OYA a Kwiyandikisha"
+-
+-#: config/m32r/m32r.c:1954
+-#, fuzzy
+-msgid "post-increment address is not a register"
+-msgstr "Iposita Iyongeragaciro Aderesi ni OYA a Kwiyandikisha"
+-
+-#: config/m32r/m32r.c:2030 config/m32r/m32r.c:2044
+-#: config/rs6000/rs6000.c:17905
+-#, fuzzy
+-msgid "bad address"
+-msgstr "Aderesi"
+-
+-#: config/m32r/m32r.c:2049
+-#, fuzzy
+-msgid "lo_sum not of register"
+-msgstr "OYA Bya Kwiyandikisha"
+-
+-#. !!!! SCz wrong here.
+-#: config/m68hc11/m68hc11.c:3189 config/m68hc11/m68hc11.c:3567
+-#, fuzzy
+-msgid "move insn not handled"
+-msgstr "Kwimura OYA"
+-
+-#: config/m68hc11/m68hc11.c:3413 config/m68hc11/m68hc11.c:3497
+-#: config/m68hc11/m68hc11.c:3770
+-#, fuzzy
+-msgid "invalid register in the move instruction"
+-msgstr "Sibyo Kwiyandikisha in i Kwimura"
+-
+-#: config/m68hc11/m68hc11.c:3447
+-#, fuzzy
+-msgid "invalid operand in the instruction"
+-msgstr "Sibyo in i"
+-
+-#: config/m68hc11/m68hc11.c:3744
+-#, fuzzy
+-msgid "invalid register in the instruction"
+-msgstr "Sibyo Kwiyandikisha in i"
+-
+-#: config/m68hc11/m68hc11.c:3777
+-#, fuzzy
+-msgid "operand 1 must be a hard register"
+-msgstr "1. a Ikomeye Kwiyandikisha"
+-
+-#: config/m68hc11/m68hc11.c:3791
+-#, fuzzy
+-msgid "invalid rotate insn"
+-msgstr "Sibyo Kuzerutsa"
+-
+-#: config/m68hc11/m68hc11.c:4215
+-#, fuzzy
+-msgid "registers IX, IY and Z used in the same INSN"
+-msgstr "Na in i"
+-
+-#: config/m68hc11/m68hc11.c:4552 config/m68hc11/m68hc11.c:4852
+-#, fuzzy
+-msgid "cannot do z-register replacement"
+-msgstr "Z Kwiyandikisha"
+-
+-#: config/m68hc11/m68hc11.c:4915
+-#, fuzzy
+-msgid "invalid Z register replacement for insn"
+-msgstr "Sibyo Kwiyandikisha kugirango"
+-
+-#: config/mips/mips.c:5311
+-msgid "mips_debugger_offset called with non stack/frame/arg pointer"
+-msgstr ""
+-
+-#: config/mips/mips.c:5521
+-#, fuzzy, c-format
+-msgid "PRINT_OPERAND, invalid insn for %%C"
+-msgstr "NTAGIHARI Mweretsi"
+-
+-#: config/mips/mips.c:5538
+-#, fuzzy, c-format
+-msgid "PRINT_OPERAND, invalid insn for %%N"
+-msgstr "NTAGIHARI Mweretsi"
+-
+-#: config/mips/mips.c:5547
+-#, fuzzy, c-format
+-msgid "PRINT_OPERAND, invalid insn for %%F"
+-msgstr "NTAGIHARI Mweretsi"
+-
+-#: config/mips/mips.c:5556
+-#, fuzzy, c-format
+-msgid "PRINT_OPERAND, invalid insn for %%W"
+-msgstr "NTAGIHARI Mweretsi"
+-
+-# sc/source\ui\src\globstr.src:RID_GLOBSTR.STR_VALID_DEFERROR.text
+-#: config/mips/mips.c:5577
+-#, fuzzy, c-format
+-msgid "invalid %%Y value"
+-msgstr "Agaciro siko"
+-
+-#: config/mips/mips.c:5594 config/mips/mips.c:5602
+-#, fuzzy, c-format
+-msgid "PRINT_OPERAND, invalid insn for %%q"
+-msgstr "NTAGIHARI Mweretsi"
+-
+-#: config/mips/mips.c:5671
+-msgid "PRINT_OPERAND, invalid operand for relocation"
+-msgstr ""
+-
+-#: config/mmix/mmix.c:1468 config/mmix/mmix.c:1598
+-#, fuzzy
+-msgid "MMIX Internal: Expected a CONST_INT, not this"
+-msgstr "Itegerejwe a OYA iyi"
+-
+-#: config/mmix/mmix.c:1547
+-#, fuzzy
+-msgid "MMIX Internal: Bad value for 'm', not a CONST_INT"
+-msgstr "Agaciro kugirango OYA a"
+-
+-#: config/mmix/mmix.c:1566
+-#, fuzzy
+-msgid "MMIX Internal: Expected a register, not this"
+-msgstr "Itegerejwe a Kwiyandikisha OYA iyi"
+-
+-#: config/mmix/mmix.c:1576
+-#, fuzzy
+-msgid "MMIX Internal: Expected a constant, not this"
+-msgstr "Itegerejwe a OYA iyi"
+-
+-#. We need the original here.
+-#: config/mmix/mmix.c:1660
+-#, fuzzy
+-msgid "MMIX Internal: Cannot decode this operand"
+-msgstr "iyi"
+-
+-#: config/mmix/mmix.c:1717
+-#, fuzzy
+-msgid "MMIX Internal: This is not a recognized address"
+-msgstr "ni OYA a Aderesi"
+-
+-#: config/mmix/mmix.c:2650
+-#, fuzzy
+-msgid "MMIX Internal: Trying to output invalidly reversed condition:"
+-msgstr "Kuri Ibisohoka Bicuritswe Ibisabwa"
+-
+-#: config/mmix/mmix.c:2657
+-#, fuzzy
+-msgid "MMIX Internal: What's the CC of this?"
+-msgstr "i Bya iyi"
+-
+-#: config/mmix/mmix.c:2661
+-#, fuzzy
+-msgid "MMIX Internal: What is the CC of this?"
+-msgstr "ni i Bya iyi"
+-
+-#: config/mmix/mmix.c:2725
+-#, fuzzy
+-msgid "MMIX Internal: This is not a constant:"
+-msgstr "ni OYA a"
+-
+-#: config/mt/mt.c:300
+-msgid "mt_final_prescan_insn, invalid insn #1"
+-msgstr ""
+-
+-#: config/mt/mt.c:371
+-#, fuzzy
+-msgid "PRINT_OPERAND_ADDRESS, 2 regs"
+-msgstr "NTAGIHARI Mweretsi"
+-
+-#: config/mt/mt.c:395
+-#, fuzzy
+-msgid "PRINT_OPERAND_ADDRESS, invalid insn #1"
+-msgstr "NTAGIHARI Mweretsi"
+-
+-#: config/rs6000/host-darwin.c:97
+-#, c-format
+-msgid "Out of stack space.\n"
+-msgstr ""
+-
+-#: config/rs6000/host-darwin.c:118
+-#, c-format
+-msgid "Try running '%s' in the shell to raise its limit.\n"
+-msgstr ""
+-
+-# sc/source\ui\src\globstr.src:RID_GLOBSTR.STR_VALID_DEFERROR.text
+-#: config/rs6000/rs6000.c:10367
+-#, fuzzy, c-format
+-msgid "invalid %%f value"
+-msgstr "Agaciro siko"
+-
+-# sc/source\ui\src\globstr.src:RID_GLOBSTR.STR_VALID_DEFERROR.text
+-#: config/rs6000/rs6000.c:10376
+-#, fuzzy, c-format
+-msgid "invalid %%F value"
+-msgstr "Agaciro siko"
+-
+-# sc/source\ui\src\globstr.src:RID_GLOBSTR.STR_VALID_DEFERROR.text
+-#: config/rs6000/rs6000.c:10385
+-#, fuzzy, c-format
+-msgid "invalid %%G value"
+-msgstr "Agaciro siko"
+-
+-#: config/rs6000/rs6000.c:10420
+-#, fuzzy, c-format
+-msgid "invalid %%j code"
+-msgstr "Sibyo ITEGEKONGENGA"
+-
+-#: config/rs6000/rs6000.c:10430
+-#, fuzzy, c-format
+-msgid "invalid %%J code"
+-msgstr "Sibyo ITEGEKONGENGA"
+-
+-# sc/source\ui\src\globstr.src:RID_GLOBSTR.STR_VALID_DEFERROR.text
+-#: config/rs6000/rs6000.c:10440
+-#, fuzzy, c-format
+-msgid "invalid %%k value"
+-msgstr "Agaciro siko"
+-
+-# sc/source\ui\src\globstr.src:RID_GLOBSTR.STR_VALID_DEFERROR.text
+-#: config/rs6000/rs6000.c:10460 config/xtensa/xtensa.c:1693
+-#, fuzzy, c-format
+-msgid "invalid %%K value"
+-msgstr "Agaciro siko"
+-
+-# sc/source\ui\src\globstr.src:RID_GLOBSTR.STR_VALID_DEFERROR.text
+-#: config/rs6000/rs6000.c:10527
+-#, fuzzy, c-format
+-msgid "invalid %%O value"
+-msgstr "Agaciro siko"
+-
+-# sc/source\ui\src\globstr.src:RID_GLOBSTR.STR_VALID_DEFERROR.text
+-#: config/rs6000/rs6000.c:10574
+-#, fuzzy, c-format
+-msgid "invalid %%q value"
+-msgstr "Agaciro siko"
+-
+-# sc/source\ui\src\globstr.src:RID_GLOBSTR.STR_VALID_DEFERROR.text
+-#: config/rs6000/rs6000.c:10618
+-#, fuzzy, c-format
+-msgid "invalid %%S value"
+-msgstr "Agaciro siko"
+-
+-# sc/source\ui\src\globstr.src:RID_GLOBSTR.STR_VALID_DEFERROR.text
+-#: config/rs6000/rs6000.c:10658
+-#, fuzzy, c-format
+-msgid "invalid %%T value"
+-msgstr "Agaciro siko"
+-
+-# sc/source\ui\src\globstr.src:RID_GLOBSTR.STR_VALID_DEFERROR.text
+-#: config/rs6000/rs6000.c:10668
+-#, fuzzy, c-format
+-msgid "invalid %%u value"
+-msgstr "Agaciro siko"
+-
+-# sc/source\ui\src\globstr.src:RID_GLOBSTR.STR_VALID_DEFERROR.text
+-#: config/rs6000/rs6000.c:10677 config/xtensa/xtensa.c:1663
+-#, fuzzy, c-format
+-msgid "invalid %%v value"
+-msgstr "Agaciro siko"
+-
+-#: config/rs6000/rs6000.c:19522
+-#, fuzzy
+-msgid "AltiVec argument passed to unprototyped function"
+-msgstr "ingingo Kuri Umumaro"
+-
+-#: config/s390/s390.c:4534
+-#, fuzzy, c-format
+-msgid "cannot decompose address"
+-msgstr "Aderesi"
+-
+-#: config/s390/s390.c:4744
+-#, fuzzy
+-msgid "UNKNOWN in print_operand !?"
+-msgstr "in"
+-
+-#: config/score/score.c:1212
+-#, fuzzy, c-format
+-msgid "invalid operand for code: '%c'"
+-msgstr "Sibyo ITEGEKONGENGA"
+-
+-#: config/sh/sh.c:759
+-#, fuzzy, c-format
+-msgid "invalid operand to %%R"
+-msgstr "Sibyo Kuri ITEGEKONGENGA"
+-
+-#: config/sh/sh.c:786
+-#, fuzzy, c-format
+-msgid "invalid operand to %%S"
+-msgstr "Sibyo Kuri ITEGEKONGENGA"
+-
+-#: config/sh/sh.c:7820
+-msgid "created and used with different architectures / ABIs"
+-msgstr ""
+-
+-#: config/sh/sh.c:7822
+-msgid "created and used with different ABIs"
+-msgstr ""
+-
+-#: config/sh/sh.c:7824
+-#, fuzzy
+-msgid "created and used with different endianness"
+-msgstr "Ibyatanzwe ku Ubuturo Na:"
+-
+-#: config/sparc/sparc.c:6715 config/sparc/sparc.c:6721
+-#, fuzzy, c-format
+-msgid "invalid %%Y operand"
+-msgstr "Sibyo"
+-
+-#: config/sparc/sparc.c:6791
+-#, fuzzy, c-format
+-msgid "invalid %%A operand"
+-msgstr "Sibyo"
+-
+-#: config/sparc/sparc.c:6801
+-#, fuzzy, c-format
+-msgid "invalid %%B operand"
+-msgstr "Sibyo"
+-
+-#: config/sparc/sparc.c:6840
+-#, fuzzy, c-format
+-msgid "invalid %%c operand"
+-msgstr "Sibyo"
+-
+-#: config/sparc/sparc.c:6841
+-#, fuzzy, c-format
+-msgid "invalid %%C operand"
+-msgstr "Sibyo"
+-
+-#: config/sparc/sparc.c:6862
+-#, fuzzy, c-format
+-msgid "invalid %%d operand"
+-msgstr "Sibyo"
+-
+-#: config/sparc/sparc.c:6863
+-#, fuzzy, c-format
+-msgid "invalid %%D operand"
+-msgstr "Sibyo"
+-
+-#: config/sparc/sparc.c:6879
+-#, fuzzy, c-format
+-msgid "invalid %%f operand"
+-msgstr "Sibyo"
+-
+-#: config/sparc/sparc.c:6893
+-#, fuzzy, c-format
+-msgid "invalid %%s operand"
+-msgstr "Sibyo"
+-
+-#: config/sparc/sparc.c:6947
+-#, fuzzy, c-format
+-msgid "long long constant not a valid immediate operand"
+-msgstr "OYA a Byemewe"
+-
+-#: config/sparc/sparc.c:6950
+-#, fuzzy, c-format
+-msgid "floating point constant not a valid immediate operand"
+-msgstr "Bihindagurika Akadomo OYA a Byemewe"
+-
+-#: config/stormy16/stormy16.c:1778 config/stormy16/stormy16.c:1849
+-#, fuzzy, c-format
+-msgid "'B' operand is not constant"
+-msgstr "`ni OYA"
+-
+-#: config/stormy16/stormy16.c:1805
+-#, fuzzy, c-format
+-msgid "'B' operand has multiple bits set"
+-msgstr "`Igikubo Gushyiraho"
+-
+-#: config/stormy16/stormy16.c:1831
+-#, fuzzy, c-format
+-msgid "'o' operand is not constant"
+-msgstr "`ni OYA"
+-
+-#: config/stormy16/stormy16.c:1863
+-#, fuzzy, c-format
+-msgid "xstormy16_print_operand: unknown code"
+-msgstr "Kitazwi ITEGEKONGENGA"
+-
+-#: config/v850/v850.c:372
+-#, fuzzy
+-msgid "const_double_split got a bad insn:"
+-msgstr "a"
+-
+-#: config/v850/v850.c:936
+-msgid "output_move_single:"
+-msgstr ""
+-
+-#: config/xtensa/xtensa.c:750 config/xtensa/xtensa.c:782
+-#: config/xtensa/xtensa.c:791
+-#, fuzzy
+-msgid "bad test"
+-msgstr "Igerageza"
+-
+-# sc/source\ui\src\globstr.src:RID_GLOBSTR.STR_VALID_DEFERROR.text
+-#: config/xtensa/xtensa.c:1651
+-#, fuzzy, c-format
+-msgid "invalid %%D value"
+-msgstr "Agaciro siko"
+-
+-#: config/xtensa/xtensa.c:1688
+-#, fuzzy
+-msgid "invalid mask"
+-msgstr "Sibyo"
+-
+-#: config/xtensa/xtensa.c:1714
+-#, fuzzy, c-format
+-msgid "invalid %%x value"
+-msgstr "Sibyo Agaciro"
+-
+-# sc/source\ui\src\globstr.src:RID_GLOBSTR.STR_VALID_DEFERROR.text
+-#: config/xtensa/xtensa.c:1721
+-#, fuzzy, c-format
+-msgid "invalid %%d value"
+-msgstr "Agaciro siko"
+-
+-# sc/source\ui\src\globstr.src:RID_GLOBSTR.STR_VALID_DEFERROR.text
+-#: config/xtensa/xtensa.c:1742 config/xtensa/xtensa.c:1752
+-#, fuzzy, c-format
+-msgid "invalid %%t/%%b value"
+-msgstr "Agaciro siko"
+-
+-#: config/xtensa/xtensa.c:1794
+-#, fuzzy
+-msgid "invalid address"
+-msgstr "Sibyo Aderesi"
+-
+-#: config/xtensa/xtensa.c:1819
+-#, fuzzy
+-msgid "no register in address"
+-msgstr "Oya Kwiyandikisha in Aderesi"
+-
+-#: config/xtensa/xtensa.c:1827
+-#, fuzzy
+-msgid "address offset not a constant"
+-msgstr "Aderesi Nta- boneza OYA a"
+-
+-#: cp/call.c:2472
+-msgid "candidates are:"
+-msgstr ""
+-
+-#: cp/call.c:6303
+-msgid "candidate 1:"
+-msgstr ""
+-
+-#: cp/call.c:6304
+-msgid "candidate 2:"
+-msgstr ""
+-
+-#: cp/decl2.c:668
+-msgid "candidates are: %+#D"
+-msgstr ""
+-
+-#: cp/decl2.c:670
+-msgid "candidate is: %+#D"
+-msgstr ""
+-
+-#: cp/g++spec.c:238 java/jvspec.c:424
+-#, fuzzy, c-format
+-msgid "argument to '%s' missing\n"
+-msgstr "Kuri"
+-
+-#: fortran/arith.c:141
+-msgid "Arithmetic OK at %L"
+-msgstr ""
+-
+-#: fortran/arith.c:144
+-msgid "Arithmetic overflow at %L"
+-msgstr ""
+-
+-#: fortran/arith.c:147
+-msgid "Arithmetic underflow at %L"
+-msgstr ""
+-
+-#: fortran/arith.c:150
+-msgid "Arithmetic NaN at %L"
+-msgstr ""
+-
+-#: fortran/arith.c:153
+-#, fuzzy
+-msgid "Division by zero at %L"
+-msgstr "Kugabanya na zeru"
+-
+-#: fortran/arith.c:156
+-msgid "Array operands are incommensurate at %L"
+-msgstr ""
+-
+-#: fortran/arith.c:160
+-msgid "Integer outside symmetric range implied by Standard Fortran at %L"
+-msgstr ""
+-
+-#: fortran/arith.c:1424
+-msgid "Elemental binary operation"
+-msgstr ""
+-
+-#: fortran/arith.c:1982
+-#, no-c-format
+-msgid "Arithmetic OK converting %s to %s at %L"
+-msgstr ""
+-
+-#: fortran/arith.c:1986
+-#, no-c-format
+-msgid "Arithmetic overflow converting %s to %s at %L"
+-msgstr ""
+-
+-#: fortran/arith.c:1990
+-#, no-c-format
+-msgid "Arithmetic underflow converting %s to %s at %L"
+-msgstr ""
+-
+-#: fortran/arith.c:1994
+-#, no-c-format
+-msgid "Arithmetic NaN converting %s to %s at %L"
+-msgstr ""
+-
+-#: fortran/arith.c:1998
+-#, fuzzy, no-c-format
+-msgid "Division by zero converting %s to %s at %L"
+-msgstr "ku Zeru in"
+-
+-#: fortran/arith.c:2002
+-#, no-c-format
+-msgid "Array operands are incommensurate converting %s to %s at %L"
+-msgstr ""
+-
+-#: fortran/arith.c:2006
+-#, no-c-format
+-msgid "Integer outside symmetric range implied by Standard Fortran converting %s to %s at %L"
+-msgstr ""
+-
+-#: fortran/arith.c:2347 fortran/arith.c:2383 fortran/arith.c:2421
+-#: fortran/arith.c:2473
+-#, fuzzy, no-c-format
+-msgid "The Hollerith constant at %L is too long to convert to %s"
+-msgstr "ku Oya ku"
+-
+-#: fortran/arith.c:2520
+-#, no-c-format
+-msgid "Enumerator exceeds the C integer type at %C"
+-msgstr ""
+-
+-#: fortran/array.c:97
+-#, fuzzy, no-c-format
+-msgid "Expected array subscript at %C"
+-msgstr "Imbonerahamwe Inyandiko nyesi Ubwoko"
+-
+-#: fortran/array.c:124
+-#, fuzzy, no-c-format
+-msgid "Expected array subscript stride at %C"
+-msgstr "Imbonerahamwe Inyandiko nyesi Ubwoko"
+-
+-#: fortran/array.c:167
+-#, fuzzy, no-c-format
+-msgid "Invalid form of array reference at %C"
+-msgstr "Ikigize: ku kugirango Imbonerahamwe Indango ku"
+-
+-#: fortran/array.c:172
+-#, no-c-format
+-msgid "Array reference at %C cannot have more than %d dimensions"
+-msgstr ""
+-
+-#: fortran/array.c:224
+-#, no-c-format
+-msgid "Variable '%s' at %L in this context must be constant"
+-msgstr ""
+-
+-#: fortran/array.c:300
+-#, no-c-format
+-msgid "Expected expression in array specification at %C"
+-msgstr ""
+-
+-#: fortran/array.c:388
+-#, no-c-format
+-msgid "Bad array specification for an explicitly shaped array at %C"
+-msgstr ""
+-
+-#: fortran/array.c:399
+-#, no-c-format
+-msgid "Bad array specification for assumed shape array at %C"
+-msgstr ""
+-
+-#: fortran/array.c:412
+-#, fuzzy, no-c-format
+-msgid "Bad specification for deferred shape array at %C"
+-msgstr "kugirango ku"
+-
+-#: fortran/array.c:416
+-#, fuzzy, no-c-format
+-msgid "Bad specification for assumed size array at %C"
+-msgstr "kugirango ku"
+-
+-#: fortran/array.c:425
+-#, no-c-format
+-msgid "Expected another dimension in array declaration at %C"
+-msgstr ""
+-
+-#: fortran/array.c:431
+-#, no-c-format
+-msgid "Array specification at %C has more than %d dimensions"
+-msgstr ""
+-
+-#: fortran/array.c:636
+-#, fuzzy, no-c-format
+-msgid "duplicated initializer"
+-msgstr "Sibyo"
+-
+-#: fortran/array.c:729
+-#, no-c-format
+-msgid "DO-iterator '%s' at %L is inside iterator of the same name"
+-msgstr ""
+-
+-#: fortran/array.c:831 fortran/array.c:940
+-#, no-c-format
+-msgid "Syntax error in array constructor at %C"
+-msgstr ""
+-
+-#: fortran/array.c:886
+-#, no-c-format
+-msgid "New in Fortran 2003: [...] style array constructors at %C"
+-msgstr ""
+-
+-#: fortran/array.c:900
+-#, fuzzy, no-c-format
+-msgid "Empty array constructor at %C is not allowed"
+-msgstr "KININI Amabwiriza OYA"
+-
+-#: fortran/array.c:985
+-#, no-c-format
+-msgid "Element in %s array constructor at %L is %s"
+-msgstr ""
+-
+-#: fortran/array.c:1314
+-#, no-c-format
+-msgid "Iterator step at %L cannot be zero"
+-msgstr ""
+-
+-#: fortran/check.c:44
+-#, no-c-format
+-msgid "'%s' argument of '%s' intrinsic at %L must be %s"
+-msgstr ""
+-
+-#: fortran/check.c:60
+-#, no-c-format
+-msgid "'%s' argument of '%s' intrinsic at %L must be a numeric type"
+-msgstr ""
+-
+-#: fortran/check.c:75 fortran/check.c:767 fortran/check.c:777
+-#, no-c-format
+-msgid "'%s' argument of '%s' intrinsic at %L must be INTEGER or REAL"
+-msgstr ""
+-
+-#: fortran/check.c:92
+-#, no-c-format
+-msgid "'%s' argument of '%s' intrinsic at %L must be REAL or COMPLEX"
+-msgstr ""
+-
+-#: fortran/check.c:118
+-#, fuzzy, no-c-format
+-msgid "'%s' argument of '%s' intrinsic at %L must be a constant"
+-msgstr "1. Bya a"
+-
+-#: fortran/check.c:126
+-#, fuzzy, no-c-format
+-msgid "Invalid kind for %s at %L"
+-msgstr "Sibyo Ikurikiranyanyuguti"
+-
+-#: fortran/check.c:146
+-#, no-c-format
+-msgid "'%s' argument of '%s' intrinsic at %L must be double precision"
+-msgstr ""
+-
+-#: fortran/check.c:163
+-#, no-c-format
+-msgid "'%s' argument of '%s' intrinsic at %L must be a logical array"
+-msgstr ""
+-
+-#: fortran/check.c:180
+-#, fuzzy, no-c-format
+-msgid "'%s' argument of '%s' intrinsic at %L must be an array"
+-msgstr "1. Bya a"
+-
+-#: fortran/check.c:195
+-#, fuzzy, no-c-format
+-msgid "'%s' argument of '%s' intrinsic at %L must be a scalar"
+-msgstr "1. Bya a"
+-
+-#: fortran/check.c:210
+-#, no-c-format
+-msgid "'%s' argument of '%s' intrinsic at %L must be the same type and kind as '%s'"
+-msgstr ""
+-
+-#: fortran/check.c:225
+-#, no-c-format
+-msgid "'%s' argument of '%s' intrinsic at %L must be of rank %d"
+-msgstr ""
+-
+-#: fortran/check.c:239
+-#, no-c-format
+-msgid "'%s' argument of '%s' intrinsic at %L must not be OPTIONAL"
+-msgstr ""
+-
+-#: fortran/check.c:259
+-#, no-c-format
+-msgid "'%s' argument of '%s' intrinsic at %L must be of kind %d"
+-msgstr ""
+-
+-#: fortran/check.c:280
+-#, no-c-format
+-msgid "'%s' argument of '%s' intrinsic at %L cannot be INTENT(IN)"
+-msgstr ""
+-
+-#: fortran/check.c:286
+-#, no-c-format
+-msgid "'%s' argument of '%s' intrinsic at %L must be a variable"
+-msgstr ""
+-
+-#: fortran/check.c:303
+-#, no-c-format
+-msgid "Missing DIM parameter in intrinsic '%s' at %L"
+-msgstr ""
+-
+-#: fortran/check.c:343
+-#, no-c-format
+-msgid "'dim' argument of '%s' intrinsic at %L is not a valid dimension index"
+-msgstr ""
+-
+-#: fortran/check.c:387
+-#, no-c-format
+-msgid "transformational intrinsic '%s' at %L is not permitted in an initialization expression"
+-msgstr ""
+-
+-#: fortran/check.c:491 fortran/check.c:1840 fortran/check.c:1855
+-#, no-c-format
+-msgid "'%s' argument of '%s' intrinsic at %L must be ALLOCATABLE"
+-msgstr ""
+-
+-#: fortran/check.c:512 fortran/check.c:3484
+-#, no-c-format
+-msgid "'%s' and '%s' arguments of '%s' intrinsic at %L must have the same type"
+-msgstr ""
+-
+-#: fortran/check.c:521 fortran/check.c:1069 fortran/check.c:1204
+-#: fortran/check.c:1277 fortran/check.c:1508
+-#, no-c-format
+-msgid "Extension: Different type kinds at %L"
+-msgstr ""
+-
+-#: fortran/check.c:551 fortran/check.c:1921
+-#, no-c-format
+-msgid "'%s' argument of '%s' intrinsic at %L must be a POINTER"
+-msgstr ""
+-
+-#: fortran/check.c:571
+-#, no-c-format
+-msgid "'%s' argument of '%s' intrinsic at %L must be a pointer or target VARIABLE or FUNCTION"
+-msgstr ""
+-
+-#: fortran/check.c:579
+-#, no-c-format
+-msgid "'%s' argument of '%s' intrinsic at %L must be a POINTER or a TARGET"
+-msgstr ""
+-
+-#: fortran/check.c:595
+-#, no-c-format
+-msgid "Array section with a vector subscript at %L shall not be the target of a pointer"
+-msgstr ""
+-
+-#: fortran/check.c:606
+-#, no-c-format
+-msgid "NULL pointer at %L is not permitted as actual argument of '%s' intrinsic function"
+-msgstr ""
+-
+-#: fortran/check.c:747 fortran/check.c:855
+-#, no-c-format
+-msgid "'%s' argument of '%s' intrinsic at %L must not be present if 'x' is COMPLEX"
+-msgstr ""
+-
+-#: fortran/check.c:904 fortran/check.c:1588 fortran/check.c:1596
+-#, no-c-format
+-msgid "'%s' argument of '%s' intrinsic at %L must be numeric or LOGICAL"
+-msgstr ""
+-
+-#: fortran/check.c:918
+-#, no-c-format
+-msgid "different shape for arguments '%s' and '%s' at %L for intrinsic 'dot_product'"
+-msgstr ""
+-
+-#: fortran/check.c:1174
+-#, no-c-format
+-msgid "Argument of %s at %L must be of length one"
+-msgstr ""
+-
+-#: fortran/check.c:1226
+-#, no-c-format
+-msgid "'%s' argument of '%s' intrinsic at %L must be the same kind as '%s'"
+-msgstr ""
+-
+-#: fortran/check.c:1357
+-#, no-c-format
+-msgid "'%s' argument of '%s' intrinsic at %L must be a non-derived type"
+-msgstr ""
+-
+-#: fortran/check.c:1480
+-#, fuzzy, no-c-format
+-msgid "Intrinsic '%s' at %L must have at least two arguments"
+-msgstr "`%D'ingingo"
+-
+-#: fortran/check.c:1514
+-#, no-c-format
+-msgid "'a%d' argument of '%s' intrinsic at %L must be %s(%d)"
+-msgstr ""
+-
+-#: fortran/check.c:1539
+-#, no-c-format
+-msgid "'a1' argument of '%s' intrinsic at %L must be INTEGER or REAL"
+-msgstr ""
+-
+-#: fortran/check.c:1610
+-#, no-c-format
+-msgid "different shape on dimension 1 for arguments '%s' and '%s' at %L for intrinsic matmul"
+-msgstr ""
+-
+-#: fortran/check.c:1630
+-#, no-c-format
+-msgid "different shape on dimension 2 for argument '%s' and dimension 1 for argument '%s' at %L for intrinsic matmul"
+-msgstr ""
+-
+-#: fortran/check.c:1639
+-#, no-c-format
+-msgid "'%s' argument of '%s' intrinsic at %L must be of rank 1 or 2"
+-msgstr ""
+-
+-#: fortran/check.c:1866
+-#, no-c-format
+-msgid "the '%s' and '%s' arguments of '%s' intrinsic at %L must have the same rank %d/%d"
+-msgstr ""
+-
+-#: fortran/check.c:1875
+-#, no-c-format
+-msgid "the '%s' and '%s' arguments of '%s' intrinsic at %L must be of the same kind %d/%d"
+-msgstr ""
+-
+-#: fortran/check.c:1971
+-#, no-c-format
+-msgid "'%s' argument of '%s' intrinsic at %L must be of type REAL or COMPLEX"
+-msgstr ""
+-
+-#: fortran/check.c:1992
+-#, no-c-format
+-msgid "'%s' argument of '%s' intrinsic at %L must be of a dummy variable"
+-msgstr ""
+-
+-#: fortran/check.c:2000
+-#, no-c-format
+-msgid "'%s' argument of '%s' intrinsic at %L must be of an OPTIONAL dummy variable"
+-msgstr ""
+-
+-#: fortran/check.c:2016
+-#, no-c-format
+-msgid "'%s' argument of '%s' intrinsic at %L must not be a sub-object of '%s'"
+-msgstr ""
+-
+-#: fortran/check.c:2133
+-#, no-c-format
+-msgid "'shape' argument of 'reshape' intrinsic at %L must be an array of constant size"
+-msgstr ""
+-
+-#: fortran/check.c:2143
+-#, no-c-format
+-msgid "'shape' argument of 'reshape' intrinsic at %L has more than %d elements"
+-msgstr ""
+-
+-#: fortran/check.c:2183
+-#, no-c-format
+-msgid "Without padding, there are not enough elements in the intrinsic RESHAPE source at %L to match the shape"
+-msgstr ""
+-
+-#: fortran/check.c:2263
+-#, fuzzy, no-c-format
+-msgid "Missing arguments to %s intrinsic at %L"
+-msgstr "Ibuze Kuri Ihitamo"
+-
+-#: fortran/check.c:2304
+-#, no-c-format
+-msgid "'source' argument of 'shape' intrinsic at %L must not be an assumed size array"
+-msgstr ""
+-
+-#: fortran/check.c:2366
+-#, fuzzy, no-c-format
+-msgid "'%s' argument of '%s' intrinsic at %L must be less than rank %d"
+-msgstr "Kuri Ikiranga Kinini"
+-
+-#: fortran/check.c:2832 fortran/check.c:2852
+-#, fuzzy, no-c-format
+-msgid "Too many arguments to %s at %L"
+-msgstr "ingingo Kuri"
+-
+-#: fortran/check.c:2980 fortran/check.c:3398 fortran/check.c:3422
+-#, no-c-format
+-msgid "'%s' argument of '%s' intrinsic at %L must be INTEGER or PROCEDURE"
+-msgstr ""
+-
+-#: fortran/check.c:3469 fortran/check.c:3477
+-#, no-c-format
+-msgid "'%s' argument of '%s' intrinsic at %L must be INTEGER or LOGICAL"
+-msgstr ""
+-
+-#: fortran/data.c:63
+-#, fuzzy, no-c-format
+-msgid "non-constant array in DATA statement %L."
+-msgstr "Imbonerahamwe Umubarendanga in"
+-
+-#: fortran/data.c:183
+-#, no-c-format
+-msgid "failure to simplify substring reference in DATAstatement at %L"
+-msgstr ""
+-
+-#: fortran/data.c:204
+-#, fuzzy, no-c-format
+-msgid "initialization string truncated to match variable at %L"
+-msgstr "Gicurasi OYA"
+-
+-#: fortran/data.c:355
+-#, fuzzy, no-c-format
+-msgid "Extension: re-initialization of '%s' at %L"
+-msgstr "Bya"
+-
+-#: fortran/decl.c:223
+-#, no-c-format
+-msgid "Host associated variable '%s' may not be in the DATA statement at %C."
+-msgstr ""
+-
+-#: fortran/decl.c:230
+-#, no-c-format
+-msgid "Extension: initialization of common block variable '%s' in DATA statement at %C"
+-msgstr ""
+-
+-#: fortran/decl.c:316
+-#, no-c-format
+-msgid "Symbol '%s' must be a PARAMETER in DATA statement at %C"
+-msgstr ""
+-
+-#: fortran/decl.c:426
+-#, no-c-format
+-msgid "Initialization at %C is not allowed in a PURE procedure"
+-msgstr ""
+-
+-#: fortran/decl.c:484
+-#, no-c-format
+-msgid "DATA statement at %C is not allowed in a PURE procedure"
+-msgstr ""
+-
+-#: fortran/decl.c:513
+-#, no-c-format
+-msgid "Bad INTENT specification at %C"
+-msgstr ""
+-
+-#: fortran/decl.c:577
+-#, fuzzy, no-c-format
+-msgid "Syntax error in character length specification at %C"
+-msgstr "Ikosa in Uburyo"
+-
+-#: fortran/decl.c:660
+-#, fuzzy, no-c-format
+-msgid "Procedure '%s' at %C is already defined at %L"
+-msgstr "`%D'ni in"
+-
+-#: fortran/decl.c:672
+-#, no-c-format
+-msgid "Procedure '%s' at %C has an explicit interface and must not have attributes declared at %L"
+-msgstr ""
+-
+-#: fortran/decl.c:765
+-#, no-c-format
+-msgid "CHARACTER expression at %L is being truncated (%d/%d)"
+-msgstr ""
+-
+-#: fortran/decl.c:771
+-#, no-c-format
+-msgid "The CHARACTER elements of the array constructor at %L must have the same length (%d/%d)"
+-msgstr ""
+-
+-#: fortran/decl.c:862
+-#, no-c-format
+-msgid "Initializer not allowed for PARAMETER '%s' at %C"
+-msgstr ""
+-
+-#: fortran/decl.c:871
+-#, no-c-format
+-msgid "Initializer not allowed for COMMON variable '%s' at %C"
+-msgstr ""
+-
+-#: fortran/decl.c:881
+-#, fuzzy, no-c-format
+-msgid "PARAMETER at %L is missing an initializer"
+-msgstr "Ibuze"
+-
+-#: fortran/decl.c:892
+-#, no-c-format
+-msgid "Variable '%s' at %C with an initializer already appears in a DATA statement"
+-msgstr ""
+-
+-#: fortran/decl.c:969
+-#, no-c-format
+-msgid "Component at %C must have the POINTER attribute"
+-msgstr ""
+-
+-#: fortran/decl.c:978
+-#, no-c-format
+-msgid "Array component of structure at %C must have explicit or deferred shape"
+-msgstr ""
+-
+-#: fortran/decl.c:1004
+-#, no-c-format
+-msgid "Allocatable component at %C must be an array"
+-msgstr ""
+-
+-#: fortran/decl.c:1015
+-#, no-c-format
+-msgid "Pointer array component of structure at %C must have a deferred shape"
+-msgstr ""
+-
+-#: fortran/decl.c:1024
+-#, no-c-format
+-msgid "Allocatable component of structure at %C must have a deferred shape"
+-msgstr ""
+-
+-#: fortran/decl.c:1034
+-#, no-c-format
+-msgid "Array component of structure at %C must have an explicit shape"
+-msgstr ""
+-
+-#: fortran/decl.c:1060
+-#, no-c-format
+-msgid "NULL() initialization at %C is ambiguous"
+-msgstr ""
+-
+-#: fortran/decl.c:1180 fortran/decl.c:3449
+-#, no-c-format
+-msgid "Duplicate array spec for Cray pointee at %C."
+-msgstr ""
+-
+-#: fortran/decl.c:1233
+-#, no-c-format
+-msgid "the type of '%s' at %C has not been declared within the interface"
+-msgstr ""
+-
+-#: fortran/decl.c:1248
+-#, fuzzy, no-c-format
+-msgid "Function name '%s' not allowed at %C"
+-msgstr "Icyiciro Ikiranga OYA kugirango"
+-
+-#: fortran/decl.c:1264
+-#, no-c-format
+-msgid "Extension: Old-style initialization at %C"
+-msgstr ""
+-
+-#: fortran/decl.c:1280
+-#, no-c-format
+-msgid "Initialization at %C isn't for a pointer variable"
+-msgstr ""
+-
+-#: fortran/decl.c:1288
+-#, no-c-format
+-msgid "Pointer initialization requires a NULL() at %C"
+-msgstr ""
+-
+-#: fortran/decl.c:1295
+-#, no-c-format
+-msgid "Initialization of pointer at %C is not allowed in a PURE procedure"
+-msgstr ""
+-
+-#: fortran/decl.c:1309
+-#, no-c-format
+-msgid "Pointer initialization at %C requires '=>', not '='"
+-msgstr ""
+-
+-#: fortran/decl.c:1317 fortran/decl.c:4165
+-#, fuzzy, no-c-format
+-msgid "Expected an initialization expression at %C"
+-msgstr "Bya Gishya imvugo Na:"
+-
+-#: fortran/decl.c:1324
+-#, no-c-format
+-msgid "Initialization of variable at %C is not allowed in a PURE procedure"
+-msgstr ""
+-
+-#: fortran/decl.c:1337
+-#, no-c-format
+-msgid "Initialization of allocatable component at %C is not allowed"
+-msgstr ""
+-
+-#: fortran/decl.c:1391 fortran/decl.c:1400
+-#, fuzzy, no-c-format
+-msgid "Old-style type declaration %s*%d not supported at %C"
+-msgstr "Bya OYA"
+-
+-#: fortran/decl.c:1405
+-#, fuzzy, no-c-format
+-msgid "Nonstandard type declaration %s*%d at %C"
+-msgstr "Bya"
+-
+-#: fortran/decl.c:1439
+-#, fuzzy, no-c-format
+-msgid "Expected initialization expression at %C"
+-msgstr "Bya Gishya imvugo Na:"
+-
+-#: fortran/decl.c:1445
+-#, fuzzy, no-c-format
+-msgid "Expected scalar initialization expression at %C"
+-msgstr "Bya Gishya imvugo Na:"
+-
+-#: fortran/decl.c:1463
+-#, fuzzy, no-c-format
+-msgid "Kind %d not supported for type %s at %C"
+-msgstr "Ubwoko OYA kugirango"
+-
+-#: fortran/decl.c:1472
+-#, fuzzy, no-c-format
+-msgid "Missing right paren at %C"
+-msgstr "Ibuze Intego Nyuma"
+-
+-#: fortran/decl.c:1561 fortran/decl.c:1604
+-#, no-c-format
+-msgid "Kind %d is not a CHARACTER kind at %C"
+-msgstr ""
+-
+-#: fortran/decl.c:1598
+-#, no-c-format
+-msgid "Syntax error in CHARACTER declaration at %C"
+-msgstr ""
+-
+-#: fortran/decl.c:1659
+-#, no-c-format
+-msgid "Extension: BYTE type at %C"
+-msgstr ""
+-
+-#: fortran/decl.c:1665
+-#, no-c-format
+-msgid "BYTE type used at %C is not available on the target machine"
+-msgstr ""
+-
+-#: fortran/decl.c:1714
+-#, no-c-format
+-msgid "DOUBLE COMPLEX at %C does not conform to the Fortran 95 standard"
+-msgstr ""
+-
+-#: fortran/decl.c:1737
+-#, fuzzy, no-c-format
+-msgid "Type name '%s' at %C is ambiguous"
+-msgstr "Gukoresha Bya ni"
+-
+-#: fortran/decl.c:1803
+-#, no-c-format
+-msgid "Missing character range in IMPLICIT at %C"
+-msgstr ""
+-
+-#: fortran/decl.c:1849
+-#, no-c-format
+-msgid "Letters must be in alphabetic order in IMPLICIT statement at %C"
+-msgstr ""
+-
+-#: fortran/decl.c:1903
+-#, fuzzy, no-c-format
+-msgid "Empty IMPLICIT statement at %C"
+-msgstr "Inyandiko ku"
+-
+-#: fortran/decl.c:2074
+-#, fuzzy, no-c-format
+-msgid "Missing dimension specification at %C"
+-msgstr "in Inyandiko ku"
+-
+-#: fortran/decl.c:2144
+-#, fuzzy, no-c-format
+-msgid "Duplicate %s attribute at %L"
+-msgstr "Gushyiraho Ikiranga Nyuma Insobanuro"
+-
+-#: fortran/decl.c:2163
+-#, no-c-format
+-msgid "In the selected standard, the ALLOCATABLE attribute at %C is not allowed in a TYPE definition"
+-msgstr ""
+-
+-#: fortran/decl.c:2173
+-#, no-c-format
+-msgid "Attribute at %L is not allowed in a TYPE definition"
+-msgstr ""
+-
+-#: fortran/decl.c:2188
+-#, no-c-format
+-msgid "%s attribute at %L is not allowed outside of a MODULE"
+-msgstr ""
+-
+-#. Now we have an error, which we signal, and then fix up
+-#. because the knock-on is plain and simple confusing.
+-#: fortran/decl.c:2326
+-#, no-c-format
+-msgid "Derived type at %C has not been previously defined and so cannot appear in a derived type definition."
+-msgstr ""
+-
+-#: fortran/decl.c:2357
+-#, fuzzy, no-c-format
+-msgid "Syntax error in data declaration at %C"
+-msgstr "Cyangwa Birenzeho Ibyatanzwe in Bya"
+-
+-#: fortran/decl.c:2503
+-#, fuzzy, no-c-format
+-msgid "Name '%s' at %C is the name of the procedure"
+-msgstr "Igenabihe i Gutangira Na Impera Bya i"
+-
+-#: fortran/decl.c:2515
+-#, no-c-format
+-msgid "Unexpected junk in formal argument list at %C"
+-msgstr ""
+-
+-#: fortran/decl.c:2533
+-#, no-c-format
+-msgid "Duplicate symbol '%s' in formal argument list at %C"
+-msgstr ""
+-
+-#: fortran/decl.c:2576
+-#, no-c-format
+-msgid "Unexpected junk following RESULT variable at %C"
+-msgstr ""
+-
+-#: fortran/decl.c:2583
+-#, no-c-format
+-msgid "RESULT variable at %C must be different than function name"
+-msgstr ""
+-
+-#: fortran/decl.c:2639
+-#, no-c-format
+-msgid "Expected formal argument list in function definition at %C"
+-msgstr ""
+-
+-#: fortran/decl.c:2654
+-#, fuzzy, no-c-format
+-msgid "Unexpected junk after function declaration at %C"
+-msgstr "Na: Umumaro"
+-
+-#: fortran/decl.c:2677
+-#, fuzzy, no-c-format
+-msgid "Function '%s' at %C already has a type of %s"
+-msgstr "Kuri iyi UMWIKUBE Bya 2."
+-
+-#: fortran/decl.c:2749
+-#, no-c-format
+-msgid "ENTRY statement at %C cannot appear within a PROGRAM"
+-msgstr ""
+-
+-#: fortran/decl.c:2752
+-#, no-c-format
+-msgid "ENTRY statement at %C cannot appear within a MODULE"
+-msgstr ""
+-
+-#: fortran/decl.c:2756
+-#, no-c-format
+-msgid "ENTRY statement at %C cannot appear within a BLOCK DATA"
+-msgstr ""
+-
+-#: fortran/decl.c:2760
+-#, no-c-format
+-msgid "ENTRY statement at %C cannot appear within an INTERFACE"
+-msgstr ""
+-
+-#: fortran/decl.c:2764
+-#, no-c-format
+-msgid "ENTRY statement at %C cannot appear within a DERIVED TYPE block"
+-msgstr ""
+-
+-#: fortran/decl.c:2769
+-#, no-c-format
+-msgid "ENTRY statement at %C cannot appear within an IF-THEN block"
+-msgstr ""
+-
+-#: fortran/decl.c:2773
+-#, fuzzy, no-c-format
+-msgid "ENTRY statement at %C cannot appear within a DO block"
+-msgstr "Inyandiko ku Sibyo muri a Porogaramu Igice:"
+-
+-#: fortran/decl.c:2777
+-#, no-c-format
+-msgid "ENTRY statement at %C cannot appear within a SELECT block"
+-msgstr ""
+-
+-#: fortran/decl.c:2781
+-#, no-c-format
+-msgid "ENTRY statement at %C cannot appear within a FORALL block"
+-msgstr ""
+-
+-#: fortran/decl.c:2785
+-#, no-c-format
+-msgid "ENTRY statement at %C cannot appear within a WHERE block"
+-msgstr ""
+-
+-#: fortran/decl.c:2789
+-#, fuzzy, no-c-format
+-msgid "ENTRY statement at %C cannot appear within a contained subprogram"
+-msgstr "Inyandiko ku Sibyo muri a Porogaramu Igice:"
+-
+-#: fortran/decl.c:2806
+-#, no-c-format
+-msgid "ENTRY statement at %C cannot appear in a contained procedure"
+-msgstr ""
+-
+-#: fortran/decl.c:3128
+-#, fuzzy, no-c-format
+-msgid "Unexpected END statement at %C"
+-msgstr "Inyandiko ku"
+-
+-#. We would have required END [something]
+-#: fortran/decl.c:3137
+-#, no-c-format
+-msgid "%s statement expected at %L"
+-msgstr ""
+-
+-#: fortran/decl.c:3148
+-#, fuzzy, no-c-format
+-msgid "Expecting %s statement at %C"
+-msgstr "Akitso in Inyandiko ku"
+-
+-#: fortran/decl.c:3162
+-#, no-c-format
+-msgid "Expected block name of '%s' in %s statement at %C"
+-msgstr ""
+-
+-#: fortran/decl.c:3178
+-#, no-c-format
+-msgid "Expected terminating name at %C"
+-msgstr ""
+-
+-#: fortran/decl.c:3187
+-#, fuzzy, no-c-format
+-msgid "Expected label '%s' for %s statement at %C"
+-msgstr "Akarango Insobanuro kugirango Inyandiko ku"
+-
+-#: fortran/decl.c:3242
+-#, fuzzy, no-c-format
+-msgid "Missing array specification at %L in DIMENSION statement"
+-msgstr "in Inyandiko ku"
+-
+-#: fortran/decl.c:3251
+-#, no-c-format
+-msgid "Array specification must be deferred at %L"
+-msgstr ""
+-
+-#: fortran/decl.c:3328
+-#, no-c-format
+-msgid "Unexpected character in variable list at %C"
+-msgstr ""
+-
+-#: fortran/decl.c:3365
+-#, no-c-format
+-msgid "Expected '(' at %C"
+-msgstr ""
+-
+-#: fortran/decl.c:3379 fortran/decl.c:3420
+-#, no-c-format
+-msgid "Expected variable name at %C"
+-msgstr ""
+-
+-#: fortran/decl.c:3395
+-#, fuzzy, no-c-format
+-msgid "Cray pointer at %C must be an integer."
+-msgstr "Ikiranga"
+-
+-#: fortran/decl.c:3399
+-#, no-c-format
+-msgid "Cray pointer at %C has %d bytes of precision; memory addresses require %d bytes."
+-msgstr ""
+-
+-#: fortran/decl.c:3406
+-#, no-c-format
+-msgid "Expected \",\" at %C"
+-msgstr ""
+-
+-#: fortran/decl.c:3469
+-#, no-c-format
+-msgid "Expected \")\" at %C"
+-msgstr ""
+-
+-#: fortran/decl.c:3481
+-#, fuzzy, no-c-format
+-msgid "Expected \",\" or end of statement at %C"
+-msgstr "Inyandiko ku"
+-
+-#: fortran/decl.c:3546
+-#, no-c-format
+-msgid "Cray pointer declaration at %C requires -fcray-pointer flag."
+-msgstr ""
+-
+-#: fortran/decl.c:3644
+-#, no-c-format
+-msgid "Access specification of the %s operator at %C has already been specified"
+-msgstr ""
+-
+-#: fortran/decl.c:3662
+-#, no-c-format
+-msgid "Access specification of the .%s. operator at %C has already been specified"
+-msgstr ""
+-
+-#: fortran/decl.c:3749
+-#, no-c-format
+-msgid "Expected variable name at %C in PARAMETER statement"
+-msgstr ""
+-
+-#: fortran/decl.c:3756
+-#, fuzzy, no-c-format
+-msgid "Expected = sign in PARAMETER statement at %C"
+-msgstr "IKIMENYETSO in Inyandiko ku"
+-
+-#: fortran/decl.c:3762
+-#, no-c-format
+-msgid "Expected expression at %C in PARAMETER statement"
+-msgstr ""
+-
+-#: fortran/decl.c:3820
+-#, fuzzy, no-c-format
+-msgid "Unexpected characters in PARAMETER statement at %C"
+-msgstr "Akitso in Inyandiko ku"
+-
+-#: fortran/decl.c:3845
+-#, no-c-format
+-msgid "Blanket SAVE statement at %C follows previous SAVE statement"
+-msgstr ""
+-
+-#: fortran/decl.c:3858
+-#, no-c-format
+-msgid "SAVE statement at %C follows blanket SAVE statement"
+-msgstr ""
+-
+-#: fortran/decl.c:3904
+-#, fuzzy, no-c-format
+-msgid "Syntax error in SAVE statement at %C"
+-msgstr "Umubare in Inyandiko ku"
+-
+-#: fortran/decl.c:3925
+-#, no-c-format
+-msgid "MODULE PROCEDURE at %C must be in a generic module interface"
+-msgstr ""
+-
+-#: fortran/decl.c:3987
+-#, no-c-format
+-msgid "Derived type at %C can only be PRIVATE within a MODULE"
+-msgstr ""
+-
+-#: fortran/decl.c:4000
+-#, no-c-format
+-msgid "Derived type at %C can only be PUBLIC within a MODULE"
+-msgstr ""
+-
+-#: fortran/decl.c:4011
+-#, no-c-format
+-msgid "Expected :: in TYPE definition at %C"
+-msgstr ""
+-
+-#: fortran/decl.c:4028
+-#, fuzzy, no-c-format
+-msgid "Type name '%s' at %C cannot be the same as an intrinsic type"
+-msgstr "Izina: ku OYA i Nka Izina: ku"
+-
+-#: fortran/decl.c:4038
+-#, no-c-format
+-msgid "Derived type name '%s' at %C already has a basic type of %s"
+-msgstr ""
+-
+-#: fortran/decl.c:4055
+-#, no-c-format
+-msgid "Derived type definition of '%s' at %C has already been defined"
+-msgstr ""
+-
+-#: fortran/decl.c:4089
+-#, no-c-format
+-msgid "Cray Pointee at %C cannot be assumed shape array"
+-msgstr ""
+-
+-#: fortran/decl.c:4110
+-#, no-c-format
+-msgid "New in Fortran 2003: ENUM and ENUMERATOR at %C"
+-msgstr ""
+-
+-#: fortran/decl.c:4182
+-#, no-c-format
+-msgid "ENUMERATOR %L not initialized with integer expression"
+-msgstr ""
+-
+-#: fortran/decl.c:4231
+-#, fuzzy, no-c-format
+-msgid "ENUM definition statement expected before %C"
+-msgstr "Ubwoko Izina: Ikitezwe: Mbere"
+-
+-#: fortran/decl.c:4264
+-#, no-c-format
+-msgid "Syntax error in ENUMERATOR definition at %C"
+-msgstr ""
+-
+-#: fortran/dump-parse-tree.c:48
+-#, c-format
+-msgid "%-5d "
+-msgstr ""
+-
+-# desktop/source\app\ssodlg.src:DLG_SSOLOGIN.text
+-#: fortran/dump-parse-tree.c:50
+-#, fuzzy, c-format
+-msgid " "
+-msgstr "`%D'"
+-
+-# basctl/source\basicide\basidesh.src:RID_IMGBTN_REMOVEWATCH.text
+-#: fortran/dump-parse-tree.c:74 fortran/dump-parse-tree.c:604
+-#, fuzzy, c-format
+-msgid "(%s "
+-msgstr "%s"
+-
+-#: fortran/dump-parse-tree.c:87 fortran/dump-parse-tree.c:1048
+-#: fortran/dump-parse-tree.c:1091 fortran/dump-parse-tree.c:1101
+-#, c-format
+-msgid "%d"
+-msgstr ""
+-
+-#: fortran/dump-parse-tree.c:91 fortran/dump-parse-tree.c:118
+-#: fortran/dump-parse-tree.c:161 fortran/dump-parse-tree.c:408
+-#: fortran/dump-parse-tree.c:503 fortran/dump-parse-tree.c:591
+-#: fortran/dump-parse-tree.c:612
+-#, c-format
+-msgid ")"
+-msgstr ""
+-
+-#: fortran/dump-parse-tree.c:101 fortran/dump-parse-tree.c:426
+-#, c-format
+-msgid "("
+-msgstr ""
+-
+-# basctl/source\basicide\basidesh.src:RID_IMGBTN_REMOVEWATCH.text
+-#: fortran/dump-parse-tree.c:107
+-#, fuzzy, c-format
+-msgid "%s = "
+-msgstr "%s"
+-
+-#: fortran/dump-parse-tree.c:111
+-#, c-format
+-msgid "(arg not-present)"
+-msgstr ""
+-
+-#: fortran/dump-parse-tree.c:115 fortran/dump-parse-tree.c:402
+-#: fortran/dump-parse-tree.c:499
+-#, c-format
+-msgid " "
+-msgstr ""
+-
+-#: fortran/dump-parse-tree.c:132 fortran/dump-parse-tree.c:307
+-#, c-format
+-msgid "()"
+-msgstr ""
+-
+-#: fortran/dump-parse-tree.c:136
+-#, c-format
+-msgid "(%d"
+-msgstr ""
+-
+-# basctl/source\basicide\basidesh.src:RID_IMGBTN_REMOVEWATCH.text
+-#: fortran/dump-parse-tree.c:150
+-#, fuzzy, c-format
+-msgid " %s "
+-msgstr "%s"
+-
+-#: fortran/dump-parse-tree.c:177
+-#, c-format
+-msgid "FULL"
+-msgstr ""
+-
+-#: fortran/dump-parse-tree.c:208 fortran/dump-parse-tree.c:217
+-#: fortran/dump-parse-tree.c:292
+-#, c-format
+-msgid " , "
+-msgstr ""
+-
+-#: fortran/dump-parse-tree.c:222
+-#, c-format
+-msgid "UNKNOWN"
+-msgstr ""
+-
+-# basctl/source\basicide\basidesh.src:RID_IMGBTN_REMOVEWATCH.text
+-#: fortran/dump-parse-tree.c:247
+-#, fuzzy, c-format
+-msgid " %% %s"
+-msgstr "%s"
+-
+-#: fortran/dump-parse-tree.c:319 fortran/dump-parse-tree.c:386
+-#, c-format
+-msgid "''"
+-msgstr ""
+-
+-#: fortran/dump-parse-tree.c:321
+-#, c-format
+-msgid "%c"
+-msgstr ""
+-
+-# basctl/source\basicide\basidesh.src:RID_IMGBTN_REMOVEWATCH.text
+-#: fortran/dump-parse-tree.c:328
+-#, fuzzy, c-format
+-msgid "%s("
+-msgstr "%s"
+-
+-#: fortran/dump-parse-tree.c:334
+-#, c-format
+-msgid "(/ "
+-msgstr ""
+-
+-#: fortran/dump-parse-tree.c:336
+-#, c-format
+-msgid " /)"
+-msgstr ""
+-
+-#: fortran/dump-parse-tree.c:342
+-#, c-format
+-msgid "NULL()"
+-msgstr ""
+-
+-#: fortran/dump-parse-tree.c:348
+-#, c-format
+-msgid "%dH"
+-msgstr ""
+-
+-#: fortran/dump-parse-tree.c:362 fortran/dump-parse-tree.c:375
+-#: fortran/dump-parse-tree.c:400 fortran/dump-parse-tree.c:406
+-#, c-format
+-msgid "_%d"
+-msgstr ""
+-
+-#: fortran/dump-parse-tree.c:367
+-#, c-format
+-msgid ".true."
+-msgstr ""
+-
+-#: fortran/dump-parse-tree.c:369
+-#, c-format
+-msgid ".false."
+-msgstr ""
+-
+-#: fortran/dump-parse-tree.c:396
+-#, c-format
+-msgid "(complex "
+-msgstr ""
+-
+-#: fortran/dump-parse-tree.c:412
+-#, c-format
+-msgid "???"
+-msgstr ""
+-
+-# basctl/source\basicide\basidesh.src:RID_IMGBTN_REMOVEWATCH.text
+-#: fortran/dump-parse-tree.c:420 fortran/dump-parse-tree.c:708
+-#, fuzzy, c-format
+-msgid "%s:"
+-msgstr "%s"
+-
+-#: fortran/dump-parse-tree.c:430
+-#, c-format
+-msgid "U+ "
+-msgstr ""
+-
+-#: fortran/dump-parse-tree.c:433
+-#, c-format
+-msgid "U- "
+-msgstr ""
+-
+-#: fortran/dump-parse-tree.c:436
+-#, c-format
+-msgid "+ "
+-msgstr ""
+-
+-#: fortran/dump-parse-tree.c:439
+-#, c-format
+-msgid "- "
+-msgstr ""
+-
+-#: fortran/dump-parse-tree.c:442
+-#, c-format
+-msgid "* "
+-msgstr ""
+-
+-#: fortran/dump-parse-tree.c:445
+-#, c-format
+-msgid "/ "
+-msgstr ""
+-
+-#: fortran/dump-parse-tree.c:448
+-#, c-format
+-msgid "** "
+-msgstr ""
+-
+-#: fortran/dump-parse-tree.c:451
+-#, c-format
+-msgid "// "
+-msgstr ""
+-
+-#: fortran/dump-parse-tree.c:454
+-#, c-format
+-msgid "AND "
+-msgstr ""
+-
+-#: fortran/dump-parse-tree.c:457
+-#, c-format
+-msgid "OR "
+-msgstr ""
+-
+-#: fortran/dump-parse-tree.c:460
+-#, c-format
+-msgid "EQV "
+-msgstr ""
+-
+-#: fortran/dump-parse-tree.c:463
+-#, c-format
+-msgid "NEQV "
+-msgstr ""
+-
+-#: fortran/dump-parse-tree.c:466
+-#, c-format
+-msgid "= "
+-msgstr ""
+-
+-#: fortran/dump-parse-tree.c:469
+-#, c-format
+-msgid "<> "
+-msgstr ""
+-
+-#: fortran/dump-parse-tree.c:472
+-#, c-format
+-msgid "> "
+-msgstr ""
+-
+-#: fortran/dump-parse-tree.c:475
+-#, c-format
+-msgid ">= "
+-msgstr ""
+-
+-#: fortran/dump-parse-tree.c:478
+-#, c-format
+-msgid "< "
+-msgstr ""
+-
+-#: fortran/dump-parse-tree.c:481
+-#, c-format
+-msgid "<= "
+-msgstr ""
+-
+-#: fortran/dump-parse-tree.c:484
+-#, c-format
+-msgid "NOT "
+-msgstr ""
+-
+-# sfx2/source\appl\minbox.src:RID_MAIL_INBOX.BTN_MAILINBOX_OPEN.text
+-#: fortran/dump-parse-tree.c:487
+-#, fuzzy, c-format
+-msgid "parens"
+-msgstr "Gufungura..."
+-
+-# basctl/source\basicide\basidesh.src:RID_IMGBTN_REMOVEWATCH.text
+-#: fortran/dump-parse-tree.c:509
+-#, fuzzy, c-format
+-msgid "%s["
+-msgstr "%s"
+-
+-# basctl/source\basicide\basidesh.src:RID_IMGBTN_REMOVEWATCH.text
+-#: fortran/dump-parse-tree.c:515
+-#, fuzzy, c-format
+-msgid "%s[["
+-msgstr "%s"
+-
+-#: fortran/dump-parse-tree.c:536
+-#, fuzzy, c-format
+-msgid "(%s %s %s %s"
+-msgstr "%sOya"
+-
+-#: fortran/dump-parse-tree.c:542
+-#, c-format
+-msgid " ALLOCATABLE"
+-msgstr ""
+-
+-#: fortran/dump-parse-tree.c:544 fortran/dump-parse-tree.c:609
+-#, c-format
+-msgid " DIMENSION"
+-msgstr ""
+-
+-#: fortran/dump-parse-tree.c:546
+-#, c-format
+-msgid " EXTERNAL"
+-msgstr ""
+-
+-#: fortran/dump-parse-tree.c:548
+-#, c-format
+-msgid " INTRINSIC"
+-msgstr ""
+-
+-#: fortran/dump-parse-tree.c:550
+-#, c-format
+-msgid " OPTIONAL"
+-msgstr ""
+-
+-#: fortran/dump-parse-tree.c:552 fortran/dump-parse-tree.c:607
+-#, c-format
+-msgid " POINTER"
+-msgstr ""
+-
+-#: fortran/dump-parse-tree.c:554
+-#, c-format
+-msgid " SAVE"
+-msgstr ""
+-
+-#: fortran/dump-parse-tree.c:556
+-#, c-format
+-msgid " THREADPRIVATE"
+-msgstr ""
+-
+-#: fortran/dump-parse-tree.c:558
+-#, c-format
+-msgid " TARGET"
+-msgstr ""
+-
+-#: fortran/dump-parse-tree.c:560
+-#, c-format
+-msgid " DUMMY"
+-msgstr ""
+-
+-#: fortran/dump-parse-tree.c:562
+-#, c-format
+-msgid " RESULT"
+-msgstr ""
+-
+-#: fortran/dump-parse-tree.c:564
+-#, c-format
+-msgid " ENTRY"
+-msgstr ""
+-
+-#: fortran/dump-parse-tree.c:567
+-#, c-format
+-msgid " DATA"
+-msgstr ""
+-
+-#: fortran/dump-parse-tree.c:569
+-#, c-format
+-msgid " USE-ASSOC"
+-msgstr ""
+-
+-#: fortran/dump-parse-tree.c:571
+-#, c-format
+-msgid " IN-NAMELIST"
+-msgstr ""
+-
+-#: fortran/dump-parse-tree.c:573
+-#, c-format
+-msgid " IN-COMMON"
+-msgstr ""
+-
+-#: fortran/dump-parse-tree.c:576
+-#, c-format
+-msgid " FUNCTION"
+-msgstr ""
+-
+-#: fortran/dump-parse-tree.c:578
+-#, c-format
+-msgid " SUBROUTINE"
+-msgstr ""
+-
+-#: fortran/dump-parse-tree.c:580
+-#, c-format
+-msgid " IMPLICIT-TYPE"
+-msgstr ""
+-
+-#: fortran/dump-parse-tree.c:583
+-#, c-format
+-msgid " SEQUENCE"
+-msgstr ""
+-
+-#: fortran/dump-parse-tree.c:585
+-#, c-format
+-msgid " ELEMENTAL"
+-msgstr ""
+-
+-#: fortran/dump-parse-tree.c:587
+-#, c-format
+-msgid " PURE"
+-msgstr ""
+-
+-#: fortran/dump-parse-tree.c:589
+-#, c-format
+-msgid " RECURSIVE"
+-msgstr ""
+-
+-#: fortran/dump-parse-tree.c:635
+-#, c-format
+-msgid "symbol %s "
+-msgstr ""
+-
+-#: fortran/dump-parse-tree.c:642
+-#, c-format
+-msgid "value: "
+-msgstr ""
+-
+-#: fortran/dump-parse-tree.c:649
+-#, c-format
+-msgid "Array spec:"
+-msgstr ""
+-
+-#: fortran/dump-parse-tree.c:656
+-#, fuzzy, c-format
+-msgid "Generic interfaces:"
+-msgstr "i"
+-
+-# basctl/source\basicide\basidesh.src:RID_IMGBTN_REMOVEWATCH.text
+-#: fortran/dump-parse-tree.c:658 fortran/dump-parse-tree.c:682
+-#: fortran/dump-parse-tree.c:711 fortran/dump-parse-tree.c:1254
+-#: fortran/dump-parse-tree.c:1260 fortran/dump-parse-tree.c:1762
+-#, fuzzy, c-format
+-msgid " %s"
+-msgstr "%s"
+-
+-# desktop/source\app\ssodlg.src:DLG_SSOLOGIN.text
+-#: fortran/dump-parse-tree.c:664
+-#, fuzzy, c-format
+-msgid "result: %s"
+-msgstr "%s:%s"
+-
+-#: fortran/dump-parse-tree.c:670
+-#, c-format
+-msgid "components: "
+-msgstr ""
+-
+-#: fortran/dump-parse-tree.c:677
+-#, c-format
+-msgid "Formal arglist:"
+-msgstr ""
+-
+-#: fortran/dump-parse-tree.c:684
+-#, c-format
+-msgid " [Alt Return]"
+-msgstr ""
+-
+-#: fortran/dump-parse-tree.c:691
+-#, fuzzy, c-format
+-msgid "Formal namespace"
+-msgstr "`%D'ni a"
+-
+-#: fortran/dump-parse-tree.c:749
+-#, c-format
+-msgid "common: /%s/ "
+-msgstr ""
+-
+-#: fortran/dump-parse-tree.c:757 fortran/dump-parse-tree.c:1698
+-#, c-format
+-msgid ", "
+-msgstr ""
+-
+-#: fortran/dump-parse-tree.c:770
+-#, c-format
+-msgid "symtree: %s Ambig %d"
+-msgstr ""
+-
+-#: fortran/dump-parse-tree.c:773
+-#, fuzzy, c-format
+-msgid " from namespace %s"
+-msgstr "Kitazwi"
+-
+-# basctl/source\basicide\basidesh.src:RID_IMGBTN_REMOVEWATCH.text
+-#: fortran/dump-parse-tree.c:800
+-#, fuzzy, c-format
+-msgid "%s,"
+-msgstr "%s"
+-
+-#: fortran/dump-parse-tree.c:832
+-#, c-format
+-msgid "!$OMP %s"
+-msgstr ""
+-
+-# basctl/source\basicide\basidesh.src:RID_IMGBTN_REMOVEWATCH.text
+-#: fortran/dump-parse-tree.c:847 fortran/dump-parse-tree.c:990
+-#, fuzzy, c-format
+-msgid " (%s)"
+-msgstr "%s"
+-
+-#: fortran/dump-parse-tree.c:852
+-#, c-format
+-msgid " ("
+-msgstr ""
+-
+-#: fortran/dump-parse-tree.c:868
+-#, c-format
+-msgid " IF("
+-msgstr ""
+-
+-#: fortran/dump-parse-tree.c:874
+-#, c-format
+-msgid " NUM_THREADS("
+-msgstr ""
+-
+-#: fortran/dump-parse-tree.c:890
+-#, c-format
+-msgid " SCHEDULE (%s"
+-msgstr ""
+-
+-#: fortran/dump-parse-tree.c:910
+-#, c-format
+-msgid " DEFAULT(%s)"
+-msgstr ""
+-
+-#: fortran/dump-parse-tree.c:913
+-#, c-format
+-msgid " ORDERED"
+-msgstr ""
+-
+-#: fortran/dump-parse-tree.c:938
+-#, c-format
+-msgid " REDUCTION(%s:"
+-msgstr ""
+-
+-# basctl/source\basicide\basidesh.src:RID_IMGBTN_REMOVEWATCH.text
+-#: fortran/dump-parse-tree.c:952
+-#, fuzzy, c-format
+-msgid " %s("
+-msgstr "%s"
+-
+-#: fortran/dump-parse-tree.c:968
+-#, c-format
+-msgid "!$OMP SECTION\n"
+-msgstr ""
+-
+-#: fortran/dump-parse-tree.c:977
+-#, c-format
+-msgid "!$OMP END %s"
+-msgstr ""
+-
+-#: fortran/dump-parse-tree.c:982
+-#, c-format
+-msgid " COPYPRIVATE("
+-msgstr ""
+-
+-#: fortran/dump-parse-tree.c:987
+-#, c-format
+-msgid " NOWAIT"
+-msgstr ""
+-
+-#: fortran/dump-parse-tree.c:1013
+-#, c-format
+-msgid "NOP"
+-msgstr ""
+-
+-#: fortran/dump-parse-tree.c:1017
+-#, c-format
+-msgid "CONTINUE"
+-msgstr ""
+-
+-#: fortran/dump-parse-tree.c:1021
+-#, c-format
+-msgid "ENTRY %s"
+-msgstr ""
+-
+-#: fortran/dump-parse-tree.c:1026
+-#, c-format
+-msgid "ASSIGN "
+-msgstr ""
+-
+-#: fortran/dump-parse-tree.c:1033
+-#, c-format
+-msgid "LABEL ASSIGN "
+-msgstr ""
+-
+-# basctl/source\basicide\basidesh.src:RID_IMGBTN_REMOVEWATCH.text
+-#: fortran/dump-parse-tree.c:1035
+-#, fuzzy, c-format
+-msgid " %d"
+-msgstr "%s"
+-
+-#: fortran/dump-parse-tree.c:1039
+-#, c-format
+-msgid "POINTER ASSIGN "
+-msgstr ""
+-
+-#: fortran/dump-parse-tree.c:1046
+-#, c-format
+-msgid "GOTO "
+-msgstr ""
+-
+-#: fortran/dump-parse-tree.c:1055
+-#, c-format
+-msgid ", ("
+-msgstr ""
+-
+-#: fortran/dump-parse-tree.c:1070 fortran/dump-parse-tree.c:1072
+-#, c-format
+-msgid "CALL %s "
+-msgstr ""
+-
+-#: fortran/dump-parse-tree.c:1074
+-#, c-format
+-msgid "CALL ?? "
+-msgstr ""
+-
+-#: fortran/dump-parse-tree.c:1080
+-#, c-format
+-msgid "RETURN "
+-msgstr ""
+-
+-#: fortran/dump-parse-tree.c:1086
+-#, c-format
+-msgid "PAUSE "
+-msgstr ""
+-
+-#: fortran/dump-parse-tree.c:1096
+-#, c-format
+-msgid "STOP "
+-msgstr ""
+-
+-#: fortran/dump-parse-tree.c:1106 fortran/dump-parse-tree.c:1114
+-#, c-format
+-msgid "IF "
+-msgstr ""
+-
+-#: fortran/dump-parse-tree.c:1108
+-#, c-format
+-msgid " %d, %d, %d"
+-msgstr ""
+-
+-#: fortran/dump-parse-tree.c:1125
+-#, c-format
+-msgid "ELSE\n"
+-msgstr ""
+-
+-#: fortran/dump-parse-tree.c:1128
+-#, c-format
+-msgid "ELSE IF "
+-msgstr ""
+-
+-#: fortran/dump-parse-tree.c:1138
+-#, c-format
+-msgid "ENDIF"
+-msgstr ""
+-
+-#: fortran/dump-parse-tree.c:1143
+-#, c-format
+-msgid "SELECT CASE "
+-msgstr ""
+-
+-#: fortran/dump-parse-tree.c:1151
+-#, c-format
+-msgid "CASE "
+-msgstr ""
+-
+-#: fortran/dump-parse-tree.c:1167
+-#, c-format
+-msgid "END SELECT"
+-msgstr ""
+-
+-#: fortran/dump-parse-tree.c:1171
+-#, c-format
+-msgid "WHERE "
+-msgstr ""
+-
+-#: fortran/dump-parse-tree.c:1182
+-#, c-format
+-msgid "ELSE WHERE "
+-msgstr ""
+-
+-#: fortran/dump-parse-tree.c:1189
+-#, c-format
+-msgid "END WHERE"
+-msgstr ""
+-
+-#: fortran/dump-parse-tree.c:1194
+-#, c-format
+-msgid "FORALL "
+-msgstr ""
+-
+-#: fortran/dump-parse-tree.c:1219
+-#, c-format
+-msgid "END FORALL"
+-msgstr ""
+-
+-#: fortran/dump-parse-tree.c:1223
+-#, c-format
+-msgid "DO "
+-msgstr ""
+-
+-#: fortran/dump-parse-tree.c:1237 fortran/dump-parse-tree.c:1248
+-#, c-format
+-msgid "END DO"
+-msgstr ""
+-
+-#: fortran/dump-parse-tree.c:1241
+-#, c-format
+-msgid "DO WHILE "
+-msgstr ""
+-
+-#: fortran/dump-parse-tree.c:1252
+-#, c-format
+-msgid "CYCLE"
+-msgstr ""
+-
+-#: fortran/dump-parse-tree.c:1258
+-#, c-format
+-msgid "EXIT"
+-msgstr ""
+-
+-#: fortran/dump-parse-tree.c:1264
+-#, c-format
+-msgid "ALLOCATE "
+-msgstr ""
+-
+-#: fortran/dump-parse-tree.c:1267 fortran/dump-parse-tree.c:1283
+-#, c-format
+-msgid " STAT="
+-msgstr ""
+-
+-#: fortran/dump-parse-tree.c:1280
+-#, c-format
+-msgid "DEALLOCATE "
+-msgstr ""
+-
+-#: fortran/dump-parse-tree.c:1296
+-#, c-format
+-msgid "OPEN"
+-msgstr ""
+-
+-#: fortran/dump-parse-tree.c:1301 fortran/dump-parse-tree.c:1380
+-#: fortran/dump-parse-tree.c:1422 fortran/dump-parse-tree.c:1445
+-#: fortran/dump-parse-tree.c:1597
+-#, c-format
+-msgid " UNIT="
+-msgstr ""
+-
+-#: fortran/dump-parse-tree.c:1306 fortran/dump-parse-tree.c:1385
+-#: fortran/dump-parse-tree.c:1427 fortran/dump-parse-tree.c:1456
+-#: fortran/dump-parse-tree.c:1614
+-#, c-format
+-msgid " IOMSG="
+-msgstr ""
+-
+-#: fortran/dump-parse-tree.c:1311 fortran/dump-parse-tree.c:1390
+-#: fortran/dump-parse-tree.c:1432 fortran/dump-parse-tree.c:1461
+-#: fortran/dump-parse-tree.c:1619
+-#, c-format
+-msgid " IOSTAT="
+-msgstr ""
+-
+-#: fortran/dump-parse-tree.c:1316 fortran/dump-parse-tree.c:1450
+-#, c-format
+-msgid " FILE="
+-msgstr ""
+-
+-#: fortran/dump-parse-tree.c:1321 fortran/dump-parse-tree.c:1395
+-#, c-format
+-msgid " STATUS="
+-msgstr ""
+-
+-#: fortran/dump-parse-tree.c:1326 fortran/dump-parse-tree.c:1491
+-#, c-format
+-msgid " ACCESS="
+-msgstr ""
+-
+-#: fortran/dump-parse-tree.c:1331 fortran/dump-parse-tree.c:1507
+-#, c-format
+-msgid " FORM="
+-msgstr ""
+-
+-#: fortran/dump-parse-tree.c:1336 fortran/dump-parse-tree.c:1522
+-#, c-format
+-msgid " RECL="
+-msgstr ""
+-
+-#: fortran/dump-parse-tree.c:1341 fortran/dump-parse-tree.c:1532
+-#, c-format
+-msgid " BLANK="
+-msgstr ""
+-
+-#: fortran/dump-parse-tree.c:1346 fortran/dump-parse-tree.c:1537
+-#, c-format
+-msgid " POSITION="
+-msgstr ""
+-
+-#: fortran/dump-parse-tree.c:1351 fortran/dump-parse-tree.c:1542
+-#, c-format
+-msgid " ACTION="
+-msgstr ""
+-
+-#: fortran/dump-parse-tree.c:1356 fortran/dump-parse-tree.c:1562
+-#, c-format
+-msgid " DELIM="
+-msgstr ""
+-
+-#: fortran/dump-parse-tree.c:1361 fortran/dump-parse-tree.c:1567
+-#, c-format
+-msgid " PAD="
+-msgstr ""
+-
+-#: fortran/dump-parse-tree.c:1366 fortran/dump-parse-tree.c:1572
+-#, c-format
+-msgid " CONVERT="
+-msgstr ""
+-
+-#: fortran/dump-parse-tree.c:1370 fortran/dump-parse-tree.c:1399
+-#: fortran/dump-parse-tree.c:1436 fortran/dump-parse-tree.c:1577
+-#: fortran/dump-parse-tree.c:1654
+-#, c-format
+-msgid " ERR=%d"
+-msgstr ""
+-
+-#: fortran/dump-parse-tree.c:1375
+-#, c-format
+-msgid "CLOSE"
+-msgstr ""
+-
+-#: fortran/dump-parse-tree.c:1403
+-#, c-format
+-msgid "BACKSPACE"
+-msgstr ""
+-
+-#: fortran/dump-parse-tree.c:1407
+-#, c-format
+-msgid "ENDFILE"
+-msgstr ""
+-
+-#: fortran/dump-parse-tree.c:1411
+-#, c-format
+-msgid "REWIND"
+-msgstr ""
+-
+-#: fortran/dump-parse-tree.c:1415
+-#, c-format
+-msgid "FLUSH"
+-msgstr ""
+-
+-#: fortran/dump-parse-tree.c:1440
+-#, c-format
+-msgid "INQUIRE"
+-msgstr ""
+-
+-#: fortran/dump-parse-tree.c:1466
+-#, c-format
+-msgid " EXIST="
+-msgstr ""
+-
+-#: fortran/dump-parse-tree.c:1471
+-#, c-format
+-msgid " OPENED="
+-msgstr ""
+-
+-#: fortran/dump-parse-tree.c:1476
+-#, c-format
+-msgid " NUMBER="
+-msgstr ""
+-
+-#: fortran/dump-parse-tree.c:1481
+-#, c-format
+-msgid " NAMED="
+-msgstr ""
+-
+-#: fortran/dump-parse-tree.c:1486
+-#, c-format
+-msgid " NAME="
+-msgstr ""
+-
+-#: fortran/dump-parse-tree.c:1496
+-#, c-format
+-msgid " SEQUENTIAL="
+-msgstr ""
+-
+-#: fortran/dump-parse-tree.c:1502
+-#, c-format
+-msgid " DIRECT="
+-msgstr ""
+-
+-#: fortran/dump-parse-tree.c:1512
+-#, c-format
+-msgid " FORMATTED"
+-msgstr ""
+-
+-#: fortran/dump-parse-tree.c:1517
+-#, c-format
+-msgid " UNFORMATTED="
+-msgstr ""
+-
+-#: fortran/dump-parse-tree.c:1527
+-#, c-format
+-msgid " NEXTREC="
+-msgstr ""
+-
+-#: fortran/dump-parse-tree.c:1547
+-#, c-format
+-msgid " READ="
+-msgstr ""
+-
+-#: fortran/dump-parse-tree.c:1552
+-#, c-format
+-msgid " WRITE="
+-msgstr ""
+-
+-#: fortran/dump-parse-tree.c:1557
+-#, c-format
+-msgid " READWRITE="
+-msgstr ""
+-
+-#: fortran/dump-parse-tree.c:1581
+-#, c-format
+-msgid "IOLENGTH "
+-msgstr ""
+-
+-#: fortran/dump-parse-tree.c:1587
+-#, c-format
+-msgid "READ"
+-msgstr ""
+-
+-#: fortran/dump-parse-tree.c:1591
+-#, c-format
+-msgid "WRITE"
+-msgstr ""
+-
+-#: fortran/dump-parse-tree.c:1603
+-#, c-format
+-msgid " FMT="
+-msgstr ""
+-
+-#: fortran/dump-parse-tree.c:1608
+-#, c-format
+-msgid " FMT=%d"
+-msgstr ""
+-
+-# basctl/source\basicide\basidesh.src:RID_IMGBTN_REMOVEWATCH.text
+-#: fortran/dump-parse-tree.c:1610
+-#, fuzzy, c-format
+-msgid " NML=%s"
+-msgstr "%s"
+-
+-#: fortran/dump-parse-tree.c:1624
+-#, c-format
+-msgid " SIZE="
+-msgstr ""
+-
+-#: fortran/dump-parse-tree.c:1629
+-#, c-format
+-msgid " REC="
+-msgstr ""
+-
+-#: fortran/dump-parse-tree.c:1634
+-#, c-format
+-msgid " ADVANCE="
+-msgstr ""
+-
+-#: fortran/dump-parse-tree.c:1645
+-#, c-format
+-msgid "TRANSFER "
+-msgstr ""
+-
+-#: fortran/dump-parse-tree.c:1650
+-#, c-format
+-msgid "DT_END"
+-msgstr ""
+-
+-#: fortran/dump-parse-tree.c:1656
+-#, c-format
+-msgid " END=%d"
+-msgstr ""
+-
+-#: fortran/dump-parse-tree.c:1658
+-#, c-format
+-msgid " EOR=%d"
+-msgstr ""
+-
+-#: fortran/dump-parse-tree.c:1692
+-#, c-format
+-msgid "Equivalence: "
+-msgstr ""
+-
+-#: fortran/dump-parse-tree.c:1718
+-#, c-format
+-msgid "Namespace:"
+-msgstr ""
+-
+-#: fortran/dump-parse-tree.c:1732
+-#, c-format
+-msgid " %c-%c: "
+-msgstr ""
+-
+-#: fortran/dump-parse-tree.c:1734
+-#, fuzzy, c-format
+-msgid " %c: "
+-msgstr "%s:%s:"
+-
+-#: fortran/dump-parse-tree.c:1743
+-#, c-format
+-msgid "procedure name = %s"
+-msgstr ""
+-
+-#: fortran/dump-parse-tree.c:1759
+-#, fuzzy, c-format
+-msgid "Operator interfaces for %s:"
+-msgstr "kugirango"
+-
+-#: fortran/dump-parse-tree.c:1768
+-#, fuzzy, c-format
+-msgid "User operators:\n"
+-msgstr "Mukoresha"
+-
+-#: fortran/dump-parse-tree.c:1784
+-#, c-format
+-msgid "CONTAINS\n"
+-msgstr ""
+-
+-#: fortran/error.c:206
+-#, fuzzy, no-c-format
+-msgid " Included at %s:%d:"
+-msgstr "IDOSIYE Bivuye"
+-
+-#: fortran/error.c:317
+-#, fuzzy, no-c-format
+-msgid "<During initialization>\n"
+-msgstr "Gusubiramo Bya"
+-
+-#: fortran/error.c:606
+-#, no-c-format
+-msgid "Error count reached limit of %d."
+-msgstr ""
+-
+-#: fortran/error.c:625 fortran/error.c:677 fortran/error.c:712
+-#, fuzzy
+-msgid "Warning:"
+-msgstr "Iburira!"
+-
+-#: fortran/error.c:679 fortran/error.c:760 fortran/error.c:786
+-msgid "Error:"
+-msgstr ""
+-
+-#: fortran/error.c:810
+-#, fuzzy
+-msgid "Fatal Error:"
+-msgstr "Ikosa ry'imbere"
+-
+-#: fortran/error.c:829
+-#, fuzzy, no-c-format
+-msgid "Internal Error at (1):"
+-msgstr "Ikosa ry'imbere"
+-
+-#: fortran/expr.c:258
+-#, c-format
+-msgid "Constant expression required at %C"
+-msgstr ""
+-
+-#: fortran/expr.c:261
+-#, c-format
+-msgid "Integer expression required at %C"
+-msgstr ""
+-
+-#: fortran/expr.c:266
+-#, fuzzy, c-format
+-msgid "Integer value too large in expression at %C"
+-msgstr "Umubare wuzuye Byarenze urugero in imvugo"
+-
+-#: fortran/expr.c:937 fortran/expr.c:1094 fortran/expr.c:1145
+-#, no-c-format
+-msgid "index in dimension %d is out of bounds at %L"
+-msgstr ""
+-
+-#: fortran/expr.c:1605
+-#, no-c-format
+-msgid "Numeric or CHARACTER operands are required in expression at %L"
+-msgstr ""
+-
+-#: fortran/expr.c:1625
+-#, no-c-format
+-msgid "Exponent at %L must be INTEGER for an initialization expression"
+-msgstr ""
+-
+-#: fortran/expr.c:1638
+-#, no-c-format
+-msgid "Concatenation operator in expression at %L must have two CHARACTER operands"
+-msgstr ""
+-
+-#: fortran/expr.c:1645
+-#, no-c-format
+-msgid "Concat operator at %L must concatenate strings of the same kind"
+-msgstr ""
+-
+-#: fortran/expr.c:1655
+-#, no-c-format
+-msgid ".NOT. operator in expression at %L must have a LOGICAL operand"
+-msgstr ""
+-
+-#: fortran/expr.c:1671
+-#, no-c-format
+-msgid "LOGICAL operands are required in expression at %L"
+-msgstr ""
+-
+-#: fortran/expr.c:1682
+-#, fuzzy, no-c-format
+-msgid "Only intrinsic operators can be used in expression at %L"
+-msgstr "kugirango Mukoresha ku ku Impera Bya imvugo ku"
+-
+-#: fortran/expr.c:1690
+-#, fuzzy, no-c-format
+-msgid "Numeric operands are required in expression at %L"
+-msgstr "kugirango Mukoresha ku ku Impera Bya imvugo ku"
+-
+-#: fortran/expr.c:1754
+-#, no-c-format
+-msgid "assumed character length variable '%s' in constant expression at %L"
+-msgstr ""
+-
+-#: fortran/expr.c:1807
+-#, no-c-format
+-msgid "Function '%s' in initialization expression at %L must be an intrinsic function"
+-msgstr ""
+-
+-#: fortran/expr.c:1832
+-#, no-c-format
+-msgid "Parameter '%s' at %L has not been declared or is a variable, which does not reduce to a constant expression"
+-msgstr ""
+-
+-#: fortran/expr.c:1918
+-#, fuzzy, no-c-format
+-msgid "Initialization expression didn't reduce %C"
+-msgstr "Bya Gishya imvugo Na:"
+-
+-#: fortran/expr.c:1962
+-#, fuzzy, no-c-format
+-msgid "Specification function '%s' at %L cannot be a statement function"
+-msgstr "Umumaro"
+-
+-#: fortran/expr.c:1969
+-#, fuzzy, no-c-format
+-msgid "Specification function '%s' at %L cannot be an internal function"
+-msgstr "in Umumaro Nka Umumaro"
+-
+-#: fortran/expr.c:1976
+-#, no-c-format
+-msgid "Specification function '%s' at %L must be PURE"
+-msgstr ""
+-
+-#: fortran/expr.c:1983
+-#, no-c-format
+-msgid "Specification function '%s' at %L cannot be RECURSIVE"
+-msgstr ""
+-
+-#: fortran/expr.c:2040
+-#, no-c-format
+-msgid "Dummy argument '%s' at %L cannot be OPTIONAL"
+-msgstr ""
+-
+-#: fortran/expr.c:2047
+-#, no-c-format
+-msgid "Dummy argument '%s' at %L cannot be INTENT(OUT)"
+-msgstr ""
+-
+-#: fortran/expr.c:2068
+-#, no-c-format
+-msgid "Variable '%s' cannot appear in the expression at %L"
+-msgstr ""
+-
+-#: fortran/expr.c:2116
+-#, no-c-format
+-msgid "Expression at %L must be of INTEGER type"
+-msgstr ""
+-
+-#: fortran/expr.c:2122
+-#, no-c-format
+-msgid "Expression at %L must be scalar"
+-msgstr ""
+-
+-#: fortran/expr.c:2150
+-#, fuzzy, no-c-format
+-msgid "Incompatible ranks in %s at %L"
+-msgstr "in"
+-
+-#: fortran/expr.c:2164
+-#, no-c-format
+-msgid "different shape for %s at %L on dimension %d (%d/%d)"
+-msgstr ""
+-
+-#: fortran/expr.c:2197
+-#, no-c-format
+-msgid "Can't assign to INTENT(IN) variable '%s' at %L"
+-msgstr ""
+-
+-#: fortran/expr.c:2241
+-#, no-c-format
+-msgid "'%s' at %L is not a VALUE"
+-msgstr ""
+-
+-#: fortran/expr.c:2248
+-#, fuzzy, no-c-format
+-msgid "Incompatible ranks %d and %d in assignment at %L"
+-msgstr "in Igenera Bya Kuri"
+-
+-#: fortran/expr.c:2255
+-#, fuzzy, no-c-format
+-msgid "Variable type is UNKNOWN in assignment at %L"
+-msgstr "in Igenera Bya Kuri"
+-
+-#: fortran/expr.c:2262
+-#, no-c-format
+-msgid "NULL appears on right-hand side in assignment at %L"
+-msgstr ""
+-
+-#: fortran/expr.c:2272
+-#, no-c-format
+-msgid "Vector assignment to assumed-size Cray Pointee at %L is illegal."
+-msgstr ""
+-
+-#: fortran/expr.c:2281
+-#, no-c-format
+-msgid "POINTER valued function appears on right-hand side of assignment at %L"
+-msgstr ""
+-
+-#: fortran/expr.c:2286
+-#, fuzzy
+-msgid "Array assignment"
+-msgstr "Igenera"
+-
+-#: fortran/expr.c:2303
+-#, fuzzy, no-c-format
+-msgid "Incompatible types in assignment at %L, %s to %s"
+-msgstr "in Igenera Bya Kuri"
+-
+-#: fortran/expr.c:2326
+-#, no-c-format
+-msgid "Pointer assignment target is not a POINTER at %L"
+-msgstr ""
+-
+-#: fortran/expr.c:2334
+-#, no-c-format
+-msgid "'%s' in the pointer assignment at %L cannot be an l-value since it is a procedure"
+-msgstr ""
+-
+-#: fortran/expr.c:2343
+-#, no-c-format
+-msgid "Pointer assignment to non-POINTER at %L"
+-msgstr ""
+-
+-#: fortran/expr.c:2351
+-#, no-c-format
+-msgid "Bad pointer object in PURE procedure at %L"
+-msgstr ""
+-
+-#: fortran/expr.c:2364
+-#, no-c-format
+-msgid "Different types in pointer assignment at %L"
+-msgstr ""
+-
+-#: fortran/expr.c:2371
+-#, no-c-format
+-msgid "Different kind type parameters in pointer assignment at %L"
+-msgstr ""
+-
+-#: fortran/expr.c:2378
+-#, no-c-format
+-msgid "Different ranks in pointer assignment at %L"
+-msgstr ""
+-
+-#: fortran/expr.c:2392
+-#, no-c-format
+-msgid "Different character lengths in pointer assignment at %L"
+-msgstr ""
+-
+-#: fortran/expr.c:2400
+-#, no-c-format
+-msgid "Pointer assignment target is neither TARGET nor POINTER at %L"
+-msgstr ""
+-
+-#: fortran/expr.c:2407
+-#, no-c-format
+-msgid "Bad target in pointer assignment in PURE procedure at %L"
+-msgstr ""
+-
+-#: fortran/expr.c:2413
+-#, no-c-format
+-msgid "Pointer assignment with vector subscript on rhs at %L"
+-msgstr ""
+-
+-#: fortran/gfortranspec.c:230
+-#, fuzzy, c-format
+-msgid "overflowed output arg list for '%s'"
+-msgstr "Ibisohoka Urutonde kugirango"
+-
+-#: fortran/gfortranspec.c:350
+-#, c-format
+-msgid ""
+-"GNU Fortran comes with NO WARRANTY, to the extent permitted by law.\n"
+-"You may redistribute copies of GNU Fortran\n"
+-"under the terms of the GNU General Public License.\n"
+-"For more information about these matters, see the file named COPYING\n"
+-"\n"
+-msgstr ""
+-
+-#: fortran/gfortranspec.c:372
+-#, fuzzy, c-format
+-msgid "argument to '%s' missing"
+-msgstr "Kuri Ibuze"
+-
+-#: fortran/gfortranspec.c:376
+-#, fuzzy, c-format
+-msgid "no input files; unwilling to write output files"
+-msgstr "Oya Iyinjiza Idosiye Kuri Kwandika Ibisohoka Idosiye"
+-
+-#: fortran/gfortranspec.c:528
+-#, fuzzy, c-format
+-msgid "Driving:"
+-msgstr "Iburira!"
+-
+-#: fortran/interface.c:175
+-#, fuzzy, no-c-format
+-msgid "Syntax error in generic specification at %C"
+-msgstr "Ikosa in Uburyo"
+-
+-#: fortran/interface.c:204
+-#, fuzzy, no-c-format
+-msgid "Syntax error: Trailing garbage in INTERFACE statement at %C"
+-msgstr "Umwandiko Umubare in Inyandiko ku"
+-
+-#: fortran/interface.c:222
+-#, no-c-format
+-msgid "Dummy procedure '%s' at %C cannot have a generic interface"
+-msgstr ""
+-
+-#: fortran/interface.c:269
+-#, no-c-format
+-msgid "Syntax error: Trailing garbage in END INTERFACE statement at %C"
+-msgstr ""
+-
+-#: fortran/interface.c:280
+-#, fuzzy, no-c-format
+-msgid "Expected a nameless interface at %C"
+-msgstr "Ikitezwe: a ishuri Inyandikorugero"
+-
+-#: fortran/interface.c:291
+-#, no-c-format
+-msgid "Expected 'END INTERFACE ASSIGNMENT (=)' at %C"
+-msgstr ""
+-
+-#: fortran/interface.c:293
+-#, no-c-format
+-msgid "Expecting 'END INTERFACE OPERATOR (%s)' at %C"
+-msgstr ""
+-
+-#: fortran/interface.c:307
+-#, no-c-format
+-msgid "Expecting 'END INTERFACE OPERATOR (.%s.)' at %C"
+-msgstr ""
+-
+-#: fortran/interface.c:318
+-#, no-c-format
+-msgid "Expecting 'END INTERFACE %s' at %C"
+-msgstr ""
+-
+-#: fortran/interface.c:513
+-#, no-c-format
+-msgid "Alternate return cannot appear in operator interface at %L"
+-msgstr ""
+-
+-#: fortran/interface.c:540
+-#, no-c-format
+-msgid "Assignment operator interface at %L must be a SUBROUTINE"
+-msgstr ""
+-
+-#: fortran/interface.c:547
+-#, no-c-format
+-msgid "Assignment operator interface at %L must have two arguments"
+-msgstr ""
+-
+-#: fortran/interface.c:558
+-#, no-c-format
+-msgid "Assignment operator interface at %L must not redefine an INTRINSIC type assignment"
+-msgstr ""
+-
+-#: fortran/interface.c:567
+-#, no-c-format
+-msgid "Intrinsic operator interface at %L must be a FUNCTION"
+-msgstr ""
+-
+-#: fortran/interface.c:654
+-#, no-c-format
+-msgid "First argument of defined assignment at %L must be INTENT(IN) or INTENT(INOUT)"
+-msgstr ""
+-
+-#: fortran/interface.c:658
+-#, no-c-format
+-msgid "Second argument of defined assignment at %L must be INTENT(IN)"
+-msgstr ""
+-
+-#: fortran/interface.c:664 fortran/resolve.c:7191
+-#, no-c-format
+-msgid "First argument of operator interface at %L must be INTENT(IN)"
+-msgstr ""
+-
+-#: fortran/interface.c:668 fortran/resolve.c:7203
+-#, no-c-format
+-msgid "Second argument of operator interface at %L must be INTENT(IN)"
+-msgstr ""
+-
+-#: fortran/interface.c:675
+-#, no-c-format
+-msgid "Operator interface at %L conflicts with intrinsic interface"
+-msgstr ""
+-
+-#: fortran/interface.c:680
+-#, no-c-format
+-msgid "Operator interface at %L has the wrong number of arguments"
+-msgstr ""
+-
+-#: fortran/interface.c:929
+-#, no-c-format
+-msgid "Procedure '%s' in %s at %L is neither function nor subroutine"
+-msgstr ""
+-
+-#: fortran/interface.c:986 fortran/interface.c:992
+-#, no-c-format
+-msgid "Ambiguous interfaces '%s' and '%s' in %s at %L"
+-msgstr ""
+-
+-#: fortran/interface.c:1028
+-#, no-c-format
+-msgid "MODULE PROCEDURE '%s' at %L does not come from a module"
+-msgstr ""
+-
+-#: fortran/interface.c:1274
+-#, no-c-format
+-msgid "Keyword argument '%s' at %L is not in the procedure"
+-msgstr ""
+-
+-#: fortran/interface.c:1283
+-#, no-c-format
+-msgid "Keyword argument '%s' at %L is already associated with another actual argument"
+-msgstr ""
+-
+-#: fortran/interface.c:1293
+-#, no-c-format
+-msgid "More actual than formal arguments in procedure call at %L"
+-msgstr ""
+-
+-#: fortran/interface.c:1306 fortran/interface.c:1418
+-#, no-c-format
+-msgid "Missing alternate return spec in subroutine call at %L"
+-msgstr ""
+-
+-#: fortran/interface.c:1315
+-#, no-c-format
+-msgid "Unexpected alternate return spec in subroutine call at %L"
+-msgstr ""
+-
+-#: fortran/interface.c:1330
+-#, no-c-format
+-msgid "Type/rank mismatch in argument '%s' at %L"
+-msgstr ""
+-
+-#: fortran/interface.c:1342
+-#, no-c-format
+-msgid "Expected a procedure for argument '%s' at %L"
+-msgstr ""
+-
+-#: fortran/interface.c:1353
+-#, no-c-format
+-msgid "Expected a PURE procedure for argument '%s' at %L"
+-msgstr ""
+-
+-#: fortran/interface.c:1368
+-#, no-c-format
+-msgid "Actual argument for '%s' cannot be an assumed-size array at %L"
+-msgstr ""
+-
+-#: fortran/interface.c:1377
+-#, fuzzy, no-c-format
+-msgid "Actual argument for '%s' must be a pointer at %L"
+-msgstr "Kuri a 2. Bitashizweho umukono"
+-
+-#: fortran/interface.c:1386
+-#, no-c-format
+-msgid "Actual argument for '%s' must be ALLOCATABLE at %L"
+-msgstr ""
+-
+-#: fortran/interface.c:1397
+-#, no-c-format
+-msgid "Actual argument at %L must be definable to match dummy INTENT = OUT/INOUT"
+-msgstr ""
+-
+-#: fortran/interface.c:1425
+-#, no-c-format
+-msgid "Missing actual argument for argument '%s' at %L"
+-msgstr ""
+-
+-#: fortran/interface.c:1610
+-#, no-c-format
+-msgid "Same actual argument associated with INTENT(%s) argument '%s' and INTENT(%s) argument '%s' at %L"
+-msgstr ""
+-
+-#: fortran/interface.c:1651
+-#, no-c-format
+-msgid "Procedure argument at %L is INTENT(IN) while interface specifies INTENT(%s)"
+-msgstr ""
+-
+-#: fortran/interface.c:1662
+-#, no-c-format
+-msgid "Procedure argument at %L is local to a PURE procedure and is passed to an INTENT(%s) argument"
+-msgstr ""
+-
+-#: fortran/interface.c:1671
+-#, no-c-format
+-msgid "Procedure argument at %L is local to a PURE procedure and has the POINTER attribute"
+-msgstr ""
+-
+-#: fortran/interface.c:1693
+-#, no-c-format
+-msgid "Procedure '%s' called with an implicit interface at %L"
+-msgstr ""
+-
+-#: fortran/interface.c:1860
+-#, no-c-format
+-msgid "Function '%s' called in lieu of an operator at %L must be PURE"
+-msgstr ""
+-
+-#: fortran/interface.c:1940
+-#, no-c-format
+-msgid "Entity '%s' at %C is already present in the interface"
+-msgstr ""
+-
+-#: fortran/intrinsic.c:2853
+-#, fuzzy, no-c-format
+-msgid "Too many arguments in call to '%s' at %L"
+-msgstr "ingingo Kuri"
+-
+-#: fortran/intrinsic.c:2868
+-#, fuzzy, no-c-format
+-msgid "Argument list function at %L is not allowed in this context"
+-msgstr "ku Sibyo in iyi Imvugiro"
+-
+-#: fortran/intrinsic.c:2871
+-#, no-c-format
+-msgid "Can't find keyword named '%s' in call to '%s' at %L"
+-msgstr ""
+-
+-#: fortran/intrinsic.c:2878
+-#, no-c-format
+-msgid "Argument '%s' is appears twice in call to '%s' at %L"
+-msgstr ""
+-
+-#: fortran/intrinsic.c:2892
+-#, no-c-format
+-msgid "Missing actual argument '%s' in call to '%s' at %L"
+-msgstr ""
+-
+-#: fortran/intrinsic.c:2907
+-#, no-c-format
+-msgid "ALTERNATE RETURN not permitted at %L"
+-msgstr ""
+-
+-#: fortran/intrinsic.c:2957
+-#, no-c-format
+-msgid "Type of argument '%s' in call to '%s' at %L should be %s, not %s"
+-msgstr ""
+-
+-#: fortran/intrinsic.c:3261
+-#, no-c-format
+-msgid "Ranks of arguments to elemental intrinsic '%s' differ at %L"
+-msgstr ""
+-
+-#: fortran/intrinsic.c:3307
+-#, no-c-format
+-msgid "Intrinsic '%s' at %L is not included in the selected standard"
+-msgstr ""
+-
+-#: fortran/intrinsic.c:3409
+-#, no-c-format
+-msgid "Extension: Evaluation of nonstandard initialization expression at %L"
+-msgstr ""
+-
+-#: fortran/intrinsic.c:3469
+-#, no-c-format
+-msgid "Subroutine call to intrinsic '%s' at %L is not PURE"
+-msgstr ""
+-
+-#: fortran/intrinsic.c:3544
+-#, fuzzy, no-c-format
+-msgid "Extension: Conversion from %s to %s at %L"
+-msgstr "Sibyo Ihindurangero Bivuye Kuri"
+-
+-#: fortran/intrinsic.c:3547
+-#, fuzzy, no-c-format
+-msgid "Conversion from %s to %s at %L"
+-msgstr "Ihindurangero Bivuye Kuri"
+-
+-#: fortran/intrinsic.c:3595
+-#, fuzzy, no-c-format
+-msgid "Can't convert %s to %s at %L"
+-msgstr "GUHINDURA Kuri in"
+-
+-#: fortran/io.c:180 fortran/primary.c:771
+-#, no-c-format
+-msgid "Extension: backslash character at %C"
+-msgstr ""
+-
+-#: fortran/io.c:458
+-#, fuzzy
+-msgid "Positive width required"
+-msgstr "Bya ngombwa"
+-
+-#: fortran/io.c:459
+-#, fuzzy
+-msgid "Nonnegative width required"
+-msgstr "Ubugari in Umwanya"
+-
+-#: fortran/io.c:460
+-#, fuzzy
+-msgid "Unexpected element"
+-msgstr "Ikitezwe: Ububiko"
+-
+-#: fortran/io.c:461
+-#, fuzzy
+-msgid "Unexpected end of format string"
+-msgstr "Imiterere Ikurikiranyanyuguti"
+-
+-#: fortran/io.c:478
+-#, fuzzy
+-msgid "Missing leading left parenthesis"
+-msgstr "Ibuze Gufungura"
+-
+-#: fortran/io.c:516
+-msgid "Expected P edit descriptor"
+-msgstr ""
+-
+-#. P requires a prior number.
+-#: fortran/io.c:524
+-msgid "P descriptor requires leading scale factor"
+-msgstr ""
+-
+-#. X requires a prior number if we're being pedantic.
+-#: fortran/io.c:529
+-#, no-c-format
+-msgid "Extension: X descriptor requires leading space count at %C"
+-msgstr ""
+-
+-#: fortran/io.c:549
+-#, no-c-format
+-msgid "Extension: $ descriptor at %C"
+-msgstr ""
+-
+-#: fortran/io.c:554
+-#, no-c-format
+-msgid "$ should be the last specifier in format at %C"
+-msgstr ""
+-
+-#: fortran/io.c:599
+-msgid "Repeat count cannot follow P descriptor"
+-msgstr ""
+-
+-#: fortran/io.c:618
+-#, no-c-format
+-msgid "Extension: Missing positive width after L descriptor at %C"
+-msgstr ""
+-
+-#: fortran/io.c:657 fortran/io.c:659 fortran/io.c:705 fortran/io.c:707
+-#, fuzzy, no-c-format
+-msgid "Period required in format specifier at %C"
+-msgstr "Imiterere"
+-
+-#: fortran/io.c:685
+-msgid "Positive exponent width required"
+-msgstr ""
+-
+-#: fortran/io.c:791 fortran/io.c:844
+-#, no-c-format
+-msgid "Extension: Missing comma at %C"
+-msgstr ""
+-
+-#: fortran/io.c:859 fortran/io.c:862
+-#, fuzzy, no-c-format
+-msgid "%s in format string at %C"
+-msgstr "%sImiterere"
+-
+-#: fortran/io.c:903
+-#, no-c-format
+-msgid "Format statement in module main block at %C."
+-msgstr ""
+-
+-#: fortran/io.c:909
+-#, fuzzy, no-c-format
+-msgid "Missing format label at %C"
+-msgstr "Ijambo"
+-
+-#: fortran/io.c:967 fortran/io.c:991
+-#, fuzzy, no-c-format
+-msgid "Duplicate %s specification at %C"
+-msgstr "Nyuma Ibanjirije in"
+-
+-#: fortran/io.c:998
+-#, no-c-format
+-msgid "Variable tag cannot be INTENT(IN) at %C"
+-msgstr ""
+-
+-#: fortran/io.c:1005
+-#, no-c-format
+-msgid "Variable tag cannot be assigned in PURE procedure at %C"
+-msgstr ""
+-
+-#: fortran/io.c:1042
+-#, fuzzy, no-c-format
+-msgid "Duplicate %s label specification at %C"
+-msgstr "Gusubiramo Akarango"
+-
+-#: fortran/io.c:1068
+-#, fuzzy, no-c-format
+-msgid "%s tag at %L must be of type %s"
+-msgstr "`%D'ni OYA a Bya Ubwoko"
+-
+-#: fortran/io.c:1079
+-#, no-c-format
+-msgid "Constant expression in FORMAT tag at %L must be of type default CHARACTER"
+-msgstr ""
+-
+-#: fortran/io.c:1092
+-#, no-c-format
+-msgid "%s tag at %L must be of type %s or %s"
+-msgstr ""
+-
+-#: fortran/io.c:1100
+-#, no-c-format
+-msgid "Obsolete: ASSIGNED variable in FORMAT tag at %L"
+-msgstr ""
+-
+-#: fortran/io.c:1105
+-#, no-c-format
+-msgid "Variable '%s' at %L has not been assigned a format label"
+-msgstr ""
+-
+-#: fortran/io.c:1112
+-#, no-c-format
+-msgid "scalar '%s' FORMAT tag at %L is not an ASSIGNED variable"
+-msgstr ""
+-
+-#: fortran/io.c:1127
+-#, no-c-format
+-msgid "Extension: Character array in FORMAT tag at %L"
+-msgstr ""
+-
+-#: fortran/io.c:1134
+-#, fuzzy, no-c-format
+-msgid "Extension: Non-character in FORMAT tag at %L"
+-msgstr "Akitso in Inyandiko ku"
+-
+-#: fortran/io.c:1145
+-#, no-c-format
+-msgid "%s tag at %L must be scalar"
+-msgstr ""
+-
+-#: fortran/io.c:1151
+-#, no-c-format
+-msgid "Fortran 2003: IOMSG tag at %L"
+-msgstr ""
+-
+-#: fortran/io.c:1158
+-#, no-c-format
+-msgid "Fortran 95 requires default INTEGER in IOSTAT tag at %L"
+-msgstr ""
+-
+-#: fortran/io.c:1166
+-#, no-c-format
+-msgid "Fortran 95 requires default INTEGER in SIZE tag at %L"
+-msgstr ""
+-
+-#: fortran/io.c:1174
+-#, no-c-format
+-msgid "Extension: CONVERT tag at %L"
+-msgstr ""
+-
+-#: fortran/io.c:1333 fortran/io.c:1341
+-#, fuzzy, no-c-format
+-msgid "Fortran 2003: %s specifier in %s statement at %C has value '%s'"
+-msgstr "in Inyandiko ku"
+-
+-#: fortran/io.c:1359 fortran/io.c:1367
+-#, fuzzy, no-c-format
+-msgid "Extension: %s specifier in %s statement at %C has value '%s'"
+-msgstr "in Inyandiko ku"
+-
+-#: fortran/io.c:1379 fortran/io.c:1385
+-#, fuzzy, no-c-format
+-msgid "%s specifier in %s statement at %C has invalid value '%s'"
+-msgstr "in Inyandiko ku"
+-
+-#: fortran/io.c:1438
+-#, no-c-format
+-msgid "OPEN statement not allowed in PURE procedure at %C"
+-msgstr ""
+-
+-#: fortran/io.c:1781
+-#, no-c-format
+-msgid "CLOSE statement not allowed in PURE procedure at %C"
+-msgstr ""
+-
+-#: fortran/io.c:1920 fortran/match.c:1493
+-#, no-c-format
+-msgid "%s statement not allowed in PURE procedure at %C"
+-msgstr ""
+-
+-#: fortran/io.c:1980
+-#, no-c-format
+-msgid "Fortran 2003: FLUSH statement at %C"
+-msgstr ""
+-
+-#: fortran/io.c:2040
+-#, no-c-format
+-msgid "Duplicate UNIT specification at %C"
+-msgstr ""
+-
+-#: fortran/io.c:2096
+-#, fuzzy, no-c-format
+-msgid "Duplicate format specification at %C"
+-msgstr "Ikosa in Uburyo"
+-
+-#: fortran/io.c:2113
+-#, no-c-format
+-msgid "Symbol '%s' in namelist '%s' is INTENT(IN) at %C"
+-msgstr ""
+-
+-#: fortran/io.c:2149
+-#, fuzzy, no-c-format
+-msgid "Duplicate NML specification at %C"
+-msgstr "Gusubiramo Bya"
+-
+-#: fortran/io.c:2158
+-#, no-c-format
+-msgid "Symbol '%s' at %C must be a NAMELIST group name"
+-msgstr ""
+-
+-#: fortran/io.c:2199
+-#, no-c-format
+-msgid "END tag at %C not allowed in output statement"
+-msgstr ""
+-
+-#: fortran/io.c:2260
+-#, no-c-format
+-msgid "UNIT specification at %L must be an INTEGER expression or a CHARACTER variable"
+-msgstr ""
+-
+-#: fortran/io.c:2269
+-#, no-c-format
+-msgid "Internal unit with vector subscript at %L"
+-msgstr ""
+-
+-#: fortran/io.c:2277
+-#, no-c-format
+-msgid "External IO UNIT cannot be an array at %L"
+-msgstr ""
+-
+-#: fortran/io.c:2287
+-#, fuzzy, no-c-format
+-msgid "ERR tag label %d at %L not defined"
+-msgstr "Akarango OYA"
+-
+-#: fortran/io.c:2299
+-#, fuzzy, no-c-format
+-msgid "END tag label %d at %L not defined"
+-msgstr "Akarango OYA"
+-
+-#: fortran/io.c:2311
+-#, fuzzy, no-c-format
+-msgid "EOR tag label %d at %L not defined"
+-msgstr "Akarango OYA"
+-
+-#: fortran/io.c:2321
+-#, fuzzy, no-c-format
+-msgid "FORMAT label %d at %L not defined"
+-msgstr "Akarango OYA"
+-
+-#: fortran/io.c:2442
+-#, no-c-format
+-msgid "Syntax error in I/O iterator at %C"
+-msgstr ""
+-
+-#: fortran/io.c:2473
+-#, fuzzy, no-c-format
+-msgid "Expected variable in READ statement at %C"
+-msgstr "Akitso in Inyandiko ku"
+-
+-#: fortran/io.c:2479
+-#, fuzzy, no-c-format
+-msgid "Expected expression in %s statement at %C"
+-msgstr "imvugo Inyandiko"
+-
+-#: fortran/io.c:2490
+-#, no-c-format
+-msgid "Variable '%s' in input list at %C cannot be INTENT(IN)"
+-msgstr ""
+-
+-#: fortran/io.c:2499
+-#, no-c-format
+-msgid "Cannot read to variable '%s' in PURE procedure at %C"
+-msgstr ""
+-
+-#: fortran/io.c:2516
+-#, no-c-format
+-msgid "Cannot write to internal file unit '%s' at %C inside a PURE procedure"
+-msgstr ""
+-
+-#. A general purpose syntax error.
+-#: fortran/io.c:2576 fortran/io.c:2977 fortran/gfortran.h:1809
+-#, fuzzy, no-c-format
+-msgid "Syntax error in %s statement at %C"
+-msgstr "Ikosa ku"
+-
+-#: fortran/io.c:2804
+-#, no-c-format
+-msgid "PRINT namelist at %C is an extension"
+-msgstr ""
+-
+-#: fortran/io.c:2938
+-#, no-c-format
+-msgid "Extension: Comma before output item list at %C is an extension"
+-msgstr ""
+-
+-#: fortran/io.c:2947
+-#, fuzzy, no-c-format
+-msgid "Expected comma in I/O list at %C"
+-msgstr "Akitso in Inyandiko ku"
+-
+-#: fortran/io.c:3009
+-#, fuzzy, no-c-format
+-msgid "PRINT statement at %C not allowed within PURE procedure"
+-msgstr "Inyandiko ku Sibyo muri a Porogaramu Igice:"
+-
+-#: fortran/io.c:3150 fortran/io.c:3201
+-#, no-c-format
+-msgid "INQUIRE statement not allowed in PURE procedure at %C"
+-msgstr ""
+-
+-#: fortran/io.c:3177
+-#, no-c-format
+-msgid "IOLENGTH tag invalid in INQUIRE statement at %C"
+-msgstr ""
+-
+-#: fortran/io.c:3187
+-#, no-c-format
+-msgid "INQUIRE statement at %L cannot contain both FILE and UNIT specifiers"
+-msgstr ""
+-
+-#: fortran/io.c:3194
+-#, no-c-format
+-msgid "INQUIRE statement at %L requires either FILE or UNIT specifier"
+-msgstr ""
+-
+-#: fortran/match.c:181
+-#, fuzzy, no-c-format
+-msgid "Integer too large at %C"
+-msgstr "ku Binini"
+-
+-#: fortran/match.c:242 fortran/parse.c:431
+-#, no-c-format
+-msgid "Too many digits in statement label at %C"
+-msgstr ""
+-
+-#: fortran/match.c:248
+-#, no-c-format
+-msgid "Statement label at %C is zero"
+-msgstr ""
+-
+-#: fortran/match.c:281
+-#, fuzzy, no-c-format
+-msgid "Label name '%s' at %C is ambiguous"
+-msgstr "Gukoresha Bya ni"
+-
+-#: fortran/match.c:287
+-#, fuzzy, no-c-format
+-msgid "Duplicate construct label '%s' at %C"
+-msgstr "Gusubiramo Akarango"
+-
+-#: fortran/match.c:413
+-#, no-c-format
+-msgid "Name at %C is too long"
+-msgstr ""
+-
+-#: fortran/match.c:530
+-#, no-c-format
+-msgid "Loop variable at %C cannot be a sub-component"
+-msgstr ""
+-
+-#: fortran/match.c:536
+-#, no-c-format
+-msgid "Loop variable '%s' at %C cannot be INTENT(IN)"
+-msgstr ""
+-
+-#: fortran/match.c:567
+-#, no-c-format
+-msgid "Expected a step value in iterator at %C"
+-msgstr ""
+-
+-#: fortran/match.c:579
+-#, no-c-format
+-msgid "Syntax error in iterator at %C"
+-msgstr ""
+-
+-#: fortran/match.c:815
+-#, fuzzy, no-c-format
+-msgid "Invalid form of PROGRAM statement at %C"
+-msgstr "Akitso in Inyandiko ku"
+-
+-#: fortran/match.c:935 fortran/match.c:1011
+-#, no-c-format
+-msgid "Obsolescent: arithmetic IF statement at %C"
+-msgstr ""
+-
+-#: fortran/match.c:982
+-#, fuzzy, no-c-format
+-msgid "Syntax error in IF-expression at %C"
+-msgstr "Umubare wuzuye Byarenze urugero in imvugo"
+-
+-#: fortran/match.c:994
+-#, no-c-format
+-msgid "Block label not appropriate for arithmetic IF statement at %C"
+-msgstr ""
+-
+-#: fortran/match.c:1036
+-#, fuzzy, no-c-format
+-msgid "Block label is not appropriate IF statement at %C"
+-msgstr "Akarango Insobanuro kugirango Inyandiko ku"
+-
+-#: fortran/match.c:1116 fortran/primary.c:2412
+-#, no-c-format
+-msgid "Cannot assign to a named constant at %C"
+-msgstr ""
+-
+-#: fortran/match.c:1126
+-#, no-c-format
+-msgid "Unclassifiable statement in IF-clause at %C"
+-msgstr ""
+-
+-#: fortran/match.c:1133
+-#, no-c-format
+-msgid "Syntax error in IF-clause at %C"
+-msgstr ""
+-
+-#: fortran/match.c:1177
+-#, fuzzy, no-c-format
+-msgid "Unexpected junk after ELSE statement at %C"
+-msgstr "Inyandiko ku"
+-
+-#: fortran/match.c:1183 fortran/match.c:1218
+-#, no-c-format
+-msgid "Label '%s' at %C doesn't match IF label '%s'"
+-msgstr ""
+-
+-#: fortran/match.c:1212
+-#, no-c-format
+-msgid "Unexpected junk after ELSE IF statement at %C"
+-msgstr ""
+-
+-#: fortran/match.c:1375
+-#, no-c-format
+-msgid "Name '%s' in %s statement at %C is not a loop name"
+-msgstr ""
+-
+-#: fortran/match.c:1392
+-#, fuzzy, no-c-format
+-msgid "%s statement at %C is not within a loop"
+-msgstr "urifuzagukomeza Inyandiko OYA muri a"
+-
+-#: fortran/match.c:1395
+-#, fuzzy, no-c-format
+-msgid "%s statement at %C is not within loop '%s'"
+-msgstr "itandukanya Inyandiko OYA muri Cyangwa Hindura"
+-
+-#: fortran/match.c:1403
+-#, no-c-format
+-msgid "%s statement at %C leaving OpenMP structured block"
+-msgstr ""
+-
+-#: fortran/match.c:1416
+-#, no-c-format
+-msgid "EXIT statement at %C terminating !$OMP DO loop"
+-msgstr ""
+-
+-#: fortran/match.c:1471
+-#, no-c-format
+-msgid "Too many digits in STOP code at %C"
+-msgstr ""
+-
+-#: fortran/match.c:1524
+-#, fuzzy, no-c-format
+-msgid "Obsolete: PAUSE statement at %C"
+-msgstr "Inyandiko ku"
+-
+-#: fortran/match.c:1573
+-#, fuzzy, no-c-format
+-msgid "Obsolete: ASSIGN statement at %C"
+-msgstr "Inyandiko ku"
+-
+-#: fortran/match.c:1619
+-#, fuzzy, no-c-format
+-msgid "Obsolete: Assigned GOTO statement at %C"
+-msgstr "Inyandiko ku"
+-
+-#: fortran/match.c:1666 fortran/match.c:1718
+-#, no-c-format
+-msgid "Statement label list in GOTO at %C cannot be empty"
+-msgstr ""
+-
+-#: fortran/match.c:1802
+-#, no-c-format
+-msgid "Bad allocate-object in ALLOCATE statement at %C for a PURE procedure"
+-msgstr ""
+-
+-#: fortran/match.c:1825
+-#, no-c-format
+-msgid "STAT variable '%s' of ALLOCATE statement at %C cannot be INTENT(IN)"
+-msgstr ""
+-
+-#: fortran/match.c:1833
+-#, no-c-format
+-msgid "Illegal STAT variable in ALLOCATE statement at %C for a PURE procedure"
+-msgstr ""
+-
+-#: fortran/match.c:1840 fortran/match.c:2006
+-#, no-c-format
+-msgid "STAT expression at %C must be a variable"
+-msgstr ""
+-
+-#: fortran/match.c:1895
+-#, no-c-format
+-msgid "Illegal variable in NULLIFY at %C for a PURE procedure"
+-msgstr ""
+-
+-#: fortran/match.c:1973
+-#, no-c-format
+-msgid "Illegal deallocate-expression in DEALLOCATE at %C for a PURE procedure"
+-msgstr ""
+-
+-#: fortran/match.c:1992
+-#, no-c-format
+-msgid "STAT variable '%s' of DEALLOCATE statement at %C cannot be INTENT(IN)"
+-msgstr ""
+-
+-#: fortran/match.c:1999
+-#, no-c-format
+-msgid "Illegal STAT variable in DEALLOCATE statement at %C for a PURE procedure"
+-msgstr ""
+-
+-#: fortran/match.c:2048
+-#, no-c-format
+-msgid "Alternate RETURN statement at %C is only allowed within a SUBROUTINE"
+-msgstr ""
+-
+-#: fortran/match.c:2079
+-#, fuzzy, no-c-format
+-msgid "Extension: RETURN statement in main program at %C"
+-msgstr "Inyandiko ku Sibyo muri a Porogaramu Igice:"
+-
+-#: fortran/match.c:2274
+-#, no-c-format
+-msgid "Syntax error in common block name at %C"
+-msgstr ""
+-
+-#: fortran/match.c:2310
+-#, no-c-format
+-msgid "Symbol '%s' at %C is already an external symbol that is not COMMON"
+-msgstr ""
+-
+-#: fortran/match.c:2357
+-#, no-c-format
+-msgid "Symbol '%s' at %C is already in a COMMON block"
+-msgstr ""
+-
+-#: fortran/match.c:2369
+-#, no-c-format
+-msgid "Previously initialized symbol '%s' in blank COMMON block at %C"
+-msgstr ""
+-
+-#: fortran/match.c:2372
+-#, no-c-format
+-msgid "Previously initialized symbol '%s' in COMMON block '%s' at %C"
+-msgstr ""
+-
+-#: fortran/match.c:2384
+-#, no-c-format
+-msgid "Derived type variable in COMMON at %C does not have the SEQUENCE attribute"
+-msgstr ""
+-
+-#: fortran/match.c:2407
+-#, no-c-format
+-msgid "Array specification for symbol '%s' in COMMON at %C must be explicit"
+-msgstr ""
+-
+-#: fortran/match.c:2418
+-#, no-c-format
+-msgid "Symbol '%s' in COMMON at %C cannot be a POINTER array"
+-msgstr ""
+-
+-#: fortran/match.c:2450
+-#, no-c-format
+-msgid "Symbol '%s', in COMMON block '%s' at %C is being indirectly equivalenced to another COMMON block '%s'"
+-msgstr ""
+-
+-#: fortran/match.c:2560
+-#, no-c-format
+-msgid "Namelist group name '%s' at %C already has a basic type of %s"
+-msgstr ""
+-
+-#: fortran/match.c:2567
+-#, no-c-format
+-msgid "Namelist group name '%s' at %C already is USE associated and cannot be respecified."
+-msgstr ""
+-
+-#: fortran/match.c:2594
+-#, no-c-format
+-msgid "Assumed size array '%s' in namelist '%s'at %C is not allowed."
+-msgstr ""
+-
+-#: fortran/match.c:2601
+-#, no-c-format
+-msgid "Assumed character length '%s' in namelist '%s' at %C is not allowed"
+-msgstr ""
+-
+-#: fortran/match.c:2607
+-#, no-c-format
+-msgid "Assumed shape array '%s' in namelist '%s' at %C is an extension."
+-msgstr ""
+-
+-#: fortran/match.c:2736
+-#, no-c-format
+-msgid "Derived type component %C is not a permitted EQUIVALENCE member"
+-msgstr ""
+-
+-#: fortran/match.c:2745
+-#, no-c-format
+-msgid "Array reference in EQUIVALENCE at %C cannot be an array section"
+-msgstr ""
+-
+-#: fortran/match.c:2774
+-#, no-c-format
+-msgid "EQUIVALENCE at %C requires two or more objects"
+-msgstr ""
+-
+-#: fortran/match.c:2788
+-#, fuzzy, no-c-format
+-msgid "Attempt to indirectly overlap COMMON blocks %s and %s by EQUIVALENCE at %C"
+-msgstr "Kuri Ubuso Akadomo Biturutse Bya"
+-
+-#: fortran/match.c:2950
+-#, fuzzy, no-c-format
+-msgid "Statement function at %L is recursive"
+-msgstr "Umumaro ku ni OYA"
+-
+-#: fortran/match.c:3040
+-#, fuzzy, no-c-format
+-msgid "Expected initialization expression in CASE at %C"
+-msgstr "Bya Gishya imvugo Na:"
+-
+-#: fortran/match.c:3063
+-#, fuzzy, no-c-format
+-msgid "Expected the name of the select case construct at %C"
+-msgstr "i Izina: Bya i ishuri kugirango Ikurikiranyanyuguti"
+-
+-#: fortran/match.c:3075
+-#, no-c-format
+-msgid "Expected case name of '%s' at %C"
+-msgstr ""
+-
+-#: fortran/match.c:3119
+-#, fuzzy, no-c-format
+-msgid "Unexpected CASE statement at %C"
+-msgstr "Inyandiko ku"
+-
+-#: fortran/match.c:3171
+-#, fuzzy, no-c-format
+-msgid "Syntax error in CASE-specification at %C"
+-msgstr "Ikosa in Uburyo"
+-
+-#: fortran/match.c:3291
+-#, no-c-format
+-msgid "ELSEWHERE statement at %C not enclosed in WHERE block"
+-msgstr ""
+-
+-#: fortran/match.c:3322
+-#, no-c-format
+-msgid "Label '%s' at %C doesn't match WHERE label '%s'"
+-msgstr ""
+-
+-#: fortran/match.c:3424
+-#, no-c-format
+-msgid "Syntax error in FORALL iterator at %C"
+-msgstr ""
+-
+-#: fortran/matchexp.c:30
+-#, fuzzy, c-format
+-msgid "Syntax error in expression at %C"
+-msgstr "Umubare wuzuye Byarenze urugero in imvugo"
+-
+-#: fortran/matchexp.c:74
+-#, fuzzy, no-c-format
+-msgid "Bad character '%c' in OPERATOR name at %C"
+-msgstr "Sibyo Inyuguti in NIBA"
+-
+-#: fortran/matchexp.c:82
+-#, fuzzy, no-c-format
+-msgid "The name '%s' cannot be used as a defined operator at %C"
+-msgstr "\"%s\"Nka a Makoro Izina: Nka ni Mukoresha in C"
+-
+-#: fortran/matchexp.c:181
+-#, fuzzy, no-c-format
+-msgid "Expected a right parenthesis in expression at %C"
+-msgstr "Itegerejwe Nyabibiri Mukoresha hagati ku Na ku"
+-
+-#: fortran/matchexp.c:312
+-#, fuzzy, no-c-format
+-msgid "Expected exponent in expression at %C"
+-msgstr "Itegerejwe Nyabibiri Mukoresha hagati ku Na ku"
+-
+-#: fortran/matchexp.c:348 fortran/matchexp.c:452
+-#, no-c-format
+-msgid "Extension: Unary operator following arithmetic operator (use parentheses) at %C"
+-msgstr ""
+-
+-#: fortran/misc.c:42
+-#, no-c-format
+-msgid "Out of memory-- malloc() failed"
+-msgstr ""
+-
+-#: fortran/module.c:532
+-#, fuzzy, no-c-format
+-msgid "Missing generic specification in USE statement at %C"
+-msgstr "in Inyandiko ku"
+-
+-#: fortran/module.c:840
+-#, no-c-format
+-msgid "Reading module %s at line %d column %d: %s"
+-msgstr ""
+-
+-#: fortran/module.c:844
+-#, no-c-format
+-msgid "Writing module %s at line %d column %d: %s"
+-msgstr ""
+-
+-#: fortran/module.c:848
+-#, no-c-format
+-msgid "Module %s at line %d column %d: %s"
+-msgstr ""
+-
+-# starmath/source\smres.src:RID_ERR_LGROUPEXPECTED.text
+-#: fortran/module.c:890
+-#, fuzzy
+-msgid "Unexpected EOF"
+-msgstr "';'ntigatunguranye"
+-
+-#: fortran/module.c:922
+-#, fuzzy
+-msgid "Unexpected end of module in string constant"
+-msgstr "Bitemewe. Ihindurangero Bivuye Ikurikiranyanyuguti Kuri"
+-
+-#: fortran/module.c:976
+-#, fuzzy
+-msgid "Integer overflow"
+-msgstr "Umubare wuzuye Byarenze urugero in imvugo"
+-
+-#: fortran/module.c:1007
+-msgid "Name too long"
+-msgstr ""
+-
+-#: fortran/module.c:1114
+-msgid "Bad name"
+-msgstr ""
+-
+-#: fortran/module.c:1158
+-#, fuzzy
+-msgid "Expected name"
+-msgstr "i Izina:"
+-
+-#: fortran/module.c:1161
+-msgid "Expected left parenthesis"
+-msgstr ""
+-
+-#: fortran/module.c:1164
+-msgid "Expected right parenthesis"
+-msgstr ""
+-
+-#: fortran/module.c:1167
+-msgid "Expected integer"
+-msgstr ""
+-
+-#: fortran/module.c:1170
+-msgid "Expected string"
+-msgstr ""
+-
+-#: fortran/module.c:1194
+-msgid "find_enum(): Enum not found"
+-msgstr ""
+-
+-#: fortran/module.c:1209
+-#, fuzzy, no-c-format
+-msgid "Error writing modules file: %s"
+-msgstr "Ibisohoka IDOSIYE"
+-
+-#: fortran/module.c:1574
+-#, fuzzy
+-msgid "Expected attribute bit name"
+-msgstr "Ikiranga ni"
+-
+-#: fortran/module.c:2332
+-#, fuzzy
+-msgid "Expected integer string"
+-msgstr "Icyiciro Mweretsi Ibuze"
+-
+-#: fortran/module.c:2336
+-msgid "Error converting integer"
+-msgstr ""
+-
+-#: fortran/module.c:2359
+-#, fuzzy
+-msgid "Expected real string"
+-msgstr "Imiterere Ikurikiranyanyuguti"
+-
+-#: fortran/module.c:2548
+-#, fuzzy
+-msgid "Expected expression type"
+-msgstr "Aderesi imvugo"
+-
+-#: fortran/module.c:2596
+-#, fuzzy
+-msgid "Bad operator"
+-msgstr "a"
+-
+-#: fortran/module.c:2682
+-#, fuzzy
+-msgid "Bad type in constant expression"
+-msgstr "Byarenze urugero in imvugo"
+-
+-#: fortran/module.c:2719
+-#, no-c-format
+-msgid "Namelist %s cannot be renamed by USE association to %s."
+-msgstr ""
+-
+-#: fortran/module.c:3496
+-#, no-c-format
+-msgid "Symbol '%s' referenced at %L not found in module '%s'"
+-msgstr ""
+-
+-#: fortran/module.c:3504
+-#, no-c-format
+-msgid "User operator '%s' referenced at %L not found in module '%s'"
+-msgstr ""
+-
+-#: fortran/module.c:3510
+-#, no-c-format
+-msgid "Intrinsic operator '%s' referenced at %L not found in module '%s'"
+-msgstr ""
+-
+-#: fortran/module.c:3871
+-#, fuzzy, no-c-format
+-msgid "Can't open module file '%s' for writing at %C: %s"
+-msgstr "%s:Gufungura IDOSIYE kugirango"
+-
+-#: fortran/module.c:3896
+-#, fuzzy, no-c-format
+-msgid "Error writing module file '%s' for writing: %s"
+-msgstr "%s:Ikosa IDOSIYE"
+-
+-#: fortran/module.c:3917
+-#, fuzzy, no-c-format
+-msgid "Can't open module file '%s' for reading at %C: %s"
+-msgstr "%s:Gufungura IDOSIYE kugirango"
+-
+-#: fortran/module.c:3932
+-#, fuzzy
+-msgid "Unexpected end of module"
+-msgstr "IKIMENYETSO"
+-
+-#: fortran/module.c:3937
+-#, no-c-format
+-msgid "File '%s' opened at %C is not a GFORTRAN module file"
+-msgstr ""
+-
+-#: fortran/module.c:3947
+-#, no-c-format
+-msgid "Can't USE the same module we're building!"
+-msgstr ""
+-
+-#: fortran/openmp.c:135 fortran/openmp.c:502
+-#, no-c-format
+-msgid "COMMON block /%s/ not found at %C"
+-msgstr ""
+-
+-#: fortran/openmp.c:166
+-#, no-c-format
+-msgid "Syntax error in OpenMP variable list at %C"
+-msgstr ""
+-
+-#: fortran/openmp.c:292
+-#, no-c-format
+-msgid "%s is not INTRINSIC procedure name at %C"
+-msgstr ""
+-
+-#: fortran/openmp.c:481
+-#, no-c-format
+-msgid "Threadprivate variable at %C is an element of a COMMON block"
+-msgstr ""
+-
+-#: fortran/openmp.c:521
+-#, no-c-format
+-msgid "Syntax error in !$OMP THREADPRIVATE list at %C"
+-msgstr ""
+-
+-#: fortran/openmp.c:686 fortran/resolve.c:4928 fortran/resolve.c:5189
+-#, no-c-format
+-msgid "IF clause at %L requires a scalar LOGICAL expression"
+-msgstr ""
+-
+-#: fortran/openmp.c:694
+-#, no-c-format
+-msgid "NUM_THREADS clause at %L requires a scalar INTEGER expression"
+-msgstr ""
+-
+-#: fortran/openmp.c:702
+-#, no-c-format
+-msgid "SCHEDULE clause's chunk_size at %L requires a scalar INTEGER expression"
+-msgstr ""
+-
+-#: fortran/openmp.c:716 fortran/openmp.c:726 fortran/openmp.c:733
+-#: fortran/openmp.c:743
+-#, no-c-format
+-msgid "Symbol '%s' present on multiple clauses at %L"
+-msgstr ""
+-
+-#: fortran/openmp.c:766
+-#, no-c-format
+-msgid "Non-THREADPRIVATE object '%s' in COPYIN clause at %L"
+-msgstr ""
+-
+-#: fortran/openmp.c:769
+-#, no-c-format
+-msgid "COPYIN clause object '%s' is ALLOCATABLE at %L"
+-msgstr ""
+-
+-#: fortran/openmp.c:777
+-#, no-c-format
+-msgid "Assumed size array '%s' in COPYPRIVATE clause at %L"
+-msgstr ""
+-
+-#: fortran/openmp.c:780
+-#, no-c-format
+-msgid "COPYPRIVATE clause object '%s' is ALLOCATABLE at %L"
+-msgstr ""
+-
+-#: fortran/openmp.c:788
+-#, no-c-format
+-msgid "THREADPRIVATE object '%s' in SHARED clause at %L"
+-msgstr ""
+-
+-#: fortran/openmp.c:791
+-#, no-c-format
+-msgid "Cray pointee '%s' in SHARED clause at %L"
+-msgstr ""
+-
+-#: fortran/openmp.c:799
+-#, no-c-format
+-msgid "THREADPRIVATE object '%s' in %s clause at %L"
+-msgstr ""
+-
+-#: fortran/openmp.c:802
+-#, no-c-format
+-msgid "Cray pointee '%s' in %s clause at %L"
+-msgstr ""
+-
+-#: fortran/openmp.c:807
+-#, no-c-format
+-msgid "POINTER object '%s' in %s clause at %L"
+-msgstr ""
+-
+-#: fortran/openmp.c:810
+-#, no-c-format
+-msgid "%s clause object '%s' is ALLOCATABLE at %L"
+-msgstr ""
+-
+-#: fortran/openmp.c:813
+-#, no-c-format
+-msgid "Cray pointer '%s' in %s clause at %L"
+-msgstr ""
+-
+-#: fortran/openmp.c:817
+-#, no-c-format
+-msgid "Assumed size array '%s' in %s clause at %L"
+-msgstr ""
+-
+-#: fortran/openmp.c:822
+-#, no-c-format
+-msgid "Variable '%s' in %s clause is used in NAMELIST statement at %L"
+-msgstr ""
+-
+-#: fortran/openmp.c:831
+-#, no-c-format
+-msgid "%c REDUCTION variable '%s' is %s at %L"
+-msgstr ""
+-
+-#: fortran/openmp.c:842
+-#, no-c-format
+-msgid "%s REDUCTION variable '%s' must be LOGICAL at %L"
+-msgstr ""
+-
+-#: fortran/openmp.c:853
+-#, no-c-format
+-msgid "%s REDUCTION variable '%s' must be INTEGER or REAL at %L"
+-msgstr ""
+-
+-#: fortran/openmp.c:862
+-#, no-c-format
+-msgid "%s REDUCTION variable '%s' must be INTEGER at %L"
+-msgstr ""
+-
+-#: fortran/openmp.c:971
+-#, no-c-format
+-msgid "!$OMP ATOMIC statement must set a scalar variable of intrinsic type at %L"
+-msgstr ""
+-
+-#: fortran/openmp.c:1011
+-#, no-c-format
+-msgid "!$OMP ATOMIC assignment operator must be +, *, -, /, .AND., .OR., .EQV. or .NEQV. at %L"
+-msgstr ""
+-
+-#: fortran/openmp.c:1059
+-#, no-c-format
+-msgid "!$OMP ATOMIC assignment must be var = var op expr or var = expr op var at %L"
+-msgstr ""
+-
+-#: fortran/openmp.c:1073
+-#, no-c-format
+-msgid "!$OMP ATOMIC var = var op expr not mathematically equivalent to var = var op (expr) at %L"
+-msgstr ""
+-
+-#: fortran/openmp.c:1105
+-#, no-c-format
+-msgid "expr in !$OMP ATOMIC assignment var = var op expr must be scalar and cannot reference var at %L"
+-msgstr ""
+-
+-#: fortran/openmp.c:1129
+-#, no-c-format
+-msgid "!$OMP ATOMIC assignment intrinsic IAND, IORor IEOR must have two arguments at %L"
+-msgstr ""
+-
+-#: fortran/openmp.c:1136
+-#, no-c-format
+-msgid "!$OMP ATOMIC assignment intrinsic must be MIN, MAX, IAND, IOR or IEOR at %L"
+-msgstr ""
+-
+-#: fortran/openmp.c:1152
+-#, no-c-format
+-msgid "!$OMP ATOMIC intrinsic arguments except one must not reference '%s' at %L"
+-msgstr ""
+-
+-#: fortran/openmp.c:1155
+-#, no-c-format
+-msgid "!$OMP ATOMIC intrinsic arguments must be scalar at %L"
+-msgstr ""
+-
+-#: fortran/openmp.c:1161
+-#, no-c-format
+-msgid "First or last !$OMP ATOMIC intrinsic argument must be '%s' at %L"
+-msgstr ""
+-
+-#: fortran/openmp.c:1179
+-#, no-c-format
+-msgid "!$OMP ATOMIC assignment must have an operator or intrinsic on right hand side at %L"
+-msgstr ""
+-
+-#: fortran/openmp.c:1276
+-#, no-c-format
+-msgid "!$OMP DO cannot be a DO WHILE or DO without loop control at %L"
+-msgstr ""
+-
+-#: fortran/openmp.c:1282
+-#, no-c-format
+-msgid "!$OMP DO iteration variable must be of type integer at %L"
+-msgstr ""
+-
+-#: fortran/openmp.c:1286
+-#, no-c-format
+-msgid "!$OMP DO iteration variable must not be THREADPRIVATE at %L"
+-msgstr ""
+-
+-#: fortran/openmp.c:1294
+-#, no-c-format
+-msgid "!$OMP DO iteration variable present on clause other than PRIVATE or LASTPRIVATE at %L"
+-msgstr ""
+-
+-#: fortran/options.c:253
+-#, no-c-format
+-msgid "Reading file '%s' as free form."
+-msgstr ""
+-
+-#: fortran/options.c:263
+-#, no-c-format
+-msgid "'-fd-lines-as-comments' has no effect in free form."
+-msgstr ""
+-
+-#: fortran/options.c:266
+-#, no-c-format
+-msgid "'-fd-lines-as-code' has no effect in free form."
+-msgstr ""
+-
+-#: fortran/options.c:342
+-#, c-format
+-msgid "gfortran: Only one -M option allowed\n"
+-msgstr ""
+-
+-#: fortran/options.c:348
+-#, c-format
+-msgid "gfortran: Directory required after -M\n"
+-msgstr ""
+-
+-#: fortran/options.c:390
+-#, no-c-format
+-msgid "Argument to -ffpe-trap is not valid: %s"
+-msgstr ""
+-
+-#: fortran/options.c:498
+-#, no-c-format
+-msgid "Fixed line length must be at least seven."
+-msgstr ""
+-
+-#: fortran/options.c:560
+-#, no-c-format
+-msgid "Maximum supported identifier length is %d"
+-msgstr ""
+-
+-#: fortran/options.c:652
+-#, no-c-format
+-msgid "Maximum subrecord length cannot exceed %d"
+-msgstr ""
+-
+-#: fortran/parse.c:294
+-#, fuzzy, no-c-format
+-msgid "Unclassifiable statement at %C"
+-msgstr "Inyandiko ku"
+-
+-#: fortran/parse.c:318
+-#, no-c-format
+-msgid "OpenMP directives at %C may not appear in PURE or ELEMENTAL procedures"
+-msgstr ""
+-
+-#: fortran/parse.c:395
+-#, no-c-format
+-msgid "Unclassifiable OpenMP directive at %C"
+-msgstr ""
+-
+-#: fortran/parse.c:434 fortran/parse.c:575
+-#, fuzzy, no-c-format
+-msgid "Zero is not a valid statement label at %C"
+-msgstr "`%E'ni OYA a Byemewe Inyandikorugero"
+-
+-#: fortran/parse.c:441 fortran/parse.c:567
+-#, fuzzy, no-c-format
+-msgid "Non-numeric character in statement label at %C"
+-msgstr "Bikurikije umubare Inyuguti ku in Akarango Umwanya Ibisobanuro F"
+-
+-#: fortran/parse.c:454 fortran/parse.c:489 fortran/parse.c:615
+-#, no-c-format
+-msgid "Semicolon at %C needs to be preceded by statement"
+-msgstr ""
+-
+-#: fortran/parse.c:462 fortran/parse.c:627
+-#, no-c-format
+-msgid "Ignoring statement label in empty statement at %C"
+-msgstr ""
+-
+-#: fortran/parse.c:554 fortran/parse.c:594
+-#, fuzzy, no-c-format
+-msgid "Bad continuation line at %C"
+-msgstr "ku"
+-
+-#: fortran/parse.c:653
+-#, no-c-format
+-msgid "Line truncated at %C"
+-msgstr ""
+-
+-#: fortran/parse.c:831
+-#, no-c-format
+-msgid "FORMAT statement at %L does not have a statement label"
+-msgstr ""
+-
+-#: fortran/parse.c:903
+-msgid "arithmetic IF"
+-msgstr ""
+-
+-#: fortran/parse.c:909
+-#, fuzzy
+-msgid "attribute declaration"
+-msgstr "ubusa"
+-
+-#: fortran/parse.c:939
+-#, fuzzy
+-msgid "data declaration"
+-msgstr "ubusa"
+-
+-#: fortran/parse.c:948
+-#, fuzzy
+-msgid "derived type declaration"
+-msgstr "ubusa"
+-
+-#: fortran/parse.c:1027
+-msgid "block IF"
+-msgstr ""
+-
+-#: fortran/parse.c:1036
+-msgid "implied END DO"
+-msgstr ""
+-
+-#: fortran/parse.c:1103
+-#, fuzzy
+-msgid "assignment"
+-msgstr "Igenera"
+-
+-#: fortran/parse.c:1106
+-#, fuzzy
+-msgid "pointer assignment"
+-msgstr "Igenera"
+-
+-#: fortran/parse.c:1115
+-msgid "simple IF"
+-msgstr ""
+-
+-#: fortran/parse.c:1333
+-#, fuzzy, no-c-format
+-msgid "Unexpected %s statement at %C"
+-msgstr "Inyandiko ku"
+-
+-#: fortran/parse.c:1465
+-#, fuzzy, no-c-format
+-msgid "%s statement at %C cannot follow %s statement at %L"
+-msgstr "ku Sibyo in Imvugiro ku Inyandiko ku"
+-
+-#: fortran/parse.c:1482
+-#, fuzzy, no-c-format
+-msgid "Unexpected end of file in '%s'"
+-msgstr "Inkomoko IDOSIYE"
+-
+-#: fortran/parse.c:1536
+-#, no-c-format
+-msgid "Derived type definition at %C has no components"
+-msgstr ""
+-
+-#: fortran/parse.c:1547
+-#, no-c-format
+-msgid "PRIVATE statement in TYPE at %C must be inside a MODULE"
+-msgstr ""
+-
+-#: fortran/parse.c:1554
+-#, no-c-format
+-msgid "PRIVATE statement at %C must precede structure components"
+-msgstr ""
+-
+-#: fortran/parse.c:1562
+-#, fuzzy, no-c-format
+-msgid "Duplicate PRIVATE statement at %C"
+-msgstr "Inyandiko ku"
+-
+-#: fortran/parse.c:1574
+-#, no-c-format
+-msgid "SEQUENCE statement at %C must precede structure components"
+-msgstr ""
+-
+-#: fortran/parse.c:1581
+-#, no-c-format
+-msgid "SEQUENCE attribute at %C already specified in TYPE statement"
+-msgstr ""
+-
+-#: fortran/parse.c:1586
+-#, fuzzy, no-c-format
+-msgid "Duplicate SEQUENCE statement at %C"
+-msgstr "Inyandiko ku"
+-
+-#: fortran/parse.c:1653
+-#, no-c-format
+-msgid "ENUM declaration at %C has no ENUMERATORS"
+-msgstr ""
+-
+-#: fortran/parse.c:1728
+-#, no-c-format
+-msgid "Unexpected %s statement in INTERFACE block at %C"
+-msgstr ""
+-
+-#: fortran/parse.c:1755
+-#, no-c-format
+-msgid "SUBROUTINE at %C does not belong in a generic function interface"
+-msgstr ""
+-
+-#: fortran/parse.c:1760
+-#, no-c-format
+-msgid "FUNCTION at %C does not belong in a generic subroutine interface"
+-msgstr ""
+-
+-#: fortran/parse.c:1778
+-#, no-c-format
+-msgid "Unexpected %s statement at %C in INTERFACE body"
+-msgstr ""
+-
+-#: fortran/parse.c:1792
+-#, no-c-format
+-msgid "INTERFACE procedure '%s' at %L has the same name as the enclosing procedure"
+-msgstr ""
+-
+-#: fortran/parse.c:1857
+-#, no-c-format
+-msgid "%s statement must appear in a MODULE"
+-msgstr ""
+-
+-#: fortran/parse.c:1864
+-#, no-c-format
+-msgid "%s statement at %C follows another accessibility specification"
+-msgstr ""
+-
+-#: fortran/parse.c:1941
+-#, no-c-format
+-msgid "ELSEWHERE statement at %C follows previous unmasked ELSEWHERE"
+-msgstr ""
+-
+-#: fortran/parse.c:1962
+-#, no-c-format
+-msgid "Unexpected %s statement in WHERE block at %C"
+-msgstr ""
+-
+-#: fortran/parse.c:2022
+-#, no-c-format
+-msgid "Unexpected %s statement in FORALL block at %C"
+-msgstr ""
+-
+-#: fortran/parse.c:2074
+-#, fuzzy, no-c-format
+-msgid "ELSE IF statement at %C cannot follow ELSE statement at %L"
+-msgstr "Cyangwa Inyandiko ku Na: Cyangwa Inyandiko ku"
+-
+-#: fortran/parse.c:2092
+-#, no-c-format
+-msgid "Duplicate ELSE statements at %L and %C"
+-msgstr ""
+-
+-#: fortran/parse.c:2154
+-#, no-c-format
+-msgid "Expected a CASE or END SELECT statement following SELECT CASE at %C"
+-msgstr ""
+-
+-#: fortran/parse.c:2212
+-#, no-c-format
+-msgid "Variable '%s' at %C cannot be redefined inside loop beginning at %L"
+-msgstr ""
+-
+-#: fortran/parse.c:2247
+-#, no-c-format
+-msgid "End of nonblock DO statement at %C is within another block"
+-msgstr ""
+-
+-#: fortran/parse.c:2256
+-#, no-c-format
+-msgid "End of nonblock DO statement at %C is interwoven with another DO loop"
+-msgstr ""
+-
+-#: fortran/parse.c:2306
+-#, no-c-format
+-msgid "Statement label in ENDDO at %C doesn't match DO label"
+-msgstr ""
+-
+-#: fortran/parse.c:2322
+-#, no-c-format
+-msgid "named block DO at %L requires matching ENDDO name"
+-msgstr ""
+-
+-#: fortran/parse.c:2578
+-#, no-c-format
+-msgid "Name after !$omp critical and !$omp end critical does not match at %C"
+-msgstr ""
+-
+-#: fortran/parse.c:2635
+-#, no-c-format
+-msgid "%s statement at %C cannot terminate a non-block DO loop"
+-msgstr ""
+-
+-#: fortran/parse.c:2799
+-#, no-c-format
+-msgid "Contained procedure '%s' at %C is already ambiguous"
+-msgstr ""
+-
+-#: fortran/parse.c:2850
+-#, no-c-format
+-msgid "Unexpected %s statement in CONTAINS section at %C"
+-msgstr ""
+-
+-#: fortran/parse.c:2935
+-#, fuzzy, no-c-format
+-msgid "CONTAINS statement at %C is already in a contained program unit"
+-msgstr "Inyandiko ku Sibyo muri a Porogaramu Igice:"
+-
+-#: fortran/parse.c:2984
+-#, no-c-format
+-msgid "Global name '%s' at %L is already being used as a %s at %L"
+-msgstr ""
+-
+-#: fortran/parse.c:3005
+-#, no-c-format
+-msgid "Blank BLOCK DATA at %C conflicts with prior BLOCK DATA at %L"
+-msgstr ""
+-
+-#: fortran/parse.c:3030
+-#, no-c-format
+-msgid "Unexpected %s statement in BLOCK DATA at %C"
+-msgstr ""
+-
+-#: fortran/parse.c:3073
+-#, fuzzy, no-c-format
+-msgid "Unexpected %s statement in MODULE at %C"
+-msgstr "Inyandiko ku"
+-
+-#. If we see a duplicate main program, shut down. If the second
+-#. instance is an implied main program, ie data decls or executable
+-#. statements, we're in for lots of errors.
+-#: fortran/parse.c:3252
+-#, no-c-format
+-msgid "Two main PROGRAMs at %L and %C"
+-msgstr ""
+-
+-#: fortran/primary.c:89
+-#, fuzzy, no-c-format
+-msgid "Missing kind-parameter at %C"
+-msgstr "Ijambo"
+-
+-#: fortran/primary.c:212
+-#, fuzzy, no-c-format
+-msgid "Integer kind %d at %C not available"
+-msgstr "ku Binini"
+-
+-#: fortran/primary.c:220
+-#, no-c-format
+-msgid "Integer too big for its kind at %C"
+-msgstr ""
+-
+-#: fortran/primary.c:250
+-#, no-c-format
+-msgid "Extension: Hollerith constant at %C"
+-msgstr ""
+-
+-#: fortran/primary.c:262
+-#, no-c-format
+-msgid "Invalid Hollerith constant: %L must contain at least one character"
+-msgstr ""
+-
+-#: fortran/primary.c:268
+-#, no-c-format
+-msgid "Invalid Hollerith constant: Integer kind at %L should be default"
+-msgstr ""
+-
+-#: fortran/primary.c:356
+-#, no-c-format
+-msgid "Extension: Hexadecimal constant at %C uses non-standard syntax."
+-msgstr ""
+-
+-#: fortran/primary.c:366
+-#, no-c-format
+-msgid "Empty set of digits in BOZ constant at %C"
+-msgstr ""
+-
+-#: fortran/primary.c:372
+-#, fuzzy, no-c-format
+-msgid "Illegal character in BOZ constant at %C"
+-msgstr "Uburebure Inyuguti ku"
+-
+-#: fortran/primary.c:394
+-#, no-c-format
+-msgid "Extension: BOZ constant at %C uses non-standard postfix syntax."
+-msgstr ""
+-
+-#: fortran/primary.c:420
+-#, no-c-format
+-msgid "Integer too big for integer kind %i at %C"
+-msgstr ""
+-
+-#: fortran/primary.c:520
+-#, fuzzy, no-c-format
+-msgid "Missing exponent in real number at %C"
+-msgstr "Agaciro ku kugirango Umubare ku"
+-
+-#: fortran/primary.c:577
+-#, no-c-format
+-msgid "Real number at %C has a 'd' exponent and an explicit kind"
+-msgstr ""
+-
+-#: fortran/primary.c:589
+-#, no-c-format
+-msgid "Invalid real kind %d at %C"
+-msgstr ""
+-
+-#: fortran/primary.c:603
+-#, no-c-format
+-msgid "Real constant overflows its kind at %C"
+-msgstr ""
+-
+-#: fortran/primary.c:608
+-#, no-c-format
+-msgid "Real constant underflows its kind at %C"
+-msgstr ""
+-
+-#: fortran/primary.c:700
+-#, fuzzy, no-c-format
+-msgid "Syntax error in SUBSTRING specification at %C"
+-msgstr "Ikosa in Uburyo"
+-
+-#: fortran/primary.c:935
+-#, no-c-format
+-msgid "Invalid kind %d for CHARACTER constant at %C"
+-msgstr ""
+-
+-#: fortran/primary.c:956
+-#, fuzzy, no-c-format
+-msgid "Unterminated character constant beginning at %C"
+-msgstr "Uburebure Inyuguti ku"
+-
+-#: fortran/primary.c:1037
+-#, no-c-format
+-msgid "Bad kind for logical constant at %C"
+-msgstr ""
+-
+-#: fortran/primary.c:1074
+-#, no-c-format
+-msgid "Expected PARAMETER symbol in complex constant at %C"
+-msgstr ""
+-
+-#: fortran/primary.c:1080
+-#, no-c-format
+-msgid "Numeric PARAMETER required in complex constant at %C"
+-msgstr ""
+-
+-#: fortran/primary.c:1086
+-#, no-c-format
+-msgid "Scalar PARAMETER required in complex constant at %C"
+-msgstr ""
+-
+-#: fortran/primary.c:1090
+-#, no-c-format
+-msgid "Fortran 2003: PARAMETER symbol in complex constant at %C"
+-msgstr ""
+-
+-#: fortran/primary.c:1120
+-#, no-c-format
+-msgid "Error converting PARAMETER constant in complex constant at %C"
+-msgstr ""
+-
+-#: fortran/primary.c:1247
+-#, no-c-format
+-msgid "Syntax error in COMPLEX constant at %C"
+-msgstr ""
+-
+-#: fortran/primary.c:1429
+-#, no-c-format
+-msgid "Keyword '%s' at %C has already appeared in the current argument list"
+-msgstr ""
+-
+-#: fortran/primary.c:1493
+-#, fuzzy, no-c-format
+-msgid "Extension: argument list function at %C"
+-msgstr "ingingo Kuri Umumaro"
+-
+-#: fortran/primary.c:1560
+-#, no-c-format
+-msgid "Expected alternate return label at %C"
+-msgstr ""
+-
+-#: fortran/primary.c:1579
+-#, no-c-format
+-msgid "Missing keyword name in actual argument list at %C"
+-msgstr ""
+-
+-#: fortran/primary.c:1624
+-#, no-c-format
+-msgid "Syntax error in argument list at %C"
+-msgstr ""
+-
+-#: fortran/primary.c:1711
+-#, no-c-format
+-msgid "Expected structure component name at %C"
+-msgstr ""
+-
+-#: fortran/primary.c:1952
+-#, no-c-format
+-msgid "Too many components in structure constructor at %C"
+-msgstr ""
+-
+-#: fortran/primary.c:1967
+-#, no-c-format
+-msgid "Too few components in structure constructor at %C"
+-msgstr ""
+-
+-#: fortran/primary.c:1985
+-#, no-c-format
+-msgid "Syntax error in structure constructor at %C"
+-msgstr ""
+-
+-#: fortran/primary.c:2040
+-#, no-c-format
+-msgid "'%s' is array valued and directly recursive at %C , so the keyword RESULT must be specified in the FUNCTION statement"
+-msgstr ""
+-
+-#: fortran/primary.c:2115
+-#, no-c-format
+-msgid "Unexpected use of subroutine name '%s' at %C"
+-msgstr ""
+-
+-#: fortran/primary.c:2146
+-#, fuzzy, no-c-format
+-msgid "Statement function '%s' requires argument list at %C"
+-msgstr "Umumaro ku ni OYA"
+-
+-#: fortran/primary.c:2149
+-#, fuzzy, no-c-format
+-msgid "Function '%s' requires an argument list at %C"
+-msgstr "`Ihuza Mo Imbere Urutonde"
+-
+-#: fortran/primary.c:2315
+-#, fuzzy, no-c-format
+-msgid "Missing argument list in function '%s' at %C"
+-msgstr "Ibuze Kuri Ihitamo"
+-
+-#: fortran/primary.c:2343
+-#, fuzzy, no-c-format
+-msgid "Symbol at %C is not appropriate for an expression"
+-msgstr "Bihindagurika Akadomo Byarenze urugero in imvugo"
+-
+-#: fortran/primary.c:2410
+-#, no-c-format
+-msgid "Named constant at %C in an EQUIVALENCE"
+-msgstr ""
+-
+-#: fortran/primary.c:2432
+-#, no-c-format
+-msgid "Expected VARIABLE at %C"
+-msgstr ""
+-
+-#: fortran/resolve.c:112
+-#, fuzzy, no-c-format
+-msgid "Alternate return specifier in elemental subroutine '%s' at %L is not allowed"
+-msgstr "Garuka ku Sibyo muri a Umumaro"
+-
+-#: fortran/resolve.c:116
+-#, fuzzy, no-c-format
+-msgid "Alternate return specifier in function '%s' at %L is not allowed"
+-msgstr "Garuka ku Sibyo muri a Umumaro"
+-
+-#: fortran/resolve.c:130
+-#, no-c-format
+-msgid "Dummy procedure '%s' of PURE procedure at %L must also be PURE"
+-msgstr ""
+-
+-#: fortran/resolve.c:138
+-#, no-c-format
+-msgid "Dummy procedure at %L not allowed in ELEMENTAL procedure"
+-msgstr ""
+-
+-#: fortran/resolve.c:151 fortran/resolve.c:964
+-#, no-c-format
+-msgid "Unable to find a specific INTRINSIC procedure for the reference '%s' at %L"
+-msgstr ""
+-
+-#: fortran/resolve.c:195
+-#, no-c-format
+-msgid "Argument '%s' of pure function '%s' at %L must be INTENT(IN)"
+-msgstr ""
+-
+-#: fortran/resolve.c:200
+-#, no-c-format
+-msgid "Argument '%s' of pure subroutine '%s' at %L must have its INTENT specified"
+-msgstr ""
+-
+-#: fortran/resolve.c:210
+-#, no-c-format
+-msgid "Argument '%s' of elemental procedure at %L must be scalar"
+-msgstr ""
+-
+-#: fortran/resolve.c:218
+-#, no-c-format
+-msgid "Argument '%s' of elemental procedure at %L cannot have the POINTER attribute"
+-msgstr ""
+-
+-#: fortran/resolve.c:230
+-#, fuzzy, no-c-format
+-msgid "Argument '%s' of statement function at %L must be scalar"
+-msgstr "ku kugirango Inyandiko Umumaro Indango ku"
+-
+-#: fortran/resolve.c:241
+-#, no-c-format
+-msgid "Character-valued argument '%s' of statement function at %L must have constant length"
+-msgstr ""
+-
+-#: fortran/resolve.c:302
+-#, no-c-format
+-msgid "Contained function '%s' at %L has no IMPLICIT type"
+-msgstr ""
+-
+-#: fortran/resolve.c:317
+-#, no-c-format
+-msgid "Character-valued internal function '%s' at %L must not be assumed length"
+-msgstr ""
+-
+-#: fortran/resolve.c:480
+-#, no-c-format
+-msgid "Procedure %s at %L has entries with mismatched array specifications"
+-msgstr ""
+-
+-#: fortran/resolve.c:507
+-#, no-c-format
+-msgid "FUNCTION result %s can't be an array in FUNCTION %s at %L"
+-msgstr ""
+-
+-#: fortran/resolve.c:511
+-#, no-c-format
+-msgid "ENTRY result %s can't be an array in FUNCTION %s at %L"
+-msgstr ""
+-
+-#: fortran/resolve.c:518
+-#, no-c-format
+-msgid "FUNCTION result %s can't be a POINTER in FUNCTION %s at %L"
+-msgstr ""
+-
+-#: fortran/resolve.c:522
+-#, no-c-format
+-msgid "ENTRY result %s can't be a POINTER in FUNCTION %s at %L"
+-msgstr ""
+-
+-#: fortran/resolve.c:560
+-#, no-c-format
+-msgid "FUNCTION result %s can't be of type %s in FUNCTION %s at %L"
+-msgstr ""
+-
+-#: fortran/resolve.c:565
+-#, no-c-format
+-msgid "ENTRY result %s can't be of type %s in FUNCTION %s at %L"
+-msgstr ""
+-
+-#: fortran/resolve.c:662
+-#, no-c-format
+-msgid "The rank of the element in the derived type constructor at %L does not match that of the component (%d/%d)"
+-msgstr ""
+-
+-#: fortran/resolve.c:675
+-#, no-c-format
+-msgid "The element in the derived type constructor at %L, for pointer component '%s', is %s but should be %s"
+-msgstr ""
+-
+-#: fortran/resolve.c:692
+-#, no-c-format
+-msgid "The element in the derived type constructor at %L, for pointer component '%s' should be a POINTER or a TARGET"
+-msgstr ""
+-
+-#: fortran/resolve.c:814
+-#, no-c-format
+-msgid "The upper bound in the last dimension must appear in the reference to the assumed size array '%s' at %L."
+-msgstr ""
+-
+-#: fortran/resolve.c:878 fortran/resolve.c:4406 fortran/resolve.c:5154
+-#, fuzzy, no-c-format
+-msgid "Label %d referenced at %L is never defined"
+-msgstr "ku Ryari: ku"
+-
+-#: fortran/resolve.c:914
+-#, fuzzy, no-c-format
+-msgid "Statement function '%s' at %L is not allowed as an actual argument"
+-msgstr "Umumaro ku ni OYA"
+-
+-#: fortran/resolve.c:921
+-#, no-c-format
+-msgid "Intrinsic '%s' at %L is not allowed as an actual argument"
+-msgstr ""
+-
+-#: fortran/resolve.c:928
+-#, fuzzy, no-c-format
+-msgid "Internal procedure '%s' is not allowed as an actual argument at %L"
+-msgstr "ni Nka ku OYA"
+-
+-#: fortran/resolve.c:934
+-#, no-c-format
+-msgid "ELEMENTAL non-INTRINSIC procedure '%s' is not allowed as an actual argument at %L"
+-msgstr ""
+-
+-#: fortran/resolve.c:941
+-#, no-c-format
+-msgid "GENERIC non-INTRINSIC procedure '%s' is not allowed as an actual argument at %L"
+-msgstr ""
+-
+-#: fortran/resolve.c:980
+-#, fuzzy, no-c-format
+-msgid "Symbol '%s' at %L is ambiguous"
+-msgstr "Gukoresha Bya ni"
+-
+-#: fortran/resolve.c:1018
+-#, no-c-format
+-msgid "By-value argument at %L is not of numeric type"
+-msgstr ""
+-
+-#: fortran/resolve.c:1025
+-#, no-c-format
+-msgid "By-value argument at %L cannot be an array or an array section"
+-msgstr ""
+-
+-#: fortran/resolve.c:1036
+-#, fuzzy, no-c-format
+-msgid "By-value argument at %L is not allowed in this context"
+-msgstr "ku Sibyo in iyi Imvugiro"
+-
+-#: fortran/resolve.c:1045
+-#, no-c-format
+-msgid "Kind of by-value argument at %L is larger than default kind"
+-msgstr ""
+-
+-#: fortran/resolve.c:1058
+-#, no-c-format
+-msgid "Passing internal procedure at %L by location not allowed"
+-msgstr ""
+-
+-#: fortran/resolve.c:1175
+-#, no-c-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)"
+-msgstr ""
+-
+-#: fortran/resolve.c:1200
+-msgid "elemental subroutine"
+-msgstr ""
+-
+-#: fortran/resolve.c:1333
+-#, no-c-format
+-msgid "There is no specific function for the generic '%s' at %L"
+-msgstr ""
+-
+-#: fortran/resolve.c:1343
+-#, no-c-format
+-msgid "Generic function '%s' at %L is not consistent with a specific intrinsic interface"
+-msgstr ""
+-
+-#: fortran/resolve.c:1381
+-#, no-c-format
+-msgid "Function '%s' at %L is INTRINSIC but is not compatible with an intrinsic"
+-msgstr ""
+-
+-#: fortran/resolve.c:1427
+-#, no-c-format
+-msgid "Unable to resolve the specific function '%s' at %L"
+-msgstr ""
+-
+-#: fortran/resolve.c:1483 fortran/resolve.c:7110
+-#, no-c-format
+-msgid "Function '%s' at %L has no IMPLICIT type"
+-msgstr ""
+-
+-#: fortran/resolve.c:1557
+-#, fuzzy, no-c-format
+-msgid "'%s' at %L is not a function"
+-msgstr "`%D'ni OYA a Umumaro"
+-
+-#. Internal procedures are taken care of in resolve_contained_fntype.
+-#: fortran/resolve.c:1590
+-#, no-c-format
+-msgid "Function '%s' is declared CHARACTER(*) and cannot be used at %L since it is not a dummy argument"
+-msgstr ""
+-
+-#: fortran/resolve.c:1643
+-#, no-c-format
+-msgid "User defined non-ELEMENTAL function '%s' at %L not allowed in WORKSHARE construct"
+-msgstr ""
+-
+-#: fortran/resolve.c:1693
+-#, no-c-format
+-msgid "reference to non-PURE function '%s' at %L inside a FORALL %s"
+-msgstr ""
+-
+-#: fortran/resolve.c:1700
+-#, no-c-format
+-msgid "Function reference to '%s' at %L is to a non-PURE procedure within a PURE procedure"
+-msgstr ""
+-
+-#: fortran/resolve.c:1715
+-#, no-c-format
+-msgid "Function '%s' at %L cannot call itself, as it is not RECURSIVE"
+-msgstr ""
+-
+-#: fortran/resolve.c:1723
+-#, no-c-format
+-msgid "Call to ENTRY '%s' at %L is recursive, but function '%s' is not declared as RECURSIVE"
+-msgstr ""
+-
+-#: fortran/resolve.c:1768
+-#, no-c-format
+-msgid "Subroutine call to '%s' in FORALL block at %L is not PURE"
+-msgstr ""
+-
+-#: fortran/resolve.c:1771
+-#, no-c-format
+-msgid "Subroutine call to '%s' at %L is not PURE"
+-msgstr ""
+-
+-#: fortran/resolve.c:1835
+-#, no-c-format
+-msgid "There is no specific subroutine for the generic '%s' at %L"
+-msgstr ""
+-
+-#: fortran/resolve.c:1844
+-#, no-c-format
+-msgid "Generic subroutine '%s' at %L is not consistent with an intrinsic subroutine interface"
+-msgstr ""
+-
+-#: fortran/resolve.c:1879
+-#, no-c-format
+-msgid "Subroutine '%s' at %L is INTRINSIC but is not compatible with an intrinsic"
+-msgstr ""
+-
+-#: fortran/resolve.c:1923
+-#, no-c-format
+-msgid "Unable to resolve the specific subroutine '%s' at %L"
+-msgstr ""
+-
+-#: fortran/resolve.c:1980
+-#, no-c-format
+-msgid "'%s' at %L has a type, which is not consistent with the CALL at %L"
+-msgstr ""
+-
+-#: fortran/resolve.c:2003
+-#, no-c-format
+-msgid "SUBROUTINE '%s' at %L cannot call itself, as it is not RECURSIVE"
+-msgstr ""
+-
+-#: fortran/resolve.c:2011
+-#, no-c-format
+-msgid "Call to ENTRY '%s' at %L is recursive, but subroutine '%s' is not declared as RECURSIVE"
+-msgstr ""
+-
+-#: fortran/resolve.c:2081
+-#, fuzzy, no-c-format
+-msgid "Shapes for operands at %L and %L are not conformable"
+-msgstr "Na OYA"
+-
+-#: fortran/resolve.c:2138
+-#, c-format
+-msgid "Operand of unary numeric operator '%s' at %%L is %s"
+-msgstr ""
+-
+-#: fortran/resolve.c:2154
+-#, c-format
+-msgid "Operands of binary numeric operator '%s' at %%L are %s/%s"
+-msgstr ""
+-
+-#: fortran/resolve.c:2168
+-#, c-format
+-msgid "Operands of string concatenation operator at %%L are %s/%s"
+-msgstr ""
+-
+-#: fortran/resolve.c:2187
+-#, c-format
+-msgid "Operands of logical operator '%s' at %%L are %s/%s"
+-msgstr ""
+-
+-#: fortran/resolve.c:2201
+-#, c-format
+-msgid "Operand of .NOT. operator at %%L is %s"
+-msgstr ""
+-
+-#: fortran/resolve.c:2211
+-#, fuzzy
+-msgid "COMPLEX quantities cannot be compared at %L"
+-msgstr "`%V'Byashyizweho Kuri"
+-
+-#: fortran/resolve.c:2237
+-#, c-format
+-msgid "Logicals at %%L must be compared with %s instead of %s"
+-msgstr ""
+-
+-#: fortran/resolve.c:2242
+-#, c-format
+-msgid "Operands of comparison operator '%s' at %%L are %s/%s"
+-msgstr ""
+-
+-#: fortran/resolve.c:2250
+-#, c-format
+-msgid "Operand of user operator '%s' at %%L is %s"
+-msgstr ""
+-
+-#: fortran/resolve.c:2253
+-#, c-format
+-msgid "Operands of user operator '%s' at %%L are %s/%s"
+-msgstr ""
+-
+-#: fortran/resolve.c:2324
+-#, no-c-format
+-msgid "Inconsistent ranks for operator at %L and %L"
+-msgstr ""
+-
+-#: fortran/resolve.c:2528
+-#, no-c-format
+-msgid "Illegal stride of zero at %L"
+-msgstr ""
+-
+-#: fortran/resolve.c:2577
+-#, fuzzy, no-c-format
+-msgid "Array reference at %L is out of bounds"
+-msgstr "Ikigize: Agaciro ku Inyuma Bya Urutonde"
+-
+-#: fortran/resolve.c:2598
+-#, no-c-format
+-msgid "Rightmost upper bound of assumed size array section not specified at %L"
+-msgstr ""
+-
+-#: fortran/resolve.c:2608
+-#, no-c-format
+-msgid "Rank mismatch in array reference at %L (%d/%d)"
+-msgstr ""
+-
+-#: fortran/resolve.c:2636
+-#, no-c-format
+-msgid "Array index at %L must be scalar"
+-msgstr ""
+-
+-#: fortran/resolve.c:2642
+-#, no-c-format
+-msgid "Array index at %L must be of INTEGER type"
+-msgstr ""
+-
+-#: fortran/resolve.c:2648
+-#, no-c-format
+-msgid "Extension: REAL array index at %L"
+-msgstr ""
+-
+-#: fortran/resolve.c:2678
+-#, no-c-format
+-msgid "Argument dim at %L must be scalar"
+-msgstr ""
+-
+-#: fortran/resolve.c:2684
+-#, no-c-format
+-msgid "Argument dim at %L must be of INTEGER type"
+-msgstr ""
+-
+-#: fortran/resolve.c:2804
+-#, fuzzy, no-c-format
+-msgid "Array index at %L is an array of rank %d"
+-msgstr "ku ni Binini Kuri"
+-
+-#: fortran/resolve.c:2842
+-#, no-c-format
+-msgid "Substring start index at %L must be of type INTEGER"
+-msgstr ""
+-
+-#: fortran/resolve.c:2849
+-#, no-c-format
+-msgid "Substring start index at %L must be scalar"
+-msgstr ""
+-
+-#: fortran/resolve.c:2858
+-#, no-c-format
+-msgid "Substring start index at %L is less than one"
+-msgstr ""
+-
+-#: fortran/resolve.c:2871
+-#, no-c-format
+-msgid "Substring end index at %L must be of type INTEGER"
+-msgstr ""
+-
+-#: fortran/resolve.c:2878
+-#, fuzzy, no-c-format
+-msgid "Substring end index at %L must be scalar"
+-msgstr "Impera Akadomo ku Inyuma Bya Urutonde"
+-
+-#: fortran/resolve.c:2888
+-#, no-c-format
+-msgid "Substring end index at %L exceeds the string length"
+-msgstr ""
+-
+-#: fortran/resolve.c:2963
+-#, no-c-format
+-msgid "Component to the right of a part reference with nonzero rank must not have the POINTER attribute at %L"
+-msgstr ""
+-
+-#: fortran/resolve.c:2971
+-#, no-c-format
+-msgid "Component to the right of a part reference with nonzero rank must not have the ALLOCATABLE attribute at %L"
+-msgstr ""
+-
+-#: fortran/resolve.c:2991
+-#, no-c-format
+-msgid "Two or more part references with nonzero rank must not be specified at %L"
+-msgstr ""
+-
+-#: fortran/resolve.c:3166
+-#, no-c-format
+-msgid "Variable '%s',used in a specification expression, is referenced at %L before the ENTRY statement in which it is a parameter"
+-msgstr ""
+-
+-#: fortran/resolve.c:3171
+-#, no-c-format
+-msgid "Variable '%s' is used at %L before the ENTRY statement in which it is a parameter"
+-msgstr ""
+-
+-#: fortran/resolve.c:3294
+-#, no-c-format
+-msgid "%s at %L must be a scalar"
+-msgstr ""
+-
+-#: fortran/resolve.c:3302
+-#, no-c-format
+-msgid "%s at %L must be INTEGER or REAL"
+-msgstr ""
+-
+-#: fortran/resolve.c:3305
+-#, no-c-format
+-msgid "%s at %L must be INTEGER"
+-msgstr ""
+-
+-#: fortran/resolve.c:3321
+-#, no-c-format
+-msgid "Obsolete: REAL DO loop iterator at %L"
+-msgstr ""
+-
+-#: fortran/resolve.c:3330
+-#, no-c-format
+-msgid "Cannot assign to loop variable in PURE procedure at %L"
+-msgstr ""
+-
+-#: fortran/resolve.c:3354
+-#, no-c-format
+-msgid "Step expression in DO loop at %L cannot be zero"
+-msgstr ""
+-
+-#: fortran/resolve.c:3389
+-#, no-c-format
+-msgid "FORALL index-name at %L must be a scalar INTEGER"
+-msgstr ""
+-
+-#: fortran/resolve.c:3394
+-#, no-c-format
+-msgid "FORALL start expression at %L must be a scalar INTEGER"
+-msgstr ""
+-
+-#: fortran/resolve.c:3401
+-#, no-c-format
+-msgid "FORALL end expression at %L must be a scalar INTEGER"
+-msgstr ""
+-
+-#: fortran/resolve.c:3409
+-#, no-c-format
+-msgid "FORALL stride expression at %L must be a scalar %s"
+-msgstr ""
+-
+-#: fortran/resolve.c:3414
+-#, no-c-format
+-msgid "FORALL stride expression at %L cannot be zero"
+-msgstr ""
+-
+-#: fortran/resolve.c:3512
+-#, no-c-format
+-msgid "Expression in DEALLOCATE statement at %L must be ALLOCATABLE or a POINTER"
+-msgstr ""
+-
+-#: fortran/resolve.c:3518
+-#, no-c-format
+-msgid "Can't deallocate INTENT(IN) variable '%s' at %L"
+-msgstr ""
+-
+-#: fortran/resolve.c:3679
+-#, no-c-format
+-msgid "The STAT variable '%s' in an ALLOCATE statement must not be allocated in the same statement at %L"
+-msgstr ""
+-
+-#: fortran/resolve.c:3710
+-#, no-c-format
+-msgid "Expression in ALLOCATE statement at %L must be ALLOCATABLE or a POINTER"
+-msgstr ""
+-
+-#: fortran/resolve.c:3717
+-#, no-c-format
+-msgid "Can't allocate INTENT(IN) variable '%s' at %L"
+-msgstr ""
+-
+-#: fortran/resolve.c:3741
+-#, fuzzy, no-c-format
+-msgid "Array specification required in ALLOCATE statement at %L"
+-msgstr "Cyangwa kugirango Inyuma Bya Urutonde in Inyandiko ku"
+-
+-#: fortran/resolve.c:3771
+-#, fuzzy, no-c-format
+-msgid "Bad array specification in ALLOCATE statement at %L"
+-msgstr "Akarango Insobanuro kugirango Inyandiko ku"
+-
+-#: fortran/resolve.c:3789
+-#, no-c-format
+-msgid "'%s' must not appear an the array specification at %L in the same ALLOCATE statement where it is itself allocated"
+-msgstr ""
+-
+-#. The cases overlap, or they are the same
+-#. 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.c:3948
+-#, no-c-format
+-msgid "CASE label at %L overlaps with CASE label at %L"
+-msgstr ""
+-
+-#: fortran/resolve.c:3999
+-#, fuzzy, no-c-format
+-msgid "Expression in CASE statement at %L must be of type %s"
+-msgstr "imvugo Inyandiko Ubwoko"
+-
+-#: fortran/resolve.c:4010
+-#, no-c-format
+-msgid "Expression in CASE statement at %L must be kind %d"
+-msgstr ""
+-
+-#: fortran/resolve.c:4022
+-#, no-c-format
+-msgid "Expression in CASE statement at %L must be scalar"
+-msgstr ""
+-
+-#: fortran/resolve.c:4069
+-#, no-c-format
+-msgid "Selection expression in computed GOTO statement at %L must be a scalar integer expression"
+-msgstr ""
+-
+-#: fortran/resolve.c:4087
+-#, no-c-format
+-msgid "Argument of SELECT statement at %L cannot be %s"
+-msgstr ""
+-
+-#: fortran/resolve.c:4096
+-#, no-c-format
+-msgid "Argument of SELECT statement at %L must be a scalar expression"
+-msgstr ""
+-
+-#: fortran/resolve.c:4161
+-#, no-c-format
+-msgid "The DEFAULT CASE at %L cannot be followed by a second DEFAULT CASE at %L"
+-msgstr ""
+-
+-#: fortran/resolve.c:4188
+-#, no-c-format
+-msgid "Logical range in CASE statement at %L is not allowed"
+-msgstr ""
+-
+-#: fortran/resolve.c:4200
+-#, no-c-format
+-msgid "constant logical value in CASE statement is repeated at %L"
+-msgstr ""
+-
+-#: fortran/resolve.c:4214
+-#, no-c-format
+-msgid "Range specification at %L can never be matched"
+-msgstr ""
+-
+-#: fortran/resolve.c:4317
+-#, no-c-format
+-msgid "Logical SELECT CASE block at %L has more that two cases"
+-msgstr ""
+-
+-#: fortran/resolve.c:4356
+-#, no-c-format
+-msgid "Data transfer element at %L cannot have POINTER components"
+-msgstr ""
+-
+-#: fortran/resolve.c:4363
+-#, no-c-format
+-msgid "Data transfer element at %L cannot have ALLOCATABLE components"
+-msgstr ""
+-
+-#: fortran/resolve.c:4370
+-#, no-c-format
+-msgid "Data transfer element at %L cannot have PRIVATE components"
+-msgstr ""
+-
+-#: fortran/resolve.c:4379
+-#, no-c-format
+-msgid "Data transfer element at %L cannot be a full reference to an assumed-size array"
+-msgstr ""
+-
+-#: fortran/resolve.c:4413
+-#, fuzzy, no-c-format
+-msgid "Statement at %L is not a valid branch target statement for the branch statement at %L"
+-msgstr "ku Sibyo in Imvugiro ku Inyandiko ku"
+-
+-#: fortran/resolve.c:4422
+-#, no-c-format
+-msgid "Branch at %L causes an infinite loop"
+-msgstr ""
+-
+-#: fortran/resolve.c:4455
+-#, fuzzy, no-c-format
+-msgid "Label at %L is not in the same block as the GOTO statement at %L"
+-msgstr "ku Sibyo in Imvugiro ku Inyandiko ku"
+-
+-#: fortran/resolve.c:4471
+-#, no-c-format
+-msgid "Obsolete: GOTO at %L jumps to END of construct at %L"
+-msgstr ""
+-
+-#: fortran/resolve.c:4545
+-#, no-c-format
+-msgid "WHERE mask at %L has inconsistent shape"
+-msgstr ""
+-
+-#: fortran/resolve.c:4561
+-#, no-c-format
+-msgid "WHERE assignment target at %L has inconsistent shape"
+-msgstr ""
+-
+-#: fortran/resolve.c:4575 fortran/resolve.c:4774
+-#, fuzzy, no-c-format
+-msgid "Unsupported statement inside WHERE at %L"
+-msgstr "Inyandiko ku"
+-
+-#: fortran/resolve.c:4651
+-#, fuzzy, no-c-format
+-msgid "expression reference type error at %L"
+-msgstr "Indango Kuri By'igihe gito"
+-
+-#: fortran/resolve.c:4683
+-#, no-c-format
+-msgid "Unsupported statement while finding forall index in expression"
+-msgstr ""
+-
+-#: fortran/resolve.c:4730
+-#, no-c-format
+-msgid "Assignment to a FORALL index variable at %L"
+-msgstr ""
+-
+-#: fortran/resolve.c:4738
+-#, no-c-format
+-msgid "The FORALL with index '%s' cause more than one assignment to this object at %L"
+-msgstr ""
+-
+-#: fortran/resolve.c:4867
+-#, no-c-format
+-msgid "An outer FORALL construct already has an index with this name %L"
+-msgstr ""
+-
+-#: fortran/resolve.c:4879 fortran/resolve.c:4882 fortran/resolve.c:4885
+-#, no-c-format
+-msgid "A FORALL index must not appear in a limit or stride expression in the same FORALL at %L"
+-msgstr ""
+-
+-#: fortran/resolve.c:4938
+-#, no-c-format
+-msgid "WHERE/ELSEWHERE clause at %L requires a LOGICAL array"
+-msgstr ""
+-
+-#: fortran/resolve.c:5068
+-#, no-c-format
+-msgid "ASSIGNED GOTO statement at %L requires an INTEGER variable"
+-msgstr ""
+-
+-#: fortran/resolve.c:5071
+-#, no-c-format
+-msgid "Variable '%s' has not been assigned a target label at %L"
+-msgstr ""
+-
+-#: fortran/resolve.c:5082
+-#, no-c-format
+-msgid "Alternate RETURN statement at %L requires a SCALAR-INTEGER return specifier"
+-msgstr ""
+-
+-#: fortran/resolve.c:5097
+-#, no-c-format
+-msgid "Subroutine '%s' called instead of assignment at %L must be PURE"
+-msgstr ""
+-
+-#: fortran/resolve.c:5124
+-#, no-c-format
+-msgid "rhs of CHARACTER assignment at %L will be truncated (%d/%d)"
+-msgstr ""
+-
+-#: fortran/resolve.c:5133
+-#, no-c-format
+-msgid "Cannot assign to variable '%s' in PURE procedure at %L"
+-msgstr ""
+-
+-#: fortran/resolve.c:5142
+-#, no-c-format
+-msgid "Right side of assignment at %L is a derived type containing a POINTER in a PURE procedure"
+-msgstr ""
+-
+-#: fortran/resolve.c:5162
+-#, no-c-format
+-msgid "ASSIGN statement at %L requires a scalar default INTEGER variable"
+-msgstr ""
+-
+-#: fortran/resolve.c:5177
+-#, no-c-format
+-msgid "Arithmetic IF statement at %L requires a numeric expression"
+-msgstr ""
+-
+-#: fortran/resolve.c:5219
+-#, no-c-format
+-msgid "Exit condition of DO WHILE loop at %L must be a scalar LOGICAL expression"
+-msgstr ""
+-
+-#: fortran/resolve.c:5226
+-#, no-c-format
+-msgid "STAT tag in ALLOCATE statement at %L must be of type INTEGER"
+-msgstr ""
+-
+-#: fortran/resolve.c:5238
+-#, no-c-format
+-msgid "STAT tag in DEALLOCATE statement at %L must be of type INTEGER"
+-msgstr ""
+-
+-#: fortran/resolve.c:5304
+-#, no-c-format
+-msgid "FORALL mask clause at %L requires a LOGICAL expression"
+-msgstr ""
+-
+-#: fortran/resolve.c:5507
+-#, no-c-format
+-msgid "Allocatable array '%s' at %L must have a deferred shape"
+-msgstr ""
+-
+-#: fortran/resolve.c:5510
+-#, no-c-format
+-msgid "Scalar object '%s' at %L may not be ALLOCATABLE"
+-msgstr ""
+-
+-#: fortran/resolve.c:5517
+-#, no-c-format
+-msgid "Array pointer '%s' at %L must have a deferred shape"
+-msgstr ""
+-
+-#: fortran/resolve.c:5528
+-#, no-c-format
+-msgid "Array '%s' at %L cannot have a deferred shape"
+-msgstr ""
+-
+-#: fortran/resolve.c:5584
+-#, no-c-format
+-msgid "The module or main program array '%s' at %L must have constant shape"
+-msgstr ""
+-
+-#: fortran/resolve.c:5598
+-#, no-c-format
+-msgid "Entity with assumed character length at %L must be a dummy argument or a PARAMETER"
+-msgstr ""
+-
+-#: fortran/resolve.c:5617
+-#, no-c-format
+-msgid "'%s' at %L must have constant character length in this context"
+-msgstr ""
+-
+-#: fortran/resolve.c:5655
+-#, fuzzy, no-c-format
+-msgid "Allocatable '%s' at %L cannot have an initializer"
+-msgstr "Umwanya Gicurasi OYA"
+-
+-#: fortran/resolve.c:5658
+-#, fuzzy, no-c-format
+-msgid "External '%s' at %L cannot have an initializer"
+-msgstr "Umwanya Gicurasi OYA"
+-
+-#: fortran/resolve.c:5661
+-#, fuzzy, no-c-format
+-msgid "Dummy '%s' at %L cannot have an initializer"
+-msgstr "Umwanya Gicurasi OYA"
+-
+-#: fortran/resolve.c:5664
+-#, fuzzy, no-c-format
+-msgid "Intrinsic '%s' at %L cannot have an initializer"
+-msgstr "Umwanya Gicurasi OYA"
+-
+-#: fortran/resolve.c:5667
+-#, fuzzy, no-c-format
+-msgid "Function result '%s' at %L cannot have an initializer"
+-msgstr "Umwanya Gicurasi OYA"
+-
+-#: fortran/resolve.c:5670
+-#, fuzzy, no-c-format
+-msgid "Automatic array '%s' at %L cannot have an initializer"
+-msgstr "Umwanya Gicurasi OYA"
+-
+-#: fortran/resolve.c:5685
+-#, no-c-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"
+-msgstr ""
+-
+-#: fortran/resolve.c:5709
+-#, no-c-format
+-msgid "Object '%s' at %L must have the SAVE attribute %s"
+-msgstr ""
+-
+-#: fortran/resolve.c:5735
+-#, no-c-format
+-msgid "Although not referenced, '%s' at %L has ambiguous interfaces"
+-msgstr ""
+-
+-#: fortran/resolve.c:5749
+-#, no-c-format
+-msgid "Character-valued statement function '%s' at %L must have constant length"
+-msgstr ""
+-
+-#: fortran/resolve.c:5757
+-#, no-c-format
+-msgid "Automatic character length function '%s' at %L must have an explicit interface"
+-msgstr ""
+-
+-#: fortran/resolve.c:5780
+-#, no-c-format
+-msgid "'%s' is of a PRIVATE type and cannot be a dummy argument of '%s', which is PUBLIC at %L"
+-msgstr ""
+-
+-#: fortran/resolve.c:5795
+-#, fuzzy, no-c-format
+-msgid "External object '%s' at %L may not have an initializer"
+-msgstr "Umwanya Gicurasi OYA"
+-
+-#: fortran/resolve.c:5803
+-#, no-c-format
+-msgid "ELEMENTAL function '%s' at %L must have a scalar result"
+-msgstr ""
+-
+-#: fortran/resolve.c:5824
+-#, no-c-format
+-msgid "CHARACTER(*) function '%s' at %L cannot be array-valued"
+-msgstr ""
+-
+-#: fortran/resolve.c:5828
+-#, no-c-format
+-msgid "CHARACTER(*) function '%s' at %L cannot be pointer-valued"
+-msgstr ""
+-
+-#: fortran/resolve.c:5832
+-#, no-c-format
+-msgid "CHARACTER(*) function '%s' at %L cannot be pure"
+-msgstr ""
+-
+-#: fortran/resolve.c:5836
+-#, no-c-format
+-msgid "CHARACTER(*) function '%s' at %L cannot be recursive"
+-msgstr ""
+-
+-#: fortran/resolve.c:5845
+-#, no-c-format
+-msgid "CHARACTER(*) function '%s' at %L is obsolescent in fortran 95"
+-msgstr ""
+-
+-#: fortran/resolve.c:5870
+-#, no-c-format
+-msgid "Character length of component '%s' needs to be a constant specification expression at %L."
+-msgstr ""
+-
+-#: fortran/resolve.c:5885
+-#, no-c-format
+-msgid "The component '%s' is a PRIVATE type and cannot be a component of '%s', which is PUBLIC at %L"
+-msgstr ""
+-
+-#: fortran/resolve.c:5895
+-#, no-c-format
+-msgid "Component %s of SEQUENCE type declared at %L does not have the SEQUENCE attribute"
+-msgstr ""
+-
+-#: fortran/resolve.c:5905
+-#, no-c-format
+-msgid "The pointer component '%s' of '%s' at %L is a type that has not been declared"
+-msgstr ""
+-
+-#: fortran/resolve.c:5923
+-#, no-c-format
+-msgid "Component '%s' of '%s' at %L must have constant array bounds."
+-msgstr ""
+-
+-#: fortran/resolve.c:5964
+-#, no-c-format
+-msgid "PRIVATE symbol '%s' cannot be member of PUBLIC namelist at %L"
+-msgstr ""
+-
+-#: fortran/resolve.c:5977
+-#, no-c-format
+-msgid "The array '%s' must have constant shape to be a NAMELIST object at %L"
+-msgstr ""
+-
+-#: fortran/resolve.c:5990
+-#, no-c-format
+-msgid "NAMELIST object '%s' at %L cannot have ALLOCATABLE components"
+-msgstr ""
+-
+-#: fortran/resolve.c:6009
+-#, no-c-format
+-msgid "PROCEDURE attribute conflicts with NAMELIST attribute in '%s' at %L"
+-msgstr ""
+-
+-#: fortran/resolve.c:6026
+-#, no-c-format
+-msgid "Parameter array '%s' at %L cannot be automatic or assumed shape"
+-msgstr ""
+-
+-#: fortran/resolve.c:6038
+-#, no-c-format
+-msgid "Implicitly typed PARAMETER '%s' at %L doesn't match a later IMPLICIT type"
+-msgstr ""
+-
+-#: fortran/resolve.c:6049
+-#, fuzzy, no-c-format
+-msgid "Incompatible derived type in PARAMETER at %L"
+-msgstr "in"
+-
+-#: fortran/resolve.c:6151
+-#, no-c-format
+-msgid "Assumed size array at %L must be a dummy argument"
+-msgstr ""
+-
+-#: fortran/resolve.c:6154
+-#, no-c-format
+-msgid "Assumed shape array at %L must be a dummy argument"
+-msgstr ""
+-
+-#: fortran/resolve.c:6167
+-#, no-c-format
+-msgid "Symbol at %L is not a DUMMY variable"
+-msgstr ""
+-
+-#: fortran/resolve.c:6182
+-#, no-c-format
+-msgid "The derived type '%s' at %L is of type '%s', which has not been defined."
+-msgstr ""
+-
+-#: fortran/resolve.c:6201
+-#, no-c-format
+-msgid "The INTENT(OUT) dummy argument '%s' at %L is ASSUMED SIZE and so cannot have a default initializer"
+-msgstr ""
+-
+-#: fortran/resolve.c:6239
+-#, no-c-format
+-msgid "Intrinsic at %L does not exist"
+-msgstr ""
+-
+-#: fortran/resolve.c:6272
+-#, no-c-format
+-msgid "Threadprivate at %L isn't SAVEd"
+-msgstr ""
+-
+-#: fortran/resolve.c:6351
+-#, no-c-format
+-msgid "BLOCK DATA element '%s' at %L must be in COMMON"
+-msgstr ""
+-
+-#: fortran/resolve.c:6395
+-#, no-c-format
+-msgid "Nonconstant array section at %L in DATA statement"
+-msgstr ""
+-
+-#: fortran/resolve.c:6408
+-#, no-c-format
+-msgid "DATA statement at %L has more variables than values"
+-msgstr ""
+-
+-#: fortran/resolve.c:6500
+-#, no-c-format
+-msgid "iterator start at %L does not simplify"
+-msgstr ""
+-
+-#: fortran/resolve.c:6508
+-#, no-c-format
+-msgid "iterator end at %L does not simplify"
+-msgstr ""
+-
+-#: fortran/resolve.c:6516
+-#, no-c-format
+-msgid "iterator step at %L does not simplify"
+-msgstr ""
+-
+-#: fortran/resolve.c:6639
+-#, no-c-format
+-msgid "DATA statement at %L has more values than variables"
+-msgstr ""
+-
+-#: fortran/resolve.c:6715
+-#, fuzzy, no-c-format
+-msgid "Label %d at %L defined but not used"
+-msgstr "Akarango OYA"
+-
+-#: fortran/resolve.c:6720
+-#, fuzzy, no-c-format
+-msgid "Label %d at %L defined but cannot be used"
+-msgstr "Akarango OYA"
+-
+-#: fortran/resolve.c:6805
+-#, no-c-format
+-msgid "Derived type variable '%s' at %L must have SEQUENCE attribute to be an EQUIVALENCE object"
+-msgstr ""
+-
+-#: fortran/resolve.c:6813
+-#, no-c-format
+-msgid "Derived type variable '%s' at %L cannot have ALLOCATABLE components to be an EQUIVALENCE object"
+-msgstr ""
+-
+-#: fortran/resolve.c:6828
+-#, no-c-format
+-msgid "Derived type variable '%s' at %L with pointer component(s) cannot be an EQUIVALENCE object"
+-msgstr ""
+-
+-#: fortran/resolve.c:6835
+-#, no-c-format
+-msgid "Derived type variable '%s' at %L with default initializer cannot be an EQUIVALENCE object"
+-msgstr ""
+-
+-#: fortran/resolve.c:6936
+-#, no-c-format
+-msgid "Syntax error in EQUIVALENCE statement at %L"
+-msgstr ""
+-
+-#: fortran/resolve.c:6953
+-#, no-c-format
+-msgid "Initialized objects '%s' and '%s' cannot both be in the EQUIVALENCE statement at %L"
+-msgstr ""
+-
+-#: fortran/resolve.c:6967
+-#, no-c-format
+-msgid "Common block member '%s' at %L cannot be an EQUIVALENCE object in the pure procedure '%s'"
+-msgstr ""
+-
+-#: fortran/resolve.c:6976
+-#, no-c-format
+-msgid "Named constant '%s' at %L cannot be an EQUIVALENCE object"
+-msgstr ""
+-
+-#: fortran/resolve.c:7055
+-#, no-c-format
+-msgid "Array '%s' at %L with non-constant bounds cannot be an EQUIVALENCE object"
+-msgstr ""
+-
+-#: fortran/resolve.c:7066
+-#, no-c-format
+-msgid "Structure component '%s' at %L cannot be an EQUIVALENCE object"
+-msgstr ""
+-
+-#: fortran/resolve.c:7077
+-#, no-c-format
+-msgid "Substring at %L has length zero"
+-msgstr ""
+-
+-#: fortran/resolve.c:7120
+-#, no-c-format
+-msgid "PUBLIC function '%s' at %L cannot be of PRIVATE type '%s'"
+-msgstr ""
+-
+-#: fortran/resolve.c:7147
+-#, no-c-format
+-msgid "ENTRY '%s' at %L has no IMPLICIT type"
+-msgstr ""
+-
+-#: fortran/resolve.c:7173
+-#, no-c-format
+-msgid "User operator procedure '%s' at %L must be a FUNCTION"
+-msgstr ""
+-
+-#: fortran/resolve.c:7179
+-#, no-c-format
+-msgid "User operator procedure '%s' at %L cannot be assumed character length"
+-msgstr ""
+-
+-#: fortran/resolve.c:7185
+-#, no-c-format
+-msgid "User operator procedure '%s' at %L must have at least one argument"
+-msgstr ""
+-
+-#: fortran/resolve.c:7195
+-#, no-c-format
+-msgid "First argument of operator interface at %L cannot be optional"
+-msgstr ""
+-
+-#: fortran/resolve.c:7207
+-#, no-c-format
+-msgid "Second argument of operator interface at %L cannot be optional"
+-msgstr ""
+-
+-#: fortran/resolve.c:7211
+-#, no-c-format
+-msgid "Operator interface at %L must have, at most, two arguments"
+-msgstr ""
+-
+-#: fortran/resolve.c:7244
+-#, no-c-format
+-msgid "Contained procedure '%s' at %L of a PURE procedure must also be PURE"
+-msgstr ""
+-
+-#: fortran/scanner.c:676 fortran/scanner.c:797
+-#, no-c-format
+-msgid "Limit of %d continuations exceeded in statement at %C"
+-msgstr ""
+-
+-#: fortran/scanner.c:721
+-#, fuzzy, no-c-format
+-msgid "Missing '&' in continued character constant at %C"
+-msgstr "Uburebure Inyuguti ku"
+-
+-#: fortran/scanner.c:930
+-#, no-c-format
+-msgid "Nonconforming tab character at %C"
+-msgstr ""
+-
+-#: fortran/scanner.c:1021 fortran/scanner.c:1024
+-#, no-c-format
+-msgid "'&' not allowed by itself in line %d"
+-msgstr ""
+-
+-#: fortran/scanner.c:1046 fortran/scanner.c:1049
+-#, no-c-format
+-msgid "'&' not allowed by itself with comment in line %d"
+-msgstr ""
+-
+-#: fortran/scanner.c:1065
+-#, no-c-format
+-msgid "Nonconforming tab character in column 1 of line %d"
+-msgstr ""
+-
+-#: fortran/scanner.c:1262
+-#, fuzzy, no-c-format
+-msgid "%s:%d: file %s left but not entered"
+-msgstr "Akarango OYA"
+-
+-#: fortran/scanner.c:1289
+-#, fuzzy, no-c-format
+-msgid "%s:%d: Illegal preprocessor directive"
+-msgstr "%sin"
+-
+-#: fortran/scanner.c:1382
+-#, no-c-format
+-msgid "File '%s' is being included recursively"
+-msgstr ""
+-
+-#: fortran/scanner.c:1397
+-#, fuzzy, no-c-format
+-msgid "Can't open file '%s'"
+-msgstr "Kuri Gufungura IDOSIYE"
+-
+-#: fortran/scanner.c:1406
+-#, fuzzy, no-c-format
+-msgid "Can't open included file '%s'"
+-msgstr "Gufungura Ibisohoka IDOSIYE"
+-
+-# desktop/source\app\ssodlg.src:DLG_SSOLOGIN.text
+-#: fortran/scanner.c:1508
+-#, fuzzy, c-format
+-msgid "%s:%3d %s\n"
+-msgstr "%s:%s"
+-
+-#: fortran/simplify.c:80
+-#, no-c-format
+-msgid "Result of %s overflows its kind at %L"
+-msgstr ""
+-
+-#: fortran/simplify.c:84
+-#, no-c-format
+-msgid "Result of %s underflows its kind at %L"
+-msgstr ""
+-
+-#: fortran/simplify.c:88
+-#, no-c-format
+-msgid "Result of %s is NaN at %L"
+-msgstr ""
+-
+-#: fortran/simplify.c:92
+-#, no-c-format
+-msgid "Result of %s gives range error for its kind at %L"
+-msgstr ""
+-
+-#: fortran/simplify.c:114
+-#, no-c-format
+-msgid "KIND parameter of %s at %L must be an initialization expression"
+-msgstr ""
+-
+-#: fortran/simplify.c:124
+-#, fuzzy, no-c-format
+-msgid "Invalid KIND parameter of %s at %L"
+-msgstr "Ikigenderwaho sicyo"
+-
+-#: fortran/simplify.c:262
+-#, no-c-format
+-msgid "Argument of ACHAR function at %L outside of range [0,127]"
+-msgstr ""
+-
+-#: fortran/simplify.c:287
+-#, no-c-format
+-msgid "Argument of ACOS at %L must be between -1 and 1"
+-msgstr ""
+-
+-#: fortran/simplify.c:309
+-#, no-c-format
+-msgid "Argument of ACOSH at %L must not be less than 1"
+-msgstr ""
+-
+-#: fortran/simplify.c:536
+-#, no-c-format
+-msgid "Argument of ASIN at %L must be between -1 and 1"
+-msgstr ""
+-
+-#: fortran/simplify.c:592
+-#, no-c-format
+-msgid "Argument of ATANH at %L must be inside the range -1 to 1"
+-msgstr ""
+-
+-#: fortran/simplify.c:618
+-#, no-c-format
+-msgid "If first argument of ATAN2 %L is zero, then the second argument must not be zero"
+-msgstr ""
+-
+-#: fortran/simplify.c:709
+-#, no-c-format
+-msgid "Argument of CHAR function at %L outside of range [0,255]"
+-msgstr ""
+-
+-#: fortran/simplify.c:1248
+-#, no-c-format
+-msgid "Argument of IACHAR at %L must be of length one"
+-msgstr ""
+-
+-#: fortran/simplify.c:1255
+-#, no-c-format
+-msgid "Argument of IACHAR function at %L outside of range 0..127"
+-msgstr ""
+-
+-#: fortran/simplify.c:1292
+-#, fuzzy, no-c-format
+-msgid "Invalid second argument of IBCLR at %L"
+-msgstr "Sibyo Ubwoko Bya"
+-
+-#: fortran/simplify.c:1300
+-#, no-c-format
+-msgid "Second argument of IBCLR exceeds bit size at %L"
+-msgstr ""
+-
+-#: fortran/simplify.c:1334
+-#, fuzzy, no-c-format
+-msgid "Invalid second argument of IBITS at %L"
+-msgstr "Sibyo Ubwoko Bya"
+-
+-#: fortran/simplify.c:1340
+-#, fuzzy, no-c-format
+-msgid "Invalid third argument of IBITS at %L"
+-msgstr "Sibyo Ubwoko Bya"
+-
+-#: fortran/simplify.c:1350
+-#, no-c-format
+-msgid "Sum of second and third arguments of IBITS exceeds bit size at %L"
+-msgstr ""
+-
+-#: fortran/simplify.c:1398
+-#, fuzzy, no-c-format
+-msgid "Invalid second argument of IBSET at %L"
+-msgstr "Sibyo Ubwoko Bya"
+-
+-#: fortran/simplify.c:1406
+-#, no-c-format
+-msgid "Second argument of IBSET exceeds bit size at %L"
+-msgstr ""
+-
+-#: fortran/simplify.c:1436
+-#, no-c-format
+-msgid "Argument of ICHAR at %L must be of length one"
+-msgstr ""
+-
+-#: fortran/simplify.c:1648
+-#, fuzzy, no-c-format
+-msgid "Argument of INT at %L is not a valid type"
+-msgstr "Bya ni OYA a Ikurikiranyanyuguti"
+-
+-#: fortran/simplify.c:1690
+-#, fuzzy, no-c-format
+-msgid "Argument of %s at %L is not a valid type"
+-msgstr "Bya Ikiranga ni OYA a Ikurikiranyanyuguti"
+-
+-#: fortran/simplify.c:1785
+-#, fuzzy, no-c-format
+-msgid "Invalid second argument of ISHFT at %L"
+-msgstr "Sibyo Ubwoko Bya"
+-
+-#: fortran/simplify.c:1801
+-#, no-c-format
+-msgid "Magnitude of second argument of ISHFT exceeds bit size at %L"
+-msgstr ""
+-
+-#: fortran/simplify.c:1865
+-#, fuzzy, no-c-format
+-msgid "Invalid second argument of ISHFTC at %L"
+-msgstr "Sibyo Ubwoko Bya"
+-
+-#: fortran/simplify.c:1879
+-#, fuzzy, no-c-format
+-msgid "Invalid third argument of ISHFTC at %L"
+-msgstr "Sibyo Ubwoko Bya"
+-
+-#: fortran/simplify.c:1885
+-#, no-c-format
+-msgid "Magnitude of third argument of ISHFTC exceeds BIT_SIZE of first argument at %L"
+-msgstr ""
+-
+-#: fortran/simplify.c:1901
+-#, no-c-format
+-msgid "Magnitude of second argument of ISHFTC exceeds third argument at %L"
+-msgstr ""
+-
+-#: fortran/simplify.c:1904
+-#, no-c-format
+-msgid "Magnitude of second argument of ISHFTC exceeds BIT_SIZE of first argument at %L"
+-msgstr ""
+-
+-#: fortran/simplify.c:1975
+-#, no-c-format
+-msgid "Argument of KIND at %L is a DERIVED type"
+-msgstr ""
+-
+-#: fortran/simplify.c:2046
+-#, fuzzy, no-c-format
+-msgid "DIM argument at %L is out of bounds"
+-msgstr "Umubare ni Inyuma Bya"
+-
+-#: fortran/simplify.c:2214
+-#, no-c-format
+-msgid "Argument of LOG at %L cannot be less than or equal to zero"
+-msgstr ""
+-
+-#: fortran/simplify.c:2227
+-#, no-c-format
+-msgid "Complex argument of LOG at %L cannot be zero"
+-msgstr ""
+-
+-#: fortran/simplify.c:2276
+-#, no-c-format
+-msgid "Argument of LOG10 at %L cannot be less than or equal to zero"
+-msgstr ""
+-
+-#. Result is processor-dependent.
+-#: fortran/simplify.c:2453
+-#, no-c-format
+-msgid "Second argument MOD at %L is zero"
+-msgstr ""
+-
+-#. Result is processor-dependent.
+-#: fortran/simplify.c:2464
+-#, fuzzy, no-c-format
+-msgid "Second argument of MOD at %L is zero"
+-msgstr "ISEGONDA Bya INYUGUTI"
+-
+-#. Result is processor-dependent. This processor just opts
+-#. to not handle it at all.
+-#. Result is processor-dependent.
+-#: fortran/simplify.c:2512 fortran/simplify.c:2524
+-#, no-c-format
+-msgid "Second argument of MODULO at %L is zero"
+-msgstr ""
+-
+-#: fortran/simplify.c:2579
+-#, fuzzy, no-c-format
+-msgid "Second argument of NEAREST at %L shall not be zero"
+-msgstr "ISEGONDA Bya INYUGUTI"
+-
+-#: fortran/simplify.c:2903
+-#, fuzzy, no-c-format
+-msgid "Invalid second argument of REPEAT at %L"
+-msgstr "Sibyo Ubwoko Bya"
+-
+-#: fortran/simplify.c:2977
+-#, fuzzy, no-c-format
+-msgid "Integer too large in shape specification at %L"
+-msgstr "Nyuma Ibanjirije in"
+-
+-#: fortran/simplify.c:2987
+-#, no-c-format
+-msgid "Too many dimensions in shape specification for RESHAPE at %L"
+-msgstr ""
+-
+-#: fortran/simplify.c:2995
+-#, no-c-format
+-msgid "Shape specification at %L cannot be negative"
+-msgstr ""
+-
+-#: fortran/simplify.c:3005
+-#, no-c-format
+-msgid "Shape specification at %L cannot be the null array"
+-msgstr ""
+-
+-#: fortran/simplify.c:3029
+-#, no-c-format
+-msgid "ORDER parameter of RESHAPE at %L is not the same size as SHAPE parameter"
+-msgstr ""
+-
+-#: fortran/simplify.c:3036
+-#, no-c-format
+-msgid "Error in ORDER parameter of RESHAPE at %L"
+-msgstr ""
+-
+-#: fortran/simplify.c:3046
+-#, no-c-format
+-msgid "ORDER parameter of RESHAPE at %L is out of range"
+-msgstr ""
+-
+-#: fortran/simplify.c:3055
+-#, no-c-format
+-msgid "Invalid permutation in ORDER parameter at %L"
+-msgstr ""
+-
+-#: fortran/simplify.c:3112
+-#, no-c-format
+-msgid "PAD parameter required for short SOURCE parameter at %L"
+-msgstr ""
+-
+-#: fortran/simplify.c:3282
+-#, no-c-format
+-msgid "Result of SCALE overflows its kind at %L"
+-msgstr ""
+-
+-#: fortran/simplify.c:3900
+-#, fuzzy, no-c-format
+-msgid "Argument of SQRT at %L has a negative value"
+-msgstr "Umumaro Agaciro"
+-
+-#: fortran/simplify.c:3962
+-#, no-c-format
+-msgid "TRANSFER intrinsic not implemented for initialization at %L"
+-msgstr ""
+-
+-#: fortran/symbol.c:112
+-#, fuzzy, no-c-format
+-msgid "Duplicate IMPLICIT NONE statement at %C"
+-msgstr "Inyandiko ku"
+-
+-#: fortran/symbol.c:152
+-#, no-c-format
+-msgid "Letter '%c' already set in IMPLICIT statement at %C"
+-msgstr ""
+-
+-#: fortran/symbol.c:174
+-#, no-c-format
+-msgid "Cannot specify IMPLICIT at %C after IMPLICIT NONE"
+-msgstr ""
+-
+-#: fortran/symbol.c:185
+-#, no-c-format
+-msgid "Letter %c already has an IMPLICIT type at %C"
+-msgstr ""
+-
+-#: fortran/symbol.c:233
+-#, no-c-format
+-msgid "Symbol '%s' at %L has no IMPLICIT type"
+-msgstr ""
+-
+-#: fortran/symbol.c:314
+-#, fuzzy, no-c-format
+-msgid "%s attribute not allowed in BLOCK DATA program unit at %L"
+-msgstr "ku Sibyo in Porogaramu Igice: ku"
+-
+-#: fortran/symbol.c:522 fortran/symbol.c:1021
+-#, fuzzy, no-c-format
+-msgid "%s attribute conflicts with %s attribute at %L"
+-msgstr "`%s'Ikiranga Kuri Ibihinduka"
+-
+-#: fortran/symbol.c:525
+-#, no-c-format
+-msgid "%s attribute conflicts with %s attribute in '%s' at %L"
+-msgstr ""
+-
+-#: fortran/symbol.c:533
+-#, no-c-format
+-msgid "In the selected standard, %s attribute conflicts with %s attribute at %L"
+-msgstr ""
+-
+-#: fortran/symbol.c:539
+-#, no-c-format
+-msgid "In the selected standard, %s attribute conflicts with %s attribute in '%s' at %L"
+-msgstr ""
+-
+-#: fortran/symbol.c:582
+-#, no-c-format
+-msgid "Cannot change attributes of USE-associated symbol at %L"
+-msgstr ""
+-
+-#: fortran/symbol.c:585
+-#, no-c-format
+-msgid "Cannot change attributes of USE-associated symbol %s at %L"
+-msgstr ""
+-
+-#: fortran/symbol.c:601
+-#, fuzzy, no-c-format
+-msgid "Duplicate %s attribute specified at %L"
+-msgstr "Gusubiramo Ikiranga kugirango Umwanya"
+-
+-#: fortran/symbol.c:740
+-#, no-c-format
+-msgid "Cray Pointee at %L appears in multiple pointer() statements."
+-msgstr ""
+-
+-#: fortran/symbol.c:772
+-#, fuzzy, no-c-format
+-msgid "SAVE attribute at %L cannot be specified in a PURE procedure"
+-msgstr "Icyiciro Ikiranga kugirango Ibihinduka"
+-
+-#: fortran/symbol.c:780
+-#, fuzzy, no-c-format
+-msgid "Duplicate SAVE attribute specified at %L"
+-msgstr "Gusubiramo Ikiranga kugirango Umwanya"
+-
+-#: fortran/symbol.c:1051
+-#, no-c-format
+-msgid "%s procedure at %L is already declared as %s procedure"
+-msgstr ""
+-
+-#: fortran/symbol.c:1086
+-#, no-c-format
+-msgid "INTENT (%s) conflicts with INTENT(%s) at %L"
+-msgstr ""
+-
+-#: fortran/symbol.c:1109
+-#, no-c-format
+-msgid "ACCESS specification at %L was already specified"
+-msgstr ""
+-
+-#: fortran/symbol.c:1129
+-#, no-c-format
+-msgid "Symbol '%s' at %L already has an explicit interface"
+-msgstr ""
+-
+-#: fortran/symbol.c:1174
+-#, no-c-format
+-msgid "Symbol '%s' at %L cannot have a type"
+-msgstr ""
+-
+-#: fortran/symbol.c:1314
+-#, no-c-format
+-msgid "Component '%s' at %C already declared at %L"
+-msgstr ""
+-
+-#: fortran/symbol.c:1392
+-#, fuzzy, no-c-format
+-msgid "Symbol '%s' at %C is ambiguous"
+-msgstr "Gukoresha Bya ni"
+-
+-#: fortran/symbol.c:1424
+-#, no-c-format
+-msgid "Derived type '%s' at %C is being used before it is defined"
+-msgstr ""
+-
+-#: fortran/symbol.c:1452
+-#, fuzzy, no-c-format
+-msgid "'%s' at %C is not a member of the '%s' structure"
+-msgstr "`%D'ni OYA a Bya Ubwoko"
+-
+-#: fortran/symbol.c:1458
+-#, no-c-format
+-msgid "Component '%s' at %C is a PRIVATE component of '%s'"
+-msgstr ""
+-
+-#: fortran/symbol.c:1611
+-#, no-c-format
+-msgid "Duplicate statement label %d at %L and %L"
+-msgstr ""
+-
+-#: fortran/symbol.c:1621
+-#, no-c-format
+-msgid "Label %d at %C already referenced as branch target"
+-msgstr ""
+-
+-#: fortran/symbol.c:1630
+-#, no-c-format
+-msgid "Label %d at %C already referenced as a format label"
+-msgstr ""
+-
+-#: fortran/symbol.c:1672
+-#, no-c-format
+-msgid "Label %d at %C previously used as a FORMAT label"
+-msgstr ""
+-
+-#: fortran/symbol.c:1680
+-#, no-c-format
+-msgid "Label %d at %C previously used as branch target"
+-msgstr ""
+-
+-#: fortran/symbol.c:1934
+-#, no-c-format
+-msgid "Name '%s' at %C is an ambiguous reference to '%s' from module '%s'"
+-msgstr ""
+-
+-#: fortran/symbol.c:1937
+-#, no-c-format
+-msgid "Name '%s' at %C is an ambiguous reference to '%s' from current program unit"
+-msgstr ""
+-
+-#. Symbol is from another namespace.
+-#: fortran/symbol.c:2078
+-#, no-c-format
+-msgid "Symbol '%s' at %C has already been host associated"
+-msgstr ""
+-
+-#: fortran/trans-common.c:366
+-#, no-c-format
+-msgid "Named COMMON block '%s' at %L shall be of the same size"
+-msgstr ""
+-
+-#: fortran/trans-common.c:669
+-#, fuzzy, no-c-format
+-msgid "Bad array reference at %L"
+-msgstr "Ikigize: ku kugirango Imbonerahamwe Indango ku"
+-
+-#: fortran/trans-common.c:677
+-#, no-c-format
+-msgid "Illegal reference type at %L as EQUIVALENCE object"
+-msgstr ""
+-
+-#: fortran/trans-common.c:717
+-#, no-c-format
+-msgid "Inconsistent equivalence rules involving '%s' at %L and '%s' at %L"
+-msgstr ""
+-
+-#. Aligning this field would misalign a previous field.
+-#: fortran/trans-common.c:850
+-#, no-c-format
+-msgid "The equivalence set for variable '%s' declared at %L violates alignment requirements"
+-msgstr ""
+-
+-#: fortran/trans-common.c:915
+-#, no-c-format
+-msgid "Equivalence for '%s' does not match ordering of COMMON '%s' at %L"
+-msgstr ""
+-
+-#: fortran/trans-common.c:930
+-#, no-c-format
+-msgid "The equivalence set for '%s' cause an invalid extension to COMMON '%s' at %L"
+-msgstr ""
+-
+-#. The required offset conflicts with previous alignment
+-#. requirements. Insert padding immediately before this
+-#. segment.
+-#: fortran/trans-common.c:941
+-#, no-c-format
+-msgid "Padding of %d bytes required before '%s' in COMMON '%s' at %L"
+-msgstr ""
+-
+-#: fortran/trans-common.c:967
+-#, no-c-format
+-msgid "COMMON '%s' at %L does not exist"
+-msgstr ""
+-
+-#: fortran/trans-common.c:974
+-#, no-c-format
+-msgid "COMMON '%s' at %L requires %d bytes of padding at start"
+-msgstr ""
+-
+-#: fortran/trans-decl.c:446
+-#, fuzzy, no-c-format
+-msgid "storage size not known"
+-msgstr "Ingano Bya si"
+-
+-#: fortran/trans-decl.c:453
+-#, fuzzy, no-c-format
+-msgid "storage size not constant"
+-msgstr "Ingano Bya si"
+-
+-#: fortran/trans-decl.c:2933
+-#, fuzzy, no-c-format
+-msgid "Unused parameter %s declared at %L"
+-msgstr "Kidakoreshwa"
+-
+-#: fortran/trans-decl.c:2939
+-#, fuzzy, no-c-format
+-msgid "Unused variable %s declared at %L"
+-msgstr "Urugero IMPINDURAGACIRO ni"
+-
+-#: fortran/trans-expr.c:1954
+-#, fuzzy, no-c-format
+-msgid "Unknown argument list function at %L"
+-msgstr "ingingo Kuri Umumaro"
+-
+-#: fortran/trans-intrinsic.c:767
+-#, no-c-format
+-msgid "'dim' argument of %s intrinsic at %L is not a valid dimension index"
+-msgstr ""
+-
+-#: fortran/trans-intrinsic.c:3339
+-msgid "Argument NCOPIES of REPEAT intrinsic is negative"
+-msgstr ""
+-
+-#: fortran/trans-io.c:1010
+-#, no-c-format
+-msgid "INQUIRE statement at %L cannot contain both FILE and UNIT specifiers."
+-msgstr ""
+-
+-#: fortran/trans-stmt.c:157
+-msgid "Assigned label is not a target label"
+-msgstr ""
+-
+-#: fortran/trans-stmt.c:184
+-msgid "Assigned label is not in the list"
+-msgstr ""
+-
+-#: fortran/trans-stmt.c:439
+-#, fuzzy, no-c-format
+-msgid "An alternate return at %L without a * dummy argument"
+-msgstr "Garuka ku Sibyo muri a Porogaramu Igice:"
+-
+-#: fortran/trans.c:49
+-msgid "Array bound mismatch"
+-msgstr ""
+-
+-#: fortran/trans.c:50
+-#, fuzzy
+-msgid "Array reference out of bounds"
+-msgstr "Indango Kuri"
+-
+-#: fortran/trans.c:51
+-#, fuzzy
+-msgid "Incorrect function return value"
+-msgstr "`Umumaro Agaciro"
+-
+-#. FIXME: i18n bug here. Order of prints should not be
+-#. fixed.
+-#: java/gjavah.c:916
+-#, fuzzy, c-format
+-msgid "ignored method '"
+-msgstr "Oya Uburyo"
+-
+-#: java/gjavah.c:918
+-#, c-format
+-msgid "' marked virtual\n"
+-msgstr ""
+-
+-#: java/gjavah.c:2356
+-#, c-format
+-msgid "Try '"
+-msgstr ""
+-
+-#: java/gjavah.c:2356
+-#, fuzzy, c-format
+-msgid " --help' for more information.\n"
+-msgstr "ITEGEKONGENGA Ibisobanuro"
+-
+-#: java/gjavah.c:2363
+-#, c-format
+-msgid "Usage: "
+-msgstr ""
+-
+-#: java/gjavah.c:2363
+-#, c-format
+-msgid ""
+-" [OPTION]... CLASS...\n"
+-"\n"
+-msgstr ""
+-
+-#: java/gjavah.c:2364
+-#, c-format
+-msgid ""
+-"Generate C or C++ header files from .class files\n"
+-"\n"
+-msgstr ""
+-
+-#: java/gjavah.c:2365
+-#, fuzzy, c-format
+-msgid " -stubs Generate an implementation stub file\n"
+-msgstr "-N Oya Ibisohoka OYA Kurema Ibisohoka"
+-
+-#: java/gjavah.c:2366
+-#, fuzzy, c-format
+-msgid " -jni Generate a JNI header or stub\n"
+-msgstr "-Birenga"
+-
+-#: java/gjavah.c:2367
+-#, fuzzy, c-format
+-msgid " -force Always overwrite output files\n"
+-msgstr "-o IDOSIYE i Ibisohoka IDOSIYE"
+-
+-#: java/gjavah.c:2368
+-#, fuzzy, c-format
+-msgid " -old Unused compatibility option\n"
+-msgstr "--Ifashayobora iyi"
+-
+-#: java/gjavah.c:2369
+-#, fuzzy, c-format
+-msgid " -trace Unused compatibility option\n"
+-msgstr "--Ifashayobora iyi"
+-
+-#: java/gjavah.c:2370
+-#, c-format
+-msgid " -J OPTION Unused compatibility option\n"
+-msgstr ""
+-
+-#: java/gjavah.c:2372
+-#, c-format
+-msgid " -add TEXT Insert TEXT into class body\n"
+-msgstr ""
+-
+-#: java/gjavah.c:2373
+-#, c-format
+-msgid " -append TEXT Insert TEXT after class declaration\n"
+-msgstr ""
+-
+-#: java/gjavah.c:2374
+-#, c-format
+-msgid " -friend TEXT Insert TEXT as 'friend' declaration\n"
+-msgstr ""
+-
+-#: java/gjavah.c:2375
+-#, c-format
+-msgid " -prepend TEXT Insert TEXT before start of class\n"
+-msgstr ""
+-
+-#: java/gjavah.c:2377 java/jcf-dump.c:917
+-#, c-format
+-msgid " --classpath PATH Set path to find .class files\n"
+-msgstr ""
+-
+-#: java/gjavah.c:2378 java/jcf-dump.c:918
+-#, fuzzy, c-format
+-msgid " -IDIR Append directory to class path\n"
+-msgstr "-bushyinguro bushyinguro Kuri i Gushaka"
+-
+-#: java/gjavah.c:2379 java/jcf-dump.c:919
+-#, c-format
+-msgid " --bootclasspath PATH Override built-in class path\n"
+-msgstr ""
+-
+-#: java/gjavah.c:2380 java/jcf-dump.c:920
+-#, c-format
+-msgid " --extdirs PATH Set extensions directory path\n"
+-msgstr ""
+-
+-#: java/gjavah.c:2381
+-#, c-format
+-msgid " -d DIRECTORY Set output directory name\n"
+-msgstr ""
+-
+-#: java/gjavah.c:2382 java/jcf-dump.c:921 java/jv-scan.c:115
+-#, fuzzy, c-format
+-msgid " -o FILE Set output file name\n"
+-msgstr "-o IDOSIYE Ibisohoka IDOSIYE"
+-
+-#: java/gjavah.c:2383
+-#, c-format
+-msgid " -td DIRECTORY Set temporary directory name\n"
+-msgstr ""
+-
+-#: java/gjavah.c:2385 java/jcf-dump.c:923 java/jv-scan.c:117
+-#, fuzzy, c-format
+-msgid " --help Print this help, then exit\n"
+-msgstr "-h Ifashayobora iyi Ifashayobora Hanyuma"
+-
+-#: java/gjavah.c:2386 java/jcf-dump.c:924 java/jv-scan.c:118
+-#, fuzzy, c-format
+-msgid " --version Print version number, then exit\n"
+-msgstr "-v Verisiyo Verisiyo Umubare Hanyuma"
+-
+-#: java/gjavah.c:2387 java/jcf-dump.c:925
+-#, fuzzy, c-format
+-msgid " -v, --verbose Print extra information while running\n"
+-msgstr "-v Verisiyo Verisiyo Umubare Hanyuma"
+-
+-#: java/gjavah.c:2389
+-#, c-format
+-msgid ""
+-" -M Print all dependencies to stdout;\n"
+-" suppress ordinary output\n"
+-msgstr ""
+-
+-#: java/gjavah.c:2391
+-#, c-format
+-msgid ""
+-" -MM Print non-system dependencies to stdout;\n"
+-" suppress ordinary output\n"
+-msgstr ""
+-
+-#: java/gjavah.c:2393
+-#, fuzzy, c-format
+-msgid " -MD Print all dependencies to stdout\n"
+-msgstr "-h Ifashayobora iyi Ifashayobora Hanyuma"
+-
+-#: java/gjavah.c:2394
+-#, fuzzy, c-format
+-msgid " -MMD Print non-system dependencies to stdout\n"
+-msgstr "-h Ifashayobora iyi Ifashayobora Hanyuma"
+-
+-#: java/gjavah.c:2397 java/jcf-dump.c:927 java/jv-scan.c:120
+-#, fuzzy, c-format
+-msgid ""
+-"For bug reporting instructions, please see:\n"
+-"%s.\n"
+-msgstr "Amabwiriza"
+-
+-#: java/gjavah.c:2581
+-#, fuzzy, c-format
+-msgid "Processing %s\n"
+-msgstr "Ikosa"
+-
+-#: java/gjavah.c:2591
+-#, c-format
+-msgid "Found in %s\n"
+-msgstr ""
+-
+-#: java/jcf-dump.c:834
+-#, fuzzy, c-format
+-msgid "Not a valid Java .class file.\n"
+-msgstr "OYA a Byemewe ishuri IDOSIYE"
+-
+-#: java/jcf-dump.c:840
+-#, fuzzy, c-format
+-msgid "error while parsing constant pool\n"
+-msgstr "Ikosa Itsinda"
+-
+-#: java/jcf-dump.c:846 java/jcf-parse.c:756
+-#, fuzzy, gcc-internal-format
+-msgid "error in constant pool entry #%d\n"
+-msgstr "Ikosa in Itsinda Icyinjijwe"
+-
+-#: java/jcf-dump.c:856
+-#, fuzzy, c-format
+-msgid "error while parsing fields\n"
+-msgstr "Ikosa Imyanya"
+-
+-#: java/jcf-dump.c:862
+-#, fuzzy, c-format
+-msgid "error while parsing methods\n"
+-msgstr "Ikosa"
+-
+-#: java/jcf-dump.c:868
+-#, fuzzy, c-format
+-msgid "error while parsing final attributes\n"
+-msgstr "Ikosa Ibiranga"
+-
+-#: java/jcf-dump.c:905
+-#, c-format
+-msgid "Try 'jcf-dump --help' for more information.\n"
+-msgstr ""
+-
+-#: java/jcf-dump.c:912
+-#, c-format
+-msgid ""
+-"Usage: jcf-dump [OPTION]... CLASS...\n"
+-"\n"
+-msgstr ""
+-
+-#: java/jcf-dump.c:913
+-#, c-format
+-msgid ""
+-"Display contents of a class file in readable form.\n"
+-"\n"
+-msgstr ""
+-
+-#: java/jcf-dump.c:914
+-#, fuzzy, c-format
+-msgid " -c Disassemble method bodies\n"
+-msgstr "-Birenga"
+-
+-#: java/jcf-dump.c:915
+-#, fuzzy, c-format
+-msgid " --javap Generate output in 'javap' format\n"
+-msgstr "--Ifashayobora iyi"
+-
+-#: java/jcf-dump.c:955 java/jcf-dump.c:1023
+-#, c-format
+-msgid "jcf-dump: no classes specified\n"
+-msgstr ""
+-
+-#: java/jcf-dump.c:1043
+-#, fuzzy, c-format
+-msgid "Cannot open '%s' for output.\n"
+-msgstr "Gufungura kugirango"
+-
+-#: java/jcf-dump.c:1089
+-#, c-format
+-msgid "bad format of .zip/.jar archive\n"
+-msgstr ""
+-
+-#: java/jcf-dump.c:1207
+-#, c-format
+-msgid "Bad byte codes.\n"
+-msgstr ""
+-
+-#: java/jv-scan.c:100
+-#, c-format
+-msgid "Try 'jv-scan --help' for more information.\n"
+-msgstr ""
+-
+-#: java/jv-scan.c:107
+-#, c-format
+-msgid ""
+-"Usage: jv-scan [OPTION]... FILE...\n"
+-"\n"
+-msgstr ""
+-
+-#: java/jv-scan.c:108
+-#, c-format
+-msgid ""
+-"Print useful information read from Java source files.\n"
+-"\n"
+-msgstr ""
+-
+-#: java/jv-scan.c:109
+-#, fuzzy, c-format
+-msgid " --no-assert Don't recognize the assert keyword\n"
+-msgstr "OYA i Ijambo- banze"
+-
+-#: java/jv-scan.c:110
+-#, fuzzy, c-format
+-msgid " --complexity Print cyclomatic complexity of input file\n"
+-msgstr "-o IDOSIYE Ibisohoka IDOSIYE"
+-
+-#: java/jv-scan.c:111
+-#, c-format
+-msgid " --encoding NAME Specify encoding of input file\n"
+-msgstr ""
+-
+-#: java/jv-scan.c:112
+-#, c-format
+-msgid " --print-main Print name of class containing 'main'\n"
+-msgstr ""
+-
+-#: java/jv-scan.c:113
+-#, c-format
+-msgid " --list-class List all classes defined in file\n"
+-msgstr ""
+-
+-#: java/jv-scan.c:114
+-#, c-format
+-msgid " --list-filename Print input filename when listing class names\n"
+-msgstr ""
+-
+-#: java/jv-scan.c:257
+-#, fuzzy, c-format
+-msgid "%s: error: "
+-msgstr "Ikosa"
+-
+-#: java/jv-scan.c:269 java/jv-scan.c:280
+-#, fuzzy, c-format
+-msgid "%s: warning: "
+-msgstr "Iburira!"
+-
+-#: java/jvgenmain.c:48
+-#, c-format
+-msgid "Usage: %s [OPTIONS]... CLASSNAMEmain [OUTFILE]\n"
+-msgstr ""
+-
+-#: java/jvgenmain.c:101
+-#, fuzzy, c-format
+-msgid "%s: Cannot open output file: %s\n"
+-msgstr "OYA Gufungura Ibisohoka IDOSIYE"
+-
+-#: java/jvgenmain.c:138
+-#, fuzzy, c-format
+-msgid "%s: Failed to close output file %s\n"
+-msgstr "OYA Gufungura Ibisohoka IDOSIYE"
+-
+-#: java/jvspec.c:427
+-#, c-format
+-msgid "can't specify '-D' without '--main'\n"
+-msgstr ""
+-
+-#: java/jvspec.c:430
+-#, fuzzy, c-format
+-msgid "'%s' is not a valid class name"
+-msgstr "`%s'ni OYA a Byemewe ishuri Izina:"
+-
+-#: java/jvspec.c:436
+-#, fuzzy, c-format
+-msgid "--resource requires -o"
+-msgstr "--o"
+-
+-#: java/jvspec.c:450
+-#, fuzzy, c-format
+-msgid "cannot specify both -C and -o"
+-msgstr "Byombi C Na o"
+-
+-#: java/jvspec.c:462
+-#, fuzzy, c-format
+-msgid "cannot create temporary file"
+-msgstr "Kurema By'igihe gito IDOSIYE"
+-
+-#: java/jvspec.c:490
+-#, fuzzy, c-format
+-msgid "using both @FILE with multiple files not implemented"
+-msgstr "ikoresha Byombi Na: Igikubo Idosiye OYA"
+-
+-#: java/jvspec.c:555
+-#, fuzzy, c-format
+-msgid "cannot specify 'main' class when not linking"
+-msgstr "ishuri Ryari: OYA Impuza"
+-
+-#: /scratch/mitchell/gcc-releases/gcc-4.2.0-20070316/gcc-4.2.0-20070316/gcc/java/parse.y:739
+-#: /scratch/mitchell/gcc-releases/gcc-4.2.0-20070316/gcc-4.2.0-20070316/gcc/java/parse.y:777
+-#, fuzzy
+-msgid "Missing name"
+-msgstr "Izina:"
+-
+-# starmath/source\smres.src:RID_ERR_LGROUPEXPECTED.text
+-#: /scratch/mitchell/gcc-releases/gcc-4.2.0-20070316/gcc-4.2.0-20070316/gcc/java/parse.y:741
+-#: /scratch/mitchell/gcc-releases/gcc-4.2.0-20070316/gcc-4.2.0-20070316/gcc/java/parse.y:779
+-#: /scratch/mitchell/gcc-releases/gcc-4.2.0-20070316/gcc-4.2.0-20070316/gcc/java/parse.y:804
+-#: /scratch/mitchell/gcc-releases/gcc-4.2.0-20070316/gcc-4.2.0-20070316/gcc/java/parse.y:982
+-#: /scratch/mitchell/gcc-releases/gcc-4.2.0-20070316/gcc-4.2.0-20070316/gcc/java/parse.y:1343
+-#: /scratch/mitchell/gcc-releases/gcc-4.2.0-20070316/gcc-4.2.0-20070316/gcc/java/parse.y:1553
+-#: /scratch/mitchell/gcc-releases/gcc-4.2.0-20070316/gcc-4.2.0-20070316/gcc/java/parse.y:1555
+-#: /scratch/mitchell/gcc-releases/gcc-4.2.0-20070316/gcc-4.2.0-20070316/gcc/java/parse.y:1785
+-#: /scratch/mitchell/gcc-releases/gcc-4.2.0-20070316/gcc-4.2.0-20070316/gcc/java/parse.y:1811
+-#: /scratch/mitchell/gcc-releases/gcc-4.2.0-20070316/gcc-4.2.0-20070316/gcc/java/parse.y:1822
+-#: /scratch/mitchell/gcc-releases/gcc-4.2.0-20070316/gcc-4.2.0-20070316/gcc/java/parse.y:1833
+-#: /scratch/mitchell/gcc-releases/gcc-4.2.0-20070316/gcc-4.2.0-20070316/gcc/java/parse.y:1845
+-#: /scratch/mitchell/gcc-releases/gcc-4.2.0-20070316/gcc-4.2.0-20070316/gcc/java/parse.y:1860
+-#, fuzzy
+-msgid "';' expected"
+-msgstr "';'ntigatunguranye"
+-
+-# starmath/source\smres.src:RID_ERR_LGROUPEXPECTED.text
+-#: /scratch/mitchell/gcc-releases/gcc-4.2.0-20070316/gcc-4.2.0-20070316/gcc/java/parse.y:802
+-#, fuzzy
+-msgid "'*' expected"
+-msgstr "'*'ntigatunguranye"
+-
+-#: /scratch/mitchell/gcc-releases/gcc-4.2.0-20070316/gcc-4.2.0-20070316/gcc/java/parse.y:816
+-#, fuzzy
+-msgid "Class or interface declaration expected"
+-msgstr "Cyangwa Ikitezwe:"
+-
+-#: /scratch/mitchell/gcc-releases/gcc-4.2.0-20070316/gcc-4.2.0-20070316/gcc/java/parse.y:853
+-#: /scratch/mitchell/gcc-releases/gcc-4.2.0-20070316/gcc-4.2.0-20070316/gcc/java/parse.y:855
+-#, fuzzy
+-msgid "Missing class name"
+-msgstr "ishuri Izina:"
+-
+-#: /scratch/mitchell/gcc-releases/gcc-4.2.0-20070316/gcc-4.2.0-20070316/gcc/java/parse.y:858
+-#: /scratch/mitchell/gcc-releases/gcc-4.2.0-20070316/gcc-4.2.0-20070316/gcc/java/parse.y:862
+-#: /scratch/mitchell/gcc-releases/gcc-4.2.0-20070316/gcc-4.2.0-20070316/gcc/java/parse.y:870
+-#: /scratch/mitchell/gcc-releases/gcc-4.2.0-20070316/gcc-4.2.0-20070316/gcc/java/parse.y:1022
+-#: /scratch/mitchell/gcc-releases/gcc-4.2.0-20070316/gcc-4.2.0-20070316/gcc/java/parse.y:1288
+-#: /scratch/mitchell/gcc-releases/gcc-4.2.0-20070316/gcc-4.2.0-20070316/gcc/java/parse.y:1290
+-#: /scratch/mitchell/gcc-releases/gcc-4.2.0-20070316/gcc-4.2.0-20070316/gcc/java/parse.y:1620
+-#: /scratch/mitchell/gcc-releases/gcc-4.2.0-20070316/gcc-4.2.0-20070316/gcc/java/parse.y:1871
+-#: /scratch/mitchell/gcc-releases/gcc-4.2.0-20070316/gcc-4.2.0-20070316/gcc/java/parse.y:1903
+-#: /scratch/mitchell/gcc-releases/gcc-4.2.0-20070316/gcc-4.2.0-20070316/gcc/java/parse.y:1965
+-msgid "'{' expected"
+-msgstr "'{' ntigatunguranye"
+-
+-#: /scratch/mitchell/gcc-releases/gcc-4.2.0-20070316/gcc-4.2.0-20070316/gcc/java/parse.y:872
+-#, fuzzy
+-msgid "Missing super class name"
+-msgstr "hejuru ishuri Izina:"
+-
+-#: /scratch/mitchell/gcc-releases/gcc-4.2.0-20070316/gcc-4.2.0-20070316/gcc/java/parse.y:882
+-#: /scratch/mitchell/gcc-releases/gcc-4.2.0-20070316/gcc-4.2.0-20070316/gcc/java/parse.y:898
+-#, fuzzy
+-msgid "Missing interface name"
+-msgstr "Izina:"
+-
+-#: /scratch/mitchell/gcc-releases/gcc-4.2.0-20070316/gcc-4.2.0-20070316/gcc/java/parse.y:961
+-#: /scratch/mitchell/gcc-releases/gcc-4.2.0-20070316/gcc-4.2.0-20070316/gcc/java/parse.y:1307
+-#: /scratch/mitchell/gcc-releases/gcc-4.2.0-20070316/gcc-4.2.0-20070316/gcc/java/parse.y:1369
+-#: /scratch/mitchell/gcc-releases/gcc-4.2.0-20070316/gcc-4.2.0-20070316/gcc/java/parse.y:1577
+-#: /scratch/mitchell/gcc-releases/gcc-4.2.0-20070316/gcc-4.2.0-20070316/gcc/java/parse.y:1800
+-#: /scratch/mitchell/gcc-releases/gcc-4.2.0-20070316/gcc-4.2.0-20070316/gcc/java/parse.y:1809
+-#: /scratch/mitchell/gcc-releases/gcc-4.2.0-20070316/gcc-4.2.0-20070316/gcc/java/parse.y:1820
+-#: /scratch/mitchell/gcc-releases/gcc-4.2.0-20070316/gcc-4.2.0-20070316/gcc/java/parse.y:1831
+-#: /scratch/mitchell/gcc-releases/gcc-4.2.0-20070316/gcc-4.2.0-20070316/gcc/java/parse.y:1843
+-#: /scratch/mitchell/gcc-releases/gcc-4.2.0-20070316/gcc-4.2.0-20070316/gcc/java/parse.y:1858
+-#: /scratch/mitchell/gcc-releases/gcc-4.2.0-20070316/gcc-4.2.0-20070316/gcc/java/parse.y:1875
+-#: /scratch/mitchell/gcc-releases/gcc-4.2.0-20070316/gcc-4.2.0-20070316/gcc/java/parse.y:1877
+-#: /scratch/mitchell/gcc-releases/gcc-4.2.0-20070316/gcc-4.2.0-20070316/gcc/java/parse.y:1958
+-#: /scratch/mitchell/gcc-releases/gcc-4.2.0-20070316/gcc-4.2.0-20070316/gcc/java/parse.y:2135
+-#: /scratch/mitchell/gcc-releases/gcc-4.2.0-20070316/gcc-4.2.0-20070316/gcc/java/parse.y:2204
+-#: /scratch/mitchell/gcc-releases/gcc-4.2.0-20070316/gcc-4.2.0-20070316/gcc/java/parse.y:2368
+-#: /scratch/mitchell/gcc-releases/gcc-4.2.0-20070316/gcc-4.2.0-20070316/gcc/java/parse.y:2381
+-#: /scratch/mitchell/gcc-releases/gcc-4.2.0-20070316/gcc-4.2.0-20070316/gcc/java/parse.y:2388
+-#: /scratch/mitchell/gcc-releases/gcc-4.2.0-20070316/gcc-4.2.0-20070316/gcc/java/parse.y:2395
+-#: /scratch/mitchell/gcc-releases/gcc-4.2.0-20070316/gcc-4.2.0-20070316/gcc/java/parse.y:2406
+-#: /scratch/mitchell/gcc-releases/gcc-4.2.0-20070316/gcc-4.2.0-20070316/gcc/java/parse.y:2408
+-#: /scratch/mitchell/gcc-releases/gcc-4.2.0-20070316/gcc-4.2.0-20070316/gcc/java/parse.y:2446
+-#: /scratch/mitchell/gcc-releases/gcc-4.2.0-20070316/gcc-4.2.0-20070316/gcc/java/parse.y:2448
+-#: /scratch/mitchell/gcc-releases/gcc-4.2.0-20070316/gcc-4.2.0-20070316/gcc/java/parse.y:2450
+-#: /scratch/mitchell/gcc-releases/gcc-4.2.0-20070316/gcc-4.2.0-20070316/gcc/java/parse.y:2471
+-#: /scratch/mitchell/gcc-releases/gcc-4.2.0-20070316/gcc-4.2.0-20070316/gcc/java/parse.y:2473
+-#: /scratch/mitchell/gcc-releases/gcc-4.2.0-20070316/gcc-4.2.0-20070316/gcc/java/parse.y:2475
+-#: /scratch/mitchell/gcc-releases/gcc-4.2.0-20070316/gcc-4.2.0-20070316/gcc/java/parse.y:2491
+-#: /scratch/mitchell/gcc-releases/gcc-4.2.0-20070316/gcc-4.2.0-20070316/gcc/java/parse.y:2493
+-#: /scratch/mitchell/gcc-releases/gcc-4.2.0-20070316/gcc-4.2.0-20070316/gcc/java/parse.y:2514
+-#: /scratch/mitchell/gcc-releases/gcc-4.2.0-20070316/gcc-4.2.0-20070316/gcc/java/parse.y:2516
+-#: /scratch/mitchell/gcc-releases/gcc-4.2.0-20070316/gcc-4.2.0-20070316/gcc/java/parse.y:2518
+-#: /scratch/mitchell/gcc-releases/gcc-4.2.0-20070316/gcc-4.2.0-20070316/gcc/java/parse.y:2546
+-#: /scratch/mitchell/gcc-releases/gcc-4.2.0-20070316/gcc-4.2.0-20070316/gcc/java/parse.y:2548
+-#: /scratch/mitchell/gcc-releases/gcc-4.2.0-20070316/gcc-4.2.0-20070316/gcc/java/parse.y:2550
+-#: /scratch/mitchell/gcc-releases/gcc-4.2.0-20070316/gcc-4.2.0-20070316/gcc/java/parse.y:2552
+-#: /scratch/mitchell/gcc-releases/gcc-4.2.0-20070316/gcc-4.2.0-20070316/gcc/java/parse.y:2570
+-#: /scratch/mitchell/gcc-releases/gcc-4.2.0-20070316/gcc-4.2.0-20070316/gcc/java/parse.y:2572
+-#: /scratch/mitchell/gcc-releases/gcc-4.2.0-20070316/gcc-4.2.0-20070316/gcc/java/parse.y:2583
+-#: /scratch/mitchell/gcc-releases/gcc-4.2.0-20070316/gcc-4.2.0-20070316/gcc/java/parse.y:2594
+-#: /scratch/mitchell/gcc-releases/gcc-4.2.0-20070316/gcc-4.2.0-20070316/gcc/java/parse.y:2605
+-#: /scratch/mitchell/gcc-releases/gcc-4.2.0-20070316/gcc-4.2.0-20070316/gcc/java/parse.y:2616
+-#: /scratch/mitchell/gcc-releases/gcc-4.2.0-20070316/gcc-4.2.0-20070316/gcc/java/parse.y:2627
+-#: /scratch/mitchell/gcc-releases/gcc-4.2.0-20070316/gcc-4.2.0-20070316/gcc/java/parse.y:2640
+-#: /scratch/mitchell/gcc-releases/gcc-4.2.0-20070316/gcc-4.2.0-20070316/gcc/java/parse.y:2644
+-#: /scratch/mitchell/gcc-releases/gcc-4.2.0-20070316/gcc-4.2.0-20070316/gcc/java/parse.y:2646
+-#: /scratch/mitchell/gcc-releases/gcc-4.2.0-20070316/gcc-4.2.0-20070316/gcc/java/parse.y:2659
+-#, fuzzy
+-msgid "Missing term"
+-msgstr "Ijambo"
+-
+-#: /scratch/mitchell/gcc-releases/gcc-4.2.0-20070316/gcc-4.2.0-20070316/gcc/java/parse.y:976
+-#, fuzzy
+-msgid "Missing variable initializer"
+-msgstr "IMPINDURAGACIRO"
+-
+-#: /scratch/mitchell/gcc-releases/gcc-4.2.0-20070316/gcc-4.2.0-20070316/gcc/java/parse.y:993
+-msgid "Invalid declaration"
+-msgstr ""
+-
+-# starmath/source\smres.src:RID_ERR_LGROUPEXPECTED.text
+-#: /scratch/mitchell/gcc-releases/gcc-4.2.0-20070316/gcc-4.2.0-20070316/gcc/java/parse.y:996
+-#: /scratch/mitchell/gcc-releases/gcc-4.2.0-20070316/gcc-4.2.0-20070316/gcc/java/parse.y:1086
+-#: /scratch/mitchell/gcc-releases/gcc-4.2.0-20070316/gcc-4.2.0-20070316/gcc/java/parse.y:2150
+-#: /scratch/mitchell/gcc-releases/gcc-4.2.0-20070316/gcc-4.2.0-20070316/gcc/java/parse.y:2179
+-#: /scratch/mitchell/gcc-releases/gcc-4.2.0-20070316/gcc-4.2.0-20070316/gcc/java/parse.y:2201
+-#: /scratch/mitchell/gcc-releases/gcc-4.2.0-20070316/gcc-4.2.0-20070316/gcc/java/parse.y:2205
+-#: /scratch/mitchell/gcc-releases/gcc-4.2.0-20070316/gcc-4.2.0-20070316/gcc/java/parse.y:2240
+-#: /scratch/mitchell/gcc-releases/gcc-4.2.0-20070316/gcc-4.2.0-20070316/gcc/java/parse.y:2319
+-#: /scratch/mitchell/gcc-releases/gcc-4.2.0-20070316/gcc-4.2.0-20070316/gcc/java/parse.y:2329
+-#: /scratch/mitchell/gcc-releases/gcc-4.2.0-20070316/gcc-4.2.0-20070316/gcc/java/parse.y:2339
+-#, fuzzy
+-msgid "']' expected"
+-msgstr "']'ntigatunguranye"
+-
+-#: /scratch/mitchell/gcc-releases/gcc-4.2.0-20070316/gcc-4.2.0-20070316/gcc/java/parse.y:1000
+-msgid "Unbalanced ']'"
+-msgstr ""
+-
+-#: /scratch/mitchell/gcc-releases/gcc-4.2.0-20070316/gcc-4.2.0-20070316/gcc/java/parse.y:1036
+-#, fuzzy
+-msgid "Invalid method declaration, method name required"
+-msgstr "Uburyo Uburyo Izina: Bya ngombwa"
+-
+-#: /scratch/mitchell/gcc-releases/gcc-4.2.0-20070316/gcc-4.2.0-20070316/gcc/java/parse.y:1042
+-#: /scratch/mitchell/gcc-releases/gcc-4.2.0-20070316/gcc-4.2.0-20070316/gcc/java/parse.y:1048
+-#: /scratch/mitchell/gcc-releases/gcc-4.2.0-20070316/gcc-4.2.0-20070316/gcc/java/parse.y:1054
+-#: /scratch/mitchell/gcc-releases/gcc-4.2.0-20070316/gcc-4.2.0-20070316/gcc/java/parse.y:2053
+-msgid "Identifier expected"
+-msgstr "Ikiranga ntigitunguranye"
+-
+-#: /scratch/mitchell/gcc-releases/gcc-4.2.0-20070316/gcc-4.2.0-20070316/gcc/java/parse.y:1060
+-#: /scratch/mitchell/gcc-releases/gcc-4.2.0-20070316/gcc-4.2.0-20070316/gcc/java/parse.y:4738
+-#, fuzzy, gcc-internal-format
+-msgid "Invalid method declaration, return type required"
+-msgstr "Uburyo Garuka Ubwoko Bya ngombwa"
+-
+-#: /scratch/mitchell/gcc-releases/gcc-4.2.0-20070316/gcc-4.2.0-20070316/gcc/java/parse.y:1084
+-#: /scratch/mitchell/gcc-releases/gcc-4.2.0-20070316/gcc-4.2.0-20070316/gcc/java/parse.y:1533
+-#: /scratch/mitchell/gcc-releases/gcc-4.2.0-20070316/gcc-4.2.0-20070316/gcc/java/parse.y:1540
+-#: /scratch/mitchell/gcc-releases/gcc-4.2.0-20070316/gcc-4.2.0-20070316/gcc/java/parse.y:1549
+-#: /scratch/mitchell/gcc-releases/gcc-4.2.0-20070316/gcc-4.2.0-20070316/gcc/java/parse.y:1551
+-#: /scratch/mitchell/gcc-releases/gcc-4.2.0-20070316/gcc-4.2.0-20070316/gcc/java/parse.y:1579
+-#: /scratch/mitchell/gcc-releases/gcc-4.2.0-20070316/gcc-4.2.0-20070316/gcc/java/parse.y:1688
+-#: /scratch/mitchell/gcc-releases/gcc-4.2.0-20070316/gcc-4.2.0-20070316/gcc/java/parse.y:1995
+-#: /scratch/mitchell/gcc-releases/gcc-4.2.0-20070316/gcc-4.2.0-20070316/gcc/java/parse.y:2048
+-msgid "')' expected"
+-msgstr "')' ntigatunguranye"
+-
+-#: /scratch/mitchell/gcc-releases/gcc-4.2.0-20070316/gcc-4.2.0-20070316/gcc/java/parse.y:1100
+-#, fuzzy
+-msgid "Missing formal parameter term"
+-msgstr "Ijambo"
+-
+-#: /scratch/mitchell/gcc-releases/gcc-4.2.0-20070316/gcc-4.2.0-20070316/gcc/java/parse.y:1115
+-#: /scratch/mitchell/gcc-releases/gcc-4.2.0-20070316/gcc-4.2.0-20070316/gcc/java/parse.y:1120
+-#, fuzzy
+-msgid "Missing identifier"
+-msgstr "Ikiranga"
+-
+-#: /scratch/mitchell/gcc-releases/gcc-4.2.0-20070316/gcc-4.2.0-20070316/gcc/java/parse.y:1140
+-#: /scratch/mitchell/gcc-releases/gcc-4.2.0-20070316/gcc-4.2.0-20070316/gcc/java/parse.y:1149
+-#, fuzzy
+-msgid "Missing class type term"
+-msgstr "ishuri Ubwoko Ijambo"
+-
+-#: /scratch/mitchell/gcc-releases/gcc-4.2.0-20070316/gcc-4.2.0-20070316/gcc/java/parse.y:1305
+-#, fuzzy
+-msgid "Invalid interface type"
+-msgstr "Ubwoko"
+-
+-# starmath/source\smres.src:RID_ERR_LGROUPEXPECTED.text
+-#: /scratch/mitchell/gcc-releases/gcc-4.2.0-20070316/gcc-4.2.0-20070316/gcc/java/parse.y:1493
+-#: /scratch/mitchell/gcc-releases/gcc-4.2.0-20070316/gcc-4.2.0-20070316/gcc/java/parse.y:1667
+-#: /scratch/mitchell/gcc-releases/gcc-4.2.0-20070316/gcc-4.2.0-20070316/gcc/java/parse.y:1669
+-#, fuzzy
+-msgid "':' expected"
+-msgstr "':'ntigatunguranye"
+-
+-#: /scratch/mitchell/gcc-releases/gcc-4.2.0-20070316/gcc-4.2.0-20070316/gcc/java/parse.y:1519
+-#: /scratch/mitchell/gcc-releases/gcc-4.2.0-20070316/gcc-4.2.0-20070316/gcc/java/parse.y:1524
+-#: /scratch/mitchell/gcc-releases/gcc-4.2.0-20070316/gcc-4.2.0-20070316/gcc/java/parse.y:1529
+-#, fuzzy
+-msgid "Invalid expression statement"
+-msgstr "imvugo Inyandiko"
+-
+-#: /scratch/mitchell/gcc-releases/gcc-4.2.0-20070316/gcc-4.2.0-20070316/gcc/java/parse.y:1547
+-#: /scratch/mitchell/gcc-releases/gcc-4.2.0-20070316/gcc-4.2.0-20070316/gcc/java/parse.y:1575
+-#: /scratch/mitchell/gcc-releases/gcc-4.2.0-20070316/gcc-4.2.0-20070316/gcc/java/parse.y:1616
+-#: /scratch/mitchell/gcc-releases/gcc-4.2.0-20070316/gcc-4.2.0-20070316/gcc/java/parse.y:1684
+-#: /scratch/mitchell/gcc-releases/gcc-4.2.0-20070316/gcc-4.2.0-20070316/gcc/java/parse.y:1752
+-#: /scratch/mitchell/gcc-releases/gcc-4.2.0-20070316/gcc-4.2.0-20070316/gcc/java/parse.y:1873
+-#: /scratch/mitchell/gcc-releases/gcc-4.2.0-20070316/gcc-4.2.0-20070316/gcc/java/parse.y:1951
+-#: /scratch/mitchell/gcc-releases/gcc-4.2.0-20070316/gcc-4.2.0-20070316/gcc/java/parse.y:2042
+-#: /scratch/mitchell/gcc-releases/gcc-4.2.0-20070316/gcc-4.2.0-20070316/gcc/java/parse.y:2044
+-#: /scratch/mitchell/gcc-releases/gcc-4.2.0-20070316/gcc-4.2.0-20070316/gcc/java/parse.y:2057
+-#: /scratch/mitchell/gcc-releases/gcc-4.2.0-20070316/gcc-4.2.0-20070316/gcc/java/parse.y:2300
+-#: /scratch/mitchell/gcc-releases/gcc-4.2.0-20070316/gcc-4.2.0-20070316/gcc/java/parse.y:2302
+-msgid "'(' expected"
+-msgstr "'(' ntigatunguranye"
+-
+-#: /scratch/mitchell/gcc-releases/gcc-4.2.0-20070316/gcc-4.2.0-20070316/gcc/java/parse.y:1618
+-#, fuzzy
+-msgid "Missing term or ')'"
+-msgstr "Ijambo Cyangwa"
+-
+-#: /scratch/mitchell/gcc-releases/gcc-4.2.0-20070316/gcc-4.2.0-20070316/gcc/java/parse.y:1665
+-#, fuzzy
+-msgid "Missing or invalid constant expression"
+-msgstr "Cyangwa Sibyo imvugo"
+-
+-#: /scratch/mitchell/gcc-releases/gcc-4.2.0-20070316/gcc-4.2.0-20070316/gcc/java/parse.y:1686
+-#, fuzzy
+-msgid "Missing term and ')' expected"
+-msgstr "Ijambo Na Ikitezwe:"
+-
+-#: /scratch/mitchell/gcc-releases/gcc-4.2.0-20070316/gcc-4.2.0-20070316/gcc/java/parse.y:1725
+-#, fuzzy
+-msgid "Invalid control expression"
+-msgstr "Igenzura imvugo"
+-
+-#: /scratch/mitchell/gcc-releases/gcc-4.2.0-20070316/gcc-4.2.0-20070316/gcc/java/parse.y:1727
+-#: /scratch/mitchell/gcc-releases/gcc-4.2.0-20070316/gcc-4.2.0-20070316/gcc/java/parse.y:1729
+-#, fuzzy
+-msgid "Invalid update expression"
+-msgstr "Kuvugurura imvugo"
+-
+-#: /scratch/mitchell/gcc-releases/gcc-4.2.0-20070316/gcc-4.2.0-20070316/gcc/java/parse.y:1754
+-#, fuzzy
+-msgid "Invalid init statement"
+-msgstr "Inyandiko"
+-
+-#: /scratch/mitchell/gcc-releases/gcc-4.2.0-20070316/gcc-4.2.0-20070316/gcc/java/parse.y:1954
+-#, fuzzy
+-msgid "Missing term or ')' expected"
+-msgstr "Ijambo Cyangwa Ikitezwe:"
+-
+-#: /scratch/mitchell/gcc-releases/gcc-4.2.0-20070316/gcc-4.2.0-20070316/gcc/java/parse.y:1997
+-#, fuzzy
+-msgid "'class' or 'this' expected"
+-msgstr "'Cyangwa Ikitezwe:"
+-
+-#: /scratch/mitchell/gcc-releases/gcc-4.2.0-20070316/gcc-4.2.0-20070316/gcc/java/parse.y:1999
+-#: /scratch/mitchell/gcc-releases/gcc-4.2.0-20070316/gcc-4.2.0-20070316/gcc/java/parse.y:2001
+-#, fuzzy
+-msgid "'class' expected"
+-msgstr "'Ikitezwe:"
+-
+-#: /scratch/mitchell/gcc-releases/gcc-4.2.0-20070316/gcc-4.2.0-20070316/gcc/java/parse.y:2046
+-#, fuzzy
+-msgid "')' or term expected"
+-msgstr "')'Cyangwa Ijambo Ikitezwe:"
+-
+-# starmath/source\smres.src:RID_ERR_LGROUPEXPECTED.text
+-#: /scratch/mitchell/gcc-releases/gcc-4.2.0-20070316/gcc-4.2.0-20070316/gcc/java/parse.y:2148
+-#: /scratch/mitchell/gcc-releases/gcc-4.2.0-20070316/gcc-4.2.0-20070316/gcc/java/parse.y:2177
+-#, fuzzy
+-msgid "'[' expected"
+-msgstr "'['ntigatunguranye"
+-
+-#: /scratch/mitchell/gcc-releases/gcc-4.2.0-20070316/gcc-4.2.0-20070316/gcc/java/parse.y:2255
+-#, fuzzy
+-msgid "Field expected"
+-msgstr "Ikitezwe:"
+-
+-#: /scratch/mitchell/gcc-releases/gcc-4.2.0-20070316/gcc-4.2.0-20070316/gcc/java/parse.y:2314
+-#: /scratch/mitchell/gcc-releases/gcc-4.2.0-20070316/gcc-4.2.0-20070316/gcc/java/parse.y:2324
+-#: /scratch/mitchell/gcc-releases/gcc-4.2.0-20070316/gcc-4.2.0-20070316/gcc/java/parse.y:2334
+-#, fuzzy
+-msgid "Missing term and ']' expected"
+-msgstr "Ijambo Na Ikitezwe:"
+-
+-#: /scratch/mitchell/gcc-releases/gcc-4.2.0-20070316/gcc-4.2.0-20070316/gcc/java/parse.y:2439
+-#, fuzzy
+-msgid "']' expected, invalid type expression"
+-msgstr "']'Ikitezwe: Sibyo Ubwoko imvugo"
+-
+-#: /scratch/mitchell/gcc-releases/gcc-4.2.0-20070316/gcc-4.2.0-20070316/gcc/java/parse.y:2442
+-#, fuzzy
+-msgid "Invalid type expression"
+-msgstr "Ubwoko imvugo"
+-
+-#: /scratch/mitchell/gcc-releases/gcc-4.2.0-20070316/gcc-4.2.0-20070316/gcc/java/parse.y:2554
+-#, fuzzy
+-msgid "Invalid reference type"
+-msgstr "Indango Ubwoko"
+-
+-#: /scratch/mitchell/gcc-releases/gcc-4.2.0-20070316/gcc-4.2.0-20070316/gcc/java/parse.y:3025
+-#, fuzzy
+-msgid "Constructor invocation must be first thing in a constructor"
+-msgstr "Itangira in a"
+-
+-#: /scratch/mitchell/gcc-releases/gcc-4.2.0-20070316/gcc-4.2.0-20070316/gcc/java/parse.y:3027
+-msgid "Only constructors can invoke constructors"
+-msgstr ""
+-
+-#: /scratch/mitchell/gcc-releases/gcc-4.2.0-20070316/gcc-4.2.0-20070316/gcc/java/parse.y:16544
+-#, fuzzy
+-msgid "parse error"
+-msgstr "Ikosa"
+-
+-#: /scratch/mitchell/gcc-releases/gcc-4.2.0-20070316/gcc-4.2.0-20070316/gcc/java/parse.y:16546
+-#, fuzzy
+-msgid "parse error; also virtual memory exhausted"
+-msgstr "Ikosa Kitaboneka Ububiko"
+-
+-#: /scratch/mitchell/gcc-releases/gcc-4.2.0-20070316/gcc-4.2.0-20070316/gcc/java/parse.y:16548
+-#, fuzzy
+-msgid "parse error: cannot back up"
+-msgstr "Ikosa Inyuma Hejuru"
+-
+-#: gcc.c:773
+-#, fuzzy
+-msgid "GCC does not support -C or -CC without -E"
+-msgstr "C OYA Gushigikira ikoresha E"
+-
+-#: gcc.c:800 java/jvspec.c:80 ada/lang-specs.h:34
+-#, fuzzy
+-msgid "-pg and -fomit-frame-pointer are incompatible"
+-msgstr "-Na Ikadiri Mweretsi"
+-
+-#: gcc.c:975
+-#, fuzzy
+-msgid "-E or -x required when input is from standard input"
+-msgstr "-E Bya ngombwa Ryari: Iyinjiza ni Bivuye Bisanzwe Iyinjiza"
+-
+-#: config/mips/mips.h:871 config/arc/arc.h:62
+-#, fuzzy
+-msgid "may not use both -EB and -EL"
+-msgstr "Gicurasi OYA Gukoresha Byombi Na"
+-
+-#: config/mips/r3900.h:35
+-#, fuzzy
+-msgid "-mhard-float not supported"
+-msgstr "-Kureremba OYA"
+-
+-#: config/mips/r3900.h:37
+-#, fuzzy
+-msgid "-msingle-float and -msoft-float cannot both be specified"
+-msgstr "-Kureremba Na Kureremba OYA Byombi"
+-
+-#: config/darwin.h:265
+-#, fuzzy
+-msgid "-current_version only allowed with -dynamiclib"
+-msgstr "-Na:"
+-
+-#: config/darwin.h:267
+-#, fuzzy
+-msgid "-install_name only allowed with -dynamiclib"
+-msgstr "-Na:"
+-
+-#: config/darwin.h:272
+-#, fuzzy
+-msgid "-bundle not allowed with -dynamiclib"
+-msgstr "-OYA Na:"
+-
+-#: config/darwin.h:273
+-#, fuzzy
+-msgid "-bundle_loader not allowed with -dynamiclib"
+-msgstr "-OYA Na:"
+-
+-#: config/darwin.h:274
+-#, fuzzy
+-msgid "-client_name not allowed with -dynamiclib"
+-msgstr "-OYA Na:"
+-
+-#: config/darwin.h:279
+-#, fuzzy
+-msgid "-force_flat_namespace not allowed with -dynamiclib"
+-msgstr "-OYA Na:"
+-
+-#: config/darwin.h:281
+-#, fuzzy
+-msgid "-keep_private_externs not allowed with -dynamiclib"
+-msgstr "-OYA Na:"
+-
+-#: config/darwin.h:282
+-#, fuzzy
+-msgid "-private_bundle not allowed with -dynamiclib"
+-msgstr "-OYA Na:"
+-
+-#: config/vax/netbsd-elf.h:42
+-#, fuzzy
+-msgid "the -shared option is not currently supported for VAX ELF"
+-msgstr "Ihitamo ni OYA kugirango"
+-
+-#: config/vax/vax.h:50 config/vax/vax.h:51
+-#, fuzzy
+-msgid "profiling not supported with -mg\n"
+-msgstr "OYA Na:"
+-
+-#: config/sparc/linux.h:127 config/sparc/linux.h:129
+-#: config/sparc/linux64.h:152 config/sparc/linux64.h:154
+-#: config/rs6000/linux64.h:344 config/rs6000/linux64.h:346
+-#: config/rs6000/sysv4.h:898 config/rs6000/sysv4.h:900
+-#: config/alpha/linux-elf.h:34 config/alpha/linux-elf.h:36 config/linux.h:106
+-#: config/linux.h:108
+-#, fuzzy
+-msgid "-mglibc and -muclibc used together"
+-msgstr "-Na Gicurasi OYA"
+-
+-#: config/sparc/linux64.h:211 config/sparc/linux64.h:222
+-#: config/sparc/netbsd-elf.h:126 config/sparc/netbsd-elf.h:145
+-#: config/sparc/sol2-bi.h:207 config/sparc/sol2-bi.h:217
+-#, fuzzy
+-msgid "may not use both -m32 and -m64"
+-msgstr "Gicurasi OYA Gukoresha Byombi Na"
+-
+-#: config/vxworks.h:66
+-#, fuzzy
+-msgid "-Xbind-now and -Xbind-lazy are incompatible"
+-msgstr "-Na"
+-
+-#: config/i386/mingw32.h:58 config/i386/cygwin.h:70
+-#, fuzzy
+-msgid "shared and mdll are not compatible"
+-msgstr "Na OYA"
+-
+-#: config/i386/nwld.h:35
+-#, fuzzy
+-msgid "Static linking is not supported.\n"
+-msgstr "imvugo ni OYA"
+-
+-#: config/sparc/sol2-bi.h:179 config/sparc/sol2-bi.h:184
+-#: config/sparc/sol2-gld-bi.h:17 config/sparc/sol2-gld-bi.h:22
+-#, fuzzy
+-msgid "does not support multilib"
+-msgstr "%sOYA Gushigikira"
+-
+-#: config/i386/cygwin.h:29
+-#, fuzzy
+-msgid "mno-cygwin and mno-win32 are not compatible"
+-msgstr "Na OYA"
+-
+-#: config/arm/arm.h:141
+-#, fuzzy
+-msgid "-msoft-float and -mhard_float may not be used together"
+-msgstr "-Kureremba Na Gicurasi OYA"
+-
+-#: config/arm/arm.h:143
+-#, fuzzy
+-msgid "-mbig-endian and -mlittle-endian may not be used together"
+-msgstr "-Na Gicurasi OYA"
+-
+-#: config/i386/sco5.h:189
+-#, fuzzy
+-msgid "-pg not supported on this platform"
+-msgstr "`%s'Ikiranga ni OYA ku iyi"
+-
+-#: config/i386/sco5.h:190
+-msgid "-p and -pp specified - pick one"
+-msgstr ""
+-
+-#: config/i386/sco5.h:259
+-msgid "-G and -static are mutually exclusive"
+-msgstr ""
+-
+-#: config/sh/sh.h:458
+-#, fuzzy
+-msgid "SH2a does not support little-endian"
+-msgstr "Intego OYA Gushigikira"
+-
+-#: java/lang-specs.h:34
+-#, fuzzy
+-msgid "-fjni and -femit-class-files are incompatible"
+-msgstr "-Na ishuri Idosiye"
+-
+-#: java/lang-specs.h:35
+-#, fuzzy
+-msgid "-fjni and -femit-class-file are incompatible"
+-msgstr "-Na ishuri IDOSIYE"
+-
+-#: java/lang-specs.h:36 java/lang-specs.h:37
+-#, fuzzy
+-msgid "-femit-class-file should used along with -fsyntax-only"
+-msgstr "-ishuri IDOSIYE Na:"
+-
+-#: config/rs6000/darwin.h:146
+-#, fuzzy
+-msgid " conflicting code gen style switches are used"
+-msgstr "ITEGEKONGENGA IMISUSIRE"
+-
+-#: config/mcore/mcore.h:57
+-#, fuzzy
+-msgid "the m210 does not have little endian support"
+-msgstr "i OYA Gushigikira"
+-
+-#: ada/lang-specs.h:35
+-#, fuzzy
+-msgid "-c or -S required for Ada"
+-msgstr "-C Cyangwa Bya ngombwa kugirango"
+-
+-#: config/lynx.h:71
+-msgid "cannot use mthreads and mlegacy-threads together"
+-msgstr ""
+-
+-#: config/lynx.h:96
+-msgid "cannot use mshared and static together"
+-msgstr ""
+-
+-#: config/s390/tpf.h:120
+-#, fuzzy
+-msgid "static is not supported on TPF-OS"
+-msgstr "Imbibi OYA ku iyi Intego"
+-
+-#: config/mmix/mmix.opt:25
+-#, fuzzy
+-msgid "For intrinsics library: pass all parameters in registers"
+-msgstr "Isomero Byose Ibigenga in"
+-
+-#: config/mmix/mmix.opt:29
+-#, fuzzy
+-msgid "Use register stack for parameters and return value"
+-msgstr "Kwiyandikisha kugirango Ibigenga Na Garuka Agaciro"
+-
+-#: config/mmix/mmix.opt:33
+-#, fuzzy
+-msgid "Use call-clobbered registers for parameters and return value"
+-msgstr "kugirango Ibigenga Na Garuka Agaciro"
+-
+-#: config/mmix/mmix.opt:38
+-#, fuzzy
+-msgid "Use epsilon-respecting floating point compare instructions"
+-msgstr "ebusiloni Bihindagurika Akadomo Kugereranya# Amabwiriza"
+-
+-#: config/mmix/mmix.opt:42
+-#, fuzzy
+-msgid "Use zero-extending memory loads, not sign-extending ones"
+-msgstr "Zeru Ububiko OYA IKIMENYETSO"
+-
+-#: config/mmix/mmix.opt:46
+-#, fuzzy
+-msgid "Generate divide results with reminder having the same sign as the divisor (not the dividend)"
+-msgstr "Kugabanya Ibisubizo ku Na: Mwibutsa i IKIMENYETSO Nka i Ikigabanya OYA i Ikigabanywa"
+-
+-#: config/mmix/mmix.opt:50
+-#, fuzzy
+-msgid "Prepend global symbols with \":\" (for use with PREFIX)"
+-msgstr "Ibimenyetso Na: kugirango Gukoresha Na:"
+-
+-#: config/mmix/mmix.opt:54
+-#, fuzzy
+-msgid "Do not provide a default start-address 0x100 of the program"
+-msgstr "OYA a Mburabuzi Gutangira Aderesi Bya i Porogaramu"
+-
+-#: config/mmix/mmix.opt:58
+-#, fuzzy
+-msgid "Link to emit program in ELF format (rather than mmo)"
+-msgstr "Kuri Porogaramu in Imiterere"
+-
+-#: config/mmix/mmix.opt:62
+-#, fuzzy
+-msgid "Use P-mnemonics for branches statically predicted as taken"
+-msgstr "kugirango Nka"
+-
+-#: config/mmix/mmix.opt:66
+-#, fuzzy
+-msgid "Don't use P-mnemonics for branches"
+-msgstr "Gukoresha kugirango"
+-
+-#: config/mmix/mmix.opt:80
+-#, fuzzy
+-msgid "Use addresses that allocate global registers"
+-msgstr "Amaderesi"
+-
+-#: config/mmix/mmix.opt:84
+-#, fuzzy
+-msgid "Do not use addresses that allocate global registers"
+-msgstr "OYA Gukoresha Amaderesi"
+-
+-#: config/mmix/mmix.opt:88
+-#, fuzzy
+-msgid "Generate a single exit point for each function"
+-msgstr "a UMWE Gusohoka Akadomo kugirango Umumaro"
+-
+-#: config/mmix/mmix.opt:92
+-#, fuzzy
+-msgid "Do not generate a single exit point for each function"
+-msgstr "OYA a UMWE Gusohoka Akadomo kugirango Umumaro"
+-
+-#: config/mmix/mmix.opt:96
+-#, fuzzy
+-msgid "Set start-address of the program"
+-msgstr "Gutangira Aderesi Bya i Porogaramu"
+-
+-#: config/mmix/mmix.opt:100
+-#, fuzzy
+-msgid "Set start-address of data"
+-msgstr "Gutangira Aderesi Bya Ibyatanzwe"
+-
+-#: config/alpha/alpha.opt:24 config/i386/i386.opt:186
+-#, fuzzy
+-msgid "Do not use hardware fp"
+-msgstr "OYA Gukoresha"
+-
+-#: config/alpha/alpha.opt:28
+-msgid "Use fp registers"
+-msgstr ""
+-
+-#: config/alpha/alpha.opt:32
+-msgid "Assume GAS"
+-msgstr ""
+-
+-#: config/alpha/alpha.opt:36
+-#, fuzzy
+-msgid "Do not assume GAS"
+-msgstr "OYA"
+-
+-#: config/alpha/alpha.opt:40
+-#, fuzzy
+-msgid "Request IEEE-conformant math library routines (OSF/1)"
+-msgstr "Imibare Isomero 1."
+-
+-#: config/alpha/alpha.opt:44
+-#, fuzzy
+-msgid "Emit IEEE-conformant code, without inexact exceptions"
+-msgstr "ITEGEKONGENGA Amarengayobora"
+-
+-#: config/alpha/alpha.opt:51
+-#, fuzzy
+-msgid "Do not emit complex integer constants to read-only memory"
+-msgstr "OYA ITSINDA RY'IMIBARE C Umubare wuzuye Kuri Gusoma Ububiko"
+-
+-#: config/alpha/alpha.opt:55
+-msgid "Use VAX fp"
+-msgstr ""
+-
+-#: config/alpha/alpha.opt:59
+-#, fuzzy
+-msgid "Do not use VAX fp"
+-msgstr "OYA Gukoresha"
+-
+-#: config/alpha/alpha.opt:63
+-#, fuzzy
+-msgid "Emit code for the byte/word ISA extension"
+-msgstr "ITEGEKONGENGA kugirango i Bayite ijambo Umugereka"
+-
+-#: config/alpha/alpha.opt:67
+-#, fuzzy
+-msgid "Emit code for the motion video ISA extension"
+-msgstr "ITEGEKONGENGA kugirango i Videwo... Umugereka"
+-
+-#: config/alpha/alpha.opt:71
+-#, fuzzy
+-msgid "Emit code for the fp move and sqrt ISA extension"
+-msgstr "ITEGEKONGENGA kugirango i Kwimura Na SQRT Umugereka"
+-
+-#: config/alpha/alpha.opt:75
+-#, fuzzy
+-msgid "Emit code for the counting ISA extension"
+-msgstr "ITEGEKONGENGA kugirango i Kubara Umugereka"
+-
+-#: config/alpha/alpha.opt:79
+-#, fuzzy
+-msgid "Emit code using explicit relocation directives"
+-msgstr "ITEGEKONGENGA ikoresha"
+-
+-#: config/alpha/alpha.opt:83
+-#, fuzzy
+-msgid "Emit 16-bit relocations to the small data areas"
+-msgstr "Kuri i Gitoya Ibyatanzwe Ubuso"
+-
+-#: config/alpha/alpha.opt:87
+-#, fuzzy
+-msgid "Emit 32-bit relocations to the small data areas"
+-msgstr "Kuri i Gitoya Ibyatanzwe Ubuso"
+-
+-#: config/alpha/alpha.opt:91
+-#, fuzzy
+-msgid "Emit direct branches to local functions"
+-msgstr "i Ikadiri Mweretsi in Imimaro"
+-
+-#: config/alpha/alpha.opt:95
+-msgid "Emit indirect branches to local functions"
+-msgstr ""
+-
+-#: config/alpha/alpha.opt:99
+-#, fuzzy
+-msgid "Emit rdval instead of rduniq for thread pointer"
+-msgstr "Bya kugirango Urudodo Mweretsi"
+-
+-#: config/alpha/alpha.opt:103 config/sparc/long-double-switch.opt:24
+-#: config/s390/s390.opt:56
+-#, fuzzy
+-msgid "Use 128-bit long double"
+-msgstr "Ubwoko"
+-
+-#: config/alpha/alpha.opt:107 config/sparc/long-double-switch.opt:28
+-#: config/s390/s390.opt:60
+-#, fuzzy
+-msgid "Use 64-bit long double"
+-msgstr "Ubwoko"
+-
+-#: config/alpha/alpha.opt:111
+-#, fuzzy
+-msgid "Use features of and schedule given CPU"
+-msgstr "Ibiranga Bya Na Igenabihe"
+-
+-#: config/alpha/alpha.opt:115
+-msgid "Schedule given CPU"
+-msgstr ""
+-
+-#: config/alpha/alpha.opt:119
+-#, fuzzy
+-msgid "Control the generated fp rounding mode"
+-msgstr "i Ubwoko"
+-
+-#: config/alpha/alpha.opt:123
+-#, fuzzy
+-msgid "Control the IEEE trap mode"
+-msgstr "i Ubwoko"
+-
+-#: config/alpha/alpha.opt:127
+-#, fuzzy
+-msgid "Control the precision given to fp exceptions"
+-msgstr "i Kuri Amarengayobora"
+-
+-#: config/alpha/alpha.opt:131
+-#, fuzzy
+-msgid "Tune expected memory latency"
+-msgstr "Ikitezwe: Ububiko"
+-
+-#: config/alpha/alpha.opt:135 config/rs6000/sysv4.opt:33
+-#: config/ia64/ia64.opt:93
+-#, fuzzy
+-msgid "Specify bit size of immediate TLS offsets"
+-msgstr "Ingano Bya"
+-
+-#: config/mt/mt.opt:24
+-msgid "Use byte loads and stores when generating code."
+-msgstr ""
+-
+-#: config/mt/mt.opt:28 config/m32c/m32c.opt:25
+-msgid "Use simulator runtime"
+-msgstr ""
+-
+-#: config/mt/mt.opt:32
+-msgid "Do not include crt0.o in the startup files"
+-msgstr ""
+-
+-#: config/mt/mt.opt:36 config/mt/mt.opt:40 config/mt/mt.opt:44
+-#: config/mt/mt.opt:48 config/mt/mt.opt:52
+-#, fuzzy
+-msgid "Internal debug switch"
+-msgstr "Kitazwi Hindura"
+-
+-#: config/mt/mt.opt:56 config/iq2000/iq2000.opt:24
+-#, fuzzy
+-msgid "Specify CPU for code generation purposes"
+-msgstr "kugirango ITEGEKONGENGA Impamvu"
+-
+-#: config/rs6000/aix64.opt:25
+-#, fuzzy
+-msgid "Compile for 64-bit pointers"
+-msgstr "kugirango"
+-
+-#: config/rs6000/aix64.opt:29
+-#, fuzzy
+-msgid "Compile for 32-bit pointers"
+-msgstr "kugirango"
+-
+-#: config/rs6000/aix64.opt:33 config/rs6000/aix41.opt:25
+-#, fuzzy
+-msgid "Support message passing with the Parallel Environment"
+-msgstr "Ubutumwa Na: i"
+-
+-#: config/rs6000/sysv4.opt:25
+-msgid "Select ABI calling convention"
+-msgstr ""
+-
+-#: config/rs6000/sysv4.opt:29
+-#, fuzzy
+-msgid "Select method for sdata handling"
+-msgstr "Uburyo kugirango"
+-
+-#: config/rs6000/sysv4.opt:37 config/rs6000/sysv4.opt:41
+-#, fuzzy
+-msgid "Align to the base type of the bit-field"
+-msgstr "Kuri i SHINGIRO Ubwoko Bya i Umwanya"
+-
+-#: config/rs6000/sysv4.opt:46 config/rs6000/sysv4.opt:50
+-#, fuzzy
+-msgid "Produce code relocatable at runtime"
+-msgstr "ITEGEKONGENGA ku"
+-
+-#: config/rs6000/sysv4.opt:54 config/rs6000/sysv4.opt:58
+-#, fuzzy
+-msgid "Produce little endian code"
+-msgstr "ITEGEKONGENGA"
+-
+-#: config/rs6000/sysv4.opt:62 config/rs6000/sysv4.opt:66
+-#, fuzzy
+-msgid "Produce big endian code"
+-msgstr "ITEGEKONGENGA"
+-
+-#: config/rs6000/sysv4.opt:71 config/rs6000/sysv4.opt:75
+-#: config/rs6000/sysv4.opt:84 config/rs6000/sysv4.opt:101
+-#: config/rs6000/sysv4.opt:129 config/rs6000/sysv4.opt:141
+-#, fuzzy
+-msgid "no description yet"
+-msgstr "Oya Isobanuramiterere"
+-
+-#: config/rs6000/sysv4.opt:79
+-msgid "Assume all variable arg functions are prototyped"
+-msgstr ""
+-
+-#: config/rs6000/sysv4.opt:88
+-msgid "Use EABI"
+-msgstr ""
+-
+-#: config/rs6000/sysv4.opt:92
+-#, fuzzy
+-msgid "Allow bit-fields to cross word boundaries"
+-msgstr "OYA Kwemerera Imyanya Kuri Kwambukiranya ijambo"
+-
+-#: config/rs6000/sysv4.opt:96
+-#, fuzzy
+-msgid "Use alternate register names"
+-msgstr "Kwiyandikisha Amazina"
+-
+-#: config/rs6000/sysv4.opt:105
+-#, fuzzy
+-msgid "Link with libsim.a, libc.a and sim-crt0.o"
+-msgstr "Na: a a Na o"
+-
+-#: config/rs6000/sysv4.opt:109
+-#, fuzzy
+-msgid "Link with libads.a, libc.a and crt0.o"
+-msgstr "Na: a a Na o"
+-
+-#: config/rs6000/sysv4.opt:113
+-#, fuzzy
+-msgid "Link with libyk.a, libc.a and crt0.o"
+-msgstr "Na: a a Na o"
+-
+-#: config/rs6000/sysv4.opt:117
+-#, fuzzy
+-msgid "Link with libmvme.a, libc.a and crt0.o"
+-msgstr "Na: a a Na o"
+-
+-#: config/rs6000/sysv4.opt:121
+-#, fuzzy
+-msgid "Set the PPC_EMB bit in the ELF flags header"
+-msgstr "i in i Amabendera Umutwempangano"
+-
+-#: config/rs6000/sysv4.opt:125
+-#, fuzzy
+-msgid "Use the WindISS simulator"
+-msgstr "i"
+-
+-#: config/rs6000/sysv4.opt:133 config/rs6000/darwin.opt:25
+-#, fuzzy
+-msgid "Generate 64-bit code"
+-msgstr "ITEGEKONGENGA"
+-
+-#: config/rs6000/sysv4.opt:137 config/rs6000/darwin.opt:29
+-#, fuzzy
+-msgid "Generate 32-bit code"
+-msgstr "ITEGEKONGENGA"
+-
+-#: config/rs6000/sysv4.opt:145
+-#, fuzzy
+-msgid "Generate code to use a non-exec PLT and GOT"
+-msgstr "ITEGEKONGENGA kugirango a"
+-
+-#: config/rs6000/sysv4.opt:149
+-#, fuzzy
+-msgid "Generate code for old exec BSS PLT"
+-msgstr "ITEGEKONGENGA kugirango a"
+-
+-#: config/rs6000/aix.opt:25 config/rs6000/rs6000.opt:136
+-msgid "Conform more closely to IBM XLC semantics"
+-msgstr ""
+-
+-#: config/rs6000/linux64.opt:25
+-#, fuzzy
+-msgid "Call mcount for profiling before a function prologue"
+-msgstr "OYA Kwimura Amabwiriza a"
+-
+-#: config/rs6000/darwin.opt:33
+-msgid "Generate code suitable for executables (NOT shared libs)"
+-msgstr ""
+-
+-#: config/rs6000/rs6000.opt:25
+-#, fuzzy
+-msgid "Use POWER instruction set"
+-msgstr "Gushyiraho"
+-
+-#: config/rs6000/rs6000.opt:29
+-#, fuzzy
+-msgid "Do not use POWER instruction set"
+-msgstr "OYA Gukoresha Gushyiraho"
+-
+-#: config/rs6000/rs6000.opt:33
+-#, fuzzy
+-msgid "Use POWER2 instruction set"
+-msgstr "Gushyiraho"
+-
+-#: config/rs6000/rs6000.opt:37
+-#, fuzzy
+-msgid "Use PowerPC instruction set"
+-msgstr "Gushyiraho"
+-
+-#: config/rs6000/rs6000.opt:41
+-#, fuzzy
+-msgid "Do not use PowerPC instruction set"
+-msgstr "OYA Gukoresha Gushyiraho"
+-
+-#: config/rs6000/rs6000.opt:45
+-#, fuzzy
+-msgid "Use PowerPC-64 instruction set"
+-msgstr "Gushyiraho"
+-
+-#: config/rs6000/rs6000.opt:49
+-#, fuzzy
+-msgid "Use PowerPC General Purpose group optional instructions"
+-msgstr "Itsinda Bitari ngombwa Amabwiriza"
+-
+-#: config/rs6000/rs6000.opt:53
+-#, fuzzy
+-msgid "Use PowerPC Graphics group optional instructions"
+-msgstr "Itsinda Bitari ngombwa Amabwiriza"
+-
+-#: config/rs6000/rs6000.opt:57
+-#, fuzzy
+-msgid "Use PowerPC V2.01 single field mfcr instruction"
+-msgstr "i Umwanya Amabwiriza"
+-
+-#: config/rs6000/rs6000.opt:61
+-#, fuzzy
+-msgid "Use PowerPC V2.02 popcntb instruction"
+-msgstr "Gushyiraho"
+-
+-#: config/rs6000/rs6000.opt:65
+-#, fuzzy
+-msgid "Use PowerPC V2.02 floating point rounding instructions"
+-msgstr "Bihindagurika Akadomo Amabwiriza"
+-
+-#: config/rs6000/rs6000.opt:69
+-#, fuzzy
+-msgid "Use AltiVec instructions"
+-msgstr "Amabwiriza"
+-
+-#: config/rs6000/rs6000.opt:73
+-#, fuzzy
+-msgid "Use 4xx half-word multiply instructions"
+-msgstr "Amabwiriza"
+-
+-#: config/rs6000/rs6000.opt:77
+-#, fuzzy
+-msgid "Use 4xx string-search dlmzb instruction"
+-msgstr "Amabwiriza"
+-
+-#: config/rs6000/rs6000.opt:81
+-#, fuzzy
+-msgid "Generate load/store multiple instructions"
+-msgstr "Ibirimo Igikubo Amabwiriza"
+-
+-#: config/rs6000/rs6000.opt:85
+-#, fuzzy
+-msgid "Generate string instructions for block moves"
+-msgstr "Ikurikiranyanyuguti Amabwiriza kugirango Funga"
+-
+-#: config/rs6000/rs6000.opt:89
+-#, fuzzy
+-msgid "Use new mnemonics for PowerPC architecture"
+-msgstr "Gishya kugirango"
+-
+-#: config/rs6000/rs6000.opt:93
+-#, fuzzy
+-msgid "Use old mnemonics for PowerPC architecture"
+-msgstr "ki/ bishaje kugirango"
+-
+-#: config/rs6000/rs6000.opt:97 config/pdp11/pdp11.opt:84
+-#, fuzzy
+-msgid "Do not use hardware floating point"
+-msgstr "OYA Gukoresha Bihindagurika Akadomo"
+-
+-#: config/rs6000/rs6000.opt:101 config/pdp11/pdp11.opt:72
+-#: config/frv/frv.opt:121
+-#, fuzzy
+-msgid "Use hardware floating point"
+-msgstr "Bihindagurika Akadomo"
+-
+-#: config/rs6000/rs6000.opt:105
+-#, fuzzy
+-msgid "Do not generate load/store with update instructions"
+-msgstr "OYA Ibirimo Na: Kuvugurura Amabwiriza"
+-
+-#: config/rs6000/rs6000.opt:109
+-#, fuzzy
+-msgid "Generate load/store with update instructions"
+-msgstr "Ibirimo Na: Kuvugurura Amabwiriza"
+-
+-#: config/rs6000/rs6000.opt:113
+-#, fuzzy
+-msgid "Do not generate fused multiply/add instructions"
+-msgstr "Gukuba Kongeramo Amabwiriza"
+-
+-#: config/rs6000/rs6000.opt:117
+-#, fuzzy
+-msgid "Generate fused multiply/add instructions"
+-msgstr "Gukuba Kongeramo Amabwiriza"
+-
+-#: config/rs6000/rs6000.opt:121
+-#, fuzzy
+-msgid "Schedule the start and end of the procedure"
+-msgstr "Igenabihe i Gutangira Na Impera Bya i"
+-
+-#: config/rs6000/rs6000.opt:128
+-#, fuzzy
+-msgid "Return all structures in memory (AIX default)"
+-msgstr "Byose in Ububiko Mburabuzi"
+-
+-#: config/rs6000/rs6000.opt:132
+-#, fuzzy
+-msgid "Return small structures in registers (SVR4 default)"
+-msgstr "Gitoya in Mburabuzi"
+-
+-#: config/rs6000/rs6000.opt:140
+-#, fuzzy
+-msgid "Generate software floating point divide for better throughput"
+-msgstr "Mumurongo Bihindagurika Akadomo Kugeza ku ndunduro kugirango"
+-
+-#: config/rs6000/rs6000.opt:144
+-#, fuzzy
+-msgid "Do not place floating point constants in TOC"
+-msgstr "Bihindagurika Akadomo in"
+-
+-#: config/rs6000/rs6000.opt:148
+-#, fuzzy
+-msgid "Place floating point constants in TOC"
+-msgstr "Bihindagurika Akadomo in"
+-
+-#: config/rs6000/rs6000.opt:152
+-#, fuzzy
+-msgid "Do not place symbol+offset constants in TOC"
+-msgstr "IKIMENYETSO Nta- boneza in"
+-
+-#: config/rs6000/rs6000.opt:156
+-#, fuzzy
+-msgid "Place symbol+offset constants in TOC"
+-msgstr "IKIMENYETSO Nta- boneza in"
+-
+-#: config/rs6000/rs6000.opt:167
+-msgid "Use only one TOC entry per procedure"
+-msgstr ""
+-
+-#: config/rs6000/rs6000.opt:171
+-#, fuzzy
+-msgid "Put everything in the regular TOC"
+-msgstr "in i Ibisanzwe"
+-
+-#: config/rs6000/rs6000.opt:175
+-#, fuzzy
+-msgid "Generate VRSAVE instructions when generating AltiVec code"
+-msgstr "Yego Oya NIBA Amabwiriza kugirango"
+-
+-#: config/rs6000/rs6000.opt:179
+-msgid "Deprecated option. Use -mvrsave/-mno-vrsave instead"
+-msgstr ""
+-
+-#: config/rs6000/rs6000.opt:183
+-#, fuzzy
+-msgid "Generate isel instructions"
+-msgstr "INYUGUTI Amabwiriza"
+-
+-#: config/rs6000/rs6000.opt:187
+-msgid "Deprecated option. Use -misel/-mno-isel instead"
+-msgstr ""
+-
+-#: config/rs6000/rs6000.opt:191
+-#, fuzzy
+-msgid "Generate SPE SIMD instructions on E500"
+-msgstr "INYUGUTI Amabwiriza"
+-
+-#: config/rs6000/rs6000.opt:195
+-msgid "Deprecated option. Use -mspe/-mno-spe instead"
+-msgstr ""
+-
+-#: config/rs6000/rs6000.opt:199
+-#, fuzzy
+-msgid "Enable debug output"
+-msgstr "Kosora amakosa Ibisohoka"
+-
+-#: config/rs6000/rs6000.opt:203
+-#, fuzzy
+-msgid "Specify ABI to use"
+-msgstr "Kuri Gukoresha"
+-
+-#: config/rs6000/rs6000.opt:207 config/sparc/sparc.opt:92
+-#, fuzzy
+-msgid "Use features of and schedule code for given CPU"
+-msgstr "Ibiranga Bya Na Igenabihe ITEGEKONGENGA kugirango"
+-
+-#: config/rs6000/rs6000.opt:211 config/i386/i386.opt:226
+-#: config/sparc/sparc.opt:96 config/ia64/ia64.opt:97 config/s390/s390.opt:84
+-#, fuzzy
+-msgid "Schedule code for given CPU"
+-msgstr "ITEGEKONGENGA kugirango"
+-
+-#: config/rs6000/rs6000.opt:215
+-#, fuzzy
+-msgid "Select full, part, or no traceback table"
+-msgstr "Cyangwa Oya imbonerahamwe#"
+-
+-#: config/rs6000/rs6000.opt:219
+-#, fuzzy
+-msgid "Avoid all range limits on call instructions"
+-msgstr "Byose Urutonde Imbibi ku Amabwiriza"
+-
+-#: config/rs6000/rs6000.opt:223
+-msgid "Warn about deprecated 'vector long ...' AltiVec type usage"
+-msgstr ""
+-
+-#: config/rs6000/rs6000.opt:227
+-msgid "Select GPR floating point method"
+-msgstr ""
+-
+-#: config/rs6000/rs6000.opt:231
+-#, fuzzy
+-msgid "Specify size of long double (64 or 128 bits)"
+-msgstr "Ingano Bya MAHARAKUBIRI Cyangwa"
+-
+-#: config/rs6000/rs6000.opt:235
+-msgid "Determine which dependences between insns are considered costly"
+-msgstr ""
+-
+-#: config/rs6000/rs6000.opt:239
+-msgid "Specify which post scheduling nop insertion scheme to apply"
+-msgstr ""
+-
+-#: config/rs6000/rs6000.opt:243
+-#, fuzzy
+-msgid "Specify alignment of structure fields default/natural"
+-msgstr "i Gito Itunganya Bya"
+-
+-#: config/rs6000/rs6000.opt:247
+-msgid "Specify scheduling priority for dispatch slot restricted insns"
+-msgstr ""
+-
+-#: config/i386/djgpp.opt:26
+-msgid "Ignored (obsolete)"
+-msgstr ""
+-
+-#: config/i386/cygming.opt:24
+-#, fuzzy
+-msgid "Create console application"
+-msgstr "Porogaramu"
+-
+-#: config/i386/cygming.opt:28
+-#, fuzzy
+-msgid "Use the Cygwin interface"
+-msgstr "i"
+-
+-#: config/i386/cygming.opt:32
+-#, fuzzy
+-msgid "Generate code for a DLL"
+-msgstr "ITEGEKONGENGA kugirango a"
+-
+-#: config/i386/cygming.opt:36
+-#, fuzzy
+-msgid "Ignore dllimport for functions"
+-msgstr "kugirango Imimaro"
+-
+-#: config/i386/cygming.opt:40
+-#, fuzzy
+-msgid "Use Mingw-specific thread support"
+-msgstr "Urudodo Gushigikira"
+-
+-#: config/i386/cygming.opt:44
+-msgid "Set Windows defines"
+-msgstr ""
+-
+-#: config/i386/cygming.opt:48
+-#, fuzzy
+-msgid "Create GUI application"
+-msgstr "Porogaramu"
+-
+-#: config/i386/i386.opt:24
+-#, fuzzy
+-msgid "sizeof(long double) is 16"
+-msgstr "MAHARAKUBIRI ni"
+-
+-#: config/i386/i386.opt:28
+-#, fuzzy
+-msgid "Generate 32bit i386 code"
+-msgstr "ITEGEKONGENGA"
+-
+-#: config/i386/i386.opt:36
+-#, fuzzy
+-msgid "Support 3DNow! built-in functions"
+-msgstr "in Imimaro"
+-
+-#: config/i386/i386.opt:44
+-#, fuzzy
+-msgid "Generate 64bit x86-64 code"
+-msgstr "ITEGEKONGENGA"
+-
+-#: config/i386/i386.opt:48 config/i386/i386.opt:118 config/s390/s390.opt:52
+-msgid "Use hardware fp"
+-msgstr ""
+-
+-#: config/i386/i386.opt:52
+-#, fuzzy
+-msgid "sizeof(long double) is 12"
+-msgstr "MAHARAKUBIRI ni 12"
+-
+-#: config/i386/i386.opt:56
+-msgid "Reserve space for outgoing arguments in the function prologue"
+-msgstr ""
+-
+-#: config/i386/i386.opt:60
+-#, fuzzy
+-msgid "Align some doubles on dword boundary"
+-msgstr "ku"
+-
+-#: config/i386/i386.opt:64
+-#, fuzzy
+-msgid "Function starts are aligned to this power of 2"
+-msgstr "Kuri iyi UMWIKUBE Bya 2."
+-
+-#: config/i386/i386.opt:68
+-#, fuzzy
+-msgid "Jump targets are aligned to this power of 2"
+-msgstr "Kuri iyi UMWIKUBE Bya 2."
+-
+-#: config/i386/i386.opt:72
+-#, fuzzy
+-msgid "Loop code aligned to this power of 2"
+-msgstr "ITEGEKONGENGA Kuri iyi UMWIKUBE Bya 2."
+-
+-#: config/i386/i386.opt:76
+-#, fuzzy
+-msgid "Align destination of the string operations"
+-msgstr "Ishyika Bya i Ikurikiranyanyuguti Ibikorwa:"
+-
+-#: config/i386/i386.opt:80 config/s390/s390.opt:32
+-#, fuzzy
+-msgid "Generate code for given CPU"
+-msgstr "ITEGEKONGENGA kugirango"
+-
+-#: config/i386/i386.opt:84
+-msgid "Use given assembler dialect"
+-msgstr ""
+-
+-#: config/i386/i386.opt:88
+-#, fuzzy
+-msgid "Branches are this expensive (1-5, arbitrary units)"
+-msgstr "iyi 1. 5"
+-
+-#: config/i386/i386.opt:92
+-msgid "Data greater than given threshold will go into .ldata section in x86-64 medium model"
+-msgstr ""
+-
+-#: config/i386/i386.opt:96
+-#, fuzzy
+-msgid "Use given x86-64 code model"
+-msgstr "ITEGEKONGENGA Urugero"
+-
+-#: config/i386/i386.opt:106
+-#, fuzzy
+-msgid "Generate sin, cos, sqrt for FPU"
+-msgstr "SIN COS SQRT kugirango"
+-
+-#: config/i386/i386.opt:110
+-#, fuzzy
+-msgid "Return values of functions in FPU registers"
+-msgstr "Uduciro Bya Imimaro in"
+-
+-#: config/i386/i386.opt:114
+-#, fuzzy
+-msgid "Generate floating point mathematics using given instruction set"
+-msgstr "Bihindagurika Akadomo ikoresha Gushyiraho"
+-
+-#: config/i386/i386.opt:122 config/m68k/ieee.opt:25
+-#, fuzzy
+-msgid "Use IEEE math for fp comparisons"
+-msgstr "Imibare kugirango"
+-
+-#: config/i386/i386.opt:126
+-#, fuzzy
+-msgid "Inline all known string operations"
+-msgstr "Byose Ikurikiranyanyuguti Ibikorwa:"
+-
+-#: config/i386/i386.opt:134
+-#, fuzzy
+-msgid "Support MMX built-in functions"
+-msgstr "in Imimaro"
+-
+-#: config/i386/i386.opt:138
+-msgid "Use native (MS) bitfield layout"
+-msgstr ""
+-
+-#: config/i386/i386.opt:154
+-#, fuzzy
+-msgid "Omit the frame pointer in leaf functions"
+-msgstr "i Ikadiri Mweretsi in Imimaro"
+-
+-#: config/i386/i386.opt:166
+-#, fuzzy
+-msgid "Attempt to keep stack aligned to this power of 2"
+-msgstr "Kuri Gumana: Kuri iyi UMWIKUBE Bya 2."
+-
+-#: config/i386/i386.opt:170
+-#, fuzzy
+-msgid "Use push instructions to save outgoing arguments"
+-msgstr "Amabwiriza Kuri Kubika ingingo"
+-
+-#: config/i386/i386.opt:174
+-#, fuzzy
+-msgid "Use red-zone in the x86-64 code"
+-msgstr "Umutuku in i ITEGEKONGENGA"
+-
+-#: config/i386/i386.opt:178
+-#, fuzzy
+-msgid "Number of registers used to pass integer arguments"
+-msgstr "Bya Kuri Umubare wuzuye ingingo"
+-
+-#: config/i386/i386.opt:182
+-msgid "Alternate calling convention"
+-msgstr ""
+-
+-#: config/i386/i386.opt:190
+-#, fuzzy
+-msgid "Support MMX and SSE built-in functions and code generation"
+-msgstr "Na in Imimaro Na ITEGEKONGENGA"
+-
+-#: config/i386/i386.opt:194
+-#, fuzzy
+-msgid "Support MMX, SSE and SSE2 built-in functions and code generation"
+-msgstr "Na in Imimaro Na ITEGEKONGENGA"
+-
+-#: config/i386/i386.opt:198
+-#, fuzzy
+-msgid "Support MMX, SSE, SSE2 and SSE3 built-in functions and code generation"
+-msgstr "Na in Imimaro Na ITEGEKONGENGA"
+-
+-#: config/i386/i386.opt:202
+-msgid "Use SSE register passing conventions for SF and DF mode"
+-msgstr ""
+-
+-#: config/i386/i386.opt:206
+-msgid "Realign stack in prologue"
+-msgstr ""
+-
+-#: config/i386/i386.opt:210
+-#, fuzzy
+-msgid "Uninitialized locals in .bss"
+-msgstr "in"
+-
+-#: config/i386/i386.opt:214
+-msgid "Enable stack probing"
+-msgstr ""
+-
+-#: config/i386/i386.opt:218
+-#, fuzzy
+-msgid "Use given thread-local storage dialect"
+-msgstr "Urudodo"
+-
+-#: config/i386/i386.opt:222
+-#, c-format
+-msgid "Use direct references against %gs when accessing tls data"
+-msgstr ""
+-
+-#: config/i386/sco5.opt:25
+-#, fuzzy
+-msgid "Generate ELF output"
+-msgstr "Ibisohoka"
+-
+-#: config/m32r/m32r.opt:24
+-#, fuzzy
+-msgid "Compile for the m32rx"
+-msgstr "kugirango a"
+-
+-#: config/m32r/m32r.opt:28
+-#, fuzzy
+-msgid "Compile for the m32r2"
+-msgstr "kugirango a"
+-
+-#: config/m32r/m32r.opt:32
+-#, fuzzy
+-msgid "Compile for the m32r"
+-msgstr "kugirango a"
+-
+-#: config/m32r/m32r.opt:36
+-#, fuzzy
+-msgid "Align all loops to 32 byte boundary"
+-msgstr "Byose Kuri Bayite"
+-
+-#: config/m32r/m32r.opt:40
+-#, fuzzy
+-msgid "Prefer branches over conditional execution"
+-msgstr "KURI"
+-
+-#: config/m32r/m32r.opt:44
+-msgid "Give branches their default cost"
+-msgstr ""
+-
+-#: config/m32r/m32r.opt:48
+-#, fuzzy
+-msgid "Display compile time statistics"
+-msgstr "Gukusanya Igihe Sitatisitiki"
+-
+-#: config/m32r/m32r.opt:52
+-#, fuzzy
+-msgid "Specify cache flush function"
+-msgstr "Ubwihisho Umumaro"
+-
+-#: config/m32r/m32r.opt:56
+-#, fuzzy
+-msgid "Specify cache flush trap number"
+-msgstr "Ubwihisho Umumaro"
+-
+-#: config/m32r/m32r.opt:60
+-#, fuzzy
+-msgid "Only issue one instruction per cycle"
+-msgstr "Itangwa Uruziga"
+-
+-#: config/m32r/m32r.opt:64
+-#, fuzzy
+-msgid "Allow two instructions to be issued per cycle"
+-msgstr "Itangwa Uruziga"
+-
+-#: config/m32r/m32r.opt:68
+-#, fuzzy
+-msgid "Code size: small, medium or large"
+-msgstr "Ingano Gitoya biringaniye Cyangwa Binini"
+-
+-#: config/m32r/m32r.opt:72
+-#, fuzzy
+-msgid "Don't call any cache flush functions"
+-msgstr "Ubwihisho Imimaro"
+-
+-#: config/m32r/m32r.opt:76
+-#, fuzzy
+-msgid "Don't call any cache flush trap"
+-msgstr "Ubwihisho Imimaro"
+-
+-#: config/m32r/m32r.opt:83
+-#, fuzzy
+-msgid "Small data area: none, sdata, use"
+-msgstr "Ibyatanzwe Ubuso Ntacyo Gukoresha"
+-
+-#: config/pa/pa.opt:24 config/pa/pa.opt:77 config/pa/pa.opt:85
+-#, fuzzy
+-msgid "Generate PA1.0 code"
+-msgstr "0 ITEGEKONGENGA"
+-
+-#: config/pa/pa.opt:28 config/pa/pa.opt:89 config/pa/pa.opt:109
+-#, fuzzy
+-msgid "Generate PA1.1 code"
+-msgstr "1. ITEGEKONGENGA"
+-
+-#: config/pa/pa.opt:32 config/pa/pa.opt:93
+-#, fuzzy
+-msgid "Generate PA2.0 code (requires binutils 2.10 or later)"
+-msgstr "0 ITEGEKONGENGA 2. 10 Cyangwa"
+-
+-#: config/pa/pa.opt:36
+-#, fuzzy
+-msgid "Generate code for huge switch statements"
+-msgstr "ITEGEKONGENGA kugirango Hindura"
+-
+-#: config/pa/pa.opt:40
+-msgid "Disable FP regs"
+-msgstr ""
+-
+-#: config/pa/pa.opt:44
+-#, fuzzy
+-msgid "Disable indexed addressing"
+-msgstr "Kwohereza"
+-
+-#: config/pa/pa.opt:48
+-#, fuzzy
+-msgid "Generate fast indirect calls"
+-msgstr "Byihuta BUZIGUYE Amahamagara:"
+-
+-#: config/pa/pa.opt:52 config/ia64/ia64.opt:89
+-#, fuzzy
+-msgid "Specify range of registers to make fixed"
+-msgstr "Urutonde Bya Kuri Ubwoko BIHAMYE"
+-
+-#: config/pa/pa.opt:56
+-#, fuzzy
+-msgid "Assume code will be assembled by GAS"
+-msgstr "ITEGEKONGENGA ku"
+-
+-#: config/pa/pa.opt:60
+-#, fuzzy
+-msgid "Put jumps in call delay slots"
+-msgstr "in Gutinda Siloti"
+-
+-#: config/pa/pa.opt:65
+-msgid "Enable linker optimizations"
+-msgstr ""
+-
+-#: config/pa/pa.opt:69
+-#, fuzzy
+-msgid "Always generate long calls"
+-msgstr "Amahamagara:"
+-
+-#: config/pa/pa.opt:73
+-#, fuzzy
+-msgid "Emit long load/store sequences"
+-msgstr "Ibirimo"
+-
+-#: config/pa/pa.opt:81
+-#, fuzzy
+-msgid "Disable space regs"
+-msgstr "Umwanya"
+-
+-#: config/pa/pa.opt:97
+-msgid "Use portable calling conventions"
+-msgstr ""
+-
+-#: config/pa/pa.opt:101
+-#, fuzzy
+-msgid "Specify CPU for scheduling purposes. Valid arguments are 700, 7100, 7100LC, 7200, 7300, and 8000"
+-msgstr "Kitazwi Ihitamo Amahitamo Na"
+-
+-#: config/pa/pa.opt:105 config/frv/frv.opt:178
+-#, fuzzy
+-msgid "Use software floating point"
+-msgstr "Bihindagurika Akadomo"
+-
+-#: config/pa/pa.opt:113
+-#, fuzzy
+-msgid "Do not disable space regs"
+-msgstr "OYA Umwanya"
+-
+-#: config/pa/pa-hpux1111.opt:24 config/pa/pa-hpux1010.opt:24
+-#: config/pa/pa-hpux.opt:28
+-msgid "Specify UNIX standard for predefines and linking"
+-msgstr ""
+-
+-#: config/pa/pa64-hpux.opt:24
+-#, fuzzy
+-msgid "Assume code will be linked by GNU ld"
+-msgstr "ITEGEKONGENGA ku"
+-
+-#: config/pa/pa64-hpux.opt:28
+-#, fuzzy
+-msgid "Assume code will be linked by HP ld"
+-msgstr "ITEGEKONGENGA ku"
+-
+-#: config/pa/pa-hpux.opt:24
+-#, fuzzy
+-msgid "Generate cpp defines for server IO"
+-msgstr "kugirango Seriveri"
+-
+-#: config/pa/pa-hpux.opt:32
+-#, fuzzy
+-msgid "Generate cpp defines for workstation IO"
+-msgstr "kugirango"
+-
+-#: config/m68hc11/m68hc11.opt:24 config/m68hc11/m68hc11.opt:32
+-#, fuzzy
+-msgid "Compile for a 68HC11"
+-msgstr "kugirango a"
+-
+-#: config/m68hc11/m68hc11.opt:28 config/m68hc11/m68hc11.opt:36
+-#, fuzzy
+-msgid "Compile for a 68HC12"
+-msgstr "kugirango a"
+-
+-#: config/m68hc11/m68hc11.opt:42 config/m68hc11/m68hc11.opt:46
+-#, fuzzy
+-msgid "Compile for a 68HCS12"
+-msgstr "kugirango a"
+-
+-#: config/m68hc11/m68hc11.opt:50
+-#, fuzzy
+-msgid "Auto pre/post decrement increment allowed"
+-msgstr "Byahawe imiterere mbere Iposita Iyongeragaciro"
+-
+-#: config/m68hc11/m68hc11.opt:54
+-#, fuzzy
+-msgid "Min/max instructions allowed"
+-msgstr "KININI Amabwiriza"
+-
+-#: config/m68hc11/m68hc11.opt:58
+-#, fuzzy
+-msgid "Use call and rtc for function calls and returns"
+-msgstr "Na kugirango Umumaro Amahamagara: Na"
+-
+-#: config/m68hc11/m68hc11.opt:62
+-#, fuzzy
+-msgid "Auto pre/post decrement increment not allowed"
+-msgstr "Byahawe imiterere mbere Iposita Iyongeragaciro OYA"
+-
+-#: config/m68hc11/m68hc11.opt:66
+-#, fuzzy
+-msgid "Use jsr and rts for function calls and returns"
+-msgstr "Na kugirango Umumaro Amahamagara: Na"
+-
+-#: config/m68hc11/m68hc11.opt:70
+-#, fuzzy
+-msgid "Min/max instructions not allowed"
+-msgstr "KININI Amabwiriza OYA"
+-
+-#: config/m68hc11/m68hc11.opt:74
+-#, fuzzy
+-msgid "Use direct addressing mode for soft registers"
+-msgstr "Kwohereza Ubwoko kugirango Yoroshe"
+-
+-#: config/m68hc11/m68hc11.opt:78
+-#, fuzzy
+-msgid "Compile with 32-bit integer mode"
+-msgstr "Na: Umubare wuzuye Ubwoko"
+-
+-#: config/m68hc11/m68hc11.opt:83
+-#, fuzzy
+-msgid "Specify the register allocation order"
+-msgstr "i Kwiyandikisha Itondekanya"
+-
+-#: config/m68hc11/m68hc11.opt:87
+-#, fuzzy
+-msgid "Do not use direct addressing mode for soft registers"
+-msgstr "OYA Gukoresha Kwohereza Ubwoko kugirango Yoroshe"
+-
+-#: config/m68hc11/m68hc11.opt:91
+-#, fuzzy
+-msgid "Compile with 16-bit integer mode"
+-msgstr "Na: Umubare wuzuye Ubwoko"
+-
+-#: config/m68hc11/m68hc11.opt:95
+-#, fuzzy
+-msgid "Indicate the number of soft registers available"
+-msgstr "i Umubare Bya Yoroshe Bihari"
+-
+-#: config/arm/arm.opt:24
+-msgid "Specify an ABI"
+-msgstr ""
+-
+-#: config/arm/arm.opt:28
+-#, fuzzy
+-msgid "Generate a call to abort if a noreturn function returns"
+-msgstr "a Kuri Kureka NIBA a Umumaro"
+-
+-#: config/arm/arm.opt:35
+-#, fuzzy
+-msgid "Pass FP arguments in FP registers"
+-msgstr "ingingo in"
+-
+-#: config/arm/arm.opt:39
+-#, fuzzy
+-msgid "Generate APCS conformant stack frames"
+-msgstr "Amakadiri"
+-
+-#: config/arm/arm.opt:43
+-#, fuzzy
+-msgid "Generate re-entrant, PIC code"
+-msgstr "ITEGEKONGENGA"
+-
+-#: config/arm/arm.opt:50
+-#, fuzzy
+-msgid "Specify the name of the target architecture"
+-msgstr "i Izina: Bya i Intego"
+-
+-#: config/arm/arm.opt:57
+-#, fuzzy
+-msgid "Assume target CPU is configured as big endian"
+-msgstr "Intego ni Nka"
+-
+-#: config/arm/arm.opt:61
+-#, fuzzy
+-msgid "Thumb: Assume non-static functions may be called from ARM code"
+-msgstr "Imimaro Gicurasi Bivuye ITEGEKONGENGA"
+-
+-#: config/arm/arm.opt:65
+-#, fuzzy
+-msgid "Thumb: Assume function pointers may go to non-Thumb aware code"
+-msgstr "Umumaro Gicurasi Gyayo Kuri ITEGEKONGENGA"
+-
+-#: config/arm/arm.opt:69
+-msgid "Cirrus: Place NOPs to avoid invalid instruction combinations"
+-msgstr ""
+-
+-#: config/arm/arm.opt:73
+-#, fuzzy
+-msgid "Specify the name of the target CPU"
+-msgstr "i Izina: Bya i Intego"
+-
+-#: config/arm/arm.opt:77
+-msgid "Specify if floating point hardware should be used"
+-msgstr ""
+-
+-#: config/arm/arm.opt:91
+-#, fuzzy
+-msgid "Specify the name of the target floating point hardware/format"
+-msgstr "i Verisiyo Bya i Bihindagurika Akadomo"
+-
+-#: config/arm/arm.opt:95
+-msgid "Alias for -mfloat-abi=hard"
+-msgstr ""
+-
+-#: config/arm/arm.opt:99
+-#, fuzzy
+-msgid "Assume target CPU is configured as little endian"
+-msgstr "Intego ni Nka"
+-
+-#: config/arm/arm.opt:103
+-#, fuzzy
+-msgid "Generate call insns as indirect calls, if necessary"
+-msgstr "Nka BUZIGUYE Amahamagara: NIBA"
+-
+-#: config/arm/arm.opt:107
+-#, fuzzy
+-msgid "Specify the register to be used for PIC addressing"
+-msgstr "i Kwiyandikisha Kuri kugirango Kwohereza"
+-
+-#: config/arm/arm.opt:111
+-#, fuzzy
+-msgid "Store function names in object code"
+-msgstr "Umumaro Amazina in Igikoresho ITEGEKONGENGA"
+-
+-#: config/arm/arm.opt:115
+-#, fuzzy
+-msgid "Permit scheduling of a function's prologue sequence"
+-msgstr "kugirango Umumaro"
+-
+-#: config/arm/arm.opt:119
+-#, fuzzy
+-msgid "Do not load the PIC register in function prologues"
+-msgstr "OYA Ibirimo i Kwiyandikisha in Umumaro"
+-
+-#: config/arm/arm.opt:123
+-msgid "Alias for -mfloat-abi=soft"
+-msgstr ""
+-
+-#: config/arm/arm.opt:127
+-#, fuzzy
+-msgid "Specify the minimum bit alignment of structures"
+-msgstr "i Gito Itunganya Bya"
+-
+-#: config/arm/arm.opt:131
+-#, fuzzy
+-msgid "Compile for the Thumb not the ARM"
+-msgstr "kugirango i OYA i"
+-
+-#: config/arm/arm.opt:135
+-#, fuzzy
+-msgid "Support calls between Thumb and ARM instruction sets"
+-msgstr "Amahamagara: hagati Na"
+-
+-#: config/arm/arm.opt:139
+-#, fuzzy
+-msgid "Specify how to access the thread pointer"
+-msgstr "i Izina: Bya i Intego"
+-
+-#: config/arm/arm.opt:143
+-#, fuzzy
+-msgid "Thumb: Generate (non-leaf) stack frames even if not needed"
+-msgstr "Amakadiri ATARIIGIHARWE NIBA OYA"
+-
+-#: config/arm/arm.opt:147
+-#, fuzzy
+-msgid "Thumb: Generate (leaf) stack frames even if not needed"
+-msgstr "Amakadiri ATARIIGIHARWE NIBA OYA"
+-
+-#: config/arm/arm.opt:151
+-#, fuzzy
+-msgid "Tune code for the given processor"
+-msgstr "kugirango i"
+-
+-#: config/arm/arm.opt:155
+-#, fuzzy
+-msgid "Assume big endian bytes, little endian words"
+-msgstr "Bayite Amagambo"
+-
+-#: config/arm/pe.opt:24
+-#, fuzzy
+-msgid "Ignore dllimport attribute for functions"
+-msgstr "Ikiranga kugirango Imimaro"
+-
+-#: config/lynx.opt:24
+-msgid "Support legacy multi-threading"
+-msgstr ""
+-
+-#: config/lynx.opt:28
+-msgid "Use shared libraries"
+-msgstr ""
+-
+-#: config/lynx.opt:32
+-msgid "Support multi-threading"
+-msgstr ""
+-
+-#: config/c4x/c4x.opt:24
+-#, fuzzy
+-msgid "Generate code for C30 CPU"
+-msgstr "ITEGEKONGENGA kugirango"
+-
+-#: config/c4x/c4x.opt:28
+-#, fuzzy
+-msgid "Generate code for C31 CPU"
+-msgstr "ITEGEKONGENGA kugirango"
+-
+-#: config/c4x/c4x.opt:32
+-#, fuzzy
+-msgid "Generate code for C32 CPU"
+-msgstr "ITEGEKONGENGA kugirango"
+-
+-#: config/c4x/c4x.opt:36
+-#, fuzzy
+-msgid "Generate code for C33 CPU"
+-msgstr "ITEGEKONGENGA kugirango"
+-
+-#: config/c4x/c4x.opt:40
+-#, fuzzy
+-msgid "Generate code for C40 CPU"
+-msgstr "ITEGEKONGENGA kugirango"
+-
+-#: config/c4x/c4x.opt:44
+-#, fuzzy
+-msgid "Generate code for C44 CPU"
+-msgstr "ITEGEKONGENGA kugirango"
+-
+-#: config/c4x/c4x.opt:48
+-#, fuzzy
+-msgid "Assume that pointers may be aliased"
+-msgstr "Gicurasi"
+-
+-#: config/c4x/c4x.opt:52
+-#, fuzzy
+-msgid "Big memory model"
+-msgstr "Ububiko Urugero"
+-
+-#: config/c4x/c4x.opt:56
+-#, fuzzy
+-msgid "Use the BK register as a general purpose register"
+-msgstr "i Kwiyandikisha Nka a Rusange Intego Kwiyandikisha"
+-
+-#: config/c4x/c4x.opt:60
+-#, fuzzy
+-msgid "Generate code for CPU"
+-msgstr "ITEGEKONGENGA kugirango"
+-
+-#: config/c4x/c4x.opt:64
+-#, fuzzy
+-msgid "Enable use of DB instruction"
+-msgstr "Gukoresha Bya"
+-
+-#: config/c4x/c4x.opt:68
+-msgid "Enable debugging"
+-msgstr ""
+-
+-#: config/c4x/c4x.opt:72
+-#, fuzzy
+-msgid "Enable new features under development"
+-msgstr "Gishya Ibiranga"
+-
+-#: config/c4x/c4x.opt:76
+-#, fuzzy
+-msgid "Use fast but approximate float to integer conversion"
+-msgstr "Byihuta Kureremba Kuri Umubare wuzuye Ihindurangero"
+-
+-#: config/c4x/c4x.opt:80
+-#, fuzzy
+-msgid "Force RTL generation to emit valid 3 operand insns"
+-msgstr "Kuri Byemewe 3."
+-
+-#: config/c4x/c4x.opt:84
+-#, fuzzy
+-msgid "Force constants into registers to improve hoisting"
+-msgstr "Kuri"
+-
+-#: config/c4x/c4x.opt:88 config/c4x/c4x.opt:112
+-#, fuzzy
+-msgid "Save DP across ISR in small memory model"
+-msgstr "Kubika Kwambukiranya in Gitoya Ububiko Urugero"
+-
+-#: config/c4x/c4x.opt:92
+-#, fuzzy
+-msgid "Allow unsigned iteration counts for RPTB/DB"
+-msgstr "Bitashizweho umukono kugirango"
+-
+-#: config/c4x/c4x.opt:96
+-#, fuzzy
+-msgid "Pass arguments on the stack"
+-msgstr "ingingo ku i"
+-
+-#: config/c4x/c4x.opt:100
+-#, fuzzy
+-msgid "Use MPYI instruction for C3x"
+-msgstr "kugirango"
+-
+-#: config/c4x/c4x.opt:104
+-#, fuzzy
+-msgid "Enable parallel instructions"
+-msgstr "Biteganye Amabwiriza"
+-
+-#: config/c4x/c4x.opt:108
+-#, fuzzy
+-msgid "Enable MPY||ADD and MPY||SUB instructions"
+-msgstr "Na Amabwiriza"
+-
+-#: config/c4x/c4x.opt:116
+-#, fuzzy
+-msgid "Preserve all 40 bits of FP reg across call"
+-msgstr "Byose Bya Kwambukiranya"
+-
+-#: config/c4x/c4x.opt:120
+-#, fuzzy
+-msgid "Pass arguments in registers"
+-msgstr "ingingo in"
+-
+-#: config/c4x/c4x.opt:124
+-#, fuzzy
+-msgid "Enable use of RTPB instruction"
+-msgstr "Gukoresha Bya"
+-
+-#: config/c4x/c4x.opt:128
+-#, fuzzy
+-msgid "Enable use of RTPS instruction"
+-msgstr "Gukoresha Bya"
+-
+-#: config/c4x/c4x.opt:132
+-#, fuzzy
+-msgid "Set the maximum number of iterations for RPTS to N"
+-msgstr "Kinini Umubare Bya Amasubiramo kugirango"
+-
+-#: config/c4x/c4x.opt:136
+-#, fuzzy
+-msgid "Small memory model"
+-msgstr "Ububiko Urugero"
+-
+-#: config/c4x/c4x.opt:140
+-#, fuzzy
+-msgid "Emit code compatible with TI tools"
+-msgstr "ITEGEKONGENGA Na: Ibikoresho"
+-
+-#: config/h8300/h8300.opt:24
+-#, fuzzy
+-msgid "Generate H8S code"
+-msgstr "ITEGEKONGENGA"
+-
+-#: config/h8300/h8300.opt:28
+-#, fuzzy
+-msgid "Generate H8SX code"
+-msgstr "ITEGEKONGENGA"
+-
+-#: config/h8300/h8300.opt:32
+-#, fuzzy
+-msgid "Generate H8S/2600 code"
+-msgstr "ITEGEKONGENGA"
+-
+-#: config/h8300/h8300.opt:36
+-msgid "Make integers 32 bits wide"
+-msgstr ""
+-
+-#: config/h8300/h8300.opt:43
+-#, fuzzy
+-msgid "Use registers for argument passing"
+-msgstr "kugirango"
+-
+-#: config/h8300/h8300.opt:47
+-#, fuzzy
+-msgid "Consider access to byte sized memory slow"
+-msgstr "Kuri Bayite Ububiko Buhoro"
+-
+-#: config/h8300/h8300.opt:51
+-msgid "Enable linker relaxing"
+-msgstr ""
+-
+-#: config/h8300/h8300.opt:55
+-#, fuzzy
+-msgid "Generate H8/300H code"
+-msgstr "ITEGEKONGENGA"
+-
+-#: config/h8300/h8300.opt:59
+-#, fuzzy
+-msgid "Enable the normal mode"
+-msgstr "i Bisanzwe Ubwoko"
+-
+-#: config/h8300/h8300.opt:63
+-#, fuzzy
+-msgid "Use H8/300 alignment rules"
+-msgstr "300 Itunganya"
+-
+-#: config/xtensa/xtensa.opt:24
+-#, fuzzy
+-msgid "Use CONST16 instruction to load constants"
+-msgstr "Amabwiriza Kuri Kubika ingingo"
+-
+-#: config/xtensa/xtensa.opt:28
+-#, fuzzy
+-msgid "Enable fused multiply/add and multiply/subtract FP instructions"
+-msgstr "Gukuba Kongeramo Na Gukuba Gukuramo Amabwiriza"
+-
+-#: config/xtensa/xtensa.opt:32
+-#, fuzzy
+-msgid "Use indirect CALLXn instructions for large programs"
+-msgstr "BUZIGUYE Amabwiriza kugirango Binini Porogaramu"
+-
+-#: config/xtensa/xtensa.opt:36
+-#, fuzzy
+-msgid "Automatically align branch targets to reduce branch penalties"
+-msgstr "Gutondeka Kuri"
+-
+-#: config/xtensa/xtensa.opt:40
+-#, fuzzy
+-msgid "Intersperse literal pools with code in the text section"
+-msgstr "Na: ITEGEKONGENGA in i Umwandiko Icyiciro"
+-
+-#: config/mcore/mcore.opt:24
+-#, fuzzy
+-msgid "Generate code for the M*Core M210"
+-msgstr "ITEGEKONGENGA kugirango i"
+-
+-#: config/mcore/mcore.opt:28
+-#, fuzzy
+-msgid "Generate code for the M*Core M340"
+-msgstr "ITEGEKONGENGA kugirango i"
+-
+-#: config/mcore/mcore.opt:32
+-#, fuzzy
+-msgid "Set maximum alignment to 4"
+-msgstr "Kinini Itunganya Kuri 4."
+-
+-#: config/mcore/mcore.opt:36
+-#, fuzzy
+-msgid "Force functions to be aligned to a 4 byte boundary"
+-msgstr "Imimaro Kuri Kuri a 4. Bayite"
+-
+-#: config/mcore/mcore.opt:40
+-#, fuzzy
+-msgid "Set maximum alignment to 8"
+-msgstr "Kinini Itunganya Kuri 8"
+-
+-#: config/mcore/mcore.opt:44 config/score/score.opt:24
+-#, fuzzy
+-msgid "Generate big-endian code"
+-msgstr "ITEGEKONGENGA"
+-
+-#: config/mcore/mcore.opt:48
+-#, fuzzy
+-msgid "Emit call graph information"
+-msgstr "Ibisobanuro"
+-
+-#: config/mcore/mcore.opt:52
+-#, fuzzy
+-msgid "Use the divide instruction"
+-msgstr "OYA Gukoresha i Kugabanya"
+-
+-#: config/mcore/mcore.opt:56
+-#, fuzzy
+-msgid "Inline constants if it can be done in 2 insns or less"
+-msgstr "NIBA Byakozwe in 2. Cyangwa Birutwa"
+-
+-#: config/mcore/mcore.opt:60 config/score/score.opt:28
+-#, fuzzy
+-msgid "Generate little-endian code"
+-msgstr "ITEGEKONGENGA"
+-
+-#: config/mcore/mcore.opt:68
+-#, fuzzy
+-msgid "Use arbitrary sized immediates in bit operations"
+-msgstr "OYA in Ibikorwa:"
+-
+-#: config/mcore/mcore.opt:72
+-#, fuzzy
+-msgid "Prefer word accesses over byte accesses"
+-msgstr "ijambo KURI Bayite"
+-
+-#: config/mcore/mcore.opt:76
+-#, fuzzy
+-msgid "Set the maximum amount for a single stack increment operation"
+-msgstr "Igiteranyo kugirango a UMWE Iyongeragaciro"
+-
+-#: config/mcore/mcore.opt:80
+-#, fuzzy
+-msgid "Always treat bitfields as int-sized"
+-msgstr "Umwanya Nka INT"
+-
+-#: config/cris/cris.opt:46
+-#, fuzzy
+-msgid "Work around bug in multiplication instruction"
+-msgstr "OYA Gukoresha Gukuba Amabwiriza"
+-
+-#: config/cris/cris.opt:52
+-#, fuzzy
+-msgid "Compile for ETRAX 4 (CRIS v3)"
+-msgstr "kugirango 4."
+-
+-#: config/cris/cris.opt:57
+-#, fuzzy
+-msgid "Compile for ETRAX 100 (CRIS v8)"
+-msgstr "kugirango 100"
+-
+-#: config/cris/cris.opt:65
+-#, fuzzy
+-msgid "Emit verbose debug information in assembly code"
+-msgstr "Kosora amakosa Ibisobanuro in ITEGEKONGENGA"
+-
+-#: config/cris/cris.opt:72
+-#, fuzzy
+-msgid "Do not use condition codes from normal instructions"
+-msgstr "OYA Gukoresha Ibisabwa Bivuye Bisanzwe Amabwiriza"
+-
+-#: config/cris/cris.opt:81
+-#, fuzzy
+-msgid "Do not emit addressing modes with side-effect assignment"
+-msgstr "OYA Kwohereza Na: INGARUKA Igenera"
+-
+-#: config/cris/cris.opt:90
+-#, fuzzy
+-msgid "Do not tune stack alignment"
+-msgstr "OYA Itunganya"
+-
+-#: config/cris/cris.opt:99
+-#, fuzzy
+-msgid "Do not tune writable data alignment"
+-msgstr "OYA Ibyatanzwe Itunganya"
+-
+-#: config/cris/cris.opt:108
+-#, fuzzy
+-msgid "Do not tune code and read-only data alignment"
+-msgstr "OYA ITEGEKONGENGA Na Gusoma Ibyatanzwe Itunganya"
+-
+-#: config/cris/cris.opt:117
+-#, fuzzy
+-msgid "Align code and data to 32 bits"
+-msgstr "ITEGEKONGENGA Na Ibyatanzwe Kuri"
+-
+-#: config/cris/cris.opt:134
+-#, fuzzy
+-msgid "Don't align items in code or data"
+-msgstr "Gutondeka in ITEGEKONGENGA Cyangwa Ibyatanzwe"
+-
+-#: config/cris/cris.opt:143
+-#, fuzzy
+-msgid "Do not emit function prologue or epilogue"
+-msgstr "OYA Umumaro Cyangwa"
+-
+-#: config/cris/cris.opt:150
+-#, fuzzy
+-msgid "Use the most feature-enabling options allowed by other options"
+-msgstr "i Amahitamo ku Ikindi Amahitamo"
+-
+-#: config/cris/cris.opt:159
+-#, fuzzy
+-msgid "Override -mbest-lib-options"
+-msgstr "Amahitamo"
+-
+-#: config/cris/cris.opt:166
+-#, fuzzy
+-msgid "Generate code for the specified chip or CPU version"
+-msgstr "ITEGEKONGENGA kugirango i Cyangwa Verisiyo"
+-
+-#: config/cris/cris.opt:170
+-#, fuzzy
+-msgid "Tune alignment for the specified chip or CPU version"
+-msgstr "Itunganya kugirango i Cyangwa Verisiyo"
+-
+-#: config/cris/cris.opt:174
+-#, fuzzy
+-msgid "Warn when a stackframe is larger than the specified size"
+-msgstr "Ryari: a ni Kinini i Ingano"
+-
+-#: config/cris/aout.opt:28
+-#, fuzzy
+-msgid "Compile for the MMU-less Etrax 100-based elinux system"
+-msgstr "kugirango i Birutwa 100 Sisitemu"
+-
+-#: config/cris/aout.opt:34
+-#, fuzzy
+-msgid "For elinux, request a specified stack-size for this program"
+-msgstr "Kubaza... a Ingano kugirango iyi Porogaramu"
+-
+-#: config/cris/linux.opt:28
+-#, fuzzy
+-msgid "Together with -fpic and -fPIC, do not use GOTPLT references"
+-msgstr "Na: Na OYA Gukoresha Indango"
+-
+-#: config/sparc/sparc.opt:24 config/sparc/sparc.opt:28
+-#, fuzzy
+-msgid "Use hardware FP"
+-msgstr "Gukoresha"
+-
+-#: config/sparc/sparc.opt:32
+-#, fuzzy
+-msgid "Do not use hardware FP"
+-msgstr "OYA Gukoresha"
+-
+-#: config/sparc/sparc.opt:36
+-#, fuzzy
+-msgid "Assume possible double misalignment"
+-msgstr "MAHARAKUBIRI"
+-
+-#: config/sparc/sparc.opt:40
+-#, fuzzy
+-msgid "Pass -assert pure-text to linker"
+-msgstr "Umwandiko Kuri"
+-
+-#: config/sparc/sparc.opt:44
+-msgid "Use ABI reserved registers"
+-msgstr ""
+-
+-#: config/sparc/sparc.opt:48
+-#, fuzzy
+-msgid "Use hardware quad FP instructions"
+-msgstr "Amabwiriza"
+-
+-#: config/sparc/sparc.opt:52
+-#, fuzzy
+-msgid "Do not use hardware quad fp instructions"
+-msgstr "OYA Gukoresha Amabwiriza"
+-
+-#: config/sparc/sparc.opt:56
+-#, fuzzy
+-msgid "Compile for V8+ ABI"
+-msgstr "kugirango"
+-
+-#: config/sparc/sparc.opt:60
+-msgid "Use UltraSPARC Visual Instruction Set extensions"
+-msgstr ""
+-
+-#: config/sparc/sparc.opt:64
+-msgid "Pointers are 64-bit"
+-msgstr ""
+-
+-#: config/sparc/sparc.opt:68
+-msgid "Pointers are 32-bit"
+-msgstr ""
+-
+-#: config/sparc/sparc.opt:72
+-msgid "Use 64-bit ABI"
+-msgstr ""
+-
+-#: config/sparc/sparc.opt:76
+-msgid "Use 32-bit ABI"
+-msgstr ""
+-
+-#: config/sparc/sparc.opt:80
+-msgid "Use stack bias"
+-msgstr ""
+-
+-#: config/sparc/sparc.opt:84
+-#, fuzzy
+-msgid "Use structs on stronger alignment for double-word copies"
+-msgstr "ku Itunganya kugirango MAHARAKUBIRI ijambo Amakopi"
+-
+-#: config/sparc/sparc.opt:88
+-#, fuzzy
+-msgid "Optimize tail call instructions in assembler and linker"
+-msgstr "Amabwiriza in Na"
+-
+-#: config/sparc/sparc.opt:100
+-#, fuzzy
+-msgid "Use given SPARC-V9 code model"
+-msgstr "ITEGEKONGENGA Urugero"
+-
+-#: config/sparc/sparc.opt:104
+-msgid "Enable strict 32-bit psABI struct return checking."
+-msgstr ""
+-
+-#: config/sparc/little-endian.opt:24
+-#, fuzzy
+-msgid "Generate code for little-endian"
+-msgstr "ITEGEKONGENGA kugirango"
+-
+-#: config/sparc/little-endian.opt:28
+-#, fuzzy
+-msgid "Generate code for big-endian"
+-msgstr "ITEGEKONGENGA kugirango"
+-
+-#: config/arc/arc.opt:33
+-msgid "Prepend the name of the cpu to all public symbol names"
+-msgstr ""
+-
+-#: config/arc/arc.opt:43
+-#, fuzzy
+-msgid "Compile code for ARC variant CPU"
+-msgstr "ITEGEKONGENGA kugirango"
+-
+-#: config/arc/arc.opt:47
+-msgid "Put functions in SECTION"
+-msgstr ""
+-
+-#: config/arc/arc.opt:51
+-msgid "Put data in SECTION"
+-msgstr ""
+-
+-#: config/arc/arc.opt:55
+-msgid "Put read-only data in SECTION"
+-msgstr ""
+-
+-#: config/sh/superh.opt:6
+-msgid "Board name [and memory region]."
+-msgstr ""
+-
+-#: config/sh/superh.opt:10
+-#, fuzzy
+-msgid "Runtime name."
+-msgstr "Iyinjiza IDOSIYE Izina:"
+-
+-#: config/sh/sh.opt:45
+-#, fuzzy
+-msgid "Generate SH1 code"
+-msgstr "ITEGEKONGENGA"
+-
+-#: config/sh/sh.opt:49
+-#, fuzzy
+-msgid "Generate SH2 code"
+-msgstr "ITEGEKONGENGA"
+-
+-#: config/sh/sh.opt:53
+-#, fuzzy
+-msgid "Generate SH2a code"
+-msgstr "ITEGEKONGENGA"
+-
+-#: config/sh/sh.opt:57
+-#, fuzzy
+-msgid "Generate SH2a FPU-less code"
+-msgstr "ITEGEKONGENGA"
+-
+-#: config/sh/sh.opt:61
+-#, fuzzy
+-msgid "Generate default single-precision SH2a code"
+-msgstr "ITEGEKONGENGA"
+-
+-#: config/sh/sh.opt:65
+-#, fuzzy
+-msgid "Generate only single-precision SH2a code"
+-msgstr "ITEGEKONGENGA"
+-
+-#: config/sh/sh.opt:69
+-#, fuzzy
+-msgid "Generate SH2e code"
+-msgstr "ITEGEKONGENGA"
+-
+-#: config/sh/sh.opt:73
+-#, fuzzy
+-msgid "Generate SH3 code"
+-msgstr "ITEGEKONGENGA"
+-
+-#: config/sh/sh.opt:77
+-#, fuzzy
+-msgid "Generate SH3e code"
+-msgstr "ITEGEKONGENGA"
+-
+-#: config/sh/sh.opt:81
+-#, fuzzy
+-msgid "Generate SH4 code"
+-msgstr "ITEGEKONGENGA"
+-
+-#: config/sh/sh.opt:85
+-#, fuzzy
+-msgid "Generate SH4-100 code"
+-msgstr "ITEGEKONGENGA"
+-
+-#: config/sh/sh.opt:89
+-#, fuzzy
+-msgid "Generate SH4-200 code"
+-msgstr "ITEGEKONGENGA"
+-
+-#: config/sh/sh.opt:93
+-#, fuzzy
+-msgid "Generate SH4 FPU-less code"
+-msgstr "ITEGEKONGENGA"
+-
+-#: config/sh/sh.opt:97
+-#, fuzzy
+-msgid "Generate code for SH4 400 series (MMU/FPU-less)"
+-msgstr "ITEGEKONGENGA kugirango"
+-
+-#: config/sh/sh.opt:102
+-#, fuzzy
+-msgid "Generate code for SH4 500 series (FPU-less)."
+-msgstr "ITEGEKONGENGA kugirango"
+-
+-#: config/sh/sh.opt:107
+-#, fuzzy
+-msgid "Generate default single-precision SH4 code"
+-msgstr "ITEGEKONGENGA"
+-
+-#: config/sh/sh.opt:111
+-msgid "Generate default single-precision SH4-100 code"
+-msgstr ""
+-
+-#: config/sh/sh.opt:115
+-msgid "Generate default single-precision SH4-200 code"
+-msgstr ""
+-
+-#: config/sh/sh.opt:119
+-#, fuzzy
+-msgid "Generate only single-precision SH4 code"
+-msgstr "ITEGEKONGENGA"
+-
+-#: config/sh/sh.opt:123
+-#, fuzzy
+-msgid "Generate only single-precision SH4-100 code"
+-msgstr "ITEGEKONGENGA"
+-
+-#: config/sh/sh.opt:127
+-#, fuzzy
+-msgid "Generate only single-precision SH4-200 code"
+-msgstr "ITEGEKONGENGA"
+-
+-#: config/sh/sh.opt:131
+-#, fuzzy
+-msgid "Generate SH4a code"
+-msgstr "ITEGEKONGENGA"
+-
+-#: config/sh/sh.opt:135
+-#, fuzzy
+-msgid "Generate SH4a FPU-less code"
+-msgstr "ITEGEKONGENGA"
+-
+-#: config/sh/sh.opt:139
+-#, fuzzy
+-msgid "Generate default single-precision SH4a code"
+-msgstr "ITEGEKONGENGA"
+-
+-#: config/sh/sh.opt:143
+-#, fuzzy
+-msgid "Generate only single-precision SH4a code"
+-msgstr "ITEGEKONGENGA"
+-
+-#: config/sh/sh.opt:147
+-#, fuzzy
+-msgid "Generate SH4al-dsp code"
+-msgstr "ITEGEKONGENGA"
+-
+-#: config/sh/sh.opt:151
+-#, fuzzy
+-msgid "Generate 32-bit SHmedia code"
+-msgstr "ITEGEKONGENGA"
+-
+-#: config/sh/sh.opt:155
+-#, fuzzy
+-msgid "Generate 32-bit FPU-less SHmedia code"
+-msgstr "ITEGEKONGENGA"
+-
+-#: config/sh/sh.opt:159
+-#, fuzzy
+-msgid "Generate 64-bit SHmedia code"
+-msgstr "ITEGEKONGENGA"
+-
+-#: config/sh/sh.opt:163
+-#, fuzzy
+-msgid "Generate 64-bit FPU-less SHmedia code"
+-msgstr "ITEGEKONGENGA"
+-
+-#: config/sh/sh.opt:167
+-#, fuzzy
+-msgid "Generate SHcompact code"
+-msgstr "ITEGEKONGENGA"
+-
+-#: config/sh/sh.opt:171
+-#, fuzzy
+-msgid "Generate FPU-less SHcompact code"
+-msgstr "Bifitanye isano ITEGEKONGENGA"
+-
+-#: config/sh/sh.opt:175
+-msgid "Throttle unrolling to avoid thrashing target registers unless the unroll benefit outweighs this"
+-msgstr ""
+-
+-#: config/sh/sh.opt:179
+-#, fuzzy
+-msgid "Generate code in big endian mode"
+-msgstr "ITEGEKONGENGA kugirango"
+-
+-#: config/sh/sh.opt:183
+-#, fuzzy
+-msgid "Generate 32-bit offsets in switch tables"
+-msgstr "4. Bayite Ibyinjijwe in Hindura Imbonerahamwe"
+-
+-#: config/sh/sh.opt:187
+-msgid "Enable SH5 cut2 workaround"
+-msgstr ""
+-
+-#: config/sh/sh.opt:191
+-#, fuzzy
+-msgid "Align doubles at 64-bit boundaries"
+-msgstr "Ibihinduka ku a"
+-
+-#: config/sh/sh.opt:195
+-msgid "Division strategy, one of: call, call2, fp, inv, inv:minlat, inv20u, inv20l, inv:call, inv:call2, inv:fp call-div1 call-fp call-table"
+-msgstr ""
+-
+-#: config/sh/sh.opt:199
+-#, fuzzy
+-msgid "Specify name for 32 bit signed division function"
+-msgstr "Izina: kugirango Icyiciro"
+-
+-#: config/sh/sh.opt:206
+-msgid "Cost to assume for gettr insn"
+-msgstr ""
+-
+-#: config/sh/sh.opt:210 config/sh/sh.opt:256
+-msgid "Follow Renesas (formerly Hitachi) / SuperH calling conventions"
+-msgstr ""
+-
+-#: config/sh/sh.opt:214
+-msgid "Increase the IEEE compliance for floating-point code"
+-msgstr ""
+-
+-#: config/sh/sh.opt:218
+-msgid "Enable the use of the indexed addressing mode for SHmedia32/SHcompact"
+-msgstr ""
+-
+-#: config/sh/sh.opt:222
+-msgid "Assume symbols might be invalid"
+-msgstr ""
+-
+-#: config/sh/sh.opt:226
+-msgid "Annotate assembler instructions with estimated addresses"
+-msgstr ""
+-
+-#: config/sh/sh.opt:230
+-#, fuzzy
+-msgid "Generate code in little endian mode"
+-msgstr "ITEGEKONGENGA kugirango"
+-
+-#: config/sh/sh.opt:234
+-msgid "Mark MAC register as call-clobbered"
+-msgstr ""
+-
+-#: config/sh/sh.opt:240
+-msgid "Make structs a multiple of 4 bytes (warning: ABI altered)"
+-msgstr ""
+-
+-#: config/sh/sh.opt:244
+-msgid "Emit function-calls using global offset table when generating PIC"
+-msgstr ""
+-
+-#: config/sh/sh.opt:248
+-msgid "Assume pt* instructions won't trap"
+-msgstr ""
+-
+-#: config/sh/sh.opt:252
+-msgid "Shorten address references during linking"
+-msgstr ""
+-
+-#: config/sh/sh.opt:260
+-msgid "Deprecated. Use -Os instead"
+-msgstr ""
+-
+-#: config/sh/sh.opt:264
+-msgid "Cost to assume for a multiply insn"
+-msgstr ""
+-
+-#: config/sh/sh.opt:268
+-msgid "Generate library function call to invalidate instruction cache entries after fixing trampoline"
+-msgstr ""
+-
+-#: config/sh/sh.opt:274
+-msgid "Pretend a branch-around-a-move is a conditional move."
+-msgstr ""
+-
+-#: config/pdp11/pdp11.opt:24
+-#, fuzzy
+-msgid "Generate code for an 11/10"
+-msgstr "ITEGEKONGENGA kugirango 10"
+-
+-#: config/pdp11/pdp11.opt:28
+-#, fuzzy
+-msgid "Generate code for an 11/40"
+-msgstr "ITEGEKONGENGA kugirango"
+-
+-#: config/pdp11/pdp11.opt:32
+-#, fuzzy
+-msgid "Generate code for an 11/45"
+-msgstr "ITEGEKONGENGA kugirango"
+-
+-#: config/pdp11/pdp11.opt:36
+-#, fuzzy
+-msgid "Use 16-bit abs patterns"
+-msgstr "Rusange"
+-
+-#: config/pdp11/pdp11.opt:40
+-#, fuzzy
+-msgid "Return floating-point results in ac0 (fr0 in Unix assembler syntax)"
+-msgstr "Bihindagurika Akadomo Ibisubizo ku in"
+-
+-#: config/pdp11/pdp11.opt:44
+-msgid "Do not use inline patterns for copying memory"
+-msgstr ""
+-
+-#: config/pdp11/pdp11.opt:48
+-msgid "Use inline patterns for copying memory"
+-msgstr ""
+-
+-#: config/pdp11/pdp11.opt:52
+-msgid "Do not pretend that branches are expensive"
+-msgstr ""
+-
+-#: config/pdp11/pdp11.opt:56
+-msgid "Pretend that branches are expensive"
+-msgstr ""
+-
+-#: config/pdp11/pdp11.opt:60
+-msgid "Use the DEC assembler syntax"
+-msgstr ""
+-
+-#: config/pdp11/pdp11.opt:64
+-#, fuzzy
+-msgid "Use 32 bit float"
+-msgstr "Kureremba"
+-
+-#: config/pdp11/pdp11.opt:68
+-#, fuzzy
+-msgid "Use 64 bit float"
+-msgstr "Kureremba"
+-
+-#: config/pdp11/pdp11.opt:76
+-#, fuzzy
+-msgid "Use 16 bit int"
+-msgstr "INT"
+-
+-#: config/pdp11/pdp11.opt:80
+-#, fuzzy
+-msgid "Use 32 bit int"
+-msgstr "INT"
+-
+-#: config/pdp11/pdp11.opt:88
+-#, fuzzy
+-msgid "Target has split I&D"
+-msgstr "Gutandukanya"
+-
+-#: config/pdp11/pdp11.opt:92
+-msgid "Use UNIX assembler syntax"
+-msgstr ""
+-
+-#: config/stormy16/stormy16.opt:25
+-msgid "Provide libraries for the simulator"
+-msgstr ""
+-
+-#: config/ia64/ia64.opt:3
+-#, fuzzy
+-msgid "Generate big endian code"
+-msgstr "ITEGEKONGENGA"
+-
+-#: config/ia64/ia64.opt:7
+-#, fuzzy
+-msgid "Generate little endian code"
+-msgstr "ITEGEKONGENGA"
+-
+-#: config/ia64/ia64.opt:11
+-#, fuzzy
+-msgid "Generate code for GNU as"
+-msgstr "ITEGEKONGENGA kugirango Nka"
+-
+-#: config/ia64/ia64.opt:15
+-#, fuzzy
+-msgid "Generate code for GNU ld"
+-msgstr "ITEGEKONGENGA kugirango"
+-
+-#: config/ia64/ia64.opt:19
+-#, fuzzy
+-msgid "Emit stop bits before and after volatile extended asms"
+-msgstr "Guhagarara Mbere Na Nyuma Byongerewe..."
+-
+-#: config/ia64/ia64.opt:23
+-#, fuzzy
+-msgid "Use in/loc/out register names"
+-msgstr "in Inyuma Kwiyandikisha Amazina"
+-
+-#: config/ia64/ia64.opt:30
+-#, fuzzy
+-msgid "Enable use of sdata/scommon/sbss"
+-msgstr "Gukoresha Bya"
+-
+-#: config/ia64/ia64.opt:34
+-#, fuzzy
+-msgid "Generate code without GP reg"
+-msgstr "ITEGEKONGENGA"
+-
+-#: config/ia64/ia64.opt:38
+-#, fuzzy
+-msgid "gp is constant (but save/restore gp on indirect calls)"
+-msgstr "ni Kubika Kugarura ku BUZIGUYE Amahamagara:"
+-
+-#: config/ia64/ia64.opt:42
+-#, fuzzy
+-msgid "Generate self-relocatable code"
+-msgstr "ITEGEKONGENGA"
+-
+-#: config/ia64/ia64.opt:46
+-#, fuzzy
+-msgid "Generate inline floating point division, optimize for latency"
+-msgstr "Mumurongo Bihindagurika Akadomo Kugeza ku ndunduro kugirango"
+-
+-#: config/ia64/ia64.opt:50
+-#, fuzzy
+-msgid "Generate inline floating point division, optimize for throughput"
+-msgstr "Mumurongo Bihindagurika Akadomo Kugeza ku ndunduro kugirango"
+-
+-#: config/ia64/ia64.opt:57
+-#, fuzzy
+-msgid "Generate inline integer division, optimize for latency"
+-msgstr "Mumurongo Umubare wuzuye Kugeza ku ndunduro kugirango"
+-
+-#: config/ia64/ia64.opt:61
+-#, fuzzy
+-msgid "Generate inline integer division, optimize for throughput"
+-msgstr "Mumurongo Umubare wuzuye Kugeza ku ndunduro kugirango"
+-
+-#: config/ia64/ia64.opt:65
+-#, fuzzy
+-msgid "Do not inline integer division"
+-msgstr "OYA Ibyerekeye Gukusanya Igihe Umubare wuzuye ku Zeru"
+-
+-#: config/ia64/ia64.opt:69
+-#, fuzzy
+-msgid "Generate inline square root, optimize for latency"
+-msgstr "Mumurongo Umubare wuzuye Kugeza ku ndunduro kugirango"
+-
+-#: config/ia64/ia64.opt:73
+-#, fuzzy
+-msgid "Generate inline square root, optimize for throughput"
+-msgstr "Mumurongo Umubare wuzuye Kugeza ku ndunduro kugirango"
+-
+-#: config/ia64/ia64.opt:77
+-#, fuzzy
+-msgid "Do not inline square root"
+-msgstr "OYA Umwanya"
+-
+-#: config/ia64/ia64.opt:81
+-#, fuzzy
+-msgid "Enable Dwarf 2 line debug info via GNU as"
+-msgstr "2. Umurongo Kosora amakosa Ibisobanuro Biturutse Nka"
+-
+-#: config/ia64/ia64.opt:85
+-msgid "Enable earlier placing stop bits for better scheduling"
+-msgstr ""
+-
+-#: config/ia64/ia64.opt:101
+-#, fuzzy
+-msgid "Use data speculation before reload"
+-msgstr "Bya Birenzeho"
+-
+-#: config/ia64/ia64.opt:105
+-msgid "Use data speculation after reload"
+-msgstr ""
+-
+-#: config/ia64/ia64.opt:109
+-#, fuzzy
+-msgid "Use control speculation"
+-msgstr "Porogaramu"
+-
+-#: config/ia64/ia64.opt:113
+-msgid "Use in block data speculation before reload"
+-msgstr ""
+-
+-#: config/ia64/ia64.opt:117
+-msgid "Use in block data speculation after reload"
+-msgstr ""
+-
+-#: config/ia64/ia64.opt:121
+-msgid "Use in block control speculation"
+-msgstr ""
+-
+-#: config/ia64/ia64.opt:125
+-msgid "Use simple data speculation check"
+-msgstr ""
+-
+-#: config/ia64/ia64.opt:129
+-msgid "Use simple data speculation check for control speculation"
+-msgstr ""
+-
+-#: config/ia64/ia64.opt:133
+-msgid "Print information about speculative motions."
+-msgstr ""
+-
+-#: config/ia64/ia64.opt:137
+-msgid "If set, data speculative instructions will be chosen for schedule only if there are no other choices at the moment "
+-msgstr ""
+-
+-#: config/ia64/ia64.opt:141
+-msgid "If set, control speculative instructions will be chosen for schedule only if there are no other choices at the moment "
+-msgstr ""
+-
+-#: config/ia64/ia64.opt:145
+-msgid "Count speculative dependencies while calculating priority of instructions"
+-msgstr ""
+-
+-#: config/ia64/ilp32.opt:3
+-#, fuzzy
+-msgid "Generate ILP32 code"
+-msgstr "ITEGEKONGENGA"
+-
+-#: config/ia64/ilp32.opt:7
+-#, fuzzy
+-msgid "Generate LP64 code"
+-msgstr "ITEGEKONGENGA"
+-
+-#: config/darwin.opt:24
+-#, fuzzy
+-msgid "Generate code suitable for fast turn around debugging"
+-msgstr "ITEGEKONGENGA kugirango a"
+-
+-#: config/darwin.opt:28
+-msgid "The earliest MacOS X version on which this program will run"
+-msgstr ""
+-
+-#: config/darwin.opt:32
+-#, fuzzy
+-msgid "Set sizeof(bool) to 1"
+-msgstr "MAHARAKUBIRI ni"
+-
+-#: config/darwin.opt:36
+-#, fuzzy
+-msgid "Generate code for darwin loadable kernel extentions"
+-msgstr "ITEGEKONGENGA kugirango"
+-
+-#: config/darwin.opt:40
+-#, fuzzy
+-msgid "Generate code for the kernel or loadable kernel extentions"
+-msgstr "ITEGEKONGENGA kugirango i Cyangwa Verisiyo"
+-
+-#: config/fr30/fr30.opt:24
+-#, fuzzy
+-msgid "Assume small address space"
+-msgstr "Gitoya Aderesi Umwanya"
+-
+-#: config/mips/mips.opt:24
+-#, fuzzy
+-msgid "Generate code that conforms to the given ABI"
+-msgstr "ITEGEKONGENGA kugirango"
+-
+-#: config/mips/mips.opt:28
+-msgid "Generate code that can be used in SVR4-style dynamic objects"
+-msgstr ""
+-
+-#: config/mips/mips.opt:32
+-#, fuzzy
+-msgid "Use PMC-style 'mad' instructions"
+-msgstr "Umwanya Amabwiriza"
+-
+-#: config/mips/mips.opt:36
+-#, fuzzy
+-msgid "Generate code for the given ISA"
+-msgstr "ITEGEKONGENGA kugirango"
+-
+-#: config/mips/mips.opt:40
+-#, fuzzy
+-msgid "Use Branch Likely instructions, overriding the architecture default"
+-msgstr "Amabwiriza Mburabuzi kugirango"
+-
+-#: config/mips/mips.opt:44
+-#, fuzzy
+-msgid "Trap on integer divide by zero"
+-msgstr "ku Umubare wuzuye Kugabanya ku Zeru"
+-
+-#: config/mips/mips.opt:48
+-msgid "Use branch-and-break sequences to check for integer divide by zero"
+-msgstr ""
+-
+-#: config/mips/mips.opt:52
+-#, fuzzy
+-msgid "Use trap instructions to check for integer divide by zero"
+-msgstr "ku Umubare wuzuye Kugabanya ku Zeru"
+-
+-#: config/mips/mips.opt:56
+-msgid "Allow hardware floating-point instructions to cover both 32-bit and 64-bit operations"
+-msgstr ""
+-
+-#: config/mips/mips.opt:60
+-#, fuzzy
+-msgid "Use MIPS-DSP instructions"
+-msgstr "Gukoresha Amabwiriza"
+-
+-#: config/mips/mips.opt:70
+-#, fuzzy
+-msgid "Use big-endian byte order"
+-msgstr "Bayite Itondekanya"
+-
+-#: config/mips/mips.opt:74
+-#, fuzzy
+-msgid "Use little-endian byte order"
+-msgstr "Bayite Itondekanya"
+-
+-#: config/mips/mips.opt:78 config/iq2000/iq2000.opt:32
+-#, fuzzy
+-msgid "Use ROM instead of RAM"
+-msgstr "Bya"
+-
+-#: config/mips/mips.opt:82
+-msgid "Use NewABI-style %reloc() assembly operators"
+-msgstr ""
+-
+-#: config/mips/mips.opt:86
+-msgid "Work around certain R4000 errata"
+-msgstr ""
+-
+-#: config/mips/mips.opt:90
+-msgid "Work around certain R4400 errata"
+-msgstr ""
+-
+-#: config/mips/mips.opt:94
+-msgid "Work around errata for early SB-1 revision 2 cores"
+-msgstr ""
+-
+-#: config/mips/mips.opt:98
+-msgid "Work around certain VR4120 errata"
+-msgstr ""
+-
+-#: config/mips/mips.opt:102
+-msgid "Work around VR4130 mflo/mfhi errata"
+-msgstr ""
+-
+-#: config/mips/mips.opt:106
+-#, fuzzy
+-msgid "Work around an early 4300 hardware bug"
+-msgstr "Akazi"
+-
+-#: config/mips/mips.opt:110
+-#, fuzzy
+-msgid "FP exceptions are enabled"
+-msgstr "Amahitamo Bikora"
+-
+-#: config/mips/mips.opt:114
+-#, fuzzy
+-msgid "Use 32-bit floating-point registers"
+-msgstr "Rusange"
+-
+-#: config/mips/mips.opt:118
+-#, fuzzy
+-msgid "Use 64-bit floating-point registers"
+-msgstr "Rusange"
+-
+-#: config/mips/mips.opt:122
+-msgid "Use FUNC to flush the cache before calling stack trampolines"
+-msgstr ""
+-
+-#: config/mips/mips.opt:126
+-#, fuzzy
+-msgid "Generate floating-point multiply-add instructions"
+-msgstr "Gukuba Kongeramo Amabwiriza"
+-
+-#: config/mips/mips.opt:130
+-#, fuzzy
+-msgid "Use 32-bit general registers"
+-msgstr "Rusange"
+-
+-#: config/mips/mips.opt:134
+-#, fuzzy
+-msgid "Use 64-bit general registers"
+-msgstr "Rusange"
+-
+-#: config/mips/mips.opt:138
+-#, fuzzy
+-msgid "Allow the use of hardware floating-point instructions"
+-msgstr "Bihindagurika Akadomo Amabwiriza"
+-
+-#: config/mips/mips.opt:142
+-#, fuzzy
+-msgid "Generate code for ISA level N"
+-msgstr "ITEGEKONGENGA kugirango Nka"
+-
+-#: config/mips/mips.opt:146
+-#, fuzzy
+-msgid "Generate mips16 code"
+-msgstr "ITEGEKONGENGA"
+-
+-#: config/mips/mips.opt:150
+-#, fuzzy
+-msgid "Use MIPS-3D instructions"
+-msgstr "Gukoresha Amabwiriza"
+-
+-#: config/mips/mips.opt:154
+-#, fuzzy
+-msgid "Use indirect calls"
+-msgstr "BUZIGUYE Amahamagara:"
+-
+-#: config/mips/mips.opt:158
+-#, fuzzy
+-msgid "Use a 32-bit long type"
+-msgstr "Ubwoko"
+-
+-#: config/mips/mips.opt:162
+-#, fuzzy
+-msgid "Use a 64-bit long type"
+-msgstr "Ubwoko"
+-
+-#: config/mips/mips.opt:166
+-#, fuzzy
+-msgid "Don't optimize block moves"
+-msgstr "Kugeza ku ndunduro Funga"
+-
+-#: config/mips/mips.opt:170
+-#, fuzzy
+-msgid "Use the mips-tfile postpass"
+-msgstr "Gukoresha"
+-
+-#: config/mips/mips.opt:174
+-msgid "Do not use a cache-flushing function before calling stack trampolines"
+-msgstr ""
+-
+-#: config/mips/mips.opt:178
+-#, fuzzy
+-msgid "Generate normal-mode code"
+-msgstr "ITEGEKONGENGA"
+-
+-#: config/mips/mips.opt:182
+-#, fuzzy
+-msgid "Do not use MIPS-3D instructions"
+-msgstr "Gukoresha Amabwiriza"
+-
+-#: config/mips/mips.opt:186
+-#, fuzzy
+-msgid "Use paired-single floating-point instructions"
+-msgstr "Bihindagurika Akadomo Amabwiriza"
+-
+-#: config/mips/mips.opt:190
+-msgid "When generating -mabicalls code, make the code suitable for use in shared libraries"
+-msgstr ""
+-
+-#: config/mips/mips.opt:194
+-#, fuzzy
+-msgid "Restrict the use of hardware floating-point instructions to 32-bit operations"
+-msgstr "Bihindagurika Akadomo Amabwiriza"
+-
+-#: config/mips/mips.opt:198
+-#, fuzzy
+-msgid "Prevent the use of all hardware floating-point instructions"
+-msgstr "Bihindagurika Akadomo Amabwiriza"
+-
+-#: config/mips/mips.opt:202
+-#, fuzzy
+-msgid "Optimize lui/addiu address loads"
+-msgstr "Aderesi"
+-
+-#: config/mips/mips.opt:206
+-#, fuzzy
+-msgid "Assume all symbols have 32-bit values"
+-msgstr "Byose"
+-
+-#: config/mips/mips.opt:210
+-msgid "Optimize the output for PROCESSOR"
+-msgstr ""
+-
+-#: config/mips/mips.opt:214 config/iq2000/iq2000.opt:45
+-#, fuzzy
+-msgid "Put uninitialized constants in ROM (needs -membedded-data)"
+-msgstr "Itatangijwe in Ibyatanzwe"
+-
+-#: config/mips/mips.opt:218
+-#, fuzzy
+-msgid "Perform VR4130-specific alignment optimizations"
+-msgstr "Simbuka"
+-
+-#: config/mips/mips.opt:222
+-msgid "Lift restrictions on GOT size"
+-msgstr ""
+-
+-#: config/m68k/m68k.opt:24
+-#, fuzzy
+-msgid "Generate code for a 520X"
+-msgstr "ITEGEKONGENGA kugirango a"
+-
+-#: config/m68k/m68k.opt:28
+-#, fuzzy
+-msgid "Generate code for a 5206e"
+-msgstr "ITEGEKONGENGA kugirango a"
+-
+-#: config/m68k/m68k.opt:32
+-#, fuzzy
+-msgid "Generate code for a 528x"
+-msgstr "ITEGEKONGENGA kugirango a"
+-
+-#: config/m68k/m68k.opt:36
+-#, fuzzy
+-msgid "Generate code for a 5307"
+-msgstr "ITEGEKONGENGA kugirango a"
+-
+-#: config/m68k/m68k.opt:40
+-#, fuzzy
+-msgid "Generate code for a 5407"
+-msgstr "ITEGEKONGENGA kugirango a"
+-
+-#: config/m68k/m68k.opt:44
+-#, fuzzy
+-msgid "Generate code for a ColdFire v4e"
+-msgstr "ITEGEKONGENGA kugirango i"
+-
+-#: config/m68k/m68k.opt:48 config/m68k/m68k.opt:101
+-#, fuzzy
+-msgid "Generate code for a 68000"
+-msgstr "ITEGEKONGENGA kugirango a"
+-
+-#: config/m68k/m68k.opt:52 config/m68k/m68k.opt:105
+-#, fuzzy
+-msgid "Generate code for a 68020"
+-msgstr "ITEGEKONGENGA kugirango a"
+-
+-#: config/m68k/m68k.opt:56
+-#, fuzzy
+-msgid "Generate code for a 68040, without any new instructions"
+-msgstr "ITEGEKONGENGA kugirango a Gishya Amabwiriza"
+-
+-#: config/m68k/m68k.opt:60
+-#, fuzzy
+-msgid "Generate code for a 68060, without any new instructions"
+-msgstr "ITEGEKONGENGA kugirango a Gishya Amabwiriza"
+-
+-#: config/m68k/m68k.opt:64
+-#, fuzzy
+-msgid "Generate code for a 68030"
+-msgstr "ITEGEKONGENGA kugirango a"
+-
+-#: config/m68k/m68k.opt:68
+-#, fuzzy
+-msgid "Generate code for a 68040"
+-msgstr "ITEGEKONGENGA kugirango a"
+-
+-#: config/m68k/m68k.opt:72
+-#, fuzzy
+-msgid "Generate code for a 68060"
+-msgstr "ITEGEKONGENGA kugirango a"
+-
+-#: config/m68k/m68k.opt:76
+-#, fuzzy
+-msgid "Generate code for a 68302"
+-msgstr "ITEGEKONGENGA kugirango a"
+-
+-#: config/m68k/m68k.opt:80
+-#, fuzzy
+-msgid "Generate code for a 68332"
+-msgstr "ITEGEKONGENGA kugirango a"
+-
+-#: config/m68k/m68k.opt:85
+-#, fuzzy
+-msgid "Generate code for a 68851"
+-msgstr "ITEGEKONGENGA kugirango a"
+-
+-#: config/m68k/m68k.opt:89
+-#, fuzzy
+-msgid "Generate code that uses 68881 floating-point instructions"
+-msgstr "Bihindagurika Akadomo Amabwiriza"
+-
+-#: config/m68k/m68k.opt:93
+-#, fuzzy
+-msgid "Align variables on a 32-bit boundary"
+-msgstr "Ibihinduka ku a"
+-
+-#: config/m68k/m68k.opt:97
+-#, fuzzy
+-msgid "Use the bit-field instructions"
+-msgstr "i Umwanya Amabwiriza"
+-
+-#: config/m68k/m68k.opt:109
+-#, fuzzy
+-msgid "Generate code for a cpu32"
+-msgstr "ITEGEKONGENGA kugirango a"
+-
+-#: config/m68k/m68k.opt:113
+-msgid "Enable ID based shared library"
+-msgstr ""
+-
+-#: config/m68k/m68k.opt:117
+-#, fuzzy
+-msgid "Do not use the bit-field instructions"
+-msgstr "OYA Gukoresha i Umwanya Amabwiriza"
+-
+-#: config/m68k/m68k.opt:121
+-#, fuzzy
+-msgid "Use normal calling convention"
+-msgstr "Bisanzwe"
+-
+-#: config/m68k/m68k.opt:125
+-#, fuzzy
+-msgid "Consider type 'int' to be 32 bits wide"
+-msgstr "Ubwoko Kuri"
+-
+-#: config/m68k/m68k.opt:129
+-#, fuzzy
+-msgid "Generate pc-relative code"
+-msgstr "Bifitanye isano ITEGEKONGENGA"
+-
+-#: config/m68k/m68k.opt:133
+-#, fuzzy
+-msgid "Use different calling convention using 'rtd'"
+-msgstr "ikoresha"
+-
+-#: config/m68k/m68k.opt:137
+-msgid "Enable separate data segment"
+-msgstr ""
+-
+-#: config/m68k/m68k.opt:141 config/bfin/bfin.opt:45
+-msgid "ID of shared library to build"
+-msgstr ""
+-
+-#: config/m68k/m68k.opt:145
+-#, fuzzy
+-msgid "Consider type 'int' to be 16 bits wide"
+-msgstr "Ubwoko Kuri"
+-
+-#: config/m68k/m68k.opt:149
+-#, fuzzy
+-msgid "Generate code with library calls for floating point"
+-msgstr "ITEGEKONGENGA Na: Isomero Amahamagara: kugirango Bihindagurika Akadomo"
+-
+-#: config/m68k/m68k.opt:153
+-#, fuzzy
+-msgid "Do not use unaligned memory references"
+-msgstr "OYA Gukoresha Ububiko Indango"
+-
+-#: config/score/score.opt:32
+-#, fuzzy
+-msgid "Disable bcnz instruction"
+-msgstr "Gukoresha Bya"
+-
+-#: config/score/score.opt:36
+-#, fuzzy
+-msgid "Enable unaligned load/store instruction"
+-msgstr "Biteganye Amabwiriza"
+-
+-#: config/score/score.opt:40
+-#, fuzzy
+-msgid "Enable mac instruction"
+-msgstr "Biteganye Amabwiriza"
+-
+-#: config/score/score.opt:44
+-msgid "Support SCORE 5 ISA"
+-msgstr ""
+-
+-#: config/score/score.opt:48
+-msgid "Support SCORE 5U ISA"
+-msgstr ""
+-
+-#: config/score/score.opt:52
+-msgid "Support SCORE 7 ISA"
+-msgstr ""
+-
+-#: config/score/score.opt:56
+-msgid "Support SCORE 7D ISA"
+-msgstr ""
+-
+-#: config/vxworks.opt:25
+-#, fuzzy
+-msgid "Assume the VxWorks RTP environment"
+-msgstr "Bisanzwe C"
+-
+-#: config/vxworks.opt:32
+-#, fuzzy
+-msgid "Assume the VxWorks vThreads environment"
+-msgstr "Bisanzwe C"
+-
+-#: config/vax/vax.opt:24 config/vax/vax.opt:28
+-msgid "Target DFLOAT double precision code"
+-msgstr ""
+-
+-#: config/vax/vax.opt:32 config/vax/vax.opt:36
+-#, fuzzy
+-msgid "Generate GFLOAT double precision code"
+-msgstr "ITEGEKONGENGA"
+-
+-#: config/vax/vax.opt:40
+-#, fuzzy
+-msgid "Generate code for GNU assembler (gas)"
+-msgstr "ITEGEKONGENGA kugirango Nka"
+-
+-#: config/vax/vax.opt:44
+-#, fuzzy
+-msgid "Generate code for UNIX assembler"
+-msgstr "ITEGEKONGENGA kugirango Nka"
+-
+-#: config/vax/vax.opt:48
+-msgid "Use VAXC structure conventions"
+-msgstr ""
+-
+-#: config/crx/crx.opt:24
+-#, fuzzy
+-msgid "Support multiply accumulate instructions"
+-msgstr "Gukuba Amabwiriza"
+-
+-#: config/crx/crx.opt:28
+-#, fuzzy
+-msgid "Do not use push to store function arguments"
+-msgstr "OYA Gukoresha Amabwiriza Kuri Kubika ingingo"
+-
+-#: config/crx/crx.opt:32
+-msgid "Restrict doloop to the given nesting level"
+-msgstr ""
+-
+-#: config/v850/v850.opt:24
+-#, fuzzy
+-msgid "Use registers r2 and r5"
+-msgstr "OYA Gukoresha Na"
+-
+-#: config/v850/v850.opt:28
+-#, fuzzy
+-msgid "Use 4 byte entries in switch tables"
+-msgstr "4. Bayite Ibyinjijwe in Hindura Imbonerahamwe"
+-
+-#: config/v850/v850.opt:32
+-msgid "Enable backend debugging"
+-msgstr ""
+-
+-#: config/v850/v850.opt:36
+-#, fuzzy
+-msgid "Do not use the callt instruction"
+-msgstr "OYA Gukoresha i"
+-
+-#: config/v850/v850.opt:40
+-#, fuzzy
+-msgid "Reuse r30 on a per function basis"
+-msgstr "ku a Umumaro Ishingiro"
+-
+-#: config/v850/v850.opt:44
+-msgid "Support Green Hills ABI"
+-msgstr ""
+-
+-#: config/v850/v850.opt:48
+-#, fuzzy
+-msgid "Prohibit PC relative function calls"
+-msgstr "Bifitanye isano Umumaro Amahamagara:"
+-
+-#: config/v850/v850.opt:52
+-#, fuzzy
+-msgid "Use stubs for function prologues"
+-msgstr "kugirango Umumaro"
+-
+-#: config/v850/v850.opt:56
+-#, fuzzy
+-msgid "Set the max size of data eligible for the SDA area"
+-msgstr "i KININI Ingano Bya Ibyatanzwe kugirango i Ubuso"
+-
+-#: config/v850/v850.opt:60
+-#, fuzzy
+-msgid "Enable the use of the short load instructions"
+-msgstr "i Gukoresha Bya i Ibirimo Amabwiriza"
+-
+-#: config/v850/v850.opt:64
+-#, fuzzy
+-msgid "Same as: -mep -mprolog-function"
+-msgstr "Nka Umumaro"
+-
+-#: config/v850/v850.opt:68
+-#, fuzzy
+-msgid "Set the max size of data eligible for the TDA area"
+-msgstr "i KININI Ingano Bya Ibyatanzwe kugirango i Ubuso"
+-
+-#: config/v850/v850.opt:72
+-#, fuzzy
+-msgid "Enforce strict alignment"
+-msgstr "Itunganya"
+-
+-#: config/v850/v850.opt:79
+-#, fuzzy
+-msgid "Compile for the v850 processor"
+-msgstr "kugirango i"
+-
+-#: config/v850/v850.opt:83
+-#, fuzzy
+-msgid "Compile for the v850e processor"
+-msgstr "kugirango i"
+-
+-#: config/v850/v850.opt:87
+-#, fuzzy
+-msgid "Compile for the v850e1 processor"
+-msgstr "kugirango i"
+-
+-#: config/v850/v850.opt:91
+-#, fuzzy
+-msgid "Set the max size of data eligible for the ZDA area"
+-msgstr "i KININI Ingano Bya Ibyatanzwe kugirango i Ubuso"
+-
+-#: config/linux.opt:25
+-#, fuzzy
+-msgid "Use uClibc instead of GNU libc"
+-msgstr "Bya"
+-
+-#: config/linux.opt:29
+-#, fuzzy
+-msgid "Use GNU libc instead of uClibc"
+-msgstr "Bya"
+-
+-#: config/frv/frv.opt:24
+-#, fuzzy
+-msgid "Use 4 media accumulators"
+-msgstr "Gukuba"
+-
+-#: config/frv/frv.opt:28
+-#, fuzzy
+-msgid "Use 8 media accumulators"
+-msgstr "Gukuba"
+-
+-#: config/frv/frv.opt:32
+-#, fuzzy
+-msgid "Enable label alignment optimizations"
+-msgstr "a Kwiyandikisha Kwimura"
+-
+-#: config/frv/frv.opt:36
+-#, fuzzy
+-msgid "Dynamically allocate cc registers"
+-msgstr "OYA Kwiyandikisha"
+-
+-#: config/frv/frv.opt:43
+-msgid "Set the cost of branches"
+-msgstr ""
+-
+-#: config/frv/frv.opt:47
+-msgid "Enable conditional execution other than moves/scc"
+-msgstr ""
+-
+-#: config/frv/frv.opt:51
+-msgid "Change the maximum length of conditionally-executed sequences"
+-msgstr ""
+-
+-#: config/frv/frv.opt:55
+-msgid "Change the number of temporary registers that are available to conditionally-executed sequences"
+-msgstr ""
+-
+-#: config/frv/frv.opt:59
+-#, fuzzy
+-msgid "Enable conditional moves"
+-msgstr "Gukoresha Bya Kwimura Amabwiriza"
+-
+-#: config/frv/frv.opt:63
+-#, fuzzy
+-msgid "Set the target CPU type"
+-msgstr "i Izina: Bya i Intego"
+-
+-#: config/frv/frv.opt:85
+-#, fuzzy
+-msgid "Use fp double instructions"
+-msgstr "Amabwiriza"
+-
+-#: config/frv/frv.opt:89
+-msgid "Change the ABI to allow double word insns"
+-msgstr ""
+-
+-#: config/frv/frv.opt:93 config/bfin/bfin.opt:53
+-msgid "Enable Function Descriptor PIC mode"
+-msgstr ""
+-
+-#: config/frv/frv.opt:97
+-msgid "Just use icc0/fcc0"
+-msgstr ""
+-
+-#: config/frv/frv.opt:101
+-msgid "Only use 32 FPRs"
+-msgstr ""
+-
+-#: config/frv/frv.opt:105
+-msgid "Use 64 FPRs"
+-msgstr ""
+-
+-#: config/frv/frv.opt:109
+-msgid "Only use 32 GPRs"
+-msgstr ""
+-
+-#: config/frv/frv.opt:113
+-msgid "Use 64 GPRs"
+-msgstr ""
+-
+-#: config/frv/frv.opt:117
+-msgid "Enable use of GPREL for read-only data in FDPIC"
+-msgstr ""
+-
+-#: config/frv/frv.opt:125
+-#, fuzzy
+-msgid "Enable inlining of PLT in function calls"
+-msgstr "Mu kubika Umumaro Amahamagara:"
+-
+-#: config/frv/frv.opt:129
+-#, fuzzy
+-msgid "Enable PIC support for building libraries"
+-msgstr "Gushigikira kugirango Ibintu"
+-
+-#: config/frv/frv.opt:133
+-msgid "Follow the EABI linkage requirements"
+-msgstr ""
+-
+-#: config/frv/frv.opt:137
+-#, fuzzy
+-msgid "Disallow direct calls to global functions"
+-msgstr "Igikoresho ni OYA a Umumaro"
+-
+-#: config/frv/frv.opt:141
+-#, fuzzy
+-msgid "Use media instructions"
+-msgstr "Umwanya Amabwiriza"
+-
+-#: config/frv/frv.opt:145
+-#, fuzzy
+-msgid "Use multiply add/subtract instructions"
+-msgstr "Gukuba Amabwiriza"
+-
+-#: config/frv/frv.opt:149
+-msgid "Enable optimizing &&/|| in conditional execution"
+-msgstr ""
+-
+-#: config/frv/frv.opt:153
+-#, fuzzy
+-msgid "Enable nested conditional execution optimizations"
+-msgstr "Gukoresha Bya Kwimura Amabwiriza"
+-
+-#: config/frv/frv.opt:158
+-msgid "Do not mark ABI switches in e_flags"
+-msgstr ""
+-
+-#: config/frv/frv.opt:162
+-msgid "Remove redundant membars"
+-msgstr ""
+-
+-#: config/frv/frv.opt:166
+-#, fuzzy
+-msgid "Pack VLIW instructions"
+-msgstr "Amabwiriza"
+-
+-#: config/frv/frv.opt:170
+-msgid "Enable setting GPRs to the result of comparisons"
+-msgstr ""
+-
+-#: config/frv/frv.opt:174
+-msgid "Change the amount of scheduler lookahead"
+-msgstr ""
+-
+-#: config/frv/frv.opt:182
+-msgid "Assume a large TLS segment"
+-msgstr ""
+-
+-#: config/frv/frv.opt:186
+-#, fuzzy
+-msgid "Do not assume a large TLS segment"
+-msgstr "OYA Itunganya"
+-
+-#: config/frv/frv.opt:191
+-msgid "Cause gas to print tomcat statistics"
+-msgstr ""
+-
+-#: config/frv/frv.opt:196
+-msgid "Link with the library-pic libraries"
+-msgstr ""
+-
+-#: config/frv/frv.opt:200
+-msgid "Allow branches to be packed with other instructions"
+-msgstr ""
+-
+-#: config/avr/avr.opt:24
+-#, fuzzy
+-msgid "Use subroutines for function prologues and epilogues"
+-msgstr "kugirango Umumaro"
+-
+-#: config/avr/avr.opt:28
+-#, fuzzy
+-msgid "Select the target MCU"
+-msgstr "i Izina: Bya i Intego"
+-
+-#: config/avr/avr.opt:35
+-#, fuzzy
+-msgid "Use STACK as the initial value of the stack pointer"
+-msgstr "i Byo hasi 8 Bya i Mweretsi"
+-
+-#: config/avr/avr.opt:39
+-#, fuzzy
+-msgid "Use an 8-bit 'int' type"
+-msgstr "INT Ubwoko"
+-
+-#: config/avr/avr.opt:43
+-#, fuzzy
+-msgid "Change the stack pointer without disabling interrupts"
+-msgstr "i Mweretsi"
+-
+-#: config/avr/avr.opt:47
+-#, fuzzy
+-msgid "Do not generate tablejump insns"
+-msgstr "OYA"
+-
+-#: config/avr/avr.opt:57
+-#, fuzzy
+-msgid "Use rjmp/rcall (limited range) on >8K devices"
+-msgstr "Urutonde ku"
+-
+-#: config/avr/avr.opt:61
+-#, fuzzy
+-msgid "Output instruction sizes to the asm file"
+-msgstr "Kuri i IDOSIYE"
+-
+-#: config/avr/avr.opt:65
+-#, fuzzy
+-msgid "Change only the low 8 bits of the stack pointer"
+-msgstr "i Byo hasi 8 Bya i Mweretsi"
+-
+-#: config/bfin/bfin.opt:24
+-#, fuzzy
+-msgid "Omit frame pointer for leaf functions"
+-msgstr "i Ikadiri Mweretsi in Imimaro"
+-
+-#: config/bfin/bfin.opt:28
+-msgid "Program is entirely located in low 64k of memory"
+-msgstr ""
+-
+-#: config/bfin/bfin.opt:32
+-msgid "Work around a hardware anomaly by adding a number of NOPs before a"
+-msgstr ""
+-
+-#: config/bfin/bfin.opt:37
+-msgid "Avoid speculative loads to work around a hardware anomaly."
+-msgstr ""
+-
+-#: config/bfin/bfin.opt:41
+-msgid "Enabled ID based shared library"
+-msgstr ""
+-
+-#: config/bfin/bfin.opt:49
+-msgid "Avoid generating pc-relative calls; use indirection"
+-msgstr ""
+-
+-#: config/m32c/m32c.opt:29
+-#, fuzzy
+-msgid "Compile code for R8C variants"
+-msgstr "kugirango"
+-
+-#: config/m32c/m32c.opt:33
+-#, fuzzy
+-msgid "Compile code for M16C variants"
+-msgstr "kugirango"
+-
+-#: config/m32c/m32c.opt:37
+-#, fuzzy
+-msgid "Compile code for M32CM variants"
+-msgstr "kugirango"
+-
+-#: config/m32c/m32c.opt:41
+-#, fuzzy
+-msgid "Compile code for M32C variants"
+-msgstr "kugirango"
+-
+-#: config/m32c/m32c.opt:45
+-msgid "Number of memreg bytes (default: 16, range: 0..16)"
+-msgstr ""
+-
+-#: config/s390/tpf.opt:24
+-msgid "Enable TPF-OS tracing code"
+-msgstr ""
+-
+-#: config/s390/tpf.opt:28
+-#, fuzzy
+-msgid "Specify main object for TPF-OS"
+-msgstr "Kinini Umubare Bya Amasubiramo kugirango"
+-
+-#: config/s390/s390.opt:24
+-#, fuzzy
+-msgid "31 bit ABI"
+-msgstr "Ubwoko"
+-
+-#: config/s390/s390.opt:28
+-#, fuzzy
+-msgid "64 bit ABI"
+-msgstr "Ubwoko"
+-
+-#: config/s390/s390.opt:36
+-msgid "Maintain backchain pointer"
+-msgstr ""
+-
+-#: config/s390/s390.opt:40
+-#, fuzzy
+-msgid "Additional debug prints"
+-msgstr "Kosora amakosa"
+-
+-#: config/s390/s390.opt:44
+-msgid "ESA/390 architecture"
+-msgstr ""
+-
+-#: config/s390/s390.opt:48
+-#, fuzzy
+-msgid "Enable fused multiply/add instructions"
+-msgstr "Gukuba Kongeramo Amabwiriza"
+-
+-#: config/s390/s390.opt:64
+-msgid "Use packed stack layout"
+-msgstr ""
+-
+-#: config/s390/s390.opt:68
+-#, fuzzy
+-msgid "Use bras for executable < 64k"
+-msgstr "kugirango"
+-
+-#: config/s390/s390.opt:72
+-#, fuzzy
+-msgid "Don't use hardware fp"
+-msgstr "Gukoresha"
+-
+-#: config/s390/s390.opt:76
+-msgid "Set the max. number of bytes which has to be left to stack size before a trap instruction is triggered"
+-msgstr ""
+-
+-#: config/s390/s390.opt:80
+-msgid "Emit extra code in the function prologue in order to trap if the stack size exceeds the given limit"
+-msgstr ""
+-
+-#: config/s390/s390.opt:88
+-#, fuzzy
+-msgid "mvcle use"
+-msgstr "Gukoresha"
+-
+-#: config/s390/s390.opt:92
+-msgid "Warn if a function uses alloca or creates an array with dynamic size"
+-msgstr ""
+-
+-#: config/s390/s390.opt:96
+-msgid "Warn if a single function's framesize exceeds the given framesize"
+-msgstr ""
+-
+-#: config/s390/s390.opt:100
+-msgid "z/Architecture"
+-msgstr ""
+-
+-#: config/mn10300/mn10300.opt:24
+-#, fuzzy
+-msgid "Target the AM33 processor"
+-msgstr "i"
+-
+-#: config/mn10300/mn10300.opt:28
+-#, fuzzy
+-msgid "Target the AM33/2.0 processor"
+-msgstr "i"
+-
+-#: config/mn10300/mn10300.opt:32
+-#, fuzzy
+-msgid "Work around hardware multiply bug"
+-msgstr "Gukuba"
+-
+-#: config/mn10300/mn10300.opt:37
+-msgid "Enable linker relaxations"
+-msgstr ""
+-
+-#: config/mn10300/mn10300.opt:41
+-msgid "Return pointers in both a0 and d0"
+-msgstr ""
+-
+-#: config/iq2000/iq2000.opt:28
+-#, fuzzy
+-msgid "Specify CPU for scheduling purposes"
+-msgstr "kugirango Impamvu"
+-
+-#: config/iq2000/iq2000.opt:36
+-#, fuzzy
+-msgid "Use GP relative sdata/sbss sections"
+-msgstr "Bifitanye isano Ibyatoranyijwe"
+-
+-#: config/iq2000/iq2000.opt:41
+-#, fuzzy
+-msgid "No default crt0.o"
+-msgstr "Mburabuzi o"
+-
+-#: c.opt:42
+-msgid "Assert the <answer> to <question>. Putting '-' before <question> disables the <answer> to <question>"
+-msgstr ""
+-
+-#: c.opt:46
+-#, fuzzy
+-msgid "Do not discard comments"
+-msgstr "OYA Umwanya"
+-
+-#: c.opt:50
+-msgid "Do not discard comments in macro expansions"
+-msgstr ""
+-
+-#: c.opt:54
+-msgid "Define a <macro> with <val> as its value. If just <macro> is given, <val> is taken to be 1"
+-msgstr ""
+-
+-#: c.opt:61
+-msgid "Add <dir> to the end of the main framework include path"
+-msgstr ""
+-
+-#: c.opt:65
+-#, fuzzy
+-msgid "Print the name of header files as they are used"
+-msgstr "Amazina Bya Porogaramu Nka"
+-
+-#: c.opt:69 c.opt:797
+-msgid "Add <dir> to the end of the main include path"
+-msgstr ""
+-
+-#: c.opt:73
+-#, fuzzy
+-msgid "Generate make dependencies"
+-msgstr "ITEGEKONGENGA"
+-
+-#: c.opt:77
+-#, fuzzy
+-msgid "Generate make dependencies and compile"
+-msgstr "ITEGEKONGENGA"
+-
+-#: c.opt:81
+-msgid "Write dependency output to the given file"
+-msgstr ""
+-
+-#: c.opt:85
+-msgid "Treat missing header files as generated files"
+-msgstr ""
+-
+-#: c.opt:89
+-msgid "Like -M but ignore system header files"
+-msgstr ""
+-
+-#: c.opt:93
+-msgid "Like -MD but ignore system header files"
+-msgstr ""
+-
+-#: c.opt:97
+-#, fuzzy
+-msgid "Generate phony targets for all headers"
+-msgstr "ITEGEKONGENGA kugirango Nka"
+-
+-#: c.opt:101
+-msgid "Add a MAKE-quoted target"
+-msgstr ""
+-
+-#: c.opt:105
+-msgid "Add an unquoted target"
+-msgstr ""
+-
+-#: c.opt:109
+-#, fuzzy
+-msgid "Do not generate #line directives"
+-msgstr "OYA Ingano"
+-
+-#: c.opt:113
+-msgid "Undefine <macro>"
+-msgstr ""
+-
+-#: c.opt:117
+-msgid "Warn about things that will change when compiling with an ABI-compliant compiler"
+-msgstr ""
+-
+-#: c.opt:121
+-#, fuzzy
+-msgid "Warn about suspicious uses of memory addresses"
+-msgstr "Ibyerekeye Bya"
+-
+-#: c.opt:125
+-#, fuzzy
+-msgid "Enable most warning messages"
+-msgstr "Iburira Ubutumwa"
+-
+-#: c.opt:129
+-msgid "Warn whenever an Objective-C assignment is being intercepted by the garbage collector"
+-msgstr ""
+-
+-#: c.opt:133
+-#, fuzzy
+-msgid "Warn about casting functions to incompatible types"
+-msgstr "Ibyerekeye Imimaro Kuri"
+-
+-#: c.opt:137
+-msgid "Warn about C constructs that are not in the common subset of C and C++"
+-msgstr ""
+-
+-#: c.opt:142
+-#, fuzzy
+-msgid "Warn about casts which discard qualifiers"
+-msgstr "Ibyerekeye Kwanga"
+-
+-#: c.opt:146
+-#, fuzzy
+-msgid "Warn about subscripts whose type is \"char\""
+-msgstr "Ibyerekeye bya Ubwoko ni"
+-
+-#: c.opt:150
+-msgid "Warn about possibly nested block comments, and C++ comments spanning more than one physical line"
+-msgstr ""
+-
+-#: c.opt:154
+-msgid "Synonym for -Wcomment"
+-msgstr ""
+-
+-#: c.opt:158
+-#, fuzzy
+-msgid "Warn about possibly confusing type conversions"
+-msgstr "Ibyerekeye Ubwoko"
+-
+-#: c.opt:162
+-#, fuzzy
+-msgid "Warn when all constructors and destructors are private"
+-msgstr "Ryari: Byose By'umwihariko"
+-
+-#: c.opt:166
+-#, fuzzy
+-msgid "Warn when a declaration is found after a statement"
+-msgstr "Ryari: a OYA a Ubwoko"
+-
+-#: c.opt:170
+-#, fuzzy
+-msgid "Warn about deprecated compiler features"
+-msgstr "Bya Ibiranga"
+-
+-#: c.opt:174
+-#, fuzzy
+-msgid "Warn about compile-time integer division by zero"
+-msgstr "OYA Ibyerekeye Gukusanya Igihe Umubare wuzuye ku Zeru"
+-
+-#: c.opt:178
+-#, fuzzy
+-msgid "Warn about violations of Effective C++ style rules"
+-msgstr "Ibyerekeye Bya C IMISUSIRE"
+-
+-#: c.opt:182
+-msgid "Warn about stray tokens after #elif and #endif"
+-msgstr ""
+-
+-#: c.opt:190
+-#, fuzzy
+-msgid "Make implicit function declarations an error"
+-msgstr "Ibyerekeye Umumaro"
+-
+-#: c.opt:194
+-#, fuzzy
+-msgid "Warn if testing floating point numbers for equality"
+-msgstr "Ibyerekeye Bya Bihindagurika Akadomo Imibare"
+-
+-#: c.opt:198
+-#, fuzzy
+-msgid "Warn about printf/scanf/strftime/strfmon format string anomalies"
+-msgstr "Ibyerekeye Imiterere"
+-
+-#: c.opt:202
+-#, fuzzy
+-msgid "Warn if passing too many arguments to a function for its format string"
+-msgstr "ingingo Kuri Umumaro"
+-
+-#: c.opt:206
+-#, fuzzy
+-msgid "Warn about format strings that are not literals"
+-msgstr "Ibyerekeye Gukoresha Bya"
+-
+-#: c.opt:210
+-#, fuzzy
+-msgid "Warn about possible security problems with format functions"
+-msgstr "Ibyerekeye Umutekano Na: Imiterere Imimaro"
+-
+-#: c.opt:214
+-#, fuzzy
+-msgid "Warn about strftime formats yielding 2-digit years"
+-msgstr "Ibyerekeye Imiterere 2. IMYAKA"
+-
+-#: c.opt:218
+-#, fuzzy
+-msgid "Warn about zero-length formats"
+-msgstr "Zeru Uburebure Imiterere Ikurikiranyanyuguti"
+-
+-#: c.opt:225
+-msgid "Warn about variables which are initialized to themselves"
+-msgstr ""
+-
+-#: c.opt:232
+-#, fuzzy
+-msgid "Warn about implicit function declarations"
+-msgstr "Ibyerekeye Umumaro"
+-
+-#: c.opt:236
+-#, fuzzy
+-msgid "Warn when a declaration does not specify a type"
+-msgstr "Ryari: a OYA a Ubwoko"
+-
+-#: c.opt:240
+-msgid "Deprecated. This switch has no effect"
+-msgstr ""
+-
+-#: c.opt:244
+-#, fuzzy
+-msgid "Warn when there is a cast to a pointer from an integer of a different size"
+-msgstr "Kuri Mweretsi Bivuye Umubare wuzuye Bya Ingano"
+-
+-#: c.opt:248
+-#, fuzzy
+-msgid "Warn about invalid uses of the \"offsetof\" macro"
+-msgstr "Ibyerekeye i Gukoresha Bya i Kuzana"
+-
+-#: c.opt:252
+-msgid "Warn about PCH files that are found but not used"
+-msgstr ""
+-
+-#: c.opt:256
+-#, fuzzy
+-msgid "Do not warn about using \"long long\" when -pedantic"
+-msgstr "OYA Ibyerekeye ikoresha Ryari:"
+-
+-#: c.opt:260
+-#, fuzzy
+-msgid "Warn about suspicious declarations of \"main\""
+-msgstr "Ibyerekeye Bya"
+-
+-#: c.opt:264
+-#, fuzzy
+-msgid "Warn about possibly missing braces around initializers"
+-msgstr "Ibyerekeye Ibuze Ingirwadusodeko"
+-
+-#: c.opt:268
+-#, fuzzy
+-msgid "Warn about global functions without previous declarations"
+-msgstr "Ibyerekeye Ibanjirije"
+-
+-#: c.opt:272
+-#, fuzzy
+-msgid "Warn about missing fields in struct initializers"
+-msgstr "Ibyerekeye Ibuze Ingirwadusodeko"
+-
+-#: c.opt:276
+-#, fuzzy
+-msgid "Warn about functions which might be candidates for format attributes"
+-msgstr "Ibyerekeye Imimaro kugirango Imiterere Ibiranga"
+-
+-#: c.opt:280
+-msgid "Warn about user-specified include directories that do not exist"
+-msgstr ""
+-
+-#: c.opt:284
+-#, fuzzy
+-msgid "Warn about global functions without prototypes"
+-msgstr "Ibyerekeye"
+-
+-#: c.opt:288
+-#, fuzzy
+-msgid "Warn about use of multi-character character constants"
+-msgstr "Ibyerekeye Gukoresha Bya"
+-
+-#: c.opt:292
+-#, fuzzy
+-msgid "Warn about \"extern\" declarations not at file scope"
+-msgstr "Ibyerekeye OYA ku IDOSIYE Ingano: urwego"
+-
+-#: c.opt:296
+-#, fuzzy
+-msgid "Warn when non-templatized friend functions are declared within a template"
+-msgstr "Ryari: Imimaro muri a Inyandikorugero"
+-
+-#: c.opt:300
+-#, fuzzy
+-msgid "Warn about non-virtual destructors"
+-msgstr "Ibyerekeye Kitaboneka"
+-
+-#: c.opt:304
+-msgid "Warn about NULL being passed to argument slots marked as requiring non-NULL"
+-msgstr ""
+-
+-#: c.opt:308
+-#, fuzzy
+-msgid "Warn about non-normalised Unicode strings"
+-msgstr "Ibyerekeye Ikurikiranyanyuguti Imiterere Ikurikiranyanyuguti"
+-
+-#: c.opt:312
+-#, fuzzy
+-msgid "Warn if a C-style cast is used in a program"
+-msgstr "NIBA a C IMISUSIRE ni in a Porogaramu"
+-
+-#: c.opt:316
+-#, fuzzy
+-msgid "Warn if an old-style parameter definition is used"
+-msgstr "Ryari: a Umumaro ni Kidakoreshwa"
+-
+-#: c.opt:320
+-msgid "Warn if a string is longer than the maximum portable length specified by the standard"
+-msgstr ""
+-
+-#: c.opt:324
+-#, fuzzy
+-msgid "Warn about overloaded virtual function names"
+-msgstr "Ibyerekeye Kitaboneka Umumaro Amazina"
+-
+-#: c.opt:328
+-#, fuzzy
+-msgid "Warn about overriding initializers without side effects"
+-msgstr "Ibyerekeye Itatangijwe Byikoresha Ibihinduka"
+-
+-#: c.opt:332
+-#, fuzzy
+-msgid "Warn about possibly missing parentheses"
+-msgstr "Ibyerekeye Ibuze"
+-
+-#: c.opt:336
+-#, fuzzy
+-msgid "Warn when converting the type of pointers to member functions"
+-msgstr "Ryari: Ubwoko Guhindura.... Kuri Imimaro"
+-
+-#: c.opt:340
+-#, fuzzy
+-msgid "Warn about function pointer arithmetic"
+-msgstr "Ibyerekeye Umumaro Mweretsi"
+-
+-#: c.opt:344
+-#, fuzzy
+-msgid "Warn when a pointer is cast to an integer of a different size"
+-msgstr "Bivuye Mweretsi Kuri Umubare wuzuye Bya Ingano"
+-
+-#: c.opt:348
+-#, fuzzy
+-msgid "Warn about misuses of pragmas"
+-msgstr "Ibyerekeye"
+-
+-#: c.opt:352
+-#, fuzzy
+-msgid "Warn if inherited methods are unimplemented"
+-msgstr "OYA NIBA"
+-
+-#: c.opt:356
+-#, fuzzy
+-msgid "Warn about multiple declarations of the same object"
+-msgstr "Ibyerekeye Igikubo Bya i Igikoresho"
+-
+-#: c.opt:360
+-#, fuzzy
+-msgid "Warn when the compiler reorders code"
+-msgstr "Ryari: i ITEGEKONGENGA"
+-
+-#: c.opt:364
+-#, fuzzy
+-msgid "Warn whenever a function's return type defaults to \"int\" (C), or about inconsistent return types (C++)"
+-msgstr "a Garuka Ubwoko Kuri INT"
+-
+-#: c.opt:368
+-#, fuzzy
+-msgid "Warn if a selector has multiple methods"
+-msgstr "NIBA a Igikubo"
+-
+-#: c.opt:372
+-#, fuzzy
+-msgid "Warn about possible violations of sequence point rules"
+-msgstr "Ibyerekeye Bya Akadomo"
+-
+-#: c.opt:376
+-#, fuzzy
+-msgid "Warn about signed-unsigned comparisons"
+-msgstr "Ibyerekeye Bitashizweho umukono"
+-
+-#: c.opt:380
+-#, fuzzy
+-msgid "Warn when overload promotes from unsigned to signed"
+-msgstr "Ryari: Bivuye Bitashizweho umukono Kuri"
+-
+-#: c.opt:384
+-msgid "Warn about uncasted NULL used as sentinel"
+-msgstr ""
+-
+-#: c.opt:388
+-#, fuzzy
+-msgid "Warn about unprototyped function declarations"
+-msgstr "Ibyerekeye Umumaro"
+-
+-#: c.opt:392
+-msgid "Warn if type signatures of candidate methods do not match exactly"
+-msgstr ""
+-
+-#: c.opt:396
+-#, fuzzy
+-msgid "Warn when synthesis behavior differs from Cfront"
+-msgstr "Ryari: imyitwarire Bivuye"
+-
+-#: c.opt:400 common.opt:158
+-#, fuzzy
+-msgid "Do not suppress warnings from system headers"
+-msgstr "OYA Iburira Bivuye Sisitemu Imitwe"
+-
+-#: c.opt:404
+-#, fuzzy
+-msgid "Warn about features not present in traditional C"
+-msgstr "OYA ikoresha in C"
+-
+-#: c.opt:408
+-msgid "Warn if trigraphs are encountered that might affect the meaning of the program"
+-msgstr ""
+-
+-#: c.opt:412
+-#, fuzzy
+-msgid "Warn about @selector()s without previously declared methods"
+-msgstr "Ibyerekeye Ibanjirije"
+-
+-#: c.opt:416
+-#, fuzzy
+-msgid "Warn if an undefined macro is used in an #if directive"
+-msgstr "kidasobanuye Cyangwa Sibyo"
+-
+-#: c.opt:420
+-#, fuzzy
+-msgid "Warn about unrecognized pragmas"
+-msgstr "Ibyerekeye"
+-
+-#: c.opt:424
+-msgid "Warn about macros defined in the main file that are not used"
+-msgstr ""
+-
+-#: c.opt:428
+-#, fuzzy
+-msgid "Do not warn about using variadic macros when -pedantic"
+-msgstr "OYA Ibyerekeye ikoresha Ryari:"
+-
+-#: c.opt:432
+-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.opt:436
+-#, fuzzy
+-msgid "Warn when a pointer differs in signedness in an assignment"
+-msgstr "Ryari: Bivuye Bitashizweho umukono Kuri"
+-
+-#: c.opt:440
+-msgid "A synonym for -std=c89 (for C) or -std=c++98 (for C++)"
+-msgstr ""
+-
+-#: c.opt:448
+-#, fuzzy
+-msgid "Enforce class member access control semantics"
+-msgstr "OYA Igenzura"
+-
+-#: c.opt:455
+-#, fuzzy
+-msgid "Change when template instances are emitted"
+-msgstr "Ryari: Inyandikorugero Ingero"
+-
+-#: c.opt:459
+-#, fuzzy
+-msgid "Recognize the \"asm\" keyword"
+-msgstr "OYA i Ijambo- banze"
+-
+-#: c.opt:463
+-#, fuzzy
+-msgid "Recognize built-in functions"
+-msgstr "OYA in Imimaro"
+-
+-#: c.opt:470
+-#, fuzzy
+-msgid "Check the return value of new"
+-msgstr "i Garuka Agaciro Bya Gishya"
+-
+-#: c.opt:474
+-#, fuzzy
+-msgid "Allow the arguments of the '?' operator to have different types"
+-msgstr "Kuri"
+-
+-#: c.opt:478
+-#, fuzzy
+-msgid "Reduce the size of object files"
+-msgstr "Ingano Bya Igikoresho Idosiye"
+-
+-#: c.opt:482
+-#, fuzzy
+-msgid "Use class <name> for constant strings"
+-msgstr "Izina: kugirango Icyiciro"
+-
+-#: c.opt:486
+-#, fuzzy
+-msgid "Inline member functions by default"
+-msgstr "OYA Mumurongo Imimaro ku Mburabuzi"
+-
+-#: c.opt:490
+-#, fuzzy
+-msgid "Permit '$' as an identifier character"
+-msgstr "Imiterere ni a Inyuguti Ikurikiranyanyuguti"
+-
+-#: c.opt:497
+-#, fuzzy
+-msgid "Generate code to check exception specifications"
+-msgstr "OYA ITEGEKONGENGA Kuri Kugenzura... Irengayobora(-)"
+-
+-#: c.opt:504
+-msgid "Convert all strings and character constants to character set <cset>"
+-msgstr ""
+-
+-#: c.opt:508
+-#, fuzzy
+-msgid "Permit universal character names (\\u and \\U) in identifiers"
+-msgstr "Ky'isi yose Inyuguti Izina: OYA Byemewe in Ikiranga"
+-
+-#: c.opt:512
+-msgid "Specify the default character set for source files"
+-msgstr ""
+-
+-#: c.opt:520
+-#, fuzzy
+-msgid "Scope of for-init-statement variables is local to the loop"
+-msgstr "Bya kugirango Inyandiko Hanze"
+-
+-#: c.opt:524
+-#, fuzzy
+-msgid "Do not assume that standard C libraries and \"main\" exist"
+-msgstr "Bisanzwe Amasomero OYA"
+-
+-#: c.opt:528
+-#, fuzzy
+-msgid "Recognize GNU-defined keywords"
+-msgstr "OYA Amagambo fatizo"
+-
+-#: c.opt:532
+-#, fuzzy
+-msgid "Generate code for GNU runtime environment"
+-msgstr "ITEGEKONGENGA kugirango"
+-
+-#: c.opt:536
+-#, fuzzy
+-msgid "Use traditional GNU semantics for inline functions"
+-msgstr "C Bya"
+-
+-#: c.opt:549
+-#, fuzzy
+-msgid "Assume normal C execution environment"
+-msgstr "Bisanzwe C"
+-
+-#: c.opt:553
+-#, fuzzy
+-msgid "Enable support for huge objects"
+-msgstr "Gushigikira kugirango Ibintu"
+-
+-#: c.opt:557
+-#, fuzzy
+-msgid "Export functions even if they can be inlined"
+-msgstr "Imimaro ATARIIGIHARWE NIBA"
+-
+-#: c.opt:561
+-#, fuzzy
+-msgid "Emit implicit instantiations of inline templates"
+-msgstr "Bya Mumurongo Inyandikorugero"
+-
+-#: c.opt:565
+-#, fuzzy
+-msgid "Emit implicit instantiations of templates"
+-msgstr "Bya Mumurongo Inyandikorugero"
+-
+-#: c.opt:569
+-#, fuzzy
+-msgid "Inject friend functions into enclosing namespace"
+-msgstr "Byoroheje Imimaro"
+-
+-#: c.opt:576
+-#, fuzzy
+-msgid "Don't warn about uses of Microsoft extensions"
+-msgstr "Ibyerekeye Bya Umigereka"
+-
+-#: c.opt:586
+-#, fuzzy
+-msgid "Generate code for NeXT (Apple Mac OS X) runtime environment"
+-msgstr "ITEGEKONGENGA kugirango"
+-
+-#: c.opt:590
+-msgid "Assume that receivers of Objective-C messages may be nil"
+-msgstr ""
+-
+-#: c.opt:602
+-msgid "Generate special Objective-C methods to initialize/destroy non-POD C++ ivars, if needed"
+-msgstr ""
+-
+-#: c.opt:606
+-msgid "Allow fast jumps to the message dispatcher"
+-msgstr ""
+-
+-#: c.opt:612
+-msgid "Enable Objective-C exception and synchronization syntax"
+-msgstr ""
+-
+-#: c.opt:616
+-msgid "Enable garbage collection (GC) in Objective-C/Objective-C++ programs"
+-msgstr ""
+-
+-#: c.opt:621
+-#, fuzzy
+-msgid "Enable Objective-C setjmp exception handling runtime"
+-msgstr "Irengayobora(-)"
+-
+-#: c.opt:625 fortran/lang.opt:134
+-msgid "Enable OpenMP"
+-msgstr ""
+-
+-#: c.opt:629
+-msgid "Recognize C++ kewords like \"compl\" and \"xor\""
+-msgstr ""
+-
+-#: c.opt:633
+-#, fuzzy
+-msgid "Enable optional diagnostics"
+-msgstr "Bitari ngombwa"
+-
+-#: c.opt:640
+-msgid "Look for and use PCH files even when preprocessing"
+-msgstr ""
+-
+-#: c.opt:644
+-#, fuzzy
+-msgid "Downgrade conformance errors to warnings"
+-msgstr "Amakosa Kuri Iburira"
+-
+-#: c.opt:648
+-msgid "Treat the input file as already preprocessed"
+-msgstr ""
+-
+-#: c.opt:652
+-msgid "Used in Fix-and-Continue mode to indicate that object files may be swapped in at runtime"
+-msgstr ""
+-
+-#: c.opt:656
+-#, fuzzy
+-msgid "Enable automatic template instantiation"
+-msgstr "Byikoresha Inyandikorugero"
+-
+-#: c.opt:660
+-#, fuzzy
+-msgid "Generate run time type descriptor information"
+-msgstr "OYA Gukoresha Igihe Ubwoko Ibisobanuro"
+-
+-#: c.opt:664
+-#, fuzzy
+-msgid "Use the same size for double as for float"
+-msgstr "i Ingano kugirango MAHARAKUBIRI Nka kugirango Kureremba"
+-
+-#: c.opt:668 fortran/lang.opt:226
+-msgid "Use the narrowest integer type possible for enumeration types"
+-msgstr ""
+-
+-#: c.opt:672
+-#, fuzzy
+-msgid "Force the underlying type for \"wchar_t\" to be \"unsigned short\""
+-msgstr "i Ubwoko kugirango Kuri Bitashizweho umukono"
+-
+-#: c.opt:676
+-msgid "When \"signed\" or \"unsigned\" is not given make the bitfield signed"
+-msgstr ""
+-
+-#: c.opt:680
+-#, fuzzy
+-msgid "Make \"char\" signed by default"
+-msgstr "ku Mburabuzi"
+-
+-#: c.opt:687
+-#, fuzzy
+-msgid "Display statistics accumulated during compilation"
+-msgstr "Sitatisitiki"
+-
+-#: c.opt:694
+-msgid "Distance between tab stops for column reporting"
+-msgstr ""
+-
+-#: c.opt:698
+-#, fuzzy
+-msgid "Specify maximum template instantiation depth"
+-msgstr "Kinini Inyandikorugero Ubujyakuzimu"
+-
+-#: c.opt:705
+-#, fuzzy
+-msgid "Do not generate thread-safe code for initializing local statics"
+-msgstr "ITEGEKONGENGA kugirango Amahamagara:"
+-
+-#: c.opt:709
+-msgid "When \"signed\" or \"unsigned\" is not given make the bitfield unsigned"
+-msgstr ""
+-
+-#: c.opt:713
+-#, fuzzy
+-msgid "Make \"char\" unsigned by default"
+-msgstr "Bitashizweho umukono ku Mburabuzi"
+-
+-#: c.opt:717
+-#, fuzzy
+-msgid "Use __cxa_atexit to register destructors"
+-msgstr "Kuri Kwiyandikisha"
+-
+-#: c.opt:721
+-msgid "Use __cxa_get_exception_ptr in exception handling"
+-msgstr ""
+-
+-#: c.opt:725
+-msgid "Marks all inlined methods as having hidden visibility"
+-msgstr ""
+-
+-#: c.opt:729
+-#, fuzzy
+-msgid "Discard unused virtual functions"
+-msgstr "Kidakoreshwa Kitaboneka Imimaro"
+-
+-#: c.opt:733
+-#, fuzzy
+-msgid "Implement vtables using thunks"
+-msgstr "ikoresha"
+-
+-#: c.opt:737
+-#, fuzzy
+-msgid "Emit common-like symbols as weak symbols"
+-msgstr "nka Ibimenyetso Nka Ibimenyetso"
+-
+-#: c.opt:741
+-msgid "Convert all wide strings and character constants to character set <cset>"
+-msgstr ""
+-
+-#: c.opt:745
+-msgid "Generate a #line directive pointing at the current working directory"
+-msgstr ""
+-
+-#: c.opt:749
+-#, fuzzy
+-msgid "Emit cross referencing information"
+-msgstr "Kwambukiranya Ibisobanuro"
+-
+-#: c.opt:753
+-msgid "Generate lazy class lookup (via objc_getClass()) for use in Zero-Link mode"
+-msgstr ""
+-
+-#: c.opt:757
+-#, fuzzy
+-msgid "Dump declarations to a .decl file"
+-msgstr "Kuri a IDOSIYE"
+-
+-#: c.opt:761 c.opt:793
+-msgid "Add <dir> to the end of the system include path"
+-msgstr ""
+-
+-#: c.opt:765
+-#, fuzzy
+-msgid "Accept definition of macros in <file>"
+-msgstr "Uruziga in Insobanuro Bya"
+-
+-#: c.opt:769
+-msgid "-imultilib <dir> Set <dir> to be the multilib include subdirectory"
+-msgstr ""
+-
+-#: c.opt:773
+-msgid "Include the contents of <file> before other files"
+-msgstr ""
+-
+-#: c.opt:777
+-#, fuzzy
+-msgid "Specify <path> as a prefix for next two options"
+-msgstr "Izina: kugirango Umwandiko Icyiciro"
+-
+-#: c.opt:781
+-msgid "Set <dir> to be the system root directory"
+-msgstr ""
+-
+-#: c.opt:785
+-msgid "Add <dir> to the start of the system include path"
+-msgstr ""
+-
+-#: c.opt:789
+-msgid "Add <dir> to the end of the quote include path"
+-msgstr ""
+-
+-#: c.opt:810
+-msgid "Do not search standard system include directories (those specified with -isystem will still be used)"
+-msgstr ""
+-
+-#: c.opt:814
+-msgid "Do not search standard system include directories for C++"
+-msgstr ""
+-
+-#: c.opt:830
+-#, fuzzy
+-msgid "Generate C header of platform-specific features"
+-msgstr "C Umutwempangano Bya Ibiranga"
+-
+-#: c.opt:834
+-msgid "Print a checksum of the executable for PCH validity checking, and stop"
+-msgstr ""
+-
+-#: c.opt:838
+-#, fuzzy
+-msgid "Remap file names when including files"
+-msgstr "ubusa IDOSIYE Izina: in"
+-
+-#: c.opt:842
+-msgid "Conform to the ISO 1998 C++ standard"
+-msgstr ""
+-
+-#: c.opt:846 c.opt:874
+-msgid "Conform to the ISO 1990 C standard"
+-msgstr ""
+-
+-#: c.opt:850 c.opt:882
+-msgid "Conform to the ISO 1999 C standard"
+-msgstr ""
+-
+-#: c.opt:854
+-msgid "Deprecated in favor of -std=c99"
+-msgstr ""
+-
+-#: c.opt:858
+-msgid "Conform to the ISO 1998 C++ standard with GNU extensions"
+-msgstr ""
+-
+-#: c.opt:862
+-msgid "Conform to the ISO 1990 C standard with GNU extensions"
+-msgstr ""
+-
+-#: c.opt:866
+-msgid "Conform to the ISO 1999 C standard with GNU extensions"
+-msgstr ""
+-
+-#: c.opt:870
+-msgid "Deprecated in favor of -std=gnu99"
+-msgstr ""
+-
+-#: c.opt:878
+-msgid "Conform to the ISO 1990 C standard as amended in 1994"
+-msgstr ""
+-
+-#: c.opt:886
+-msgid "Deprecated in favor of -std=iso9899:1999"
+-msgstr ""
+-
+-#: c.opt:890
+-msgid "Enable traditional preprocessing"
+-msgstr ""
+-
+-#: c.opt:894
+-msgid "Support ISO C trigraphs"
+-msgstr ""
+-
+-#: c.opt:898
+-msgid "Do not predefine system-specific and GCC-specific macros"
+-msgstr ""
+-
+-#: c.opt:902
+-#, fuzzy
+-msgid "Enable verbose output"
+-msgstr "Kosora amakosa Ibisohoka"
+-
+-#: java/lang.opt:66
+-msgid "Warn if a deprecated compiler feature, class, method, or field is used"
+-msgstr ""
+-
+-#: java/lang.opt:70
+-#, fuzzy
+-msgid "Warn if deprecated empty statements are found"
+-msgstr "NIBA Bitemewe. ubusa Byabonetse"
+-
+-#: java/lang.opt:74
+-#, fuzzy
+-msgid "Warn if .class files are out of date"
+-msgstr "NIBA ishuri Idosiye Inyuma Bya Itariki"
+-
+-#: java/lang.opt:78
+-#, fuzzy
+-msgid "Warn if modifiers are specified when not necessary"
+-msgstr "NIBA Ryari: OYA"
+-
+-#: java/lang.opt:82
+-#, fuzzy
+-msgid "Deprecated; use --classpath instead"
+-msgstr "ishuri Inzira Bitemewe. Gukoresha Inzirashuri"
+-
+-#: java/lang.opt:86
+-msgid "Permit the use of the assert keyword"
+-msgstr ""
+-
+-#: java/lang.opt:108
+-#, fuzzy
+-msgid "Replace system path"
+-msgstr "Sisitemu Inzira"
+-
+-#: java/lang.opt:112
+-#, fuzzy
+-msgid "Generate checks for references to NULL"
+-msgstr "ITEGEKONGENGA kugirango a"
+-
+-#: java/lang.opt:116
+-#, fuzzy
+-msgid "Set class path"
+-msgstr "ishuri Inzira"
+-
+-#: java/lang.opt:123
+-msgid "Output a class file"
+-msgstr ""
+-
+-#: java/lang.opt:127
+-msgid "Alias for -femit-class-file"
+-msgstr ""
+-
+-#: java/lang.opt:131
+-#, fuzzy
+-msgid "Choose input encoding (defaults from your locale)"
+-msgstr "Iyinjiza Imisobekere: Mburabuzi Bivuye Umwanya"
+-
+-#: java/lang.opt:135
+-msgid "Set the extension directory path"
+-msgstr ""
+-
+-#: java/lang.opt:139
+-msgid "Input file is a file with a list of filenames to compile"
+-msgstr ""
+-
+-#: java/lang.opt:143
+-#, fuzzy
+-msgid "Always check for non gcj generated classes archives"
+-msgstr "Kugenzura... kugirango Inzego Ubushyinguro"
+-
+-#: java/lang.opt:147
+-msgid "Assume the runtime uses a hash table to map an object to its synchronization structure"
+-msgstr ""
+-
+-#: java/lang.opt:151
+-msgid "Generate instances of Class at runtime"
+-msgstr ""
+-
+-#: java/lang.opt:155
+-#, fuzzy
+-msgid "Use offset tables for virtual method calls"
+-msgstr "Nta- boneza Imbonerahamwe kugirango Kitaboneka Uburyo Amahamagara:"
+-
+-#: java/lang.opt:162
+-#, fuzzy
+-msgid "Assume native functions are implemented using JNI"
+-msgstr "Imimaro ikoresha"
+-
+-#: java/lang.opt:166
+-#, fuzzy
+-msgid "Enable optimization of static class initialization code"
+-msgstr "Kugeza ku ndunduro ishuri ITEGEKONGENGA"
+-
+-#: java/lang.opt:173
+-msgid "Reduce the amount of reflection meta-data generated"
+-msgstr ""
+-
+-#: java/lang.opt:177
+-#, fuzzy
+-msgid "Enable assignability checks for stores into object arrays"
+-msgstr "kugirango Igikoresho"
+-
+-#: java/lang.opt:181
+-#, fuzzy
+-msgid "Generate code for the Boehm GC"
+-msgstr "ITEGEKONGENGA kugirango i"
+-
+-#: java/lang.opt:185
+-msgid "Call a library routine to do integer divisions"
+-msgstr ""
+-
+-#: java/lang.opt:189
+-msgid "Generated should be loaded by bootstrap loader"
+-msgstr ""
+-
+-#: fortran/lang.opt:30
+-#, fuzzy
+-msgid "Add a directory for INCLUDE and MODULE searching"
+-msgstr "a bushyinguro kugirango Ishakisha"
+-
+-#: fortran/lang.opt:34
+-msgid "Put MODULE files in 'directory'"
+-msgstr ""
+-
+-#: fortran/lang.opt:42
+-#, fuzzy
+-msgid "Warn about possible aliasing of dummy arguments"
+-msgstr "Ibyerekeye Ibuze"
+-
+-#: fortran/lang.opt:46
+-msgid "Warn about missing ampersand in continued character constants"
+-msgstr ""
+-
+-#: fortran/lang.opt:50
+-#, fuzzy
+-msgid "Warn about truncated character expressions"
+-msgstr "Ibyerekeye Gukoresha Bya"
+-
+-#: fortran/lang.opt:54
+-#, fuzzy
+-msgid "Warn about implicit conversion"
+-msgstr "Ibyerekeye Umumaro"
+-
+-#: fortran/lang.opt:58
+-#, fuzzy
+-msgid "Warn about calls with implicit interface"
+-msgstr "Ibyerekeye Gukoresha Bya"
+-
+-#: fortran/lang.opt:62
+-#, fuzzy
+-msgid "Warn about truncated source lines"
+-msgstr "Ibyerekeye Gukoresha Bya"
+-
+-#: fortran/lang.opt:66
+-#, fuzzy
+-msgid "Warn about usage of non-standard intrinsics"
+-msgstr "Ibyerekeye Gukoresha Bya"
+-
+-#: fortran/lang.opt:70
+-#, fuzzy
+-msgid "Warn about \"suspicious\" constructs"
+-msgstr "Ibyerekeye Bya"
+-
+-#: fortran/lang.opt:74
+-msgid "Permit nonconforming uses of the tab character"
+-msgstr ""
+-
+-#: fortran/lang.opt:78
+-#, fuzzy
+-msgid "Warn about underflow of numerical constant expressions"
+-msgstr "Byarenze urugero in imvugo"
+-
+-#: fortran/lang.opt:82
+-msgid "All intrinsics procedures are available regardless of selected standard"
+-msgstr ""
+-
+-#: fortran/lang.opt:86
+-#, fuzzy
+-msgid "Do not treat local variables and COMMON blocks as if they were named in SAVE statements"
+-msgstr "Na Nka NIBA in"
+-
+-#: fortran/lang.opt:90
+-msgid "Specify that backslash in string introduces an escape character"
+-msgstr ""
+-
+-#: fortran/lang.opt:94
+-msgid "Set the default double precision kind to an 8 byte wide type"
+-msgstr ""
+-
+-#: fortran/lang.opt:98
+-msgid "Set the default integer kind to an 8 byte wide type"
+-msgstr ""
+-
+-#: fortran/lang.opt:102
+-msgid "Set the default real kind to an 8 byte wide type"
+-msgstr ""
+-
+-#: fortran/lang.opt:106
+-msgid "Ignore 'D' in column one in fixed form"
+-msgstr ""
+-
+-#: fortran/lang.opt:110
+-msgid "Treat lines with 'D' in column one as comments"
+-msgstr ""
+-
+-#: fortran/lang.opt:114
+-msgid "Allow dollar signs in entity names"
+-msgstr ""
+-
+-#: fortran/lang.opt:118
+-msgid "Display the code tree after parsing"
+-msgstr ""
+-
+-#: fortran/lang.opt:122
+-#, fuzzy
+-msgid "Use f2c calling convention"
+-msgstr "Bisanzwe"
+-
+-#: fortran/lang.opt:126
+-#, fuzzy
+-msgid "Assume that the source file is fixed form"
+-msgstr "OYA"
+-
+-#: fortran/lang.opt:130
+-msgid "Assume that the source file is free form"
+-msgstr ""
+-
+-#: fortran/lang.opt:138
+-#, fuzzy
+-msgid "Append underscores to externally visible names"
+-msgstr "Kongeraho... a ISEGONDA Kuri"
+-
+-#: fortran/lang.opt:142
+-#, fuzzy
+-msgid "Use the Cray Pointer extension"
+-msgstr "i"
+-
+-#: fortran/lang.opt:146
+-msgid "Append a second underscore if the name already contains an underscore"
+-msgstr ""
+-
+-#: fortran/lang.opt:150
+-msgid "Specify that no implicit typing is allowed, unless overridden by explicit IMPLICIT statements"
+-msgstr ""
+-
+-#: fortran/lang.opt:154
+-msgid "Allow arbitrary character line width in fixed mode"
+-msgstr ""
+-
+-#: fortran/lang.opt:158
+-msgid "Use n as character line width in fixed mode"
+-msgstr ""
+-
+-#: fortran/lang.opt:162
+-msgid "Allow arbitrary character line width in free mode"
+-msgstr ""
+-
+-#: fortran/lang.opt:166
+-msgid "Use n as character line width in free mode"
+-msgstr ""
+-
+-#: fortran/lang.opt:170
+-#, fuzzy
+-msgid "Maximum number of errors to report"
+-msgstr "Kinini Umubare Bya Amasubiramo kugirango"
+-
+-#: fortran/lang.opt:174
+-#, fuzzy
+-msgid "Maximum identifier length"
+-msgstr "i Kinini Umurongo Uburebure"
+-
+-#: fortran/lang.opt:178
+-msgid "Maximum length for subrecords"
+-msgstr ""
+-
+-#: fortran/lang.opt:182
+-msgid "Size in bytes of the largest array that will be put on the stack"
+-msgstr ""
+-
+-#: fortran/lang.opt:186
+-msgid "Don't generate code, just do syntax and semantics checking"
+-msgstr ""
+-
+-#: fortran/lang.opt:190
+-msgid "Enable range checking during compilation"
+-msgstr ""
+-
+-#: fortran/lang.opt:194
+-msgid "Try to layout derived types as compact as possible"
+-msgstr ""
+-
+-#: fortran/lang.opt:198
+-msgid "Copy array sections into a contiguous block on procedure entry"
+-msgstr ""
+-
+-#: fortran/lang.opt:202
+-#, fuzzy
+-msgid "Treat the input file as preprocessed"
+-msgstr "Oya Iyinjiza IDOSIYE"
+-
+-#: fortran/lang.opt:206
+-msgid "Stop on following floating point exceptions"
+-msgstr ""
+-
+-#: fortran/lang.opt:210
+-msgid "Conform to the ISO Fortran 95 standard"
+-msgstr ""
+-
+-#: fortran/lang.opt:214
+-msgid "Conform to the ISO Fortran 2003 standard"
+-msgstr ""
+-
+-#: fortran/lang.opt:218
+-msgid "Conform nothing in particular"
+-msgstr ""
+-
+-#: fortran/lang.opt:222
+-msgid "Accept extensions to support legacy code"
+-msgstr ""
+-
+-#: fortran/lang.opt:230
+-#, fuzzy
+-msgid "Use little-endian format for unformatted files"
+-msgstr "Bayite Itondekanya kugirango Ibyatanzwe"
+-
+-#: fortran/lang.opt:234
+-#, fuzzy
+-msgid "Use big-endian format for unformatted files"
+-msgstr "Bayite Itondekanya"
+-
+-#: fortran/lang.opt:238
+-msgid "Use native format for unformatted files"
+-msgstr ""
+-
+-#: fortran/lang.opt:242
+-msgid "Swap endianness for unformatted files"
+-msgstr ""
+-
+-#: fortran/lang.opt:246
+-msgid "Use a 4-byte record marker for unformatted files"
+-msgstr ""
+-
+-#: fortran/lang.opt:250
+-msgid "Use an 8-byte record marker for unformatted files"
+-msgstr ""
+-
+-#: ada/lang.opt:91
+-msgid "Specify options to GNAT"
+-msgstr ""
+-
+-#: treelang/lang.opt:30
+-#, fuzzy
+-msgid "Trace lexical analysis"
+-msgstr "(Kosora amakosa"
+-
+-#: treelang/lang.opt:34
+-#, fuzzy
+-msgid "Trace the parsing process"
+-msgstr "(Kosora amakosa"
+-
+-#: common.opt:28
+-#, fuzzy
+-msgid "Display this information"
+-msgstr "--Ifashayobora iyi"
+-
+-#: common.opt:32
+-msgid "Set parameter <param> to value. See below for a complete list of parameters"
+-msgstr ""
+-
+-#: common.opt:42
+-#, fuzzy
+-msgid "Put global and static data smaller than <number> bytes into a special section (on some targets)"
+-msgstr "-Umubare Na Ibyatanzwe Gitoya Umubare Bayite a Bidasanzwe Icyiciro ku"
+-
+-#: common.opt:46
+-#, fuzzy
+-msgid "Set optimization level to <number>"
+-msgstr "-Umubare urwego Kuri Umubare"
+-
+-#: common.opt:50
+-#, fuzzy
+-msgid "Optimize for space rather than speed"
+-msgstr "-kugirango Umwanya"
+-
+-#: common.opt:54
+-#, fuzzy
+-msgid "This switch is deprecated; use -Wextra instead"
+-msgstr "ishuri Inzira Bitemewe. Gukoresha Inzirashuri"
+-
+-#: common.opt:58
+-#, fuzzy
+-msgid "Warn about returning structures, unions or arrays"
+-msgstr "Ibyerekeye Cyangwa"
+-
+-#: common.opt:62
+-#, fuzzy
+-msgid "Warn about inappropriate attribute usage"
+-msgstr "Ibyerekeye Umumaro Mweretsi"
+-
+-#: common.opt:66
+-#, fuzzy
+-msgid "Warn about pointer casts which increase alignment"
+-msgstr "Ibyerekeye Mweretsi Itunganya"
+-
+-#: common.opt:70
+-#, fuzzy
+-msgid "Warn about uses of __attribute__((deprecated)) declarations"
+-msgstr "Ibyerekeye Bya Ikiranga Bitemewe."
+-
+-#: common.opt:74
+-#, fuzzy
+-msgid "Warn when an optimization pass is disabled"
+-msgstr "Ryari: ni Yahagaritswe"
+-
+-#: common.opt:78
+-#, fuzzy
+-msgid "Treat all warnings as errors"
+-msgstr "Byose Iburira Nka Amakosa"
+-
+-#: common.opt:82
+-#, fuzzy
+-msgid "Treat specified warning as error"
+-msgstr "Byose Iburira Nka Amakosa"
+-
+-#: common.opt:86
+-msgid "Print extra (possibly unwanted) warnings"
+-msgstr ""
+-
+-#: common.opt:90
+-msgid "Exit on the first error occurred"
+-msgstr ""
+-
+-#: common.opt:94
+-#, fuzzy
+-msgid "Warn when an inlined function cannot be inlined"
+-msgstr "Ryari: Umumaro"
+-
+-#: common.opt:98
+-#, fuzzy
+-msgid "Warn if an object is larger than <number> bytes"
+-msgstr "-Umubare NIBA Igikoresho ni Kinini Umubare"
+-
+-#: common.opt:102
+-msgid "Warn if the loop cannot be optimized due to nontrivial assumptions."
+-msgstr ""
+-
+-#: common.opt:106
+-#, fuzzy
+-msgid "Warn about functions which might be candidates for __attribute__((noreturn))"
+-msgstr "Ibyerekeye Imimaro kugirango Ikiranga"
+-
+-#: common.opt:110
+-#, fuzzy
+-msgid "Warn about overflow in arithmetic expressions"
+-msgstr "Bihindagurika Akadomo Byarenze urugero in imvugo"
+-
+-#: common.opt:114
+-#, fuzzy
+-msgid "Warn when the packed attribute has no effect on struct layout"
+-msgstr "Ryari: i Ikiranga Oya INGARUKA ku Imigaragarire"
+-
+-#: common.opt:118
+-#, fuzzy
+-msgid "Warn when padding is required to align structure members"
+-msgstr "Ryari: Wuzuza: ni Bya ngombwa Kuri Gutondeka"
+-
+-#: common.opt:122
+-#, fuzzy
+-msgid "Warn when one local variable shadows another"
+-msgstr "Ryari: IMPINDURAGACIRO"
+-
+-#: common.opt:126
+-msgid "Warn when not issuing stack smashing protection for some reason"
+-msgstr ""
+-
+-#: common.opt:130 common.opt:134
+-#, fuzzy
+-msgid "Warn about code which might break strict aliasing rules"
+-msgstr "Ibyerekeye ITEGEKONGENGA itandukanya i"
+-
+-#: common.opt:138 common.opt:142
+-msgid "Warn about optimizations that assume that signed overflow is undefined"
+-msgstr ""
+-
+-#: common.opt:146
+-#, fuzzy
+-msgid "Warn about enumerated switches, with no default, missing a case"
+-msgstr "Ibyerekeye Na: Oya Mburabuzi Ibuze a"
+-
+-#: common.opt:150
+-#, fuzzy
+-msgid "Warn about enumerated switches missing a \"default:\" statement"
+-msgstr "Ibyerekeye Ibuze a Mburabuzi"
+-
+-#: common.opt:154
+-#, fuzzy
+-msgid "Warn about all enumerated switches missing a specific case"
+-msgstr "Ibyerekeye Byose Ibuze a"
+-
+-#: common.opt:162
+-#, fuzzy
+-msgid "Warn about uninitialized automatic variables"
+-msgstr "Ibyerekeye Itatangijwe Byikoresha Ibihinduka"
+-
+-#: common.opt:166
+-#, fuzzy
+-msgid "Warn about code that will never be executed"
+-msgstr "Ibyerekeye ITEGEKONGENGA Nta narimwe"
+-
+-#: common.opt:170
+-msgid "Enable all -Wunused- warnings"
+-msgstr ""
+-
+-#: common.opt:174
+-#, fuzzy
+-msgid "Warn when a function is unused"
+-msgstr "Ryari: a Umumaro ni Kidakoreshwa"
+-
+-#: common.opt:178
+-#, fuzzy
+-msgid "Warn when a label is unused"
+-msgstr "Ryari: a Akarango ni Kidakoreshwa"
+-
+-#: common.opt:182
+-#, fuzzy
+-msgid "Warn when a function parameter is unused"
+-msgstr "Ryari: a Umumaro ni Kidakoreshwa"
+-
+-#: common.opt:186
+-#, fuzzy
+-msgid "Warn when an expression value is unused"
+-msgstr "Ryari: imvugo Agaciro ni Kidakoreshwa"
+-
+-#: common.opt:190
+-#, fuzzy
+-msgid "Warn when a variable is unused"
+-msgstr "Ryari: a IMPINDURAGACIRO ni Kidakoreshwa"
+-
+-#: common.opt:194
+-#, fuzzy
+-msgid "Warn when a register variable is declared volatile"
+-msgstr "Urugero IMPINDURAGACIRO ni By'umwihariko"
+-
+-#: common.opt:198
+-#, fuzzy
+-msgid "Emit declaration information into <file>"
+-msgstr "-Ibisobanuro IDOSIYE Ibisobanuro IDOSIYE"
+-
+-#: common.opt:211
+-#, fuzzy
+-msgid "Enable dumps from specific passes of the compiler"
+-msgstr "-D Bivuye Bya i"
+-
+-#: common.opt:215
+-#, fuzzy
+-msgid "Set the file basename to be used for dumps"
+-msgstr "i Kwiyandikisha Kuri kugirango Kwohereza"
+-
+-#: common.opt:233
+-#, fuzzy
+-msgid "Align the start of functions"
+-msgstr "i Gutangira Bya Imimaro"
+-
+-#: common.opt:240
+-#, fuzzy
+-msgid "Align labels which are only reached by jumping"
+-msgstr "Uturango... ku"
+-
+-#: common.opt:247
+-#, fuzzy
+-msgid "Align all labels"
+-msgstr "Byose Uturango..."
+-
+-#: common.opt:254
+-#, fuzzy
+-msgid "Align the start of loops"
+-msgstr "i Gutangira Bya"
+-
+-#: common.opt:269
+-#, fuzzy
+-msgid "Specify that arguments may alias each other and globals"
+-msgstr "ingingo Gicurasi Irihimbano Ikindi"
+-
+-#: common.opt:273
+-#, fuzzy
+-msgid "Assume arguments may alias globals but not each other"
+-msgstr "ingingo Gicurasi Irihimbano OYA Ikindi"
+-
+-#: common.opt:277
+-#, fuzzy
+-msgid "Assume arguments alias neither each other nor globals"
+-msgstr "ingingo OYA Irihimbano Ikindi Cyangwa"
+-
+-#: common.opt:281
+-#, fuzzy
+-msgid "Assume arguments alias no other storage"
+-msgstr "ingingo OYA Irihimbano Ikindi Cyangwa"
+-
+-#: common.opt:285
+-#, fuzzy
+-msgid "Generate unwind tables that are exact at each instruction boundary"
+-msgstr "Imbonerahamwe NYACYO ku"
+-
+-#: common.opt:293
+-#, fuzzy
+-msgid "Generate code to check bounds before indexing arrays"
+-msgstr "ITEGEKONGENGA Kuri Kugenzura... Mbere gushyiraho umugereka"
+-
+-#: common.opt:297
+-#, fuzzy
+-msgid "Replace add, compare, branch with branch on count register"
+-msgstr "Kongeramo Kugereranya# Na: ku IBARA"
+-
+-#: common.opt:301
+-#, fuzzy
+-msgid "Use profiling information for branch probabilities"
+-msgstr "Ibisobanuro kugirango"
+-
+-#: common.opt:305
+-msgid "Perform branch target load optimization before prologue / epilogue threading"
+-msgstr ""
+-
+-#: common.opt:309
+-msgid "Perform branch target load optimization after prologue / epilogue threading"
+-msgstr ""
+-
+-#: common.opt:313
+-msgid "Restrict target load migration not to re-use registers in any basic block"
+-msgstr ""
+-
+-#: common.opt:317
+-#, fuzzy
+-msgid "Mark <register> as being preserved across functions"
+-msgstr "-Kwiyandikisha Kwiyandikisha Nka Kwambukiranya"
+-
+-#: common.opt:321
+-#, fuzzy
+-msgid "Mark <register> as being corrupted by function calls"
+-msgstr "-Kwiyandikisha Kwiyandikisha Nka ku Umumaro"
+-
+-#: common.opt:328
+-#, fuzzy
+-msgid "Save registers around function calls"
+-msgstr "Mu kubika Umumaro Amahamagara:"
+-
+-#: common.opt:332
+-#, fuzzy
+-msgid "Do not put uninitialized globals in the common section"
+-msgstr "OYA Gushyira Itatangijwe in i Icyiciro"
+-
+-#: common.opt:336
+-#, fuzzy
+-msgid "Perform a register copy-propagation optimization pass"
+-msgstr "i Kwiyandikisha Gukoporora"
+-
+-#: common.opt:340
+-#, fuzzy
+-msgid "Perform cross-jumping optimization"
+-msgstr "Kwambukiranya"
+-
+-#: common.opt:344
+-#, fuzzy
+-msgid "When running CSE, follow jumps to their targets"
+-msgstr "Kuri"
+-
+-#: common.opt:348
+-msgid "When running CSE, follow conditional jumps"
+-msgstr ""
+-
+-#: common.opt:352
+-msgid "Omit range reduction step when performing complex division"
+-msgstr ""
+-
+-#: common.opt:356
+-#, fuzzy
+-msgid "Place data items into their own section"
+-msgstr "Ibyatanzwe Icyiciro"
+-
+-#: common.opt:362
+-#, fuzzy
+-msgid "Defer popping functions args from stack until later"
+-msgstr "Imimaro Bivuye"
+-
+-#: common.opt:366
+-#, fuzzy
+-msgid "Attempt to fill delay slots of branch instructions"
+-msgstr "Kuri Kuzuza Gutinda Siloti Bya Amabwiriza"
+-
+-#: common.opt:370
+-#, fuzzy
+-msgid "Delete useless null pointer checks"
+-msgstr "NTAGIHARI Mweretsi"
+-
+-#: common.opt:374
+-msgid "How often to emit source location at the beginning of line-wrapped diagnostics"
+-msgstr ""
+-
+-#: common.opt:378
+-msgid "Amend appropriate diagnostic messages with the command line option that controls them"
+-msgstr ""
+-
+-#: common.opt:382
+-msgid "Dump various compiler internals to a file"
+-msgstr ""
+-
+-#: common.opt:386
+-#, fuzzy
+-msgid "Suppress output of addresses in debugging dumps"
+-msgstr "Ibisohoka Bya Imibare Na Umurongo Umubare Ibisobanuro in"
+-
+-#: common.opt:390
+-#, fuzzy
+-msgid "Suppress output of instruction numbers, line number notes and addresses in debugging dumps"
+-msgstr "Ibisohoka Bya Imibare Na Umurongo Umubare Ibisobanuro in"
+-
+-#: common.opt:394
+-msgid "Perform early inlining"
+-msgstr ""
+-
+-#: common.opt:398
+-#, fuzzy
+-msgid "Perform DWARF2 duplicate elimination"
+-msgstr "Gusubiramo"
+-
+-#: common.opt:402 common.opt:406
+-msgid "Perform unused type elimination in debug info"
+-msgstr ""
+-
+-#: common.opt:410
+-msgid "Do not suppress C++ class debug information."
+-msgstr ""
+-
+-#: common.opt:414
+-#, fuzzy
+-msgid "Enable exception handling"
+-msgstr "Irengayobora(-)"
+-
+-#: common.opt:418
+-#, fuzzy
+-msgid "Perform a number of minor, expensive optimizations"
+-msgstr "a Umubare Bya"
+-
+-#: common.opt:425
+-#, fuzzy
+-msgid "Assume no NaNs or infinities are generated"
+-msgstr "Oya Cyangwa"
+-
+-#: common.opt:429
+-#, fuzzy
+-msgid "Mark <register> as being unavailable to the compiler"
+-msgstr "-Kwiyandikisha Kwiyandikisha Nka Kuri i"
+-
+-#: common.opt:433
+-msgid "Don't allocate floats and doubles in extended-precision registers"
+-msgstr ""
+-
+-#: common.opt:439
+-#, fuzzy
+-msgid "Copy memory address constants into registers before use"
+-msgstr "Ububiko Aderesi Mbere ikoresha"
+-
+-#: common.opt:445
+-#, fuzzy
+-msgid "Copy memory operands into registers before use"
+-msgstr "Ububiko Mbere ikoresha"
+-
+-#: common.opt:452
+-#, fuzzy
+-msgid "Allow function addresses to be held in registers"
+-msgstr "Umumaro Amaderesi Kuri in"
+-
+-#: common.opt:456
+-#, fuzzy
+-msgid "Place each function into its own section"
+-msgstr "Umumaro Icyiciro"
+-
+-#: common.opt:460
+-#, fuzzy
+-msgid "Perform global common subexpression elimination"
+-msgstr "i"
+-
+-#: common.opt:464
+-#, fuzzy
+-msgid "Perform enhanced load motion during global common subexpression elimination"
+-msgstr "Ibirimo"
+-
+-#: common.opt:468
+-#, fuzzy
+-msgid "Perform store motion after global common subexpression elimination"
+-msgstr "Nyuma"
+-
+-#: common.opt:472
+-#, fuzzy
+-msgid "Perform redundant load after store elimination in global common subexpression"
+-msgstr "Ibirimo"
+-
+-#: common.opt:477
+-#, fuzzy
+-msgid "Perform global common subexpression elimination after register allocation"
+-msgstr "i"
+-
+-#: common.opt:482
+-#, fuzzy
+-msgid "Enable guessing of branch probabilities"
+-msgstr "Bya"
+-
+-#: common.opt:490
+-msgid "Process #ident directives"
+-msgstr ""
+-
+-#: common.opt:494
+-#, fuzzy
+-msgid "Perform conversion of conditional jumps to branchless equivalents"
+-msgstr "Ihindurangero Bya Kuri"
+-
+-#: common.opt:498
+-#, fuzzy
+-msgid "Perform conversion of conditional jumps to conditional execution"
+-msgstr "Ihindurangero Bya Kuri"
+-
+-#: common.opt:506
+-#, fuzzy
+-msgid "Do not generate .size directives"
+-msgstr "OYA Ingano"
+-
+-#: common.opt:515
+-#, fuzzy
+-msgid "Pay attention to the \"inline\" keyword"
+-msgstr "Kuri i Ijambo- banze"
+-
+-#: common.opt:519
+-#, fuzzy
+-msgid "Integrate simple functions into their callers"
+-msgstr "Byoroheje Imimaro"
+-
+-#: common.opt:523
+-#, fuzzy
+-msgid "Integrate functions called once into their callers"
+-msgstr "Byoroheje Imimaro"
+-
+-#: common.opt:530
+-#, fuzzy
+-msgid "Limit the size of inlined functions to <number>"
+-msgstr "-Umubare i Ingano Bya Imimaro Kuri Umubare"
+-
+-#: common.opt:534
+-#, fuzzy
+-msgid "Instrument function entry and exit with profiling calls"
+-msgstr "Umumaro Icyinjijwe Gusohoka Na: Amahamagara:"
+-
+-#: common.opt:538
+-msgid "Perform Interprocedural constant propagation"
+-msgstr ""
+-
+-#: common.opt:542
+-#, fuzzy
+-msgid "Discover pure and const functions"
+-msgstr "Kidakoreshwa Kitaboneka Imimaro"
+-
+-#: common.opt:546
+-msgid "Perform interprocedural points-to analysis"
+-msgstr ""
+-
+-#: common.opt:550
+-msgid "Discover readonly and non addressable static variables"
+-msgstr ""
+-
+-#: common.opt:554
+-msgid "Type based escape and alias analysis"
+-msgstr ""
+-
+-#: common.opt:558
+-msgid "Optimize induction variables on trees"
+-msgstr ""
+-
+-#: common.opt:562
+-#, fuzzy
+-msgid "Use jump tables for sufficiently large switch statements"
+-msgstr "Akarango OYA muri a Hindura Inyandiko"
+-
+-#: common.opt:566
+-#, fuzzy
+-msgid "Generate code for functions even if they are fully inlined"
+-msgstr "ITEGEKONGENGA kugirango ATARIIGIHARWE NIBA"
+-
+-#: common.opt:570
+-#, fuzzy
+-msgid "Emit static const variables even if they are not used"
+-msgstr "Ibihinduka ATARIIGIHARWE NIBA OYA"
+-
+-#: common.opt:574
+-#, fuzzy
+-msgid "Give external symbols a leading underscore"
+-msgstr "Ibimenyetso a Nyobora"
+-
+-#: common.opt:578 common.opt:744 common.opt:867
+-msgid "Does nothing. Preserved for backward compatibility."
+-msgstr ""
+-
+-#: common.opt:582
+-#, fuzzy
+-msgid "Set errno after built-in math functions"
+-msgstr "Nyuma in Imibare Imimaro"
+-
+-#: common.opt:586
+-#, fuzzy
+-msgid "Report on permanent memory allocation"
+-msgstr "ku Ububiko ku Impera Bya Gukoresha"
+-
+-#: common.opt:593
+-#, fuzzy
+-msgid "Attempt to merge identical constants and constant variables"
+-msgstr "Kuri Gukomatanya birasa Na Ibihinduka"
+-
+-#: common.opt:597
+-#, fuzzy
+-msgid "Attempt to merge identical constants across compilation units"
+-msgstr "Kuri Gukomatanya birasa Kwambukiranya"
+-
+-#: common.opt:601
+-#, fuzzy
+-msgid "Limit diagnostics to <number> characters per line. 0 suppresses line-wrapping"
+-msgstr "-Uburebure Umubare Ubutumwa Kuri Umubare Inyuguti Umurongo 0 Umurongo"
+-
+-#: common.opt:605
+-msgid "Perform SMS based modulo scheduling before the first scheduling pass"
+-msgstr ""
+-
+-#: common.opt:609
+-#, fuzzy
+-msgid "Move loop invariant computations out of loops"
+-msgstr "Byose Inyuma Bya"
+-
+-#: common.opt:613
+-msgid "Add mudflap bounds-checking instrumentation for single-threaded program"
+-msgstr ""
+-
+-#: common.opt:617
+-msgid "Add mudflap bounds-checking instrumentation for multi-threaded program"
+-msgstr ""
+-
+-#: common.opt:621
+-msgid "Ignore read operations when inserting mudflap instrumentation"
+-msgstr ""
+-
+-#: common.opt:625
+-msgid "Enable/Disable the traditional scheduling in loops that already passed modulo scheduling"
+-msgstr ""
+-
+-#: common.opt:629
+-#, fuzzy
+-msgid "Support synchronous non-call exceptions"
+-msgstr "Amarengayobora"
+-
+-#: common.opt:633
+-#, fuzzy
+-msgid "When possible do not generate stack frames"
+-msgstr "OYA Amakadiri"
+-
+-#: common.opt:637
+-#, fuzzy
+-msgid "Do the full register move optimization pass"
+-msgstr "i"
+-
+-#: common.opt:641
+-#, fuzzy
+-msgid "Optimize sibling and tail recursive calls"
+-msgstr "Na Amahamagara:"
+-
+-#: common.opt:645
+-#, fuzzy
+-msgid "Pack structure members together without holes"
+-msgstr "Imiterere"
+-
+-#: common.opt:649
+-msgid "Set initial maximum structure member alignment"
+-msgstr ""
+-
+-#: common.opt:653
+-#, fuzzy
+-msgid "Return small aggregates in memory, not registers"
+-msgstr "in Ububiko OYA"
+-
+-#: common.opt:657
+-#, fuzzy
+-msgid "Perform loop peeling"
+-msgstr "i"
+-
+-#: common.opt:661
+-msgid "Enable machine specific peephole optimizations"
+-msgstr ""
+-
+-#: common.opt:665
+-#, fuzzy
+-msgid "Enable an RTL peephole pass before sched2"
+-msgstr "Gukoresha Mbere"
+-
+-#: common.opt:669
+-#, fuzzy
+-msgid "Generate position-independent code if possible (large mode)"
+-msgstr "Ibirindiro ITEGEKONGENGA NIBA"
+-
+-#: common.opt:673
+-#, fuzzy
+-msgid "Generate position-independent code for executables if possible (large mode)"
+-msgstr "Ibirindiro ITEGEKONGENGA NIBA"
+-
+-#: common.opt:677
+-#, fuzzy
+-msgid "Generate position-independent code if possible (small mode)"
+-msgstr "Ibirindiro ITEGEKONGENGA NIBA"
+-
+-#: common.opt:681
+-#, fuzzy
+-msgid "Generate position-independent code for executables if possible (small mode)"
+-msgstr "Ibirindiro ITEGEKONGENGA NIBA"
+-
+-#: common.opt:685
+-#, fuzzy
+-msgid "Generate prefetch instructions, if available, for arrays in loops"
+-msgstr "Amabwiriza NIBA Bihari kugirango in"
+-
+-#: common.opt:689
+-#, fuzzy
+-msgid "Enable basic program profiling code"
+-msgstr "BASIC Porogaramu ITEGEKONGENGA"
+-
+-#: common.opt:693
+-#, fuzzy
+-msgid "Insert arc-based program profiling code"
+-msgstr "Agaheto Porogaramu ITEGEKONGENGA"
+-
+-#: common.opt:697
+-msgid "Enable common options for generating profile info for profile feedback directed optimizations"
+-msgstr ""
+-
+-#: common.opt:701
+-msgid "Enable common options for performing profile feedback directed optimizations"
+-msgstr ""
+-
+-#: common.opt:705
+-msgid "Insert code to profile values of expressions"
+-msgstr ""
+-
+-#: common.opt:712
+-msgid "Make compile reproducible using <string>"
+-msgstr ""
+-
+-#: common.opt:716
+-#, fuzzy
+-msgid "Return small aggregates in registers"
+-msgstr "in"
+-
+-#: common.opt:720
+-#, fuzzy
+-msgid "Enables a register move optimization"
+-msgstr "a Kwiyandikisha Kwimura"
+-
+-#: common.opt:724
+-#, fuzzy
+-msgid "Perform a register renaming optimization pass"
+-msgstr "i Kwiyandikisha"
+-
+-#: common.opt:728
+-#, fuzzy
+-msgid "Reorder basic blocks to improve code placement"
+-msgstr "BASIC Kuri ITEGEKONGENGA Ishyira mu mwanya"
+-
+-#: common.opt:732
+-#, fuzzy
+-msgid "Reorder basic blocks and partition into hot and cold sections"
+-msgstr "BASIC Kuri ITEGEKONGENGA Ishyira mu mwanya"
+-
+-#: common.opt:736
+-#, fuzzy
+-msgid "Reorder functions to improve code placement"
+-msgstr "Imimaro Kuri ITEGEKONGENGA Ishyira mu mwanya"
+-
+-#: common.opt:740
+-#, fuzzy
+-msgid "Add a common subexpression elimination pass after loop optimizations"
+-msgstr "Nyuma"
+-
+-#: common.opt:748
+-msgid "Disable optimizations that assume default FP rounding behavior"
+-msgstr ""
+-
+-#: common.opt:752
+-#, fuzzy
+-msgid "Enable scheduling across basic blocks"
+-msgstr "Kwambukiranya BASIC"
+-
+-#: common.opt:756
+-#, fuzzy
+-msgid "Allow speculative motion of non-loads"
+-msgstr "Bya"
+-
+-#: common.opt:760
+-#, fuzzy
+-msgid "Allow speculative motion of some loads"
+-msgstr "Bya"
+-
+-#: common.opt:764
+-#, fuzzy
+-msgid "Allow speculative motion of more loads"
+-msgstr "Bya Birenzeho"
+-
+-#: common.opt:768
+-#, fuzzy
+-msgid "Set the verbosity level of the scheduler"
+-msgstr "-Umubare i urwego Bya i"
+-
+-#: common.opt:772
+-msgid "If scheduling post reload, do superblock scheduling"
+-msgstr ""
+-
+-#: common.opt:776
+-msgid "If scheduling post reload, do trace scheduling"
+-msgstr ""
+-
+-#: common.opt:780
+-#, fuzzy
+-msgid "Reschedule instructions before register allocation"
+-msgstr "Amabwiriza Mbere Kwiyandikisha"
+-
+-#: common.opt:784
+-#, fuzzy
+-msgid "Reschedule instructions after register allocation"
+-msgstr "Amabwiriza Nyuma Kwiyandikisha"
+-
+-#: common.opt:790
+-msgid "Allow premature scheduling of queued insns"
+-msgstr ""
+-
+-#: common.opt:794
+-msgid "Set number of queued insns that can be prematurely scheduled"
+-msgstr ""
+-
+-#: common.opt:802 common.opt:806
+-msgid "Set dependence distance checking in premature scheduling of queued insns"
+-msgstr ""
+-
+-#: common.opt:810
+-msgid "Access data in the same section from shared anchor points"
+-msgstr ""
+-
+-#: common.opt:814
+-#, fuzzy
+-msgid "Perform sequence abstraction optimization on RTL"
+-msgstr "Simbuka"
+-
+-#: common.opt:818
+-msgid "Eliminate redundant sign extensions using LCM."
+-msgstr ""
+-
+-#: common.opt:822
+-msgid "Show column numbers in diagnostics, when available. Default on"
+-msgstr ""
+-
+-#: common.opt:826
+-#, fuzzy
+-msgid "Disable optimizations observable by IEEE signaling NaNs"
+-msgstr "ku"
+-
+-#: common.opt:830
+-#, fuzzy
+-msgid "Convert floating point constants to single precision constants"
+-msgstr "Bihindagurika Akadomo Kuri UMWE"
+-
+-#: common.opt:834
+-msgid "Split lifetimes of induction variables when loops are unrolled"
+-msgstr ""
+-
+-#: common.opt:838
+-msgid "Apply variable expansion when loops are unrolled"
+-msgstr ""
+-
+-#: common.opt:844
+-#, fuzzy
+-msgid "Insert stack checking code into the program"
+-msgstr "ITEGEKONGENGA i Porogaramu"
+-
+-#: common.opt:851
+-msgid "Trap if the stack goes past <register>"
+-msgstr ""
+-
+-#: common.opt:855
+-msgid "Trap if the stack goes past symbol <name>"
+-msgstr ""
+-
+-#: common.opt:859
+-msgid "Use propolice as a stack protection method"
+-msgstr ""
+-
+-#: common.opt:863
+-msgid "Use a stack protection method for every function"
+-msgstr ""
+-
+-#: common.opt:875
+-#, fuzzy
+-msgid "Assume strict aliasing rules apply"
+-msgstr "Gukurikiza"
+-
+-#: common.opt:879
+-msgid "Treat signed overflow as undefined"
+-msgstr ""
+-
+-#: common.opt:883
+-#, fuzzy
+-msgid "Check for syntax errors, then stop"
+-msgstr "kugirango Amakosa Hanyuma Guhagarara"
+-
+-#: common.opt:887
+-#, fuzzy
+-msgid "Create data files needed by \"gcov\""
+-msgstr "Ibyatanzwe Idosiye ku"
+-
+-#: common.opt:891
+-#, fuzzy
+-msgid "Perform jump threading optimizations"
+-msgstr "Simbuka"
+-
+-#: common.opt:895
+-#, fuzzy
+-msgid "Report the time taken by each compiler pass"
+-msgstr "Igihe ku ku Impera Bya Gukoresha"
+-
+-#: common.opt:899
+-msgid "Set the default thread-local storage code generation model"
+-msgstr ""
+-
+-#: common.opt:903
+-msgid "Reorder top level functions, variables, and asms"
+-msgstr ""
+-
+-#: common.opt:907
+-#, fuzzy
+-msgid "Perform superblock formation via tail duplication"
+-msgstr "Biturutse"
+-
+-#: common.opt:914
+-#, fuzzy
+-msgid "Assume floating-point operations can trap"
+-msgstr "Akadomo Ibikorwa:"
+-
+-#: common.opt:918
+-#, fuzzy
+-msgid "Trap for signed overflow in addition, subtraction and multiplication"
+-msgstr "kugirango Byarenze urugero in Guteranya+ Gukuramo Gukuba(*)"
+-
+-#: common.opt:922
+-msgid "Enable SSA-CCP optimization on trees"
+-msgstr ""
+-
+-#: common.opt:926
+-msgid "Enable SSA-CCP optimization for stores and loads"
+-msgstr ""
+-
+-#: common.opt:930
+-msgid "Enable loop header copying on trees"
+-msgstr ""
+-
+-#: common.opt:934
+-msgid "Coalesce memory temporaries in the SSA->normal pass"
+-msgstr ""
+-
+-#: common.opt:938
+-msgid "Replace SSA temporaries with better names in copies"
+-msgstr ""
+-
+-#: common.opt:942
+-msgid "Enable copy propagation on trees"
+-msgstr ""
+-
+-#: common.opt:946
+-msgid "Enable copy propagation for stores and loads"
+-msgstr ""
+-
+-#: common.opt:950
+-#, fuzzy
+-msgid "Enable SSA dead code elimination optimization on trees"
+-msgstr "ITEGEKONGENGA"
+-
+-#: common.opt:954
+-#, fuzzy
+-msgid "Enable dominator optimizations"
+-msgstr "a Kwiyandikisha Kwimura"
+-
+-#: common.opt:958
+-#, fuzzy
+-msgid "Enable dead store elimination"
+-msgstr "ITEGEKONGENGA"
+-
+-#: common.opt:962
+-msgid "Enable Full Redundancy Elimination (FRE) on trees"
+-msgstr ""
+-
+-#: common.opt:966
+-#, fuzzy
+-msgid "Enable loop invariant motion on trees"
+-msgstr "Byose Inyuma Bya"
+-
+-#: common.opt:970
+-msgid "Enable linear loop transforms on trees"
+-msgstr ""
+-
+-#: common.opt:974
+-#, fuzzy
+-msgid "Create canonical induction variables in loops"
+-msgstr "Byose Rusange Ibihinduka"
+-
+-#: common.opt:978
+-msgid "Enable loop optimizations on tree level"
+-msgstr ""
+-
+-#: common.opt:982
+-msgid "Enable SSA-PRE optimization on trees"
+-msgstr ""
+-
+-#: common.opt:986
+-msgid "Perform structural alias analysis"
+-msgstr ""
+-
+-#: common.opt:990
+-msgid "Enable SSA code sinking on trees"
+-msgstr ""
+-
+-#: common.opt:994
+-msgid "Perform scalar replacement of aggregates"
+-msgstr ""
+-
+-#: common.opt:998
+-msgid "Replace temporary expressions in the SSA->normal pass"
+-msgstr ""
+-
+-#: common.opt:1002
+-msgid "Perform live range splitting during the SSA->normal pass"
+-msgstr ""
+-
+-#: common.opt:1006
+-msgid "Perform Value Range Propagation on trees"
+-msgstr ""
+-
+-#: common.opt:1010
+-#, fuzzy
+-msgid "Compile whole compilation unit at a time"
+-msgstr "i Umwandiko wahinduwe ururimi Igice: Kuri a IDOSIYE"
+-
+-#: common.opt:1014
+-#, fuzzy
+-msgid "Perform loop unrolling when iteration count is known"
+-msgstr "Ryari: IBARA ni"
+-
+-#: common.opt:1018
+-#, fuzzy
+-msgid "Perform loop unrolling for all loops"
+-msgstr "kugirango Byose"
+-
+-#: common.opt:1025
+-msgid "Allow loop optimizations to assume that the loops behave in normal way"
+-msgstr ""
+-
+-#: common.opt:1033
+-#, fuzzy
+-msgid "Allow math optimizations that may violate IEEE or ISO standards"
+-msgstr "Imibare Gicurasi Cyangwa"
+-
+-#: common.opt:1037
+-#, fuzzy
+-msgid "Perform loop unswitching"
+-msgstr "i"
+-
+-#: common.opt:1041
+-#, fuzzy
+-msgid "Just generate unwind tables for exception handling"
+-msgstr "Imbonerahamwe kugirango Irengayobora(-)"
+-
+-#: common.opt:1045
+-msgid "Perform variable tracking"
+-msgstr ""
+-
+-#: common.opt:1049
+-msgid "Enable loop vectorization on trees"
+-msgstr ""
+-
+-#: common.opt:1053
+-msgid "Enable loop versioning when doing loop vectorization on trees"
+-msgstr ""
+-
+-#: common.opt:1057
+-#, fuzzy
+-msgid "Set the verbosity level of the vectorizer"
+-msgstr "-Umubare i urwego Bya i"
+-
+-#: common.opt:1067
+-#, fuzzy
+-msgid "Add extra commentary to assembler output"
+-msgstr "Birenga Kuri Ibisohoka"
+-
+-#: common.opt:1071
+-msgid "Set the default symbol visibility"
+-msgstr ""
+-
+-#: common.opt:1076
+-msgid "Use expression value profiles in optimizations"
+-msgstr ""
+-
+-#: common.opt:1080
+-msgid "Construct webs and split unrelated uses of single variable"
+-msgstr ""
+-
+-#: common.opt:1084
+-#, fuzzy
+-msgid "Perform whole program optimizations"
+-msgstr "i"
+-
+-#: common.opt:1088
+-msgid "Assume signed arithmetic overflow wraps around"
+-msgstr ""
+-
+-#: common.opt:1092
+-#, fuzzy
+-msgid "Put zero initialized data in the bss section"
+-msgstr "Zeru Ibyatanzwe in i Icyiciro"
+-
+-#: common.opt:1096
+-#, fuzzy
+-msgid "Generate debug information in default format"
+-msgstr "Ibisobanuro in Mburabuzi Imiterere"
+-
+-#: common.opt:1100
+-#, fuzzy
+-msgid "Generate debug information in COFF format"
+-msgstr "Ibisobanuro in Mburabuzi Imiterere"
+-
+-#: common.opt:1104
+-#, fuzzy
+-msgid "Generate debug information in DWARF v2 format"
+-msgstr "Ibisobanuro in Mburabuzi Imiterere"
+-
+-#: common.opt:1108
+-#, fuzzy
+-msgid "Generate debug information in default extended format"
+-msgstr "Ibisobanuro in Mburabuzi Byongerewe... Imiterere"
+-
+-#: common.opt:1112
+-#, fuzzy
+-msgid "Generate debug information in STABS format"
+-msgstr "Ibisobanuro in Mburabuzi Imiterere"
+-
+-#: common.opt:1116
+-#, fuzzy
+-msgid "Generate debug information in extended STABS format"
+-msgstr "Ibisobanuro in Mburabuzi Byongerewe... Imiterere"
+-
+-#: common.opt:1120
+-#, fuzzy
+-msgid "Generate debug information in VMS format"
+-msgstr "Ibisobanuro in Mburabuzi Imiterere"
+-
+-#: common.opt:1124
+-#, fuzzy
+-msgid "Generate debug information in XCOFF format"
+-msgstr "Ibisobanuro in Mburabuzi Imiterere"
+-
+-#: common.opt:1128
+-#, fuzzy
+-msgid "Generate debug information in extended XCOFF format"
+-msgstr "Ibisobanuro in Mburabuzi Byongerewe... Imiterere"
+-
+-#: common.opt:1132
+-#, fuzzy
+-msgid "Place output into <file>"
+-msgstr "-o IDOSIYE Ibisohoka IDOSIYE"
+-
+-#: common.opt:1136
+-#, fuzzy
+-msgid "Enable function profiling"
+-msgstr "Umumaro"
+-
+-#: common.opt:1140
+-#, fuzzy
+-msgid "Issue warnings needed for strict compliance to the standard"
+-msgstr "-Iburira ku Kuri"
+-
+-#: common.opt:1144
+-msgid "Like -pedantic but issue them as errors"
+-msgstr ""
+-
+-#: common.opt:1148
+-#, fuzzy
+-msgid "Do not display functions compiled or elapsed time"
+-msgstr "-OYA Kugaragaza Imimaro Cyangwa"
+-
+-#: common.opt:1152
+-#, fuzzy
+-msgid "Display the compiler's version"
+-msgstr "-Verisiyo i"
+-
+-#: common.opt:1156
+-msgid "Suppress warnings"
+-msgstr ""
+-
+-#: attribs.c:175 cp/name-lookup.c:3081
+-#, fuzzy, gcc-internal-format
+-msgid "%qs attribute directive ignored"
+-msgstr "`%s'Ikiranga"
+-
+-#: attribs.c:183
+-#, fuzzy, gcc-internal-format
+-msgid "wrong number of arguments specified for %qs attribute"
+-msgstr "Umubare Bya ingingo kugirango Ikiranga"
+-
+-#: attribs.c:200
+-#, fuzzy, gcc-internal-format
+-msgid "%qs attribute does not apply to types"
+-msgstr "`%s'Ikiranga OYA Gukurikiza Kuri"
+-
+-#: attribs.c:247
+-#, fuzzy, gcc-internal-format
+-msgid "%qs attribute only applies to function types"
+-msgstr "`%s'Ikiranga Kuri Umumaro"
+-
+-#: attribs.c:257
+-#, fuzzy, gcc-internal-format
+-msgid "type attributes ignored after type is already defined"
+-msgstr "`Ikiranga ni"
+-
+-#: bb-reorder.c:1872
+-#, fuzzy, gcc-internal-format
+-msgid "multiple hot/cold transitions found (bb %i)"
+-msgstr "Igikubo kugirango Uburyo"
+-
+-#: bt-load.c:1515
+-#, gcc-internal-format
+-msgid "branch target register load optimization is not intended to be run twice"
+-msgstr ""
+-
+-#: builtins.c:420
+-#, fuzzy, gcc-internal-format
+-msgid "offset outside bounds of constant string"
+-msgstr "Nta- boneza Hanze Bya Ikurikiranyanyuguti"
+-
+-#: builtins.c:976
+-#, fuzzy, gcc-internal-format
+-msgid "second argument to %<__builtin_prefetch%> must be a constant"
+-msgstr "ISEGONDA Kuri a"
+-
+-#: builtins.c:983
+-#, fuzzy, gcc-internal-format
+-msgid "invalid second argument to %<__builtin_prefetch%>; using zero"
+-msgstr "Sibyo ISEGONDA Kuri ikoresha Zeru"
+-
+-#: builtins.c:991
+-#, fuzzy, gcc-internal-format
+-msgid "third argument to %<__builtin_prefetch%> must be a constant"
+-msgstr "Kuri a"
+-
+-#: builtins.c:998
+-#, fuzzy, gcc-internal-format
+-msgid "invalid third argument to %<__builtin_prefetch%>; using zero"
+-msgstr "Sibyo Kuri ikoresha Zeru"
+-
+-#: builtins.c:4115
+-#, fuzzy, gcc-internal-format
+-msgid "argument of %<__builtin_args_info%> must be constant"
+-msgstr "Bya"
+-
+-#: builtins.c:4121
+-#, fuzzy, gcc-internal-format
+-msgid "argument of %<__builtin_args_info%> out of range"
+-msgstr "Bya Inyuma Bya Urutonde"
+-
+-#: builtins.c:4127
+-#, fuzzy, gcc-internal-format
+-msgid "missing argument in %<__builtin_args_info%>"
+-msgstr "Ibuze in"
+-
+-#: builtins.c:4223 gimplify.c:2067
+-#, fuzzy, gcc-internal-format
+-msgid "too few arguments to function %<va_start%>"
+-msgstr "ingingo Kuri Umumaro"
+-
+-#: builtins.c:4387
+-#, fuzzy, gcc-internal-format
+-msgid "first argument to %<va_arg%> not of type %<va_list%>"
+-msgstr "Itangira Kuri OYA Bya Ubwoko"
+-
+-#. Unfortunately, this is merely undefined, rather than a constraint
+-#. violation, so we cannot make this an error. If this call is never
+-#. executed, the program is still strictly conforming.
+-#: builtins.c:4401
+-#, fuzzy, gcc-internal-format
+-msgid "%qT is promoted to %qT when passed through %<...%>"
+-msgstr "`%s'ni Kuri Ryari: Gihinguranya"
+-
+-#: builtins.c:4406
+-#, fuzzy, gcc-internal-format
+-msgid "(so you should pass %qT not %qT to %<va_arg%>)"
+-msgstr "(OYA Kuri"
+-
+-#. We can, however, treat "undefined" any way we please.
+-#. Call abort to encourage the user to fix the program.
+-#: builtins.c:4412 c-typeck.c:2288
+-#, gcc-internal-format
+-msgid "if this code is reached, the program will abort"
+-msgstr ""
+-
+-#: builtins.c:4531
+-#, fuzzy, gcc-internal-format
+-msgid "invalid argument to %<__builtin_frame_address%>"
+-msgstr "Sibyo Kuri"
+-
+-#: builtins.c:4533
+-#, fuzzy, gcc-internal-format
+-msgid "invalid argument to %<__builtin_return_address%>"
+-msgstr "Sibyo Kuri"
+-
+-#: builtins.c:4546
+-#, fuzzy, gcc-internal-format
+-msgid "unsupported argument to %<__builtin_frame_address%>"
+-msgstr "Kuri"
+-
+-#: builtins.c:4548
+-#, fuzzy, gcc-internal-format
+-msgid "unsupported argument to %<__builtin_return_address%>"
+-msgstr "Kuri"
+-
+-#: builtins.c:4651
+-#, fuzzy, gcc-internal-format
+-msgid "second argument to %<__builtin_expect%> must be a constant"
+-msgstr "ISEGONDA Kuri a"
+-
+-#: builtins.c:6115
+-#, fuzzy, gcc-internal-format
+-msgid "%<__builtin_longjmp%> second argument must be 1"
+-msgstr "_ISEGONDA 1."
+-
+-#: builtins.c:6695
+-#, fuzzy, gcc-internal-format
+-msgid "target format does not support infinity"
+-msgstr "Intego Imiterere OYA Gushigikira Bidashira"
+-
+-#: builtins.c:8701 builtins.c:8795
+-#, fuzzy, gcc-internal-format
+-msgid "too few arguments to function %qs"
+-msgstr "ingingo Kuri Umumaro"
+-
+-#: builtins.c:8707 builtins.c:8801
+-#, fuzzy, gcc-internal-format
+-msgid "too many arguments to function %qs"
+-msgstr "ingingo Kuri Umumaro"
+-
+-#: builtins.c:8713 builtins.c:8826
+-#, fuzzy, gcc-internal-format
+-msgid "non-floating-point argument to function %qs"
+-msgstr "Bihindagurika Akadomo Kuri Umumaro"
+-
+-#: builtins.c:9854
+-#, fuzzy, gcc-internal-format
+-msgid "%<va_start%> used in function with fixed args"
+-msgstr "`in Umumaro Na: BIHAMYE"
+-
+-#. Evidently an out of date version of <stdarg.h>; can't validate
+-#. va_start's second argument, but can still work as intended.
+-#: builtins.c:9861
+-#, gcc-internal-format
+-msgid "%<__builtin_next_arg%> called without an argument"
+-msgstr ""
+-
+-#: builtins.c:9876
+-#, gcc-internal-format
+-msgid "%<va_start%> used with too many arguments"
+-msgstr ""
+-
+-#. FIXME: Sometimes with the tree optimizers we can get the
+-#. not the last argument even though the user used the last
+-#. argument. We just warn and set the arg to be the last
+-#. argument so that we will get wrong-code because of
+-#. it.
+-#: builtins.c:9896
+-#, fuzzy, gcc-internal-format
+-msgid "second parameter of %<va_start%> not last named argument"
+-msgstr "ISEGONDA Bya OYA Iheruka"
+-
+-#: builtins.c:10017
+-#, fuzzy, gcc-internal-format
+-msgid "%Hfirst argument of %D must be a pointer, second integer constant"
+-msgstr "`%s'Ikiranga OYA Umubare wuzuye"
+-
+-#: builtins.c:10030
+-#, fuzzy, gcc-internal-format
+-msgid "%Hlast argument of %D is not integer constant between 0 and 3"
+-msgstr "Bya ni OYA a Ikurikiranyanyuguti"
+-
+-#: builtins.c:10076 builtins.c:10229 builtins.c:10297
+-#, gcc-internal-format
+-msgid "%Hcall to %D will always overflow destination buffer"
+-msgstr ""
+-
+-#: c-common.c:835
+-#, fuzzy, gcc-internal-format
+-msgid "%qD is not defined outside of function scope"
+-msgstr "`%s'ni OYA Hanze Bya Umumaro Ingano:"
+-
+-#. Translators: The %d after 'ISO C' will be 90 or 99. Do not
+-#. separate the %d from the 'C'. 'ISO' should not be
+-#. translated, but it may be moved after 'C%d' in languages
+-#. where modifiers follow nouns.
+-#: c-common.c:867
+-#, fuzzy, gcc-internal-format
+-msgid "string length %qd is greater than the length %qd ISO C%d compilers are required to support"
+-msgstr "Ikurikiranyanyuguti Uburebure ni Biruta i Uburebure C Bya ngombwa Kuri Gushigikira"
+-
+-#: c-common.c:916
+-#, fuzzy, gcc-internal-format
+-msgid "overflow in constant expression"
+-msgstr "Byarenze urugero in imvugo"
+-
+-#: c-common.c:936
+-#, fuzzy, gcc-internal-format
+-msgid "integer overflow in expression"
+-msgstr "Umubare wuzuye Byarenze urugero in imvugo"
+-
+-#: c-common.c:945
+-#, fuzzy, gcc-internal-format
+-msgid "floating point overflow in expression"
+-msgstr "Bihindagurika Akadomo Byarenze urugero in imvugo"
+-
+-#: c-common.c:951
+-#, fuzzy, gcc-internal-format
+-msgid "vector overflow in expression"
+-msgstr "Byarenze urugero in imvugo"
+-
+-#: c-common.c:974
+-#, fuzzy, gcc-internal-format
+-msgid "large integer implicitly truncated to unsigned type"
+-msgstr "Binini Umubare wuzuye Kuri Bitashizweho umukono Ubwoko"
+-
+-#: c-common.c:977
+-#, fuzzy, gcc-internal-format
+-msgid "negative integer implicitly converted to unsigned type"
+-msgstr "Umubare wuzuye Kuri Bitashizweho umukono Ubwoko"
+-
+-#: c-common.c:999
+-#, fuzzy, gcc-internal-format
+-msgid "type-punning to incomplete type might break strict-aliasing rules"
+-msgstr "Ubwoko Kuri Ubwoko itandukanya"
+-
+-#: c-common.c:1007
+-#, fuzzy, gcc-internal-format
+-msgid "dereferencing type-punned pointer will break strict-aliasing rules"
+-msgstr "Ubwoko Mweretsi itandukanya"
+-
+-#: c-common.c:1011
+-#, fuzzy, gcc-internal-format
+-msgid "dereferencing type-punned pointer might break strict-aliasing rules"
+-msgstr "Ubwoko Mweretsi itandukanya"
+-
+-#: c-common.c:1037
+-#, fuzzy, gcc-internal-format
+-msgid "%Hempty body in an if-statement"
+-msgstr "ubusa Umubiri in Ikindi Inyandiko"
+-
+-#: c-common.c:1041
+-#, fuzzy, gcc-internal-format
+-msgid "%Hempty body in an else-statement"
+-msgstr "ubusa Umubiri in Ikindi Inyandiko"
+-
+-#: c-common.c:1105
+-#, fuzzy, gcc-internal-format
+-msgid "overflow in implicit constant conversion"
+-msgstr "Byarenze urugero in Ihindurangero"
+-
+-#: c-common.c:1241
+-#, fuzzy, gcc-internal-format
+-msgid "operation on %qE may be undefined"
+-msgstr "ku Gicurasi kidasobanuye"
+-
+-#: c-common.c:1527
+-#, fuzzy, gcc-internal-format
+-msgid "case label does not reduce to an integer constant"
+-msgstr "Akarango OYA Kuri Umubare wuzuye"
+-
+-#: c-common.c:1567
+-#, gcc-internal-format
+-msgid "case label value is less than minimum value for type"
+-msgstr ""
+-
+-#: c-common.c:1575
+-#, gcc-internal-format
+-msgid "case label value exceeds maximum value for type"
+-msgstr ""
+-
+-#: c-common.c:1583
+-#, gcc-internal-format
+-msgid "lower value in case label range less than minimum value for type"
+-msgstr ""
+-
+-#: c-common.c:1592
+-#, gcc-internal-format
+-msgid "upper value in case label range exceeds maximum value for type"
+-msgstr ""
+-
+-#: c-common.c:2007
+-#, fuzzy, gcc-internal-format
+-msgid "invalid operands to binary %s"
+-msgstr "Sibyo Kuri Nyabibiri"
+-
+-#: c-common.c:2242
+-#, fuzzy, gcc-internal-format
+-msgid "comparison is always false due to limited range of data type"
+-msgstr "ni Buri gihe SIBYO Kuri Urutonde Bya Ibyatanzwe Ubwoko"
+-
+-#: c-common.c:2244
+-#, fuzzy, gcc-internal-format
+-msgid "comparison is always true due to limited range of data type"
+-msgstr "ni Buri gihe NIBYO Kuri Urutonde Bya Ibyatanzwe Ubwoko"
+-
+-#: c-common.c:2322
+-#, fuzzy, gcc-internal-format
+-msgid "comparison of unsigned expression >= 0 is always true"
+-msgstr "Bya Bitashizweho umukono imvugo 0 ni Buri gihe NIBYO"
+-
+-#: c-common.c:2331
+-#, fuzzy, gcc-internal-format
+-msgid "comparison of unsigned expression < 0 is always false"
+-msgstr "Bya Bitashizweho umukono imvugo 0 ni Buri gihe SIBYO"
+-
+-#: c-common.c:2373
+-#, fuzzy, gcc-internal-format
+-msgid "pointer of type %<void *%> used in arithmetic"
+-msgstr "Mweretsi Bya Ubwoko in"
+-
+-#: c-common.c:2379
+-#, fuzzy, gcc-internal-format
+-msgid "pointer to a function used in arithmetic"
+-msgstr "Mweretsi Kuri a Umumaro in"
+-
+-#: c-common.c:2385
+-#, fuzzy, gcc-internal-format
+-msgid "pointer to member function used in arithmetic"
+-msgstr "Mweretsi Kuri Umumaro in"
+-
+-#: c-common.c:2525
+-#, fuzzy, gcc-internal-format
+-msgid "the address of %qD will always evaluate as %<true%>"
+-msgstr "i Aderesi Bya Buri gihe"
+-
+-#: c-common.c:2590
+-#, fuzzy, gcc-internal-format
+-msgid "suggest parentheses around assignment used as truth value"
+-msgstr "Igenera Nka Agaciro"
+-
+-#: c-common.c:2658 c-common.c:2698
+-#, fuzzy, gcc-internal-format
+-msgid "invalid use of %<restrict%>"
+-msgstr "Sibyo Gukoresha Bya"
+-
+-#: c-common.c:2914
+-#, fuzzy, gcc-internal-format
+-msgid "invalid application of %<sizeof%> to a function type"
+-msgstr "Sibyo Porogaramu Bya Kuri a Umumaro Ubwoko"
+-
+-#: c-common.c:2924
+-#, fuzzy, gcc-internal-format
+-msgid "invalid application of %qs to a void type"
+-msgstr "Sibyo Porogaramu Bya Kuri a Ubwoko"
+-
+-#: c-common.c:2930
+-#, fuzzy, gcc-internal-format
+-msgid "invalid application of %qs to incomplete type %qT "
+-msgstr "Sibyo Porogaramu Bya Kuri Ubwoko"
+-
+-#: c-common.c:2971
+-#, fuzzy, gcc-internal-format
+-msgid "%<__alignof%> applied to a bit-field"
+-msgstr "`_Byashyizweho Kuri a Umwanya"
+-
+-#: c-common.c:3462
+-#, fuzzy, gcc-internal-format
+-msgid "cannot disable built-in function %qs"
+-msgstr "in Umumaro"
+-
+-#: c-common.c:3656
+-#, fuzzy, gcc-internal-format
+-msgid "pointers are not permitted as case values"
+-msgstr "OYA Nka Uduciro"
+-
+-#: c-common.c:3662
+-#, fuzzy, gcc-internal-format
+-msgid "range expressions in switch statements are non-standard"
+-msgstr "C Urutonde in Hindura"
+-
+-#: c-common.c:3688
+-#, fuzzy, gcc-internal-format
+-msgid "empty range specified"
+-msgstr "ubusa Urutonde"
+-
+-#: c-common.c:3748
+-#, fuzzy, gcc-internal-format
+-msgid "duplicate (or overlapping) case value"
+-msgstr "Gusubiramo Cyangwa iyorosa Agaciro"
+-
+-#: c-common.c:3749
+-#, fuzzy, gcc-internal-format
+-msgid "%Jthis is the first entry overlapping that value"
+-msgstr "iyi ni i Itangira Icyinjijwe iyorosa Agaciro"
+-
+-#: c-common.c:3753
+-#, fuzzy, gcc-internal-format
+-msgid "duplicate case value"
+-msgstr "Gusubiramo Agaciro"
+-
+-#: c-common.c:3754
+-#, fuzzy, gcc-internal-format
+-msgid "%Jpreviously used here"
+-msgstr "Ibanjirije Insobanuro"
+-
+-#: c-common.c:3758
+-#, fuzzy, gcc-internal-format
+-msgid "multiple default labels in one switch"
+-msgstr "Igikubo Mburabuzi Uturango... in Hindura"
+-
+-#: c-common.c:3759
+-#, fuzzy, gcc-internal-format
+-msgid "%Jthis is the first default label"
+-msgstr "iyi ni i Itangira Mburabuzi Akarango"
+-
+-#: c-common.c:3808
+-#, fuzzy, gcc-internal-format
+-msgid "%Jcase value %qs not in enumerated type"
+-msgstr "Agaciro OYA in Ubwoko"
+-
+-#: c-common.c:3811
+-#, fuzzy, gcc-internal-format
+-msgid "%Jcase value %qs not in enumerated type %qT"
+-msgstr "Agaciro OYA in Ubwoko"
+-
+-#: c-common.c:3869
+-#, fuzzy, gcc-internal-format
+-msgid "%Hswitch missing default case"
+-msgstr "Hindura Ibuze Mburabuzi"
+-
+-#: c-common.c:3932
+-#, fuzzy, gcc-internal-format
+-msgid "%Henumeration value %qE not handled in switch"
+-msgstr "Agaciro OYA in Hindura"
+-
+-#: c-common.c:3956
+-#, fuzzy, gcc-internal-format
+-msgid "taking the address of a label is non-standard"
+-msgstr "C i Aderesi Bya a Akarango"
+-
+-#: c-common.c:4106
+-#, fuzzy, gcc-internal-format
+-msgid "%qE attribute ignored for field of type %qT"
+-msgstr "`%s'Ikiranga kugirango"
+-
+-#: c-common.c:4117 c-common.c:4136 c-common.c:4154 c-common.c:4181
+-#: c-common.c:4200 c-common.c:4223 c-common.c:4246 c-common.c:4267
+-#: c-common.c:4292 c-common.c:4318 c-common.c:4355 c-common.c:4382
+-#: c-common.c:4433 c-common.c:4458 c-common.c:4486 c-common.c:4505
+-#: c-common.c:4788 c-common.c:4848 c-common.c:4869 c-common.c:4933
+-#: c-common.c:5046 c-common.c:5112 c-common.c:5130 c-common.c:5176
+-#: c-common.c:5246 c-common.c:5270 c-common.c:5571 c-common.c:5594
+-#: c-common.c:5633
+-#, fuzzy, gcc-internal-format
+-msgid "%qE attribute ignored"
+-msgstr "`%s'Ikiranga"
+-
+-#: c-common.c:4349
+-#, gcc-internal-format
+-msgid "%qE attribute have effect only on public objects"
+-msgstr ""
+-
+-#: c-common.c:4543
+-#, fuzzy, gcc-internal-format
+-msgid "unknown machine mode %qs"
+-msgstr "Kitazwi Ubwoko"
+-
+-#: c-common.c:4564
+-#, gcc-internal-format
+-msgid "specifying vector types with __attribute__ ((mode)) is deprecated"
+-msgstr ""
+-
+-#: c-common.c:4567
+-#, fuzzy, gcc-internal-format
+-msgid "use __attribute__ ((vector_size)) instead"
+-msgstr "`%s'Ikiranga"
+-
+-#: c-common.c:4576
+-#, fuzzy, gcc-internal-format
+-msgid "unable to emulate %qs"
+-msgstr "Kuri"
+-
+-#: c-common.c:4586
+-#, fuzzy, gcc-internal-format
+-msgid "invalid pointer mode %qs"
+-msgstr "Sibyo Mweretsi Kuri Umwanya"
+-
+-#: c-common.c:4601
+-#, fuzzy, gcc-internal-format
+-msgid "no data type for mode %qs"
+-msgstr "Oya Ibyatanzwe Ubwoko kugirango Ubwoko"
+-
+-#: c-common.c:4611
+-#, fuzzy, gcc-internal-format
+-msgid "cannot use mode %qs for enumeral types"
+-msgstr "GUHINDURA Kuri a Mweretsi Ubwoko"
+-
+-#: c-common.c:4638
+-#, fuzzy, gcc-internal-format
+-msgid "mode %qs applied to inappropriate type"
+-msgstr "`Byashyizweho Kuri Ubwoko"
+-
+-#: c-common.c:4669
+-#, fuzzy, gcc-internal-format
+-msgid "%Jsection attribute cannot be specified for local variables"
+-msgstr "Icyiciro Ikiranga kugirango Ibihinduka"
+-
+-#: c-common.c:4680
+-#, fuzzy, gcc-internal-format
+-msgid "section of %q+D conflicts with previous declaration"
+-msgstr "Icyiciro Bya Na: Ibanjirije"
+-
+-#: c-common.c:4689
+-#, fuzzy, gcc-internal-format
+-msgid "section attribute not allowed for %q+D"
+-msgstr "Icyiciro Ikiranga OYA kugirango"
+-
+-#: c-common.c:4695
+-#, fuzzy, gcc-internal-format
+-msgid "%Jsection attributes are not supported for this target"
+-msgstr "Icyiciro Ibiranga OYA kugirango iyi Intego"
+-
+-#: c-common.c:4727
+-#, fuzzy, gcc-internal-format
+-msgid "requested alignment is not a constant"
+-msgstr "Itunganya ni OYA a"
+-
+-#: c-common.c:4732
+-#, fuzzy, gcc-internal-format
+-msgid "requested alignment is not a power of 2"
+-msgstr "Itunganya ni OYA a UMWIKUBE Bya 2."
+-
+-#: c-common.c:4737
+-#, fuzzy, gcc-internal-format
+-msgid "requested alignment is too large"
+-msgstr "Itunganya ni Binini"
+-
+-#: c-common.c:4763
+-#, fuzzy, gcc-internal-format
+-msgid "alignment may not be specified for %q+D"
+-msgstr "Itunganya Gicurasi OYA kugirango"
+-
+-#: c-common.c:4811
+-#, fuzzy, gcc-internal-format
+-msgid "%q+D defined both normally and as an alias"
+-msgstr "`%s'Byombi Na Nka Irihimbano"
+-
+-#: c-common.c:4827
+-#, fuzzy, gcc-internal-format
+-msgid "alias argument not a string"
+-msgstr "Irihimbano OYA a Ikurikiranyanyuguti"
+-
+-#: c-common.c:4890
+-#, gcc-internal-format
+-msgid "%Jweakref attribute must appear before alias attribute"
+-msgstr ""
+-
+-#: c-common.c:4920
+-#, fuzzy, gcc-internal-format
+-msgid "%qE attribute ignored on non-class types"
+-msgstr "`%s'Ikiranga kugirango"
+-
+-#: c-common.c:4926
+-#, fuzzy, gcc-internal-format
+-msgid "%qE attribute ignored because %qT is already defined"
+-msgstr "i ni"
+-
+-#: c-common.c:4939
+-#, fuzzy, gcc-internal-format
+-msgid "visibility argument not a string"
+-msgstr "Ukugaragara OYA a Ikurikiranyanyuguti"
+-
+-#: c-common.c:4951
+-#, fuzzy, gcc-internal-format
+-msgid "%qE attribute ignored on types"
+-msgstr "`%s'Ikiranga kugirango"
+-
+-#: c-common.c:4967
+-#, fuzzy, gcc-internal-format
+-msgid "visibility argument must be one of \"default\", \"hidden\", \"protected\" or \"internal\""
+-msgstr "Ukugaragara Bya Mburabuzi gihishwe Birinzwe Cyangwa By'imbere"
+-
+-#: c-common.c:4976
+-#, fuzzy, gcc-internal-format
+-msgid "%qD redeclared with different visibility"
+-msgstr "`%#D'Nka Bya IKIMENYETSO"
+-
+-#: c-common.c:5054
+-#, fuzzy, gcc-internal-format
+-msgid "tls_model argument not a string"
+-msgstr "OYA a Ikurikiranyanyuguti"
+-
+-#: c-common.c:5067
+-#, fuzzy, gcc-internal-format
+-msgid "tls_model argument must be one of \"local-exec\", \"initial-exec\", \"local-dynamic\" or \"global-dynamic\""
+-msgstr "Bya Cyangwa"
+-
+-#: c-common.c:5086 c-common.c:5150
+-#, fuzzy, gcc-internal-format
+-msgid "%J%qE attribute applies only to functions"
+-msgstr "`%s'Ikiranga Kuri Imimaro"
+-
+-#: c-common.c:5091 c-common.c:5155
+-#, fuzzy, gcc-internal-format
+-msgid "%Jcan%'t set %qE attribute after definition"
+-msgstr "Gushyiraho Ikiranga Nyuma Insobanuro"
+-
+-#: c-common.c:5244
+-#, fuzzy, gcc-internal-format
+-msgid "%qE attribute ignored for %qE"
+-msgstr "`%s'Ikiranga kugirango"
+-
+-#: c-common.c:5301
+-#, fuzzy, gcc-internal-format
+-msgid "invalid vector type for attribute %qE"
+-msgstr "Sibyo Ubwoko kugirango Ikiranga"
+-
+-#: c-common.c:5307
+-#, gcc-internal-format
+-msgid "vector size not an integral multiple of component size"
+-msgstr ""
+-
+-#: c-common.c:5313
+-#, gcc-internal-format
+-msgid "zero vector size"
+-msgstr ""
+-
+-#: c-common.c:5321
+-#, gcc-internal-format
+-msgid "number of components of the vector not a power of two"
+-msgstr ""
+-
+-#: c-common.c:5349
+-#, fuzzy, gcc-internal-format
+-msgid "nonnull attribute without arguments on a non-prototype"
+-msgstr "Ikiranga ingingo ku a"
+-
+-#: c-common.c:5364
+-#, fuzzy, gcc-internal-format
+-msgid "nonnull argument has invalid operand number (argument %lu)"
+-msgstr "Sibyo Umubare"
+-
+-#: c-common.c:5383
+-#, fuzzy, gcc-internal-format
+-msgid "nonnull argument with out-of-range operand number (argument %lu, operand %lu)"
+-msgstr "Na: Inyuma Bya Urutonde Umubare"
+-
+-#: c-common.c:5391
+-#, fuzzy, gcc-internal-format
+-msgid "nonnull argument references non-pointer operand (argument %lu, operand %lu)"
+-msgstr "Indango Mweretsi"
+-
+-#: c-common.c:5454 c-common.c:5477
+-#, fuzzy, gcc-internal-format
+-msgid "not enough variable arguments to fit a sentinel"
+-msgstr "ingingo Kuri Umumaro"
+-
+-#: c-common.c:5498
+-#, fuzzy, gcc-internal-format
+-msgid "missing sentinel in function call"
+-msgstr "Bifitanye isano Umumaro Amahamagara:"
+-
+-#: c-common.c:5540
+-#, fuzzy, gcc-internal-format
+-msgid "null argument where non-null required (argument %lu)"
+-msgstr "NTAGIHARI NTAGIHARI Bya ngombwa"
+-
+-#: c-common.c:5605
+-#, fuzzy, gcc-internal-format
+-msgid "cleanup argument not an identifier"
+-msgstr "Ikiranga"
+-
+-#: c-common.c:5612
+-#, fuzzy, gcc-internal-format
+-msgid "cleanup argument not a function"
+-msgstr "ingingo Kuri Umumaro"
+-
+-#: c-common.c:5651
+-#, fuzzy, gcc-internal-format
+-msgid "%qE attribute requires prototypes with named arguments"
+-msgstr "`%s'Ikiranga Umubare wuzuye"
+-
+-#: c-common.c:5662
+-#, fuzzy, gcc-internal-format
+-msgid "%qE attribute only applies to variadic functions"
+-msgstr "`%s'Ikiranga Kuri Imimaro"
+-
+-#: c-common.c:5673
+-#, fuzzy, gcc-internal-format
+-msgid "requested position is not an integer constant"
+-msgstr "ni OYA Umubare wuzuye"
+-
+-#: c-common.c:5680
+-#, gcc-internal-format
+-msgid "requested position is less than zero"
+-msgstr ""
+-
+-#: c-common.c:5988
+-#, gcc-internal-format
+-msgid "%Hignoring return value of %qD, declared with attribute warn_unused_result"
+-msgstr ""
+-
+-#: c-common.c:5992
+-#, gcc-internal-format
+-msgid "%Hignoring return value of function declared with attribute warn_unused_result"
+-msgstr ""
+-
+-#: c-common.c:6045
+-#, gcc-internal-format
+-msgid "cannot apply %<offsetof%> to static data member %qD"
+-msgstr ""
+-
+-#: c-common.c:6049
+-#, gcc-internal-format
+-msgid "cannot apply %<offsetof%> when %<operator[]%> is overloaded"
+-msgstr ""
+-
+-#: c-common.c:6070 cp/typeck.c:4434
+-#, fuzzy, gcc-internal-format
+-msgid "attempt to take address of bit-field structure member %qD"
+-msgstr "Kuri Aderesi Bya Umwanya Imiterere"
+-
+-#: c-common.c:6123
+-#, fuzzy, gcc-internal-format
+-msgid "lvalue required as left operand of assignment"
+-msgstr "Sibyo in Igenera"
+-
+-#: c-common.c:6126
+-#, gcc-internal-format
+-msgid "lvalue required as increment operand"
+-msgstr ""
+-
+-#: c-common.c:6129
+-#, gcc-internal-format
+-msgid "lvalue required as decrement operand"
+-msgstr ""
+-
+-#: c-common.c:6132
+-#, gcc-internal-format
+-msgid "lvalue required as unary %<&%> operand"
+-msgstr ""
+-
+-#: c-common.c:6135
+-#, fuzzy, gcc-internal-format
+-msgid "lvalue required in asm statement"
+-msgstr "Sibyo in Inyandiko"
+-
+-#: c-common.c:6263 c-common.c:6312 c-typeck.c:2574
+-#, fuzzy, gcc-internal-format
+-msgid "too few arguments to function %qE"
+-msgstr "ingingo Kuri Umumaro"
+-
+-#. ??? This should not be an error when inlining calls to
+-#. unprototyped functions.
+-#: c-common.c:6280 c-typeck.c:4257
+-#, fuzzy, gcc-internal-format
+-msgid "incompatible type for argument %d of %qE"
+-msgstr "Ubwoko kugirango Bya"
+-
+-#: c-common.c:6471
+-#, fuzzy, gcc-internal-format
+-msgid "array subscript has type %<char%>"
+-msgstr "Imbonerahamwe Inyandiko nyesi Ubwoko"
+-
+-#. Except for passing an argument to an unprototyped function,
+-#. this is a constraint violation. When passing an argument to
+-#. an unprototyped function, it is compile-time undefined;
+-#. making it a constraint in that case was rejected in
+-#. DR#252.
+-#: c-convert.c:96 c-typeck.c:1691 c-typeck.c:3901 cp/typeck.c:1506
+-#: cp/typeck.c:5619 cp/typeck.c:6208 fortran/convert.c:89
+-#: treelang/tree-convert.c:79
+-#, fuzzy, gcc-internal-format
+-msgid "void value not ignored as it ought to be"
+-msgstr "Agaciro OYA Nka Kuri"
+-
+-#: c-convert.c:117 fortran/convert.c:122 java/typeck.c:155
+-#: treelang/tree-convert.c:105
+-#, fuzzy, gcc-internal-format
+-msgid "conversion to non-scalar type requested"
+-msgstr "Ihindurangero Kuri Ubwoko"
+-
+-#: c-decl.c:568
+-#, fuzzy, gcc-internal-format
+-msgid "array %q+D assumed to have one element"
+-msgstr "Imbonerahamwe Kuri Ikigize:"
+-
+-#: c-decl.c:673
+-#, gcc-internal-format
+-msgid "GCC supports only %u nested scopes"
+-msgstr ""
+-
+-#: c-decl.c:759 cp/decl.c:360 java/decl.c:1620
+-#, fuzzy, gcc-internal-format
+-msgid "label %q+D used but not defined"
+-msgstr "Akarango OYA"
+-
+-#: c-decl.c:765 cp/decl.c:371 java/decl.c:1625
+-#, fuzzy, gcc-internal-format
+-msgid "label %q+D defined but not used"
+-msgstr "Akarango OYA"
+-
+-#: c-decl.c:767
+-#, fuzzy, gcc-internal-format
+-msgid "label %q+D declared but not defined"
+-msgstr "Akarango OYA"
+-
+-#: c-decl.c:802
+-#, fuzzy, gcc-internal-format
+-msgid "nested function %q+D declared but never defined"
+-msgstr "Mumurongo Umumaro Nta narimwe"
+-
+-#: c-decl.c:816 cp/decl.c:610
+-#, fuzzy, gcc-internal-format
+-msgid "unused variable %q+D"
+-msgstr "Kidakoreshwa IMPINDURAGACIRO"
+-
+-#: c-decl.c:820
+-#, gcc-internal-format
+-msgid "type of array %q+D completed incompatibly with implicit initialization"
+-msgstr ""
+-
+-#: c-decl.c:1054
+-#, fuzzy, gcc-internal-format
+-msgid "a parameter list with an ellipsis can%'t match an empty parameter name list declaration"
+-msgstr "a Urutonde Na: BIHUYE ubusa Izina: Urutonde"
+-
+-#: c-decl.c:1061
+-#, fuzzy, gcc-internal-format
+-msgid "an argument type that has a default promotion can%'t match an empty parameter name list declaration"
+-msgstr "Ubwoko a Mburabuzi BIHUYE ubusa Izina: Urutonde"
+-
+-#: c-decl.c:1102
+-#, gcc-internal-format
+-msgid "prototype for %q+D declares more arguments than previous old-style definition"
+-msgstr ""
+-
+-#: c-decl.c:1108
+-#, gcc-internal-format
+-msgid "prototype for %q+D declares fewer arguments than previous old-style definition"
+-msgstr ""
+-
+-#: c-decl.c:1117
+-#, fuzzy, gcc-internal-format
+-msgid "prototype for %q+D declares argument %d with incompatible type"
+-msgstr "kugirango Na BIHUYE"
+-
+-#. If we get here, no errors were found, but do issue a warning
+-#. for this poor-style construct.
+-#: c-decl.c:1130
+-#, fuzzy, gcc-internal-format
+-msgid "prototype for %q+D follows non-prototype definition"
+-msgstr "Insobanuro"
+-
+-#: c-decl.c:1145
+-#, fuzzy, gcc-internal-format
+-msgid "previous definition of %q+D was here"
+-msgstr "Ibanjirije Insobanuro"
+-
+-#: c-decl.c:1147
+-#, fuzzy, gcc-internal-format
+-msgid "previous implicit declaration of %q+D was here"
+-msgstr "Ibanjirije Bya"
+-
+-#: c-decl.c:1149
+-#, fuzzy, gcc-internal-format
+-msgid "previous declaration of %q+D was here"
+-msgstr "Ibanjirije"
+-
+-#: c-decl.c:1189
+-#, fuzzy, gcc-internal-format
+-msgid "%q+D redeclared as different kind of symbol"
+-msgstr "`%#D'Nka Bya IKIMENYETSO"
+-
+-#: c-decl.c:1193
+-#, fuzzy, gcc-internal-format
+-msgid "built-in function %q+D declared as non-function"
+-msgstr "in Umumaro Nka Umumaro"
+-
+-#: c-decl.c:1196 c-decl.c:1312 c-decl.c:1946
+-#, fuzzy, gcc-internal-format
+-msgid "declaration of %q+D shadows a built-in function"
+-msgstr "Bya Nka Umumaro"
+-
+-#: c-decl.c:1205
+-#, fuzzy, gcc-internal-format
+-msgid "redeclaration of enumerator %q+D"
+-msgstr "Bya"
+-
+-#. If types don't match for a built-in, throw away the
+-#. built-in. No point in calling locate_old_decl here, it
+-#. won't print anything.
+-#: c-decl.c:1226
+-#, fuzzy, gcc-internal-format
+-msgid "conflicting types for built-in function %q+D"
+-msgstr "kugirango in Umumaro"
+-
+-#: c-decl.c:1250 c-decl.c:1263 c-decl.c:1273
+-#, fuzzy, gcc-internal-format
+-msgid "conflicting types for %q+D"
+-msgstr "kugirango"
+-
+-#: c-decl.c:1271
+-#, fuzzy, gcc-internal-format
+-msgid "conflicting type qualifiers for %q+D"
+-msgstr "kugirango"
+-
+-#. Allow OLDDECL to continue in use.
+-#: c-decl.c:1288
+-#, fuzzy, gcc-internal-format
+-msgid "redefinition of typedef %q+D"
+-msgstr "Bya"
+-
+-#: c-decl.c:1336 c-decl.c:1421
+-#, fuzzy, gcc-internal-format
+-msgid "redefinition of %q+D"
+-msgstr "Bya"
+-
+-#: c-decl.c:1371 c-decl.c:1459
+-#, fuzzy, gcc-internal-format
+-msgid "static declaration of %q+D follows non-static declaration"
+-msgstr "kugirango"
+-
+-#: c-decl.c:1381 c-decl.c:1388 c-decl.c:1448 c-decl.c:1456
+-#, fuzzy, gcc-internal-format
+-msgid "non-static declaration of %q+D follows static declaration"
+-msgstr "kugirango"
+-
+-#: c-decl.c:1408
+-#, fuzzy, gcc-internal-format
+-msgid "thread-local declaration of %q+D follows non-thread-local declaration"
+-msgstr "Urudodo Bya Urudodo"
+-
+-#: c-decl.c:1411
+-#, fuzzy, gcc-internal-format
+-msgid "non-thread-local declaration of %q+D follows thread-local declaration"
+-msgstr "Urudodo Bya Urudodo"
+-
+-#: c-decl.c:1441
+-#, fuzzy, gcc-internal-format
+-msgid "extern declaration of %q+D follows declaration with no linkage"
+-msgstr "Bya BIHUYE"
+-
+-#: c-decl.c:1477
+-#, fuzzy, gcc-internal-format
+-msgid "declaration of %q+D with no linkage follows extern declaration"
+-msgstr "Bya IMPINDURAGACIRO in"
+-
+-#: c-decl.c:1483
+-#, fuzzy, gcc-internal-format
+-msgid "redeclaration of %q+D with no linkage"
+-msgstr "Ibanjirije Bya Na:"
+-
+-#: c-decl.c:1497
+-#, gcc-internal-format
+-msgid "redeclaration of %q+D with different visibility (old visibility preserved)"
+-msgstr ""
+-
+-#: c-decl.c:1508
+-#, fuzzy, gcc-internal-format
+-msgid "inline declaration of %qD follows declaration with attribute noinline"
+-msgstr "Ibanjirije Bya Umumaro Na: Ikiranga"
+-
+-#: c-decl.c:1515
+-#, fuzzy, gcc-internal-format
+-msgid "declaration of %q+D with attribute noinline follows inline declaration "
+-msgstr "Bya IMPINDURAGACIRO in"
+-
+-#: c-decl.c:1530
+-#, fuzzy, gcc-internal-format
+-msgid "%q+D declared inline after being called"
+-msgstr "`%s'Mumurongo Nyuma"
+-
+-#: c-decl.c:1535
+-#, fuzzy, gcc-internal-format
+-msgid "%q+D declared inline after its definition"
+-msgstr "`%s'Mumurongo Nyuma Insobanuro"
+-
+-#: c-decl.c:1554
+-#, fuzzy, gcc-internal-format
+-msgid "redefinition of parameter %q+D"
+-msgstr "Bya"
+-
+-#: c-decl.c:1581
+-#, fuzzy, gcc-internal-format
+-msgid "redundant redeclaration of %q+D"
+-msgstr "Bya in Ingano:"
+-
+-#: c-decl.c:1933
+-#, fuzzy, gcc-internal-format
+-msgid "declaration of %q+D shadows previous non-variable"
+-msgstr "Bya a"
+-
+-#: c-decl.c:1938
+-#, fuzzy, gcc-internal-format
+-msgid "declaration of %q+D shadows a parameter"
+-msgstr "Bya a"
+-
+-#: c-decl.c:1941
+-#, fuzzy, gcc-internal-format
+-msgid "declaration of %q+D shadows a global declaration"
+-msgstr "Bya a"
+-
+-#: c-decl.c:1951
+-#, fuzzy, gcc-internal-format
+-msgid "declaration of %q+D shadows a previous local"
+-msgstr "Bya a"
+-
+-#: c-decl.c:1954 cp/name-lookup.c:972 cp/name-lookup.c:1003
+-#: cp/name-lookup.c:1011
+-#, fuzzy, gcc-internal-format
+-msgid "%Jshadowed declaration is here"
+-msgstr "IMPINDURAGACIRO ni OYA"
+-
+-#: c-decl.c:2154
+-#, fuzzy, gcc-internal-format
+-msgid "nested extern declaration of %qD"
+-msgstr "Bya"
+-
+-#: c-decl.c:2323
+-#, fuzzy, gcc-internal-format
+-msgid "implicit declaration of function %qE"
+-msgstr "Bya Umumaro"
+-
+-#: c-decl.c:2384
+-#, fuzzy, gcc-internal-format
+-msgid "incompatible implicit declaration of built-in function %qD"
+-msgstr "Bya Umumaro"
+-
+-#: c-decl.c:2393
+-#, fuzzy, gcc-internal-format
+-msgid "incompatible implicit declaration of function %qD"
+-msgstr "Bya Umumaro"
+-
+-#: c-decl.c:2446
+-#, fuzzy, gcc-internal-format
+-msgid "%H%qE undeclared here (not in a function)"
+-msgstr "`%s'OYA in a Umumaro"
+-
+-#: c-decl.c:2451
+-#, fuzzy, gcc-internal-format
+-msgid "%H%qE undeclared (first use in this function)"
+-msgstr "`%s'Itangira Gukoresha in iyi Umumaro"
+-
+-#: c-decl.c:2455
+-#, fuzzy, gcc-internal-format
+-msgid "%H(Each undeclared identifier is reported only once"
+-msgstr "(Ikiranga ni Rimwe"
+-
+-#: c-decl.c:2456
+-#, fuzzy, gcc-internal-format
+-msgid "%Hfor each function it appears in.)"
+-msgstr "kugirango Umumaro in"
+-
+-#: c-decl.c:2494 cp/decl.c:2252
+-#, fuzzy, gcc-internal-format
+-msgid "label %qE referenced outside of any function"
+-msgstr "Akarango Hanze Bya Umumaro"
+-
+-#: c-decl.c:2536
+-#, fuzzy, gcc-internal-format
+-msgid "duplicate label declaration %qE"
+-msgstr "Gusubiramo Akarango"
+-
+-#: c-decl.c:2572
+-#, fuzzy, gcc-internal-format
+-msgid "%Hduplicate label %qD"
+-msgstr "Gusubiramo Akarango"
+-
+-#: c-decl.c:2582
+-#, fuzzy, gcc-internal-format
+-msgid "%Jjump into statement expression"
+-msgstr "Byarenze urugero in imvugo"
+-
+-#: c-decl.c:2584
+-#, gcc-internal-format
+-msgid "%Jjump into scope of identifier with variably modified type"
+-msgstr ""
+-
+-#: c-decl.c:2599
+-#, gcc-internal-format
+-msgid "%Htraditional C lacks a separate namespace for labels, identifier %qE conflicts"
+-msgstr ""
+-
+-#: c-decl.c:2674
+-#, gcc-internal-format
+-msgid "%H%qE defined as wrong kind of tag"
+-msgstr ""
+-
+-#: c-decl.c:2898
+-#, fuzzy, gcc-internal-format
+-msgid "unnamed struct/union that defines no instances"
+-msgstr "Kitiswe Ihuza Oya Ingero"
+-
+-#: c-decl.c:2906
+-#, gcc-internal-format
+-msgid "empty declaration with storage class specifier does not redeclare tag"
+-msgstr ""
+-
+-#: c-decl.c:2917
+-#, fuzzy, gcc-internal-format
+-msgid "empty declaration with type qualifier does not redeclare tag"
+-msgstr "OYA"
+-
+-#: c-decl.c:2938 c-decl.c:2945
+-#, fuzzy, gcc-internal-format
+-msgid "useless type name in empty declaration"
+-msgstr "Ijambo- banze Cyangwa Ubwoko Izina: in ubusa"
+-
+-#: c-decl.c:2953
+-#, fuzzy, gcc-internal-format
+-msgid "%<inline%> in empty declaration"
+-msgstr "ubusa"
+-
+-#: c-decl.c:2959
+-#, fuzzy, gcc-internal-format
+-msgid "%<auto%> in file-scope empty declaration"
+-msgstr "in ubusa"
+-
+-#: c-decl.c:2965
+-#, fuzzy, gcc-internal-format
+-msgid "%<register%> in file-scope empty declaration"
+-msgstr "in ubusa"
+-
+-#: c-decl.c:2971
+-#, fuzzy, gcc-internal-format
+-msgid "useless storage class specifier in empty declaration"
+-msgstr "ishuri Sibyo in"
+-
+-#: c-decl.c:2977
+-#, fuzzy, gcc-internal-format
+-msgid "useless %<__thread%> in empty declaration"
+-msgstr "Ijambo- banze Cyangwa Ubwoko Izina: in ubusa"
+-
+-#: c-decl.c:2985
+-#, fuzzy, gcc-internal-format
+-msgid "useless type qualifier in empty declaration"
+-msgstr "Gusubiramo Ubwoko in"
+-
+-#: c-decl.c:2992 c-parser.c:1285
+-#, fuzzy, gcc-internal-format
+-msgid "empty declaration"
+-msgstr "ubusa"
+-
+-#: c-decl.c:3058
+-#, fuzzy, gcc-internal-format
+-msgid "ISO C90 does not support %<static%> or type qualifiers in parameter array declarators"
+-msgstr "OYA Gushigikira Cyangwa Ubwoko in Imbonerahamwe"
+-
+-#: c-decl.c:3061
+-#, fuzzy, gcc-internal-format
+-msgid "ISO C90 does not support %<[*]%> array declarators"
+-msgstr "OYA Gushigikira Imbonerahamwe"
+-
+-#. C99 6.7.5.2p4
+-#. A function definition isn't function prototype scope C99 6.2.1p4.
+-#. C99 6.7.5.2p4
+-#: c-decl.c:3068 c-decl.c:4936
+-#, gcc-internal-format
+-msgid "%<[*]%> not allowed in other than function prototype scope"
+-msgstr ""
+-
+-#: c-decl.c:3092
+-#, fuzzy, gcc-internal-format
+-msgid "static or type qualifiers in abstract declarator"
+-msgstr "Cyangwa Ubwoko in Incamake"
+-
+-#: c-decl.c:3178
+-#, fuzzy, gcc-internal-format
+-msgid "%q+D is usually a function"
+-msgstr "`%s'ni a Umumaro"
+-
+-#: c-decl.c:3187 cp/decl.c:3858 cp/decl2.c:780
+-#, fuzzy, gcc-internal-format
+-msgid "typedef %qD is initialized (use __typeof__ instead)"
+-msgstr "ni Gukoresha"
+-
+-#: c-decl.c:3192
+-#, fuzzy, gcc-internal-format
+-msgid "function %qD is initialized like a variable"
+-msgstr "Umumaro ni nka a IMPINDURAGACIRO"
+-
+-#. DECL_INITIAL in a PARM_DECL is really DECL_ARG_TYPE.
+-#: c-decl.c:3198
+-#, fuzzy, gcc-internal-format
+-msgid "parameter %qD is initialized"
+-msgstr "ni"
+-
+-#: c-decl.c:3223
+-#, fuzzy, gcc-internal-format
+-msgid "variable %qD has initializer but incomplete type"
+-msgstr "IMPINDURAGACIRO Ubwoko"
+-
+-#: c-decl.c:3299 c-decl.c:6023 cp/decl.c:3900 cp/decl.c:10482
+-#, fuzzy, gcc-internal-format
+-msgid "inline function %q+D given attribute noinline"
+-msgstr "Mumurongo Umumaro Ikiranga"
+-
+-#: c-decl.c:3390
+-#, fuzzy, gcc-internal-format
+-msgid "initializer fails to determine size of %q+D"
+-msgstr "Kuri Ingano Bya"
+-
+-#: c-decl.c:3395
+-#, fuzzy, gcc-internal-format
+-msgid "array size missing in %q+D"
+-msgstr "Imbonerahamwe Ingano Ibuze in"
+-
+-#: c-decl.c:3407
+-#, fuzzy, gcc-internal-format
+-msgid "zero or negative size array %q+D"
+-msgstr "Zeru Cyangwa Ingano Imbonerahamwe"
+-
+-#: c-decl.c:3462 varasm.c:1765
+-#, fuzzy, gcc-internal-format
+-msgid "storage size of %q+D isn%'t known"
+-msgstr "Ingano Bya si"
+-
+-#: c-decl.c:3472
+-#, fuzzy, gcc-internal-format
+-msgid "storage size of %q+D isn%'t constant"
+-msgstr "Ingano Bya si"
+-
+-#: c-decl.c:3517
+-#, fuzzy, gcc-internal-format
+-msgid "ignoring asm-specifier for non-static local variable %q+D"
+-msgstr "kugirango IMPINDURAGACIRO"
+-
+-#: c-decl.c:3545 fortran/f95-lang.c:684
+-#, fuzzy, gcc-internal-format
+-msgid "cannot put object with volatile field into register"
+-msgstr "Gushyira Igikoresho Na: Umwanya Kwiyandikisha"
+-
+-#: c-decl.c:3671
+-#, fuzzy, gcc-internal-format
+-msgid "ISO C forbids forward parameter declarations"
+-msgstr "C Imbere"
+-
+-#: c-decl.c:3790
+-#, fuzzy, gcc-internal-format
+-msgid "bit-field %qs width not an integer constant"
+-msgstr "Umwanya Ubugari OYA Umubare wuzuye"
+-
+-#: c-decl.c:3798
+-#, fuzzy, gcc-internal-format
+-msgid "negative width in bit-field %qs"
+-msgstr "Ubugari in Umwanya"
+-
+-#: c-decl.c:3803
+-#, fuzzy, gcc-internal-format
+-msgid "zero width for bit-field %qs"
+-msgstr "Zeru Ubugari kugirango Umwanya"
+-
+-#: c-decl.c:3813
+-#, fuzzy, gcc-internal-format
+-msgid "bit-field %qs has invalid type"
+-msgstr "Umwanya Sibyo Ubwoko"
+-
+-#: c-decl.c:3823
+-#, fuzzy, gcc-internal-format
+-msgid "type of bit-field %qs is a GCC extension"
+-msgstr "IMISUSIRE Bya Umurongo ni a Umugereka"
+-
+-#: c-decl.c:3832
+-#, fuzzy, gcc-internal-format
+-msgid "width of %qs exceeds its type"
+-msgstr "Ubugari Bya Ubwoko"
+-
+-#: c-decl.c:3845
+-#, fuzzy, gcc-internal-format
+-msgid "%qs is narrower than values of its type"
+-msgstr "`%s'ni Uduciro Bya Ubwoko"
+-
+-#: c-decl.c:3962 c-decl.c:4239
+-#, gcc-internal-format
+-msgid "variably modified %qs at file scope"
+-msgstr ""
+-
+-#: c-decl.c:3980
+-#, fuzzy, gcc-internal-format
+-msgid "type defaults to %<int%> in declaration of %qs"
+-msgstr "Ubwoko Kuri in Bya"
+-
+-#: c-decl.c:4008
+-#, fuzzy, gcc-internal-format
+-msgid "duplicate %<const%>"
+-msgstr "Gusubiramo"
+-
+-#: c-decl.c:4010
+-#, fuzzy, gcc-internal-format
+-msgid "duplicate %<restrict%>"
+-msgstr "Gusubiramo"
+-
+-#: c-decl.c:4012
+-#, fuzzy, gcc-internal-format
+-msgid "duplicate %<volatile%>"
+-msgstr "Gusubiramo"
+-
+-#: c-decl.c:4031
+-#, fuzzy, gcc-internal-format
+-msgid "function definition declared %<auto%>"
+-msgstr "Umumaro Insobanuro"
+-
+-#: c-decl.c:4033
+-#, fuzzy, gcc-internal-format
+-msgid "function definition declared %<register%>"
+-msgstr "Umumaro Insobanuro"
+-
+-#: c-decl.c:4035
+-#, fuzzy, gcc-internal-format
+-msgid "function definition declared %<typedef%>"
+-msgstr "Umumaro Insobanuro"
+-
+-#: c-decl.c:4037
+-#, fuzzy, gcc-internal-format
+-msgid "function definition declared %<__thread%>"
+-msgstr "Umumaro Insobanuro"
+-
+-#: c-decl.c:4053
+-#, fuzzy, gcc-internal-format
+-msgid "storage class specified for structure field %qs"
+-msgstr "ishuri kugirango Imiterere Umwanya"
+-
+-#: c-decl.c:4057 cp/decl.c:7511
+-#, fuzzy, gcc-internal-format
+-msgid "storage class specified for parameter %qs"
+-msgstr "ishuri kugirango"
+-
+-#: c-decl.c:4060 cp/decl.c:7513
+-#, fuzzy, gcc-internal-format
+-msgid "storage class specified for typename"
+-msgstr "ishuri kugirango"
+-
+-#: c-decl.c:4077 cp/decl.c:7530
+-#, fuzzy, gcc-internal-format
+-msgid "%qs initialized and declared %<extern%>"
+-msgstr "`%s'Na"
+-
+-#: c-decl.c:4080 cp/decl.c:7533
+-#, fuzzy, gcc-internal-format
+-msgid "%qs has both %<extern%> and initializer"
+-msgstr "`%s'Byombi Na"
+-
+-#: c-decl.c:4085
+-#, fuzzy, gcc-internal-format
+-msgid "file-scope declaration of %qs specifies %<auto%>"
+-msgstr "Hejuru: urwego Bya"
+-
+-#: c-decl.c:4087
+-#, fuzzy, gcc-internal-format
+-msgid "file-scope declaration of %qs specifies %<register%>"
+-msgstr "Hejuru: urwego Bya"
+-
+-#: c-decl.c:4092 cp/decl.c:7537
+-#, fuzzy, gcc-internal-format
+-msgid "nested function %qs declared %<extern%>"
+-msgstr "Umumaro"
+-
+-#: c-decl.c:4095 cp/decl.c:7547
+-#, fuzzy, gcc-internal-format
+-msgid "function-scope %qs implicitly auto and declared %<__thread%>"
+-msgstr "Umumaro Ingano: Ikiyega Na"
+-
+-#. Only the innermost declarator (making a parameter be of
+-#. array type which is converted to pointer type)
+-#. may have static or type qualifiers.
+-#: c-decl.c:4142 c-decl.c:4393
+-#, fuzzy, gcc-internal-format
+-msgid "static or type qualifiers in non-parameter array declarator"
+-msgstr "Cyangwa Ubwoko in Imbonerahamwe"
+-
+-#: c-decl.c:4189
+-#, fuzzy, gcc-internal-format
+-msgid "declaration of %qs as array of voids"
+-msgstr "Bya Nka Imbonerahamwe Bya"
+-
+-#: c-decl.c:4195
+-#, fuzzy, gcc-internal-format
+-msgid "declaration of %qs as array of functions"
+-msgstr "Bya Nka Imbonerahamwe Bya Imimaro"
+-
+-#: c-decl.c:4200
+-#, fuzzy, gcc-internal-format
+-msgid "invalid use of structure with flexible array member"
+-msgstr "Sibyo Gukoresha Bya Imiterere Na: Imbonerahamwe"
+-
+-#: c-decl.c:4220
+-#, fuzzy, gcc-internal-format
+-msgid "size of array %qs has non-integer type"
+-msgstr "Ingano Bya Imbonerahamwe Umubare wuzuye Ubwoko"
+-
+-#: c-decl.c:4225
+-#, fuzzy, gcc-internal-format
+-msgid "ISO C forbids zero-size array %qs"
+-msgstr "C Zeru Ingano Imbonerahamwe"
+-
+-#: c-decl.c:4232
+-#, fuzzy, gcc-internal-format
+-msgid "size of array %qs is negative"
+-msgstr "Ingano Bya Imbonerahamwe ni"
+-
+-#: c-decl.c:4252
+-#, fuzzy, gcc-internal-format
+-msgid "ISO C90 forbids array %qs whose size can%'t be evaluated"
+-msgstr "Imbonerahamwe bya Ingano"
+-
+-#: c-decl.c:4256
+-#, fuzzy, gcc-internal-format
+-msgid "ISO C90 forbids variable-size array %qs"
+-msgstr "IMPINDURAGACIRO Ingano Imbonerahamwe"
+-
+-#: c-decl.c:4296 c-decl.c:4551 cp/decl.c:7946
+-#, fuzzy, gcc-internal-format
+-msgid "size of array %qs is too large"
+-msgstr "Ingano Bya Imbonerahamwe ni Binini"
+-
+-#: c-decl.c:4307
+-#, fuzzy, gcc-internal-format
+-msgid "ISO C90 does not support flexible array members"
+-msgstr "OYA Gushigikira Imbonerahamwe"
+-
+-#. C99 6.7.5.2p4
+-#: c-decl.c:4320 c-parser.c:4911
+-#, fuzzy, gcc-internal-format
+-msgid "%<[*]%> not allowed in other than a declaration"
+-msgstr "OYA in ikoresha"
+-
+-#: c-decl.c:4343
+-#, fuzzy, gcc-internal-format
+-msgid "array type has incomplete element type"
+-msgstr "Imbonerahamwe Ubwoko Ikigize: Ubwoko"
+-
+-#: c-decl.c:4425 cp/decl.c:7631
+-#, fuzzy, gcc-internal-format
+-msgid "%qs declared as function returning a function"
+-msgstr "`%s'Nka Umumaro a Umumaro"
+-
+-#: c-decl.c:4430 cp/decl.c:7636
+-#, fuzzy, gcc-internal-format
+-msgid "%qs declared as function returning an array"
+-msgstr "`%s'Nka Umumaro Imbonerahamwe"
+-
+-#: c-decl.c:4452
+-#, fuzzy, gcc-internal-format
+-msgid "function definition has qualified void return type"
+-msgstr "Sibyo Insobanuro Bya Ubwoko"
+-
+-#: c-decl.c:4455
+-#, fuzzy, gcc-internal-format
+-msgid "type qualifiers ignored on function return type"
+-msgstr "Ubwoko ku Umumaro Garuka Ubwoko"
+-
+-#: c-decl.c:4484 c-decl.c:4564 c-decl.c:4651 c-decl.c:4741
+-#, fuzzy, gcc-internal-format
+-msgid "ISO C forbids qualified function types"
+-msgstr "C Umumaro"
+-
+-#: c-decl.c:4572
+-#, fuzzy, gcc-internal-format
+-msgid "typedef %q+D declared %<inline%>"
+-msgstr "`%D'Nka"
+-
+-#: c-decl.c:4587
+-#, fuzzy, gcc-internal-format
+-msgid "ISO C forbids const or volatile function types"
+-msgstr "C Cyangwa Umumaro"
+-
+-#. C99 6.7.2.1p8
+-#: c-decl.c:4598
+-#, fuzzy, gcc-internal-format
+-msgid "a member of a structure or union cannot have a variably modified type"
+-msgstr "Ibyatanzwe Gicurasi OYA Byahinduwe Ubwoko"
+-
+-#: c-decl.c:4614
+-#, fuzzy, gcc-internal-format
+-msgid "variable or field %qs declared void"
+-msgstr "IMPINDURAGACIRO Cyangwa Umwanya"
+-
+-#: c-decl.c:4644
+-#, fuzzy, gcc-internal-format
+-msgid "attributes in parameter array declarator ignored"
+-msgstr "Ibiranga in Imbonerahamwe"
+-
+-#: c-decl.c:4678
+-#, fuzzy, gcc-internal-format
+-msgid "parameter %q+D declared %<inline%>"
+-msgstr "IMPINDURAGACIRO"
+-
+-#: c-decl.c:4691
+-#, fuzzy, gcc-internal-format
+-msgid "field %qs declared as a function"
+-msgstr "Umwanya Nka a Umumaro"
+-
+-#: c-decl.c:4697
+-#, fuzzy, gcc-internal-format
+-msgid "field %qs has incomplete type"
+-msgstr "Umwanya Ubwoko"
+-
+-#: c-decl.c:4711 c-decl.c:4723 c-decl.c:4727
+-#, fuzzy, gcc-internal-format
+-msgid "invalid storage class for function %qs"
+-msgstr "Sibyo ishuri kugirango Umumaro"
+-
+-#: c-decl.c:4747
+-#, fuzzy, gcc-internal-format
+-msgid "%<noreturn%> function returns non-void value"
+-msgstr "`Umumaro Agaciro"
+-
+-#: c-decl.c:4775
+-#, fuzzy, gcc-internal-format
+-msgid "cannot inline function %<main%>"
+-msgstr "Mumurongo Umumaro"
+-
+-#: c-decl.c:4822
+-#, gcc-internal-format
+-msgid "variable previously declared %<static%> redeclared %<extern%>"
+-msgstr ""
+-
+-#: c-decl.c:4832
+-#, fuzzy, gcc-internal-format
+-msgid "variable %q+D declared %<inline%>"
+-msgstr "IMPINDURAGACIRO"
+-
+-#. A mere warning is sure to result in improper semantics
+-#. at runtime. Don't bother to allow this to compile.
+-#. A mere warning is sure to result in improper
+-#. semantics at runtime. Don't bother to allow this to
+-#. compile.
+-#: c-decl.c:4862 cp/decl.c:6398 cp/decl.c:8538
+-#, fuzzy, gcc-internal-format
+-msgid "thread-local storage not supported for this target"
+-msgstr "Urudodo OYA kugirango iyi Intego"
+-
+-#. C99 6.7.5.2p2
+-#: c-decl.c:4870
+-#, gcc-internal-format
+-msgid "object with variably modified type must have no linkage"
+-msgstr ""
+-
+-#: c-decl.c:4941 c-decl.c:6104
+-#, fuzzy, gcc-internal-format
+-msgid "function declaration isn%'t a prototype"
+-msgstr "Umumaro si a"
+-
+-#: c-decl.c:4949
+-#, fuzzy, gcc-internal-format
+-msgid "parameter names (without types) in function declaration"
+-msgstr "Amazina in Umumaro"
+-
+-#: c-decl.c:4982
+-#, fuzzy, gcc-internal-format
+-msgid "parameter %u (%q+D) has incomplete type"
+-msgstr "Ubwoko"
+-
+-#: c-decl.c:4985
+-#, fuzzy, gcc-internal-format
+-msgid "%Jparameter %u has incomplete type"
+-msgstr "Ubwoko"
+-
+-#: c-decl.c:4994
+-#, fuzzy, gcc-internal-format
+-msgid "parameter %u (%q+D) has void type"
+-msgstr "Ubwoko"
+-
+-#: c-decl.c:4997
+-#, fuzzy, gcc-internal-format
+-msgid "%Jparameter %u has void type"
+-msgstr "Ubwoko"
+-
+-#: c-decl.c:5059
+-#, fuzzy, gcc-internal-format
+-msgid "%<void%> as only parameter may not be qualified"
+-msgstr "Izina: Gicurasi OYA ishuri"
+-
+-#: c-decl.c:5063 c-decl.c:5097
+-#, gcc-internal-format
+-msgid "%<void%> must be the only parameter"
+-msgstr ""
+-
+-#: c-decl.c:5091
+-#, fuzzy, gcc-internal-format
+-msgid "parameter %q+D has just a forward declaration"
+-msgstr "a Imbere"
+-
+-#. The %s will be one of 'struct', 'union', or 'enum'.
+-#: c-decl.c:5136
+-#, fuzzy, gcc-internal-format
+-msgid "%<%s %E%> declared inside parameter list"
+-msgstr "`Mo Imbere Urutonde"
+-
+-#. The %s will be one of 'struct', 'union', or 'enum'.
+-#: c-decl.c:5140
+-#, fuzzy, gcc-internal-format
+-msgid "anonymous %s declared inside parameter list"
+-msgstr "Mo Imbere Urutonde"
+-
+-#: c-decl.c:5145
+-#, fuzzy, gcc-internal-format
+-msgid "its scope is only this definition or declaration, which is probably not what you want"
+-msgstr "Ingano: ni iyi Insobanuro Cyangwa ni OYA"
+-
+-#: c-decl.c:5279
+-#, fuzzy, gcc-internal-format
+-msgid "redefinition of %<union %E%>"
+-msgstr "Bya Ihuza"
+-
+-#: c-decl.c:5281
+-#, fuzzy, gcc-internal-format
+-msgid "redefinition of %<struct %E%>"
+-msgstr "Bya"
+-
+-#: c-decl.c:5286
+-#, fuzzy, gcc-internal-format
+-msgid "nested redefinition of %<union %E%>"
+-msgstr "Bya"
+-
+-#: c-decl.c:5288
+-#, fuzzy, gcc-internal-format
+-msgid "nested redefinition of %<struct %E%>"
+-msgstr "Bya"
+-
+-#: c-decl.c:5359 cp/decl.c:3663
+-#, fuzzy, gcc-internal-format
+-msgid "declaration does not declare anything"
+-msgstr "OYA"
+-
+-#: c-decl.c:5363
+-#, fuzzy, gcc-internal-format
+-msgid "ISO C doesn%'t support unnamed structs/unions"
+-msgstr "C Gushigikira Kitiswe"
+-
+-#: c-decl.c:5406 c-decl.c:5422
+-#, fuzzy, gcc-internal-format
+-msgid "duplicate member %q+D"
+-msgstr "Gusubiramo"
+-
+-#: c-decl.c:5461
+-#, fuzzy, gcc-internal-format
+-msgid "union has no named members"
+-msgstr "`%#T'Mweretsi Ibyatanzwe"
+-
+-#: c-decl.c:5463
+-#, fuzzy, gcc-internal-format
+-msgid "union has no members"
+-msgstr "%sOya"
+-
+-#: c-decl.c:5468
+-#, fuzzy, gcc-internal-format
+-msgid "struct has no named members"
+-msgstr "Gicurasi OYA Ibigenga"
+-
+-#: c-decl.c:5470
+-#, fuzzy, gcc-internal-format
+-msgid "struct has no members"
+-msgstr "Oya Ibigenga"
+-
+-#: c-decl.c:5532
+-#, fuzzy, gcc-internal-format
+-msgid "%Jflexible array member in union"
+-msgstr "Imbonerahamwe in Ihuza"
+-
+-#: c-decl.c:5537
+-#, fuzzy, gcc-internal-format
+-msgid "%Jflexible array member not at end of struct"
+-msgstr "Imbonerahamwe OYA ku Impera Bya"
+-
+-#: c-decl.c:5542
+-#, fuzzy, gcc-internal-format
+-msgid "%Jflexible array member in otherwise empty struct"
+-msgstr "Imbonerahamwe in ubusa"
+-
+-#: c-decl.c:5549
+-#, fuzzy, gcc-internal-format
+-msgid "%Jinvalid use of structure with flexible array member"
+-msgstr "Sibyo Gukoresha Bya Imiterere Na: Imbonerahamwe"
+-
+-#: c-decl.c:5658
+-#, fuzzy, gcc-internal-format
+-msgid "union cannot be made transparent"
+-msgstr "Ihuza Bibonerana"
+-
+-#: c-decl.c:5729
+-#, fuzzy, gcc-internal-format
+-msgid "nested redefinition of %<enum %E%>"
+-msgstr "Bya"
+-
+-#. This enum is a named one that has been declared already.
+-#: c-decl.c:5736
+-#, fuzzy, gcc-internal-format
+-msgid "redeclaration of %<enum %E%>"
+-msgstr "Bya"
+-
+-#: c-decl.c:5799
+-#, fuzzy, gcc-internal-format
+-msgid "enumeration values exceed range of largest integer"
+-msgstr "Uduciro Urutonde Bya Kinini Umubare wuzuye"
+-
+-#: c-decl.c:5816
+-#, gcc-internal-format
+-msgid "specified mode too small for enumeral values"
+-msgstr ""
+-
+-#: c-decl.c:5912
+-#, fuzzy, gcc-internal-format
+-msgid "enumerator value for %qE is not an integer constant"
+-msgstr "Agaciro kugirango OYA Umubare wuzuye"
+-
+-#: c-decl.c:5929
+-#, fuzzy, gcc-internal-format
+-msgid "overflow in enumeration values"
+-msgstr "Byarenze urugero in Uduciro"
+-
+-#: c-decl.c:5934
+-#, fuzzy, gcc-internal-format
+-msgid "ISO C restricts enumerator values to range of %<int%>"
+-msgstr "C Uduciro Kuri Urutonde Bya"
+-
+-#: c-decl.c:6030
+-#, fuzzy, gcc-internal-format
+-msgid "return type is an incomplete type"
+-msgstr "Garuka Ubwoko ni Ubwoko"
+-
+-#: c-decl.c:6038
+-#, fuzzy, gcc-internal-format
+-msgid "return type defaults to %<int%>"
+-msgstr "Garuka Ubwoko Kuri"
+-
+-#: c-decl.c:6111
+-#, fuzzy, gcc-internal-format
+-msgid "no previous prototype for %q+D"
+-msgstr "Oya Ibanjirije kugirango"
+-
+-#: c-decl.c:6120
+-#, fuzzy, gcc-internal-format
+-msgid "%q+D was used with no prototype before its definition"
+-msgstr "`%s'Na: Oya Mbere Insobanuro"
+-
+-#: c-decl.c:6126
+-#, fuzzy, gcc-internal-format
+-msgid "no previous declaration for %q+D"
+-msgstr "Oya Ibanjirije kugirango"
+-
+-#: c-decl.c:6136
+-#, fuzzy, gcc-internal-format
+-msgid "%q+D was used with no declaration before its definition"
+-msgstr "`%s'Na: Oya Mbere Insobanuro"
+-
+-#: c-decl.c:6158
+-#, fuzzy, gcc-internal-format
+-msgid "C99 inline functions are not supported; using GNU89"
+-msgstr "Mumurongo Imimaro OYA kugirango iyi Garuka Agaciro Ubwoko"
+-
+-#: c-decl.c:6162
+-#, gcc-internal-format
+-msgid "to disable this warning use -fgnu89-inline or the gnu_inline function attribute"
+-msgstr ""
+-
+-#: c-decl.c:6192 c-decl.c:6713
+-#, fuzzy, gcc-internal-format
+-msgid "return type of %q+D is not %<int%>"
+-msgstr "Garuka Ubwoko Bya ni OYA"
+-
+-#: c-decl.c:6207
+-#, fuzzy, gcc-internal-format
+-msgid "first argument of %q+D should be %<int%>"
+-msgstr "Itangira Bya"
+-
+-#: c-decl.c:6215
+-#, fuzzy, gcc-internal-format
+-msgid "second argument of %q+D should be %<char **%>"
+-msgstr "ISEGONDA Bya INYUGUTI"
+-
+-#: c-decl.c:6224
+-#, fuzzy, gcc-internal-format
+-msgid "third argument of %q+D should probably be %<char **%>"
+-msgstr "Bya INYUGUTI"
+-
+-#: c-decl.c:6234
+-#, fuzzy, gcc-internal-format
+-msgid "%q+D takes only zero or two arguments"
+-msgstr "`%s'Zeru Cyangwa ingingo"
+-
+-#: c-decl.c:6237
+-#, fuzzy, gcc-internal-format
+-msgid "%q+D is normally a non-static function"
+-msgstr "`%s'ni a Umumaro"
+-
+-#: c-decl.c:6283
+-#, gcc-internal-format
+-msgid "%Jold-style parameter declarations in prototyped function definition"
+-msgstr ""
+-
+-#: c-decl.c:6297
+-#, fuzzy, gcc-internal-format
+-msgid "%Jtraditional C rejects ISO C style function definitions"
+-msgstr "C C IMISUSIRE Umumaro"
+-
+-#: c-decl.c:6313
+-#, fuzzy, gcc-internal-format
+-msgid "%Jparameter name omitted"
+-msgstr "Izina:"
+-
+-#: c-decl.c:6347
+-#, fuzzy, gcc-internal-format
+-msgid "%Jold-style function definition"
+-msgstr "%s:Umumaro Insobanuro OYA"
+-
+-#: c-decl.c:6356
+-#, fuzzy, gcc-internal-format
+-msgid "%Jparameter name missing from parameter list"
+-msgstr "Izina: Ibuze Bivuye Urutonde"
+-
+-#: c-decl.c:6367
+-#, fuzzy, gcc-internal-format
+-msgid "%q+D declared as a non-parameter"
+-msgstr "`%D'Nka a"
+-
+-#: c-decl.c:6372
+-#, fuzzy, gcc-internal-format
+-msgid "multiple parameters named %q+D"
+-msgstr "Igikubo Ibigenga"
+-
+-#: c-decl.c:6380
+-#, fuzzy, gcc-internal-format
+-msgid "parameter %q+D declared with void type"
+-msgstr "Uburyo Ubwoko"
+-
+-#: c-decl.c:6397 c-decl.c:6399
+-#, fuzzy, gcc-internal-format
+-msgid "type of %q+D defaults to %<int%>"
+-msgstr "Ubwoko Bya Kuri"
+-
+-#: c-decl.c:6418
+-#, fuzzy, gcc-internal-format
+-msgid "parameter %q+D has incomplete type"
+-msgstr "Ubwoko"
+-
+-#: c-decl.c:6424
+-#, fuzzy, gcc-internal-format
+-msgid "declaration for parameter %q+D but no such parameter"
+-msgstr "kugirango Oya"
+-
+-#: c-decl.c:6474
+-#, fuzzy, gcc-internal-format
+-msgid "number of arguments doesn%'t match built-in prototype"
+-msgstr "Umubare Bya ingingo BIHUYE"
+-
+-#: c-decl.c:6478
+-#, fuzzy, gcc-internal-format
+-msgid "number of arguments doesn%'t match prototype"
+-msgstr "Umubare Bya ingingo BIHUYE"
+-
+-#: c-decl.c:6479 c-decl.c:6519 c-decl.c:6532
+-#, fuzzy, gcc-internal-format
+-msgid "%Hprototype declaration"
+-msgstr "ubusa"
+-
+-#: c-decl.c:6513
+-#, fuzzy, gcc-internal-format
+-msgid "promoted argument %qD doesn%'t match built-in prototype"
+-msgstr "BIHUYE"
+-
+-#: c-decl.c:6517
+-#, fuzzy, gcc-internal-format
+-msgid "promoted argument %qD doesn%'t match prototype"
+-msgstr "BIHUYE"
+-
+-#: c-decl.c:6527
+-#, fuzzy, gcc-internal-format
+-msgid "argument %qD doesn%'t match built-in prototype"
+-msgstr "BIHUYE"
+-
+-#: c-decl.c:6531
+-#, fuzzy, gcc-internal-format
+-msgid "argument %qD doesn%'t match prototype"
+-msgstr "BIHUYE"
+-
+-#: c-decl.c:6758 cp/decl.c:11270
+-#, fuzzy, gcc-internal-format
+-msgid "no return statement in function returning non-void"
+-msgstr "Oya Garuka Inyandiko in Umumaro"
+-
+-#: c-decl.c:6767
+-#, fuzzy, gcc-internal-format
+-msgid "this function may return with or without a value"
+-msgstr "iyi Umumaro Gicurasi Garuka Na: Cyangwa a Agaciro"
+-
+-#. If we get here, declarations have been used in a for loop without
+-#. the C99 for loop scope. This doesn't make much sense, so don't
+-#. allow it.
+-#: c-decl.c:6864
+-#, fuzzy, gcc-internal-format
+-msgid "%<for%> loop initial declaration used outside C99 mode"
+-msgstr "`Hanze Ubwoko"
+-
+-#: c-decl.c:6893
+-#, fuzzy, gcc-internal-format
+-msgid "declaration of static variable %q+D in %<for%> loop initial declaration"
+-msgstr "Bya IMPINDURAGACIRO in"
+-
+-#: c-decl.c:6896
+-#, fuzzy, gcc-internal-format
+-msgid "declaration of %<extern%> variable %q+D in %<for%> loop initial declaration"
+-msgstr "Bya IMPINDURAGACIRO in"
+-
+-#: c-decl.c:6901
+-#, fuzzy, gcc-internal-format
+-msgid "%<struct %E%> declared in %<for%> loop initial declaration"
+-msgstr "`in"
+-
+-#: c-decl.c:6905
+-#, fuzzy, gcc-internal-format
+-msgid "%<union %E%> declared in %<for%> loop initial declaration"
+-msgstr "`Ihuza in"
+-
+-#: c-decl.c:6909
+-#, fuzzy, gcc-internal-format
+-msgid "%<enum %E%> declared in %<for%> loop initial declaration"
+-msgstr "`in"
+-
+-#: c-decl.c:6913
+-#, fuzzy, gcc-internal-format
+-msgid "declaration of non-variable %q+D in %<for%> loop initial declaration"
+-msgstr "Bya IMPINDURAGACIRO in"
+-
+-#: c-decl.c:7202 c-decl.c:7398 c-decl.c:7649
+-#, fuzzy, gcc-internal-format
+-msgid "duplicate %qE"
+-msgstr "Gusubiramo"
+-
+-#: c-decl.c:7225 c-decl.c:7407 c-decl.c:7551
+-#, fuzzy, gcc-internal-format
+-msgid "two or more data types in declaration specifiers"
+-msgstr "Cyangwa Birenzeho Ibyatanzwe in Bya"
+-
+-#: c-decl.c:7237 cp/parser.c:2048
+-#, fuzzy, gcc-internal-format
+-msgid "%<long long long%> is too long for GCC"
+-msgstr "`ni kugirango"
+-
+-#: c-decl.c:7244 c-decl.c:7481
+-#, gcc-internal-format
+-msgid "both %<long long%> and %<double%> in declaration specifiers"
+-msgstr ""
+-
+-#: c-decl.c:7250
+-#, fuzzy, gcc-internal-format
+-msgid "ISO C90 does not support %<long long%>"
+-msgstr "OYA Gushigikira"
+-
+-#: c-decl.c:7255 c-decl.c:7284
+-#, fuzzy, gcc-internal-format
+-msgid "both %<long%> and %<short%> in declaration specifiers"
+-msgstr "Byombi Na kugirango"
+-
+-#: c-decl.c:7258 c-decl.c:7414
+-#, fuzzy, gcc-internal-format
+-msgid "both %<long%> and %<void%> in declaration specifiers"
+-msgstr "Byombi Na kugirango"
+-
+-#: c-decl.c:7261 c-decl.c:7433
+-#, fuzzy, gcc-internal-format
+-msgid "both %<long%> and %<_Bool%> in declaration specifiers"
+-msgstr "Byombi Na kugirango"
+-
+-#: c-decl.c:7264 c-decl.c:7452
+-#, fuzzy, gcc-internal-format
+-msgid "both %<long%> and %<char%> in declaration specifiers"
+-msgstr "Byombi Na kugirango"
+-
+-#: c-decl.c:7267 c-decl.c:7465
+-#, fuzzy, gcc-internal-format
+-msgid "both %<long%> and %<float%> in declaration specifiers"
+-msgstr "Byombi Na kugirango"
+-
+-#: c-decl.c:7270
+-#, gcc-internal-format
+-msgid "both %<long%> and %<_Decimal32%> in declaration specifiers"
+-msgstr ""
+-
+-#: c-decl.c:7273
+-#, gcc-internal-format
+-msgid "both %<long%> and %<_Decimal64%> in declaration specifiers"
+-msgstr ""
+-
+-#: c-decl.c:7276
+-#, gcc-internal-format
+-msgid "both %<long%> and %<_Decimal128%> in declaration specifiers"
+-msgstr ""
+-
+-#: c-decl.c:7287 c-decl.c:7417
+-#, gcc-internal-format
+-msgid "both %<short%> and %<void%> in declaration specifiers"
+-msgstr ""
+-
+-#: c-decl.c:7290 c-decl.c:7436
+-#, gcc-internal-format
+-msgid "both %<short%> and %<_Bool%> in declaration specifiers"
+-msgstr ""
+-
+-#: c-decl.c:7293 c-decl.c:7455
+-#, gcc-internal-format
+-msgid "both %<short%> and %<char%> in declaration specifiers"
+-msgstr ""
+-
+-#: c-decl.c:7296 c-decl.c:7468
+-#, gcc-internal-format
+-msgid "both %<short%> and %<float%> in declaration specifiers"
+-msgstr ""
+-
+-#: c-decl.c:7299 c-decl.c:7484
+-#, gcc-internal-format
+-msgid "both %<short%> and %<double%> in declaration specifiers"
+-msgstr ""
+-
+-#: c-decl.c:7302
+-#, gcc-internal-format
+-msgid "both %<short%> and %<_Decimal32%> in declaration specifiers"
+-msgstr ""
+-
+-#: c-decl.c:7305
+-#, gcc-internal-format
+-msgid "both %<short%> and %<_Decimal64%> in declaration specifiers"
+-msgstr ""
+-
+-#: c-decl.c:7308
+-#, gcc-internal-format
+-msgid "both %<short%> and %<_Decimal128%> in declaration specifiers"
+-msgstr ""
+-
+-#: c-decl.c:7316 c-decl.c:7345
+-#, fuzzy, gcc-internal-format
+-msgid "both %<signed%> and %<unsigned%> in declaration specifiers"
+-msgstr "Byombi Na Bitashizweho umukono kugirango"
+-
+-#: c-decl.c:7319 c-decl.c:7420
+-#, fuzzy, gcc-internal-format
+-msgid "both %<signed%> and %<void%> in declaration specifiers"
+-msgstr "Byombi Na Bitashizweho umukono kugirango"
+-
+-#: c-decl.c:7322 c-decl.c:7439
+-#, fuzzy, gcc-internal-format
+-msgid "both %<signed%> and %<_Bool%> in declaration specifiers"
+-msgstr "Byombi Na Bitashizweho umukono kugirango"
+-
+-#: c-decl.c:7325 c-decl.c:7471
+-#, fuzzy, gcc-internal-format
+-msgid "both %<signed%> and %<float%> in declaration specifiers"
+-msgstr "Byombi Na Bitashizweho umukono kugirango"
+-
+-#: c-decl.c:7328 c-decl.c:7487
+-#, fuzzy, gcc-internal-format
+-msgid "both %<signed%> and %<double%> in declaration specifiers"
+-msgstr "Byombi Na Bitashizweho umukono kugirango"
+-
+-#: c-decl.c:7331
+-#, gcc-internal-format
+-msgid "both %<signed%> and %<_Decimal32%> in declaration specifiers"
+-msgstr ""
+-
+-#: c-decl.c:7334
+-#, gcc-internal-format
+-msgid "both %<signed%> and %<_Decimal64%> in declaration specifiers"
+-msgstr ""
+-
+-#: c-decl.c:7337
+-#, gcc-internal-format
+-msgid "both %<signed%> and %<_Decimal128%> in declaration specifiers"
+-msgstr ""
+-
+-#: c-decl.c:7348 c-decl.c:7423
+-#, fuzzy, gcc-internal-format
+-msgid "both %<unsigned%> and %<void%> in declaration specifiers"
+-msgstr "Byombi Na Bitashizweho umukono kugirango"
+-
+-#: c-decl.c:7351 c-decl.c:7442
+-#, fuzzy, gcc-internal-format
+-msgid "both %<unsigned%> and %<_Bool%> in declaration specifiers"
+-msgstr "Byombi Na Bitashizweho umukono kugirango"
+-
+-#: c-decl.c:7354 c-decl.c:7474
+-#, fuzzy, gcc-internal-format
+-msgid "both %<unsigned%> and %<float%> in declaration specifiers"
+-msgstr "Byombi Na Bitashizweho umukono kugirango"
+-
+-#: c-decl.c:7357 c-decl.c:7490
+-#, fuzzy, gcc-internal-format
+-msgid "both %<unsigned%> and %<double%> in declaration specifiers"
+-msgstr "Byombi Na Bitashizweho umukono kugirango"
+-
+-#: c-decl.c:7360
+-#, gcc-internal-format
+-msgid "both %<unsigned%> and %<_Decimal32%> in declaration specifiers"
+-msgstr ""
+-
+-#: c-decl.c:7363
+-#, gcc-internal-format
+-msgid "both %<unsigned%> and %<_Decimal64%> in declaration specifiers"
+-msgstr ""
+-
+-#: c-decl.c:7366
+-#, gcc-internal-format
+-msgid "both %<unsigned%> and %<_Decimal128%> in declaration specifiers"
+-msgstr ""
+-
+-#: c-decl.c:7374
+-#, fuzzy, gcc-internal-format
+-msgid "ISO C90 does not support complex types"
+-msgstr "OYA Gushigikira ITSINDA RY'IMIBARE C"
+-
+-#: c-decl.c:7376 c-decl.c:7426
+-#, gcc-internal-format
+-msgid "both %<complex%> and %<void%> in declaration specifiers"
+-msgstr ""
+-
+-#: c-decl.c:7379 c-decl.c:7445
+-#, gcc-internal-format
+-msgid "both %<complex%> and %<_Bool%> in declaration specifiers"
+-msgstr ""
+-
+-#: c-decl.c:7382
+-#, gcc-internal-format
+-msgid "both %<complex%> and %<_Decimal32%> in declaration specifiers"
+-msgstr ""
+-
+-#: c-decl.c:7385
+-#, gcc-internal-format
+-msgid "both %<complex%> and %<_Decimal64%> in declaration specifiers"
+-msgstr ""
+-
+-#: c-decl.c:7388
+-#, gcc-internal-format
+-msgid "both %<complex%> and %<_Decimal128%> in declaration specifiers"
+-msgstr ""
+-
+-#: c-decl.c:7507
+-#, fuzzy, gcc-internal-format
+-msgid "both %<long long%> and %<%s%> in declaration specifiers"
+-msgstr "Byombi Na kugirango"
+-
+-#: c-decl.c:7510
+-#, fuzzy, gcc-internal-format
+-msgid "both %<long%> and %<%s%> in declaration specifiers"
+-msgstr "Byombi Na kugirango"
+-
+-#: c-decl.c:7513
+-#, gcc-internal-format
+-msgid "both %<short%> and %<%s%> in declaration specifiers"
+-msgstr ""
+-
+-#: c-decl.c:7516
+-#, fuzzy, gcc-internal-format
+-msgid "both %<signed%> and %<%s%> in declaration specifiers"
+-msgstr "Byombi Na Bitashizweho umukono kugirango"
+-
+-#: c-decl.c:7519
+-#, fuzzy, gcc-internal-format
+-msgid "both %<unsigned%> and %<%s%> in declaration specifiers"
+-msgstr "Byombi Na Bitashizweho umukono kugirango"
+-
+-#: c-decl.c:7522
+-#, gcc-internal-format
+-msgid "both %<complex%> and %<%s%> in declaration specifiers"
+-msgstr ""
+-
+-#: c-decl.c:7532
+-#, fuzzy, gcc-internal-format
+-msgid "decimal floating point not supported for this target"
+-msgstr "-Ibyatoranyijwe OYA kugirango iyi Intego"
+-
+-#: c-decl.c:7534
+-#, fuzzy, gcc-internal-format
+-msgid "ISO C does not support decimal floating point"
+-msgstr "C OYA Gushigikira"
+-
+-#: c-decl.c:7568
+-#, fuzzy, gcc-internal-format
+-msgid "%qE fails to be a typedef or built in type"
+-msgstr "`%s'Kuri a Cyangwa in Ubwoko"
+-
+-#: c-decl.c:7600
+-#, fuzzy, gcc-internal-format
+-msgid "%qE is not at beginning of declaration"
+-msgstr "`%s'ni OYA ku Itangiriro Bya"
+-
+-#: c-decl.c:7614
+-#, gcc-internal-format
+-msgid "%<__thread%> used with %<auto%>"
+-msgstr ""
+-
+-#: c-decl.c:7616
+-#, gcc-internal-format
+-msgid "%<__thread%> used with %<register%>"
+-msgstr ""
+-
+-#: c-decl.c:7618
+-#, gcc-internal-format
+-msgid "%<__thread%> used with %<typedef%>"
+-msgstr ""
+-
+-#: c-decl.c:7629
+-#, fuzzy, gcc-internal-format
+-msgid "%<__thread%> before %<extern%>"
+-msgstr "`_Mbere"
+-
+-#: c-decl.c:7638
+-#, fuzzy, gcc-internal-format
+-msgid "%<__thread%> before %<static%>"
+-msgstr "`_Mbere"
+-
+-#: c-decl.c:7654
+-#, fuzzy, gcc-internal-format
+-msgid "multiple storage classes in declaration specifiers"
+-msgstr "Igikubo Inzego in Bya"
+-
+-#: c-decl.c:7661
+-#, gcc-internal-format
+-msgid "%<__thread%> used with %qE"
+-msgstr ""
+-
+-#: c-decl.c:7715
+-#, fuzzy, gcc-internal-format
+-msgid "ISO C does not support plain %<complex%> meaning %<double complex%>"
+-msgstr "C OYA Gushigikira Byuzuye Igisobanuro MAHARAKUBIRI"
+-
+-#: c-decl.c:7760 c-decl.c:7786
+-#, fuzzy, gcc-internal-format
+-msgid "ISO C does not support complex integer types"
+-msgstr "C OYA Gushigikira ITSINDA RY'IMIBARE C Umubare wuzuye"
+-
+-#: c-decl.c:7872 toplev.c:840
+-#, fuzzy, gcc-internal-format
+-msgid "%q+F used but never defined"
+-msgstr "`%s'Nta narimwe"
+-
+-#: c-format.c:97 c-format.c:206
+-#, fuzzy, gcc-internal-format
+-msgid "format string has invalid operand number"
+-msgstr "Imiterere Ikurikiranyanyuguti Sibyo Umubare"
+-
+-#: c-format.c:114
+-#, fuzzy, gcc-internal-format
+-msgid "function does not return string type"
+-msgstr "Umumaro OYA Garuka Ikurikiranyanyuguti Ubwoko"
+-
+-#: c-format.c:143
+-#, fuzzy, gcc-internal-format
+-msgid "format string argument not a string type"
+-msgstr "Imiterere Ikurikiranyanyuguti OYA a Ikurikiranyanyuguti Ubwoko"
+-
+-#: c-format.c:186
+-#, fuzzy, gcc-internal-format
+-msgid "unrecognized format specifier"
+-msgstr "Imiterere"
+-
+-#: c-format.c:198
+-#, fuzzy, gcc-internal-format
+-msgid "%qE is an unrecognized format function type"
+-msgstr "`%s'ni Imiterere Umumaro Ubwoko"
+-
+-#: c-format.c:212
+-#, fuzzy, gcc-internal-format
+-msgid "%<...%> has invalid operand number"
+-msgstr "Imiterere Ikurikiranyanyuguti Sibyo Umubare"
+-
+-#: c-format.c:219
+-#, fuzzy, gcc-internal-format
+-msgid "format string argument follows the args to be formatted"
+-msgstr "Imiterere Ikurikiranyanyuguti i Kuri Byahanaguwe"
+-
+-#: c-format.c:904
+-#, fuzzy, gcc-internal-format
+-msgid "function might be possible candidate for %qs format attribute"
+-msgstr "Umumaro kugirango Imiterere Ikiranga"
+-
+-#: c-format.c:996 c-format.c:1017 c-format.c:2031
+-#, fuzzy, gcc-internal-format
+-msgid "missing $ operand number in format"
+-msgstr "Ibuze Umubare in Imiterere"
+-
+-#: c-format.c:1026
+-#, fuzzy, gcc-internal-format
+-msgid "%s does not support %%n$ operand number formats"
+-msgstr "%sOYA Gushigikira Umubare Imiterere"
+-
+-#: c-format.c:1033
+-#, fuzzy, gcc-internal-format
+-msgid "operand number out of range in format"
+-msgstr "Umubare Inyuma Bya Urutonde in Imiterere"
+-
+-#: c-format.c:1056
+-#, fuzzy, gcc-internal-format
+-msgid "format argument %d used more than once in %s format"
+-msgstr "Imiterere Birenzeho Rimwe in Imiterere"
+-
+-#: c-format.c:1088
+-#, fuzzy, gcc-internal-format
+-msgid "$ operand number used after format without operand number"
+-msgstr "Umubare kugirango Imiterere Oya"
+-
+-#: c-format.c:1119
+-#, fuzzy, gcc-internal-format
+-msgid "format argument %d unused before used argument %d in $-style format"
+-msgstr "Imiterere Kidakoreshwa Mbere in IMISUSIRE Imiterere"
+-
+-#: c-format.c:1214
+-#, fuzzy, gcc-internal-format
+-msgid "format not a string literal, format string not checked"
+-msgstr "Imiterere OYA a Ikurikiranyanyuguti Imiterere Ikurikiranyanyuguti OYA Ivivuwe"
+-
+-#: c-format.c:1229 c-format.c:1232
+-#, fuzzy, gcc-internal-format
+-msgid "format not a string literal and no format arguments"
+-msgstr "Imiterere OYA a Ikurikiranyanyuguti Na Oya Imiterere ingingo"
+-
+-#: c-format.c:1235
+-#, fuzzy, gcc-internal-format
+-msgid "format not a string literal, argument types not checked"
+-msgstr "Imiterere OYA a Ikurikiranyanyuguti OYA Ivivuwe"
+-
+-#: c-format.c:1248
+-#, fuzzy, gcc-internal-format
+-msgid "too many arguments for format"
+-msgstr "ingingo kugirango Imiterere"
+-
+-#: c-format.c:1251
+-#, fuzzy, gcc-internal-format
+-msgid "unused arguments in $-style format"
+-msgstr "Kidakoreshwa ingingo in IMISUSIRE Imiterere"
+-
+-#: c-format.c:1254
+-#, fuzzy, gcc-internal-format
+-msgid "zero-length %s format string"
+-msgstr "Zeru Uburebure Imiterere Ikurikiranyanyuguti"
+-
+-#: c-format.c:1258
+-#, fuzzy, gcc-internal-format
+-msgid "format is a wide character string"
+-msgstr "Imiterere ni a Inyuguti Ikurikiranyanyuguti"
+-
+-#: c-format.c:1261
+-#, fuzzy, gcc-internal-format
+-msgid "unterminated format string"
+-msgstr "Imiterere Ikurikiranyanyuguti"
+-
+-#: c-format.c:1475
+-#, fuzzy, gcc-internal-format
+-msgid "embedded %<\\0%> in format"
+-msgstr "Gitsindiye in Imiterere"
+-
+-#: c-format.c:1490
+-#, fuzzy, gcc-internal-format
+-msgid "spurious trailing %<%%%> in format"
+-msgstr "in Imiterere"
+-
+-#: c-format.c:1534 c-format.c:1779
+-#, fuzzy, gcc-internal-format
+-msgid "repeated %s in format"
+-msgstr "byasubiyemo in Imiterere"
+-
+-#: c-format.c:1547
+-#, fuzzy, gcc-internal-format
+-msgid "missing fill character at end of strfmon format"
+-msgstr "Ibuze Kuzuza Inyuguti ku Impera Bya Imiterere"
+-
+-#: c-format.c:1591 c-format.c:1693 c-format.c:1978 c-format.c:2043
+-#, fuzzy, gcc-internal-format
+-msgid "too few arguments for format"
+-msgstr "ingingo kugirango Imiterere"
+-
+-#: c-format.c:1632
+-#, fuzzy, gcc-internal-format
+-msgid "zero width in %s format"
+-msgstr "Zeru Ubugari in Imiterere"
+-
+-#: c-format.c:1650
+-#, fuzzy, gcc-internal-format
+-msgid "empty left precision in %s format"
+-msgstr "ubusa Ibumoso: in Imiterere"
+-
+-#: c-format.c:1723
+-#, fuzzy, gcc-internal-format
+-msgid "empty precision in %s format"
+-msgstr "ubusa in Imiterere"
+-
+-#: c-format.c:1763
+-#, fuzzy, gcc-internal-format
+-msgid "%s does not support the %qs %s length modifier"
+-msgstr "%sOYA Gushigikira i Uburebure"
+-
+-#: c-format.c:1813
+-#, fuzzy, gcc-internal-format
+-msgid "conversion lacks type at end of format"
+-msgstr "Ihindurangero Ubwoko ku Impera Bya Imiterere"
+-
+-#: c-format.c:1824
+-#, fuzzy, gcc-internal-format
+-msgid "unknown conversion type character %qc in format"
+-msgstr "Kitazwi Ihindurangero Ubwoko Inyuguti in Imiterere"
+-
+-#: c-format.c:1827
+-#, fuzzy, gcc-internal-format
+-msgid "unknown conversion type character 0x%x in format"
+-msgstr "Kitazwi Ihindurangero Ubwoko Inyuguti in Imiterere"
+-
+-#: c-format.c:1834
+-#, fuzzy, gcc-internal-format
+-msgid "%s does not support the %<%%%c%> %s format"
+-msgstr "%sOYA Gushigikira i Imiterere"
+-
+-#: c-format.c:1850
+-#, fuzzy, gcc-internal-format
+-msgid "%s used with %<%%%c%> %s format"
+-msgstr "%sNa: Imiterere"
+-
+-#: c-format.c:1859
+-#, fuzzy, gcc-internal-format
+-msgid "%s does not support %s"
+-msgstr "%sOYA Gushigikira"
+-
+-#: c-format.c:1869
+-#, fuzzy, gcc-internal-format
+-msgid "%s does not support %s with the %<%%%c%> %s format"
+-msgstr "%sOYA Gushigikira Na: i Imiterere"
+-
+-#: c-format.c:1903
+-#, fuzzy, gcc-internal-format
+-msgid "%s ignored with %s and %<%%%c%> %s format"
+-msgstr "%sNa: Na Imiterere"
+-
+-#: c-format.c:1907
+-#, fuzzy, gcc-internal-format
+-msgid "%s ignored with %s in %s format"
+-msgstr "%sNa: in Imiterere"
+-
+-#: c-format.c:1914
+-#, fuzzy, gcc-internal-format
+-msgid "use of %s and %s together with %<%%%c%> %s format"
+-msgstr "Gukoresha Bya Na Na: Imiterere"
+-
+-#: c-format.c:1918
+-#, fuzzy, gcc-internal-format
+-msgid "use of %s and %s together in %s format"
+-msgstr "Gukoresha Bya Na in Imiterere"
+-
+-#: c-format.c:1937
+-#, fuzzy, gcc-internal-format
+-msgid "%<%%%c%> yields only last 2 digits of year in some locales"
+-msgstr "`%%%c'Iheruka 2. Bya Umwaka in"
+-
+-#: c-format.c:1940
+-#, fuzzy, gcc-internal-format
+-msgid "%<%%%c%> yields only last 2 digits of year"
+-msgstr "`%%%c'Iheruka 2. Bya Umwaka"
+-
+-#. The end of the format string was reached.
+-#: c-format.c:1957
+-#, fuzzy, gcc-internal-format
+-msgid "no closing %<]%> for %<%%[%> format"
+-msgstr "Oya kugirango Imiterere"
+-
+-#: c-format.c:1971
+-#, fuzzy, gcc-internal-format
+-msgid "use of %qs length modifier with %qc type character"
+-msgstr "Gukoresha Bya Uburebure Na: Ubwoko Inyuguti"
+-
+-#: c-format.c:1993
+-#, fuzzy, gcc-internal-format
+-msgid "%s does not support the %<%%%s%c%> %s format"
+-msgstr "%sOYA Gushigikira i Imiterere"
+-
+-#: c-format.c:2010
+-#, fuzzy, gcc-internal-format
+-msgid "operand number specified with suppressed assignment"
+-msgstr "Umubare Na: Igenera"
+-
+-#: c-format.c:2013
+-#, fuzzy, gcc-internal-format
+-msgid "operand number specified for format taking no argument"
+-msgstr "Umubare kugirango Imiterere Oya"
+-
+-#: c-format.c:2156
+-#, fuzzy, gcc-internal-format
+-msgid "writing through null pointer (argument %d)"
+-msgstr "Gihinguranya NTAGIHARI Mweretsi"
+-
+-#: c-format.c:2164
+-#, fuzzy, gcc-internal-format
+-msgid "reading through null pointer (argument %d)"
+-msgstr "Gihinguranya NTAGIHARI Mweretsi"
+-
+-#: c-format.c:2184
+-#, fuzzy, gcc-internal-format
+-msgid "writing into constant object (argument %d)"
+-msgstr "Igikoresho"
+-
+-#: c-format.c:2195
+-#, fuzzy, gcc-internal-format
+-msgid "extra type qualifiers in format argument (argument %d)"
+-msgstr "Birenga Ubwoko in Imiterere"
+-
+-#: c-format.c:2306
+-#, gcc-internal-format
+-msgid "%s should have type %<%s%s%>, but argument %d has type %qT"
+-msgstr ""
+-
+-#: c-format.c:2310
+-#, gcc-internal-format
+-msgid "format %q.*s expects type %<%s%s%>, but argument %d has type %qT"
+-msgstr ""
+-
+-#: c-format.c:2318
+-#, gcc-internal-format
+-msgid "%s should have type %<%T%s%>, but argument %d has type %qT"
+-msgstr ""
+-
+-#: c-format.c:2322
+-#, gcc-internal-format
+-msgid "format %q.*s expects type %<%T%s%>, but argument %d has type %qT"
+-msgstr ""
+-
+-#: c-format.c:2381 c-format.c:2387 c-format.c:2537
+-#, gcc-internal-format
+-msgid "%<__gcc_host_wide_int__%> is not defined as a type"
+-msgstr ""
+-
+-#: c-format.c:2394 c-format.c:2547
+-#, gcc-internal-format
+-msgid "%<__gcc_host_wide_int__%> is not defined as %<long%> or %<long long%>"
+-msgstr ""
+-
+-#: c-format.c:2443
+-#, fuzzy, gcc-internal-format
+-msgid "%<locus%> is not defined as a type"
+-msgstr "'%D'ni Nka a Ubwoko ni OYA Nka a Ubwoko"
+-
+-#: c-format.c:2496
+-#, fuzzy, gcc-internal-format
+-msgid "%<location_t%> is not defined as a type"
+-msgstr "'%D'ni Nka a Ubwoko ni OYA Nka a Ubwoko"
+-
+-#: c-format.c:2513
+-#, fuzzy, gcc-internal-format
+-msgid "%<tree%> is not defined as a type"
+-msgstr "'%D'ni Nka a Ubwoko ni OYA Nka a Ubwoko"
+-
+-#: c-format.c:2518
+-#, fuzzy, gcc-internal-format
+-msgid "%<tree%> is not defined as a pointer type"
+-msgstr "GUHINDURA Kuri a Mweretsi Ubwoko"
+-
+-#: c-format.c:2729
+-#, fuzzy, gcc-internal-format
+-msgid "args to be formatted is not %<...%>"
+-msgstr "Kuri Byahanaguwe ni OYA"
+-
+-#: c-format.c:2738
+-#, fuzzy, gcc-internal-format
+-msgid "strftime formats cannot format arguments"
+-msgstr "Imiterere Imiterere ingingo"
+-
+-#: c-lex.c:254
+-#, fuzzy, gcc-internal-format
+-msgid "badly nested C headers from preprocessor"
+-msgstr "C Imitwe Bivuye"
+-
+-#: c-lex.c:302
+-#, fuzzy, gcc-internal-format
+-msgid "%Hignoring #pragma %s %s"
+-msgstr "Sibyo"
+-
+-#. ... or not.
+-#: c-lex.c:418
+-#, fuzzy, gcc-internal-format
+-msgid "%Hstray %<@%> in program"
+-msgstr "in Porogaramu"
+-
+-#: c-lex.c:432
+-#, fuzzy, gcc-internal-format
+-msgid "stray %qs in program"
+-msgstr "in Porogaramu"
+-
+-#: c-lex.c:442
+-#, fuzzy, gcc-internal-format
+-msgid "missing terminating %c character"
+-msgstr "Ibuze Inyuguti"
+-
+-#: c-lex.c:444
+-#, fuzzy, gcc-internal-format
+-msgid "stray %qc in program"
+-msgstr "in Porogaramu"
+-
+-#: c-lex.c:446
+-#, fuzzy, gcc-internal-format
+-msgid "stray %<\\%o%> in program"
+-msgstr "in Porogaramu"
+-
+-#: c-lex.c:600
+-#, fuzzy, gcc-internal-format
+-msgid "this decimal constant is unsigned only in ISO C90"
+-msgstr "iyi NYACUMI ni Bitashizweho umukono in"
+-
+-#: c-lex.c:604
+-#, fuzzy, gcc-internal-format
+-msgid "this decimal constant would be unsigned in ISO C90"
+-msgstr "iyi NYACUMI Bitashizweho umukono in"
+-
+-#: c-lex.c:620
+-#, fuzzy, gcc-internal-format
+-msgid "integer constant is too large for %qs type"
+-msgstr "Umubare wuzuye ni Binini kugirango Ubwoko"
+-
+-#: c-lex.c:688
+-#, fuzzy, gcc-internal-format
+-msgid "floating constant exceeds range of %qT"
+-msgstr "Bihindagurika Urutonde Bya"
+-
+-#: c-lex.c:771
+-#, fuzzy, gcc-internal-format
+-msgid "traditional C rejects string constant concatenation"
+-msgstr "C Ikurikiranyanyuguti"
+-
+-#: c-objc-common.c:81
+-#, gcc-internal-format
+-msgid "function %q+F can never be inlined because it is suppressed using -fno-inline"
+-msgstr ""
+-
+-#: c-objc-common.c:91
+-#, gcc-internal-format
+-msgid "function %q+F can never be inlined because it might not be bound within this unit of translation"
+-msgstr ""
+-
+-#: c-objc-common.c:99
+-#, gcc-internal-format
+-msgid "function %q+F can never be inlined because it uses attributes conflicting with inlining"
+-msgstr ""
+-
+-#: c-omp.c:107
+-#, fuzzy, gcc-internal-format
+-msgid "invalid expression type for %<#pragma omp atomic%>"
+-msgstr "Sibyo imvugo Nka"
+-
+-#: c-omp.c:219
+-#, fuzzy, gcc-internal-format
+-msgid "%Hinvalid type for iteration variable %qE"
+-msgstr "Sibyo Ubwoko kugirango Ikiranga"
+-
+-#: c-omp.c:223
+-#, fuzzy, gcc-internal-format
+-msgid "%Hiteration variable %qE is unsigned"
+-msgstr "Ryari: a IMPINDURAGACIRO ni Kidakoreshwa"
+-
+-#: c-omp.c:234
+-#, fuzzy, gcc-internal-format
+-msgid "%H%qE is not initialized"
+-msgstr "Ibuze"
+-
+-#: c-omp.c:247 cp/semantics.c:3812
+-#, fuzzy, gcc-internal-format
+-msgid "%Hmissing controlling predicate"
+-msgstr "Ibuze Nyuma"
+-
+-#: c-omp.c:305
+-#, fuzzy, gcc-internal-format
+-msgid "%Hinvalid controlling predicate"
+-msgstr "Igenzura imvugo"
+-
+-#: c-omp.c:312 cp/semantics.c:3818
+-#, fuzzy, gcc-internal-format
+-msgid "%Hmissing increment expression"
+-msgstr "Ibuze in imvugo"
+-
+-#: c-omp.c:362
+-#, fuzzy, gcc-internal-format
+-msgid "%Hinvalid increment expression"
+-msgstr "Igenzura imvugo"
+-
+-#: c-opts.c:151
+-#, fuzzy, gcc-internal-format
+-msgid "no class name specified with %qs"
+-msgstr "Oya ishuri Izina: Na:"
+-
+-#: c-opts.c:155
+-#, fuzzy, gcc-internal-format
+-msgid "assertion missing after %qs"
+-msgstr "Ibuze Nyuma"
+-
+-#: c-opts.c:160
+-#, fuzzy, gcc-internal-format
+-msgid "macro name missing after %qs"
+-msgstr "Makoro Izina: Ibuze Nyuma"
+-
+-#: c-opts.c:169
+-#, fuzzy, gcc-internal-format
+-msgid "missing path after %qs"
+-msgstr "Ibuze Intego Nyuma"
+-
+-#: c-opts.c:178
+-#, fuzzy, gcc-internal-format
+-msgid "missing filename after %qs"
+-msgstr "Ibuze Izina ry'idosiye: Nyuma"
+-
+-#: c-opts.c:183
+-#, fuzzy, gcc-internal-format
+-msgid "missing makefile target after %qs"
+-msgstr "Ibuze Intego Nyuma"
+-
+-#: c-opts.c:327
+-#, gcc-internal-format
+-msgid "-I- specified twice"
+-msgstr ""
+-
+-#: c-opts.c:330
+-#, gcc-internal-format
+-msgid "obsolete option -I- used, please use -iquote instead"
+-msgstr ""
+-
+-#: c-opts.c:497
+-#, fuzzy, gcc-internal-format
+-msgid "argument %qs to %<-Wnormalized%> not recognized"
+-msgstr "Ururimi OYA"
+-
+-#: c-opts.c:584
+-#, fuzzy, gcc-internal-format
+-msgid "switch %qs is no longer supported"
+-msgstr "Hindura ni Oya"
+-
+-#: c-opts.c:690
+-#, fuzzy, gcc-internal-format
+-msgid "-fhandle-exceptions has been renamed -fexceptions (and is now on by default)"
+-msgstr "-Amarengayobora Kuri Na ni NONEAHA ku ku Mburabuzi"
+-
+-#: c-opts.c:880
+-#, fuzzy, gcc-internal-format
+-msgid "output filename specified twice"
+-msgstr "Ibisohoka Izina ry'idosiye:"
+-
+-#: c-opts.c:1013
+-#, fuzzy, gcc-internal-format
+-msgid "-fno-gnu89-inline is not supported"
+-msgstr "-ni OYA"
+-
+-#: c-opts.c:1051
+-#, gcc-internal-format
+-msgid "-Wformat-y2k ignored without -Wformat"
+-msgstr ""
+-
+-#: c-opts.c:1053
+-#, fuzzy, gcc-internal-format
+-msgid "-Wformat-extra-args ignored without -Wformat"
+-msgstr "-Birenga"
+-
+-#: c-opts.c:1055
+-#, fuzzy, gcc-internal-format
+-msgid "-Wformat-zero-length ignored without -Wformat"
+-msgstr "-Zeru Uburebure"
+-
+-#: c-opts.c:1057
+-#, gcc-internal-format
+-msgid "-Wformat-nonliteral ignored without -Wformat"
+-msgstr ""
+-
+-#: c-opts.c:1059
+-#, fuzzy, gcc-internal-format
+-msgid "-Wformat-security ignored without -Wformat"
+-msgstr "-Umutekano"
+-
+-#: c-opts.c:1079
+-#, fuzzy, gcc-internal-format
+-msgid "opening output file %s: %m"
+-msgstr "Gufungura %s%S Ibisohoka IDOSIYE"
+-
+-#: c-opts.c:1084
+-#, fuzzy, gcc-internal-format
+-msgid "too many filenames given. Type %s --help for usage"
+-msgstr "Ifashayobora kugirango Ikoresha:"
+-
+-#: c-opts.c:1170
+-#, gcc-internal-format
+-msgid "YYDEBUG was not defined at build time, -dy ignored"
+-msgstr ""
+-
+-#: c-opts.c:1216
+-#, fuzzy, gcc-internal-format
+-msgid "opening dependency file %s: %m"
+-msgstr "Gufungura %s%S IDOSIYE"
+-
+-#: c-opts.c:1226
+-#, fuzzy, gcc-internal-format
+-msgid "closing dependency file %s: %m"
+-msgstr "IDOSIYE"
+-
+-#: c-opts.c:1229
+-#, fuzzy, gcc-internal-format
+-msgid "when writing output to %s: %m"
+-msgstr "Ryari: Ibisohoka Kuri"
+-
+-#: c-opts.c:1309
+-#, fuzzy, gcc-internal-format
+-msgid "to generate dependencies you must specify either -M or -MM"
+-msgstr "Kuri Cyangwa"
+-
+-#: c-opts.c:1480
+-#, gcc-internal-format
+-msgid "too late for # directive to set debug directory"
+-msgstr ""
+-
+-#: c-parser.c:1087
+-#, fuzzy, gcc-internal-format
+-msgid "ISO C forbids an empty source file"
+-msgstr "C ubusa Inkomoko IDOSIYE"
+-
+-#: c-parser.c:1172 c-parser.c:6018
+-#, fuzzy, gcc-internal-format
+-msgid "ISO C does not allow extra %<;%> outside of a function"
+-msgstr "C OYA Kwemerera Birenga Hanze Bya a Umumaro"
+-
+-#: c-parser.c:1273 c-parser.c:6564
+-#, fuzzy, gcc-internal-format
+-msgid "expected declaration specifiers"
+-msgstr "byasubiyemo Bya Igice:"
+-
+-#: c-parser.c:1321
+-#, fuzzy, gcc-internal-format
+-msgid "data definition has no type or storage class"
+-msgstr "Ibyatanzwe Insobanuro Oya Ubwoko Cyangwa ishuri"
+-
+-#: c-parser.c:1375
+-#, gcc-internal-format
+-msgid "expected %<,%> or %<;%>"
+-msgstr ""
+-
+-#. This can appear in many cases looking nothing like a
+-#. function definition, so we don't give a more specific
+-#. error suggesting there was one.
+-#: c-parser.c:1382 c-parser.c:1399
+-#, gcc-internal-format
+-msgid "expected %<=%>, %<,%>, %<;%>, %<asm%> or %<__attribute__%>"
+-msgstr ""
+-
+-#: c-parser.c:1391
+-#, fuzzy, gcc-internal-format
+-msgid "ISO C forbids nested functions"
+-msgstr "C Imimaro"
+-
+-#: c-parser.c:1739 c-parser.c:2529 c-parser.c:3151 c-parser.c:3401
+-#: c-parser.c:4249 c-parser.c:4834 c-parser.c:5230 c-parser.c:5250
+-#: c-parser.c:5365 c-parser.c:5511 c-parser.c:5528 c-parser.c:5660
+-#: c-parser.c:5672 c-parser.c:5697 c-parser.c:5831 c-parser.c:5860
+-#: c-parser.c:5868 c-parser.c:5896 c-parser.c:5910 c-parser.c:6126
+-#: c-parser.c:6225 c-parser.c:6727 c-parser.c:7346
+-#, fuzzy, gcc-internal-format
+-msgid "expected identifier"
+-msgstr "Ikiranga"
+-
+-#: c-parser.c:1765 cp/parser.c:10509
+-#, fuzzy, gcc-internal-format
+-msgid "comma at end of enumerator list"
+-msgstr "Akitso ku Impera Bya Urutonde"
+-
+-#: c-parser.c:1771
+-#, gcc-internal-format
+-msgid "expected %<,%> or %<}%>"
+-msgstr ""
+-
+-# starmath/source\smres.src:RID_ERR_LGROUPEXPECTED.text
+-#: c-parser.c:1785 c-parser.c:1961 c-parser.c:5985
+-#, fuzzy, gcc-internal-format
+-msgid "expected %<{%>"
+-msgstr "';'ntigatunguranye"
+-
+-#: c-parser.c:1794
+-#, fuzzy, gcc-internal-format
+-msgid "ISO C forbids forward references to %<enum%> types"
+-msgstr "C Imbere Indango Kuri"
+-
+-#: c-parser.c:1897
+-#, fuzzy, gcc-internal-format
+-msgid "expected class name"
+-msgstr "Inyandikorugero ishuri a Izina:"
+-
+-#: c-parser.c:1916 c-parser.c:5764
+-#, fuzzy, gcc-internal-format
+-msgid "extra semicolon in struct or union specified"
+-msgstr "Birenga Akabago n'Akitso in Cyangwa Ihuza"
+-
+-#: c-parser.c:1944
+-#, fuzzy, gcc-internal-format
+-msgid "no semicolon at end of struct or union"
+-msgstr "Oya Akabago n'Akitso ku Impera Bya Cyangwa Ihuza"
+-
+-# starmath/source\smres.src:RID_ERR_LGROUPEXPECTED.text
+-#: c-parser.c:1947
+-#, fuzzy, gcc-internal-format
+-msgid "expected %<;%>"
+-msgstr "';'ntigatunguranye"
+-
+-#: c-parser.c:2024 c-parser.c:2985
+-#, gcc-internal-format
+-msgid "expected specifier-qualifier-list"
+-msgstr ""
+-
+-#: c-parser.c:2034
+-#, fuzzy, gcc-internal-format
+-msgid "ISO C forbids member declarations with no members"
+-msgstr "C Na: Oya"
+-
+-#: c-parser.c:2103
+-#, gcc-internal-format
+-msgid "expected %<,%>, %<;%> or %<}%>"
+-msgstr ""
+-
+-#: c-parser.c:2110
+-#, gcc-internal-format
+-msgid "expected %<:%>, %<,%>, %<;%>, %<}%> or %<__attribute__%>"
+-msgstr ""
+-
+-#: c-parser.c:2160
+-#, fuzzy, gcc-internal-format
+-msgid "%<typeof%> applied to a bit-field"
+-msgstr "Byashyizweho Kuri a Umwanya"
+-
+-#: c-parser.c:2397
+-#, gcc-internal-format
+-msgid "expected identifier or %<(%>"
+-msgstr ""
+-
+-#: c-parser.c:2598
+-#, fuzzy, gcc-internal-format
+-msgid "ISO C requires a named argument before %<...%>"
+-msgstr "C a Mbere"
+-
+-#: c-parser.c:2704
+-#, fuzzy, gcc-internal-format
+-msgid "expected declaration specifiers or %<...%>"
+-msgstr "Hejuru: urwego Bya"
+-
+-#: c-parser.c:2754
+-#, fuzzy, gcc-internal-format
+-msgid "wide string literal in %<asm%>"
+-msgstr "Sibyo Ikurikiranyanyuguti"
+-
+-#: c-parser.c:2760 c-parser.c:6619 cp/parser.c:19250
+-#, fuzzy, gcc-internal-format
+-msgid "expected string literal"
+-msgstr "a Ikurikiranyanyuguti"
+-
+-#: c-parser.c:3077
+-#, fuzzy, gcc-internal-format
+-msgid "ISO C forbids empty initializer braces"
+-msgstr "C ubusa Ingirwadusodeko"
+-
+-#: c-parser.c:3122
+-#, fuzzy, gcc-internal-format
+-msgid "obsolete use of designated initializer with %<:%>"
+-msgstr "Gukoresha Bya Na:"
+-
+-#: c-parser.c:3245
+-#, fuzzy, gcc-internal-format
+-msgid "ISO C forbids specifying range of elements to initialize"
+-msgstr "C Urutonde Bya Ibintu Kuri gutangiza"
+-
+-#: c-parser.c:3258
+-#, fuzzy, gcc-internal-format
+-msgid "ISO C90 forbids specifying subobject to initialize"
+-msgstr "Kuri gutangiza"
+-
+-#: c-parser.c:3266
+-#, fuzzy, gcc-internal-format
+-msgid "obsolete use of designated initializer without %<=%>"
+-msgstr "Gukoresha Bya"
+-
+-# starmath/source\smres.src:RID_ERR_LGROUPEXPECTED.text
+-#: c-parser.c:3274
+-#, fuzzy, gcc-internal-format
+-msgid "expected %<=%>"
+-msgstr "';'ntigatunguranye"
+-
+-#: c-parser.c:3420
+-#, fuzzy, gcc-internal-format
+-msgid "ISO C forbids label declarations"
+-msgstr "C Akarango"
+-
+-#: c-parser.c:3425 c-parser.c:3496
+-#, fuzzy, gcc-internal-format
+-msgid "expected declaration or statement"
+-msgstr "byasubiyemo Bya"
+-
+-#: c-parser.c:3449 c-parser.c:3477
+-#, fuzzy, gcc-internal-format
+-msgid "%HISO C90 forbids mixed declarations and code"
+-msgstr "Bivanze Na ITEGEKONGENGA"
+-
+-#: c-parser.c:3510
+-#, fuzzy, gcc-internal-format
+-msgid "label at end of compound statement"
+-msgstr "Bitemewe. Gukoresha Bya Akarango ku Impera Bya Inyandiko"
+-
+-#: c-parser.c:3553
+-#, gcc-internal-format
+-msgid "expected %<:%> or %<...%>"
+-msgstr ""
+-
+-#: c-parser.c:3735
+-#, gcc-internal-format
+-msgid "expected identifier or %<*%>"
+-msgstr ""
+-
+-#. Avoid infinite loop in error recovery:
+-#. 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-parser.c:3797
+-#, fuzzy, gcc-internal-format
+-msgid "expected statement"
+-msgstr "imvugo Inyandiko"
+-
+-#: c-parser.c:4134
+-#, fuzzy, gcc-internal-format
+-msgid "%E qualifier ignored on asm"
+-msgstr "%sku"
+-
+-#: c-parser.c:4414
+-#, fuzzy, gcc-internal-format
+-msgid "ISO C forbids omitting the middle term of a ?: expression"
+-msgstr "C i Hagati Ijambo Bya a imvugo"
+-
+-#: c-parser.c:4804
+-#, fuzzy, gcc-internal-format
+-msgid "traditional C rejects the unary plus operator"
+-msgstr "C i Guteranya Mukoresha"
+-
+-#: c-parser.c:4923
+-#, fuzzy, gcc-internal-format
+-msgid "%<sizeof%> applied to a bit-field"
+-msgstr "Byashyizweho Kuri a Umwanya"
+-
+-#: c-parser.c:5066 c-parser.c:5407 c-parser.c:5429
+-#, fuzzy, gcc-internal-format
+-msgid "expected expression"
+-msgstr "Aderesi imvugo"
+-
+-#: c-parser.c:5092
+-#, fuzzy, gcc-internal-format
+-msgid "braced-group within expression allowed only inside a function"
+-msgstr "Itsinda muri imvugo Mo Imbere a Umumaro"
+-
+-#: c-parser.c:5106
+-#, fuzzy, gcc-internal-format
+-msgid "ISO C forbids braced-groups within expressions"
+-msgstr "C Amatsinda muri"
+-
+-#: c-parser.c:5289
+-#, fuzzy, gcc-internal-format
+-msgid "first argument to %<__builtin_choose_expr%> not a constant"
+-msgstr "Itangira Kuri OYA a"
+-
+-#: c-parser.c:5456
+-#, gcc-internal-format
+-msgid "compound literal has variable size"
+-msgstr ""
+-
+-#: c-parser.c:5464
+-#, fuzzy, gcc-internal-format
+-msgid "ISO C90 forbids compound literals"
+-msgstr "C"
+-
+-#: c-parser.c:5981
+-#, fuzzy, gcc-internal-format
+-msgid "extra semicolon in method definition specified"
+-msgstr "Birenga Akabago n'Akitso in Cyangwa Ihuza"
+-
+-#: c-parser.c:6525 cp/parser.c:19293
+-#, gcc-internal-format
+-msgid "%<#pragma omp barrier%> may only be used in compound statements"
+-msgstr ""
+-
+-#: c-parser.c:6536 cp/parser.c:19308
+-#, fuzzy, gcc-internal-format
+-msgid "%<#pragma omp flush%> may only be used in compound statements"
+-msgstr "Bitemewe. Gukoresha Bya Akarango ku Impera Bya Inyandiko"
+-
+-#: c-parser.c:6548 cp/parser.c:19334
+-#, gcc-internal-format
+-msgid "%<#pragma omp section%> may only be used in %<#pragma omp sections%> construct"
+-msgstr ""
+-
+-#: c-parser.c:6554 cp/parser.c:19283
+-#, gcc-internal-format
+-msgid "%<#pragma GCC pch_preprocess%> must be first"
+-msgstr ""
+-
+-#: c-parser.c:6705 cp/parser.c:18131
+-#, fuzzy, gcc-internal-format
+-msgid "too many %qs clauses"
+-msgstr "Iyinjiza Idosiye"
+-
+-#: c-parser.c:6830
+-#, gcc-internal-format
+-msgid "expected %<none%> or %<shared%>"
+-msgstr ""
+-
+-# starmath/source\smres.src:RID_ERR_LGROUPEXPECTED.text
+-#: c-parser.c:6873
+-#, fuzzy, gcc-internal-format
+-msgid "expected %<(%>"
+-msgstr "';'ntigatunguranye"
+-
+-#: c-parser.c:6916 c-parser.c:7091
+-#, fuzzy, gcc-internal-format
+-msgid "expected integer expression"
+-msgstr "Aderesi imvugo"
+-
+-#: c-parser.c:6925
+-#, gcc-internal-format
+-msgid "%<num_threads%> value must be positive"
+-msgstr ""
+-
+-#: c-parser.c:7005
+-#, gcc-internal-format
+-msgid "expected %<+%>, %<*%>, %<-%>, %<&%>, %<^%>, %<|%>, %<&&%>, or %<||%>"
+-msgstr ""
+-
+-#: c-parser.c:7086 cp/parser.c:18480
+-#, gcc-internal-format
+-msgid "schedule %<runtime%> does not take a %<chunk_size%> parameter"
+-msgstr ""
+-
+-#: c-parser.c:7104
+-#, fuzzy, gcc-internal-format
+-msgid "invalid schedule kind"
+-msgstr "Sibyo ITEGEKONGENGA"
+-
+-#: c-parser.c:7189
+-#, gcc-internal-format
+-msgid "expected %<#pragma omp%> clause"
+-msgstr ""
+-
+-#: c-parser.c:7198 cp/parser.c:18589
+-#, fuzzy, gcc-internal-format
+-msgid "%qs is not valid for %qs"
+-msgstr "\"%s\"ni OYA a Byemewe Izina ry'idosiye:"
+-
+-#: c-parser.c:7298
+-#, fuzzy, gcc-internal-format
+-msgid "invalid operator for %<#pragma omp atomic%>"
+-msgstr "Sibyo kugirango"
+-
+-#: c-parser.c:7349 c-parser.c:7369
+-#, gcc-internal-format
+-msgid "expected %<(%> or end of line"
+-msgstr ""
+-
+-#: c-parser.c:7387
+-#, fuzzy, gcc-internal-format
+-msgid "for statement expected"
+-msgstr "')'Cyangwa Ijambo Ikitezwe:"
+-
+-#: c-parser.c:7460 cp/semantics.c:3798 cp/semantics.c:3842
+-#, fuzzy, gcc-internal-format
+-msgid "expected iteration declaration or initialization"
+-msgstr "byasubiyemo Bya"
+-
+-#: c-parser.c:7586
+-#, gcc-internal-format
+-msgid "expected %<#pragma omp section%> or %<}%>"
+-msgstr ""
+-
+-#: c-parser.c:7811 cp/parser.c:19171 fortran/openmp.c:470
+-#, fuzzy, gcc-internal-format
+-msgid "threadprivate variables not supported in this target"
+-msgstr "Urudodo OYA kugirango iyi Intego"
+-
+-#: c-parser.c:7821 cp/semantics.c:3692
+-#, gcc-internal-format
+-msgid "%qE declared %<threadprivate%> after first use"
+-msgstr ""
+-
+-#: c-parser.c:7823 cp/semantics.c:3694
+-#, gcc-internal-format
+-msgid "automatic variable %qE cannot be %<threadprivate%>"
+-msgstr ""
+-
+-#: c-parser.c:7825 cp/semantics.c:3696
+-#, fuzzy, gcc-internal-format
+-msgid "%<threadprivate%> %qE has incomplete type"
+-msgstr "Ubwoko"
+-
+-#: c-pch.c:132
+-#, fuzzy, gcc-internal-format
+-msgid "can%'t create precompiled header %s: %m"
+-msgstr "Kurema bushyinguro"
+-
+-#: c-pch.c:153
+-#, fuzzy, gcc-internal-format
+-msgid "can%'t write to %s: %m"
+-msgstr "Kwandika Kuri Ibisohoka IDOSIYE"
+-
+-#: c-pch.c:159
+-#, fuzzy, gcc-internal-format
+-msgid "%qs is not a valid output file"
+-msgstr "\"%s\"ni OYA a Byemewe Izina ry'idosiye:"
+-
+-#: c-pch.c:188 c-pch.c:203 c-pch.c:217
+-#, fuzzy, gcc-internal-format
+-msgid "can%'t write %s: %m"
+-msgstr "Kurema"
+-
+-#: c-pch.c:193 c-pch.c:210
+-#, fuzzy, gcc-internal-format
+-msgid "can%'t seek in %s: %m"
+-msgstr "Gufungura"
+-
+-#: c-pch.c:201 c-pch.c:243 c-pch.c:283 c-pch.c:334
+-#, fuzzy, gcc-internal-format
+-msgid "can%'t read %s: %m"
+-msgstr "Kwagura"
+-
+-#: c-pch.c:450
+-#, gcc-internal-format
+-msgid "pch_preprocess pragma should only be used with -fpreprocessed"
+-msgstr ""
+-
+-#: c-pch.c:451
+-#, fuzzy, gcc-internal-format
+-msgid "use #include instead"
+-msgstr "#Gushyiramo"
+-
+-#: c-pch.c:457
+-#, fuzzy, gcc-internal-format
+-msgid "%s: couldn%'t open PCH file: %m"
+-msgstr "OYA Gufungura IDOSIYE"
+-
+-#: c-pch.c:462
+-#, gcc-internal-format
+-msgid "use -Winvalid-pch for more information"
+-msgstr ""
+-
+-#: c-pch.c:463
+-#, gcc-internal-format
+-msgid "%s: PCH file was invalid"
+-msgstr ""
+-
+-#: c-pragma.c:103
+-#, fuzzy, gcc-internal-format
+-msgid "#pragma pack (pop) encountered without matching #pragma pack (push)"
+-msgstr "#Ipaki Ipaki N"
+-
+-#: c-pragma.c:116
+-#, fuzzy, gcc-internal-format
+-msgid "#pragma pack(pop, %s) encountered without matching #pragma pack(push, %s)"
+-msgstr "#Ipaki Ipaki N"
+-
+-#: c-pragma.c:130
+-#, fuzzy, gcc-internal-format
+-msgid "#pragma pack(push[, id], <n>) is not supported on this target"
+-msgstr "#Ipaki ID N ni OYA ku iyi Intego"
+-
+-#: c-pragma.c:132
+-#, fuzzy, gcc-internal-format
+-msgid "#pragma pack(pop[, id], <n>) is not supported on this target"
+-msgstr "#Ipaki ID N ni OYA ku iyi Intego"
+-
+-#: c-pragma.c:153
+-#, fuzzy, gcc-internal-format
+-msgid "missing %<(%> after %<#pragma pack%> - ignored"
+-msgstr "Ibuze Nyuma"
+-
+-#: c-pragma.c:164 c-pragma.c:196
+-#, fuzzy, gcc-internal-format
+-msgid "invalid constant in %<#pragma pack%> - ignored"
+-msgstr "Kitazwi Igikorwa kugirango"
+-
+-#: c-pragma.c:168 c-pragma.c:210
+-#, fuzzy, gcc-internal-format
+-msgid "malformed %<#pragma pack%> - ignored"
+-msgstr "Gutondeka"
+-
+-#: c-pragma.c:173
+-#, fuzzy, gcc-internal-format
+-msgid "malformed %<#pragma pack(push[, id][, <n>])%> - ignored"
+-msgstr "Ipaki ID N"
+-
+-#: c-pragma.c:175
+-#, fuzzy, gcc-internal-format
+-msgid "malformed %<#pragma pack(pop[, id])%> - ignored"
+-msgstr "Ipaki ID"
+-
+-#: c-pragma.c:184
+-#, fuzzy, gcc-internal-format
+-msgid "unknown action %qs for %<#pragma pack%> - ignored"
+-msgstr "Kitazwi Igikorwa kugirango"
+-
+-#: c-pragma.c:213
+-#, fuzzy, gcc-internal-format
+-msgid "junk at end of %<#pragma pack%>"
+-msgstr "Umwanda ku Impera Bya"
+-
+-#: c-pragma.c:216
+-#, gcc-internal-format
+-msgid "#pragma pack has no effect with -fpack-struct - ignored"
+-msgstr ""
+-
+-#: c-pragma.c:236
+-#, fuzzy, gcc-internal-format
+-msgid "alignment must be a small power of two, not %d"
+-msgstr "Itunganya a Gitoya UMWIKUBE Bya OYA"
+-
+-#: c-pragma.c:269
+-#, fuzzy, gcc-internal-format
+-msgid "applying #pragma weak %q+D after first use results in unspecified behavior"
+-msgstr "Nyuma Itangira Gukoresha Ibisubizo ku in imyitwarire"
+-
+-#: c-pragma.c:343 c-pragma.c:348
+-#, gcc-internal-format
+-msgid "malformed #pragma weak, ignored"
+-msgstr ""
+-
+-#: c-pragma.c:352
+-#, fuzzy, gcc-internal-format
+-msgid "junk at end of %<#pragma weak%>"
+-msgstr "Umwanda ku Impera Bya"
+-
+-#: c-pragma.c:420 c-pragma.c:422
+-#, gcc-internal-format
+-msgid "malformed #pragma redefine_extname, ignored"
+-msgstr ""
+-
+-#: c-pragma.c:425
+-#, fuzzy, gcc-internal-format
+-msgid "junk at end of %<#pragma redefine_extname%>"
+-msgstr "Umwanda ku Impera Bya"
+-
+-#: c-pragma.c:431
+-#, fuzzy, gcc-internal-format
+-msgid "#pragma redefine_extname not supported on this target"
+-msgstr "_OYA ku iyi Intego"
+-
+-#: c-pragma.c:448 c-pragma.c:535
+-#, fuzzy, gcc-internal-format
+-msgid "#pragma redefine_extname ignored due to conflict with previous rename"
+-msgstr "#Na:"
+-
+-#: c-pragma.c:471
+-#, fuzzy, gcc-internal-format
+-msgid "#pragma redefine_extname ignored due to conflict with previous #pragma redefine_extname"
+-msgstr "#Na:"
+-
+-#: c-pragma.c:490
+-#, gcc-internal-format
+-msgid "malformed #pragma extern_prefix, ignored"
+-msgstr ""
+-
+-#: c-pragma.c:493
+-#, fuzzy, gcc-internal-format
+-msgid "junk at end of %<#pragma extern_prefix%>"
+-msgstr "Umwanda ku Impera Bya"
+-
+-#: c-pragma.c:500
+-#, fuzzy, gcc-internal-format
+-msgid "#pragma extern_prefix not supported on this target"
+-msgstr "ni OYA ku iyi Intego"
+-
+-#: c-pragma.c:526
+-#, fuzzy, gcc-internal-format
+-msgid "asm declaration ignored due to conflict with previous rename"
+-msgstr "Na: Ibanjirije Guhindura izina"
+-
+-#: c-pragma.c:557
+-#, fuzzy, gcc-internal-format
+-msgid "#pragma redefine_extname ignored due to conflict with __asm__ declaration"
+-msgstr "#Na:"
+-
+-#: c-pragma.c:619
+-#, gcc-internal-format
+-msgid "#pragma GCC visibility push() must specify default, internal, hidden or protected"
+-msgstr ""
+-
+-#: c-pragma.c:654
+-#, gcc-internal-format
+-msgid "#pragma GCC visibility must be followed by push or pop"
+-msgstr ""
+-
+-#: c-pragma.c:660
+-#, gcc-internal-format
+-msgid "no matching push for %<#pragma GCC visibility pop%>"
+-msgstr ""
+-
+-#: c-pragma.c:667 c-pragma.c:674
+-#, fuzzy, gcc-internal-format
+-msgid "missing %<(%> after %<#pragma GCC visibility push%> - ignored"
+-msgstr "Ibuze Nyuma"
+-
+-#: c-pragma.c:670
+-#, fuzzy, gcc-internal-format
+-msgid "malformed #pragma GCC visibility push"
+-msgstr "Icyiciro"
+-
+-#: c-pragma.c:678
+-#, fuzzy, gcc-internal-format
+-msgid "junk at end of %<#pragma GCC visibility%>"
+-msgstr "Umwanda ku Impera Bya"
+-
+-#: c-pragma.c:694
+-#, fuzzy, gcc-internal-format
+-msgid "#pragma GCC diagnostic not allowed inside functions"
+-msgstr "C OYA Kwemerera Birenga Hanze Bya a Umumaro"
+-
+-#: c-pragma.c:700
+-#, gcc-internal-format
+-msgid "missing [error|warning|ignored] after %<#pragma GCC diagnostic%>"
+-msgstr ""
+-
+-#: c-pragma.c:709
+-#, gcc-internal-format
+-msgid "expected [error|warning|ignored] after %<#pragma GCC diagnostic%>"
+-msgstr ""
+-
+-#: c-pragma.c:713
+-#, fuzzy, gcc-internal-format
+-msgid "missing option after %<#pragma GCC diagnostic%> kind"
+-msgstr "Ibuze Nyuma"
+-
+-#: c-pragma.c:727
+-#, fuzzy, gcc-internal-format
+-msgid "unknown option after %<#pragma GCC diagnostic%> kind"
+-msgstr "Kitazwi Igikorwa kugirango"
+-
+-#: c-typeck.c:175
+-#, fuzzy, gcc-internal-format
+-msgid "%qD has an incomplete type"
+-msgstr "`%s'Ubwoko"
+-
+-#: c-typeck.c:196 cp/call.c:2724
+-#, fuzzy, gcc-internal-format
+-msgid "invalid use of void expression"
+-msgstr "Sibyo Gukoresha Bya imvugo"
+-
+-#: c-typeck.c:204
+-#, fuzzy, gcc-internal-format
+-msgid "invalid use of flexible array member"
+-msgstr "Sibyo Gukoresha Bya Imbonerahamwe"
+-
+-#: c-typeck.c:210
+-#, fuzzy, gcc-internal-format
+-msgid "invalid use of array with unspecified bounds"
+-msgstr "Sibyo Gukoresha Bya Imbonerahamwe Na:"
+-
+-#: c-typeck.c:218
+-#, fuzzy, gcc-internal-format
+-msgid "invalid use of undefined type %<%s %E%>"
+-msgstr "Sibyo Gukoresha Bya kidasobanuye Ubwoko"
+-
+-#. If this type has a typedef-name, the TYPE_NAME is a TYPE_DECL.
+-#: c-typeck.c:222
+-#, fuzzy, gcc-internal-format
+-msgid "invalid use of incomplete typedef %qD"
+-msgstr "Sibyo Gukoresha Bya"
+-
+-#: c-typeck.c:475 c-typeck.c:500
+-#, fuzzy, gcc-internal-format
+-msgid "function types not truly compatible in ISO C"
+-msgstr "Umumaro OYA in C"
+-
+-#: c-typeck.c:620
+-#, gcc-internal-format
+-msgid "can%'t mix operands of decimal float and vector types"
+-msgstr ""
+-
+-#: c-typeck.c:625
+-#, gcc-internal-format
+-msgid "can%'t mix operands of decimal float and complex types"
+-msgstr ""
+-
+-#: c-typeck.c:630
+-#, gcc-internal-format
+-msgid "can%'t mix operands of decimal float and other float types"
+-msgstr ""
+-
+-#: c-typeck.c:951
+-#, fuzzy, gcc-internal-format
+-msgid "types are not quite compatible"
+-msgstr "OYA"
+-
+-#: c-typeck.c:1269
+-#, fuzzy, gcc-internal-format
+-msgid "function return types not compatible due to %<volatile%>"
+-msgstr "Umumaro Garuka Ubwoko Umumaro"
+-
+-#: c-typeck.c:1428 c-typeck.c:2781
+-#, fuzzy, gcc-internal-format
+-msgid "arithmetic on pointer to an incomplete type"
+-msgstr "ku Mweretsi Kuri Ubwoko"
+-
+-#: c-typeck.c:1820
+-#, fuzzy, gcc-internal-format
+-msgid "%qT has no member named %qE"
+-msgstr "'%D'Oya"
+-
+-#: c-typeck.c:1861
+-#, fuzzy, gcc-internal-format
+-msgid "request for member %qE in something not a structure or union"
+-msgstr "Kubaza... kugirango in OYA a Imiterere Cyangwa Ihuza"
+-
+-#: c-typeck.c:1892
+-#, fuzzy, gcc-internal-format
+-msgid "dereferencing pointer to incomplete type"
+-msgstr "Mweretsi Kuri Ubwoko"
+-
+-#: c-typeck.c:1896
+-#, fuzzy, gcc-internal-format
+-msgid "dereferencing %<void *%> pointer"
+-msgstr "Mweretsi"
+-
+-#: c-typeck.c:1913 cp/typeck.c:2369
+-#, fuzzy, gcc-internal-format
+-msgid "invalid type argument of %qs"
+-msgstr "Sibyo Ubwoko Bya"
+-
+-#: c-typeck.c:1941 cp/typeck.c:2512
+-#, fuzzy, gcc-internal-format
+-msgid "subscripted value is neither array nor pointer"
+-msgstr "Agaciro ni Imbonerahamwe Mweretsi"
+-
+-#: c-typeck.c:1952 cp/typeck.c:2431 cp/typeck.c:2517
+-#, fuzzy, gcc-internal-format
+-msgid "array subscript is not an integer"
+-msgstr "Imbonerahamwe Inyandiko nyesi ni OYA Umubare wuzuye"
+-
+-#: c-typeck.c:1958
+-#, fuzzy, gcc-internal-format
+-msgid "subscripted value is pointer to function"
+-msgstr "Bya Mweretsi Kuri Umumaro"
+-
+-#: c-typeck.c:2005
+-#, fuzzy, gcc-internal-format
+-msgid "ISO C forbids subscripting %<register%> array"
+-msgstr "C Imbonerahamwe"
+-
+-#: c-typeck.c:2007
+-#, fuzzy, gcc-internal-format
+-msgid "ISO C90 forbids subscripting non-lvalue array"
+-msgstr "Imbonerahamwe"
+-
+-#: c-typeck.c:2256
+-#, fuzzy, gcc-internal-format
+-msgid "called object %qE is not a function"
+-msgstr "Igikoresho ni OYA a Umumaro"
+-
+-#. This situation leads to run-time undefined behavior. We can't,
+-#. therefore, simply error unless we can prove that all possible
+-#. executions of the program must execute the code.
+-#: c-typeck.c:2284
+-#, gcc-internal-format
+-msgid "function called through a non-compatible type"
+-msgstr ""
+-
+-#: c-typeck.c:2391
+-#, fuzzy, gcc-internal-format
+-msgid "too many arguments to function %qE"
+-msgstr "ingingo Kuri Umumaro"
+-
+-#: c-typeck.c:2412
+-#, fuzzy, gcc-internal-format
+-msgid "type of formal parameter %d is incomplete"
+-msgstr "Ubwoko Bya ni"
+-
+-#: c-typeck.c:2425
+-#, fuzzy, gcc-internal-format
+-msgid "passing argument %d of %qE as integer rather than floating due to prototype"
+-msgstr "%sNka Umubare wuzuye Bihindagurika Kuri"
+-
+-#: c-typeck.c:2430
+-#, fuzzy, gcc-internal-format
+-msgid "passing argument %d of %qE as integer rather than complex due to prototype"
+-msgstr "%sNka Umubare wuzuye ITSINDA RY'IMIBARE C Kuri"
+-
+-#: c-typeck.c:2435
+-#, fuzzy, gcc-internal-format
+-msgid "passing argument %d of %qE as complex rather than floating due to prototype"
+-msgstr "%sNka ITSINDA RY'IMIBARE C Bihindagurika Kuri"
+-
+-#: c-typeck.c:2440
+-#, fuzzy, gcc-internal-format
+-msgid "passing argument %d of %qE as floating rather than integer due to prototype"
+-msgstr "%sNka Bihindagurika Umubare wuzuye Kuri"
+-
+-#: c-typeck.c:2445
+-#, fuzzy, gcc-internal-format
+-msgid "passing argument %d of %qE as complex rather than integer due to prototype"
+-msgstr "%sNka ITSINDA RY'IMIBARE C Umubare wuzuye Kuri"
+-
+-#: c-typeck.c:2450
+-#, fuzzy, gcc-internal-format
+-msgid "passing argument %d of %qE as floating rather than complex due to prototype"
+-msgstr "%sNka Bihindagurika ITSINDA RY'IMIBARE C Kuri"
+-
+-#: c-typeck.c:2463
+-#, fuzzy, gcc-internal-format
+-msgid "passing argument %d of %qE as %<float%> rather than %<double%> due to prototype"
+-msgstr "%sNka Kuri"
+-
+-#: c-typeck.c:2488
+-#, fuzzy, gcc-internal-format
+-msgid "passing argument %d of %qE as %qT rather than %qT due to prototype"
+-msgstr "%sNka Umubare wuzuye ITSINDA RY'IMIBARE C Kuri"
+-
+-#: c-typeck.c:2509
+-#, fuzzy, gcc-internal-format
+-msgid "passing argument %d of %qE with different width due to prototype"
+-msgstr "%sNa: Ubugari Kuri"
+-
+-#: c-typeck.c:2532
+-#, fuzzy, gcc-internal-format
+-msgid "passing argument %d of %qE as unsigned due to prototype"
+-msgstr "%sNka Bitashizweho umukono Kuri"
+-
+-#: c-typeck.c:2536
+-#, fuzzy, gcc-internal-format
+-msgid "passing argument %d of %qE as signed due to prototype"
+-msgstr "%sNka Kuri"
+-
+-#: c-typeck.c:2627
+-#, fuzzy, gcc-internal-format
+-msgid "suggest parentheses around + or - inside shift"
+-msgstr "Cyangwa Mo Imbere Gusunika"
+-
+-#: c-typeck.c:2635
+-#, fuzzy, gcc-internal-format
+-msgid "suggest parentheses around && within ||"
+-msgstr "muri"
+-
+-#: c-typeck.c:2645
+-#, fuzzy, gcc-internal-format
+-msgid "suggest parentheses around arithmetic in operand of |"
+-msgstr "in Bya"
+-
+-#: c-typeck.c:2650
+-#, fuzzy, gcc-internal-format
+-msgid "suggest parentheses around comparison in operand of |"
+-msgstr "in Bya"
+-
+-#: c-typeck.c:2660
+-#, fuzzy, gcc-internal-format
+-msgid "suggest parentheses around arithmetic in operand of ^"
+-msgstr "in Bya"
+-
+-#: c-typeck.c:2665
+-#, fuzzy, gcc-internal-format
+-msgid "suggest parentheses around comparison in operand of ^"
+-msgstr "in Bya"
+-
+-#: c-typeck.c:2673
+-#, fuzzy, gcc-internal-format
+-msgid "suggest parentheses around + or - in operand of &"
+-msgstr "Cyangwa in Bya"
+-
+-#: c-typeck.c:2678
+-#, fuzzy, gcc-internal-format
+-msgid "suggest parentheses around comparison in operand of &"
+-msgstr "in Bya"
+-
+-#: c-typeck.c:2684
+-#, fuzzy, gcc-internal-format
+-msgid "comparisons like X<=Y<=Z do not have their mathematical meaning"
+-msgstr "nka OYA Bijyanye n'imibare Igisobanuro"
+-
+-#: c-typeck.c:2696 c-typeck.c:2701 cp/typeck.c:3281 cp/typeck.c:3390
+-#, fuzzy, gcc-internal-format
+-msgid "comparison with string literal results in unspecified behaviour"
+-msgstr "Bya Nyuma Itangira Gukoresha Ibisubizo ku in imyitwarire"
+-
+-#: c-typeck.c:2723
+-#, fuzzy, gcc-internal-format
+-msgid "pointer of type %<void *%> used in subtraction"
+-msgstr "Mweretsi Bya Ubwoko in Gukuramo"
+-
+-#: c-typeck.c:2725
+-#, fuzzy, gcc-internal-format
+-msgid "pointer to a function used in subtraction"
+-msgstr "Mweretsi Kuri a Umumaro in Gukuramo"
+-
+-#: c-typeck.c:2832
+-#, fuzzy, gcc-internal-format
+-msgid "wrong type argument to unary plus"
+-msgstr "Ubwoko Kuri Guteranya"
+-
+-#: c-typeck.c:2845
+-#, fuzzy, gcc-internal-format
+-msgid "wrong type argument to unary minus"
+-msgstr "Ubwoko Kuri"
+-
+-#: c-typeck.c:2862
+-#, fuzzy, gcc-internal-format
+-msgid "ISO C does not support %<~%> for complex conjugation"
+-msgstr "C OYA Gushigikira kugirango ITSINDA RY'IMIBARE C"
+-
+-#: c-typeck.c:2868
+-#, fuzzy, gcc-internal-format
+-msgid "wrong type argument to bit-complement"
+-msgstr "Ubwoko Kuri"
+-
+-#: c-typeck.c:2876
+-#, fuzzy, gcc-internal-format
+-msgid "wrong type argument to abs"
+-msgstr "Ubwoko Kuri ABS"
+-
+-#: c-typeck.c:2888
+-#, fuzzy, gcc-internal-format
+-msgid "wrong type argument to conjugation"
+-msgstr "Ubwoko Kuri"
+-
+-#: c-typeck.c:2900
+-#, fuzzy, gcc-internal-format
+-msgid "wrong type argument to unary exclamation mark"
+-msgstr "Ubwoko Kuri Ikimenyetso"
+-
+-#: c-typeck.c:2934
+-#, fuzzy, gcc-internal-format
+-msgid "ISO C does not support %<++%> and %<--%> on complex types"
+-msgstr "C OYA Gushigikira Na ku ITSINDA RY'IMIBARE C"
+-
+-#: c-typeck.c:2950 c-typeck.c:2982
+-#, fuzzy, gcc-internal-format
+-msgid "wrong type argument to increment"
+-msgstr "Ubwoko Kuri Iyongeragaciro"
+-
+-#: c-typeck.c:2952 c-typeck.c:2984
+-#, fuzzy, gcc-internal-format
+-msgid "wrong type argument to decrement"
+-msgstr "Ubwoko Kuri"
+-
+-#: c-typeck.c:2973
+-#, fuzzy, gcc-internal-format
+-msgid "increment of pointer to unknown structure"
+-msgstr "Iyongeragaciro Bya Mweretsi Kuri Kitazwi Imiterere"
+-
+-#: c-typeck.c:2975
+-#, fuzzy, gcc-internal-format
+-msgid "decrement of pointer to unknown structure"
+-msgstr "Bya Mweretsi Kuri Kitazwi Imiterere"
+-
+-#: c-typeck.c:3155
+-#, fuzzy, gcc-internal-format
+-msgid "assignment of read-only member %qD"
+-msgstr "%sBya Gusoma"
+-
+-#: c-typeck.c:3156
+-#, fuzzy, gcc-internal-format
+-msgid "increment of read-only member %qD"
+-msgstr "%sBya Gusoma"
+-
+-#: c-typeck.c:3157
+-#, fuzzy, gcc-internal-format
+-msgid "decrement of read-only member %qD"
+-msgstr "%sBya Gusoma"
+-
+-#: c-typeck.c:3158
+-#, gcc-internal-format
+-msgid "read-only member %qD used as %<asm%> output"
+-msgstr ""
+-
+-#: c-typeck.c:3162
+-#, fuzzy, gcc-internal-format
+-msgid "assignment of read-only variable %qD"
+-msgstr "%sBya Gusoma IMPINDURAGACIRO"
+-
+-#: c-typeck.c:3163
+-#, fuzzy, gcc-internal-format
+-msgid "increment of read-only variable %qD"
+-msgstr "%sBya Gusoma IMPINDURAGACIRO"
+-
+-#: c-typeck.c:3164
+-#, fuzzy, gcc-internal-format
+-msgid "decrement of read-only variable %qD"
+-msgstr "%sBya Gusoma IMPINDURAGACIRO"
+-
+-#: c-typeck.c:3165
+-#, gcc-internal-format
+-msgid "read-only variable %qD used as %<asm%> output"
+-msgstr ""
+-
+-#: c-typeck.c:3168
+-#, fuzzy, gcc-internal-format
+-msgid "assignment of read-only location"
+-msgstr "%sBya Gusoma Ahantu"
+-
+-#: c-typeck.c:3169
+-#, fuzzy, gcc-internal-format
+-msgid "increment of read-only location"
+-msgstr "%sBya Gusoma Ahantu"
+-
+-#: c-typeck.c:3170
+-#, fuzzy, gcc-internal-format
+-msgid "decrement of read-only location"
+-msgstr "%sBya Gusoma Ahantu"
+-
+-#: c-typeck.c:3171
+-#, gcc-internal-format
+-msgid "read-only location used as %<asm%> output"
+-msgstr ""
+-
+-#: c-typeck.c:3206
+-#, fuzzy, gcc-internal-format
+-msgid "cannot take address of bit-field %qD"
+-msgstr "Aderesi Bya Umwanya"
+-
+-#: c-typeck.c:3234
+-#, fuzzy, gcc-internal-format
+-msgid "global register variable %qD used in nested function"
+-msgstr "Kwiyandikisha IMPINDURAGACIRO in Umumaro"
+-
+-#: c-typeck.c:3237
+-#, fuzzy, gcc-internal-format
+-msgid "register variable %qD used in nested function"
+-msgstr "Kwiyandikisha IMPINDURAGACIRO in Umumaro"
+-
+-#: c-typeck.c:3242
+-#, fuzzy, gcc-internal-format
+-msgid "address of global register variable %qD requested"
+-msgstr "Aderesi Bya Kwiyandikisha IMPINDURAGACIRO"
+-
+-#: c-typeck.c:3244
+-#, fuzzy, gcc-internal-format
+-msgid "address of register variable %qD requested"
+-msgstr "Aderesi Bya Kwiyandikisha IMPINDURAGACIRO"
+-
+-#: c-typeck.c:3290
+-#, fuzzy, gcc-internal-format
+-msgid "non-lvalue array in conditional expression"
+-msgstr "Ubwoko in imvugo"
+-
+-#: c-typeck.c:3338
+-#, fuzzy, gcc-internal-format
+-msgid "signed and unsigned type in conditional expression"
+-msgstr "Na Bitashizweho umukono Ubwoko in imvugo"
+-
+-#: c-typeck.c:3345
+-#, fuzzy, gcc-internal-format
+-msgid "ISO C forbids conditional expr with only one void side"
+-msgstr "C Na:"
+-
+-#: c-typeck.c:3359 c-typeck.c:3367
+-#, fuzzy, gcc-internal-format
+-msgid "ISO C forbids conditional expr between %<void *%> and function pointer"
+-msgstr "C hagati Na Umumaro Mweretsi"
+-
+-#: c-typeck.c:3374
+-#, fuzzy, gcc-internal-format
+-msgid "pointer type mismatch in conditional expression"
+-msgstr "Mweretsi Ubwoko in imvugo"
+-
+-#: c-typeck.c:3381 c-typeck.c:3391
+-#, fuzzy, gcc-internal-format
+-msgid "pointer/integer type mismatch in conditional expression"
+-msgstr "Mweretsi Umubare wuzuye Ubwoko in imvugo"
+-
+-#: c-typeck.c:3405
+-#, fuzzy, gcc-internal-format
+-msgid "type mismatch in conditional expression"
+-msgstr "Ubwoko in imvugo"
+-
+-#: c-typeck.c:3447
+-#, fuzzy, gcc-internal-format
+-msgid "left-hand operand of comma expression has no effect"
+-msgstr "Ibumoso: Bya Akitso imvugo Oya INGARUKA"
+-
+-#: c-typeck.c:3484
+-#, fuzzy, gcc-internal-format
+-msgid "cast specifies array type"
+-msgstr "Imbonerahamwe Ubwoko"
+-
+-#: c-typeck.c:3490
+-#, fuzzy, gcc-internal-format
+-msgid "cast specifies function type"
+-msgstr "Umumaro Ubwoko"
+-
+-#: c-typeck.c:3500
+-#, fuzzy, gcc-internal-format
+-msgid "ISO C forbids casting nonscalar to the same type"
+-msgstr "C Kuri i Ubwoko"
+-
+-#: c-typeck.c:3517
+-#, fuzzy, gcc-internal-format
+-msgid "ISO C forbids casts to union type"
+-msgstr "C Kuri Ihuza Ubwoko"
+-
+-#: c-typeck.c:3525
+-#, fuzzy, gcc-internal-format
+-msgid "cast to union type from type not present in union"
+-msgstr "Kuri Ihuza Ubwoko Bivuye Ubwoko OYA in Ihuza"
+-
+-#: c-typeck.c:3571
+-#, fuzzy, gcc-internal-format
+-msgid "cast adds new qualifiers to function type"
+-msgstr "Gishya Kuri Umumaro Ubwoko"
+-
+-#. There are qualifiers present in IN_OTYPE that are not
+-#. present in IN_TYPE.
+-#: c-typeck.c:3576
+-#, fuzzy, gcc-internal-format
+-msgid "cast discards qualifiers from pointer target type"
+-msgstr "Bivuye Mweretsi Intego Ubwoko"
+-
+-#: c-typeck.c:3592
+-#, fuzzy, gcc-internal-format
+-msgid "cast increases required alignment of target type"
+-msgstr "Bya ngombwa Itunganya Bya Intego Ubwoko"
+-
+-#: c-typeck.c:3603
+-#, fuzzy, gcc-internal-format
+-msgid "cast from pointer to integer of different size"
+-msgstr "Bivuye Mweretsi Kuri Umubare wuzuye Bya Ingano"
+-
+-#: c-typeck.c:3607
+-#, gcc-internal-format
+-msgid "cast from function call of type %qT to non-matching type %qT"
+-msgstr ""
+-
+-#: c-typeck.c:3615
+-#, fuzzy, gcc-internal-format
+-msgid "cast to pointer from integer of different size"
+-msgstr "Kuri Mweretsi Bivuye Umubare wuzuye Bya Ingano"
+-
+-#: c-typeck.c:3628
+-#, fuzzy, gcc-internal-format
+-msgid "ISO C forbids conversion of function pointer to object pointer type"
+-msgstr "C Bya Na: Umumaro Mweretsi"
+-
+-#: c-typeck.c:3636
+-#, fuzzy, gcc-internal-format
+-msgid "ISO C forbids conversion of object pointer to function pointer type"
+-msgstr "C Bya Na: Umumaro Mweretsi"
+-
+-#: c-typeck.c:3912
+-#, fuzzy, gcc-internal-format
+-msgid "cannot pass rvalue to reference parameter"
+-msgstr "Kuri Indango"
+-
+-#: c-typeck.c:4023 c-typeck.c:4189
+-#, fuzzy, gcc-internal-format
+-msgid "passing argument %d of %qE makes qualified function pointer from unqualified"
+-msgstr "%sUmumaro Mweretsi Bivuye"
+-
+-#: c-typeck.c:4026 c-typeck.c:4192
+-#, fuzzy, gcc-internal-format
+-msgid "assignment makes qualified function pointer from unqualified"
+-msgstr "%sUmumaro Mweretsi Bivuye"
+-
+-#: c-typeck.c:4029 c-typeck.c:4194
+-#, fuzzy, gcc-internal-format
+-msgid "initialization makes qualified function pointer from unqualified"
+-msgstr "%sUmumaro Mweretsi Bivuye"
+-
+-#: c-typeck.c:4032 c-typeck.c:4196
+-#, fuzzy, gcc-internal-format
+-msgid "return makes qualified function pointer from unqualified"
+-msgstr "%sUmumaro Mweretsi Bivuye"
+-
+-#: c-typeck.c:4036 c-typeck.c:4156
+-#, fuzzy, gcc-internal-format
+-msgid "passing argument %d of %qE discards qualifiers from pointer target type"
+-msgstr "Bivuye Kuri Bivuye Mweretsi Intego Ubwoko"
+-
+-#: c-typeck.c:4038 c-typeck.c:4158
+-#, fuzzy, gcc-internal-format
+-msgid "assignment discards qualifiers from pointer target type"
+-msgstr "Bivuye Mweretsi Intego Ubwoko"
+-
+-#: c-typeck.c:4040 c-typeck.c:4160
+-#, fuzzy, gcc-internal-format
+-msgid "initialization discards qualifiers from pointer target type"
+-msgstr "Bivuye Mweretsi Intego Ubwoko"
+-
+-#: c-typeck.c:4042 c-typeck.c:4162
+-#, fuzzy, gcc-internal-format
+-msgid "return discards qualifiers from pointer target type"
+-msgstr "Bivuye Mweretsi Intego Ubwoko"
+-
+-#: c-typeck.c:4049
+-#, fuzzy, gcc-internal-format
+-msgid "ISO C prohibits argument conversion to union type"
+-msgstr "C Ihindurangero Kuri Ihuza Ubwoko"
+-
+-#: c-typeck.c:4084
+-#, gcc-internal-format
+-msgid "request for implicit conversion from %qT to %qT not permitted in C++"
+-msgstr ""
+-
+-#: c-typeck.c:4097
+-#, fuzzy, gcc-internal-format
+-msgid "argument %d of %qE might be a candidate for a format attribute"
+-msgstr "Umumaro kugirango Imiterere Ikiranga"
+-
+-#: c-typeck.c:4103
+-#, fuzzy, gcc-internal-format
+-msgid "assignment left-hand side might be a candidate for a format attribute"
+-msgstr "Ibyerekeye Imimaro kugirango Imiterere Ibiranga"
+-
+-#: c-typeck.c:4108
+-#, fuzzy, gcc-internal-format
+-msgid "initialization left-hand side might be a candidate for a format attribute"
+-msgstr "Umumaro kugirango Imiterere Ikiranga"
+-
+-#: c-typeck.c:4113
+-#, fuzzy, gcc-internal-format
+-msgid "return type might be a candidate for a format attribute"
+-msgstr "Umumaro kugirango Imiterere Ikiranga"
+-
+-#: c-typeck.c:4136
+-#, fuzzy, gcc-internal-format
+-msgid "ISO C forbids passing argument %d of %qE between function pointer and %<void *%>"
+-msgstr "C hagati Umumaro Mweretsi Na"
+-
+-#: c-typeck.c:4139
+-#, fuzzy, gcc-internal-format
+-msgid "ISO C forbids assignment between function pointer and %<void *%>"
+-msgstr "C hagati Umumaro Mweretsi Na"
+-
+-#: c-typeck.c:4141
+-#, fuzzy, gcc-internal-format
+-msgid "ISO C forbids initialization between function pointer and %<void *%>"
+-msgstr "C hagati Umumaro Mweretsi Na"
+-
+-#: c-typeck.c:4143
+-#, fuzzy, gcc-internal-format
+-msgid "ISO C forbids return between function pointer and %<void *%>"
+-msgstr "C hagati Umumaro Mweretsi Na"
+-
+-#: c-typeck.c:4172
+-#, fuzzy, gcc-internal-format
+-msgid "pointer targets in passing argument %d of %qE differ in signedness"
+-msgstr "Mweretsi in in"
+-
+-#: c-typeck.c:4174
+-#, fuzzy, gcc-internal-format
+-msgid "pointer targets in assignment differ in signedness"
+-msgstr "Mweretsi in in"
+-
+-#: c-typeck.c:4176
+-#, fuzzy, gcc-internal-format
+-msgid "pointer targets in initialization differ in signedness"
+-msgstr "Mweretsi in in"
+-
+-#: c-typeck.c:4178
+-#, fuzzy, gcc-internal-format
+-msgid "pointer targets in return differ in signedness"
+-msgstr "Mweretsi in in"
+-
+-#: c-typeck.c:4203
+-#, fuzzy, gcc-internal-format
+-msgid "passing argument %d of %qE from incompatible pointer type"
+-msgstr "%sBivuye Mweretsi Ubwoko"
+-
+-#: c-typeck.c:4205
+-#, fuzzy, gcc-internal-format
+-msgid "assignment from incompatible pointer type"
+-msgstr "%sBivuye Mweretsi Ubwoko"
+-
+-#: c-typeck.c:4206
+-#, fuzzy, gcc-internal-format
+-msgid "initialization from incompatible pointer type"
+-msgstr "%sBivuye Mweretsi Ubwoko"
+-
+-#: c-typeck.c:4208
+-#, fuzzy, gcc-internal-format
+-msgid "return from incompatible pointer type"
+-msgstr "%sBivuye Mweretsi Ubwoko"
+-
+-#: c-typeck.c:4225
+-#, fuzzy, gcc-internal-format
+-msgid "passing argument %d of %qE makes pointer from integer without a cast"
+-msgstr "%sMweretsi Bivuye Umubare wuzuye a"
+-
+-#: c-typeck.c:4227
+-#, fuzzy, gcc-internal-format
+-msgid "assignment makes pointer from integer without a cast"
+-msgstr "%sMweretsi Bivuye Umubare wuzuye a"
+-
+-#: c-typeck.c:4229
+-#, fuzzy, gcc-internal-format
+-msgid "initialization makes pointer from integer without a cast"
+-msgstr "%sMweretsi Bivuye Umubare wuzuye a"
+-
+-#: c-typeck.c:4231
+-#, fuzzy, gcc-internal-format
+-msgid "return makes pointer from integer without a cast"
+-msgstr "%sMweretsi Bivuye Umubare wuzuye a"
+-
+-#: c-typeck.c:4238
+-#, fuzzy, gcc-internal-format
+-msgid "passing argument %d of %qE makes integer from pointer without a cast"
+-msgstr "%sUmubare wuzuye Bivuye Mweretsi a"
+-
+-#: c-typeck.c:4240
+-#, fuzzy, gcc-internal-format
+-msgid "assignment makes integer from pointer without a cast"
+-msgstr "%sUmubare wuzuye Bivuye Mweretsi a"
+-
+-#: c-typeck.c:4242
+-#, fuzzy, gcc-internal-format
+-msgid "initialization makes integer from pointer without a cast"
+-msgstr "%sUmubare wuzuye Bivuye Mweretsi a"
+-
+-#: c-typeck.c:4244
+-#, fuzzy, gcc-internal-format
+-msgid "return makes integer from pointer without a cast"
+-msgstr "%sUmubare wuzuye Bivuye Mweretsi a"
+-
+-#: c-typeck.c:4260
+-#, fuzzy, gcc-internal-format
+-msgid "incompatible types in assignment"
+-msgstr "in"
+-
+-#: c-typeck.c:4263
+-#, fuzzy, gcc-internal-format
+-msgid "incompatible types in initialization"
+-msgstr "in"
+-
+-#: c-typeck.c:4266
+-#, fuzzy, gcc-internal-format
+-msgid "incompatible types in return"
+-msgstr "in"
+-
+-#: c-typeck.c:4353
+-#, fuzzy, gcc-internal-format
+-msgid "traditional C rejects automatic aggregate initialization"
+-msgstr "C Byikoresha"
+-
+-#: c-typeck.c:4523 c-typeck.c:4538 c-typeck.c:4553
+-#, fuzzy, gcc-internal-format
+-msgid "(near initialization for %qs)"
+-msgstr "(kugirango"
+-
+-#: c-typeck.c:5093 cp/decl.c:4824
+-#, fuzzy, gcc-internal-format
+-msgid "opaque vector types cannot be initialized"
+-msgstr "IMPINDURAGACIRO Igikoresho Bya Ubwoko Gicurasi OYA"
+-
+-#: c-typeck.c:5716
+-#, fuzzy, gcc-internal-format
+-msgid "unknown field %qE specified in initializer"
+-msgstr "Kitazwi Umwanya in"
+-
+-#: c-typeck.c:6616
+-#, fuzzy, gcc-internal-format
+-msgid "traditional C rejects initialization of unions"
+-msgstr "C Bya"
+-
+-#: c-typeck.c:6924
+-#, fuzzy, gcc-internal-format
+-msgid "jump into statement expression"
+-msgstr "Byarenze urugero in imvugo"
+-
+-#: c-typeck.c:6930
+-#, gcc-internal-format
+-msgid "jump into scope of identifier with variably modified type"
+-msgstr ""
+-
+-#: c-typeck.c:6967
+-#, fuzzy, gcc-internal-format
+-msgid "ISO C forbids %<goto *expr;%>"
+-msgstr "C"
+-
+-#: c-typeck.c:6982 cp/typeck.c:6461
+-#, fuzzy, gcc-internal-format
+-msgid "function declared %<noreturn%> has a %<return%> statement"
+-msgstr "Umumaro a Inyandiko"
+-
+-#: c-typeck.c:6990
+-#, fuzzy, gcc-internal-format
+-msgid "%<return%> with no value, in function returning non-void"
+-msgstr "`Na: Oya Agaciro in Umumaro"
+-
+-#: c-typeck.c:6999
+-#, fuzzy, gcc-internal-format
+-msgid "%<return%> with a value, in function returning void"
+-msgstr "`Na: a Agaciro in Umumaro"
+-
+-#: c-typeck.c:7056
+-#, fuzzy, gcc-internal-format
+-msgid "function returns address of local variable"
+-msgstr "Umumaro Aderesi Bya IMPINDURAGACIRO"
+-
+-#: c-typeck.c:7128 cp/semantics.c:929
+-#, fuzzy, gcc-internal-format
+-msgid "switch quantity not an integer"
+-msgstr "Hindura Ingano OYA Umubare wuzuye"
+-
+-#: c-typeck.c:7140
+-#, fuzzy, gcc-internal-format
+-msgid "%<long%> switch expression not converted to %<int%> in ISO C"
+-msgstr "`Hindura imvugo OYA Kuri in C"
+-
+-#: c-typeck.c:7180
+-#, fuzzy, gcc-internal-format
+-msgid "case label in statement expression not containing enclosing switch statement"
+-msgstr "Akarango OYA muri a Hindura Inyandiko"
+-
+-#: c-typeck.c:7183
+-#, fuzzy, gcc-internal-format
+-msgid "%<default%> label in statement expression not containing enclosing switch statement"
+-msgstr "`Akarango OYA muri a Hindura Inyandiko"
+-
+-#: c-typeck.c:7189
+-#, gcc-internal-format
+-msgid "case label in scope of identifier with variably modified type not containing enclosing switch statement"
+-msgstr ""
+-
+-#: c-typeck.c:7192
+-#, gcc-internal-format
+-msgid "%<default%> label in scope of identifier with variably modified type not containing enclosing switch statement"
+-msgstr ""
+-
+-#: c-typeck.c:7196 cp/parser.c:6415
+-#, fuzzy, gcc-internal-format
+-msgid "case label not within a switch statement"
+-msgstr "Akarango OYA muri a Hindura Inyandiko"
+-
+-#: c-typeck.c:7198
+-#, fuzzy, gcc-internal-format
+-msgid "%<default%> label not within a switch statement"
+-msgstr "`Akarango OYA muri a Hindura Inyandiko"
+-
+-#: c-typeck.c:7275
+-#, gcc-internal-format
+-msgid "%Hsuggest explicit braces to avoid ambiguous %<else%>"
+-msgstr ""
+-
+-#: c-typeck.c:7386 cp/cp-gimplify.c:97 cp/parser.c:6911
+-#, fuzzy, gcc-internal-format
+-msgid "break statement not within loop or switch"
+-msgstr "itandukanya Inyandiko OYA muri Cyangwa Hindura"
+-
+-#: c-typeck.c:7388 cp/parser.c:6932
+-#, fuzzy, gcc-internal-format
+-msgid "continue statement not within a loop"
+-msgstr "urifuzagukomeza Inyandiko OYA muri a"
+-
+-#: c-typeck.c:7393 cp/parser.c:6922
+-#, fuzzy, gcc-internal-format
+-msgid "break statement used with OpenMP for loop"
+-msgstr "itandukanya Inyandiko OYA muri Cyangwa Hindura"
+-
+-#: c-typeck.c:7416
+-#, gcc-internal-format
+-msgid "%Hstatement with no effect"
+-msgstr ""
+-
+-#: c-typeck.c:7438
+-#, fuzzy, gcc-internal-format
+-msgid "expression statement has incomplete type"
+-msgstr "imvugo Inyandiko Ubwoko"
+-
+-#: c-typeck.c:7901 c-typeck.c:7942
+-#, fuzzy, gcc-internal-format
+-msgid "division by zero"
+-msgstr "Kugabanya na zeru"
+-
+-#: c-typeck.c:7987 cp/typeck.c:3214
+-#, fuzzy, gcc-internal-format
+-msgid "right shift count is negative"
+-msgstr "Iburyo: Gusunika IBARA ni"
+-
+-#: c-typeck.c:7994 cp/typeck.c:3220
+-#, fuzzy, gcc-internal-format
+-msgid "right shift count >= width of type"
+-msgstr "Iburyo: Gusunika IBARA Ubugari Bya Ubwoko"
+-
+-#: c-typeck.c:8015 cp/typeck.c:3239
+-#, fuzzy, gcc-internal-format
+-msgid "left shift count is negative"
+-msgstr "Ibumoso: Gusunika IBARA ni"
+-
+-#: c-typeck.c:8018 cp/typeck.c:3241
+-#, fuzzy, gcc-internal-format
+-msgid "left shift count >= width of type"
+-msgstr "Ibumoso: Gusunika IBARA Ubugari Bya Ubwoko"
+-
+-#: c-typeck.c:8036 cp/typeck.c:3277
+-#, fuzzy, gcc-internal-format
+-msgid "comparing floating point with == or != is unsafe"
+-msgstr "Bihindagurika Akadomo Na: Cyangwa ni"
+-
+-#: c-typeck.c:8060 c-typeck.c:8067
+-#, fuzzy, gcc-internal-format
+-msgid "ISO C forbids comparison of %<void *%> with function pointer"
+-msgstr "C Bya Na: Umumaro Mweretsi"
+-
+-#: c-typeck.c:8073 c-typeck.c:8135
+-#, fuzzy, gcc-internal-format
+-msgid "comparison of distinct pointer types lacks a cast"
+-msgstr "Bya Mweretsi a"
+-
+-#: c-typeck.c:8085 c-typeck.c:8096
+-#, fuzzy, gcc-internal-format
+-msgid "the address of %qD will never be NULL"
+-msgstr "i Aderesi Bya Buri gihe"
+-
+-#: c-typeck.c:8103 c-typeck.c:8108 c-typeck.c:8153 c-typeck.c:8158
+-#, fuzzy, gcc-internal-format
+-msgid "comparison between pointer and integer"
+-msgstr "hagati Mweretsi Na Umubare wuzuye"
+-
+-#: c-typeck.c:8127
+-#, fuzzy, gcc-internal-format
+-msgid "comparison of complete and incomplete pointers"
+-msgstr "Bya Byuzuye Na"
+-
+-#: c-typeck.c:8130
+-#, fuzzy, gcc-internal-format
+-msgid "ISO C forbids ordered comparisons of pointers to functions"
+-msgstr "C Bya Kuri Imimaro"
+-
+-#: c-typeck.c:8142 c-typeck.c:8148
+-#, fuzzy, gcc-internal-format
+-msgid "ordered comparison of pointer with integer zero"
+-msgstr "Bya Mweretsi Na: Umubare wuzuye Zeru"
+-
+-#: c-typeck.c:8402
+-#, fuzzy, gcc-internal-format
+-msgid "comparison between signed and unsigned"
+-msgstr "hagati Na Bitashizweho umukono"
+-
+-#: c-typeck.c:8448 cp/typeck.c:3709
+-#, fuzzy, gcc-internal-format
+-msgid "comparison of promoted ~unsigned with constant"
+-msgstr "Bya Bitashizweho umukono Na:"
+-
+-#: c-typeck.c:8456 cp/typeck.c:3717
+-#, fuzzy, gcc-internal-format
+-msgid "comparison of promoted ~unsigned with unsigned"
+-msgstr "Bya Bitashizweho umukono Na: Bitashizweho umukono"
+-
+-#: c-typeck.c:8514
+-#, fuzzy, gcc-internal-format
+-msgid "used array that cannot be converted to pointer where scalar is required"
+-msgstr "Imbonerahamwe Ubwoko Agaciro ni Bya ngombwa"
+-
+-#: c-typeck.c:8518
+-#, fuzzy, gcc-internal-format
+-msgid "used struct type value where scalar is required"
+-msgstr "Ubwoko Agaciro ni Bya ngombwa"
+-
+-#: c-typeck.c:8522
+-#, fuzzy, gcc-internal-format
+-msgid "used union type value where scalar is required"
+-msgstr "Ihuza Ubwoko Agaciro ni Bya ngombwa"
+-
+-#: c-typeck.c:8627 cp/semantics.c:3519
+-#, fuzzy, gcc-internal-format
+-msgid "%qE has invalid type for %<reduction%>"
+-msgstr "Sibyo Garuka Ubwoko kugirango Umumaro"
+-
+-#: c-typeck.c:8661 cp/semantics.c:3532
+-#, fuzzy, gcc-internal-format
+-msgid "%qE has invalid type for %<reduction(%s)%>"
+-msgstr "Sibyo Garuka Ubwoko kugirango Umumaro"
+-
+-#: c-typeck.c:8677 cp/semantics.c:3542
+-#, gcc-internal-format
+-msgid "%qE must be %<threadprivate%> for %<copyin%>"
+-msgstr ""
+-
+-#: c-typeck.c:8686 cp/semantics.c:3347
+-#, fuzzy, gcc-internal-format
+-msgid "%qE is not a variable in clause %qs"
+-msgstr "`%s'ni OYA a Byemewe ishuri Izina:"
+-
+-#: c-typeck.c:8693 c-typeck.c:8713 c-typeck.c:8733 cp/semantics.c:3354
+-#: cp/semantics.c:3373 cp/semantics.c:3392
+-#, gcc-internal-format
+-msgid "%qE appears more than once in data clauses"
+-msgstr ""
+-
+-#: c-typeck.c:8707 cp/semantics.c:3367
+-#, fuzzy, gcc-internal-format
+-msgid "%qE is not a variable in clause %<firstprivate%>"
+-msgstr "Urugero IMPINDURAGACIRO ni By'umwihariko"
+-
+-#: c-typeck.c:8727 cp/semantics.c:3386
+-#, fuzzy, gcc-internal-format
+-msgid "%qE is not a variable in clause %<lastprivate%>"
+-msgstr "Urugero IMPINDURAGACIRO ni By'umwihariko"
+-
+-#: c-typeck.c:8785 cp/semantics.c:3583
+-#, gcc-internal-format
+-msgid "%qE is predetermined %qs for %qs"
+-msgstr ""
+-
+-#: calls.c:1961
+-#, fuzzy, gcc-internal-format
+-msgid "function call has aggregate value"
+-msgstr "Umumaro Agaciro"
+-
+-#: cfgexpand.c:1617
+-#, gcc-internal-format
+-msgid "not protecting local variables: variable length buffer"
+-msgstr ""
+-
+-#: cfgexpand.c:1619
+-#, gcc-internal-format
+-msgid "not protecting function: no buffer at least %d bytes long"
+-msgstr ""
+-
+-#: cfghooks.c:90
+-#, fuzzy, gcc-internal-format
+-msgid "bb %d on wrong place"
+-msgstr "ku"
+-
+-#: cfghooks.c:96
+-#, fuzzy, gcc-internal-format
+-msgid "prev_bb of %d should be %d, not %d"
+-msgstr "Bya OYA"
+-
+-#: cfghooks.c:113
+-#, fuzzy, gcc-internal-format
+-msgid "verify_flow_info: Wrong count of block %i %i"
+-msgstr "IBARA Bya Funga"
+-
+-#: cfghooks.c:119
+-#, fuzzy, gcc-internal-format
+-msgid "verify_flow_info: Wrong frequency of block %i %i"
+-msgstr "Ubwisubire Bya Funga"
+-
+-#: cfghooks.c:127
+-#, gcc-internal-format
+-msgid "verify_flow_info: Duplicate edge %i->%i"
+-msgstr ""
+-
+-#: cfghooks.c:133
+-#, fuzzy, gcc-internal-format
+-msgid "verify_flow_info: Wrong probability of edge %i->%i %i"
+-msgstr "Imishobokere Bya"
+-
+-#: cfghooks.c:139
+-#, fuzzy, gcc-internal-format
+-msgid "verify_flow_info: Wrong count of edge %i->%i %i"
+-msgstr "IBARA Bya"
+-
+-#: cfghooks.c:151
+-#, fuzzy, gcc-internal-format
+-msgid "verify_flow_info: Basic block %d succ edge is corrupted"
+-msgstr "Funga ni"
+-
+-#: cfghooks.c:165 cfgrtl.c:1885
+-#, fuzzy, gcc-internal-format
+-msgid "wrong amount of branch edges after unconditional jump %i"
+-msgstr "Igiteranyo Bya Nyuma Simbuka"
+-
+-#: cfghooks.c:173 cfghooks.c:184
+-#, fuzzy, gcc-internal-format
+-msgid "basic block %d pred edge is corrupted"
+-msgstr "BASIC Funga ni"
+-
+-#: cfghooks.c:185
+-#, fuzzy, gcc-internal-format
+-msgid "its dest_idx should be %d, not %d"
+-msgstr "Bya OYA"
+-
+-#: cfghooks.c:214
+-#, fuzzy, gcc-internal-format
+-msgid "basic block %i edge lists are corrupted"
+-msgstr "BASIC Funga Intonde"
+-
+-#: cfghooks.c:227
+-#, fuzzy, gcc-internal-format
+-msgid "verify_flow_info failed"
+-msgstr "Byanze"
+-
+-#: cfghooks.c:288
+-#, fuzzy, gcc-internal-format
+-msgid "%s does not support redirect_edge_and_branch"
+-msgstr "%sOYA Gushigikira Umubare Imiterere"
+-
+-#: cfghooks.c:306
+-#, fuzzy, gcc-internal-format
+-msgid "%s does not support redirect_edge_and_branch_force"
+-msgstr "%sOYA Gushigikira Umubare Imiterere"
+-
+-#: cfghooks.c:324
+-#, fuzzy, gcc-internal-format
+-msgid "%s does not support split_block"
+-msgstr "%sOYA Gushigikira"
+-
+-#: cfghooks.c:360
+-#, fuzzy, gcc-internal-format
+-msgid "%s does not support move_block_after"
+-msgstr "%sOYA Gushigikira"
+-
+-#: cfghooks.c:373
+-#, fuzzy, gcc-internal-format
+-msgid "%s does not support delete_basic_block"
+-msgstr "%sOYA Gushigikira"
+-
+-#: cfghooks.c:405
+-#, fuzzy, gcc-internal-format
+-msgid "%s does not support split_edge"
+-msgstr "%sOYA Gushigikira"
+-
+-#: cfghooks.c:466
+-#, fuzzy, gcc-internal-format
+-msgid "%s does not support create_basic_block"
+-msgstr "%sOYA Gushigikira"
+-
+-#: cfghooks.c:494
+-#, fuzzy, gcc-internal-format
+-msgid "%s does not support can_merge_blocks_p"
+-msgstr "%sOYA Gushigikira"
+-
+-#: cfghooks.c:505
+-#, fuzzy, gcc-internal-format
+-msgid "%s does not support predict_edge"
+-msgstr "%sOYA Gushigikira"
+-
+-#: cfghooks.c:514
+-#, fuzzy, gcc-internal-format
+-msgid "%s does not support predicted_by_p"
+-msgstr "%sOYA Gushigikira"
+-
+-#: cfghooks.c:528
+-#, fuzzy, gcc-internal-format
+-msgid "%s does not support merge_blocks"
+-msgstr "%sOYA Gushigikira"
+-
+-#: cfghooks.c:573
+-#, fuzzy, gcc-internal-format
+-msgid "%s does not support make_forwarder_block"
+-msgstr "%sOYA Gushigikira"
+-
+-#: cfghooks.c:678
+-#, fuzzy, gcc-internal-format
+-msgid "%s does not support can_duplicate_block_p"
+-msgstr "%sOYA Gushigikira"
+-
+-#: cfghooks.c:706
+-#, fuzzy, gcc-internal-format
+-msgid "%s does not support duplicate_block"
+-msgstr "%sOYA Gushigikira"
+-
+-#: cfghooks.c:774
+-#, fuzzy, gcc-internal-format
+-msgid "%s does not support block_ends_with_call_p"
+-msgstr "%sOYA Gushigikira"
+-
+-#: cfghooks.c:785
+-#, fuzzy, gcc-internal-format
+-msgid "%s does not support block_ends_with_condjump_p"
+-msgstr "%sOYA Gushigikira"
+-
+-#: cfghooks.c:803
+-#, fuzzy, gcc-internal-format
+-msgid "%s does not support flow_call_edges_add"
+-msgstr "%sOYA Gushigikira"
+-
+-#: cfgloop.c:1079
+-#, fuzzy, gcc-internal-format
+-msgid "size of loop %d should be %d, not %d"
+-msgstr "Bya OYA"
+-
+-#: cfgloop.c:1096
+-#, fuzzy, gcc-internal-format
+-msgid "bb %d do not belong to loop %d"
+-msgstr "OYA Kuri"
+-
+-#: cfgloop.c:1113
+-#, fuzzy, gcc-internal-format
+-msgid "loop %d's header does not have exactly 2 entries"
+-msgstr "S Umutwempangano OYA 2. Ibyinjijwe"
+-
+-#: cfgloop.c:1120
+-#, fuzzy, gcc-internal-format
+-msgid "loop %d's latch does not have exactly 1 successor"
+-msgstr "S OYA 1."
+-
+-#: cfgloop.c:1125
+-#, fuzzy, gcc-internal-format
+-msgid "loop %d's latch does not have header as successor"
+-msgstr "S OYA Umutwempangano Nka"
+-
+-#: cfgloop.c:1130
+-#, fuzzy, gcc-internal-format
+-msgid "loop %d's latch does not belong directly to it"
+-msgstr "S OYA Kuri"
+-
+-#: cfgloop.c:1136
+-#, fuzzy, gcc-internal-format
+-msgid "loop %d's header does not belong directly to it"
+-msgstr "S Umutwempangano OYA Kuri"
+-
+-#: cfgloop.c:1142
+-#, gcc-internal-format
+-msgid "loop %d's latch is marked as part of irreducible region"
+-msgstr ""
+-
+-#: cfgloop.c:1175
+-#, fuzzy, gcc-internal-format
+-msgid "basic block %d should be marked irreducible"
+-msgstr "BASIC Funga ni"
+-
+-#: cfgloop.c:1181
+-#, fuzzy, gcc-internal-format
+-msgid "basic block %d should not be marked irreducible"
+-msgstr "BASIC OYA Iriho Imibare"
+-
+-#: cfgloop.c:1189
+-#, gcc-internal-format
+-msgid "edge from %d to %d should be marked irreducible"
+-msgstr ""
+-
+-#: cfgloop.c:1196
+-#, gcc-internal-format
+-msgid "edge from %d to %d should not be marked irreducible"
+-msgstr ""
+-
+-#: cfgloop.c:1231
+-#, gcc-internal-format
+-msgid "wrong single exit %d->%d recorded for loop %d"
+-msgstr ""
+-
+-#: cfgloop.c:1235
+-#, gcc-internal-format
+-msgid "right exit is %d->%d"
+-msgstr ""
+-
+-#: cfgloop.c:1252
+-#, gcc-internal-format
+-msgid "single exit not recorded for loop %d"
+-msgstr ""
+-
+-#: cfgloop.c:1259
+-#, gcc-internal-format
+-msgid "loop %d should not have single exit (%d -> %d)"
+-msgstr ""
+-
+-#: cfgrtl.c:1771
+-#, gcc-internal-format
+-msgid "BB_RTL flag not set for block %d"
+-msgstr ""
+-
+-#: cfgrtl.c:1777
+-#, fuzzy, gcc-internal-format
+-msgid "end insn %d for block %d not found in the insn stream"
+-msgstr "Impera kugirango Funga OYA Byabonetse in i"
+-
+-#: cfgrtl.c:1791
+-#, fuzzy, gcc-internal-format
+-msgid "insn %d is in multiple basic blocks (%d and %d)"
+-msgstr "ni in Igikubo BASIC Na"
+-
+-#: cfgrtl.c:1803
+-#, fuzzy, gcc-internal-format
+-msgid "head insn %d for block %d not found in the insn stream"
+-msgstr "kugirango Funga OYA Byabonetse in i"
+-
+-#: cfgrtl.c:1827
+-#, fuzzy, gcc-internal-format
+-msgid "verify_flow_info: REG_BR_PROB does not match cfg %wi %i"
+-msgstr "OYA BIHUYE"
+-
+-#: cfgrtl.c:1842
+-#, gcc-internal-format
+-msgid "fallthru edge crosses section boundary (bb %i)"
+-msgstr ""
+-
+-#: cfgrtl.c:1867
+-#, fuzzy, gcc-internal-format
+-msgid "missing REG_EH_REGION note in the end of bb %i"
+-msgstr "Impugukirwa in i Impera Bya"
+-
+-#: cfgrtl.c:1875
+-#, fuzzy, gcc-internal-format
+-msgid "too many outgoing branch edges from bb %i"
+-msgstr "Bivuye"
+-
+-#: cfgrtl.c:1880
+-#, fuzzy, gcc-internal-format
+-msgid "fallthru edge after unconditional jump %i"
+-msgstr "Nyuma Simbuka"
+-
+-#: cfgrtl.c:1891
+-#, fuzzy, gcc-internal-format
+-msgid "wrong amount of branch edges after conditional jump %i"
+-msgstr "Igiteranyo Bya Nyuma Simbuka"
+-
+-#: cfgrtl.c:1897
+-#, fuzzy, gcc-internal-format
+-msgid "call edges for non-call insn in bb %i"
+-msgstr "kugirango in"
+-
+-#: cfgrtl.c:1906
+-#, fuzzy, gcc-internal-format
+-msgid "abnormal edges for no purpose in bb %i"
+-msgstr "kugirango Oya Intego in"
+-
+-#: cfgrtl.c:1918
+-#, fuzzy, gcc-internal-format
+-msgid "insn %d inside basic block %d but block_for_insn is NULL"
+-msgstr "Mo Imbere BASIC Funga ni"
+-
+-#: cfgrtl.c:1922
+-#, fuzzy, gcc-internal-format
+-msgid "insn %d inside basic block %d but block_for_insn is %i"
+-msgstr "Mo Imbere BASIC Funga ni"
+-
+-#: cfgrtl.c:1936 cfgrtl.c:1946
+-#, fuzzy, gcc-internal-format
+-msgid "NOTE_INSN_BASIC_BLOCK is missing for block %d"
+-msgstr "ni Ibuze kugirango Funga"
+-
+-#: cfgrtl.c:1959
+-#, fuzzy, gcc-internal-format
+-msgid "NOTE_INSN_BASIC_BLOCK %d in middle of basic block %d"
+-msgstr "in Hagati Bya BASIC Funga"
+-
+-#: cfgrtl.c:1969
+-#, fuzzy, gcc-internal-format
+-msgid "in basic block %d:"
+-msgstr "in BASIC Funga"
+-
+-#: cfgrtl.c:2006
+-#, gcc-internal-format
+-msgid "bb prediction set for block %i, but it is not used in RTL land"
+-msgstr ""
+-
+-#: cfgrtl.c:2024
+-#, fuzzy, gcc-internal-format
+-msgid "missing barrier after block %i"
+-msgstr "Ibuze Nyuma Funga"
+-
+-#: cfgrtl.c:2037
+-#, fuzzy, gcc-internal-format
+-msgid "verify_flow_info: Incorrect blocks for fallthru %i->%i"
+-msgstr "kugirango"
+-
+-#: cfgrtl.c:2046
+-#, gcc-internal-format
+-msgid "verify_flow_info: Incorrect fallthru %i->%i"
+-msgstr ""
+-
+-#: cfgrtl.c:2065
+-#, fuzzy, gcc-internal-format
+-msgid "basic blocks not laid down consecutively"
+-msgstr "BASIC OYA Iriho Imibare"
+-
+-#: cfgrtl.c:2104
+-#, fuzzy, gcc-internal-format
+-msgid "number of bb notes in insn chain (%d) != n_basic_blocks (%d)"
+-msgstr "Umubare Bya Ibisobanuro in"
+-
+-#: cgraph.c:892
+-#, gcc-internal-format
+-msgid "%D renamed after being referenced in assembly"
+-msgstr ""
+-
+-#: cgraphunit.c:707
+-#, gcc-internal-format
+-msgid "aux field set for edge %s->%s"
+-msgstr ""
+-
+-#: cgraphunit.c:713
+-#, fuzzy, gcc-internal-format
+-msgid "Execution count is negative"
+-msgstr "Ibumoso: Gusunika IBARA ni"
+-
+-#: cgraphunit.c:720
+-#, fuzzy, gcc-internal-format
+-msgid "caller edge count is negative"
+-msgstr "Ibumoso: Gusunika IBARA ni"
+-
+-#: cgraphunit.c:729
+-#, fuzzy, gcc-internal-format
+-msgid "inlined_to pointer is wrong"
+-msgstr "Icyiciro Mweretsi Ibuze"
+-
+-#: cgraphunit.c:734
+-#, fuzzy, gcc-internal-format
+-msgid "multiple inline callers"
+-msgstr "Igikubo"
+-
+-#: cgraphunit.c:741
+-#, gcc-internal-format
+-msgid "inlined_to pointer set for noninline callers"
+-msgstr ""
+-
+-#: cgraphunit.c:747
+-#, gcc-internal-format
+-msgid "inlined_to pointer is set but no predecessors found"
+-msgstr ""
+-
+-#: cgraphunit.c:752
+-#, fuzzy, gcc-internal-format
+-msgid "inlined_to pointer refers to itself"
+-msgstr "Sibyo Mweretsi Kuri Umwanya"
+-
+-#: cgraphunit.c:762
+-#, fuzzy, gcc-internal-format
+-msgid "node not found in cgraph_hash"
+-msgstr "Uburyo OYA Byabonetse in ishuri"
+-
+-#: cgraphunit.c:790
+-#, gcc-internal-format
+-msgid "shared call_stmt:"
+-msgstr ""
+-
+-#: cgraphunit.c:797
+-#, fuzzy, gcc-internal-format
+-msgid "edge points to wrong declaration:"
+-msgstr "`%s'Kuri"
+-
+-#: cgraphunit.c:806
+-#, gcc-internal-format
+-msgid "missing callgraph edge for call stmt:"
+-msgstr ""
+-
+-#: cgraphunit.c:823
+-#, gcc-internal-format
+-msgid "edge %s->%s has no corresponding call_stmt"
+-msgstr ""
+-
+-#: cgraphunit.c:835
+-#, fuzzy, gcc-internal-format
+-msgid "verify_cgraph_node failed"
+-msgstr "Byanze"
+-
+-#: cgraphunit.c:1017 cgraphunit.c:1040
+-#, gcc-internal-format
+-msgid "%J%<externally_visible%> attribute have effect only on public objects"
+-msgstr ""
+-
+-#: cgraphunit.c:1217
+-#, fuzzy, gcc-internal-format
+-msgid "failed to reclaim unneeded function"
+-msgstr "Umwanya Nka a Umumaro"
+-
+-#: cgraphunit.c:1619
+-#, gcc-internal-format
+-msgid "nodes with no released memory found"
+-msgstr ""
+-
+-#: collect2.c:1172
+-#, fuzzy, gcc-internal-format
+-msgid "unknown demangling style '%s'"
+-msgstr "Kitazwi Ubwoko"
+-
+-#: collect2.c:1495
+-#, fuzzy, gcc-internal-format
+-msgid "%s terminated with signal %d [%s]%s"
+-msgstr "%sNa:"
+-
+-#: collect2.c:1513
+-#, fuzzy, gcc-internal-format
+-msgid "%s returned %d exit status"
+-msgstr "%sGusohoka Imimerere"
+-
+-#: collect2.c:2175
+-#, fuzzy, gcc-internal-format
+-msgid "cannot find 'ldd'"
+-msgstr "Gushaka"
+-
+-#: convert.c:73
+-#, fuzzy, gcc-internal-format
+-msgid "cannot convert to a pointer type"
+-msgstr "GUHINDURA Kuri a Mweretsi Ubwoko"
+-
+-#: convert.c:339
+-#, fuzzy, gcc-internal-format
+-msgid "pointer value used where a floating point value was expected"
+-msgstr "Mweretsi Agaciro a Bihindagurika Akadomo Agaciro Ikitezwe:"
+-
+-#: convert.c:343
+-#, fuzzy, gcc-internal-format
+-msgid "aggregate value used where a float was expected"
+-msgstr "Agaciro a Kureremba Ikitezwe:"
+-
+-#: convert.c:368
+-#, fuzzy, gcc-internal-format
+-msgid "conversion to incomplete type"
+-msgstr "Ihindurangero Kuri Ubwoko"
+-
+-#: convert.c:738 convert.c:813
+-#, fuzzy, gcc-internal-format
+-msgid "can't convert between vector values of different size"
+-msgstr "GUHINDURA hagati Uduciro Bya Ingano"
+-
+-#: convert.c:744
+-#, fuzzy, gcc-internal-format
+-msgid "aggregate value used where an integer was expected"
+-msgstr "Agaciro Umubare wuzuye Ikitezwe:"
+-
+-#: convert.c:793
+-#, fuzzy, gcc-internal-format
+-msgid "pointer value used where a complex was expected"
+-msgstr "Mweretsi Agaciro a ITSINDA RY'IMIBARE C Ikitezwe:"
+-
+-#: convert.c:797
+-#, fuzzy, gcc-internal-format
+-msgid "aggregate value used where a complex was expected"
+-msgstr "Agaciro a ITSINDA RY'IMIBARE C Ikitezwe:"
+-
+-#: convert.c:819
+-#, fuzzy, gcc-internal-format
+-msgid "can't convert value to a vector"
+-msgstr "GUHINDURA Agaciro Kuri a"
+-
+-#: coverage.c:183
+-#, fuzzy, gcc-internal-format
+-msgid "%qs is not a gcov data file"
+-msgstr "\"%s\"ni OYA a Byemewe Izina ry'idosiye:"
+-
+-#: coverage.c:194
+-#, fuzzy, gcc-internal-format
+-msgid "%qs is version %q.*s, expected version %q.*s"
+-msgstr "Musomyi: Verisiyo Gukora: %s%s Verisiyo"
+-
+-#: coverage.c:274 coverage.c:282
+-#, gcc-internal-format
+-msgid "coverage mismatch for function %u while reading execution counters"
+-msgstr ""
+-
+-#: coverage.c:276 coverage.c:359
+-#, gcc-internal-format
+-msgid "checksum is %x instead of %x"
+-msgstr ""
+-
+-#: coverage.c:284 coverage.c:367
+-#, gcc-internal-format
+-msgid "number of counters is %d instead of %d"
+-msgstr ""
+-
+-#: coverage.c:290
+-#, fuzzy, gcc-internal-format
+-msgid "cannot merge separate %s counters for function %u"
+-msgstr "Gukoresha in Hagarikira aho Umumaro"
+-
+-#: coverage.c:311
+-#, fuzzy, gcc-internal-format
+-msgid "%qs has overflowed"
+-msgstr "Byarenze urugero"
+-
+-#: coverage.c:311
+-#, fuzzy, gcc-internal-format
+-msgid "%qs is corrupted"
+-msgstr ""
+-".Project- Id- Version: basctl\n"
+-"POT- Creation- Date: 2003- 12- 07 17: 13+ 02\n"
+-"PO- Revision- Date: 2004- 11- 04 10: 13- 0700\n"
+-"Last- Translator: Language- Team:< en@ li. org> MIME- Version: 1. 0\n"
+-"Content- Type: text/ plain; charset= UTF- 8\n"
+-"Content- Transfer- Encoding: 8bit\n"
+-"X- Generator: KBabel 1. 0\n"
+-"."
+-
+-#: coverage.c:348
+-#, fuzzy, gcc-internal-format
+-msgid "no coverage for function %qs found"
+-msgstr "Sibyo ishuri kugirango Umumaro"
+-
+-#: coverage.c:356 coverage.c:364
+-#, gcc-internal-format
+-msgid "coverage mismatch for function %qs while reading counter %qs"
+-msgstr ""
+-
+-#: coverage.c:523
+-#, fuzzy, gcc-internal-format
+-msgid "cannot open %s"
+-msgstr "Gufungura"
+-
+-#: coverage.c:558
+-#, fuzzy, gcc-internal-format
+-msgid "error writing %qs"
+-msgstr "Ikosa Kuri"
+-
+-#: diagnostic.c:642
+-#, fuzzy, gcc-internal-format
+-msgid "in %s, at %s:%d"
+-msgstr "in ku"
+-
+-#: dominance.c:953
+-#, fuzzy, gcc-internal-format
+-msgid "dominator of %d status unknown"
+-msgstr "Bya OYA"
+-
+-#: dominance.c:955
+-#, fuzzy, gcc-internal-format
+-msgid "dominator of %d should be %d, not %d"
+-msgstr "Bya OYA"
+-
+-#: dominance.c:967
+-#, gcc-internal-format
+-msgid "ENTRY does not dominate bb %d"
+-msgstr ""
+-
+-#: dwarf2out.c:3598
+-#, fuzzy, gcc-internal-format
+-msgid "DW_LOC_OP %s not implemented"
+-msgstr "OYA"
+-
+-#: emit-rtl.c:2235
+-#, fuzzy, gcc-internal-format
+-msgid "invalid rtl sharing found in the insn"
+-msgstr "Sibyo in i"
+-
+-#: emit-rtl.c:2237
+-#, gcc-internal-format
+-msgid "shared rtx"
+-msgstr ""
+-
+-#: emit-rtl.c:2239 flow.c:493 flow.c:518 flow.c:540
+-#, fuzzy, gcc-internal-format
+-msgid "internal consistency failure"
+-msgstr "By'imbere Kureka"
+-
+-#: emit-rtl.c:3299
+-#, gcc-internal-format
+-msgid "ICE: emit_insn used where emit_jump_insn needed:\n"
+-msgstr ""
+-
+-#: errors.c:133 java/jv-scan.c:289
+-#, fuzzy, gcc-internal-format
+-msgid "abort in %s, at %s:%d"
+-msgstr "Kureka in ku"
+-
+-#: except.c:337
+-#, fuzzy, gcc-internal-format
+-msgid "exception handling disabled, use -fexceptions to enable"
+-msgstr "Irengayobora(-) Yahagaritswe Gukoresha Kuri Gushoboza"
+-
+-#: except.c:2879
+-#, fuzzy, gcc-internal-format
+-msgid "argument of %<__builtin_eh_return_regno%> must be constant"
+-msgstr "Bya"
+-
+-#: except.c:3010
+-#, fuzzy, gcc-internal-format
+-msgid "__builtin_eh_return not supported on this target"
+-msgstr "_OYA ku iyi Intego"
+-
+-#: except.c:3871 except.c:3880
+-#, gcc-internal-format
+-msgid "region_array is corrupted for region %i"
+-msgstr ""
+-
+-#: except.c:3885
+-#, gcc-internal-format
+-msgid "outer block of region %i is wrong"
+-msgstr ""
+-
+-#: except.c:3890
+-#, gcc-internal-format
+-msgid "region %i may contain throw and is contained in region that may not"
+-msgstr ""
+-
+-#: except.c:3896
+-#, gcc-internal-format
+-msgid "negative nesting depth of region %i"
+-msgstr ""
+-
+-#: except.c:3916
+-#, gcc-internal-format
+-msgid "tree list ends on depth %i"
+-msgstr ""
+-
+-#: except.c:3921
+-#, fuzzy, gcc-internal-format
+-msgid "array does not match the region tree"
+-msgstr "OYA BIHUYE Umumaro Ubwoko"
+-
+-#: except.c:3927
+-#, fuzzy, gcc-internal-format
+-msgid "verify_eh_tree failed"
+-msgstr "Byanze"
+-
+-#: explow.c:1272
+-#, fuzzy, gcc-internal-format
+-msgid "stack limits not supported on this target"
+-msgstr "Imbibi OYA ku iyi Intego"
+-
+-# basctl/source\basicide\basidesh.src:RID_IMGBTN_REMOVEWATCH.text
+-#: fold-const.c:958 tree-ssa-loop-niter.c:1163 tree-vrp.c:4346
+-#, fuzzy, gcc-internal-format
+-msgid "%H%s"
+-msgstr "%s"
+-
+-#: fold-const.c:1280
+-#, gcc-internal-format
+-msgid "assuming signed overflow does not occur when negating a division"
+-msgstr ""
+-
+-#: fold-const.c:3583 fold-const.c:3594
+-#, fuzzy, gcc-internal-format
+-msgid "comparison is always %d due to width of bit-field"
+-msgstr "ni Buri gihe Kuri Ubugari Bya Umwanya"
+-
+-#: fold-const.c:4868
+-#, gcc-internal-format
+-msgid "assuming signed overflow does not occur when simplifying range test"
+-msgstr ""
+-
+-#: fold-const.c:5247 fold-const.c:5262
+-#, fuzzy, gcc-internal-format
+-msgid "comparison is always %d"
+-msgstr "ni Buri gihe"
+-
+-#: fold-const.c:5391
+-#, fuzzy, gcc-internal-format
+-msgid "%<or%> of unmatched not-equal tests is always 1"
+-msgstr "`Bya OYA bingana ni Buri gihe 1."
+-
+-#: fold-const.c:5396
+-#, fuzzy, gcc-internal-format
+-msgid "%<and%> of mutually exclusive equal-tests is always 0"
+-msgstr "`Bya bingana ni Buri gihe 0"
+-
+-#: fold-const.c:11859
+-#, gcc-internal-format
+-msgid "fold check: original tree changed by fold"
+-msgstr ""
+-
+-#: function.c:376
+-#, fuzzy, gcc-internal-format
+-msgid "%Jtotal size of local objects too large"
+-msgstr "Ingano Bya IMPINDURAGACIRO ni Binini"
+-
+-#: function.c:843 varasm.c:1793
+-#, fuzzy, gcc-internal-format
+-msgid "size of variable %q+D is too large"
+-msgstr "Ingano Bya IMPINDURAGACIRO ni Binini"
+-
+-#: function.c:1560
+-#, fuzzy, gcc-internal-format
+-msgid "impossible constraint in %<asm%>"
+-msgstr "Imbogamizi in"
+-
+-#: function.c:3539
+-#, fuzzy, gcc-internal-format
+-msgid "variable %q+D might be clobbered by %<longjmp%> or %<vfork%>"
+-msgstr "IMPINDURAGACIRO ku Cyangwa"
+-
+-#: function.c:3560
+-#, fuzzy, gcc-internal-format
+-msgid "argument %q+D might be clobbered by %<longjmp%> or %<vfork%>"
+-msgstr "ku Cyangwa"
+-
+-#: function.c:3901
+-#, fuzzy, gcc-internal-format
+-msgid "function returns an aggregate"
+-msgstr "Umumaro"
+-
+-#: function.c:4294
+-#, fuzzy, gcc-internal-format
+-msgid "unused parameter %q+D"
+-msgstr "Kidakoreshwa"
+-
+-#: gcc.c:1257
+-#, fuzzy, gcc-internal-format
+-msgid "ambiguous abbreviation %s"
+-msgstr "Impine"
+-
+-#: gcc.c:1284
+-#, fuzzy, gcc-internal-format
+-msgid "incomplete '%s' option"
+-msgstr "Ihitamo"
+-
+-#: gcc.c:1295
+-#, fuzzy, gcc-internal-format
+-msgid "missing argument to '%s' option"
+-msgstr "Ibuze Kuri Ihitamo"
+-
+-#: gcc.c:1308
+-#, fuzzy, gcc-internal-format
+-msgid "extraneous argument to '%s' option"
+-msgstr "Kuri Ihitamo"
+-
+-#: gcc.c:3935
+-#, fuzzy, gcc-internal-format
+-msgid "warning: -pipe ignored because -save-temps specified"
+-msgstr "Iburira Kubika"
+-
+-#: gcc.c:4236
+-#, fuzzy, gcc-internal-format
+-msgid "warning: '-x %s' after last input file has no effect"
+-msgstr "Iburira X Nyuma Iheruka Iyinjiza IDOSIYE Oya INGARUKA"
+-
+-#. Catch the case where a spec string contains something like
+-#. '%{foo:%*}'. i.e. there is no * in the pattern on the left
+-#. hand side of the :.
+-#: gcc.c:5266
+-#, fuzzy, gcc-internal-format
+-msgid "spec failure: '%%*' has not been initialized by pattern match"
+-msgstr "OYA ku Ishusho BIHUYE"
+-
+-#: gcc.c:5275
+-#, fuzzy, gcc-internal-format
+-msgid "warning: use of obsolete %%[ operator in specs"
+-msgstr "Iburira Gukoresha Bya Mukoresha in"
+-
+-#: gcc.c:5356
+-#, fuzzy, gcc-internal-format
+-msgid "spec failure: unrecognized spec option '%c'"
+-msgstr "Ihitamo"
+-
+-#: gcc.c:6254
+-#, gcc-internal-format
+-msgid "spec failure: more than one arg to SYSROOT_SUFFIX_SPEC"
+-msgstr ""
+-
+-#: gcc.c:6277
+-#, gcc-internal-format
+-msgid "spec failure: more than one arg to SYSROOT_HEADERS_SUFFIX_SPEC"
+-msgstr ""
+-
+-#: gcc.c:6366
+-#, fuzzy, gcc-internal-format
+-msgid "unrecognized option '-%s'"
+-msgstr "Ihitamo"
+-
+-#: gcc.c:6559 gcc.c:6622
+-#, fuzzy, gcc-internal-format
+-msgid "%s: %s compiler not installed on this system"
+-msgstr "%s:%sOYA ku iyi Sisitemu"
+-
+-#: gcc.c:6714
+-#, fuzzy, gcc-internal-format
+-msgid "%s: linker input file unused because linking not done"
+-msgstr "%s:Iyinjiza IDOSIYE Kidakoreshwa Impuza OYA Byakozwe"
+-
+-#: gcc.c:6754
+-#, fuzzy, gcc-internal-format
+-msgid "language %s not recognized"
+-msgstr "Ururimi OYA"
+-
+-# desktop/source\app\ssodlg.src:DLG_SSOLOGIN.text
+-#: gcc.c:6825
+-#, fuzzy, gcc-internal-format
+-msgid "%s: %s"
+-msgstr "%s:%s"
+-
+-#: gcse.c:6592
+-#, fuzzy, gcc-internal-format
+-msgid "%s: %d basic blocks and %d edges/basic block"
+-msgstr "Yahagaritswe 1000 BASIC Na 20 BASIC Funga"
+-
+-#: gcse.c:6605
+-#, fuzzy, gcc-internal-format
+-msgid "%s: %d basic blocks and %d registers"
+-msgstr "Yahagaritswe BASIC Na"
+-
+-#: ggc-common.c:404 ggc-common.c:412 ggc-common.c:480 ggc-common.c:499
+-#: ggc-page.c:2136 ggc-page.c:2167 ggc-page.c:2174 ggc-zone.c:2291
+-#: ggc-zone.c:2306
+-#, fuzzy, gcc-internal-format
+-msgid "can't write PCH file: %m"
+-msgstr "Kwandika Kuri Ibisohoka IDOSIYE"
+-
+-#: ggc-common.c:492 config/i386/host-cygwin.c:58
+-#, fuzzy, gcc-internal-format
+-msgid "can't get position in PCH file: %m"
+-msgstr "Kurema Ibisobanuro IDOSIYE"
+-
+-#: ggc-common.c:502
+-#, fuzzy, gcc-internal-format
+-msgid "can't write padding to PCH file: %m"
+-msgstr "Kwandika Kuri Ibisohoka IDOSIYE"
+-
+-#: ggc-common.c:557 ggc-common.c:565 ggc-common.c:572 ggc-common.c:575
+-#: ggc-common.c:585 ggc-common.c:588 ggc-page.c:2261 ggc-zone.c:2325
+-#, fuzzy, gcc-internal-format
+-msgid "can't read PCH file: %m"
+-msgstr "Gusoma Bivuye IDOSIYE"
+-
+-#: ggc-common.c:580
+-#, gcc-internal-format
+-msgid "had to relocate PCH"
+-msgstr ""
+-
+-#: ggc-page.c:1471
+-#, gcc-internal-format
+-msgid "open /dev/zero: %m"
+-msgstr ""
+-
+-#: ggc-page.c:2152 ggc-page.c:2158
+-#, fuzzy, gcc-internal-format
+-msgid "can't write PCH file"
+-msgstr "Kwandika Kuri Ibisohoka IDOSIYE"
+-
+-#: ggc-zone.c:2288 ggc-zone.c:2299
+-#, fuzzy, gcc-internal-format
+-msgid "can't seek PCH file: %m"
+-msgstr "Gufunga Iyinjiza IDOSIYE"
+-
+-#: ggc-zone.c:2302
+-#, fuzzy, gcc-internal-format
+-msgid "can't write PCH fle: %m"
+-msgstr "Kwandika Kuri Ibisohoka IDOSIYE"
+-
+-#: gimplify.c:3952
+-#, fuzzy, gcc-internal-format
+-msgid "invalid lvalue in asm output %d"
+-msgstr "Sibyo in Inyandiko"
+-
+-#: gimplify.c:4064
+-#, fuzzy, gcc-internal-format
+-msgid "memory input %d is not directly addressable"
+-msgstr "Ibisohoka Umubare OYA"
+-
+-#: gimplify.c:4537
+-#, gcc-internal-format
+-msgid "%qs not specified in enclosing parallel"
+-msgstr ""
+-
+-#: gimplify.c:4539
+-#, gcc-internal-format
+-msgid "%Henclosing parallel"
+-msgstr ""
+-
+-#: gimplify.c:4593
+-#, fuzzy, gcc-internal-format
+-msgid "iteration variable %qs should be private"
+-msgstr "Urugero IMPINDURAGACIRO ni By'umwihariko"
+-
+-#: gimplify.c:4607
+-#, fuzzy, gcc-internal-format
+-msgid "iteration variable %qs should not be firstprivate"
+-msgstr "Urugero IMPINDURAGACIRO ni By'umwihariko"
+-
+-#: gimplify.c:4610
+-#, fuzzy, gcc-internal-format
+-msgid "iteration variable %qs should not be reduction"
+-msgstr "Kwiyandikisha IMPINDURAGACIRO in Umumaro"
+-
+-#: gimplify.c:4734
+-#, gcc-internal-format
+-msgid "%s variable %qs is private in outer context"
+-msgstr ""
+-
+-#: gimplify.c:6025
+-#, gcc-internal-format
+-msgid "gimplification failed"
+-msgstr ""
+-
+-#: global.c:375 global.c:388 global.c:402
+-#, fuzzy, gcc-internal-format
+-msgid "%s cannot be used in asm here"
+-msgstr "`%E'Nka a Umumaro"
+-
+-#: graph.c:403 java/jcf-parse.c:1083 java/jcf-parse.c:1218 java/lex.c:1855
+-#: objc/objc-act.c:500
+-#, fuzzy, gcc-internal-format
+-msgid "can't open %s: %m"
+-msgstr "Gufungura"
+-
+-#: haifa-sched.c:184
+-#, fuzzy, gcc-internal-format
+-msgid "fix_sched_param: unknown param: %s"
+-msgstr "Kitazwi"
+-
+-#: omp-low.c:1266
+-#, gcc-internal-format
+-msgid "work-sharing region may not be closely nested inside of work-sharing, critical, ordered or master region"
+-msgstr ""
+-
+-#: omp-low.c:1282
+-#, gcc-internal-format
+-msgid "master region may not be closely nested inside of work-sharing region"
+-msgstr ""
+-
+-#: omp-low.c:1296
+-#, gcc-internal-format
+-msgid "ordered region may not be closely nested inside of critical region"
+-msgstr ""
+-
+-#: omp-low.c:1302
+-#, gcc-internal-format
+-msgid "ordered region must be closely nested inside a loop region with an ordered clause"
+-msgstr ""
+-
+-#: omp-low.c:1316
+-#, gcc-internal-format
+-msgid "critical region may not be nested inside a critical region with the same name"
+-msgstr ""
+-
+-#: omp-low.c:4459 cp/decl.c:2515 cp/parser.c:6919 cp/parser.c:6939
+-#, gcc-internal-format
+-msgid "invalid exit from OpenMP structured block"
+-msgstr ""
+-
+-#: omp-low.c:4461
+-#, gcc-internal-format
+-msgid "invalid entry to OpenMP structured block"
+-msgstr ""
+-
+-#. Eventually this should become a hard error IMO.
+-#: opts.c:186
+-#, fuzzy, gcc-internal-format
+-msgid "command line option \"%s\" is valid for %s but not for %s"
+-msgstr "\"-%s\"ni Byemewe kugirango OYA kugirango"
+-
+-#: opts.c:240
+-#, fuzzy, gcc-internal-format
+-msgid "command line option %qs is not supported by this configuration"
+-msgstr "%sni OYA ku iyi Iboneza"
+-
+-#: opts.c:284
+-#, fuzzy, gcc-internal-format
+-msgid "missing argument to \"%s\""
+-msgstr "Ibuze Kuri"
+-
+-#: opts.c:294
+-#, fuzzy, gcc-internal-format
+-msgid "argument to \"%s\" should be a non-negative integer"
+-msgstr "Kuri a 2. Bitashizweho umukono"
+-
+-#: opts.c:382
+-#, fuzzy, gcc-internal-format
+-msgid "unrecognized command line option \"%s\""
+-msgstr "Komandi: Umurongo Ihitamo"
+-
+-#: opts.c:594
+-#, fuzzy, gcc-internal-format
+-msgid "-Wuninitialized is not supported without -O"
+-msgstr "-ni OYA"
+-
+-#: opts.c:609
+-#, gcc-internal-format
+-msgid "-freorder-blocks-and-partition does not work with exceptions"
+-msgstr ""
+-
+-#: opts.c:620
+-#, gcc-internal-format
+-msgid "-freorder-blocks-and-partition does not support unwind info"
+-msgstr ""
+-
+-#: opts.c:634
+-#, gcc-internal-format
+-msgid "-freorder-blocks-and-partition does not work on this architecture"
+-msgstr ""
+-
+-#: opts.c:697
+-#, gcc-internal-format
+-msgid "-Werror=%s: No option -%s"
+-msgstr ""
+-
+-#: opts.c:836
+-#, fuzzy, gcc-internal-format
+-msgid "structure alignment must be a small power of two, not %d"
+-msgstr "Itunganya a Gitoya UMWIKUBE Bya OYA"
+-
+-#: opts.c:891
+-#, fuzzy, gcc-internal-format
+-msgid "unrecognized visibility value \"%s\""
+-msgstr "Icyiciro Izina:"
+-
+-#: opts.c:939
+-#, fuzzy, gcc-internal-format
+-msgid "unrecognized register name \"%s\""
+-msgstr "Kwiyandikisha Izina:"
+-
+-#: opts.c:963
+-#, fuzzy, gcc-internal-format
+-msgid "unknown tls-model \"%s\""
+-msgstr "`%s':Kitazwi TLS Urugero Ihitamo"
+-
+-#: opts.c:1013
+-#, gcc-internal-format
+-msgid "-f[no-]force-mem is nop and option will be removed in 4.3"
+-msgstr ""
+-
+-#: opts.c:1042
+-#, gcc-internal-format
+-msgid "%s: --param arguments should be of the form NAME=VALUE"
+-msgstr ""
+-
+-#: opts.c:1047
+-#, fuzzy, gcc-internal-format
+-msgid "invalid --param value %qs"
+-msgstr "Sibyo Agaciro"
+-
+-#: opts.c:1144
+-#, fuzzy, gcc-internal-format
+-msgid "target system does not support debug output"
+-msgstr "Intego Imiterere OYA Gushigikira Bidashira"
+-
+-#: opts.c:1151
+-#, fuzzy, gcc-internal-format
+-msgid "debug format \"%s\" conflicts with prior selection"
+-msgstr "Ibyatanzwe Ubuso Bya Na: Ibanjirije"
+-
+-#: opts.c:1167
+-#, fuzzy, gcc-internal-format
+-msgid "unrecognised debug output level \"%s\""
+-msgstr "Icyiciro Izina:"
+-
+-#: opts.c:1169
+-#, gcc-internal-format
+-msgid "debug output level %s is too high"
+-msgstr ""
+-
+-#: params.c:71
+-#, fuzzy, gcc-internal-format
+-msgid "minimum value of parameter %qs is %u"
+-msgstr "Ikigenderwaho sicyo"
+-
+-#: params.c:76
+-#, gcc-internal-format
+-msgid "maximum value of parameter %qs is %u"
+-msgstr ""
+-
+-#. If we didn't find this parameter, issue an error message.
+-#: params.c:85
+-#, fuzzy, gcc-internal-format
+-msgid "invalid parameter %qs"
+-msgstr "Ikigenderwaho sicyo"
+-
+-#: profile.c:280
+-#, gcc-internal-format
+-msgid "corrupted profile info: run_max * runs < sum_max"
+-msgstr ""
+-
+-#: profile.c:286
+-#, gcc-internal-format
+-msgid "corrupted profile info: sum_all is smaller than sum_max"
+-msgstr ""
+-
+-#: profile.c:331
+-#, fuzzy, gcc-internal-format
+-msgid "corrupted profile info: edge from %i to %i exceeds maximal count"
+-msgstr "Ibijyana Ibisobanuro PROB kugirango Kuri"
+-
+-#: profile.c:495
+-#, fuzzy, gcc-internal-format
+-msgid "corrupted profile info: number of iterations for basic block %d thought to be %i"
+-msgstr "Ibijyana Ibisobanuro PROB kugirango Kuri"
+-
+-#: profile.c:516
+-#, fuzzy, gcc-internal-format
+-msgid "corrupted profile info: number of executions for edge %d-%d thought to be %i"
+-msgstr "Ibijyana Ibisobanuro PROB kugirango Kuri"
+-
+-#: reg-stack.c:535
+-#, fuzzy, gcc-internal-format
+-msgid "output constraint %d must specify a single register"
+-msgstr "Ibisohoka Imbogamizi a UMWE Kwiyandikisha"
+-
+-#: reg-stack.c:545
+-#, fuzzy, gcc-internal-format
+-msgid "output constraint %d cannot be specified together with \"%s\" clobber"
+-msgstr "Ibisohoka Imbogamizi Na:"
+-
+-#: reg-stack.c:568
+-#, fuzzy, gcc-internal-format
+-msgid "output regs must be grouped at top of stack"
+-msgstr "Ibisohoka ku Hejuru: Bya"
+-
+-#: reg-stack.c:605
+-#, fuzzy, gcc-internal-format
+-msgid "implicitly popped regs must be grouped at top of stack"
+-msgstr "ku Hejuru: Bya"
+-
+-#: reg-stack.c:624
+-#, fuzzy, gcc-internal-format
+-msgid "output operand %d must use %<&%> constraint"
+-msgstr "Ibisohoka Gukoresha Imbogamizi"
+-
+-#: regclass.c:740
+-#, fuzzy, gcc-internal-format
+-msgid "can't use '%s' as a %s register"
+-msgstr "Gukoresha Nka a Kwiyandikisha"
+-
+-#: regclass.c:755 config/ia64/ia64.c:5096 config/ia64/ia64.c:5103
+-#: config/pa/pa.c:351 config/pa/pa.c:358
+-#, fuzzy, gcc-internal-format
+-msgid "unknown register name: %s"
+-msgstr "Kitazwi Kwiyandikisha Izina:"
+-
+-#: regclass.c:765
+-#, fuzzy, gcc-internal-format
+-msgid "global register variable follows a function definition"
+-msgstr "Kwiyandikisha IMPINDURAGACIRO a Umumaro Insobanuro"
+-
+-#: regclass.c:769
+-#, fuzzy, gcc-internal-format
+-msgid "register used for two global register variables"
+-msgstr "Kwiyandikisha kugirango Kwiyandikisha Ibihinduka"
+-
+-#: regclass.c:774
+-#, fuzzy, gcc-internal-format
+-msgid "call-clobbered register used for global register variable"
+-msgstr "Kwiyandikisha kugirango Kwiyandikisha IMPINDURAGACIRO"
+-
+-#: regrename.c:1937
+-#, fuzzy, gcc-internal-format
+-msgid "validate_value_data: [%u] Bad next_regno for empty chain (%u)"
+-msgstr "kugirango ubusa"
+-
+-#: regrename.c:1949
+-#, fuzzy, gcc-internal-format
+-msgid "validate_value_data: Loop in regno chain (%u)"
+-msgstr "in"
+-
+-#: regrename.c:1952
+-#, gcc-internal-format
+-msgid "validate_value_data: [%u] Bad oldest_regno (%u)"
+-msgstr ""
+-
+-#: regrename.c:1964
+-#, fuzzy, gcc-internal-format
+-msgid "validate_value_data: [%u] Non-empty reg in chain (%s %u %i)"
+-msgstr "ubusa in"
+-
+-#: reload.c:1249
+-#, fuzzy, gcc-internal-format
+-msgid "cannot reload integer constant operand in %<asm%>"
+-msgstr "Kongera Gutangiza Umubare wuzuye in"
+-
+-#: reload.c:1272
+-#, fuzzy, gcc-internal-format
+-msgid "impossible register constraint in %<asm%>"
+-msgstr "Kwiyandikisha Imbogamizi in"
+-
+-#: reload.c:3572
+-#, fuzzy, gcc-internal-format
+-msgid "%<&%> constraint used with no register class"
+-msgstr "`&'Imbogamizi Na: Oya Kwiyandikisha ishuri"
+-
+-#: reload.c:3743 reload.c:3983
+-#, fuzzy, gcc-internal-format
+-msgid "inconsistent operand constraints in an %<asm%>"
+-msgstr "in"
+-
+-#: reload1.c:1239
+-#, fuzzy, gcc-internal-format
+-msgid "%<asm%> operand has impossible constraints"
+-msgstr "BIHUYE"
+-
+-#: reload1.c:1259
+-#, fuzzy, gcc-internal-format
+-msgid "frame size too large for reliable stack checking"
+-msgstr "Ikadiri Ingano Binini kugirango"
+-
+-#: reload1.c:1262
+-#, fuzzy, gcc-internal-format
+-msgid "try reducing the number of local variables"
+-msgstr "i Umubare Bya Ibihinduka"
+-
+-#: reload1.c:1925
+-#, fuzzy, gcc-internal-format
+-msgid "can't find a register in class %qs while reloading %<asm%>"
+-msgstr "Gushaka a Kwiyandikisha in ishuri"
+-
+-#: reload1.c:1930
+-#, fuzzy, gcc-internal-format
+-msgid "unable to find a register to spill in class %qs"
+-msgstr "Kuri Gushaka a Kwiyandikisha Kuri in ishuri"
+-
+-#: reload1.c:4021
+-#, fuzzy, gcc-internal-format
+-msgid "%<asm%> operand requires impossible reload"
+-msgstr "`Kongera Gutangiza"
+-
+-#: reload1.c:5184
+-#, fuzzy, gcc-internal-format
+-msgid "%<asm%> operand constraint incompatible with operand size"
+-msgstr "`Imbogamizi Na: Ingano"
+-
+-#: reload1.c:6836
+-#, fuzzy, gcc-internal-format
+-msgid "output operand is constant in %<asm%>"
+-msgstr "Ibisohoka ni in"
+-
+-#: rtl.c:481
+-#, fuzzy, gcc-internal-format
+-msgid "RTL check: access of elt %d of '%s' with last elt %d in %s, at %s:%d"
+-msgstr "Kugenzura... Bya Bya Na: Iheruka in ku"
+-
+-#: rtl.c:491
+-#, fuzzy, gcc-internal-format
+-msgid "RTL check: expected elt %d type '%c', have '%c' (rtx %s) in %s, at %s:%d"
+-msgstr "Kugenzura... Ikitezwe: Ubwoko in ku"
+-
+-#: rtl.c:501
+-#, fuzzy, gcc-internal-format
+-msgid "RTL check: expected elt %d type '%c' or '%c', have '%c' (rtx %s) in %s, at %s:%d"
+-msgstr "Kugenzura... Ikitezwe: Ubwoko Cyangwa in ku"
+-
+-#: rtl.c:510
+-#, fuzzy, gcc-internal-format
+-msgid "RTL check: expected code '%s', have '%s' in %s, at %s:%d"
+-msgstr "Kugenzura... Ikitezwe: ITEGEKONGENGA in ku"
+-
+-#: rtl.c:520
+-#, fuzzy, gcc-internal-format
+-msgid "RTL check: expected code '%s' or '%s', have '%s' in %s, at %s:%d"
+-msgstr "Kugenzura... Ikitezwe: ITEGEKONGENGA Cyangwa in ku"
+-
+-#: rtl.c:547
+-#, fuzzy, gcc-internal-format
+-msgid "RTL check: attempt to treat non-block symbol as a block symbol in %s, at %s:%d"
+-msgstr "Kugenzura... Bya Bya Na: Iheruka in ku"
+-
+-#: rtl.c:557
+-#, fuzzy, gcc-internal-format
+-msgid "RTL check: access of elt %d of vector with last elt %d in %s, at %s:%d"
+-msgstr "Kugenzura... Bya Bya Na: Iheruka in ku"
+-
+-#: rtl.c:568
+-#, fuzzy, gcc-internal-format
+-msgid "RTL flag check: %s used with unexpected rtx code '%s' in %s, at %s:%d"
+-msgstr "Ibendera Kugenzura... Na: ITEGEKONGENGA in ku"
+-
+-#: stmt.c:316
+-#, fuzzy, gcc-internal-format
+-msgid "output operand constraint lacks %<=%>"
+-msgstr "Ibisohoka Imbogamizi"
+-
+-#: stmt.c:331
+-#, fuzzy, gcc-internal-format
+-msgid "output constraint %qc for operand %d is not at the beginning"
+-msgstr "Ibisohoka Imbogamizi kugirango ni OYA ku i Itangiriro"
+-
+-#: stmt.c:354
+-#, fuzzy, gcc-internal-format
+-msgid "operand constraint contains incorrectly positioned %<+%> or %<=%>"
+-msgstr "Imbogamizi Kirimo Cyangwa"
+-
+-#: stmt.c:361 stmt.c:460
+-#, fuzzy, gcc-internal-format
+-msgid "%<%%%> constraint used with last operand"
+-msgstr "`%%'Imbogamizi Na: Iheruka"
+-
+-#: stmt.c:380
+-#, fuzzy, gcc-internal-format
+-msgid "matching constraint not valid in output operand"
+-msgstr "Imbogamizi OYA Byemewe in Ibisohoka"
+-
+-#: stmt.c:451
+-#, fuzzy, gcc-internal-format
+-msgid "input operand constraint contains %qc"
+-msgstr "Iyinjiza Imbogamizi Kirimo"
+-
+-#: stmt.c:493
+-#, fuzzy, gcc-internal-format
+-msgid "matching constraint references invalid operand number"
+-msgstr "Imbogamizi Indango Sibyo Umubare"
+-
+-#: stmt.c:531
+-#, fuzzy, gcc-internal-format
+-msgid "invalid punctuation %qc in constraint"
+-msgstr "Sibyo in Imbogamizi"
+-
+-#: stmt.c:555
+-#, fuzzy, gcc-internal-format
+-msgid "matching constraint does not allow a register"
+-msgstr "Imbogamizi OYA Byemewe in Ibisohoka"
+-
+-#: stmt.c:614
+-#, fuzzy, gcc-internal-format
+-msgid "asm-specifier for variable %qs conflicts with asm clobber list"
+-msgstr "kugirango IMPINDURAGACIRO Na: Urutonde"
+-
+-#: stmt.c:706
+-#, fuzzy, gcc-internal-format
+-msgid "unknown register name %qs in %<asm%>"
+-msgstr "Kitazwi Kwiyandikisha Izina: in"
+-
+-#: stmt.c:714
+-#, gcc-internal-format
+-msgid "PIC register %qs clobbered in %<asm%>"
+-msgstr ""
+-
+-#: stmt.c:761
+-#, fuzzy, gcc-internal-format
+-msgid "more than %d operands in %<asm%>"
+-msgstr "Birenzeho in"
+-
+-#: stmt.c:824
+-#, fuzzy, gcc-internal-format
+-msgid "output number %d not directly addressable"
+-msgstr "Ibisohoka Umubare OYA"
+-
+-#: stmt.c:907
+-#, fuzzy, gcc-internal-format
+-msgid "asm operand %d probably doesn%'t match constraints"
+-msgstr "BIHUYE"
+-
+-#: stmt.c:917
+-#, gcc-internal-format
+-msgid "use of memory input without lvalue in asm operand %d is deprecated"
+-msgstr ""
+-
+-#: stmt.c:1064
+-#, fuzzy, gcc-internal-format
+-msgid "asm clobber conflict with output operand"
+-msgstr "Na: Ibisohoka"
+-
+-#: stmt.c:1069
+-#, fuzzy, gcc-internal-format
+-msgid "asm clobber conflict with input operand"
+-msgstr "Na: Iyinjiza"
+-
+-#: stmt.c:1146
+-#, fuzzy, gcc-internal-format
+-msgid "too many alternatives in %<asm%>"
+-msgstr "in"
+-
+-#: stmt.c:1158
+-#, fuzzy, gcc-internal-format
+-msgid "operand constraints for %<asm%> differ in number of alternatives"
+-msgstr "kugirango in Umubare Bya"
+-
+-#: stmt.c:1211
+-#, fuzzy, gcc-internal-format
+-msgid "duplicate asm operand name %qs"
+-msgstr "Gusubiramo Izina:"
+-
+-#: stmt.c:1309
+-#, fuzzy, gcc-internal-format
+-msgid "missing close brace for named operand"
+-msgstr "Ibuze Gufunga kugirango"
+-
+-#: stmt.c:1337
+-#, fuzzy, gcc-internal-format
+-msgid "undefined named operand %qs"
+-msgstr "kidasobanuye"
+-
+-#: stmt.c:1481
+-#, fuzzy, gcc-internal-format
+-msgid "%Hvalue computed is not used"
+-msgstr "ni OYA"
+-
+-#: stor-layout.c:150
+-#, fuzzy, gcc-internal-format
+-msgid "type size can%'t be explicitly evaluated"
+-msgstr "Ubwoko Ingano"
+-
+-#: stor-layout.c:152
+-#, fuzzy, gcc-internal-format
+-msgid "variable-size type declared outside of any function"
+-msgstr "IMPINDURAGACIRO Ingano Ubwoko Hanze Bya Umumaro"
+-
+-#: stor-layout.c:467
+-#, fuzzy, gcc-internal-format
+-msgid "size of %q+D is %d bytes"
+-msgstr "Ingano Bya ni Bayite"
+-
+-#: stor-layout.c:469
+-#, fuzzy, gcc-internal-format
+-msgid "size of %q+D is larger than %wd bytes"
+-msgstr "Ingano Bya ni Kinini Bayite"
+-
+-#: stor-layout.c:891
+-#, fuzzy, gcc-internal-format
+-msgid "packed attribute causes inefficient alignment for %q+D"
+-msgstr "Ikiranga Itunganya kugirango"
+-
+-#: stor-layout.c:894
+-#, fuzzy, gcc-internal-format
+-msgid "packed attribute is unnecessary for %q+D"
+-msgstr "Ikiranga ni kugirango"
+-
+-#. No, we need to skip space before this field.
+-#. Bump the cumulative size to multiple of field alignment.
+-#: stor-layout.c:911
+-#, fuzzy, gcc-internal-format
+-msgid "padding struct to align %q+D"
+-msgstr "Wuzuza: Kuri Gutondeka"
+-
+-#: stor-layout.c:1262
+-#, fuzzy, gcc-internal-format
+-msgid "padding struct size to alignment boundary"
+-msgstr "Wuzuza: Ingano Kuri Itunganya"
+-
+-#: stor-layout.c:1292
+-#, fuzzy, gcc-internal-format
+-msgid "packed attribute causes inefficient alignment for %qs"
+-msgstr "Ikiranga Itunganya kugirango"
+-
+-#: stor-layout.c:1296
+-#, fuzzy, gcc-internal-format
+-msgid "packed attribute is unnecessary for %qs"
+-msgstr "Ikiranga ni kugirango"
+-
+-#: stor-layout.c:1302
+-#, fuzzy, gcc-internal-format
+-msgid "packed attribute causes inefficient alignment"
+-msgstr "Ikiranga Itunganya"
+-
+-#: stor-layout.c:1304
+-#, fuzzy, gcc-internal-format
+-msgid "packed attribute is unnecessary"
+-msgstr "Ikiranga ni"
+-
+-#: stor-layout.c:1816
+-#, fuzzy, gcc-internal-format
+-msgid "alignment of array elements is greater than element size"
+-msgstr "Itunganya Bya ni Biruta Kinini Igikoresho IDOSIYE Itunganya"
+-
+-#: targhooks.c:101
+-#, fuzzy, gcc-internal-format
+-msgid "__builtin_saveregs not supported by this target"
+-msgstr "_OYA ku iyi Intego"
+-
+-#: tlink.c:484
+-#, gcc-internal-format
+-msgid "repository file '%s' does not contain command-line arguments"
+-msgstr ""
+-
+-#: tlink.c:729
+-#, gcc-internal-format
+-msgid "'%s' was assigned to '%s', but was not defined during recompilation, or vice versa"
+-msgstr ""
+-
+-#: tlink.c:799
+-#, fuzzy, gcc-internal-format
+-msgid "ld returned %d exit status"
+-msgstr "Gusohoka Imimerere"
+-
+-#: toplev.c:523
+-#, fuzzy, gcc-internal-format
+-msgid "invalid option argument %qs"
+-msgstr "Sibyo Ihitamo Icyinjijwe"
+-
+-#: toplev.c:621
+-#, gcc-internal-format
+-msgid "getting core file size maximum limit: %m"
+-msgstr ""
+-
+-#: toplev.c:624
+-#, gcc-internal-format
+-msgid "setting core file size limit to maximum: %m"
+-msgstr ""
+-
+-#: toplev.c:842
+-#, fuzzy, gcc-internal-format
+-msgid "%q+F declared %<static%> but never defined"
+-msgstr "`%s'Nta narimwe"
+-
+-#: toplev.c:867
+-#, fuzzy, gcc-internal-format
+-msgid "%q+D defined but not used"
+-msgstr "`%s'OYA"
+-
+-#: toplev.c:910 toplev.c:934
+-#, fuzzy, gcc-internal-format
+-msgid "%qs is deprecated (declared at %s:%d)"
+-msgstr "`%s'ni Bitemewe. ku"
+-
+-#: toplev.c:938
+-#, fuzzy, gcc-internal-format
+-msgid "type is deprecated (declared at %s:%d)"
+-msgstr "Ubwoko ni Bitemewe. ku"
+-
+-#: toplev.c:944
+-#, fuzzy, gcc-internal-format
+-msgid "%qs is deprecated"
+-msgstr "`%s'ni Bitemewe."
+-
+-#: toplev.c:946
+-#, fuzzy, gcc-internal-format
+-msgid "type is deprecated"
+-msgstr "Ubwoko ni Bitemewe."
+-
+-#: toplev.c:966 toplev.c:993
+-#, gcc-internal-format
+-msgid "GCC supports only %d input file changes"
+-msgstr ""
+-
+-#: toplev.c:1140
+-#, fuzzy, gcc-internal-format
+-msgid "unrecognized gcc debugging option: %c"
+-msgstr "Ihitamo"
+-
+-#: toplev.c:1293
+-#, fuzzy, gcc-internal-format
+-msgid "can%'t open %s for writing: %m"
+-msgstr "Gufungura kugirango"
+-
+-#: toplev.c:1577
+-#, fuzzy, gcc-internal-format
+-msgid "this target does not support %qs"
+-msgstr "%sOYA Gushigikira"
+-
+-#: toplev.c:1648
+-#, fuzzy, gcc-internal-format
+-msgid "instruction scheduling not supported on this target machine"
+-msgstr "OYA ku iyi Intego"
+-
+-#: toplev.c:1652
+-#, fuzzy, gcc-internal-format
+-msgid "this target machine does not have delayed branches"
+-msgstr "iyi Intego OYA"
+-
+-#: toplev.c:1666
+-#, fuzzy, gcc-internal-format
+-msgid "-f%sleading-underscore not supported on this target machine"
+-msgstr "-F OYA ku iyi Intego"
+-
+-#: toplev.c:1739
+-#, fuzzy, gcc-internal-format
+-msgid "target system does not support the \"%s\" debug format"
+-msgstr "%sOYA Gushigikira i Imiterere"
+-
+-#: toplev.c:1751
+-#, gcc-internal-format
+-msgid "variable tracking requested, but useless unless producing debug info"
+-msgstr ""
+-
+-#: toplev.c:1754
+-#, gcc-internal-format
+-msgid "variable tracking requested, but not supported by this debug format"
+-msgstr ""
+-
+-#: toplev.c:1774
+-#, fuzzy, gcc-internal-format
+-msgid "can%'t open %s: %m"
+-msgstr "Gufungura"
+-
+-#: toplev.c:1781
+-#, fuzzy, gcc-internal-format
+-msgid "-ffunction-sections not supported for this target"
+-msgstr "-Ibyatoranyijwe OYA kugirango iyi Intego"
+-
+-#: toplev.c:1786
+-#, fuzzy, gcc-internal-format
+-msgid "-fdata-sections not supported for this target"
+-msgstr "-Ibyatoranyijwe OYA kugirango iyi Intego"
+-
+-#: toplev.c:1793
+-#, fuzzy, gcc-internal-format
+-msgid "-ffunction-sections disabled; it makes profiling impossible"
+-msgstr "-Ibyatoranyijwe Yahagaritswe"
+-
+-#: toplev.c:1800
+-#, fuzzy, gcc-internal-format
+-msgid "-fprefetch-loop-arrays not supported for this target"
+-msgstr "-OYA kugirango iyi Intego"
+-
+-#: toplev.c:1806
+-#, fuzzy, gcc-internal-format
+-msgid "-fprefetch-loop-arrays not supported for this target (try -march switches)"
+-msgstr "-OYA kugirango iyi Intego Werurwe"
+-
+-#: toplev.c:1815
+-#, fuzzy, gcc-internal-format
+-msgid "-fprefetch-loop-arrays is not supported with -Os"
+-msgstr "-ni OYA Na:"
+-
+-#: toplev.c:1822
+-#, fuzzy, gcc-internal-format
+-msgid "-ffunction-sections may affect debugging on some targets"
+-msgstr "-Ibyatoranyijwe Gicurasi ku"
+-
+-#: toplev.c:1838
+-#, fuzzy, gcc-internal-format
+-msgid "-fstack-protector not supported for this target"
+-msgstr "-Ibyatoranyijwe OYA kugirango iyi Intego"
+-
+-#: toplev.c:1851
+-#, gcc-internal-format
+-msgid "unwind tables currently requires a frame pointer for correctness"
+-msgstr ""
+-
+-#: toplev.c:1955
+-#, fuzzy, gcc-internal-format
+-msgid "error writing to %s: %m"
+-msgstr "Ikosa Kuri"
+-
+-#: toplev.c:1957 java/jcf-parse.c:1102 java/jcf-write.c:3541
+-#, fuzzy, gcc-internal-format
+-msgid "error closing %s: %m"
+-msgstr "Ikosa"
+-
+-#: tree-cfg.c:1452 tree-cfg.c:2091 tree-cfg.c:2094
+-#, fuzzy, gcc-internal-format
+-msgid "%Hwill never be executed"
+-msgstr "Nta narimwe"
+-
+-#: tree-cfg.c:3249
+-#, gcc-internal-format
+-msgid "SSA name in freelist but still referenced"
+-msgstr ""
+-
+-#: tree-cfg.c:3258
+-#, gcc-internal-format
+-msgid "ASSERT_EXPR with an always-false condition"
+-msgstr ""
+-
+-#: tree-cfg.c:3268
+-#, gcc-internal-format
+-msgid "GIMPLE register modified with BIT_FIELD_REF"
+-msgstr ""
+-
+-#: tree-cfg.c:3303
+-#, gcc-internal-format
+-msgid "invariant not recomputed when ADDR_EXPR changed"
+-msgstr ""
+-
+-#: tree-cfg.c:3309
+-#, gcc-internal-format
+-msgid "constant not recomputed when ADDR_EXPR changed"
+-msgstr ""
+-
+-#: tree-cfg.c:3314
+-#, gcc-internal-format
+-msgid "side effects not recomputed when ADDR_EXPR changed"
+-msgstr ""
+-
+-#: tree-cfg.c:3330
+-#, gcc-internal-format
+-msgid "address taken, but ADDRESSABLE bit not set"
+-msgstr ""
+-
+-#: tree-cfg.c:3340
+-#, fuzzy, gcc-internal-format
+-msgid "non-boolean used in condition"
+-msgstr "Insobanuro Bya in Ibisabwa"
+-
+-#: tree-cfg.c:3345
+-#, fuzzy, gcc-internal-format
+-msgid "invalid conditional operand"
+-msgstr "Sibyo kugirango"
+-
+-#: tree-cfg.c:3400
+-#, fuzzy, gcc-internal-format
+-msgid "invalid reference prefix"
+-msgstr "Indango Ubwoko"
+-
+-#: tree-cfg.c:3481
+-#, fuzzy, gcc-internal-format
+-msgid "is not a valid GIMPLE statement"
+-msgstr "`%E'ni OYA a Byemewe Inyandikorugero"
+-
+-#: tree-cfg.c:3501
+-#, gcc-internal-format
+-msgid "statement marked for throw, but doesn%'t"
+-msgstr ""
+-
+-#: tree-cfg.c:3506
+-#, gcc-internal-format
+-msgid "statement marked for throw in middle of block"
+-msgstr ""
+-
+-#: tree-cfg.c:3596
+-#, gcc-internal-format
+-msgid "bb_for_stmt (phi) is set to a wrong basic block"
+-msgstr ""
+-
+-#: tree-cfg.c:3611
+-#, gcc-internal-format
+-msgid "PHI def is not a GIMPLE value"
+-msgstr ""
+-
+-#: tree-cfg.c:3627 tree-cfg.c:3650
+-#, gcc-internal-format
+-msgid "incorrect sharing of tree nodes"
+-msgstr ""
+-
+-#: tree-cfg.c:3641
+-#, gcc-internal-format
+-msgid "bb_for_stmt (stmt) is set to a wrong basic block"
+-msgstr ""
+-
+-#: tree-cfg.c:3659
+-#, fuzzy, gcc-internal-format
+-msgid "verify_stmts failed"
+-msgstr "Byanze"
+-
+-#: tree-cfg.c:3680
+-#, gcc-internal-format
+-msgid "ENTRY_BLOCK has a statement list associated with it"
+-msgstr ""
+-
+-#: tree-cfg.c:3686
+-#, gcc-internal-format
+-msgid "EXIT_BLOCK has a statement list associated with it"
+-msgstr ""
+-
+-#: tree-cfg.c:3693
+-#, gcc-internal-format
+-msgid "fallthru to exit from bb %d"
+-msgstr ""
+-
+-#: tree-cfg.c:3715
+-#, gcc-internal-format
+-msgid "nonlocal label "
+-msgstr ""
+-
+-#: tree-cfg.c:3724 tree-cfg.c:3734 tree-cfg.c:3759
+-#, gcc-internal-format
+-msgid "label "
+-msgstr ""
+-
+-#: tree-cfg.c:3749
+-#, fuzzy, gcc-internal-format
+-msgid "control flow in the middle of basic block %d"
+-msgstr "Igenzura Mo Imbere a BASIC Funga"
+-
+-#: tree-cfg.c:3779
+-#, fuzzy, gcc-internal-format
+-msgid "fallthru edge after a control statement in bb %d"
+-msgstr "Nyuma Simbuka"
+-
+-#: tree-cfg.c:3792
+-#, gcc-internal-format
+-msgid "true/false edge after a non-COND_EXPR in bb %d"
+-msgstr ""
+-
+-#: tree-cfg.c:3807
+-#, gcc-internal-format
+-msgid "structured COND_EXPR at the end of bb %d"
+-msgstr ""
+-
+-#: tree-cfg.c:3820 tree-cfg.c:3858 tree-cfg.c:3871 tree-cfg.c:3942
+-#, gcc-internal-format
+-msgid "wrong outgoing edge flags at end of bb %d"
+-msgstr ""
+-
+-#: tree-cfg.c:3828
+-#, gcc-internal-format
+-msgid "%<then%> label does not match edge at end of bb %d"
+-msgstr ""
+-
+-#: tree-cfg.c:3836
+-#, gcc-internal-format
+-msgid "%<else%> label does not match edge at end of bb %d"
+-msgstr ""
+-
+-#: tree-cfg.c:3846
+-#, fuzzy, gcc-internal-format
+-msgid "explicit goto at end of bb %d"
+-msgstr "Bya"
+-
+-#: tree-cfg.c:3876
+-#, gcc-internal-format
+-msgid "return edge does not point to exit in bb %d"
+-msgstr ""
+-
+-#: tree-cfg.c:3909
+-#, gcc-internal-format
+-msgid "found default case not at end of case vector"
+-msgstr ""
+-
+-#: tree-cfg.c:3915
+-#, fuzzy, gcc-internal-format
+-msgid "case labels not sorted: "
+-msgstr "OYA"
+-
+-#: tree-cfg.c:3926
+-#, gcc-internal-format
+-msgid "no default case found at end of case vector"
+-msgstr ""
+-
+-#: tree-cfg.c:3934
+-#, gcc-internal-format
+-msgid "extra outgoing edge %d->%d"
+-msgstr ""
+-
+-#: tree-cfg.c:3956
+-#, fuzzy, gcc-internal-format
+-msgid "missing edge %i->%i"
+-msgstr "Ibuze Umwanya in"
+-
+-#: tree-cfg.c:5770 tree-cfg.c:5774
+-#, fuzzy, gcc-internal-format
+-msgid "%H%<noreturn%> function does return"
+-msgstr "`Umumaro Garuka"
+-
+-#: tree-cfg.c:5796 tree-cfg.c:5801
+-#, fuzzy, gcc-internal-format
+-msgid "%Hcontrol reaches end of non-void function"
+-msgstr "Igenzura Impera Bya Umumaro"
+-
+-#: tree-cfg.c:5862
+-#, fuzzy, gcc-internal-format
+-msgid "%Jfunction might be possible candidate for attribute %<noreturn%>"
+-msgstr "Umumaro kugirango Ikiranga"
+-
+-#: tree-dump.c:892
+-#, fuzzy, gcc-internal-format
+-msgid "could not open dump file %qs: %s"
+-msgstr "OYA Gufungura IDOSIYE"
+-
+-#: tree-dump.c:1024
+-#, fuzzy, gcc-internal-format
+-msgid "ignoring unknown option %q.*s in %<-fdump-%s%>"
+-msgstr "Kitazwi Ihitamo in F"
+-
+-#: tree-eh.c:1774
+-#, fuzzy, gcc-internal-format
+-msgid "EH edge %i->%i is missing"
+-msgstr "Kuri ni Ibuze"
+-
+-#: tree-eh.c:1779
+-#, gcc-internal-format
+-msgid "EH edge %i->%i miss EH flag"
+-msgstr ""
+-
+-#. ??? might not be mistake.
+-#: tree-eh.c:1785
+-#, gcc-internal-format
+-msgid "EH edge %i->%i has duplicated regions"
+-msgstr ""
+-
+-#: tree-eh.c:1819
+-#, gcc-internal-format
+-msgid "BB %i can not throw but has EH edges"
+-msgstr ""
+-
+-#: tree-eh.c:1826
+-#, gcc-internal-format
+-msgid "BB %i last statement has incorrectly set region"
+-msgstr ""
+-
+-#: tree-eh.c:1837
+-#, gcc-internal-format
+-msgid "unnecessary EH edge %i->%i"
+-msgstr ""
+-
+-#: tree-inline.c:1333
+-#, gcc-internal-format
+-msgid "function %q+F can never be inlined because it uses alloca (override using the always_inline attribute)"
+-msgstr ""
+-
+-#: tree-inline.c:1345
+-#, gcc-internal-format
+-msgid "function %q+F can never be inlined because it uses setjmp"
+-msgstr ""
+-
+-#: tree-inline.c:1359
+-#, gcc-internal-format
+-msgid "function %q+F can never be inlined because it uses variable argument lists"
+-msgstr ""
+-
+-#: tree-inline.c:1370
+-#, gcc-internal-format
+-msgid "function %q+F can never be inlined because it uses setjmp-longjmp exception handling"
+-msgstr ""
+-
+-#: tree-inline.c:1377
+-#, gcc-internal-format
+-msgid "function %q+F can never be inlined because it uses non-local goto"
+-msgstr ""
+-
+-#: tree-inline.c:1388
+-#, gcc-internal-format
+-msgid "function %q+F can never be inlined because it uses __builtin_return or __builtin_apply_args"
+-msgstr ""
+-
+-#: tree-inline.c:1407
+-#, gcc-internal-format
+-msgid "function %q+F can never be inlined because it contains a computed goto"
+-msgstr ""
+-
+-#: tree-inline.c:1421
+-#, gcc-internal-format
+-msgid "function %q+F can never be inlined because it receives a non-local goto"
+-msgstr ""
+-
+-#: tree-inline.c:1446
+-#, gcc-internal-format
+-msgid "function %q+F can never be inlined because it uses variable sized variables"
+-msgstr ""
+-
+-#: tree-inline.c:2005 tree-inline.c:2015
+-#, fuzzy, gcc-internal-format
+-msgid "inlining failed in call to %q+F: %s"
+-msgstr "Byanze in Kuri"
+-
+-#: tree-inline.c:2006 tree-inline.c:2017
+-#, fuzzy, gcc-internal-format
+-msgid "called from here"
+-msgstr "Bivuye"
+-
+-#: tree-mudflap.c:856
+-#, gcc-internal-format
+-msgid "mudflap checking not yet implemented for ARRAY_RANGE_REF"
+-msgstr ""
+-
+-#: tree-mudflap.c:1048
+-#, gcc-internal-format
+-msgid "mudflap cannot track %qs in stub function"
+-msgstr ""
+-
+-#: tree-mudflap.c:1279
+-#, gcc-internal-format
+-msgid "mudflap cannot track unknown size extern %qs"
+-msgstr ""
+-
+-#: tree-nomudflap.c:51
+-#, fuzzy, gcc-internal-format
+-msgid "mudflap: this language is not supported"
+-msgstr "-ni OYA"
+-
+-#: tree-optimize.c:489
+-#, fuzzy, gcc-internal-format
+-msgid "size of return value of %q+D is %u bytes"
+-msgstr "Ingano Bya Garuka Agaciro Bya ni Bayite"
+-
+-#: tree-optimize.c:492
+-#, fuzzy, gcc-internal-format
+-msgid "size of return value of %q+D is larger than %wd bytes"
+-msgstr "Ingano Bya Garuka Agaciro Bya ni Kinini Bayite"
+-
+-#: tree-outof-ssa.c:612 tree-outof-ssa.c:627 tree-outof-ssa.c:641
+-#: tree-outof-ssa.c:663 tree-outof-ssa.c:1118 tree-outof-ssa.c:1897
+-#: tree-ssa-live.c:500 tree-ssa-live.c:1905
+-#, gcc-internal-format
+-msgid "SSA corruption"
+-msgstr ""
+-
+-#: tree-outof-ssa.c:2310
+-#, gcc-internal-format
+-msgid " Pending stmts not issued on PRED edge (%d, %d)\n"
+-msgstr ""
+-
+-#: tree-outof-ssa.c:2316
+-#, gcc-internal-format
+-msgid " Pending stmts not issued on SUCC edge (%d, %d)\n"
+-msgstr ""
+-
+-#: tree-outof-ssa.c:2323
+-#, gcc-internal-format
+-msgid " Pending stmts not issued on ENTRY edge (%d, %d)\n"
+-msgstr ""
+-
+-#: tree-outof-ssa.c:2329
+-#, gcc-internal-format
+-msgid " Pending stmts not issued on EXIT edge (%d, %d)\n"
+-msgstr ""
+-
+-#: tree-profile.c:216
+-#, fuzzy, gcc-internal-format
+-msgid "unimplemented functionality"
+-msgstr "Inyandiko Umumaro"
+-
+-#: tree-ssa.c:111
+-#, gcc-internal-format
+-msgid "expected an SSA_NAME object"
+-msgstr ""
+-
+-#: tree-ssa.c:117
+-#, gcc-internal-format
+-msgid "type mismatch between an SSA_NAME and its symbol"
+-msgstr ""
+-
+-#: tree-ssa.c:123
+-#, gcc-internal-format
+-msgid "found an SSA_NAME that had been released into the free pool"
+-msgstr ""
+-
+-#: tree-ssa.c:129
+-#, gcc-internal-format
+-msgid "found a virtual definition for a GIMPLE register"
+-msgstr ""
+-
+-#: tree-ssa.c:135
+-#, fuzzy, gcc-internal-format
+-msgid "found a real definition for a non-register"
+-msgstr "Umumaro Insobanuro"
+-
+-#: tree-ssa.c:142
+-#, gcc-internal-format
+-msgid "found real variable when subvariables should have appeared"
+-msgstr ""
+-
+-#: tree-ssa.c:171
+-#, gcc-internal-format
+-msgid "SSA_NAME created in two different blocks %i and %i"
+-msgstr ""
+-
+-#: tree-ssa.c:180
+-#, gcc-internal-format
+-msgid "SSA_NAME_DEF_STMT is wrong"
+-msgstr ""
+-
+-#: tree-ssa.c:238
+-#, fuzzy, gcc-internal-format
+-msgid "missing definition"
+-msgstr "Ibuze"
+-
+-#: tree-ssa.c:244
+-#, gcc-internal-format
+-msgid "definition in block %i does not dominate use in block %i"
+-msgstr ""
+-
+-#: tree-ssa.c:252
+-#, gcc-internal-format
+-msgid "definition in block %i follows the use"
+-msgstr ""
+-
+-#: tree-ssa.c:259
+-#, gcc-internal-format
+-msgid "SSA_NAME_OCCURS_IN_ABNORMAL_PHI should be set"
+-msgstr ""
+-
+-#: tree-ssa.c:267
+-#, gcc-internal-format
+-msgid "no immediate_use list"
+-msgstr ""
+-
+-#: tree-ssa.c:279
+-#, gcc-internal-format
+-msgid "wrong immediate use list"
+-msgstr ""
+-
+-#: tree-ssa.c:312
+-#, gcc-internal-format
+-msgid "incoming edge count does not match number of PHI arguments"
+-msgstr ""
+-
+-#: tree-ssa.c:327
+-#, fuzzy, gcc-internal-format
+-msgid "PHI argument is missing for edge %d->%d"
+-msgstr "Mburabuzi Ibuze kugirango Bya"
+-
+-#: tree-ssa.c:336
+-#, gcc-internal-format
+-msgid "PHI argument is not SSA_NAME, or invariant"
+-msgstr ""
+-
+-#: tree-ssa.c:348
+-#, gcc-internal-format
+-msgid "wrong edge %d->%d for PHI argument"
+-msgstr ""
+-
+-#: tree-ssa.c:396
+-#, gcc-internal-format
+-msgid "non-addressable variable inside an alias set"
+-msgstr ""
+-
+-#: tree-ssa.c:412
+-#, gcc-internal-format
+-msgid "addressable variable that is aliased but is not in any alias set"
+-msgstr ""
+-
+-#: tree-ssa.c:422
+-#, fuzzy, gcc-internal-format
+-msgid "verify_flow_insensitive_alias_info failed"
+-msgstr "Byanze"
+-
+-#: tree-ssa.c:464
+-#, gcc-internal-format
+-msgid "dereferenced pointers should have a name or a symbol tag"
+-msgstr ""
+-
+-#: tree-ssa.c:471
+-#, gcc-internal-format
+-msgid "pointers with a memory tag, should have points-to sets"
+-msgstr ""
+-
+-#: tree-ssa.c:479
+-#, gcc-internal-format
+-msgid "pointer escapes but its name tag is not call-clobbered"
+-msgstr ""
+-
+-#: tree-ssa.c:488
+-#, fuzzy, gcc-internal-format
+-msgid "verify_flow_sensitive_alias_info failed"
+-msgstr "Byanze"
+-
+-#: tree-ssa.c:564
+-#, gcc-internal-format
+-msgid "alias set of a pointer's symbol tag should be a superset of the corresponding name tag"
+-msgstr ""
+-
+-#: tree-ssa.c:580
+-#, gcc-internal-format
+-msgid "two different pointers with identical points-to sets but different name tags"
+-msgstr ""
+-
+-#: tree-ssa.c:612
+-#, fuzzy, gcc-internal-format
+-msgid "verify_name_tags failed"
+-msgstr "Byanze"
+-
+-#: tree-ssa.c:635
+-#, gcc-internal-format
+-msgid "variable in call_clobbered_vars but not marked DECL_CALL_CLOBBERED"
+-msgstr ""
+-
+-#: tree-ssa.c:645
+-#, gcc-internal-format
+-msgid "variable marked DECL_CALL_CLOBBERED but not in call_clobbered_vars bitmap."
+-msgstr ""
+-
+-#: tree-ssa.c:653
+-#, fuzzy, gcc-internal-format
+-msgid "verify_call_clobbering failed"
+-msgstr "Byanze"
+-
+-#: tree-ssa.c:724
+-#, gcc-internal-format
+-msgid "AUX pointer initialized for edge %d->%d"
+-msgstr ""
+-
+-#: tree-ssa.c:747
+-#, gcc-internal-format
+-msgid "stmt (%p) marked modified after optimization pass : "
+-msgstr ""
+-
+-#: tree-ssa.c:765
+-#, gcc-internal-format
+-msgid "statement makes a memory store, but has no V_MAY_DEFS nor V_MUST_DEFS"
+-msgstr ""
+-
+-#: tree-ssa.c:806
+-#, fuzzy, gcc-internal-format
+-msgid "verify_ssa failed"
+-msgstr "Byanze"
+-
+-#: tree-ssa.c:1185
+-#, fuzzy, gcc-internal-format
+-msgid "%J%qD was declared here"
+-msgstr "Nka"
+-
+-#. We only do data flow with SSA_NAMEs, so that's all we
+-#. can warn about.
+-#: tree-ssa.c:1203
+-#, fuzzy, gcc-internal-format
+-msgid "%H%qD is used uninitialized in this function"
+-msgstr "`%s'Itatangijwe in iyi Umumaro"
+-
+-#: tree-ssa.c:1241
+-#, fuzzy, gcc-internal-format
+-msgid "%H%qD may be used uninitialized in this function"
+-msgstr "`%s'Itatangijwe in iyi Umumaro"
+-
+-#: tree-vect-transform.c:562
+-#, fuzzy, gcc-internal-format
+-msgid "no support for induction"
+-msgstr "kugirango Imimaro"
+-
+-#: tree-vrp.c:4328
+-#, gcc-internal-format
+-msgid "assuming signed overflow does not occur when simplifying conditional to constant"
+-msgstr ""
+-
+-#: tree-vrp.c:4334
+-#, gcc-internal-format
+-msgid "assuming signed overflow does not occur when simplifying conditional"
+-msgstr ""
+-
+-#: tree.c:3646
+-#, gcc-internal-format
+-msgid "%q+D already declared with dllexport attribute: dllimport ignored"
+-msgstr ""
+-
+-#: tree.c:3658
+-#, gcc-internal-format
+-msgid "%q+D redeclared without dllimport attribute after being referenced with dll linkage"
+-msgstr ""
+-
+-#: tree.c:3674 config/i386/winnt-cxx.c:70
+-#, gcc-internal-format
+-msgid "%q+D redeclared without dllimport attribute: previous dllimport ignored"
+-msgstr ""
+-
+-#: tree.c:3726 tree.c:3738 config/darwin.c:1359 config/arm/arm.c:2906
+-#: config/arm/arm.c:2934 config/avr/avr.c:4693 config/h8300/h8300.c:5282
+-#: config/h8300/h8300.c:5306 config/i386/i386.c:2382 config/i386/i386.c:17541
+-#: config/ia64/ia64.c:565 config/m68hc11/m68hc11.c:1118
+-#: config/rs6000/rs6000.c:17704 config/sh/symbian.c:409
+-#: config/sh/symbian.c:416
+-#, fuzzy, gcc-internal-format
+-msgid "%qs attribute ignored"
+-msgstr "`%s'Ikiranga"
+-
+-#: tree.c:3754
+-#, fuzzy, gcc-internal-format
+-msgid "inline function %q+D declared as dllimport: attribute ignored"
+-msgstr "Umumaro Na: Ikiranga"
+-
+-#: tree.c:3762
+-#, fuzzy, gcc-internal-format
+-msgid "function %q+D definition is marked dllimport"
+-msgstr "Umumaro Insobanuro"
+-
+-#: tree.c:3770 config/sh/symbian.c:431
+-#, fuzzy, gcc-internal-format
+-msgid "variable %q+D definition is marked dllimport"
+-msgstr "IMPINDURAGACIRO ni cy/ byagarajwe"
+-
+-#: tree.c:3793 config/sh/symbian.c:506
+-#, gcc-internal-format
+-msgid "external linkage required for symbol %q+D because of %qs attribute"
+-msgstr ""
+-
+-#: tree.c:5194
+-#, fuzzy, gcc-internal-format
+-msgid "arrays of functions are not meaningful"
+-msgstr "Bya Imimaro OYA"
+-
+-#: tree.c:5250
+-#, fuzzy, gcc-internal-format
+-msgid "function return type cannot be function"
+-msgstr "Umumaro Garuka Ubwoko Umumaro"
+-
+-#: tree.c:6167 tree.c:6252 tree.c:6313
+-#, fuzzy, gcc-internal-format
+-msgid "tree check: %s, have %s in %s, at %s:%d"
+-msgstr "Kugenzura... Ikitezwe: in ku"
+-
+-#: tree.c:6204
+-#, fuzzy, gcc-internal-format
+-msgid "tree check: expected none of %s, have %s in %s, at %s:%d"
+-msgstr "Kugenzura... Ikitezwe: in ku"
+-
+-#: tree.c:6217
+-#, fuzzy, gcc-internal-format
+-msgid "tree check: expected class %qs, have %qs (%s) in %s, at %s:%d"
+-msgstr "Kugenzura... Ikitezwe: ishuri in ku"
+-
+-#: tree.c:6266
+-#, fuzzy, gcc-internal-format
+-msgid "tree check: did not expect class %qs, have %qs (%s) in %s, at %s:%d"
+-msgstr "Kugenzura... Ikitezwe: ishuri in ku"
+-
+-#: tree.c:6279
+-#, fuzzy, gcc-internal-format
+-msgid "tree check: expected omp_clause %s, have %s in %s, at %s:%d"
+-msgstr "Kugenzura... Ikitezwe: in ku"
+-
+-#: tree.c:6339
+-#, fuzzy, gcc-internal-format
+-msgid "tree check: expected tree that contains %qs structure, have %qs in %s, at %s:%d"
+-msgstr "Kugenzura... Ikitezwe: in ku"
+-
+-#: tree.c:6353
+-#, fuzzy, gcc-internal-format
+-msgid "tree check: accessed elt %d of tree_vec with %d elts in %s, at %s:%d"
+-msgstr "Kugenzura... birabonetse Bya Na: in ku"
+-
+-#: tree.c:6365
+-#, fuzzy, gcc-internal-format
+-msgid "tree check: accessed elt %d of phi_node with %d elts in %s, at %s:%d"
+-msgstr "Kugenzura... birabonetse Bya Na: in ku"
+-
+-#: tree.c:6377
+-#, fuzzy, gcc-internal-format
+-msgid "tree check: accessed operand %d of %s with %d operands in %s, at %s:%d"
+-msgstr "Kugenzura... birabonetse Bya Na: in ku"
+-
+-#: tree.c:6390
+-#, fuzzy, gcc-internal-format
+-msgid "tree check: accessed operand %d of omp_clause %s with %d operands in %s, at %s:%d"
+-msgstr "Kugenzura... birabonetse Bya Na: in ku"
+-
+-#: value-prof.c:95
+-#, gcc-internal-format
+-msgid "%HCorrupted value profile: %s profiler overall count (%d) does not match BB count (%d)"
+-msgstr ""
+-
+-#: varasm.c:311
+-#, fuzzy, gcc-internal-format
+-msgid "%+D causes a section type conflict"
+-msgstr "%sa Icyiciro Ubwoko"
+-
+-#: varasm.c:853
+-#, fuzzy, gcc-internal-format
+-msgid "alignment of %q+D is greater than maximum object file alignment. Using %d"
+-msgstr "Itunganya Bya ni Biruta Kinini Igikoresho IDOSIYE Itunganya"
+-
+-#: varasm.c:1063 varasm.c:1071
+-#, fuzzy, gcc-internal-format
+-msgid "register name not specified for %q+D"
+-msgstr "Kwiyandikisha Izina: OYA kugirango"
+-
+-#: varasm.c:1073
+-#, fuzzy, gcc-internal-format
+-msgid "invalid register name for %q+D"
+-msgstr "Sibyo Kwiyandikisha Izina: kugirango"
+-
+-#: varasm.c:1075
+-#, fuzzy, gcc-internal-format
+-msgid "data type of %q+D isn%'t suitable for a register"
+-msgstr "Ibyatanzwe Ubwoko Bya si kugirango a Kwiyandikisha"
+-
+-#: varasm.c:1078
+-#, fuzzy, gcc-internal-format
+-msgid "register specified for %q+D isn%'t suitable for data type"
+-msgstr "Kwiyandikisha kugirango si kugirango Ibyatanzwe Ubwoko"
+-
+-#: varasm.c:1088
+-#, fuzzy, gcc-internal-format
+-msgid "global register variable has initial value"
+-msgstr "Kwiyandikisha IMPINDURAGACIRO Agaciro"
+-
+-#: varasm.c:1092
+-#, gcc-internal-format
+-msgid "optimization may eliminate reads and/or writes to register variables"
+-msgstr ""
+-
+-#: varasm.c:1130
+-#, fuzzy, gcc-internal-format
+-msgid "register name given for non-register variable %q+D"
+-msgstr "Kwiyandikisha Izina: kugirango Kwiyandikisha IMPINDURAGACIRO"
+-
+-#: varasm.c:1199
+-#, fuzzy, gcc-internal-format
+-msgid "global destructors not supported on this target"
+-msgstr "Imbibi OYA ku iyi Intego"
+-
+-#: varasm.c:1249
+-#, fuzzy, gcc-internal-format
+-msgid "global constructors not supported on this target"
+-msgstr "Imbibi OYA ku iyi Intego"
+-
+-#: varasm.c:1646
+-#, fuzzy, gcc-internal-format
+-msgid "thread-local COMMON data not implemented"
+-msgstr "Urudodo Ibyatanzwe OYA"
+-
+-#: varasm.c:1675
+-#, fuzzy, gcc-internal-format
+-msgid "requested alignment for %q+D is greater than implemented alignment of %wu"
+-msgstr "Itunganya kugirango ni Biruta Itunganya Bya"
+-
+-#: varasm.c:4081
+-#, fuzzy, gcc-internal-format
+-msgid "initializer for integer value is too complicated"
+-msgstr "kugirango Umubare wuzuye Agaciro ni"
+-
+-#: varasm.c:4086
+-#, fuzzy, gcc-internal-format
+-msgid "initializer for floating value is not a floating constant"
+-msgstr "kugirango Bihindagurika Agaciro ni OYA a Bihindagurika"
+-
+-#: varasm.c:4359
+-#, fuzzy, gcc-internal-format
+-msgid "invalid initial value for member %qs"
+-msgstr "Sibyo Agaciro kugirango"
+-
+-#: varasm.c:4559 varasm.c:4603
+-#, fuzzy, gcc-internal-format
+-msgid "weak declaration of %q+D must precede definition"
+-msgstr "Bya Insobanuro"
+-
+-#: varasm.c:4567
+-#, fuzzy, gcc-internal-format
+-msgid "weak declaration of %q+D after first use results in unspecified behavior"
+-msgstr "Bya Nyuma Itangira Gukoresha Ibisubizo ku in imyitwarire"
+-
+-#: varasm.c:4601
+-#, fuzzy, gcc-internal-format
+-msgid "weak declaration of %q+D must be public"
+-msgstr "Bya Rusange"
+-
+-#: varasm.c:4610
+-#, fuzzy, gcc-internal-format
+-msgid "weak declaration of %q+D not supported"
+-msgstr "Bya OYA"
+-
+-#: varasm.c:4636
+-#, fuzzy, gcc-internal-format
+-msgid "only weak aliases are supported in this configuration"
+-msgstr "Irihimbano in iyi Iboneza"
+-
+-#: varasm.c:4866
+-#, fuzzy, gcc-internal-format
+-msgid "%Jweakref is not supported in this configuration"
+-msgstr "%sni OYA ku iyi Iboneza"
+-
+-#: varasm.c:4939
+-#, fuzzy, gcc-internal-format
+-msgid "%q+D aliased to undefined symbol %qs"
+-msgstr "Sibyo Gukoresha Bya kidasobanuye Ubwoko"
+-
+-#: varasm.c:4944
+-#, gcc-internal-format
+-msgid "%q+D aliased to external symbol %qs"
+-msgstr ""
+-
+-#: varasm.c:4983
+-#, gcc-internal-format
+-msgid "weakref %q+D ultimately targets itself"
+-msgstr ""
+-
+-#: varasm.c:4992
+-#, fuzzy, gcc-internal-format
+-msgid "weakref %q+D must have static linkage"
+-msgstr "Umumaro Kuri"
+-
+-#: varasm.c:4998
+-#, fuzzy, gcc-internal-format
+-msgid "%Jalias definitions not supported in this configuration"
+-msgstr "Irihimbano OYA in iyi Iboneza"
+-
+-#: varasm.c:5003
+-#, fuzzy, gcc-internal-format
+-msgid "%Jonly weak aliases are supported in this configuration"
+-msgstr "Irihimbano in iyi Iboneza"
+-
+-#: varasm.c:5060
+-#, fuzzy, gcc-internal-format
+-msgid "visibility attribute not supported in this configuration; ignored"
+-msgstr "Ukugaragara Ikiranga OYA in iyi Iboneza"
+-
+-#: varray.c:196
+-#, fuzzy, gcc-internal-format
+-msgid "virtual array %s[%lu]: element %lu out of bounds in %s, at %s:%d"
+-msgstr "Kitaboneka Imbonerahamwe Ikigize: Inyuma Bya in ku"
+-
+-#: varray.c:206
+-#, gcc-internal-format
+-msgid "underflowed virtual array %s in %s, at %s:%d"
+-msgstr ""
+-
+-#: vec.c:235
+-#, gcc-internal-format
+-msgid "vector %s %s domain error, in %s at %s:%u"
+-msgstr ""
+-
+-#. Print an error message for unrecognized stab codes.
+-#: xcoffout.c:187
+-#, fuzzy, gcc-internal-format
+-msgid "no sclass for %s stab (0x%x)"
+-msgstr "Oya kugirango"
+-
+-#: config/darwin-c.c:87
+-#, fuzzy, gcc-internal-format
+-msgid "too many #pragma options align=reset"
+-msgstr "Amahitamo Gutondeka Kugarura"
+-
+-#: config/darwin-c.c:107 config/darwin-c.c:110 config/darwin-c.c:112
+-#: config/darwin-c.c:114
+-#, gcc-internal-format
+-msgid "malformed '#pragma options', ignoring"
+-msgstr ""
+-
+-#: config/darwin-c.c:117
+-#, fuzzy, gcc-internal-format
+-msgid "junk at end of '#pragma options'"
+-msgstr "Umwanda ku Impera Bya"
+-
+-#: config/darwin-c.c:127
+-#, fuzzy, gcc-internal-format
+-msgid "malformed '#pragma options align={mac68k|power|reset}', ignoring"
+-msgstr "Amahitamo Gutondeka UMWIKUBE Kugarura"
+-
+-#: config/darwin-c.c:139
+-#, fuzzy, gcc-internal-format
+-msgid "missing '(' after '#pragma unused', ignoring"
+-msgstr "Ibuze Nyuma"
+-
+-#: config/darwin-c.c:157
+-#, fuzzy, gcc-internal-format
+-msgid "missing ')' after '#pragma unused', ignoring"
+-msgstr "Ibuze Nyuma"
+-
+-#: config/darwin-c.c:160
+-#, fuzzy, gcc-internal-format
+-msgid "junk at end of '#pragma unused'"
+-msgstr "Umwanda ku Impera Bya"
+-
+-#: config/darwin-c.c:171
+-#, fuzzy, gcc-internal-format
+-msgid "malformed '#pragma ms_struct', ignoring"
+-msgstr "Icyiciro"
+-
+-#: config/darwin-c.c:179
+-#, fuzzy, gcc-internal-format
+-msgid "malformed '#pragma ms_struct {on|off|reset}', ignoring"
+-msgstr "Amahitamo Gutondeka UMWIKUBE Kugarura"
+-
+-#: config/darwin-c.c:182
+-#, fuzzy, gcc-internal-format
+-msgid "junk at end of '#pragma ms_struct'"
+-msgstr "Umwanda ku Impera Bya"
+-
+-#: config/darwin-c.c:408
+-#, gcc-internal-format
+-msgid "subframework include %s conflicts with framework include"
+-msgstr ""
+-
+-#: config/darwin-c.c:600
+-#, gcc-internal-format
+-msgid "Unknown value %qs of -mmacosx-version-min"
+-msgstr ""
+-
+-#: config/darwin.c:1332
+-#, gcc-internal-format
+-msgid "%<%s%> 2.95 vtable-compatability attribute applies only when compiling a kext"
+-msgstr ""
+-
+-#: config/darwin.c:1339
+-#, gcc-internal-format
+-msgid "%<%s%> 2.95 vtable-compatability attribute applies only to C++ classes"
+-msgstr ""
+-
+-#: config/darwin.c:1472
+-#, fuzzy, gcc-internal-format
+-msgid "internal and protected visibility attributes not supported in this configuration; ignored"
+-msgstr "Ukugaragara Ikiranga OYA in iyi Iboneza"
+-
+-#: config/darwin.c:1626
+-#, gcc-internal-format
+-msgid "command line option %<-fapple-kext%> is only valid for C++"
+-msgstr ""
+-
+-#: config/host-darwin.c:63
+-#, gcc-internal-format
+-msgid "couldn't unmap pch_address_space: %m"
+-msgstr ""
+-
+-#: config/sol2-c.c:94 config/sol2-c.c:110
+-#, fuzzy, gcc-internal-format
+-msgid "malformed %<#pragma align%>, ignoring"
+-msgstr "Gutondeka"
+-
+-#: config/sol2-c.c:103
+-#, fuzzy, gcc-internal-format
+-msgid "invalid alignment for %<#pragma align%>, ignoring"
+-msgstr "Gutondeka"
+-
+-#: config/sol2-c.c:118
+-#, gcc-internal-format
+-msgid "%<#pragma align%> must appear before the declaration of %D, ignoring"
+-msgstr ""
+-
+-#: config/sol2-c.c:130 config/sol2-c.c:142
+-#, fuzzy, gcc-internal-format
+-msgid "malformed %<#pragma align%>"
+-msgstr "Gutondeka"
+-
+-#: config/sol2-c.c:137
+-#, fuzzy, gcc-internal-format
+-msgid "junk at end of %<#pragma align%>"
+-msgstr "Umwanda ku Impera Bya"
+-
+-#: config/sol2-c.c:158 config/sol2-c.c:165
+-#, fuzzy, gcc-internal-format
+-msgid "malformed %<#pragma init%>, ignoring"
+-msgstr "Gutondeka"
+-
+-#: config/sol2-c.c:188 config/sol2-c.c:200
+-#, fuzzy, gcc-internal-format
+-msgid "malformed %<#pragma init%>"
+-msgstr "Icyiciro"
+-
+-#: config/sol2-c.c:195
+-#, fuzzy, gcc-internal-format
+-msgid "junk at end of %<#pragma init%>"
+-msgstr "Umwanda ku Impera Bya"
+-
+-#: config/sol2-c.c:216 config/sol2-c.c:223
+-#, fuzzy, gcc-internal-format
+-msgid "malformed %<#pragma fini%>, ignoring"
+-msgstr "Gutondeka"
+-
+-#: config/sol2-c.c:246 config/sol2-c.c:258
+-#, fuzzy, gcc-internal-format
+-msgid "malformed %<#pragma fini%>"
+-msgstr "Icyiciro"
+-
+-#: config/sol2-c.c:253
+-#, fuzzy, gcc-internal-format
+-msgid "junk at end of %<#pragma fini%>"
+-msgstr "Umwanda ku Impera Bya"
+-
+-#: config/sol2.c:54
+-#, gcc-internal-format
+-msgid "ignoring %<#pragma align%> for explicitly aligned %q+D"
+-msgstr ""
+-
+-#. Mach-O supports 'weak imports', and 'weak definitions' in coalesced
+-#. sections. machopic_select_section ensures that weak variables go in
+-#. 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:431
+-#, fuzzy, gcc-internal-format
+-msgid "alias definitions not supported in Mach-O; ignored"
+-msgstr "Irihimbano OYA in iyi Iboneza"
+-
+-#. No profiling.
+-#: config/vx-common.h:83
+-#, fuzzy, gcc-internal-format
+-msgid "profiler support for VxWorks"
+-msgstr "Gushigikira kugirango"
+-
+-#: config/windiss.h:37
+-#, fuzzy, gcc-internal-format
+-msgid "profiler support for WindISS"
+-msgstr "Gushigikira kugirango"
+-
+-#: config/alpha/alpha.c:231 config/rs6000/rs6000.c:1619
+-#, fuzzy, gcc-internal-format
+-msgid "bad value %qs for -mtls-size switch"
+-msgstr "Agaciro kugirango Ingano Hindura"
+-
+-#: config/alpha/alpha.c:285
+-#, fuzzy, gcc-internal-format
+-msgid "-f%s ignored for Unicos/Mk (not supported)"
+-msgstr "-F kugirango OYA"
+-
+-#: config/alpha/alpha.c:309
+-#, fuzzy, gcc-internal-format
+-msgid "-mieee not supported on Unicos/Mk"
+-msgstr "-OYA ku"
+-
+-#: config/alpha/alpha.c:320
+-#, fuzzy, gcc-internal-format
+-msgid "-mieee-with-inexact not supported on Unicos/Mk"
+-msgstr "-Na: OYA ku"
+-
+-#: config/alpha/alpha.c:337
+-#, fuzzy, gcc-internal-format
+-msgid "bad value %qs for -mtrap-precision switch"
+-msgstr "Agaciro kugirango Hindura"
+-
+-#: config/alpha/alpha.c:351
+-#, fuzzy, gcc-internal-format
+-msgid "bad value %qs for -mfp-rounding-mode switch"
+-msgstr "Agaciro kugirango Ubwoko Hindura"
+-
+-#: config/alpha/alpha.c:366
+-#, fuzzy, gcc-internal-format
+-msgid "bad value %qs for -mfp-trap-mode switch"
+-msgstr "Agaciro kugirango Ubwoko Hindura"
+-
+-#: config/alpha/alpha.c:380 config/alpha/alpha.c:392
+-#, fuzzy, gcc-internal-format
+-msgid "bad value %qs for -mcpu switch"
+-msgstr "Agaciro kugirango Hindura"
+-
+-#: config/alpha/alpha.c:399
+-#, fuzzy, gcc-internal-format
+-msgid "trap mode not supported on Unicos/Mk"
+-msgstr "Ubwoko OYA ku"
+-
+-#: config/alpha/alpha.c:406
+-#, fuzzy, gcc-internal-format
+-msgid "fp software completion requires -mtrap-precision=i"
+-msgstr "i"
+-
+-#: config/alpha/alpha.c:422
+-#, fuzzy, gcc-internal-format
+-msgid "rounding mode not supported for VAX floats"
+-msgstr "Ubwoko OYA kugirango"
+-
+-#: config/alpha/alpha.c:427
+-#, fuzzy, gcc-internal-format
+-msgid "trap mode not supported for VAX floats"
+-msgstr "Ubwoko OYA kugirango"
+-
+-#: config/alpha/alpha.c:431
+-#, fuzzy, gcc-internal-format
+-msgid "128-bit long double not supported for VAX floats"
+-msgstr "Ubwoko OYA kugirango"
+-
+-#: config/alpha/alpha.c:459
+-#, fuzzy, gcc-internal-format
+-msgid "L%d cache latency unknown for %s"
+-msgstr "Ubwihisho Kitazwi kugirango"
+-
+-#: config/alpha/alpha.c:474
+-#, fuzzy, gcc-internal-format
+-msgid "bad value %qs for -mmemory-latency"
+-msgstr "Agaciro kugirango"
+-
+-#: config/alpha/alpha.c:6603 config/alpha/alpha.c:6606 config/s390/s390.c:8224
+-#: config/s390/s390.c:8227
+-#, gcc-internal-format
+-msgid "bad builtin fcode"
+-msgstr ""
+-
+-#: config/arc/arc.c:390
+-#, fuzzy, gcc-internal-format
+-msgid "argument of %qs attribute is not a string constant"
+-msgstr "Bya Ikiranga ni OYA a Ikurikiranyanyuguti"
+-
+-#: config/arc/arc.c:398
+-#, fuzzy, gcc-internal-format
+-msgid "argument of %qs attribute is not \"ilink1\" or \"ilink2\""
+-msgstr "Bya Ikiranga ni OYA Cyangwa"
+-
+-#: config/arm/arm.c:921
+-#, fuzzy, gcc-internal-format
+-msgid "switch -mcpu=%s conflicts with -march= switch"
+-msgstr "Hindura Na: Werurwe Hindura"
+-
+-#: config/arm/arm.c:931 config/rs6000/rs6000.c:1269 config/sparc/sparc.c:734
+-#, fuzzy, gcc-internal-format
+-msgid "bad value (%s) for %s switch"
+-msgstr "Agaciro kugirango Hindura"
+-
+-#: config/arm/arm.c:1041
+-#, fuzzy, gcc-internal-format
+-msgid "target CPU does not support interworking"
+-msgstr "Intego OYA Gushigikira"
+-
+-#: config/arm/arm.c:1047
+-#, fuzzy, gcc-internal-format
+-msgid "target CPU does not support THUMB instructions"
+-msgstr "Intego OYA Gushigikira Amabwiriza"
+-
+-#: config/arm/arm.c:1065
+-#, fuzzy, gcc-internal-format
+-msgid "enabling backtrace support is only meaningful when compiling for the Thumb"
+-msgstr "Gushigikira ni Ryari: kugirango i"
+-
+-#: config/arm/arm.c:1068
+-#, fuzzy, gcc-internal-format
+-msgid "enabling callee interworking support is only meaningful when compiling for the Thumb"
+-msgstr "Gushigikira ni Ryari: kugirango i"
+-
+-#: config/arm/arm.c:1071
+-#, fuzzy, gcc-internal-format
+-msgid "enabling caller interworking support is only meaningful when compiling for the Thumb"
+-msgstr "Gushigikira ni Ryari: kugirango i"
+-
+-#: config/arm/arm.c:1075
+-#, fuzzy, gcc-internal-format
+-msgid "-mapcs-stack-check incompatible with -mno-apcs-frame"
+-msgstr "-Kugenzura... Na: Ikadiri"
+-
+-#: config/arm/arm.c:1083
+-#, fuzzy, gcc-internal-format
+-msgid "-fpic and -mapcs-reent are incompatible"
+-msgstr "-Na"
+-
+-#: config/arm/arm.c:1086
+-#, fuzzy, gcc-internal-format
+-msgid "APCS reentrant code not supported. Ignored"
+-msgstr "ITEGEKONGENGA OYA"
+-
+-#: config/arm/arm.c:1094
+-#, fuzzy, gcc-internal-format
+-msgid "-g with -mno-apcs-frame may not give sensible debugging"
+-msgstr "-g Na: Ikadiri Gicurasi OYA"
+-
+-#: config/arm/arm.c:1102
+-#, fuzzy, gcc-internal-format
+-msgid "passing floating point arguments in fp regs not yet supported"
+-msgstr "Bihindagurika Akadomo ingingo in OYA"
+-
+-#: config/arm/arm.c:1144
+-#, fuzzy, gcc-internal-format
+-msgid "invalid ABI option: -mabi=%s"
+-msgstr "Sibyo Ihitamo"
+-
+-#: config/arm/arm.c:1150
+-#, gcc-internal-format
+-msgid "iwmmxt requires an AAPCS compatible ABI for proper operation"
+-msgstr ""
+-
+-#: config/arm/arm.c:1153
+-#, gcc-internal-format
+-msgid "iwmmxt abi requires an iwmmxt capable cpu"
+-msgstr ""
+-
+-#: config/arm/arm.c:1163
+-#, fuzzy, gcc-internal-format
+-msgid "invalid floating point emulation option: -mfpe=%s"
+-msgstr "Sibyo Bihindagurika Akadomo Ihitamo"
+-
+-#: config/arm/arm.c:1180
+-#, fuzzy, gcc-internal-format
+-msgid "invalid floating point option: -mfpu=%s"
+-msgstr "Sibyo Bihindagurika Akadomo Ihitamo"
+-
+-#: config/arm/arm.c:1220
+-#, fuzzy, gcc-internal-format
+-msgid "invalid floating point abi: -mfloat-abi=%s"
+-msgstr "Sibyo Bihindagurika Akadomo Ihitamo"
+-
+-#: config/arm/arm.c:1227
+-#, gcc-internal-format
+-msgid "-mfloat-abi=hard and VFP"
+-msgstr ""
+-
+-#: config/arm/arm.c:1233
+-#, fuzzy, gcc-internal-format
+-msgid "iWMMXt and hardware floating point"
+-msgstr "Bihindagurika Akadomo"
+-
+-#: config/arm/arm.c:1256
+-#, fuzzy, gcc-internal-format
+-msgid "invalid thread pointer option: -mtp=%s"
+-msgstr "Sibyo Bihindagurika Akadomo Ihitamo"
+-
+-#: config/arm/arm.c:1269
+-#, fuzzy, gcc-internal-format
+-msgid "can not use -mtp=cp15 with -mthumb"
+-msgstr "Gukoresha Na:"
+-
+-#: config/arm/arm.c:1283
+-#, fuzzy, gcc-internal-format
+-msgid "structure size boundary can only be set to %s"
+-msgstr "Imiterere Ingano Gushyiraho Kuri 8 Cyangwa"
+-
+-#: config/arm/arm.c:1292
+-#, fuzzy, gcc-internal-format
+-msgid "-mpic-register= is useless without -fpic"
+-msgstr "-Kwiyandikisha ni"
+-
+-#: config/arm/arm.c:1299
+-#, fuzzy, gcc-internal-format
+-msgid "unable to use '%s' for PIC register"
+-msgstr "Kuri Gukoresha kugirango Kwiyandikisha"
+-
+-#: config/arm/arm.c:2874 config/arm/arm.c:2892 config/avr/avr.c:4713
+-#: config/bfin/bfin.c:3666 config/c4x/c4x.c:4076 config/h8300/h8300.c:5258
+-#: config/i386/i386.c:2337 config/m68hc11/m68hc11.c:1155
+-#: config/m68k/m68k.c:381 config/mcore/mcore.c:3032 config/mt/mt.c:1276
+-#: config/rs6000/rs6000.c:17630 config/sh/sh.c:7709 config/sh/sh.c:7730
+-#: config/sh/sh.c:7753 config/stormy16/stormy16.c:2255 config/v850/v850.c:2123
+-#, fuzzy, gcc-internal-format
+-msgid "%qs attribute only applies to functions"
+-msgstr "`%s'Ikiranga Kuri Imimaro"
+-
+-#: config/arm/arm.c:12104
+-#, fuzzy, gcc-internal-format
+-msgid "unable to compute real location of stacked parameter"
+-msgstr "Kuri Ahantu Bya Birunze"
+-
+-#. @@@ better error message
+-#: config/arm/arm.c:12749 config/arm/arm.c:12786
+-#, gcc-internal-format
+-msgid "selector must be an immediate"
+-msgstr ""
+-
+-#. @@@ better error message
+-#: config/arm/arm.c:12829 config/i386/i386.c:16158 config/i386/i386.c:16192
+-#, gcc-internal-format
+-msgid "mask must be an immediate"
+-msgstr ""
+-
+-#: config/arm/arm.c:13488
+-#, fuzzy, gcc-internal-format
+-msgid "no low registers available for popping high registers"
+-msgstr "Oya Byo hasi Bihari kugirango kirekire"
+-
+-#: config/arm/arm.c:13712
+-#, fuzzy, gcc-internal-format
+-msgid "interrupt Service Routines cannot be coded in Thumb mode"
+-msgstr "Hagarikira aho in Ubwoko"
+-
+-#: config/arm/pe.c:165 config/mcore/mcore.c:2898
+-#, fuzzy, gcc-internal-format
+-msgid "initialized variable %q+D is marked dllimport"
+-msgstr "IMPINDURAGACIRO ni cy/ byagarajwe"
+-
+-#: config/arm/pe.c:174
+-#, fuzzy, gcc-internal-format
+-msgid "static variable %q+D is marked dllimport"
+-msgstr "IMPINDURAGACIRO ni cy/ byagarajwe"
+-
+-#: config/avr/avr.c:568
+-#, fuzzy, gcc-internal-format
+-msgid "large frame pointer change (%d) with -mtiny-stack"
+-msgstr "Binini Ikadiri Mweretsi Guhindura>> Na:"
+-
+-#: config/avr/avr.c:4686
+-#, fuzzy, gcc-internal-format
+-msgid "only initialized variables can be placed into program memory area"
+-msgstr "Ibihinduka Porogaramu Ububiko Ubuso"
+-
+-#: config/avr/avr.c:4730
+-#, gcc-internal-format
+-msgid "%qs appears to be a misspelled interrupt handler"
+-msgstr ""
+-
+-#: config/avr/avr.c:4738
+-#, gcc-internal-format
+-msgid "%qs appears to be a misspelled signal handler"
+-msgstr ""
+-
+-#: config/avr/avr.c:4830
+-#, fuzzy, gcc-internal-format
+-msgid "only uninitialized variables can be placed in the .noinit section"
+-msgstr "Itatangijwe Ibihinduka in i Icyiciro"
+-
+-#: config/avr/avr.c:4844
+-#, fuzzy, gcc-internal-format
+-msgid "MCU %qs supported for assembler only"
+-msgstr "kugirango"
+-
+-#: config/avr/avr.h:691
+-#, fuzzy, gcc-internal-format
+-msgid "trampolines not supported"
+-msgstr "OYA"
+-
+-#: config/bfin/bfin.c:1958 config/m68k/m68k.c:299
+-#, fuzzy, gcc-internal-format
+-msgid "-mshared-library-id=%s is not between 0 and %d"
+-msgstr "-ni OYA hagati 0 Na"
+-
+-#: config/bfin/bfin.c:1988
+-#, gcc-internal-format
+-msgid "-mshared-library-id= specified without -mid-shared-library"
+-msgstr ""
+-
+-#: config/bfin/bfin.c:1994
+-#, gcc-internal-format
+-msgid "ID shared libraries and FD-PIC mode can't be used together."
+-msgstr ""
+-
+-#: config/bfin/bfin.c:3671
+-#, fuzzy, gcc-internal-format
+-msgid "multiple function type attributes specified"
+-msgstr "Mumurongo Umumaro Ikiranga"
+-
+-#: config/bfin/bfin.c:3727
+-#, fuzzy, gcc-internal-format
+-msgid "`%s' attribute only applies to functions"
+-msgstr "`%s'Ikiranga Kuri Imimaro"
+-
+-#: config/bfin/bfin.c:3738
+-#, gcc-internal-format
+-msgid "can't apply both longcall and shortcall attributes to the same function"
+-msgstr ""
+-
+-#: config/c4x/c4x-c.c:72
+-#, fuzzy, gcc-internal-format
+-msgid "missing '(' after '#pragma %s' - ignored"
+-msgstr "Ibuze Nyuma"
+-
+-#: config/c4x/c4x-c.c:75
+-#, fuzzy, gcc-internal-format
+-msgid "missing function name in '#pragma %s' - ignored"
+-msgstr "Ibuze Umumaro Izina: in"
+-
+-#: config/c4x/c4x-c.c:80
+-#, gcc-internal-format
+-msgid "malformed '#pragma %s' - ignored"
+-msgstr ""
+-
+-#: config/c4x/c4x-c.c:82
+-#, fuzzy, gcc-internal-format
+-msgid "missing section name in '#pragma %s' - ignored"
+-msgstr "Ibuze Icyiciro Izina: in"
+-
+-#: config/c4x/c4x-c.c:87
+-#, fuzzy, gcc-internal-format
+-msgid "missing ')' for '#pragma %s' - ignored"
+-msgstr "Ibuze kugirango"
+-
+-#: config/c4x/c4x-c.c:90
+-#, fuzzy, gcc-internal-format
+-msgid "junk at end of '#pragma %s'"
+-msgstr "Umwanda ku Impera Bya"
+-
+-#: config/c4x/c4x.c:860
+-#, fuzzy, gcc-internal-format
+-msgid "ISR %s requires %d words of local vars, max is 32767"
+-msgstr "Amagambo Bya KININI ni"
+-
+-#. This function is for retrieving a part of an instruction name for
+-#. an operator, for immediate output. If that ever happens for
+-#. MULT, we need to apply TARGET_MUL_BUG in the caller. Make sure
+-#. we notice.
+-#: config/cris/cris.c:435
+-#, gcc-internal-format
+-msgid "MULT case in cris_op_str"
+-msgstr ""
+-
+-#: config/cris/cris.c:813
+-#, fuzzy, gcc-internal-format
+-msgid "invalid use of ':' modifier"
+-msgstr "Sibyo kugirango"
+-
+-#: config/cris/cris.c:986
+-#, fuzzy, gcc-internal-format
+-msgid "internal error: bad register: %d"
+-msgstr "By'imbere Ikosa Kwiyandikisha"
+-
+-#: config/cris/cris.c:1528
+-#, fuzzy, gcc-internal-format
+-msgid "internal error: sideeffect-insn affecting main effect"
+-msgstr "By'imbere Ikosa INGARUKA"
+-
+-#: config/cris/cris.c:1552
+-#, fuzzy, gcc-internal-format
+-msgid "unknown cc_attr value"
+-msgstr "Kitazwi"
+-
+-#. If we get here, the caller got its initial tests wrong.
+-#: config/cris/cris.c:1903
+-#, fuzzy, gcc-internal-format
+-msgid "internal error: cris_side_effect_mode_ok with bad operands"
+-msgstr "By'imbere Ikosa Na:"
+-
+-#: config/cris/cris.c:2106
+-#, fuzzy, gcc-internal-format
+-msgid "-max-stackframe=%d is not usable, not between 0 and %d"
+-msgstr "-KININI ni OYA OYA hagati 0 Na"
+-
+-#: config/cris/cris.c:2134
+-#, fuzzy, gcc-internal-format
+-msgid "unknown CRIS version specification in -march= or -mcpu= : %s"
+-msgstr "Kitazwi Verisiyo in Werurwe Cyangwa"
+-
+-#: config/cris/cris.c:2170
+-#, fuzzy, gcc-internal-format
+-msgid "unknown CRIS cpu version specification in -mtune= : %s"
+-msgstr "Kitazwi CPU Verisiyo in"
+-
+-#: config/cris/cris.c:2188
+-#, fuzzy, gcc-internal-format
+-msgid "-fPIC and -fpic are not supported in this configuration"
+-msgstr "-Na OYA in iyi Iboneza"
+-
+-#: config/cris/cris.c:2203
+-#, fuzzy, gcc-internal-format
+-msgid "that particular -g option is invalid with -maout and -melinux"
+-msgstr "g Ihitamo ni Sibyo Na: Na"
+-
+-#: config/cris/cris.c:2416
+-#, gcc-internal-format
+-msgid "Unknown src"
+-msgstr ""
+-
+-#: config/cris/cris.c:2477
+-#, fuzzy, gcc-internal-format
+-msgid "Unknown dest"
+-msgstr "Kitazwi Ubwoko"
+-
+-#: config/cris/cris.c:2762
+-#, fuzzy, gcc-internal-format
+-msgid "stackframe too big: %d bytes"
+-msgstr "Bayite"
+-
+-#: config/cris/cris.c:3214 config/cris/cris.c:3241
+-#, gcc-internal-format
+-msgid "expand_binop failed in movsi got"
+-msgstr ""
+-
+-#: config/cris/cris.c:3322
+-#, fuzzy, gcc-internal-format
+-msgid "emitting PIC operand, but PIC register isn't set up"
+-msgstr "Kwiyandikisha si Gushyiraho Hejuru"
+-
+-#. Definitions for GCC. Part of the machine description for CRIS.
+-#. Copyright (C) 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005
+-#. Free Software Foundation, Inc.
+-#. Contributed by Axis Communications. Written by Hans-Peter Nilsson.
+-#.
+-#. 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 2, 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 COPYING. If not, write to
+-#. the Free Software Foundation, 51 Franklin Street, Fifth Floor,
+-#. Boston, MA 02110-1301, USA.
+-#. After the first "Node:" comment comes all preprocessor directives and
+-#. attached declarations described in the info files, the "Using and
+-#. Porting GCC" manual (uapgcc), in the same order as found in the "Target
+-#. macros" section in the gcc-2.9x CVS edition of 2000-03-17. FIXME: Not
+-#. really, but needs an update anyway.
+-#.
+-#. There is no generic copy-of-uapgcc comment, you'll have to see uapgcc
+-#. for that. If applicable, there is a CRIS-specific comment. The order
+-#. of macro definitions follow the order in the manual. Every section in
+-#. the manual (node in the info pages) has an introductory `Node:
+-#. <subchapter>' comment. If no macros are defined for a section, only
+-#. the section-comment is present.
+-#. Note that other header files (e.g. config/elfos.h, config/linux.h,
+-#. config/cris/linux.h and config/cris/aout.h) are responsible for lots of
+-#. settings not repeated below. This file contains general CRIS
+-#. definitions and definitions for the cris-*-elf subtarget.
+-#. We don't want to use gcc_assert for everything, as that can be
+-#. compiled out.
+-#: config/cris/cris.h:44
+-#, gcc-internal-format
+-msgid "CRIS-port assertion failed: "
+-msgstr ""
+-
+-#. Node: Caller Saves
+-#. (no definitions)
+-#. Node: Function entry
+-#. See cris.c for TARGET_ASM_FUNCTION_PROLOGUE and
+-#. TARGET_ASM_FUNCTION_EPILOGUE.
+-#. Node: Profiling
+-#: config/cris/cris.h:867
+-#, fuzzy, gcc-internal-format
+-msgid "no FUNCTION_PROFILER for CRIS"
+-msgstr "Oya kugirango"
+-
+-#: config/crx/crx.h:355
+-#, fuzzy, gcc-internal-format
+-msgid "Profiler support for CRX"
+-msgstr "Gushigikira kugirango"
+-
+-#: config/crx/crx.h:366
+-#, fuzzy, gcc-internal-format
+-msgid "Trampoline support for CRX"
+-msgstr "OYA"
+-
+-#: config/frv/frv.c:8623
+-#, fuzzy, gcc-internal-format
+-msgid "accumulator is not a constant integer"
+-msgstr "ni OYA a Umubare wuzuye"
+-
+-#: config/frv/frv.c:8628
+-#, fuzzy, gcc-internal-format
+-msgid "accumulator number is out of bounds"
+-msgstr "Umubare ni Inyuma Bya"
+-
+-#: config/frv/frv.c:8639
+-#, fuzzy, gcc-internal-format
+-msgid "inappropriate accumulator for %qs"
+-msgstr "kugirango"
+-
+-#: config/frv/frv.c:8717
+-#, fuzzy, gcc-internal-format
+-msgid "invalid IACC argument"
+-msgstr "Sibyo Ubwoko"
+-
+-#: config/frv/frv.c:8740
+-#, fuzzy, gcc-internal-format
+-msgid "%qs expects a constant argument"
+-msgstr "`%s'a"
+-
+-#: config/frv/frv.c:8745
+-#, fuzzy, gcc-internal-format
+-msgid "constant argument out of range for %qs"
+-msgstr "Inyuma Bya Urutonde kugirango"
+-
+-#: config/frv/frv.c:9227
+-#, fuzzy, gcc-internal-format
+-msgid "media functions are not available unless -mmedia is used"
+-msgstr "Ibitangazamakuru Imimaro OYA Bihari ni"
+-
+-#: config/frv/frv.c:9239
+-#, fuzzy, gcc-internal-format
+-msgid "this media function is only available on the fr500"
+-msgstr "iyi Ibitangazamakuru Umumaro ni Bihari ku i"
+-
+-#: config/frv/frv.c:9267
+-#, fuzzy, gcc-internal-format
+-msgid "this media function is only available on the fr400 and fr550"
+-msgstr "iyi Ibitangazamakuru Umumaro ni Bihari ku i"
+-
+-#: config/frv/frv.c:9286
+-#, fuzzy, gcc-internal-format
+-msgid "this builtin function is only available on the fr405 and fr450"
+-msgstr "iyi Ibitangazamakuru Umumaro ni Bihari ku i"
+-
+-#: config/frv/frv.c:9295
+-#, fuzzy, gcc-internal-format
+-msgid "this builtin function is only available on the fr500 and fr550"
+-msgstr "iyi Ibitangazamakuru Umumaro ni Bihari ku i"
+-
+-#: config/frv/frv.c:9307
+-#, fuzzy, gcc-internal-format
+-msgid "this builtin function is only available on the fr450"
+-msgstr "iyi Ibitangazamakuru Umumaro ni Bihari ku i"
+-
+-#: config/h8300/h8300.c:331
+-#, fuzzy, gcc-internal-format
+-msgid "-ms2600 is used without -ms"
+-msgstr "-ni"
+-
+-#: config/h8300/h8300.c:337
+-#, fuzzy, gcc-internal-format
+-msgid "-mn is used without -mh or -ms"
+-msgstr "-ni Cyangwa"
+-
+-#: config/i386/host-cygwin.c:65
+-#, fuzzy, gcc-internal-format
+-msgid "can't extend PCH file: %m"
+-msgstr "IDOSIYE"
+-
+-#: config/i386/host-cygwin.c:76
+-#, fuzzy, gcc-internal-format
+-msgid "can't set position in PCH file: %m"
+-msgstr "Kurema Ibisobanuro IDOSIYE"
+-
+-#: config/i386/i386.c:1586 config/i386/i386.c:1727
+-#, fuzzy, gcc-internal-format
+-msgid "bad value (%s) for -mtune= switch"
+-msgstr "Agaciro kugirango Hindura"
+-
+-#: config/i386/i386.c:1611
+-#, gcc-internal-format
+-msgid "-mtune=x86-64 is deprecated. Use -mtune=k8 or -mtune=generic instead as appropriate."
+-msgstr ""
+-
+-#: config/i386/i386.c:1617
+-#, gcc-internal-format
+-msgid "generic CPU can be used only for -mtune= switch"
+-msgstr ""
+-
+-#: config/i386/i386.c:1619 config/i386/i386.c:1696 config/mt/mt.c:805
+-#, fuzzy, gcc-internal-format
+-msgid "bad value (%s) for -march= switch"
+-msgstr "Agaciro kugirango Werurwe Hindura"
+-
+-#: config/i386/i386.c:1628
+-#, fuzzy, gcc-internal-format
+-msgid "code model %s not supported in PIC mode"
+-msgstr "ITEGEKONGENGA Urugero OYA in Ubwoko"
+-
+-#: config/i386/i386.c:1636 config/sparc/sparc.c:698
+-#, fuzzy, gcc-internal-format
+-msgid "bad value (%s) for -mcmodel= switch"
+-msgstr "Agaciro kugirango Hindura"
+-
+-#: config/i386/i386.c:1652
+-#, fuzzy, gcc-internal-format
+-msgid "bad value (%s) for -masm= switch"
+-msgstr "Agaciro kugirango Hindura"
+-
+-#: config/i386/i386.c:1655
+-#, fuzzy, gcc-internal-format
+-msgid "code model %qs not supported in the %s bit mode"
+-msgstr "ITEGEKONGENGA Urugero OYA in i Ubwoko"
+-
+-#: config/i386/i386.c:1658
+-#, fuzzy, gcc-internal-format
+-msgid "code model %<large%> not supported yet"
+-msgstr "ITEGEKONGENGA Urugero OYA"
+-
+-#: config/i386/i386.c:1660
+-#, fuzzy, gcc-internal-format
+-msgid "%i-bit mode not compiled in"
+-msgstr "%i-bitUbwoko OYA in"
+-
+-#: config/i386/i386.c:1690 config/i386/i386.c:1714
+-#, fuzzy, gcc-internal-format
+-msgid "CPU you selected does not support x86-64 instruction set"
+-msgstr "Intego OYA Gushigikira Amabwiriza"
+-
+-#: config/i386/i386.c:1744
+-#, fuzzy, gcc-internal-format
+-msgid "-mregparm=%d is not between 0 and %d"
+-msgstr "-ni OYA hagati 0 Na"
+-
+-#: config/i386/i386.c:1757
+-#, fuzzy, gcc-internal-format
+-msgid "-malign-loops is obsolete, use -falign-loops"
+-msgstr "-ni Gukoresha"
+-
+-#: config/i386/i386.c:1762 config/i386/i386.c:1775 config/i386/i386.c:1788
+-#, fuzzy, gcc-internal-format
+-msgid "-malign-loops=%d is not between 0 and %d"
+-msgstr "-ni OYA hagati 0 Na"
+-
+-#: config/i386/i386.c:1770
+-#, fuzzy, gcc-internal-format
+-msgid "-malign-jumps is obsolete, use -falign-jumps"
+-msgstr "-ni Gukoresha"
+-
+-#: config/i386/i386.c:1783
+-#, fuzzy, gcc-internal-format
+-msgid "-malign-functions is obsolete, use -falign-functions"
+-msgstr "-Imimaro ni Gukoresha Imimaro"
+-
+-#: config/i386/i386.c:1816
+-#, fuzzy, gcc-internal-format
+-msgid "-mbranch-cost=%d is not between 0 and 5"
+-msgstr "-Ikiguzi ni OYA hagati 0 Na 5"
+-
+-#: config/i386/i386.c:1824
+-#, gcc-internal-format
+-msgid "-mlarge-data-threshold=%d is negative"
+-msgstr ""
+-
+-#: config/i386/i386.c:1838
+-#, fuzzy, gcc-internal-format
+-msgid "bad value (%s) for -mtls-dialect= switch"
+-msgstr "Agaciro kugirango Hindura"
+-
+-#: config/i386/i386.c:1885
+-#, fuzzy, gcc-internal-format
+-msgid "-malign-double makes no sense in the 64bit mode"
+-msgstr "-MAHARAKUBIRI Oya in i Ubwoko"
+-
+-#: config/i386/i386.c:1887
+-#, fuzzy, gcc-internal-format
+-msgid "-mrtd calling convention not supported in the 64bit mode"
+-msgstr "-OYA in i Ubwoko"
+-
+-#: config/i386/i386.c:1913
+-#, fuzzy, gcc-internal-format
+-msgid "-mpreferred-stack-boundary=%d is not between %d and 12"
+-msgstr "-ni OYA hagati Na 12"
+-
+-#: config/i386/i386.c:1922
+-#, gcc-internal-format
+-msgid "-msseregparm used without SSE enabled"
+-msgstr ""
+-
+-#: config/i386/i386.c:1934 config/i386/i386.c:1945
+-#, fuzzy, gcc-internal-format
+-msgid "SSE instruction set disabled, using 387 arithmetics"
+-msgstr "Gushyiraho Yahagaritswe ikoresha"
+-
+-#: config/i386/i386.c:1950
+-#, fuzzy, gcc-internal-format
+-msgid "387 instruction set disabled, using SSE arithmetics"
+-msgstr "Gushyiraho Yahagaritswe ikoresha"
+-
+-#: config/i386/i386.c:1957
+-#, fuzzy, gcc-internal-format
+-msgid "bad value (%s) for -mfpmath= switch"
+-msgstr "Agaciro kugirango Hindura"
+-
+-#: config/i386/i386.c:1979
+-#, gcc-internal-format
+-msgid "unwind tables currently require either a frame pointer or -maccumulate-outgoing-args for correctness"
+-msgstr ""
+-
+-#: config/i386/i386.c:2350 config/i386/i386.c:2401
+-#, fuzzy, gcc-internal-format
+-msgid "fastcall and regparm attributes are not compatible"
+-msgstr "`Na Ibiranga OYA"
+-
+-#: config/i386/i386.c:2357
+-#, fuzzy, gcc-internal-format
+-msgid "%qs attribute requires an integer constant argument"
+-msgstr "`%s'Ikiranga Umubare wuzuye"
+-
+-#: config/i386/i386.c:2363
+-#, fuzzy, gcc-internal-format
+-msgid "argument to %qs attribute larger than %d"
+-msgstr "Kuri Ikiranga Kinini"
+-
+-#: config/i386/i386.c:2373
+-#, gcc-internal-format
+-msgid "%s functions limited to %d register parameters"
+-msgstr ""
+-
+-#: config/i386/i386.c:2393 config/i386/i386.c:2428
+-#, fuzzy, gcc-internal-format
+-msgid "fastcall and cdecl attributes are not compatible"
+-msgstr "Na OYA"
+-
+-#: config/i386/i386.c:2397
+-#, fuzzy, gcc-internal-format
+-msgid "fastcall and stdcall attributes are not compatible"
+-msgstr "Na OYA"
+-
+-#: config/i386/i386.c:2411 config/i386/i386.c:2424
+-#, fuzzy, gcc-internal-format
+-msgid "stdcall and cdecl attributes are not compatible"
+-msgstr "Na OYA"
+-
+-#: config/i386/i386.c:2415
+-#, fuzzy, gcc-internal-format
+-msgid "stdcall and fastcall attributes are not compatible"
+-msgstr "`Na Ibiranga OYA"
+-
+-#: config/i386/i386.c:2562
+-#, gcc-internal-format
+-msgid "Calling %qD with attribute sseregparm without SSE/SSE2 enabled"
+-msgstr ""
+-
+-#: config/i386/i386.c:2565
+-#, gcc-internal-format
+-msgid "Calling %qT with attribute sseregparm without SSE/SSE2 enabled"
+-msgstr ""
+-
+-#: config/i386/i386.c:3323
+-#, gcc-internal-format
+-msgid "SSE register return with SSE disabled"
+-msgstr ""
+-
+-#: config/i386/i386.c:3329
+-#, gcc-internal-format
+-msgid "SSE register argument with SSE disabled"
+-msgstr ""
+-
+-#: config/i386/i386.c:3345
+-#, gcc-internal-format
+-msgid "x87 register return with x87 disabled"
+-msgstr ""
+-
+-#: config/i386/i386.c:3661
+-#, gcc-internal-format
+-msgid "SSE vector argument without SSE enabled changes the ABI"
+-msgstr ""
+-
+-#: config/i386/i386.c:3678
+-#, gcc-internal-format
+-msgid "MMX vector argument without MMX enabled changes the ABI"
+-msgstr ""
+-
+-#: config/i386/i386.c:3962
+-#, gcc-internal-format
+-msgid "SSE vector return without SSE enabled changes the ABI"
+-msgstr ""
+-
+-#: config/i386/i386.c:3972
+-#, gcc-internal-format
+-msgid "MMX vector return without MMX enabled changes the ABI"
+-msgstr ""
+-
+-#: config/i386/i386.c:5327
+-#, fuzzy, gcc-internal-format
+-msgid "-mstackrealign ignored for nested functions"
+-msgstr "C Imimaro"
+-
+-#: config/i386/i386.c:5329
+-#, fuzzy, gcc-internal-format
+-msgid "%s not supported for nested functions"
+-msgstr "OYA Gushigikira in Imimaro"
+-
+-#: config/i386/i386.c:7552
+-#, fuzzy, gcc-internal-format
+-msgid "extended registers have no high halves"
+-msgstr "Byongerewe... Oya kirekire"
+-
+-#: config/i386/i386.c:7567
+-#, fuzzy, gcc-internal-format
+-msgid "unsupported operand size for extended register"
+-msgstr "Ingano kugirango Byongerewe... Kwiyandikisha"
+-
+-#: config/i386/i386.c:15882 config/rs6000/rs6000.c:7318
+-#, gcc-internal-format
+-msgid "selector must be an integer constant in the range 0..%wi"
+-msgstr ""
+-
+-#: config/i386/i386.c:16237 config/i386/i386.c:16321
+-#, fuzzy, gcc-internal-format
+-msgid "shift must be an immediate"
+-msgstr "Gusunika"
+-
+-#: config/i386/i386.c:17551 config/rs6000/rs6000.c:17713
+-#, fuzzy, gcc-internal-format
+-msgid "%qs incompatible attribute ignored"
+-msgstr "`%s'Ikiranga"
+-
+-#: config/i386/winnt-cxx.c:74
+-#, gcc-internal-format
+-msgid "key method %q+D of dllimport'd class defined"
+-msgstr ""
+-
+-#: config/i386/winnt-cxx.c:95 config/sh/symbian.c:173
+-#, gcc-internal-format
+-msgid "definition of static data member %q+D of dllimport'd class"
+-msgstr ""
+-
+-#: config/i386/winnt.c:74
+-#, fuzzy, gcc-internal-format
+-msgid "%qs attribute only applies to variables"
+-msgstr "`%s'Ikiranga Kuri Ibihinduka"
+-
+-#: config/i386/winnt.c:96
+-#, gcc-internal-format
+-msgid "%qs attribute applies only to initialized variables with external linkage"
+-msgstr ""
+-
+-#: config/i386/winnt.c:153
+-#, gcc-internal-format
+-msgid "%q+D: definition is marked as dllimport"
+-msgstr ""
+-
+-#: config/i386/winnt.c:217
+-#, gcc-internal-format
+-msgid "inconsistent dll linkage for %q+D, dllexport assumed"
+-msgstr ""
+-
+-#: config/i386/winnt.c:257 config/sh/symbian.c:273
+-#, fuzzy, gcc-internal-format
+-msgid "%qs declared as both exported to and imported from a DLL"
+-msgstr "`%s'Nka Byombi Kuri Na cyavuye ahandi/ cyatumijwe Bivuye a"
+-
+-#: config/i386/winnt.c:380
+-#, fuzzy, gcc-internal-format
+-msgid "%q+D:'selectany' attribute applies only to initialized objects"
+-msgstr "`%s'Ikiranga Kuri Imimaro"
+-
+-#: config/i386/winnt.c:568
+-#, fuzzy, gcc-internal-format
+-msgid "%q+D causes a section type conflict"
+-msgstr "%sa Icyiciro Ubwoko"
+-
+-#: config/i386/cygming.h:127
+-#, fuzzy, gcc-internal-format
+-msgid "-f%s ignored for target (all code is position independent)"
+-msgstr "-F kugirango Intego Byose ITEGEKONGENGA ni Ibirindiro"
+-
+-#: config/i386/djgpp.h:181
+-#, fuzzy, gcc-internal-format
+-msgid "-mbnu210 is ignored (option is obsolete)"
+-msgstr "-ni Ihitamo ni"
+-
+-#: config/i386/i386-interix.h:257
+-#, fuzzy, gcc-internal-format
+-msgid "ms-bitfields not supported for objc"
+-msgstr "-F OYA"
+-
+-#: config/ia64/ia64-c.c:52
+-#, gcc-internal-format
+-msgid "malformed #pragma builtin"
+-msgstr ""
+-
+-#: config/ia64/ia64.c:533 config/m32r/m32r.c:373
+-#, fuzzy, gcc-internal-format
+-msgid "invalid argument of %qs attribute"
+-msgstr "Sibyo Bya Ikiranga"
+-
+-#: config/ia64/ia64.c:545
+-#, fuzzy, gcc-internal-format
+-msgid "%Jan address area attribute cannot be specified for local variables"
+-msgstr "a Ibyatanzwe Ubuso Ikiranga kugirango Ibihinduka"
+-
+-#: config/ia64/ia64.c:552
+-#, fuzzy, gcc-internal-format
+-msgid "address area of %q+D conflicts with previous declaration"
+-msgstr "Ibyatanzwe Ubuso Bya Na: Ibanjirije"
+-
+-#: config/ia64/ia64.c:559
+-#, fuzzy, gcc-internal-format
+-msgid "%Jaddress area attribute cannot be specified for functions"
+-msgstr "a Ibyatanzwe Ubuso Ikiranga kugirango Ibihinduka"
+-
+-#: config/ia64/ia64.c:5084 config/pa/pa.c:339
+-#, fuzzy, gcc-internal-format
+-msgid "value of -mfixed-range must have form REG1-REG2"
+-msgstr "Agaciro Bya Urutonde Ifishi"
+-
+-#: config/ia64/ia64.c:5111 config/pa/pa.c:366
+-#, fuzzy, gcc-internal-format
+-msgid "%s-%s is an empty range"
+-msgstr "%s-%sni ubusa Urutonde"
+-
+-#: config/ia64/ia64.c:5139
+-#, fuzzy, gcc-internal-format
+-msgid "bad value %<%s%> for -mtls-size= switch"
+-msgstr "Agaciro kugirango Ingano Hindura"
+-
+-#: config/ia64/ia64.c:5167
+-#, fuzzy, gcc-internal-format
+-msgid "bad value %<%s%> for -mtune= switch"
+-msgstr "Agaciro kugirango Hindura"
+-
+-#: config/ia64/ia64.c:5186
+-#, gcc-internal-format
+-msgid "not yet implemented: latency-optimized inline square root"
+-msgstr ""
+-
+-#: config/iq2000/iq2000.c:1814
+-#, fuzzy, gcc-internal-format
+-msgid "gp_offset (%ld) or end_offset (%ld) is less than zero"
+-msgstr "Cyangwa ni Birutwa Zeru"
+-
+-#: config/iq2000/iq2000.c:2593
+-#, fuzzy, gcc-internal-format
+-msgid "argument %qd is not a constant"
+-msgstr "Bya ni OYA a Ikurikiranyanyuguti"
+-
+-#: config/iq2000/iq2000.c:2896 config/mt/mt.c:350 config/xtensa/xtensa.c:1789
+-#, fuzzy, gcc-internal-format
+-msgid "PRINT_OPERAND_ADDRESS, null pointer"
+-msgstr "NTAGIHARI Mweretsi"
+-
+-#: config/iq2000/iq2000.c:3051
+-#, fuzzy, gcc-internal-format
+-msgid "PRINT_OPERAND: Unknown punctuation '%c'"
+-msgstr "Kitazwi"
+-
+-#: config/iq2000/iq2000.c:3060 config/mips/mips.c:5501
+-#: config/xtensa/xtensa.c:1643
+-#, fuzzy, gcc-internal-format
+-msgid "PRINT_OPERAND null pointer"
+-msgstr "NTAGIHARI Mweretsi"
+-
+-#: config/m32c/m32c-pragma.c:64
+-#, fuzzy, gcc-internal-format
+-msgid "junk at end of #pragma GCC memregs [0..16]"
+-msgstr "Umwanda ku Impera Bya"
+-
+-#: config/m32c/m32c-pragma.c:71
+-#, gcc-internal-format
+-msgid "#pragma GCC memregs must precede any function decls"
+-msgstr ""
+-
+-#: config/m32c/m32c-pragma.c:82 config/m32c/m32c-pragma.c:89
+-#, gcc-internal-format
+-msgid "#pragma GCC memregs takes a number [0..16]"
+-msgstr ""
+-
+-#: config/m32c/m32c.c:412
+-#, fuzzy, gcc-internal-format
+-msgid "invalid target memregs value '%d'"
+-msgstr "Sibyo Agaciro"
+-
+-#: config/m68hc11/m68hc11.c:279
+-#, fuzzy, gcc-internal-format
+-msgid "-f%s ignored for 68HC11/68HC12 (not supported)"
+-msgstr "-F kugirango OYA"
+-
+-#: config/m68hc11/m68hc11.c:1240
+-#, fuzzy, gcc-internal-format
+-msgid "%<trap%> and %<far%> attributes are not compatible, ignoring %<far%>"
+-msgstr "`Na Ibiranga OYA"
+-
+-#: config/m68hc11/m68hc11.c:1247
+-#, fuzzy, gcc-internal-format
+-msgid "%<trap%> attribute is already used"
+-msgstr "`Ikiranga ni"
+-
+-#: config/m68k/m68k.c:326
+-#, fuzzy, gcc-internal-format
+-msgid "cannot specify both -msep-data and -mid-shared-library"
+-msgstr "Byombi C Na o"
+-
+-#: config/m68k/m68k.c:338
+-#, fuzzy, gcc-internal-format
+-msgid "-fPIC is not currently supported on the 68000 or 68010"
+-msgstr "-ni OYA ku i Cyangwa"
+-
+-#: config/m68k/m68k.c:680 config/rs6000/rs6000.c:13921
+-#, fuzzy, gcc-internal-format
+-msgid "stack limit expression is not supported"
+-msgstr "imvugo ni OYA"
+-
+-#: config/mips/mips.c:4708
+-#, fuzzy, gcc-internal-format
+-msgid "-%s conflicts with the other architecture options, which specify a %s processor"
+-msgstr "-Na: i Ikindi Amahitamo a"
+-
+-#: config/mips/mips.c:4724
+-#, fuzzy, gcc-internal-format
+-msgid "-march=%s is not compatible with the selected ABI"
+-msgstr "-Werurwe ni OYA Na: i Byahiswemo"
+-
+-#: config/mips/mips.c:4742
+-#, fuzzy, gcc-internal-format
+-msgid "-mgp64 used with a 32-bit processor"
+-msgstr "-Na: a"
+-
+-#: config/mips/mips.c:4744
+-#, fuzzy, gcc-internal-format
+-msgid "-mgp32 used with a 64-bit ABI"
+-msgstr "-Na: a"
+-
+-#: config/mips/mips.c:4746
+-#, fuzzy, gcc-internal-format
+-msgid "-mgp64 used with a 32-bit ABI"
+-msgstr "-Na: a"
+-
+-#: config/mips/mips.c:4764 config/mips/mips.c:4766 config/mips/mips.c:4768
+-#: config/mips/mips.c:4844
+-#, fuzzy, gcc-internal-format
+-msgid "unsupported combination: %s"
+-msgstr "Ivanga"
+-
+-#: config/mips/mips.c:4839
+-#, fuzzy, gcc-internal-format
+-msgid "generation of Branch Likely instructions enabled, but not supported by architecture"
+-msgstr "Bya Amabwiriza Bikora OYA ku"
+-
+-#: config/mips/mips.c:4859
+-#, gcc-internal-format
+-msgid "%<-G%> is incompatible with %<-mabicalls%>"
+-msgstr ""
+-
+-#: config/mips/mips.c:4926
+-#, gcc-internal-format
+-msgid "-mips3d requires -mpaired-single"
+-msgstr ""
+-
+-#: config/mips/mips.c:4935
+-#, gcc-internal-format
+-msgid "-mips3d/-mpaired-single must be used with -mfp64 -mhard-float"
+-msgstr ""
+-
+-#: config/mips/mips.c:4940
+-#, fuzzy, gcc-internal-format
+-msgid "-mips3d/-mpaired-single must be used with -mips64"
+-msgstr "-Na: C"
+-
+-#: config/mips/mips.c:4943
+-#, fuzzy, gcc-internal-format
+-msgid "-mips16 and -mdsp cannot be used together"
+-msgstr "-Na Gicurasi OYA"
+-
+-#: config/mips/mips.c:5438
+-#, fuzzy, gcc-internal-format
+-msgid "internal error: %%) found without a %%( in assembler pattern"
+-msgstr "By'imbere Ikosa Byabonetse a in Ishusho"
+-
+-#: config/mips/mips.c:5452
+-#, fuzzy, gcc-internal-format
+-msgid "internal error: %%] found without a %%[ in assembler pattern"
+-msgstr "By'imbere Ikosa Byabonetse a in Ishusho"
+-
+-#: config/mips/mips.c:5465
+-#, fuzzy, gcc-internal-format
+-msgid "internal error: %%> found without a %%< in assembler pattern"
+-msgstr "By'imbere Ikosa Byabonetse a in Ishusho"
+-
+-#: config/mips/mips.c:5478
+-#, fuzzy, gcc-internal-format
+-msgid "internal error: %%} found without a %%{ in assembler pattern"
+-msgstr "By'imbere Ikosa Byabonetse a in Ishusho"
+-
+-#: config/mips/mips.c:5492
+-#, fuzzy, gcc-internal-format
+-msgid "PRINT_OPERAND: unknown punctuation '%c'"
+-msgstr "Kitazwi"
+-
+-#: config/mips/mips.c:8307
+-#, fuzzy, gcc-internal-format
+-msgid "cannot handle inconsistent calls to %qs"
+-msgstr "OYA Amahamagara: Kuri"
+-
+-#: config/mips/mips.c:9615
+-#, fuzzy, gcc-internal-format
+-msgid "the cpu name must be lower case"
+-msgstr "i CPU Izina: Ntoya"
+-
+-#: config/mips/mips.c:10293
+-#, fuzzy, gcc-internal-format
+-msgid "invalid argument to builtin function"
+-msgstr "Oya ingingo kugirango Umumaro"
+-
+-#. Output assembler code to FILE to increment profiler label # LABELNO
+-#. for profiling a function entry.
+-#: config/mips/mips.h:1989
+-#, fuzzy, gcc-internal-format
+-msgid "mips16 function profiling"
+-msgstr "Umumaro"
+-
+-#: config/mmix/mmix.c:227
+-#, fuzzy, gcc-internal-format
+-msgid "-f%s not supported: ignored"
+-msgstr "-F OYA"
+-
+-#: config/mmix/mmix.c:655
+-#, fuzzy, gcc-internal-format
+-msgid "support for mode %qs"
+-msgstr "Oya Ibyatanzwe Ubwoko kugirango Ubwoko"
+-
+-#: config/mmix/mmix.c:669
+-#, fuzzy, gcc-internal-format
+-msgid "too large function value type, needs %d registers, have only %d registers for this"
+-msgstr "Binini Umumaro Agaciro Ubwoko kugirango iyi"
+-
+-#: config/mmix/mmix.c:839
+-#, fuzzy, gcc-internal-format
+-msgid "function_profiler support for MMIX"
+-msgstr "Gushigikira kugirango"
+-
+-#: config/mmix/mmix.c:861
+-#, fuzzy, gcc-internal-format
+-msgid "MMIX Internal: Last named vararg would not fit in a register"
+-msgstr "OYA in a Kwiyandikisha"
+-
+-#: config/mmix/mmix.c:1476 config/mmix/mmix.c:1500 config/mmix/mmix.c:1616
+-#, fuzzy, gcc-internal-format
+-msgid "MMIX Internal: Bad register: %d"
+-msgstr "Kwiyandikisha"
+-
+-#. Presumably there's a missing case above if we get here.
+-#: config/mmix/mmix.c:1608
+-#, fuzzy, gcc-internal-format
+-msgid "MMIX Internal: Missing %qc case in mmix_print_operand"
+-msgstr "in"
+-
+-#: config/mmix/mmix.c:1894
+-#, fuzzy, gcc-internal-format
+-msgid "stack frame not a multiple of 8 bytes: %wd"
+-msgstr "Ikadiri OYA a Igikubo Bya 8 Bayite"
+-
+-#: config/mmix/mmix.c:2130
+-#, fuzzy, gcc-internal-format
+-msgid "stack frame not a multiple of octabyte: %wd"
+-msgstr "Ikadiri OYA a Igikubo Bya"
+-
+-#: config/mmix/mmix.c:2470 config/mmix/mmix.c:2534
+-#, fuzzy, gcc-internal-format
+-msgid "MMIX Internal: %s is not a shiftable int"
+-msgstr "ni OYA a INT"
+-
+-#: config/mt/mt.c:313
+-#, gcc-internal-format
+-msgid "info pointer NULL"
+-msgstr ""
+-
+-#: config/pa/pa.c:471
+-#, fuzzy, gcc-internal-format
+-msgid "PIC code generation is not supported in the portable runtime model"
+-msgstr "ITEGEKONGENGA ni OYA in i"
+-
+-#: config/pa/pa.c:476
+-#, fuzzy, gcc-internal-format
+-msgid "PIC code generation is not compatible with fast indirect calls"
+-msgstr "ITEGEKONGENGA ni OYA Na: Byihuta BUZIGUYE"
+-
+-#: config/pa/pa.c:481
+-#, fuzzy, gcc-internal-format
+-msgid "-g is only supported when using GAS on this processor,"
+-msgstr "-g ni Ryari: ikoresha ku iyi"
+-
+-#: config/pa/pa.c:482
+-#, fuzzy, gcc-internal-format
+-msgid "-g option disabled"
+-msgstr "-g Ihitamo Yahagaritswe"
+-
+-#: config/pa/pa.c:8225
+-#, gcc-internal-format
+-msgid "alignment (%u) for %s exceeds maximum alignment for global common data. Using %u"
+-msgstr ""
+-
+-#: config/pa/pa-hpux11.h:85
+-#, gcc-internal-format
+-msgid "-munix=98 option required for C89 Amendment 1 features.\n"
+-msgstr ""
+-
+-#: config/rs6000/host-darwin.c:62
+-#, gcc-internal-format
+-msgid "Segmentation Fault (code)"
+-msgstr ""
+-
+-#: config/rs6000/host-darwin.c:132
+-#, gcc-internal-format
+-msgid "Segmentation Fault"
+-msgstr ""
+-
+-#: config/rs6000/host-darwin.c:146
+-#, gcc-internal-format
+-msgid "While setting up signal stack: %m"
+-msgstr ""
+-
+-#: config/rs6000/host-darwin.c:152
+-#, gcc-internal-format
+-msgid "While setting up signal handler: %m"
+-msgstr ""
+-
+-#. Handle the machine specific pragma longcall. Its syntax is
+-#.
+-#. # pragma longcall ( TOGGLE )
+-#.
+-#. where TOGGLE is either 0 or 1.
+-#.
+-#. rs6000_default_long_calls is set to the value of TOGGLE, changing
+-#. whether or not new function declarations receive a longcall
+-#. attribute by default.
+-#: config/rs6000/rs6000-c.c:53
+-#, gcc-internal-format
+-msgid "ignoring malformed #pragma longcall"
+-msgstr ""
+-
+-#: config/rs6000/rs6000-c.c:66
+-#, fuzzy, gcc-internal-format
+-msgid "missing open paren"
+-msgstr "Ibuze Gufungura"
+-
+-#: config/rs6000/rs6000-c.c:68
+-#, fuzzy, gcc-internal-format
+-msgid "missing number"
+-msgstr "Ibuze Umubare"
+-
+-#: config/rs6000/rs6000-c.c:70
+-#, fuzzy, gcc-internal-format
+-msgid "missing close paren"
+-msgstr "Ibuze Gufunga"
+-
+-#: config/rs6000/rs6000-c.c:73
+-#, fuzzy, gcc-internal-format
+-msgid "number must be 0 or 1"
+-msgstr "Umubare 0 Cyangwa 1."
+-
+-#: config/rs6000/rs6000-c.c:76
+-#, fuzzy, gcc-internal-format
+-msgid "junk at end of #pragma longcall"
+-msgstr "Umwanda ku Impera Bya"
+-
+-#: config/rs6000/rs6000-c.c:2533
+-#, fuzzy, gcc-internal-format
+-msgid "passing arg %d of %qE discards qualifiers frompointer target type"
+-msgstr "Bivuye Kuri Bivuye Mweretsi Intego Ubwoko"
+-
+-#: config/rs6000/rs6000-c.c:2576
+-#, fuzzy, gcc-internal-format
+-msgid "invalid parameter combination for AltiVec intrinsic"
+-msgstr "Sibyo Kwiyandikisha in i"
+-
+-#: config/rs6000/rs6000.c:1293
+-#, fuzzy, gcc-internal-format
+-msgid "-mmultiple is not supported on little endian systems"
+-msgstr "-ni OYA ku"
+-
+-#: config/rs6000/rs6000.c:1300
+-#, fuzzy, gcc-internal-format
+-msgid "-mstring is not supported on little endian systems"
+-msgstr "-ni OYA ku"
+-
+-#: config/rs6000/rs6000.c:1314
+-#, fuzzy, gcc-internal-format
+-msgid "unknown -mdebug-%s switch"
+-msgstr "Kitazwi Hindura"
+-
+-#: config/rs6000/rs6000.c:1326
+-#, fuzzy, gcc-internal-format
+-msgid "unknown -mtraceback arg %qs; expecting %<full%>, %<partial%> or %<none%>"
+-msgstr "Kitazwi Cyangwa"
+-
+-#: config/rs6000/rs6000.c:1377
+-#, gcc-internal-format
+-msgid "AltiVec and E500 instructions cannot coexist"
+-msgstr ""
+-
+-#: config/rs6000/rs6000.c:1602
+-#, fuzzy, gcc-internal-format
+-msgid "unknown -m%s= option specified: '%s'"
+-msgstr "Kitazwi Ihitamo"
+-
+-#: config/rs6000/rs6000.c:1818
+-#, gcc-internal-format
+-msgid "not configured for ABI: '%s'"
+-msgstr ""
+-
+-#: config/rs6000/rs6000.c:1831
+-#, gcc-internal-format
+-msgid "Using darwin64 ABI"
+-msgstr ""
+-
+-#: config/rs6000/rs6000.c:1836
+-#, gcc-internal-format
+-msgid "Using old darwin ABI"
+-msgstr ""
+-
+-#: config/rs6000/rs6000.c:1843
+-#, gcc-internal-format
+-msgid "Using IBM extended precision long double"
+-msgstr ""
+-
+-#: config/rs6000/rs6000.c:1849
+-#, gcc-internal-format
+-msgid "Using IEEE extended precision long double"
+-msgstr ""
+-
+-#: config/rs6000/rs6000.c:1854
+-#, fuzzy, gcc-internal-format
+-msgid "unknown ABI specified: '%s'"
+-msgstr "Kitazwi"
+-
+-#: config/rs6000/rs6000.c:1881
+-#, fuzzy, gcc-internal-format
+-msgid "invalid option for -mfloat-gprs: '%s'"
+-msgstr "Sibyo Ihitamo Ibyatanzwe"
+-
+-#: config/rs6000/rs6000.c:1891
+-#, fuzzy, gcc-internal-format
+-msgid "Unknown switch -mlong-double-%s"
+-msgstr "Hindura MAHARAKUBIRI"
+-
+-#: config/rs6000/rs6000.c:1912
+-#, gcc-internal-format
+-msgid "-malign-power is not supported for 64-bit Darwin; it is incompatible with the installed C and C++ libraries"
+-msgstr ""
+-
+-#: config/rs6000/rs6000.c:1920
+-#, fuzzy, gcc-internal-format
+-msgid "unknown -malign-XXXXX option specified: '%s'"
+-msgstr "Kitazwi Ihitamo"
+-
+-#: config/rs6000/rs6000.c:4352
+-#, gcc-internal-format
+-msgid "GCC vector returned by reference: non-standard ABI extension with no compatibility guarantee"
+-msgstr ""
+-
+-#: config/rs6000/rs6000.c:4425
+-#, gcc-internal-format
+-msgid "cannot return value in vector register because altivec instructions are disabled, use -maltivec to enable them"
+-msgstr ""
+-
+-#: config/rs6000/rs6000.c:4683
+-#, gcc-internal-format
+-msgid "cannot pass argument in vector register because altivec instructions are disabled, use -maltivec to enable them"
+-msgstr ""
+-
+-#: config/rs6000/rs6000.c:5540
+-#, gcc-internal-format
+-msgid "GCC vector passed by reference: non-standard ABI extension with no compatibility guarantee"
+-msgstr ""
+-
+-#: config/rs6000/rs6000.c:6732
+-#, fuzzy, gcc-internal-format
+-msgid "argument 1 must be a 5-bit signed literal"
+-msgstr "1. a 5"
+-
+-#: config/rs6000/rs6000.c:6835 config/rs6000/rs6000.c:7629
+-#, fuzzy, gcc-internal-format
+-msgid "argument 2 must be a 5-bit unsigned literal"
+-msgstr "2. a 5 Bitashizweho umukono"
+-
+-#: config/rs6000/rs6000.c:6875
+-#, fuzzy, gcc-internal-format
+-msgid "argument 1 of __builtin_altivec_predicate must be a constant"
+-msgstr "1. Bya a"
+-
+-#: config/rs6000/rs6000.c:6928
+-#, fuzzy, gcc-internal-format
+-msgid "argument 1 of __builtin_altivec_predicate is out of range"
+-msgstr "1. Bya ni Inyuma Bya Urutonde"
+-
+-#: config/rs6000/rs6000.c:7090
+-#, fuzzy, gcc-internal-format
+-msgid "argument 3 must be a 4-bit unsigned literal"
+-msgstr "3. a 4. Bitashizweho umukono"
+-
+-#: config/rs6000/rs6000.c:7262
+-#, fuzzy, gcc-internal-format
+-msgid "argument to %qs must be a 2-bit unsigned literal"
+-msgstr "Kuri a 2. Bitashizweho umukono"
+-
+-#: config/rs6000/rs6000.c:7406
+-#, gcc-internal-format
+-msgid "unresolved overload for Altivec builtin %qF"
+-msgstr ""
+-
+-#: config/rs6000/rs6000.c:7488
+-#, fuzzy, gcc-internal-format
+-msgid "argument to dss must be a 2-bit unsigned literal"
+-msgstr "Kuri a 2. Bitashizweho umukono"
+-
+-#: config/rs6000/rs6000.c:7749
+-#, fuzzy, gcc-internal-format
+-msgid "argument 1 of __builtin_spe_predicate must be a constant"
+-msgstr "1. Bya a"
+-
+-#: config/rs6000/rs6000.c:7821
+-#, fuzzy, gcc-internal-format
+-msgid "argument 1 of __builtin_spe_predicate is out of range"
+-msgstr "1. Bya ni Inyuma Bya Urutonde"
+-
+-#: config/rs6000/rs6000.c:13884
+-#, fuzzy, gcc-internal-format
+-msgid "stack frame too large"
+-msgstr "Bayite"
+-
+-#: config/rs6000/rs6000.c:16413
+-#, fuzzy, gcc-internal-format
+-msgid "no profiling of 64-bit code for this ABI"
+-msgstr "Oya Bya ITEGEKONGENGA kugirango iyi"
+-
+-#: config/rs6000/rs6000.c:17523
+-#, gcc-internal-format
+-msgid "use of %<long%> in AltiVec types is invalid for 64-bit code"
+-msgstr ""
+-
+-#: config/rs6000/rs6000.c:17525
+-#, gcc-internal-format
+-msgid "use of %<long%> in AltiVec types is deprecated; use %<int%>"
+-msgstr ""
+-
+-#: config/rs6000/rs6000.c:17529
+-#, gcc-internal-format
+-msgid "use of %<long long%> in AltiVec types is invalid"
+-msgstr ""
+-
+-#: config/rs6000/rs6000.c:17531
+-#, gcc-internal-format
+-msgid "use of %<double%> in AltiVec types is invalid"
+-msgstr ""
+-
+-#: config/rs6000/rs6000.c:17533
+-#, gcc-internal-format
+-msgid "use of %<long double%> in AltiVec types is invalid"
+-msgstr ""
+-
+-#: config/rs6000/rs6000.c:17535
+-#, gcc-internal-format
+-msgid "use of boolean types in AltiVec types is invalid"
+-msgstr ""
+-
+-#: config/rs6000/rs6000.c:17537
+-#, gcc-internal-format
+-msgid "use of %<complex%> in AltiVec types is invalid"
+-msgstr ""
+-
+-#: config/rs6000/rs6000.c:17539
+-#, gcc-internal-format
+-msgid "use of decimal floating point types in AltiVec types is invalid"
+-msgstr ""
+-
+-#: config/rs6000/aix43.h:39 config/rs6000/aix51.h:38 config/rs6000/aix52.h:38
+-#, fuzzy, gcc-internal-format
+-msgid "-maix64 and POWER architecture are incompatible"
+-msgstr "-Na"
+-
+-#: config/rs6000/aix43.h:44 config/rs6000/aix51.h:43 config/rs6000/aix52.h:43
+-#, fuzzy, gcc-internal-format
+-msgid "-maix64 requires PowerPC64 architecture remain enabled"
+-msgstr "-Bikora"
+-
+-#: config/rs6000/aix43.h:50 config/rs6000/aix52.h:49
+-#, fuzzy, gcc-internal-format
+-msgid "soft-float and long-double-128 are incompatible"
+-msgstr "-Na"
+-
+-#: config/rs6000/aix43.h:54 config/rs6000/aix51.h:47 config/rs6000/aix52.h:53
+-#, fuzzy, gcc-internal-format
+-msgid "-maix64 required: 64-bit computation with 32-bit addressing not yet supported"
+-msgstr "-Bya ngombwa Na: Kwohereza OYA"
+-
+-#. The Darwin ABI always includes AltiVec, can't be (validly) turned off.
+-#: config/rs6000/darwin.h:81
+-#, gcc-internal-format
+-msgid "-mdynamic-no-pic overrides -fpic or -fPIC"
+-msgstr ""
+-
+-#: config/rs6000/darwin.h:92
+-#, fuzzy, gcc-internal-format
+-msgid "-m64 requires PowerPC64 architecture, enabling"
+-msgstr "-Bikora"
+-
+-#. See note below.
+-#. if (!rs6000_explicit_options.long_double)
+-#. rs6000_long_double_type_size = 128;
+-#: config/rs6000/eabispe.h:46 config/rs6000/linuxspe.h:62
+-#, fuzzy, gcc-internal-format
+-msgid "-m64 not supported in this configuration"
+-msgstr "%sni OYA ku iyi Iboneza"
+-
+-#: config/rs6000/linux64.h:109
+-#, fuzzy, gcc-internal-format
+-msgid "-m64 requires a PowerPC64 cpu"
+-msgstr "-Bikora"
+-
+-#. Definitions for __builtin_return_address and __builtin_frame_address.
+-#. __builtin_return_address (0) should give link register (65), enable
+-#. this.
+-#. This should be uncommented, so that the link register is used, but
+-#. currently this would result in unmatched insns and spilling fixed
+-#. registers so we'll leave it for another day. When these problems are
+-#. taken care of one additional fetch will be necessary in RETURN_ADDR_RTX.
+-#. (mrs)
+-#. #define RETURN_ADDR_IN_PREVIOUS_FRAME
+-#. Number of bytes into the frame return addresses can be found. See
+-#. rs6000_stack_info in rs6000.c for more information on how the different
+-#. abi's store the return address.
+-#: config/rs6000/rs6000.h:1509
+-#, fuzzy, gcc-internal-format
+-msgid "RETURN_ADDRESS_OFFSET not supported"
+-msgstr "OYA"
+-
+-#. Sometimes certain combinations of command options do not make sense
+-#. on a particular target machine. You can define a macro
+-#. `OVERRIDE_OPTIONS' to take account of this. This macro, if
+-#. defined, is executed once just after all the command options have
+-#. been parsed.
+-#.
+-#. The macro SUBTARGET_OVERRIDE_OPTIONS is provided for subtargets, to
+-#. get control.
+-#: config/rs6000/sysv4.h:130
+-#, fuzzy, gcc-internal-format
+-msgid "bad value for -mcall-%s"
+-msgstr "Agaciro kugirango"
+-
+-#: config/rs6000/sysv4.h:146
+-#, fuzzy, gcc-internal-format
+-msgid "bad value for -msdata=%s"
+-msgstr "Agaciro kugirango"
+-
+-#: config/rs6000/sysv4.h:163
+-#, fuzzy, gcc-internal-format
+-msgid "-mrelocatable and -msdata=%s are incompatible"
+-msgstr "-Na"
+-
+-#: config/rs6000/sysv4.h:172
+-#, fuzzy, gcc-internal-format
+-msgid "-f%s and -msdata=%s are incompatible"
+-msgstr "-F Na"
+-
+-#: config/rs6000/sysv4.h:181
+-#, fuzzy, gcc-internal-format
+-msgid "-msdata=%s and -mcall-%s are incompatible"
+-msgstr "-Na"
+-
+-#: config/rs6000/sysv4.h:190
+-#, fuzzy, gcc-internal-format
+-msgid "-mrelocatable and -mno-minimal-toc are incompatible"
+-msgstr "-Na"
+-
+-#: config/rs6000/sysv4.h:196
+-#, fuzzy, gcc-internal-format
+-msgid "-mrelocatable and -mcall-%s are incompatible"
+-msgstr "-Na"
+-
+-#: config/rs6000/sysv4.h:203
+-#, fuzzy, gcc-internal-format
+-msgid "-fPIC and -mcall-%s are incompatible"
+-msgstr "-Na"
+-
+-#: config/rs6000/sysv4.h:210
+-#, gcc-internal-format
+-msgid "-mcall-aixdesc must be big endian"
+-msgstr ""
+-
+-#: config/rs6000/sysv4.h:215
+-#, gcc-internal-format
+-msgid "-msecure-plt not supported by your assembler"
+-msgstr ""
+-
+-#: config/rs6000/sysv4.h:233
+-#, fuzzy, gcc-internal-format
+-msgid "-m%s not supported in this configuration"
+-msgstr "%sni OYA ku iyi Iboneza"
+-
+-#: config/s390/s390.c:1370
+-#, gcc-internal-format
+-msgid "stack guard value must be an exact power of 2"
+-msgstr ""
+-
+-#: config/s390/s390.c:1377
+-#, gcc-internal-format
+-msgid "stack size must be an exact power of 2"
+-msgstr ""
+-
+-#: config/s390/s390.c:1422
+-#, fuzzy, gcc-internal-format
+-msgid "z/Architecture mode not supported on %s"
+-msgstr "Ubwoko OYA ku"
+-
+-#: config/s390/s390.c:1424
+-#, fuzzy, gcc-internal-format
+-msgid "64-bit ABI not supported in ESA/390 mode"
+-msgstr "ITEGEKONGENGA Urugero OYA in Ubwoko"
+-
+-#: config/s390/s390.c:1435
+-#, gcc-internal-format
+-msgid "-mbackchain -mpacked-stack -mhard-float are not supported in combination"
+-msgstr ""
+-
+-#: config/s390/s390.c:1441
+-#, gcc-internal-format
+-msgid "-mstack-size implies use of -mstack-guard"
+-msgstr ""
+-
+-#: config/s390/s390.c:1443
+-#, gcc-internal-format
+-msgid "stack size must be greater than the stack guard value"
+-msgstr ""
+-
+-#: config/s390/s390.c:1445
+-#, gcc-internal-format
+-msgid "stack size must not be greater than 64k"
+-msgstr ""
+-
+-#: config/s390/s390.c:1448
+-#, gcc-internal-format
+-msgid "-mstack-guard implies use of -mstack-size"
+-msgstr ""
+-
+-#: config/s390/s390.c:6613
+-#, fuzzy, gcc-internal-format
+-msgid "total size of local variables exceeds architecture limit"
+-msgstr "Ingano Bya Ibihinduka"
+-
+-#: config/s390/s390.c:7269
+-#, fuzzy, gcc-internal-format
+-msgid "frame size of %qs is "
+-msgstr "Ingano Bya si"
+-
+-#: config/s390/s390.c:7269
+-#, gcc-internal-format
+-msgid " bytes"
+-msgstr ""
+-
+-#: config/s390/s390.c:7273
+-#, gcc-internal-format
+-msgid "%qs uses dynamic stack allocation"
+-msgstr ""
+-
+-#: config/score/score.c:514
+-#, fuzzy, gcc-internal-format
+-msgid "-fPIC and -G are incompatible"
+-msgstr "-Na"
+-
+-#: config/sh/sh.c:6624
+-#, fuzzy, gcc-internal-format
+-msgid "__builtin_saveregs not supported by this subtarget"
+-msgstr "_OYA ku iyi"
+-
+-#: config/sh/sh.c:7629
+-#, fuzzy, gcc-internal-format
+-msgid "%qs attribute only applies to interrupt functions"
+-msgstr "`%s'Ikiranga Kuri Hagarikira aho Imimaro"
+-
+-#: config/sh/sh.c:7715
+-#, fuzzy, gcc-internal-format
+-msgid "attribute interrupt_handler is not compatible with -m5-compact"
+-msgstr "Ikiranga ni OYA Na:"
+-
+-#. The argument must be a constant string.
+-#: config/sh/sh.c:7737
+-#, fuzzy, gcc-internal-format
+-msgid "%qs attribute argument not a string constant"
+-msgstr "`%s'Ikiranga OYA a Ikurikiranyanyuguti"
+-
+-#. The argument must be a constant integer.
+-#: config/sh/sh.c:7762
+-#, fuzzy, gcc-internal-format
+-msgid "%qs attribute argument not an integer constant"
+-msgstr "`%s'Ikiranga OYA Umubare wuzuye"
+-
+-#: config/sh/sh.c:9814
+-#, gcc-internal-format
+-msgid "r0 needs to be available as a call-clobbered register"
+-msgstr ""
+-
+-#: config/sh/sh.c:9835
+-#, fuzzy, gcc-internal-format
+-msgid "Need a second call-clobbered general purpose register"
+-msgstr "i Kwiyandikisha Nka a Rusange Intego Kwiyandikisha"
+-
+-#: config/sh/sh.c:9843
+-#, gcc-internal-format
+-msgid "Need a call-clobbered target register"
+-msgstr ""
+-
+-#: config/sh/symbian.c:147
+-#, gcc-internal-format
+-msgid "function %q+D is defined after prior declaration as dllimport: attribute ignored"
+-msgstr ""
+-
+-#: config/sh/symbian.c:159
+-#, fuzzy, gcc-internal-format
+-msgid "inline function %q+D is declared as dllimport: attribute ignored"
+-msgstr "Umumaro Na: Ikiranga"
+-
+-#: config/sh/symbian.c:280
+-#, gcc-internal-format
+-msgid "failure in redeclaration of %q+D: dllimport'd symbol lacks external linkage"
+-msgstr ""
+-
+-#: config/sh/symbian.c:326
+-#, gcc-internal-format
+-msgid "%s %q+D %s after being referenced with dllimport linkage"
+-msgstr ""
+-
+-#: config/sh/symbian.c:892 cp/tree.c:2411
+-#, fuzzy, gcc-internal-format
+-msgid "lang_* check: failed in %s, at %s:%d"
+-msgstr "Kugenzura... Byanze in ku"
+-
+-#. FIXME
+-#: config/sh/netbsd-elf.h:95
+-#, gcc-internal-format
+-msgid "unimplemented-shmedia profiling"
+-msgstr ""
+-
+-#. There are no delay slots on SHmedia.
+-#. Relaxation isn't yet supported for SHmedia
+-#. After reload, if conversion does little good but can cause ICEs: - find_if_block doesn't do anything for SH because we don't have conditional execution patterns. (We use conditional move patterns, which are handled differently, and only before reload). - find_cond_trap doesn't do anything for the SH because we #. don't have conditional traps. - find_if_case_1 uses redirect_edge_and_branch_force in the only path that does an optimization, and this causes an ICE when branch targets are in registers. - find_if_case_2 doesn't do anything for the SHmedia after reload except when it can redirect a tablejump - and that's rather rare.
+-#. -fprofile-arcs needs a working libgcov . In unified tree configurations with newlib, this requires to configure with --with-newlib --with-headers. But there is no way to check here we have a working libgcov, so just assume that we have.
+-#: config/sh/sh.h:617
+-#, fuzzy, gcc-internal-format
+-msgid "profiling is still experimental for this target"
+-msgstr "ni OYA ku iyi Intego"
+-
+-#. Only the sh64-elf assembler fully supports .quad properly.
+-#. Pick one that makes most sense for the target in general. It is not much good to use different functions depending on -Os, since then we'll end up with two different functions when some of the code is compiled for size, and some for speed.
+-#. SH4 tends to emphasize speed.
+-#. These have their own way of doing things.
+-#. ??? Should we use the integer SHmedia function instead?
+-#. SH1 .. SH3 cores often go into small-footprint systems, so default to the smallest implementation available.
+-#. ??? EXPERIMENTAL
+-#. User supplied - leave it alone.
+-#. The debugging information is sufficient, but gdb doesn't implement this yet
+-#. Never run scheduling before reload, since that can break global alloc, and generates slower code anyway due to the pressure on R0.
+-#. Enable sched1 for SH4; ready queue will be reordered by the target hooks when pressure is high. We can not do this for SH3 and lower as they give spill failures for R0.
+-#. ??? Current exception handling places basic block boundaries after call_insns. It causes the high pressure on R0 and gives spill failures for R0 in reload. See PR 22553 and the thread on gcc-patches <http://gcc.gnu.org/ml/gcc-patches/2005-10/msg00816.html>.
+-#: config/sh/sh.h:715
+-#, gcc-internal-format
+-msgid "ignoring -fschedule-insns because of exception handling bug"
+-msgstr ""
+-
+-#: config/sparc/sparc.c:671
+-#, fuzzy, gcc-internal-format
+-msgid "%s is not supported by this configuration"
+-msgstr "%sni OYA ku iyi Iboneza"
+-
+-#: config/sparc/sparc.c:678
+-#, fuzzy, gcc-internal-format
+-msgid "-mlong-double-64 not allowed with -m64"
+-msgstr "-MAHARAKUBIRI OYA Na:"
+-
+-#: config/sparc/sparc.c:703
+-#, fuzzy, gcc-internal-format
+-msgid "-mcmodel= is not supported on 32 bit systems"
+-msgstr "-ni OYA ku"
+-
+-#: config/stormy16/stormy16.c:500
+-#, fuzzy, gcc-internal-format
+-msgid "constant halfword load operand out of range"
+-msgstr "Inyuma Bya Urutonde kugirango"
+-
+-#: config/stormy16/stormy16.c:510
+-#, fuzzy, gcc-internal-format
+-msgid "constant arithmetic operand out of range"
+-msgstr "Inyuma Bya Urutonde kugirango"
+-
+-#: config/stormy16/stormy16.c:1111
+-#, gcc-internal-format
+-msgid "local variable memory requirements exceed capacity"
+-msgstr ""
+-
+-#: config/stormy16/stormy16.c:1277
+-#, fuzzy, gcc-internal-format
+-msgid "function_profiler support"
+-msgstr "Gushigikira kugirango"
+-
+-#: config/stormy16/stormy16.c:1366
+-#, fuzzy, gcc-internal-format
+-msgid "cannot use va_start in interrupt function"
+-msgstr "Gukoresha in Hagarikira aho Umumaro"
+-
+-#: config/stormy16/stormy16.c:1909
+-#, fuzzy, gcc-internal-format
+-msgid "switch statement of size %lu entries too large"
+-msgstr "Hindura Inyandiko Bya Ingano Ibyinjijwe Binini"
+-
+-#: config/stormy16/stormy16.c:2277
+-#, fuzzy, gcc-internal-format
+-msgid "%<__BELOW100__%> attribute only applies to variables"
+-msgstr "`%s'Ikiranga Kuri Ibihinduka"
+-
+-#: config/stormy16/stormy16.c:2284
+-#, gcc-internal-format
+-msgid "__BELOW100__ attribute not allowed with auto storage class"
+-msgstr ""
+-
+-#: config/v850/v850-c.c:67
+-#, fuzzy, gcc-internal-format
+-msgid "#pragma GHS endXXXX found without previous startXXX"
+-msgstr "#Byabonetse Ibanjirije"
+-
+-#: config/v850/v850-c.c:70
+-#, fuzzy, gcc-internal-format
+-msgid "#pragma GHS endXXX does not match previous startXXX"
+-msgstr "#OYA BIHUYE Ibanjirije"
+-
+-#: config/v850/v850-c.c:96
+-#, fuzzy, gcc-internal-format
+-msgid "cannot set interrupt attribute: no current function"
+-msgstr "Gushyiraho Hagarikira aho Ikiranga Oya KIGEZWEHO Umumaro"
+-
+-#: config/v850/v850-c.c:104
+-#, fuzzy, gcc-internal-format
+-msgid "cannot set interrupt attribute: no such identifier"
+-msgstr "Gushyiraho Hagarikira aho Ikiranga Oya Ikiranga"
+-
+-#: config/v850/v850-c.c:149
+-#, fuzzy, gcc-internal-format
+-msgid "junk at end of #pragma ghs section"
+-msgstr "Umwanda ku Impera Bya Icyiciro"
+-
+-#: config/v850/v850-c.c:166
+-#, fuzzy, gcc-internal-format
+-msgid "unrecognized section name \"%s\""
+-msgstr "Icyiciro Izina:"
+-
+-#: config/v850/v850-c.c:181
+-#, fuzzy, gcc-internal-format
+-msgid "malformed #pragma ghs section"
+-msgstr "Icyiciro"
+-
+-#: config/v850/v850-c.c:200
+-#, fuzzy, gcc-internal-format
+-msgid "junk at end of #pragma ghs interrupt"
+-msgstr "Umwanda ku Impera Bya Hagarikira aho"
+-
+-#: config/v850/v850-c.c:211
+-#, fuzzy, gcc-internal-format
+-msgid "junk at end of #pragma ghs starttda"
+-msgstr "Umwanda ku Impera Bya"
+-
+-#: config/v850/v850-c.c:222
+-#, fuzzy, gcc-internal-format
+-msgid "junk at end of #pragma ghs startsda"
+-msgstr "Umwanda ku Impera Bya"
+-
+-#: config/v850/v850-c.c:233
+-#, fuzzy, gcc-internal-format
+-msgid "junk at end of #pragma ghs startzda"
+-msgstr "Umwanda ku Impera Bya"
+-
+-#: config/v850/v850-c.c:244
+-#, fuzzy, gcc-internal-format
+-msgid "junk at end of #pragma ghs endtda"
+-msgstr "Umwanda ku Impera Bya"
+-
+-#: config/v850/v850-c.c:255
+-#, fuzzy, gcc-internal-format
+-msgid "junk at end of #pragma ghs endsda"
+-msgstr "Umwanda ku Impera Bya"
+-
+-#: config/v850/v850-c.c:266
+-#, fuzzy, gcc-internal-format
+-msgid "junk at end of #pragma ghs endzda"
+-msgstr "Umwanda ku Impera Bya"
+-
+-#: config/v850/v850.c:184
+-#, gcc-internal-format
+-msgid "value passed to %<-m%s%> is too large"
+-msgstr ""
+-
+-#: config/v850/v850.c:2159
+-#, fuzzy, gcc-internal-format
+-msgid "%Jdata area attributes cannot be specified for local variables"
+-msgstr "a Ibyatanzwe Ubuso Ikiranga kugirango Ibihinduka"
+-
+-#: config/v850/v850.c:2170
+-#, fuzzy, gcc-internal-format
+-msgid "data area of %q+D conflicts with previous declaration"
+-msgstr "Ibyatanzwe Ubuso Bya Na: Ibanjirije"
+-
+-#: config/v850/v850.c:2300
+-#, fuzzy, gcc-internal-format
+-msgid "bogus JR construction: %d"
+-msgstr "Gushyiraho"
+-
+-#: config/v850/v850.c:2318 config/v850/v850.c:2427
+-#, fuzzy, gcc-internal-format
+-msgid "bad amount of stack space removal: %d"
+-msgstr "Igiteranyo Bya Umwanya"
+-
+-#: config/v850/v850.c:2407
+-#, gcc-internal-format
+-msgid "bogus JARL construction: %d\n"
+-msgstr ""
+-
+-#: config/v850/v850.c:2706
+-#, fuzzy, gcc-internal-format
+-msgid "bogus DISPOSE construction: %d"
+-msgstr "Gushyiraho"
+-
+-#: config/v850/v850.c:2725
+-#, fuzzy, gcc-internal-format
+-msgid "too much stack space to dispose of: %d"
+-msgstr "Umwanya Kuri Bya"
+-
+-#: config/v850/v850.c:2827
+-#, fuzzy, gcc-internal-format
+-msgid "bogus PREPEARE construction: %d"
+-msgstr "Gushyiraho"
+-
+-#: config/v850/v850.c:2846
+-#, fuzzy, gcc-internal-format
+-msgid "too much stack space to prepare: %d"
+-msgstr "Umwanya Kuri"
+-
+-#: config/xtensa/xtensa.c:1521
+-#, fuzzy, gcc-internal-format
+-msgid "boolean registers required for the floating-point option"
+-msgstr "Icyungo Bya ngombwa kugirango i Bihindagurika Akadomo Ihitamo"
+-
+-#: config/xtensa/xtensa.c:1567
+-#, fuzzy, gcc-internal-format
+-msgid "-f%s is not supported with CONST16 instructions"
+-msgstr "%sni OYA ku iyi Iboneza"
+-
+-#: config/xtensa/xtensa.c:1572
+-#, gcc-internal-format
+-msgid "PIC is required but not supported with CONST16 instructions"
+-msgstr ""
+-
+-#: config/xtensa/xtensa.c:2430
+-#, fuzzy, gcc-internal-format
+-msgid "only uninitialized variables can be placed in a .bss section"
+-msgstr "Itatangijwe Ibihinduka in a Icyiciro"
+-
+-#: ada/misc.c:267
+-#, fuzzy, gcc-internal-format
+-msgid "missing argument to \"-%s\""
+-msgstr "Ibuze Kuri"
+-
+-#: ada/misc.c:318
+-#, fuzzy, gcc-internal-format
+-msgid "%<-gnat%> misspelled as %<-gant%>"
+-msgstr "`-Nka"
+-
+-#: cp/call.c:2420
+-#, fuzzy, gcc-internal-format
+-msgid "%s %D(%T, %T, %T) <built-in>"
+-msgstr "%s%D(%T,%T,%T)<in"
+-
+-#: cp/call.c:2425
+-#, fuzzy, gcc-internal-format
+-msgid "%s %D(%T, %T) <built-in>"
+-msgstr "%s%D(%T,%T)<in"
+-
+-#: cp/call.c:2429
+-#, fuzzy, gcc-internal-format
+-msgid "%s %D(%T) <built-in>"
+-msgstr "%s%D(%T)<in"
+-
+-#: cp/call.c:2433
+-#, fuzzy, gcc-internal-format
+-msgid "%s %T <conversion>"
+-msgstr "%s%T<Ihindurangero"
+-
+-#: cp/call.c:2435
+-#, gcc-internal-format
+-msgid "%s %+#D <near match>"
+-msgstr ""
+-
+-# #-#-#-#-# dbaccess.pot (PACKAGE VERSION) #-#-#-#-#
+-# #-#-#-#-# dbaccess.pot (PACKAGE VERSION) #-#-#-#-#
+-# #-#-#-#-# dbaccess.pot (PACKAGE VERSION) #-#-#-#-#
+-#: cp/call.c:2437 cp/pt.c:1344
+-#, fuzzy, gcc-internal-format
+-msgid "%s %+#D"
+-msgstr "%s%+#D"
+-
+-#: cp/call.c:2659
+-#, fuzzy, gcc-internal-format
+-msgid "conversion from %qT to %qT is ambiguous"
+-msgstr "Ihindurangero Bivuye Kuri ni"
+-
+-#: cp/call.c:2812 cp/call.c:2830 cp/call.c:2893
+-#, fuzzy, gcc-internal-format
+-msgid "no matching function for call to %<%D(%A)%>"
+-msgstr "Oya Umumaro kugirango Kuri"
+-
+-#: cp/call.c:2833 cp/call.c:2896
+-#, fuzzy, gcc-internal-format
+-msgid "call of overloaded %<%D(%A)%> is ambiguous"
+-msgstr "Bya ni"
+-
+-#. It's no good looking for an overloaded operator() on a
+-#. pointer-to-member-function.
+-#: cp/call.c:2968
+-#, fuzzy, gcc-internal-format
+-msgid "pointer-to-member function %E cannot be called without an object; consider using .* or ->*"
+-msgstr "Mweretsi Kuri Umumaro Igikoresho ikoresha Cyangwa"
+-
+-#: cp/call.c:3042
+-#, fuzzy, gcc-internal-format
+-msgid "no match for call to %<(%T) (%A)%>"
+-msgstr "Oya BIHUYE kugirango Kuri"
+-
+-#: cp/call.c:3051
+-#, fuzzy, gcc-internal-format
+-msgid "call of %<(%T) (%A)%> is ambiguous"
+-msgstr "Bya ni"
+-
+-#: cp/call.c:3089
+-#, gcc-internal-format
+-msgid "%s for ternary %<operator?:%> in %<%E ? %E : %E%>"
+-msgstr ""
+-
+-#: cp/call.c:3095
+-#, gcc-internal-format
+-msgid "%s for %<operator%s%> in %<%E%s%>"
+-msgstr ""
+-
+-#: cp/call.c:3099
+-#, gcc-internal-format
+-msgid "%s for %<operator[]%> in %<%E[%E]%>"
+-msgstr ""
+-
+-#: cp/call.c:3104
+-#, gcc-internal-format
+-msgid "%s for %qs in %<%s %E%>"
+-msgstr ""
+-
+-#: cp/call.c:3109
+-#, gcc-internal-format
+-msgid "%s for %<operator%s%> in %<%E %s %E%>"
+-msgstr ""
+-
+-#: cp/call.c:3112
+-#, gcc-internal-format
+-msgid "%s for %<operator%s%> in %<%s%E%>"
+-msgstr ""
+-
+-#: cp/call.c:3204
+-#, fuzzy, gcc-internal-format
+-msgid "ISO C++ forbids omitting the middle term of a ?: expression"
+-msgstr "C i Hagati Ijambo Bya a imvugo"
+-
+-#: cp/call.c:3281
+-#, fuzzy, gcc-internal-format
+-msgid "%qE has type %<void%> and is not a throw-expression"
+-msgstr "`%E'Ubwoko Na ni OYA a imvugo"
+-
+-#: cp/call.c:3320 cp/call.c:3540
+-#, fuzzy, gcc-internal-format
+-msgid "operands to ?: have different types %qT and %qT"
+-msgstr "Kuri"
+-
+-#: cp/call.c:3494
+-#, fuzzy, gcc-internal-format
+-msgid "enumeral mismatch in conditional expression: %qT vs %qT"
+-msgstr "in imvugo"
+-
+-#: cp/call.c:3501
+-#, fuzzy, gcc-internal-format
+-msgid "enumeral and non-enumeral type in conditional expression"
+-msgstr "Na Ubwoko in imvugo"
+-
+-#: cp/call.c:3798
+-#, fuzzy, gcc-internal-format
+-msgid "no %<%D(int)%> declared for postfix %qs, trying prefix operator instead"
+-msgstr "Oya INT kugirango Imbanziriza Mukoresha"
+-
+-#: cp/call.c:3871
+-#, fuzzy, gcc-internal-format
+-msgid "comparison between %q#T and %q#T"
+-msgstr "hagati Na"
+-
+-#: cp/call.c:4127
+-#, fuzzy, gcc-internal-format
+-msgid "no suitable %<operator %s%> for %qT"
+-msgstr "Oya Mukoresha kugirango"
+-
+-#: cp/call.c:4145
+-#, fuzzy, gcc-internal-format
+-msgid "%q+#D is private"
+-msgstr "`%+#D'ni By'umwihariko"
+-
+-#: cp/call.c:4147
+-#, fuzzy, gcc-internal-format
+-msgid "%q+#D is protected"
+-msgstr "`%+#D'ni Birinzwe"
+-
+-#: cp/call.c:4149
+-#, fuzzy, gcc-internal-format
+-msgid "%q+#D is inaccessible"
+-msgstr "`%+#D'ni"
+-
+-#: cp/call.c:4150
+-#, fuzzy, gcc-internal-format
+-msgid "within this context"
+-msgstr "muri iyi Imvugiro"
+-
+-#: cp/call.c:4239 cp/cvt.c:265
+-#, fuzzy, gcc-internal-format
+-msgid "invalid conversion from %qT to %qT"
+-msgstr "Sibyo Ihindurangero Bivuye Kuri"
+-
+-#: cp/call.c:4241
+-#, fuzzy, gcc-internal-format
+-msgid " initializing argument %P of %qD"
+-msgstr "Gutangiza Bya"
+-
+-#: cp/call.c:4253
+-#, fuzzy, gcc-internal-format
+-msgid "passing NULL to non-pointer argument %P of %qD"
+-msgstr "kugirango Mweretsi Bya"
+-
+-#: cp/call.c:4256
+-#, fuzzy, gcc-internal-format
+-msgid "converting to non-pointer type %qT from NULL"
+-msgstr "%sKuri Mweretsi Ubwoko Bivuye"
+-
+-#: cp/call.c:4264
+-#, fuzzy, gcc-internal-format
+-msgid "passing %qT for argument %P to %qD"
+-msgstr "in Bya"
+-
+-#: cp/call.c:4267
+-#, fuzzy, gcc-internal-format
+-msgid "converting to %qT from %qT"
+-msgstr "Guhindura.... Bivuye Kuri"
+-
+-#: cp/call.c:4407
+-#, fuzzy, gcc-internal-format
+-msgid "cannot bind bitfield %qE to %qT"
+-msgstr "gutangiza Bivuye"
+-
+-#: cp/call.c:4410 cp/call.c:4426
+-#, fuzzy, gcc-internal-format
+-msgid "cannot bind packed field %qE to %qT"
+-msgstr "Umwanya Kuri Bya Ubwoko"
+-
+-#: cp/call.c:4413
+-#, fuzzy, gcc-internal-format
+-msgid "cannot bind rvalue %qE to %qT"
+-msgstr "gutangiza Bivuye"
+-
+-#: cp/call.c:4527
+-#, fuzzy, gcc-internal-format
+-msgid "cannot pass objects of non-POD type %q#T through %<...%>; call will abort at runtime"
+-msgstr "Ibintu Bya Ubwoko Gihinguranya Kureka ku"
+-
+-#. Undefined behavior [expr.call] 5.2.2/7.
+-#: cp/call.c:4555
+-#, fuzzy, gcc-internal-format
+-msgid "cannot receive objects of non-POD type %q#T through %<...%>; call will abort at runtime"
+-msgstr "Ibintu Bya Ubwoko Gihinguranya Kureka ku"
+-
+-#: cp/call.c:4598
+-#, fuzzy, gcc-internal-format
+-msgid "the default argument for parameter %d of %qD has not yet been parsed"
+-msgstr "Mburabuzi kugirango Bya Ubwoko Ubwoko"
+-
+-#: cp/call.c:4682
+-#, fuzzy, gcc-internal-format
+-msgid "argument of function call might be a candidate for a format attribute"
+-msgstr "Ibyerekeye Imimaro kugirango Imiterere Ibiranga"
+-
+-#: cp/call.c:4819
+-#, fuzzy, gcc-internal-format
+-msgid "passing %qT as %<this%> argument of %q#D discards qualifiers"
+-msgstr "Nka Bya"
+-
+-#: cp/call.c:4838
+-#, fuzzy, gcc-internal-format
+-msgid "%qT is not an accessible base of %qT"
+-msgstr "`%T'ni SHINGIRO Bya"
+-
+-#: cp/call.c:5094
+-#, fuzzy, gcc-internal-format
+-msgid "could not find class$ field in java interface type %qT"
+-msgstr "OYA Gushaka ishuri Umwanya in java Ubwoko"
+-
+-#: cp/call.c:5337
+-#, fuzzy, gcc-internal-format
+-msgid "call to non-function %qD"
+-msgstr "Kuri Umumaro"
+-
+-#: cp/call.c:5459
+-#, fuzzy, gcc-internal-format
+-msgid "no matching function for call to %<%T::%s(%A)%#V%>"
+-msgstr "Oya Umumaro kugirango Kuri"
+-
+-#: cp/call.c:5477
+-#, fuzzy, gcc-internal-format
+-msgid "call of overloaded %<%s(%A)%> is ambiguous"
+-msgstr "Bya ni"
+-
+-#: cp/call.c:5503
+-#, fuzzy, gcc-internal-format
+-msgid "cannot call member function %qD without object"
+-msgstr "Umumaro Igikoresho"
+-
+-#: cp/call.c:6123
+-#, fuzzy, gcc-internal-format
+-msgid "passing %qT chooses %qT over %qT"
+-msgstr "KURI"
+-
+-#: cp/call.c:6125 cp/name-lookup.c:4259 cp/name-lookup.c:4680
+-#, fuzzy, gcc-internal-format
+-msgid " in call to %qD"
+-msgstr "in Kuri"
+-
+-#: cp/call.c:6182
+-#, fuzzy, gcc-internal-format
+-msgid "choosing %qD over %qD"
+-msgstr "KURI"
+-
+-#: cp/call.c:6183
+-#, fuzzy, gcc-internal-format
+-msgid " for conversion from %qT to %qT"
+-msgstr "kugirango Ihindurangero Bivuye Kuri"
+-
+-#: cp/call.c:6185
+-#, fuzzy, gcc-internal-format
+-msgid " because conversion sequence for the argument is better"
+-msgstr "Ihindurangero kugirango i ni"
+-
+-#: cp/call.c:6299
+-#, fuzzy, 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 "C Na ATARIIGIHARWE i Ihindurangero kugirango i ni i Ihindurangero kugirango i"
+-
+-#: cp/call.c:6443
+-#, fuzzy, gcc-internal-format
+-msgid "could not convert %qE to %qT"
+-msgstr "OYA GUHINDURA Kuri"
+-
+-#: cp/call.c:6577
+-#, gcc-internal-format
+-msgid "invalid initialization of non-const reference of type %qT from a temporary of type %qT"
+-msgstr ""
+-
+-#: cp/call.c:6581
+-#, gcc-internal-format
+-msgid "invalid initialization of reference of type %qT from expression of type %qT"
+-msgstr ""
+-
+-#: cp/class.c:280
+-#, fuzzy, gcc-internal-format
+-msgid "cannot convert from base %qT to derived type %qT via virtual base %qT"
+-msgstr "GUHINDURA Bivuye SHINGIRO Kuri Ubwoko Biturutse Kitaboneka SHINGIRO"
+-
+-#: cp/class.c:949
+-#, fuzzy, gcc-internal-format
+-msgid "Java class %qT cannot have a destructor"
+-msgstr "SHINGIRO ishuri a Kitaboneka"
+-
+-#: cp/class.c:951
+-#, fuzzy, gcc-internal-format
+-msgid "Java class %qT cannot have an implicit non-trivial destructor"
+-msgstr "SHINGIRO ishuri a Kitaboneka"
+-
+-#: cp/class.c:1058
+-#, fuzzy, gcc-internal-format
+-msgid "repeated using declaration %q+D"
+-msgstr "kugirango Inyandikorugero"
+-
+-#: cp/class.c:1060
+-#, fuzzy, gcc-internal-format
+-msgid "using declaration %q+D conflicts with a previous using declaration"
+-msgstr "Icyiciro Bya Na: Ibanjirije"
+-
+-#: cp/class.c:1065
+-#, fuzzy, gcc-internal-format
+-msgid "%q+#D cannot be overloaded"
+-msgstr "`%#D'Na"
+-
+-#: cp/class.c:1066
+-#, gcc-internal-format
+-msgid "with %q+#D"
+-msgstr ""
+-
+-#: cp/class.c:1134
+-#, fuzzy, gcc-internal-format
+-msgid "conflicting access specifications for method %q+D, ignored"
+-msgstr "kugirango Uburyo"
+-
+-#: cp/class.c:1137
+-#, fuzzy, gcc-internal-format
+-msgid "conflicting access specifications for field %qE, ignored"
+-msgstr "kugirango Umwanya"
+-
+-#: cp/class.c:1198 cp/class.c:1206
+-#, fuzzy, gcc-internal-format
+-msgid "%q+D invalid in %q#T"
+-msgstr "`%D'Sibyo in"
+-
+-#: cp/class.c:1199
+-#, fuzzy, gcc-internal-format
+-msgid " because of local method %q+#D with same name"
+-msgstr "Bya Uburyo Na: Izina:"
+-
+-#: cp/class.c:1207
+-#, fuzzy, gcc-internal-format
+-msgid " because of local member %q+#D with same name"
+-msgstr "Bya Na: Izina:"
+-
+-#: cp/class.c:1250
+-#, fuzzy, gcc-internal-format
+-msgid "base class %q#T has a non-virtual destructor"
+-msgstr "SHINGIRO ishuri a Kitaboneka"
+-
+-#: cp/class.c:1563
+-#, fuzzy, gcc-internal-format
+-msgid "all member functions in class %qT are private"
+-msgstr "Byose Imimaro in ishuri By'umwihariko"
+-
+-#: cp/class.c:1575
+-#, fuzzy, gcc-internal-format
+-msgid "%q#T only defines a private destructor and has no friends"
+-msgstr "`%#T'a By'umwihariko Na Oya"
+-
+-#: cp/class.c:1619
+-#, fuzzy, gcc-internal-format
+-msgid "%q#T only defines private constructors and has no friends"
+-msgstr "`%#T'By'umwihariko Na Oya"
+-
+-#: cp/class.c:2012
+-#, fuzzy, gcc-internal-format
+-msgid "no unique final overrider for %qD in %qT"
+-msgstr "Oya Cyo nyine kugirango in"
+-
+-#. Here we know it is a hider, and no overrider exists.
+-#: cp/class.c:2441
+-#, fuzzy, gcc-internal-format
+-msgid "%q+D was hidden"
+-msgstr "`%D'gihishwe"
+-
+-# sc/source\ui\src\globstr.src:RID_GLOBSTR.STR_BY.text
+-#: cp/class.c:2442
+-#, fuzzy, gcc-internal-format
+-msgid " by %q+D"
+-msgstr "ku"
+-
+-#: cp/class.c:2483 cp/decl2.c:1037
+-#, fuzzy, gcc-internal-format
+-msgid "%q+#D invalid; an anonymous union can only have non-static data members"
+-msgstr "`%#D'Sibyo Ihuza Ibyatanzwe"
+-
+-#: cp/class.c:2489 cp/decl2.c:1043
+-#, fuzzy, gcc-internal-format
+-msgid "private member %q+#D in anonymous union"
+-msgstr "By'umwihariko in Ihuza"
+-
+-#: cp/class.c:2491 cp/decl2.c:1045
+-#, fuzzy, gcc-internal-format
+-msgid "protected member %q+#D in anonymous union"
+-msgstr "Birinzwe in Ihuza"
+-
+-#: cp/class.c:2664
+-#, fuzzy, gcc-internal-format
+-msgid "bit-field %q+#D with non-integral type"
+-msgstr "Umwanya Na: Umubare Wuzuye Ubwoko"
+-
+-#: cp/class.c:2678
+-#, fuzzy, gcc-internal-format
+-msgid "bit-field %q+D width not an integer constant"
+-msgstr "Umwanya Ubugari OYA Umubare wuzuye"
+-
+-#: cp/class.c:2683
+-#, fuzzy, gcc-internal-format
+-msgid "negative width in bit-field %q+D"
+-msgstr "Ubugari in Umwanya"
+-
+-#: cp/class.c:2688
+-#, fuzzy, gcc-internal-format
+-msgid "zero width for bit-field %q+D"
+-msgstr "Zeru Ubugari kugirango Umwanya"
+-
+-#: cp/class.c:2694
+-#, fuzzy, gcc-internal-format
+-msgid "width of %q+D exceeds its type"
+-msgstr "Ubugari Bya Ubwoko"
+-
+-#: cp/class.c:2703
+-#, fuzzy, gcc-internal-format
+-msgid "%q+D is too small to hold all values of %q#T"
+-msgstr "`%D'ni Gitoya Kuri Byose Uduciro Bya"
+-
+-#: cp/class.c:2758
+-#, fuzzy, gcc-internal-format
+-msgid "member %q+#D with constructor not allowed in union"
+-msgstr "Na: OYA in Ihuza"
+-
+-#: cp/class.c:2761
+-#, fuzzy, gcc-internal-format
+-msgid "member %q+#D with destructor not allowed in union"
+-msgstr "Na: OYA in Ihuza"
+-
+-#: cp/class.c:2763
+-#, fuzzy, gcc-internal-format
+-msgid "member %q+#D with copy assignment operator not allowed in union"
+-msgstr "Na: Gukoporora Igenera Mukoresha OYA in Ihuza"
+-
+-#: cp/class.c:2786
+-#, fuzzy, gcc-internal-format
+-msgid "multiple fields in union %qT initialized"
+-msgstr "Igikubo Imyanya in Ihuza"
+-
+-#: cp/class.c:2875
+-#, fuzzy, gcc-internal-format
+-msgid "%q+D may not be static because it is a member of a union"
+-msgstr "`%D'a Umumaro"
+-
+-#: cp/class.c:2880
+-#, gcc-internal-format
+-msgid "%q+D may not have reference type %qT because it is a member of a union"
+-msgstr ""
+-
+-#: cp/class.c:2891
+-#, fuzzy, gcc-internal-format
+-msgid "field %q+D invalidly declared function type"
+-msgstr "Umwanya Umumaro Ubwoko"
+-
+-#: cp/class.c:2897
+-#, fuzzy, gcc-internal-format
+-msgid "field %q+D invalidly declared method type"
+-msgstr "Umwanya Uburyo Ubwoko"
+-
+-#: cp/class.c:2929
+-#, fuzzy, gcc-internal-format
+-msgid "non-static reference %q+#D in class without a constructor"
+-msgstr "Indango in ishuri a"
+-
+-#: cp/class.c:2940
+-#, gcc-internal-format
+-msgid "ignoring packed attribute because of unpacked non-POD field %q+#D"
+-msgstr ""
+-
+-#: cp/class.c:3007
+-#, fuzzy, gcc-internal-format
+-msgid "non-static const member %q+#D in class without a constructor"
+-msgstr "in ishuri a"
+-
+-#: cp/class.c:3022
+-#, fuzzy, gcc-internal-format
+-msgid "field %q+#D with same name as class"
+-msgstr "Umwanya Na: Izina: Nka ishuri"
+-
+-#: cp/class.c:3055
+-#, fuzzy, gcc-internal-format
+-msgid "%q#T has pointer data members"
+-msgstr "`%#T'Mweretsi Ibyatanzwe"
+-
+-#: cp/class.c:3060
+-#, fuzzy, gcc-internal-format
+-msgid " but does not override %<%T(const %T&)%>"
+-msgstr "OYA"
+-
+-#: cp/class.c:3062
+-#, fuzzy, gcc-internal-format
+-msgid " or %<operator=(const %T&)%>"
+-msgstr "Cyangwa Mukoresha"
+-
+-#: cp/class.c:3066
+-#, fuzzy, gcc-internal-format
+-msgid " but does not override %<operator=(const %T&)%>"
+-msgstr "OYA Mukoresha"
+-
+-#: cp/class.c:3526
+-#, fuzzy, gcc-internal-format
+-msgid "offset of empty base %qT may not be ABI-compliant and maychange in a future version of GCC"
+-msgstr "Nta- boneza Bya ubusa SHINGIRO Gicurasi OYA Na in a Verisiyo Bya"
+-
+-#: cp/class.c:3639
+-#, fuzzy, gcc-internal-format
+-msgid "class %qT will be considered nearly empty in a future version of GCC"
+-msgstr "ishuri ubusa in a Verisiyo Bya"
+-
+-#: cp/class.c:3721
+-#, fuzzy, gcc-internal-format
+-msgid "initializer specified for non-virtual method %q+D"
+-msgstr "kugirango Kitaboneka Uburyo"
+-
+-#: cp/class.c:4384
+-#, fuzzy, gcc-internal-format
+-msgid "offset of virtual base %qT is not ABI-compliant and may change in a future version of GCC"
+-msgstr "Nta- boneza Bya Kitaboneka SHINGIRO ni OYA Na Gicurasi Guhindura>> in a Verisiyo Bya"
+-
+-#: cp/class.c:4483
+-#, fuzzy, gcc-internal-format
+-msgid "direct base %qT inaccessible in %qT due to ambiguity"
+-msgstr "SHINGIRO in Kuri"
+-
+-#: cp/class.c:4495
+-#, fuzzy, gcc-internal-format
+-msgid "virtual base %qT inaccessible in %qT due to ambiguity"
+-msgstr "Kitaboneka SHINGIRO in Kuri"
+-
+-#: cp/class.c:4674
+-#, fuzzy, gcc-internal-format
+-msgid "size assigned to %qT may not be ABI-compliant and may change in a future version of GCC"
+-msgstr "Ingano Kuri Gicurasi OYA Na Gicurasi Guhindura>> in a Verisiyo Bya"
+-
+-#: cp/class.c:4714
+-#, fuzzy, gcc-internal-format
+-msgid "the offset of %qD may not be ABI-compliant and may change in a future version of GCC"
+-msgstr "Nta- boneza Bya ni OYA Na Gicurasi Guhindura>> in a Verisiyo Bya"
+-
+-#: cp/class.c:4742
+-#, fuzzy, gcc-internal-format
+-msgid "offset of %q+D is not ABI-compliant and may change in a future version of GCC"
+-msgstr "Nta- boneza Bya ni OYA Na Gicurasi Guhindura>> in a Verisiyo Bya"
+-
+-#: cp/class.c:4751
+-#, fuzzy, gcc-internal-format
+-msgid "%q+D contains empty classes which may cause base classes to be placed at different locations in a future version of GCC"
+-msgstr "`%D'Kirimo ubusa Inzego Gicurasi SHINGIRO Inzego Kuri ku in a Verisiyo Bya"
+-
+-#: cp/class.c:4834
+-#, fuzzy, gcc-internal-format
+-msgid "layout of classes derived from empty class %qT may change in a future version of GCC"
+-msgstr "Imigaragarire Bya Inzego Bivuye ubusa ishuri Gicurasi Guhindura>> in a Verisiyo Bya"
+-
+-#: cp/class.c:4980 cp/parser.c:13573
+-#, fuzzy, gcc-internal-format
+-msgid "redefinition of %q#T"
+-msgstr "Bya"
+-
+-#: cp/class.c:5134
+-#, fuzzy, gcc-internal-format
+-msgid "%q#T has virtual functions but non-virtual destructor"
+-msgstr "`%#T'Kitaboneka Imimaro Kitaboneka"
+-
+-#: cp/class.c:5236
+-#, fuzzy, gcc-internal-format
+-msgid "trying to finish struct, but kicked out due to previous parse errors"
+-msgstr "Kuri Kurangiza Inyuma Kuri Ibanjirije Amakosa"
+-
+-#: cp/class.c:5690
+-#, fuzzy, gcc-internal-format
+-msgid "language string %<\"%E\"%> not recognized"
+-msgstr "Ururimi Ikurikiranyanyuguti OYA"
+-
+-#: cp/class.c:5779
+-#, fuzzy, gcc-internal-format
+-msgid "cannot resolve overloaded function %qD based on conversion to type %qT"
+-msgstr "Umumaro ku Ihindurangero Kuri Ubwoko"
+-
+-#: cp/class.c:5908
+-#, fuzzy, gcc-internal-format
+-msgid "no matches converting function %qD to type %q#T"
+-msgstr "Oya Guhindura.... Umumaro Kuri Ubwoko"
+-
+-#: cp/class.c:5931
+-#, fuzzy, gcc-internal-format
+-msgid "converting overloaded function %qD to type %q#T is ambiguous"
+-msgstr "Guhindura.... Umumaro Kuri Ubwoko ni"
+-
+-#: cp/class.c:5957
+-#, fuzzy, gcc-internal-format
+-msgid "assuming pointer to member %qD"
+-msgstr "Mweretsi Kuri"
+-
+-#: cp/class.c:5960
+-#, fuzzy, gcc-internal-format
+-msgid "(a pointer to member can only be formed with %<&%E%>)"
+-msgstr "(a Mweretsi Kuri Na:"
+-
+-#: cp/class.c:6016 cp/class.c:6050
+-#, fuzzy, gcc-internal-format
+-msgid "not enough type information"
+-msgstr "OYA Ubwoko Ibisobanuro"
+-
+-#: cp/class.c:6033
+-#, fuzzy, gcc-internal-format
+-msgid "argument of type %qT does not match %qT"
+-msgstr "Bya Ubwoko OYA BIHUYE"
+-
+-#. [basic.scope.class]
+-#.
+-#. A name N used in a class S shall refer to the same declaration
+-#. in its context and when re-evaluated in the completed scope of
+-#. S.
+-#: cp/class.c:6320 cp/decl.c:1192 cp/name-lookup.c:509
+-#, fuzzy, gcc-internal-format
+-msgid "declaration of %q#D"
+-msgstr "Bya"
+-
+-#: cp/class.c:6321
+-#, fuzzy, gcc-internal-format
+-msgid "changes meaning of %qD from %q+#D"
+-msgstr "Amahinduka Igisobanuro Bya Bivuye"
+-
+-#: cp/cp-gimplify.c:99
+-#, fuzzy, gcc-internal-format
+-msgid "continue statement not within loop or switch"
+-msgstr "itandukanya Inyandiko OYA muri Cyangwa Hindura"
+-
+-#: cp/cp-gimplify.c:373
+-#, gcc-internal-format
+-msgid "statement with no effect"
+-msgstr ""
+-
+-#: cp/cvt.c:92
+-#, fuzzy, gcc-internal-format
+-msgid "can't convert from incomplete type %qT to %qT"
+-msgstr "GUHINDURA Bivuye Ubwoko Kuri"
+-
+-#: cp/cvt.c:101
+-#, fuzzy, gcc-internal-format
+-msgid "conversion of %qE from %qT to %qT is ambiguous"
+-msgstr "Ihindurangero Bya Bivuye Kuri ni"
+-
+-#: cp/cvt.c:170 cp/cvt.c:239 cp/cvt.c:286
+-#, fuzzy, gcc-internal-format
+-msgid "cannot convert %qE from type %qT to type %qT"
+-msgstr "GUHINDURA Bivuye Ubwoko Kuri Ubwoko"
+-
+-#: cp/cvt.c:199 cp/cvt.c:203
+-#, fuzzy, gcc-internal-format
+-msgid "pointer to member cast from %qT to %qT is via virtual base"
+-msgstr "Mweretsi Kuri Bivuye Kuri ni Biturutse Kitaboneka SHINGIRO"
+-
+-#: cp/cvt.c:500
+-#, fuzzy, gcc-internal-format
+-msgid "conversion from %qT to %qT discards qualifiers"
+-msgstr "Ihindurangero Bivuye Kuri"
+-
+-#: cp/cvt.c:518 cp/typeck.c:5160
+-#, fuzzy, gcc-internal-format
+-msgid "casting %qT to %qT does not dereference pointer"
+-msgstr "Kuri OYA Mweretsi"
+-
+-#: cp/cvt.c:545
+-#, fuzzy, gcc-internal-format
+-msgid "cannot convert type %qT to type %qT"
+-msgstr "GUHINDURA Ubwoko Kuri Ubwoko"
+-
+-#: cp/cvt.c:681
+-#, fuzzy, gcc-internal-format
+-msgid "conversion from %q#T to %q#T"
+-msgstr "Ihindurangero Bivuye Kuri"
+-
+-#: cp/cvt.c:693 cp/cvt.c:713
+-#, fuzzy, gcc-internal-format
+-msgid "%q#T used where a %qT was expected"
+-msgstr "`%#T'a Ikitezwe:"
+-
+-#: cp/cvt.c:728
+-#, fuzzy, gcc-internal-format
+-msgid "%q#T used where a floating point value was expected"
+-msgstr "`%#T'a Bihindagurika Akadomo Agaciro Ikitezwe:"
+-
+-#: cp/cvt.c:775
+-#, fuzzy, gcc-internal-format
+-msgid "conversion from %qT to non-scalar type %qT requested"
+-msgstr "Ihindurangero Bivuye Kuri Ubwoko"
+-
+-#: cp/cvt.c:809
+-#, gcc-internal-format
+-msgid "pseudo-destructor is not called"
+-msgstr ""
+-
+-#: cp/cvt.c:869
+-#, fuzzy, gcc-internal-format
+-msgid "object of incomplete type %qT will not be accessed in %s"
+-msgstr "Igikoresho Bya Ubwoko OYA birabonetse in"
+-
+-#: cp/cvt.c:874
+-#, fuzzy, gcc-internal-format
+-msgid "object of type %qT will not be accessed in %s"
+-msgstr "Igikoresho Bya Ubwoko OYA birabonetse in"
+-
+-#: cp/cvt.c:890
+-#, fuzzy, gcc-internal-format
+-msgid "object %qE of incomplete type %qT will not be accessed in %s"
+-msgstr "Igikoresho Bya Ubwoko OYA birabonetse in"
+-
+-#. [over.over] enumerates the places where we can take the address
+-#. of an overloaded function, and this is not one of them.
+-#: cp/cvt.c:925
+-#, fuzzy, gcc-internal-format
+-msgid "%s cannot resolve address of overloaded function"
+-msgstr "%sAderesi Bya Umumaro"
+-
+-#. Only warn when there is no &.
+-#: cp/cvt.c:932
+-#, fuzzy, gcc-internal-format
+-msgid "%s is a reference, not call, to function %qE"
+-msgstr "%sni a Indango OYA Kuri Umumaro"
+-
+-#: cp/cvt.c:949
+-#, fuzzy, gcc-internal-format
+-msgid "%s has no effect"
+-msgstr "%sOya"
+-
+-#: cp/cvt.c:981
+-#, fuzzy, gcc-internal-format
+-msgid "value computed is not used"
+-msgstr "ni OYA"
+-
+-#: cp/cvt.c:1091
+-#, fuzzy, gcc-internal-format
+-msgid "converting NULL to non-pointer type"
+-msgstr "Guhindura.... Kuri Mweretsi Ubwoko"
+-
+-#: cp/cvt.c:1197
+-#, fuzzy, gcc-internal-format
+-msgid "ambiguous default type conversion from %qT"
+-msgstr "Mburabuzi Ubwoko Ihindurangero Bivuye"
+-
+-#: cp/cvt.c:1199
+-#, fuzzy, gcc-internal-format
+-msgid " candidate conversions include %qD and %qD"
+-msgstr "Gushyiramo Na"
+-
+-#: cp/decl.c:1059
+-#, fuzzy, gcc-internal-format
+-msgid "%qD was declared %<extern%> and later %<static%>"
+-msgstr "`%s'Na"
+-
+-#: cp/decl.c:1060 cp/decl.c:1593 objc/objc-act.c:2921 objc/objc-act.c:7489
+-#, fuzzy, gcc-internal-format
+-msgid "previous declaration of %q+D"
+-msgstr "Ibanjirije Bya"
+-
+-#: cp/decl.c:1093
+-#, fuzzy, gcc-internal-format
+-msgid "declaration of %qF throws different exceptions"
+-msgstr "Bya Amarengayobora"
+-
+-#: cp/decl.c:1094
+-#, fuzzy, gcc-internal-format
+-msgid "from previous declaration %q+F"
+-msgstr "Ibanjirije"
+-
+-#: cp/decl.c:1146
+-#, fuzzy, gcc-internal-format
+-msgid "function %q+D redeclared as inline"
+-msgstr "Umumaro Nka Mumurongo"
+-
+-#: cp/decl.c:1148
+-#, fuzzy, gcc-internal-format
+-msgid "previous declaration of %q+D with attribute noinline"
+-msgstr "Ibanjirije Bya Umumaro Na: Ikiranga"
+-
+-#: cp/decl.c:1155
+-#, fuzzy, gcc-internal-format
+-msgid "function %q+D redeclared with attribute noinline"
+-msgstr "Umumaro Na: Ikiranga"
+-
+-#: cp/decl.c:1157
+-#, fuzzy, gcc-internal-format
+-msgid "previous declaration of %q+D was inline"
+-msgstr "Ibanjirije Bya Umumaro Mumurongo"
+-
+-#: cp/decl.c:1179 cp/decl.c:1252
+-#, fuzzy, gcc-internal-format
+-msgid "shadowing %s function %q#D"
+-msgstr "Ishyiraho ry'igicucu Umumaro"
+-
+-#: cp/decl.c:1188
+-#, fuzzy, gcc-internal-format
+-msgid "library function %q#D redeclared as non-function %q#D"
+-msgstr "Isomero Umumaro Nka Umumaro"
+-
+-#: cp/decl.c:1193
+-#, fuzzy, gcc-internal-format
+-msgid "conflicts with built-in declaration %q#D"
+-msgstr "Na: in"
+-
+-#: cp/decl.c:1247 cp/decl.c:1356 cp/decl.c:1372
+-#, fuzzy, gcc-internal-format
+-msgid "new declaration %q#D"
+-msgstr "Gishya"
+-
+-#: cp/decl.c:1248
+-#, fuzzy, gcc-internal-format
+-msgid "ambiguates built-in declaration %q#D"
+-msgstr "in"
+-
+-#: cp/decl.c:1320
+-#, fuzzy, gcc-internal-format
+-msgid "%q#D redeclared as different kind of symbol"
+-msgstr "`%#D'Nka Bya IKIMENYETSO"
+-
+-#: cp/decl.c:1323
+-#, fuzzy, gcc-internal-format
+-msgid "previous declaration of %q+#D"
+-msgstr "Ibanjirije Bya"
+-
+-#: cp/decl.c:1342
+-#, fuzzy, gcc-internal-format
+-msgid "declaration of template %q#D"
+-msgstr "Bya Inyandikorugero"
+-
+-#: cp/decl.c:1343 cp/name-lookup.c:510
+-#, fuzzy, gcc-internal-format
+-msgid "conflicts with previous declaration %q+#D"
+-msgstr "Na: Ibanjirije"
+-
+-#: cp/decl.c:1357 cp/decl.c:1373
+-#, fuzzy, gcc-internal-format
+-msgid "ambiguates old declaration %q+#D"
+-msgstr "ki/ bishaje"
+-
+-#: cp/decl.c:1365
+-#, fuzzy, gcc-internal-format
+-msgid "declaration of C function %q#D conflicts with"
+-msgstr "Bya C Umumaro Na:"
+-
+-#: cp/decl.c:1367
+-#, fuzzy, gcc-internal-format
+-msgid "previous declaration %q+#D here"
+-msgstr "Ibanjirije"
+-
+-#: cp/decl.c:1381
+-#, fuzzy, gcc-internal-format
+-msgid "conflicting declaration %q#D"
+-msgstr "Bya"
+-
+-#: cp/decl.c:1382
+-#, fuzzy, gcc-internal-format
+-msgid "%q+D has a previous declaration as %q#D"
+-msgstr "Ibanjirije Nka"
+-
+-#. [namespace.alias]
+-#.
+-#. A namespace-name or namespace-alias shall not be declared as
+-#. the name of any other entity in the same declarative region.
+-#. A namespace-name defined at global scope shall not be
+-#. declared as the name of any other entity in any global scope
+-#. of the program.
+-#: cp/decl.c:1434
+-#, fuzzy, gcc-internal-format
+-msgid "declaration of namespace %qD conflicts with"
+-msgstr "Bya C Umumaro Na:"
+-
+-#: cp/decl.c:1435
+-#, fuzzy, gcc-internal-format
+-msgid "previous declaration of namespace %q+D here"
+-msgstr "Ibanjirije"
+-
+-#: cp/decl.c:1446
+-#, fuzzy, gcc-internal-format
+-msgid "%q+#D previously defined here"
+-msgstr "Ibanjirije Insobanuro"
+-
+-#: cp/decl.c:1447
+-#, fuzzy, gcc-internal-format
+-msgid "%q+#D previously declared here"
+-msgstr "Ibanjirije"
+-
+-#. Prototype decl follows defn w/o prototype.
+-#: cp/decl.c:1456
+-#, fuzzy, gcc-internal-format
+-msgid "prototype for %q+#D"
+-msgstr "kugirango"
+-
+-#: cp/decl.c:1457
+-#, fuzzy, gcc-internal-format
+-msgid "%Jfollows non-prototype definition here"
+-msgstr "Insobanuro"
+-
+-#: cp/decl.c:1497
+-#, fuzzy, gcc-internal-format
+-msgid "previous declaration of %q+#D with %qL linkage"
+-msgstr "Ibanjirije Bya Na:"
+-
+-#: cp/decl.c:1499
+-#, fuzzy, gcc-internal-format
+-msgid "conflicts with new declaration with %qL linkage"
+-msgstr "Na: Gishya Na:"
+-
+-#: cp/decl.c:1522 cp/decl.c:1528
+-#, fuzzy, gcc-internal-format
+-msgid "default argument given for parameter %d of %q#D"
+-msgstr "Mburabuzi kugirango Bya"
+-
+-#: cp/decl.c:1524 cp/decl.c:1530
+-#, fuzzy, gcc-internal-format
+-msgid "after previous specification in %q+#D"
+-msgstr "Nyuma Ibanjirije in"
+-
+-#: cp/decl.c:1539
+-#, fuzzy, gcc-internal-format
+-msgid "%q#D was used before it was declared inline"
+-msgstr "`%#D'Mbere Mumurongo"
+-
+-#: cp/decl.c:1540
+-#, fuzzy, gcc-internal-format
+-msgid "%Jprevious non-inline declaration here"
+-msgstr "Ibanjirije Mumurongo"
+-
+-#: cp/decl.c:1592
+-#, fuzzy, gcc-internal-format
+-msgid "redundant redeclaration of %qD in same scope"
+-msgstr "Bya in Ingano:"
+-
+-#. From [temp.expl.spec]:
+-#.
+-#. If a template, a member template or the member of a class
+-#. template is explicitly specialized then that
+-#. specialization shall be declared before the first use of
+-#. that specialization that would cause an implicit
+-#. instantiation to take place, in every translation unit in
+-#. which such a use occurs.
+-#: cp/decl.c:1859
+-#, fuzzy, gcc-internal-format
+-msgid "explicit specialization of %qD after first use"
+-msgstr "Bya Nyuma Itangira Gukoresha"
+-
+-#: cp/decl.c:1943
+-#, gcc-internal-format
+-msgid "%q+D: visibility attribute ignored because it"
+-msgstr ""
+-
+-#: cp/decl.c:1945
+-#, fuzzy, gcc-internal-format
+-msgid "%Jconflicts with previous declaration here"
+-msgstr "Na: Ibanjirije"
+-
+-#: cp/decl.c:2312
+-#, fuzzy, gcc-internal-format
+-msgid "jump to label %qD"
+-msgstr "Simbuka Kuri Akarango"
+-
+-#: cp/decl.c:2314
+-#, fuzzy, gcc-internal-format
+-msgid "jump to case label"
+-msgstr "Simbuka Kuri Akarango"
+-
+-#: cp/decl.c:2316
+-#, fuzzy, gcc-internal-format
+-msgid "%H from here"
+-msgstr "Bivuye"
+-
+-#: cp/decl.c:2335 cp/decl.c:2498
+-#, gcc-internal-format
+-msgid " exits OpenMP structured block"
+-msgstr ""
+-
+-#: cp/decl.c:2356
+-#, fuzzy, gcc-internal-format
+-msgid " crosses initialization of %q+#D"
+-msgstr "Bya"
+-
+-#: cp/decl.c:2358 cp/decl.c:2473
+-#, fuzzy, gcc-internal-format
+-msgid " enters scope of non-POD %q+#D"
+-msgstr "Ingano: Bya"
+-
+-#: cp/decl.c:2371 cp/decl.c:2477
+-#, fuzzy, gcc-internal-format
+-msgid " enters try block"
+-msgstr "Funga"
+-
+-#: cp/decl.c:2373 cp/decl.c:2479
+-#, fuzzy, gcc-internal-format
+-msgid " enters catch block"
+-msgstr "Funga"
+-
+-#: cp/decl.c:2383 cp/decl.c:2482
+-#, fuzzy, gcc-internal-format
+-msgid " enters OpenMP structured block"
+-msgstr "Funga"
+-
+-#: cp/decl.c:2454 cp/decl.c:2494
+-#, fuzzy, gcc-internal-format
+-msgid "jump to label %q+D"
+-msgstr "Simbuka Kuri Akarango"
+-
+-#: cp/decl.c:2455 cp/decl.c:2495
+-#, fuzzy, gcc-internal-format
+-msgid " from here"
+-msgstr "Bivuye"
+-
+-#. Can't skip init of __exception_info.
+-#: cp/decl.c:2467
+-#, fuzzy, gcc-internal-format
+-msgid "%J enters catch block"
+-msgstr "Funga"
+-
+-#: cp/decl.c:2471
+-#, fuzzy, gcc-internal-format
+-msgid " skips initialization of %q+#D"
+-msgstr "Bya"
+-
+-#: cp/decl.c:2547
+-#, fuzzy, gcc-internal-format
+-msgid "label named wchar_t"
+-msgstr "Akarango"
+-
+-#: cp/decl.c:2551
+-#, fuzzy, gcc-internal-format
+-msgid "duplicate label %qD"
+-msgstr "Gusubiramo Akarango"
+-
+-#: cp/decl.c:2814
+-#, fuzzy, gcc-internal-format
+-msgid "%qD is not a type"
+-msgstr "`%T'ni OYA a Inyandikorugero"
+-
+-#: cp/decl.c:2820 cp/parser.c:3841
+-#, fuzzy, gcc-internal-format
+-msgid "%qD used without template parameters"
+-msgstr "`%D'Inyandikorugero Ibigenga"
+-
+-#: cp/decl.c:2835
+-#, fuzzy, gcc-internal-format
+-msgid "%q#T is not a class"
+-msgstr "`%#T'ni OYA a Inyandikorugero"
+-
+-#: cp/decl.c:2847 cp/decl.c:2915
+-#, fuzzy, gcc-internal-format
+-msgid "no class template named %q#T in %q#T"
+-msgstr "Oya ishuri Inyandikorugero in"
+-
+-#: cp/decl.c:2848
+-#, fuzzy, gcc-internal-format
+-msgid "no type named %q#T in %q#T"
+-msgstr "Oya Ubwoko in"
+-
+-#: cp/decl.c:2855
+-#, gcc-internal-format
+-msgid "%<typename %T::%D%> names %q#T, which is not a class template"
+-msgstr ""
+-
+-#: cp/decl.c:2862
+-#, gcc-internal-format
+-msgid "%<typename %T::%D%> names %q#T, which is not a type"
+-msgstr ""
+-
+-#: cp/decl.c:2924
+-#, fuzzy, gcc-internal-format
+-msgid "template parameters do not match template"
+-msgstr "Inyandikorugero Ibigenga"
+-
+-#: cp/decl.c:2925 cp/friend.c:322 cp/friend.c:330
+-#, fuzzy, gcc-internal-format
+-msgid "%q+D declared here"
+-msgstr "`%D'Nka a"
+-
+-#: cp/decl.c:3596
+-#, fuzzy, gcc-internal-format
+-msgid "%Jan anonymous union cannot have function members"
+-msgstr "Ihuza Umumaro"
+-
+-#: cp/decl.c:3614
+-#, fuzzy, gcc-internal-format
+-msgid "member %q+#D with constructor not allowed in anonymous aggregate"
+-msgstr "Na: OYA in"
+-
+-#: cp/decl.c:3617
+-#, fuzzy, gcc-internal-format
+-msgid "member %q+#D with destructor not allowed in anonymous aggregate"
+-msgstr "Na: OYA in"
+-
+-#: cp/decl.c:3620
+-#, fuzzy, gcc-internal-format
+-msgid "member %q+#D with copy assignment operator not allowed in anonymous aggregate"
+-msgstr "Na: Gukoporora Igenera Mukoresha OYA in"
+-
+-#: cp/decl.c:3645
+-#, fuzzy, gcc-internal-format
+-msgid "multiple types in one declaration"
+-msgstr "Igikubo in"
+-
+-#: cp/decl.c:3649
+-#, fuzzy, gcc-internal-format
+-msgid "redeclaration of C++ built-in type %qT"
+-msgstr "Bya C in Ubwoko"
+-
+-#: cp/decl.c:3686
+-#, fuzzy, gcc-internal-format
+-msgid "missing type-name in typedef-declaration"
+-msgstr "Ibuze Ubwoko Izina: in"
+-
+-#: cp/decl.c:3694
+-#, fuzzy, gcc-internal-format
+-msgid "ISO C++ prohibits anonymous structs"
+-msgstr "C"
+-
+-#: cp/decl.c:3701
+-#, fuzzy, gcc-internal-format
+-msgid "%qs can only be specified for functions"
+-msgstr "`%D'kugirango Imimaro"
+-
+-#: cp/decl.c:3707
+-#, fuzzy, gcc-internal-format
+-msgid "%<friend%> can only be specified inside a class"
+-msgstr "`%D'Mo Imbere a ishuri"
+-
+-#: cp/decl.c:3709
+-#, fuzzy, gcc-internal-format
+-msgid "%<explicit%> can only be specified for constructors"
+-msgstr "`%D'kugirango"
+-
+-#: cp/decl.c:3711
+-#, fuzzy, gcc-internal-format
+-msgid "a storage class can only be specified for objects and functions"
+-msgstr "`%D'kugirango Ibintu Na Imimaro"
+-
+-#: cp/decl.c:3717
+-#, fuzzy, gcc-internal-format
+-msgid "qualifiers can only be specified for objects and functions"
+-msgstr "`%D'kugirango Ibintu Na Imimaro"
+-
+-#: cp/decl.c:3747
+-#, fuzzy, gcc-internal-format
+-msgid "attribute ignored in declaration of %q+#T"
+-msgstr "Ibanjirije Bya"
+-
+-#: cp/decl.c:3748
+-#, gcc-internal-format
+-msgid "attribute for %q+#T must follow the %qs keyword"
+-msgstr ""
+-
+-#: cp/decl.c:3862
+-#, fuzzy, gcc-internal-format
+-msgid "function %q#D is initialized like a variable"
+-msgstr "Umumaro ni nka a IMPINDURAGACIRO"
+-
+-#: cp/decl.c:3873
+-#, fuzzy, gcc-internal-format
+-msgid "declaration of %q#D has %<extern%> and is initialized"
+-msgstr "Bya Na ni"
+-
+-#: cp/decl.c:3889
+-#, fuzzy, gcc-internal-format
+-msgid "definition of %q#D is marked %<dllimport%>"
+-msgstr "IMPINDURAGACIRO ni cy/ byagarajwe"
+-
+-#: cp/decl.c:3908
+-#, fuzzy, gcc-internal-format
+-msgid "%q#D is not a static member of %q#T"
+-msgstr "`%#D'ni OYA a Bya"
+-
+-#: cp/decl.c:3914
+-#, fuzzy, gcc-internal-format
+-msgid "ISO C++ does not permit %<%T::%D%> to be defined as %<%T::%D%>"
+-msgstr "C OYA Kuri Nka"
+-
+-#: cp/decl.c:3923
+-#, gcc-internal-format
+-msgid "template header not allowed in member definition of explicitly specialized class"
+-msgstr ""
+-
+-#: cp/decl.c:3931
+-#, fuzzy, gcc-internal-format
+-msgid "duplicate initialization of %qD"
+-msgstr "Gusubiramo Bya"
+-
+-#: cp/decl.c:3969
+-#, fuzzy, gcc-internal-format
+-msgid "declaration of %q#D outside of class is not definition"
+-msgstr "Bya Hanze Bya ishuri ni OYA Insobanuro"
+-
+-#: cp/decl.c:4036
+-#, fuzzy, gcc-internal-format
+-msgid "variable %q#D has initializer but incomplete type"
+-msgstr "IMPINDURAGACIRO Ubwoko"
+-
+-#: cp/decl.c:4043 cp/decl.c:4770
+-#, fuzzy, gcc-internal-format
+-msgid "elements of array %q#D have incomplete type"
+-msgstr "Ibintu Bya Imbonerahamwe Ubwoko"
+-
+-#: cp/decl.c:4053
+-#, fuzzy, gcc-internal-format
+-msgid "aggregate %q#D has incomplete type and cannot be defined"
+-msgstr "Ubwoko Na"
+-
+-#: cp/decl.c:4100
+-#, fuzzy, gcc-internal-format
+-msgid "%qD declared as reference but not initialized"
+-msgstr "`%D'Nka Indango OYA"
+-
+-#: cp/decl.c:4106
+-#, fuzzy, gcc-internal-format
+-msgid "ISO C++ forbids use of initializer list to initialize reference %qD"
+-msgstr "C Gukoresha Bya Urutonde Kuri gutangiza Indango"
+-
+-#: cp/decl.c:4132
+-#, fuzzy, gcc-internal-format
+-msgid "cannot initialize %qT from %qT"
+-msgstr "gutangiza Bivuye"
+-
+-#: cp/decl.c:4160
+-#, gcc-internal-format
+-msgid "name %qD used in a GNU-style designated initializer for an array"
+-msgstr ""
+-
+-#: cp/decl.c:4209
+-#, fuzzy, gcc-internal-format
+-msgid "initializer fails to determine size of %qD"
+-msgstr "Kuri Ingano Bya"
+-
+-#: cp/decl.c:4216
+-#, fuzzy, gcc-internal-format
+-msgid "array size missing in %qD"
+-msgstr "Imbonerahamwe Ingano Ibuze in"
+-
+-#: cp/decl.c:4228
+-#, fuzzy, gcc-internal-format
+-msgid "zero-size array %qD"
+-msgstr "Zeru Ingano Imbonerahamwe"
+-
+-#. An automatic variable with an incomplete type: that is an error.
+-#. Don't talk about array types here, since we took care of that
+-#. message in grokdeclarator.
+-#: cp/decl.c:4271
+-#, fuzzy, gcc-internal-format
+-msgid "storage size of %qD isn't known"
+-msgstr "Ingano Bya si"
+-
+-#: cp/decl.c:4293
+-#, fuzzy, gcc-internal-format
+-msgid "storage size of %qD isn't constant"
+-msgstr "Ingano Bya si"
+-
+-#: cp/decl.c:4342
+-#, fuzzy, gcc-internal-format
+-msgid "sorry: semantics of inline function static data %q+#D are wrong (you'll wind up with multiple copies)"
+-msgstr "Bya Mumurongo Umumaro Ibyatanzwe Hejuru Na: Igikubo Amakopi"
+-
+-#: cp/decl.c:4345
+-#, fuzzy, gcc-internal-format
+-msgid "%J you can work around this by removing the initializer"
+-msgstr "Akazi iyi ku i"
+-
+-#: cp/decl.c:4372
+-#, fuzzy, gcc-internal-format
+-msgid "uninitialized const %qD"
+-msgstr "Itatangijwe"
+-
+-#: cp/decl.c:4484
+-#, fuzzy, gcc-internal-format
+-msgid "invalid type %qT as initializer for a vector of type %qT"
+-msgstr "Sibyo kugirango Kitaboneka Uburyo"
+-
+-#: cp/decl.c:4526
+-#, fuzzy, gcc-internal-format
+-msgid "initializer for %qT must be brace-enclosed"
+-msgstr "kugirango"
+-
+-#: cp/decl.c:4544
+-#, fuzzy, gcc-internal-format
+-msgid "%qT has no non-static data member named %qD"
+-msgstr "`%T'Oya Ibyatanzwe"
+-
+-#: cp/decl.c:4595
+-#, fuzzy, gcc-internal-format
+-msgid "braces around scalar initializer for type %qT"
+-msgstr "Ingirwadusodeko kugirango"
+-
+-#: cp/decl.c:4678
+-#, fuzzy, gcc-internal-format
+-msgid "missing braces around initializer for %qT"
+-msgstr "Ibuze Ingirwadusodeko"
+-
+-#: cp/decl.c:4735
+-#, fuzzy, gcc-internal-format
+-msgid "too many initializers for %qT"
+-msgstr "kugirango"
+-
+-#: cp/decl.c:4778
+-#, fuzzy, gcc-internal-format
+-msgid "variable-sized object %qD may not be initialized"
+-msgstr "IMPINDURAGACIRO Igikoresho Gicurasi OYA"
+-
+-#: cp/decl.c:4784
+-#, fuzzy, gcc-internal-format
+-msgid "%qD has incomplete type"
+-msgstr "`%D'Ubwoko"
+-
+-#: cp/decl.c:4796
+-#, fuzzy, gcc-internal-format
+-msgid "scalar object %qD requires one element in initializer"
+-msgstr "Ibintu in Ihuza"
+-
+-#: cp/decl.c:4844
+-#, fuzzy, gcc-internal-format
+-msgid "%qD must be initialized by constructor, not by %<{...}%>"
+-msgstr "`%D'ku OYA ku"
+-
+-#: cp/decl.c:4880
+-#, fuzzy, gcc-internal-format
+-msgid "array %qD initialized by parenthesized string literal %qE"
+-msgstr "a Ikurikiranyanyuguti"
+-
+-#: cp/decl.c:4895
+-#, fuzzy, gcc-internal-format
+-msgid "structure %qD with uninitialized const members"
+-msgstr "Imiterere Na: Itatangijwe"
+-
+-#: cp/decl.c:4897
+-#, fuzzy, gcc-internal-format
+-msgid "structure %qD with uninitialized reference members"
+-msgstr "Imiterere Na: Itatangijwe Indango"
+-
+-#: cp/decl.c:5106
+-#, fuzzy, gcc-internal-format
+-msgid "assignment (not initialization) in declaration"
+-msgstr "Igenera OYA in"
+-
+-#: cp/decl.c:5184
+-#, fuzzy, gcc-internal-format
+-msgid "shadowing previous type declaration of %q#D"
+-msgstr "Ishyiraho ry'igicucu Ibanjirije Ubwoko Bya"
+-
+-#: cp/decl.c:5214
+-#, fuzzy, gcc-internal-format
+-msgid "%qD cannot be thread-local because it has non-POD type %qT"
+-msgstr "`%D'Urudodo Ubwoko"
+-
+-#: cp/decl.c:5250
+-#, fuzzy, gcc-internal-format
+-msgid "%qD is thread-local and so cannot be dynamically initialized"
+-msgstr "`%D'ni Urudodo Na"
+-
+-#: cp/decl.c:5268
+-#, fuzzy, gcc-internal-format
+-msgid "%qD cannot be initialized by a non-constant expression when being declared"
+-msgstr "Imbonerahamwe Bivuye Imbonerahamwe imvugo"
+-
+-#: cp/decl.c:5857
+-#, fuzzy, gcc-internal-format
+-msgid "destructor for alien class %qT cannot be a member"
+-msgstr "kugirango ishuri a"
+-
+-#: cp/decl.c:5859
+-#, fuzzy, gcc-internal-format
+-msgid "constructor for alien class %qT cannot be a member"
+-msgstr "kugirango ishuri a"
+-
+-#: cp/decl.c:5880
+-#, fuzzy, gcc-internal-format
+-msgid "%qD declared as a %<virtual%> %s"
+-msgstr "`%D'Nka a"
+-
+-#: cp/decl.c:5882
+-#, fuzzy, gcc-internal-format
+-msgid "%qD declared as an %<inline%> %s"
+-msgstr "`%D'Nka"
+-
+-#: cp/decl.c:5884
+-#, fuzzy, gcc-internal-format
+-msgid "%<const%> and %<volatile%> function specifiers on %qD invalid in %s declaration"
+-msgstr "`Na Umumaro ku Sibyo in"
+-
+-#: cp/decl.c:5888
+-#, fuzzy, gcc-internal-format
+-msgid "%q+D declared as a friend"
+-msgstr "`%D'Nka a"
+-
+-#: cp/decl.c:5894
+-#, fuzzy, gcc-internal-format
+-msgid "%q+D declared with an exception specification"
+-msgstr "`%D'Na: Irengayobora(-)"
+-
+-#: cp/decl.c:5928
+-#, fuzzy, gcc-internal-format
+-msgid "definition of %qD is not in namespace enclosing %qT"
+-msgstr "Bya OYA in a"
+-
+-#: cp/decl.c:6017
+-#, fuzzy, gcc-internal-format
+-msgid "defining explicit specialization %qD in friend declaration"
+-msgstr "in"
+-
+-#. Something like `template <class T> friend void f<T>()'.
+-#: cp/decl.c:6027
+-#, fuzzy, gcc-internal-format
+-msgid "invalid use of template-id %qD in declaration of primary template"
+-msgstr "Sibyo Gukoresha Bya Inyandikorugero ID in Bya Inyandikorugero"
+-
+-#: cp/decl.c:6057
+-#, fuzzy, gcc-internal-format
+-msgid "default arguments are not allowed in declaration of friend template specialization %qD"
+-msgstr "Mburabuzi ingingo OYA in Bya Inyandikorugero"
+-
+-#: cp/decl.c:6065
+-#, fuzzy, gcc-internal-format
+-msgid "%<inline%> is not allowed in declaration of friend template specialization %qD"
+-msgstr "`ni OYA in Bya Inyandikorugero"
+-
+-#: cp/decl.c:6108
+-#, fuzzy, gcc-internal-format
+-msgid "cannot declare %<::main%> to be a template"
+-msgstr "Kuri a Inyandikorugero"
+-
+-#: cp/decl.c:6110
+-#, fuzzy, gcc-internal-format
+-msgid "cannot declare %<::main%> to be inline"
+-msgstr "Kuri Mumurongo"
+-
+-#: cp/decl.c:6112
+-#, fuzzy, gcc-internal-format
+-msgid "cannot declare %<::main%> to be static"
+-msgstr "Kuri"
+-
+-#: cp/decl.c:6140
+-#, fuzzy, gcc-internal-format
+-msgid "non-local function %q#D uses anonymous type"
+-msgstr "Umumaro Ubwoko"
+-
+-#: cp/decl.c:6143 cp/decl.c:6425
+-#, fuzzy, gcc-internal-format
+-msgid "%q+#D does not refer to the unqualified type, so it is not used for linkage"
+-msgstr "`%#D'OYA Kuri i Ubwoko ni OYA kugirango"
+-
+-#: cp/decl.c:6149
+-#, fuzzy, gcc-internal-format
+-msgid "non-local function %q#D uses local type %qT"
+-msgstr "Umumaro Ubwoko"
+-
+-#: cp/decl.c:6172
+-#, fuzzy, gcc-internal-format
+-msgid "%smember function %qD cannot have cv-qualifier"
+-msgstr "%smemberUmumaro Uburyo"
+-
+-#: cp/decl.c:6224
+-#, fuzzy, gcc-internal-format
+-msgid "%<::main%> must return %<int%>"
+-msgstr "`Garuka"
+-
+-#: cp/decl.c:6258
+-#, fuzzy, gcc-internal-format
+-msgid "definition of implicitly-declared %qD"
+-msgstr "Insobanuro Bya"
+-
+-#: cp/decl.c:6273 cp/decl2.c:677
+-#, fuzzy, gcc-internal-format
+-msgid "no %q#D member function declared in class %qT"
+-msgstr "Oya Umumaro in ishuri"
+-
+-#. DRs 132, 319 and 389 seem to indicate types with
+-#. 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/decl.c:6422
+-#, fuzzy, gcc-internal-format
+-msgid "non-local variable %q#D uses anonymous type"
+-msgstr "Umumaro Ubwoko"
+-
+-#: cp/decl.c:6431
+-#, fuzzy, gcc-internal-format
+-msgid "non-local variable %q#D uses local type %qT"
+-msgstr "IMPINDURAGACIRO Ubwoko"
+-
+-#: cp/decl.c:6548
+-#, fuzzy, gcc-internal-format
+-msgid "invalid in-class initialization of static data member of non-integral type %qT"
+-msgstr "Sibyo in ishuri Bya Ibyatanzwe Bya Umubare Wuzuye Ubwoko"
+-
+-#: cp/decl.c:6558
+-#, fuzzy, gcc-internal-format
+-msgid "ISO C++ forbids in-class initialization of non-const static member %qD"
+-msgstr "C in ishuri Bya"
+-
+-#: cp/decl.c:6562
+-#, fuzzy, gcc-internal-format
+-msgid "ISO C++ forbids initialization of member constant %qD of non-integral type %qT"
+-msgstr "C Bya Bya Umubare Wuzuye Ubwoko"
+-
+-#: cp/decl.c:6586
+-#, fuzzy, gcc-internal-format
+-msgid "size of array %qD has non-integral type %qT"
+-msgstr "Ingano Bya Imbonerahamwe Umubare wuzuye Ubwoko"
+-
+-#: cp/decl.c:6588
+-#, fuzzy, gcc-internal-format
+-msgid "size of array has non-integral type %qT"
+-msgstr "Ingano Bya Imbonerahamwe Umubare wuzuye Ubwoko"
+-
+-#: cp/decl.c:6624
+-#, fuzzy, gcc-internal-format
+-msgid "size of array %qD is negative"
+-msgstr "Ingano Bya Imbonerahamwe ni"
+-
+-#: cp/decl.c:6626
+-#, fuzzy, gcc-internal-format
+-msgid "size of array is negative"
+-msgstr "Ingano Bya Imbonerahamwe ni"
+-
+-#: cp/decl.c:6634
+-#, fuzzy, gcc-internal-format
+-msgid "ISO C++ forbids zero-size array %qD"
+-msgstr "C Zeru Ingano Imbonerahamwe"
+-
+-#: cp/decl.c:6636
+-#, fuzzy, gcc-internal-format
+-msgid "ISO C++ forbids zero-size array"
+-msgstr "C Zeru Ingano Imbonerahamwe"
+-
+-#: cp/decl.c:6643
+-#, fuzzy, gcc-internal-format
+-msgid "size of array %qD is not an integral constant-expression"
+-msgstr "Ingano Bya Imbonerahamwe ni OYA Umubare Wuzuye imvugo"
+-
+-#: cp/decl.c:6646
+-#, fuzzy, gcc-internal-format
+-msgid "size of array is not an integral constant-expression"
+-msgstr "Ingano Bya Imbonerahamwe ni OYA Umubare Wuzuye imvugo"
+-
+-#: cp/decl.c:6652
+-#, fuzzy, gcc-internal-format
+-msgid "ISO C++ forbids variable-size array %qD"
+-msgstr "C IMPINDURAGACIRO Ingano Imbonerahamwe"
+-
+-#: cp/decl.c:6654
+-#, fuzzy, gcc-internal-format
+-msgid "ISO C++ forbids variable-size array"
+-msgstr "C IMPINDURAGACIRO Ingano Imbonerahamwe"
+-
+-#: cp/decl.c:6685
+-#, fuzzy, gcc-internal-format
+-msgid "overflow in array dimension"
+-msgstr "Byarenze urugero in Imbonerahamwe"
+-
+-#: cp/decl.c:6759
+-#, fuzzy, gcc-internal-format
+-msgid "declaration of %qD as %s"
+-msgstr "Bya Nka"
+-
+-#: cp/decl.c:6761
+-#, gcc-internal-format
+-msgid "creating %s"
+-msgstr ""
+-
+-#: cp/decl.c:6773
+-#, fuzzy, gcc-internal-format
+-msgid "declaration of %qD as multidimensional array must have bounds for all dimensions except the first"
+-msgstr "Bya Nka Imbonerahamwe kugirango Byose Ingero i Itangira"
+-
+-#: cp/decl.c:6777
+-#, fuzzy, gcc-internal-format
+-msgid "multidimensional array must have bounds for all dimensions except the first"
+-msgstr "Imbonerahamwe kugirango Byose Ingero i Itangira"
+-
+-#: cp/decl.c:6812
+-#, fuzzy, gcc-internal-format
+-msgid "return type specification for constructor invalid"
+-msgstr "Garuka Ubwoko kugirango Sibyo"
+-
+-#: cp/decl.c:6822
+-#, fuzzy, gcc-internal-format
+-msgid "return type specification for destructor invalid"
+-msgstr "Garuka Ubwoko kugirango Sibyo"
+-
+-#: cp/decl.c:6835
+-#, fuzzy, gcc-internal-format
+-msgid "operator %qT declared to return %qT"
+-msgstr "Mukoresha Kuri Garuka"
+-
+-#: cp/decl.c:6837
+-#, fuzzy, gcc-internal-format
+-msgid "return type specified for %<operator %T%>"
+-msgstr "Garuka Ubwoko kugirango Mukoresha"
+-
+-#: cp/decl.c:6859
+-#, fuzzy, gcc-internal-format
+-msgid "unnamed variable or field declared void"
+-msgstr "Kitiswe IMPINDURAGACIRO Cyangwa Umwanya"
+-
+-#: cp/decl.c:6863
+-#, fuzzy, gcc-internal-format
+-msgid "variable or field %qE declared void"
+-msgstr "IMPINDURAGACIRO Cyangwa Umwanya"
+-
+-#: cp/decl.c:6866
+-#, fuzzy, gcc-internal-format
+-msgid "variable or field declared void"
+-msgstr "IMPINDURAGACIRO Cyangwa Umwanya"
+-
+-#: cp/decl.c:7031
+-#, fuzzy, gcc-internal-format
+-msgid "invalid use of qualified-name %<::%D%>"
+-msgstr "Sibyo Gukoresha Bya"
+-
+-#: cp/decl.c:7034
+-#, fuzzy, gcc-internal-format
+-msgid "invalid use of qualified-name %<%T::%D%>"
+-msgstr "Sibyo Insobanuro Bya Ubwoko"
+-
+-#: cp/decl.c:7037
+-#, fuzzy, gcc-internal-format
+-msgid "invalid use of qualified-name %<%D::%D%>"
+-msgstr "Sibyo Gukoresha Bya"
+-
+-#: cp/decl.c:7049
+-#, fuzzy, gcc-internal-format
+-msgid "type %qT is not derived from type %qT"
+-msgstr "Ubwoko ni OYA Bivuye Ubwoko"
+-
+-#: cp/decl.c:7065 cp/decl.c:7155 cp/decl.c:8228
+-#, fuzzy, gcc-internal-format
+-msgid "declaration of %qD as non-function"
+-msgstr "Bya Nka Umumaro"
+-
+-#: cp/decl.c:7071
+-#, fuzzy, gcc-internal-format
+-msgid "declaration of %qD as non-member"
+-msgstr "Bya Nka Umumaro"
+-
+-#: cp/decl.c:7100
+-#, fuzzy, gcc-internal-format
+-msgid "declarator-id missing; using reserved word %qD"
+-msgstr "ID Ibuze ikoresha ijambo"
+-
+-#: cp/decl.c:7147
+-#, fuzzy, gcc-internal-format
+-msgid "function definition does not declare parameters"
+-msgstr "Umumaro Insobanuro"
+-
+-#: cp/decl.c:7189
+-#, fuzzy, gcc-internal-format
+-msgid "two or more data types in declaration of %qs"
+-msgstr "Cyangwa Birenzeho Ibyatanzwe in Bya"
+-
+-#: cp/decl.c:7256 cp/decl.c:7258
+-#, fuzzy, gcc-internal-format
+-msgid "ISO C++ forbids declaration of %qs with no type"
+-msgstr "C Bya Na: Oya Ubwoko"
+-
+-#: cp/decl.c:7283
+-#, fuzzy, gcc-internal-format
+-msgid "%<signed%> or %<unsigned%> invalid for %qs"
+-msgstr "Cyangwa Bitashizweho umukono Sibyo kugirango"
+-
+-#: cp/decl.c:7285
+-#, fuzzy, gcc-internal-format
+-msgid "%<signed%> and %<unsigned%> specified together for %qs"
+-msgstr "Na Bitashizweho umukono kugirango"
+-
+-#: cp/decl.c:7287
+-#, fuzzy, gcc-internal-format
+-msgid "%<long long%> invalid for %qs"
+-msgstr "ITSINDA RY'IMIBARE C Sibyo kugirango"
+-
+-#: cp/decl.c:7289
+-#, fuzzy, gcc-internal-format
+-msgid "%<long%> invalid for %qs"
+-msgstr "ITSINDA RY'IMIBARE C Sibyo kugirango"
+-
+-#: cp/decl.c:7291
+-#, fuzzy, gcc-internal-format
+-msgid "%<short%> invalid for %qs"
+-msgstr "ITSINDA RY'IMIBARE C Sibyo kugirango"
+-
+-#: cp/decl.c:7293
+-#, fuzzy, gcc-internal-format
+-msgid "%<long%> or %<short%> invalid for %qs"
+-msgstr "Cyangwa Bitashizweho umukono Sibyo kugirango"
+-
+-#: cp/decl.c:7295
+-#, fuzzy, gcc-internal-format
+-msgid "%<long%> or %<short%> specified with char for %qs"
+-msgstr "Cyangwa Na: INYUGUTI kugirango"
+-
+-#: cp/decl.c:7297
+-#, fuzzy, gcc-internal-format
+-msgid "%<long%> and %<short%> specified together for %qs"
+-msgstr "Na kugirango"
+-
+-#: cp/decl.c:7303
+-#, fuzzy, gcc-internal-format
+-msgid "long, short, signed or unsigned used invalidly for %qs"
+-msgstr "Cyangwa Bitashizweho umukono kugirango"
+-
+-#: cp/decl.c:7367
+-#, fuzzy, gcc-internal-format
+-msgid "complex invalid for %qs"
+-msgstr "ITSINDA RY'IMIBARE C Sibyo kugirango"
+-
+-#: cp/decl.c:7396
+-#, fuzzy, gcc-internal-format
+-msgid "qualifiers are not allowed on declaration of %<operator %T%>"
+-msgstr "OYA ku Bya Mukoresha"
+-
+-#: cp/decl.c:7408 cp/typeck.c:6842
+-#, fuzzy, gcc-internal-format
+-msgid "ignoring %qV qualifiers added to function type %qT"
+-msgstr "Sibyo ku Umumaro Ubwoko"
+-
+-#: cp/decl.c:7431
+-#, fuzzy, gcc-internal-format
+-msgid "member %qD cannot be declared both virtual and static"
+-msgstr "Byombi Kitaboneka Na"
+-
+-#: cp/decl.c:7439
+-#, fuzzy, gcc-internal-format
+-msgid "%<%T::%D%> is not a valid declarator"
+-msgstr "`%T::%D'ni OYA a Byemewe"
+-
+-#: cp/decl.c:7448
+-#, fuzzy, gcc-internal-format
+-msgid "typedef declaration invalid in parameter declaration"
+-msgstr "Sibyo in"
+-
+-#: cp/decl.c:7454
+-#, fuzzy, gcc-internal-format
+-msgid "storage class specifiers invalid in parameter declarations"
+-msgstr "ishuri Sibyo in"
+-
+-#: cp/decl.c:7461
+-#, fuzzy, gcc-internal-format
+-msgid "virtual outside class declaration"
+-msgstr "Kitaboneka Hanze ishuri"
+-
+-#: cp/decl.c:7479
+-#, fuzzy, gcc-internal-format
+-msgid "multiple storage classes in declaration of %qs"
+-msgstr "Igikubo Inzego in Bya"
+-
+-#: cp/decl.c:7484
+-#, fuzzy, gcc-internal-format
+-msgid "conflicting specifiers in declaration of %qs"
+-msgstr "Bya"
+-
+-#: cp/decl.c:7507
+-#, fuzzy, gcc-internal-format
+-msgid "storage class specified for %qs"
+-msgstr "ishuri kugirango"
+-
+-#: cp/decl.c:7541
+-#, fuzzy, gcc-internal-format
+-msgid "top-level declaration of %qs specifies %<auto%>"
+-msgstr "Hejuru: urwego Bya"
+-
+-#: cp/decl.c:7553
+-#, fuzzy, gcc-internal-format
+-msgid "storage class specifiers invalid in friend function declarations"
+-msgstr "ishuri Sibyo in Umumaro"
+-
+-#: cp/decl.c:7673
+-#, fuzzy, gcc-internal-format
+-msgid "destructor cannot be static member function"
+-msgstr "Umumaro"
+-
+-#: cp/decl.c:7674
+-#, fuzzy, gcc-internal-format
+-msgid "constructor cannot be static member function"
+-msgstr "Umumaro"
+-
+-#: cp/decl.c:7678
+-#, fuzzy, gcc-internal-format
+-msgid "destructors may not be cv-qualified"
+-msgstr "Gicurasi OYA"
+-
+-#: cp/decl.c:7679
+-#, fuzzy, gcc-internal-format
+-msgid "constructors may not be cv-qualified"
+-msgstr "Gicurasi OYA"
+-
+-#: cp/decl.c:7696
+-#, fuzzy, gcc-internal-format
+-msgid "constructors cannot be declared virtual"
+-msgstr "Kitaboneka"
+-
+-#: cp/decl.c:7709
+-#, fuzzy, gcc-internal-format
+-msgid "can't initialize friend function %qs"
+-msgstr "gutangiza Umumaro"
+-
+-#. Cannot be both friend and virtual.
+-#: cp/decl.c:7713
+-#, fuzzy, gcc-internal-format
+-msgid "virtual functions cannot be friends"
+-msgstr "Kitaboneka Imimaro"
+-
+-#: cp/decl.c:7717
+-#, fuzzy, gcc-internal-format
+-msgid "friend declaration not in class definition"
+-msgstr "OYA in ishuri Insobanuro"
+-
+-#: cp/decl.c:7719
+-#, fuzzy, gcc-internal-format
+-msgid "can't define friend function %qs in a local class definition"
+-msgstr "Kugaragaza... Umumaro in a ishuri Insobanuro"
+-
+-#: cp/decl.c:7732
+-#, fuzzy, gcc-internal-format
+-msgid "destructors may not have parameters"
+-msgstr "Gicurasi OYA Ibigenga"
+-
+-#: cp/decl.c:7750 cp/decl.c:7757
+-#, fuzzy, gcc-internal-format
+-msgid "cannot declare reference to %q#T"
+-msgstr "Indango Kuri"
+-
+-#: cp/decl.c:7751
+-#, fuzzy, gcc-internal-format
+-msgid "cannot declare pointer to %q#T"
+-msgstr "Mweretsi Kuri"
+-
+-#: cp/decl.c:7759
+-#, fuzzy, gcc-internal-format
+-msgid "cannot declare pointer to %q#T member"
+-msgstr "Mweretsi Kuri"
+-
+-#: cp/decl.c:7822
+-#, fuzzy, gcc-internal-format
+-msgid "template-id %qD used as a declarator"
+-msgstr "Inyandikorugero ID Nka a"
+-
+-#: cp/decl.c:7872
+-#, fuzzy, gcc-internal-format
+-msgid "member functions are implicitly friends of their class"
+-msgstr "Imimaro Bya ishuri"
+-
+-#: cp/decl.c:7874
+-#, fuzzy, gcc-internal-format
+-msgid "extra qualification %<%T::%> on member %qs"
+-msgstr "Birenga ku"
+-
+-#: cp/decl.c:7906
+-#, fuzzy, gcc-internal-format
+-msgid "cannot define member function %<%T::%s%> within %<%T%>"
+-msgstr "Umumaro muri"
+-
+-#: cp/decl.c:7907
+-#, fuzzy, gcc-internal-format
+-msgid "cannot declare member function %<%T::%s%> within %<%T%>"
+-msgstr "Umumaro muri"
+-
+-#: cp/decl.c:7923
+-#, fuzzy, gcc-internal-format
+-msgid "cannot declare member %<%T::%s%> within %qT"
+-msgstr "muri"
+-
+-#: cp/decl.c:7957
+-#, fuzzy, gcc-internal-format
+-msgid "data member may not have variably modified type %qT"
+-msgstr "Ibyatanzwe Gicurasi OYA Byahinduwe Ubwoko"
+-
+-#: cp/decl.c:7959
+-#, fuzzy, gcc-internal-format
+-msgid "parameter may not have variably modified type %qT"
+-msgstr "Gicurasi OYA Byahinduwe Ubwoko"
+-
+-#. [dcl.fct.spec] The explicit specifier shall only be used in
+-#. declarations of constructors within a class definition.
+-#: cp/decl.c:7967
+-#, fuzzy, gcc-internal-format
+-msgid "only declarations of constructors can be %<explicit%>"
+-msgstr "Bya"
+-
+-#: cp/decl.c:7975
+-#, fuzzy, gcc-internal-format
+-msgid "non-member %qs cannot be declared %<mutable%>"
+-msgstr "Igikoresho"
+-
+-#: cp/decl.c:7980
+-#, fuzzy, gcc-internal-format
+-msgid "non-object member %qs cannot be declared %<mutable%>"
+-msgstr "Igikoresho"
+-
+-#: cp/decl.c:7986
+-#, fuzzy, gcc-internal-format
+-msgid "function %qs cannot be declared %<mutable%>"
+-msgstr "Umumaro"
+-
+-#: cp/decl.c:7991
+-#, fuzzy, gcc-internal-format
+-msgid "static %qs cannot be declared %<mutable%>"
+-msgstr "Umumaro"
+-
+-#: cp/decl.c:7996
+-#, fuzzy, gcc-internal-format
+-msgid "const %qs cannot be declared %<mutable%>"
+-msgstr "Umumaro"
+-
+-#: cp/decl.c:8028
+-#, fuzzy, gcc-internal-format
+-msgid "%Jtypedef name may not be a nested-name-specifier"
+-msgstr "Izina: Gicurasi OYA ishuri"
+-
+-#: cp/decl.c:8044
+-#, fuzzy, gcc-internal-format
+-msgid "ISO C++ forbids nested type %qD with same name as enclosing class"
+-msgstr "C Ubwoko Na: Izina: Nka ishuri"
+-
+-#: cp/decl.c:8134
+-#, fuzzy, gcc-internal-format
+-msgid "qualified function types cannot be used to declare %s functions"
+-msgstr "Umumaro Garuka Ubwoko Umumaro"
+-
+-#: cp/decl.c:8160
+-#, fuzzy, gcc-internal-format
+-msgid "type qualifiers specified for friend class declaration"
+-msgstr "Ubwoko kugirango ishuri"
+-
+-#: cp/decl.c:8165
+-#, fuzzy, gcc-internal-format
+-msgid "%<inline%> specified for friend class declaration"
+-msgstr "`kugirango ishuri"
+-
+-#: cp/decl.c:8173
+-#, fuzzy, gcc-internal-format
+-msgid "template parameters cannot be friends"
+-msgstr "Inyandikorugero Ibigenga"
+-
+-#: cp/decl.c:8175
+-#, fuzzy, gcc-internal-format
+-msgid "friend declaration requires class-key, i.e. %<friend class %T::%D%>"
+-msgstr "E."
+-
+-#: cp/decl.c:8179
+-#, fuzzy, gcc-internal-format
+-msgid "friend declaration requires class-key, i.e. %<friend %#T%>"
+-msgstr "E."
+-
+-#: cp/decl.c:8192
+-#, fuzzy, gcc-internal-format
+-msgid "trying to make class %qT a friend of global scope"
+-msgstr "Kuri Ubwoko ishuri a Bya Ingano:"
+-
+-#: cp/decl.c:8203
+-#, fuzzy, gcc-internal-format
+-msgid "invalid qualifiers on non-member function type"
+-msgstr "Sibyo ku Umumaro Ubwoko"
+-
+-#: cp/decl.c:8218
+-#, fuzzy, gcc-internal-format
+-msgid "abstract declarator %qT used as declaration"
+-msgstr "Incamake Nka"
+-
+-#: cp/decl.c:8247
+-#, fuzzy, gcc-internal-format
+-msgid "cannot use %<::%> in parameter declaration"
+-msgstr "Gukoresha in"
+-
+-#. Something like struct S { int N::j; };
+-#: cp/decl.c:8293
+-#, fuzzy, gcc-internal-format
+-msgid "invalid use of %<::%>"
+-msgstr "Sibyo Gukoresha Bya"
+-
+-#: cp/decl.c:8308
+-#, fuzzy, gcc-internal-format
+-msgid "can't make %qD into a method -- not in a class"
+-msgstr "Ubwoko a Uburyo OYA in a ishuri"
+-
+-#: cp/decl.c:8317
+-#, fuzzy, gcc-internal-format
+-msgid "function %qD declared virtual inside a union"
+-msgstr "Umumaro Kitaboneka Mo Imbere a Ihuza"
+-
+-#: cp/decl.c:8326
+-#, fuzzy, gcc-internal-format
+-msgid "%qD cannot be declared virtual, since it is always static"
+-msgstr "`%D'Kitaboneka guhera ni Buri gihe"
+-
+-#: cp/decl.c:8342
+-#, fuzzy, gcc-internal-format
+-msgid "expected qualified name in friend declaration for destructor %qD"
+-msgstr "OYA ku Bya Mukoresha"
+-
+-#: cp/decl.c:8352
+-#, fuzzy, gcc-internal-format
+-msgid "declaration of %qD as member of %qT"
+-msgstr "Bya a Bya"
+-
+-#: cp/decl.c:8428
+-#, fuzzy, gcc-internal-format
+-msgid "field %qD has incomplete type"
+-msgstr "Umwanya Ubwoko"
+-
+-#: cp/decl.c:8430
+-#, fuzzy, gcc-internal-format
+-msgid "name %qT has incomplete type"
+-msgstr "Izina: Ubwoko"
+-
+-#: cp/decl.c:8439
+-#, fuzzy, gcc-internal-format
+-msgid " in instantiation of template %qT"
+-msgstr "in Bya Inyandikorugero"
+-
+-#: cp/decl.c:8448
+-#, fuzzy, gcc-internal-format
+-msgid "%qE is neither function nor member function; cannot be declared friend"
+-msgstr "`%s'ni Umumaro Umumaro"
+-
+-#. An attempt is being made to initialize a non-static
+-#. member. But, from [class.mem]:
+-#.
+-#. 4 A member-declarator can contain a
+-#. constant-initializer only if it declares a static
+-#. member (_class.static_) of integral or enumeration
+-#. type, see _class.static.data_.
+-#.
+-#. This used to be relatively common practice, but
+-#. the rest of the compiler does not correctly
+-#. handle the initialization unless the member is
+-#. static so we make it static below.
+-#: cp/decl.c:8500
+-#, fuzzy, gcc-internal-format
+-msgid "ISO C++ forbids initialization of member %qD"
+-msgstr "C Bya"
+-
+-#: cp/decl.c:8502
+-#, gcc-internal-format
+-msgid "making %qD static"
+-msgstr ""
+-
+-#: cp/decl.c:8572
+-#, fuzzy, gcc-internal-format
+-msgid "storage class %<auto%> invalid for function %qs"
+-msgstr "ishuri Sibyo kugirango Umumaro"
+-
+-#: cp/decl.c:8574
+-#, fuzzy, gcc-internal-format
+-msgid "storage class %<register%> invalid for function %qs"
+-msgstr "ishuri Sibyo kugirango Umumaro"
+-
+-#: cp/decl.c:8576
+-#, fuzzy, gcc-internal-format
+-msgid "storage class %<__thread%> invalid for function %qs"
+-msgstr "ishuri Sibyo kugirango Umumaro"
+-
+-#: cp/decl.c:8587
+-#, fuzzy, gcc-internal-format
+-msgid "%<static%> specified invalid for function %qs declared out of global scope"
+-msgstr "ishuri Sibyo kugirango Umumaro Inyuma Bya Ingano:"
+-
+-#: cp/decl.c:8590
+-#, fuzzy, gcc-internal-format
+-msgid "%<inline%> specifier invalid for function %qs declared out of global scope"
+-msgstr "ishuri Sibyo kugirango Umumaro Inyuma Bya Ingano:"
+-
+-#: cp/decl.c:8598
+-#, fuzzy, gcc-internal-format
+-msgid "virtual non-class function %qs"
+-msgstr "Kitaboneka ishuri Umumaro"
+-
+-#: cp/decl.c:8629
+-#, fuzzy, gcc-internal-format
+-msgid "cannot declare member function %qD to have static linkage"
+-msgstr "Umumaro Kuri"
+-
+-#. FIXME need arm citation
+-#: cp/decl.c:8636
+-#, fuzzy, gcc-internal-format
+-msgid "cannot declare static function inside another function"
+-msgstr "Umumaro Mo Imbere Umumaro"
+-
+-#: cp/decl.c:8666
+-#, fuzzy, gcc-internal-format
+-msgid "%<static%> may not be used when defining (as opposed to declaring) a static data member"
+-msgstr "`Gicurasi OYA Ryari: Nka Kuri a Ibyatanzwe"
+-
+-#: cp/decl.c:8673
+-#, fuzzy, gcc-internal-format
+-msgid "static member %qD declared %<register%>"
+-msgstr "Umumaro Na: Ubwoko"
+-
+-#: cp/decl.c:8678
+-#, fuzzy, gcc-internal-format
+-msgid "cannot explicitly declare member %q#D to have extern linkage"
+-msgstr "Kuri"
+-
+-#: cp/decl.c:8816
+-#, fuzzy, gcc-internal-format
+-msgid "default argument for %q#D has type %qT"
+-msgstr "Mburabuzi kugirango Ubwoko"
+-
+-#: cp/decl.c:8819
+-#, fuzzy, gcc-internal-format
+-msgid "default argument for parameter of type %qT has type %qT"
+-msgstr "Mburabuzi kugirango Bya Ubwoko Ubwoko"
+-
+-#: cp/decl.c:8836
+-#, fuzzy, gcc-internal-format
+-msgid "default argument %qE uses local variable %qD"
+-msgstr "Mburabuzi IMPINDURAGACIRO"
+-
+-#: cp/decl.c:8905
+-#, fuzzy, gcc-internal-format
+-msgid "parameter %qD invalidly declared method type"
+-msgstr "Uburyo Ubwoko"
+-
+-#: cp/decl.c:8929
+-#, fuzzy, gcc-internal-format
+-msgid "parameter %qD includes %s to array of unknown bound %qT"
+-msgstr "Kuri Imbonerahamwe Bya Kitazwi"
+-
+-#. [class.copy]
+-#.
+-#. A declaration of a constructor for a class X is ill-formed if
+-#. its first parameter is of type (optionally cv-qualified) X
+-#. and either there are no other parameters or else all other
+-#. parameters have default arguments.
+-#.
+-#. We *don't* complain about member template instantiations that
+-#. have this form, though; they can occur as we try to decide
+-#. what constructor to use during overload resolution. Since
+-#. overload resolution will never prefer such a constructor to
+-#. the non-template copy constructor (which is either explicitly
+-#. or implicitly defined), there's no need to worry about their
+-#. existence. Theoretically, they should never even be
+-#. instantiated, but that's hard to forestall.
+-#: cp/decl.c:9097
+-#, fuzzy, gcc-internal-format
+-msgid "invalid constructor; you probably meant %<%T (const %T&)%>"
+-msgstr "Sibyo"
+-
+-#: cp/decl.c:9219
+-#, fuzzy, gcc-internal-format
+-msgid "%qD may not be declared within a namespace"
+-msgstr "`%D'OYA in iyi Ingano:"
+-
+-#: cp/decl.c:9224
+-#, fuzzy, gcc-internal-format
+-msgid "%qD may not be declared as static"
+-msgstr "`%D'OYA in iyi Ingano:"
+-
+-#: cp/decl.c:9247
+-#, fuzzy, gcc-internal-format
+-msgid "%qD must be a nonstatic member function"
+-msgstr "`%D'a Umumaro"
+-
+-#: cp/decl.c:9256
+-#, fuzzy, gcc-internal-format
+-msgid "%qD must be either a non-static member function or a non-member function"
+-msgstr "`%D'a Umumaro Cyangwa a Umumaro"
+-
+-#: cp/decl.c:9277
+-#, fuzzy, gcc-internal-format
+-msgid "%qD must have an argument of class or enumerated type"
+-msgstr "`%D'Bya ishuri Cyangwa Ubwoko"
+-
+-#: cp/decl.c:9318
+-#, fuzzy, gcc-internal-format
+-msgid "conversion to %s%s will never use a type conversion operator"
+-msgstr "Ihindurangero Kuri Nta narimwe Gukoresha a Ubwoko Ihindurangero Mukoresha"
+-
+-#. 13.4.0.3
+-#: cp/decl.c:9326
+-#, fuzzy, gcc-internal-format
+-msgid "ISO C++ prohibits overloading operator ?:"
+-msgstr "C Mukoresha"
+-
+-#: cp/decl.c:9331
+-#, fuzzy, gcc-internal-format
+-msgid "%qD must not have variable number of arguments"
+-msgstr "`%D'Cyangwa ingingo"
+-
+-#: cp/decl.c:9382
+-#, fuzzy, gcc-internal-format
+-msgid "postfix %qD must take %<int%> as its argument"
+-msgstr "Nka"
+-
+-#: cp/decl.c:9385
+-#, fuzzy, gcc-internal-format
+-msgid "postfix %qD must take %<int%> as its second argument"
+-msgstr "Nka ISEGONDA"
+-
+-#: cp/decl.c:9393
+-#, fuzzy, gcc-internal-format
+-msgid "%qD must take either zero or one argument"
+-msgstr "`%D'Zeru Cyangwa"
+-
+-#: cp/decl.c:9395
+-#, fuzzy, gcc-internal-format
+-msgid "%qD must take either one or two arguments"
+-msgstr "`%D'Cyangwa ingingo"
+-
+-#: cp/decl.c:9417
+-#, fuzzy, gcc-internal-format
+-msgid "prefix %qD should return %qT"
+-msgstr "Imbanziriza Garuka"
+-
+-#: cp/decl.c:9423
+-#, fuzzy, gcc-internal-format
+-msgid "postfix %qD should return %qT"
+-msgstr "Garuka"
+-
+-#: cp/decl.c:9432
+-#, gcc-internal-format
+-msgid "%qD must take %<void%>"
+-msgstr ""
+-
+-#: cp/decl.c:9434 cp/decl.c:9443
+-#, fuzzy, gcc-internal-format
+-msgid "%qD must take exactly one argument"
+-msgstr "`%D'ingingo"
+-
+-#: cp/decl.c:9445
+-#, fuzzy, gcc-internal-format
+-msgid "%qD must take exactly two arguments"
+-msgstr "`%D'ingingo"
+-
+-#: cp/decl.c:9454
+-#, fuzzy, gcc-internal-format
+-msgid "user-defined %qD always evaluates both arguments"
+-msgstr "Ukoresha: Buri gihe Byombi ingingo"
+-
+-#: cp/decl.c:9468
+-#, fuzzy, gcc-internal-format
+-msgid "%qD should return by value"
+-msgstr "`%D'Garuka ku Agaciro"
+-
+-#: cp/decl.c:9480 cp/decl.c:9484
+-#, fuzzy, gcc-internal-format
+-msgid "%qD cannot have default arguments"
+-msgstr "`%D'Mburabuzi ingingo"
+-
+-#: cp/decl.c:9542
+-#, fuzzy, gcc-internal-format
+-msgid "using template type parameter %qT after %qs"
+-msgstr "ikoresha Inyandikorugero Ubwoko Nyuma"
+-
+-#: cp/decl.c:9557
+-#, fuzzy, gcc-internal-format
+-msgid "using typedef-name %qD after %qs"
+-msgstr "ikoresha Izina: Nyuma"
+-
+-#: cp/decl.c:9558
+-#, fuzzy, gcc-internal-format
+-msgid "%q+D has a previous declaration here"
+-msgstr "iyi ni a Ibanjirije"
+-
+-#: cp/decl.c:9566
+-#, gcc-internal-format
+-msgid "%qT referred to as %qs"
+-msgstr ""
+-
+-#: cp/decl.c:9567 cp/decl.c:9574
+-#, fuzzy, gcc-internal-format
+-msgid "%q+T has a previous declaration here"
+-msgstr "iyi ni a Ibanjirije"
+-
+-#: cp/decl.c:9573
+-#, gcc-internal-format
+-msgid "%qT referred to as enum"
+-msgstr ""
+-
+-#. If a class template appears as elaborated type specifier
+-#. without a template header such as:
+-#.
+-#. template <class T> class C {};
+-#. void f(class C); // No template header here
+-#.
+-#. then the required template argument is missing.
+-#: cp/decl.c:9588
+-#, fuzzy, gcc-internal-format
+-msgid "template argument required for %<%s %T%>"
+-msgstr "Inyandikorugero ni Bya ngombwa kugirango"
+-
+-#: cp/decl.c:9636 cp/name-lookup.c:2658
+-#, gcc-internal-format
+-msgid "%qD has the same name as the class in which it is declared"
+-msgstr ""
+-
+-#: cp/decl.c:9774
+-#, fuzzy, gcc-internal-format
+-msgid "use of enum %q#D without previous declaration"
+-msgstr "Gukoresha Bya Ibanjirije"
+-
+-#: cp/decl.c:9795
+-#, fuzzy, gcc-internal-format
+-msgid "redeclaration of %qT as a non-template"
+-msgstr "a Inyandikorugero Umumaro"
+-
+-#: cp/decl.c:9796 cp/pt.c:3373
+-#, fuzzy, gcc-internal-format
+-msgid "previous declaration %q+D"
+-msgstr "Ibanjirije"
+-
+-#: cp/decl.c:9907
+-#, fuzzy, gcc-internal-format
+-msgid "derived union %qT invalid"
+-msgstr "Ihuza Sibyo"
+-
+-#: cp/decl.c:9916
+-#, gcc-internal-format
+-msgid "Java class %qT cannot have multiple bases"
+-msgstr ""
+-
+-#: cp/decl.c:9927
+-#, gcc-internal-format
+-msgid "Java class %qT cannot have virtual bases"
+-msgstr ""
+-
+-#: cp/decl.c:9948
+-#, fuzzy, gcc-internal-format
+-msgid "base type %qT fails to be a struct or class type"
+-msgstr "SHINGIRO Ubwoko Kuri a Cyangwa ishuri Ubwoko"
+-
+-#: cp/decl.c:9981
+-#, fuzzy, gcc-internal-format
+-msgid "recursive type %qT undefined"
+-msgstr "Ubwoko kidasobanuye"
+-
+-#: cp/decl.c:9983
+-#, fuzzy, gcc-internal-format
+-msgid "duplicate base type %qT invalid"
+-msgstr "Gusubiramo SHINGIRO Ubwoko Sibyo"
+-
+-#: cp/decl.c:10055
+-#, fuzzy, gcc-internal-format
+-msgid "multiple definition of %q#T"
+-msgstr "Igikubo Insobanuro Bya"
+-
+-#: cp/decl.c:10056
+-#, fuzzy, gcc-internal-format
+-msgid "%Jprevious definition here"
+-msgstr "Ibanjirije Insobanuro"
+-
+-#. DR 377
+-#.
+-#. IF no integral type can represent all the enumerator values, the
+-#. enumeration is ill-formed.
+-#: cp/decl.c:10195
+-#, gcc-internal-format
+-msgid "no integral type can represent all of the enumerator values for %qT"
+-msgstr ""
+-
+-#: cp/decl.c:10306
+-#, fuzzy, gcc-internal-format
+-msgid "enumerator value for %qD not integer constant"
+-msgstr "Agaciro kugirango OYA Umubare wuzuye"
+-
+-#: cp/decl.c:10334
+-#, fuzzy, gcc-internal-format
+-msgid "overflow in enumeration values at %qD"
+-msgstr "Byarenze urugero in Uduciro ku"
+-
+-#: cp/decl.c:10409
+-#, fuzzy, gcc-internal-format
+-msgid "return type %q#T is incomplete"
+-msgstr "Garuka Ubwoko ni"
+-
+-#: cp/decl.c:10519 cp/typeck.c:6579
+-#, fuzzy, gcc-internal-format
+-msgid "%<operator=%> should return a reference to %<*this%>"
+-msgstr "`Mukoresha Garuka a Indango Kuri"
+-
+-#: cp/decl.c:10877
+-#, fuzzy, gcc-internal-format
+-msgid "parameter %qD declared void"
+-msgstr "IMPINDURAGACIRO Cyangwa Umwanya"
+-
+-#: cp/decl.c:11358
+-#, fuzzy, gcc-internal-format
+-msgid "invalid member function declaration"
+-msgstr "Sibyo Inyandikorugero"
+-
+-#: cp/decl.c:11373
+-#, fuzzy, gcc-internal-format
+-msgid "%qD is already defined in class %qT"
+-msgstr "`%D'ni in ishuri"
+-
+-#: cp/decl.c:11582
+-#, fuzzy, gcc-internal-format
+-msgid "static member function %q#D declared with type qualifiers"
+-msgstr "Umumaro Na: Ubwoko"
+-
+-#: cp/decl2.c:268
+-#, fuzzy, gcc-internal-format
+-msgid "name missing for member function"
+-msgstr "Izina: Ibuze kugirango Umumaro"
+-
+-#: cp/decl2.c:339 cp/decl2.c:353
+-#, fuzzy, gcc-internal-format
+-msgid "ambiguous conversion for array subscript"
+-msgstr "Ihindurangero kugirango Imbonerahamwe Inyandiko nyesi"
+-
+-#: cp/decl2.c:347
+-#, fuzzy, gcc-internal-format
+-msgid "invalid types %<%T[%T]%> for array subscript"
+-msgstr "Sibyo kugirango Imbonerahamwe Inyandiko nyesi"
+-
+-#: cp/decl2.c:390
+-#, fuzzy, gcc-internal-format
+-msgid "deleting array %q#D"
+-msgstr "Imbonerahamwe"
+-
+-#: cp/decl2.c:396
+-#, fuzzy, gcc-internal-format
+-msgid "type %q#T argument given to %<delete%>, expected pointer"
+-msgstr "Ubwoko Kuri Ikitezwe: Mweretsi"
+-
+-#: cp/decl2.c:408
+-#, fuzzy, gcc-internal-format
+-msgid "cannot delete a function. Only pointer-to-objects are valid arguments to %<delete%>"
+-msgstr "Gusiba a Umumaro Mweretsi Kuri Ibintu Byemewe ingingo Kuri"
+-
+-#: cp/decl2.c:416
+-#, fuzzy, gcc-internal-format
+-msgid "deleting %qT is undefined"
+-msgstr "ni kidasobanuye"
+-
+-#: cp/decl2.c:459 cp/pt.c:3116
+-#, fuzzy, gcc-internal-format
+-msgid "template declaration of %q#D"
+-msgstr "Inyandikorugero Bya"
+-
+-#: cp/decl2.c:511
+-#, fuzzy, gcc-internal-format
+-msgid "Java method %qD has non-Java return type %qT"
+-msgstr "Uburyo Garuka Ubwoko"
+-
+-#: cp/decl2.c:528
+-#, fuzzy, gcc-internal-format
+-msgid "Java method %qD has non-Java parameter type %qT"
+-msgstr "Uburyo Ubwoko"
+-
+-#: cp/decl2.c:639
+-#, fuzzy, gcc-internal-format
+-msgid "prototype for %q#D does not match any in class %qT"
+-msgstr "kugirango OYA BIHUYE in ishuri"
+-
+-#: cp/decl2.c:726
+-#, fuzzy, gcc-internal-format
+-msgid "local class %q#T shall not have static data member %q#D"
+-msgstr "ishuri OYA Ibyatanzwe"
+-
+-#: cp/decl2.c:734
+-#, fuzzy, gcc-internal-format
+-msgid "initializer invalid for static member with constructor"
+-msgstr "Sibyo kugirango Na:"
+-
+-#: cp/decl2.c:737
+-#, fuzzy, gcc-internal-format
+-msgid "(an out of class initialization is required)"
+-msgstr "(Inyuma Bya ishuri ni Bya ngombwa"
+-
+-#: cp/decl2.c:797
+-#, fuzzy, gcc-internal-format
+-msgid "member %qD conflicts with virtual function table field name"
+-msgstr "Na: Kitaboneka Umumaro imbonerahamwe# Umwanya Izina:"
+-
+-#: cp/decl2.c:816
+-#, gcc-internal-format
+-msgid "applying attributes to template parameters is not implemented"
+-msgstr ""
+-
+-#: cp/decl2.c:826
+-#, fuzzy, gcc-internal-format
+-msgid "%qD is already defined in %qT"
+-msgstr "`%D'ni in"
+-
+-#: cp/decl2.c:847
+-#, fuzzy, gcc-internal-format
+-msgid "initializer specified for static member function %qD"
+-msgstr "kugirango Umumaro"
+-
+-#: cp/decl2.c:870
+-#, fuzzy, gcc-internal-format
+-msgid "field initializer is not constant"
+-msgstr "Umwanya ni OYA"
+-
+-#: cp/decl2.c:897
+-#, fuzzy, gcc-internal-format
+-msgid "%<asm%> specifiers are not permitted on non-static data members"
+-msgstr "`OYA ku Ibyatanzwe"
+-
+-#: cp/decl2.c:948
+-#, fuzzy, gcc-internal-format
+-msgid "bit-field %qD with non-integral type"
+-msgstr "Umwanya Na: Umubare Wuzuye Ubwoko"
+-
+-#: cp/decl2.c:954
+-#, fuzzy, gcc-internal-format
+-msgid "cannot declare %qD to be a bit-field type"
+-msgstr "Kuri a Umwanya Ubwoko"
+-
+-#: cp/decl2.c:964
+-#, fuzzy, gcc-internal-format
+-msgid "cannot declare bit-field %qD with function type"
+-msgstr "Umwanya Na: Umumaro Ubwoko"
+-
+-#: cp/decl2.c:971
+-#, fuzzy, gcc-internal-format
+-msgid "%qD is already defined in the class %qT"
+-msgstr "`%D'ni in i ishuri"
+-
+-#: cp/decl2.c:978
+-#, fuzzy, gcc-internal-format
+-msgid "static member %qD cannot be a bit-field"
+-msgstr "a Umwanya"
+-
+-#: cp/decl2.c:1024
+-#, fuzzy, gcc-internal-format
+-msgid "anonymous struct not inside named type"
+-msgstr "OYA Mo Imbere Ubwoko"
+-
+-#: cp/decl2.c:1107
+-#, fuzzy, gcc-internal-format
+-msgid "namespace-scope anonymous aggregates must be static"
+-msgstr "Ingano:"
+-
+-#: cp/decl2.c:1116
+-#, fuzzy, gcc-internal-format
+-msgid "anonymous union with no members"
+-msgstr "Na: Oya"
+-
+-#: cp/decl2.c:1152
+-#, fuzzy, gcc-internal-format
+-msgid "%<operator new%> must return type %qT"
+-msgstr "`Mukoresha Garuka Ubwoko"
+-
+-#: cp/decl2.c:1161
+-#, fuzzy, gcc-internal-format
+-msgid "%<operator new%> takes type %<size_t%> (%qT) as first parameter"
+-msgstr "`Mukoresha Ubwoko Nka Itangira"
+-
+-#: cp/decl2.c:1190
+-#, fuzzy, gcc-internal-format
+-msgid "%<operator delete%> must return type %qT"
+-msgstr "`Mukoresha Garuka Ubwoko"
+-
+-#: cp/decl2.c:1199
+-#, fuzzy, gcc-internal-format
+-msgid "%<operator delete%> takes type %qT as first parameter"
+-msgstr "`Mukoresha Ubwoko Nka Itangira"
+-
+-#: cp/decl2.c:1862
+-#, gcc-internal-format
+-msgid "%qT has a field %qD whose type uses the anonymous namespace"
+-msgstr ""
+-
+-#: cp/decl2.c:1868
+-#, gcc-internal-format
+-msgid "%qT declared with greater visibility than the type of its field %qD"
+-msgstr ""
+-
+-#: cp/decl2.c:1879
+-#, gcc-internal-format
+-msgid "%qT has a base %qT whose type uses the anonymous namespace"
+-msgstr ""
+-
+-#: cp/decl2.c:1884
+-#, gcc-internal-format
+-msgid "%qT declared with greater visibility than its base %qT"
+-msgstr ""
+-
+-#: cp/decl2.c:3308
+-#, fuzzy, gcc-internal-format
+-msgid "inline function %q+D used but never defined"
+-msgstr "Mumurongo Umumaro Nta narimwe"
+-
+-#: cp/decl2.c:3462
+-#, fuzzy, gcc-internal-format
+-msgid "default argument missing for parameter %P of %q+#D"
+-msgstr "Mburabuzi Ibuze kugirango Bya"
+-
+-#. Can't throw a reference.
+-#: cp/except.c:267
+-#, fuzzy, gcc-internal-format
+-msgid "type %qT is disallowed in Java %<throw%> or %<catch%>"
+-msgstr "Ubwoko ni in Cyangwa"
+-
+-#: cp/except.c:278
+-#, fuzzy, gcc-internal-format
+-msgid "call to Java %<catch%> or %<throw%> with %<jthrowable%> undefined"
+-msgstr "Kuri Cyangwa Na: kidasobanuye"
+-
+-#. Thrown object must be a Throwable.
+-#: cp/except.c:285
+-#, fuzzy, gcc-internal-format
+-msgid "type %qT is not derived from %<java::lang::Throwable%>"
+-msgstr "Ubwoko ni OYA Bivuye java"
+-
+-#: cp/except.c:348
+-#, fuzzy, gcc-internal-format
+-msgid "mixing C++ and Java catches in a single translation unit"
+-msgstr "C Na in a UMWE Umwandiko wahinduwe ururimi Igice:"
+-
+-#: cp/except.c:614
+-#, fuzzy, gcc-internal-format
+-msgid "throwing NULL, which has integral, not pointer type"
+-msgstr "Umubare Wuzuye OYA Mweretsi Ubwoko"
+-
+-#: cp/except.c:637 cp/init.c:1723
+-#, fuzzy, gcc-internal-format
+-msgid "%qD should never be overloaded"
+-msgstr "`%D'Garuka ku Agaciro"
+-
+-#: cp/except.c:720
+-#, fuzzy, gcc-internal-format
+-msgid " in thrown expression"
+-msgstr "in imvugo"
+-
+-#: cp/except.c:876
+-#, fuzzy, gcc-internal-format
+-msgid "expression %qE of abstract class type %qT cannot be used in throw-expression"
+-msgstr "imvugo Bya Incamake ishuri Ubwoko in imvugo"
+-
+-#: cp/except.c:961
+-#, fuzzy, gcc-internal-format
+-msgid "%Hexception of type %qT will be caught"
+-msgstr "Irengayobora(-) Bya Ubwoko"
+-
+-#: cp/except.c:963
+-#, fuzzy, gcc-internal-format
+-msgid "%H by earlier handler for %qT"
+-msgstr "ku kugirango"
+-
+-#: cp/except.c:993
+-#, fuzzy, gcc-internal-format
+-msgid "%H%<...%> handler must be the last handler for its try block"
+-msgstr "`...'i Iheruka kugirango Funga"
+-
+-#: cp/friend.c:157
+-#, fuzzy, gcc-internal-format
+-msgid "%qD is already a friend of class %qT"
+-msgstr "`%D'ni a Bya ishuri"
+-
+-#: cp/friend.c:233
+-#, fuzzy, gcc-internal-format
+-msgid "invalid type %qT declared %<friend%>"
+-msgstr "Sibyo Ubwoko"
+-
+-#. [temp.friend]
+-#. Friend declarations shall not declare partial
+-#. specializations.
+-#. template <class U> friend class T::X<U>;
+-#. [temp.friend]
+-#. Friend declarations shall not declare partial
+-#. specializations.
+-#: cp/friend.c:249 cp/friend.c:279
+-#, fuzzy, gcc-internal-format
+-msgid "partial specialization %qT declared %<friend%>"
+-msgstr "Bituzuye"
+-
+-#: cp/friend.c:257
+-#, fuzzy, gcc-internal-format
+-msgid "class %qT is implicitly friends with itself"
+-msgstr "ishuri ni Na:"
+-
+-#: cp/friend.c:315
+-#, fuzzy, gcc-internal-format
+-msgid "%qT is not a member of %qT"
+-msgstr "`%D'ni OYA a Bya"
+-
+-#: cp/friend.c:320
+-#, fuzzy, gcc-internal-format
+-msgid "%qT is not a member class template of %qT"
+-msgstr "`%D'ni OYA a Inyandikorugero Umumaro"
+-
+-#: cp/friend.c:328
+-#, fuzzy, gcc-internal-format
+-msgid "%qT is not a nested class of %qT"
+-msgstr "`%D'ni OYA a Bya"
+-
+-#. template <class T> friend class T;
+-#: cp/friend.c:341
+-#, fuzzy, gcc-internal-format
+-msgid "template parameter type %qT declared %<friend%>"
+-msgstr "Inyandikorugero Ubwoko"
+-
+-#. template <class T> friend class A; where A is not a template
+-#: cp/friend.c:347
+-#, fuzzy, gcc-internal-format
+-msgid "%q#T is not a template"
+-msgstr "`%#T'ni OYA a Inyandikorugero"
+-
+-#: cp/friend.c:369
+-#, fuzzy, gcc-internal-format
+-msgid "%qD is already a friend of %qT"
+-msgstr "`%T'ni a Bya"
+-
+-#: cp/friend.c:378
+-#, fuzzy, gcc-internal-format
+-msgid "%qT is already a friend of %qT"
+-msgstr "`%T'ni a Bya"
+-
+-#: cp/friend.c:495
+-#, fuzzy, gcc-internal-format
+-msgid "member %qD declared as friend before type %qT defined"
+-msgstr "Nka Mbere Ubwoko"
+-
+-#: cp/friend.c:551
+-#, fuzzy, gcc-internal-format
+-msgid "friend declaration %q#D declares a non-template function"
+-msgstr "a Inyandikorugero Umumaro"
+-
+-#: cp/friend.c:555
+-#, fuzzy, 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) -Wno-non-template-friend disables this warning"
+-msgstr "(NIBA iyi ni OYA Ubwoko i Umumaro Inyandikorugero Na Kongeramo Nyuma i Umumaro Izina: Inyandikorugero iyi Iburira"
+-
+-#: cp/init.c:334
+-#, fuzzy, gcc-internal-format
+-msgid "%J%qD should be initialized in the member initialization list"
+-msgstr "`%D'in i Urutonde"
+-
+-#: cp/init.c:382
+-#, fuzzy, gcc-internal-format
+-msgid "%Jdefault-initialization of %q#D, which has reference type"
+-msgstr "Mburabuzi Bya Indango Ubwoko"
+-
+-#: cp/init.c:388
+-#, fuzzy, gcc-internal-format
+-msgid "%Juninitialized reference member %qD"
+-msgstr "Itatangijwe Indango"
+-
+-#: cp/init.c:391
+-#, gcc-internal-format
+-msgid "%Juninitialized member %qD with %<const%> type %qT"
+-msgstr ""
+-
+-#: cp/init.c:534
+-#, fuzzy, gcc-internal-format
+-msgid "%q+D will be initialized after"
+-msgstr "`%D'Nyuma"
+-
+-#: cp/init.c:537
+-#, fuzzy, gcc-internal-format
+-msgid "base %qT will be initialized after"
+-msgstr "SHINGIRO Nyuma"
+-
+-# desktop/source\app\ssodlg.src:DLG_SSOLOGIN.text
+-#: cp/init.c:540
+-#, fuzzy, gcc-internal-format
+-msgid " %q+#D"
+-msgstr "`%#D'"
+-
+-# sc/source\core\src\compiler.src:RID_SC_FUNCTION_NAMES.SC_OPCODE_BASE.text
+-#: cp/init.c:542
+-#, fuzzy, gcc-internal-format
+-msgid " base %qT"
+-msgstr "SHINGIRO"
+-
+-#: cp/init.c:543
+-#, fuzzy, gcc-internal-format
+-msgid "%J when initialized here"
+-msgstr "`%D'Nyuma"
+-
+-#: cp/init.c:559
+-#, fuzzy, gcc-internal-format
+-msgid "%Jmultiple initializations given for %qD"
+-msgstr "Igikubo kugirango"
+-
+-#: cp/init.c:562
+-#, fuzzy, gcc-internal-format
+-msgid "%Jmultiple initializations given for base %qT"
+-msgstr "Igikubo kugirango SHINGIRO"
+-
+-#: cp/init.c:629
+-#, fuzzy, gcc-internal-format
+-msgid "%Jinitializations for multiple members of %qT"
+-msgstr "kugirango Igikubo Bya"
+-
+-#: cp/init.c:691
+-#, fuzzy, gcc-internal-format
+-msgid "%Jbase class %q#T should be explicitly initialized in the copy constructor"
+-msgstr "SHINGIRO ishuri in i Gukoporora"
+-
+-#: cp/init.c:915 cp/init.c:934
+-#, fuzzy, gcc-internal-format
+-msgid "class %qT does not have any field named %qD"
+-msgstr "ishuri OYA Umwanya"
+-
+-#: cp/init.c:921
+-#, fuzzy, gcc-internal-format
+-msgid "%q#D is a static data member; it can only be initialized at its definition"
+-msgstr "Umwanya ni i Akadomo Bya ni Insobanuro"
+-
+-#: cp/init.c:928
+-#, fuzzy, gcc-internal-format
+-msgid "%q#D is not a non-static data member of %qT"
+-msgstr "`%#D'ni OYA a Bya"
+-
+-#: cp/init.c:967
+-#, fuzzy, gcc-internal-format
+-msgid "unnamed initializer for %qT, which has no base classes"
+-msgstr "Kitiswe kugirango Oya SHINGIRO Inzego"
+-
+-#: cp/init.c:975
+-#, fuzzy, gcc-internal-format
+-msgid "unnamed initializer for %qT, which uses multiple inheritance"
+-msgstr "Kitiswe kugirango Igikubo"
+-
+-#: cp/init.c:1021
+-#, fuzzy, gcc-internal-format
+-msgid "%qD is both a direct base and an indirect virtual base"
+-msgstr "Ubwoko ni OYA a Cyangwa Kitaboneka SHINGIRO Bya"
+-
+-#: cp/init.c:1029
+-#, fuzzy, gcc-internal-format
+-msgid "type %qT is not a direct or virtual base of %qT"
+-msgstr "Ubwoko ni OYA a Cyangwa Kitaboneka SHINGIRO Bya"
+-
+-#: cp/init.c:1032
+-#, fuzzy, gcc-internal-format
+-msgid "type %qT is not a direct base of %qT"
+-msgstr "Ubwoko ni OYA a SHINGIRO Bya"
+-
+-#: cp/init.c:1112
+-#, fuzzy, gcc-internal-format
+-msgid "bad array initializer"
+-msgstr "Imbonerahamwe"
+-
+-#: cp/init.c:1291
+-#, fuzzy, gcc-internal-format
+-msgid "%qT is not an aggregate type"
+-msgstr "`%T'ni OYA Ubwoko"
+-
+-#: cp/init.c:1345
+-#, fuzzy, gcc-internal-format
+-msgid "incomplete type %qT does not have member %qD"
+-msgstr "Ubwoko OYA"
+-
+-#: cp/init.c:1358
+-#, fuzzy, gcc-internal-format
+-msgid "invalid pointer to bit-field %qD"
+-msgstr "Sibyo Mweretsi Kuri Umwanya"
+-
+-#: cp/init.c:1435
+-#, fuzzy, gcc-internal-format
+-msgid "invalid use of non-static member function %qD"
+-msgstr "Sibyo Gukoresha Bya in Umumaro"
+-
+-#: cp/init.c:1441
+-#, fuzzy, gcc-internal-format
+-msgid "invalid use of non-static data member %qD"
+-msgstr "Sibyo Gukoresha Bya Umwanya"
+-
+-#: cp/init.c:1670
+-#, fuzzy, gcc-internal-format
+-msgid "invalid type %<void%> for new"
+-msgstr "Sibyo Ubwoko kugirango Gishya"
+-
+-#: cp/init.c:1680
+-#, fuzzy, gcc-internal-format
+-msgid "uninitialized const in %<new%> of %q#T"
+-msgstr "Itatangijwe in Bya"
+-
+-#: cp/init.c:1718
+-#, fuzzy, gcc-internal-format
+-msgid "call to Java constructor with %qs undefined"
+-msgstr "Kuri Na: kidasobanuye"
+-
+-#: cp/init.c:1758
+-#, fuzzy, gcc-internal-format
+-msgid "no suitable %qD found in class %qT"
+-msgstr "Umwanya OYA Byabonetse in ishuri"
+-
+-#: cp/init.c:1763
+-#, fuzzy, gcc-internal-format
+-msgid "request for member %qD is ambiguous"
+-msgstr "Kubaza... kugirango ni"
+-
+-#: cp/init.c:1905
+-#, fuzzy, gcc-internal-format
+-msgid "ISO C++ forbids initialization in array new"
+-msgstr "C in Imbonerahamwe Gishya"
+-
+-#: cp/init.c:2105
+-#, fuzzy, gcc-internal-format
+-msgid "size in array new must have integral type"
+-msgstr "Ingano in Imbonerahamwe Gishya Umubare Wuzuye Ubwoko"
+-
+-#: cp/init.c:2121
+-#, gcc-internal-format
+-msgid "allocating zero-element array"
+-msgstr ""
+-
+-#: cp/init.c:2129
+-#, fuzzy, gcc-internal-format
+-msgid "new cannot be applied to a reference type"
+-msgstr "Gishya Byashyizweho Kuri a Indango Ubwoko"
+-
+-#: cp/init.c:2135
+-#, fuzzy, gcc-internal-format
+-msgid "new cannot be applied to a function type"
+-msgstr "Gishya Byashyizweho Kuri a Umumaro Ubwoko"
+-
+-#: cp/init.c:2168
+-#, fuzzy, gcc-internal-format
+-msgid "call to Java constructor, while %<jclass%> undefined"
+-msgstr "Kuri kidasobanuye"
+-
+-#: cp/init.c:2186
+-#, fuzzy, gcc-internal-format
+-msgid "can't find %<class$%> in %qT"
+-msgstr "Gushaka ishuri"
+-
+-#: cp/init.c:2545
+-#, gcc-internal-format
+-msgid "initializer ends prematurely"
+-msgstr ""
+-
+-#: cp/init.c:2600
+-#, fuzzy, gcc-internal-format
+-msgid "cannot initialize multi-dimensional array with initializer"
+-msgstr "gutangiza Imbonerahamwe Na:"
+-
+-#: cp/init.c:2737
+-#, gcc-internal-format
+-msgid "possible problem detected in invocation of delete operator:"
+-msgstr ""
+-
+-#: cp/init.c:2740
+-#, gcc-internal-format
+-msgid "neither the destructor nor the class-specific operator delete will be called, even if they are declared when the class is defined."
+-msgstr ""
+-
+-#: cp/init.c:2761
+-#, fuzzy, gcc-internal-format
+-msgid "unknown array size in delete"
+-msgstr "Kitazwi Imbonerahamwe Ingano in Gusiba"
+-
+-#: cp/init.c:3001
+-#, fuzzy, gcc-internal-format
+-msgid "type to vector delete is neither pointer or array type"
+-msgstr "Ubwoko Kuri Gusiba ni Mweretsi Cyangwa Imbonerahamwe Ubwoko"
+-
+-#: cp/lex.c:467
+-#, fuzzy, gcc-internal-format
+-msgid "junk at end of #pragma %s"
+-msgstr "Umwanda ku Impera Bya"
+-
+-#: cp/lex.c:474
+-#, fuzzy, gcc-internal-format
+-msgid "invalid #pragma %s"
+-msgstr "Sibyo"
+-
+-#: cp/lex.c:482
+-#, fuzzy, gcc-internal-format
+-msgid "#pragma vtable no longer supported"
+-msgstr "#Oya"
+-
+-#: cp/lex.c:561
+-#, fuzzy, gcc-internal-format
+-msgid "#pragma implementation for %qs appears after file is included"
+-msgstr "#kugirango Nyuma IDOSIYE ni"
+-
+-#: cp/lex.c:586
+-#, fuzzy, gcc-internal-format
+-msgid "junk at end of #pragma GCC java_exceptions"
+-msgstr "Umwanda ku Impera Bya"
+-
+-#: cp/lex.c:600
+-#, fuzzy, gcc-internal-format
+-msgid "%qD not defined"
+-msgstr "`%D'Bitasobanutse>"
+-
+-#: cp/lex.c:604
+-#, fuzzy, gcc-internal-format
+-msgid "%qD was not declared in this scope"
+-msgstr "`%D'OYA in iyi Ingano:"
+-
+-#. In a template, it is invalid to write "f()" or "f(3)" if no
+-#. declaration of "f" is available. Historically, G++ and most
+-#. other compilers accepted that usage since they deferred all name
+-#. lookup until instantiation time rather than doing unqualified
+-#. name lookup at template definition time; explain to the user what
+-#. is going wrong.
+-#.
+-#. Note that we have the exact wording of the following message in
+-#. the manual (trouble.texi, node "Name lookup"), so they need to
+-#. be kept in synch.
+-#: cp/lex.c:641
+-#, gcc-internal-format
+-msgid "there are no arguments to %qD that depend on a template parameter, so a declaration of %qD must be available"
+-msgstr ""
+-
+-#: cp/lex.c:650
+-#, gcc-internal-format
+-msgid "(if you use %<-fpermissive%>, G++ will accept your code, but allowing the use of an undeclared name is deprecated)"
+-msgstr ""
+-
+-#: cp/mangle.c:2165
+-#, fuzzy, gcc-internal-format
+-msgid "call_expr cannot be mangled due to a defect in the C++ ABI"
+-msgstr "Gishya Byashyizweho Kuri a Umumaro Ubwoko"
+-
+-#: cp/mangle.c:2173
+-#, gcc-internal-format
+-msgid "zero-operand casts cannot be mangled due to a defect in the C++ ABI"
+-msgstr ""
+-
+-#: cp/mangle.c:2223
+-#, gcc-internal-format
+-msgid "omitted middle operand to %<?:%> operand cannot be mangled"
+-msgstr ""
+-
+-#: cp/mangle.c:2533
+-#, fuzzy, gcc-internal-format
+-msgid "the mangled name of %qD will change in a future version of GCC"
+-msgstr "i Izina: Bya Guhindura>> in a Verisiyo Bya"
+-
+-#: cp/method.c:459
+-#, fuzzy, gcc-internal-format
+-msgid "generic thunk code fails for method %q#D which uses %<...%>"
+-msgstr "Gifitanye isano ITEGEKONGENGA kugirango Uburyo"
+-
+-#: cp/method.c:695
+-#, fuzzy, gcc-internal-format
+-msgid "non-static const member %q#D, can't use default assignment operator"
+-msgstr "Gukoresha Mburabuzi Igenera Mukoresha"
+-
+-#: cp/method.c:701
+-#, fuzzy, gcc-internal-format
+-msgid "non-static reference member %q#D, can't use default assignment operator"
+-msgstr "Indango Gukoresha Mburabuzi Igenera Mukoresha"
+-
+-#: cp/method.c:813
+-#, gcc-internal-format
+-msgid "%Hsynthesized method %qD first required here "
+-msgstr ""
+-
+-#: cp/method.c:1148
+-#, fuzzy, gcc-internal-format
+-msgid "vtable layout for class %qT may not be ABI-compliantand may change in a future version of GCC due to implicit virtual destructor"
+-msgstr "Imigaragarire kugirango ishuri Gicurasi OYA Na Gicurasi Guhindura>> in a Verisiyo Bya Kuri Kitaboneka"
+-
+-#: cp/name-lookup.c:712
+-#, fuzzy, gcc-internal-format
+-msgid "redeclaration of %<wchar_t%> as %qT"
+-msgstr "Bya Nka"
+-
+-#. A redeclaration of main, but not a duplicate of the
+-#. previous one.
+-#.
+-#. [basic.start.main]
+-#.
+-#. This function shall not be overloaded.
+-#: cp/name-lookup.c:742
+-#, fuzzy, gcc-internal-format
+-msgid "invalid redeclaration of %q+D"
+-msgstr "Sibyo Bya"
+-
+-# svx/source\dialog\backgrnd.src:RID_SVXPAGE_BACKGROUND.FT_SELECTOR.text
+-#: cp/name-lookup.c:743
+-#, fuzzy, gcc-internal-format
+-msgid "as %qD"
+-msgstr "Nka"
+-
+-#: cp/name-lookup.c:834
+-#, fuzzy, gcc-internal-format
+-msgid "type mismatch with previous external decl of %q#D"
+-msgstr "Ubwoko Na: Ibanjirije external"
+-
+-#: cp/name-lookup.c:835
+-#, fuzzy, gcc-internal-format
+-msgid "previous external decl of %q+#D"
+-msgstr "Ibanjirije external Bya"
+-
+-#: cp/name-lookup.c:926
+-#, fuzzy, gcc-internal-format
+-msgid "extern declaration of %q#D doesn't match"
+-msgstr "Bya BIHUYE"
+-
+-#: cp/name-lookup.c:927
+-#, fuzzy, gcc-internal-format
+-msgid "global declaration %q+#D"
+-msgstr "a"
+-
+-#: cp/name-lookup.c:964 cp/name-lookup.c:971
+-#, fuzzy, gcc-internal-format
+-msgid "declaration of %q#D shadows a parameter"
+-msgstr "Bya a"
+-
+-#. Location of previous decl is not useful in this case.
+-#: cp/name-lookup.c:996
+-#, fuzzy, gcc-internal-format
+-msgid "declaration of %qD shadows a member of 'this'"
+-msgstr "Bya a Bya"
+-
+-#: cp/name-lookup.c:1002
+-#, fuzzy, gcc-internal-format
+-msgid "declaration of %qD shadows a previous local"
+-msgstr "Bya a"
+-
+-#: cp/name-lookup.c:1009
+-#, fuzzy, gcc-internal-format
+-msgid "declaration of %qD shadows a global declaration"
+-msgstr "Bya a"
+-
+-#: cp/name-lookup.c:1132
+-#, fuzzy, gcc-internal-format
+-msgid "name lookup of %qD changed"
+-msgstr "Izina: GUSHAKISHA Bya Byahinduwe"
+-
+-#: cp/name-lookup.c:1133
+-#, fuzzy, gcc-internal-format
+-msgid " matches this %q+D under ISO standard rules"
+-msgstr "iyi Bisanzwe"
+-
+-#: cp/name-lookup.c:1135
+-#, fuzzy, gcc-internal-format
+-msgid " matches this %q+D under old rules"
+-msgstr "iyi ki/ bishaje"
+-
+-#: cp/name-lookup.c:1153 cp/name-lookup.c:1161
+-#, fuzzy, gcc-internal-format
+-msgid "name lookup of %qD changed for new ISO %<for%> scoping"
+-msgstr "Izina: GUSHAKISHA Bya Byahinduwe kugirango Gishya"
+-
+-#: cp/name-lookup.c:1155
+-#, fuzzy, gcc-internal-format
+-msgid " cannot use obsolete binding at %q+D because it has a destructor"
+-msgstr "Gukoresha Bifatanya ku a"
+-
+-#: cp/name-lookup.c:1163
+-#, fuzzy, gcc-internal-format
+-msgid " using obsolete binding at %q+D"
+-msgstr "ikoresha Bifatanya ku"
+-
+-#: cp/name-lookup.c:1216
+-#, gcc-internal-format
+-msgid "%s %s(%E) %p %d\n"
+-msgstr ""
+-
+-#: cp/name-lookup.c:1219
+-#, fuzzy, gcc-internal-format
+-msgid "%s %s %p %d\n"
+-msgstr "%s:%s:"
+-
+-#: cp/name-lookup.c:1346
+-#, gcc-internal-format
+-msgid "XXX is_class_level != (current_scope == class_scope)\n"
+-msgstr ""
+-
+-#: cp/name-lookup.c:1909
+-#, fuzzy, gcc-internal-format
+-msgid "%q#D hides constructor for %q#T"
+-msgstr "`%#D'kugirango"
+-
+-#: cp/name-lookup.c:1926
+-#, fuzzy, gcc-internal-format
+-msgid "%q#D conflicts with previous using declaration %q#D"
+-msgstr "`%#D'Na: Ibanjirije ikoresha"
+-
+-#: cp/name-lookup.c:1949
+-#, fuzzy, gcc-internal-format
+-msgid "previous non-function declaration %q+#D"
+-msgstr "Ibanjirije Umumaro"
+-
+-#: cp/name-lookup.c:1950
+-#, fuzzy, gcc-internal-format
+-msgid "conflicts with function declaration %q#D"
+-msgstr "Na: Umumaro"
+-
+-#. It's a nested name with template parameter dependent scope.
+-#. This can only be using-declaration for class member.
+-#: cp/name-lookup.c:2028 cp/name-lookup.c:2053
+-#, fuzzy, gcc-internal-format
+-msgid "%qT is not a namespace"
+-msgstr "`%T'ni OYA a"
+-
+-#. 7.3.3/5
+-#. A using-declaration shall not name a template-id.
+-#: cp/name-lookup.c:2038
+-#, fuzzy, gcc-internal-format
+-msgid "a using-declaration cannot specify a template-id. Try %<using %D%>"
+-msgstr "a ikoresha a Inyandikorugero ID ikoresha"
+-
+-#: cp/name-lookup.c:2045
+-#, fuzzy, gcc-internal-format
+-msgid "namespace %qD not allowed in using-declaration"
+-msgstr "OYA in ikoresha"
+-
+-#: cp/name-lookup.c:2081
+-#, fuzzy, gcc-internal-format
+-msgid "%qD not declared"
+-msgstr "`%D'OYA"
+-
+-#: cp/name-lookup.c:2102 cp/name-lookup.c:2139 cp/name-lookup.c:2173
+-#, fuzzy, gcc-internal-format
+-msgid "%qD is already declared in this scope"
+-msgstr "`%D'ni in iyi Ingano:"
+-
+-#: cp/name-lookup.c:2179
+-#, fuzzy, gcc-internal-format
+-msgid "using declaration %qD introduced ambiguous type %qT"
+-msgstr "ikoresha Ubwoko"
+-
+-#: cp/name-lookup.c:2777
+-#, fuzzy, gcc-internal-format
+-msgid "using-declaration for non-member at class scope"
+-msgstr "ikoresha kugirango ku ishuri Ingano:"
+-
+-#: cp/name-lookup.c:2784
+-#, fuzzy, gcc-internal-format
+-msgid "%<%T::%D%> names destructor"
+-msgstr "`%D'Amazina"
+-
+-#: cp/name-lookup.c:2789
+-#, fuzzy, gcc-internal-format
+-msgid "%<%T::%D%> names constructor"
+-msgstr "`%D'Amazina"
+-
+-#: cp/name-lookup.c:2794
+-#, fuzzy, gcc-internal-format
+-msgid "%<%T::%D%> names constructor in %qT"
+-msgstr "`%D'Amazina"
+-
+-#: cp/name-lookup.c:2844
+-#, fuzzy, gcc-internal-format
+-msgid "no members matching %<%T::%D%> in %q#T"
+-msgstr "Oya in"
+-
+-#: cp/name-lookup.c:2912
+-#, fuzzy, gcc-internal-format
+-msgid "declaration of %qD not in a namespace surrounding %qD"
+-msgstr "Bya OYA in a"
+-
+-#: cp/name-lookup.c:2920
+-#, fuzzy, gcc-internal-format
+-msgid "explicit qualification in declaration of %qD"
+-msgstr "Gusubiramo Ubwoko in"
+-
+-#: cp/name-lookup.c:2963
+-#, fuzzy, gcc-internal-format
+-msgid "%qD should have been declared inside %qD"
+-msgstr "`%D'Mo Imbere"
+-
+-#: cp/name-lookup.c:3034
+-#, fuzzy, gcc-internal-format
+-msgid "namespace alias %qD not allowed here, assuming %qD"
+-msgstr "Irihimbano OYA"
+-
+-#: cp/name-lookup.c:3089
+-#, fuzzy, gcc-internal-format
+-msgid "%qs attribute requires a single NTBS argument"
+-msgstr "`%s'Ikiranga Umubare wuzuye"
+-
+-#: cp/name-lookup.c:3378
+-#, gcc-internal-format
+-msgid "strong using only meaningful at namespace scope"
+-msgstr ""
+-
+-#: cp/name-lookup.c:3382
+-#, gcc-internal-format
+-msgid "current namespace %qD does not enclose strongly used namespace %qD"
+-msgstr ""
+-
+-#: cp/name-lookup.c:3390
+-#, fuzzy, gcc-internal-format
+-msgid "%qD attribute directive ignored"
+-msgstr "`%s'Ikiranga"
+-
+-#: cp/name-lookup.c:3540
+-#, fuzzy, gcc-internal-format
+-msgid "%qD denotes an ambiguous type"
+-msgstr "`%D'Ubwoko"
+-
+-#: cp/name-lookup.c:3541
+-#, fuzzy, gcc-internal-format
+-msgid "%J first type here"
+-msgstr "Itangira Ubwoko"
+-
+-#: cp/name-lookup.c:3542
+-#, fuzzy, gcc-internal-format
+-msgid "%J other type here"
+-msgstr "Ikindi Ubwoko"
+-
+-#: cp/name-lookup.c:4257
+-#, fuzzy, gcc-internal-format
+-msgid "%q+D is not a function,"
+-msgstr "`%D'ni OYA a Umumaro"
+-
+-#: cp/name-lookup.c:4258
+-#, fuzzy, gcc-internal-format
+-msgid " conflict with %q+D"
+-msgstr "Na:"
+-
+-#: cp/name-lookup.c:4679
+-#, gcc-internal-format
+-msgid "argument dependent lookup finds %q+D"
+-msgstr ""
+-
+-#: cp/name-lookup.c:5111
+-#, gcc-internal-format
+-msgid "XXX entering pop_everything ()\n"
+-msgstr ""
+-
+-#: cp/name-lookup.c:5120
+-#, gcc-internal-format
+-msgid "XXX leaving pop_everything ()\n"
+-msgstr ""
+-
+-#: cp/parser.c:1965
+-#, fuzzy, gcc-internal-format
+-msgid "%<#pragma%> is not allowed here"
+-msgstr "IMPINDURAGACIRO ni OYA"
+-
+-#: cp/parser.c:1995
+-#, fuzzy, gcc-internal-format
+-msgid "%<%D::%D%> has not been declared"
+-msgstr "`%D::%D'ni OYA a Inyandikorugero"
+-
+-#: cp/parser.c:1998 cp/semantics.c:2410
+-#, fuzzy, gcc-internal-format
+-msgid "%<::%D%> has not been declared"
+-msgstr "`%D'OYA"
+-
+-#: cp/parser.c:2001
+-#, fuzzy, gcc-internal-format
+-msgid "request for member %qD in non-class type %qT"
+-msgstr "Kubaza... kugirango in ni Bya ishuri Ubwoko"
+-
+-#: cp/parser.c:2004
+-#, fuzzy, gcc-internal-format
+-msgid "%<%T::%D%> has not been declared"
+-msgstr "`%D'OYA"
+-
+-#: cp/parser.c:2007
+-#, fuzzy, gcc-internal-format
+-msgid "%qD has not been declared"
+-msgstr "`%D'OYA"
+-
+-#: cp/parser.c:2010
+-#, gcc-internal-format
+-msgid "%<%D::%D%> %s"
+-msgstr ""
+-
+-#: cp/parser.c:2012
+-#, gcc-internal-format
+-msgid "%<::%D%> %s"
+-msgstr ""
+-
+-# basctl/source\basicide\basidesh.src:RID_IMGBTN_REMOVEWATCH.text
+-#: cp/parser.c:2014
+-#, fuzzy, gcc-internal-format
+-msgid "%qD %s"
+-msgstr "%s"
+-
+-#: cp/parser.c:2050
+-#, fuzzy, gcc-internal-format
+-msgid "ISO C++ does not support %<long long%>"
+-msgstr "C OYA Gushigikira"
+-
+-#: cp/parser.c:2070
+-#, fuzzy, gcc-internal-format
+-msgid "duplicate %qs"
+-msgstr "Gusubiramo"
+-
+-#: cp/parser.c:2113
+-#, fuzzy, gcc-internal-format
+-msgid "new types may not be defined in a return type"
+-msgstr "Gishya Byashyizweho Kuri a Indango Ubwoko"
+-
+-#: cp/parser.c:2114
+-#, fuzzy, gcc-internal-format
+-msgid "(perhaps a semicolon is missing after the definition of %qT)"
+-msgstr "Akabago n'Akitso Ibuze Nyuma Bya"
+-
+-#: cp/parser.c:2133 cp/parser.c:3885 cp/pt.c:4557
+-#, fuzzy, gcc-internal-format
+-msgid "%qT is not a template"
+-msgstr "`%T'ni OYA a Inyandikorugero"
+-
+-#: cp/parser.c:2135
+-#, fuzzy, gcc-internal-format
+-msgid "%qE is not a template"
+-msgstr "`%T'ni OYA a Inyandikorugero"
+-
+-#: cp/parser.c:2137
+-#, fuzzy, gcc-internal-format
+-msgid "invalid template-id"
+-msgstr "Sibyo Kuzerutsa"
+-
+-#: cp/parser.c:2166
+-#, fuzzy, gcc-internal-format
+-msgid "%s cannot appear in a constant-expression"
+-msgstr "Byarenze urugero in imvugo"
+-
+-#: cp/parser.c:2191
+-#, fuzzy, gcc-internal-format
+-msgid "invalid use of template-name %qE without an argument list"
+-msgstr "Sibyo Gukoresha Bya Inyandikorugero Izina: in a"
+-
+-#: cp/parser.c:2193
+-#, fuzzy, gcc-internal-format
+-msgid "invalid use of destructor %qD as a type"
+-msgstr "Sibyo Gukoresha Bya"
+-
+-#. Something like 'unsigned A a;'
+-#: cp/parser.c:2196
+-#, fuzzy, gcc-internal-format
+-msgid "invalid combination of multiple type-specifiers"
+-msgstr "Sibyo Insobanuro Bya Ubwoko"
+-
+-#. Issue an error message.
+-#: cp/parser.c:2200
+-#, fuzzy, gcc-internal-format
+-msgid "%qE does not name a type"
+-msgstr "`%D'OYA a Inyandikorugero Ubwoko"
+-
+-#: cp/parser.c:2232
+-#, gcc-internal-format
+-msgid "(perhaps %<typename %T::%E%> was intended)"
+-msgstr ""
+-
+-#: cp/parser.c:2247
+-#, gcc-internal-format
+-msgid "%qE in namespace %qE does not name a type"
+-msgstr ""
+-
+-#: cp/parser.c:2250
+-#, fuzzy, gcc-internal-format
+-msgid "%qE in class %qT does not name a type"
+-msgstr "`%T'ni OYA a ishuri Cyangwa Ihuza Ubwoko"
+-
+-#: cp/parser.c:3010
+-#, fuzzy, gcc-internal-format
+-msgid "ISO C++ forbids braced-groups within expressions"
+-msgstr "C Amatsinda muri"
+-
+-#: cp/parser.c:3019
+-#, fuzzy, gcc-internal-format
+-msgid "statement-expressions are allowed only inside functions"
+-msgstr "Itsinda muri imvugo Mo Imbere a Umumaro"
+-
+-#: cp/parser.c:3070
+-#, fuzzy, gcc-internal-format
+-msgid "%<this%> may not be used in this context"
+-msgstr "`%D'OYA in iyi Ingano:"
+-
+-#: cp/parser.c:3222
+-#, gcc-internal-format
+-msgid "local variable %qD may not appear in this context"
+-msgstr ""
+-
+-#: cp/parser.c:3519
+-#, gcc-internal-format
+-msgid "scope %qT before %<~%> is not a class-name"
+-msgstr ""
+-
+-#: cp/parser.c:3620
+-#, fuzzy, gcc-internal-format
+-msgid "declaration of %<~%T%> as member of %qT"
+-msgstr "Bya a Bya"
+-
+-#: cp/parser.c:3634
+-#, fuzzy, gcc-internal-format
+-msgid "typedef-name %qD used as destructor declarator"
+-msgstr "Inyandikorugero ID Nka a"
+-
+-#: cp/parser.c:3844 cp/parser.c:13003 cp/parser.c:15155
+-#, fuzzy, gcc-internal-format
+-msgid "reference to %qD is ambiguous"
+-msgstr "Gukoresha Bya ni"
+-
+-#: cp/parser.c:3886 cp/typeck.c:2050 cp/typeck.c:2070
+-#, fuzzy, gcc-internal-format
+-msgid "%qD is not a template"
+-msgstr "`%T'ni OYA a Inyandikorugero"
+-
+-#: cp/parser.c:4275
+-#, fuzzy, gcc-internal-format
+-msgid "ISO C++ forbids compound-literals"
+-msgstr "C"
+-
+-#: cp/parser.c:4623
+-#, fuzzy, gcc-internal-format
+-msgid "%qE does not have class type"
+-msgstr "`%T'ni OYA a ishuri Cyangwa Ihuza Ubwoko"
+-
+-#: cp/parser.c:4699 cp/typeck.c:1979
+-#, fuzzy, gcc-internal-format
+-msgid "invalid use of %qD"
+-msgstr "Sibyo Gukoresha Bya"
+-
+-#: cp/parser.c:5223
+-#, gcc-internal-format
+-msgid "array bound forbidden after parenthesized type-id"
+-msgstr ""
+-
+-#: cp/parser.c:5224
+-#, gcc-internal-format
+-msgid "try removing the parentheses around the type-id"
+-msgstr ""
+-
+-#: cp/parser.c:5426
+-#, fuzzy, gcc-internal-format
+-msgid "expression in new-declarator must have integral or enumeration type"
+-msgstr "Ingano in Imbonerahamwe Gishya Umubare Wuzuye Ubwoko"
+-
+-#: cp/parser.c:5615
+-#, fuzzy, gcc-internal-format
+-msgid "use of old-style cast"
+-msgstr "Gukoresha Bya ki/ bishaje IMISUSIRE"
+-
+-#: cp/parser.c:6404
+-#, fuzzy, gcc-internal-format
+-msgid "case label %qE not within a switch statement"
+-msgstr "Akarango OYA muri a Hindura Inyandiko"
+-
+-#: cp/parser.c:6970
+-#, fuzzy, gcc-internal-format
+-msgid "ISO C++ forbids computed gotos"
+-msgstr "C"
+-
+-#: cp/parser.c:7102
+-#, gcc-internal-format
+-msgid "extra %<;%>"
+-msgstr ""
+-
+-#: cp/parser.c:7441
+-#, gcc-internal-format
+-msgid "mixing declarations and function-definitions is forbidden"
+-msgstr ""
+-
+-#: cp/parser.c:7573
+-#, gcc-internal-format
+-msgid "%<friend%> used outside of class"
+-msgstr ""
+-
+-#: cp/parser.c:7727
+-#, fuzzy, gcc-internal-format
+-msgid "class definition may not be declared a friend"
+-msgstr "Umumaro"
+-
+-#: cp/parser.c:7791 cp/parser.c:14109
+-#, gcc-internal-format
+-msgid "templates may not be %<virtual%>"
+-msgstr ""
+-
+-#: cp/parser.c:8044
+-#, fuzzy, gcc-internal-format
+-msgid "only constructors take base initializers"
+-msgstr "SHINGIRO"
+-
+-#: cp/parser.c:8096
+-#, fuzzy, gcc-internal-format
+-msgid "anachronistic old-style base class initializer"
+-msgstr "ki/ bishaje IMISUSIRE SHINGIRO ishuri"
+-
+-#: cp/parser.c:8140
+-#, gcc-internal-format
+-msgid "keyword %<typename%> not allowed in this context (a qualified member initializer is implicitly a type)"
+-msgstr ""
+-
+-#. Warn that we do not support `export'.
+-#: cp/parser.c:8485
+-#, fuzzy, gcc-internal-format
+-msgid "keyword %<export%> not implemented, and will be ignored"
+-msgstr "Ijambo- banze OYA Na"
+-
+-#. Otherwise, emit an error about the invalid digraph, but continue
+-#. parsing because we got our argument list.
+-#: cp/parser.c:8878
+-#, fuzzy, gcc-internal-format
+-msgid "%<<::%> cannot begin a template-argument list"
+-msgstr "Igikoresho Nka Inyandikorugero"
+-
+-#: cp/parser.c:8879
+-#, gcc-internal-format
+-msgid "%<<:%> is an alternate spelling for %<[%>. Insert whitespace between %<<%> and %<::%>"
+-msgstr ""
+-
+-#: cp/parser.c:8886
+-#, gcc-internal-format
+-msgid "(if you use -fpermissive G++ will accept your code)"
+-msgstr ""
+-
+-#: cp/parser.c:8959
+-#, fuzzy, gcc-internal-format
+-msgid "parse error in template argument list"
+-msgstr "`%E'ni OYA a Byemewe Inyandikorugero"
+-
+-#. Explain what went wrong.
+-#: cp/parser.c:9072
+-#, fuzzy, gcc-internal-format
+-msgid "non-template %qD used as template"
+-msgstr "Inyandikorugero Nka Inyandikorugero"
+-
+-#: cp/parser.c:9073
+-#, gcc-internal-format
+-msgid "use %<%T::template %D%> to indicate that it is a template"
+-msgstr ""
+-
+-#: cp/parser.c:9583
+-#, fuzzy, gcc-internal-format
+-msgid "template specialization with C linkage"
+-msgstr "Inyandikorugero Na: C"
+-
+-#: cp/parser.c:10158
+-#, fuzzy, gcc-internal-format
+-msgid "using %<typename%> outside of template"
+-msgstr "ikoresha Hanze Bya Inyandikorugero"
+-
+-#: cp/parser.c:10378
+-#, fuzzy, gcc-internal-format
+-msgid "attributes ignored on uninstantiated type"
+-msgstr "Sibyo ku Ubwoko"
+-
+-#: cp/parser.c:10382
+-#, fuzzy, gcc-internal-format
+-msgid "attributes ignored on template instantiation"
+-msgstr "ishuri Byashyizweho Kuri Inyandikorugero"
+-
+-#: cp/parser.c:10387
+-#, gcc-internal-format
+-msgid "attributes ignored on elaborated-type-specifier that is not a forward declaration"
+-msgstr ""
+-
+-#: cp/parser.c:10601
+-#, fuzzy, gcc-internal-format
+-msgid "%qD is not a namespace-name"
+-msgstr "`%D'ni OYA a"
+-
+-#. [namespace.udecl]
+-#.
+-#. A using declaration shall not name a template-id.
+-#: cp/parser.c:10821
+-#, fuzzy, gcc-internal-format
+-msgid "a template-id may not appear in a using-declaration"
+-msgstr "OYA in ikoresha"
+-
+-#: cp/parser.c:11166
+-#, gcc-internal-format
+-msgid "an asm-specification is not allowed on a function-definition"
+-msgstr ""
+-
+-#: cp/parser.c:11168
+-#, fuzzy, gcc-internal-format
+-msgid "attributes are not allowed on a function-definition"
+-msgstr "Kwiyandikisha IMPINDURAGACIRO a Umumaro Insobanuro"
+-
+-#: cp/parser.c:11301
+-#, fuzzy, gcc-internal-format
+-msgid "initializer provided for function"
+-msgstr "kugirango Umumaro"
+-
+-#: cp/parser.c:11321
+-#, fuzzy, gcc-internal-format
+-msgid "attributes after parenthesized initializer ignored"
+-msgstr "Ibiranga in Imbonerahamwe"
+-
+-#: cp/parser.c:11701 cp/pt.c:7312
+-#, fuzzy, gcc-internal-format
+-msgid "array bound is not an integer constant"
+-msgstr "Imbonerahamwe Inyandiko nyesi ni OYA Umubare wuzuye"
+-
+-#: cp/parser.c:11778
+-#, fuzzy, gcc-internal-format
+-msgid "%<%T::%D%> is not a type"
+-msgstr "`%D::%D'ni OYA a Inyandikorugero"
+-
+-#: cp/parser.c:11803
+-#, fuzzy, gcc-internal-format
+-msgid "invalid use of constructor as a template"
+-msgstr "Sibyo Gukoresha Bya ku Hejuru: urwego"
+-
+-#: cp/parser.c:11804
+-#, gcc-internal-format
+-msgid "use %<%T::%D%> instead of %<%T::%D%> to name the constructor in a qualified name"
+-msgstr ""
+-
+-#: cp/parser.c:11963
+-#, fuzzy, gcc-internal-format
+-msgid "%qD is a namespace"
+-msgstr "`%D'ni a"
+-
+-#: cp/parser.c:12038
+-#, fuzzy, gcc-internal-format
+-msgid "duplicate cv-qualifier"
+-msgstr "Gusubiramo Agaciro"
+-
+-#: cp/parser.c:12586
+-#, fuzzy, gcc-internal-format
+-msgid "file ends in default argument"
+-msgstr "%HendBya IDOSIYE Gusoma Mo Imbere Mburabuzi"
+-
+-#: cp/parser.c:12659
+-#, fuzzy, gcc-internal-format
+-msgid "deprecated use of default argument for parameter of non-function"
+-msgstr "Mburabuzi kugirango Bya"
+-
+-#: cp/parser.c:12662
+-#, fuzzy, gcc-internal-format
+-msgid "default arguments are only permitted for function parameters"
+-msgstr "Mburabuzi kugirango Bya"
+-
+-#: cp/parser.c:12862
+-#, fuzzy, gcc-internal-format
+-msgid "ISO C++ does not allow designated initializers"
+-msgstr "C OYA Kwemerera"
+-
+-#: cp/parser.c:13446
+-#, fuzzy, gcc-internal-format
+-msgid "invalid class name in declaration of %qD"
+-msgstr "Sibyo Bya"
+-
+-#: cp/parser.c:13457
+-#, fuzzy, gcc-internal-format
+-msgid "declaration of %qD in %qD which does not enclose %qD"
+-msgstr "Bya in OYA"
+-
+-#: cp/parser.c:13470
+-#, fuzzy, gcc-internal-format
+-msgid "extra qualification ignored"
+-msgstr "Birenga ku"
+-
+-#: cp/parser.c:13481
+-#, fuzzy, gcc-internal-format
+-msgid "an explicit specialization must be preceded by %<template <>%>"
+-msgstr "OYA ku Inyandikorugero"
+-
+-#: cp/parser.c:13574
+-#, fuzzy, gcc-internal-format
+-msgid "previous definition of %q+#T"
+-msgstr "Ibanjirije Insobanuro Bya"
+-
+-#: cp/parser.c:13809
+-#, gcc-internal-format
+-msgid "%Hextra %<;%>"
+-msgstr ""
+-
+-#: cp/parser.c:13827
+-#, gcc-internal-format
+-msgid "a class-key must be used when declaring a friend"
+-msgstr ""
+-
+-#: cp/parser.c:13841
+-#, fuzzy, gcc-internal-format
+-msgid "friend declaration does not name a class or function"
+-msgstr "OYA in ishuri Insobanuro"
+-
+-#: cp/parser.c:14018
+-#, gcc-internal-format
+-msgid "pure-specifier on function-definition"
+-msgstr ""
+-
+-#: cp/parser.c:14294
+-#, fuzzy, gcc-internal-format
+-msgid "keyword %<typename%> not allowed outside of templates"
+-msgstr "ikoresha Hanze Bya Inyandikorugero"
+-
+-#: cp/parser.c:14296
+-#, gcc-internal-format
+-msgid "keyword %<typename%> not allowed in this context (the base class is implicitly a type)"
+-msgstr ""
+-
+-#: cp/parser.c:15328
+-#, fuzzy, gcc-internal-format
+-msgid "too few template-parameter-lists"
+-msgstr "Inyandikorugero Intonde in Bya"
+-
+-#. Otherwise, there are too many template parameter lists. We have
+-#. something like:
+-#.
+-#. template <class T> template <class U> void S::f();
+-#: cp/parser.c:15343
+-#, fuzzy, gcc-internal-format
+-msgid "too many template-parameter-lists"
+-msgstr "Inyandikorugero Intonde in Bya"
+-
+-#. Issue an error message.
+-#: cp/parser.c:15605
+-#, fuzzy, gcc-internal-format
+-msgid "named return values are no longer supported"
+-msgstr "--Musomyi: Oya"
+-
+-#. 14.5.2.2 [temp.mem]
+-#.
+-#. A local class shall not have member templates.
+-#: cp/parser.c:15677
+-#, fuzzy, gcc-internal-format
+-msgid "invalid declaration of member template in local class"
+-msgstr "Sibyo Bya Inyandikorugero in ishuri"
+-
+-#: cp/parser.c:15686
+-#, fuzzy, gcc-internal-format
+-msgid "template with C linkage"
+-msgstr "Inyandikorugero Na: C"
+-
+-#: cp/parser.c:15828
+-#, fuzzy, gcc-internal-format
+-msgid "template declaration of %qs"
+-msgstr "Inyandikorugero Bya"
+-
+-#: cp/parser.c:16043
+-#, gcc-internal-format
+-msgid "%H%<>>%> should be %<> >%> within a nested template argument list"
+-msgstr ""
+-
+-#: cp/parser.c:16058
+-#, gcc-internal-format
+-msgid "spurious %<>>%>, use %<>%> to terminate a template argument list"
+-msgstr ""
+-
+-#: cp/parser.c:16374
+-#, fuzzy, gcc-internal-format
+-msgid "invalid use of %qD in linkage specification"
+-msgstr "Sibyo SHINGIRO ishuri"
+-
+-#: cp/parser.c:16387
+-#, fuzzy, gcc-internal-format
+-msgid "%<__thread%> before %qD"
+-msgstr "`_Mbere"
+-
+-#: cp/parser.c:16682
+-#, fuzzy, gcc-internal-format
+-msgid "%qs tag used in naming %q#T"
+-msgstr "`%s'Itagi: in"
+-
+-#: cp/parser.c:16703
+-#, fuzzy, gcc-internal-format
+-msgid "%qD redeclared with different access"
+-msgstr "`%#D'Nka Bya IKIMENYETSO"
+-
+-#: cp/parser.c:16720
+-#, gcc-internal-format
+-msgid "%<template%> (as a disambiguator) is only allowed within templates"
+-msgstr ""
+-
+-#: cp/parser.c:16973 cp/parser.c:17896 cp/parser.c:18027
+-#, gcc-internal-format
+-msgid "misplaced %<@%D%> Objective-C++ construct"
+-msgstr ""
+-
+-#: cp/parser.c:17114
+-#, gcc-internal-format
+-msgid "%<@encode%> must specify a type as an argument"
+-msgstr ""
+-
+-#: cp/parser.c:17429
+-#, gcc-internal-format
+-msgid "invalid Objective-C++ selector name"
+-msgstr ""
+-
+-#: cp/parser.c:17760
+-#, fuzzy, gcc-internal-format
+-msgid "identifier expected after %<@protocol%>"
+-msgstr "Ikiranga ntigitunguranye"
+-
+-#: cp/parser.c:19247
+-#, fuzzy, gcc-internal-format
+-msgid "junk at end of %<#pragma GCC pch_preprocess%>"
+-msgstr "Umwanda ku Impera Bya"
+-
+-#: cp/parser.c:19392
+-#, fuzzy, gcc-internal-format
+-msgid "inter-module optimizations not implemented for C++"
+-msgstr "OYA"
+-
+-#: cp/pt.c:238
+-#, fuzzy, gcc-internal-format
+-msgid "data member %qD cannot be a member template"
+-msgstr "Ibyatanzwe a Inyandikorugero"
+-
+-#: cp/pt.c:250
+-#, fuzzy, gcc-internal-format
+-msgid "invalid member template declaration %qD"
+-msgstr "Sibyo Inyandikorugero"
+-
+-#: cp/pt.c:557
+-#, fuzzy, gcc-internal-format
+-msgid "explicit specialization in non-namespace scope %qD"
+-msgstr "in Ingano:"
+-
+-#: cp/pt.c:571
+-#, fuzzy, gcc-internal-format
+-msgid "enclosing class templates are not explicitly specialized"
+-msgstr "ishuri Inyandikorugero OYA cy'umwihariko/ mwihariko"
+-
+-#: cp/pt.c:659
+-#, fuzzy, gcc-internal-format
+-msgid "specialization of %qD in different namespace"
+-msgstr "in"
+-
+-#: cp/pt.c:660 cp/pt.c:757
+-#, fuzzy, gcc-internal-format
+-msgid " from definition of %q+#D"
+-msgstr "Bivuye Insobanuro Bya"
+-
+-#: cp/pt.c:677
+-#, fuzzy, gcc-internal-format
+-msgid "explicit instantiation of %qD in namespace %qD (which does not enclose namespace %qD)"
+-msgstr "Bya in OYA"
+-
+-#: cp/pt.c:695
+-#, fuzzy, gcc-internal-format
+-msgid "name of class shadows template template parameter %qD"
+-msgstr "Inyandikorugero"
+-
+-#: cp/pt.c:724
+-#, fuzzy, gcc-internal-format
+-msgid "specialization of %qT after instantiation"
+-msgstr "Bya Nyuma"
+-
+-#: cp/pt.c:756
+-#, fuzzy, gcc-internal-format
+-msgid "specializing %q#T in different namespace"
+-msgstr "in"
+-
+-#: cp/pt.c:771
+-#, fuzzy, gcc-internal-format
+-msgid "specialization %qT after instantiation %qT"
+-msgstr "Nyuma"
+-
+-#: cp/pt.c:784
+-#, fuzzy, gcc-internal-format
+-msgid "explicit specialization of non-template %qT"
+-msgstr "Bya Inyandikorugero"
+-
+-#: cp/pt.c:1185
+-#, fuzzy, gcc-internal-format
+-msgid "specialization of %qD after instantiation"
+-msgstr "Bya Nyuma"
+-
+-#: cp/pt.c:1411
+-#, fuzzy, gcc-internal-format
+-msgid "%qD is not a function template"
+-msgstr "`%D'ni OYA a Umumaro Inyandikorugero"
+-
+-#: cp/pt.c:1620
+-#, fuzzy, gcc-internal-format
+-msgid "template-id %qD for %q+D does not match any template declaration"
+-msgstr "Inyandikorugero ID kugirango OYA BIHUYE Inyandikorugero"
+-
+-#: cp/pt.c:1628
+-#, fuzzy, gcc-internal-format
+-msgid "ambiguous template specialization %qD for %q+D"
+-msgstr "Inyandikorugero kugirango"
+-
+-#. This case handles bogus declarations like template <>
+-#. template <class T> void f<int>();
+-#: cp/pt.c:1863 cp/pt.c:1917
+-#, fuzzy, gcc-internal-format
+-msgid "template-id %qD in declaration of primary template"
+-msgstr "Inyandikorugero ID in Bya Inyandikorugero"
+-
+-#: cp/pt.c:1876
+-#, fuzzy, gcc-internal-format
+-msgid "template parameter list used in explicit instantiation"
+-msgstr "Inyandikorugero Urutonde in"
+-
+-#: cp/pt.c:1882
+-#, fuzzy, gcc-internal-format
+-msgid "definition provided for explicit instantiation"
+-msgstr "Insobanuro kugirango"
+-
+-#: cp/pt.c:1890
+-#, fuzzy, gcc-internal-format
+-msgid "too many template parameter lists in declaration of %qD"
+-msgstr "Inyandikorugero Intonde in Bya"
+-
+-#: cp/pt.c:1893
+-#, fuzzy, gcc-internal-format
+-msgid "too few template parameter lists in declaration of %qD"
+-msgstr "Inyandikorugero Intonde in Bya"
+-
+-#: cp/pt.c:1895
+-#, fuzzy, gcc-internal-format
+-msgid "explicit specialization of %qD must be introduced by %<template <>%>"
+-msgstr "OYA ku Inyandikorugero"
+-
+-#: cp/pt.c:1914
+-#, gcc-internal-format
+-msgid "function template partial specialization %qD is not allowed"
+-msgstr ""
+-
+-#: cp/pt.c:1946
+-#, fuzzy, gcc-internal-format
+-msgid "default argument specified in explicit specialization"
+-msgstr "Mburabuzi in"
+-
+-#: cp/pt.c:1976
+-#, fuzzy, gcc-internal-format
+-msgid "%qD is not a template function"
+-msgstr "`%D'ni OYA a Inyandikorugero Umumaro"
+-
+-#: cp/pt.c:1984
+-#, fuzzy, gcc-internal-format
+-msgid "%qD is not declared in %qD"
+-msgstr "`%D'OYA"
+-
+-#. From [temp.expl.spec]:
+-#.
+-#. If such an explicit specialization for the member
+-#. of a class template names an implicitly-declared
+-#. special member function (clause _special_), the
+-#. program is ill-formed.
+-#.
+-#. Similar language is found in [temp.explicit].
+-#: cp/pt.c:2046
+-#, fuzzy, gcc-internal-format
+-msgid "specialization of implicitly-declared special member function"
+-msgstr "Bya Bidasanzwe Umumaro"
+-
+-#: cp/pt.c:2090
+-#, fuzzy, gcc-internal-format
+-msgid "no member function %qD declared in %qT"
+-msgstr "Oya Umumaro in"
+-
+-#: cp/pt.c:2314
+-#, fuzzy, gcc-internal-format
+-msgid "declaration of %q+#D"
+-msgstr "Bya"
+-
+-#: cp/pt.c:2315
+-#, fuzzy, gcc-internal-format
+-msgid " shadows template parm %q+#D"
+-msgstr "Inyandikorugero"
+-
+-#: cp/pt.c:2739
+-#, fuzzy, gcc-internal-format
+-msgid "template parameters not used in partial specialization:"
+-msgstr "Inyandikorugero Ibigenga OYA in Bituzuye"
+-
+-# desktop/source\app\ssodlg.src:DLG_SSOLOGIN.text
+-#: cp/pt.c:2743
+-#, fuzzy, gcc-internal-format
+-msgid " %qD"
+-msgstr "`%D'"
+-
+-#: cp/pt.c:2754
+-#, fuzzy, gcc-internal-format
+-msgid "partial specialization %qT does not specialize any template arguments"
+-msgstr "Bituzuye OYA Inyandikorugero ingingo"
+-
+-#: cp/pt.c:2779
+-#, fuzzy, gcc-internal-format
+-msgid "template argument %qE involves template parameter(s)"
+-msgstr "Inyandikorugero Inyandikorugero S"
+-
+-#: cp/pt.c:2823
+-#, fuzzy, gcc-internal-format
+-msgid "type %qT of template argument %qE depends on template parameter(s)"
+-msgstr "Ubwoko Bya Inyandikorugero ku Inyandikorugero S"
+-
+-#: cp/pt.c:2914
+-#, fuzzy, gcc-internal-format
+-msgid "no default argument for %qD"
+-msgstr "Oya Mburabuzi kugirango"
+-
+-#: cp/pt.c:3084
+-#, fuzzy, gcc-internal-format
+-msgid "template class without a name"
+-msgstr "Inyandikorugero ishuri a Izina:"
+-
+-#. [temp.mem]
+-#.
+-#. A destructor shall not be a member template.
+-#: cp/pt.c:3092
+-#, fuzzy, gcc-internal-format
+-msgid "destructor %qD declared as member template"
+-msgstr "Ibyatanzwe a Inyandikorugero"
+-
+-#. [basic.stc.dynamic.allocation]
+-#.
+-#. An allocation function can be a function
+-#. template. ... Template allocation functions shall
+-#. have two or more parameters.
+-#: cp/pt.c:3107
+-#, fuzzy, gcc-internal-format
+-msgid "invalid template declaration of %qD"
+-msgstr "Sibyo Inyandikorugero"
+-
+-#: cp/pt.c:3187
+-#, fuzzy, gcc-internal-format
+-msgid "%qD does not declare a template type"
+-msgstr "`%D'OYA a Inyandikorugero Ubwoko"
+-
+-#: cp/pt.c:3193
+-#, fuzzy, gcc-internal-format
+-msgid "template definition of non-template %q#D"
+-msgstr "Inyandikorugero Insobanuro Bya Inyandikorugero"
+-
+-#: cp/pt.c:3236
+-#, fuzzy, gcc-internal-format
+-msgid "expected %d levels of template parms for %q#D, got %d"
+-msgstr "Ikitezwe: Intera Bya Inyandikorugero kugirango"
+-
+-#: cp/pt.c:3248
+-#, fuzzy, gcc-internal-format
+-msgid "got %d template parameters for %q#D"
+-msgstr "Inyandikorugero Ibigenga kugirango"
+-
+-#: cp/pt.c:3251
+-#, fuzzy, gcc-internal-format
+-msgid "got %d template parameters for %q#T"
+-msgstr "Inyandikorugero Ibigenga kugirango"
+-
+-#: cp/pt.c:3253
+-#, fuzzy, gcc-internal-format
+-msgid " but %d required"
+-msgstr "Bya ngombwa"
+-
+-#: cp/pt.c:3350
+-#, fuzzy, gcc-internal-format
+-msgid "%qT is not a template type"
+-msgstr "`%T'ni OYA a Inyandikorugero Ubwoko"
+-
+-#: cp/pt.c:3363
+-#, fuzzy, gcc-internal-format
+-msgid "template specifiers not specified in declaration of %qD"
+-msgstr "Inyandikorugero Intonde in Bya"
+-
+-#: cp/pt.c:3374
+-#, fuzzy, gcc-internal-format
+-msgid "used %d template parameter(s) instead of %d"
+-msgstr "Inyandikorugero Bya"
+-
+-#: cp/pt.c:3403
+-#, fuzzy, gcc-internal-format
+-msgid "template parameter %q+#D"
+-msgstr "Inyandikorugero"
+-
+-#: cp/pt.c:3404
+-#, fuzzy, gcc-internal-format
+-msgid "redeclared here as %q#D"
+-msgstr "Nka"
+-
+-#. We have in [temp.param]:
+-#.
+-#. A template-parameter may not be given default arguments
+-#. by two different declarations in the same scope.
+-#: cp/pt.c:3414
+-#, fuzzy, gcc-internal-format
+-msgid "redefinition of default argument for %q#D"
+-msgstr "Bya Mburabuzi kugirango"
+-
+-#: cp/pt.c:3415
+-#, fuzzy, gcc-internal-format
+-msgid "%J original definition appeared here"
+-msgstr "Umwimerere Insobanuro"
+-
+-#: cp/pt.c:3519
+-#, fuzzy, gcc-internal-format
+-msgid "%qE is not a valid template argument for type %qT because function %qD has not external linkage"
+-msgstr "Ikurikiranyanyuguti ni OYA a Byemewe Inyandikorugero ni i Aderesi Bya Igikoresho Na:"
+-
+-#: cp/pt.c:3560
+-#, fuzzy, 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 "Ikurikiranyanyuguti ni OYA a Byemewe Inyandikorugero ni i Aderesi Bya Igikoresho Na:"
+-
+-#: cp/pt.c:3637
+-#, fuzzy, gcc-internal-format
+-msgid "%qE is not a valid template argument for type %qT because it is a non-constant expression"
+-msgstr "Ikurikiranyanyuguti ni OYA a Byemewe Inyandikorugero ni i Aderesi Bya Igikoresho Na:"
+-
+-#: cp/pt.c:3681
+-#, fuzzy, gcc-internal-format
+-msgid "%qD is not a valid template argument because %qD is a variable, not the address of a variable"
+-msgstr "Ikurikiranyanyuguti ni OYA a Byemewe Inyandikorugero ni i Aderesi Bya Igikoresho Na:"
+-
+-#: cp/pt.c:3699
+-#, fuzzy, gcc-internal-format
+-msgid "%qE is not a valid template argument of type %qT because %qE is not a variable"
+-msgstr "Ikurikiranyanyuguti ni OYA a Byemewe Inyandikorugero ni i Aderesi Bya Igikoresho Na:"
+-
+-#: cp/pt.c:3706
+-#, fuzzy, gcc-internal-format
+-msgid "%qE is not a valid template argument of type %qT because %qD does not have external linkage"
+-msgstr "Ikurikiranyanyuguti ni OYA a Byemewe Inyandikorugero ni i Aderesi Bya Igikoresho Na:"
+-
+-#: cp/pt.c:3736
+-#, gcc-internal-format
+-msgid "%qE is not a valid template argument for type %qT because of conflicts in cv-qualification"
+-msgstr ""
+-
+-#: cp/pt.c:3743
+-#, fuzzy, gcc-internal-format
+-msgid "%qE is not a valid template argument for type %qT because it is not an lvalue"
+-msgstr "Ikurikiranyanyuguti ni OYA a Byemewe Inyandikorugero ni i Aderesi Bya Igikoresho Na:"
+-
+-#: cp/pt.c:3756
+-#, fuzzy, gcc-internal-format
+-msgid "%qE is not a valid template argument for type %qT because object %qD has not external linkage"
+-msgstr "Ikurikiranyanyuguti ni OYA a Byemewe Inyandikorugero ni i Aderesi Bya Igikoresho Na:"
+-
+-#: cp/pt.c:3796
+-#, fuzzy, gcc-internal-format
+-msgid "%qE is not a valid template argument for type %qT because it is a pointer"
+-msgstr "`%E'ni OYA a Byemewe Inyandikorugero"
+-
+-#: cp/pt.c:3798
+-#, gcc-internal-format
+-msgid "try using %qE instead"
+-msgstr ""
+-
+-#: cp/pt.c:3833
+-#, fuzzy, gcc-internal-format
+-msgid "%qE is not a valid template argument for type %qT because it is of type %qT"
+-msgstr "`%E'ni OYA a Byemewe Inyandikorugero"
+-
+-#: cp/pt.c:3836
+-#, gcc-internal-format
+-msgid "standard conversions are not allowed in this context"
+-msgstr ""
+-
+-#: cp/pt.c:3998
+-#, fuzzy, gcc-internal-format
+-msgid "to refer to a type member of a template parameter, use %<typename %E%>"
+-msgstr "Kuri Kuri a Ubwoko Bya a Inyandikorugero Gukoresha"
+-
+-#: cp/pt.c:4013 cp/pt.c:4032 cp/pt.c:4072
+-#, fuzzy, gcc-internal-format
+-msgid "type/value mismatch at argument %d in template parameter list for %qD"
+-msgstr "Ubwoko Agaciro ku in Inyandikorugero Urutonde kugirango"
+-
+-#: cp/pt.c:4017
+-#, fuzzy, gcc-internal-format
+-msgid " expected a constant of type %qT, got %qT"
+-msgstr "Ikitezwe: a Bya Ubwoko"
+-
+-#: cp/pt.c:4021
+-#, fuzzy, gcc-internal-format
+-msgid " expected a class template, got %qE"
+-msgstr "Ikitezwe: a ishuri Inyandikorugero"
+-
+-#: cp/pt.c:4023
+-#, fuzzy, gcc-internal-format
+-msgid " expected a type, got %qE"
+-msgstr "Ikitezwe: a Ubwoko"
+-
+-#: cp/pt.c:4036
+-#, fuzzy, gcc-internal-format
+-msgid " expected a type, got %qT"
+-msgstr "Ikitezwe: a Ubwoko"
+-
+-#: cp/pt.c:4038
+-#, fuzzy, gcc-internal-format
+-msgid " expected a class template, got %qT"
+-msgstr "Ikitezwe: a ishuri Inyandikorugero"
+-
+-#: cp/pt.c:4075
+-#, fuzzy, gcc-internal-format
+-msgid " expected a template of type %qD, got %qD"
+-msgstr "Ikitezwe: a Inyandikorugero Bya Ubwoko"
+-
+-#: cp/pt.c:4118
+-#, fuzzy, gcc-internal-format
+-msgid "could not convert template argument %qE to %qT"
+-msgstr "OYA GUHINDURA Inyandikorugero Kuri"
+-
+-#: cp/pt.c:4163
+-#, fuzzy, gcc-internal-format
+-msgid "wrong number of template arguments (%d, should be %d)"
+-msgstr "Umubare Bya Inyandikorugero ingingo"
+-
+-#: cp/pt.c:4167
+-#, fuzzy, gcc-internal-format
+-msgid "provided for %q+D"
+-msgstr "kugirango"
+-
+-#: cp/pt.c:4207
+-#, fuzzy, gcc-internal-format
+-msgid "template argument %d is invalid"
+-msgstr "Inyandikorugero ni Sibyo"
+-
+-#: cp/pt.c:4569
+-#, fuzzy, gcc-internal-format
+-msgid "non-template type %qT used as a template"
+-msgstr "Inyandikorugero Ubwoko Nka a Inyandikorugero"
+-
+-#: cp/pt.c:4571
+-#, fuzzy, gcc-internal-format
+-msgid "for template declaration %q+D"
+-msgstr "kugirango Inyandikorugero"
+-
+-#: cp/pt.c:5231
+-#, fuzzy, gcc-internal-format
+-msgid "template instantiation depth exceeds maximum of %d (use -ftemplate-depth-NN to increase the maximum) instantiating %qD"
+-msgstr "Inyandikorugero Ubujyakuzimu Kinini Bya Gukoresha Ubujyakuzimu Kuri i Kinini"
+-
+-#: cp/pt.c:6836
+-#, fuzzy, gcc-internal-format
+-msgid "instantiation of %q+D as type %qT"
+-msgstr "Bya Nka Ubwoko"
+-
+-#. It may seem that this case cannot occur, since:
+-#.
+-#. typedef void f();
+-#. void g() { f x; }
+-#.
+-#. declares a function, not a variable. However:
+-#.
+-#. typedef void f();
+-#. template <typename T> void g() { T t; }
+-#. template void g<f>();
+-#.
+-#. is an attempt to declare a variable with function
+-#. type.
+-#: cp/pt.c:6968
+-#, fuzzy, gcc-internal-format
+-msgid "variable %qD has function type"
+-msgstr "IMPINDURAGACIRO Ubwoko"
+-
+-#: cp/pt.c:7073
+-#, fuzzy, gcc-internal-format
+-msgid "invalid parameter type %qT"
+-msgstr "Sibyo Ubwoko"
+-
+-#: cp/pt.c:7075
+-#, fuzzy, gcc-internal-format
+-msgid "in declaration %q+D"
+-msgstr "in"
+-
+-#: cp/pt.c:7148
+-#, fuzzy, gcc-internal-format
+-msgid "function returning an array"
+-msgstr "Umumaro"
+-
+-#: cp/pt.c:7150
+-#, fuzzy, gcc-internal-format
+-msgid "function returning a function"
+-msgstr "`%s'Nka Umumaro a Umumaro"
+-
+-#: cp/pt.c:7177
+-#, fuzzy, gcc-internal-format
+-msgid "creating pointer to member function of non-class type %qT"
+-msgstr "Mweretsi Kuri Umumaro Bya ishuri Ubwoko"
+-
+-#: cp/pt.c:7332
+-#, fuzzy, gcc-internal-format
+-msgid "creating array with negative size (%qE)"
+-msgstr "Imbonerahamwe Na: Ingano Zeru"
+-
+-#: cp/pt.c:7559
+-#, fuzzy, gcc-internal-format
+-msgid "forming reference to void"
+-msgstr "Indango Kuri"
+-
+-#: cp/pt.c:7561
+-#, fuzzy, gcc-internal-format
+-msgid "forming %s to reference type %qT"
+-msgstr "Kuri Indango Ubwoko"
+-
+-#: cp/pt.c:7598
+-#, fuzzy, gcc-internal-format
+-msgid "creating pointer to member of non-class type %qT"
+-msgstr "Mweretsi Kuri Bya ishuri Ubwoko"
+-
+-#: cp/pt.c:7604
+-#, fuzzy, gcc-internal-format
+-msgid "creating pointer to member reference type %qT"
+-msgstr "Mweretsi Kuri Indango Ubwoko"
+-
+-#: cp/pt.c:7610
+-#, fuzzy, gcc-internal-format
+-msgid "creating pointer to member of type void"
+-msgstr "Mweretsi Kuri Indango Ubwoko"
+-
+-#: cp/pt.c:7677
+-#, fuzzy, gcc-internal-format
+-msgid "creating array of %qT"
+-msgstr "Imbonerahamwe Bya"
+-
+-#: cp/pt.c:7683
+-#, gcc-internal-format
+-msgid "creating array of %qT, which is an abstract class type"
+-msgstr ""
+-
+-#: cp/pt.c:7727
+-#, fuzzy, gcc-internal-format
+-msgid "%qT is not a class, struct, or union type"
+-msgstr "`%T'ni OYA a ishuri Cyangwa Ihuza Ubwoko"
+-
+-#: cp/pt.c:7762
+-#, gcc-internal-format
+-msgid "%qT resolves to %qT, which is not an enumeration type"
+-msgstr ""
+-
+-#: cp/pt.c:7765
+-#, gcc-internal-format
+-msgid "%qT resolves to %qT, which is is not a class type"
+-msgstr ""
+-
+-#: cp/pt.c:7830
+-#, fuzzy, gcc-internal-format
+-msgid "use of %qs in template"
+-msgstr "Gukoresha Bya in Inyandikorugero"
+-
+-#: cp/pt.c:7967
+-#, fuzzy, gcc-internal-format
+-msgid "dependent-name %qE is parsed as a non-type, but instantiation yields a type"
+-msgstr "'%D'ni Nka a Ubwoko ni OYA Nka a Ubwoko"
+-
+-#: cp/pt.c:7969
+-#, fuzzy, gcc-internal-format
+-msgid "say %<typename %E%> if a type is meant"
+-msgstr "(Gukoresha NIBA"
+-
+-#: cp/pt.c:8096
+-#, fuzzy, gcc-internal-format
+-msgid "using invalid field %qD"
+-msgstr "Ibuze Umwanya"
+-
+-#: cp/pt.c:8985
+-#, gcc-internal-format
+-msgid "a cast to a type other than an integral or enumeration type cannot appear in a constant-expression"
+-msgstr ""
+-
+-#: cp/pt.c:9342
+-#, fuzzy, gcc-internal-format
+-msgid "%qT is not a class or namespace"
+-msgstr "`%T'ni OYA a ishuri Cyangwa"
+-
+-#: cp/pt.c:9345
+-#, fuzzy, gcc-internal-format
+-msgid "%qD is not a class or namespace"
+-msgstr "`%T'ni OYA a ishuri Cyangwa"
+-
+-#: cp/pt.c:9498
+-#, fuzzy, gcc-internal-format
+-msgid "%qT is/uses anonymous type"
+-msgstr "Inyandikorugero Ubwoko"
+-
+-#: cp/pt.c:9500
+-#, fuzzy, gcc-internal-format
+-msgid "template argument for %qD uses local type %qT"
+-msgstr "Inyandikorugero Ubwoko"
+-
+-#: cp/pt.c:9510
+-#, fuzzy, gcc-internal-format
+-msgid "%qT is a variably modified type"
+-msgstr "Inyandikorugero ni a Byahinduwe Ubwoko"
+-
+-#: cp/pt.c:9521
+-#, fuzzy, gcc-internal-format
+-msgid "integral expression %qE is not constant"
+-msgstr "Ikigize: ni OYA"
+-
+-#: cp/pt.c:9526
+-#, fuzzy, gcc-internal-format
+-msgid " trying to instantiate %qD"
+-msgstr "Kuri"
+-
+-#: cp/pt.c:11571
+-#, fuzzy, gcc-internal-format
+-msgid "ambiguous class template instantiation for %q#T"
+-msgstr "ishuri Inyandikorugero kugirango"
+-
+-# #-#-#-#-# dbaccess.pot (PACKAGE VERSION) #-#-#-#-#
+-# #-#-#-#-# dbaccess.pot (PACKAGE VERSION) #-#-#-#-#
+-# #-#-#-#-# dbaccess.pot (PACKAGE VERSION) #-#-#-#-#
+-#: cp/pt.c:11574
+-#, fuzzy, gcc-internal-format
+-msgid "%s %+#T"
+-msgstr "%s%+#T"
+-
+-#: cp/pt.c:11597 cp/pt.c:11668
+-#, fuzzy, gcc-internal-format
+-msgid "explicit instantiation of non-template %q#D"
+-msgstr "Bya Inyandikorugero"
+-
+-#: cp/pt.c:11613 cp/pt.c:11663
+-#, fuzzy, gcc-internal-format
+-msgid "no matching template for %qD found"
+-msgstr "Oya Inyandikorugero kugirango Byabonetse"
+-
+-#: cp/pt.c:11619
+-#, fuzzy, gcc-internal-format
+-msgid "explicit instantiation of %q#D"
+-msgstr "Bya"
+-
+-#: cp/pt.c:11655
+-#, fuzzy, gcc-internal-format
+-msgid "duplicate explicit instantiation of %q#D"
+-msgstr "Gusubiramo Bya"
+-
+-#: cp/pt.c:11677
+-#, fuzzy, gcc-internal-format
+-msgid "ISO C++ forbids the use of %<extern%> on explicit instantiations"
+-msgstr "C i Gukoresha Bya ku"
+-
+-#: cp/pt.c:11682 cp/pt.c:11775
+-#, fuzzy, gcc-internal-format
+-msgid "storage class %qD applied to template instantiation"
+-msgstr "ishuri Byashyizweho Kuri Inyandikorugero"
+-
+-#: cp/pt.c:11747
+-#, fuzzy, gcc-internal-format
+-msgid "explicit instantiation of non-template type %qT"
+-msgstr "Bya Inyandikorugero Ubwoko"
+-
+-#: cp/pt.c:11756
+-#, fuzzy, gcc-internal-format
+-msgid "explicit instantiation of %q#T before definition of template"
+-msgstr "Bya Mbere Insobanuro Bya Inyandikorugero"
+-
+-#: cp/pt.c:11764
+-#, fuzzy, gcc-internal-format
+-msgid "ISO C++ forbids the use of %qE on explicit instantiations"
+-msgstr "C i Gukoresha Bya ku"
+-
+-#: cp/pt.c:11809
+-#, fuzzy, gcc-internal-format
+-msgid "duplicate explicit instantiation of %q#T"
+-msgstr "Gusubiramo Bya"
+-
+-#: cp/pt.c:12225
+-#, fuzzy, gcc-internal-format
+-msgid "explicit instantiation of %qD but no definition available"
+-msgstr "Bya Oya Insobanuro Bihari"
+-
+-#: cp/pt.c:12383
+-#, 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)"
+-msgstr "Inyandikorugero Ubujyakuzimu Kinini Bya Gukoresha Ubujyakuzimu Kuri i Kinini"
+-
+-#: cp/pt.c:12657
+-#, fuzzy, gcc-internal-format
+-msgid "%q#T is not a valid type for a template constant parameter"
+-msgstr "`%#T'ni OYA a Byemewe Ubwoko kugirango a Inyandikorugero"
+-
+-#: cp/repo.c:112
+-#, fuzzy, gcc-internal-format
+-msgid "-frepo must be used with -c"
+-msgstr "-Na: C"
+-
+-#: cp/repo.c:201
+-#, fuzzy, gcc-internal-format
+-msgid "mysterious repository information in %s"
+-msgstr "Ibisobanuro in"
+-
+-#: cp/repo.c:215
+-#, fuzzy, gcc-internal-format
+-msgid "can't create repository information file %qs"
+-msgstr "Kurema Ibisobanuro IDOSIYE"
+-
+-#: cp/rtti.c:270
+-#, fuzzy, gcc-internal-format
+-msgid "cannot use typeid with -fno-rtti"
+-msgstr "Gukoresha Na:"
+-
+-#: cp/rtti.c:276
+-#, fuzzy, gcc-internal-format
+-msgid "must #include <typeinfo> before using typeid"
+-msgstr "Gushyiramo Mbere ikoresha"
+-
+-#: cp/rtti.c:347
+-#, fuzzy, gcc-internal-format
+-msgid "cannot create type information for type %qT because it involves types of variable size"
+-msgstr "Kurema Ubwoko Ibisobanuro kugirango Ubwoko Ingano ni IMPINDURAGACIRO"
+-
+-#: cp/rtti.c:600 cp/rtti.c:614
+-#, fuzzy, gcc-internal-format
+-msgid "dynamic_cast of %q#D to %q#T can never succeed"
+-msgstr "Bya Kuri Nta narimwe"
+-
+-#: cp/rtti.c:624
+-#, fuzzy, gcc-internal-format
+-msgid "%<dynamic_cast%> not permitted with -fno-rtti"
+-msgstr "Gukoresha Na:"
+-
+-#: cp/rtti.c:702
+-#, fuzzy, gcc-internal-format
+-msgid "cannot dynamic_cast %qE (of type %q#T) to type %q#T (%s)"
+-msgstr "Bya Ubwoko Kuri Ubwoko"
+-
+-#: cp/search.c:257
+-#, fuzzy, gcc-internal-format
+-msgid "%qT is an ambiguous base of %qT"
+-msgstr "`%T'ni SHINGIRO Bya"
+-
+-#: cp/search.c:275
+-#, fuzzy, gcc-internal-format
+-msgid "%qT is an inaccessible base of %qT"
+-msgstr "`%T'ni SHINGIRO Bya"
+-
+-#: cp/search.c:1865
+-#, fuzzy, gcc-internal-format
+-msgid "deprecated covariant return type for %q+#D"
+-msgstr "Sibyo Garuka Ubwoko kugirango"
+-
+-#: cp/search.c:1867 cp/search.c:1882 cp/search.c:1887
+-#, gcc-internal-format
+-msgid " overriding %q+#D"
+-msgstr ""
+-
+-#: cp/search.c:1881
+-#, fuzzy, gcc-internal-format
+-msgid "invalid covariant return type for %q+#D"
+-msgstr "Sibyo Garuka Ubwoko kugirango"
+-
+-#: cp/search.c:1886
+-#, fuzzy, gcc-internal-format
+-msgid "conflicting return type specified for %q+#D"
+-msgstr "Garuka Ubwoko kugirango"
+-
+-#: cp/search.c:1896
+-#, fuzzy, gcc-internal-format
+-msgid "looser throw specifier for %q+#F"
+-msgstr "kugirango"
+-
+-#: cp/search.c:1897
+-#, gcc-internal-format
+-msgid " overriding %q+#F"
+-msgstr ""
+-
+-#. A static member function cannot match an inherited
+-#. virtual member function.
+-#: cp/search.c:1990
+-#, fuzzy, gcc-internal-format
+-msgid "%q+#D cannot be declared"
+-msgstr "`%D'OYA"
+-
+-#: cp/search.c:1991
+-#, fuzzy, gcc-internal-format
+-msgid " since %q+#D declared in base class"
+-msgstr "guhera in SHINGIRO ishuri"
+-
+-#: cp/semantics.c:1269
+-#, fuzzy, gcc-internal-format
+-msgid "type of asm operand %qE could not be determined"
+-msgstr "Ubwoko Bya OYA"
+-
+-#: cp/semantics.c:1392
+-#, fuzzy, gcc-internal-format
+-msgid "invalid use of member %q+D in static member function"
+-msgstr "Sibyo Gukoresha Bya in Umumaro"
+-
+-#: cp/semantics.c:1394
+-#, fuzzy, gcc-internal-format
+-msgid "invalid use of non-static data member %q+D"
+-msgstr "Sibyo Gukoresha Bya Umwanya"
+-
+-#: cp/semantics.c:1395 cp/semantics.c:1434
+-#, gcc-internal-format
+-msgid "from this location"
+-msgstr ""
+-
+-#: cp/semantics.c:1433
+-#, fuzzy, gcc-internal-format
+-msgid "object missing in reference to %q+D"
+-msgstr "Igikoresho Ibuze in Gukoresha Bya"
+-
+-#: cp/semantics.c:1863
+-#, fuzzy, gcc-internal-format
+-msgid "arguments to destructor are not allowed"
+-msgstr "Kuri Ikiranga Kinini"
+-
+-#: cp/semantics.c:1914
+-#, fuzzy, gcc-internal-format
+-msgid "%<this%> is unavailable for static member functions"
+-msgstr "`ni kugirango Imimaro"
+-
+-#: cp/semantics.c:1920
+-#, fuzzy, gcc-internal-format
+-msgid "invalid use of %<this%> in non-member function"
+-msgstr "Sibyo Gukoresha Bya in Umumaro"
+-
+-#: cp/semantics.c:1922
+-#, fuzzy, gcc-internal-format
+-msgid "invalid use of %<this%> at top level"
+-msgstr "Sibyo Gukoresha Bya ku Hejuru: urwego"
+-
+-#: cp/semantics.c:1946
+-#, fuzzy, gcc-internal-format
+-msgid "invalid qualifying scope in pseudo-destructor name"
+-msgstr "Sibyo ku Umumaro Ubwoko"
+-
+-#: cp/semantics.c:1951 cp/typeck.c:2005
+-#, fuzzy, gcc-internal-format
+-msgid "qualified type %qT does not match destructor name ~%qT"
+-msgstr "Ubwoko OYA BIHUYE Izina:"
+-
+-#: cp/semantics.c:1973
+-#, fuzzy, gcc-internal-format
+-msgid "%qE is not of type %qT"
+-msgstr "`%E'ni OYA Bya Ubwoko"
+-
+-#: cp/semantics.c:2015
+-#, gcc-internal-format
+-msgid "compound literal of non-object type %qT"
+-msgstr ""
+-
+-#: cp/semantics.c:2092
+-#, fuzzy, gcc-internal-format
+-msgid "template type parameters must use the keyword %<class%> or %<typename%>"
+-msgstr "Inyandikorugero Ubwoko Ibigenga Gukoresha i Ijambo- banze Cyangwa"
+-
+-#: cp/semantics.c:2129
+-#, gcc-internal-format
+-msgid "invalid use of type %qT as a default value for a template template-parameter"
+-msgstr ""
+-
+-#: cp/semantics.c:2132
+-#, fuzzy, gcc-internal-format
+-msgid "invalid default argument for a template template parameter"
+-msgstr "`%#T'ni OYA a Byemewe Ubwoko kugirango a Inyandikorugero"
+-
+-#: cp/semantics.c:2149
+-#, fuzzy, gcc-internal-format
+-msgid "definition of %q#T inside template parameter list"
+-msgstr "Insobanuro Bya Mo Imbere Inyandikorugero Urutonde"
+-
+-#: cp/semantics.c:2160
+-#, fuzzy, gcc-internal-format
+-msgid "invalid definition of qualified type %qT"
+-msgstr "Sibyo Insobanuro Bya Ubwoko"
+-
+-#: cp/semantics.c:2367
+-#, fuzzy, gcc-internal-format
+-msgid "invalid base-class specification"
+-msgstr "Sibyo SHINGIRO ishuri"
+-
+-#: cp/semantics.c:2376
+-#, fuzzy, gcc-internal-format
+-msgid "base class %qT has cv qualifiers"
+-msgstr "SHINGIRO ishuri"
+-
+-#: cp/semantics.c:2398
+-#, fuzzy, gcc-internal-format
+-msgid "incomplete type %qT used in nested name specifier"
+-msgstr "Ubwoko Kuri Izina: a Ingano:"
+-
+-#: cp/semantics.c:2401
+-#, fuzzy, gcc-internal-format
+-msgid "reference to %<%T::%D%> is ambiguous"
+-msgstr "Gukoresha Bya ni"
+-
+-#: cp/semantics.c:2405 cp/typeck.c:1814
+-#, fuzzy, gcc-internal-format
+-msgid "%qD is not a member of %qT"
+-msgstr "`%D'ni OYA a Bya"
+-
+-#: cp/semantics.c:2408
+-#, fuzzy, gcc-internal-format
+-msgid "%qD is not a member of %qD"
+-msgstr "`%D'ni OYA a Bya"
+-
+-#: cp/semantics.c:2551
+-#, fuzzy, gcc-internal-format
+-msgid "use of %<auto%> variable from containing function"
+-msgstr "Gukoresha Bya Bivuye Umumaro"
+-
+-#: cp/semantics.c:2552
+-#, fuzzy, gcc-internal-format
+-msgid "use of parameter from containing function"
+-msgstr "Gukoresha Bya Bivuye Umumaro"
+-
+-#: cp/semantics.c:2553
+-#, fuzzy, gcc-internal-format
+-msgid " %q+#D declared here"
+-msgstr "Nka"
+-
+-#: cp/semantics.c:2591
+-#, gcc-internal-format
+-msgid "template parameter %qD of type %qT is not allowed in an integral constant expression because it is not of integral or enumeration type"
+-msgstr ""
+-
+-#: cp/semantics.c:2760
+-#, fuzzy, gcc-internal-format
+-msgid "%qD cannot appear in a constant-expression"
+-msgstr "Byarenze urugero in imvugo"
+-
+-#: cp/semantics.c:2768
+-#, fuzzy, gcc-internal-format
+-msgid "use of namespace %qD as expression"
+-msgstr "Gukoresha Bya Nka imvugo"
+-
+-#: cp/semantics.c:2773
+-#, fuzzy, gcc-internal-format
+-msgid "use of class template %qT as expression"
+-msgstr "Gukoresha Bya ishuri Inyandikorugero Nka imvugo"
+-
+-#. Ambiguous reference to base members.
+-#: cp/semantics.c:2779
+-#, fuzzy, gcc-internal-format
+-msgid "request for member %qD is ambiguous in multiple inheritance lattice"
+-msgstr "Kubaza... kugirango ni in Igikubo"
+-
+-#: cp/semantics.c:2897
+-#, fuzzy, gcc-internal-format
+-msgid "type of %qE is unknown"
+-msgstr "Ubwoko Bya ni Kitazwi"
+-
+-#: cp/semantics.c:2912
+-#, gcc-internal-format
+-msgid "cannot apply %<offsetof%> to destructor %<~%T%>"
+-msgstr ""
+-
+-#: cp/semantics.c:2923
+-#, fuzzy, gcc-internal-format
+-msgid "cannot apply %<offsetof%> to member function %qD"
+-msgstr "Sibyo Porogaramu Bya Kuri a Umumaro"
+-
+-#: cp/semantics.c:3414
+-#, gcc-internal-format
+-msgid "num_threads expression must be integral"
+-msgstr ""
+-
+-#: cp/semantics.c:3428
+-#, gcc-internal-format
+-msgid "schedule chunk size expression must be integral"
+-msgstr ""
+-
+-#: cp/semantics.c:3558
+-#, fuzzy, gcc-internal-format
+-msgid "%qE has reference type for %qs"
+-msgstr "Indango Ubwoko"
+-
+-#: cp/semantics.c:3698
+-#, gcc-internal-format
+-msgid "%<threadprivate%> %qE is not file, namespace or block scope variable"
+-msgstr ""
+-
+-#: cp/tree.c:580
+-#, fuzzy, gcc-internal-format
+-msgid "%qV qualifiers cannot be applied to %qT"
+-msgstr "`%V'Byashyizweho Kuri"
+-
+-#: cp/tree.c:1811
+-#, fuzzy, gcc-internal-format
+-msgid "%qE attribute can only be applied to Java class definitions"
+-msgstr "`%s'Ikiranga Byashyizweho Kuri ishuri"
+-
+-#: cp/tree.c:1840
+-#, fuzzy, gcc-internal-format
+-msgid "%qE attribute can only be applied to class definitions"
+-msgstr "`%s'Ikiranga Byashyizweho Kuri ishuri"
+-
+-#: cp/tree.c:1846
+-#, fuzzy, gcc-internal-format
+-msgid "%qE is obsolete; g++ vtables are now COM-compatible by default"
+-msgstr "`%s'ni g NONEAHA ku Mburabuzi"
+-
+-#: cp/tree.c:1870
+-#, fuzzy, gcc-internal-format
+-msgid "requested init_priority is not an integer constant"
+-msgstr "ni OYA Umubare wuzuye"
+-
+-#: cp/tree.c:1891
+-#, fuzzy, gcc-internal-format
+-msgid "can only use %qE attribute on file-scope definitions of objects of class type"
+-msgstr "Gukoresha Ikiranga ku IDOSIYE Ingano: Bya Ibintu Bya ishuri Ubwoko"
+-
+-#: cp/tree.c:1899
+-#, fuzzy, gcc-internal-format
+-msgid "requested init_priority is out of range"
+-msgstr "ni Inyuma Bya Urutonde"
+-
+-#: cp/tree.c:1909
+-#, fuzzy, gcc-internal-format
+-msgid "requested init_priority is reserved for internal use"
+-msgstr "ni kugirango By'imbere Gukoresha"
+-
+-#: cp/tree.c:1920
+-#, fuzzy, gcc-internal-format
+-msgid "%qE attribute is not supported on this platform"
+-msgstr "`%s'Ikiranga ni OYA ku iyi"
+-
+-#: cp/typeck.c:438 cp/typeck.c:452 cp/typeck.c:552
+-#, fuzzy, gcc-internal-format
+-msgid "%s between distinct pointer types %qT and %qT lacks a cast"
+-msgstr "%shagati Mweretsi Na a"
+-
+-#: cp/typeck.c:514
+-#, fuzzy, gcc-internal-format
+-msgid "ISO C++ forbids %s between pointer of type %<void *%> and pointer-to-function"
+-msgstr "C hagati Mweretsi Bya Ubwoko Na Mweretsi Kuri Umumaro"
+-
+-#: cp/typeck.c:572
+-#, fuzzy, gcc-internal-format
+-msgid "%s between distinct pointer-to-member types %qT and %qT lacks a cast"
+-msgstr "%shagati Mweretsi Na a"
+-
+-#: cp/typeck.c:1255
+-#, fuzzy, gcc-internal-format
+-msgid "invalid application of %qs to a member function"
+-msgstr "Sibyo Porogaramu Bya Kuri a Umumaro"
+-
+-#: cp/typeck.c:1305
+-#, fuzzy, gcc-internal-format
+-msgid "invalid application of %<sizeof%> to a bit-field"
+-msgstr "Sibyo Porogaramu Bya Kuri a Umumaro Ubwoko"
+-
+-#: cp/typeck.c:1310
+-#, fuzzy, gcc-internal-format
+-msgid "ISO C++ forbids applying %<sizeof%> to an expression of function type"
+-msgstr "C Kuri imvugo Bya Umumaro Ubwoko"
+-
+-#: cp/typeck.c:1353
+-#, fuzzy, gcc-internal-format
+-msgid "invalid application of %<__alignof%> to a bit-field"
+-msgstr "Sibyo Porogaramu Bya Kuri a Ubwoko"
+-
+-#: cp/typeck.c:1361
+-#, fuzzy, gcc-internal-format
+-msgid "ISO C++ forbids applying %<__alignof%> to an expression of function type"
+-msgstr "C Kuri imvugo Bya Umumaro Ubwoko"
+-
+-#: cp/typeck.c:1409
+-#, fuzzy, gcc-internal-format
+-msgid "invalid use of non-static member function"
+-msgstr "Sibyo Gukoresha Bya in Umumaro"
+-
+-#: cp/typeck.c:1673
+-#, fuzzy, gcc-internal-format
+-msgid "deprecated conversion from string constant to %qT"
+-msgstr "Bitemewe. Ihindurangero Bivuye Ikurikiranyanyuguti Kuri"
+-
+-#: cp/typeck.c:1785 cp/typeck.c:2133
+-#, fuzzy, gcc-internal-format
+-msgid "request for member %qD in %qE, which is of non-class type %qT"
+-msgstr "Kubaza... kugirango in ni Bya ishuri Ubwoko"
+-
+-#: cp/typeck.c:1812
+-#, fuzzy, gcc-internal-format
+-msgid "invalid use of nonstatic data member %qE"
+-msgstr "Sibyo Gukoresha Bya Umwanya"
+-
+-#: cp/typeck.c:1864 cp/typeck.c:1892
+-#, fuzzy, gcc-internal-format
+-msgid "invalid access to non-static data member %qD of NULL object"
+-msgstr "Sibyo Kuri Ibyatanzwe Bya Igikoresho"
+-
+-#: cp/typeck.c:1867 cp/typeck.c:1894
+-#, fuzzy, gcc-internal-format
+-msgid "(perhaps the %<offsetof%> macro was used incorrectly)"
+-msgstr "(i Makoro"
+-
+-#: cp/typeck.c:2011
+-#, gcc-internal-format
+-msgid "the type being destroyed is %qT, but the destructor refers to %qT"
+-msgstr ""
+-
+-#: cp/typeck.c:2171
+-#, fuzzy, gcc-internal-format
+-msgid "%<%D::%D%> is not a member of %qT"
+-msgstr "`%D::%D'ni OYA a Bya"
+-
+-#: cp/typeck.c:2186
+-#, fuzzy, gcc-internal-format
+-msgid "%qT is not a base of %qT"
+-msgstr "`%D'ni OYA a Bya"
+-
+-#: cp/typeck.c:2205
+-#, fuzzy, gcc-internal-format
+-msgid "%qD has no member named %qE"
+-msgstr "'%D'Oya"
+-
+-#: cp/typeck.c:2220
+-#, fuzzy, gcc-internal-format
+-msgid "%qD is not a member template function"
+-msgstr "`%D'ni OYA a Inyandikorugero Umumaro"
+-
+-#. A pointer to incomplete type (other than cv void) can be
+-#. dereferenced [expr.unary.op]/1
+-#: cp/typeck.c:2340
+-#, fuzzy, gcc-internal-format
+-msgid "%qT is not a pointer-to-object type"
+-msgstr "`%T'ni OYA a Mweretsi Kuri Igikoresho Ubwoko"
+-
+-#: cp/typeck.c:2365
+-#, fuzzy, gcc-internal-format
+-msgid "invalid use of %qs on pointer to member"
+-msgstr "Sibyo Gukoresha Bya ku Mweretsi Kuri"
+-
+-#: cp/typeck.c:2371
+-#, fuzzy, gcc-internal-format
+-msgid "invalid type argument"
+-msgstr "Sibyo Ubwoko"
+-
+-#: cp/typeck.c:2394
+-#, fuzzy, gcc-internal-format
+-msgid "subscript missing in array reference"
+-msgstr "Inyandiko nyesi Ibuze in Imbonerahamwe Indango"
+-
+-#: cp/typeck.c:2468
+-#, fuzzy, gcc-internal-format
+-msgid "ISO C++ forbids subscripting non-lvalue array"
+-msgstr "C Imbonerahamwe"
+-
+-#: cp/typeck.c:2479
+-#, fuzzy, gcc-internal-format
+-msgid "subscripting array declared %<register%>"
+-msgstr "Imbonerahamwe"
+-
+-#: cp/typeck.c:2562
+-#, fuzzy, gcc-internal-format
+-msgid "object missing in use of %qE"
+-msgstr "Igikoresho Ibuze in Gukoresha Bya"
+-
+-#: cp/typeck.c:2676
+-#, fuzzy, gcc-internal-format
+-msgid "ISO C++ forbids calling %<::main%> from within program"
+-msgstr "C Bivuye muri Porogaramu"
+-
+-#: cp/typeck.c:2701
+-#, fuzzy, gcc-internal-format
+-msgid "must use %<.*%> or %<->*%> to call pointer-to-member function in %<%E (...)%>"
+-msgstr "Gukoresha Cyangwa Kuri Mweretsi Kuri Umumaro in"
+-
+-#: cp/typeck.c:2715
+-#, fuzzy, gcc-internal-format
+-msgid "%qE cannot be used as a function"
+-msgstr "`%E'Nka a Umumaro"
+-
+-#: cp/typeck.c:2795
+-#, fuzzy, gcc-internal-format
+-msgid "too many arguments to %s %q+#D"
+-msgstr "ingingo Kuri"
+-
+-#: cp/typeck.c:2796 cp/typeck.c:2898
+-#, fuzzy, gcc-internal-format
+-msgid "at this point in file"
+-msgstr "ku iyi Akadomo in IDOSIYE"
+-
+-#: cp/typeck.c:2799
+-#, fuzzy, gcc-internal-format
+-msgid "too many arguments to function"
+-msgstr "ingingo Kuri Umumaro"
+-
+-#: cp/typeck.c:2833
+-#, fuzzy, gcc-internal-format
+-msgid "parameter %P of %qD has incomplete type %qT"
+-msgstr "Ubwoko"
+-
+-#: cp/typeck.c:2836
+-#, fuzzy, gcc-internal-format
+-msgid "parameter %P has incomplete type %qT"
+-msgstr "Ubwoko"
+-
+-#: cp/typeck.c:2897
+-#, fuzzy, gcc-internal-format
+-msgid "too few arguments to %s %q+#D"
+-msgstr "ingingo Kuri"
+-
+-#: cp/typeck.c:2901
+-#, fuzzy, gcc-internal-format
+-msgid "too few arguments to function"
+-msgstr "ingingo Kuri Umumaro"
+-
+-#: cp/typeck.c:3049 cp/typeck.c:3059
+-#, fuzzy, gcc-internal-format
+-msgid "assuming cast to type %qT from overloaded function"
+-msgstr "Kuri Ubwoko Bivuye Umumaro"
+-
+-#: cp/typeck.c:3141
+-#, fuzzy, gcc-internal-format
+-msgid "division by zero in %<%E / 0%>"
+-msgstr "ku Zeru in"
+-
+-#: cp/typeck.c:3143
+-#, fuzzy, gcc-internal-format
+-msgid "division by zero in %<%E / 0.%>"
+-msgstr "ku Zeru in 0"
+-
+-#: cp/typeck.c:3178
+-#, fuzzy, gcc-internal-format
+-msgid "division by zero in %<%E %% 0%>"
+-msgstr "ku Zeru in"
+-
+-#: cp/typeck.c:3180
+-#, fuzzy, gcc-internal-format
+-msgid "division by zero in %<%E %% 0.%>"
+-msgstr "ku Zeru in 0"
+-
+-#: cp/typeck.c:3260
+-#, fuzzy, gcc-internal-format
+-msgid "%s rotate count is negative"
+-msgstr "%sKuzerutsa IBARA ni"
+-
+-#: cp/typeck.c:3263
+-#, fuzzy, gcc-internal-format
+-msgid "%s rotate count >= width of type"
+-msgstr "%sKuzerutsa IBARA Ubugari Bya Ubwoko"
+-
+-#: cp/typeck.c:3302 cp/typeck.c:3307 cp/typeck.c:3408 cp/typeck.c:3413
+-#, fuzzy, gcc-internal-format
+-msgid "ISO C++ forbids comparison between pointer and integer"
+-msgstr "C hagati Mweretsi Na Umubare wuzuye"
+-
+-#: cp/typeck.c:3427
+-#, fuzzy, gcc-internal-format
+-msgid "unordered comparison on non-floating point argument"
+-msgstr "ku Bihindagurika Akadomo"
+-
+-#: cp/typeck.c:3465
+-#, fuzzy, gcc-internal-format
+-msgid "invalid operands of types %qT and %qT to binary %qO"
+-msgstr "Sibyo Bya Na Kuri Nyabibiri"
+-
+-#: cp/typeck.c:3629
+-#, fuzzy, gcc-internal-format
+-msgid "comparison between types %q#T and %q#T"
+-msgstr "hagati Na"
+-
+-#: cp/typeck.c:3665
+-#, fuzzy, gcc-internal-format
+-msgid "comparison between signed and unsigned integer expressions"
+-msgstr "hagati Na Bitashizweho umukono Umubare wuzuye"
+-
+-#. Some sort of arithmetic operation involving NULL was
+-#. performed. Note that pointer-difference and pointer-addition
+-#. have already been handled above, and so we don't end up here in
+-#. that case.
+-#: cp/typeck.c:3744
+-#, fuzzy, gcc-internal-format
+-msgid "NULL used in arithmetic"
+-msgstr "in"
+-
+-#: cp/typeck.c:3802
+-#, fuzzy, gcc-internal-format
+-msgid "ISO C++ forbids using pointer of type %<void *%> in subtraction"
+-msgstr "C ikoresha Mweretsi Bya Ubwoko in Gukuramo"
+-
+-#: cp/typeck.c:3804
+-#, fuzzy, gcc-internal-format
+-msgid "ISO C++ forbids using pointer to a function in subtraction"
+-msgstr "C ikoresha Mweretsi Kuri a Umumaro in Gukuramo"
+-
+-#: cp/typeck.c:3806
+-#, fuzzy, gcc-internal-format
+-msgid "ISO C++ forbids using pointer to a method in subtraction"
+-msgstr "C ikoresha Mweretsi Kuri a Uburyo in Gukuramo"
+-
+-#: cp/typeck.c:3818
+-#, fuzzy, gcc-internal-format
+-msgid "invalid use of a pointer to an incomplete type in pointer arithmetic"
+-msgstr "Sibyo Gukoresha Bya a Mweretsi Kuri Ubwoko in Mweretsi"
+-
+-#: cp/typeck.c:3878
+-#, fuzzy, gcc-internal-format
+-msgid "invalid use of %qE to form a pointer-to-member-function"
+-msgstr "Sibyo Gukoresha Bya Kuri Ifishi a Mweretsi Kuri Umumaro a ID"
+-
+-#: cp/typeck.c:3881
+-#, gcc-internal-format
+-msgid " a qualified-id is required"
+-msgstr ""
+-
+-#: cp/typeck.c:3886
+-#, fuzzy, gcc-internal-format
+-msgid "parentheses around %qE cannot be used to form a pointer-to-member-function"
+-msgstr "Kuri Ifishi a Mweretsi Kuri Umumaro"
+-
+-#: cp/typeck.c:3909
+-#, fuzzy, gcc-internal-format
+-msgid "taking address of temporary"
+-msgstr "Aderesi Bya By'igihe gito"
+-
+-#: cp/typeck.c:4157
+-#, fuzzy, gcc-internal-format
+-msgid "ISO C++ forbids %sing an enum"
+-msgstr "C"
+-
+-#: cp/typeck.c:4168
+-#, fuzzy, gcc-internal-format
+-msgid "cannot %s a pointer to incomplete type %qT"
+-msgstr "a Mweretsi Kuri Ubwoko"
+-
+-#: cp/typeck.c:4174
+-#, fuzzy, gcc-internal-format
+-msgid "ISO C++ forbids %sing a pointer of type %qT"
+-msgstr "C a Mweretsi Bya Ubwoko"
+-
+-#: cp/typeck.c:4199
+-#, fuzzy, gcc-internal-format
+-msgid "cast to non-reference type used as lvalue"
+-msgstr "Kuri Indango Ubwoko Nka"
+-
+-#: cp/typeck.c:4234
+-#, fuzzy, gcc-internal-format
+-msgid "invalid use of %<--%> on bool variable %qD"
+-msgstr "Sibyo Gukoresha Bya ku IMPINDURAGACIRO"
+-
+-#. ARM $3.4
+-#: cp/typeck.c:4263
+-#, fuzzy, gcc-internal-format
+-msgid "ISO C++ forbids taking address of function %<::main%>"
+-msgstr "C Aderesi Bya Umumaro"
+-
+-#. An expression like &memfn.
+-#: cp/typeck.c:4319
+-#, fuzzy, gcc-internal-format
+-msgid "ISO C++ forbids taking the address of an unqualified or parenthesized non-static member function to form a pointer to member function. Say %<&%T::%D%>"
+-msgstr "C i Aderesi Bya Umumaro Kuri Ifishi a Mweretsi Kuri Umumaro"
+-
+-#: cp/typeck.c:4324
+-#, fuzzy, gcc-internal-format
+-msgid "ISO C++ forbids taking the address of a bound member function to form a pointer to member function. Say %<&%T::%D%>"
+-msgstr "C i Aderesi Bya a Umumaro Kuri Ifishi a Mweretsi Kuri Umumaro"
+-
+-#: cp/typeck.c:4352
+-#, fuzzy, gcc-internal-format
+-msgid "ISO C++ forbids taking the address of a cast to a non-lvalue expression"
+-msgstr "C i Aderesi Bya a Kuri a imvugo"
+-
+-#: cp/typeck.c:4376
+-#, fuzzy, gcc-internal-format
+-msgid "cannot create pointer to reference member %qD"
+-msgstr "Kurema Mweretsi Kuri Indango"
+-
+-#: cp/typeck.c:4587
+-#, fuzzy, gcc-internal-format
+-msgid "cannot take the address of %<this%>, which is an rvalue expression"
+-msgstr "i Aderesi Bya ni imvugo"
+-
+-#: cp/typeck.c:4610
+-#, fuzzy, gcc-internal-format
+-msgid "address of explicit register variable %qD requested"
+-msgstr "Aderesi Bya Kwiyandikisha IMPINDURAGACIRO"
+-
+-#: cp/typeck.c:4615
+-#, fuzzy, gcc-internal-format
+-msgid "address requested for %qD, which is declared %<register%>"
+-msgstr "Aderesi kugirango ni"
+-
+-#: cp/typeck.c:4681
+-#, fuzzy, gcc-internal-format
+-msgid "%s expression list treated as compound expression"
+-msgstr "Urutonde Nka imvugo"
+-
+-#: cp/typeck.c:5078
+-#, fuzzy, gcc-internal-format
+-msgid "invalid static_cast from type %qT to type %qT"
+-msgstr "Sibyo Bivuye Ubwoko Kuri Ubwoko"
+-
+-#: cp/typeck.c:5100
+-#, fuzzy, gcc-internal-format
+-msgid "converting from %qT to %qT"
+-msgstr "Guhindura.... Bivuye Kuri"
+-
+-#: cp/typeck.c:5148
+-#, fuzzy, gcc-internal-format
+-msgid "invalid cast of an rvalue expression of type %qT to type %qT"
+-msgstr "Sibyo Bya imvugo Bya Ubwoko Kuri Ubwoko"
+-
+-#: cp/typeck.c:5207
+-#, fuzzy, gcc-internal-format
+-msgid "cast from %qT to %qT loses precision"
+-msgstr "Bivuye Kuri"
+-
+-#: cp/typeck.c:5234
+-#, fuzzy, gcc-internal-format
+-msgid "cast from %qT to %qT increases required alignment of target type"
+-msgstr "Bivuye Kuri Bya ngombwa Itunganya Bya Intego Ubwoko"
+-
+-#. Only issue a warning, as we have always supported this
+-#. where possible, and it is necessary in some cases. DR 195
+-#. addresses this issue, but as of 2004/10/26 is still in
+-#. drafting.
+-#: cp/typeck.c:5253
+-#, fuzzy, gcc-internal-format
+-msgid "ISO C++ forbids casting between pointer-to-function and pointer-to-object"
+-msgstr "C hagati Mweretsi Kuri Umumaro Na Mweretsi Kuri Igikoresho"
+-
+-#: cp/typeck.c:5264
+-#, fuzzy, gcc-internal-format
+-msgid "invalid cast from type %qT to type %qT"
+-msgstr "Sibyo Bivuye Ubwoko Kuri Ubwoko"
+-
+-#: cp/typeck.c:5320
+-#, fuzzy, gcc-internal-format
+-msgid "invalid use of const_cast with type %qT, which is not a pointer, reference, nor a pointer-to-data-member type"
+-msgstr "Sibyo Gukoresha Bya Na: Ubwoko ni OYA a Mweretsi Indango a Mweretsi Kuri Ibyatanzwe Ubwoko"
+-
+-#: cp/typeck.c:5329
+-#, fuzzy, gcc-internal-format
+-msgid "invalid use of const_cast with type %qT, which is a pointer or reference to a function type"
+-msgstr "Sibyo Gukoresha Bya Na: Ubwoko ni a Mweretsi Cyangwa Indango Kuri a Umumaro Ubwoko"
+-
+-#: cp/typeck.c:5354
+-#, fuzzy, gcc-internal-format
+-msgid "invalid const_cast of an rvalue of type %qT to type %qT"
+-msgstr "Sibyo Bya Bya Ubwoko Kuri Ubwoko"
+-
+-#: cp/typeck.c:5405
+-#, fuzzy, gcc-internal-format
+-msgid "invalid const_cast from type %qT to type %qT"
+-msgstr "Sibyo Bivuye Ubwoko Kuri Ubwoko"
+-
+-#: cp/typeck.c:5473 cp/typeck.c:5478
+-#, fuzzy, gcc-internal-format
+-msgid "ISO C++ forbids casting to an array type %qT"
+-msgstr "C Kuri Imbonerahamwe Ubwoko"
+-
+-#: cp/typeck.c:5486
+-#, fuzzy, gcc-internal-format
+-msgid "invalid cast to function type %qT"
+-msgstr "Sibyo Kuri Umumaro Ubwoko"
+-
+-#: cp/typeck.c:5706
+-#, fuzzy, gcc-internal-format
+-msgid " in evaluation of %<%Q(%#T, %#T)%>"
+-msgstr "in Bya"
+-
+-#: cp/typeck.c:5775
+-#, fuzzy, gcc-internal-format
+-msgid "incompatible types in assignment of %qT to %qT"
+-msgstr "in Igenera Bya Kuri"
+-
+-#: cp/typeck.c:5786
+-#, fuzzy, gcc-internal-format
+-msgid "array used as initializer"
+-msgstr "Imbonerahamwe"
+-
+-#: cp/typeck.c:5788
+-#, fuzzy, gcc-internal-format
+-msgid "invalid array assignment"
+-msgstr "Sibyo in Igenera"
+-
+-#: cp/typeck.c:5910
+-#, fuzzy, gcc-internal-format
+-msgid " in pointer to member function conversion"
+-msgstr "in Mweretsi Kuri Umumaro Ihindurangero"
+-
+-#: cp/typeck.c:5921 cp/typeck.c:5947
+-#, fuzzy, gcc-internal-format
+-msgid "pointer to member cast via virtual base %qT"
+-msgstr "Mweretsi Kuri Biturutse Kitaboneka SHINGIRO Bya"
+-
+-#: cp/typeck.c:5924
+-#, fuzzy, gcc-internal-format
+-msgid "pointer to member conversion via virtual base %qT"
+-msgstr "Mweretsi Kuri Ihindurangero Biturutse Kitaboneka SHINGIRO Bya"
+-
+-#: cp/typeck.c:5933
+-#, fuzzy, gcc-internal-format
+-msgid " in pointer to member conversion"
+-msgstr "in Mweretsi Kuri Ihindurangero"
+-
+-#: cp/typeck.c:6023
+-#, fuzzy, gcc-internal-format
+-msgid "invalid conversion to type %qT from type %qT"
+-msgstr "Sibyo Ihindurangero Kuri Ubwoko Bivuye Ubwoko"
+-
+-#: cp/typeck.c:6267
+-#, fuzzy, gcc-internal-format
+-msgid "cannot convert %qT to %qT for argument %qP to %qD"
+-msgstr "GUHINDURA Kuri kugirango Kuri"
+-
+-#: cp/typeck.c:6270
+-#, fuzzy, gcc-internal-format
+-msgid "cannot convert %qT to %qT in %s"
+-msgstr "GUHINDURA Kuri in"
+-
+-#: cp/typeck.c:6281
+-#, fuzzy, gcc-internal-format
+-msgid "%s might be a candidate for a format attribute"
+-msgstr "Umumaro kugirango Imiterere Ikiranga"
+-
+-#: cp/typeck.c:6355 cp/typeck.c:6357
+-#, fuzzy, gcc-internal-format
+-msgid "in passing argument %P of %q+D"
+-msgstr "in Bya"
+-
+-#: cp/typeck.c:6407
+-#, fuzzy, gcc-internal-format
+-msgid "returning reference to temporary"
+-msgstr "Indango Kuri By'igihe gito"
+-
+-#: cp/typeck.c:6414
+-#, fuzzy, gcc-internal-format
+-msgid "reference to non-lvalue returned"
+-msgstr "Indango Kuri"
+-
+-#: cp/typeck.c:6430
+-#, fuzzy, gcc-internal-format
+-msgid "reference to local variable %q+D returned"
+-msgstr "Indango Kuri IMPINDURAGACIRO"
+-
+-#: cp/typeck.c:6433
+-#, fuzzy, gcc-internal-format
+-msgid "address of local variable %q+D returned"
+-msgstr "Aderesi Bya IMPINDURAGACIRO"
+-
+-#: cp/typeck.c:6467
+-#, fuzzy, gcc-internal-format
+-msgid "returning a value from a destructor"
+-msgstr "a Agaciro Bivuye a"
+-
+-#. If a return statement appears in a handler of the
+-#. function-try-block of a constructor, the program is ill-formed.
+-#: cp/typeck.c:6475
+-#, fuzzy, gcc-internal-format
+-msgid "cannot return from a handler of a function-try-block of a constructor"
+-msgstr "Garuka Bivuye a Bya a Umumaro Funga Bya a"
+-
+-#. You can't return a value from a constructor.
+-#: cp/typeck.c:6478
+-#, fuzzy, gcc-internal-format
+-msgid "returning a value from a constructor"
+-msgstr "a Agaciro Bivuye a"
+-
+-#: cp/typeck.c:6501
+-#, fuzzy, gcc-internal-format
+-msgid "return-statement with no value, in function returning %qT"
+-msgstr "`Na: Oya Agaciro in Umumaro"
+-
+-#: cp/typeck.c:6522
+-#, fuzzy, gcc-internal-format
+-msgid "return-statement with a value, in function returning 'void'"
+-msgstr "`Na: a Agaciro in Umumaro"
+-
+-#: cp/typeck.c:6553
+-#, fuzzy, gcc-internal-format
+-msgid "%<operator new%> must not return NULL unless it is declared %<throw()%> (or -fcheck-new is in effect)"
+-msgstr "`Mukoresha OYA Garuka ni Cyangwa Gishya ni in INGARUKA"
+-
+-#: cp/typeck2.c:54
+-#, fuzzy, gcc-internal-format
+-msgid "type %qT is not a base type for type %qT"
+-msgstr "Ubwoko ni OYA a SHINGIRO Ubwoko kugirango Ubwoko"
+-
+-#: cp/typeck2.c:296
+-#, fuzzy, gcc-internal-format
+-msgid "cannot declare variable %q+D to be of abstract type %qT"
+-msgstr "IMPINDURAGACIRO Kuri Bya Ubwoko"
+-
+-#: cp/typeck2.c:299
+-#, fuzzy, gcc-internal-format
+-msgid "cannot declare parameter %q+D to be of abstract type %qT"
+-msgstr "Kuri Bya Ubwoko"
+-
+-#: cp/typeck2.c:302
+-#, fuzzy, gcc-internal-format
+-msgid "cannot declare field %q+D to be of abstract type %qT"
+-msgstr "Umwanya Kuri Bya Ubwoko"
+-
+-#: cp/typeck2.c:306
+-#, fuzzy, gcc-internal-format
+-msgid "invalid abstract return type for member function %q+#D"
+-msgstr "Sibyo Garuka Ubwoko kugirango Umumaro"
+-
+-#: cp/typeck2.c:308
+-#, fuzzy, gcc-internal-format
+-msgid "invalid abstract return type for function %q+#D"
+-msgstr "Sibyo Garuka Ubwoko kugirango Umumaro"
+-
+-#. Here we do not have location information.
+-#: cp/typeck2.c:311
+-#, fuzzy, gcc-internal-format
+-msgid "invalid abstract type %qT for %qE"
+-msgstr "Sibyo Ubwoko"
+-
+-#: cp/typeck2.c:313
+-#, fuzzy, gcc-internal-format
+-msgid "invalid abstract type for %q+D"
+-msgstr "Sibyo Garuka Ubwoko kugirango"
+-
+-#: cp/typeck2.c:316
+-#, fuzzy, gcc-internal-format
+-msgid "cannot allocate an object of abstract type %qT"
+-msgstr "Igikoresho Bya Ubwoko"
+-
+-#: cp/typeck2.c:324
+-#, fuzzy, gcc-internal-format
+-msgid "%J because the following virtual functions are pure within %qT:"
+-msgstr "i Kitaboneka Imimaro Incamake"
+-
+-# basctl/source\basicide\basidesh.src:RID_IMGBTN_REMOVEWATCH.text
+-#: cp/typeck2.c:328
+-#, fuzzy, gcc-internal-format
+-msgid "\t%+#D"
+-msgstr "%#D"
+-
+-#: cp/typeck2.c:335
+-#, fuzzy, gcc-internal-format
+-msgid "%J since type %qT has pure virtual functions"
+-msgstr "guhera Ubwoko Incamake Kitaboneka Imimaro"
+-
+-#: cp/typeck2.c:602
+-#, fuzzy, gcc-internal-format
+-msgid "constructor syntax used, but no constructor declared for type %qT"
+-msgstr "Oya kugirango Ubwoko"
+-
+-#: cp/typeck2.c:616
+-#, fuzzy, gcc-internal-format
+-msgid "cannot initialize arrays using this syntax"
+-msgstr "gutangiza ikoresha iyi"
+-
+-#: cp/typeck2.c:692
+-#, fuzzy, gcc-internal-format
+-msgid "int-array initialized from non-wide string"
+-msgstr "INT Imbonerahamwe Bivuye Ikurikiranyanyuguti"
+-
+-#: cp/typeck2.c:731
+-#, gcc-internal-format
+-msgid "cannot initialize aggregate of type %qT with a compound literal"
+-msgstr ""
+-
+-#: cp/typeck2.c:740
+-#, gcc-internal-format
+-msgid "array must be initialized with a brace-enclosed initializer"
+-msgstr ""
+-
+-#: cp/typeck2.c:816 cp/typeck2.c:917
+-#, fuzzy, gcc-internal-format
+-msgid "non-trivial designated initializers not supported"
+-msgstr "C OYA Kwemerera"
+-
+-#: cp/typeck2.c:940 cp/typeck2.c:954
+-#, fuzzy, gcc-internal-format
+-msgid "missing initializer for member %qD"
+-msgstr "Ibuze kugirango"
+-
+-#: cp/typeck2.c:945
+-#, fuzzy, gcc-internal-format
+-msgid "uninitialized const member %qD"
+-msgstr "Itatangijwe"
+-
+-#: cp/typeck2.c:947
+-#, fuzzy, gcc-internal-format
+-msgid "member %qD with uninitialized const fields"
+-msgstr "Na: Itatangijwe Imyanya"
+-
+-#: cp/typeck2.c:949
+-#, fuzzy, gcc-internal-format
+-msgid "member %qD is uninitialized reference"
+-msgstr "ni Itatangijwe Indango"
+-
+-#: cp/typeck2.c:1004
+-#, fuzzy, gcc-internal-format
+-msgid "no field %qD found in union being initialized"
+-msgstr "Oya Umwanya in Ihuza"
+-
+-#: cp/typeck2.c:1013
+-#, fuzzy, gcc-internal-format
+-msgid "index value instead of field name in union initializer"
+-msgstr "Umubarendanga Agaciro Bya Umwanya Izina: in Ihuza"
+-
+-#: cp/typeck2.c:1168
+-#, fuzzy, gcc-internal-format
+-msgid "circular pointer delegation detected"
+-msgstr "Cy'uruziga Mweretsi"
+-
+-#: cp/typeck2.c:1181
+-#, fuzzy, gcc-internal-format
+-msgid "base operand of %<->%> has non-pointer type %qT"
+-msgstr "SHINGIRO Bya Mweretsi Ubwoko"
+-
+-#: cp/typeck2.c:1205
+-#, fuzzy, gcc-internal-format
+-msgid "result of %<operator->()%> yields non-pointer result"
+-msgstr "Igisubizo Bya Mukoresha Mweretsi Igisubizo"
+-
+-#: cp/typeck2.c:1207
+-#, fuzzy, gcc-internal-format
+-msgid "base operand of %<->%> is not a pointer"
+-msgstr "SHINGIRO Bya ni OYA a Mweretsi"
+-
+-#: cp/typeck2.c:1229
+-#, fuzzy, gcc-internal-format
+-msgid "%qE cannot be used as a member pointer, since it is of type %qT"
+-msgstr "`%E'Nka a Mweretsi guhera ni Bya Ubwoko"
+-
+-#: cp/typeck2.c:1238
+-#, fuzzy, gcc-internal-format
+-msgid "cannot apply member pointer %qE to %qE, which is of non-class type %qT"
+-msgstr "Gukurikiza Mweretsi Kuri ni Bya Ubwoko"
+-
+-#: cp/typeck2.c:1260
+-#, fuzzy, gcc-internal-format
+-msgid "pointer to member type %qT incompatible with object type %qT"
+-msgstr "Ubwoko Na: Igikoresho Ubwoko"
+-
+-#: cp/typeck2.c:1482
+-#, fuzzy, gcc-internal-format
+-msgid "call to function %qD which throws incomplete type %q#T"
+-msgstr "Kuri Umumaro Ubwoko"
+-
+-#: cp/typeck2.c:1485
+-#, fuzzy, gcc-internal-format
+-msgid "call to function which throws incomplete type %q#T"
+-msgstr "Kuri Umumaro Ubwoko"
+-
+-#: fortran/f95-lang.c:280
+-#, gcc-internal-format
+-msgid "Unexpected type in truthvalue_conversion"
+-msgstr ""
+-
+-#: fortran/f95-lang.c:333
+-#, fuzzy, gcc-internal-format
+-msgid "can't open input file: %s"
+-msgstr "Gufunga Iyinjiza IDOSIYE"
+-
+-#: fortran/f95-lang.c:660
+-#, fuzzy, gcc-internal-format
+-msgid "global register variable %qs used in nested function"
+-msgstr "Kwiyandikisha IMPINDURAGACIRO in Umumaro"
+-
+-#: fortran/f95-lang.c:664
+-#, fuzzy, gcc-internal-format
+-msgid "register variable %qs used in nested function"
+-msgstr "Kwiyandikisha IMPINDURAGACIRO in Umumaro"
+-
+-#: fortran/f95-lang.c:671
+-#, fuzzy, gcc-internal-format
+-msgid "address of global register variable %qs requested"
+-msgstr "Aderesi Bya Kwiyandikisha IMPINDURAGACIRO"
+-
+-#: fortran/f95-lang.c:689
+-#, fuzzy, gcc-internal-format
+-msgid "address of register variable %qs requested"
+-msgstr "Aderesi Bya Kwiyandikisha IMPINDURAGACIRO"
+-
+-#: fortran/trans-array.c:3458
+-#, gcc-internal-format
+-msgid "Possible frontend bug: array constructor not expanded"
+-msgstr ""
+-
+-#: fortran/trans-array.c:4997
+-#, gcc-internal-format
+-msgid "Possible frontend bug: Deferred array size without pointer, allocatable attribute or derived type without allocatable components."
+-msgstr ""
+-
+-#: fortran/trans-array.c:5470
+-#, gcc-internal-format
+-msgid "bad expression type during walk (%d)"
+-msgstr ""
+-
+-#: fortran/trans-const.c:336
+-#, gcc-internal-format
+-msgid "gfc_conv_constant_to_tree(): invalid type: %s"
+-msgstr ""
+-
+-#: fortran/trans-decl.c:939
+-#, gcc-internal-format
+-msgid "intrinsic variable which isn't a procedure"
+-msgstr ""
+-
+-#: fortran/trans-decl.c:2567
+-#, fuzzy, gcc-internal-format
+-msgid "Function does not return a value"
+-msgstr "Umumaro OYA Garuka Ikurikiranyanyuguti Ubwoko"
+-
+-#. I don't think this should ever happen.
+-#: fortran/trans-decl.c:2718
+-#, gcc-internal-format
+-msgid "module symbol %s in wrong namespace"
+-msgstr ""
+-
+-#: fortran/trans-decl.c:2737
+-#, gcc-internal-format
+-msgid "backend decl for module variable %s already exists"
+-msgstr ""
+-
+-#: fortran/trans-decl.c:3213
+-#, fuzzy, gcc-internal-format
+-msgid "Function return value not set"
+-msgstr "Umumaro"
+-
+-#: fortran/trans-expr.c:1073
+-#, fuzzy, gcc-internal-format
+-msgid "Unknown intrinsic op"
+-msgstr "Kitazwi Ubwoko"
+-
+-#: fortran/trans-intrinsic.c:660
+-#, fuzzy, gcc-internal-format
+-msgid "Intrinsic function %s(%d) not recognized"
+-msgstr "Ururimi OYA"
+-
+-#: fortran/trans-io.c:1775
+-#, gcc-internal-format
+-msgid "Bad IO basetype (%d)"
+-msgstr ""
+-
+-#: fortran/trans-types.c:229
+-#, gcc-internal-format
+-msgid "integer kind=8 not available for -fdefault-integer-8 option"
+-msgstr ""
+-
+-#: fortran/trans-types.c:241
+-#, gcc-internal-format
+-msgid "real kind=8 not available for -fdefault-real-8 option"
+-msgstr ""
+-
+-#: fortran/trans-types.c:254
+-#, gcc-internal-format
+-msgid "Use of -fdefault-double-8 requires -fdefault-real-8"
+-msgstr ""
+-
+-#: fortran/trans-types.c:966
+-#, fuzzy, gcc-internal-format
+-msgid "Array element size too big"
+-msgstr "Ikigize: Agaciro ku Inyuma Bya Urutonde"
+-
+-#: fortran/trans.c:626
+-#, gcc-internal-format
+-msgid "gfc_trans_code(): Bad statement code"
+-msgstr ""
+-
+-#. I changed this from sorry(...) because it should not return.
+-#. TODO: Remove gfc_todo_error before releasing version 1.0.
+-#: fortran/trans.h:605
+-#, gcc-internal-format
+-msgid "gfc_todo: Not Implemented: "
+-msgstr ""
+-
+-#: java/check-init.c:248
+-#, gcc-internal-format
+-msgid "Can't reassign a value to the final variable %qs"
+-msgstr ""
+-
+-#: java/check-init.c:518 java/check-init.c:531
+-#, fuzzy, gcc-internal-format
+-msgid "variable %qD may not have been initialized"
+-msgstr "Umwanya Gicurasi OYA"
+-
+-#: java/check-init.c:948
+-#, fuzzy, gcc-internal-format
+-msgid "internal error in check-init: tree code not implemented: %s"
+-msgstr "By'imbere Ikosa in Kugenzura... ITEGEKONGENGA OYA"
+-
+-#: java/check-init.c:1021
+-#, fuzzy, gcc-internal-format
+-msgid "%Jfinal field %qD may not have been initialized"
+-msgstr "Umwanya Gicurasi OYA"
+-
+-#: java/class.c:766
+-#, fuzzy, gcc-internal-format
+-msgid "bad method signature"
+-msgstr "Uburyo Isinya"
+-
+-#: java/class.c:815
+-#, fuzzy, gcc-internal-format
+-msgid "misplaced ConstantValue attribute (not in any field)"
+-msgstr "Ikiranga OYA in Umwanya"
+-
+-#: java/class.c:818
+-#, fuzzy, gcc-internal-format
+-msgid "duplicate ConstantValue attribute for field '%s'"
+-msgstr "Gusubiramo Ikiranga kugirango Umwanya"
+-
+-#: java/class.c:829
+-#, fuzzy, gcc-internal-format
+-msgid "ConstantValue attribute of field '%s' has wrong type"
+-msgstr "Ikiranga Bya Umwanya Ubwoko"
+-
+-#: java/class.c:1511
+-#, fuzzy, gcc-internal-format
+-msgid "%Jabstract method in non-abstract class"
+-msgstr "Incamake Uburyo in Incamake ishuri"
+-
+-#: java/class.c:2499
+-#, fuzzy, gcc-internal-format
+-msgid "non-static method %q+D overrides static method"
+-msgstr "Uburyo Uburyo"
+-
+-#: java/decl.c:1248
+-#, fuzzy, gcc-internal-format
+-msgid "%q+D used prior to declaration"
+-msgstr "`%#D'Kuri"
+-
+-#: java/decl.c:1289
+-#, fuzzy, gcc-internal-format
+-msgid "declaration of %qs shadows a parameter"
+-msgstr "Bya a"
+-
+-#: java/decl.c:1292
+-#, fuzzy, gcc-internal-format
+-msgid "declaration of %qs shadows a symbol from the parameter list"
+-msgstr "Bya a IKIMENYETSO Bivuye i Urutonde"
+-
+-#: java/decl.c:1762
+-#, fuzzy, gcc-internal-format
+-msgid "In %+D: overlapped variable and exception ranges at %d"
+-msgstr "IMPINDURAGACIRO Na Irengayobora(-) Ibice ku"
+-
+-#: java/decl.c:1825
+-#, fuzzy, gcc-internal-format
+-msgid "bad type in parameter debug info"
+-msgstr "Ubwoko in Kosora amakosa Ibisobanuro"
+-
+-#: java/decl.c:1834
+-#, fuzzy, gcc-internal-format
+-msgid "bad PC range for debug info for local %q+D"
+-msgstr "Urutonde kugirango Kosora amakosa Ibisobanuro kugirango"
+-
+-#: java/expr.c:380
+-#, gcc-internal-format
+-msgid "need to insert runtime check for %s"
+-msgstr ""
+-
+-#: java/expr.c:509 java/expr.c:556
+-#, fuzzy, gcc-internal-format
+-msgid "assert: %s is assign compatible with %s"
+-msgstr "-Werurwe ni OYA Na: i Byahiswemo"
+-
+-#: java/expr.c:675
+-#, gcc-internal-format
+-msgid "stack underflow - dup* operation"
+-msgstr ""
+-
+-#: java/expr.c:1654
+-#, fuzzy, gcc-internal-format
+-msgid "reference %qs is ambiguous: appears in interface %qs and interface %qs"
+-msgstr "Indango ni in Na"
+-
+-#: java/expr.c:1682
+-#, fuzzy, gcc-internal-format
+-msgid "field %qs not found"
+-msgstr "Umwanya OYA Byabonetse"
+-
+-#: java/expr.c:2178
+-#, fuzzy, gcc-internal-format
+-msgid "method '%s' not found in class"
+-msgstr "Uburyo OYA Byabonetse in ishuri"
+-
+-#: java/expr.c:2385
+-#, fuzzy, gcc-internal-format
+-msgid "failed to find class '%s'"
+-msgstr "Byanze Kuri Gushaka ishuri"
+-
+-#: java/expr.c:2426
+-#, fuzzy, gcc-internal-format
+-msgid "class '%s' has no method named '%s' matching signature '%s'"
+-msgstr "ishuri Oya Uburyo Isinya"
+-
+-#: java/expr.c:2457
+-#, fuzzy, gcc-internal-format
+-msgid "invokestatic on non static method"
+-msgstr "ku Uburyo"
+-
+-#: java/expr.c:2462
+-#, fuzzy, gcc-internal-format
+-msgid "invokestatic on abstract method"
+-msgstr "ku Incamake Uburyo"
+-
+-#: java/expr.c:2470
+-#, fuzzy, gcc-internal-format
+-msgid "invoke[non-static] on static method"
+-msgstr "ku Uburyo"
+-
+-#: java/expr.c:2824
+-#, fuzzy, gcc-internal-format
+-msgid "missing field '%s' in '%s'"
+-msgstr "Ibuze Umwanya in"
+-
+-#: java/expr.c:2831
+-#, fuzzy, gcc-internal-format
+-msgid "mismatching signature for field '%s' in '%s'"
+-msgstr "Isinya kugirango Umwanya in"
+-
+-#: java/expr.c:2859
+-#, fuzzy, gcc-internal-format
+-msgid "assignment to final field %q+D not in field's class"
+-msgstr "Igenera Kuri Umwanya OYA in ishuri"
+-
+-#: java/expr.c:3085
+-#, fuzzy, gcc-internal-format
+-msgid "invalid PC in line number table"
+-msgstr "Sibyo in Umurongo Umubare imbonerahamwe#"
+-
+-#: java/expr.c:3133
+-#, fuzzy, gcc-internal-format
+-msgid "unreachable bytecode from %d to before %d"
+-msgstr "Bivuye Kuri Mbere"
+-
+-#: java/expr.c:3175
+-#, fuzzy, gcc-internal-format
+-msgid "unreachable bytecode from %d to the end of the method"
+-msgstr "Bivuye Kuri i Impera Bya i Uburyo"
+-
+-#. duplicate code from LOAD macro
+-#: java/expr.c:3480
+-#, gcc-internal-format
+-msgid "unrecogized wide sub-instruction"
+-msgstr ""
+-
+-#: java/gjavah.c:718
+-#, gcc-internal-format
+-msgid "static field has same name as method"
+-msgstr ""
+-
+-#: java/gjavah.c:1266
+-#, fuzzy, gcc-internal-format
+-msgid "couldn't find class %s"
+-msgstr "Gushaka ishuri"
+-
+-#: java/gjavah.c:1273
+-#, fuzzy, gcc-internal-format
+-msgid "parse error while reading %s"
+-msgstr "Ikosa Imyanya"
+-
+-#: java/gjavah.c:1499 java/gjavah.c:1601 java/gjavah.c:1676
+-#, fuzzy, gcc-internal-format
+-msgid "unparseable signature: '%s'"
+-msgstr "Kuri IDOSIYE"
+-
+-#: java/gjavah.c:2066
+-#, fuzzy, gcc-internal-format
+-msgid "Not a valid Java .class file."
+-msgstr "OYA a Byemewe ishuri IDOSIYE"
+-
+-#: java/gjavah.c:2074 java/jcf-parse.c:753
+-#, fuzzy, gcc-internal-format
+-msgid "error while parsing constant pool"
+-msgstr "Ikosa Itsinda"
+-
+-#: java/gjavah.c:2080
+-#, fuzzy, gcc-internal-format
+-msgid "error in constant pool entry #%d"
+-msgstr "Ikosa in Itsinda Icyinjijwe"
+-
+-#: java/gjavah.c:2223
+-#, fuzzy, gcc-internal-format
+-msgid "class is of array type\n"
+-msgstr "Imbonerahamwe Ubwoko"
+-
+-#: java/gjavah.c:2231
+-#, fuzzy, gcc-internal-format
+-msgid "base class is of array type"
+-msgstr "Imbonerahamwe Ubwoko"
+-
+-#: java/gjavah.c:2429 java/gjavah.c:2556
+-#, fuzzy, gcc-internal-format
+-msgid "no classes specified"
+-msgstr "Oya ishuri Izina: Na:"
+-
+-#: java/gjavah.c:2522
+-#, fuzzy, gcc-internal-format
+-msgid "'-MG' option is unimplemented"
+-msgstr "OYA"
+-
+-#: java/gjavah.c:2564
+-#, fuzzy, gcc-internal-format
+-msgid "can't specify both -o and -MD"
+-msgstr "Byombi C Na o"
+-
+-#: java/gjavah.c:2587
+-#, gcc-internal-format
+-msgid "%s: no such class"
+-msgstr ""
+-
+-#: java/jcf-io.c:549
+-#, fuzzy, gcc-internal-format
+-msgid "source file for class %qs is newer than its matching class file. Source file %qs used instead"
+-msgstr "Inkomoko IDOSIYE kugirango ishuri ni ishuri IDOSIYE IDOSIYE"
+-
+-#: java/jcf-parse.c:372
+-#, fuzzy, gcc-internal-format
+-msgid "bad string constant"
+-msgstr "Ikurikiranyanyuguti"
+-
+-#: java/jcf-parse.c:390
+-#, fuzzy, gcc-internal-format
+-msgid "bad value constant type %d, index %d"
+-msgstr "Agaciro Ubwoko Umubarendanga"
+-
+-#: java/jcf-parse.c:579
+-#, fuzzy, gcc-internal-format
+-msgid "can't reopen %s: %m"
+-msgstr "Gufungura"
+-
+-#: java/jcf-parse.c:586
+-#, fuzzy, gcc-internal-format
+-msgid "can't close %s: %m"
+-msgstr "Gufunga"
+-
+-#: java/jcf-parse.c:721 java/jcf-parse.c:727
+-#, fuzzy, gcc-internal-format
+-msgid "cannot find file for class %s"
+-msgstr "Gushaka IDOSIYE kugirango ishuri"
+-
+-#: java/jcf-parse.c:750
+-#, fuzzy, gcc-internal-format
+-msgid "not a valid Java .class file"
+-msgstr "OYA a Byemewe ishuri IDOSIYE"
+-
+-#. FIXME - where was first time
+-#: java/jcf-parse.c:768
+-#, fuzzy, gcc-internal-format
+-msgid "reading class %s for the second time from %s"
+-msgstr "ishuri kugirango i ISEGONDA Igihe Bivuye"
+-
+-#: java/jcf-parse.c:786
+-#, fuzzy, gcc-internal-format
+-msgid "error while parsing fields"
+-msgstr "Ikosa Imyanya"
+-
+-#: java/jcf-parse.c:789
+-#, fuzzy, gcc-internal-format
+-msgid "error while parsing methods"
+-msgstr "Ikosa"
+-
+-#: java/jcf-parse.c:792
+-#, fuzzy, gcc-internal-format
+-msgid "error while parsing final attributes"
+-msgstr "Ikosa Ibiranga"
+-
+-#: java/jcf-parse.c:809
+-#, fuzzy, gcc-internal-format
+-msgid "the %<java.lang.Object%> that was found in %qs didn't have the special zero-length %<gnu.gcj.gcj-compiled%> attribute. This generally means that your classpath is incorrectly set. Use %<info gcj \"Input Options\"%> to see the info page describing how to set the classpath"
+-msgstr "i java Byabonetse in i Bidasanzwe Zeru Uburebure Ikiranga Inzirashuri ni Gushyiraho Ibisobanuro Kuri i Ibisobanuro Ipaji Kuri Gushyiraho i Inzirashuri"
+-
+-#: java/jcf-parse.c:843
+-#, gcc-internal-format
+-msgid "%Hduplicate class will only be compiled once"
+-msgstr ""
+-
+-#: java/jcf-parse.c:897
+-#, fuzzy, gcc-internal-format
+-msgid "missing Code attribute"
+-msgstr "Ibuze Ikiranga"
+-
+-#: java/jcf-parse.c:1179
+-#, fuzzy, gcc-internal-format
+-msgid "no input file specified"
+-msgstr "Oya Iyinjiza IDOSIYE"
+-
+-#: java/jcf-parse.c:1214
+-#, fuzzy, gcc-internal-format
+-msgid "can't close input file %s: %m"
+-msgstr "Gufunga Iyinjiza IDOSIYE"
+-
+-#: java/jcf-parse.c:1261
+-#, fuzzy, gcc-internal-format
+-msgid "bad zip/jar file %s"
+-msgstr "Zipu IDOSIYE"
+-
+-#: java/jcf-parse.c:1479
+-#, fuzzy, gcc-internal-format
+-msgid "error while reading %s from zip file"
+-msgstr "Ikosa Imyanya"
+-
+-#: java/jcf-write.c:2668
+-#, fuzzy, gcc-internal-format
+-msgid "internal error in generate_bytecode_insn - tree code not implemented: %s"
+-msgstr "By'imbere Ikosa in ITEGEKONGENGA OYA"
+-
+-#: java/jcf-write.c:3041
+-#, fuzzy, gcc-internal-format
+-msgid "field initializer type mismatch"
+-msgstr "Umwanya Ubwoko"
+-
+-#: java/jcf-write.c:3497
+-#, fuzzy, gcc-internal-format
+-msgid "can't create directory %s: %m"
+-msgstr "Kurema bushyinguro"
+-
+-#: java/jcf-write.c:3534
+-#, fuzzy, gcc-internal-format
+-msgid "can't open %s for writing: %m"
+-msgstr "Gufungura kugirango"
+-
+-#: java/jcf-write.c:3556
+-#, fuzzy, gcc-internal-format
+-msgid "can't create %s: %m"
+-msgstr "Kurema"
+-
+-#: java/jv-scan.c:194
+-#, fuzzy, gcc-internal-format
+-msgid "only one of '--print-main', '--list-class', and '--complexity' allowed"
+-msgstr "Bya Gucapa Urutonde Na"
+-
+-#: java/jv-scan.c:197
+-#, fuzzy, gcc-internal-format
+-msgid "can't open output file '%s'"
+-msgstr "Gufungura Ibisohoka IDOSIYE"
+-
+-#: java/jv-scan.c:233
+-#, fuzzy, gcc-internal-format
+-msgid "file not found '%s'"
+-msgstr "Dosiye ntibonetse"
+-
+-#: java/jvspec.c:443
+-#, fuzzy, gcc-internal-format
+-msgid "warning: already-compiled .class files ignored with -C"
+-msgstr "Iburira ishuri Idosiye Na: C"
+-
+-#: java/lang.c:628
+-#, gcc-internal-format
+-msgid "-findirect-dispatch is incompatible with -freduced-reflection"
+-msgstr ""
+-
+-#: java/lang.c:631
+-#, fuzzy, gcc-internal-format
+-msgid "-fjni is incompatible with -freduced-reflection"
+-msgstr "-ni Na: ITEGEKONGENGA ni i Mburabuzi"
+-
+-#: java/lang.c:642
+-#, fuzzy, gcc-internal-format
+-msgid "can't do dependency tracking with input from stdin"
+-msgstr "Na: Iyinjiza Bivuye"
+-
+-#: java/lang.c:658
+-#, fuzzy, gcc-internal-format
+-msgid "couldn't determine target name for dependency tracking"
+-msgstr "Intego Izina: kugirango"
+-
+-#: java/lex.c:260
+-#, fuzzy, gcc-internal-format
+-msgid ""
+-"unknown encoding: %qs\n"
+-"This might mean that your locale's encoding is not supported\n"
+-"by your system's iconv(3) implementation. If you aren't trying\n"
+-"to use a particular encoding for your input file, try the\n"
+-"%<--encoding=UTF-8%> option"
+-msgstr "Kitazwi Imisobekere: Impuzandengo- Imisobekere: ni OYA 3. Gukoresha a Imisobekere: kugirango Iyinjiza IDOSIYE Imisobekere: Ihitamo"
+-
+-#: java/lex.c:631
+-#, fuzzy, gcc-internal-format
+-msgid "internal error - bad unget"
+-msgstr "By'imbere Ikosa Sibyo Izina:"
+-
+-#: java/mangle_name.c:140 java/mangle_name.c:210
+-#, fuzzy, gcc-internal-format
+-msgid "internal error - invalid Utf8 name"
+-msgstr "By'imbere Ikosa Sibyo Izina:"
+-
+-#: /scratch/mitchell/gcc-releases/gcc-4.2.0-20070316/gcc-4.2.0-20070316/gcc/java/parse.y:767
+-#, gcc-internal-format
+-msgid "Ambiguous class: %qs and %qs"
+-msgstr ""
+-
+-#: /scratch/mitchell/gcc-releases/gcc-4.2.0-20070316/gcc-4.2.0-20070316/gcc/java/parse.y:833
+-#, fuzzy, gcc-internal-format
+-msgid "Modifier %qs declared twice"
+-msgstr "Umwanya Nka a Umumaro"
+-
+-#: /scratch/mitchell/gcc-releases/gcc-4.2.0-20070316/gcc-4.2.0-20070316/gcc/java/parse.y:1081
+-#, gcc-internal-format
+-msgid "Discouraged form of returned type specification"
+-msgstr ""
+-
+-#: /scratch/mitchell/gcc-releases/gcc-4.2.0-20070316/gcc-4.2.0-20070316/gcc/java/parse.y:1176
+-#, gcc-internal-format
+-msgid "Can't define static initializer in class %qs. Static initializer can only be defined in top-level classes"
+-msgstr ""
+-
+-#: /scratch/mitchell/gcc-releases/gcc-4.2.0-20070316/gcc-4.2.0-20070316/gcc/java/parse.y:1472
+-#, gcc-internal-format
+-msgid "An empty declaration is a deprecated feature that should not be used"
+-msgstr ""
+-
+-#: /scratch/mitchell/gcc-releases/gcc-4.2.0-20070316/gcc-4.2.0-20070316/gcc/java/parse.y:3035
+-#, fuzzy, gcc-internal-format
+-msgid ": %qs JDK1.1(TM) feature"
+-msgstr ":`%s'1."
+-
+-# desktop/source\app\ssodlg.src:DLG_SSOLOGIN.text
+-#: /scratch/mitchell/gcc-releases/gcc-4.2.0-20070316/gcc-4.2.0-20070316/gcc/java/parse.y:3115
+-#: /scratch/mitchell/gcc-releases/gcc-4.2.0-20070316/gcc-4.2.0-20070316/gcc/java/parse.y:3117
+-#, fuzzy, gcc-internal-format
+-msgid ""
+-"%s.\n"
+-"%s"
+-msgstr "%s.%s"
+-
+-#: /scratch/mitchell/gcc-releases/gcc-4.2.0-20070316/gcc-4.2.0-20070316/gcc/java/parse.y:3277
+-#, fuzzy, gcc-internal-format
+-msgid "Missing return statement"
+-msgstr "Izina:"
+-
+-#: /scratch/mitchell/gcc-releases/gcc-4.2.0-20070316/gcc-4.2.0-20070316/gcc/java/parse.y:3299
+-#: /scratch/mitchell/gcc-releases/gcc-4.2.0-20070316/gcc-4.2.0-20070316/gcc/java/parse.y:12046
+-#: /scratch/mitchell/gcc-releases/gcc-4.2.0-20070316/gcc-4.2.0-20070316/gcc/java/parse.y:12050
+-#, fuzzy, gcc-internal-format
+-msgid "Unreachable statement"
+-msgstr "Inyandiko"
+-
+-#: /scratch/mitchell/gcc-releases/gcc-4.2.0-20070316/gcc-4.2.0-20070316/gcc/java/parse.y:3309
+-#, gcc-internal-format
+-msgid "Can't access %s field %<%s.%s%> from %qs"
+-msgstr ""
+-
+-#: /scratch/mitchell/gcc-releases/gcc-4.2.0-20070316/gcc-4.2.0-20070316/gcc/java/parse.y:3378
+-#, fuzzy, gcc-internal-format
+-msgid "%s %qs already defined in %s:%d"
+-msgstr "`%D'ni in"
+-
+-#: /scratch/mitchell/gcc-releases/gcc-4.2.0-20070316/gcc-4.2.0-20070316/gcc/java/parse.y:3396
+-#, gcc-internal-format
+-msgid "Variable %qs is already defined in this method and was declared %<%s %s%> at line %d"
+-msgstr ""
+-
+-#: /scratch/mitchell/gcc-releases/gcc-4.2.0-20070316/gcc-4.2.0-20070316/gcc/java/parse.y:3507
+-#, fuzzy, gcc-internal-format
+-msgid "Interface %qs repeated"
+-msgstr "Ubwoko ni Bitemewe."
+-
+-#: /scratch/mitchell/gcc-releases/gcc-4.2.0-20070316/gcc-4.2.0-20070316/gcc/java/parse.y:3537
+-#, gcc-internal-format
+-msgid "%s name %qs clashes with imported type %qs"
+-msgstr ""
+-
+-#: /scratch/mitchell/gcc-releases/gcc-4.2.0-20070316/gcc-4.2.0-20070316/gcc/java/parse.y:3569
+-#, gcc-internal-format
+-msgid "Public %s %qs must be defined in a file called %<%s.java%>"
+-msgstr ""
+-
+-#: /scratch/mitchell/gcc-releases/gcc-4.2.0-20070316/gcc-4.2.0-20070316/gcc/java/parse.y:3584
+-#, gcc-internal-format
+-msgid "Inner class %qs can't be static. Static classes can only occur in interfaces and top-level classes"
+-msgstr ""
+-
+-#: /scratch/mitchell/gcc-releases/gcc-4.2.0-20070316/gcc-4.2.0-20070316/gcc/java/parse.y:3665
+-#, gcc-internal-format
+-msgid "The class name %qs is already defined in this scope. An inner class may not have the same simple name as any of its enclosing classes"
+-msgstr ""
+-
+-#: /scratch/mitchell/gcc-releases/gcc-4.2.0-20070316/gcc-4.2.0-20070316/gcc/java/parse.y:3713
+-#, fuzzy, gcc-internal-format
+-msgid "Qualifier must be a reference"
+-msgstr "Ububiko Indango"
+-
+-#: /scratch/mitchell/gcc-releases/gcc-4.2.0-20070316/gcc-4.2.0-20070316/gcc/java/parse.y:3734
+-#, gcc-internal-format
+-msgid "Cyclic inheritance involving %s"
+-msgstr ""
+-
+-#: /scratch/mitchell/gcc-releases/gcc-4.2.0-20070316/gcc-4.2.0-20070316/gcc/java/parse.y:4002
+-#, gcc-internal-format
+-msgid "Redundant use of %<abstract%> modifier. Interface %qs is implicitly abstract"
+-msgstr ""
+-
+-#: /scratch/mitchell/gcc-releases/gcc-4.2.0-20070316/gcc-4.2.0-20070316/gcc/java/parse.y:4157
+-#, fuzzy, gcc-internal-format
+-msgid "Class %qs can't be declared both abstract and final"
+-msgstr "Byombi Kitaboneka Na"
+-
+-#: /scratch/mitchell/gcc-releases/gcc-4.2.0-20070316/gcc-4.2.0-20070316/gcc/java/parse.y:4169
+-#, gcc-internal-format
+-msgid "%<java.lang.Object%> can't extend anything"
+-msgstr ""
+-
+-#: /scratch/mitchell/gcc-releases/gcc-4.2.0-20070316/gcc-4.2.0-20070316/gcc/java/parse.y:4406
+-#, gcc-internal-format
+-msgid "Duplicate variable declaration: %<%s %s%> was %<%s %s%> (%s:%d)"
+-msgstr ""
+-
+-#: /scratch/mitchell/gcc-releases/gcc-4.2.0-20070316/gcc-4.2.0-20070316/gcc/java/parse.y:4470
+-#, gcc-internal-format
+-msgid "Field %qs can't be static in inner class %qs unless it is final"
+-msgstr ""
+-
+-#: /scratch/mitchell/gcc-releases/gcc-4.2.0-20070316/gcc-4.2.0-20070316/gcc/java/parse.y:4713
+-#, gcc-internal-format
+-msgid "Class %qs must be declared abstract to define abstract method %qs"
+-msgstr ""
+-
+-#: /scratch/mitchell/gcc-releases/gcc-4.2.0-20070316/gcc-4.2.0-20070316/gcc/java/parse.y:4720
+-#, gcc-internal-format
+-msgid "native method %qs can't be strictfp"
+-msgstr ""
+-
+-#: /scratch/mitchell/gcc-releases/gcc-4.2.0-20070316/gcc-4.2.0-20070316/gcc/java/parse.y:4724
+-#, gcc-internal-format
+-msgid "method %qs can't be transient"
+-msgstr ""
+-
+-#: /scratch/mitchell/gcc-releases/gcc-4.2.0-20070316/gcc-4.2.0-20070316/gcc/java/parse.y:4727
+-#, gcc-internal-format
+-msgid "method %qs can't be volatile"
+-msgstr ""
+-
+-#: /scratch/mitchell/gcc-releases/gcc-4.2.0-20070316/gcc-4.2.0-20070316/gcc/java/parse.y:4777
+-#: /scratch/mitchell/gcc-releases/gcc-4.2.0-20070316/gcc-4.2.0-20070316/gcc/java/parse.y:6508
+-#, gcc-internal-format
+-msgid "Method %qs can't be static in inner class %qs. Only members of interfaces and top-level classes can be static"
+-msgstr ""
+-
+-#: /scratch/mitchell/gcc-releases/gcc-4.2.0-20070316/gcc-4.2.0-20070316/gcc/java/parse.y:4932
+-#, gcc-internal-format
+-msgid "%s method %qs can't have a body defined"
+-msgstr ""
+-
+-#: /scratch/mitchell/gcc-releases/gcc-4.2.0-20070316/gcc-4.2.0-20070316/gcc/java/parse.y:4943
+-#, gcc-internal-format
+-msgid "Non native and non abstract method %qs must have a body defined"
+-msgstr ""
+-
+-#: /scratch/mitchell/gcc-releases/gcc-4.2.0-20070316/gcc-4.2.0-20070316/gcc/java/parse.y:5013
+-#, fuzzy, gcc-internal-format
+-msgid "%s: recursive invocation of constructor %qs"
+-msgstr "Bya"
+-
+-#: /scratch/mitchell/gcc-releases/gcc-4.2.0-20070316/gcc-4.2.0-20070316/gcc/java/parse.y:5043
+-#, gcc-internal-format
+-msgid "Inconsistent member declaration. At most one of %<public%>, %<private%>, or %<protected%> may be specified"
+-msgstr ""
+-
+-#: /scratch/mitchell/gcc-releases/gcc-4.2.0-20070316/gcc-4.2.0-20070316/gcc/java/parse.y:5051
+-#, gcc-internal-format
+-msgid "Inconsistent member declaration. At most one of %<final%> or %<volatile%> may be specified"
+-msgstr ""
+-
+-#: /scratch/mitchell/gcc-releases/gcc-4.2.0-20070316/gcc-4.2.0-20070316/gcc/java/parse.y:5141
+-#, gcc-internal-format
+-msgid "Variable %qs is used more than once in the argument list of method %qs"
+-msgstr ""
+-
+-#: /scratch/mitchell/gcc-releases/gcc-4.2.0-20070316/gcc-4.2.0-20070316/gcc/java/parse.y:5225
+-#, gcc-internal-format
+-msgid "%s %qs can't implement/extend %s %qs"
+-msgstr ""
+-
+-#: /scratch/mitchell/gcc-releases/gcc-4.2.0-20070316/gcc-4.2.0-20070316/gcc/java/parse.y:5259
+-#, gcc-internal-format
+-msgid "Class %qs can't subclass %s %qs"
+-msgstr ""
+-
+-#: /scratch/mitchell/gcc-releases/gcc-4.2.0-20070316/gcc-4.2.0-20070316/gcc/java/parse.y:5268
+-#, gcc-internal-format
+-msgid "Can't subclass final classes: %s"
+-msgstr ""
+-
+-#: /scratch/mitchell/gcc-releases/gcc-4.2.0-20070316/gcc-4.2.0-20070316/gcc/java/parse.y:5454
+-#, gcc-internal-format
+-msgid "Cyclic class inheritance%s"
+-msgstr ""
+-
+-#: /scratch/mitchell/gcc-releases/gcc-4.2.0-20070316/gcc-4.2.0-20070316/gcc/java/parse.y:6159
+-#, gcc-internal-format
+-msgid "Superclass %qs of class %qs not found"
+-msgstr ""
+-
+-#: /scratch/mitchell/gcc-releases/gcc-4.2.0-20070316/gcc-4.2.0-20070316/gcc/java/parse.y:6165
+-#, fuzzy, gcc-internal-format
+-msgid "Type %qs not found in declaration of field %qs"
+-msgstr "Ubwoko Kuri in Bya"
+-
+-#: /scratch/mitchell/gcc-releases/gcc-4.2.0-20070316/gcc-4.2.0-20070316/gcc/java/parse.y:6171
+-#, gcc-internal-format
+-msgid "Type %qs not found in the declaration of the argument %qs of method %qs"
+-msgstr ""
+-
+-#: /scratch/mitchell/gcc-releases/gcc-4.2.0-20070316/gcc-4.2.0-20070316/gcc/java/parse.y:6178
+-#, gcc-internal-format
+-msgid "Type %qs not found in the declaration of the return type of method %qs"
+-msgstr ""
+-
+-#: /scratch/mitchell/gcc-releases/gcc-4.2.0-20070316/gcc-4.2.0-20070316/gcc/java/parse.y:6184
+-#, gcc-internal-format
+-msgid "Superinterface %qs of %s %qs not found"
+-msgstr ""
+-
+-#: /scratch/mitchell/gcc-releases/gcc-4.2.0-20070316/gcc-4.2.0-20070316/gcc/java/parse.y:6191
+-#, gcc-internal-format
+-msgid "Type %qs not found in the declaration of the local variable %qs"
+-msgstr ""
+-
+-#: /scratch/mitchell/gcc-releases/gcc-4.2.0-20070316/gcc-4.2.0-20070316/gcc/java/parse.y:6198
+-#, fuzzy, gcc-internal-format
+-msgid "Class %qs not found in %<throws%>"
+-msgstr "Umwanya OYA Byabonetse in ishuri"
+-
+-#: /scratch/mitchell/gcc-releases/gcc-4.2.0-20070316/gcc-4.2.0-20070316/gcc/java/parse.y:6255
+-#, fuzzy, gcc-internal-format
+-msgid "Duplicate %s declaration %qs"
+-msgstr "Gusubiramo Akarango"
+-
+-#: /scratch/mitchell/gcc-releases/gcc-4.2.0-20070316/gcc-4.2.0-20070316/gcc/java/parse.y:6329
+-#, gcc-internal-format
+-msgid "Class %qs doesn't define the abstract method %<%s %s%> from %s %<%s%>. This method must be defined or %s %qs must be declared abstract"
+-msgstr ""
+-
+-#: /scratch/mitchell/gcc-releases/gcc-4.2.0-20070316/gcc-4.2.0-20070316/gcc/java/parse.y:6485
+-#, gcc-internal-format
+-msgid "Class %qs in %<throws%> clause must be a subclass of class %<java.lang.Throwable%>"
+-msgstr ""
+-
+-#: /scratch/mitchell/gcc-releases/gcc-4.2.0-20070316/gcc-4.2.0-20070316/gcc/java/parse.y:6529
+-#, gcc-internal-format
+-msgid "Class %qs must override %qs with a public method in order to implement interface %qs"
+-msgstr ""
+-
+-#: /scratch/mitchell/gcc-releases/gcc-4.2.0-20070316/gcc-4.2.0-20070316/gcc/java/parse.y:6543
+-#: /scratch/mitchell/gcc-releases/gcc-4.2.0-20070316/gcc-4.2.0-20070316/gcc/java/parse.y:6766
+-#, gcc-internal-format
+-msgid "Method %qs was defined with return type %qs in class %qs"
+-msgstr ""
+-
+-#: /scratch/mitchell/gcc-releases/gcc-4.2.0-20070316/gcc-4.2.0-20070316/gcc/java/parse.y:6560
+-#, gcc-internal-format
+-msgid "%s methods can't be overridden. Method %qs is %s in class %qs"
+-msgstr ""
+-
+-#: /scratch/mitchell/gcc-releases/gcc-4.2.0-20070316/gcc-4.2.0-20070316/gcc/java/parse.y:6574
+-#, gcc-internal-format
+-msgid "Instance methods can't be overridden by a static method. Method %qs is an instance method in class %qs"
+-msgstr ""
+-
+-#: /scratch/mitchell/gcc-releases/gcc-4.2.0-20070316/gcc-4.2.0-20070316/gcc/java/parse.y:6597
+-#, gcc-internal-format
+-msgid "Methods can't be overridden to be more private. Method %qs is not %s in class %qs"
+-msgstr ""
+-
+-#: /scratch/mitchell/gcc-releases/gcc-4.2.0-20070316/gcc-4.2.0-20070316/gcc/java/parse.y:6734
+-#, gcc-internal-format
+-msgid "Invalid checked exception class %qs in %<throws%> clause. The exception must be a subclass of an exception thrown by %qs from class %qs"
+-msgstr ""
+-
+-#: /scratch/mitchell/gcc-releases/gcc-4.2.0-20070316/gcc-4.2.0-20070316/gcc/java/parse.y:6791
+-#, gcc-internal-format
+-msgid "Interface %qs inherits method %qs from interface %qs. This method is redefined with a different return type in interface %qs"
+-msgstr ""
+-
+-#: /scratch/mitchell/gcc-releases/gcc-4.2.0-20070316/gcc-4.2.0-20070316/gcc/java/parse.y:6966
+-#, fuzzy, gcc-internal-format
+-msgid "Class or interface %qs not found in import"
+-msgstr "Cyangwa Ikitezwe:"
+-
+-#: /scratch/mitchell/gcc-releases/gcc-4.2.0-20070316/gcc-4.2.0-20070316/gcc/java/parse.y:7055
+-#, fuzzy, gcc-internal-format
+-msgid "malformed .zip archive in CLASSPATH: %s"
+-msgstr "Zipu in"
+-
+-#: /scratch/mitchell/gcc-releases/gcc-4.2.0-20070316/gcc-4.2.0-20070316/gcc/java/parse.y:7126
+-#, fuzzy, gcc-internal-format
+-msgid "Can't find default package %qs. Check the CLASSPATH environment variable and the access to the archives"
+-msgstr "Gushaka Mburabuzi i IMPINDURAGACIRO Na i Kuri i Ubushyinguro"
+-
+-#: /scratch/mitchell/gcc-releases/gcc-4.2.0-20070316/gcc-4.2.0-20070316/gcc/java/parse.y:7131
+-#, fuzzy, gcc-internal-format
+-msgid "Package %qs not found in import"
+-msgstr "Umwanya OYA Byabonetse in ishuri"
+-
+-#: /scratch/mitchell/gcc-releases/gcc-4.2.0-20070316/gcc-4.2.0-20070316/gcc/java/parse.y:7232
+-#, gcc-internal-format
+-msgid "Type %qs also potentially defined in package %qs"
+-msgstr ""
+-
+-#: /scratch/mitchell/gcc-releases/gcc-4.2.0-20070316/gcc-4.2.0-20070316/gcc/java/parse.y:7372
+-#, gcc-internal-format
+-msgid "Nested %s %s is %s; cannot be accessed from here"
+-msgstr ""
+-
+-#: /scratch/mitchell/gcc-releases/gcc-4.2.0-20070316/gcc-4.2.0-20070316/gcc/java/parse.y:7410
+-#, gcc-internal-format
+-msgid "Can't access %s %qs. Only public classes and interfaces in other packages can be accessed"
+-msgstr ""
+-
+-#: /scratch/mitchell/gcc-releases/gcc-4.2.0-20070316/gcc-4.2.0-20070316/gcc/java/parse.y:7448
+-#, gcc-internal-format
+-msgid "Only %<final%> is allowed as a local variables modifier"
+-msgstr ""
+-
+-#: /scratch/mitchell/gcc-releases/gcc-4.2.0-20070316/gcc-4.2.0-20070316/gcc/java/parse.y:9090
+-#, gcc-internal-format
+-msgid "No constructor matching %qs found in class %qs"
+-msgstr ""
+-
+-#: /scratch/mitchell/gcc-releases/gcc-4.2.0-20070316/gcc-4.2.0-20070316/gcc/java/parse.y:9594
+-#, gcc-internal-format
+-msgid "Can't reference %qs before the superclass constructor has been called"
+-msgstr ""
+-
+-#: /scratch/mitchell/gcc-releases/gcc-4.2.0-20070316/gcc-4.2.0-20070316/gcc/java/parse.y:9655
+-#, gcc-internal-format
+-msgid "Local variable %qs can't be accessed from within the inner class %qs unless it is declared final"
+-msgstr ""
+-
+-#: /scratch/mitchell/gcc-releases/gcc-4.2.0-20070316/gcc-4.2.0-20070316/gcc/java/parse.y:9660
+-#: /scratch/mitchell/gcc-releases/gcc-4.2.0-20070316/gcc-4.2.0-20070316/gcc/java/parse.y:10118
+-#, fuzzy, gcc-internal-format
+-msgid "Undefined variable %qs"
+-msgstr "Kidakoreshwa IMPINDURAGACIRO"
+-
+-#: /scratch/mitchell/gcc-releases/gcc-4.2.0-20070316/gcc-4.2.0-20070316/gcc/java/parse.y:9671
+-#, gcc-internal-format
+-msgid "Can't make a static reference to nonstatic variable %qs in class %qs"
+-msgstr ""
+-
+-#: /scratch/mitchell/gcc-releases/gcc-4.2.0-20070316/gcc-4.2.0-20070316/gcc/java/parse.y:9872
+-#: /scratch/mitchell/gcc-releases/gcc-4.2.0-20070316/gcc-4.2.0-20070316/gcc/java/parse.y:10726
+-#, gcc-internal-format
+-msgid "No enclosing instance for inner class %qs is in scope%s"
+-msgstr ""
+-
+-#: /scratch/mitchell/gcc-releases/gcc-4.2.0-20070316/gcc-4.2.0-20070316/gcc/java/parse.y:9991
+-#: /scratch/mitchell/gcc-releases/gcc-4.2.0-20070316/gcc-4.2.0-20070316/gcc/java/parse.y:12480
+-#, gcc-internal-format
+-msgid "Keyword %<this%> used outside allowed context"
+-msgstr ""
+-
+-#: /scratch/mitchell/gcc-releases/gcc-4.2.0-20070316/gcc-4.2.0-20070316/gcc/java/parse.y:9997
+-#: /scratch/mitchell/gcc-releases/gcc-4.2.0-20070316/gcc-4.2.0-20070316/gcc/java/parse.y:10882
+-#, gcc-internal-format
+-msgid "Can't reference %<this%> before the superclass constructor has been called"
+-msgstr ""
+-
+-#: /scratch/mitchell/gcc-releases/gcc-4.2.0-20070316/gcc-4.2.0-20070316/gcc/java/parse.y:10013
+-#, gcc-internal-format
+-msgid "Can't use variable %<%s.this%>: type %qs isn't an outer type of type %qs"
+-msgstr ""
+-
+-#: /scratch/mitchell/gcc-releases/gcc-4.2.0-20070316/gcc-4.2.0-20070316/gcc/java/parse.y:10046
+-#, gcc-internal-format
+-msgid "Keyword %<super%> used outside allowed context"
+-msgstr ""
+-
+-#: /scratch/mitchell/gcc-releases/gcc-4.2.0-20070316/gcc-4.2.0-20070316/gcc/java/parse.y:10095
+-#, fuzzy, gcc-internal-format
+-msgid "No variable %qs defined in class %qs"
+-msgstr "`%D'ni in ishuri"
+-
+-#: /scratch/mitchell/gcc-releases/gcc-4.2.0-20070316/gcc-4.2.0-20070316/gcc/java/parse.y:10100
+-#, fuzzy, gcc-internal-format
+-msgid "Undefined variable or class name: %qs"
+-msgstr "Gushaka IDOSIYE kugirango ishuri"
+-
+-#: /scratch/mitchell/gcc-releases/gcc-4.2.0-20070316/gcc-4.2.0-20070316/gcc/java/parse.y:10182
+-#, fuzzy, gcc-internal-format
+-msgid "Can't use type %qs as a qualifier"
+-msgstr "Gukoresha Nka a Kwiyandikisha"
+-
+-#: /scratch/mitchell/gcc-releases/gcc-4.2.0-20070316/gcc-4.2.0-20070316/gcc/java/parse.y:10201
+-#, gcc-internal-format
+-msgid "Attempt to reference field %qs in %<%s %s%>"
+-msgstr ""
+-
+-#: /scratch/mitchell/gcc-releases/gcc-4.2.0-20070316/gcc-4.2.0-20070316/gcc/java/parse.y:10232
+-#, fuzzy, gcc-internal-format
+-msgid "No variable %qs defined in type %qs"
+-msgstr "IMPINDURAGACIRO"
+-
+-#: /scratch/mitchell/gcc-releases/gcc-4.2.0-20070316/gcc-4.2.0-20070316/gcc/java/parse.y:10324
+-#, gcc-internal-format
+-msgid "Attempt to reference field %<new%> in a %qs"
+-msgstr ""
+-
+-#: /scratch/mitchell/gcc-releases/gcc-4.2.0-20070316/gcc-4.2.0-20070316/gcc/java/parse.y:10461
+-#, gcc-internal-format
+-msgid "The class %qs has been deprecated"
+-msgstr ""
+-
+-#: /scratch/mitchell/gcc-releases/gcc-4.2.0-20070316/gcc-4.2.0-20070316/gcc/java/parse.y:10471
+-#, gcc-internal-format
+-msgid "The %s %qs in class %qs has been deprecated"
+-msgstr ""
+-
+-#: /scratch/mitchell/gcc-releases/gcc-4.2.0-20070316/gcc-4.2.0-20070316/gcc/java/parse.y:10562
+-#, gcc-internal-format
+-msgid "Can't invoke a method on primitive type %qs"
+-msgstr ""
+-
+-#: /scratch/mitchell/gcc-releases/gcc-4.2.0-20070316/gcc-4.2.0-20070316/gcc/java/parse.y:10577
+-#, gcc-internal-format
+-msgid "Can't make static reference to method %qs in interface %qs"
+-msgstr ""
+-
+-#: /scratch/mitchell/gcc-releases/gcc-4.2.0-20070316/gcc-4.2.0-20070316/gcc/java/parse.y:10591
+-#: /scratch/mitchell/gcc-releases/gcc-4.2.0-20070316/gcc-4.2.0-20070316/gcc/java/parse.y:10929
+-#, gcc-internal-format
+-msgid "Can't make static reference to method %<%s %s%> in class %qs"
+-msgstr ""
+-
+-#: /scratch/mitchell/gcc-releases/gcc-4.2.0-20070316/gcc-4.2.0-20070316/gcc/java/parse.y:10633
+-#, gcc-internal-format
+-msgid "Can't invoke super constructor on java.lang.Object"
+-msgstr ""
+-
+-#: /scratch/mitchell/gcc-releases/gcc-4.2.0-20070316/gcc-4.2.0-20070316/gcc/java/parse.y:10646
+-#: /scratch/mitchell/gcc-releases/gcc-4.2.0-20070316/gcc-4.2.0-20070316/gcc/java/parse.y:14550
+-#, fuzzy, gcc-internal-format
+-msgid "Class %qs not found in type declaration"
+-msgstr "Umwanya OYA Byabonetse in ishuri"
+-
+-#: /scratch/mitchell/gcc-releases/gcc-4.2.0-20070316/gcc-4.2.0-20070316/gcc/java/parse.y:10658
+-#, gcc-internal-format
+-msgid "Class %qs is an abstract class. It can't be instantiated"
+-msgstr ""
+-
+-#: /scratch/mitchell/gcc-releases/gcc-4.2.0-20070316/gcc-4.2.0-20070316/gcc/java/parse.y:10688
+-#, gcc-internal-format
+-msgid "No method named %qs in scope"
+-msgstr ""
+-
+-#: /scratch/mitchell/gcc-releases/gcc-4.2.0-20070316/gcc-4.2.0-20070316/gcc/java/parse.y:10801
+-#, gcc-internal-format
+-msgid "Can't access %s %s %<%s.%s%> from %qs"
+-msgstr ""
+-
+-#: /scratch/mitchell/gcc-releases/gcc-4.2.0-20070316/gcc-4.2.0-20070316/gcc/java/parse.y:11297
+-#, gcc-internal-format
+-msgid "Can't find %s %<%s(%s)%> in type %qs%s"
+-msgstr ""
+-
+-#: /scratch/mitchell/gcc-releases/gcc-4.2.0-20070316/gcc-4.2.0-20070316/gcc/java/parse.y:11892
+-#, fuzzy, gcc-internal-format
+-msgid "Constant expression required"
+-msgstr "Byarenze urugero in imvugo"
+-
+-#: /scratch/mitchell/gcc-releases/gcc-4.2.0-20070316/gcc-4.2.0-20070316/gcc/java/parse.y:11905
+-#, fuzzy, gcc-internal-format
+-msgid "Incompatible type for case. Can't convert %qs to %<int%>"
+-msgstr "Ubwoko kugirango Bya"
+-
+-#: /scratch/mitchell/gcc-releases/gcc-4.2.0-20070316/gcc-4.2.0-20070316/gcc/java/parse.y:11939
+-#, fuzzy, gcc-internal-format
+-msgid "Duplicate case label: %<default%>"
+-msgstr "Gusubiramo Agaciro"
+-
+-#: /scratch/mitchell/gcc-releases/gcc-4.2.0-20070316/gcc-4.2.0-20070316/gcc/java/parse.y:12279
+-#, gcc-internal-format
+-msgid "Incompatible type for %<+=%>. Can't convert %qs to %<java.lang.String%>"
+-msgstr ""
+-
+-#: /scratch/mitchell/gcc-releases/gcc-4.2.0-20070316/gcc-4.2.0-20070316/gcc/java/parse.y:12462
+-#, fuzzy, gcc-internal-format
+-msgid "missing static field %qs"
+-msgstr "Ibuze Umwanya"
+-
+-#: /scratch/mitchell/gcc-releases/gcc-4.2.0-20070316/gcc-4.2.0-20070316/gcc/java/parse.y:12467
+-#, fuzzy, gcc-internal-format
+-msgid "not a static field %qs"
+-msgstr "OYA a Umwanya"
+-
+-#: /scratch/mitchell/gcc-releases/gcc-4.2.0-20070316/gcc-4.2.0-20070316/gcc/java/parse.y:12488
+-#, gcc-internal-format
+-msgid "Can't reference %<this%> or %<super%> before the superclass constructor has been called"
+-msgstr ""
+-
+-#: /scratch/mitchell/gcc-releases/gcc-4.2.0-20070316/gcc-4.2.0-20070316/gcc/java/parse.y:12508
+-#, fuzzy, gcc-internal-format
+-msgid "No case for %s"
+-msgstr "kugirango"
+-
+-#: /scratch/mitchell/gcc-releases/gcc-4.2.0-20070316/gcc-4.2.0-20070316/gcc/java/parse.y:12938
+-#, fuzzy, gcc-internal-format
+-msgid "Invalid left hand side of assignment"
+-msgstr "Sibyo in Igenera"
+-
+-#: /scratch/mitchell/gcc-releases/gcc-4.2.0-20070316/gcc-4.2.0-20070316/gcc/java/parse.y:12989
+-#, fuzzy, gcc-internal-format
+-msgid "Incompatible type for %s. Can't convert %qs to %qs"
+-msgstr "Ubwoko kugirango Bya"
+-
+-#: /scratch/mitchell/gcc-releases/gcc-4.2.0-20070316/gcc-4.2.0-20070316/gcc/java/parse.y:12992
+-#, gcc-internal-format
+-msgid "Incompatible type for %s. Explicit cast needed to convert %qs to %qs"
+-msgstr ""
+-
+-#: /scratch/mitchell/gcc-releases/gcc-4.2.0-20070316/gcc-4.2.0-20070316/gcc/java/parse.y:13164
+-#, gcc-internal-format
+-msgid "Constant expression %qs too wide for narrowing primitive conversion to %qs"
+-msgstr ""
+-
+-#: /scratch/mitchell/gcc-releases/gcc-4.2.0-20070316/gcc-4.2.0-20070316/gcc/java/parse.y:13454
+-#, fuzzy, gcc-internal-format
+-msgid "unregistered operator %s"
+-msgstr "Mukoresha"
+-
+-#: /scratch/mitchell/gcc-releases/gcc-4.2.0-20070316/gcc-4.2.0-20070316/gcc/java/parse.y:13603
+-#, gcc-internal-format
+-msgid "Evaluating this expression will result in an arithmetic exception being thrown"
+-msgstr ""
+-
+-#: /scratch/mitchell/gcc-releases/gcc-4.2.0-20070316/gcc-4.2.0-20070316/gcc/java/parse.y:13685
+-#, gcc-internal-format
+-msgid "Incompatible type for %qs. Explicit cast needed to convert shift distance from %qs to integral"
+-msgstr ""
+-
+-#: /scratch/mitchell/gcc-releases/gcc-4.2.0-20070316/gcc-4.2.0-20070316/gcc/java/parse.y:13690
+-#, gcc-internal-format
+-msgid "Incompatible type for %qs. Can't convert shift distance from %qs to integral"
+-msgstr ""
+-
+-#: /scratch/mitchell/gcc-releases/gcc-4.2.0-20070316/gcc-4.2.0-20070316/gcc/java/parse.y:13764
+-#, fuzzy, gcc-internal-format
+-msgid "Invalid argument %qs for %<instanceof%>"
+-msgstr "Sibyo Bya Ikiranga"
+-
+-#: /scratch/mitchell/gcc-releases/gcc-4.2.0-20070316/gcc-4.2.0-20070316/gcc/java/parse.y:13791
+-#, gcc-internal-format
+-msgid "Impossible for %qs to be instance of %qs"
+-msgstr ""
+-
+-#: /scratch/mitchell/gcc-releases/gcc-4.2.0-20070316/gcc-4.2.0-20070316/gcc/java/parse.y:13922
+-#, fuzzy, gcc-internal-format
+-msgid "Incompatible type for %qs. Can't convert %qs to %qs"
+-msgstr "Ubwoko kugirango Bya"
+-
+-#: /scratch/mitchell/gcc-releases/gcc-4.2.0-20070316/gcc-4.2.0-20070316/gcc/java/parse.y:14240
+-#, fuzzy, gcc-internal-format
+-msgid "%qs cannot be used with a constant"
+-msgstr "`%E'Nka a Umumaro"
+-
+-#: /scratch/mitchell/gcc-releases/gcc-4.2.0-20070316/gcc-4.2.0-20070316/gcc/java/parse.y:14405
+-#, fuzzy, gcc-internal-format
+-msgid "Invalid argument type %qs to %qs"
+-msgstr "Sibyo Ubwoko Bya"
+-
+-#: /scratch/mitchell/gcc-releases/gcc-4.2.0-20070316/gcc-4.2.0-20070316/gcc/java/parse.y:14641
+-#, fuzzy, gcc-internal-format
+-msgid "Invalid cast from %qs to %qs"
+-msgstr "Sibyo Ihindurangero Bivuye Kuri"
+-
+-#: /scratch/mitchell/gcc-releases/gcc-4.2.0-20070316/gcc-4.2.0-20070316/gcc/java/parse.y:14688
+-#, gcc-internal-format
+-msgid "%<[]%> can only be applied to arrays. It can't be applied to %qs"
+-msgstr ""
+-
+-#: /scratch/mitchell/gcc-releases/gcc-4.2.0-20070316/gcc-4.2.0-20070316/gcc/java/parse.y:14701
+-#, gcc-internal-format
+-msgid "Incompatible type for %<[]%>. Explicit cast needed to convert %qs to %<int%>"
+-msgstr ""
+-
+-#: /scratch/mitchell/gcc-releases/gcc-4.2.0-20070316/gcc-4.2.0-20070316/gcc/java/parse.y:14705
+-#, fuzzy, gcc-internal-format
+-msgid "Incompatible type for %<[]%>. Can't convert %qs to %<int%>"
+-msgstr "Ubwoko kugirango Bya"
+-
+-#: /scratch/mitchell/gcc-releases/gcc-4.2.0-20070316/gcc-4.2.0-20070316/gcc/java/parse.y:14776
+-#, gcc-internal-format
+-msgid "Incompatible type for dimension in array creation expression. %s convert %qs to %<int%>"
+-msgstr ""
+-
+-#: /scratch/mitchell/gcc-releases/gcc-4.2.0-20070316/gcc-4.2.0-20070316/gcc/java/parse.y:14894
+-#, fuzzy, gcc-internal-format
+-msgid "Invalid array initializer for non-array type %qs"
+-msgstr "Imbonerahamwe Bivuye Imbonerahamwe imvugo"
+-
+-#: /scratch/mitchell/gcc-releases/gcc-4.2.0-20070316/gcc-4.2.0-20070316/gcc/java/parse.y:14981
+-#, fuzzy, gcc-internal-format
+-msgid "Incompatible type for array. %s convert %qs to %qs"
+-msgstr "Ubwoko kugirango Bya"
+-
+-#: /scratch/mitchell/gcc-releases/gcc-4.2.0-20070316/gcc-4.2.0-20070316/gcc/java/parse.y:15050
+-#, fuzzy, gcc-internal-format
+-msgid "%<return%> inside instance initializer"
+-msgstr "ubusa Umubarendanga Urutonde in"
+-
+-#: /scratch/mitchell/gcc-releases/gcc-4.2.0-20070316/gcc-4.2.0-20070316/gcc/java/parse.y:15054
+-#, fuzzy, gcc-internal-format
+-msgid "%<return%> inside static initializer"
+-msgstr "ubusa Umubarendanga Urutonde in"
+-
+-#: /scratch/mitchell/gcc-releases/gcc-4.2.0-20070316/gcc-4.2.0-20070316/gcc/java/parse.y:15060
+-#, gcc-internal-format
+-msgid "%<return%> with%s value from %<%s %s%>"
+-msgstr ""
+-
+-#: /scratch/mitchell/gcc-releases/gcc-4.2.0-20070316/gcc-4.2.0-20070316/gcc/java/parse.y:15067
+-#, fuzzy, gcc-internal-format
+-msgid "%<return%> with value from constructor %qs"
+-msgstr "a Agaciro Bivuye a"
+-
+-#: /scratch/mitchell/gcc-releases/gcc-4.2.0-20070316/gcc-4.2.0-20070316/gcc/java/parse.y:15132
+-#, gcc-internal-format
+-msgid "Incompatible type for %<if%>. Can't convert %qs to %<boolean%>"
+-msgstr ""
+-
+-#: /scratch/mitchell/gcc-releases/gcc-4.2.0-20070316/gcc-4.2.0-20070316/gcc/java/parse.y:15165
+-#, fuzzy, gcc-internal-format
+-msgid "Declaration of %qs shadows a previous label declaration"
+-msgstr "Bya a"
+-
+-#: /scratch/mitchell/gcc-releases/gcc-4.2.0-20070316/gcc-4.2.0-20070316/gcc/java/parse.y:15170
+-#, fuzzy, gcc-internal-format
+-msgid "This is the location of the previous declaration of label %qs"
+-msgstr "iyi ni i Ahantu Bya i Ibanjirije Insobanuro"
+-
+-#: /scratch/mitchell/gcc-releases/gcc-4.2.0-20070316/gcc-4.2.0-20070316/gcc/java/parse.y:15417
+-#, fuzzy, gcc-internal-format
+-msgid "No label definition found for %qs"
+-msgstr "Akarango Insobanuro kugirango Inyandiko ku"
+-
+-#: /scratch/mitchell/gcc-releases/gcc-4.2.0-20070316/gcc-4.2.0-20070316/gcc/java/parse.y:15430
+-#, fuzzy, gcc-internal-format
+-msgid "%<continue%> must be in loop"
+-msgstr "urifuzagukomeza Inyandiko OYA muri a"
+-
+-#: /scratch/mitchell/gcc-releases/gcc-4.2.0-20070316/gcc-4.2.0-20070316/gcc/java/parse.y:15433
+-#, fuzzy, gcc-internal-format
+-msgid "continue label %qs does not name a loop"
+-msgstr "urifuzagukomeza Inyandiko OYA muri a"
+-
+-#: /scratch/mitchell/gcc-releases/gcc-4.2.0-20070316/gcc-4.2.0-20070316/gcc/java/parse.y:15454
+-#, fuzzy, gcc-internal-format
+-msgid "%<break%> must be in loop or switch"
+-msgstr "itandukanya Inyandiko OYA muri Cyangwa Hindura"
+-
+-#: /scratch/mitchell/gcc-releases/gcc-4.2.0-20070316/gcc-4.2.0-20070316/gcc/java/parse.y:15495
+-#, gcc-internal-format
+-msgid "Incompatible type for loop conditional. Can't convert %qs to %<boolean%>"
+-msgstr ""
+-
+-#: /scratch/mitchell/gcc-releases/gcc-4.2.0-20070316/gcc-4.2.0-20070316/gcc/java/parse.y:15533
+-#, gcc-internal-format
+-msgid "Incompatible type for %<switch%>. Can't convert %qs to %<int%>"
+-msgstr ""
+-
+-#. The case_label_list is in reverse order, so print the
+-#. outer label first.
+-#: /scratch/mitchell/gcc-releases/gcc-4.2.0-20070316/gcc-4.2.0-20070316/gcc/java/parse.y:15564
+-#, fuzzy, gcc-internal-format
+-msgid "duplicate case label: %<"
+-msgstr "Gusubiramo Akarango"
+-
+-#: /scratch/mitchell/gcc-releases/gcc-4.2.0-20070316/gcc-4.2.0-20070316/gcc/java/parse.y:15565
+-#, gcc-internal-format
+-msgid "%>"
+-msgstr ""
+-
+-#: /scratch/mitchell/gcc-releases/gcc-4.2.0-20070316/gcc-4.2.0-20070316/gcc/java/parse.y:15568
+-#, fuzzy, gcc-internal-format
+-msgid "original label is here"
+-msgstr "Byose Uturango..."
+-
+-#: /scratch/mitchell/gcc-releases/gcc-4.2.0-20070316/gcc-4.2.0-20070316/gcc/java/parse.y:15785
+-#, gcc-internal-format
+-msgid "Can't catch class %qs. Catch clause parameter type must be a subclass of class %<java.lang.Throwable%>"
+-msgstr ""
+-
+-#: /scratch/mitchell/gcc-releases/gcc-4.2.0-20070316/gcc-4.2.0-20070316/gcc/java/parse.y:15809
+-#, gcc-internal-format
+-msgid "%<catch%> not reached because of the catch clause at line %d"
+-msgstr ""
+-
+-#: /scratch/mitchell/gcc-releases/gcc-4.2.0-20070316/gcc-4.2.0-20070316/gcc/java/parse.y:15876
+-#, gcc-internal-format
+-msgid "Incompatible type for %<synchronized%>. Can't convert %qs to %<java.lang.Object%>"
+-msgstr ""
+-
+-#: /scratch/mitchell/gcc-releases/gcc-4.2.0-20070316/gcc-4.2.0-20070316/gcc/java/parse.y:15927
+-#, gcc-internal-format
+-msgid "Can't throw %qs; it must be a subclass of class %<java.lang.Throwable%>"
+-msgstr ""
+-
+-#: /scratch/mitchell/gcc-releases/gcc-4.2.0-20070316/gcc-4.2.0-20070316/gcc/java/parse.y:15956
+-#, gcc-internal-format
+-msgid "Checked exception %qs can't be thrown in instance initializer (not all declared constructor are declaring it in their %<throws%> clause)"
+-msgstr ""
+-
+-#: /scratch/mitchell/gcc-releases/gcc-4.2.0-20070316/gcc-4.2.0-20070316/gcc/java/parse.y:15977
+-#, gcc-internal-format
+-msgid "Checked exception %qs can't be caught by any of the catch clause(s) of the surrounding %<try%> block"
+-msgstr ""
+-
+-#: /scratch/mitchell/gcc-releases/gcc-4.2.0-20070316/gcc-4.2.0-20070316/gcc/java/parse.y:15990
+-#, gcc-internal-format
+-msgid "Checked exception %qs can't be thrown in initializer"
+-msgstr ""
+-
+-#: /scratch/mitchell/gcc-releases/gcc-4.2.0-20070316/gcc-4.2.0-20070316/gcc/java/parse.y:15994
+-#, gcc-internal-format
+-msgid "Checked exception %qs isn't thrown from a %<try%> block"
+-msgstr ""
+-
+-#: /scratch/mitchell/gcc-releases/gcc-4.2.0-20070316/gcc-4.2.0-20070316/gcc/java/parse.y:16000
+-#, gcc-internal-format
+-msgid "Checked exception %qs doesn't match any of current method's %<throws%> declaration(s)"
+-msgstr ""
+-
+-#: /scratch/mitchell/gcc-releases/gcc-4.2.0-20070316/gcc-4.2.0-20070316/gcc/java/parse.y:16090
+-#, fuzzy, gcc-internal-format
+-msgid "Exception %qs can't be thrown in initializer"
+-msgstr "ubusa Umubarendanga Urutonde in"
+-
+-#: /scratch/mitchell/gcc-releases/gcc-4.2.0-20070316/gcc-4.2.0-20070316/gcc/java/parse.y:16096
+-#, gcc-internal-format
+-msgid "Exception %qs must be caught, or it must be declared in the %<throws%> clause of %qs"
+-msgstr ""
+-
+-#: /scratch/mitchell/gcc-releases/gcc-4.2.0-20070316/gcc-4.2.0-20070316/gcc/java/parse.y:16189
+-#, gcc-internal-format
+-msgid "Incompatible type for %<?:%>. Can't convert %qs to %<boolean%>"
+-msgstr ""
+-
+-#: /scratch/mitchell/gcc-releases/gcc-4.2.0-20070316/gcc-4.2.0-20070316/gcc/java/parse.y:16257
+-#, fuzzy, gcc-internal-format
+-msgid "Incompatible type for %<?:%>. Can't convert %qs to %qs"
+-msgstr "Ubwoko kugirango Bya"
+-
+-#: java/typeck.c:529
+-#, fuzzy, gcc-internal-format
+-msgid "junk at end of signature string"
+-msgstr "Umwanda ku Impera Bya Isinya Ikurikiranyanyuguti"
+-
+-#: java/verify-glue.c:391
+-#, fuzzy, gcc-internal-format
+-msgid "verification failed: %s"
+-msgstr "Ikosa ku"
+-
+-#: java/verify-glue.c:393
+-#, fuzzy, gcc-internal-format
+-msgid "verification failed at PC=%d: %s"
+-msgstr "Ikosa ku"
+-
+-#: java/verify-glue.c:477
+-#, fuzzy, gcc-internal-format
+-msgid "bad pc in exception_table"
+-msgstr "in"
+-
+-#: java/parse.h:129
+-#, gcc-internal-format
+-msgid "%s method can't be abstract"
+-msgstr ""
+-
+-#: java/parse.h:133
+-#, fuzzy, gcc-internal-format
+-msgid "Constructor can't be %s"
+-msgstr "Gicurasi OYA"
+-
+-#. Pedantic warning on obsolete modifiers. Note: when cl is NULL,
+-#. flags was set artificially, such as for an interface method.
+-#: java/parse.h:165
+-#, fuzzy, gcc-internal-format
+-msgid "Discouraged redundant use of %qs modifier in declaration of %s"
+-msgstr "Igikubo Inzego in Bya"
+-
+-#: java/parse.h:172
+-#, gcc-internal-format
+-msgid "Discouraged redundant use of %qs modifier in declaration of %s %qs"
+-msgstr ""
+-
+-#. Standard error messages
+-#: java/parse.h:355
+-#, fuzzy, gcc-internal-format
+-msgid "Incompatible type for %qs. Can't convert %qs to boolean"
+-msgstr "Ubwoko kugirango Bya"
+-
+-#: java/parse.h:360
+-#, gcc-internal-format
+-msgid "Incompatible type for %qs. Can't convert %qs to numeric type"
+-msgstr ""
+-
+-#: java/parse.h:368
+-#, gcc-internal-format
+-msgid "Incompatible type for %qs. Explicit cast needed to convert %qs to integral"
+-msgstr ""
+-
+-#: java/parse.h:373
+-#, fuzzy, gcc-internal-format
+-msgid "Incompatible type for %qs. Can't convert %qs to integral"
+-msgstr "Ubwoko kugirango Bya BUZIGUYE Umumaro"
+-
+-#: java/parse.h:380
+-#, fuzzy, gcc-internal-format
+-msgid "Variable %qs may not have been initialized"
+-msgstr "Umwanya Gicurasi OYA"
+-
+-#: objc/objc-act.c:709
+-#, fuzzy, gcc-internal-format
+-msgid "%<@end%> must appear in an @implementation context"
+-msgstr "`@Kugaragara in Imvugiro"
+-
+-#: objc/objc-act.c:738
+-#, fuzzy, gcc-internal-format
+-msgid "method declaration not in @interface context"
+-msgstr "Uburyo Insobanuro OYA in ishuri Imvugiro"
+-
+-#: objc/objc-act.c:749
+-#, fuzzy, gcc-internal-format
+-msgid "method definition not in @implementation context"
+-msgstr "Uburyo Insobanuro OYA in ishuri Imvugiro"
+-
+-#: objc/objc-act.c:1173
+-#, fuzzy, gcc-internal-format
+-msgid "comparison of distinct Objective-C types lacks a cast"
+-msgstr "Bya Mweretsi a"
+-
+-#: objc/objc-act.c:1177
+-#, gcc-internal-format
+-msgid "initialization from distinct Objective-C type"
+-msgstr ""
+-
+-#: objc/objc-act.c:1181
+-#, gcc-internal-format
+-msgid "assignment from distinct Objective-C type"
+-msgstr ""
+-
+-#: objc/objc-act.c:1185
+-#, gcc-internal-format
+-msgid "distinct Objective-C type in return"
+-msgstr ""
+-
+-#: objc/objc-act.c:1189
+-#, gcc-internal-format
+-msgid "passing argument %d of %qE from distinct Objective-C type"
+-msgstr ""
+-
+-#: objc/objc-act.c:1344
+-#, gcc-internal-format
+-msgid "statically allocated instance of Objective-C class %qs"
+-msgstr ""
+-
+-#: objc/objc-act.c:1415
+-#, fuzzy, gcc-internal-format
+-msgid "protocol %qs has circular dependency"
+-msgstr "Porotokole Cy'uruziga"
+-
+-#: objc/objc-act.c:1440 objc/objc-act.c:6569
+-#, fuzzy, gcc-internal-format
+-msgid "cannot find protocol declaration for %qs"
+-msgstr "Gushaka Porotokole kugirango"
+-
+-#: objc/objc-act.c:1904 objc/objc-act.c:3340 objc/objc-act.c:7182
+-#: objc/objc-act.c:7518 objc/objc-act.c:7572 objc/objc-act.c:7597
+-#, fuzzy, gcc-internal-format
+-msgid "cannot find interface declaration for %qs"
+-msgstr "Gushaka kugirango"
+-
+-#: objc/objc-act.c:1908
+-#, gcc-internal-format
+-msgid "interface %qs does not have valid constant string layout"
+-msgstr ""
+-
+-#: objc/objc-act.c:1913
+-#, fuzzy, gcc-internal-format
+-msgid "cannot find reference tag for class %qs"
+-msgstr "Gushaka Indango Itagi: kugirango ishuri"
+-
+-#: objc/objc-act.c:2540
+-#, fuzzy, gcc-internal-format
+-msgid "%Hcreating selector for nonexistent method %qE"
+-msgstr "kugirango Uburyo"
+-
+-#: objc/objc-act.c:2742
+-#, fuzzy, gcc-internal-format
+-msgid "%qs is not an Objective-C class name or alias"
+-msgstr "`%s'ni OYA a Byemewe ishuri Izina:"
+-
+-#: objc/objc-act.c:2868 objc/objc-act.c:2899 objc/objc-act.c:7446
+-#: objc/objc-act.c:7747 objc/objc-act.c:7777
+-#, gcc-internal-format
+-msgid "Objective-C declarations may only appear in global scope"
+-msgstr ""
+-
+-#: objc/objc-act.c:2873
+-#, fuzzy, gcc-internal-format
+-msgid "cannot find class %qs"
+-msgstr "Gushaka ishuri"
+-
+-#: objc/objc-act.c:2875
+-#, fuzzy, gcc-internal-format
+-msgid "class %qs already exists"
+-msgstr "ishuri"
+-
+-#: objc/objc-act.c:2919 objc/objc-act.c:7487
+-#, fuzzy, gcc-internal-format
+-msgid "%qs redeclared as different kind of symbol"
+-msgstr "`%s'Nka Bya IKIMENYETSO"
+-
+-#: objc/objc-act.c:3193
+-#, gcc-internal-format
+-msgid "strong-cast assignment has been intercepted"
+-msgstr ""
+-
+-#: objc/objc-act.c:3235
+-#, gcc-internal-format
+-msgid "strong-cast may possibly be needed"
+-msgstr ""
+-
+-#: objc/objc-act.c:3245
+-#, fuzzy, gcc-internal-format
+-msgid "instance variable assignment has been intercepted"
+-msgstr "Urugero IMPINDURAGACIRO birabonetse in ishuri Uburyo"
+-
+-#: objc/objc-act.c:3264
+-#, gcc-internal-format
+-msgid "pointer arithmetic for garbage-collected objects not allowed"
+-msgstr ""
+-
+-#: objc/objc-act.c:3270
+-#, gcc-internal-format
+-msgid "global/static variable assignment has been intercepted"
+-msgstr ""
+-
+-#: objc/objc-act.c:3453
+-#, gcc-internal-format
+-msgid "use %<-fobjc-exceptions%> to enable Objective-C exception syntax"
+-msgstr ""
+-
+-#: objc/objc-act.c:3794
+-#, gcc-internal-format
+-msgid "@catch parameter is not a known Objective-C class type"
+-msgstr ""
+-
+-#: objc/objc-act.c:3810
+-#, fuzzy, gcc-internal-format
+-msgid "exception of type %<%T%> will be caught"
+-msgstr "Irengayobora(-) Bya Ubwoko"
+-
+-#: objc/objc-act.c:3812
+-#, fuzzy, gcc-internal-format
+-msgid "%H by earlier handler for %<%T%>"
+-msgstr "ku kugirango"
+-
+-#: objc/objc-act.c:3865
+-#, gcc-internal-format
+-msgid "%<@try%> without %<@catch%> or %<@finally%>"
+-msgstr ""
+-
+-#: objc/objc-act.c:3913
+-#, gcc-internal-format
+-msgid "%<@throw%> (rethrow) used outside of a @catch block"
+-msgstr ""
+-
+-#: objc/objc-act.c:4308
+-#, gcc-internal-format
+-msgid "type %q+D does not have a known size"
+-msgstr ""
+-
+-# desktop/source\app\ssodlg.src:DLG_SSOLOGIN.text
+-#: objc/objc-act.c:4941
+-#, fuzzy, gcc-internal-format
+-msgid "%J%s %qs"
+-msgstr "%s:%s"
+-
+-#: objc/objc-act.c:4964 objc/objc-act.c:4983
+-#, fuzzy, gcc-internal-format
+-msgid "inconsistent instance variable specification"
+-msgstr "Urugero IMPINDURAGACIRO"
+-
+-#: objc/objc-act.c:5841
+-#, fuzzy, gcc-internal-format
+-msgid "can not use an object as parameter to a method"
+-msgstr "OYA Gukoresha Igikoresho Nka Kuri a"
+-
+-#: objc/objc-act.c:6064
+-#, fuzzy, gcc-internal-format
+-msgid "multiple %s named %<%c%s%> found"
+-msgstr "Igikubo Ibigenga"
+-
+-#: objc/objc-act.c:6293
+-#, fuzzy, gcc-internal-format
+-msgid "no super class declared in @interface for %qs"
+-msgstr "Oya hejuru ishuri in kugirango"
+-
+-#: objc/objc-act.c:6331
+-#, gcc-internal-format
+-msgid "found %<-%s%> instead of %<+%s%> in protocol(s)"
+-msgstr ""
+-
+-#: objc/objc-act.c:6390
+-#, fuzzy, gcc-internal-format
+-msgid "invalid receiver type %qs"
+-msgstr "Sibyo Mwakirizi Ubwoko"
+-
+-#: objc/objc-act.c:6405
+-#, fuzzy, gcc-internal-format
+-msgid "%<%c%s%> not found in protocol(s)"
+-msgstr "Umwanya OYA Byabonetse in ishuri"
+-
+-#: objc/objc-act.c:6419
+-#, fuzzy, gcc-internal-format
+-msgid "%qs may not respond to %<%c%s%>"
+-msgstr "`%s'OYA Kuri"
+-
+-#: objc/objc-act.c:6427
+-#, gcc-internal-format
+-msgid "no %<%c%s%> method found"
+-msgstr ""
+-
+-#: objc/objc-act.c:6433
+-#, gcc-internal-format
+-msgid "(Messages without a matching method signature"
+-msgstr ""
+-
+-#: objc/objc-act.c:6434
+-#, gcc-internal-format
+-msgid "will be assumed to return %<id%> and accept"
+-msgstr ""
+-
+-#: objc/objc-act.c:6435
+-#, gcc-internal-format
+-msgid "%<...%> as arguments.)"
+-msgstr ""
+-
+-#: objc/objc-act.c:6668
+-#, fuzzy, gcc-internal-format
+-msgid "undeclared selector %qs"
+-msgstr "Igice: Cyangwa"
+-
+-#. Historically, a class method that produced objects (factory
+-#. method) would assign `self' to the instance that it
+-#. allocated. This would effectively turn the class method into
+-#. an instance method. Following this assignment, the instance
+-#. variables could be accessed. That practice, while safe,
+-#. violates the simple rule that a class method should not refer
+-#. to an instance variable. It's better to catch the cases
+-#. where this is done unknowingly than to support the above
+-#. paradigm.
+-#: objc/objc-act.c:6710
+-#, fuzzy, gcc-internal-format
+-msgid "instance variable %qs accessed in class method"
+-msgstr "Urugero IMPINDURAGACIRO birabonetse in ishuri Uburyo"
+-
+-#: objc/objc-act.c:6943
+-#, fuzzy, gcc-internal-format
+-msgid "duplicate declaration of method %<%c%s%>"
+-msgstr "Gusubiramo Bya ishuri Uburyo"
+-
+-#: objc/objc-act.c:7004
+-#, fuzzy, gcc-internal-format
+-msgid "duplicate interface declaration for category %<%s(%s)%>"
+-msgstr "Gusubiramo kugirango Icyiciro"
+-
+-#: objc/objc-act.c:7031
+-#, fuzzy, gcc-internal-format
+-msgid "illegal reference type specified for instance variable %qs"
+-msgstr "kugirango IMPINDURAGACIRO"
+-
+-#: objc/objc-act.c:7042
+-#, fuzzy, gcc-internal-format
+-msgid "instance variable %qs has unknown size"
+-msgstr "Urugero IMPINDURAGACIRO ni"
+-
+-#: objc/objc-act.c:7067
+-#, fuzzy, gcc-internal-format
+-msgid "type %qs has no default constructor to call"
+-msgstr "Ubwoko Oya"
+-
+-#: objc/objc-act.c:7073
+-#, fuzzy, gcc-internal-format
+-msgid "destructor for %qs shall not be run either"
+-msgstr "kugirango ishuri a"
+-
+-#. Vtable pointers are Real Bad(tm), since Obj-C cannot
+-#. initialize them.
+-#: objc/objc-act.c:7085
+-#, fuzzy, gcc-internal-format
+-msgid "type %qs has virtual member functions"
+-msgstr "guhera Ubwoko Incamake Kitaboneka Imimaro"
+-
+-#: objc/objc-act.c:7086
+-#, fuzzy, gcc-internal-format
+-msgid "illegal aggregate type %qs specified for instance variable %qs"
+-msgstr "kugirango IMPINDURAGACIRO"
+-
+-#: objc/objc-act.c:7096
+-#, fuzzy, gcc-internal-format
+-msgid "type %qs has a user-defined constructor"
+-msgstr "Ubwoko Oya"
+-
+-#: objc/objc-act.c:7098
+-#, fuzzy, gcc-internal-format
+-msgid "type %qs has a user-defined destructor"
+-msgstr "Ubwoko Oya"
+-
+-#: objc/objc-act.c:7102
+-#, gcc-internal-format
+-msgid "C++ constructors and destructors will not be invoked for Objective-C fields"
+-msgstr ""
+-
+-#: objc/objc-act.c:7211
+-#, fuzzy, gcc-internal-format
+-msgid "instance variable %qs is declared private"
+-msgstr "Urugero IMPINDURAGACIRO ni By'umwihariko"
+-
+-#: objc/objc-act.c:7222
+-#, fuzzy, gcc-internal-format
+-msgid "instance variable %qs is %s; this will be a hard error in the future"
+-msgstr "Urugero IMPINDURAGACIRO ni By'umwihariko"
+-
+-#: objc/objc-act.c:7229
+-#, fuzzy, gcc-internal-format
+-msgid "instance variable %qs is declared %s"
+-msgstr "Urugero IMPINDURAGACIRO ni"
+-
+-#: objc/objc-act.c:7255 objc/objc-act.c:7343
+-#, fuzzy, gcc-internal-format
+-msgid "incomplete implementation of class %qs"
+-msgstr "Bya ishuri"
+-
+-#: objc/objc-act.c:7259 objc/objc-act.c:7348
+-#, fuzzy, gcc-internal-format
+-msgid "incomplete implementation of category %qs"
+-msgstr "Bya Icyiciro"
+-
+-#: objc/objc-act.c:7264 objc/objc-act.c:7353
+-#, fuzzy, gcc-internal-format
+-msgid "method definition for %<%c%s%> not found"
+-msgstr "Uburyo Insobanuro kugirango OYA Byabonetse"
+-
+-#: objc/objc-act.c:7394
+-#, fuzzy, gcc-internal-format
+-msgid "%s %qs does not fully implement the %qs protocol"
+-msgstr "%s`%s'OYA i Porotokole"
+-
+-#: objc/objc-act.c:7452 objc/objc-act.c:9142
+-#, fuzzy, gcc-internal-format
+-msgid "%<@end%> missing in implementation context"
+-msgstr "`@Ibuze in Imvugiro"
+-
+-#: objc/objc-act.c:7471
+-#, fuzzy, gcc-internal-format
+-msgid "cannot find interface declaration for %qs, superclass of %qs"
+-msgstr "Gushaka kugirango Bya"
+-
+-#: objc/objc-act.c:7501
+-#, fuzzy, gcc-internal-format
+-msgid "reimplementation of class %qs"
+-msgstr "Bya ishuri"
+-
+-#: objc/objc-act.c:7533
+-#, fuzzy, gcc-internal-format
+-msgid "conflicting super class name %qs"
+-msgstr "hejuru ishuri Izina:"
+-
+-#: objc/objc-act.c:7535
+-#, fuzzy, gcc-internal-format
+-msgid "previous declaration of %qs"
+-msgstr "Ibanjirije Bya"
+-
+-#: objc/objc-act.c:7549 objc/objc-act.c:7551
+-#, fuzzy, gcc-internal-format
+-msgid "duplicate interface declaration for class %qs"
+-msgstr "Gusubiramo kugirango ishuri"
+-
+-#: objc/objc-act.c:7805
+-#, fuzzy, gcc-internal-format
+-msgid "duplicate declaration for protocol %qs"
+-msgstr "Gusubiramo kugirango Porotokole"
+-
+-#. Add a readable method name to the warning.
+-#: objc/objc-act.c:8383
+-#, gcc-internal-format
+-msgid "%J%s %<%c%s%>"
+-msgstr ""
+-
+-#: objc/objc-act.c:8713
+-#, fuzzy, gcc-internal-format
+-msgid "no super class declared in interface for %qs"
+-msgstr "Oya hejuru ishuri in kugirango"
+-
+-#: objc/objc-act.c:8762
+-#, fuzzy, gcc-internal-format
+-msgid "[super ...] must appear in a method context"
+-msgstr "[hejuru Kugaragara in a Uburyo Imvugiro"
+-
+-#: objc/objc-act.c:8802
+-#, gcc-internal-format
+-msgid "method possibly missing a [super dealloc] call"
+-msgstr ""
+-
+-#: objc/objc-act.c:9432
+-#, fuzzy, gcc-internal-format
+-msgid "local declaration of %qs hides instance variable"
+-msgstr "Bya Urugero IMPINDURAGACIRO"
+-
+-#: treelang/tree1.c:278
+-#, fuzzy, gcc-internal-format
+-msgid "%HDuplicate name %q.*s."
+-msgstr "Gusubiramo"
+-
+-#: treelang/treetree.c:813
+-#, fuzzy, gcc-internal-format
+-msgid "Global register variable %qD used in nested function."
+-msgstr "Kwiyandikisha IMPINDURAGACIRO in Umumaro"
+-
+-#: treelang/treetree.c:817
+-#, fuzzy, gcc-internal-format
+-msgid "Register variable %qD used in nested function."
+-msgstr "Kwiyandikisha IMPINDURAGACIRO in Umumaro"
+-
+-#: treelang/treetree.c:823
+-#, fuzzy, gcc-internal-format
+-msgid "Address of global register variable %qD requested."
+-msgstr "Aderesi Bya Kwiyandikisha IMPINDURAGACIRO"
+-
+-#: treelang/treetree.c:828
+-#, fuzzy, gcc-internal-format
+-msgid "Address of register variable %qD requested."
+-msgstr "Aderesi Bya Kwiyandikisha IMPINDURAGACIRO"
+-
+-#: treelang/treetree.c:1213
+-#, fuzzy, gcc-internal-format
+-msgid "%qD attribute ignored"
+-msgstr "`%s'Ikiranga"
+-
+-#, fuzzy
+-#~ msgid "built-in function `%s' not currently supported"
+-#~ msgstr "in Umumaro OYA"
+-
+-#, fuzzy
+-#~ msgid "concatenation of string literals with __FUNCTION__ is deprecated"
+-#~ msgstr "Bya Ikurikiranyanyuguti Na: ni Bitemewe."
+-
+-#, fuzzy
+-#~ msgid "invalid truth-value expression"
+-#~ msgstr "Sibyo Agaciro imvugo"
+-
+-#, fuzzy
+-#~ msgid "pointer to a member used in arithmetic"
+-#~ msgstr "Mweretsi Kuri a in"
+-
+-#, fuzzy
+-#~ msgid "ISO C++ forbids range expressions in switch statements"
+-#~ msgstr "C Urutonde in Hindura"
+-
+-#, fuzzy
+-#~ msgid "ISO C++ forbids taking the address of a label"
+-#~ msgstr "C i Aderesi Bya a Akarango"
+-
+-#, fuzzy
+-#~ msgid "declaration of `%s' shadows %s"
+-#~ msgstr "Bya"
+-
+-#, fuzzy
+-#~ msgid "no vector mode with the size and type specified could be found"
+-#~ msgstr "Oya Ubwoko Na: i Ingano Na Ubwoko Byabonetse"
+-
+-#, fuzzy
+-#~ msgid "`struct %s' incomplete in scope ending here"
+-#~ msgstr "`in Ingano:"
+-
+-#, fuzzy
+-#~ msgid "`union %s' incomplete in scope ending here"
+-#~ msgstr "`Ihuza in Ingano:"
+-
+-#, fuzzy
+-#~ msgid "`enum %s' incomplete in scope ending here"
+-#~ msgstr "`in Ingano:"
+-
+-#, fuzzy
+-#~ msgid "shadowing built-in function `%s'"
+-#~ msgstr "Ishyiraho ry'igicucu in Umumaro"
+-
+-#, fuzzy
+-#~ msgid "shadowing library function `%s'"
+-#~ msgstr "Ishyiraho ry'igicucu Isomero Umumaro"
+-
+-#, fuzzy
+-#~ msgid "library function `%s' declared as non-function"
+-#~ msgstr "Isomero Umumaro Nka Umumaro"
+-
+-#, fuzzy
+-#~ msgid "conflicting types for `%s'"
+-#~ msgstr "kugirango"
+-
+-#, fuzzy
+-#~ msgid "redeclaration of `%s'"
+-#~ msgstr "Bya"
+-
+-#, fuzzy
+-#~ msgid "prototype for `%s' follows"
+-#~ msgstr "kugirango"
+-
+-#, fuzzy
+-#~ msgid "non-prototype definition here"
+-#~ msgstr "Insobanuro"
+-
+-#, fuzzy
+-#~ msgid "prototype for `%s' follows and number of arguments doesn't match"
+-#~ msgstr "kugirango Na Umubare Bya ingingo BIHUYE"
+-
+-#, fuzzy
+-#~ msgid "const declaration for `%s' follows non-const"
+-#~ msgstr "kugirango"
+-
+-#, fuzzy
+-#~ msgid "type qualifiers for `%s' conflict with previous decl"
+-#~ msgstr "Ubwoko kugirango Na: Ibanjirije"
+-
+-#, fuzzy
+-#~ msgid "redundant redeclaration of `%s' in same scope"
+-#~ msgstr "Bya in Ingano:"
+-
+-#, fuzzy
+-#~ msgid "a previous local"
+-#~ msgstr "a Ibanjirije"
+-
+-#, fuzzy
+-#~ msgid "`%s' was declared implicitly `extern' and later `static'"
+-#~ msgstr "`%s'Na"
+-
+-#, fuzzy
+-#~ msgid "previous external decl of `%s'"
+-#~ msgstr "Ibanjirije external Bya"
+-
+-#, fuzzy
+-#~ msgid "type mismatch with previous implicit declaration"
+-#~ msgstr "Ubwoko Na: Ibanjirije"
+-
+-#, fuzzy
+-#~ msgid "`%s' was previously implicitly declared to return `int'"
+-#~ msgstr "`%s'Kuri Garuka"
+-
+-#, fuzzy
+-#~ msgid "`%s' locally external but globally static"
+-#~ msgstr "`%s'external"
+-
+-#, fuzzy
+-#~ msgid "function `%s' was previously declared within a block"
+-#~ msgstr "Umumaro muri a Funga"
+-
+-#, fuzzy
+-#~ msgid "GCC does not yet properly implement `[*]' array declarators"
+-#~ msgstr "OYA Imbonerahamwe"
+-
+-#, fuzzy
+-#~ msgid "typedef `%s' is initialized (use __typeof__ instead)"
+-#~ msgstr "ni Gukoresha"
+-
+-#, fuzzy
+-#~ msgid "function `%s' is initialized like a variable"
+-#~ msgstr "Umumaro ni nka a IMPINDURAGACIRO"
+-
+-#, fuzzy
+-#~ msgid "variable `%s' has initializer but incomplete type"
+-#~ msgstr "IMPINDURAGACIRO Ubwoko"
+-
+-#, fuzzy
+-#~ msgid "elements of array `%s' have incomplete type"
+-#~ msgstr "Ibintu Bya Imbonerahamwe Ubwoko"
+-
+-#, fuzzy
+-#~ msgid "declaration of `%s' has `extern' and is initialized"
+-#~ msgstr "Bya Na ni"
+-
+-#, fuzzy
+-#~ msgid "initializer fails to determine size of `%s'"
+-#~ msgstr "Kuri Ingano Bya"
+-
+-#, fuzzy
+-#~ msgid "array size missing in `%s'"
+-#~ msgstr "Imbonerahamwe Ingano Ibuze in"
+-
+-#, fuzzy
+-#~ msgid "ISO C forbids parameter `%s' shadowing typedef"
+-#~ msgstr "C Ishyiraho ry'igicucu"
+-
+-#, fuzzy
+-#~ msgid "long or short specified with floating type for `%s'"
+-#~ msgstr "Cyangwa Na: Bihindagurika Ubwoko kugirango"
+-
+-#, fuzzy
+-#~ msgid "the only valid combination is `long double'"
+-#~ msgstr "i Byemewe Ivanga ni"
+-
+-#, fuzzy
+-#~ msgid "ISO C forbids qualified void function return type"
+-#~ msgstr "C Umumaro Garuka Ubwoko"
+-
+-#, fuzzy
+-#~ msgid "invalid type modifier within pointer declarator"
+-#~ msgstr "Sibyo Ubwoko muri Mweretsi"
+-
+-#, fuzzy
+-#~ msgid "invalid type modifier within array declarator"
+-#~ msgstr "Sibyo Ubwoko muri Imbonerahamwe"
+-
+-#, fuzzy
+-#~ msgid "parameter `%s' points to incomplete type"
+-#~ msgstr "Utudomo Kuri Ubwoko"
+-
+-#, fuzzy
+-#~ msgid "parameter points to incomplete type"
+-#~ msgstr "Utudomo Kuri Ubwoko"
+-
+-#, fuzzy
+-#~ msgid "`void' in parameter list must be the entire list"
+-#~ msgstr "`in Urutonde i Urutonde"
+-
+-#, fuzzy
+-#~ msgid "`enum %s' declared inside parameter list"
+-#~ msgstr "`Mo Imbere Urutonde"
+-
+-#, fuzzy
+-#~ msgid "anonymous union declared inside parameter list"
+-#~ msgstr "Ihuza Mo Imbere Urutonde"
+-
+-#, fuzzy
+-#~ msgid "anonymous enum declared inside parameter list"
+-#~ msgstr "Mo Imbere Urutonde"
+-
+-#, fuzzy
+-#~ msgid "%s defined inside parms"
+-#~ msgstr "%sMo Imbere"
+-
+-# starmath/source\smres.src:RID_TOOLBOXWINDOW.3.RID_XUNIONY.text
+-#, fuzzy
+-#~ msgid "union"
+-#~ msgstr "Ihuza"
+-
+-# sc/source\ui\formdlg\formdlgs.src:RID_SCTAB_STRUCT.FT_STRUCT.text
+-#, fuzzy
+-#~ msgid "structure"
+-#~ msgstr "Imiterere"
+-
+-#, fuzzy
+-#~ msgid "bit-field `%s' type invalid in ISO C"
+-#~ msgstr "Umwanya Ubwoko Sibyo in C"
+-
+-#, fuzzy
+-#~ msgid "enum defined inside parms"
+-#~ msgstr "Mo Imbere"
+-
+-#, fuzzy
+-#~ msgid "parm types given both in parmlist and separately"
+-#~ msgstr "Byombi in Na"
+-
+-#, fuzzy
+-#~ msgid "the ` ' printf flag"
+-#~ msgstr "i Ibendera"
+-
+-#, fuzzy
+-#~ msgid "the `+' printf flag"
+-#~ msgstr "i Ibendera"
+-
+-#, fuzzy
+-#~ msgid "the `#' printf flag"
+-#~ msgstr "i Ibendera"
+-
+-#, fuzzy
+-#~ msgid "the `0' printf flag"
+-#~ msgstr "i Ibendera"
+-
+-#, fuzzy
+-#~ msgid "the `-' printf flag"
+-#~ msgstr "i Ibendera"
+-
+-#, fuzzy
+-#~ msgid "`I' flag"
+-#~ msgstr "`Ibendera"
+-
+-#, fuzzy
+-#~ msgid "`a' flag"
+-#~ msgstr "`Ibendera"
+-
+-#, fuzzy
+-#~ msgid "the `a' scanf flag"
+-#~ msgstr "i Ibendera"
+-
+-#, fuzzy
+-#~ msgid "`_' flag"
+-#~ msgstr "`_'Ibendera"
+-
+-#, fuzzy
+-#~ msgid "`^' flag"
+-#~ msgstr "`^'Ibendera"
+-
+-#, fuzzy
+-#~ msgid "`(' flag"
+-#~ msgstr "`('Ibendera"
+-
+-#, fuzzy
+-#~ msgid "`!' flag"
+-#~ msgstr "`!'Ibendera"
+-
+-#, fuzzy
+-#~ msgid "%s does not support the `%%%c' %s format"
+-#~ msgstr "%sOYA Gushigikira i Imiterere"
+-
+-#, fuzzy
+-#~ msgid "format argument is not a pointer (arg %d)"
+-#~ msgstr "Imiterere ni OYA a Mweretsi"
+-
+-#, fuzzy
+-#~ msgid "format argument is not a pointer to a pointer (arg %d)"
+-#~ msgstr "Imiterere ni OYA a Mweretsi Kuri a Mweretsi"
+-
+-#, fuzzy
+-#~ msgid "pointer"
+-#~ msgstr "Mweretsi"
+-
+-#, fuzzy
+-#~ msgid "different type"
+-#~ msgstr "Ubwoko"
+-
+-#, fuzzy
+-#~ msgid "%s is not type %s (arg %d)"
+-#~ msgstr "%sni OYA Ubwoko"
+-
+-#, fuzzy
+-#~ msgid "YYDEBUG not defined"
+-#~ msgstr "OYA"
+-
+-#, fuzzy
+-#~ msgid "universal-character-name '\\U%08x' not valid in identifier"
+-#~ msgstr "Ky'isi yose Inyuguti Izina: OYA Byemewe in Ikiranga"
+-
+-#, fuzzy
+-#~ msgid "ignoring invalid multibyte character"
+-#~ msgstr "Sibyo Inyuguti"
+-
+-#, fuzzy
+-#~ msgid "options array incorrectly sorted: %s is before %s"
+-#~ msgstr "Amahitamo Imbonerahamwe bishunguwe ni Mbere"
+-
+-#, fuzzy
+-#~ msgid "-Wno-strict-prototypes is not supported in C++"
+-#~ msgstr "-ni OYA in C"
+-
+-#, fuzzy
+-#~ msgid "switch \"%s\" is deprecated, please see documentation for details"
+-#~ msgstr "Hindura ni Bitemewe. kugirango Birambuye"
+-
+-#, fuzzy
+-#~ msgid "-Wmissing-format-attribute ignored without -Wformat"
+-#~ msgstr "-Imiterere Ikiranga"
+-
+-#, fuzzy
+-#~ msgid ""
+-#~ "Switches:\n"
+-#~ " -include <file> Include the contents of <file> before other files\n"
+-#~ " -imacros <file> Accept definition of macros in <file>\n"
+-#~ " -iprefix <path> Specify <path> as a prefix for next two options\n"
+-#~ " -iwithprefix <dir> Add <dir> to the end of the system include path\n"
+-#~ " -iwithprefixbefore <dir> Add <dir> to the end of the main include path\n"
+-#~ " -isystem <dir> Add <dir> to the start of the system include path\n"
+-#~ msgstr "Gushyiramo IDOSIYE i Ibigize Bya IDOSIYE Mbere Ikindi IDOSIYE Insobanuro Bya Makoro in IDOSIYE Inzira Inzira Nka a Imbanziriza kugirango Komeza>> Kuri i Impera Bya i Sisitemu Gushyiramo Kuri i Impera Bya i Gushyiramo Kuri i Gutangira Bya i Sisitemu Gushyiramo"
+-
+-#, fuzzy
+-#~ msgid ""
+-#~ " -idirafter <dir> Add <dir> to the end of the system include path\n"
+-#~ " -I <dir> Add <dir> to the end of the main include path\n"
+-#~ " -I- Fine-grained include path control; see info docs\n"
+-#~ " -nostdinc Do not search system include directories\n"
+-#~ " (dirs specified with -isystem will still be used)\n"
+-#~ " -nostdinc++ Do not search system include directories for C++\n"
+-#~ " -o <file> Put output into <file>\n"
+-#~ msgstr "-Kuri i Impera Bya i Sisitemu Gushyiramo Kuri i Impera Bya i Gushyiramo Gushyiramo Inzira Igenzura Ibisobanuro OYA Gushaka Sisitemu Gushyiramo Na: OYA Gushaka Sisitemu Gushyiramo ububiko bw'amaderese kugirango C o IDOSIYE Ibisohoka IDOSIYE"
+-
+-#, fuzzy
+-#~ msgid ""
+-#~ " -trigraphs Support ISO C trigraphs\n"
+-#~ " -std=<std name> Specify the conformance standard; one of:\n"
+-#~ " gnu89, gnu99, c89, c99, iso9899:1990,\n"
+-#~ " iso9899:199409, iso9899:1999, c++98\n"
+-#~ " -w Inhibit warning messages\n"
+-#~ " -W[no-]trigraphs Warn if trigraphs are encountered\n"
+-#~ " -W[no-]comment{s} Warn if one comment starts inside another\n"
+-#~ msgstr "-C STD STD Izina: i Bisanzwe Bya C W Iburira Oya NIBA Oya Icyo wongeraho S NIBA Icyo wongeraho Mo Imbere"
+-
+-#, fuzzy
+-#~ msgid ""
+-#~ " -W[no-]traditional Warn about features not present in traditional C\n"
+-#~ " -W[no-]undef Warn if an undefined macro is used by #if\n"
+-#~ " -W[no-]import Warn about the use of the #import directive\n"
+-#~ msgstr "-Oya Ibyerekeye Ibiranga OYA in Oya NIBA kidasobanuye Makoro ni ku Oya Kuzana Ibyerekeye i Gukoresha Bya i Kuzana"
+-
+-#, fuzzy
+-#~ msgid ""
+-#~ " -W[no-]error Treat all warnings as errors\n"
+-#~ " -W[no-]system-headers Do not suppress warnings from system headers\n"
+-#~ " -W[no-]all Enable most preprocessor warnings\n"
+-#~ msgstr "-Oya Ikosa Byose Iburira Nka Oya Sisitemu Imitwe OYA Iburira Bivuye Sisitemu Oya Byose"
+-
+-#, fuzzy
+-#~ msgid ""
+-#~ " -M Generate make dependencies\n"
+-#~ " -MM As -M, but ignore system header files\n"
+-#~ " -MD Generate make dependencies and compile\n"
+-#~ " -MMD As -MD, but ignore system header files\n"
+-#~ " -MF <file> Write dependency output to the given file\n"
+-#~ " -MG Treat missing header file as generated files\n"
+-#~ msgstr "-Ubwoko Kwirengagiza Sisitemu Umutwempangano Ubwoko Na Kwirengagiza Sisitemu Umutwempangano IDOSIYE Ibisohoka Kuri i Ibuze Umutwempangano IDOSIYE Nka"
+-
+-#, fuzzy
+-#~ msgid ""
+-#~ " -MP\t\t\t Generate phony targets for all headers\n"
+-#~ " -MQ <target> Add a MAKE-quoted target\n"
+-#~ " -MT <target> Add an unquoted target\n"
+-#~ msgstr "-kugirango Byose Intego a Intego"
+-
+-#, fuzzy
+-#~ msgid ""
+-#~ " -D<macro> Define a <macro> with string '1' as its value\n"
+-#~ " -D<macro>=<val> Define a <macro> with <val> as its value\n"
+-#~ " -A<question>=<answer> Assert the <answer> to <question>\n"
+-#~ " -A-<question>=<answer> Disable the <answer> to <question>\n"
+-#~ " -U<macro> Undefine <macro> \n"
+-#~ " -v Display the version number\n"
+-#~ msgstr "-Makoro a Makoro Na: Ikurikiranyanyuguti Nka Makoro a Makoro Na: Nka A i Kuri A i Kuri U Makoro Makoro v i Verisiyo"
+-
+-#, fuzzy
+-#~ msgid ""
+-#~ " -H Print the name of header files as they are used\n"
+-#~ " -C Do not discard comments\n"
+-#~ " -dM Display a list of macro definitions active at end\n"
+-#~ " -dD Preserve macro definitions in output\n"
+-#~ " -dN As -dD except that only the names are preserved\n"
+-#~ " -dI Include #include directives in the output\n"
+-#~ msgstr "-H i Izina: Bya Umutwempangano Idosiye Nka C OYA Kwanga a Urutonde Bya Makoro Gikora ku Makoro in i Amazina Gushyiramo in i"
+-
+-#, fuzzy
+-#~ msgid ""
+-#~ " -f[no-]preprocessed Treat the input file as already preprocessed\n"
+-#~ " -ftabstop=<number> Distance between tab stops for column reporting\n"
+-#~ " -P Do not generate #line directives\n"
+-#~ " -remap Remap file names when including files\n"
+-#~ " --help Display this information\n"
+-#~ msgstr "-F Oya i Iyinjiza IDOSIYE Nka Umubare hagati Isunika kugirango Inkingi OYA Umurongo IDOSIYE Amazina Ryari: Ifashayobora iyi"
+-
+-#, fuzzy
+-#~ msgid "ISO C forbids data definition with no type or storage class"
+-#~ msgstr "C Ibyatanzwe Insobanuro Na: Oya Ubwoko Cyangwa ishuri"
+-
+-#, fuzzy
+-#~ msgid "`sizeof' applied to a bit-field"
+-#~ msgstr "`Byashyizweho Kuri a Umwanya"
+-
+-#, fuzzy
+-#~ msgid "`...' in old-style identifier list"
+-#~ msgstr "`...'in ki/ bishaje IMISUSIRE Ikiranga Urutonde"
+-
+-#, fuzzy
+-#~ msgid "%s at end of input"
+-#~ msgstr "%sku Impera Bya Iyinjiza"
+-
+-#, fuzzy
+-#~ msgid "%s before %s'%c'"
+-#~ msgstr "%sMbere"
+-
+-#, fuzzy
+-#~ msgid "%s before %s'\\x%x'"
+-#~ msgstr "%sMbere"
+-
+-#, fuzzy
+-#~ msgid "%s before string constant"
+-#~ msgstr "%sMbere Ikurikiranyanyuguti"
+-
+-#, fuzzy
+-#~ msgid "%s before numeric constant"
+-#~ msgstr "%sMbere Bikurikije umubare"
+-
+-#, fuzzy
+-#~ msgid "%s before \"%s\""
+-#~ msgstr "%sMbere"
+-
+-#, fuzzy
+-#~ msgid "%s before '%s' token"
+-#~ msgstr "%sMbere"
+-
+-#, fuzzy
+-#~ msgid "destructor needed for `%#D'"
+-#~ msgstr "kugirango"
+-
+-#, fuzzy
+-#~ msgid "where case label appears here"
+-#~ msgstr "Akarango"
+-
+-#, fuzzy
+-#~ msgid "(enclose actions of previous case statements requiring destructors in their own scope.)"
+-#~ msgstr "(Bya Ibanjirije in Ingano:"
+-
+-#, fuzzy
+-#~ msgid "subscript has type `char'"
+-#~ msgstr "Inyandiko nyesi Ubwoko"
+-
+-#, fuzzy
+-#~ msgid "shift count is negative"
+-#~ msgstr "Gusunika IBARA ni"
+-
+-#, fuzzy
+-#~ msgid "shift count >= width of type"
+-#~ msgstr "Gusunika IBARA Ubugari Bya Ubwoko"
+-
+-#, fuzzy
+-#~ msgid "ISO C forbids the address of a cast expression"
+-#~ msgstr "C i Aderesi Bya a imvugo"
+-
+-#, fuzzy
+-#~ msgid "invalid lvalue in unary `&'"
+-#~ msgstr "Sibyo in"
+-
+-#, fuzzy
+-#~ msgid "attempt to take address of bit-field structure member `%s'"
+-#~ msgstr "Kuri Aderesi Bya Umwanya Imiterere"
+-
+-#, fuzzy
+-#~ msgid "ISO C forbids use of conditional expressions as lvalues"
+-#~ msgstr "C Gukoresha Bya Nka"
+-
+-#, fuzzy
+-#~ msgid "ISO C forbids use of compound expressions as lvalues"
+-#~ msgstr "C Gukoresha Bya Nka"
+-
+-#, fuzzy
+-#~ msgid "ISO C forbids use of cast expressions as lvalues"
+-#~ msgstr "C Gukoresha Bya Nka"
+-
+-#, fuzzy
+-#~ msgid "%s discards qualifiers from pointer target type"
+-#~ msgstr "%sBivuye Mweretsi Intego Ubwoko"
+-
+-#, fuzzy
+-#~ msgid "passing arg of `%s'"
+-#~ msgstr "Bya"
+-
+-#, fuzzy
+-#~ msgid "passing arg %d of `%s'"
+-#~ msgstr "Bya"
+-
+-#, fuzzy
+-#~ msgid "passing arg %d of pointer to function"
+-#~ msgstr "Bya Mweretsi Kuri Umumaro"
+-
+-#, fuzzy
+-#~ msgid "initializer for static variable is not constant"
+-#~ msgstr "kugirango IMPINDURAGACIRO ni OYA"
+-
+-#, fuzzy
+-#~ msgid "initializer for static variable uses complicated arithmetic"
+-#~ msgstr "kugirango IMPINDURAGACIRO"
+-
+-#, fuzzy
+-#~ msgid "aggregate initializer is not constant"
+-#~ msgstr "ni OYA"
+-
+-#, fuzzy
+-#~ msgid "asm template is not a string constant"
+-#~ msgstr "Inyandikorugero ni OYA a Ikurikiranyanyuguti"
+-
+-#, fuzzy
+-#~ msgid "modification by `asm'"
+-#~ msgstr "ku"
+-
+-#, fuzzy
+-#~ msgid "return"
+-#~ msgstr "Garuka"
+-
+-#, fuzzy
+-#~ msgid "can't inline call to `%s'"
+-#~ msgstr "Mumurongo Kuri"
+-
+-#, fuzzy
+-#~ msgid "dup2 %d 1"
+-#~ msgstr "1."
+-
+-# svx/source\svdraw\svdstr.src:STR_EditShut.text
+-#, fuzzy
+-#~ msgid "close %d"
+-#~ msgstr "Gufunga"
+-
+-#, fuzzy
+-#~ msgid "unable to mmap file '%s'"
+-#~ msgstr "Kuri IDOSIYE"
+-
+-#, fuzzy
+-#~ msgid "not found\n"
+-#~ msgstr "OYA"
+-
+-#, fuzzy
+-#~ msgid "bad magic number in file '%s'"
+-#~ msgstr "Umubare in IDOSIYE"
+-
+-#, fuzzy
+-#~ msgid "incompatibilities between object file & expected values"
+-#~ msgstr "hagati Igikoresho IDOSIYE Ikitezwe: Uduciro"
+-
+-#, fuzzy
+-#~ msgid ""
+-#~ "\n"
+-#~ "Processing symbol table #%d, offset = 0x%.8lx, kind = %s\n"
+-#~ msgstr "IKIMENYETSO imbonerahamwe# Nta- boneza"
+-
+-#, fuzzy
+-#~ msgid "string section missing"
+-#~ msgstr "Ikurikiranyanyuguti Icyiciro Ibuze"
+-
+-#, fuzzy
+-#~ msgid "no symbol table found"
+-#~ msgstr "Oya IKIMENYETSO imbonerahamwe# Byabonetse"
+-
+-#, fuzzy
+-#~ msgid ""
+-#~ "\n"
+-#~ "Updating header and load commands.\n"
+-#~ "\n"
+-#~ msgstr "Umutwempangano Na Ibirimo Amabwiriza"
+-
+-#, fuzzy
+-#~ msgid "load command map, %d cmds, new size %ld.\n"
+-#~ msgstr "Ibirimo Komandi: Gishya Ingano"
+-
+-#, fuzzy
+-#~ msgid ""
+-#~ "writing load commands.\n"
+-#~ "\n"
+-#~ msgstr "Ibirimo Amabwiriza"
+-
+-# svx/source\svdraw\svdstr.src:STR_EditShut.text
+-#, fuzzy
+-#~ msgid "close %s"
+-#~ msgstr "Gufunga"
+-
+-#, fuzzy
+-#~ msgid "could not convert 0x%l.8x into a region"
+-#~ msgstr "OYA GUHINDURA a"
+-
+-#, fuzzy
+-#~ msgid "%s function, region %d, offset = %ld (0x%.8lx)\n"
+-#~ msgstr "%sUmumaro Nta- boneza"
+-
+-#, fuzzy
+-#~ msgid "bad magic number"
+-#~ msgstr "Umubare"
+-
+-#, fuzzy
+-#~ msgid "bad header version"
+-#~ msgstr "Umutwempangano Verisiyo"
+-
+-#, fuzzy
+-#~ msgid "bad raw header version"
+-#~ msgstr "Umutwempangano Verisiyo"
+-
+-#, fuzzy
+-#~ msgid "raw header buffer too small"
+-#~ msgstr "Umutwempangano Gitoya"
+-
+-#, fuzzy
+-#~ msgid "old raw header file"
+-#~ msgstr "ki/ bishaje Umutwempangano IDOSIYE"
+-
+-#, fuzzy
+-#~ msgid "unsupported version"
+-#~ msgstr "Verisiyo"
+-
+-#, fuzzy
+-#~ msgid "unknown {de,en}code_mach_o_hdr return value %d"
+-#~ msgstr "Kitazwi Garuka Agaciro"
+-
+-#, fuzzy
+-#~ msgid "lseek %s 0"
+-#~ msgstr "0"
+-
+-# svx/inc\globlmn.hrc:ITEM_FILE_MAIL_INBOX.text
+-#, fuzzy
+-#~ msgid "read %s"
+-#~ msgstr "Gusoma"
+-
+-#, fuzzy
+-#~ msgid "read %ld bytes, expected %ld, from %s"
+-#~ msgstr "Gusoma Bayite Ikitezwe: Bivuye"
+-
+-# #-#-#-#-# officecfg.pot (PACKAGE VERSION) #-#-#-#-#
+-# officecfg/registry\schema\org\openoffice\Office\Common.xcs:....Filter.HTML.Export.Browser..3.text
+-# #-#-#-#-# officecfg.pot (PACKAGE VERSION) #-#-#-#-#
+-# officecfg/registry\schema\org\openoffice\Office\Writer.xcs:....FormLetter.MailingOutput.Format..8.text
+-#, fuzzy
+-#~ msgid "write %s"
+-#~ msgstr "Kwandika"
+-
+-#, fuzzy
+-#~ msgid "wrote %ld bytes, expected %ld, to %s"
+-#~ msgstr "Bayite Ikitezwe: Kuri"
+-
+-#, fuzzy
+-#~ msgid ""
+-#~ ";; Combiner statistics: %d attempts, %d substitutions (%d requiring new space),\n"
+-#~ ";; %d successes.\n"
+-#~ "\n"
+-#~ msgstr ";;Sitatisitiki Gishya Umwanya Ibyatunganye"
+-
+-#, fuzzy
+-#~ msgid ""
+-#~ "\n"
+-#~ ";; Combiner totals: %d attempts, %d substitutions (%d requiring new space),\n"
+-#~ ";; %d successes.\n"
+-#~ msgstr ";;Gishya Umwanya Ibyatunganye"
+-
+-#, fuzzy
+-#~ msgid "too many decimal points in number"
+-#~ msgstr "NYACUMI Utudomo in Umubare"
+-
+-#, fuzzy
+-#~ msgid "invalid digit \"%c\" in octal constant"
+-#~ msgstr "Sibyo in"
+-
+-#, fuzzy
+-#~ msgid "use of C99 hexadecimal floating constant"
+-#~ msgstr "Gukoresha Bya Bihindagurika"
+-
+-#, fuzzy
+-#~ msgid "exponent has no digits"
+-#~ msgstr "Oya"
+-
+-#, fuzzy
+-#~ msgid "hexadecimal floating constants require an exponent"
+-#~ msgstr "Bihindagurika"
+-
+-#, fuzzy
+-#~ msgid "invalid suffix \"%.*s\" on floating constant"
+-#~ msgstr "Sibyo Ingereka S ku Bihindagurika"
+-
+-#, fuzzy
+-#~ msgid "traditional C rejects the \"%.*s\" suffix"
+-#~ msgstr "C i S Ingereka"
+-
+-#, fuzzy
+-#~ msgid "invalid suffix \"%.*s\" on integer constant"
+-#~ msgstr "Sibyo Ingereka S ku Umubare wuzuye"
+-
+-#, fuzzy
+-#~ msgid "use of C99 long long integer constant"
+-#~ msgstr "Gukoresha Bya Umubare wuzuye"
+-
+-#, fuzzy
+-#~ msgid "imaginary constants are a GCC extension"
+-#~ msgstr "NYURABWENGE a Umugereka"
+-
+-#, fuzzy
+-#~ msgid "integer constant is too large for its type"
+-#~ msgstr "Umubare wuzuye ni Binini kugirango Ubwoko"
+-
+-#, fuzzy
+-#~ msgid "integer constant is so large that it is unsigned"
+-#~ msgstr "Umubare wuzuye ni Binini ni Bitashizweho umukono"
+-
+-#, fuzzy
+-#~ msgid "missing ')' after \"defined\""
+-#~ msgstr "Ibuze Nyuma"
+-
+-#, fuzzy
+-#~ msgid "operator \"defined\" requires an identifier"
+-#~ msgstr "Mukoresha Ikiranga"
+-
+-#, fuzzy
+-#~ msgid "(\"%s\" is an alternative token for \"%s\" in C++)"
+-#~ msgstr "(\"%s\"ni kugirango in C"
+-
+-#, fuzzy
+-#~ msgid "this use of \"defined\" may not be portable"
+-#~ msgstr "iyi Gukoresha Bya Gicurasi OYA"
+-
+-#, fuzzy
+-#~ msgid "floating constant in preprocessor expression"
+-#~ msgstr "Bihindagurika in imvugo"
+-
+-#, fuzzy
+-#~ msgid "imaginary number in preprocessor expression"
+-#~ msgstr "NYURABWENGE Umubare in imvugo"
+-
+-#, fuzzy
+-#~ msgid "ISO C++ does not permit \"%s\" in #if"
+-#~ msgstr "C OYA in NIBA"
+-
+-#, fuzzy
+-#~ msgid "\"%s\" is not defined"
+-#~ msgstr "\"%s\"ni OYA"
+-
+-#, fuzzy
+-#~ msgid "missing binary operator before token \"%s\""
+-#~ msgstr "Ibuze Nyabibiri Mukoresha Mbere"
+-
+-#, fuzzy
+-#~ msgid "invalid character '\\%03o' in #if"
+-#~ msgstr "Sibyo Inyuguti in NIBA"
+-
+-#, fuzzy
+-#~ msgid "token \"%s\" is not valid in preprocessor expressions"
+-#~ msgstr "ni OYA Byemewe in"
+-
+-#, fuzzy
+-#~ msgid "void expression between '(' and ')'"
+-#~ msgstr "imvugo hagati Na"
+-
+-#, fuzzy
+-#~ msgid "#if with no expression"
+-#~ msgstr "#NIBA Na: Oya imvugo"
+-
+-#, fuzzy
+-#~ msgid "operator '%s' has no right operand"
+-#~ msgstr "Mukoresha Oya Iburyo:"
+-
+-#, fuzzy
+-#~ msgid "unbalanced stack in #if"
+-#~ msgstr "in NIBA"
+-
+-#, fuzzy
+-#~ msgid "impossible operator '%u'"
+-#~ msgstr "Mukoresha"
+-
+-#, fuzzy
+-#~ msgid "'?' without following ':'"
+-#~ msgstr ""
+-#~ "''Project- Id- Version: basctl\n"
+-#~ "POT- Creation- Date: 2003- 12- 07 17: 13+ 02\n"
+-#~ "PO- Revision- Date: 2004- 11- 04 10: 13- 0700\n"
+-#~ "Last- Translator: Language- Team:< en@ li. org> MIME- Version: 1. 0\n"
+-#~ "Content- Type: text/ plain; charset= UTF- 8\n"
+-#~ "Content- Transfer- Encoding: 8bit\n"
+-#~ "X- Generator: KBabel 1. 0\n"
+-#~ "."
+-
+-#, fuzzy
+-#~ msgid "integer overflow in preprocessor expression"
+-#~ msgstr "Umubare wuzuye Byarenze urugero in imvugo"
+-
+-#, fuzzy
+-#~ msgid "missing '(' in expression"
+-#~ msgstr "Ibuze in imvugo"
+-
+-#, fuzzy
+-#~ msgid "the left operand of \"%s\" changes sign when promoted"
+-#~ msgstr "i Ibumoso: Bya Amahinduka IKIMENYETSO Ryari:"
+-
+-#, fuzzy
+-#~ msgid "the right operand of \"%s\" changes sign when promoted"
+-#~ msgstr "i Iburyo: Bya Amahinduka IKIMENYETSO Ryari:"
+-
+-#, fuzzy
+-#~ msgid "comma operator in operand of #if"
+-#~ msgstr "Akitso Mukoresha in Bya NIBA"
+-
+-#, fuzzy
+-#~ msgid "division by zero in #if"
+-#~ msgstr "ku Zeru in NIBA"
+-
+-#, fuzzy
+-#~ msgid "%s is too large"
+-#~ msgstr "%sni Binini"
+-
+-#, fuzzy
+-#~ msgid "%s is shorter than expected"
+-#~ msgstr "%sni Ikitezwe:"
+-
+-#, fuzzy
+-#~ msgid "%s is a block device"
+-#~ msgstr "%sni a Funga APAREYE"
+-
+-#, fuzzy
+-#~ msgid "no include path in which to find %s"
+-#~ msgstr "Oya Gushyiramo Inzira in Kuri Gushaka"
+-
+-#, fuzzy
+-#~ msgid "Multiple include guards may be useful for:\n"
+-#~ msgstr "Gushyiramo Gicurasi kugirango"
+-
+-#, fuzzy
+-#~ msgid "absolute file name in remap_filename"
+-#~ msgstr "IDOSIYE Izina: in"
+-
+-#, fuzzy
+-#~ msgid "%s: Not a directory"
+-#~ msgstr "%s:a bushyinguro"
+-
+-#, fuzzy
+-#~ msgid "cppchar_t must be an unsigned type"
+-#~ msgstr "Bitashizweho umukono Ubwoko"
+-
+-#, fuzzy
+-#~ msgid "preprocessor arithmetic has maximum precision of %lu bits; target requires %lu bits"
+-#~ msgstr "Kinini Bya Intego"
+-
+-#, fuzzy
+-#~ msgid "CPP arithmetic must be at least as precise as a target int"
+-#~ msgstr "ku Nka Nka a Intego INT"
+-
+-#, fuzzy
+-#~ msgid "target char is less than 8 bits wide"
+-#~ msgstr "Intego INYUGUTI ni Birutwa 8"
+-
+-#, fuzzy
+-#~ msgid "target wchar_t is narrower than target char"
+-#~ msgstr "Intego ni Intego INYUGUTI"
+-
+-#, fuzzy
+-#~ msgid "target int is narrower than target char"
+-#~ msgstr "Intego INT ni Intego INYUGUTI"
+-
+-#, fuzzy
+-#~ msgid "CPP half-integer narrower than CPP character"
+-#~ msgstr "Umubare wuzuye Inyuguti"
+-
+-#, fuzzy
+-#~ msgid "CPP on this host cannot handle wide character constants over %lu bits, but the target requires %lu bits"
+-#~ msgstr "ku iyi Ubuturo Inyuguti KURI i Intego"
+-
+-#, fuzzy
+-#~ msgid "directory name missing after %s"
+-#~ msgstr "bushyinguro Izina: Ibuze Nyuma"
+-
+-#, fuzzy
+-#~ msgid "file name missing after %s"
+-#~ msgstr "IDOSIYE Izina: Ibuze Nyuma"
+-
+-#, fuzzy
+-#~ msgid "path name missing after %s"
+-#~ msgstr "Inzira Izina: Ibuze Nyuma"
+-
+-#, fuzzy
+-#~ msgid "trigraph ??%c converted to %c"
+-#~ msgstr ""
+-#~ "Project- Id- Version: basctl\n"
+-#~ "POT- Creation- Date: 2003- 12- 07 17: 13+ 02\n"
+-#~ "PO- Revision- Date: 2004- 11- 04 10: 13- 0700\n"
+-#~ "Last- Translator: Language- Team:< en@ li. org> MIME- Version: 1. 0\n"
+-#~ "Content- Type: text/ plain; charset= UTF- 8\n"
+-#~ "Content- Transfer- Encoding: 8bit\n"
+-#~ "X- Generator: KBabel 1. 0\n"
+-#~ "."
+-
+-#, fuzzy
+-#~ msgid "trigraph ??%c ignored"
+-#~ msgstr ""
+-#~ "Project- Id- Version: basctl\n"
+-#~ "POT- Creation- Date: 2003- 12- 07 17: 13+ 02\n"
+-#~ "PO- Revision- Date: 2004- 11- 04 10: 13- 0700\n"
+-#~ "Last- Translator: Language- Team:< en@ li. org> MIME- Version: 1. 0\n"
+-#~ "Content- Type: text/ plain; charset= UTF- 8\n"
+-#~ "Content- Transfer- Encoding: 8bit\n"
+-#~ "X- Generator: KBabel 1. 0\n"
+-#~ "."
+-
+-#, fuzzy
+-#~ msgid "backslash and newline separated by space"
+-#~ msgstr "Na ku Umwanya"
+-
+-#, fuzzy
+-#~ msgid "backslash-newline at end of file"
+-#~ msgstr "ku Impera Bya IDOSIYE"
+-
+-#, fuzzy
+-#~ msgid "\"/*\" within comment"
+-#~ msgstr "\"/*\"muri Icyo wongeraho"
+-
+-#, fuzzy
+-#~ msgid "null character(s) ignored"
+-#~ msgstr "NTAGIHARI Inyuguti S"
+-
+-#, fuzzy
+-#~ msgid "attempt to use poisoned \"%s\""
+-#~ msgstr "Kuri Gukoresha"
+-
+-#, fuzzy
+-#~ msgid "__VA_ARGS__ can only appear in the expansion of a C99 variadic macro"
+-#~ msgstr "_Kugaragara in i Bya a Makoro"
+-
+-#, fuzzy
+-#~ msgid "'$' character(s) in identifier or number"
+-#~ msgstr "'$'Inyuguti S in Ikiranga Cyangwa Umubare"
+-
+-#, fuzzy
+-#~ msgid "null character(s) preserved in literal"
+-#~ msgstr "NTAGIHARI Inyuguti S in"
+-
+-#, fuzzy
+-#~ msgid "no newline at end of file"
+-#~ msgstr "Oya ku Impera Bya IDOSIYE"
+-
+-#, fuzzy
+-#~ msgid "unterminated comment"
+-#~ msgstr "Icyo wongeraho"
+-
+-#, fuzzy
+-#~ msgid "C++ style comments are not allowed in ISO C90"
+-#~ msgstr "C IMISUSIRE Ibisobanuro OYA in"
+-
+-#, fuzzy
+-#~ msgid "(this will be reported only once per input file)"
+-#~ msgstr "(iyi Rimwe Iyinjiza IDOSIYE"
+-
+-#, fuzzy
+-#~ msgid "multi-line comment"
+-#~ msgstr "Umurongo Icyo wongeraho"
+-
+-#, fuzzy
+-#~ msgid "the meaning of '\\%c' is different in traditional C"
+-#~ msgstr "i Igisobanuro Bya ni in C"
+-
+-#, fuzzy
+-#~ msgid "incomplete universal-character-name"
+-#~ msgstr "Ky'isi yose Inyuguti Izina:"
+-
+-#, fuzzy
+-#~ msgid "non-hex digit '%c' in universal-character-name"
+-#~ msgstr "in Ky'isi yose Inyuguti Izina:"
+-
+-#, fuzzy
+-#~ msgid "universal-character-name on EBCDIC target"
+-#~ msgstr "Ky'isi yose Inyuguti Izina: ku Intego"
+-
+-#, fuzzy
+-#~ msgid "universal-character-name out of range"
+-#~ msgstr "Ky'isi yose Inyuguti Izina: Inyuma Bya Urutonde"
+-
+-#, fuzzy
+-#~ msgid "the meaning of '\\a' is different in traditional C"
+-#~ msgstr "i Igisobanuro Bya ni in C"
+-
+-#, fuzzy
+-#~ msgid "non-ISO-standard escape sequence, '\\%c'"
+-#~ msgstr "Bisanzwe"
+-
+-#, fuzzy
+-#~ msgid "the meaning of '\\x' is different in traditional C"
+-#~ msgstr "i Igisobanuro Bya ni in C"
+-
+-#, fuzzy
+-#~ msgid "\\x used with no following hex digits"
+-#~ msgstr "\\xNa: Oya"
+-
+-#, fuzzy
+-#~ msgid "hex escape sequence out of range"
+-#~ msgstr "Inyuma Bya Urutonde"
+-
+-#, fuzzy
+-#~ msgid "octal escape sequence out of range"
+-#~ msgstr "Inyuma Bya Urutonde"
+-
+-#, fuzzy
+-#~ msgid "unknown escape sequence '\\%c'"
+-#~ msgstr "Kitazwi"
+-
+-#, fuzzy
+-#~ msgid "unknown escape sequence: '\\%03o'"
+-#~ msgstr "Kitazwi"
+-
+-#, fuzzy
+-#~ msgid "escape sequence out of range for its type"
+-#~ msgstr "Inyuma Bya Urutonde kugirango Ubwoko"
+-
+-#, fuzzy
+-#~ msgid "empty character constant"
+-#~ msgstr "ubusa Inyuguti"
+-
+-#, fuzzy
+-#~ msgid "character constant too long for its type"
+-#~ msgstr "Inyuguti kugirango Ubwoko"
+-
+-#, fuzzy
+-#~ msgid "multi-character character constant"
+-#~ msgstr "Inyuguti Inyuguti"
+-
+-#, fuzzy
+-#~ msgid "extra tokens at end of #%s directive"
+-#~ msgstr "Birenga ku Impera Bya"
+-
+-#, fuzzy
+-#~ msgid "#%s is a GCC extension"
+-#~ msgstr "#%sni a Umugereka"
+-
+-#, fuzzy
+-#~ msgid "traditional C ignores #%s with the # indented"
+-#~ msgstr "C Na: i hariho marije"
+-
+-#, fuzzy
+-#~ msgid "suggest hiding #%s from traditional C with an indented #"
+-#~ msgstr "Bivuye C Na: hariho marije"
+-
+-#, fuzzy
+-#~ msgid "embedding a directive within macro arguments is not portable"
+-#~ msgstr "a muri Makoro ingingo ni OYA"
+-
+-#, fuzzy
+-#~ msgid "invalid preprocessing directive #%s"
+-#~ msgstr "Sibyo"
+-
+-#, fuzzy
+-#~ msgid "\"defined\" cannot be used as a macro name"
+-#~ msgstr "\"Nka a Makoro Izina:"
+-
+-#, fuzzy
+-#~ msgid "no macro name given in #%s directive"
+-#~ msgstr "Oya Makoro Izina: in"
+-
+-#, fuzzy
+-#~ msgid "macro names must be identifiers"
+-#~ msgstr "Makoro Amazina"
+-
+-#, fuzzy
+-#~ msgid "missing terminating > character"
+-#~ msgstr "Ibuze Inyuguti"
+-
+-#, fuzzy
+-#~ msgid "#%s expects \"FILENAME\" or <FILENAME>"
+-#~ msgstr "#%sCyangwa"
+-
+-#, fuzzy
+-#~ msgid "#include_next in primary source file"
+-#~ msgstr "#in Inkomoko IDOSIYE"
+-
+-#, fuzzy
+-#~ msgid "#import is obsolete, use an #ifndef wrapper in the header file"
+-#~ msgstr "#Kuzana ni Gukoresha in i Umutwempangano IDOSIYE"
+-
+-#, fuzzy
+-#~ msgid "invalid flag \"%s\" in line directive"
+-#~ msgstr "Sibyo Ibendera in Umurongo"
+-
+-#, fuzzy
+-#~ msgid "\"%s\" after #line is not a positive integer"
+-#~ msgstr "\"%s\"Nyuma Umurongo ni OYA a Umubare wuzuye"
+-
+-#, fuzzy
+-#~ msgid "line number out of range"
+-#~ msgstr "Umurongo Umubare Inyuma Bya Urutonde"
+-
+-#, fuzzy
+-#~ msgid "\"%s\" after # is not a positive integer"
+-#~ msgstr "\"%s\"Nyuma ni OYA a Umubare wuzuye"
+-
+-#, fuzzy
+-#~ msgid "invalid #ident directive"
+-#~ msgstr "Sibyo"
+-
+-#, fuzzy
+-#~ msgid "registering \"%s\" as both a pragma and a pragma namespace"
+-#~ msgstr "Nka Byombi a Na a"
+-
+-#, fuzzy
+-#~ msgid "#pragma %s %s is already registered"
+-#~ msgstr "#ni"
+-
+-#, fuzzy
+-#~ msgid "#pragma %s is already registered"
+-#~ msgstr "#ni"
+-
+-#, fuzzy
+-#~ msgid "#pragma once is obsolete"
+-#~ msgstr "#Rimwe ni"
+-
+-#, fuzzy
+-#~ msgid "#pragma once in main file"
+-#~ msgstr "#Rimwe in IDOSIYE"
+-
+-#, fuzzy
+-#~ msgid "invalid #pragma GCC poison directive"
+-#~ msgstr "Sibyo"
+-
+-#, fuzzy
+-#~ msgid "poisoning existing macro \"%s\""
+-#~ msgstr "Makoro"
+-
+-#, fuzzy
+-#~ msgid "#pragma system_header ignored outside include file"
+-#~ msgstr "#Hanze Gushyiramo IDOSIYE"
+-
+-#, fuzzy
+-#~ msgid "cannot find source %s"
+-#~ msgstr "Gushaka Inkomoko"
+-
+-#, fuzzy
+-#~ msgid "current file is older than %s"
+-#~ msgstr "KIGEZWEHO IDOSIYE ni"
+-
+-#, fuzzy
+-#~ msgid "#else without #if"
+-#~ msgstr "#Ikindi NIBA"
+-
+-#, fuzzy
+-#~ msgid "#else after #else"
+-#~ msgstr "#Ikindi Nyuma Ikindi"
+-
+-#, fuzzy
+-#~ msgid "the conditional began here"
+-#~ msgstr "i"
+-
+-#, fuzzy
+-#~ msgid "#elif without #if"
+-#~ msgstr "#NIBA"
+-
+-#, fuzzy
+-#~ msgid "#elif after #else"
+-#~ msgstr "#Nyuma Ikindi"
+-
+-#, fuzzy
+-#~ msgid "#endif without #if"
+-#~ msgstr "#NIBA"
+-
+-#, fuzzy
+-#~ msgid "missing ')' to complete answer"
+-#~ msgstr "Ibuze Kuri Byuzuye"
+-
+-#, fuzzy
+-#~ msgid "predicate's answer is empty"
+-#~ msgstr "ni ubusa"
+-
+-#, fuzzy
+-#~ msgid "macro \"%s\" is not used"
+-#~ msgstr "Makoro ni OYA"
+-
+-#, fuzzy
+-#~ msgid "invalid built-in macro \"%s\""
+-#~ msgstr "Sibyo in Makoro"
+-
+-#, fuzzy
+-#~ msgid "could not determine date and time"
+-#~ msgstr "OYA Itariki Na Igihe"
+-
+-#, fuzzy
+-#~ msgid "pasting \"%s\" and \"%s\" does not give a valid preprocessing token"
+-#~ msgstr "Na OYA a Byemewe"
+-
+-#, fuzzy
+-#~ msgid "ISO C99 requires rest arguments to be used"
+-#~ msgstr "ingingo Kuri"
+-
+-#, fuzzy
+-#~ msgid "macro \"%s\" requires %u arguments, but only %u given"
+-#~ msgstr "Makoro ingingo"
+-
+-#, fuzzy
+-#~ msgid "macro \"%s\" passed %u arguments, but takes just %u"
+-#~ msgstr "Makoro ingingo"
+-
+-#, fuzzy
+-#~ msgid "unterminated argument list invoking macro \"%s\""
+-#~ msgstr "Urutonde Makoro"
+-
+-#, fuzzy
+-#~ msgid "function-like macro \"%s\" must be used with arguments in traditional C"
+-#~ msgstr "Umumaro nka Makoro Na: ingingo in C"
+-
+-#, fuzzy
+-#~ msgid "duplicate macro parameter \"%s\""
+-#~ msgstr "Gusubiramo Makoro"
+-
+-#, fuzzy
+-#~ msgid "\"%s\" may not appear in macro parameter list"
+-#~ msgstr "\"%s\"Gicurasi OYA Kugaragara in Makoro Urutonde"
+-
+-#, fuzzy
+-#~ msgid "macro parameters must be comma-separated"
+-#~ msgstr "Makoro Ibigenga Akitso"
+-
+-#, fuzzy
+-#~ msgid "parameter name missing"
+-#~ msgstr "Izina: Ibuze"
+-
+-#, fuzzy
+-#~ msgid "anonymous variadic macros were introduced in C99"
+-#~ msgstr "Makoro in"
+-
+-#, fuzzy
+-#~ msgid "ISO C does not permit named variadic macros"
+-#~ msgstr "C OYA Makoro"
+-
+-#, fuzzy
+-#~ msgid "missing ')' in macro parameter list"
+-#~ msgstr "Ibuze in Makoro Urutonde"
+-
+-#, fuzzy
+-#~ msgid "ISO C requires whitespace after the macro name"
+-#~ msgstr "C Nyuma i Makoro Izina:"
+-
+-#, fuzzy
+-#~ msgid "'#' is not followed by a macro parameter"
+-#~ msgstr "'#'ni OYA ku a Makoro"
+-
+-#, fuzzy
+-#~ msgid "'##' cannot appear at either end of a macro expansion"
+-#~ msgstr "'##'Kugaragara ku Impera Bya a Makoro"
+-
+-#, fuzzy
+-#~ msgid "macro argument \"%s\" would be stringified in traditional C"
+-#~ msgstr "Makoro in C"
+-
+-#, fuzzy
+-#~ msgid "invalid hash type %d in cpp_macro_definition"
+-#~ msgstr "Sibyo Ubwoko in"
+-
+-#, fuzzy
+-#~ msgid "detected recursion whilst expanding macro \"%s\""
+-#~ msgstr "Makoro"
+-
+-#, fuzzy
+-#~ msgid ";; Processing block from %d to %d, %d sets.\n"
+-#~ msgstr ";;Funga Bivuye Kuri"
+-
+-#, fuzzy
+-#~ msgid "%s: warnings being treated as errors\n"
+-#~ msgstr "%s:Iburira Nka"
+-
+-#, fuzzy
+-#~ msgid ""
+-#~ ",\n"
+-#~ " from %s:%d"
+-#~ msgstr ",Bivuye"
+-
+-#, fuzzy
+-#~ msgid "internal regno botch: `%s' has regno = %d\n"
+-#~ msgstr "By'imbere"
+-
+-#, fuzzy
+-#~ msgid "support for the DWARF1 debugging format is deprecated"
+-#~ msgstr "Gushigikira kugirango i Imiterere ni Bitemewe."
+-
+-#, fuzzy
+-#~ msgid "can't get current directory"
+-#~ msgstr "Kubona KIGEZWEHO bushyinguro"
+-
+-#, fuzzy
+-#~ msgid "can't access real part of complex value in hard register"
+-#~ msgstr "Bya ITSINDA RY'IMIBARE C Agaciro in Ikomeye Kwiyandikisha"
+-
+-#, fuzzy
+-#~ msgid "can't access imaginary part of complex value in hard register"
+-#~ msgstr "NYURABWENGE Bya ITSINDA RY'IMIBARE C Agaciro in Ikomeye Kwiyandikisha"
+-
+-#, fuzzy
+-#~ msgid "function using short complex types cannot be inline"
+-#~ msgstr "Umumaro ikoresha ITSINDA RY'IMIBARE C Mumurongo"
+-
+-#, fuzzy
+-#~ msgid "unsupported wide integer operation"
+-#~ msgstr "Umubare wuzuye"
+-
+-#, fuzzy
+-#~ msgid "prior parameter's size depends on `%s'"
+-#~ msgstr "Ingano ku"
+-
+-#, fuzzy
+-#~ msgid "returned value in block_exit_expr"
+-#~ msgstr "Agaciro in"
+-
+-#, fuzzy
+-#~ msgid "cannot take the address of an unaligned member"
+-#~ msgstr "i Aderesi Bya"
+-
+-#, fuzzy
+-#~ msgid "Copyright (C) 2003 Free Software Foundation, Inc.\n"
+-#~ msgstr "C"
+-
+-#, fuzzy
+-#~ msgid "warning: -pipe ignored because -time specified"
+-#~ msgstr "Iburira Igihe"
+-
+-#, fuzzy
+-#~ msgid "invalid specification! Bug in cc"
+-#~ msgstr "Sibyo in KopiKubandi"
+-
+-#, fuzzy
+-#~ msgid "mismatched braces in specs"
+-#~ msgstr "Ingirwadusodeko in"
+-
+-#, fuzzy
+-#~ msgid "Internal gcov abort.\n"
+-#~ msgstr "Kureka"
+-
+-#, fuzzy
+-#~ msgid "Copyright (C) 2001 Free Software Foundation, Inc.\n"
+-#~ msgstr "C"
+-
+-#, fuzzy
+-#~ msgid "Could not open basic block file %s.\n"
+-#~ msgstr "OYA Gufungura BASIC Funga IDOSIYE"
+-
+-#, fuzzy
+-#~ msgid "Could not open program flow graph file %s.\n"
+-#~ msgstr "OYA Gufungura Porogaramu IDOSIYE"
+-
+-#, fuzzy
+-#~ msgid "Could not open data file %s.\n"
+-#~ msgstr "OYA Gufungura Ibyatanzwe IDOSIYE"
+-
+-#, fuzzy
+-#~ msgid "Assuming that all execution counts are zero.\n"
+-#~ msgstr "Byose Zeru"
+-
+-#, fuzzy
+-#~ msgid "No executable code associated with file %s.\n"
+-#~ msgstr "ITEGEKONGENGA Na: IDOSIYE"
+-
+-#, fuzzy
+-#~ msgid "didn't use all bb entries of graph, function %s\n"
+-#~ msgstr "Gukoresha Byose Ibyinjijwe Bya Umumaro"
+-
+-#, fuzzy
+-#~ msgid "ERROR: unexpected line number %ld\n"
+-#~ msgstr "Umurongo Umubare"
+-
+-#, fuzzy
+-#~ msgid "ERROR: too many basic blocks in function %s\n"
+-#~ msgstr "BASIC in Umumaro"
+-
+-#, fuzzy
+-#~ msgid "ERROR: out of range line number in function %s\n"
+-#~ msgstr "Inyuma Bya Urutonde Umurongo Umubare in Umumaro"
+-
+-#, fuzzy
+-#~ msgid "Could not open source file %s.\n"
+-#~ msgstr "OYA Gufungura Inkomoko IDOSIYE"
+-
+-#, fuzzy
+-#~ msgid "Name `%s' contains quotes"
+-#~ msgstr "Kirimo"
+-
+-#, fuzzy
+-#~ msgid "invalid string `%s' in define_cpu_unit"
+-#~ msgstr "Sibyo Ikurikiranyanyuguti in"
+-
+-#, fuzzy
+-#~ msgid "invalid string `%s' in define_query_cpu_unit"
+-#~ msgstr "Sibyo Ikurikiranyanyuguti in"
+-
+-#, fuzzy
+-#~ msgid "invalid string `%s' in define_bypass"
+-#~ msgstr "Sibyo Ikurikiranyanyuguti in"
+-
+-#, fuzzy
+-#~ msgid "invalid first string `%s' in exclusion_set"
+-#~ msgstr "Sibyo Itangira Ikurikiranyanyuguti in"
+-
+-#, fuzzy
+-#~ msgid "invalid second string `%s' in exclusion_set"
+-#~ msgstr "Sibyo ISEGONDA Ikurikiranyanyuguti in"
+-
+-#, fuzzy
+-#~ msgid "invalid first string `%s' in presence_set"
+-#~ msgstr "Sibyo Itangira Ikurikiranyanyuguti in"
+-
+-#, fuzzy
+-#~ msgid "invalid second string `%s' in presence_set"
+-#~ msgstr "Sibyo ISEGONDA Ikurikiranyanyuguti in"
+-
+-#, fuzzy
+-#~ msgid "invalid first string `%s' in absence_set"
+-#~ msgstr "Sibyo Itangira Ikurikiranyanyuguti in"
+-
+-#, fuzzy
+-#~ msgid "invalid second string `%s' in absence_set"
+-#~ msgstr "Sibyo ISEGONDA Ikurikiranyanyuguti in"
+-
+-#, fuzzy
+-#~ msgid "invalid string `%s' in define_automaton"
+-#~ msgstr "Sibyo Ikurikiranyanyuguti in"
+-
+-#, fuzzy
+-#~ msgid "invalid option `%s' in automata_option"
+-#~ msgstr "Sibyo Ihitamo in"
+-
+-#, fuzzy
+-#~ msgid "garbage after ) in reservation `%s'"
+-#~ msgstr "Nyuma in"
+-
+-#, fuzzy
+-#~ msgid "invalid `%s' in reservation `%s'"
+-#~ msgstr "Sibyo in"
+-
+-#, fuzzy
+-#~ msgid "repetition `%s' <= 1 in reservation `%s'"
+-#~ msgstr "1. in"
+-
+-#, fuzzy
+-#~ msgid "unit `%s' in exclusion is not declared"
+-#~ msgstr "Igice: in ni OYA"
+-
+-#, fuzzy
+-#~ msgid "`%s' in exclusion is not unit"
+-#~ msgstr "`%s'in ni OYA Igice:"
+-
+-#, fuzzy
+-#~ msgid "unit `%s' excludes itself"
+-#~ msgstr "Igice:"
+-
+-#, fuzzy
+-#~ msgid "units `%s' and `%s' in exclusion set belong to different automata"
+-#~ msgstr "Na in Gushyiraho Kuri"
+-
+-#, fuzzy
+-#~ msgid "unit `%s' excludes and requires presence of `%s'"
+-#~ msgstr "Igice: Na Bya"
+-
+-#, fuzzy
+-#~ msgid "unit `%s' requires absence and presence of `%s'"
+-#~ msgstr "Igice: Na Bya"
+-
+-#, fuzzy
+-#~ msgid "define_insn_reservation `%s' has negative latency time"
+-#~ msgstr "Igihe"
+-
+-#, fuzzy
+-#~ msgid "`%s' is already used as insn reservation name"
+-#~ msgstr "`%s'ni Nka Izina:"
+-
+-#, fuzzy
+-#~ msgid "define_bypass `%s - %s' has negative latency time"
+-#~ msgstr "Igihe"
+-
+-#, fuzzy
+-#~ msgid "automaton `%s' is not declared"
+-#~ msgstr "ni OYA"
+-
+-#, fuzzy
+-#~ msgid "define_unit `%s' without automaton when one defined"
+-#~ msgstr "Ryari:"
+-
+-#, fuzzy
+-#~ msgid "`%s' is declared as cpu unit"
+-#~ msgstr "`%s'ni Nka CPU Igice:"
+-
+-#, fuzzy
+-#~ msgid "`%s' is declared as cpu reservation"
+-#~ msgstr "`%s'ni Nka CPU"
+-
+-#, fuzzy
+-#~ msgid "repeated declaration of reservation `%s'"
+-#~ msgstr "byasubiyemo Bya"
+-
+-#, fuzzy
+-#~ msgid "there is no insn reservation `%s'"
+-#~ msgstr "ni Oya"
+-
+-#, fuzzy
+-#~ msgid "bypass `%s - %s' is already defined"
+-#~ msgstr "ni"
+-
+-#, fuzzy
+-#~ msgid "unit `%s' is not used"
+-#~ msgstr "Igice: ni OYA"
+-
+-#, fuzzy
+-#~ msgid "reservation `%s' is not used"
+-#~ msgstr "ni OYA"
+-
+-#, fuzzy
+-#~ msgid "Units `%s' and `%s' should be in the same automaton"
+-#~ msgstr "Na in i"
+-
+-#, fuzzy
+-#~ msgid "-split has no argument."
+-#~ msgstr "-Gutandukanya Oya"
+-
+-#, fuzzy
+-#~ msgid "option `-split' has not been implemented yet\n"
+-#~ msgstr "Ihitamo OYA"
+-
+-#, fuzzy
+-#~ msgid "Automaton `%s': Insn `%s' will never be issued"
+-#~ msgstr "Nta narimwe Byasohowe"
+-
+-#, fuzzy
+-#~ msgid "Insn `%s' will never be issued"
+-#~ msgstr "Nta narimwe Byasohowe"
+-
+-#, fuzzy
+-#~ msgid "Errors in DFA description"
+-#~ msgstr "in Isobanuramiterere"
+-
+-#, fuzzy
+-#~ msgid "Error in writing DFA description file %s"
+-#~ msgstr "in Isobanuramiterere IDOSIYE"
+-
+-#, fuzzy
+-#~ msgid "varargs function cannot be inline"
+-#~ msgstr "Umumaro Mumurongo"
+-
+-#, fuzzy
+-#~ msgid "function using alloca cannot be inline"
+-#~ msgstr "Umumaro ikoresha Mumurongo"
+-
+-#, fuzzy
+-#~ msgid "function using setjmp cannot be inline"
+-#~ msgstr "Umumaro ikoresha Mumurongo"
+-
+-#, fuzzy
+-#~ msgid "function uses __builtin_eh_return"
+-#~ msgstr "Umumaro"
+-
+-#, fuzzy
+-#~ msgid "function with nested functions cannot be inline"
+-#~ msgstr "Umumaro Na: Imimaro Mumurongo"
+-
+-#, fuzzy
+-#~ msgid "function with label addresses used in initializers cannot inline"
+-#~ msgstr "Umumaro Na: Akarango Amaderesi in Mumurongo"
+-
+-#, fuzzy
+-#~ msgid "function too large to be inline"
+-#~ msgstr "Umumaro Binini Kuri Mumurongo"
+-
+-#, fuzzy
+-#~ msgid "no prototype, and parameter address used; cannot be inline"
+-#~ msgstr "Oya Na Aderesi Mumurongo"
+-
+-#, fuzzy
+-#~ msgid "function with varying-size return value cannot be inline"
+-#~ msgstr "Umumaro Na: Ingano Garuka Agaciro Mumurongo"
+-
+-#, fuzzy
+-#~ msgid "function with varying-size parameter cannot be inline"
+-#~ msgstr "Umumaro Na: Ingano Mumurongo"
+-
+-#, fuzzy
+-#~ msgid "function with transparent unit parameter cannot be inline"
+-#~ msgstr "Umumaro Na: Bibonerana Igice: Mumurongo"
+-
+-#, fuzzy
+-#~ msgid "function with computed jump cannot inline"
+-#~ msgstr "Umumaro Na: Simbuka Mumurongo"
+-
+-#, fuzzy
+-#~ msgid "function with nonlocal goto cannot be inline"
+-#~ msgstr "Umumaro Na: Mumurongo"
+-
+-#, fuzzy
+-#~ msgid "function with target specific attribute(s) cannot be inlined"
+-#~ msgstr "Umumaro Na: Intego Ikiranga S"
+-
+-#, fuzzy
+-#~ msgid "In file included from %s:%u"
+-#~ msgstr "IDOSIYE Bivuye"
+-
+-#, fuzzy
+-#~ msgid ""
+-#~ ",\n"
+-#~ " from %s:%u"
+-#~ msgstr ",Bivuye"
+-
+-#, fuzzy
+-#~ msgid "Profile does not match flowgraph of function %s (out of date?)"
+-#~ msgstr "OYA BIHUYE Bya Umumaro Inyuma Bya Itariki"
+-
+-#, fuzzy
+-#~ msgid "file %s not found, execution counts assumed to be zero"
+-#~ msgstr "IDOSIYE OYA Byabonetse Kuri Zeru"
+-
+-#, fuzzy
+-#~ msgid "%s: internal abort\n"
+-#~ msgstr "%s:By'imbere"
+-
+-#, fuzzy
+-#~ msgid "Didn't find a coloring.\n"
+-#~ msgstr "Gushaka a"
+-
+-#, fuzzy
+-#~ msgid "jump to `%s' invalidly jumps into binding contour"
+-#~ msgstr "Simbuka Kuri Bifatanya Umuzenguruko"
+-
+-#, fuzzy
+-#~ msgid "label `%s' used before containing binding contour"
+-#~ msgstr "Akarango Mbere Bifatanya Umuzenguruko"
+-
+-#, fuzzy
+-#~ msgid "case value `%ld' not in enumerated type `%s'"
+-#~ msgstr "Agaciro OYA in Ubwoko"
+-
+-#, fuzzy
+-#~ msgid "cannot timevar_pop '%s' when top of timevars stack is '%s'"
+-#~ msgstr "Ryari: Hejuru: Bya ni"
+-
+-#, fuzzy
+-#~ msgid "Generate STABS format debug info"
+-#~ msgstr "Imiterere Kosora amakosa Ibisobanuro"
+-
+-#, fuzzy
+-#~ msgid "Generate extended STABS format debug info"
+-#~ msgstr "Byongerewe... Imiterere Kosora amakosa Ibisobanuro"
+-
+-#, fuzzy
+-#~ msgid "Generate DWARF-1 format debug info"
+-#~ msgstr "1. Imiterere Kosora amakosa Ibisobanuro"
+-
+-#, fuzzy
+-#~ msgid "Generate extended DWARF-1 format debug info"
+-#~ msgstr "Byongerewe... 1. Imiterere Kosora amakosa Ibisobanuro"
+-
+-#, fuzzy
+-#~ msgid "Generate DWARF-2 debug info"
+-#~ msgstr "2. Kosora amakosa Ibisobanuro"
+-
+-#, fuzzy
+-#~ msgid "Generate XCOFF format debug info"
+-#~ msgstr "Imiterere Kosora amakosa Ibisobanuro"
+-
+-#, fuzzy
+-#~ msgid "Generate extended XCOFF format debug info"
+-#~ msgstr "Byongerewe... Imiterere Kosora amakosa Ibisobanuro"
+-
+-#, fuzzy
+-#~ msgid "Generate COFF format debug info"
+-#~ msgstr "Imiterere Kosora amakosa Ibisobanuro"
+-
+-#, fuzzy
+-#~ msgid "Generate VMS format debug info"
+-#~ msgstr "Imiterere Kosora amakosa Ibisobanuro"
+-
+-#, fuzzy
+-#~ msgid "Do not store floats in registers"
+-#~ msgstr "OYA in"
+-
+-#, fuzzy
+-#~ msgid "Consider all mem refs through pointers as volatile"
+-#~ msgstr "Byose mem Gihinguranya Nka"
+-
+-#, fuzzy
+-#~ msgid "Consider all mem refs to global data to be volatile"
+-#~ msgstr "Byose mem Kuri Ibyatanzwe Kuri"
+-
+-#, fuzzy
+-#~ msgid "Consider all mem refs to static data to be volatile"
+-#~ msgstr "Byose mem Kuri Ibyatanzwe Kuri"
+-
+-#, fuzzy
+-#~ msgid "Store strings in writable data section"
+-#~ msgstr "Ikurikiranyanyuguti in Ibyatanzwe Icyiciro"
+-
+-#, fuzzy
+-#~ msgid "Mark data as shared rather than private"
+-#~ msgstr "Ibyatanzwe Nka By'umwihariko"
+-
+-#, fuzzy
+-#~ msgid "Run the loop optimizer twice"
+-#~ msgstr "i"
+-
+-#, fuzzy
+-#~ msgid "Output GNU ld formatted global initializers"
+-#~ msgstr "Byahanaguwe"
+-
+-#, fuzzy
+-#~ msgid "Use graph coloring register allocation."
+-#~ msgstr "Kwiyandikisha"
+-
+-#, fuzzy
+-#~ msgid "Compile just for ISO C90"
+-#~ msgstr "kugirango"
+-
+-#, fuzzy
+-#~ msgid "Determine language standard"
+-#~ msgstr "Ururimi Bisanzwe"
+-
+-#, fuzzy
+-#~ msgid "Make bit-fields by unsigned by default"
+-#~ msgstr "Imyanya ku Bitashizweho umukono ku Mburabuzi"
+-
+-#, fuzzy
+-#~ msgid "Allow different types as args of ? operator"
+-#~ msgstr "Nka Bya Mukoresha"
+-
+-#, fuzzy
+-#~ msgid "Allow the use of $ inside identifiers"
+-#~ msgstr "i Gukoresha Bya Mo Imbere"
+-
+-#, fuzzy
+-#~ msgid "Use the smallest fitting integer to hold enums"
+-#~ msgstr "i Gitoya Umubare wuzuye Kuri"
+-
+-#, fuzzy
+-#~ msgid "Warn if nested comments are detected"
+-#~ msgstr "NIBA Ibisobanuro"
+-
+-#, fuzzy
+-#~ msgid "Don't warn about too many arguments to format functions"
+-#~ msgstr "Ibyerekeye ingingo Kuri Imiterere Imimaro"
+-
+-#, fuzzy
+-#~ msgid "Warn about constructs whose meanings change in ISO C"
+-#~ msgstr "Ibyerekeye bya Guhindura>> in C"
+-
+-#, fuzzy
+-#~ msgid "Warn when trigraphs are encountered"
+-#~ msgstr "Ryari:"
+-
+-#, fuzzy
+-#~ msgid "Mark strings as 'const char *'"
+-#~ msgstr "Ikurikiranyanyuguti Nka INYUGUTI"
+-
+-#, fuzzy
+-#~ msgid "invalid register name `%s' for register variable"
+-#~ msgstr "Sibyo Kwiyandikisha Izina: kugirango Kwiyandikisha IMPINDURAGACIRO"
+-
+-#, fuzzy
+-#~ msgid " -fdiagnostics-show-location=[once | every-line] Indicates how often source location information should be emitted, as prefix, at the beginning of diagnostics when line-wrapping\n"
+-#~ msgstr "-Garagaza Ahantu Rimwe buri Umurongo Inkomoko Ahantu Ibisobanuro Nka Imbanziriza ku i Itangiriro Bya Ryari: Umurongo"
+-
+-#, fuzzy
+-#~ msgid " -ftls-model=[global-dynamic | local-dynamic | initial-exec | local-exec] Indicates the default thread-local storage code generation model\n"
+-#~ msgstr "-Urugero i Mburabuzi Urudodo ITEGEKONGENGA"
+-
+-#, fuzzy
+-#~ msgid " -pedantic-errors Like -pedantic except that errors are produced\n"
+-#~ msgstr "-Amakosa Amakosa"
+-
+-#, fuzzy
+-#~ msgid " -w Suppress warnings\n"
+-#~ msgstr "-W"
+-
+-#, fuzzy
+-#~ msgid " -Wunused Enable unused warnings\n"
+-#~ msgstr "-Kidakoreshwa"
+-
+-#, fuzzy
+-#~ msgid " -p Enable function profiling\n"
+-#~ msgstr "-P Umumaro"
+-
+-#, fuzzy
+-#~ msgid " -dumpbase <file> Base name to be used for dumps from specific passes\n"
+-#~ msgstr "-IDOSIYE Base Izina: Kuri kugirango Bivuye"
+-
+-#, fuzzy
+-#~ msgid ""
+-#~ "\n"
+-#~ "Language specific options:\n"
+-#~ msgstr "Amahitamo"
+-
+-#, fuzzy
+-#~ msgid " %-23.23s [undocumented]\n"
+-#~ msgstr ""
+-#~ "%-23.Project- Id- Version: basctl\n"
+-#~ "POT- Creation- Date: 2003- 12- 07 17: 13+ 02\n"
+-#~ "PO- Revision- Date: 2004- 11- 04 10: 13- 0700\n"
+-#~ "Last- Translator: Language- Team:< en@ li. org> MIME- Version: 1. 0\n"
+-#~ "Content- Type: text/ plain; charset= UTF- 8\n"
+-#~ "Content- Transfer- Encoding: 8bit\n"
+-#~ "X- Generator: KBabel 1. 0\n"
+-#~ "."
+-
+-#, fuzzy
+-#~ msgid ""
+-#~ "\n"
+-#~ "There are undocumented %s specific options as well.\n"
+-#~ msgstr "Amahitamo Nka"
+-
+-#, fuzzy
+-#~ msgid " -m%-23.23s [undocumented]\n"
+-#~ msgstr "-M."
+-
+-#, fuzzy
+-#~ msgid ""
+-#~ "\n"
+-#~ "There are undocumented target specific options as well.\n"
+-#~ msgstr "Intego Amahitamo Nka"
+-
+-#, fuzzy
+-#~ msgid " They exist, but they are not documented.\n"
+-#~ msgstr "OYA"
+-
+-#, fuzzy
+-#~ msgid "unrecognized option `%s'"
+-#~ msgstr "Ihitamo"
+-
+-#, fuzzy
+-#~ msgid "-Wid-clash-LEN is no longer supported"
+-#~ msgstr "-ni Oya"
+-
+-#, fuzzy
+-#~ msgid "use -gdwarf -g%d for DWARF v1, level %d"
+-#~ msgstr "Gukoresha g kugirango urwego"
+-
+-#, fuzzy
+-#~ msgid "use -gdwarf-2 for DWARF v2"
+-#~ msgstr "Gukoresha 2. kugirango"
+-
+-#, fuzzy
+-#~ msgid "ignoring option `%s' due to invalid debug level specification"
+-#~ msgstr "Ihitamo Kuri Sibyo Kosora amakosa urwego"
+-
+-#, fuzzy
+-#~ msgid "`%s': unknown or unsupported -g option"
+-#~ msgstr "`%s':Kitazwi Cyangwa g Ihitamo"
+-
+-#, fuzzy
+-#~ msgid "`%s' ignored, conflicts with `-g%s'"
+-#~ msgstr "`%s'Na: g"
+-
+-#, fuzzy
+-#~ msgid "-param option missing argument"
+-#~ msgstr "-Ihitamo Ibuze"
+-
+-#, fuzzy
+-#~ msgid "invalid --param option: %s"
+-#~ msgstr "Sibyo Ihitamo"
+-
+-#, fuzzy
+-#~ msgid "(it is valid for %s but not the selected language)"
+-#~ msgstr "(ni Byemewe kugirango OYA i Byahiswemo Ururimi"
+-
+-#, fuzzy
+-#~ msgid "invalid initializer for bit string"
+-#~ msgstr "Sibyo kugirango Ikurikiranyanyuguti"
+-
+-#, fuzzy
+-#~ msgid "volatile register variables don't work as you might wish"
+-#~ msgstr "Kwiyandikisha Ibihinduka Akazi Nka"
+-
+-#, fuzzy
+-#~ msgid "unknown set constructor type"
+-#~ msgstr "Kitazwi Gushyiraho Ubwoko"
+-
+-#, fuzzy
+-#~ msgid "#`%s' not supported by %s#"
+-#~ msgstr "#`%s'OYA ku"
+-
+-#, fuzzy
+-#~ msgid "The maximum number of instructions by repeated inlining before gcc starts to throttle inlining"
+-#~ msgstr "Kinini Umubare Bya Amabwiriza ku byasubiyemo Mbere Kuri"
+-
+-#, fuzzy
+-#~ msgid "The slope of the linear function throttling inlining after the recursive inlining limit has been reached is given by the negative reciprocal value of this parameter"
+-#~ msgstr "IMANURA Bya i By'umurongo Umumaro Nyuma i ni ku i Agaciro Bya iyi"
+-
+-#, fuzzy
+-#~ msgid "The number of instructions in a single functions still eligible to inlining after a lot recursive inlining"
+-#~ msgstr "Umubare Bya Amabwiriza in a UMWE Imimaro Kuri Nyuma a"
+-
+-#, fuzzy
+-#~ msgid "-msystem-v and -p are incompatible"
+-#~ msgstr "-v Na P"
+-
+-#, fuzzy
+-#~ msgid "-msystem-v and -mthreads are incompatible"
+-#~ msgstr "-v Na"
+-
+-#, fuzzy
+-#~ msgid "bad value `%s' for -mcpu switch"
+-#~ msgstr "Agaciro kugirango Hindura"
+-
+-#, fuzzy
+-#~ msgid "Do not use fp registers"
+-#~ msgstr "OYA Gukoresha"
+-
+-#, fuzzy
+-#~ msgid "Emit IEEE-conformant code, with inexact exceptions"
+-#~ msgstr "ITEGEKONGENGA Na: Amarengayobora"
+-
+-#, fuzzy
+-#~ msgid "target CPU does not support APCS-32"
+-#~ msgstr "Intego OYA Gushigikira"
+-
+-#, fuzzy
+-#~ msgid "target CPU does not support APCS-26"
+-#~ msgstr "Intego OYA Gushigikira"
+-
+-#, fuzzy
+-#~ msgid "interworking forces APCS-32 to be used"
+-#~ msgstr "Kuri"
+-
+-#, fuzzy
+-#~ msgid "Use the 32-bit version of the APCS"
+-#~ msgstr "i Verisiyo Bya i"
+-
+-#, fuzzy
+-#~ msgid "Use the 26-bit version of the APCS"
+-#~ msgstr "i Verisiyo Bya i"
+-
+-#, fuzzy
+-#~ msgid "The MMU will trap on unaligned accesses"
+-#~ msgstr "ku"
+-
+-#, fuzzy
+-#~ msgid "Use library calls to perform FP operations"
+-#~ msgstr "Isomero Amahamagara: Kuri Ibikorwa:"
+-
+-#, fuzzy
+-#~ msgid "Assume int to be 8 bit integer"
+-#~ msgstr "INT Kuri 8 Umubare wuzuye"
+-
+-#, fuzzy
+-#~ msgid "Specify the initial stack address"
+-#~ msgstr "i Aderesi"
+-
+-#, fuzzy
+-#~ msgid "unknown CPU version %d, using 40.\n"
+-#~ msgstr "Kitazwi Verisiyo ikoresha"
+-
+-#, fuzzy
+-#~ msgid "mode not QImode"
+-#~ msgstr "Ubwoko OYA"
+-
+-#, fuzzy
+-#~ msgid "Do not use MPYI instruction for C3x"
+-#~ msgstr "OYA Gukoresha kugirango"
+-
+-#, fuzzy
+-#~ msgid "Use slow but accurate float to integer conversion"
+-#~ msgstr "Buhoro Kureremba Kuri Umubare wuzuye Ihindurangero"
+-
+-#, fuzzy
+-#~ msgid "Disable use of RTPS instruction"
+-#~ msgstr "Gukoresha Bya"
+-
+-#, fuzzy
+-#~ msgid "Disable use of RTPB instruction"
+-#~ msgstr "Gukoresha Bya"
+-
+-#, fuzzy
+-#~ msgid "Emit code to use GAS extensions"
+-#~ msgstr "ITEGEKONGENGA Kuri Gukoresha Umigereka"
+-
+-#, fuzzy
+-#~ msgid "Don't save DP across ISR in small memory model"
+-#~ msgstr "Kubika Kwambukiranya in Gitoya Ububiko Urugero"
+-
+-#, fuzzy
+-#~ msgid "Disable new features under development"
+-#~ msgstr "Gishya Ibiranga"
+-
+-#, fuzzy
+-#~ msgid "Allow RTL generation to emit invalid 3 operand insns"
+-#~ msgstr "Kuri Sibyo 3."
+-
+-#, fuzzy
+-#~ msgid "Disallow unsigned iteration counts for RPTB/DB"
+-#~ msgstr "Bitashizweho umukono kugirango"
+-
+-#, fuzzy
+-#~ msgid "Only preserve 32 bits of FP reg across call"
+-#~ msgstr "Bya Kwambukiranya"
+-
+-#, fuzzy
+-#~ msgid "Disable parallel instructions"
+-#~ msgstr "Biteganye Amabwiriza"
+-
+-#, fuzzy
+-#~ msgid "Disable MPY||ADD and MPY||SUB instructions"
+-#~ msgstr "Na Amabwiriza"
+-
+-#, fuzzy
+-#~ msgid "Select CPU to generate code for"
+-#~ msgstr "Kuri ITEGEKONGENGA kugirango"
+-
+-#, fuzzy
+-#~ msgid "allocated but unused delay list in epilogue"
+-#~ msgstr "Kidakoreshwa Gutinda Urutonde in"
+-
+-#, fuzzy
+-#~ msgid "unexpected function type needing stack adjustment for __builtin_eh_return"
+-#~ msgstr "Umumaro Ubwoko kugirango"
+-
+-#, fuzzy
+-#~ msgid "invalid operand for 'v' modifier"
+-#~ msgstr "Sibyo kugirango"
+-
+-#, fuzzy
+-#~ msgid "invalid operand for 'P' modifier"
+-#~ msgstr "Sibyo kugirango"
+-
+-#, fuzzy
+-#~ msgid "unrecognized supposed constant in cris_global_pic_symbol"
+-#~ msgstr "in"
+-
+-#, fuzzy
+-#~ msgid "unexpected NOTE as addr_const:"
+-#~ msgstr "Nka"
+-
+-#, fuzzy
+-#~ msgid "bad modes_tieable_p for register %s, mode1 %s, mode2 %s"
+-#~ msgstr "kugirango Kwiyandikisha"
+-
+-#, fuzzy
+-#~ msgid "bad insn to d30v_print_operand_address:"
+-#~ msgstr "Kuri"
+-
+-#, fuzzy
+-#~ msgid "bad insn to d30v_print_operand_memory_reference:"
+-#~ msgstr "Kuri"
+-
+-#, fuzzy
+-#~ msgid "bad insn to d30v_print_operand, 'f' modifier:"
+-#~ msgstr "Kuri"
+-
+-#, fuzzy
+-#~ msgid "bad insn to d30v_print_operand, 'A' modifier:"
+-#~ msgstr "Kuri"
+-
+-#, fuzzy
+-#~ msgid "bad insn to d30v_print_operand, 'M' modifier:"
+-#~ msgstr "Kuri"
+-
+-#, fuzzy
+-#~ msgid "bad insn to print_operand, 'F' or 'T' modifier:"
+-#~ msgstr "Kuri Cyangwa"
+-
+-#, fuzzy
+-#~ msgid "bad insn to print_operand, 'B' modifier:"
+-#~ msgstr "Kuri"
+-
+-#, fuzzy
+-#~ msgid "bad insn to print_operand, 'E' modifier:"
+-#~ msgstr "Kuri"
+-
+-#, fuzzy
+-#~ msgid "bad insn to print_operand, 'R' modifier:"
+-#~ msgstr "Kuri"
+-
+-#, fuzzy
+-#~ msgid "bad insn to print_operand, 's' modifier:"
+-#~ msgstr "Kuri"
+-
+-#, fuzzy
+-#~ msgid "bad insn in d30v_print_operand, 0 case"
+-#~ msgstr "in 0"
+-
+-#, fuzzy
+-#~ msgid "bad call to d30v_move_2words"
+-#~ msgstr "Kuri"
+-
+-#, fuzzy
+-#~ msgid "Disable use of conditional move instructions"
+-#~ msgstr "Gukoresha Bya Kwimura Amabwiriza"
+-
+-#, fuzzy
+-#~ msgid "Debug argument support in compiler"
+-#~ msgstr "Gushigikira in"
+-
+-#, fuzzy
+-#~ msgid "Debug stack support in compiler"
+-#~ msgstr "Gushigikira in"
+-
+-#, fuzzy
+-#~ msgid "Debug memory address support in compiler"
+-#~ msgstr "Ububiko Aderesi Gushigikira in"
+-
+-#, fuzzy
+-#~ msgid "Make adjacent short instructions parallel if possible"
+-#~ msgstr "Amabwiriza Biteganye NIBA"
+-
+-#, fuzzy
+-#~ msgid "Do not make adjacent short instructions parallel"
+-#~ msgstr "OYA Ubwoko Amabwiriza Biteganye"
+-
+-#, fuzzy
+-#~ msgid "Link programs/data to be in external memory by default"
+-#~ msgstr "Porogaramu Ibyatanzwe Kuri in external Ububiko ku Mburabuzi"
+-
+-#, fuzzy
+-#~ msgid "Link programs/data to be in onchip memory by default"
+-#~ msgstr "Porogaramu Ibyatanzwe Kuri in Ububiko ku Mburabuzi"
+-
+-#, fuzzy
+-#~ msgid "Change the branch costs within the compiler"
+-#~ msgstr "i muri i"
+-
+-#, fuzzy
+-#~ msgid "Change the threshold for conversion to conditional execution"
+-#~ msgstr "i kugirango Ihindurangero Kuri"
+-
+-#, fuzzy
+-#~ msgid "stack size > 32k"
+-#~ msgstr "Ingano"
+-
+-#, fuzzy
+-#~ msgid "invalid addressing mode"
+-#~ msgstr "Sibyo Kwohereza Ubwoko"
+-
+-#, fuzzy
+-#~ msgid "invalid offset in ybase addressing"
+-#~ msgstr "Sibyo Nta- boneza in Kwohereza"
+-
+-#, fuzzy
+-#~ msgid "invalid register in ybase addressing"
+-#~ msgstr "Sibyo Kwiyandikisha in Kwohereza"
+-
+-#, fuzzy
+-#~ msgid "invalid shift operator in emit_1600_core_shift"
+-#~ msgstr "Sibyo Gusunika Mukoresha in"
+-
+-#, fuzzy
+-#~ msgid "invalid mode for gen_tst_reg"
+-#~ msgstr "Sibyo Ubwoko kugirango"
+-
+-#, fuzzy
+-#~ msgid "invalid mode for integer comparison in gen_compare_reg"
+-#~ msgstr "Sibyo Ubwoko kugirango Umubare wuzuye in"
+-
+-#, fuzzy
+-#~ msgid "Pass parameters in registers (default)"
+-#~ msgstr "Ibigenga in Mburabuzi"
+-
+-#, fuzzy
+-#~ msgid "Don't pass parameters in registers"
+-#~ msgstr "Ibigenga in"
+-
+-#, fuzzy
+-#~ msgid "Generate code for near calls"
+-#~ msgstr "ITEGEKONGENGA kugirango Amahamagara:"
+-
+-#, fuzzy
+-#~ msgid "Generate code for near jumps"
+-#~ msgstr "ITEGEKONGENGA kugirango"
+-
+-#, fuzzy
+-#~ msgid "Don't generate code for near jumps"
+-#~ msgstr "ITEGEKONGENGA kugirango"
+-
+-#, fuzzy
+-#~ msgid "Generate code for a bit-manipulation unit"
+-#~ msgstr "ITEGEKONGENGA kugirango a Igice:"
+-
+-#, fuzzy
+-#~ msgid "Don't generate code for a bit-manipulation unit"
+-#~ msgstr "ITEGEKONGENGA kugirango a Igice:"
+-
+-#, fuzzy
+-#~ msgid "Generate code for memory map1"
+-#~ msgstr "ITEGEKONGENGA kugirango Ububiko"
+-
+-#, fuzzy
+-#~ msgid "Generate code for memory map2"
+-#~ msgstr "ITEGEKONGENGA kugirango Ububiko"
+-
+-#, fuzzy
+-#~ msgid "Generate code for memory map3"
+-#~ msgstr "ITEGEKONGENGA kugirango Ububiko"
+-
+-#, fuzzy
+-#~ msgid "Generate code for memory map4"
+-#~ msgstr "ITEGEKONGENGA kugirango Ububiko"
+-
+-#, fuzzy
+-#~ msgid "Ouput extra code for initialized data"
+-#~ msgstr "Birenga ITEGEKONGENGA kugirango Ibyatanzwe"
+-
+-#, fuzzy
+-#~ msgid "Don't let reg. allocator use ybase registers"
+-#~ msgstr "Gukoresha"
+-
+-#, fuzzy
+-#~ msgid "Output extra debug info in Luxworks environment"
+-#~ msgstr "Birenga Kosora amakosa Ibisobanuro in"
+-
+-#, fuzzy
+-#~ msgid "Save temp. files in Luxworks environment"
+-#~ msgstr "Kubika Idosiye in"
+-
+-#, fuzzy
+-#~ msgid "Specify alternate name for data section"
+-#~ msgstr "Izina: kugirango Ibyatanzwe Icyiciro"
+-
+-#, fuzzy
+-#~ msgid "Specify alternate name for dsp16xx chip"
+-#~ msgstr "Izina: kugirango"
+-
+-#, fuzzy
+-#~ msgid "profiling not implemented yet"
+-#~ msgstr "OYA"
+-
+-#, fuzzy
+-#~ msgid "trampolines not yet implemented"
+-#~ msgstr "OYA"
+-
+-#, fuzzy
+-#~ msgid "Unknown cpu: -mcpu=%s"
+-#~ msgstr "CPU"
+-
+-#, fuzzy
+-#~ msgid "-fpic and -gdwarf are incompatible (-fpic and -g/-gdwarf-2 are fine)"
+-#~ msgstr "-Na Na g 2."
+-
+-#, fuzzy
+-#~ msgid "Bad insn to frv_print_operand, 'c' modifier:"
+-#~ msgstr "Kuri"
+-
+-#, fuzzy
+-#~ msgid "Do not generate H8S code"
+-#~ msgstr "OYA ITEGEKONGENGA"
+-
+-#, fuzzy
+-#~ msgid "Do not generate H8S/2600 code"
+-#~ msgstr "OYA ITEGEKONGENGA"
+-
+-#, fuzzy
+-#~ msgid "Do not use registers for argument passing"
+-#~ msgstr "OYA Gukoresha kugirango"
+-
+-#, fuzzy
+-#~ msgid "Do not generate H8/300H code"
+-#~ msgstr "OYA ITEGEKONGENGA"
+-
+-#, fuzzy
+-#~ msgid "junk at end of #pragma map"
+-#~ msgstr "Umwanda ku Impera Bya"
+-
+-#, fuzzy
+-#~ msgid "real name is too long - alias ignored"
+-#~ msgstr "Izina: ni Irihimbano"
+-
+-#, fuzzy
+-#~ msgid "alias name is too long - alias ignored"
+-#~ msgstr "Irihimbano Izina: ni Irihimbano"
+-
+-#, fuzzy
+-#~ msgid "internal error--no jump follows compare:"
+-#~ msgstr "By'imbere Ikosa Oya Simbuka Kugereranya#"
+-
+-#, fuzzy
+-#~ msgid "Do not generate char instructions"
+-#~ msgstr "OYA INYUGUTI Amabwiriza"
+-
+-#, fuzzy
+-#~ msgid "Use the Mingw32 interface"
+-#~ msgstr "i"
+-
+-#, fuzzy
+-#~ msgid "Don't set Windows defines"
+-#~ msgstr "Gushyiraho"
+-
+-#, fuzzy
+-#~ msgid "Align doubles on word boundary"
+-#~ msgstr "ku ijambo"
+-
+-#, fuzzy
+-#~ msgid "Uninitialized locals in .data"
+-#~ msgstr "in Ibyatanzwe"
+-
+-#, fuzzy
+-#~ msgid "Do not use IEEE math for fp comparisons"
+-#~ msgstr "OYA Gukoresha Imibare kugirango"
+-
+-#, fuzzy
+-#~ msgid "Do not return values of functions in FPU registers"
+-#~ msgstr "OYA Garuka Uduciro Bya Imimaro in"
+-
+-#, fuzzy
+-#~ msgid "Do not generate sin, cos, sqrt for FPU"
+-#~ msgstr "OYA SIN COS SQRT kugirango"
+-
+-#, fuzzy
+-#~ msgid "Do not align destination of the string operations"
+-#~ msgstr "OYA Gutondeka Ishyika Bya i Ikurikiranyanyuguti Ibikorwa:"
+-
+-#, fuzzy
+-#~ msgid "Do not inline all known string operations"
+-#~ msgstr "OYA Mumurongo Byose Ikurikiranyanyuguti Ibikorwa:"
+-
+-#, fuzzy
+-#~ msgid "Do not support 3DNow! built-in functions"
+-#~ msgstr "OYA Gushigikira in Imimaro"
+-
+-#, fuzzy
+-#~ msgid "Do not support MMX and SSE built-in functions and code generation"
+-#~ msgstr "OYA Gushigikira Na in Imimaro Na ITEGEKONGENGA"
+-
+-#, fuzzy
+-#~ msgid "Do not support MMX, SSE and SSE2 built-in functions and code generation"
+-#~ msgstr "OYA Gushigikira Na in Imimaro Na ITEGEKONGENGA"
+-
+-#, fuzzy
+-#~ msgid "Do not use red-zone in the x86-64 code"
+-#~ msgstr "OYA Gukoresha Umutuku in i ITEGEKONGENGA"
+-
+-#, fuzzy
+-#~ msgid "sorry, not implemented: #pragma align NAME=SIZE"
+-#~ msgstr "OYA Gutondeka"
+-
+-#, fuzzy
+-#~ msgid "conflicting architectures defined - using C series"
+-#~ msgstr "ikoresha C Ibyiciro"
+-
+-#, fuzzy
+-#~ msgid "conflicting architectures defined - using K series"
+-#~ msgstr "ikoresha Ibyiciro"
+-
+-#, fuzzy
+-#~ msgid "iC2.0 and iC3.0 are incompatible - using iC3.0"
+-#~ msgstr "0 Na 0 ikoresha 0"
+-
+-#, fuzzy
+-#~ msgid "Generate KA code"
+-#~ msgstr "ITEGEKONGENGA"
+-
+-#, fuzzy
+-#~ msgid "Generate KB code"
+-#~ msgstr "ITEGEKONGENGA"
+-
+-#, fuzzy
+-#~ msgid "Generate JA code"
+-#~ msgstr "ITEGEKONGENGA"
+-
+-#, fuzzy
+-#~ msgid "Generate JD code"
+-#~ msgstr "ITEGEKONGENGA"
+-
+-#, fuzzy
+-#~ msgid "Generate JF code"
+-#~ msgstr "ITEGEKONGENGA"
+-
+-#, fuzzy
+-#~ msgid "generate RP code"
+-#~ msgstr "ITEGEKONGENGA"
+-
+-#, fuzzy
+-#~ msgid "Generate MC code"
+-#~ msgstr "ITEGEKONGENGA"
+-
+-#, fuzzy
+-#~ msgid "Generate CA code"
+-#~ msgstr "ITEGEKONGENGA"
+-
+-#, fuzzy
+-#~ msgid "Use alternate leaf function entries"
+-#~ msgstr "Umumaro Ibyinjijwe"
+-
+-#, fuzzy
+-#~ msgid "Do not use alternate leaf function entries"
+-#~ msgstr "OYA Gukoresha Umumaro Ibyinjijwe"
+-
+-#, fuzzy
+-#~ msgid "Do not perform tail call optimization"
+-#~ msgstr "OYA"
+-
+-#, fuzzy
+-#~ msgid "Use complex addressing modes"
+-#~ msgstr "ITSINDA RY'IMIBARE C Kwohereza"
+-
+-#, fuzzy
+-#~ msgid "Do not use complex addressing modes"
+-#~ msgstr "OYA Gukoresha ITSINDA RY'IMIBARE C Kwohereza"
+-
+-#, fuzzy
+-#~ msgid "Align code to 8 byte boundary"
+-#~ msgstr "ITEGEKONGENGA Kuri 8 Bayite"
+-
+-#, fuzzy
+-#~ msgid "Do not align code to 8 byte boundary"
+-#~ msgstr "OYA Gutondeka ITEGEKONGENGA Kuri 8 Bayite"
+-
+-#, fuzzy
+-#~ msgid "Enable compatibility with iC960 v2.0"
+-#~ msgstr "Bihuye neza Na: 0"
+-
+-#, fuzzy
+-#~ msgid "Enable compatibility with iC960 v3.0"
+-#~ msgstr "Bihuye neza Na: 0"
+-
+-#, fuzzy
+-#~ msgid "Enable compatibility with ic960 assembler"
+-#~ msgstr "Bihuye neza Na:"
+-
+-#, fuzzy
+-#~ msgid "Do not permit unaligned accesses"
+-#~ msgstr "OYA"
+-
+-#, fuzzy
+-#~ msgid "Layout types like Intel's v1.3 gcc"
+-#~ msgstr "nka 3."
+-
+-#, fuzzy
+-#~ msgid "Do not layout types like Intel's v1.3 gcc"
+-#~ msgstr "OYA Imigaragarire nka 3."
+-
+-#, fuzzy
+-#~ msgid "Do not enable linker relaxation"
+-#~ msgstr "OYA Gushoboza"
+-
+-#, fuzzy
+-#~ msgid "cannot optimize floating point division for both latency and throughput"
+-#~ msgstr "Kugeza ku ndunduro Bihindagurika Akadomo kugirango Byombi Na"
+-
+-#, fuzzy
+-#~ msgid "cannot optimize integer division for both latency and throughput"
+-#~ msgstr "Kugeza ku ndunduro Umubare wuzuye kugirango Byombi Na"
+-
+-#, fuzzy
+-#~ msgid "Generate code for Intel ld"
+-#~ msgstr "ITEGEKONGENGA kugirango"
+-
+-#, fuzzy
+-#~ msgid "Don't emit stop bits before and after volatile extended asms"
+-#~ msgstr "Guhagarara Mbere Na Nyuma Byongerewe..."
+-
+-#, fuzzy
+-#~ msgid "Emit code for Itanium (TM) processor B step"
+-#~ msgstr "ITEGEKONGENGA kugirango Intera"
+-
+-#, fuzzy
+-#~ msgid "Disable use of sdata/scommon/sbss"
+-#~ msgstr "Gukoresha Bya"
+-
+-#, fuzzy
+-#~ msgid "Disable Dwarf 2 line debug info via GNU as"
+-#~ msgstr "2. Umurongo Kosora amakosa Ibisobanuro Biturutse Nka"
+-
+-#, fuzzy
+-#~ msgid "bad value (%s) for -mmodel switch"
+-#~ msgstr "Agaciro kugirango Hindura"
+-
+-#, fuzzy
+-#~ msgid "bad value (%s) for -msdata switch"
+-#~ msgstr "Agaciro kugirango Hindura"
+-
+-#, fuzzy
+-#~ msgid "const objects cannot go in .sdata/.sbss"
+-#~ msgstr "Ibintu Gyayo in"
+-
+-#, fuzzy
+-#~ msgid "-malign-loops=%d is not between 1 and %d"
+-#~ msgstr "-ni OYA hagati 1. Na"
+-
+-#, fuzzy
+-#~ msgid "-malign-jumps=%d is not between 1 and %d"
+-#~ msgstr "-ni OYA hagati 1. Na"
+-
+-#, fuzzy
+-#~ msgid "-malign-functions=%d is not between 1 and %d"
+-#~ msgstr "-Imimaro ni OYA hagati 1. Na"
+-
+-#, fuzzy
+-#~ msgid "Do not generate code for a Sun FPA"
+-#~ msgstr "OYA ITEGEKONGENGA kugirango a"
+-
+-#, fuzzy
+-#~ msgid "Do not use Sky linkage convention"
+-#~ msgstr "OYA Gukoresha"
+-
+-#, fuzzy
+-#~ msgid "Generate code for a 68881"
+-#~ msgstr "ITEGEKONGENGA kugirango a"
+-
+-#, fuzzy
+-#~ msgid "Do no generate code for a 68851"
+-#~ msgstr "Oya ITEGEKONGENGA kugirango a"
+-
+-#, fuzzy
+-#~ msgid "internal gcc monitor: short-branch(%x)"
+-#~ msgstr "By'imbere"
+-
+-#, fuzzy
+-#~ msgid "internal gcc error: Can't express symbolic location"
+-#~ msgstr "By'imbere Ikosa Ahantu"
+-
+-#, fuzzy
+-#~ msgid "argument #%d is a structure"
+-#~ msgstr "ni a Imiterere"
+-
+-#, fuzzy
+-#~ msgid "%%R not followed by %%B/C/D/E"
+-#~ msgstr "%%ROYA ku C E"
+-
+-# sc/source\ui\src\globstr.src:RID_GLOBSTR.STR_VALID_DEFERROR.text
+-#, fuzzy
+-#~ msgid "invalid %%Q value"
+-#~ msgstr "Agaciro siko"
+-
+-# sc/source\ui\src\globstr.src:RID_GLOBSTR.STR_VALID_DEFERROR.text
+-#, fuzzy
+-#~ msgid "invalid %%o value"
+-#~ msgstr "Agaciro siko"
+-
+-#, fuzzy
+-#~ msgid "invalid %%s/S value"
+-#~ msgstr "Sibyo Agaciro"
+-
+-# sc/source\ui\src\globstr.src:RID_GLOBSTR.STR_VALID_DEFERROR.text
+-#, fuzzy
+-#~ msgid "invalid %%B value"
+-#~ msgstr "Agaciro siko"
+-
+-#, fuzzy
+-#~ msgid "`%%d' operand isn't a register"
+-#~ msgstr "`%%d'si a Kwiyandikisha"
+-
+-#, fuzzy
+-#~ msgid "operand is r0"
+-#~ msgstr "ni"
+-
+-#, fuzzy
+-#~ msgid "operand is const_double"
+-#~ msgstr "ni"
+-
+-#, fuzzy
+-#~ msgid "-mtrap-large-shift and -mhandle-large-shift are incompatible"
+-#~ msgstr "-Binini Gusunika Na Binini Gusunika"
+-
+-#, fuzzy
+-#~ msgid "-mshort-data-%s is too large "
+-#~ msgstr "-Ibyatanzwe ni Binini"
+-
+-#, fuzzy
+-#~ msgid "-mshort-data-%s and PIC are incompatible"
+-#~ msgstr "-Ibyatanzwe Na"
+-
+-#, fuzzy
+-#~ msgid "invalid option `-mstack-increment=%s'"
+-#~ msgstr "Sibyo Ihitamo Iyongeragaciro"
+-
+-#, fuzzy
+-#~ msgid "Inline constants if it only takes 1 instruction"
+-#~ msgstr "NIBA 1."
+-
+-#, fuzzy
+-#~ msgid "Force functions to be aligned to a 2 byte boundary"
+-#~ msgstr "Imimaro Kuri Kuri a 2. Bayite"
+-
+-#, fuzzy
+-#~ msgid "bad value (%s) for -mabi= switch"
+-#~ msgstr "Agaciro kugirango Hindura"
+-
+-#, fuzzy
+-#~ msgid "bad value (%s) for -mips switch"
+-#~ msgstr "Agaciro kugirango Hindura"
+-
+-#, fuzzy
+-#~ msgid "-G and -membedded-pic are incompatible"
+-#~ msgstr "-Na"
+-
+-#, fuzzy
+-#~ msgid "-mentry is only meaningful with -mips-16"
+-#~ msgstr "-ni Na:"
+-
+-#, fuzzy
+-#~ msgid "MIPS ECOFF format does not allow changing filenames within functions with #line"
+-#~ msgstr "Imiterere OYA Kwemerera muri Imimaro Na: Umurongo"
+-
+-#, fuzzy
+-#~ msgid "can't close temp file"
+-#~ msgstr "Gufunga IDOSIYE"
+-
+-#, fuzzy
+-#~ msgid "fp_offset (%ld) or end_offset (%ld) is less than zero"
+-#~ msgstr "Cyangwa ni Birutwa Zeru"
+-
+-#, fuzzy
+-#~ msgid "bad value (%s) for %s"
+-#~ msgstr "Agaciro kugirango"
+-
+-#, fuzzy
+-#~ msgid "Don't optimize lui/addiu address loads"
+-#~ msgstr "Kugeza ku ndunduro Aderesi"
+-
+-#, fuzzy
+-#~ msgid "Use MIPS as"
+-#~ msgstr "Nka"
+-
+-#, fuzzy
+-#~ msgid "Use GNU as"
+-#~ msgstr "Nka"
+-
+-#, fuzzy
+-#~ msgid "Use symbolic register names"
+-#~ msgstr "Kwiyandikisha Amazina"
+-
+-#, fuzzy
+-#~ msgid "Don't use symbolic register names"
+-#~ msgstr "Gukoresha Kwiyandikisha Amazina"
+-
+-#, fuzzy
+-#~ msgid "Don't use GP relative sdata/sbss sections"
+-#~ msgstr "Gukoresha Bifitanye isano Ibyatoranyijwe"
+-
+-#, fuzzy
+-#~ msgid "Output compiler statistics"
+-#~ msgstr "Sitatisitiki"
+-
+-#, fuzzy
+-#~ msgid "Don't output compiler statistics"
+-#~ msgstr "Ibisohoka Sitatisitiki"
+-
+-#, fuzzy
+-#~ msgid "Optimize block moves"
+-#~ msgstr "Funga"
+-
+-#, fuzzy
+-#~ msgid "Don't use Irix PIC"
+-#~ msgstr "Gukoresha"
+-
+-#, fuzzy
+-#~ msgid "Don't use indirect calls"
+-#~ msgstr "Gukoresha BUZIGUYE Amahamagara:"
+-
+-#, fuzzy
+-#~ msgid "Use embedded PIC"
+-#~ msgstr "Gitsindiye"
+-
+-#, fuzzy
+-#~ msgid "Don't use embedded PIC"
+-#~ msgstr "Gukoresha Gitsindiye"
+-
+-#, fuzzy
+-#~ msgid "Don't use ROM instead of RAM"
+-#~ msgstr "Gukoresha Bya"
+-
+-#, fuzzy
+-#~ msgid "Don't put uninitialized constants in ROM"
+-#~ msgstr "Gushyira Itatangijwe in"
+-
+-#, fuzzy
+-#~ msgid "Use single (32-bit) FP only"
+-#~ msgstr "UMWE"
+-
+-#, fuzzy
+-#~ msgid "Don't use single (32-bit) FP only"
+-#~ msgstr "Gukoresha UMWE"
+-
+-#, fuzzy
+-#~ msgid "Don't use multiply accumulate"
+-#~ msgstr "Gukoresha Gukuba"
+-
+-#, fuzzy
+-#~ msgid "Trap on integer divide overflow"
+-#~ msgstr "ku Umubare wuzuye Kugabanya Byarenze urugero"
+-
+-#, fuzzy
+-#~ msgid "Don't trap on integer divide overflow"
+-#~ msgstr "ku Umubare wuzuye Kugabanya Byarenze urugero"
+-
+-#, fuzzy
+-#~ msgid "Don't use Branch Likely instructions, overriding default for arch"
+-#~ msgstr "Gukoresha Amabwiriza Mburabuzi kugirango"
+-
+-#, fuzzy
+-#~ msgid "Specify a Standard MIPS ISA"
+-#~ msgstr "a"
+-
+-#, fuzzy
+-#~ msgid "Use mips16 entry/exit psuedo ops"
+-#~ msgstr "Icyinjijwe Gusohoka"
+-
+-#, fuzzy
+-#~ msgid "Do not work around hardware multiply bug"
+-#~ msgstr "OYA Akazi Gukuba"
+-
+-#, fuzzy
+-#~ msgid "Pass some arguments in registers"
+-#~ msgstr "ingingo in"
+-
+-#, fuzzy
+-#~ msgid "Pass all arguments on stack"
+-#~ msgstr "Byose ingingo ku"
+-
+-#, fuzzy
+-#~ msgid "Optimize for 32532 cpu"
+-#~ msgstr "kugirango CPU"
+-
+-#, fuzzy
+-#~ msgid "Optimize for 32332 cpu"
+-#~ msgstr "kugirango CPU"
+-
+-#, fuzzy
+-#~ msgid "Optimize for 32032"
+-#~ msgstr "kugirango"
+-
+-#, fuzzy
+-#~ msgid "Register sb is zero. Use for absolute addressing"
+-#~ msgstr "ni Zeru kugirango Kwohereza"
+-
+-#, fuzzy
+-#~ msgid "Do not use register sb"
+-#~ msgstr "OYA Gukoresha Kwiyandikisha"
+-
+-#, fuzzy
+-#~ msgid "Do not use bit-field instructions"
+-#~ msgstr "OYA Gukoresha Umwanya Amabwiriza"
+-
+-#, fuzzy
+-#~ msgid "Generate code for high memory"
+-#~ msgstr "ITEGEKONGENGA kugirango kirekire Ububiko"
+-
+-#, fuzzy
+-#~ msgid "Generate code for low memory"
+-#~ msgstr "ITEGEKONGENGA kugirango Byo hasi Ububiko"
+-
+-#, fuzzy
+-#~ msgid "\"Small register classes\" kludge"
+-#~ msgstr "\"Kwiyandikisha Inzego"
+-
+-#, fuzzy
+-#~ msgid "No \"Small register classes\" kludge"
+-#~ msgstr "Kwiyandikisha Inzego"
+-
+-#, fuzzy
+-#~ msgid ""
+-#~ "unknown -march= option (%s).\n"
+-#~ "Valid options are 1.0, 1.1, and 2.0\n"
+-#~ msgstr "01. 1na2."
+-
+-#, fuzzy
+-#~ msgid "Do not disable FP regs"
+-#~ msgstr "OYA"
+-
+-#, fuzzy
+-#~ msgid "Do not put jumps in call delay slots"
+-#~ msgstr "OYA Gushyira in Gutinda Siloti"
+-
+-#, fuzzy
+-#~ msgid "Do not disable indexed addressing"
+-#~ msgstr "OYA Kwohereza"
+-
+-#, fuzzy
+-#~ msgid "Do not use portable calling conventions"
+-#~ msgstr "OYA Gukoresha"
+-
+-#, fuzzy
+-#~ msgid "Do not assume code will be assembled by GAS"
+-#~ msgstr "OYA ITEGEKONGENGA ku"
+-
+-#, fuzzy
+-#~ msgid "Do not use software floating point"
+-#~ msgstr "OYA Gukoresha Bihindagurika Akadomo"
+-
+-#, fuzzy
+-#~ msgid "Do not emit long load/store sequences"
+-#~ msgstr "OYA Ibirimo"
+-
+-#, fuzzy
+-#~ msgid "Do not generate fast indirect calls"
+-#~ msgstr "OYA Byihuta BUZIGUYE Amahamagara:"
+-
+-#, fuzzy
+-#~ msgid "Do not generate code for huge switch statements"
+-#~ msgstr "OYA ITEGEKONGENGA kugirango Hindura"
+-
+-#, fuzzy
+-#~ msgid "Generate long calls only when needed"
+-#~ msgstr "Amahamagara: Ryari:"
+-
+-#, fuzzy
+-#~ msgid "Specify architecture for code generation. Values are 1.0, 1.1, and 2.0. 2.0 requires gas snapshot 19990413 or later."
+-#~ msgstr "01. 1na2. 0. 2.."
+-
+-#, fuzzy
+-#~ msgid "Return floating point results in memory"
+-#~ msgstr "Bihindagurika Akadomo Ibisubizo ku in Ububiko"
+-
+-#, fuzzy
+-#~ msgid "Target does not have split I&D"
+-#~ msgstr "OYA Gutandukanya"
+-
+-# sc/source\ui\src\globstr.src:RID_GLOBSTR.STR_VALID_DEFERROR.text
+-#, fuzzy
+-#~ msgid "invalid %%z value"
+-#~ msgstr "Agaciro siko"
+-
+-# sc/source\ui\src\globstr.src:RID_GLOBSTR.STR_VALID_DEFERROR.text
+-#, fuzzy
+-#~ msgid "invalid %%Z value"
+-#~ msgstr "Agaciro siko"
+-
+-#, fuzzy
+-#~ msgid "can't have varargs with -mfp-arg-in-fp-regs"
+-#~ msgstr "Na: in"
+-
+-#, fuzzy
+-#~ msgid "unknown -mvrsave= option specified: '%s'"
+-#~ msgstr "Kitazwi Ihitamo"
+-
+-#, fuzzy
+-#~ msgid "Always pass floating-point arguments in memory"
+-#~ msgstr "Bihindagurika Akadomo ingingo in Ububiko"
+-
+-#, fuzzy
+-#~ msgid "Don't always pass floating-point arguments in memory"
+-#~ msgstr "Buri gihe Bihindagurika Akadomo ingingo in Ububiko"
+-
+-#, fuzzy
+-#~ msgid "Do not use POWER2 instruction set"
+-#~ msgstr "OYA Gukoresha Gushyiraho"
+-
+-#, fuzzy
+-#~ msgid "Don't use PowerPC General Purpose group optional instructions"
+-#~ msgstr "Gukoresha Itsinda Bitari ngombwa Amabwiriza"
+-
+-#, fuzzy
+-#~ msgid "Don't use PowerPC Graphics group optional instructions"
+-#~ msgstr "Gukoresha Itsinda Bitari ngombwa Amabwiriza"
+-
+-#, fuzzy
+-#~ msgid "Don't use PowerPC-64 instruction set"
+-#~ msgstr "Gukoresha Gushyiraho"
+-
+-#, fuzzy
+-#~ msgid "Don't use AltiVec instructions"
+-#~ msgstr "Gukoresha Amabwiriza"
+-
+-#, fuzzy
+-#~ msgid "Place variable addresses in the regular TOC"
+-#~ msgstr "IMPINDURAGACIRO Amaderesi in i Ibisanzwe"
+-
+-#, fuzzy
+-#~ msgid "Do not generate load/store multiple instructions"
+-#~ msgstr "OYA Ibirimo Igikubo Amabwiriza"
+-
+-#, fuzzy
+-#~ msgid "Do not generate string instructions for block moves"
+-#~ msgstr "OYA Ikurikiranyanyuguti Amabwiriza kugirango Funga"
+-
+-#, fuzzy
+-#~ msgid "Specify yes/no if isel instructions should be generated"
+-#~ msgstr "Yego Oya NIBA Amabwiriza"
+-
+-#, fuzzy
+-#~ msgid "Don't align to the base type of the bit-field"
+-#~ msgstr "Gutondeka Kuri i SHINGIRO Ubwoko Bya i Umwanya"
+-
+-#, fuzzy
+-#~ msgid "Don't assume that unaligned accesses are handled by the system"
+-#~ msgstr "ku i Sisitemu"
+-
+-#, fuzzy
+-#~ msgid "Assume that unaligned accesses are handled by the system"
+-#~ msgstr "ku i Sisitemu"
+-
+-#, fuzzy
+-#~ msgid "Don't produce code relocatable at runtime"
+-#~ msgstr "ITEGEKONGENGA ku"
+-
+-#, fuzzy
+-#~ msgid "Don't use EABI"
+-#~ msgstr "Gukoresha"
+-
+-#, fuzzy
+-#~ msgid "Don't use alternate register names"
+-#~ msgstr "Gukoresha Kwiyandikisha Amazina"
+-
+-#, fuzzy
+-#~ msgid "invalid UNSPEC as operand (1)"
+-#~ msgstr "Sibyo Nka 1."
+-
+-#, fuzzy
+-#~ msgid "invalid UNSPEC as operand (2)"
+-#~ msgstr "Sibyo Nka 2."
+-
+-#, fuzzy
+-#~ msgid "UNKNOWN in s390_output_symbolic_const !?"
+-#~ msgstr "in"
+-
+-#, fuzzy
+-#~ msgid "Don't set backchain (faster, but debug harder"
+-#~ msgstr "Gushyiraho Kosora amakosa"
+-
+-#, fuzzy
+-#~ msgid "Don't use bras"
+-#~ msgstr "Gukoresha"
+-
+-#, fuzzy
+-#~ msgid "Don't print additional debug prints"
+-#~ msgstr "Gucapa Kosora amakosa"
+-
+-#, fuzzy
+-#~ msgid "Do not pass -assert pure-text to linker"
+-#~ msgstr "OYA Umwandiko Kuri"
+-
+-#, fuzzy
+-#~ msgid "Use flat register window model"
+-#~ msgstr "Kirambuye Kwiyandikisha Idirishya Urugero"
+-
+-#, fuzzy
+-#~ msgid "Do not use flat register window model"
+-#~ msgstr "OYA Gukoresha Kirambuye Kwiyandikisha Idirishya Urugero"
+-
+-#, fuzzy
+-#~ msgid "Do not use ABI reserved registers"
+-#~ msgstr "OYA Gukoresha"
+-
+-#, fuzzy
+-#~ msgid "Do not compile for v8plus ABI"
+-#~ msgstr "OYA Gukusanya kugirango"
+-
+-#, fuzzy
+-#~ msgid "Do not utilize Visual Instruction Set"
+-#~ msgstr "OYA"
+-
+-#, fuzzy
+-#~ msgid "Optimize for Cypress processors"
+-#~ msgstr "kugirango"
+-
+-#, fuzzy
+-#~ msgid "Optimize for SPARCLite processors"
+-#~ msgstr "kugirango"
+-
+-#, fuzzy
+-#~ msgid "Optimize for F930 processors"
+-#~ msgstr "kugirango"
+-
+-#, fuzzy
+-#~ msgid "Optimize for F934 processors"
+-#~ msgstr "kugirango"
+-
+-#, fuzzy
+-#~ msgid "Optimize for SuperSPARC processors"
+-#~ msgstr "kugirango"
+-
+-#, fuzzy
+-#~ msgid "Do not use stack bias"
+-#~ msgstr "OYA Gukoresha"
+-
+-#, fuzzy
+-#~ msgid "Do not use structs on stronger alignment for double-word copies"
+-#~ msgstr "OYA Gukoresha ku Itunganya kugirango MAHARAKUBIRI ijambo Amakopi"
+-
+-#, fuzzy
+-#~ msgid "Do not optimize tail call instructions in assembler or linker"
+-#~ msgstr "OYA Kugeza ku ndunduro Amabwiriza in Cyangwa"
+-
+-#, fuzzy
+-#~ msgid "%s=%s is not numeric"
+-#~ msgstr "%s=%sni OYA Bikurikije umubare"
+-
+-#, fuzzy
+-#~ msgid "%s=%s is too large"
+-#~ msgstr "%s=%sni Binini"
+-
+-#, fuzzy
+-#~ msgid "Compile for v850e processor"
+-#~ msgstr "kugirango"
+-
+-#, fuzzy
+-#~ msgid "Use the Xtensa code density option"
+-#~ msgstr "i ITEGEKONGENGA Ihitamo"
+-
+-#, fuzzy
+-#~ msgid "Do not use the Xtensa code density option"
+-#~ msgstr "OYA Gukoresha i ITEGEKONGENGA Ihitamo"
+-
+-#, fuzzy
+-#~ msgid "Use the Xtensa MAC16 option"
+-#~ msgstr "i Ihitamo"
+-
+-#, fuzzy
+-#~ msgid "Do not use the Xtensa MAC16 option"
+-#~ msgstr "OYA Gukoresha i Ihitamo"
+-
+-#, fuzzy
+-#~ msgid "Use the Xtensa MUL16 option"
+-#~ msgstr "i Ihitamo"
+-
+-#, fuzzy
+-#~ msgid "Do not use the Xtensa MUL16 option"
+-#~ msgstr "OYA Gukoresha i Ihitamo"
+-
+-#, fuzzy
+-#~ msgid "Use the Xtensa MUL32 option"
+-#~ msgstr "i Ihitamo"
+-
+-#, fuzzy
+-#~ msgid "Do not use the Xtensa MUL32 option"
+-#~ msgstr "OYA Gukoresha i Ihitamo"
+-
+-#, fuzzy
+-#~ msgid "Use the Xtensa NSA option"
+-#~ msgstr "i Ihitamo"
+-
+-#, fuzzy
+-#~ msgid "Do not use the Xtensa NSA option"
+-#~ msgstr "OYA Gukoresha i Ihitamo"
+-
+-#, fuzzy
+-#~ msgid "Use the Xtensa MIN/MAX option"
+-#~ msgstr "i Ihitamo"
+-
+-#, fuzzy
+-#~ msgid "Do not use the Xtensa MIN/MAX option"
+-#~ msgstr "OYA Gukoresha i Ihitamo"
+-
+-#, fuzzy
+-#~ msgid "Use the Xtensa SEXT option"
+-#~ msgstr "i Ihitamo"
+-
+-#, fuzzy
+-#~ msgid "Do not use the Xtensa SEXT option"
+-#~ msgstr "OYA Gukoresha i Ihitamo"
+-
+-#, fuzzy
+-#~ msgid "Use the Xtensa boolean register option"
+-#~ msgstr "i Icyungo Kwiyandikisha Ihitamo"
+-
+-#, fuzzy
+-#~ msgid "Do not use the Xtensa boolean register option"
+-#~ msgstr "OYA Gukoresha i Icyungo Kwiyandikisha Ihitamo"
+-
+-#, fuzzy
+-#~ msgid "Use the Xtensa floating-point unit"
+-#~ msgstr "i Bihindagurika Akadomo Igice:"
+-
+-#, fuzzy
+-#~ msgid "Do not use the Xtensa floating-point unit"
+-#~ msgstr "OYA Gukoresha i Bihindagurika Akadomo Igice:"
+-
+-#, fuzzy
+-#~ msgid "Disable fused multiply/add and multiply/subtract FP instructions"
+-#~ msgstr "Gukuba Kongeramo Na Gukuba Gukuramo Amabwiriza"
+-
+-#, fuzzy
+-#~ msgid "Serialize volatile memory references with MEMW instructions"
+-#~ msgstr "Ububiko Indango Na: Amabwiriza"
+-
+-#, fuzzy
+-#~ msgid "Do not serialize volatile memory references with MEMW instructions"
+-#~ msgstr "OYA Ububiko Indango Na: Amabwiriza"
+-
+-#, fuzzy
+-#~ msgid "Put literal pools in a separate literal section"
+-#~ msgstr "in a Icyiciro"
+-
+-#, fuzzy
+-#~ msgid "Do not automatically align branch targets"
+-#~ msgstr "OYA ku buryo bwikora Gutondeka"
+-
+-#, fuzzy
+-#~ msgid "Use direct CALLn instructions for fast calls"
+-#~ msgstr "Amabwiriza kugirango Byihuta Amahamagara:"
+-
+-#, fuzzy
+-#~ msgid "type of `%E' does not match destructor type `%T' (type was `%T')"
+-#~ msgstr "Ubwoko Bya OYA BIHUYE Ubwoko Ubwoko"
+-
+-#, fuzzy
+-#~ msgid "base object `%E' of scoped method call is of non-aggregate type `%T'"
+-#~ msgstr "SHINGIRO Igikoresho Bya Uburyo ni Bya Ubwoko"
+-
+-#, fuzzy
+-#~ msgid "unable to call pointer to member function here"
+-#~ msgstr "Kuri Mweretsi Kuri Umumaro"
+-
+-#, fuzzy
+-#~ msgid "destructor name `~%T' does not match type `%T' of expression"
+-#~ msgstr "Izina: OYA BIHUYE Ubwoko Bya imvugo"
+-
+-#, fuzzy
+-#~ msgid "request for member `%D' in `%E', which is of non-aggregate type `%T'"
+-#~ msgstr "Kubaza... kugirango in ni Bya Ubwoko"
+-
+-# desktop/source\app\ssodlg.src:DLG_SSOLOGIN.text
+-#, fuzzy
+-#~ msgid "%s %+#D%s"
+-#~ msgstr "%s%+#D%s"
+-
+-#, fuzzy
+-#~ msgid "%s for `%T ? %T : %T' operator"
+-#~ msgstr "%skugirango."
+-
+-#, fuzzy
+-#~ msgid "%s for `%T %s' operator"
+-#~ msgstr "%skugirango Mukoresha"
+-
+-#, fuzzy
+-#~ msgid "%s for `%T [%T]' operator"
+-#~ msgstr "%skugirango Mukoresha"
+-
+-#, fuzzy
+-#~ msgid "%s for `%T %s %T' operator"
+-#~ msgstr "%skugirango Mukoresha"
+-
+-#, fuzzy
+-#~ msgid "%s for `%s %T' operator"
+-#~ msgstr "%skugirango Mukoresha"
+-
+-#, fuzzy
+-#~ msgid "`%D' must be declared before use"
+-#~ msgstr "`%D'Mbere Gukoresha"
+-
+-#, fuzzy
+-#~ msgid "using synthesized `%#D' for copy assignment"
+-#~ msgstr "ikoresha kugirango Gukoporora Igenera"
+-
+-#, fuzzy
+-#~ msgid " where cfront would use `%#D'"
+-#~ msgstr "Gukoresha"
+-
+-#, fuzzy
+-#~ msgid " initializing argument %P of `%D' from result of `%D'"
+-#~ msgstr "Gutangiza Bya Bivuye Igisubizo Bya"
+-
+-#, fuzzy
+-#~ msgid " initializing temporary from result of `%D'"
+-#~ msgstr "Gutangiza By'igihe gito Bivuye Igisubizo Bya"
+-
+-#, fuzzy
+-#~ msgid "cannot receive objects of non-POD type `%#T' through `...'"
+-#~ msgstr "Akira Ibintu Bya Ubwoko Gihinguranya"
+-
+-#, fuzzy
+-#~ msgid "duplicate enum value `%D'"
+-#~ msgstr "Gusubiramo Agaciro"
+-
+-#, fuzzy
+-#~ msgid "duplicate field `%D' (as enum and non-enum)"
+-#~ msgstr "Gusubiramo Umwanya Nka Na"
+-
+-#, fuzzy
+-#~ msgid "duplicate nested type `%D'"
+-#~ msgstr "Gusubiramo Ubwoko"
+-
+-#, fuzzy
+-#~ msgid "duplicate field `%D' (as type and non-type)"
+-#~ msgstr "Gusubiramo Umwanya Nka Ubwoko Na Ubwoko"
+-
+-#, fuzzy
+-#~ msgid "`%D' invalid in `%T'"
+-#~ msgstr "`%D'Sibyo in"
+-
+-#, fuzzy
+-#~ msgid "base `%T' with only non-default constructor in class without a constructor"
+-#~ msgstr "SHINGIRO Na: Mburabuzi in ishuri a"
+-
+-#, fuzzy
+-#~ msgid "ISO C++ forbids member `%D' with same name as enclosing class"
+-#~ msgstr "C Na: Izina: Nka ishuri"
+-
+-#, fuzzy
+-#~ msgid "field `%D' in local class cannot be static"
+-#~ msgstr "Umwanya in ishuri"
+-
+-#, fuzzy
+-#~ msgid "field `%D' invalidly declared offset type"
+-#~ msgstr "Umwanya Nta- boneza Ubwoko"
+-
+-#, fuzzy
+-#~ msgid "field `%D' declared static in union"
+-#~ msgstr "Umwanya in Ihuza"
+-
+-#, fuzzy
+-#~ msgid "`%D' was previously implicitly declared to return `int'"
+-#~ msgstr "`%D'Kuri Garuka"
+-
+-#, fuzzy
+-#~ msgid "label `%s' referenced outside of any function"
+-#~ msgstr "Akarango Hanze Bya Umumaro"
+-
+-#, fuzzy
+-#~ msgid "`%#D' redeclared as %C"
+-#~ msgstr "`%#D'Nka"
+-
+-#, fuzzy
+-#~ msgid "`%D' undeclared in namespace `%D'"
+-#~ msgstr "`%D'in"
+-
+-#, fuzzy
+-#~ msgid "lookup of `%D' finds `%#D'"
+-#~ msgstr "GUSHAKISHA Bya"
+-
+-#, fuzzy
+-#~ msgid " instead of `%D' from dependent base class"
+-#~ msgstr "Bya Bivuye SHINGIRO ishuri"
+-
+-#, fuzzy
+-#~ msgid "lookup of `%D' in the scope of `%#T' (`%#D') does not match lookup in the current scope (`%#D')"
+-#~ msgstr "GUSHAKISHA Bya in i Ingano: Bya OYA BIHUYE GUSHAKISHA in i KIGEZWEHO Ingano:"
+-
+-#, fuzzy
+-#~ msgid "brace-enclosed initializer used to initialize `%T'"
+-#~ msgstr "Kuri gutangiza"
+-
+-#, fuzzy
+-#~ msgid "cannot initialize `%D' to namespace `%D'"
+-#~ msgstr "gutangiza Kuri"
+-
+-#, fuzzy
+-#~ msgid "invalid catch parameter"
+-#~ msgstr "Sibyo"
+-
+-#, fuzzy
+-#~ msgid "destructors must be member functions"
+-#~ msgstr "Imimaro"
+-
+-#, fuzzy
+-#~ msgid "destructor `%T' must match class name `%T'"
+-#~ msgstr "BIHUYE ishuri Izina:"
+-
+-#, fuzzy
+-#~ msgid "invalid declarator"
+-#~ msgstr "Sibyo"
+-
+-#, fuzzy
+-#~ msgid "`%T' specified as declarator-id"
+-#~ msgstr "`%T'Nka ID"
+-
+-#, fuzzy
+-#~ msgid " perhaps you want `%T' for a constructor"
+-#~ msgstr "kugirango a"
+-
+-#, fuzzy
+-#~ msgid "`bool' is now a keyword"
+-#~ msgstr "`ni NONEAHA a Ijambo- banze"
+-
+-#, fuzzy
+-#~ msgid "multiple declarations `%T' and `%T'"
+-#~ msgstr "Igikubo Na"
+-
+-#, fuzzy
+-#~ msgid "`%T' is implicitly a typename"
+-#~ msgstr "`%T'ni a"
+-
+-#, fuzzy
+-#~ msgid "return value type specifier for constructor ignored"
+-#~ msgstr "Garuka Agaciro Ubwoko kugirango"
+-
+-#, fuzzy
+-#~ msgid "invalid type qualifier for non-member function type"
+-#~ msgstr "Sibyo Ubwoko kugirango Umumaro Ubwoko"
+-
+-#, fuzzy
+-#~ msgid "ISO C++ forbids static data member `%D' with same name as enclosing class"
+-#~ msgstr "C Ibyatanzwe Na: Izina: Nka ishuri"
+-
+-#, fuzzy
+-#~ msgid "storage class `static' invalid for function `%s' declared out of global scope"
+-#~ msgstr "ishuri Sibyo kugirango Umumaro Inyuma Bya Ingano:"
+-
+-#, fuzzy
+-#~ msgid "invalid integer constant in parameter list, did you forget to give parameter name?"
+-#~ msgstr "Sibyo Umubare wuzuye in Urutonde Kuri Izina:"
+-
+-#, fuzzy
+-#~ msgid "parameter `%D' invalidly declared offset type"
+-#~ msgstr "Nta- boneza Ubwoko"
+-
+-#, fuzzy
+-#~ msgid "`%s %T' declares a new type at namespace scope"
+-#~ msgstr "`%s%T'a Gishya Ubwoko ku Ingano:"
+-
+-#, fuzzy
+-#~ msgid " names from dependent base classes are not visible to unqualified name lookup - to refer to the inherited type, say `%s %T::%T'"
+-#~ msgstr "Amazina Bivuye SHINGIRO Inzego OYA Kigaragara Kuri Izina: GUSHAKISHA Kuri Kuri i Ubwoko"
+-
+-#, fuzzy
+-#~ msgid "base class `%T' has incomplete type"
+-#~ msgstr "SHINGIRO ishuri Ubwoko"
+-
+-#, fuzzy
+-#~ msgid "semicolon missing after declaration of `%#T'"
+-#~ msgstr "Akabago n'Akitso Ibuze Nyuma Bya"
+-
+-#, fuzzy
+-#~ msgid "return type for `main' changed to `int'"
+-#~ msgstr "Garuka Ubwoko kugirango Byahinduwe Kuri"
+-
+-#, fuzzy
+-#~ msgid "`%D' implicitly declared before its definition"
+-#~ msgstr "`%D'Mbere Insobanuro"
+-
+-#, fuzzy
+-#~ msgid "template `%#D' instantiated in file without #pragma interface"
+-#~ msgstr "Inyandikorugero in IDOSIYE"
+-
+-#, fuzzy
+-#~ msgid "template `%#D' defined in file without #pragma interface"
+-#~ msgstr "Inyandikorugero in IDOSIYE"
+-
+-#, fuzzy
+-#~ msgid "parser may be lost: is there a '{' missing somewhere?"
+-#~ msgstr "Gicurasi ni a Ibuze"
+-
+-#, fuzzy
+-#~ msgid "anachronistic use of array size in vector delete"
+-#~ msgstr "Gukoresha Bya Imbonerahamwe Ingano in Gusiba"
+-
+-#, fuzzy
+-#~ msgid "invalid use of `virtual' in template declaration of `%#D'"
+-#~ msgstr "Sibyo Gukoresha Bya in Inyandikorugero Bya"
+-
+-#, fuzzy
+-#~ msgid "invalid data member initialization"
+-#~ msgstr "Sibyo Ibyatanzwe"
+-
+-#, fuzzy
+-#~ msgid "(use `=' to initialize static data members)"
+-#~ msgstr "(Gukoresha Kuri gutangiza Ibyatanzwe"
+-
+-#, fuzzy
+-#~ msgid "too many initialization functions required"
+-#~ msgstr "Imimaro Bya ngombwa"
+-
+-#, fuzzy
+-#~ msgid " first declared as `%#D' here"
+-#~ msgstr "Itangira Nka"
+-
+-#, fuzzy
+-#~ msgid "using-declaration for destructor"
+-#~ msgstr "ikoresha kugirango"
+-
+-#, fuzzy
+-#~ msgid "a using-declaration cannot specify a template-id. Try `using %T::%D'"
+-#~ msgstr "a ikoresha a Inyandikorugero ID ikoresha"
+-
+-#, fuzzy
+-#~ msgid "`%T' does not have a class or union named `%D'"
+-#~ msgstr "`%T'OYA a ishuri Cyangwa Ihuza"
+-
+-#, fuzzy
+-#~ msgid "`%s' not supported by %s"
+-#~ msgstr "`%s'OYA ku"
+-
+-#, fuzzy
+-#~ msgid "(static %s for %s)"
+-#~ msgstr "(kugirango"
+-
+-# #-#-#-#-# dbaccess.pot (PACKAGE VERSION) #-#-#-#-#
+-# #-#-#-#-# dbaccess.pot (PACKAGE VERSION) #-#-#-#-#
+-# #-#-#-#-# dbaccess.pot (PACKAGE VERSION) #-#-#-#-#
+-#, fuzzy
+-#~ msgid "\\x%x"
+-#~ msgstr "\\x%x"
+-
+-# vcl/source\src\units.src:SV_FUNIT_STRINGS.10.text
+-#, fuzzy
+-#~ msgid "In %s `%s':"
+-#~ msgstr "in"
+-
+-#, fuzzy
+-#~ msgid "%s: In instantiation of `%s':\n"
+-#~ msgstr "%s:Bya"
+-
+-#, fuzzy
+-#~ msgid "%s:%d: instantiated from `%s'\n"
+-#~ msgstr "%s:%d:Bivuye"
+-
+-#, fuzzy
+-#~ msgid "%s:%d: instantiated from here\n"
+-#~ msgstr "%s:%d:Bivuye"
+-
+-#, fuzzy
+-#~ msgid "unexpected letter `%c' in locate_error\n"
+-#~ msgstr "Ibaruwa... in"
+-
+-#, fuzzy
+-#~ msgid "typename type `%#T' declared `friend'"
+-#~ msgstr "Ubwoko"
+-
+-#, fuzzy
+-#~ msgid "`%T' fails to be an aggregate typedef"
+-#~ msgstr "`%T'Kuri"
+-
+-#, fuzzy
+-#~ msgid "type `%T' is of non-aggregate type"
+-#~ msgstr "Ubwoko ni Bya Ubwoko"
+-
+-#, fuzzy
+-#~ msgid "cannot call destructor `%T::~%T' without object"
+-#~ msgstr "Igikoresho"
+-
+-#, fuzzy
+-#~ msgid "object missing in use of pointer-to-member construct"
+-#~ msgstr "Igikoresho Ibuze in Gukoresha Bya Mweretsi Kuri"
+-
+-#, fuzzy
+-#~ msgid "member `%D' is non-static but referenced as a static member"
+-#~ msgstr "ni Nka a"
+-
+-#, fuzzy
+-#~ msgid "object missing in `%E'"
+-#~ msgstr "Igikoresho Ibuze in"
+-
+-#, fuzzy
+-#~ msgid "new of array type fails to specify size"
+-#~ msgstr "Gishya Bya Imbonerahamwe Ubwoko Kuri Ingano"
+-
+-#, fuzzy
+-#~ msgid "zero size array reserves no space"
+-#~ msgstr "Zeru Ingano Imbonerahamwe Oya Umwanya"
+-
+-#, fuzzy
+-#~ msgid "initializer list being treated as compound expression"
+-#~ msgstr "Urutonde Nka imvugo"
+-
+-#, fuzzy
+-#~ msgid "ISO C++ forbids aggregate initializer to new"
+-#~ msgstr "C Kuri Gishya"
+-
+-#, fuzzy
+-#~ msgid "type name expected before `*'"
+-#~ msgstr "Ubwoko Izina: Ikitezwe: Mbere"
+-
+-#, fuzzy
+-#~ msgid "cannot declare references to references"
+-#~ msgstr "Indango Kuri Indango"
+-
+-#, fuzzy
+-#~ msgid "cannot declare pointers to references"
+-#~ msgstr "Kuri Indango"
+-
+-#, fuzzy
+-#~ msgid "semicolon missing after %s declaration"
+-#~ msgstr "Akabago n'Akitso Ibuze Nyuma"
+-
+-#, fuzzy
+-#~ msgid "`%D' undeclared (first use this function)"
+-#~ msgstr "`%D'Itangira Gukoresha iyi Umumaro"
+-
+-#, fuzzy
+-#~ msgid "(Each undeclared identifier is reported only once for each function it appears in.)"
+-#~ msgstr "(Ikiranga ni Rimwe kugirango Umumaro in"
+-
+-#, fuzzy
+-#~ msgid "`::%D' undeclared (first use here)"
+-#~ msgstr "`::%D'Itangira Gukoresha"
+-
+-#, fuzzy
+-#~ msgid "real-valued template parameters when cross-compiling"
+-#~ msgstr "Inyandikorugero Ibigenga Ryari: Kwambukiranya"
+-
+-#, fuzzy
+-#~ msgid "due to a defect in the G++ 3.2 ABI, G++ has assigned the same mangled name to two different types"
+-#~ msgstr "Kuri a in i 3. 2. i Izina: Kuri"
+-
+-#, fuzzy
+-#~ msgid "use of linkage spec `%D' is different from previous spec `%D'"
+-#~ msgstr "Gukoresha Bya ni Bivuye Ibanjirije"
+-
+-#, fuzzy
+-#~ msgid "no base or member initializers given following ':'"
+-#~ msgstr "Oya SHINGIRO Cyangwa"
+-
+-#, fuzzy
+-#~ msgid "`>>' should be `> >' in template class name"
+-#~ msgstr "`>>'in Inyandikorugero ishuri Izina:"
+-
+-#, fuzzy
+-#~ msgid "use of template qualifier outside template"
+-#~ msgstr "Gukoresha Bya Inyandikorugero Hanze Inyandikorugero"
+-
+-#, fuzzy
+-#~ msgid "ISO C++ forbids an empty condition for `%s'"
+-#~ msgstr "C ubusa Ibisabwa kugirango"
+-
+-#, fuzzy
+-#~ msgid "definition of class `%T' in condition"
+-#~ msgstr "Insobanuro Bya ishuri in Ibisabwa"
+-
+-#, fuzzy
+-#~ msgid "definition of array `%#D' in condition"
+-#~ msgstr "Insobanuro Bya Imbonerahamwe in Ibisabwa"
+-
+-#, fuzzy
+-#~ msgid "old style placement syntax, use () instead"
+-#~ msgstr "ki/ bishaje IMISUSIRE Ishyira mu mwanya Gukoresha"
+-
+-#, fuzzy
+-#~ msgid "`%T' is not a valid expression"
+-#~ msgstr "`%T'ni OYA a Byemewe imvugo"
+-
+-#, fuzzy
+-#~ msgid "sigof type specifier"
+-#~ msgstr "Ubwoko"
+-
+-#, fuzzy
+-#~ msgid "`sigof' applied to non-aggregate expression"
+-#~ msgstr "`Byashyizweho Kuri imvugo"
+-
+-#, fuzzy
+-#~ msgid "storage class specifier `%s' not allowed after struct or class"
+-#~ msgstr "ishuri OYA Nyuma Cyangwa ishuri"
+-
+-#, fuzzy
+-#~ msgid "type specifier `%s' not allowed after struct or class"
+-#~ msgstr "Ubwoko OYA Nyuma Cyangwa ishuri"
+-
+-#, fuzzy
+-#~ msgid "type qualifier `%s' not allowed after struct or class"
+-#~ msgstr "Ubwoko OYA Nyuma Cyangwa ishuri"
+-
+-#, fuzzy
+-#~ msgid "no body nor ';' separates two class, struct or union declarations"
+-#~ msgstr "Oya Umubiri ishuri Cyangwa Ihuza"
+-
+-#, fuzzy
+-#~ msgid "no bases given following `:'"
+-#~ msgstr "Oya"
+-
+-#, fuzzy
+-#~ msgid "multiple access specifiers"
+-#~ msgstr "Igikubo"
+-
+-#, fuzzy
+-#~ msgid "missing ';' before right brace"
+-#~ msgstr "Ibuze Mbere Iburyo:"
+-
+-#, fuzzy
+-#~ msgid "ISO C++ forbids array dimensions with parenthesized type in new"
+-#~ msgstr "C Imbonerahamwe Ingero Na: Ubwoko in Gishya"
+-
+-#, fuzzy
+-#~ msgid "ISO C++ forbids label declarations"
+-#~ msgstr "C Akarango"
+-
+-#, fuzzy
+-#~ msgid "label must be followed by statement"
+-#~ msgstr "Akarango ku Inyandiko"
+-
+-#, fuzzy
+-#~ msgid "must have at least one catch per try block"
+-#~ msgstr "ku Funga"
+-
+-#, fuzzy
+-#~ msgid "ISO C++ forbids compound statements inside for initializations"
+-#~ msgstr "C Mo Imbere kugirango"
+-
+-#, fuzzy
+-#~ msgid "possibly missing ')'"
+-#~ msgstr "Ibuze"
+-
+-#, fuzzy
+-#~ msgid "type specifier omitted for parameter"
+-#~ msgstr "Ubwoko kugirango"
+-
+-#, fuzzy
+-#~ msgid "`%E' is not a type, use `typename %E' to make it one"
+-#~ msgstr "`%E'ni OYA a Ubwoko Gukoresha Kuri Ubwoko"
+-
+-#, fuzzy
+-#~ msgid "no type `%D' in `%T'"
+-#~ msgstr "Oya Ubwoko in"
+-
+-#, fuzzy
+-#~ msgid "type specifier omitted for parameter `%E'"
+-#~ msgstr "Ubwoko kugirango"
+-
+-#, fuzzy
+-#~ msgid "partial specialization `%D' of function template"
+-#~ msgstr "Bituzuye Bya Umumaro Inyandikorugero"
+-
+-#, fuzzy
+-#~ msgid "too many template parameter lists in declaration of `%T'"
+-#~ msgstr "Inyandikorugero Intonde in Bya"
+-
+-#, fuzzy
+-#~ msgid "it must be the address of a function with external linkage"
+-#~ msgstr "i Aderesi Bya a Umumaro Na: external"
+-
+-#, fuzzy
+-#~ msgid "it must be the address of an object with external linkage"
+-#~ msgstr "i Aderesi Bya Igikoresho Na: external"
+-
+-#, fuzzy
+-#~ msgid "it must be a pointer-to-member of the form `&X::Y'"
+-#~ msgstr "a Mweretsi Kuri Bya i Ifishi"
+-
+-#, fuzzy
+-#~ msgid "address of non-extern `%E' cannot be used as template argument"
+-#~ msgstr "Aderesi Bya Nka Inyandikorugero"
+-
+-#, fuzzy
+-#~ msgid "non-constant `%E' cannot be used as template argument"
+-#~ msgstr "Nka Inyandikorugero"
+-
+-#, fuzzy
+-#~ msgid "creating array with size zero"
+-#~ msgstr "Imbonerahamwe Na: Ingano Zeru"
+-
+-#, fuzzy
+-#~ msgid "type `%T' composed from a local class is not a valid template-argument"
+-#~ msgstr "Ubwoko Bivuye a ishuri ni OYA a Byemewe Inyandikorugero"
+-
+-#, fuzzy
+-#~ msgid "incomplete type unification"
+-#~ msgstr "Ubwoko"
+-
+-#, fuzzy
+-#~ msgid "use of `%s' in template type unification"
+-#~ msgstr "Gukoresha Bya in Inyandikorugero Ubwoko"
+-
+-#, fuzzy
+-#~ msgid "assignment to non-static member `%D' of enclosing class `%T'"
+-#~ msgstr "Igenera Kuri Bya ishuri"
+-
+-#, fuzzy
+-#~ msgid "adjusting pointers for covariant returns"
+-#~ msgstr "kugirango"
+-
+-#, fuzzy
+-#~ msgid " overriding `%#D' (must be pointer or reference to class)"
+-#~ msgstr "Mweretsi Cyangwa Indango Kuri ishuri"
+-
+-#, fuzzy
+-#~ msgid " overriding `%#D' (must use pointer or reference)"
+-#~ msgstr "Gukoresha Mweretsi Cyangwa Indango"
+-
+-#, fuzzy
+-#~ msgid "`%#D' needs a final overrider"
+-#~ msgstr "`%#D'a"
+-
+-#, fuzzy
+-#~ msgid "ISO C++ does not permit named return values"
+-#~ msgstr "C OYA Garuka Uduciro"
+-
+-#, fuzzy
+-#~ msgid "return identifier `%D' already in place"
+-#~ msgstr "Garuka Ikiranga in"
+-
+-#, fuzzy
+-#~ msgid "can't redefine default return value for constructors"
+-#~ msgstr "Mburabuzi Garuka Agaciro kugirango"
+-
+-#, fuzzy
+-#~ msgid "calling type `%T' like a method"
+-#~ msgstr "Ubwoko nka a Uburyo"
+-
+-#, fuzzy
+-#~ msgid "destructor specifier `%T::~%T()' must have matching names"
+-#~ msgstr "Amazina"
+-
+-#, fuzzy
+-#~ msgid "invalid default template argument"
+-#~ msgstr "Sibyo Mburabuzi Inyandikorugero"
+-
+-#, fuzzy
+-#~ msgid "multiple declarators in template declaration"
+-#~ msgstr "Igikubo in Inyandikorugero"
+-
+-#, fuzzy
+-#~ msgid "identifier name `%s' conflicts with GNU C++ internal naming strategy"
+-#~ msgstr "Ikiranga Izina: Na: C By'imbere"
+-
+-#, fuzzy
+-#~ msgid "parse error at end of saved function text"
+-#~ msgstr "Ikosa ku Impera Bya Umumaro Umwandiko"
+-
+-#, fuzzy
+-#~ msgid "%Hend of file read inside definition"
+-#~ msgstr "%HendBya IDOSIYE Gusoma Mo Imbere Insobanuro"
+-
+-#, fuzzy
+-#~ msgid "function body for constructor missing"
+-#~ msgstr "Umumaro Umubiri kugirango Ibuze"
+-
+-#, fuzzy
+-#~ msgid "circular dependency in default args of `%#D'"
+-#~ msgstr "Cy'uruziga in Mburabuzi Bya"
+-
+-#, fuzzy
+-#~ msgid "invalid type `%T' for default argument to `%T'"
+-#~ msgstr "Sibyo Ubwoko kugirango Mburabuzi Kuri"
+-
+-#, fuzzy
+-#~ msgid "%s before `%s'"
+-#~ msgstr "%sMbere"
+-
+-#, fuzzy
+-#~ msgid "%s before `%c'"
+-#~ msgstr "%sMbere"
+-
+-#, fuzzy
+-#~ msgid "%s before `\\%o'"
+-#~ msgstr "%sMbere"
+-
+-#, fuzzy
+-#~ msgid "%s before `%s' token"
+-#~ msgstr "%sMbere"
+-
+-#, fuzzy
+-#~ msgid "non-lvalue in %s"
+-#~ msgstr "in"
+-
+-#, fuzzy
+-#~ msgid "ISO C++ prohibits conversion from `%#T' to `(...)'"
+-#~ msgstr "C Ihindurangero Bivuye Kuri"
+-
+-#, fuzzy
+-#~ msgid "invalid application of `%s' to non-static member"
+-#~ msgstr "Sibyo Porogaramu Bya Kuri"
+-
+-#, fuzzy
+-#~ msgid "destructor specifier `%T::~%T' must have matching names"
+-#~ msgstr "Amazina"
+-
+-#, fuzzy
+-#~ msgid "parameter type of called function is incomplete"
+-#~ msgstr "Ubwoko Bya Umumaro ni"
+-
+-#, fuzzy
+-#~ msgid "ISO C++ forbids using pointer to a member in subtraction"
+-#~ msgstr "C ikoresha Mweretsi Kuri a in Gukuramo"
+-
+-#, fuzzy
+-#~ msgid "taking address of destructor"
+-#~ msgstr "Aderesi Bya"
+-
+-#, fuzzy
+-#~ msgid "taking address of bound pointer-to-member expression"
+-#~ msgstr "Aderesi Bya Mweretsi Kuri imvugo"
+-
+-#, fuzzy
+-#~ msgid "static_cast from type `%T' to type `%T' casts away constness"
+-#~ msgstr "Bivuye Ubwoko Kuri Ubwoko"
+-
+-#, fuzzy
+-#~ msgid "reinterpret_cast from `%T' to `%T' casts away const (or volatile)"
+-#~ msgstr "Bivuye Kuri Cyangwa"
+-
+-#, fuzzy
+-#~ msgid "invalid reinterpret_cast from type `%T' to type `%T'"
+-#~ msgstr "Sibyo Bivuye Ubwoko Kuri Ubwoko"
+-
+-#, fuzzy
+-#~ msgid "ISO C++ forbids cast to non-reference type used as lvalue"
+-#~ msgstr "C Kuri Indango Ubwoko Nka"
+-
+-#, fuzzy
+-#~ msgid "ISO C++ forbids assignment of arrays"
+-#~ msgstr "C Igenera Bya"
+-
+-#, fuzzy
+-#~ msgid "passing `%T' for %s %P of `%D'"
+-#~ msgstr "kugirango Bya"
+-
+-#, fuzzy
+-#~ msgid "%s to `%T' from `%T'"
+-#~ msgstr "%sKuri Bivuye"
+-
+-#, fuzzy
+-#~ msgid "passing negative value `%E' for %s %P of `%D'"
+-#~ msgstr "Agaciro kugirango Bya"
+-
+-#, fuzzy
+-#~ msgid "%s of negative value `%E' to `%T'"
+-#~ msgstr "%sBya Agaciro Kuri"
+-
+-#, fuzzy
+-#~ msgid "return-statement with no value, in function declared with a non-void return type"
+-#~ msgstr "Garuka Inyandiko Na: Oya Agaciro in Umumaro Na: a Garuka Ubwoko"
+-
+-#, fuzzy
+-#~ msgid "return-statement with a value, in function declared with a void return type"
+-#~ msgstr "Garuka Inyandiko Na: a Agaciro in Umumaro Na: a Garuka Ubwoko"
+-
+-#, fuzzy
+-#~ msgid "comma expression used to initialize return value"
+-#~ msgstr "Akitso imvugo Kuri gutangiza Garuka Agaciro"
+-
+-#, fuzzy
+-#~ msgid "initializing array with parameter list"
+-#~ msgstr "Gutangiza Imbonerahamwe Na: Urutonde"
+-
+-#, fuzzy
+-#~ msgid "initializer for scalar variable requires one element"
+-#~ msgstr "kugirango IMPINDURAGACIRO Ikigize:"
+-
+-#, fuzzy
+-#~ msgid "ignoring extra initializers for `%T'"
+-#~ msgstr "Birenga kugirango"
+-
+-#, fuzzy
+-#~ msgid "subobject of type `%T' must be initialized by constructor, not by `%E'"
+-#~ msgstr "Bya Ubwoko ku OYA ku"
+-
+-#, fuzzy
+-#~ msgid "aggregate has a partly bracketed initializer"
+-#~ msgstr "a"
+-
+-#, fuzzy
+-#~ msgid "non-empty initializer for array of empty elements"
+-#~ msgstr "ubusa kugirango Imbonerahamwe Bya ubusa Ibintu"
+-
+-#, fuzzy
+-#~ msgid "initializer list for object of class with virtual base classes"
+-#~ msgstr "Urutonde kugirango Igikoresho Bya ishuri Na: Kitaboneka SHINGIRO Inzego"
+-
+-#, fuzzy
+-#~ msgid "initializer list for object of class with base classes"
+-#~ msgstr "Urutonde kugirango Igikoresho Bya ishuri Na: SHINGIRO Inzego"
+-
+-#, fuzzy
+-#~ msgid "initializer list for object using virtual functions"
+-#~ msgstr "Urutonde kugirango Igikoresho ikoresha Kitaboneka Imimaro"
+-
+-#, fuzzy
+-#~ msgid "union `%T' with no named members cannot be initialized"
+-#~ msgstr "Ihuza Na: Oya"
+-
+-#, fuzzy
+-#~ msgid "excess elements in aggregate initializer"
+-#~ msgstr "Ibintu in"
+-
+-#, fuzzy
+-#~ msgid "`%T' fails to be a typedef or built-in type"
+-#~ msgstr "`%T'Kuri a Cyangwa in Ubwoko"
+-
+-#, fuzzy
+-#~ msgid "ISO C++ forbids defining types within %s"
+-#~ msgstr "C muri"
+-
+-#, fuzzy
+-#~ msgid "%s is deprecated, please see the documentation for details"
+-#~ msgstr "%sni Bitemewe. i kugirango Birambuye"
+-
+-#, fuzzy
+-#~ msgid "Make string literals `char[]' instead of `const char[]'"
+-#~ msgstr "Ikurikiranyanyuguti INYUGUTI Bya INYUGUTI"
+-
+-#, fuzzy
+-#~ msgid "Only emit explicit template instantiations"
+-#~ msgstr "Inyandikorugero"
+-
+-#, fuzzy
+-#~ msgid "Recognize and/bitand/bitor/compl/not/or/xor"
+-#~ msgstr "Na OYA Cyangwa"
+-
+-#, fuzzy
+-#~ msgid "Warn about inconsistent return types"
+-#~ msgstr "Ibyerekeye Garuka"
+-
+-#, fuzzy
+-#~ msgid "Warn when a function is declared extern, then inline"
+-#~ msgstr "Ryari: a Umumaro ni Hanyuma Mumurongo"
+-
+-#, fuzzy
+-#~ msgid "ASSIGN'ed label cannot fit into `%A' at %0 -- using wider sibling"
+-#~ msgstr "Akarango ku ikoresha"
+-
+-#, fuzzy
+-#~ msgid "no INTEGER type can hold a pointer on this configuration"
+-#~ msgstr "Oya Ubwoko a Mweretsi ku iyi Iboneza"
+-
+-#, fuzzy
+-#~ msgid "configuration: REAL, INTEGER, and LOGICAL are %d bits wide,"
+-#~ msgstr "Iboneza Na"
+-
+-#, fuzzy
+-#~ msgid "and pointers are %d bits wide, but g77 doesn't yet work"
+-#~ msgstr "Na Akazi"
+-
+-#, fuzzy
+-#~ msgid "properly unless they all are 32 bits wide"
+-#~ msgstr "Byose"
+-
+-#, fuzzy
+-#~ msgid "Please keep this in mind before you report bugs."
+-#~ msgstr "Gumana: iyi in Mbere Icyegeranyo"
+-
+-#, fuzzy
+-#~ msgid "configuration: char * holds %d bits, but ftnlen only %d"
+-#~ msgstr "Iboneza INYUGUTI"
+-
+-#, fuzzy
+-#~ msgid ""
+-#~ "configuration: char * holds %d bits, but INTEGER only %d --\n"
+-#~ " ASSIGN statement might fail"
+-#~ msgstr "Iboneza INYUGUTI Inyandiko"
+-
+-#, fuzzy
+-#~ msgid "Outside of any program unit:\n"
+-#~ msgstr "Bya Porogaramu Igice:"
+-
+-#, fuzzy
+-#~ msgid "%A from %B at %0%C"
+-#~ msgstr "%ABivuye ku"
+-
+-#, fuzzy
+-#~ msgid "directory name must immediately follow -I"
+-#~ msgstr "bushyinguro Izina: Ako kanya"
+-
+-#, fuzzy
+-#~ msgid "At %0, INCLUDE file %A exists, but is not readable"
+-#~ msgstr "IDOSIYE ni OYA"
+-
+-#, fuzzy
+-#~ msgid "At %0, INCLUDE nesting too deep"
+-#~ msgstr "Njyakuzimu"
+-
+-#, fuzzy
+-#~ msgid "Two arithmetic operators in a row at %0 and %1 -- use parentheses"
+-#~ msgstr "Mukoresha in a Urubariro ku Na Gukoresha %1"
+-
+-#, fuzzy
+-#~ msgid "Operator at %0 has lower precedence than that at %1 -- use parentheses"
+-#~ msgstr "ku Ntoya ku Gukoresha %1"
+-
+-#, fuzzy
+-#~ msgid "Use .EQV./.NEQV. instead of .EQ./.NE. at %0 for LOGICAL operands at %1 and %2"
+-#~ msgstr ""
+-#~ "Project- Id- Version: basctl\n"
+-#~ "POT- Creation- Date: 2003- 12- 07 17: 13+ 02\n"
+-#~ "PO- Revision- Date: 2004- 11- 04 10: 13- 0700\n"
+-#~ "Last- Translator: Language- Team:< en@ li. org> MIME- Version: 1. 0\n"
+-#~ "Content- Type: text/ plain; charset= UTF- 8\n"
+-#~ "Content- Transfer- Encoding: 8bit\n"
+-#~ "X- Generator: KBabel 1. 0\n"
+-#~ ". Project- Id- Version: basctl\n"
+-#~ "POT- Creation- Date: 2003- 12- 07 17: 13+ 02\n"
+-#~ "PO- Revision- Date: 2004- 11- 04 10: 13- 0700\n"
+-#~ "Last- Translator: Language- Team:< en@ li. org> MIME- Version: 1. 0\n"
+-#~ "Content- Type: text/ plain; charset= UTF- 8\n"
+-#~ "Content- Transfer- Encoding: 8bit\n"
+-#~ "X- Generator: KBabel 1. 0\n"
+-#~ "."
+-
+-#, fuzzy
+-#~ msgid "Unsupported operand for ** at %1 -- converting to default INTEGER"
+-#~ msgstr "kugirango ku Guhindura.... Kuri Mburabuzi"
+-
+-#, fuzzy
+-#~ msgid "Implicit declaration of `%A' at %0"
+-#~ msgstr "Bya ku"
+-
+-#, fuzzy
+-#~ msgid "Non-ISO-C-standard escape sequence `\\%A' at %0"
+-#~ msgstr "C Bisanzwe ku"
+-
+-#, fuzzy
+-#~ msgid "Unknown escape sequence `\\%A' at %0"
+-#~ msgstr "ku"
+-
+-#, fuzzy
+-#~ msgid "Unterminated escape sequence `\\' at %0"
+-#~ msgstr "ku"
+-
+-#, fuzzy
+-#~ msgid "Unknown escape sequence `\\' followed by char code 0x%A at %0"
+-#~ msgstr "ku INYUGUTI ITEGEKONGENGA ku"
+-
+-#, fuzzy
+-#~ msgid "\\x used at %0 with no following hex digits"
+-#~ msgstr "\\xku Na: Oya"
+-
+-#, fuzzy
+-#~ msgid "Hex escape at %0 out of range"
+-#~ msgstr "ku Inyuma Bya Urutonde"
+-
+-#, fuzzy
+-#~ msgid "Escape sequence at %0 out of range for character"
+-#~ msgstr "ku Inyuma Bya Urutonde kugirango Inyuguti"
+-
+-#, fuzzy
+-#~ msgid "hex escape out of range"
+-#~ msgstr "Inyuma Bya Urutonde"
+-
+-#, fuzzy
+-#~ msgid "non-ANSI-standard escape sequence, `\\%c'"
+-#~ msgstr "Bisanzwe"
+-
+-#, fuzzy
+-#~ msgid "unknown escape sequence `\\%c'"
+-#~ msgstr "Kitazwi"
+-
+-#, fuzzy
+-#~ msgid "unknown escape sequence: `\\' followed by char code 0x%x"
+-#~ msgstr "Kitazwi ku INYUGUTI ITEGEKONGENGA"
+-
+-#, fuzzy
+-#~ msgid "badly formed directive -- no closing quote"
+-#~ msgstr "Oya Gushyiraho akugarizo"
+-
+-#, fuzzy
+-#~ msgid "#-lines for entering and leaving files don't match"
+-#~ msgstr "#-Imirongo kugirango Na Idosiye BIHUYE"
+-
+-#, fuzzy
+-#~ msgid "bad directive -- missing close-quote"
+-#~ msgstr "Ibuze Gufunga Gushyiraho akugarizo"
+-
+-#, fuzzy
+-#~ msgid "invalid #ident"
+-#~ msgstr "Sibyo"
+-
+-#, fuzzy
+-#~ msgid "invalid #line"
+-#~ msgstr "Sibyo Umurongo"
+-
+-#, fuzzy
+-#~ msgid "use `#line ...' instead of `# ...' in first line"
+-#~ msgstr "Gukoresha Umurongo Bya in Itangira Umurongo"
+-
+-#, fuzzy
+-#~ msgid "invalid #-line"
+-#~ msgstr "Sibyo Umurongo"
+-
+-#, fuzzy
+-#~ msgid "Null character at %0 -- line ignored"
+-#~ msgstr "Inyuguti ku Umurongo"
+-
+-#, fuzzy
+-#~ msgid "INCLUDE at %0 not the only statement on the source line"
+-#~ msgstr "ku OYA i Inyandiko ku i Inkomoko Umurongo"
+-
+-#, fuzzy
+-#~ msgid "ASSIGNed FORMAT specifier is too small"
+-#~ msgstr "ni Gitoya"
+-
+-#, fuzzy
+-#~ msgid "SELECT CASE on CHARACTER type (at %0) not supported -- sorry"
+-#~ msgstr "ku Ubwoko ku OYA"
+-
+-#, fuzzy
+-#~ msgid "SELECT (at %0) has duplicate cases -- check integer overflow of CASE(s)"
+-#~ msgstr "ku Gusubiramo Kugenzura... Umubare wuzuye Byarenze urugero Bya S"
+-
+-#, fuzzy
+-#~ msgid "ASSIGN to variable that is too small"
+-#~ msgstr "Kuri IMPINDURAGACIRO ni Gitoya"
+-
+-#, fuzzy
+-#~ msgid "ASSIGNed GOTO target variable is too small"
+-#~ msgstr "Intego IMPINDURAGACIRO ni Gitoya"
+-
+-#, fuzzy
+-#~ msgid "Local adjustable symbol `%A' at %0"
+-#~ msgstr "IKIMENYETSO ku"
+-
+-#, fuzzy
+-#~ msgid "%s no longer supported -- try -fvxt"
+-#~ msgstr "%sOya"
+-
+-#, fuzzy
+-#~ msgid "%s no longer supported -- try -fno-vxt -ff90"
+-#~ msgstr "%sOya"
+-
+-#, fuzzy
+-#~ msgid "%s disabled, use normal debugging flags"
+-#~ msgstr "%sYahagaritswe Gukoresha Bisanzwe Amabendera"
+-
+-#, fuzzy
+-#~ msgid "Print g77-specific compiler version info, run internal tests"
+-#~ msgstr "Verisiyo Ibisobanuro Gukoresha By'imbere"
+-
+-#, fuzzy
+-#~ msgid "Program is written in typical FORTRAN 66 dialect"
+-#~ msgstr "ni in"
+-
+-#, fuzzy
+-#~ msgid "Program is written in typical Unix f77 dialect"
+-#~ msgstr "ni in"
+-
+-#, fuzzy
+-#~ msgid "Program does not use Unix-f77 dialectal features"
+-#~ msgstr "OYA Gukoresha Ibiranga"
+-
+-#, fuzzy
+-#~ msgid "Program is written in Fortran-90-ish dialect"
+-#~ msgstr "ni in"
+-
+-#, fuzzy
+-#~ msgid "Allow $ in symbol names"
+-#~ msgstr "in IKIMENYETSO Amazina"
+-
+-#, fuzzy
+-#~ msgid "f2c-compatible code need not be generated"
+-#~ msgstr "ITEGEKONGENGA OYA"
+-
+-#, fuzzy
+-#~ msgid "Unsupported; do not generate libf2c-calling code"
+-#~ msgstr "OYA ITEGEKONGENGA"
+-
+-#, fuzzy
+-#~ msgid "Unsupported; affects code-generation of arrays"
+-#~ msgstr "ITEGEKONGENGA Bya"
+-
+-#, fuzzy
+-#~ msgid "Program is written in Fortran-90-ish free form"
+-#~ msgstr "ni in Kigenga Ifishi"
+-
+-#, fuzzy
+-#~ msgid "Warn about use of (only a few for now) Fortran extensions"
+-#~ msgstr "Ibyerekeye Gukoresha Bya a kugirango NONEAHA Umigereka"
+-
+-#, fuzzy
+-#~ msgid "Program is written in VXT (Digital-like) FORTRAN"
+-#~ msgstr "ni in nka"
+-
+-#, fuzzy
+-#~ msgid "Disallow all ugly features"
+-#~ msgstr "Byose Ibiranga"
+-
+-#, fuzzy
+-#~ msgid "Hollerith and typeless constants not passed as arguments"
+-#~ msgstr "Na OYA Nka ingingo"
+-
+-#, fuzzy
+-#~ msgid "Allow ordinary copying of ASSIGN'ed vars"
+-#~ msgstr "Bya"
+-
+-#, fuzzy
+-#~ msgid "Dummy array dimensioned to (1) is assumed-size"
+-#~ msgstr "Imbonerahamwe Kuri 1. ni Ingano"
+-
+-#, fuzzy
+-#~ msgid "Trailing comma in procedure call denotes null argument"
+-#~ msgstr "Akitso in NTAGIHARI"
+-
+-#, fuzzy
+-#~ msgid "Allow REAL(Z) and AIMAG(Z) given DOUBLE COMPLEX Z"
+-#~ msgstr "Na"
+-
+-#, fuzzy
+-#~ msgid "Initialization via DATA and PARAMETER is type-compatible"
+-#~ msgstr "Biturutse Na ni Ubwoko"
+-
+-#, fuzzy
+-#~ msgid "Allow INTEGER and LOGICAL interchangeability"
+-#~ msgstr "Na"
+-
+-#, fuzzy
+-#~ msgid "Print internal debugging-related info"
+-#~ msgstr "By'imbere Ibisobanuro"
+-
+-#, fuzzy
+-#~ msgid "Initialize local vars and arrays to zero"
+-#~ msgstr "Na Kuri Zeru"
+-
+-#, fuzzy
+-#~ msgid "Backslashes in character/hollerith constants not special (C-style)"
+-#~ msgstr "in Inyuguti OYA Bidasanzwe C IMISUSIRE"
+-
+-#, fuzzy
+-#~ msgid "Have front end emulate COMPLEX arithmetic to avoid bugs"
+-#~ msgstr "Imbere Impera Kuri"
+-
+-#, fuzzy
+-#~ msgid "Disable the appending of underscores to externals"
+-#~ msgstr "i Bya Kuri"
+-
+-#, fuzzy
+-#~ msgid "Intrinsics spelled as e.g. SqRt"
+-#~ msgstr "g."
+-
+-#, fuzzy
+-#~ msgid "Intrinsics in uppercase"
+-#~ msgstr "in Inyuguti nkuru"
+-
+-#, fuzzy
+-#~ msgid "Intrinsics letters in arbitrary cases"
+-#~ msgstr "in"
+-
+-#, fuzzy
+-#~ msgid "Language keywords spelled as e.g. IOStat"
+-#~ msgstr "g."
+-
+-#, fuzzy
+-#~ msgid "Language keywords in uppercase"
+-#~ msgstr "Amagambo fatizo in Inyuguti nkuru"
+-
+-#, fuzzy
+-#~ msgid "Language keyword letters in arbitrary cases"
+-#~ msgstr "Ijambo- banze in"
+-
+-#, fuzzy
+-#~ msgid "Internally convert most source to uppercase"
+-#~ msgstr "GUHINDURA Inkomoko Kuri Inyuguti nkuru"
+-
+-#, fuzzy
+-#~ msgid "Internally preserve source case"
+-#~ msgstr "Inkomoko"
+-
+-#, fuzzy
+-#~ msgid "Symbol names spelled in mixed case"
+-#~ msgstr "Amazina in Bivanze"
+-
+-#, fuzzy
+-#~ msgid "Symbol names in uppercase"
+-#~ msgstr "Amazina in Inyuguti nkuru"
+-
+-#, fuzzy
+-#~ msgid "Symbol names in lowercase"
+-#~ msgstr "Amazina in Inyuguti nto"
+-
+-#, fuzzy
+-#~ msgid "Program written in uppercase"
+-#~ msgstr "in Inyuguti nkuru"
+-
+-#, fuzzy
+-#~ msgid "Program written in lowercase"
+-#~ msgstr "in Inyuguti nto"
+-
+-#, fuzzy
+-#~ msgid "Program written in strict mixed-case"
+-#~ msgstr "in Bivanze"
+-
+-#, fuzzy
+-#~ msgid "Compile as if program written in uppercase"
+-#~ msgstr "Nka NIBA Porogaramu in Inyuguti nkuru"
+-
+-#, fuzzy
+-#~ msgid "Compile as if program written in lowercase"
+-#~ msgstr "Nka NIBA Porogaramu in Inyuguti nto"
+-
+-#, fuzzy
+-#~ msgid "Preserve all spelling (case) used in program"
+-#~ msgstr "Byose Ivuganyuguti in Porogaramu"
+-
+-#, fuzzy
+-#~ msgid "Delete libU77 intrinsics with bad interfaces"
+-#~ msgstr "Na:"
+-
+-#, fuzzy
+-#~ msgid "Disable libU77 intrinsics with bad interfaces"
+-#~ msgstr "Na:"
+-
+-#, fuzzy
+-#~ msgid "Hide libU77 intrinsics with bad interfaces"
+-#~ msgstr "Na:"
+-
+-#, fuzzy
+-#~ msgid "Treat initial values of 0 like non-zero values"
+-#~ msgstr "Uduciro Bya 0 nka Zeru Uduciro"
+-
+-#, fuzzy
+-#~ msgid "Emit special debugging information for COMMON and EQUIVALENCE (disabled)"
+-#~ msgstr "Bidasanzwe Ibisobanuro kugirango Na Yahagaritswe"
+-
+-#, fuzzy
+-#~ msgid "Take at least one trip through each iterative DO loop"
+-#~ msgstr "ku Gihinguranya"
+-
+-#, fuzzy
+-#~ msgid "Disable fatal diagnostics about inter-procedural problems"
+-#~ msgstr "Ibyerekeye"
+-
+-#, fuzzy
+-#~ msgid "Make prefix-radix non-decimal constants be typeless"
+-#~ msgstr "Imbanziriza radix NYACUMI"
+-
+-#, fuzzy
+-#~ msgid "Generate code to check subscript and substring bounds"
+-#~ msgstr "ITEGEKONGENGA Kuri Kugenzura... Inyandiko nyesi Na"
+-
+-#, fuzzy
+-#~ msgid "Fortran-specific form of -fbounds-check"
+-#~ msgstr "Ifishi Bya Kugenzura..."
+-
+-#, fuzzy
+-#~ msgid "Disable warnings about inter-procedural problems"
+-#~ msgstr "Iburira Ibyerekeye"
+-
+-#, fuzzy
+-#~ msgid "Warn about constructs with surprising meanings"
+-#~ msgstr "Ibyerekeye Na:"
+-
+-#, fuzzy
+-#~ msgid "Missing first operand for binary operator at %0"
+-#~ msgstr "Itangira kugirango Nyabibiri Mukoresha ku"
+-
+-#, fuzzy
+-#~ msgid "Invalid token at %0 in expression or subexpression at %1"
+-#~ msgstr "ku in imvugo Cyangwa ku"
+-
+-#, fuzzy
+-#~ msgid "Unrecognized character at %0 [info -f g77 M LEX]"
+-#~ msgstr "Inyuguti ku Ibisobanuro F"
+-
+-#, fuzzy
+-#~ msgid "Label definition %A at %0 on empty statement (as of %1)"
+-#~ msgstr "Insobanuro ku ku ubusa Inyandiko Nka Bya"
+-
+-#, fuzzy
+-#~ msgid "Invalid first character at %0 [info -f g77 M LEX]"
+-#~ msgstr "Itangira Inyuguti ku Ibisobanuro F"
+-
+-#, fuzzy
+-#~ msgid "Line too long as of %0 [info -f g77 M LEX]"
+-#~ msgstr "Nka Bya Ibisobanuro F"
+-
+-#, fuzzy
+-#~ msgid "Label number at %0 not in range 1-99999"
+-#~ msgstr "Umubare ku OYA in Urutonde 1."
+-
+-#, fuzzy
+-#~ msgid "At %0, '!' and '/*' are not valid comment delimiters"
+-#~ msgstr "Na OYA Byemewe Icyo wongeraho"
+-
+-#, fuzzy
+-#~ msgid "Continuation indicator at %0 must appear in column 6 [info -f g77 M LEX]"
+-#~ msgstr "ku Kugaragara in Inkingi 6 Ibisobanuro F"
+-
+-#, fuzzy
+-#~ msgid "Label at %0 invalid with continuation line indicator at %1 [info -f g77 M LEX]"
+-#~ msgstr "ku Sibyo Na: Umurongo ku Ibisobanuro F"
+-
+-#, fuzzy
+-#~ msgid "Hollerith constant at %0 specified %A more characters than are present as of %1"
+-#~ msgstr "ku Birenzeho Inyuguti Nka Bya"
+-
+-#, fuzzy
+-#~ msgid "Missing close parenthese at %0 needed to match open parenthese at %1"
+-#~ msgstr "Gufunga ku Kuri BIHUYE Gufungura ku"
+-
+-#, fuzzy
+-#~ msgid "Period at %0 not followed by digits for floating-point number or by `NOT.', `TRUE.', or `FALSE.'"
+-#~ msgstr "Igihe ku OYA ku kugirango Bihindagurika Akadomo Umubare Cyangwa ku Cyangwa"
+-
+-#, fuzzy
+-#~ msgid "Missing close-period between `.%A' at %0 and %1"
+-#~ msgstr "Gufunga Igihe hagati ku Na"
+-
+-#, fuzzy
+-#~ msgid "Invalid exponent at %0 for real constant at %1; nondigit `%A' in exponent field"
+-#~ msgstr "ku kugirango ku in Umwanya"
+-
+-#, fuzzy
+-#~ msgid "Semicolon at %0 is an invalid token"
+-#~ msgstr "ku ni Sibyo"
+-
+-#, fuzzy
+-#~ msgid "Unrecognized FORMAT specifier at %0"
+-#~ msgstr "ku"
+-
+-#, fuzzy
+-#~ msgid "Missing close-parenthese(s) in FORMAT statement at %0"
+-#~ msgstr "Gufunga S in Inyandiko ku"
+-
+-#, fuzzy
+-#~ msgid "Missing number following period in FORMAT statement at %0"
+-#~ msgstr "Umubare Igihe in Inyandiko ku"
+-
+-#, fuzzy
+-#~ msgid "Missing number following `E' in FORMAT statement at %0"
+-#~ msgstr "Umubare in Inyandiko ku"
+-
+-#, fuzzy
+-#~ msgid "Spurious trailing comma preceding terminator at %0"
+-#~ msgstr "Akitso ku"
+-
+-#, fuzzy
+-#~ msgid "At %0, specify OPERATOR instead of ASSIGNMENT for INTERFACE statement not specifying the assignment operator (=)"
+-#~ msgstr "Bya kugirango Inyandiko OYA i Igenera Mukoresha"
+-
+-#, fuzzy
+-#~ msgid "At %0, specify ASSIGNMENT instead of OPERATOR for INTERFACE statement specifying the assignment operator (=)"
+-#~ msgstr "Bya kugirango Inyandiko i Igenera Mukoresha"
+-
+-#, fuzzy
+-#~ msgid "Cannot specify =initialization-expr at %0 unless `::' appears before list of objects"
+-#~ msgstr "ku Mbere Urutonde Bya Ibintu"
+-
+-#, fuzzy
+-#~ msgid "Reference to label at %1 inconsistent with its definition at %0"
+-#~ msgstr "Kuri Akarango ku Na: Insobanuro ku"
+-
+-#, fuzzy
+-#~ msgid "Reference to label at %1 inconsistent with earlier reference at %0"
+-#~ msgstr "Kuri Akarango ku Na: Indango ku"
+-
+-#, fuzzy
+-#~ msgid "DO-statement reference to label at %1 follows its definition at %0"
+-#~ msgstr "Inyandiko Indango Kuri Akarango ku Insobanuro ku"
+-
+-#, fuzzy
+-#~ msgid "Reference to label at %1 is outside block containing definition at %0"
+-#~ msgstr "Kuri Akarango ku ni Hanze Funga Insobanuro ku"
+-
+-#, fuzzy
+-#~ msgid "DO-statement references to label at %0 and %2 separated by unterminated block starting at %1"
+-#~ msgstr "Inyandiko Indango Kuri Akarango ku Na ku Funga ku"
+-
+-#, fuzzy
+-#~ msgid "DO-statement reference to label at %0 and label definition at %2 separated by unterminated block starting at %1"
+-#~ msgstr "Inyandiko Indango Kuri Akarango ku Na Akarango Insobanuro ku ku Funga ku"
+-
+-#, fuzzy
+-#~ msgid "Label definition at %0 invalid on this kind of statement"
+-#~ msgstr "Insobanuro ku Sibyo ku iyi Bya Inyandiko"
+-
+-#, fuzzy
+-#~ msgid "Statement at %0 must specify construct name specified at %1"
+-#~ msgstr "ku Izina: ku"
+-
+-#, fuzzy
+-#~ msgid "Construct name at %0 superfluous, no construct name specified at %1"
+-#~ msgstr "Izina: ku Oya Izina: ku"
+-
+-#, fuzzy
+-#~ msgid "Construct name at %0 not the same as construct name at %1"
+-#~ msgstr "Izina: ku OYA i Nka Izina: ku"
+-
+-#, fuzzy
+-#~ msgid "Construct name at %0 does not match construct name for any containing DO constructs"
+-#~ msgstr "Izina: ku OYA BIHUYE Izina: kugirango"
+-
+-#, fuzzy
+-#~ msgid "Label definition missing at %0 for DO construct specifying label at %1"
+-#~ msgstr "Insobanuro Ibuze ku kugirango Akarango ku"
+-
+-#, fuzzy
+-#~ msgid "Statement at %0 follows ELSE block for IF construct at %1"
+-#~ msgstr "ku Funga kugirango ku"
+-
+-#, fuzzy
+-#~ msgid "Second occurrence of ELSE WHERE at %0 within WHERE at %1"
+-#~ msgstr "ukugaragara Bya ku muri ku"
+-
+-#, fuzzy
+-#~ msgid "END statement at %0 missing `%A' keyword required for internal or module procedure(s) bounded by %1"
+-#~ msgstr "Inyandiko ku Ibuze Ijambo- banze Bya ngombwa kugirango By'imbere Cyangwa Modire S ku"
+-
+-#, fuzzy
+-#~ msgid "MODULE PROCEDURE statement at %0 disallowed because INTERFACE at %1 specifies no generic name, operator, or assignment"
+-#~ msgstr "Inyandiko ku ku Oya Gifitanye isano Izina: Mukoresha Cyangwa Igenera"
+-
+-#, fuzzy
+-#~ msgid "BLOCK DATA name at %0 superfluous, no name specified at %1"
+-#~ msgstr "Izina: ku Oya Izina: ku"
+-
+-#, fuzzy
+-#~ msgid "Program name at %0 superfluous, no PROGRAM statement specified at %1"
+-#~ msgstr "Izina: ku Oya Inyandiko ku"
+-
+-#, fuzzy
+-#~ msgid "Program unit name at %0 not the same as name at %1"
+-#~ msgstr "Igice: Izina: ku OYA i Nka Izina: ku"
+-
+-#, fuzzy
+-#~ msgid "End of source file before end of block started at %0"
+-#~ msgstr "Impera Bya Inkomoko IDOSIYE Mbere Impera Bya Funga ku"
+-
+-#, fuzzy
+-#~ msgid "Undefined label, first referenced at %0"
+-#~ msgstr "Akarango Itangira ku"
+-
+-#, fuzzy
+-#~ msgid "SAVE statement or attribute at %1 cannot be specified along with SAVE statement or attribute at %0"
+-#~ msgstr "Inyandiko Cyangwa Ikiranga ku Na: Inyandiko Cyangwa Ikiranga ku"
+-
+-#, fuzzy
+-#~ msgid "Access specifier or PRIVATE statement at %0 invalid for derived-type definition within other than the specification part of a module"
+-#~ msgstr "Cyangwa Inyandiko ku Sibyo kugirango Ubwoko Insobanuro muri Ikindi i Bya a Modire"
+-
+-#, fuzzy
+-#~ msgid "Access specifier at %0 must immediately follow derived-type statement at %1 with no intervening statements"
+-#~ msgstr "ku Ako kanya Ubwoko Inyandiko ku Na: Oya"
+-
+-#, fuzzy
+-#~ msgid "No components specified as of %0 for derived-type definition beginning at %1"
+-#~ msgstr "Nka Bya kugirango Ubwoko Insobanuro Itangiriro ku"
+-
+-#, fuzzy
+-#~ msgid "No components specified as of %0 for structure definition beginning at %1"
+-#~ msgstr "Nka Bya kugirango Imiterere Insobanuro Itangiriro ku"
+-
+-#, fuzzy
+-#~ msgid "Missing structure name for outer structure definition at %0"
+-#~ msgstr "Imiterere Izina: kugirango hanze Imiterere Insobanuro ku"
+-
+-#, fuzzy
+-#~ msgid "Field names at %0 for outer structure definition -- specify them in a subsequent RECORD statement instead"
+-#~ msgstr "Amazina ku kugirango hanze Imiterere Insobanuro in a Inyandiko"
+-
+-#, fuzzy
+-#~ msgid "Missing field name(s) for structure definition at %0 within structure definition at %1"
+-#~ msgstr "Umwanya Izina: S kugirango Imiterere Insobanuro ku muri Imiterere Insobanuro ku"
+-
+-#, fuzzy
+-#~ msgid "No components specified as of %0 for map beginning at %1"
+-#~ msgstr "Nka Bya kugirango Itangiriro ku"
+-
+-#, fuzzy
+-#~ msgid "Zero or one maps specified as of %0 for union beginning at %1 -- at least two are required"
+-#~ msgstr "Cyangwa Amakarita Nka Bya kugirango Ihuza Itangiriro ku ku Bya ngombwa"
+-
+-#, fuzzy
+-#~ msgid "Items in I/O list starting at %0 invalid for namelist-directed I/O"
+-#~ msgstr "in Urutonde ku Sibyo kugirango"
+-
+-#, fuzzy
+-#~ msgid "Conflicting I/O control specifications at %0 and %1"
+-#~ msgstr "Igenzura ku Na"
+-
+-#, fuzzy
+-#~ msgid "No UNIT= specifier in I/O control list at %0"
+-#~ msgstr "URUGERO in Igenzura Urutonde ku"
+-
+-#, fuzzy
+-#~ msgid "Specification at %0 requires ADVANCE=`NO' specification in same I/O control list"
+-#~ msgstr "ku in Igenzura Urutonde"
+-
+-#, fuzzy
+-#~ msgid "Specification at %0 requires explicit FMT= specification in same I/O control list"
+-#~ msgstr "ku in Igenzura Urutonde"
+-
+-#, fuzzy
+-#~ msgid "Second occurrence of CASE DEFAULT at %0 within SELECT CASE at %1"
+-#~ msgstr "ukugaragara Bya ku muri ku"
+-
+-#, fuzzy
+-#~ msgid "Duplicate or overlapping case values/ranges at %0 and %1"
+-#~ msgstr "Cyangwa iyorosa Uduciro Ibice ku Na"
+-
+-#, fuzzy
+-#~ msgid "Type and/or kind-type parameter disagreement between CASE value or value within range at %0 and SELECT CASE at %1"
+-#~ msgstr "Na Cyangwa Ubwoko hagati Agaciro Cyangwa Agaciro muri Urutonde ku Na ku"
+-
+-#, fuzzy
+-#~ msgid "Range specification at %0 invalid for CASE statement within logical-type SELECT CASE statement"
+-#~ msgstr "ku Sibyo kugirango Inyandiko muri Bijyanye n'inyurabwenge Ubwoko Inyandiko"
+-
+-#, fuzzy
+-#~ msgid "Fortran 90 feature at %0 unsupported"
+-#~ msgstr "ku"
+-
+-#, fuzzy
+-#~ msgid "Invalid declaration of or reference to symbol `%A' at %0 [initially seen at %1]"
+-#~ msgstr "Bya Cyangwa Indango Kuri IKIMENYETSO ku ku"
+-
+-#, fuzzy
+-#~ msgid "Too few elements (%A missing) as of %0 for array reference at %1"
+-#~ msgstr "Ibintu Ibuze Nka Bya kugirango Imbonerahamwe Indango ku"
+-
+-#, fuzzy
+-#~ msgid "Too many elements as of %0 for array reference at %1"
+-#~ msgstr "Ibintu Nka Bya kugirango Imbonerahamwe Indango ku"
+-
+-#, fuzzy
+-#~ msgid "Missing colon as of %0 in substring reference for %1"
+-#~ msgstr "Nka Bya in Indango kugirango"
+-
+-#, fuzzy
+-#~ msgid "Invalid use at %0 of substring operator on %1"
+-#~ msgstr "Gukoresha %1 ku Bya Mukoresha ku"
+-
+-#, fuzzy
+-#~ msgid "Expression at %0 has incorrect data type or rank for its context"
+-#~ msgstr "ku Ibyatanzwe Ubwoko Cyangwa IGICE kugirango Imvugiro"
+-
+-#, fuzzy
+-#~ msgid "Division by 0 (zero) at %0 (IEEE not yet supported)"
+-#~ msgstr "ku 0 Zeru ku OYA"
+-
+-#, fuzzy
+-#~ msgid "%A step count known to be 0 (zero) at %0"
+-#~ msgstr "%AIntera IBARA Kuri 0 Zeru ku"
+-
+-#, fuzzy
+-#~ msgid "%A end value plus step count known to overflow at %0"
+-#~ msgstr "%AImpera Agaciro Guteranya Intera IBARA Kuri Byarenze urugero ku"
+-
+-#, fuzzy
+-#~ msgid "%A begin, end, and step-count values known to result in implementation-dependent behavior due to overflow(s) in intermediate calculations at %0"
+-#~ msgstr "%AImpera Na Intera IBARA Uduciro Kuri Igisubizo in imyitwarire Kuri Byarenze urugero S in ku"
+-
+-#, fuzzy
+-#~ msgid "%A begin, end, and step-count values known to result in no iterations at %0"
+-#~ msgstr "%AImpera Na Intera IBARA Uduciro Kuri Igisubizo in Oya Amasubiramo ku"
+-
+-#, fuzzy
+-#~ msgid "Type disagreement between expressions at %0 and %1"
+-#~ msgstr "hagati ku Na"
+-
+-#, fuzzy
+-#~ msgid "Gratuitous parentheses surround implied-DO construct at %0"
+-#~ msgstr "ku"
+-
+-#, fuzzy
+-#~ msgid "Zero-size specification invalid at %0"
+-#~ msgstr "Ingano Sibyo ku"
+-
+-#, fuzzy
+-#~ msgid "Zero-size array at %0"
+-#~ msgstr "Ingano Imbonerahamwe ku"
+-
+-#, fuzzy
+-#~ msgid "Target machine does not support complex entity of kind specified at %0"
+-#~ msgstr "OYA Gushigikira ITSINDA RY'IMIBARE C Bya ku"
+-
+-#, fuzzy
+-#~ msgid "Target machine does not support DOUBLE COMPLEX, specified at %0"
+-#~ msgstr "OYA Gushigikira ku"
+-
+-#, fuzzy
+-#~ msgid "Attempt to raise constant zero to a power at %0"
+-#~ msgstr "Kuri Zeru Kuri a UMWIKUBE ku"
+-
+-#, fuzzy
+-#~ msgid "Reference to generic intrinsic `%A' at %0 could be to form %B or %C"
+-#~ msgstr "Kuri Gifitanye isano ku Kuri Ifishi Cyangwa"
+-
+-#, fuzzy
+-#~ msgid "Ambiguous use of intrinsic `%A' at %0 [info -f g77 M CMPAMBIG]"
+-#~ msgstr "Gukoresha Bya ku Ibisobanuro F"
+-
+-#, fuzzy
+-#~ msgid "Intrinsic `%A' referenced %Bly at %0, %Cly at %1 [info -f g77 M EXPIMP]"
+-#~ msgstr "ku ku Ibisobanuro F"
+-
+-#, fuzzy
+-#~ msgid "Same name `%A' used for %B at %0 and %C at %1 [info -f g77 M INTGLOB]"
+-#~ msgstr "Izina: kugirango ku Na ku Ibisobanuro F"
+-
+-#, fuzzy
+-#~ msgid "Explicit type declaration for intrinsic `%A' disagrees with invocation at %0"
+-#~ msgstr "Ubwoko kugirango Na: ku"
+-
+-#, fuzzy
+-#~ msgid "Unable to open INCLUDE file `%A' at %0"
+-#~ msgstr "Kuri Gufungura IDOSIYE ku"
+-
+-#, fuzzy
+-#~ msgid "Null argument at %0 for procedure invocation at %1"
+-#~ msgstr "ku kugirango ku"
+-
+-#, fuzzy
+-#~ msgid "%A too few arguments (starting with dummy argument `%B') as of %0 for statement function reference at %1"
+-#~ msgstr "%Aingingo Na: Ishusho Nka Bya kugirango Inyandiko Umumaro Indango ku"
+-
+-#, fuzzy
+-#~ msgid "%A too many arguments as of %0 for statement function reference at %1"
+-#~ msgstr "%Aingingo Nka Bya kugirango Inyandiko Umumaro Indango ku"
+-
+-#, fuzzy
+-#~ msgid "Array supplied at %1 for dummy argument `%A' in statement function reference at %0"
+-#~ msgstr "ku kugirango Ishusho in Inyandiko Umumaro Indango ku"
+-
+-#, fuzzy
+-#~ msgid "Unsupported FORMAT specifier at %0"
+-#~ msgstr "ku"
+-
+-#, fuzzy
+-#~ msgid "Variable-expression FORMAT specifier at %0 -- unsupported"
+-#~ msgstr "imvugo ku"
+-
+-#, fuzzy
+-#~ msgid "Attempt to specify second initial value for `%A' at %0"
+-#~ msgstr "Kuri ISEGONDA Agaciro kugirango ku"
+-
+-#, fuzzy
+-#~ msgid "Too few initial values in list of initializers for `%A' at %0"
+-#~ msgstr "Uduciro in Urutonde Bya kugirango ku"
+-
+-#, fuzzy
+-#~ msgid "Too many initial values in list of initializers starting at %0"
+-#~ msgstr "Uduciro in Urutonde Bya ku"
+-
+-#, fuzzy
+-#~ msgid "Array subscript #%B out of range for initialization of `%A' in statement at %0"
+-#~ msgstr "Inyandiko nyesi Inyuma Bya Urutonde kugirango Bya in Inyandiko ku"
+-
+-#, fuzzy
+-#~ msgid "Implied do-loop step count of 0 (zero) for iteration variable `%A' in statement at %0"
+-#~ msgstr "Intera IBARA Bya 0 Zeru kugirango IMPINDURAGACIRO in Inyandiko ku"
+-
+-#, fuzzy
+-#~ msgid "Implied do-loop iteration count of 0 (zero) for iteration variable `%A' in statement at %0"
+-#~ msgstr "IBARA Bya 0 Zeru kugirango IMPINDURAGACIRO in Inyandiko ku"
+-
+-#, fuzzy
+-#~ msgid "Not an integer constant expression in implied do-loop in statement at %0"
+-#~ msgstr "Umubare wuzuye imvugo in in Inyandiko ku"
+-
+-#, fuzzy
+-#~ msgid "Attempt to specify second initial value for element of `%A' at %0"
+-#~ msgstr "Kuri ISEGONDA Agaciro kugirango Ikigize: Bya ku"
+-
+-#, fuzzy
+-#~ msgid "Attempt to EQUIVALENCE common areas `%A' and `%B' at %0"
+-#~ msgstr "Kuri Ubuso Na ku"
+-
+-#, fuzzy
+-#~ msgid "Can't place `%A' as directed by EQUIVALENCE due to alignment restrictions"
+-#~ msgstr "Nka ku Kuri Itunganya Amabwiriza"
+-
+-#, fuzzy
+-#~ msgid "Mismatched EQUIVALENCE requirements for placement of `%A' at both %C and %D bytes offset from `%B'"
+-#~ msgstr "kugirango Ishyira mu mwanya Bya ku Byombi Na Bayite Nta- boneza Bivuye"
+-
+-#, fuzzy
+-#~ msgid "Array or substring specification for `%A' out of range in EQUIVALENCE statement"
+-#~ msgstr "Cyangwa kugirango Inyuma Bya Urutonde in Inyandiko"
+-
+-#, fuzzy
+-#~ msgid "Substring of non-CHARACTER entity `%A' in EQUIVALENCE statement"
+-#~ msgstr "Bya in Inyandiko"
+-
+-#, fuzzy
+-#~ msgid "Array reference to scalar variable `%A' in EQUIVALENCE statement"
+-#~ msgstr "Indango Kuri IMPINDURAGACIRO in Inyandiko"
+-
+-#, fuzzy
+-#~ msgid "Array subscript #%B out of range for EQUIVALENCE of `%A'"
+-#~ msgstr "Inyandiko nyesi Inyuma Bya Urutonde kugirango Bya"
+-
+-#, fuzzy
+-#~ msgid "Too few elements in reference to array `%A' in EQUIVALENCE statement"
+-#~ msgstr "Ibintu in Indango Kuri Imbonerahamwe in Inyandiko"
+-
+-#, fuzzy
+-#~ msgid "Too many elements in reference to array `%A' in EQUIVALENCE statement"
+-#~ msgstr "Ibintu in Indango Kuri Imbonerahamwe in Inyandiko"
+-
+-#, fuzzy
+-#~ msgid "Mixed CHARACTER and non-CHARACTER types via COMMON/EQUIVALENCE -- for example, `%A' and `%B'"
+-#~ msgstr "Na Biturutse kugirango Urugero Na"
+-
+-#, fuzzy
+-#~ msgid "Return value `%A' for FUNCTION at %0 not referenced in subprogram"
+-#~ msgstr "Agaciro kugirango ku OYA in"
+-
+-#, fuzzy
+-#~ msgid "Common block `%A' is SAVEd, explicitly or implicitly, at %0 but not SAVEd at %1"
+-#~ msgstr "Funga ni Cyangwa ku OYA ku"
+-
+-#, fuzzy
+-#~ msgid "Common block `%A' is %B %D in length at %0 but %C %E at %1"
+-#~ msgstr "Funga ni in Uburebure ku ku"
+-
+-#, fuzzy
+-#~ msgid "Intrinsic `%A' is passed as actual argument at %0 but not explicitly declared INTRINSIC"
+-#~ msgstr "ni Nka ku OYA"
+-
+-#, fuzzy
+-#~ msgid "Character `%A' (for example) is upper-case in symbol name at %0"
+-#~ msgstr "kugirango Urugero ni Nkuru in IKIMENYETSO Izina: ku"
+-
+-#, fuzzy
+-#~ msgid "Character `%A' (for example) is lower-case in symbol name at %0"
+-#~ msgstr "kugirango Urugero ni Ntoya in IKIMENYETSO Izina: ku"
+-
+-#, fuzzy
+-#~ msgid "Character `%A' not followed at some point by lower-case character in symbol name at %0"
+-#~ msgstr "OYA ku Akadomo ku Ntoya Inyuguti in IKIMENYETSO Izina: ku"
+-
+-#, fuzzy
+-#~ msgid "Initial character `%A' is lower-case in symbol name at %0"
+-#~ msgstr "Inyuguti ni Ntoya in IKIMENYETSO Izina: ku"
+-
+-#, fuzzy
+-#~ msgid "NAMELIST not adequately supported by run-time library for source files with case preserved"
+-#~ msgstr "OYA ku Gukoresha Igihe Isomero kugirango Inkomoko Idosiye Na:"
+-
+-#, fuzzy
+-#~ msgid "Nested %% construct (%%VAL, %%REF, or %%DESCR) at %0"
+-#~ msgstr "Cyangwa ku"
+-
+-#, fuzzy
+-#~ msgid "Truncating characters on right side of character constant at %0"
+-#~ msgstr "Inyuguti ku Iburyo: Bya Inyuguti ku"
+-
+-#, fuzzy
+-#~ msgid "Truncating characters on right side of hollerith constant at %0"
+-#~ msgstr "Inyuguti ku Iburyo: Bya ku"
+-
+-#, fuzzy
+-#~ msgid "Truncating non-zero data on left side of numeric constant at %0"
+-#~ msgstr "Zeru Ibyatanzwe ku Ibumoso: Bya Bikurikije umubare ku"
+-
+-#, fuzzy
+-#~ msgid "Truncating non-zero data on left side of typeless constant at %0"
+-#~ msgstr "Zeru Ibyatanzwe ku Ibumoso: Bya ku"
+-
+-#, fuzzy
+-#~ msgid "Typeless constant at %0 too large"
+-#~ msgstr "ku Binini"
+-
+-#, fuzzy
+-#~ msgid "First-column ampersand continuation at %0"
+-#~ msgstr "Inkingi ku"
+-
+-#, fuzzy
+-#~ msgid "Global name `%A' defined at %0 already defined at %1 [info -f g77 M GLOBALS]"
+-#~ msgstr "Izina: ku ku Ibisobanuro F"
+-
+-#, fuzzy
+-#~ msgid "Global name `%A' is %B at %0 but is %C at %1 [info -f g77 M GLOBALS]"
+-#~ msgstr "Izina: ni ku ni ku Ibisobanuro F"
+-
+-#, fuzzy
+-#~ msgid "Global name `%A' at %0 has different type at %1 [info -f g77 M GLOBALS]"
+-#~ msgstr "Izina: ku Ubwoko ku Ibisobanuro F"
+-
+-#, fuzzy
+-#~ msgid "Too %B arguments passed to `%A' at %0 versus definition at %1 [info -f g77 M GLOBALS]"
+-#~ msgstr "ingingo Kuri ku Insobanuro ku Ibisobanuro F"
+-
+-#, fuzzy
+-#~ msgid "Too %B arguments for `%A' at %0 versus invocation at %1 [info -f g77 M GLOBALS]"
+-#~ msgstr "ingingo kugirango ku ku Ibisobanuro F"
+-
+-#, fuzzy
+-#~ msgid "Argument #%B of `%A' is %C at %0 but is %D at %1 [info -f g77 M GLOBALS]"
+-#~ msgstr "Bya ni ku ni ku Ibisobanuro F"
+-
+-#, fuzzy
+-#~ msgid "Intrinsic `%A', invoked at %0, known to be non-Y2K-compliant [info -f g77 M Y2KBAD]"
+-#~ msgstr "ku Kuri Ibisobanuro F"
+-
+-#, fuzzy
+-#~ msgid "Internal compiler error -- cannot perform operation"
+-#~ msgstr "Ikosa"
+-
+-#, fuzzy
+-#~ msgid "In unknown kind"
+-#~ msgstr "Kitazwi"
+-
+-#, fuzzy
+-#~ msgid "In function"
+-#~ msgstr "Umumaro"
+-
+-#, fuzzy
+-#~ msgid "In program"
+-#~ msgstr "Porogaramu"
+-
+-#, fuzzy
+-#~ msgid "In block-data unit"
+-#~ msgstr "Funga Ibyatanzwe Igice:"
+-
+-#, fuzzy
+-#~ msgid "In common block"
+-#~ msgstr "Funga"
+-
+-#, fuzzy
+-#~ msgid "internal error - too many interface type"
+-#~ msgstr "By'imbere Ikosa Ubwoko"
+-
+-#, fuzzy
+-#~ msgid "assignment to final static field `%s' not in class initializer"
+-#~ msgstr "Igenera Kuri Umwanya OYA in ishuri"
+-
+-#, fuzzy
+-#~ msgid "assignment to final field `%s' not in constructor"
+-#~ msgstr "Igenera Kuri Umwanya OYA in"
+-
+-#, fuzzy
+-#~ msgid "source file seen twice on command line and will be compiled only once"
+-#~ msgstr "Inkomoko IDOSIYE ku Komandi: Umurongo Na Rimwe"
+-
+-#, fuzzy
+-#~ msgid "exception handler inside code that is being protected"
+-#~ msgstr "Irengayobora(-) Mo Imbere ITEGEKONGENGA ni Birinzwe"
+-
+-#, fuzzy
+-#~ msgid "unknown opcode %d@pc=%d during verification"
+-#~ msgstr "Kitazwi"
+-
+-#, fuzzy
+-#~ msgid "Disable automatic array bounds checking"
+-#~ msgstr "Byikoresha Imbonerahamwe"
+-
+-#, fuzzy
+-#~ msgid "Choose class whose main method should be used"
+-#~ msgstr "ishuri bya Uburyo"
+-
+-#, fuzzy
+-#~ msgid "Add directory to class path"
+-#~ msgstr "bushyinguro Kuri ishuri Inzira"
+-
+-#, fuzzy
+-#~ msgid "Directory where class files should be written"
+-#~ msgstr "ishuri Idosiye"
+-
+-#, fuzzy
+-#~ msgid "object does not conform to the `%s' protocol"
+-#~ msgstr "Igikoresho OYA Kuri i Porotokole"
+-
+-#, fuzzy
+-#~ msgid "class `%s' does not implement the `%s' protocol"
+-#~ msgstr "ishuri OYA i Porotokole"
+-
+-#, fuzzy
+-#~ msgid "unexpected type for `id' (%s)"
+-#~ msgstr "Ubwoko kugirango"
+-
+-#, fuzzy
+-#~ msgid "undefined type `id', please import <objc/objc.h>"
+-#~ msgstr "kidasobanuye Ubwoko Kuzana h"
+-
+-#, fuzzy
+-#~ msgid "circular inheritance in interface declaration for `%s'"
+-#~ msgstr "Cy'uruziga in kugirango"
+-
+-#, fuzzy
+-#~ msgid "cannot find class (factory) method"
+-#~ msgstr "Gushaka ishuri Uburyo"
+-
+-#, fuzzy
+-#~ msgid "return type for `%s' defaults to id"
+-#~ msgstr "Garuka Ubwoko kugirango Kuri ID"
+-
+-#, fuzzy
+-#~ msgid "method `%s' not implemented by protocol"
+-#~ msgstr "Uburyo OYA ku Porotokole"
+-
+-#, fuzzy
+-#~ msgid "return type defaults to id"
+-#~ msgstr "Garuka Ubwoko Kuri ID"
+-
+-#, fuzzy
+-#~ msgid "cannot find method"
+-#~ msgstr "Gushaka Uburyo"
+-
+-#, fuzzy
+-#~ msgid "duplicate definition of class method `%s'"
+-#~ msgstr "Gusubiramo Insobanuro Bya ishuri Uburyo"
+-
+-#, fuzzy
+-#~ msgid "duplicate definition of instance method `%s'"
+-#~ msgstr "Gusubiramo Insobanuro Bya Urugero Uburyo"
+-
+-#, fuzzy
+-#~ msgid "duplicate declaration of instance method `%s'"
+-#~ msgstr "Gusubiramo Bya Urugero Uburyo"
+-
+-#, fuzzy
+-#~ msgid "static access to object of type `id'"
+-#~ msgstr "Kuri Igikoresho Bya Ubwoko"
+-
+-#, fuzzy
+-#~ msgid "potential selector conflict for method `%s'"
+-#~ msgstr "kugirango Uburyo"
+-
+-#, fuzzy
+-#~ msgid "-force_cpusubtype_ALL not allowed with -dynamiclib"
+-#~ msgstr "-OYA Na:"
+-
+-#, fuzzy
+-#~ msgid "GNU C does not support -C without using -E"
+-#~ msgstr "C OYA Gushigikira C ikoresha E"
+-
+-#, fuzzy
+-#~ msgid "`-p' not supported; use `-pg' and gprof(1)"
+-#~ msgstr "`-OYA Gukoresha Na 1."
+-
+-#, fuzzy
+-#~ msgid "compilation of header file requested"
+-#~ msgstr "Bya Umutwempangano IDOSIYE"
+-
+-#, fuzzy
+-#~ msgid "-pg or -p and -fomit-frame-pointer are incompatible"
+-#~ msgstr "-Cyangwa P Na Ikadiri Mweretsi"
+-
+-#, fuzzy
+-#~ msgid "choose either big or little endian, not both"
+-#~ msgstr "Guhitamo Cyangwa OYA Byombi"
+-
+-#, fuzzy
+-#~ msgid "choose either m340 or m210 not both"
+-#~ msgstr "Guhitamo Cyangwa OYA Byombi"
+-
+-#, fuzzy
+-#~ msgid "-static not valid with -mcoff"
+-#~ msgstr "-OYA Byemewe Na:"
+-
+-#, fuzzy
+-#~ msgid "-shared not valid with -mcoff"
+-#~ msgstr "-OYA Byemewe Na:"
+-
+-#, fuzzy
+-#~ msgid "-symbolic not valid with -mcoff"
+-#~ msgstr "-OYA Byemewe Na:"
+-
+-#, fuzzy
+-#~ msgid "-fpic is not valid with -mcoff"
+-#~ msgstr "-ni OYA Byemewe Na:"
+-
+-#, fuzzy
+-#~ msgid "-fPIC is not valid with -mcoff"
+-#~ msgstr "-ni OYA Byemewe Na:"
+-
+-#, fuzzy
+-#~ msgid "-fpic not valid with -mcoff"
+-#~ msgstr "-OYA Byemewe Na:"
+-
+-#, fuzzy
+-#~ msgid "-fPIC not valid with -mcoff"
+-#~ msgstr "-OYA Byemewe Na:"
+Index: gcc/po/fr.po
+===================================================================
+--- gcc/po/fr.po (.../tags/gcc_4_3_0_release) (revision 133808)
++++ gcc/po/fr.po (.../branches/gcc-4_3-branch) (revision 133808)
+@@ -119,7 +119,7 @@
+ msgstr ""
+ "Project-Id-Version: GNU gcc 3.4.3\n"
+ "Report-Msgid-Bugs-To: http://gcc.gnu.org/bugs.html\n"
+-"POT-Creation-Date: 2007-11-08 21:09+0000\n"
++"POT-Creation-Date: 2008-03-05 17:23+0100\n"
+ "PO-Revision-Date: 2004-11-05 08:00-0500\n"
+ "Last-Translator: Michel Robitaille <robitail@IRO.UMontreal.CA>\n"
+ "Language-Team: French <traduc@traduc.org>\n"
+@@ -128,7 +128,7 @@
+ "Content-Transfer-Encoding: 8-bit\n"
+ "Plural-Forms: nplurals=2; plural=(n > 1);\n"
+
+-#: c-decl.c:3814
++#: c-decl.c:3813
+ msgid "<anonymous>"
+ msgstr "<anonymous>"
+
+@@ -450,57 +450,57 @@
+ msgid "End of search list.\n"
+ msgstr "Fin de la liste de recherche.\n"
+
+-#: c-opts.c:1484
++#: c-opts.c:1505
+ msgid "<built-in>"
+ msgstr "<interne>"
+
+-#: c-opts.c:1502
++#: c-opts.c:1523
+ #, fuzzy
+ msgid "<command-line>"
+ msgstr "<ligne de commande>"
+
+-#: c-typeck.c:2448 c-typeck.c:4851 c-typeck.c:4853 c-typeck.c:4861
+-#: c-typeck.c:4891 c-typeck.c:6267
++#: c-typeck.c:2459 c-typeck.c:4862 c-typeck.c:4864 c-typeck.c:4872
++#: c-typeck.c:4902 c-typeck.c:6278
+ msgid "initializer element is not constant"
+ msgstr "un élément de l'initialisation n'est pas une constante"
+
+-#: c-typeck.c:4654
++#: c-typeck.c:4665
+ #, fuzzy
+ msgid "array initialized from parenthesized string constant"
+ msgstr "tableau de caractères initialisé à l'aide d'une chaîne large de caractères"
+
+-#: c-typeck.c:4715 cp/typeck2.c:677
++#: c-typeck.c:4726 cp/typeck2.c:677
+ #, gcc-internal-format
+ msgid "char-array initialized from wide string"
+ msgstr "tableau de caractères initialisé à l'aide d'une chaîne large de caractères"
+
+-#: c-typeck.c:4720
++#: c-typeck.c:4731
+ #, fuzzy
+ msgid "wchar_t-array initialized from non-wide string"
+ msgstr "tableau de caractères initialisé à l'aide d'une chaîne large de caractères"
+
+-#: c-typeck.c:4738 cp/typeck2.c:697
++#: c-typeck.c:4749 cp/typeck2.c:697
+ #, gcc-internal-format
+ msgid "initializer-string for array of chars is too long"
+ msgstr "la chaîne d'initialisation est trop longue pour le tableau de caractères"
+
+-#: c-typeck.c:4744
++#: c-typeck.c:4755
+ #, fuzzy
+ msgid "array of inappropriate type initialized from string constant"
+ msgstr "tableau de caractères initialisé à l'aide d'une chaîne large de caractères"
+
+ #. ??? This should not be an error when inlining calls to
+ #. unprototyped functions.
+-#: c-typeck.c:4808 c-typeck.c:4333 cp/typeck.c:1528
++#: c-typeck.c:4819 c-typeck.c:4344 cp/typeck.c:1574
+ #, gcc-internal-format
+ msgid "invalid use of non-lvalue array"
+ msgstr "utilisation invalide d'un tableau n'étant pas membre gauche"
+
+-#: c-typeck.c:4834
++#: c-typeck.c:4845
+ msgid "array initialized from non-constant array expression"
+ msgstr "tableau initialisé à l'aide de l'expression de tableau non constante"
+
+-#: c-typeck.c:4898 c-typeck.c:6271
++#: c-typeck.c:4909 c-typeck.c:6282
+ #, gcc-internal-format
+ msgid "initializer element is not computable at load time"
+ msgstr "un élément de l'initialisation n'est pas évaluable lors du chargement"
+@@ -509,142 +509,142 @@
+ #. of VLAs themselves count as VLAs, it does not make
+ #. sense to permit them to be initialized given that
+ #. ordinary VLAs may not be initialized.
+-#: c-typeck.c:4909 c-decl.c:3222 c-decl.c:3237
++#: c-typeck.c:4920 c-decl.c:3220 c-decl.c:3235
+ #, gcc-internal-format
+ msgid "variable-sized object may not be initialized"
+ msgstr "un objet de taille variable peut ne pas être initialisé"
+
+-#: c-typeck.c:4913
++#: c-typeck.c:4924
+ msgid "invalid initializer"
+ msgstr "initialisation invalide"
+
+-#: c-typeck.c:5387
++#: c-typeck.c:5398
+ msgid "extra brace group at end of initializer"
+ msgstr "groupe d'accolades superflu à la fin de l'initialisation"
+
+-#: c-typeck.c:5407
++#: c-typeck.c:5418
+ msgid "missing braces around initializer"
+ msgstr "accolades manquantes autour de l'initialisation"
+
+-#: c-typeck.c:5468
++#: c-typeck.c:5479
+ msgid "braces around scalar initializer"
+ msgstr "accolades autour d'une initialisation de scalaire"
+
+-#: c-typeck.c:5525
++#: c-typeck.c:5536
+ msgid "initialization of flexible array member in a nested context"
+ msgstr "initialisation d'un membre de tableau flexible dans un contexte imbriqué"
+
+-#: c-typeck.c:5527
++#: c-typeck.c:5538
+ msgid "initialization of a flexible array member"
+ msgstr "initialisation d'un membre de tableau flexible"
+
+-#: c-typeck.c:5554
++#: c-typeck.c:5565
+ msgid "missing initializer"
+ msgstr "initialisation manquante"
+
+-#: c-typeck.c:5576
++#: c-typeck.c:5587
+ msgid "empty scalar initializer"
+ msgstr "initialisation vide de scalaire"
+
+-#: c-typeck.c:5581
++#: c-typeck.c:5592
+ msgid "extra elements in scalar initializer"
+ msgstr "éléments superflus dans l'initialisation de scalaire"
+
+-#: c-typeck.c:5678 c-typeck.c:5738
++#: c-typeck.c:5689 c-typeck.c:5749
+ msgid "array index in non-array initializer"
+ msgstr "index de tableau dans l'initialisation de quelque chose n'étant pas un tableau"
+
+-#: c-typeck.c:5683 c-typeck.c:5791
++#: c-typeck.c:5694 c-typeck.c:5802
+ msgid "field name not in record or union initializer"
+ msgstr "nom de champ dans l'initialisation de quelque chose n'étant ni un enregistrement ni une union"
+
+-#: c-typeck.c:5729
++#: c-typeck.c:5740
+ #, fuzzy
+ msgid "array index in initializer not of integer type"
+ msgstr "index de tableau hors limites lors de l'initialisation"
+
+-#: c-typeck.c:5734 c-typeck.c:5736
++#: c-typeck.c:5745 c-typeck.c:5747
+ msgid "nonconstant array index in initializer"
+ msgstr "index de tableau non constant dans l'initialisation"
+
+-#: c-typeck.c:5740 c-typeck.c:5743
++#: c-typeck.c:5751 c-typeck.c:5754
+ msgid "array index in initializer exceeds array bounds"
+ msgstr "index de tableau hors limites lors de l'initialisation"
+
+-#: c-typeck.c:5754
++#: c-typeck.c:5765
+ msgid "empty index range in initializer"
+ msgstr "borne d'index vide lors de l'initialisation"
+
+-#: c-typeck.c:5763
++#: c-typeck.c:5774
+ msgid "array index range in initializer exceeds array bounds"
+ msgstr "plage d'index du tableau excédant les bornes lors de l'initialisation"
+
+-#: c-typeck.c:5838 c-typeck.c:5861 c-typeck.c:6335
++#: c-typeck.c:5849 c-typeck.c:5872 c-typeck.c:6346
+ msgid "initialized field with side-effects overwritten"
+ msgstr "le champ initialisé par effet de bord a été écrasé"
+
+-#: c-typeck.c:5840 c-typeck.c:5863 c-typeck.c:6337
++#: c-typeck.c:5851 c-typeck.c:5874 c-typeck.c:6348
+ #, fuzzy
+ msgid "initialized field overwritten"
+ msgstr "le champ initialisé par effet de bord a été écrasé"
+
+-#: c-typeck.c:6545
++#: c-typeck.c:6556
+ msgid "excess elements in char array initializer"
+ msgstr "éléments en excès dans l'initialisation de tableau de caractères"
+
+-#: c-typeck.c:6552 c-typeck.c:6598
++#: c-typeck.c:6563 c-typeck.c:6609
+ msgid "excess elements in struct initializer"
+ msgstr "éléments en excès dans l'initialisation de la structure"
+
+-#: c-typeck.c:6613
++#: c-typeck.c:6624
+ msgid "non-static initialization of a flexible array member"
+ msgstr "initialisation non statique d'un membre de tableau flexible"
+
+-#: c-typeck.c:6681
++#: c-typeck.c:6692
+ msgid "excess elements in union initializer"
+ msgstr "éléments en excès dans l'initialisation d'union"
+
+-#: c-typeck.c:6768
++#: c-typeck.c:6779
+ msgid "excess elements in array initializer"
+ msgstr "éléments en excès dans l'initialisation de tableau"
+
+-#: c-typeck.c:6798
++#: c-typeck.c:6809
+ msgid "excess elements in vector initializer"
+ msgstr "éléments en excès dans l'initialisation du vecteur"
+
+-#: c-typeck.c:6822
++#: c-typeck.c:6833
+ msgid "excess elements in scalar initializer"
+ msgstr "éléments en excès dans l'initialisation d'un scalaire"
+
+-#: cfgrtl.c:1925
++#: cfgrtl.c:1923
+ msgid "flow control insn inside a basic block"
+ msgstr "insn de contrôle de flot à l'intérieur d'un bloc de base"
+
+-#: cfgrtl.c:2054
++#: cfgrtl.c:2052
+ msgid "wrong insn in the fallthru edge"
+ msgstr "insn erronée dans l'arrête fallthru"
+
+-#: cfgrtl.c:2110
++#: cfgrtl.c:2108
+ msgid "insn outside basic block"
+ msgstr "insn à l'extérieur de tout bloc de base"
+
+-#: cfgrtl.c:2117
++#: cfgrtl.c:2115
+ msgid "return not followed by barrier"
+ msgstr "return n'est pas suivi d'une barrière"
+
+-#: cgraph.c:339 ipa-inline.c:417
++#: cgraph.c:340 ipa-inline.c:417
+ msgid "function body not available"
+ msgstr "corps de la fonction n'est pas disponible"
+
+-#: cgraph.c:341 cgraphbuild.c:96
++#: cgraph.c:342 cgraphbuild.c:96
+ msgid "redefined extern inline functions are not considered for inlining"
+ msgstr "fonctions externes enlignes redéfinies n'ont pas été retenues pour l'enlignage"
+
+-#: cgraph.c:344 cgraphbuild.c:103
++#: cgraph.c:345 cgraphbuild.c:103
+ msgid "function not considered for inlining"
+ msgstr "fonction n'a pas été retenue pour l'enlignage"
+
+-#: cgraph.c:346 cgraphbuild.c:99
++#: cgraph.c:347 cgraphbuild.c:99
+ msgid "function not inlinable"
+ msgstr "fonction ne peut être enligne"
+
+@@ -653,90 +653,90 @@
+ msgid "mismatched arguments"
+ msgstr "accolades non concordantes dans les specs"
+
+-#: collect2.c:378 gcc.c:6897
++#: collect2.c:382 gcc.c:6896
+ #, fuzzy, c-format
+ msgid "internal gcc abort in %s, at %s:%d"
+ msgstr "abandon dans %s, à %s:%d"
+
+-#: collect2.c:889
++#: collect2.c:903
+ #, c-format
+ msgid "no arguments"
+ msgstr "pas d'argument"
+
+ # I18N
+-#: collect2.c:1263 collect2.c:1411 collect2.c:1446
++#: collect2.c:1277 collect2.c:1425 collect2.c:1460
+ #, c-format
+ msgid "fopen %s"
+ msgstr "fopen() %s"
+
+ # I18N
+-#: collect2.c:1266 collect2.c:1416 collect2.c:1449
++#: collect2.c:1280 collect2.c:1430 collect2.c:1463
+ #, c-format
+ msgid "fclose %s"
+ msgstr "fclose() %s"
+
+-#: collect2.c:1275
++#: collect2.c:1289
+ #, c-format
+ msgid "collect2 version %s"
+ msgstr "collect2 version %s"
+
+-#: collect2.c:1365
++#: collect2.c:1379
+ #, c-format
+ msgid "%d constructor(s) found\n"
+ msgstr "%d constructeur(s) trouvé(s)\n"
+
+-#: collect2.c:1366
++#: collect2.c:1380
+ #, c-format
+ msgid "%d destructor(s) found\n"
+ msgstr "%d destructeur(s) trouvé(s)\n"
+
+-#: collect2.c:1367
++#: collect2.c:1381
+ #, c-format
+ msgid "%d frame table(s) found\n"
+ msgstr "%d table(s) de trame trouvée(s)\n"
+
+-#: collect2.c:1504
++#: collect2.c:1518
+ #, fuzzy, c-format
+ msgid "can't get program status"
+ msgstr "%s: %s: ne peut obtenir l'état: %s\n"
+
+-#: collect2.c:1573
++#: collect2.c:1587
+ #, fuzzy, c-format
+ msgid "could not open response file %s"
+ msgstr "N'a pu ouvrir le fichier source %s.\n"
+
+-#: collect2.c:1578
++#: collect2.c:1592
+ #, fuzzy, c-format
+ msgid "could not write to response file %s"
+ msgstr "ne peut repérer le fichiers des specs %s\n"
+
+-#: collect2.c:1583
++#: collect2.c:1597
+ #, fuzzy, c-format
+ msgid "could not close response file %s"
+ msgstr "N'a pu ouvrir le fichier source %s.\n"
+
+-#: collect2.c:1601
++#: collect2.c:1615
+ #, c-format
+ msgid "[cannot find %s]"
+ msgstr "[%s introuvable]"
+
+-#: collect2.c:1616
++#: collect2.c:1630
+ #, fuzzy, c-format
+ msgid "cannot find '%s'"
+ msgstr "« %s » introuvable"
+
+-#: collect2.c:1620 collect2.c:2112 collect2.c:2267 gcc.c:2978
++#: collect2.c:1634 collect2.c:2126 collect2.c:2281 gcc.c:2974
+ #, c-format
+ msgid "pex_init failed"
+ msgstr ""
+
+ # FIXME
+-#: collect2.c:1658
++#: collect2.c:1672
+ #, c-format
+ msgid "[Leaving %s]\n"
+ msgstr "[Laissant %s]\n"
+
+-#: collect2.c:1878
++#: collect2.c:1892
+ #, c-format
+ msgid ""
+ "\n"
+@@ -745,32 +745,32 @@
+ "\n"
+ "write_c_file - le nom de sortie est %s, le préfixe est %s\n"
+
+-#: collect2.c:2086
++#: collect2.c:2100
+ #, fuzzy, c-format
+ msgid "cannot find 'nm'"
+ msgstr "« nm » introuvable"
+
+-#: collect2.c:2133
++#: collect2.c:2147
+ #, fuzzy, c-format
+ msgid "can't open nm output"
+ msgstr "ne peut ouvrir le fichier de sortie « %s »"
+
+-#: collect2.c:2177
++#: collect2.c:2191
+ #, c-format
+ msgid "init function found in object %s"
+ msgstr "fonction init trouvée dans l'objet %s"
+
+-#: collect2.c:2185
++#: collect2.c:2199
+ #, c-format
+ msgid "fini function found in object %s"
+ msgstr "fonction fini() trouvée dans l'objet %s"
+
+-#: collect2.c:2288
++#: collect2.c:2302
+ #, fuzzy, c-format
+ msgid "can't open ldd output"
+ msgstr "ne peut ouvrir le fichier de sortie « %s »"
+
+-#: collect2.c:2291
++#: collect2.c:2305
+ #, c-format
+ msgid ""
+ "\n"
+@@ -779,28 +779,28 @@
+ "\n"
+ "sortie de ldd avec constructeurs/destructeurs.\n"
+
+-#: collect2.c:2306
++#: collect2.c:2320
+ #, c-format
+ msgid "dynamic dependency %s not found"
+ msgstr "dépendance dynamique %s introuvable"
+
+-#: collect2.c:2318
++#: collect2.c:2332
+ #, c-format
+ msgid "unable to open dynamic dependency '%s'"
+ msgstr "incapable d'ouvrir la dépendance dynamique « %s »"
+
+-#: collect2.c:2474
++#: collect2.c:2488
+ #, c-format
+ msgid "%s: not a COFF file"
+ msgstr "%s : n'est pas un fichier COFF"
+
+-#: collect2.c:2594
++#: collect2.c:2608
+ #, c-format
+ msgid "%s: cannot open as COFF file"
+ msgstr "%s : ne peut ouvrir en tant que fichier COFF"
+
+ # I18N
+-#: collect2.c:2652
++#: collect2.c:2666
+ #, c-format
+ msgid "library lib%s not found"
+ msgstr "bibliothèque lib%s introuvable"
+@@ -851,41 +851,41 @@
+ msgid "negative insn length"
+ msgstr "longueur négative insn"
+
+-#: final.c:2609
++#: final.c:2615
+ msgid "could not split insn"
+ msgstr "n'a pu séparer insn"
+
+-#: final.c:2979
++#: final.c:2992
+ #, fuzzy
+ msgid "invalid 'asm': "
+ msgstr "« asm » invalide: "
+
+-#: final.c:3162
++#: final.c:3175
+ #, c-format
+ msgid "nested assembly dialect alternatives"
+ msgstr "assemblage de dialectes alternatifs imbriqués"
+
+-#: final.c:3179 final.c:3191
++#: final.c:3192 final.c:3204
+ #, c-format
+ msgid "unterminated assembly dialect alternative"
+ msgstr "assemblage de dialectes alternatifs non terminé"
+
+-#: final.c:3238
++#: final.c:3251
+ #, c-format
+ msgid "operand number missing after %%-letter"
+ msgstr "numéro d'opérande manquant après %%-letter"
+
+-#: final.c:3241 final.c:3282
++#: final.c:3254 final.c:3295
+ #, c-format
+ msgid "operand number out of range"
+ msgstr "nombre d'opérandes hors limite"
+
+-#: final.c:3301
++#: final.c:3314
+ #, c-format
+ msgid "invalid %%-code"
+ msgstr "%%-code est invalide"
+
+-#: final.c:3331
++#: final.c:3344
+ #, fuzzy, c-format
+ msgid "'%%l' operand isn't a label"
+ msgstr "opérande « %%l » n'est pas une étiquette"
+@@ -896,13 +896,13 @@
+ #. handle them.
+ #. We can't handle floating point constants;
+ #. PRINT_OPERAND must handle them.
+-#: final.c:3433 vmsdbgout.c:487 config/i386/i386.c:8143
++#: final.c:3446 vmsdbgout.c:487 config/i386/i386.c:8198
+ #: config/pdp11/pdp11.c:1704
+ #, c-format
+ msgid "floating constant misused"
+ msgstr "constante flottante mal utilisée"
+
+-#: final.c:3493 vmsdbgout.c:544 config/i386/i386.c:8224
++#: final.c:3507 vmsdbgout.c:544 config/i386/i386.c:8279
+ #: config/pdp11/pdp11.c:1751
+ #, c-format
+ msgid "invalid expression as operand"
+@@ -913,7 +913,7 @@
+ msgid "Using built-in specs.\n"
+ msgstr "Utilisation des specs internes.\n"
+
+-#: gcc.c:1887
++#: gcc.c:1883
+ #, c-format
+ msgid ""
+ "Setting spec %s to '%s'\n"
+@@ -922,42 +922,42 @@
+ "Initialisation des spec %s à « %s »\n"
+ "\n"
+
+-#: gcc.c:2002
++#: gcc.c:1998
+ #, c-format
+ msgid "Reading specs from %s\n"
+ msgstr "Lecture des spécification à partir de %s\n"
+
+-#: gcc.c:2098 gcc.c:2117
++#: gcc.c:2094 gcc.c:2113
+ #, c-format
+ msgid "specs %%include syntax malformed after %ld characters"
+ msgstr "syntaxe des specs %%include mal composée après %ld caractères"
+
+-#: gcc.c:2125
++#: gcc.c:2121
+ #, c-format
+ msgid "could not find specs file %s\n"
+ msgstr "ne peut repérer le fichiers des specs %s\n"
+
+-#: gcc.c:2142 gcc.c:2150 gcc.c:2159 gcc.c:2168
++#: gcc.c:2138 gcc.c:2146 gcc.c:2155 gcc.c:2164
+ #, c-format
+ msgid "specs %%rename syntax malformed after %ld characters"
+ msgstr "specs de la syntaxe %%rename mal composées après %ld caractères"
+
+-#: gcc.c:2177
++#: gcc.c:2173
+ #, c-format
+ msgid "specs %s spec was not found to be renamed"
+ msgstr "specs de la spécification %s n'a pas été trouvé pour être renommer"
+
+-#: gcc.c:2184
++#: gcc.c:2180
+ #, c-format
+ msgid "%s: attempt to rename spec '%s' to already defined spec '%s'"
+ msgstr "%s: tentative pour renommner la spécification « %s » à un spécification « %s » déjà définie"
+
+-#: gcc.c:2189
++#: gcc.c:2185
+ #, c-format
+ msgid "rename spec %s to %s\n"
+ msgstr "renommé les specs %s à %s\n"
+
+-#: gcc.c:2191
++#: gcc.c:2187
+ #, c-format
+ msgid ""
+ "spec is '%s'\n"
+@@ -966,37 +966,37 @@
+ "spec est « %s »\n"
+ "\n"
+
+-#: gcc.c:2204
++#: gcc.c:2200
+ #, c-format
+ msgid "specs unknown %% command after %ld characters"
+ msgstr "specs inconnus de la commande %% après %ld caractères"
+
+-#: gcc.c:2215 gcc.c:2228
++#: gcc.c:2211 gcc.c:2224
+ #, c-format
+ msgid "specs file malformed after %ld characters"
+ msgstr "fichier de specs mal composé après %ld caractères"
+
+-#: gcc.c:2281
++#: gcc.c:2277
+ #, c-format
+ msgid "spec file has no spec for linking"
+ msgstr "fichier de specs n'a pas de spécification pour l'édition de liens"
+
+-#: gcc.c:2609 gcc.c:4751
++#: gcc.c:2605 gcc.c:4745
+ #, c-format
+ msgid "%s\n"
+ msgstr "%s\n"
+
+-#: gcc.c:2809
++#: gcc.c:2805
+ #, fuzzy, c-format
+ msgid "system path '%s' is not absolute"
+ msgstr "réservation « %s » n'est utilisé"
+
+-#: gcc.c:2872
++#: gcc.c:2868
+ #, c-format
+ msgid "-pipe not supported"
+ msgstr "-pipe n'est pas supporté"
+
+-#: gcc.c:2934
++#: gcc.c:2930
+ #, c-format
+ msgid ""
+ "\n"
+@@ -1005,17 +1005,17 @@
+ "\n"
+ "Aller de l'avant? (y ou n) "
+
+-#: gcc.c:3017
++#: gcc.c:3013
+ #, fuzzy
+ msgid "failed to get exit status"
+ msgstr "ld a retourné %d code d'état d'exécution"
+
+-#: gcc.c:3023
++#: gcc.c:3019
+ #, fuzzy
+ msgid "failed to get process times"
+ msgstr "échec de repérage de la classe « %s »"
+
+-#: gcc.c:3049
++#: gcc.c:3045
+ #, c-format
+ msgid ""
+ "Internal error: %s (program %s)\n"
+@@ -1026,78 +1026,78 @@
+ "SVP soumettre un rapport complet d'anomalies.\n"
+ "Consulter %s pour les instructions."
+
+-#: gcc.c:3075
++#: gcc.c:3071
+ #, c-format
+ msgid "# %s %.2f %.2f\n"
+ msgstr "# %s %.2f %.2f\n"
+
+-#: gcc.c:3211
++#: gcc.c:3205
+ #, c-format
+ msgid "Usage: %s [options] file...\n"
+ msgstr "Usage: %s [options] fichier...\n"
+
+-#: gcc.c:3212
++#: gcc.c:3206
+ msgid "Options:\n"
+ msgstr "Options:\n"
+
+-#: gcc.c:3214
++#: gcc.c:3208
+ msgid " -pass-exit-codes Exit with highest error code from a phase\n"
+ msgstr " -pass-exit-codes quitter avec le plus grand code d'erreur de la phase\n"
+
+-#: gcc.c:3215
++#: gcc.c:3209
+ msgid " --help Display this information\n"
+ msgstr " --help afficher l'aide mémoire\n"
+
+-#: gcc.c:3216
++#: gcc.c:3210
+ msgid " --target-help Display target specific command line options\n"
+ msgstr " --target-help afficher les options spécifiques de la ligne de commande\n"
+
+-#: gcc.c:3217
++#: gcc.c:3211
+ msgid " --help={target|optimizers|warnings|undocumented|params}[,{[^]joined|[^]separate}]\n"
+ msgstr ""
+
+-#: gcc.c:3218
++#: gcc.c:3212
+ #, fuzzy
+ msgid " Display specific types of command line options\n"
+ msgstr " --target-help afficher les options spécifiques de la ligne de commande\n"
+
+-#: gcc.c:3220
++#: gcc.c:3214
+ msgid " (Use '-v --help' to display command line options of sub-processes)\n"
+ msgstr " (Utiliser «-v --help» pour afficher les options de la ligne de commande des sous-processus)\n"
+
+-#: gcc.c:3221
++#: gcc.c:3215
+ msgid " -dumpspecs Display all of the built in spec strings\n"
+ msgstr " -dumpspecs afficher tous les construits des chaînes de specs\n"
+
+-#: gcc.c:3222
++#: gcc.c:3216
+ msgid " -dumpversion Display the version of the compiler\n"
+ msgstr " -dumpversion afficher la version du compilateur\n"
+
+-#: gcc.c:3223
++#: gcc.c:3217
+ msgid " -dumpmachine Display the compiler's target processor\n"
+ msgstr " -dumpmachine afficher le processeur ciblé par le compilateur\n"
+
+-#: gcc.c:3224
++#: gcc.c:3218
+ msgid " -print-search-dirs Display the directories in the compiler's search path\n"
+ msgstr " -print-search-dirs afficher les répertoires du chemin de recherche du compiltateur\n"
+
+-#: gcc.c:3225
++#: gcc.c:3219
+ msgid " -print-libgcc-file-name Display the name of the compiler's companion library\n"
+ msgstr " -print-libgcc-file-name afficher le nom de la bibliothèque compagne du compilateur\n"
+
+-#: gcc.c:3226
++#: gcc.c:3220
+ msgid " -print-file-name=<lib> Display the full path to library <lib>\n"
+ msgstr " -print-file-name=<lib> afficher le chemin d'accès complet vers la bibliothèque <lib>\n"
+
+-#: gcc.c:3227
++#: gcc.c:3221
+ msgid " -print-prog-name=<prog> Display the full path to compiler component <prog>\n"
+ msgstr " -print-prog-name=<prog> afficher le chemin d'accès complet vers le composant du compilateur <prog>\n"
+
+-#: gcc.c:3228
++#: gcc.c:3222
+ msgid " -print-multi-directory Display the root directory for versions of libgcc\n"
+ msgstr " -print-multi-directory afficher la racine du répertoire des version libgcc\n"
+
+-#: gcc.c:3229
++#: gcc.c:3223
+ msgid ""
+ " -print-multi-lib Display the mapping between command line options and\n"
+ " multiple library search directories\n"
+@@ -1106,106 +1106,106 @@
+ " la ligne de commande et les multiples répertoires de\n"
+ " recherches des bibliothèques\n"
+
+-#: gcc.c:3232
++#: gcc.c:3226
+ msgid " -print-multi-os-directory Display the relative path to OS libraries\n"
+ msgstr " -print-multi-os-directory afficher le chemin relatif du répertoire vers les librairies de l'OS\n"
+
+-#: gcc.c:3233
++#: gcc.c:3227
+ msgid " -print-sysroot-headers-suffix Display the sysroot suffix used to find headers\n"
+ msgstr ""
+
+-#: gcc.c:3234
++#: gcc.c:3228
+ msgid " -Wa,<options> Pass comma-separated <options> on to the assembler\n"
+ msgstr " -Wa,<options> passer les <options> séparées par des virgules à l'assembleur\n"
+
+-#: gcc.c:3235
++#: gcc.c:3229
+ msgid " -Wp,<options> Pass comma-separated <options> on to the preprocessor\n"
+ msgstr " -Wp,<options> passer les <options> séparées par des virgules au préprocesseur\n"
+
+-#: gcc.c:3236
++#: gcc.c:3230
+ msgid " -Wl,<options> Pass comma-separated <options> on to the linker\n"
+ msgstr " -Wl,<options> passer les <options> séparées par des virgules à l'éditeur de liens\n"
+
+-#: gcc.c:3237
++#: gcc.c:3231
+ msgid " -Xassembler <arg> Pass <arg> on to the assembler\n"
+ msgstr " -Xassembler <arg> passer l'<arg>ument à l'assembleur\n"
+
+-#: gcc.c:3238
++#: gcc.c:3232
+ msgid " -Xpreprocessor <arg> Pass <arg> on to the preprocessor\n"
+ msgstr " -Xpreprocessor <arg> passer l'<arg>ument au pré-processeur\n"
+
+-#: gcc.c:3239
++#: gcc.c:3233
+ msgid " -Xlinker <arg> Pass <arg> on to the linker\n"
+ msgstr " -Xlinker <argument> passer l'<argument> à l'éditeur de liens\n"
+
+-#: gcc.c:3240
++#: gcc.c:3234
+ #, fuzzy
+ msgid " -combine Pass multiple source files to compiler at once\n"
+ msgstr " -o <fichier> placer la sortie dans le <fichier>\n"
+
+-#: gcc.c:3241
++#: gcc.c:3235
+ msgid " -save-temps Do not delete intermediate files\n"
+ msgstr " -save-temps ne pas détruire les fichiers intermédiaires\n"
+
+-#: gcc.c:3242
++#: gcc.c:3236
+ msgid " -pipe Use pipes rather than intermediate files\n"
+ msgstr " -pipe utiliser des pipes au lieu de fichiers intermédiares\n"
+
+-#: gcc.c:3243
++#: gcc.c:3237
+ msgid " -time Time the execution of each subprocess\n"
+ msgstr " -time mesurer le temps d'exécution de chaque sous-processus\n"
+
+-#: gcc.c:3244
++#: gcc.c:3238
+ msgid " -specs=<file> Override built-in specs with the contents of <file>\n"
+ msgstr " -specs=<fichier> écraser les specs internes à l'aide du contenu du <fichier>\n"
+
+-#: gcc.c:3245
++#: gcc.c:3239
+ msgid " -std=<standard> Assume that the input sources are for <standard>\n"
+ msgstr " -std=<standard> Présumer que les fichiers sources respectent le <standard>\n"
+
+-#: gcc.c:3246
++#: gcc.c:3240
+ msgid ""
+ " --sysroot=<directory> Use <directory> as the root directory for headers\n"
+ " and libraries\n"
+ msgstr ""
+
+-#: gcc.c:3249
++#: gcc.c:3243
+ msgid " -B <directory> Add <directory> to the compiler's search paths\n"
+ msgstr " -B <répertoire> ajouter le <répertoire> aux chemins de recherche du compilateur\n"
+
+-#: gcc.c:3250
++#: gcc.c:3244
+ msgid " -b <machine> Run gcc for target <machine>, if installed\n"
+ msgstr " -b <machine> exécuter gcc pour la <machine> cible, si installé\n"
+
+-#: gcc.c:3251
++#: gcc.c:3245
+ msgid " -V <version> Run gcc version number <version>, if installed\n"
+ msgstr " -V <version> exécuter le numéro de <version> de gcc, si installée\n"
+
+-#: gcc.c:3252
++#: gcc.c:3246
+ msgid " -v Display the programs invoked by the compiler\n"
+ msgstr " -v afficher les programmes invoqués par le compilateur\n"
+
+-#: gcc.c:3253
++#: gcc.c:3247
+ msgid " -### Like -v but options quoted and commands not executed\n"
+ msgstr " -### identique à -v mais les options et les commandes entre guillemets ne sont pas exécutées\n"
+
+-#: gcc.c:3254
++#: gcc.c:3248
+ msgid " -E Preprocess only; do not compile, assemble or link\n"
+ msgstr " -E pré-traiter seulement; ne pas compiler, assembler ou éditer les liens\n"
+
+-#: gcc.c:3255
++#: gcc.c:3249
+ msgid " -S Compile only; do not assemble or link\n"
+ msgstr " -S compiler seulement; ne pas assembler ou éditer les liens\n"
+
+-#: gcc.c:3256
++#: gcc.c:3250
+ msgid " -c Compile and assemble, but do not link\n"
+ msgstr " -S compiler et assembler, mais ne pas éditer les liens\n"
+
+-#: gcc.c:3257
++#: gcc.c:3251
+ msgid " -o <file> Place the output into <file>\n"
+ msgstr " -o <fichier> placer la sortie dans le <fichier>\n"
+
+-#: gcc.c:3258
++#: gcc.c:3252
+ msgid ""
+ " -x <language> Specify the language of the following input files\n"
+ " Permissible languages include: c c++ assembler none\n"
+@@ -1217,7 +1217,7 @@
+ " « none » signifiant d'utiliser le comportement par défaut\n"
+ " en tentant d'identifier le langage par l'extension du fichier\n"
+
+-#: gcc.c:3265
++#: gcc.c:3259
+ #, c-format
+ msgid ""
+ "\n"
+@@ -1230,27 +1230,27 @@
+ " passés aux divers sous-processus invoqués par %s. Afin de passer\n"
+ " les autres options à ces processus l'option -W<lettre> doit être utilisé.\n"
+
+-#: gcc.c:3389
++#: gcc.c:3383
+ #, fuzzy, c-format
+ msgid "'-%c' option must have argument"
+ msgstr "l'option « -%c » requière un argument"
+
+-#: gcc.c:3411
++#: gcc.c:3405
+ #, fuzzy, c-format
+ msgid "couldn't run '%s': %s"
+ msgstr "impossible d'exécuter « %s » : %s"
+
+ #. translate_options () has turned --version into -fversion.
+-#: gcc.c:3612
++#: gcc.c:3606
+ #, fuzzy, c-format
+ msgid "%s %s%s\n"
+ msgstr "%s « %s »\n"
+
+-#: gcc.c:3615 gcov.c:426 fortran/gfortranspec.c:380 java/jcf-dump.c:1168
++#: gcc.c:3609 gcov.c:427 fortran/gfortranspec.c:380 java/jcf-dump.c:1168
+ msgid "(C)"
+ msgstr "©"
+
+-#: gcc.c:3616 java/jcf-dump.c:1169
++#: gcc.c:3610 java/jcf-dump.c:1169
+ #, c-format
+ msgid ""
+ "This is free software; see the source for copying conditions. There is NO\n"
+@@ -1261,160 +1261,160 @@
+ "GARANTIE; ni implicite pour le MARCHANDAGE ou pour un BUT PARTICULIER.\n"
+ "\n"
+
+-#: gcc.c:3728
++#: gcc.c:3722
+ #, fuzzy, c-format
+ msgid "argument to '-Xlinker' is missing"
+ msgstr "argument de «-Xlinker» est manquant"
+
+-#: gcc.c:3736
++#: gcc.c:3730
+ #, fuzzy, c-format
+ msgid "argument to '-Xpreprocessor' is missing"
+ msgstr "argument de « -Xpreprocessor » est manquant"
+
+-#: gcc.c:3743
++#: gcc.c:3737
+ #, fuzzy, c-format
+ msgid "argument to '-Xassembler' is missing"
+ msgstr "argument de « -Xassembler » est manquant"
+
+-#: gcc.c:3750
++#: gcc.c:3744
+ #, fuzzy, c-format
+ msgid "argument to '-l' is missing"
+ msgstr "argument pour « -l » est manquant"
+
+-#: gcc.c:3771
++#: gcc.c:3765
+ #, fuzzy, c-format
+ msgid "argument to '-specs' is missing"
+ msgstr "argument de « -specs » est manquant"
+
+-#: gcc.c:3785
++#: gcc.c:3779
+ #, fuzzy, c-format
+ msgid "argument to '-specs=' is missing"
+ msgstr "argument de «-specs=» est manquant"
+
+-#: gcc.c:3826
++#: gcc.c:3820
+ #, fuzzy, c-format
+ msgid "'-%c' must come at the start of the command line"
+ msgstr "« -%c » doit apparaître au début de la ligne de commande"
+
+-#: gcc.c:3835
++#: gcc.c:3829
+ #, fuzzy, c-format
+ msgid "argument to '-B' is missing"
+ msgstr "argument de « -B » est manquant"
+
+-#: gcc.c:4185
++#: gcc.c:4179
+ #, fuzzy, c-format
+ msgid "argument to '-x' is missing"
+ msgstr "argument pour « -x » est manquant"
+
+-#: gcc.c:4213
++#: gcc.c:4207
+ #, fuzzy, c-format
+ msgid "argument to '-%s' is missing"
+ msgstr "argument pour « -%s » est manquant"
+
+-#: gcc.c:4541
++#: gcc.c:4535
+ #, c-format
+ msgid "switch '%s' does not start with '-'"
+ msgstr ""
+
+-#: gcc.c:4685
++#: gcc.c:4679
+ #, c-format
+ msgid "spec '%s' invalid"
+ msgstr ""
+
+-#: gcc.c:4824
++#: gcc.c:4818
+ #, fuzzy, c-format
+ msgid "spec '%s' has invalid '%%0%c'"
+ msgstr "le champ de bits « %s » a un type invalide"
+
+-#: gcc.c:5053
++#: gcc.c:5047
+ #, fuzzy, c-format
+ msgid "could not open temporary response file %s"
+ msgstr "ne peut ouvrir le fichier de vidange « %s »"
+
+-#: gcc.c:5059
++#: gcc.c:5053
+ #, fuzzy, c-format
+ msgid "could not write to temporary response file %s"
+ msgstr "ne peut créer un fichier temporaire"
+
+-#: gcc.c:5065
++#: gcc.c:5059
+ #, fuzzy, c-format
+ msgid "could not close temporary response file %s"
+ msgstr "ne peut ouvrir le fichier de vidange « %s »"
+
+-#: gcc.c:5099
++#: gcc.c:5093
+ #, fuzzy, c-format
+ msgid "spec '%s' has invalid '%%W%c"
+ msgstr "le champ de bits « %s » a un type invalide"
+
+-#: gcc.c:5119
++#: gcc.c:5113
+ #, fuzzy, c-format
+ msgid "spec '%s' has invalid '%%x%c'"
+ msgstr "le champ de bits « %s » a un type invalide"
+
+-#: gcc.c:5341
++#: gcc.c:5335
+ #, c-format
+ msgid "Processing spec %c%s%c, which is '%s'\n"
+ msgstr "Traitement du spec %c%s%c, lequel est « %s »\n"
+
+-#: gcc.c:5465
++#: gcc.c:5459
+ #, fuzzy, c-format
+ msgid "unknown spec function '%s'"
+ msgstr "spécification de fonction inconnue « %s »:"
+
+-#: gcc.c:5484
++#: gcc.c:5478
+ #, fuzzy, c-format
+ msgid "error in args to spec function '%s'"
+ msgstr "ERREUR d'arguments pour la spécification de fonction « %s »"
+
+-#: gcc.c:5532
++#: gcc.c:5526
+ #, c-format
+ msgid "malformed spec function name"
+ msgstr "nom de spécification de fonction mal composé"
+
+ #. )
+-#: gcc.c:5535
++#: gcc.c:5529
+ #, c-format
+ msgid "no arguments for spec function"
+ msgstr "aucun argument pour la spécification de fonction"
+
+-#: gcc.c:5554
++#: gcc.c:5548
+ #, c-format
+ msgid "malformed spec function arguments"
+ msgstr "arguments de spécification de fonction mal composés"
+
+-#: gcc.c:5800
++#: gcc.c:5794
+ #, c-format
+ msgid "braced spec '%s' is invalid at '%c'"
+ msgstr ""
+
+-#: gcc.c:5888
++#: gcc.c:5882
+ #, c-format
+ msgid "braced spec body '%s' is invalid"
+ msgstr ""
+
+-#: gcc.c:6421
++#: gcc.c:6420
+ #, c-format
+ msgid "install: %s%s\n"
+ msgstr "installés: %s%s\n"
+
+-#: gcc.c:6424
++#: gcc.c:6423
+ #, c-format
+ msgid "programs: %s\n"
+ msgstr "programmes: %s\n"
+
+-#: gcc.c:6426
++#: gcc.c:6425
+ #, c-format
+ msgid "libraries: %s\n"
+ msgstr "libraries: %s\n"
+
+ #. The error status indicates that only one set of fixed
+ #. headers should be built.
+-#: gcc.c:6480
++#: gcc.c:6479
+ #, c-format
+ msgid "not configured with sysroot headers suffix"
+ msgstr ""
+
+-#: gcc.c:6489
++#: gcc.c:6488
+ #, c-format
+ msgid ""
+ "\n"
+@@ -1423,47 +1423,47 @@
+ "\n"
+ "Pour les instructons afin de rapporter des anomales, SVP consulter:\n"
+
+-#: gcc.c:6505
++#: gcc.c:6504
+ #, fuzzy, c-format
+ msgid "Target: %s\n"
+ msgstr "libraries: %s\n"
+
+-#: gcc.c:6506
++#: gcc.c:6505
+ #, c-format
+ msgid "Configured with: %s\n"
+ msgstr "Configuré avec: %s\n"
+
+-#: gcc.c:6520
++#: gcc.c:6519
+ #, c-format
+ msgid "Thread model: %s\n"
+ msgstr "Modèle de thread: %s\n"
+
+-#: gcc.c:6531
++#: gcc.c:6530
+ #, fuzzy, c-format
+ msgid "gcc version %s %s\n"
+ msgstr "version gcc %s\n"
+
+-#: gcc.c:6533
++#: gcc.c:6532
+ #, fuzzy, c-format
+ msgid "gcc driver version %s %sexecuting gcc version %s\n"
+ msgstr "version du pilote gcc %s exécutant le version %s de gcc\n"
+
+-#: gcc.c:6541
++#: gcc.c:6540
+ #, c-format
+ msgid "no input files"
+ msgstr "pas de fichier à l'entrée"
+
+-#: gcc.c:6590
++#: gcc.c:6589
+ #, fuzzy, c-format
+ msgid "cannot specify -o with -c or -S with multiple files"
+ msgstr "ne peut spécifier -o avec -c ou -S et de multiples langages"
+
+-#: gcc.c:6624
++#: gcc.c:6623
+ #, fuzzy, c-format
+ msgid "spec '%s' is invalid"
+ msgstr "le paramètre « %s » est initialisé"
+
+-#: gcc.c:6760
++#: gcc.c:6759
+ #, c-format
+ msgid ""
+ "\n"
+@@ -1472,59 +1472,59 @@
+ "\n"
+ msgstr ""
+
+-#: gcc.c:6761
++#: gcc.c:6760
+ #, c-format
+ msgid ""
+ "Use \"-Wl,OPTION\" to pass \"OPTION\" to the linker.\n"
+ "\n"
+ msgstr ""
+
+-#: gcc.c:7112
++#: gcc.c:7111
+ #, fuzzy, c-format
+ msgid "multilib spec '%s' is invalid"
+ msgstr "patron de l'argument %d est invalide"
+
+-#: gcc.c:7303
++#: gcc.c:7302
+ #, fuzzy, c-format
+ msgid "multilib exclusions '%s' is invalid"
+ msgstr "champs multiples dans l'union « %T » initialisés"
+
+-#: gcc.c:7361 gcc.c:7502
++#: gcc.c:7360 gcc.c:7501
+ #, fuzzy, c-format
+ msgid "multilib select '%s' is invalid"
+ msgstr "patron de l'argument %d est invalide"
+
+-#: gcc.c:7540
++#: gcc.c:7539
+ #, fuzzy, c-format
+ msgid "multilib exclusion '%s' is invalid"
+ msgstr "champs multiples dans l'union « %T » initialisés"
+
+-#: gcc.c:7746
++#: gcc.c:7745
+ #, fuzzy, c-format
+ msgid "environment variable \"%s\" not defined"
+ msgstr "variable d'environment DJGPP non définie"
+
+-#: gcc.c:7837 gcc.c:7842
++#: gcc.c:7836 gcc.c:7841
+ #, fuzzy, c-format
+ msgid "invalid version number `%s'"
+ msgstr "format de numéro de verson invalide"
+
+-#: gcc.c:7885
++#: gcc.c:7884
+ #, fuzzy, c-format
+ msgid "too few arguments to %%:version-compare"
+ msgstr "trop peu d'arguments pour la procédure"
+
+-#: gcc.c:7891
++#: gcc.c:7890
+ #, fuzzy, c-format
+ msgid "too many arguments to %%:version-compare"
+ msgstr "trop d'arguments pour la procédure"
+
+-#: gcc.c:7932
++#: gcc.c:7931
+ #, c-format
+ msgid "unknown operator '%s' in %%:version-compare"
+ msgstr ""
+
+-#: gcc.c:7966
++#: gcc.c:7965
+ #, c-format
+ msgid ""
+ "Assembler options\n"
+@@ -1532,14 +1532,14 @@
+ "\n"
+ msgstr ""
+
+-#: gcc.c:7967
++#: gcc.c:7966
+ #, c-format
+ msgid ""
+ "Use \"-Wa,OPTION\" to pass \"OPTION\" to the assembler.\n"
+ "\n"
+ msgstr ""
+
+-#: gcov.c:399
++#: gcov.c:400
+ #, fuzzy, c-format
+ msgid ""
+ "Usage: gcov [OPTION]... SOURCEFILE...\n"
+@@ -1548,7 +1548,7 @@
+ "Usage: gcov [OPTION]... FICHIER-SOURCE\n"
+ "\n"
+
+-#: gcov.c:400
++#: gcov.c:401
+ #, c-format
+ msgid ""
+ "Print code coverage information.\n"
+@@ -1557,27 +1557,27 @@
+ "Produire les informations de la couverture du code.\n"
+ "\n"
+
+-#: gcov.c:401
++#: gcov.c:402
+ #, c-format
+ msgid " -h, --help Print this help, then exit\n"
+ msgstr " -h, --help afficher l'aide mémoire\n"
+
+-#: gcov.c:402
++#: gcov.c:403
+ #, c-format
+ msgid " -v, --version Print version number, then exit\n"
+ msgstr " -v, --version exécuter le numéro de <version> de gcc, si installée\n"
+
+-#: gcov.c:403
++#: gcov.c:404
+ #, c-format
+ msgid " -a, --all-blocks Show information for every basic block\n"
+ msgstr " -a, --all-blocks afficher l'information pour chaque bloc de base\n"
+
+-#: gcov.c:404
++#: gcov.c:405
+ #, c-format
+ msgid " -b, --branch-probabilities Include branch probabilities in output\n"
+ msgstr " -b, --branch-probabilities inclure les probabilités de branchement dans la sortie\n"
+
+-#: gcov.c:405
++#: gcov.c:406
+ #, c-format
+ msgid ""
+ " -c, --branch-counts Given counts of branches taken\n"
+@@ -1586,12 +1586,12 @@
+ " -c, --branch-counts donner le décompte de branchements pris\n"
+ " plutôt que les pourcentages\n"
+
+-#: gcov.c:407
++#: gcov.c:408
+ #, c-format
+ msgid " -n, --no-output Do not create an output file\n"
+ msgstr " -n, --no-output ne créer de fichier de sortie\n"
+
+-#: gcov.c:408
++#: gcov.c:409
+ #, c-format
+ msgid ""
+ " -l, --long-file-names Use long output file names for included\n"
+@@ -1600,27 +1600,27 @@
+ " -l, --long-file-names utiliser des longs noms de fichiers pour\n"
+ " les fichier sources d'inclusion\n"
+
+-#: gcov.c:410
++#: gcov.c:411
+ #, c-format
+ msgid " -f, --function-summaries Output summaries for each function\n"
+ msgstr " -f, --function-summaries produire un sommaire pour chaque fonction\n"
+
+-#: gcov.c:411
++#: gcov.c:412
+ #, c-format
+ msgid " -o, --object-directory DIR|FILE Search for object files in DIR or called FILE\n"
+ msgstr " -o, --object-directory RÉP|FICHIERS rechercher les fichiers objets dans le RÉPertoire ou appellés FICHIERS\n"
+
+-#: gcov.c:412
++#: gcov.c:413
+ #, c-format
+ msgid " -p, --preserve-paths Preserve all pathname components\n"
+ msgstr " -p, --preserve-paths préserver tous les composants des chemins d'accès\n"
+
+-#: gcov.c:413
++#: gcov.c:414
+ #, c-format
+ msgid " -u, --unconditional-branches Show unconditional branch counts too\n"
+ msgstr " -u, --unconditional-branches afficher les compteurs de branchement inconditionnel aussi\n"
+
+-#: gcov.c:414
++#: gcov.c:415
+ #, c-format
+ msgid ""
+ "\n"
+@@ -1631,12 +1631,12 @@
+ "Pour les instructons afin de rapporter des anomales, SVP consulter:\n"
+ "%s.\n"
+
+-#: gcov.c:424
++#: gcov.c:425
+ #, fuzzy, c-format
+ msgid "gcov %s%s\n"
+ msgstr "gcov (GCC) %s\n"
+
+-#: gcov.c:428
++#: gcov.c:429
+ #, c-format
+ msgid ""
+ "This is free software; see the source for copying conditions.\n"
+@@ -1649,209 +1649,209 @@
+ "pour un BUT PARTICULIER.\n"
+ "\n"
+
+-#: gcov.c:524
++#: gcov.c:525
+ #, c-format
+ msgid "%s:no functions found\n"
+ msgstr "%s: aucune fonction repérée\n"
+
+ # I18N
+-#: gcov.c:556 gcov.c:584 fortran/dump-parse-tree.c:63
++#: gcov.c:557 gcov.c:585 fortran/dump-parse-tree.c:63
+ #, c-format
+ msgid "\n"
+ msgstr "\n"
+
+-#: gcov.c:571
++#: gcov.c:572
+ #, fuzzy, c-format
+ msgid "%s:creating '%s'\n"
+ msgstr "%s: création de « %s »\n"
+
+-#: gcov.c:575
++#: gcov.c:576
+ #, fuzzy, c-format
+ msgid "%s:error writing output file '%s'\n"
+ msgstr "%s: ERREUR d'écriture dans le fichier de sortie « %s ».\n"
+
+-#: gcov.c:580
++#: gcov.c:581
+ #, fuzzy, c-format
+ msgid "%s:could not open output file '%s'\n"
+ msgstr "%s: ne peut ouvrir le fichier de sortie « %s ».\n"
+
+-#: gcov.c:729
++#: gcov.c:730
+ #, fuzzy, c-format
+ msgid "%s:source file is newer than graph file '%s'\n"
+ msgstr "%s: fichier source est plus récent que le fichier graphe « %s »\n"
+
+-#: gcov.c:734
++#: gcov.c:735
+ #, c-format
+ msgid "(the message is only displayed one per source file)\n"
+ msgstr ""
+
+-#: gcov.c:758
++#: gcov.c:759
+ #, c-format
+ msgid "%s:cannot open graph file\n"
+ msgstr "%s: ne peut ouvrir le fichier de graphe\n"
+
+-#: gcov.c:764
++#: gcov.c:765
+ #, c-format
+ msgid "%s:not a gcov graph file\n"
+ msgstr "%s: n'est pas un fichier de graphe gcov\n"
+
+-#: gcov.c:777
++#: gcov.c:778
+ #, fuzzy, c-format
+ msgid "%s:version '%.4s', prefer '%.4s'\n"
+ msgstr "%s:version « %.4s », préfère « %.4s »\n"
+
+-#: gcov.c:829
++#: gcov.c:830
+ #, fuzzy, c-format
+ msgid "%s:already seen blocks for '%s'\n"
+ msgstr "%s:blocs déjà vus pour « %s »\n"
+
+-#: gcov.c:947
++#: gcov.c:948
+ #, c-format
+ msgid "%s:corrupted\n"
+ msgstr "%s:corrompu\n"
+
+-#: gcov.c:1023
++#: gcov.c:1024
+ #, fuzzy, c-format
+ msgid "%s:cannot open data file, assuming not executed\n"
+ msgstr "%s: ne peut ouvrir le fichier de données\n"
+
+-#: gcov.c:1030
++#: gcov.c:1031
+ #, c-format
+ msgid "%s:not a gcov data file\n"
+ msgstr "%s: n'est pas un fichier de données gcov\n"
+
+-#: gcov.c:1043
++#: gcov.c:1044
+ #, fuzzy, c-format
+ msgid "%s:version '%.4s', prefer version '%.4s'\n"
+ msgstr "%s:version « %.4s », préfère la version « %.4s »\n"
+
+-#: gcov.c:1049
++#: gcov.c:1050
+ #, c-format
+ msgid "%s:stamp mismatch with graph file\n"
+ msgstr "%s: estampille ne concorde par avec le fichier de graphe\n"
+
+-#: gcov.c:1078
++#: gcov.c:1079
+ #, fuzzy, c-format
+ msgid "%s:unknown function '%u'\n"
+ msgstr "%s: fonction inconnue « %u »\n"
+
+-#: gcov.c:1091
++#: gcov.c:1092
+ #, fuzzy, c-format
+ msgid "%s:profile mismatch for '%s'\n"
+ msgstr "%s: profile ne concorde pas pour « %s »\n"
+
+-#: gcov.c:1110
++#: gcov.c:1111
+ #, c-format
+ msgid "%s:overflowed\n"
+ msgstr "%s: débordement\n"
+
+-#: gcov.c:1134
++#: gcov.c:1135
+ #, fuzzy, c-format
+ msgid "%s:'%s' lacks entry and/or exit blocks\n"
+ msgstr "%s:« %s » manque de blocs d'entrée et/ou de sortie\n"
+
+-#: gcov.c:1139
++#: gcov.c:1140
+ #, fuzzy, c-format
+ msgid "%s:'%s' has arcs to entry block\n"
+ msgstr "%s:« %s » possède des arcs vers un bloc d'entrée\n"
+
+-#: gcov.c:1147
++#: gcov.c:1148
+ #, fuzzy, c-format
+ msgid "%s:'%s' has arcs from exit block\n"
+ msgstr "%s:« %s » possèdes des arcs à partir du bloc de sortie\n"
+
+-#: gcov.c:1355
++#: gcov.c:1356
+ #, fuzzy, c-format
+ msgid "%s:graph is unsolvable for '%s'\n"
+ msgstr "%s: graphe n'a pas de solution pour « %s »\n"
+
+-#: gcov.c:1435
++#: gcov.c:1436
+ #, fuzzy, c-format
+ msgid "%s '%s'\n"
+ msgstr "%s « %s »\n"
+
+-#: gcov.c:1438
++#: gcov.c:1439
+ #, c-format
+ msgid "Lines executed:%s of %d\n"
+ msgstr "Lignes exécutées: %s de %d\n"
+
+-#: gcov.c:1442
++#: gcov.c:1443
+ #, fuzzy, c-format
+ msgid "No executable lines\n"
+ msgstr "Auncue ligne exécutable"
+
+-#: gcov.c:1448
++#: gcov.c:1449
+ #, c-format
+ msgid "Branches executed:%s of %d\n"
+ msgstr "Branchements exécutés: %s de %d\n"
+
+-#: gcov.c:1452
++#: gcov.c:1453
+ #, c-format
+ msgid "Taken at least once:%s of %d\n"
+ msgstr "Branchements pris au moins une fois: %s de %d\n"
+
+-#: gcov.c:1458
++#: gcov.c:1459
+ #, c-format
+ msgid "No branches\n"
+ msgstr "Pas de branchement\n"
+
+-#: gcov.c:1460
++#: gcov.c:1461
+ #, c-format
+ msgid "Calls executed:%s of %d\n"
+ msgstr "Appels exécutés: %s de %d\n"
+
+-#: gcov.c:1464
++#: gcov.c:1465
+ #, c-format
+ msgid "No calls\n"
+ msgstr "Pas d'appel\n"
+
+-#: gcov.c:1611
++#: gcov.c:1612
+ #, fuzzy, c-format
+ msgid "%s:no lines for '%s'\n"
+ msgstr "%s: pas de ligne pour « %s »\n"
+
+-#: gcov.c:1806
++#: gcov.c:1807
+ #, c-format
+ msgid "call %2d returned %s\n"
+ msgstr "appel %2d a retourné %s\n"
+
+ # FIXME: c'est de l'assembleur ?
+-#: gcov.c:1811
++#: gcov.c:1812
+ #, c-format
+ msgid "call %2d never executed\n"
+ msgstr "call %2d n'est jamais été exécuté\n"
+
+-#: gcov.c:1816
++#: gcov.c:1817
+ #, c-format
+ msgid "branch %2d taken %s%s\n"
+ msgstr "branchement %2d a pris %s%s\n"
+
+-#: gcov.c:1820
++#: gcov.c:1821
+ #, c-format
+ msgid "branch %2d never executed\n"
+ msgstr "branchement %2d n'a jamais été exécuté\n"
+
+-#: gcov.c:1825
++#: gcov.c:1826
+ #, c-format
+ msgid "unconditional %2d taken %s\n"
+ msgstr "inconditionnel %2d a pris %s\n"
+
+ # FIXME: c'est de l'assembleur ?
+-#: gcov.c:1828
++#: gcov.c:1829
+ #, c-format
+ msgid "unconditional %2d never executed\n"
+ msgstr "inconditionnel %2d n'a jamais été exécuté\n"
+
+-#: gcov.c:1864
++#: gcov.c:1865
+ #, c-format
+ msgid "%s:cannot open source file\n"
+ msgstr "%s: ne peut ouvrir le fichier source\n"
+
+-#: gcse.c:685
++#: gcse.c:679
+ msgid "GCSE disabled"
+ msgstr "GCSE désactivé"
+
+-#: gcse.c:6600
++#: gcse.c:6584
+ msgid "jump bypassing disabled"
+ msgstr "saut d'évitement désactivé"
+
+@@ -1939,92 +1939,92 @@
+ msgid " inlined from %qs"
+ msgstr "Dans le fichier inclus à partir de %s:%u"
+
+-#: loop-iv.c:2805 tree-ssa-loop-niter.c:1818
++#: loop-iv.c:2806 tree-ssa-loop-niter.c:1818
+ msgid "assuming that the loop is not infinite"
+ msgstr ""
+
+-#: loop-iv.c:2806 tree-ssa-loop-niter.c:1819
++#: loop-iv.c:2807 tree-ssa-loop-niter.c:1819
+ msgid "cannot optimize possibly infinite loops"
+ msgstr ""
+
+-#: loop-iv.c:2814 tree-ssa-loop-niter.c:1823
++#: loop-iv.c:2815 tree-ssa-loop-niter.c:1823
+ msgid "assuming that the loop counter does not overflow"
+ msgstr ""
+
+-#: loop-iv.c:2815 tree-ssa-loop-niter.c:1824
++#: loop-iv.c:2816 tree-ssa-loop-niter.c:1824
+ msgid "cannot optimize loop, the loop counter may overflow"
+ msgstr ""
+
+ #. What to print when a switch has no documentation.
+-#: opts.c:348
++#: opts.c:340
+ msgid "This switch lacks documentation"
+ msgstr "Cette option manque de documentation"
+
+-#: opts.c:1159
++#: opts.c:1161
+ msgid "[enabled]"
+ msgstr ""
+
+-#: opts.c:1159
++#: opts.c:1161
+ #, fuzzy
+ msgid "[disabled]"
+ msgstr "GCSE désactivé"
+
+-#: opts.c:1170
++#: opts.c:1172
+ #, c-format
+ msgid " No options with the desired characteristics were found\n"
+ msgstr ""
+
+-#: opts.c:1172
++#: opts.c:1174
+ #, c-format
+ msgid " All options with the desired characteristics have already been displayed\n"
+ msgstr ""
+
+-#: opts.c:1226
++#: opts.c:1228
+ #, fuzzy
+ msgid "The following options are target specific"
+ msgstr "Les options suivantes sont indépendantes du langage:\n"
+
+-#: opts.c:1229
++#: opts.c:1231
+ #, fuzzy
+ msgid "The following options control compiler warning messages"
+ msgstr "Les options suivantes sont indépendantes du langage:\n"
+
+-#: opts.c:1232
++#: opts.c:1234
+ #, fuzzy
+ msgid "The following options control optimizations"
+ msgstr "Exécuter l'optimisation des boucles"
+
+-#: opts.c:1235 opts.c:1273
++#: opts.c:1237 opts.c:1275
+ #, fuzzy
+ msgid "The following options are language-independent"
+ msgstr "Les options suivantes sont indépendantes du langage:\n"
+
+-#: opts.c:1238
++#: opts.c:1240
+ #, fuzzy
+ msgid "The --param option recognizes the following as parameters"
+ msgstr "L'option --param reconnaît les paramètres suivant:\n"
+
+-#: opts.c:1245
++#: opts.c:1247
+ #, fuzzy
+ msgid "The following options are specific to the language "
+ msgstr "Les options suivantes sont indépendantes du langage:\n"
+
+-#: opts.c:1249
++#: opts.c:1251
+ #, fuzzy
+ msgid "The following options are supported by the language "
+ msgstr "Les options suivantes sont indépendantes du langage:\n"
+
+-#: opts.c:1260
++#: opts.c:1262
+ #, fuzzy
+ msgid "The following options are not documented"
+ msgstr "Les options suivantes sont indépendantes du langage:\n"
+
+-#: opts.c:1271
++#: opts.c:1273
+ #, fuzzy
+ msgid "The following options are language-related"
+ msgstr "Les options suivantes sont indépendantes du langage:\n"
+
+-#: opts.c:1403
++#: opts.c:1405
+ #, c-format
+ msgid "warning: unrecognized argument to --help= switch: %.*s\n"
+ msgstr ""
+@@ -2340,7 +2340,7 @@
+ msgid "%s: input file names must have .c suffixes: %s\n"
+ msgstr "%s: noms de fichiers d'entrée doivent avoir le suffixe .c: %s\n"
+
+-#: reload.c:3734
++#: reload.c:3744
+ msgid "unable to generate reloads for:"
+ msgstr "incapable de générer des recharges pour:"
+
+@@ -2445,7 +2445,7 @@
+
+ #: toplev.c:1188
+ #, c-format
+-msgid "warning: %s header version %s differs from library version %s.\n"
++msgid "%s%swarning: %s header version %s differs from library version %s.\n"
+ msgstr ""
+
+ #: toplev.c:1190
+@@ -2453,32 +2453,32 @@
+ msgid "%s%sGGC heuristics: --param ggc-min-expand=%d --param ggc-min-heapsize=%d\n"
+ msgstr "heuristiques %s%sGGC: --param ggc-min-expand=%d --param ggc-min-heapsize=%d\n"
+
+-#: toplev.c:1340
++#: toplev.c:1342
+ msgid "options passed: "
+ msgstr "options passées: "
+
+-#: toplev.c:1374
++#: toplev.c:1376
+ msgid "options enabled: "
+ msgstr "options autorisées: "
+
+-#: toplev.c:1509
++#: toplev.c:1511
+ #, fuzzy, c-format
+ msgid "created and used with differing settings of '%s'"
+ msgstr "créé et utilisé avec des configurations différentes de « -m%s »"
+
+-#: toplev.c:1511
++#: toplev.c:1513
+ msgid "out of memory"
+ msgstr "mémoire épuisée"
+
+-#: toplev.c:1526
++#: toplev.c:1528
+ msgid "created and used with different settings of -fpic"
+ msgstr "créé et utilisé avec des configurations différentes de -fpic"
+
+-#: toplev.c:1528
++#: toplev.c:1530
+ msgid "created and used with different settings of -fpie"
+ msgstr "créé et utilisé avec des configurations différentes de -fpie"
+
+-#: tree-inline.c:2571
++#: tree-inline.c:2657
+ #, fuzzy
+ msgid "originally indirect function call not considered for inlining"
+ msgstr "fonctions externes enlignes redéfinies n'ont pas été retenues pour l'enlignage"
+@@ -2539,7 +2539,7 @@
+ msgstr ""
+
+ #: params.def:93
+-msgid "The threshold ratio between current and hotest structure counts"
++msgid "The threshold ratio between current and hottest structure counts"
+ msgstr ""
+
+ #: params.def:110
+@@ -2950,114 +2950,122 @@
+ msgid "Maximum length of partial antic set when performing tree pre optimization"
+ msgstr ""
+
+-#: config/alpha/alpha.c:5015
++#: params.def:723
++msgid "Maximum size of a SCC before SCCVN stops processing a function"
++msgstr ""
++
++#: params.def:729
++msgid "Multiplier used for determining the double-queueing threshold"
++msgstr ""
++
++#: config/alpha/alpha.c:5023
+ #, c-format
+ msgid "invalid %%H value"
+ msgstr "valeur %%H invalide"
+
+-#: config/alpha/alpha.c:5036 config/bfin/bfin.c:1423
++#: config/alpha/alpha.c:5044 config/bfin/bfin.c:1516
+ #, c-format
+ msgid "invalid %%J value"
+ msgstr "valeur %%J invalide"
+
+-#: config/alpha/alpha.c:5066 config/ia64/ia64.c:4718
++#: config/alpha/alpha.c:5074 config/ia64/ia64.c:4719
+ #, c-format
+ msgid "invalid %%r value"
+ msgstr "valeur %%r invalide"
+
+-#: config/alpha/alpha.c:5076 config/ia64/ia64.c:4672
+-#: config/rs6000/rs6000.c:11670 config/xtensa/xtensa.c:2036
++#: config/alpha/alpha.c:5084 config/ia64/ia64.c:4673
++#: config/rs6000/rs6000.c:11881 config/xtensa/xtensa.c:2042
+ #, c-format
+ msgid "invalid %%R value"
+ msgstr "valeur %%R invalide"
+
+-#: config/alpha/alpha.c:5082 config/rs6000/rs6000.c:11589
+-#: config/xtensa/xtensa.c:2003
++#: config/alpha/alpha.c:5090 config/rs6000/rs6000.c:11800
++#: config/xtensa/xtensa.c:2009
+ #, c-format
+ msgid "invalid %%N value"
+ msgstr "valeur %%N invalide"
+
+-#: config/alpha/alpha.c:5090 config/rs6000/rs6000.c:11617
++#: config/alpha/alpha.c:5098 config/rs6000/rs6000.c:11828
+ #, c-format
+ msgid "invalid %%P value"
+ msgstr "valeur %%P invalide"
+
+-#: config/alpha/alpha.c:5098
++#: config/alpha/alpha.c:5106
+ #, c-format
+ msgid "invalid %%h value"
+ msgstr "valeur %%h invalide"
+
+-#: config/alpha/alpha.c:5106 config/xtensa/xtensa.c:2029
++#: config/alpha/alpha.c:5114 config/xtensa/xtensa.c:2035
+ #, c-format
+ msgid "invalid %%L value"
+ msgstr "valeur %%L invalide"
+
+-#: config/alpha/alpha.c:5145 config/rs6000/rs6000.c:11571
++#: config/alpha/alpha.c:5153 config/rs6000/rs6000.c:11782
+ #, c-format
+ msgid "invalid %%m value"
+ msgstr "valeur %%m invalide"
+
+-#: config/alpha/alpha.c:5153 config/rs6000/rs6000.c:11579
++#: config/alpha/alpha.c:5161 config/rs6000/rs6000.c:11790
+ #, c-format
+ msgid "invalid %%M value"
+ msgstr "valeur %%M invalide"
+
+-#: config/alpha/alpha.c:5197
++#: config/alpha/alpha.c:5205
+ #, c-format
+ msgid "invalid %%U value"
+ msgstr "valeur %%U invalide"
+
+-#: config/alpha/alpha.c:5209 config/alpha/alpha.c:5223
+-#: config/rs6000/rs6000.c:11678
++#: config/alpha/alpha.c:5217 config/alpha/alpha.c:5231
++#: config/rs6000/rs6000.c:11889
+ #, c-format
+ msgid "invalid %%s value"
+ msgstr "valeur %%s invalide"
+
+-#: config/alpha/alpha.c:5246
++#: config/alpha/alpha.c:5254
+ #, c-format
+ msgid "invalid %%C value"
+ msgstr "valeur %%C invalide"
+
+-#: config/alpha/alpha.c:5283 config/rs6000/rs6000.c:11406
+-#: config/rs6000/rs6000.c:11425
++#: config/alpha/alpha.c:5291 config/rs6000/rs6000.c:11617
++#: config/rs6000/rs6000.c:11636
+ #, c-format
+ msgid "invalid %%E value"
+ msgstr "valeur %%E invalide"
+
+-#: config/alpha/alpha.c:5308 config/alpha/alpha.c:5356
++#: config/alpha/alpha.c:5316 config/alpha/alpha.c:5364
+ #, c-format
+ msgid "unknown relocation unspec"
+ msgstr "relocalisation unspec inconnue"
+
+-#: config/alpha/alpha.c:5317 config/crx/crx.c:1081
+-#: config/rs6000/rs6000.c:12005 config/spu/spu.c:1492
++#: config/alpha/alpha.c:5325 config/crx/crx.c:1081
++#: config/rs6000/rs6000.c:12216 config/spu/spu.c:1482
+ #, c-format
+ msgid "invalid %%xn code"
+ msgstr "valeur %%xn invalide"
+
+-#: config/arc/arc.c:1724 config/m32r/m32r.c:1805
++#: config/arc/arc.c:1728 config/m32r/m32r.c:1805
+ #, c-format
+ msgid "invalid operand to %%R code"
+ msgstr "opérande invalide pour le code %%R"
+
+-#: config/arc/arc.c:1756 config/m32r/m32r.c:1828
++#: config/arc/arc.c:1760 config/m32r/m32r.c:1828
+ #, c-format
+ msgid "invalid operand to %%H/%%L code"
+ msgstr "opérande invalide pour le code %%H/%%L"
+
+-#: config/arc/arc.c:1778 config/m32r/m32r.c:1899
++#: config/arc/arc.c:1782 config/m32r/m32r.c:1899
+ #, c-format
+ msgid "invalid operand to %%U code"
+ msgstr "opérande invalide pour le code %%U"
+
+-#: config/arc/arc.c:1789
++#: config/arc/arc.c:1793
+ #, c-format
+ msgid "invalid operand to %%V code"
+ msgstr "opérande invalide pour le code %%V"
+
+ #. Unknown flag.
+ #. Undocumented flag.
+-#: config/arc/arc.c:1796 config/m32r/m32r.c:1926 config/sparc/sparc.c:6995
++#: config/arc/arc.c:1800 config/m32r/m32r.c:1926 config/sparc/sparc.c:6998
+ #, c-format
+ msgid "invalid operand output code"
+ msgstr "opérande invalide pour le code de sortie"
+@@ -3082,9 +3090,9 @@
+ #: config/arm/arm.c:12830 config/arm/arm.c:12865 config/arm/arm.c:12884
+ #: config/arm/arm.c:12899 config/arm/arm.c:12927 config/arm/arm.c:12934
+ #: config/arm/arm.c:12942 config/arm/arm.c:12963 config/arm/arm.c:12970
+-#: config/bfin/bfin.c:1436 config/bfin/bfin.c:1443 config/bfin/bfin.c:1450
+-#: config/bfin/bfin.c:1457 config/bfin/bfin.c:1466 config/bfin/bfin.c:1473
+-#: config/bfin/bfin.c:1480 config/bfin/bfin.c:1487
++#: config/bfin/bfin.c:1529 config/bfin/bfin.c:1536 config/bfin/bfin.c:1543
++#: config/bfin/bfin.c:1550 config/bfin/bfin.c:1559 config/bfin/bfin.c:1566
++#: config/bfin/bfin.c:1573 config/bfin/bfin.c:1580
+ #, fuzzy, c-format
+ msgid "invalid operand for code '%c'"
+ msgstr "opérande invalide pour « %c »"
+@@ -3100,244 +3108,162 @@
+ msgid "missing operand"
+ msgstr "parenthèse ouvrante manquante"
+
+-#: config/avr/avr.c:1022
++#: config/avr/avr.c:1062
+ #, fuzzy, c-format
+ msgid "address operand requires constraint for X, Y, or Z register"
+ msgstr "contrainte de lecture-éccriture ne permet pas de registre"
+
+-#: config/avr/avr.c:1129
++#: config/avr/avr.c:1169
+ msgid "bad address, not (reg+disp):"
+ msgstr "adresse erronée, pas (reg+disp):"
+
+-#: config/avr/avr.c:1136
++#: config/avr/avr.c:1176
+ #, fuzzy
+ msgid "bad address, not post_inc or pre_dec:"
+ msgstr "adresse erronée, pas (reg+disp):"
+
+-#: config/avr/avr.c:1147
++#: config/avr/avr.c:1187
+ msgid "internal compiler error. Bad address:"
+ msgstr "erreur internal du compilateur. Adresse erronée:"
+
+-#: config/avr/avr.c:1160
++#: config/avr/avr.c:1200
+ msgid "internal compiler error. Unknown mode:"
+ msgstr "erreur internal du compilateur. Mode inconnu:"
+
+-#: config/avr/avr.c:1775 config/avr/avr.c:2463
++#: config/avr/avr.c:1815 config/avr/avr.c:2503
+ msgid "invalid insn:"
+ msgstr "insn invalide:"
+
+-#: config/avr/avr.c:1814 config/avr/avr.c:1900 config/avr/avr.c:1949
+-#: config/avr/avr.c:1977 config/avr/avr.c:2072 config/avr/avr.c:2241
+-#: config/avr/avr.c:2502 config/avr/avr.c:2614
++#: config/avr/avr.c:1854 config/avr/avr.c:1940 config/avr/avr.c:1989
++#: config/avr/avr.c:2017 config/avr/avr.c:2112 config/avr/avr.c:2281
++#: config/avr/avr.c:2542 config/avr/avr.c:2654
+ msgid "incorrect insn:"
+ msgstr "insn incoorect:"
+
+-#: config/avr/avr.c:1996 config/avr/avr.c:2157 config/avr/avr.c:2312
+-#: config/avr/avr.c:2680
++#: config/avr/avr.c:2036 config/avr/avr.c:2197 config/avr/avr.c:2352
++#: config/avr/avr.c:2720
+ msgid "unknown move insn:"
+ msgstr "insn de déplacement inconnu:"
+
+-#: config/avr/avr.c:2910
++#: config/avr/avr.c:2950
+ msgid "bad shift insn:"
+ msgstr "décalage insn erroné:"
+
+-#: config/avr/avr.c:3026 config/avr/avr.c:3446 config/avr/avr.c:3804
++#: config/avr/avr.c:3066 config/avr/avr.c:3486 config/avr/avr.c:3844
+ msgid "internal compiler error. Incorrect shift:"
+ msgstr "erreur internal du compilateur. Décalage incorrect:"
+
+-#: config/bfin/bfin.c:1385
++#: config/bfin/bfin.c:1478
+ #, c-format
+ msgid "invalid %%j value"
+ msgstr "valeur %%j invalide"
+
+-#: config/bfin/bfin.c:1578
++#: config/bfin/bfin.c:1671
+ #, fuzzy, c-format
+ msgid "invalid const_double operand"
+ msgstr "contrainte invalide pour l'opérande"
+
+-#: config/c4x/c4x.c:1583
+-msgid "using CONST_DOUBLE for address"
+-msgstr "CONST_DOUBLE utilisé pour l'adresse"
+-
+-#: config/c4x/c4x.c:1721
+-msgid "c4x_address_cost: Invalid addressing mode"
+-msgstr "c4x_address_cost: mode d'adressage invalide"
+-
+-#: config/c4x/c4x.c:1856
+-#, c-format
+-msgid "c4x_print_operand: %%L inconsistency"
+-msgstr "c4x_print_operand: %%L inconsistent"
+-
+-#: config/c4x/c4x.c:1862
+-#, c-format
+-msgid "c4x_print_operand: %%N inconsistency"
+-msgstr "c4x_print_operand: %%N inconsistent"
+-
+-#: config/c4x/c4x.c:1903
+-#, c-format
+-msgid "c4x_print_operand: %%O inconsistency"
+-msgstr "c4x_print_operand: %%O inconsisten"
+-
+-#: config/c4x/c4x.c:1998
+-msgid "c4x_print_operand: Bad operand case"
+-msgstr "c4x_print_operand: opérande erronée pour un case"
+-
+-#: config/c4x/c4x.c:2039
+-msgid "c4x_print_operand_address: Bad post_modify"
+-msgstr "c4x_print_operand_address: post-modification erronée"
+-
+-#: config/c4x/c4x.c:2061
+-msgid "c4x_print_operand_address: Bad pre_modify"
+-msgstr "c4x_print_operand_address: pré-modification erronée"
+-
+-#: config/c4x/c4x.c:2109 config/c4x/c4x.c:2121 config/c4x/c4x.c:2136
+-msgid "c4x_print_operand_address: Bad operand case"
+-msgstr "c4x_print_operand_address: opérande erronée pour un case"
+-
+-#: config/c4x/c4x.c:2387
+-msgid "c4x_rptb_insert: Cannot find start label"
+-msgstr "c4x_rptb_insert: ne peut repérer l'étiquette de départ"
+-
+-#: config/c4x/c4x.c:2985
+-msgid "invalid indirect memory address"
+-msgstr "adresse mémoire d'indirection invalide"
+-
+-#: config/c4x/c4x.c:3074
+-msgid "invalid indirect (S) memory address"
+-msgstr "adresse mémoire (S) d'indirection invalide"
+-
+-#: config/c4x/c4x.c:3409
+-msgid "c4x_valid_operands: Internal error"
+-msgstr "c4x_valid_operands: erreur interne"
+-
+-#: config/c4x/c4x.c:3848
+-msgid "c4x_operand_subword: invalid mode"
+-msgstr "c4x_oprande_subword: mode invalide"
+-
+-#: config/c4x/c4x.c:3851
+-msgid "c4x_operand_subword: invalid operand"
+-msgstr "c4x_operand_subword: opérande invalide"
+-
+-#. We could handle these with some difficulty.
+-#. e.g., *p-- => *(p-=2); *(p+1).
+-#: config/c4x/c4x.c:3877
+-msgid "c4x_operand_subword: invalid autoincrement"
+-msgstr "c4x_operand_subword: autoincrement invalide"
+-
+-#: config/c4x/c4x.c:3883
+-msgid "c4x_operand_subword: invalid address"
+-msgstr "c4x_operand_subword: adresse invalide"
+-
+-#: config/c4x/c4x.c:3894
+-msgid "c4x_operand_subword: address not offsettable"
+-msgstr "c4x_operand_subword: un décalage d'adresse ne peut s'appliquer sur cette adresse"
+-
+-#: config/c4x/c4x.c:4096
+-#, fuzzy
+-msgid "c4x_rptb_rpts_p: Repeat block top label moved"
+-msgstr "c4x_rptb_rpts_p: étiquette supérieur de bloc de répétition déplacée\n"
+-
+ #. Use `%s' to print the string in case there are any escape
+ #. characters in the message.
+-#: config/cris/cris.c:491 fortran/dump-parse-tree.c:78
+-#: fortran/dump-parse-tree.c:430 fortran/dump-parse-tree.c:776
+-#: fortran/dump-parse-tree.c:821 c-typeck.c:4607 c-typeck.c:4622
+-#: c-typeck.c:4637 final.c:2984 final.c:2986 gcc.c:4737 loop-iv.c:2807
+-#: loop-iv.c:2816 rtl-error.c:112 toplev.c:610 tree-ssa-loop-niter.c:1829
+-#: cp/parser.c:2188 cp/typeck.c:4559 java/expr.c:409
++#: config/cris/cris.c:504 fortran/dump-parse-tree.c:78
++#: fortran/dump-parse-tree.c:430 fortran/dump-parse-tree.c:798
++#: fortran/dump-parse-tree.c:843 c-typeck.c:4618 c-typeck.c:4633
++#: c-typeck.c:4648 final.c:2997 final.c:2999 gcc.c:4731 loop-iv.c:2808
++#: loop-iv.c:2817 rtl-error.c:112 toplev.c:610 tree-ssa-loop-niter.c:1829
++#: cp/parser.c:2192 cp/typeck.c:4567 java/expr.c:409
+ #, gcc-internal-format
+ msgid "%s"
+ msgstr "%s"
+
+-#: config/cris/cris.c:542
++#: config/cris/cris.c:555
+ msgid "unexpected index-type in cris_print_index"
+ msgstr "type d'index inattendu dans cris_print_index"
+
+-#: config/cris/cris.c:556
++#: config/cris/cris.c:572
+ msgid "unexpected base-type in cris_print_base"
+ msgstr "type de base inattendu dans cris_print_base"
+
+-#: config/cris/cris.c:672
++#: config/cris/cris.c:688
+ msgid "invalid operand for 'b' modifier"
+ msgstr "opérande invalide pour le modificateur « b »"
+
+-#: config/cris/cris.c:689
++#: config/cris/cris.c:705
+ #, fuzzy
+ msgid "invalid operand for 'o' modifier"
+ msgstr "opérande invalide pour le modificateur « b »"
+
+-#: config/cris/cris.c:708
++#: config/cris/cris.c:724
+ #, fuzzy
+ msgid "invalid operand for 'O' modifier"
+ msgstr "opérande invalide pour le modificateur « b »"
+
+-#: config/cris/cris.c:741
++#: config/cris/cris.c:757
+ msgid "invalid operand for 'p' modifier"
+ msgstr "opérande invalide pour le modificateur « p »"
+
+-#: config/cris/cris.c:780
++#: config/cris/cris.c:796
+ msgid "invalid operand for 'z' modifier"
+ msgstr "opérande invalide pour le modificateur « z »"
+
+-#: config/cris/cris.c:834 config/cris/cris.c:864
++#: config/cris/cris.c:860 config/cris/cris.c:894
+ msgid "invalid operand for 'H' modifier"
+ msgstr "opérande invalide pour le modificateur « H »"
+
+-#: config/cris/cris.c:840
++#: config/cris/cris.c:870
+ msgid "bad register"
+ msgstr "registre erroné"
+
+-#: config/cris/cris.c:884
++#: config/cris/cris.c:914
+ msgid "invalid operand for 'e' modifier"
+ msgstr "opérande invalide pour le modificateur « e »"
+
+-#: config/cris/cris.c:901
++#: config/cris/cris.c:931
+ msgid "invalid operand for 'm' modifier"
+ msgstr "opérande invalide pour le modificateur « m »"
+
+-#: config/cris/cris.c:926
++#: config/cris/cris.c:956
+ msgid "invalid operand for 'A' modifier"
+ msgstr "opérande invalide pour le modificateur « A »"
+
+-#: config/cris/cris.c:949
++#: config/cris/cris.c:979
+ msgid "invalid operand for 'D' modifier"
+ msgstr "opérande invalide pour le modificateur « D »"
+
+-#: config/cris/cris.c:963
++#: config/cris/cris.c:993
+ msgid "invalid operand for 'T' modifier"
+ msgstr "opérande invalide pour le modificateur « T »"
+
+-#: config/cris/cris.c:972
++#: config/cris/cris.c:1013
+ msgid "invalid operand modifier letter"
+ msgstr "opérande invalide pour le modificateur de lettre"
+
+-#: config/cris/cris.c:1029
++#: config/cris/cris.c:1070
+ msgid "unexpected multiplicative operand"
+ msgstr "opérande multiplicative inattendue"
+
+-#: config/cris/cris.c:1049
++#: config/cris/cris.c:1090
+ msgid "unexpected operand"
+ msgstr "opérande inattendue"
+
+-#: config/cris/cris.c:1082 config/cris/cris.c:1092
++#: config/cris/cris.c:1123 config/cris/cris.c:1133
+ msgid "unrecognized address"
+ msgstr "adresse non reconnue"
+
+-#: config/cris/cris.c:2019
++#: config/cris/cris.c:2209
+ msgid "unrecognized supposed constant"
+ msgstr "supposée constante non reconnue"
+
+-#: config/cris/cris.c:2394 config/cris/cris.c:2458
++#: config/cris/cris.c:2638 config/cris/cris.c:2702
+ msgid "unexpected side-effects in address"
+ msgstr "effets de bord inattendue dans l'adresse"
+
+ #. Can't possibly get a GOT-needing-fixup for a function-call,
+ #. right?
+-#: config/cris/cris.c:3253
++#: config/cris/cris.c:3539
+ msgid "Unidentifiable call op"
+ msgstr ""
+
+-#: config/cris/cris.c:3304
++#: config/cris/cris.c:3590
+ #, c-format
+ msgid "PIC register isn't set up"
+ msgstr "le registre n'est pas initialisé"
+@@ -3388,97 +3314,97 @@
+ msgid "fr30_print_operand: unhandled MEM"
+ msgstr "fr30_print_operand: MEM non traité"
+
+-#: config/frv/frv.c:2542
++#: config/frv/frv.c:2546
+ #, fuzzy
+ msgid "bad insn to frv_print_operand_address:"
+ msgstr "insn erroné pour frv_print_operand_addresse:"
+
+-#: config/frv/frv.c:2553
++#: config/frv/frv.c:2557
+ #, fuzzy
+ msgid "bad register to frv_print_operand_memory_reference_reg:"
+ msgstr "registre erroné pour frv_print_operand_memory_reference_reg:"
+
+-#: config/frv/frv.c:2592 config/frv/frv.c:2602 config/frv/frv.c:2611
+-#: config/frv/frv.c:2632 config/frv/frv.c:2637
++#: config/frv/frv.c:2596 config/frv/frv.c:2606 config/frv/frv.c:2615
++#: config/frv/frv.c:2636 config/frv/frv.c:2641
+ #, fuzzy
+ msgid "bad insn to frv_print_operand_memory_reference:"
+ msgstr "insn erroné pour frv_print_operand_memory_reference:"
+
+-#: config/frv/frv.c:2723
++#: config/frv/frv.c:2727
+ #, fuzzy, c-format
+ msgid "bad condition code"
+ msgstr "construit interne erroné de fcode"
+
+-#: config/frv/frv.c:2798
++#: config/frv/frv.c:2802
+ #, fuzzy
+ msgid "bad insn in frv_print_operand, bad const_double"
+ msgstr "insn erroné dans frv_print_operand, bad const_double"
+
+-#: config/frv/frv.c:2859
++#: config/frv/frv.c:2863
+ #, fuzzy
+ msgid "bad insn to frv_print_operand, 'e' modifier:"
+ msgstr "insn erroné pour frv_print_operand, modificateur « e »:"
+
+-#: config/frv/frv.c:2867
++#: config/frv/frv.c:2871
+ #, fuzzy
+ msgid "bad insn to frv_print_operand, 'F' modifier:"
+ msgstr "insn erroné pour frv_print_operand, modificateur « F »:"
+
+-#: config/frv/frv.c:2883
++#: config/frv/frv.c:2887
+ #, fuzzy
+ msgid "bad insn to frv_print_operand, 'f' modifier:"
+ msgstr "insn erroné pour frv_print_operand, modificateur « f »:"
+
+-#: config/frv/frv.c:2897
++#: config/frv/frv.c:2901
+ #, fuzzy
+ msgid "bad insn to frv_print_operand, 'g' modifier:"
+ msgstr "insn erroné pour frv_print_operand, modificateur « C »:"
+
+-#: config/frv/frv.c:2945
++#: config/frv/frv.c:2949
+ #, fuzzy
+ msgid "bad insn to frv_print_operand, 'L' modifier:"
+ msgstr "insn erroné pour frv_print_operand, modificateur « L »:"
+
+-#: config/frv/frv.c:2958
++#: config/frv/frv.c:2962
+ #, fuzzy
+ msgid "bad insn to frv_print_operand, 'M/N' modifier:"
+ msgstr "insn erroné pour frv_print_operand, modificateur « M/N »:"
+
+-#: config/frv/frv.c:2979
++#: config/frv/frv.c:2983
+ #, fuzzy
+ msgid "bad insn to frv_print_operand, 'O' modifier:"
+ msgstr "insn erroné pour frv_print_operand, modificateur « O »:"
+
+-#: config/frv/frv.c:2997
++#: config/frv/frv.c:3001
+ #, fuzzy
+ msgid "bad insn to frv_print_operand, P modifier:"
+ msgstr "insn erroné pour frv_print_operand, modificateur « P »:"
+
+-#: config/frv/frv.c:3017
++#: config/frv/frv.c:3021
+ #, fuzzy
+ msgid "bad insn in frv_print_operand, z case"
+ msgstr "insn erroné dans frv_print_operand, case z"
+
+-#: config/frv/frv.c:3048
++#: config/frv/frv.c:3052
+ #, fuzzy
+ msgid "bad insn in frv_print_operand, 0 case"
+ msgstr "insn erroné dans frv_print_operand, case 0"
+
+-#: config/frv/frv.c:3053
++#: config/frv/frv.c:3057
+ msgid "frv_print_operand: unknown code"
+ msgstr "frv_print_operand: code inconnu"
+
+-#: config/frv/frv.c:4422
++#: config/frv/frv.c:4426
+ #, fuzzy
+ msgid "bad output_move_single operand"
+ msgstr "opérande output_move_single erronée"
+
+-#: config/frv/frv.c:4549
++#: config/frv/frv.c:4553
+ #, fuzzy
+ msgid "bad output_move_double operand"
+ msgstr "opérande output_move_double erronée"
+
+-#: config/frv/frv.c:4691
++#: config/frv/frv.c:4695
+ #, fuzzy
+ msgid "bad output_condmove_single operand"
+ msgstr "opérande output_condmove_single erronée"
+@@ -3497,27 +3423,27 @@
+ msgid " (frv)"
+ msgstr " (frv)"
+
+-#: config/i386/i386.c:8218
++#: config/i386/i386.c:8273
+ #, c-format
+ msgid "invalid UNSPEC as operand"
+ msgstr "UNSPEC invalide comme opérande"
+
+-#: config/i386/i386.c:8924
++#: config/i386/i386.c:8979
+ #, c-format
+ msgid "operand is neither a constant nor a condition code, invalid operand code 'c'"
+ msgstr "l'opérande n'est ni une constante ni du code de condition, code d'opérande invalide « c »"
+
+-#: config/i386/i386.c:9040
++#: config/i386/i386.c:9095
+ #, fuzzy, c-format
+ msgid "invalid operand code '%c'"
+ msgstr "opérande invalide pour « %c »"
+
+-#: config/i386/i386.c:9089
++#: config/i386/i386.c:9144
+ #, c-format
+ msgid "invalid constraints for operand"
+ msgstr "contrainte invalide pour l'opérande"
+
+-#: config/i386/i386.c:16348
++#: config/i386/i386.c:16423
+ msgid "unknown insn mode"
+ msgstr "mode insn inconnu"
+
+@@ -3538,37 +3464,37 @@
+ msgid "environment variable DJGPP points to corrupt file '%s'"
+ msgstr "variable d'environment DJGPP pointe vers un fichier corrompu « %s »"
+
+-#: config/ia64/ia64.c:4770
++#: config/ia64/ia64.c:4771
+ #, c-format
+ msgid "ia64_print_operand: unknown code"
+ msgstr "ia64_print_operand: code inconnu"
+
+-#: config/ia64/ia64.c:9889
++#: config/ia64/ia64.c:9890
+ #, fuzzy
+ msgid "invalid conversion from %<__fpreg%>"
+ msgstr "conversion invalide de « %T » vers « %T »"
+
+-#: config/ia64/ia64.c:9892
++#: config/ia64/ia64.c:9893
+ #, fuzzy
+ msgid "invalid conversion to %<__fpreg%>"
+ msgstr "conversion invalide vers un type « %T » à partir du type « %T »"
+
+-#: config/ia64/ia64.c:9905 config/ia64/ia64.c:9916
++#: config/ia64/ia64.c:9906 config/ia64/ia64.c:9917
+ #, fuzzy
+ msgid "invalid operation on %<__fpreg%>"
+ msgstr "opération invalide pour des tableaux de caractères"
+
+-#: config/iq2000/iq2000.c:3118
++#: config/iq2000/iq2000.c:3122
+ #, c-format
+ msgid "invalid %%P operand"
+ msgstr "opérande %%P invalide"
+
+-#: config/iq2000/iq2000.c:3126 config/rs6000/rs6000.c:11607
++#: config/iq2000/iq2000.c:3130 config/rs6000/rs6000.c:11818
+ #, c-format
+ msgid "invalid %%p value"
+ msgstr "valeur %%p invalide"
+
+-#: config/iq2000/iq2000.c:3182
++#: config/iq2000/iq2000.c:3186
+ #, c-format
+ msgid "invalid use of %%d, %%x, or %%X"
+ msgstr "utilisation invalide de %%d, %%x, ou %%X"
+@@ -3610,7 +3536,7 @@
+ msgstr "post-incrément d'adresse n'est pas un registre"
+
+ #: config/m32r/m32r.c:2030 config/m32r/m32r.c:2044
+-#: config/rs6000/rs6000.c:19870
++#: config/rs6000/rs6000.c:20087
+ msgid "bad address"
+ msgstr "adresse erronée"
+
+@@ -3656,59 +3582,59 @@
+ msgid "invalid Z register replacement for insn"
+ msgstr "remplacement invalide de registre Z pour insn"
+
+-#: config/mips/mips.c:6313 config/mips/mips.c:6334 config/mips/mips.c:6438
++#: config/mips/mips.c:6371 config/mips/mips.c:6392 config/mips/mips.c:6496
+ #, fuzzy, c-format
+ msgid "'%%%c' is not a valid operand prefix"
+ msgstr "« %T » n'est pas une expression valide"
+
+-#: config/mips/mips.c:6382 config/mips/mips.c:6389 config/mips/mips.c:6396
+-#: config/mips/mips.c:6456
++#: config/mips/mips.c:6440 config/mips/mips.c:6447 config/mips/mips.c:6454
++#: config/mips/mips.c:6514
+ #, fuzzy, c-format
+ msgid "invalid use of '%%%c'"
+ msgstr "utilisation invalide de « %D »"
+
+-#: config/mips/mips.c:6701
++#: config/mips/mips.c:6761
+ msgid "mips_debugger_offset called with non stack/frame/arg pointer"
+ msgstr "mips_debugger_offset appellé avec un pointeur non stack/frame/arg"
+
+-#: config/mmix/mmix.c:1487 config/mmix/mmix.c:1617
++#: config/mmix/mmix.c:1483 config/mmix/mmix.c:1613
+ msgid "MMIX Internal: Expected a CONST_INT, not this"
+ msgstr "MMIX interne: attendait CONST_INT, pas ceci"
+
+-#: config/mmix/mmix.c:1566
++#: config/mmix/mmix.c:1562
+ msgid "MMIX Internal: Bad value for 'm', not a CONST_INT"
+ msgstr "MMIX interne: valeur erronée pour « m », pas un CONST_INT"
+
+-#: config/mmix/mmix.c:1585
++#: config/mmix/mmix.c:1581
+ msgid "MMIX Internal: Expected a register, not this"
+ msgstr "MMIX interne: attendait un registre, pas ceci"
+
+-#: config/mmix/mmix.c:1595
++#: config/mmix/mmix.c:1591
+ msgid "MMIX Internal: Expected a constant, not this"
+ msgstr "MMIX interne: attendait une constante, pas ceci"
+
+ #. We need the original here.
+-#: config/mmix/mmix.c:1679
++#: config/mmix/mmix.c:1675
+ msgid "MMIX Internal: Cannot decode this operand"
+ msgstr "MMIX interne: ne peut décoder cette opérande"
+
+-#: config/mmix/mmix.c:1736
++#: config/mmix/mmix.c:1732
+ msgid "MMIX Internal: This is not a recognized address"
+ msgstr "MMIX interne: ce n'est pas une adresse reconnue"
+
+-#: config/mmix/mmix.c:2669
++#: config/mmix/mmix.c:2665
+ msgid "MMIX Internal: Trying to output invalidly reversed condition:"
+ msgstr "MMIX interne: tentative de produire incorrectement une condition renversée:"
+
+-#: config/mmix/mmix.c:2676
++#: config/mmix/mmix.c:2672
+ msgid "MMIX Internal: What's the CC of this?"
+ msgstr "MMIX interne: quel sorte de CC est-ce?"
+
+-#: config/mmix/mmix.c:2680
++#: config/mmix/mmix.c:2676
+ msgid "MMIX Internal: What is the CC of this?"
+ msgstr "MMIX interne: quel sorte de CC est-ce?"
+
+-#: config/mmix/mmix.c:2744
++#: config/mmix/mmix.c:2740
+ msgid "MMIX Internal: This is not a constant:"
+ msgstr "interne MMIX: ce n'est pas une constante:"
+
+@@ -3736,82 +3662,82 @@
+ msgid "Try running '%s' in the shell to raise its limit.\n"
+ msgstr "Essayer d'exécuter « %s » dans le shell pour augmenter la limite.\n"
+
+-#: config/rs6000/rs6000.c:11434
++#: config/rs6000/rs6000.c:11645
+ #, c-format
+ msgid "invalid %%f value"
+ msgstr "valeur %%f invalide"
+
+-#: config/rs6000/rs6000.c:11443
++#: config/rs6000/rs6000.c:11654
+ #, c-format
+ msgid "invalid %%F value"
+ msgstr "valeur %%F invalide"
+
+-#: config/rs6000/rs6000.c:11452
++#: config/rs6000/rs6000.c:11663
+ #, c-format
+ msgid "invalid %%G value"
+ msgstr "valeur %%G invalide"
+
+-#: config/rs6000/rs6000.c:11487
++#: config/rs6000/rs6000.c:11698
+ #, c-format
+ msgid "invalid %%j code"
+ msgstr "valeur %%j invalide"
+
+-#: config/rs6000/rs6000.c:11497
++#: config/rs6000/rs6000.c:11708
+ #, c-format
+ msgid "invalid %%J code"
+ msgstr "valeur %%J invalide"
+
+-#: config/rs6000/rs6000.c:11507
++#: config/rs6000/rs6000.c:11718
+ #, c-format
+ msgid "invalid %%k value"
+ msgstr "valeur %%k invalide"
+
+-#: config/rs6000/rs6000.c:11527 config/xtensa/xtensa.c:2022
++#: config/rs6000/rs6000.c:11738 config/xtensa/xtensa.c:2028
+ #, c-format
+ msgid "invalid %%K value"
+ msgstr "valeur %%K invalide"
+
+-#: config/rs6000/rs6000.c:11597
++#: config/rs6000/rs6000.c:11808
+ #, c-format
+ msgid "invalid %%O value"
+ msgstr "valeur %%O invalide"
+
+-#: config/rs6000/rs6000.c:11644
++#: config/rs6000/rs6000.c:11855
+ #, c-format
+ msgid "invalid %%q value"
+ msgstr "valeur %%q invalide"
+
+-#: config/rs6000/rs6000.c:11688
++#: config/rs6000/rs6000.c:11899
+ #, c-format
+ msgid "invalid %%S value"
+ msgstr "valeur %%S invalide"
+
+-#: config/rs6000/rs6000.c:11728
++#: config/rs6000/rs6000.c:11939
+ #, c-format
+ msgid "invalid %%T value"
+ msgstr "valeur %%T invalide"
+
+-#: config/rs6000/rs6000.c:11738
++#: config/rs6000/rs6000.c:11949
+ #, c-format
+ msgid "invalid %%u value"
+ msgstr "valeur %%u invalide"
+
+-#: config/rs6000/rs6000.c:11747 config/xtensa/xtensa.c:1992
++#: config/rs6000/rs6000.c:11958 config/xtensa/xtensa.c:1998
+ #, c-format
+ msgid "invalid %%v value"
+ msgstr "valeur %%v invalide"
+
+-#: config/rs6000/rs6000.c:21768
++#: config/rs6000/rs6000.c:21946
+ #, fuzzy
+ msgid "AltiVec argument passed to unprototyped function"
+ msgstr "trop peu d'arguments pour la fonction"
+
+-#: config/s390/s390.c:4561
++#: config/s390/s390.c:4560
+ #, fuzzy, c-format
+ msgid "cannot decompose address"
+ msgstr "Ne pas décomposer l'adresse"
+
+-#: config/s390/s390.c:4771
++#: config/s390/s390.c:4770
+ msgid "UNKNOWN in print_operand !?"
+ msgstr "INCONNNU dans print_operand !?"
+
+@@ -3821,92 +3747,92 @@
+ msgid "invalid operand for code: '%c'"
+ msgstr "opérande invalide pour « %c »"
+
+-#: config/sh/sh.c:746
++#: config/sh/sh.c:749
+ #, fuzzy, c-format
+ msgid "invalid operand to %%R"
+ msgstr "opérande invalide pour le code %%R"
+
+-#: config/sh/sh.c:773
++#: config/sh/sh.c:776
+ #, fuzzy, c-format
+ msgid "invalid operand to %%S"
+ msgstr "opérande invalide pour le code %%R"
+
+-#: config/sh/sh.c:8095
++#: config/sh/sh.c:8098
+ #, fuzzy
+ msgid "created and used with different architectures / ABIs"
+ msgstr "créé et utilisé avec des configurations différentes de -fpic"
+
+-#: config/sh/sh.c:8097
++#: config/sh/sh.c:8100
+ #, fuzzy
+ msgid "created and used with different ABIs"
+ msgstr "créé et utilisé avec des configurations différentes de -fpic"
+
+-#: config/sh/sh.c:8099
++#: config/sh/sh.c:8102
+ #, fuzzy
+ msgid "created and used with different endianness"
+ msgstr "créé et utilisé avec des configurations différentes de -fpic"
+
+-#: config/sparc/sparc.c:6803 config/sparc/sparc.c:6809
++#: config/sparc/sparc.c:6806 config/sparc/sparc.c:6812
+ #, c-format
+ msgid "invalid %%Y operand"
+ msgstr "opérande %%Y invalide"
+
+-#: config/sparc/sparc.c:6879
++#: config/sparc/sparc.c:6882
+ #, c-format
+ msgid "invalid %%A operand"
+ msgstr "opérande %%A invalide"
+
+-#: config/sparc/sparc.c:6889
++#: config/sparc/sparc.c:6892
+ #, c-format
+ msgid "invalid %%B operand"
+ msgstr "Opérande %%B invalide"
+
+-#: config/sparc/sparc.c:6928
++#: config/sparc/sparc.c:6931
+ #, c-format
+ msgid "invalid %%c operand"
+ msgstr "opérande %%c invalide"
+
+-#: config/sparc/sparc.c:6950
++#: config/sparc/sparc.c:6953
+ #, c-format
+ msgid "invalid %%d operand"
+ msgstr "opérande %%d invalide"
+
+-#: config/sparc/sparc.c:6967
++#: config/sparc/sparc.c:6970
+ #, c-format
+ msgid "invalid %%f operand"
+ msgstr "opérande %%f invalide"
+
+-#: config/sparc/sparc.c:6981
++#: config/sparc/sparc.c:6984
+ #, c-format
+ msgid "invalid %%s operand"
+ msgstr "opérande %%s invalide"
+
+-#: config/sparc/sparc.c:7035
++#: config/sparc/sparc.c:7038
+ #, c-format
+ msgid "long long constant not a valid immediate operand"
+ msgstr "constante long long n'est pas une opérande immédiate valide"
+
+-#: config/sparc/sparc.c:7038
++#: config/sparc/sparc.c:7041
+ #, c-format
+ msgid "floating point constant not a valid immediate operand"
+ msgstr "constante en virgule flottante n'est pas une opérande immédiate valide"
+
+-#: config/stormy16/stormy16.c:1775 config/stormy16/stormy16.c:1846
++#: config/stormy16/stormy16.c:1748 config/stormy16/stormy16.c:1819
+ #, fuzzy, c-format
+ msgid "'B' operand is not constant"
+ msgstr "opérande « B » n'est pas une constante"
+
+-#: config/stormy16/stormy16.c:1802
++#: config/stormy16/stormy16.c:1775
+ #, fuzzy, c-format
+ msgid "'B' operand has multiple bits set"
+ msgstr "l'opérande « B » a de multiples jeux de bits"
+
+-#: config/stormy16/stormy16.c:1828
++#: config/stormy16/stormy16.c:1801
+ #, fuzzy, c-format
+ msgid "'o' operand is not constant"
+ msgstr "opérande « o » n'est pas une constante"
+
+-#: config/stormy16/stormy16.c:1860
++#: config/stormy16/stormy16.c:1833
+ #, c-format
+ msgid "xstormy16_print_operand: unknown code"
+ msgstr "xstormy16_print_operand: code inconnu"
+@@ -3919,56 +3845,56 @@
+ msgid "output_move_single:"
+ msgstr "output_move_single:"
+
+-#: config/xtensa/xtensa.c:652 config/xtensa/xtensa.c:684
+-#: config/xtensa/xtensa.c:693
++#: config/xtensa/xtensa.c:656 config/xtensa/xtensa.c:688
++#: config/xtensa/xtensa.c:697
+ msgid "bad test"
+ msgstr "test erroné"
+
+-#: config/xtensa/xtensa.c:1980
++#: config/xtensa/xtensa.c:1986
+ #, c-format
+ msgid "invalid %%D value"
+ msgstr "valeur %%D invalide"
+
+-#: config/xtensa/xtensa.c:2017
++#: config/xtensa/xtensa.c:2023
+ msgid "invalid mask"
+ msgstr "masque invalide"
+
+-#: config/xtensa/xtensa.c:2043
++#: config/xtensa/xtensa.c:2049
+ #, c-format
+ msgid "invalid %%x value"
+ msgstr "valeur %%x invalide"
+
+-#: config/xtensa/xtensa.c:2050
++#: config/xtensa/xtensa.c:2056
+ #, c-format
+ msgid "invalid %%d value"
+ msgstr "valeur %%d invalide"
+
+-#: config/xtensa/xtensa.c:2071 config/xtensa/xtensa.c:2081
++#: config/xtensa/xtensa.c:2077 config/xtensa/xtensa.c:2087
+ #, c-format
+ msgid "invalid %%t/%%b value"
+ msgstr "valeur %%t/%%b invalide"
+
+-#: config/xtensa/xtensa.c:2123
++#: config/xtensa/xtensa.c:2129
+ msgid "invalid address"
+ msgstr "adresse invalide"
+
+-#: config/xtensa/xtensa.c:2148
++#: config/xtensa/xtensa.c:2154
+ msgid "no register in address"
+ msgstr "pas de registre dans l'adresse"
+
+-#: config/xtensa/xtensa.c:2156
++#: config/xtensa/xtensa.c:2162
+ msgid "address offset not a constant"
+ msgstr "décalage d'adresse n'est pas une constante"
+
+-#: cp/call.c:2514
++#: cp/call.c:2500
+ msgid "candidates are:"
+ msgstr "candidats sont:"
+
+-#: cp/call.c:6463
++#: cp/call.c:6487
+ msgid "candidate 1:"
+ msgstr "candidat 1:"
+
+-#: cp/call.c:6464
++#: cp/call.c:6488
+ msgid "candidate 2:"
+ msgstr "candidat 2:"
+
+@@ -4017,52 +3943,52 @@
+ msgid "Integer outside symmetric range implied by Standard Fortran at %L"
+ msgstr ""
+
+-#: fortran/arith.c:1425
++#: fortran/arith.c:1472
+ #, fuzzy
+ msgid "elemental binary operation"
+ msgstr "opérateur binaire manquant"
+
+-#: fortran/arith.c:1997
++#: fortran/arith.c:2044
+ #, fuzzy, no-c-format
+ msgid "Arithmetic OK converting %s to %s at %L"
+ msgstr "échec de conversion de %s vers %s"
+
+-#: fortran/arith.c:2001
++#: fortran/arith.c:2048
+ #, no-c-format
+ msgid "Arithmetic overflow converting %s to %s at %L. This check can be disabled with the option -fno-range-check"
+ msgstr ""
+
+-#: fortran/arith.c:2006
++#: fortran/arith.c:2053
+ #, no-c-format
+ msgid "Arithmetic underflow converting %s to %s at %L"
+ msgstr ""
+
+-#: fortran/arith.c:2010
++#: fortran/arith.c:2057
+ #, no-c-format
+ msgid "Arithmetic NaN converting %s to %s at %L"
+ msgstr ""
+
+-#: fortran/arith.c:2014
++#: fortran/arith.c:2061
+ #, fuzzy, no-c-format
+ msgid "Division by zero converting %s to %s at %L"
+ msgstr "division par zéro dans « %E %% 0 »"
+
+-#: fortran/arith.c:2018
++#: fortran/arith.c:2065
+ #, no-c-format
+ msgid "Array operands are incommensurate converting %s to %s at %L"
+ msgstr ""
+
+-#: fortran/arith.c:2022
++#: fortran/arith.c:2069
+ #, no-c-format
+ msgid "Integer outside symmetric range implied by Standard Fortran converting %s to %s at %L"
+ msgstr ""
+
+-#: fortran/arith.c:2355
++#: fortran/arith.c:2402
+ #, fuzzy, no-c-format
+ msgid "The Hollerith constant at %L is too long to convert to %s"
+ msgstr "constante caractère à %0 n'a pas d'apostrophe de fermeture à %1"
+
+-#: fortran/arith.c:2513
++#: fortran/arith.c:2560
+ #, no-c-format
+ msgid "Enumerator exceeds the C integer type at %C"
+ msgstr ""
+@@ -4092,72 +4018,72 @@
+ msgid "Variable '%s' at %L in this context must be constant"
+ msgstr "répétitions d'expressions doit être une constante"
+
+-#: fortran/array.c:299
++#: fortran/array.c:314
+ #, no-c-format
+ msgid "Expected expression in array specification at %C"
+ msgstr ""
+
+-#: fortran/array.c:386
++#: fortran/array.c:392
+ #, no-c-format
+ msgid "Bad array specification for an explicitly shaped array at %C"
+ msgstr ""
+
+-#: fortran/array.c:396
++#: fortran/array.c:402
+ #, no-c-format
+ msgid "Bad array specification for assumed shape array at %C"
+ msgstr ""
+
+-#: fortran/array.c:410
++#: fortran/array.c:416
+ #, fuzzy, no-c-format
+ msgid "Bad specification for deferred shape array at %C"
+ msgstr "aucune spécification pour l'itération DO-implicite « %A » à %0"
+
+-#: fortran/array.c:414
++#: fortran/array.c:420
+ #, fuzzy, no-c-format
+ msgid "Bad specification for assumed size array at %C"
+ msgstr "aucune spécification pour l'itération DO-implicite « %A » à %0"
+
+-#: fortran/array.c:423
++#: fortran/array.c:429
+ #, fuzzy, no-c-format
+ msgid "Expected another dimension in array declaration at %C"
+ msgstr "Ne peut spécifier la dimension du tableau dans la déclaration"
+
+-#: fortran/array.c:429
++#: fortran/array.c:435
+ #, no-c-format
+ msgid "Array specification at %C has more than %d dimensions"
+ msgstr ""
+
+-#: fortran/array.c:635
++#: fortran/array.c:641
+ #, fuzzy, no-c-format
+ msgid "duplicated initializer"
+ msgstr "initialisation invalide"
+
+-#: fortran/array.c:727
++#: fortran/array.c:733
+ #, no-c-format
+ msgid "DO-iterator '%s' at %L is inside iterator of the same name"
+ msgstr ""
+
+-#: fortran/array.c:829 fortran/array.c:938
++#: fortran/array.c:835 fortran/array.c:944
+ #, fuzzy, no-c-format
+ msgid "Syntax error in array constructor at %C"
+ msgstr "erreur de syntaxe dans l,action"
+
+-#: fortran/array.c:884
++#: fortran/array.c:890
+ #, no-c-format
+ msgid "Fortran 2003: [...] style array constructors at %C"
+ msgstr ""
+
+-#: fortran/array.c:898
++#: fortran/array.c:904
+ #, fuzzy, no-c-format
+ msgid "Empty array constructor at %C is not allowed"
+ msgstr "instructions min/max ne sont pas permises"
+
+-#: fortran/array.c:982
++#: fortran/array.c:988
+ #, no-c-format
+ msgid "Element in %s array constructor at %L is %s"
+ msgstr ""
+
+-#: fortran/array.c:1309
++#: fortran/array.c:1315
+ #, no-c-format
+ msgid "Iterator step at %L cannot be zero"
+ msgstr ""
+@@ -4177,7 +4103,7 @@
+ msgid "'%s' argument of '%s' intrinsic at %L must be a numeric type"
+ msgstr "argument de « %s » doit être de type entier"
+
+-#: fortran/check.c:101 fortran/check.c:817 fortran/check.c:827
++#: fortran/check.c:101 fortran/check.c:810 fortran/check.c:820
+ #, no-c-format
+ msgid "'%s' argument of '%s' intrinsic at %L must be INTEGER or REAL"
+ msgstr ""
+@@ -4242,220 +4168,215 @@
+ msgid "'%s' argument of '%s' intrinsic at %L must be a variable"
+ msgstr "premier argument de « %s » doit être un mode"
+
+-#: fortran/check.c:320
+-#, fuzzy, no-c-format
+-msgid "Missing DIM parameter in intrinsic '%s' at %L"
+-msgstr "intrinsèque «%A» non implanté à %0"
+-
+-#: fortran/check.c:363
++#: fortran/check.c:356
+ #, no-c-format
+ msgid "'dim' argument of '%s' intrinsic at %L is not a valid dimension index"
+ msgstr ""
+
+-#: fortran/check.c:433
++#: fortran/check.c:426
+ #, no-c-format
+ msgid "Unequal character lengths (%ld and %ld) in %s intrinsic at %L"
+ msgstr ""
+
+-#: fortran/check.c:535 fortran/check.c:1938 fortran/check.c:1953
++#: fortran/check.c:528 fortran/check.c:1932 fortran/check.c:1947
+ #, no-c-format
+ msgid "'%s' argument of '%s' intrinsic at %L must be ALLOCATABLE"
+ msgstr ""
+
+-#: fortran/check.c:559 fortran/check.c:3703
++#: fortran/check.c:552 fortran/check.c:3697
+ #, no-c-format
+ msgid "'%s' and '%s' arguments of '%s' intrinsic at %L must have the same type"
+ msgstr ""
+
+-#: fortran/check.c:568 fortran/check.c:1143 fortran/check.c:1286
+-#: fortran/check.c:1360 fortran/check.c:1616
++#: fortran/check.c:561 fortran/check.c:1137 fortran/check.c:1280
++#: fortran/check.c:1354 fortran/check.c:1610
+ #, no-c-format
+ msgid "Extension: Different type kinds at %L"
+ msgstr ""
+
+-#: fortran/check.c:608 fortran/check.c:2022
++#: fortran/check.c:601 fortran/check.c:2016
+ #, no-c-format
+ msgid "'%s' argument of '%s' intrinsic at %L must be a POINTER"
+ msgstr ""
+
+-#: fortran/check.c:628
++#: fortran/check.c:621
+ #, no-c-format
+ msgid "'%s' argument of '%s' intrinsic at %L must be a pointer or target VARIABLE or FUNCTION"
+ msgstr ""
+
+-#: fortran/check.c:636
++#: fortran/check.c:629
+ #, no-c-format
+ msgid "'%s' argument of '%s' intrinsic at %L must be a POINTER or a TARGET"
+ msgstr ""
+
+-#: fortran/check.c:652
++#: fortran/check.c:645
+ #, no-c-format
+ msgid "Array section with a vector subscript at %L shall not be the target of a pointer"
+ msgstr ""
+
+-#: fortran/check.c:663
++#: fortran/check.c:656
+ #, no-c-format
+ msgid "NULL pointer at %L is not permitted as actual argument of '%s' intrinsic function"
+ msgstr ""
+
+-#: fortran/check.c:798 fortran/check.c:915
++#: fortran/check.c:791 fortran/check.c:910
+ #, no-c-format
+ msgid "'%s' argument of '%s' intrinsic at %L must not be present if 'x' is COMPLEX"
+ msgstr ""
+
+-#: fortran/check.c:848 fortran/check.c:1205 fortran/check.c:1308
+-#: fortran/check.c:1467 fortran/check.c:1484 fortran/check.c:2318
+-#: fortran/check.c:2444 fortran/check.c:2779 fortran/check.c:2821
++#: fortran/check.c:841 fortran/check.c:1199 fortran/check.c:1302
++#: fortran/check.c:1461 fortran/check.c:1478 fortran/check.c:2312
++#: fortran/check.c:2438 fortran/check.c:2773 fortran/check.c:2815
+ #, no-c-format
+ msgid "Fortran 2003: '%s' intrinsic with KIND argument at %L"
+ msgstr ""
+
+-#: fortran/check.c:964 fortran/check.c:1712 fortran/check.c:1720
++#: fortran/check.c:959 fortran/check.c:1706 fortran/check.c:1714
+ #, no-c-format
+ msgid "'%s' argument of '%s' intrinsic at %L must be numeric or LOGICAL"
+ msgstr ""
+
+-#: fortran/check.c:978
++#: fortran/check.c:973
+ #, no-c-format
+ msgid "Different shape for arguments '%s' and '%s' at %L for intrinsic 'dot_product'"
+ msgstr ""
+
+-#: fortran/check.c:997 fortran/check.c:1005
++#: fortran/check.c:992 fortran/check.c:1000
+ #, no-c-format
+ msgid "'%s' argument of '%s' intrinsic at %L must be default real"
+ msgstr ""
+
+-#: fortran/check.c:1256
++#: fortran/check.c:1250
+ #, fuzzy, no-c-format
+ msgid "Argument of %s at %L must be of length one"
+ msgstr "argument %d de %s doit être une localisation"
+
+-#: fortran/check.c:1315
++#: fortran/check.c:1309
+ #, no-c-format
+ msgid "'%s' argument of '%s' intrinsic at %L must be the same kind as '%s'"
+ msgstr ""
+
+-#: fortran/check.c:1440
++#: fortran/check.c:1434
+ #, fuzzy, no-c-format
+ msgid "'%s' argument of '%s' intrinsic at %L must be a non-derived type"
+ msgstr "argument de « %s » doit être de type entier"
+
+-#: fortran/check.c:1589
++#: fortran/check.c:1583
+ #, fuzzy, no-c-format
+ msgid "Intrinsic '%s' at %L must have at least two arguments"
+ msgstr "« %D » doit prendre exactemenr deux arguments"
+
+-#: fortran/check.c:1622
++#: fortran/check.c:1616
+ #, no-c-format
+ msgid "'a%d' argument of '%s' intrinsic at %L must be %s(%d)"
+ msgstr ""
+
+-#: fortran/check.c:1655
++#: fortran/check.c:1649
+ #, no-c-format
+ msgid "Fortran 2003: '%s' intrinsic with CHARACTER argument at %L"
+ msgstr ""
+
+-#: fortran/check.c:1662
++#: fortran/check.c:1656
+ #, no-c-format
+ msgid "'a1' argument of '%s' intrinsic at %L must be INTEGER, REAL or CHARACTER"
+ msgstr ""
+
+-#: fortran/check.c:1734
++#: fortran/check.c:1728
+ #, no-c-format
+ msgid "Different shape on dimension 1 for arguments '%s' and '%s' at %L for intrinsic matmul"
+ msgstr ""
+
+-#: fortran/check.c:1753
++#: fortran/check.c:1747
+ #, no-c-format
+ msgid "Different shape on dimension 2 for argument '%s' and dimension 1 for argument '%s' at %L for intrinsic matmul"
+ msgstr ""
+
+-#: fortran/check.c:1762
++#: fortran/check.c:1756
+ #, no-c-format
+ msgid "'%s' argument of '%s' intrinsic at %L must be of rank 1 or 2"
+ msgstr ""
+
+-#: fortran/check.c:1964
++#: fortran/check.c:1958
+ #, no-c-format
+ msgid "the '%s' and '%s' arguments of '%s' intrinsic at %L must have the same rank %d/%d"
+ msgstr ""
+
+-#: fortran/check.c:1973
++#: fortran/check.c:1967
+ #, no-c-format
+ msgid "the '%s' and '%s' arguments of '%s' intrinsic at %L must be of the same kind %d/%d"
+ msgstr ""
+
+-#: fortran/check.c:2069
++#: fortran/check.c:2063
+ #, no-c-format
+ msgid "'%s' argument of '%s' intrinsic at %L must be of type REAL or COMPLEX"
+ msgstr ""
+
+-#: fortran/check.c:2090
++#: fortran/check.c:2084
+ #, no-c-format
+ msgid "'%s' argument of '%s' intrinsic at %L must be of a dummy variable"
+ msgstr ""
+
+-#: fortran/check.c:2098
++#: fortran/check.c:2092
+ #, no-c-format
+ msgid "'%s' argument of '%s' intrinsic at %L must be of an OPTIONAL dummy variable"
+ msgstr ""
+
+-#: fortran/check.c:2114
++#: fortran/check.c:2108
+ #, no-c-format
+ msgid "'%s' argument of '%s' intrinsic at %L must not be a subobject of '%s'"
+ msgstr ""
+
+-#: fortran/check.c:2231
++#: fortran/check.c:2225
+ #, no-c-format
+ msgid "'shape' argument of 'reshape' intrinsic at %L must be an array of constant size"
+ msgstr ""
+
+-#: fortran/check.c:2241
++#: fortran/check.c:2235
+ #, no-c-format
+ msgid "'shape' argument of 'reshape' intrinsic at %L has more than %d elements"
+ msgstr ""
+
+-#: fortran/check.c:2279
++#: fortran/check.c:2273
+ #, no-c-format
+ msgid "Without padding, there are not enough elements in the intrinsic RESHAPE source at %L to match the shape"
+ msgstr ""
+
+-#: fortran/check.c:2364
++#: fortran/check.c:2358
+ #, fuzzy, no-c-format
+ msgid "Missing arguments to %s intrinsic at %L"
+ msgstr "argument manquant à l'option « %s »"
+
+-#: fortran/check.c:2405
++#: fortran/check.c:2399
+ #, no-c-format
+ msgid "'source' argument of 'shape' intrinsic at %L must not be an assumed size array"
+ msgstr ""
+
+-#: fortran/check.c:2479
++#: fortran/check.c:2473
+ #, fuzzy, no-c-format
+ msgid "'%s' argument of '%s' intrinsic at %L must be less than rank %d"
+ msgstr "l'argument pour l'attribut « %s » est plus grand que %d"
+
+-#: fortran/check.c:2731
++#: fortran/check.c:2725
+ #, no-c-format
+ msgid "'MOLD' argument of 'TRANSFER' intrinsic at %L must not be %s"
+ msgstr ""
+
+-#: fortran/check.c:3050
++#: fortran/check.c:3044
+ #, fuzzy, no-c-format
+ msgid "Too many arguments to %s at %L"
+ msgstr "trop d'arguments pour %s « %+#D »"
+
+-#: fortran/check.c:3162 fortran/check.c:3616 fortran/check.c:3640
++#: fortran/check.c:3156 fortran/check.c:3610 fortran/check.c:3634
+ #, no-c-format
+ msgid "'%s' argument of '%s' intrinsic at %L must be INTEGER or PROCEDURE"
+ msgstr ""
+
+-#: fortran/check.c:3338
++#: fortran/check.c:3332
+ #, no-c-format
+ msgid "'%s' argument of '%s' intrinsic at %L must be of a kind not wider than the default kind (%d)"
+ msgstr ""
+
+-#: fortran/check.c:3687 fortran/check.c:3695
++#: fortran/check.c:3681 fortran/check.c:3689
+ #, no-c-format
+ msgid "'%s' argument of '%s' intrinsic at %L must be INTEGER or LOGICAL"
+ msgstr ""
+@@ -4480,890 +4401,926 @@
+ msgid "'%s' at %L already is initialized at %L"
+ msgstr "bloc commun «%A» initialisé à %0 est déjà initialisé à %1"
+
+-#: fortran/data.c:412
++#: fortran/data.c:317
++#, no-c-format
++msgid "Data element below array lower bound at %L"
++msgstr ""
++
++#: fortran/data.c:329
+ #, fuzzy, no-c-format
++msgid "Data element above array upper bound at %L"
++msgstr "élément nul à %0 pour la référence au tableau à %1"
++
++#: fortran/data.c:435
++#, fuzzy, no-c-format
+ msgid "Extension: re-initialization of '%s' at %L"
+ msgstr "pas d'initialisation permise pour « %s »"
+
+-#: fortran/decl.c:254
++#: fortran/decl.c:253
+ #, no-c-format
+ msgid "Host associated variable '%s' may not be in the DATA statement at %C"
+ msgstr ""
+
+-#: fortran/decl.c:261
++#: fortran/decl.c:260
+ #, no-c-format
+ msgid "Extension: initialization of common block variable '%s' in DATA statement at %C"
+ msgstr ""
+
+-#: fortran/decl.c:366
++#: fortran/decl.c:365
+ #, no-c-format
+ msgid "Symbol '%s' must be a PARAMETER in DATA statement at %C"
+ msgstr ""
+
+-#: fortran/decl.c:470
++#: fortran/decl.c:390
++#, fuzzy, no-c-format
++msgid "Invalid initializer %s in Data statement at %C"
++msgstr "spécificateur I invalide dans la déclaration de FORMAT à %0"
++
++#: fortran/decl.c:493
+ #, no-c-format
+ msgid "Initialization at %C is not allowed in a PURE procedure"
+ msgstr ""
+
+-#: fortran/decl.c:529
++#: fortran/decl.c:552
+ #, no-c-format
+ msgid "DATA statement at %C is not allowed in a PURE procedure"
+ msgstr ""
+
+-#: fortran/decl.c:558
++#: fortran/decl.c:581
+ #, fuzzy, no-c-format
+ msgid "Bad INTENT specification at %C"
+ msgstr "spécification d'étendue à %0 invalide"
+
+-#: fortran/decl.c:600
++#: fortran/decl.c:623
+ #, no-c-format
+ msgid "Conflict in attributes of function argument at %C"
+ msgstr ""
+
+-#: fortran/decl.c:647
++#: fortran/decl.c:676
+ #, fuzzy, no-c-format
+ msgid "Syntax error in character length specification at %C"
+ msgstr "erreur d'analyse syntaxique dans la spécification de fonction"
+
+-#: fortran/decl.c:757
++#: fortran/decl.c:795
+ #, fuzzy, no-c-format
+ msgid "Procedure '%s' at %C is already defined at %L"
+ msgstr "« %D » est déjà défini dans « %T »"
+
+-#: fortran/decl.c:765
++#: fortran/decl.c:803
+ #, fuzzy, no-c-format
+ msgid "Name '%s' at %C is already defined as a generic interface at %L"
+ msgstr "Étiquette %A déjà définie à %1 et redéfinie à %0"
+
+-#: fortran/decl.c:778
++#: fortran/decl.c:816
+ #, no-c-format
+ msgid "Procedure '%s' at %C has an explicit interface and must not have attributes declared at %L"
+ msgstr ""
+
+-#: fortran/decl.c:850
++#: fortran/decl.c:888
+ #, no-c-format
+ msgid "Procedure '%s' at %L must have the BIND(C) attribute to be C interoperable"
+ msgstr ""
+
+-#: fortran/decl.c:880
++#: fortran/decl.c:918
+ #, no-c-format
+ msgid "Type '%s' at %L is a parameter to the BIND(C) procedure '%s' but is not C interoperable because derived type '%s' is not C interoperable"
+ msgstr ""
+
+-#: fortran/decl.c:887
++#: fortran/decl.c:925
+ #, no-c-format
+ msgid "Variable '%s' at %L is a parameter to the BIND(C) procedure '%s' but may not be C interoperable"
+ msgstr ""
+
+-#: fortran/decl.c:902
++#: fortran/decl.c:940
+ #, no-c-format
+ msgid "Character argument '%s' at %L must be length 1 because procedure '%s' is BIND(C)"
+ msgstr ""
+
+-#: fortran/decl.c:916
++#: fortran/decl.c:954
+ #, no-c-format
+ msgid "Variable '%s' at %L cannot have the ALLOCATABLE attribute because procedure '%s' is BIND(C)"
+ msgstr ""
+
+-#: fortran/decl.c:925
++#: fortran/decl.c:963
+ #, no-c-format
+ msgid "Variable '%s' at %L cannot have the POINTER attribute because procedure '%s' is BIND(C)"
+ msgstr ""
+
+-#: fortran/decl.c:934
++#: fortran/decl.c:972
+ #, no-c-format
+ msgid "Variable '%s' at %L cannot have the OPTIONAL attribute because procedure '%s' is BIND(C)"
+ msgstr ""
+
+-#: fortran/decl.c:947
++#: fortran/decl.c:985
+ #, no-c-format
+ msgid "Assumed-shape array '%s' at %L cannot be an argument to the procedure '%s' at %L because the procedure is BIND(C)"
+ msgstr ""
+
+-#: fortran/decl.c:957
++#: fortran/decl.c:995
+ #, no-c-format
+ msgid "Deferred-shape array '%s' at %L cannot be an argument to the procedure '%s' at %L because the procedure is BIND(C)"
+ msgstr ""
+
+-#: fortran/decl.c:1033
++#: fortran/decl.c:1071
+ #, no-c-format
+ msgid "Variable '%s' in common block '%s' at %C must be declared with a C interoperable kind since common block '%s' is BIND(C)"
+ msgstr ""
+
+-#: fortran/decl.c:1069
++#: fortran/decl.c:1107
+ #, no-c-format
+ msgid "CHARACTER expression at %L is being truncated (%d/%d)"
+ msgstr ""
+
+-#: fortran/decl.c:1075
++#: fortran/decl.c:1113
+ #, no-c-format
+ msgid "The CHARACTER elements of the array constructor at %L must have the same length (%d/%d)"
+ msgstr ""
+
+-#: fortran/decl.c:1165
++#: fortran/decl.c:1203
+ #, fuzzy, no-c-format
+ msgid "Initializer not allowed for PARAMETER '%s' at %C"
+ msgstr "pas d'initialisation permise pour « %s »"
+
+-#: fortran/decl.c:1174
+-#, no-c-format
+-msgid "Initializer not allowed for COMMON variable '%s' at %C"
+-msgstr ""
+-
+-#: fortran/decl.c:1184
++#: fortran/decl.c:1213
+ #, fuzzy, no-c-format
+ msgid "PARAMETER at %L is missing an initializer"
+ msgstr "initialisation manquante"
+
+-#: fortran/decl.c:1194
++#: fortran/decl.c:1223
+ #, no-c-format
+ msgid "Variable '%s' at %C with an initializer already appears in a DATA statement"
+ msgstr ""
+
+-#: fortran/decl.c:1344
++#: fortran/decl.c:1373
+ #, no-c-format
+ msgid "Component at %C must have the POINTER attribute"
+ msgstr ""
+
+-#: fortran/decl.c:1352
++#: fortran/decl.c:1381
+ #, no-c-format
+ msgid "Array component of structure at %C must have explicit or deferred shape"
+ msgstr ""
+
+-#: fortran/decl.c:1378
++#: fortran/decl.c:1425
+ #, no-c-format
+ msgid "Allocatable component at %C must be an array"
+ msgstr ""
+
+-#: fortran/decl.c:1389
++#: fortran/decl.c:1436
+ #, no-c-format
+ msgid "Pointer array component of structure at %C must have a deferred shape"
+ msgstr ""
+
+-#: fortran/decl.c:1398
++#: fortran/decl.c:1445
+ #, no-c-format
+ msgid "Allocatable component of structure at %C must have a deferred shape"
+ msgstr ""
+
+-#: fortran/decl.c:1407
++#: fortran/decl.c:1454
+ #, no-c-format
+ msgid "Array component of structure at %C must have an explicit shape"
+ msgstr ""
+
+-#: fortran/decl.c:1433
++#: fortran/decl.c:1480
+ #, no-c-format
+ msgid "NULL() initialization at %C is ambiguous"
+ msgstr ""
+
+-#: fortran/decl.c:1556 fortran/decl.c:5197
++#: fortran/decl.c:1603 fortran/decl.c:5395
+ #, no-c-format
+ msgid "Duplicate array spec for Cray pointee at %C"
+ msgstr ""
+
+-#: fortran/decl.c:1616
++#: fortran/decl.c:1663
+ #, no-c-format
+ msgid "the type of '%s' at %C has not been declared within the interface"
+ msgstr ""
+
+-#: fortran/decl.c:1632
++#: fortran/decl.c:1679
+ #, fuzzy, no-c-format
+ msgid "Function name '%s' not allowed at %C"
+ msgstr "%Jattribut de section n'est pas permis pour « %D »"
+
+-#: fortran/decl.c:1648
++#: fortran/decl.c:1695
+ #, no-c-format
+ msgid "Extension: Old-style initialization at %C"
+ msgstr ""
+
+-#: fortran/decl.c:1663
++#: fortran/decl.c:1710
+ #, no-c-format
+ msgid "Initialization at %C isn't for a pointer variable"
+ msgstr ""
+
+-#: fortran/decl.c:1671
++#: fortran/decl.c:1718
+ #, no-c-format
+ msgid "Pointer initialization requires a NULL() at %C"
+ msgstr ""
+
+-#: fortran/decl.c:1677
++#: fortran/decl.c:1724
+ #, no-c-format
+ msgid "Initialization of pointer at %C is not allowed in a PURE procedure"
+ msgstr ""
+
+-#: fortran/decl.c:1690
++#: fortran/decl.c:1737
+ #, no-c-format
+ msgid "Pointer initialization at %C requires '=>', not '='"
+ msgstr ""
+
+-#: fortran/decl.c:1699 fortran/decl.c:6129
++#: fortran/decl.c:1746 fortran/decl.c:6361
+ #, fuzzy, no-c-format
+ msgid "Expected an initialization expression at %C"
+ msgstr "initialisation de la nouvelle expression avec « = »"
+
+-#: fortran/decl.c:1705
++#: fortran/decl.c:1752
+ #, no-c-format
+ msgid "Initialization of variable at %C is not allowed in a PURE procedure"
+ msgstr ""
+
+-#: fortran/decl.c:1718
++#: fortran/decl.c:1765
+ #, no-c-format
+ msgid "Initialization of allocatable component at %C is not allowed"
+ msgstr ""
+
+-#: fortran/decl.c:1772 fortran/decl.c:1781
++#: fortran/decl.c:1819 fortran/decl.c:1828
+ #, fuzzy, no-c-format
+ msgid "Old-style type declaration %s*%d not supported at %C"
+ msgstr "%Jdéclaration faible de « %D » n'est pas supportée"
+
+-#: fortran/decl.c:1786
++#: fortran/decl.c:1833
+ #, fuzzy, no-c-format
+ msgid "Nonstandard type declaration %s*%d at %C"
+ msgstr "type d'attribut de déclaration invalide à %0"
+
+-#: fortran/decl.c:1838 fortran/decl.c:1897
++#: fortran/decl.c:1884 fortran/decl.c:1948
+ #, fuzzy, no-c-format
+ msgid "Missing right parenthesis at %C"
+ msgstr "Paramètre term formel manquant"
+
+-#: fortran/decl.c:1853 fortran/decl.c:1931
++#: fortran/decl.c:1897 fortran/decl.c:1993
+ #, fuzzy, no-c-format
+ msgid "Expected initialization expression at %C"
+ msgstr "initialisation de la nouvelle expression avec « = »"
+
+-#: fortran/decl.c:1861 fortran/decl.c:1937
++#: fortran/decl.c:1905 fortran/decl.c:1999
+ #, fuzzy, no-c-format
+ msgid "Expected scalar initialization expression at %C"
+ msgstr "initialisation de la nouvelle expression avec « = »"
+
+-#: fortran/decl.c:1891
++#: fortran/decl.c:1936
+ #, fuzzy, no-c-format
+ msgid "Kind %d not supported for type %s at %C"
+ msgstr "mode d'arondissement n'est pas supporté pour les flottants sur VAX"
+
+-#: fortran/decl.c:1957
++#: fortran/decl.c:1946
+ #, fuzzy, no-c-format
++msgid "Missing right parenthesis or comma at %C"
++msgstr "parenthèse manquante dans l'appel de procédure"
++
++#: fortran/decl.c:2019
++#, fuzzy, no-c-format
+ msgid "Kind %d is not supported for CHARACTER at %C"
+ msgstr "mode d'arondissement n'est pas supporté pour les flottants sur VAX"
+
+-#: fortran/decl.c:2086
++#: fortran/decl.c:2148
+ #, fuzzy, no-c-format
+ msgid "Syntax error in CHARACTER declaration at %C"
+ msgstr "erreur de syntaxe dans la liste d'exception"
+
+-#: fortran/decl.c:2156
++#: fortran/decl.c:2233
+ #, no-c-format
+ msgid "Extension: BYTE type at %C"
+ msgstr ""
+
+-#: fortran/decl.c:2162
++#: fortran/decl.c:2239
+ #, no-c-format
+ msgid "BYTE type used at %C is not available on the target machine"
+ msgstr ""
+
+-#: fortran/decl.c:2211
++#: fortran/decl.c:2288
+ #, no-c-format
+ msgid "DOUBLE COMPLEX at %C does not conform to the Fortran 95 standard"
+ msgstr ""
+
+-#: fortran/decl.c:2245 fortran/decl.c:2252 fortran/decl.c:2558
+-#: fortran/decl.c:2566
++#: fortran/decl.c:2328 fortran/decl.c:2337 fortran/decl.c:2649
++#: fortran/decl.c:2657
+ #, fuzzy, no-c-format
+ msgid "Type name '%s' at %C is ambiguous"
+ msgstr "référence à « %D » est ambiguë"
+
+-#: fortran/decl.c:2321
++#: fortran/decl.c:2412
+ #, no-c-format
+ msgid "Missing character range in IMPLICIT at %C"
+ msgstr ""
+
+-#: fortran/decl.c:2367
++#: fortran/decl.c:2458
+ #, no-c-format
+ msgid "Letters must be in alphabetic order in IMPLICIT statement at %C"
+ msgstr ""
+
+-#: fortran/decl.c:2421
++#: fortran/decl.c:2512
+ #, fuzzy, no-c-format
+ msgid "Empty IMPLICIT statement at %C"
+ msgstr "déclaration VXT non supporté à %0"
+
+-#: fortran/decl.c:2524
++#: fortran/decl.c:2615
+ #, no-c-format
+ msgid "IMPORT statement at %C only permitted in an INTERFACE body"
+ msgstr ""
+
+-#: fortran/decl.c:2529
++#: fortran/decl.c:2620
+ #, fuzzy, no-c-format
+ msgid "Fortran 2003: IMPORT statement at %C"
+ msgstr "Virgule superflue dans la déclaration de FORMAT à %0"
+
+-#: fortran/decl.c:2544
++#: fortran/decl.c:2635
+ #, no-c-format
+ msgid "Expecting list of named entities at %C"
+ msgstr ""
+
+-#: fortran/decl.c:2572
++#: fortran/decl.c:2663
+ #, no-c-format
+ msgid "Cannot IMPORT '%s' from host scoping unit at %C - does not exist."
+ msgstr ""
+
+-#: fortran/decl.c:2579
++#: fortran/decl.c:2670
+ #, no-c-format
+ msgid "'%s' is already IMPORTed from host scoping unit at %C."
+ msgstr ""
+
+-#: fortran/decl.c:2608
++#: fortran/decl.c:2699
+ #, fuzzy, no-c-format
+ msgid "Syntax error in IMPORT statement at %C"
+ msgstr "faux nombre dans la déclaration de FORMAT à %0"
+
+-#: fortran/decl.c:2850
++#: fortran/decl.c:2941
+ #, fuzzy, no-c-format
+ msgid "Missing dimension specification at %C"
+ msgstr "spécificateur %A manquant dans la déclaration à %0"
+
+-#: fortran/decl.c:2924
++#: fortran/decl.c:3015
+ #, fuzzy, no-c-format
+ msgid "Duplicate %s attribute at %L"
+ msgstr "duplication de l'attribut ConstanValue pour le champ « %s »"
+
+-#: fortran/decl.c:2943
++#: fortran/decl.c:3034
+ #, no-c-format
+ msgid "Fortran 2003: ALLOCATABLE attribute at %C in a TYPE definition"
+ msgstr ""
+
+-#: fortran/decl.c:2953
++#: fortran/decl.c:3044
+ #, fuzzy, no-c-format
+ msgid "Attribute at %L is not allowed in a TYPE definition"
+ msgstr "attributs ne sont pas permis dans la définition de fonction"
+
+-#: fortran/decl.c:2971
++#: fortran/decl.c:3062
+ #, no-c-format
+ msgid "Fortran 2003: Attribute %s at %L in a TYPE definition"
+ msgstr ""
+
+-#: fortran/decl.c:2982
++#: fortran/decl.c:3073
+ #, no-c-format
+ msgid "%s attribute at %L is not allowed outside of the specification part of a module"
+ msgstr ""
+
+-#: fortran/decl.c:3034 fortran/decl.c:5437
++#: fortran/decl.c:3125 fortran/decl.c:5635
+ #, no-c-format
+ msgid "PROTECTED at %C only allowed in specification part of a module"
+ msgstr ""
+
+-#: fortran/decl.c:3040
++#: fortran/decl.c:3131
+ #, no-c-format
+ msgid "Fortran 2003: PROTECTED attribute at %C"
+ msgstr ""
+
+-#: fortran/decl.c:3071
++#: fortran/decl.c:3162
+ #, no-c-format
+ msgid "Fortran 2003: VALUE attribute at %C"
+ msgstr ""
+
+-#: fortran/decl.c:3081
++#: fortran/decl.c:3172
+ #, no-c-format
+ msgid "Fortran 2003: VOLATILE attribute at %C"
+ msgstr ""
+
+-#: fortran/decl.c:3121
++#: fortran/decl.c:3212
+ #, no-c-format
+ msgid "Multiple identifiers provided with single NAME= specifier at %C"
+ msgstr ""
+
+ #. Print an error, but continue parsing line.
+-#: fortran/decl.c:3171
++#: fortran/decl.c:3261
+ #, no-c-format
+ msgid "C kind parameter is for type %s but symbol '%s' at %L is of type %s"
+ msgstr ""
+
+-#: fortran/decl.c:3235
++#: fortran/decl.c:3325
+ #, no-c-format
+ msgid "Implicitly declared BIND(C) function '%s' at %L may not be C interoperable"
+ msgstr ""
+
+-#: fortran/decl.c:3257
++#: fortran/decl.c:3347
+ #, no-c-format
+ msgid "Variable '%s' in common block '%s' at %L may not be a C interoperable kind though common block '%s' is BIND(C)"
+ msgstr ""
+
+-#: fortran/decl.c:3266
++#: fortran/decl.c:3356
+ #, no-c-format
+ msgid "Type declaration '%s' at %L is not C interoperable but it is BIND(C)"
+ msgstr ""
+
+-#: fortran/decl.c:3270
++#: fortran/decl.c:3360
+ #, no-c-format
+ msgid "Variable '%s' at %L may not be a C interoperable kind but it is bind(c)"
+ msgstr ""
+
+-#: fortran/decl.c:3282
++#: fortran/decl.c:3372
+ #, no-c-format
+ msgid "Variable '%s' in common block '%s' at %L cannot be declared with BIND(C) since it is not a global"
+ msgstr ""
+
+-#: fortran/decl.c:3296
++#: fortran/decl.c:3386
+ #, no-c-format
+ msgid "Variable '%s' at %L cannot have both the POINTER and BIND(C) attributes"
+ msgstr ""
+
+-#: fortran/decl.c:3304
++#: fortran/decl.c:3394
+ #, no-c-format
+ msgid "Variable '%s' at %L cannot have both the ALLOCATABLE and BIND(C) attributes"
+ msgstr ""
+
+-#: fortran/decl.c:3314
++#: fortran/decl.c:3404
+ #, no-c-format
+ msgid "Return type of BIND(C) function '%s' at %L cannot be an array"
+ msgstr ""
+
+-#: fortran/decl.c:3322
++#: fortran/decl.c:3412
+ #, no-c-format
+ msgid "Return type of BIND(C) function '%s' at %L cannot be a character string"
+ msgstr ""
+
+ #. Use gfc_warning_now because we won't say that the symbol fails
+ #. just because of this.
+-#: fortran/decl.c:3334
++#: fortran/decl.c:3424
+ #, no-c-format
+ msgid "Symbol '%s' at %L is marked PRIVATE but has been given the binding label '%s'"
+ msgstr ""
+
+-#: fortran/decl.c:3409
++#: fortran/decl.c:3499
+ #, no-c-format
+ msgid "Need either entity or common block name for attribute specification statement at %C"
+ msgstr ""
+
+-#: fortran/decl.c:3456
++#: fortran/decl.c:3546
+ #, no-c-format
+ msgid "Missing entity or common block name for attribute specification statement at %C"
+ msgstr ""
+
+ #. Now we have an error, which we signal, and then fix up
+ #. because the knock-on is plain and simple confusing.
+-#: fortran/decl.c:3563
++#: fortran/decl.c:3653
+ #, no-c-format
+ msgid "Derived type at %C has not been previously defined and so cannot appear in a derived type definition"
+ msgstr ""
+
+-#: fortran/decl.c:3595
++#: fortran/decl.c:3685
+ #, fuzzy, no-c-format
+ msgid "Syntax error in data declaration at %C"
+ msgstr "erreur de syntaxe dans l,action"
+
+-#: fortran/decl.c:3742
++#: fortran/decl.c:3832
+ #, no-c-format
+ msgid "Name '%s' at %C is the name of the procedure"
+ msgstr ""
+
+-#: fortran/decl.c:3754
++#: fortran/decl.c:3844
+ #, no-c-format
+ msgid "Unexpected junk in formal argument list at %C"
+ msgstr ""
+
+-#: fortran/decl.c:3771
++#: fortran/decl.c:3861
+ #, no-c-format
+ msgid "Duplicate symbol '%s' in formal argument list at %C"
+ msgstr ""
+
+-#: fortran/decl.c:3822
++#: fortran/decl.c:3912
+ #, no-c-format
+ msgid "RESULT variable at %C must be different than function name"
+ msgstr ""
+
+-#: fortran/decl.c:3892
++#: fortran/decl.c:3990
+ #, fuzzy, no-c-format
+ msgid "Unexpected junk after function declaration at %C"
+ msgstr "conflits avec la déclaration de fonction de « %#D »"
+
+-#: fortran/decl.c:3951
++#: fortran/decl.c:4000 fortran/decl.c:4734
++#, fuzzy, no-c-format
++msgid "Extension: BIND(C) attribute at %L may not be specified for an internal procedure"
++msgstr "%Jl'attribut de section ne peut être spécifié pour des variables locales"
++
++#: fortran/decl.c:4066
+ #, no-c-format
+ msgid "Interface '%s' at %C may not be generic"
+ msgstr ""
+
+-#: fortran/decl.c:3956
++#: fortran/decl.c:4071
+ #, fuzzy, no-c-format
+ msgid "Interface '%s' at %C may not be a statement function"
+ msgstr "le constructeur ne peut être une fonction membre statique"
+
+-#: fortran/decl.c:3967
++#: fortran/decl.c:4082
+ #, no-c-format
+ msgid "Intrinsic procedure '%s' not allowed in PROCEDURE statement at %C"
+ msgstr ""
+
+-#: fortran/decl.c:3975
++#: fortran/decl.c:4118
+ #, no-c-format
+-msgid "Fortran 2003: Support for intrinsic procedure '%s' in PROCEDURE statement at %C not yet implemented in gfortran"
+-msgstr ""
+-
+-#: fortran/decl.c:4014
+-#, no-c-format
+ msgid "BIND(C) attribute at %C requires an interface with BIND(C)"
+ msgstr ""
+
+-#: fortran/decl.c:4021
++#: fortran/decl.c:4125
+ #, no-c-format
+ msgid "BIND(C) procedure with NAME may not have POINTER attribute at %C"
+ msgstr ""
+
+-#: fortran/decl.c:4027
++#: fortran/decl.c:4131
+ #, no-c-format
+ msgid "Dummy procedure at %C may not have BIND(C) attribute with NAME"
+ msgstr ""
+
+-#: fortran/decl.c:4060 fortran/decl.c:4103
++#: fortran/decl.c:4167 fortran/decl.c:4210
+ #, fuzzy, no-c-format
+ msgid "Syntax error in PROCEDURE statement at %C"
+ msgstr "faux nombre dans la déclaration de FORMAT à %0"
+
+-#: fortran/decl.c:4077
++#: fortran/decl.c:4184
+ #, no-c-format
+ msgid "PROCEDURE at %C must be in a generic interface"
+ msgstr ""
+
+-#: fortran/decl.c:4128
++#: fortran/decl.c:4235
+ #, no-c-format
+ msgid "Fortran 2003: Procedure components at %C are not yet implemented in gfortran"
+ msgstr ""
+
+-#: fortran/decl.c:4138
++#: fortran/decl.c:4245
+ #, no-c-format
+ msgid "Fortran 2003: PROCEDURE statement at %C"
+ msgstr ""
+
+-#: fortran/decl.c:4186
++#: fortran/decl.c:4293
+ #, no-c-format
+ msgid "Expected formal argument list in function definition at %C"
+ msgstr ""
+
+-#: fortran/decl.c:4210 fortran/decl.c:4214 fortran/decl.c:4536
+-#: fortran/decl.c:4540 fortran/symbol.c:1402
++#: fortran/decl.c:4317 fortran/decl.c:4321 fortran/decl.c:4520
++#: fortran/decl.c:4524 fortran/decl.c:4702 fortran/decl.c:4706
++#: fortran/symbol.c:1402
+ #, no-c-format
+ msgid "BIND(C) attribute at %L can only be used for variables or common blocks"
+ msgstr ""
+
+-#: fortran/decl.c:4246
++#: fortran/decl.c:4353
+ #, fuzzy, no-c-format
+ msgid "Function '%s' at %C already has a type of %s"
+ msgstr "Débuts des fonction alignés selon une puissance de 2"
+
+-#: fortran/decl.c:4322
++#: fortran/decl.c:4441
+ #, no-c-format
+ msgid "ENTRY statement at %C cannot appear within a PROGRAM"
+ msgstr ""
+
+-#: fortran/decl.c:4325
++#: fortran/decl.c:4444
+ #, no-c-format
+ msgid "ENTRY statement at %C cannot appear within a MODULE"
+ msgstr ""
+
+-#: fortran/decl.c:4328
++#: fortran/decl.c:4447
+ #, no-c-format
+ msgid "ENTRY statement at %C cannot appear within a BLOCK DATA"
+ msgstr ""
+
+-#: fortran/decl.c:4332
++#: fortran/decl.c:4451
+ #, no-c-format
+ msgid "ENTRY statement at %C cannot appear within an INTERFACE"
+ msgstr ""
+
+-#: fortran/decl.c:4336
++#: fortran/decl.c:4455
+ #, no-c-format
+ msgid "ENTRY statement at %C cannot appear within a DERIVED TYPE block"
+ msgstr ""
+
+-#: fortran/decl.c:4340
++#: fortran/decl.c:4459
+ #, no-c-format
+ msgid "ENTRY statement at %C cannot appear within an IF-THEN block"
+ msgstr ""
+
+-#: fortran/decl.c:4344
++#: fortran/decl.c:4463
+ #, fuzzy, no-c-format
+ msgid "ENTRY statement at %C cannot appear within a DO block"
+ msgstr "déclaration RETURN à %0 invalide à l'intérieur de l'unité du programme principal"
+
+-#: fortran/decl.c:4348
++#: fortran/decl.c:4467
+ #, no-c-format
+ msgid "ENTRY statement at %C cannot appear within a SELECT block"
+ msgstr ""
+
+-#: fortran/decl.c:4352
++#: fortran/decl.c:4471
+ #, no-c-format
+ msgid "ENTRY statement at %C cannot appear within a FORALL block"
+ msgstr ""
+
+-#: fortran/decl.c:4356
++#: fortran/decl.c:4475
+ #, no-c-format
+ msgid "ENTRY statement at %C cannot appear within a WHERE block"
+ msgstr ""
+
+-#: fortran/decl.c:4360
++#: fortran/decl.c:4479
+ #, fuzzy, no-c-format
+ msgid "ENTRY statement at %C cannot appear within a contained subprogram"
+ msgstr "déclaration RETURN à %0 invalide à l'intérieur de l'unité du programme principal"
+
+-#: fortran/decl.c:4378
++#: fortran/decl.c:4497
+ #, fuzzy, no-c-format
+ msgid "ENTRY statement at %C cannot appear in a contained procedure"
+ msgstr "%s ne peut apparaître dans une expression de constante"
+
+-#: fortran/decl.c:4560
++#: fortran/decl.c:4552 fortran/decl.c:4742
+ #, no-c-format
+ msgid "Missing required parentheses before BIND(C) at %C"
+ msgstr ""
+
+-#: fortran/decl.c:4618 fortran/decl.c:4634
++#: fortran/decl.c:4801 fortran/decl.c:4817
+ #, no-c-format
+ msgid "Syntax error in NAME= specifier for binding label at %C"
+ msgstr ""
+
+-#: fortran/decl.c:4649
++#: fortran/decl.c:4832
+ #, no-c-format
+ msgid "Missing closing quote '\"' for binding label at %C"
+ msgstr ""
+
+-#: fortran/decl.c:4658
++#: fortran/decl.c:4841
+ #, no-c-format
+ msgid "Missing closing quote ''' for binding label at %C"
+ msgstr ""
+
+-#: fortran/decl.c:4668
++#: fortran/decl.c:4851
+ #, fuzzy, no-c-format
+ msgid "Missing closing paren for binding label at %C"
+ msgstr "première opérande manquante pour l'opérateur biunaire à %0"
+
+-#: fortran/decl.c:4703
++#: fortran/decl.c:4857
+ #, no-c-format
++msgid "No binding name is allowed in BIND(C) at %C"
++msgstr ""
++
++#: fortran/decl.c:4863
++#, no-c-format
++msgid "For dummy procedure %s, no binding name is allowed in BIND(C) at %C"
++msgstr ""
++
++#: fortran/decl.c:4894
++#, no-c-format
+ msgid "NAME not allowed on BIND(C) for ABSTRACT INTERFACE at %C"
+ msgstr ""
+
+-#: fortran/decl.c:4876
++#: fortran/decl.c:5066
+ #, fuzzy, no-c-format
+ msgid "Unexpected END statement at %C"
+ msgstr "déclaration VXT non supporté à %0"
+
+ #. We would have required END [something].
+-#: fortran/decl.c:4885
++#: fortran/decl.c:5075
+ #, fuzzy, no-c-format
+ msgid "%s statement expected at %L"
+ msgstr "Déclaration %A invalide à %0"
+
+-#: fortran/decl.c:4896
++#: fortran/decl.c:5086
+ #, fuzzy, no-c-format
+ msgid "Expecting %s statement at %C"
+ msgstr "Déclaration %A invalide à %0"
+
+-#: fortran/decl.c:4911
++#: fortran/decl.c:5101
+ #, no-c-format
+ msgid "Expected block name of '%s' in %s statement at %C"
+ msgstr ""
+
+-#: fortran/decl.c:4928
++#: fortran/decl.c:5118
+ #, no-c-format
+ msgid "Expected terminating name at %C"
+ msgstr ""
+
+-#: fortran/decl.c:4937
++#: fortran/decl.c:5127
+ #, fuzzy, no-c-format
+ msgid "Expected label '%s' for %s statement at %C"
+ msgstr "Forme invalide pour la déclaration %A à %0"
+
+-#: fortran/decl.c:4991
++#: fortran/decl.c:5181
+ #, fuzzy, no-c-format
+ msgid "Missing array specification at %L in DIMENSION statement"
+ msgstr "spécificateur %A manquant dans la déclaration à %0"
+
+-#: fortran/decl.c:5000
++#: fortran/decl.c:5189
+ #, no-c-format
++msgid "Dimensions specified for %s at %L after its initialisation"
++msgstr ""
++
++#: fortran/decl.c:5198
++#, no-c-format
+ msgid "Array specification must be deferred at %L"
+ msgstr ""
+
+-#: fortran/decl.c:5077
++#: fortran/decl.c:5275
+ #, no-c-format
+ msgid "Unexpected character in variable list at %C"
+ msgstr ""
+
+-#: fortran/decl.c:5114
++#: fortran/decl.c:5312
+ #, no-c-format
+ msgid "Expected '(' at %C"
+ msgstr ""
+
+-#: fortran/decl.c:5128 fortran/decl.c:5168
++#: fortran/decl.c:5326 fortran/decl.c:5366
+ #, fuzzy, no-c-format
+ msgid "Expected variable name at %C"
+ msgstr "un nom de chaîne est attendu ici"
+
+-#: fortran/decl.c:5144
++#: fortran/decl.c:5342
+ #, fuzzy, no-c-format
+ msgid "Cray pointer at %C must be an integer"
+ msgstr "paramètre 2 doit être un entier positif"
+
+-#: fortran/decl.c:5148
++#: fortran/decl.c:5346
+ #, no-c-format
+ msgid "Cray pointer at %C has %d bytes of precision; memory addresses require %d bytes"
+ msgstr ""
+
+-#: fortran/decl.c:5154
++#: fortran/decl.c:5352
+ #, no-c-format
+ msgid "Expected \",\" at %C"
+ msgstr ""
+
+-#: fortran/decl.c:5217
++#: fortran/decl.c:5415
+ #, no-c-format
+ msgid "Expected \")\" at %C"
+ msgstr ""
+
+-#: fortran/decl.c:5229
++#: fortran/decl.c:5427
+ #, fuzzy, no-c-format
+ msgid "Expected \",\" or end of statement at %C"
+ msgstr "déclaration VXT non supporté à %0"
+
+-#: fortran/decl.c:5293
++#: fortran/decl.c:5491
+ #, no-c-format
+ msgid "Cray pointer declaration at %C requires -fcray-pointer flag"
+ msgstr ""
+
+-#: fortran/decl.c:5388
++#: fortran/decl.c:5586
+ #, no-c-format
+ msgid "Access specification of the %s operator at %C has already been specified"
+ msgstr ""
+
+-#: fortran/decl.c:5405
++#: fortran/decl.c:5603
+ #, no-c-format
+ msgid "Access specification of the .%s. operator at %C has already been specified"
+ msgstr ""
+
+-#: fortran/decl.c:5443
++#: fortran/decl.c:5641
+ #, no-c-format
+ msgid "Fortran 2003: PROTECTED statement at %C"
+ msgstr ""
+
+-#: fortran/decl.c:5483
++#: fortran/decl.c:5681
+ #, fuzzy, no-c-format
+ msgid "Syntax error in PROTECTED statement at %C"
+ msgstr "faux nombre dans la déclaration de FORMAT à %0"
+
+-#: fortran/decl.c:5504
++#: fortran/decl.c:5702
+ #, fuzzy, no-c-format
+ msgid "PRIVATE statement at %C is only allowed in the specification part of a module"
+ msgstr "spécificateur d'accès ou déclaration PRIVATE à %0 invalide pour une définition de type dérivé à l'intérieur d'autre chose que la portion de spécification d'un module"
+
+-#: fortran/decl.c:5541
++#: fortran/decl.c:5739
+ #, fuzzy, no-c-format
+ msgid "PUBLIC statement at %C is only allowed in the specification part of a module"
+ msgstr "spécificateur d'accès ou déclaration PRIVATE à %0 invalide pour une définition de type dérivé à l'intérieur d'autre chose que la portion de spécification d'un module"
+
+-#: fortran/decl.c:5568
++#: fortran/decl.c:5766
+ #, no-c-format
+ msgid "Expected variable name at %C in PARAMETER statement"
+ msgstr ""
+
+-#: fortran/decl.c:5575
++#: fortran/decl.c:5773
+ #, fuzzy, no-c-format
+ msgid "Expected = sign in PARAMETER statement at %C"
+ msgstr "faux signe dans la déclaration de FORMAT à %0"
+
+-#: fortran/decl.c:5581
++#: fortran/decl.c:5779
+ #, no-c-format
+ msgid "Expected expression at %C in PARAMETER statement"
+ msgstr ""
+
+-#: fortran/decl.c:5639
++#: fortran/decl.c:5799
+ #, fuzzy, no-c-format
++msgid "Initializing already initialized variable at %C"
++msgstr "initialise le tableau avec la liste des paramètres"
++
++#: fortran/decl.c:5844
++#, fuzzy, no-c-format
+ msgid "Unexpected characters in PARAMETER statement at %C"
+ msgstr "Virgule superflue dans la déclaration de FORMAT à %0"
+
+-#: fortran/decl.c:5663
++#: fortran/decl.c:5868
+ #, no-c-format
+ msgid "Blanket SAVE statement at %C follows previous SAVE statement"
+ msgstr ""
+
+-#: fortran/decl.c:5675
++#: fortran/decl.c:5880
+ #, no-c-format
+ msgid "SAVE statement at %C follows blanket SAVE statement"
+ msgstr ""
+
+-#: fortran/decl.c:5722
++#: fortran/decl.c:5927
+ #, fuzzy, no-c-format
+ msgid "Syntax error in SAVE statement at %C"
+ msgstr "Forme invalide pour la déclaration %A à %0"
+
+-#: fortran/decl.c:5733
++#: fortran/decl.c:5938
+ #, fuzzy, no-c-format
+ msgid "Fortran 2003: VALUE statement at %C"
+ msgstr "déclaration VXT non supporté à %0"
+
+-#: fortran/decl.c:5773
++#: fortran/decl.c:5978
+ #, fuzzy, no-c-format
+ msgid "Syntax error in VALUE statement at %C"
+ msgstr "Forme invalide pour la déclaration %A à %0"
+
+-#: fortran/decl.c:5784
++#: fortran/decl.c:5989
+ #, fuzzy, no-c-format
+ msgid "Fortran 2003: VOLATILE statement at %C"
+ msgstr "déclaration VXT non supporté à %0"
+
+-#: fortran/decl.c:5826
++#: fortran/decl.c:6031
+ #, fuzzy, no-c-format
+ msgid "Syntax error in VOLATILE statement at %C"
+ msgstr "faux nombre dans la déclaration de FORMAT à %0"
+
+-#: fortran/decl.c:5848
++#: fortran/decl.c:6054
+ #, no-c-format
+ msgid "MODULE PROCEDURE at %C must be in a generic module interface"
+ msgstr ""
+
+-#: fortran/decl.c:5910
++#: fortran/decl.c:6142
+ #, no-c-format
+ msgid "Derived type at %C can only be PRIVATE in the specification part of a module"
+ msgstr ""
+
+-#: fortran/decl.c:5922
++#: fortran/decl.c:6154
+ #, no-c-format
+ msgid "Derived type at %C can only be PUBLIC in the specification part of a module"
+ msgstr ""
+
+-#: fortran/decl.c:5979
++#: fortran/decl.c:6211
+ #, no-c-format
+ msgid "Expected :: in TYPE definition at %C"
+ msgstr ""
+
+-#: fortran/decl.c:5990
++#: fortran/decl.c:6222
+ #, fuzzy, no-c-format
+ msgid "Type name '%s' at %C cannot be the same as an intrinsic type"
+ msgstr "Nom de type à %0 n'est pas le même que le nom à %1"
+
+-#: fortran/decl.c:6000
++#: fortran/decl.c:6232
+ #, no-c-format
+ msgid "Derived type name '%s' at %C already has a basic type of %s"
+ msgstr ""
+
+-#: fortran/decl.c:6016
++#: fortran/decl.c:6248
+ #, no-c-format
+ msgid "Derived type definition of '%s' at %C has already been defined"
+ msgstr ""
+
+-#: fortran/decl.c:6054
++#: fortran/decl.c:6286
+ #, no-c-format
+ msgid "Cray Pointee at %C cannot be assumed shape array"
+ msgstr ""
+
+-#: fortran/decl.c:6074
++#: fortran/decl.c:6306
+ #, no-c-format
+ msgid "Fortran 2003: ENUM and ENUMERATOR at %C"
+ msgstr ""
+
+-#: fortran/decl.c:6146
++#: fortran/decl.c:6378
+ #, no-c-format
+ msgid "ENUMERATOR %L not initialized with integer expression"
+ msgstr ""
+
+-#: fortran/decl.c:6195
++#: fortran/decl.c:6427
+ #, fuzzy, no-c-format
+ msgid "ENUM definition statement expected before %C"
+ msgstr "nom de type attendu avec «*»"
+
+-#: fortran/decl.c:6228
++#: fortran/decl.c:6460
+ #, fuzzy, no-c-format
+ msgid "Syntax error in ENUMERATOR definition at %C"
+ msgstr "erreur de syntaxe dans la liste d'exception"
+@@ -5379,21 +5336,21 @@
+ msgstr " « %D »"
+
+ # I18N
+-#: fortran/dump-parse-tree.c:73 fortran/dump-parse-tree.c:626
++#: fortran/dump-parse-tree.c:73 fortran/dump-parse-tree.c:637
+ #, fuzzy, c-format
+ msgid "(%s "
+ msgstr "%s "
+
+-#: fortran/dump-parse-tree.c:86 fortran/dump-parse-tree.c:1069
+-#: fortran/dump-parse-tree.c:1113 fortran/dump-parse-tree.c:1123
++#: fortran/dump-parse-tree.c:86 fortran/dump-parse-tree.c:1091
++#: fortran/dump-parse-tree.c:1135 fortran/dump-parse-tree.c:1145
+ #, c-format
+ msgid "%d"
+ msgstr ""
+
+ #: fortran/dump-parse-tree.c:90 fortran/dump-parse-tree.c:116
+ #: fortran/dump-parse-tree.c:159 fortran/dump-parse-tree.c:395
+-#: fortran/dump-parse-tree.c:518 fortran/dump-parse-tree.c:613
+-#: fortran/dump-parse-tree.c:636
++#: fortran/dump-parse-tree.c:518 fortran/dump-parse-tree.c:624
++#: fortran/dump-parse-tree.c:647
+ #, c-format
+ msgid ")"
+ msgstr ""
+@@ -5534,7 +5491,7 @@
+ msgid "%.2x"
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:429 fortran/dump-parse-tree.c:732
++#: fortran/dump-parse-tree.c:429 fortran/dump-parse-tree.c:754
+ #, fuzzy, c-format
+ msgid "%s:"
+ msgstr "%s"
+@@ -5650,755 +5607,760 @@
+ msgid "%s[["
+ msgstr "%s"
+
+-#: fortran/dump-parse-tree.c:551
++#: fortran/dump-parse-tree.c:560
+ #, fuzzy, c-format
+ msgid "(%s %s %s %s %s"
+ msgstr "%s %s %p %d\n"
+
+-#: fortran/dump-parse-tree.c:558
++#: fortran/dump-parse-tree.c:567
+ #, c-format
+ msgid " ALLOCATABLE"
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:560 fortran/dump-parse-tree.c:631
++#: fortran/dump-parse-tree.c:569 fortran/dump-parse-tree.c:642
+ #, c-format
+ msgid " DIMENSION"
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:562
++#: fortran/dump-parse-tree.c:571
+ #, c-format
+ msgid " EXTERNAL"
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:564
++#: fortran/dump-parse-tree.c:573
+ #, c-format
+ msgid " INTRINSIC"
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:566
++#: fortran/dump-parse-tree.c:575
+ #, c-format
+ msgid " OPTIONAL"
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:568 fortran/dump-parse-tree.c:629
++#: fortran/dump-parse-tree.c:577 fortran/dump-parse-tree.c:640
+ #, c-format
+ msgid " POINTER"
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:570
++#: fortran/dump-parse-tree.c:579
+ #, c-format
+ msgid " PROTECTED"
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:572
++#: fortran/dump-parse-tree.c:581
+ #, c-format
+ msgid " VALUE"
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:574
++#: fortran/dump-parse-tree.c:583
+ #, c-format
+ msgid " VOLATILE"
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:576
++#: fortran/dump-parse-tree.c:585
+ #, c-format
+ msgid " THREADPRIVATE"
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:578
++#: fortran/dump-parse-tree.c:587
+ #, c-format
+ msgid " TARGET"
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:580
++#: fortran/dump-parse-tree.c:589
+ #, c-format
+ msgid " DUMMY"
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:582
++#: fortran/dump-parse-tree.c:591
+ #, c-format
+ msgid " RESULT"
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:584
++#: fortran/dump-parse-tree.c:593
+ #, c-format
+ msgid " ENTRY"
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:587
++#: fortran/dump-parse-tree.c:595
+ #, c-format
++msgid " BIND(C)"
++msgstr ""
++
++#: fortran/dump-parse-tree.c:598
++#, c-format
+ msgid " DATA"
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:589
++#: fortran/dump-parse-tree.c:600
+ #, c-format
+ msgid " USE-ASSOC"
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:591
++#: fortran/dump-parse-tree.c:602
+ #, c-format
+ msgid " IN-NAMELIST"
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:593
++#: fortran/dump-parse-tree.c:604
+ #, c-format
+ msgid " IN-COMMON"
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:596
++#: fortran/dump-parse-tree.c:607
+ #, c-format
+ msgid " ABSTRACT INTERFACE"
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:598
++#: fortran/dump-parse-tree.c:609
+ #, fuzzy, c-format
+ msgid " FUNCTION"
+ msgstr "Utiliser FUNCTION_EPILOGUE"
+
+-#: fortran/dump-parse-tree.c:600
++#: fortran/dump-parse-tree.c:611
+ #, c-format
+ msgid " SUBROUTINE"
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:602
++#: fortran/dump-parse-tree.c:613
+ #, c-format
+ msgid " IMPLICIT-TYPE"
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:605
++#: fortran/dump-parse-tree.c:616
+ #, c-format
+ msgid " SEQUENCE"
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:607
++#: fortran/dump-parse-tree.c:618
+ #, c-format
+ msgid " ELEMENTAL"
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:609
++#: fortran/dump-parse-tree.c:620
+ #, c-format
+ msgid " PURE"
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:611
++#: fortran/dump-parse-tree.c:622
+ #, fuzzy, c-format
+ msgid " RECURSIVE"
+ msgstr "PROCÉDURES RÉCURSIVES"
+
+ # I18N
+-#: fortran/dump-parse-tree.c:635 fortran/dump-parse-tree.c:682
+-#: fortran/dump-parse-tree.c:706 fortran/dump-parse-tree.c:735
+-#: fortran/dump-parse-tree.c:1276 fortran/dump-parse-tree.c:1282
+-#: fortran/dump-parse-tree.c:1784
++#: fortran/dump-parse-tree.c:646 fortran/dump-parse-tree.c:693
++#: fortran/dump-parse-tree.c:717 fortran/dump-parse-tree.c:757
++#: fortran/dump-parse-tree.c:1298 fortran/dump-parse-tree.c:1304
++#: fortran/dump-parse-tree.c:1806
+ #, c-format
+ msgid " %s"
+ msgstr " %s"
+
+-#: fortran/dump-parse-tree.c:659
++#: fortran/dump-parse-tree.c:670
+ #, c-format
+ msgid "symbol %s "
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:666
++#: fortran/dump-parse-tree.c:677
+ #, c-format
+ msgid "value: "
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:673
++#: fortran/dump-parse-tree.c:684
+ #, c-format
+ msgid "Array spec:"
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:680
++#: fortran/dump-parse-tree.c:691
+ #, fuzzy, c-format
+ msgid "Generic interfaces:"
+ msgstr "Utiliser l'interface Cygwin"
+
+-#: fortran/dump-parse-tree.c:688
++#: fortran/dump-parse-tree.c:699
+ #, fuzzy, c-format
+ msgid "result: %s"
+ msgstr "%s : %s"
+
+-#: fortran/dump-parse-tree.c:694
++#: fortran/dump-parse-tree.c:705
+ #, c-format
+ msgid "components: "
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:701
++#: fortran/dump-parse-tree.c:712
+ #, c-format
+ msgid "Formal arglist:"
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:708
++#: fortran/dump-parse-tree.c:719
+ #, c-format
+ msgid " [Alt Return]"
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:715
++#: fortran/dump-parse-tree.c:726
+ #, fuzzy, c-format
+ msgid "Formal namespace"
+ msgstr "« %D » est un nom d'espace"
+
+-#: fortran/dump-parse-tree.c:771
++#: fortran/dump-parse-tree.c:793
+ #, c-format
+ msgid "common: /%s/ "
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:779 fortran/dump-parse-tree.c:1720
++#: fortran/dump-parse-tree.c:801 fortran/dump-parse-tree.c:1742
+ #, c-format
+ msgid ", "
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:791
++#: fortran/dump-parse-tree.c:813
+ #, c-format
+ msgid "symtree: %s Ambig %d"
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:794
++#: fortran/dump-parse-tree.c:816
+ #, fuzzy, c-format
+ msgid " from namespace %s"
+ msgstr "espace de nomes inconnu « %D »"
+
+-#: fortran/dump-parse-tree.c:820
++#: fortran/dump-parse-tree.c:842
+ #, fuzzy, c-format
+ msgid "%s,"
+ msgstr "%s"
+
+-#: fortran/dump-parse-tree.c:852
++#: fortran/dump-parse-tree.c:874
+ #, c-format
+ msgid "!$OMP %s"
+ msgstr ""
+
+ # I18N
+-#: fortran/dump-parse-tree.c:867 fortran/dump-parse-tree.c:1010
++#: fortran/dump-parse-tree.c:889 fortran/dump-parse-tree.c:1032
+ #, fuzzy, c-format
+ msgid " (%s)"
+ msgstr " %s"
+
+-#: fortran/dump-parse-tree.c:872
++#: fortran/dump-parse-tree.c:894
+ #, c-format
+ msgid " ("
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:888
++#: fortran/dump-parse-tree.c:910
+ #, c-format
+ msgid " IF("
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:894
++#: fortran/dump-parse-tree.c:916
+ #, c-format
+ msgid " NUM_THREADS("
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:910
++#: fortran/dump-parse-tree.c:932
+ #, c-format
+ msgid " SCHEDULE (%s"
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:930
++#: fortran/dump-parse-tree.c:952
+ #, c-format
+ msgid " DEFAULT(%s)"
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:933
++#: fortran/dump-parse-tree.c:955
+ #, c-format
+ msgid " ORDERED"
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:958
++#: fortran/dump-parse-tree.c:980
+ #, c-format
+ msgid " REDUCTION(%s:"
+ msgstr ""
+
+ # I18N
+-#: fortran/dump-parse-tree.c:972
++#: fortran/dump-parse-tree.c:994
+ #, fuzzy, c-format
+ msgid " %s("
+ msgstr " %s"
+
+-#: fortran/dump-parse-tree.c:988
++#: fortran/dump-parse-tree.c:1010
+ #, c-format
+ msgid "!$OMP SECTION\n"
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:997
++#: fortran/dump-parse-tree.c:1019
+ #, c-format
+ msgid "!$OMP END %s"
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:1002
++#: fortran/dump-parse-tree.c:1024
+ #, c-format
+ msgid " COPYPRIVATE("
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:1007
++#: fortran/dump-parse-tree.c:1029
+ #, c-format
+ msgid " NOWAIT"
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:1034
++#: fortran/dump-parse-tree.c:1056
+ #, c-format
+ msgid "NOP"
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:1038
++#: fortran/dump-parse-tree.c:1060
+ #, c-format
+ msgid "CONTINUE"
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:1042
++#: fortran/dump-parse-tree.c:1064
+ #, c-format
+ msgid "ENTRY %s"
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:1047
++#: fortran/dump-parse-tree.c:1069
+ #, c-format
+ msgid "ASSIGN "
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:1054
++#: fortran/dump-parse-tree.c:1076
+ #, c-format
+ msgid "LABEL ASSIGN "
+ msgstr ""
+
+ # I18N
+-#: fortran/dump-parse-tree.c:1056
++#: fortran/dump-parse-tree.c:1078
+ #, fuzzy, c-format
+ msgid " %d"
+ msgstr " %s"
+
+-#: fortran/dump-parse-tree.c:1060
++#: fortran/dump-parse-tree.c:1082
+ #, c-format
+ msgid "POINTER ASSIGN "
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:1067
++#: fortran/dump-parse-tree.c:1089
+ #, c-format
+ msgid "GOTO "
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:1076
++#: fortran/dump-parse-tree.c:1098
+ #, c-format
+ msgid ", ("
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:1092 fortran/dump-parse-tree.c:1094
++#: fortran/dump-parse-tree.c:1114 fortran/dump-parse-tree.c:1116
+ #, c-format
+ msgid "CALL %s "
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:1096
++#: fortran/dump-parse-tree.c:1118
+ #, c-format
+ msgid "CALL ?? "
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:1102
++#: fortran/dump-parse-tree.c:1124
+ #, c-format
+ msgid "RETURN "
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:1108
++#: fortran/dump-parse-tree.c:1130
+ #, c-format
+ msgid "PAUSE "
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:1118
++#: fortran/dump-parse-tree.c:1140
+ #, c-format
+ msgid "STOP "
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:1128 fortran/dump-parse-tree.c:1136
++#: fortran/dump-parse-tree.c:1150 fortran/dump-parse-tree.c:1158
+ #, c-format
+ msgid "IF "
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:1130
++#: fortran/dump-parse-tree.c:1152
+ #, fuzzy, c-format
+ msgid " %d, %d, %d"
+ msgstr "%s %s %p %d\n"
+
+-#: fortran/dump-parse-tree.c:1147
++#: fortran/dump-parse-tree.c:1169
+ #, c-format
+ msgid "ELSE\n"
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:1150
++#: fortran/dump-parse-tree.c:1172
+ #, c-format
+ msgid "ELSE IF "
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:1160
++#: fortran/dump-parse-tree.c:1182
+ #, c-format
+ msgid "ENDIF"
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:1165
++#: fortran/dump-parse-tree.c:1187
+ #, c-format
+ msgid "SELECT CASE "
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:1173
++#: fortran/dump-parse-tree.c:1195
+ #, c-format
+ msgid "CASE "
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:1189
++#: fortran/dump-parse-tree.c:1211
+ #, c-format
+ msgid "END SELECT"
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:1193
++#: fortran/dump-parse-tree.c:1215
+ #, c-format
+ msgid "WHERE "
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:1204
++#: fortran/dump-parse-tree.c:1226
+ #, c-format
+ msgid "ELSE WHERE "
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:1211
++#: fortran/dump-parse-tree.c:1233
+ #, c-format
+ msgid "END WHERE"
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:1216
++#: fortran/dump-parse-tree.c:1238
+ #, c-format
+ msgid "FORALL "
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:1241
++#: fortran/dump-parse-tree.c:1263
+ #, c-format
+ msgid "END FORALL"
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:1245
++#: fortran/dump-parse-tree.c:1267
+ #, c-format
+ msgid "DO "
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:1259 fortran/dump-parse-tree.c:1270
++#: fortran/dump-parse-tree.c:1281 fortran/dump-parse-tree.c:1292
+ #, c-format
+ msgid "END DO"
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:1263
++#: fortran/dump-parse-tree.c:1285
+ #, c-format
+ msgid "DO WHILE "
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:1274
++#: fortran/dump-parse-tree.c:1296
+ #, c-format
+ msgid "CYCLE"
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:1280
++#: fortran/dump-parse-tree.c:1302
+ #, c-format
+ msgid "EXIT"
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:1286
++#: fortran/dump-parse-tree.c:1308
+ #, c-format
+ msgid "ALLOCATE "
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:1289 fortran/dump-parse-tree.c:1305
++#: fortran/dump-parse-tree.c:1311 fortran/dump-parse-tree.c:1327
+ #, c-format
+ msgid " STAT="
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:1302
++#: fortran/dump-parse-tree.c:1324
+ #, c-format
+ msgid "DEALLOCATE "
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:1318
++#: fortran/dump-parse-tree.c:1340
+ #, c-format
+ msgid "OPEN"
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:1323 fortran/dump-parse-tree.c:1402
+-#: fortran/dump-parse-tree.c:1444 fortran/dump-parse-tree.c:1467
+-#: fortran/dump-parse-tree.c:1619
++#: fortran/dump-parse-tree.c:1345 fortran/dump-parse-tree.c:1424
++#: fortran/dump-parse-tree.c:1466 fortran/dump-parse-tree.c:1489
++#: fortran/dump-parse-tree.c:1641
+ #, c-format
+ msgid " UNIT="
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:1328 fortran/dump-parse-tree.c:1407
+-#: fortran/dump-parse-tree.c:1449 fortran/dump-parse-tree.c:1478
+-#: fortran/dump-parse-tree.c:1636
++#: fortran/dump-parse-tree.c:1350 fortran/dump-parse-tree.c:1429
++#: fortran/dump-parse-tree.c:1471 fortran/dump-parse-tree.c:1500
++#: fortran/dump-parse-tree.c:1658
+ #, c-format
+ msgid " IOMSG="
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:1333 fortran/dump-parse-tree.c:1412
+-#: fortran/dump-parse-tree.c:1454 fortran/dump-parse-tree.c:1483
+-#: fortran/dump-parse-tree.c:1641
++#: fortran/dump-parse-tree.c:1355 fortran/dump-parse-tree.c:1434
++#: fortran/dump-parse-tree.c:1476 fortran/dump-parse-tree.c:1505
++#: fortran/dump-parse-tree.c:1663
+ #, c-format
+ msgid " IOSTAT="
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:1338 fortran/dump-parse-tree.c:1472
++#: fortran/dump-parse-tree.c:1360 fortran/dump-parse-tree.c:1494
+ #, c-format
+ msgid " FILE="
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:1343 fortran/dump-parse-tree.c:1417
++#: fortran/dump-parse-tree.c:1365 fortran/dump-parse-tree.c:1439
+ #, c-format
+ msgid " STATUS="
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:1348 fortran/dump-parse-tree.c:1513
++#: fortran/dump-parse-tree.c:1370 fortran/dump-parse-tree.c:1535
+ #, c-format
+ msgid " ACCESS="
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:1353 fortran/dump-parse-tree.c:1529
++#: fortran/dump-parse-tree.c:1375 fortran/dump-parse-tree.c:1551
+ #, c-format
+ msgid " FORM="
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:1358 fortran/dump-parse-tree.c:1544
++#: fortran/dump-parse-tree.c:1380 fortran/dump-parse-tree.c:1566
+ #, c-format
+ msgid " RECL="
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:1363 fortran/dump-parse-tree.c:1554
++#: fortran/dump-parse-tree.c:1385 fortran/dump-parse-tree.c:1576
+ #, c-format
+ msgid " BLANK="
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:1368 fortran/dump-parse-tree.c:1559
++#: fortran/dump-parse-tree.c:1390 fortran/dump-parse-tree.c:1581
+ #, c-format
+ msgid " POSITION="
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:1373 fortran/dump-parse-tree.c:1564
++#: fortran/dump-parse-tree.c:1395 fortran/dump-parse-tree.c:1586
+ #, c-format
+ msgid " ACTION="
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:1378 fortran/dump-parse-tree.c:1584
++#: fortran/dump-parse-tree.c:1400 fortran/dump-parse-tree.c:1606
+ #, c-format
+ msgid " DELIM="
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:1383 fortran/dump-parse-tree.c:1589
++#: fortran/dump-parse-tree.c:1405 fortran/dump-parse-tree.c:1611
+ #, c-format
+ msgid " PAD="
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:1388 fortran/dump-parse-tree.c:1594
++#: fortran/dump-parse-tree.c:1410 fortran/dump-parse-tree.c:1616
+ #, c-format
+ msgid " CONVERT="
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:1392 fortran/dump-parse-tree.c:1421
+-#: fortran/dump-parse-tree.c:1458 fortran/dump-parse-tree.c:1599
+-#: fortran/dump-parse-tree.c:1676
++#: fortran/dump-parse-tree.c:1414 fortran/dump-parse-tree.c:1443
++#: fortran/dump-parse-tree.c:1480 fortran/dump-parse-tree.c:1621
++#: fortran/dump-parse-tree.c:1698
+ #, c-format
+ msgid " ERR=%d"
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:1397
++#: fortran/dump-parse-tree.c:1419
+ #, c-format
+ msgid "CLOSE"
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:1425
++#: fortran/dump-parse-tree.c:1447
+ #, c-format
+ msgid "BACKSPACE"
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:1429
++#: fortran/dump-parse-tree.c:1451
+ #, c-format
+ msgid "ENDFILE"
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:1433
++#: fortran/dump-parse-tree.c:1455
+ #, c-format
+ msgid "REWIND"
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:1437
++#: fortran/dump-parse-tree.c:1459
+ #, c-format
+ msgid "FLUSH"
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:1462
++#: fortran/dump-parse-tree.c:1484
+ #, c-format
+ msgid "INQUIRE"
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:1488
++#: fortran/dump-parse-tree.c:1510
+ #, c-format
+ msgid " EXIST="
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:1493
++#: fortran/dump-parse-tree.c:1515
+ #, c-format
+ msgid " OPENED="
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:1498
++#: fortran/dump-parse-tree.c:1520
+ #, c-format
+ msgid " NUMBER="
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:1503
++#: fortran/dump-parse-tree.c:1525
+ #, c-format
+ msgid " NAMED="
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:1508
++#: fortran/dump-parse-tree.c:1530
+ #, c-format
+ msgid " NAME="
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:1518
++#: fortran/dump-parse-tree.c:1540
+ #, c-format
+ msgid " SEQUENTIAL="
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:1524
++#: fortran/dump-parse-tree.c:1546
+ #, c-format
+ msgid " DIRECT="
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:1534
++#: fortran/dump-parse-tree.c:1556
+ #, c-format
+ msgid " FORMATTED"
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:1539
++#: fortran/dump-parse-tree.c:1561
+ #, c-format
+ msgid " UNFORMATTED="
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:1549
++#: fortran/dump-parse-tree.c:1571
+ #, c-format
+ msgid " NEXTREC="
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:1569
++#: fortran/dump-parse-tree.c:1591
+ #, c-format
+ msgid " READ="
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:1574
++#: fortran/dump-parse-tree.c:1596
+ #, c-format
+ msgid " WRITE="
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:1579
++#: fortran/dump-parse-tree.c:1601
+ #, c-format
+ msgid " READWRITE="
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:1603
++#: fortran/dump-parse-tree.c:1625
+ #, c-format
+ msgid "IOLENGTH "
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:1609
++#: fortran/dump-parse-tree.c:1631
+ #, c-format
+ msgid "READ"
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:1613
++#: fortran/dump-parse-tree.c:1635
+ #, c-format
+ msgid "WRITE"
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:1625
++#: fortran/dump-parse-tree.c:1647
+ #, c-format
+ msgid " FMT="
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:1630
++#: fortran/dump-parse-tree.c:1652
+ #, c-format
+ msgid " FMT=%d"
+ msgstr ""
+
+ # I18N
+-#: fortran/dump-parse-tree.c:1632
++#: fortran/dump-parse-tree.c:1654
+ #, fuzzy, c-format
+ msgid " NML=%s"
+ msgstr " %s"
+
+-#: fortran/dump-parse-tree.c:1646
++#: fortran/dump-parse-tree.c:1668
+ #, c-format
+ msgid " SIZE="
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:1651
++#: fortran/dump-parse-tree.c:1673
+ #, c-format
+ msgid " REC="
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:1656
++#: fortran/dump-parse-tree.c:1678
+ #, c-format
+ msgid " ADVANCE="
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:1667
++#: fortran/dump-parse-tree.c:1689
+ #, c-format
+ msgid "TRANSFER "
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:1672
++#: fortran/dump-parse-tree.c:1694
+ #, c-format
+ msgid "DT_END"
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:1678
++#: fortran/dump-parse-tree.c:1700
+ #, c-format
+ msgid " END=%d"
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:1680
++#: fortran/dump-parse-tree.c:1702
+ #, c-format
+ msgid " EOR=%d"
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:1714
++#: fortran/dump-parse-tree.c:1736
+ #, c-format
+ msgid "Equivalence: "
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:1740
++#: fortran/dump-parse-tree.c:1762
+ #, c-format
+ msgid "Namespace:"
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:1754
++#: fortran/dump-parse-tree.c:1776
+ #, c-format
+ msgid " %c-%c: "
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:1756
++#: fortran/dump-parse-tree.c:1778
+ #, c-format
+ msgid " %c: "
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:1765
++#: fortran/dump-parse-tree.c:1787
+ #, c-format
+ msgid "procedure name = %s"
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:1781
++#: fortran/dump-parse-tree.c:1803
+ #, fuzzy, c-format
+ msgid "Operator interfaces for %s:"
+ msgstr ""
+ "\n"
+ " Options pour %s:\n"
+
+-#: fortran/dump-parse-tree.c:1790
++#: fortran/dump-parse-tree.c:1812
+ #, fuzzy, c-format
+ msgid "User operators:\n"
+ msgstr "opérator %s non enregistré"
+
+-#: fortran/dump-parse-tree.c:1806
++#: fortran/dump-parse-tree.c:1828
+ #, c-format
+ msgid "CONTAINS\n"
+ msgstr ""
+@@ -6419,312 +6381,352 @@
+ msgid "Error count reached limit of %d."
+ msgstr ""
+
+-#: fortran/error.c:670 fortran/error.c:725 fortran/error.c:762
++#: fortran/error.c:670 fortran/error.c:724 fortran/error.c:761
+ #, fuzzy
+ msgid "Warning:"
+ msgstr "avertissement :"
+
+-#: fortran/error.c:727 fortran/error.c:810 fortran/error.c:836
++#: fortran/error.c:726 fortran/error.c:809 fortran/error.c:835
+ #, fuzzy
+ msgid "Error:"
+ msgstr "erreur: "
+
+-#: fortran/error.c:860
++#: fortran/error.c:859
+ #, fuzzy
+ msgid "Fatal Error:"
+ msgstr "erreur fatale: "
+
+-#: fortran/error.c:879
++#: fortran/error.c:878
+ #, fuzzy, no-c-format
+ msgid "Internal Error at (1):"
+ msgstr "erreur interne : "
+
+-#: fortran/expr.c:252
++#: fortran/expr.c:253
+ #, fuzzy, c-format
+ msgid "Constant expression required at %C"
+ msgstr "expression n'est pas un constante pour BIN"
+
+-#: fortran/expr.c:255
++#: fortran/expr.c:256
+ #, fuzzy, c-format
+ msgid "Integer expression required at %C"
+ msgstr "expression sans type comme argument %d"
+
+-#: fortran/expr.c:260
++#: fortran/expr.c:261
+ #, fuzzy, c-format
+ msgid "Integer value too large in expression at %C"
+ msgstr "débordement d'entier dans l'expression"
+
+-#: fortran/expr.c:1018 fortran/expr.c:1189 fortran/expr.c:1240
++#: fortran/expr.c:1037
+ #, no-c-format
++msgid "Index in dimension %d is out of bounds at %L"
++msgstr ""
++
++#: fortran/expr.c:1208 fortran/expr.c:1259
++#, no-c-format
+ msgid "index in dimension %d is out of bounds at %L"
+ msgstr ""
+
+-#: fortran/expr.c:1789
++#: fortran/expr.c:1808
+ #, no-c-format
+ msgid "elemental function arguments at %C are not compliant"
+ msgstr ""
+
+-#: fortran/expr.c:1833
++#: fortran/expr.c:1852
+ #, no-c-format
+ msgid "Numeric or CHARACTER operands are required in expression at %L"
+ msgstr ""
+
+-#: fortran/expr.c:1853
++#: fortran/expr.c:1872
+ #, no-c-format
+ msgid "Fortran 2003: Noninteger exponent in an initialization expression at %L"
+ msgstr ""
+
+-#: fortran/expr.c:1868
++#: fortran/expr.c:1887
+ #, no-c-format
+ msgid "Concatenation operator in expression at %L must have two CHARACTER operands"
+ msgstr ""
+
+-#: fortran/expr.c:1875
++#: fortran/expr.c:1894
+ #, no-c-format
+ msgid "Concat operator at %L must concatenate strings of the same kind"
+ msgstr ""
+
+-#: fortran/expr.c:1885
++#: fortran/expr.c:1904
+ #, no-c-format
+ msgid ".NOT. operator in expression at %L must have a LOGICAL operand"
+ msgstr ""
+
+-#: fortran/expr.c:1901
++#: fortran/expr.c:1920
+ #, no-c-format
+ msgid "LOGICAL operands are required in expression at %L"
+ msgstr ""
+
+-#: fortran/expr.c:1912
++#: fortran/expr.c:1931
+ #, fuzzy, no-c-format
+ msgid "Only intrinsic operators can be used in expression at %L"
+ msgstr "Opérande manquante pour l'opérateur %1 à la fin de l'expresssion à %0"
+
+-#: fortran/expr.c:1920
++#: fortran/expr.c:1939
+ #, fuzzy, no-c-format
+ msgid "Numeric operands are required in expression at %L"
+ msgstr "Opérande manquante pour l'opérateur %1 à la fin de l'expresssion à %0"
+
+-#: fortran/expr.c:1985
+-#, no-c-format
+-msgid "Inquiry function '%s' at %L is not permitted in an initialization expression"
+-msgstr ""
+-
+-#: fortran/expr.c:2015
++#: fortran/expr.c:2030
+ #, fuzzy, no-c-format
+ msgid "Assumed character length variable '%s' in constant expression at %L"
+ msgstr "opérateur -> n'est pas permis dans l'expression d'une constante"
+
+-#: fortran/expr.c:2061 fortran/expr.c:2067
++#: fortran/expr.c:2076 fortran/expr.c:2082
+ #, no-c-format
+ msgid "transformational intrinsic '%s' at %L is not permitted in an initialization expression"
+ msgstr ""
+
+-#: fortran/expr.c:2098
++#: fortran/expr.c:2114
+ #, no-c-format
+ msgid "Extension: Evaluation of nonstandard initialization expression at %L"
+ msgstr ""
+
+-#: fortran/expr.c:2151
++#: fortran/expr.c:2167
+ #, no-c-format
+ msgid "Function '%s' in initialization expression at %L must be an intrinsic or a specification function"
+ msgstr ""
+
+-#: fortran/expr.c:2163
++#: fortran/expr.c:2179
+ #, no-c-format
+ msgid "Intrinsic function '%s' at %L is not permitted in an initialization expression"
+ msgstr ""
+
+-#: fortran/expr.c:2207
++#: fortran/expr.c:2214
++#, no-c-format
++msgid "PARAMETER '%s' is used at %L before its definition is complete"
++msgstr ""
++
++#: fortran/expr.c:2234
+ #, fuzzy, no-c-format
+ msgid "Assumed size array '%s' at %L is not permitted in an initialization expression"
+ msgstr "taille du tableau « %D » n'a pas une expression de constante de type entier"
+
+-#: fortran/expr.c:2213
++#: fortran/expr.c:2240
+ #, no-c-format
+ msgid "Assumed shape array '%s' at %L is not permitted in an initialization expression"
+ msgstr ""
+
+-#: fortran/expr.c:2219
++#: fortran/expr.c:2246
+ #, no-c-format
+ msgid "Deferred array '%s' at %L is not permitted in an initialization expression"
+ msgstr ""
+
+-#: fortran/expr.c:2229
++#: fortran/expr.c:2252
+ #, no-c-format
++msgid "Array '%s' at %L is a variable, which does not reduce to a constant expression"
++msgstr ""
++
++#: fortran/expr.c:2262
++#, no-c-format
+ msgid "Parameter '%s' at %L has not been declared or is a variable, which does not reduce to a constant expression"
+ msgstr ""
+
+-#: fortran/expr.c:2317
++#: fortran/expr.c:2350
+ #, fuzzy, no-c-format
+ msgid "Initialization expression didn't reduce %C"
+ msgstr "initialisation de la nouvelle expression avec « = »"
+
+-#: fortran/expr.c:2360
++#: fortran/expr.c:2393
+ #, fuzzy, no-c-format
+ msgid "Specification function '%s' at %L cannot be a statement function"
+ msgstr "le constructeur ne peut être une fonction membre statique"
+
+-#: fortran/expr.c:2367
++#: fortran/expr.c:2400
+ #, fuzzy, no-c-format
+ msgid "Specification function '%s' at %L cannot be an internal function"
+ msgstr "%Jfonction interne « %D » n'est pas déclarée comme une fonction"
+
+-#: fortran/expr.c:2374
++#: fortran/expr.c:2407
+ #, no-c-format
+ msgid "Specification function '%s' at %L must be PURE"
+ msgstr ""
+
+-#: fortran/expr.c:2381
++#: fortran/expr.c:2414
+ #, no-c-format
+ msgid "Specification function '%s' at %L cannot be RECURSIVE"
+ msgstr ""
+
+-#: fortran/expr.c:2443
++#: fortran/expr.c:2476
+ #, fuzzy, no-c-format
+ msgid "Dummy argument '%s' not allowed in expression at %L"
+ msgstr "chaînes entre quillemets ne sont pas allouées dans les expression #if"
+
+-#: fortran/expr.c:2450
++#: fortran/expr.c:2483
+ #, no-c-format
+ msgid "Dummy argument '%s' at %L cannot be OPTIONAL"
+ msgstr ""
+
+-#: fortran/expr.c:2457
++#: fortran/expr.c:2490
+ #, no-c-format
+ msgid "Dummy argument '%s' at %L cannot be INTENT(OUT)"
+ msgstr ""
+
+-#: fortran/expr.c:2479
++#: fortran/expr.c:2513
+ #, fuzzy, no-c-format
+ msgid "Variable '%s' cannot appear in the expression at %L"
+ msgstr "%s ne peut apparaître dans une expression de constante"
+
+-#: fortran/expr.c:2528
++#: fortran/expr.c:2562
+ #, fuzzy, no-c-format
+ msgid "Expression at %L must be of INTEGER type"
+ msgstr "argument de « %s » doit être de type entier"
+
+-#: fortran/expr.c:2537
++#: fortran/expr.c:2571
+ #, no-c-format
+ msgid "Function '%s' at %L must be PURE"
+ msgstr ""
+
+-#: fortran/expr.c:2546
++#: fortran/expr.c:2580
+ #, fuzzy, no-c-format
+ msgid "Expression at %L must be scalar"
+ msgstr "expression %s doit être référable"
+
+-#: fortran/expr.c:2573
++#: fortran/expr.c:2607
+ #, no-c-format
+ msgid "Incompatible ranks in %s (%d and %d) at %L"
+ msgstr ""
+
+-#: fortran/expr.c:2587
++#: fortran/expr.c:2621
+ #, no-c-format
+ msgid "Different shape for %s at %L on dimension %d (%d and %d)"
+ msgstr ""
+
+-#: fortran/expr.c:2633 fortran/expr.c:2800
++#: fortran/expr.c:2667 fortran/expr.c:2884
+ #, no-c-format
+ msgid "Cannot assign to INTENT(IN) variable '%s' at %L"
+ msgstr ""
+
+-#: fortran/expr.c:2676
++#: fortran/expr.c:2719
+ #, no-c-format
+ msgid "'%s' at %L is not a VALUE"
+ msgstr ""
+
+-#: fortran/expr.c:2683
++#: fortran/expr.c:2726
+ #, fuzzy, no-c-format
+ msgid "Incompatible ranks %d and %d in assignment at %L"
+ msgstr "type incompatible dans l'affectation de « %T » vers « %T »"
+
+-#: fortran/expr.c:2690
++#: fortran/expr.c:2733
+ #, fuzzy, no-c-format
+ msgid "Variable type is UNKNOWN in assignment at %L"
+ msgstr "type incompatible dans l'affectation de « %T » vers « %T »"
+
+-#: fortran/expr.c:2702
++#: fortran/expr.c:2745
+ #, fuzzy, no-c-format
+ msgid "NULL appears on right-hand side in assignment at %L"
+ msgstr "côté droit de l'affectation est un mode"
+
+-#: fortran/expr.c:2713
++#: fortran/expr.c:2756
+ #, no-c-format
+ msgid "Vector assignment to assumed-size Cray Pointee at %L is illegal"
+ msgstr ""
+
+-#: fortran/expr.c:2722
++#: fortran/expr.c:2765
+ #, no-c-format
+ msgid "POINTER valued function appears on right-hand side of assignment at %L"
+ msgstr ""
+
+-#: fortran/expr.c:2727
++#: fortran/expr.c:2770
+ #, fuzzy
+ msgid "array assignment"
+ msgstr "affectation"
+
+-#: fortran/expr.c:2744
++#: fortran/expr.c:2775
++#, no-c-format
++msgid "Extension: BOZ literal at %L used to initialize non-integer variable '%s'"
++msgstr ""
++
++#: fortran/expr.c:2781 fortran/resolve.c:6058
++#, no-c-format
++msgid "Extension: BOZ literal at %L outside a DATA statement and outside INT/REAL/DBLE/CMPLX"
++msgstr ""
++
++#: fortran/expr.c:2791 fortran/resolve.c:6068
++#, no-c-format
++msgid "BOZ literal at %L is bitwise transferred non-integer symbol '%s'"
++msgstr ""
++
++#: fortran/expr.c:2799 fortran/resolve.c:6077
++#, no-c-format
++msgid "Arithmetic underflow of bit-wise transferred BOZ at %L. This check can be disabled with the option -fno-range-check"
++msgstr ""
++
++#: fortran/expr.c:2803 fortran/resolve.c:6081
++#, no-c-format
++msgid "Arithmetic overflow of bit-wise transferred BOZ at %L. This check can be disabled with the option -fno-range-check"
++msgstr ""
++
++#: fortran/expr.c:2807 fortran/resolve.c:6085
++#, no-c-format
++msgid "Arithmetic NaN of bit-wise transferred BOZ at %L. This check can be disabled with the option -fno-range-check"
++msgstr ""
++
++#: fortran/expr.c:2828
+ #, fuzzy, no-c-format
+ msgid "Incompatible types in assignment at %L, %s to %s"
+ msgstr "type incompatible dans l'affectation de « %T » vers « %T »"
+
+-#: fortran/expr.c:2769
++#: fortran/expr.c:2853
+ #, no-c-format
+ msgid "Pointer assignment target is not a POINTER at %L"
+ msgstr ""
+
+-#: fortran/expr.c:2777
++#: fortran/expr.c:2861
+ #, no-c-format
+ msgid "'%s' in the pointer assignment at %L cannot be an l-value since it is a procedure"
+ msgstr ""
+
+-#: fortran/expr.c:2807
++#: fortran/expr.c:2891
+ #, no-c-format
+ msgid "Pointer assignment to non-POINTER at %L"
+ msgstr ""
+
+-#: fortran/expr.c:2816
++#: fortran/expr.c:2900
+ #, no-c-format
+ msgid "Bad pointer object in PURE procedure at %L"
+ msgstr ""
+
+-#: fortran/expr.c:2828
++#: fortran/expr.c:2912
+ #, no-c-format
+ msgid "Different types in pointer assignment at %L"
+ msgstr ""
+
+-#: fortran/expr.c:2835
++#: fortran/expr.c:2919
+ #, no-c-format
+ msgid "Different kind type parameters in pointer assignment at %L"
+ msgstr ""
+
+-#: fortran/expr.c:2842
++#: fortran/expr.c:2926
+ #, no-c-format
+ msgid "Different ranks in pointer assignment at %L"
+ msgstr ""
+
+-#: fortran/expr.c:2857
++#: fortran/expr.c:2941
+ #, no-c-format
+ msgid "Different character lengths in pointer assignment at %L"
+ msgstr ""
+
+-#: fortran/expr.c:2868
++#: fortran/expr.c:2952
+ #, no-c-format
+ msgid "Pointer assignment target is neither TARGET nor POINTER at %L"
+ msgstr ""
+
+-#: fortran/expr.c:2875
++#: fortran/expr.c:2959
+ #, no-c-format
+ msgid "Bad target in pointer assignment in PURE procedure at %L"
+ msgstr ""
+
+-#: fortran/expr.c:2881
++#: fortran/expr.c:2965
+ #, no-c-format
+ msgid "Pointer assignment with vector subscript on rhs at %L"
+ msgstr ""
+
+-#: fortran/expr.c:2888
++#: fortran/expr.c:2972
+ #, no-c-format
+ msgid "Pointer assigment target has PROTECTED attribute at %L"
+ msgstr ""
+@@ -6819,292 +6821,317 @@
+ msgid "Expecting 'END INTERFACE %s' at %C"
+ msgstr ""
+
+-#: fortran/interface.c:551
++#: fortran/interface.c:563
+ #, no-c-format
+ msgid "Alternate return cannot appear in operator interface at %L"
+ msgstr ""
+
+-#: fortran/interface.c:581
++#: fortran/interface.c:593
+ #, no-c-format
+ msgid "Operator interface at %L has the wrong number of arguments"
+ msgstr ""
+
+-#: fortran/interface.c:592
++#: fortran/interface.c:604
+ #, no-c-format
+ msgid "Assignment operator interface at %L must be a SUBROUTINE"
+ msgstr ""
+
+-#: fortran/interface.c:598
++#: fortran/interface.c:610
+ #, no-c-format
+ msgid "Assignment operator interface at %L must have two arguments"
+ msgstr ""
+
+-#: fortran/interface.c:608
++#: fortran/interface.c:620
+ #, no-c-format
+ msgid "Assignment operator interface at %L must not redefine an INTRINSIC type assignment"
+ msgstr ""
+
+-#: fortran/interface.c:617
++#: fortran/interface.c:629
+ #, no-c-format
+ msgid "Intrinsic operator interface at %L must be a FUNCTION"
+ msgstr ""
+
+-#: fortran/interface.c:627
++#: fortran/interface.c:639
+ #, no-c-format
+ msgid "First argument of defined assignment at %L must be INTENT(IN) or INTENT(INOUT)"
+ msgstr ""
+
+-#: fortran/interface.c:631
++#: fortran/interface.c:643
+ #, no-c-format
+ msgid "Second argument of defined assignment at %L must be INTENT(IN)"
+ msgstr ""
+
+-#: fortran/interface.c:637 fortran/resolve.c:8807
++#: fortran/interface.c:649 fortran/resolve.c:8998
+ #, no-c-format
+ msgid "First argument of operator interface at %L must be INTENT(IN)"
+ msgstr ""
+
+-#: fortran/interface.c:641 fortran/resolve.c:8819
++#: fortran/interface.c:653 fortran/resolve.c:9010
+ #, no-c-format
+ msgid "Second argument of operator interface at %L must be INTENT(IN)"
+ msgstr ""
+
+-#: fortran/interface.c:744
++#: fortran/interface.c:756
+ #, no-c-format
+ msgid "Operator interface at %L conflicts with intrinsic interface"
+ msgstr ""
+
+-#: fortran/interface.c:1044
++#: fortran/interface.c:1117
+ #, no-c-format
+ msgid "Procedure '%s' in %s at %L has no explicit interface"
+ msgstr ""
+
+-#: fortran/interface.c:1047
++#: fortran/interface.c:1120
+ #, no-c-format
+ msgid "Procedure '%s' in %s at %L is neither function nor subroutine"
+ msgstr ""
+
+-#: fortran/interface.c:1102 fortran/interface.c:1108
++#: fortran/interface.c:1175 fortran/interface.c:1181
+ #, no-c-format
+ msgid "Ambiguous interfaces '%s' and '%s' in %s at %L"
+ msgstr ""
+
+-#: fortran/interface.c:1144
++#: fortran/interface.c:1217
+ #, fuzzy, no-c-format
+ msgid "'%s' at %L is not a module procedure"
+ msgstr "%s n'est pas processus déclaré"
+
+-#: fortran/interface.c:1676
++#: fortran/interface.c:1465 fortran/interface.c:2411
+ #, fuzzy, no-c-format
++msgid "Type/rank mismatch in argument '%s' at %L"
++msgstr "non concordance du mode dans le paramètre %d"
++
++#: fortran/interface.c:1474
++#, fuzzy, no-c-format
++msgid "Type mismatch in argument '%s' at %L; passed %s to %s"
++msgstr "non concordance de type/valeur pour l'argument %d dans la liste des paramètres du patron de « %D »"
++
++#: fortran/interface.c:1492 fortran/interface.c:1532
++#, no-c-format
++msgid "Rank mismatch in argument '%s' at %L (%d and %d)"
++msgstr ""
++
++#: fortran/interface.c:1519
++#, no-c-format
++msgid "Fortran 2003: Scalar CHARACTER actual argument with array dummy argument '%s' at %L"
++msgstr ""
++
++#: fortran/interface.c:1544
++#, no-c-format
++msgid "Element of assumed-shaped array passed to dummy argument '%s' at %L"
++msgstr ""
++
++#: fortran/interface.c:1861
++#, fuzzy, no-c-format
+ msgid "Keyword argument '%s' at %L is not in the procedure"
+ msgstr "trop peu d'arguments pour la procédure"
+
+-#: fortran/interface.c:1684
++#: fortran/interface.c:1869
+ #, no-c-format
+ msgid "Keyword argument '%s' at %L is already associated with another actual argument"
+ msgstr ""
+
+-#: fortran/interface.c:1694
++#: fortran/interface.c:1879
+ #, no-c-format
+ msgid "More actual than formal arguments in procedure call at %L"
+ msgstr ""
+
+-#: fortran/interface.c:1706 fortran/interface.c:1935
++#: fortran/interface.c:1891 fortran/interface.c:2110
+ #, no-c-format
+ msgid "Missing alternate return spec in subroutine call at %L"
+ msgstr ""
+
+-#: fortran/interface.c:1714
++#: fortran/interface.c:1899
+ #, no-c-format
+ msgid "Unexpected alternate return spec in subroutine call at %L"
+ msgstr ""
+
+-#: fortran/interface.c:1729
++#: fortran/interface.c:1922
+ #, no-c-format
+-msgid "Fortran 2003: Scalar CHARACTER actual argument with array dummy argument '%s' at %L"
++msgid "Character length mismatch (%ld/%ld) between actual argument and pointer or allocatable dummy argument '%s' at %L"
+ msgstr ""
+
+-#: fortran/interface.c:1742
+-#, fuzzy, no-c-format
+-msgid "Type/rank mismatch in argument '%s' at %L"
+-msgstr "non concordance du mode dans le paramètre %d"
+-
+-#: fortran/interface.c:1758
++#: fortran/interface.c:1929
+ #, no-c-format
+-msgid "Character length mismatch between actual argument and pointer or allocatable dummy argument '%s' at %L"
++msgid "Character length mismatch (%ld/%ld) between actual argument and assumed-shape dummy argument '%s' at %L"
+ msgstr ""
+
+-#: fortran/interface.c:1771
++#: fortran/interface.c:1943
+ #, no-c-format
+ msgid "Character length of actual argument shorter than of dummy argument '%s' (%lu/%lu) at %L"
+ msgstr ""
+
+-#: fortran/interface.c:1776
++#: fortran/interface.c:1948
+ #, no-c-format
+ msgid "Actual argument contains too few elements for dummy argument '%s' (%lu/%lu) at %L"
+ msgstr ""
+
+-#: fortran/interface.c:1790
++#: fortran/interface.c:1962
+ #, no-c-format
+ msgid "Expected a procedure for argument '%s' at %L"
+ msgstr ""
+
+-#: fortran/interface.c:1800
++#: fortran/interface.c:1972
+ #, no-c-format
+ msgid "Expected a PURE procedure for argument '%s' at %L"
+ msgstr ""
+
+-#: fortran/interface.c:1814
++#: fortran/interface.c:1986
+ #, no-c-format
+ msgid "Actual argument for '%s' cannot be an assumed-size array at %L"
+ msgstr ""
+
+-#: fortran/interface.c:1823
++#: fortran/interface.c:1995
+ #, fuzzy, no-c-format
+ msgid "Actual argument for '%s' must be a pointer at %L"
+ msgstr "argument de « %s » doit être de type entier"
+
+-#: fortran/interface.c:1832
++#: fortran/interface.c:2004
+ #, fuzzy, no-c-format
+ msgid "Actual argument for '%s' must be ALLOCATABLE at %L"
+ msgstr "premier argument de « %s » doit être un mode"
+
+-#: fortran/interface.c:1843
++#: fortran/interface.c:2017
+ #, no-c-format
+-msgid "Actual argument at %L must be definable to match dummy INTENT = OUT/INOUT"
++msgid "Actual argument at %L must be definable as the dummy argument '%s' is INTENT = OUT/INOUT"
+ msgstr ""
+
+-#: fortran/interface.c:1851
++#: fortran/interface.c:2026
+ #, no-c-format
+ msgid "Actual argument at %L is use-associated with PROTECTED attribute and dummy argument '%s' is INTENT = OUT/INOUT"
+ msgstr ""
+
+-#: fortran/interface.c:1864
++#: fortran/interface.c:2039
+ #, no-c-format
+-msgid "Array-section actual argument with vector subscripts at %L is incompatible with INTENT(IN), 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) or VOLATILE attribute of the dummy argument '%s'"
+ msgstr ""
+
+-#: fortran/interface.c:1881
++#: fortran/interface.c:2056
+ #, no-c-format
+ msgid "Assumed-shape actual argument at %L is incompatible with the non-assumed-shape dummy argument '%s' due to VOLATILE attribute"
+ msgstr ""
+
+-#: fortran/interface.c:1893
++#: fortran/interface.c:2068
+ #, no-c-format
+ msgid "Array-section actual argument at %L is incompatible with the non-assumed-shape dummy argument '%s' due to VOLATILE attribute"
+ msgstr ""
+
+-#: fortran/interface.c:1912
++#: fortran/interface.c:2087
+ #, no-c-format
+ msgid "Pointer-array actual argument at %L requires an assumed-shape or pointer-array dummy argument '%s' due to VOLATILE attribute"
+ msgstr ""
+
+-#: fortran/interface.c:1942
++#: fortran/interface.c:2117
+ #, no-c-format
+ msgid "Missing actual argument for argument '%s' at %L"
+ msgstr ""
+
+-#: fortran/interface.c:2128
++#: fortran/interface.c:2303
+ #, no-c-format
+ msgid "Same actual argument associated with INTENT(%s) argument '%s' and INTENT(%s) argument '%s' at %L"
+ msgstr ""
+
+-#: fortran/interface.c:2184
++#: fortran/interface.c:2359
+ #, no-c-format
+ msgid "Procedure argument at %L is INTENT(IN) while interface specifies INTENT(%s)"
+ msgstr ""
+
+-#: fortran/interface.c:2194
++#: fortran/interface.c:2369
+ #, no-c-format
+ msgid "Procedure argument at %L is local to a PURE procedure and is passed to an INTENT(%s) argument"
+ msgstr ""
+
+-#: fortran/interface.c:2202
++#: fortran/interface.c:2377
+ #, no-c-format
+ msgid "Procedure argument at %L is local to a PURE procedure and has the POINTER attribute"
+ msgstr ""
+
+-#: fortran/interface.c:2225
++#: fortran/interface.c:2400
+ #, no-c-format
+ msgid "Procedure '%s' called with an implicit interface at %L"
+ msgstr ""
+
+-#: fortran/interface.c:2440
++#: fortran/interface.c:2629
+ #, no-c-format
+ msgid "Function '%s' called in lieu of an operator at %L must be PURE"
+ msgstr ""
+
+-#: fortran/interface.c:2519
++#: fortran/interface.c:2708
+ #, no-c-format
+ msgid "Entity '%s' at %C is already present in the interface"
+ msgstr ""
+
+-#: fortran/intrinsic.c:2918
++#: fortran/intrinsic.c:2923
+ #, fuzzy, no-c-format
+ msgid "Too many arguments in call to '%s' at %L"
+ msgstr "trop d'arguments pour l'appel de « %s »"
+
+-#: fortran/intrinsic.c:2933
++#: fortran/intrinsic.c:2938
+ #, no-c-format
+ msgid "The argument list functions %%VAL, %%LOC or %%REF are not allowed in this context at %L"
+ msgstr ""
+
+-#: fortran/intrinsic.c:2936
++#: fortran/intrinsic.c:2941
+ #, no-c-format
+ msgid "Can't find keyword named '%s' in call to '%s' at %L"
+ msgstr ""
+
+-#: fortran/intrinsic.c:2943
++#: fortran/intrinsic.c:2948
+ #, no-c-format
+ msgid "Argument '%s' is appears twice in call to '%s' at %L"
+ msgstr ""
+
+-#: fortran/intrinsic.c:2957
++#: fortran/intrinsic.c:2962
+ #, fuzzy, no-c-format
+ msgid "Missing actual argument '%s' in call to '%s' at %L"
+ msgstr "trop d'arguments pour l'appel de « %s »"
+
+-#: fortran/intrinsic.c:2972
++#: fortran/intrinsic.c:2977
+ #, no-c-format
+ msgid "ALTERNATE RETURN not permitted at %L"
+ msgstr ""
+
+-#: fortran/intrinsic.c:3021
++#: fortran/intrinsic.c:3026
+ #, no-c-format
+ msgid "Type of argument '%s' in call to '%s' at %L should be %s, not %s"
+ msgstr ""
+
+-#: fortran/intrinsic.c:3337
++#: fortran/intrinsic.c:3342
+ #, no-c-format
+ msgid "Intrinsic '%s' at %L is not included in the selected standard"
+ msgstr ""
+
+-#: fortran/intrinsic.c:3450
++#: fortran/intrinsic.c:3398
+ #, no-c-format
++msgid "Fortran 2003: Function '%s' as initialization expression at %L"
++msgstr ""
++
++#: fortran/intrinsic.c:3463
++#, no-c-format
+ msgid "Fortran 2003: Elemental function as initialization expression with non-integer/non-character arguments at %L"
+ msgstr ""
+
+-#: fortran/intrinsic.c:3508
++#: fortran/intrinsic.c:3524
+ #, fuzzy, no-c-format
+ msgid "Subroutine call to intrinsic '%s' at %L is not PURE"
+ msgstr "référence de sous-routine à la fonction «%A» à %0"
+
+-#: fortran/intrinsic.c:3579
++#: fortran/intrinsic.c:3595
+ #, fuzzy, no-c-format
+ msgid "Extension: Conversion from %s to %s at %L"
+ msgstr "conversion invalide de « %T » vers « %T »"
+
+-#: fortran/intrinsic.c:3582
++#: fortran/intrinsic.c:3598
+ #, fuzzy, no-c-format
+ msgid "Conversion from %s to %s at %L"
+ msgstr "conversion de NaN en int"
+
+-#: fortran/intrinsic.c:3629
++#: fortran/intrinsic.c:3645
+ #, fuzzy, no-c-format
+ msgid "Can't convert %s to %s at %L"
+ msgstr "échec de conversion de %s vers %s"
+
+-#: fortran/io.c:156 fortran/primary.c:738
++#: fortran/io.c:156 fortran/primary.c:750
+ #, no-c-format
+ msgid "Extension: backslash character at %C"
+ msgstr ""
+@@ -7313,7 +7340,7 @@
+ msgid "CLOSE statement not allowed in PURE procedure at %C"
+ msgstr ""
+
+-#: fortran/io.c:1955 fortran/match.c:1841
++#: fortran/io.c:1955 fortran/match.c:1911
+ #, no-c-format
+ msgid "%s statement not allowed in PURE procedure at %C"
+ msgstr ""
+@@ -7328,516 +7355,491 @@
+ msgid "Duplicate UNIT specification at %C"
+ msgstr "spécification d'étendue à %0 invalide"
+
+-#: fortran/io.c:2128
++#: fortran/io.c:2132
+ #, fuzzy, no-c-format
+ msgid "Duplicate format specification at %C"
+ msgstr "caractère de format de spécification erroné (décalage %d)"
+
+-#: fortran/io.c:2145
++#: fortran/io.c:2149
+ #, no-c-format
+ msgid "Symbol '%s' in namelist '%s' is INTENT(IN) at %C"
+ msgstr ""
+
+-#: fortran/io.c:2181
++#: fortran/io.c:2185
+ #, fuzzy, no-c-format
+ msgid "Duplicate NML specification at %C"
+ msgstr "spécification d'étendue à %0 invalide"
+
+-#: fortran/io.c:2190
++#: fortran/io.c:2194
+ #, no-c-format
+ msgid "Symbol '%s' at %C must be a NAMELIST group name"
+ msgstr ""
+
+-#: fortran/io.c:2231
++#: fortran/io.c:2235
+ #, no-c-format
+ msgid "END tag at %C not allowed in output statement"
+ msgstr ""
+
+-#: fortran/io.c:2288
++#: fortran/io.c:2292
+ #, no-c-format
+ msgid "UNIT specification at %L must be an INTEGER expression or a CHARACTER variable"
+ msgstr ""
+
+-#: fortran/io.c:2297
++#: fortran/io.c:2301
+ #, no-c-format
+ msgid "Internal unit with vector subscript at %L"
+ msgstr ""
+
+-#: fortran/io.c:2304
++#: fortran/io.c:2308
+ #, no-c-format
+ msgid "External IO UNIT cannot be an array at %L"
+ msgstr ""
+
+-#: fortran/io.c:2314
++#: fortran/io.c:2318
+ #, fuzzy, no-c-format
+ msgid "ERR tag label %d at %L not defined"
+ msgstr "étiquette « %D » utilisée mais non définie"
+
+-#: fortran/io.c:2326
++#: fortran/io.c:2330
+ #, fuzzy, no-c-format
+ msgid "END tag label %d at %L not defined"
+ msgstr "étiquette « %D » utilisée mais non définie"
+
+-#: fortran/io.c:2338
++#: fortran/io.c:2342
+ #, fuzzy, no-c-format
+ msgid "EOR tag label %d at %L not defined"
+ msgstr "étiquette « %D » utilisée mais non définie"
+
+-#: fortran/io.c:2348
++#: fortran/io.c:2352
+ #, fuzzy, no-c-format
+ msgid "FORMAT label %d at %L not defined"
+ msgstr "étiquette « %D » utilisée mais non définie"
+
+-#: fortran/io.c:2469
++#: fortran/io.c:2473
+ #, fuzzy, no-c-format
+ msgid "Syntax error in I/O iterator at %C"
+ msgstr "erreur de syntaxe dans l,action"
+
+-#: fortran/io.c:2500
++#: fortran/io.c:2504
+ #, fuzzy, no-c-format
+ msgid "Expected variable in READ statement at %C"
+ msgstr "Virgule superflue dans la déclaration de FORMAT à %0"
+
+-#: fortran/io.c:2506
++#: fortran/io.c:2510
+ #, fuzzy, no-c-format
+ msgid "Expected expression in %s statement at %C"
+ msgstr "expression sans type comme argument %d"
+
+-#: fortran/io.c:2516
++#: fortran/io.c:2520
+ #, no-c-format
+ msgid "Variable '%s' in input list at %C cannot be INTENT(IN)"
+ msgstr ""
+
+-#: fortran/io.c:2525
++#: fortran/io.c:2529
+ #, no-c-format
+ msgid "Cannot read to variable '%s' in PURE procedure at %C"
+ msgstr ""
+
+-#: fortran/io.c:2541
++#: fortran/io.c:2545
+ #, no-c-format
+ msgid "Cannot write to internal file unit '%s' at %C inside a PURE procedure"
+ msgstr ""
+
+ #. A general purpose syntax error.
+-#: fortran/io.c:2602 fortran/io.c:3004 fortran/gfortran.h:1998
++#: fortran/io.c:2606 fortran/io.c:3013 fortran/gfortran.h:2002
+ #, fuzzy, no-c-format
+ msgid "Syntax error in %s statement at %C"
+ msgstr "Forme invalide pour la déclaration %A à %0"
+
+-#: fortran/io.c:2670
++#: fortran/io.c:2679
+ #, no-c-format
+ msgid "Fortran 2003: Internal file at %L with namelist"
+ msgstr ""
+
+-#: fortran/io.c:2833
++#: fortran/io.c:2842
+ #, no-c-format
+ msgid "PRINT namelist at %C is an extension"
+ msgstr ""
+
+-#: fortran/io.c:2965
++#: fortran/io.c:2974
+ #, no-c-format
+ msgid "Extension: Comma before i/o item list at %C"
+ msgstr ""
+
+-#: fortran/io.c:2974
++#: fortran/io.c:2983
+ #, fuzzy, no-c-format
+ msgid "Expected comma in I/O list at %C"
+ msgstr "Virgule superflue dans la déclaration de FORMAT à %0"
+
+-#: fortran/io.c:3036
++#: fortran/io.c:3045
+ #, fuzzy, no-c-format
+ msgid "PRINT statement at %C not allowed within PURE procedure"
+ msgstr "déclaration RETURN à %0 invalide à l'intérieur de l'unité du programme principal"
+
+-#: fortran/io.c:3176 fortran/io.c:3227
++#: fortran/io.c:3185 fortran/io.c:3236
+ #, no-c-format
+ msgid "INQUIRE statement not allowed in PURE procedure at %C"
+ msgstr ""
+
+-#: fortran/io.c:3203
++#: fortran/io.c:3212
+ #, fuzzy, no-c-format
+ msgid "IOLENGTH tag invalid in INQUIRE statement at %C"
+ msgstr "Déclaration %A invalide à %0"
+
+-#: fortran/io.c:3213 fortran/trans-io.c:1144
++#: fortran/io.c:3222 fortran/trans-io.c:1145
+ #, no-c-format
+ msgid "INQUIRE statement at %L cannot contain both FILE and UNIT specifiers"
+ msgstr ""
+
+-#: fortran/io.c:3220
++#: fortran/io.c:3229
+ #, no-c-format
+ msgid "INQUIRE statement at %L requires either FILE or UNIT specifier"
+ msgstr ""
+
+-#: fortran/match.c:270
++#: fortran/match.c:156
+ #, fuzzy, no-c-format
++msgid "Missing ')' in statement before %L"
++msgstr "Virgule manquante dans la déclaration de FORMAT à %0"
++
++#: fortran/match.c:161
++#, fuzzy, no-c-format
++msgid "Missing '(' in statement before %L"
++msgstr "Virgule manquante dans la déclaration de FORMAT à %0"
++
++#: fortran/match.c:332
++#, fuzzy, no-c-format
+ msgid "Integer too large at %C"
+ msgstr "entier à %0 est trop grand"
+
+-#: fortran/match.c:363 fortran/parse.c:442
++#: fortran/match.c:425 fortran/parse.c:589
+ #, fuzzy, no-c-format
+ msgid "Too many digits in statement label at %C"
+ msgstr "trop de dimensions à %0"
+
+-#: fortran/match.c:369
++#: fortran/match.c:431
+ #, no-c-format
+ msgid "Statement label at %C is zero"
+ msgstr ""
+
+-#: fortran/match.c:402
++#: fortran/match.c:464
+ #, fuzzy, no-c-format
+ msgid "Label name '%s' at %C is ambiguous"
+ msgstr "référence à « %D » est ambiguë"
+
+-#: fortran/match.c:408
++#: fortran/match.c:470
+ #, fuzzy, no-c-format
+ msgid "Duplicate construct label '%s' at %C"
+ msgstr "étiquette « %D » apparaît en double"
+
+-#: fortran/match.c:438
++#: fortran/match.c:500
+ #, fuzzy, no-c-format
+ msgid "Invalid character in name at %C"
+ msgstr "caractère «%c» invalide dans le nom"
+
+-#: fortran/match.c:451 fortran/match.c:523
++#: fortran/match.c:513 fortran/match.c:585
+ #, no-c-format
+ msgid "Name at %C is too long"
+ msgstr ""
+
+-#: fortran/match.c:506 fortran/match.c:552
++#: fortran/match.c:568 fortran/match.c:614
+ #, no-c-format
+ msgid "Invalid C name in NAME= specifier at %C"
+ msgstr ""
+
+-#: fortran/match.c:543
++#: fortran/match.c:605
+ #, no-c-format
+ msgid "Embedded space in NAME= specifier at %C"
+ msgstr ""
+
+-#: fortran/match.c:868
++#: fortran/match.c:930
+ #, no-c-format
+ msgid "Loop variable at %C cannot be a sub-component"
+ msgstr ""
+
+-#: fortran/match.c:874
++#: fortran/match.c:936
+ #, no-c-format
+ msgid "Loop variable '%s' at %C cannot be INTENT(IN)"
+ msgstr ""
+
+-#: fortran/match.c:907
++#: fortran/match.c:969
+ #, no-c-format
+ msgid "Expected a step value in iterator at %C"
+ msgstr ""
+
+-#: fortran/match.c:919
++#: fortran/match.c:981
+ #, fuzzy, no-c-format
+ msgid "Syntax error in iterator at %C"
+ msgstr "erreur de syntaxe dans l,action"
+
+-#: fortran/match.c:1155
++#: fortran/match.c:1217
+ #, fuzzy, no-c-format
+ msgid "Invalid form of PROGRAM statement at %C"
+ msgstr "Forme invalide pour la déclaration %A à %0"
+
+-#: fortran/match.c:1196
++#: fortran/match.c:1258
+ #, no-c-format
+ msgid "Setting value of PROTECTED variable at %C"
+ msgstr ""
+
+-#: fortran/match.c:1249
++#: fortran/match.c:1311
+ #, no-c-format
+ msgid "Assigning to a PROTECTED pointer at %C"
+ msgstr ""
+
+-#: fortran/match.c:1292 fortran/match.c:1365
++#: fortran/match.c:1354 fortran/match.c:1435
+ #, no-c-format
+ msgid "Obsolescent: arithmetic IF statement at %C"
+ msgstr ""
+
+-#: fortran/match.c:1340
++#: fortran/match.c:1410
+ #, fuzzy, no-c-format
+ msgid "Syntax error in IF-expression at %C"
+ msgstr "erreur de syntaxe dans la liste d'exception"
+
+-#: fortran/match.c:1351
++#: fortran/match.c:1421
+ #, no-c-format
+ msgid "Block label not appropriate for arithmetic IF statement at %C"
+ msgstr ""
+
+-#: fortran/match.c:1389
++#: fortran/match.c:1459
+ #, fuzzy, no-c-format
+-msgid "Block label is not appropriate IF statement at %C"
++msgid "Block label is not appropriate for IF statement at %C"
+ msgstr "pas de définition d'étiquette pour la déclaration de FORMAT à %0"
+
+-#: fortran/match.c:1468 fortran/primary.c:2522
++#: fortran/match.c:1538 fortran/primary.c:2559
+ #, no-c-format
+ msgid "Cannot assign to a named constant at %C"
+ msgstr ""
+
+-#: fortran/match.c:1478
++#: fortran/match.c:1548
+ #, no-c-format
+ msgid "Unclassifiable statement in IF-clause at %C"
+ msgstr ""
+
+-#: fortran/match.c:1485
++#: fortran/match.c:1555
+ #, fuzzy, no-c-format
+ msgid "Syntax error in IF-clause at %C"
+ msgstr "erreur de syntaxe dans l,action"
+
+-#: fortran/match.c:1529
++#: fortran/match.c:1599
+ #, fuzzy, no-c-format
+ msgid "Unexpected junk after ELSE statement at %C"
+ msgstr "déclaration VXT non supporté à %0"
+
+-#: fortran/match.c:1535 fortran/match.c:1570
++#: fortran/match.c:1605 fortran/match.c:1640
+ #, fuzzy, no-c-format
+ msgid "Label '%s' at %C doesn't match IF label '%s'"
+ msgstr "étiquette de départ « %s » ne concorde pas avec l'étiquette de fin « %s »"
+
+-#: fortran/match.c:1564
++#: fortran/match.c:1634
+ #, no-c-format
+ msgid "Unexpected junk after ELSE IF statement at %C"
+ msgstr ""
+
+-#: fortran/match.c:1727
++#: fortran/match.c:1797
+ #, no-c-format
+ msgid "Name '%s' in %s statement at %C is not a loop name"
+ msgstr ""
+
+-#: fortran/match.c:1743
++#: fortran/match.c:1813
+ #, fuzzy, no-c-format
+ msgid "%s statement at %C is not within a loop"
+ msgstr "mot-clé « continue » à l'extérieur de toute boucle"
+
+-#: fortran/match.c:1746
++#: fortran/match.c:1816
+ #, fuzzy, no-c-format
+ msgid "%s statement at %C is not within loop '%s'"
+ msgstr "mot-clé « break » à l'extérieur de toute boucle ou « switch »"
+
+-#: fortran/match.c:1754
++#: fortran/match.c:1824
+ #, no-c-format
+ msgid "%s statement at %C leaving OpenMP structured block"
+ msgstr ""
+
+-#: fortran/match.c:1767
++#: fortran/match.c:1837
+ #, no-c-format
+ msgid "EXIT statement at %C terminating !$OMP DO loop"
+ msgstr ""
+
+-#: fortran/match.c:1819
++#: fortran/match.c:1889
+ #, fuzzy, no-c-format
+ msgid "Too many digits in STOP code at %C"
+ msgstr "trop de dimensions à %0"
+
+-#: fortran/match.c:1872
++#: fortran/match.c:1942
+ #, fuzzy, no-c-format
+ msgid "Deleted feature: PAUSE statement at %C"
+ msgstr "Forme invalide pour la déclaration %A à %0"
+
+-#: fortran/match.c:1920
++#: fortran/match.c:1990
+ #, no-c-format
+ msgid "Deleted feature: ASSIGN statement at %C"
+ msgstr ""
+
+-#: fortran/match.c:1966
++#: fortran/match.c:2036
+ #, no-c-format
+ msgid "Deleted feature: Assigned GOTO statement at %C"
+ msgstr ""
+
+-#: fortran/match.c:2013 fortran/match.c:2065
++#: fortran/match.c:2083 fortran/match.c:2135
+ #, no-c-format
+ msgid "Statement label list in GOTO at %C cannot be empty"
+ msgstr ""
+
+-#: fortran/match.c:2149
++#: fortran/match.c:2219
+ #, no-c-format
+ msgid "Bad allocate-object in ALLOCATE statement at %C for a PURE procedure"
+ msgstr ""
+
+-#: fortran/match.c:2173
++#: fortran/match.c:2287
+ #, no-c-format
+-msgid "STAT variable '%s' of ALLOCATE statement at %C cannot be INTENT(IN)"
+-msgstr ""
+-
+-#: fortran/match.c:2180
+-#, no-c-format
+-msgid "Illegal STAT variable in ALLOCATE statement at %C for a PURE procedure"
+-msgstr ""
+-
+-#: fortran/match.c:2218 fortran/match.c:2382
+-#, fuzzy, no-c-format
+-msgid "STAT expression at %C must be a variable"
+-msgstr "expression %s doit être référable"
+-
+-#: fortran/match.c:2272
+-#, no-c-format
+ msgid "Illegal variable in NULLIFY at %C for a PURE procedure"
+ msgstr ""
+
+-#: fortran/match.c:2349
++#: fortran/match.c:2364
+ #, no-c-format
+ msgid "Illegal deallocate-expression in DEALLOCATE at %C for a PURE procedure"
+ msgstr ""
+
+-#: fortran/match.c:2368
++#: fortran/match.c:2417
+ #, no-c-format
+-msgid "STAT variable '%s' of DEALLOCATE statement at %C cannot be INTENT(IN)"
+-msgstr ""
+-
+-#: fortran/match.c:2375
+-#, no-c-format
+-msgid "Illegal STAT variable in DEALLOCATE statement at %C for a PURE procedure"
+-msgstr ""
+-
+-#: fortran/match.c:2424
+-#, no-c-format
+ msgid "Alternate RETURN statement at %C is only allowed within a SUBROUTINE"
+ msgstr ""
+
+-#: fortran/match.c:2455
++#: fortran/match.c:2448
+ #, fuzzy, no-c-format
+ msgid "Extension: RETURN statement in main program at %C"
+ msgstr "déclaration RETURN à %0 invalide à l'intérieur de l'unité du programme principal"
+
+-#: fortran/match.c:2665
++#: fortran/match.c:2658
+ #, fuzzy, no-c-format
+ msgid "Syntax error in common block name at %C"
+ msgstr "erreur de syntaxe dans la liste de paramètres macro"
+
+-#: fortran/match.c:2701
++#: fortran/match.c:2694
+ #, no-c-format
+ msgid "Symbol '%s' at %C is already an external symbol that is not COMMON"
+ msgstr ""
+
+-#: fortran/match.c:2719
+-#, no-c-format
+-msgid "BLOCK DATA unit cannot contain blank COMMON at %C"
+-msgstr ""
+-
+ #. If we find an error, just print it and continue,
+ #. cause it's just semantic, and we can see if there
+ #. are more errors.
+-#: fortran/match.c:2765
++#: fortran/match.c:2753
+ #, no-c-format
+ msgid "Variable '%s' at %L in common block '%s' at %C must be declared with a C interoperable kind since common block '%s' is bind(c)"
+ msgstr ""
+
+-#: fortran/match.c:2774
++#: fortran/match.c:2762
+ #, no-c-format
+ msgid "Variable '%s' in common block '%s' at %C can not be bind(c) since it is not global"
+ msgstr ""
+
+-#: fortran/match.c:2781
++#: fortran/match.c:2769
+ #, no-c-format
+ msgid "Symbol '%s' at %C is already in a COMMON block"
+ msgstr ""
+
+-#: fortran/match.c:2793
++#: fortran/match.c:2777
+ #, no-c-format
+-msgid "Previously initialized symbol '%s' in blank COMMON block at %C"
++msgid "Initialized symbol '%s' at %C can only be COMMON in BLOCK DATA"
+ msgstr ""
+
+-#: fortran/match.c:2796
++#: fortran/match.c:2804
+ #, no-c-format
+-msgid "Previously initialized symbol '%s' in COMMON block '%s' at %C"
+-msgstr ""
+-
+-#: fortran/match.c:2821
+-#, no-c-format
+ msgid "Array specification for symbol '%s' in COMMON at %C must be explicit"
+ msgstr ""
+
+-#: fortran/match.c:2831
++#: fortran/match.c:2814
+ #, no-c-format
+ msgid "Symbol '%s' in COMMON at %C cannot be a POINTER array"
+ msgstr ""
+
+-#: fortran/match.c:2863
++#: fortran/match.c:2846
+ #, no-c-format
+ msgid "Symbol '%s', in COMMON block '%s' at %C is being indirectly equivalenced to another COMMON block '%s'"
+ msgstr ""
+
+-#: fortran/match.c:2971
++#: fortran/match.c:2954
+ #, no-c-format
+ msgid "Namelist group name '%s' at %C already has a basic type of %s"
+ msgstr ""
+
+-#: fortran/match.c:2979
++#: fortran/match.c:2962
+ #, no-c-format
+ msgid "Namelist group name '%s' at %C already is USE associated and cannot be respecified."
+ msgstr ""
+
+-#: fortran/match.c:3006
++#: fortran/match.c:2989
+ #, no-c-format
+ msgid "Assumed size array '%s' in namelist '%s' at %C is not allowed"
+ msgstr ""
+
+-#: fortran/match.c:3013
++#: fortran/match.c:2996
+ #, no-c-format
+ msgid "Assumed character length '%s' in namelist '%s' at %C is not allowed"
+ msgstr ""
+
+-#: fortran/match.c:3140
++#: fortran/match.c:3123
+ #, no-c-format
+ msgid "Derived type component %C is not a permitted EQUIVALENCE member"
+ msgstr ""
+
+-#: fortran/match.c:3148
++#: fortran/match.c:3131
+ #, no-c-format
+ msgid "Array reference in EQUIVALENCE at %C cannot be an array section"
+ msgstr ""
+
+-#: fortran/match.c:3176
++#: fortran/match.c:3159
+ #, no-c-format
+ msgid "EQUIVALENCE at %C requires two or more objects"
+ msgstr ""
+
+-#: fortran/match.c:3190
++#: fortran/match.c:3173
+ #, fuzzy, no-c-format
+ msgid "Attempt to indirectly overlap COMMON blocks %s and %s by EQUIVALENCE at %C"
+ msgstr "Tentative d'étendre la zone COMMON au delà de son point de départ via EQUIVALENCE de « %A »"
+
+-#: fortran/match.c:3351
++#: fortran/match.c:3299
+ #, fuzzy, no-c-format
+ msgid "Statement function at %L is recursive"
+ msgstr "déclaration de fonction « %A » définie à %0 n'est pas utilisée"
+
+-#: fortran/match.c:3439
++#: fortran/match.c:3387
+ #, fuzzy, no-c-format
+ msgid "Expected initialization expression in CASE at %C"
+ msgstr "initialisation de la nouvelle expression avec « = »"
+
+-#: fortran/match.c:3462
++#: fortran/match.c:3410
+ #, no-c-format
+ msgid "Expected the name of the SELECT CASE construct at %C"
+ msgstr ""
+
+-#: fortran/match.c:3474
++#: fortran/match.c:3422
+ #, fuzzy, no-c-format
+ msgid "Expected case name of '%s' at %C"
+ msgstr "un nom de chaîne est attendu ici"
+
+-#: fortran/match.c:3518
++#: fortran/match.c:3466
+ #, fuzzy, no-c-format
+ msgid "Unexpected CASE statement at %C"
+ msgstr "déclaration VXT non supporté à %0"
+
+-#: fortran/match.c:3570
++#: fortran/match.c:3518
+ #, fuzzy, no-c-format
+ msgid "Syntax error in CASE-specification at %C"
+ msgstr "erreur de syntaxe dans la liste d'exception"
+
+-#: fortran/match.c:3690
++#: fortran/match.c:3638
+ #, no-c-format
+ msgid "ELSEWHERE statement at %C not enclosed in WHERE block"
+ msgstr ""
+
+-#: fortran/match.c:3728
++#: fortran/match.c:3676
+ #, fuzzy, no-c-format
+ msgid "Label '%s' at %C doesn't match WHERE label '%s'"
+ msgstr "étiquette de départ « %s » ne concorde pas avec l'étiquette de fin « %s »"
+
+-#: fortran/match.c:3828
++#: fortran/match.c:3776
+ #, fuzzy, no-c-format
+ msgid "Syntax error in FORALL iterator at %C"
+ msgstr "erreur de syntaxe dans l,action"
+@@ -7867,7 +7869,8 @@
+ msgid "Expected exponent in expression at %C"
+ msgstr "Opérateur binaire attendu entre les expressions à %0 et à %1"
+
+-#: fortran/matchexp.c:348 fortran/matchexp.c:452
++#: fortran/matchexp.c:350 fortran/matchexp.c:355 fortran/matchexp.c:459
++#: fortran/matchexp.c:464
+ #, no-c-format
+ msgid "Extension: Unary operator following arithmetic operator (use parentheses) at %C"
+ msgstr ""
+@@ -8002,127 +8005,127 @@
+ msgid "Expected real string"
+ msgstr "un nom de chaîne est attendu ici"
+
+-#: fortran/module.c:2722
++#: fortran/module.c:2730
+ #, fuzzy
+ msgid "Expected expression type"
+ msgstr "expression d'adresse inattendue"
+
+-#: fortran/module.c:2776
++#: fortran/module.c:2784
+ #, fuzzy
+ msgid "Bad operator"
+ msgstr "opérande erronée"
+
+-#: fortran/module.c:2861
++#: fortran/module.c:2869
+ #, fuzzy
+ msgid "Bad type in constant expression"
+ msgstr "débordement dans l'expression de la constante"
+
+-#: fortran/module.c:2898
++#: fortran/module.c:2906
+ #, no-c-format
+ msgid "Namelist %s cannot be renamed by USE association to %s"
+ msgstr ""
+
+-#: fortran/module.c:3723
++#: fortran/module.c:3847
+ #, no-c-format
+ msgid "Symbol '%s' referenced at %L not found in module '%s'"
+ msgstr ""
+
+-#: fortran/module.c:3730
++#: fortran/module.c:3854
+ #, no-c-format
+ msgid "User operator '%s' referenced at %L not found in module '%s'"
+ msgstr ""
+
+-#: fortran/module.c:3735
++#: fortran/module.c:3859
+ #, no-c-format
+ msgid "Intrinsic operator '%s' referenced at %L not found in module '%s'"
+ msgstr ""
+
+-#: fortran/module.c:4213
++#: fortran/module.c:4400
+ #, fuzzy, no-c-format
+ msgid "Can't open module file '%s' for writing at %C: %s"
+ msgstr "ne peut ouvrir %s en écriture: %m"
+
+-#: fortran/module.c:4251
++#: fortran/module.c:4438
+ #, fuzzy, no-c-format
+ msgid "Error writing module file '%s' for writing: %s"
+ msgstr "%s: erreur d'écriture au fichier « %s »: %s\n"
+
+-#: fortran/module.c:4281 fortran/module.c:4363
++#: fortran/module.c:4468 fortran/module.c:4550
+ #, no-c-format
+ msgid "Symbol '%s' referenced at %L does not exist in intrinsic module ISO_C_BINDING."
+ msgstr ""
+
+-#: fortran/module.c:4394
++#: fortran/module.c:4581
+ #, no-c-format
+ msgid "Symbol '%s' referenced at %L not found in intrinsic module ISO_C_BINDING"
+ msgstr ""
+
+-#: fortran/module.c:4416
++#: fortran/module.c:4603
+ #, fuzzy, no-c-format
+ msgid "Symbol '%s' already declared"
+ msgstr "Les symboles sont précédées d'un caractère de soulignement "
+
+-#: fortran/module.c:4471
++#: fortran/module.c:4658
+ #, no-c-format
+ msgid "Use of intrinsic module '%s' at %C conflicts with non-intrinsic module name used previously"
+ msgstr ""
+
+-#: fortran/module.c:4484
++#: fortran/module.c:4671
+ #, no-c-format
+ msgid "Symbol '%s' referenced at %L does not exist in intrinsic module ISO_FORTRAN_ENV"
+ msgstr ""
+
+-#: fortran/module.c:4492
++#: fortran/module.c:4679
+ #, no-c-format
+ msgid "Use of the NUMERIC_STORAGE_SIZE named constant from intrinsic module ISO_FORTRAN_ENV at %L is incompatible with option %s"
+ msgstr ""
+
+-#: fortran/module.c:4520
++#: fortran/module.c:4707
+ #, no-c-format
+ msgid "Use of the NUMERIC_STORAGE_SIZE named constant from intrinsic module ISO_FORTRAN_ENV at %C is incompatible with option %s"
+ msgstr ""
+
+-#: fortran/module.c:4536
++#: fortran/module.c:4723
+ #, no-c-format
+ msgid "Symbol '%s' referenced at %L not found in intrinsic module ISO_FORTRAN_ENV"
+ msgstr ""
+
+-#: fortran/module.c:4569
++#: fortran/module.c:4756
+ #, no-c-format
+ msgid "Fortran 2003: ISO_FORTRAN_ENV intrinsic module at %C"
+ msgstr ""
+
+-#: fortran/module.c:4577
++#: fortran/module.c:4764
+ #, no-c-format
+ msgid "Fortran 2003: ISO_C_BINDING module at %C"
+ msgstr ""
+
+-#: fortran/module.c:4587
++#: fortran/module.c:4774
+ #, no-c-format
+ msgid "Can't find an intrinsic module named '%s' at %C"
+ msgstr ""
+
+-#: fortran/module.c:4592
++#: fortran/module.c:4779
+ #, fuzzy, no-c-format
+ msgid "Can't open module file '%s' for reading at %C: %s"
+ msgstr "%s: ne peut ouvrir le fichier « %s » en lecture: %s\n"
+
+-#: fortran/module.c:4600
++#: fortran/module.c:4787
+ #, no-c-format
+ msgid "Use of non-intrinsic module '%s' at %C conflicts with intrinsic module name used previously"
+ msgstr ""
+
+-#: fortran/module.c:4615
++#: fortran/module.c:4802
+ #, fuzzy
+ msgid "Unexpected end of module"
+ msgstr "symbole PIC inattendue"
+
+-#: fortran/module.c:4620
++#: fortran/module.c:4807
+ #, no-c-format
+ msgid "File '%s' opened at %C is not a GFORTRAN module file"
+ msgstr ""
+
+-#: fortran/module.c:4630
++#: fortran/module.c:4817
+ #, no-c-format
+ msgid "Can't USE the same module we're building!"
+ msgstr ""
+@@ -8152,7 +8155,7 @@
+ msgid "Syntax error in !$OMP THREADPRIVATE list at %C"
+ msgstr ""
+
+-#: fortran/openmp.c:696 fortran/resolve.c:5822 fortran/resolve.c:6133
++#: fortran/openmp.c:696 fortran/resolve.c:5970 fortran/resolve.c:6317
+ #, no-c-format
+ msgid "IF clause at %L requires a scalar LOGICAL expression"
+ msgstr ""
+@@ -8448,303 +8451,303 @@
+ msgid "Maximum subrecord length cannot exceed %d"
+ msgstr ""
+
+-#: fortran/parse.c:304
++#: fortran/parse.c:451
+ #, fuzzy, no-c-format
+ msgid "Unclassifiable statement at %C"
+ msgstr "Déclaration invalide à %0"
+
+-#: fortran/parse.c:328
++#: fortran/parse.c:475
+ #, no-c-format
+ msgid "OpenMP directives at %C may not appear in PURE or ELEMENTAL procedures"
+ msgstr ""
+
+-#: fortran/parse.c:406
++#: fortran/parse.c:553
+ #, no-c-format
+ msgid "Unclassifiable OpenMP directive at %C"
+ msgstr ""
+
+-#: fortran/parse.c:445 fortran/parse.c:586
++#: fortran/parse.c:592 fortran/parse.c:733
+ #, fuzzy, no-c-format
+ msgid "Zero is not a valid statement label at %C"
+ msgstr "Déclaration invalide à %0"
+
+-#: fortran/parse.c:452 fortran/parse.c:578
++#: fortran/parse.c:599 fortran/parse.c:725
+ #, fuzzy, no-c-format
+ msgid "Non-numeric character in statement label at %C"
+ msgstr "Caractère non-numérique à %0 dans le champ d'étiquette [info -f g77 M LEX]"
+
+-#: fortran/parse.c:464 fortran/parse.c:500 fortran/parse.c:626
++#: fortran/parse.c:611 fortran/parse.c:647 fortran/parse.c:773
+ #, no-c-format
+ msgid "Semicolon at %C needs to be preceded by statement"
+ msgstr ""
+
+-#: fortran/parse.c:472 fortran/parse.c:638
++#: fortran/parse.c:619 fortran/parse.c:785
+ #, no-c-format
+ msgid "Ignoring statement label in empty statement at %C"
+ msgstr ""
+
+-#: fortran/parse.c:565 fortran/parse.c:605
++#: fortran/parse.c:712 fortran/parse.c:752
+ #, fuzzy, no-c-format
+ msgid "Bad continuation line at %C"
+ msgstr "ligne de continuation invalide à %0"
+
+-#: fortran/parse.c:664
++#: fortran/parse.c:811
+ #, no-c-format
+ msgid "Line truncated at %C"
+ msgstr ""
+
+-#: fortran/parse.c:841
++#: fortran/parse.c:997
+ #, no-c-format
+ msgid "FORMAT statement at %L does not have a statement label"
+ msgstr ""
+
+-#: fortran/parse.c:913
++#: fortran/parse.c:1069
+ msgid "arithmetic IF"
+ msgstr ""
+
+-#: fortran/parse.c:919
++#: fortran/parse.c:1075
+ #, fuzzy
+ msgid "attribute declaration"
+ msgstr "Déclaration invalide"
+
+-#: fortran/parse.c:949
++#: fortran/parse.c:1105
+ #, fuzzy
+ msgid "data declaration"
+ msgstr "déclaration vide"
+
+-#: fortran/parse.c:958
++#: fortran/parse.c:1114
+ #, fuzzy
+ msgid "derived type declaration"
+ msgstr "déclaration vide"
+
+-#: fortran/parse.c:1037
++#: fortran/parse.c:1193
+ msgid "block IF"
+ msgstr ""
+
+-#: fortran/parse.c:1046
++#: fortran/parse.c:1202
+ msgid "implied END DO"
+ msgstr ""
+
+-#: fortran/parse.c:1119
++#: fortran/parse.c:1275
+ msgid "assignment"
+ msgstr "affectation"
+
+-#: fortran/parse.c:1122
++#: fortran/parse.c:1278
+ #, fuzzy
+ msgid "pointer assignment"
+ msgstr "affectation"
+
+-#: fortran/parse.c:1131
++#: fortran/parse.c:1287
+ msgid "simple IF"
+ msgstr ""
+
+-#: fortran/parse.c:1347
++#: fortran/parse.c:1503
+ #, fuzzy, no-c-format
+ msgid "Unexpected %s statement at %C"
+ msgstr "déclaration VXT non supporté à %0"
+
+-#: fortran/parse.c:1486
++#: fortran/parse.c:1642
+ #, fuzzy, no-c-format
+ msgid "%s statement at %C cannot follow %s statement at %L"
+ msgstr "déclaration à %0 invalide dans le contexte établi par la déclaration à %1"
+
+-#: fortran/parse.c:1503
++#: fortran/parse.c:1659
+ #, fuzzy, no-c-format
+ msgid "Unexpected end of file in '%s'"
+ msgstr "attendait retourner au fichier \"%s\""
+
+-#: fortran/parse.c:1558
++#: fortran/parse.c:1714
+ #, no-c-format
+ msgid "Fortran 2003: Derived type definition at %C without components"
+ msgstr ""
+
+-#: fortran/parse.c:1569
++#: fortran/parse.c:1725
+ #, no-c-format
+ msgid "PRIVATE statement in TYPE at %C must be inside a MODULE"
+ msgstr ""
+
+-#: fortran/parse.c:1577
++#: fortran/parse.c:1733
+ #, no-c-format
+ msgid "PRIVATE statement at %C must precede structure components"
+ msgstr ""
+
+-#: fortran/parse.c:1585
++#: fortran/parse.c:1741
+ #, fuzzy, no-c-format
+ msgid "Duplicate PRIVATE statement at %C"
+ msgstr "déclaration VXT non supporté à %0"
+
+-#: fortran/parse.c:1597
++#: fortran/parse.c:1753
+ #, no-c-format
+ msgid "SEQUENCE statement at %C must precede structure components"
+ msgstr ""
+
+-#: fortran/parse.c:1604
++#: fortran/parse.c:1760
+ #, no-c-format
+ msgid "SEQUENCE attribute at %C already specified in TYPE statement"
+ msgstr ""
+
+-#: fortran/parse.c:1609
++#: fortran/parse.c:1765
+ #, fuzzy, no-c-format
+ msgid "Duplicate SEQUENCE statement at %C"
+ msgstr "déclaration VXT non supporté à %0"
+
+-#: fortran/parse.c:1700
++#: fortran/parse.c:1856
+ #, no-c-format
+ msgid "ENUM declaration at %C has no ENUMERATORS"
+ msgstr ""
+
+-#: fortran/parse.c:1778
++#: fortran/parse.c:1934
+ #, no-c-format
+ msgid "Unexpected %s statement in INTERFACE block at %C"
+ msgstr ""
+
+-#: fortran/parse.c:1804
++#: fortran/parse.c:1960
+ #, no-c-format
+ msgid "SUBROUTINE at %C does not belong in a generic function interface"
+ msgstr ""
+
+-#: fortran/parse.c:1808
++#: fortran/parse.c:1964
+ #, no-c-format
+ msgid "FUNCTION at %C does not belong in a generic subroutine interface"
+ msgstr ""
+
+-#: fortran/parse.c:1818
++#: fortran/parse.c:1974
+ #, no-c-format
+ msgid "Name '%s' of ABSTRACT INTERFACE at %C cannot be the same as an intrinsic type"
+ msgstr ""
+
+-#: fortran/parse.c:1849
++#: fortran/parse.c:2005
+ #, no-c-format
+ msgid "Unexpected %s statement at %C in INTERFACE body"
+ msgstr ""
+
+-#: fortran/parse.c:1863
++#: fortran/parse.c:2019
+ #, no-c-format
+ msgid "INTERFACE procedure '%s' at %L has the same name as the enclosing procedure"
+ msgstr ""
+
+-#: fortran/parse.c:1958
++#: fortran/parse.c:2134
+ #, no-c-format
+ msgid "%s statement must appear in a MODULE"
+ msgstr ""
+
+-#: fortran/parse.c:1965
++#: fortran/parse.c:2141
+ #, no-c-format
+ msgid "%s statement at %C follows another accessibility specification"
+ msgstr ""
+
+-#: fortran/parse.c:2015
++#: fortran/parse.c:2191
+ #, fuzzy, no-c-format
+ msgid "Bad kind expression for function '%s' at %L"
+ msgstr "classe de stockage invalide pour la fonction « %s »"
+
+-#: fortran/parse.c:2018
++#: fortran/parse.c:2195
+ #, no-c-format
+ msgid "The type for function '%s' at %L is not accessible"
+ msgstr ""
+
+-#: fortran/parse.c:2070
++#: fortran/parse.c:2253
+ #, no-c-format
+ msgid "ELSEWHERE statement at %C follows previous unmasked ELSEWHERE"
+ msgstr ""
+
+-#: fortran/parse.c:2091
++#: fortran/parse.c:2274
+ #, no-c-format
+ msgid "Unexpected %s statement in WHERE block at %C"
+ msgstr ""
+
+-#: fortran/parse.c:2150
++#: fortran/parse.c:2333
+ #, no-c-format
+ msgid "Unexpected %s statement in FORALL block at %C"
+ msgstr ""
+
+-#: fortran/parse.c:2201
++#: fortran/parse.c:2384
+ #, fuzzy, no-c-format
+ msgid "ELSE IF statement at %C cannot follow ELSE statement at %L"
+ msgstr "déclaration PUBLIC ou PRIVATE à %1 ne peut être spécifié en même temps avec la déclaration PUBLIC ou PRIVATE à %0"
+
+-#: fortran/parse.c:2219
++#: fortran/parse.c:2402
+ #, no-c-format
+ msgid "Duplicate ELSE statements at %L and %C"
+ msgstr ""
+
+-#: fortran/parse.c:2280
++#: fortran/parse.c:2463
+ #, no-c-format
+ msgid "Expected a CASE or END SELECT statement following SELECT CASE at %C"
+ msgstr ""
+
+-#: fortran/parse.c:2338
++#: fortran/parse.c:2521
+ #, no-c-format
+ msgid "Variable '%s' at %C cannot be redefined inside loop beginning at %L"
+ msgstr ""
+
+-#: fortran/parse.c:2372
++#: fortran/parse.c:2555
+ #, no-c-format
+ msgid "End of nonblock DO statement at %C is within another block"
+ msgstr ""
+
+-#: fortran/parse.c:2381
++#: fortran/parse.c:2564
+ #, no-c-format
+ msgid "End of nonblock DO statement at %C is interwoven with another DO loop"
+ msgstr ""
+
+-#: fortran/parse.c:2430
++#: fortran/parse.c:2613
+ #, fuzzy, no-c-format
+ msgid "Statement label in ENDDO at %C doesn't match DO label"
+ msgstr "étiquette de départ « %s » ne concorde pas avec l'étiquette de fin « %s »"
+
+-#: fortran/parse.c:2446
++#: fortran/parse.c:2629
+ #, no-c-format
+ msgid "named block DO at %L requires matching ENDDO name"
+ msgstr ""
+
+-#: fortran/parse.c:2702
++#: fortran/parse.c:2885
+ #, no-c-format
+ msgid "Name after !$omp critical and !$omp end critical does not match at %C"
+ msgstr ""
+
+-#: fortran/parse.c:2758
++#: fortran/parse.c:2941
+ #, no-c-format
+ msgid "%s statement at %C cannot terminate a non-block DO loop"
+ msgstr ""
+
+-#: fortran/parse.c:2943
++#: fortran/parse.c:3126
+ #, no-c-format
+ msgid "Contained procedure '%s' at %C is already ambiguous"
+ msgstr ""
+
+-#: fortran/parse.c:2993
++#: fortran/parse.c:3176
+ #, no-c-format
+ msgid "Unexpected %s statement in CONTAINS section at %C"
+ msgstr ""
+
+ #. This is valid in Fortran 2008.
+-#: fortran/parse.c:3018
++#: fortran/parse.c:3201
+ #, no-c-format
+ msgid "Extension: CONTAINS statement without FUNCTION or SUBROUTINE statement at %C"
+ msgstr ""
+
+-#: fortran/parse.c:3089
++#: fortran/parse.c:3272
+ #, fuzzy, no-c-format
+ msgid "CONTAINS statement at %C is already in a contained program unit"
+ msgstr "déclaration RETURN à %0 invalide à l'intérieur de l'unité du programme principal"
+
+-#: fortran/parse.c:3138
++#: fortran/parse.c:3321
+ #, no-c-format
+ msgid "Global name '%s' at %L is already being used as a %s at %L"
+ msgstr ""
+
+-#: fortran/parse.c:3159
++#: fortran/parse.c:3342
+ #, no-c-format
+ msgid "Blank BLOCK DATA at %C conflicts with prior BLOCK DATA at %L"
+ msgstr ""
+
+-#: fortran/parse.c:3185
++#: fortran/parse.c:3368
+ #, no-c-format
+ msgid "Unexpected %s statement in BLOCK DATA at %C"
+ msgstr ""
+
+-#: fortran/parse.c:3228
++#: fortran/parse.c:3411
+ #, fuzzy, no-c-format
+ msgid "Unexpected %s statement in MODULE at %C"
+ msgstr "déclaration VXT non supporté à %0"
+@@ -8752,7 +8755,7 @@
+ #. If we see a duplicate main program, shut down. If the second
+ #. instance is an implied main program, ie data decls or executable
+ #. statements, we're in for lots of errors.
+-#: fortran/parse.c:3416
++#: fortran/parse.c:3594
+ #, no-c-format
+ msgid "Two main PROGRAMs at %L and %C"
+ msgstr ""
+@@ -8789,7 +8792,7 @@
+
+ #: fortran/primary.c:353
+ #, no-c-format
+-msgid "Extension: Hexadecimal constant at %C uses non-standard syntax."
++msgid "Extension: Hexadecimal constant at %C uses non-standard syntax"
+ msgstr ""
+
+ #: fortran/primary.c:363
+@@ -8802,996 +8805,1041 @@
+ msgid "Illegal character in BOZ constant at %C"
+ msgstr "constante caractère de longueur zéro à %0"
+
+-#: fortran/primary.c:391
++#: fortran/primary.c:392
+ #, no-c-format
+-msgid "Extension: BOZ constant at %C uses non-standard postfix syntax."
++msgid "Extension: BOZ constant at %C uses non-standard postfix syntax"
+ msgstr ""
+
+-#: fortran/primary.c:417
++#: fortran/primary.c:423
+ #, no-c-format
+ msgid "Integer too big for integer kind %i at %C"
+ msgstr ""
+
+-#: fortran/primary.c:517
++#: fortran/primary.c:429
++#, no-c-format
++msgid "Fortran 2003: BOZ used outside a DATA statement at %C"
++msgstr ""
++
++#: fortran/primary.c:529
+ #, fuzzy, no-c-format
+ msgid "Missing exponent in real number at %C"
+ msgstr "Valeur manquante à %1 pour l'exposant d'un nombre réeal à %0"
+
+-#: fortran/primary.c:573
++#: fortran/primary.c:585
+ #, no-c-format
+ msgid "Real number at %C has a 'd' exponent and an explicit kind"
+ msgstr ""
+
+-#: fortran/primary.c:586
++#: fortran/primary.c:598
+ #, fuzzy, no-c-format
+ msgid "Invalid real kind %d at %C"
+ msgstr "définition d'étiquette invalide %A (à %0)"
+
+-#: fortran/primary.c:600
++#: fortran/primary.c:612
+ #, no-c-format
+ msgid "Real constant overflows its kind at %C"
+ msgstr ""
+
+-#: fortran/primary.c:605
++#: fortran/primary.c:617
+ #, no-c-format
+ msgid "Real constant underflows its kind at %C"
+ msgstr ""
+
+-#: fortran/primary.c:697
++#: fortran/primary.c:709
+ #, fuzzy, no-c-format
+ msgid "Syntax error in SUBSTRING specification at %C"
+ msgstr "erreur d'analyse syntaxique dans la spécification de fonction"
+
+-#: fortran/primary.c:902
++#: fortran/primary.c:914
+ #, fuzzy, no-c-format
+ msgid "Invalid kind %d for CHARACTER constant at %C"
+ msgstr "constante binaire invalide à %0"
+
+-#: fortran/primary.c:923
++#: fortran/primary.c:935
+ #, fuzzy, no-c-format
+ msgid "Unterminated character constant beginning at %C"
+ msgstr "constante de caractères non terminée à %0 [info -f g77 M LEX]"
+
+-#: fortran/primary.c:1035
++#: fortran/primary.c:1047
+ #, fuzzy, no-c-format
+ msgid "Bad kind for logical constant at %C"
+ msgstr "constante octale invalide à %0"
+
+-#: fortran/primary.c:1074
++#: fortran/primary.c:1086
+ #, no-c-format
+ msgid "Expected PARAMETER symbol in complex constant at %C"
+ msgstr ""
+
+-#: fortran/primary.c:1080
++#: fortran/primary.c:1092
+ #, no-c-format
+ msgid "Numeric PARAMETER required in complex constant at %C"
+ msgstr ""
+
+-#: fortran/primary.c:1086
++#: fortran/primary.c:1098
+ #, no-c-format
+ msgid "Scalar PARAMETER required in complex constant at %C"
+ msgstr ""
+
+-#: fortran/primary.c:1090
++#: fortran/primary.c:1102
+ #, no-c-format
+ msgid "Fortran 2003: PARAMETER symbol in complex constant at %C"
+ msgstr ""
+
+-#: fortran/primary.c:1120
++#: fortran/primary.c:1132
+ #, no-c-format
+ msgid "Error converting PARAMETER constant in complex constant at %C"
+ msgstr ""
+
+-#: fortran/primary.c:1249
++#: fortran/primary.c:1261
+ #, fuzzy, no-c-format
+ msgid "Syntax error in COMPLEX constant at %C"
+ msgstr "erreur de syntaxe dans l,action"
+
+-#: fortran/primary.c:1430
++#: fortran/primary.c:1442
+ #, no-c-format
+ msgid "Keyword '%s' at %C has already appeared in the current argument list"
+ msgstr ""
+
+-#: fortran/primary.c:1494
++#: fortran/primary.c:1506
+ #, fuzzy, no-c-format
+ msgid "Extension: argument list function at %C"
+ msgstr "trop d'arguments pour la fonction « %s »"
+
+-#: fortran/primary.c:1561
++#: fortran/primary.c:1573
+ #, fuzzy, no-c-format
+ msgid "Expected alternate return label at %C"
+ msgstr "attendait retourner au fichier \"%s\""
+
+-#: fortran/primary.c:1579
++#: fortran/primary.c:1591
+ #, fuzzy, no-c-format
+ msgid "Missing keyword name in actual argument list at %C"
+ msgstr "argument actuel invalide à %0"
+
+-#: fortran/primary.c:1624
++#: fortran/primary.c:1636
+ #, fuzzy, no-c-format
+ msgid "Syntax error in argument list at %C"
+ msgstr "erreur de syntaxe dans la liste de paramètres macro"
+
+-#: fortran/primary.c:1708
++#: fortran/primary.c:1723
+ #, no-c-format
+ msgid "Expected structure component name at %C"
+ msgstr ""
+
+-#: fortran/primary.c:1961
++#: fortran/primary.c:1980
+ #, no-c-format
+ msgid "Too many components in structure constructor at %C"
+ msgstr ""
+
+-#: fortran/primary.c:1974
++#: fortran/primary.c:1993
+ #, no-c-format
+ msgid "Structure constructor for '%s' at %C has PRIVATE components"
+ msgstr ""
+
+-#: fortran/primary.c:1984
++#: fortran/primary.c:2003
+ #, no-c-format
+ msgid "Too few components in structure constructor at %C"
+ msgstr ""
+
+-#: fortran/primary.c:2002
++#: fortran/primary.c:2021
+ #, no-c-format
+ msgid "Syntax error in structure constructor at %C"
+ msgstr ""
+
+-#: fortran/primary.c:2086
++#: fortran/primary.c:2105
+ #, no-c-format
+ msgid "'%s' 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.c:2188
++#: fortran/primary.c:2207
+ #, no-c-format
+ msgid "Unexpected use of subroutine name '%s' at %C"
+ msgstr ""
+
+-#: fortran/primary.c:2219
++#: fortran/primary.c:2238
+ #, fuzzy, no-c-format
+ msgid "Statement function '%s' requires argument list at %C"
+ msgstr "déclaration de fonction « %A » définie à %0 n'est pas utilisée"
+
+-#: fortran/primary.c:2222
++#: fortran/primary.c:2241
+ #, fuzzy, no-c-format
+ msgid "Function '%s' requires an argument list at %C"
+ msgstr "« union %s » déclarée à l'intérieur de la liste de paramètres"
+
+-#: fortran/primary.c:2267
++#: fortran/primary.c:2286
+ #, fuzzy, no-c-format
+ msgid "Missing argument to '%s' at %C"
+ msgstr "argument manquant à l'option « %s »"
+
+-#: fortran/primary.c:2408
++#: fortran/primary.c:2427
+ #, fuzzy, no-c-format
+ msgid "Missing argument list in function '%s' at %C"
+ msgstr "argument manquant à l'option « %s »"
+
+-#: fortran/primary.c:2436
++#: fortran/primary.c:2455
+ #, fuzzy, no-c-format
+ msgid "Symbol at %C is not appropriate for an expression"
+ msgstr "débordement d'un nombre en virgule flottante dans l'expression"
+
+-#: fortran/primary.c:2504
++#: fortran/primary.c:2523
+ #, no-c-format
+ msgid "Assigning to PROTECTED variable at %C"
+ msgstr ""
+
+-#: fortran/primary.c:2520
++#: fortran/primary.c:2557
+ #, no-c-format
+ msgid "Named constant at %C in an EQUIVALENCE"
+ msgstr ""
+
+-#: fortran/primary.c:2543
+-#, no-c-format
+-msgid "Expected VARIABLE at %C"
+-msgstr ""
++#: fortran/primary.c:2579
++#, fuzzy, no-c-format
++msgid "'%s' at %C is not a variable"
++msgstr "%s n'est pas adressable"
+
+-#: fortran/resolve.c:120
++#: fortran/resolve.c:121
+ #, fuzzy, no-c-format
+ msgid "Alternate return specifier in elemental subroutine '%s' at %L is not allowed"
+ msgstr "spécificateur alternatif de retour à %0 invalide à l'intérieur de la fonction"
+
+-#: fortran/resolve.c:124
++#: fortran/resolve.c:125
+ #, fuzzy, no-c-format
+ msgid "Alternate return specifier in function '%s' at %L is not allowed"
+ msgstr "spécificateur alternatif de retour à %0 invalide à l'intérieur de la fonction"
+
+-#: fortran/resolve.c:137
++#: fortran/resolve.c:138
+ #, no-c-format
+ msgid "Dummy procedure '%s' of PURE procedure at %L must also be PURE"
+ msgstr ""
+
+-#: fortran/resolve.c:144
++#: fortran/resolve.c:145
+ #, no-c-format
+ msgid "Dummy procedure at %L not allowed in ELEMENTAL procedure"
+ msgstr ""
+
+-#: fortran/resolve.c:157 fortran/resolve.c:1080
++#: fortran/resolve.c:158 fortran/resolve.c:1138
+ #, no-c-format
+ msgid "Unable to find a specific INTRINSIC procedure for the reference '%s' at %L"
+ msgstr ""
+
+-#: fortran/resolve.c:201
++#: fortran/resolve.c:202
+ #, no-c-format
+ msgid "Argument '%s' of pure function '%s' at %L must be INTENT(IN)"
+ msgstr ""
+
+-#: fortran/resolve.c:206
++#: fortran/resolve.c:207
+ #, no-c-format
+ msgid "Argument '%s' of pure subroutine '%s' at %L must have its INTENT specified"
+ msgstr ""
+
+-#: fortran/resolve.c:215
++#: fortran/resolve.c:216
+ #, no-c-format
+ msgid "Argument '%s' of elemental procedure at %L must be scalar"
+ msgstr ""
+
+-#: fortran/resolve.c:222
++#: fortran/resolve.c:223
+ #, no-c-format
+ msgid "Argument '%s' of elemental procedure at %L cannot have the POINTER attribute"
+ msgstr ""
+
+-#: fortran/resolve.c:234
++#: fortran/resolve.c:231
++#, no-c-format
++msgid "Dummy procedure '%s' not allowed in elemental procedure '%s' at %L"
++msgstr ""
++
++#: fortran/resolve.c:243
+ #, fuzzy, no-c-format
+ msgid "Argument '%s' of statement function at %L must be scalar"
+ msgstr "argument nul à %0 pour la déclaration de la référence de fonction à %1"
+
+-#: fortran/resolve.c:244
++#: fortran/resolve.c:253
+ #, no-c-format
+ msgid "Character-valued argument '%s' of statement function at %L must have constant length"
+ msgstr ""
+
+-#: fortran/resolve.c:299
++#: fortran/resolve.c:310
+ #, no-c-format
+ msgid "Contained function '%s' at %L has no IMPLICIT type"
+ msgstr ""
+
+-#: fortran/resolve.c:302
++#: fortran/resolve.c:313
+ #, no-c-format
+ msgid "Result '%s' of contained function '%s' at %L has no IMPLICIT type"
+ msgstr ""
+
+-#: fortran/resolve.c:319
++#: fortran/resolve.c:330
+ #, no-c-format
+ msgid "Character-valued internal function '%s' at %L must not be assumed length"
+ msgstr ""
+
+-#: fortran/resolve.c:490
++#: fortran/resolve.c:501
++#, fuzzy, no-c-format
++msgid "Function %s at %L has entries with mismatched array specifications"
++msgstr "spécification inconsistente avec l'instance de la vairable"
++
++#: fortran/resolve.c:518
+ #, no-c-format
+-msgid "Procedure %s at %L has entries with mismatched array specifications"
++msgid "Extension: Function %s at %L with entries returning variables of different string lengths"
+ msgstr ""
+
+-#: fortran/resolve.c:516
++#: fortran/resolve.c:545
+ #, no-c-format
+ msgid "FUNCTION result %s can't be an array in FUNCTION %s at %L"
+ msgstr ""
+
+-#: fortran/resolve.c:520
++#: fortran/resolve.c:549
+ #, no-c-format
+ msgid "ENTRY result %s can't be an array in FUNCTION %s at %L"
+ msgstr ""
+
+-#: fortran/resolve.c:527
++#: fortran/resolve.c:556
+ #, no-c-format
+ msgid "FUNCTION result %s can't be a POINTER in FUNCTION %s at %L"
+ msgstr ""
+
+-#: fortran/resolve.c:531
++#: fortran/resolve.c:560
+ #, no-c-format
+ msgid "ENTRY result %s can't be a POINTER in FUNCTION %s at %L"
+ msgstr ""
+
+-#: fortran/resolve.c:569
++#: fortran/resolve.c:598
+ #, no-c-format
+ msgid "FUNCTION result %s can't be of type %s in FUNCTION %s at %L"
+ msgstr ""
+
+-#: fortran/resolve.c:574
++#: fortran/resolve.c:603
+ #, no-c-format
+ msgid "ENTRY result %s can't be of type %s in FUNCTION %s at %L"
+ msgstr ""
+
+-#: fortran/resolve.c:643
++#: fortran/resolve.c:661
+ #, no-c-format
++msgid "Variable '%s' at %L is in COMMON but only in BLOCK DATA initialization is allowed"
++msgstr ""
++
++#: fortran/resolve.c:665
++#, no-c-format
++msgid "Initialized variable '%s' at %L is in a blank COMMON but initialization is only allowed in named common blocks"
++msgstr ""
++
++#: fortran/resolve.c:676
++#, no-c-format
+ msgid "Derived type variable '%s' in COMMON at %L has neither the SEQUENCE nor the BIND(C) attribute"
+ msgstr ""
+
+-#: fortran/resolve.c:647
++#: fortran/resolve.c:680
+ #, no-c-format
+ msgid "Derived type variable '%s' in COMMON at %L has an ultimate component that is allocatable"
+ msgstr ""
+
+-#: fortran/resolve.c:651
++#: fortran/resolve.c:684
+ #, no-c-format
+ msgid "Derived type variable '%s' in COMMON at %L may not have default initializer"
+ msgstr ""
+
+-#: fortran/resolve.c:661
++#: fortran/resolve.c:711
+ #, no-c-format
+ msgid "COMMON block '%s' at %L is used as PARAMETER at %L"
+ msgstr ""
+
+-#: fortran/resolve.c:665
++#: fortran/resolve.c:715
+ #, no-c-format
+ msgid "COMMON block '%s' at %L is also an intrinsic procedure"
+ msgstr ""
+
+-#: fortran/resolve.c:669
++#: fortran/resolve.c:719
+ #, no-c-format
+ msgid "Fortran 2003: COMMON block '%s' at %L that is also a function result"
+ msgstr ""
+
+-#: fortran/resolve.c:674
++#: fortran/resolve.c:724
+ #, no-c-format
+ msgid "Fortran 2003: COMMON block '%s' at %L that is also a global procedure"
+ msgstr ""
+
+-#: fortran/resolve.c:736
++#: fortran/resolve.c:786
+ #, no-c-format
+ msgid "Components of structure constructor '%s' at %L are PRIVATE"
+ msgstr ""
+
+-#: fortran/resolve.c:756
++#: fortran/resolve.c:808
+ #, no-c-format
+ msgid "The rank of the element in the derived type constructor at %L does not match that of the component (%d/%d)"
+ msgstr ""
+
+-#: fortran/resolve.c:769
++#: fortran/resolve.c:821
+ #, no-c-format
+ msgid "The element in the derived type constructor at %L, for pointer component '%s', is %s but should be %s"
+ msgstr ""
+
+-#: fortran/resolve.c:786
++#: fortran/resolve.c:838
+ #, no-c-format
+ msgid "The element in the derived type constructor at %L, for pointer component '%s' should be a POINTER or a TARGET"
+ msgstr ""
+
+-#: fortran/resolve.c:913
++#: fortran/resolve.c:965
+ #, no-c-format
+ msgid "The upper bound in the last dimension must appear in the reference to the assumed size array '%s' at %L"
+ msgstr ""
+
+-#: fortran/resolve.c:976 fortran/resolve.c:5434 fortran/resolve.c:6098
++#: fortran/resolve.c:1029 fortran/resolve.c:5576 fortran/resolve.c:6282
+ #, fuzzy, no-c-format
+ msgid "Label %d referenced at %L is never defined"
+ msgstr "Étiquette %A déjà définie à %1 et redéfinie à %0"
+
+-#: fortran/resolve.c:986
++#: fortran/resolve.c:1039
+ #, fuzzy, no-c-format
+ msgid "'%s' at %L is ambiguous"
+ msgstr "utilisation de « %D » est ambiguë"
+
+-#: fortran/resolve.c:1018
++#: fortran/resolve.c:1075
+ #, fuzzy, no-c-format
+ msgid "Statement function '%s' at %L is not allowed as an actual argument"
+ msgstr "déclaration de fonction « %A » définie à %0 n'est pas utilisée"
+
+-#: fortran/resolve.c:1026
++#: fortran/resolve.c:1083
+ #, no-c-format
+ msgid "Intrinsic '%s' at %L is not allowed as an actual argument"
+ msgstr ""
+
+-#: fortran/resolve.c:1033
++#: fortran/resolve.c:1090
+ #, fuzzy, no-c-format
+ msgid "Internal procedure '%s' is not allowed as an actual argument at %L"
+ msgstr "procédure externe « %A » est pass comme argument actuel à %0 mais non pas déclaré explicitement déclaré EXTERNAL"
+
+-#: fortran/resolve.c:1039
++#: fortran/resolve.c:1096
+ #, no-c-format
+ msgid "ELEMENTAL non-INTRINSIC procedure '%s' is not allowed as an actual argument at %L"
+ msgstr ""
+
+-#: fortran/resolve.c:1059
++#: fortran/resolve.c:1116
+ #, no-c-format
+ msgid "GENERIC procedure '%s' is not allowed as an actual argument at %L"
+ msgstr ""
+
+-#: fortran/resolve.c:1098
++#: fortran/resolve.c:1157
+ #, fuzzy, no-c-format
+ msgid "Symbol '%s' at %L is ambiguous"
+ msgstr "utilisation de « %D » est ambiguë"
+
+-#: fortran/resolve.c:1143
++#: fortran/resolve.c:1206
+ #, fuzzy, no-c-format
+ msgid "By-value argument at %L is not of numeric type"
+ msgstr "argument de « %s » doit être de type entier"
+
+-#: fortran/resolve.c:1150
++#: fortran/resolve.c:1213
+ #, no-c-format
+ msgid "By-value argument at %L cannot be an array or an array section"
+ msgstr ""
+
+-#: fortran/resolve.c:1164
++#: fortran/resolve.c:1227
+ #, fuzzy, no-c-format
+ msgid "By-value argument at %L is not allowed in this context"
+ msgstr "déclaration à %0 invalide dans ce contexte"
+
+-#: fortran/resolve.c:1176
++#: fortran/resolve.c:1239
+ #, no-c-format
+ msgid "Passing internal procedure at %L by location not allowed"
+ msgstr ""
+
+-#: fortran/resolve.c:1293
++#: fortran/resolve.c:1356
+ #, no-c-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)"
+ msgstr ""
+
+-#: fortran/resolve.c:1315
++#: fortran/resolve.c:1378
+ #, fuzzy
+ msgid "elemental procedure"
+ msgstr "trop peu d'arguments pour la procédure"
+
+-#: fortran/resolve.c:1332
++#: fortran/resolve.c:1395
+ #, no-c-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"
+ msgstr ""
+
+-#: fortran/resolve.c:1466
++#: fortran/resolve.c:1531
+ #, no-c-format
+ msgid "There is no specific function for the generic '%s' at %L"
+ msgstr ""
+
+-#: fortran/resolve.c:1475
++#: fortran/resolve.c:1540
+ #, no-c-format
+ msgid "Generic function '%s' at %L is not consistent with a specific intrinsic interface"
+ msgstr ""
+
+-#: fortran/resolve.c:1513
++#: fortran/resolve.c:1594
+ #, no-c-format
+ msgid "Function '%s' at %L is INTRINSIC but is not compatible with an intrinsic"
+ msgstr ""
+
+-#: fortran/resolve.c:1559
++#: fortran/resolve.c:1640
+ #, no-c-format
+ msgid "Unable to resolve the specific function '%s' at %L"
+ msgstr ""
+
+-#: fortran/resolve.c:1615 fortran/resolve.c:8740
++#: fortran/resolve.c:1696 fortran/resolve.c:8931
+ #, no-c-format
+ msgid "Function '%s' at %L has no IMPLICIT type"
+ msgstr ""
+
+-#: fortran/resolve.c:1799
++#: fortran/resolve.c:1907
+ #, fuzzy, no-c-format
+ msgid "Argument to '%s' at %L is not a variable"
+ msgstr "argument de l'attribut « %s » n'est pas une chaîne de constante"
+
+-#: fortran/resolve.c:1871
++#: fortran/resolve.c:1979
+ #, fuzzy, no-c-format
+ msgid "More actual than formal arguments in '%s' call at %L"
+ msgstr "trop d'arguments pour l'appel de « %s »"
+
+-#: fortran/resolve.c:1883
++#: fortran/resolve.c:1991
+ #, no-c-format
+ msgid "Parameter '%s' to '%s' at %L must be either a TARGET or an associated pointer"
+ msgstr ""
+
+-#: fortran/resolve.c:1909
++#: fortran/resolve.c:2017
+ #, no-c-format
+ msgid "Allocatable variable '%s' used as a parameter to '%s' at %L must not be an array of zero size"
+ msgstr ""
+
+-#: fortran/resolve.c:1926
++#: fortran/resolve.c:2034
+ #, no-c-format
+ msgid "Assumed-shape array '%s' at %L cannot be an argument to the procedure '%s' because it is not C interoperable"
+ msgstr ""
+
+-#: fortran/resolve.c:1936
++#: fortran/resolve.c:2044
+ #, no-c-format
+ msgid "Deferred-shape array '%s' at %L cannot be an argument to the procedure '%s' because it is not C interoperable"
+ msgstr ""
+
+-#: fortran/resolve.c:1959 fortran/resolve.c:1998
++#: fortran/resolve.c:2067 fortran/resolve.c:2106
+ #, no-c-format
+ msgid "CHARACTER argument '%s' to '%s' at %L must have a length of 1"
+ msgstr ""
+
+ #. Case 1c, section 15.1.2.5, J3/04-007: an associated
+ #. scalar pointer.
+-#: fortran/resolve.c:1974
++#: fortran/resolve.c:2082
+ #, no-c-format
+ msgid "Argument '%s' to '%s' at %L must be an associated scalar POINTER"
+ msgstr ""
+
+-#: fortran/resolve.c:1990
++#: fortran/resolve.c:2098
+ #, fuzzy, no-c-format
+ msgid "Parameter '%s' to '%s' at %L must be a scalar"
+ msgstr "argument %d de %s doit être une localisation"
+
+ #. TODO: Update this error message to allow for procedure
+ #. pointers once they are implemented.
+-#: fortran/resolve.c:2012
++#: fortran/resolve.c:2120
+ #, fuzzy, no-c-format
+ msgid "Parameter '%s' to '%s' at %L must be a procedure"
+ msgstr "premier argument de « %s » doit être un mode"
+
+-#: fortran/resolve.c:2020
++#: fortran/resolve.c:2128
+ #, no-c-format
+ msgid "Parameter '%s' to '%s' at %L must be BIND(C)"
+ msgstr ""
+
+-#: fortran/resolve.c:2062
++#: fortran/resolve.c:2170
+ #, fuzzy, no-c-format
+ msgid "'%s' at %L is not a function"
+ msgstr "« %D » n'est pas une fonction"
+
+-#: fortran/resolve.c:2068
++#: fortran/resolve.c:2176
+ #, no-c-format
+ msgid "ABSTRACT INTERFACE '%s' must not be referenced at %L"
+ msgstr ""
+
+ #. Internal procedures are taken care of in resolve_contained_fntype.
+-#: fortran/resolve.c:2111
++#: fortran/resolve.c:2219
+ #, no-c-format
+ msgid "Function '%s' is declared CHARACTER(*) and cannot be used at %L since it is not a dummy argument"
+ msgstr ""
+
+-#: fortran/resolve.c:2164
++#: fortran/resolve.c:2272
+ #, no-c-format
+ msgid "User defined non-ELEMENTAL function '%s' at %L not allowed in WORKSHARE construct"
+ msgstr ""
+
+-#: fortran/resolve.c:2213
++#: fortran/resolve.c:2321
+ #, no-c-format
+ msgid "reference to non-PURE function '%s' at %L inside a FORALL %s"
+ msgstr ""
+
+-#: fortran/resolve.c:2220
++#: fortran/resolve.c:2328
+ #, no-c-format
+ msgid "Function reference to '%s' at %L is to a non-PURE procedure within a PURE procedure"
+ msgstr ""
+
+-#: fortran/resolve.c:2235
++#: fortran/resolve.c:2343
+ #, no-c-format
+ msgid "Function '%s' at %L cannot call itself, as it is not RECURSIVE"
+ msgstr ""
+
+-#: fortran/resolve.c:2243
++#: fortran/resolve.c:2351
+ #, no-c-format
+ msgid "Call to ENTRY '%s' at %L is recursive, but function '%s' is not declared as RECURSIVE"
+ msgstr ""
+
+-#: fortran/resolve.c:2285
++#: fortran/resolve.c:2393
+ #, no-c-format
+ msgid "Subroutine call to '%s' in FORALL block at %L is not PURE"
+ msgstr ""
+
+-#: fortran/resolve.c:2288
++#: fortran/resolve.c:2396
+ #, no-c-format
+ msgid "Subroutine call to '%s' at %L is not PURE"
+ msgstr ""
+
+-#: fortran/resolve.c:2351
++#: fortran/resolve.c:2459
+ #, no-c-format
+ msgid "There is no specific subroutine for the generic '%s' at %L"
+ msgstr ""
+
+-#: fortran/resolve.c:2360
++#: fortran/resolve.c:2468
+ #, no-c-format
+ msgid "Generic subroutine '%s' at %L is not consistent with an intrinsic subroutine interface"
+ msgstr ""
+
+-#: fortran/resolve.c:2468
++#: fortran/resolve.c:2576
+ #, no-c-format
+ msgid "Missing SHAPE parameter for call to %s at %L"
+ msgstr ""
+
+-#: fortran/resolve.c:2476
++#: fortran/resolve.c:2584
+ #, no-c-format
+ msgid "SHAPE parameter for call to %s at %L must be a rank 1 INTEGER array"
+ msgstr ""
+
+-#: fortran/resolve.c:2543
++#: fortran/resolve.c:2667
+ #, no-c-format
+ msgid "Subroutine '%s' at %L is INTRINSIC but is not compatible with an intrinsic"
+ msgstr ""
+
+-#: fortran/resolve.c:2587
++#: fortran/resolve.c:2711
+ #, fuzzy, no-c-format
+ msgid "Unable to resolve the specific subroutine '%s' at %L"
+ msgstr "référence de fonction à la sous-routine intrinsèque «%A» à %0"
+
+-#: fortran/resolve.c:2644
++#: fortran/resolve.c:2768
+ #, no-c-format
+ msgid "'%s' at %L has a type, which is not consistent with the CALL at %L"
+ msgstr ""
+
+-#: fortran/resolve.c:2663
++#: fortran/resolve.c:2787
+ #, no-c-format
+ msgid "SUBROUTINE '%s' at %L cannot call itself, as it is not RECURSIVE"
+ msgstr ""
+
+-#: fortran/resolve.c:2671
++#: fortran/resolve.c:2795
+ #, no-c-format
+ msgid "Call to ENTRY '%s' at %L is recursive, but subroutine '%s' is not declared as RECURSIVE"
+ msgstr ""
+
+-#: fortran/resolve.c:2741
++#: fortran/resolve.c:2865
+ #, fuzzy, no-c-format
+ msgid "Shapes for operands at %L and %L are not conformable"
+ msgstr "shared et mdll ne sont pas compatibles"
+
+-#: fortran/resolve.c:2792
++#: fortran/resolve.c:2916
+ #, fuzzy, c-format
+ msgid "Invalid context for NULL() pointer at %%L"
+ msgstr "ligne de continuation invalide à %0"
+
+-#: fortran/resolve.c:2808
++#: fortran/resolve.c:2932
+ #, c-format
+ msgid "Operand of unary numeric operator '%s' at %%L is %s"
+ msgstr ""
+
+-#: fortran/resolve.c:2824
++#: fortran/resolve.c:2948
+ #, c-format
+ msgid "Operands of binary numeric operator '%s' at %%L are %s/%s"
+ msgstr ""
+
+-#: fortran/resolve.c:2838
++#: fortran/resolve.c:2962
+ #, fuzzy, c-format
+ msgid "Operands of string concatenation operator at %%L are %s/%s"
+ msgstr "Opérande invalide à %1 pour l'opérateur de concaténation à %0"
+
+-#: fortran/resolve.c:2857
++#: fortran/resolve.c:2981
+ #, c-format
+ msgid "Operands of logical operator '%s' at %%L are %s/%s"
+ msgstr ""
+
+-#: fortran/resolve.c:2871
++#: fortran/resolve.c:2995
+ #, c-format
+ msgid "Operand of .not. operator at %%L is %s"
+ msgstr ""
+
+-#: fortran/resolve.c:2885
++#: fortran/resolve.c:3009
+ #, fuzzy
+ msgid "COMPLEX quantities cannot be compared at %L"
+ msgstr "qualificateur « %V » ne peut pas être appliqué à « %T »"
+
+-#: fortran/resolve.c:2913
++#: fortran/resolve.c:3037
+ #, c-format
+ msgid "Logicals at %%L must be compared with %s instead of %s"
+ msgstr ""
+
+-#: fortran/resolve.c:2919
++#: fortran/resolve.c:3043
+ #, c-format
+ msgid "Operands of comparison operator '%s' at %%L are %s/%s"
+ msgstr ""
+
+-#: fortran/resolve.c:2927
++#: fortran/resolve.c:3051
+ #, c-format
+ msgid "Unknown operator '%s' at %%L"
+ msgstr ""
+
+-#: fortran/resolve.c:2929
++#: fortran/resolve.c:3053
+ #, c-format
+ msgid "Operand of user operator '%s' at %%L is %s"
+ msgstr ""
+
+-#: fortran/resolve.c:2932
++#: fortran/resolve.c:3056
+ #, c-format
+ msgid "Operands of user operator '%s' at %%L are %s/%s"
+ msgstr ""
+
+-#: fortran/resolve.c:3018
++#: fortran/resolve.c:3142
+ #, c-format
+ msgid "Inconsistent ranks for operator at %%L and %%L"
+ msgstr ""
+
+-#: fortran/resolve.c:3212
++#: fortran/resolve.c:3339
+ #, no-c-format
+ msgid "Array reference at %L is out of bounds (%ld < %ld) in dimension %d"
+ msgstr ""
+
+-#: fortran/resolve.c:3220
++#: fortran/resolve.c:3347
+ #, no-c-format
+ msgid "Array reference at %L is out of bounds (%ld > %ld) in dimension %d"
+ msgstr ""
+
+-#: fortran/resolve.c:3239
++#: fortran/resolve.c:3366
+ #, no-c-format
+ msgid "Illegal stride of zero at %L"
+ msgstr ""
+
+-#: fortran/resolve.c:3256
++#: fortran/resolve.c:3383
+ #, no-c-format
+ msgid "Lower array reference at %L is out of bounds (%ld < %ld) in dimension %d"
+ msgstr ""
+
+-#: fortran/resolve.c:3264
++#: fortran/resolve.c:3391
+ #, no-c-format
+ msgid "Lower array reference at %L is out of bounds (%ld > %ld) in dimension %d"
+ msgstr ""
+
+-#: fortran/resolve.c:3280
++#: fortran/resolve.c:3407
+ #, no-c-format
+ msgid "Upper array reference at %L is out of bounds (%ld < %ld) in dimension %d"
+ msgstr ""
+
+-#: fortran/resolve.c:3289
++#: fortran/resolve.c:3416
+ #, no-c-format
+ msgid "Upper array reference at %L is out of bounds (%ld > %ld) in dimension %d"
+ msgstr ""
+
+-#: fortran/resolve.c:3328
++#: fortran/resolve.c:3455
+ #, no-c-format
+ msgid "Rightmost upper bound of assumed size array section not specified at %L"
+ msgstr ""
+
+-#: fortran/resolve.c:3338
++#: fortran/resolve.c:3465
+ #, no-c-format
+ msgid "Rank mismatch in array reference at %L (%d/%d)"
+ msgstr ""
+
+-#: fortran/resolve.c:3366
++#: fortran/resolve.c:3493
+ #, no-c-format
+ msgid "Array index at %L must be scalar"
+ msgstr ""
+
+-#: fortran/resolve.c:3372
++#: fortran/resolve.c:3499
+ #, no-c-format
+ msgid "Array index at %L must be of INTEGER type"
+ msgstr ""
+
+-#: fortran/resolve.c:3378
++#: fortran/resolve.c:3505
+ #, no-c-format
+ msgid "Extension: REAL array index at %L"
+ msgstr ""
+
+-#: fortran/resolve.c:3408
++#: fortran/resolve.c:3535
+ #, fuzzy, no-c-format
+ msgid "Argument dim at %L must be scalar"
+ msgstr "argument %d de %s doit être une localisation"
+
+-#: fortran/resolve.c:3414
++#: fortran/resolve.c:3542
+ #, fuzzy, no-c-format
+ msgid "Argument dim at %L must be of INTEGER type"
+ msgstr "argument de « %s » doit être de type entier"
+
+-#: fortran/resolve.c:3534
++#: fortran/resolve.c:3663
+ #, fuzzy, no-c-format
+ msgid "Array index at %L is an array of rank %d"
+ msgstr "tableau « %A » à %0 est trop grand pour être traité"
+
+-#: fortran/resolve.c:3571
++#: fortran/resolve.c:3700
+ #, no-c-format
+ msgid "Substring start index at %L must be of type INTEGER"
+ msgstr ""
+
+-#: fortran/resolve.c:3578
++#: fortran/resolve.c:3707
+ #, no-c-format
+ msgid "Substring start index at %L must be scalar"
+ msgstr ""
+
+-#: fortran/resolve.c:3587
++#: fortran/resolve.c:3716
+ #, no-c-format
+ msgid "Substring start index at %L is less than one"
+ msgstr ""
+
+-#: fortran/resolve.c:3600
++#: fortran/resolve.c:3729
+ #, no-c-format
+ msgid "Substring end index at %L must be of type INTEGER"
+ msgstr ""
+
+-#: fortran/resolve.c:3607
++#: fortran/resolve.c:3736
+ #, fuzzy, no-c-format
+ msgid "Substring end index at %L must be scalar"
+ msgstr "point begin/end de la sous-chaîne à %0 en dehors de la plage définie"
+
+-#: fortran/resolve.c:3617
++#: fortran/resolve.c:3746
+ #, no-c-format
+ msgid "Substring end index at %L exceeds the string length"
+ msgstr ""
+
+-#: fortran/resolve.c:3755
++#: fortran/resolve.c:3884
+ #, no-c-format
+ msgid "Component to the right of a part reference with nonzero rank must not have the POINTER attribute at %L"
+ msgstr ""
+
+-#: fortran/resolve.c:3762
++#: fortran/resolve.c:3891
+ #, no-c-format
+ msgid "Component to the right of a part reference with nonzero rank must not have the ALLOCATABLE attribute at %L"
+ msgstr ""
+
+-#: fortran/resolve.c:3781
++#: fortran/resolve.c:3910
+ #, no-c-format
+ msgid "Two or more part references with nonzero rank must not be specified at %L"
+ msgstr ""
+
+-#: fortran/resolve.c:3956
++#: fortran/resolve.c:4085
+ #, no-c-format
+ msgid "Variable '%s', used in a specification expression, is referenced at %L before the ENTRY statement in which it is a parameter"
+ msgstr ""
+
+-#: fortran/resolve.c:3961
++#: fortran/resolve.c:4090
+ #, no-c-format
+ msgid "Variable '%s' is used at %L before the ENTRY statement in which it is a parameter"
+ msgstr ""
+
+-#: fortran/resolve.c:4238
++#: fortran/resolve.c:4367
+ #, fuzzy, no-c-format
+ msgid "%s at %L must be a scalar"
+ msgstr "%s paramètre %d doit être une localisation"
+
+-#: fortran/resolve.c:4248
++#: fortran/resolve.c:4377
+ #, no-c-format
+ msgid "Deleted feature: %s at %L must be integer"
+ msgstr ""
+
+-#: fortran/resolve.c:4252 fortran/resolve.c:4259
++#: fortran/resolve.c:4381 fortran/resolve.c:4388
+ #, no-c-format
+ msgid "%s at %L must be INTEGER"
+ msgstr ""
+
+-#: fortran/resolve.c:4279
++#: fortran/resolve.c:4408
+ #, fuzzy, no-c-format
+ msgid "Cannot assign to loop variable in PURE procedure at %L"
+ msgstr "ne peut affecter une localisation avec une propriété sans valeur"
+
+-#: fortran/resolve.c:4303
++#: fortran/resolve.c:4432
+ #, no-c-format
+ msgid "Step expression in DO loop at %L cannot be zero"
+ msgstr ""
+
+-#: fortran/resolve.c:4378
++#: fortran/resolve.c:4508
+ #, no-c-format
+ msgid "FORALL index-name at %L must be a scalar INTEGER"
+ msgstr ""
+
+-#: fortran/resolve.c:4383
++#: fortran/resolve.c:4513
+ #, fuzzy, no-c-format
+ msgid "FORALL start expression at %L must be a scalar INTEGER"
+ msgstr "expression de départ de DO FOR est un SET énuméré"
+
+-#: fortran/resolve.c:4390
++#: fortran/resolve.c:4520
+ #, no-c-format
+ msgid "FORALL end expression at %L must be a scalar INTEGER"
+ msgstr ""
+
+-#: fortran/resolve.c:4398
++#: fortran/resolve.c:4528
+ #, no-c-format
+ msgid "FORALL stride expression at %L must be a scalar %s"
+ msgstr ""
+
+-#: fortran/resolve.c:4403
++#: fortran/resolve.c:4533
+ #, no-c-format
+ msgid "FORALL stride expression at %L cannot be zero"
+ msgstr ""
+
+-#: fortran/resolve.c:4419
++#: fortran/resolve.c:4549
+ #, no-c-format
+ msgid "FORALL index '%s' may not appear in triplet specification at %L"
+ msgstr ""
+
+-#: fortran/resolve.c:4499
++#: fortran/resolve.c:4629
+ #, no-c-format
+ msgid "Expression in DEALLOCATE statement at %L must be ALLOCATABLE or a POINTER"
+ msgstr ""
+
+-#: fortran/resolve.c:4506
++#: fortran/resolve.c:4636
+ #, no-c-format
+ msgid "Cannot deallocate INTENT(IN) variable '%s' at %L"
+ msgstr ""
+
+-#: fortran/resolve.c:4675
++#: fortran/resolve.c:4740
+ #, no-c-format
+ msgid "The STAT variable '%s' in an ALLOCATE statement must not be allocated in the same statement at %L"
+ msgstr ""
+
+-#: fortran/resolve.c:4711
++#: fortran/resolve.c:4776
+ #, no-c-format
+ msgid "Expression in ALLOCATE statement at %L must be ALLOCATABLE or a POINTER"
+ msgstr ""
+
+-#: fortran/resolve.c:4719
++#: fortran/resolve.c:4784
+ #, no-c-format
+ msgid "Cannot allocate INTENT(IN) variable '%s' at %L"
+ msgstr ""
+
+-#: fortran/resolve.c:4743
++#: fortran/resolve.c:4808
+ #, fuzzy, no-c-format
+ msgid "Array specification required in ALLOCATE statement at %L"
+ msgstr "spécificateur I invalide dans la déclaration de FORMAT à %0"
+
+-#: fortran/resolve.c:4773
++#: fortran/resolve.c:4838
+ #, fuzzy, no-c-format
+ msgid "Bad array specification in ALLOCATE statement at %L"
+ msgstr "spécificateur I invalide dans la déclaration de FORMAT à %0"
+
+-#: fortran/resolve.c:4791
++#: fortran/resolve.c:4856
+ #, no-c-format
+ msgid "'%s' must not appear an the array specification at %L in the same ALLOCATE statement where it is itself allocated"
+ msgstr ""
+
++#: fortran/resolve.c:4880
++#, no-c-format
++msgid "STAT variable '%s' of %s statement at %C cannot be INTENT(IN)"
++msgstr ""
++
++#: fortran/resolve.c:4884
++#, no-c-format
++msgid "Illegal STAT variable in %s statement at %C for a PURE procedure"
++msgstr ""
++
++#: fortran/resolve.c:4922
++#, no-c-format
++msgid "STAT tag in %s statement at %L must be a variable"
++msgstr ""
++
++#: fortran/resolve.c:4928
++#, no-c-format
++msgid "STAT tag in %s statement at %L must be of type INTEGER"
++msgstr ""
++
+ #. The cases overlap, or they are the same
+ #. 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.c:4949
++#: fortran/resolve.c:5091
+ #, no-c-format
+ msgid "CASE label at %L overlaps with CASE label at %L"
+ msgstr ""
+
+-#: fortran/resolve.c:5000
++#: fortran/resolve.c:5142
+ #, fuzzy, no-c-format
+ msgid "Expression in CASE statement at %L must be of type %s"
+ msgstr "la déclaration de l'expression a un type incomplet"
+
+-#: fortran/resolve.c:5011
++#: fortran/resolve.c:5153
+ #, no-c-format
+ msgid "Expression in CASE statement at %L must be kind %d"
+ msgstr ""
+
+-#: fortran/resolve.c:5023
++#: fortran/resolve.c:5165
+ #, no-c-format
+ msgid "Expression in CASE statement at %L must be scalar"
+ msgstr ""
+
+-#: fortran/resolve.c:5069
++#: fortran/resolve.c:5211
+ #, no-c-format
+ msgid "Selection expression in computed GOTO statement at %L must be a scalar integer expression"
+ msgstr ""
+
+-#: fortran/resolve.c:5087
++#: fortran/resolve.c:5229
+ #, no-c-format
+ msgid "Argument of SELECT statement at %L cannot be %s"
+ msgstr ""
+
+-#: fortran/resolve.c:5096
++#: fortran/resolve.c:5238
+ #, no-c-format
+ msgid "Argument of SELECT statement at %L must be a scalar expression"
+ msgstr ""
+
+-#: fortran/resolve.c:5161
++#: fortran/resolve.c:5303
+ #, no-c-format
+ msgid "The DEFAULT CASE at %L cannot be followed by a second DEFAULT CASE at %L"
+ msgstr ""
+
+-#: fortran/resolve.c:5187
++#: fortran/resolve.c:5329
+ #, no-c-format
+ msgid "Logical range in CASE statement at %L is not allowed"
+ msgstr ""
+
+-#: fortran/resolve.c:5199
++#: fortran/resolve.c:5341
+ #, no-c-format
+ msgid "constant logical value in CASE statement is repeated at %L"
+ msgstr ""
+
+-#: fortran/resolve.c:5213
++#: fortran/resolve.c:5355
+ #, fuzzy, no-c-format
+ msgid "Range specification at %L can never be matched"
+ msgstr "spécification d'étendue à %0 invalide"
+
+-#: fortran/resolve.c:5316
++#: fortran/resolve.c:5458
+ #, no-c-format
+ msgid "Logical SELECT CASE block at %L has more that two cases"
+ msgstr ""
+
+-#: fortran/resolve.c:5354
++#: fortran/resolve.c:5496
+ #, no-c-format
+ msgid "Data transfer element at %L cannot have POINTER components"
+ msgstr ""
+
+-#: fortran/resolve.c:5361
++#: fortran/resolve.c:5503
+ #, no-c-format
+ msgid "Data transfer element at %L cannot have ALLOCATABLE components"
+ msgstr ""
+
+-#: fortran/resolve.c:5368
++#: fortran/resolve.c:5510
+ #, no-c-format
+ msgid "Data transfer element at %L cannot have PRIVATE components"
+ msgstr ""
+
+-#: fortran/resolve.c:5377
++#: fortran/resolve.c:5519
+ #, no-c-format
+ msgid "Data transfer element at %L cannot be a full reference to an assumed-size array"
+ msgstr ""
+
+-#: fortran/resolve.c:5441
++#: fortran/resolve.c:5583
+ #, fuzzy, no-c-format
+ msgid "Statement at %L is not a valid branch target statement for the branch statement at %L"
+ msgstr "déclaration à %0 invalide dans le contexte établi par la déclaration à %1"
+
+-#: fortran/resolve.c:5450
++#: fortran/resolve.c:5592
+ #, no-c-format
+ msgid "Branch at %L causes an infinite loop"
+ msgstr ""
+@@ -9799,647 +9847,657 @@
+ #. 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.c:5463
++#: fortran/resolve.c:5605
+ #, fuzzy, no-c-format
+ msgid "Label at %L is not in the same block as the GOTO statement at %L"
+ msgstr "déclaration à %0 invalide dans le contexte établi par la déclaration à %1"
+
+-#: fortran/resolve.c:5478 fortran/resolve.c:5492
++#: fortran/resolve.c:5620 fortran/resolve.c:5634
+ #, no-c-format
+ msgid "Deleted feature: GOTO at %L jumps to END of construct at %L"
+ msgstr ""
+
+-#: fortran/resolve.c:5569
++#: fortran/resolve.c:5711
+ #, no-c-format
+ msgid "WHERE mask at %L has inconsistent shape"
+ msgstr ""
+
+-#: fortran/resolve.c:5585
++#: fortran/resolve.c:5727
+ #, no-c-format
+ msgid "WHERE assignment target at %L has inconsistent shape"
+ msgstr ""
+
+-#: fortran/resolve.c:5600 fortran/resolve.c:5682
++#: fortran/resolve.c:5735 fortran/resolve.c:5820
++#, no-c-format
++msgid "Non-ELEMENTAL user-defined assignment in WHERE at %L"
++msgstr ""
++
++#: fortran/resolve.c:5745 fortran/resolve.c:5830
+ #, fuzzy, no-c-format
+ msgid "Unsupported statement inside WHERE at %L"
+ msgstr "déclaration VXT non supporté à %0"
+
+-#: fortran/resolve.c:5631
++#: fortran/resolve.c:5776
+ #, no-c-format
+ msgid "Assignment to a FORALL index variable at %L"
+ msgstr ""
+
+-#: fortran/resolve.c:5639
++#: fortran/resolve.c:5784
+ #, no-c-format
+ msgid "The FORALL with index '%s' cause more than one assignment to this object at %L"
+ msgstr ""
+
+-#: fortran/resolve.c:5774
++#: fortran/resolve.c:5922
+ #, no-c-format
+ msgid "An outer FORALL construct already has an index with this name %L"
+ msgstr ""
+
+-#: fortran/resolve.c:5830
++#: fortran/resolve.c:5978
+ #, no-c-format
+ msgid "WHERE/ELSEWHERE clause at %L requires a LOGICAL array"
+ msgstr ""
+
+-#: fortran/resolve.c:5890
++#: fortran/resolve.c:6037
+ #, no-c-format
+ msgid "Subroutine '%s' called instead of assignment at %L must be PURE"
+ msgstr ""
+
+-#: fortran/resolve.c:5927
++#: fortran/resolve.c:6110
+ #, no-c-format
+ msgid "CHARACTER expression will be truncated in assignment (%d/%d) at %L"
+ msgstr ""
+
+-#: fortran/resolve.c:5950
++#: fortran/resolve.c:6135
+ #, no-c-format
+ msgid "Cannot assign to variable '%s' in PURE procedure at %L"
+ msgstr ""
+
+-#: fortran/resolve.c:5962
++#: fortran/resolve.c:6147
+ #, no-c-format
+ msgid "The impure variable at %L is assigned to a derived type variable with a POINTER component in a PURE procedure (12.6)"
+ msgstr ""
+
+-#: fortran/resolve.c:6066
++#: fortran/resolve.c:6250
+ #, no-c-format
+ msgid "ASSIGNED GOTO statement at %L requires an INTEGER variable"
+ msgstr ""
+
+-#: fortran/resolve.c:6069
++#: fortran/resolve.c:6253
+ #, no-c-format
+ msgid "Variable '%s' has not been assigned a target label at %L"
+ msgstr ""
+
+-#: fortran/resolve.c:6080
++#: fortran/resolve.c:6264
+ #, no-c-format
+ msgid "Alternate RETURN statement at %L requires a SCALAR-INTEGER return specifier"
+ msgstr ""
+
+-#: fortran/resolve.c:6106
++#: fortran/resolve.c:6290
+ #, no-c-format
+ msgid "ASSIGN statement at %L requires a scalar default INTEGER variable"
+ msgstr ""
+
+-#: fortran/resolve.c:6121
++#: fortran/resolve.c:6305
+ #, no-c-format
+ msgid "Arithmetic IF statement at %L requires a numeric expression"
+ msgstr ""
+
+-#: fortran/resolve.c:6163
++#: fortran/resolve.c:6347
+ #, no-c-format
+ msgid "Exit condition of DO WHILE loop at %L must be a scalar LOGICAL expression"
+ msgstr ""
+
+-#: fortran/resolve.c:6170
++#: fortran/resolve.c:6420
+ #, no-c-format
+-msgid "STAT tag in ALLOCATE statement at %L must be of type INTEGER"
+-msgstr ""
+-
+-#: fortran/resolve.c:6182
+-#, no-c-format
+-msgid "STAT tag in DEALLOCATE statement at %L must be of type INTEGER"
+-msgstr ""
+-
+-#: fortran/resolve.c:6247
+-#, no-c-format
+ msgid "FORALL mask clause at %L requires a LOGICAL expression"
+ msgstr ""
+
+-#: fortran/resolve.c:6317 fortran/resolve.c:6373
++#: fortran/resolve.c:6490 fortran/resolve.c:6546
+ #, no-c-format
+ msgid "Binding label '%s' for common block '%s' at %L collides with the global entity '%s' at %L"
+ msgstr ""
+
+ #. Common block names match but binding labels do not.
+-#: fortran/resolve.c:6338
++#: fortran/resolve.c:6511
+ #, no-c-format
+ msgid "Binding label '%s' for common block '%s' at %L does not match the binding label '%s' for common block '%s' at %L"
+ msgstr ""
+
+-#: fortran/resolve.c:6385
++#: fortran/resolve.c:6558
+ #, no-c-format
+ msgid "Binding label '%s' for common block '%s' at %L collides with global entity '%s' at %L"
+ msgstr ""
+
+ #. Make sure global procedures don't collide with anything.
+-#: fortran/resolve.c:6437
++#: fortran/resolve.c:6610
+ #, no-c-format
+ msgid "Binding label '%s' at %L collides with the global entity '%s' at %L"
+ msgstr ""
+
+ #. Make sure procedures in interface bodies don't collide.
+-#: fortran/resolve.c:6450
++#: fortran/resolve.c:6623
+ #, no-c-format
+ msgid "Binding label '%s' in interface body at %L collides with the global entity '%s' at %L"
+ msgstr ""
+
+-#: fortran/resolve.c:6463
++#: fortran/resolve.c:6636
+ #, no-c-format
+ msgid "Binding label '%s' at %L collides with global entity '%s' at %L"
+ msgstr ""
+
+-#: fortran/resolve.c:6540
++#: fortran/resolve.c:6713
+ #, no-c-format
+ msgid "CHARACTER variable has zero length at %L"
+ msgstr ""
+
+-#: fortran/resolve.c:6828
++#: fortran/resolve.c:7001
+ #, no-c-format
+ msgid "Allocatable array '%s' at %L must have a deferred shape"
+ msgstr ""
+
+-#: fortran/resolve.c:6831
++#: fortran/resolve.c:7004
+ #, no-c-format
+ msgid "Scalar object '%s' at %L may not be ALLOCATABLE"
+ msgstr ""
+
+-#: fortran/resolve.c:6838
++#: fortran/resolve.c:7011
+ #, no-c-format
+ msgid "Array pointer '%s' at %L must have a deferred shape"
+ msgstr ""
+
+-#: fortran/resolve.c:6849
++#: fortran/resolve.c:7022
+ #, no-c-format
+ msgid "Array '%s' at %L cannot have a deferred shape"
+ msgstr ""
+
+-#: fortran/resolve.c:6878
++#: fortran/resolve.c:7051
+ #, no-c-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"
+ msgstr ""
+
+-#: fortran/resolve.c:6901
++#: fortran/resolve.c:7074
+ #, no-c-format
+ msgid "Object '%s' at %L must have the SAVE attribute for default initialization of a component"
+ msgstr ""
+
+ #. The shape of a main program or module array needs to be
+ #. constant.
+-#: fortran/resolve.c:6948
++#: fortran/resolve.c:7121
+ #, no-c-format
+ msgid "The module or main program array '%s' at %L must have constant shape"
+ msgstr ""
+
+-#: fortran/resolve.c:6961
++#: fortran/resolve.c:7134
+ #, no-c-format
+ msgid "Entity with assumed character length at %L must be a dummy argument or a PARAMETER"
+ msgstr ""
+
+-#: fortran/resolve.c:6980
++#: fortran/resolve.c:7153
+ #, no-c-format
+ msgid "'%s' at %L must have constant character length in this context"
+ msgstr ""
+
+-#: fortran/resolve.c:7012
++#: fortran/resolve.c:7185
+ #, fuzzy, no-c-format
+ msgid "Allocatable '%s' at %L cannot have an initializer"
+ msgstr "%Jchamp final « %D » peut ne pas avoir été initialisé"
+
+-#: fortran/resolve.c:7015
++#: fortran/resolve.c:7188
+ #, fuzzy, no-c-format
+ msgid "External '%s' at %L cannot have an initializer"
+ msgstr "%Jchamp final « %D » peut ne pas avoir été initialisé"
+
+-#: fortran/resolve.c:7019
++#: fortran/resolve.c:7192
+ #, fuzzy, no-c-format
+ msgid "Dummy '%s' at %L cannot have an initializer"
+ msgstr "« %s » a les deux « extern » et initialisateur"
+
+-#: fortran/resolve.c:7022
++#: fortran/resolve.c:7195
+ #, fuzzy, no-c-format
+ msgid "Intrinsic '%s' at %L cannot have an initializer"
+ msgstr "%Jchamp final « %D » peut ne pas avoir été initialisé"
+
+-#: fortran/resolve.c:7025
++#: fortran/resolve.c:7198
+ #, fuzzy, no-c-format
+ msgid "Function result '%s' at %L cannot have an initializer"
+ msgstr "%Jchamp final « %D » peut ne pas avoir été initialisé"
+
+-#: fortran/resolve.c:7028
++#: fortran/resolve.c:7201
+ #, no-c-format
+ msgid "Automatic array '%s' at %L cannot have an initializer"
+ msgstr ""
+
+-#: fortran/resolve.c:7051
++#: fortran/resolve.c:7224
+ #, no-c-format
+ msgid "Although not referenced, '%s' at %L has ambiguous interfaces"
+ msgstr ""
+
+-#: fortran/resolve.c:7070
++#: fortran/resolve.c:7243
+ #, no-c-format
+ msgid "Character-valued statement function '%s' at %L must have constant length"
+ msgstr ""
+
+-#: fortran/resolve.c:7078
++#: fortran/resolve.c:7251
+ #, no-c-format
+ msgid "Automatic character length function '%s' at %L must have an explicit interface"
+ msgstr ""
+
+-#: fortran/resolve.c:7103
++#: fortran/resolve.c:7276
+ #, no-c-format
+ msgid "Fortran 2003: '%s' is of a PRIVATE type and cannot be a dummy argument of '%s', which is PUBLIC at %L"
+ msgstr ""
+
+-#: fortran/resolve.c:7126 fortran/resolve.c:7151
++#: fortran/resolve.c:7299 fortran/resolve.c:7324
+ #, no-c-format
+ msgid "Fortran 2003: Procedure '%s' in PUBLIC interface '%s' at %L takes dummy arguments of '%s' which is PRIVATE"
+ msgstr ""
+
+-#: fortran/resolve.c:7168
++#: fortran/resolve.c:7341
+ #, fuzzy, no-c-format
+ msgid "Function '%s' at %L cannot have an initializer"
+ msgstr "%Jchamp final « %D » peut ne pas avoir été initialisé"
+
+-#: fortran/resolve.c:7177
++#: fortran/resolve.c:7350
+ #, fuzzy, no-c-format
+ msgid "External object '%s' at %L may not have an initializer"
+ msgstr "%Jchamp final « %D » peut ne pas avoir été initialisé"
+
+-#: fortran/resolve.c:7185
++#: fortran/resolve.c:7358
+ #, no-c-format
+ msgid "ELEMENTAL function '%s' at %L must have a scalar result"
+ msgstr ""
+
+-#: fortran/resolve.c:7206
++#: fortran/resolve.c:7379
+ #, no-c-format
+ msgid "CHARACTER(*) function '%s' at %L cannot be array-valued"
+ msgstr ""
+
+-#: fortran/resolve.c:7210
++#: fortran/resolve.c:7383
+ #, no-c-format
+ msgid "CHARACTER(*) function '%s' at %L cannot be pointer-valued"
+ msgstr ""
+
+-#: fortran/resolve.c:7214
++#: fortran/resolve.c:7387
+ #, no-c-format
+ msgid "CHARACTER(*) function '%s' at %L cannot be pure"
+ msgstr ""
+
+-#: fortran/resolve.c:7218
++#: fortran/resolve.c:7391
+ #, no-c-format
+ msgid "CHARACTER(*) function '%s' at %L cannot be recursive"
+ msgstr ""
+
+-#: fortran/resolve.c:7227
++#: fortran/resolve.c:7400
+ #, no-c-format
+ msgid "CHARACTER(*) function '%s' at %L is obsolescent in fortran 95"
+ msgstr ""
+
+-#: fortran/resolve.c:7299
++#: fortran/resolve.c:7472
+ #, no-c-format
+ msgid "Character length of component '%s' needs to be a constant specification expression at %L"
+ msgstr ""
+
+-#: fortran/resolve.c:7314
++#: fortran/resolve.c:7487
+ #, no-c-format
+ msgid "The component '%s' is a PRIVATE type and cannot be a component of '%s', which is PUBLIC at %L"
+ msgstr ""
+
+-#: fortran/resolve.c:7324
++#: fortran/resolve.c:7497
+ #, no-c-format
+ msgid "Component %s of SEQUENCE type declared at %L does not have the SEQUENCE attribute"
+ msgstr ""
+
+-#: fortran/resolve.c:7334
++#: fortran/resolve.c:7507
+ #, no-c-format
+ msgid "The pointer component '%s' of '%s' at %L is a type that has not been declared"
+ msgstr ""
+
+-#: fortran/resolve.c:7352
++#: fortran/resolve.c:7525
+ #, no-c-format
+ msgid "Component '%s' of '%s' at %L must have constant array bounds"
+ msgstr ""
+
+-#: fortran/resolve.c:7395
++#: fortran/resolve.c:7568
+ #, no-c-format
+ msgid "NAMELIST object '%s' was declared PRIVATE and cannot be member of PUBLIC namelist '%s' at %L"
+ msgstr ""
+
+-#: fortran/resolve.c:7405
++#: fortran/resolve.c:7578
+ #, no-c-format
+ msgid "NAMELIST object '%s' has use-associated PRIVATE components and cannot be member of namelist '%s' at %L"
+ msgstr ""
+
+-#: fortran/resolve.c:7418
++#: fortran/resolve.c:7591
+ #, no-c-format
+ msgid "NAMELIST object '%s' has PRIVATE components and cannot be a member of PUBLIC namelist '%s' at %L"
+ msgstr ""
+
+-#: fortran/resolve.c:7430
++#: fortran/resolve.c:7603
+ #, no-c-format
+ msgid "NAMELIST array object '%s' must not have assumed shape in namelist '%s' at %L"
+ msgstr ""
+
+-#: fortran/resolve.c:7439
++#: fortran/resolve.c:7612
+ #, no-c-format
+ msgid "NAMELIST array object '%s' must have constant shape in namelist '%s' at %L"
+ msgstr ""
+
+-#: fortran/resolve.c:7451
++#: fortran/resolve.c:7624
+ #, no-c-format
+ msgid "NAMELIST object '%s' in namelist '%s' at %L cannot have ALLOCATABLE components"
+ msgstr ""
+
+-#: fortran/resolve.c:7459
++#: fortran/resolve.c:7632
+ #, no-c-format
+ msgid "NAMELIST object '%s' in namelist '%s' at %L cannot have POINTER components"
+ msgstr ""
+
+-#: fortran/resolve.c:7485
++#: fortran/resolve.c:7658
+ #, no-c-format
+ msgid "PROCEDURE attribute conflicts with NAMELIST attribute in '%s' at %L"
+ msgstr ""
+
+-#: fortran/resolve.c:7504
++#: fortran/resolve.c:7677
+ #, no-c-format
+ msgid "Parameter array '%s' at %L cannot be automatic or of deferred shape"
+ msgstr ""
+
+-#: fortran/resolve.c:7515
++#: fortran/resolve.c:7688
+ #, no-c-format
+ msgid "Implicitly typed PARAMETER '%s' at %L doesn't match a later IMPLICIT type"
+ msgstr ""
+
+-#: fortran/resolve.c:7526
++#: fortran/resolve.c:7699
+ #, fuzzy, no-c-format
+ msgid "Incompatible derived type in PARAMETER at %L"
+ msgstr "type incompatibles dans %s"
+
+-#: fortran/resolve.c:7597
++#: fortran/resolve.c:7758
+ #, no-c-format
++msgid "Interface '%s', used by procedure '%s' at %L, is declared in a later PROCEDURE statement"
++msgstr ""
++
++#: fortran/resolve.c:7772
++#, no-c-format
+ msgid "Interface '%s' of procedure '%s' at %L must be explicit"
+ msgstr ""
+
+-#: fortran/resolve.c:7622
++#: fortran/resolve.c:7797
+ #, fuzzy, no-c-format
+ msgid "Type specified for intrinsic function '%s' at %L is ignored"
+ msgstr "référence de sous-routine à la fonction «%A» à %0"
+
+-#: fortran/resolve.c:7629
++#: fortran/resolve.c:7804
+ #, no-c-format
+ msgid "Intrinsic subroutine '%s' at %L shall not have a type specifier"
+ msgstr ""
+
+-#: fortran/resolve.c:7636
++#: fortran/resolve.c:7811
+ #, no-c-format
+ msgid "Intrinsic '%s' at %L does not exist"
+ msgstr ""
+
+-#: fortran/resolve.c:7676
++#: fortran/resolve.c:7851
+ #, no-c-format
+ msgid "Assumed size array at %L must be a dummy argument"
+ msgstr ""
+
+-#: fortran/resolve.c:7679
++#: fortran/resolve.c:7854
+ #, no-c-format
+ msgid "Assumed shape array at %L must be a dummy argument"
+ msgstr ""
+
+-#: fortran/resolve.c:7691
++#: fortran/resolve.c:7866
+ #, no-c-format
+ msgid "Symbol at %L is not a DUMMY variable"
+ msgstr ""
+
+-#: fortran/resolve.c:7697
++#: fortran/resolve.c:7872
+ #, no-c-format
+ msgid "'%s' at %L cannot have the VALUE attribute because it is not a dummy argument"
+ msgstr ""
+
+-#: fortran/resolve.c:7707
++#: fortran/resolve.c:7882
+ #, no-c-format
+ msgid "Character dummy variable '%s' at %L with VALUE attribute must have constant length"
+ msgstr ""
+
+-#: fortran/resolve.c:7716
++#: fortran/resolve.c:7891
+ #, no-c-format
+ msgid "C interoperable character dummy variable '%s' at %L with VALUE attribute must have length one"
+ msgstr ""
+
+-#: fortran/resolve.c:7742
++#: fortran/resolve.c:7917
+ #, no-c-format
+ msgid "Variable '%s' at %L cannot be BIND(C) because it is neither a COMMON block nor declared at the module level scope"
+ msgstr ""
+
+-#: fortran/resolve.c:7795
++#: fortran/resolve.c:7970
+ #, no-c-format
+ msgid "The derived type '%s' at %L is of type '%s', which has not been defined"
+ msgstr ""
+
+-#: fortran/resolve.c:7811
++#: fortran/resolve.c:7987
+ #, no-c-format
+ msgid "Fortran 2003: PUBLIC %s '%s' at %L of PRIVATE derived type '%s'"
+ msgstr ""
+
+-#: fortran/resolve.c:7830
++#: fortran/resolve.c:8006
+ #, no-c-format
+ msgid "The INTENT(OUT) dummy argument '%s' at %L is ASSUMED SIZE and so cannot have a default initializer"
+ msgstr ""
+
+-#: fortran/resolve.c:7889
++#: fortran/resolve.c:8065
+ #, no-c-format
+ msgid "Threadprivate at %L isn't SAVEd"
+ msgstr ""
+
+-#: fortran/resolve.c:7967
++#: fortran/resolve.c:8143
+ #, no-c-format
+ msgid "BLOCK DATA element '%s' at %L must be in COMMON"
+ msgstr ""
+
+-#: fortran/resolve.c:8011
++#: fortran/resolve.c:8149
+ #, no-c-format
++msgid "DATA array '%s' at %L must be specified in a previous declaration"
++msgstr ""
++
++#: fortran/resolve.c:8194
++#, no-c-format
+ msgid "Nonconstant array section at %L in DATA statement"
+ msgstr ""
+
+-#: fortran/resolve.c:8024
++#: fortran/resolve.c:8207
+ #, no-c-format
+ msgid "DATA statement at %L has more variables than values"
+ msgstr ""
+
+-#: fortran/resolve.c:8118
++#: fortran/resolve.c:8301
+ #, no-c-format
+ msgid "iterator start at %L does not simplify"
+ msgstr ""
+
+-#: fortran/resolve.c:8125
++#: fortran/resolve.c:8308
+ #, no-c-format
+ msgid "iterator end at %L does not simplify"
+ msgstr ""
+
+-#: fortran/resolve.c:8132
++#: fortran/resolve.c:8315
+ #, no-c-format
+ msgid "iterator step at %L does not simplify"
+ msgstr ""
+
+-#: fortran/resolve.c:8258
++#: fortran/resolve.c:8441
+ #, no-c-format
+ msgid "DATA statement at %L has more values than variables"
+ msgstr ""
+
+-#: fortran/resolve.c:8349
++#: fortran/resolve.c:8532
+ #, fuzzy, no-c-format
+ msgid "Label %d at %L defined but not used"
+ msgstr "étiquette « %D » définie mais non utilisée"
+
+-#: fortran/resolve.c:8354
++#: fortran/resolve.c:8537
+ #, fuzzy, no-c-format
+ msgid "Label %d at %L defined but cannot be used"
+ msgstr "étiquette « %D » définie mais non utilisée"
+
+-#: fortran/resolve.c:8439
++#: fortran/resolve.c:8622
+ #, no-c-format
+ msgid "Derived type variable '%s' at %L must have SEQUENCE attribute to be an EQUIVALENCE object"
+ msgstr ""
+
+-#: fortran/resolve.c:8448
++#: fortran/resolve.c:8631
+ #, no-c-format
+ msgid "Derived type variable '%s' at %L cannot have ALLOCATABLE components to be an EQUIVALENCE object"
+ msgstr ""
+
+-#: fortran/resolve.c:8465
++#: fortran/resolve.c:8639
+ #, no-c-format
++msgid "Derived type variable '%s' at %L with default initialization cannot be in EQUIVALENCE with a variable in COMMON"
++msgstr ""
++
++#: fortran/resolve.c:8656
++#, no-c-format
+ msgid "Derived type variable '%s' at %L with pointer component(s) cannot be an EQUIVALENCE object"
+ msgstr ""
+
+-#: fortran/resolve.c:8570
++#: fortran/resolve.c:8761
+ #, no-c-format
+ msgid "Syntax error in EQUIVALENCE statement at %L"
+ msgstr ""
+
+-#: fortran/resolve.c:8585
++#: fortran/resolve.c:8776
+ #, no-c-format
+ msgid "Either all or none of the objects in the EQUIVALENCE set at %L shall have the PROTECTED attribute"
+ msgstr ""
+
+-#: fortran/resolve.c:8597
++#: fortran/resolve.c:8788
+ #, no-c-format
+ msgid "Common block member '%s' at %L cannot be an EQUIVALENCE object in the pure procedure '%s'"
+ msgstr ""
+
+-#: fortran/resolve.c:8606
++#: fortran/resolve.c:8797
+ #, no-c-format
+ msgid "Named constant '%s' at %L cannot be an EQUIVALENCE object"
+ msgstr ""
+
+-#: fortran/resolve.c:8685
++#: fortran/resolve.c:8876
+ #, no-c-format
+ msgid "Array '%s' at %L with non-constant bounds cannot be an EQUIVALENCE object"
+ msgstr ""
+
+-#: fortran/resolve.c:8696
++#: fortran/resolve.c:8887
+ #, no-c-format
+ msgid "Structure component '%s' at %L cannot be an EQUIVALENCE object"
+ msgstr ""
+
+-#: fortran/resolve.c:8707
++#: fortran/resolve.c:8898
+ #, no-c-format
+ msgid "Substring at %L has length zero"
+ msgstr ""
+
+-#: fortran/resolve.c:8750
++#: fortran/resolve.c:8941
+ #, no-c-format
+ msgid "PUBLIC function '%s' at %L cannot be of PRIVATE type '%s'"
+ msgstr ""
+
+-#: fortran/resolve.c:8762
++#: fortran/resolve.c:8953
+ #, no-c-format
+ msgid "ENTRY '%s' at %L has no IMPLICIT type"
+ msgstr ""
+
+-#: fortran/resolve.c:8788
++#: fortran/resolve.c:8979
+ #, no-c-format
+ msgid "User operator procedure '%s' at %L must be a FUNCTION"
+ msgstr ""
+
+-#: fortran/resolve.c:8795
++#: fortran/resolve.c:8986
+ #, no-c-format
+ msgid "User operator procedure '%s' at %L cannot be assumed character length"
+ msgstr ""
+
+-#: fortran/resolve.c:8801
++#: fortran/resolve.c:8992
+ #, no-c-format
+ msgid "User operator procedure '%s' at %L must have at least one argument"
+ msgstr ""
+
+-#: fortran/resolve.c:8811
++#: fortran/resolve.c:9002
+ #, no-c-format
+ msgid "First argument of operator interface at %L cannot be optional"
+ msgstr ""
+
+-#: fortran/resolve.c:8823
++#: fortran/resolve.c:9014
+ #, no-c-format
+ msgid "Second argument of operator interface at %L cannot be optional"
+ msgstr ""
+
+-#: fortran/resolve.c:8827
++#: fortran/resolve.c:9018
+ #, no-c-format
+ msgid "Operator interface at %L must have, at most, two arguments"
+ msgstr ""
+
+-#: fortran/resolve.c:8867
++#: fortran/resolve.c:9059
+ #, no-c-format
+ msgid "Contained procedure '%s' at %L of a PURE procedure must also be PURE"
+ msgstr ""
+
+-#: fortran/scanner.c:526
++#: fortran/scanner.c:530
+ #, no-c-format
+ msgid "!$OMP at %C starts a commented line as it neither is followed by a space nor is a continuation line"
+ msgstr ""
+
+-#: fortran/scanner.c:816 fortran/scanner.c:937
++#: fortran/scanner.c:820 fortran/scanner.c:941
+ #, no-c-format
+ msgid "Limit of %d continuations exceeded in statement at %C"
+ msgstr ""
+
+-#: fortran/scanner.c:861
++#: fortran/scanner.c:865
+ #, fuzzy, no-c-format
+ msgid "Missing '&' in continued character constant at %C"
+ msgstr "valeur non reconnnue pour la constante caractère à %0"
+
+-#: fortran/scanner.c:1071
++#: fortran/scanner.c:1075
+ #, fuzzy, no-c-format
+ msgid "Nonconforming tab character at %C"
+ msgstr "conversion vers un jeu d'exécution de caractères"
+
+-#: fortran/scanner.c:1153 fortran/scanner.c:1156
++#: fortran/scanner.c:1158 fortran/scanner.c:1161
+ #, no-c-format
+ msgid "'&' not allowed by itself in line %d"
+ msgstr ""
+
+-#: fortran/scanner.c:1189
++#: fortran/scanner.c:1207
+ #, no-c-format
+-msgid "Nonconforming tab character in column 1 of line %d"
++msgid "Nonconforming tab character in column %d of line %d"
+ msgstr ""
+
+-#: fortran/scanner.c:1387
++#: fortran/scanner.c:1405
+ #, fuzzy, no-c-format
+ msgid "%s:%d: file %s left but not entered"
+ msgstr "fichier \"%s\" a été laissé mais n'a pas été entré"
+
+-#: fortran/scanner.c:1419
++#: fortran/scanner.c:1438
+ #, fuzzy, no-c-format
+ msgid "%s:%d: Illegal preprocessor directive"
+ msgstr "%s dans la directive du préprocesseur"
+
+-#: fortran/scanner.c:1514
++#: fortran/scanner.c:1533
+ #, no-c-format
+ msgid "File '%s' is being included recursively"
+ msgstr ""
+
+-#: fortran/scanner.c:1529
++#: fortran/scanner.c:1548
+ #, fuzzy, no-c-format
+ msgid "Can't open file '%s'"
+ msgstr "impossible d'ouvrir le fichier « %s »"
+
+-#: fortran/scanner.c:1538
++#: fortran/scanner.c:1557
+ #, fuzzy, no-c-format
+ msgid "Can't open included file '%s'"
+ msgstr "ne peut ouvrir le fichier de sortie « %s »"
+
+-#: fortran/scanner.c:1676
++#: fortran/scanner.c:1701
+ #, fuzzy, c-format
+ msgid "%s:%3d %s\n"
+ msgstr "%s : %s"
+@@ -10509,134 +10567,134 @@
+ msgid "Argument of CHAR function at %L outside of range [0,255]"
+ msgstr ""
+
+-#: fortran/simplify.c:1247
++#: fortran/simplify.c:1293
+ #, fuzzy, no-c-format
+ msgid "Argument of IACHAR at %L must be of length one"
+ msgstr "argument 1 de « %s » doit être en mode virgule flottante"
+
+-#: fortran/simplify.c:1254
++#: fortran/simplify.c:1300
+ #, no-c-format
+ msgid "Argument of IACHAR function at %L outside of range 0..127"
+ msgstr ""
+
+-#: fortran/simplify.c:1293
++#: fortran/simplify.c:1339
+ #, fuzzy, no-c-format
+ msgid "Invalid second argument of IBCLR at %L"
+ msgstr "argument actuel invalide à %0"
+
+-#: fortran/simplify.c:1301
++#: fortran/simplify.c:1347
+ #, no-c-format
+ msgid "Second argument of IBCLR exceeds bit size at %L"
+ msgstr ""
+
+-#: fortran/simplify.c:1335
++#: fortran/simplify.c:1381
+ #, fuzzy, no-c-format
+ msgid "Invalid second argument of IBITS at %L"
+ msgstr "argument actuel invalide à %0"
+
+-#: fortran/simplify.c:1341
++#: fortran/simplify.c:1387
+ #, fuzzy, no-c-format
+ msgid "Invalid third argument of IBITS at %L"
+ msgstr "argument actuel invalide à %0"
+
+-#: fortran/simplify.c:1351
++#: fortran/simplify.c:1397
+ #, no-c-format
+ msgid "Sum of second and third arguments of IBITS exceeds bit size at %L"
+ msgstr ""
+
+-#: fortran/simplify.c:1393
++#: fortran/simplify.c:1439
+ #, fuzzy, no-c-format
+ msgid "Invalid second argument of IBSET at %L"
+ msgstr "argument actuel invalide à %0"
+
+-#: fortran/simplify.c:1401
++#: fortran/simplify.c:1447
+ #, no-c-format
+ msgid "Second argument of IBSET exceeds bit size at %L"
+ msgstr ""
+
+-#: fortran/simplify.c:1431
++#: fortran/simplify.c:1477
+ #, fuzzy, no-c-format
+ msgid "Argument of ICHAR at %L must be of length one"
+ msgstr "argument 1 de « %s » doit être en mode virgule flottante"
+
+-#: fortran/simplify.c:1646
++#: fortran/simplify.c:1692
+ #, fuzzy, no-c-format
+ msgid "Argument of INT at %L is not a valid type"
+ msgstr "argument à NUM n'est pas discret"
+
+-#: fortran/simplify.c:1688
++#: fortran/simplify.c:1734
+ #, fuzzy, no-c-format
+ msgid "Argument of %s at %L is not a valid type"
+ msgstr "argument de l'attribut « %s » n'est pas une chaîne de constante"
+
+-#: fortran/simplify.c:1786
++#: fortran/simplify.c:1832
+ #, fuzzy, no-c-format
+ msgid "Invalid second argument of ISHFT at %L"
+ msgstr "argument actuel invalide à %0"
+
+-#: fortran/simplify.c:1801
++#: fortran/simplify.c:1847
+ #, no-c-format
+ msgid "Magnitude of second argument of ISHFT exceeds bit size at %L"
+ msgstr ""
+
+-#: fortran/simplify.c:1865
++#: fortran/simplify.c:1911
+ #, fuzzy, no-c-format
+ msgid "Invalid second argument of ISHFTC at %L"
+ msgstr "argument actuel invalide à %0"
+
+-#: fortran/simplify.c:1879
++#: fortran/simplify.c:1925
+ #, fuzzy, no-c-format
+ msgid "Invalid third argument of ISHFTC at %L"
+ msgstr "argument actuel invalide à %0"
+
+-#: fortran/simplify.c:1885
++#: fortran/simplify.c:1931
+ #, no-c-format
+ msgid "Magnitude of third argument of ISHFTC exceeds BIT_SIZE of first argument at %L"
+ msgstr ""
+
+-#: fortran/simplify.c:1901
++#: fortran/simplify.c:1947
+ #, no-c-format
+ msgid "Magnitude of second argument of ISHFTC exceeds third argument at %L"
+ msgstr ""
+
+-#: fortran/simplify.c:1904
++#: fortran/simplify.c:1950
+ #, no-c-format
+ msgid "Magnitude of second argument of ISHFTC exceeds BIT_SIZE of first argument at %L"
+ msgstr ""
+
+-#: fortran/simplify.c:1975
++#: fortran/simplify.c:2021
+ #, no-c-format
+ msgid "Argument of KIND at %L is a DERIVED type"
+ msgstr ""
+
+-#: fortran/simplify.c:2163
++#: fortran/simplify.c:2209
+ #, fuzzy, no-c-format
+ msgid "DIM argument at %L is out of bounds"
+ msgstr "numéro de l'accumulateur est hors limite"
+
+-#: fortran/simplify.c:2318
++#: fortran/simplify.c:2364
+ #, no-c-format
+ msgid "Argument of LOG at %L cannot be less than or equal to zero"
+ msgstr ""
+
+-#: fortran/simplify.c:2331
++#: fortran/simplify.c:2377
+ #, no-c-format
+ msgid "Complex argument of LOG at %L cannot be zero"
+ msgstr ""
+
+-#: fortran/simplify.c:2374
++#: fortran/simplify.c:2420
+ #, no-c-format
+ msgid "Argument of LOG10 at %L cannot be less than or equal to zero"
+ msgstr ""
+
+ #. Result is processor-dependent.
+-#: fortran/simplify.c:2579
++#: fortran/simplify.c:2628
+ #, no-c-format
+ msgid "Second argument MOD at %L is zero"
+ msgstr ""
+
+ #. Result is processor-dependent.
+-#: fortran/simplify.c:2590
++#: fortran/simplify.c:2639
+ #, no-c-format
+ msgid "Second argument of MOD at %L is zero"
+ msgstr ""
+@@ -10644,82 +10702,87 @@
+ #. Result is processor-dependent. This processor just opts
+ #. to not handle it at all.
+ #. Result is processor-dependent.
+-#: fortran/simplify.c:2638 fortran/simplify.c:2650
++#: fortran/simplify.c:2687 fortran/simplify.c:2699
+ #, no-c-format
+ msgid "Second argument of MODULO at %L is zero"
+ msgstr ""
+
+-#: fortran/simplify.c:2702
++#: fortran/simplify.c:2751
+ #, no-c-format
+ msgid "Second argument of NEAREST at %L shall not be zero"
+ msgstr ""
+
+-#: fortran/simplify.c:2977
++#: fortran/simplify.c:2787
+ #, no-c-format
++msgid "Result of NEAREST is NaN at %L"
++msgstr ""
++
++#: fortran/simplify.c:3062
++#, no-c-format
+ msgid "Argument NCOPIES of REPEAT intrinsic is negative at %L"
+ msgstr ""
+
+-#: fortran/simplify.c:3032
++#: fortran/simplify.c:3117
+ #, no-c-format
+ msgid "Argument NCOPIES of REPEAT intrinsic is too large at %L"
+ msgstr ""
+
+-#: fortran/simplify.c:3122
++#: fortran/simplify.c:3232
+ #, fuzzy, no-c-format
+ msgid "Integer too large in shape specification at %L"
+ msgstr "après la déclaration précédente dans « %#D »"
+
+-#: fortran/simplify.c:3132
++#: fortran/simplify.c:3242
+ #, no-c-format
+ msgid "Too many dimensions in shape specification for RESHAPE at %L"
+ msgstr ""
+
+-#: fortran/simplify.c:3140
++#: fortran/simplify.c:3250
+ #, fuzzy, no-c-format
+ msgid "Shape specification at %L cannot be negative"
+ msgstr "spécification d'étendue à %0 invalide"
+
+-#: fortran/simplify.c:3150
++#: fortran/simplify.c:3260
+ #, no-c-format
+ msgid "Shape specification at %L cannot be the null array"
+ msgstr ""
+
+-#: fortran/simplify.c:3171
++#: fortran/simplify.c:3281
+ #, no-c-format
+ msgid "ORDER parameter of RESHAPE at %L is not the same size as SHAPE parameter"
+ msgstr ""
+
+-#: fortran/simplify.c:3178
++#: fortran/simplify.c:3288
+ #, no-c-format
+ msgid "Error in ORDER parameter of RESHAPE at %L"
+ msgstr ""
+
+-#: fortran/simplify.c:3188
++#: fortran/simplify.c:3298
+ #, no-c-format
+ msgid "ORDER parameter of RESHAPE at %L is out of range"
+ msgstr ""
+
+-#: fortran/simplify.c:3197
++#: fortran/simplify.c:3307
+ #, fuzzy, no-c-format
+ msgid "Invalid permutation in ORDER parameter at %L"
+ msgstr "type d'attribut de déclaration invalide à %0"
+
+-#: fortran/simplify.c:3253
++#: fortran/simplify.c:3363
+ #, no-c-format
+ msgid "PAD parameter required for short SOURCE parameter at %L"
+ msgstr ""
+
+-#: fortran/simplify.c:3372
++#: fortran/simplify.c:3482
+ #, no-c-format
+ msgid "Result of SCALE overflows its kind at %L"
+ msgstr ""
+
+-#: fortran/simplify.c:3942
++#: fortran/simplify.c:4056
+ #, fuzzy, no-c-format
+ msgid "Argument of SQRT at %L has a negative value"
+ msgstr "l'appel de fonction a une valeur d'aggrégat"
+
+-#: fortran/simplify.c:4069
++#: fortran/simplify.c:4190
+ #, no-c-format
+ msgid "Intrinsic TRANSFER at %L has partly undefined result: source size %ld < result size %ld"
+ msgstr ""
+@@ -10948,29 +11011,29 @@
+ msgid "Symbol '%s' at %C has already been host associated"
+ msgstr ""
+
+-#: fortran/symbol.c:3162
++#: fortran/symbol.c:3189
+ #, no-c-format
+ msgid "Derived type '%s' declared at %L must have the BIND attribute to be C interoperable"
+ msgstr ""
+
+-#: fortran/symbol.c:3173
++#: fortran/symbol.c:3200
+ #, fuzzy, no-c-format
+ msgid "Derived type '%s' at %L is empty"
+ msgstr "la réponse du prédicat est vide"
+
+-#: fortran/symbol.c:3190
++#: fortran/symbol.c:3217
+ #, no-c-format
+ msgid "Component '%s' at %L cannot have the POINTER attribute because it is a member of the BIND(C) derived type '%s' at %L"
+ msgstr ""
+
+-#: fortran/symbol.c:3202
++#: fortran/symbol.c:3229
+ #, no-c-format
+ msgid "Component '%s' at %L cannot have the ALLOCATABLE attribute because it is a member of the BIND(C) derived type '%s' at %L"
+ msgstr ""
+
+ #. If the derived type is bind(c), all fields must be
+ #. interop.
+-#: fortran/symbol.c:3241
++#: fortran/symbol.c:3268
+ #, no-c-format
+ msgid "Component '%s' in derived type '%s' at %L may not be C interoperable, even though derived type '%s' is BIND(C)"
+ msgstr ""
+@@ -10978,17 +11041,17 @@
+ #. If derived type is param to bind(c) routine, or to one
+ #. of the iso_c_binding procs, it must be interoperable, so
+ #. all fields must interop too.
+-#: fortran/symbol.c:3250
++#: fortran/symbol.c:3277
+ #, no-c-format
+ msgid "Component '%s' in derived type '%s' at %L may not be C interoperable"
+ msgstr ""
+
+-#: fortran/symbol.c:3264
++#: fortran/symbol.c:3291
+ #, no-c-format
+ msgid "Derived type '%s' at %L cannot be declared with both PRIVATE and BIND(C) attributes"
+ msgstr ""
+
+-#: fortran/symbol.c:3272
++#: fortran/symbol.c:3299
+ #, no-c-format
+ msgid "Derived type '%s' at %L cannot have the SEQUENCE attribute because it is BIND(C)"
+ msgstr ""
+@@ -10998,38 +11061,43 @@
+ msgid "Overlapping unequal initializers in EQUIVALENCE at %L"
+ msgstr ""
+
+-#: fortran/trans-common.c:396
++#: fortran/target-memory.c:635
+ #, no-c-format
++msgid "BOZ constant at %L is too large (%ld vs %ld bits)"
++msgstr ""
++
++#: fortran/trans-common.c:399
++#, no-c-format
+ msgid "Named COMMON block '%s' at %L shall be of the same size"
+ msgstr ""
+
+-#: fortran/trans-common.c:817
++#: fortran/trans-common.c:833
+ #, fuzzy, no-c-format
+ msgid "Bad array reference at %L"
+ msgstr "élément nul à %0 pour la référence au tableau à %1"
+
+-#: fortran/trans-common.c:825
++#: fortran/trans-common.c:841
+ #, no-c-format
+ msgid "Illegal reference type at %L as EQUIVALENCE object"
+ msgstr ""
+
+-#: fortran/trans-common.c:865
++#: fortran/trans-common.c:881
+ #, no-c-format
+ msgid "Inconsistent equivalence rules involving '%s' at %L and '%s' at %L"
+ msgstr ""
+
+ #. Aligning this field would misalign a previous field.
+-#: fortran/trans-common.c:998
++#: fortran/trans-common.c:1014
+ #, no-c-format
+ msgid "The equivalence set for variable '%s' declared at %L violates alignment requirements"
+ msgstr ""
+
+-#: fortran/trans-common.c:1063
++#: fortran/trans-common.c:1079
+ #, no-c-format
+ msgid "Equivalence for '%s' does not match ordering of COMMON '%s' at %L"
+ msgstr ""
+
+-#: fortran/trans-common.c:1078
++#: fortran/trans-common.c:1094
+ #, no-c-format
+ msgid "The equivalence set for '%s' cause an invalid extension to COMMON '%s' at %L"
+ msgstr ""
+@@ -11037,42 +11105,42 @@
+ #. The required offset conflicts with previous alignment
+ #. requirements. Insert padding immediately before this
+ #. segment.
+-#: fortran/trans-common.c:1089
++#: fortran/trans-common.c:1105
+ #, fuzzy, no-c-format
+ msgid "Padding of %d bytes required before '%s' in COMMON '%s' at %L"
+ msgstr "Remplissage de %A %D requis avant «%B» dans le bloc commun «%C» à %0"
+
+-#: fortran/trans-common.c:1115
++#: fortran/trans-common.c:1131
+ #, no-c-format
+ msgid "COMMON '%s' at %L does not exist"
+ msgstr ""
+
+-#: fortran/trans-common.c:1122
++#: fortran/trans-common.c:1138
+ #, no-c-format
+ msgid "COMMON '%s' at %L requires %d bytes of padding at start"
+ msgstr ""
+
+-#: fortran/trans-decl.c:3016
++#: fortran/trans-decl.c:2979
+ #, no-c-format
+ msgid "Dummy argument '%s' at %L was declared INTENT(OUT) but was not set"
+ msgstr ""
+
+-#: fortran/trans-decl.c:3020
++#: fortran/trans-decl.c:2983
+ #, no-c-format
+ msgid "Unused dummy argument '%s' at %L"
+ msgstr ""
+
+-#: fortran/trans-decl.c:3026
++#: fortran/trans-decl.c:2989
+ #, fuzzy, no-c-format
+ msgid "Unused variable '%s' declared at %L"
+ msgstr "instance de la variable « %s » est déclaré %s"
+
+-#: fortran/trans-decl.c:3052
++#: fortran/trans-decl.c:3015
+ #, fuzzy, no-c-format
+ msgid "Unused parameter '%s' declared at %L"
+ msgstr "paramètre « %s » déclaré « void »"
+
+-#: fortran/trans-expr.c:2036
++#: fortran/trans-expr.c:2199
+ #, fuzzy, no-c-format
+ msgid "Unknown argument list function at %L"
+ msgstr "pas assez d'arguments pour la fonction « %s »"
+@@ -11082,12 +11150,12 @@
+ msgid "'dim' argument of %s intrinsic at %L is not a valid dimension index"
+ msgstr ""
+
+-#: fortran/trans-io.c:1850
++#: fortran/trans-io.c:1851
+ #, no-c-format
+ msgid "Derived type '%s' at %L has PRIVATE components"
+ msgstr ""
+
+-#: fortran/trans-stmt.c:438
++#: fortran/trans-stmt.c:436
+ #, fuzzy, no-c-format
+ msgid "An alternate return at %L without a * dummy argument"
+ msgstr "spécificateur alternatif de retour à %0 invalide à l'intérieur de l'unité du programme principal"
+@@ -11314,58 +11382,38 @@
+ msgid "cannot specify 'main' class when not linking"
+ msgstr "ne peut spécifier la classe « main » lorsqu'il n'y a pas d'édition de liens"
+
+-#: config/i386/nwld.h:34
+-#, fuzzy
+-msgid "Static linking is not supported.\n"
+-msgstr "expression limitant la pile n'est pas supportée"
+-
+-#: java/jvspec.c:80 gcc.c:820 ada/lang-specs.h:33
+-msgid "-pg and -fomit-frame-pointer are incompatible"
+-msgstr "-pg et -fomit-frame-pointer sont incompatibles"
+-
+ #: config/vax/netbsd-elf.h:41
+ #, fuzzy
+ msgid "the -shared option is not currently supported for VAX ELF"
+ msgstr "L'option -shared n'est pas couramment supportée pour VAS ELF."
+
+-#: config/sparc/sol2-gld-bi.h:17 config/sparc/sol2-gld-bi.h:22
+-#: config/sparc/sol2-bi.h:189 config/sparc/sol2-bi.h:194
+-msgid "does not support multilib"
+-msgstr "ne supporte pas multilib"
+-
+ #: config/vax/vax.h:49 config/vax/vax.h:50
+ msgid "profiling not supported with -mg\n"
+ msgstr "profilage n'est pas supporté avec -mg\n"
+
+-#: config/rs6000/linux64.h:347 config/rs6000/linux64.h:349 config/linux.h:106
+-#: config/linux.h:108 config/rs6000/sysv4.h:897 config/rs6000/sysv4.h:899
++#: config/sh/sh.h:461
++#, fuzzy
++msgid "SH2a does not support little-endian"
++msgstr "ne supporte pas multilib"
++
++#: config/s390/tpf.h:119
++#, fuzzy
++msgid "static is not supported on TPF-OS"
++msgstr "-traditional n'est pas supporté en C++"
++
+ #: config/alpha/linux-elf.h:33 config/alpha/linux-elf.h:35
++#: config/rs6000/sysv4.h:897 config/rs6000/sysv4.h:899
+ #: config/sparc/linux.h:126 config/sparc/linux.h:128
+-#: config/sparc/linux64.h:152 config/sparc/linux64.h:154
++#: config/sparc/linux64.h:152 config/sparc/linux64.h:154 config/linux.h:106
++#: config/linux.h:108 config/rs6000/linux64.h:347 config/rs6000/linux64.h:349
+ #, fuzzy
+ msgid "-mglibc and -muclibc used together"
+ msgstr "-mapcs-26 et -mapcs-32 ne peuvent être utilisés ensembles"
+
+-#: config/i386/cygwin.h:28
+-msgid "mno-cygwin and mno-win32 are not compatible"
+-msgstr "mno-cygwin et mno-win32 ne sont pas compatibles"
++#: java/jvspec.c:80 gcc.c:820 ada/lang-specs.h:33
++msgid "-pg and -fomit-frame-pointer are incompatible"
++msgstr "-pg et -fomit-frame-pointer sont incompatibles"
+
+-#: config/i386/cygwin.h:74 config/i386/mingw32.h:74
+-msgid "shared and mdll are not compatible"
+-msgstr "shared et mdll ne sont pas compatibles"
+-
+-#: config/i386/sco5.h:188
+-msgid "-pg not supported on this platform"
+-msgstr "-pg n'est pas supporté sur cette plate-forme"
+-
+-#: config/i386/sco5.h:189
+-msgid "-p and -pp specified - pick one"
+-msgstr "-p et -pp spécifié - n'en prendre qu'un seul"
+-
+-#: config/i386/sco5.h:258
+-msgid "-G and -static are mutually exclusive"
+-msgstr "-G et -static sont mutuellement exclusives"
+-
+ #: gcc.c:792
+ msgid "GCC does not support -C or -CC without -E"
+ msgstr "GCC ne supporte pas -C ou -CC sans utiliser -E"
+@@ -11375,61 +11423,14 @@
+ msgid "-E or -x required when input is from standard input"
+ msgstr "-E est requis lorsque l'entrée est faite à partir de l'entrée standard"
+
+-#: java/lang-specs.h:33
+-msgid "-fjni and -femit-class-files are incompatible"
+-msgstr "-fjni et -femit-class-files sont incompatibles"
+-
+-#: java/lang-specs.h:34
+-msgid "-fjni and -femit-class-file are incompatible"
+-msgstr "-fjni et -femit-class-file sont incompatibles"
+-
+-#: java/lang-specs.h:35 java/lang-specs.h:36
+-msgid "-femit-class-file should used along with -fsyntax-only"
+-msgstr "-femit-class-file dervait être utilisé avec -fsyntax-only"
+-
+ #: config/mcore/mcore.h:56
+ msgid "the m210 does not have little endian support"
+ msgstr "Le m210 ne supporte pas le code pour système à octets de poids faible"
+
+-#: config/lynx.h:70
+-msgid "cannot use mthreads and mlegacy-threads together"
+-msgstr ""
+-
+-#: config/lynx.h:95
+-msgid "cannot use mshared and static together"
+-msgstr ""
+-
+-#: config/sh/sh.h:461
+-#, fuzzy
+-msgid "SH2a does not support little-endian"
+-msgstr "ne supporte pas multilib"
+-
+-#: config/mips/mips.h:1042 config/arc/arc.h:61
++#: config/arc/arc.h:61 config/mips/mips.h:1042
+ msgid "may not use both -EB and -EL"
+ msgstr "ne peut utiliser ensemble -EB et -EL"
+
+-#: config/s390/tpf.h:119
+-#, fuzzy
+-msgid "static is not supported on TPF-OS"
+-msgstr "-traditional n'est pas supporté en C++"
+-
+-#: config/rs6000/darwin.h:95
+-msgid " conflicting code gen style switches are used"
+-msgstr " code de génération de style de switches utilisées est en conflit"
+-
+-#: ada/lang-specs.h:34
+-msgid "-c or -S required for Ada"
+-msgstr "-c ou -S requis pour Ada"
+-
+-#: config/mips/r3900.h:34
+-msgid "-mhard-float not supported"
+-msgstr "-mhard-float n'est pas supporté"
+-
+-#: config/mips/r3900.h:36
+-#, fuzzy
+-msgid "-msingle-float and -msoft-float cannot both be specified"
+-msgstr "-msingle-float et -msoft-float ne peuvent être spécifiés ensembles"
+-
+ #: config/vxworks.h:71
+ #, fuzzy
+ msgid "-Xbind-now and -Xbind-lazy are incompatible"
+@@ -11467,12 +11468,25 @@
+ msgid "-private_bundle not allowed with -dynamiclib"
+ msgstr "-private_bundle n'est pas permis avec -dynamiclib"
+
++#: config/mips/r3900.h:34
++msgid "-mhard-float not supported"
++msgstr "-mhard-float n'est pas supporté"
++
++#: config/mips/r3900.h:36
++#, fuzzy
++msgid "-msingle-float and -msoft-float cannot both be specified"
++msgstr "-msingle-float et -msoft-float ne peuvent être spécifiés ensembles"
++
+ #: config/sparc/linux64.h:211 config/sparc/linux64.h:222
+ #: config/sparc/netbsd-elf.h:125 config/sparc/netbsd-elf.h:144
+ #: config/sparc/sol2-bi.h:217 config/sparc/sol2-bi.h:227
+ msgid "may not use both -m32 and -m64"
+ msgstr "ne peut utiliser ensemble -m32 et -m64"
+
++#: config/i386/mingw32.h:74 config/i386/cygwin.h:74
++msgid "shared and mdll are not compatible"
++msgstr "shared et mdll ne sont pas compatibles"
++
+ #: config/arm/arm.h:147
+ msgid "-msoft-float and -mhard_float may not be used together"
+ msgstr "-msoft-float et -mhard_float ne peuvent être utilisées ensembles"
+@@ -11481,127 +11495,65 @@
+ msgid "-mbig-endian and -mlittle-endian may not be used together"
+ msgstr "-mbig-endian et -mlittle-endian ne peuvent être utilisés ensemble"
+
+-#: java/lang.opt:65
+-#, fuzzy
+-msgid "Warn if a deprecated compiler feature, class, method, or field is used"
+-msgstr "Avertir si une classe, une méthode ou un champ obsolète est utilisé"
++#: config/rs6000/darwin.h:95
++msgid " conflicting code gen style switches are used"
++msgstr " code de génération de style de switches utilisées est en conflit"
+
+-#: java/lang.opt:69
+-msgid "Warn if deprecated empty statements are found"
+-msgstr "Avertir si des déclarations vides obsolètes sont trouvées"
++#: ada/lang-specs.h:34
++msgid "-c or -S required for Ada"
++msgstr "-c ou -S requis pour Ada"
+
+-#: java/lang.opt:73
+-msgid "Warn if .class files are out of date"
+-msgstr "Avertir si des fichier .class sont périmées"
++#: config/sparc/sol2-bi.h:189 config/sparc/sol2-bi.h:194
++#: config/sparc/sol2-gld-bi.h:17 config/sparc/sol2-gld-bi.h:22
++msgid "does not support multilib"
++msgstr "ne supporte pas multilib"
+
+-#: java/lang.opt:77
+-msgid "Warn if modifiers are specified when not necessary"
+-msgstr "Avertir si des modificateurs sont spécifiés sans que cela ne soit nécessaires"
+-
+-#: java/lang.opt:81
++#: config/i386/nwld.h:34
+ #, fuzzy
+-msgid "Deprecated; use --classpath instead"
+-msgstr "--CLASSPATH\tobsolète; utiliser --classpath à la place"
++msgid "Static linking is not supported.\n"
++msgstr "expression limitant la pile n'est pas supportée"
+
+-#: java/lang.opt:88
+-msgid "Permit the use of the assert keyword"
+-msgstr ""
++#: config/i386/cygwin.h:28
++msgid "mno-cygwin and mno-win32 are not compatible"
++msgstr "mno-cygwin et mno-win32 ne sont pas compatibles"
+
+-#: java/lang.opt:110
+-#, fuzzy
+-msgid "Replace system path"
+-msgstr "--bootclasspath=<chemin>\tremplacer le <chemin> système"
++#: config/i386/sco5.h:188
++msgid "-pg not supported on this platform"
++msgstr "-pg n'est pas supporté sur cette plate-forme"
+
+-#: java/lang.opt:114
+-#, fuzzy
+-msgid "Generate checks for references to NULL"
+-msgstr "Générer le code pour un DLL"
++#: config/i386/sco5.h:189
++msgid "-p and -pp specified - pick one"
++msgstr "-p et -pp spécifié - n'en prendre qu'un seul"
+
+-#: java/lang.opt:118
+-msgid "Set class path"
+-msgstr "Initialiser le chemin des classes"
++#: config/i386/sco5.h:258
++msgid "-G and -static are mutually exclusive"
++msgstr "-G et -static sont mutuellement exclusives"
+
+-#: java/lang.opt:125
+-msgid "Output a class file"
+-msgstr ""
++#: java/lang-specs.h:33
++msgid "-fjni and -femit-class-files are incompatible"
++msgstr "-fjni et -femit-class-files sont incompatibles"
+
+-#: java/lang.opt:129
+-msgid "Alias for -femit-class-file"
+-msgstr ""
++#: java/lang-specs.h:34
++msgid "-fjni and -femit-class-file are incompatible"
++msgstr "-fjni et -femit-class-file sont incompatibles"
+
+-#: java/lang.opt:133
+-#, fuzzy
+-msgid "Choose input encoding (defaults from your locale)"
+-msgstr "--encoding=<encodage>\tchoisir l'encodade d'entrée (par défaut provient de la locale)"
++#: java/lang-specs.h:35 java/lang-specs.h:36
++msgid "-femit-class-file should used along with -fsyntax-only"
++msgstr "-femit-class-file dervait être utilisé avec -fsyntax-only"
+
+-#: java/lang.opt:137
+-msgid "Set the extension directory path"
+-msgstr ""
+-
+-#: java/lang.opt:144
++#: config/cris/cris.h:207
+ #, fuzzy
+-msgid "Input file is a file with a list of filenames to compile"
+-msgstr "fichier d'entrée est listé dans les noms de fichiers à compiler"
++msgid "Do not specify both -march=... and -mcpu=..."
++msgstr "ne peut spécéfier à la fois -C et -o"
+
+-#: java/lang.opt:151
+-msgid "Always check for non gcj generated classes archives"
+-msgstr "Toujours vérifier dans les archives de classes non générées gcj"
+-
+-#: java/lang.opt:155
+-msgid "Assume the runtime uses a hash table to map an object to its synchronization structure"
++#: config/lynx.h:70
++msgid "cannot use mthreads and mlegacy-threads together"
+ msgstr ""
+
+-#: java/lang.opt:159
+-msgid "Generate instances of Class at runtime"
++#: config/lynx.h:95
++msgid "cannot use mshared and static together"
+ msgstr ""
+
+-#: java/lang.opt:163
+-msgid "Use offset tables for virtual method calls"
+-msgstr "Utiliser des tables de décalage pour les appels de méthodes virtuelles"
+-
+-#: java/lang.opt:170
+-msgid "Assume native functions are implemented using JNI"
+-msgstr "Présumer que les fonctions natives sont implantées et qu'elles utilisent JNI"
+-
+-#: java/lang.opt:174
+-msgid "Enable optimization of static class initialization code"
+-msgstr "Autorisser l'optimisation du code d'initialisation de classe statique"
+-
+-#: java/lang.opt:181
+-msgid "Reduce the amount of reflection meta-data generated"
+-msgstr ""
+-
+-#: java/lang.opt:185
+-msgid "Enable assignability checks for stores into object arrays"
+-msgstr "Autoriser la vérificaitions des affectations dans le stockage des tableaux d'objets"
+-
+-#: java/lang.opt:189
+-#, fuzzy
+-msgid "Generate code for the Boehm GC"
+-msgstr "Générer le code pour Boehm GC"
+-
+-#: java/lang.opt:193
+-msgid "Call a library routine to do integer divisions"
+-msgstr ""
+-
+-#: java/lang.opt:197
+-msgid "Generated should be loaded by bootstrap loader"
+-msgstr ""
+-
+-#: java/lang.opt:201
+-msgid "Set the source language version"
+-msgstr ""
+-
+-#: java/lang.opt:205
+-#, fuzzy
+-msgid "Set the target VM version"
+-msgstr "version d'en-tête erronée"
+-
+-#: ada/lang.opt:96
+-#, fuzzy
+-msgid "Specify options to GNAT"
+-msgstr "-gnat<options>\tSpécifier les options pour GNAT"
+-
+ #: fortran/lang.opt:29
+ #, fuzzy
+ msgid "Add a directory for INCLUDE and MODULE searching"
+@@ -11863,7 +11815,7 @@
+ msgid "Append a second underscore if the name already contains an underscore"
+ msgstr ""
+
+-#: fortran/lang.opt:277 c.opt:714
++#: fortran/lang.opt:277 c.opt:718
+ msgid "Use the narrowest integer type possible for enumeration types"
+ msgstr "Utiliser le type d'entier le moins large possible pour les types d'énumération"
+
+@@ -11898,16 +11850,69 @@
+ msgid "Accept extensions to support legacy code"
+ msgstr ""
+
+-#: treelang/lang.opt:30
++#: config/mcore/mcore.opt:23
+ #, fuzzy
+-msgid "Trace lexical analysis"
+-msgstr "(débug) trace l'analyse lexicale"
++msgid "Generate code for the M*Core M210"
++msgstr "Générer du code pour M*Core M340"
+
+-#: treelang/lang.opt:34
++#: config/mcore/mcore.opt:27
++msgid "Generate code for the M*Core M340"
++msgstr "Générer du code pour M*Core M340"
++
++#: config/mcore/mcore.opt:31
++msgid "Set maximum alignment to 4"
++msgstr "Initialiser l'alignement maximal à 4"
++
++#: config/mcore/mcore.opt:35
++msgid "Force functions to be aligned to a 4 byte boundary"
++msgstr "Forcer les fonctions à être alignés sur des frontières de 4 octets"
++
++#: config/mcore/mcore.opt:39
++msgid "Set maximum alignment to 8"
++msgstr "Initialiser l'alignement maximal à 8"
++
++#: config/mcore/mcore.opt:43 config/score/score.opt:23
+ #, fuzzy
+-msgid "Trace the parsing process"
+-msgstr "(débug) tracer le traitement de l'analyse"
++msgid "Generate big-endian code"
++msgstr "Générer du code de système à octets de poids fort"
+
++#: config/mcore/mcore.opt:47
++msgid "Emit call graph information"
++msgstr "Produire les informations du graphe d'appel"
++
++#: config/mcore/mcore.opt:51
++#, fuzzy
++msgid "Use the divide instruction"
++msgstr "Ne pas utiliser l'instruction de division"
++
++#: config/mcore/mcore.opt:55
++msgid "Inline constants if it can be done in 2 insns or less"
++msgstr "Constante enligne si elle peut être dans 2 insn ou moins"
++
++#: config/mcore/mcore.opt:59 config/score/score.opt:27
++#, fuzzy
++msgid "Generate little-endian code"
++msgstr "Générer du code de système à octets de poids faible"
++
++#: config/mcore/mcore.opt:67
++#, fuzzy
++msgid "Use arbitrary sized immediates in bit operations"
++msgstr "Ne pas calculer la taille des immédiats dans les opérations sur les bits"
++
++#: config/mcore/mcore.opt:71
++msgid "Prefer word accesses over byte accesses"
++msgstr "Préférer l'accès à des mots plutôt qu'un accès à des octets"
++
++#: config/mcore/mcore.opt:75
++#, fuzzy
++msgid "Set the maximum amount for a single stack increment operation"
++msgstr "Montant maximal pour une opération d'incrémentation simple de la pile"
++
++#: config/mcore/mcore.opt:79
++#, fuzzy
++msgid "Always treat bitfields as int-sized"
++msgstr "Toujours traiter les champs de bits comme si la taille entière"
++
+ #: config/alpha/alpha.opt:23 config/i386/i386.opt:155
+ msgid "Do not use hardware fp"
+ msgstr "Ne pas utiliser l'unité FP matérielle"
+@@ -12024,291 +12029,6 @@
+ msgid "Specify bit size of immediate TLS offsets"
+ msgstr "Spécifier la taille de bit des décalages immédiats TLS"
+
+-#: config/frv/frv.opt:23
+-#, fuzzy
+-msgid "Use 4 media accumulators"
+-msgstr "Utiliser les multiplications par accumulations"
+-
+-#: config/frv/frv.opt:27
+-#, fuzzy
+-msgid "Use 8 media accumulators"
+-msgstr "Utiliser les multiplications par accumulations"
+-
+-#: config/frv/frv.opt:31
+-#, fuzzy
+-msgid "Enable label alignment optimizations"
+-msgstr "Activer les optimisations par l'éditeur de liens"
+-
+-#: config/frv/frv.opt:35
+-#, fuzzy
+-msgid "Dynamically allocate cc registers"
+-msgstr "Ne pas allouer de registre BK"
+-
+-#: config/frv/frv.opt:42
+-msgid "Set the cost of branches"
+-msgstr ""
+-
+-#: config/frv/frv.opt:46
+-msgid "Enable conditional execution other than moves/scc"
+-msgstr ""
+-
+-#: config/frv/frv.opt:50
+-#, fuzzy
+-msgid "Change the maximum length of conditionally-executed sequences"
+-msgstr "La longueur maximale des chemins considérés dans cse"
+-
+-#: config/frv/frv.opt:54
+-msgid "Change the number of temporary registers that are available to conditionally-executed sequences"
+-msgstr ""
+-
+-#: config/frv/frv.opt:58
+-#, fuzzy
+-msgid "Enable conditional moves"
+-msgstr "Autoriser l'utilisation des instructions conditionnelles move"
+-
+-#: config/frv/frv.opt:62
+-#, fuzzy
+-msgid "Set the target CPU type"
+-msgstr "Spécifier le nom du processeur cible"
+-
+-#: config/frv/frv.opt:84
+-#, fuzzy
+-msgid "Use fp double instructions"
+-msgstr "Utiliser les instructions AltiVec"
+-
+-#: config/frv/frv.opt:88
+-msgid "Change the ABI to allow double word insns"
+-msgstr ""
+-
+-#: config/frv/frv.opt:92 config/bfin/bfin.opt:73
+-#, fuzzy
+-msgid "Enable Function Descriptor PIC mode"
+-msgstr "Autoriser le profilage de fonction"
+-
+-#: config/frv/frv.opt:96
+-msgid "Just use icc0/fcc0"
+-msgstr ""
+-
+-#: config/frv/frv.opt:100
+-msgid "Only use 32 FPRs"
+-msgstr ""
+-
+-#: config/frv/frv.opt:104
+-msgid "Use 64 FPRs"
+-msgstr ""
+-
+-#: config/frv/frv.opt:108
+-msgid "Only use 32 GPRs"
+-msgstr ""
+-
+-#: config/frv/frv.opt:112
+-msgid "Use 64 GPRs"
+-msgstr ""
+-
+-#: config/frv/frv.opt:116
+-msgid "Enable use of GPREL for read-only data in FDPIC"
+-msgstr ""
+-
+-#: config/frv/frv.opt:120 config/rs6000/rs6000.opt:112
+-#: config/pdp11/pdp11.opt:71
+-msgid "Use hardware floating point"
+-msgstr "Utiliser l'unité matérielle en virgule flottante"
+-
+-#: config/frv/frv.opt:124 config/bfin/bfin.opt:77
+-#, fuzzy
+-msgid "Enable inlining of PLT in function calls"
+-msgstr "Autoriser l'utilisation de l'instruction RTPS"
+-
+-#: config/frv/frv.opt:128
+-#, fuzzy
+-msgid "Enable PIC support for building libraries"
+-msgstr "Autoriser le support des grands objets"
+-
+-#: config/frv/frv.opt:132
+-msgid "Follow the EABI linkage requirements"
+-msgstr ""
+-
+-#: config/frv/frv.opt:136
+-#, fuzzy
+-msgid "Disallow direct calls to global functions"
+-msgstr "Omettre le branchement direct aux fonctions locales"
+-
+-#: config/frv/frv.opt:140
+-#, fuzzy
+-msgid "Use media instructions"
+-msgstr "Utiliser les instructions de champs de bits"
+-
+-#: config/frv/frv.opt:144
+-#, fuzzy
+-msgid "Use multiply add/subtract instructions"
+-msgstr "Utiliser les instructions FP de multiplications avec accumulations"
+-
+-#: config/frv/frv.opt:148
+-#, fuzzy
+-msgid "Enable optimizing &&/|| in conditional execution"
+-msgstr "mode non booléen dans l'expression conditionnelle"
+-
+-#: config/frv/frv.opt:152
+-#, fuzzy
+-msgid "Enable nested conditional execution optimizations"
+-msgstr "Autoriser l'utilisation des instructions conditionnelles move"
+-
+-#: config/frv/frv.opt:157
+-msgid "Do not mark ABI switches in e_flags"
+-msgstr ""
+-
+-#: config/frv/frv.opt:161
+-msgid "Remove redundant membars"
+-msgstr ""
+-
+-#: config/frv/frv.opt:165
+-#, fuzzy
+-msgid "Pack VLIW instructions"
+-msgstr "Utiliser les instructions AltiVec"
+-
+-#: config/frv/frv.opt:169
+-msgid "Enable setting GPRs to the result of comparisons"
+-msgstr ""
+-
+-#: config/frv/frv.opt:173
+-msgid "Change the amount of scheduler lookahead"
+-msgstr ""
+-
+-#: config/frv/frv.opt:177 config/pa/pa.opt:104
+-msgid "Use software floating point"
+-msgstr "Utiliser le traitement par logiciel des nombres flottants"
+-
+-#: config/frv/frv.opt:181
+-msgid "Assume a large TLS segment"
+-msgstr ""
+-
+-#: config/frv/frv.opt:185
+-#, fuzzy
+-msgid "Do not assume a large TLS segment"
+-msgstr "Ne pas présumer la présence de GAS"
+-
+-#: config/frv/frv.opt:190
+-msgid "Cause gas to print tomcat statistics"
+-msgstr ""
+-
+-#: config/frv/frv.opt:195
+-msgid "Link with the library-pic libraries"
+-msgstr ""
+-
+-#: config/frv/frv.opt:199
+-msgid "Allow branches to be packed with other instructions"
+-msgstr ""
+-
+-#: config/mn10300/mn10300.opt:23
+-msgid "Target the AM33 processor"
+-msgstr "Cible le processeur AM33"
+-
+-#: config/mn10300/mn10300.opt:27
+-msgid "Target the AM33/2.0 processor"
+-msgstr "Cibler le processeur AM33/2.0"
+-
+-#: config/mn10300/mn10300.opt:31
+-msgid "Work around hardware multiply bug"
+-msgstr "Contourner le bug matériel de la multiplication"
+-
+-#: config/mn10300/mn10300.opt:36
+-msgid "Enable linker relaxations"
+-msgstr "Autoriser la relâche de l'éditeur de liens"
+-
+-#: config/mn10300/mn10300.opt:40
+-msgid "Return pointers in both a0 and d0"
+-msgstr ""
+-
+-#: config/s390/tpf.opt:23
+-msgid "Enable TPF-OS tracing code"
+-msgstr ""
+-
+-#: config/s390/tpf.opt:27
+-#, fuzzy
+-msgid "Specify main object for TPF-OS"
+-msgstr "Spécifier le nombre maximum d'itérations pour RPTS"
+-
+-#: config/s390/s390.opt:23
+-msgid "31 bit ABI"
+-msgstr "ABI de 64 bits"
+-
+-#: config/s390/s390.opt:27
+-msgid "64 bit ABI"
+-msgstr "ABI de 64 bits"
+-
+-#: config/s390/s390.opt:31 config/i386/i386.opt:59 config/spu/spu.opt:60
+-msgid "Generate code for given CPU"
+-msgstr "Générer le code pour le processeur donné"
+-
+-#: config/s390/s390.opt:35
+-msgid "Maintain backchain pointer"
+-msgstr ""
+-
+-#: config/s390/s390.opt:39
+-msgid "Additional debug prints"
+-msgstr "Imprimer des informations additionnelles en mode débug"
+-
+-#: config/s390/s390.opt:43
+-msgid "ESA/390 architecture"
+-msgstr "architecture ESA/390"
+-
+-#: config/s390/s390.opt:47
+-#, fuzzy
+-msgid "Enable fused multiply/add instructions"
+-msgstr "autoriser les instructions fusionnés de multiplication/addition"
+-
+-#: config/s390/s390.opt:51
+-#, fuzzy
+-msgid "Enable decimal floating point hardware support"
+-msgstr "virgule flottante en quadruple précision non supporté"
+-
+-#: config/s390/s390.opt:55
+-#, fuzzy
+-msgid "Enable hardware floating point"
+-msgstr "Utiliser l'unité matérielle en virgule flottante"
+-
+-#: config/s390/s390.opt:67
+-msgid "Use packed stack layout"
+-msgstr ""
+-
+-#: config/s390/s390.opt:71
+-msgid "Use bras for executable < 64k"
+-msgstr "Utiliser « bras » pour les exécutables < 64k"
+-
+-#: config/s390/s390.opt:75
+-#, fuzzy
+-msgid "Disable hardware floating point"
+-msgstr "Utiliser l'unité matérielle en virgule flottante"
+-
+-#: config/s390/s390.opt:79
+-msgid "Set the max. number of bytes which has to be left to stack size before a trap instruction is triggered"
+-msgstr ""
+-
+-#: config/s390/s390.opt:83
+-msgid "Emit extra code in the function prologue in order to trap if the stack size exceeds the given limit"
+-msgstr ""
+-
+-#: config/s390/s390.opt:87 config/ia64/ia64.opt:97 config/sparc/sparc.opt:95
+-#: config/i386/i386.opt:183 config/rs6000/rs6000.opt:226 config/spu/spu.opt:64
+-msgid "Schedule code for given CPU"
+-msgstr "Ordonnancer le code pour le processeur donné"
+-
+-#: config/s390/s390.opt:91
+-msgid "mvcle use"
+-msgstr "mvcle utilisé"
+-
+-#: config/s390/s390.opt:95
+-msgid "Warn if a function uses alloca or creates an array with dynamic size"
+-msgstr ""
+-
+-#: config/s390/s390.opt:99
+-msgid "Warn if a single function's framesize exceeds the given framesize"
+-msgstr ""
+-
+-#: config/s390/s390.opt:103
+-msgid "z/Architecture"
+-msgstr "z/Architecture"
+-
+ #: config/ia64/ilp32.opt:3
+ #, fuzzy
+ msgid "Generate ILP32 code"
+@@ -12401,10 +12121,16 @@
+ msgid "Enable earlier placing stop bits for better scheduling"
+ msgstr "Autoriser l'insertion antérieure de stop bits pour un meilleur ordonnancement"
+
+-#: config/ia64/ia64.opt:89 config/spu/spu.opt:56 config/pa/pa.opt:51
++#: config/ia64/ia64.opt:89 config/pa/pa.opt:51 config/spu/spu.opt:56
+ msgid "Specify range of registers to make fixed"
+ msgstr "spécifier l'étendue des registres pour la rendre fixe"
+
++#: config/ia64/ia64.opt:97 config/i386/i386.opt:183
++#: config/rs6000/rs6000.opt:226 config/spu/spu.opt:64 config/s390/s390.opt:87
++#: config/sparc/sparc.opt:95
++msgid "Schedule code for given CPU"
++msgstr "Ordonnancer le code pour le processeur donné"
++
+ #: config/ia64/ia64.opt:101
+ #, fuzzy
+ msgid "Use data speculation before reload"
+@@ -12455,359 +12181,316 @@
+ msgid "Count speculative dependencies while calculating priority of instructions"
+ msgstr ""
+
+-#: config/m32c/m32c.opt:24 config/bfin/bfin.opt:23 config/mt/mt.opt:27
+-msgid "Use simulator runtime"
+-msgstr ""
++#: config/xtensa/xtensa.opt:23
++msgid "Use CONST16 instruction to load constants"
++msgstr "Utiliser les instructions CONST16 pour charger les constantes"
+
+-#: config/m32c/m32c.opt:28
+-#, fuzzy
+-msgid "Compile code for R8C variants"
+-msgstr "Compiler pour des pointeurs de 64 bits"
++#: config/xtensa/xtensa.opt:27
++msgid "Enable fused multiply/add and multiply/subtract FP instructions"
++msgstr "Permettre les instructions fusionnés FP de multiplication/addition et de multiplication/soustraction"
+
+-#: config/m32c/m32c.opt:32
+-#, fuzzy
+-msgid "Compile code for M16C variants"
+-msgstr "Compiler pour des pointeurs de 64 bits"
++#: config/xtensa/xtensa.opt:31
++msgid "Use indirect CALLXn instructions for large programs"
++msgstr "Utiliser les instructions indirectes CALLXn pour les grands programmes"
+
+-#: config/m32c/m32c.opt:36
+-#, fuzzy
+-msgid "Compile code for M32CM variants"
+-msgstr "Compiler pour des pointeurs de 32 bits"
++#: config/xtensa/xtensa.opt:35
++msgid "Automatically align branch targets to reduce branch penalties"
++msgstr "Aligner automatiquement les branchements cibles pour réduire les pénalités de branchement"
+
+-#: config/m32c/m32c.opt:40
+-#, fuzzy
+-msgid "Compile code for M32C variants"
+-msgstr "Compiler pour des pointeurs de 32 bits"
++#: config/xtensa/xtensa.opt:39
++msgid "Intersperse literal pools with code in the text section"
++msgstr "Entrecouper les lots de litéraux avec le code dans la section texte"
+
+-#: config/m32c/m32c.opt:44
+-msgid "Number of memreg bytes (default: 16, range: 0..16)"
+-msgstr ""
++#: config/pa/pa.opt:23 config/pa/pa.opt:76 config/pa/pa.opt:84
++msgid "Generate PA1.0 code"
++msgstr "Générer du code PA1.0"
+
+-#: config/sparc/little-endian.opt:23
+-#, fuzzy
+-msgid "Generate code for little-endian"
+-msgstr "Générer du code pour un système à octets de poids faible"
++#: config/pa/pa.opt:27 config/pa/pa.opt:88 config/pa/pa.opt:108
++msgid "Generate PA1.1 code"
++msgstr "Générer du code PA1.1"
+
+-#: config/sparc/little-endian.opt:27
+-#, fuzzy
+-msgid "Generate code for big-endian"
+-msgstr "Générer du code pour un système à octets de poids fort"
++#: config/pa/pa.opt:31 config/pa/pa.opt:92
++msgid "Generate PA2.0 code (requires binutils 2.10 or later)"
++msgstr "Générer du code PA2.0 (nécessite binutils 2.10 ou supérieur)"
+
+-#: config/sparc/sparc.opt:23 config/sparc/sparc.opt:27
+-#, fuzzy
+-msgid "Use hardware FP"
+-msgstr "Utiliser le FP matériel"
++#: config/pa/pa.opt:35
++msgid "Generate code for huge switch statements"
++msgstr "Générer du code pour les grandes déclarations de branchements"
+
+-#: config/sparc/sparc.opt:31
+-#, fuzzy
+-msgid "Do not use hardware FP"
+-msgstr "Ne pas utiliser l'unité FP matérielle"
++#: config/pa/pa.opt:39
++msgid "Disable FP regs"
++msgstr "Désactiver les registres FP"
+
+-#: config/sparc/sparc.opt:35
+-msgid "Assume possible double misalignment"
+-msgstr "Présumer un possible mauvais alignement des doubles"
++#: config/pa/pa.opt:43
++msgid "Disable indexed addressing"
++msgstr "désactiver l'adressage indexé"
+
+-#: config/sparc/sparc.opt:39
+-msgid "Pass -assert pure-text to linker"
+-msgstr "Passer -assert pure-text à l'éditeur de liens"
++#: config/pa/pa.opt:47
++msgid "Generate fast indirect calls"
++msgstr "Ne pas utiliser les appels rapides indirects"
+
+-#: config/sparc/sparc.opt:43
+-msgid "Use ABI reserved registers"
+-msgstr "Utiliser les registres réservés ABI"
++#: config/pa/pa.opt:55
++msgid "Assume code will be assembled by GAS"
++msgstr "Assumer que le code sera assemblé par GAS"
+
+-#: config/sparc/sparc.opt:47
+-#, fuzzy
+-msgid "Use hardware quad FP instructions"
+-msgstr "Utiliser les instructions matérielles quad FP"
++#: config/pa/pa.opt:59
++msgid "Put jumps in call delay slots"
++msgstr "Mettre des sauts dant les fentes de délais"
+
+-#: config/sparc/sparc.opt:51
+-msgid "Do not use hardware quad fp instructions"
+-msgstr "Ne pas utiliser les instructions matérielles quad FP"
++#: config/pa/pa.opt:64
++msgid "Enable linker optimizations"
++msgstr "Activer les optimisations par l'éditeur de liens"
+
+-#: config/sparc/sparc.opt:55
+-#, fuzzy
+-msgid "Compile for V8+ ABI"
+-msgstr "Compiler pour ABI v8plus"
++#: config/pa/pa.opt:68
++msgid "Always generate long calls"
++msgstr "Générer toujours des appels longs"
+
+-#: config/sparc/sparc.opt:59
+-#, fuzzy
+-msgid "Use UltraSPARC Visual Instruction Set extensions"
+-msgstr "Utiliser le jeu d'instructions Visual"
++#: config/pa/pa.opt:72
++msgid "Emit long load/store sequences"
++msgstr "Générer des instructions multiples pour chargement/stockage"
+
+-#: config/sparc/sparc.opt:63
+-msgid "Pointers are 64-bit"
+-msgstr "Pointeurs sont de 64 bits"
++#: config/pa/pa.opt:80
++msgid "Disable space regs"
++msgstr "Désactiver l'espace registre"
+
+-#: config/sparc/sparc.opt:67
+-msgid "Pointers are 32-bit"
+-msgstr "Pointeurs sont de 32 bits"
++#: config/pa/pa.opt:96
++msgid "Use portable calling conventions"
++msgstr "Utiliser les conventions d'appels portables"
+
+-#: config/sparc/sparc.opt:71
+-msgid "Use 64-bit ABI"
+-msgstr "Utiliser ABI de 64 bits"
++#: config/pa/pa.opt:100
++#, fuzzy
++msgid "Specify CPU for scheduling purposes. Valid arguments are 700, 7100, 7100LC, 7200, 7300, and 8000"
++msgstr ""
++"Option inconnue -mschedule= (%s)\n"
++"Les options valides sont 700, 7100, 7100LC, 7200, 7300 et 8000\n"
+
+-#: config/sparc/sparc.opt:75
+-msgid "Use 32-bit ABI"
+-msgstr "Utiliser ABI de 32 bits"
++#: config/pa/pa.opt:104 config/frv/frv.opt:177
++msgid "Use software floating point"
++msgstr "Utiliser le traitement par logiciel des nombres flottants"
+
+-#: config/sparc/sparc.opt:79
+-msgid "Use stack bias"
+-msgstr "Utiliser le biais de la pile"
++#: config/pa/pa.opt:112
++msgid "Do not disable space regs"
++msgstr "Ne pas désactiver l'espace registre"
+
+-#: config/sparc/sparc.opt:83
+-msgid "Use structs on stronger alignment for double-word copies"
+-msgstr "Utiliser des structs avec alignement plus fort pour les copies de mots-doubles"
++#: config/pa/pa-hpux1111.opt:23 config/pa/pa-hpux1010.opt:23
++#: config/pa/pa-hpux.opt:27
++msgid "Specify UNIX standard for predefines and linking"
++msgstr ""
+
+-#: config/sparc/sparc.opt:87
+-msgid "Optimize tail call instructions in assembler and linker"
+-msgstr "Optimiser sur mesure les instructions d'appel avec l'assembleur et l'éditeur de liens"
++#: config/pa/pa64-hpux.opt:23
++msgid "Assume code will be linked by GNU ld"
++msgstr "Assumer que le code sera lié par GNU ld"
+
+-#: config/sparc/sparc.opt:91 config/rs6000/rs6000.opt:222
+-msgid "Use features of and schedule code for given CPU"
+-msgstr "Utiliser les options et ordonnancer le code pour le processeur donné"
++#: config/pa/pa64-hpux.opt:27
++msgid "Assume code will be linked by HP ld"
++msgstr "Assumer que le code sera lié par HP ld"
+
+-#: config/sparc/sparc.opt:99
+-#, fuzzy
+-msgid "Use given SPARC-V9 code model"
+-msgstr "Utiliser le modèle donné de code pour le SPARC"
++#: config/pa/pa-hpux.opt:23
++msgid "Generate cpp defines for server IO"
++msgstr "Générer les defines pour les IO d'un serveur"
+
+-#: config/sparc/sparc.opt:103
+-msgid "Enable strict 32-bit psABI struct return checking."
+-msgstr ""
++#: config/pa/pa-hpux.opt:31
++msgid "Generate cpp defines for workstation IO"
++msgstr "Générer les defines pour les IO d'une station de travail"
+
+-#: config/m32r/m32r.opt:23
++#: config/frv/frv.opt:23
+ #, fuzzy
+-msgid "Compile for the m32rx"
+-msgstr "Compiler pour un 68HC12"
++msgid "Use 4 media accumulators"
++msgstr "Utiliser les multiplications par accumulations"
+
+-#: config/m32r/m32r.opt:27
++#: config/frv/frv.opt:27
+ #, fuzzy
+-msgid "Compile for the m32r2"
+-msgstr "Compiler pour un 68HC12"
++msgid "Use 8 media accumulators"
++msgstr "Utiliser les multiplications par accumulations"
+
+-#: config/m32r/m32r.opt:31
++#: config/frv/frv.opt:31
+ #, fuzzy
+-msgid "Compile for the m32r"
+-msgstr "Compiler pour un 68HC12"
++msgid "Enable label alignment optimizations"
++msgstr "Activer les optimisations par l'éditeur de liens"
+
+-#: config/m32r/m32r.opt:35
+-msgid "Align all loops to 32 byte boundary"
+-msgstr "Aligner toutes les boucles sur des frontières de 32 octets"
++#: config/frv/frv.opt:35
++#, fuzzy
++msgid "Dynamically allocate cc registers"
++msgstr "Ne pas allouer de registre BK"
+
+-#: config/m32r/m32r.opt:39
+-msgid "Prefer branches over conditional execution"
+-msgstr "Privilégier les branchements au lieu d'une exécution conditionnelle"
++#: config/frv/frv.opt:42
++msgid "Set the cost of branches"
++msgstr ""
+
+-#: config/m32r/m32r.opt:43
+-msgid "Give branches their default cost"
++#: config/frv/frv.opt:46
++msgid "Enable conditional execution other than moves/scc"
+ msgstr ""
+
+-#: config/m32r/m32r.opt:47
+-msgid "Display compile time statistics"
+-msgstr "Afficher les statistiques de temps de compilation"
++#: config/frv/frv.opt:50
++#, fuzzy
++msgid "Change the maximum length of conditionally-executed sequences"
++msgstr "La longueur maximale des chemins considérés dans cse"
+
+-#: config/m32r/m32r.opt:51
+-msgid "Specify cache flush function"
+-msgstr "Spécifier la fonction de vidange de la cache"
++#: config/frv/frv.opt:54
++msgid "Change the number of temporary registers that are available to conditionally-executed sequences"
++msgstr ""
+
+-#: config/m32r/m32r.opt:55
+-msgid "Specify cache flush trap number"
+-msgstr "Spécifier la fonction de déroutement de vidange de la cache"
++#: config/frv/frv.opt:58
++#, fuzzy
++msgid "Enable conditional moves"
++msgstr "Autoriser l'utilisation des instructions conditionnelles move"
+
+-#: config/m32r/m32r.opt:59
+-msgid "Only issue one instruction per cycle"
+-msgstr "Émettre seulement une instruction par cycle"
++#: config/frv/frv.opt:62
++#, fuzzy
++msgid "Set the target CPU type"
++msgstr "Spécifier le nom du processeur cible"
+
+-#: config/m32r/m32r.opt:63
++#: config/frv/frv.opt:84
+ #, fuzzy
+-msgid "Allow two instructions to be issued per cycle"
+-msgstr "Émettre seulement une instruction par cycle"
++msgid "Use fp double instructions"
++msgstr "Utiliser les instructions AltiVec"
+
+-#: config/m32r/m32r.opt:67
+-msgid "Code size: small, medium or large"
+-msgstr "Taille du code: small, medium ou large"
++#: config/frv/frv.opt:88
++msgid "Change the ABI to allow double word insns"
++msgstr ""
+
+-#: config/m32r/m32r.opt:71
+-msgid "Don't call any cache flush functions"
+-msgstr "Ne pas faire d'appel de fonction de vidange de la cache"
++#: config/frv/frv.opt:92 config/bfin/bfin.opt:73
++#, fuzzy
++msgid "Enable Function Descriptor PIC mode"
++msgstr "Autoriser le profilage de fonction"
+
+-#: config/m32r/m32r.opt:75
+-msgid "Don't call any cache flush trap"
+-msgstr "Ne pas faire d'appel de fonction de déroutement de vidange de la cache"
++#: config/frv/frv.opt:96
++msgid "Just use icc0/fcc0"
++msgstr ""
+
+-#: config/m32r/m32r.opt:82
+-msgid "Small data area: none, sdata, use"
+-msgstr "Petite zone de données: none, sdata, use"
++#: config/frv/frv.opt:100
++msgid "Only use 32 FPRs"
++msgstr ""
+
+-#: config/m68k/m68k.opt:23
+-msgid "Generate code for a 520X"
+-msgstr "Générer du code pour un 520X"
++#: config/frv/frv.opt:104
++msgid "Use 64 FPRs"
++msgstr ""
+
+-#: config/m68k/m68k.opt:27
+-msgid "Generate code for a 5206e"
+-msgstr "Générer du code pour un 5206e"
++#: config/frv/frv.opt:108
++msgid "Only use 32 GPRs"
++msgstr ""
+
+-#: config/m68k/m68k.opt:31
+-msgid "Generate code for a 528x"
+-msgstr "Générer du code pour un 528x"
++#: config/frv/frv.opt:112
++msgid "Use 64 GPRs"
++msgstr ""
+
+-#: config/m68k/m68k.opt:35
+-msgid "Generate code for a 5307"
+-msgstr "Générer du code pour un 5307"
++#: config/frv/frv.opt:116
++msgid "Enable use of GPREL for read-only data in FDPIC"
++msgstr ""
+
+-#: config/m68k/m68k.opt:39
+-msgid "Generate code for a 5407"
+-msgstr "Générer du code pour un 5407"
++#: config/frv/frv.opt:120 config/rs6000/rs6000.opt:112
++#: config/pdp11/pdp11.opt:71
++msgid "Use hardware floating point"
++msgstr "Utiliser l'unité matérielle en virgule flottante"
+
+-#: config/m68k/m68k.opt:43 config/m68k/m68k.opt:104
+-msgid "Generate code for a 68000"
+-msgstr "Générer le code pour un 68000"
++#: config/frv/frv.opt:124 config/bfin/bfin.opt:77
++#, fuzzy
++msgid "Enable inlining of PLT in function calls"
++msgstr "Autoriser l'utilisation de l'instruction RTPS"
+
+-#: config/m68k/m68k.opt:47
++#: config/frv/frv.opt:128
+ #, fuzzy
+-msgid "Generate code for a 68010"
+-msgstr "Générer le code pour un 68020"
++msgid "Enable PIC support for building libraries"
++msgstr "Autoriser le support des grands objets"
+
+-#: config/m68k/m68k.opt:51 config/m68k/m68k.opt:108
+-msgid "Generate code for a 68020"
+-msgstr "Générer le code pour un 68020"
++#: config/frv/frv.opt:132
++msgid "Follow the EABI linkage requirements"
++msgstr ""
+
+-#: config/m68k/m68k.opt:55
+-msgid "Generate code for a 68040, without any new instructions"
+-msgstr "Générer du code pour un 68040 sans les nouvelles instructions"
++#: config/frv/frv.opt:136
++#, fuzzy
++msgid "Disallow direct calls to global functions"
++msgstr "Omettre le branchement direct aux fonctions locales"
+
+-#: config/m68k/m68k.opt:59
+-msgid "Generate code for a 68060, without any new instructions"
+-msgstr "Générer du code pour un 68060 sans les nouvelles instructions"
+-
+-#: config/m68k/m68k.opt:63
+-msgid "Generate code for a 68030"
+-msgstr "Générer du code pour un 68030"
+-
+-#: config/m68k/m68k.opt:67
+-msgid "Generate code for a 68040"
+-msgstr "Générer du code pour un 68040"
+-
+-#: config/m68k/m68k.opt:71
+-msgid "Generate code for a 68060"
+-msgstr "Générer du code pour un 68060"
+-
+-#: config/m68k/m68k.opt:75
+-msgid "Generate code for a 68302"
+-msgstr "Générer du code pour un 68302"
+-
+-#: config/m68k/m68k.opt:79
+-msgid "Generate code for a 68332"
+-msgstr "Générer du code pour un 68332"
+-
+-#: config/m68k/m68k.opt:84
+-msgid "Generate code for a 68851"
+-msgstr "Générer le code pour un 68851"
+-
+-#: config/m68k/m68k.opt:88
++#: config/frv/frv.opt:140
+ #, fuzzy
+-msgid "Generate code that uses 68881 floating-point instructions"
+-msgstr "Utiliser les instructions matérielles en virgule flottante"
+-
+-#: config/m68k/m68k.opt:92
+-msgid "Align variables on a 32-bit boundary"
+-msgstr "Aligner les variables sur des frontières de 32 bits"
+-
+-#: config/m68k/m68k.opt:96 config/arm/arm.opt:49 config/score/score.opt:63
+-msgid "Specify the name of the target architecture"
+-msgstr "Spécifier le nom de l'architecture cible"
+-
+-#: config/m68k/m68k.opt:100
+-msgid "Use the bit-field instructions"
++msgid "Use media instructions"
+ msgstr "Utiliser les instructions de champs de bits"
+
+-#: config/m68k/m68k.opt:112
++#: config/frv/frv.opt:144
+ #, fuzzy
+-msgid "Generate code for a ColdFire v4e"
+-msgstr "Générer du code pour M*Core M340"
++msgid "Use multiply add/subtract instructions"
++msgstr "Utiliser les instructions FP de multiplications avec accumulations"
+
+-#: config/m68k/m68k.opt:116
++#: config/frv/frv.opt:148
+ #, fuzzy
+-msgid "Specify the target CPU"
+-msgstr "Spécifier le nom du processeur cible"
++msgid "Enable optimizing &&/|| in conditional execution"
++msgstr "mode non booléen dans l'expression conditionnelle"
+
+-#: config/m68k/m68k.opt:120
+-msgid "Generate code for a cpu32"
+-msgstr "Générer du code pour un cpu32"
+-
+-#: config/m68k/m68k.opt:124
++#: config/frv/frv.opt:152
+ #, fuzzy
+-msgid "Use hardware division instructions on ColdFire"
+-msgstr "Utiliser les instructions matérielles quad FP"
++msgid "Enable nested conditional execution optimizations"
++msgstr "Autoriser l'utilisation des instructions conditionnelles move"
+
+-#: config/m68k/m68k.opt:128
+-#, fuzzy
+-msgid "Generate code for a Fido A"
+-msgstr "Générer le code pour un Sun FPA"
++#: config/frv/frv.opt:157
++msgid "Do not mark ABI switches in e_flags"
++msgstr ""
+
+-#: config/m68k/m68k.opt:132
++#: config/frv/frv.opt:161
++msgid "Remove redundant membars"
++msgstr ""
++
++#: config/frv/frv.opt:165
+ #, fuzzy
+-msgid "Generate code which uses hardware floating point instructions"
+-msgstr "Utiliser les instructions matérielles en virgule flottante"
++msgid "Pack VLIW instructions"
++msgstr "Utiliser les instructions AltiVec"
+
+-#: config/m68k/m68k.opt:136
+-msgid "Enable ID based shared library"
+-msgstr "Autoriser les identificateurs de librairies partagées de base"
++#: config/frv/frv.opt:169
++msgid "Enable setting GPRs to the result of comparisons"
++msgstr ""
+
+-#: config/m68k/m68k.opt:140
+-msgid "Do not use the bit-field instructions"
+-msgstr "Ne pas utiliser les instructions de champs de bits"
++#: config/frv/frv.opt:173
++msgid "Change the amount of scheduler lookahead"
++msgstr ""
+
+-#: config/m68k/m68k.opt:144
+-msgid "Use normal calling convention"
+-msgstr "Utiliser la convention normale d'appels"
++#: config/frv/frv.opt:181
++msgid "Assume a large TLS segment"
++msgstr ""
+
+-#: config/m68k/m68k.opt:148
++#: config/frv/frv.opt:185
+ #, fuzzy
+-msgid "Consider type 'int' to be 32 bits wide"
+-msgstr "Considérer le type « int » comme ayant une largeur de 32 bits"
++msgid "Do not assume a large TLS segment"
++msgstr "Ne pas présumer la présence de GAS"
+
+-#: config/m68k/m68k.opt:152
+-msgid "Generate pc-relative code"
+-msgstr "Générer du code relatif au compteur de programme (PC)"
++#: config/frv/frv.opt:190
++msgid "Cause gas to print tomcat statistics"
++msgstr ""
+
+-#: config/m68k/m68k.opt:156
+-msgid "Use different calling convention using 'rtd'"
+-msgstr "Utiliser une convention différente d'appel en utilisant « rtd »"
++#: config/frv/frv.opt:195
++msgid "Link with the library-pic libraries"
++msgstr ""
+
+-#: config/m68k/m68k.opt:160 config/bfin/bfin.opt:61
+-msgid "Enable separate data segment"
+-msgstr "Autoriser des segments de données séparés"
++#: config/frv/frv.opt:199
++msgid "Allow branches to be packed with other instructions"
++msgstr ""
+
+-#: config/m68k/m68k.opt:164 config/bfin/bfin.opt:57
+-msgid "ID of shared library to build"
+-msgstr "Identification de librairie partagé à construire"
++#: config/i386/cygming.opt:23
++msgid "Create console application"
++msgstr "Créer une application de type console"
+
+-#: config/m68k/m68k.opt:168
+-#, fuzzy
+-msgid "Consider type 'int' to be 16 bits wide"
+-msgstr "Considérer le type « int » comme ayant une largeur de 16 bits"
++#: config/i386/cygming.opt:27
++msgid "Use the Cygwin interface"
++msgstr "Utiliser l'interface Cygwin"
+
+-#: config/m68k/m68k.opt:172
+-msgid "Generate code with library calls for floating point"
+-msgstr "Générer du code avec les appels de bibliothèques pour la virgule flottante"
++#: config/i386/cygming.opt:31
++msgid "Generate code for a DLL"
++msgstr "Générer le code pour un DLL"
+
+-#: config/m68k/m68k.opt:176
+-msgid "Do not use unaligned memory references"
+-msgstr "Ne pas utiliser des références mémoire non alignées"
++#: config/i386/cygming.opt:35
++msgid "Ignore dllimport for functions"
++msgstr "Ignorer dllimport pour fonctions"
+
+-#: config/m68k/m68k.opt:180
+-#, fuzzy
+-msgid "Tune for the specified target CPU or architecture"
+-msgstr "Spécifier le nom de l'architecture cible"
++#: config/i386/cygming.opt:39
++msgid "Use Mingw-specific thread support"
++msgstr "Utilise le support de thread spécifique à Mingw"
+
+-#: config/m68k/ieee.opt:24 config/i386/i386.opt:95
+-msgid "Use IEEE math for fp comparisons"
+-msgstr "Utiliser les mathématiques IEEE pour les comparaisons FP"
++#: config/i386/cygming.opt:43
++msgid "Set Windows defines"
++msgstr "Initialiser les définitions Windows"
+
+-#: config/i386/djgpp.opt:25
+-msgid "Ignored (obsolete)"
+-msgstr ""
++#: config/i386/cygming.opt:47
++msgid "Create GUI application"
++msgstr "Créer une application de type GUI"
+
+ #: config/i386/i386.opt:23
+ msgid "sizeof(long double) is 16"
+@@ -12845,6 +12528,10 @@
+ msgid "Align destination of the string operations"
+ msgstr "Aligner la destination des opérations sur les chaînes"
+
++#: config/i386/i386.opt:59 config/spu/spu.opt:60 config/s390/s390.opt:31
++msgid "Generate code for given CPU"
++msgstr "Générer le code pour le processeur donné"
++
+ #: config/i386/i386.opt:63
+ msgid "Use given assembler dialect"
+ msgstr "Utiliser la syntaxe de l'assembleur donné"
+@@ -12873,6 +12560,10 @@
+ msgid "Generate floating point mathematics using given instruction set"
+ msgstr "Générer les mathématiques en virgule flottante avec le jeu d'instructions données"
+
++#: config/i386/i386.opt:95 config/m68k/ieee.opt:24
++msgid "Use IEEE math for fp comparisons"
++msgstr "Utiliser les mathématiques IEEE pour les comparaisons FP"
++
+ #: config/i386/i386.opt:99
+ msgid "Inline all known string operations"
+ msgstr "Permettre l'enlignage dans toutes les opérations portant sur les chaînes"
+@@ -13034,58 +12725,410 @@
+ msgid "Enable automatic generation of fused floating point multiply-add instructions"
+ msgstr "Ne pas générer des instructions fusionnés de multiplication/addition"
+
+-#: config/i386/cygming.opt:23
+-msgid "Create console application"
+-msgstr "Créer une application de type console"
++#: config/i386/sco5.opt:24
++msgid "Generate ELF output"
++msgstr "Générer la sortie ELF"
+
+-#: config/i386/cygming.opt:27
+-msgid "Use the Cygwin interface"
+-msgstr "Utiliser l'interface Cygwin"
++#: config/i386/djgpp.opt:25
++msgid "Ignored (obsolete)"
++msgstr ""
+
+-#: config/i386/cygming.opt:31
+-msgid "Generate code for a DLL"
+-msgstr "Générer le code pour un DLL"
++#: config/iq2000/iq2000.opt:23 config/mt/mt.opt:55
++msgid "Specify CPU for code generation purposes"
++msgstr "Spécifier le processeur pour les besoins de la génération de code"
+
+-#: config/i386/cygming.opt:35
+-msgid "Ignore dllimport for functions"
+-msgstr "Ignorer dllimport pour fonctions"
++#: config/iq2000/iq2000.opt:27
++msgid "Specify CPU for scheduling purposes"
++msgstr "Spécifier le processeur pour les besoins de l'ordonnancement"
+
+-#: config/i386/cygming.opt:39
+-msgid "Use Mingw-specific thread support"
+-msgstr "Utilise le support de thread spécifique à Mingw"
++#: config/iq2000/iq2000.opt:31 config/mips/mips.opt:97
++msgid "Use ROM instead of RAM"
++msgstr "Utiliser le ROM au lieu de la RAM"
+
+-#: config/i386/cygming.opt:43
+-msgid "Set Windows defines"
+-msgstr "Initialiser les définitions Windows"
++#: config/iq2000/iq2000.opt:35
++msgid "Use GP relative sdata/sbss sections"
++msgstr "Utiliser GP en mode relatif aux sections sdata/sbss"
+
+-#: config/i386/cygming.opt:47
+-msgid "Create GUI application"
+-msgstr "Créer une application de type GUI"
++#: config/iq2000/iq2000.opt:40
++msgid "No default crt0.o"
++msgstr "Aucun défaut pour crt0.o"
+
+-#: config/i386/sco5.opt:24
+-msgid "Generate ELF output"
+-msgstr "Générer la sortie ELF"
++#: config/iq2000/iq2000.opt:44 config/mips/mips.opt:265
++msgid "Put uninitialized constants in ROM (needs -membedded-data)"
++msgstr "Placer les constantes non itialisées dans le ROM (a besoin de -membedded-data)"
+
+-#: config/rs6000/aix41.opt:24 config/rs6000/aix64.opt:32
+-msgid "Support message passing with the Parallel Environment"
+-msgstr "Supporter le passage de messages dans un environnement parallèle"
++#: config/arm/arm.opt:23
++msgid "Specify an ABI"
++msgstr "Spécifier une ABI"
+
+-#: config/rs6000/aix.opt:24 config/rs6000/rs6000.opt:147
+-msgid "Conform more closely to IBM XLC semantics"
++#: config/arm/arm.opt:27
++msgid "Generate a call to abort if a noreturn function returns"
++msgstr "Générer un appel pour stopper si une fonction sans retour retourne un résultat"
++
++#: config/arm/arm.opt:34
++msgid "Pass FP arguments in FP registers"
++msgstr "Passer les arguments FP par les registres FP"
++
++#: config/arm/arm.opt:38
++msgid "Generate APCS conformant stack frames"
++msgstr "Générer des trames de pile conformes à APCS"
++
++#: config/arm/arm.opt:42
++msgid "Generate re-entrant, PIC code"
++msgstr "Générer du code PIC ré-entrant"
++
++#: config/arm/arm.opt:49 config/m68k/m68k.opt:96 config/score/score.opt:63
++msgid "Specify the name of the target architecture"
++msgstr "Spécifier le nom de l'architecture cible"
++
++#: config/arm/arm.opt:56
++msgid "Assume target CPU is configured as big endian"
++msgstr "Présumer que le processeur cible est un système à octets de poids fort"
++
++#: config/arm/arm.opt:60
++msgid "Thumb: Assume non-static functions may be called from ARM code"
++msgstr "Thumb : Présumer que les fonctions non statiques peuvent être appelées du code ARM"
++
++#: config/arm/arm.opt:64
++msgid "Thumb: Assume function pointers may go to non-Thumb aware code"
++msgstr "Thumb : Présumer que les pointeurs de fonction peuvent tomber dans le code en dehors non sensible au Thumb"
++
++#: config/arm/arm.opt:68
++msgid "Cirrus: Place NOPs to avoid invalid instruction combinations"
++msgstr "Cirrus: insérer des NOP pour éviter un combinaison d'instructions invalides"
++
++#: config/arm/arm.opt:72 config/bfin/bfin.opt:27
++msgid "Specify the name of the target CPU"
++msgstr "Spécifier le nom du processeur cible"
++
++#: config/arm/arm.opt:76
++#, fuzzy
++msgid "Specify if floating point hardware should be used"
++msgstr "Spécifier yes (pour oui) /no (pour non) si les nombres en virgule flottante sont utilisés dans le GPR"
++
++#: config/arm/arm.opt:90
++#, fuzzy
++msgid "Specify the name of the target floating point hardware/format"
++msgstr "Spécifier la version de l'émulateur en virgule flottante"
++
++#: config/arm/arm.opt:94
++msgid "Alias for -mfloat-abi=hard"
+ msgstr ""
+
+-#: config/rs6000/darwin.opt:24 config/rs6000/sysv4.opt:132
++#: config/arm/arm.opt:98
++msgid "Assume target CPU is configured as little endian"
++msgstr "Présumer que le processeur cible est un système à octets de poids faible"
++
++#: config/arm/arm.opt:102
++msgid "Generate call insns as indirect calls, if necessary"
++msgstr "Générer l'appel insn comme un appel indirect, si nécessaire"
++
++#: config/arm/arm.opt:106
++msgid "Specify the register to be used for PIC addressing"
++msgstr "Spécifier le registre à utiliser pour l'adressage PIC"
++
++#: config/arm/arm.opt:110
++msgid "Store function names in object code"
++msgstr "Sotcker les noms de fonctions dans le code objet"
++
++#: config/arm/arm.opt:114
++#, fuzzy
++msgid "Permit scheduling of a function's prologue sequence"
++msgstr "Utiliser des stubs pour les prologues de fonction"
++
++#: config/arm/arm.opt:118
++msgid "Do not load the PIC register in function prologues"
++msgstr "Ne pas charger le registre PIC dans les prologue de fonction"
++
++#: config/arm/arm.opt:122
++msgid "Alias for -mfloat-abi=soft"
++msgstr ""
++
++#: config/arm/arm.opt:126
++msgid "Specify the minimum bit alignment of structures"
++msgstr "Spécifier le minimum de bits pour l'alignement de structures"
++
++#: config/arm/arm.opt:130
++msgid "Compile for the Thumb not the ARM"
++msgstr "Compiler pour le THUMB et non pas le ARM"
++
++#: config/arm/arm.opt:134
++msgid "Support calls between Thumb and ARM instruction sets"
++msgstr "Supporter les appels des jeux d'instructions THUMB et ARM"
++
++#: config/arm/arm.opt:138
++#, fuzzy
++msgid "Specify how to access the thread pointer"
++msgstr "Spécifier le nom de l'architecture cible"
++
++#: config/arm/arm.opt:142
++msgid "Thumb: Generate (non-leaf) stack frames even if not needed"
++msgstr "Thumb: générer (non feuilles) trames de pile même si non nécessaire"
++
++#: config/arm/arm.opt:146
++msgid "Thumb: Generate (leaf) stack frames even if not needed"
++msgstr "Thumb : Générer (feuilles) trames de pile même si non nécessaire"
++
++#: config/arm/arm.opt:150
++#, fuzzy
++msgid "Tune code for the given processor"
++msgstr "Compiler pour le processeur v850"
++
++#: config/arm/arm.opt:154
++msgid "Assume big endian bytes, little endian words"
++msgstr "Présumer un système à octets de poids fort pour les octets et faible pour les mots"
++
++#: config/arm/arm.opt:158
++msgid "Use Neon quad-word (rather than double-word) registers for vectorization"
++msgstr ""
++
++#: config/arm/pe.opt:23
++msgid "Ignore dllimport attribute for functions"
++msgstr "Ignorer l'attribut dllimport pour les fonctions"
++
++#: config/cris/linux.opt:27
++msgid "Together with -fpic and -fPIC, do not use GOTPLT references"
++msgstr "ensemble avec -fpic et -fPIC, ne pas utiliser les références GOTPLT"
++
++#: config/cris/aout.opt:27
++msgid "Compile for the MMU-less Etrax 100-based elinux system"
++msgstr "Compiler pour le MMU-less Etrax 100-based de système elinux"
++
++#: config/cris/aout.opt:33
++msgid "For elinux, request a specified stack-size for this program"
++msgstr "Pour elinux, faire la requête pour un taille de pile spécifique pour ce programme"
++
++#: config/cris/cris.opt:45
++msgid "Work around bug in multiplication instruction"
++msgstr "Travailler autour de l'anomalie dans l'instructions de multiplication"
++
++#: config/cris/cris.opt:51
++msgid "Compile for ETRAX 4 (CRIS v3)"
++msgstr "Compilé pour ETRAX 4 (CRIS v3)"
++
++#: config/cris/cris.opt:56
++msgid "Compile for ETRAX 100 (CRIS v8)"
++msgstr "Compile pour ETRAX 100 (CRIS v8)"
++
++#: config/cris/cris.opt:64
++msgid "Emit verbose debug information in assembly code"
++msgstr "Produire des informations de mise au point dans le code assemblé"
++
++#: config/cris/cris.opt:71
++msgid "Do not use condition codes from normal instructions"
++msgstr "Ne pas utiliser du code conditionnel pour des instructions normales"
++
++#: config/cris/cris.opt:80
++msgid "Do not emit addressing modes with side-effect assignment"
++msgstr "Ne pas produire de modes d'adressage avec des affectations avec effet de bord"
++
++#: config/cris/cris.opt:89
++msgid "Do not tune stack alignment"
++msgstr "Ne pas ajuster l'alignement de la pile"
++
++#: config/cris/cris.opt:98
++msgid "Do not tune writable data alignment"
++msgstr "Ne pas ajuster l'alignement les sections de données dynamiques"
++
++#: config/cris/cris.opt:107
++msgid "Do not tune code and read-only data alignment"
++msgstr "Ne pas ajuster l'alignement du code et des sections de données statiques"
++
++#: config/cris/cris.opt:116
++msgid "Align code and data to 32 bits"
++msgstr "Aligner le code et les données sur 32 bits"
++
++#: config/cris/cris.opt:133
++msgid "Don't align items in code or data"
++msgstr "Ne pas aligner les items dans le code ou les données"
++
++#: config/cris/cris.opt:142
++msgid "Do not emit function prologue or epilogue"
++msgstr "Ne pas générer de prologue ou d'épilogue de fonction"
++
++#: config/cris/cris.opt:149
++msgid "Use the most feature-enabling options allowed by other options"
++msgstr "Utiliser le plus d'options autorisant autorisant des options permises par les autres options"
++
++#: config/cris/cris.opt:158
++msgid "Override -mbest-lib-options"
++msgstr "Écraser -mbest-lib-options"
++
++#: config/cris/cris.opt:165
++msgid "Generate code for the specified chip or CPU version"
++msgstr "Générer le code pour la version de processeur ou de circuit spécifiée"
++
++#: config/cris/cris.opt:169
++msgid "Tune alignment for the specified chip or CPU version"
++msgstr "Ajuster l'alignement pour la version de processeur ou de circuit spécifiée"
++
++#: config/cris/cris.opt:173
++msgid "Warn when a stackframe is larger than the specified size"
++msgstr "Avertir lorsqu'une trame de pile est plus grande que la taille spécifiée"
++
++#: config/avr/avr.opt:23
++#, fuzzy
++msgid "Use subroutines for function prologues and epilogues"
++msgstr "Utiliser des sous-routines pour le prologue/epilogue de fonction"
++
++#: config/avr/avr.opt:27
++#, fuzzy
++msgid "Select the target MCU"
++msgstr "Spécifier le nom du processeur cible"
++
++#: config/avr/avr.opt:34
++#, fuzzy
++msgid "Use an 8-bit 'int' type"
++msgstr "Utiliser le type int de 64 bits"
++
++#: config/avr/avr.opt:38
++msgid "Change the stack pointer without disabling interrupts"
++msgstr "Changer le pointeur de pile sans désactiver les interruptions"
++
++#: config/avr/avr.opt:42
++msgid "Do not generate tablejump insns"
++msgstr "Ne pas générer les sauts de table insns"
++
++#: config/avr/avr.opt:52
++msgid "Use rjmp/rcall (limited range) on >8K devices"
++msgstr "Utiliser rjpm/rcall (étendue limitée) sur des périphériques >8K"
++
++#: config/avr/avr.opt:56
++msgid "Output instruction sizes to the asm file"
++msgstr "Produire les tailles d'instructions dans le fichier asm"
++
++#: config/avr/avr.opt:60
++msgid "Change only the low 8 bits of the stack pointer"
++msgstr "Changer seulement les 8 bits du bas du pointeur de pile"
++
++#: config/avr/avr.opt:64
++#, fuzzy
++msgid "Relax branches"
++msgstr "Pas de branchement\n"
++
++#: config/avr/avr.opt:68
++msgid "Make the linker relaxation machine assume that a program counter wrap-around occures."
++msgstr ""
++
++#: config/linux.opt:24
++#, fuzzy
++msgid "Use uClibc instead of GNU libc"
++msgstr "Utiliser le ROM au lieu de la RAM"
++
++#: config/linux.opt:28
++#, fuzzy
++msgid "Use GNU libc instead of uClibc"
++msgstr "Utiliser le ROM au lieu de la RAM"
++
++#: config/rs6000/sysv4.opt:24
++msgid "Select ABI calling convention"
++msgstr "Sélectionner la convention d'appel ABI"
++
++#: config/rs6000/sysv4.opt:28
++msgid "Select method for sdata handling"
++msgstr "Sélectionner la méthode de traitement sdata"
++
++#: config/rs6000/sysv4.opt:36 config/rs6000/sysv4.opt:40
++msgid "Align to the base type of the bit-field"
++msgstr "Aligner à la base du type du champ de bits"
++
++#: config/rs6000/sysv4.opt:45 config/rs6000/sysv4.opt:49
++msgid "Produce code relocatable at runtime"
++msgstr "Produire du code relocalisable au moment de l'exécution"
++
++#: config/rs6000/sysv4.opt:53 config/rs6000/sysv4.opt:57
++msgid "Produce little endian code"
++msgstr "Produire du code pour système à octets de poids faible (little endian)"
++
++#: config/rs6000/sysv4.opt:61 config/rs6000/sysv4.opt:65
++msgid "Produce big endian code"
++msgstr "Produire du code pour système à octets de poids fort (big endian)"
++
++#: config/rs6000/sysv4.opt:70 config/rs6000/sysv4.opt:74
++#: config/rs6000/sysv4.opt:83 config/rs6000/sysv4.opt:100
++#: config/rs6000/sysv4.opt:128 config/rs6000/sysv4.opt:140
++msgid "no description yet"
++msgstr "aucune description encore"
++
++#: config/rs6000/sysv4.opt:78
++msgid "Assume all variable arg functions are prototyped"
++msgstr ""
++
++#: config/rs6000/sysv4.opt:87
++msgid "Use EABI"
++msgstr "Utiliser EABI"
++
++#: config/rs6000/sysv4.opt:91
++#, fuzzy
++msgid "Allow bit-fields to cross word boundaries"
++msgstr "Ne pas permettre les champs de bits de traverser des frontières de mots"
++
++#: config/rs6000/sysv4.opt:95
++msgid "Use alternate register names"
++msgstr "Utiliser les noms alternatifs de registres"
++
++#: config/rs6000/sysv4.opt:104
++msgid "Link with libsim.a, libc.a and sim-crt0.o"
++msgstr "Faire l'édition de liens avec libsim.a, libc.a et sim-crt0.o"
++
++#: config/rs6000/sysv4.opt:108
++msgid "Link with libads.a, libc.a and crt0.o"
++msgstr "Faire l'édition de liens avec libads.a, libc.a and crt0.o"
++
++#: config/rs6000/sysv4.opt:112
++msgid "Link with libyk.a, libc.a and crt0.o"
++msgstr "Faire l'édition de liens avec libyk.a, libc.a and crt0.o"
++
++#: config/rs6000/sysv4.opt:116
++msgid "Link with libmvme.a, libc.a and crt0.o"
++msgstr "Faire l'édition de liens avec libmvme.a, libc.a and crt0.o"
++
++#: config/rs6000/sysv4.opt:120
++msgid "Set the PPC_EMB bit in the ELF flags header"
++msgstr "Initialiser le bit PPC_EMB bit dans l'en-tête des fanions ELF"
++
++#: config/rs6000/sysv4.opt:124
++msgid "Use the WindISS simulator"
++msgstr "Utiliser le simulateur WindISS"
++
++#: config/rs6000/sysv4.opt:132 config/rs6000/darwin.opt:24
+ msgid "Generate 64-bit code"
+ msgstr "Générer du code 64 bits"
+
+-#: config/rs6000/darwin.opt:28 config/rs6000/sysv4.opt:136
++#: config/rs6000/sysv4.opt:136 config/rs6000/darwin.opt:28
+ msgid "Generate 32-bit code"
+ msgstr "Générer du code 32 bits"
+
++#: config/rs6000/sysv4.opt:144
++#, fuzzy
++msgid "Generate code to use a non-exec PLT and GOT"
++msgstr "Générer le code pour un Sun Sky board"
++
++#: config/rs6000/sysv4.opt:148
++#, fuzzy
++msgid "Generate code for old exec BSS PLT"
++msgstr "Générer le code pour un Sun FPA"
++
++#: config/rs6000/linux64.opt:24
++msgid "Call mcount for profiling before a function prologue"
++msgstr "Appeller mcount pour le profilage avant le prologue de la fonction"
++
+ #: config/rs6000/darwin.opt:32
+ msgid "Generate code suitable for executables (NOT shared libs)"
+ msgstr "Générer du code adapté pour les exécutables (PAS les librairies partagées)"
+
++#: config/rs6000/aix64.opt:24
++msgid "Compile for 64-bit pointers"
++msgstr "Compiler pour des pointeurs de 64 bits"
++
++#: config/rs6000/aix64.opt:28
++msgid "Compile for 32-bit pointers"
++msgstr "Compiler pour des pointeurs de 32 bits"
++
++#: config/rs6000/aix64.opt:32 config/rs6000/aix41.opt:24
++msgid "Support message passing with the Parallel Environment"
++msgstr "Supporter le passage de messages dans un environnement parallèle"
++
+ #: config/rs6000/rs6000.opt:24
+ msgid "Use POWER instruction set"
+ msgstr "Utiliser le jeu d'instructions du POWER"
+@@ -13211,6 +13254,10 @@
+ msgid "Return small structures in registers (SVR4 default)"
+ msgstr "Retourner les petites structures par les registres (par défaut sur SVR4)"
+
++#: config/rs6000/rs6000.opt:147 config/rs6000/aix.opt:24
++msgid "Conform more closely to IBM XLC semantics"
++msgstr ""
++
+ #: config/rs6000/rs6000.opt:151
+ #, fuzzy
+ msgid "Generate software reciprocal sqrt for better throughput"
+@@ -13280,6 +13327,10 @@
+ msgid "Specify ABI to use"
+ msgstr "Spécifier l'ABI à utiliser"
+
++#: config/rs6000/rs6000.opt:222 config/sparc/sparc.opt:91
++msgid "Use features of and schedule code for given CPU"
++msgstr "Utiliser les options et ordonnancer le code pour le processeur donné"
++
+ #: config/rs6000/rs6000.opt:230
+ msgid "Select full, part, or no traceback table"
+ msgstr "Sélectionner « full », « part » ou « none »"
+@@ -13317,99 +13368,77 @@
+ msgid "Specify scheduling priority for dispatch slot restricted insns"
+ msgstr "Spécifier la priorité d'ordonnancement pour la répartition de fentes insns restreintes"
+
+-#: config/rs6000/aix64.opt:24
+-msgid "Compile for 64-bit pointers"
+-msgstr "Compiler pour des pointeurs de 64 bits"
++#: config/v850/v850.opt:23
++#, fuzzy
++msgid "Use registers r2 and r5"
++msgstr "Ne pas utiliser les registres r2 et r5"
+
+-#: config/rs6000/aix64.opt:28
+-msgid "Compile for 32-bit pointers"
+-msgstr "Compiler pour des pointeurs de 32 bits"
++#: config/v850/v850.opt:27
++msgid "Use 4 byte entries in switch tables"
++msgstr "Utiliser des entrées de 4 octets dans les tables de switch"
+
+-#: config/rs6000/linux64.opt:24
+-msgid "Call mcount for profiling before a function prologue"
+-msgstr "Appeller mcount pour le profilage avant le prologue de la fonction"
++#: config/v850/v850.opt:31
++msgid "Enable backend debugging"
++msgstr "Autoriser la mise au point par la fin"
+
+-#: config/rs6000/sysv4.opt:24
+-msgid "Select ABI calling convention"
+-msgstr "Sélectionner la convention d'appel ABI"
++#: config/v850/v850.opt:35
++msgid "Do not use the callt instruction"
++msgstr "Ne pas utiliser l'instruction callt"
+
+-#: config/rs6000/sysv4.opt:28
+-msgid "Select method for sdata handling"
+-msgstr "Sélectionner la méthode de traitement sdata"
++#: config/v850/v850.opt:39
++msgid "Reuse r30 on a per function basis"
++msgstr "Ré-utiliser R30 sur une base par fonction"
+
+-#: config/rs6000/sysv4.opt:36 config/rs6000/sysv4.opt:40
+-msgid "Align to the base type of the bit-field"
+-msgstr "Aligner à la base du type du champ de bits"
++#: config/v850/v850.opt:43
++msgid "Support Green Hills ABI"
++msgstr "Supporter l'ABI Green Hills"
+
+-#: config/rs6000/sysv4.opt:45 config/rs6000/sysv4.opt:49
+-msgid "Produce code relocatable at runtime"
+-msgstr "Produire du code relocalisable au moment de l'exécution"
++#: config/v850/v850.opt:47
++msgid "Prohibit PC relative function calls"
++msgstr "Interdire les appels relatifs de fonctions par le PC"
+
+-#: config/rs6000/sysv4.opt:53 config/rs6000/sysv4.opt:57
+-msgid "Produce little endian code"
+-msgstr "Produire du code pour système à octets de poids faible (little endian)"
++#: config/v850/v850.opt:51
++msgid "Use stubs for function prologues"
++msgstr "Utiliser des stubs pour les prologues de fonction"
+
+-#: config/rs6000/sysv4.opt:61 config/rs6000/sysv4.opt:65
+-msgid "Produce big endian code"
+-msgstr "Produire du code pour système à octets de poids fort (big endian)"
++#: config/v850/v850.opt:55
++msgid "Set the max size of data eligible for the SDA area"
++msgstr "Initialiser la taille maximale des données éligibles pour la zone SDA"
+
+-#: config/rs6000/sysv4.opt:70 config/rs6000/sysv4.opt:74
+-#: config/rs6000/sysv4.opt:83 config/rs6000/sysv4.opt:100
+-#: config/rs6000/sysv4.opt:128 config/rs6000/sysv4.opt:140
+-msgid "no description yet"
+-msgstr "aucune description encore"
++#: config/v850/v850.opt:59
++msgid "Enable the use of the short load instructions"
++msgstr "Activer l'utilisation d'instructions courtes de chargement"
+
+-#: config/rs6000/sysv4.opt:78
+-msgid "Assume all variable arg functions are prototyped"
+-msgstr ""
++#: config/v850/v850.opt:63
++msgid "Same as: -mep -mprolog-function"
++msgstr "Identique à: -mep -mprolog-function"
+
+-#: config/rs6000/sysv4.opt:87
+-msgid "Use EABI"
+-msgstr "Utiliser EABI"
++#: config/v850/v850.opt:67
++msgid "Set the max size of data eligible for the TDA area"
++msgstr "Initialiser la taille maximale des données éligibles pour la zone TDA"
+
+-#: config/rs6000/sysv4.opt:91
+-#, fuzzy
+-msgid "Allow bit-fields to cross word boundaries"
+-msgstr "Ne pas permettre les champs de bits de traverser des frontières de mots"
++#: config/v850/v850.opt:71
++msgid "Enforce strict alignment"
++msgstr "Forcer l'alignement stricte"
+
+-#: config/rs6000/sysv4.opt:95
+-msgid "Use alternate register names"
+-msgstr "Utiliser les noms alternatifs de registres"
++#: config/v850/v850.opt:78
++msgid "Compile for the v850 processor"
++msgstr "Compiler pour le processeur v850"
+
+-#: config/rs6000/sysv4.opt:104
+-msgid "Link with libsim.a, libc.a and sim-crt0.o"
+-msgstr "Faire l'édition de liens avec libsim.a, libc.a et sim-crt0.o"
+-
+-#: config/rs6000/sysv4.opt:108
+-msgid "Link with libads.a, libc.a and crt0.o"
+-msgstr "Faire l'édition de liens avec libads.a, libc.a and crt0.o"
+-
+-#: config/rs6000/sysv4.opt:112
+-msgid "Link with libyk.a, libc.a and crt0.o"
+-msgstr "Faire l'édition de liens avec libyk.a, libc.a and crt0.o"
+-
+-#: config/rs6000/sysv4.opt:116
+-msgid "Link with libmvme.a, libc.a and crt0.o"
+-msgstr "Faire l'édition de liens avec libmvme.a, libc.a and crt0.o"
+-
+-#: config/rs6000/sysv4.opt:120
+-msgid "Set the PPC_EMB bit in the ELF flags header"
+-msgstr "Initialiser le bit PPC_EMB bit dans l'en-tête des fanions ELF"
+-
+-#: config/rs6000/sysv4.opt:124
+-msgid "Use the WindISS simulator"
+-msgstr "Utiliser le simulateur WindISS"
+-
+-#: config/rs6000/sysv4.opt:144
++#: config/v850/v850.opt:82
+ #, fuzzy
+-msgid "Generate code to use a non-exec PLT and GOT"
+-msgstr "Générer le code pour un Sun Sky board"
++msgid "Compile for the v850e processor"
++msgstr "Compiler pour le processeur v850"
+
+-#: config/rs6000/sysv4.opt:148
++#: config/v850/v850.opt:86
+ #, fuzzy
+-msgid "Generate code for old exec BSS PLT"
+-msgstr "Générer le code pour un Sun FPA"
++msgid "Compile for the v850e1 processor"
++msgstr "Compiler pour le processeur v850"
+
++#: config/v850/v850.opt:90
++msgid "Set the max size of data eligible for the ZDA area"
++msgstr "Initialiser la taille maximale des données éligibles pour la zone ZDA"
++
+ #: config/spu/spu.opt:20
+ msgid "Emit warnings when run-time relocations are generated"
+ msgstr ""
+@@ -13451,69 +13480,282 @@
+ msgid "Generate code for 32 bit addressing"
+ msgstr "Générer du code pour un système à octets de poids fort"
+
+-#: config/mcore/mcore.opt:23
++#: config/vax/vax.opt:23 config/vax/vax.opt:27
++msgid "Target DFLOAT double precision code"
++msgstr ""
++
++#: config/vax/vax.opt:31 config/vax/vax.opt:35
+ #, fuzzy
+-msgid "Generate code for the M*Core M210"
+-msgstr "Générer du code pour M*Core M340"
++msgid "Generate GFLOAT double precision code"
++msgstr "Générer du code de système à octets de poids faible"
+
+-#: config/mcore/mcore.opt:27
+-msgid "Generate code for the M*Core M340"
+-msgstr "Générer du code pour M*Core M340"
++#: config/vax/vax.opt:39
++#, fuzzy
++msgid "Generate code for GNU assembler (gas)"
++msgstr "Générer du code pour GNU tel que"
+
+-#: config/mcore/mcore.opt:31
+-msgid "Set maximum alignment to 4"
+-msgstr "Initialiser l'alignement maximal à 4"
++#: config/vax/vax.opt:43
++#, fuzzy
++msgid "Generate code for UNIX assembler"
++msgstr "Générer du code pour GNU tel que"
+
+-#: config/mcore/mcore.opt:35
+-msgid "Force functions to be aligned to a 4 byte boundary"
+-msgstr "Forcer les fonctions à être alignés sur des frontières de 4 octets"
++#: config/vax/vax.opt:47
++#, fuzzy
++msgid "Use VAXC structure conventions"
++msgstr "Utiliser les conventions d'appels portables"
+
+-#: config/mcore/mcore.opt:39
+-msgid "Set maximum alignment to 8"
+-msgstr "Initialiser l'alignement maximal à 8"
++#: config/lynx.opt:23
++msgid "Support legacy multi-threading"
++msgstr ""
+
+-#: config/mcore/mcore.opt:43 config/score/score.opt:23
++#: config/lynx.opt:27
+ #, fuzzy
+-msgid "Generate big-endian code"
+-msgstr "Générer du code de système à octets de poids fort"
++msgid "Use shared libraries"
++msgstr "Autoriser les identificateurs de librairies partagées de base"
+
+-#: config/mcore/mcore.opt:47
+-msgid "Emit call graph information"
+-msgstr "Produire les informations du graphe d'appel"
++#: config/lynx.opt:31
++msgid "Support multi-threading"
++msgstr ""
+
+-#: config/mcore/mcore.opt:51
++#: config/stormy16/stormy16.opt:24
++msgid "Provide libraries for the simulator"
++msgstr ""
++
++#: config/h8300/h8300.opt:23
++msgid "Generate H8S code"
++msgstr "Générer du code H8S"
++
++#: config/h8300/h8300.opt:27
+ #, fuzzy
+-msgid "Use the divide instruction"
+-msgstr "Ne pas utiliser l'instruction de division"
++msgid "Generate H8SX code"
++msgstr "Générer du code H8S"
+
+-#: config/mcore/mcore.opt:55
+-msgid "Inline constants if it can be done in 2 insns or less"
+-msgstr "Constante enligne si elle peut être dans 2 insn ou moins"
++#: config/h8300/h8300.opt:31
++msgid "Generate H8S/2600 code"
++msgstr "Générer du code H8S/S2600"
+
+-#: config/mcore/mcore.opt:59 config/score/score.opt:27
++#: config/h8300/h8300.opt:35
++msgid "Make integers 32 bits wide"
++msgstr "Rendre les entiers larges de 32 bits"
++
++#: config/h8300/h8300.opt:42
++msgid "Use registers for argument passing"
++msgstr "Utiliser les registres pour le passage d'arguments"
++
++#: config/h8300/h8300.opt:46
++msgid "Consider access to byte sized memory slow"
++msgstr "Considérer l'accès mémoire lent pour la taille d'octets"
++
++#: config/h8300/h8300.opt:50
++msgid "Enable linker relaxing"
++msgstr "Activer la rélâche par l'éditeur de liens"
++
++#: config/h8300/h8300.opt:54
++msgid "Generate H8/300H code"
++msgstr "Générer du code H8/300H"
++
++#: config/h8300/h8300.opt:58
++msgid "Enable the normal mode"
++msgstr "Activer le mode normal"
++
++#: config/h8300/h8300.opt:62
++msgid "Use H8/300 alignment rules"
++msgstr "Utiliser les règles d'alignement H8/300"
++
++#: config/s390/s390.opt:23
++msgid "31 bit ABI"
++msgstr "ABI de 64 bits"
++
++#: config/s390/s390.opt:27
++msgid "64 bit ABI"
++msgstr "ABI de 64 bits"
++
++#: config/s390/s390.opt:35
++msgid "Maintain backchain pointer"
++msgstr ""
++
++#: config/s390/s390.opt:39
++msgid "Additional debug prints"
++msgstr "Imprimer des informations additionnelles en mode débug"
++
++#: config/s390/s390.opt:43
++msgid "ESA/390 architecture"
++msgstr "architecture ESA/390"
++
++#: config/s390/s390.opt:47
+ #, fuzzy
+-msgid "Generate little-endian code"
+-msgstr "Générer du code de système à octets de poids faible"
++msgid "Enable fused multiply/add instructions"
++msgstr "autoriser les instructions fusionnés de multiplication/addition"
+
+-#: config/mcore/mcore.opt:67
++#: config/s390/s390.opt:51
+ #, fuzzy
+-msgid "Use arbitrary sized immediates in bit operations"
+-msgstr "Ne pas calculer la taille des immédiats dans les opérations sur les bits"
++msgid "Enable decimal floating point hardware support"
++msgstr "virgule flottante en quadruple précision non supporté"
+
+-#: config/mcore/mcore.opt:71
+-msgid "Prefer word accesses over byte accesses"
+-msgstr "Préférer l'accès à des mots plutôt qu'un accès à des octets"
++#: config/s390/s390.opt:55
++#, fuzzy
++msgid "Enable hardware floating point"
++msgstr "Utiliser l'unité matérielle en virgule flottante"
+
+-#: config/mcore/mcore.opt:75
++#: config/s390/s390.opt:67
++msgid "Use packed stack layout"
++msgstr ""
++
++#: config/s390/s390.opt:71
++msgid "Use bras for executable < 64k"
++msgstr "Utiliser « bras » pour les exécutables < 64k"
++
++#: config/s390/s390.opt:75
+ #, fuzzy
+-msgid "Set the maximum amount for a single stack increment operation"
+-msgstr "Montant maximal pour une opération d'incrémentation simple de la pile"
++msgid "Disable hardware floating point"
++msgstr "Utiliser l'unité matérielle en virgule flottante"
+
+-#: config/mcore/mcore.opt:79
++#: config/s390/s390.opt:79
++msgid "Set the max. number of bytes which has to be left to stack size before a trap instruction is triggered"
++msgstr ""
++
++#: config/s390/s390.opt:83
++msgid "Emit extra code in the function prologue in order to trap if the stack size exceeds the given limit"
++msgstr ""
++
++#: config/s390/s390.opt:91
++msgid "mvcle use"
++msgstr "mvcle utilisé"
++
++#: config/s390/s390.opt:95
++msgid "Warn if a function uses alloca or creates an array with dynamic size"
++msgstr ""
++
++#: config/s390/s390.opt:99
++msgid "Warn if a single function's framesize exceeds the given framesize"
++msgstr ""
++
++#: config/s390/s390.opt:103
++msgid "z/Architecture"
++msgstr "z/Architecture"
++
++#: config/s390/tpf.opt:23
++msgid "Enable TPF-OS tracing code"
++msgstr ""
++
++#: config/s390/tpf.opt:27
+ #, fuzzy
+-msgid "Always treat bitfields as int-sized"
+-msgstr "Toujours traiter les champs de bits comme si la taille entière"
++msgid "Specify main object for TPF-OS"
++msgstr "Spécifier le nombre maximum d'itérations pour RPTS"
+
++#: config/darwin.opt:23
++#, fuzzy
++msgid "Generate code suitable for fast turn around debugging"
++msgstr "Générer du code adapté pour les exécutables (PAS les librairies partagées)"
++
++#: config/darwin.opt:31
++msgid "The earliest MacOS X version on which this program will run"
++msgstr ""
++
++#: config/darwin.opt:35
++#, fuzzy
++msgid "Set sizeof(bool) to 1"
++msgstr "sizeof(long double) est 16"
++
++#: config/darwin.opt:39
++#, fuzzy
++msgid "Generate code for darwin loadable kernel extensions"
++msgstr "Générer du code pour un système à octets de poids faible"
++
++#: config/darwin.opt:43
++#, fuzzy
++msgid "Generate code for the kernel or loadable kernel extensions"
++msgstr "Générer le code pour la version de processeur ou de circuit spécifiée"
++
++#: config/darwin.opt:47
++#, fuzzy
++msgid "Add <dir> to the end of the system framework include path"
++msgstr "-idirafter <répertoire>\tajouter <répertoire> à la fin du chemin système d'inclusion"
++
++#: config/mn10300/mn10300.opt:23
++msgid "Target the AM33 processor"
++msgstr "Cible le processeur AM33"
++
++#: config/mn10300/mn10300.opt:27
++msgid "Target the AM33/2.0 processor"
++msgstr "Cibler le processeur AM33/2.0"
++
++#: config/mn10300/mn10300.opt:31
++msgid "Work around hardware multiply bug"
++msgstr "Contourner le bug matériel de la multiplication"
++
++#: config/mn10300/mn10300.opt:36
++msgid "Enable linker relaxations"
++msgstr "Autoriser la relâche de l'éditeur de liens"
++
++#: config/mn10300/mn10300.opt:40
++msgid "Return pointers in both a0 and d0"
++msgstr ""
++
++#: config/m32r/m32r.opt:23
++#, fuzzy
++msgid "Compile for the m32rx"
++msgstr "Compiler pour un 68HC12"
++
++#: config/m32r/m32r.opt:27
++#, fuzzy
++msgid "Compile for the m32r2"
++msgstr "Compiler pour un 68HC12"
++
++#: config/m32r/m32r.opt:31
++#, fuzzy
++msgid "Compile for the m32r"
++msgstr "Compiler pour un 68HC12"
++
++#: config/m32r/m32r.opt:35
++msgid "Align all loops to 32 byte boundary"
++msgstr "Aligner toutes les boucles sur des frontières de 32 octets"
++
++#: config/m32r/m32r.opt:39
++msgid "Prefer branches over conditional execution"
++msgstr "Privilégier les branchements au lieu d'une exécution conditionnelle"
++
++#: config/m32r/m32r.opt:43
++msgid "Give branches their default cost"
++msgstr ""
++
++#: config/m32r/m32r.opt:47
++msgid "Display compile time statistics"
++msgstr "Afficher les statistiques de temps de compilation"
++
++#: config/m32r/m32r.opt:51
++msgid "Specify cache flush function"
++msgstr "Spécifier la fonction de vidange de la cache"
++
++#: config/m32r/m32r.opt:55
++msgid "Specify cache flush trap number"
++msgstr "Spécifier la fonction de déroutement de vidange de la cache"
++
++#: config/m32r/m32r.opt:59
++msgid "Only issue one instruction per cycle"
++msgstr "Émettre seulement une instruction par cycle"
++
++#: config/m32r/m32r.opt:63
++#, fuzzy
++msgid "Allow two instructions to be issued per cycle"
++msgstr "Émettre seulement une instruction par cycle"
++
++#: config/m32r/m32r.opt:67
++msgid "Code size: small, medium or large"
++msgstr "Taille du code: small, medium ou large"
++
++#: config/m32r/m32r.opt:71
++msgid "Don't call any cache flush functions"
++msgstr "Ne pas faire d'appel de fonction de vidange de la cache"
++
++#: config/m32r/m32r.opt:75
++msgid "Don't call any cache flush trap"
++msgstr "Ne pas faire d'appel de fonction de déroutement de vidange de la cache"
++
++#: config/m32r/m32r.opt:82
++msgid "Small data area: none, sdata, use"
++msgstr "Petite zone de données: none, sdata, use"
++
+ #: config/arc/arc.opt:32
+ msgid "Prepend the name of the cpu to all public symbol names"
+ msgstr ""
+@@ -13535,6 +13777,550 @@
+ msgid "Put read-only data in SECTION"
+ msgstr ""
+
++#: config/m32c/m32c.opt:24 config/mt/mt.opt:27 config/bfin/bfin.opt:23
++msgid "Use simulator runtime"
++msgstr ""
++
++#: config/m32c/m32c.opt:28
++#, fuzzy
++msgid "Compile code for R8C variants"
++msgstr "Compiler pour des pointeurs de 64 bits"
++
++#: config/m32c/m32c.opt:32
++#, fuzzy
++msgid "Compile code for M16C variants"
++msgstr "Compiler pour des pointeurs de 64 bits"
++
++#: config/m32c/m32c.opt:36
++#, fuzzy
++msgid "Compile code for M32CM variants"
++msgstr "Compiler pour des pointeurs de 32 bits"
++
++#: config/m32c/m32c.opt:40
++#, fuzzy
++msgid "Compile code for M32C variants"
++msgstr "Compiler pour des pointeurs de 32 bits"
++
++#: config/m32c/m32c.opt:44
++msgid "Number of memreg bytes (default: 16, range: 0..16)"
++msgstr ""
++
++#: config/pdp11/pdp11.opt:23
++msgid "Generate code for an 11/10"
++msgstr "Générer du code pour un 11/10"
++
++#: config/pdp11/pdp11.opt:27
++msgid "Generate code for an 11/40"
++msgstr "Générer du code pour un 11/40"
++
++#: config/pdp11/pdp11.opt:31
++msgid "Generate code for an 11/45"
++msgstr "Générer du code pour un 11/45"
++
++#: config/pdp11/pdp11.opt:35
++#, fuzzy
++msgid "Use 16-bit abs patterns"
++msgstr "Utiliser les registres FP de 64 bits"
++
++#: config/pdp11/pdp11.opt:39
++#, fuzzy
++msgid "Return floating-point results in ac0 (fr0 in Unix assembler syntax)"
++msgstr "Le résultat retourné en virgule flottante se retrouve dans AC0."
++
++#: config/pdp11/pdp11.opt:43
++msgid "Do not use inline patterns for copying memory"
++msgstr ""
++
++#: config/pdp11/pdp11.opt:47
++msgid "Use inline patterns for copying memory"
++msgstr ""
++
++#: config/pdp11/pdp11.opt:51
++msgid "Do not pretend that branches are expensive"
++msgstr ""
++
++#: config/pdp11/pdp11.opt:55
++msgid "Pretend that branches are expensive"
++msgstr ""
++
++#: config/pdp11/pdp11.opt:59
++#, fuzzy
++msgid "Use the DEC assembler syntax"
++msgstr "Utliser la syntaxe de l'assembleur DEC"
++
++#: config/pdp11/pdp11.opt:63
++msgid "Use 32 bit float"
++msgstr "Utiliser des flottants de 32 bits"
++
++#: config/pdp11/pdp11.opt:67
++msgid "Use 64 bit float"
++msgstr "Utiliser des flottants de 64 bits"
++
++#: config/pdp11/pdp11.opt:75
++msgid "Use 16 bit int"
++msgstr "Utiliser des int de 16 bits"
++
++#: config/pdp11/pdp11.opt:79
++msgid "Use 32 bit int"
++msgstr "Utiliser des int de 32 bits"
++
++#: config/pdp11/pdp11.opt:87
++msgid "Target has split I&D"
++msgstr "Cible a un I&D séparé"
++
++#: config/pdp11/pdp11.opt:91
++msgid "Use UNIX assembler syntax"
++msgstr "Utliser la syntaxe de l'assembleur UNIX"
++
++#: config/m68k/m68k.opt:23
++msgid "Generate code for a 520X"
++msgstr "Générer du code pour un 520X"
++
++#: config/m68k/m68k.opt:27
++msgid "Generate code for a 5206e"
++msgstr "Générer du code pour un 5206e"
++
++#: config/m68k/m68k.opt:31
++msgid "Generate code for a 528x"
++msgstr "Générer du code pour un 528x"
++
++#: config/m68k/m68k.opt:35
++msgid "Generate code for a 5307"
++msgstr "Générer du code pour un 5307"
++
++#: config/m68k/m68k.opt:39
++msgid "Generate code for a 5407"
++msgstr "Générer du code pour un 5407"
++
++#: config/m68k/m68k.opt:43 config/m68k/m68k.opt:104
++msgid "Generate code for a 68000"
++msgstr "Générer le code pour un 68000"
++
++#: config/m68k/m68k.opt:47
++#, fuzzy
++msgid "Generate code for a 68010"
++msgstr "Générer le code pour un 68020"
++
++#: config/m68k/m68k.opt:51 config/m68k/m68k.opt:108
++msgid "Generate code for a 68020"
++msgstr "Générer le code pour un 68020"
++
++#: config/m68k/m68k.opt:55
++msgid "Generate code for a 68040, without any new instructions"
++msgstr "Générer du code pour un 68040 sans les nouvelles instructions"
++
++#: config/m68k/m68k.opt:59
++msgid "Generate code for a 68060, without any new instructions"
++msgstr "Générer du code pour un 68060 sans les nouvelles instructions"
++
++#: config/m68k/m68k.opt:63
++msgid "Generate code for a 68030"
++msgstr "Générer du code pour un 68030"
++
++#: config/m68k/m68k.opt:67
++msgid "Generate code for a 68040"
++msgstr "Générer du code pour un 68040"
++
++#: config/m68k/m68k.opt:71
++msgid "Generate code for a 68060"
++msgstr "Générer du code pour un 68060"
++
++#: config/m68k/m68k.opt:75
++msgid "Generate code for a 68302"
++msgstr "Générer du code pour un 68302"
++
++#: config/m68k/m68k.opt:79
++msgid "Generate code for a 68332"
++msgstr "Générer du code pour un 68332"
++
++#: config/m68k/m68k.opt:84
++msgid "Generate code for a 68851"
++msgstr "Générer le code pour un 68851"
++
++#: config/m68k/m68k.opt:88
++#, fuzzy
++msgid "Generate code that uses 68881 floating-point instructions"
++msgstr "Utiliser les instructions matérielles en virgule flottante"
++
++#: config/m68k/m68k.opt:92
++msgid "Align variables on a 32-bit boundary"
++msgstr "Aligner les variables sur des frontières de 32 bits"
++
++#: config/m68k/m68k.opt:100
++msgid "Use the bit-field instructions"
++msgstr "Utiliser les instructions de champs de bits"
++
++#: config/m68k/m68k.opt:112
++#, fuzzy
++msgid "Generate code for a ColdFire v4e"
++msgstr "Générer du code pour M*Core M340"
++
++#: config/m68k/m68k.opt:116
++#, fuzzy
++msgid "Specify the target CPU"
++msgstr "Spécifier le nom du processeur cible"
++
++#: config/m68k/m68k.opt:120
++msgid "Generate code for a cpu32"
++msgstr "Générer du code pour un cpu32"
++
++#: config/m68k/m68k.opt:124
++#, fuzzy
++msgid "Use hardware division instructions on ColdFire"
++msgstr "Utiliser les instructions matérielles quad FP"
++
++#: config/m68k/m68k.opt:128
++#, fuzzy
++msgid "Generate code for a Fido A"
++msgstr "Générer le code pour un Sun FPA"
++
++#: config/m68k/m68k.opt:132
++#, fuzzy
++msgid "Generate code which uses hardware floating point instructions"
++msgstr "Utiliser les instructions matérielles en virgule flottante"
++
++#: config/m68k/m68k.opt:136
++msgid "Enable ID based shared library"
++msgstr "Autoriser les identificateurs de librairies partagées de base"
++
++#: config/m68k/m68k.opt:140
++msgid "Do not use the bit-field instructions"
++msgstr "Ne pas utiliser les instructions de champs de bits"
++
++#: config/m68k/m68k.opt:144
++msgid "Use normal calling convention"
++msgstr "Utiliser la convention normale d'appels"
++
++#: config/m68k/m68k.opt:148
++#, fuzzy
++msgid "Consider type 'int' to be 32 bits wide"
++msgstr "Considérer le type « int » comme ayant une largeur de 32 bits"
++
++#: config/m68k/m68k.opt:152
++msgid "Generate pc-relative code"
++msgstr "Générer du code relatif au compteur de programme (PC)"
++
++#: config/m68k/m68k.opt:156
++msgid "Use different calling convention using 'rtd'"
++msgstr "Utiliser une convention différente d'appel en utilisant « rtd »"
++
++#: config/m68k/m68k.opt:160 config/bfin/bfin.opt:61
++msgid "Enable separate data segment"
++msgstr "Autoriser des segments de données séparés"
++
++#: config/m68k/m68k.opt:164 config/bfin/bfin.opt:57
++msgid "ID of shared library to build"
++msgstr "Identification de librairie partagé à construire"
++
++#: config/m68k/m68k.opt:168
++#, fuzzy
++msgid "Consider type 'int' to be 16 bits wide"
++msgstr "Considérer le type « int » comme ayant une largeur de 16 bits"
++
++#: config/m68k/m68k.opt:172
++msgid "Generate code with library calls for floating point"
++msgstr "Générer du code avec les appels de bibliothèques pour la virgule flottante"
++
++#: config/m68k/m68k.opt:176
++msgid "Do not use unaligned memory references"
++msgstr "Ne pas utiliser des références mémoire non alignées"
++
++#: config/m68k/m68k.opt:180
++#, fuzzy
++msgid "Tune for the specified target CPU or architecture"
++msgstr "Spécifier le nom de l'architecture cible"
++
++#: config/mmix/mmix.opt:24
++msgid "For intrinsics library: pass all parameters in registers"
++msgstr "Pour les bibliothèques intrinsèques : passer tous les paramètres par registre"
++
++#: config/mmix/mmix.opt:28
++msgid "Use register stack for parameters and return value"
++msgstr "Utiliser le registre de la pile pour les paramètres et la valeur retournée"
++
++#: config/mmix/mmix.opt:32
++msgid "Use call-clobbered registers for parameters and return value"
++msgstr "utiliser les registres d'appels maltraités pour les paramètres et les valeurs retournées"
++
++#: config/mmix/mmix.opt:37
++msgid "Use epsilon-respecting floating point compare instructions"
++msgstr "Utiliser un epsilon respectant les instructions de comparaison en virgule flottante"
++
++#: config/mmix/mmix.opt:41
++msgid "Use zero-extending memory loads, not sign-extending ones"
++msgstr "utiliser des chargements mémoire avec zéro extension, pas celles avec signe d'extension"
++
++#: config/mmix/mmix.opt:45
++msgid "Generate divide results with reminder having the same sign as the divisor (not the dividend)"
++msgstr "générer des résultats de division avec reste ayant le même signe que le diviseur (pas le dividende)"
++
++#: config/mmix/mmix.opt:49
++msgid "Prepend global symbols with \":\" (for use with PREFIX)"
++msgstr "pré ajouter les symboles globaux avec «:» (pour l'utilisation avec PREFIX)"
++
++#: config/mmix/mmix.opt:53
++msgid "Do not provide a default start-address 0x100 of the program"
++msgstr "Ne pas fournir d'adresse de départ par défaut 0x100 du programme"
++
++#: config/mmix/mmix.opt:57
++msgid "Link to emit program in ELF format (rather than mmo)"
++msgstr "Faire l'édition de liens pour produire le programme en format ELF (au lieu de mmo)"
++
++#: config/mmix/mmix.opt:61
++msgid "Use P-mnemonics for branches statically predicted as taken"
++msgstr "Utiliser les mnémoniques P pour les branchements statiquement prévus à être pris"
++
++#: config/mmix/mmix.opt:65
++msgid "Don't use P-mnemonics for branches"
++msgstr "Ne pas utiliser les mnémoniques P pour les branchements"
++
++#: config/mmix/mmix.opt:79
++msgid "Use addresses that allocate global registers"
++msgstr "Utiliser les adresses qui allouent des registres globaux"
++
++#: config/mmix/mmix.opt:83
++msgid "Do not use addresses that allocate global registers"
++msgstr "Ne pas utiliser des adresses qui allouent des registres globaux"
++
++#: config/mmix/mmix.opt:87
++msgid "Generate a single exit point for each function"
++msgstr "Générer un point de sortie simple pour chaque fonction"
++
++#: config/mmix/mmix.opt:91
++msgid "Do not generate a single exit point for each function"
++msgstr "Ne pas générer un point de sortie simple pour chaque fonction"
++
++#: config/mmix/mmix.opt:95
++msgid "Set start-address of the program"
++msgstr "Adress de départ du programme fixée"
++
++#: config/mmix/mmix.opt:99
++msgid "Set start-address of data"
++msgstr "Adresse de départ des données fixée"
++
++#: config/score/score.opt:31
++#, fuzzy
++msgid "Disable bcnz instruction"
++msgstr "Désactiver l'utilisation d'instruction DB"
++
++#: config/score/score.opt:35
++#, fuzzy
++msgid "Enable unaligned load/store instruction"
++msgstr "Activer l'utilisation d'instruction DB"
++
++#: config/score/score.opt:39
++msgid "Support SCORE 5 ISA"
++msgstr ""
++
++#: config/score/score.opt:43
++msgid "Support SCORE 5U ISA"
++msgstr ""
++
++#: config/score/score.opt:47
++msgid "Support SCORE 7 ISA"
++msgstr ""
++
++#: config/score/score.opt:51
++msgid "Support SCORE 7D ISA"
++msgstr ""
++
++#: config/score/score.opt:55
++msgid "Support SCORE 3 ISA"
++msgstr ""
++
++#: config/score/score.opt:59
++msgid "Support SCORE 3d ISA"
++msgstr ""
++
++#: config/crx/crx.opt:23
++#, fuzzy
++msgid "Support multiply accumulate instructions"
++msgstr "Utiliser les instructions FP de multiplications avec accumulations"
++
++#: config/crx/crx.opt:27
++#, fuzzy
++msgid "Do not use push to store function arguments"
++msgstr "Ne pas utiliser les instructions push pour sauvegardes les arguments sortants"
++
++#: config/crx/crx.opt:31
++msgid "Restrict doloop to the given nesting level"
++msgstr ""
++
++#: config/mt/mt.opt:23
++msgid "Use byte loads and stores when generating code."
++msgstr ""
++
++#: config/mt/mt.opt:31
++msgid "Do not include crt0.o in the startup files"
++msgstr ""
++
++#: config/mt/mt.opt:35 config/mt/mt.opt:39 config/mt/mt.opt:43
++#: config/mt/mt.opt:47 config/mt/mt.opt:51
++#, fuzzy
++msgid "Internal debug switch"
++msgstr "option -mdebug-%s inconnue"
++
++#: config/m68hc11/m68hc11.opt:23 config/m68hc11/m68hc11.opt:31
++msgid "Compile for a 68HC11"
++msgstr "Compiler pour un 68HC11"
++
++#: config/m68hc11/m68hc11.opt:27 config/m68hc11/m68hc11.opt:35
++msgid "Compile for a 68HC12"
++msgstr "Compiler pour un 68HC12"
++
++#: config/m68hc11/m68hc11.opt:41 config/m68hc11/m68hc11.opt:45
++msgid "Compile for a 68HCS12"
++msgstr "Compiler pour un 68HCS12"
++
++#: config/m68hc11/m68hc11.opt:49
++msgid "Auto pre/post decrement increment allowed"
++msgstr "Auto pré/post décrementation incrémentation permise"
++
++#: config/m68hc11/m68hc11.opt:53
++msgid "Min/max instructions allowed"
++msgstr "instructions min/max permises"
++
++#: config/m68hc11/m68hc11.opt:57
++msgid "Use call and rtc for function calls and returns"
++msgstr "Utiliser call et rtc pour les appels fonction et les retours"
++
++#: config/m68hc11/m68hc11.opt:61
++msgid "Auto pre/post decrement increment not allowed"
++msgstr "Auto pré/post décrementation incrémentation non permise"
++
++#: config/m68hc11/m68hc11.opt:65
++msgid "Use jsr and rts for function calls and returns"
++msgstr "Utiliser jsr et rtc pour les appels de fonction et les retours"
++
++#: config/m68hc11/m68hc11.opt:69
++msgid "Min/max instructions not allowed"
++msgstr "instructions min/max ne sont pas permises"
++
++#: config/m68hc11/m68hc11.opt:73
++msgid "Use direct addressing mode for soft registers"
++msgstr "Ne pas utiliser les modes directs d'adressage pour les registres logiciels"
++
++#: config/m68hc11/m68hc11.opt:77
++msgid "Compile with 32-bit integer mode"
++msgstr "Compiler en mode entier de 32 bits"
++
++#: config/m68hc11/m68hc11.opt:82
++msgid "Specify the register allocation order"
++msgstr "Spécifier l'ordre d'allocation des registres"
++
++#: config/m68hc11/m68hc11.opt:86
++msgid "Do not use direct addressing mode for soft registers"
++msgstr "Ne pas utiliser les modes directs d'adressage pour des registres logiciels"
++
++#: config/m68hc11/m68hc11.opt:90
++msgid "Compile with 16-bit integer mode"
++msgstr "Compiler en mode entier de 16 bits"
++
++#: config/m68hc11/m68hc11.opt:94
++msgid "Indicate the number of soft registers available"
++msgstr "Indiquer le nombre de registres logiciels disponibles"
++
++#: config/fr30/fr30.opt:23
++msgid "Assume small address space"
++msgstr "Présumer un petit espace d'adressage"
++
++#: config/sparc/little-endian.opt:23
++#, fuzzy
++msgid "Generate code for little-endian"
++msgstr "Générer du code pour un système à octets de poids faible"
++
++#: config/sparc/little-endian.opt:27
++#, fuzzy
++msgid "Generate code for big-endian"
++msgstr "Générer du code pour un système à octets de poids fort"
++
++#: config/sparc/sparc.opt:23 config/sparc/sparc.opt:27
++#, fuzzy
++msgid "Use hardware FP"
++msgstr "Utiliser le FP matériel"
++
++#: config/sparc/sparc.opt:31
++#, fuzzy
++msgid "Do not use hardware FP"
++msgstr "Ne pas utiliser l'unité FP matérielle"
++
++#: config/sparc/sparc.opt:35
++msgid "Assume possible double misalignment"
++msgstr "Présumer un possible mauvais alignement des doubles"
++
++#: config/sparc/sparc.opt:39
++msgid "Pass -assert pure-text to linker"
++msgstr "Passer -assert pure-text à l'éditeur de liens"
++
++#: config/sparc/sparc.opt:43
++msgid "Use ABI reserved registers"
++msgstr "Utiliser les registres réservés ABI"
++
++#: config/sparc/sparc.opt:47
++#, fuzzy
++msgid "Use hardware quad FP instructions"
++msgstr "Utiliser les instructions matérielles quad FP"
++
++#: config/sparc/sparc.opt:51
++msgid "Do not use hardware quad fp instructions"
++msgstr "Ne pas utiliser les instructions matérielles quad FP"
++
++#: config/sparc/sparc.opt:55
++#, fuzzy
++msgid "Compile for V8+ ABI"
++msgstr "Compiler pour ABI v8plus"
++
++#: config/sparc/sparc.opt:59
++#, fuzzy
++msgid "Use UltraSPARC Visual Instruction Set extensions"
++msgstr "Utiliser le jeu d'instructions Visual"
++
++#: config/sparc/sparc.opt:63
++msgid "Pointers are 64-bit"
++msgstr "Pointeurs sont de 64 bits"
++
++#: config/sparc/sparc.opt:67
++msgid "Pointers are 32-bit"
++msgstr "Pointeurs sont de 32 bits"
++
++#: config/sparc/sparc.opt:71
++msgid "Use 64-bit ABI"
++msgstr "Utiliser ABI de 64 bits"
++
++#: config/sparc/sparc.opt:75
++msgid "Use 32-bit ABI"
++msgstr "Utiliser ABI de 32 bits"
++
++#: config/sparc/sparc.opt:79
++msgid "Use stack bias"
++msgstr "Utiliser le biais de la pile"
++
++#: config/sparc/sparc.opt:83
++msgid "Use structs on stronger alignment for double-word copies"
++msgstr "Utiliser des structs avec alignement plus fort pour les copies de mots-doubles"
++
++#: config/sparc/sparc.opt:87
++msgid "Optimize tail call instructions in assembler and linker"
++msgstr "Optimiser sur mesure les instructions d'appel avec l'assembleur et l'éditeur de liens"
++
++#: config/sparc/sparc.opt:99
++#, fuzzy
++msgid "Use given SPARC-V9 code model"
++msgstr "Utiliser le modèle donné de code pour le SPARC"
++
++#: config/sparc/sparc.opt:103
++msgid "Enable strict 32-bit psABI struct return checking."
++msgstr ""
++
++#: config/sh/superh.opt:6
++msgid "Board name [and memory region]."
++msgstr ""
++
++#: config/sh/superh.opt:10
++#, fuzzy
++msgid "Runtime name."
++msgstr "Pas de nom de fichier."
++
+ #: config/sh/sh.opt:44
+ #, fuzzy
+ msgid "Generate SH1 code"
+@@ -13853,486 +14639,21 @@
+ msgid "Pretend a branch-around-a-move is a conditional move."
+ msgstr ""
+
+-#: config/sh/superh.opt:6
+-msgid "Board name [and memory region]."
+-msgstr ""
+-
+-#: config/sh/superh.opt:10
++#: config/vxworks.opt:24
+ #, fuzzy
+-msgid "Runtime name."
+-msgstr "Pas de nom de fichier."
++msgid "Assume the VxWorks RTP environment"
++msgstr "Présumer que l'environnement d'exécution C est normal"
+
+-#: config/arm/arm.opt:23
+-msgid "Specify an ABI"
+-msgstr "Spécifier une ABI"
+-
+-#: config/arm/arm.opt:27
+-msgid "Generate a call to abort if a noreturn function returns"
+-msgstr "Générer un appel pour stopper si une fonction sans retour retourne un résultat"
+-
+-#: config/arm/arm.opt:34
+-msgid "Pass FP arguments in FP registers"
+-msgstr "Passer les arguments FP par les registres FP"
+-
+-#: config/arm/arm.opt:38
+-msgid "Generate APCS conformant stack frames"
+-msgstr "Générer des trames de pile conformes à APCS"
+-
+-#: config/arm/arm.opt:42
+-msgid "Generate re-entrant, PIC code"
+-msgstr "Générer du code PIC ré-entrant"
+-
+-#: config/arm/arm.opt:56
+-msgid "Assume target CPU is configured as big endian"
+-msgstr "Présumer que le processeur cible est un système à octets de poids fort"
+-
+-#: config/arm/arm.opt:60
+-msgid "Thumb: Assume non-static functions may be called from ARM code"
+-msgstr "Thumb : Présumer que les fonctions non statiques peuvent être appelées du code ARM"
+-
+-#: config/arm/arm.opt:64
+-msgid "Thumb: Assume function pointers may go to non-Thumb aware code"
+-msgstr "Thumb : Présumer que les pointeurs de fonction peuvent tomber dans le code en dehors non sensible au Thumb"
+-
+-#: config/arm/arm.opt:68
+-msgid "Cirrus: Place NOPs to avoid invalid instruction combinations"
+-msgstr "Cirrus: insérer des NOP pour éviter un combinaison d'instructions invalides"
+-
+-#: config/arm/arm.opt:72 config/bfin/bfin.opt:27
+-msgid "Specify the name of the target CPU"
+-msgstr "Spécifier le nom du processeur cible"
+-
+-#: config/arm/arm.opt:76
++#: config/vxworks.opt:31
+ #, fuzzy
+-msgid "Specify if floating point hardware should be used"
+-msgstr "Spécifier yes (pour oui) /no (pour non) si les nombres en virgule flottante sont utilisés dans le GPR"
++msgid "Assume the VxWorks vThreads environment"
++msgstr "Présumer que l'environnement d'exécution C est normal"
+
+-#: config/arm/arm.opt:90
++#: config/mips/sdemtk.opt:23
+ #, fuzzy
+-msgid "Specify the name of the target floating point hardware/format"
+-msgstr "Spécifier la version de l'émulateur en virgule flottante"
++msgid "Prevent the use of all floating-point operations"
++msgstr "registres booléens requis pour l'option de virgule flottante"
+
+-#: config/arm/arm.opt:94
+-msgid "Alias for -mfloat-abi=hard"
+-msgstr ""
+-
+-#: config/arm/arm.opt:98
+-msgid "Assume target CPU is configured as little endian"
+-msgstr "Présumer que le processeur cible est un système à octets de poids faible"
+-
+-#: config/arm/arm.opt:102
+-msgid "Generate call insns as indirect calls, if necessary"
+-msgstr "Générer l'appel insn comme un appel indirect, si nécessaire"
+-
+-#: config/arm/arm.opt:106
+-msgid "Specify the register to be used for PIC addressing"
+-msgstr "Spécifier le registre à utiliser pour l'adressage PIC"
+-
+-#: config/arm/arm.opt:110
+-msgid "Store function names in object code"
+-msgstr "Sotcker les noms de fonctions dans le code objet"
+-
+-#: config/arm/arm.opt:114
+-#, fuzzy
+-msgid "Permit scheduling of a function's prologue sequence"
+-msgstr "Utiliser des stubs pour les prologues de fonction"
+-
+-#: config/arm/arm.opt:118
+-msgid "Do not load the PIC register in function prologues"
+-msgstr "Ne pas charger le registre PIC dans les prologue de fonction"
+-
+-#: config/arm/arm.opt:122
+-msgid "Alias for -mfloat-abi=soft"
+-msgstr ""
+-
+-#: config/arm/arm.opt:126
+-msgid "Specify the minimum bit alignment of structures"
+-msgstr "Spécifier le minimum de bits pour l'alignement de structures"
+-
+-#: config/arm/arm.opt:130
+-msgid "Compile for the Thumb not the ARM"
+-msgstr "Compiler pour le THUMB et non pas le ARM"
+-
+-#: config/arm/arm.opt:134
+-msgid "Support calls between Thumb and ARM instruction sets"
+-msgstr "Supporter les appels des jeux d'instructions THUMB et ARM"
+-
+-#: config/arm/arm.opt:138
+-#, fuzzy
+-msgid "Specify how to access the thread pointer"
+-msgstr "Spécifier le nom de l'architecture cible"
+-
+-#: config/arm/arm.opt:142
+-msgid "Thumb: Generate (non-leaf) stack frames even if not needed"
+-msgstr "Thumb: générer (non feuilles) trames de pile même si non nécessaire"
+-
+-#: config/arm/arm.opt:146
+-msgid "Thumb: Generate (leaf) stack frames even if not needed"
+-msgstr "Thumb : Générer (feuilles) trames de pile même si non nécessaire"
+-
+-#: config/arm/arm.opt:150
+-#, fuzzy
+-msgid "Tune code for the given processor"
+-msgstr "Compiler pour le processeur v850"
+-
+-#: config/arm/arm.opt:154
+-msgid "Assume big endian bytes, little endian words"
+-msgstr "Présumer un système à octets de poids fort pour les octets et faible pour les mots"
+-
+-#: config/arm/arm.opt:158
+-msgid "Use Neon quad-word (rather than double-word) registers for vectorization"
+-msgstr ""
+-
+-#: config/arm/pe.opt:23
+-msgid "Ignore dllimport attribute for functions"
+-msgstr "Ignorer l'attribut dllimport pour les fonctions"
+-
+-#: config/pdp11/pdp11.opt:23
+-msgid "Generate code for an 11/10"
+-msgstr "Générer du code pour un 11/10"
+-
+-#: config/pdp11/pdp11.opt:27
+-msgid "Generate code for an 11/40"
+-msgstr "Générer du code pour un 11/40"
+-
+-#: config/pdp11/pdp11.opt:31
+-msgid "Generate code for an 11/45"
+-msgstr "Générer du code pour un 11/45"
+-
+-#: config/pdp11/pdp11.opt:35
+-#, fuzzy
+-msgid "Use 16-bit abs patterns"
+-msgstr "Utiliser les registres FP de 64 bits"
+-
+-#: config/pdp11/pdp11.opt:39
+-#, fuzzy
+-msgid "Return floating-point results in ac0 (fr0 in Unix assembler syntax)"
+-msgstr "Le résultat retourné en virgule flottante se retrouve dans AC0."
+-
+-#: config/pdp11/pdp11.opt:43
+-msgid "Do not use inline patterns for copying memory"
+-msgstr ""
+-
+-#: config/pdp11/pdp11.opt:47
+-msgid "Use inline patterns for copying memory"
+-msgstr ""
+-
+-#: config/pdp11/pdp11.opt:51
+-msgid "Do not pretend that branches are expensive"
+-msgstr ""
+-
+-#: config/pdp11/pdp11.opt:55
+-msgid "Pretend that branches are expensive"
+-msgstr ""
+-
+-#: config/pdp11/pdp11.opt:59
+-#, fuzzy
+-msgid "Use the DEC assembler syntax"
+-msgstr "Utliser la syntaxe de l'assembleur DEC"
+-
+-#: config/pdp11/pdp11.opt:63
+-msgid "Use 32 bit float"
+-msgstr "Utiliser des flottants de 32 bits"
+-
+-#: config/pdp11/pdp11.opt:67
+-msgid "Use 64 bit float"
+-msgstr "Utiliser des flottants de 64 bits"
+-
+-#: config/pdp11/pdp11.opt:75
+-msgid "Use 16 bit int"
+-msgstr "Utiliser des int de 16 bits"
+-
+-#: config/pdp11/pdp11.opt:79
+-msgid "Use 32 bit int"
+-msgstr "Utiliser des int de 32 bits"
+-
+-#: config/pdp11/pdp11.opt:87
+-msgid "Target has split I&D"
+-msgstr "Cible a un I&D séparé"
+-
+-#: config/pdp11/pdp11.opt:91
+-msgid "Use UNIX assembler syntax"
+-msgstr "Utliser la syntaxe de l'assembleur UNIX"
+-
+-#: config/avr/avr.opt:23
+-#, fuzzy
+-msgid "Use subroutines for function prologues and epilogues"
+-msgstr "Utiliser des sous-routines pour le prologue/epilogue de fonction"
+-
+-#: config/avr/avr.opt:27
+-#, fuzzy
+-msgid "Select the target MCU"
+-msgstr "Spécifier le nom du processeur cible"
+-
+-#: config/avr/avr.opt:34
+-#, fuzzy
+-msgid "Use an 8-bit 'int' type"
+-msgstr "Utiliser le type int de 64 bits"
+-
+-#: config/avr/avr.opt:38
+-msgid "Change the stack pointer without disabling interrupts"
+-msgstr "Changer le pointeur de pile sans désactiver les interruptions"
+-
+-#: config/avr/avr.opt:42
+-msgid "Do not generate tablejump insns"
+-msgstr "Ne pas générer les sauts de table insns"
+-
+-#: config/avr/avr.opt:52
+-msgid "Use rjmp/rcall (limited range) on >8K devices"
+-msgstr "Utiliser rjpm/rcall (étendue limitée) sur des périphériques >8K"
+-
+-#: config/avr/avr.opt:56
+-msgid "Output instruction sizes to the asm file"
+-msgstr "Produire les tailles d'instructions dans le fichier asm"
+-
+-#: config/avr/avr.opt:60
+-msgid "Change only the low 8 bits of the stack pointer"
+-msgstr "Changer seulement les 8 bits du bas du pointeur de pile"
+-
+-#: config/crx/crx.opt:23
+-#, fuzzy
+-msgid "Support multiply accumulate instructions"
+-msgstr "Utiliser les instructions FP de multiplications avec accumulations"
+-
+-#: config/crx/crx.opt:27
+-#, fuzzy
+-msgid "Do not use push to store function arguments"
+-msgstr "Ne pas utiliser les instructions push pour sauvegardes les arguments sortants"
+-
+-#: config/crx/crx.opt:31
+-msgid "Restrict doloop to the given nesting level"
+-msgstr ""
+-
+-#: config/c4x/c4x.opt:23
+-msgid "Generate code for C30 CPU"
+-msgstr "Générer du code pour processeur C30"
+-
+-#: config/c4x/c4x.opt:27
+-msgid "Generate code for C31 CPU"
+-msgstr "Générer du code pour processeur C31"
+-
+-#: config/c4x/c4x.opt:31
+-msgid "Generate code for C32 CPU"
+-msgstr "Générer du code pour processeur C32"
+-
+-#: config/c4x/c4x.opt:35
+-msgid "Generate code for C33 CPU"
+-msgstr "Générer du code pour processeur C33"
+-
+-#: config/c4x/c4x.opt:39
+-msgid "Generate code for C40 CPU"
+-msgstr "Générer du code pour processeur C40"
+-
+-#: config/c4x/c4x.opt:43
+-msgid "Generate code for C44 CPU"
+-msgstr "Générer du code pour processeur C44"
+-
+-#: config/c4x/c4x.opt:47
+-msgid "Assume that pointers may be aliased"
+-msgstr "Présumer que les pointeurs peuvent être aliasés"
+-
+-#: config/c4x/c4x.opt:51
+-msgid "Big memory model"
+-msgstr "Modèle de mémoire grande"
+-
+-#: config/c4x/c4x.opt:55
+-msgid "Use the BK register as a general purpose register"
+-msgstr "Utiliser le registre BK comme registre général tout usage"
+-
+-#: config/c4x/c4x.opt:59
+-#, fuzzy
+-msgid "Generate code for CPU"
+-msgstr "Générer du code pour processeur C30"
+-
+-#: config/c4x/c4x.opt:63
+-msgid "Enable use of DB instruction"
+-msgstr "Activer l'utilisation d'instruction DB"
+-
+-#: config/c4x/c4x.opt:67
+-msgid "Enable debugging"
+-msgstr "Permettre la mise au point"
+-
+-#: config/c4x/c4x.opt:71
+-msgid "Enable new features under development"
+-msgstr "Autoriser les nouvelles options en développement"
+-
+-#: config/c4x/c4x.opt:75
+-msgid "Use fast but approximate float to integer conversion"
+-msgstr "Utiliser le mode rapide mais approximatif de conversion de flottant à entier"
+-
+-#: config/c4x/c4x.opt:79
+-msgid "Force RTL generation to emit valid 3 operand insns"
+-msgstr "Forcer la génération RTL pour produire des opérandes insn 3 valides"
+-
+-#: config/c4x/c4x.opt:83
+-msgid "Force constants into registers to improve hoisting"
+-msgstr "Forcer les constantes dans les registres pour améliorer la montée"
+-
+-#: config/c4x/c4x.opt:87 config/c4x/c4x.opt:111
+-msgid "Save DP across ISR in small memory model"
+-msgstr "Sauvegarder DP à travers ISR dans le modèle de mémoire restreinte"
+-
+-#: config/c4x/c4x.opt:91
+-msgid "Allow unsigned iteration counts for RPTB/DB"
+-msgstr "Autoriser un compteur non signé d'itérations pour RPTB/DB"
+-
+-#: config/c4x/c4x.opt:95
+-msgid "Pass arguments on the stack"
+-msgstr "Passer les arguments sur la pile"
+-
+-#: config/c4x/c4x.opt:99
+-msgid "Use MPYI instruction for C3x"
+-msgstr "Utiliser les instructions MPYI pour C3x"
+-
+-#: config/c4x/c4x.opt:103
+-msgid "Enable parallel instructions"
+-msgstr "Autoriser les instructions parallèles"
+-
+-#: config/c4x/c4x.opt:107
+-msgid "Enable MPY||ADD and MPY||SUB instructions"
+-msgstr "Autoriser les instructions MPY||ADD et MPY||SUB"
+-
+-#: config/c4x/c4x.opt:115
+-msgid "Preserve all 40 bits of FP reg across call"
+-msgstr "Préserver tous les 40 bits du registre FP à travers les appels"
+-
+-#: config/c4x/c4x.opt:119
+-msgid "Pass arguments in registers"
+-msgstr "Passer les arguments par les registres"
+-
+-#: config/c4x/c4x.opt:123
+-msgid "Enable use of RTPB instruction"
+-msgstr "Autoriser l'utilisation de l'instruction RTPB"
+-
+-#: config/c4x/c4x.opt:127
+-msgid "Enable use of RTPS instruction"
+-msgstr "Autoriser l'utilisation de l'instruction RTPS"
+-
+-#: config/c4x/c4x.opt:131
+-#, fuzzy
+-msgid "Set the maximum number of iterations for RPTS to N"
+-msgstr "Spécifier le nombre maximum d'itérations pour RPTS"
+-
+-#: config/c4x/c4x.opt:135
+-msgid "Small memory model"
+-msgstr "Modèle de mémoire petite"
+-
+-#: config/c4x/c4x.opt:139
+-msgid "Emit code compatible with TI tools"
+-msgstr "Produire du code compatible avec les outils TI"
+-
+-#: config/pa/pa-hpux.opt:23
+-msgid "Generate cpp defines for server IO"
+-msgstr "Générer les defines pour les IO d'un serveur"
+-
+-#: config/pa/pa-hpux.opt:27 config/pa/pa-hpux1010.opt:23
+-#: config/pa/pa-hpux1111.opt:23
+-msgid "Specify UNIX standard for predefines and linking"
+-msgstr ""
+-
+-#: config/pa/pa-hpux.opt:31
+-msgid "Generate cpp defines for workstation IO"
+-msgstr "Générer les defines pour les IO d'une station de travail"
+-
+-#: config/pa/pa.opt:23 config/pa/pa.opt:76 config/pa/pa.opt:84
+-msgid "Generate PA1.0 code"
+-msgstr "Générer du code PA1.0"
+-
+-#: config/pa/pa.opt:27 config/pa/pa.opt:88 config/pa/pa.opt:108
+-msgid "Generate PA1.1 code"
+-msgstr "Générer du code PA1.1"
+-
+-#: config/pa/pa.opt:31 config/pa/pa.opt:92
+-msgid "Generate PA2.0 code (requires binutils 2.10 or later)"
+-msgstr "Générer du code PA2.0 (nécessite binutils 2.10 ou supérieur)"
+-
+-#: config/pa/pa.opt:35
+-msgid "Generate code for huge switch statements"
+-msgstr "Générer du code pour les grandes déclarations de branchements"
+-
+-#: config/pa/pa.opt:39
+-msgid "Disable FP regs"
+-msgstr "Désactiver les registres FP"
+-
+-#: config/pa/pa.opt:43
+-msgid "Disable indexed addressing"
+-msgstr "désactiver l'adressage indexé"
+-
+-#: config/pa/pa.opt:47
+-msgid "Generate fast indirect calls"
+-msgstr "Ne pas utiliser les appels rapides indirects"
+-
+-#: config/pa/pa.opt:55
+-msgid "Assume code will be assembled by GAS"
+-msgstr "Assumer que le code sera assemblé par GAS"
+-
+-#: config/pa/pa.opt:59
+-msgid "Put jumps in call delay slots"
+-msgstr "Mettre des sauts dant les fentes de délais"
+-
+-#: config/pa/pa.opt:64
+-msgid "Enable linker optimizations"
+-msgstr "Activer les optimisations par l'éditeur de liens"
+-
+-#: config/pa/pa.opt:68
+-msgid "Always generate long calls"
+-msgstr "Générer toujours des appels longs"
+-
+-#: config/pa/pa.opt:72
+-msgid "Emit long load/store sequences"
+-msgstr "Générer des instructions multiples pour chargement/stockage"
+-
+-#: config/pa/pa.opt:80
+-msgid "Disable space regs"
+-msgstr "Désactiver l'espace registre"
+-
+-#: config/pa/pa.opt:96
+-msgid "Use portable calling conventions"
+-msgstr "Utiliser les conventions d'appels portables"
+-
+-#: config/pa/pa.opt:100
+-#, fuzzy
+-msgid "Specify CPU for scheduling purposes. Valid arguments are 700, 7100, 7100LC, 7200, 7300, and 8000"
+-msgstr ""
+-"Option inconnue -mschedule= (%s)\n"
+-"Les options valides sont 700, 7100, 7100LC, 7200, 7300 et 8000\n"
+-
+-#: config/pa/pa.opt:112
+-msgid "Do not disable space regs"
+-msgstr "Ne pas désactiver l'espace registre"
+-
+-#: config/pa/pa64-hpux.opt:23
+-msgid "Assume code will be linked by GNU ld"
+-msgstr "Assumer que le code sera lié par GNU ld"
+-
+-#: config/pa/pa64-hpux.opt:27
+-msgid "Assume code will be linked by HP ld"
+-msgstr "Assumer que le code sera lié par HP ld"
+-
+-#: config/xtensa/xtensa.opt:23
+-msgid "Use CONST16 instruction to load constants"
+-msgstr "Utiliser les instructions CONST16 pour charger les constantes"
+-
+-#: config/xtensa/xtensa.opt:27
+-msgid "Enable fused multiply/add and multiply/subtract FP instructions"
+-msgstr "Permettre les instructions fusionnés FP de multiplication/addition et de multiplication/soustraction"
+-
+-#: config/xtensa/xtensa.opt:31
+-msgid "Use indirect CALLXn instructions for large programs"
+-msgstr "Utiliser les instructions indirectes CALLXn pour les grands programmes"
+-
+-#: config/xtensa/xtensa.opt:35
+-msgid "Automatically align branch targets to reduce branch penalties"
+-msgstr "Aligner automatiquement les branchements cibles pour réduire les pénalités de branchement"
+-
+-#: config/xtensa/xtensa.opt:39
+-msgid "Intersperse literal pools with code in the text section"
+-msgstr "Entrecouper les lots de litéraux avec le code dans la section texte"
+-
+-#: config/stormy16/stormy16.opt:24
+-msgid "Provide libraries for the simulator"
+-msgstr ""
+-
+ #: config/mips/mips.opt:23
+ #, fuzzy
+ msgid "Generate code that conforms to the given ABI"
+@@ -14410,10 +14731,6 @@
+ msgid "Use little-endian byte order"
+ msgstr "Utiliser l'ordre des octets pour système à octets de poids faible"
+
+-#: config/mips/mips.opt:97 config/iq2000/iq2000.opt:31
+-msgid "Use ROM instead of RAM"
+-msgstr "Utiliser le ROM au lieu de la RAM"
+-
+ #: config/mips/mips.opt:101
+ msgid "Use NewABI-style %reloc() assembly operators"
+ msgstr "Utiliser NewABI-style %reloc() les opérateurs d'assemblage"
+@@ -14601,10 +14918,6 @@
+ msgid "Optimize the output for PROCESSOR"
+ msgstr ""
+
+-#: config/mips/mips.opt:265 config/iq2000/iq2000.opt:44
+-msgid "Put uninitialized constants in ROM (needs -membedded-data)"
+-msgstr "Placer les constantes non itialisées dans le ROM (a besoin de -membedded-data)"
+-
+ #: config/mips/mips.opt:269
+ #, fuzzy
+ msgid "Perform VR4130-specific alignment optimizations"
+@@ -14614,375 +14927,6 @@
+ msgid "Lift restrictions on GOT size"
+ msgstr "Enlever les restrictions sur la taille GOT"
+
+-#: config/mips/sdemtk.opt:23
+-#, fuzzy
+-msgid "Prevent the use of all floating-point operations"
+-msgstr "registres booléens requis pour l'option de virgule flottante"
+-
+-#: config/fr30/fr30.opt:23
+-msgid "Assume small address space"
+-msgstr "Présumer un petit espace d'adressage"
+-
+-#: config/m68hc11/m68hc11.opt:23 config/m68hc11/m68hc11.opt:31
+-msgid "Compile for a 68HC11"
+-msgstr "Compiler pour un 68HC11"
+-
+-#: config/m68hc11/m68hc11.opt:27 config/m68hc11/m68hc11.opt:35
+-msgid "Compile for a 68HC12"
+-msgstr "Compiler pour un 68HC12"
+-
+-#: config/m68hc11/m68hc11.opt:41 config/m68hc11/m68hc11.opt:45
+-msgid "Compile for a 68HCS12"
+-msgstr "Compiler pour un 68HCS12"
+-
+-#: config/m68hc11/m68hc11.opt:49
+-msgid "Auto pre/post decrement increment allowed"
+-msgstr "Auto pré/post décrementation incrémentation permise"
+-
+-#: config/m68hc11/m68hc11.opt:53
+-msgid "Min/max instructions allowed"
+-msgstr "instructions min/max permises"
+-
+-#: config/m68hc11/m68hc11.opt:57
+-msgid "Use call and rtc for function calls and returns"
+-msgstr "Utiliser call et rtc pour les appels fonction et les retours"
+-
+-#: config/m68hc11/m68hc11.opt:61
+-msgid "Auto pre/post decrement increment not allowed"
+-msgstr "Auto pré/post décrementation incrémentation non permise"
+-
+-#: config/m68hc11/m68hc11.opt:65
+-msgid "Use jsr and rts for function calls and returns"
+-msgstr "Utiliser jsr et rtc pour les appels de fonction et les retours"
+-
+-#: config/m68hc11/m68hc11.opt:69
+-msgid "Min/max instructions not allowed"
+-msgstr "instructions min/max ne sont pas permises"
+-
+-#: config/m68hc11/m68hc11.opt:73
+-msgid "Use direct addressing mode for soft registers"
+-msgstr "Ne pas utiliser les modes directs d'adressage pour les registres logiciels"
+-
+-#: config/m68hc11/m68hc11.opt:77
+-msgid "Compile with 32-bit integer mode"
+-msgstr "Compiler en mode entier de 32 bits"
+-
+-#: config/m68hc11/m68hc11.opt:82
+-msgid "Specify the register allocation order"
+-msgstr "Spécifier l'ordre d'allocation des registres"
+-
+-#: config/m68hc11/m68hc11.opt:86
+-msgid "Do not use direct addressing mode for soft registers"
+-msgstr "Ne pas utiliser les modes directs d'adressage pour des registres logiciels"
+-
+-#: config/m68hc11/m68hc11.opt:90
+-msgid "Compile with 16-bit integer mode"
+-msgstr "Compiler en mode entier de 16 bits"
+-
+-#: config/m68hc11/m68hc11.opt:94
+-msgid "Indicate the number of soft registers available"
+-msgstr "Indiquer le nombre de registres logiciels disponibles"
+-
+-#: config/vax/vax.opt:23 config/vax/vax.opt:27
+-msgid "Target DFLOAT double precision code"
+-msgstr ""
+-
+-#: config/vax/vax.opt:31 config/vax/vax.opt:35
+-#, fuzzy
+-msgid "Generate GFLOAT double precision code"
+-msgstr "Générer du code de système à octets de poids faible"
+-
+-#: config/vax/vax.opt:39
+-#, fuzzy
+-msgid "Generate code for GNU assembler (gas)"
+-msgstr "Générer du code pour GNU tel que"
+-
+-#: config/vax/vax.opt:43
+-#, fuzzy
+-msgid "Generate code for UNIX assembler"
+-msgstr "Générer du code pour GNU tel que"
+-
+-#: config/vax/vax.opt:47
+-#, fuzzy
+-msgid "Use VAXC structure conventions"
+-msgstr "Utiliser les conventions d'appels portables"
+-
+-#: config/cris/linux.opt:27
+-msgid "Together with -fpic and -fPIC, do not use GOTPLT references"
+-msgstr "ensemble avec -fpic et -fPIC, ne pas utiliser les références GOTPLT"
+-
+-#: config/cris/cris.opt:45
+-msgid "Work around bug in multiplication instruction"
+-msgstr "Travailler autour de l'anomalie dans l'instructions de multiplication"
+-
+-#: config/cris/cris.opt:51
+-msgid "Compile for ETRAX 4 (CRIS v3)"
+-msgstr "Compilé pour ETRAX 4 (CRIS v3)"
+-
+-#: config/cris/cris.opt:56
+-msgid "Compile for ETRAX 100 (CRIS v8)"
+-msgstr "Compile pour ETRAX 100 (CRIS v8)"
+-
+-#: config/cris/cris.opt:64
+-msgid "Emit verbose debug information in assembly code"
+-msgstr "Produire des informations de mise au point dans le code assemblé"
+-
+-#: config/cris/cris.opt:71
+-msgid "Do not use condition codes from normal instructions"
+-msgstr "Ne pas utiliser du code conditionnel pour des instructions normales"
+-
+-#: config/cris/cris.opt:80
+-msgid "Do not emit addressing modes with side-effect assignment"
+-msgstr "Ne pas produire de modes d'adressage avec des affectations avec effet de bord"
+-
+-#: config/cris/cris.opt:89
+-msgid "Do not tune stack alignment"
+-msgstr "Ne pas ajuster l'alignement de la pile"
+-
+-#: config/cris/cris.opt:98
+-msgid "Do not tune writable data alignment"
+-msgstr "Ne pas ajuster l'alignement les sections de données dynamiques"
+-
+-#: config/cris/cris.opt:107
+-msgid "Do not tune code and read-only data alignment"
+-msgstr "Ne pas ajuster l'alignement du code et des sections de données statiques"
+-
+-#: config/cris/cris.opt:116
+-msgid "Align code and data to 32 bits"
+-msgstr "Aligner le code et les données sur 32 bits"
+-
+-#: config/cris/cris.opt:133
+-msgid "Don't align items in code or data"
+-msgstr "Ne pas aligner les items dans le code ou les données"
+-
+-#: config/cris/cris.opt:142
+-msgid "Do not emit function prologue or epilogue"
+-msgstr "Ne pas générer de prologue ou d'épilogue de fonction"
+-
+-#: config/cris/cris.opt:149
+-msgid "Use the most feature-enabling options allowed by other options"
+-msgstr "Utiliser le plus d'options autorisant autorisant des options permises par les autres options"
+-
+-#: config/cris/cris.opt:158
+-msgid "Override -mbest-lib-options"
+-msgstr "Écraser -mbest-lib-options"
+-
+-#: config/cris/cris.opt:165
+-msgid "Generate code for the specified chip or CPU version"
+-msgstr "Générer le code pour la version de processeur ou de circuit spécifiée"
+-
+-#: config/cris/cris.opt:169
+-msgid "Tune alignment for the specified chip or CPU version"
+-msgstr "Ajuster l'alignement pour la version de processeur ou de circuit spécifiée"
+-
+-#: config/cris/cris.opt:173
+-msgid "Warn when a stackframe is larger than the specified size"
+-msgstr "Avertir lorsqu'une trame de pile est plus grande que la taille spécifiée"
+-
+-#: config/cris/aout.opt:27
+-msgid "Compile for the MMU-less Etrax 100-based elinux system"
+-msgstr "Compiler pour le MMU-less Etrax 100-based de système elinux"
+-
+-#: config/cris/aout.opt:33
+-msgid "For elinux, request a specified stack-size for this program"
+-msgstr "Pour elinux, faire la requête pour un taille de pile spécifique pour ce programme"
+-
+-#: config/h8300/h8300.opt:23
+-msgid "Generate H8S code"
+-msgstr "Générer du code H8S"
+-
+-#: config/h8300/h8300.opt:27
+-#, fuzzy
+-msgid "Generate H8SX code"
+-msgstr "Générer du code H8S"
+-
+-#: config/h8300/h8300.opt:31
+-msgid "Generate H8S/2600 code"
+-msgstr "Générer du code H8S/S2600"
+-
+-#: config/h8300/h8300.opt:35
+-msgid "Make integers 32 bits wide"
+-msgstr "Rendre les entiers larges de 32 bits"
+-
+-#: config/h8300/h8300.opt:42
+-msgid "Use registers for argument passing"
+-msgstr "Utiliser les registres pour le passage d'arguments"
+-
+-#: config/h8300/h8300.opt:46
+-msgid "Consider access to byte sized memory slow"
+-msgstr "Considérer l'accès mémoire lent pour la taille d'octets"
+-
+-#: config/h8300/h8300.opt:50
+-msgid "Enable linker relaxing"
+-msgstr "Activer la rélâche par l'éditeur de liens"
+-
+-#: config/h8300/h8300.opt:54
+-msgid "Generate H8/300H code"
+-msgstr "Générer du code H8/300H"
+-
+-#: config/h8300/h8300.opt:58
+-msgid "Enable the normal mode"
+-msgstr "Activer le mode normal"
+-
+-#: config/h8300/h8300.opt:62
+-msgid "Use H8/300 alignment rules"
+-msgstr "Utiliser les règles d'alignement H8/300"
+-
+-#: config/v850/v850.opt:23
+-#, fuzzy
+-msgid "Use registers r2 and r5"
+-msgstr "Ne pas utiliser les registres r2 et r5"
+-
+-#: config/v850/v850.opt:27
+-msgid "Use 4 byte entries in switch tables"
+-msgstr "Utiliser des entrées de 4 octets dans les tables de switch"
+-
+-#: config/v850/v850.opt:31
+-msgid "Enable backend debugging"
+-msgstr "Autoriser la mise au point par la fin"
+-
+-#: config/v850/v850.opt:35
+-msgid "Do not use the callt instruction"
+-msgstr "Ne pas utiliser l'instruction callt"
+-
+-#: config/v850/v850.opt:39
+-msgid "Reuse r30 on a per function basis"
+-msgstr "Ré-utiliser R30 sur une base par fonction"
+-
+-#: config/v850/v850.opt:43
+-msgid "Support Green Hills ABI"
+-msgstr "Supporter l'ABI Green Hills"
+-
+-#: config/v850/v850.opt:47
+-msgid "Prohibit PC relative function calls"
+-msgstr "Interdire les appels relatifs de fonctions par le PC"
+-
+-#: config/v850/v850.opt:51
+-msgid "Use stubs for function prologues"
+-msgstr "Utiliser des stubs pour les prologues de fonction"
+-
+-#: config/v850/v850.opt:55
+-msgid "Set the max size of data eligible for the SDA area"
+-msgstr "Initialiser la taille maximale des données éligibles pour la zone SDA"
+-
+-#: config/v850/v850.opt:59
+-msgid "Enable the use of the short load instructions"
+-msgstr "Activer l'utilisation d'instructions courtes de chargement"
+-
+-#: config/v850/v850.opt:63
+-msgid "Same as: -mep -mprolog-function"
+-msgstr "Identique à: -mep -mprolog-function"
+-
+-#: config/v850/v850.opt:67
+-msgid "Set the max size of data eligible for the TDA area"
+-msgstr "Initialiser la taille maximale des données éligibles pour la zone TDA"
+-
+-#: config/v850/v850.opt:71
+-msgid "Enforce strict alignment"
+-msgstr "Forcer l'alignement stricte"
+-
+-#: config/v850/v850.opt:78
+-msgid "Compile for the v850 processor"
+-msgstr "Compiler pour le processeur v850"
+-
+-#: config/v850/v850.opt:82
+-#, fuzzy
+-msgid "Compile for the v850e processor"
+-msgstr "Compiler pour le processeur v850"
+-
+-#: config/v850/v850.opt:86
+-#, fuzzy
+-msgid "Compile for the v850e1 processor"
+-msgstr "Compiler pour le processeur v850"
+-
+-#: config/v850/v850.opt:90
+-msgid "Set the max size of data eligible for the ZDA area"
+-msgstr "Initialiser la taille maximale des données éligibles pour la zone ZDA"
+-
+-#: config/mmix/mmix.opt:24
+-msgid "For intrinsics library: pass all parameters in registers"
+-msgstr "Pour les bibliothèques intrinsèques : passer tous les paramètres par registre"
+-
+-#: config/mmix/mmix.opt:28
+-msgid "Use register stack for parameters and return value"
+-msgstr "Utiliser le registre de la pile pour les paramètres et la valeur retournée"
+-
+-#: config/mmix/mmix.opt:32
+-msgid "Use call-clobbered registers for parameters and return value"
+-msgstr "utiliser les registres d'appels maltraités pour les paramètres et les valeurs retournées"
+-
+-#: config/mmix/mmix.opt:37
+-msgid "Use epsilon-respecting floating point compare instructions"
+-msgstr "Utiliser un epsilon respectant les instructions de comparaison en virgule flottante"
+-
+-#: config/mmix/mmix.opt:41
+-msgid "Use zero-extending memory loads, not sign-extending ones"
+-msgstr "utiliser des chargements mémoire avec zéro extension, pas celles avec signe d'extension"
+-
+-#: config/mmix/mmix.opt:45
+-msgid "Generate divide results with reminder having the same sign as the divisor (not the dividend)"
+-msgstr "générer des résultats de division avec reste ayant le même signe que le diviseur (pas le dividende)"
+-
+-#: config/mmix/mmix.opt:49
+-msgid "Prepend global symbols with \":\" (for use with PREFIX)"
+-msgstr "pré ajouter les symboles globaux avec «:» (pour l'utilisation avec PREFIX)"
+-
+-#: config/mmix/mmix.opt:53
+-msgid "Do not provide a default start-address 0x100 of the program"
+-msgstr "Ne pas fournir d'adresse de départ par défaut 0x100 du programme"
+-
+-#: config/mmix/mmix.opt:57
+-msgid "Link to emit program in ELF format (rather than mmo)"
+-msgstr "Faire l'édition de liens pour produire le programme en format ELF (au lieu de mmo)"
+-
+-#: config/mmix/mmix.opt:61
+-msgid "Use P-mnemonics for branches statically predicted as taken"
+-msgstr "Utiliser les mnémoniques P pour les branchements statiquement prévus à être pris"
+-
+-#: config/mmix/mmix.opt:65
+-msgid "Don't use P-mnemonics for branches"
+-msgstr "Ne pas utiliser les mnémoniques P pour les branchements"
+-
+-#: config/mmix/mmix.opt:79
+-msgid "Use addresses that allocate global registers"
+-msgstr "Utiliser les adresses qui allouent des registres globaux"
+-
+-#: config/mmix/mmix.opt:83
+-msgid "Do not use addresses that allocate global registers"
+-msgstr "Ne pas utiliser des adresses qui allouent des registres globaux"
+-
+-#: config/mmix/mmix.opt:87
+-msgid "Generate a single exit point for each function"
+-msgstr "Générer un point de sortie simple pour chaque fonction"
+-
+-#: config/mmix/mmix.opt:91
+-msgid "Do not generate a single exit point for each function"
+-msgstr "Ne pas générer un point de sortie simple pour chaque fonction"
+-
+-#: config/mmix/mmix.opt:95
+-msgid "Set start-address of the program"
+-msgstr "Adress de départ du programme fixée"
+-
+-#: config/mmix/mmix.opt:99
+-msgid "Set start-address of data"
+-msgstr "Adresse de départ des données fixée"
+-
+-#: config/iq2000/iq2000.opt:23 config/mt/mt.opt:55
+-msgid "Specify CPU for code generation purposes"
+-msgstr "Spécifier le processeur pour les besoins de la génération de code"
+-
+-#: config/iq2000/iq2000.opt:27
+-msgid "Specify CPU for scheduling purposes"
+-msgstr "Spécifier le processeur pour les besoins de l'ordonnancement"
+-
+-#: config/iq2000/iq2000.opt:35
+-msgid "Use GP relative sdata/sbss sections"
+-msgstr "Utiliser GP en mode relatif aux sections sdata/sbss"
+-
+-#: config/iq2000/iq2000.opt:40
+-msgid "No default crt0.o"
+-msgstr "Aucun défaut pour crt0.o"
+-
+ #: config/bfin/bfin.opt:31
+ #, fuzzy
+ msgid "Omit frame pointer for leaf functions"
+@@ -15022,1010 +14966,150 @@
+ msgid "Do stack checking using bounds in L1 scratch memory"
+ msgstr ""
+
+-#: config/mt/mt.opt:23
+-msgid "Use byte loads and stores when generating code."
+-msgstr ""
+-
+-#: config/mt/mt.opt:31
+-msgid "Do not include crt0.o in the startup files"
+-msgstr ""
+-
+-#: config/mt/mt.opt:35 config/mt/mt.opt:39 config/mt/mt.opt:43
+-#: config/mt/mt.opt:47 config/mt/mt.opt:51
++#: treelang/lang.opt:30
+ #, fuzzy
+-msgid "Internal debug switch"
+-msgstr "option -mdebug-%s inconnue"
++msgid "Trace lexical analysis"
++msgstr "(débug) trace l'analyse lexicale"
+
+-#: config/vxworks.opt:24
++#: treelang/lang.opt:34
+ #, fuzzy
+-msgid "Assume the VxWorks RTP environment"
+-msgstr "Présumer que l'environnement d'exécution C est normal"
++msgid "Trace the parsing process"
++msgstr "(débug) tracer le traitement de l'analyse"
+
+-#: config/vxworks.opt:31
++#: java/lang.opt:65
+ #, fuzzy
+-msgid "Assume the VxWorks vThreads environment"
+-msgstr "Présumer que l'environnement d'exécution C est normal"
++msgid "Warn if a deprecated compiler feature, class, method, or field is used"
++msgstr "Avertir si une classe, une méthode ou un champ obsolète est utilisé"
+
+-#: config/darwin.opt:23
+-#, fuzzy
+-msgid "Generate code suitable for fast turn around debugging"
+-msgstr "Générer du code adapté pour les exécutables (PAS les librairies partagées)"
++#: java/lang.opt:69
++msgid "Warn if deprecated empty statements are found"
++msgstr "Avertir si des déclarations vides obsolètes sont trouvées"
+
+-#: config/darwin.opt:31
+-msgid "The earliest MacOS X version on which this program will run"
+-msgstr ""
++#: java/lang.opt:73
++msgid "Warn if .class files are out of date"
++msgstr "Avertir si des fichier .class sont périmées"
+
+-#: config/darwin.opt:35
+-#, fuzzy
+-msgid "Set sizeof(bool) to 1"
+-msgstr "sizeof(long double) est 16"
++#: java/lang.opt:77
++msgid "Warn if modifiers are specified when not necessary"
++msgstr "Avertir si des modificateurs sont spécifiés sans que cela ne soit nécessaires"
+
+-#: config/darwin.opt:39
++#: java/lang.opt:81
+ #, fuzzy
+-msgid "Generate code for darwin loadable kernel extensions"
+-msgstr "Générer du code pour un système à octets de poids faible"
++msgid "Deprecated; use --classpath instead"
++msgstr "--CLASSPATH\tobsolète; utiliser --classpath à la place"
+
+-#: config/darwin.opt:43
+-#, fuzzy
+-msgid "Generate code for the kernel or loadable kernel extensions"
+-msgstr "Générer le code pour la version de processeur ou de circuit spécifiée"
+-
+-#: config/darwin.opt:47
+-#, fuzzy
+-msgid "Add <dir> to the end of the system framework include path"
+-msgstr "-idirafter <répertoire>\tajouter <répertoire> à la fin du chemin système d'inclusion"
+-
+-#: config/lynx.opt:23
+-msgid "Support legacy multi-threading"
++#: java/lang.opt:88
++msgid "Permit the use of the assert keyword"
+ msgstr ""
+
+-#: config/lynx.opt:27
++#: java/lang.opt:110
+ #, fuzzy
+-msgid "Use shared libraries"
+-msgstr "Autoriser les identificateurs de librairies partagées de base"
++msgid "Replace system path"
++msgstr "--bootclasspath=<chemin>\tremplacer le <chemin> système"
+
+-#: config/lynx.opt:31
+-msgid "Support multi-threading"
+-msgstr ""
+-
+-#: config/score/score.opt:31
++#: java/lang.opt:114
+ #, fuzzy
+-msgid "Disable bcnz instruction"
+-msgstr "Désactiver l'utilisation d'instruction DB"
++msgid "Generate checks for references to NULL"
++msgstr "Générer le code pour un DLL"
+
+-#: config/score/score.opt:35
+-#, fuzzy
+-msgid "Enable unaligned load/store instruction"
+-msgstr "Activer l'utilisation d'instruction DB"
++#: java/lang.opt:118
++msgid "Set class path"
++msgstr "Initialiser le chemin des classes"
+
+-#: config/score/score.opt:39
+-msgid "Support SCORE 5 ISA"
++#: java/lang.opt:125
++msgid "Output a class file"
+ msgstr ""
+
+-#: config/score/score.opt:43
+-msgid "Support SCORE 5U ISA"
++#: java/lang.opt:129
++msgid "Alias for -femit-class-file"
+ msgstr ""
+
+-#: config/score/score.opt:47
+-msgid "Support SCORE 7 ISA"
+-msgstr ""
+-
+-#: config/score/score.opt:51
+-msgid "Support SCORE 7D ISA"
+-msgstr ""
+-
+-#: config/score/score.opt:55
+-msgid "Support SCORE 3 ISA"
+-msgstr ""
+-
+-#: config/score/score.opt:59
+-msgid "Support SCORE 3d ISA"
+-msgstr ""
+-
+-#: config/linux.opt:24
++#: java/lang.opt:133
+ #, fuzzy
+-msgid "Use uClibc instead of GNU libc"
+-msgstr "Utiliser le ROM au lieu de la RAM"
++msgid "Choose input encoding (defaults from your locale)"
++msgstr "--encoding=<encodage>\tchoisir l'encodade d'entrée (par défaut provient de la locale)"
+
+-#: config/linux.opt:28
+-#, fuzzy
+-msgid "Use GNU libc instead of uClibc"
+-msgstr "Utiliser le ROM au lieu de la RAM"
+-
+-#: c.opt:41
+-#, fuzzy
+-msgid "Assert the <answer> to <question>. Putting '-' before <question> disables the <answer> to <question>"
+-msgstr "-A<question>=<réponse>\tassocier la <réponse> à la <question>. Placer « - » devant la <question> désactive la <réponse> à la <question>"
+-
+-#: c.opt:45
+-msgid "Do not discard comments"
+-msgstr "Ne pas éliminer les commentaires"
+-
+-#: c.opt:49
+-msgid "Do not discard comments in macro expansions"
+-msgstr "Ne pas éliminer les commentaires dans les expansions macro"
+-
+-#: c.opt:53
+-#, fuzzy
+-msgid "Define a <macro> with <val> as its value. If just <macro> is given, <val> is taken to be 1"
+-msgstr "-D<macro>[=<valeur>]\tdéfinir le <macro> avec la <valeur>. Si seul le <macro> est fourni, <valeur> vaut 1 par défaut"
+-
+-#: c.opt:60
+-#, fuzzy
+-msgid "Add <dir> to the end of the main framework include path"
+-msgstr "-iwithprefixbefore <répertoire>\tajouter le <répertoire> à la fin du chemin d'inclusion principal"
+-
+-#: c.opt:64
+-msgid "Print the name of header files as they are used"
+-msgstr "Afficher les noms des en-têtes de fichiers tel qu'ils sont utilisés"
+-
+-#: c.opt:68 c.opt:859
+-#, fuzzy
+-msgid "Add <dir> to the end of the main include path"
+-msgstr "-iwithprefixbefore <répertoire>\tajouter le <répertoire> à la fin du chemin d'inclusion principal"
+-
+-#: c.opt:72
+-msgid "Generate make dependencies"
+-msgstr "Générer les dépendances pour make"
+-
+-#: c.opt:76
+-msgid "Generate make dependencies and compile"
+-msgstr "Générer les dépendances pour make et compiler"
+-
+-#: c.opt:80
+-#, fuzzy
+-msgid "Write dependency output to the given file"
+-msgstr "-MF <fichier>\técrire les dépendances en sortie dans le fichier fourni"
+-
+-#: c.opt:84
+-msgid "Treat missing header files as generated files"
+-msgstr "Traiter les en-têtes manquantes de fichiers comme des fichiers générés"
+-
+-#: c.opt:88
+-msgid "Like -M but ignore system header files"
+-msgstr "Identique à -M mais ignore les en-têtes de fichiers système"
+-
+-#: c.opt:92
+-msgid "Like -MD but ignore system header files"
+-msgstr "Identique à -MD mais ignore les en-têtes de fichiers système"
+-
+-#: c.opt:96
+-msgid "Generate phony targets for all headers"
+-msgstr "Générer les cibles bidons pour toutes les en-têtes"
+-
+-#: c.opt:100
+-#, fuzzy
+-msgid "Add a MAKE-quoted target"
+-msgstr "-MQ <cible>\tajouter MAKE-quoted cible"
+-
+-#: c.opt:104
+-#, fuzzy
+-msgid "Add an unquoted target"
+-msgstr "-MT <cible>\tajouter une cible sans quote"
+-
+-#: c.opt:108
+-msgid "Do not generate #line directives"
+-msgstr "Ne pas générer de directives #line"
+-
+-#: c.opt:112
+-#, fuzzy
+-msgid "Undefine <macro>"
+-msgstr "-U<macro>\tabandonner la définition <macro>"
+-
+-#: c.opt:116
+-msgid "Warn about things that will change when compiling with an ABI-compliant compiler"
++#: java/lang.opt:137
++msgid "Set the extension directory path"
+ msgstr ""
+
+-#: c.opt:120
++#: java/lang.opt:144
+ #, fuzzy
+-msgid "Warn about suspicious uses of memory addresses"
+-msgstr "Avertir à propos des déclarations douteuses de \"main\""
++msgid "Input file is a file with a list of filenames to compile"
++msgstr "fichier d'entrée est listé dans les noms de fichiers à compiler"
+
+-#: c.opt:124
+-msgid "Enable most warning messages"
+-msgstr "Autoriser la plupart des messages d'avertissement"
++#: java/lang.opt:151
++msgid "Always check for non gcj generated classes archives"
++msgstr "Toujours vérifier dans les archives de classes non générées gcj"
+
+-#: c.opt:128
+-#, fuzzy
+-msgid "Warn if a comparison is always true or always false due to the limited range of the data type"
+-msgstr "comparaison est toujours fausse en raison d'une gamme limitée de type de données"
+-
+-#: c.opt:132
+-msgid "Warn whenever an Objective-C assignment is being intercepted by the garbage collector"
++#: java/lang.opt:155
++msgid "Assume the runtime uses a hash table to map an object to its synchronization structure"
+ msgstr ""
+
+-#: c.opt:136
+-msgid "Warn about casting functions to incompatible types"
+-msgstr "Avertir à propos des fonctions de transtypage avec des types incompatibles"
+-
+-#: c.opt:140
+-msgid "Warn about C constructs that are not in the common subset of C and C++"
++#: java/lang.opt:159
++msgid "Generate instances of Class at runtime"
+ msgstr ""
+
+-#: c.opt:144
+-#, fuzzy
+-msgid "Warn about C++ constructs whose meaning differs between ISO C++ 1998 and ISO C++ 200x"
+-msgstr "Avertir à propos de construits dont le sens change en C ISO"
++#: java/lang.opt:163
++msgid "Use offset tables for virtual method calls"
++msgstr "Utiliser des tables de décalage pour les appels de méthodes virtuelles"
+
+-#: c.opt:148
+-msgid "Warn about casts which discard qualifiers"
+-msgstr "Avertir à propos des transtypage qui écartent les qualificateurs"
++#: java/lang.opt:170
++msgid "Assume native functions are implemented using JNI"
++msgstr "Présumer que les fonctions natives sont implantées et qu'elles utilisent JNI"
+
+-#: c.opt:152
+-msgid "Warn about subscripts whose type is \"char\""
+-msgstr "Avertir à propos des souscripts dont le type est \"char\""
++#: java/lang.opt:174
++msgid "Enable optimization of static class initialization code"
++msgstr "Autorisser l'optimisation du code d'initialisation de classe statique"
+
+-#: c.opt:156
+-#, fuzzy
+-msgid "Warn about variables that might be changed by \"longjmp\" or \"vfork\""
+-msgstr "%Jvariable « %D » pourrait être maltraitée par un «longjmp» ou un «vfork »"
+-
+-#: c.opt:160
+-msgid "Warn about possibly nested block comments, and C++ comments spanning more than one physical line"
+-msgstr "Avertir à propos des blocs de commentaires imbriqués et les commentaires C++ qui s'étendent sur plus d'une ligne physique"
+-
+-#: c.opt:164
+-msgid "Synonym for -Wcomment"
+-msgstr "Synonyme pour -Wcommentaire"
+-
+-#: c.opt:168
+-msgid "Warn for implicit type conversions that may change a value"
++#: java/lang.opt:181
++msgid "Reduce the amount of reflection meta-data generated"
+ msgstr ""
+
+-#: c.opt:172
+-#, fuzzy
+-msgid "Warn for implicit type conversions between signed and unsigned integers"
+-msgstr "comparaison entre des expressions entières signée et non signée"
++#: java/lang.opt:185
++msgid "Enable assignability checks for stores into object arrays"
++msgstr "Autoriser la vérificaitions des affectations dans le stockage des tableaux d'objets"
+
+-#: c.opt:176
+-msgid "Warn when all constructors and destructors are private"
+-msgstr "Avertir lorsque tous les constructeurs et destructeurs sont privés"
+-
+-#: c.opt:180
+-msgid "Warn when a declaration is found after a statement"
+-msgstr "Avertir lorsqu'une déclaration est spécifiée après une déclaration"
+-
+-#: c.opt:184
+-msgid "Warn about deprecated compiler features"
+-msgstr "Avertir à propos des options obsolètes du compilateur"
+-
+-#: c.opt:188
+-msgid "Warn about compile-time integer division by zero"
+-msgstr "Avertir au sujet de la division entière par zéro au moment de la compilation"
+-
+-#: c.opt:192
+-msgid "Warn about violations of Effective C++ style rules"
+-msgstr "Avertir à propos des violations des règles de style de Effective C++"
+-
+-#: c.opt:196
++#: java/lang.opt:189
+ #, fuzzy
+-msgid "Warn about an empty body in an if or else statement"
+-msgstr "le corps du else est vide"
++msgid "Generate code for the Boehm GC"
++msgstr "Générer le code pour Boehm GC"
+
+-#: c.opt:200
+-msgid "Warn about stray tokens after #elif and #endif"
+-msgstr "Avertir à propos des jetons perdus après #elif et #endif"
+-
+-#: c.opt:208
+-#, fuzzy
+-msgid "This switch is deprecated; use -Werror=implicit-function-declaration instead"
+-msgstr "Cette option est obsolète; utiliser -Wextra à la place"
+-
+-#: c.opt:212
+-msgid "Warn if testing floating point numbers for equality"
+-msgstr "Avertir à propos des tests d'égalité sur des nombres flottants"
+-
+-#: c.opt:216
+-msgid "Warn about printf/scanf/strftime/strfmon format string anomalies"
+-msgstr "Avertir à propos des anomalies de format de chaînes pour printf/scanf/strftime/strfmon"
+-
+-#: c.opt:220
+-msgid "Warn if passing too many arguments to a function for its format string"
+-msgstr "Avertir lorsqu'il y a trop de passage d'arguments à une fonction pour le format de ses chaînes"
+-
+-#: c.opt:224
+-msgid "Warn about format strings that are not literals"
+-msgstr "Avertir à propos des chaînes de format qui n'ont pas de litérals"
+-
+-#: c.opt:228
+-#, fuzzy
+-msgid "Warn about format strings that contain NUL bytes"
+-msgstr "Avertir à propos des chaînes de format qui n'ont pas de litérals"
+-
+-#: c.opt:232
+-msgid "Warn about possible security problems with format functions"
+-msgstr "Avertir à propos des problèmes possibles de sécurité avec les formats de fonction"
+-
+-#: c.opt:236
+-msgid "Warn about strftime formats yielding 2-digit years"
+-msgstr "Avertir à propos des formats strftime ne laissant que 2 chiffres pour l'année"
+-
+-#: c.opt:240
+-#, fuzzy
+-msgid "Warn about zero-length formats"
+-msgstr "chaîne de format de longueur nulle %s"
+-
+-#: c.opt:247
+-#, fuzzy
+-msgid "Warn about variables which are initialized to themselves"
+-msgstr "Avertir au sujet des variables qui sont initialisés par elles-même"
+-
+-#: c.opt:254
+-msgid "Warn about implicit function declarations"
+-msgstr "Avertir à propos des déclarations de fonctions implicites"
+-
+-#: c.opt:258
+-msgid "Warn when a declaration does not specify a type"
+-msgstr "Avertir lorsqu'une déclaration ne spécifie pas le type"
+-
+-#: c.opt:262
+-#, fuzzy
+-msgid "Deprecated. This switch has no effect"
+-msgstr "Obsolète. Cette option n'a aucun effet."
+-
+-#: c.opt:266
+-#, fuzzy
+-msgid "Warn when there is a cast to a pointer from an integer of a different size"
+-msgstr "transtypage vers un pointeur depuis un entier de taille différente"
+-
+-#: c.opt:270
+-msgid "Warn about invalid uses of the \"offsetof\" macro"
+-msgstr "Avertir à propos de l'utilisation invalide de macro \"offsetof\""
+-
+-#: c.opt:274
+-msgid "Warn about PCH files that are found but not used"
+-msgstr "Avertir à propos des fichier PCH qui sont repérés mais non utilisés"
+-
+-#: c.opt:278
+-msgid "Do not warn about using \"long long\" when -pedantic"
+-msgstr "Ne pas avertir à propos de l'utilisation de \"long long\" avec -pedantic"
+-
+-#: c.opt:282
+-msgid "Warn about suspicious declarations of \"main\""
+-msgstr "Avertir à propos des déclarations douteuses de \"main\""
+-
+-#: c.opt:286
+-msgid "Warn about possibly missing braces around initializers"
+-msgstr "Avertir à propos des possibles accolades manquantes autour des initialisations"
+-
+-#: c.opt:290
+-msgid "Warn about global functions without previous declarations"
+-msgstr "Avertir à propos des fonctions globales sans déclaration précédente"
+-
+-#: c.opt:294
+-#, fuzzy
+-msgid "Warn about missing fields in struct initializers"
+-msgstr "Avertir à propos des possibles accolades manquantes autour des initialisations"
+-
+-#: c.opt:298
+-msgid "Warn about functions which might be candidates for format attributes"
+-msgstr "Avertir à propos des fonctions qui pourraient être candidates pour les attributs de format"
+-
+-#: c.opt:302
+-#, fuzzy
+-msgid "Warn about user-specified include directories that do not exist"
+-msgstr "Avertir à propos de macros définis dans le fichier principal qui ne sont pas utilisés"
+-
+-#: c.opt:306
+-msgid "Warn about function parameters declared without a type specifier in K&R-style functions"
++#: java/lang.opt:193
++msgid "Call a library routine to do integer divisions"
+ msgstr ""
+
+-#: c.opt:310
+-msgid "Warn about global functions without prototypes"
+-msgstr "Avertir à propos des fonctions globales sans prototype"
+-
+-#: c.opt:314
+-msgid "Warn about use of multi-character character constants"
+-msgstr "Avertir à propos de l'utilisation des chaînes de multi-caractères"
+-
+-#: c.opt:318
+-msgid "Warn about \"extern\" declarations not at file scope"
+-msgstr "Avertir à propos des déclarations \"extern\" qui n'est pas dans l'étendue du fichier"
+-
+-#: c.opt:322
+-msgid "Warn when non-templatized friend functions are declared within a template"
+-msgstr "Avertir lorsque des fonctions amis sans patron sont déclarés à l'intérieur d'un patron"
+-
+-#: c.opt:326
+-msgid "Warn about non-virtual destructors"
+-msgstr "Avertir à propos des destructeurs non virtuels"
+-
+-#: c.opt:330
+-msgid "Warn about NULL being passed to argument slots marked as requiring non-NULL"
++#: java/lang.opt:197
++msgid "Generated should be loaded by bootstrap loader"
+ msgstr ""
+
+-#: c.opt:334
+-#, fuzzy
+-msgid "Warn about non-normalised Unicode strings"
+-msgstr "Avertir à propos des chaînes de format qui ne sont pas des chaînes"
+-
+-#: c.opt:338
+-msgid "Warn if a C-style cast is used in a program"
+-msgstr "Avertir si le style de transtypage C est utilisé dans un programme"
+-
+-#: c.opt:342
+-#, fuzzy
+-msgid "Warn for obsolescent usage in a declaration"
+-msgstr "Avertir à propos des déclarations de fonctions implicites"
+-
+-#: c.opt:346
+-msgid "Warn if an old-style parameter definition is used"
+-msgstr "Avertir lorsqu'un paramètre de style ancien de définition est utilisé"
+-
+-#: c.opt:350
+-msgid "Warn if a string is longer than the maximum portable length specified by the standard"
++#: java/lang.opt:201
++msgid "Set the source language version"
+ msgstr ""
+
+-#: c.opt:354
+-msgid "Warn about overloaded virtual function names"
+-msgstr "Avertir à propos de la surcharge des noms de fonctions virtuelles"
+-
+-#: c.opt:358
++#: java/lang.opt:205
+ #, fuzzy
+-msgid "Warn about overriding initializers without side effects"
+-msgstr "Avertir au sujet des variables qui sont initialisés par elles-même"
++msgid "Set the target VM version"
++msgstr "version d'en-tête erronée"
+
+-#: c.opt:362
+-msgid "Warn about possibly missing parentheses"
+-msgstr "Avertir à propos du manque possible de parenthèses"
+-
+-#: c.opt:366
+-msgid "Warn when converting the type of pointers to member functions"
+-msgstr "Avertir lors de la conversion des types de pointeurs en membres de fonctions"
+-
+-#: c.opt:370
+-msgid "Warn about function pointer arithmetic"
+-msgstr "Avertir à propos d'arithmétique portant sur un pointeur de fonction"
+-
+-#: c.opt:374
+-#, fuzzy
+-msgid "Warn when a pointer is cast to an integer of a different size"
+-msgstr "transtypage d'un pointeur vers un entier de taille différente"
+-
+-#: c.opt:378
+-#, fuzzy
+-msgid "Warn about misuses of pragmas"
+-msgstr "Avertir à propos des pragmas non reconnus"
+-
+-#: c.opt:382
+-msgid "Warn if inherited methods are unimplemented"
+-msgstr "Avertir si les méthodes héritées ne sont pas implantées"
+-
+-#: c.opt:386
+-msgid "Warn about multiple declarations of the same object"
+-msgstr "Avertir à propos des déclarations multiples portant sur le même objet"
+-
+-#: c.opt:390
+-msgid "Warn when the compiler reorders code"
+-msgstr "Avertir lorsque le compilateur réordonne le code"
+-
+-#: c.opt:394
+-msgid "Warn whenever a function's return type defaults to \"int\" (C), or about inconsistent return types (C++)"
+-msgstr "Avertir lorsque le type de fonction à retourner par défaut est \"int\" (C) ou à propos d'un type inconsisten à retourner (C++)"
+-
+-#: c.opt:398
+-msgid "Warn if a selector has multiple methods"
+-msgstr "Avertir si le sélecteur a de multiples méthodes"
+-
+-#: c.opt:402
+-msgid "Warn about possible violations of sequence point rules"
+-msgstr "Avertir à propos des violations possibles des règles de séquence de points"
+-
+-#: c.opt:406
+-msgid "Warn about signed-unsigned comparisons"
+-msgstr "Avertir à propos des comparaisons signés ou non signés"
+-
+-#: c.opt:410
+-msgid "Warn when overload promotes from unsigned to signed"
+-msgstr "Avertir lorsque la surcharge fait la promotion d'un non signé en signé"
+-
+-#: c.opt:414
+-msgid "Warn about uncasted NULL used as sentinel"
+-msgstr ""
+-
+-#: c.opt:418
+-msgid "Warn about unprototyped function declarations"
+-msgstr "Avertir à propos des déclarations de fonctions sans prototype"
+-
+-#: c.opt:422
+-msgid "Warn if type signatures of candidate methods do not match exactly"
+-msgstr ""
+-
+-#: c.opt:426
+-msgid "Warn when synthesis behavior differs from Cfront"
+-msgstr "Avertir lorsque le comportement de synthère diffère de Cfront"
+-
+-#: c.opt:430 common.opt:182
+-msgid "Do not suppress warnings from system headers"
+-msgstr "Ne pas supprimer les avertissements pour les en-têtes système"
+-
+-#: c.opt:434
+-msgid "Warn about features not present in traditional C"
+-msgstr "Avertir à propos d'une option absente en C traditionnel"
+-
+-#: c.opt:438
+-msgid "Warn of prototypes causing type conversions different from what would happen in the absence of prototype"
+-msgstr ""
+-
+-#: c.opt:442
+-msgid "Warn if trigraphs are encountered that might affect the meaning of the program"
+-msgstr "Avertir si des trigraphes sont rencontrés et qui pourraient affecter le sens du programme"
+-
+-#: c.opt:446
+-#, fuzzy
+-msgid "Warn about @selector()s without previously declared methods"
+-msgstr "Avertir à propos des fonctions globales sans déclaration précédente"
+-
+-#: c.opt:450
+-msgid "Warn if an undefined macro is used in an #if directive"
+-msgstr "Avertir si un macro indéfini est utilisé dans un directive #if"
+-
+-#: c.opt:454
+-msgid "Warn about unrecognized pragmas"
+-msgstr "Avertir à propos des pragmas non reconnus"
+-
+-#: c.opt:458
+-msgid "Warn about macros defined in the main file that are not used"
+-msgstr "Avertir à propos de macros définis dans le fichier principal qui ne sont pas utilisés"
+-
+-#: c.opt:462
+-#, fuzzy
+-msgid "Do not warn about using variadic macros when -pedantic"
+-msgstr "Ne pas avertir à propos de l'utilisation de \"long long\" avec -pedantic"
+-
+-#: c.opt:466
+-#, fuzzy
+-msgid "Warn if a variable length array is used"
+-msgstr "Avertir lorsque 'une variable est inutilisée"
+-
+-#: c.opt:470
+-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.opt:474
+-#, fuzzy
+-msgid "Warn when a pointer differs in signedness in an assignment"
+-msgstr "Avertir lorsque la surcharge fait la promotion d'un non signé en signé"
+-
+-#: c.opt:478
+-msgid "A synonym for -std=c89 (for C) or -std=c++98 (for C++)"
+-msgstr ""
+-
+-#: c.opt:486
+-msgid "Enforce class member access control semantics"
+-msgstr "Forcer à la sémantique du contrôle d'accès à un membre de classe"
+-
+-#: c.opt:493
+-msgid "Change when template instances are emitted"
+-msgstr "Changer lorsque les instances du patron sont produites"
+-
+-#: c.opt:497
+-msgid "Recognize the \"asm\" keyword"
+-msgstr "Reconnaître le mot clé « asm »"
+-
+-#: c.opt:501
+-msgid "Recognize built-in functions"
+-msgstr "Reconnaître aucun construit dans les fonctions"
+-
+-#: c.opt:508
+-msgid "Check the return value of new"
+-msgstr "Vérifier la valeur retournée de new"
+-
+-#: c.opt:512
+-msgid "Allow the arguments of the '?' operator to have different types"
+-msgstr "Permettre les arguments de l'opérateur « ? » d'avoir différents types"
+-
+-#: c.opt:516
+-msgid "Reduce the size of object files"
+-msgstr "Réduire la taille des fichiers objets"
+-
+-#: c.opt:520
+-#, fuzzy
+-msgid "Use class <name> for constant strings"
+-msgstr "-fconst-string-class=<nom>\tutiliser la classe <nom> pour la chaînes de constantes"
+-
+-#: c.opt:524
+-msgid "Inline member functions by default"
+-msgstr "Rendre enligne un membre de fonction par défaut"
+-
+-#: c.opt:528
+-#, fuzzy
+-msgid "Preprocess directives only."
+-msgstr "Traiter les directive #ident"
+-
+-#: c.opt:532
+-msgid "Permit '$' as an identifier character"
+-msgstr "Autoriser '$' comme identificateur de caractère"
+-
+-#: c.opt:539
+-msgid "Generate code to check exception specifications"
+-msgstr "Générer le code pour vérifier les exceptions de spécifications"
+-
+-#: c.opt:546
+-#, fuzzy
+-msgid "Convert all strings and character constants to character set <cset>"
+-msgstr "-fexec-charset=<jeucar>\tconvertir toutes les chaînes et les constantes de caractères en jeu de caractères <jeucar>"
+-
+-#: c.opt:550
+-#, fuzzy
+-msgid "Permit universal character names (\\u and \\U) in identifiers"
+-msgstr "nom-de-caractère-universel « \\U%04x » invalide dans l'identificcateur"
+-
+-#: c.opt:554
+-#, fuzzy
+-msgid "Specify the default character set for source files"
+-msgstr "-finput-charset=<jeucar> spécifier le jeu de caractères par défaut pour les fichiers source"
+-
+-#: c.opt:562
+-msgid "Scope of for-init-statement variables is local to the loop"
+-msgstr "Étendue des variables for-init-statement est local à la boucle"
+-
+-#: c.opt:566
+-msgid "Do not assume that standard C libraries and \"main\" exist"
+-msgstr "Ne pas assumer que les bibliothèques standards C et \"main\" existent"
+-
+-#: c.opt:570
+-msgid "Recognize GNU-defined keywords"
+-msgstr "Reconnaître les mots clés définis GNU"
+-
+-#: c.opt:574
+-msgid "Generate code for GNU runtime environment"
+-msgstr "Générer du code pour l'environnement GNU d'exécution"
+-
+-#: c.opt:578
+-#, fuzzy
+-msgid "Use traditional GNU semantics for inline functions"
+-msgstr "le C traditionel rejette l'initialisation d'union"
+-
+-#: c.opt:591
+-msgid "Assume normal C execution environment"
+-msgstr "Présumer que l'environnement d'exécution C est normal"
+-
+-#: c.opt:595
+-msgid "Enable support for huge objects"
+-msgstr "Autoriser le support des grands objets"
+-
+-#: c.opt:599
+-msgid "Export functions even if they can be inlined"
+-msgstr "Exporter les fonctions même si elles peuvent être enligne"
+-
+-#: c.opt:603
+-msgid "Emit implicit instantiations of inline templates"
+-msgstr "Produire les instanciations explicites de patron enligne"
+-
+-#: c.opt:607
+-msgid "Emit implicit instantiations of templates"
+-msgstr "Produire les instanciations explicites de patron"
+-
+-#: c.opt:611
+-#, fuzzy
+-msgid "Inject friend functions into enclosing namespace"
+-msgstr "Intégrer les fonctions simples à l'intérieur des appelants"
+-
+-#: c.opt:618
+-msgid "Allow implicit conversions between vectors with differing numbers of subparts and/or differing element types."
+-msgstr ""
+-
+-#: c.opt:622
+-msgid "Don't warn about uses of Microsoft extensions"
+-msgstr "Ne donner d'avertissement au sujet de l'utilisation des extensions de Microsoft"
+-
+-#: c.opt:632
+-msgid "Generate code for NeXT (Apple Mac OS X) runtime environment"
+-msgstr "Générer le code pour l'environnement d'exécution du NeXT (Apple Mac OS X)"
+-
+-#: c.opt:636
+-msgid "Assume that receivers of Objective-C messages may be nil"
+-msgstr "Assumer que les receveur de messages Objective-C peut être NIL"
+-
+-#: c.opt:648
+-msgid "Generate special Objective-C methods to initialize/destroy non-POD C++ ivars, if needed"
+-msgstr ""
+-
+-#: c.opt:652
+-msgid "Allow fast jumps to the message dispatcher"
+-msgstr ""
+-
+-#: c.opt:658
+-msgid "Enable Objective-C exception and synchronization syntax"
+-msgstr "Autoriser l'exception Objective-C et la synchronisation de syntaxe"
+-
+-#: c.opt:662
+-msgid "Enable garbage collection (GC) in Objective-C/Objective-C++ programs"
+-msgstr ""
+-
+-#: c.opt:667
+-#, fuzzy
+-msgid "Enable Objective-C setjmp exception handling runtime"
+-msgstr "Autoriser l'exception Objective-C et la synchronisation de syntaxe"
+-
+-#: c.opt:671
+-#, fuzzy
+-msgid "Enable OpenMP"
+-msgstr "Permettre la mise au point"
+-
+-#: c.opt:675
+-msgid "Recognize C++ kewords like \"compl\" and \"xor\""
+-msgstr "Reconnaître les mots clés C++ comme \"compl\" et \"xor\""
+-
+-#: c.opt:679
+-msgid "Enable optional diagnostics"
+-msgstr "Autoriser les diagnostiques optionnels"
+-
+-#: c.opt:686
+-msgid "Look for and use PCH files even when preprocessing"
+-msgstr ""
+-
+-#: c.opt:690
+-msgid "Downgrade conformance errors to warnings"
+-msgstr "Dégrader les erreurs de conformité en des avertissements"
+-
+-#: c.opt:694
+-msgid "Treat the input file as already preprocessed"
+-msgstr "Traiter le fichier d'entrée comme ayant déjà été pré-traité"
+-
+-#: c.opt:698
+-msgid "Used in Fix-and-Continue mode to indicate that object files may be swapped in at runtime"
+-msgstr "Utiliser le mode Fix-and-=Continue pour indique que des fichiers objets peuvent interchangés lors de l'éexécution"
+-
+-#: c.opt:702
+-msgid "Enable automatic template instantiation"
+-msgstr "Autoriser l'instanciation automatique de patron"
+-
+-#: c.opt:706
+-msgid "Generate run time type descriptor information"
+-msgstr "Générer l'information pour un type de descripteur lors de l'exécution"
+-
+-#: c.opt:710
+-msgid "Use the same size for double as for float"
+-msgstr "Utiliser la même taille pour un double que pour un flottant"
+-
+-#: c.opt:718
+-msgid "Force the underlying type for \"wchar_t\" to be \"unsigned short\""
+-msgstr "Écraser le type sous-jacent de \"wchar_t\" vers \"unsigned short\""
+-
+-#: c.opt:722
+-msgid "When \"signed\" or \"unsigned\" is not given make the bitfield signed"
+-msgstr "Lorsque \"signed\" ou \"unsigned\" n,est pas fourni rendre le champ de bits signé"
+-
+-#: c.opt:726
+-msgid "Make \"char\" signed by default"
+-msgstr "Rendre les « char » signés par défaut"
+-
+-#: c.opt:733
+-msgid "Display statistics accumulated during compilation"
+-msgstr "Afficher les statistiques accumulés durant la compilation"
+-
+-#: c.opt:740
+-#, fuzzy
+-msgid "Distance between tab stops for column reporting"
+-msgstr "-ftabstop=<nombre>\tfixer la distance de la tabulation des colonnes dans les rapports"
+-
+-#: c.opt:744
+-#, fuzzy
+-msgid "Specify maximum template instantiation depth"
+-msgstr "-ftemplate-depth-<nombre>\tspécifier la profondeur maximale d'instanciation de patron"
+-
+-#: c.opt:751
+-#, fuzzy
+-msgid "Do not generate thread-safe code for initializing local statics"
+-msgstr "Ne pas générer du code pour les appels proches"
+-
+-#: c.opt:755
+-msgid "When \"signed\" or \"unsigned\" is not given make the bitfield unsigned"
+-msgstr "Lorsque \"signed\" ou \"unsigned\" n'est pas fourni rendre le champ de bits non signé"
+-
+-#: c.opt:759
+-msgid "Make \"char\" unsigned by default"
+-msgstr "Rendre les \"char\" non signés par défaut"
+-
+-#: c.opt:763
+-msgid "Use __cxa_atexit to register destructors"
+-msgstr "Utiliser « __cxa_atexit » pour enregistrer les destructeurs."
+-
+-#: c.opt:767
+-msgid "Use __cxa_get_exception_ptr in exception handling"
+-msgstr ""
+-
+-#: c.opt:771
+-msgid "Marks all inlined methods as having hidden visibility"
+-msgstr ""
+-
+-#: c.opt:775
+-msgid "Changes visibility to match Microsoft Visual Studio by default"
+-msgstr ""
+-
+-#: c.opt:779
+-msgid "Discard unused virtual functions"
+-msgstr "Écarter les fonctions virtuelles non utilisées"
+-
+-#: c.opt:783
+-msgid "Implement vtables using thunks"
+-msgstr "Implanter les vtables en utilisant des thunks"
+-
+-#: c.opt:787
+-msgid "Emit common-like symbols as weak symbols"
+-msgstr "Produire les symboles communs comme des symboles faibles"
+-
+-#: c.opt:791
+-#, fuzzy
+-msgid "Convert all wide strings and character constants to character set <cset>"
+-msgstr "-fwide-exec-charset=<cset>\tconvertir toutes les chaînes et les constantes larges de caractères en jeux de caractères <cset>"
+-
+-#: c.opt:795
+-msgid "Generate a #line directive pointing at the current working directory"
+-msgstr "Générer une directive #line pointant sur le répertoire courant de travail"
+-
+-#: c.opt:799
+-msgid "Emit cross referencing information"
+-msgstr "Produire l'information des références croisées"
+-
+-#: c.opt:803
+-msgid "Generate lazy class lookup (via objc_getClass()) for use in Zero-Link mode"
+-msgstr "Générer un recherche molle de class (via objc_getClass()) pour l'utilisation en mode Zero-Link"
+-
+-#: c.opt:807
+-msgid "Dump declarations to a .decl file"
+-msgstr "Vidanger les déclarations dans un fichier .decl"
+-
+-#: c.opt:811
+-msgid "Aggressive reduced debug info for structs"
+-msgstr ""
+-
+-#: c.opt:815
+-msgid "Conservative reduced debug info for structs"
+-msgstr ""
+-
+-#: c.opt:819
+-msgid "Detailed reduced debug info for structs"
+-msgstr ""
+-
+-#: c.opt:823 c.opt:855
+-#, fuzzy
+-msgid "Add <dir> to the end of the system include path"
+-msgstr "-idirafter <répertoire>\tajouter <répertoire> à la fin du chemin système d'inclusion"
+-
+-#: c.opt:827
+-#, fuzzy
+-msgid "Accept definition of macros in <file>"
+-msgstr "-imacros <fichier>\taccepter la définition de macros dans le <fichier>"
+-
+-#: c.opt:831
+-#, fuzzy
+-msgid "-imultilib <dir> Set <dir> to be the multilib include subdirectory"
+-msgstr "-isysroot <répertoire>\tsélectionner le <répertoire> comme répertoire racine du système"
+-
+-#: c.opt:835
+-#, fuzzy
+-msgid "Include the contents of <file> before other files"
+-msgstr "-include <fichier>\tinclure le contenu du <fichier> avant les autres fichiers"
+-
+-#: c.opt:839
+-#, fuzzy
+-msgid "Specify <path> as a prefix for next two options"
+-msgstr "-iprefix <chemin>\tsélectionner le <chemin> comme préfixer aux deux prochaines options"
+-
+-#: c.opt:843
+-#, fuzzy
+-msgid "Set <dir> to be the system root directory"
+-msgstr "-isysroot <répertoire>\tsélectionner le <répertoire> comme répertoire racine du système"
+-
+-#: c.opt:847
+-#, fuzzy
+-msgid "Add <dir> to the start of the system include path"
+-msgstr "-isystem <répertoire>\tajouter le <répertoire> au début du chemin d'inclusion principal"
+-
+-#: c.opt:851
+-#, fuzzy
+-msgid "Add <dir> to the end of the quote include path"
+-msgstr "-idirafter <répertoire>\tajouter <répertoire> à la fin du chemin système d'inclusion"
+-
+-#: c.opt:872
+-msgid "Do not search standard system include directories (those specified with -isystem will still be used)"
+-msgstr "Ne pas rechercher les répertoires standard système d'inclusion (ceux spécifiés avec -isystem seront encore utilisés)"
+-
+-#: c.opt:876
+-msgid "Do not search standard system include directories for C++"
+-msgstr "Ne pas rechercher les répertoires standard système d'inclusion pour C++"
+-
+-#: c.opt:892
+-msgid "Generate C header of platform-specific features"
+-msgstr "Générer les en-têtes C pour les options spécifiques à la plate-forme"
+-
+-#: c.opt:896
+-msgid "Print a checksum of the executable for PCH validity checking, and stop"
+-msgstr ""
+-
+-#: c.opt:900
+-msgid "Remap file names when including files"
+-msgstr "Rampper les noms lors de l'inclusion des fichiers"
+-
+-#: c.opt:904
+-msgid "Conform to the ISO 1998 C++ standard"
+-msgstr "Conforme au standard ISO C++ de 1998"
+-
+-#: c.opt:908
+-#, fuzzy
+-msgid "Conform to the ISO 1998 C++ standard, with extensions that are likely to"
+-msgstr "Conforme au standard ISO C++ de 1998 avec les extensions de GNU"
+-
+-#: c.opt:915 c.opt:950
+-msgid "Conform to the ISO 1990 C standard"
+-msgstr "Conforme au standard ISO C de 1990"
+-
+-#: c.opt:919 c.opt:958
+-msgid "Conform to the ISO 1999 C standard"
+-msgstr "Conforme au standard ISO C de 1999"
+-
+-#: c.opt:923
+-msgid "Deprecated in favor of -std=c99"
+-msgstr "Obsolète à la faveur de l'option -std=c99"
+-
+-#: c.opt:927
+-msgid "Conform to the ISO 1998 C++ standard with GNU extensions"
+-msgstr "Conforme au standard ISO C++ de 1998 avec les extensions de GNU"
+-
+-#: c.opt:931
+-#, fuzzy
+-msgid "Conform to the ISO 1998 C++ standard, with GNU extensions and"
+-msgstr "Conforme au standard ISO C++ de 1998 avec les extensions de GNU"
+-
+-#: c.opt:938
+-msgid "Conform to the ISO 1990 C standard with GNU extensions"
+-msgstr "Conforme au standard ISO C de 1990 avec les extensions de GNU"
+-
+-#: c.opt:942
+-msgid "Conform to the ISO 1999 C standard with GNU extensions"
+-msgstr "Conforme au standard ISO C de 1999 avec les extensions de GNU"
+-
+-#: c.opt:946
+-msgid "Deprecated in favor of -std=gnu99"
+-msgstr "Obsolète à la faveur de l'option -std=gnu99"
+-
+-#: c.opt:954
+-msgid "Conform to the ISO 1990 C standard as amended in 1994"
+-msgstr "Conforme au standard ISO C de 1990 tel amendé en 1994"
+-
+-#: c.opt:962
+-#, fuzzy
+-msgid "Deprecated in favor of -std=iso9899:1999"
+-msgstr "Obsolète à la faveur de l'option -std=c99"
+-
+-#: c.opt:966
+-msgid "Enable traditional preprocessing"
+-msgstr "Autoriser le traitement traditionnel"
+-
+-#: c.opt:970
+-#, fuzzy
+-msgid "Support ISO C trigraphs"
+-msgstr "-trigraphs\tSupporter les tri-graphes ISO C"
+-
+-#: c.opt:974
+-msgid "Do not predefine system-specific and GCC-specific macros"
+-msgstr "Ne pas prédéfinir les macros spécifiques au système ou à GCC"
+-
+-#: c.opt:978
+-msgid "Enable verbose output"
+-msgstr "Autoriser le mode bavard sur la sortie"
+-
+-#: common.opt:27
++#: common.opt:28
+ msgid "Display this information"
+ msgstr "afficher l'aide-mémoire"
+
+-#: common.opt:31
++#: common.opt:32
+ msgid "Display descriptions of a specific class of options. <class> is one or more of optimizers, target, warnings, undocumented, params"
+ msgstr ""
+
+-#: common.opt:35
++#: common.opt:36
+ msgid "Alias for --help=target"
+ msgstr ""
+
+-#: common.opt:51
++#: common.opt:52
+ #, fuzzy
+ msgid "Set parameter <param> to value. See below for a complete list of parameters"
+ msgstr "--param <paramètre>=<valeur>\tinitialiser le <paramètre> avec la valeur. Voir ci-bas pour la liste complète des paramètres"
+
+-#: common.opt:58
++#: common.opt:59
+ #, fuzzy
+ msgid "Put global and static data smaller than <number> bytes into a special section (on some targets)"
+ msgstr ""
+@@ -16033,1171 +15117,2053 @@
+ " petites que <nombre> d'octets dans une section\n"
+ " spéciale (sur certaines cibles)"
+
+-#: common.opt:62
++#: common.opt:63
+ #, fuzzy
+ msgid "Set optimization level to <number>"
+ msgstr "-O<nombre>\tutiliser le niveau d'optimisation <nombre>"
+
+-#: common.opt:66
++#: common.opt:67
+ msgid "Optimize for space rather than speed"
+ msgstr "Optimiser l'utilisation de l'espace plutôt que la vitesse"
+
+-#: common.opt:70
++#: common.opt:71
+ msgid "This switch is deprecated; use -Wextra instead"
+ msgstr "Cette option est obsolète; utiliser -Wextra à la place"
+
+-#: common.opt:74
++#: common.opt:75
+ msgid "Warn about returning structures, unions or arrays"
+ msgstr "Avertir à propos de structures retournés, unions ou tableaux"
+
+-#: common.opt:78
++#: common.opt:79
+ #, fuzzy
+ msgid "Warn if an array is accessed out of bounds"
+ msgstr "Avertir si des fichier .class sont périmées"
+
+-#: common.opt:82
++#: common.opt:83
+ #, fuzzy
+ msgid "Warn about inappropriate attribute usage"
+ msgstr "Avertir à propos d'arithmétique portant sur un pointeur de fonction"
+
+-#: common.opt:86
++#: common.opt:87
+ msgid "Warn about pointer casts which increase alignment"
+ msgstr "Avertir à propos des pointeurs convertis lesquels augment l'alignement"
+
+-#: common.opt:90
++#: common.opt:91
+ msgid "Warn about uses of __attribute__((deprecated)) declarations"
+ msgstr "Avertir à propos de l'utilisation des déclarations « __attribute__ ((deprecated)) »"
+
+-#: common.opt:94
++#: common.opt:95
+ msgid "Warn when an optimization pass is disabled"
+ msgstr "Avertir lorsque la passe d'optimisation est désactivée"
+
+-#: common.opt:98
++#: common.opt:99
+ msgid "Treat all warnings as errors"
+ msgstr "Traiter tous les avertissements commes des erreurs"
+
+-#: common.opt:102
++#: common.opt:103
+ #, fuzzy
+ msgid "Treat specified warning as error"
+ msgstr "Traiter tous les avertissements commes des erreurs"
+
+-#: common.opt:106
++#: common.opt:107
+ msgid "Print extra (possibly unwanted) warnings"
+ msgstr "Afficher des avertissements superflus (possiblement non désirés)"
+
+-#: common.opt:110
++#: common.opt:111
+ msgid "Exit on the first error occurred"
+ msgstr ""
+
+-#: common.opt:114
++#: common.opt:115
+ msgid "Warn when an inlined function cannot be inlined"
+ msgstr "Avertir lorsque des fonctions en ligne ne peuvent être enligne"
+
+-#: common.opt:118
++#: common.opt:119
+ #, fuzzy
+ msgid "Warn if an object is larger than <number> bytes"
+ msgstr "-Wlarger-than-<nombre>\tavertir si un objet est plus grand que <nombre> d'octets"
+
+-#: common.opt:122
++#: common.opt:123
+ msgid "Warn when a logical operator is suspicously always evaluating to true or false"
+ msgstr ""
+
+-#: common.opt:126
++#: common.opt:127
+ msgid "Warn if the loop cannot be optimized due to nontrivial assumptions."
+ msgstr ""
+
+-#: common.opt:130
++#: common.opt:131
+ msgid "Warn about functions which might be candidates for __attribute__((noreturn))"
+ msgstr "Avertir à propos des fonctions qui seraient candidates pour __attribute__((noreturn))"
+
+-#: common.opt:134
++#: common.opt:135
+ #, fuzzy
+ msgid "Warn about overflow in arithmetic expressions"
+ msgstr "débordement d'un nombre en virgule flottante dans l'expression"
+
+-#: common.opt:138
++#: common.opt:139
+ msgid "Warn when the packed attribute has no effect on struct layout"
+ msgstr "Avertir lorsque les attributs paquetés n'ont pas d'effet sur l'organisation d'un struct"
+
+-#: common.opt:142
++#: common.opt:143
+ msgid "Warn when padding is required to align structure members"
+ msgstr "Avertir lorsque le remplissage est requis pour aligner les membres de structure"
+
+-#: common.opt:146
++#: common.opt:147
+ msgid "Warn when one local variable shadows another"
+ msgstr "Avertir lorsqu'une variable locale masque une autre"
+
+-#: common.opt:150
++#: common.opt:151
+ msgid "Warn when not issuing stack smashing protection for some reason"
+ msgstr ""
+
+-#: common.opt:154 common.opt:158
++#: common.opt:155 common.opt:159
+ msgid "Warn about code which might break strict aliasing rules"
+ msgstr "Avertir à propos du code qui pourrait briser les règles strictes d'alias"
+
+-#: common.opt:162 common.opt:166
++#: common.opt:163 common.opt:167
+ #, fuzzy
+ msgid "Warn about optimizations that assume that signed overflow is undefined"
+ msgstr "Interdire les optimisation qui assument un comportement d'arrondissement FP par défaut"
+
+-#: common.opt:170
++#: common.opt:171
+ msgid "Warn about enumerated switches, with no default, missing a case"
+ msgstr "Avertir à propos d'un switch énuméré, sans défaut ou un case est manquant"
+
+-#: common.opt:174
++#: common.opt:175
+ msgid "Warn about enumerated switches missing a \"default:\" statement"
+ msgstr "Avertir à propos d'un switch énuméré n'ayant pas de déclaration \"default:\""
+
+-#: common.opt:178
++#: common.opt:179
+ msgid "Warn about all enumerated switches missing a specific case"
+ msgstr "Avertir à propos de tous les switch énumérés où un case spécific manque"
+
+-#: common.opt:186
++#: common.opt:183 c.opt:434
++msgid "Do not suppress warnings from system headers"
++msgstr "Ne pas supprimer les avertissements pour les en-têtes système"
++
++#: common.opt:187
+ msgid "Warn about uninitialized automatic variables"
+ msgstr "Avertir à propos des variables automatiques non initialisées"
+
+-#: common.opt:190
++#: common.opt:191
+ msgid "Warn about code that will never be executed"
+ msgstr "Avertir à propos du code qui ne sera jamais exécuté"
+
+-#: common.opt:194
++#: common.opt:195
+ msgid "Enable all -Wunused- warnings"
+ msgstr "Autoriser tous les -Wunused- warnings"
+
+-#: common.opt:198
++#: common.opt:199
+ msgid "Warn when a function is unused"
+ msgstr "Avertir lorsqu'une fonction est inutilisée"
+
+-#: common.opt:202
++#: common.opt:203
+ msgid "Warn when a label is unused"
+ msgstr "Avertir lorsqu'une étiquette est inutilisée"
+
+-#: common.opt:206
++#: common.opt:207
+ msgid "Warn when a function parameter is unused"
+ msgstr "Avertir lorsqu'un paramètre de fonction est inutilisé"
+
+-#: common.opt:210
++#: common.opt:211
+ msgid "Warn when an expression value is unused"
+ msgstr "Avertir lorsque la valeur d'une expression n'est pas utilisée"
+
+-#: common.opt:214
++#: common.opt:215
+ msgid "Warn when a variable is unused"
+ msgstr "Avertir lorsque 'une variable est inutilisée"
+
+-#: common.opt:218
++#: common.opt:219
+ #, fuzzy
+ msgid "Warn when a register variable is declared volatile"
+ msgstr "instance de la variable « %s » est déclaré privée"
+
+-#: common.opt:222
++#: common.opt:223
+ msgid "Warn instead of error in case profiles in -fprofile-use do not match"
+ msgstr ""
+
+-#: common.opt:226
++#: common.opt:227
+ #, fuzzy
+ msgid "Emit declaration information into <file>"
+ msgstr "-aux-info <fichier>\tproduire une déclaration d'information dans le <fichier>"
+
+-#: common.opt:239
++#: common.opt:240
+ #, fuzzy
+ msgid "Enable dumps from specific passes of the compiler"
+ msgstr "-d<lettres>\tautoriser les vidanges pour des passes spécifiques du compilateur"
+
+-#: common.opt:243
++#: common.opt:244
+ #, fuzzy
+ msgid "Set the file basename to be used for dumps"
+ msgstr "-dumpbase <fichier>\tfixer le nom de base du fichier à utiliser pour les vidanges"
+
+-#: common.opt:263
++#: common.opt:264
+ msgid "Align the start of functions"
+ msgstr "Aligner le début des fonctions"
+
+-#: common.opt:270
++#: common.opt:271
+ msgid "Align labels which are only reached by jumping"
+ msgstr "Aligner les étiquettes qui sont seulement atteintes par sauts"
+
+-#: common.opt:277
++#: common.opt:278
+ msgid "Align all labels"
+ msgstr "Aligner toutes les étiquettes"
+
+-#: common.opt:284
++#: common.opt:285
+ msgid "Align the start of loops"
+ msgstr "Aligner le début des boucles"
+
+-#: common.opt:299
++#: common.opt:300
+ msgid "Specify that arguments may alias each other and globals"
+ msgstr "Spécifier que les arguments peuvent avoir des alias l'un vers l'autre et globaux"
+
+-#: common.opt:303
++#: common.opt:304
+ msgid "Assume arguments may alias globals but not each other"
+ msgstr "Présumer que les arguments peuvent avoir des alias globaux mais pas l'un vers l'autre"
+
+-#: common.opt:307
++#: common.opt:308
+ msgid "Assume arguments alias neither each other nor globals"
+ msgstr "Assumer que les alias d'arguments n'en ont pas l'un vers l'autre ou globaux"
+
+-#: common.opt:311
++#: common.opt:312
+ #, fuzzy
+ msgid "Assume arguments alias no other storage"
+ msgstr "Assumer que les alias d'arguments n'en ont pas l'un vers l'autre ou globaux"
+
+-#: common.opt:315
++#: common.opt:316
+ msgid "Generate unwind tables that are exact at each instruction boundary"
+ msgstr "Générer des tables étendues qui soient exactes pour chaque borne d'instruction"
+
+-#: common.opt:319
++#: common.opt:320
+ #, fuzzy
+ msgid "Generate auto-inc/dec instructions"
+ msgstr "Générer des instructions « char »"
+
+-#: common.opt:327
++#: common.opt:328
+ msgid "Generate code to check bounds before indexing arrays"
+ msgstr "Générer du code pour vérifier les bornes avant d'indexer les tableaux"
+
+-#: common.opt:331
++#: common.opt:332
+ msgid "Replace add, compare, branch with branch on count register"
+ msgstr "Remplacer add,compare,branch avec des branchements utilisant un compteur registre"
+
+-#: common.opt:335
++#: common.opt:336
+ msgid "Use profiling information for branch probabilities"
+ msgstr "Utiliser les informations de profilage pour les probabilités de branchements"
+
+-#: common.opt:339
++#: common.opt:340
+ msgid "Perform branch target load optimization before prologue / epilogue threading"
+ msgstr "Effectuer l'optimisation du chargement du branchement cible avant le thread prologue / epilogue"
+
+-#: common.opt:343
++#: common.opt:344
+ msgid "Perform branch target load optimization after prologue / epilogue threading"
+ msgstr "Effectuer l'optimisation du chargement du branchement cible après le thread prologue / epilogue"
+
+-#: common.opt:347
++#: common.opt:348
+ msgid "Restrict target load migration not to re-use registers in any basic block"
+ msgstr ""
+
+-#: common.opt:351
++#: common.opt:352
+ #, fuzzy
+ msgid "Mark <register> as being preserved across functions"
+ msgstr "-fcall-saved-<registre>\tmarquer le <registre> comme étant préservé à travers les fonctions"
+
+-#: common.opt:355
++#: common.opt:356
+ #, fuzzy
+ msgid "Mark <register> as being corrupted by function calls"
+ msgstr "-fcall-used-<registre>\tmarquer le <registre> comme étant corrompu par les appels de fonctions"
+
+-#: common.opt:362
++#: common.opt:363
+ msgid "Save registers around function calls"
+ msgstr "Sauvegarder les registres autour des appels de fonction"
+
+-#: common.opt:366
++#: common.opt:367
+ msgid "Compare the results of several data dependence analyzers."
+ msgstr ""
+
+-#: common.opt:370
++#: common.opt:371
+ msgid "Do not put uninitialized globals in the common section"
+ msgstr "Ne pas placer de globaux non initialisés dans la section commune"
+
+-#: common.opt:374
++#: common.opt:375
+ msgid "Perform a register copy-propagation optimization pass"
+ msgstr "Effectuer la passe d'optimisation de la propagation-de-copie par registre"
+
+-#: common.opt:378
++#: common.opt:379
+ msgid "Perform cross-jumping optimization"
+ msgstr "Exécuter des optimisations de sauts croisés"
+
+-#: common.opt:382
++#: common.opt:383
+ msgid "When running CSE, follow jumps to their targets"
+ msgstr "Lorsque CSE s'exécute, suivre les sauts vers leurs cibles"
+
+-#: common.opt:386
++#: common.opt:387
+ msgid "When running CSE, follow conditional jumps"
+ msgstr "Lorsque CSE s'exécute, suivre les sauts considitionnels vers leurs cibles"
+
+-#: common.opt:390
++#: common.opt:391
+ msgid "Omit range reduction step when performing complex division"
+ msgstr ""
+
+-#: common.opt:394
++#: common.opt:395
+ msgid "Place data items into their own section"
+ msgstr "placer les items des données dans leur propre section"
+
+-#: common.opt:398
++#: common.opt:399
+ msgid "List all available debugging counters with their limits and counts."
+ msgstr ""
+
+-#: common.opt:402
++#: common.opt:403
+ msgid "-fdbg-cnt=<counter>:<limit>[,<counter>:<limit>,...] Set the debug counter limit. "
+ msgstr ""
+
+-#: common.opt:406
++#: common.opt:407
+ msgid "Map one directory name to another in debug information"
+ msgstr ""
+
+-#: common.opt:412
++#: common.opt:413
+ msgid "Defer popping functions args from stack until later"
+ msgstr "Déférer le dépilage des arguments de fonction de la pile plus tard"
+
+-#: common.opt:416
++#: common.opt:417
+ msgid "Attempt to fill delay slots of branch instructions"
+ msgstr "Tented de remplir de délais les fentes des instructions de branchement"
+
+-#: common.opt:420
++#: common.opt:421
+ msgid "Delete useless null pointer checks"
+ msgstr "Détruire les vérifications de pointeurs nul inutiles"
+
+-#: common.opt:424
++#: common.opt:425
+ #, fuzzy
+ msgid "How often to emit source location at the beginning of line-wrapped diagnostics"
+ msgstr "-fdiagnostics-show-location=[once|every-line]\tindiquer combien de fois les informations de localisation des sources doivent être produites au début d'un diagnostique lorsque les lignes doivent s'enrouler"
+
+-#: common.opt:428
++#: common.opt:429
+ msgid "Amend appropriate diagnostic messages with the command line option that controls them"
+ msgstr ""
+
+-#: common.opt:432
++#: common.opt:433
+ #, fuzzy
+ msgid "Dump various compiler internals to a file"
+ msgstr "-fdump-<type>\tvidander les divers internes du compilateur dans un fichier"
+
+-#: common.opt:436
++#: common.opt:437
+ #, fuzzy
+ msgid "Suppress output of addresses in debugging dumps"
+ msgstr "Supprimer dans la sortie les numéros d'instructions et de notes de lignes dans les vidanges de mises au point"
+
+-#: common.opt:440
++#: common.opt:441
+ #, fuzzy
+ msgid "Suppress output of instruction numbers, line number notes and addresses in debugging dumps"
+ msgstr "Supprimer dans la sortie les numéros d'instructions et de notes de lignes dans les vidanges de mises au point"
+
+-#: common.opt:444
++#: common.opt:445
+ #, fuzzy
+ msgid "Perform early inlining"
+ msgstr "Exécuter des réductions de boucles"
+
+-#: common.opt:448
++#: common.opt:449
+ msgid "Perform DWARF2 duplicate elimination"
+ msgstr "Exécuter une élimination DAWRF2 des doublons"
+
+-#: common.opt:452 common.opt:456
++#: common.opt:453 common.opt:457
+ msgid "Perform unused type elimination in debug info"
+ msgstr "Effectuer l'élimination des types non utilisés dans l'information de mise au point"
+
+-#: common.opt:460
++#: common.opt:461
+ msgid "Do not suppress C++ class debug information."
+ msgstr ""
+
+-#: common.opt:464
++#: common.opt:465
+ msgid "Enable exception handling"
+ msgstr "Autoriser le traitement des exceptions"
+
+-#: common.opt:468
++#: common.opt:469
+ msgid "Perform a number of minor, expensive optimizations"
+ msgstr "Effectuer un nombre mineur d'optimisations coûteuses"
+
+-#: common.opt:475
++#: common.opt:476
+ msgid "Assume no NaNs or infinities are generated"
+ msgstr "Assumer qu'aucun NaNs ou infinités ne soit généré"
+
+-#: common.opt:479
++#: common.opt:480
+ #, fuzzy
+ msgid "Mark <register> as being unavailable to the compiler"
+ msgstr "-ffixed-<registre>\tmarquer le <registre> comme n'étant plus disponible pour le compilateur"
+
+-#: common.opt:483
++#: common.opt:484
+ #, fuzzy
+ msgid "Don't allocate floats and doubles in extended-precision registers"
+ msgstr "Contrôle l'ordre d'allocation des registres entier"
+
+-#: common.opt:489
+-msgid "Copy memory address constants into registers before use"
+-msgstr "Copier les constantes d'adresses mémoire dans les registres avant de les utiliser"
++#: common.opt:488 common.opt:647 common.opt:855 common.opt:986 common.opt:1061
++msgid "Does nothing. Preserved for backward compatibility."
++msgstr ""
+
+-#: common.opt:493
++#: common.opt:492
+ #, fuzzy
+ msgid "Perform a forward propagation pass on RTL"
+ msgstr "Effectuer la passe d'optimisation de la propagation-de-copie par registre"
+
+-#: common.opt:500
++#: common.opt:499
+ msgid "Allow function addresses to be held in registers"
+ msgstr "Autoriser le maintien des adresses de fonction dans les registres"
+
+-#: common.opt:504
++#: common.opt:503
+ msgid "Place each function into its own section"
+ msgstr "placer chaque fonction dans sa propre section"
+
+-#: common.opt:508
++#: common.opt:507
+ msgid "Perform global common subexpression elimination"
+ msgstr "Exécuter l'élimination de sous-expression commune globale"
+
+-#: common.opt:512
++#: common.opt:511
+ msgid "Perform enhanced load motion during global common subexpression elimination"
+ msgstr "Exécuter un chargement amélioré lors de l'élimination de sous-expression commune globale"
+
+-#: common.opt:516
++#: common.opt:515
+ msgid "Perform store motion after global common subexpression elimination"
+ msgstr "Exécuter un stockage après l'élimination de sous-expression commune globale"
+
+-#: common.opt:520
++#: common.opt:519
+ #, fuzzy
+ msgid "Perform redundant load after store elimination in global common subexpression"
+ msgstr "Exécuter un stockage redondant après l'élimination de sous-expression commune globale"
+
+-#: common.opt:525
++#: common.opt:524
+ #, fuzzy
+ msgid "Perform global common subexpression elimination after register allocation"
+ msgstr "Exécuter l'élimination de sous-expression commune globale"
+
+-#: common.opt:530
++#: common.opt:529
+ msgid "Enable guessing of branch probabilities"
+ msgstr "Autoriser l'estimation des probabilités de branchement"
+
+-#: common.opt:538
++#: common.opt:537
+ msgid "Process #ident directives"
+ msgstr "Traiter les directive #ident"
+
+-#: common.opt:542
++#: common.opt:541
+ msgid "Perform conversion of conditional jumps to branchless equivalents"
+ msgstr "Exécuter la conversion des sauts conditionels à des équivalents sans branchements"
+
+-#: common.opt:546
++#: common.opt:545
+ msgid "Perform conversion of conditional jumps to conditional execution"
+ msgstr "Exécuter la conversion des sauts conditionnels à une exécution conditionnel"
+
+-#: common.opt:554
++#: common.opt:553
+ msgid "Do not generate .size directives"
+ msgstr "Ne pas générer de directives .size"
+
+-#: common.opt:563
++#: common.opt:562
+ msgid "Pay attention to the \"inline\" keyword"
+ msgstr "Porter attention au mot clé \"inline\""
+
+-#: common.opt:567
++#: common.opt:566
+ #, fuzzy
+ msgid "Integrate simple functions into their callers when code size is known to not growth"
+ msgstr "Intégrer les fonctions simples à l'intérieur des appelants"
+
+-#: common.opt:571
++#: common.opt:570
+ msgid "Integrate simple functions into their callers"
+ msgstr "Intégrer les fonctions simples à l'intérieur des appelants"
+
+-#: common.opt:575
++#: common.opt:574
+ #, fuzzy
+ msgid "Integrate functions called once into their callers"
+ msgstr "Intégrer les fonctions simples à l'intérieur des appelants"
+
+-#: common.opt:582
++#: common.opt:581
+ #, fuzzy
+ msgid "Limit the size of inlined functions to <number>"
+ msgstr "-finline-limit=<nombre>\tlimiter la taille des fonction enligne à <nombre>"
+
+-#: common.opt:586
++#: common.opt:585
+ msgid "Instrument function entry and exit with profiling calls"
+ msgstr "Traiter les entrées et les sorties des fonctions avec appels de profilage"
+
+-#: common.opt:590
++#: common.opt:589
+ msgid "-finstrument-functions-exclude-function-list=name,... Do not instrument listed functions"
+ msgstr ""
+
+-#: common.opt:594
++#: common.opt:593
+ msgid "-finstrument-functions-exclude-file-list=filename,... Do not instrument functions listed in files"
+ msgstr ""
+
+-#: common.opt:598
++#: common.opt:597
+ #, fuzzy
+ msgid "Perform Interprocedural constant propagation"
+ msgstr "Autoriser la propagation SSA de constante conditionnelle"
+
+-#: common.opt:602
++#: common.opt:601
+ #, fuzzy
+ msgid "Discover pure and const functions"
+ msgstr "Écarter les fonctions virtuelles non utilisées"
+
+-#: common.opt:606
++#: common.opt:605
+ msgid "Perform interprocedural points-to analysis"
+ msgstr ""
+
+-#: common.opt:610
++#: common.opt:609
+ msgid "Discover readonly and non addressable static variables"
+ msgstr ""
+
+-#: common.opt:614
++#: common.opt:613
+ msgid "Type based escape and alias analysis"
+ msgstr ""
+
+-#: common.opt:618
++#: common.opt:617
+ msgid "Perform matrix layout flattening and transposing based"
+ msgstr ""
+
+-#: common.opt:623
++#: common.opt:622
+ #, fuzzy
+ msgid "Perform structure layout optimizations based"
+ msgstr "Exécuter un réduction en force des optimisations"
+
+-#: common.opt:628
++#: common.opt:627
+ msgid "Optimize induction variables on trees"
+ msgstr ""
+
+-#: common.opt:632
++#: common.opt:631
+ #, fuzzy
+ msgid "Use jump tables for sufficiently large switch statements"
+ msgstr "étiquette de « case » en dehors de tout switch"
+
+-#: common.opt:636
++#: common.opt:635
+ msgid "Generate code for functions even if they are fully inlined"
+ msgstr "Générer le code pour les fonctions même si elles sont complètement enligne"
+
+-#: common.opt:640
++#: common.opt:639
+ msgid "Emit static const variables even if they are not used"
+ msgstr "Produire des variables constantes statiques même si elles ne sont pas utilisées"
+
+-#: common.opt:644
++#: common.opt:643
+ msgid "Give external symbols a leading underscore"
+ msgstr "Afficher les symboles externes préfixés d'un caractère de soulignement"
+
+-#: common.opt:648 common.opt:852 common.opt:983
+-msgid "Does nothing. Preserved for backward compatibility."
+-msgstr ""
+-
+-#: common.opt:652
++#: common.opt:651
+ msgid "Set errno after built-in math functions"
+ msgstr "Initialiser errno après les fonctions internes mathématiques"
+
+-#: common.opt:656
++#: common.opt:655
+ msgid "Report on permanent memory allocation"
+ msgstr "Rapporter l'allocation de mémoire permanente"
+
+-#: common.opt:663
++#: common.opt:662
+ msgid "Attempt to merge identical constants and constant variables"
+ msgstr "Tentative de fusion de constantes identique et des variables constantes"
+
+-#: common.opt:667
++#: common.opt:666
+ msgid "Attempt to merge identical constants across compilation units"
+ msgstr "Tentative de fusion de constantes identiques à travers des unités de compilation"
+
+-#: common.opt:671
++#: common.opt:670
+ #, fuzzy
++msgid "Attempt to merge identical debug strings across compilation units"
++msgstr "Tentative de fusion de constantes identiques à travers des unités de compilation"
++
++#: common.opt:674
++#, fuzzy
+ msgid "Limit diagnostics to <number> characters per line. 0 suppresses line-wrapping"
+ msgstr "-fmessage-length=<nombre>\tlimiter la longueur des diagnotiques à <nombre> de caractères par ligne. 0 supprime l'enroulement de ligne"
+
+-#: common.opt:675
++#: common.opt:678
+ msgid "Perform SMS based modulo scheduling before the first scheduling pass"
+ msgstr ""
+
+-#: common.opt:679
++#: common.opt:682
+ msgid "Perform SMS based modulo scheduling with register moves allowed"
+ msgstr ""
+
+-#: common.opt:683
++#: common.opt:686
+ #, fuzzy
+ msgid "Move loop invariant computations out of loops"
+ msgstr "Forcer pour toutes les boucles des calculs invariants en dehors des boucles"
+
+-#: common.opt:687
++#: common.opt:690
+ msgid "Add mudflap bounds-checking instrumentation for single-threaded program"
+ msgstr ""
+
+-#: common.opt:691
++#: common.opt:694
+ msgid "Add mudflap bounds-checking instrumentation for multi-threaded program"
+ msgstr ""
+
+-#: common.opt:695
++#: common.opt:698
+ msgid "Ignore read operations when inserting mudflap instrumentation"
+ msgstr ""
+
+-#: common.opt:699
++#: common.opt:702
+ #, fuzzy
+ msgid "Use the RTL dead code elimination pass"
+ msgstr "Autoriser l'élimination agressive SSA du code mort"
+
+-#: common.opt:703
++#: common.opt:706
+ #, fuzzy
+ msgid "Use the RTL dead store elimination pass"
+ msgstr "Effectuer la passe d'optimisation complète des déplacements par les registres"
+
+-#: common.opt:707
++#: common.opt:710
+ msgid "Enable/Disable the traditional scheduling in loops that already passed modulo scheduling"
+ msgstr ""
+
+-#: common.opt:711
++#: common.opt:714
+ msgid "Support synchronous non-call exceptions"
+ msgstr "Supporter les exceptions synchrones des non appels"
+
+-#: common.opt:715
++#: common.opt:718
+ msgid "When possible do not generate stack frames"
+ msgstr "Lorsque c'est possible ne pas générer des trames de pile"
+
+-#: common.opt:719
++#: common.opt:722
+ msgid "Expand OpenMP operations on SSA form"
+ msgstr ""
+
+-#: common.opt:723
++#: common.opt:726
+ msgid "Do the full register move optimization pass"
+ msgstr "Effectuer la passe d'optimisation complète des déplacements par les registres"
+
+-#: common.opt:727
++#: common.opt:730
+ msgid "Optimize sibling and tail recursive calls"
+ msgstr "Optimiser sur mesure les appels enfants et récursif"
+
+-#: common.opt:731 common.opt:735
++#: common.opt:734 common.opt:738
+ msgid "Report on memory allocation before interprocedural optimization"
+ msgstr ""
+
+-#: common.opt:739
++#: common.opt:742
+ msgid "Pack structure members together without holes"
+ msgstr "Empaqueter les membres des structures ensembles sans trous"
+
+-#: common.opt:743
++#: common.opt:746
+ msgid "Set initial maximum structure member alignment"
+ msgstr ""
+
+-#: common.opt:747
++#: common.opt:750
+ msgid "Return small aggregates in memory, not registers"
+ msgstr "Retourner les petits aggrégats en mémoire, pas dans les registres"
+
+-#: common.opt:751
++#: common.opt:754
+ msgid "Perform loop peeling"
+ msgstr "Exécuter des réductions de boucles"
+
+-#: common.opt:755
++#: common.opt:758
+ msgid "Enable machine specific peephole optimizations"
+ msgstr "Autoriser les optimisations des trous spécifiques à une machine"
+
+-#: common.opt:759
++#: common.opt:762
+ msgid "Enable an RTL peephole pass before sched2"
+ msgstr "Autoriser l'exécution de la passe RTL avant sched2"
+
+-#: common.opt:763
++#: common.opt:766
+ #, fuzzy
+ msgid "Generate position-independent code if possible (large mode)"
+ msgstr "Générer du code indépendant de la position si possible"
+
+-#: common.opt:767
++#: common.opt:770
+ #, fuzzy
+ msgid "Generate position-independent code for executables if possible (large mode)"
+ msgstr "Générer du code indépendant de la position pour les exécutables si possible"
+
+-#: common.opt:771
++#: common.opt:774
+ #, fuzzy
+ msgid "Generate position-independent code if possible (small mode)"
+ msgstr "Générer du code indépendant de la position si possible"
+
+-#: common.opt:775
++#: common.opt:778
+ #, fuzzy
+ msgid "Generate position-independent code for executables if possible (small mode)"
+ msgstr "Générer du code indépendant de la position pour les exécutables si possible"
+
+-#: common.opt:779
++#: common.opt:782
+ #, fuzzy
+ msgid "Run predictive commoning optimization."
+ msgstr "Autoriser l'optimisation des déplacements par registre"
+
+-#: common.opt:783
++#: common.opt:786
+ msgid "Generate prefetch instructions, if available, for arrays in loops"
+ msgstr "Générer des instructions prérecherchées, si disponible, pour les tableaux dans les boucles"
+
+-#: common.opt:787
++#: common.opt:790
+ msgid "Enable basic program profiling code"
+ msgstr "Autoriser le code de profilage de base du programme"
+
+-#: common.opt:791
++#: common.opt:794
+ msgid "Insert arc-based program profiling code"
+ msgstr "Insérer le code de profilage du programme de arc-based"
+
+-#: common.opt:795
++#: common.opt:798
+ msgid "Enable common options for generating profile info for profile feedback directed optimizations"
+ msgstr "Autoriser les options communes pour la génération d'information de profile pour le feedback d'optimisation direct de profile"
+
+-#: common.opt:799
++#: common.opt:802
+ msgid "Enable common options for performing profile feedback directed optimizations"
+ msgstr "Autoriser les options communes pour effectuer le feedback d'optimisation direct de profile"
+
+-#: common.opt:803
++#: common.opt:806
+ msgid "Insert code to profile values of expressions"
+ msgstr "Insérer le code pour profile les expressions de valeurs"
+
+-#: common.opt:810
++#: common.opt:813
+ #, fuzzy
+ msgid "Make compile reproducible using <string>"
+ msgstr "-frandom-seed=<chaîne>\tfaire une compilation reproduisible en utilisant <chaîne>"
+
+-#: common.opt:820
++#: common.opt:823
+ msgid "Record gcc command line switches in the object file."
+ msgstr ""
+
+-#: common.opt:824
++#: common.opt:827
+ msgid "Return small aggregates in registers"
+ msgstr "Retourner les petits aggrégats dans les registres"
+
+-#: common.opt:828
++#: common.opt:831
+ msgid "Enables a register move optimization"
+ msgstr "Autoriser l'optimisation des déplacements par registre"
+
+-#: common.opt:832
++#: common.opt:835
+ msgid "Perform a register renaming optimization pass"
+ msgstr "Effectuer une changement de nom de registres après une passe d'optimisation"
+
+-#: common.opt:836
++#: common.opt:839
+ msgid "Reorder basic blocks to improve code placement"
+ msgstr "Ré-ordonner les blocs de base pour améliorer l'emplacement de code"
+
+-#: common.opt:840
++#: common.opt:843
+ #, fuzzy
+ msgid "Reorder basic blocks and partition into hot and cold sections"
+ msgstr "Ré-ordonner les blocs de base pour améliorer l'emplacement de code"
+
+-#: common.opt:844
++#: common.opt:847
+ msgid "Reorder functions to improve code placement"
+ msgstr "Ré-ordonner les fonctions pour améliorer l'emplacement de code"
+
+-#: common.opt:848
++#: common.opt:851
+ msgid "Add a common subexpression elimination pass after loop optimizations"
+ msgstr "Ajouter une passe d'élimination d'une sous-expression commune après les optimisations de boucle"
+
+-#: common.opt:856
++#: common.opt:859
+ msgid "Disable optimizations that assume default FP rounding behavior"
+ msgstr "Interdire les optimisation qui assument un comportement d'arrondissement FP par défaut"
+
+-#: common.opt:860
++#: common.opt:863
+ msgid "Enable scheduling across basic blocks"
+ msgstr "Autoriser l'ordonnancement à travers les blocs de base"
+
+-#: common.opt:864
++#: common.opt:867
+ msgid "Allow speculative motion of non-loads"
+ msgstr "Autoriser le mouvement spéculatif de non chargements"
+
+-#: common.opt:868
++#: common.opt:871
+ msgid "Allow speculative motion of some loads"
+ msgstr "Autoriser le mouvement spéculatif de quelques chargements"
+
+-#: common.opt:872
++#: common.opt:875
+ msgid "Allow speculative motion of more loads"
+ msgstr "Autoriser le mouvement spéculatif de plusieurs chargements"
+
+-#: common.opt:876
++#: common.opt:879
+ #, fuzzy
+ msgid "Set the verbosity level of the scheduler"
+ msgstr "-fsched-verbose=<numéro>\tnitialiser le niveau de verbosité de l'ordonnanceur"
+
+-#: common.opt:880
++#: common.opt:883
+ msgid "If scheduling post reload, do superblock scheduling"
+ msgstr "Si l'ordonnancement fait une post recharge, faire un ordonnancement de super bloc"
+
+-#: common.opt:884
++#: common.opt:887
+ msgid "If scheduling post reload, do trace scheduling"
+ msgstr "Si l'ordonnancement fait une post recharge, laisse une trace de l'ordonnancement"
+
+-#: common.opt:888
++#: common.opt:891
+ msgid "Reschedule instructions before register allocation"
+ msgstr "Réordonnancer les instructions avant l'allocation de registres"
+
+-#: common.opt:892
++#: common.opt:895
+ msgid "Reschedule instructions after register allocation"
+ msgstr "Réordonnancer les instructions après l'allocation de registres"
+
+-#: common.opt:898
++#: common.opt:901
+ msgid "Allow premature scheduling of queued insns"
+ msgstr "Autoriser l'ordonnancement prématuré de queues insns"
+
+-#: common.opt:902
++#: common.opt:905
+ #, fuzzy
+ msgid "Set number of queued insns that can be prematurely scheduled"
+ msgstr "-fsched-stalled-insns=<nombre> fixer le nombre d'insns en queu qui peuvent être prématurément ordonnancés"
+
+-#: common.opt:910 common.opt:914
++#: common.opt:913 common.opt:917
+ msgid "Set dependence distance checking in premature scheduling of queued insns"
+ msgstr "Fixer la distance de vérification de dépendance dans l'ordonnancement prématuré d'insns en queue"
+
+-#: common.opt:918
++#: common.opt:921
+ msgid "Access data in the same section from shared anchor points"
+ msgstr ""
+
+-#: common.opt:922
++#: common.opt:925
+ #, fuzzy
+ msgid "Perform sequence abstraction optimization on RTL"
+ msgstr "Exécuter un réduction en force des optimisations"
+
+-#: common.opt:926
++#: common.opt:929
+ msgid "Eliminate redundant sign extensions using LCM."
+ msgstr ""
+
+-#: common.opt:930
++#: common.opt:933
+ msgid "Show column numbers in diagnostics, when available. Default off"
+ msgstr ""
+
+-#: common.opt:934
++#: common.opt:937
+ msgid "Disable optimizations observable by IEEE signaling NaNs"
+ msgstr "Désactiver les optimisations observable par le signalement NaNs IEEE"
+
+-#: common.opt:938
++#: common.opt:941
+ msgid "Disable floating point optimizations that ignore the IEEE signedness of zero"
+ msgstr ""
+
+-#: common.opt:942
++#: common.opt:945
+ msgid "Convert floating point constants to single precision constants"
+ msgstr "Convertir les constantes en virgules flottantes en constantes de simple précision"
+
+-#: common.opt:946
++#: common.opt:949
+ msgid "Split lifetimes of induction variables when loops are unrolled"
+ msgstr ""
+
+-#: common.opt:950
++#: common.opt:953
+ msgid "Split wide types into independent registers"
+ msgstr ""
+
+-#: common.opt:954
++#: common.opt:957
+ msgid "Apply variable expansion when loops are unrolled"
+ msgstr ""
+
+-#: common.opt:960
++#: common.opt:963
+ msgid "Insert stack checking code into the program"
+ msgstr "Insérer du code de vérificaion de la pile dans le programme"
+
+-#: common.opt:967
++#: common.opt:970
+ #, fuzzy
+ msgid "Trap if the stack goes past <register>"
+ msgstr "-fstack-limit-register=<registre>\tfaire un déroutement si la pile va au delà du <registre>"
+
+-#: common.opt:971
++#: common.opt:974
+ #, fuzzy
+ msgid "Trap if the stack goes past symbol <name>"
+ msgstr "-fstack-limit-symbol=<nom>\tfaire un déroutement si la pile va au delà du symbole <nom>"
+
+-#: common.opt:975
++#: common.opt:978
+ msgid "Use propolice as a stack protection method"
+ msgstr ""
+
+-#: common.opt:979
++#: common.opt:982
+ msgid "Use a stack protection method for every function"
+ msgstr ""
+
+-#: common.opt:991
++#: common.opt:994
+ msgid "Assume strict aliasing rules apply"
+ msgstr "Présumer que des règles stricts d'alias s'appliquent"
+
+-#: common.opt:995
++#: common.opt:998
+ #, fuzzy
+ msgid "Treat signed overflow as undefined"
+ msgstr "Traiter les en-têtes manquantes de fichiers comme des fichiers générés"
+
+-#: common.opt:999
++#: common.opt:1002
+ msgid "Check for syntax errors, then stop"
+ msgstr "Vérifier les erreurs de syntaxes et puis stopper"
+
+-#: common.opt:1003
++#: common.opt:1006
+ msgid "Create data files needed by \"gcov\""
+ msgstr "Créer les fichiers de données nécessaires à \"gcov\""
+
+-#: common.opt:1007
++#: common.opt:1010
+ msgid "Perform jump threading optimizations"
+ msgstr "Exécuter des optimisations de sauts de thread"
+
+-#: common.opt:1011
++#: common.opt:1014
+ msgid "Report the time taken by each compiler pass"
+ msgstr "Rapporter le temps pris par chaque passe de compilation"
+
+-#: common.opt:1015
++#: common.opt:1018
+ #, fuzzy
+ msgid "Set the default thread-local storage code generation model"
+ msgstr "-ftls-model=[global-dynamic|local-dynamic|initial-exec|local-exec]\tinitialiser le modèle de génération de code par défaut de thread local"
+
+-#: common.opt:1019
++#: common.opt:1022
+ msgid "Reorder top level functions, variables, and asms"
+ msgstr ""
+
+-#: common.opt:1023
++#: common.opt:1026
+ msgid "Perform superblock formation via tail duplication"
+ msgstr "Exécuter la formation du super bloc via la duplication de la queue"
+
+-#: common.opt:1030
++#: common.opt:1033
+ msgid "Assume floating-point operations can trap"
+ msgstr "On assume que les opérations en virgule flottante peuvent être attrappées"
+
+-#: common.opt:1034
++#: common.opt:1037
+ msgid "Trap for signed overflow in addition, subtraction and multiplication"
+ msgstr "Attrapper les débordements de signe dans l'addition, la soustraction et la multiplication"
+
+-#: common.opt:1038
++#: common.opt:1041
+ #, fuzzy
+ msgid "Enable SSA-CCP optimization on trees"
+ msgstr "Autoriser les optimisations SSA"
+
+-#: common.opt:1042
++#: common.opt:1045
+ #, fuzzy
+ msgid "Enable SSA-CCP optimization for stores and loads"
+ msgstr "Autoriser les optimisations SSA"
+
+-#: common.opt:1046
++#: common.opt:1049
+ msgid "Enable loop header copying on trees"
+ msgstr ""
+
+-#: common.opt:1050
++#: common.opt:1053
+ msgid "Replace SSA temporaries with better names in copies"
+ msgstr ""
+
+-#: common.opt:1054
++#: common.opt:1057
+ msgid "Enable copy propagation on trees"
+ msgstr ""
+
+-#: common.opt:1058
++#: common.opt:1065
+ #, fuzzy
+-msgid "This switch is obsolete"
+-msgstr "Cette option manque de documentation"
+-
+-#: common.opt:1062
+-#, fuzzy
+ msgid "Transform condition stores into unconditional ones"
+ msgstr "Exécuter la conversion des sauts conditionnels à une exécution conditionnel"
+
+-#: common.opt:1066
++#: common.opt:1069
+ #, fuzzy
+ msgid "Enable SSA dead code elimination optimization on trees"
+ msgstr "Autoriser l'élimination agressive SSA du code mort"
+
+-#: common.opt:1070
++#: common.opt:1073
+ #, fuzzy
+ msgid "Enable dominator optimizations"
+ msgstr "Activer les optimisations par l'éditeur de liens"
+
+-#: common.opt:1074
++#: common.opt:1077
+ #, fuzzy
+ msgid "Enable dead store elimination"
+ msgstr "Autoriser l'élimination agressive SSA du code mort"
+
+-#: common.opt:1078
++#: common.opt:1081
+ msgid "Enable Full Redundancy Elimination (FRE) on trees"
+ msgstr ""
+
+-#: common.opt:1082
++#: common.opt:1085
+ #, fuzzy
+ msgid "Enable loop invariant motion on trees"
+ msgstr "Forcer pour toutes les boucles des calculs invariants en dehors des boucles"
+
+-#: common.opt:1086
++#: common.opt:1089
+ #, fuzzy
+ msgid "Enable linear loop transforms on trees"
+ msgstr "Activer les optimisations par l'éditeur de liens"
+
+-#: common.opt:1090
++#: common.opt:1093
+ #, fuzzy
+ msgid "Create canonical induction variables in loops"
+ msgstr "Renforcer la réduction de toutes les boucles par induction des variables"
+
+-#: common.opt:1094
++#: common.opt:1097
+ #, fuzzy
+ msgid "Enable loop optimizations on tree level"
+ msgstr "Activer les optimisations par l'éditeur de liens"
+
+-#: common.opt:1098
++#: common.opt:1101
+ #, fuzzy
+ msgid "Enable automatic parallelization of loops"
+ msgstr "Autoriser l'instanciation automatique de patron"
+
+-#: common.opt:1102
++#: common.opt:1105
+ #, fuzzy
+ msgid "Enable SSA-PRE optimization on trees"
+ msgstr "Autoriser les optimisations SSA"
+
+-#: common.opt:1106
++#: common.opt:1109
+ msgid "Enable reassociation on tree level"
+ msgstr ""
+
+-#: common.opt:1110
++#: common.opt:1113
+ msgid "Perform structural alias analysis"
+ msgstr ""
+
+-#: common.opt:1114
++#: common.opt:1117
+ #, fuzzy
+ msgid "Enable SSA code sinking on trees"
+ msgstr "Autoriser les optimisations SSA"
+
+-#: common.opt:1118
++#: common.opt:1121
+ msgid "Perform scalar replacement of aggregates"
+ msgstr ""
+
+-#: common.opt:1122
++#: common.opt:1125
+ msgid "Replace temporary expressions in the SSA->normal pass"
+ msgstr ""
+
+-#: common.opt:1126
++#: common.opt:1129
+ msgid "Perform live range splitting during the SSA->normal pass"
+ msgstr ""
+
+-#: common.opt:1130
++#: common.opt:1133
+ #, fuzzy
+ msgid "Perform Value Range Propagation on trees"
+ msgstr "Effectuer la passe d'optimisation de la propagation-de-copie par registre"
+
+-#: common.opt:1134
++#: common.opt:1137
+ msgid "Compile whole compilation unit at a time"
+ msgstr "Compiler complètement à la fois une unité de compilation"
+
+-#: common.opt:1138
++#: common.opt:1141
+ msgid "Perform loop unrolling when iteration count is known"
+ msgstr "Exécuter un dé-roulement des boucles lorsque le compteur d'itération est connu"
+
+-#: common.opt:1142
++#: common.opt:1145
+ msgid "Perform loop unrolling for all loops"
+ msgstr "Exécuter la boucle par désenroulement de toutes les boucles"
+
+-#: common.opt:1149
++#: common.opt:1152
+ msgid "Allow loop optimizations to assume that the loops behave in normal way"
+ msgstr ""
+
+-#: common.opt:1153
++#: common.opt:1156
+ msgid "Allow optimization for floating-point arithmetic which may change the"
+ msgstr ""
+
+-#: common.opt:1158
++#: common.opt:1161
+ msgid "Same as -fassociative-math for expressions which include division."
+ msgstr ""
+
+-#: common.opt:1166
++#: common.opt:1169
+ msgid "Allow math optimizations that may violate IEEE or ISO standards"
+ msgstr "Permettre les optimisations mathématiques qui peuvent violer les standards IEEE ou ISO"
+
+-#: common.opt:1170
++#: common.opt:1173
+ msgid "Perform loop unswitching"
+ msgstr "Exécuter des boucles sans branchement"
+
+-#: common.opt:1174
++#: common.opt:1177
+ msgid "Just generate unwind tables for exception handling"
+ msgstr "Générer simplement des tables étendues pour le traitement des exceptions"
+
+-#: common.opt:1178
++#: common.opt:1181
+ #, fuzzy
+ msgid "Perform variable tracking"
+ msgstr "Effectuer une optimisation sur mesure des appels"
+
+-#: common.opt:1182
++#: common.opt:1185
+ msgid "Perform variable tracking and also tag variables that are uninitialized"
+ msgstr ""
+
+-#: common.opt:1186
++#: common.opt:1189
+ #, fuzzy
+ msgid "Enable loop vectorization on trees"
+ msgstr "Activer les optimisations par l'éditeur de liens"
+
+-#: common.opt:1190
++#: common.opt:1193
+ #, fuzzy
+ msgid "Enable use of cost model in vectorization"
+ msgstr "Autoriser l'utilisation des instructions conditionnelles move"
+
+-#: common.opt:1194
++#: common.opt:1197
+ msgid "Enable loop versioning when doing loop vectorization on trees"
+ msgstr ""
+
+-#: common.opt:1198
++#: common.opt:1201
+ #, fuzzy
+ msgid "Set the verbosity level of the vectorizer"
+ msgstr "-fsched-verbose=<numéro>\tnitialiser le niveau de verbosité de l'ordonnanceur"
+
+-#: common.opt:1202
++#: common.opt:1205
+ msgid "Enable copy propagation of scalar-evolution information."
+ msgstr ""
+
+-#: common.opt:1212
++#: common.opt:1215
+ msgid "Add extra commentary to assembler output"
+ msgstr "Ajouter des commentaires additionnels à la sortie de l'assembleur"
+
+-#: common.opt:1216
++#: common.opt:1219
+ msgid "Set the default symbol visibility"
+ msgstr ""
+
+-#: common.opt:1221
++#: common.opt:1224
+ msgid "Use expression value profiles in optimizations"
+ msgstr "Utiliser le profile de la valeur d'expression dans l'optimisation"
+
+-#: common.opt:1225
++#: common.opt:1228
+ msgid "Construct webs and split unrelated uses of single variable"
+ msgstr "Construire une toile et séparer les utilisations de variables simples"
+
+-#: common.opt:1229
++#: common.opt:1232
+ #, fuzzy
+ msgid "Perform whole program optimizations"
+ msgstr "Exécuter l'optimisation des boucles"
+
+-#: common.opt:1233
++#: common.opt:1236
+ msgid "Assume signed arithmetic overflow wraps around"
+ msgstr "Assumer un débordement arithmétique signé enroulé"
+
+-#: common.opt:1237
++#: common.opt:1240
+ msgid "Put zero initialized data in the bss section"
+ msgstr "Placer des données initialisées de zéros dans la section bss"
+
+-#: common.opt:1241
++#: common.opt:1244
+ msgid "Generate debug information in default format"
+ msgstr "Générer les informations de mise au point dans le format par défaut"
+
+-#: common.opt:1245
++#: common.opt:1248
+ msgid "Generate debug information in COFF format"
+ msgstr "Générer les informations de mise au point dans le format COFF"
+
+-#: common.opt:1249
++#: common.opt:1252
+ msgid "Generate debug information in DWARF v2 format"
+ msgstr "Générer les informations de mise au point dans le format DWARF v2"
+
+-#: common.opt:1253
++#: common.opt:1256
+ msgid "Generate debug information in default extended format"
+ msgstr "Générer les informations de mise au point dans le format étendu par défaut"
+
+-#: common.opt:1257
++#: common.opt:1260
+ msgid "Generate debug information in STABS format"
+ msgstr "Générer les informations de mise au point dans le format STABS"
+
+-#: common.opt:1261
++#: common.opt:1264
+ msgid "Generate debug information in extended STABS format"
+ msgstr "Générer les informations de mise au point dans le format étendu STABS"
+
+-#: common.opt:1265
++#: common.opt:1268
+ msgid "Generate debug information in VMS format"
+ msgstr "Générer les informations de mise au point dans le format VMS"
+
+-#: common.opt:1269
++#: common.opt:1272
+ msgid "Generate debug information in XCOFF format"
+ msgstr "Générer les information de mise au point dans le format XCOFF"
+
+-#: common.opt:1273
++#: common.opt:1276
+ msgid "Generate debug information in extended XCOFF format"
+ msgstr "Générer les informations de mise au point dans le format étendu XCOFF"
+
+-#: common.opt:1277
++#: common.opt:1280
+ #, fuzzy
+ msgid "Place output into <file>"
+ msgstr "-o <fichier>\tproduire la sortie dans le <fichier>"
+
+-#: common.opt:1281
++#: common.opt:1284
+ msgid "Enable function profiling"
+ msgstr "Autoriser le profilage de fonction"
+
+-#: common.opt:1285
++#: common.opt:1288
+ msgid "Issue warnings needed for strict compliance to the standard"
+ msgstr "Émettre les avertissements nécessaires pour être conforme au standard"
+
+-#: common.opt:1289
++#: common.opt:1292
+ msgid "Like -pedantic but issue them as errors"
+ msgstr "Identique à -pedantic mais les marque comme des erreurs"
+
+-#: common.opt:1293
++#: common.opt:1296
+ msgid "Do not display functions compiled or elapsed time"
+ msgstr "Ne pas afficher les fonctions compilées ou le temps écoulé"
+
+-#: common.opt:1297
++#: common.opt:1300
+ msgid "Display the compiler's version"
+ msgstr "Afficher la version du compilateur"
+
+-#: common.opt:1301
++#: common.opt:1304
+ msgid "Suppress warnings"
+ msgstr "Supprimer les avertissements"
+
+-#: common.opt:1305
++#: common.opt:1308
+ #, fuzzy
+ msgid "Create a shared library"
+ msgstr "Autoriser les identificateurs de librairies partagées de base"
+
+-#: common.opt:1309
++#: common.opt:1312
+ #, fuzzy
+ msgid "Create a position independent executable"
+ msgstr "Générer du code indépendant de la position pour les exécutables si possible"
+
++#: c.opt:41
++#, fuzzy
++msgid "Assert the <answer> to <question>. Putting '-' before <question> disables the <answer> to <question>"
++msgstr "-A<question>=<réponse>\tassocier la <réponse> à la <question>. Placer « - » devant la <question> désactive la <réponse> à la <question>"
++
++#: c.opt:45
++msgid "Do not discard comments"
++msgstr "Ne pas éliminer les commentaires"
++
++#: c.opt:49
++msgid "Do not discard comments in macro expansions"
++msgstr "Ne pas éliminer les commentaires dans les expansions macro"
++
++#: c.opt:53
++#, fuzzy
++msgid "Define a <macro> with <val> as its value. If just <macro> is given, <val> is taken to be 1"
++msgstr "-D<macro>[=<valeur>]\tdéfinir le <macro> avec la <valeur>. Si seul le <macro> est fourni, <valeur> vaut 1 par défaut"
++
++#: c.opt:60
++#, fuzzy
++msgid "Add <dir> to the end of the main framework include path"
++msgstr "-iwithprefixbefore <répertoire>\tajouter le <répertoire> à la fin du chemin d'inclusion principal"
++
++#: c.opt:64
++msgid "Print the name of header files as they are used"
++msgstr "Afficher les noms des en-têtes de fichiers tel qu'ils sont utilisés"
++
++#: c.opt:68 c.opt:863
++#, fuzzy
++msgid "Add <dir> to the end of the main include path"
++msgstr "-iwithprefixbefore <répertoire>\tajouter le <répertoire> à la fin du chemin d'inclusion principal"
++
++#: c.opt:72
++msgid "Generate make dependencies"
++msgstr "Générer les dépendances pour make"
++
++#: c.opt:76
++msgid "Generate make dependencies and compile"
++msgstr "Générer les dépendances pour make et compiler"
++
++#: c.opt:80
++#, fuzzy
++msgid "Write dependency output to the given file"
++msgstr "-MF <fichier>\técrire les dépendances en sortie dans le fichier fourni"
++
++#: c.opt:84
++msgid "Treat missing header files as generated files"
++msgstr "Traiter les en-têtes manquantes de fichiers comme des fichiers générés"
++
++#: c.opt:88
++msgid "Like -M but ignore system header files"
++msgstr "Identique à -M mais ignore les en-têtes de fichiers système"
++
++#: c.opt:92
++msgid "Like -MD but ignore system header files"
++msgstr "Identique à -MD mais ignore les en-têtes de fichiers système"
++
++#: c.opt:96
++msgid "Generate phony targets for all headers"
++msgstr "Générer les cibles bidons pour toutes les en-têtes"
++
++#: c.opt:100
++#, fuzzy
++msgid "Add a MAKE-quoted target"
++msgstr "-MQ <cible>\tajouter MAKE-quoted cible"
++
++#: c.opt:104
++#, fuzzy
++msgid "Add an unquoted target"
++msgstr "-MT <cible>\tajouter une cible sans quote"
++
++#: c.opt:108
++msgid "Do not generate #line directives"
++msgstr "Ne pas générer de directives #line"
++
++#: c.opt:112
++#, fuzzy
++msgid "Undefine <macro>"
++msgstr "-U<macro>\tabandonner la définition <macro>"
++
++#: c.opt:116
++msgid "Warn about things that will change when compiling with an ABI-compliant compiler"
++msgstr ""
++
++#: c.opt:120
++#, fuzzy
++msgid "Warn about suspicious uses of memory addresses"
++msgstr "Avertir à propos des déclarations douteuses de \"main\""
++
++#: c.opt:124
++msgid "Enable most warning messages"
++msgstr "Autoriser la plupart des messages d'avertissement"
++
++#: c.opt:128
++#, fuzzy
++msgid "Warn if a comparison is always true or always false due to the limited range of the data type"
++msgstr "comparaison est toujours fausse en raison d'une gamme limitée de type de données"
++
++#: c.opt:132
++msgid "Warn whenever an Objective-C assignment is being intercepted by the garbage collector"
++msgstr ""
++
++#: c.opt:136
++msgid "Warn about casting functions to incompatible types"
++msgstr "Avertir à propos des fonctions de transtypage avec des types incompatibles"
++
++#: c.opt:140
++msgid "Warn about C constructs that are not in the common subset of C and C++"
++msgstr ""
++
++#: c.opt:144
++#, fuzzy
++msgid "Warn about C++ constructs whose meaning differs between ISO C++ 1998 and ISO C++ 200x"
++msgstr "Avertir à propos de construits dont le sens change en C ISO"
++
++#: c.opt:148
++msgid "Warn about casts which discard qualifiers"
++msgstr "Avertir à propos des transtypage qui écartent les qualificateurs"
++
++#: c.opt:152
++msgid "Warn about subscripts whose type is \"char\""
++msgstr "Avertir à propos des souscripts dont le type est \"char\""
++
++#: c.opt:156
++#, fuzzy
++msgid "Warn about variables that might be changed by \"longjmp\" or \"vfork\""
++msgstr "%Jvariable « %D » pourrait être maltraitée par un «longjmp» ou un «vfork »"
++
++#: c.opt:160
++msgid "Warn about possibly nested block comments, and C++ comments spanning more than one physical line"
++msgstr "Avertir à propos des blocs de commentaires imbriqués et les commentaires C++ qui s'étendent sur plus d'une ligne physique"
++
++#: c.opt:164
++msgid "Synonym for -Wcomment"
++msgstr "Synonyme pour -Wcommentaire"
++
++#: c.opt:168
++msgid "Warn for implicit type conversions that may change a value"
++msgstr ""
++
++#: c.opt:172
++#, fuzzy
++msgid "Warn for implicit type conversions between signed and unsigned integers"
++msgstr "comparaison entre des expressions entières signée et non signée"
++
++#: c.opt:176
++msgid "Warn when all constructors and destructors are private"
++msgstr "Avertir lorsque tous les constructeurs et destructeurs sont privés"
++
++#: c.opt:180
++msgid "Warn when a declaration is found after a statement"
++msgstr "Avertir lorsqu'une déclaration est spécifiée après une déclaration"
++
++#: c.opt:184
++msgid "Warn about deprecated compiler features"
++msgstr "Avertir à propos des options obsolètes du compilateur"
++
++#: c.opt:188
++msgid "Warn about compile-time integer division by zero"
++msgstr "Avertir au sujet de la division entière par zéro au moment de la compilation"
++
++#: c.opt:192
++msgid "Warn about violations of Effective C++ style rules"
++msgstr "Avertir à propos des violations des règles de style de Effective C++"
++
++#: c.opt:196
++#, fuzzy
++msgid "Warn about an empty body in an if or else statement"
++msgstr "le corps du else est vide"
++
++#: c.opt:200
++msgid "Warn about stray tokens after #elif and #endif"
++msgstr "Avertir à propos des jetons perdus après #elif et #endif"
++
++#: c.opt:208
++#, fuzzy
++msgid "This switch is deprecated; use -Werror=implicit-function-declaration instead"
++msgstr "Cette option est obsolète; utiliser -Wextra à la place"
++
++#: c.opt:212
++msgid "Warn if testing floating point numbers for equality"
++msgstr "Avertir à propos des tests d'égalité sur des nombres flottants"
++
++#: c.opt:216
++msgid "Warn about printf/scanf/strftime/strfmon format string anomalies"
++msgstr "Avertir à propos des anomalies de format de chaînes pour printf/scanf/strftime/strfmon"
++
++#: c.opt:220
++msgid "Warn if passing too many arguments to a function for its format string"
++msgstr "Avertir lorsqu'il y a trop de passage d'arguments à une fonction pour le format de ses chaînes"
++
++#: c.opt:224
++msgid "Warn about format strings that are not literals"
++msgstr "Avertir à propos des chaînes de format qui n'ont pas de litérals"
++
++#: c.opt:228
++#, fuzzy
++msgid "Warn about format strings that contain NUL bytes"
++msgstr "Avertir à propos des chaînes de format qui n'ont pas de litérals"
++
++#: c.opt:232
++msgid "Warn about possible security problems with format functions"
++msgstr "Avertir à propos des problèmes possibles de sécurité avec les formats de fonction"
++
++#: c.opt:236
++msgid "Warn about strftime formats yielding 2-digit years"
++msgstr "Avertir à propos des formats strftime ne laissant que 2 chiffres pour l'année"
++
++#: c.opt:240
++#, fuzzy
++msgid "Warn about zero-length formats"
++msgstr "chaîne de format de longueur nulle %s"
++
++#: c.opt:247
++#, fuzzy
++msgid "Warn whenever type qualifiers are ignored."
++msgstr "Avertir lorsque des trigraphes sont rencontrés"
++
++#: c.opt:251
++#, fuzzy
++msgid "Warn about variables which are initialized to themselves"
++msgstr "Avertir au sujet des variables qui sont initialisés par elles-même"
++
++#: c.opt:258
++msgid "Warn about implicit function declarations"
++msgstr "Avertir à propos des déclarations de fonctions implicites"
++
++#: c.opt:262
++msgid "Warn when a declaration does not specify a type"
++msgstr "Avertir lorsqu'une déclaration ne spécifie pas le type"
++
++#: c.opt:266
++#, fuzzy
++msgid "Deprecated. This switch has no effect"
++msgstr "Obsolète. Cette option n'a aucun effet."
++
++#: c.opt:270
++#, fuzzy
++msgid "Warn when there is a cast to a pointer from an integer of a different size"
++msgstr "transtypage vers un pointeur depuis un entier de taille différente"
++
++#: c.opt:274
++msgid "Warn about invalid uses of the \"offsetof\" macro"
++msgstr "Avertir à propos de l'utilisation invalide de macro \"offsetof\""
++
++#: c.opt:278
++msgid "Warn about PCH files that are found but not used"
++msgstr "Avertir à propos des fichier PCH qui sont repérés mais non utilisés"
++
++#: c.opt:282
++msgid "Do not warn about using \"long long\" when -pedantic"
++msgstr "Ne pas avertir à propos de l'utilisation de \"long long\" avec -pedantic"
++
++#: c.opt:286
++msgid "Warn about suspicious declarations of \"main\""
++msgstr "Avertir à propos des déclarations douteuses de \"main\""
++
++#: c.opt:290
++msgid "Warn about possibly missing braces around initializers"
++msgstr "Avertir à propos des possibles accolades manquantes autour des initialisations"
++
++#: c.opt:294
++msgid "Warn about global functions without previous declarations"
++msgstr "Avertir à propos des fonctions globales sans déclaration précédente"
++
++#: c.opt:298
++#, fuzzy
++msgid "Warn about missing fields in struct initializers"
++msgstr "Avertir à propos des possibles accolades manquantes autour des initialisations"
++
++#: c.opt:302
++msgid "Warn about functions which might be candidates for format attributes"
++msgstr "Avertir à propos des fonctions qui pourraient être candidates pour les attributs de format"
++
++#: c.opt:306
++#, fuzzy
++msgid "Warn about user-specified include directories that do not exist"
++msgstr "Avertir à propos de macros définis dans le fichier principal qui ne sont pas utilisés"
++
++#: c.opt:310
++msgid "Warn about function parameters declared without a type specifier in K&R-style functions"
++msgstr ""
++
++#: c.opt:314
++msgid "Warn about global functions without prototypes"
++msgstr "Avertir à propos des fonctions globales sans prototype"
++
++#: c.opt:318
++msgid "Warn about use of multi-character character constants"
++msgstr "Avertir à propos de l'utilisation des chaînes de multi-caractères"
++
++#: c.opt:322
++msgid "Warn about \"extern\" declarations not at file scope"
++msgstr "Avertir à propos des déclarations \"extern\" qui n'est pas dans l'étendue du fichier"
++
++#: c.opt:326
++msgid "Warn when non-templatized friend functions are declared within a template"
++msgstr "Avertir lorsque des fonctions amis sans patron sont déclarés à l'intérieur d'un patron"
++
++#: c.opt:330
++msgid "Warn about non-virtual destructors"
++msgstr "Avertir à propos des destructeurs non virtuels"
++
++#: c.opt:334
++msgid "Warn about NULL being passed to argument slots marked as requiring non-NULL"
++msgstr ""
++
++#: c.opt:338
++#, fuzzy
++msgid "Warn about non-normalised Unicode strings"
++msgstr "Avertir à propos des chaînes de format qui ne sont pas des chaînes"
++
++#: c.opt:342
++msgid "Warn if a C-style cast is used in a program"
++msgstr "Avertir si le style de transtypage C est utilisé dans un programme"
++
++#: c.opt:346
++#, fuzzy
++msgid "Warn for obsolescent usage in a declaration"
++msgstr "Avertir à propos des déclarations de fonctions implicites"
++
++#: c.opt:350
++msgid "Warn if an old-style parameter definition is used"
++msgstr "Avertir lorsqu'un paramètre de style ancien de définition est utilisé"
++
++#: c.opt:354
++msgid "Warn if a string is longer than the maximum portable length specified by the standard"
++msgstr ""
++
++#: c.opt:358
++msgid "Warn about overloaded virtual function names"
++msgstr "Avertir à propos de la surcharge des noms de fonctions virtuelles"
++
++#: c.opt:362
++#, fuzzy
++msgid "Warn about overriding initializers without side effects"
++msgstr "Avertir au sujet des variables qui sont initialisés par elles-même"
++
++#: c.opt:366
++msgid "Warn about possibly missing parentheses"
++msgstr "Avertir à propos du manque possible de parenthèses"
++
++#: c.opt:370
++msgid "Warn when converting the type of pointers to member functions"
++msgstr "Avertir lors de la conversion des types de pointeurs en membres de fonctions"
++
++#: c.opt:374
++msgid "Warn about function pointer arithmetic"
++msgstr "Avertir à propos d'arithmétique portant sur un pointeur de fonction"
++
++#: c.opt:378
++#, fuzzy
++msgid "Warn when a pointer is cast to an integer of a different size"
++msgstr "transtypage d'un pointeur vers un entier de taille différente"
++
++#: c.opt:382
++#, fuzzy
++msgid "Warn about misuses of pragmas"
++msgstr "Avertir à propos des pragmas non reconnus"
++
++#: c.opt:386
++msgid "Warn if inherited methods are unimplemented"
++msgstr "Avertir si les méthodes héritées ne sont pas implantées"
++
++#: c.opt:390
++msgid "Warn about multiple declarations of the same object"
++msgstr "Avertir à propos des déclarations multiples portant sur le même objet"
++
++#: c.opt:394
++msgid "Warn when the compiler reorders code"
++msgstr "Avertir lorsque le compilateur réordonne le code"
++
++#: c.opt:398
++msgid "Warn whenever a function's return type defaults to \"int\" (C), or about inconsistent return types (C++)"
++msgstr "Avertir lorsque le type de fonction à retourner par défaut est \"int\" (C) ou à propos d'un type inconsisten à retourner (C++)"
++
++#: c.opt:402
++msgid "Warn if a selector has multiple methods"
++msgstr "Avertir si le sélecteur a de multiples méthodes"
++
++#: c.opt:406
++msgid "Warn about possible violations of sequence point rules"
++msgstr "Avertir à propos des violations possibles des règles de séquence de points"
++
++#: c.opt:410
++msgid "Warn about signed-unsigned comparisons"
++msgstr "Avertir à propos des comparaisons signés ou non signés"
++
++#: c.opt:414
++msgid "Warn when overload promotes from unsigned to signed"
++msgstr "Avertir lorsque la surcharge fait la promotion d'un non signé en signé"
++
++#: c.opt:418
++msgid "Warn about uncasted NULL used as sentinel"
++msgstr ""
++
++#: c.opt:422
++msgid "Warn about unprototyped function declarations"
++msgstr "Avertir à propos des déclarations de fonctions sans prototype"
++
++#: c.opt:426
++msgid "Warn if type signatures of candidate methods do not match exactly"
++msgstr ""
++
++#: c.opt:430
++msgid "Warn when synthesis behavior differs from Cfront"
++msgstr "Avertir lorsque le comportement de synthère diffère de Cfront"
++
++#: c.opt:438
++msgid "Warn about features not present in traditional C"
++msgstr "Avertir à propos d'une option absente en C traditionnel"
++
++#: c.opt:442
++msgid "Warn of prototypes causing type conversions different from what would happen in the absence of prototype"
++msgstr ""
++
++#: c.opt:446
++msgid "Warn if trigraphs are encountered that might affect the meaning of the program"
++msgstr "Avertir si des trigraphes sont rencontrés et qui pourraient affecter le sens du programme"
++
++#: c.opt:450
++#, fuzzy
++msgid "Warn about @selector()s without previously declared methods"
++msgstr "Avertir à propos des fonctions globales sans déclaration précédente"
++
++#: c.opt:454
++msgid "Warn if an undefined macro is used in an #if directive"
++msgstr "Avertir si un macro indéfini est utilisé dans un directive #if"
++
++#: c.opt:458
++msgid "Warn about unrecognized pragmas"
++msgstr "Avertir à propos des pragmas non reconnus"
++
++#: c.opt:462
++msgid "Warn about macros defined in the main file that are not used"
++msgstr "Avertir à propos de macros définis dans le fichier principal qui ne sont pas utilisés"
++
++#: c.opt:466
++#, fuzzy
++msgid "Do not warn about using variadic macros when -pedantic"
++msgstr "Ne pas avertir à propos de l'utilisation de \"long long\" avec -pedantic"
++
++#: c.opt:470
++#, fuzzy
++msgid "Warn if a variable length array is used"
++msgstr "Avertir lorsque 'une variable est inutilisée"
++
++#: c.opt:474
++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.opt:478
++#, fuzzy
++msgid "Warn when a pointer differs in signedness in an assignment"
++msgstr "Avertir lorsque la surcharge fait la promotion d'un non signé en signé"
++
++#: c.opt:482
++msgid "A synonym for -std=c89 (for C) or -std=c++98 (for C++)"
++msgstr ""
++
++#: c.opt:490
++msgid "Enforce class member access control semantics"
++msgstr "Forcer à la sémantique du contrôle d'accès à un membre de classe"
++
++#: c.opt:497
++msgid "Change when template instances are emitted"
++msgstr "Changer lorsque les instances du patron sont produites"
++
++#: c.opt:501
++msgid "Recognize the \"asm\" keyword"
++msgstr "Reconnaître le mot clé « asm »"
++
++#: c.opt:505
++msgid "Recognize built-in functions"
++msgstr "Reconnaître aucun construit dans les fonctions"
++
++#: c.opt:512
++msgid "Check the return value of new"
++msgstr "Vérifier la valeur retournée de new"
++
++#: c.opt:516
++msgid "Allow the arguments of the '?' operator to have different types"
++msgstr "Permettre les arguments de l'opérateur « ? » d'avoir différents types"
++
++#: c.opt:520
++msgid "Reduce the size of object files"
++msgstr "Réduire la taille des fichiers objets"
++
++#: c.opt:524
++#, fuzzy
++msgid "Use class <name> for constant strings"
++msgstr "-fconst-string-class=<nom>\tutiliser la classe <nom> pour la chaînes de constantes"
++
++#: c.opt:528
++msgid "Inline member functions by default"
++msgstr "Rendre enligne un membre de fonction par défaut"
++
++#: c.opt:532
++#, fuzzy
++msgid "Preprocess directives only."
++msgstr "Traiter les directive #ident"
++
++#: c.opt:536
++msgid "Permit '$' as an identifier character"
++msgstr "Autoriser '$' comme identificateur de caractère"
++
++#: c.opt:543
++msgid "Generate code to check exception specifications"
++msgstr "Générer le code pour vérifier les exceptions de spécifications"
++
++#: c.opt:550
++#, fuzzy
++msgid "Convert all strings and character constants to character set <cset>"
++msgstr "-fexec-charset=<jeucar>\tconvertir toutes les chaînes et les constantes de caractères en jeu de caractères <jeucar>"
++
++#: c.opt:554
++#, fuzzy
++msgid "Permit universal character names (\\u and \\U) in identifiers"
++msgstr "nom-de-caractère-universel « \\U%04x » invalide dans l'identificcateur"
++
++#: c.opt:558
++#, fuzzy
++msgid "Specify the default character set for source files"
++msgstr "-finput-charset=<jeucar> spécifier le jeu de caractères par défaut pour les fichiers source"
++
++#: c.opt:566
++msgid "Scope of for-init-statement variables is local to the loop"
++msgstr "Étendue des variables for-init-statement est local à la boucle"
++
++#: c.opt:570
++msgid "Do not assume that standard C libraries and \"main\" exist"
++msgstr "Ne pas assumer que les bibliothèques standards C et \"main\" existent"
++
++#: c.opt:574
++msgid "Recognize GNU-defined keywords"
++msgstr "Reconnaître les mots clés définis GNU"
++
++#: c.opt:578
++msgid "Generate code for GNU runtime environment"
++msgstr "Générer du code pour l'environnement GNU d'exécution"
++
++#: c.opt:582
++#, fuzzy
++msgid "Use traditional GNU semantics for inline functions"
++msgstr "le C traditionel rejette l'initialisation d'union"
++
++#: c.opt:595
++msgid "Assume normal C execution environment"
++msgstr "Présumer que l'environnement d'exécution C est normal"
++
++#: c.opt:599
++msgid "Enable support for huge objects"
++msgstr "Autoriser le support des grands objets"
++
++#: c.opt:603
++msgid "Export functions even if they can be inlined"
++msgstr "Exporter les fonctions même si elles peuvent être enligne"
++
++#: c.opt:607
++msgid "Emit implicit instantiations of inline templates"
++msgstr "Produire les instanciations explicites de patron enligne"
++
++#: c.opt:611
++msgid "Emit implicit instantiations of templates"
++msgstr "Produire les instanciations explicites de patron"
++
++#: c.opt:615
++#, fuzzy
++msgid "Inject friend functions into enclosing namespace"
++msgstr "Intégrer les fonctions simples à l'intérieur des appelants"
++
++#: c.opt:622
++msgid "Allow implicit conversions between vectors with differing numbers of subparts and/or differing element types."
++msgstr ""
++
++#: c.opt:626
++msgid "Don't warn about uses of Microsoft extensions"
++msgstr "Ne donner d'avertissement au sujet de l'utilisation des extensions de Microsoft"
++
++#: c.opt:636
++msgid "Generate code for NeXT (Apple Mac OS X) runtime environment"
++msgstr "Générer le code pour l'environnement d'exécution du NeXT (Apple Mac OS X)"
++
++#: c.opt:640
++msgid "Assume that receivers of Objective-C messages may be nil"
++msgstr "Assumer que les receveur de messages Objective-C peut être NIL"
++
++#: c.opt:652
++msgid "Generate special Objective-C methods to initialize/destroy non-POD C++ ivars, if needed"
++msgstr ""
++
++#: c.opt:656
++msgid "Allow fast jumps to the message dispatcher"
++msgstr ""
++
++#: c.opt:662
++msgid "Enable Objective-C exception and synchronization syntax"
++msgstr "Autoriser l'exception Objective-C et la synchronisation de syntaxe"
++
++#: c.opt:666
++msgid "Enable garbage collection (GC) in Objective-C/Objective-C++ programs"
++msgstr ""
++
++#: c.opt:671
++#, fuzzy
++msgid "Enable Objective-C setjmp exception handling runtime"
++msgstr "Autoriser l'exception Objective-C et la synchronisation de syntaxe"
++
++#: c.opt:675
++#, fuzzy
++msgid "Enable OpenMP"
++msgstr "Permettre la mise au point"
++
++#: c.opt:679
++msgid "Recognize C++ kewords like \"compl\" and \"xor\""
++msgstr "Reconnaître les mots clés C++ comme \"compl\" et \"xor\""
++
++#: c.opt:683
++msgid "Enable optional diagnostics"
++msgstr "Autoriser les diagnostiques optionnels"
++
++#: c.opt:690
++msgid "Look for and use PCH files even when preprocessing"
++msgstr ""
++
++#: c.opt:694
++msgid "Downgrade conformance errors to warnings"
++msgstr "Dégrader les erreurs de conformité en des avertissements"
++
++#: c.opt:698
++msgid "Treat the input file as already preprocessed"
++msgstr "Traiter le fichier d'entrée comme ayant déjà été pré-traité"
++
++#: c.opt:702
++msgid "Used in Fix-and-Continue mode to indicate that object files may be swapped in at runtime"
++msgstr "Utiliser le mode Fix-and-=Continue pour indique que des fichiers objets peuvent interchangés lors de l'éexécution"
++
++#: c.opt:706
++msgid "Enable automatic template instantiation"
++msgstr "Autoriser l'instanciation automatique de patron"
++
++#: c.opt:710
++msgid "Generate run time type descriptor information"
++msgstr "Générer l'information pour un type de descripteur lors de l'exécution"
++
++#: c.opt:714
++msgid "Use the same size for double as for float"
++msgstr "Utiliser la même taille pour un double que pour un flottant"
++
++#: c.opt:722
++msgid "Force the underlying type for \"wchar_t\" to be \"unsigned short\""
++msgstr "Écraser le type sous-jacent de \"wchar_t\" vers \"unsigned short\""
++
++#: c.opt:726
++msgid "When \"signed\" or \"unsigned\" is not given make the bitfield signed"
++msgstr "Lorsque \"signed\" ou \"unsigned\" n,est pas fourni rendre le champ de bits signé"
++
++#: c.opt:730
++msgid "Make \"char\" signed by default"
++msgstr "Rendre les « char » signés par défaut"
++
++#: c.opt:737
++msgid "Display statistics accumulated during compilation"
++msgstr "Afficher les statistiques accumulés durant la compilation"
++
++#: c.opt:744
++#, fuzzy
++msgid "Distance between tab stops for column reporting"
++msgstr "-ftabstop=<nombre>\tfixer la distance de la tabulation des colonnes dans les rapports"
++
++#: c.opt:748
++#, fuzzy
++msgid "Specify maximum template instantiation depth"
++msgstr "-ftemplate-depth-<nombre>\tspécifier la profondeur maximale d'instanciation de patron"
++
++#: c.opt:755
++#, fuzzy
++msgid "Do not generate thread-safe code for initializing local statics"
++msgstr "Ne pas générer du code pour les appels proches"
++
++#: c.opt:759
++msgid "When \"signed\" or \"unsigned\" is not given make the bitfield unsigned"
++msgstr "Lorsque \"signed\" ou \"unsigned\" n'est pas fourni rendre le champ de bits non signé"
++
++#: c.opt:763
++msgid "Make \"char\" unsigned by default"
++msgstr "Rendre les \"char\" non signés par défaut"
++
++#: c.opt:767
++msgid "Use __cxa_atexit to register destructors"
++msgstr "Utiliser « __cxa_atexit » pour enregistrer les destructeurs."
++
++#: c.opt:771
++msgid "Use __cxa_get_exception_ptr in exception handling"
++msgstr ""
++
++#: c.opt:775
++msgid "Marks all inlined methods as having hidden visibility"
++msgstr ""
++
++#: c.opt:779
++msgid "Changes visibility to match Microsoft Visual Studio by default"
++msgstr ""
++
++#: c.opt:783
++msgid "Discard unused virtual functions"
++msgstr "Écarter les fonctions virtuelles non utilisées"
++
++#: c.opt:787
++msgid "Implement vtables using thunks"
++msgstr "Implanter les vtables en utilisant des thunks"
++
++#: c.opt:791
++msgid "Emit common-like symbols as weak symbols"
++msgstr "Produire les symboles communs comme des symboles faibles"
++
++#: c.opt:795
++#, fuzzy
++msgid "Convert all wide strings and character constants to character set <cset>"
++msgstr "-fwide-exec-charset=<cset>\tconvertir toutes les chaînes et les constantes larges de caractères en jeux de caractères <cset>"
++
++#: c.opt:799
++msgid "Generate a #line directive pointing at the current working directory"
++msgstr "Générer une directive #line pointant sur le répertoire courant de travail"
++
++#: c.opt:803
++msgid "Emit cross referencing information"
++msgstr "Produire l'information des références croisées"
++
++#: c.opt:807
++msgid "Generate lazy class lookup (via objc_getClass()) for use in Zero-Link mode"
++msgstr "Générer un recherche molle de class (via objc_getClass()) pour l'utilisation en mode Zero-Link"
++
++#: c.opt:811
++msgid "Dump declarations to a .decl file"
++msgstr "Vidanger les déclarations dans un fichier .decl"
++
++#: c.opt:815
++msgid "Aggressive reduced debug info for structs"
++msgstr ""
++
++#: c.opt:819
++msgid "Conservative reduced debug info for structs"
++msgstr ""
++
++#: c.opt:823
++msgid "Detailed reduced debug info for structs"
++msgstr ""
++
++#: c.opt:827 c.opt:859
++#, fuzzy
++msgid "Add <dir> to the end of the system include path"
++msgstr "-idirafter <répertoire>\tajouter <répertoire> à la fin du chemin système d'inclusion"
++
++#: c.opt:831
++#, fuzzy
++msgid "Accept definition of macros in <file>"
++msgstr "-imacros <fichier>\taccepter la définition de macros dans le <fichier>"
++
++#: c.opt:835
++#, fuzzy
++msgid "-imultilib <dir> Set <dir> to be the multilib include subdirectory"
++msgstr "-isysroot <répertoire>\tsélectionner le <répertoire> comme répertoire racine du système"
++
++#: c.opt:839
++#, fuzzy
++msgid "Include the contents of <file> before other files"
++msgstr "-include <fichier>\tinclure le contenu du <fichier> avant les autres fichiers"
++
++#: c.opt:843
++#, fuzzy
++msgid "Specify <path> as a prefix for next two options"
++msgstr "-iprefix <chemin>\tsélectionner le <chemin> comme préfixer aux deux prochaines options"
++
++#: c.opt:847
++#, fuzzy
++msgid "Set <dir> to be the system root directory"
++msgstr "-isysroot <répertoire>\tsélectionner le <répertoire> comme répertoire racine du système"
++
++#: c.opt:851
++#, fuzzy
++msgid "Add <dir> to the start of the system include path"
++msgstr "-isystem <répertoire>\tajouter le <répertoire> au début du chemin d'inclusion principal"
++
++#: c.opt:855
++#, fuzzy
++msgid "Add <dir> to the end of the quote include path"
++msgstr "-idirafter <répertoire>\tajouter <répertoire> à la fin du chemin système d'inclusion"
++
++#: c.opt:876
++msgid "Do not search standard system include directories (those specified with -isystem will still be used)"
++msgstr "Ne pas rechercher les répertoires standard système d'inclusion (ceux spécifiés avec -isystem seront encore utilisés)"
++
++#: c.opt:880
++msgid "Do not search standard system include directories for C++"
++msgstr "Ne pas rechercher les répertoires standard système d'inclusion pour C++"
++
++#: c.opt:896
++msgid "Generate C header of platform-specific features"
++msgstr "Générer les en-têtes C pour les options spécifiques à la plate-forme"
++
++#: c.opt:900
++msgid "Print a checksum of the executable for PCH validity checking, and stop"
++msgstr ""
++
++#: c.opt:904
++msgid "Remap file names when including files"
++msgstr "Rampper les noms lors de l'inclusion des fichiers"
++
++#: c.opt:908
++msgid "Conform to the ISO 1998 C++ standard"
++msgstr "Conforme au standard ISO C++ de 1998"
++
++#: c.opt:912
++#, fuzzy
++msgid "Conform to the ISO 1998 C++ standard, with extensions that are likely to"
++msgstr "Conforme au standard ISO C++ de 1998 avec les extensions de GNU"
++
++#: c.opt:919 c.opt:954
++msgid "Conform to the ISO 1990 C standard"
++msgstr "Conforme au standard ISO C de 1990"
++
++#: c.opt:923 c.opt:962
++msgid "Conform to the ISO 1999 C standard"
++msgstr "Conforme au standard ISO C de 1999"
++
++#: c.opt:927
++msgid "Deprecated in favor of -std=c99"
++msgstr "Obsolète à la faveur de l'option -std=c99"
++
++#: c.opt:931
++msgid "Conform to the ISO 1998 C++ standard with GNU extensions"
++msgstr "Conforme au standard ISO C++ de 1998 avec les extensions de GNU"
++
++#: c.opt:935
++#, fuzzy
++msgid "Conform to the ISO 1998 C++ standard, with GNU extensions and"
++msgstr "Conforme au standard ISO C++ de 1998 avec les extensions de GNU"
++
++#: c.opt:942
++msgid "Conform to the ISO 1990 C standard with GNU extensions"
++msgstr "Conforme au standard ISO C de 1990 avec les extensions de GNU"
++
++#: c.opt:946
++msgid "Conform to the ISO 1999 C standard with GNU extensions"
++msgstr "Conforme au standard ISO C de 1999 avec les extensions de GNU"
++
++#: c.opt:950
++msgid "Deprecated in favor of -std=gnu99"
++msgstr "Obsolète à la faveur de l'option -std=gnu99"
++
++#: c.opt:958
++msgid "Conform to the ISO 1990 C standard as amended in 1994"
++msgstr "Conforme au standard ISO C de 1990 tel amendé en 1994"
++
++#: c.opt:966
++#, fuzzy
++msgid "Deprecated in favor of -std=iso9899:1999"
++msgstr "Obsolète à la faveur de l'option -std=c99"
++
++#: c.opt:970
++msgid "Enable traditional preprocessing"
++msgstr "Autoriser le traitement traditionnel"
++
++#: c.opt:974
++#, fuzzy
++msgid "Support ISO C trigraphs"
++msgstr "-trigraphs\tSupporter les tri-graphes ISO C"
++
++#: c.opt:978
++msgid "Do not predefine system-specific and GCC-specific macros"
++msgstr "Ne pas prédéfinir les macros spécifiques au système ou à GCC"
++
++#: c.opt:982
++msgid "Enable verbose output"
++msgstr "Autoriser le mode bavard sur la sortie"
++
++#: ada/lang.opt:96
++#, fuzzy
++msgid "Specify options to GNAT"
++msgstr "-gnat<options>\tSpécifier les options pour GNAT"
++
+ #: attribs.c:244
+ #, fuzzy, gcc-internal-format
+ msgid "%qs attribute directive ignored"
+@@ -17238,47 +17204,47 @@
+ msgid "offset outside bounds of constant string"
+ msgstr "décalage hors des limites d'une chaîne de constante"
+
+-#: builtins.c:1001
++#: builtins.c:1015
+ #, fuzzy, gcc-internal-format
+ msgid "second argument to %<__builtin_prefetch%> must be a constant"
+ msgstr "second argument de « __builtin_prefetch » doit être une constante"
+
+-#: builtins.c:1008
++#: builtins.c:1022
+ #, fuzzy, gcc-internal-format
+ msgid "invalid second argument to %<__builtin_prefetch%>; using zero"
+ msgstr "second argument invalide de « __builtin_prefetch »; utilisation de zéro"
+
+-#: builtins.c:1016
++#: builtins.c:1030
+ #, fuzzy, gcc-internal-format
+ msgid "third argument to %<__builtin_prefetch%> must be a constant"
+ msgstr "troisième argument de « __builtin_prefetch » doit être une constante"
+
+-#: builtins.c:1023
++#: builtins.c:1037
+ #, fuzzy, gcc-internal-format
+ msgid "invalid third argument to %<__builtin_prefetch%>; using zero"
+ msgstr "troisième argument invalide de « __builtin_prefetch »; utilisation de zéro"
+
+-#: builtins.c:4592
++#: builtins.c:4608
+ #, fuzzy, gcc-internal-format
+ msgid "argument of %<__builtin_args_info%> must be constant"
+ msgstr "argument de « __builtin_args_info » doit être une constante"
+
+-#: builtins.c:4598
++#: builtins.c:4614
+ #, fuzzy, gcc-internal-format
+ msgid "argument of %<__builtin_args_info%> out of range"
+ msgstr "argument de « __builtin_args_info » hors des limites"
+
+-#: builtins.c:4604
++#: builtins.c:4620
+ #, fuzzy, gcc-internal-format
+ msgid "missing argument in %<__builtin_args_info%>"
+ msgstr "argument manquant dans « __builtin_args_info »"
+
+-#: builtins.c:4693 gimplify.c:2117
++#: builtins.c:4709 gimplify.c:2118
+ #, fuzzy, gcc-internal-format
+ msgid "too few arguments to function %<va_start%>"
+ msgstr "trop d'arguments pour la function « va_start »"
+
+-#: builtins.c:4857
++#: builtins.c:4872
+ #, fuzzy, gcc-internal-format
+ msgid "first argument to %<va_arg%> not of type %<va_list%>"
+ msgstr "premier argument de « va_arg » n'est pas de type « va_list »"
+@@ -17286,93 +17252,103 @@
+ #. Unfortunately, this is merely undefined, rather than a constraint
+ #. violation, so we cannot make this an error. If this call is never
+ #. executed, the program is still strictly conforming.
+-#: builtins.c:4871
++#: builtins.c:4886
+ #, fuzzy, gcc-internal-format
+ msgid "%qT is promoted to %qT when passed through %<...%>"
+ msgstr "« %s » a été promu à « %s » lors du passage à travers « ... »"
+
+-#: builtins.c:4876
++#: builtins.c:4891
+ #, fuzzy, gcc-internal-format
+ msgid "(so you should pass %qT not %qT to %<va_arg%>)"
+ msgstr "(vous devriez donc passer « %s » et non « %s » à « va_arg »)"
+
+ #. We can, however, treat "undefined" any way we please.
+ #. Call abort to encourage the user to fix the program.
+-#: builtins.c:4882 c-typeck.c:2408
++#: builtins.c:4897 c-typeck.c:2419
+ #, gcc-internal-format
+ msgid "if this code is reached, the program will abort"
+ msgstr "si ce code est atteint, le programme s'arrêtera"
+
+-#: builtins.c:5000
++#: builtins.c:5015
+ #, fuzzy, gcc-internal-format
+ msgid "invalid argument to %<__builtin_frame_address%>"
+ msgstr "argument de « __builtin_frame_address » invalide"
+
+-#: builtins.c:5002
++#: builtins.c:5017
+ #, fuzzy, gcc-internal-format
+ msgid "invalid argument to %<__builtin_return_address%>"
+ msgstr "argument de « __builtin_return_address » invalide"
+
+-#: builtins.c:5015
++#: builtins.c:5030
+ #, fuzzy, gcc-internal-format
+ msgid "unsupported argument to %<__builtin_frame_address%>"
+ msgstr "argument de « __builtin_frame_address » non supporté"
+
+-#: builtins.c:5017
++#: builtins.c:5032
+ #, fuzzy, gcc-internal-format
+ msgid "unsupported argument to %<__builtin_return_address%>"
+ msgstr "argument de « __builtin_return_address » non supporté"
+
+-#: builtins.c:5564
++#: builtins.c:5579
+ #, fuzzy, gcc-internal-format
+ msgid "both arguments to %<__builtin___clear_cache%> must be pointers"
+ msgstr "l'argument de « __builtin_eh_return_regno » doit être une constante"
+
+ #. All valid uses of __builtin_va_arg_pack () are removed during
+ #. inlining.
+-#: builtins.c:6276 expr.c:8024
++#: builtins.c:6291 expr.c:8023
+ msgid "%Kinvalid use of %<__builtin_va_arg_pack ()%>"
+ msgstr ""
+
+ #. All valid uses of __builtin_va_arg_pack_len () are removed during
+ #. inlining.
+-#: builtins.c:6282
++#: builtins.c:6297
+ msgid "%Kinvalid use of %<__builtin_va_arg_pack_len ()%>"
+ msgstr ""
+
+-#: builtins.c:6578
++#: builtins.c:6593
+ #, fuzzy, gcc-internal-format
+ msgid "%<__builtin_longjmp%> second argument must be 1"
+ msgstr "le second argument de « __builtin_longjmp » doit être 1"
+
+-#: builtins.c:7209
++#: builtins.c:7224
+ #, gcc-internal-format
+ msgid "target format does not support infinity"
+ msgstr "le format cible ne supporte pas l'infini"
+
+-#: builtins.c:9623 builtins.c:9712
++#: builtins.c:9638 builtins.c:9727 builtins.c:10082
+ #, fuzzy, gcc-internal-format
+ msgid "non-floating-point argument to function %qs"
+ msgstr "argument pour la fonction « %s » n'étant pas en virgule flottante"
+
+-#: builtins.c:11303
++#: builtins.c:10446 builtins.c:10466
+ #, fuzzy, gcc-internal-format
++msgid "too few arguments to function %qs"
++msgstr "pas assez d'arguments pour la fonction « %s »"
++
++#: builtins.c:10452 builtins.c:10472
++#, fuzzy, gcc-internal-format
++msgid "too many arguments to function %qs"
++msgstr "trop d'arguments pour la fonction « %s »"
++
++#: builtins.c:11377
++#, fuzzy, gcc-internal-format
+ msgid "%<va_start%> used in function with fixed args"
+ msgstr "« va_start » utilisé dans une fonction ayant des arguments fixes"
+
+-#: builtins.c:11311
++#: builtins.c:11385
+ #, fuzzy, gcc-internal-format
+ msgid "wrong number of arguments to function %<va_start%>"
+ msgstr "trop d'arguments pour la function « va_start »"
+
+ #. Evidently an out of date version of <stdarg.h>; can't validate
+ #. va_start's second argument, but can still work as intended.
+-#: builtins.c:11324
++#: builtins.c:11398
+ #, fuzzy, gcc-internal-format
+ msgid "%<__builtin_next_arg%> called without an argument"
+ msgstr "« __builtin_next_arg » appelé sans argument"
+
+-#: builtins.c:11329
++#: builtins.c:11403
+ #, fuzzy, gcc-internal-format
+ msgid "wrong number of arguments to function %<__builtin_next_arg%>"
+ msgstr "nombre erroné d'arguments spécifié pour l'attribut « %s »"
+@@ -17382,26 +17358,26 @@
+ #. argument. We just warn and set the arg to be the last
+ #. argument so that we will get wrong-code because of
+ #. it.
+-#: builtins.c:11358
++#: builtins.c:11432
+ #, fuzzy, gcc-internal-format
+ msgid "second parameter of %<va_start%> not last named argument"
+ msgstr "second paramètre de « va_start » n'est pas le dernier argument nommé"
+
+-#: builtins.c:11472
++#: builtins.c:11546
+ #, fuzzy
+ msgid "%Kfirst argument of %D must be a pointer, second integer constant"
+ msgstr "bit de départ dans la POSITION doit être une constante entière"
+
+-#: builtins.c:11485
++#: builtins.c:11559
+ #, fuzzy
+ msgid "%Klast argument of %D is not integer constant between 0 and 3"
+ msgstr "l'argument de « asm » n'est pas une chaîne de constante"
+
+-#: builtins.c:11529 builtins.c:11693 builtins.c:11752
++#: builtins.c:11603 builtins.c:11767 builtins.c:11826
+ msgid "%Kcall to %D will always overflow destination buffer"
+ msgstr ""
+
+-#: builtins.c:11683
++#: builtins.c:11757
+ msgid "%Kcall to %D might overflow destination buffer"
+ msgstr ""
+
+@@ -17527,440 +17503,440 @@
+ msgid "conversion to %qT alters %qT constant value"
+ msgstr ""
+
+-#: c-common.c:1296
++#: c-common.c:1299
+ #, gcc-internal-format
+ msgid "conversion to %qT from %qT may change the sign of the result"
+ msgstr ""
+
+-#: c-common.c:1325
++#: c-common.c:1328
+ #, fuzzy, gcc-internal-format
+ msgid "conversion to %qT from %qT may alter its value"
+ msgstr "conversions à partir de la valeur variable_size"
+
+-#: c-common.c:1353
++#: c-common.c:1356
+ #, gcc-internal-format
+ msgid "large integer implicitly truncated to unsigned type"
+ msgstr "grand entier implicitement tronqué pour un type non signé"
+
+-#: c-common.c:1359 c-common.c:1366 c-common.c:1374
++#: c-common.c:1362 c-common.c:1369 c-common.c:1377
+ #, gcc-internal-format
+ msgid "overflow in implicit constant conversion"
+ msgstr "débordement dans la conversion implicte de la constante"
+
+-#: c-common.c:1528
++#: c-common.c:1531
+ #, fuzzy, gcc-internal-format
+ msgid "operation on %qE may be undefined"
+ msgstr "l'opération portant sur « %s » est peut être indéfinie"
+
+-#: c-common.c:1821
++#: c-common.c:1824
+ #, gcc-internal-format
+ msgid "case label does not reduce to an integer constant"
+ msgstr "l'étiquette du « case » ne se réduit pas en une constante entière"
+
+-#: c-common.c:1861
++#: c-common.c:1864
+ #, fuzzy, gcc-internal-format
+ msgid "case label value is less than minimum value for type"
+ msgstr "constante entière est plus grande que la valeur maximale pour ce type"
+
+-#: c-common.c:1869
++#: c-common.c:1872
+ #, fuzzy, gcc-internal-format
+ msgid "case label value exceeds maximum value for type"
+ msgstr "constante entière est plus grande que la valeur maximale pour ce type"
+
+-#: c-common.c:1877
++#: c-common.c:1880
+ #, fuzzy, gcc-internal-format
+ msgid "lower value in case label range less than minimum value for type"
+ msgstr "constante entière est plus grande que la valeur maximale pour ce type"
+
+-#: c-common.c:1886
++#: c-common.c:1889
+ #, fuzzy, gcc-internal-format
+ msgid "upper value in case label range exceeds maximum value for type"
+ msgstr "constante entière est plus grande que la valeur maximale pour ce type"
+
+-#: c-common.c:1960
++#: c-common.c:1963
+ #, gcc-internal-format
+ msgid "GCC cannot support operators with integer types and fixed-point types that have too many integral and fractional bits together"
+ msgstr ""
+
+-#: c-common.c:2450
++#: c-common.c:2453
+ #, fuzzy, gcc-internal-format
+ msgid "invalid operands to binary %s (have %qT and %qT)"
+ msgstr "opérandes invalides pour le binaire %s"
+
+-#: c-common.c:2686
++#: c-common.c:2689
+ #, gcc-internal-format
+ msgid "comparison is always false due to limited range of data type"
+ msgstr "comparaison est toujours fausse en raison d'une gamme limitée de type de données"
+
+-#: c-common.c:2688
++#: c-common.c:2691
+ #, gcc-internal-format
+ msgid "comparison is always true due to limited range of data type"
+ msgstr "comparaison est toujours vraie en raison d'une gamme limitée de type de données"
+
+-#: c-common.c:2767
++#: c-common.c:2770
+ #, gcc-internal-format
+ msgid "comparison of unsigned expression >= 0 is always true"
+ msgstr "comparaison d'une expression non signée >=0 est toujours vraie"
+
+-#: c-common.c:2777
++#: c-common.c:2780
+ #, gcc-internal-format
+ msgid "comparison of unsigned expression < 0 is always false"
+ msgstr "comparaison d'une expression non signée < 0 est toujours fausse"
+
+-#: c-common.c:2818
++#: c-common.c:2821
+ #, fuzzy, gcc-internal-format
+ msgid "pointer of type %<void *%> used in arithmetic"
+ msgstr "usage en arithmétique d'un pointeur de type « void * »"
+
+-#: c-common.c:2824
++#: c-common.c:2827
+ #, gcc-internal-format
+ msgid "pointer to a function used in arithmetic"
+ msgstr "usage en arithmétique d'un pointeur vers une fonction"
+
+-#: c-common.c:2830
++#: c-common.c:2833
+ #, gcc-internal-format
+ msgid "pointer to member function used in arithmetic"
+ msgstr "usage en arithmétique d'un pointeur vers une fonction membre"
+
+-#: c-common.c:2982
++#: c-common.c:2985
+ #, fuzzy, gcc-internal-format
+ msgid "the address of %qD will always evaluate as %<true%>"
+ msgstr "l'adresse de « %D » sera toujours évaluée comme étant « true »"
+
+-#: c-common.c:3051 cp/semantics.c:596 cp/typeck.c:6411
++#: c-common.c:3054 cp/semantics.c:597 cp/typeck.c:6438
+ #, gcc-internal-format
+ msgid "suggest parentheses around assignment used as truth value"
+ msgstr "parenthèses suggérées autour de l'affectation utilisée comme valeur de vérité"
+
+-#: c-common.c:3123 c-typeck.c:8958
++#: c-common.c:3126 c-typeck.c:8969
+ #, fuzzy, gcc-internal-format
+ msgid "invalid use of %<restrict%>"
+ msgstr "usage de « restrict » invalide"
+
+-#: c-common.c:3339
++#: c-common.c:3346
+ #, fuzzy, gcc-internal-format
+ msgid "invalid application of %<sizeof%> to a function type"
+ msgstr "application de « sizeof » sur un type de fonction invalide"
+
+-#: c-common.c:3349
++#: c-common.c:3356
+ #, fuzzy, gcc-internal-format
+ msgid "invalid application of %qs to a void type"
+ msgstr "application invalide de « %s » sur un type void"
+
+-#: c-common.c:3355
++#: c-common.c:3362
+ #, fuzzy, gcc-internal-format
+ msgid "invalid application of %qs to incomplete type %qT "
+ msgstr "application invalide de « %s » sur un type incomplet « %T »"
+
+-#: c-common.c:3396
++#: c-common.c:3403
+ #, fuzzy, gcc-internal-format
+ msgid "%<__alignof%> applied to a bit-field"
+ msgstr "« __alignof » appliqué sur un champ de bits"
+
+-#: c-common.c:3969
++#: c-common.c:3976
+ #, fuzzy, gcc-internal-format
+ msgid "cannot disable built-in function %qs"
+ msgstr "ne peut désactiver la fonction interne « %s »"
+
+-#: c-common.c:4172
++#: c-common.c:4179
+ #, gcc-internal-format
+ msgid "pointers are not permitted as case values"
+ msgstr "les pointeurs ne sont pas permis comme valeurs de « case »"
+
+-#: c-common.c:4178
++#: c-common.c:4185
+ #, gcc-internal-format
+ msgid "range expressions in switch statements are non-standard"
+ msgstr "l'étendue des expressions dans les déclarations switch ne sont pas standard"
+
+-#: c-common.c:4204
++#: c-common.c:4211
+ #, gcc-internal-format
+ msgid "empty range specified"
+ msgstr "intervalle vide spécifié"
+
+-#: c-common.c:4264
++#: c-common.c:4271
+ #, gcc-internal-format
+ msgid "duplicate (or overlapping) case value"
+ msgstr "valeur du « case » duppliquée (ou en chevauchant une autre)"
+
+-#: c-common.c:4265
++#: c-common.c:4272
+ #, gcc-internal-format
+ msgid "%Jthis is the first entry overlapping that value"
+ msgstr "%Jest la première entrée chevauchant cette valeur"
+
+-#: c-common.c:4269
++#: c-common.c:4276
+ #, gcc-internal-format
+ msgid "duplicate case value"
+ msgstr "valeur du « case » duppliquée"
+
+-#: c-common.c:4270
++#: c-common.c:4277
+ #, gcc-internal-format
+ msgid "%Jpreviously used here"
+ msgstr "%Jprécédemment utilisé ici"
+
+-#: c-common.c:4274
++#: c-common.c:4281
+ #, gcc-internal-format
+ msgid "multiple default labels in one switch"
+ msgstr "plusieurs étiquettes par défaut dans un « switch »"
+
+-#: c-common.c:4275
++#: c-common.c:4282
+ #, gcc-internal-format
+ msgid "%Jthis is the first default label"
+ msgstr "%Jest la première étiquette par défaut"
+
+-#: c-common.c:4324
++#: c-common.c:4331
+ #, fuzzy, gcc-internal-format
+ msgid "%Jcase value %qs not in enumerated type"
+ msgstr "valeur du case « %ld » n'est pas dans le type énuméré"
+
+-#: c-common.c:4327
++#: c-common.c:4334
+ #, fuzzy, gcc-internal-format
+ msgid "%Jcase value %qs not in enumerated type %qT"
+ msgstr "valeur du case « %ld » n'est pas dans le type énuméré"
+
+-#: c-common.c:4385
++#: c-common.c:4392
+ #, fuzzy, gcc-internal-format
+ msgid "%Hswitch missing default case"
+ msgstr "switch n'a pas de case par défaut"
+
+-#: c-common.c:4448
++#: c-common.c:4455
+ #, fuzzy, gcc-internal-format
+ msgid "%Henumeration value %qE not handled in switch"
+ msgstr "valeur d'énumération « %s » n'est pas traitée dans le switch"
+
+-#: c-common.c:4472
++#: c-common.c:4479
+ #, gcc-internal-format
+ msgid "taking the address of a label is non-standard"
+ msgstr "prendre l'adresse d'une étiquette n'est pas standard"
+
+-#: c-common.c:4622
++#: c-common.c:4629
+ #, fuzzy, gcc-internal-format
+ msgid "%qE attribute ignored for field of type %qT"
+ msgstr "attribut « %s » ignoré pour « %s »"
+
+-#: c-common.c:4633 c-common.c:4652 c-common.c:4670 c-common.c:4697
+-#: c-common.c:4724 c-common.c:4750 c-common.c:4769 c-common.c:4793
+-#: c-common.c:4816 c-common.c:4839 c-common.c:4860 c-common.c:4881
+-#: c-common.c:4905 c-common.c:4931 c-common.c:4968 c-common.c:4995
+-#: c-common.c:5046 c-common.c:5130 c-common.c:5160 c-common.c:5179
+-#: c-common.c:5499 c-common.c:5559 c-common.c:5580 c-common.c:5644
+-#: c-common.c:5762 c-common.c:5828 c-common.c:5877 c-common.c:5923
+-#: c-common.c:5993 c-common.c:6017 c-common.c:6301 c-common.c:6324
++#: c-common.c:4640 c-common.c:4659 c-common.c:4677 c-common.c:4704
++#: c-common.c:4731 c-common.c:4757 c-common.c:4776 c-common.c:4800
++#: c-common.c:4823 c-common.c:4846 c-common.c:4867 c-common.c:4888
++#: c-common.c:4912 c-common.c:4938 c-common.c:4975 c-common.c:5002
++#: c-common.c:5045 c-common.c:5129 c-common.c:5159 c-common.c:5178
++#: c-common.c:5498 c-common.c:5558 c-common.c:5579 c-common.c:5643
++#: c-common.c:5761 c-common.c:5827 c-common.c:5876 c-common.c:5922
++#: c-common.c:5992 c-common.c:6016 c-common.c:6301 c-common.c:6324
+ #: c-common.c:6363
+ #, fuzzy, gcc-internal-format
+ msgid "%qE attribute ignored"
+ msgstr "attribut « %s » ignoré"
+
+-#: c-common.c:4715 c-common.c:4741
++#: c-common.c:4722 c-common.c:4748
+ #, fuzzy, gcc-internal-format
+ msgid "%qE attribute conflicts with attribute %s"
+ msgstr "attribut « %s » s'applique seulement aux variables"
+
+-#: c-common.c:4962
++#: c-common.c:4969
+ #, fuzzy, gcc-internal-format
+ msgid "%qE attribute have effect only on public objects"
+ msgstr "%J'%E l'attribut ne s'applique seulement qu'à des fonctions"
+
+-#: c-common.c:5067
++#: c-common.c:5066
+ #, fuzzy, gcc-internal-format
+ msgid "destructor priorities are not supported"
+ msgstr "trampolines ne sont pas supportées"
+
+-#: c-common.c:5069
++#: c-common.c:5068
+ #, fuzzy, gcc-internal-format
+ msgid "constructor priorities are not supported"
+ msgstr "trampolines ne sont pas supportées"
+
+-#: c-common.c:5086
++#: c-common.c:5085
+ #, gcc-internal-format
+ msgid "destructor priorities from 0 to %d are reserved for the implementation"
+ msgstr ""
+
+-#: c-common.c:5091
++#: c-common.c:5090
+ #, gcc-internal-format
+ msgid "constructor priorities from 0 to %d are reserved for the implementation"
+ msgstr ""
+
+-#: c-common.c:5099
++#: c-common.c:5098
+ #, gcc-internal-format
+ msgid "destructor priorities must be integers from 0 to %d inclusive"
+ msgstr ""
+
+-#: c-common.c:5102
++#: c-common.c:5101
+ #, gcc-internal-format
+ msgid "constructor priorities must be integers from 0 to %d inclusive"
+ msgstr ""
+
+-#: c-common.c:5221
++#: c-common.c:5220
+ #, fuzzy, gcc-internal-format
+ msgid "unknown machine mode %qs"
+ msgstr "mode machine « %s » inconnu"
+
+-#: c-common.c:5250
++#: c-common.c:5249
+ #, gcc-internal-format
+ msgid "specifying vector types with __attribute__ ((mode)) is deprecated"
+ msgstr ""
+
+-#: c-common.c:5253
++#: c-common.c:5252
+ #, fuzzy, gcc-internal-format
+ msgid "use __attribute__ ((vector_size)) instead"
+ msgstr "attribut de directive « %s » ignoré"
+
+-#: c-common.c:5262
++#: c-common.c:5261
+ #, fuzzy, gcc-internal-format
+ msgid "unable to emulate %qs"
+ msgstr "impossible d'émuler « %s »"
+
+-#: c-common.c:5272
++#: c-common.c:5271
+ #, fuzzy, gcc-internal-format
+ msgid "invalid pointer mode %qs"
+ msgstr "mode pointeur invalide « %s »"
+
+-#: c-common.c:5289
++#: c-common.c:5288
+ #, fuzzy, gcc-internal-format
+ msgid "signness of type and machine mode %qs don't match"
+ msgstr "#-lines pour entrer et quitter les fichiers ne concordent pas"
+
+-#: c-common.c:5300
++#: c-common.c:5299
+ #, fuzzy, gcc-internal-format
+ msgid "no data type for mode %qs"
+ msgstr "aucun type de données pour le mode « %s »"
+
+-#: c-common.c:5310
++#: c-common.c:5309
+ #, fuzzy, gcc-internal-format
+ msgid "cannot use mode %qs for enumeral types"
+ msgstr "ne peut convertir en un type pointeur"
+
+-#: c-common.c:5337
++#: c-common.c:5336
+ #, fuzzy, gcc-internal-format
+ msgid "mode %qs applied to inappropriate type"
+ msgstr "mode « %s » appliqué à un type inapproprié"
+
+-#: c-common.c:5368
++#: c-common.c:5367
+ #, gcc-internal-format
+ msgid "%Jsection attribute cannot be specified for local variables"
+ msgstr "%Jl'attribut de section ne peut être spécifié pour des variables locales"
+
+-#: c-common.c:5379 config/bfin/bfin.c:4879 config/bfin/bfin.c:4930
++#: c-common.c:5378 config/bfin/bfin.c:4982 config/bfin/bfin.c:5033
+ #, fuzzy, gcc-internal-format
+ msgid "section of %q+D conflicts with previous declaration"
+ msgstr "%Jsection de « %D » en conflit avec une déclaration précédente"
+
+-#: c-common.c:5388
++#: c-common.c:5387
+ #, fuzzy, gcc-internal-format
+ msgid "section attribute not allowed for %q+D"
+ msgstr "%Jattribut de section n'est pas permis pour « %D »"
+
+-#: c-common.c:5394
++#: c-common.c:5393
+ #, gcc-internal-format
+ msgid "%Jsection attributes are not supported for this target"
+ msgstr "%Jattributs de section ne sont pas supportés pour la cible"
+
+-#: c-common.c:5426
++#: c-common.c:5425
+ #, gcc-internal-format
+ msgid "requested alignment is not a constant"
+ msgstr "l'alignement demandé n'est pas une constante"
+
+-#: c-common.c:5431
++#: c-common.c:5430
+ #, gcc-internal-format
+ msgid "requested alignment is not a power of 2"
+ msgstr "l'alignement demandé n'est pas une puissance de 2"
+
+-#: c-common.c:5436
++#: c-common.c:5435
+ #, gcc-internal-format
+ msgid "requested alignment is too large"
+ msgstr "l'alignement demandé est trop grand"
+
+-#: c-common.c:5462
++#: c-common.c:5461
+ #, fuzzy, gcc-internal-format
+ msgid "alignment may not be specified for %q+D"
+ msgstr "%Jl'alignement ne peut pas être spécifié pour « %D »"
+
+-#: c-common.c:5469
++#: c-common.c:5468
+ #, gcc-internal-format
+ msgid "alignment for %q+D was previously specified as %d and may not be decreased"
+ msgstr ""
+
+-#: c-common.c:5473
++#: c-common.c:5472
+ #, fuzzy, gcc-internal-format
+ msgid "alignment for %q+D must be at least %d"
+ msgstr "argument %d de %s doit être une localisation"
+
+-#: c-common.c:5522
++#: c-common.c:5521
+ #, fuzzy, gcc-internal-format
+ msgid "%q+D defined both normally and as an alias"
+ msgstr "%J'%D défini à la fois normalement et en tant qu'alias"
+
+-#: c-common.c:5538
++#: c-common.c:5537
+ #, fuzzy, gcc-internal-format
+ msgid "alias argument not a string"
+ msgstr "l'argument d'alias n'est pas une chaîne"
+
+-#: c-common.c:5601
++#: c-common.c:5600
+ #, gcc-internal-format
+ msgid "%Jweakref attribute must appear before alias attribute"
+ msgstr ""
+
+-#: c-common.c:5631
++#: c-common.c:5630
+ #, fuzzy, gcc-internal-format
+ msgid "%qE attribute ignored on non-class types"
+ msgstr "attribut « %s » ignoré pour « %s »"
+
+-#: c-common.c:5637
++#: c-common.c:5636
+ #, fuzzy, gcc-internal-format
+ msgid "%qE attribute ignored because %qT is already defined"
+ msgstr "%s: non utilisé parce que « %s » est défini"
+
+-#: c-common.c:5650
++#: c-common.c:5649
+ #, fuzzy, gcc-internal-format
+ msgid "visibility argument not a string"
+ msgstr "l'argument de visibilité n'est pas une chaîne"
+
+-#: c-common.c:5662
++#: c-common.c:5661
+ #, fuzzy, gcc-internal-format
+ msgid "%qE attribute ignored on types"
+ msgstr "attribut « %s » ignoré pour « %s »"
+
+-#: c-common.c:5678
++#: c-common.c:5677
+ #, fuzzy, gcc-internal-format
+ msgid "visibility argument must be one of \"default\", \"hidden\", \"protected\" or \"internal\""
+ msgstr "l'argument de visibilité doit être l'un de « default » (par défaut), « hidden » (masqué), « protected » (protégé) ou « internal » (interne)"
+
+-#: c-common.c:5689
++#: c-common.c:5688
+ #, fuzzy, gcc-internal-format
+ msgid "%qD redeclared with different visibility"
+ msgstr "« %#D » redéclaré avec un accès différent"
+
+-#: c-common.c:5692 c-common.c:5696
++#: c-common.c:5691 c-common.c:5695
+ #, gcc-internal-format
+ msgid "%qD was declared %qs which implies default visibility"
+ msgstr ""
+
+-#: c-common.c:5770
++#: c-common.c:5769
+ #, fuzzy, gcc-internal-format
+ msgid "tls_model argument not a string"
+ msgstr "l'argument de tls_model n'est pas une chaîne"
+
+-#: c-common.c:5783
++#: c-common.c:5782
+ #, fuzzy, gcc-internal-format
+ msgid "tls_model argument must be one of \"local-exec\", \"initial-exec\", \"local-dynamic\" or \"global-dynamic\""
+ msgstr "l'argument de tls_model doit être l'un de « local-exec », « initial-exec », « local-dynamic » or « global-dynamic »"
+
+-#: c-common.c:5802 c-common.c:5897
++#: c-common.c:5801 c-common.c:5896
+ #, fuzzy, gcc-internal-format
+ msgid "%J%qE attribute applies only to functions"
+ msgstr "%J'%E l'attribut ne s'applique seulement qu'à des fonctions"
+
+-#: c-common.c:5807 c-common.c:5902
++#: c-common.c:5806 c-common.c:5901
+ #, fuzzy, gcc-internal-format
+ msgid "%Jcan%'t set %qE attribute after definition"
+ msgstr "%Jne peut initialiser l'attribut « %E » après définition"
+
+-#: c-common.c:5858
++#: c-common.c:5857
+ #, fuzzy, gcc-internal-format
+ msgid "alloc_size parameter outside range"
+ msgstr "paramètre NUMÉRIQUE est en dessous de l'étendue de son mode"
+
+-#: c-common.c:5991
++#: c-common.c:5990
+ #, fuzzy, gcc-internal-format
+ msgid "%qE attribute ignored for %qE"
+ msgstr "attribut « %s » ignoré pour « %s »"
+@@ -18070,7 +18046,7 @@
+ msgid "cannot apply %<offsetof%> when %<operator[]%> is overloaded"
+ msgstr ""
+
+-#: c-common.c:6818 cp/typeck.c:4525
++#: c-common.c:6818 cp/typeck.c:4533
+ #, fuzzy, gcc-internal-format
+ msgid "attempt to take address of bit-field structure member %qD"
+ msgstr "tentative de prise d'adresse du membre « %D » d'une structure de champ de bits"
+@@ -18105,14 +18081,14 @@
+ msgid "size of array is too large"
+ msgstr "la taille du tableau « %s » est trop grande"
+
+-#: c-common.c:7041 c-common.c:7090 c-typeck.c:2705
++#: c-common.c:7041 c-common.c:7090 c-typeck.c:2716
+ #, fuzzy, gcc-internal-format
+ msgid "too few arguments to function %qE"
+ msgstr "trop peu d'arguments pour la fonction"
+
+ #. ??? This should not be an error when inlining calls to
+ #. unprototyped functions.
+-#: c-common.c:7058 c-typeck.c:4374
++#: c-common.c:7058 c-typeck.c:4385
+ #, fuzzy, gcc-internal-format
+ msgid "incompatible type for argument %d of %qE"
+ msgstr "type incompatible pour l'argument n°%d de « %s »"
+@@ -18192,8 +18168,8 @@
+ #. an unprototyped function, it is compile-time undefined;
+ #. making it a constraint in that case was rejected in
+ #. DR#252.
+-#: c-convert.c:95 c-typeck.c:1775 c-typeck.c:4012 cp/typeck.c:1502
+-#: cp/typeck.c:5717 cp/typeck.c:6325 fortran/convert.c:88
++#: c-convert.c:95 c-typeck.c:1785 c-typeck.c:4023 cp/typeck.c:1548
++#: cp/typeck.c:5725 cp/typeck.c:6352 fortran/convert.c:88
+ #: treelang/tree-convert.c:79
+ #, gcc-internal-format
+ msgid "void value not ignored as it ought to be"
+@@ -18205,104 +18181,104 @@
+ msgid "conversion to non-scalar type requested"
+ msgstr "conversion vers un type non scalaire demandée"
+
+-#: c-decl.c:546
++#: c-decl.c:547
+ #, fuzzy, gcc-internal-format
+ msgid "array %q+D assumed to have one element"
+ msgstr "%Jon assume que le tableau « %D » n'a qu'un seul élément"
+
+-#: c-decl.c:651
++#: c-decl.c:652
+ #, gcc-internal-format
+ msgid "GCC supports only %u nested scopes"
+ msgstr ""
+
+-#: c-decl.c:737 cp/decl.c:358
++#: c-decl.c:738 cp/decl.c:359
+ #, fuzzy, gcc-internal-format
+ msgid "label %q+D used but not defined"
+ msgstr "étiquette « %D » utilisée mais non définie"
+
+-#: c-decl.c:778
++#: c-decl.c:779
+ #, fuzzy, gcc-internal-format
+ msgid "nested function %q+D declared but never defined"
+ msgstr "fonction enligne « %D » utilisé mais n'a jamais été défini"
+
+-#: c-decl.c:788
++#: c-decl.c:789
+ #, fuzzy, gcc-internal-format
+ msgid "inline function %q+D declared but never defined"
+ msgstr "fonction enligne « %D » utilisé mais n'a jamais été défini"
+
+-#: c-decl.c:801 cp/decl.c:608
++#: c-decl.c:802 cp/decl.c:609
+ #, fuzzy, gcc-internal-format
+ msgid "unused variable %q+D"
+ msgstr "%Jvariable inutilisée « %D »"
+
+-#: c-decl.c:805
++#: c-decl.c:806
+ #, gcc-internal-format
+ msgid "type of array %q+D completed incompatibly with implicit initialization"
+ msgstr ""
+
+-#: c-decl.c:1039
++#: c-decl.c:1040
+ #, fuzzy, gcc-internal-format
+ msgid "a parameter list with an ellipsis can%'t match an empty parameter name list declaration"
+ msgstr "un paramètre de la liste avec une ellipse ne peut concorder une déclaration vide de liste de noms de paramètres"
+
+-#: c-decl.c:1046
++#: c-decl.c:1047
+ #, fuzzy, gcc-internal-format
+ msgid "an argument type that has a default promotion can%'t match an empty parameter name list declaration"
+ msgstr "un type d'argument ayant une promotion par défaut ne peut concorder avec une déclaration vide de noms de paramètres"
+
+-#: c-decl.c:1087
++#: c-decl.c:1088
+ #, fuzzy, gcc-internal-format
+ msgid "prototype for %q+D declares more arguments than previous old-style definition"
+ msgstr "%Jprototype pour « %D » déclare plus d'arguments que la définition précédente de style ancien"
+
+-#: c-decl.c:1093
++#: c-decl.c:1094
+ #, fuzzy, gcc-internal-format
+ msgid "prototype for %q+D declares fewer arguments than previous old-style definition"
+ msgstr "%Jprototype pour « %D » déclare moins d'arguments que la définition précédente de style ancien"
+
+-#: c-decl.c:1102
++#: c-decl.c:1103
+ #, fuzzy, gcc-internal-format
+ msgid "prototype for %q+D declares argument %d with incompatible type"
+ msgstr "%Jprototype pour « %D » déclare l'arguments %d avec un type incompatible"
+
+ #. If we get here, no errors were found, but do issue a warning
+ #. for this poor-style construct.
+-#: c-decl.c:1115
++#: c-decl.c:1116
+ #, fuzzy, gcc-internal-format
+ msgid "prototype for %q+D follows non-prototype definition"
+ msgstr "%Jprototype pour « %D » suit la définition d'un non prototype"
+
+-#: c-decl.c:1130
++#: c-decl.c:1131
+ #, fuzzy, gcc-internal-format
+ msgid "previous definition of %q+D was here"
+ msgstr "%Jdéfinition précédente de « %D » était ici"
+
+-#: c-decl.c:1132
++#: c-decl.c:1133
+ #, fuzzy, gcc-internal-format
+ msgid "previous implicit declaration of %q+D was here"
+ msgstr "%Jdéclaration précédente implicite de « %D » était ici"
+
+-#: c-decl.c:1134
++#: c-decl.c:1135
+ #, fuzzy, gcc-internal-format
+ msgid "previous declaration of %q+D was here"
+ msgstr "%Jdéclaration précédente de « %D » était ici"
+
+-#: c-decl.c:1174
++#: c-decl.c:1175
+ #, fuzzy, gcc-internal-format
+ msgid "%q+D redeclared as different kind of symbol"
+ msgstr "« %#D » redéclaré comme une sorte différente de symbole"
+
+-#: c-decl.c:1178
++#: c-decl.c:1179
+ #, fuzzy, gcc-internal-format
+ msgid "built-in function %q+D declared as non-function"
+ msgstr "%Jfonction interne « %D » n'est pas déclarée comme une fonction"
+
+-#: c-decl.c:1181 c-decl.c:1298 c-decl.c:1983
++#: c-decl.c:1182 c-decl.c:1299 c-decl.c:1988
+ #, fuzzy, gcc-internal-format
+ msgid "declaration of %q+D shadows a built-in function"
+ msgstr "déclaration de « %D » masque une déclaration globale"
+
+-#: c-decl.c:1190
++#: c-decl.c:1191
+ #, fuzzy, gcc-internal-format
+ msgid "redeclaration of enumerator %q+D"
+ msgstr "redéclaration de « enum %s »"
+@@ -18310,274 +18286,274 @@
+ #. If types don't match for a built-in, throw away the
+ #. built-in. No point in calling locate_old_decl here, it
+ #. won't print anything.
+-#: c-decl.c:1211
++#: c-decl.c:1212
+ #, fuzzy, gcc-internal-format
+ msgid "conflicting types for built-in function %q+D"
+ msgstr "%Jtypes conflictuels pour la fonction interne « %D »"
+
+-#: c-decl.c:1235 c-decl.c:1248 c-decl.c:1258
++#: c-decl.c:1236 c-decl.c:1249 c-decl.c:1259
+ #, fuzzy, gcc-internal-format
+ msgid "conflicting types for %q+D"
+ msgstr "%Jtypes conflictuels pour « %D »"
+
+-#: c-decl.c:1256
++#: c-decl.c:1257
+ #, fuzzy, gcc-internal-format
+ msgid "conflicting type qualifiers for %q+D"
+ msgstr "%Jtypes conflictuels pour « %D »"
+
+ #. Allow OLDDECL to continue in use.
+-#: c-decl.c:1273
++#: c-decl.c:1274
+ #, fuzzy, gcc-internal-format
+ msgid "redefinition of typedef %q+D"
+ msgstr "%Jredéfinition de « %D »"
+
+-#: c-decl.c:1324 c-decl.c:1426
++#: c-decl.c:1325 c-decl.c:1427
+ #, fuzzy, gcc-internal-format
+ msgid "redefinition of %q+D"
+ msgstr "%Jredéfinition de « %D »"
+
+-#: c-decl.c:1359 c-decl.c:1464
++#: c-decl.c:1360 c-decl.c:1465
+ #, fuzzy, gcc-internal-format
+ msgid "static declaration of %q+D follows non-static declaration"
+ msgstr "%Jdéclaration statique de « %D » suit une déclaration non statique"
+
+-#: c-decl.c:1369 c-decl.c:1376 c-decl.c:1453 c-decl.c:1461
++#: c-decl.c:1370 c-decl.c:1377 c-decl.c:1454 c-decl.c:1462
+ #, fuzzy, gcc-internal-format
+ msgid "non-static declaration of %q+D follows static declaration"
+ msgstr "%Jdéclaration non statique de « %D » suite une déclaration statique"
+
+-#: c-decl.c:1393
++#: c-decl.c:1394
+ #, gcc-internal-format
+ msgid "%<gnu_inline%> attribute present on %q+D"
+ msgstr ""
+
+-#: c-decl.c:1395
++#: c-decl.c:1396
+ #, fuzzy, gcc-internal-format
+ msgid "%Jbut not here"
+ msgstr "%J premier type ici"
+
+-#: c-decl.c:1413
++#: c-decl.c:1414
+ #, fuzzy, gcc-internal-format
+ msgid "thread-local declaration of %q+D follows non-thread-local declaration"
+ msgstr "%Jdéclaration de thread local de « %D » suit une déclaration non thread-local"
+
+-#: c-decl.c:1416
++#: c-decl.c:1417
+ #, fuzzy, gcc-internal-format
+ msgid "non-thread-local declaration of %q+D follows thread-local declaration"
+ msgstr "%Jdéclaration non thread local de « %D » suit une déclaration de thread local"
+
+-#: c-decl.c:1446
++#: c-decl.c:1447
+ #, fuzzy, gcc-internal-format
+ msgid "extern declaration of %q+D follows declaration with no linkage"
+ msgstr "%Jdéclaration externe de « %D » suit une déclaraion sans lien"
+
+-#: c-decl.c:1482
++#: c-decl.c:1483
+ #, fuzzy, gcc-internal-format
+ msgid "declaration of %q+D with no linkage follows extern declaration"
+ msgstr "%Jdéclaration de « %D » sasn lien suivant une déclaration externe"
+
+-#: c-decl.c:1488
++#: c-decl.c:1489
+ #, fuzzy, gcc-internal-format
+ msgid "redeclaration of %q+D with no linkage"
+ msgstr "%Jredéclaration de « %D » sans lien"
+
+-#: c-decl.c:1502
++#: c-decl.c:1503
+ #, fuzzy, gcc-internal-format
+ msgid "redeclaration of %q+D with different visibility (old visibility preserved)"
+ msgstr "%Jredéclaration de « %D » avec une visibilité différente (visibilité précédente conservée)"
+
+-#: c-decl.c:1513
++#: c-decl.c:1514
+ #, fuzzy, gcc-internal-format
+ msgid "inline declaration of %qD follows declaration with attribute noinline"
+ msgstr "%Jdéclaration enligne de « %D » suit la déclaration avec un attribut non enligne"
+
+-#: c-decl.c:1520
++#: c-decl.c:1521
+ #, fuzzy, gcc-internal-format
+ msgid "declaration of %q+D with attribute noinline follows inline declaration "
+ msgstr "%Jéclaration de « %D » avec un attribut non enligne suit une déclaration enligne"
+
+-#: c-decl.c:1539
++#: c-decl.c:1540
+ #, fuzzy, gcc-internal-format
+ msgid "%q+D declared inline after being called"
+ msgstr "%J« %D » déclaré enligne après avoir été appelé"
+
+-#: c-decl.c:1544
++#: c-decl.c:1545
+ #, fuzzy, gcc-internal-format
+ msgid "%q+D declared inline after its definition"
+ msgstr "%J« %D » déclaré enligne après sa définition"
+
+-#: c-decl.c:1563
++#: c-decl.c:1564
+ #, fuzzy, gcc-internal-format
+ msgid "redefinition of parameter %q+D"
+ msgstr "%Jredéfinition du paramètre « %D »"
+
+-#: c-decl.c:1590
++#: c-decl.c:1591
+ #, fuzzy, gcc-internal-format
+ msgid "redundant redeclaration of %q+D"
+ msgstr "%Jdéclaration redondante de « %D »"
+
+-#: c-decl.c:1970
++#: c-decl.c:1975
+ #, fuzzy, gcc-internal-format
+ msgid "declaration of %q+D shadows previous non-variable"
+ msgstr "déclaration de « %D » masque la déclaration d'un local précédent"
+
+-#: c-decl.c:1975
++#: c-decl.c:1980
+ #, fuzzy, gcc-internal-format
+ msgid "declaration of %q+D shadows a parameter"
+ msgstr "déclaration de « %#D » masque un paramètre"
+
+-#: c-decl.c:1978
++#: c-decl.c:1983
+ #, fuzzy, gcc-internal-format
+ msgid "declaration of %q+D shadows a global declaration"
+ msgstr "déclaration de « %D » masque une déclaration globale"
+
+-#: c-decl.c:1988
++#: c-decl.c:1993
+ #, fuzzy, gcc-internal-format
+ msgid "declaration of %q+D shadows a previous local"
+ msgstr "déclaration de « %D » masque la déclaration d'un local précédent"
+
+-#: c-decl.c:1991 cp/name-lookup.c:988 cp/name-lookup.c:1019
+-#: cp/name-lookup.c:1027
++#: c-decl.c:1996 cp/name-lookup.c:987 cp/name-lookup.c:1018
++#: cp/name-lookup.c:1026
+ #, gcc-internal-format
+ msgid "%Jshadowed declaration is here"
+ msgstr "%Jdéclaration est masquée ici"
+
+-#: c-decl.c:2183
++#: c-decl.c:2188
+ #, fuzzy, gcc-internal-format
+ msgid "nested extern declaration of %qD"
+ msgstr "déclaration de « %s » externe imbriquée"
+
+-#: c-decl.c:2346 c-decl.c:2349
++#: c-decl.c:2351 c-decl.c:2354
+ #, fuzzy, gcc-internal-format
+ msgid "implicit declaration of function %qE"
+ msgstr "déclaration implicite de la fonction « %s »"
+
+-#: c-decl.c:2411
++#: c-decl.c:2416
+ #, fuzzy, gcc-internal-format
+ msgid "incompatible implicit declaration of built-in function %qD"
+ msgstr "déclaration implicite de la fonction « %#D »"
+
+-#: c-decl.c:2420
++#: c-decl.c:2425
+ #, fuzzy, gcc-internal-format
+ msgid "incompatible implicit declaration of function %qD"
+ msgstr "déclaration implicite de la fonction « %#D »"
+
+-#: c-decl.c:2473
++#: c-decl.c:2478
+ #, fuzzy, gcc-internal-format
+ msgid "%H%qE undeclared here (not in a function)"
+ msgstr "« %s » non déclaré ici (hors de toute fonction)"
+
+-#: c-decl.c:2478
++#: c-decl.c:2483
+ #, fuzzy, gcc-internal-format
+ msgid "%H%qE undeclared (first use in this function)"
+ msgstr "« %s » non déclaré (première utilisation dans cette fonction)"
+
+-#: c-decl.c:2482
++#: c-decl.c:2487
+ #, fuzzy, gcc-internal-format
+ msgid "%H(Each undeclared identifier is reported only once"
+ msgstr "(Chaque identificateur non déclaré est rapporté une seule fois"
+
+-#: c-decl.c:2483
++#: c-decl.c:2488
+ #, fuzzy, gcc-internal-format
+ msgid "%Hfor each function it appears in.)"
+ msgstr "pour chaque fonction dans laquelle il apparaît.)"
+
+-#: c-decl.c:2521 cp/decl.c:2397
++#: c-decl.c:2526 cp/decl.c:2404
+ #, fuzzy, gcc-internal-format
+ msgid "label %qE referenced outside of any function"
+ msgstr "étiquette %s référencée à l'extérieur de toute fonction"
+
+-#: c-decl.c:2563
++#: c-decl.c:2568
+ #, fuzzy, gcc-internal-format
+ msgid "duplicate label declaration %qE"
+ msgstr "déclaration de l'étiquette « %s » en double"
+
+-#: c-decl.c:2599
++#: c-decl.c:2604
+ #, fuzzy, gcc-internal-format
+ msgid "%Hduplicate label %qD"
+ msgstr "%Hétiquette « %D » apparaît en double"
+
+-#: c-decl.c:2609
++#: c-decl.c:2614
+ #, fuzzy, gcc-internal-format
+ msgid "%Jjump into statement expression"
+ msgstr "Rebut à la fin de l'expression."
+
+-#: c-decl.c:2611
++#: c-decl.c:2616
+ #, fuzzy, gcc-internal-format
+ msgid "%Jjump into scope of identifier with variably modified type"
+ msgstr "« %T » est type modifié de manière variable"
+
+-#: c-decl.c:2626
++#: c-decl.c:2631
+ #, fuzzy, gcc-internal-format
+ msgid "%Htraditional C lacks a separate namespace for labels, identifier %qE conflicts"
+ msgstr "%HC traditionnel manque d'un espace nom séparé pour les étiquettes, identificateur « %D » est en conflit"
+
+-#: c-decl.c:2701
++#: c-decl.c:2706
+ #, fuzzy, gcc-internal-format
+ msgid "%H%qE defined as wrong kind of tag"
+ msgstr "%H« %s » défini incorrectement comme une mauvais sorte d'étiquette"
+
+-#: c-decl.c:2903
++#: c-decl.c:2908
+ #, gcc-internal-format
+ msgid "unnamed struct/union that defines no instances"
+ msgstr "struct/union sans nom ne définissant aucune instance"
+
+-#: c-decl.c:2911
++#: c-decl.c:2916
+ #, fuzzy, gcc-internal-format
+ msgid "empty declaration with storage class specifier does not redeclare tag"
+ msgstr "spécificateur de classe de stockage dans le déclarateur de tableau"
+
+-#: c-decl.c:2922
++#: c-decl.c:2927
+ #, fuzzy, gcc-internal-format
+ msgid "empty declaration with type qualifier does not redeclare tag"
+ msgstr "déclaration ne déclarant rien du tout"
+
+-#: c-decl.c:2943 c-decl.c:2950
++#: c-decl.c:2948 c-decl.c:2955
+ #, fuzzy, gcc-internal-format
+ msgid "useless type name in empty declaration"
+ msgstr "mot clé ou nom de type inutile dans une déclaration vide"
+
+-#: c-decl.c:2958
++#: c-decl.c:2963
+ #, fuzzy, gcc-internal-format
+ msgid "%<inline%> in empty declaration"
+ msgstr "déclaration vide"
+
+-#: c-decl.c:2964
++#: c-decl.c:2969
+ #, fuzzy, gcc-internal-format
+ msgid "%<auto%> in file-scope empty declaration"
+ msgstr "deux types spécifiés dans une déclaration vide"
+
+-#: c-decl.c:2970
++#: c-decl.c:2975
+ #, fuzzy, gcc-internal-format
+ msgid "%<register%> in file-scope empty declaration"
+ msgstr "deux types spécifiés dans une déclaration vide"
+
+-#: c-decl.c:2976
++#: c-decl.c:2981
+ #, fuzzy, gcc-internal-format
+ msgid "useless storage class specifier in empty declaration"
+ msgstr "spécificateur de classe de stockage dans le déclarateur de tableau"
+
+-#: c-decl.c:2982
++#: c-decl.c:2987
+ #, fuzzy, gcc-internal-format
+ msgid "useless %<__thread%> in empty declaration"
+ msgstr "mot clé ou nom de type inutile dans une déclaration vide"
+
+-#: c-decl.c:2990
++#: c-decl.c:2995
+ #, fuzzy, gcc-internal-format
+ msgid "useless type qualifier in empty declaration"
+ msgstr "qualificateurs de types dupliqués dans déclaration %s"
+
+-#: c-decl.c:2997
++#: c-decl.c:3002
+ #, gcc-internal-format
+ msgid "empty declaration"
+ msgstr "déclaration vide"
+
+-#: c-decl.c:3063
++#: c-decl.c:3068
+ #, fuzzy, gcc-internal-format
+ msgid "ISO C90 does not support %<static%> or type qualifiers in parameter array declarators"
+ msgstr "ISO C90 ne supporte pas « static » ou les qualificateurs de type dans les déclarateurs de tableau de paramètres"
+
+-#: c-decl.c:3066
++#: c-decl.c:3071
+ #, fuzzy, gcc-internal-format
+ msgid "ISO C90 does not support %<[*]%> array declarators"
+ msgstr "ISO C90 ne supporte pas « [*] » dans les déclarateurs de tableau"
+@@ -18585,253 +18561,248 @@
+ #. C99 6.7.5.2p4
+ #. A function definition isn't function prototype scope C99 6.2.1p4.
+ #. C99 6.7.5.2p4
+-#: c-decl.c:3073 c-decl.c:5015
++#: c-decl.c:3078 c-decl.c:5014
+ #, gcc-internal-format
+ msgid "%<[*]%> not allowed in other than function prototype scope"
+ msgstr ""
+
+-#: c-decl.c:3097
+-#, gcc-internal-format
+-msgid "static or type qualifiers in abstract declarator"
+-msgstr "static ou qualificateurs de type dans un déclarateur abstrait"
+-
+-#: c-decl.c:3183
++#: c-decl.c:3181
+ #, fuzzy, gcc-internal-format
+ msgid "%q+D is usually a function"
+ msgstr "%J« %D » est habituellement une fonction"
+
+-#: c-decl.c:3192 cp/decl.c:3983 cp/decl2.c:773
++#: c-decl.c:3190 cp/decl.c:4003 cp/decl2.c:773
+ #, fuzzy, gcc-internal-format
+ msgid "typedef %qD is initialized (use __typeof__ instead)"
+ msgstr "typedef « %D » est initialisé (use __typeof__ instead)"
+
+-#: c-decl.c:3197
++#: c-decl.c:3195
+ #, fuzzy, gcc-internal-format
+ msgid "function %qD is initialized like a variable"
+ msgstr "fonction « %#D » est initialisée comme une variable"
+
+ #. DECL_INITIAL in a PARM_DECL is really DECL_ARG_TYPE.
+-#: c-decl.c:3203
++#: c-decl.c:3201
+ #, fuzzy, gcc-internal-format
+ msgid "parameter %qD is initialized"
+ msgstr "le paramètre « %s » est initialisé"
+
+-#: c-decl.c:3228
++#: c-decl.c:3226
+ #, fuzzy, gcc-internal-format
+ msgid "variable %qD has initializer but incomplete type"
+ msgstr "la variable « %#D » est initialisée, mais a un type incomplet"
+
+-#: c-decl.c:3316 c-decl.c:6108 cp/decl.c:4025 cp/decl.c:10985
++#: c-decl.c:3314 c-decl.c:6107 cp/decl.c:4045 cp/decl.c:11083
+ #, fuzzy, gcc-internal-format
+ msgid "inline function %q+D given attribute noinline"
+ msgstr "%J fonction enligne « %D » a reçu l'attribut non enligne"
+
+-#: c-decl.c:3327
++#: c-decl.c:3326
+ #, gcc-internal-format
+ msgid "%q+D is static but declared in inline function %qD which is not static"
+ msgstr ""
+
+-#: c-decl.c:3418
++#: c-decl.c:3417
+ #, fuzzy, gcc-internal-format
+ msgid "initializer fails to determine size of %q+D"
+ msgstr "l'initialisation n'a pu déterminer la taille de « %D »"
+
+-#: c-decl.c:3423
++#: c-decl.c:3422
+ #, fuzzy, gcc-internal-format
+ msgid "array size missing in %q+D"
+ msgstr "taille de tableau manquante dans « %D »"
+
+-#: c-decl.c:3435
++#: c-decl.c:3434
+ #, fuzzy, gcc-internal-format
+ msgid "zero or negative size array %q+D"
+ msgstr "%Jtableau « %D » de taille zéro ou négative"
+
+-#: c-decl.c:3490 varasm.c:2067
++#: c-decl.c:3489 varasm.c:2067
+ #, fuzzy, gcc-internal-format
+ msgid "storage size of %q+D isn%'t known"
+ msgstr "taille de stockage de « %D » n'est pas connue"
+
+-#: c-decl.c:3500
++#: c-decl.c:3499
+ #, fuzzy, gcc-internal-format
+ msgid "storage size of %q+D isn%'t constant"
+ msgstr "taille de stockage de « %D » n'est pas une constante"
+
+-#: c-decl.c:3545
++#: c-decl.c:3544
+ #, fuzzy, gcc-internal-format
+ msgid "ignoring asm-specifier for non-static local variable %q+D"
+ msgstr "%Jspécificateur asm ignoré pour la variable locale non statique « %D »"
+
+-#: c-decl.c:3573 fortran/f95-lang.c:653
++#: c-decl.c:3572 fortran/f95-lang.c:655
+ #, gcc-internal-format
+ msgid "cannot put object with volatile field into register"
+ msgstr "impossible de mettre un objet avec un champ volatile dans un registre"
+
+-#: c-decl.c:3702
++#: c-decl.c:3701
+ #, gcc-internal-format
+ msgid "ISO C forbids forward parameter declarations"
+ msgstr "ISO C interdit la déclaration anticipée de paramètres"
+
+-#: c-decl.c:3821
++#: c-decl.c:3820
+ #, fuzzy, gcc-internal-format
+ msgid "bit-field %qs width not an integer constant"
+ msgstr "la largeur du champ de bits « %s » n'est pas une constante entière"
+
+-#: c-decl.c:3829
++#: c-decl.c:3828
+ #, fuzzy, gcc-internal-format
+ msgid "negative width in bit-field %qs"
+ msgstr "largeur négative du champ de bits « %s »"
+
+-#: c-decl.c:3834
++#: c-decl.c:3833
+ #, fuzzy, gcc-internal-format
+ msgid "zero width for bit-field %qs"
+ msgstr "largeur nulle pour le champ de bits « %s »"
+
+-#: c-decl.c:3844
++#: c-decl.c:3843
+ #, fuzzy, gcc-internal-format
+ msgid "bit-field %qs has invalid type"
+ msgstr "le champ de bits « %s » a un type invalide"
+
+-#: c-decl.c:3854
++#: c-decl.c:3853
+ #, fuzzy, gcc-internal-format
+ msgid "type of bit-field %qs is a GCC extension"
+ msgstr "le type de champ de bit « %s » est une extension GCC"
+
+-#: c-decl.c:3860
++#: c-decl.c:3859
+ #, fuzzy, gcc-internal-format
+ msgid "width of %qs exceeds its type"
+ msgstr "la largeur de « %s » excède son type"
+
+-#: c-decl.c:3873
++#: c-decl.c:3872
+ #, fuzzy, gcc-internal-format
+ msgid "%qs is narrower than values of its type"
+ msgstr "« %s » est plus étroit que les valeurs de son type"
+
+-#: c-decl.c:3892
++#: c-decl.c:3891
+ #, fuzzy, gcc-internal-format
+ msgid "ISO C90 forbids array %qs whose size can%'t be evaluated"
+ msgstr "ISO C90 interdit le tableau « %s » dont la taille ne peut être évaluée"
+
+-#: c-decl.c:3896
++#: c-decl.c:3895
+ #, fuzzy, gcc-internal-format
+ msgid "ISO C90 forbids array whose size can%'t be evaluated"
+ msgstr "ISO C90 interdit le tableau « %s » dont la taille ne peut être évaluée"
+
+-#: c-decl.c:3902
++#: c-decl.c:3901
+ #, fuzzy, gcc-internal-format
+ msgid "ISO C90 forbids variable length array %qs"
+ msgstr "ISO C90 interdit le tableau « %s » de taille variable"
+
+-#: c-decl.c:3905
++#: c-decl.c:3904
+ #, fuzzy, gcc-internal-format
+ msgid "ISO C90 forbids variable length array"
+ msgstr "ISO C++ interdit le tableau de taille variable"
+
+-#: c-decl.c:3914
++#: c-decl.c:3913
+ #, fuzzy, gcc-internal-format
+ msgid "the size of array %qs can%'t be evaluated"
+ msgstr "taille du type ne peut être explicitement évaluée"
+
+-#: c-decl.c:3918
++#: c-decl.c:3917
+ #, fuzzy, gcc-internal-format
+ msgid "the size of array can %'t be evaluated"
+ msgstr "taille du type ne peut être explicitement évaluée"
+
+-#: c-decl.c:3924
++#: c-decl.c:3923
+ #, gcc-internal-format
+ msgid "variable length array %qs is used"
+ msgstr ""
+
+-#: c-decl.c:3928 cp/decl.c:7004
++#: c-decl.c:3927 cp/decl.c:7076
+ #, gcc-internal-format
+ msgid "variable length array is used"
+ msgstr ""
+
+-#: c-decl.c:4051 c-decl.c:4328
++#: c-decl.c:4050 c-decl.c:4327
+ #, fuzzy, gcc-internal-format
+ msgid "variably modified %qs at file scope"
+ msgstr "« %T » est type modifié de manière variable"
+
+-#: c-decl.c:4069
++#: c-decl.c:4068
+ #, fuzzy, gcc-internal-format
+ msgid "type defaults to %<int%> in declaration of %qs"
+ msgstr "dans la déclaration de « %s », utilisation de « int » par défaut pour le type"
+
+-#: c-decl.c:4097
++#: c-decl.c:4096
+ #, fuzzy, gcc-internal-format
+ msgid "duplicate %<const%>"
+ msgstr "« const » apparaît en double"
+
+-#: c-decl.c:4099
++#: c-decl.c:4098
+ #, fuzzy, gcc-internal-format
+ msgid "duplicate %<restrict%>"
+ msgstr "« restrict » apparaît en double"
+
+-#: c-decl.c:4101
++#: c-decl.c:4100
+ #, fuzzy, gcc-internal-format
+ msgid "duplicate %<volatile%>"
+ msgstr "« volatile » apparaît en double"
+
+-#: c-decl.c:4120
++#: c-decl.c:4119
+ #, fuzzy, gcc-internal-format
+ msgid "function definition declared %<auto%>"
+ msgstr "définition de fonction déclaré « auto »"
+
+-#: c-decl.c:4122
++#: c-decl.c:4121
+ #, fuzzy, gcc-internal-format
+ msgid "function definition declared %<register%>"
+ msgstr "définition de fonction déclarée « register »"
+
+-#: c-decl.c:4124
++#: c-decl.c:4123
+ #, fuzzy, gcc-internal-format
+ msgid "function definition declared %<typedef%>"
+ msgstr "définition de fonction déclarée « typedef »"
+
+-#: c-decl.c:4126
++#: c-decl.c:4125
+ #, fuzzy, gcc-internal-format
+ msgid "function definition declared %<__thread%>"
+ msgstr "définition de fonction déclarée « __thread »"
+
+-#: c-decl.c:4142
++#: c-decl.c:4141
+ #, fuzzy, gcc-internal-format
+ msgid "storage class specified for structure field %qs"
+ msgstr "classe de stockage spécifiée pour le champ de structure « %s »"
+
+-#: c-decl.c:4146 cp/decl.c:7874
++#: c-decl.c:4145 cp/decl.c:7946
+ #, fuzzy, gcc-internal-format
+ msgid "storage class specified for parameter %qs"
+ msgstr "classe de stockage spécifiée pour le paramètre « %s »"
+
+-#: c-decl.c:4149 cp/decl.c:7876
++#: c-decl.c:4148 cp/decl.c:7948
+ #, gcc-internal-format
+ msgid "storage class specified for typename"
+ msgstr "classe de stockage spécifié pour un typename"
+
+-#: c-decl.c:4166 cp/decl.c:7893
++#: c-decl.c:4165 cp/decl.c:7965
+ #, fuzzy, gcc-internal-format
+ msgid "%qs initialized and declared %<extern%>"
+ msgstr "« %s » initialisé et déclaré « extern »"
+
+-#: c-decl.c:4169 cp/decl.c:7896
++#: c-decl.c:4168 cp/decl.c:7968
+ #, fuzzy, gcc-internal-format
+ msgid "%qs has both %<extern%> and initializer"
+ msgstr "« %s » a les deux « extern » et initialisateur"
+
+-#: c-decl.c:4174
++#: c-decl.c:4173
+ #, fuzzy, gcc-internal-format
+ msgid "file-scope declaration of %qs specifies %<auto%>"
+ msgstr "la déclaration de l'étendue de fichier « %s » spécifie « auto »"
+
+-#: c-decl.c:4176
++#: c-decl.c:4175
+ #, fuzzy, gcc-internal-format
+ msgid "file-scope declaration of %qs specifies %<register%>"
+ msgstr "la déclaration de l'étendue de fichier « %s » spécifie « auto »"
+
+-#: c-decl.c:4181 cp/decl.c:7900
++#: c-decl.c:4180 cp/decl.c:7972
+ #, fuzzy, gcc-internal-format
+ msgid "nested function %qs declared %<extern%>"
+ msgstr "fonction imbriquée « %s » déclarée « extern »"
+
+-#: c-decl.c:4184 cp/decl.c:7910
++#: c-decl.c:4183 cp/decl.c:7982
+ #, fuzzy, gcc-internal-format
+ msgid "function-scope %qs implicitly auto and declared %<__thread%>"
+ msgstr "« %s » dans le champ de la fonction est implicitement déclaré auto, et déclaré « __thread »"
+@@ -18839,468 +18810,468 @@
+ #. Only the innermost declarator (making a parameter be of
+ #. array type which is converted to pointer type)
+ #. may have static or type qualifiers.
+-#: c-decl.c:4231 c-decl.c:4472
++#: c-decl.c:4230 c-decl.c:4471
+ #, gcc-internal-format
+ msgid "static or type qualifiers in non-parameter array declarator"
+ msgstr "static ou qualificateurs de type dans un déclarateur de tableau n'étant pas un paramètre"
+
+-#: c-decl.c:4278
++#: c-decl.c:4277
+ #, fuzzy, gcc-internal-format
+ msgid "declaration of %qs as array of voids"
+ msgstr "déclaration de « %s » comme un tableau de « void »"
+
+-#: c-decl.c:4284
++#: c-decl.c:4283
+ #, fuzzy, gcc-internal-format
+ msgid "declaration of %qs as array of functions"
+ msgstr "déclaration de « %s » comme un tableau de fonctions"
+
+-#: c-decl.c:4289
++#: c-decl.c:4288
+ #, gcc-internal-format
+ msgid "invalid use of structure with flexible array member"
+ msgstr "utilisation invalide d'une structure ayant un membre flexible"
+
+-#: c-decl.c:4309
++#: c-decl.c:4308
+ #, fuzzy, gcc-internal-format
+ msgid "size of array %qs has non-integer type"
+ msgstr "la taille du tableau « %s » n'est pas de type entier"
+
+-#: c-decl.c:4314
++#: c-decl.c:4313
+ #, fuzzy, gcc-internal-format
+ msgid "ISO C forbids zero-size array %qs"
+ msgstr "ISO C interdit le tableau de taille zéro « %s »"
+
+-#: c-decl.c:4321
++#: c-decl.c:4320
+ #, fuzzy, gcc-internal-format
+ msgid "size of array %qs is negative"
+ msgstr "la taille du tableau « %s » est négative"
+
+-#: c-decl.c:4375 c-decl.c:4631 cp/decl.c:8375
++#: c-decl.c:4374 c-decl.c:4630 cp/decl.c:8447
+ #, fuzzy, gcc-internal-format
+ msgid "size of array %qs is too large"
+ msgstr "la taille du tableau « %s » est trop grande"
+
+-#: c-decl.c:4386
++#: c-decl.c:4385
+ #, gcc-internal-format
+ msgid "ISO C90 does not support flexible array members"
+ msgstr "ISO C90 interdit les tableaux ayant des membres flexibles"
+
+ #. C99 6.7.5.2p4
+-#: c-decl.c:4399
++#: c-decl.c:4398
+ #, fuzzy, gcc-internal-format
+ msgid "%<[*]%> not allowed in other than a declaration"
+ msgstr "INIT n'est pas permis dans la déclaration d'identité de localisation"
+
+-#: c-decl.c:4422
++#: c-decl.c:4421
+ #, gcc-internal-format
+ msgid "array type has incomplete element type"
+ msgstr "les éléments du tableau sont de type incomplet"
+
+-#: c-decl.c:4504 cp/decl.c:8001
++#: c-decl.c:4503 cp/decl.c:8073
+ #, fuzzy, gcc-internal-format
+ msgid "%qs declared as function returning a function"
+ msgstr "« %s » déclaré comme une fonction retournant une fonction"
+
+-#: c-decl.c:4509 cp/decl.c:8006
++#: c-decl.c:4508 cp/decl.c:8078
+ #, fuzzy, gcc-internal-format
+ msgid "%qs declared as function returning an array"
+ msgstr "« %s » déclaré comme une fonction retournant un tableau"
+
+-#: c-decl.c:4531
++#: c-decl.c:4530
+ #, fuzzy, gcc-internal-format
+ msgid "function definition has qualified void return type"
+ msgstr "définition invalide d'un type qualifié « %T »"
+
+-#: c-decl.c:4534 cp/decl.c:7990 cp/pt.c:8568
++#: c-decl.c:4533 cp/decl.c:8062 cp/pt.c:8668
+ #, gcc-internal-format
+ msgid "type qualifiers ignored on function return type"
+ msgstr "qualificateurs de type ignorés pour le type à retourner par la fonction"
+
+-#: c-decl.c:4563 c-decl.c:4644 c-decl.c:4732 c-decl.c:4825
++#: c-decl.c:4562 c-decl.c:4643 c-decl.c:4731 c-decl.c:4824
+ #, gcc-internal-format
+ msgid "ISO C forbids qualified function types"
+ msgstr "ISO C interdit les types de fonction qualifiés"
+
+-#: c-decl.c:4652
++#: c-decl.c:4651
+ #, fuzzy, gcc-internal-format
+ msgid "typedef %q+D declared %<inline%>"
+ msgstr "%Jvariable « %D » déclarée « inline »"
+
+-#: c-decl.c:4667
++#: c-decl.c:4666
+ #, gcc-internal-format
+ msgid "ISO C forbids const or volatile function types"
+ msgstr "ISO C interdit les fonction de type volatile ou constante"
+
+ #. C99 6.7.2.1p8
+-#: c-decl.c:4677
++#: c-decl.c:4676
+ #, fuzzy, gcc-internal-format
+ msgid "a member of a structure or union cannot have a variably modified type"
+ msgstr "membre de données peut ne pas avoir de type « %T » modifié de manière variable"
+
+-#: c-decl.c:4693
++#: c-decl.c:4692
+ #, fuzzy, gcc-internal-format
+ msgid "variable or field %qs declared void"
+ msgstr "variable ou champ « %s » déclaré « void »"
+
+-#: c-decl.c:4725
++#: c-decl.c:4724
+ #, gcc-internal-format
+ msgid "attributes in parameter array declarator ignored"
+ msgstr "les attributs dans un déclarateur de tableau de paramètres sont ignorés"
+
+-#: c-decl.c:4760
++#: c-decl.c:4759
+ #, fuzzy, gcc-internal-format
+ msgid "parameter %q+D declared %<inline%>"
+ msgstr "paramètre « %D » déclaré «void »"
+
+-#: c-decl.c:4773
++#: c-decl.c:4772
+ #, fuzzy, gcc-internal-format
+ msgid "field %qs declared as a function"
+ msgstr "champ « %s » déclaré comme une fonction"
+
+-#: c-decl.c:4779
++#: c-decl.c:4778
+ #, fuzzy, gcc-internal-format
+ msgid "field %qs has incomplete type"
+ msgstr "champ « %s » est de type incomplet"
+
+-#: c-decl.c:4796 c-decl.c:4808 c-decl.c:4812
++#: c-decl.c:4795 c-decl.c:4807 c-decl.c:4811
+ #, fuzzy, gcc-internal-format
+ msgid "invalid storage class for function %qs"
+ msgstr "classe de stockage invalide pour la fonction « %s »"
+
+-#: c-decl.c:4831
++#: c-decl.c:4830
+ #, fuzzy, gcc-internal-format
+ msgid "%<noreturn%> function returns non-void value"
+ msgstr "fonction marquée « noreturn » retourne une valeur n'étant pas de type « void »"
+
+-#: c-decl.c:4867
++#: c-decl.c:4866
+ #, fuzzy, gcc-internal-format
+ msgid "cannot inline function %<main%>"
+ msgstr "ne peut transformer « main » en fonction enligne"
+
+-#: c-decl.c:4910
++#: c-decl.c:4909
+ #, fuzzy, gcc-internal-format
+ msgid "variable previously declared %<static%> redeclared %<extern%>"
+ msgstr "variable précédemment déclarée « static » redéclarée « extern »"
+
+-#: c-decl.c:4920
++#: c-decl.c:4919
+ #, fuzzy, gcc-internal-format
+ msgid "variable %q+D declared %<inline%>"
+ msgstr "%Jvariable « %D » déclarée « inline »"
+
+ #. C99 6.7.5.2p2
+-#: c-decl.c:4951
++#: c-decl.c:4950
+ #, gcc-internal-format
+ msgid "object with variably modified type must have no linkage"
+ msgstr ""
+
+-#: c-decl.c:5020 c-decl.c:6199
++#: c-decl.c:5019 c-decl.c:6198
+ #, fuzzy, gcc-internal-format
+ msgid "function declaration isn%'t a prototype"
+ msgstr "la déclaration de fonction n'est pas un prototype valide"
+
+-#: c-decl.c:5028
++#: c-decl.c:5027
+ #, gcc-internal-format
+ msgid "parameter names (without types) in function declaration"
+ msgstr "noms de paramètres (sans type) dans la déclaration de fonction"
+
+-#: c-decl.c:5061
++#: c-decl.c:5060
+ #, fuzzy, gcc-internal-format
+ msgid "parameter %u (%q+D) has incomplete type"
+ msgstr "%Jparamètre \"%D\" a un type incomplet"
+
+-#: c-decl.c:5064
++#: c-decl.c:5063
+ #, fuzzy, gcc-internal-format
+ msgid "%Jparameter %u has incomplete type"
+ msgstr "%Jparamètre \"%D\" a un type incomplet"
+
+-#: c-decl.c:5073
++#: c-decl.c:5072
+ #, fuzzy, gcc-internal-format
+ msgid "parameter %u (%q+D) has void type"
+ msgstr "%Jparamètre \"%D\" a un type incomplet"
+
+-#: c-decl.c:5076
++#: c-decl.c:5075
+ #, fuzzy, gcc-internal-format
+ msgid "%Jparameter %u has void type"
+ msgstr "%Jparamètre \"%D\" a un type incomplet"
+
+-#: c-decl.c:5138
++#: c-decl.c:5137
+ #, fuzzy, gcc-internal-format
+ msgid "%<void%> as only parameter may not be qualified"
+ msgstr "\"void\" comme seul paramètre ne peut être qualifié"
+
+-#: c-decl.c:5142 c-decl.c:5176
++#: c-decl.c:5141 c-decl.c:5175
+ #, fuzzy, gcc-internal-format
+ msgid "%<void%> must be the only parameter"
+ msgstr "\"void\" doit être le seul paramètre"
+
+-#: c-decl.c:5170
++#: c-decl.c:5169
+ #, fuzzy, gcc-internal-format
+ msgid "parameter %q+D has just a forward declaration"
+ msgstr "%Jparamètre « %D » n'a qu'une déclaration anticipée"
+
+ #. The %s will be one of 'struct', 'union', or 'enum'.
+-#: c-decl.c:5215
++#: c-decl.c:5214
+ #, fuzzy, gcc-internal-format
+ msgid "%<%s %E%> declared inside parameter list"
+ msgstr "\"%s %s\" déclarée à l'intérieur de la liste de paramètres"
+
+ #. The %s will be one of 'struct', 'union', or 'enum'.
+-#: c-decl.c:5219
++#: c-decl.c:5218
+ #, gcc-internal-format
+ msgid "anonymous %s declared inside parameter list"
+ msgstr "structure anonyme %s déclarée à l'intérieur de la liste des paramètres"
+
+-#: c-decl.c:5224
++#: c-decl.c:5223
+ #, gcc-internal-format
+ msgid "its scope is only this definition or declaration, which is probably not what you want"
+ msgstr "visible uniquement depuis cette définition ou déclaration, ce qui n'est probablement pas ce que vous désirez"
+
+-#: c-decl.c:5358
++#: c-decl.c:5357
+ #, fuzzy, gcc-internal-format
+ msgid "redefinition of %<union %E%>"
+ msgstr "redéfinition de « union %s »"
+
+-#: c-decl.c:5360
++#: c-decl.c:5359
+ #, fuzzy, gcc-internal-format
+ msgid "redefinition of %<struct %E%>"
+ msgstr "redéfinition de « struct %s »"
+
+-#: c-decl.c:5365
++#: c-decl.c:5364
+ #, fuzzy, gcc-internal-format
+ msgid "nested redefinition of %<union %E%>"
+ msgstr "redéfinition imbriquée de « %s »"
+
+-#: c-decl.c:5367
++#: c-decl.c:5366
+ #, fuzzy, gcc-internal-format
+ msgid "nested redefinition of %<struct %E%>"
+ msgstr "redéfinition imbriquée de « %s »"
+
+-#: c-decl.c:5442 cp/decl.c:3780
++#: c-decl.c:5441 cp/decl.c:3796
+ #, gcc-internal-format
+ msgid "declaration does not declare anything"
+ msgstr "déclaration ne déclarant rien du tout"
+
+-#: c-decl.c:5446
++#: c-decl.c:5445
+ #, fuzzy, gcc-internal-format
+ msgid "ISO C doesn%'t support unnamed structs/unions"
+ msgstr "ISO C ne permet pas les structures et unions sans nom"
+
+-#: c-decl.c:5490 c-decl.c:5506
++#: c-decl.c:5489 c-decl.c:5505
+ #, fuzzy, gcc-internal-format
+ msgid "duplicate member %q+D"
+ msgstr "membre « %D » est double"
+
+-#: c-decl.c:5545
++#: c-decl.c:5544
+ #, fuzzy, gcc-internal-format
+ msgid "union has no named members"
+ msgstr "membres nommés"
+
+-#: c-decl.c:5547
++#: c-decl.c:5546
+ #, fuzzy, gcc-internal-format
+ msgid "union has no members"
+ msgstr "aggrégat anonyme sans aucun membre"
+
+-#: c-decl.c:5552
++#: c-decl.c:5551
+ #, fuzzy, gcc-internal-format
+ msgid "struct has no named members"
+ msgstr "membres nommés"
+
+-#: c-decl.c:5554
++#: c-decl.c:5553
+ #, fuzzy, gcc-internal-format
+ msgid "struct has no members"
+ msgstr "%s n'a pas de membre nommé « %s »"
+
+-#: c-decl.c:5616
++#: c-decl.c:5615
+ #, gcc-internal-format
+ msgid "%Jflexible array member in union"
+ msgstr "%Jmembre flexible de tableau dans l'union"
+
+-#: c-decl.c:5621
++#: c-decl.c:5620
+ #, gcc-internal-format
+ msgid "%Jflexible array member not at end of struct"
+ msgstr "%Jle membre flexible de tableau n'est pas à la fin de la structure"
+
+-#: c-decl.c:5626
++#: c-decl.c:5625
+ #, gcc-internal-format
+ msgid "%Jflexible array member in otherwise empty struct"
+ msgstr "%Jmembre flexible de tableau dans une structure vide par ailleurs"
+
+-#: c-decl.c:5633
++#: c-decl.c:5632
+ #, gcc-internal-format
+ msgid "%Jinvalid use of structure with flexible array member"
+ msgstr "%Jutilisation invalide d'une structure ayant un membre flexible"
+
+-#: c-decl.c:5742
++#: c-decl.c:5741
+ #, gcc-internal-format
+ msgid "union cannot be made transparent"
+ msgstr "union ne peut pas être rendu transparente"
+
+-#: c-decl.c:5813
++#: c-decl.c:5812
+ #, fuzzy, gcc-internal-format
+ msgid "nested redefinition of %<enum %E%>"
+ msgstr "redéfinition imbriquée de « %s »"
+
+ #. This enum is a named one that has been declared already.
+-#: c-decl.c:5820
++#: c-decl.c:5819
+ #, fuzzy, gcc-internal-format
+ msgid "redeclaration of %<enum %E%>"
+ msgstr "redéclaration de « enum %s »"
+
+-#: c-decl.c:5883
++#: c-decl.c:5882
+ #, gcc-internal-format
+ msgid "enumeration values exceed range of largest integer"
+ msgstr "valeurs d'énumération excède les bornes du plus grand entier"
+
+-#: c-decl.c:5900
++#: c-decl.c:5899
+ #, gcc-internal-format
+ msgid "specified mode too small for enumeral values"
+ msgstr ""
+
+-#: c-decl.c:5996
++#: c-decl.c:5995
+ #, fuzzy, gcc-internal-format
+ msgid "enumerator value for %qE is not an integer constant"
+ msgstr "valeur de l'énumérateur pour « %s » n'est pas une constante entière"
+
+-#: c-decl.c:6013
++#: c-decl.c:6012
+ #, gcc-internal-format
+ msgid "overflow in enumeration values"
+ msgstr "débordement dans les valeurs de l'énumération"
+
+-#: c-decl.c:6018
++#: c-decl.c:6017
+ #, fuzzy, gcc-internal-format
+ msgid "ISO C restricts enumerator values to range of %<int%>"
+ msgstr "ISO C restreint les valeurs de l'énumérateur aux bornes d'un « int »"
+
+-#: c-decl.c:6125
++#: c-decl.c:6124
+ #, gcc-internal-format
+ msgid "return type is an incomplete type"
+ msgstr "le type du retour est incomplet"
+
+-#: c-decl.c:6133
++#: c-decl.c:6132
+ #, fuzzy, gcc-internal-format
+ msgid "return type defaults to %<int%>"
+ msgstr "le type du retour est « int » par défaut"
+
+-#: c-decl.c:6206
++#: c-decl.c:6205
+ #, fuzzy, gcc-internal-format
+ msgid "no previous prototype for %q+D"
+ msgstr "%Jaucun prototype précédent pour « %D »"
+
+-#: c-decl.c:6215
++#: c-decl.c:6214
+ #, fuzzy, gcc-internal-format
+ msgid "%q+D was used with no prototype before its definition"
+ msgstr "%J« %D » a été utilisé sans prototype avant sa définition"
+
+-#: c-decl.c:6221 cp/decl.c:11126
++#: c-decl.c:6220 cp/decl.c:11224
+ #, fuzzy, gcc-internal-format
+ msgid "no previous declaration for %q+D"
+ msgstr "%Jaucune déclaration précédente pour « %D »"
+
+-#: c-decl.c:6231
++#: c-decl.c:6230
+ #, fuzzy, gcc-internal-format
+ msgid "%q+D was used with no declaration before its definition"
+ msgstr "%J« %D » a été utilisé sans déclaration avant sa définition"
+
+-#: c-decl.c:6254 c-decl.c:6723
++#: c-decl.c:6253 c-decl.c:6722
+ #, fuzzy, gcc-internal-format
+ msgid "return type of %q+D is not %<int%>"
+ msgstr "%Jle type de retour de « %D » n'est pas « int »"
+
+-#: c-decl.c:6259
++#: c-decl.c:6258
+ #, fuzzy, gcc-internal-format
+ msgid "%q+D is normally a non-static function"
+ msgstr "%J« %D » n'est pas normalement une fonction statique"
+
+-#: c-decl.c:6293
++#: c-decl.c:6292
+ #, gcc-internal-format
+ msgid "%Jold-style parameter declarations in prototyped function definition"
+ msgstr "%Jdéclaration de paramètre d'ancien style dans la définition prototypée de fonction"
+
+-#: c-decl.c:6307
++#: c-decl.c:6306
+ #, fuzzy, gcc-internal-format
+ msgid "%Jtraditional C rejects ISO C style function definitions"
+ msgstr "le C traditionel rejette les définitions de fonction de style ISO C"
+
+-#: c-decl.c:6323
++#: c-decl.c:6322
+ #, gcc-internal-format
+ msgid "%Jparameter name omitted"
+ msgstr "%Jnom de paramètre omis"
+
+-#: c-decl.c:6357
++#: c-decl.c:6356
+ #, fuzzy, gcc-internal-format
+ msgid "%Jold-style function definition"
+ msgstr "spécificateur pur lors de la définition d'une fonction"
+
+-#: c-decl.c:6366
++#: c-decl.c:6365
+ #, gcc-internal-format
+ msgid "%Jparameter name missing from parameter list"
+ msgstr "%Jnom du paramètre manquant dans la liste des paramètres"
+
+-#: c-decl.c:6377
++#: c-decl.c:6376
+ #, fuzzy, gcc-internal-format
+ msgid "%q+D declared as a non-parameter"
+ msgstr "%J\"%D\" déclaré comme un non paramètre"
+
+-#: c-decl.c:6382
++#: c-decl.c:6381
+ #, fuzzy, gcc-internal-format
+ msgid "multiple parameters named %q+D"
+ msgstr "%Jplusieurs paramètres nommés « %D »"
+
+-#: c-decl.c:6390
++#: c-decl.c:6389
+ #, fuzzy, gcc-internal-format
+ msgid "parameter %q+D declared with void type"
+ msgstr "paramètre « %D » déclaré «void »"
+
+-#: c-decl.c:6407 c-decl.c:6409
++#: c-decl.c:6406 c-decl.c:6408
+ #, fuzzy, gcc-internal-format
+ msgid "type of %q+D defaults to %<int%>"
+ msgstr "%Jtype de « %D » est « int » par défaut"
+
+-#: c-decl.c:6428
++#: c-decl.c:6427
+ #, fuzzy, gcc-internal-format
+ msgid "parameter %q+D has incomplete type"
+ msgstr "le paramètre a un type incomplet"
+
+-#: c-decl.c:6434
++#: c-decl.c:6433
+ #, fuzzy, gcc-internal-format
+ msgid "declaration for parameter %q+D but no such parameter"
+ msgstr "%Jdéclaration du paramètre « %D » mais pas de tel paramètre"
+
+-#: c-decl.c:6484
++#: c-decl.c:6483
+ #, fuzzy, gcc-internal-format
+ msgid "number of arguments doesn%'t match built-in prototype"
+ msgstr "le nombre d'arguments ne concorde pas avec celui du prototype"
+
+-#: c-decl.c:6488
++#: c-decl.c:6487
+ #, fuzzy, gcc-internal-format
+ msgid "number of arguments doesn%'t match prototype"
+ msgstr "le nombre d'arguments ne concorde pas avec celui du prototype"
+
+-#: c-decl.c:6489 c-decl.c:6529 c-decl.c:6542
++#: c-decl.c:6488 c-decl.c:6528 c-decl.c:6541
+ #, gcc-internal-format
+ msgid "%Hprototype declaration"
+ msgstr "%Hdéclaration de prototype"
+
+-#: c-decl.c:6523
++#: c-decl.c:6522
+ #, fuzzy, gcc-internal-format
+ msgid "promoted argument %qD doesn%'t match built-in prototype"
+ msgstr "argument promu \"%D\" ne concorde pas avec le prototype"
+
+-#: c-decl.c:6527
++#: c-decl.c:6526
+ #, fuzzy, gcc-internal-format
+ msgid "promoted argument %qD doesn%'t match prototype"
+ msgstr "argument promu \"%D\" ne concorde pas avec le prototype"
+
+-#: c-decl.c:6537
++#: c-decl.c:6536
+ #, fuzzy, gcc-internal-format
+ msgid "argument %qD doesn%'t match built-in prototype"
+ msgstr "argument \"%D\" ne concorde pas avec le prototype"
+
+-#: c-decl.c:6541
++#: c-decl.c:6540
+ #, fuzzy, gcc-internal-format
+ msgid "argument %qD doesn%'t match prototype"
+ msgstr "argument \"%D\" ne concorde pas avec le prototype"
+
+-#: c-decl.c:6768 cp/decl.c:11820
++#: c-decl.c:6767 cp/decl.c:11918
+ #, gcc-internal-format
+ msgid "no return statement in function returning non-void"
+ msgstr "« return » manquant dans une fonction devant retourner une valeur"
+@@ -19308,437 +19279,437 @@
+ #. If we get here, declarations have been used in a for loop without
+ #. the C99 for loop scope. This doesn't make much sense, so don't
+ #. allow it.
+-#: c-decl.c:6841
++#: c-decl.c:6840
+ #, fuzzy, gcc-internal-format
+ msgid "%<for%> loop initial declaration used outside C99 mode"
+ msgstr "déclaration initiale de la boucle « for » utilisée en dehors du mode C99"
+
+-#: c-decl.c:6870
++#: c-decl.c:6869
+ #, fuzzy, gcc-internal-format
+ msgid "declaration of static variable %q+D in %<for%> loop initial declaration"
+ msgstr "%Jdéclaration de la variable statique « %D » dans la déclaration initiale de la boucle « for »"
+
+-#: c-decl.c:6873
++#: c-decl.c:6872
+ #, fuzzy, gcc-internal-format
+ msgid "declaration of %<extern%> variable %q+D in %<for%> loop initial declaration"
+ msgstr "%Jdéclaration de la variable externe « %D » dans la déclaration initiale « for »"
+
+-#: c-decl.c:6878
++#: c-decl.c:6877
+ #, fuzzy, gcc-internal-format
+ msgid "%<struct %E%> declared in %<for%> loop initial declaration"
+ msgstr "« struct %s » déclarée dans la déclaration initiale de la boucle « for »"
+
+-#: c-decl.c:6882
++#: c-decl.c:6881
+ #, fuzzy, gcc-internal-format
+ msgid "%<union %E%> declared in %<for%> loop initial declaration"
+ msgstr "« union %s » déclarée dans la déclaration initiale de la boucle « for »"
+
+-#: c-decl.c:6886
++#: c-decl.c:6885
+ #, fuzzy, gcc-internal-format
+ msgid "%<enum %E%> declared in %<for%> loop initial declaration"
+ msgstr "« enum %s » déclarée dans la déclaration initiale de la boucle « for »"
+
+-#: c-decl.c:6890
++#: c-decl.c:6889
+ #, fuzzy, gcc-internal-format
+ msgid "declaration of non-variable %q+D in %<for%> loop initial declaration"
+ msgstr "%Jdéclaration de « %D » (qui n'est pas une variable) dans la déclaration initiale de « for »"
+
+-#: c-decl.c:7178 c-decl.c:7420 c-decl.c:7716
++#: c-decl.c:7177 c-decl.c:7419 c-decl.c:7715
+ #, fuzzy, gcc-internal-format
+ msgid "duplicate %qE"
+ msgstr "« %s » apparaît en double"
+
+-#: c-decl.c:7201 c-decl.c:7430 c-decl.c:7617
++#: c-decl.c:7200 c-decl.c:7429 c-decl.c:7616
+ #, fuzzy, gcc-internal-format
+ msgid "two or more data types in declaration specifiers"
+ msgstr "deux types de données ou plus dans la déclaration de « %s »"
+
+-#: c-decl.c:7213 cp/parser.c:2149
++#: c-decl.c:7212 cp/parser.c:2152
+ #, fuzzy, gcc-internal-format
+ msgid "%<long long long%> is too long for GCC"
+ msgstr "« long long long » est trop long pour GCC"
+
+-#: c-decl.c:7220 c-decl.c:7520
++#: c-decl.c:7219 c-decl.c:7519
+ #, gcc-internal-format
+ msgid "both %<long long%> and %<double%> in declaration specifiers"
+ msgstr ""
+
+-#: c-decl.c:7226
++#: c-decl.c:7225
+ #, fuzzy, gcc-internal-format
+ msgid "ISO C90 does not support %<long long%>"
+ msgstr "ISO C90 ne permet pas « long long »"
+
+-#: c-decl.c:7231 c-decl.c:7260
++#: c-decl.c:7230 c-decl.c:7259
+ #, fuzzy, gcc-internal-format
+ msgid "both %<long%> and %<short%> in declaration specifiers"
+ msgstr "« long » et « short » spécifiés à la fois pour « %s »"
+
+-#: c-decl.c:7234 c-decl.c:7437
++#: c-decl.c:7233 c-decl.c:7436
+ #, fuzzy, gcc-internal-format
+ msgid "both %<long%> and %<void%> in declaration specifiers"
+ msgstr "« long » et « short » spécifiés à la fois pour « %s »"
+
+-#: c-decl.c:7237 c-decl.c:7459
++#: c-decl.c:7236 c-decl.c:7458
+ #, fuzzy, gcc-internal-format
+ msgid "both %<long%> and %<_Bool%> in declaration specifiers"
+ msgstr "« long » et « short » spécifiés à la fois pour « %s »"
+
+-#: c-decl.c:7240 c-decl.c:7481
++#: c-decl.c:7239 c-decl.c:7480
+ #, fuzzy, gcc-internal-format
+ msgid "both %<long%> and %<char%> in declaration specifiers"
+ msgstr "« long » et « short » spécifiés à la fois pour « %s »"
+
+-#: c-decl.c:7243 c-decl.c:7501
++#: c-decl.c:7242 c-decl.c:7500
+ #, fuzzy, gcc-internal-format
+ msgid "both %<long%> and %<float%> in declaration specifiers"
+ msgstr "« long » et « short » spécifiés à la fois pour « %s »"
+
+-#: c-decl.c:7246
++#: c-decl.c:7245
+ #, gcc-internal-format
+ msgid "both %<long%> and %<_Decimal32%> in declaration specifiers"
+ msgstr ""
+
+-#: c-decl.c:7249
++#: c-decl.c:7248
+ #, gcc-internal-format
+ msgid "both %<long%> and %<_Decimal64%> in declaration specifiers"
+ msgstr ""
+
+-#: c-decl.c:7252
++#: c-decl.c:7251
+ #, gcc-internal-format
+ msgid "both %<long%> and %<_Decimal128%> in declaration specifiers"
+ msgstr ""
+
+-#: c-decl.c:7263 c-decl.c:7440
++#: c-decl.c:7262 c-decl.c:7439
+ #, gcc-internal-format
+ msgid "both %<short%> and %<void%> in declaration specifiers"
+ msgstr ""
+
+-#: c-decl.c:7266 c-decl.c:7462
++#: c-decl.c:7265 c-decl.c:7461
+ #, gcc-internal-format
+ msgid "both %<short%> and %<_Bool%> in declaration specifiers"
+ msgstr ""
+
+-#: c-decl.c:7269 c-decl.c:7484
++#: c-decl.c:7268 c-decl.c:7483
+ #, gcc-internal-format
+ msgid "both %<short%> and %<char%> in declaration specifiers"
+ msgstr ""
+
+-#: c-decl.c:7272 c-decl.c:7504
++#: c-decl.c:7271 c-decl.c:7503
+ #, gcc-internal-format
+ msgid "both %<short%> and %<float%> in declaration specifiers"
+ msgstr ""
+
+-#: c-decl.c:7275 c-decl.c:7523
++#: c-decl.c:7274 c-decl.c:7522
+ #, gcc-internal-format
+ msgid "both %<short%> and %<double%> in declaration specifiers"
+ msgstr ""
+
+-#: c-decl.c:7278
++#: c-decl.c:7277
+ #, gcc-internal-format
+ msgid "both %<short%> and %<_Decimal32%> in declaration specifiers"
+ msgstr ""
+
+-#: c-decl.c:7281
++#: c-decl.c:7280
+ #, gcc-internal-format
+ msgid "both %<short%> and %<_Decimal64%> in declaration specifiers"
+ msgstr ""
+
+-#: c-decl.c:7284
++#: c-decl.c:7283
+ #, gcc-internal-format
+ msgid "both %<short%> and %<_Decimal128%> in declaration specifiers"
+ msgstr ""
+
+-#: c-decl.c:7292 c-decl.c:7321
++#: c-decl.c:7291 c-decl.c:7320
+ #, fuzzy, gcc-internal-format
+ msgid "both %<signed%> and %<unsigned%> in declaration specifiers"
+ msgstr "« %s » est à la fois signé et non signé"
+
+-#: c-decl.c:7295 c-decl.c:7443
++#: c-decl.c:7294 c-decl.c:7442
+ #, fuzzy, gcc-internal-format
+ msgid "both %<signed%> and %<void%> in declaration specifiers"
+ msgstr "« %s » est à la fois signé et non signé"
+
+-#: c-decl.c:7298 c-decl.c:7465
++#: c-decl.c:7297 c-decl.c:7464
+ #, fuzzy, gcc-internal-format
+ msgid "both %<signed%> and %<_Bool%> in declaration specifiers"
+ msgstr "« %s » est à la fois signé et non signé"
+
+-#: c-decl.c:7301 c-decl.c:7507
++#: c-decl.c:7300 c-decl.c:7506
+ #, fuzzy, gcc-internal-format
+ msgid "both %<signed%> and %<float%> in declaration specifiers"
+ msgstr "« %s » est à la fois signé et non signé"
+
+-#: c-decl.c:7304 c-decl.c:7526
++#: c-decl.c:7303 c-decl.c:7525
+ #, fuzzy, gcc-internal-format
+ msgid "both %<signed%> and %<double%> in declaration specifiers"
+ msgstr "« %s » est à la fois signé et non signé"
+
+-#: c-decl.c:7307
++#: c-decl.c:7306
+ #, gcc-internal-format
+ msgid "both %<signed%> and %<_Decimal32%> in declaration specifiers"
+ msgstr ""
+
+-#: c-decl.c:7310
++#: c-decl.c:7309
+ #, gcc-internal-format
+ msgid "both %<signed%> and %<_Decimal64%> in declaration specifiers"
+ msgstr ""
+
+-#: c-decl.c:7313
++#: c-decl.c:7312
+ #, gcc-internal-format
+ msgid "both %<signed%> and %<_Decimal128%> in declaration specifiers"
+ msgstr ""
+
+-#: c-decl.c:7324 c-decl.c:7446
++#: c-decl.c:7323 c-decl.c:7445
+ #, fuzzy, gcc-internal-format
+ msgid "both %<unsigned%> and %<void%> in declaration specifiers"
+ msgstr "« %s » est à la fois signé et non signé"
+
+-#: c-decl.c:7327 c-decl.c:7468
++#: c-decl.c:7326 c-decl.c:7467
+ #, fuzzy, gcc-internal-format
+ msgid "both %<unsigned%> and %<_Bool%> in declaration specifiers"
+ msgstr "« %s » est à la fois signé et non signé"
+
+-#: c-decl.c:7330 c-decl.c:7510
++#: c-decl.c:7329 c-decl.c:7509
+ #, fuzzy, gcc-internal-format
+ msgid "both %<unsigned%> and %<float%> in declaration specifiers"
+ msgstr "« %s » est à la fois signé et non signé"
+
+-#: c-decl.c:7333 c-decl.c:7529
++#: c-decl.c:7332 c-decl.c:7528
+ #, fuzzy, gcc-internal-format
+ msgid "both %<unsigned%> and %<double%> in declaration specifiers"
+ msgstr "« %s » est à la fois signé et non signé"
+
+-#: c-decl.c:7336
++#: c-decl.c:7335
+ #, gcc-internal-format
+ msgid "both %<unsigned%> and %<_Decimal32%> in declaration specifiers"
+ msgstr ""
+
+-#: c-decl.c:7339
++#: c-decl.c:7338
+ #, gcc-internal-format
+ msgid "both %<unsigned%> and %<_Decimal64%> in declaration specifiers"
+ msgstr ""
+
+-#: c-decl.c:7342
++#: c-decl.c:7341
+ #, gcc-internal-format
+ msgid "both %<unsigned%> and %<_Decimal128%> in declaration specifiers"
+ msgstr ""
+
+-#: c-decl.c:7350
++#: c-decl.c:7349
+ #, gcc-internal-format
+ msgid "ISO C90 does not support complex types"
+ msgstr "ISO C90 ne permet pas les types « complex »"
+
+-#: c-decl.c:7352 c-decl.c:7449
++#: c-decl.c:7351 c-decl.c:7448
+ #, gcc-internal-format
+ msgid "both %<complex%> and %<void%> in declaration specifiers"
+ msgstr ""
+
+-#: c-decl.c:7355 c-decl.c:7471
++#: c-decl.c:7354 c-decl.c:7470
+ #, gcc-internal-format
+ msgid "both %<complex%> and %<_Bool%> in declaration specifiers"
+ msgstr ""
+
+-#: c-decl.c:7358
++#: c-decl.c:7357
+ #, gcc-internal-format
+ msgid "both %<complex%> and %<_Decimal32%> in declaration specifiers"
+ msgstr ""
+
+-#: c-decl.c:7361
++#: c-decl.c:7360
+ #, gcc-internal-format
+ msgid "both %<complex%> and %<_Decimal64%> in declaration specifiers"
+ msgstr ""
+
+-#: c-decl.c:7364
++#: c-decl.c:7363
+ #, gcc-internal-format
+ msgid "both %<complex%> and %<_Decimal128%> in declaration specifiers"
+ msgstr ""
+
+-#: c-decl.c:7367
++#: c-decl.c:7366
+ #, gcc-internal-format
+ msgid "both %<complex%> and %<_Fract%> in declaration specifiers"
+ msgstr ""
+
+-#: c-decl.c:7370
++#: c-decl.c:7369
+ #, gcc-internal-format
+ msgid "both %<complex%> and %<_Accum%> in declaration specifiers"
+ msgstr ""
+
+-#: c-decl.c:7373
++#: c-decl.c:7372
+ #, gcc-internal-format
+ msgid "both %<complex%> and %<_Sat%> in declaration specifiers"
+ msgstr ""
+
+-#: c-decl.c:7381
++#: c-decl.c:7380
+ #, fuzzy, gcc-internal-format
+ msgid "ISO C does not support saturating types"
+ msgstr "ISO C interdit le type d'entiers complexes"
+
+-#: c-decl.c:7383 c-decl.c:7452
++#: c-decl.c:7382 c-decl.c:7451
+ #, gcc-internal-format
+ msgid "both %<_Sat%> and %<void%> in declaration specifiers"
+ msgstr ""
+
+-#: c-decl.c:7386 c-decl.c:7474
++#: c-decl.c:7385 c-decl.c:7473
+ #, gcc-internal-format
+ msgid "both %<_Sat%> and %<_Bool%> in declaration specifiers"
+ msgstr ""
+
+-#: c-decl.c:7389 c-decl.c:7487
++#: c-decl.c:7388 c-decl.c:7486
+ #, gcc-internal-format
+ msgid "both %<_Sat%> and %<char%> in declaration specifiers"
+ msgstr ""
+
+-#: c-decl.c:7392 c-decl.c:7494
++#: c-decl.c:7391 c-decl.c:7493
+ #, gcc-internal-format
+ msgid "both %<_Sat%> and %<int%> in declaration specifiers"
+ msgstr ""
+
+-#: c-decl.c:7395 c-decl.c:7513
++#: c-decl.c:7394 c-decl.c:7512
+ #, gcc-internal-format
+ msgid "both %<_Sat%> and %<float%> in declaration specifiers"
+ msgstr ""
+
+-#: c-decl.c:7398 c-decl.c:7532
++#: c-decl.c:7397 c-decl.c:7531
+ #, gcc-internal-format
+ msgid "both %<_Sat%> and %<double%> in declaration specifiers"
+ msgstr ""
+
+-#: c-decl.c:7401
++#: c-decl.c:7400
+ #, gcc-internal-format
+ msgid "both %<_Sat%> and %<_Decimal32%> in declaration specifiers"
+ msgstr ""
+
+-#: c-decl.c:7404
++#: c-decl.c:7403
+ #, gcc-internal-format
+ msgid "both %<_Sat%> and %<_Decimal64%> in declaration specifiers"
+ msgstr ""
+
+-#: c-decl.c:7407
++#: c-decl.c:7406
+ #, gcc-internal-format
+ msgid "both %<_Sat%> and %<_Decimal128%> in declaration specifiers"
+ msgstr ""
+
+-#: c-decl.c:7410
++#: c-decl.c:7409
+ #, gcc-internal-format
+ msgid "both %<_Sat%> and %<complex%> in declaration specifiers"
+ msgstr ""
+
+-#: c-decl.c:7549
++#: c-decl.c:7548
+ #, fuzzy, gcc-internal-format
+ msgid "both %<long long%> and %<%s%> in declaration specifiers"
+ msgstr "« long » et « short » spécifiés à la fois pour « %s »"
+
+-#: c-decl.c:7552
++#: c-decl.c:7551
+ #, fuzzy, gcc-internal-format
+ msgid "both %<long%> and %<%s%> in declaration specifiers"
+ msgstr "« long » et « short » spécifiés à la fois pour « %s »"
+
+-#: c-decl.c:7555
++#: c-decl.c:7554
+ #, gcc-internal-format
+ msgid "both %<short%> and %<%s%> in declaration specifiers"
+ msgstr ""
+
+-#: c-decl.c:7558
++#: c-decl.c:7557
+ #, fuzzy, gcc-internal-format
+ msgid "both %<signed%> and %<%s%> in declaration specifiers"
+ msgstr "« %s » est à la fois signé et non signé"
+
+-#: c-decl.c:7561
++#: c-decl.c:7560
+ #, fuzzy, gcc-internal-format
+ msgid "both %<unsigned%> and %<%s%> in declaration specifiers"
+ msgstr "« %s » est à la fois signé et non signé"
+
+-#: c-decl.c:7564 c-decl.c:7590
++#: c-decl.c:7563 c-decl.c:7589
+ #, gcc-internal-format
+ msgid "both %<complex%> and %<%s%> in declaration specifiers"
+ msgstr ""
+
+-#: c-decl.c:7567
++#: c-decl.c:7566
+ #, gcc-internal-format
+ msgid "both %<_Sat%> and %<%s%> in declaration specifiers"
+ msgstr ""
+
+-#: c-decl.c:7577
++#: c-decl.c:7576
+ #, fuzzy, gcc-internal-format
+ msgid "decimal floating point not supported for this target"
+ msgstr "-fdata-sections n'est pas supporté pour cette machine cible"
+
+-#: c-decl.c:7579
++#: c-decl.c:7578
+ #, fuzzy, gcc-internal-format
+ msgid "ISO C does not support decimal floating point"
+ msgstr "ISO C90 ne permet pas « long long »"
+
+-#: c-decl.c:7598
++#: c-decl.c:7597
+ #, fuzzy, gcc-internal-format
+ msgid "fixed-point types not supported for this target"
+ msgstr "-fdata-sections n'est pas supporté pour cette machine cible"
+
+-#: c-decl.c:7600
++#: c-decl.c:7599
+ #, fuzzy, gcc-internal-format
+ msgid "ISO C does not support fixed-point types"
+ msgstr "ISO C interdit le type d'entiers complexes"
+
+-#: c-decl.c:7634
++#: c-decl.c:7633
+ #, fuzzy, gcc-internal-format
+ msgid "%qE fails to be a typedef or built in type"
+ msgstr "« %s » n'a pu devenir un typedef ou un type construit"
+
+-#: c-decl.c:7667
++#: c-decl.c:7666
+ #, fuzzy, gcc-internal-format
+ msgid "%qE is not at beginning of declaration"
+ msgstr "« %s » n'est pas au début de la déclaration"
+
+-#: c-decl.c:7681
++#: c-decl.c:7680
+ #, gcc-internal-format
+ msgid "%<__thread%> used with %<auto%>"
+ msgstr ""
+
+-#: c-decl.c:7683
++#: c-decl.c:7682
+ #, gcc-internal-format
+ msgid "%<__thread%> used with %<register%>"
+ msgstr ""
+
+-#: c-decl.c:7685
++#: c-decl.c:7684
+ #, gcc-internal-format
+ msgid "%<__thread%> used with %<typedef%>"
+ msgstr ""
+
+-#: c-decl.c:7696
++#: c-decl.c:7695
+ #, fuzzy, gcc-internal-format
+ msgid "%<__thread%> before %<extern%>"
+ msgstr "« __thread » avant « extern »"
+
+-#: c-decl.c:7705
++#: c-decl.c:7704
+ #, fuzzy, gcc-internal-format
+ msgid "%<__thread%> before %<static%>"
+ msgstr "« __thread » avant « static »"
+
+-#: c-decl.c:7721
++#: c-decl.c:7720
+ #, fuzzy, gcc-internal-format
+ msgid "multiple storage classes in declaration specifiers"
+ msgstr "multiples classes de stockage dans la déclaration de « %s »"
+
+-#: c-decl.c:7728
++#: c-decl.c:7727
+ #, gcc-internal-format
+ msgid "%<__thread%> used with %qE"
+ msgstr ""
+
+-#: c-decl.c:7775
++#: c-decl.c:7774
+ #, gcc-internal-format
+ msgid "%<_Sat%> is used without %<_Fract%> or %<_Accum%>"
+ msgstr ""
+
+-#: c-decl.c:7787
++#: c-decl.c:7786
+ #, fuzzy, gcc-internal-format
+ msgid "ISO C does not support plain %<complex%> meaning %<double complex%>"
+ msgstr "ISO C ne permet pas d'utiliser « complex » à la place de « double complex »"
+
+-#: c-decl.c:7832 c-decl.c:7858
++#: c-decl.c:7831 c-decl.c:7857
+ #, gcc-internal-format
+ msgid "ISO C does not support complex integer types"
+ msgstr "ISO C interdit le type d'entiers complexes"
+
+-#: c-decl.c:8008 toplev.c:847
++#: c-decl.c:8007 toplev.c:847
+ #, fuzzy, gcc-internal-format
+ msgid "%q+F used but never defined"
+ msgstr "%J« %F » utilisé mais n'a jamais été défini"
+@@ -20150,37 +20121,37 @@
+ msgid "invalid expression type for %<#pragma omp atomic%>"
+ msgstr "expression invalide comme opérande"
+
+-#: c-omp.c:218
++#: c-omp.c:219
+ #, fuzzy, gcc-internal-format
+ msgid "%Hinvalid type for iteration variable %qE"
+ msgstr "type d'attribut de déclaration invalide à %0"
+
+-#: c-omp.c:222
++#: c-omp.c:223
+ #, fuzzy, gcc-internal-format
+ msgid "%Hiteration variable %qE is unsigned"
+ msgstr "instance de la variable « %s » a une taille inconnue"
+
+-#: c-omp.c:233
++#: c-omp.c:234
+ #, fuzzy, gcc-internal-format
+ msgid "%H%qE is not initialized"
+ msgstr "initialisation manquante"
+
+-#: c-omp.c:246 cp/semantics.c:3840
++#: c-omp.c:247 cp/semantics.c:3872
+ #, fuzzy, gcc-internal-format
+ msgid "%Hmissing controlling predicate"
+ msgstr "« ( » manquante après le prédicat"
+
+-#: c-omp.c:304
++#: c-omp.c:305
+ #, fuzzy, gcc-internal-format
+ msgid "%Hinvalid controlling predicate"
+ msgstr "Expression de contrôle invalide"
+
+-#: c-omp.c:311 cp/semantics.c:3846
++#: c-omp.c:312 cp/semantics.c:3878
+ #, fuzzy, gcc-internal-format
+ msgid "%Hmissing increment expression"
+ msgstr "expresion d'index manquante"
+
+-#: c-omp.c:361
++#: c-omp.c:362
+ #, fuzzy, gcc-internal-format
+ msgid "%Hinvalid increment expression"
+ msgstr "Expression de contrôle invalide"
+@@ -20225,152 +20196,152 @@
+ msgid "obsolete option -I- used, please use -iquote instead"
+ msgstr ""
+
+-#: c-opts.c:508
++#: c-opts.c:510
+ #, fuzzy, gcc-internal-format
+ msgid "argument %qs to %<-Wnormalized%> not recognized"
+ msgstr "language %s n'est pas reconnu"
+
+-#: c-opts.c:595
++#: c-opts.c:597
+ #, fuzzy, gcc-internal-format
+ msgid "switch %qs is no longer supported"
+ msgstr "l'option « %s » n'est plus supportée"
+
+-#: c-opts.c:705
++#: c-opts.c:707
+ #, gcc-internal-format
+ msgid "-fhandle-exceptions has been renamed -fexceptions (and is now on by default)"
+ msgstr "-fhandle-exceptions a été renommé -fexceptions (et est maintenant utilisé par défaut)"
+
+-#: c-opts.c:911
++#: c-opts.c:913
+ #, gcc-internal-format
+ msgid "output filename specified twice"
+ msgstr "nom du fichier de sortie spécifié deux fois"
+
+-#: c-opts.c:1051
++#: c-opts.c:1053
+ #, fuzzy, gcc-internal-format
+ msgid "-fno-gnu89-inline is only supported in GNU99 or C99 mode"
+ msgstr "L'option -g est seulement supportée lorsque GNU est utilisé tel,"
+
+-#: c-opts.c:1126
++#: c-opts.c:1142
+ #, gcc-internal-format
+ msgid "-Wformat-y2k ignored without -Wformat"
+ msgstr "-Wformat-y2k ignorée sans -Wformat"
+
+-#: c-opts.c:1128
++#: c-opts.c:1144
+ #, gcc-internal-format
+ msgid "-Wformat-extra-args ignored without -Wformat"
+ msgstr "-Wformat-extra-args ignorée sans -Wformat"
+
+-#: c-opts.c:1130
++#: c-opts.c:1146
+ #, gcc-internal-format
+ msgid "-Wformat-zero-length ignored without -Wformat"
+ msgstr "-Wformat-zero-length ignorée sans -Wformat"
+
+-#: c-opts.c:1132
++#: c-opts.c:1148
+ #, gcc-internal-format
+ msgid "-Wformat-nonliteral ignored without -Wformat"
+ msgstr "-Wformat-nonliteral ignorée sans -Wformat"
+
+-#: c-opts.c:1134
++#: c-opts.c:1150
+ #, fuzzy, gcc-internal-format
+ msgid "-Wformat-contains-nul ignored without -Wformat"
+ msgstr "-Wformat-nonliteral ignorée sans -Wformat"
+
+-#: c-opts.c:1136
++#: c-opts.c:1152
+ #, gcc-internal-format
+ msgid "-Wformat-security ignored without -Wformat"
+ msgstr "-Wformat-security ignorée sans -Wformat"
+
+-#: c-opts.c:1160
++#: c-opts.c:1176
+ #, gcc-internal-format
+ msgid "opening output file %s: %m"
+ msgstr "ouverture du fichier de sortie %s: %m"
+
+-#: c-opts.c:1165
++#: c-opts.c:1181
+ #, gcc-internal-format
+ msgid "too many filenames given. Type %s --help for usage"
+ msgstr "trop de noms de fichiers. Taper %s --help pour en connaître l'usage"
+
+-#: c-opts.c:1249
++#: c-opts.c:1265
+ #, fuzzy, gcc-internal-format
+ msgid "The C parser does not support -dy, option ignored"
+ msgstr "Code réentrant APCS n'est pas supporté. Ignoré"
+
+-#: c-opts.c:1253
++#: c-opts.c:1269
+ #, gcc-internal-format
+ msgid "The Objective-C parser does not support -dy, option ignored"
+ msgstr ""
+
+-#: c-opts.c:1256
++#: c-opts.c:1272
+ #, fuzzy, gcc-internal-format
+ msgid "The C++ parser does not support -dy, option ignored"
+ msgstr "Code réentrant APCS n'est pas supporté. Ignoré"
+
+-#: c-opts.c:1260
++#: c-opts.c:1276
+ #, gcc-internal-format
+ msgid "The Objective-C++ parser does not support -dy, option ignored"
+ msgstr ""
+
+-#: c-opts.c:1309
++#: c-opts.c:1326
+ #, gcc-internal-format
+ msgid "opening dependency file %s: %m"
+ msgstr "ouverture du fichier de dépendances %s: %m"
+
+-#: c-opts.c:1319
++#: c-opts.c:1336
+ #, gcc-internal-format
+ msgid "closing dependency file %s: %m"
+ msgstr "fermeture du fichier de dépendances %s: %m"
+
+-#: c-opts.c:1322
++#: c-opts.c:1339
+ #, gcc-internal-format
+ msgid "when writing output to %s: %m"
+ msgstr "lors de l'écriture de la sortie dans %s: %m"
+
+-#: c-opts.c:1402
++#: c-opts.c:1419
+ #, gcc-internal-format
+ msgid "to generate dependencies you must specify either -M or -MM"
+ msgstr "pour générer les dépendances, vous devez spécifier -M ou -MM"
+
+-#: c-opts.c:1448
++#: c-opts.c:1469
+ #, gcc-internal-format
+ msgid "-fdirectives-only is incompatible with -Wunused_macros"
+ msgstr ""
+
+-#: c-opts.c:1450
++#: c-opts.c:1471
+ #, gcc-internal-format
+ msgid "-fdirectives-only is incompatible with -traditional"
+ msgstr ""
+
+-#: c-opts.c:1588
++#: c-opts.c:1609
+ #, gcc-internal-format
+ msgid "too late for # directive to set debug directory"
+ msgstr "il est trop tard pour la directive # pour fixer un répertoire de mise au point"
+
+-#: c-parser.c:1070
++#: c-parser.c:1072
+ #, fuzzy, gcc-internal-format
+ msgid "%HISO C forbids an empty source file"
+ msgstr "ISO C interdit un fichier source vide"
+
+-#: c-parser.c:1156 c-parser.c:6091
++#: c-parser.c:1158 c-parser.c:6150
+ #, fuzzy, gcc-internal-format
+ msgid "%HISO C does not allow extra %<;%> outside of a function"
+ msgstr "ISO C ne permet pas de « ; » additionnel en dehors d'une fonction"
+
+-#: c-parser.c:1259 c-parser.c:6640
++#: c-parser.c:1261 c-parser.c:6699
+ #, fuzzy, gcc-internal-format
+ msgid "expected declaration specifiers"
+ msgstr "déclaration répété d'unité « %s »"
+
+-#: c-parser.c:1271
++#: c-parser.c:1273
+ #, fuzzy, gcc-internal-format
+ msgid "%Hempty declaration"
+ msgstr "déclaration vide"
+
+-#: c-parser.c:1307
++#: c-parser.c:1309
+ #, fuzzy, gcc-internal-format
+ msgid "%Hdata definition has no type or storage class"
+ msgstr "la définition de données n'a pas de type ni de classe de stockage"
+
+-#: c-parser.c:1362
++#: c-parser.c:1364
+ #, gcc-internal-format
+ msgid "expected %<,%> or %<;%>"
+ msgstr ""
+@@ -20378,174 +20349,189 @@
+ #. This can appear in many cases looking nothing like a
+ #. function definition, so we don't give a more specific
+ #. error suggesting there was one.
+-#: c-parser.c:1369 c-parser.c:1386
++#: c-parser.c:1371 c-parser.c:1388
+ #, gcc-internal-format
+ msgid "expected %<=%>, %<,%>, %<;%>, %<asm%> or %<__attribute__%>"
+ msgstr ""
+
+-#: c-parser.c:1378
++#: c-parser.c:1380
+ #, fuzzy, gcc-internal-format
+ msgid "%HISO C forbids nested functions"
+ msgstr "ISO C interdit les fonctions imbriquées"
+
+-#: c-parser.c:1743 c-parser.c:2553 c-parser.c:3189 c-parser.c:3445
+-#: c-parser.c:4308 c-parser.c:4895 c-parser.c:5298 c-parser.c:5318
+-#: c-parser.c:5434 c-parser.c:5582 c-parser.c:5599 c-parser.c:5731
+-#: c-parser.c:5743 c-parser.c:5768 c-parser.c:5903 c-parser.c:5932
+-#: c-parser.c:5940 c-parser.c:5968 c-parser.c:5982 c-parser.c:6201
+-#: c-parser.c:6300 c-parser.c:6803 c-parser.c:7426
++#: c-parser.c:1745 c-parser.c:2555 c-parser.c:3191 c-parser.c:3447
++#: c-parser.c:4367 c-parser.c:4954 c-parser.c:5357 c-parser.c:5377
++#: c-parser.c:5493 c-parser.c:5641 c-parser.c:5658 c-parser.c:5790
++#: c-parser.c:5802 c-parser.c:5827 c-parser.c:5962 c-parser.c:5991
++#: c-parser.c:5999 c-parser.c:6027 c-parser.c:6041 c-parser.c:6260
++#: c-parser.c:6359 c-parser.c:6862 c-parser.c:7493
+ #, fuzzy, gcc-internal-format
+ msgid "expected identifier"
+ msgstr "un nom de type attendu"
+
+-#: c-parser.c:1773
++#: c-parser.c:1775
+ #, fuzzy, gcc-internal-format
+ msgid "%Hcomma at end of enumerator list"
+ msgstr "virgule à la fin de liste d'énumerateurs"
+
+-#: c-parser.c:1779
++#: c-parser.c:1781
+ #, gcc-internal-format
+ msgid "expected %<,%> or %<}%>"
+ msgstr ""
+
+-#: c-parser.c:1793 c-parser.c:1977 c-parser.c:6058
++#: c-parser.c:1795 c-parser.c:1979 c-parser.c:6117
+ #, fuzzy, gcc-internal-format
+ msgid "expected %<{%>"
+ msgstr "«;» attendu"
+
+-#: c-parser.c:1804
++#: c-parser.c:1806
+ #, fuzzy, gcc-internal-format
+ msgid "%HISO C forbids forward references to %<enum%> types"
+ msgstr "ISO C interdit les références anticipée vers un type « enum »"
+
+-#: c-parser.c:1911
++#: c-parser.c:1913
+ #, fuzzy, gcc-internal-format
+ msgid "expected class name"
+ msgstr "un nom de type attendu"
+
+-#: c-parser.c:1930 c-parser.c:5835
++#: c-parser.c:1932 c-parser.c:5894
+ #, fuzzy, gcc-internal-format
+ msgid "%Hextra semicolon in struct or union specified"
+ msgstr "point virgule superflu dans la structure ou dans l'union"
+
+-#: c-parser.c:1959
++#: c-parser.c:1961
+ #, fuzzy, gcc-internal-format
+ msgid "%Hno semicolon at end of struct or union"
+ msgstr "pas de point virgule à la fin de la structure ou de l'union"
+
+-#: c-parser.c:1963
++#: c-parser.c:1965
+ #, fuzzy, gcc-internal-format
+ msgid "expected %<;%>"
+ msgstr "«;» attendu"
+
+-#: c-parser.c:2042 c-parser.c:3014
++#: c-parser.c:2044 c-parser.c:3016
+ #, gcc-internal-format
+ msgid "expected specifier-qualifier-list"
+ msgstr ""
+
+-#: c-parser.c:2052
++#: c-parser.c:2054
+ #, fuzzy, gcc-internal-format
+ msgid "%HISO C forbids member declarations with no members"
+ msgstr "ISO C interdit les déclarations de membre sans aucun membre"
+
+-#: c-parser.c:2126
++#: c-parser.c:2128
+ #, gcc-internal-format
+ msgid "expected %<,%>, %<;%> or %<}%>"
+ msgstr ""
+
+-#: c-parser.c:2133
++#: c-parser.c:2135
+ #, gcc-internal-format
+ msgid "expected %<:%>, %<,%>, %<;%>, %<}%> or %<__attribute__%>"
+ msgstr ""
+
+-#: c-parser.c:2184
++#: c-parser.c:2186
+ #, fuzzy, gcc-internal-format
+ msgid "%H%<typeof%> applied to a bit-field"
+ msgstr "« typeof » appliqué à un champ de bits"
+
+-#: c-parser.c:2421
++#: c-parser.c:2423
+ #, gcc-internal-format
+ msgid "expected identifier or %<(%>"
+ msgstr ""
+
+-#: c-parser.c:2622
++#: c-parser.c:2624
+ #, fuzzy, gcc-internal-format
+ msgid "%HISO C requires a named argument before %<...%>"
+ msgstr "ISO C requiert un argument nommé devant « ... »"
+
+-#: c-parser.c:2729
++#: c-parser.c:2731
+ #, fuzzy, gcc-internal-format
+ msgid "expected declaration specifiers or %<...%>"
+ msgstr "la déclaration hors de toute fonction de « %s » a spécifié « auto »"
+
+-#: c-parser.c:2779
++#: c-parser.c:2781
+ #, fuzzy, gcc-internal-format
+ msgid "%Hwide string literal in %<asm%>"
+ msgstr "chaîne de longueur erronée dans %s"
+
+-#: c-parser.c:2786 c-parser.c:6695 cp/parser.c:20393
++#: c-parser.c:2788 c-parser.c:6754 cp/parser.c:20482
+ #, fuzzy, gcc-internal-format
+ msgid "expected string literal"
+ msgstr "chaîne litérale non terminée"
+
+-#: c-parser.c:3107
++#: c-parser.c:3109
+ #, fuzzy, gcc-internal-format
+ msgid "%HISO C forbids empty initializer braces"
+ msgstr "ISO C interdit d'initialiser avec des accolades vides"
+
+ #. Use the colon as the error location.
+-#: c-parser.c:3154
++#: c-parser.c:3156
+ #, fuzzy, gcc-internal-format
+ msgid "%Hobsolete use of designated initializer with %<:%>"
+ msgstr "utilisation obsolète d'une initialisation désignée avec « : »"
+
+-#: c-parser.c:3285
++#: c-parser.c:3287
+ #, fuzzy, gcc-internal-format
+ msgid "%HISO C forbids specifying range of elements to initialize"
+ msgstr "ISO C interdit de spécifier les bornes des éléments à initaliser"
+
+-#: c-parser.c:3298
++#: c-parser.c:3300
+ #, fuzzy, gcc-internal-format
+ msgid "%HISO C90 forbids specifying subobject to initialize"
+ msgstr "ISO C90 interdit de spécifier des sous-objets à initialiser"
+
+-#: c-parser.c:3307
++#: c-parser.c:3309
+ #, fuzzy, gcc-internal-format
+ msgid "%Hobsolete use of designated initializer without %<=%>"
+ msgstr "utilisation obsolète d'une initialisation désignée sans « = »"
+
+-#: c-parser.c:3316
++#: c-parser.c:3318
+ #, fuzzy, gcc-internal-format
+ msgid "expected %<=%>"
+ msgstr "«;» attendu"
+
+-#: c-parser.c:3461
++#: c-parser.c:3463
+ #, fuzzy, gcc-internal-format
+ msgid "%HISO C forbids label declarations"
+ msgstr "ISO C interdit la déclaration d'étiquette"
+
+-#: c-parser.c:3466 c-parser.c:3541
++#: c-parser.c:3468 c-parser.c:3543
+ #, fuzzy, gcc-internal-format
+ msgid "expected declaration or statement"
+ msgstr "déclaration répété de l'automate « %s »"
+
+-#: c-parser.c:3494 c-parser.c:3522
++#: c-parser.c:3496 c-parser.c:3524
+ #, fuzzy, gcc-internal-format
+ msgid "%HISO C90 forbids mixed declarations and code"
+ msgstr "ISO C89 interdit les mélanges de déclarations et de code"
+
++#: c-parser.c:3550
++#, gcc-internal-format
++msgid "%Hexpected %<}%> before %<else%>"
++msgstr ""
++
+ #: c-parser.c:3555
++#, gcc-internal-format
++msgid "%H%<else%> without a previous %<if%>"
++msgstr ""
++
++#: c-parser.c:3571
+ #, fuzzy, gcc-internal-format
+ msgid "%Hlabel at end of compound statement"
+ msgstr "étiquette à la fin d'une déclaration composée"
+
+-#: c-parser.c:3598
++#: c-parser.c:3614
+ #, gcc-internal-format
+ msgid "expected %<:%> or %<...%>"
+ msgstr ""
+
+-#: c-parser.c:3779
++#: c-parser.c:3647
+ #, gcc-internal-format
++msgid "%Ha label can only be part of a statement and a declaration is not a statement"
++msgstr ""
++
++#: c-parser.c:3810
++#, gcc-internal-format
+ msgid "expected identifier or %<*%>"
+ msgstr ""
+
+@@ -20553,189 +20539,184 @@
+ #. 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-parser.c:3841
++#: c-parser.c:3872
+ #, fuzzy, gcc-internal-format
+ msgid "expected statement"
+ msgstr "un nom de type attendu"
+
+-#: c-parser.c:3851
+-#, gcc-internal-format
+-msgid "%Ha label can only be part of a statement and a declaration is not a statement"
+-msgstr ""
+-
+-#: c-parser.c:4036
++#: c-parser.c:4095
+ #, fuzzy, gcc-internal-format
+ msgid "%Hsuggest braces around empty body in %<do%> statement"
+ msgstr "%Hle corps de la déclaration du if est vide"
+
+-#: c-parser.c:4192
++#: c-parser.c:4251
+ #, fuzzy, gcc-internal-format
+ msgid "%H%E qualifier ignored on asm"
+ msgstr "%s qualificateur ignoré avec asm"
+
+-#: c-parser.c:4473
++#: c-parser.c:4532
+ #, fuzzy, gcc-internal-format
+ msgid "%HISO C forbids omitting the middle term of a ?: expression"
+ msgstr "ISO C interdit l'omission du terme central de l'expression ?:"
+
+-#: c-parser.c:4863
++#: c-parser.c:4922
+ #, fuzzy, gcc-internal-format
+ msgid "%Htraditional C rejects the unary plus operator"
+ msgstr "le C traditionnel rejette le plus unaire"
+
+ #. C99 6.7.5.2p4
+-#: c-parser.c:4974
++#: c-parser.c:5033
+ #, fuzzy, gcc-internal-format
+ msgid "%H%<[*]%> not allowed in other than a declaration"
+ msgstr "INIT n'est pas permis dans la déclaration d'identité de localisation"
+
+-#: c-parser.c:4988
++#: c-parser.c:5047
+ #, fuzzy, gcc-internal-format
+ msgid "%H%<sizeof%> applied to a bit-field"
+ msgstr "sizeof appliqué sur un champ de bits"
+
+-#: c-parser.c:5132 c-parser.c:5476 c-parser.c:5498
++#: c-parser.c:5191 c-parser.c:5535 c-parser.c:5557
+ #, fuzzy, gcc-internal-format
+ msgid "expected expression"
+ msgstr "expression d'adresse inattendue"
+
+-#: c-parser.c:5159
++#: c-parser.c:5218
+ #, fuzzy, gcc-internal-format
+ msgid "%Hbraced-group within expression allowed only inside a function"
+ msgstr "groupe entre accolades à l'intérieur d'expression permis seulement à l'intérieur d'une fonction"
+
+-#: c-parser.c:5173
++#: c-parser.c:5232
+ #, fuzzy, gcc-internal-format
+ msgid "%HISO C forbids braced-groups within expressions"
+ msgstr "ISO C interdit les groupes d'accolades à l'intérieur d'expressions"
+
+-#: c-parser.c:5358
++#: c-parser.c:5417
+ #, fuzzy, gcc-internal-format
+ msgid "%Hfirst argument to %<__builtin_choose_expr%> not a constant"
+ msgstr "le premier argument de « __builtin_choose_expr » n'est pas une constante"
+
+-#: c-parser.c:5527
++#: c-parser.c:5586
+ #, gcc-internal-format
+ msgid "%Hcompound literal has variable size"
+ msgstr ""
+
+ # FIXME
+-#: c-parser.c:5535
++#: c-parser.c:5594
+ #, fuzzy, gcc-internal-format
+ msgid "%HISO C90 forbids compound literals"
+ msgstr "ISO C90 interdit les mots composés"
+
+-#: c-parser.c:6053
++#: c-parser.c:6112
+ #, fuzzy, gcc-internal-format
+ msgid "%Hextra semicolon in method definition specified"
+ msgstr "point virgule superflu dans la structure ou dans l'union"
+
+-#: c-parser.c:6600 cp/parser.c:20436
++#: c-parser.c:6659 cp/parser.c:20525
+ #, gcc-internal-format
+ msgid "%<#pragma omp barrier%> may only be used in compound statements"
+ msgstr ""
+
+-#: c-parser.c:6611 cp/parser.c:20451
++#: c-parser.c:6670 cp/parser.c:20540
+ #, gcc-internal-format
+ msgid "%<#pragma omp flush%> may only be used in compound statements"
+ msgstr ""
+
+-#: c-parser.c:6623
++#: c-parser.c:6682
+ #, gcc-internal-format
+ msgid "%H%<#pragma omp section%> may only be used in %<#pragma omp sections%> construct"
+ msgstr ""
+
+-#: c-parser.c:6630 cp/parser.c:20426
++#: c-parser.c:6689 cp/parser.c:20515
+ #, gcc-internal-format
+ msgid "%<#pragma GCC pch_preprocess%> must be first"
+ msgstr ""
+
+-#: c-parser.c:6781 cp/parser.c:19277
++#: c-parser.c:6840 cp/parser.c:19359
+ #, fuzzy, gcc-internal-format
+ msgid "too many %qs clauses"
+ msgstr "trop d'étiquettes"
+
+-#: c-parser.c:6906
++#: c-parser.c:6965
+ #, gcc-internal-format
+ msgid "expected %<none%> or %<shared%>"
+ msgstr ""
+
+-#: c-parser.c:6949
++#: c-parser.c:7008
+ #, fuzzy, gcc-internal-format
+ msgid "expected %<(%>"
+ msgstr "«;» attendu"
+
+-#: c-parser.c:6993 c-parser.c:7170
++#: c-parser.c:7052 c-parser.c:7229
+ #, fuzzy, gcc-internal-format
+ msgid "expected integer expression"
+ msgstr "expression d'adresse inattendue"
+
+-#: c-parser.c:7002
++#: c-parser.c:7061
+ #, gcc-internal-format
+ msgid "%H%<num_threads%> value must be positive"
+ msgstr ""
+
+-#: c-parser.c:7082
++#: c-parser.c:7141
+ #, gcc-internal-format
+ msgid "expected %<+%>, %<*%>, %<-%>, %<&%>, %<^%>, %<|%>, %<&&%>, or %<||%>"
+ msgstr ""
+
+-#: c-parser.c:7165
++#: c-parser.c:7224
+ #, gcc-internal-format
+ msgid "%Hschedule %<runtime%> does not take a %<chunk_size%> parameter"
+ msgstr ""
+
+-#: c-parser.c:7183
++#: c-parser.c:7242
+ #, fuzzy, gcc-internal-format
+ msgid "invalid schedule kind"
+ msgstr "id de patron invalide"
+
+-#: c-parser.c:7269
++#: c-parser.c:7336
+ #, fuzzy, gcc-internal-format
+ msgid "expected %<#pragma omp%> clause"
+ msgstr "attendait une autre clause de changement de nom"
+
+-#: c-parser.c:7278
++#: c-parser.c:7345
+ #, fuzzy, gcc-internal-format
+ msgid "%H%qs is not valid for %qs"
+ msgstr "%s: non pour %s"
+
+-#: c-parser.c:7378
++#: c-parser.c:7445
+ #, fuzzy, gcc-internal-format
+ msgid "invalid operator for %<#pragma omp atomic%>"
+ msgstr "opération invalide pour des tableaux de caractères"
+
+-#: c-parser.c:7429 c-parser.c:7449
++#: c-parser.c:7496 c-parser.c:7516
+ #, fuzzy, gcc-internal-format
+ msgid "expected %<(%> or end of line"
+ msgstr "attendait retourner au fichier \"%s\""
+
+-#: c-parser.c:7467
++#: c-parser.c:7534
+ #, fuzzy, gcc-internal-format
+ msgid "for statement expected"
+ msgstr "«)» or terme attendu"
+
+-#: c-parser.c:7540 cp/semantics.c:3826 cp/semantics.c:3870
++#: c-parser.c:7609 cp/semantics.c:3858 cp/semantics.c:3902
+ #, fuzzy, gcc-internal-format
+ msgid "expected iteration declaration or initialization"
+ msgstr "déclaration de loc n'a pas d'initialisation"
+
+-#: c-parser.c:7666
++#: c-parser.c:7735
+ #, gcc-internal-format
+ msgid "%Hexpected %<#pragma omp section%> or %<}%>"
+ msgstr ""
+
+-#: c-parser.c:7899 cp/semantics.c:3718
++#: c-parser.c:7968 cp/semantics.c:3750
+ #, gcc-internal-format
+ msgid "%qE declared %<threadprivate%> after first use"
+ msgstr ""
+
+-#: c-parser.c:7901 cp/semantics.c:3720
++#: c-parser.c:7970 cp/semantics.c:3752
+ #, gcc-internal-format
+ msgid "automatic variable %qE cannot be %<threadprivate%>"
+ msgstr ""
+
+-#: c-parser.c:7903 cp/semantics.c:3722
++#: c-parser.c:7972 cp/semantics.c:3754
+ #, fuzzy, gcc-internal-format
+ msgid "%<threadprivate%> %qE has incomplete type"
+ msgstr "%Jparamètre \"%D\" a un type incomplet"
+@@ -20900,122 +20881,122 @@
+ msgid "junk at end of %<#pragma pop_macro%>"
+ msgstr "rebut à la fin de #pragma map"
+
+-#: c-pragma.c:406
++#: c-pragma.c:407
+ #, fuzzy, gcc-internal-format
+ msgid "applying #pragma weak %q+D after first use results in unspecified behavior"
+ msgstr "%Japplication de la #pragma weak « %D » après la première utilisation conduit à un comportement non spécifié"
+
+-#: c-pragma.c:480 c-pragma.c:485
++#: c-pragma.c:481 c-pragma.c:486
+ #, gcc-internal-format
+ msgid "malformed #pragma weak, ignored"
+ msgstr "#pragma weak mal composée, ignoré"
+
+-#: c-pragma.c:489
++#: c-pragma.c:490
+ #, fuzzy, gcc-internal-format
+ msgid "junk at end of %<#pragma weak%>"
+ msgstr "rebut à la fin de #pragma weak"
+
+-#: c-pragma.c:557 c-pragma.c:559
++#: c-pragma.c:558 c-pragma.c:560
+ #, gcc-internal-format
+ msgid "malformed #pragma redefine_extname, ignored"
+ msgstr "#pragma redefine_extname mal composée, ignoré"
+
+-#: c-pragma.c:562
++#: c-pragma.c:563
+ #, fuzzy, gcc-internal-format
+ msgid "junk at end of %<#pragma redefine_extname%>"
+ msgstr "rebut à la fin de #pragma redefine_extname"
+
+-#: c-pragma.c:568
++#: c-pragma.c:569
+ #, fuzzy, gcc-internal-format
+ msgid "#pragma redefine_extname not supported on this target"
+ msgstr "« __builtin_eh_return » n'est pas possible sur cette cible"
+
+-#: c-pragma.c:585 c-pragma.c:672
++#: c-pragma.c:586 c-pragma.c:673
+ #, fuzzy, gcc-internal-format
+ msgid "#pragma redefine_extname ignored due to conflict with previous rename"
+ msgstr "#pragma redefine_extname en conflit avec la déclaration"
+
+-#: c-pragma.c:608
++#: c-pragma.c:609
+ #, fuzzy, gcc-internal-format
+ msgid "#pragma redefine_extname ignored due to conflict with previous #pragma redefine_extname"
+ msgstr "#pragma redefine_extname en conflit avec la déclaration"
+
+-#: c-pragma.c:627
++#: c-pragma.c:628
+ #, gcc-internal-format
+ msgid "malformed #pragma extern_prefix, ignored"
+ msgstr "#pragma extern_prefix mal composée, ignoré"
+
+-#: c-pragma.c:630
++#: c-pragma.c:631
+ #, fuzzy, gcc-internal-format
+ msgid "junk at end of %<#pragma extern_prefix%>"
+ msgstr "rebut à la fin de #pragma extern_prefix"
+
+-#: c-pragma.c:637
++#: c-pragma.c:638
+ #, fuzzy, gcc-internal-format
+ msgid "#pragma extern_prefix not supported on this target"
+ msgstr "le profilage n'est pas supporté sur cette cible"
+
+-#: c-pragma.c:663
++#: c-pragma.c:664
+ #, fuzzy, gcc-internal-format
+ msgid "asm declaration ignored due to conflict with previous rename"
+ msgstr "déclaration asm en conflit avec le changement de nom précédent"
+
+-#: c-pragma.c:694
++#: c-pragma.c:695
+ #, fuzzy, gcc-internal-format
+ msgid "#pragma redefine_extname ignored due to conflict with __asm__ declaration"
+ msgstr "#pragma redefine_extname en conflit avec la déclaration"
+
+-#: c-pragma.c:756
++#: c-pragma.c:757
+ #, gcc-internal-format
+ msgid "#pragma GCC visibility push() must specify default, internal, hidden or protected"
+ msgstr ""
+
+-#: c-pragma.c:791
++#: c-pragma.c:792
+ #, gcc-internal-format
+ msgid "#pragma GCC visibility must be followed by push or pop"
+ msgstr ""
+
+-#: c-pragma.c:797
++#: c-pragma.c:798
+ #, gcc-internal-format
+ msgid "no matching push for %<#pragma GCC visibility pop%>"
+ msgstr ""
+
+-#: c-pragma.c:804 c-pragma.c:811
++#: c-pragma.c:805 c-pragma.c:812
+ #, fuzzy, gcc-internal-format
+ msgid "missing %<(%> after %<#pragma GCC visibility push%> - ignored"
+ msgstr "«(» manquante après «#pragma %s» - ignoré"
+
+-#: c-pragma.c:807
++#: c-pragma.c:808
+ #, fuzzy, gcc-internal-format
+ msgid "malformed #pragma GCC visibility push"
+ msgstr "construit #pragma mal composé"
+
+-#: c-pragma.c:815
++#: c-pragma.c:816
+ #, fuzzy, gcc-internal-format
+ msgid "junk at end of %<#pragma GCC visibility%>"
+ msgstr "rebut à la fin de #pragma %s"
+
+-#: c-pragma.c:831
++#: c-pragma.c:832
+ #, fuzzy, gcc-internal-format
+ msgid "#pragma GCC diagnostic not allowed inside functions"
+ msgstr "échec sur l'étendue (n'est pas à l'intérieur de la fonction)"
+
+-#: c-pragma.c:837
++#: c-pragma.c:838
+ #, gcc-internal-format
+ msgid "missing [error|warning|ignored] after %<#pragma GCC diagnostic%>"
+ msgstr ""
+
+-#: c-pragma.c:846
++#: c-pragma.c:847
+ #, gcc-internal-format
+ msgid "expected [error|warning|ignored] after %<#pragma GCC diagnostic%>"
+ msgstr ""
+
+-#: c-pragma.c:850
++#: c-pragma.c:851
+ #, fuzzy, gcc-internal-format
+ msgid "missing option after %<#pragma GCC diagnostic%> kind"
+ msgstr "«(» manquante après «#pragma %s» - ignoré"
+
+-#: c-pragma.c:864
++#: c-pragma.c:865
+ #, fuzzy, gcc-internal-format
+ msgid "unknown option after %<#pragma GCC diagnostic%> kind"
+ msgstr "action « %s » inconnue pour « #pragma pack » - ignoré"
+@@ -21025,7 +21006,7 @@
+ msgid "%qD has an incomplete type"
+ msgstr "« %s » a un type incomplet"
+
+-#: c-typeck.c:195 cp/call.c:2785
++#: c-typeck.c:195 cp/call.c:2771
+ #, gcc-internal-format
+ msgid "invalid use of void expression"
+ msgstr "utilisation invalide d'expression void"
+@@ -21056,92 +21037,92 @@
+ msgid "function types not truly compatible in ISO C"
+ msgstr "types de fonction pas vraiment compatibles en C ISO"
+
+-#: c-typeck.c:621
++#: c-typeck.c:627
+ #, gcc-internal-format
+ msgid "can%'t mix operands of decimal float and vector types"
+ msgstr ""
+
+-#: c-typeck.c:626
++#: c-typeck.c:632
+ #, gcc-internal-format
+ msgid "can%'t mix operands of decimal float and complex types"
+ msgstr ""
+
+-#: c-typeck.c:631
++#: c-typeck.c:637
+ #, gcc-internal-format
+ msgid "can%'t mix operands of decimal float and other float types"
+ msgstr ""
+
+-#: c-typeck.c:1037
++#: c-typeck.c:1043
+ #, gcc-internal-format
+ msgid "types are not quite compatible"
+ msgstr "les types ne sont pas vraiment compatibles"
+
+-#: c-typeck.c:1356
++#: c-typeck.c:1366
+ #, fuzzy, gcc-internal-format
+ msgid "function return types not compatible due to %<volatile%>"
+ msgstr "les types retournés d'une fonction ne sont pas compatibles en raison de « volatile »"
+
+-#: c-typeck.c:1515 c-typeck.c:2853
++#: c-typeck.c:1525 c-typeck.c:2864
+ #, gcc-internal-format
+ msgid "arithmetic on pointer to an incomplete type"
+ msgstr "arithmétique sur un pointeur vers un type incomplet"
+
+-#: c-typeck.c:1912
++#: c-typeck.c:1922
+ #, fuzzy, gcc-internal-format
+ msgid "%qT has no member named %qE"
+ msgstr "« %D » n'a pas de membre nommé « %E »"
+
+-#: c-typeck.c:1953
++#: c-typeck.c:1963
+ #, fuzzy, gcc-internal-format
+ msgid "request for member %qE in something not a structure or union"
+ msgstr "requête du membre « %s » dans quelque chose n'étant ni une structure ni une union"
+
+-#: c-typeck.c:1997
++#: c-typeck.c:2007
+ #, gcc-internal-format
+ msgid "dereferencing pointer to incomplete type"
+ msgstr "déréférencement d'un pointeur de type incomplet"
+
+-#: c-typeck.c:2001
++#: c-typeck.c:2011
+ #, fuzzy, gcc-internal-format
+ msgid "dereferencing %<void *%> pointer"
+ msgstr "déréférencement d'un pointeur « void * »"
+
+-#: c-typeck.c:2018
++#: c-typeck.c:2028
+ #, fuzzy, gcc-internal-format
+ msgid "invalid type argument of %qs (have %qT)"
+ msgstr "type d'argument invalide pour « %s »"
+
+-#: c-typeck.c:2046 cp/typeck.c:2524
++#: c-typeck.c:2056 cp/typeck.c:2570
+ #, gcc-internal-format
+ msgid "subscripted value is neither array nor pointer"
+ msgstr "la valeur indicée n'est ni un tableau ni un pointeur"
+
+-#: c-typeck.c:2057 cp/typeck.c:2443 cp/typeck.c:2529
++#: c-typeck.c:2067 cp/typeck.c:2489 cp/typeck.c:2575
+ #, gcc-internal-format
+ msgid "array subscript is not an integer"
+ msgstr "l'indice du tableau n'est pas un entier"
+
+-#: c-typeck.c:2063
++#: c-typeck.c:2073
+ #, fuzzy, gcc-internal-format
+ msgid "subscripted value is pointer to function"
+ msgstr "passage des arguments au pointeur de fonction"
+
+-#: c-typeck.c:2110
++#: c-typeck.c:2120
+ #, fuzzy, gcc-internal-format
+ msgid "ISO C forbids subscripting %<register%> array"
+ msgstr "ISO C interdit de sous-indicer des tableaux « register »"
+
+-#: c-typeck.c:2112
++#: c-typeck.c:2122
+ #, gcc-internal-format
+ msgid "ISO C90 forbids subscripting non-lvalue array"
+ msgstr "ISO C90 interdit d'indicer de tableau n'étant pas membre gauche"
+
+-#: c-typeck.c:2228
++#: c-typeck.c:2239
+ #, gcc-internal-format
+ msgid "%H%qD is static but used in inline function %qD which is not static"
+ msgstr ""
+
+-#: c-typeck.c:2376
++#: c-typeck.c:2387
+ #, fuzzy, gcc-internal-format
+ msgid "called object %qE is not a function"
+ msgstr "l'objet appelé n'est pas une fonction"
+@@ -21149,795 +21130,795 @@
+ #. This situation leads to run-time undefined behavior. We can't,
+ #. therefore, simply error unless we can prove that all possible
+ #. executions of the program must execute the code.
+-#: c-typeck.c:2404
++#: c-typeck.c:2415
+ #, gcc-internal-format
+ msgid "function called through a non-compatible type"
+ msgstr "fonction appellée à travers un type non compatible"
+
+-#: c-typeck.c:2515
++#: c-typeck.c:2526
+ #, fuzzy, gcc-internal-format
+ msgid "too many arguments to function %qE"
+ msgstr "trop d'arguments pour la fonction"
+
+-#: c-typeck.c:2536
++#: c-typeck.c:2547
+ #, gcc-internal-format
+ msgid "type of formal parameter %d is incomplete"
+ msgstr "le type du paramètre formel %d est incomplet"
+
+-#: c-typeck.c:2549
++#: c-typeck.c:2560
+ #, fuzzy, gcc-internal-format
+ msgid "passing argument %d of %qE as integer rather than floating due to prototype"
+ msgstr "%s est entier plutôt que flottant en raison du prototype"
+
+-#: c-typeck.c:2554
++#: c-typeck.c:2565
+ #, fuzzy, gcc-internal-format
+ msgid "passing argument %d of %qE as integer rather than complex due to prototype"
+ msgstr "%s est entier plutôt que complexe en raison du prototype"
+
+-#: c-typeck.c:2559
++#: c-typeck.c:2570
+ #, fuzzy, gcc-internal-format
+ msgid "passing argument %d of %qE as complex rather than floating due to prototype"
+ msgstr "%s est complexe plutôt que flottant en raison du prototype"
+
+-#: c-typeck.c:2564
++#: c-typeck.c:2575
+ #, fuzzy, gcc-internal-format
+ msgid "passing argument %d of %qE as floating rather than integer due to prototype"
+ msgstr "%s est flottant plutôt qu'entier en raison du prototype"
+
+-#: c-typeck.c:2569
++#: c-typeck.c:2580
+ #, fuzzy, gcc-internal-format
+ msgid "passing argument %d of %qE as complex rather than integer due to prototype"
+ msgstr "%s est complexe plutôt qu'entier en raison du prototype"
+
+-#: c-typeck.c:2574
++#: c-typeck.c:2585
+ #, fuzzy, gcc-internal-format
+ msgid "passing argument %d of %qE as floating rather than complex due to prototype"
+ msgstr "%s est flottant plutôt que complexe en raison du prototype"
+
+-#: c-typeck.c:2587
++#: c-typeck.c:2598
+ #, fuzzy, gcc-internal-format
+ msgid "passing argument %d of %qE as %<float%> rather than %<double%> due to prototype"
+ msgstr "%s est « float » plutôt qu'un « double » en raison du prototype"
+
+-#: c-typeck.c:2612
++#: c-typeck.c:2623
+ #, fuzzy, gcc-internal-format
+ msgid "passing argument %d of %qE as %qT rather than %qT due to prototype"
+ msgstr "%s est entier plutôt que complexe en raison du prototype"
+
+-#: c-typeck.c:2633
++#: c-typeck.c:2644
+ #, fuzzy, gcc-internal-format
+ msgid "passing argument %d of %qE with different width due to prototype"
+ msgstr "%s a une largeur différente en raison du prototype"
+
+-#: c-typeck.c:2656
++#: c-typeck.c:2667
+ #, fuzzy, gcc-internal-format
+ msgid "passing argument %d of %qE as unsigned due to prototype"
+ msgstr "%s est non signé en raison du prototype"
+
+-#: c-typeck.c:2660
++#: c-typeck.c:2671
+ #, fuzzy, gcc-internal-format
+ msgid "passing argument %d of %qE as signed due to prototype"
+ msgstr "%s est signé en raison du prototype"
+
+-#: c-typeck.c:2766 c-typeck.c:2770
++#: c-typeck.c:2777 c-typeck.c:2781
+ #, fuzzy, gcc-internal-format
+ msgid "comparison with string literal results in unspecified behavior"
+ msgstr "%Jdéclaration faible de « %D » après une première utilisation des résultats d'un comportement non spécifié"
+
+-#: c-typeck.c:2795
++#: c-typeck.c:2806
+ #, fuzzy, gcc-internal-format
+ msgid "pointer of type %<void *%> used in subtraction"
+ msgstr "pointeur de type « void * » utilisé dans une soustraction"
+
+-#: c-typeck.c:2797
++#: c-typeck.c:2808
+ #, gcc-internal-format
+ msgid "pointer to a function used in subtraction"
+ msgstr "pointeur vers un fonction utilisé dans une soustraction"
+
+-#: c-typeck.c:2908
++#: c-typeck.c:2919
+ #, gcc-internal-format
+ msgid "wrong type argument to unary plus"
+ msgstr "type d'argument erroné pour le plus unaire"
+
+-#: c-typeck.c:2921
++#: c-typeck.c:2932
+ #, gcc-internal-format
+ msgid "wrong type argument to unary minus"
+ msgstr "type d'argument erroné pour le moins unaire"
+
+-#: c-typeck.c:2941
++#: c-typeck.c:2952
+ #, fuzzy, gcc-internal-format
+ msgid "ISO C does not support %<~%> for complex conjugation"
+ msgstr "ISO C ne permet pas d'utiliser « ~ » pour le complexe conjugué"
+
+-#: c-typeck.c:2947
++#: c-typeck.c:2958
+ #, gcc-internal-format
+ msgid "wrong type argument to bit-complement"
+ msgstr "type d'argument erroné pour un complément de bit"
+
+-#: c-typeck.c:2955
++#: c-typeck.c:2966
+ #, gcc-internal-format
+ msgid "wrong type argument to abs"
+ msgstr "type d'argument erroné pour abs"
+
+-#: c-typeck.c:2967
++#: c-typeck.c:2978
+ #, gcc-internal-format
+ msgid "wrong type argument to conjugation"
+ msgstr "type d'argument erroné pour la conjugaison"
+
+-#: c-typeck.c:2979
++#: c-typeck.c:2990
+ #, gcc-internal-format
+ msgid "wrong type argument to unary exclamation mark"
+ msgstr "type d'argument erroné pour le point d'exclamation unaire"
+
+-#: c-typeck.c:3013
++#: c-typeck.c:3024
+ #, fuzzy, gcc-internal-format
+ msgid "ISO C does not support %<++%> and %<--%> on complex types"
+ msgstr "ISO C ne permet pas « ++ » ni « -- » sur les types complexes"
+
+-#: c-typeck.c:3032 c-typeck.c:3064
++#: c-typeck.c:3043 c-typeck.c:3075
+ #, gcc-internal-format
+ msgid "wrong type argument to increment"
+ msgstr "type d'argument erroné pour un incrément"
+
+-#: c-typeck.c:3034 c-typeck.c:3066
++#: c-typeck.c:3045 c-typeck.c:3077
+ #, gcc-internal-format
+ msgid "wrong type argument to decrement"
+ msgstr "type d'argument erroné pour un décrément"
+
+-#: c-typeck.c:3055
++#: c-typeck.c:3066
+ #, gcc-internal-format
+ msgid "increment of pointer to unknown structure"
+ msgstr "incrément d'un pointeur vers une structure inconnue"
+
+-#: c-typeck.c:3057
++#: c-typeck.c:3068
+ #, gcc-internal-format
+ msgid "decrement of pointer to unknown structure"
+ msgstr "décrément d'un pointeur vers une structure inconnue"
+
+-#: c-typeck.c:3258
++#: c-typeck.c:3269
+ #, fuzzy, gcc-internal-format
+ msgid "assignment of read-only member %qD"
+ msgstr "%s d'un membre en lecture seule « %s »"
+
+-#: c-typeck.c:3259
++#: c-typeck.c:3270
+ #, fuzzy, gcc-internal-format
+ msgid "increment of read-only member %qD"
+ msgstr "%s d'un membre en lecture seule « %s »"
+
+-#: c-typeck.c:3260
++#: c-typeck.c:3271
+ #, fuzzy, gcc-internal-format
+ msgid "decrement of read-only member %qD"
+ msgstr "%s d'un membre en lecture seule « %s »"
+
+-#: c-typeck.c:3261
++#: c-typeck.c:3272
+ #, gcc-internal-format
+ msgid "read-only member %qD used as %<asm%> output"
+ msgstr ""
+
+-#: c-typeck.c:3265
++#: c-typeck.c:3276
+ #, fuzzy, gcc-internal-format
+ msgid "assignment of read-only variable %qD"
+ msgstr "%s d'une variable en lecture seule « %s »"
+
+-#: c-typeck.c:3266
++#: c-typeck.c:3277
+ #, fuzzy, gcc-internal-format
+ msgid "increment of read-only variable %qD"
+ msgstr "%s d'une variable en lecture seule « %s »"
+
+-#: c-typeck.c:3267
++#: c-typeck.c:3278
+ #, fuzzy, gcc-internal-format
+ msgid "decrement of read-only variable %qD"
+ msgstr "%s d'une variable en lecture seule « %s »"
+
+-#: c-typeck.c:3268
++#: c-typeck.c:3279
+ #, gcc-internal-format
+ msgid "read-only variable %qD used as %<asm%> output"
+ msgstr ""
+
+-#: c-typeck.c:3271
++#: c-typeck.c:3282
+ #, fuzzy, gcc-internal-format
+ msgid "assignment of read-only location %qE"
+ msgstr "%s d'une position en lecture seule"
+
+-#: c-typeck.c:3272
++#: c-typeck.c:3283
+ #, fuzzy, gcc-internal-format
+ msgid "increment of read-only location %qE"
+ msgstr "%s d'une position en lecture seule"
+
+-#: c-typeck.c:3273
++#: c-typeck.c:3284
+ #, fuzzy, gcc-internal-format
+ msgid "decrement of read-only location %qE"
+ msgstr "%s d'une position en lecture seule"
+
+-#: c-typeck.c:3274
++#: c-typeck.c:3285
+ #, fuzzy, gcc-internal-format
+ msgid "read-only location %qE used as %<asm%> output"
+ msgstr "localisation en lecture seulement modifiée par «asm»"
+
+-#: c-typeck.c:3310
++#: c-typeck.c:3321
+ #, fuzzy, gcc-internal-format
+ msgid "cannot take address of bit-field %qD"
+ msgstr "ne peut prendre l'adresse du champ de bits « %s »"
+
+-#: c-typeck.c:3338
++#: c-typeck.c:3349
+ #, fuzzy, gcc-internal-format
+ msgid "global register variable %qD used in nested function"
+ msgstr "variable globale de registre « %s » utilisée dans une fonction imbriquée"
+
+-#: c-typeck.c:3341
++#: c-typeck.c:3352
+ #, fuzzy, gcc-internal-format
+ msgid "register variable %qD used in nested function"
+ msgstr "variable de registre « %s » utilisée dans une fonction imbriquée"
+
+-#: c-typeck.c:3346
++#: c-typeck.c:3357
+ #, fuzzy, gcc-internal-format
+ msgid "address of global register variable %qD requested"
+ msgstr "adresse d'une variable registre globale « %s » requise"
+
+-#: c-typeck.c:3348
++#: c-typeck.c:3359
+ #, fuzzy, gcc-internal-format
+ msgid "address of register variable %qD requested"
+ msgstr "adresse d'une variable registre « %s » requise"
+
+-#: c-typeck.c:3394
++#: c-typeck.c:3405
+ #, fuzzy, gcc-internal-format
+ msgid "non-lvalue array in conditional expression"
+ msgstr "mode non booléen dans l'expression conditionnelle"
+
+-#: c-typeck.c:3442
++#: c-typeck.c:3453
+ #, gcc-internal-format
+ msgid "signed and unsigned type in conditional expression"
+ msgstr "type signé et non signé dans une expression conditionnelle"
+
+-#: c-typeck.c:3449
++#: c-typeck.c:3460
+ #, gcc-internal-format
+ msgid "ISO C forbids conditional expr with only one void side"
+ msgstr "ISO C interdit une expression conditionnelle dont un seul côté est « void »"
+
+-#: c-typeck.c:3463 c-typeck.c:3471
++#: c-typeck.c:3474 c-typeck.c:3482
+ #, fuzzy, gcc-internal-format
+ msgid "ISO C forbids conditional expr between %<void *%> and function pointer"
+ msgstr "ISO C interdit une expression conditionnelle entre « void * » et un pointeur de fonction"
+
+-#: c-typeck.c:3478
++#: c-typeck.c:3489
+ #, gcc-internal-format
+ msgid "pointer type mismatch in conditional expression"
+ msgstr "non concordance de type de pointeurs dans un expression conditionnelle"
+
+-#: c-typeck.c:3485 c-typeck.c:3495
++#: c-typeck.c:3496 c-typeck.c:3506
+ #, gcc-internal-format
+ msgid "pointer/integer type mismatch in conditional expression"
+ msgstr "non concordance entre pointeur et entier dans une expression conditionnelle"
+
+-#: c-typeck.c:3509 tree-cfg.c:3783
++#: c-typeck.c:3520 tree-cfg.c:3807
+ #, gcc-internal-format
+ msgid "type mismatch in conditional expression"
+ msgstr "non concordance de type dans une expression conditionnelle"
+
+-#: c-typeck.c:3552
++#: c-typeck.c:3563
+ #, gcc-internal-format
+ msgid "left-hand operand of comma expression has no effect"
+ msgstr "l'opérande à gauche de la virgule n'a pas d'effet"
+
+-#: c-typeck.c:3589
++#: c-typeck.c:3600
+ #, gcc-internal-format
+ msgid "cast specifies array type"
+ msgstr "le transtypage spécifie un type de tableau"
+
+-#: c-typeck.c:3595
++#: c-typeck.c:3606
+ #, gcc-internal-format
+ msgid "cast specifies function type"
+ msgstr "le transtypage spécifie un type de fonction"
+
+-#: c-typeck.c:3612
++#: c-typeck.c:3623
+ #, gcc-internal-format
+ msgid "ISO C forbids casting nonscalar to the same type"
+ msgstr "ISO C interdit le transtypage d'un type non scalaire vers lui-même"
+
+-#: c-typeck.c:3629
++#: c-typeck.c:3640
+ #, gcc-internal-format
+ msgid "ISO C forbids casts to union type"
+ msgstr "ISO C interdit le transtypage vers un type union"
+
+-#: c-typeck.c:3637
++#: c-typeck.c:3648
+ #, gcc-internal-format
+ msgid "cast to union type from type not present in union"
+ msgstr "transtypage vers un type union depuis un type absent de l'union"
+
+-#: c-typeck.c:3683
++#: c-typeck.c:3694
+ #, gcc-internal-format
+ msgid "cast adds new qualifiers to function type"
+ msgstr "le transtypage ajoute un nouveau qualificateur au type de la fonction"
+
+ #. There are qualifiers present in IN_OTYPE that are not
+ #. present in IN_TYPE.
+-#: c-typeck.c:3688
++#: c-typeck.c:3699
+ #, gcc-internal-format
+ msgid "cast discards qualifiers from pointer target type"
+ msgstr "le transtypage annule des qualificateurs du type pointeur ciblé"
+
+-#: c-typeck.c:3704
++#: c-typeck.c:3715
+ #, gcc-internal-format
+ msgid "cast increases required alignment of target type"
+ msgstr "le transtypage augmente l'alignement requis pour le type ciblé"
+
+-#: c-typeck.c:3715
++#: c-typeck.c:3726
+ #, gcc-internal-format
+ msgid "cast from pointer to integer of different size"
+ msgstr "transtypage d'un pointeur vers un entier de taille différente"
+
+-#: c-typeck.c:3719
++#: c-typeck.c:3730
+ #, gcc-internal-format
+ msgid "cast from function call of type %qT to non-matching type %qT"
+ msgstr ""
+
+-#: c-typeck.c:3727
++#: c-typeck.c:3738
+ #, gcc-internal-format
+ msgid "cast to pointer from integer of different size"
+ msgstr "transtypage vers un pointeur depuis un entier de taille différente"
+
+-#: c-typeck.c:3741
++#: c-typeck.c:3752
+ #, gcc-internal-format
+ msgid "ISO C forbids conversion of function pointer to object pointer type"
+ msgstr "ISO C interdit la conversion d'un pointeur de fonction en un type pointeur d'objet"
+
+-#: c-typeck.c:3749
++#: c-typeck.c:3760
+ #, gcc-internal-format
+ msgid "ISO C forbids conversion of object pointer to function pointer type"
+ msgstr "ISO C interdit la conversion d'un pointeur d'objet vers un type de pointeur à une fonction"
+
+-#: c-typeck.c:4026
++#: c-typeck.c:4037
+ #, gcc-internal-format
+ msgid "cannot pass rvalue to reference parameter"
+ msgstr "impossible de passer un membre droit en paramètre par référence"
+
+-#: c-typeck.c:4139 c-typeck.c:4306
++#: c-typeck.c:4150 c-typeck.c:4317
+ #, fuzzy, gcc-internal-format
+ msgid "passing argument %d of %qE makes qualified function pointer from unqualified"
+ msgstr "%s qualifie un pointeur de fonction non qualifié"
+
+-#: c-typeck.c:4142 c-typeck.c:4309
++#: c-typeck.c:4153 c-typeck.c:4320
+ #, fuzzy, gcc-internal-format
+ msgid "assignment makes qualified function pointer from unqualified"
+ msgstr "%s qualifie un pointeur de fonction non qualifié"
+
+-#: c-typeck.c:4145 c-typeck.c:4311
++#: c-typeck.c:4156 c-typeck.c:4322
+ #, fuzzy, gcc-internal-format
+ msgid "initialization makes qualified function pointer from unqualified"
+ msgstr "%s qualifie un pointeur de fonction non qualifié"
+
+-#: c-typeck.c:4148 c-typeck.c:4313
++#: c-typeck.c:4159 c-typeck.c:4324
+ #, fuzzy, gcc-internal-format
+ msgid "return makes qualified function pointer from unqualified"
+ msgstr "%s qualifie un pointeur de fonction non qualifié"
+
+-#: c-typeck.c:4152 c-typeck.c:4273
++#: c-typeck.c:4163 c-typeck.c:4284
+ #, fuzzy, gcc-internal-format
+ msgid "passing argument %d of %qE discards qualifiers from pointer target type"
+ msgstr "transtypage de « %T » vers « %T » écarte les qualificateurs du type cible du pointeur"
+
+-#: c-typeck.c:4154 c-typeck.c:4275
++#: c-typeck.c:4165 c-typeck.c:4286
+ #, fuzzy, gcc-internal-format
+ msgid "assignment discards qualifiers from pointer target type"
+ msgstr "le transtypage annule des qualificateurs du type pointeur ciblé"
+
+-#: c-typeck.c:4156 c-typeck.c:4277
++#: c-typeck.c:4167 c-typeck.c:4288
+ #, fuzzy, gcc-internal-format
+ msgid "initialization discards qualifiers from pointer target type"
+ msgstr "le transtypage annule des qualificateurs du type pointeur ciblé"
+
+-#: c-typeck.c:4158 c-typeck.c:4279
++#: c-typeck.c:4169 c-typeck.c:4290
+ #, fuzzy, gcc-internal-format
+ msgid "return discards qualifiers from pointer target type"
+ msgstr "le transtypage annule des qualificateurs du type pointeur ciblé"
+
+-#: c-typeck.c:4165
++#: c-typeck.c:4176
+ #, gcc-internal-format
+ msgid "ISO C prohibits argument conversion to union type"
+ msgstr "ISO C interdit la conversion d'argument en type union"
+
+-#: c-typeck.c:4201
++#: c-typeck.c:4212
+ #, fuzzy, gcc-internal-format
+ msgid "request for implicit conversion from %qT to %qT not permitted in C++"
+ msgstr "conversion de %s vers %s n'est pas supporté par iconv"
+
+-#: c-typeck.c:4214
++#: c-typeck.c:4225
+ #, fuzzy, gcc-internal-format
+ msgid "argument %d of %qE might be a candidate for a format attribute"
+ msgstr "la fonction est peut être candidate pour l'attribut de format de « %s »"
+
+-#: c-typeck.c:4220
++#: c-typeck.c:4231
+ #, fuzzy, gcc-internal-format
+ msgid "assignment left-hand side might be a candidate for a format attribute"
+ msgstr "Avertir à propos des fonctions qui pourraient être candidates pour les attributs de format"
+
+-#: c-typeck.c:4225
++#: c-typeck.c:4236
+ #, fuzzy, gcc-internal-format
+ msgid "initialization left-hand side might be a candidate for a format attribute"
+ msgstr "la fonction est peut être candidate pour l'attribut de format de « %s »"
+
+-#: c-typeck.c:4230
++#: c-typeck.c:4241
+ #, fuzzy, gcc-internal-format
+ msgid "return type might be a candidate for a format attribute"
+ msgstr "la fonction est peut être candidate pour l'attribut de format de « %s »"
+
+-#: c-typeck.c:4253
++#: c-typeck.c:4264
+ #, fuzzy, gcc-internal-format
+ msgid "ISO C forbids passing argument %d of %qE between function pointer and %<void *%>"
+ msgstr "ISO C interdit %s entre pointeur de fonction et « void * »"
+
+-#: c-typeck.c:4256
++#: c-typeck.c:4267
+ #, fuzzy, gcc-internal-format
+ msgid "ISO C forbids assignment between function pointer and %<void *%>"
+ msgstr "ISO C interdit %s entre pointeur de fonction et « void * »"
+
+-#: c-typeck.c:4258
++#: c-typeck.c:4269
+ #, fuzzy, gcc-internal-format
+ msgid "ISO C forbids initialization between function pointer and %<void *%>"
+ msgstr "ISO C interdit %s entre pointeur de fonction et « void * »"
+
+-#: c-typeck.c:4260
++#: c-typeck.c:4271
+ #, fuzzy, gcc-internal-format
+ msgid "ISO C forbids return between function pointer and %<void *%>"
+ msgstr "ISO C interdit %s entre pointeur de fonction et « void * »"
+
+-#: c-typeck.c:4289
++#: c-typeck.c:4300
+ #, fuzzy, gcc-internal-format
+ msgid "pointer targets in passing argument %d of %qE differ in signedness"
+ msgstr "les cibles des pointeurs dans %s n'ont pas toutes de signe"
+
+-#: c-typeck.c:4291
++#: c-typeck.c:4302
+ #, fuzzy, gcc-internal-format
+ msgid "pointer targets in assignment differ in signedness"
+ msgstr "les cibles des pointeurs dans %s n'ont pas toutes de signe"
+
+-#: c-typeck.c:4293
++#: c-typeck.c:4304
+ #, fuzzy, gcc-internal-format
+ msgid "pointer targets in initialization differ in signedness"
+ msgstr "les cibles des pointeurs dans %s n'ont pas toutes de signe"
+
+-#: c-typeck.c:4295
++#: c-typeck.c:4306
+ #, fuzzy, gcc-internal-format
+ msgid "pointer targets in return differ in signedness"
+ msgstr "les cibles des pointeurs dans %s n'ont pas toutes de signe"
+
+-#: c-typeck.c:4320
++#: c-typeck.c:4331
+ #, fuzzy, gcc-internal-format
+ msgid "passing argument %d of %qE from incompatible pointer type"
+ msgstr "%s d'un type pointeur incompatible"
+
+-#: c-typeck.c:4322
++#: c-typeck.c:4333
+ #, fuzzy, gcc-internal-format
+ msgid "assignment from incompatible pointer type"
+ msgstr "%s d'un type pointeur incompatible"
+
+-#: c-typeck.c:4323
++#: c-typeck.c:4334
+ #, fuzzy, gcc-internal-format
+ msgid "initialization from incompatible pointer type"
+ msgstr "%s d'un type pointeur incompatible"
+
+-#: c-typeck.c:4325
++#: c-typeck.c:4336
+ #, fuzzy, gcc-internal-format
+ msgid "return from incompatible pointer type"
+ msgstr "%s d'un type pointeur incompatible"
+
+-#: c-typeck.c:4342
++#: c-typeck.c:4353
+ #, fuzzy, gcc-internal-format
+ msgid "passing argument %d of %qE makes pointer from integer without a cast"
+ msgstr "%s transforme un entier en pointeur sans transtypage"
+
+-#: c-typeck.c:4344
++#: c-typeck.c:4355
+ #, fuzzy, gcc-internal-format
+ msgid "assignment makes pointer from integer without a cast"
+ msgstr "%s transforme un entier en pointeur sans transtypage"
+
+-#: c-typeck.c:4346
++#: c-typeck.c:4357
+ #, fuzzy, gcc-internal-format
+ msgid "initialization makes pointer from integer without a cast"
+ msgstr "%s transforme un entier en pointeur sans transtypage"
+
+-#: c-typeck.c:4348
++#: c-typeck.c:4359
+ #, fuzzy, gcc-internal-format
+ msgid "return makes pointer from integer without a cast"
+ msgstr "%s transforme un entier en pointeur sans transtypage"
+
+-#: c-typeck.c:4355
++#: c-typeck.c:4366
+ #, fuzzy, gcc-internal-format
+ msgid "passing argument %d of %qE makes integer from pointer without a cast"
+ msgstr "%s transforme un pointeur en entier sans transtypage"
+
+-#: c-typeck.c:4357
++#: c-typeck.c:4368
+ #, fuzzy, gcc-internal-format
+ msgid "assignment makes integer from pointer without a cast"
+ msgstr "%s transforme un pointeur en entier sans transtypage"
+
+-#: c-typeck.c:4359
++#: c-typeck.c:4370
+ #, fuzzy, gcc-internal-format
+ msgid "initialization makes integer from pointer without a cast"
+ msgstr "%s transforme un pointeur en entier sans transtypage"
+
+-#: c-typeck.c:4361
++#: c-typeck.c:4372
+ #, fuzzy, gcc-internal-format
+ msgid "return makes integer from pointer without a cast"
+ msgstr "%s transforme un pointeur en entier sans transtypage"
+
+-#: c-typeck.c:4377
++#: c-typeck.c:4388
+ #, fuzzy, gcc-internal-format
+ msgid "incompatible types in assignment"
+ msgstr "type incompatibles dans %s"
+
+-#: c-typeck.c:4380
++#: c-typeck.c:4391
+ #, fuzzy, gcc-internal-format
+ msgid "incompatible types in initialization"
+ msgstr "type incompatibles dans %s"
+
+-#: c-typeck.c:4383
++#: c-typeck.c:4394
+ #, fuzzy, gcc-internal-format
+ msgid "incompatible types in return"
+ msgstr "type incompatibles dans %s"
+
+-#: c-typeck.c:4439
++#: c-typeck.c:4450
+ #, gcc-internal-format
+ msgid "traditional C rejects automatic aggregate initialization"
+ msgstr "le C traditionel rejette l'initialisation automatique d'aggrégats"
+
+-#: c-typeck.c:4610 c-typeck.c:4625 c-typeck.c:4640
++#: c-typeck.c:4621 c-typeck.c:4636 c-typeck.c:4651
+ #, fuzzy, gcc-internal-format
+ msgid "(near initialization for %qs)"
+ msgstr "(près de l'initialisation de « %s »)"
+
+-#: c-typeck.c:5180 cp/decl.c:4975
++#: c-typeck.c:5191 cp/decl.c:4995
+ #, gcc-internal-format
+ msgid "opaque vector types cannot be initialized"
+ msgstr "type de vecteur opaque ne peut être initialisé"
+
+-#: c-typeck.c:5803
++#: c-typeck.c:5814
+ #, fuzzy, gcc-internal-format
+ msgid "unknown field %qE specified in initializer"
+ msgstr "champ inconnu « %s » spécifié lors de l'initialisation"
+
+-#: c-typeck.c:6703
++#: c-typeck.c:6714
+ #, gcc-internal-format
+ msgid "traditional C rejects initialization of unions"
+ msgstr "le C traditionel rejette l'initialisation d'union"
+
+-#: c-typeck.c:7011
++#: c-typeck.c:7022
+ #, fuzzy, gcc-internal-format
+ msgid "jump into statement expression"
+ msgstr "expression n'est pas une constante"
+
+-#: c-typeck.c:7017
++#: c-typeck.c:7028
+ #, fuzzy, gcc-internal-format
+ msgid "jump into scope of identifier with variably modified type"
+ msgstr "« %T » est type modifié de manière variable"
+
+-#: c-typeck.c:7054
++#: c-typeck.c:7065
+ #, fuzzy, gcc-internal-format
+ msgid "ISO C forbids %<goto *expr;%>"
+ msgstr "ISO C interdit « goto *expr; »"
+
+-#: c-typeck.c:7069 cp/typeck.c:6592
++#: c-typeck.c:7080 cp/typeck.c:6619
+ #, fuzzy, gcc-internal-format
+ msgid "function declared %<noreturn%> has a %<return%> statement"
+ msgstr "fonction déclarée avec « noreturn» utilisant le mot-clé « return »"
+
+-#: c-typeck.c:7077
++#: c-typeck.c:7088
+ #, fuzzy, gcc-internal-format
+ msgid "%<return%> with no value, in function returning non-void"
+ msgstr "« return » sans valeur dans une fonction retournant autre chose que void"
+
+-#: c-typeck.c:7086
++#: c-typeck.c:7097
+ #, fuzzy, gcc-internal-format
+ msgid "%<return%> with a value, in function returning void"
+ msgstr "« return » avec une valeur dans une fonction retournant un void"
+
+-#: c-typeck.c:7088
++#: c-typeck.c:7099
+ #, fuzzy, gcc-internal-format
+ msgid "ISO C forbids %<return%> with expression, in function returning void"
+ msgstr "« return » avec une valeur dans une fonction retournant un void"
+
+-#: c-typeck.c:7145
++#: c-typeck.c:7156
+ #, gcc-internal-format
+ msgid "function returns address of local variable"
+ msgstr "cette fonction retourne l'adresse d'une variable locale"
+
+-#: c-typeck.c:7217 cp/semantics.c:949
++#: c-typeck.c:7228 cp/semantics.c:952
+ #, gcc-internal-format
+ msgid "switch quantity not an integer"
+ msgstr "quantité du switch n'est pas un entier"
+
+-#: c-typeck.c:7229
++#: c-typeck.c:7240
+ #, fuzzy, gcc-internal-format
+ msgid "%<long%> switch expression not converted to %<int%> in ISO C"
+ msgstr "expression « long » du switch non convertie en « int » par ISO C"
+
+-#: c-typeck.c:7269
++#: c-typeck.c:7280
+ #, fuzzy, gcc-internal-format
+ msgid "case label in statement expression not containing enclosing switch statement"
+ msgstr "étiquette de « case » en dehors de tout switch"
+
+-#: c-typeck.c:7272
++#: c-typeck.c:7283
+ #, fuzzy, gcc-internal-format
+ msgid "%<default%> label in statement expression not containing enclosing switch statement"
+ msgstr "étiquette « default » en dehors de tout switch"
+
+-#: c-typeck.c:7278
++#: c-typeck.c:7289
+ #, gcc-internal-format
+ msgid "case label in scope of identifier with variably modified type not containing enclosing switch statement"
+ msgstr ""
+
+-#: c-typeck.c:7281
++#: c-typeck.c:7292
+ #, gcc-internal-format
+ msgid "%<default%> label in scope of identifier with variably modified type not containing enclosing switch statement"
+ msgstr ""
+
+-#: c-typeck.c:7285 cp/parser.c:6804
++#: c-typeck.c:7296 cp/parser.c:6810
+ #, gcc-internal-format
+ msgid "case label not within a switch statement"
+ msgstr "étiquette de « case » en dehors de tout switch"
+
+-#: c-typeck.c:7287
++#: c-typeck.c:7298
+ #, fuzzy, gcc-internal-format
+ msgid "%<default%> label not within a switch statement"
+ msgstr "étiquette « default » en dehors de tout switch"
+
+-#: c-typeck.c:7364
++#: c-typeck.c:7375
+ #, fuzzy, gcc-internal-format
+ msgid "%Hsuggest explicit braces to avoid ambiguous %<else%>"
+ msgstr "%Hon vous suggère des accolades explicitement pour éviter des « else » ambiguës"
+
+-#: c-typeck.c:7475 cp/cp-gimplify.c:97 cp/parser.c:7409
++#: c-typeck.c:7486 cp/cp-gimplify.c:97 cp/parser.c:7415
+ #, gcc-internal-format
+ msgid "break statement not within loop or switch"
+ msgstr "mot-clé « break » à l'extérieur de toute boucle ou « switch »"
+
+-#: c-typeck.c:7477 cp/parser.c:7430
++#: c-typeck.c:7488 cp/parser.c:7436
+ #, gcc-internal-format
+ msgid "continue statement not within a loop"
+ msgstr "mot-clé « continue » à l'extérieur de toute boucle"
+
+-#: c-typeck.c:7482 cp/parser.c:7420
++#: c-typeck.c:7493 cp/parser.c:7426
+ #, fuzzy, gcc-internal-format
+ msgid "break statement used with OpenMP for loop"
+ msgstr "mot-clé « break » à l'extérieur de toute boucle ou « switch »"
+
+-#: c-typeck.c:7505
++#: c-typeck.c:7516
+ #, gcc-internal-format
+ msgid "%Hstatement with no effect"
+ msgstr "%Hdéclaration sasn effet"
+
+-#: c-typeck.c:7527
++#: c-typeck.c:7538
+ #, gcc-internal-format
+ msgid "expression statement has incomplete type"
+ msgstr "la déclaration de l'expression a un type incomplet"
+
+-#: c-typeck.c:8082 cp/typeck.c:3259
++#: c-typeck.c:8093 cp/typeck.c:3301
+ #, gcc-internal-format
+ msgid "right shift count is negative"
+ msgstr "le compteur de décalage vers la droite est négatif"
+
+-#: c-typeck.c:8089 cp/typeck.c:3265
++#: c-typeck.c:8100 cp/typeck.c:3305
+ #, gcc-internal-format
+ msgid "right shift count >= width of type"
+ msgstr "compteur de décalage vers la droite >= à la largeur du type"
+
+-#: c-typeck.c:8111 cp/typeck.c:3284
++#: c-typeck.c:8122 cp/typeck.c:3324
+ #, gcc-internal-format
+ msgid "left shift count is negative"
+ msgstr "le compteur de décalage vers la gauche est négatif"
+
+-#: c-typeck.c:8114 cp/typeck.c:3286
++#: c-typeck.c:8125 cp/typeck.c:3326
+ #, gcc-internal-format
+ msgid "left shift count >= width of type"
+ msgstr "compteur de décalage vers la gauche >= à la largeur du type"
+
+-#: c-typeck.c:8132 cp/typeck.c:3324
++#: c-typeck.c:8143 cp/typeck.c:3364
+ #, gcc-internal-format
+ msgid "comparing floating point with == or != is unsafe"
+ msgstr "comparer des nombres flottants à l'aide de == ou != n'est pas sûr"
+
+-#: c-typeck.c:8156 c-typeck.c:8163
++#: c-typeck.c:8167 c-typeck.c:8174
+ #, fuzzy, gcc-internal-format
+ msgid "ISO C forbids comparison of %<void *%> with function pointer"
+ msgstr "ISO C interdit la comparaison de « void * » avec un pointeur de fonction"
+
+-#: c-typeck.c:8169 c-typeck.c:8227
++#: c-typeck.c:8180 c-typeck.c:8238
+ #, gcc-internal-format
+ msgid "comparison of distinct pointer types lacks a cast"
+ msgstr "il manque un transtypage pour comparer des types distincts de pointeur"
+
+-#: c-typeck.c:8178 c-typeck.c:8186 cp/typeck.c:3344 cp/typeck.c:3353
++#: c-typeck.c:8189 c-typeck.c:8197 cp/typeck.c:3384 cp/typeck.c:3393
+ #, fuzzy, gcc-internal-format
+ msgid "the address of %qD will never be NULL"
+ msgstr "l'adresse de « %D » sera toujours évaluée comme étant « true »"
+
+-#: c-typeck.c:8193 c-typeck.c:8198 c-typeck.c:8245 c-typeck.c:8250
++#: c-typeck.c:8204 c-typeck.c:8209 c-typeck.c:8256 c-typeck.c:8261
+ #, gcc-internal-format
+ msgid "comparison between pointer and integer"
+ msgstr "comparaison entre un pointeur et un entier"
+
+-#: c-typeck.c:8219
++#: c-typeck.c:8230
+ #, gcc-internal-format
+ msgid "comparison of complete and incomplete pointers"
+ msgstr "comparaison de pointeurs complet et incomplet"
+
+-#: c-typeck.c:8222
++#: c-typeck.c:8233
+ #, gcc-internal-format
+ msgid "ISO C forbids ordered comparisons of pointers to functions"
+ msgstr "ISO C interdit les comparaisons ordonnées de pointeurs vers des fonctions"
+
+-#: c-typeck.c:8234 c-typeck.c:8240
++#: c-typeck.c:8245 c-typeck.c:8251
+ #, gcc-internal-format
+ msgid "ordered comparison of pointer with integer zero"
+ msgstr "comparaison ordonnée de pointeur avec le zéro entier"
+
+-#: c-typeck.c:8500
++#: c-typeck.c:8511
+ #, gcc-internal-format
+ msgid "comparison between signed and unsigned"
+ msgstr "comparaison entre élément signé et élément non signé"
+
+-#: c-typeck.c:8546 cp/typeck.c:3830
++#: c-typeck.c:8557 cp/typeck.c:3838
+ #, gcc-internal-format
+ msgid "comparison of promoted ~unsigned with constant"
+ msgstr "comparaison entre élément promu ~unsigned et une constante"
+
+-#: c-typeck.c:8554 cp/typeck.c:3838
++#: c-typeck.c:8565 cp/typeck.c:3846
+ #, gcc-internal-format
+ msgid "comparison of promoted ~unsigned with unsigned"
+ msgstr "comparaison entre élément promu ~unsigned et un élément non signé"
+
+-#: c-typeck.c:8612
++#: c-typeck.c:8623
+ #, fuzzy, gcc-internal-format
+ msgid "used array that cannot be converted to pointer where scalar is required"
+ msgstr "valeur de type « array » utilisé là où un scalaire est attendu"
+
+-#: c-typeck.c:8616
++#: c-typeck.c:8627
+ #, fuzzy, gcc-internal-format
+ msgid "used struct type value where scalar is required"
+ msgstr "valeur de type « struct » utilisé là où un scalaire est attendu"
+
+-#: c-typeck.c:8620
++#: c-typeck.c:8631
+ #, fuzzy, gcc-internal-format
+ msgid "used union type value where scalar is required"
+ msgstr "valeur de type « union » utilisé là où un scalaire est attendu"
+
+-#: c-typeck.c:8725 cp/semantics.c:3523
++#: c-typeck.c:8736 cp/semantics.c:3555
+ #, fuzzy, gcc-internal-format
+ msgid "%qE has invalid type for %<reduction%>"
+ msgstr "type retourné invalide pour la fonction « %#D »"
+
+-#: c-typeck.c:8759 cp/semantics.c:3536
++#: c-typeck.c:8770 cp/semantics.c:3568
+ #, fuzzy, gcc-internal-format
+ msgid "%qE has invalid type for %<reduction(%s)%>"
+ msgstr "type retourné invalide pour la fonction « %#D »"
+
+-#: c-typeck.c:8775 cp/semantics.c:3546
++#: c-typeck.c:8786 cp/semantics.c:3578
+ #, gcc-internal-format
+ msgid "%qE must be %<threadprivate%> for %<copyin%>"
+ msgstr ""
+
+-#: c-typeck.c:8784 cp/semantics.c:3351
++#: c-typeck.c:8795 cp/semantics.c:3383
+ #, fuzzy, gcc-internal-format
+ msgid "%qE is not a variable in clause %qs"
+ msgstr "« %s » n'est pas un nom de classe valide"
+
+-#: c-typeck.c:8791 c-typeck.c:8811 c-typeck.c:8831 cp/semantics.c:3377
+-#: cp/semantics.c:3396
++#: c-typeck.c:8802 c-typeck.c:8822 c-typeck.c:8842 cp/semantics.c:3409
++#: cp/semantics.c:3428
+ #, gcc-internal-format
+ msgid "%qE appears more than once in data clauses"
+ msgstr ""
+
+-#: c-typeck.c:8805 cp/semantics.c:3371
++#: c-typeck.c:8816 cp/semantics.c:3403
+ #, fuzzy, gcc-internal-format
+ msgid "%qE is not a variable in clause %<firstprivate%>"
+ msgstr "instance de la variable « %s » est déclaré privée"
+
+-#: c-typeck.c:8825 cp/semantics.c:3390
++#: c-typeck.c:8836 cp/semantics.c:3422
+ #, fuzzy, gcc-internal-format
+ msgid "%qE is not a variable in clause %<lastprivate%>"
+ msgstr "instance de la variable « %s » est déclaré privée"
+
+-#: c-typeck.c:8883 cp/semantics.c:3587
++#: c-typeck.c:8894 cp/semantics.c:3619
+ #, gcc-internal-format
+ msgid "%qE is predetermined %qs for %qs"
+ msgstr ""
+@@ -21947,12 +21928,12 @@
+ msgid "function call has aggregate value"
+ msgstr "l'appel de fonction a une valeur d'aggrégat"
+
+-#: cfgexpand.c:1884
++#: cfgexpand.c:1887
+ #, gcc-internal-format
+ msgid "not protecting local variables: variable length buffer"
+ msgstr ""
+
+-#: cfgexpand.c:1887
++#: cfgexpand.c:1890
+ #, gcc-internal-format
+ msgid "not protecting function: no buffer at least %d bytes long"
+ msgstr ""
+@@ -22007,7 +21988,7 @@
+ msgid "verify_flow_info: Basic block %d succ edge is corrupted"
+ msgstr "verify_flow_info: l'arrête succ du bloc de base %d est corrompue"
+
+-#: cfghooks.c:184 cfgrtl.c:1840
++#: cfghooks.c:184 cfgrtl.c:1838
+ #, fuzzy, gcc-internal-format
+ msgid "wrong amount of branch edges after unconditional jump %i"
+ msgstr "Mauvais nombre d'arrêtes de branchement après le branchement inconditionnel %i"
+@@ -22219,254 +22200,254 @@
+ msgid "%d exits recorded for loop %d (having %d exits)"
+ msgstr ""
+
+-#: cfgrtl.c:1734
++#: cfgrtl.c:1732
+ #, gcc-internal-format
+ msgid "BB_RTL flag not set for block %d"
+ msgstr ""
+
+-#: cfgrtl.c:1741
++#: cfgrtl.c:1739
+ #, gcc-internal-format
+ msgid "insn %d basic block pointer is %d, should be %d"
+ msgstr ""
+
+-#: cfgrtl.c:1752
++#: cfgrtl.c:1750
+ #, gcc-internal-format
+ msgid "insn %d in header of bb %d has non-NULL basic block"
+ msgstr ""
+
+-#: cfgrtl.c:1760
++#: cfgrtl.c:1758
+ #, gcc-internal-format
+ msgid "insn %d in footer of bb %d has non-NULL basic block"
+ msgstr ""
+
+-#: cfgrtl.c:1782
++#: cfgrtl.c:1780
+ #, gcc-internal-format
+ msgid "verify_flow_info: REG_BR_PROB does not match cfg %wi %i"
+ msgstr "verify_flow_info: REG_BR_PROB ne correspond pas à la config %wi %i"
+
+-#: cfgrtl.c:1797
++#: cfgrtl.c:1795
+ #, gcc-internal-format
+ msgid "fallthru edge crosses section boundary (bb %i)"
+ msgstr ""
+
+-#: cfgrtl.c:1822
++#: cfgrtl.c:1820
+ #, fuzzy, gcc-internal-format
+ msgid "missing REG_EH_REGION note in the end of bb %i"
+ msgstr "REG_EH_REGION note manquante à la fin du bb %i"
+
+-#: cfgrtl.c:1830
++#: cfgrtl.c:1828
+ #, fuzzy, gcc-internal-format
+ msgid "too many outgoing branch edges from bb %i"
+ msgstr "Trop d'arrêtes de branchement sortantes dans le bb %i"
+
+-#: cfgrtl.c:1835
++#: cfgrtl.c:1833
+ #, fuzzy, gcc-internal-format
+ msgid "fallthru edge after unconditional jump %i"
+ msgstr "Arrête fallthru après le branchement inconditionnel %i"
+
+-#: cfgrtl.c:1846
++#: cfgrtl.c:1844
+ #, fuzzy, gcc-internal-format
+ msgid "wrong amount of branch edges after conditional jump %i"
+ msgstr "Mauvais nombre d'arrêtes de branchement après le branchement conditionnel %i"
+
+-#: cfgrtl.c:1852
++#: cfgrtl.c:1850
+ #, fuzzy, gcc-internal-format
+ msgid "call edges for non-call insn in bb %i"
+ msgstr "Arrêtes d'appel pour un insn n'étant pas d'appel dans le bb %i"
+
+-#: cfgrtl.c:1861
++#: cfgrtl.c:1859
+ #, fuzzy, gcc-internal-format
+ msgid "abnormal edges for no purpose in bb %i"
+ msgstr "Arrête anormale sans but dans le bb %i"
+
+-#: cfgrtl.c:1873
++#: cfgrtl.c:1871
+ #, gcc-internal-format
+ msgid "insn %d inside basic block %d but block_for_insn is NULL"
+ msgstr "insn %d à l'intérieur du bloc de base %d mais block_for_insn est NULL"
+
+-#: cfgrtl.c:1877
++#: cfgrtl.c:1875
+ #, gcc-internal-format
+ msgid "insn %d inside basic block %d but block_for_insn is %i"
+ msgstr "insn %d à l'intérieur du bloc de base %d mais block_for_insn est %i"
+
+-#: cfgrtl.c:1891 cfgrtl.c:1901
++#: cfgrtl.c:1889 cfgrtl.c:1899
+ #, gcc-internal-format
+ msgid "NOTE_INSN_BASIC_BLOCK is missing for block %d"
+ msgstr "NOTE_INSN_BASIC_BLOCK manquant pour le bloc %d"
+
+-#: cfgrtl.c:1914
++#: cfgrtl.c:1912
+ #, gcc-internal-format
+ msgid "NOTE_INSN_BASIC_BLOCK %d in middle of basic block %d"
+ msgstr "NOTE_INSN_BASIC_BLOCK %d au milieu du bloc de base %d"
+
+-#: cfgrtl.c:1924
++#: cfgrtl.c:1922
+ #, gcc-internal-format
+ msgid "in basic block %d:"
+ msgstr "dans le bloc de base %d :"
+
+-#: cfgrtl.c:1977 cfgrtl.c:2067
++#: cfgrtl.c:1975 cfgrtl.c:2065
+ #, fuzzy, gcc-internal-format
+ msgid "insn %d outside of basic blocks has non-NULL bb field"
+ msgstr "insn à l'extérieur de tout bloc de base"
+
+-#: cfgrtl.c:1985
++#: cfgrtl.c:1983
+ #, gcc-internal-format
+ msgid "end insn %d for block %d not found in the insn stream"
+ msgstr "fin insn %d du bloc %d n'a pas été repéré dans le flot insn"
+
+-#: cfgrtl.c:1998
++#: cfgrtl.c:1996
+ #, gcc-internal-format
+ msgid "insn %d is in multiple basic blocks (%d and %d)"
+ msgstr "insn %d est dans de multiples blocs de base (%d et %d)"
+
+-#: cfgrtl.c:2010
++#: cfgrtl.c:2008
+ #, gcc-internal-format
+ msgid "head insn %d for block %d not found in the insn stream"
+ msgstr "en-tête insn %d du bloc %d n'a pas été repérée dans le flot insn"
+
+-#: cfgrtl.c:2030
++#: cfgrtl.c:2028
+ #, gcc-internal-format
+ msgid "missing barrier after block %i"
+ msgstr "barrière manquante après le boc %i"
+
+-#: cfgrtl.c:2043
++#: cfgrtl.c:2041
+ #, gcc-internal-format
+ msgid "verify_flow_info: Incorrect blocks for fallthru %i->%i"
+ msgstr "verify_flow_info: blocs incorrects pour le fallthru %i->%i"
+
+-#: cfgrtl.c:2052
++#: cfgrtl.c:2050
+ #, gcc-internal-format
+ msgid "verify_flow_info: Incorrect fallthru %i->%i"
+ msgstr "verify_flow_info: fallthru incorrect %i->%i"
+
+-#: cfgrtl.c:2085
++#: cfgrtl.c:2083
+ #, gcc-internal-format
+ msgid "basic blocks not laid down consecutively"
+ msgstr "les blocs de base ne se suivent pas consécutivement"
+
+ # FIXME
+ # bb est une abréviation courante dans cette partie du fichier pour « basic block »
+-#: cfgrtl.c:2124
++#: cfgrtl.c:2122
+ #, gcc-internal-format
+ msgid "number of bb notes in insn chain (%d) != n_basic_blocks (%d)"
+ msgstr "nombre de bb noté dans la chaîne d'insn (%d) != n_basic_blocks (%d)"
+
+-#: cgraph.c:794
++#: cgraph.c:840
+ #, gcc-internal-format
+ msgid "%D renamed after being referenced in assembly"
+ msgstr "« %D » renommé après avoir été référencé durant l'assemblage"
+
+-#: cgraphunit.c:670
++#: cgraphunit.c:675
+ #, fuzzy, gcc-internal-format
+ msgid "aux field set for edge %s->%s"
+ msgstr "pas de champ (encore) pour l'étiquette %s"
+
+-#: cgraphunit.c:676
++#: cgraphunit.c:681
+ #, fuzzy, gcc-internal-format
+ msgid "Execution count is negative"
+ msgstr "le compteur de décalage vers la gauche est négatif"
+
+-#: cgraphunit.c:683
++#: cgraphunit.c:688
+ #, fuzzy, gcc-internal-format
+ msgid "caller edge count is negative"
+ msgstr "le compteur de décalage vers la gauche est négatif"
+
+-#: cgraphunit.c:688
++#: cgraphunit.c:693
+ #, gcc-internal-format
+ msgid "caller edge frequency is negative"
+ msgstr ""
+
+-#: cgraphunit.c:693
++#: cgraphunit.c:698
+ #, gcc-internal-format
+ msgid "caller edge frequency is too large"
+ msgstr ""
+
+-#: cgraphunit.c:702
++#: cgraphunit.c:707
+ #, fuzzy, gcc-internal-format
+ msgid "inlined_to pointer is wrong"
+ msgstr "pointeur de section manquant"
+
+-#: cgraphunit.c:707
++#: cgraphunit.c:712
+ #, fuzzy, gcc-internal-format
+ msgid "multiple inline callers"
+ msgstr "spécificateurs « virtual » multiples"
+
+-#: cgraphunit.c:714
++#: cgraphunit.c:719
+ #, gcc-internal-format
+ msgid "inlined_to pointer set for noninline callers"
+ msgstr ""
+
+-#: cgraphunit.c:720
++#: cgraphunit.c:725
+ #, gcc-internal-format
+ msgid "inlined_to pointer is set but no predecessors found"
+ msgstr ""
+
+-#: cgraphunit.c:725
++#: cgraphunit.c:730
+ #, fuzzy, gcc-internal-format
+ msgid "inlined_to pointer refers to itself"
+ msgstr "pointeur invalide pour un champ de bits « %D »"
+
+-#: cgraphunit.c:735
++#: cgraphunit.c:740
+ #, fuzzy, gcc-internal-format
+ msgid "node not found in cgraph_hash"
+ msgstr "méthode « %s » n'a pas été repéré dans la classe"
+
+-#: cgraphunit.c:763
++#: cgraphunit.c:768
+ #, gcc-internal-format
+ msgid "shared call_stmt:"
+ msgstr ""
+
+-#: cgraphunit.c:770
++#: cgraphunit.c:775
+ #, fuzzy, gcc-internal-format
+ msgid "edge points to wrong declaration:"
+ msgstr "« %s » utilisé avant sa déclaration"
+
+-#: cgraphunit.c:779
++#: cgraphunit.c:784
+ #, gcc-internal-format
+ msgid "missing callgraph edge for call stmt:"
+ msgstr ""
+
+-#: cgraphunit.c:795
++#: cgraphunit.c:800
+ #, gcc-internal-format
+ msgid "edge %s->%s has no corresponding call_stmt"
+ msgstr ""
+
+-#: cgraphunit.c:807
++#: cgraphunit.c:812
+ #, fuzzy, gcc-internal-format
+ msgid "verify_cgraph_node failed"
+ msgstr "verify_flow_info a échoué"
+
+-#: cgraphunit.c:909 cgraphunit.c:932
++#: cgraphunit.c:915 cgraphunit.c:938
+ #, gcc-internal-format
+ msgid "%J%<externally_visible%> attribute have effect only on public objects"
+ msgstr ""
+
+-#: cgraphunit.c:1122
++#: cgraphunit.c:1128
+ #, fuzzy, gcc-internal-format
+ msgid "failed to reclaim unneeded function"
+ msgstr "champ « %s » déclaré comme une fonction"
+
+-#: cgraphunit.c:1454
++#: cgraphunit.c:1460
+ #, gcc-internal-format
+ msgid "nodes with no released memory found"
+ msgstr ""
+
+-#: collect2.c:1189
++#: collect2.c:1203
+ #, fuzzy, gcc-internal-format
+ msgid "unknown demangling style '%s'"
+ msgstr "mode machine « %s » inconnu"
+
+-#: collect2.c:1512
++#: collect2.c:1526
+ #, gcc-internal-format
+ msgid "%s terminated with signal %d [%s]%s"
+ msgstr "%s terminé par le signal %d [%s]%s"
+
+-#: collect2.c:1530
++#: collect2.c:1544
+ #, gcc-internal-format
+ msgid "%s returned %d exit status"
+ msgstr "%s a retourné %d comme valeur de sortie"
+
+-#: collect2.c:2242
++#: collect2.c:2256
+ #, fuzzy, gcc-internal-format
+ msgid "cannot find 'ldd'"
+ msgstr "« ldd » introuvable"
+@@ -22623,27 +22604,27 @@
+ msgid "dominator of %d should be %d, not %d"
+ msgstr "le dominateur de %d devrait être %d, et non %d"
+
+-#: dwarf2out.c:3634
++#: dwarf2out.c:3686
+ #, fuzzy, gcc-internal-format
+ msgid "DW_LOC_OP %s not implemented"
+ msgstr "DW_LOC_OP %s n'est pas implanté\n"
+
+-#: emit-rtl.c:2326
++#: emit-rtl.c:2262
+ #, fuzzy, gcc-internal-format
+ msgid "invalid rtl sharing found in the insn"
+ msgstr "partage rtl invalide repéré dans l'insn"
+
+-#: emit-rtl.c:2328
++#: emit-rtl.c:2264
+ #, fuzzy, gcc-internal-format
+ msgid "shared rtx"
+ msgstr "rtx partagé"
+
+-#: emit-rtl.c:2330
++#: emit-rtl.c:2266
+ #, fuzzy, gcc-internal-format
+ msgid "internal consistency failure"
+ msgstr "abandon interne de gcc"
+
+-#: emit-rtl.c:3417
++#: emit-rtl.c:3365
+ #, gcc-internal-format
+ msgid "ICE: emit_insn used where emit_jump_insn needed:\n"
+ msgstr "ICE : emit_insn utilisé là où emit_jump_insn était attendu :\n"
+@@ -22704,17 +22685,17 @@
+ msgstr "verify_flow_info a échoué"
+
+ # FIXME
+-#: explow.c:1281
++#: explow.c:1258
+ #, gcc-internal-format
+ msgid "stack limits not supported on this target"
+ msgstr "les limites de la pile ne sont pas supportées sur cette cible"
+
+-#: expr.c:8031
++#: expr.c:8030
+ #, fuzzy
+ msgid "%Kcall to %qs declared with attribute error: %s"
+ msgstr "%Jfonction « %D » redéclarée avec l'attribut non enligne"
+
+-#: expr.c:8037
++#: expr.c:8036
+ #, fuzzy
+ msgid "%Kcall to %qs declared with attribute warning: %s"
+ msgstr "%Jfonction « %D » redéclarée avec l'attribut non enligne"
+@@ -22729,7 +22710,7 @@
+ msgid "large fixed-point constant implicitly truncated to fixed-point type"
+ msgstr "grand entier implicitement tronqué pour un type non signé"
+
+-#: fold-const.c:992 tree-ssa-loop-niter.c:1827 tree-vrp.c:5060
++#: fold-const.c:992 tree-ssa-loop-niter.c:1827 tree-vrp.c:5076
+ #, fuzzy, gcc-internal-format
+ msgid "%H%s"
+ msgstr "%s"
+@@ -22739,77 +22720,77 @@
+ msgid "assuming signed overflow does not occur when negating a division"
+ msgstr ""
+
+-#: fold-const.c:3989 fold-const.c:4000
++#: fold-const.c:4003 fold-const.c:4014
+ #, gcc-internal-format
+ msgid "comparison is always %d due to width of bit-field"
+ msgstr "comparaison est toujours %d en raison de la largeur du champ de bits"
+
+-#: fold-const.c:5317
++#: fold-const.c:5331
+ #, gcc-internal-format
+ msgid "assuming signed overflow does not occur when simplifying range test"
+ msgstr ""
+
+-#: fold-const.c:5691 fold-const.c:5706
++#: fold-const.c:5705 fold-const.c:5720
+ #, gcc-internal-format
+ msgid "comparison is always %d"
+ msgstr "comparaison est toujours %d"
+
+-#: fold-const.c:5835
++#: fold-const.c:5849
+ #, fuzzy, gcc-internal-format
+ msgid "%<or%> of unmatched not-equal tests is always 1"
+ msgstr "« or » de tests non pairé de non égalité est troujours 1"
+
+-#: fold-const.c:5840
++#: fold-const.c:5854
+ #, fuzzy, gcc-internal-format
+ msgid "%<and%> of mutually exclusive equal-tests is always 0"
+ msgstr "« and » de tests d'égalité mutuellement exclusifs est toujours 0"
+
+-#: fold-const.c:8617
++#: fold-const.c:8641
+ #, gcc-internal-format
+ msgid "assuming signed overflow does not occur when reducing constant in comparison"
+ msgstr ""
+
+-#: fold-const.c:8871
++#: fold-const.c:8895
+ #, gcc-internal-format
+ msgid "assuming signed overflow does not occur when combining constants around a comparison"
+ msgstr ""
+
+-#: fold-const.c:13236
++#: fold-const.c:13433
+ #, gcc-internal-format
+ msgid "fold check: original tree changed by fold"
+ msgstr "vérification fold: arbre originale modifié par fold"
+
+-#: function.c:377
++#: function.c:380
+ #, fuzzy, gcc-internal-format
+ msgid "%Jtotal size of local objects too large"
+ msgstr "%Jtaille de la variable « %D » est trop grande"
+
+-#: function.c:837 varasm.c:2095
++#: function.c:840 varasm.c:2095
+ #, fuzzy, gcc-internal-format
+ msgid "size of variable %q+D is too large"
+ msgstr "%Jtaille de la variable « %D » est trop grande"
+
+-#: function.c:1554 gimplify.c:4250
++#: function.c:1571 gimplify.c:4405
+ #, fuzzy, gcc-internal-format
+ msgid "impossible constraint in %<asm%>"
+ msgstr "contrainte impossible dans « asm »"
+
+-#: function.c:3538
++#: function.c:3557
+ #, fuzzy, gcc-internal-format
+ msgid "variable %q+D might be clobbered by %<longjmp%> or %<vfork%>"
+ msgstr "%Jvariable « %D » pourrait être maltraitée par un «longjmp» ou un «vfork »"
+
+-#: function.c:3559
++#: function.c:3578
+ #, fuzzy, gcc-internal-format
+ msgid "argument %q+D might be clobbered by %<longjmp%> or %<vfork%>"
+ msgstr "%Jargument « %D » pourrait être maltraitée par un «longjmp» ou un «vfork »"
+
+-#: function.c:4004
++#: function.c:4027
+ #, gcc-internal-format
+ msgid "function returns an aggregate"
+ msgstr "fonction retourne un aggrégat"
+
+-#: function.c:4401
++#: function.c:4424
+ #, fuzzy, gcc-internal-format
+ msgid "unused parameter %q+D"
+ msgstr "%Jparamètre « %D » inutilisé"
+@@ -22834,12 +22815,12 @@
+ msgid "extraneous argument to '%s' option"
+ msgstr "argument superflu à l'option « %s »"
+
+-#: gcc.c:3987
++#: gcc.c:3981
+ #, gcc-internal-format
+ msgid "warning: -pipe ignored because -save-temps specified"
+ msgstr "AVERTISSEMENT: -pipe ignoré parce que -save-temps a été spécifié"
+
+-#: gcc.c:4276
++#: gcc.c:4270
+ #, fuzzy, gcc-internal-format
+ msgid "warning: '-x %s' after last input file has no effect"
+ msgstr "AVERTISSEMENT: « -x %s » après le dernier fichier d'entrée n'a pas d'effet"
+@@ -22847,62 +22828,62 @@
+ #. Catch the case where a spec string contains something like
+ #. '%{foo:%*}'. i.e. there is no * in the pattern on the left
+ #. hand side of the :.
+-#: gcc.c:5314
++#: gcc.c:5308
+ #, gcc-internal-format
+ msgid "spec failure: '%%*' has not been initialized by pattern match"
+ msgstr "échec du spec: « %%* » n'a pas été initialisé par concordance du patron"
+
+-#: gcc.c:5323
++#: gcc.c:5317
+ #, gcc-internal-format
+ msgid "warning: use of obsolete %%[ operator in specs"
+ msgstr "AVERTISSEMENT: utilisation obsolète de l'opérateur %%[ dans les specs"
+
+-#: gcc.c:5404
++#: gcc.c:5398
+ #, gcc-internal-format
+ msgid "spec failure: unrecognized spec option '%c'"
+ msgstr "échec de spec: option « %c » de spec non reconnue"
+
+-#: gcc.c:6305
++#: gcc.c:6304
+ #, fuzzy, gcc-internal-format
+ msgid "spec failure: more than one arg to SYSROOT_SUFFIX_SPEC"
+ msgstr "échec de spécification: plus d'un argument à SYSROOT_SUFFIX_SPEC."
+
+-#: gcc.c:6328
++#: gcc.c:6327
+ #, fuzzy, gcc-internal-format
+ msgid "spec failure: more than one arg to SYSROOT_HEADERS_SUFFIX_SPEC"
+ msgstr "échec de spécification: plus d'un argument à SYSROOT_HEADERS_SUFFIX_SPEC."
+
+-#: gcc.c:6415
++#: gcc.c:6414
+ #, fuzzy, gcc-internal-format
+ msgid "unrecognized option '-%s'"
+ msgstr "option « -%s » non reconnue"
+
+-#: gcc.c:6615 gcc.c:6678
++#: gcc.c:6614 gcc.c:6677
+ #, gcc-internal-format
+ msgid "%s: %s compiler not installed on this system"
+ msgstr "%s: %s compilateur n'est pas installé sur ce système"
+
+-#: gcc.c:6778
++#: gcc.c:6777
+ #, gcc-internal-format
+ msgid "%s: linker input file unused because linking not done"
+ msgstr "%s: fichier d'entrée d'édition de liens n'est pas utilisé parce l'édition de lien n'a pas été faite"
+
+-#: gcc.c:6818
++#: gcc.c:6817
+ #, gcc-internal-format
+ msgid "language %s not recognized"
+ msgstr "language %s n'est pas reconnu"
+
+-#: gcc.c:6889
++#: gcc.c:6888
+ #, gcc-internal-format
+ msgid "%s: %s"
+ msgstr "%s : %s"
+
+-#: gcse.c:6660
++#: gcse.c:6644
+ #, gcc-internal-format
+ msgid "%s: %d basic blocks and %d edges/basic block"
+ msgstr "%s: %d blocs de base et %d blocs edges/basic"
+
+-#: gcse.c:6673
++#: gcse.c:6657
+ #, gcc-internal-format
+ msgid "%s: %d basic blocks and %d registers"
+ msgstr "%s: %d blocs basic et %d registres"
+@@ -22955,52 +22936,52 @@
+ msgid "can't write PCH fle: %m"
+ msgstr "ne peut écrire le fichier PCH: %m"
+
+-#: gimplify.c:4139
++#: gimplify.c:4294
+ #, fuzzy, gcc-internal-format
+ msgid "invalid lvalue in asm output %d"
+ msgstr "membre gauche invalide avec asm"
+
+-#: gimplify.c:4251
++#: gimplify.c:4406
+ #, gcc-internal-format
+ msgid "non-memory input %d must stay in memory"
+ msgstr ""
+
+-#: gimplify.c:4264
++#: gimplify.c:4419
+ #, fuzzy, gcc-internal-format
+ msgid "memory input %d is not directly addressable"
+ msgstr "nombre de sortie %d n,est pas directement adressable"
+
+-#: gimplify.c:4743
++#: gimplify.c:4898
+ #, gcc-internal-format
+ msgid "%qs not specified in enclosing parallel"
+ msgstr ""
+
+-#: gimplify.c:4745
++#: gimplify.c:4900
+ #, gcc-internal-format
+ msgid "%Henclosing parallel"
+ msgstr ""
+
+-#: gimplify.c:4799
++#: gimplify.c:4954
+ #, fuzzy, gcc-internal-format
+ msgid "iteration variable %qs should be private"
+ msgstr "instance de la variable « %s » est déclaré privée"
+
+-#: gimplify.c:4813
++#: gimplify.c:4968
+ #, fuzzy, gcc-internal-format
+ msgid "iteration variable %qs should not be firstprivate"
+ msgstr "instance de la variable « %s » est déclaré privée"
+
+-#: gimplify.c:4816
++#: gimplify.c:4971
+ #, fuzzy, gcc-internal-format
+ msgid "iteration variable %qs should not be reduction"
+ msgstr "variable de registre « %s » utilisée dans une fonction imbriquée"
+
+-#: gimplify.c:4940
++#: gimplify.c:5095
+ #, fuzzy, gcc-internal-format
+ msgid "%s variable %qs is private in outer context"
+ msgstr "variable locale « %D » ne peut apparaître dans ce contexte"
+
+-#: gimplify.c:6108
++#: gimplify.c:6281
+ #, gcc-internal-format
+ msgid "gimplification failed"
+ msgstr ""
+@@ -23010,7 +22991,7 @@
+ msgid "%s cannot be used in asm here"
+ msgstr "%s ne peut être utilisé dans asm ici"
+
+-#: graph.c:401 java/jcf-parse.c:1757 java/jcf-parse.c:1897 objc/objc-act.c:500
++#: graph.c:401 java/jcf-parse.c:1759 java/jcf-parse.c:1899 objc/objc-act.c:500
+ #, gcc-internal-format
+ msgid "can't open %s: %m"
+ msgstr "ne peut ouvrir %s: %m"
+@@ -23020,158 +23001,163 @@
+ msgid "fix_sched_param: unknown param: %s"
+ msgstr "fix_sched_param: paramètre inconnu: %s"
+
+-#: omp-low.c:1288
++#: omp-low.c:1289
+ #, gcc-internal-format
+ msgid "work-sharing region may not be closely nested inside of work-sharing, critical, ordered or master region"
+ msgstr ""
+
+-#: omp-low.c:1304
++#: omp-low.c:1305
+ #, gcc-internal-format
+ msgid "master region may not be closely nested inside of work-sharing region"
+ msgstr ""
+
+-#: omp-low.c:1318
++#: omp-low.c:1319
+ #, gcc-internal-format
+ msgid "ordered region may not be closely nested inside of critical region"
+ msgstr ""
+
+-#: omp-low.c:1324
++#: omp-low.c:1325
+ #, gcc-internal-format
+ msgid "ordered region must be closely nested inside a loop region with an ordered clause"
+ msgstr ""
+
+-#: omp-low.c:1338
++#: omp-low.c:1339
+ #, gcc-internal-format
+ msgid "critical region may not be nested inside a critical region with the same name"
+ msgstr ""
+
+-#: omp-low.c:5050 cp/decl.c:2660 cp/parser.c:7417 cp/parser.c:7437
++#: omp-low.c:5116 cp/decl.c:2667 cp/parser.c:7423 cp/parser.c:7443
+ #, gcc-internal-format
+ msgid "invalid exit from OpenMP structured block"
+ msgstr ""
+
+-#: omp-low.c:5052
++#: omp-low.c:5118
+ #, gcc-internal-format
+ msgid "invalid entry to OpenMP structured block"
+ msgstr ""
+
+-#: opts.c:173
++#: opts.c:165
+ #, gcc-internal-format
+ msgid "argument %qs to %<-femit-struct-debug-detailed%> not recognized"
+ msgstr ""
+
+-#: opts.c:207
++#: opts.c:199
+ #, gcc-internal-format
+ msgid "argument %qs to %<-femit-struct-debug-detailed%> unknown"
+ msgstr ""
+
+-#: opts.c:213
++#: opts.c:205
+ #, gcc-internal-format
+ msgid "%<-femit-struct-debug-detailed=dir:...%> must allow at least as much as %<-femit-struct-debug-detailed=ind:...%>"
+ msgstr ""
+
+ #. Eventually this should become a hard error IMO.
+-#: opts.c:438
++#: opts.c:430
+ #, gcc-internal-format
+ msgid "command line option \"%s\" is valid for %s but not for %s"
+ msgstr "l'option de la ligne de commande \"%s\" est valide pour %s mais pas pour %s"
+
+-#: opts.c:492
++#: opts.c:484
+ #, fuzzy, gcc-internal-format
+ msgid "command line option %qs is not supported by this configuration"
+ msgstr "%s n'est pas supporté par cette configuration"
+
+-#: opts.c:545
++#: opts.c:537
+ #, gcc-internal-format
+ msgid "missing argument to \"%s\""
+ msgstr "argument manquant à \"%s\""
+
+-#: opts.c:555
++#: opts.c:547
+ #, gcc-internal-format
+ msgid "argument to \"%s\" should be a non-negative integer"
+ msgstr "argument de \"%s\" doit être un entier non négatif"
+
+-#: opts.c:728
++#: opts.c:720
+ #, gcc-internal-format
+ msgid "unrecognized command line option \"%s\""
+ msgstr "option \"%s\" de la ligne de commande non reconnue"
+
+-#: opts.c:947
++#: opts.c:939
+ #, gcc-internal-format
+ msgid "-Wuninitialized is not supported without -O"
+ msgstr "-Wuninitialized n'est pas supporté sans -O"
+
+-#: opts.c:962
++#: opts.c:951
+ #, gcc-internal-format
++msgid "-funit-at-a-time is required for inlining of functions that are only called once"
++msgstr ""
++
++#: opts.c:964
++#, gcc-internal-format
+ msgid "-freorder-blocks-and-partition does not work with exceptions"
+ msgstr ""
+
+-#: opts.c:973
++#: opts.c:975
+ #, gcc-internal-format
+ msgid "-freorder-blocks-and-partition does not support unwind info"
+ msgstr ""
+
+-#: opts.c:987
++#: opts.c:989
+ #, gcc-internal-format
+ msgid "-freorder-blocks-and-partition does not work on this architecture"
+ msgstr ""
+
+-#: opts.c:1263
++#: opts.c:1265
+ #, gcc-internal-format
+ msgid "unrecognized include_flags 0x%x passed to print_specific_help"
+ msgstr ""
+
+-#: opts.c:1593
++#: opts.c:1595
+ #, fuzzy, gcc-internal-format
+ msgid "structure alignment must be a small power of two, not %d"
+ msgstr "l'alignement doit être une petite puissance de 2, pas %d"
+
+-#: opts.c:1656
++#: opts.c:1658
+ #, fuzzy, gcc-internal-format
+ msgid "unrecognized visibility value \"%s\""
+ msgstr "nom de registre non reconnue \"%s\""
+
+-#: opts.c:1704
++#: opts.c:1706
+ #, gcc-internal-format
+ msgid "unrecognized register name \"%s\""
+ msgstr "nom de registre non reconnue \"%s\""
+
+-#: opts.c:1728
++#: opts.c:1730
+ #, gcc-internal-format
+ msgid "unknown tls-model \"%s\""
+ msgstr "tls-model \"%s\" inconnu"
+
+-#: opts.c:1803
++#: opts.c:1807
+ #, gcc-internal-format
+ msgid "%s: --param arguments should be of the form NAME=VALUE"
+ msgstr "%s: arguments de --param devrait être de la forme NOM=VALEUR"
+
+-#: opts.c:1808
++#: opts.c:1812
+ #, fuzzy, gcc-internal-format
+ msgid "invalid --param value %qs"
+ msgstr "valeur de --param invalide « %s »"
+
+-#: opts.c:1931
++#: opts.c:1934
+ #, gcc-internal-format
+ msgid "target system does not support debug output"
+ msgstr "le ssytème cible ne supporte pas la sortie pour mise au point"
+
+-#: opts.c:1938
++#: opts.c:1941
+ #, gcc-internal-format
+ msgid "debug format \"%s\" conflicts with prior selection"
+ msgstr "le format de mise au point \"%s\" entre en conflit avec une sélection précédente"
+
+-#: opts.c:1954
++#: opts.c:1957
+ #, gcc-internal-format
+ msgid "unrecognised debug output level \"%s\""
+ msgstr "niveau de sortie de mise au point non reconnu \"%s\""
+
+-#: opts.c:1956
++#: opts.c:1959
+ #, gcc-internal-format
+ msgid "debug output level %s is too high"
+ msgstr "niveau de sortie de mise au point %s est trop élevé"
+
+-#: opts.c:2038
++#: opts.c:2041
+ #, gcc-internal-format
+ msgid "-Werror=%s: No option -%s"
+ msgstr ""
+@@ -23247,9 +23233,9 @@
+ msgid "can't use '%s' as a %s register"
+ msgstr "ne peut utiliser « %s » comme le registre %s"
+
+-#: regclass.c:890 config/ia64/ia64.c:5138 config/ia64/ia64.c:5145
+-#: config/pa/pa.c:359 config/pa/pa.c:366 config/spu/spu.c:3886
+-#: config/spu/spu.c:3893
++#: regclass.c:890 config/ia64/ia64.c:5139 config/ia64/ia64.c:5146
++#: config/pa/pa.c:362 config/pa/pa.c:369 config/spu/spu.c:3875
++#: config/spu/spu.c:3882
+ #, gcc-internal-format
+ msgid "unknown register name: %s"
+ msgstr "nom de registre inconnu: %s"
+@@ -23289,22 +23275,22 @@
+ msgid "validate_value_data: [%u] Non-empty reg in chain (%s %u %i)"
+ msgstr "validate_value_data: [%u] registre non vide dans la chaîne (%s %u %i)"
+
+-#: reload.c:1252
++#: reload.c:1256
+ #, fuzzy, gcc-internal-format
+ msgid "cannot reload integer constant operand in %<asm%>"
+ msgstr "ne peut recharger l'opérande de constante entière dans « asm »"
+
+-#: reload.c:1266
++#: reload.c:1270
+ #, fuzzy, gcc-internal-format
+ msgid "impossible register constraint in %<asm%>"
+ msgstr "impossible de contraindre les registres en « asm »"
+
+-#: reload.c:3564
++#: reload.c:3574
+ #, fuzzy, gcc-internal-format
+ msgid "%<&%> constraint used with no register class"
+ msgstr "contrainte « & » utilisé sans classe registre"
+
+-#: reload.c:3735 reload.c:3975
++#: reload.c:3745 reload.c:3991
+ #, fuzzy, gcc-internal-format
+ msgid "inconsistent operand constraints in an %<asm%>"
+ msgstr "contrainte d'opérande inconsistente en « asm »"
+@@ -23529,49 +23515,49 @@
+ msgid "size of %q+D is larger than %wd bytes"
+ msgstr "%Jtaille de « %D » est plus grande que %d octets"
+
+-#: stor-layout.c:899
++#: stor-layout.c:888
+ #, fuzzy, gcc-internal-format
+ msgid "packed attribute causes inefficient alignment for %q+D"
+ msgstr "%Jattribut empaqueté provoque un alignement inefficient pour « %D »"
+
+-#: stor-layout.c:902
++#: stor-layout.c:891
+ #, fuzzy, gcc-internal-format
+ msgid "packed attribute is unnecessary for %q+D"
+ msgstr "%Jattribut empaqueté n'est pas nécessaire pour « %D »"
+
+ #. No, we need to skip space before this field.
+ #. Bump the cumulative size to multiple of field alignment.
+-#: stor-layout.c:919
++#: stor-layout.c:908
+ #, fuzzy, gcc-internal-format
+ msgid "padding struct to align %q+D"
+ msgstr "%Jremplissage du struct pour aligner « %D »"
+
+-#: stor-layout.c:1270
++#: stor-layout.c:1259
+ #, gcc-internal-format
+ msgid "padding struct size to alignment boundary"
+ msgstr "remplissage la taille du struct pour aligner les frontières"
+
+-#: stor-layout.c:1300
++#: stor-layout.c:1289
+ #, fuzzy, gcc-internal-format
+ msgid "packed attribute causes inefficient alignment for %qs"
+ msgstr "attribut empaqueté provoque un alignement inefficient pour « %s »"
+
+-#: stor-layout.c:1304
++#: stor-layout.c:1293
+ #, fuzzy, gcc-internal-format
+ msgid "packed attribute is unnecessary for %qs"
+ msgstr "attribut empaqueté n'est pas nécessaire pour « %s »"
+
+-#: stor-layout.c:1310
++#: stor-layout.c:1299
+ #, gcc-internal-format
+ msgid "packed attribute causes inefficient alignment"
+ msgstr "attribut empaqueté provoque un alignement inefficient"
+
+-#: stor-layout.c:1312
++#: stor-layout.c:1301
+ #, gcc-internal-format
+ msgid "packed attribute is unnecessary"
+ msgstr "attribut empaqueté n'est pas nécessaire"
+
+-#: stor-layout.c:1842
++#: stor-layout.c:1831
+ #, fuzzy, gcc-internal-format
+ msgid "alignment of array elements is greater than element size"
+ msgstr "%Jalignement de « %D » est plus grand que l'alignement maximal du fichier objet. %d est utilisé."
+@@ -23656,644 +23642,654 @@
+ msgid "unrecognized gcc debugging option: %c"
+ msgstr "option gcc de mise au point non reconnue: %c"
+
+-#: toplev.c:1411
++#: toplev.c:1413
+ #, fuzzy, gcc-internal-format
+ msgid "can%'t open %s for writing: %m"
+ msgstr "ne peut ouvrir %s en écriture: %m"
+
+-#: toplev.c:1432
++#: toplev.c:1434
+ #, fuzzy, gcc-internal-format
+ msgid "-frecord-gcc-switches is not supported by the current target"
+ msgstr "-fdata-sections n'est pas supporté pour cette machine cible"
+
+-#: toplev.c:1745
++#: toplev.c:1747
+ #, fuzzy, gcc-internal-format
+ msgid "this target does not support %qs"
+ msgstr "cette cible ne supporte pas l'option -mabi"
+
+-#: toplev.c:1794
++#: toplev.c:1796
+ #, gcc-internal-format
+ msgid "instruction scheduling not supported on this target machine"
+ msgstr "instruction d'ordonnancement n'est pas supportée sur cette machine cible"
+
+-#: toplev.c:1798
++#: toplev.c:1800
+ #, gcc-internal-format
+ msgid "this target machine does not have delayed branches"
+ msgstr "cette machine cible n'a pas de branchments avec délais"
+
+-#: toplev.c:1812
++#: toplev.c:1814
+ #, gcc-internal-format
+ msgid "-f%sleading-underscore not supported on this target machine"
+ msgstr "-f%sleading-underscore n'est pas supporté sur cette machine cible"
+
+-#: toplev.c:1885
++#: toplev.c:1887
+ #, gcc-internal-format
+ msgid "target system does not support the \"%s\" debug format"
+ msgstr "système cible ne supporte par le format \"%s\" de mise au point"
+
+-#: toplev.c:1898
++#: toplev.c:1900
+ #, gcc-internal-format
+ msgid "variable tracking requested, but useless unless producing debug info"
+ msgstr ""
+
+-#: toplev.c:1901
++#: toplev.c:1903
+ #, fuzzy, gcc-internal-format
+ msgid "variable tracking requested, but not supported by this debug format"
+ msgstr "système cible ne supporte par le format \"%s\" de mise au point"
+
+-#: toplev.c:1935
++#: toplev.c:1937
+ #, fuzzy, gcc-internal-format
+ msgid "can%'t open %s: %m"
+ msgstr "ne peut ouvrir %s: %m"
+
+-#: toplev.c:1942
++#: toplev.c:1944
+ #, gcc-internal-format
+ msgid "-ffunction-sections not supported for this target"
+ msgstr "-ffunction-sections n'est pas supporté pour cette cible"
+
+-#: toplev.c:1947
++#: toplev.c:1949
+ #, gcc-internal-format
+ msgid "-fdata-sections not supported for this target"
+ msgstr "-fdata-sections n'est pas supporté pour cette machine cible"
+
+-#: toplev.c:1954
++#: toplev.c:1956
+ #, gcc-internal-format
+ msgid "-ffunction-sections disabled; it makes profiling impossible"
+ msgstr "-ffunction-sections désactivé; cela rend le profilage impossible"
+
+-#: toplev.c:1961
++#: toplev.c:1963
+ #, gcc-internal-format
+ msgid "-fprefetch-loop-arrays not supported for this target"
+ msgstr "-fprefetch-loop-arrays n'est pas supporté pour cette machine cible"
+
+-#: toplev.c:1967
++#: toplev.c:1969
+ #, gcc-internal-format
+ msgid "-fprefetch-loop-arrays not supported for this target (try -march switches)"
+ msgstr "-fprefetch-loop-arrays n'est pas supporté sur cette machine cible (essayer -march options)"
+
+-#: toplev.c:1976
++#: toplev.c:1978
+ #, gcc-internal-format
+ msgid "-fprefetch-loop-arrays is not supported with -Os"
+ msgstr "-fprefetch-loop-arrays n'est pas supporté avec -Os"
+
+-#: toplev.c:1983
++#: toplev.c:1985
+ #, gcc-internal-format
+ msgid "-ffunction-sections may affect debugging on some targets"
+ msgstr "-ffunction-sections peut affecter la mise au point sur quelques machines cibles."
+
+-#: toplev.c:1999
++#: toplev.c:1996
++#, gcc-internal-format
++msgid "-fassociative-math disabled; other options take precedence"
++msgstr ""
++
++#: toplev.c:2008
+ #, fuzzy, gcc-internal-format
+ msgid "-fstack-protector not supported for this target"
+ msgstr "-fdata-sections n'est pas supporté pour cette machine cible"
+
+-#: toplev.c:2012
++#: toplev.c:2021
+ #, gcc-internal-format
+-msgid "unwind tables currently requires a frame pointer for correctness"
++msgid "unwind tables currently require a frame pointer for correctness"
+ msgstr ""
+
+-#: toplev.c:2198
++#: toplev.c:2207
+ #, gcc-internal-format
+ msgid "error writing to %s: %m"
+ msgstr "erreur d'écriture dans %s: %m"
+
+-#: toplev.c:2200 java/jcf-parse.c:1776
++#: toplev.c:2209 java/jcf-parse.c:1778
+ #, gcc-internal-format
+ msgid "error closing %s: %m"
+ msgstr "erreur de fermeture %s: %m"
+
+ # FIXME: c'est de l'assembleur ?
+-#: tree-cfg.c:1432 tree-cfg.c:2068 tree-cfg.c:2071
++#: tree-cfg.c:1451 tree-cfg.c:2087 tree-cfg.c:2090
+ #, gcc-internal-format
+ msgid "%Hwill never be executed"
+ msgstr "%Hne sera jamais exécuté"
+
+-#: tree-cfg.c:3134
++#: tree-cfg.c:3153
+ #, gcc-internal-format
+ msgid "SSA name in freelist but still referenced"
+ msgstr ""
+
+-#: tree-cfg.c:3143
++#: tree-cfg.c:3162
+ #, gcc-internal-format
+ msgid "ASSERT_EXPR with an always-false condition"
+ msgstr ""
+
+-#: tree-cfg.c:3156
++#: tree-cfg.c:3175
+ #, gcc-internal-format
+ msgid "GIMPLE register modified with BIT_FIELD_REF"
+ msgstr ""
+
+-#: tree-cfg.c:3191
++#: tree-cfg.c:3210
+ #, gcc-internal-format
+ msgid "invariant not recomputed when ADDR_EXPR changed"
+ msgstr ""
+
+-#: tree-cfg.c:3197
++#: tree-cfg.c:3216
+ #, gcc-internal-format
+ msgid "constant not recomputed when ADDR_EXPR changed"
+ msgstr ""
+
+-#: tree-cfg.c:3202
++#: tree-cfg.c:3221
+ #, gcc-internal-format
+ msgid "side effects not recomputed when ADDR_EXPR changed"
+ msgstr ""
+
+-#: tree-cfg.c:3218
++#: tree-cfg.c:3237
+ #, gcc-internal-format
+ msgid "address taken, but ADDRESSABLE bit not set"
+ msgstr ""
+
+-#: tree-cfg.c:3228
++#: tree-cfg.c:3252
+ #, fuzzy, gcc-internal-format
+ msgid "non-integral used in condition"
+ msgstr "longueur de texte non entier"
+
+-#: tree-cfg.c:3233
++#: tree-cfg.c:3257
+ #, fuzzy, gcc-internal-format
+ msgid "invalid conditional operand"
+ msgstr "contrainte invalide pour l'opérande"
+
+-#: tree-cfg.c:3285
++#: tree-cfg.c:3309
+ #, fuzzy, gcc-internal-format
+ msgid "invalid reference prefix"
+ msgstr "Type de référence invalide"
+
+-#: tree-cfg.c:3296
++#: tree-cfg.c:3320
+ #, fuzzy, gcc-internal-format
+ msgid "invalid operand to plus/minus, type is a pointer"
+ msgstr "opérande invalide dans l'instruction"
+
+-#: tree-cfg.c:3307
++#: tree-cfg.c:3331
+ #, fuzzy, gcc-internal-format
+ msgid "invalid operand to pointer plus, first operand is not a pointer"
+ msgstr "l'opérande de base de «->» n'est pas un pointeur"
+
+-#: tree-cfg.c:3315
++#: tree-cfg.c:3339
+ #, gcc-internal-format
+ msgid "invalid operand to pointer plus, second operand is not an integer with type of sizetype."
+ msgstr ""
+
+-#: tree-cfg.c:3382 tree-cfg.c:3798
++#: tree-cfg.c:3406 tree-cfg.c:3822
+ #, fuzzy, gcc-internal-format
+ msgid "invalid operand in unary expression"
+ msgstr "nombre invalide dans l'expression #if"
+
+-#: tree-cfg.c:3392
++#: tree-cfg.c:3416
+ #, fuzzy, gcc-internal-format
+ msgid "type mismatch in unary expression"
+ msgstr "non concordance de type dans une expression conditionnelle"
+
+-#: tree-cfg.c:3413
++#: tree-cfg.c:3437
+ #, fuzzy, gcc-internal-format
+ msgid "invalid operands in binary expression"
+ msgstr "opérandes invalides pour le binaire %s"
+
+-#: tree-cfg.c:3424
++#: tree-cfg.c:3448
+ #, fuzzy, gcc-internal-format
+ msgid "type mismatch in binary expression"
+ msgstr "non concordance de type dans une expression conditionnelle"
+
+-#: tree-cfg.c:3449
++#: tree-cfg.c:3473
+ #, fuzzy, gcc-internal-format
+ msgid "invalid expression for min lvalue"
+ msgstr "expression invalide comme opérande"
+
+-#: tree-cfg.c:3456
++#: tree-cfg.c:3480
+ #, fuzzy, gcc-internal-format
+ msgid "invalid operand in indirect reference"
+ msgstr "opérande invalide dans l'instruction"
+
+-#: tree-cfg.c:3463
++#: tree-cfg.c:3487
+ #, fuzzy, gcc-internal-format
+ msgid "type mismatch in indirect reference"
+ msgstr "non concordance de type dans une expression conditionnelle"
+
+-#: tree-cfg.c:3491
++#: tree-cfg.c:3515
+ #, fuzzy, gcc-internal-format
+ msgid "invalid operands to array reference"
+ msgstr "opérandes invalides pour le binaire %s"
+
+-#: tree-cfg.c:3502
++#: tree-cfg.c:3526
+ #, fuzzy, gcc-internal-format
+ msgid "type mismatch in array reference"
+ msgstr "indice manquant dans la référence du tableau"
+
+-#: tree-cfg.c:3511
++#: tree-cfg.c:3535
+ #, fuzzy, gcc-internal-format
+ msgid "type mismatch in array range reference"
+ msgstr "indice manquant dans la référence du tableau"
+
+-#: tree-cfg.c:3522
++#: tree-cfg.c:3546
+ #, fuzzy, gcc-internal-format
+ msgid "type mismatch in real/imagpart reference"
+ msgstr "non concordance de type dans une expression conditionnelle"
+
+-#: tree-cfg.c:3532
++#: tree-cfg.c:3556
+ #, fuzzy, gcc-internal-format
+ msgid "type mismatch in component reference"
+ msgstr "non concordance de type dans une expression conditionnelle"
+
+-#: tree-cfg.c:3586
++#: tree-cfg.c:3610
+ #, fuzzy, gcc-internal-format
+ msgid "invalid operand in conversion"
+ msgstr "opérande invalide dans l'instruction"
+
+-#: tree-cfg.c:3614
++#: tree-cfg.c:3638
+ #, fuzzy, gcc-internal-format
+ msgid "invalid types in nop conversion"
+ msgstr "Type d'expression invalide"
+
+-#: tree-cfg.c:3628
++#: tree-cfg.c:3652
+ #, fuzzy, gcc-internal-format
+ msgid "invalid operand in int to float conversion"
+ msgstr "opérande invalide dans l'instruction"
+
+-#: tree-cfg.c:3634
++#: tree-cfg.c:3658
+ #, fuzzy, gcc-internal-format
+ msgid "invalid types in conversion to floating point"
+ msgstr "suffixe « %.*s » invalide pour une constante flottante"
+
+-#: tree-cfg.c:3647
++#: tree-cfg.c:3671
+ #, fuzzy, gcc-internal-format
+ msgid "invalid operand in float to int conversion"
+ msgstr "opérande invalide dans l'instruction"
+
+-#: tree-cfg.c:3653
++#: tree-cfg.c:3677
+ #, fuzzy, gcc-internal-format
+ msgid "invalid types in conversion to integer"
+ msgstr "type « void » invalide pour new"
+
+-#: tree-cfg.c:3667
++#: tree-cfg.c:3691
+ #, fuzzy, gcc-internal-format
+ msgid "invalid operands in complex expression"
+ msgstr "nombre invalide dans l'expression #if"
+
+-#: tree-cfg.c:3680
++#: tree-cfg.c:3704
+ #, fuzzy, gcc-internal-format
+ msgid "type mismatch in complex expression"
+ msgstr "non concordance de type dans une expression conditionnelle"
+
+-#: tree-cfg.c:3694
++#: tree-cfg.c:3718
+ #, gcc-internal-format
+ msgid "constructor not allowed for non-vector types"
+ msgstr ""
+
+-#: tree-cfg.c:3711
++#: tree-cfg.c:3735
+ #, fuzzy, gcc-internal-format
+ msgid "invalid operands in shift expression"
+ msgstr "nombre invalide dans l'expression #if"
+
+-#: tree-cfg.c:3717
++#: tree-cfg.c:3741
+ #, fuzzy, gcc-internal-format
+ msgid "type mismatch in shift expression"
+ msgstr "non concordance de type dans une expression conditionnelle"
+
+-#: tree-cfg.c:3735
++#: tree-cfg.c:3759
+ #, fuzzy, gcc-internal-format
+ msgid "invalid (pointer) operands to plus/minus"
+ msgstr "opérandes invalides pour le binaire %s"
+
+-#: tree-cfg.c:3748
++#: tree-cfg.c:3772
+ #, fuzzy, gcc-internal-format
+ msgid "invalid operands in pointer plus expression"
+ msgstr "opérande invalide dans l'instruction"
+
+-#: tree-cfg.c:3755
++#: tree-cfg.c:3779
+ #, fuzzy, gcc-internal-format
+ msgid "type mismatch in pointer plus expression"
+ msgstr "non concordance de type dans une expression conditionnelle"
+
+-#: tree-cfg.c:3774
++#: tree-cfg.c:3798
+ #, fuzzy, gcc-internal-format
+ msgid "invalid operands in conditional expression"
+ msgstr "mode non booléen dans l'expression conditionnelle"
+
+-#: tree-cfg.c:3807
++#: tree-cfg.c:3831
+ #, fuzzy, gcc-internal-format
+ msgid "type mismatch in address expression"
+ msgstr "non concordance de mode dans l'expression %s"
+
+-#: tree-cfg.c:3827
++#: tree-cfg.c:3851
+ #, fuzzy, gcc-internal-format
+ msgid "invalid operands in truth expression"
+ msgstr "opérande invalide dans l'instruction"
+
+-#: tree-cfg.c:3836
++#: tree-cfg.c:3860
+ #, fuzzy, gcc-internal-format
+ msgid "type mismatch in binary truth expression"
+ msgstr "non concordance de type dans une expression conditionnelle"
+
+-#: tree-cfg.c:3852
++#: tree-cfg.c:3876
+ #, fuzzy, gcc-internal-format
+ msgid "invalid operand in unary not"
+ msgstr "opérandes invalides pour le binaire %s"
+
+-#: tree-cfg.c:3861
++#: tree-cfg.c:3885
+ #, fuzzy, gcc-internal-format
+ msgid "type mismatch in not expression"
+ msgstr "non concordance de type dans une expression conditionnelle"
+
+-#: tree-cfg.c:3900
++#: tree-cfg.c:3924
+ #, fuzzy, gcc-internal-format
+ msgid "invalid operands in comparison expression"
+ msgstr "nombre invalide dans l'expression #if"
+
+-#: tree-cfg.c:3917
++#: tree-cfg.c:3941
+ #, fuzzy, gcc-internal-format
+ msgid "type mismatch in comparison expression"
+ msgstr "non concordance de type dans une expression conditionnelle"
+
+-#: tree-cfg.c:3947
++#: tree-cfg.c:3971
+ #, fuzzy, gcc-internal-format
+ msgid "non-trivial conversion at assignment"
+ msgstr "membre gauche de l'affectation invalide"
+
+-#: tree-cfg.c:3988 tree-cfg.c:4136
++#: tree-cfg.c:4012 tree-cfg.c:4160
+ #, fuzzy, gcc-internal-format
+ msgid "is not a valid GIMPLE statement"
+ msgstr "« %E » n'est pas un argument valide pour le patron"
+
+-#: tree-cfg.c:4015
++#: tree-cfg.c:4039
+ #, fuzzy, gcc-internal-format
+ msgid "invalid operand to switch statement"
+ msgstr "opérande invalide pour le code %%s"
+
+-#: tree-cfg.c:4026
++#: tree-cfg.c:4050
+ #, fuzzy, gcc-internal-format
+ msgid "type error in return expression"
+ msgstr " dans l'expression projetée"
+
+-#: tree-cfg.c:4104
++#: tree-cfg.c:4128
+ #, fuzzy, gcc-internal-format
+ msgid "verify_gimple failed"
+ msgstr "verify_flow_info a échoué"
+
+-#: tree-cfg.c:4156
++#: tree-cfg.c:4180
+ #, gcc-internal-format
+ msgid "statement marked for throw, but doesn%'t"
+ msgstr ""
+
+-#: tree-cfg.c:4161
++#: tree-cfg.c:4185
+ #, gcc-internal-format
+ msgid "statement marked for throw in middle of block"
+ msgstr ""
+
+-#: tree-cfg.c:4232
++#: tree-cfg.c:4256
+ #, fuzzy, gcc-internal-format
+ msgid "unexpected non-tuple"
+ msgstr "opérande inattendue"
+
+-#: tree-cfg.c:4261
++#: tree-cfg.c:4285
+ #, gcc-internal-format
+ msgid "Dead STMT in EH table"
+ msgstr ""
+
+-#: tree-cfg.c:4295
++#: tree-cfg.c:4319
+ #, gcc-internal-format
+ msgid "bb_for_stmt (phi) is set to a wrong basic block"
+ msgstr ""
+
+-#: tree-cfg.c:4306
++#: tree-cfg.c:4330
+ #, fuzzy, gcc-internal-format
+ msgid "missing PHI def"
+ msgstr "champ manquant"
+
+-#: tree-cfg.c:4317
++#: tree-cfg.c:4341
+ #, gcc-internal-format
+ msgid "PHI def is not a GIMPLE value"
+ msgstr ""
+
+-#: tree-cfg.c:4333 tree-cfg.c:4359
++#: tree-cfg.c:4357 tree-cfg.c:4383
+ #, gcc-internal-format
+ msgid "incorrect sharing of tree nodes"
+ msgstr ""
+
+-#: tree-cfg.c:4350
++#: tree-cfg.c:4374
+ #, gcc-internal-format
+ msgid "bb_for_stmt (stmt) is set to a wrong basic block"
+ msgstr ""
+
+-#: tree-cfg.c:4373
++#: tree-cfg.c:4397
+ #, fuzzy, gcc-internal-format
+ msgid "verify_stmts failed"
+ msgstr "verify_flow_info a échoué"
+
+-#: tree-cfg.c:4396
++#: tree-cfg.c:4420
+ #, gcc-internal-format
+ msgid "ENTRY_BLOCK has IL associated with it"
+ msgstr ""
+
+-#: tree-cfg.c:4402
++#: tree-cfg.c:4426
+ #, gcc-internal-format
+ msgid "EXIT_BLOCK has IL associated with it"
+ msgstr ""
+
+-#: tree-cfg.c:4409
++#: tree-cfg.c:4433
+ #, gcc-internal-format
+ msgid "fallthru to exit from bb %d"
+ msgstr ""
+
+-#: tree-cfg.c:4431
++#: tree-cfg.c:4455
+ #, gcc-internal-format
+ msgid "nonlocal label "
+ msgstr ""
+
+-#: tree-cfg.c:4440 tree-cfg.c:4450 tree-cfg.c:4475
++#: tree-cfg.c:4464 tree-cfg.c:4474 tree-cfg.c:4499
+ #, gcc-internal-format
+ msgid "label "
+ msgstr ""
+
+-#: tree-cfg.c:4465
++#: tree-cfg.c:4489
+ #, fuzzy, gcc-internal-format
+ msgid "control flow in the middle of basic block %d"
+ msgstr "insn de contrôle de flot à l'intérieur d'un bloc de base"
+
+-#: tree-cfg.c:4495
++#: tree-cfg.c:4519
+ #, fuzzy, gcc-internal-format
+ msgid "fallthru edge after a control statement in bb %d"
+ msgstr "Arrête fallthru après le branchement inconditionnel %i"
+
+-#: tree-cfg.c:4508
++#: tree-cfg.c:4532
+ #, gcc-internal-format
+ msgid "true/false edge after a non-COND_EXPR in bb %d"
+ msgstr ""
+
+-#: tree-cfg.c:4524
++#: tree-cfg.c:4548
+ #, gcc-internal-format
+ msgid "COND_EXPR with code in branches at the end of bb %d"
+ msgstr ""
+
+-#: tree-cfg.c:4538 tree-cfg.c:4560 tree-cfg.c:4573 tree-cfg.c:4644
++#: tree-cfg.c:4562 tree-cfg.c:4584 tree-cfg.c:4597 tree-cfg.c:4668
+ #, gcc-internal-format
+ msgid "wrong outgoing edge flags at end of bb %d"
+ msgstr ""
+
+-#: tree-cfg.c:4548
++#: tree-cfg.c:4572
+ #, fuzzy, gcc-internal-format
+ msgid "explicit goto at end of bb %d"
+ msgstr "instanciation explicite de « %#D »"
+
+-#: tree-cfg.c:4578
++#: tree-cfg.c:4602
+ #, gcc-internal-format
+ msgid "return edge does not point to exit in bb %d"
+ msgstr ""
+
+-#: tree-cfg.c:4611
++#: tree-cfg.c:4635
+ #, gcc-internal-format
+ msgid "found default case not at end of case vector"
+ msgstr ""
+
+-#: tree-cfg.c:4617
++#: tree-cfg.c:4641
+ #, fuzzy, gcc-internal-format
+ msgid "case labels not sorted: "
+ msgstr "mode dans l'étiquette n'est pas discret"
+
+-#: tree-cfg.c:4628
++#: tree-cfg.c:4652
+ #, gcc-internal-format
+ msgid "no default case found at end of case vector"
+ msgstr ""
+
+-#: tree-cfg.c:4636
++#: tree-cfg.c:4660
+ #, gcc-internal-format
+ msgid "extra outgoing edge %d->%d"
+ msgstr ""
+
+-#: tree-cfg.c:4658
++#: tree-cfg.c:4682
+ #, fuzzy, gcc-internal-format
+ msgid "missing edge %i->%i"
+ msgstr "champ manquant"
+
+-#: tree-cfg.c:6941 tree-cfg.c:6945
++#: tree-cfg.c:7025 tree-cfg.c:7029
+ #, fuzzy, gcc-internal-format
+ msgid "%H%<noreturn%> function does return"
+ msgstr "fonction avec « noreturn » effectue des retour"
+
+-#: tree-cfg.c:6967 tree-cfg.c:6972
++#: tree-cfg.c:7051 tree-cfg.c:7056
+ #, fuzzy, gcc-internal-format
+ msgid "%Hcontrol reaches end of non-void function"
+ msgstr "contrôle a atteint la fin non void de la fonction"
+
+-#: tree-cfg.c:7033
++#: tree-cfg.c:7117
+ #, fuzzy, gcc-internal-format
+ msgid "%Jfunction might be possible candidate for attribute %<noreturn%>"
+ msgstr "fonction peut être une possible candidate pour l'attribut « norreturn »"
+
+-#: tree-dump.c:933
++#: tree-dump.c:932
+ #, fuzzy, gcc-internal-format
+ msgid "could not open dump file %qs: %s"
+ msgstr "ne peut ouvrir le fichier de vidange « %s »"
+
+-#: tree-dump.c:1068
++#: tree-dump.c:1067
+ #, fuzzy, gcc-internal-format
+ msgid "ignoring unknown option %q.*s in %<-fdump-%s%>"
+ msgstr "option inconnue « %.*s » ignorée dans « -fdump-%s »"
+
+-#: tree-eh.c:1788
++#: tree-eh.c:1805
+ #, fuzzy, gcc-internal-format
+ msgid "EH edge %i->%i is missing"
+ msgstr "argument pour « -%s » est manquant"
+
+-#: tree-eh.c:1793
++#: tree-eh.c:1810
+ #, gcc-internal-format
+ msgid "EH edge %i->%i miss EH flag"
+ msgstr ""
+
+ #. ??? might not be mistake.
+-#: tree-eh.c:1799
++#: tree-eh.c:1816
+ #, gcc-internal-format
+ msgid "EH edge %i->%i has duplicated regions"
+ msgstr ""
+
+-#: tree-eh.c:1833
++#: tree-eh.c:1850
+ #, gcc-internal-format
+ msgid "BB %i can not throw but has EH edges"
+ msgstr ""
+
+-#: tree-eh.c:1840
++#: tree-eh.c:1857
+ #, gcc-internal-format
+ msgid "BB %i last statement has incorrectly set region"
+ msgstr ""
+
+-#: tree-eh.c:1851
++#: tree-eh.c:1868
+ #, gcc-internal-format
+ msgid "unnecessary EH edge %i->%i"
+ msgstr ""
+
+-#: tree-inline.c:1830
++#: tree-inline.c:1880
+ #, fuzzy, gcc-internal-format
+ msgid "function %q+F can never be inlined because it uses alloca (override using the always_inline attribute)"
+ msgstr "%Jfonction « %F » ne peut être enligne parce qu'elle utilise alloca (écrasant l'utiliastion de l'attribut always_inline)"
+
+-#: tree-inline.c:1842
++#: tree-inline.c:1892
+ #, fuzzy, gcc-internal-format
+ msgid "function %q+F can never be inlined because it uses setjmp"
+ msgstr "%Jfonction « %F » ne peut être enligne parce qu'elle utilise setjmp"
+
+-#: tree-inline.c:1856
++#: tree-inline.c:1906
+ #, fuzzy, gcc-internal-format
+ msgid "function %q+F can never be inlined because it uses variable argument lists"
+ msgstr "%Jfonction « %F » ne peut être enligne parce qu'elle utilise une liste variable d'arguments"
+
+-#: tree-inline.c:1867
++#: tree-inline.c:1917
+ #, fuzzy, gcc-internal-format
+ msgid "function %q+F can never be inlined because it uses setjmp-longjmp exception handling"
+ msgstr "%Jfonction « %F » ne peut être enligne parce qu'elle utilise le traitement d'exception setjmp-longjmp"
+
+-#: tree-inline.c:1874
++#: tree-inline.c:1924
+ #, fuzzy, gcc-internal-format
+ msgid "function %q+F can never be inlined because it uses non-local goto"
+ msgstr "%Jfonction « %F » ne peut être enligne parce qu'elle contient un goto qui n'est pas local"
+
+-#: tree-inline.c:1885
++#: tree-inline.c:1935
+ #, fuzzy, gcc-internal-format
+ msgid "function %q+F can never be inlined because it uses __builtin_return or __builtin_apply_args"
+ msgstr "%Jfonction « %F » ne peut être enligne parce qu'elle utilise une taille variable de variables"
+
+-#: tree-inline.c:1904
++#: tree-inline.c:1954
+ #, fuzzy, gcc-internal-format
+ msgid "function %q+F can never be inlined because it contains a computed goto"
+ msgstr "%Jfonction « %F » ne peut être enligne parce qu'elle contient un goto calculé"
+
+-#: tree-inline.c:1918
++#: tree-inline.c:1968
+ #, fuzzy, gcc-internal-format
+ msgid "function %q+F can never be inlined because it receives a non-local goto"
+ msgstr "%Jfonction « %F » ne peut être enligne parce qu'elle contient un goto qui n'est pas local"
+
+-#: tree-inline.c:1943
++#: tree-inline.c:1993
+ #, fuzzy, gcc-internal-format
+ msgid "function %q+F can never be inlined because it uses variable sized variables"
+ msgstr "%Jfonction « %F » ne peut être enligne parce qu'elle utilise une taille variable de variables"
+
+-#: tree-inline.c:2005
++#: tree-inline.c:2015
+ #, fuzzy, gcc-internal-format
++msgid "function %q+F can never be inlined because it saves address of local label in a static variable"
++msgstr "%Jfonction « %F » ne peut être enligne parce qu'elle utilise une taille variable de variables"
++
++#: tree-inline.c:2091
++#, fuzzy, gcc-internal-format
+ msgid "function %q+F can never be inlined because it is suppressed using -fno-inline"
+ msgstr "%Jfonction « %F » ne jamais être enlignée parce qu'elle supprime l'utilisation de -fno-inline"
+
+-#: tree-inline.c:2019
++#: tree-inline.c:2105
+ #, fuzzy, gcc-internal-format
+ msgid "function %q+F can never be inlined because it uses attributes conflicting with inlining"
+ msgstr "%Jfonction « %F » ne jamais être enlignée parce qu'elle utilise un attribut en conflit avec l'enlignage"
+
+-#: tree-inline.c:2588 tree-inline.c:2598
++#: tree-inline.c:2674 tree-inline.c:2684
+ #, fuzzy, gcc-internal-format
+ msgid "inlining failed in call to %q+F: %s"
+ msgstr "%Jl'enlignage de l'appel à « %F »: %s a échoué"
+
+-#: tree-inline.c:2589 tree-inline.c:2600
++#: tree-inline.c:2675 tree-inline.c:2686
+ #, gcc-internal-format
+ msgid "called from here"
+ msgstr "appelé d'ici"
+
+-#: tree-mudflap.c:860
++#: tree-mudflap.c:864
+ #, gcc-internal-format
+ msgid "mudflap checking not yet implemented for ARRAY_RANGE_REF"
+ msgstr ""
+
+-#: tree-mudflap.c:1044
++#: tree-mudflap.c:1050
+ #, gcc-internal-format
+ msgid "mudflap cannot track %qs in stub function"
+ msgstr ""
+
+-#: tree-mudflap.c:1272
++#: tree-mudflap.c:1279
+ #, gcc-internal-format
+ msgid "mudflap cannot track unknown size extern %qs"
+ msgstr ""
+@@ -24313,33 +24309,33 @@
+ msgid "size of return value of %q+D is larger than %wd bytes"
+ msgstr "%Jtaille de la valeur retournée par « %D » supérieure à %wd octets"
+
+-#: tree-outof-ssa.c:637 tree-outof-ssa.c:688 tree-ssa-coalesce.c:936
+-#: tree-ssa-coalesce.c:951 tree-ssa-coalesce.c:1163 tree-ssa-live.c:1043
++#: tree-outof-ssa.c:638 tree-outof-ssa.c:689 tree-ssa-coalesce.c:936
++#: tree-ssa-coalesce.c:951 tree-ssa-coalesce.c:1163 tree-ssa-live.c:1053
+ #, gcc-internal-format
+ msgid "SSA corruption"
+ msgstr ""
+
+-#: tree-outof-ssa.c:1105
++#: tree-outof-ssa.c:1263
+ #, gcc-internal-format
+ msgid " Pending stmts not issued on PRED edge (%d, %d)\n"
+ msgstr ""
+
+-#: tree-outof-ssa.c:1111
++#: tree-outof-ssa.c:1269
+ #, gcc-internal-format
+ msgid " Pending stmts not issued on SUCC edge (%d, %d)\n"
+ msgstr ""
+
+-#: tree-outof-ssa.c:1118
++#: tree-outof-ssa.c:1276
+ #, gcc-internal-format
+ msgid " Pending stmts not issued on ENTRY edge (%d, %d)\n"
+ msgstr ""
+
+-#: tree-outof-ssa.c:1124
++#: tree-outof-ssa.c:1282
+ #, gcc-internal-format
+ msgid " Pending stmts not issued on EXIT edge (%d, %d)\n"
+ msgstr ""
+
+-#: tree-profile.c:351
++#: tree-profile.c:356
+ #, fuzzy, gcc-internal-format
+ msgid "unimplemented functionality"
+ msgstr "fonction interne non implantée « %s »"
+@@ -24529,154 +24525,159 @@
+ msgid "verify_ssa failed"
+ msgstr "verify_flow_info a échoué"
+
+-#: tree-ssa.c:1284
++#: tree-ssa.c:1293
+ #, fuzzy, gcc-internal-format
+ msgid "%J%qD was declared here"
+ msgstr "%J« %D » précédemment déclaré ici"
+
+ #. We only do data flow with SSA_NAMEs, so that's all we
+ #. can warn about.
+-#: tree-ssa.c:1302
++#: tree-ssa.c:1311
+ #, fuzzy, gcc-internal-format
+ msgid "%H%qD is used uninitialized in this function"
+ msgstr "%J« %D » pourrait être utilisé sans être initialisé dans cette fonction"
+
+-#: tree-ssa.c:1340
++#: tree-ssa.c:1349
+ #, fuzzy, gcc-internal-format
+ msgid "%H%qD may be used uninitialized in this function"
+ msgstr "%J« %D » pourrait être utilisé sans être initialisé dans cette fonction"
+
+-#: tree-vrp.c:4374
++#: tree-vrp.c:4384
+ #, fuzzy, gcc-internal-format
+ msgid "%Harray subscript is outside array bounds"
+ msgstr "l'indice du tableau n'est pas un entier"
+
+-#: tree-vrp.c:4388
++#: tree-vrp.c:4398
+ #, fuzzy, gcc-internal-format
+ msgid "%Harray subscript is above array bounds"
+ msgstr "l'indice du tableau n'est pas un entier"
+
+-#: tree-vrp.c:4395
++#: tree-vrp.c:4405
+ #, fuzzy, gcc-internal-format
+ msgid "%Harray subscript is below array bounds"
+ msgstr "l'indice du tableau n'est pas un entier"
+
+-#: tree-vrp.c:5042
++#: tree-vrp.c:5058
+ #, gcc-internal-format
+ msgid "assuming signed overflow does not occur when simplifying conditional to constant"
+ msgstr ""
+
+-#: tree-vrp.c:5048
++#: tree-vrp.c:5064
+ #, gcc-internal-format
+ msgid "assuming signed overflow does not occur when simplifying conditional"
+ msgstr ""
+
+-#: tree.c:3951
++#: tree.c:3682
+ #, fuzzy, gcc-internal-format
++msgid "ignoring attributes applied to %qT after definition"
++msgstr "attribut « %s » peut seulement être appliqué aux définitions de classes"
++
++#: tree.c:3966
++#, fuzzy, gcc-internal-format
+ msgid "%q+D already declared with dllexport attribute: dllimport ignored"
+ msgstr "%J« %D » redéclaré sans attribut dllimport après avoir été référencé avec lien dllimport."
+
+-#: tree.c:3963
++#: tree.c:3978
+ #, fuzzy, gcc-internal-format
+ msgid "%q+D redeclared without dllimport attribute after being referenced with dll linkage"
+ msgstr "%J« %D » redéclaré sans attribut dllimport après avoir été référencé avec lien dllimport."
+
+-#: tree.c:3979
++#: tree.c:3994
+ #, fuzzy, gcc-internal-format
+ msgid "%q+D redeclared without dllimport attribute: previous dllimport ignored"
+ msgstr "%J« %D » redéclaré sans attribut dllimport après avoir été référencé avec lien dllimport."
+
+-#: tree.c:4038 tree.c:4050 config/darwin.c:1458 config/arm/arm.c:3099
+-#: config/arm/arm.c:3127 config/avr/avr.c:4598 config/h8300/h8300.c:5281
+-#: config/h8300/h8300.c:5305 config/i386/i386.c:3056 config/i386/i386.c:22515
++#: tree.c:4053 tree.c:4065 config/darwin.c:1460 config/arm/arm.c:3099
++#: config/arm/arm.c:3127 config/avr/avr.c:4638 config/h8300/h8300.c:5281
++#: config/h8300/h8300.c:5305 config/i386/i386.c:3087 config/i386/i386.c:22599
+ #: config/ia64/ia64.c:586 config/m68hc11/m68hc11.c:1118
+-#: config/rs6000/rs6000.c:19657 config/sh/symbian.c:408
++#: config/rs6000/rs6000.c:19874 config/sh/symbian.c:408
+ #: config/sh/symbian.c:415
+ #, fuzzy, gcc-internal-format
+ msgid "%qs attribute ignored"
+ msgstr "attribut « %s » ignoré"
+
+-#: tree.c:4066
++#: tree.c:4081
+ #, fuzzy, gcc-internal-format
+ msgid "inline function %q+D declared as dllimport: attribute ignored"
+ msgstr "%Jfonction enligne « %D » est déclarée en tant que dllimport: attribut ignoré."
+
+-#: tree.c:4074
++#: tree.c:4089
+ #, fuzzy, gcc-internal-format
+ msgid "function %q+D definition is marked dllimport"
+ msgstr "%Jdéfinition de la fonction « %D » est marquée dllimport"
+
+-#: tree.c:4082 config/sh/symbian.c:430
++#: tree.c:4097 config/sh/symbian.c:430
+ #, fuzzy, gcc-internal-format
+ msgid "variable %q+D definition is marked dllimport"
+ msgstr "%Jdéfinition de la variable « %D » est marquée dllimport"
+
+-#: tree.c:4105 config/sh/symbian.c:505
++#: tree.c:4120 config/sh/symbian.c:505
+ #, fuzzy, gcc-internal-format
+ msgid "external linkage required for symbol %q+D because of %qs attribute"
+ msgstr "%Jédition de lien externe requise pour le symbole « %D » en raison de l'attribut « %s »"
+
+-#: tree.c:4119
++#: tree.c:4134
+ #, gcc-internal-format
+ msgid "%qs implies default visibility, but %qD has already been declared with a different visibility"
+ msgstr ""
+
+-#: tree.c:5632
++#: tree.c:5648
+ #, gcc-internal-format
+ msgid "arrays of functions are not meaningful"
+ msgstr "tableaux de fonctions n'a pas grand sens"
+
+-#: tree.c:5785
++#: tree.c:5801
+ #, gcc-internal-format
+ msgid "function return type cannot be function"
+ msgstr "Le type retourné d'une fonction ne peut être une fonction"
+
+-#: tree.c:6802 tree.c:6887 tree.c:6948
++#: tree.c:6818 tree.c:6903 tree.c:6964
+ #, fuzzy, gcc-internal-format
+ msgid "tree check: %s, have %s in %s, at %s:%d"
+ msgstr "vérification de l'arbre: attendait %s, obtenu %s dans %s, à %s:%d"
+
+-#: tree.c:6839
++#: tree.c:6855
+ #, fuzzy, gcc-internal-format
+ msgid "tree check: expected none of %s, have %s in %s, at %s:%d"
+ msgstr "vérification de l'arbre: attendait %s, obtenu %s dans %s, à %s:%d"
+
+-#: tree.c:6852
++#: tree.c:6868
+ #, fuzzy, gcc-internal-format
+ msgid "tree check: expected class %qs, have %qs (%s) in %s, at %s:%d"
+ msgstr "vérification de l'arbre: attendait classe « %c », obtenu « %c » (%s) dans %s, à %s:%d"
+
+-#: tree.c:6901
++#: tree.c:6917
+ #, fuzzy, gcc-internal-format
+ msgid "tree check: did not expect class %qs, have %qs (%s) in %s, at %s:%d"
+ msgstr "vérification de l'arbre: attendait classe « %c », obtenu « %c » (%s) dans %s, à %s:%d"
+
+-#: tree.c:6914
++#: tree.c:6930
+ #, fuzzy, gcc-internal-format
+ msgid "tree check: expected omp_clause %s, have %s in %s, at %s:%d"
+ msgstr "vérification de l'arbre: attendait %s, obtenu %s dans %s, à %s:%d"
+
+-#: tree.c:6974
++#: tree.c:6990
+ #, fuzzy, gcc-internal-format
+ msgid "tree check: expected tree that contains %qs structure, have %qs in %s, at %s:%d"
+ msgstr "vérification de l'arbre: attendait %s, obtenu %s dans %s, à %s:%d"
+
+-#: tree.c:6988
++#: tree.c:7004
+ #, gcc-internal-format
+ msgid "tree check: accessed elt %d of tree_vec with %d elts in %s, at %s:%d"
+ msgstr "vérification de l'arbre: accès de elt %d de tree-vec avec %d elts dans %s, à %s:%d"
+
+-#: tree.c:7000
++#: tree.c:7016
+ #, fuzzy, gcc-internal-format
+ msgid "tree check: accessed elt %d of phi_node with %d elts in %s, at %s:%d"
+ msgstr "vérification de l'arbre: accès de elt %d de tree-vec avec %d elts dans %s, à %s:%d"
+
+-#: tree.c:7013
++#: tree.c:7029
+ #, gcc-internal-format
+ msgid "tree check: accessed operand %d of %s with %d operands in %s, at %s:%d"
+ msgstr "vérification de l'arbre: opérande accédé %d de %s avec %d opérandes dans %s, à %s:%d"
+
+-#: tree.c:7026
++#: tree.c:7042
+ #, fuzzy, gcc-internal-format
+ msgid "tree check: accessed operand %d of omp_clause %s with %d operands in %s, at %s:%d"
+ msgstr "vérification de l'arbre: opérande accédé %d de %s avec %d opérandes dans %s, à %s:%d"
+@@ -24930,17 +24931,17 @@
+ msgid "Unknown value %qs of -mmacosx-version-min"
+ msgstr ""
+
+-#: config/darwin.c:1431
++#: config/darwin.c:1433
+ #, gcc-internal-format
+ msgid "%<%s%> 2.95 vtable-compatibility attribute applies only when compiling a kext"
+ msgstr ""
+
+-#: config/darwin.c:1438
++#: config/darwin.c:1440
+ #, gcc-internal-format
+ msgid "%<%s%> 2.95 vtable-compatibility attribute applies only to C++ classes"
+ msgstr ""
+
+-#: config/darwin.c:1563
++#: config/darwin.c:1565
+ #, fuzzy, gcc-internal-format
+ msgid "internal and protected visibility attributes not supported in this configuration; ignored"
+ msgstr "visibilité des attributs internes et protégées n'est pas supportée dans cette configuration; ignoré"
+@@ -25036,7 +25037,7 @@
+ msgid "profiler support for WindISS"
+ msgstr "support du profileur pour WindISS"
+
+-#: config/alpha/alpha.c:232 config/rs6000/rs6000.c:1990
++#: config/alpha/alpha.c:232 config/rs6000/rs6000.c:2020
+ #, fuzzy, gcc-internal-format
+ msgid "bad value %qs for -mtls-size switch"
+ msgstr "valeur « %s » erronée pour l'option -mtls-size"
+@@ -25111,18 +25112,18 @@
+ msgid "bad value %qs for -mmemory-latency"
+ msgstr "valeur « %s » erronée pour -mmemory-latency"
+
+-#: config/alpha/alpha.c:6514 config/alpha/alpha.c:6517 config/s390/s390.c:8279
+-#: config/s390/s390.c:8282
++#: config/alpha/alpha.c:6522 config/alpha/alpha.c:6525 config/s390/s390.c:8335
++#: config/s390/s390.c:8338
+ #, gcc-internal-format
+ msgid "bad builtin fcode"
+ msgstr "construit interne erroné de fcode"
+
+-#: config/arc/arc.c:388
++#: config/arc/arc.c:392
+ #, fuzzy, gcc-internal-format
+ msgid "argument of %qs attribute is not a string constant"
+ msgstr "argument de l'attribut « %s » n'est pas une chaîne de constante"
+
+-#: config/arc/arc.c:396
++#: config/arc/arc.c:400
+ #, fuzzy, gcc-internal-format
+ msgid "argument of %qs attribute is not \"ilink1\" or \"ilink2\""
+ msgstr "l'argument de l'attribut « %s » n'est pas «ilink1» ou «ilink2 »"
+@@ -25132,7 +25133,7 @@
+ msgid "switch -mcpu=%s conflicts with -march= switch"
+ msgstr "l'option -mcpu=%s est en conflit avec l'option -march= "
+
+-#: config/arm/arm.c:1060 config/rs6000/rs6000.c:1504 config/sparc/sparc.c:761
++#: config/arm/arm.c:1060 config/rs6000/rs6000.c:1522 config/sparc/sparc.c:764
+ #, gcc-internal-format
+ msgid "bad value (%s) for %s switch"
+ msgstr "valeur (%s) erronée pour l'option %s"
+@@ -25272,14 +25273,13 @@
+ msgid "unable to use '%s' for PIC register"
+ msgstr "incapable d'utiliser « %s » pour un registre PIC"
+
+-#: config/arm/arm.c:3067 config/arm/arm.c:3085 config/avr/avr.c:4618
+-#: config/avr/avr.c:4660 config/bfin/bfin.c:4778 config/c4x/c4x.c:4071
+-#: config/h8300/h8300.c:5257 config/i386/i386.c:3009
+-#: config/m68hc11/m68hc11.c:1155 config/m68k/m68k.c:741
+-#: config/mcore/mcore.c:3032 config/mips/mips.c:1151 config/mips/mips.c:1153
+-#: config/mt/mt.c:1275 config/rs6000/rs6000.c:19583 config/sh/sh.c:7984
+-#: config/sh/sh.c:8005 config/sh/sh.c:8028 config/stormy16/stormy16.c:2252
+-#: config/v850/v850.c:2048
++#: config/arm/arm.c:3067 config/arm/arm.c:3085 config/avr/avr.c:4658
++#: config/avr/avr.c:4700 config/bfin/bfin.c:4881 config/h8300/h8300.c:5257
++#: config/i386/i386.c:3040 config/m68hc11/m68hc11.c:1155
++#: config/m68k/m68k.c:741 config/mcore/mcore.c:3032 config/mips/mips.c:1151
++#: config/mips/mips.c:1153 config/mt/mt.c:1275 config/rs6000/rs6000.c:19800
++#: config/sh/sh.c:7987 config/sh/sh.c:8008 config/sh/sh.c:8031
++#: config/stormy16/stormy16.c:2225 config/v850/v850.c:2048
+ #, fuzzy, gcc-internal-format
+ msgid "%qs attribute only applies to functions"
+ msgstr "attribut « %s » s'applique seulement aux fonctions"
+@@ -25301,7 +25301,7 @@
+ msgstr "sélecteur doit être un immédiat"
+
+ #. @@@ better error message
+-#: config/arm/arm.c:15839 config/i386/i386.c:20651 config/i386/i386.c:20685
++#: config/arm/arm.c:15839 config/i386/i386.c:20735 config/i386/i386.c:20769
+ #, gcc-internal-format
+ msgid "mask must be an immediate"
+ msgstr "masque doit être un immédiat"
+@@ -25326,222 +25326,187 @@
+ msgid "static variable %q+D is marked dllimport"
+ msgstr "%Jvariable statique « %D » est marquée dllimport"
+
+-#: config/avr/avr.c:690
++#: config/avr/avr.c:718
+ #, gcc-internal-format
+ msgid "large frame pointer change (%d) with -mtiny-stack"
+ msgstr "grand pointeur de trames change (%d) avec -mtiny-stack"
+
+-#: config/avr/avr.c:4591
++#: config/avr/avr.c:4631
+ #, gcc-internal-format
+ msgid "only initialized variables can be placed into program memory area"
+ msgstr "seules les variables initialisées peuvent être placées dans la zone mémoire du programme"
+
+-#: config/avr/avr.c:4635
++#: config/avr/avr.c:4675
+ #, gcc-internal-format
+ msgid "%qs appears to be a misspelled interrupt handler"
+ msgstr ""
+
+-#: config/avr/avr.c:4643
++#: config/avr/avr.c:4683
+ #, gcc-internal-format
+ msgid "%qs appears to be a misspelled signal handler"
+ msgstr ""
+
+-#: config/avr/avr.c:4751
++#: config/avr/avr.c:4791
+ #, gcc-internal-format
+ msgid "only uninitialized variables can be placed in the .noinit section"
+ msgstr "seuls les variables non initialisées peuvent être placées dans une section .noinit"
+
+-#: config/avr/avr.c:4765
++#: config/avr/avr.c:4805
+ #, fuzzy, gcc-internal-format
+ msgid "MCU %qs supported for assembler only"
+ msgstr "MCU « %s » est supporté pour l'assembleur seulement"
+
+-#: config/avr/avr.h:692
++#: config/avr/avr.h:731
+ #, gcc-internal-format
+ msgid "trampolines not supported"
+ msgstr "trampolines ne sont pas supportées"
+
+-#: config/bfin/bfin.c:2259 config/m68k/m68k.c:488
++#: config/bfin/bfin.c:2352 config/m68k/m68k.c:488
+ #, fuzzy, gcc-internal-format
+ msgid "-mshared-library-id=%s is not between 0 and %d"
+ msgstr "-mshared-library-id=%d n'est pas entre 0 et %d"
+
+-#: config/bfin/bfin.c:2279
++#: config/bfin/bfin.c:2372
+ #, fuzzy, gcc-internal-format
+ msgid "-mcpu=%s is not valid"
+ msgstr "-mcpu=%s ne supporte par -mips%d"
+
+-#: config/bfin/bfin.c:2315
++#: config/bfin/bfin.c:2410
+ #, gcc-internal-format
+ msgid "-mcpu=%s has invalid silicon revision"
+ msgstr ""
+
+-#: config/bfin/bfin.c:2332
++#: config/bfin/bfin.c:2427
+ #, fuzzy, gcc-internal-format
+ msgid "bf561 support is incomplete yet."
+ msgstr "le paramètre a un type incomplet"
+
+-#: config/bfin/bfin.c:2372
++#: config/bfin/bfin.c:2470
+ #, gcc-internal-format
+ msgid "-mshared-library-id= specified without -mid-shared-library"
+ msgstr "-mshared-library-id= spécifié sans -mid-shared-library"
+
+-#: config/bfin/bfin.c:2378
++#: config/bfin/bfin.c:2473
+ #, fuzzy, gcc-internal-format
+ msgid "Can't use multiple stack checking methods together."
+ msgstr "Insérer du code de vérificaion de la pile dans le programme"
+
+-#: config/bfin/bfin.c:2381
++#: config/bfin/bfin.c:2476
+ #, gcc-internal-format
+ msgid "ID shared libraries and FD-PIC mode can't be used together."
+ msgstr ""
+
+-#: config/bfin/bfin.c:2386 config/m68k/m68k.c:582
++#: config/bfin/bfin.c:2481 config/m68k/m68k.c:582
+ #, gcc-internal-format
+ msgid "cannot specify both -msep-data and -mid-shared-library"
+ msgstr "ne peut spécifier à la fois -msep-data et -mid-shared-library"
+
+-#: config/bfin/bfin.c:4783
++#: config/bfin/bfin.c:4886
+ #, fuzzy, gcc-internal-format
+ msgid "multiple function type attributes specified"
+ msgstr "%J fonction enligne « %D » a reçu l'attribut non enligne"
+
+-#: config/bfin/bfin.c:4839 config/bfin/bfin.c:4868 config/spu/spu.c:2976
++#: config/bfin/bfin.c:4942 config/bfin/bfin.c:4971 config/spu/spu.c:2965
+ #, gcc-internal-format
+ msgid "`%s' attribute only applies to functions"
+ msgstr "attribut « %s » s'applique seulement aux fonctions"
+
+-#: config/bfin/bfin.c:4850
++#: config/bfin/bfin.c:4953
+ #, gcc-internal-format
+ msgid "can't apply both longcall and shortcall attributes to the same function"
+ msgstr ""
+
+-#: config/bfin/bfin.c:4900
++#: config/bfin/bfin.c:5003
+ #, gcc-internal-format
+ msgid "`%s' attribute only applies to variables"
+ msgstr "attribut « %s » s'applique seulement aux variables"
+
+-#: config/bfin/bfin.c:4907
++#: config/bfin/bfin.c:5010
+ #, fuzzy, gcc-internal-format
+ msgid "`%s' attribute cannot be specified for local variables"
+ msgstr "%Jl'attribut de section ne peut être spécifié pour des variables locales"
+
+-#: config/c4x/c4x-c.c:68
+-#, gcc-internal-format
+-msgid "missing '(' after '#pragma %s' - ignored"
+-msgstr "«(» manquante après «#pragma %s» - ignoré"
+-
+-#: config/c4x/c4x-c.c:71
+-#, gcc-internal-format
+-msgid "missing function name in '#pragma %s' - ignored"
+-msgstr "nom de fonction manquant dans «#pragma %s» - ignoré"
+-
+-#: config/c4x/c4x-c.c:76
+-#, gcc-internal-format
+-msgid "malformed '#pragma %s' - ignored"
+-msgstr "«#pragma %s» mal composé - ignoré"
+-
+-#: config/c4x/c4x-c.c:78
+-#, gcc-internal-format
+-msgid "missing section name in '#pragma %s' - ignored"
+-msgstr "nom de section manquant dans «#pragma %s» - ignoré"
+-
+-#: config/c4x/c4x-c.c:83
+-#, gcc-internal-format
+-msgid "missing ')' for '#pragma %s' - ignored"
+-msgstr "«)» manquante pour «#pragma %s» - ignoré"
+-
+-#: config/c4x/c4x-c.c:86
+-#, gcc-internal-format
+-msgid "junk at end of '#pragma %s'"
+-msgstr "rebut à la fin de «#pragma %s'"
+-
+-#: config/c4x/c4x.c:859
+-#, gcc-internal-format
+-msgid "ISR %s requires %d words of local vars, max is 32767"
+-msgstr "ISR %s requiert %d mots de var. locales, max est 32767."
+-
+ #. This function is for retrieving a part of an instruction name for
+ #. an operator, for immediate output. If that ever happens for
+ #. MULT, we need to apply TARGET_MUL_BUG in the caller. Make sure
+ #. we notice.
+-#: config/cris/cris.c:434
++#: config/cris/cris.c:447
+ #, gcc-internal-format
+ msgid "MULT case in cris_op_str"
+ msgstr ""
+
+-#: config/cris/cris.c:811
++#: config/cris/cris.c:837
+ #, fuzzy, gcc-internal-format
+ msgid "invalid use of ':' modifier"
+ msgstr "opérande invalide pour le modificateur « b »"
+
+-#: config/cris/cris.c:983
++#: config/cris/cris.c:1024
+ #, gcc-internal-format
+ msgid "internal error: bad register: %d"
+ msgstr "erreur interne: registre erroné: %d"
+
+-#: config/cris/cris.c:1524
++#: config/cris/cris.c:1586
+ #, gcc-internal-format
+ msgid "internal error: sideeffect-insn affecting main effect"
+ msgstr "erreur interne: effet de bord de insn sideeffect-insn ayant un effet principal"
+
+-#: config/cris/cris.c:1548
++#: config/cris/cris.c:1683
+ #, fuzzy, gcc-internal-format
+ msgid "unknown cc_attr value"
+ msgstr "relocalisation unspec inconnue"
+
+ #. If we get here, the caller got its initial tests wrong.
+-#: config/cris/cris.c:1901
++#: config/cris/cris.c:2040
+ #, gcc-internal-format
+ msgid "internal error: cris_side_effect_mode_ok with bad operands"
+ msgstr "erreur interne: cris_side_effect_mode_ok avec des opérandes erronées"
+
+-#: config/cris/cris.c:2104
++#: config/cris/cris.c:2332
+ #, gcc-internal-format
+ msgid "-max-stackframe=%d is not usable, not between 0 and %d"
+ msgstr "-max-stackframe=%d n'est pas utilisable, n'est pas entre 0 et %d"
+
+-#: config/cris/cris.c:2132
++#: config/cris/cris.c:2360
+ #, gcc-internal-format
+ msgid "unknown CRIS version specification in -march= or -mcpu= : %s"
+ msgstr "spécification de version CRIS inconnue dans -march= ou -mcpu= : %s"
+
+-#: config/cris/cris.c:2168
++#: config/cris/cris.c:2396
+ #, gcc-internal-format
+ msgid "unknown CRIS cpu version specification in -mtune= : %s"
+ msgstr "spécification de version CRIS inconnue dans -mtune= : %s"
+
+-#: config/cris/cris.c:2186
++#: config/cris/cris.c:2417
+ #, gcc-internal-format
+ msgid "-fPIC and -fpic are not supported in this configuration"
+ msgstr "-fPIC et -fpic ne sont pas supportées par cette configuration"
+
+-#: config/cris/cris.c:2201
++#: config/cris/cris.c:2432
+ #, gcc-internal-format
+ msgid "that particular -g option is invalid with -maout and -melinux"
+ msgstr "l'option particulière -g est invalide avec -maout et -melinux"
+
+-#: config/cris/cris.c:2414
++#: config/cris/cris.c:2658
+ #, gcc-internal-format
+ msgid "Unknown src"
+ msgstr ""
+
+-#: config/cris/cris.c:2475
++#: config/cris/cris.c:2719
+ #, fuzzy, gcc-internal-format
+ msgid "Unknown dest"
+ msgstr "mode insn inconnu"
+
+-#: config/cris/cris.c:2760
++#: config/cris/cris.c:3004
+ #, gcc-internal-format
+ msgid "stackframe too big: %d bytes"
+ msgstr "trame de pile trop grande: %d octets"
+
+-#: config/cris/cris.c:3213 config/cris/cris.c:3240
++#: config/cris/cris.c:3498 config/cris/cris.c:3526
+ #, gcc-internal-format
+ msgid "expand_binop failed in movsi got"
+ msgstr ""
+
+-#: config/cris/cris.c:3321
++#: config/cris/cris.c:3607
+ #, gcc-internal-format
+ msgid "emitting PIC operand, but PIC register isn't set up"
+ msgstr "génération d'une opérande PIC mais le registre PIC n'est pas initialisé"
+@@ -25595,7 +25560,7 @@
+ #. See cris.c for TARGET_ASM_FUNCTION_PROLOGUE and
+ #. TARGET_ASM_FUNCTION_EPILOGUE.
+ #. Node: Profiling
+-#: config/cris/cris.h:868
++#: config/cris/cris.h:948
+ #, gcc-internal-format
+ msgid "no FUNCTION_PROFILER for CRIS"
+ msgstr "pas de FUNCTION_PROFILER pour CRIS"
+@@ -25610,62 +25575,62 @@
+ msgid "Trampoline support for CRX"
+ msgstr "trampolines ne sont pas supportées"
+
+-#: config/frv/frv.c:8622
++#: config/frv/frv.c:8626
+ #, gcc-internal-format
+ msgid "accumulator is not a constant integer"
+ msgstr "accumulateur n'est pas une constante en entier"
+
+-#: config/frv/frv.c:8627
++#: config/frv/frv.c:8631
+ #, gcc-internal-format
+ msgid "accumulator number is out of bounds"
+ msgstr "numéro de l'accumulateur est hors limite"
+
+-#: config/frv/frv.c:8638
++#: config/frv/frv.c:8642
+ #, fuzzy, gcc-internal-format
+ msgid "inappropriate accumulator for %qs"
+ msgstr "accumulateur inapproprié pour « %s »"
+
+-#: config/frv/frv.c:8715
++#: config/frv/frv.c:8719
+ #, fuzzy, gcc-internal-format
+ msgid "invalid IACC argument"
+ msgstr "type d'argument invalide"
+
+-#: config/frv/frv.c:8738
++#: config/frv/frv.c:8742
+ #, fuzzy, gcc-internal-format
+ msgid "%qs expects a constant argument"
+ msgstr "« %s » attend un argument de constante"
+
+-#: config/frv/frv.c:8743
++#: config/frv/frv.c:8747
+ #, fuzzy, gcc-internal-format
+ msgid "constant argument out of range for %qs"
+ msgstr "argument de constante hors limite pour « %s »"
+
+-#: config/frv/frv.c:9224
++#: config/frv/frv.c:9228
+ #, gcc-internal-format
+ msgid "media functions are not available unless -mmedia is used"
+ msgstr "fonctions média ne sont pas disponibles à mois que -mmedia soit utilisé"
+
+-#: config/frv/frv.c:9236
++#: config/frv/frv.c:9240
+ #, gcc-internal-format
+ msgid "this media function is only available on the fr500"
+ msgstr "cette fonction média est seulement disponible sur le fr500"
+
+-#: config/frv/frv.c:9264
++#: config/frv/frv.c:9268
+ #, fuzzy, gcc-internal-format
+ msgid "this media function is only available on the fr400 and fr550"
+ msgstr "cette fonction média est seulement disponible sur le fr400"
+
+-#: config/frv/frv.c:9283
++#: config/frv/frv.c:9287
+ #, fuzzy, gcc-internal-format
+ msgid "this builtin function is only available on the fr405 and fr450"
+ msgstr "cette fonction média est seulement disponible sur le fr400"
+
+-#: config/frv/frv.c:9292
++#: config/frv/frv.c:9296
+ #, fuzzy, gcc-internal-format
+ msgid "this builtin function is only available on the fr500 and fr550"
+ msgstr "cette fonction média est seulement disponible sur le fr500"
+
+-#: config/frv/frv.c:9304
++#: config/frv/frv.c:9308
+ #, fuzzy, gcc-internal-format
+ msgid "this builtin function is only available on the fr450"
+ msgstr "cette fonction média est seulement disponible sur le fr500"
+@@ -25690,311 +25655,316 @@
+ msgid "can't set position in PCH file: %m"
+ msgstr "ne peut obtenir la position dans le fichier PCH: %m"
+
+-#: config/i386/i386.c:2133 config/i386/i386.c:2333
++#: config/i386/i386.c:2158 config/i386/i386.c:2358
+ #, gcc-internal-format
+ msgid "bad value (%s) for -mtune= switch"
+ msgstr "valeur erronée (%s) pour l'option -mtune="
+
+-#: config/i386/i386.c:2174
++#: config/i386/i386.c:2199
+ #, fuzzy, gcc-internal-format
+ msgid "bad value (%s) for -mstringop-strategy= switch"
+ msgstr "valeur erronée (%s) pour l'option -mtune="
+
+-#: config/i386/i386.c:2177
++#: config/i386/i386.c:2202
+ #, gcc-internal-format
+ msgid "-mtune=x86-64 is deprecated. Use -mtune=k8 or -mtune=generic instead as appropriate."
+ msgstr ""
+
+-#: config/i386/i386.c:2186
++#: config/i386/i386.c:2211
+ #, fuzzy, gcc-internal-format
+ msgid "generic CPU can be used only for -mtune= switch"
+ msgstr "valeur erronée (%s) pour l'option -mtune="
+
+-#: config/i386/i386.c:2188 config/i386/i386.c:2297 config/mt/mt.c:804
++#: config/i386/i386.c:2213 config/i386/i386.c:2322 config/mt/mt.c:804
+ #, gcc-internal-format
+ msgid "bad value (%s) for -march= switch"
+ msgstr "valeur erronée (%s) pour l'option -march="
+
+-#: config/i386/i386.c:2199
++#: config/i386/i386.c:2224
+ #, fuzzy, gcc-internal-format
+ msgid "code model %s does not support PIC mode"
+ msgstr "model de code %s n'est pas supporté en mode PIC"
+
+-#: config/i386/i386.c:2205 config/sparc/sparc.c:725
++#: config/i386/i386.c:2230 config/sparc/sparc.c:728
+ #, gcc-internal-format
+ msgid "bad value (%s) for -mcmodel= switch"
+ msgstr "valeur erronée (%s) pour l'opton -mcmodel="
+
+-#: config/i386/i386.c:2228
++#: config/i386/i386.c:2253
+ #, gcc-internal-format
+ msgid "bad value (%s) for -masm= switch"
+ msgstr "valeur erronée (%s) pour l'option -masm"
+
+-#: config/i386/i386.c:2231
++#: config/i386/i386.c:2256
+ #, fuzzy, gcc-internal-format
+ msgid "code model %qs not supported in the %s bit mode"
+ msgstr "model de code « %s » n'est pas supporté dans le mode %s bits"
+
+-#: config/i386/i386.c:2234
++#: config/i386/i386.c:2259
+ #, gcc-internal-format
+ msgid "%i-bit mode not compiled in"
+ msgstr "mode %i bits pas compilé en"
+
+-#: config/i386/i386.c:2245 config/i386/i386.c:2319
++#: config/i386/i386.c:2270 config/i386/i386.c:2344
+ #, 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.c:2351
++#: config/i386/i386.c:2376
+ #, gcc-internal-format
+ msgid "-mregparm is ignored in 64-bit mode"
+ msgstr ""
+
+-#: config/i386/i386.c:2354
++#: config/i386/i386.c:2379
+ #, 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.c:2366
++#: config/i386/i386.c:2391
+ #, gcc-internal-format
+ msgid "-malign-loops is obsolete, use -falign-loops"
+ msgstr "-malign-loops est obsolète, utiliser -falign-loops"
+
+-#: config/i386/i386.c:2371 config/i386/i386.c:2384 config/i386/i386.c:2397
++#: config/i386/i386.c:2396 config/i386/i386.c:2409 config/i386/i386.c:2422
+ #, gcc-internal-format
+ msgid "-malign-loops=%d is not between 0 and %d"
+ msgstr "-malign-loops=%d n'est pas entre 0 et %d"
+
+-#: config/i386/i386.c:2379
++#: config/i386/i386.c:2404
+ #, gcc-internal-format
+ msgid "-malign-jumps is obsolete, use -falign-jumps"
+ msgstr "-malign-jumps est obsolète, utiliser -falign-loops"
+
+-#: config/i386/i386.c:2392
++#: config/i386/i386.c:2417
+ #, gcc-internal-format
+ msgid "-malign-functions is obsolete, use -falign-functions"
+ msgstr "-malign-functions est obsolète, utiliser -falign-loops"
+
+-#: config/i386/i386.c:2425
++#: config/i386/i386.c:2450
+ #, gcc-internal-format
+ msgid "-mbranch-cost=%d is not between 0 and 5"
+ msgstr "-mbranch-cost=%d n'est pas entre 0 et 5"
+
+-#: config/i386/i386.c:2433
++#: config/i386/i386.c:2458
+ #, gcc-internal-format
+ msgid "-mlarge-data-threshold=%d is negative"
+ msgstr ""
+
+-#: config/i386/i386.c:2447
++#: config/i386/i386.c:2472
+ #, gcc-internal-format
+ msgid "bad value (%s) for -mtls-dialect= switch"
+ msgstr "valeur erronée (%s) pour l'option -mtls-dialect"
+
+-#: config/i386/i386.c:2455
++#: config/i386/i386.c:2480
+ #, gcc-internal-format
+ msgid "pc%d is not valid precision setting (32, 64 or 80)"
+ msgstr ""
+
+-#: config/i386/i386.c:2471
++#: config/i386/i386.c:2496
+ #, fuzzy, gcc-internal-format
+ msgid "-mrtd is ignored in 64bit mode"
+ msgstr "la conversion d'appel -mrtd n'est pas supporté en mode 64 bits"
+
+-#: config/i386/i386.c:2560
++#: config/i386/i386.c:2585
+ #, gcc-internal-format
+ msgid "-mpreferred-stack-boundary=%d is not between %d and 12"
+ msgstr "-mpreferred-stack-boundary=%d n'est pas entre %d et 12"
+
+-#: config/i386/i386.c:2569
++#: config/i386/i386.c:2594
+ #, gcc-internal-format
+ msgid "-msseregparm used without SSE enabled"
+ msgstr ""
+
+-#: config/i386/i386.c:2580 config/i386/i386.c:2591
++#: config/i386/i386.c:2605 config/i386/i386.c:2616
+ #, gcc-internal-format
+ msgid "SSE instruction set disabled, using 387 arithmetics"
+ msgstr "jeu d'instructions SSE désactivé, arithmétique 387 est utilisé"
+
+-#: config/i386/i386.c:2596
++#: config/i386/i386.c:2621
+ #, gcc-internal-format
+ msgid "387 instruction set disabled, using SSE arithmetics"
+ msgstr "jeu d'instructions 387 désactivé, arithmétique SSE est utilisé"
+
+-#: config/i386/i386.c:2603
++#: config/i386/i386.c:2628
+ #, gcc-internal-format
+ msgid "bad value (%s) for -mfpmath= switch"
+ msgstr "valeur erronée (%s) pour l'option -mfpmath"
+
+-#: config/i386/i386.c:2616
++#: config/i386/i386.c:2641
+ #, gcc-internal-format
+ msgid "unknown vectorization library ABI type (%s) for -mveclibabi= switch"
+ msgstr ""
+
+-#: config/i386/i386.c:2635
++#: config/i386/i386.c:2660
+ #, gcc-internal-format
+ msgid "unwind tables currently require either a frame pointer or -maccumulate-outgoing-args for correctness"
+ msgstr ""
+
+-#: config/i386/i386.c:3022 config/i386/i386.c:3075
++#: config/i386/i386.c:3053 config/i386/i386.c:3106
+ #, gcc-internal-format
+ msgid "fastcall and regparm attributes are not compatible"
+ msgstr "les attributs fastcall et regparm ne sont pas compatibles"
+
+-#: config/i386/i386.c:3029
++#: config/i386/i386.c:3060
+ #, fuzzy, gcc-internal-format
+ msgid "%qs attribute requires an integer constant argument"
+ msgstr "l'attribut « %s » requiert un argument de type constante entière"
+
+-#: config/i386/i386.c:3035
++#: config/i386/i386.c:3066
+ #, fuzzy, gcc-internal-format
+ msgid "argument to %qs attribute larger than %d"
+ msgstr "l'argument pour l'attribut « %s » est plus grand que %d"
+
+-#: config/i386/i386.c:3045
++#: config/i386/i386.c:3076
+ #, gcc-internal-format
+ msgid "%s functions limited to %d register parameters"
+ msgstr ""
+
+-#: config/i386/i386.c:3067 config/i386/i386.c:3102
++#: config/i386/i386.c:3098 config/i386/i386.c:3133
+ #, fuzzy, gcc-internal-format
+ msgid "fastcall and cdecl attributes are not compatible"
+ msgstr "les attributs fastcall et stdcall ne sont pas compatibles"
+
+-#: config/i386/i386.c:3071
++#: config/i386/i386.c:3102
+ #, gcc-internal-format
+ msgid "fastcall and stdcall attributes are not compatible"
+ msgstr "les attributs fastcall et stdcall ne sont pas compatibles"
+
+-#: config/i386/i386.c:3085 config/i386/i386.c:3098
++#: config/i386/i386.c:3116 config/i386/i386.c:3129
+ #, fuzzy, gcc-internal-format
+ msgid "stdcall and cdecl attributes are not compatible"
+ msgstr "les attributs fastcall et stdcall ne sont pas compatibles"
+
+-#: config/i386/i386.c:3089
++#: config/i386/i386.c:3120
+ #, fuzzy, gcc-internal-format
+ msgid "stdcall and fastcall attributes are not compatible"
+ msgstr "les attributs fastcall et stdcall ne sont pas compatibles"
+
+-#: config/i386/i386.c:3236
++#: config/i386/i386.c:3271
+ #, gcc-internal-format
+ msgid "Calling %qD with attribute sseregparm without SSE/SSE2 enabled"
+ msgstr ""
+
+-#: config/i386/i386.c:3239
++#: config/i386/i386.c:3274
+ #, gcc-internal-format
+ msgid "Calling %qT with attribute sseregparm without SSE/SSE2 enabled"
+ msgstr ""
+
+-#: config/i386/i386.c:3925
++#: config/i386/i386.c:3971
+ #, fuzzy, gcc-internal-format
+ msgid "SSE register return with SSE disabled"
+ msgstr "vecteur SSE retourné sans autorisation SSE des changements de l'ABI "
+
+-#: config/i386/i386.c:3931
++#: config/i386/i386.c:3977
+ #, fuzzy, gcc-internal-format
+ msgid "SSE register argument with SSE disabled"
+ msgstr "l'argument vecteur SSE sans autorisation SSE modifie l'ABI "
+
+-#: config/i386/i386.c:3947
++#: config/i386/i386.c:3993
+ #, gcc-internal-format
+ msgid "x87 register return with x87 disabled"
+ msgstr ""
+
+-#: config/i386/i386.c:4265
++#: config/i386/i386.c:4314
+ #, gcc-internal-format
+ msgid "SSE vector argument without SSE enabled changes the ABI"
+ msgstr "l'argument vecteur SSE sans autorisation SSE modifie l'ABI "
+
+-#: config/i386/i386.c:4283
++#: config/i386/i386.c:4332
+ #, gcc-internal-format
+ msgid "MMX vector argument without MMX enabled changes the ABI"
+ msgstr "l'argument vecteur SSE sans autorisation MXX modifie l'ABI "
+
+-#: config/i386/i386.c:4810
++#: config/i386/i386.c:4859
+ #, gcc-internal-format
+ msgid "SSE vector return without SSE enabled changes the ABI"
+ msgstr "vecteur SSE retourné sans autorisation SSE des changements de l'ABI "
+
+-#: config/i386/i386.c:4820
++#: config/i386/i386.c:4869
+ #, fuzzy, gcc-internal-format
+ msgid "MMX vector return without MMX enabled changes the ABI"
+ msgstr "l'argument vecteur SSE sans autorisation MXX modifie l'ABI "
+
+-#: config/i386/i386.c:6171
++#: config/i386/i386.c:6220
+ #, fuzzy, gcc-internal-format
+ msgid "-mstackrealign ignored for nested functions"
+ msgstr "ISO C interdit les fonctions imbriquées"
+
+-#: config/i386/i386.c:6173
++#: config/i386/i386.c:6222
+ #, fuzzy, gcc-internal-format
+ msgid "%s not supported for nested functions"
+ msgstr "Ne supporte pas les fonctions internes MMX"
+
+-#: config/i386/i386.c:8576
++#: config/i386/i386.c:8631
+ #, gcc-internal-format
+ msgid "extended registers have no high halves"
+ msgstr "registres étendus n'a pas de demis hauts"
+
+-#: config/i386/i386.c:8591
++#: config/i386/i386.c:8646
+ #, 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.c:19610
++#: config/i386/i386.c:19694
+ #, fuzzy, gcc-internal-format
+ msgid "the third argument must be a 4-bit immediate"
+ msgstr "argument 3 doit être un litéral non signé de 4 bits"
+
+-#: config/i386/i386.c:19614
++#: config/i386/i386.c:19698
+ #, fuzzy, gcc-internal-format
+ msgid "the third argument must be an 8-bit immediate"
+ msgstr "argument 1 doit être un litéral signé de 5 bits"
+
+-#: config/i386/i386.c:19836
++#: config/i386/i386.c:19920
+ #, fuzzy, gcc-internal-format
+ msgid "last argument must be an immediate"
+ msgstr "masque doit être un immédiat"
+
+-#: config/i386/i386.c:19963
++#: config/i386/i386.c:20047
+ #, fuzzy, gcc-internal-format
+ msgid "the second argument must be a 4-bit immediate"
+ msgstr "argument 3 doit être un litéral non signé de 4 bits"
+
+-#: config/i386/i386.c:20209
++#: config/i386/i386.c:20293
+ #, fuzzy, gcc-internal-format
+ msgid "the fifth argument must be a 8-bit immediate"
+ msgstr "argument 1 doit être un litéral signé de 5 bits"
+
+-#: config/i386/i386.c:20304
++#: config/i386/i386.c:20388
+ #, fuzzy, gcc-internal-format
+ msgid "the third argument must be a 8-bit immediate"
+ msgstr "argument 1 doit être un litéral signé de 5 bits"
+
+-#: config/i386/i386.c:20374 config/rs6000/rs6000.c:8133
++#: config/i386/i386.c:20458 config/rs6000/rs6000.c:8240
+ #, fuzzy, gcc-internal-format
+ msgid "selector must be an integer constant in the range 0..%wi"
+ msgstr "le sélecteur doit être une constante entière entre les bornes 0..%i"
+
+-#: config/i386/i386.c:20774 config/i386/i386.c:20970
++#: config/i386/i386.c:20858 config/i386/i386.c:21054
+ #, gcc-internal-format
+ msgid "shift must be an immediate"
+ msgstr "décalage doit être un immédiat"
+
+-#: config/i386/i386.c:21033 config/i386/i386.c:21075
++#: config/i386/i386.c:21117 config/i386/i386.c:21159
+ #, fuzzy, gcc-internal-format
+ msgid "index mask must be an immediate"
+ msgstr "masque doit être un immédiat"
+
+-#: config/i386/i386.c:21038 config/i386/i386.c:21080
++#: config/i386/i386.c:21122 config/i386/i386.c:21164
+ #, fuzzy, gcc-internal-format
+ msgid "length mask must be an immediate"
+ msgstr "masque doit être un immédiat"
+
+-#: config/i386/i386.c:22525 config/rs6000/rs6000.c:19666
++#: config/i386/i386.c:22609 config/rs6000/rs6000.c:19883
+ #, fuzzy, gcc-internal-format
+ msgid "%qs incompatible attribute ignored"
+ msgstr "attribut « %s » incompatible ignoré"
+
++#: config/i386/netware.c:253
++#, fuzzy, gcc-internal-format
++msgid "-fPIC and -fpic are not supported for this target"
++msgstr "-fPIC et -fpic ne sont pas supportées par cette configuration"
++
+ #: config/i386/winnt-cxx.c:71 config/sh/symbian.c:172
+ #, fuzzy, gcc-internal-format
+ msgid "definition of static data member %q+D of dllimport'd class"
+@@ -26060,57 +26030,57 @@
+ msgid "%Jaddress area attribute cannot be specified for functions"
+ msgstr "%Jl'attribut de la zone d'adresse ne peut pas être spécifié pour des fonctiones"
+
+-#: config/ia64/ia64.c:5126 config/pa/pa.c:347 config/spu/spu.c:3875
++#: config/ia64/ia64.c:5127 config/pa/pa.c:350 config/spu/spu.c:3864
+ #, gcc-internal-format
+ msgid "value of -mfixed-range must have form REG1-REG2"
+ msgstr "valeur de -mfixed-range doit avoir la forme REG1-REG2"
+
+-#: config/ia64/ia64.c:5153 config/pa/pa.c:374 config/spu/spu.c:3901
++#: config/ia64/ia64.c:5154 config/pa/pa.c:377 config/spu/spu.c:3890
+ #, gcc-internal-format
+ msgid "%s-%s is an empty range"
+ msgstr "%s-%s est une étendue vide"
+
+-#: config/ia64/ia64.c:5181
++#: config/ia64/ia64.c:5182
+ #, fuzzy, gcc-internal-format
+ msgid "bad value %<%s%> for -mtls-size= switch"
+ msgstr "valeur erronée (%s) pour l'option -mtls-size"
+
+-#: config/ia64/ia64.c:5209
++#: config/ia64/ia64.c:5210
+ #, fuzzy, gcc-internal-format
+ msgid "bad value %<%s%> for -mtune= switch"
+ msgstr "valeur erronée (%s) pour l'option -mtune="
+
+-#: config/ia64/ia64.c:5228
++#: config/ia64/ia64.c:5229
+ #, gcc-internal-format
+ msgid "not yet implemented: latency-optimized inline square root"
+ msgstr "pas encore implanté: racine carrée enligne optimisée pour la latence"
+
+-#: config/ia64/ia64.c:9950
++#: config/ia64/ia64.c:9951
+ #, fuzzy, gcc-internal-format
+ msgid "version attribute is not a string"
+ msgstr "argument de l'attribut « %s » n'est pas une chaîne de constante"
+
+-#: config/iq2000/iq2000.c:1812
++#: config/iq2000/iq2000.c:1816
+ #, fuzzy, gcc-internal-format
+ msgid "gp_offset (%ld) or end_offset (%ld) is less than zero"
+ msgstr "gp_offset (%ld) ou end_offset (%ld) est plus petit que zéro."
+
+-#: config/iq2000/iq2000.c:2583
++#: config/iq2000/iq2000.c:2587
+ #, fuzzy, gcc-internal-format
+ msgid "argument %qd is not a constant"
+ msgstr "l'argument de « %d » n'est pas une constante"
+
+-#: config/iq2000/iq2000.c:2885 config/mt/mt.c:349 config/xtensa/xtensa.c:2118
++#: config/iq2000/iq2000.c:2889 config/mt/mt.c:349 config/xtensa/xtensa.c:2124
+ #, gcc-internal-format
+ msgid "PRINT_OPERAND_ADDRESS, null pointer"
+ msgstr "PRINT_OPERAND_ADDRESS, pointeur nul"
+
+-#: config/iq2000/iq2000.c:3040
++#: config/iq2000/iq2000.c:3044
+ #, gcc-internal-format
+ msgid "PRINT_OPERAND: Unknown punctuation '%c'"
+ msgstr "PRINT_OPERAND: ponctuation « %c » inconnue"
+
+-#: config/iq2000/iq2000.c:3049 config/xtensa/xtensa.c:1972
++#: config/iq2000/iq2000.c:3053 config/xtensa/xtensa.c:1978
+ #, gcc-internal-format
+ msgid "PRINT_OPERAND null pointer"
+ msgstr "PRINT_OPERAND pointeur nul"
+@@ -26135,22 +26105,22 @@
+ msgid "invalid target memregs value '%d'"
+ msgstr "valeur de --param invalide « %s »"
+
+-#: config/m32c/m32c.c:2759
++#: config/m32c/m32c.c:2766
+ #, fuzzy, gcc-internal-format
+ msgid "`%s' attribute is not supported for R8C target"
+ msgstr "attribut « %s » n'est pas supporté sur cette plate-forme"
+
+-#: config/m32c/m32c.c:2767
++#: config/m32c/m32c.c:2774
+ #, fuzzy, gcc-internal-format
+ msgid "`%s' attribute applies only to functions"
+ msgstr "%J'%E l'attribut ne s'applique seulement qu'à des fonctions"
+
+-#: config/m32c/m32c.c:2775
++#: config/m32c/m32c.c:2782
+ #, gcc-internal-format
+ msgid "`%s' attribute argument not an integer constant"
+ msgstr "l'attribut « %s » de l'argument n'est pas une contante entière"
+
+-#: config/m32c/m32c.c:2784
++#: config/m32c/m32c.c:2791
+ #, fuzzy, gcc-internal-format
+ msgid "`%s' attribute argument should be between 18 to 255"
+ msgstr "l'attribut « %s » de l'argument n'est pas une contante entière"
+@@ -26200,7 +26170,7 @@
+ msgid "interrupt_thread is available only on fido"
+ msgstr ""
+
+-#: config/m68k/m68k.c:1072 config/rs6000/rs6000.c:15014
++#: config/m68k/m68k.c:1072 config/rs6000/rs6000.c:15226
+ #, gcc-internal-format
+ msgid "stack limit expression is not supported"
+ msgstr "expression limitant la pile n'est pas supportée"
+@@ -26215,114 +26185,114 @@
+ msgid "%qs redeclared with conflicting %qs attributes"
+ msgstr ""
+
+-#: config/mips/mips.c:2348
++#: config/mips/mips.c:2382
+ #, gcc-internal-format
+ msgid "MIPS16 TLS"
+ msgstr ""
+
+-#: config/mips/mips.c:5439
++#: config/mips/mips.c:5500
+ #, fuzzy, gcc-internal-format
+ msgid "cannot handle inconsistent calls to %qs"
+ msgstr "ne peut traiter des appels inconsistents à « %s »"
+
+-#: config/mips/mips.c:10258
++#: config/mips/mips.c:10337
+ #, fuzzy, gcc-internal-format
+ msgid "invalid argument to built-in function"
+ msgstr "fonction interne non implantée « %s »"
+
+-#: config/mips/mips.c:10530
++#: config/mips/mips.c:10609
+ #, fuzzy, gcc-internal-format
+ msgid "built-in function %qs not supported for MIPS16"
+ msgstr "fonction interne « %s » n'est pas actuellement supportée"
+
+-#: config/mips/mips.c:11679 config/mips/mips.c:12065
++#: config/mips/mips.c:11751 config/mips/mips.c:12137
+ #, gcc-internal-format
+ msgid "MIPS16 PIC"
+ msgstr ""
+
+-#: config/mips/mips.c:11682
++#: config/mips/mips.c:11754
+ #, gcc-internal-format
+ msgid "hard-float MIPS16 code for ABIs other than o32 and o64"
+ msgstr ""
+
+-#: config/mips/mips.c:11810
++#: config/mips/mips.c:11882
+ #, fuzzy, gcc-internal-format
+ msgid "CPU names must be lower case"
+ msgstr "le nom du cpu doit être en minuscules"
+
+-#: config/mips/mips.c:11938
++#: config/mips/mips.c:12010
+ #, fuzzy, gcc-internal-format
+ msgid "%<-%s%> conflicts with the other architecture options, which specify a %s processor"
+ msgstr "-mips%s en conflit avec d'autres options d'architecture, lesquelles spécifie un processeur MIPS%d"
+
+-#: config/mips/mips.c:11954
++#: config/mips/mips.c:12026
+ #, fuzzy, gcc-internal-format
+ msgid "%<-march=%s%> is not compatible with the selected ABI"
+ msgstr "-march=%s n'est pas compatible avec l'ABI sélectionné"
+
+-#: config/mips/mips.c:11969
++#: config/mips/mips.c:12041
+ #, fuzzy, gcc-internal-format
+ msgid "%<-mgp64%> used with a 32-bit processor"
+ msgstr "-mgp64 utilisé avec un processeur de 32 bits"
+
+-#: config/mips/mips.c:11971
++#: config/mips/mips.c:12043
+ #, fuzzy, gcc-internal-format
+ msgid "%<-mgp32%> used with a 64-bit ABI"
+ msgstr "-mgp32 utilisé avec un ABI de 64 bits"
+
+-#: config/mips/mips.c:11973
++#: config/mips/mips.c:12045
+ #, fuzzy, gcc-internal-format
+ msgid "%<-mgp64%> used with a 32-bit ABI"
+ msgstr "-mgp64 utilisé avec un ABI de 32 bits"
+
+-#: config/mips/mips.c:11989 config/mips/mips.c:11991 config/mips/mips.c:12058
++#: config/mips/mips.c:12061 config/mips/mips.c:12063 config/mips/mips.c:12130
+ #, gcc-internal-format
+ msgid "unsupported combination: %s"
+ msgstr "combinaison non supportée: %s"
+
+-#: config/mips/mips.c:11995
++#: config/mips/mips.c:12067
+ #, gcc-internal-format
+ msgid "%<-mgp32%> and %<-mfp64%> can only be combined if the target supports the mfhc1 and mthc1 instructions"
+ msgstr ""
+
+-#: config/mips/mips.c:11998
++#: config/mips/mips.c:12070
+ #, gcc-internal-format
+ msgid "%<-mgp32%> and %<-mfp64%> can only be combined when using the o32 ABI"
+ msgstr ""
+
+-#: config/mips/mips.c:12052
++#: config/mips/mips.c:12124
+ #, fuzzy, gcc-internal-format
+ msgid "the %qs architecture does not support branch-likely instructions"
+ msgstr "le processeur cible ne supporte pas les instructions THUMB"
+
+-#: config/mips/mips.c:12098
++#: config/mips/mips.c:12170
+ #, gcc-internal-format
+ msgid "%<-mno-gpopt%> needs %<-mexplicit-relocs%>"
+ msgstr ""
+
+-#: config/mips/mips.c:12106 config/mips/mips.c:12109
++#: config/mips/mips.c:12178 config/mips/mips.c:12181
+ #, gcc-internal-format
+ msgid "cannot use small-data accesses for %qs"
+ msgstr ""
+
+-#: config/mips/mips.c:12123
++#: config/mips/mips.c:12195
+ #, gcc-internal-format
+ msgid "%<-mips3d%> requires %<-mpaired-single%>"
+ msgstr ""
+
+-#: config/mips/mips.c:12132
++#: config/mips/mips.c:12204
+ #, fuzzy, gcc-internal-format
+ msgid "%qs must be used with %qs"
+ msgstr "-frepo doit être utilisé avec -c"
+
+-#: config/mips/mips.c:12139
++#: config/mips/mips.c:12211
+ #, fuzzy, gcc-internal-format
+ msgid "the %qs architecture does not support paired-single instructions"
+ msgstr "le processeur cible ne supporte pas les instructions THUMB"
+
+ #. Output assembler code to FILE to increment profiler label # LABELNO
+ #. for profiling a function entry.
+-#: config/mips/mips.h:2110
++#: config/mips/mips.h:2111
+ #, gcc-internal-format
+ msgid "mips16 function profiling"
+ msgstr "profilage de fonction mips16"
+@@ -26352,28 +26322,28 @@
+ msgid "MMIX Internal: Last named vararg would not fit in a register"
+ msgstr "MMIX interne: dernier vararg nommé ne pourra être inséré dans un registre"
+
+-#: config/mmix/mmix.c:1495 config/mmix/mmix.c:1519 config/mmix/mmix.c:1635
++#: config/mmix/mmix.c:1491 config/mmix/mmix.c:1515 config/mmix/mmix.c:1631
+ #, gcc-internal-format
+ msgid "MMIX Internal: Bad register: %d"
+ msgstr "MMIX interne: registre erroné: %d"
+
+ #. Presumably there's a missing case above if we get here.
+-#: config/mmix/mmix.c:1627
++#: config/mmix/mmix.c:1623
+ #, fuzzy, gcc-internal-format
+ msgid "MMIX Internal: Missing %qc case in mmix_print_operand"
+ msgstr "MMIX interne: cas « %c » manquant dans mmix_print_operand"
+
+-#: config/mmix/mmix.c:1913
++#: config/mmix/mmix.c:1909
+ #, fuzzy, gcc-internal-format
+ msgid "stack frame not a multiple of 8 bytes: %wd"
+ msgstr "trame de pile n'est pas un multiple de 8 octets: %d"
+
+-#: config/mmix/mmix.c:2149
++#: config/mmix/mmix.c:2145
+ #, fuzzy, gcc-internal-format
+ msgid "stack frame not a multiple of octabyte: %wd"
+ msgstr "trame de pile n'est pas un multiple de 8 octets: %d"
+
+-#: config/mmix/mmix.c:2489 config/mmix/mmix.c:2553
++#: config/mmix/mmix.c:2485 config/mmix/mmix.c:2549
+ #, gcc-internal-format
+ msgid "MMIX Internal: %s is not a shiftable int"
+ msgstr "MMIX interne: %s n'est pas un entier pouvant décalé"
+@@ -26383,27 +26353,27 @@
+ msgid "info pointer NULL"
+ msgstr ""
+
+-#: config/pa/pa.c:479
++#: config/pa/pa.c:482
+ #, fuzzy, gcc-internal-format
+ msgid "PIC code generation is not supported in the portable runtime model"
+ msgstr "La génération de code PIC n'est pas supportée dans le modèle portable d'exécution\n"
+
+-#: config/pa/pa.c:484
++#: config/pa/pa.c:487
+ #, fuzzy, gcc-internal-format
+ msgid "PIC code generation is not compatible with fast indirect calls"
+ msgstr "La génération de code PIC n'est pas compatible avec les appels indirects rapides.\n"
+
+-#: config/pa/pa.c:489
++#: config/pa/pa.c:492
+ #, gcc-internal-format
+ msgid "-g is only supported when using GAS on this processor,"
+ msgstr "L'option -g est seulement supportée lorsque GAS est utilisé sur ce processeur,"
+
+-#: config/pa/pa.c:490
++#: config/pa/pa.c:493
+ #, gcc-internal-format
+ msgid "-g option disabled"
+ msgstr "option -g désactivée"
+
+-#: config/pa/pa.c:8285
++#: config/pa/pa.c:8373
+ #, gcc-internal-format
+ msgid "alignment (%u) for %s exceeds maximum alignment for global common data. Using %u"
+ msgstr ""
+@@ -26472,250 +26442,251 @@
+ msgid "junk at end of #pragma longcall"
+ msgstr "rebut à la fin de #pragma longcall"
+
+-#: config/rs6000/rs6000-c.c:2550
++#: config/rs6000/rs6000-c.c:2553
+ #, fuzzy, gcc-internal-format
+ msgid "passing arg %d of %qE discards qualifiers frompointer target type"
+ msgstr "transtypage de « %T » vers « %T » écarte les qualificateurs du type cible du pointeur"
+
+-#: config/rs6000/rs6000-c.c:2593
++#: config/rs6000/rs6000-c.c:2596
+ #, fuzzy, gcc-internal-format
+ msgid "invalid parameter combination for AltiVec intrinsic"
+ msgstr "combinaison invalide de paramètres pour l'intrinsèque Altivec « %s »"
+
+-#: config/rs6000/rs6000.c:1294
++#: config/rs6000/rs6000.c:1312
+ #, gcc-internal-format
+ msgid "-mdynamic-no-pic overrides -fpic or -fPIC"
+ msgstr "-mdynamic-no-pic écrase -fpic ou -fPIC"
+
+-#: config/rs6000/rs6000.c:1305
++#: config/rs6000/rs6000.c:1323
+ #, fuzzy, gcc-internal-format
+ msgid "-m64 requires PowerPC64 architecture, enabling"
+ msgstr "-maix64 requiert une architecture PowerPC64 qui demeure sélectionnée"
+
+-#: config/rs6000/rs6000.c:1528
++#: config/rs6000/rs6000.c:1546
+ #, gcc-internal-format
+ msgid "-mmultiple is not supported on little endian systems"
+ msgstr "-mmultiple n'est pas supporté sur des système à octets de poids faible"
+
+-#: config/rs6000/rs6000.c:1535
++#: config/rs6000/rs6000.c:1553
+ #, gcc-internal-format
+ msgid "-mstring is not supported on little endian systems"
+ msgstr "-mstring n'est pas supporté sur des système à octets de poids faible"
+
+-#: config/rs6000/rs6000.c:1549
++#: config/rs6000/rs6000.c:1567
+ #, gcc-internal-format
+ msgid "unknown -mdebug-%s switch"
+ msgstr "option -mdebug-%s inconnue"
+
+-#: config/rs6000/rs6000.c:1561
++#: config/rs6000/rs6000.c:1579
+ #, fuzzy, gcc-internal-format
+ msgid "unknown -mtraceback arg %qs; expecting %<full%>, %<partial%> or %<none%>"
+ msgstr "argument « %s » inconnu de l'option -mtraceback; attendu « full », « partial » ou « none »"
+
+-#: config/rs6000/rs6000.c:1973
++#: config/rs6000/rs6000.c:2003
+ #, gcc-internal-format
+ msgid "unknown -m%s= option specified: '%s'"
+ msgstr "option -m%s= inconnue spécifiée: « %s »"
+
+-#: config/rs6000/rs6000.c:2186
++#: config/rs6000/rs6000.c:2218
+ #, gcc-internal-format
+ msgid "not configured for ABI: '%s'"
+ msgstr "pas configuré pour ABI: « %s »"
+
+-#: config/rs6000/rs6000.c:2199
++#: config/rs6000/rs6000.c:2231
+ #, gcc-internal-format
+ msgid "Using darwin64 ABI"
+ msgstr ""
+
+-#: config/rs6000/rs6000.c:2204
++#: config/rs6000/rs6000.c:2236
+ #, gcc-internal-format
+ msgid "Using old darwin ABI"
+ msgstr ""
+
+-#: config/rs6000/rs6000.c:2211
++#: config/rs6000/rs6000.c:2243
+ #, gcc-internal-format
+ msgid "Using IBM extended precision long double"
+ msgstr ""
+
+-#: config/rs6000/rs6000.c:2217
++#: config/rs6000/rs6000.c:2249
+ #, gcc-internal-format
+ msgid "Using IEEE extended precision long double"
+ msgstr ""
+
+-#: config/rs6000/rs6000.c:2222
++#: config/rs6000/rs6000.c:2254
+ #, gcc-internal-format
+ msgid "unknown ABI specified: '%s'"
+ msgstr "ABI spécifié inconnu: « %s »"
+
+-#: config/rs6000/rs6000.c:2249
++#: config/rs6000/rs6000.c:2281
+ #, fuzzy, gcc-internal-format
+ msgid "invalid option for -mfloat-gprs: '%s'"
+ msgstr "option invalide «-mshort-data-%s'"
+
+-#: config/rs6000/rs6000.c:2259
++#: config/rs6000/rs6000.c:2291
+ #, gcc-internal-format
+ msgid "Unknown switch -mlong-double-%s"
+ msgstr "option -mlong-double-%s inconnue"
+
+-#: config/rs6000/rs6000.c:2280
++#: config/rs6000/rs6000.c:2312
+ #, gcc-internal-format
+ msgid "-malign-power is not supported for 64-bit Darwin; it is incompatible with the installed C and C++ libraries"
+ msgstr ""
+
+-#: config/rs6000/rs6000.c:2288
++#: config/rs6000/rs6000.c:2320
+ #, gcc-internal-format
+ msgid "unknown -malign-XXXXX option specified: '%s'"
+ msgstr "option -malign-XXXXX inconnue spécifiée: « %s »"
+
+-#: config/rs6000/rs6000.c:4989
++#: config/rs6000/rs6000.c:5087
+ #, gcc-internal-format
+ msgid "GCC vector returned by reference: non-standard ABI extension with no compatibility guarantee"
+ msgstr ""
+
+-#: config/rs6000/rs6000.c:5062
++#: config/rs6000/rs6000.c:5160
+ #, fuzzy, gcc-internal-format
+ msgid "cannot return value in vector register because altivec instructions are disabled, use -maltivec to enable them"
+ msgstr "Ne peut retourner la valeur dans le registre de vecteur parce que les instructions altivec sont désactivées, utiliser -maltivec pour les autoriser"
+
+-#: config/rs6000/rs6000.c:5320
++#: config/rs6000/rs6000.c:5418
+ #, fuzzy, gcc-internal-format
+ msgid "cannot pass argument in vector register because altivec instructions are disabled, use -maltivec to enable them"
+ msgstr "Ne peut relayer l'argument dans le registre de vecteur parce que les instructions altivec sont désactivées, utiliser -maltivec pour les autoriser"
+
+-#: config/rs6000/rs6000.c:6221
++#: config/rs6000/rs6000.c:6322
+ #, gcc-internal-format
+ msgid "GCC vector passed by reference: non-standard ABI extension with no compatibility guarantee"
+ msgstr ""
+
+-#: config/rs6000/rs6000.c:7461
++#: config/rs6000/rs6000.c:7568
+ #, gcc-internal-format
+ msgid "argument 1 must be a 5-bit signed literal"
+ msgstr "argument 1 doit être un litéral signé de 5 bits"
+
+-#: config/rs6000/rs6000.c:7564 config/rs6000/rs6000.c:8475
++#: config/rs6000/rs6000.c:7671 config/rs6000/rs6000.c:8582
+ #, gcc-internal-format
+ msgid "argument 2 must be a 5-bit unsigned literal"
+ msgstr "argument 2 doit être un litéral non signé de 5 bits"
+
+-#: config/rs6000/rs6000.c:7604
++#: config/rs6000/rs6000.c:7711
+ #, gcc-internal-format
+ msgid "argument 1 of __builtin_altivec_predicate must be a constant"
+ msgstr "argument 1 de « __builtin_altivec_predicate » doit être une constante"
+
+-#: config/rs6000/rs6000.c:7657
++#: config/rs6000/rs6000.c:7764
+ #, gcc-internal-format
+ msgid "argument 1 of __builtin_altivec_predicate is out of range"
+ msgstr "argument 1 de « __builtin_altivec_predicate » est hors limite"
+
+-#: config/rs6000/rs6000.c:7906
++#: config/rs6000/rs6000.c:8013
+ #, gcc-internal-format
+ msgid "argument 3 must be a 4-bit unsigned literal"
+ msgstr "argument 3 doit être un litéral non signé de 4 bits"
+
+-#: config/rs6000/rs6000.c:8078
++#: config/rs6000/rs6000.c:8185
+ #, fuzzy, gcc-internal-format
+ msgid "argument to %qs must be a 2-bit unsigned literal"
+ msgstr "argument de « %s » doit être un litéral non signé de 2 bits"
+
+-#: config/rs6000/rs6000.c:8220
++#: config/rs6000/rs6000.c:8327
+ #, gcc-internal-format
+ msgid "unresolved overload for Altivec builtin %qF"
+ msgstr ""
+
+-#: config/rs6000/rs6000.c:8302
++#: config/rs6000/rs6000.c:8409
+ #, gcc-internal-format
+ msgid "argument to dss must be a 2-bit unsigned literal"
+ msgstr "argument de dss doit être un litéral non signé de 2 bits"
+
+-#: config/rs6000/rs6000.c:8595
++#: config/rs6000/rs6000.c:8702
+ #, fuzzy, gcc-internal-format
+ msgid "argument 1 of __builtin_paired_predicate must be a constant"
+ msgstr "argument 1 de « __builtin_spe_predicate » doit être une constante"
+
+-#: config/rs6000/rs6000.c:8642
++#: config/rs6000/rs6000.c:8749
+ #, fuzzy, gcc-internal-format
+ msgid "argument 1 of __builtin_paired_predicate is out of range"
+ msgstr "argument 1 de « __builtin_spe_predicate » est hors limite"
+
+-#: config/rs6000/rs6000.c:8667
++#: config/rs6000/rs6000.c:8774
+ #, gcc-internal-format
+ msgid "argument 1 of __builtin_spe_predicate must be a constant"
+ msgstr "argument 1 de « __builtin_spe_predicate » doit être une constante"
+
+-#: config/rs6000/rs6000.c:8739
++#: config/rs6000/rs6000.c:8846
+ #, gcc-internal-format
+ msgid "argument 1 of __builtin_spe_predicate is out of range"
+ msgstr "argument 1 de « __builtin_spe_predicate » est hors limite"
+
+-#: config/rs6000/rs6000.c:14977
++#: config/rs6000/rs6000.c:15189
+ #, fuzzy, gcc-internal-format
+ msgid "stack frame too large"
+ msgstr "trame de pile trop grande"
+
+-#: config/rs6000/rs6000.c:17598
++#: config/rs6000/rs6000.c:17811
+ #, gcc-internal-format
+ msgid "no profiling of 64-bit code for this ABI"
+ msgstr "pas de profilage du code de 64 bits pour cet ABI"
+
+-#: config/rs6000/rs6000.c:19470
++#: config/rs6000/rs6000.c:19687
+ #, fuzzy, gcc-internal-format
+ msgid "use of %<long%> in AltiVec types is invalid for 64-bit code"
+ msgstr "utilisation du type 'long' Altivec est obsolète; utilisez 'int'"
+
+-#: config/rs6000/rs6000.c:19472
++#: config/rs6000/rs6000.c:19689
+ #, fuzzy, gcc-internal-format
+ msgid "use of %<long%> in AltiVec types is deprecated; use %<int%>"
+ msgstr "utilisation du type 'long' Altivec est obsolète; utilisez 'int'"
+
+-#: config/rs6000/rs6000.c:19476
++#: config/rs6000/rs6000.c:19693
+ #, fuzzy, gcc-internal-format
+ msgid "use of %<long long%> in AltiVec types is invalid"
+ msgstr "utilisation du type 'long' Altivec est obsolète; utilisez 'int'"
+
+-#: config/rs6000/rs6000.c:19478
++#: config/rs6000/rs6000.c:19695
+ #, fuzzy, gcc-internal-format
+ msgid "use of %<double%> in AltiVec types is invalid"
+ msgstr "utilisation du type 'long' Altivec est obsolète; utilisez 'int'"
+
+-#: config/rs6000/rs6000.c:19480
++#: config/rs6000/rs6000.c:19697
+ #, fuzzy, gcc-internal-format
+ msgid "use of %<long double%> in AltiVec types is invalid"
+ msgstr "utilisation du type 'long' Altivec est obsolète; utilisez 'int'"
+
+-#: config/rs6000/rs6000.c:19482
++#: config/rs6000/rs6000.c:19699
+ #, fuzzy, gcc-internal-format
+ msgid "use of boolean types in AltiVec types is invalid"
+ msgstr "utilisation du type 'long' Altivec est obsolète; utilisez 'int'"
+
+-#: config/rs6000/rs6000.c:19484
++#: config/rs6000/rs6000.c:19701
+ #, fuzzy, gcc-internal-format
+ msgid "use of %<complex%> in AltiVec types is invalid"
+ msgstr "utilisation du type 'long' Altivec est obsolète; utilisez 'int'"
+
+-#: config/rs6000/rs6000.c:19486
++#: config/rs6000/rs6000.c:19703
+ #, gcc-internal-format
+ msgid "use of decimal floating point types in AltiVec types is invalid"
+ msgstr ""
+
+ #: config/rs6000/aix43.h:38 config/rs6000/aix51.h:37 config/rs6000/aix52.h:38
+-#: config/rs6000/aix53.h:38
++#: config/rs6000/aix53.h:38 config/rs6000/aix61.h:38
+ #, gcc-internal-format
+ msgid "-maix64 and POWER architecture are incompatible"
+ msgstr "-maix64 et architecture POWER sont incompatibles"
+
+ #: config/rs6000/aix43.h:43 config/rs6000/aix51.h:42 config/rs6000/aix52.h:43
+-#: config/rs6000/aix53.h:43
++#: config/rs6000/aix53.h:43 config/rs6000/aix61.h:43
+ #, gcc-internal-format
+ msgid "-maix64 requires PowerPC64 architecture remain enabled"
+ msgstr "-maix64 requiert une architecture PowerPC64 qui demeure sélectionnée"
+
+ #: config/rs6000/aix43.h:49 config/rs6000/aix52.h:49 config/rs6000/aix53.h:49
++#: config/rs6000/aix61.h:49
+ #, fuzzy, gcc-internal-format
+ msgid "soft-float and long-double-128 are incompatible"
+ msgstr "-mrelocatable et -mcall-%s sont incompatibles"
+
+ #: config/rs6000/aix43.h:53 config/rs6000/aix51.h:46 config/rs6000/aix52.h:53
+-#: config/rs6000/aix53.h:53
++#: config/rs6000/aix53.h:53 config/rs6000/aix61.h:53
+ #, gcc-internal-format
+ msgid "-maix64 required: 64-bit computation with 32-bit addressing not yet supported"
+ msgstr "-maix64 requis: calcul en 64 bits avec un adressage de 32 bits n'est pas encore supporté"
+@@ -26757,7 +26728,7 @@
+ #. Number of bytes into the frame return addresses can be found. See
+ #. rs6000_stack_info in rs6000.c for more information on how the different
+ #. abi's store the return address.
+-#: config/rs6000/rs6000.h:1560
++#: config/rs6000/rs6000.h:1569
+ #, gcc-internal-format
+ msgid "RETURN_ADDRESS_OFFSET not supported"
+ msgstr "RETURN_ADDRESS_OFFSET n'est pas supporté"
+@@ -26880,22 +26851,22 @@
+ msgid "-mstack-guard implies use of -mstack-size"
+ msgstr ""
+
+-#: config/s390/s390.c:6640
++#: config/s390/s390.c:6679
+ #, fuzzy, gcc-internal-format
+ msgid "total size of local variables exceeds architecture limit"
+ msgstr "Taille totale des variables locales excède la limite de l'architecture"
+
+-#: config/s390/s390.c:7298
++#: config/s390/s390.c:7349
+ #, gcc-internal-format
+ msgid "frame size of function %qs is "
+ msgstr ""
+
+-#: config/s390/s390.c:7328
++#: config/s390/s390.c:7379
+ #, fuzzy, gcc-internal-format
+ msgid "frame size of %qs is "
+ msgstr "taille de stockage de « %s » inconnue"
+
+-#: config/s390/s390.c:7332
++#: config/s390/s390.c:7383
+ #, gcc-internal-format
+ msgid "%qs uses dynamic stack allocation"
+ msgstr ""
+@@ -26905,44 +26876,44 @@
+ msgid "-fPIC and -G are incompatible"
+ msgstr "-fPIC et -mcall-%s sont incompatibles"
+
+-#: config/sh/sh.c:6894
++#: config/sh/sh.c:6897
+ #, gcc-internal-format
+ msgid "__builtin_saveregs not supported by this subtarget"
+ msgstr "__builtin_saveregs n'est pas supporté par la sous-cible"
+
+-#: config/sh/sh.c:7904
++#: config/sh/sh.c:7907
+ #, fuzzy, gcc-internal-format
+ msgid "%qs attribute only applies to interrupt functions"
+ msgstr "attribut « %s » s'applique seulement à des fonctions d'interruption"
+
+-#: config/sh/sh.c:7990
++#: config/sh/sh.c:7993
+ #, gcc-internal-format
+ msgid "attribute interrupt_handler is not compatible with -m5-compact"
+ msgstr "attribut interrupt_handler n'est pas compatible avec -m5-compact"
+
+ #. The argument must be a constant string.
+-#: config/sh/sh.c:8012
++#: config/sh/sh.c:8015
+ #, fuzzy, gcc-internal-format
+ msgid "%qs attribute argument not a string constant"
+ msgstr "l'attribut « %s » de l'argument n'est pas une contante chaîne"
+
+ #. The argument must be a constant integer.
+-#: config/sh/sh.c:8037
++#: config/sh/sh.c:8040
+ #, fuzzy, gcc-internal-format
+ msgid "%qs attribute argument not an integer constant"
+ msgstr "l'attribut « %s » de l'argument n'est pas une contante entière"
+
+-#: config/sh/sh.c:10085
++#: config/sh/sh.c:10084
+ #, gcc-internal-format
+ msgid "r0 needs to be available as a call-clobbered register"
+ msgstr ""
+
+-#: config/sh/sh.c:10106
++#: config/sh/sh.c:10105
+ #, fuzzy, gcc-internal-format
+ msgid "Need a second call-clobbered general purpose register"
+ msgstr "Utiliser le registre BK comme registre général tout usage"
+
+-#: config/sh/sh.c:10114
++#: config/sh/sh.c:10113
+ #, gcc-internal-format
+ msgid "Need a call-clobbered target register"
+ msgstr ""
+@@ -26972,7 +26943,7 @@
+ msgid "%s %q+D %s after being referenced with dllimport linkage"
+ msgstr "%J« %D » défini localement après avoir été référencé avec lien dllimport."
+
+-#: config/sh/symbian.c:891 cp/tree.c:2737
++#: config/sh/symbian.c:891 cp/tree.c:2753
+ #, gcc-internal-format
+ msgid "lang_* check: failed in %s, at %s:%d"
+ msgstr "vérification lang_* : éched dans %s, à %s:%d"
+@@ -27015,17 +26986,17 @@
+ msgid "-mrelax is only supported for RTP PIC"
+ msgstr "L'option -g est seulement supportée lorsque GNU est utilisé tel,"
+
+-#: config/sparc/sparc.c:698
++#: config/sparc/sparc.c:701
+ #, gcc-internal-format
+ msgid "%s is not supported by this configuration"
+ msgstr "%s n'est pas supporté par cette configuration"
+
+-#: config/sparc/sparc.c:705
++#: config/sparc/sparc.c:708
+ #, gcc-internal-format
+ msgid "-mlong-double-64 not allowed with -m64"
+ msgstr "-mlong-double-64 n'est pas permis avec -m64"
+
+-#: config/sparc/sparc.c:730
++#: config/sparc/sparc.c:733
+ #, gcc-internal-format
+ msgid "-mcmodel= is not supported on 32 bit systems"
+ msgstr "-mcmodel= n'est pas supporté sur les systèmes de 32 bits"
+@@ -27045,67 +27016,57 @@
+ msgid "parameter list does not match a valid signature for %s()"
+ msgstr ""
+
+-#: config/spu/spu.c:337 config/spu/spu.c:348
++#: config/spu/spu.c:341 config/spu/spu.c:352
+ #, fuzzy, gcc-internal-format
+ msgid "Unknown architecture '%s'"
+ msgstr "mode machine « %s » inconnu"
+
+-#: config/spu/spu.c:3034
++#: config/spu/spu.c:3023
+ #, gcc-internal-format
+ msgid "`%s' attribute ignored"
+ msgstr "attribut « %s » ignoré"
+
+-#: config/spu/spu.c:5218
++#: config/spu/spu.c:5207
+ #, fuzzy, gcc-internal-format
+ msgid "%s expects an integer literal in the range [%d, %d]."
+ msgstr "le sélecteur doit être une constante entière entre les bornes 0..%i"
+
+-#: config/spu/spu.c:5238
++#: config/spu/spu.c:5227
+ #, fuzzy, gcc-internal-format
+ msgid "%s expects an integer literal in the range [%d, %d]. ("
+ msgstr "le sélecteur doit être une constante entière entre les bornes 0..%i"
+
+-#: config/spu/spu.c:5268
++#: config/spu/spu.c:5257
+ #, gcc-internal-format
+ msgid "%d least significant bits of %s are ignored."
+ msgstr ""
+
+-#: config/stormy16/stormy16.c:499
++#: config/stormy16/stormy16.c:1080
+ #, fuzzy, gcc-internal-format
+-msgid "constant halfword load operand out of range"
+-msgstr "chargement de l'opérande de la constante demi-mot est hors limite"
+-
+-#: config/stormy16/stormy16.c:509
+-#, fuzzy, gcc-internal-format
+-msgid "constant arithmetic operand out of range"
+-msgstr "opérande arithmétique de la constante est hors limite"
+-
+-#: config/stormy16/stormy16.c:1108
+-#, fuzzy, gcc-internal-format
+ msgid "local variable memory requirements exceed capacity"
+ msgstr "La mémoire requise pour les variables locales excède la capacité disponible."
+
+-#: config/stormy16/stormy16.c:1274
++#: config/stormy16/stormy16.c:1246
+ #, gcc-internal-format
+ msgid "function_profiler support"
+ msgstr "function_profiler supporté"
+
+-#: config/stormy16/stormy16.c:1363
++#: config/stormy16/stormy16.c:1335
+ #, gcc-internal-format
+ msgid "cannot use va_start in interrupt function"
+ msgstr "ne peut utiliser va-start dans une fonction d'interruption"
+
+-#: config/stormy16/stormy16.c:1906
++#: config/stormy16/stormy16.c:1879
+ #, gcc-internal-format
+ msgid "switch statement of size %lu entries too large"
+ msgstr "déclaration de switch de taille %lu entrée est trop grande"
+
+-#: config/stormy16/stormy16.c:2274
++#: config/stormy16/stormy16.c:2247
+ #, fuzzy, gcc-internal-format
+ msgid "%<__BELOW100__%> attribute only applies to variables"
+ msgstr "attribut « %s » s'applique seulement aux variables"
+
+-#: config/stormy16/stormy16.c:2281
++#: config/stormy16/stormy16.c:2254
+ #, gcc-internal-format
+ msgid "__BELOW100__ attribute not allowed with auto storage class"
+ msgstr ""
+@@ -27230,345 +27191,345 @@
+ msgid "too much stack space to prepare: %d"
+ msgstr "Trop d'espace pour l'empilage pour la préparation: %d"
+
+-#: config/xtensa/xtensa.c:1861
++#: config/xtensa/xtensa.c:1865
+ #, gcc-internal-format
+ msgid "boolean registers required for the floating-point option"
+ msgstr "registres booléens requis pour l'option de virgule flottante"
+
+-#: config/xtensa/xtensa.c:1896
++#: config/xtensa/xtensa.c:1900
+ #, gcc-internal-format
+ msgid "-f%s is not supported with CONST16 instructions"
+ msgstr "-f%s n'est pas supporté avec les instructions CONST16"
+
+-#: config/xtensa/xtensa.c:1901
++#: config/xtensa/xtensa.c:1905
+ #, gcc-internal-format
+ msgid "PIC is required but not supported with CONST16 instructions"
+ msgstr "PIC est requis mais non supporté avec des instructions CONST16"
+
+-#: config/xtensa/xtensa.c:2745 config/xtensa/xtensa.c:2765
++#: config/xtensa/xtensa.c:2770 config/xtensa/xtensa.c:2790
+ #, fuzzy, gcc-internal-format
+ msgid "bad builtin code"
+ msgstr "construit interne erroné de fcode"
+
+-#: config/xtensa/xtensa.c:2873
++#: config/xtensa/xtensa.c:2898
+ #, gcc-internal-format
+ msgid "only uninitialized variables can be placed in a .bss section"
+ msgstr "seules les variables non initialisées peuvent être placées dans une section .bss"
+
+-#: ada/misc.c:261
++#: ada/misc.c:260
+ #, gcc-internal-format
+ msgid "missing argument to \"-%s\""
+ msgstr "argument manquant à « -%s »"
+
+-#: ada/misc.c:311
++#: ada/misc.c:310
+ #, fuzzy, gcc-internal-format
+ msgid "%<-gnat%> misspelled as %<-gant%>"
+ msgstr "« -gnat » mal épellé comme « -gant »"
+
+-#: cp/call.c:2462
++#: cp/call.c:2448
+ #, gcc-internal-format
+ msgid "%s %D(%T, %T, %T) <built-in>"
+ msgstr "%s %D(%T, %T, %T) <construit-interne>"
+
+-#: cp/call.c:2467
++#: cp/call.c:2453
+ #, gcc-internal-format
+ msgid "%s %D(%T, %T) <built-in>"
+ msgstr "%s %D(%T, %T) <construit-interne>"
+
+-#: cp/call.c:2471
++#: cp/call.c:2457
+ #, gcc-internal-format
+ msgid "%s %D(%T) <built-in>"
+ msgstr "%s %D(%T) <interne>"
+
+-#: cp/call.c:2475
++#: cp/call.c:2461
+ #, gcc-internal-format
+ msgid "%s %T <conversion>"
+ msgstr "%s %T <conversion>"
+
+-#: cp/call.c:2477
++#: cp/call.c:2463
+ #, fuzzy, gcc-internal-format
+ msgid "%s %+#D <near match>"
+ msgstr "%J%s %+#D <près d'une concordance>"
+
+-#: cp/call.c:2479 cp/pt.c:1397
++#: cp/call.c:2465 cp/pt.c:1405
+ #, gcc-internal-format
+ msgid "%s %+#D"
+ msgstr "%s %+#D"
+
+-#: cp/call.c:2720
++#: cp/call.c:2706
+ #, fuzzy, gcc-internal-format
+ msgid "conversion from %qT to %qT is ambiguous"
+ msgstr "conversion de « %T » vers « %T » est ambiguë"
+
+-#: cp/call.c:2873 cp/call.c:2891 cp/call.c:2954
++#: cp/call.c:2859 cp/call.c:2877 cp/call.c:2940
+ #, fuzzy, gcc-internal-format
+ msgid "no matching function for call to %<%D(%A)%>"
+ msgstr "pas de fonction concordante pour l'appel de « %D(%A) »"
+
+-#: cp/call.c:2894 cp/call.c:2957
++#: cp/call.c:2880 cp/call.c:2943
+ #, fuzzy, gcc-internal-format
+ msgid "call of overloaded %<%D(%A)%> is ambiguous"
+ msgstr "appel du surchargé « %D(%A) » est ambiguë"
+
+ #. It's no good looking for an overloaded operator() on a
+ #. pointer-to-member-function.
+-#: cp/call.c:3029
++#: cp/call.c:3015
+ #, gcc-internal-format
+ msgid "pointer-to-member function %E cannot be called without an object; consider using .* or ->*"
+ msgstr "pointeur vers fonction membre %E ne peut être appelé sans un objet; utilisez .* ou ->*"
+
+-#: cp/call.c:3103
++#: cp/call.c:3089
+ #, fuzzy, gcc-internal-format
+ msgid "no match for call to %<(%T) (%A)%>"
+ msgstr "pas de concordance pour l'appel de « (%T) (%A) »"
+
+-#: cp/call.c:3112
++#: cp/call.c:3098
+ #, fuzzy, gcc-internal-format
+ msgid "call of %<(%T) (%A)%> is ambiguous"
+ msgstr "appel de « (%T) (%A) » est ambiguë"
+
+-#: cp/call.c:3150
++#: cp/call.c:3136
+ #, fuzzy, gcc-internal-format
+ msgid "%s for ternary %<operator?:%> in %<%E ? %E : %E%>"
+ msgstr "%s pour « operator?: » ternaire dans « %E ? %E : %E »"
+
+-#: cp/call.c:3156
++#: cp/call.c:3142
+ #, fuzzy, gcc-internal-format
+ msgid "%s for %<operator%s%> in %<%E%s%>"
+ msgstr "%s pour « operator%s » dans « %E%s »"
+
+-#: cp/call.c:3160
++#: cp/call.c:3146
+ #, fuzzy, gcc-internal-format
+ msgid "%s for %<operator[]%> in %<%E[%E]%>"
+ msgstr "%s pour « operator[] » dans « %E[%E] »"
+
+-#: cp/call.c:3165
++#: cp/call.c:3151
+ #, fuzzy, gcc-internal-format
+ msgid "%s for %qs in %<%s %E%>"
+ msgstr "%s pour « %s » dans « %s %E »"
+
+-#: cp/call.c:3170
++#: cp/call.c:3156
+ #, fuzzy, gcc-internal-format
+ msgid "%s for %<operator%s%> in %<%E %s %E%>"
+ msgstr "%s pour « operator%s » dans « %E %s %E »"
+
+-#: cp/call.c:3173
++#: cp/call.c:3159
+ #, fuzzy, gcc-internal-format
+ msgid "%s for %<operator%s%> in %<%s%E%>"
+ msgstr "%s pour « operator%s » dans « %s%E »"
+
+-#: cp/call.c:3265
++#: cp/call.c:3251
+ #, gcc-internal-format
+ msgid "ISO C++ forbids omitting the middle term of a ?: expression"
+ msgstr "ISO C++ interdit l'omission du terme milieu de l'expression ?:"
+
+-#: cp/call.c:3343
++#: cp/call.c:3329
+ #, gcc-internal-format
+ msgid "second operand to the conditional operator is of type %<void%>, but the third operand is neither a throw-expression nor of type %<void%>"
+ msgstr ""
+
+-#: cp/call.c:3348
++#: cp/call.c:3334
+ #, gcc-internal-format
+ msgid "third operand to the conditional operator is of type %<void%>, but the second operand is neither a throw-expression nor of type %<void%>"
+ msgstr ""
+
+-#: cp/call.c:3389 cp/call.c:3609
++#: cp/call.c:3375 cp/call.c:3595
+ #, fuzzy, gcc-internal-format
+ msgid "operands to ?: have different types %qT and %qT"
+ msgstr "opérande vers ?: a différents types"
+
+-#: cp/call.c:3563
++#: cp/call.c:3549
+ #, fuzzy, gcc-internal-format
+ msgid "enumeral mismatch in conditional expression: %qT vs %qT"
+ msgstr "non concordance de type énuméré dans l'expression conditionnelle: « %T » vs « %T »"
+
+-#: cp/call.c:3570
++#: cp/call.c:3556
+ #, gcc-internal-format
+ msgid "enumeral and non-enumeral type in conditional expression"
+ msgstr "type énuméré et non énuméré dans l'expression conditionnelle"
+
+-#: cp/call.c:3874
++#: cp/call.c:3860
+ #, fuzzy, gcc-internal-format
+ msgid "no %<%D(int)%> declared for postfix %qs, trying prefix operator instead"
+ msgstr "pas « %D(int) » déclaré pour le postfixe « %s », essaie avec l'oprateur préfixe à la place"
+
+-#: cp/call.c:3947
++#: cp/call.c:3936
+ #, fuzzy, gcc-internal-format
+ msgid "comparison between %q#T and %q#T"
+ msgstr "comparaison entre « %#T » et « %#T »"
+
+-#: cp/call.c:4229
++#: cp/call.c:4218
+ #, gcc-internal-format
+ msgid "no corresponding deallocation function for `%D'"
+ msgstr ""
+
+-#: cp/call.c:4234
++#: cp/call.c:4223
+ #, fuzzy, gcc-internal-format
+ msgid "no suitable %<operator %s%> for %qT"
+ msgstr "pas « operator %s » adapté pour « %T »"
+
+-#: cp/call.c:4252
++#: cp/call.c:4241
+ #, fuzzy, gcc-internal-format
+ msgid "%q+#D is private"
+ msgstr "« %+#D » est privé"
+
+-#: cp/call.c:4254
++#: cp/call.c:4243
+ #, fuzzy, gcc-internal-format
+ msgid "%q+#D is protected"
+ msgstr "« %+#D » est protégé"
+
+-#: cp/call.c:4256
++#: cp/call.c:4245
+ #, fuzzy, gcc-internal-format
+ msgid "%q+#D is inaccessible"
+ msgstr "« %+#D » et inaccessible"
+
+-#: cp/call.c:4257
++#: cp/call.c:4246
+ #, gcc-internal-format
+ msgid "within this context"
+ msgstr "à l'intérieur du contexte"
+
+-#: cp/call.c:4303
++#: cp/call.c:4292
+ #, fuzzy, gcc-internal-format
+ msgid "passing NULL to non-pointer argument %P of %qD"
+ msgstr "passage d'un NULL utilisé pour un non pointeur %s %P de « %D »"
+
+-#: cp/call.c:4306
++#: cp/call.c:4295
+ #, fuzzy, gcc-internal-format
+ msgid "converting to non-pointer type %qT from NULL"
+ msgstr "%s vers un type non pointeur « %T » à partir d'un NULL"
+
+-#: cp/call.c:4312
++#: cp/call.c:4301
+ #, fuzzy, gcc-internal-format
+ msgid "converting %<false%> to pointer type for argument %P of %qD"
+ msgstr "type incompatible pour l'argument n°%d de « %s »"
+
+-#: cp/call.c:4356 cp/cvt.c:217
++#: cp/call.c:4346 cp/cvt.c:217
+ #, fuzzy, gcc-internal-format
+ msgid "invalid conversion from %qT to %qT"
+ msgstr "conversion invalide de « %T » vers « %T »"
+
+-#: cp/call.c:4358
++#: cp/call.c:4348
+ #, fuzzy, gcc-internal-format
+ msgid " initializing argument %P of %qD"
+ msgstr " initialisation de l'argument %P de « %D »"
+
+-#: cp/call.c:4491
++#: cp/call.c:4498
+ #, fuzzy, gcc-internal-format
+ msgid "cannot bind bitfield %qE to %qT"
+ msgstr "ne peut lier le champ de bits « %E » avec « %T »"
+
+-#: cp/call.c:4494 cp/call.c:4510
++#: cp/call.c:4501 cp/call.c:4517
+ #, fuzzy, gcc-internal-format
+ msgid "cannot bind packed field %qE to %qT"
+ msgstr "ne peut lier le champs empaqueté « %E » avec « %T »"
+
+-#: cp/call.c:4497
++#: cp/call.c:4504
+ #, fuzzy, gcc-internal-format
+ msgid "cannot bind rvalue %qE to %qT"
+ msgstr "ne peut lier la rvalue « %E » avec « %T »"
+
+-#: cp/call.c:4611
++#: cp/call.c:4620
+ #, fuzzy, gcc-internal-format
+ msgid "cannot pass objects of non-POD type %q#T through %<...%>; call will abort at runtime"
+ msgstr "ne peut recevoir d'objets de type non POD « %#T » through « ... »; l'appel échouera lors de l'éxecution"
+
+ #. Undefined behavior [expr.call] 5.2.2/7.
+-#: cp/call.c:4639
++#: cp/call.c:4648
+ #, fuzzy, gcc-internal-format
+ msgid "cannot receive objects of non-POD type %q#T through %<...%>; call will abort at runtime"
+ msgstr "ne peut recevoir d'objets de type non POD « %#T » through « ... »; l'appel échouera lors de l'éxecution"
+
+-#: cp/call.c:4687
++#: cp/call.c:4696
+ #, fuzzy, gcc-internal-format
+ msgid "the default argument for parameter %d of %qD has not yet been parsed"
+ msgstr "argument par défaut pour le paramètre %d de « %D » n'a pas encore été analysé"
+
+-#: cp/call.c:4697
++#: cp/call.c:4706
+ #, fuzzy, gcc-internal-format
+ msgid "recursive evaluation of default argument for %q#D"
+ msgstr "redéfinition de l'argument par défaut pour « %#D »"
+
+-#: cp/call.c:4802
++#: cp/call.c:4811
+ #, fuzzy, gcc-internal-format
+ msgid "argument of function call might be a candidate for a format attribute"
+ msgstr "Avertir à propos des fonctions qui pourraient être candidates pour les attributs de format"
+
+-#: cp/call.c:4950
++#: cp/call.c:4959
+ #, fuzzy, gcc-internal-format
+ msgid "passing %qT as %<this%> argument of %q#D discards qualifiers"
+ msgstr "passant « %T» comme «cet» argument de « %#D » écarte les qualificateurs"
+
+-#: cp/call.c:4969
++#: cp/call.c:4978
+ #, fuzzy, gcc-internal-format
+ msgid "%qT is not an accessible base of %qT"
+ msgstr "« %T » est une base accessible de « %T »"
+
+-#: cp/call.c:5229
++#: cp/call.c:5238
+ #, fuzzy, gcc-internal-format
+ msgid "could not find class$ field in java interface type %qT"
+ msgstr "ne peut repérer le champ classe$ dans le type d'interface JAVA « %T »"
+
+-#: cp/call.c:5470
++#: cp/call.c:5479
+ #, fuzzy, gcc-internal-format
+ msgid "call to non-function %qD"
+ msgstr "appel à une non fonction « %D »"
+
+-#: cp/call.c:5595
++#: cp/call.c:5604
+ #, fuzzy, gcc-internal-format
+ msgid "no matching function for call to %<%T::%s(%A)%#V%>"
+ msgstr "pas de fonction concordante pour l'appel à « %T::%s(%A)%#V »"
+
+-#: cp/call.c:5613
++#: cp/call.c:5622
+ #, fuzzy, gcc-internal-format
+ msgid "call of overloaded %<%s(%A)%> is ambiguous"
+ msgstr "appel du surchargé « %s(%A) » est ambiguë"
+
+-#: cp/call.c:5639
++#: cp/call.c:5648
+ #, fuzzy, gcc-internal-format
+ msgid "cannot call member function %qD without object"
+ msgstr "ne peut appeler la fonction membre « %D » sans objet"
+
+-#: cp/call.c:6283
++#: cp/call.c:6307
+ #, fuzzy, gcc-internal-format
+ msgid "passing %qT chooses %qT over %qT"
+ msgstr "passant « %T » à choisit « %T » au lieu de « %T »"
+
+-#: cp/call.c:6285 cp/name-lookup.c:4320 cp/name-lookup.c:4753
++#: cp/call.c:6309 cp/name-lookup.c:4322 cp/name-lookup.c:4757
+ #, fuzzy, gcc-internal-format
+ msgid " in call to %qD"
+ msgstr " dans l'appel de « %D »"
+
+-#: cp/call.c:6342
++#: cp/call.c:6366
+ #, fuzzy, gcc-internal-format
+ msgid "choosing %qD over %qD"
+ msgstr "choix de « %D » à la place de « %D »"
+
+-#: cp/call.c:6343
++#: cp/call.c:6367
+ #, fuzzy, gcc-internal-format
+ msgid " for conversion from %qT to %qT"
+ msgstr " pour la conversion de « %T » vers « %T »"
+
+-#: cp/call.c:6345
++#: cp/call.c:6369
+ #, gcc-internal-format
+ msgid " because conversion sequence for the argument is better"
+ msgstr " parce que la séquence de conversion pour l'argument est meilleure"
+
+-#: cp/call.c:6459
++#: cp/call.c:6483
+ #, 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 "ISO C++ indique qu'ils sont ambiguës même à travers la plus mauvaise conversion pour le premier que la plus mauvaise pour la seconde:"
+
+-#: cp/call.c:6603
++#: cp/call.c:6627
+ #, fuzzy, gcc-internal-format
+ msgid "could not convert %qE to %qT"
+ msgstr "ne peut convertir « %E » vers « %T »"
+
+-#: cp/call.c:6737
++#: cp/call.c:6761
+ #, fuzzy, gcc-internal-format
+ msgid "invalid initialization of non-const reference of type %qT from a temporary of type %qT"
+ msgstr "initialisation invalide pour une référence à un non constante de type « %T » à partir d'un type temporaire de type « %T »"
+
+-#: cp/call.c:6741
++#: cp/call.c:6765
+ #, fuzzy, gcc-internal-format
+ msgid "invalid initialization of reference of type %qT from expression of type %qT"
+ msgstr "initialisation invalide de référence d'un type « %T » à partir d'une expression de type « %T »"
+@@ -27578,343 +27539,343 @@
+ msgid "cannot convert from base %qT to derived type %qT via virtual base %qT"
+ msgstr "ne peut convertir de la base « %T » à un type dérivé « %T » via la base virtuel « %T »"
+
+-#: cp/class.c:961
++#: cp/class.c:971
+ #, fuzzy, gcc-internal-format
+ msgid "Java class %qT cannot have a destructor"
+ msgstr "classe Java « %T » ne peut avoir un destructeur"
+
+-#: cp/class.c:963
++#: cp/class.c:973
+ #, fuzzy, gcc-internal-format
+ msgid "Java class %qT cannot have an implicit non-trivial destructor"
+ msgstr "classe Java « %T » ne peut avoir un destructeur implicite non trivial"
+
+-#: cp/class.c:1062
++#: cp/class.c:1074
+ #, fuzzy, gcc-internal-format
+ msgid "repeated using declaration %q+D"
+ msgstr "pour la déclaration du patron « %D »"
+
+-#: cp/class.c:1064
++#: cp/class.c:1076
+ #, fuzzy, gcc-internal-format
+ msgid "using declaration %q+D conflicts with a previous using declaration"
+ msgstr "%Jsection de « %D » en conflit avec une déclaration précédente"
+
+-#: cp/class.c:1069
++#: cp/class.c:1081
+ #, fuzzy, gcc-internal-format
+ msgid "%q+#D cannot be overloaded"
+ msgstr "« %#D » et « %#D » ne peut être surchargé"
+
+-#: cp/class.c:1070
++#: cp/class.c:1082
+ #, gcc-internal-format
+ msgid "with %q+#D"
+ msgstr ""
+
+-#: cp/class.c:1137
++#: cp/class.c:1149
+ #, fuzzy, gcc-internal-format
+ msgid "conflicting access specifications for method %q+D, ignored"
+ msgstr "spécifications d'accès conflictuelles pour la méthode « %D », ignoré"
+
+-#: cp/class.c:1140
++#: cp/class.c:1152
+ #, fuzzy, gcc-internal-format
+ msgid "conflicting access specifications for field %qE, ignored"
+ msgstr "spécifications d'accès conflictuelles pour le champ « %s », ignoré"
+
+-#: cp/class.c:1201 cp/class.c:1209
++#: cp/class.c:1213 cp/class.c:1221
+ #, fuzzy, gcc-internal-format
+ msgid "%q+D invalid in %q#T"
+ msgstr "« %D » invalide dans « %#T »"
+
+-#: cp/class.c:1202
++#: cp/class.c:1214
+ #, fuzzy, gcc-internal-format
+ msgid " because of local method %q+#D with same name"
+ msgstr " parce que la méthode locale « %#D » a le même nom"
+
+-#: cp/class.c:1210
++#: cp/class.c:1222
+ #, fuzzy, gcc-internal-format
+ msgid " because of local member %q+#D with same name"
+ msgstr " parce que le membre local « %#D » a le même nom"
+
+-#: cp/class.c:1253
++#: cp/class.c:1265
+ #, fuzzy, gcc-internal-format
+ msgid "base class %q#T has a non-virtual destructor"
+ msgstr "classe de base « %#T » a un destructeur non virtuel"
+
+-#: cp/class.c:1570
++#: cp/class.c:1582
+ #, fuzzy, gcc-internal-format
+ msgid "all member functions in class %qT are private"
+ msgstr "toutes les fonctions membres de la classe « %T » sont privés"
+
+-#: cp/class.c:1582
++#: cp/class.c:1594
+ #, fuzzy, gcc-internal-format
+ msgid "%q#T only defines a private destructor and has no friends"
+ msgstr "« %#T » définit seulement les constructeurs privés et n'a pas d'amis"
+
+-#: cp/class.c:1626
++#: cp/class.c:1639
+ #, fuzzy, gcc-internal-format
+ msgid "%q#T only defines private constructors and has no friends"
+ msgstr "« %#T » définit seulement les constructeurs privés et n'a pas d'amis"
+
+-#: cp/class.c:2019
++#: cp/class.c:2032
+ #, fuzzy, gcc-internal-format
+ msgid "no unique final overrider for %qD in %qT"
+ msgstr "pas d'écraseur unique final pour « %D » dans « %T »"
+
+ #. Here we know it is a hider, and no overrider exists.
+-#: cp/class.c:2439
++#: cp/class.c:2452
+ #, fuzzy, gcc-internal-format
+ msgid "%q+D was hidden"
+ msgstr "« %D » était caché"
+
+-#: cp/class.c:2440
++#: cp/class.c:2453
+ #, fuzzy, gcc-internal-format
+ msgid " by %q+D"
+ msgstr " par « %D »"
+
+-#: cp/class.c:2483 cp/decl2.c:1135
++#: cp/class.c:2496 cp/decl2.c:1178
+ #, fuzzy, gcc-internal-format
+ msgid "%q+#D invalid; an anonymous union can only have non-static data members"
+ msgstr "« %#D » invalide; une union anonyme peut seulement avoir des données non statiques de membres"
+
+-#: cp/class.c:2486
++#: cp/class.c:2499
+ #, fuzzy, gcc-internal-format
+ msgid "%q+#D invalid; an anonymous struct can only have non-static data members"
+ msgstr "« %#D » invalide; une union anonyme peut seulement avoir des données non statiques de membres"
+
+-#: cp/class.c:2494 cp/decl2.c:1141
++#: cp/class.c:2507 cp/decl2.c:1184
+ #, fuzzy, gcc-internal-format
+ msgid "private member %q+#D in anonymous union"
+ msgstr "membre privé « %#D » dans une union anonyme"
+
+-#: cp/class.c:2496
++#: cp/class.c:2509
+ #, fuzzy, gcc-internal-format
+ msgid "private member %q+#D in anonymous struct"
+ msgstr "membre privé « %#D » dans une union anonyme"
+
+-#: cp/class.c:2501 cp/decl2.c:1143
++#: cp/class.c:2514 cp/decl2.c:1186
+ #, fuzzy, gcc-internal-format
+ msgid "protected member %q+#D in anonymous union"
+ msgstr "membre protégé « %#D » dans une union anonyme"
+
+-#: cp/class.c:2503
++#: cp/class.c:2516
+ #, fuzzy, gcc-internal-format
+ msgid "protected member %q+#D in anonymous struct"
+ msgstr "membre protégé « %#D » dans une union anonyme"
+
+-#: cp/class.c:2677
++#: cp/class.c:2695
+ #, fuzzy, gcc-internal-format
+ msgid "bit-field %q+#D with non-integral type"
+ msgstr "largeur du champ de bits « %#D » n'est pas une constante entière"
+
+-#: cp/class.c:2690
++#: cp/class.c:2708
+ #, fuzzy, gcc-internal-format
+ msgid "bit-field %q+D width not an integer constant"
+ msgstr "largeur du champ de bits « %D » n'est pas une constante entière"
+
+-#: cp/class.c:2695
++#: cp/class.c:2713
+ #, fuzzy, gcc-internal-format
+ msgid "negative width in bit-field %q+D"
+ msgstr "largeur négative du champ de bits « %D »"
+
+-#: cp/class.c:2700
++#: cp/class.c:2718
+ #, fuzzy, gcc-internal-format
+ msgid "zero width for bit-field %q+D"
+ msgstr "largeur zéro pour le champ de bits « %D »"
+
+-#: cp/class.c:2706
++#: cp/class.c:2724
+ #, fuzzy, gcc-internal-format
+ msgid "width of %q+D exceeds its type"
+ msgstr "largeur de « %D » excède son type"
+
+-#: cp/class.c:2715
++#: cp/class.c:2733
+ #, fuzzy, gcc-internal-format
+ msgid "%q+D is too small to hold all values of %q#T"
+ msgstr "« %D » est trop petit pour contenir toutes les valeurs de « %#T »"
+
+-#: cp/class.c:2772
++#: cp/class.c:2790
+ #, fuzzy, gcc-internal-format
+ msgid "member %q+#D with constructor not allowed in union"
+ msgstr "membre « %#D » avec consructeur n'est pas permis dans l'union"
+
+-#: cp/class.c:2775
++#: cp/class.c:2793
+ #, fuzzy, gcc-internal-format
+ msgid "member %q+#D with destructor not allowed in union"
+ msgstr "membre « %#D » avec destructeur n'est pas permis dans l'union"
+
+-#: cp/class.c:2777
++#: cp/class.c:2795
+ #, fuzzy, gcc-internal-format
+ msgid "member %q+#D with copy assignment operator not allowed in union"
+ msgstr "membre « %#D » avec opérateur d,affectation par copie n'st pas permis dans l'union"
+
+-#: cp/class.c:2801
++#: cp/class.c:2819
+ #, fuzzy, gcc-internal-format
+ msgid "multiple fields in union %qT initialized"
+ msgstr "champs multiples dans l'union « %T » initialisés"
+
+-#: cp/class.c:2890
++#: cp/class.c:2908
+ #, fuzzy, gcc-internal-format
+ msgid "%q+D may not be static because it is a member of a union"
+ msgstr "« %D » peut ne pas être statique parce qu'il est membre de l'uniont"
+
+-#: cp/class.c:2895
++#: cp/class.c:2913
+ #, fuzzy, gcc-internal-format
+ msgid "%q+D may not have reference type %qT because it is a member of a union"
+ msgstr "« %D » peut ne pas avoir de type référencé « %T » parce qu'il est membre de l'union"
+
+-#: cp/class.c:2906
++#: cp/class.c:2924
+ #, fuzzy, gcc-internal-format
+ msgid "field %q+D invalidly declared function type"
+ msgstr "champ « %D » incorrectement validé comme un type de fonction"
+
+-#: cp/class.c:2912
++#: cp/class.c:2930
+ #, fuzzy, gcc-internal-format
+ msgid "field %q+D invalidly declared method type"
+ msgstr "champ « %D » incorrectement validé comme un type de méthode"
+
+-#: cp/class.c:2944
++#: cp/class.c:2968
+ #, fuzzy, gcc-internal-format
+-msgid "non-static reference %q+#D in class without a constructor"
+-msgstr "référence non statique « %#D » dans la classe sans un constructeur"
+-
+-#: cp/class.c:2955
+-#, fuzzy, gcc-internal-format
+ msgid "ignoring packed attribute because of unpacked non-POD field %q+#D"
+ msgstr "attribut empaqueté ignoré sur un champ non POD non paqueté « %#D »"
+
+-#: cp/class.c:3022
++#: cp/class.c:3047
+ #, fuzzy, gcc-internal-format
+-msgid "non-static const member %q+#D in class without a constructor"
+-msgstr "constante non statique de membre « %#D » dans la classe sans un constructeur"
+-
+-#: cp/class.c:3037
+-#, fuzzy, gcc-internal-format
+ msgid "field %q+#D with same name as class"
+ msgstr "champ « %#D » avec le même nom qu'une classe"
+
+-#: cp/class.c:3068
++#: cp/class.c:3078
+ #, fuzzy, gcc-internal-format
+ msgid "%q#T has pointer data members"
+ msgstr "« %#T » a un pointeur vers un membre de données"
+
+-#: cp/class.c:3073
++#: cp/class.c:3083
+ #, fuzzy, gcc-internal-format
+ msgid " but does not override %<%T(const %T&)%>"
+ msgstr " mais n'écrase pas « %T(const %T&) »"
+
+-#: cp/class.c:3075
++#: cp/class.c:3085
+ #, fuzzy, gcc-internal-format
+ msgid " or %<operator=(const %T&)%>"
+ msgstr " ou « operator=(const %T&) »"
+
+-#: cp/class.c:3079
++#: cp/class.c:3089
+ #, fuzzy, gcc-internal-format
+ msgid " but does not override %<operator=(const %T&)%>"
+ msgstr " mais n'écrase pas « operator=(const %T&) »"
+
+-#: cp/class.c:3540
++#: cp/class.c:3550
+ #, fuzzy, gcc-internal-format
+ msgid "offset of empty base %qT may not be ABI-compliant and maychange in a future version of GCC"
+ msgstr "décalage d'une base vide « %T » peut ne pas être compatible avec l'ABI et peut être modifié dans une version future de GCC"
+
+-#: cp/class.c:3665
++#: cp/class.c:3675
+ #, fuzzy, gcc-internal-format
+ msgid "class %qT will be considered nearly empty in a future version of GCC"
+ msgstr "classe « %T » devra être considérée pratiquement vide dans une version future de GCC"
+
+-#: cp/class.c:3747
++#: cp/class.c:3757
+ #, fuzzy, gcc-internal-format
+ msgid "initializer specified for non-virtual method %q+D"
+ msgstr "initialisation spécifiée pour une méthode non virtuelle « %D »"
+
+-#: cp/class.c:4412
++#: cp/class.c:4228
+ #, fuzzy, gcc-internal-format
++msgid "non-static reference %q+#D in class without a constructor"
++msgstr "référence non statique « %#D » dans la classe sans un constructeur"
++
++#: cp/class.c:4233
++#, fuzzy, gcc-internal-format
++msgid "non-static const member %q+#D in class without a constructor"
++msgstr "constante non statique de membre « %#D » dans la classe sans un constructeur"
++
++#: cp/class.c:4488
++#, fuzzy, gcc-internal-format
+ msgid "offset of virtual base %qT is not ABI-compliant and may change in a future version of GCC"
+ msgstr "décalage relatif d'une base virtuelle « %T » n'est pas compatible avec l'ABI et peut être modifié dans une version future de GCC"
+
+-#: cp/class.c:4513
++#: cp/class.c:4589
+ #, fuzzy, gcc-internal-format
+ msgid "direct base %qT inaccessible in %qT due to ambiguity"
+ msgstr "base directe « %T » inaccessible dans « %T » en raison de l'ambiguité"
+
+-#: cp/class.c:4525
++#: cp/class.c:4601
+ #, fuzzy, gcc-internal-format
+ msgid "virtual base %qT inaccessible in %qT due to ambiguity"
+ msgstr "base virtuelle « %T » inaccessible dans « %T » en raison de l'ambiguité"
+
+-#: cp/class.c:4704
++#: cp/class.c:4780
+ #, fuzzy, gcc-internal-format
+ msgid "size assigned to %qT may not be ABI-compliant and may change in a future version of GCC"
+ msgstr "taille assignée à « %T » peut ne pas être compatible avec l'ABI et peut être modifié dans une version future de GCC"
+
+-#: cp/class.c:4744
++#: cp/class.c:4820
+ #, fuzzy, gcc-internal-format
+ msgid "the offset of %qD may not be ABI-compliant and may change in a future version of GCC"
+ msgstr "le décalage relatif de « %D » peut ne pas être compatible avec l'ABI et peut être modifié dans une version future de GCC"
+
+-#: cp/class.c:4772
++#: cp/class.c:4848
+ #, fuzzy, gcc-internal-format
+ msgid "offset of %q+D is not ABI-compliant and may change in a future version of GCC"
+ msgstr "le décalage relatif de « %D » peut ne pas être compatible avec l'ABI et peut être modifié dans une version future de GCC"
+
+-#: cp/class.c:4781
++#: cp/class.c:4857
+ #, fuzzy, gcc-internal-format
+ msgid "%q+D contains empty classes which may cause base classes to be placed at different locations in a future version of GCC"
+ msgstr "« %D » contient des classes vides lesquelles peuvent placer les classes de base à une localisation différente dans une version future de GCC"
+
+-#: cp/class.c:4864
++#: cp/class.c:4944
+ #, fuzzy, gcc-internal-format
+ msgid "layout of classes derived from empty class %qT may change in a future version of GCC"
+ msgstr "disposition des classes est dérivés de la classe vide « %T » peut être modifiée dans une version future de GCC"
+
+-#: cp/class.c:5010 cp/parser.c:14608
++#: cp/class.c:5090 cp/parser.c:14688
+ #, fuzzy, gcc-internal-format
+ msgid "redefinition of %q#T"
+ msgstr "redéfinition de « %#T »"
+
+-#: cp/class.c:5166
++#: cp/class.c:5246
+ #, fuzzy, gcc-internal-format
+ msgid "%q#T has virtual functions and accessible non-virtual destructor"
+ msgstr "« %#T » a des fonctions virtuelles mais un destructeur non virtuel"
+
+-#: cp/class.c:5268
++#: cp/class.c:5348
+ #, gcc-internal-format
+ msgid "trying to finish struct, but kicked out due to previous parse errors"
+ msgstr "tentative de complétion du struct, mais a été stoppé en raison d'erreurs précédentes d'analyses syntaxiques"
+
+-#: cp/class.c:5728
++#: cp/class.c:5808
+ #, fuzzy, gcc-internal-format
+ msgid "language string %<\"%E\"%> not recognized"
+ msgstr "chaîne du langage « \"%s\" » n'est pas reconnue"
+
+-#: cp/class.c:5817
++#: cp/class.c:5897
+ #, fuzzy, gcc-internal-format
+ msgid "cannot resolve overloaded function %qD based on conversion to type %qT"
+ msgstr "ne peut résoudre la fonction surchargé « %D » basé sur la conversion vers le type « %T »"
+
+-#: cp/class.c:5946
++#: cp/class.c:6026
+ #, fuzzy, gcc-internal-format
+ msgid "no matches converting function %qD to type %q#T"
+ msgstr "pas de concordance de conversion de fonction « %D » vers le type « %#T »"
+
+-#: cp/class.c:5969
++#: cp/class.c:6049
+ #, fuzzy, gcc-internal-format
+ msgid "converting overloaded function %qD to type %q#T is ambiguous"
+ msgstr "conversion d'une fonction surchargée « %D » vers le type « %#T » est ambiguë"
+
+-#: cp/class.c:5995
++#: cp/class.c:6075
+ #, fuzzy, gcc-internal-format
+ msgid "assuming pointer to member %qD"
+ msgstr "pointeur assumé vers le membre « %D »"
+
+-#: cp/class.c:5998
++#: cp/class.c:6078
+ #, fuzzy, gcc-internal-format
+ msgid "(a pointer to member can only be formed with %<&%E%>)"
+ msgstr "(un pointeur vers un membre peut seulement être formé avec «&%E»)"
+
+-#: cp/class.c:6054 cp/class.c:6088
++#: cp/class.c:6134 cp/class.c:6168
+ #, gcc-internal-format
+ msgid "not enough type information"
+ msgstr "pas assez d'information sur le type"
+
+-#: cp/class.c:6071
++#: cp/class.c:6151
+ #, fuzzy, gcc-internal-format
+ msgid "argument of type %qT does not match %qT"
+ msgstr "argument de type « %T » ne concorde pas avec « %T »"
+@@ -27924,12 +27885,12 @@
+ #. A name N used in a class S shall refer to the same declaration
+ #. in its context and when re-evaluated in the completed scope of
+ #. S.
+-#: cp/class.c:6358 cp/decl.c:1199 cp/name-lookup.c:526
++#: cp/class.c:6438 cp/decl.c:1200 cp/name-lookup.c:525
+ #, fuzzy, gcc-internal-format
+ msgid "declaration of %q#D"
+ msgstr "déclaration de « %#D »"
+
+-#: cp/class.c:6359
++#: cp/class.c:6439
+ #, fuzzy, gcc-internal-format
+ msgid "changes meaning of %qD from %q+#D"
+ msgstr "changements signifiant de « %D » à partir de « %+#D »"
+@@ -27964,7 +27925,7 @@
+ msgid "conversion from %qT to %qT discards qualifiers"
+ msgstr "conversion de « %T » à « %T » écarte les qualificateurs"
+
+-#: cp/cvt.c:470 cp/typeck.c:5257
++#: cp/cvt.c:470 cp/typeck.c:5265
+ #, fuzzy, gcc-internal-format
+ msgid "casting %qT to %qT does not dereference pointer"
+ msgstr "transtypage de « %T » vers « %T » ne fait pas de dé-référence de pointeur"
+@@ -27974,190 +27935,190 @@
+ msgid "cannot convert type %qT to type %qT"
+ msgstr "ne peut convertir type « %T » vers le type « %T »"
+
+-#: cp/cvt.c:656
++#: cp/cvt.c:649
+ #, fuzzy, gcc-internal-format
+ msgid "conversion from %q#T to %q#T"
+ msgstr "conversion de « %#T » vers « %#T »"
+
+-#: cp/cvt.c:668 cp/cvt.c:688
++#: cp/cvt.c:661 cp/cvt.c:681
+ #, fuzzy, gcc-internal-format
+ msgid "%q#T used where a %qT was expected"
+ msgstr "« %#T » utilisé où « %T » était attendu"
+
+-#: cp/cvt.c:703
++#: cp/cvt.c:696
+ #, fuzzy, gcc-internal-format
+ msgid "%q#T used where a floating point value was expected"
+ msgstr "« %#T » utilisé où un nombre flottant était attendu"
+
+-#: cp/cvt.c:750
++#: cp/cvt.c:743
+ #, fuzzy, gcc-internal-format
+ msgid "conversion from %qT to non-scalar type %qT requested"
+ msgstr "conversion de « %T » vers un type non scalaire « %T » demandée"
+
+-#: cp/cvt.c:784
++#: cp/cvt.c:777
+ #, fuzzy, gcc-internal-format
+ msgid "pseudo-destructor is not called"
+ msgstr "arguments au destructeur ne sont pas permis"
+
+-#: cp/cvt.c:844
++#: cp/cvt.c:837
+ #, fuzzy, gcc-internal-format
+ msgid "object of incomplete type %qT will not be accessed in %s"
+ msgstr "objet de type incomplet « %T » ne sera pas accessible dans %s"
+
+-#: cp/cvt.c:849
++#: cp/cvt.c:842
+ #, fuzzy, gcc-internal-format
+ msgid "object of type %qT will not be accessed in %s"
+ msgstr "objet de type « %T » ne sera pas acccessible dans %s"
+
+-#: cp/cvt.c:865
++#: cp/cvt.c:858
+ #, fuzzy, gcc-internal-format
+ msgid "object %qE of incomplete type %qT will not be accessed in %s"
+ msgstr "objet « %E » d'un type incomplet « %T » ne sera pas accessible dans %s"
+
+ #. [over.over] enumerates the places where we can take the address
+ #. of an overloaded function, and this is not one of them.
+-#: cp/cvt.c:902
++#: cp/cvt.c:895
+ #, gcc-internal-format
+ msgid "%s cannot resolve address of overloaded function"
+ msgstr "%s ne peut résoudre l'adresse la fonction surchargée"
+
+ #. Only warn when there is no &.
+-#: cp/cvt.c:909
++#: cp/cvt.c:902
+ #, fuzzy, gcc-internal-format
+ msgid "%s is a reference, not call, to function %qE"
+ msgstr "%s est un référence, pas un appel, à la fonction « %E »"
+
+-#: cp/cvt.c:926
++#: cp/cvt.c:919
+ #, gcc-internal-format
+ msgid "%s has no effect"
+ msgstr "%s n'a pas d'effet"
+
+-#: cp/cvt.c:958
++#: cp/cvt.c:951
+ #, fuzzy, gcc-internal-format
+ msgid "value computed is not used"
+ msgstr "%Hvaleur calculée n'est pas utilisée"
+
+-#: cp/cvt.c:1068
++#: cp/cvt.c:1061
+ #, gcc-internal-format
+ msgid "converting NULL to non-pointer type"
+ msgstr "conversion d'un NULL vers un type non pointeur"
+
+-#: cp/cvt.c:1174
++#: cp/cvt.c:1167
+ #, fuzzy, gcc-internal-format
+ msgid "ambiguous default type conversion from %qT"
+ msgstr "conversion de type par défaut ambiguë à partir de « %T »"
+
+-#: cp/cvt.c:1176
++#: cp/cvt.c:1169
+ #, fuzzy, gcc-internal-format
+ msgid " candidate conversions include %qD and %qD"
+ msgstr " conversions de candidat inclut « %D » et « %D »"
+
+-#: cp/decl.c:1062
++#: cp/decl.c:1063
+ #, fuzzy, gcc-internal-format
+ msgid "%qD was declared %<extern%> and later %<static%>"
+ msgstr "« %s » a été déclaré « extern » et plus loin « static »"
+
+-#: cp/decl.c:1063 cp/decl.c:1618 objc/objc-act.c:2931 objc/objc-act.c:7503
++#: cp/decl.c:1064 cp/decl.c:1619 objc/objc-act.c:2931 objc/objc-act.c:7503
+ #, fuzzy, gcc-internal-format
+ msgid "previous declaration of %q+D"
+ msgstr "déclaration précédente de « %D »"
+
+-#: cp/decl.c:1096
++#: cp/decl.c:1097
+ #, fuzzy, gcc-internal-format
+ msgid "declaration of %qF throws different exceptions"
+ msgstr "déclaration de « %F » amène différentes exceptions"
+
+-#: cp/decl.c:1097
++#: cp/decl.c:1098
+ #, fuzzy, gcc-internal-format
+ msgid "from previous declaration %q+F"
+ msgstr "qu'une précédente déclaratio « %F »"
+
+-#: cp/decl.c:1153
++#: cp/decl.c:1154
+ #, fuzzy, gcc-internal-format
+ msgid "function %q+D redeclared as inline"
+ msgstr "%Jfonction « %D » redéclarée comme étant enligne"
+
+-#: cp/decl.c:1155
++#: cp/decl.c:1156
+ #, fuzzy, gcc-internal-format
+ msgid "previous declaration of %q+D with attribute noinline"
+ msgstr "%Jdéclaration précédente de « %D » avec l'attribut non enligne"
+
+-#: cp/decl.c:1162
++#: cp/decl.c:1163
+ #, fuzzy, gcc-internal-format
+ msgid "function %q+D redeclared with attribute noinline"
+ msgstr "%Jfonction « %D » redéclarée avec l'attribut non enligne"
+
+-#: cp/decl.c:1164
++#: cp/decl.c:1165
+ #, fuzzy, gcc-internal-format
+ msgid "previous declaration of %q+D was inline"
+ msgstr "%Jdéclaration précédente de « %D » était enligne"
+
+-#: cp/decl.c:1186 cp/decl.c:1259
++#: cp/decl.c:1187 cp/decl.c:1260
+ #, fuzzy, gcc-internal-format
+ msgid "shadowing %s function %q#D"
+ msgstr "%s masque la fonction « %#D »"
+
+-#: cp/decl.c:1195
++#: cp/decl.c:1196
+ #, fuzzy, gcc-internal-format
+ msgid "library function %q#D redeclared as non-function %q#D"
+ msgstr "fonction « %#D » de la bibliothèque redéclarée comme n'étant pas une fonction « %#D »"
+
+-#: cp/decl.c:1200
++#: cp/decl.c:1201
+ #, fuzzy, gcc-internal-format
+ msgid "conflicts with built-in declaration %q#D"
+ msgstr "conflits avec la déclaration interne de « %#D »"
+
+-#: cp/decl.c:1254 cp/decl.c:1380 cp/decl.c:1396
++#: cp/decl.c:1255 cp/decl.c:1381 cp/decl.c:1397
+ #, fuzzy, gcc-internal-format
+ msgid "new declaration %q#D"
+ msgstr "nouvelle déclaration de « %#D »"
+
+-#: cp/decl.c:1255
++#: cp/decl.c:1256
+ #, fuzzy, gcc-internal-format
+ msgid "ambiguates built-in declaration %q#D"
+ msgstr "ambiguités de la déclaration interne de « %#D »"
+
+-#: cp/decl.c:1344
++#: cp/decl.c:1345
+ #, fuzzy, gcc-internal-format
+ msgid "%q#D redeclared as different kind of symbol"
+ msgstr "« %#D » redéclaré comme une sorte différente de symbole"
+
+-#: cp/decl.c:1347
++#: cp/decl.c:1348
+ #, fuzzy, gcc-internal-format
+ msgid "previous declaration of %q+#D"
+ msgstr "déclaration précédente de « %#D »"
+
+-#: cp/decl.c:1366
++#: cp/decl.c:1367
+ #, fuzzy, gcc-internal-format
+ msgid "declaration of template %q#D"
+ msgstr "déclaration du patron « %#D »"
+
+-#: cp/decl.c:1367 cp/name-lookup.c:527
++#: cp/decl.c:1368 cp/name-lookup.c:526
+ #, fuzzy, gcc-internal-format
+ msgid "conflicts with previous declaration %q+#D"
+ msgstr "conflits avec la déclaration précédente de « %#D »"
+
+-#: cp/decl.c:1381 cp/decl.c:1397
++#: cp/decl.c:1382 cp/decl.c:1398
+ #, fuzzy, gcc-internal-format
+ msgid "ambiguates old declaration %q+#D"
+ msgstr "ambiguités d'une vieille déclaration de « %#D »"
+
+-#: cp/decl.c:1389
++#: cp/decl.c:1390
+ #, fuzzy, gcc-internal-format
+ msgid "declaration of C function %q#D conflicts with"
+ msgstr "déclaration de la fonction C « %#D » en conflit avec"
+
+-#: cp/decl.c:1391
++#: cp/decl.c:1392
+ #, fuzzy, gcc-internal-format
+ msgid "previous declaration %q+#D here"
+ msgstr "déclaration précédente de « %#D » ici"
+
+-#: cp/decl.c:1405
++#: cp/decl.c:1406
+ #, fuzzy, gcc-internal-format
+ msgid "conflicting declaration %q#D"
+ msgstr "déclaration conflictuelle « %#D »"
+
+-#: cp/decl.c:1406
++#: cp/decl.c:1407
+ #, fuzzy, gcc-internal-format
+ msgid "%q+D has a previous declaration as %q#D"
+ msgstr "« %D » a une déclaration précédente tel que « %#D »"
+@@ -28169,63 +28130,63 @@
+ #. A namespace-name defined at global scope shall not be
+ #. declared as the name of any other entity in any global scope
+ #. of the program.
+-#: cp/decl.c:1458
++#: cp/decl.c:1459
+ #, fuzzy, gcc-internal-format
+ msgid "declaration of namespace %qD conflicts with"
+ msgstr "déclaration de « namespace %D » entre en conflit avec"
+
+-#: cp/decl.c:1459
++#: cp/decl.c:1460
+ #, fuzzy, gcc-internal-format
+ msgid "previous declaration of namespace %q+D here"
+ msgstr "déclaration précédente de « namespace %D » ici"
+
+-#: cp/decl.c:1470
++#: cp/decl.c:1471
+ #, fuzzy, gcc-internal-format
+ msgid "%q+#D previously defined here"
+ msgstr "« %#D » précédemment défini ici"
+
+ #. Prototype decl follows defn w/o prototype.
+-#: cp/decl.c:1480
++#: cp/decl.c:1481
+ #, fuzzy, gcc-internal-format
+ msgid "prototype for %q+#D"
+ msgstr "prototype de « %#D »"
+
+-#: cp/decl.c:1481
++#: cp/decl.c:1482
+ #, gcc-internal-format
+ msgid "%Jfollows non-prototype definition here"
+ msgstr "%Jsuit la définition d'un non prototype ici"
+
+-#: cp/decl.c:1521
++#: cp/decl.c:1522
+ #, fuzzy, gcc-internal-format
+ msgid "previous declaration of %q+#D with %qL linkage"
+ msgstr "déclaration précédente de « %#D » avec le lien %L"
+
+-#: cp/decl.c:1523
++#: cp/decl.c:1524
+ #, fuzzy, gcc-internal-format
+ msgid "conflicts with new declaration with %qL linkage"
+ msgstr "conflits avec la nouvelle déclaration avec le lien %L"
+
+-#: cp/decl.c:1546 cp/decl.c:1552
++#: cp/decl.c:1547 cp/decl.c:1553
+ #, fuzzy, gcc-internal-format
+ msgid "default argument given for parameter %d of %q#D"
+ msgstr "argument par défaut donné pour le paramètre %d de « %#D »"
+
+-#: cp/decl.c:1548 cp/decl.c:1554
++#: cp/decl.c:1549 cp/decl.c:1555
+ #, fuzzy, gcc-internal-format
+ msgid "after previous specification in %q+#D"
+ msgstr "après la déclaration précédente dans « %#D »"
+
+-#: cp/decl.c:1563
++#: cp/decl.c:1564
+ #, fuzzy, gcc-internal-format
+ msgid "%q#D was used before it was declared inline"
+ msgstr "« %#D » a été utilisé avant qu'il ne soit déclaré enligne"
+
+-#: cp/decl.c:1564
++#: cp/decl.c:1565
+ #, gcc-internal-format
+ msgid "%Jprevious non-inline declaration here"
+ msgstr "%Jdéclaration précédente non enligne ici"
+
+-#: cp/decl.c:1617
++#: cp/decl.c:1618
+ #, fuzzy, gcc-internal-format
+ msgid "redundant redeclaration of %qD in same scope"
+ msgstr "déclaration redondante de « %D » dans la même étendue"
+@@ -28238,313 +28199,319 @@
+ #. that specialization that would cause an implicit
+ #. instantiation to take place, in every translation unit in
+ #. which such a use occurs.
+-#: cp/decl.c:1932
++#: cp/decl.c:1939
+ #, fuzzy, gcc-internal-format
+ msgid "explicit specialization of %qD after first use"
+ msgstr "spécialisation explicite de %D après la première utilisation"
+
+-#: cp/decl.c:2028
++#: cp/decl.c:2035
+ #, fuzzy, gcc-internal-format
+ msgid "%q+D: visibility attribute ignored because it"
+ msgstr "%J« %D »: attribut de visibilité ignoré en cause de lui"
+
+-#: cp/decl.c:2030
++#: cp/decl.c:2037
+ #, gcc-internal-format
+ msgid "%Jconflicts with previous declaration here"
+ msgstr "%Jentre en conflit avec la déclaration précédente ici"
+
+-#: cp/decl.c:2457
++#: cp/decl.c:2464
+ #, fuzzy, gcc-internal-format
+ msgid "jump to label %qD"
+ msgstr "saut à l'étiquette « %D »"
+
+-#: cp/decl.c:2459
++#: cp/decl.c:2466
+ #, gcc-internal-format
+ msgid "jump to case label"
+ msgstr "saut à l'étiquette du « case »"
+
+-#: cp/decl.c:2461
++#: cp/decl.c:2468
+ #, gcc-internal-format
+ msgid "%H from here"
+ msgstr "%H à partir d'ici"
+
+-#: cp/decl.c:2480 cp/decl.c:2643
++#: cp/decl.c:2487 cp/decl.c:2650
+ #, gcc-internal-format
+ msgid " exits OpenMP structured block"
+ msgstr ""
+
+-#: cp/decl.c:2501
++#: cp/decl.c:2508
+ #, fuzzy, gcc-internal-format
+ msgid " crosses initialization of %q+#D"
+ msgstr " initialisation croisée pour « %#D »"
+
+-#: cp/decl.c:2503 cp/decl.c:2618
++#: cp/decl.c:2510 cp/decl.c:2625
+ #, fuzzy, gcc-internal-format
+ msgid " enters scope of non-POD %q+#D"
+ msgstr " entre dans la porté d'un non POD « %#D »"
+
+-#: cp/decl.c:2516 cp/decl.c:2622
++#: cp/decl.c:2523 cp/decl.c:2629
+ #, gcc-internal-format
+ msgid " enters try block"
+ msgstr " entre dans le bloc d'essais"
+
+-#: cp/decl.c:2518 cp/decl.c:2624
++#: cp/decl.c:2525 cp/decl.c:2631
+ #, gcc-internal-format
+ msgid " enters catch block"
+ msgstr " entre dans le bloc d'interceptions"
+
+-#: cp/decl.c:2528 cp/decl.c:2627
++#: cp/decl.c:2535 cp/decl.c:2634
+ #, fuzzy, gcc-internal-format
+ msgid " enters OpenMP structured block"
+ msgstr " entre dans le bloc d'essais"
+
+-#: cp/decl.c:2599 cp/decl.c:2639
++#: cp/decl.c:2606 cp/decl.c:2646
+ #, fuzzy, gcc-internal-format
+ msgid "jump to label %q+D"
+ msgstr "saut à l'étiquette « %D »"
+
+-#: cp/decl.c:2600 cp/decl.c:2640
++#: cp/decl.c:2607 cp/decl.c:2647
+ #, gcc-internal-format
+ msgid " from here"
+ msgstr " à partir d'ici"
+
+ #. Can't skip init of __exception_info.
+-#: cp/decl.c:2612
++#: cp/decl.c:2619
+ #, gcc-internal-format
+ msgid "%J enters catch block"
+ msgstr "%J entre dans le bloc d'interception"
+
+-#: cp/decl.c:2616
++#: cp/decl.c:2623
+ #, fuzzy, gcc-internal-format
+ msgid " skips initialization of %q+#D"
+ msgstr " saut d'initialisation pour « %#D »"
+
+-#: cp/decl.c:2692
++#: cp/decl.c:2699
+ #, gcc-internal-format
+ msgid "label named wchar_t"
+ msgstr "étiquette nommée wchar_t"
+
+-#: cp/decl.c:2696
++#: cp/decl.c:2703
+ #, fuzzy, gcc-internal-format
+ msgid "duplicate label %qD"
+ msgstr "étiquette « %D » apparaît en double"
+
+-#: cp/decl.c:2962
++#: cp/decl.c:2969
+ #, fuzzy, gcc-internal-format
+ msgid "%qD is not a type"
+ msgstr "« %T::%D » n'est pas un type"
+
+-#: cp/decl.c:2968 cp/parser.c:4033
++#: cp/decl.c:2975 cp/parser.c:4037
+ #, fuzzy, gcc-internal-format
+ msgid "%qD used without template parameters"
+ msgstr "« %D » utilisé sans patron de paramétres"
+
+-#: cp/decl.c:2983
++#: cp/decl.c:2990
+ #, fuzzy, gcc-internal-format
+ msgid "%q#T is not a class"
+ msgstr "« %T » n'est pas un type de classe"
+
+-#: cp/decl.c:2995 cp/decl.c:3063
++#: cp/decl.c:3002 cp/decl.c:3070
+ #, fuzzy, gcc-internal-format
+ msgid "no class template named %q#T in %q#T"
+ msgstr "pas de patron de classe nommé « %#T » in « %#T »"
+
+-#: cp/decl.c:3003
++#: cp/decl.c:3010
+ #, gcc-internal-format
+ msgid "%<typename %T::%D%> names %q#T, which is not a class template"
+ msgstr ""
+
+-#: cp/decl.c:3010
++#: cp/decl.c:3017
+ #, gcc-internal-format
+ msgid "%<typename %T::%D%> names %q#T, which is not a type"
+ msgstr ""
+
+-#: cp/decl.c:3072
++#: cp/decl.c:3079
+ #, fuzzy, gcc-internal-format
+ msgid "template parameters do not match template"
+ msgstr "paramètres du patron ne peuvent pas être amis"
+
+-#: cp/decl.c:3073 cp/friend.c:321 cp/friend.c:329
++#: cp/decl.c:3080 cp/friend.c:321 cp/friend.c:329
+ #, fuzzy, gcc-internal-format
+ msgid "%q+D declared here"
+ msgstr " « %#D » déclaré ici"
+
+-#: cp/decl.c:3711
++#: cp/decl.c:3727
+ #, fuzzy, gcc-internal-format
+ msgid "%Jan anonymous struct cannot have function members"
+ msgstr "%Jun UNION anonyme ne peut avoir de fonctions membres"
+
+-#: cp/decl.c:3713
++#: cp/decl.c:3729
+ #, gcc-internal-format
+ msgid "%Jan anonymous union cannot have function members"
+ msgstr "%Jun UNION anonyme ne peut avoir de fonctions membres"
+
+-#: cp/decl.c:3731
++#: cp/decl.c:3747
+ #, fuzzy, gcc-internal-format
+ msgid "member %q+#D with constructor not allowed in anonymous aggregate"
+ msgstr "membre « %#D » avec constructeur n'est pas permis dans un aggrégat anonyme"
+
+-#: cp/decl.c:3734
++#: cp/decl.c:3750
+ #, fuzzy, gcc-internal-format
+ msgid "member %q+#D with destructor not allowed in anonymous aggregate"
+ msgstr "membre « %#D » avec destructeur n'est pas permis dans un aggrégat anonyme"
+
+-#: cp/decl.c:3737
++#: cp/decl.c:3753
+ #, fuzzy, gcc-internal-format
+ msgid "member %q+#D with copy assignment operator not allowed in anonymous aggregate"
+ msgstr "membre « %#D » avec opérateur d'affectation par copie n'est pas permis dans un aggrégat anonyme"
+
+-#: cp/decl.c:3762
++#: cp/decl.c:3778
+ #, gcc-internal-format
+ msgid "multiple types in one declaration"
+ msgstr "types multiples dans une déclaration"
+
+-#: cp/decl.c:3766
++#: cp/decl.c:3782
+ #, fuzzy, gcc-internal-format
+ msgid "redeclaration of C++ built-in type %qT"
+ msgstr "redéclaration du type interne C++ « %T »"
+
+-#: cp/decl.c:3803
++#: cp/decl.c:3819
+ #, gcc-internal-format
+ msgid "missing type-name in typedef-declaration"
+ msgstr "nom de type manquant dans la déclaration typedef"
+
+-#: cp/decl.c:3811
++#: cp/decl.c:3827
+ #, gcc-internal-format
+ msgid "ISO C++ prohibits anonymous structs"
+ msgstr "ISO C++ interdit les structures anonymes"
+
+-#: cp/decl.c:3818
++#: cp/decl.c:3834
+ #, fuzzy, gcc-internal-format
+ msgid "%qs can only be specified for functions"
+ msgstr "« %D » ne peut seulement être spécifier pour les fonctions"
+
+-#: cp/decl.c:3824
++#: cp/decl.c:3840
+ #, fuzzy, gcc-internal-format
+ msgid "%<friend%> can only be specified inside a class"
+ msgstr "« %D » peut seulement être spécifié à l'intérieur d'une classe"
+
+-#: cp/decl.c:3826
++#: cp/decl.c:3842
+ #, fuzzy, gcc-internal-format
+ msgid "%<explicit%> can only be specified for constructors"
+ msgstr "« %D » ne peut seulement être spécifié pour les constructeurs"
+
+-#: cp/decl.c:3828
++#: cp/decl.c:3844
+ #, fuzzy, gcc-internal-format
+ msgid "a storage class can only be specified for objects and functions"
+ msgstr "« %D » ne peut seulement être spécifié pour les objets et les fonctions"
+
+-#: cp/decl.c:3834
++#: cp/decl.c:3850
+ #, fuzzy, gcc-internal-format
+ msgid "qualifiers can only be specified for objects and functions"
+ msgstr "« %D » ne peut seulement être spécifié pour les objets et les fonctions"
+
+-#: cp/decl.c:3837
++#: cp/decl.c:3853
+ #, fuzzy, gcc-internal-format
+ msgid "%<typedef%> was ignored in this declaration"
+ msgstr "dans la déclaration de « %s », utilisation de « int » par défaut pour le type"
+
+-#: cp/decl.c:3866
++#: cp/decl.c:3882
+ #, fuzzy, gcc-internal-format
+ msgid "attribute ignored in declaration of %q+#T"
+ msgstr "déclaration amie précédente de « %D »"
+
+-#: cp/decl.c:3867
++#: cp/decl.c:3883
+ #, gcc-internal-format
+ msgid "attribute for %q+#T must follow the %qs keyword"
+ msgstr ""
+
+-#: cp/decl.c:3909
++#: cp/decl.c:3925
+ #, fuzzy, gcc-internal-format
+-msgid "ignoring attributes applied to class type outside of definition"
++msgid "ignoring attributes applied to class type %qT outside of definition"
+ msgstr "attribut « %s » peut seulement être appliqué aux définitions de classes"
+
+-#: cp/decl.c:3987
++#. A template type parameter or other dependent type.
++#: cp/decl.c:3929
++#, gcc-internal-format
++msgid "ignoring attributes applied to dependent type %qT without an associated declaration"
++msgstr ""
++
++#: cp/decl.c:4007
+ #, fuzzy, gcc-internal-format
+ msgid "function %q#D is initialized like a variable"
+ msgstr "fonction « %#D » est initialisée comme une variable"
+
+-#: cp/decl.c:3998
++#: cp/decl.c:4018
+ #, fuzzy, gcc-internal-format
+ msgid "declaration of %q#D has %<extern%> and is initialized"
+ msgstr "déclaration de « %#D » est externe et initialisé"
+
+-#: cp/decl.c:4014
++#: cp/decl.c:4034
+ #, fuzzy, gcc-internal-format
+ msgid "definition of %q#D is marked %<dllimport%>"
+ msgstr "%Jdéfinition de la fonction « %D » est marquée dllimport"
+
+-#: cp/decl.c:4033
++#: cp/decl.c:4053
+ #, fuzzy, gcc-internal-format
+ msgid "%q#D is not a static member of %q#T"
+ msgstr "« %#D » n'est pas un membre statique de « %#T »"
+
+-#: cp/decl.c:4039
++#: cp/decl.c:4059
+ #, fuzzy, gcc-internal-format
+ msgid "ISO C++ does not permit %<%T::%D%> to be defined as %<%T::%D%>"
+ msgstr "ISO C++ ne permet pas que « %T::%D » soit défini comme « %T::%D »"
+
+-#: cp/decl.c:4048
++#: cp/decl.c:4068
+ #, gcc-internal-format
+ msgid "template header not allowed in member definition of explicitly specialized class"
+ msgstr ""
+
+-#: cp/decl.c:4056
++#: cp/decl.c:4076
+ #, fuzzy, gcc-internal-format
+ msgid "duplicate initialization of %qD"
+ msgstr "initialisation en double de %D"
+
+-#: cp/decl.c:4095
++#: cp/decl.c:4115
+ #, fuzzy, gcc-internal-format
+ msgid "declaration of %q#D outside of class is not definition"
+ msgstr "déclaraion de « %#D » en dehors de la classe n'est pas une définition"
+
+-#: cp/decl.c:4188
++#: cp/decl.c:4208
+ #, fuzzy, gcc-internal-format
+ msgid "variable %q#D has initializer but incomplete type"
+ msgstr "la variable « %#D » est initialisée, mais a un type incomplet"
+
+-#: cp/decl.c:4194 cp/decl.c:4906
++#: cp/decl.c:4214 cp/decl.c:4926
+ #, fuzzy, gcc-internal-format
+ msgid "elements of array %q#D have incomplete type"
+ msgstr "éléments du tableau « %#D » ont un type incomplet"
+
+-#: cp/decl.c:4200
++#: cp/decl.c:4220
+ #, fuzzy, gcc-internal-format
+ msgid "aggregate %q#D has incomplete type and cannot be defined"
+ msgstr "aggrégat « %#D » a un type incomplet et ne peut être défini"
+
+-#: cp/decl.c:4236
++#: cp/decl.c:4256
+ #, fuzzy, gcc-internal-format
+ msgid "%qD declared as reference but not initialized"
+ msgstr "« %D » déclaré comme référence mais n'est pas initialisé"
+
+-#: cp/decl.c:4242
++#: cp/decl.c:4262
+ #, fuzzy, gcc-internal-format
+ msgid "ISO C++ forbids use of initializer list to initialize reference %qD"
+ msgstr "ISO C++ interdit l'usage de liste d'initialiseur pour initialiser la référence « %D »"
+
+-#: cp/decl.c:4268
++#: cp/decl.c:4288
+ #, fuzzy, gcc-internal-format
+ msgid "cannot initialize %qT from %qT"
+ msgstr "ne peut initialiser « %T » à partir de « %T »"
+
+-#: cp/decl.c:4296
++#: cp/decl.c:4316
+ #, fuzzy, gcc-internal-format
+ msgid "name %qD used in a GNU-style designated initializer for an array"
+ msgstr "nom « %D » utilisé dans un style GNU de l'initialisateur désigné pour un tableau"
+
+-#: cp/decl.c:4345
++#: cp/decl.c:4365
+ #, fuzzy, gcc-internal-format
+ msgid "initializer fails to determine size of %qD"
+ msgstr "l'initialisation n'a pu déterminer la taille de « %D »"
+
+-#: cp/decl.c:4352
++#: cp/decl.c:4372
+ #, fuzzy, gcc-internal-format
+ msgid "array size missing in %qD"
+ msgstr "taille de tableau manquante dans « %D »"
+
+-#: cp/decl.c:4364
++#: cp/decl.c:4384
+ #, fuzzy, gcc-internal-format
+ msgid "zero-size array %qD"
+ msgstr "tableau « %D » de taille zéro"
+@@ -28552,240 +28519,250 @@
+ #. An automatic variable with an incomplete type: that is an error.
+ #. Don't talk about array types here, since we took care of that
+ #. message in grokdeclarator.
+-#: cp/decl.c:4407
++#: cp/decl.c:4427
+ #, fuzzy, gcc-internal-format
+ msgid "storage size of %qD isn't known"
+ msgstr "taille de stockage de « %D » n'est pas connue"
+
+-#: cp/decl.c:4429
++#: cp/decl.c:4449
+ #, fuzzy, gcc-internal-format
+ msgid "storage size of %qD isn't constant"
+ msgstr "taille de stockage de « %D » n'est pas une constante"
+
+-#: cp/decl.c:4478
++#: cp/decl.c:4498
+ #, fuzzy, 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é: sémantique de fonction enligne de données statiques « %#D » est erronée (vous obtiendrez de multiples copies)"
+
+-#: cp/decl.c:4481
++#: cp/decl.c:4501
+ #, gcc-internal-format
+ msgid "%J you can work around this by removing the initializer"
+ msgstr "%J vous pouvez contourner cela en enlevant l'initialiseur"
+
+-#: cp/decl.c:4508
++#: cp/decl.c:4528
+ #, fuzzy, gcc-internal-format
+ msgid "uninitialized const %qD"
+ msgstr "constante « %D » non initialisée"
+
+-#: cp/decl.c:4620
++#: cp/decl.c:4640
+ #, fuzzy, gcc-internal-format
+ msgid "invalid type %qT as initializer for a vector of type %qT"
+ msgstr "initialisation invalide pour la méthode virtuelle « %D »"
+
+-#: cp/decl.c:4662
++#: cp/decl.c:4682
+ #, fuzzy, gcc-internal-format
+ msgid "initializer for %qT must be brace-enclosed"
+ msgstr "initialiseur de « %T » doit être entre accolades"
+
+-#: cp/decl.c:4680
++#: cp/decl.c:4700
+ #, fuzzy, gcc-internal-format
+ msgid "%qT has no non-static data member named %qD"
+ msgstr "« %T » n'a pas de membre de données non statique nommé « %D »"
+
+-#: cp/decl.c:4731
++#: cp/decl.c:4751
+ #, fuzzy, gcc-internal-format
+ msgid "braces around scalar initializer for type %qT"
+ msgstr "accolades autour de l'initialiseur scalaire pour « %T »"
+
+-#: cp/decl.c:4814
++#: cp/decl.c:4834
+ #, fuzzy, gcc-internal-format
+ msgid "missing braces around initializer for %qT"
+ msgstr "accolades manquantes autour de l'initialisation"
+
+-#: cp/decl.c:4871
++#: cp/decl.c:4891
+ #, fuzzy, gcc-internal-format
+ msgid "too many initializers for %qT"
+ msgstr "trop d'initialiseurs pour « %T »"
+
+-#: cp/decl.c:4914
++#: cp/decl.c:4934
+ #, fuzzy, gcc-internal-format
+ msgid "variable-sized object %qD may not be initialized"
+ msgstr "objet de taille variable « %D » peut ne pas être initialisé"
+
+-#: cp/decl.c:4920
++#: cp/decl.c:4940
+ #, fuzzy, gcc-internal-format
+ msgid "%qD has incomplete type"
+ msgstr "« %D » a un type incomplet"
+
+-#: cp/decl.c:4935
++#: cp/decl.c:4955
+ #, fuzzy, gcc-internal-format
+ msgid "scalar object %qD requires one element in initializer"
+ msgstr "éléments en excès dans l'initialisation d'union"
+
+ #. A non-aggregate that is not a scalar cannot be initialized
+ #. via an initializer-list in C++98.
+-#: cp/decl.c:4945
++#: cp/decl.c:4965
+ #, fuzzy, gcc-internal-format
+ msgid "braces around initializer for non-aggregate type %qT"
+ msgstr "accolades autour de l'initialiseur scalaire pour « %T »"
+
+-#: cp/decl.c:4995
++#: cp/decl.c:5015
+ #, fuzzy, gcc-internal-format
+ msgid "%qD must be initialized by constructor, not by %<{...}%>"
+ msgstr "« %D » doit être initialisé par un constructeur, non pas par « {...} »"
+
+-#: cp/decl.c:5031
++#: cp/decl.c:5051
+ #, fuzzy, gcc-internal-format
+ msgid "array %qD initialized by parenthesized string literal %qE"
+ msgstr "_Pragma prend une chaîne entourée de parenthèrese"
+
+-#: cp/decl.c:5046
++#: cp/decl.c:5066
+ #, fuzzy, gcc-internal-format
+ msgid "structure %qD with uninitialized const members"
+ msgstr "structure « %D » avec constantes non initialisées de membres"
+
+-#: cp/decl.c:5048
++#: cp/decl.c:5068
+ #, fuzzy, gcc-internal-format
+ msgid "structure %qD with uninitialized reference members"
+ msgstr "structure « %D » avec références non initialisées de membres"
+
+-#: cp/decl.c:5330
++#: cp/decl.c:5364
+ #, gcc-internal-format
+ msgid "assignment (not initialization) in declaration"
+ msgstr "affectation (non pas l'initialisation) dans la déclaration"
+
+-#: cp/decl.c:5420
++#: cp/decl.c:5460
+ #, fuzzy, gcc-internal-format
+ msgid "shadowing previous type declaration of %q#D"
+ msgstr "masque la déclaration précédente de « %#D »"
+
+-#: cp/decl.c:5450
++#: cp/decl.c:5490
+ #, fuzzy, gcc-internal-format
+ msgid "%qD cannot be thread-local because it has non-POD type %qT"
+ msgstr "« %D » ne peut être utilisé comme un thread local parce qu'il a un non POD de type « %T »"
+
+-#: cp/decl.c:5485
++#: cp/decl.c:5522
++#, gcc-internal-format
++msgid "Java object %qD not allocated with %<new%>"
++msgstr ""
++
++#: cp/decl.c:5539
+ #, fuzzy, gcc-internal-format
+ msgid "%qD is thread-local and so cannot be dynamically initialized"
+ msgstr "« %D » est un thread local et ne peut donc pas être initialisé dynamiquement"
+
+-#: cp/decl.c:5503
++#: cp/decl.c:5557
+ #, fuzzy, gcc-internal-format
+ msgid "%qD cannot be initialized by a non-constant expression when being declared"
+ msgstr "tableau initialisé à l'aide de l'expression de tableau non constante"
+
+-#: cp/decl.c:6160
++#: cp/decl.c:5597
++#, gcc-internal-format
++msgid "non-static data member %qD has Java class type"
++msgstr ""
++
++#: cp/decl.c:6232
+ #, fuzzy, gcc-internal-format
+ msgid "destructor for alien class %qT cannot be a member"
+ msgstr "destructeur pour la classe étrangère « %T » ne peut être un membre"
+
+-#: cp/decl.c:6162
++#: cp/decl.c:6234
+ #, fuzzy, gcc-internal-format
+ msgid "constructor for alien class %qT cannot be a member"
+ msgstr "constructeur pour la classe étrangère « %T » ne peut être un membre"
+
+-#: cp/decl.c:6183
++#: cp/decl.c:6255
+ #, fuzzy, gcc-internal-format
+ msgid "%qD declared as a %<virtual%> %s"
+ msgstr "« %D» déclaré comme « virtual » %s"
+
+-#: cp/decl.c:6185
++#: cp/decl.c:6257
+ #, fuzzy, gcc-internal-format
+ msgid "%qD declared as an %<inline%> %s"
+ msgstr "« %D» déclaré comme « inline » %s"
+
+-#: cp/decl.c:6187
++#: cp/decl.c:6259
+ #, fuzzy, gcc-internal-format
+ msgid "%<const%> and %<volatile%> function specifiers on %qD invalid in %s declaration"
+ msgstr "spécificateurs de fonction « const» et «volatile» invalide pour « %D » dans la déclaration %s"
+
+-#: cp/decl.c:6191
++#: cp/decl.c:6263
+ #, fuzzy, gcc-internal-format
+ msgid "%q+D declared as a friend"
+ msgstr "« %D » déclaré comme un ami"
+
+-#: cp/decl.c:6197
++#: cp/decl.c:6269
+ #, fuzzy, gcc-internal-format
+ msgid "%q+D declared with an exception specification"
+ msgstr "« %D » déclaré avec une exception de spécification"
+
+-#: cp/decl.c:6231
++#: cp/decl.c:6303
+ #, fuzzy, gcc-internal-format
+ msgid "definition of %qD is not in namespace enclosing %qT"
+ msgstr "déclaration de « %D » n'est pas dans l'espace de noms entourant « %D »"
+
+-#: cp/decl.c:6342
++#: cp/decl.c:6414
+ #, fuzzy, gcc-internal-format
+ msgid "defining explicit specialization %qD in friend declaration"
+ msgstr "définition explicite de spécialisation « %D » dans lka déclaration ami"
+
+ #. Something like `template <class T> friend void f<T>()'.
+-#: cp/decl.c:6352
++#: cp/decl.c:6424
+ #, fuzzy, gcc-internal-format
+ msgid "invalid use of template-id %qD in declaration of primary template"
+ msgstr "utilisation invalide du template-id « %D » dans la déclaration du patron primaire"
+
+-#: cp/decl.c:6382
++#: cp/decl.c:6454
+ #, fuzzy, gcc-internal-format
+ msgid "default arguments are not allowed in declaration of friend template specialization %qD"
+ msgstr "arguments par défaut ne sont pas permis dans la déclaration amie de la spécialisation du patron « %D »"
+
+-#: cp/decl.c:6390
++#: cp/decl.c:6462
+ #, fuzzy, gcc-internal-format
+ msgid "%<inline%> is not allowed in declaration of friend template specialization %qD"
+ msgstr "« inline» n'estpas permis dans la déclaration amie de la spécialisation du patron « %D »"
+
+-#: cp/decl.c:6433
++#: cp/decl.c:6505
+ #, fuzzy, gcc-internal-format
+ msgid "cannot declare %<::main%> to be a template"
+ msgstr "ne peut déclarer « ::main » comme étant un patron"
+
+-#: cp/decl.c:6435
++#: cp/decl.c:6507
+ #, fuzzy, gcc-internal-format
+ msgid "cannot declare %<::main%> to be inline"
+ msgstr "ne peut déclarer «::main» à être enligne"
+
+-#: cp/decl.c:6437
++#: cp/decl.c:6509
+ #, fuzzy, gcc-internal-format
+ msgid "cannot declare %<::main%> to be static"
+ msgstr "ne peut déclarer « ::main » comme étant static"
+
+-#: cp/decl.c:6465
++#: cp/decl.c:6537
+ #, fuzzy, gcc-internal-format
+ msgid "non-local function %q#D uses anonymous type"
+ msgstr "fonction non locale « %#D » utilise un type anonyme"
+
+-#: cp/decl.c:6468 cp/decl.c:6748
++#: cp/decl.c:6540 cp/decl.c:6820
+ #, fuzzy, gcc-internal-format
+ msgid "%q+#D does not refer to the unqualified type, so it is not used for linkage"
+ msgstr "« %#D » ne réfère pas à un type non qualifié, aussi il n'est pas utilisé pour la liaison"
+
+-#: cp/decl.c:6474
++#: cp/decl.c:6546
+ #, fuzzy, gcc-internal-format
+ msgid "non-local function %q#D uses local type %qT"
+ msgstr "fonction non locale « %#D » utilise un type local « %T »"
+
+-#: cp/decl.c:6498
++#: cp/decl.c:6570
+ #, fuzzy, gcc-internal-format
+ msgid "static member function %qD cannot have cv-qualifier"
+ msgstr "%sfonction membre « %D » ne peut avoir « %T » comme qualificateur de méthode"
+
+-#: cp/decl.c:6499
++#: cp/decl.c:6571
+ #, fuzzy, gcc-internal-format
+ msgid "non-member function %qD cannot have cv-qualifier"
+ msgstr "%sfonction membre « %D » ne peut avoir « %T » comme qualificateur de méthode"
+
+-#: cp/decl.c:6547
++#: cp/decl.c:6619
+ #, fuzzy, gcc-internal-format
+ msgid "%<::main%> must return %<int%>"
+ msgstr "« main» doit retourner « int »"
+
+-#: cp/decl.c:6586
++#: cp/decl.c:6658
+ #, fuzzy, gcc-internal-format
+ msgid "definition of implicitly-declared %qD"
+ msgstr "définition implicitement déclarée « %D »"
+
+-#: cp/decl.c:6603 cp/decl2.c:677
++#: cp/decl.c:6675 cp/decl2.c:677
+ #, fuzzy, gcc-internal-format
+ msgid "no %q#D member function declared in class %qT"
+ msgstr "pas de fonction membre « %#D » déclarée dans la classe « %T »"
+@@ -28794,546 +28771,551 @@
+ #. 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/decl.c:6745
++#: cp/decl.c:6817
+ #, fuzzy, gcc-internal-format
+ msgid "non-local variable %q#D uses anonymous type"
+ msgstr "fonction non locale « %#D » utilise un type anonyme"
+
+-#: cp/decl.c:6754
++#: cp/decl.c:6826
+ #, fuzzy, gcc-internal-format
+ msgid "non-local variable %q#D uses local type %qT"
+ msgstr "variable non locale « %#D » utilise un type local « %T »"
+
+-#: cp/decl.c:6876
++#: cp/decl.c:6948
+ #, fuzzy, gcc-internal-format
+ msgid "invalid in-class initialization of static data member of non-integral type %qT"
+ msgstr "initialisation invalide dans la class de données de membre statiques d'un non entier de type « %T »"
+
+-#: cp/decl.c:6886
++#: cp/decl.c:6958
+ #, fuzzy, gcc-internal-format
+ msgid "ISO C++ forbids in-class initialization of non-const static member %qD"
+ msgstr "ISO C++ interdit l'initialisation intra-classe d'un membre statique non constant « %D »"
+
+-#: cp/decl.c:6890
++#: cp/decl.c:6962
+ #, fuzzy, gcc-internal-format
+ msgid "ISO C++ forbids initialization of member constant %qD of non-integral type %qT"
+ msgstr "ISO C++ interdit l'initialisation d'une membre constant « %D » d'un type non entier « %T »"
+
+-#: cp/decl.c:6915
++#: cp/decl.c:6987
+ #, fuzzy, gcc-internal-format
+ msgid "size of array %qD has non-integral type %qT"
+ msgstr "taille du tableau « %D » n'est pas de type entier « %T »"
+
+-#: cp/decl.c:6917
++#: cp/decl.c:6989
+ #, fuzzy, gcc-internal-format
+ msgid "size of array has non-integral type %qT"
+ msgstr "taille du tableau a type non entier « %T »"
+
+-#: cp/decl.c:6965
++#: cp/decl.c:7037
+ #, fuzzy, gcc-internal-format
+ msgid "size of array %qD is negative"
+ msgstr "taille du tableau « %D » est négative"
+
+-#: cp/decl.c:6967
++#: cp/decl.c:7039
+ #, gcc-internal-format
+ msgid "size of array is negative"
+ msgstr "taille du tableau est négative"
+
+-#: cp/decl.c:6975
++#: cp/decl.c:7047
+ #, fuzzy, gcc-internal-format
+ msgid "ISO C++ forbids zero-size array %qD"
+ msgstr "ISO C++ interdit les tableaux de taille zéro « %D »"
+
+-#: cp/decl.c:6977
++#: cp/decl.c:7049
+ #, gcc-internal-format
+ msgid "ISO C++ forbids zero-size array"
+ msgstr "ISO C++ interdit les tableaux de taille zéro"
+
+-#: cp/decl.c:6984
++#: cp/decl.c:7056
+ #, fuzzy, gcc-internal-format
+ msgid "size of array %qD is not an integral constant-expression"
+ msgstr "taille du tableau « %D » n'a pas une expression de constante de type entier"
+
+-#: cp/decl.c:6987
++#: cp/decl.c:7059
+ #, gcc-internal-format
+ msgid "size of array is not an integral constant-expression"
+ msgstr "taille du tableau n'est pas une expression de constante de type entier"
+
+-#: cp/decl.c:6993
++#: cp/decl.c:7065
+ #, fuzzy, gcc-internal-format
+ msgid "ISO C++ forbids variable length array %qD"
+ msgstr "ISO C++ interdit les tableaus de taille variable « %D »"
+
+-#: cp/decl.c:6995
++#: cp/decl.c:7067
+ #, fuzzy, gcc-internal-format
+ msgid "ISO C++ forbids variable length array"
+ msgstr "ISO C++ interdit le tableau de taille variable"
+
+-#: cp/decl.c:7001
++#: cp/decl.c:7073
+ #, gcc-internal-format
+ msgid "variable length array %qD is used"
+ msgstr ""
+
+-#: cp/decl.c:7035
++#: cp/decl.c:7107
+ #, gcc-internal-format
+ msgid "overflow in array dimension"
+ msgstr "débordement dans les dimensions du tableau"
+
+-#: cp/decl.c:7116
++#: cp/decl.c:7188
+ #, fuzzy, gcc-internal-format
+ msgid "declaration of %qD as %s"
+ msgstr "déclaration de « %D » comme « %s »"
+
+-#: cp/decl.c:7118
++#: cp/decl.c:7190
+ #, gcc-internal-format
+ msgid "creating %s"
+ msgstr "création de %s"
+
+-#: cp/decl.c:7130
++#: cp/decl.c:7202
+ #, fuzzy, gcc-internal-format
+ msgid "declaration of %qD as multidimensional array must have bounds for all dimensions except the first"
+ msgstr "déclaration de « %D » comme tableau multidimensionel doit avoir des bornes pour chaque dimension excepté pour la première"
+
+-#: cp/decl.c:7134
++#: cp/decl.c:7206
+ #, gcc-internal-format
+ msgid "multidimensional array must have bounds for all dimensions except the first"
+ msgstr "tableau multidimensionel doit avoir des bornes pour chaque dimension excepté pour la première"
+
+-#: cp/decl.c:7169
++#: cp/decl.c:7241
+ #, gcc-internal-format
+ msgid "return type specification for constructor invalid"
+ msgstr "spécification de type retourné pour un constructeur est invalide"
+
+-#: cp/decl.c:7179
++#: cp/decl.c:7251
+ #, gcc-internal-format
+ msgid "return type specification for destructor invalid"
+ msgstr "spécification de type retourné pour un destructeur est invalide"
+
+-#: cp/decl.c:7192
++#: cp/decl.c:7264
+ #, fuzzy, gcc-internal-format
+ msgid "return type specified for %<operator %T%>"
+ msgstr "type spécifié retourné pour l'opérateur « %T »"
+
+-#: cp/decl.c:7214
++#: cp/decl.c:7286
+ #, gcc-internal-format
+ msgid "unnamed variable or field declared void"
+ msgstr "variable non nommée ou champ déclaré void"
+
+-#: cp/decl.c:7218
++#: cp/decl.c:7290
+ #, fuzzy, gcc-internal-format
+ msgid "variable or field %qE declared void"
+ msgstr "variable ou champ « %E » déclaré « void »"
+
+-#: cp/decl.c:7221
++#: cp/decl.c:7293
+ #, gcc-internal-format
+ msgid "variable or field declared void"
+ msgstr "variable ou champ déclaré void"
+
+-#: cp/decl.c:7388
++#: cp/decl.c:7460
+ #, fuzzy, gcc-internal-format
+ msgid "invalid use of qualified-name %<::%D%>"
+ msgstr "utilisation invalide du membre « %D »"
+
+-#: cp/decl.c:7391
++#: cp/decl.c:7463
+ #, fuzzy, gcc-internal-format
+ msgid "invalid use of qualified-name %<%T::%D%>"
+ msgstr "définition invalide d'un type qualifié « %T »"
+
+-#: cp/decl.c:7394
++#: cp/decl.c:7466
+ #, fuzzy, gcc-internal-format
+ msgid "invalid use of qualified-name %<%D::%D%>"
+ msgstr "utilisation invalide du membre « %D »"
+
+-#: cp/decl.c:7406
++#: cp/decl.c:7478
+ #, fuzzy, gcc-internal-format
+ msgid "type %qT is not derived from type %qT"
+ msgstr "type « %T » n'est pas dérivé du type « %T »"
+
+-#: cp/decl.c:7422 cp/decl.c:7512 cp/decl.c:8660
++#: cp/decl.c:7494 cp/decl.c:7584 cp/decl.c:8732
+ #, fuzzy, gcc-internal-format
+ msgid "declaration of %qD as non-function"
+ msgstr "déclaration de « %D » comme non-fonction"
+
+-#: cp/decl.c:7428
++#: cp/decl.c:7500
+ #, fuzzy, gcc-internal-format
+ msgid "declaration of %qD as non-member"
+ msgstr "redéclaration de « %T » qui n'est pas un patron"
+
+-#: cp/decl.c:7457
++#: cp/decl.c:7529
+ #, fuzzy, gcc-internal-format
+ msgid "declarator-id missing; using reserved word %qD"
+ msgstr "declarator-id manquant; utilisation du mot réservé « %D »"
+
+-#: cp/decl.c:7504
++#: cp/decl.c:7576
+ #, fuzzy, gcc-internal-format
+ msgid "function definition does not declare parameters"
+ msgstr "définition de fonction déclarée « register »"
+
+-#: cp/decl.c:7546
++#: cp/decl.c:7618
+ #, fuzzy, gcc-internal-format
+ msgid "two or more data types in declaration of %qs"
+ msgstr "deux types de données ou plus dans la déclaration de « %s »"
+
+-#: cp/decl.c:7552
++#: cp/decl.c:7624
+ #, fuzzy, gcc-internal-format
+ msgid "conflicting specifiers in declaration of %qs"
+ msgstr "déclaration conflictuelle « %#D »"
+
+-#: cp/decl.c:7623 cp/decl.c:7626
++#: cp/decl.c:7695 cp/decl.c:7698
+ #, fuzzy, gcc-internal-format
+ msgid "ISO C++ forbids declaration of %qs with no type"
+ msgstr "ISO C++ interdit la déclaration de « %s » sans type"
+
+-#: cp/decl.c:7651
++#: cp/decl.c:7723
+ #, fuzzy, gcc-internal-format
+ msgid "%<signed%> or %<unsigned%> invalid for %qs"
+ msgstr "short, signed ou unsigned est invalide pour « %s »"
+
+-#: cp/decl.c:7653
++#: cp/decl.c:7725
+ #, fuzzy, gcc-internal-format
+ msgid "%<signed%> and %<unsigned%> specified together for %qs"
+ msgstr "signed et unsigned donnés ensembles pour « %s »"
+
+-#: cp/decl.c:7655
++#: cp/decl.c:7727
+ #, fuzzy, gcc-internal-format
+ msgid "%<long long%> invalid for %qs"
+ msgstr "« complex » invalide pour « %s »"
+
+-#: cp/decl.c:7657
++#: cp/decl.c:7729
+ #, fuzzy, gcc-internal-format
+ msgid "%<long%> invalid for %qs"
+ msgstr "« complex » invalide pour « %s »"
+
+-#: cp/decl.c:7659
++#: cp/decl.c:7731
+ #, fuzzy, gcc-internal-format
+ msgid "%<short%> invalid for %qs"
+ msgstr "« complex » invalide pour « %s »"
+
+-#: cp/decl.c:7661
++#: cp/decl.c:7733
+ #, fuzzy, gcc-internal-format
+ msgid "%<long%> or %<short%> invalid for %qs"
+ msgstr "« long », « short », « signed » ou « unsigned » invalide pour « %s »"
+
+-#: cp/decl.c:7663
++#: cp/decl.c:7735
+ #, fuzzy, gcc-internal-format
+ msgid "%<long%> or %<short%> specified with char for %qs"
+ msgstr "« long » ou « short » spécifié avec « char » pour « %s »"
+
+-#: cp/decl.c:7665
++#: cp/decl.c:7737
+ #, fuzzy, gcc-internal-format
+ msgid "%<long%> and %<short%> specified together for %qs"
+ msgstr "long et short spécifiés ensembles pour « %s »"
+
+-#: cp/decl.c:7671
++#: cp/decl.c:7743
+ #, fuzzy, gcc-internal-format
+ msgid "long, short, signed or unsigned used invalidly for %qs"
+ msgstr "« long », « short », « signed » ou « unsigned » utilisé incorrectement pour « %s »"
+
+-#: cp/decl.c:7735
++#: cp/decl.c:7807
+ #, fuzzy, gcc-internal-format
+ msgid "complex invalid for %qs"
+ msgstr "« complex » invalide pour « %s »"
+
+-#: cp/decl.c:7764
++#: cp/decl.c:7836
+ #, fuzzy, gcc-internal-format
+ msgid "qualifiers are not allowed on declaration of %<operator %T%>"
+ msgstr "qualificateurs ne sont pas permis dans la déclaration de « operator %T »"
+
+-#: cp/decl.c:7776 cp/typeck.c:7011
++#: cp/decl.c:7848 cp/typeck.c:7039
+ #, fuzzy, gcc-internal-format
+ msgid "ignoring %qV qualifiers added to function type %qT"
+ msgstr "qualificateurs « %V » ignorés pour « %T »"
+
+-#: cp/decl.c:7799
++#: cp/decl.c:7871
+ #, fuzzy, gcc-internal-format
+ msgid "member %qD cannot be declared both virtual and static"
+ msgstr "membre « %D » ne peut être déclaré virtuel et statique"
+
+-#: cp/decl.c:7807
++#: cp/decl.c:7879
+ #, fuzzy, gcc-internal-format
+ msgid "%<%T::%D%> is not a valid declarator"
+ msgstr "« %T::%D » n'est pas un déclarateur valide"
+
+-#: cp/decl.c:7816
++#: cp/decl.c:7888
+ #, gcc-internal-format
+ msgid "typedef declaration invalid in parameter declaration"
+ msgstr "déclaration typedef invalide dans le paramètre de la déclaration"
+
+-#: cp/decl.c:7822
++#: cp/decl.c:7894
+ #, gcc-internal-format
+ msgid "storage class specifiers invalid in parameter declarations"
+ msgstr "spécificateurs de classe de stockage invalides dans la déclaration des paramètres"
+
+-#: cp/decl.c:7829
++#: cp/decl.c:7901
+ #, gcc-internal-format
+ msgid "virtual outside class declaration"
+ msgstr "virtuel en dehors de la déclaration de classe"
+
+-#: cp/decl.c:7847
++#: cp/decl.c:7919
+ #, fuzzy, gcc-internal-format
+ msgid "multiple storage classes in declaration of %qs"
+ msgstr "multiples classes de stockage dans la déclaration de « %s »"
+
+-#: cp/decl.c:7870
++#: cp/decl.c:7942
+ #, fuzzy, gcc-internal-format
+ msgid "storage class specified for %qs"
+ msgstr "classe de stockage spécifiée pour %s « %s »"
+
+-#: cp/decl.c:7904
++#: cp/decl.c:7976
+ #, fuzzy, gcc-internal-format
+ msgid "top-level declaration of %qs specifies %<auto%>"
+ msgstr "la déclaration hors de toute fonction de « %s » a spécifié « auto »"
+
+-#: cp/decl.c:7916
++#: cp/decl.c:7988
+ #, gcc-internal-format
+ msgid "storage class specifiers invalid in friend function declarations"
+ msgstr "spécificateurs de classe de stockage invalide dans les déclarations de fonction amie"
+
+-#: cp/decl.c:8043
++#: cp/decl.c:8115
+ #, gcc-internal-format
+ msgid "destructor cannot be static member function"
+ msgstr "le destructeur ne peut être une fonction membre statique"
+
+-#: cp/decl.c:8048
++#: cp/decl.c:8120
+ #, fuzzy, gcc-internal-format
+ msgid "destructors may not be cv-qualified"
+ msgstr "destructeurs ne peut être « %s »"
+
+-#: cp/decl.c:8066
++#: cp/decl.c:8138
+ #, gcc-internal-format
+ msgid "constructors cannot be declared virtual"
+ msgstr "constructeurs ne peut être déclarés virtuels"
+
+-#: cp/decl.c:8079
++#: cp/decl.c:8151
+ #, fuzzy, gcc-internal-format
+ msgid "can't initialize friend function %qs"
+ msgstr "ne peut initialiser la fonction amie « %s »"
+
+ #. Cannot be both friend and virtual.
+-#: cp/decl.c:8083
++#: cp/decl.c:8155
+ #, gcc-internal-format
+ msgid "virtual functions cannot be friends"
+ msgstr "fonctions virtuelles ne peuvent être amies"
+
+-#: cp/decl.c:8087
++#: cp/decl.c:8159
+ #, gcc-internal-format
+ msgid "friend declaration not in class definition"
+ msgstr "déclaration amie n'est pas dans la définition de classe"
+
+-#: cp/decl.c:8089
++#: cp/decl.c:8161
+ #, fuzzy, gcc-internal-format
+ msgid "can't define friend function %qs in a local class definition"
+ msgstr "ne peut définir une fonction amie « %s » dans une définition locale de classe"
+
+-#: cp/decl.c:8102
++#: cp/decl.c:8174
+ #, gcc-internal-format
+ msgid "destructors may not have parameters"
+ msgstr "destructeurs ne peuvent pas avoir de paramètre"
+
+-#: cp/decl.c:8121
++#: cp/decl.c:8193
+ #, fuzzy, gcc-internal-format
+ msgid "cannot declare pointer to %q#T"
+ msgstr "ne peut déclarer un pointeur vers « %#T »"
+
+-#: cp/decl.c:8134 cp/decl.c:8141
++#: cp/decl.c:8206 cp/decl.c:8213
+ #, fuzzy, gcc-internal-format
+ msgid "cannot declare reference to %q#T"
+ msgstr "ne peut déclarer une référence vers « %#T »"
+
+-#: cp/decl.c:8143
++#: cp/decl.c:8215
+ #, fuzzy, gcc-internal-format
+ msgid "cannot declare pointer to %q#T member"
+ msgstr "ne peut déclarer un pointeur vers le membre « %#T »"
+
+-#: cp/decl.c:8194
++#: cp/decl.c:8266
+ #, gcc-internal-format
+ msgid "cannot declare reference to %q#T, which is not a typedef or a template type argument"
+ msgstr ""
+
+-#: cp/decl.c:8238
++#: cp/decl.c:8310
+ #, fuzzy, gcc-internal-format
+ msgid "template-id %qD used as a declarator"
+ msgstr "identificateur de patron « %D » utilisé comme déclarateur"
+
+-#: cp/decl.c:8289
++#: cp/decl.c:8361
+ #, gcc-internal-format
+ msgid "member functions are implicitly friends of their class"
+ msgstr "les fonctions membres sont implicitement amis de leur classe"
+
+-#: cp/decl.c:8293
++#: cp/decl.c:8365
+ #, fuzzy, gcc-internal-format
+ msgid "extra qualification %<%T::%> on member %qs"
+ msgstr "qualification additionnelle « %T:: » sur le membre « %s » est ignorée"
+
+-#: cp/decl.c:8325
++#: cp/decl.c:8397
+ #, fuzzy, gcc-internal-format
+ msgid "cannot define member function %<%T::%s%> within %<%T%>"
+ msgstr "ne peut déclarer la fonction membre « %T::%s » à l'intérieur de « %T »"
+
+-#: cp/decl.c:8342
++#: cp/decl.c:8414
+ #, fuzzy, gcc-internal-format
+ msgid "cannot declare member %<%T::%s%> within %qT"
+ msgstr "ne peut déclarer le membre « %T::%s » à l'intérieur de « %T »"
+
+-#: cp/decl.c:8365
++#: cp/decl.c:8437
+ #, fuzzy, gcc-internal-format
+ msgid "non-parameter %qs cannot be a parameter pack"
+ msgstr "membre de données « %D » ne peut être membre du patron"
+
+-#: cp/decl.c:8386
++#: cp/decl.c:8458
+ #, fuzzy, gcc-internal-format
+ msgid "data member may not have variably modified type %qT"
+ msgstr "membre de données peut ne pas avoir de type « %T » modifié de manière variable"
+
+-#: cp/decl.c:8388
++#: cp/decl.c:8460
+ #, fuzzy, gcc-internal-format
+ msgid "parameter may not have variably modified type %qT"
+ msgstr "paramètre peut ne pas avoir de type « %T » modifié de manière variable"
+
+ #. [dcl.fct.spec] The explicit specifier shall only be used in
+ #. declarations of constructors within a class definition.
+-#: cp/decl.c:8396
++#: cp/decl.c:8468
+ #, fuzzy, gcc-internal-format
+ msgid "only declarations of constructors can be %<explicit%>"
+ msgstr "seuls les déclarations de constructeurs peuvent être « explicit »"
+
+-#: cp/decl.c:8404
++#: cp/decl.c:8476
+ #, fuzzy, gcc-internal-format
+ msgid "non-member %qs cannot be declared %<mutable%>"
+ msgstr "le non membre « %s » ne peut être déclaré « mutable »"
+
+-#: cp/decl.c:8409
++#: cp/decl.c:8481
+ #, fuzzy, gcc-internal-format
+ msgid "non-object member %qs cannot be declared %<mutable%>"
+ msgstr "un membre non objet « %s » ne peut être déclaré « mutable »"
+
+-#: cp/decl.c:8415
++#: cp/decl.c:8487
+ #, fuzzy, gcc-internal-format
+ msgid "function %qs cannot be declared %<mutable%>"
+ msgstr "fonction « %s » ne peut être déclarée « mutable »"
+
+-#: cp/decl.c:8420
++#: cp/decl.c:8492
+ #, fuzzy, gcc-internal-format
+ msgid "static %qs cannot be declared %<mutable%>"
+ msgstr "static « %s » ne peut être déclaré « mutable »"
+
+-#: cp/decl.c:8425
++#: cp/decl.c:8497
+ #, fuzzy, gcc-internal-format
+ msgid "const %qs cannot be declared %<mutable%>"
+ msgstr "const « %s » ne peut être déclaré « mutable »"
+
+-#: cp/decl.c:8462
++#: cp/decl.c:8534
+ #, gcc-internal-format
+ msgid "%Jtypedef name may not be a nested-name-specifier"
+ msgstr "%Jnom du typedef peut ne pas être un nom de spécificateur imbriqué"
+
+-#: cp/decl.c:8478
++#: cp/decl.c:8550
+ #, fuzzy, gcc-internal-format
+ msgid "ISO C++ forbids nested type %qD with same name as enclosing class"
+ msgstr "ISO C++ interdit le type imbriqué « %D » avec le même nom que la classe de fermeture"
+
+-#: cp/decl.c:8564
++#: cp/decl.c:8636
+ #, fuzzy, gcc-internal-format
+ msgid "qualified function types cannot be used to declare static member functions"
+ msgstr "le destructeur ne peut être une fonction membre statique"
+
+-#: cp/decl.c:8566
++#: cp/decl.c:8638
+ #, fuzzy, gcc-internal-format
+ msgid "qualified function types cannot be used to declare free functions"
+ msgstr "Le type retourné d'une fonction ne peut être une fonction"
+
+-#: cp/decl.c:8592
++#: cp/decl.c:8664
+ #, gcc-internal-format
+ msgid "type qualifiers specified for friend class declaration"
+ msgstr "qulificateurs de types spécifiés pour la déclaration d'une classe amie"
+
+-#: cp/decl.c:8597
++#: cp/decl.c:8669
+ #, fuzzy, gcc-internal-format
+ msgid "%<inline%> specified for friend class declaration"
+ msgstr "« inline » spécifié pour la déclaration d'une classe amie"
+
+-#: cp/decl.c:8605
++#: cp/decl.c:8677
+ #, gcc-internal-format
+ msgid "template parameters cannot be friends"
+ msgstr "paramètres du patron ne peuvent pas être amis"
+
+-#: cp/decl.c:8607
++#: cp/decl.c:8679
+ #, fuzzy, gcc-internal-format
+ msgid "friend declaration requires class-key, i.e. %<friend class %T::%D%>"
+ msgstr "déclaration ami requiert une clé de classe, i.e. « friend class %T::%D »"
+
+-#: cp/decl.c:8611
++#: cp/decl.c:8683
+ #, fuzzy, gcc-internal-format
+ msgid "friend declaration requires class-key, i.e. %<friend %#T%>"
+ msgstr "déclaration amie requiert une clé de classes, i.e. « friend %#T »"
+
+-#: cp/decl.c:8624
++#: cp/decl.c:8696
+ #, fuzzy, gcc-internal-format
+ msgid "trying to make class %qT a friend of global scope"
+ msgstr "tentative de rendre la classe « %T » un ami de la portée globale"
+
+-#: cp/decl.c:8635
++#: cp/decl.c:8707
+ #, gcc-internal-format
+ msgid "invalid qualifiers on non-member function type"
+ msgstr "qualificteurs invalide pour un type de fonction (autre que fonction membre)"
+
+-#: cp/decl.c:8650
++#: cp/decl.c:8722
+ #, fuzzy, gcc-internal-format
+ msgid "abstract declarator %qT used as declaration"
+ msgstr "déclaration abstrait « %T » utilisé dans la déclaration"
+
+-#: cp/decl.c:8679
++#: cp/decl.c:8751
+ #, fuzzy, gcc-internal-format
+ msgid "cannot use %<::%> in parameter declaration"
+ msgstr "ne peut utiliser «::» dans le paramètre d'un déclaration"
+
+ #. Something like struct S { int N::j; };
+-#: cp/decl.c:8725
++#: cp/decl.c:8797
+ #, fuzzy, gcc-internal-format
+ msgid "invalid use of %<::%>"
+ msgstr "utilisation invalide de « :: »"
+
+-#: cp/decl.c:8740
++#: cp/decl.c:8812
+ #, fuzzy, gcc-internal-format
+ msgid "can't make %qD into a method -- not in a class"
+ msgstr "ne peut rendre « %D » dans la méthode -- n'est pas dans la classe"
+
+-#: cp/decl.c:8749
++#: cp/decl.c:8821
+ #, fuzzy, gcc-internal-format
+ msgid "function %qD declared virtual inside a union"
+ msgstr "fonction « %D » déclaré comme virtuelle à l'intérieur d'un agrégat"
+
+-#: cp/decl.c:8758
++#: cp/decl.c:8830
+ #, fuzzy, gcc-internal-format
+ msgid "%qD cannot be declared virtual, since it is always static"
+ msgstr "« %D » ne peut être déclaré virtuel, alors qu'il est toujours statique"
+
+-#: cp/decl.c:8774
++#: cp/decl.c:8846
+ #, fuzzy, gcc-internal-format
+ msgid "expected qualified name in friend declaration for destructor %qD"
+ msgstr "qualificateurs ne sont pas permis dans la déclaration de « operator %T »"
+
+-#: cp/decl.c:8784
++#: cp/decl.c:8856
+ #, fuzzy, gcc-internal-format
+ msgid "declaration of %qD as member of %qT"
+ msgstr "déclaration de « %D » masque un membre de « this »"
+
+-#: cp/decl.c:8860
++#: cp/decl.c:8863
+ #, fuzzy, gcc-internal-format
++msgid "expected qualified name in friend declaration for constructor %qD"
++msgstr "qualificateurs ne sont pas permis dans la déclaration de « operator %T »"
++
++#: cp/decl.c:8939
++#, fuzzy, gcc-internal-format
+ msgid "field %qD has incomplete type"
+ msgstr "champ « %D » a un type incomplet"
+
+-#: cp/decl.c:8862
++#: cp/decl.c:8941
+ #, fuzzy, gcc-internal-format
+ msgid "name %qT has incomplete type"
+ msgstr "nom « %T » a un type incomplet"
+
+-#: cp/decl.c:8871
++#: cp/decl.c:8950
+ #, fuzzy, gcc-internal-format
+ msgid " in instantiation of template %qT"
+ msgstr " dans l'instanciation du patron « %T »"
+
+-#: cp/decl.c:8880
++#: cp/decl.c:8959
+ #, fuzzy, gcc-internal-format
+ msgid "%qE is neither function nor member function; cannot be declared friend"
+ msgstr "« %s » n'est ni une fonction ni une fonction membre ; ne peut être déclaré ami"
+@@ -29350,103 +29332,108 @@
+ #. the rest of the compiler does not correctly
+ #. handle the initialization unless the member is
+ #. static so we make it static below.
+-#: cp/decl.c:8932
++#: cp/decl.c:9011
+ #, fuzzy, gcc-internal-format
+ msgid "ISO C++ forbids initialization of member %qD"
+ msgstr "ISO C++ interdit l'initialisation du membre « %D »"
+
+-#: cp/decl.c:8934
++#: cp/decl.c:9013
+ #, fuzzy, gcc-internal-format
+ msgid "making %qD static"
+ msgstr "rendant « %D » statique"
+
+-#: cp/decl.c:8999
++#: cp/decl.c:9078
+ #, fuzzy, gcc-internal-format
+ msgid "storage class %<auto%> invalid for function %qs"
+ msgstr "classe de stockage « auto» invalide pour une fonction « %s »"
+
+-#: cp/decl.c:9001
++#: cp/decl.c:9080
+ #, fuzzy, gcc-internal-format
+ msgid "storage class %<register%> invalid for function %qs"
+ msgstr "classe de stockage « register» invalide pour une fonction « %s »"
+
+-#: cp/decl.c:9003
++#: cp/decl.c:9082
+ #, fuzzy, gcc-internal-format
+ msgid "storage class %<__thread%> invalid for function %qs"
+ msgstr "classe de stockage « __thread » invalide pour la fonction « %s »"
+
+-#: cp/decl.c:9014
++#: cp/decl.c:9093
+ #, fuzzy, gcc-internal-format
+ msgid "%<static%> specified invalid for function %qs declared out of global scope"
+ msgstr "classe de stockage « inline» invalide pour une fonction « %s » déclarée en dehors de la portée globale"
+
+-#: cp/decl.c:9017
++#: cp/decl.c:9096
+ #, fuzzy, gcc-internal-format
+ msgid "%<inline%> specifier invalid for function %qs declared out of global scope"
+ msgstr "classe de stockage « inline» invalide pour une fonction « %s » déclarée en dehors de la portée globale"
+
+-#: cp/decl.c:9025
++#: cp/decl.c:9104
+ #, fuzzy, gcc-internal-format
+ msgid "virtual non-class function %qs"
+ msgstr "fonction virtuelle d'une non classe « %s »"
+
+-#: cp/decl.c:9056
++#: cp/decl.c:9135
+ #, fuzzy, gcc-internal-format
+ msgid "cannot declare member function %qD to have static linkage"
+ msgstr "ne peut déclarer la fonction membre « %D » comme ayant un lien statique"
+
+ #. FIXME need arm citation
+-#: cp/decl.c:9063
++#: cp/decl.c:9142
+ #, 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.c:9093
++#: cp/decl.c:9172
+ #, fuzzy, gcc-internal-format
+ msgid "%<static%> may not be used when defining (as opposed to declaring) a static data member"
+ msgstr "« static » ne peut pas être utilisé lors de la définition (contrairement à la déclaration) de données de membres statiques"
+
+-#: cp/decl.c:9100
++#: cp/decl.c:9179
+ #, fuzzy, gcc-internal-format
+ msgid "static member %qD declared %<register%>"
+ msgstr "mambre statique « %D» déclaré «register »"
+
+-#: cp/decl.c:9105
++#: cp/decl.c:9184
+ #, fuzzy, gcc-internal-format
+ msgid "cannot explicitly declare member %q#D to have extern linkage"
+ msgstr "ne peut explicitement déclarer le membre « %#D » comme ayant une liaison externe"
+
+-#: cp/decl.c:9234
++#: cp/decl.c:9313
+ #, fuzzy, gcc-internal-format
+ msgid "default argument for %q#D has type %qT"
+ msgstr "argument par défaut pour « %#D » à un type « %T »"
+
+-#: cp/decl.c:9237
++#: cp/decl.c:9316
+ #, fuzzy, gcc-internal-format
+ msgid "default argument for parameter of type %qT has type %qT"
+ msgstr "argument par défaut pour le paramètre de type « %T » a le type « %T »"
+
+-#: cp/decl.c:9253
++#: cp/decl.c:9332
+ #, fuzzy, gcc-internal-format
+ msgid "default argument %qE uses local variable %qD"
+ msgstr "argument par défaut « %E » utiliser une variable locale « %D »"
+
+-#: cp/decl.c:9323
++#: cp/decl.c:9399
+ #, fuzzy, gcc-internal-format
++msgid "parameter %qD has Java class type"
++msgstr "%Jparamètre \"%D\" a un type incomplet"
++
++#: cp/decl.c:9412
++#, fuzzy, gcc-internal-format
+ msgid "parameter %qD invalidly declared method type"
+ msgstr "paramètre « %D » incorrectement validé comme type de méthode"
+
+-#: cp/decl.c:9347
++#: cp/decl.c:9436
+ #, fuzzy, gcc-internal-format
+ msgid "parameter %qD includes %s to array of unknown bound %qT"
+ msgstr "paramètre « %D » inclut %s au tableau de bornes inconnues « %T »"
+
+-#: cp/decl.c:9361
++#: cp/decl.c:9450
+ #, fuzzy, gcc-internal-format
+ msgid "parameter packs must be at the end of the parameter list"
+ msgstr "si « void » est dans une liste de paramètres, toute la liste doit l'être"
+
+-#: cp/decl.c:9366
++#: cp/decl.c:9455
+ #, fuzzy, gcc-internal-format
+ msgid "multiple parameters named %qE"
+ msgstr "%Jplusieurs paramètres nommés « %D »"
+@@ -29466,138 +29453,138 @@
+ #. or implicitly defined), there's no need to worry about their
+ #. existence. Theoretically, they should never even be
+ #. instantiated, but that's hard to forestall.
+-#: cp/decl.c:9581
++#: cp/decl.c:9672
+ #, fuzzy, gcc-internal-format
+ msgid "invalid constructor; you probably meant %<%T (const %T&)%>"
+ msgstr "constructeur invalide; vous vouliez probablement dire « %T (const %T&) »"
+
+-#: cp/decl.c:9703
++#: cp/decl.c:9794
+ #, fuzzy, gcc-internal-format
+ msgid "%qD may not be declared within a namespace"
+ msgstr "« %D » n'a pas été déclaré dans cet horizon"
+
+-#: cp/decl.c:9708
++#: cp/decl.c:9799
+ #, fuzzy, gcc-internal-format
+ msgid "%qD may not be declared as static"
+ msgstr "« %D » n'a pas été déclaré"
+
+-#: cp/decl.c:9731
++#: cp/decl.c:9825
+ #, fuzzy, gcc-internal-format
+ msgid "%qD must be a nonstatic member function"
+ msgstr "« %D » doit être une fonction membre non statique"
+
+-#: cp/decl.c:9740
++#: cp/decl.c:9834
+ #, fuzzy, gcc-internal-format
+ msgid "%qD must be either a non-static member function or a non-member function"
+ msgstr "« %D » doit être soit un membre non statique de fonction ou une fonction non membre"
+
+-#: cp/decl.c:9761
++#: cp/decl.c:9855
+ #, fuzzy, gcc-internal-format
+ msgid "%qD must have an argument of class or enumerated type"
+ msgstr "« %D » doit avoir un argument de classe ou de type énuméré"
+
+-#: cp/decl.c:9802
++#: cp/decl.c:9896
+ #, gcc-internal-format
+ msgid "conversion to %s%s will never use a type conversion operator"
+ msgstr "conversion de %s%s ne sera jamais utilisé dans un type d'opérateur de conversion"
+
+ #. 13.4.0.3
+-#: cp/decl.c:9810
++#: cp/decl.c:9904
+ #, gcc-internal-format
+ msgid "ISO C++ prohibits overloading operator ?:"
+ msgstr "ISO C++ interdit la surcharge de l'opérateur ?:"
+
+-#: cp/decl.c:9815
++#: cp/decl.c:9909
+ #, fuzzy, gcc-internal-format
+ msgid "%qD must not have variable number of arguments"
+ msgstr "« %D » doit prendre seulement un OU deux arguments"
+
+-#: cp/decl.c:9866
++#: cp/decl.c:9960
+ #, fuzzy, gcc-internal-format
+ msgid "postfix %qD must take %<int%> as its argument"
+ msgstr "postfixe « %D» doit prendre « int » comme argument"
+
+-#: cp/decl.c:9869
++#: cp/decl.c:9963
+ #, fuzzy, gcc-internal-format
+ msgid "postfix %qD must take %<int%> as its second argument"
+ msgstr "postfixe « %D» doit prndre « int » pour son second argument"
+
+-#: cp/decl.c:9877
++#: cp/decl.c:9971
+ #, fuzzy, gcc-internal-format
+ msgid "%qD must take either zero or one argument"
+ msgstr "« %D » doit prendre seulement zéro ou un autre argument"
+
+-#: cp/decl.c:9879
++#: cp/decl.c:9973
+ #, fuzzy, gcc-internal-format
+ msgid "%qD must take either one or two arguments"
+ msgstr "« %D » doit prendre seulement un OU deux arguments"
+
+-#: cp/decl.c:9901
++#: cp/decl.c:9995
+ #, fuzzy, gcc-internal-format
+ msgid "prefix %qD should return %qT"
+ msgstr "préfixe « %D » devrait retourner « %T »"
+
+-#: cp/decl.c:9907
++#: cp/decl.c:10001
+ #, fuzzy, gcc-internal-format
+ msgid "postfix %qD should return %qT"
+ msgstr "postfixe « %D » devrait retourner « %T »"
+
+-#: cp/decl.c:9916
++#: cp/decl.c:10010
+ #, fuzzy, gcc-internal-format
+ msgid "%qD must take %<void%>"
+ msgstr "« %D» doit prendre « void »"
+
+-#: cp/decl.c:9918 cp/decl.c:9927
++#: cp/decl.c:10012 cp/decl.c:10021
+ #, fuzzy, gcc-internal-format
+ msgid "%qD must take exactly one argument"
+ msgstr "« %D » doit prendre exactement un argument"
+
+-#: cp/decl.c:9929
++#: cp/decl.c:10023
+ #, fuzzy, gcc-internal-format
+ msgid "%qD must take exactly two arguments"
+ msgstr "« %D » doit prendre exactemenr deux arguments"
+
+-#: cp/decl.c:9938
++#: cp/decl.c:10032
+ #, fuzzy, gcc-internal-format
+ msgid "user-defined %qD always evaluates both arguments"
+ msgstr "« %D » défini par l'usager évalue toujours les 2 arguments"
+
+-#: cp/decl.c:9952
++#: cp/decl.c:10046
+ #, fuzzy, gcc-internal-format
+ msgid "%qD should return by value"
+ msgstr "« %D » devrait retourner par valeur"
+
+-#: cp/decl.c:9964 cp/decl.c:9968
++#: cp/decl.c:10058 cp/decl.c:10062
+ #, fuzzy, gcc-internal-format
+ msgid "%qD cannot have default arguments"
+ msgstr "« %D » ne peut avoir d'arguments par défaut"
+
+-#: cp/decl.c:10026
++#: cp/decl.c:10120
+ #, fuzzy, gcc-internal-format
+ msgid "using template type parameter %qT after %qs"
+ msgstr "utilisation de type de patron de paramètre « %T » après « %s »"
+
+-#: cp/decl.c:10041
++#: cp/decl.c:10135
+ #, fuzzy, gcc-internal-format
+ msgid "using typedef-name %qD after %qs"
+ msgstr "utilisation d'un nom de typedef « %D » après « %s »"
+
+-#: cp/decl.c:10042
++#: cp/decl.c:10136
+ #, fuzzy, gcc-internal-format
+ msgid "%q+D has a previous declaration here"
+ msgstr "« %D » a une déclaration précédente tel que « %#D »"
+
+-#: cp/decl.c:10050
++#: cp/decl.c:10144
+ #, fuzzy, gcc-internal-format
+ msgid "%qT referred to as %qs"
+ msgstr "« %TD » référé comme « %s »"
+
+-#: cp/decl.c:10051 cp/decl.c:10058
++#: cp/decl.c:10145 cp/decl.c:10152
+ #, fuzzy, gcc-internal-format
+ msgid "%q+T has a previous declaration here"
+ msgstr "%Jest la déclaration précédente"
+
+-#: cp/decl.c:10057
++#: cp/decl.c:10151
+ #, fuzzy, gcc-internal-format
+ msgid "%qT referred to as enum"
+ msgstr "« %T » référé comme enum"
+@@ -29609,73 +29596,73 @@
+ #. void f(class C); // No template header here
+ #.
+ #. then the required template argument is missing.
+-#: cp/decl.c:10072
++#: cp/decl.c:10166
+ #, fuzzy, gcc-internal-format
+ msgid "template argument required for %<%s %T%>"
+ msgstr "argument du patron est requis pour « %s %T »"
+
+-#: cp/decl.c:10120 cp/name-lookup.c:2698
++#: cp/decl.c:10214 cp/name-lookup.c:2700
+ #, fuzzy, gcc-internal-format
+ msgid "%qD has the same name as the class in which it is declared"
+ msgstr "« %D » a le même nom que la classe dans laquelle il est déclaré"
+
+-#: cp/decl.c:10150 cp/name-lookup.c:2207 cp/parser.c:4036 cp/parser.c:14029
+-#: cp/parser.c:16234
++#: cp/decl.c:10244 cp/name-lookup.c:2209 cp/parser.c:4040 cp/parser.c:14099
++#: cp/parser.c:16316
+ #, fuzzy, gcc-internal-format
+ msgid "reference to %qD is ambiguous"
+ msgstr "référence à « %D » est ambiguë"
+
+-#: cp/decl.c:10264
++#: cp/decl.c:10358
+ #, fuzzy, gcc-internal-format
+ msgid "use of enum %q#D without previous declaration"
+ msgstr "utilisation de enum « %#D » sans déclaration précédente"
+
+-#: cp/decl.c:10285
++#: cp/decl.c:10379
+ #, fuzzy, gcc-internal-format
+ msgid "redeclaration of %qT as a non-template"
+ msgstr "redéclaration de « %T » qui n'est pas un patron"
+
+-#: cp/decl.c:10286 cp/pt.c:4154
++#: cp/decl.c:10380
+ #, fuzzy, gcc-internal-format
+ msgid "previous declaration %q+D"
+ msgstr "déclaration précédente de « %D »"
+
+-#: cp/decl.c:10397
++#: cp/decl.c:10491
+ #, fuzzy, gcc-internal-format
+ msgid "derived union %qT invalid"
+ msgstr "union dérivée « %T » invalide"
+
+-#: cp/decl.c:10406
++#: cp/decl.c:10500
+ #, fuzzy, gcc-internal-format
+ msgid "Java class %qT cannot have multiple bases"
+ msgstr "classe Java « %T » ne peut avoir de bases multiples"
+
+-#: cp/decl.c:10417
++#: cp/decl.c:10511
+ #, fuzzy, gcc-internal-format
+ msgid "Java class %qT cannot have virtual bases"
+ msgstr "classe Java « %T » ne peut avoir de bases virtuelles"
+
+-#: cp/decl.c:10440
++#: cp/decl.c:10534
+ #, fuzzy, gcc-internal-format
+ msgid "base type %qT fails to be a struct or class type"
+ msgstr "type de base « %T » a échoué pour devenir un type de classe ou un type construit"
+
+-#: cp/decl.c:10473
++#: cp/decl.c:10567
+ #, fuzzy, gcc-internal-format
+ msgid "recursive type %qT undefined"
+ msgstr "type récursif « %T » non défini"
+
+-#: cp/decl.c:10475
++#: cp/decl.c:10569
+ #, fuzzy, gcc-internal-format
+ msgid "duplicate base type %qT invalid"
+ msgstr "duplication du type de base « %T » invalide"
+
+-#: cp/decl.c:10552
++#: cp/decl.c:10646
+ #, fuzzy, gcc-internal-format
+ msgid "multiple definition of %q#T"
+ msgstr "définition multiple de « %#T »"
+
+-#: cp/decl.c:10553
++#: cp/decl.c:10647
+ #, gcc-internal-format
+ msgid "%Jprevious definition here"
+ msgstr "%Jdéfinition précédente ici"
+@@ -29684,47 +29671,52 @@
+ #.
+ #. IF no integral type can represent all the enumerator values, the
+ #. enumeration is ill-formed.
+-#: cp/decl.c:10692
++#: cp/decl.c:10786
+ #, fuzzy, gcc-internal-format
+ msgid "no integral type can represent all of the enumerator values for %qT"
+ msgstr "aucun type entier peut représenter toutes les valeurs de l'énumérateur pour « %T »"
+
+-#: cp/decl.c:10803
++#: cp/decl.c:10897
+ #, fuzzy, gcc-internal-format
+ msgid "enumerator value for %qD is not an integer constant"
+ msgstr "valeur de l'énumérateur pour « %s » n'est pas une constante entière"
+
+-#: cp/decl.c:10831
++#: cp/decl.c:10925
+ #, fuzzy, gcc-internal-format
+ msgid "overflow in enumeration values at %qD"
+ msgstr "débordement dans les valeurs de l'énumération à « %D »"
+
+-#: cp/decl.c:10906
++#: cp/decl.c:11002
+ #, fuzzy, gcc-internal-format
+ msgid "return type %q#T is incomplete"
+ msgstr "type retourné « %#T » est incomplet"
+
+-#: cp/decl.c:11031 cp/typeck.c:6711
++#: cp/decl.c:11004
+ #, fuzzy, gcc-internal-format
++msgid "return type has Java class type %q#T"
++msgstr "le type du retour est incomplet"
++
++#: cp/decl.c:11129 cp/typeck.c:6739
++#, fuzzy, gcc-internal-format
+ msgid "%<operator=%> should return a reference to %<*this%>"
+ msgstr "« operator= » devrait retourner une référence à «*ceci »"
+
+-#: cp/decl.c:11420
++#: cp/decl.c:11518
+ #, fuzzy, gcc-internal-format
+ msgid "parameter %qD declared void"
+ msgstr "paramètre « %D » déclaré «void »"
+
+-#: cp/decl.c:11908
++#: cp/decl.c:12006
+ #, gcc-internal-format
+ msgid "invalid member function declaration"
+ msgstr "déclaration de membre de fonction invalide"
+
+-#: cp/decl.c:11923
++#: cp/decl.c:12021
+ #, fuzzy, gcc-internal-format
+ msgid "%qD is already defined in class %qT"
+ msgstr "« %D » est déjà défini dans la classe « %T »"
+
+-#: cp/decl.c:12170
++#: cp/decl.c:12268
+ #, fuzzy, gcc-internal-format
+ msgid "static member function %q#D declared with type qualifiers"
+ msgstr "membre de fonction statique « %#D » déclaré avec des qualificateurs de tyep"
+@@ -29764,7 +29756,7 @@
+ msgid "deleting %qT is undefined"
+ msgstr "destruction de « %T » est indéfinie"
+
+-#: cp/decl2.c:459 cp/pt.c:3828
++#: cp/decl2.c:459 cp/pt.c:3831
+ #, fuzzy, gcc-internal-format
+ msgid "template declaration of %q#D"
+ msgstr "déclaration du patron de « %#D »"
+@@ -29849,22 +29841,22 @@
+ msgid "static member %qD cannot be a bit-field"
+ msgstr "membre statique « %D » ne peut être un champ de bits"
+
+-#: cp/decl2.c:1122
++#: cp/decl2.c:1165
+ #, gcc-internal-format
+ msgid "anonymous struct not inside named type"
+ msgstr "struct anonyme n'est pas l'intérieur du type nommé"
+
+-#: cp/decl2.c:1206
++#: cp/decl2.c:1249
+ #, gcc-internal-format
+ msgid "namespace-scope anonymous aggregates must be static"
+ msgstr "aggrégats anonymes de champs d'espace nom doit être statique"
+
+-#: cp/decl2.c:1215
++#: cp/decl2.c:1258
+ #, gcc-internal-format
+ msgid "anonymous union with no members"
+ msgstr "aggrégat anonyme sans aucun membre"
+
+-#: cp/decl2.c:1251
++#: cp/decl2.c:1294
+ #, fuzzy, gcc-internal-format
+ msgid "%<operator new%> must return type %qT"
+ msgstr "« operator new » doit retourner un type « %T »"
+@@ -29873,52 +29865,52 @@
+ #.
+ #. The first parameter shall not have an associated default
+ #. argument.
+-#: cp/decl2.c:1262
++#: cp/decl2.c:1305
+ #, gcc-internal-format
+ msgid "the first parameter of %<operator new%> cannot have a default argument"
+ msgstr ""
+
+-#: cp/decl2.c:1278
++#: cp/decl2.c:1321
+ #, fuzzy, gcc-internal-format
+ msgid "%<operator new%> takes type %<size_t%> (%qT) as first parameter"
+ msgstr "« operator new » prend le type « size_t » (« %T ») comme premier paramètre"
+
+-#: cp/decl2.c:1307
++#: cp/decl2.c:1350
+ #, fuzzy, gcc-internal-format
+ msgid "%<operator delete%> must return type %qT"
+ msgstr "« operator delete » doit retourner le type « %T »"
+
+-#: cp/decl2.c:1316
++#: cp/decl2.c:1359
+ #, fuzzy, gcc-internal-format
+ msgid "%<operator delete%> takes type %qT as first parameter"
+ msgstr "« operator delete » prend le type « %T » comme premier paramètre"
+
+-#: cp/decl2.c:1985
++#: cp/decl2.c:2028
+ #, gcc-internal-format
+ msgid "%qT has a field %qD whose type uses the anonymous namespace"
+ msgstr ""
+
+-#: cp/decl2.c:1992
++#: cp/decl2.c:2035
+ #, gcc-internal-format
+ msgid "%qT declared with greater visibility than the type of its field %qD"
+ msgstr ""
+
+-#: cp/decl2.c:2005
++#: cp/decl2.c:2048
+ #, gcc-internal-format
+ msgid "%qT has a base %qT whose type uses the anonymous namespace"
+ msgstr ""
+
+-#: cp/decl2.c:2011
++#: cp/decl2.c:2054
+ #, gcc-internal-format
+ msgid "%qT declared with greater visibility than its base %qT"
+ msgstr ""
+
+-#: cp/decl2.c:3395
++#: cp/decl2.c:3441
+ #, fuzzy, gcc-internal-format
+ msgid "inline function %q+D used but never defined"
+ msgstr "fonction enligne « %D » utilisé mais n'a jamais été défini"
+
+-#: cp/decl2.c:3543
++#: cp/decl2.c:3589
+ #, fuzzy, gcc-internal-format
+ msgid "default argument missing for parameter %P of %q+#D"
+ msgstr "argument par défaut manquant pour le paramètre %P de « %+#D »"
+@@ -29926,7 +29918,7 @@
+ #. We really want to suppress this warning in system headers,
+ #. because libstdc++ uses variadic templates even when we aren't
+ #. in C++0x mode.
+-#: cp/error.c:2669
++#: cp/error.c:2712
+ #, fuzzy, gcc-internal-format
+ msgid "ISO C++ does not include variadic templates"
+ msgstr "ISO C ne permet pas les macros nommées à nombre variable d'arguments"
+@@ -29958,7 +29950,7 @@
+ msgid "throwing NULL, which has integral, not pointer type"
+ msgstr "retounrnant NULL (par throw), lequel est entier, pas de type pointeur"
+
+-#: cp/except.c:643 cp/init.c:1780
++#: cp/except.c:643 cp/init.c:1915
+ #, fuzzy, gcc-internal-format
+ msgid "%qD should never be overloaded"
+ msgstr "« %D » ne devrait jamais être surchargé"
+@@ -30057,232 +30049,247 @@
+ msgid "member %qD declared as friend before type %qT defined"
+ msgstr "membre « %D » déclaré comme ami avant la définition du type « %T »"
+
+-#: cp/friend.c:550
++#: cp/friend.c:543
+ #, fuzzy, gcc-internal-format
++msgid "friend declaration %qD in local class without prior declaration"
++msgstr "déclaration amie n'est pas dans la définition de classe"
++
++#: cp/friend.c:564
++#, fuzzy, gcc-internal-format
+ msgid "friend declaration %q#D declares a non-template function"
+ msgstr "déclaration amie « %#D » déclare une fonction non patron"
+
+-#: cp/friend.c:554
++#: cp/friend.c:568
+ #, fuzzy, 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 "(si ce n'est pas ce que vous vouliez faire, soyez sûr que le patron de la fonction a déjà été déclaré et ajouter <> après le nom de la fonction ici) -Wno-non-template-friend désactive le présent avertissement"
+
+-#: cp/init.c:334
++#: cp/init.c:374
+ #, fuzzy, gcc-internal-format
++msgid "value-initialization of reference"
++msgstr "initialisation par défaut de « %#D », lequel a un type référencé"
++
++#: cp/init.c:481
++#, fuzzy, gcc-internal-format
+ msgid "%J%qD should be initialized in the member initialization list"
+ msgstr "« %D » devrait être initialisé dans la liste d'initialisation du membre"
+
+-#: cp/init.c:382
++#: cp/init.c:529
+ #, fuzzy, gcc-internal-format
+ msgid "%Jdefault-initialization of %q#D, which has reference type"
+ msgstr "initialisation par défaut de « %#D », lequel a un type référencé"
+
+-#: cp/init.c:388
++#: cp/init.c:535
+ #, fuzzy, gcc-internal-format
+ msgid "%Juninitialized reference member %qD"
+ msgstr "référence de membre non initialisé « %D »"
+
+-#: cp/init.c:391
++#: cp/init.c:538
+ #, fuzzy, gcc-internal-format
+ msgid "%Juninitialized member %qD with %<const%> type %qT"
+ msgstr "membre non initialisé « %D » avec « const » type « %T »"
+
+-#: cp/init.c:534
++#: cp/init.c:681
+ #, fuzzy, gcc-internal-format
+ msgid "%q+D will be initialized after"
+ msgstr "« %D » sera initialisé après"
+
+-#: cp/init.c:537
++#: cp/init.c:684
+ #, fuzzy, gcc-internal-format
+ msgid "base %qT will be initialized after"
+ msgstr "base « %T » sera initialisé après"
+
+-#: cp/init.c:540
++#: cp/init.c:687
+ #, fuzzy, gcc-internal-format
+ msgid " %q+#D"
+ msgstr " « %D »"
+
+-#: cp/init.c:542
++#: cp/init.c:689
+ #, fuzzy, gcc-internal-format
+ msgid " base %qT"
+ msgstr " base « %T »"
+
+-#: cp/init.c:543
++#: cp/init.c:690
+ #, fuzzy, gcc-internal-format
+ msgid "%J when initialized here"
+ msgstr " lorsqu'initialisé ici"
+
+-#: cp/init.c:559
++#: cp/init.c:706
+ #, fuzzy, gcc-internal-format
+ msgid "%Jmultiple initializations given for %qD"
+ msgstr "multiples initialisations données pour « %D »"
+
+-#: cp/init.c:562
++#: cp/init.c:709
+ #, fuzzy, gcc-internal-format
+ msgid "%Jmultiple initializations given for base %qT"
+ msgstr "multiples initialisations données pour base « %T »"
+
+-#: cp/init.c:629
++#: cp/init.c:776
+ #, fuzzy, gcc-internal-format
+ msgid "%Jinitializations for multiple members of %qT"
+ msgstr "initialisation de multiples membres de « %T »"
+
+-#: cp/init.c:691
++#: cp/init.c:839
+ #, fuzzy, gcc-internal-format
+ msgid "%Jbase class %q#T should be explicitly initialized in the copy constructor"
+ msgstr "classe de base « %#T » devrait être explicitement initialisé dans la copie du constructeur"
+
+-#: cp/init.c:915 cp/init.c:934
++#: cp/init.c:1063 cp/init.c:1082
+ #, fuzzy, gcc-internal-format
+ msgid "class %qT does not have any field named %qD"
+ msgstr "classe « %T » n'a pas aucun champ nommé « %D »"
+
+-#: cp/init.c:921
++#: cp/init.c:1069
+ #, fuzzy, gcc-internal-format
+ msgid "%q#D is a static data member; it can only be initialized at its definition"
+ msgstr "« %#D » est un membre statique de données; il peut seulement être initialisée lors de sa définition"
+
+-#: cp/init.c:928
++#: cp/init.c:1076
+ #, fuzzy, gcc-internal-format
+ msgid "%q#D is not a non-static data member of %qT"
+ msgstr "« %#D » n'est pas un membre statique de données de « %T »"
+
+-#: cp/init.c:967
++#: cp/init.c:1115
+ #, fuzzy, gcc-internal-format
+ msgid "unnamed initializer for %qT, which has no base classes"
+ msgstr "initialiseur sans nom pour « %T », lequel n'a pas de classe de base"
+
+-#: cp/init.c:975
++#: cp/init.c:1123
+ #, fuzzy, gcc-internal-format
+ msgid "unnamed initializer for %qT, which uses multiple inheritance"
+ msgstr "initialiseur sans nom pour « %T », lequel utilise de multiples héritages"
+
+-#: cp/init.c:1021
++#: cp/init.c:1169
+ #, fuzzy, gcc-internal-format
+ msgid "%qD is both a direct base and an indirect virtual base"
+ msgstr "« %D » est à la fois une base directe et indirecte virtuelle"
+
+-#: cp/init.c:1029
++#: cp/init.c:1177
+ #, fuzzy, gcc-internal-format
+ msgid "type %qT is not a direct or virtual base of %qT"
+ msgstr "type « %D » n'est pas une base directe ou virtuelle de « %T »"
+
+-#: cp/init.c:1032
++#: cp/init.c:1180
+ #, fuzzy, gcc-internal-format
+ msgid "type %qT is not a direct base of %qT"
+ msgstr "type « %D » n'est pas une base directe de « %T »"
+
+-#: cp/init.c:1112
++#: cp/init.c:1260
+ #, gcc-internal-format
+ msgid "bad array initializer"
+ msgstr "mauvaise initialisation de tableau"
+
+-#: cp/init.c:1287
++#: cp/init.c:1435
+ #, fuzzy, gcc-internal-format
+ msgid "%qT is not an aggregate type"
+ msgstr "« %T » n'est pas de type aggrégat"
+
+-#: cp/init.c:1341
++#: cp/init.c:1489
+ #, fuzzy, gcc-internal-format
+ msgid "incomplete type %qT does not have member %qD"
+ msgstr "type incomplet « %T » n'a pas de membre « %D »"
+
+-#: cp/init.c:1354
++#: cp/init.c:1502
+ #, fuzzy, gcc-internal-format
+ msgid "invalid pointer to bit-field %qD"
+ msgstr "pointeur invalide pour un champ de bits « %D »"
+
+-#: cp/init.c:1431
++#: cp/init.c:1579
+ #, fuzzy, gcc-internal-format
+ msgid "invalid use of non-static member function %qD"
+ msgstr "utilisation invalide d'un membre non statique de fonction « %D »"
+
+-#: cp/init.c:1437
++#: cp/init.c:1585
+ #, fuzzy, gcc-internal-format
+ msgid "invalid use of non-static data member %qD"
+ msgstr "utilisation invalide d'un membre non statique de données « %D »"
+
+-#: cp/init.c:1714
++#: cp/init.c:1862
+ #, fuzzy, gcc-internal-format
+ msgid "invalid type %<void%> for new"
+ msgstr "type « void » invalide pour new"
+
+-#: cp/init.c:1724
++#: cp/init.c:1872
+ #, fuzzy, gcc-internal-format
+ msgid "uninitialized const in %<new%> of %q#T"
+ msgstr "constante non initialisée dans « new» pour « %#T »"
+
+-#: cp/init.c:1775
++#: cp/init.c:1910
+ #, fuzzy, gcc-internal-format
+ msgid "call to Java constructor with %qs undefined"
+ msgstr "appel au constructeur Java avec « %s » indéfini"
+
+-#: cp/init.c:1815
++#: cp/init.c:1926
++#, gcc-internal-format
++msgid "Java class %q#T object allocated using placement new"
++msgstr ""
++
++#: cp/init.c:1955
+ #, fuzzy, gcc-internal-format
+ msgid "no suitable %qD found in class %qT"
+ msgstr "« %D » non adapté ou ambiguë repéré dans la classe « %T »"
+
+-#: cp/init.c:1820
++#: cp/init.c:1960
+ #, fuzzy, gcc-internal-format
+ msgid "request for member %qD is ambiguous"
+ msgstr "la requête pour le membre « %D » est ambiguë"
+
+-#: cp/init.c:1972
++#: cp/init.c:2134
+ #, gcc-internal-format
+ msgid "ISO C++ forbids initialization in array new"
+ msgstr "ISO C++ interdit l'initialisation d'un nouveau tableau"
+
+-#: cp/init.c:2174
++#: cp/init.c:2336
+ #, gcc-internal-format
+ msgid "size in array new must have integral type"
+ msgstr "taille d'un nouveau tableau (new) doit avoir un type entier"
+
+-#: cp/init.c:2183
++#: cp/init.c:2345
+ #, gcc-internal-format
+ msgid "new cannot be applied to a reference type"
+ msgstr "new ne peut être appliqué à un type référencé"
+
+-#: cp/init.c:2189
++#: cp/init.c:2351
+ #, gcc-internal-format
+ msgid "new cannot be applied to a function type"
+ msgstr "new ne peut être appliqué à un type de fonction"
+
+-#: cp/init.c:2228
++#: cp/init.c:2390
+ #, fuzzy, gcc-internal-format
+ msgid "call to Java constructor, while %<jclass%> undefined"
+ msgstr "appel d'un constructeur Java, alors que « jclass » est indéfini"
+
+-#: cp/init.c:2246
++#: cp/init.c:2408
+ #, fuzzy, gcc-internal-format
+ msgid "can't find %<class$%> in %qT"
+ msgstr "ne peut repérer class$"
+
+-#: cp/init.c:2607
++#: cp/init.c:2769
+ #, gcc-internal-format
+ msgid "initializer ends prematurely"
+ msgstr "fin prématurée de l'initialisation"
+
+-#: cp/init.c:2662
++#: cp/init.c:2824
+ #, gcc-internal-format
+ msgid "cannot initialize multi-dimensional array with initializer"
+ msgstr "ne peut initialiser un table multi-dimensionnel avec initialiseur"
+
+-#: cp/init.c:2799
++#: cp/init.c:2961
+ #, gcc-internal-format
+ msgid "possible problem detected in invocation of delete operator:"
+ msgstr "problème possible détecté dans l'invocation de l'opérateur delete:"
+
+-#: cp/init.c:2802
++#: cp/init.c:2964
+ #, gcc-internal-format
+ msgid "neither the destructor nor the class-specific operator delete will be called, even if they are declared when the class is defined."
+ msgstr "ni le destructeur ni l'opérateur « delete » spécifique à la classe ne sera appellé, même s'ils sont déclarés lorsque la classe est définie"
+
+-#: cp/init.c:2823
++#: cp/init.c:2985
+ #, gcc-internal-format
+ msgid "unknown array size in delete"
+ msgstr "taille du tableau inconnue dans delete"
+
+-#: cp/init.c:3070
++#: cp/init.c:3232
+ #, gcc-internal-format
+ msgid "type to vector delete is neither pointer or array type"
+ msgstr "type du vesteur delete n'est ni un pointeur ou un type tableau"
+@@ -30347,22 +30354,22 @@
+ msgid "mangling typeof, use decltype instead"
+ msgstr ""
+
+-#: cp/mangle.c:2208
++#: cp/mangle.c:2211
+ #, gcc-internal-format
+ msgid "call_expr cannot be mangled due to a defect in the C++ ABI"
+ msgstr "call_expr ne peut être mutilé en raison d'un faute dans l'ABI C++"
+
+-#: cp/mangle.c:2216
++#: cp/mangle.c:2219
+ #, fuzzy, gcc-internal-format
+ msgid "zero-operand casts cannot be mangled due to a defect in the C++ ABI"
+ msgstr "call_expr ne peut être mutilé en raison d'un faute dans l'ABI C++"
+
+-#: cp/mangle.c:2266
++#: cp/mangle.c:2269
+ #, fuzzy, gcc-internal-format
+ msgid "omitted middle operand to %<?:%> operand cannot be mangled"
+ msgstr "opérande du milieu « ?: » omise, l'opérande ne peut être mutilée"
+
+-#: cp/mangle.c:2584
++#: cp/mangle.c:2587
+ #, fuzzy, gcc-internal-format
+ msgid "the mangled name of %qD will change in a future version of GCC"
+ msgstr "le nom mutilé de « %D » sera modifié dans une version future de GCC"
+@@ -30372,27 +30379,27 @@
+ msgid "generic thunk code fails for method %q#D which uses %<...%>"
+ msgstr "code « thunk» générique a échoué pour la méthode « %#D » laquelle utilise « ... »"
+
+-#: cp/method.c:697
++#: cp/method.c:698
+ #, fuzzy, gcc-internal-format
+ msgid "non-static const member %q#D, can't use default assignment operator"
+ msgstr "constante non statique du membre « %#D », ne peut utiliser l'opérateur d'affectation par défaut"
+
+-#: cp/method.c:703
++#: cp/method.c:704
+ #, fuzzy, gcc-internal-format
+ msgid "non-static reference member %q#D, can't use default assignment operator"
+ msgstr "référence non statique du membre « %#D », ne peut utiliser l'opérateur d'affectation par défaut"
+
+-#: cp/method.c:815
++#: cp/method.c:816
+ #, gcc-internal-format
+ msgid "%Hsynthesized method %qD first required here "
+ msgstr ""
+
+-#: cp/method.c:1158
++#: cp/method.c:1159
+ #, fuzzy, gcc-internal-format
+ msgid "vtable layout for class %qT may not be ABI-compliantand may change in a future version of GCC due to implicit virtual destructor"
+ msgstr "disposition vtable pour la classe « %T » peut ne pas être compatible avec l'ABI et peut être modifié dans une version future deGCC en raison d'un destructeur virtuel implicite"
+
+-#: cp/name-lookup.c:728
++#: cp/name-lookup.c:727
+ #, fuzzy, gcc-internal-format
+ msgid "redeclaration of %<wchar_t%> as %qT"
+ msgstr "redéclaration de « wchar_t» comme « %T »"
+@@ -30403,243 +30410,243 @@
+ #. [basic.start.main]
+ #.
+ #. This function shall not be overloaded.
+-#: cp/name-lookup.c:758
++#: cp/name-lookup.c:757
+ #, fuzzy, gcc-internal-format
+ msgid "invalid redeclaration of %q+D"
+ msgstr "redéclaration invalide de « %D »"
+
+-#: cp/name-lookup.c:759
++#: cp/name-lookup.c:758
+ #, fuzzy, gcc-internal-format
+ msgid "as %qD"
+ msgstr "comme « %D »"
+
+-#: cp/name-lookup.c:850
++#: cp/name-lookup.c:849
+ #, fuzzy, gcc-internal-format
+ msgid "type mismatch with previous external decl of %q#D"
+ msgstr "non concordance de type avec la déclaration externe précédente de « %D »"
+
+-#: cp/name-lookup.c:851
++#: cp/name-lookup.c:850
+ #, fuzzy, gcc-internal-format
+ msgid "previous external decl of %q+#D"
+ msgstr "déclaration externe précédente de « %#D »"
+
+-#: cp/name-lookup.c:942
++#: cp/name-lookup.c:941
+ #, fuzzy, gcc-internal-format
+ msgid "extern declaration of %q#D doesn't match"
+ msgstr "déclaration externe de « %#D » ne concorde pas"
+
+-#: cp/name-lookup.c:943
++#: cp/name-lookup.c:942
+ #, fuzzy, gcc-internal-format
+ msgid "global declaration %q+#D"
+ msgstr "déclaration globale « %#D »"
+
+-#: cp/name-lookup.c:980 cp/name-lookup.c:987
++#: cp/name-lookup.c:979 cp/name-lookup.c:986
+ #, fuzzy, gcc-internal-format
+ msgid "declaration of %q#D shadows a parameter"
+ msgstr "déclaration de « %#D » masque un paramètre"
+
+ #. Location of previous decl is not useful in this case.
+-#: cp/name-lookup.c:1012
++#: cp/name-lookup.c:1011
+ #, fuzzy, gcc-internal-format
+ msgid "declaration of %qD shadows a member of 'this'"
+ msgstr "déclaration de « %D » masque un membre de « this »"
+
+-#: cp/name-lookup.c:1018
++#: cp/name-lookup.c:1017
+ #, fuzzy, gcc-internal-format
+ msgid "declaration of %qD shadows a previous local"
+ msgstr "déclaration de « %D » masque la déclaration d'un local précédent"
+
+-#: cp/name-lookup.c:1025
++#: cp/name-lookup.c:1024
+ #, fuzzy, gcc-internal-format
+ msgid "declaration of %qD shadows a global declaration"
+ msgstr "déclaration de « %D » masque une déclaration globale"
+
+-#: cp/name-lookup.c:1148
++#: cp/name-lookup.c:1147
+ #, fuzzy, gcc-internal-format
+ msgid "name lookup of %qD changed"
+ msgstr "recherche du nom « %D » a changé"
+
+-#: cp/name-lookup.c:1149
++#: cp/name-lookup.c:1148
+ #, fuzzy, gcc-internal-format
+ msgid " matches this %q+D under ISO standard rules"
+ msgstr " concorde avec « %D » selon les règles standards ISO"
+
+-#: cp/name-lookup.c:1151
++#: cp/name-lookup.c:1150
+ #, fuzzy, gcc-internal-format
+ msgid " matches this %q+D under old rules"
+ msgstr " concorde avec « %D » selon les vieilles règles"
+
+-#: cp/name-lookup.c:1169 cp/name-lookup.c:1177
++#: cp/name-lookup.c:1168 cp/name-lookup.c:1176
+ #, fuzzy, gcc-internal-format
+ msgid "name lookup of %qD changed for new ISO %<for%> scoping"
+ msgstr "recherche du nom de « %D » changé pour la nouvelle étendue ISO pour le « for »"
+
+-#: cp/name-lookup.c:1171
++#: cp/name-lookup.c:1170
+ #, fuzzy, gcc-internal-format
+ msgid " cannot use obsolete binding at %q+D because it has a destructor"
+ msgstr " ne peut utiliser une liaison obsolète à « %D » parce qu'il a un destructeur"
+
+-#: cp/name-lookup.c:1179
++#: cp/name-lookup.c:1178
+ #, fuzzy, gcc-internal-format
+ msgid " using obsolete binding at %q+D"
+ msgstr " utilisation de liaison obsolète à « %D »"
+
+-#: cp/name-lookup.c:1232
++#: cp/name-lookup.c:1231
+ #, gcc-internal-format
+ msgid "%s %s(%E) %p %d\n"
+ msgstr "%s %s(%E) %p %d\n"
+
+-#: cp/name-lookup.c:1235
++#: cp/name-lookup.c:1234
+ #, gcc-internal-format
+ msgid "%s %s %p %d\n"
+ msgstr "%s %s %p %d\n"
+
+-#: cp/name-lookup.c:1362
++#: cp/name-lookup.c:1361
+ #, gcc-internal-format
+ msgid "XXX is_class_level != (current_scope == class_scope)\n"
+ msgstr "XXX is_class_level != (current_scope == class_scope)\n"
+
+-#: cp/name-lookup.c:1920
++#: cp/name-lookup.c:1922
+ #, fuzzy, gcc-internal-format
+ msgid "%q#D hides constructor for %q#T"
+ msgstr "« %#D » cache un constructeur pour « %#T »"
+
+-#: cp/name-lookup.c:1937
++#: cp/name-lookup.c:1939
+ #, fuzzy, gcc-internal-format
+ msgid "%q#D conflicts with previous using declaration %q#D"
+ msgstr "« %#D » en conflit avec une déclaration précédente « %#D »"
+
+-#: cp/name-lookup.c:1960
++#: cp/name-lookup.c:1962
+ #, fuzzy, gcc-internal-format
+ msgid "previous non-function declaration %q+#D"
+ msgstr "déclaration précédente d'un non fonction « %#D »"
+
+-#: cp/name-lookup.c:1961
++#: cp/name-lookup.c:1963
+ #, fuzzy, gcc-internal-format
+ msgid "conflicts with function declaration %q#D"
+ msgstr "conflits avec la déclaration de fonction de « %#D »"
+
+ #. It's a nested name with template parameter dependent scope.
+ #. This can only be using-declaration for class member.
+-#: cp/name-lookup.c:2039 cp/name-lookup.c:2064
++#: cp/name-lookup.c:2041 cp/name-lookup.c:2066
+ #, fuzzy, gcc-internal-format
+ msgid "%qT is not a namespace"
+ msgstr "« %T » n'est pas un espace de noms"
+
+ #. 7.3.3/5
+ #. A using-declaration shall not name a template-id.
+-#: cp/name-lookup.c:2049
++#: cp/name-lookup.c:2051
+ #, fuzzy, gcc-internal-format
+ msgid "a using-declaration cannot specify a template-id. Try %<using %D%>"
+ msgstr "l'utilisation d'une déclaration ne peut spécifier un template-id. Essayer « using %D »"
+
+-#: cp/name-lookup.c:2056
++#: cp/name-lookup.c:2058
+ #, fuzzy, gcc-internal-format
+ msgid "namespace %qD not allowed in using-declaration"
+ msgstr "espace de noms « %D » n'est pas permis dans l'utilisation d'une déclaration"
+
+-#: cp/name-lookup.c:2092
++#: cp/name-lookup.c:2094
+ #, fuzzy, gcc-internal-format
+ msgid "%qD not declared"
+ msgstr "« %D » n'est pas déclaré"
+
+-#: cp/name-lookup.c:2128 cp/name-lookup.c:2165 cp/name-lookup.c:2199
+-#: cp/name-lookup.c:2214
++#: cp/name-lookup.c:2130 cp/name-lookup.c:2167 cp/name-lookup.c:2201
++#: cp/name-lookup.c:2216
+ #, fuzzy, gcc-internal-format
+ msgid "%qD is already declared in this scope"
+ msgstr "« %D » est déjà déclaré dans cette portée"
+
+-#: cp/name-lookup.c:2817
++#: cp/name-lookup.c:2819
+ #, gcc-internal-format
+ msgid "using-declaration for non-member at class scope"
+ msgstr "l'utilisation de déclaration pour un non membre au niveau de la portée de la classe"
+
+-#: cp/name-lookup.c:2824
++#: cp/name-lookup.c:2826
+ #, fuzzy, gcc-internal-format
+ msgid "%<%T::%D%> names destructor"
+ msgstr "« %D » nomme le constructeur"
+
+-#: cp/name-lookup.c:2829
++#: cp/name-lookup.c:2831
+ #, fuzzy, gcc-internal-format
+ msgid "%<%T::%D%> names constructor"
+ msgstr "« %D » nomme le constructeur"
+
+-#: cp/name-lookup.c:2834
++#: cp/name-lookup.c:2836
+ #, fuzzy, gcc-internal-format
+ msgid "%<%T::%D%> names constructor in %qT"
+ msgstr "« %D » nomme le constructeur"
+
+-#: cp/name-lookup.c:2884
++#: cp/name-lookup.c:2886
+ #, fuzzy, gcc-internal-format
+ msgid "no members matching %<%T::%D%> in %q#T"
+ msgstr "aucun membre concordant « %D » dans « %#T »"
+
+-#: cp/name-lookup.c:2952
++#: cp/name-lookup.c:2954
+ #, fuzzy, gcc-internal-format
+ msgid "declaration of %qD not in a namespace surrounding %qD"
+ msgstr "déclaration de « %D » n'est pas dans l'espace de noms entourant « %D »"
+
+-#: cp/name-lookup.c:2960
++#: cp/name-lookup.c:2962
+ #, fuzzy, gcc-internal-format
+ msgid "explicit qualification in declaration of %qD"
+ msgstr "qualificateurs de types dupliqués dans déclaration %s"
+
+-#: cp/name-lookup.c:3003
++#: cp/name-lookup.c:3005
+ #, fuzzy, gcc-internal-format
+ msgid "%qD should have been declared inside %qD"
+ msgstr "« %D » devrait avoir été déclaré à l'intérieur de « %D »"
+
+-#: cp/name-lookup.c:3048
++#: cp/name-lookup.c:3050
+ #, fuzzy, gcc-internal-format
+ msgid "%qD attribute requires a single NTBS argument"
+ msgstr "l'attribut « %s » requiert un argument de type constante entière"
+
+-#: cp/name-lookup.c:3055
++#: cp/name-lookup.c:3057
+ #, gcc-internal-format
+ msgid "%qD attribute is meaningless since members of the anonymous namespace get local symbols"
+ msgstr ""
+
+-#: cp/name-lookup.c:3064 cp/name-lookup.c:3433
++#: cp/name-lookup.c:3066 cp/name-lookup.c:3435
+ #, fuzzy, gcc-internal-format
+ msgid "%qD attribute directive ignored"
+ msgstr "« %D » attribut de directive ignoré"
+
+-#: cp/name-lookup.c:3109
++#: cp/name-lookup.c:3111
+ #, fuzzy, gcc-internal-format
+ msgid "namespace alias %qD not allowed here, assuming %qD"
+ msgstr "alias d'espace de noms « %D » n'est pas permis ici, on assume « %D »"
+
+-#: cp/name-lookup.c:3421
++#: cp/name-lookup.c:3423
+ #, gcc-internal-format
+ msgid "strong using only meaningful at namespace scope"
+ msgstr "forte n'ayant un sens seulement sur l'étendue de l'espace nom"
+
+-#: cp/name-lookup.c:3425
++#: cp/name-lookup.c:3427
+ #, gcc-internal-format
+ msgid "current namespace %qD does not enclose strongly used namespace %qD"
+ msgstr ""
+
+-#: cp/name-lookup.c:4318
++#: cp/name-lookup.c:4320
+ #, fuzzy, gcc-internal-format
+ msgid "%q+D is not a function,"
+ msgstr "« %D » n'est pas une fonction"
+
+-#: cp/name-lookup.c:4319
++#: cp/name-lookup.c:4321
+ #, fuzzy, gcc-internal-format
+ msgid " conflict with %q+D"
+ msgstr " en conflit avec « %D »"
+
+-#: cp/name-lookup.c:4752
++#: cp/name-lookup.c:4756
+ #, gcc-internal-format
+ msgid "argument dependent lookup finds %q+D"
+ msgstr ""
+
+-#: cp/name-lookup.c:5184
++#: cp/name-lookup.c:5188
+ #, gcc-internal-format
+ msgid "XXX entering pop_everything ()\n"
+ msgstr "XXX on entre dans pop_everything ()\n"
+
+-#: cp/name-lookup.c:5193
++#: cp/name-lookup.c:5197
+ #, gcc-internal-format
+ msgid "XXX leaving pop_everything ()\n"
+ msgstr "XXX on quitte pop_everything ()\n"
+@@ -30649,368 +30656,373 @@
+ msgid "identifier %<%s%> will become a keyword in C++0x"
+ msgstr ""
+
+-#: cp/parser.c:2066
++#: cp/parser.c:2069
+ #, fuzzy, gcc-internal-format
+ msgid "%<#pragma%> is not allowed here"
+ msgstr "la #pragma %s est déjà enregistrée"
+
+-#: cp/parser.c:2096
++#: cp/parser.c:2099
+ #, fuzzy, gcc-internal-format
+ msgid "%<%E::%E%> has not been declared"
+ msgstr "« %D::%D » n'a pas été déclaré"
+
+-#: cp/parser.c:2099
++#: cp/parser.c:2102
+ #, fuzzy, gcc-internal-format
+ msgid "%<::%E%> has not been declared"
+ msgstr "« %D::%D » n'a pas été déclaré"
+
+-#: cp/parser.c:2102
++#: cp/parser.c:2105
+ #, fuzzy, gcc-internal-format
+ msgid "request for member %qE in non-class type %qT"
+ msgstr "requête du membre « %D » dans « %E », lequel n'est pas de type classe « %T »"
+
+-#: cp/parser.c:2105
++#: cp/parser.c:2108
+ #, fuzzy, gcc-internal-format
+ msgid "%<%T::%E%> has not been declared"
+ msgstr "« %D::%D » n'a pas été déclaré"
+
+-#: cp/parser.c:2108
++#: cp/parser.c:2111
+ #, fuzzy, gcc-internal-format
+ msgid "%qE has not been declared"
+ msgstr "« %D » n'a pas été déclaré"
+
+-#: cp/parser.c:2111
++#: cp/parser.c:2114
+ #, gcc-internal-format
+ msgid "%<%E::%E%> %s"
+ msgstr ""
+
+-#: cp/parser.c:2113
++#: cp/parser.c:2116
+ #, fuzzy, gcc-internal-format
+ msgid "%<::%E%> %s"
+ msgstr "« %D::%D » %s"
+
+-#: cp/parser.c:2115
++#: cp/parser.c:2118
+ #, fuzzy, gcc-internal-format
+ msgid "%qE %s"
+ msgstr "%s : %s"
+
+-#: cp/parser.c:2151
++#: cp/parser.c:2155
+ #, fuzzy, gcc-internal-format
+-msgid "ISO C++ does not support %<long long%>"
++msgid "ISO C++ 1998 does not support %<long long%>"
+ msgstr "ISO C++ ne permet pas « long long »"
+
+-#: cp/parser.c:2171
++#: cp/parser.c:2175
+ #, fuzzy, gcc-internal-format
+ msgid "duplicate %qs"
+ msgstr "« %s » apparaît en double"
+
+-#: cp/parser.c:2214
++#: cp/parser.c:2218
+ #, gcc-internal-format
+ msgid "new types may not be defined in a return type"
+ msgstr "nouveaux types ne peuvent être définis dans un type à retourner"
+
+-#: cp/parser.c:2215
++#: cp/parser.c:2219
+ #, fuzzy, gcc-internal-format
+ msgid "(perhaps a semicolon is missing after the definition of %qT)"
+ msgstr "«;» manquant après la déclaration « %T »"
+
+-#: cp/parser.c:2234 cp/parser.c:4077 cp/pt.c:5443
++#: cp/parser.c:2238 cp/parser.c:4081 cp/pt.c:5509
+ #, fuzzy, gcc-internal-format
+ msgid "%qT is not a template"
+ msgstr "« %T » n'est pas un patron"
+
+-#: cp/parser.c:2236
++#: cp/parser.c:2240
+ #, fuzzy, gcc-internal-format
+ msgid "%qE is not a template"
+ msgstr "« %T » n'est pas un patron"
+
+-#: cp/parser.c:2238
++#: cp/parser.c:2242
+ #, gcc-internal-format
+ msgid "invalid template-id"
+ msgstr "id de patron invalide"
+
+-#: cp/parser.c:2267
++#: cp/parser.c:2271
+ #, gcc-internal-format
+ msgid "%s cannot appear in a constant-expression"
+ msgstr "%s ne peut apparaître dans une expression de constante"
+
+-#: cp/parser.c:2292
++#: cp/parser.c:2296
+ #, fuzzy, gcc-internal-format
+ msgid "invalid use of template-name %qE without an argument list"
+ msgstr "utilisation invalide du template-name « %E » dans le déclarateur"
+
+-#: cp/parser.c:2294
++#: cp/parser.c:2298
+ #, fuzzy, gcc-internal-format
+ msgid "invalid use of destructor %qD as a type"
+ msgstr "usage de « restrict » invalide"
+
+ #. Something like 'unsigned A a;'
+-#: cp/parser.c:2297
++#: cp/parser.c:2301
+ #, fuzzy, gcc-internal-format
+ msgid "invalid combination of multiple type-specifiers"
+ msgstr "définition invalide d'un type qualifié « %T »"
+
+ #. Issue an error message.
+-#: cp/parser.c:2301
++#: cp/parser.c:2305
+ #, fuzzy, gcc-internal-format
+ msgid "%qE does not name a type"
+ msgstr "« %s » ne nomme pas un type"
+
+-#: cp/parser.c:2333
++#: cp/parser.c:2337
+ #, fuzzy, gcc-internal-format
+ msgid "(perhaps %<typename %T::%E%> was intended)"
+ msgstr "(peut-être « typename %T::%s » était votre intention"
+
+-#: cp/parser.c:2348
++#: cp/parser.c:2352
+ #, fuzzy, gcc-internal-format
+ msgid "%qE in namespace %qE does not name a type"
+ msgstr "« %s » ne nomme pas un type"
+
+-#: cp/parser.c:2351
++#: cp/parser.c:2355
+ #, fuzzy, gcc-internal-format
+ msgid "%qE in class %qT does not name a type"
+ msgstr "« %s » ne nomme pas un type"
+
+-#: cp/parser.c:3160
++#: cp/parser.c:3164
+ #, gcc-internal-format
+ msgid "ISO C++ forbids braced-groups within expressions"
+ msgstr "ISO C++ interdit les groupes d'accolades à l'intérieur des expressions"
+
+-#: cp/parser.c:3171
++#: cp/parser.c:3175
+ #, fuzzy, gcc-internal-format
+ msgid "statement-expressions are not allowed outside functions nor in template-argument lists"
+ msgstr "expression de déclaration sont permises seulement à l'intérieur de fonctions"
+
+-#: cp/parser.c:3229
++#: cp/parser.c:3233
+ #, fuzzy, gcc-internal-format
+ msgid "%<this%> may not be used in this context"
+ msgstr "« cela » ne peut être utilisé dans ce contexte"
+
+-#: cp/parser.c:3412
++#: cp/parser.c:3416
+ #, fuzzy, gcc-internal-format
+ msgid "local variable %qD may not appear in this context"
+ msgstr "variable locale « %D » ne peut apparaître dans ce contexte"
+
+-#: cp/parser.c:3711
++#: cp/parser.c:3715
+ #, gcc-internal-format
+ msgid "scope %qT before %<~%> is not a class-name"
+ msgstr ""
+
+-#: cp/parser.c:3812
++#: cp/parser.c:3816
+ #, fuzzy, gcc-internal-format
+ msgid "declaration of %<~%T%> as member of %qT"
+ msgstr "déclaration de « %D » masque un membre de « this »"
+
+-#: cp/parser.c:3826
++#: cp/parser.c:3830
+ #, fuzzy, gcc-internal-format
+ msgid "typedef-name %qD used as destructor declarator"
+ msgstr "nom du typdef « %D » utilisé comme déclarateur de destructeur"
+
+-#: cp/parser.c:4480
++#: cp/parser.c:4484
+ #, gcc-internal-format
+ msgid "ISO C++ forbids compound-literals"
+ msgstr "ISO C++ interdit les chaînes composées"
+
+-#: cp/parser.c:4837
++#: cp/parser.c:4841
+ #, fuzzy, gcc-internal-format
+ msgid "%qE does not have class type"
+ msgstr "« %T » n'est pas un type de classe"
+
+-#: cp/parser.c:4920 cp/typeck.c:1978
++#: cp/parser.c:4924 cp/typeck.c:2024
+ #, fuzzy, gcc-internal-format
+ msgid "invalid use of %qD"
+ msgstr "utilisation invalide de %D"
+
+-#: cp/parser.c:5480
++#: cp/parser.c:5486
+ #, gcc-internal-format
+ msgid "array bound forbidden after parenthesized type-id"
+ msgstr "les limites du tableau interdisent ce qui suit après le type-id mis entre parenthèses"
+
+-#: cp/parser.c:5481
++#: cp/parser.c:5487
+ #, gcc-internal-format
+ msgid "try removing the parentheses around the type-id"
+ msgstr "essayer d'enlever les parenthèses autour du type-id"
+
+-#: cp/parser.c:5671
++#: cp/parser.c:5677
+ #, gcc-internal-format
+ msgid "expression in new-declarator must have integral or enumeration type"
+ msgstr "expression dans le nouveau déclarateur doit être un type entier ou d'énumération"
+
+-#: cp/parser.c:5860
++#: cp/parser.c:5866
+ #, gcc-internal-format
+ msgid "use of old-style cast"
+ msgstr "utilisation d'un vieux style de transtypage (cast)"
+
+-#: cp/parser.c:5986
++#: cp/parser.c:5992
+ #, gcc-internal-format
+ msgid "%H%<>>%> operator will be treated as two right angle brackets in C++0x"
+ msgstr ""
+
+-#: cp/parser.c:5989
++#: cp/parser.c:5995
+ #, fuzzy, gcc-internal-format
+ msgid "suggest parentheses around %<>>%> expression"
+ msgstr "parenthèses suggérées autour de && à l'intérieur de ||"
+
+-#: cp/parser.c:6793
++#: cp/parser.c:6799
+ #, fuzzy, gcc-internal-format
+ msgid "case label %qE not within a switch statement"
+ msgstr "étiquette du CASE « %E » n'est pas à l'intérieur de la déclaration du SWITCH"
+
+-#: cp/parser.c:6922
++#: cp/parser.c:6928
+ #, gcc-internal-format
+ msgid "%<else%> without a previous %<if%>"
+ msgstr ""
+
+-#: cp/parser.c:7208
++#: cp/parser.c:7214
+ #, gcc-internal-format
+ msgid "suggest a space before %<;%> or explicit braces around empty body in %<%s%> statement"
+ msgstr ""
+
+-#: cp/parser.c:7468
++#: cp/parser.c:7474
+ #, gcc-internal-format
+ msgid "ISO C++ forbids computed gotos"
+ msgstr "ISO C++ interdit les gotos calculés"
+
+-#: cp/parser.c:7608
++#: cp/parser.c:7614
+ #, fuzzy, gcc-internal-format
+ msgid "extra %<;%>"
+ msgstr "« ; » superflu"
+
+-#: cp/parser.c:7825
++#: cp/parser.c:7831
+ #, gcc-internal-format
+ msgid "%<__label__%> not at the beginning of a block"
+ msgstr ""
+
+-#: cp/parser.c:7958
++#: cp/parser.c:7964
+ #, gcc-internal-format
+ msgid "mixing declarations and function-definitions is forbidden"
+ msgstr "mélange de déclarations et de définitions de fonction est interdit"
+
+-#: cp/parser.c:8090
++#: cp/parser.c:8096
+ #, gcc-internal-format
+ msgid "%<friend%> used outside of class"
+ msgstr ""
+
+-#: cp/parser.c:8244
++#: cp/parser.c:8250
+ #, gcc-internal-format
+ msgid "class definition may not be declared a friend"
+ msgstr "définition de classe ne peut pas être déclaré comme ami"
+
+-#: cp/parser.c:8308 cp/parser.c:15155
++#: cp/parser.c:8314 cp/parser.c:15235
+ #, gcc-internal-format
+ msgid "templates may not be %<virtual%>"
+ msgstr ""
+
+-#: cp/parser.c:8775
++#: cp/parser.c:8786
+ #, gcc-internal-format
+ msgid "only constructors take base initializers"
+ msgstr "seuls les constructeurs prennent des initialiseurs de base"
+
+-#: cp/parser.c:8795
++#: cp/parser.c:8806
+ #, fuzzy, gcc-internal-format
+ msgid "cannot expand initializer for member %<%D%>"
+ msgstr "initialiseur manquant pour le membre « %D »"
+
+-#: cp/parser.c:8847
++#: cp/parser.c:8858
+ #, gcc-internal-format
+ msgid "anachronistic old-style base class initializer"
+ msgstr "ancien style anachronique d'initialiseur de classe de base"
+
+-#: cp/parser.c:8892
++#: cp/parser.c:8903
+ #, fuzzy, gcc-internal-format
+ msgid "keyword %<typename%> not allowed in this context (a qualified member initializer is implicitly a type)"
+ msgstr "mot clé « typename » n'est pas permis dans ce contexte (un initialisateur de membre qualifié est implicitement un type)"
+
+ #. Warn that we do not support `export'.
+-#: cp/parser.c:9237
++#: cp/parser.c:9248
+ #, fuzzy, gcc-internal-format
+ msgid "keyword %<export%> not implemented, and will be ignored"
+ msgstr "mot clé « export » n'est pas implanté et sera ignoré"
+
+-#: cp/parser.c:9482 cp/parser.c:9583
++#: cp/parser.c:9419 cp/parser.c:9517 cp/parser.c:9618
+ #, fuzzy, gcc-internal-format
+ msgid "template parameter pack %qD cannot have a default argument"
+ msgstr "« %D » ne peut avoir d'arguments par défaut"
+
+-#: cp/parser.c:9485 cp/parser.c:9586
++#: cp/parser.c:9422
+ #, fuzzy, gcc-internal-format
++msgid "template parameter pack cannot have a default argument"
++msgstr "paramètres du patron ne peuvent pas être amis"
++
++#: cp/parser.c:9520 cp/parser.c:9621
++#, fuzzy, gcc-internal-format
+ msgid "template parameter packs cannot have default arguments"
+ msgstr "paramètres du patron ne peuvent pas être amis"
+
+ #. Otherwise, emit an error about the invalid digraph, but continue
+ #. parsing because we got our argument list.
+-#: cp/parser.c:9723
++#: cp/parser.c:9758
+ #, fuzzy, gcc-internal-format
+ msgid "%<<::%> cannot begin a template-argument list"
+ msgstr "« <:: » ne peut pas être au début d'une liste d'un patron d'arguments"
+
+-#: cp/parser.c:9724
++#: cp/parser.c:9759
+ #, fuzzy, gcc-internal-format
+ msgid "%<<:%> is an alternate spelling for %<[%>. Insert whitespace between %<<%> and %<::%>"
+ msgstr "« <: » est une épellation alternative pour « [ ». Insérer des blancs d,espacement entre « < » et « :: »"
+
+-#: cp/parser.c:9731
++#: cp/parser.c:9766
+ #, fuzzy, gcc-internal-format
+ msgid "(if you use -fpermissive G++ will accept your code)"
+ msgstr "(si vous utiliser « -fpermissive » G++ acceptera votre code)"
+
+-#: cp/parser.c:9804
++#: cp/parser.c:9839
+ #, fuzzy, gcc-internal-format
+ msgid "parse error in template argument list"
+ msgstr "« <:: » ne peut pas être au début d'une liste d'un patron d'arguments"
+
+ #. Explain what went wrong.
+-#: cp/parser.c:9917
++#: cp/parser.c:9952
+ #, fuzzy, gcc-internal-format
+ msgid "non-template %qD used as template"
+ msgstr "« %D » qui n'est pas un patron est utilisé comme patron"
+
+-#: cp/parser.c:9918
++#: cp/parser.c:9953
+ #, fuzzy, gcc-internal-format
+ msgid "use %<%T::template %D%> to indicate that it is a template"
+ msgstr "utiliser « %T::template %D » pour indiquer que c'est un patron"
+
+-#: cp/parser.c:10441
++#: cp/parser.c:10476
+ #, gcc-internal-format
+ msgid "template specialization with C linkage"
+ msgstr "spécialisation de patron avec édition de liens C"
+
+-#: cp/parser.c:11032
++#: cp/parser.c:11067
+ #, fuzzy, gcc-internal-format
+ msgid "using %<typename%> outside of template"
+ msgstr "utilisation de « typename » en dehors du patron"
+
+-#: cp/parser.c:11191
++#: cp/parser.c:11226
+ #, fuzzy, gcc-internal-format
+ msgid "declaration %qD does not declare anything"
+ msgstr "déclaration ne déclarant rien du tout"
+
+-#: cp/parser.c:11275
++#: cp/parser.c:11310
+ #, fuzzy, gcc-internal-format
+ msgid "attributes ignored on uninstantiated type"
+ msgstr "opération invalide sur un type non instancié"
+
+-#: cp/parser.c:11279
++#: cp/parser.c:11314
+ #, fuzzy, gcc-internal-format
+ msgid "attributes ignored on template instantiation"
+ msgstr "classe de stockage « %D » appliqué à l'instanciation du patron"
+
+-#: cp/parser.c:11284
++#: cp/parser.c:11319
+ #, gcc-internal-format
+ msgid "attributes ignored on elaborated-type-specifier that is not a forward declaration"
+ msgstr ""
+
+-#: cp/parser.c:11406
++#: cp/parser.c:11441
+ #, gcc-internal-format
+ msgid "comma at end of enumerator list"
+ msgstr "virgule à la fin de liste d'énumerateurs"
+
+-#: cp/parser.c:11498
++#: cp/parser.c:11533
+ #, fuzzy, gcc-internal-format
+ msgid "%qD is not a namespace-name"
+ msgstr "« %D » n'est pas un espace de noms"
+
+-#: cp/parser.c:11599
++#: cp/parser.c:11634
+ #, fuzzy, gcc-internal-format
+ msgid "%<namespace%> definition is not allowed here"
+ msgstr "instructions min/max ne sont pas permises"
+@@ -31018,142 +31030,157 @@
+ #. [namespace.udecl]
+ #.
+ #. A using declaration shall not name a template-id.
+-#: cp/parser.c:11738
++#: cp/parser.c:11773
+ #, gcc-internal-format
+ msgid "a template-id may not appear in a using-declaration"
+ msgstr "un id de patron ne peut pas apparaître dans l'utilisation de la déclaration"
+
+-#: cp/parser.c:12094
++#: cp/parser.c:12135
+ #, gcc-internal-format
+ msgid "an asm-specification is not allowed on a function-definition"
+ msgstr "une spécification asm n'est pas permise dans la définition de fonction"
+
+-#: cp/parser.c:12096
++#: cp/parser.c:12137
+ #, gcc-internal-format
+ msgid "attributes are not allowed on a function-definition"
+ msgstr "attributs ne sont pas permis dans la définition de fonction"
+
+-#: cp/parser.c:12229
++#: cp/parser.c:12270
+ #, fuzzy, gcc-internal-format
+ msgid "initializer provided for function"
+ msgstr "initialisation spécifiée pour une fonction « %D » n'étant pas membre"
+
+-#: cp/parser.c:12249
++#: cp/parser.c:12290
+ #, gcc-internal-format
+ msgid "attributes after parenthesized initializer ignored"
+ msgstr "attributs après l'initialisateur mis entre parenthèses sont ignorés"
+
+-#: cp/parser.c:12630 cp/pt.c:8772
++#: cp/parser.c:12671 cp/pt.c:8893
+ #, fuzzy, gcc-internal-format
+ msgid "array bound is not an integer constant"
+ msgstr "compteur de répétition n'est pas une constante entière"
+
+-#: cp/parser.c:12739
++#: cp/parser.c:12780
+ #, fuzzy, gcc-internal-format
+ msgid "%<%T::%E%> is not a type"
+ msgstr "« %T::%D » n'est pas un type"
+
+-#: cp/parser.c:12765
++#: cp/parser.c:12806
+ #, fuzzy, gcc-internal-format
+ msgid "invalid use of constructor as a template"
+ msgstr "utilisation invalide du patron « %D »"
+
+-#: cp/parser.c:12766
++#: cp/parser.c:12807
+ #, gcc-internal-format
+ msgid "use %<%T::%D%> instead of %<%T::%D%> to name the constructor in a qualified name"
+ msgstr ""
+
+-#: cp/parser.c:12938
++#: cp/parser.c:12979
+ #, fuzzy, gcc-internal-format
+ msgid "%qD is a namespace"
+ msgstr "« %D » est un nom d'espace"
+
+-#: cp/parser.c:13013
++#: cp/parser.c:13054
+ #, fuzzy, gcc-internal-format
+ msgid "duplicate cv-qualifier"
+ msgstr "duplication du qualificateur (décalage %d)"
+
+-#: cp/parser.c:13600
++#: cp/parser.c:13640
+ #, gcc-internal-format
+ msgid "file ends in default argument"
+ msgstr "fin de fichier dans l'argument par défaut"
+
+-#: cp/parser.c:13673
++#: cp/parser.c:13683
+ #, gcc-internal-format
+ msgid "deprecated use of default argument for parameter of non-function"
+ msgstr "utilisation de l'argument par défaut pour un paramètre d'une non fonction"
+
+-#: cp/parser.c:13676
++#: cp/parser.c:13686
+ #, gcc-internal-format
+ msgid "default arguments are only permitted for function parameters"
+ msgstr "arguments par défaut sont permis seulement pour les paramètres de fonction"
+
+-#: cp/parser.c:13877
++#: cp/parser.c:13702
++#, fuzzy, gcc-internal-format
++msgid "%sparameter pack %qD cannot have a default argument"
++msgstr "« %D » ne peut avoir d'arguments par défaut"
++
++#: cp/parser.c:13705
++#, fuzzy, gcc-internal-format
++msgid "%sparameter pack cannot have a default argument"
++msgstr "« %D » ne peut avoir d'arguments par défaut"
++
++#: cp/parser.c:13947
+ #, gcc-internal-format
+ msgid "ISO C++ does not allow designated initializers"
+ msgstr "ISO C++ ne permet de désigner les initialiseurs"
+
+-#: cp/parser.c:14477
++#: cp/parser.c:14547
+ #, fuzzy, gcc-internal-format
+ msgid "invalid class name in declaration of %qD"
+ msgstr "déclaration de patron invalide « %D »"
+
+-#: cp/parser.c:14489
++#: cp/parser.c:14559
+ #, fuzzy, gcc-internal-format
+ msgid "declaration of %qD in namespace %qD which does not enclose %qD"
+ msgstr "déclaration de « %D » dans « %D » lequel n'entoure pas « %D »"
+
+-#: cp/parser.c:14492
++#: cp/parser.c:14562
+ #, fuzzy, gcc-internal-format
+ msgid "declaration of %qD in %qD which does not enclose %qD"
+ msgstr "déclaration de « %D » dans « %D » lequel n'entoure pas « %D »"
+
+-#: cp/parser.c:14505
++#: cp/parser.c:14575
+ #, gcc-internal-format
+ msgid "extra qualification ignored"
+ msgstr "qualification superflue ignorée"
+
+-#: cp/parser.c:14516
++#: cp/parser.c:14586
+ #, fuzzy, gcc-internal-format
+ msgid "an explicit specialization must be preceded by %<template <>%>"
+ msgstr "spécialisation explicite doit être précédé par « template <> »"
+
+-#: cp/parser.c:14609
++#: cp/parser.c:14613
+ #, fuzzy, gcc-internal-format
++msgid "function template %qD redeclared as a class template"
++msgstr "« %D » qui n'est pas un patron est utilisé comme patron"
++
++#: cp/parser.c:14689
++#, fuzzy, gcc-internal-format
+ msgid "previous definition of %q+#T"
+ msgstr "définition précédente de « %#T »"
+
+-#: cp/parser.c:14855
++#: cp/parser.c:14935
+ #, fuzzy, gcc-internal-format
+ msgid "%Hextra %<;%>"
+ msgstr "« ; » superflu"
+
+-#: cp/parser.c:14873
++#: cp/parser.c:14953
+ #, gcc-internal-format
+ msgid "a class-key must be used when declaring a friend"
+ msgstr "une clé de classe doit être utilise lors de la déclaration d'un ami"
+
+-#: cp/parser.c:14887
++#: cp/parser.c:14967
+ #, gcc-internal-format
+ msgid "friend declaration does not name a class or function"
+ msgstr "déclaration amie ne nomme pas une classe ou une fonction"
+
+-#: cp/parser.c:15064
++#: cp/parser.c:15144
+ #, gcc-internal-format
+ msgid "pure-specifier on function-definition"
+ msgstr "spécificateur pur lors de la définition d'une fonction"
+
+-#: cp/parser.c:15356
++#: cp/parser.c:15438
+ #, fuzzy, gcc-internal-format
+ msgid "keyword %<typename%> not allowed outside of templates"
+ msgstr "mot clé « typename » n'est pas permis en dehors du patron"
+
+-#: cp/parser.c:15358
++#: cp/parser.c:15440
+ #, fuzzy, gcc-internal-format
+ msgid "keyword %<typename%> not allowed in this context (the base class is implicitly a type)"
+ msgstr "mot clé « typename » n'est pas permis dans ce contexte (la classe de base est implicitement un type)"
+
+-#: cp/parser.c:16407
++#: cp/parser.c:16489
+ #, gcc-internal-format
+ msgid "too few template-parameter-lists"
+ msgstr "trop peu de patron de listes de paramètres"
+@@ -31162,13 +31189,13 @@
+ #. something like:
+ #.
+ #. template <class T> template <class U> void S::f();
+-#: cp/parser.c:16422
++#: cp/parser.c:16504
+ #, gcc-internal-format
+ msgid "too many template-parameter-lists"
+ msgstr "trop de patron de listes de paramètres"
+
+ #. Issue an error message.
+-#: cp/parser.c:16694
++#: cp/parser.c:16776
+ #, gcc-internal-format
+ msgid "named return values are no longer supported"
+ msgstr "valeurs nommées à retourner ne sont plus supportées"
+@@ -31176,234 +31203,234 @@
+ #. 14.5.2.2 [temp.mem]
+ #.
+ #. A local class shall not have member templates.
+-#: cp/parser.c:16766
++#: cp/parser.c:16848
+ #, fuzzy, gcc-internal-format
+ msgid "invalid declaration of member template in local class"
+ msgstr "déclaration invalide du patron de membre « %#D » dans la classe locale"
+
+-#: cp/parser.c:16775
++#: cp/parser.c:16857
+ #, gcc-internal-format
+ msgid "template with C linkage"
+ msgstr "patron avec liaison C"
+
+-#: cp/parser.c:16919
++#: cp/parser.c:17001
+ #, fuzzy, gcc-internal-format
+ msgid "template declaration of %qs"
+ msgstr "déclaration du patron de « %#D »"
+
+-#: cp/parser.c:16982
++#: cp/parser.c:17064
+ #, fuzzy, gcc-internal-format
+ msgid "explicit template specialization cannot have a storage class"
+ msgstr "spécialisation explicite ici"
+
+-#: cp/parser.c:17171
++#: cp/parser.c:17253
+ #, fuzzy, gcc-internal-format
+ msgid "%H%<>>%> should be %<> >%> within a nested template argument list"
+ msgstr "« >> » devrait être « > > » à l'intérieur du patron de la liste d'arguments"
+
+-#: cp/parser.c:17184
++#: cp/parser.c:17266
+ #, fuzzy, gcc-internal-format
+ msgid "spurious %<>>%>, use %<>%> to terminate a template argument list"
+ msgstr "faux « >> », utiliser « > » pour terminer la liste d'argument du patron"
+
+-#: cp/parser.c:17519
++#: cp/parser.c:17601
+ #, fuzzy, gcc-internal-format
+ msgid "invalid use of %qD in linkage specification"
+ msgstr "spécification de base de classe invalide"
+
+-#: cp/parser.c:17532
++#: cp/parser.c:17614
+ #, fuzzy, gcc-internal-format
+ msgid "%<__thread%> before %qD"
+ msgstr "« __thread » avant « extern »"
+
+-#: cp/parser.c:17847
++#: cp/parser.c:17929
+ #, fuzzy, gcc-internal-format
+ msgid "%qs tag used in naming %q#T"
+ msgstr "étiquette « %s » utilisée dans la dénomination de « %#T »"
+
+-#: cp/parser.c:17868
++#: cp/parser.c:17950
+ #, fuzzy, gcc-internal-format
+ msgid "%qD redeclared with different access"
+ msgstr "« %#D » redéclaré avec un accès différent"
+
+-#: cp/parser.c:17885
++#: cp/parser.c:17967
+ #, fuzzy, gcc-internal-format
+ msgid "%<template%> (as a disambiguator) is only allowed within templates"
+ msgstr "« template » (afin de rendre moins ambiguë) est seulement permis à l'intérieur des patron"
+
+-#: cp/parser.c:18138 cp/parser.c:19061 cp/parser.c:19192
++#: cp/parser.c:18220 cp/parser.c:19143 cp/parser.c:19274
+ #, gcc-internal-format
+ msgid "misplaced %<@%D%> Objective-C++ construct"
+ msgstr ""
+
+-#: cp/parser.c:18279
++#: cp/parser.c:18361
+ #, gcc-internal-format
+ msgid "%<@encode%> must specify a type as an argument"
+ msgstr ""
+
+-#: cp/parser.c:18594
++#: cp/parser.c:18676
+ #, gcc-internal-format
+ msgid "invalid Objective-C++ selector name"
+ msgstr ""
+
+-#: cp/parser.c:18925
++#: cp/parser.c:19007
+ #, fuzzy, gcc-internal-format
+ msgid "identifier expected after %<@protocol%>"
+ msgstr "Identificateur attendu"
+
+-#: cp/parser.c:19626
++#: cp/parser.c:19708
+ #, gcc-internal-format
+ msgid "schedule %<runtime%> does not take a %<chunk_size%> parameter"
+ msgstr ""
+
+-#: cp/parser.c:19735
++#: cp/parser.c:19824
+ #, fuzzy, gcc-internal-format
+ msgid "%qs is not valid for %qs"
+ msgstr "%s: non pour %s"
+
+-#: cp/parser.c:20390
++#: cp/parser.c:20479
+ #, fuzzy, gcc-internal-format
+ msgid "junk at end of %<#pragma GCC pch_preprocess%>"
+ msgstr "rebut à la fin de #pragma GCC java_exceptions"
+
+-#: cp/parser.c:20477
++#: cp/parser.c:20566
+ #, gcc-internal-format
+ msgid "%<#pragma omp section%> may only be used in %<#pragma omp sections%> construct"
+ msgstr ""
+
+-#: cp/parser.c:20535
++#: cp/parser.c:20624
+ #, fuzzy, gcc-internal-format
+ msgid "inter-module optimizations not implemented for C++"
+ msgstr "les optimisations inter-module n'est pas implanté encore"
+
+-#: cp/pt.c:249
++#: cp/pt.c:252
+ #, fuzzy, gcc-internal-format
+ msgid "data member %qD cannot be a member template"
+ msgstr "membre de données « %D » ne peut être membre du patron"
+
+-#: cp/pt.c:261
++#: cp/pt.c:264
+ #, fuzzy, gcc-internal-format
+ msgid "invalid member template declaration %qD"
+ msgstr "déclaration de membre de patron invalide « %D »"
+
+-#: cp/pt.c:609
++#: cp/pt.c:612
+ #, fuzzy, gcc-internal-format
+ msgid "explicit specialization in non-namespace scope %qD"
+ msgstr "spécialisation explicite dans la portée d'un non espace de noms « %D »"
+
+-#: cp/pt.c:623
++#: cp/pt.c:626
+ #, gcc-internal-format
+ msgid "enclosing class templates are not explicitly specialized"
+ msgstr "fermetures de patrons de classe ne sont pas explicitement spécialisées"
+
+-#: cp/pt.c:711
++#: cp/pt.c:714
+ #, fuzzy, gcc-internal-format
+ msgid "specialization of %qD in different namespace"
+ msgstr "spécialisation de « %D » dans différents espaces de noms"
+
+-#: cp/pt.c:712 cp/pt.c:809
++#: cp/pt.c:715 cp/pt.c:812
+ #, fuzzy, gcc-internal-format
+ msgid " from definition of %q+#D"
+ msgstr " à partir de la définition de « %#D »"
+
+-#: cp/pt.c:729
++#: cp/pt.c:732
+ #, fuzzy, gcc-internal-format
+ msgid "explicit instantiation of %qD in namespace %qD (which does not enclose namespace %qD)"
+ msgstr "déclaration de « %D » dans « %D » lequel n'entoure pas « %D »"
+
+-#: cp/pt.c:747
++#: cp/pt.c:750
+ #, fuzzy, gcc-internal-format
+ msgid "name of class shadows template template parameter %qD"
+ msgstr "utilisation invalide d'argumenet pour un patron de paramètres de patron"
+
+-#: cp/pt.c:776
++#: cp/pt.c:779
+ #, fuzzy, gcc-internal-format
+ msgid "specialization of %qT after instantiation"
+ msgstr "spécialisation de « %T » après instanciation"
+
+-#: cp/pt.c:808
++#: cp/pt.c:811
+ #, fuzzy, gcc-internal-format
+ msgid "specializing %q#T in different namespace"
+ msgstr "spécialisation de « %#T » dans différents espaces de noms"
+
+-#: cp/pt.c:823
++#: cp/pt.c:826
+ #, fuzzy, gcc-internal-format
+ msgid "specialization %qT after instantiation %qT"
+ msgstr "spécialisation de « %T » après instanciation « %T »"
+
+-#: cp/pt.c:836
++#: cp/pt.c:839
+ #, fuzzy, gcc-internal-format
+ msgid "explicit specialization of non-template %qT"
+ msgstr "spécialisation explicite du non patron « %T »"
+
+-#: cp/pt.c:1238
++#: cp/pt.c:1246
+ #, fuzzy, gcc-internal-format
+ msgid "specialization of %qD after instantiation"
+ msgstr "spécialisation de %D après instanciation"
+
+-#: cp/pt.c:1464
++#: cp/pt.c:1472
+ #, fuzzy, gcc-internal-format
+ msgid "%qD is not a function template"
+ msgstr "« %D » n'est pas un patron de fonction"
+
+-#: cp/pt.c:1673
++#: cp/pt.c:1681
+ #, fuzzy, gcc-internal-format
+ msgid "template-id %qD for %q+D does not match any template declaration"
+ msgstr "template-id « %D » pour « %+D » ne concorde pas avec aucune déclaration de patron"
+
+-#: cp/pt.c:1681
++#: cp/pt.c:1689
+ #, fuzzy, gcc-internal-format
+ msgid "ambiguous template specialization %qD for %q+D"
+ msgstr "spécialisation de patron amibiguë « %D » pour « %+D »"
+
+ #. This case handles bogus declarations like template <>
+ #. template <class T> void f<int>();
+-#: cp/pt.c:1916 cp/pt.c:1970
++#: cp/pt.c:1924 cp/pt.c:1978
+ #, fuzzy, gcc-internal-format
+ msgid "template-id %qD in declaration of primary template"
+ msgstr "template-id « %D » dans la déclaration de patron primaire"
+
+-#: cp/pt.c:1929
++#: cp/pt.c:1937
+ #, gcc-internal-format
+ msgid "template parameter list used in explicit instantiation"
+ msgstr "patron de liste de paramètres utilisé dans une instanciation explicite"
+
+-#: cp/pt.c:1935
++#: cp/pt.c:1943
+ #, gcc-internal-format
+ msgid "definition provided for explicit instantiation"
+ msgstr "définition fournie pour une instanciation explicite"
+
+-#: cp/pt.c:1943
++#: cp/pt.c:1951
+ #, fuzzy, gcc-internal-format
+ msgid "too many template parameter lists in declaration of %qD"
+ msgstr "trop de patrons de listes de paramètres dans la déclaration de « %D »"
+
+-#: cp/pt.c:1946
++#: cp/pt.c:1954
+ #, fuzzy, gcc-internal-format
+ msgid "too few template parameter lists in declaration of %qD"
+ msgstr "trop peu de patrons de listes de paramètres dans la déclaration de « %D »"
+
+-#: cp/pt.c:1948
++#: cp/pt.c:1956
+ #, fuzzy, gcc-internal-format
+ msgid "explicit specialization of %qD must be introduced by %<template <>%>"
+ msgstr "spécialisation explicite doit être précédé par « template <> »"
+
+-#: cp/pt.c:1967
++#: cp/pt.c:1975
+ #, gcc-internal-format
+ msgid "function template partial specialization %qD is not allowed"
+ msgstr ""
+
+-#: cp/pt.c:1999
++#: cp/pt.c:2007
+ #, gcc-internal-format
+ msgid "default argument specified in explicit specialization"
+ msgstr "argument par défaut spécifié dans la spécialisation explicite"
+
+-#: cp/pt.c:2029
++#: cp/pt.c:2037
+ #, fuzzy, gcc-internal-format
+ msgid "%qD is not a template function"
+ msgstr "« %D » n'est pas une membre du patron de fonction"
+
+-#: cp/pt.c:2037
++#: cp/pt.c:2045
+ #, fuzzy, gcc-internal-format
+ msgid "%qD is not declared in %qD"
+ msgstr "« %D » n'est pas déclaré"
+@@ -31416,100 +31443,110 @@
+ #. program is ill-formed.
+ #.
+ #. Similar language is found in [temp.explicit].
+-#: cp/pt.c:2099
++#: cp/pt.c:2107
+ #, gcc-internal-format
+ msgid "specialization of implicitly-declared special member function"
+ msgstr "spécialisation d'un membre spécial d'nue fonction déclaré implicitement"
+
+-#: cp/pt.c:2143
++#: cp/pt.c:2151
+ #, fuzzy, gcc-internal-format
+ msgid "no member function %qD declared in %qT"
+ msgstr "pas de membre de fonction « %D » déclaré dans « %T »"
+
+-#: cp/pt.c:2642
++#: cp/pt.c:2628
+ #, gcc-internal-format
+ msgid "base initializer expansion %<%T%> contains no parameter packs"
+ msgstr ""
+
+-#: cp/pt.c:2701
++#: cp/pt.c:2687
+ #, gcc-internal-format
+ msgid "expansion pattern %<%T%> contains no argument packs"
+ msgstr ""
+
+-#: cp/pt.c:2703
++#: cp/pt.c:2689
+ #, gcc-internal-format
+ msgid "expansion pattern %<%E%> contains no argument packs"
+ msgstr ""
+
+-#: cp/pt.c:2745
++#: cp/pt.c:2730
+ #, gcc-internal-format
+ msgid "parameter packs not expanded with `...':"
+ msgstr ""
+
+-#: cp/pt.c:2760 cp/pt.c:3383
++#: cp/pt.c:2745 cp/pt.c:3361
+ #, fuzzy, gcc-internal-format
+ msgid " %qD"
+ msgstr " « %D »"
+
+-#: cp/pt.c:2762
++#: cp/pt.c:2747
+ #, fuzzy, gcc-internal-format
+ msgid " <anonymous>"
+ msgstr "<anonymous>"
+
+-#: cp/pt.c:2875
++#: cp/pt.c:2852
+ #, fuzzy, gcc-internal-format
+ msgid "declaration of %q+#D"
+ msgstr "déclaration de « %#D »"
+
+-#: cp/pt.c:2876
++#: cp/pt.c:2853
+ #, fuzzy, gcc-internal-format
+ msgid " shadows template parm %q+#D"
+ msgstr " masque le paramètre du patron « %#D »"
+
+-#: cp/pt.c:3379
++#: cp/pt.c:3357
+ #, gcc-internal-format
+ msgid "template parameters not used in partial specialization:"
+ msgstr "paramètres du patron ne sont pas utilisés dans la spécialisation partielle:"
+
+-#: cp/pt.c:3394
++#: cp/pt.c:3372
+ #, fuzzy, gcc-internal-format
+ msgid "partial specialization %qT does not specialize any template arguments"
+ msgstr "spécialisation partielle « %T » ne spécialise pas aucun patron d'arguments"
+
+-#: cp/pt.c:3439
++#: cp/pt.c:3417
+ #, gcc-internal-format
+ msgid "parameter pack argument %qE must be at the end of the template argument list"
+ msgstr ""
+
+-#: cp/pt.c:3441
++#: cp/pt.c:3419
+ #, gcc-internal-format
+ msgid "parameter pack argument %qT must be at the end of the template argument list"
+ msgstr ""
+
+-#: cp/pt.c:3462
++#: cp/pt.c:3440
+ #, fuzzy, gcc-internal-format
+ msgid "template argument %qE involves template parameter(s)"
+ msgstr "patron d'argument « %E » implique des paramètres du patron"
+
+-#: cp/pt.c:3505
++#: cp/pt.c:3484
+ #, fuzzy, gcc-internal-format
+ msgid "type %qT of template argument %qE depends on template parameter(s)"
+ msgstr "type « %T » du patron d'argument « %E » dépend des paramètres du patron"
+
+-#: cp/pt.c:3611
++#: cp/pt.c:3591
+ #, fuzzy, gcc-internal-format
+ msgid "no default argument for %qD"
+ msgstr "pas d'argument par défaut pour « %D »"
+
+-#: cp/pt.c:3796
++#: cp/pt.c:3609
+ #, gcc-internal-format
++msgid "parameter pack %qE must be at the end of the template parameter list"
++msgstr ""
++
++#: cp/pt.c:3612
++#, gcc-internal-format
++msgid "parameter pack %qT must be at the end of the template parameter list"
++msgstr ""
++
++#: cp/pt.c:3799
++#, gcc-internal-format
+ msgid "template class without a name"
+ msgstr "patron de classe sans nom"
+
+ #. [temp.mem]
+ #.
+ #. A destructor shall not be a member template.
+-#: cp/pt.c:3804
++#: cp/pt.c:3807
+ #, fuzzy, gcc-internal-format
+ msgid "destructor %qD declared as member template"
+ msgstr "destructeur « %D » déclaré en tant que membre du patron"
+@@ -31519,77 +31556,72 @@
+ #. An allocation function can be a function
+ #. template. ... Template allocation functions shall
+ #. have two or more parameters.
+-#: cp/pt.c:3819
++#: cp/pt.c:3822
+ #, fuzzy, gcc-internal-format
+ msgid "invalid template declaration of %qD"
+ msgstr "déclaration de patron invalide « %D »"
+
+-#: cp/pt.c:3890
+-#, gcc-internal-format
+-msgid "parameter pack %qE must be at the end of the template parameter list"
+-msgstr ""
+-
+-#: cp/pt.c:3893
+-#, gcc-internal-format
+-msgid "parameter pack %qT must be at the end of the template parameter list"
+-msgstr ""
+-
+-#: cp/pt.c:3953
++#: cp/pt.c:3939
+ #, fuzzy, gcc-internal-format
+ msgid "template definition of non-template %q#D"
+ msgstr "définition de patron d'un non patron « %#D »"
+
+-#: cp/pt.c:3996
++#: cp/pt.c:3982
+ #, fuzzy, gcc-internal-format
+ msgid "expected %d levels of template parms for %q#D, got %d"
+ msgstr "attendait %d niveaux de patron de paramètres pour « %#D », obtenu %d"
+
+-#: cp/pt.c:4008
++#: cp/pt.c:3994
+ #, fuzzy, gcc-internal-format
+ msgid "got %d template parameters for %q#D"
+ msgstr "a obtenu %d paramètres de patron pour « %#D »"
+
+-#: cp/pt.c:4011
++#: cp/pt.c:3997
+ #, fuzzy, gcc-internal-format
+ msgid "got %d template parameters for %q#T"
+ msgstr "a obtenu %d paramètres de patron pour « %#T »"
+
+-#: cp/pt.c:4013
++#: cp/pt.c:3999
+ #, gcc-internal-format
+ msgid " but %d required"
+ msgstr " mais %d son requis"
+
+-#: cp/pt.c:4031
++#: cp/pt.c:4017
+ #, fuzzy, gcc-internal-format
+ msgid "template arguments to %qD do not match original template %qD"
+ msgstr "template-id « %D » pour « %+D » ne concorde pas avec aucune déclaration de patron"
+
+-#: cp/pt.c:4035
++#: cp/pt.c:4021
+ #, fuzzy, gcc-internal-format
+ msgid "use template<> for an explicit specialization"
+ msgstr "fermetures de patrons de classe ne sont pas explicitement spécialisées"
+
+-#: cp/pt.c:4131
++#: cp/pt.c:4117
+ #, fuzzy, gcc-internal-format
+ msgid "%qT is not a template type"
+ msgstr "« %T » n'est pas un type patron"
+
+-#: cp/pt.c:4144
++#: cp/pt.c:4130
+ #, fuzzy, gcc-internal-format
+ msgid "template specifiers not specified in declaration of %qD"
+ msgstr "trop peu de patrons de listes de paramètres dans la déclaration de « %D »"
+
+-#: cp/pt.c:4155
++#: cp/pt.c:4140
+ #, fuzzy, gcc-internal-format
+-msgid "used %d template parameter(s) instead of %d"
+-msgstr "utilisé %d patrons paramètre%s au lieu de %d"
++msgid "redeclared with %d template parameter(s)"
++msgstr "« %D » utilisé sans patron de paramétres"
+
+-#: cp/pt.c:4184
++#: cp/pt.c:4142
+ #, fuzzy, gcc-internal-format
++msgid "previous declaration %q+D used %d template parameter(s)"
++msgstr "déclaration précédente de « %#D » ici"
++
++#: cp/pt.c:4176
++#, fuzzy, gcc-internal-format
+ msgid "template parameter %q+#D"
+ msgstr "patron de paramètre « %#D »"
+
+-#: cp/pt.c:4185
++#: cp/pt.c:4177
+ #, fuzzy, gcc-internal-format
+ msgid "redeclared here as %q#D"
+ msgstr "redéclaré ici comme « %#D »"
+@@ -31598,182 +31630,182 @@
+ #.
+ #. A template-parameter may not be given default arguments
+ #. by two different declarations in the same scope.
+-#: cp/pt.c:4195
++#: cp/pt.c:4187
+ #, fuzzy, gcc-internal-format
+ msgid "redefinition of default argument for %q#D"
+ msgstr "redéfinition de l'argument par défaut pour « %#D »"
+
+-#: cp/pt.c:4196
+-#, gcc-internal-format
+-msgid "%J original definition appeared here"
++#: cp/pt.c:4188
++#, fuzzy, gcc-internal-format
++msgid "%Joriginal definition appeared here"
+ msgstr "%J définition originale apparaît ici"
+
+-#: cp/pt.c:4300
++#: cp/pt.c:4292
+ #, fuzzy, gcc-internal-format
+ msgid "%qE is not a valid template argument for type %qT because function %qD has not external linkage"
+ msgstr "chaîne %E n'est pas un patron d'argument valide parce que c'est l'adresse d'un objet avec lien statique"
+
+-#: cp/pt.c:4341
++#: cp/pt.c:4333
+ #, fuzzy, 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 "chaîne %E n'est pas un patron d'argument valide parce que c'est l'adresse d'un objet avec lien statique"
+
+-#: cp/pt.c:4418
++#: cp/pt.c:4410
+ #, fuzzy, gcc-internal-format
+ msgid "%qE is not a valid template argument for type %qT because it is a non-constant expression"
+ msgstr "chaîne %E n'est pas un patron d'argument valide parce que c'est l'adresse d'un objet avec lien statique"
+
+-#: cp/pt.c:4462
++#: cp/pt.c:4454
+ #, fuzzy, gcc-internal-format
+ msgid "%qD is not a valid template argument because %qD is a variable, not the address of a variable"
+ msgstr "chaîne %E n'est pas un patron d'argument valide parce que c'est l'adresse d'un objet avec lien statique"
+
+-#: cp/pt.c:4480
++#: cp/pt.c:4472
+ #, fuzzy, gcc-internal-format
+ msgid "%qE is not a valid template argument of type %qT because %qE is not a variable"
+ msgstr "chaîne %E n'est pas un patron d'argument valide parce que c'est l'adresse d'un objet avec lien statique"
+
+-#: cp/pt.c:4487
++#: cp/pt.c:4479
+ #, fuzzy, gcc-internal-format
+ msgid "%qE is not a valid template argument of type %qT because %qD does not have external linkage"
+ msgstr "chaîne %E n'est pas un patron d'argument valide parce que c'est l'adresse d'un objet avec lien statique"
+
+-#: cp/pt.c:4517
++#: cp/pt.c:4509
+ #, gcc-internal-format
+ msgid "%qE is not a valid template argument for type %qT because of conflicts in cv-qualification"
+ msgstr ""
+
+-#: cp/pt.c:4524
++#: cp/pt.c:4516
+ #, fuzzy, gcc-internal-format
+ msgid "%qE is not a valid template argument for type %qT because it is not an lvalue"
+ msgstr "chaîne %E n'est pas un patron d'argument valide parce que c'est l'adresse d'un objet avec lien statique"
+
+-#: cp/pt.c:4537
++#: cp/pt.c:4529
+ #, fuzzy, gcc-internal-format
+ msgid "%qE is not a valid template argument for type %qT because object %qD has not external linkage"
+ msgstr "chaîne %E n'est pas un patron d'argument valide parce que c'est l'adresse d'un objet avec lien statique"
+
+-#: cp/pt.c:4577
++#: cp/pt.c:4569
+ #, fuzzy, gcc-internal-format
+ msgid "%qE is not a valid template argument for type %qT because it is a pointer"
+ msgstr "« %E » n'est pas un argument valide pour le patron"
+
+-#: cp/pt.c:4579
++#: cp/pt.c:4571
+ #, gcc-internal-format
+ msgid "try using %qE instead"
+ msgstr ""
+
+-#: cp/pt.c:4614
++#: cp/pt.c:4606
+ #, fuzzy, gcc-internal-format
+ msgid "%qE is not a valid template argument for type %qT because it is of type %qT"
+ msgstr "« %E » n'est pas un argument valide pour le patron"
+
+-#: cp/pt.c:4617
++#: cp/pt.c:4609
+ #, fuzzy, gcc-internal-format
+ msgid "standard conversions are not allowed in this context"
+ msgstr "expression conditionnelle n'est pas permise dans ce contexte"
+
+-#: cp/pt.c:4797
++#: cp/pt.c:4860
+ #, fuzzy, gcc-internal-format
+ msgid "to refer to a type member of a template parameter, use %<typename %E%>"
+ msgstr "pour référencer un type de membre de patron de paramètres, utiliser « typename %E »"
+
+-#: cp/pt.c:4813 cp/pt.c:4832 cp/pt.c:4882
++#: cp/pt.c:4876 cp/pt.c:4895 cp/pt.c:4945
+ #, fuzzy, gcc-internal-format
+ msgid "type/value mismatch at argument %d in template parameter list for %qD"
+ msgstr "non concordance de type/valeur pour l'argument %d dans la liste des paramètres du patron de « %D »"
+
+-#: cp/pt.c:4817
++#: cp/pt.c:4880
+ #, fuzzy, gcc-internal-format
+ msgid " expected a constant of type %qT, got %qT"
+ msgstr " attendait une constante de type « %T », a obtenu « %T »"
+
+-#: cp/pt.c:4821
++#: cp/pt.c:4884
+ #, fuzzy, gcc-internal-format
+ msgid " expected a class template, got %qE"
+ msgstr " attendait un patron de classe, a obtenu « %E »"
+
+-#: cp/pt.c:4823
++#: cp/pt.c:4886
+ #, fuzzy, gcc-internal-format
+ msgid " expected a type, got %qE"
+ msgstr " attendait un type, a obtenu « %E »"
+
+-#: cp/pt.c:4836
++#: cp/pt.c:4899
+ #, fuzzy, gcc-internal-format
+ msgid " expected a type, got %qT"
+ msgstr " attendait un type, a obtenu « %T »"
+
+-#: cp/pt.c:4838
++#: cp/pt.c:4901
+ #, fuzzy, gcc-internal-format
+ msgid " expected a class template, got %qT"
+ msgstr " attendait un patron de classe, a obtenu « %T »"
+
+-#: cp/pt.c:4885
++#: cp/pt.c:4948
+ #, fuzzy, gcc-internal-format
+ msgid " expected a template of type %qD, got %qD"
+ msgstr " attendait un patron de type « %D », a obtenu « %D »"
+
+-#: cp/pt.c:4928
++#: cp/pt.c:4991
+ #, fuzzy, gcc-internal-format
+ msgid "could not convert template argument %qE to %qT"
+ msgstr "ne peut convertir l'argument du patron « %E » vers « %T »"
+
+-#: cp/pt.c:4984
++#: cp/pt.c:5047
+ #, gcc-internal-format
+ msgid "wrong number of template arguments (%d, should be %d)"
+ msgstr "nombre erroné d'arguments du patron (%d devrait être %d)"
+
+-#: cp/pt.c:5116
++#: cp/pt.c:5179
+ #, fuzzy, gcc-internal-format
+ msgid "wrong number of template arguments (%d, should be %d%s)"
+ msgstr "nombre erroné d'arguments du patron (%d devrait être %d)"
+
+-#: cp/pt.c:5120
++#: cp/pt.c:5183
+ #, fuzzy, gcc-internal-format
+ msgid "provided for %q+D"
+ msgstr "fournie pour « %D »"
+
+-#: cp/pt.c:5177
++#: cp/pt.c:5242
+ #, gcc-internal-format
+ msgid "cannot expand %<%E%> into a fixed-length argument list"
+ msgstr ""
+
+-#: cp/pt.c:5180
++#: cp/pt.c:5245
+ #, gcc-internal-format
+ msgid "cannot expand %<%T%> into a fixed-length argument list"
+ msgstr ""
+
+-#: cp/pt.c:5195
++#: cp/pt.c:5261
+ #, gcc-internal-format
+ msgid "template argument %d is invalid"
+ msgstr "patron de l'argument %d est invalide"
+
+-#: cp/pt.c:5455
++#: cp/pt.c:5521
+ #, fuzzy, gcc-internal-format
+ msgid "non-template type %qT used as a template"
+ msgstr "type non patron « %T » utilisé comme un patron"
+
+-#: cp/pt.c:5457
++#: cp/pt.c:5523
+ #, fuzzy, gcc-internal-format
+ msgid "for template declaration %q+D"
+ msgstr "pour la déclaration du patron « %D »"
+
+-#: cp/pt.c:6132
++#: cp/pt.c:6221
+ #, fuzzy, gcc-internal-format
+ msgid "template instantiation depth exceeds maximum of %d (use -ftemplate-depth-NN to increase the maximum) instantiating %qD"
+ msgstr "instantiation de la profondeur du patron excède le maximum de %d (utiliser -ftemplate-depth-NN pour augmenter le maximum) lors de l'instanciation de « %D »"
+
+-#: cp/pt.c:7237
++#: cp/pt.c:7333
+ #, gcc-internal-format
+ msgid "mismatched argument pack lengths while expanding %<%T%>"
+ msgstr ""
+
+-#: cp/pt.c:7241
++#: cp/pt.c:7337
+ #, gcc-internal-format
+ msgid "mismatched argument pack lengths while expanding %<%E%>"
+ msgstr ""
+
+-#: cp/pt.c:8189
++#: cp/pt.c:8289
+ #, fuzzy, gcc-internal-format
+ msgid "instantiation of %q+D as type %qT"
+ msgstr "instanciation de « %D » comme type « %T »"
+@@ -31791,242 +31823,242 @@
+ #.
+ #. is an attempt to declare a variable with function
+ #. type.
+-#: cp/pt.c:8324
++#: cp/pt.c:8424
+ #, fuzzy, gcc-internal-format
+ msgid "variable %qD has function type"
+ msgstr "sizeof appliqué sur un type de fonction"
+
+-#: cp/pt.c:8471
++#: cp/pt.c:8571
+ #, fuzzy, gcc-internal-format
+ msgid "invalid parameter type %qT"
+ msgstr "paramètre invalide pour le type « %T »"
+
+-#: cp/pt.c:8473
++#: cp/pt.c:8573
+ #, fuzzy, gcc-internal-format
+ msgid "in declaration %q+D"
+ msgstr "dans la déclaration de « %D »"
+
+-#: cp/pt.c:8550
++#: cp/pt.c:8650
+ #, fuzzy, gcc-internal-format
+ msgid "function returning an array"
+ msgstr "fonction retourne un aggrégat"
+
+-#: cp/pt.c:8552
++#: cp/pt.c:8652
+ #, fuzzy, gcc-internal-format
+ msgid "function returning a function"
+ msgstr "« %s » déclaré comme une fonction retournant une fonction"
+
+-#: cp/pt.c:8586
++#: cp/pt.c:8686
+ #, fuzzy, gcc-internal-format
+ msgid "creating pointer to member function of non-class type %qT"
+ msgstr "création d'un pointeur vers le membre d'une fonction d'un type non classe « %T »"
+
+-#: cp/pt.c:8792
++#: cp/pt.c:8913
+ #, fuzzy, gcc-internal-format
+ msgid "creating array with negative size (%qE)"
+ msgstr "création d'un tableau de taille zéro (« %E »)"
+
+-#: cp/pt.c:9047
++#: cp/pt.c:9168
+ #, gcc-internal-format
+ msgid "forming reference to void"
+ msgstr "formation d'une référence en void"
+
+-#: cp/pt.c:9049
++#: cp/pt.c:9170
+ #, fuzzy, gcc-internal-format
+ msgid "forming %s to reference type %qT"
+ msgstr "formant %s pour référencer le type « %T »"
+
+-#: cp/pt.c:9100
++#: cp/pt.c:9221
+ #, fuzzy, 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 « %T »"
+
+-#: cp/pt.c:9106
++#: cp/pt.c:9227
+ #, fuzzy, gcc-internal-format
+ msgid "creating pointer to member reference type %qT"
+ msgstr "création d'un pointeur vers le membre de référence du type « %T »"
+
+-#: cp/pt.c:9112
++#: cp/pt.c:9233
+ #, fuzzy, gcc-internal-format
+ msgid "creating pointer to member of type void"
+ msgstr "création d'un pointeur vers le membre de référence du type « %T »"
+
+-#: cp/pt.c:9179
++#: cp/pt.c:9300
+ #, fuzzy, gcc-internal-format
+ msgid "creating array of %qT"
+ msgstr "création du tableau « %T »"
+
+-#: cp/pt.c:9185
++#: cp/pt.c:9306
+ #, fuzzy, gcc-internal-format
+ msgid "creating array of %qT, which is an abstract class type"
+ msgstr "création d'un tableau « %T », lequel est un type de classe abstraite"
+
+-#: cp/pt.c:9236
++#: cp/pt.c:9357
+ #, fuzzy, gcc-internal-format
+ msgid "%qT is not a class, struct, or union type"
+ msgstr "« %T » n'est pas une classe, struct ou un type d'union"
+
+-#: cp/pt.c:9271
++#: cp/pt.c:9392
+ #, gcc-internal-format
+ msgid "%qT resolves to %qT, which is not an enumeration type"
+ msgstr ""
+
+-#: cp/pt.c:9274
++#: cp/pt.c:9395
+ #, fuzzy, gcc-internal-format
+ msgid "%qT resolves to %qT, which is is not a class type"
+ msgstr "« %T » n'est pas un type de classe"
+
+-#: cp/pt.c:9375
++#: cp/pt.c:9496
+ #, fuzzy, gcc-internal-format
+ msgid "use of %qs in template"
+ msgstr "utilisation de « %s » dans le patron"
+
+-#: cp/pt.c:9512
++#: cp/pt.c:9633
+ #, fuzzy, gcc-internal-format
+ msgid "dependent-name %qE is parsed as a non-type, but instantiation yields a type"
+ msgstr "nom dépendant « %E » est analysé comme un non type, mais son instantiation le rend comme un type"
+
+-#: cp/pt.c:9514
++#: cp/pt.c:9635
+ #, fuzzy, gcc-internal-format
+ msgid "say %<typename %E%> if a type is meant"
+ msgstr "utiliser « typename %E » si un type est désiré"
+
+-#: cp/pt.c:9643
++#: cp/pt.c:9764
+ #, fuzzy, gcc-internal-format
+ msgid "using invalid field %qD"
+ msgstr "champ statique manquant « %s »"
+
+-#: cp/pt.c:9952 cp/pt.c:10432
++#: cp/pt.c:10073 cp/pt.c:10553
+ #, fuzzy, gcc-internal-format
+ msgid "invalid use of pack expansion expression"
+ msgstr "utilisation invalide d'expression void"
+
+-#: cp/pt.c:9956 cp/pt.c:10436
++#: cp/pt.c:10077 cp/pt.c:10557
+ #, gcc-internal-format
+ msgid "use %<...%> to expand argument pack"
+ msgstr ""
+
+-#: cp/pt.c:10594
++#: cp/pt.c:10715
+ #, gcc-internal-format
+ msgid "a cast to a type other than an integral or enumeration type cannot appear in a constant-expression"
+ msgstr ""
+
+-#: cp/pt.c:11052
++#: cp/pt.c:11181
+ #, fuzzy, gcc-internal-format
+ msgid "%qT is not a class or namespace"
+ msgstr "« %T » n'est pas une classe ou un espace de noms"
+
+-#: cp/pt.c:11055
++#: cp/pt.c:11184
+ #, fuzzy, gcc-internal-format
+ msgid "%qD is not a class or namespace"
+ msgstr "« %D » n'est pas une classe ou un espace de noms"
+
+-#: cp/pt.c:11265
++#: cp/pt.c:11394
+ #, fuzzy, gcc-internal-format
+ msgid "%qT is/uses anonymous type"
+ msgstr "« %T » utilise un type anonyme"
+
+-#: cp/pt.c:11267
++#: cp/pt.c:11396
+ #, fuzzy, gcc-internal-format
+ msgid "template argument for %qD uses local type %qT"
+ msgstr "argument par défaut pour « %#D » à un type « %T »"
+
+-#: cp/pt.c:11277
++#: cp/pt.c:11406
+ #, fuzzy, gcc-internal-format
+ msgid "%qT is a variably modified type"
+ msgstr "« %T » est type modifié de manière variable"
+
+-#: cp/pt.c:11288
++#: cp/pt.c:11417
+ #, fuzzy, gcc-internal-format
+ msgid "integral expression %qE is not constant"
+ msgstr "expression intégrale « %E » n'est pas une constante"
+
+-#: cp/pt.c:11293
++#: cp/pt.c:11422
+ #, fuzzy, gcc-internal-format
+ msgid " trying to instantiate %qD"
+ msgstr " tentative d'instanciation « %D »"
+
+-#: cp/pt.c:13959
++#: cp/pt.c:14173
+ #, fuzzy, gcc-internal-format
+ msgid "ambiguous class template instantiation for %q#T"
+ msgstr "instanciation ambiguë de patron de classe pour « %#T »"
+
+-#: cp/pt.c:13962
++#: cp/pt.c:14176
+ #, gcc-internal-format
+ msgid "%s %+#T"
+ msgstr "%s %+#T"
+
+-#: cp/pt.c:13985 cp/pt.c:14068
++#: cp/pt.c:14199 cp/pt.c:14282
+ #, fuzzy, gcc-internal-format
+ msgid "explicit instantiation of non-template %q#D"
+ msgstr "instanciation explicite d'un non patron « %#D »"
+
+-#: cp/pt.c:14000
++#: cp/pt.c:14214
+ #, fuzzy, gcc-internal-format
+ msgid "%qD is not a static data member of a class template"
+ msgstr "« %#D » n'est pas un membre statique de données de « %T »"
+
+-#: cp/pt.c:14006 cp/pt.c:14063
++#: cp/pt.c:14220 cp/pt.c:14277
+ #, fuzzy, gcc-internal-format
+ msgid "no matching template for %qD found"
+ msgstr "non concordance de patron pour « %D » repéré"
+
+-#: cp/pt.c:14011
++#: cp/pt.c:14225
+ #, fuzzy, gcc-internal-format
+ msgid "type %qT for explicit instantiation %qD does not match declared type %qT"
+ msgstr "instanciation explicite de type non patron « %T »"
+
+-#: cp/pt.c:14019
++#: cp/pt.c:14233
+ #, fuzzy, gcc-internal-format
+ msgid "explicit instantiation of %q#D"
+ msgstr "instanciation explicite de « %#D »"
+
+-#: cp/pt.c:14055
++#: cp/pt.c:14269
+ #, fuzzy, gcc-internal-format
+ msgid "duplicate explicit instantiation of %q#D"
+ msgstr "duplication d'instanciation explicite de « %#D »"
+
+-#: cp/pt.c:14077
++#: cp/pt.c:14291
+ #, fuzzy, gcc-internal-format
+ msgid "ISO C++ forbids the use of %<extern%> on explicit instantiations"
+ msgstr "ISO C++ interdit l'utilisation de « extern » sur instanciations explicites"
+
+-#: cp/pt.c:14082 cp/pt.c:14175
++#: cp/pt.c:14296 cp/pt.c:14389
+ #, fuzzy, gcc-internal-format
+ msgid "storage class %qD applied to template instantiation"
+ msgstr "classe de stockage « %D » appliqué à l'instanciation du patron"
+
+-#: cp/pt.c:14147
++#: cp/pt.c:14361
+ #, fuzzy, gcc-internal-format
+ msgid "explicit instantiation of non-template type %qT"
+ msgstr "instanciation explicite de type non patron « %T »"
+
+-#: cp/pt.c:14156
++#: cp/pt.c:14370
+ #, fuzzy, gcc-internal-format
+ msgid "explicit instantiation of %q#T before definition of template"
+ msgstr "instanciation explicite de « %#T » avant la définition de patron"
+
+-#: cp/pt.c:14164
++#: cp/pt.c:14378
+ #, fuzzy, gcc-internal-format
+ msgid "ISO C++ forbids the use of %qE on explicit instantiations"
+ msgstr "ISO C++ interdit l'utilisation de « %s » sur instanciations explicites"
+
+-#: cp/pt.c:14209
++#: cp/pt.c:14423
+ #, fuzzy, gcc-internal-format
+ msgid "duplicate explicit instantiation of %q#T"
+ msgstr "duplication d'instanciation explicite de « %#T »"
+
+-#: cp/pt.c:14657
++#: cp/pt.c:14871
+ #, fuzzy, gcc-internal-format
+ msgid "explicit instantiation of %qD but no definition available"
+ msgstr "instanciation explicite de « %D » mais pas de définition disponible"
+
+-#: cp/pt.c:14851
++#: cp/pt.c:15065
+ #, 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)"
+ msgstr "instantiation de la profondeur du patron excède le maximum de %d (utiliser -ftemplate-depth-NN pour augmenter le maximum) lors de l'instanciation de « %D »"
+
+-#: cp/pt.c:15193
++#: cp/pt.c:15419
+ #, fuzzy, gcc-internal-format
+ msgid "%q#T is not a valid type for a template constant parameter"
+ msgstr "« %#T » n'a pas un type valide pour un patron de parametre de constante"
+@@ -32046,32 +32078,32 @@
+ msgid "can't create repository information file %qs"
+ msgstr "ne peut créer le fichier « %s » pour dépôt d'informations"
+
+-#: cp/rtti.c:271
++#: cp/rtti.c:285
+ #, gcc-internal-format
+ msgid "cannot use typeid with -fno-rtti"
+ msgstr "ne peut utiliser typeid avec -fno-rtti"
+
+-#: cp/rtti.c:277
++#: cp/rtti.c:291
+ #, gcc-internal-format
+ msgid "must #include <typeinfo> before using typeid"
+ msgstr "doit utiliser #include <typeinfo> avant d'utiliser typeid"
+
+-#: cp/rtti.c:360
++#: cp/rtti.c:374
+ #, fuzzy, gcc-internal-format
+ msgid "cannot create type information for type %qT because it involves types of variable size"
+ msgstr "ne peut créer une information pour le type « %T » parce que sa taille est variable"
+
+-#: cp/rtti.c:615 cp/rtti.c:629
++#: cp/rtti.c:629 cp/rtti.c:643
+ #, fuzzy, gcc-internal-format
+ msgid "dynamic_cast of %q#D to %q#T can never succeed"
+ msgstr "dynamic_cast de « %#D » vers « %#T » ne pourra jamais réussir"
+
+-#: cp/rtti.c:639
++#: cp/rtti.c:653
+ #, fuzzy, gcc-internal-format
+ msgid "%<dynamic_cast%> not permitted with -fno-rtti"
+ msgstr "ne peut utiliser typeid avec -fno-rtti"
+
+-#: cp/rtti.c:716
++#: cp/rtti.c:729
+ #, fuzzy, gcc-internal-format
+ msgid "cannot dynamic_cast %qE (of type %q#T) to type %q#T (%s)"
+ msgstr "ne peut effectuer un dynamic_cast « %E » (du type « %#T ») vers le type « %#T » (%s)"
+@@ -32133,551 +32165,551 @@
+ msgid " since %q+#D declared in base class"
+ msgstr " alors que « %#D » est déclaré dans la classe de base"
+
+-#: cp/semantics.c:762
++#: cp/semantics.c:764
+ #, fuzzy, gcc-internal-format
+ msgid "suggest explicit braces around empty body in %<do%> statement"
+ msgstr "%Hon vous suggère des accolades explicitement pour éviter des « else » ambiguës"
+
+-#: cp/semantics.c:1290
++#: cp/semantics.c:1294
+ #, fuzzy, gcc-internal-format
+ msgid "type of asm operand %qE could not be determined"
+ msgstr "type d'opérande asm « %E » ne peut être déterminé"
+
+-#: cp/semantics.c:1346
++#: cp/semantics.c:1350
+ #, fuzzy, gcc-internal-format
+ msgid "__label__ declarations are only allowed in function scopes"
+ msgstr "déclarations Objective-C peut seulement apparaître dans l'étendue globale"
+
+-#: cp/semantics.c:1433
++#: cp/semantics.c:1438
+ #, fuzzy, gcc-internal-format
+ msgid "invalid use of member %q+D in static member function"
+ msgstr "utilisation invalide du membre « %D » dans un membre statique de fonction"
+
+-#: cp/semantics.c:1435
++#: cp/semantics.c:1440
+ #, fuzzy, gcc-internal-format
+ msgid "invalid use of non-static data member %q+D"
+ msgstr "utilisation invalide d'un membre non statique de données « %D »"
+
+-#: cp/semantics.c:1436 cp/semantics.c:1475
++#: cp/semantics.c:1441 cp/semantics.c:1480
+ #, gcc-internal-format
+ msgid "from this location"
+ msgstr "à partir de cette localisation"
+
+-#: cp/semantics.c:1474
++#: cp/semantics.c:1479
+ #, fuzzy, gcc-internal-format
+ msgid "object missing in reference to %q+D"
+ msgstr "objet manquant dans la référence à « %D »"
+
+-#: cp/semantics.c:1928
++#: cp/semantics.c:1951
+ #, gcc-internal-format
+ msgid "arguments to destructor are not allowed"
+ msgstr "arguments au destructeur ne sont pas permis"
+
+-#: cp/semantics.c:1978
++#: cp/semantics.c:2001
+ #, fuzzy, gcc-internal-format
+ msgid "%<this%> is unavailable for static member functions"
+ msgstr "« cela » n'est pas disponible pour les membres statiques de fonctions"
+
+-#: cp/semantics.c:1984
++#: cp/semantics.c:2007
+ #, fuzzy, gcc-internal-format
+ msgid "invalid use of %<this%> in non-member function"
+ msgstr "utilisation invalide de « ceci » dans un non membre de fonction"
+
+-#: cp/semantics.c:1986
++#: cp/semantics.c:2009
+ #, fuzzy, gcc-internal-format
+ msgid "invalid use of %<this%> at top level"
+ msgstr "utilisation invalide de « this » hors de toute fonction"
+
+-#: cp/semantics.c:2010
++#: cp/semantics.c:2033
+ #, gcc-internal-format
+ msgid "invalid qualifying scope in pseudo-destructor name"
+ msgstr "étendue invalide du qualificateur dans un nom de pseudo-destructeur"
+
+-#: cp/semantics.c:2015 cp/typeck.c:2004
++#: cp/semantics.c:2038 cp/typeck.c:2050
+ #, fuzzy, gcc-internal-format
+ msgid "qualified type %qT does not match destructor name ~%qT"
+ msgstr "type qualifé « %T » ne concorde pas le nom du destructeur «~%T»"
+
+-#: cp/semantics.c:2037
++#: cp/semantics.c:2060
+ #, fuzzy, gcc-internal-format
+ msgid "%qE is not of type %qT"
+ msgstr "« %E » n'est pas un type « %T »"
+
+-#: cp/semantics.c:2081
++#: cp/semantics.c:2104
+ #, gcc-internal-format
+ msgid "compound literal of non-object type %qT"
+ msgstr ""
+
+-#: cp/semantics.c:2158
++#: cp/semantics.c:2181
+ #, fuzzy, gcc-internal-format
+ msgid "template type parameters must use the keyword %<class%> or %<typename%>"
+ msgstr "patron de type de paramètres doit utiliser le mot clé « class» ou «typename »"
+
+-#: cp/semantics.c:2195
++#: cp/semantics.c:2222
+ #, fuzzy, gcc-internal-format
+ msgid "invalid use of type %qT as a default value for a template template-parameter"
+ msgstr "utilisation invalide du type « %T » comme valeur par défaut pour un patron de paramètres de patron"
+
+-#: cp/semantics.c:2198
++#: cp/semantics.c:2225
+ #, gcc-internal-format
+ msgid "invalid default argument for a template template parameter"
+ msgstr "utilisation invalide d'argumenet pour un patron de paramètres de patron"
+
+-#: cp/semantics.c:2215
++#: cp/semantics.c:2242
+ #, fuzzy, gcc-internal-format
+ msgid "definition of %q#T inside template parameter list"
+ msgstr "définition de « %#T » à l'intérieur d'un patron de liste de paramètres"
+
+-#: cp/semantics.c:2226
++#: cp/semantics.c:2253
+ #, fuzzy, gcc-internal-format
+ msgid "invalid definition of qualified type %qT"
+ msgstr "définition invalide d'un type qualifié « %T »"
+
+-#: cp/semantics.c:2437
++#: cp/semantics.c:2469
+ #, gcc-internal-format
+ msgid "invalid base-class specification"
+ msgstr "spécification de base de classe invalide"
+
+-#: cp/semantics.c:2446
++#: cp/semantics.c:2478
+ #, fuzzy, gcc-internal-format
+ msgid "base class %qT has cv qualifiers"
+ msgstr "classe de base « %T » a des qualificateurs cv"
+
+-#: cp/semantics.c:2468
++#: cp/semantics.c:2500
+ #, fuzzy, gcc-internal-format
+ msgid "incomplete type %qT used in nested name specifier"
+ msgstr "type « %T » incomplet utilisé dans un spécificateur de noms imbriqué"
+
+-#: cp/semantics.c:2471
++#: cp/semantics.c:2503
+ #, fuzzy, gcc-internal-format
+ msgid "reference to %<%T::%D%> is ambiguous"
+ msgstr "référence à « %D » est ambiguë"
+
+-#: cp/semantics.c:2475 cp/typeck.c:1813
++#: cp/semantics.c:2507 cp/typeck.c:1859
+ #, fuzzy, gcc-internal-format
+ msgid "%qD is not a member of %qT"
+ msgstr "« %D » n'est pas un membre de « %T »"
+
+-#: cp/semantics.c:2478
++#: cp/semantics.c:2510
+ #, fuzzy, gcc-internal-format
+ msgid "%qD is not a member of %qD"
+ msgstr "« %D » n'est pas un membre de « %D »"
+
+-#: cp/semantics.c:2480
++#: cp/semantics.c:2512
+ #, fuzzy, gcc-internal-format
+ msgid "%<::%D%> has not been declared"
+ msgstr "« %D::%D » n'a pas été déclaré"
+
+-#: cp/semantics.c:2621
++#: cp/semantics.c:2653
+ #, fuzzy, gcc-internal-format
+ msgid "use of %<auto%> variable from containing function"
+ msgstr "utilisation de %s d'un fonction contenante"
+
+-#: cp/semantics.c:2623
++#: cp/semantics.c:2655
+ #, fuzzy, gcc-internal-format
+ msgid " %q+#D declared here"
+ msgstr " « %#D » déclaré ici"
+
+-#: cp/semantics.c:2661
++#: cp/semantics.c:2693
+ #, fuzzy, gcc-internal-format
+ msgid "template parameter %qD of type %qT is not allowed in an integral constant expression because it is not of integral or enumeration type"
+ msgstr "paramètre « %D » du patron du type « %T » ne sont pas permises dans une expression intégrale de constante parce qu'elle n'est pas intégral ou un type énumération"
+
+-#: cp/semantics.c:2830
++#: cp/semantics.c:2862
+ #, fuzzy, gcc-internal-format
+ msgid "%qD cannot appear in a constant-expression"
+ msgstr "« %D » ne peut apparaître dans une expression de constante"
+
+-#: cp/semantics.c:2838
++#: cp/semantics.c:2870
+ #, fuzzy, gcc-internal-format
+ msgid "use of namespace %qD as expression"
+ msgstr "utilisation d'un espace de dnomes « %D » comme expression"
+
+-#: cp/semantics.c:2843
++#: cp/semantics.c:2875
+ #, fuzzy, gcc-internal-format
+ msgid "use of class template %qT as expression"
+ msgstr "utilisation du patron de classe « %T » comme expression"
+
+ #. Ambiguous reference to base members.
+-#: cp/semantics.c:2849
++#: cp/semantics.c:2881
+ #, fuzzy, gcc-internal-format
+ msgid "request for member %qD is ambiguous in multiple inheritance lattice"
+ msgstr "requête du membre « %D » est ambiquë dans de mutliples héritage de treillis"
+
+-#: cp/semantics.c:2970 cp/semantics.c:4210
++#: cp/semantics.c:3002 cp/semantics.c:4259
+ #, fuzzy, gcc-internal-format
+ msgid "type of %qE is unknown"
+ msgstr "type « %E » est inconnu"
+
+-#: cp/semantics.c:2985
++#: cp/semantics.c:3017
+ #, gcc-internal-format
+ msgid "cannot apply %<offsetof%> to destructor %<~%T%>"
+ msgstr ""
+
+-#: cp/semantics.c:2996
++#: cp/semantics.c:3028
+ #, fuzzy, gcc-internal-format
+ msgid "cannot apply %<offsetof%> to member function %qD"
+ msgstr "utilisation invalide d'un membre non statique de fonction « %D »"
+
+-#: cp/semantics.c:3349
++#: cp/semantics.c:3381
+ #, fuzzy, gcc-internal-format
+ msgid "%qD is not a variable in clause %qs"
+ msgstr "« %s » n'est pas un nom de classe valide"
+
+-#: cp/semantics.c:3358
++#: cp/semantics.c:3390
+ #, gcc-internal-format
+ msgid "%qD appears more than once in data clauses"
+ msgstr ""
+
+-#: cp/semantics.c:3418
++#: cp/semantics.c:3450
+ #, fuzzy, gcc-internal-format
+ msgid "num_threads expression must be integral"
+ msgstr "expression %s doit être référable"
+
+-#: cp/semantics.c:3432
++#: cp/semantics.c:3464
+ #, fuzzy, gcc-internal-format
+ msgid "schedule chunk size expression must be integral"
+ msgstr "expression %s doit être référable"
+
+-#: cp/semantics.c:3562
++#: cp/semantics.c:3594
+ #, fuzzy, gcc-internal-format
+ msgid "%qE has reference type for %qs"
+ msgstr "Type de référence invalide"
+
+-#: cp/semantics.c:3724
++#: cp/semantics.c:3756
+ #, gcc-internal-format
+ msgid "%<threadprivate%> %qE is not file, namespace or block scope variable"
+ msgstr ""
+
+ #. Report the error.
+-#: cp/semantics.c:4033
++#: cp/semantics.c:4072
+ #, gcc-internal-format
+ msgid "static assertion failed: %E"
+ msgstr ""
+
+-#: cp/semantics.c:4035
++#: cp/semantics.c:4074
+ #, fuzzy, gcc-internal-format
+ msgid "non-constant condition for static assertion"
+ msgstr "%Jdéclaration non statique de « %D » suite une déclaration statique"
+
+-#: cp/semantics.c:4097
++#: cp/semantics.c:4099 cp/semantics.c:4194
+ #, fuzzy, gcc-internal-format
+-msgid "%qE refers to a set of overloaded functions"
+-msgstr "%s ne peut résoudre l'adresse la fonction surchargée"
++msgid "argument to decltype must be an expression"
++msgstr "argument 2 de MODIFY doit être une chaîne"
+
+ #: cp/semantics.c:4145
+ #, fuzzy, gcc-internal-format
+-msgid "argument to decltype must be an expression"
+-msgstr "argument 2 de MODIFY doit être une chaîne"
++msgid "%qE refers to a set of overloaded functions"
++msgstr "%s ne peut résoudre l'adresse la fonction surchargée"
+
+-#: cp/semantics.c:4366
++#: cp/semantics.c:4415
+ #, gcc-internal-format
+ msgid "__is_convertible_to"
+ msgstr ""
+
+-#: cp/semantics.c:4395
++#: cp/semantics.c:4444
+ #, fuzzy, gcc-internal-format
+ msgid "incomplete type %qT not allowed"
+ msgstr "CASE incomplet - %s n'est pas traité"
+
+-#: cp/tree.c:829
++#: cp/tree.c:827
+ #, fuzzy, gcc-internal-format
+ msgid "%qV qualifiers cannot be applied to %qT"
+ msgstr "qualificateur « %V » ne peut pas être appliqué à « %T »"
+
+-#: cp/tree.c:2134
++#: cp/tree.c:2132
+ #, fuzzy, gcc-internal-format
+ msgid "%qE attribute can only be applied to Java class definitions"
+ msgstr "attribut « %s » peut seulement être appliqué aux définitions de classes Java"
+
+-#: cp/tree.c:2163
++#: cp/tree.c:2161
+ #, fuzzy, gcc-internal-format
+ msgid "%qE attribute can only be applied to class definitions"
+ msgstr "attribut « %s » peut seulement être appliqué aux définitions de classes"
+
+-#: cp/tree.c:2169
++#: cp/tree.c:2167
+ #, fuzzy, gcc-internal-format
+ msgid "%qE is obsolete; g++ vtables are now COM-compatible by default"
+ msgstr "« %s » est obsolète; vtables g++ sont maintenant COM-compatibles par défaut"
+
+-#: cp/tree.c:2193
++#: cp/tree.c:2191
+ #, gcc-internal-format
+ msgid "requested init_priority is not an integer constant"
+ msgstr "init_priority demandé n'est pas une constante entière"
+
+-#: cp/tree.c:2214
++#: cp/tree.c:2212
+ #, fuzzy, gcc-internal-format
+ msgid "can only use %qE attribute on file-scope definitions of objects of class type"
+ msgstr "peut seulement utiliser l'attribut « %s » sur la portée de fichier de définitions des objets de type de classe"
+
+-#: cp/tree.c:2222
++#: cp/tree.c:2220
+ #, gcc-internal-format
+ msgid "requested init_priority is out of range"
+ msgstr "init_priority demandé est hors limite"
+
+-#: cp/tree.c:2232
++#: cp/tree.c:2230
+ #, gcc-internal-format
+ msgid "requested init_priority is reserved for internal use"
+ msgstr "init_priority demandé est réservé pour un usage interne"
+
+-#: cp/tree.c:2243
++#: cp/tree.c:2241
+ #, fuzzy, gcc-internal-format
+ msgid "%qE attribute is not supported on this platform"
+ msgstr "attribut « %s » n'est pas supporté sur cette plate-forme"
+
+-#: cp/typeck.c:431 cp/typeck.c:445 cp/typeck.c:545
++#: cp/typeck.c:432 cp/typeck.c:446 cp/typeck.c:546
+ #, fuzzy, gcc-internal-format
+ msgid "%s between distinct pointer types %qT and %qT lacks a cast"
+ msgstr "%s entre des types distincs de pointeurs « %T » et « %T » manque de transtypage"
+
+-#: cp/typeck.c:507
++#: cp/typeck.c:508
+ #, fuzzy, gcc-internal-format
+ msgid "ISO C++ forbids %s between pointer of type %<void *%> and pointer-to-function"
+ msgstr "ISO C++ interdit %s entre les pointeurs de type « void * » et les pointeurs de fonctions"
+
+-#: cp/typeck.c:565
++#: cp/typeck.c:566
+ #, fuzzy, gcc-internal-format
+ msgid "%s between distinct pointer-to-member types %qT and %qT lacks a cast"
+ msgstr "%s entre des types distincs de pointeurs vers les membres « %T » et « %T » manque de transtypage"
+
+-#: cp/typeck.c:1129
++#: cp/typeck.c:1166
+ #, gcc-internal-format
+ msgid "canonical types differ for identical types %T and %T"
+ msgstr ""
+
+-#: cp/typeck.c:1136
++#: cp/typeck.c:1173
+ #, gcc-internal-format
+ msgid "same canonical type node for different types %T and %T"
+ msgstr ""
+
+-#: cp/typeck.c:1248
++#: cp/typeck.c:1285
+ #, fuzzy, gcc-internal-format
+ msgid "invalid application of %qs to a member function"
+ msgstr "application invalide de « %s » à une fonction membre"
+
+-#: cp/typeck.c:1298
++#: cp/typeck.c:1335
+ #, fuzzy, gcc-internal-format
+ msgid "invalid application of %<sizeof%> to a bit-field"
+ msgstr "application invalide de « %s » sur un champ de bits"
+
+-#: cp/typeck.c:1303
++#: cp/typeck.c:1340
+ #, fuzzy, gcc-internal-format
+ msgid "ISO C++ forbids applying %<sizeof%> to an expression of function type"
+ msgstr "ISO C++ interdit l'application de « %s » à une expression d'un type de fonction"
+
+-#: cp/typeck.c:1346
++#: cp/typeck.c:1383
+ #, fuzzy, gcc-internal-format
+ msgid "invalid application of %<__alignof%> to a bit-field"
+ msgstr "application invalide de « %s » sur un champ de bits"
+
+-#: cp/typeck.c:1354
++#: cp/typeck.c:1391
+ #, fuzzy, gcc-internal-format
+ msgid "ISO C++ forbids applying %<__alignof%> to an expression of function type"
+ msgstr "ISO C++ interdit l'application de « %s » à une expression d'un type de fonction"
+
+-#: cp/typeck.c:1405
++#: cp/typeck.c:1442
+ #, gcc-internal-format
+ msgid "invalid use of non-static member function"
+ msgstr "utilisation invalide d'un membre non statique de fonction"
+
+-#: cp/typeck.c:1669
++#: cp/typeck.c:1715
+ #, fuzzy, gcc-internal-format
+ msgid "deprecated conversion from string constant to %qT"
+ msgstr "conversion obsolète de la chaîne de constante vers « %T »"
+
+-#: cp/typeck.c:1784 cp/typeck.c:2132
++#: cp/typeck.c:1830 cp/typeck.c:2178
+ #, fuzzy, gcc-internal-format
+ msgid "request for member %qD in %qE, which is of non-class type %qT"
+ msgstr "requête du membre « %D » dans « %E », lequel n'est pas de type classe « %T »"
+
+-#: cp/typeck.c:1811
++#: cp/typeck.c:1857
+ #, fuzzy, gcc-internal-format
+ msgid "invalid use of nonstatic data member %qE"
+ msgstr "utilisation invalide d'un membre de données non statique « %E »"
+
+-#: cp/typeck.c:1863 cp/typeck.c:1891
++#: cp/typeck.c:1909 cp/typeck.c:1937
+ #, fuzzy, gcc-internal-format
+ msgid "invalid access to non-static data member %qD of NULL object"
+ msgstr "accès invalide à un membre de données non statique « %D » d'un objet null"
+
+-#: cp/typeck.c:1866 cp/typeck.c:1893
++#: cp/typeck.c:1912 cp/typeck.c:1939
+ #, fuzzy, gcc-internal-format
+ msgid "(perhaps the %<offsetof%> macro was used incorrectly)"
+ msgstr "(peut-être que le macro « offsetof » a été utilisé incorrectement)"
+
+-#: cp/typeck.c:2010
++#: cp/typeck.c:2056
+ #, fuzzy, gcc-internal-format
+ msgid "the type being destroyed is %qT, but the destructor refers to %qT"
+ msgstr "le type devant être détruit est « %T », mais le destructeur réfère à « %T »"
+
+-#: cp/typeck.c:2049 cp/typeck.c:2069
++#: cp/typeck.c:2095 cp/typeck.c:2115
+ #, fuzzy, gcc-internal-format
+ msgid "%qD is not a template"
+ msgstr "« %T » n'est pas un patron"
+
+-#: cp/typeck.c:2170
++#: cp/typeck.c:2216
+ #, fuzzy, gcc-internal-format
+ msgid "%<%D::%D%> is not a member of %qT"
+ msgstr "« %D::%D » n'est pas un membre de « %T »"
+
+-#: cp/typeck.c:2185
++#: cp/typeck.c:2231
+ #, fuzzy, gcc-internal-format
+ msgid "%qT is not a base of %qT"
+ msgstr "« %D » n'est pas une base de « %T »"
+
+-#: cp/typeck.c:2204
++#: cp/typeck.c:2250
+ #, fuzzy, gcc-internal-format
+ msgid "%qD has no member named %qE"
+ msgstr "« %D » n'a pas de membre nommé « %E »"
+
+-#: cp/typeck.c:2219
++#: cp/typeck.c:2265
+ #, fuzzy, gcc-internal-format
+ msgid "%qD is not a member template function"
+ msgstr "« %D » n'est pas une membre du patron de fonction"
+
+ #. A pointer to incomplete type (other than cv void) can be
+ #. dereferenced [expr.unary.op]/1
+-#: cp/typeck.c:2352
++#: cp/typeck.c:2398
+ #, fuzzy, gcc-internal-format
+ msgid "%qT is not a pointer-to-object type"
+ msgstr "« %T » n'est pas un type pointeur-vers-objet"
+
+-#: cp/typeck.c:2377
++#: cp/typeck.c:2423
+ #, fuzzy, gcc-internal-format
+ msgid "invalid use of %qs on pointer to member"
+ msgstr "utilisation invalide de « %s » sur un pointeur vers un membre"
+
+-#: cp/typeck.c:2381
++#: cp/typeck.c:2427
+ #, fuzzy, gcc-internal-format
+ msgid "invalid type argument of %qs"
+ msgstr "type d'argument invalide pour « %s »"
+
+-#: cp/typeck.c:2383
++#: cp/typeck.c:2429
+ #, gcc-internal-format
+ msgid "invalid type argument"
+ msgstr "type d'argument invalide"
+
+-#: cp/typeck.c:2406
++#: cp/typeck.c:2452
+ #, gcc-internal-format
+ msgid "subscript missing in array reference"
+ msgstr "indice manquant dans la référence du tableau"
+
+-#: cp/typeck.c:2480
++#: cp/typeck.c:2526
+ #, gcc-internal-format
+ msgid "ISO C++ forbids subscripting non-lvalue array"
+ msgstr "ISO C++ interdit le souscriptage de non lvalue de tableau"
+
+-#: cp/typeck.c:2491
++#: cp/typeck.c:2537
+ #, fuzzy, gcc-internal-format
+ msgid "subscripting array declared %<register%>"
+ msgstr "souscriptage de tableau déclaré « register »"
+
+-#: cp/typeck.c:2576
++#: cp/typeck.c:2622
+ #, fuzzy, gcc-internal-format
+ msgid "object missing in use of %qE"
+ msgstr "objet manquant dans l'usage de « %E »"
+
+-#: cp/typeck.c:2693
++#: cp/typeck.c:2739
+ #, fuzzy, gcc-internal-format
+ msgid "ISO C++ forbids calling %<::main%> from within program"
+ msgstr "ISO C++ interdit l'appel de «::main» depuis l'intérieur du programme"
+
+-#: cp/typeck.c:2718
++#: cp/typeck.c:2764
+ #, fuzzy, gcc-internal-format
+ msgid "must use %<.*%> or %<->*%> to call pointer-to-member function in %<%E (...)%>"
+ msgstr "doit utiliser .* ou ->* pour l'appel de la fonction pointer-to-member dans « %E (...) »"
+
+-#: cp/typeck.c:2732
++#: cp/typeck.c:2778
+ #, fuzzy, gcc-internal-format
+ msgid "%qE cannot be used as a function"
+ msgstr "« %E » ne peut être utilisé comme une fonction"
+
+-#: cp/typeck.c:2822
++#: cp/typeck.c:2868
+ #, fuzzy, gcc-internal-format
+ msgid "too many arguments to %s %q+#D"
+ msgstr "trop d'arguments pour %s « %+#D »"
+
+-#: cp/typeck.c:2823 cp/typeck.c:2927
++#: cp/typeck.c:2869 cp/typeck.c:2973
+ #, gcc-internal-format
+ msgid "at this point in file"
+ msgstr "à ce point dans le fichier"
+
+-#: cp/typeck.c:2826
++#: cp/typeck.c:2872
+ #, gcc-internal-format
+ msgid "too many arguments to function"
+ msgstr "trop d'arguments pour la fonction"
+
+-#: cp/typeck.c:2856
++#: cp/typeck.c:2902
+ #, fuzzy, gcc-internal-format
+ msgid "parameter %P of %qD has incomplete type %qT"
+ msgstr "paramètre %P de « %D » a un type incomplet « %T »"
+
+-#: cp/typeck.c:2859
++#: cp/typeck.c:2905
+ #, fuzzy, gcc-internal-format
+ msgid "parameter %P has incomplete type %qT"
+ msgstr "paramètre %P a un type incomplet « %T »"
+
+-#: cp/typeck.c:2926
++#: cp/typeck.c:2972
+ #, fuzzy, gcc-internal-format
+ msgid "too few arguments to %s %q+#D"
+ msgstr "pas assez d'argument pour %s « %+#D »"
+
+-#: cp/typeck.c:2930
++#: cp/typeck.c:2976
+ #, gcc-internal-format
+ msgid "too few arguments to function"
+ msgstr "trop peu d'arguments pour la fonction"
+
+-#: cp/typeck.c:3098 cp/typeck.c:3108
++#: cp/typeck.c:3140 cp/typeck.c:3150
+ #, fuzzy, gcc-internal-format
+ msgid "assuming cast to type %qT from overloaded function"
+ msgstr "transtypage vers le type « %T » est assumé à partir de la fonction surchargée"
+
+-#: cp/typeck.c:3306
++#: cp/typeck.c:3346
+ #, fuzzy, gcc-internal-format
+ msgid "left rotate count is negative"
+ msgstr "compteur de rotation %s est négatif"
+
+-#: cp/typeck.c:3307
++#: cp/typeck.c:3347
+ #, fuzzy, gcc-internal-format
+ msgid "right rotate count is negative"
+ msgstr "compteur de rotation %s est négatif"
+
+-#: cp/typeck.c:3310
++#: cp/typeck.c:3350
+ #, fuzzy, gcc-internal-format
+ msgid "left rotate count >= width of type"
+ msgstr "compteur de rotation %s >= largeur du type"
+
+-#: cp/typeck.c:3311
++#: cp/typeck.c:3351
+ #, fuzzy, gcc-internal-format
+ msgid "right rotate count >= width of type"
+ msgstr "compteur de rotation %s >= largeur du type"
+
+-#: cp/typeck.c:3327 cp/typeck.c:3502
++#: cp/typeck.c:3367 cp/typeck.c:3549
+ #, fuzzy, gcc-internal-format
+ msgid "comparison with string literal results in unspecified behaviour"
+ msgstr "%Jdéclaration faible de « %D » après une première utilisation des résultats d'un comportement non spécifié"
+
+-#: cp/typeck.c:3360 cp/typeck.c:3365 cp/typeck.c:3520 cp/typeck.c:3525
++#: cp/typeck.c:3400 cp/typeck.c:3405 cp/typeck.c:3567 cp/typeck.c:3572
+ #, gcc-internal-format
+ msgid "ISO C++ forbids comparison between pointer and integer"
+ msgstr "ISO C++ interdit la comparaison entre un pointeur et un entier"
+
+-#: cp/typeck.c:3539
++#: cp/typeck.c:3586
+ #, gcc-internal-format
+ msgid "unordered comparison on non-floating point argument"
+ msgstr "comparaison non ordonnée sur un argument n'étant pas en virgule flottante"
+
+-#: cp/typeck.c:3577
++#: cp/typeck.c:3624
+ #, fuzzy, gcc-internal-format
+ msgid "invalid operands of types %qT and %qT to binary %qO"
+ msgstr "opérandes invalides pour les types « %T » et « %T » en binaire « %O »"
+
+-#: cp/typeck.c:3749
++#: cp/typeck.c:3757
+ #, fuzzy, gcc-internal-format
+ msgid "comparison between types %q#T and %q#T"
+ msgstr "comparaison entre les types « %#T » et « %#T »"
+
+-#: cp/typeck.c:3786
++#: cp/typeck.c:3794
+ #, gcc-internal-format
+ msgid "comparison between signed and unsigned integer expressions"
+ msgstr "comparaison entre des expressions entières signée et non signée"
+@@ -32686,156 +32718,156 @@
+ #. performed. Note that pointer-difference and pointer-addition
+ #. have already been handled above, and so we don't end up here in
+ #. that case.
+-#: cp/typeck.c:3858
++#: cp/typeck.c:3866
+ #, gcc-internal-format
+ msgid "NULL used in arithmetic"
+ msgstr "NULL utilisé en arithmétique"
+
+-#: cp/typeck.c:3927
++#: cp/typeck.c:3935
+ #, fuzzy, gcc-internal-format
+ msgid "ISO C++ forbids using pointer of type %<void *%> in subtraction"
+ msgstr "ISO C++ interdit l'utilisation d'un pointeur de type « void * » dans une soustraction"
+
+-#: cp/typeck.c:3929
++#: cp/typeck.c:3937
+ #, gcc-internal-format
+ msgid "ISO C++ forbids using pointer to a function in subtraction"
+ msgstr "ISO C++ interdit l'utilisation d'un pointeur survers une fonction dans une soustraction"
+
+-#: cp/typeck.c:3931
++#: cp/typeck.c:3939
+ #, gcc-internal-format
+ msgid "ISO C++ forbids using pointer to a method in subtraction"
+ msgstr "ISO C++ interdit l'utilisation d'un pointeur survers une méthode dans une soustraction"
+
+-#: cp/typeck.c:3943
++#: cp/typeck.c:3951
+ #, gcc-internal-format
+ msgid "invalid use of a pointer to an incomplete type in pointer arithmetic"
+ msgstr "utilisation invalide d'un pointeur vers un type incomplet dans un pointeur arithmétique"
+
+-#: cp/typeck.c:4003
++#: cp/typeck.c:4011
+ #, fuzzy, gcc-internal-format
+ msgid "invalid use of %qE to form a pointer-to-member-function"
+ msgstr "utilisation invalide de « %E » pour former pointer-to-member-function. Utiliser un identifateur qualifié"
+
+-#: cp/typeck.c:4006
++#: cp/typeck.c:4014
+ #, gcc-internal-format
+ msgid " a qualified-id is required"
+ msgstr ""
+
+-#: cp/typeck.c:4011
++#: cp/typeck.c:4019
+ #, fuzzy, gcc-internal-format
+ msgid "parentheses around %qE cannot be used to form a pointer-to-member-function"
+ msgstr "parenthèses autour de « %E » ne peuvent être utilisées pour former pointer-to-member-function"
+
+-#: cp/typeck.c:4034
++#: cp/typeck.c:4042
+ #, gcc-internal-format
+ msgid "taking address of temporary"
+ msgstr "prise de l'adresse du temporaire"
+
+ # FIXME: I18N
+-#: cp/typeck.c:4287
++#: cp/typeck.c:4295
+ #, fuzzy, gcc-internal-format
+ msgid "ISO C++ forbids incrementing an enum"
+ msgstr "ISO C++ interdit de %ser un enum"
+
+ # FIXME: I18N
+-#: cp/typeck.c:4288
++#: cp/typeck.c:4296
+ #, fuzzy, gcc-internal-format
+ msgid "ISO C++ forbids decrementing an enum"
+ msgstr "ISO C++ interdit de %ser un enum"
+
+-#: cp/typeck.c:4299
++#: cp/typeck.c:4307
+ #, fuzzy, gcc-internal-format
+ msgid "cannot increment a pointer to incomplete type %qT"
+ msgstr "ne peut utiliser %s comme pointeur sur un type incomplet « %T »"
+
+-#: cp/typeck.c:4300
++#: cp/typeck.c:4308
+ #, fuzzy, gcc-internal-format
+ msgid "cannot decrement a pointer to incomplete type %qT"
+ msgstr "ne peut utiliser %s comme pointeur sur un type incomplet « %T »"
+
+-#: cp/typeck.c:4306
++#: cp/typeck.c:4314
+ #, fuzzy, gcc-internal-format
+ msgid "ISO C++ forbids incrementing a pointer of type %qT"
+ msgstr "ISO C++ interdit %s utilisation d'un pointeur de type « %T »"
+
+-#: cp/typeck.c:4307
++#: cp/typeck.c:4315
+ #, fuzzy, gcc-internal-format
+ msgid "ISO C++ forbids decrementing a pointer of type %qT"
+ msgstr "ISO C++ interdit %s utilisation d'un pointeur de type « %T »"
+
+-#: cp/typeck.c:4327
++#: cp/typeck.c:4335
+ #, fuzzy, gcc-internal-format
+ msgid "invalid use of Boolean expression as operand to %<operator--%>"
+ msgstr "expression invalide comme opérande"
+
+ #. ARM $3.4
+-#: cp/typeck.c:4357
++#: cp/typeck.c:4365
+ #, fuzzy, gcc-internal-format
+ msgid "ISO C++ forbids taking address of function %<::main%>"
+ msgstr "ISO C++ interdit de prendre l'adresse d'une fonction «::main»"
+
+ #. An expression like &memfn.
+-#: cp/typeck.c:4413
++#: cp/typeck.c:4421
+ #, fuzzy, gcc-internal-format
+ msgid "ISO C++ forbids taking the address of an unqualified or parenthesized non-static member function to form a pointer to member function. Say %<&%T::%D%>"
+ msgstr "ISO C++ interdit de prendre l'adress d'un membre de fonction non statique non qualifié ou entre parenthèses pour former un pointeur d'un membre de fonction. Utilisers «&%T::%D»"
+
+-#: cp/typeck.c:4418
++#: cp/typeck.c:4426
+ #, fuzzy, gcc-internal-format
+ msgid "ISO C++ forbids taking the address of a bound member function to form a pointer to member function. Say %<&%T::%D%>"
+ msgstr "ISO C++ interdit de prendre l'adresse d'une borne d'un membre de fontion pour former un membre à la fonction. Disons «&%T::%D»"
+
+-#: cp/typeck.c:4443
++#: cp/typeck.c:4451
+ #, gcc-internal-format
+ msgid "ISO C++ forbids taking the address of a cast to a non-lvalue expression"
+ msgstr "ISO C++ interdit de prendre l'adresse du transtypage vers une expression n'etant pas membre gauche"
+
+-#: cp/typeck.c:4467
++#: cp/typeck.c:4475
+ #, fuzzy, gcc-internal-format
+ msgid "cannot create pointer to reference member %qD"
+ msgstr "ne peut déclarer un pointeur vers le membre de référence « %D »"
+
+-#: cp/typeck.c:4678
++#: cp/typeck.c:4686
+ #, fuzzy, gcc-internal-format
+ msgid "cannot take the address of %<this%>, which is an rvalue expression"
+ msgstr "ne peut prendre l'adresse de « ceci », laquelle est une expression rvalue"
+
+-#: cp/typeck.c:4701
++#: cp/typeck.c:4709
+ #, fuzzy, gcc-internal-format
+ msgid "address of explicit register variable %qD requested"
+ msgstr "adresse d'une variable registre « %s » requise"
+
+-#: cp/typeck.c:4706
++#: cp/typeck.c:4714
+ #, fuzzy, gcc-internal-format
+ msgid "address requested for %qD, which is declared %<register%>"
+ msgstr "adresse requise pour « %D», lequel est déclaré «register »"
+
+-#: cp/typeck.c:4772
++#: cp/typeck.c:4780
+ #, gcc-internal-format
+ msgid "%s expression list treated as compound expression"
+ msgstr "%s liste d'expressions traitée comme une expression composée"
+
+-#: cp/typeck.c:5175
++#: cp/typeck.c:5183
+ #, fuzzy, gcc-internal-format
+ msgid "invalid static_cast from type %qT to type %qT"
+ msgstr "static_cast invalide du type « %T » au type « %T »"
+
+-#: cp/typeck.c:5197
++#: cp/typeck.c:5205
+ #, fuzzy, gcc-internal-format
+ msgid "converting from %qT to %qT"
+ msgstr "conversion de « %T » vers « %T »"
+
+-#: cp/typeck.c:5245
++#: cp/typeck.c:5253
+ #, fuzzy, gcc-internal-format
+ msgid "invalid cast of an rvalue expression of type %qT to type %qT"
+ msgstr "reinterpret_cast invalide d'une expression rvalue de type « %T » vers le type « %T »"
+
+-#: cp/typeck.c:5304
++#: cp/typeck.c:5312
+ #, fuzzy, gcc-internal-format
+ msgid "cast from %qT to %qT loses precision"
+ msgstr "reinterpret_cast de « %T » vers « %T » génère une perte de précision"
+
+-#: cp/typeck.c:5331
++#: cp/typeck.c:5339
+ #, fuzzy, gcc-internal-format
+ msgid "cast from %qT to %qT increases required alignment of target type"
+ msgstr "transtypage de « %T » vers « %T » augmente l'alignement requis pour le type ciblé"
+@@ -32844,155 +32876,155 @@
+ #. where possible, and it is necessary in some cases. DR 195
+ #. addresses this issue, but as of 2004/10/26 is still in
+ #. drafting.
+-#: cp/typeck.c:5351
++#: cp/typeck.c:5359
+ #, gcc-internal-format
+ msgid "ISO C++ forbids casting between pointer-to-function and pointer-to-object"
+ msgstr "ISO C++ interdit le transtypage entre un pointeur de fonction et un pointeur d'objet"
+
+-#: cp/typeck.c:5362
++#: cp/typeck.c:5370
+ #, fuzzy, gcc-internal-format
+ msgid "invalid cast from type %qT to type %qT"
+ msgstr "const_cast invalide à partir du type « %T » vers le type « %T »"
+
+-#: cp/typeck.c:5418
++#: cp/typeck.c:5426
+ #, fuzzy, gcc-internal-format
+ msgid "invalid use of const_cast with type %qT, which is not a pointer, reference, nor a pointer-to-data-member type"
+ msgstr "utilisation invalide de const_cast avec le type « %T », lequel n'est pas un pointeur, une référence, ni un type pointeur-vers-données-membre"
+
+-#: cp/typeck.c:5427
++#: cp/typeck.c:5435
+ #, fuzzy, gcc-internal-format
+ msgid "invalid use of const_cast with type %qT, which is a pointer or reference to a function type"
+ msgstr "utilisation invalide de const_cast avec le type « %T », lequel est un pointeur ou un référence à un type de fonction"
+
+-#: cp/typeck.c:5452
++#: cp/typeck.c:5460
+ #, fuzzy, gcc-internal-format
+ msgid "invalid const_cast of an rvalue of type %qT to type %qT"
+ msgstr "const_cast invalide de la rvalue du type « %T » vers le type « %T »"
+
+-#: cp/typeck.c:5503
++#: cp/typeck.c:5511
+ #, fuzzy, gcc-internal-format
+ msgid "invalid const_cast from type %qT to type %qT"
+ msgstr "const_cast invalide à partir du type « %T » vers le type « %T »"
+
+-#: cp/typeck.c:5571 cp/typeck.c:5576
++#: cp/typeck.c:5579 cp/typeck.c:5584
+ #, fuzzy, gcc-internal-format
+ msgid "ISO C++ forbids casting to an array type %qT"
+ msgstr "ISO C++ interdit le transtypage vers un type tableau « %T »"
+
+-#: cp/typeck.c:5584
++#: cp/typeck.c:5592
+ #, fuzzy, gcc-internal-format
+ msgid "invalid cast to function type %qT"
+ msgstr "transtypage invalide pour un type de fonction « %T »"
+
+-#: cp/typeck.c:5804
++#: cp/typeck.c:5812
+ #, fuzzy, gcc-internal-format
+ msgid " in evaluation of %<%Q(%#T, %#T)%>"
+ msgstr " lors de l'évaluation de « %Q(%#T, %#T) »"
+
+-#: cp/typeck.c:5873
++#: cp/typeck.c:5881
+ #, fuzzy, gcc-internal-format
+ msgid "incompatible types in assignment of %qT to %qT"
+ msgstr "type incompatible dans l'affectation de « %T » vers « %T »"
+
+-#: cp/typeck.c:5884
++#: cp/typeck.c:5892
+ #, fuzzy, gcc-internal-format
+ msgid "array used as initializer"
+ msgstr "mauvaise initialisation de tableau"
+
+-#: cp/typeck.c:5886
++#: cp/typeck.c:5894
+ #, fuzzy, gcc-internal-format
+ msgid "invalid array assignment"
+ msgstr "membre gauche de l'affectation invalide"
+
+-#: cp/typeck.c:5998
++#: cp/typeck.c:6006
+ #, gcc-internal-format
+ msgid " in pointer to member function conversion"
+ msgstr " dans la conversion d'un pointeur vers un membre de fonction"
+
+-#: cp/typeck.c:6009
++#: cp/typeck.c:6017
+ #, fuzzy, gcc-internal-format
+ msgid "pointer to member conversion via virtual base %qT"
+ msgstr "conversion de pointeur à membre à l'aide de la base virtuelle « %T »"
+
+-#: cp/typeck.c:6049 cp/typeck.c:6061
++#: cp/typeck.c:6057 cp/typeck.c:6069
+ #, gcc-internal-format
+ msgid " in pointer to member conversion"
+ msgstr " dans la conversion d'un pointeur vers un membre"
+
+-#: cp/typeck.c:6140
++#: cp/typeck.c:6148
+ #, fuzzy, gcc-internal-format
+ msgid "invalid conversion to type %qT from type %qT"
+ msgstr "conversion invalide vers un type « %T » à partir du type « %T »"
+
+-#: cp/typeck.c:6384
++#: cp/typeck.c:6411
+ #, fuzzy, gcc-internal-format
+ msgid "cannot convert %qT to %qT for argument %qP to %qD"
+ msgstr "ne peut convertir « %T » à « %T » pour l'argument « %P » vers « %D »"
+
+-#: cp/typeck.c:6387
++#: cp/typeck.c:6414
+ #, fuzzy, gcc-internal-format
+ msgid "cannot convert %qT to %qT in %s"
+ msgstr "ne peut convertir « %T » vers « %T » dans %s"
+
+-#: cp/typeck.c:6398
++#: cp/typeck.c:6425
+ #, fuzzy, gcc-internal-format
+ msgid "%s might be a candidate for a format attribute"
+ msgstr "la fonction est peut être candidate pour l'attribut de format de « %s »"
+
+-#: cp/typeck.c:6485 cp/typeck.c:6487
++#: cp/typeck.c:6512 cp/typeck.c:6514
+ #, fuzzy, gcc-internal-format
+ msgid "in passing argument %P of %q+D"
+ msgstr "dans le passage de l'argument %P de « %+D »"
+
+-#: cp/typeck.c:6537
++#: cp/typeck.c:6564
+ #, gcc-internal-format
+ msgid "returning reference to temporary"
+ msgstr "retourné la référence vers le temporaire"
+
+-#: cp/typeck.c:6544
++#: cp/typeck.c:6571
+ #, gcc-internal-format
+ msgid "reference to non-lvalue returned"
+ msgstr "une référence vers quelque chose n'étant pas un membre gauche a été retourné"
+
+-#: cp/typeck.c:6560
++#: cp/typeck.c:6587
+ #, fuzzy, gcc-internal-format
+ msgid "reference to local variable %q+D returned"
+ msgstr "référence vers une variable locale « %D » retourné"
+
+-#: cp/typeck.c:6563
++#: cp/typeck.c:6590
+ #, fuzzy, gcc-internal-format
+ msgid "address of local variable %q+D returned"
+ msgstr "adresse d'une variable locale « %D » retournée"
+
+-#: cp/typeck.c:6598
++#: cp/typeck.c:6625
+ #, gcc-internal-format
+ msgid "returning a value from a destructor"
+ msgstr "retourné une valeur du destructeur"
+
+ #. If a return statement appears in a handler of the
+ #. function-try-block of a constructor, the program is ill-formed.
+-#: cp/typeck.c:6606
++#: cp/typeck.c:6633
+ #, gcc-internal-format
+ msgid "cannot return from a handler of a function-try-block of a constructor"
+ msgstr "ne peut retourner d'un handler d'une fonction try-block d'un constructeur"
+
+ #. You can't return a value from a constructor.
+-#: cp/typeck.c:6609
++#: cp/typeck.c:6636
+ #, gcc-internal-format
+ msgid "returning a value from a constructor"
+ msgstr "retourné une valeur d'un constructeur"
+
+-#: cp/typeck.c:6633
++#: cp/typeck.c:6661
+ #, fuzzy, gcc-internal-format
+ msgid "return-statement with no value, in function returning %qT"
+ msgstr "déclaration à retourner sans valeur dans une fonction retournant « %T »"
+
+-#: cp/typeck.c:6654
++#: cp/typeck.c:6682
+ #, gcc-internal-format
+ msgid "return-statement with a value, in function returning 'void'"
+ msgstr "déclaration éa retourner avec une valeur dans une fonction retournant un « void »"
+
+-#: cp/typeck.c:6685
++#: cp/typeck.c:6713
+ #, fuzzy, gcc-internal-format
+ msgid "%<operator new%> must not return NULL unless it is declared %<throw()%> (or -fcheck-new is in effect)"
+ msgstr "« operator new» ne doit pas retourner NULL à moins qu'il ne soit déclaré «throw() » (ou -fcheck-new est utilisée)"
+@@ -33178,57 +33210,57 @@
+ msgid "pointer to member type %qT incompatible with object type %qT"
+ msgstr "type du membre « %T:: » incompatible avec le type d'objet « %T »"
+
+-#: cp/typeck2.c:1495
++#: cp/typeck2.c:1508
+ #, fuzzy, gcc-internal-format
+ msgid "call to function %qD which throws incomplete type %q#T"
+ msgstr "l'appel à la fonction « %D » laquelle écarte le type incomplet « %T »"
+
+-#: cp/typeck2.c:1498
++#: cp/typeck2.c:1511
+ #, fuzzy, gcc-internal-format
+ msgid "call to function which throws incomplete type %q#T"
+ msgstr "l'appel à la fonction laquelle écarte le type incomplet « %T »"
+
+-#: fortran/f95-lang.c:233
++#: fortran/f95-lang.c:235
+ #, gcc-internal-format
+ msgid "Unexpected type in truthvalue_conversion"
+ msgstr ""
+
+-#: fortran/f95-lang.c:289
++#: fortran/f95-lang.c:291
+ #, fuzzy, gcc-internal-format
+ msgid "can't open input file: %s"
+ msgstr "ne peut ouvrir le fichier de sortie « %s »"
+
+-#: fortran/f95-lang.c:629
++#: fortran/f95-lang.c:631
+ #, fuzzy, gcc-internal-format
+ msgid "global register variable %qs used in nested function"
+ msgstr "variable globale de registre « %s » utilisée dans une fonction imbriquée"
+
+-#: fortran/f95-lang.c:633
++#: fortran/f95-lang.c:635
+ #, fuzzy, gcc-internal-format
+ msgid "register variable %qs used in nested function"
+ msgstr "variable de registre « %s » utilisée dans une fonction imbriquée"
+
+-#: fortran/f95-lang.c:640
++#: fortran/f95-lang.c:642
+ #, fuzzy, gcc-internal-format
+ msgid "address of global register variable %qs requested"
+ msgstr "adresse d'une variable registre globale « %s » requise"
+
+-#: fortran/f95-lang.c:658
++#: fortran/f95-lang.c:660
+ #, fuzzy, gcc-internal-format
+ msgid "address of register variable %qs requested"
+ msgstr "adresse d'une variable registre « %s » requise"
+
+-#: fortran/trans-array.c:3765
++#: fortran/trans-array.c:3805
+ #, gcc-internal-format
+ msgid "Possible frontend bug: array constructor not expanded"
+ msgstr ""
+
+-#: fortran/trans-array.c:5418
++#: fortran/trans-array.c:5499
+ #, gcc-internal-format
+ msgid "Possible frontend bug: Deferred array size without pointer, allocatable attribute or derived type without allocatable components."
+ msgstr ""
+
+-#: fortran/trans-array.c:5894
++#: fortran/trans-array.c:5975
+ #, gcc-internal-format
+ msgid "bad expression type during walk (%d)"
+ msgstr ""
+@@ -33238,27 +33270,27 @@
+ msgid "gfc_conv_constant_to_tree(): invalid type: %s"
+ msgstr ""
+
+-#: fortran/trans-decl.c:966
++#: fortran/trans-decl.c:972
+ #, gcc-internal-format
+ msgid "intrinsic variable which isn't a procedure"
+ msgstr ""
+
+-#: fortran/trans-decl.c:2639
++#: fortran/trans-decl.c:2644
+ #, fuzzy, gcc-internal-format
+ msgid "Function does not return a value"
+ msgstr "fonction ne retourne pas un type « string »"
+
+-#: fortran/trans-decl.c:2817
++#: fortran/trans-decl.c:2832
+ #, gcc-internal-format
+ msgid "backend decl for module variable %s already exists"
+ msgstr ""
+
+-#: fortran/trans-decl.c:3351
++#: fortran/trans-decl.c:3314
+ #, fuzzy, gcc-internal-format
+ msgid "Function return value not set"
+ msgstr "fonction retourne un aggrégat"
+
+-#: fortran/trans-expr.c:1163
++#: fortran/trans-expr.c:1177
+ #, fuzzy, gcc-internal-format
+ msgid "Unknown intrinsic op"
+ msgstr "mode insn inconnu"
+@@ -33268,32 +33300,32 @@
+ msgid "Intrinsic function %s(%d) not recognized"
+ msgstr "language %s n'est pas reconnu"
+
+-#: fortran/trans-io.c:1928
++#: fortran/trans-io.c:1929
+ #, gcc-internal-format
+ msgid "Bad IO basetype (%d)"
+ msgstr ""
+
+-#: fortran/trans-types.c:386
++#: fortran/trans-types.c:387
+ #, gcc-internal-format
+ msgid "integer kind=8 not available for -fdefault-integer-8 option"
+ msgstr ""
+
+-#: fortran/trans-types.c:409
++#: fortran/trans-types.c:410
+ #, gcc-internal-format
+ msgid "real kind=8 not available for -fdefault-real-8 option"
+ msgstr ""
+
+-#: fortran/trans-types.c:422
++#: fortran/trans-types.c:423
+ #, gcc-internal-format
+ msgid "Use of -fdefault-double-8 requires -fdefault-real-8"
+ msgstr ""
+
+-#: fortran/trans-types.c:1181
++#: fortran/trans-types.c:1185
+ #, fuzzy, gcc-internal-format
+ msgid "Array element size too big"
+ msgstr "Valeur de l'élément du tableau à %0 en dehors de la plage définie"
+
+-#: fortran/trans.c:1150
++#: fortran/trans.c:1151
+ #, gcc-internal-format
+ msgid "gfc_trans_code(): Bad statement code"
+ msgstr ""
+@@ -33353,88 +33385,88 @@
+ msgid "need to insert runtime check for %s"
+ msgstr ""
+
+-#: java/expr.c:505 java/expr.c:552
++#: java/expr.c:524 java/expr.c:571
+ #, fuzzy, gcc-internal-format
+ msgid "assert: %s is assign compatible with %s"
+ msgstr "-march=%s n'est pas compatible avec l'ABI sélectionné"
+
+-#: java/expr.c:670
++#: java/expr.c:689
+ #, gcc-internal-format
+ msgid "stack underflow - dup* operation"
+ msgstr "sous débordement de la pile - opération dup*"
+
+-#: java/expr.c:1657
++#: java/expr.c:1676
+ #, fuzzy, gcc-internal-format
+ msgid "reference %qs is ambiguous: appears in interface %qs and interface %qs"
+ msgstr "référence « %s » est ambigue: apparaît dans l'interface « %s » et l'interface « %s »"
+
+-#: java/expr.c:1685
++#: java/expr.c:1704
+ #, fuzzy, gcc-internal-format
+ msgid "field %qs not found"
+ msgstr "champ « %s » n'a pas été trouvé"
+
+-#: java/expr.c:2224
++#: java/expr.c:2243
+ #, gcc-internal-format
+ msgid "method '%s' not found in class"
+ msgstr "méthode « %s » n'a pas été repéré dans la classe"
+
+-#: java/expr.c:2429
++#: java/expr.c:2448
+ #, gcc-internal-format
+ msgid "failed to find class '%s'"
+ msgstr "échec de repérage de la classe « %s »"
+
+-#: java/expr.c:2470
++#: java/expr.c:2489
+ #, gcc-internal-format
+ msgid "class '%s' has no method named '%s' matching signature '%s'"
+ msgstr "classe « %s » n'a pas de méthode nommée « %s » concordant avec la signature « %s »"
+
+-#: java/expr.c:2501
++#: java/expr.c:2520
+ #, gcc-internal-format
+ msgid "invokestatic on non static method"
+ msgstr "invocation statique sur un méthode non statique"
+
+-#: java/expr.c:2506
++#: java/expr.c:2525
+ #, gcc-internal-format
+ msgid "invokestatic on abstract method"
+ msgstr "invocation statique sur un méthode abstraite"
+
+-#: java/expr.c:2514
++#: java/expr.c:2533
+ #, gcc-internal-format
+ msgid "invoke[non-static] on static method"
+ msgstr "invocation non statique sur un méthode statique"
+
+-#: java/expr.c:2865
++#: java/expr.c:2890
+ #, gcc-internal-format
+ msgid "missing field '%s' in '%s'"
+ msgstr "champ « %s » manquant dans « %s »"
+
+-#: java/expr.c:2872
++#: java/expr.c:2897
+ #, gcc-internal-format
+ msgid "mismatching signature for field '%s' in '%s'"
+ msgstr "aignature ne concorde pas pour le champ « %s » dans « %s »"
+
+-#: java/expr.c:2901
++#: java/expr.c:2926
+ #, fuzzy, gcc-internal-format
+ msgid "assignment to final field %q+D not in field's class"
+ msgstr "%Jaffectation au champ final « %D » n'est pas le champ de la classe"
+
+-#: java/expr.c:3123
++#: java/expr.c:3148
+ #, gcc-internal-format
+ msgid "invalid PC in line number table"
+ msgstr "PC invalide dans la numéro de ligne de la table"
+
+-#: java/expr.c:3173
++#: java/expr.c:3198
+ #, gcc-internal-format
+ msgid "unreachable bytecode from %d to before %d"
+ msgstr "bytcode n'est pas atteignable à partir de %d jusqu'à %d"
+
+-#: java/expr.c:3217
++#: java/expr.c:3242
+ #, gcc-internal-format
+ msgid "unreachable bytecode from %d to the end of the method"
+ msgstr "bytcode n'est pas atteignable à partir de %d jusqu'à la fin de la méthode."
+
+ #. duplicate code from LOAD macro
+-#: java/expr.c:3522
++#: java/expr.c:3547
+ #, gcc-internal-format
+ msgid "unrecogized wide sub-instruction"
+ msgstr "sous-instruction très large non reconnue"
+@@ -33500,27 +33532,27 @@
+ msgid "%Hduplicate class will only be compiled once"
+ msgstr ""
+
+-#: java/jcf-parse.c:1636
++#: java/jcf-parse.c:1638
+ #, gcc-internal-format
+ msgid "missing Code attribute"
+ msgstr "attribut Code manquant"
+
+-#: java/jcf-parse.c:1858
++#: java/jcf-parse.c:1860
+ #, gcc-internal-format
+ msgid "no input file specified"
+ msgstr "aucun fichier n'a été spécifié à l'entrée"
+
+-#: java/jcf-parse.c:1893
++#: java/jcf-parse.c:1895
+ #, gcc-internal-format
+ msgid "can't close input file %s: %m"
+ msgstr "ne peut fermer le fichier d'entrée %s: %m"
+
+-#: java/jcf-parse.c:1940
++#: java/jcf-parse.c:1942
+ #, gcc-internal-format
+ msgid "bad zip/jar file %s"
+ msgstr "fichier zip/jar erroné %s"
+
+-#: java/jcf-parse.c:2145
++#: java/jcf-parse.c:2152
+ #, gcc-internal-format
+ msgid "error while reading %s from zip file"
+ msgstr "erreur lors de la lecture de %s à partir du fichier zip"
+@@ -33530,22 +33562,22 @@
+ msgid "warning: already-compiled .class files ignored with -C"
+ msgstr "AVERTISSEMENT: fichiers .class déjà compilés ignorés avec -C"
+
+-#: java/lang.c:590
++#: java/lang.c:594
+ #, gcc-internal-format
+ msgid "-findirect-dispatch is incompatible with -freduced-reflection"
+ msgstr ""
+
+-#: java/lang.c:593
++#: java/lang.c:597
+ #, fuzzy, gcc-internal-format
+ msgid "-fjni is incompatible with -freduced-reflection"
+ msgstr "-G est incompatible avec le code PIC par défaut"
+
+-#: java/lang.c:604
++#: java/lang.c:608
+ #, gcc-internal-format
+ msgid "can't do dependency tracking with input from stdin"
+ msgstr "ne peut faire le tracking de dépendance avec l'entrée à partir de stdin"
+
+-#: java/lang.c:620
++#: java/lang.c:624
+ #, gcc-internal-format
+ msgid "couldn't determine target name for dependency tracking"
+ msgstr "ne peut déterminer le nom de la cible pour le tracking de dépendance"
+@@ -34076,6 +34108,9 @@
+ #~ msgid "GCC does not yet properly implement `[*]' array declarators"
+ #~ msgstr "GCC n'implémente pas encore correctement les déclarateurs de tableau « [*] »"
+
++#~ msgid "static or type qualifiers in abstract declarator"
++#~ msgstr "static ou qualificateurs de type dans un déclarateur abstrait"
++
+ #~ msgid "typedef `%s' is initialized (use __typeof__ instead)"
+ #~ msgstr "typedef « %s » est initialisé (utilisez __typeof__ à la place)"
+
+@@ -35092,54 +35127,186 @@
+ #~ msgid "Specify the MCU name"
+ #~ msgstr "Spécifier le nom du MCU"
+
++#~ msgid "missing function name in '#pragma %s' - ignored"
++#~ msgstr "nom de fonction manquant dans «#pragma %s» - ignoré"
++
++#~ msgid "malformed '#pragma %s' - ignored"
++#~ msgstr "«#pragma %s» mal composé - ignoré"
++
++#~ msgid "missing ')' for '#pragma %s' - ignored"
++#~ msgstr "«)» manquante pour «#pragma %s» - ignoré"
++
+ #~ msgid "unknown CPU version %d, using 40.\n"
+ #~ msgstr "version de processeur %d inconnue, 40 est utilisé.\n"
+
++#~ msgid "ISR %s requires %d words of local vars, max is 32767"
++#~ msgstr "ISR %s requiert %d mots de var. locales, max est 32767."
++
++#~ msgid "using CONST_DOUBLE for address"
++#~ msgstr "CONST_DOUBLE utilisé pour l'adresse"
++
++#~ msgid "c4x_address_cost: Invalid addressing mode"
++#~ msgstr "c4x_address_cost: mode d'adressage invalide"
++
++#~ msgid "c4x_print_operand: %%L inconsistency"
++#~ msgstr "c4x_print_operand: %%L inconsistent"
++
++#~ msgid "c4x_print_operand: %%N inconsistency"
++#~ msgstr "c4x_print_operand: %%N inconsistent"
++
++#~ msgid "c4x_print_operand: %%O inconsistency"
++#~ msgstr "c4x_print_operand: %%O inconsisten"
++
++#~ msgid "c4x_print_operand: Bad operand case"
++#~ msgstr "c4x_print_operand: opérande erronée pour un case"
++
++#~ msgid "c4x_print_operand_address: Bad post_modify"
++#~ msgstr "c4x_print_operand_address: post-modification erronée"
++
++#~ msgid "c4x_print_operand_address: Bad pre_modify"
++#~ msgstr "c4x_print_operand_address: pré-modification erronée"
++
++#~ msgid "c4x_print_operand_address: Bad operand case"
++#~ msgstr "c4x_print_operand_address: opérande erronée pour un case"
++
++#~ msgid "c4x_rptb_insert: Cannot find start label"
++#~ msgstr "c4x_rptb_insert: ne peut repérer l'étiquette de départ"
++
+ #~ msgid "mode not QImode"
+ #~ msgstr "mode n'est pas QImode"
+
++#~ msgid "invalid indirect memory address"
++#~ msgstr "adresse mémoire d'indirection invalide"
++
++#~ msgid "invalid indirect (S) memory address"
++#~ msgstr "adresse mémoire (S) d'indirection invalide"
++
++#~ msgid "c4x_valid_operands: Internal error"
++#~ msgstr "c4x_valid_operands: erreur interne"
++
++#~ msgid "c4x_operand_subword: invalid mode"
++#~ msgstr "c4x_oprande_subword: mode invalide"
++
++#~ msgid "c4x_operand_subword: invalid operand"
++#~ msgstr "c4x_operand_subword: opérande invalide"
++
++#~ msgid "c4x_operand_subword: invalid autoincrement"
++#~ msgstr "c4x_operand_subword: autoincrement invalide"
++
++#~ msgid "c4x_operand_subword: invalid address"
++#~ msgstr "c4x_operand_subword: adresse invalide"
++
++#~ msgid "c4x_operand_subword: address not offsettable"
++#~ msgstr "c4x_operand_subword: un décalage d'adresse ne peut s'appliquer sur cette adresse"
++
++#~ msgid "c4x_rptb_rpts_p: Repeat block top label moved\n"
++#~ msgstr "c4x_rptb_rpts_p: étiquette supérieur de bloc de répétition déplacée\n"
++
++#~ msgid "Small memory model"
++#~ msgstr "Modèle de mémoire petite"
++
++#~ msgid "Big memory model"
++#~ msgstr "Modèle de mémoire grande"
++
++#~ msgid "Use MPYI instruction for C3x"
++#~ msgstr "Utiliser les instructions MPYI pour C3x"
++
+ #~ msgid "Do not use MPYI instruction for C3x"
+ #~ msgstr "Ne pas utiliser les instructions MPYI pour C3x"
+
++#~ msgid "Use fast but approximate float to integer conversion"
++#~ msgstr "Utiliser le mode rapide mais approximatif de conversion de flottant à entier"
++
+ #~ msgid "Use slow but accurate float to integer conversion"
+ #~ msgstr "Utiliser le mode lent mais précis de conversion de flottant à entier"
+
+ #~ msgid "Disable use of RTPS instruction"
+ #~ msgstr "Interdire l'utilisation de l'instruction RTPS"
+
++#~ msgid "Enable use of RTPB instruction"
++#~ msgstr "Autoriser l'utilisation de l'instruction RTPB"
++
+ #~ msgid "Disable use of RTPB instruction"
+ #~ msgstr "Interdire l'utilisation de l'instruction RTPB"
+
++#~ msgid "Generate code for C31 CPU"
++#~ msgstr "Générer du code pour processeur C31"
++
++#~ msgid "Generate code for C32 CPU"
++#~ msgstr "Générer du code pour processeur C32"
++
++#~ msgid "Generate code for C33 CPU"
++#~ msgstr "Générer du code pour processeur C33"
++
++#~ msgid "Generate code for C44 CPU"
++#~ msgstr "Générer du code pour processeur C44"
++
++#~ msgid "Emit code compatible with TI tools"
++#~ msgstr "Produire du code compatible avec les outils TI"
++
+ #~ msgid "Emit code to use GAS extensions"
+ #~ msgstr "Produire du code pour utiliser les extensions GAS"
+
++#~ msgid "Save DP across ISR in small memory model"
++#~ msgstr "Sauvegarder DP à travers ISR dans le modèle de mémoire restreinte"
++
+ #~ msgid "Don't save DP across ISR in small memory model"
+ #~ msgstr "Ne pas sauvegarder DP à travers ISR dans le modèle de mémoire restreinte"
+
++#~ msgid "Pass arguments on the stack"
++#~ msgstr "Passer les arguments sur la pile"
++
++#~ msgid "Pass arguments in registers"
++#~ msgstr "Passer les arguments par les registres"
++
++#~ msgid "Enable new features under development"
++#~ msgstr "Autoriser les nouvelles options en développement"
++
+ #~ msgid "Disable new features under development"
+ #~ msgstr "Désactiver les nouvelles options en développement"
+
+ #~ msgid "Disable debugging"
+ #~ msgstr "Désactiver la mise au point"
+
++#~ msgid "Force constants into registers to improve hoisting"
++#~ msgstr "Forcer les constantes dans les registres pour améliorer la montée"
++
+ #~ msgid "Don't force constants into registers"
+ #~ msgstr "Ne pas forcer les constantes dans les registres"
+
++#~ msgid "Force RTL generation to emit valid 3 operand insns"
++#~ msgstr "Forcer la génération RTL pour produire des opérandes insn 3 valides"
++
+ #~ msgid "Allow RTL generation to emit invalid 3 operand insns"
+ #~ msgstr "Autoriser la génération RTL pour produire des opérandes insn 3 invalides"
+
++#~ msgid "Allow unsigned iteration counts for RPTB/DB"
++#~ msgstr "Autoriser un compteur non signé d'itérations pour RPTB/DB"
++
+ #~ msgid "Disallow unsigned iteration counts for RPTB/DB"
+ #~ msgstr "Interdire un compteur non signé d'itération pour RPTB/DB"
+
++#~ msgid "Preserve all 40 bits of FP reg across call"
++#~ msgstr "Préserver tous les 40 bits du registre FP à travers les appels"
++
+ #~ msgid "Only preserve 32 bits of FP reg across call"
+ #~ msgstr "Préserver seulement 32 bits du registre FP à travers les appels"
+
++#~ msgid "Enable parallel instructions"
++#~ msgstr "Autoriser les instructions parallèles"
++
+ #~ msgid "Disable parallel instructions"
+ #~ msgstr "Interdire les instructions parallèles"
+
++#~ msgid "Enable MPY||ADD and MPY||SUB instructions"
++#~ msgstr "Autoriser les instructions MPY||ADD et MPY||SUB"
++
+ #~ msgid "Disable MPY||ADD and MPY||SUB instructions"
+ #~ msgstr "Interdire les instructions MPY||ADD et MPY||SUB"
+
++#~ msgid "Assume that pointers may be aliased"
++#~ msgstr "Présumer que les pointeurs peuvent être aliasés"
++
+ #~ msgid "Select CPU to generate code for"
+ #~ msgstr "Sélectionner le processeur pour lequel le code doit être généré"
+
+@@ -36008,6 +36175,12 @@
+ #~ msgid "Do not optimize tail call instructions in assembler or linker"
+ #~ msgstr "Ne pas optimiser sur mesure les instructions d'appel avec l'assembleur et l'éditeur de liens"
+
++#~ msgid "Constant halfword load operand out of range."
++#~ msgstr "chargement de l'opérande de la constante demi-mot est hors limite"
++
++#~ msgid "Constant arithmetic operand out of range."
++#~ msgstr "opérande arithmétique de la constante est hors limite"
++
+ #~ msgid "%s=%s is not numeric"
+ #~ msgstr "%s=%s n'est pas numérique"
+
+@@ -36242,6 +36415,9 @@
+ #~ msgid "`%D' does not declare a template type"
+ #~ msgstr "« %D » ne déclare pas un type de patron"
+
++#~ msgid "used %d template parameter%s instead of %d"
++#~ msgstr "utilisé %d patrons paramètre%s au lieu de %d"
++
+ #~ msgid "it must be the address of a function with external linkage"
+ #~ msgstr "il doit être l'adresse d'une fonction avec lien externe"
+
+@@ -36344,9 +36520,6 @@
+ #~ msgid "%s of negative value `%E' to `%T'"
+ #~ msgstr "%s de valeur négative « %E » vers « %T »"
+
+-#~ msgid "initializing array with parameter list"
+-#~ msgstr "initialise le tableau avec la liste des paramètres"
+-
+ #~ msgid "initializer for scalar variable requires one element"
+ #~ msgstr "l'initialisation de variable scalaire requiert un élément"
+
+@@ -36597,9 +36770,6 @@
+ #~ msgid "Semicolon at %0 is an invalid token"
+ #~ msgstr "Point-virgule (« ; ») en %0 est un élément lexical invalide"
+
+-#~ msgid "Missing comma in FORMAT statement at %0"
+-#~ msgstr "Virgule manquante dans la déclaration de FORMAT à %0"
+-
+ #~ msgid "Unrecognized FORMAT specifier at %0"
+ #~ msgstr "spécificateur de FORMAT non reconnu à %0"
+
+@@ -37244,6 +37414,9 @@
+ #~ msgid "Do not store floats in registers"
+ #~ msgstr "Ne pas stocker les flottants dans les registres"
+
++#~ msgid "Copy memory address constants into registers before use"
++#~ msgstr "Copier les constantes d'adresses mémoire dans les registres avant de les utiliser"
++
+ #~ msgid "Copy memory operands into registers before use"
+ #~ msgstr "Copier les opérandes mémoire dans les registres avant de les utiliser"
+
+@@ -38257,9 +38430,6 @@
+ #~ msgid "Don't warn about too many arguments to format functions"
+ #~ msgstr "Ne pas avertir à propos d'un surplus d'arguments pour des fonctions de format"
+
+-#~ msgid "Warn when trigraphs are encountered"
+-#~ msgstr "Avertir lorsque des trigraphes sont rencontrés"
+-
+ #~ msgid "Mark strings as 'const char *'"
+ #~ msgstr "Marque les chaînes comme étant 'const char *'"
+
+@@ -40253,9 +40423,6 @@
+ #~ msgid "possible internal error in build_chill_arrow_expr"
+ #~ msgstr "erreur interne possible dans build_chill_arrow_expr"
+
+-#~ msgid "%s is not addressable"
+-#~ msgstr "%s n'est pas adressable"
+-
+ #~ msgid "repetition count < 0"
+ #~ msgstr "compteur de répétition > que 0"
+
+@@ -40652,9 +40819,6 @@
+ #~ msgid "PROCESS copy number must be integer"
+ #~ msgstr "processus de copie de nombres doit être entier"
+
+-#~ msgid "missing parenthesis for procedure call"
+-#~ msgstr "parenthèse manquante dans l'appel de procédure"
+-
+ #~ msgid "no handler is permitted on this action"
+ #~ msgstr "pas de handler permis pour cette action"
+
+@@ -41504,6 +41668,9 @@
+ #~ msgid "Reference to unimplemented intrinsic `%A' at %0 -- use EXTERNAL to reference user-written procedure with this name"
+ #~ msgstr "référence à un intrinsèque non implanté «%A» à %0 -- utiliser EXTERNAL pour référence la procédure ayant ce nom et écrite par l'usager"
+
++#~ msgid "Unimplemented intrinsic `%A' at %0"
++#~ msgstr "intrinsèque «%A» non implanté à %0"
++
+ #~ msgid "Reference to unimplemented intrinsic `%A' at %0 (assumed EXTERNAL)"
+ #~ msgstr "référence à un intrinsèque non implanté «%A» à (EXTERNAL assumé)"
+
+Index: gcc/po/es.po
+===================================================================
+--- gcc/po/es.po (.../tags/gcc_4_3_0_release) (revision 133808)
++++ gcc/po/es.po (.../branches/gcc-4_3-branch) (revision 133808)
+@@ -1,22 +1,23 @@
+-# Mensajes en español para gcc-4.3-b20071109
+-# Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007 Free Software Foundation, Inc.
+-# Cristian Othón Martínez Vera <cfuga@itam.mx>, 2001, 2002, 2003, 2004, 2005, 2006, 2007
++# Mensajes en español para gcc-4.3.0
++# Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
++# This file is distributed under the same license as the gcc package.
++# Cristian Othón Martínez Vera <cfuga@itam.mx>, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008
+ #
+ # Agradezco a Juan Cuquejo Mira por sus comentarios sobre esta traducción
+ #
+ msgid ""
+ msgstr ""
+-"Project-Id-Version: gcc 4.3-b20071109\n"
++"Project-Id-Version: gcc 4.3.0\n"
+ "Report-Msgid-Bugs-To: http://gcc.gnu.org/bugs.html\n"
+-"POT-Creation-Date: 2007-11-08 21:09+0000\n"
+-"PO-Revision-Date: 2007-11-15 10:47-0600\n"
++"POT-Creation-Date: 2008-03-05 17:23+0100\n"
++"PO-Revision-Date: 2008-03-18 11:52-0600\n"
+ "Last-Translator: Cristian Othón Martínez Vera <cfuga@itam.mx>\n"
+ "Language-Team: Spanish <es@li.org>\n"
+ "MIME-Version: 1.0\n"
+ "Content-Type: text/plain; charset=ISO-8859-1\n"
+ "Content-Transfer-Encoding: 8bit\n"
+
+-#: c-decl.c:3814
++#: c-decl.c:3813
+ msgid "<anonymous>"
+ msgstr "<anónimo>"
+
+@@ -297,53 +298,53 @@
+ msgid "End of search list.\n"
+ msgstr "Fin de la lista de búsqueda.\n"
+
+-#: c-opts.c:1484
++#: c-opts.c:1505
+ msgid "<built-in>"
+ msgstr "<interno>"
+
+-#: c-opts.c:1502
++#: c-opts.c:1523
+ msgid "<command-line>"
+ msgstr "<línea-de-orden>"
+
+-#: c-typeck.c:2448 c-typeck.c:4851 c-typeck.c:4853 c-typeck.c:4861
+-#: c-typeck.c:4891 c-typeck.c:6267
++#: c-typeck.c:2459 c-typeck.c:4862 c-typeck.c:4864 c-typeck.c:4872
++#: c-typeck.c:4902 c-typeck.c:6278
+ msgid "initializer element is not constant"
+ msgstr "el elemento inicializador no es una constante"
+
+-#: c-typeck.c:4654
++#: c-typeck.c:4665
+ msgid "array initialized from parenthesized string constant"
+ msgstr "matriz inicializada con una constante de cadena entre paréntesis"
+
+-#: c-typeck.c:4715 cp/typeck2.c:677
++#: c-typeck.c:4726 cp/typeck2.c:677
+ #, gcc-internal-format
+ msgid "char-array initialized from wide string"
+ msgstr "matriz de tipo char inicializada con una cadena ancha"
+
+-#: c-typeck.c:4720
++#: c-typeck.c:4731
+ msgid "wchar_t-array initialized from non-wide string"
+ msgstr "matriz de tipo wchar_t inicializada con una cadena que no es ancha"
+
+-#: c-typeck.c:4738 cp/typeck2.c:697
++#: c-typeck.c:4749 cp/typeck2.c:697
+ #, gcc-internal-format
+ msgid "initializer-string for array of chars is too long"
+ msgstr "la cadena del inicializador para la matriz de caracteres es demasiado larga"
+
+-#: c-typeck.c:4744
++#: c-typeck.c:4755
+ msgid "array of inappropriate type initialized from string constant"
+ msgstr "matriz de tipo inapropiado inicializada con una constante de cadena"
+
+ #. ??? This should not be an error when inlining calls to
+ #. unprototyped functions.
+-#: c-typeck.c:4808 c-typeck.c:4333 cp/typeck.c:1528
++#: c-typeck.c:4819 c-typeck.c:4344 cp/typeck.c:1574
+ #, gcc-internal-format
+ msgid "invalid use of non-lvalue array"
+ msgstr "uso inválido de matriz no-lvaluada"
+
+-#: c-typeck.c:4834
++#: c-typeck.c:4845
+ msgid "array initialized from non-constant array expression"
+ msgstr "matriz inicializada con una expresión matrizal que no es constante"
+
+-#: c-typeck.c:4898 c-typeck.c:6271
++#: c-typeck.c:4909 c-typeck.c:6282
+ #, gcc-internal-format
+ msgid "initializer element is not computable at load time"
+ msgstr "el elemento inicializador no es calculable al momento de la carga"
+@@ -352,140 +353,140 @@
+ #. of VLAs themselves count as VLAs, it does not make
+ #. sense to permit them to be initialized given that
+ #. ordinary VLAs may not be initialized.
+-#: c-typeck.c:4909 c-decl.c:3222 c-decl.c:3237
++#: c-typeck.c:4920 c-decl.c:3220 c-decl.c:3235
+ #, gcc-internal-format
+ msgid "variable-sized object may not be initialized"
+ msgstr "un objeto de tamaño variable puede no ser inicializado"
+
+-#: c-typeck.c:4913
++#: c-typeck.c:4924
+ msgid "invalid initializer"
+ msgstr "inicializador inválido"
+
+-#: c-typeck.c:5387
++#: c-typeck.c:5398
+ msgid "extra brace group at end of initializer"
+ msgstr "grupo extra de llaves al final del inicializador"
+
+-#: c-typeck.c:5407
++#: c-typeck.c:5418
+ msgid "missing braces around initializer"
+ msgstr "faltan llaves alrededor del inicializador"
+
+-#: c-typeck.c:5468
++#: c-typeck.c:5479
+ msgid "braces around scalar initializer"
+ msgstr "llaves alrededor del inicializador escalar"
+
+-#: c-typeck.c:5525
++#: c-typeck.c:5536
+ msgid "initialization of flexible array member in a nested context"
+ msgstr "inicialización de un miembro de matriz flexible en un contexto anidado"
+
+-#: c-typeck.c:5527
++#: c-typeck.c:5538
+ msgid "initialization of a flexible array member"
+ msgstr "inicialización de un miembro de matriz flexible"
+
+-#: c-typeck.c:5554
++#: c-typeck.c:5565
+ msgid "missing initializer"
+ msgstr "falta el inicializador"
+
+-#: c-typeck.c:5576
++#: c-typeck.c:5587
+ msgid "empty scalar initializer"
+ msgstr "inicializador escalar vacío"
+
+-#: c-typeck.c:5581
++#: c-typeck.c:5592
+ msgid "extra elements in scalar initializer"
+ msgstr "elementos extras en el inicializador escalar"
+
+-#: c-typeck.c:5678 c-typeck.c:5738
++#: c-typeck.c:5689 c-typeck.c:5749
+ msgid "array index in non-array initializer"
+ msgstr "índice de matriz en el inicializador que no es matriz"
+
+-#: c-typeck.c:5683 c-typeck.c:5791
++#: c-typeck.c:5694 c-typeck.c:5802
+ msgid "field name not in record or union initializer"
+ msgstr "el nombre del campo no está en el inicializador de record o union"
+
+-#: c-typeck.c:5729
++#: c-typeck.c:5740
+ msgid "array index in initializer not of integer type"
+ msgstr "el índice de matriz en el inicializador no es de tipo entero"
+
+-#: c-typeck.c:5734 c-typeck.c:5736
++#: c-typeck.c:5745 c-typeck.c:5747
+ msgid "nonconstant array index in initializer"
+ msgstr "índice de matriz no constante en el inicializador"
+
+-#: c-typeck.c:5740 c-typeck.c:5743
++#: c-typeck.c:5751 c-typeck.c:5754
+ msgid "array index in initializer exceeds array bounds"
+ msgstr "el índice de matriz en el inicializador excede los límites de la matriz"
+
+-#: c-typeck.c:5754
++#: c-typeck.c:5765
+ msgid "empty index range in initializer"
+ msgstr "rango de índices vacío en el inicializador"
+
+-#: c-typeck.c:5763
++#: c-typeck.c:5774
+ msgid "array index range in initializer exceeds array bounds"
+ msgstr "el rango de índices de la matriz en el inicializador excede los límites de la matriz"
+
+-#: c-typeck.c:5838 c-typeck.c:5861 c-typeck.c:6335
++#: c-typeck.c:5849 c-typeck.c:5872 c-typeck.c:6346
+ msgid "initialized field with side-effects overwritten"
+ msgstr "campo inicializado con efectos colaterales sobreescritos"
+
+-#: c-typeck.c:5840 c-typeck.c:5863 c-typeck.c:6337
++#: c-typeck.c:5851 c-typeck.c:5874 c-typeck.c:6348
+ msgid "initialized field overwritten"
+ msgstr "campo inicializado sobreescrito"
+
+-#: c-typeck.c:6545
++#: c-typeck.c:6556
+ msgid "excess elements in char array initializer"
+ msgstr "exceso de elementos en el inicializador de matriz de caracteres"
+
+-#: c-typeck.c:6552 c-typeck.c:6598
++#: c-typeck.c:6563 c-typeck.c:6609
+ msgid "excess elements in struct initializer"
+ msgstr "exceso de elementos en el inicializador de struct"
+
+-#: c-typeck.c:6613
++#: c-typeck.c:6624
+ msgid "non-static initialization of a flexible array member"
+ msgstr "inicialización no estática de un miembro de matriz flexible"
+
+-#: c-typeck.c:6681
++#: c-typeck.c:6692
+ msgid "excess elements in union initializer"
+ msgstr "exceso de elementos en el inicializador de union"
+
+-#: c-typeck.c:6768
++#: c-typeck.c:6779
+ msgid "excess elements in array initializer"
+ msgstr "exceso de elementos en el inicializador de matriz"
+
+-#: c-typeck.c:6798
++#: c-typeck.c:6809
+ msgid "excess elements in vector initializer"
+ msgstr "exceso de elementos en el inicializador de vector"
+
+-#: c-typeck.c:6822
++#: c-typeck.c:6833
+ msgid "excess elements in scalar initializer"
+ msgstr "exceso de elementos en el inicializador de escalar"
+
+-#: cfgrtl.c:1925
++#: cfgrtl.c:1923
+ msgid "flow control insn inside a basic block"
+ msgstr "insn de control de flujo dentro de un bloque básico"
+
+-#: cfgrtl.c:2054
++#: cfgrtl.c:2052
+ msgid "wrong insn in the fallthru edge"
+ msgstr "insn erróneo en el borde del respaldo"
+
+-#: cfgrtl.c:2110
++#: cfgrtl.c:2108
+ msgid "insn outside basic block"
+ msgstr "insn fuera del bloque básico"
+
+-#: cfgrtl.c:2117
++#: cfgrtl.c:2115
+ msgid "return not followed by barrier"
+ msgstr "return no es seguido por una barrera"
+
+-#: cgraph.c:339 ipa-inline.c:417
++#: cgraph.c:340 ipa-inline.c:417
+ msgid "function body not available"
+ msgstr "el cuerpo de la función no está disponible"
+
+-#: cgraph.c:341 cgraphbuild.c:96
++#: cgraph.c:342 cgraphbuild.c:96
+ msgid "redefined extern inline functions are not considered for inlining"
+ msgstr "las funciones extern inline redefinidas no se consideran para la inclusión en línea'"
+
+-#: cgraph.c:344 cgraphbuild.c:103
++#: cgraph.c:345 cgraphbuild.c:103
+ msgid "function not considered for inlining"
+ msgstr "la función no se consideró para la inclusión en línea"
+
+-#: cgraph.c:346 cgraphbuild.c:99
++#: cgraph.c:347 cgraphbuild.c:99
+ msgid "function not inlinable"
+ msgstr "la función no se puede incluir en línea"
+
+@@ -493,88 +494,88 @@
+ msgid "mismatched arguments"
+ msgstr "no coinciden los argumentos"
+
+-#: collect2.c:378 gcc.c:6897
++#: collect2.c:382 gcc.c:6896
+ #, c-format
+ msgid "internal gcc abort in %s, at %s:%d"
+ msgstr "aborto interno de gcc en %s, en %s:%d"
+
+-#: collect2.c:889
++#: collect2.c:903
+ #, c-format
+ msgid "no arguments"
+ msgstr "sin argumentos"
+
+-#: collect2.c:1263 collect2.c:1411 collect2.c:1446
++#: collect2.c:1277 collect2.c:1425 collect2.c:1460
+ #, c-format
+ msgid "fopen %s"
+ msgstr "fopen %s"
+
+-#: collect2.c:1266 collect2.c:1416 collect2.c:1449
++#: collect2.c:1280 collect2.c:1430 collect2.c:1463
+ #, c-format
+ msgid "fclose %s"
+ msgstr "fclose %s"
+
+-#: collect2.c:1275
++#: collect2.c:1289
+ #, c-format
+ msgid "collect2 version %s"
+ msgstr "collect2 versión %s"
+
+-#: collect2.c:1365
++#: collect2.c:1379
+ #, c-format
+ msgid "%d constructor(s) found\n"
+ msgstr "se encuentra(n) %d constructor(es)\n"
+
+-#: collect2.c:1366
++#: collect2.c:1380
+ #, c-format
+ msgid "%d destructor(s) found\n"
+ msgstr "se encuentra(n) %d destructor(es)\n"
+
+-#: collect2.c:1367
++#: collect2.c:1381
+ #, c-format
+ msgid "%d frame table(s) found\n"
+ msgstr "se encuentra(n) %d marcos de tabla(s)\n"
+
+-#: collect2.c:1504
++#: collect2.c:1518
+ #, c-format
+ msgid "can't get program status"
+ msgstr "no se puede obtener el estado del programa"
+
+-#: collect2.c:1573
++#: collect2.c:1587
+ #, c-format
+ msgid "could not open response file %s"
+ msgstr "no se puede abrir el fichero de respuesta %s"
+
+-#: collect2.c:1578
++#: collect2.c:1592
+ #, c-format
+ msgid "could not write to response file %s"
+ msgstr "no se puede escribir en el fichero de respuesta %s"
+
+-#: collect2.c:1583
++#: collect2.c:1597
+ #, c-format
+ msgid "could not close response file %s"
+ msgstr "no se puede cerrar el fichero de respuesta %s"
+
+-#: collect2.c:1601
++#: collect2.c:1615
+ #, c-format
+ msgid "[cannot find %s]"
+ msgstr "[no se puede encontrar %s]"
+
+-#: collect2.c:1616
++#: collect2.c:1630
+ #, c-format
+ msgid "cannot find '%s'"
+ msgstr "no se puede encontrar '%s'"
+
+-#: collect2.c:1620 collect2.c:2112 collect2.c:2267 gcc.c:2978
++#: collect2.c:1634 collect2.c:2126 collect2.c:2281 gcc.c:2974
+ #, c-format
+ msgid "pex_init failed"
+ msgstr "falló pex_init"
+
+-# s% se refiere a un fichero. cfuga
+-#: collect2.c:1658
++# %s se refiere a un fichero. cfuga
++#: collect2.c:1672
+ #, c-format
+ msgid "[Leaving %s]\n"
+ msgstr "[Saliendo de %s]\n"
+
+-#: collect2.c:1878
++#: collect2.c:1892
+ #, c-format
+ msgid ""
+ "\n"
+@@ -583,32 +584,32 @@
+ "\n"
+ "write_c_file - el nombre de salida es %s, el prefijo es %s\n"
+
+-#: collect2.c:2086
++#: collect2.c:2100
+ #, c-format
+ msgid "cannot find 'nm'"
+ msgstr "no se puede encontrar 'nm'"
+
+-#: collect2.c:2133
++#: collect2.c:2147
+ #, c-format
+ msgid "can't open nm output"
+ msgstr "no se puede abrir la salida de nm"
+
+-#: collect2.c:2177
++#: collect2.c:2191
+ #, c-format
+ msgid "init function found in object %s"
+ msgstr "se encontró la función init en el objeto %s"
+
+-#: collect2.c:2185
++#: collect2.c:2199
+ #, c-format
+ msgid "fini function found in object %s"
+ msgstr "se encontró la función fini en el objeto %s"
+
+-#: collect2.c:2288
++#: collect2.c:2302
+ #, c-format
+ msgid "can't open ldd output"
+ msgstr "no se puede abrir la salida de ldd"
+
+-#: collect2.c:2291
++#: collect2.c:2305
+ #, c-format
+ msgid ""
+ "\n"
+@@ -617,27 +618,27 @@
+ "\n"
+ "salida de ldd con constructores/destructores.\n"
+
+-#: collect2.c:2306
++#: collect2.c:2320
+ #, c-format
+ msgid "dynamic dependency %s not found"
+ msgstr "no se encontró la dependencia dinámica %s"
+
+-#: collect2.c:2318
++#: collect2.c:2332
+ #, c-format
+ msgid "unable to open dynamic dependency '%s'"
+ msgstr "no se puede abrir la dependencia dinámica '%s'"
+
+-#: collect2.c:2474
++#: collect2.c:2488
+ #, c-format
+ msgid "%s: not a COFF file"
+ msgstr "%s: no es un fichero COFF"
+
+-#: collect2.c:2594
++#: collect2.c:2608
+ #, c-format
+ msgid "%s: cannot open as COFF file"
+ msgstr "%s: no se puede abrir como un fichero COFF"
+
+-#: collect2.c:2652
++#: collect2.c:2666
+ #, c-format
+ msgid "library lib%s not found"
+ msgstr "no se encontró la biblioteca lib%s"
+@@ -687,40 +688,40 @@
+ msgid "negative insn length"
+ msgstr "longitud de insn negativa"
+
+-#: final.c:2609
++#: final.c:2615
+ msgid "could not split insn"
+ msgstr "no se puede dividir insn"
+
+-#: final.c:2979
++#: final.c:2992
+ msgid "invalid 'asm': "
+ msgstr "'asm' inválido: "
+
+-#: final.c:3162
++#: final.c:3175
+ #, c-format
+ msgid "nested assembly dialect alternatives"
+ msgstr "alternativas de dialecto ensamblador anidadas"
+
+-#: final.c:3179 final.c:3191
++#: final.c:3192 final.c:3204
+ #, c-format
+ msgid "unterminated assembly dialect alternative"
+ msgstr "alternativa de dialecto ensamblador sin terminar"
+
+-#: final.c:3238
++#: final.c:3251
+ #, c-format
+ msgid "operand number missing after %%-letter"
+ msgstr "falta un número operando después de %%-letra"
+
+-#: final.c:3241 final.c:3282
++#: final.c:3254 final.c:3295
+ #, c-format
+ msgid "operand number out of range"
+ msgstr "número operando fuera de rango"
+
+-#: final.c:3301
++#: final.c:3314
+ #, c-format
+ msgid "invalid %%-code"
+ msgstr "%%-código inválido"
+
+-#: final.c:3331
++#: final.c:3344
+ #, c-format
+ msgid "'%%l' operand isn't a label"
+ msgstr "el operando '%%l' no es una etiqueta"
+@@ -731,13 +732,13 @@
+ #. handle them.
+ #. We can't handle floating point constants;
+ #. PRINT_OPERAND must handle them.
+-#: final.c:3433 vmsdbgout.c:487 config/i386/i386.c:8143
++#: final.c:3446 vmsdbgout.c:487 config/i386/i386.c:8198
+ #: config/pdp11/pdp11.c:1704
+ #, c-format
+ msgid "floating constant misused"
+ msgstr "constante de coma flotante mal usada"
+
+-#: final.c:3493 vmsdbgout.c:544 config/i386/i386.c:8224
++#: final.c:3507 vmsdbgout.c:544 config/i386/i386.c:8279
+ #: config/pdp11/pdp11.c:1751
+ #, c-format
+ msgid "invalid expression as operand"
+@@ -748,7 +749,7 @@
+ msgid "Using built-in specs.\n"
+ msgstr "Usando especificaciones internas.\n"
+
+-#: gcc.c:1887
++#: gcc.c:1883
+ #, c-format
+ msgid ""
+ "Setting spec %s to '%s'\n"
+@@ -757,42 +758,42 @@
+ "Cambiando la especificación de %s a '%s'\n"
+ "\n"
+
+-#: gcc.c:2002
++#: gcc.c:1998
+ #, c-format
+ msgid "Reading specs from %s\n"
+ msgstr "Leyendo especificaciones de %s\n"
+
+-#: gcc.c:2098 gcc.c:2117
++#: gcc.c:2094 gcc.c:2113
+ #, c-format
+ msgid "specs %%include syntax malformed after %ld characters"
+ msgstr "sintaxis de specs %%include mal formada después de %ld caracteres"
+
+-#: gcc.c:2125
++#: gcc.c:2121
+ #, c-format
+ msgid "could not find specs file %s\n"
+ msgstr "no se puede encontrar el fichero de especificaciones %s\n"
+
+-#: gcc.c:2142 gcc.c:2150 gcc.c:2159 gcc.c:2168
++#: gcc.c:2138 gcc.c:2146 gcc.c:2155 gcc.c:2164
+ #, c-format
+ msgid "specs %%rename syntax malformed after %ld characters"
+ msgstr "sintaxis de specs %%rename mal formada después de %ld caracteres"
+
+-#: gcc.c:2177
++#: gcc.c:2173
+ #, c-format
+ msgid "specs %s spec was not found to be renamed"
+ msgstr "la especificación specs %s no se encontró para ser renombrada"
+
+-#: gcc.c:2184
++#: gcc.c:2180
+ #, c-format
+ msgid "%s: attempt to rename spec '%s' to already defined spec '%s'"
+ msgstr "%s: se intentó renombrar la especificación '%s' a la especificación '%s' que ya estaba definida"
+
+-#: gcc.c:2189
++#: gcc.c:2185
+ #, c-format
+ msgid "rename spec %s to %s\n"
+ msgstr "renombrando la especificación %s a %s\n"
+
+-#: gcc.c:2191
++#: gcc.c:2187
+ #, c-format
+ msgid ""
+ "spec is '%s'\n"
+@@ -801,38 +802,38 @@
+ "la especificacion es '%s'\n"
+ "\n"
+
+-#: gcc.c:2204
++#: gcc.c:2200
+ #, c-format
+ msgid "specs unknown %% command after %ld characters"
+ msgstr "comando specs %% desconocido después de %ld caracteres"
+
+-#: gcc.c:2215 gcc.c:2228
++#: gcc.c:2211 gcc.c:2224
+ #, c-format
+ msgid "specs file malformed after %ld characters"
+ msgstr "fichero specs mal formado después de %ld caracteres"
+
+-#: gcc.c:2281
++#: gcc.c:2277
+ #, c-format
+ msgid "spec file has no spec for linking"
+ msgstr "el fichero de especificación no tiene especificaciones para enlazar"
+
+-#: gcc.c:2609 gcc.c:4751
++#: gcc.c:2605 gcc.c:4745
+ #, c-format
+ msgid "%s\n"
+ msgstr "%s\n"
+
+-#: gcc.c:2809
++#: gcc.c:2805
+ #, c-format
+ msgid "system path '%s' is not absolute"
+ msgstr "la ruta del sistema '%s' no es absoluta"
+
+-#: gcc.c:2872
++#: gcc.c:2868
+ #, c-format
+ msgid "-pipe not supported"
+ msgstr "no se admite -pipe"
+
+ # El código require 'y' o 'Y' como respuesta afirmativa. cfuga
+-#: gcc.c:2934
++#: gcc.c:2930
+ #, c-format
+ msgid ""
+ "\n"
+@@ -841,15 +842,15 @@
+ "\n"
+ "¿Continuar? (y ó n) "
+
+-#: gcc.c:3017
++#: gcc.c:3013
+ msgid "failed to get exit status"
+ msgstr "no se obtuvo el estado de salida"
+
+-#: gcc.c:3023
++#: gcc.c:3019
+ msgid "failed to get process times"
+ msgstr "no se obtuvieron los tiempos de proceso"
+
+-#: gcc.c:3049
++#: gcc.c:3045
+ #, c-format
+ msgid ""
+ "Internal error: %s (program %s)\n"
+@@ -860,77 +861,77 @@
+ "Por favor envíe un reporte completo de bichos.\n"
+ "Vea %s para más instrucciones."
+
+-#: gcc.c:3075
++#: gcc.c:3071
+ #, c-format
+ msgid "# %s %.2f %.2f\n"
+ msgstr "# %s %.2f %.2f\n"
+
+-#: gcc.c:3211
++#: gcc.c:3205
+ #, c-format
+ msgid "Usage: %s [options] file...\n"
+ msgstr "Modo de empleo: %s [opciones] fichero...\n"
+
+-#: gcc.c:3212
++#: gcc.c:3206
+ msgid "Options:\n"
+ msgstr "Opciones:\n"
+
+-#: gcc.c:3214
++#: gcc.c:3208
+ msgid " -pass-exit-codes Exit with highest error code from a phase\n"
+ msgstr " -pass-exit-codes Salir con el código de error más alto de una fase\n"
+
+-#: gcc.c:3215
++#: gcc.c:3209
+ msgid " --help Display this information\n"
+ msgstr " --help Muestra esta información\n"
+
+-#: gcc.c:3216
++#: gcc.c:3210
+ msgid " --target-help Display target specific command line options\n"
+ msgstr " --target-help Muestra opciones de línea de comando específicas del objetivo\n"
+
+-#: gcc.c:3217
++#: gcc.c:3211
+ msgid " --help={target|optimizers|warnings|undocumented|params}[,{[^]joined|[^]separate}]\n"
+ msgstr " --help={target|optimizers|warnings|undocumented|params}[,{[^]joined|[^]separate}]\n"
+
+-#: gcc.c:3218
++#: gcc.c:3212
+ msgid " Display specific types of command line options\n"
+ msgstr " Muestra tipos específicos de opciones de línea de comando\n"
+
+-#: gcc.c:3220
++#: gcc.c:3214
+ msgid " (Use '-v --help' to display command line options of sub-processes)\n"
+ msgstr " (Use '-v --help' para mostrar las opciones de línea de comando de los subprocesos)\n"
+
+-#: gcc.c:3221
++#: gcc.c:3215
+ msgid " -dumpspecs Display all of the built in spec strings\n"
+ msgstr " -dumpspecs Muestra todas las cadenas internas de especificación\n"
+
+-#: gcc.c:3222
++#: gcc.c:3216
+ msgid " -dumpversion Display the version of the compiler\n"
+ msgstr " -dumpversion Muestra la versión del compilador\n"
+
+-#: gcc.c:3223
++#: gcc.c:3217
+ msgid " -dumpmachine Display the compiler's target processor\n"
+ msgstr " -dumpmachine Muestra el procesador objetivo del compilador\n"
+
+-#: gcc.c:3224
++#: gcc.c:3218
+ msgid " -print-search-dirs Display the directories in the compiler's search path\n"
+ msgstr " -print-search-dirs Muestra los directorios en la ruta de búsqueda del compilador\n"
+
+-#: gcc.c:3225
++#: gcc.c:3219
+ msgid " -print-libgcc-file-name Display the name of the compiler's companion library\n"
+ msgstr " -print-libgcc-file-name Muestra el nombre de la biblioteca que acompaña al compilador\n"
+
+-#: gcc.c:3226
++#: gcc.c:3220
+ msgid " -print-file-name=<lib> Display the full path to library <lib>\n"
+ msgstr " -print-file-name=<bib> Muestra la ruta completa a la biblioteca <bib>\n"
+
+-#: gcc.c:3227
++#: gcc.c:3221
+ msgid " -print-prog-name=<prog> Display the full path to compiler component <prog>\n"
+ msgstr " -print-prog-name=<prog> Muestra la ruta completa del programa componente del compilador <prog>\n"
+
+-#: gcc.c:3228
++#: gcc.c:3222
+ msgid " -print-multi-directory Display the root directory for versions of libgcc\n"
+ msgstr " -print-multi-directory Muestra el directorio raíz para las versiones de libgcc\n"
+
+-#: gcc.c:3229
++#: gcc.c:3223
+ msgid ""
+ " -print-multi-lib Display the mapping between command line options and\n"
+ " multiple library search directories\n"
+@@ -938,63 +939,63 @@
+ " -print-multi-lib Muestra el mapeo entre las opciones de línea de comando\n"
+ " y los múltiples directorios de búsqueda de bibliotecas\n"
+
+-#: gcc.c:3232
++#: gcc.c:3226
+ msgid " -print-multi-os-directory Display the relative path to OS libraries\n"
+ msgstr " -print-multi-os-directory Muestra la ruta relativa para las bibliotecas del SO\n"
+
+-#: gcc.c:3233
++#: gcc.c:3227
+ msgid " -print-sysroot-headers-suffix Display the sysroot suffix used to find headers\n"
+ msgstr " -print-sysroot-headers-suffix Muestra el sufijo sysroot que se usa para buscar encabezados\n"
+
+-#: gcc.c:3234
++#: gcc.c:3228
+ msgid " -Wa,<options> Pass comma-separated <options> on to the assembler\n"
+ msgstr " -Wa,<opciones> Pasa <opciones> separadas por coma al ensamblador\n"
+
+-#: gcc.c:3235
++#: gcc.c:3229
+ msgid " -Wp,<options> Pass comma-separated <options> on to the preprocessor\n"
+ msgstr " -Wp,<opciones> Pasa <opciones> separadas por coma al preprocesador\n"
+
+-#: gcc.c:3236
++#: gcc.c:3230
+ msgid " -Wl,<options> Pass comma-separated <options> on to the linker\n"
+ msgstr " -Wl,<opciones> Pasa <opciones> separadas por coma al enlazador\n"
+
+-#: gcc.c:3237
++#: gcc.c:3231
+ msgid " -Xassembler <arg> Pass <arg> on to the assembler\n"
+ msgstr " -Xassembler <argumento> Pasa el <argumento> al ensamblador\n"
+
+-#: gcc.c:3238
++#: gcc.c:3232
+ msgid " -Xpreprocessor <arg> Pass <arg> on to the preprocessor\n"
+ msgstr " -Xpreprocessor <argumento> Pasa el <argumento> al preprocesador\n"
+
+-#: gcc.c:3239
++#: gcc.c:3233
+ msgid " -Xlinker <arg> Pass <arg> on to the linker\n"
+ msgstr " -Xlinker <argumento> Pasa el <argumento> al enlazador\n"
+
+-#: gcc.c:3240
++#: gcc.c:3234
+ msgid " -combine Pass multiple source files to compiler at once\n"
+ msgstr " -combine Pasa múltiples ficheros fuente al compilador al mismo tiempo\n"
+
+-#: gcc.c:3241
++#: gcc.c:3235
+ msgid " -save-temps Do not delete intermediate files\n"
+ msgstr " -save-temps No borra los ficheros intermedios\n"
+
+-#: gcc.c:3242
++#: gcc.c:3236
+ msgid " -pipe Use pipes rather than intermediate files\n"
+ msgstr " -pipe Usa tuberías en lugar de ficheros intermedios\n"
+
+-#: gcc.c:3243
++#: gcc.c:3237
+ msgid " -time Time the execution of each subprocess\n"
+ msgstr " -time Obtiene el tiempo de ejecución de cada subproceso\n"
+
+-#: gcc.c:3244
++#: gcc.c:3238
+ msgid " -specs=<file> Override built-in specs with the contents of <file>\n"
+ msgstr " -specs=<fichero> Sobrepone las especificaciones internas con el contenido del <fichero>\n"
+
+-#: gcc.c:3245
++#: gcc.c:3239
+ msgid " -std=<standard> Assume that the input sources are for <standard>\n"
+ msgstr " -std=<estándar> Asume que los ficheros de entrada son para el <estándar>\n"
+
+-#: gcc.c:3246
++#: gcc.c:3240
+ msgid ""
+ " --sysroot=<directory> Use <directory> as the root directory for headers\n"
+ " and libraries\n"
+@@ -1002,43 +1003,43 @@
+ " --sysroot=<directorio> Usa el <directorio> como directorio raíz para\n"
+ " los encabezados y bibliotecas\n"
+
+-#: gcc.c:3249
++#: gcc.c:3243
+ msgid " -B <directory> Add <directory> to the compiler's search paths\n"
+ msgstr " -B <directorio> Agrega el <directorio> a las rutas de búsqueda del compilador\n"
+
+-#: gcc.c:3250
++#: gcc.c:3244
+ msgid " -b <machine> Run gcc for target <machine>, if installed\n"
+ msgstr " -b <máquina> Ejecuta gcc para el objetivo <máquina>, si se instaló\n"
+
+-#: gcc.c:3251
++#: gcc.c:3245
+ msgid " -V <version> Run gcc version number <version>, if installed\n"
+ msgstr " -V <versión> Ejecuta el gcc con número de versión <versión>, si se instaló\n"
+
+-#: gcc.c:3252
++#: gcc.c:3246
+ msgid " -v Display the programs invoked by the compiler\n"
+ msgstr " -v Muestra los programas invocados por el compilador\n"
+
+-#: gcc.c:3253
++#: gcc.c:3247
+ msgid " -### Like -v but options quoted and commands not executed\n"
+ msgstr " -### Como -v pero no se ejecutan las opciones entre comillas y los comandos\n"
+
+-#: gcc.c:3254
++#: gcc.c:3248
+ msgid " -E Preprocess only; do not compile, assemble or link\n"
+ msgstr " -E Solamente preprocesa; no compila, ensambla o enlaza\n"
+
+-#: gcc.c:3255
++#: gcc.c:3249
+ msgid " -S Compile only; do not assemble or link\n"
+ msgstr " -S Solamente compila; no ensambla o enlaza\n"
+
+-#: gcc.c:3256
++#: gcc.c:3250
+ msgid " -c Compile and assemble, but do not link\n"
+ msgstr " -c Compila y ensambla, pero no enlaza\n"
+
+-#: gcc.c:3257
++#: gcc.c:3251
+ msgid " -o <file> Place the output into <file>\n"
+ msgstr " -o <fichero> Coloca la salida en el <fichero>\n"
+
+-#: gcc.c:3258
++#: gcc.c:3252
+ msgid ""
+ " -x <language> Specify the language of the following input files\n"
+ " Permissible languages include: c c++ assembler none\n"
+@@ -1050,7 +1051,7 @@
+ " 'none' significa revertir a la conducta habitual de\n"
+ " adivinar el lenguaje basado en la extensión del fichero\n"
+
+-#: gcc.c:3265
++#: gcc.c:3259
+ #, c-format
+ msgid ""
+ "\n"
+@@ -1063,27 +1064,27 @@
+ " automáticamente a los varios subprocesos invocados por %s. Para pasar\n"
+ " otras opciones a estos procesos se deben usar las opciones -W<letra>.\n"
+
+-#: gcc.c:3389
++#: gcc.c:3383
+ #, c-format
+ msgid "'-%c' option must have argument"
+ msgstr "la opción '-%c' debe tener argumentos"
+
+-#: gcc.c:3411
++#: gcc.c:3405
+ #, c-format
+ msgid "couldn't run '%s': %s"
+ msgstr "no se puede ejecutar '%s': %s"
+
+ #. translate_options () has turned --version into -fversion.
+-#: gcc.c:3612
++#: gcc.c:3606
+ #, c-format
+ msgid "%s %s%s\n"
+ msgstr "%s %s%s\n"
+
+-#: gcc.c:3615 gcov.c:426 fortran/gfortranspec.c:380 java/jcf-dump.c:1168
++#: gcc.c:3609 gcov.c:427 fortran/gfortranspec.c:380 java/jcf-dump.c:1168
+ msgid "(C)"
+ msgstr "(C)"
+
+-#: gcc.c:3616 java/jcf-dump.c:1169
++#: gcc.c:3610 java/jcf-dump.c:1169
+ #, c-format
+ msgid ""
+ "This is free software; see the source for copying conditions. There is NO\n"
+@@ -1095,160 +1096,160 @@
+ "PARTICULAR\n"
+ "\n"
+
+-#: gcc.c:3728
++#: gcc.c:3722
+ #, c-format
+ msgid "argument to '-Xlinker' is missing"
+ msgstr "falta el argumento para '-Xlinker'"
+
+-#: gcc.c:3736
++#: gcc.c:3730
+ #, c-format
+ msgid "argument to '-Xpreprocessor' is missing"
+ msgstr "falta el argumento para '-Xpreprocessor'"
+
+-#: gcc.c:3743
++#: gcc.c:3737
+ #, c-format
+ msgid "argument to '-Xassembler' is missing"
+ msgstr "falta el argumento para '-Xassembler'"
+
+-#: gcc.c:3750
++#: gcc.c:3744
+ #, c-format
+ msgid "argument to '-l' is missing"
+ msgstr "falta el argumento para '-l'"
+
+-#: gcc.c:3771
++#: gcc.c:3765
+ #, c-format
+ msgid "argument to '-specs' is missing"
+ msgstr "falta el argumento para '-specs'"
+
+-#: gcc.c:3785
++#: gcc.c:3779
+ #, c-format
+ msgid "argument to '-specs=' is missing"
+ msgstr "falta el argumento para '-specs='"
+
+-#: gcc.c:3826
++#: gcc.c:3820
+ #, c-format
+ msgid "'-%c' must come at the start of the command line"
+ msgstr "'-%c' debe estar al inicio de la línea de comandos"
+
+-#: gcc.c:3835
++#: gcc.c:3829
+ #, c-format
+ msgid "argument to '-B' is missing"
+ msgstr "falta el argumento para '-B'"
+
+-#: gcc.c:4185
++#: gcc.c:4179
+ #, c-format
+ msgid "argument to '-x' is missing"
+ msgstr "falta el argumento para '-x'"
+
+-#: gcc.c:4213
++#: gcc.c:4207
+ #, c-format
+ msgid "argument to '-%s' is missing"
+ msgstr "falta el argumento para '-%s'"
+
+-#: gcc.c:4541
++#: gcc.c:4535
+ #, c-format
+ msgid "switch '%s' does not start with '-'"
+ msgstr "la opción '%s' no inicia con '-'"
+
+-#: gcc.c:4685
++#: gcc.c:4679
+ #, c-format
+ msgid "spec '%s' invalid"
+ msgstr "la especificación '%s' es inválida"
+
+-#: gcc.c:4824
++#: gcc.c:4818
+ #, c-format
+ msgid "spec '%s' has invalid '%%0%c'"
+ msgstr "la especificación '%s' tiene un '%%0%c' inválido"
+
+-#: gcc.c:5053
++#: gcc.c:5047
+ #, c-format
+ msgid "could not open temporary response file %s"
+ msgstr "no se puede abrir el fichero de respuesta temporal %s"
+
+-#: gcc.c:5059
++#: gcc.c:5053
+ #, c-format
+ msgid "could not write to temporary response file %s"
+ msgstr "no se puede escribir en el fichero de respuesta temporal %s"
+
+-#: gcc.c:5065
++#: gcc.c:5059
+ #, c-format
+ msgid "could not close temporary response file %s"
+ msgstr "no se puede cerrar el fichero de respuesta temporal %s"
+
+-#: gcc.c:5099
++#: gcc.c:5093
+ #, c-format
+ msgid "spec '%s' has invalid '%%W%c"
+ msgstr "la especificación '%s' tiene un '%%W%c' inválido"
+
+-#: gcc.c:5119
++#: gcc.c:5113
+ #, c-format
+ msgid "spec '%s' has invalid '%%x%c'"
+ msgstr "la especificación '%s' tiene un '%%x%c' inválido"
+
+-#: gcc.c:5341
++#: gcc.c:5335
+ #, c-format
+ msgid "Processing spec %c%s%c, which is '%s'\n"
+ msgstr "Procesando la especificación %c%s%c, la cual es '%s'\n"
+
+-#: gcc.c:5465
++#: gcc.c:5459
+ #, c-format
+ msgid "unknown spec function '%s'"
+ msgstr "función de especificación '%s' desconocida"
+
+-#: gcc.c:5484
++#: gcc.c:5478
+ #, c-format
+ msgid "error in args to spec function '%s'"
+ msgstr "error en los argumentos para la función de especificación '%s'"
+
+-#: gcc.c:5532
++#: gcc.c:5526
+ #, c-format
+ msgid "malformed spec function name"
+ msgstr "nombre de la función de especificación malformado"
+
+ #. )
+-#: gcc.c:5535
++#: gcc.c:5529
+ #, c-format
+ msgid "no arguments for spec function"
+ msgstr "no hay argumentos para la función de especificación"
+
+-#: gcc.c:5554
++#: gcc.c:5548
+ #, c-format
+ msgid "malformed spec function arguments"
+ msgstr "argumentos de la función de especificación malformados"
+
+-#: gcc.c:5800
++#: gcc.c:5794
+ #, c-format
+ msgid "braced spec '%s' is invalid at '%c'"
+ msgstr "la especificación entre llaves '%s' es inválida en '%c'"
+
+-#: gcc.c:5888
++#: gcc.c:5882
+ #, c-format
+ msgid "braced spec body '%s' is invalid"
+ msgstr "el cuerpo de la especificación entre llaves '%s' es inválido"
+
+-#: gcc.c:6421
++#: gcc.c:6420
+ #, c-format
+ msgid "install: %s%s\n"
+ msgstr "instalar: %s%s\n"
+
+-#: gcc.c:6424
++#: gcc.c:6423
+ #, c-format
+ msgid "programs: %s\n"
+ msgstr "programas: %s\n"
+
+-#: gcc.c:6426
++#: gcc.c:6425
+ #, c-format
+ msgid "libraries: %s\n"
+ msgstr "bibliotecas: %s\n"
+
+ #. The error status indicates that only one set of fixed
+ #. headers should be built.
+-#: gcc.c:6480
++#: gcc.c:6479
+ #, c-format
+ msgid "not configured with sysroot headers suffix"
+ msgstr "no se configuró con el sufijo de encabezados sysroot"
+
+-#: gcc.c:6489
++#: gcc.c:6488
+ #, c-format
+ msgid ""
+ "\n"
+@@ -1257,47 +1258,47 @@
+ "\n"
+ "Para instrucciones de reporte de bichos, por favor vea:\n"
+
+-#: gcc.c:6505
++#: gcc.c:6504
+ #, c-format
+ msgid "Target: %s\n"
+ msgstr "Objetivo: %s\n"
+
+-#: gcc.c:6506
++#: gcc.c:6505
+ #, c-format
+ msgid "Configured with: %s\n"
+ msgstr "Configurado con: %s\n"
+
+-#: gcc.c:6520
++#: gcc.c:6519
+ #, c-format
+ msgid "Thread model: %s\n"
+ msgstr "Modelo de hilos: %s\n"
+
+-#: gcc.c:6531
++#: gcc.c:6530
+ #, c-format
+ msgid "gcc version %s %s\n"
+ msgstr "gcc versión %s %s\n"
+
+-#: gcc.c:6533
++#: gcc.c:6532
+ #, c-format
+ msgid "gcc driver version %s %sexecuting gcc version %s\n"
+ msgstr "controlador gcc versión %s %sejecutando gcc version %s\n"
+
+-#: gcc.c:6541
++#: gcc.c:6540
+ #, c-format
+ msgid "no input files"
+ msgstr "no hay ficheros de entrada"
+
+-#: gcc.c:6590
++#: gcc.c:6589
+ #, c-format
+ msgid "cannot specify -o with -c or -S with multiple files"
+ msgstr "no se puede especificar -o con -c ó -S y con múltiples ficheros"
+
+-#: gcc.c:6624
++#: gcc.c:6623
+ #, c-format
+ msgid "spec '%s' is invalid"
+ msgstr "la especificación '%s' es inválida"
+
+-#: gcc.c:6760
++#: gcc.c:6759
+ #, c-format
+ msgid ""
+ "\n"
+@@ -1310,59 +1311,59 @@
+ "======================\n"
+ "\n"
+
+-#: gcc.c:6761
++#: gcc.c:6760
+ #, c-format
+ msgid ""
+ "Use \"-Wl,OPTION\" to pass \"OPTION\" to the linker.\n"
+ "\n"
+ msgstr "Utilice \"-Wl,OPCIÓN\" para pasar la \"OPCIÓN\" al enlazador.\n"
+
+-#: gcc.c:7112
++#: gcc.c:7111
+ #, c-format
+ msgid "multilib spec '%s' is invalid"
+ msgstr "la especificación multilib '%s' es inválida"
+
+-#: gcc.c:7303
++#: gcc.c:7302
+ #, c-format
+ msgid "multilib exclusions '%s' is invalid"
+ msgstr "las exclusiones multilib '%s' son inválidas"
+
+-#: gcc.c:7361 gcc.c:7502
++#: gcc.c:7360 gcc.c:7501
+ #, c-format
+ msgid "multilib select '%s' is invalid"
+ msgstr "la selección multilib '%s' es inválida"
+
+-#: gcc.c:7540
++#: gcc.c:7539
+ #, c-format
+ msgid "multilib exclusion '%s' is invalid"
+ msgstr "la exclusión multilib '%s' es inválida"
+
+-#: gcc.c:7746
++#: gcc.c:7745
+ #, c-format
+ msgid "environment variable \"%s\" not defined"
+ msgstr "no se definió la variable de ambiente \"%s\""
+
+-#: gcc.c:7837 gcc.c:7842
++#: gcc.c:7836 gcc.c:7841
+ #, c-format
+ msgid "invalid version number `%s'"
+ msgstr "número de versión `%s' inválido"
+
+-#: gcc.c:7885
++#: gcc.c:7884
+ #, c-format
+ msgid "too few arguments to %%:version-compare"
+ msgstr "faltan argumentos para %%:version-compare"
+
+-#: gcc.c:7891
++#: gcc.c:7890
+ #, c-format
+ msgid "too many arguments to %%:version-compare"
+ msgstr "demasiados argumentos para %%:version-compare"
+
+-#: gcc.c:7932
++#: gcc.c:7931
+ #, c-format
+ msgid "unknown operator '%s' in %%:version-compare"
+ msgstr "operador '%s' desconocido en %%:version-compare"
+
+-#: gcc.c:7966
++#: gcc.c:7965
+ #, c-format
+ msgid ""
+ "Assembler options\n"
+@@ -1373,7 +1374,7 @@
+ "=======================\n"
+ "\n"
+
+-#: gcc.c:7967
++#: gcc.c:7966
+ #, c-format
+ msgid ""
+ "Use \"-Wa,OPTION\" to pass \"OPTION\" to the assembler.\n"
+@@ -1382,7 +1383,7 @@
+ "Utilice \"-Wa,OPCIÓN\" para pasar la \"OPCIÓN\" al ensamblador.\n"
+ "\n"
+
+-#: gcov.c:399
++#: gcov.c:400
+ #, c-format
+ msgid ""
+ "Usage: gcov [OPTION]... SOURCEFILE...\n"
+@@ -1391,7 +1392,7 @@
+ "Modo de empleo: gcov [OPCIÓN]... FICHERO-FUENTE...\n"
+ "\n"
+
+-#: gcov.c:400
++#: gcov.c:401
+ #, c-format
+ msgid ""
+ "Print code coverage information.\n"
+@@ -1400,27 +1401,27 @@
+ "Muestra información de cobertura de código.\n"
+ "\n"
+
+-#: gcov.c:401
++#: gcov.c:402
+ #, c-format
+ msgid " -h, --help Print this help, then exit\n"
+ msgstr " -h, --help Muestra esta información, y finaliza\n"
+
+-#: gcov.c:402
++#: gcov.c:403
+ #, c-format
+ msgid " -v, --version Print version number, then exit\n"
+ msgstr " -v, --version Muestra el número de versión, y finaliza\n"
+
+-#: gcov.c:403
++#: gcov.c:404
+ #, c-format
+ msgid " -a, --all-blocks Show information for every basic block\n"
+ msgstr " -a, --all-blocks Muestra información por cada bloque básico\n"
+
+-#: gcov.c:404
++#: gcov.c:405
+ #, c-format
+ msgid " -b, --branch-probabilities Include branch probabilities in output\n"
+ msgstr " -b, --branch-probabilities Incluye las probabilidades de ramificación en la salida\n"
+
+-#: gcov.c:405
++#: gcov.c:406
+ #, c-format
+ msgid ""
+ " -c, --branch-counts Given counts of branches taken\n"
+@@ -1429,12 +1430,12 @@
+ " -c, --branch-counts Se muestra el número de ramificaciones\n"
+ " en lugar de los porcentajes\n"
+
+-#: gcov.c:407
++#: gcov.c:408
+ #, c-format
+ msgid " -n, --no-output Do not create an output file\n"
+ msgstr " -n, --no-output No crea un fichero de salida\n"
+
+-#: gcov.c:408
++#: gcov.c:409
+ #, c-format
+ msgid ""
+ " -l, --long-file-names Use long output file names for included\n"
+@@ -1443,27 +1444,27 @@
+ " -l, --long-file-names Usa nombres largos de ficheros para los\n"
+ " ficheros fuentes incluidos\n"
+
+-#: gcov.c:410
++#: gcov.c:411
+ #, c-format
+ msgid " -f, --function-summaries Output summaries for each function\n"
+ msgstr " -f, --function-summaries Muestra sumarios para cada función\n"
+
+-#: gcov.c:411
++#: gcov.c:412
+ #, c-format
+ msgid " -o, --object-directory DIR|FILE Search for object files in DIR or called FILE\n"
+ msgstr " -o, --object-directory DIR|FICH Busca ficheros objeto en el DIRectorio o en el FICHero nombrado\n"
+
+-#: gcov.c:412
++#: gcov.c:413
+ #, c-format
+ msgid " -p, --preserve-paths Preserve all pathname components\n"
+ msgstr " -p, --preserve-paths Preserva todos los nombres de ruta de los componentes\n"
+
+-#: gcov.c:413
++#: gcov.c:414
+ #, c-format
+ msgid " -u, --unconditional-branches Show unconditional branch counts too\n"
+ msgstr " -u, --unconditional-branches Muestra cuentas de ramificaciones incondicionales también\n"
+
+-#: gcov.c:414
++#: gcov.c:415
+ #, c-format
+ msgid ""
+ "\n"
+@@ -1474,12 +1475,12 @@
+ "Para instrucciones de reporte de bichos, por favor vea:\n"
+ "%s.\n"
+
+-#: gcov.c:424
++#: gcov.c:425
+ #, c-format
+ msgid "gcov %s%s\n"
+ msgstr "gcov %s%s\n"
+
+-#: gcov.c:428
++#: gcov.c:429
+ #, c-format
+ msgid ""
+ "This is free software; see the source for copying conditions.\n"
+@@ -1492,206 +1493,206 @@
+ "IDONEIDAD PARA UN PROPÓSITO EN PARTICULAR.\n"
+ "\n"
+
+-#: gcov.c:524
++#: gcov.c:525
+ #, c-format
+ msgid "%s:no functions found\n"
+ msgstr "%s:no se encontraron funciones\n"
+
+-#: gcov.c:556 gcov.c:584 fortran/dump-parse-tree.c:63
++#: gcov.c:557 gcov.c:585 fortran/dump-parse-tree.c:63
+ #, c-format
+ msgid "\n"
+ msgstr "\n"
+
+-#: gcov.c:571
++#: gcov.c:572
+ #, c-format
+ msgid "%s:creating '%s'\n"
+ msgstr "%s:creando '%s'\n"
+
+-#: gcov.c:575
++#: gcov.c:576
+ #, c-format
+ msgid "%s:error writing output file '%s'\n"
+ msgstr "%s:error al escribir el fichero de salida '%s'\n"
+
+-#: gcov.c:580
++#: gcov.c:581
+ #, c-format
+ msgid "%s:could not open output file '%s'\n"
+ msgstr "%s:no se puede abrir el fichero de salida '%s'\n"
+
+-#: gcov.c:729
++#: gcov.c:730
+ #, c-format
+ msgid "%s:source file is newer than graph file '%s'\n"
+ msgstr "%s:el fichero fuente es más nuevo que el fichero de grafo '%s'\n"
+
+-#: gcov.c:734
++#: gcov.c:735
+ #, c-format
+ msgid "(the message is only displayed one per source file)\n"
+ msgstr "(el mensaje sólo se muestra una vez por cada fichero de código)\n"
+
+-#: gcov.c:758
++#: gcov.c:759
+ #, c-format
+ msgid "%s:cannot open graph file\n"
+ msgstr "%s:no se puede abrir el fichero de grafo\n"
+
+-#: gcov.c:764
++#: gcov.c:765
+ #, c-format
+ msgid "%s:not a gcov graph file\n"
+ msgstr "%s:no es un fichero de grafo gcov\n"
+
+-#: gcov.c:777
++#: gcov.c:778
+ #, c-format
+ msgid "%s:version '%.4s', prefer '%.4s'\n"
+ msgstr "%s:versión '%.4s' se prefiere '%.4s'\n"
+
+-#: gcov.c:829
++#: gcov.c:830
+ #, c-format
+ msgid "%s:already seen blocks for '%s'\n"
+ msgstr "%s:ya se vieron bloques para '%s'\n"
+
+-#: gcov.c:947
++#: gcov.c:948
+ #, c-format
+ msgid "%s:corrupted\n"
+ msgstr "%s:corrupto\n"
+
+-#: gcov.c:1023
++#: gcov.c:1024
+ #, c-format
+ msgid "%s:cannot open data file, assuming not executed\n"
+ msgstr "%s:no se puede abrir el fichero de datos, se asume que no se ejecutó\n"
+
+-#: gcov.c:1030
++#: gcov.c:1031
+ #, c-format
+ msgid "%s:not a gcov data file\n"
+ msgstr "%s:no es un fichero de datos gcov\n"
+
+-#: gcov.c:1043
++#: gcov.c:1044
+ #, c-format
+ msgid "%s:version '%.4s', prefer version '%.4s'\n"
+ msgstr "%s:versión '%.4s', se prefiere la versión '%.4s'\n"
+
+-#: gcov.c:1049
++#: gcov.c:1050
+ #, c-format
+ msgid "%s:stamp mismatch with graph file\n"
+ msgstr "%s:no coincide la marca con el fichero de grafo\n"
+
+-#: gcov.c:1078
++#: gcov.c:1079
+ #, c-format
+ msgid "%s:unknown function '%u'\n"
+ msgstr "%s:función '%u' desconocida\n"
+
+-#: gcov.c:1091
++#: gcov.c:1092
+ #, c-format
+ msgid "%s:profile mismatch for '%s'\n"
+ msgstr "%s:no coincide el perfil para '%s'\n"
+
+-#: gcov.c:1110
++#: gcov.c:1111
+ #, c-format
+ msgid "%s:overflowed\n"
+ msgstr "%s:desbordado\n"
+
+-#: gcov.c:1134
++#: gcov.c:1135
+ #, c-format
+ msgid "%s:'%s' lacks entry and/or exit blocks\n"
+ msgstr "%s:'%s' carece de bloques de entrada y/o salida\n"
+
+-#: gcov.c:1139
++#: gcov.c:1140
+ #, c-format
+ msgid "%s:'%s' has arcs to entry block\n"
+ msgstr "%s:'%s' tiene arcos hacia el bloque de entrada\n"
+
+-#: gcov.c:1147
++#: gcov.c:1148
+ #, c-format
+ msgid "%s:'%s' has arcs from exit block\n"
+ msgstr "%s:'%s' tiene arcos del bloque de salida\n"
+
+-#: gcov.c:1355
++#: gcov.c:1356
+ #, c-format
+ msgid "%s:graph is unsolvable for '%s'\n"
+ msgstr "%s:no se puede resolver el grafo para '%s'\n"
+
+-#: gcov.c:1435
++#: gcov.c:1436
+ #, c-format
+ msgid "%s '%s'\n"
+ msgstr "%s '%s'\n"
+
+-#: gcov.c:1438
++#: gcov.c:1439
+ #, c-format
+ msgid "Lines executed:%s of %d\n"
+ msgstr "Líneas ejecutadas:%s de %d\n"
+
+-#: gcov.c:1442
++#: gcov.c:1443
+ #, c-format
+ msgid "No executable lines\n"
+ msgstr "No hay líneas de código ejecutables\n"
+
+-#: gcov.c:1448
++#: gcov.c:1449
+ #, c-format
+ msgid "Branches executed:%s of %d\n"
+ msgstr "Ramificaciones ejecutadas:%s de %d\n"
+
+-#: gcov.c:1452
++#: gcov.c:1453
+ #, c-format
+ msgid "Taken at least once:%s of %d\n"
+ msgstr "Se visitaron al menos una vez:%s de %d\n"
+
+-#: gcov.c:1458
++#: gcov.c:1459
+ #, c-format
+ msgid "No branches\n"
+ msgstr "No hay ramificaciones\n"
+
+-#: gcov.c:1460
++#: gcov.c:1461
+ #, c-format
+ msgid "Calls executed:%s of %d\n"
+ msgstr "Llamadas ejecutadas:%s de %d\n"
+
+-#: gcov.c:1464
++#: gcov.c:1465
+ #, c-format
+ msgid "No calls\n"
+ msgstr "No hay llamadas\n"
+
+-#: gcov.c:1611
++#: gcov.c:1612
+ #, c-format
+ msgid "%s:no lines for '%s'\n"
+ msgstr "%s:no hay líneas para '%s'\n"
+
+-#: gcov.c:1806
++#: gcov.c:1807
+ #, c-format
+ msgid "call %2d returned %s\n"
+ msgstr "la llamada %2d devuelve %s\n"
+
+-#: gcov.c:1811
++#: gcov.c:1812
+ #, c-format
+ msgid "call %2d never executed\n"
+ msgstr "la llamada %2d nunca se ejecuta\n"
+
+-#: gcov.c:1816
++#: gcov.c:1817
+ #, c-format
+ msgid "branch %2d taken %s%s\n"
+ msgstr "ramificación %2d tomada %s%s\n"
+
+-#: gcov.c:1820
++#: gcov.c:1821
+ #, c-format
+ msgid "branch %2d never executed\n"
+ msgstr "la ramificacion %2d nunca se ejecuta\n"
+
+-#: gcov.c:1825
++#: gcov.c:1826
+ #, c-format
+ msgid "unconditional %2d taken %s\n"
+ msgstr "el incondicional %2d tomado %s\n"
+
+-#: gcov.c:1828
++#: gcov.c:1829
+ #, c-format
+ msgid "unconditional %2d never executed\n"
+ msgstr "el incondicional %2d nunca se ejecuta\n"
+
+-#: gcov.c:1864
++#: gcov.c:1865
+ #, c-format
+ msgid "%s:cannot open source file\n"
+ msgstr "%s:no se puede abrir el fichero fuente\n"
+
+-#: gcse.c:685
++#: gcse.c:679
+ msgid "GCSE disabled"
+ msgstr "GCSE desactivado"
+
+-#: gcse.c:6600
++#: gcse.c:6584
+ msgid "jump bypassing disabled"
+ msgstr "omisión del salto desactivado"
+
+@@ -1774,82 +1775,82 @@
+ msgid " inlined from %qs"
+ msgstr " incluído en línea de %qs"
+
+-#: loop-iv.c:2805 tree-ssa-loop-niter.c:1818
++#: loop-iv.c:2806 tree-ssa-loop-niter.c:1818
+ msgid "assuming that the loop is not infinite"
+ msgstr "se asume que el ciclo no es infinito"
+
+-#: loop-iv.c:2806 tree-ssa-loop-niter.c:1819
++#: loop-iv.c:2807 tree-ssa-loop-niter.c:1819
+ msgid "cannot optimize possibly infinite loops"
+ msgstr "no se pueden optimizar los posibles ciclos infinitos"
+
+-#: loop-iv.c:2814 tree-ssa-loop-niter.c:1823
++#: loop-iv.c:2815 tree-ssa-loop-niter.c:1823
+ msgid "assuming that the loop counter does not overflow"
+ msgstr "se asume que el contador de ciclos no se desborda"
+
+-#: loop-iv.c:2815 tree-ssa-loop-niter.c:1824
++#: loop-iv.c:2816 tree-ssa-loop-niter.c:1824
+ msgid "cannot optimize loop, the loop counter may overflow"
+ msgstr "no se puede optimizar el ciclo, el contador de ciclo se puede desbordar"
+
+ #. What to print when a switch has no documentation.
+-#: opts.c:348
++#: opts.c:340
+ msgid "This switch lacks documentation"
+ msgstr "Esta opción carece de documentación"
+
+-#: opts.c:1159
++#: opts.c:1161
+ msgid "[enabled]"
+ msgstr "[activado]"
+
+-#: opts.c:1159
++#: opts.c:1161
+ msgid "[disabled]"
+ msgstr "[desactivado]"
+
+-#: opts.c:1170
++#: opts.c:1172
+ #, c-format
+ msgid " No options with the desired characteristics were found\n"
+ msgstr " No se encontraron opciones con las características deseadas\n"
+
+-#: opts.c:1172
++#: opts.c:1174
+ #, 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.c:1226
++#: opts.c:1228
+ msgid "The following options are target specific"
+ msgstr "Las siguientes opciones son específicas del objetivo"
+
+-#: opts.c:1229
++#: opts.c:1231
+ msgid "The following options control compiler warning messages"
+ msgstr "Las siguientes opciones controlan los mensajes de aviso del compilador"
+
+-#: opts.c:1232
++#: opts.c:1234
+ msgid "The following options control optimizations"
+ msgstr "Las siguientes opciones controlan las optimizaciones"
+
+-#: opts.c:1235 opts.c:1273
++#: opts.c:1237 opts.c:1275
+ msgid "The following options are language-independent"
+ msgstr "Las siguientes opciones son independientes del lenguaje"
+
+-#: opts.c:1238
++#: opts.c:1240
+ msgid "The --param option recognizes the following as parameters"
+ msgstr "La opción --param reconoce los parámetros a continuación"
+
+-#: opts.c:1245
++#: opts.c:1247
+ msgid "The following options are specific to the language "
+ msgstr "Las siguientes opciones son específicas del lenguaje "
+
+-#: opts.c:1249
++#: opts.c:1251
+ msgid "The following options are supported by the language "
+ msgstr "Las siguientes opciones se admiten en el lenguaje "
+
+-#: opts.c:1260
++#: opts.c:1262
+ msgid "The following options are not documented"
+ msgstr "Las siguientes opciones no están documentadas"
+
+-#: opts.c:1271
++#: opts.c:1273
+ msgid "The following options are language-related"
+ msgstr "Las siguientes opciones son relacionadas al lenguaje"
+
+-#: opts.c:1403
++#: opts.c:1405
+ #, c-format
+ msgid "warning: unrecognized argument to --help= switch: %.*s\n"
+ msgstr "aviso: no se reconoce el argumento para la opción --help=: %.*s\n"
+@@ -2166,7 +2167,7 @@
+ msgid "%s: input file names must have .c suffixes: %s\n"
+ msgstr "%s: los nombres de fichero de entrada deben tener sufijos .c: %s\n"
+
+-#: reload.c:3734
++#: reload.c:3744
+ msgid "unable to generate reloads for:"
+ msgstr "no se pueden generar recargas para:"
+
+@@ -2270,40 +2271,40 @@
+
+ #: toplev.c:1188
+ #, c-format
+-msgid "warning: %s header version %s differs from library version %s.\n"
+-msgstr "aviso: el encabezado %s versión %s difiere de la versión de la biblioteca %s.\n"
++msgid "%s%swarning: %s header version %s differs from library version %s.\n"
++msgstr "%s%saviso: el encabezado %s versión %s difiere de la versión de la biblioteca %s.\n"
+
+ #: toplev.c:1190
+ #, c-format
+ msgid "%s%sGGC heuristics: --param ggc-min-expand=%d --param ggc-min-heapsize=%d\n"
+ msgstr "%s%sGGC heurísticas: --param ggc-min-expand=%d --param ggc-min-heapsize=%d\n"
+
+-#: toplev.c:1340
++#: toplev.c:1342
+ msgid "options passed: "
+ msgstr "opciones pasadas: "
+
+-#: toplev.c:1374
++#: toplev.c:1376
+ msgid "options enabled: "
+ msgstr "opciones activadas: "
+
+-#: toplev.c:1509
++#: toplev.c:1511
+ #, c-format
+ msgid "created and used with differing settings of '%s'"
+ msgstr "creado y usado con diferentes opciones de '%s'"
+
+-#: toplev.c:1511
++#: toplev.c:1513
+ msgid "out of memory"
+ msgstr "memoria agotada"
+
+-#: toplev.c:1526
++#: toplev.c:1528
+ msgid "created and used with different settings of -fpic"
+ msgstr "creado y usado con diferentes opciones de -fpic"
+
+-#: toplev.c:1528
++#: toplev.c:1530
+ msgid "created and used with different settings of -fpie"
+ msgstr "creado y usado con diferentes opciones de -fpie"
+
+-#: tree-inline.c:2571
++#: tree-inline.c:2657
+ msgid "originally indirect function call not considered for inlining"
+ msgstr "originalmente la llamada indirecta a función no se considera para la inclusión en línea"
+
+@@ -2361,7 +2362,7 @@
+ msgstr "La tasa de intervalo entre los campos instanciados y el tamaño total de la estructura"
+
+ #: params.def:93
+-msgid "The threshold ratio between current and hotest structure counts"
++msgid "The threshold ratio between current and hottest structure counts"
+ msgstr "La tasa de intervalo entre las cuentas de estructura actual y más caliente"
+
+ #: params.def:110
+@@ -2754,114 +2755,122 @@
+ msgid "Maximum length of partial antic set when performing tree pre optimization"
+ msgstr "Longitud máxima del conjunto antic parcial al realizr pre optimización de árbol"
+
+-#: config/alpha/alpha.c:5015
++#: params.def:723
++msgid "Maximum size of a SCC before SCCVN stops processing a function"
++msgstr "Tamaño máxmo de un SCC antes de que SCCVN detenga el procesamiento de una función"
++
++#: params.def:729
++msgid "Multiplier used for determining the double-queueing threshold"
++msgstr "Se usó un multiplicador para determinar la tasa de doble encolamiento"
++
++#: config/alpha/alpha.c:5023
+ #, c-format
+ msgid "invalid %%H value"
+ msgstr "valor %%H inválido"
+
+-#: config/alpha/alpha.c:5036 config/bfin/bfin.c:1423
++#: config/alpha/alpha.c:5044 config/bfin/bfin.c:1516
+ #, c-format
+ msgid "invalid %%J value"
+ msgstr "valor %%J inválido"
+
+-#: config/alpha/alpha.c:5066 config/ia64/ia64.c:4718
++#: config/alpha/alpha.c:5074 config/ia64/ia64.c:4719
+ #, c-format
+ msgid "invalid %%r value"
+ msgstr "valor %%r inválido"
+
+-#: config/alpha/alpha.c:5076 config/ia64/ia64.c:4672
+-#: config/rs6000/rs6000.c:11670 config/xtensa/xtensa.c:2036
++#: config/alpha/alpha.c:5084 config/ia64/ia64.c:4673
++#: config/rs6000/rs6000.c:11881 config/xtensa/xtensa.c:2042
+ #, c-format
+ msgid "invalid %%R value"
+ msgstr "valor %%R inválido"
+
+-#: config/alpha/alpha.c:5082 config/rs6000/rs6000.c:11589
+-#: config/xtensa/xtensa.c:2003
++#: config/alpha/alpha.c:5090 config/rs6000/rs6000.c:11800
++#: config/xtensa/xtensa.c:2009
+ #, c-format
+ msgid "invalid %%N value"
+ msgstr "valor %%N inválido"
+
+-#: config/alpha/alpha.c:5090 config/rs6000/rs6000.c:11617
++#: config/alpha/alpha.c:5098 config/rs6000/rs6000.c:11828
+ #, c-format
+ msgid "invalid %%P value"
+ msgstr "valor %%P inválido"
+
+-#: config/alpha/alpha.c:5098
++#: config/alpha/alpha.c:5106
+ #, c-format
+ msgid "invalid %%h value"
+ msgstr "valor %%h inválido"
+
+-#: config/alpha/alpha.c:5106 config/xtensa/xtensa.c:2029
++#: config/alpha/alpha.c:5114 config/xtensa/xtensa.c:2035
+ #, c-format
+ msgid "invalid %%L value"
+ msgstr "valor %%L inválido"
+
+-#: config/alpha/alpha.c:5145 config/rs6000/rs6000.c:11571
++#: config/alpha/alpha.c:5153 config/rs6000/rs6000.c:11782
+ #, c-format
+ msgid "invalid %%m value"
+ msgstr "valor %%m inválido"
+
+-#: config/alpha/alpha.c:5153 config/rs6000/rs6000.c:11579
++#: config/alpha/alpha.c:5161 config/rs6000/rs6000.c:11790
+ #, c-format
+ msgid "invalid %%M value"
+ msgstr "valor %%M inválido"
+
+-#: config/alpha/alpha.c:5197
++#: config/alpha/alpha.c:5205
+ #, c-format
+ msgid "invalid %%U value"
+ msgstr "valor %%U inválido"
+
+-#: config/alpha/alpha.c:5209 config/alpha/alpha.c:5223
+-#: config/rs6000/rs6000.c:11678
++#: config/alpha/alpha.c:5217 config/alpha/alpha.c:5231
++#: config/rs6000/rs6000.c:11889
+ #, c-format
+ msgid "invalid %%s value"
+ msgstr "valor %%s inválido"
+
+-#: config/alpha/alpha.c:5246
++#: config/alpha/alpha.c:5254
+ #, c-format
+ msgid "invalid %%C value"
+ msgstr "valor %%C inválido"
+
+-#: config/alpha/alpha.c:5283 config/rs6000/rs6000.c:11406
+-#: config/rs6000/rs6000.c:11425
++#: config/alpha/alpha.c:5291 config/rs6000/rs6000.c:11617
++#: config/rs6000/rs6000.c:11636
+ #, c-format
+ msgid "invalid %%E value"
+ msgstr "valor %%E inválido"
+
+-#: config/alpha/alpha.c:5308 config/alpha/alpha.c:5356
++#: config/alpha/alpha.c:5316 config/alpha/alpha.c:5364
+ #, c-format
+ msgid "unknown relocation unspec"
+ msgstr "reubicación unspec desconocida"
+
+-#: config/alpha/alpha.c:5317 config/crx/crx.c:1081
+-#: config/rs6000/rs6000.c:12005 config/spu/spu.c:1492
++#: config/alpha/alpha.c:5325 config/crx/crx.c:1081
++#: config/rs6000/rs6000.c:12216 config/spu/spu.c:1482
+ #, c-format
+ msgid "invalid %%xn code"
+ msgstr "código %%xn inválido"
+
+-#: config/arc/arc.c:1724 config/m32r/m32r.c:1805
++#: config/arc/arc.c:1728 config/m32r/m32r.c:1805
+ #, c-format
+ msgid "invalid operand to %%R code"
+ msgstr "operando inválido para el código %%R"
+
+-#: config/arc/arc.c:1756 config/m32r/m32r.c:1828
++#: config/arc/arc.c:1760 config/m32r/m32r.c:1828
+ #, c-format
+ msgid "invalid operand to %%H/%%L code"
+ msgstr "operando inválido para el código %%H%%L"
+
+-#: config/arc/arc.c:1778 config/m32r/m32r.c:1899
++#: config/arc/arc.c:1782 config/m32r/m32r.c:1899
+ #, c-format
+ msgid "invalid operand to %%U code"
+ msgstr "operando inválido para el código %%U"
+
+-#: config/arc/arc.c:1789
++#: config/arc/arc.c:1793
+ #, c-format
+ msgid "invalid operand to %%V code"
+ msgstr "operando inválido para el código %%V"
+
+ #. Unknown flag.
+ #. Undocumented flag.
+-#: config/arc/arc.c:1796 config/m32r/m32r.c:1926 config/sparc/sparc.c:6995
++#: config/arc/arc.c:1800 config/m32r/m32r.c:1926 config/sparc/sparc.c:6998
+ #, c-format
+ msgid "invalid operand output code"
+ msgstr "operando inválido en el código de salida"
+@@ -2886,9 +2895,9 @@
+ #: config/arm/arm.c:12830 config/arm/arm.c:12865 config/arm/arm.c:12884
+ #: config/arm/arm.c:12899 config/arm/arm.c:12927 config/arm/arm.c:12934
+ #: config/arm/arm.c:12942 config/arm/arm.c:12963 config/arm/arm.c:12970
+-#: config/bfin/bfin.c:1436 config/bfin/bfin.c:1443 config/bfin/bfin.c:1450
+-#: config/bfin/bfin.c:1457 config/bfin/bfin.c:1466 config/bfin/bfin.c:1473
+-#: config/bfin/bfin.c:1480 config/bfin/bfin.c:1487
++#: config/bfin/bfin.c:1529 config/bfin/bfin.c:1536 config/bfin/bfin.c:1543
++#: config/bfin/bfin.c:1550 config/bfin/bfin.c:1559 config/bfin/bfin.c:1566
++#: config/bfin/bfin.c:1573 config/bfin/bfin.c:1580
+ #, c-format
+ msgid "invalid operand for code '%c'"
+ msgstr "operando inválido para el código '%c'"
+@@ -2903,240 +2912,159 @@
+ msgid "missing operand"
+ msgstr "falta un operando"
+
+-#: config/avr/avr.c:1022
++#: config/avr/avr.c:1062
+ #, c-format
+ msgid "address operand requires constraint for X, Y, or Z register"
+ msgstr "el operando de dirección requiere una restricción para los registros X, Y, o Z"
+
+-#: config/avr/avr.c:1129
++#: config/avr/avr.c:1169
+ msgid "bad address, not (reg+disp):"
+ msgstr "dirección errónea, no (reg+disp):"
+
+-#: config/avr/avr.c:1136
++#: config/avr/avr.c:1176
+ msgid "bad address, not post_inc or pre_dec:"
+ msgstr "dirección errónea, no hay post_inc o pre_dec:"
+
+-#: config/avr/avr.c:1147
++#: config/avr/avr.c:1187
+ msgid "internal compiler error. Bad address:"
+ msgstr "error interno del compilador. Dirección errónea:"
+
+-#: config/avr/avr.c:1160
++#: config/avr/avr.c:1200
+ msgid "internal compiler error. Unknown mode:"
+ msgstr "error interno del compilador. Modo desconocido:"
+
+-#: config/avr/avr.c:1775 config/avr/avr.c:2463
++#: config/avr/avr.c:1815 config/avr/avr.c:2503
+ msgid "invalid insn:"
+ msgstr "insn inválida:"
+
+-#: config/avr/avr.c:1814 config/avr/avr.c:1900 config/avr/avr.c:1949
+-#: config/avr/avr.c:1977 config/avr/avr.c:2072 config/avr/avr.c:2241
+-#: config/avr/avr.c:2502 config/avr/avr.c:2614
++#: config/avr/avr.c:1854 config/avr/avr.c:1940 config/avr/avr.c:1989
++#: config/avr/avr.c:2017 config/avr/avr.c:2112 config/avr/avr.c:2281
++#: config/avr/avr.c:2542 config/avr/avr.c:2654
+ msgid "incorrect insn:"
+ msgstr "insn incorrecta:"
+
+-#: config/avr/avr.c:1996 config/avr/avr.c:2157 config/avr/avr.c:2312
+-#: config/avr/avr.c:2680
++#: config/avr/avr.c:2036 config/avr/avr.c:2197 config/avr/avr.c:2352
++#: config/avr/avr.c:2720
+ msgid "unknown move insn:"
+ msgstr "movimiento insn desconocido:"
+
+-#: config/avr/avr.c:2910
++#: config/avr/avr.c:2950
+ msgid "bad shift insn:"
+ msgstr "desplazamiento insn erróneo:"
+
+-#: config/avr/avr.c:3026 config/avr/avr.c:3446 config/avr/avr.c:3804
++#: config/avr/avr.c:3066 config/avr/avr.c:3486 config/avr/avr.c:3844
+ msgid "internal compiler error. Incorrect shift:"
+ msgstr "error interno del compilador. Desplazamiento incorrecto:"
+
+-#: config/bfin/bfin.c:1385
++#: config/bfin/bfin.c:1478
+ #, c-format
+ msgid "invalid %%j value"
+ msgstr "valor %%j inválido"
+
+-#: config/bfin/bfin.c:1578
++#: config/bfin/bfin.c:1671
+ #, c-format
+ msgid "invalid const_double operand"
+ msgstr "operando const_double inválido"
+
+-#: config/c4x/c4x.c:1583
+-msgid "using CONST_DOUBLE for address"
+-msgstr "usando CONST_DOUBLE para las direcciones"
+-
+-#: config/c4x/c4x.c:1721
+-msgid "c4x_address_cost: Invalid addressing mode"
+-msgstr "c4x_address_cost: Modo de direccionamiento inválido"
+-
+-#: config/c4x/c4x.c:1856
+-#, c-format
+-msgid "c4x_print_operand: %%L inconsistency"
+-msgstr "c4x_print_operand: Inconsistencia %%L"
+-
+-#: config/c4x/c4x.c:1862
+-#, c-format
+-msgid "c4x_print_operand: %%N inconsistency"
+-msgstr "c4x_print_operand: Inconsistencia %%N"
+-
+-#: config/c4x/c4x.c:1903
+-#, c-format
+-msgid "c4x_print_operand: %%O inconsistency"
+-msgstr "c4x_print_operand: Inconsistencia %%O"
+-
+-#: config/c4x/c4x.c:1998
+-msgid "c4x_print_operand: Bad operand case"
+-msgstr "c4x_print_operand: Caso de operando erróneo"
+-
+-#: config/c4x/c4x.c:2039
+-msgid "c4x_print_operand_address: Bad post_modify"
+-msgstr "c4x_print_operand_address: post_modify erróneo"
+-
+-#: config/c4x/c4x.c:2061
+-msgid "c4x_print_operand_address: Bad pre_modify"
+-msgstr "c4x_print_operand_address: pre_modify erróneo"
+-
+-#: config/c4x/c4x.c:2109 config/c4x/c4x.c:2121 config/c4x/c4x.c:2136
+-msgid "c4x_print_operand_address: Bad operand case"
+-msgstr "c4x_print_operand_address: Caso de operando erróneo"
+-
+-#: config/c4x/c4x.c:2387
+-msgid "c4x_rptb_insert: Cannot find start label"
+-msgstr "c4x_rptb_insert: No se puede encontrar la etiqueta de inicio"
+-
+-#: config/c4x/c4x.c:2985
+-msgid "invalid indirect memory address"
+-msgstr "dirección indirecta de memoria inválida"
+-
+-#: config/c4x/c4x.c:3074
+-msgid "invalid indirect (S) memory address"
+-msgstr "dirección (S) indirecta de memoria inválida"
+-
+-#: config/c4x/c4x.c:3409
+-msgid "c4x_valid_operands: Internal error"
+-msgstr "c4x_valid_operands: Error interno"
+-
+-#: config/c4x/c4x.c:3848
+-msgid "c4x_operand_subword: invalid mode"
+-msgstr "c4x_operand_subword: modo inválido"
+-
+-#: config/c4x/c4x.c:3851
+-msgid "c4x_operand_subword: invalid operand"
+-msgstr "c4x_operand_subword: operando inválido"
+-
+-#. We could handle these with some difficulty.
+-#. e.g., *p-- => *(p-=2); *(p+1).
+-#: config/c4x/c4x.c:3877
+-msgid "c4x_operand_subword: invalid autoincrement"
+-msgstr "c4x_operand_subword: autoincremento inválido"
+-
+-#: config/c4x/c4x.c:3883
+-msgid "c4x_operand_subword: invalid address"
+-msgstr "c4x_operand_subword: dirección inválida"
+-
+-#: config/c4x/c4x.c:3894
+-msgid "c4x_operand_subword: address not offsettable"
+-msgstr "c4x_operand_subword: dirección no desplazable"
+-
+-#: config/c4x/c4x.c:4096
+-msgid "c4x_rptb_rpts_p: Repeat block top label moved"
+-msgstr "c4x_rptb_rpts_p: Se movió la etiqueta principal del bloque de repetición"
+-
+ #. Use `%s' to print the string in case there are any escape
+ #. characters in the message.
+-#: config/cris/cris.c:491 fortran/dump-parse-tree.c:78
+-#: fortran/dump-parse-tree.c:430 fortran/dump-parse-tree.c:776
+-#: fortran/dump-parse-tree.c:821 c-typeck.c:4607 c-typeck.c:4622
+-#: c-typeck.c:4637 final.c:2984 final.c:2986 gcc.c:4737 loop-iv.c:2807
+-#: loop-iv.c:2816 rtl-error.c:112 toplev.c:610 tree-ssa-loop-niter.c:1829
+-#: cp/parser.c:2188 cp/typeck.c:4559 java/expr.c:409
++#: config/cris/cris.c:504 fortran/dump-parse-tree.c:78
++#: fortran/dump-parse-tree.c:430 fortran/dump-parse-tree.c:798
++#: fortran/dump-parse-tree.c:843 c-typeck.c:4618 c-typeck.c:4633
++#: c-typeck.c:4648 final.c:2997 final.c:2999 gcc.c:4731 loop-iv.c:2808
++#: loop-iv.c:2817 rtl-error.c:112 toplev.c:610 tree-ssa-loop-niter.c:1829
++#: cp/parser.c:2192 cp/typeck.c:4567 java/expr.c:409
+ #, gcc-internal-format
+ msgid "%s"
+ msgstr "%s"
+
+-#: config/cris/cris.c:542
++#: config/cris/cris.c:555
+ msgid "unexpected index-type in cris_print_index"
+ msgstr "tipo-índice inesperado en cris_print_index"
+
+-#: config/cris/cris.c:556
++#: config/cris/cris.c:572
+ msgid "unexpected base-type in cris_print_base"
+ msgstr "tipo-base inesperado en cris_print_base"
+
+-#: config/cris/cris.c:672
++#: config/cris/cris.c:688
+ msgid "invalid operand for 'b' modifier"
+ msgstr "operando inválido para el modificador 'b'"
+
+-#: config/cris/cris.c:689
++#: config/cris/cris.c:705
+ msgid "invalid operand for 'o' modifier"
+ msgstr "operando inválido para el modificador 'o'"
+
+-#: config/cris/cris.c:708
++#: config/cris/cris.c:724
+ msgid "invalid operand for 'O' modifier"
+ msgstr "operando inválido para el modificador 'O'"
+
+-#: config/cris/cris.c:741
++#: config/cris/cris.c:757
+ msgid "invalid operand for 'p' modifier"
+ msgstr "operador inválido para el modificador 'p'"
+
+-#: config/cris/cris.c:780
++#: config/cris/cris.c:796
+ msgid "invalid operand for 'z' modifier"
+ msgstr "operando inválido para el modificador 'z'"
+
+-#: config/cris/cris.c:834 config/cris/cris.c:864
++#: config/cris/cris.c:860 config/cris/cris.c:894
+ msgid "invalid operand for 'H' modifier"
+ msgstr "operando inválido para el modificador 'H'"
+
+-#: config/cris/cris.c:840
++#: config/cris/cris.c:870
+ msgid "bad register"
+ msgstr "registro erróneo"
+
+-#: config/cris/cris.c:884
++#: config/cris/cris.c:914
+ msgid "invalid operand for 'e' modifier"
+ msgstr "operando inválido para el modificador 'e'"
+
+-#: config/cris/cris.c:901
++#: config/cris/cris.c:931
+ msgid "invalid operand for 'm' modifier"
+ msgstr "operando inválido para el modificador 'm'"
+
+-#: config/cris/cris.c:926
++#: config/cris/cris.c:956
+ msgid "invalid operand for 'A' modifier"
+ msgstr "operando inválido para el modificador 'A'"
+
+-#: config/cris/cris.c:949
++#: config/cris/cris.c:979
+ msgid "invalid operand for 'D' modifier"
+ msgstr "operando inválido para el modificador 'D'"
+
+-#: config/cris/cris.c:963
++#: config/cris/cris.c:993
+ msgid "invalid operand for 'T' modifier"
+ msgstr "operando inválido para el modificador 'T'"
+
+-#: config/cris/cris.c:972
++#: config/cris/cris.c:1013
+ msgid "invalid operand modifier letter"
+ msgstr "modificador de letra de operando inválido"
+
+-#: config/cris/cris.c:1029
++#: config/cris/cris.c:1070
+ msgid "unexpected multiplicative operand"
+ msgstr "operando multiplicativo inesperado"
+
+-#: config/cris/cris.c:1049
++#: config/cris/cris.c:1090
+ msgid "unexpected operand"
+ msgstr "operando inesperado"
+
+-#: config/cris/cris.c:1082 config/cris/cris.c:1092
++#: config/cris/cris.c:1123 config/cris/cris.c:1133
+ msgid "unrecognized address"
+ msgstr "no se reconoce la dirección"
+
+-#: config/cris/cris.c:2019
++#: config/cris/cris.c:2209
+ msgid "unrecognized supposed constant"
+ msgstr "no se reconoce la constante supuesta"
+
+-#: config/cris/cris.c:2394 config/cris/cris.c:2458
++#: config/cris/cris.c:2638 config/cris/cris.c:2702
+ msgid "unexpected side-effects in address"
+ msgstr "efectos colaterales inesperados en la dirección"
+
+ #. Can't possibly get a GOT-needing-fixup for a function-call,
+ #. right?
+-#: config/cris/cris.c:3253
++#: config/cris/cris.c:3539
+ msgid "Unidentifiable call op"
+ msgstr "Operador de llamada no identificable"
+
+-#: config/cris/cris.c:3304
++#: config/cris/cris.c:3590
+ #, c-format
+ msgid "PIC register isn't set up"
+ msgstr "el registro PIC aún no está preparado"
+@@ -3187,81 +3115,81 @@
+ msgid "fr30_print_operand: unhandled MEM"
+ msgstr "fr30_print_operand: MEM sin manejar"
+
+-#: config/frv/frv.c:2542
++#: config/frv/frv.c:2546
+ msgid "bad insn to frv_print_operand_address:"
+ msgstr "insn errónea para frv_print_operand_address:"
+
+-#: config/frv/frv.c:2553
++#: config/frv/frv.c:2557
+ msgid "bad register to frv_print_operand_memory_reference_reg:"
+ msgstr "registro erróneo para frv_print_operand_memory_reference_reg:"
+
+-#: config/frv/frv.c:2592 config/frv/frv.c:2602 config/frv/frv.c:2611
+-#: config/frv/frv.c:2632 config/frv/frv.c:2637
++#: config/frv/frv.c:2596 config/frv/frv.c:2606 config/frv/frv.c:2615
++#: config/frv/frv.c:2636 config/frv/frv.c:2641
+ msgid "bad insn to frv_print_operand_memory_reference:"
+ msgstr "insn errónea para frv_print_operand_memory_reference:"
+
+-#: config/frv/frv.c:2723
++#: config/frv/frv.c:2727
+ #, c-format
+ msgid "bad condition code"
+ msgstr "código de condición erróneo"
+
+-#: config/frv/frv.c:2798
++#: config/frv/frv.c:2802
+ msgid "bad insn in frv_print_operand, bad const_double"
+ msgstr "insn erróneo en frv_print_operand, const_double errónea"
+
+-#: config/frv/frv.c:2859
++#: config/frv/frv.c:2863
+ msgid "bad insn to frv_print_operand, 'e' modifier:"
+ msgstr "insn errónea para frv_print_operand, modificador 'e':"
+
+-#: config/frv/frv.c:2867
++#: config/frv/frv.c:2871
+ msgid "bad insn to frv_print_operand, 'F' modifier:"
+ msgstr "insn errónea para frv_print_operand, modificador 'F':"
+
+-#: config/frv/frv.c:2883
++#: config/frv/frv.c:2887
+ msgid "bad insn to frv_print_operand, 'f' modifier:"
+ msgstr "insn errónea para frv_print_operand, modificador 'f':"
+
+-#: config/frv/frv.c:2897
++#: config/frv/frv.c:2901
+ msgid "bad insn to frv_print_operand, 'g' modifier:"
+ msgstr "insn errónea para frv_print_operand, modificador 'g':"
+
+-#: config/frv/frv.c:2945
++#: config/frv/frv.c:2949
+ msgid "bad insn to frv_print_operand, 'L' modifier:"
+ msgstr "insn errónea para frv_print_operand, modificador 'L':"
+
+-#: config/frv/frv.c:2958
++#: config/frv/frv.c:2962
+ msgid "bad insn to frv_print_operand, 'M/N' modifier:"
+ msgstr "insn errónea para frv_print_operand, modificador 'M/N':"
+
+-#: config/frv/frv.c:2979
++#: config/frv/frv.c:2983
+ msgid "bad insn to frv_print_operand, 'O' modifier:"
+ msgstr "insn errónea para frv_print_operand, modificador 'O':"
+
+-#: config/frv/frv.c:2997
++#: config/frv/frv.c:3001
+ msgid "bad insn to frv_print_operand, P modifier:"
+ msgstr "insn errónea para frv_print_operand, modificador 'P':"
+
+-#: config/frv/frv.c:3017
++#: config/frv/frv.c:3021
+ msgid "bad insn in frv_print_operand, z case"
+ msgstr "insn errónea en frv_print_operand, caso z"
+
+-#: config/frv/frv.c:3048
++#: config/frv/frv.c:3052
+ msgid "bad insn in frv_print_operand, 0 case"
+ msgstr "insn errónea en frv_print_operand, caso 0"
+
+-#: config/frv/frv.c:3053
++#: config/frv/frv.c:3057
+ msgid "frv_print_operand: unknown code"
+ msgstr "frv_print_operand: código desconocido"
+
+-#: config/frv/frv.c:4422
++#: config/frv/frv.c:4426
+ msgid "bad output_move_single operand"
+ msgstr "operando output_move_single erróneo"
+
+-#: config/frv/frv.c:4549
++#: config/frv/frv.c:4553
+ msgid "bad output_move_double operand"
+ msgstr "operando output_move_double erróneo"
+
+-#: config/frv/frv.c:4691
++#: config/frv/frv.c:4695
+ msgid "bad output_condmove_single operand"
+ msgstr "operando output_condmove_single erróneo"
+
+@@ -3279,27 +3207,27 @@
+ msgid " (frv)"
+ msgstr " (frv)"
+
+-#: config/i386/i386.c:8218
++#: config/i386/i386.c:8273
+ #, c-format
+ msgid "invalid UNSPEC as operand"
+ msgstr "UNSPEC inválido como operando"
+
+-#: config/i386/i386.c:8924
++#: config/i386/i386.c:8979
+ #, c-format
+ msgid "operand is neither a constant nor a condition code, invalid operand code 'c'"
+ msgstr "el operando no es una constante ni un código de condición, código de operando 'c' inválido"
+
+-#: config/i386/i386.c:9040
++#: config/i386/i386.c:9095
+ #, c-format
+ msgid "invalid operand code '%c'"
+ msgstr "código de operando '%c' inválido"
+
+-#: config/i386/i386.c:9089
++#: config/i386/i386.c:9144
+ #, c-format
+ msgid "invalid constraints for operand"
+ msgstr "restricciones inválidas para el operando"
+
+-#: config/i386/i386.c:16348
++#: config/i386/i386.c:16423
+ msgid "unknown insn mode"
+ msgstr "modo insn desconocido"
+
+@@ -3320,34 +3248,34 @@
+ msgid "environment variable DJGPP points to corrupt file '%s'"
+ msgstr "la variable de ambiente DJGPP apunta al fichero corrupto '%s'"
+
+-#: config/ia64/ia64.c:4770
++#: config/ia64/ia64.c:4771
+ #, c-format
+ msgid "ia64_print_operand: unknown code"
+ msgstr "ia64_print_operand: código desconocido"
+
+-#: config/ia64/ia64.c:9889
++#: config/ia64/ia64.c:9890
+ msgid "invalid conversion from %<__fpreg%>"
+ msgstr "conversión inválida de %<__fpreg%>"
+
+-#: config/ia64/ia64.c:9892
++#: config/ia64/ia64.c:9893
+ msgid "invalid conversion to %<__fpreg%>"
+ msgstr "conversión inválida a %<__fpreg%>"
+
+-#: config/ia64/ia64.c:9905 config/ia64/ia64.c:9916
++#: config/ia64/ia64.c:9906 config/ia64/ia64.c:9917
+ msgid "invalid operation on %<__fpreg%>"
+ msgstr "operación inválida en %<__fpreg%>"
+
+-#: config/iq2000/iq2000.c:3118
++#: config/iq2000/iq2000.c:3122
+ #, c-format
+ msgid "invalid %%P operand"
+ msgstr "operando %%P inválido"
+
+-#: config/iq2000/iq2000.c:3126 config/rs6000/rs6000.c:11607
++#: config/iq2000/iq2000.c:3130 config/rs6000/rs6000.c:11818
+ #, c-format
+ msgid "invalid %%p value"
+ msgstr "valor %%p inválido"
+
+-#: config/iq2000/iq2000.c:3182
++#: config/iq2000/iq2000.c:3186
+ #, c-format
+ msgid "invalid use of %%d, %%x, or %%X"
+ msgstr "uso inválido de %%d, %%x, o %%X"
+@@ -3389,7 +3317,7 @@
+ msgstr "la dirección de post-incremento no es un registro"
+
+ #: config/m32r/m32r.c:2030 config/m32r/m32r.c:2044
+-#: config/rs6000/rs6000.c:19870
++#: config/rs6000/rs6000.c:20087
+ msgid "bad address"
+ msgstr "dirección errónea"
+
+@@ -3435,59 +3363,59 @@
+ msgid "invalid Z register replacement for insn"
+ msgstr "reemplazo de registro Z inválido para la insn"
+
+-#: config/mips/mips.c:6313 config/mips/mips.c:6334 config/mips/mips.c:6438
++#: config/mips/mips.c:6371 config/mips/mips.c:6392 config/mips/mips.c:6496
+ #, c-format
+ msgid "'%%%c' is not a valid operand prefix"
+ msgstr "'%%%c' no es un prefijo de operando válido"
+
+-#: config/mips/mips.c:6382 config/mips/mips.c:6389 config/mips/mips.c:6396
+-#: config/mips/mips.c:6456
++#: config/mips/mips.c:6440 config/mips/mips.c:6447 config/mips/mips.c:6454
++#: config/mips/mips.c:6514
+ #, c-format
+ msgid "invalid use of '%%%c'"
+ msgstr "uso inválido de '%%%c'"
+
+-#: config/mips/mips.c:6701
++#: config/mips/mips.c:6761
+ msgid "mips_debugger_offset called with non stack/frame/arg pointer"
+ msgstr "se llamó a mips_debuger_offset con un puntero que no es stack/frame/arg"
+
+-#: config/mmix/mmix.c:1487 config/mmix/mmix.c:1617
++#: config/mmix/mmix.c:1483 config/mmix/mmix.c:1613
+ msgid "MMIX Internal: Expected a CONST_INT, not this"
+ msgstr "MMIX Interno: Se esperaba un CONST_INT, no esto"
+
+-#: config/mmix/mmix.c:1566
++#: config/mmix/mmix.c:1562
+ msgid "MMIX Internal: Bad value for 'm', not a CONST_INT"
+ msgstr "MMIX Interno: Valor erróneo para 'm', no es un CONST_INT"
+
+-#: config/mmix/mmix.c:1585
++#: config/mmix/mmix.c:1581
+ msgid "MMIX Internal: Expected a register, not this"
+ msgstr "MMIX Interno: Se esperaba un registro, no esto"
+
+-#: config/mmix/mmix.c:1595
++#: config/mmix/mmix.c:1591
+ msgid "MMIX Internal: Expected a constant, not this"
+ msgstr "MMIX Interno: Se esperaba una constante, no esto"
+
+ #. We need the original here.
+-#: config/mmix/mmix.c:1679
++#: config/mmix/mmix.c:1675
+ msgid "MMIX Internal: Cannot decode this operand"
+ msgstr "MMIX Interno: No se puede decodificar este operando"
+
+-#: config/mmix/mmix.c:1736
++#: config/mmix/mmix.c:1732
+ msgid "MMIX Internal: This is not a recognized address"
+ msgstr "MMIX Interno: Esta no es una dirección reconocida"
+
+-#: config/mmix/mmix.c:2669
++#: config/mmix/mmix.c:2665
+ msgid "MMIX Internal: Trying to output invalidly reversed condition:"
+ msgstr "MMIX Interno: Tratando de mostrar una condición invertida de forma inválida:"
+
+-#: config/mmix/mmix.c:2676
++#: config/mmix/mmix.c:2672
+ msgid "MMIX Internal: What's the CC of this?"
+ msgstr "MMIX Interno: ¿Cuál es el CC de esto?"
+
+-#: config/mmix/mmix.c:2680
++#: config/mmix/mmix.c:2676
+ msgid "MMIX Internal: What is the CC of this?"
+ msgstr "MMIX Interno: ¿Cuál es el CC de esto?"
+
+-#: config/mmix/mmix.c:2744
++#: config/mmix/mmix.c:2740
+ msgid "MMIX Internal: This is not a constant:"
+ msgstr "MMIX Interno: Esto no es una constante:"
+
+@@ -3513,81 +3441,81 @@
+ msgid "Try running '%s' in the shell to raise its limit.\n"
+ msgstr "Pruebe ejecutar '%s' en el intérprete de comandos para elevar su límite.\n"
+
+-#: config/rs6000/rs6000.c:11434
++#: config/rs6000/rs6000.c:11645
+ #, c-format
+ msgid "invalid %%f value"
+ msgstr "valor %%f inválido"
+
+-#: config/rs6000/rs6000.c:11443
++#: config/rs6000/rs6000.c:11654
+ #, c-format
+ msgid "invalid %%F value"
+ msgstr "valor %%F inválido"
+
+-#: config/rs6000/rs6000.c:11452
++#: config/rs6000/rs6000.c:11663
+ #, c-format
+ msgid "invalid %%G value"
+ msgstr "valor %%G inválido"
+
+-#: config/rs6000/rs6000.c:11487
++#: config/rs6000/rs6000.c:11698
+ #, c-format
+ msgid "invalid %%j code"
+ msgstr "código %%j inválido"
+
+-#: config/rs6000/rs6000.c:11497
++#: config/rs6000/rs6000.c:11708
+ #, c-format
+ msgid "invalid %%J code"
+ msgstr "código %%J inválido"
+
+-#: config/rs6000/rs6000.c:11507
++#: config/rs6000/rs6000.c:11718
+ #, c-format
+ msgid "invalid %%k value"
+ msgstr "valor %%k inválido"
+
+-#: config/rs6000/rs6000.c:11527 config/xtensa/xtensa.c:2022
++#: config/rs6000/rs6000.c:11738 config/xtensa/xtensa.c:2028
+ #, c-format
+ msgid "invalid %%K value"
+ msgstr "valor %%K inválido"
+
+-#: config/rs6000/rs6000.c:11597
++#: config/rs6000/rs6000.c:11808
+ #, c-format
+ msgid "invalid %%O value"
+ msgstr "valor %%O inválido"
+
+-#: config/rs6000/rs6000.c:11644
++#: config/rs6000/rs6000.c:11855
+ #, c-format
+ msgid "invalid %%q value"
+ msgstr "valor %%q inválido"
+
+-#: config/rs6000/rs6000.c:11688
++#: config/rs6000/rs6000.c:11899
+ #, c-format
+ msgid "invalid %%S value"
+ msgstr "valor %%S inválido"
+
+-#: config/rs6000/rs6000.c:11728
++#: config/rs6000/rs6000.c:11939
+ #, c-format
+ msgid "invalid %%T value"
+ msgstr "valor %%T inválido"
+
+-#: config/rs6000/rs6000.c:11738
++#: config/rs6000/rs6000.c:11949
+ #, c-format
+ msgid "invalid %%u value"
+ msgstr "valor %%u inválido"
+
+-#: config/rs6000/rs6000.c:11747 config/xtensa/xtensa.c:1992
++#: config/rs6000/rs6000.c:11958 config/xtensa/xtensa.c:1998
+ #, c-format
+ msgid "invalid %%v value"
+ msgstr "valor %%v inválido"
+
+-#: config/rs6000/rs6000.c:21768
++#: config/rs6000/rs6000.c:21946
+ msgid "AltiVec argument passed to unprototyped function"
+ msgstr "Se pasó un argumento Altivec a una función sin prototipo"
+
+-#: config/s390/s390.c:4561
++#: config/s390/s390.c:4560
+ #, c-format
+ msgid "cannot decompose address"
+ msgstr "no se puede descomponer la dirección"
+
+-#: config/s390/s390.c:4771
++#: config/s390/s390.c:4770
+ msgid "UNKNOWN in print_operand !?"
+ msgstr "UNKNOWN en print_operand !?"
+
+@@ -3597,89 +3525,89 @@
+ msgid "invalid operand for code: '%c'"
+ msgstr "operando inválido para code: '%c'"
+
+-#: config/sh/sh.c:746
++#: config/sh/sh.c:749
+ #, c-format
+ msgid "invalid operand to %%R"
+ msgstr "operando inválido para %%R"
+
+-#: config/sh/sh.c:773
++#: config/sh/sh.c:776
+ #, c-format
+ msgid "invalid operand to %%S"
+ msgstr "operando inválido para %%S"
+
+-#: config/sh/sh.c:8095
++#: config/sh/sh.c:8098
+ msgid "created and used with different architectures / ABIs"
+ msgstr "creado y usado con diferentes arquitecturas / ABIs"
+
+-#: config/sh/sh.c:8097
++#: config/sh/sh.c:8100
+ msgid "created and used with different ABIs"
+ msgstr "creado y usado con diferentes ABIs"
+
+-#: config/sh/sh.c:8099
++#: config/sh/sh.c:8102
+ msgid "created and used with different endianness"
+ msgstr "creado y usado con diferente orden de bits"
+
+-#: config/sparc/sparc.c:6803 config/sparc/sparc.c:6809
++#: config/sparc/sparc.c:6806 config/sparc/sparc.c:6812
+ #, c-format
+ msgid "invalid %%Y operand"
+ msgstr "operando %%Y inválido"
+
+-#: config/sparc/sparc.c:6879
++#: config/sparc/sparc.c:6882
+ #, c-format
+ msgid "invalid %%A operand"
+ msgstr "operando %%A inválido"
+
+-#: config/sparc/sparc.c:6889
++#: config/sparc/sparc.c:6892
+ #, c-format
+ msgid "invalid %%B operand"
+ msgstr "operando %%B inválido"
+
+-#: config/sparc/sparc.c:6928
++#: config/sparc/sparc.c:6931
+ #, c-format
+ msgid "invalid %%c operand"
+ msgstr "operando %%c inválido"
+
+-#: config/sparc/sparc.c:6950
++#: config/sparc/sparc.c:6953
+ #, c-format
+ msgid "invalid %%d operand"
+ msgstr "operando %%d inválido"
+
+-#: config/sparc/sparc.c:6967
++#: config/sparc/sparc.c:6970
+ #, c-format
+ msgid "invalid %%f operand"
+ msgstr "operando %%f inválido"
+
+-#: config/sparc/sparc.c:6981
++#: config/sparc/sparc.c:6984
+ #, c-format
+ msgid "invalid %%s operand"
+ msgstr "operando %%s inválido"
+
+-#: config/sparc/sparc.c:7035
++#: config/sparc/sparc.c:7038
+ #, c-format
+ msgid "long long constant not a valid immediate operand"
+ msgstr "la constante long long no es un operando inmediato válido"
+
+-#: config/sparc/sparc.c:7038
++#: config/sparc/sparc.c:7041
+ #, c-format
+ msgid "floating point constant not a valid immediate operand"
+ msgstr "la constante de coma flotante no es un operando inmediato válido"
+
+-#: config/stormy16/stormy16.c:1775 config/stormy16/stormy16.c:1846
++#: config/stormy16/stormy16.c:1748 config/stormy16/stormy16.c:1819
+ #, c-format
+ msgid "'B' operand is not constant"
+ msgstr "el operando 'B' no es una constante"
+
+-#: config/stormy16/stormy16.c:1802
++#: config/stormy16/stormy16.c:1775
+ #, c-format
+ msgid "'B' operand has multiple bits set"
+ msgstr "el operando 'B' tiene establecidos múltiples bits"
+
+-#: config/stormy16/stormy16.c:1828
++#: config/stormy16/stormy16.c:1801
+ #, c-format
+ msgid "'o' operand is not constant"
+ msgstr "el operando 'o' no es una constante"
+
+-#: config/stormy16/stormy16.c:1860
++#: config/stormy16/stormy16.c:1833
+ #, c-format
+ msgid "xstormy16_print_operand: unknown code"
+ msgstr "xstormy16_print_operand: código desconocido"
+@@ -3692,56 +3620,56 @@
+ msgid "output_move_single:"
+ msgstr "output_move_single:"
+
+-#: config/xtensa/xtensa.c:652 config/xtensa/xtensa.c:684
+-#: config/xtensa/xtensa.c:693
++#: config/xtensa/xtensa.c:656 config/xtensa/xtensa.c:688
++#: config/xtensa/xtensa.c:697
+ msgid "bad test"
+ msgstr "prueba errónea"
+
+-#: config/xtensa/xtensa.c:1980
++#: config/xtensa/xtensa.c:1986
+ #, c-format
+ msgid "invalid %%D value"
+ msgstr "valor %%D inválido"
+
+-#: config/xtensa/xtensa.c:2017
++#: config/xtensa/xtensa.c:2023
+ msgid "invalid mask"
+ msgstr "máscara inválida"
+
+-#: config/xtensa/xtensa.c:2043
++#: config/xtensa/xtensa.c:2049
+ #, c-format
+ msgid "invalid %%x value"
+ msgstr "valor %%x inválido"
+
+-#: config/xtensa/xtensa.c:2050
++#: config/xtensa/xtensa.c:2056
+ #, c-format
+ msgid "invalid %%d value"
+ msgstr "valor %%d inválido"
+
+-#: config/xtensa/xtensa.c:2071 config/xtensa/xtensa.c:2081
++#: config/xtensa/xtensa.c:2077 config/xtensa/xtensa.c:2087
+ #, c-format
+ msgid "invalid %%t/%%b value"
+ msgstr "valor %%t%%b inválido"
+
+-#: config/xtensa/xtensa.c:2123
++#: config/xtensa/xtensa.c:2129
+ msgid "invalid address"
+ msgstr "dirección inválida"
+
+-#: config/xtensa/xtensa.c:2148
++#: config/xtensa/xtensa.c:2154
+ msgid "no register in address"
+ msgstr "no hay registro en la dirección"
+
+-#: config/xtensa/xtensa.c:2156
++#: config/xtensa/xtensa.c:2162
+ msgid "address offset not a constant"
+ msgstr "el desplazamiento de dirección no es una constante"
+
+-#: cp/call.c:2514
++#: cp/call.c:2500
+ msgid "candidates are:"
+ msgstr "los candidatos son:"
+
+-#: cp/call.c:6463
++#: cp/call.c:6487
+ msgid "candidate 1:"
+ msgstr "candidato 1:"
+
+-#: cp/call.c:6464
++#: cp/call.c:6488
+ msgid "candidate 2:"
+ msgstr "candidato 2:"
+
+@@ -3786,51 +3714,51 @@
+ msgid "Integer outside symmetric range implied by Standard Fortran at %L"
+ msgstr "Rango simétrico fuera de entero implicado por Standard Fortran en %L"
+
+-#: fortran/arith.c:1425
++#: fortran/arith.c:1472
+ msgid "elemental binary operation"
+ msgstr "operación binaria elemental"
+
+-#: fortran/arith.c:1997
++#: fortran/arith.c:2044
+ #, no-c-format
+ msgid "Arithmetic OK converting %s to %s at %L"
+ msgstr "Se convierte el OK aritmético %s a %s en %L"
+
+-#: fortran/arith.c:2001
++#: fortran/arith.c:2048
+ #, no-c-format
+ msgid "Arithmetic overflow converting %s to %s at %L. This check can be disabled with the option -fno-range-check"
+ msgstr "El desborde aritmético convierte %s a %s en %L. Esta revisión se puede desactivar con la opción -fno-range-check"
+
+-#: fortran/arith.c:2006
++#: fortran/arith.c:2053
+ #, no-c-format
+ msgid "Arithmetic underflow converting %s to %s at %L"
+ msgstr "Se convierte el desborde aritmético por debajo %s a %s en %L"
+
+-#: fortran/arith.c:2010
++#: fortran/arith.c:2057
+ #, no-c-format
+ msgid "Arithmetic NaN converting %s to %s at %L"
+ msgstr "Se convierte el NaN aritmético %s a %s en %L"
+
+-#: fortran/arith.c:2014
++#: fortran/arith.c:2061
+ #, no-c-format
+ msgid "Division by zero converting %s to %s at %L"
+ msgstr "Se convierte la división por cero %s a %s en %L"
+
+-#: fortran/arith.c:2018
++#: fortran/arith.c:2065
+ #, no-c-format
+ msgid "Array operands are incommensurate converting %s to %s at %L"
+ msgstr "Se convierten los operandos de matriz que son inconmesurables %s a %s en %L"
+
+-#: fortran/arith.c:2022
++#: fortran/arith.c:2069
+ #, no-c-format
+ msgid "Integer outside symmetric range implied by Standard Fortran converting %s to %s at %L"
+ msgstr "Se convierte el rango simétrico fuera de entero implicado por Standard Fortran %s a %s en %L"
+
+-#: fortran/arith.c:2355
++#: fortran/arith.c:2402
+ #, no-c-format
+ msgid "The Hollerith constant at %L is too long to convert to %s"
+ msgstr "La constante Holletith en %L es demasiado grande para convertirse a %s"
+
+-#: fortran/arith.c:2513
++#: fortran/arith.c:2560
+ #, no-c-format
+ msgid "Enumerator exceeds the C integer type at %C"
+ msgstr "El enumerador excede el tipo entero de C en %C"
+@@ -3860,72 +3788,72 @@
+ msgid "Variable '%s' at %L in this context must be constant"
+ msgstr "La variable '%s' en %L en este contexto debe ser constante"
+
+-#: fortran/array.c:299
++#: fortran/array.c:314
+ #, no-c-format
+ msgid "Expected expression in array specification at %C"
+ msgstr "Se esperaba una expresión en la especificación de matriz en %C"
+
+-#: fortran/array.c:386
++#: fortran/array.c:392
+ #, no-c-format
+ msgid "Bad array specification for an explicitly shaped array at %C"
+ msgstr "Especificación de matriz errónea para una matriz formada explícita en %C"
+
+-#: fortran/array.c:396
++#: fortran/array.c:402
+ #, no-c-format
+ msgid "Bad array specification for assumed shape array at %C"
+ msgstr "Especificación de matriz errónea para una matriz de forma asumida en %C"
+
+-#: fortran/array.c:410
++#: fortran/array.c:416
+ #, no-c-format
+ msgid "Bad specification for deferred shape array at %C"
+ msgstr "Especificación de matriz errónea para una matriz de forma diferida en %C"
+
+-#: fortran/array.c:414
++#: fortran/array.c:420
+ #, no-c-format
+ msgid "Bad specification for assumed size array at %C"
+ msgstr "Especificación errónea para el tamaño de matriz asumido en %C"
+
+-#: fortran/array.c:423
++#: fortran/array.c:429
+ #, no-c-format
+ msgid "Expected another dimension in array declaration at %C"
+ msgstr "Se esperaba otra dimensión en la declaración de matriz %C"
+
+-#: fortran/array.c:429
++#: fortran/array.c:435
+ #, no-c-format
+ msgid "Array specification at %C has more than %d dimensions"
+ msgstr "La especificación de matriz en %C tiene más de %d dimensiones"
+
+-#: fortran/array.c:635
++#: fortran/array.c:641
+ #, no-c-format
+ msgid "duplicated initializer"
+ msgstr "inicializador duplicado"
+
+-#: fortran/array.c:727
++#: fortran/array.c:733
+ #, no-c-format
+ msgid "DO-iterator '%s' at %L is inside iterator of the same name"
+ msgstr "El iterador-DO '%s' en %L está dentro de un iterador del mismo nombre"
+
+-#: fortran/array.c:829 fortran/array.c:938
++#: fortran/array.c:835 fortran/array.c:944
+ #, no-c-format
+ msgid "Syntax error in array constructor at %C"
+ msgstr "Error sintáctico en el constructor de matriz en %C"
+
+-#: fortran/array.c:884
++#: fortran/array.c:890
+ #, no-c-format
+ msgid "Fortran 2003: [...] style array constructors at %C"
+ msgstr "Fortran 2003: constructores de matriz de estilo [...] en %C"
+
+-#: fortran/array.c:898
++#: fortran/array.c:904
+ #, no-c-format
+ msgid "Empty array constructor at %C is not allowed"
+ msgstr "No se permite un constructor de matriz vacío en %C"
+
+-#: fortran/array.c:982
++#: fortran/array.c:988
+ #, no-c-format
+ msgid "Element in %s array constructor at %L is %s"
+ msgstr "El elemento en el constructor de matriz %s en %L es %s"
+
+-#: fortran/array.c:1309
++#: fortran/array.c:1315
+ #, no-c-format
+ msgid "Iterator step at %L cannot be zero"
+ msgstr "El paso de iterador en %L no puede ser cero"
+@@ -3945,7 +3873,7 @@
+ msgid "'%s' argument of '%s' intrinsic at %L must be a numeric type"
+ msgstr "El argumento '%s' del intrínseco '%s' en %L debe ser un tipo numérico"
+
+-#: fortran/check.c:101 fortran/check.c:817 fortran/check.c:827
++#: fortran/check.c:101 fortran/check.c:810 fortran/check.c:820
+ #, no-c-format
+ msgid "'%s' argument of '%s' intrinsic at %L must be INTEGER or REAL"
+ msgstr "El argumento '%s' del intrínseco '%s' en %L debe ser INTEGER o REAL"
+@@ -4012,220 +3940,215 @@
+ msgid "'%s' argument of '%s' intrinsic at %L must be a variable"
+ msgstr "El argumento '%s' del intrínseco '%s' en %L debe ser una variable"
+
+-#: fortran/check.c:320
++#: fortran/check.c:356
+ #, no-c-format
+-msgid "Missing DIM parameter in intrinsic '%s' at %L"
+-msgstr "Falta el parámetro DIM en el intrínseco '%s' en %L"
+-
+-#: fortran/check.c:363
+-#, no-c-format
+ msgid "'dim' argument of '%s' intrinsic at %L is not a valid dimension index"
+ msgstr "el argumento 'dim' del intrínseco '%s' en %L no es un índice de dimensión válido"
+
+-#: fortran/check.c:433
++#: fortran/check.c:426
+ #, no-c-format
+ msgid "Unequal character lengths (%ld and %ld) in %s intrinsic at %L"
+ msgstr "Longitudes de caracteres desiguales (%ld y %ld) en el intrínseco %s en %L"
+
+-#: fortran/check.c:535 fortran/check.c:1938 fortran/check.c:1953
++#: fortran/check.c:528 fortran/check.c:1932 fortran/check.c:1947
+ #, no-c-format
+ msgid "'%s' argument of '%s' intrinsic at %L must be ALLOCATABLE"
+ msgstr "El argumento '%s' del intrínseco '%s' en %L debe ser ALLOCATABLE"
+
+-#: fortran/check.c:559 fortran/check.c:3703
++#: fortran/check.c:552 fortran/check.c:3697
+ #, no-c-format
+ msgid "'%s' and '%s' arguments of '%s' intrinsic at %L must have the same type"
+ msgstr "Los argumentos '%s' y '%s' del intrínseco '%s' en %L deben tener el mismo tipo"
+
+-#: fortran/check.c:568 fortran/check.c:1143 fortran/check.c:1286
+-#: fortran/check.c:1360 fortran/check.c:1616
++#: fortran/check.c:561 fortran/check.c:1137 fortran/check.c:1280
++#: fortran/check.c:1354 fortran/check.c:1610
+ #, no-c-format
+ msgid "Extension: Different type kinds at %L"
+ msgstr "Extensión: Diferentes tipos de géneros en %L"
+
+-#: fortran/check.c:608 fortran/check.c:2022
++#: fortran/check.c:601 fortran/check.c:2016
+ #, no-c-format
+ msgid "'%s' argument of '%s' intrinsic at %L must be a POINTER"
+ msgstr "El argumento '%s' del intrínseco '%s' en %L debe ser un POINTER"
+
+-#: fortran/check.c:628
++#: fortran/check.c:621
+ #, no-c-format
+ msgid "'%s' argument of '%s' intrinsic at %L must be a pointer or target VARIABLE or FUNCTION"
+ msgstr "El argumento '%s' del intrínseco '%s' en %L debe ser un puntero u objetivo VARIABLE o FUNCTION"
+
+-#: fortran/check.c:636
++#: fortran/check.c:629
+ #, no-c-format
+ msgid "'%s' argument of '%s' intrinsic at %L must be a POINTER or a TARGET"
+ msgstr "El argumento '%s' del intrínseco '%s' en %L debe ser un POINTER o un TARGET"
+
+-#: fortran/check.c:652
++#: fortran/check.c:645
+ #, no-c-format
+ msgid "Array section with a vector subscript at %L shall not be the target of a pointer"
+ msgstr "Una sección de matriz con un subíndice vector en %L no debe ser el objetivo de un puntero"
+
+-#: fortran/check.c:663
++#: fortran/check.c:656
+ #, no-c-format
+ msgid "NULL pointer at %L is not permitted as actual argument of '%s' intrinsic function"
+ msgstr "No se permite un puntero NULL en %L como un argumento de la función intrínseca '%s'"
+
+-#: fortran/check.c:798 fortran/check.c:915
++#: fortran/check.c:791 fortran/check.c:910
+ #, no-c-format
+ msgid "'%s' argument of '%s' intrinsic at %L must not be present if 'x' is COMPLEX"
+ msgstr "El argumento '%s' del intrínseco '%s' en %L no debe estar presente si 'x' es COMPLEX"
+
+-#: fortran/check.c:848 fortran/check.c:1205 fortran/check.c:1308
+-#: fortran/check.c:1467 fortran/check.c:1484 fortran/check.c:2318
+-#: fortran/check.c:2444 fortran/check.c:2779 fortran/check.c:2821
++#: fortran/check.c:841 fortran/check.c:1199 fortran/check.c:1302
++#: fortran/check.c:1461 fortran/check.c:1478 fortran/check.c:2312
++#: fortran/check.c:2438 fortran/check.c:2773 fortran/check.c:2815
+ #, no-c-format
+ msgid "Fortran 2003: '%s' intrinsic with KIND argument at %L"
+ msgstr "Fortran 2003: Intrínseco '%s' con argumento KIND en %L"
+
+-#: fortran/check.c:964 fortran/check.c:1712 fortran/check.c:1720
++#: fortran/check.c:959 fortran/check.c:1706 fortran/check.c:1714
+ #, no-c-format
+ msgid "'%s' argument of '%s' intrinsic at %L must be numeric or LOGICAL"
+ msgstr "El argumento '%s' del intrínseco '%s' en %L debe ser numérico o LOGICAL"
+
+-#: fortran/check.c:978
++#: fortran/check.c:973
+ #, no-c-format
+ msgid "Different shape for arguments '%s' and '%s' at %L for intrinsic 'dot_product'"
+ msgstr "Formas diferentes para los argumentos '%s' y '%s' en %L para el intrínseco 'dot_product'"
+
+-#: fortran/check.c:997 fortran/check.c:1005
++#: fortran/check.c:992 fortran/check.c:1000
+ #, no-c-format
+ msgid "'%s' argument of '%s' intrinsic at %L must be default real"
+ msgstr "El argumento '%s' del intrínseco '%s' en %L debe ser real por defecto"
+
+-#: fortran/check.c:1256
++#: fortran/check.c:1250
+ #, no-c-format
+ msgid "Argument of %s at %L must be of length one"
+ msgstr "El argumento %s en %L debe ser de longitud uno"
+
+-#: fortran/check.c:1315
++#: fortran/check.c:1309
+ #, no-c-format
+ msgid "'%s' argument of '%s' intrinsic at %L must be the same kind as '%s'"
+ msgstr "El argumento '%s' del intrínseco '%s' en %L debe ser del mismo género que '%s'"
+
+-#: fortran/check.c:1440
++#: fortran/check.c:1434
+ #, no-c-format
+ msgid "'%s' argument of '%s' intrinsic at %L must be a non-derived type"
+ msgstr "El argumento '%s' del intrínseco '%s' en %L debe ser de un tipo no derivado"
+
+-#: fortran/check.c:1589
++#: fortran/check.c:1583
+ #, no-c-format
+ msgid "Intrinsic '%s' at %L must have at least two arguments"
+ msgstr "El intrínseco '%s' en %L debe tener al menos dos argumentos"
+
+-#: fortran/check.c:1622
++#: fortran/check.c:1616
+ #, no-c-format
+ msgid "'a%d' argument of '%s' intrinsic at %L must be %s(%d)"
+ msgstr "El argumento 'a%d' del intrínseco '%s' en %L debe ser %s(%d)"
+
+-#: fortran/check.c:1655
++#: fortran/check.c:1649
+ #, no-c-format
+ msgid "Fortran 2003: '%s' intrinsic with CHARACTER argument at %L"
+ msgstr "Fortran 2003: Intrínseco '%s' con argumento CHARACTER en %L"
+
+-#: fortran/check.c:1662
++#: fortran/check.c:1656
+ #, no-c-format
+ msgid "'a1' argument of '%s' intrinsic at %L must be INTEGER, REAL or CHARACTER"
+ msgstr "El argumento 'a1' del intrínseco '%s' en %L debe ser INTEGER, REAL o CHARACTER"
+
+-#: fortran/check.c:1734
++#: fortran/check.c:1728
+ #, no-c-format
+ msgid "Different shape on dimension 1 for arguments '%s' and '%s' at %L for intrinsic matmul"
+ msgstr "Formas diferentes en la dimensión 1 para los argumentos '%s' y '%s' en %L para el intrínseco matmul"
+
+-#: fortran/check.c:1753
++#: fortran/check.c:1747
+ #, no-c-format
+ msgid "Different shape on dimension 2 for argument '%s' and dimension 1 for argument '%s' at %L for intrinsic matmul"
+ msgstr "Formas diferentes en la dimensión 2 para el argumento '%s' y en la dimensión 1 para el argumento '%s' en %L para el intrínseco matmul"
+
+-#: fortran/check.c:1762
++#: fortran/check.c:1756
+ #, no-c-format
+ msgid "'%s' argument of '%s' intrinsic at %L must be of rank 1 or 2"
+ msgstr "El argumento '%s' del intrínseco '%s' en %L debe ser de rango 1 o 2"
+
+-#: fortran/check.c:1964
++#: fortran/check.c:1958
+ #, no-c-format
+ msgid "the '%s' and '%s' arguments of '%s' intrinsic at %L must have the same rank %d/%d"
+ msgstr "Los argumentos '%s' y '%s' del intrínseco '%s' en %L deben tener el mismo rango %d/%d"
+
+-#: fortran/check.c:1973
++#: fortran/check.c:1967
+ #, no-c-format
+ msgid "the '%s' and '%s' arguments of '%s' intrinsic at %L must be of the same kind %d/%d"
+ msgstr "Los argumentos '%s' y '%s' del intrínseco '%s' en %L deben ser del mismo género %d/%d"
+
+-#: fortran/check.c:2069
++#: fortran/check.c:2063
+ #, no-c-format
+ msgid "'%s' argument of '%s' intrinsic at %L must be of type REAL or COMPLEX"
+ msgstr "El argumento '%s' del intrínseco '%s' en %L debe ser de tipo REAL o COMPLEX"
+
+-#: fortran/check.c:2090
++#: fortran/check.c:2084
+ #, no-c-format
+ msgid "'%s' argument of '%s' intrinsic at %L must be of a dummy variable"
+ msgstr "El argumento '%s' del intrínseco '%s' en %L debe ser de una variable dummy"
+
+-#: fortran/check.c:2098
++#: fortran/check.c:2092
+ #, no-c-format
+ msgid "'%s' argument of '%s' intrinsic at %L must be of an OPTIONAL dummy variable"
+ msgstr "El argumento '%s' del intrínseco '%s' en %L debe ser de una variable dummy OPTIONAL"
+
+-#: fortran/check.c:2114
++#: fortran/check.c:2108
+ #, no-c-format
+ msgid "'%s' argument of '%s' intrinsic at %L must not be a subobject of '%s'"
+ msgstr "El argumento '%s' del intrínseco '%s' en %L no debe ser un subobjeto de '%s'"
+
+-#: fortran/check.c:2231
++#: fortran/check.c:2225
+ #, no-c-format
+ msgid "'shape' argument of 'reshape' intrinsic at %L must be an array of constant size"
+ msgstr "El argumento 'shape' del intrínseco 'reshape' en %L debe ser una matriz de tamaño constante"
+
+-#: fortran/check.c:2241
++#: fortran/check.c:2235
+ #, no-c-format
+ msgid "'shape' argument of 'reshape' intrinsic at %L has more than %d elements"
+ msgstr "El argumento 'shape' del intrínseco 'reshape' en %L tiene más de %d elementos"
+
+-#: fortran/check.c:2279
++#: fortran/check.c:2273
+ #, no-c-format
+ msgid "Without padding, there are not enough elements in the intrinsic RESHAPE source at %L to match the shape"
+ msgstr "Sin relleno, no hay suficientes elementos en el intrínseco RESHAPE fuente en %L para coincidir con la forma"
+
+-#: fortran/check.c:2364
++#: fortran/check.c:2358
+ #, no-c-format
+ msgid "Missing arguments to %s intrinsic at %L"
+ msgstr "Faltan argumentos para el intrínseco %s en %L"
+
+-#: fortran/check.c:2405
++#: fortran/check.c:2399
+ #, no-c-format
+ msgid "'source' argument of 'shape' intrinsic at %L must not be an assumed size array"
+ msgstr "El argumento 'source' del intrínseco 'shape' en %L no debe ser un tamaño de matriz asumido"
+
+-#: fortran/check.c:2479
++#: fortran/check.c:2473
+ #, no-c-format
+ msgid "'%s' argument of '%s' intrinsic at %L must be less than rank %d"
+ msgstr "El argumento '%s' del intrínseco '%s' en %L debe ser menor que el rango %d"
+
+-#: fortran/check.c:2731
++#: fortran/check.c:2725
+ #, no-c-format
+ msgid "'MOLD' argument of 'TRANSFER' intrinsic at %L must not be %s"
+ msgstr "El argumento 'MOLD' del intrínseco 'TRANSFER' en %L no debe ser %s"
+
+-#: fortran/check.c:3050
++#: fortran/check.c:3044
+ #, no-c-format
+ msgid "Too many arguments to %s at %L"
+ msgstr "Demasiados argumentos para %s en %L"
+
+-#: fortran/check.c:3162 fortran/check.c:3616 fortran/check.c:3640
++#: fortran/check.c:3156 fortran/check.c:3610 fortran/check.c:3634
+ #, no-c-format
+ msgid "'%s' argument of '%s' intrinsic at %L must be INTEGER or PROCEDURE"
+ msgstr "El argumento '%s' del intrínseco '%s' en %L debe ser INTEGER o PROCEDURE"
+
+-#: fortran/check.c:3338
++#: fortran/check.c:3332
+ #, no-c-format
+ msgid "'%s' argument of '%s' intrinsic at %L must be of a kind not wider than the default kind (%d)"
+ msgstr "El argumento '%s' del intrínseco '%s' en %L debe ser de un género que no sea más ancho que el género por defecto (%d)"
+
+-#: fortran/check.c:3687 fortran/check.c:3695
++#: fortran/check.c:3681 fortran/check.c:3689
+ #, no-c-format
+ msgid "'%s' argument of '%s' intrinsic at %L must be INTEGER or LOGICAL"
+ msgstr "El argumento '%s' del intrínseco '%s' en %L debe ser INTEGER o LOGICAL"
+@@ -4250,177 +4173,187 @@
+ msgid "'%s' at %L already is initialized at %L"
+ msgstr "'%s' en %L ya se inicializó en %L"
+
+-#: fortran/data.c:412
++#: fortran/data.c:317
+ #, no-c-format
++msgid "Data element below array lower bound at %L"
++msgstr "Elemeto de datos debajo del límite inferior de la matriz en %L"
++
++#: fortran/data.c:329
++#, no-c-format
++msgid "Data element above array upper bound at %L"
++msgstr "Elemento de datos arriba del límite superior en %L"
++
++#: fortran/data.c:435
++#, no-c-format
+ msgid "Extension: re-initialization of '%s' at %L"
+ msgstr "Extensión: reinicialización de '%s' en %L"
+
+-#: fortran/decl.c:254
++#: fortran/decl.c:253
+ #, no-c-format
+ msgid "Host associated variable '%s' may not be in the DATA statement at %C"
+ msgstr "La variable asociada al anfitrión '%s' no debe estar en la declaración DATA en %C"
+
+-#: fortran/decl.c:261
++#: fortran/decl.c:260
+ #, no-c-format
+ msgid "Extension: initialization of common block variable '%s' in DATA statement at %C"
+ msgstr "Extensión: inicialización de la variable de bloque común '%s' en la declaración DATA en %C"
+
+-#: fortran/decl.c:366
++#: fortran/decl.c:365
+ #, no-c-format
+ msgid "Symbol '%s' must be a PARAMETER in DATA statement at %C"
+ msgstr "El símbolo '%s' debe ser un PARAMETER en la declaración DATA en %C"
+
+-#: fortran/decl.c:470
++#: fortran/decl.c:390
+ #, no-c-format
++msgid "Invalid initializer %s in Data statement at %C"
++msgstr "Inicializador %s inválido en la declaración Data en %C"
++
++#: fortran/decl.c:493
++#, no-c-format
+ msgid "Initialization at %C is not allowed in a PURE procedure"
+ msgstr "No se permite la inicialización de %C en un procedimiento PURE"
+
+-#: fortran/decl.c:529
++#: fortran/decl.c:552
+ #, no-c-format
+ msgid "DATA statement at %C is not allowed in a PURE procedure"
+ msgstr "No se permite la declaración DATA en %C en un procedimiento PURE"
+
+-#: fortran/decl.c:558
++#: fortran/decl.c:581
+ #, no-c-format
+ msgid "Bad INTENT specification at %C"
+ msgstr "Especificación INTENT errónea en %C"
+
+-#: fortran/decl.c:600
++#: fortran/decl.c:623
+ #, no-c-format
+ msgid "Conflict in attributes of function argument at %C"
+ msgstr "Conflicto en los atributos de los argumentos de la función en %C"
+
+-#: fortran/decl.c:647
++#: fortran/decl.c:676
+ #, no-c-format
+ msgid "Syntax error in character length specification at %C"
+ msgstr "Error sintáctico en la especificación de longitud de carácter en %C"
+
+-#: fortran/decl.c:757
++#: fortran/decl.c:795
+ #, no-c-format
+ msgid "Procedure '%s' at %C is already defined at %L"
+ msgstr "El procedimiento '%s' en %C ya se había definido en %L"
+
+-#: fortran/decl.c:765
++#: fortran/decl.c:803
+ #, no-c-format
+ msgid "Name '%s' at %C is already defined as a generic interface at %L"
+ msgstr "El nombre '%s' en %C ya se definió como una interfaz genérica en %L"
+
+-#: fortran/decl.c:778
++#: fortran/decl.c:816
+ #, no-c-format
+ msgid "Procedure '%s' at %C has an explicit interface and must not have attributes declared at %L"
+ msgstr "El procedimiento '%s' en %C tiene una interfaz explícita y no debe tener atributos declarados en %L"
+
+-#: fortran/decl.c:850
++#: fortran/decl.c:888
+ #, no-c-format
+ msgid "Procedure '%s' at %L must have the BIND(C) attribute to be C interoperable"
+ msgstr "El procedimiento '%s' en %L debe tener el atributo BIND(C) para que sea interoperable con C"
+
+-#: fortran/decl.c:880
++#: fortran/decl.c:918
+ #, no-c-format
+ msgid "Type '%s' at %L is a parameter to the BIND(C) procedure '%s' but is not C interoperable because derived type '%s' is not C interoperable"
+ msgstr "El tipo '%s' en %L es un parámetro del procedimiento BIND(C) '%s' pero no es interoperable con C porque el tipo derivado '%s' no es interoperable con C"
+
+-#: fortran/decl.c:887
++#: fortran/decl.c:925
+ #, no-c-format
+ msgid "Variable '%s' at %L is a parameter to the BIND(C) procedure '%s' but may not be C interoperable"
+ msgstr "La variable '%s' en %L es un parámetro del procedimiento BIND(C) '%s' pero puede no ser interoperable con C"
+
+-#: fortran/decl.c:902
++#: fortran/decl.c:940
+ #, no-c-format
+ msgid "Character argument '%s' at %L must be length 1 because procedure '%s' is BIND(C)"
+ msgstr "El argumento de carácter '%s' en %L debe ser de longitud 1 porque el procedimiento '%s' es BIND(C)"
+
+-#: fortran/decl.c:916
++#: fortran/decl.c:954
+ #, no-c-format
+ msgid "Variable '%s' at %L cannot have the ALLOCATABLE attribute because procedure '%s' is BIND(C)"
+ msgstr "La variable '%s' en %L no puede tener el atributo ALLOCATABLE porque el procedimiento '%s' es BIND(C)"
+
+-#: fortran/decl.c:925
++#: fortran/decl.c:963
+ #, no-c-format
+ msgid "Variable '%s' at %L cannot have the POINTER attribute because procedure '%s' is BIND(C)"
+ msgstr "La variable '%s' en %L no puede tener el atributo POINTER porque el procedimiento '%s' es BIND(C)"
+
+-#: fortran/decl.c:934
++#: fortran/decl.c:972
+ #, no-c-format
+ msgid "Variable '%s' at %L cannot have the OPTIONAL attribute because procedure '%s' is BIND(C)"
+ msgstr "La variable '%s' en %L no puede tener el atributo OPTIONAL porque el procedimiento '%s' es BIND(C)"
+
+-#: fortran/decl.c:947
++#: fortran/decl.c:985
+ #, no-c-format
+ msgid "Assumed-shape array '%s' at %L cannot be an argument to the procedure '%s' at %L because the procedure is BIND(C)"
+ msgstr "La matriz de forma asumida '%s' en %L no puede ser un argumento para el procedimiento '%s' en %L porque el procedimiento es BIND(C)"
+
+-#: fortran/decl.c:957
++#: fortran/decl.c:995
+ #, no-c-format
+ msgid "Deferred-shape array '%s' at %L cannot be an argument to the procedure '%s' at %L because the procedure is BIND(C)"
+ msgstr "La matriz de forma diferida '%s' en %L no puede ser un argumento para el procedimiento '%s' porque el procedimiento es BIND(C)"
+
+-#: fortran/decl.c:1033
++#: fortran/decl.c:1071
+ #, no-c-format
+ msgid "Variable '%s' in common block '%s' at %C must be declared with a C interoperable kind since common block '%s' is BIND(C)"
+ msgstr "La variable '%s' en el bloque común '%s' en %C se debe declarar con un género interoperable con C porque el bloque común '%s' es BIND(C)"
+
+-#: fortran/decl.c:1069
++#: fortran/decl.c:1107
+ #, no-c-format
+ msgid "CHARACTER expression at %L is being truncated (%d/%d)"
+ msgstr "Se trunca la expresión CHARACTER en %L (%d/%d)"
+
+-#: fortran/decl.c:1075
++#: fortran/decl.c:1113
+ #, no-c-format
+ msgid "The CHARACTER elements of the array constructor at %L must have the same length (%d/%d)"
+ msgstr "Los elementos CHARACTER del constructor de matriz en %L deben tener la misma longitud (%d/%d)"
+
+-#: fortran/decl.c:1165
++#: fortran/decl.c:1203
+ #, no-c-format
+ msgid "Initializer not allowed for PARAMETER '%s' at %C"
+ msgstr "No se permite un inicializador para el PARAMETER '%s' en %C"
+
+-#: fortran/decl.c:1174
++#: fortran/decl.c:1213
+ #, no-c-format
+-msgid "Initializer not allowed for COMMON variable '%s' at %C"
+-msgstr "No se permite un inicializador para la variable COMMON '%s' en %C"
+-
+-#: fortran/decl.c:1184
+-#, no-c-format
+ msgid "PARAMETER at %L is missing an initializer"
+ msgstr "Falta un inicializador para el PARAMETER en %L"
+
+-#: fortran/decl.c:1194
++#: fortran/decl.c:1223
+ #, no-c-format
+ msgid "Variable '%s' at %C with an initializer already appears in a DATA statement"
+ msgstr "La variable '%s' en %C con un inicializador ya aparecía en una declaración DATA"
+
+-#: fortran/decl.c:1344
++#: fortran/decl.c:1373
+ #, no-c-format
+ msgid "Component at %C must have the POINTER attribute"
+ msgstr "El componente en %C debe tener el atributo POINTER"
+
+-#: fortran/decl.c:1352
++#: fortran/decl.c:1381
+ #, no-c-format
+ msgid "Array component of structure at %C must have explicit or deferred shape"
+ msgstr "El componente de matriz de la estructura en %C debe tener una forma explícita o diferida"
+
+-#: fortran/decl.c:1378
++#: fortran/decl.c:1425
+ #, no-c-format
+ msgid "Allocatable component at %C must be an array"
+ msgstr "El componente allocatable en %C debe ser una matriz"
+
+-#: fortran/decl.c:1389
++#: fortran/decl.c:1436
+ #, no-c-format
+ msgid "Pointer array component of structure at %C must have a deferred shape"
+ msgstr "El componente de matriz de puntero de la estructura en %C debe tener una forma diferida"
+
+-#: fortran/decl.c:1398
++#: fortran/decl.c:1445
+ #, no-c-format
+ msgid "Allocatable component of structure at %C must have a deferred shape"
+ msgstr "El componente allocatable de la estructura en %C debe tener una forma diferida"
+
+-#: fortran/decl.c:1407
++#: fortran/decl.c:1454
+ #, no-c-format
+ msgid "Array component of structure at %C must have an explicit shape"
+ msgstr "El componente de matriz de la estructura en %C debe tener una forma explícita"
+
+-#: fortran/decl.c:1433
++#: fortran/decl.c:1480
+ #, no-c-format
+ msgid "NULL() initialization at %C is ambiguous"
+ msgstr "La inicialización NULL() en %C es ambigua"
+@@ -4430,715 +4363,741 @@
+ # como `apuntado'. cfuga
+ # Referencia: http://gcc.gnu.org/onlinedocs/gfortran/Cray-pointers.html
+ #
+-#: fortran/decl.c:1556 fortran/decl.c:5197
++#: fortran/decl.c:1603 fortran/decl.c:5395
+ #, no-c-format
+ msgid "Duplicate array spec for Cray pointee at %C"
+ msgstr "Especificación de matriz duplicada para el apuntado Cray en %C"
+
+-#: fortran/decl.c:1616
++#: fortran/decl.c:1663
+ #, no-c-format
+ msgid "the type of '%s' at %C has not been declared within the interface"
+ msgstr "no se declaró el tipo de '%s' en %C en la interfaz"
+
+-#: fortran/decl.c:1632
++#: fortran/decl.c:1679
+ #, no-c-format
+ msgid "Function name '%s' not allowed at %C"
+ msgstr "No se permite el nombre de función '%s' en %C"
+
+-#: fortran/decl.c:1648
++#: fortran/decl.c:1695
+ #, no-c-format
+ msgid "Extension: Old-style initialization at %C"
+ msgstr "Extensión: Inicialización de estilo antiguo en %C"
+
+-#: fortran/decl.c:1663
++#: fortran/decl.c:1710
+ #, no-c-format
+ msgid "Initialization at %C isn't for a pointer variable"
+ msgstr "La inicialización en %C no es para una variable puntero"
+
+-#: fortran/decl.c:1671
++#: fortran/decl.c:1718
+ #, no-c-format
+ msgid "Pointer initialization requires a NULL() at %C"
+ msgstr "La inicialización de puntero requiere un NULL() en %C"
+
+-#: fortran/decl.c:1677
++#: fortran/decl.c:1724
+ #, no-c-format
+ msgid "Initialization of pointer at %C is not allowed in a PURE procedure"
+ msgstr "No se permite la inicialización de un puntero en %C en un procedimiento PURE"
+
+-#: fortran/decl.c:1690
++#: fortran/decl.c:1737
+ #, no-c-format
+ msgid "Pointer initialization at %C requires '=>', not '='"
+ msgstr "La inicialización de puntero en %C requiere '=>', no '='"
+
+-#: fortran/decl.c:1699 fortran/decl.c:6129
++#: fortran/decl.c:1746 fortran/decl.c:6361
+ #, no-c-format
+ msgid "Expected an initialization expression at %C"
+ msgstr "Se esperaba una expresión de inicialización en %C"
+
+-#: fortran/decl.c:1705
++#: fortran/decl.c:1752
+ #, no-c-format
+ msgid "Initialization of variable at %C is not allowed in a PURE procedure"
+ msgstr "No se permite la inicialización de una variable en %C en un procedimiento PURE"
+
+-#: fortran/decl.c:1718
++#: fortran/decl.c:1765
+ #, no-c-format
+ msgid "Initialization of allocatable component at %C is not allowed"
+ msgstr "No se permite la inicialización del componente allocatable en %C"
+
+-#: fortran/decl.c:1772 fortran/decl.c:1781
++#: fortran/decl.c:1819 fortran/decl.c:1828
+ #, no-c-format
+ msgid "Old-style type declaration %s*%d not supported at %C"
+ msgstr "No se admite la declaración de tipo de estilo antiguo %s*%d en %C"
+
+-#: fortran/decl.c:1786
++#: fortran/decl.c:1833
+ #, no-c-format
+ msgid "Nonstandard type declaration %s*%d at %C"
+ msgstr "Declaración de tipo %s*%d no estándar en %C"
+
+-#: fortran/decl.c:1838 fortran/decl.c:1897
++#: fortran/decl.c:1884 fortran/decl.c:1948
+ #, no-c-format
+ msgid "Missing right parenthesis at %C"
+ msgstr "Falta el paréntesis derecho en %C"
+
+-#: fortran/decl.c:1853 fortran/decl.c:1931
++#: fortran/decl.c:1897 fortran/decl.c:1993
+ #, no-c-format
+ msgid "Expected initialization expression at %C"
+ msgstr "Se esperaba una expresión de inicialización en %C"
+
+-#: fortran/decl.c:1861 fortran/decl.c:1937
++#: fortran/decl.c:1905 fortran/decl.c:1999
+ #, no-c-format
+ msgid "Expected scalar initialization expression at %C"
+ msgstr "Se esperaba una expresión de inicialización escalar en %C"
+
+-#: fortran/decl.c:1891
++#: fortran/decl.c:1936
+ #, no-c-format
+ msgid "Kind %d not supported for type %s at %C"
+ msgstr "No se admite el género %d para el tipo %s en %C"
+
+-#: fortran/decl.c:1957
++#: fortran/decl.c:1946
+ #, no-c-format
++msgid "Missing right parenthesis or comma at %C"
++msgstr "Falta el paréntesis derecho o una coma en %C"
++
++#: fortran/decl.c:2019
++#, no-c-format
+ msgid "Kind %d is not supported for CHARACTER at %C"
+ msgstr "No se admite el género %d para CHARACTER en %C"
+
+-#: fortran/decl.c:2086
++#: fortran/decl.c:2148
+ #, no-c-format
+ msgid "Syntax error in CHARACTER declaration at %C"
+ msgstr "Error sintáctico en la declaración CHARACTER en %C"
+
+-#: fortran/decl.c:2156
++#: fortran/decl.c:2233
+ #, no-c-format
+ msgid "Extension: BYTE type at %C"
+ msgstr "Extensión: tipo BYTE en %C"
+
+-#: fortran/decl.c:2162
++#: fortran/decl.c:2239
+ #, no-c-format
+ msgid "BYTE type used at %C is not available on the target machine"
+ msgstr "El tipo BYTE usado en %C no está disponible en la máquina objetivo"
+
+-#: fortran/decl.c:2211
++#: fortran/decl.c:2288
+ #, no-c-format
+ msgid "DOUBLE COMPLEX at %C does not conform to the Fortran 95 standard"
+ msgstr "DOUBLE COMPLEX en %C no conforma con el estándar Fortran 95"
+
+-#: fortran/decl.c:2245 fortran/decl.c:2252 fortran/decl.c:2558
+-#: fortran/decl.c:2566
++#: fortran/decl.c:2328 fortran/decl.c:2337 fortran/decl.c:2649
++#: fortran/decl.c:2657
+ #, no-c-format
+ msgid "Type name '%s' at %C is ambiguous"
+ msgstr "El nombre de tipo '%s' en %C es ambiguo"
+
+-#: fortran/decl.c:2321
++#: fortran/decl.c:2412
+ #, no-c-format
+ msgid "Missing character range in IMPLICIT at %C"
+ msgstr "Falta el rango de carácter en IMPLICIT en %C"
+
+-#: fortran/decl.c:2367
++#: fortran/decl.c:2458
+ #, no-c-format
+ msgid "Letters must be in alphabetic order in IMPLICIT statement at %C"
+ msgstr "Las letras debe estar en orden alfabético en la declaración IMPLICIT en %C"
+
+-#: fortran/decl.c:2421
++#: fortran/decl.c:2512
+ #, no-c-format
+ msgid "Empty IMPLICIT statement at %C"
+ msgstr "Declaración IMPLICIT vacía en %C"
+
+-#: fortran/decl.c:2524
++#: fortran/decl.c:2615
+ #, no-c-format
+ msgid "IMPORT statement at %C only permitted in an INTERFACE body"
+ msgstr "La declaración IMPORT en %C sólo se permite en un cuerpo INTERFACE"
+
+-#: fortran/decl.c:2529
++#: fortran/decl.c:2620
+ #, no-c-format
+ msgid "Fortran 2003: IMPORT statement at %C"
+ msgstr "Fortran 2003: Declaración IMPORT en %C"
+
+-#: fortran/decl.c:2544
++#: fortran/decl.c:2635
+ #, no-c-format
+ msgid "Expecting list of named entities at %C"
+ msgstr "Se espera la lista de entidades nombradas %C"
+
+-#: fortran/decl.c:2572
++#: fortran/decl.c:2663
+ #, no-c-format
+ msgid "Cannot IMPORT '%s' from host scoping unit at %C - does not exist."
+ msgstr "No se puede IMPORTar '%s' desde la unidad de ámbito del anfitrión en %C - no existe."
+
+-#: fortran/decl.c:2579
++#: fortran/decl.c:2670
+ #, no-c-format
+ msgid "'%s' is already IMPORTed from host scoping unit at %C."
+ msgstr "'%s' ya se IMPORTó desde la unidad de ámbito del anfitrión en %C."
+
+-#: fortran/decl.c:2608
++#: fortran/decl.c:2699
+ #, no-c-format
+ msgid "Syntax error in IMPORT statement at %C"
+ msgstr "Error sintáctico en la declaración IMPORT en %C"
+
+-#: fortran/decl.c:2850
++#: fortran/decl.c:2941
+ #, no-c-format
+ msgid "Missing dimension specification at %C"
+ msgstr "Falta la especificación de dimensión en %C"
+
+-#: fortran/decl.c:2924
++#: fortran/decl.c:3015
+ #, no-c-format
+ msgid "Duplicate %s attribute at %L"
+ msgstr "Atributo %s duplicado en %L"
+
+-#: fortran/decl.c:2943
++#: fortran/decl.c:3034
+ #, no-c-format
+ msgid "Fortran 2003: ALLOCATABLE attribute at %C in a TYPE definition"
+ msgstr "Fortran 2003: atributo ALLOCATABLE en %C en una definición TYPE"
+
+-#: fortran/decl.c:2953
++#: fortran/decl.c:3044
+ #, no-c-format
+ msgid "Attribute at %L is not allowed in a TYPE definition"
+ msgstr "No se permite el atributo %L en una definición TYPE"
+
+-#: fortran/decl.c:2971
++#: fortran/decl.c:3062
+ #, no-c-format
+ msgid "Fortran 2003: Attribute %s at %L in a TYPE definition"
+ msgstr "Fortran 2003: Atributo %s en %L en una definición TYPE"
+
+-#: fortran/decl.c:2982
++#: fortran/decl.c:3073
+ #, no-c-format
+ msgid "%s attribute at %L is not allowed outside of the specification part of a module"
+ msgstr "No se permite el atributo %s en %L fuera de la parte de especificación de un módulo"
+
+-#: fortran/decl.c:3034 fortran/decl.c:5437
++#: fortran/decl.c:3125 fortran/decl.c:5635
+ #, no-c-format
+ msgid "PROTECTED at %C only allowed in specification part of a module"
+ msgstr "Sólo se permite PROTECTED en %C en la parte de especificación de un módulo"
+
+-#: fortran/decl.c:3040
++#: fortran/decl.c:3131
+ #, no-c-format
+ msgid "Fortran 2003: PROTECTED attribute at %C"
+ msgstr "Fortran 2003: Atributo PROTECTED en %C"
+
+-#: fortran/decl.c:3071
++#: fortran/decl.c:3162
+ #, no-c-format
+ msgid "Fortran 2003: VALUE attribute at %C"
+ msgstr "Fortran 2003: Atributo VALUE en %C"
+
+-#: fortran/decl.c:3081
++#: fortran/decl.c:3172
+ #, no-c-format
+ msgid "Fortran 2003: VOLATILE attribute at %C"
+ msgstr "Fortran 2003: Atributo VOLATILE en %C"
+
+-#: fortran/decl.c:3121
++#: fortran/decl.c:3212
+ #, no-c-format
+ msgid "Multiple identifiers provided with single NAME= specifier at %C"
+ msgstr "Se proveen múltiples identificadores con un sólo especificador NAME= en %C"
+
+ #. Print an error, but continue parsing line.
+-#: fortran/decl.c:3171
++#: fortran/decl.c:3261
+ #, no-c-format
+ msgid "C kind parameter is for type %s but symbol '%s' at %L is of type %s"
+ msgstr "El parámetro de género C es para el tipo %s, pero el símbolo '%s' en %L es de tipo %s"
+
+-#: fortran/decl.c:3235
++#: fortran/decl.c:3325
+ #, no-c-format
+ msgid "Implicitly declared BIND(C) function '%s' at %L may not be C interoperable"
+ msgstr "La función implícitamente declarada BIND(C) '%s' en %L no puede ser interoperable con C"
+
+-#: fortran/decl.c:3257
++#: fortran/decl.c:3347
+ #, no-c-format
+ msgid "Variable '%s' in common block '%s' at %L may not be a C interoperable kind though common block '%s' is BIND(C)"
+ msgstr "La variable '%s' en el bloque común '%s' en %L no puede ser un género interoperable con C ya que el bloque común '%s' es BIND(C)"
+
+-#: fortran/decl.c:3266
++#: fortran/decl.c:3356
+ #, no-c-format
+ msgid "Type declaration '%s' at %L is not C interoperable but it is BIND(C)"
+ msgstr "La declaración de tipo '%s' en %L no es interoperable con C pero es BIND(C)"
+
+-#: fortran/decl.c:3270
++#: fortran/decl.c:3360
+ #, no-c-format
+ msgid "Variable '%s' at %L may not be a C interoperable kind but it is bind(c)"
+ msgstr "La variable '%s' en %L no es de un género interoperable con C pero es BIND(C)"
+
+-#: fortran/decl.c:3282
++#: fortran/decl.c:3372
+ #, no-c-format
+ msgid "Variable '%s' in common block '%s' at %L cannot be declared with BIND(C) since it is not a global"
+ msgstr "La variable '%s' en el bloque común '%s' en %L no se puede declarar con BIND(C) porque no es un global"
+
+-#: fortran/decl.c:3296
++#: fortran/decl.c:3386
+ #, no-c-format
+ msgid "Variable '%s' at %L cannot have both the POINTER and BIND(C) attributes"
+ msgstr "La variable '%s' en %L no puede tener los atributos POINTER y BIND(C) al mismo tiempo"
+
+-#: fortran/decl.c:3304
++#: fortran/decl.c:3394
+ #, no-c-format
+ msgid "Variable '%s' at %L cannot have both the ALLOCATABLE and BIND(C) attributes"
+ msgstr "La variable '%s' en %L no puede tener los atributos ALLOCATABLE y BIND(C) al mismo tiempo"
+
+-#: fortran/decl.c:3314
++#: fortran/decl.c:3404
+ #, no-c-format
+ msgid "Return type of BIND(C) function '%s' at %L cannot be an array"
+ msgstr "El tipo de devolución de la función BIND(C) '%s' en %L no puede ser una matriz"
+
+-#: fortran/decl.c:3322
++#: fortran/decl.c:3412
+ #, no-c-format
+ msgid "Return type of BIND(C) function '%s' at %L cannot be a character string"
+ msgstr "El tipo de devolución de la función BIND(C) '%s' en %L no puede ser una cadena de caracteres"
+
+ #. Use gfc_warning_now because we won't say that the symbol fails
+ #. just because of this.
+-#: fortran/decl.c:3334
++#: fortran/decl.c:3424
+ #, no-c-format
+ msgid "Symbol '%s' at %L is marked PRIVATE but has been given the binding label '%s'"
+ msgstr "El símbolo '%s' en %L se marcó PRIVATE pero se le dio la etiqueta de asignación '%s'"
+
+-#: fortran/decl.c:3409
++#: fortran/decl.c:3499
+ #, no-c-format
+ msgid "Need either entity or common block name for attribute specification statement at %C"
+ msgstr "Se necesita una entidad o un nombre de bloque común para la declaración de especificación de atributo en %C"
+
+-#: fortran/decl.c:3456
++#: fortran/decl.c:3546
+ #, no-c-format
+ msgid "Missing entity or common block name for attribute specification statement at %C"
+ msgstr "Falta la entidad o el nombre de bloque común para la declaración de especificación de atributo en %C"
+
+ #. Now we have an error, which we signal, and then fix up
+ #. because the knock-on is plain and simple confusing.
+-#: fortran/decl.c:3563
++#: fortran/decl.c:3653
+ #, no-c-format
+ msgid "Derived type at %C has not been previously defined and so cannot appear in a derived type definition"
+ msgstr "El tipo derivado en %C no se definió previamente y no puede aparecer en una definición de tipo derivado"
+
+-#: fortran/decl.c:3595
++#: fortran/decl.c:3685
+ #, no-c-format
+ msgid "Syntax error in data declaration at %C"
+ msgstr "Error sintáctico en la declaración de datos en %C"
+
+-#: fortran/decl.c:3742
++#: fortran/decl.c:3832
+ #, no-c-format
+ msgid "Name '%s' at %C is the name of the procedure"
+ msgstr "El nombre '%s' en %C es el nombre del procedimiento"
+
+-#: fortran/decl.c:3754
++#: fortran/decl.c:3844
+ #, no-c-format
+ msgid "Unexpected junk in formal argument list at %C"
+ msgstr "Basura inesperada en la lista de argumentos formales en %C"
+
+-#: fortran/decl.c:3771
++#: fortran/decl.c:3861
+ #, no-c-format
+ msgid "Duplicate symbol '%s' in formal argument list at %C"
+ msgstr "Símbolo '%s' duplicado en la lista de argumentos formales en %C"
+
+-#: fortran/decl.c:3822
++#: fortran/decl.c:3912
+ #, no-c-format
+ msgid "RESULT variable at %C must be different than function name"
+ msgstr "La variable RESULT en %C debe ser diferente que el nombre de la función"
+
+-#: fortran/decl.c:3892
++#: fortran/decl.c:3990
+ #, no-c-format
+ msgid "Unexpected junk after function declaration at %C"
+ msgstr "Basura inesperada después de la declaración de la función en %C"
+
+-#: fortran/decl.c:3951
++#: fortran/decl.c:4000 fortran/decl.c:4734
+ #, no-c-format
++msgid "Extension: BIND(C) attribute at %L may not be specified for an internal procedure"
++msgstr "Extensión: El atributo BIND(C) en %L no se puede especificar para un procedimiento internal"
++
++#: fortran/decl.c:4066
++#, no-c-format
+ msgid "Interface '%s' at %C may not be generic"
+ msgstr "La interfaz '%s' en %C puede no ser generic"
+
+-#: fortran/decl.c:3956
++#: fortran/decl.c:4071
+ #, no-c-format
+ msgid "Interface '%s' at %C may not be a statement function"
+ msgstr "La interfaz '%s' en %C puede no ser una función de declaración"
+
+-#: fortran/decl.c:3967
++#: fortran/decl.c:4082
+ #, no-c-format
+ msgid "Intrinsic procedure '%s' not allowed in PROCEDURE statement at %C"
+ msgstr "El procedimiento intrínseco '%s' no se permite en la declaración PROCEDURE en %C"
+
+-#: fortran/decl.c:3975
++#: fortran/decl.c:4118
+ #, no-c-format
+-msgid "Fortran 2003: Support for intrinsic procedure '%s' in PROCEDURE statement at %C not yet implemented in gfortran"
+-msgstr "Fortran 2003: El procedimiento intrínseco '%s' en la declaración PROCEDURE en %C aún no se admite en gfortran"
+-
+-#: fortran/decl.c:4014
+-#, no-c-format
+ msgid "BIND(C) attribute at %C requires an interface with BIND(C)"
+ msgstr "El atributo BIND(C) en %C requiere una interfaz con BIND(C)"
+
+-#: fortran/decl.c:4021
++#: fortran/decl.c:4125
+ #, no-c-format
+ msgid "BIND(C) procedure with NAME may not have POINTER attribute at %C"
+ msgstr "El procedimiento BIND(C) con NAME no debe tener atributo POINTER en %C"
+
+-#: fortran/decl.c:4027
++#: fortran/decl.c:4131
+ #, no-c-format
+ msgid "Dummy procedure at %C may not have BIND(C) attribute with NAME"
+ msgstr "El procedimiento dummy en %C no puede tener atributo BIND(C) con NAME"
+
+-#: fortran/decl.c:4060 fortran/decl.c:4103
++#: fortran/decl.c:4167 fortran/decl.c:4210
+ #, no-c-format
+ msgid "Syntax error in PROCEDURE statement at %C"
+ msgstr "Error sintáctico en la declaración PROCEDURE en %C"
+
+-#: fortran/decl.c:4077
++#: fortran/decl.c:4184
+ #, no-c-format
+ msgid "PROCEDURE at %C must be in a generic interface"
+ msgstr "PROCEDURE en %C debe estar en una interfaz genérica"
+
+-#: fortran/decl.c:4128
++#: fortran/decl.c:4235
+ #, no-c-format
+ msgid "Fortran 2003: Procedure components at %C are not yet implemented in gfortran"
+ msgstr "Fortran 2003: Los componentes del procedimiento en %C aún no se admiten en gfortran"
+
+-#: fortran/decl.c:4138
++#: fortran/decl.c:4245
+ #, no-c-format
+ msgid "Fortran 2003: PROCEDURE statement at %C"
+ msgstr "Fortran 2003: Declaración PROCEDURE en %C"
+
+-#: fortran/decl.c:4186
++#: fortran/decl.c:4293
+ #, no-c-format
+ msgid "Expected formal argument list in function definition at %C"
+ msgstr "Se esperaba una lista de argumentos formales en la definición de la función en %C"
+
+-#: fortran/decl.c:4210 fortran/decl.c:4214 fortran/decl.c:4536
+-#: fortran/decl.c:4540 fortran/symbol.c:1402
++#: fortran/decl.c:4317 fortran/decl.c:4321 fortran/decl.c:4520
++#: fortran/decl.c:4524 fortran/decl.c:4702 fortran/decl.c:4706
++#: fortran/symbol.c:1402
+ #, no-c-format
+ msgid "BIND(C) attribute at %L can only be used for variables or common blocks"
+ msgstr "El atributo BIND(C) en %L sólo se puede usar para variables o bloques comunes"
+
+-#: fortran/decl.c:4246
++#: fortran/decl.c:4353
+ #, no-c-format
+ msgid "Function '%s' at %C already has a type of %s"
+ msgstr "La función '%s' en %C ya tiene un tipo de %s"
+
+-#: fortran/decl.c:4322
++#: fortran/decl.c:4441
+ #, no-c-format
+ msgid "ENTRY statement at %C cannot appear within a PROGRAM"
+ msgstr "La declaración ENTRY en %C no puede aparecer dentro de un PROGRAM"
+
+-#: fortran/decl.c:4325
++#: fortran/decl.c:4444
+ #, no-c-format
+ msgid "ENTRY statement at %C cannot appear within a MODULE"
+ msgstr "La declaración ENTRY en %C no puede aparecer dentro de un MODULE"
+
+-#: fortran/decl.c:4328
++#: fortran/decl.c:4447
+ #, no-c-format
+ msgid "ENTRY statement at %C cannot appear within a BLOCK DATA"
+ msgstr "La declaración ENTRY en %C no puede aparecer dentro de un BLOCK DATA"
+
+-#: fortran/decl.c:4332
++#: fortran/decl.c:4451
+ #, no-c-format
+ msgid "ENTRY statement at %C cannot appear within an INTERFACE"
+ msgstr "La declaración ENTRY en %C no puede aparecer dentro de un INTERFACE"
+
+-#: fortran/decl.c:4336
++#: fortran/decl.c:4455
+ #, no-c-format
+ msgid "ENTRY statement at %C cannot appear within a DERIVED TYPE block"
+ msgstr "La declaración ENTRY en %C no puede aparecer dentro de un bloque DERIVED TYPE"
+
+-#: fortran/decl.c:4340
++#: fortran/decl.c:4459
+ #, no-c-format
+ msgid "ENTRY statement at %C cannot appear within an IF-THEN block"
+ msgstr "La declaración ENTRY en %C no puede aparecer dentro de un bloque IF-THEN"
+
+-#: fortran/decl.c:4344
++#: fortran/decl.c:4463
+ #, no-c-format
+ msgid "ENTRY statement at %C cannot appear within a DO block"
+ msgstr "La declaración ENTRY en %C no puede aparecer dentro de un bloque DO"
+
+-#: fortran/decl.c:4348
++#: fortran/decl.c:4467
+ #, no-c-format
+ msgid "ENTRY statement at %C cannot appear within a SELECT block"
+ msgstr "La declaración ENTRY en %C no puede aparecer dentro de un bloque SELECT"
+
+-#: fortran/decl.c:4352
++#: fortran/decl.c:4471
+ #, no-c-format
+ msgid "ENTRY statement at %C cannot appear within a FORALL block"
+ msgstr "La declaración ENTRY en %C no puede aparecer dentro de un bloque FORALL"
+
+-#: fortran/decl.c:4356
++#: fortran/decl.c:4475
+ #, no-c-format
+ msgid "ENTRY statement at %C cannot appear within a WHERE block"
+ msgstr "La declaración ENTRY en %C no puede aparecer dentro de un bloque WHERE"
+
+-#: fortran/decl.c:4360
++#: fortran/decl.c:4479
+ #, no-c-format
+ msgid "ENTRY statement at %C cannot appear within a contained subprogram"
+ msgstr "La declaración ENTRY en %C no puede aparecer dentro de un subprograma contenido"
+
+-#: fortran/decl.c:4378
++#: fortran/decl.c:4497
+ #, no-c-format
+ msgid "ENTRY statement at %C cannot appear in a contained procedure"
+ msgstr "La declaración ENTRY en %C no puede aparecer dentro de un procedimiento contenido"
+
+-#: fortran/decl.c:4560
++#: fortran/decl.c:4552 fortran/decl.c:4742
+ #, no-c-format
+ msgid "Missing required parentheses before BIND(C) at %C"
+ msgstr "Faltan los paréntesis requeridos antes de BIND(C) en %C"
+
+-#: fortran/decl.c:4618 fortran/decl.c:4634
++#: fortran/decl.c:4801 fortran/decl.c:4817
+ #, no-c-format
+ msgid "Syntax error in NAME= specifier for binding label at %C"
+ msgstr "Error sintáctico en el especificador NAME= para la etiqueta de asignación %C"
+
+-#: fortran/decl.c:4649
++#: fortran/decl.c:4832
+ #, no-c-format
+ msgid "Missing closing quote '\"' for binding label at %C"
+ msgstr "Falta la comilla '\"' que cierra en la etiqueta de asignación en %C"
+
+-#: fortran/decl.c:4658
++#: fortran/decl.c:4841
+ #, no-c-format
+ msgid "Missing closing quote ''' for binding label at %C"
+ msgstr "Falta la comilla ''' que cierra en la etiqueta de asignación en %C"
+
+-#: fortran/decl.c:4668
++#: fortran/decl.c:4851
+ #, no-c-format
+ msgid "Missing closing paren for binding label at %C"
+ msgstr "Falta el paréntesis que cierra en la etiqueta de asignación en %C"
+
+-#: fortran/decl.c:4703
++#: fortran/decl.c:4857
+ #, no-c-format
++msgid "No binding name is allowed in BIND(C) at %C"
++msgstr "No se permite un nombre de enlazado en BIND(C) en %C"
++
++#: fortran/decl.c:4863
++#, no-c-format
++msgid "For dummy procedure %s, no binding name is allowed in BIND(C) at %C"
++msgstr "Para el procedimiento dummy %s, no se permite un nombre de enlazado en BIND(C) en %C"
++
++#: fortran/decl.c:4894
++#, no-c-format
+ msgid "NAME not allowed on BIND(C) for ABSTRACT INTERFACE at %C"
+ msgstr "No se permite NAME en BIND(C) para ABSTRACT INTERFACE en %C"
+
+-#: fortran/decl.c:4876
++#: fortran/decl.c:5066
+ #, no-c-format
+ msgid "Unexpected END statement at %C"
+ msgstr "Declaración END inesperada en %C"
+
+ #. We would have required END [something].
+-#: fortran/decl.c:4885
++#: fortran/decl.c:5075
+ #, no-c-format
+ msgid "%s statement expected at %L"
+ msgstr "Se esperaba la declaración %s en %L"
+
+-#: fortran/decl.c:4896
++#: fortran/decl.c:5086
+ #, no-c-format
+ msgid "Expecting %s statement at %C"
+ msgstr "Esperando la declaración %s en %C"
+
+-#: fortran/decl.c:4911
++#: fortran/decl.c:5101
+ #, no-c-format
+ msgid "Expected block name of '%s' in %s statement at %C"
+ msgstr "Se esperaba el nombre de bloque de '%s' en la declaración %s en %C"
+
+-#: fortran/decl.c:4928
++#: fortran/decl.c:5118
+ #, no-c-format
+ msgid "Expected terminating name at %C"
+ msgstr "Se esperaba un nombre terminal en %C"
+
+-#: fortran/decl.c:4937
++#: fortran/decl.c:5127
+ #, no-c-format
+ msgid "Expected label '%s' for %s statement at %C"
+ msgstr "Se esperaba la etiqueta '%s' para la declaración %s en %C"
+
+-#: fortran/decl.c:4991
++#: fortran/decl.c:5181
+ #, no-c-format
+ msgid "Missing array specification at %L in DIMENSION statement"
+ msgstr "Falta la especificación de matriz en %L en la declaración DIMENSION"
+
+-#: fortran/decl.c:5000
++#: fortran/decl.c:5189
+ #, no-c-format
++msgid "Dimensions specified for %s at %L after its initialisation"
++msgstr "Se especificarion dimensiones para %s en %L después de su inicialización"
++
++#: fortran/decl.c:5198
++#, no-c-format
+ msgid "Array specification must be deferred at %L"
+ msgstr "La especificación de matriz se debe diferir en %L"
+
+-#: fortran/decl.c:5077
++#: fortran/decl.c:5275
+ #, no-c-format
+ msgid "Unexpected character in variable list at %C"
+ msgstr "Carácter inesperado en la lista de variables en %C"
+
+-#: fortran/decl.c:5114
++#: fortran/decl.c:5312
+ #, no-c-format
+ msgid "Expected '(' at %C"
+ msgstr "Se esperaba '(' en %C"
+
+-#: fortran/decl.c:5128 fortran/decl.c:5168
++#: fortran/decl.c:5326 fortran/decl.c:5366
+ #, no-c-format
+ msgid "Expected variable name at %C"
+ msgstr "se esperaba un nombre variable en %C"
+
+-#: fortran/decl.c:5144
++#: fortran/decl.c:5342
+ #, no-c-format
+ msgid "Cray pointer at %C must be an integer"
+ msgstr "El puntero Cray en %C debe ser un entero"
+
+-#: fortran/decl.c:5148
++#: fortran/decl.c:5346
+ #, no-c-format
+ msgid "Cray pointer at %C has %d bytes of precision; memory addresses require %d bytes"
+ msgstr "El puntero Cray en %C tiene %d bytes de precisión; las direcciones de memoria requieren %d bytes"
+
+-#: fortran/decl.c:5154
++#: fortran/decl.c:5352
+ #, no-c-format
+ msgid "Expected \",\" at %C"
+ msgstr "Se esperaba \",\" en %C"
+
+-#: fortran/decl.c:5217
++#: fortran/decl.c:5415
+ #, no-c-format
+ msgid "Expected \")\" at %C"
+ msgstr "Se esperaba \")\" en %C"
+
+-#: fortran/decl.c:5229
++#: fortran/decl.c:5427
+ #, no-c-format
+ msgid "Expected \",\" or end of statement at %C"
+ msgstr "Se esperaba \",\" o el final de la declaración en %C"
+
+-#: fortran/decl.c:5293
++#: fortran/decl.c:5491
+ #, no-c-format
+ msgid "Cray pointer declaration at %C requires -fcray-pointer flag"
+ msgstr "La declaración de punteros Cray en %C requiere la opción -fcray-pointer"
+
+-#: fortran/decl.c:5388
++#: fortran/decl.c:5586
+ #, no-c-format
+ msgid "Access specification of the %s operator at %C has already been specified"
+ msgstr "La especificación de acceso del operador %s en %C ya se había especificado"
+
+-#: fortran/decl.c:5405
++#: fortran/decl.c:5603
+ #, no-c-format
+ msgid "Access specification of the .%s. operator at %C has already been specified"
+ msgstr "La especificación de acceso del operador .%s. en %C ya se había especificado"
+
+-#: fortran/decl.c:5443
++#: fortran/decl.c:5641
+ #, no-c-format
+ msgid "Fortran 2003: PROTECTED statement at %C"
+ msgstr "Fortran 2003: Declaración PROTECTED en %C"
+
+-#: fortran/decl.c:5483
++#: fortran/decl.c:5681
+ #, no-c-format
+ msgid "Syntax error in PROTECTED statement at %C"
+ msgstr "Error sintáctico en la declaración PROTECTED en %C"
+
+-#: fortran/decl.c:5504
++#: fortran/decl.c:5702
+ #, no-c-format
+ msgid "PRIVATE statement at %C is only allowed in the specification part of a module"
+ msgstr "Sólo se permite la declaración PRIVATE en %C en la parte de especificación de un módulo"
+
+-#: fortran/decl.c:5541
++#: fortran/decl.c:5739
+ #, no-c-format
+ msgid "PUBLIC statement at %C is only allowed in the specification part of a module"
+ msgstr "Sólo se permite la declaración PRIVATE en %C en la parte de especificación de un módulo"
+
+-#: fortran/decl.c:5568
++#: fortran/decl.c:5766
+ #, no-c-format
+ msgid "Expected variable name at %C in PARAMETER statement"
+ msgstr "Se esperaba un nombre de variable en %C en la declaración PARAMETER"
+
+-#: fortran/decl.c:5575
++#: fortran/decl.c:5773
+ #, no-c-format
+ msgid "Expected = sign in PARAMETER statement at %C"
+ msgstr "Se esperaba un signo = en la declaración PARAMETER en %C"
+
+-#: fortran/decl.c:5581
++#: fortran/decl.c:5779
+ #, no-c-format
+ msgid "Expected expression at %C in PARAMETER statement"
+ msgstr "Se esperaba una expresión en %C en la declaración PARAMETER"
+
+-#: fortran/decl.c:5639
++#: fortran/decl.c:5799
+ #, no-c-format
++msgid "Initializing already initialized variable at %C"
++msgstr "Se inicializa una variable ya inicializada en %C"
++
++#: fortran/decl.c:5844
++#, no-c-format
+ msgid "Unexpected characters in PARAMETER statement at %C"
+ msgstr "Caracteres inesperados en la declaración PARAMETER en %C"
+
+-#: fortran/decl.c:5663
++#: fortran/decl.c:5868
+ #, no-c-format
+ msgid "Blanket SAVE statement at %C follows previous SAVE statement"
+ msgstr "Declaración SAVE incondicional en %C después de una declaración SAVE previa"
+
+-#: fortran/decl.c:5675
++#: fortran/decl.c:5880
+ #, no-c-format
+ msgid "SAVE statement at %C follows blanket SAVE statement"
+ msgstr "Declaración SAVE en %C después de una declaración SAVE incondicional"
+
+-#: fortran/decl.c:5722
++#: fortran/decl.c:5927
+ #, no-c-format
+ msgid "Syntax error in SAVE statement at %C"
+ msgstr "Error sintáctico en la declaración SAVE en %C"
+
+-#: fortran/decl.c:5733
++#: fortran/decl.c:5938
+ #, no-c-format
+ msgid "Fortran 2003: VALUE statement at %C"
+ msgstr "Fortran 2003: Declaración VALUE en %C"
+
+-#: fortran/decl.c:5773
++#: fortran/decl.c:5978
+ #, no-c-format
+ msgid "Syntax error in VALUE statement at %C"
+ msgstr "Error sintáctico en la declaración VALUE en %C"
+
+-#: fortran/decl.c:5784
++#: fortran/decl.c:5989
+ #, no-c-format
+ msgid "Fortran 2003: VOLATILE statement at %C"
+ msgstr "Fortran 2003: Declaración VOLATILE en %C"
+
+-#: fortran/decl.c:5826
++#: fortran/decl.c:6031
+ #, no-c-format
+ msgid "Syntax error in VOLATILE statement at %C"
+ msgstr "Error sintáctico en la declaración VOLATILE en %C"
+
+-#: fortran/decl.c:5848
++#: fortran/decl.c:6054
+ #, no-c-format
+ msgid "MODULE PROCEDURE at %C must be in a generic module interface"
+ msgstr "MODULE PROCEDURE en %C debe estar en una interfaz genérica de módulo"
+
+-#: fortran/decl.c:5910
++#: fortran/decl.c:6142
+ #, no-c-format
+ msgid "Derived type at %C can only be PRIVATE in the specification part of a module"
+ msgstr "El tipo derivado en %C sólo puede ser PRIVATE en la parte de especificación de un módulo"
+
+-#: fortran/decl.c:5922
++#: fortran/decl.c:6154
+ #, no-c-format
+ msgid "Derived type at %C can only be PUBLIC in the specification part of a module"
+ msgstr "El tipo derivado en %C sólo puede ser PUBLIC en la parte de especificación de un módulo"
+
+-#: fortran/decl.c:5979
++#: fortran/decl.c:6211
+ #, no-c-format
+ msgid "Expected :: in TYPE definition at %C"
+ msgstr "Se esperaba :: en la definición TYPE en %C"
+
+-#: fortran/decl.c:5990
++#: fortran/decl.c:6222
+ #, no-c-format
+ msgid "Type name '%s' at %C cannot be the same as an intrinsic type"
+ msgstr "El nombre de tipo '%s' en %C no puede ser el mismo que un tipo intrínseco"
+
+-#: fortran/decl.c:6000
++#: fortran/decl.c:6232
+ #, no-c-format
+ msgid "Derived type name '%s' at %C already has a basic type of %s"
+ msgstr "El nombre de tipo derivado '%s' en %C ya tiene un tipo básico de %s"
+
+-#: fortran/decl.c:6016
++#: fortran/decl.c:6248
+ #, no-c-format
+ msgid "Derived type definition of '%s' at %C has already been defined"
+ msgstr "La definición del tipo derivado de '%s' en %C ya se había definido"
+
+-#: fortran/decl.c:6054
++#: fortran/decl.c:6286
+ #, no-c-format
+ msgid "Cray Pointee at %C cannot be assumed shape array"
+ msgstr "El Apuntado Cray en %C no se puede asumir como matriz de forma"
+
+-#: fortran/decl.c:6074
++#: fortran/decl.c:6306
+ #, no-c-format
+ msgid "Fortran 2003: ENUM and ENUMERATOR at %C"
+ msgstr "Fortran 2003: ENUM y ENUMERATOR en %C"
+
+-#: fortran/decl.c:6146
++#: fortran/decl.c:6378
+ #, no-c-format
+ msgid "ENUMERATOR %L not initialized with integer expression"
+ msgstr "ENUMERATOR %L no se inicializó con una expresión entera"
+
+-#: fortran/decl.c:6195
++#: fortran/decl.c:6427
+ #, no-c-format
+ msgid "ENUM definition statement expected before %C"
+ msgstr "Se esperaba una declaración de definición ENUM antes de %C"
+
+-#: fortran/decl.c:6228
++#: fortran/decl.c:6460
+ #, no-c-format
+ msgid "Syntax error in ENUMERATOR definition at %C"
+ msgstr "Error sintáctico en la definición ENUMERATOR en %C"
+@@ -5153,21 +5112,21 @@
+ msgid " "
+ msgstr " "
+
+-#: fortran/dump-parse-tree.c:73 fortran/dump-parse-tree.c:626
++#: fortran/dump-parse-tree.c:73 fortran/dump-parse-tree.c:637
+ #, c-format
+ msgid "(%s "
+ msgstr "(%s "
+
+-#: fortran/dump-parse-tree.c:86 fortran/dump-parse-tree.c:1069
+-#: fortran/dump-parse-tree.c:1113 fortran/dump-parse-tree.c:1123
++#: fortran/dump-parse-tree.c:86 fortran/dump-parse-tree.c:1091
++#: fortran/dump-parse-tree.c:1135 fortran/dump-parse-tree.c:1145
+ #, c-format
+ msgid "%d"
+ msgstr "%d"
+
+ #: fortran/dump-parse-tree.c:90 fortran/dump-parse-tree.c:116
+ #: fortran/dump-parse-tree.c:159 fortran/dump-parse-tree.c:395
+-#: fortran/dump-parse-tree.c:518 fortran/dump-parse-tree.c:613
+-#: fortran/dump-parse-tree.c:636
++#: fortran/dump-parse-tree.c:518 fortran/dump-parse-tree.c:624
++#: fortran/dump-parse-tree.c:647
+ #, c-format
+ msgid ")"
+ msgstr ")"
+@@ -5305,7 +5264,7 @@
+ msgid "%.2x"
+ msgstr "%.2x"
+
+-#: fortran/dump-parse-tree.c:429 fortran/dump-parse-tree.c:732
++#: fortran/dump-parse-tree.c:429 fortran/dump-parse-tree.c:754
+ #, c-format
+ msgid "%s:"
+ msgstr "%s:"
+@@ -5420,748 +5379,753 @@
+ msgid "%s[["
+ msgstr "%s[["
+
+-#: fortran/dump-parse-tree.c:551
++#: fortran/dump-parse-tree.c:560
+ #, c-format
+ msgid "(%s %s %s %s %s"
+ msgstr "(%s %s %s %s %s"
+
+-#: fortran/dump-parse-tree.c:558
++#: fortran/dump-parse-tree.c:567
+ #, c-format
+ msgid " ALLOCATABLE"
+ msgstr " ALLOCATABLE"
+
+-#: fortran/dump-parse-tree.c:560 fortran/dump-parse-tree.c:631
++#: fortran/dump-parse-tree.c:569 fortran/dump-parse-tree.c:642
+ #, c-format
+ msgid " DIMENSION"
+ msgstr " DIMENSION"
+
+-#: fortran/dump-parse-tree.c:562
++#: fortran/dump-parse-tree.c:571
+ #, c-format
+ msgid " EXTERNAL"
+ msgstr " EXTERNAL"
+
+-#: fortran/dump-parse-tree.c:564
++#: fortran/dump-parse-tree.c:573
+ #, c-format
+ msgid " INTRINSIC"
+ msgstr " INTRINSIC"
+
+-#: fortran/dump-parse-tree.c:566
++#: fortran/dump-parse-tree.c:575
+ #, c-format
+ msgid " OPTIONAL"
+ msgstr " OPTIONAL"
+
+-#: fortran/dump-parse-tree.c:568 fortran/dump-parse-tree.c:629
++#: fortran/dump-parse-tree.c:577 fortran/dump-parse-tree.c:640
+ #, c-format
+ msgid " POINTER"
+ msgstr " POINTER"
+
+-#: fortran/dump-parse-tree.c:570
++#: fortran/dump-parse-tree.c:579
+ #, c-format
+ msgid " PROTECTED"
+ msgstr " PROTECTED"
+
+-#: fortran/dump-parse-tree.c:572
++#: fortran/dump-parse-tree.c:581
+ #, c-format
+ msgid " VALUE"
+ msgstr " VALUE"
+
+-#: fortran/dump-parse-tree.c:574
++#: fortran/dump-parse-tree.c:583
+ #, c-format
+ msgid " VOLATILE"
+ msgstr " VOLATILE"
+
+-#: fortran/dump-parse-tree.c:576
++#: fortran/dump-parse-tree.c:585
+ #, c-format
+ msgid " THREADPRIVATE"
+ msgstr " THREADPRIVATE"
+
+-#: fortran/dump-parse-tree.c:578
++#: fortran/dump-parse-tree.c:587
+ #, c-format
+ msgid " TARGET"
+ msgstr " TARGET"
+
+-#: fortran/dump-parse-tree.c:580
++#: fortran/dump-parse-tree.c:589
+ #, c-format
+ msgid " DUMMY"
+ msgstr " DUMMY"
+
+-#: fortran/dump-parse-tree.c:582
++#: fortran/dump-parse-tree.c:591
+ #, c-format
+ msgid " RESULT"
+ msgstr " RESULT"
+
+-#: fortran/dump-parse-tree.c:584
++#: fortran/dump-parse-tree.c:593
+ #, c-format
+ msgid " ENTRY"
+ msgstr " ENTRY"
+
+-#: fortran/dump-parse-tree.c:587
++#: fortran/dump-parse-tree.c:595
+ #, c-format
++msgid " BIND(C)"
++msgstr " BIND(C)"
++
++#: fortran/dump-parse-tree.c:598
++#, c-format
+ msgid " DATA"
+ msgstr " DATA"
+
+-#: fortran/dump-parse-tree.c:589
++#: fortran/dump-parse-tree.c:600
+ #, c-format
+ msgid " USE-ASSOC"
+ msgstr " USE-ASSOC"
+
+-#: fortran/dump-parse-tree.c:591
++#: fortran/dump-parse-tree.c:602
+ #, c-format
+ msgid " IN-NAMELIST"
+ msgstr " EN-LISTANOMBRE"
+
+-#: fortran/dump-parse-tree.c:593
++#: fortran/dump-parse-tree.c:604
+ #, c-format
+ msgid " IN-COMMON"
+ msgstr " EN-COMÚN"
+
+-#: fortran/dump-parse-tree.c:596
++#: fortran/dump-parse-tree.c:607
+ #, c-format
+ msgid " ABSTRACT INTERFACE"
+ msgstr " INTERFAZ ABSTRACTA"
+
+-#: fortran/dump-parse-tree.c:598
++#: fortran/dump-parse-tree.c:609
+ #, c-format
+ msgid " FUNCTION"
+ msgstr " FUNCIÓN"
+
+-#: fortran/dump-parse-tree.c:600
++#: fortran/dump-parse-tree.c:611
+ #, c-format
+ msgid " SUBROUTINE"
+ msgstr " SUBRUTINA"
+
+-#: fortran/dump-parse-tree.c:602
++#: fortran/dump-parse-tree.c:613
+ #, c-format
+ msgid " IMPLICIT-TYPE"
+ msgstr " TIPO-IMPLÍCITO"
+
+-#: fortran/dump-parse-tree.c:605
++#: fortran/dump-parse-tree.c:616
+ #, c-format
+ msgid " SEQUENCE"
+ msgstr " SEQUENCE"
+
+-#: fortran/dump-parse-tree.c:607
++#: fortran/dump-parse-tree.c:618
+ #, c-format
+ msgid " ELEMENTAL"
+ msgstr " ELEMENTAL"
+
+-#: fortran/dump-parse-tree.c:609
++#: fortran/dump-parse-tree.c:620
+ #, c-format
+ msgid " PURE"
+ msgstr " PURE"
+
+-#: fortran/dump-parse-tree.c:611
++#: fortran/dump-parse-tree.c:622
+ #, c-format
+ msgid " RECURSIVE"
+ msgstr " RECURSIVE"
+
+-#: fortran/dump-parse-tree.c:635 fortran/dump-parse-tree.c:682
+-#: fortran/dump-parse-tree.c:706 fortran/dump-parse-tree.c:735
+-#: fortran/dump-parse-tree.c:1276 fortran/dump-parse-tree.c:1282
+-#: fortran/dump-parse-tree.c:1784
++#: fortran/dump-parse-tree.c:646 fortran/dump-parse-tree.c:693
++#: fortran/dump-parse-tree.c:717 fortran/dump-parse-tree.c:757
++#: fortran/dump-parse-tree.c:1298 fortran/dump-parse-tree.c:1304
++#: fortran/dump-parse-tree.c:1806
+ #, c-format
+ msgid " %s"
+ msgstr " %s"
+
+-#: fortran/dump-parse-tree.c:659
++#: fortran/dump-parse-tree.c:670
+ #, c-format
+ msgid "symbol %s "
+ msgstr "símbolo %s "
+
+-#: fortran/dump-parse-tree.c:666
++#: fortran/dump-parse-tree.c:677
+ #, c-format
+ msgid "value: "
+ msgstr "valor: "
+
+-#: fortran/dump-parse-tree.c:673
++#: fortran/dump-parse-tree.c:684
+ #, c-format
+ msgid "Array spec:"
+ msgstr "Especif matriz:"
+
+-#: fortran/dump-parse-tree.c:680
++#: fortran/dump-parse-tree.c:691
+ #, c-format
+ msgid "Generic interfaces:"
+ msgstr "Interfaces genéricas:"
+
+-#: fortran/dump-parse-tree.c:688
++#: fortran/dump-parse-tree.c:699
+ #, c-format
+ msgid "result: %s"
+ msgstr "resultado: %s"
+
+-#: fortran/dump-parse-tree.c:694
++#: fortran/dump-parse-tree.c:705
+ #, c-format
+ msgid "components: "
+ msgstr "componentes: "
+
+-#: fortran/dump-parse-tree.c:701
++#: fortran/dump-parse-tree.c:712
+ #, c-format
+ msgid "Formal arglist:"
+ msgstr "Lista de argumentos formal:"
+
+-#: fortran/dump-parse-tree.c:708
++#: fortran/dump-parse-tree.c:719
+ #, c-format
+ msgid " [Alt Return]"
+ msgstr " [Devolución Alt]"
+
+-#: fortran/dump-parse-tree.c:715
++#: fortran/dump-parse-tree.c:726
+ #, c-format
+ msgid "Formal namespace"
+ msgstr "Espacio de nombres formal"
+
+-#: fortran/dump-parse-tree.c:771
++#: fortran/dump-parse-tree.c:793
+ #, c-format
+ msgid "common: /%s/ "
+ msgstr "común: /%s/ "
+
+-#: fortran/dump-parse-tree.c:779 fortran/dump-parse-tree.c:1720
++#: fortran/dump-parse-tree.c:801 fortran/dump-parse-tree.c:1742
+ #, c-format
+ msgid ", "
+ msgstr ", "
+
+-#: fortran/dump-parse-tree.c:791
++#: fortran/dump-parse-tree.c:813
+ #, c-format
+ msgid "symtree: %s Ambig %d"
+ msgstr "árbolsim: %s Ambig %d"
+
+-#: fortran/dump-parse-tree.c:794
++#: fortran/dump-parse-tree.c:816
+ #, c-format
+ msgid " from namespace %s"
+ msgstr " del espacio de nombres %s"
+
+-#: fortran/dump-parse-tree.c:820
++#: fortran/dump-parse-tree.c:842
+ #, c-format
+ msgid "%s,"
+ msgstr "%s,"
+
+-#: fortran/dump-parse-tree.c:852
++#: fortran/dump-parse-tree.c:874
+ #, c-format
+ msgid "!$OMP %s"
+ msgstr "!$OMP %s"
+
+-#: fortran/dump-parse-tree.c:867 fortran/dump-parse-tree.c:1010
++#: fortran/dump-parse-tree.c:889 fortran/dump-parse-tree.c:1032
+ #, c-format
+ msgid " (%s)"
+ msgstr " (%s)"
+
+-#: fortran/dump-parse-tree.c:872
++#: fortran/dump-parse-tree.c:894
+ #, c-format
+ msgid " ("
+ msgstr " ("
+
+-#: fortran/dump-parse-tree.c:888
++#: fortran/dump-parse-tree.c:910
+ #, c-format
+ msgid " IF("
+ msgstr " IF("
+
+-#: fortran/dump-parse-tree.c:894
++#: fortran/dump-parse-tree.c:916
+ #, c-format
+ msgid " NUM_THREADS("
+ msgstr " NUM_THREADS("
+
+-#: fortran/dump-parse-tree.c:910
++#: fortran/dump-parse-tree.c:932
+ #, c-format
+ msgid " SCHEDULE (%s"
+ msgstr " SCHEDULE (%s"
+
+-#: fortran/dump-parse-tree.c:930
++#: fortran/dump-parse-tree.c:952
+ #, c-format
+ msgid " DEFAULT(%s)"
+ msgstr " DEFAULT(%s)"
+
+-#: fortran/dump-parse-tree.c:933
++#: fortran/dump-parse-tree.c:955
+ #, c-format
+ msgid " ORDERED"
+ msgstr " ORDERED"
+
+-#: fortran/dump-parse-tree.c:958
++#: fortran/dump-parse-tree.c:980
+ #, c-format
+ msgid " REDUCTION(%s:"
+ msgstr " REDUCTION(%s:"
+
+-#: fortran/dump-parse-tree.c:972
++#: fortran/dump-parse-tree.c:994
+ #, c-format
+ msgid " %s("
+ msgstr " %s("
+
+-#: fortran/dump-parse-tree.c:988
++#: fortran/dump-parse-tree.c:1010
+ #, c-format
+ msgid "!$OMP SECTION\n"
+ msgstr "!$OMP SECTION\n"
+
+-#: fortran/dump-parse-tree.c:997
++#: fortran/dump-parse-tree.c:1019
+ #, c-format
+ msgid "!$OMP END %s"
+ msgstr "!$OMP END %s"
+
+-#: fortran/dump-parse-tree.c:1002
++#: fortran/dump-parse-tree.c:1024
+ #, c-format
+ msgid " COPYPRIVATE("
+ msgstr " COPYPRIVATE("
+
+-#: fortran/dump-parse-tree.c:1007
++#: fortran/dump-parse-tree.c:1029
+ #, c-format
+ msgid " NOWAIT"
+ msgstr " NOWAIT"
+
+-#: fortran/dump-parse-tree.c:1034
++#: fortran/dump-parse-tree.c:1056
+ #, c-format
+ msgid "NOP"
+ msgstr "NOP"
+
+-#: fortran/dump-parse-tree.c:1038
++#: fortran/dump-parse-tree.c:1060
+ #, c-format
+ msgid "CONTINUE"
+ msgstr "CONTINUE"
+
+-#: fortran/dump-parse-tree.c:1042
++#: fortran/dump-parse-tree.c:1064
+ #, c-format
+ msgid "ENTRY %s"
+ msgstr "ENTRY %s"
+
+-#: fortran/dump-parse-tree.c:1047
++#: fortran/dump-parse-tree.c:1069
+ #, c-format
+ msgid "ASSIGN "
+ msgstr "ASSIGN "
+
+-#: fortran/dump-parse-tree.c:1054
++#: fortran/dump-parse-tree.c:1076
+ #, c-format
+ msgid "LABEL ASSIGN "
+ msgstr "LABEL ASSIGN "
+
+-#: fortran/dump-parse-tree.c:1056
++#: fortran/dump-parse-tree.c:1078
+ #, c-format
+ msgid " %d"
+ msgstr " %d"
+
+-#: fortran/dump-parse-tree.c:1060
++#: fortran/dump-parse-tree.c:1082
+ #, c-format
+ msgid "POINTER ASSIGN "
+ msgstr "POINTER ASSIGN "
+
+-#: fortran/dump-parse-tree.c:1067
++#: fortran/dump-parse-tree.c:1089
+ #, c-format
+ msgid "GOTO "
+ msgstr "GOTO "
+
+-#: fortran/dump-parse-tree.c:1076
++#: fortran/dump-parse-tree.c:1098
+ #, c-format
+ msgid ", ("
+ msgstr ", ("
+
+-#: fortran/dump-parse-tree.c:1092 fortran/dump-parse-tree.c:1094
++#: fortran/dump-parse-tree.c:1114 fortran/dump-parse-tree.c:1116
+ #, c-format
+ msgid "CALL %s "
+ msgstr "CALL %s "
+
+-#: fortran/dump-parse-tree.c:1096
++#: fortran/dump-parse-tree.c:1118
+ #, c-format
+ msgid "CALL ?? "
+ msgstr "CALL ?? "
+
+-#: fortran/dump-parse-tree.c:1102
++#: fortran/dump-parse-tree.c:1124
+ #, c-format
+ msgid "RETURN "
+ msgstr "RETURN "
+
+-#: fortran/dump-parse-tree.c:1108
++#: fortran/dump-parse-tree.c:1130
+ #, c-format
+ msgid "PAUSE "
+ msgstr "PAUSE "
+
+-#: fortran/dump-parse-tree.c:1118
++#: fortran/dump-parse-tree.c:1140
+ #, c-format
+ msgid "STOP "
+ msgstr "STOP "
+
+-#: fortran/dump-parse-tree.c:1128 fortran/dump-parse-tree.c:1136
++#: fortran/dump-parse-tree.c:1150 fortran/dump-parse-tree.c:1158
+ #, c-format
+ msgid "IF "
+ msgstr "IF "
+
+-#: fortran/dump-parse-tree.c:1130
++#: fortran/dump-parse-tree.c:1152
+ #, c-format
+ msgid " %d, %d, %d"
+ msgstr " %d, %d, %d"
+
+-#: fortran/dump-parse-tree.c:1147
++#: fortran/dump-parse-tree.c:1169
+ #, c-format
+ msgid "ELSE\n"
+ msgstr "ELSE\n"
+
+-#: fortran/dump-parse-tree.c:1150
++#: fortran/dump-parse-tree.c:1172
+ #, c-format
+ msgid "ELSE IF "
+ msgstr "ELSE IF "
+
+-#: fortran/dump-parse-tree.c:1160
++#: fortran/dump-parse-tree.c:1182
+ #, c-format
+ msgid "ENDIF"
+ msgstr "ENDIF"
+
+-#: fortran/dump-parse-tree.c:1165
++#: fortran/dump-parse-tree.c:1187
+ #, c-format
+ msgid "SELECT CASE "
+ msgstr "SELECT CASE "
+
+-#: fortran/dump-parse-tree.c:1173
++#: fortran/dump-parse-tree.c:1195
+ #, c-format
+ msgid "CASE "
+ msgstr "CASE "
+
+-#: fortran/dump-parse-tree.c:1189
++#: fortran/dump-parse-tree.c:1211
+ #, c-format
+ msgid "END SELECT"
+ msgstr "END SELECT"
+
+-#: fortran/dump-parse-tree.c:1193
++#: fortran/dump-parse-tree.c:1215
+ #, c-format
+ msgid "WHERE "
+ msgstr "WHERE "
+
+-#: fortran/dump-parse-tree.c:1204
++#: fortran/dump-parse-tree.c:1226
+ #, c-format
+ msgid "ELSE WHERE "
+ msgstr "ELSE WHERE "
+
+-#: fortran/dump-parse-tree.c:1211
++#: fortran/dump-parse-tree.c:1233
+ #, c-format
+ msgid "END WHERE"
+ msgstr "END WHERE"
+
+-#: fortran/dump-parse-tree.c:1216
++#: fortran/dump-parse-tree.c:1238
+ #, c-format
+ msgid "FORALL "
+ msgstr "FORALL "
+
+-#: fortran/dump-parse-tree.c:1241
++#: fortran/dump-parse-tree.c:1263
+ #, c-format
+ msgid "END FORALL"
+ msgstr "END FORALL"
+
+-#: fortran/dump-parse-tree.c:1245
++#: fortran/dump-parse-tree.c:1267
+ #, c-format
+ msgid "DO "
+ msgstr "DO "
+
+-#: fortran/dump-parse-tree.c:1259 fortran/dump-parse-tree.c:1270
++#: fortran/dump-parse-tree.c:1281 fortran/dump-parse-tree.c:1292
+ #, c-format
+ msgid "END DO"
+ msgstr "END DO"
+
+-#: fortran/dump-parse-tree.c:1263
++#: fortran/dump-parse-tree.c:1285
+ #, c-format
+ msgid "DO WHILE "
+ msgstr "DO WHILE "
+
+-#: fortran/dump-parse-tree.c:1274
++#: fortran/dump-parse-tree.c:1296
+ #, c-format
+ msgid "CYCLE"
+ msgstr "CICLO"
+
+-#: fortran/dump-parse-tree.c:1280
++#: fortran/dump-parse-tree.c:1302
+ #, c-format
+ msgid "EXIT"
+ msgstr "EXIT"
+
+-#: fortran/dump-parse-tree.c:1286
++#: fortran/dump-parse-tree.c:1308
+ #, c-format
+ msgid "ALLOCATE "
+ msgstr "ALLOCATE "
+
+-#: fortran/dump-parse-tree.c:1289 fortran/dump-parse-tree.c:1305
++#: fortran/dump-parse-tree.c:1311 fortran/dump-parse-tree.c:1327
+ #, c-format
+ msgid " STAT="
+ msgstr " STAT="
+
+-#: fortran/dump-parse-tree.c:1302
++#: fortran/dump-parse-tree.c:1324
+ #, c-format
+ msgid "DEALLOCATE "
+ msgstr "DEALLOCATE "
+
+-#: fortran/dump-parse-tree.c:1318
++#: fortran/dump-parse-tree.c:1340
+ #, c-format
+ msgid "OPEN"
+ msgstr "OPEN"
+
+-#: fortran/dump-parse-tree.c:1323 fortran/dump-parse-tree.c:1402
+-#: fortran/dump-parse-tree.c:1444 fortran/dump-parse-tree.c:1467
+-#: fortran/dump-parse-tree.c:1619
++#: fortran/dump-parse-tree.c:1345 fortran/dump-parse-tree.c:1424
++#: fortran/dump-parse-tree.c:1466 fortran/dump-parse-tree.c:1489
++#: fortran/dump-parse-tree.c:1641
+ #, c-format
+ msgid " UNIT="
+ msgstr " UNIT="
+
+-#: fortran/dump-parse-tree.c:1328 fortran/dump-parse-tree.c:1407
+-#: fortran/dump-parse-tree.c:1449 fortran/dump-parse-tree.c:1478
+-#: fortran/dump-parse-tree.c:1636
++#: fortran/dump-parse-tree.c:1350 fortran/dump-parse-tree.c:1429
++#: fortran/dump-parse-tree.c:1471 fortran/dump-parse-tree.c:1500
++#: fortran/dump-parse-tree.c:1658
+ #, c-format
+ msgid " IOMSG="
+ msgstr " IOMSG="
+
+-#: fortran/dump-parse-tree.c:1333 fortran/dump-parse-tree.c:1412
+-#: fortran/dump-parse-tree.c:1454 fortran/dump-parse-tree.c:1483
+-#: fortran/dump-parse-tree.c:1641
++#: fortran/dump-parse-tree.c:1355 fortran/dump-parse-tree.c:1434
++#: fortran/dump-parse-tree.c:1476 fortran/dump-parse-tree.c:1505
++#: fortran/dump-parse-tree.c:1663
+ #, c-format
+ msgid " IOSTAT="
+ msgstr " IOSTAT="
+
+-#: fortran/dump-parse-tree.c:1338 fortran/dump-parse-tree.c:1472
++#: fortran/dump-parse-tree.c:1360 fortran/dump-parse-tree.c:1494
+ #, c-format
+ msgid " FILE="
+ msgstr " FILE="
+
+-#: fortran/dump-parse-tree.c:1343 fortran/dump-parse-tree.c:1417
++#: fortran/dump-parse-tree.c:1365 fortran/dump-parse-tree.c:1439
+ #, c-format
+ msgid " STATUS="
+ msgstr " STATUS="
+
+-#: fortran/dump-parse-tree.c:1348 fortran/dump-parse-tree.c:1513
++#: fortran/dump-parse-tree.c:1370 fortran/dump-parse-tree.c:1535
+ #, c-format
+ msgid " ACCESS="
+ msgstr " ACCESS="
+
+-#: fortran/dump-parse-tree.c:1353 fortran/dump-parse-tree.c:1529
++#: fortran/dump-parse-tree.c:1375 fortran/dump-parse-tree.c:1551
+ #, c-format
+ msgid " FORM="
+ msgstr " FORM="
+
+-#: fortran/dump-parse-tree.c:1358 fortran/dump-parse-tree.c:1544
++#: fortran/dump-parse-tree.c:1380 fortran/dump-parse-tree.c:1566
+ #, c-format
+ msgid " RECL="
+ msgstr " RECL="
+
+-#: fortran/dump-parse-tree.c:1363 fortran/dump-parse-tree.c:1554
++#: fortran/dump-parse-tree.c:1385 fortran/dump-parse-tree.c:1576
+ #, c-format
+ msgid " BLANK="
+ msgstr " BLANK="
+
+-#: fortran/dump-parse-tree.c:1368 fortran/dump-parse-tree.c:1559
++#: fortran/dump-parse-tree.c:1390 fortran/dump-parse-tree.c:1581
+ #, c-format
+ msgid " POSITION="
+ msgstr " POSITION="
+
+-#: fortran/dump-parse-tree.c:1373 fortran/dump-parse-tree.c:1564
++#: fortran/dump-parse-tree.c:1395 fortran/dump-parse-tree.c:1586
+ #, c-format
+ msgid " ACTION="
+ msgstr " ACTION="
+
+-#: fortran/dump-parse-tree.c:1378 fortran/dump-parse-tree.c:1584
++#: fortran/dump-parse-tree.c:1400 fortran/dump-parse-tree.c:1606
+ #, c-format
+ msgid " DELIM="
+ msgstr " DELIM="
+
+-#: fortran/dump-parse-tree.c:1383 fortran/dump-parse-tree.c:1589
++#: fortran/dump-parse-tree.c:1405 fortran/dump-parse-tree.c:1611
+ #, c-format
+ msgid " PAD="
+ msgstr " PAD="
+
+-#: fortran/dump-parse-tree.c:1388 fortran/dump-parse-tree.c:1594
++#: fortran/dump-parse-tree.c:1410 fortran/dump-parse-tree.c:1616
+ #, c-format
+ msgid " CONVERT="
+ msgstr " CONVERT="
+
+-#: fortran/dump-parse-tree.c:1392 fortran/dump-parse-tree.c:1421
+-#: fortran/dump-parse-tree.c:1458 fortran/dump-parse-tree.c:1599
+-#: fortran/dump-parse-tree.c:1676
++#: fortran/dump-parse-tree.c:1414 fortran/dump-parse-tree.c:1443
++#: fortran/dump-parse-tree.c:1480 fortran/dump-parse-tree.c:1621
++#: fortran/dump-parse-tree.c:1698
+ #, c-format
+ msgid " ERR=%d"
+ msgstr " ERR=%d"
+
+-#: fortran/dump-parse-tree.c:1397
++#: fortran/dump-parse-tree.c:1419
+ #, c-format
+ msgid "CLOSE"
+ msgstr "CLOSE"
+
+-#: fortran/dump-parse-tree.c:1425
++#: fortran/dump-parse-tree.c:1447
+ #, c-format
+ msgid "BACKSPACE"
+ msgstr "BACKSPACE"
+
+-#: fortran/dump-parse-tree.c:1429
++#: fortran/dump-parse-tree.c:1451
+ #, c-format
+ msgid "ENDFILE"
+ msgstr "ENDFILE"
+
+-#: fortran/dump-parse-tree.c:1433
++#: fortran/dump-parse-tree.c:1455
+ #, c-format
+ msgid "REWIND"
+ msgstr "REWIND"
+
+-#: fortran/dump-parse-tree.c:1437
++#: fortran/dump-parse-tree.c:1459
+ #, c-format
+ msgid "FLUSH"
+ msgstr "FLUSH"
+
+-#: fortran/dump-parse-tree.c:1462
++#: fortran/dump-parse-tree.c:1484
+ #, c-format
+ msgid "INQUIRE"
+ msgstr "INQUIRE"
+
+-#: fortran/dump-parse-tree.c:1488
++#: fortran/dump-parse-tree.c:1510
+ #, c-format
+ msgid " EXIST="
+ msgstr " EXISTE="
+
+-#: fortran/dump-parse-tree.c:1493
++#: fortran/dump-parse-tree.c:1515
+ #, c-format
+ msgid " OPENED="
+ msgstr " ABIERTO="
+
+-#: fortran/dump-parse-tree.c:1498
++#: fortran/dump-parse-tree.c:1520
+ #, c-format
+ msgid " NUMBER="
+ msgstr " NÚMERO="
+
+-#: fortran/dump-parse-tree.c:1503
++#: fortran/dump-parse-tree.c:1525
+ #, c-format
+ msgid " NAMED="
+ msgstr " NOMBRADO="
+
+-#: fortran/dump-parse-tree.c:1508
++#: fortran/dump-parse-tree.c:1530
+ #, c-format
+ msgid " NAME="
+ msgstr " NOMBRE="
+
+-#: fortran/dump-parse-tree.c:1518
++#: fortran/dump-parse-tree.c:1540
+ #, c-format
+ msgid " SEQUENTIAL="
+ msgstr " SECUENCIAL="
+
+-#: fortran/dump-parse-tree.c:1524
++#: fortran/dump-parse-tree.c:1546
+ #, c-format
+ msgid " DIRECT="
+ msgstr " DIRECTO="
+
+-#: fortran/dump-parse-tree.c:1534
++#: fortran/dump-parse-tree.c:1556
+ #, c-format
+ msgid " FORMATTED"
+ msgstr " CON-FORMATO"
+
+-#: fortran/dump-parse-tree.c:1539
++#: fortran/dump-parse-tree.c:1561
+ #, c-format
+ msgid " UNFORMATTED="
+ msgstr " SIN-FORMATO="
+
+-#: fortran/dump-parse-tree.c:1549
++#: fortran/dump-parse-tree.c:1571
+ #, c-format
+ msgid " NEXTREC="
+ msgstr " SIGREG="
+
+-#: fortran/dump-parse-tree.c:1569
++#: fortran/dump-parse-tree.c:1591
+ #, c-format
+ msgid " READ="
+ msgstr " LEER="
+
+-#: fortran/dump-parse-tree.c:1574
++#: fortran/dump-parse-tree.c:1596
+ #, c-format
+ msgid " WRITE="
+ msgstr " ESCRIBIR="
+
+-#: fortran/dump-parse-tree.c:1579
++#: fortran/dump-parse-tree.c:1601
+ #, c-format
+ msgid " READWRITE="
+ msgstr " LEERESCRIBIR="
+
+-#: fortran/dump-parse-tree.c:1603
++#: fortran/dump-parse-tree.c:1625
+ #, c-format
+ msgid "IOLENGTH "
+ msgstr "ESLONG "
+
+-#: fortran/dump-parse-tree.c:1609
++#: fortran/dump-parse-tree.c:1631
+ #, c-format
+ msgid "READ"
+ msgstr "READ"
+
+-#: fortran/dump-parse-tree.c:1613
++#: fortran/dump-parse-tree.c:1635
+ #, c-format
+ msgid "WRITE"
+ msgstr "WRITE"
+
+-#: fortran/dump-parse-tree.c:1625
++#: fortran/dump-parse-tree.c:1647
+ #, c-format
+ msgid " FMT="
+ msgstr " FMT="
+
+-#: fortran/dump-parse-tree.c:1630
++#: fortran/dump-parse-tree.c:1652
+ #, c-format
+ msgid " FMT=%d"
+ msgstr " FMT=%d"
+
+-#: fortran/dump-parse-tree.c:1632
++#: fortran/dump-parse-tree.c:1654
+ #, c-format
+ msgid " NML=%s"
+ msgstr " NML=%s"
+
+-#: fortran/dump-parse-tree.c:1646
++#: fortran/dump-parse-tree.c:1668
+ #, c-format
+ msgid " SIZE="
+ msgstr " TAM="
+
+-#: fortran/dump-parse-tree.c:1651
++#: fortran/dump-parse-tree.c:1673
+ #, c-format
+ msgid " REC="
+ msgstr " GRAB="
+
+-#: fortran/dump-parse-tree.c:1656
++#: fortran/dump-parse-tree.c:1678
+ #, c-format
+ msgid " ADVANCE="
+ msgstr " AVANZAR="
+
+-#: fortran/dump-parse-tree.c:1667
++#: fortran/dump-parse-tree.c:1689
+ #, c-format
+ msgid "TRANSFER "
+ msgstr "TRANSFERIR "
+
+-#: fortran/dump-parse-tree.c:1672
++#: fortran/dump-parse-tree.c:1694
+ #, c-format
+ msgid "DT_END"
+ msgstr "DT_END"
+
+-#: fortran/dump-parse-tree.c:1678
++#: fortran/dump-parse-tree.c:1700
+ #, c-format
+ msgid " END=%d"
+ msgstr " FIN=%d"
+
+-#: fortran/dump-parse-tree.c:1680
++#: fortran/dump-parse-tree.c:1702
+ #, c-format
+ msgid " EOR=%d"
+ msgstr " FDR=%d"
+
+-#: fortran/dump-parse-tree.c:1714
++#: fortran/dump-parse-tree.c:1736
+ #, c-format
+ msgid "Equivalence: "
+ msgstr "Equivalencia: "
+
+-#: fortran/dump-parse-tree.c:1740
++#: fortran/dump-parse-tree.c:1762
+ #, c-format
+ msgid "Namespace:"
+ msgstr "Espacio de nombre:"
+
+-#: fortran/dump-parse-tree.c:1754
++#: fortran/dump-parse-tree.c:1776
+ #, c-format
+ msgid " %c-%c: "
+ msgstr " %c-%c: "
+
+-#: fortran/dump-parse-tree.c:1756
++#: fortran/dump-parse-tree.c:1778
+ #, c-format
+ msgid " %c: "
+ msgstr " %c: "
+
+-#: fortran/dump-parse-tree.c:1765
++#: fortran/dump-parse-tree.c:1787
+ #, c-format
+ msgid "procedure name = %s"
+ msgstr "nombre de procedimiento = %s"
+
+-#: fortran/dump-parse-tree.c:1781
++#: fortran/dump-parse-tree.c:1803
+ #, c-format
+ msgid "Operator interfaces for %s:"
+ msgstr "Interfaces de operador para %s:"
+
+-#: fortran/dump-parse-tree.c:1790
++#: fortran/dump-parse-tree.c:1812
+ #, c-format
+ msgid "User operators:\n"
+ msgstr "Operadores de usuario:\n"
+
+-#: fortran/dump-parse-tree.c:1806
++#: fortran/dump-parse-tree.c:1828
+ #, c-format
+ msgid "CONTAINS\n"
+ msgstr "CONTIENE\n"
+@@ -6181,308 +6145,348 @@
+ msgid "Error count reached limit of %d."
+ msgstr "Error al alcanzar el límite de cuenta de %d."
+
+-#: fortran/error.c:670 fortran/error.c:725 fortran/error.c:762
++#: fortran/error.c:670 fortran/error.c:724 fortran/error.c:761
+ msgid "Warning:"
+ msgstr "Aviso:"
+
+-#: fortran/error.c:727 fortran/error.c:810 fortran/error.c:836
++#: fortran/error.c:726 fortran/error.c:809 fortran/error.c:835
+ msgid "Error:"
+ msgstr "Error:"
+
+-#: fortran/error.c:860
++#: fortran/error.c:859
+ msgid "Fatal Error:"
+ msgstr "Error Fatal:"
+
+-#: fortran/error.c:879
++#: fortran/error.c:878
+ #, no-c-format
+ msgid "Internal Error at (1):"
+ msgstr "Error Interno en (1):"
+
+-#: fortran/expr.c:252
++#: fortran/expr.c:253
+ #, c-format
+ msgid "Constant expression required at %C"
+ msgstr "Se requiere una expresión constante en %C"
+
+-#: fortran/expr.c:255
++#: fortran/expr.c:256
+ #, c-format
+ msgid "Integer expression required at %C"
+ msgstr "Se requiere una expresión entera en %C"
+
+-#: fortran/expr.c:260
++#: fortran/expr.c:261
+ #, c-format
+ msgid "Integer value too large in expression at %C"
+ msgstr "Valor entero demasiado grande en la expresión en %C"
+
+-#: fortran/expr.c:1018 fortran/expr.c:1189 fortran/expr.c:1240
++#: fortran/expr.c:1037
+ #, no-c-format
++msgid "Index in dimension %d is out of bounds at %L"
++msgstr "El índice en la dimensión %d está fuera de los límites en %L"
++
++#: fortran/expr.c:1208 fortran/expr.c:1259
++#, no-c-format
+ msgid "index in dimension %d is out of bounds at %L"
+ msgstr "El índice en la dimensión %d está fuera de los límites en %L"
+
+-#: fortran/expr.c:1789
++#: fortran/expr.c:1808
+ #, no-c-format
+ msgid "elemental function arguments at %C are not compliant"
+ msgstr "los argumentos de la función elemental en %C no cumplen"
+
+-#: fortran/expr.c:1833
++#: fortran/expr.c:1852
+ #, no-c-format
+ msgid "Numeric or CHARACTER operands are required in expression at %L"
+ msgstr "Se requieren operandos numéricos o CHARACTER en la expresión en %L"
+
+-#: fortran/expr.c:1853
++#: fortran/expr.c:1872
+ #, no-c-format
+ msgid "Fortran 2003: Noninteger exponent in an initialization expression at %L"
+ msgstr "Fortran 2003: Exponente que no es entero en una expresión de inicialización en %C"
+
+-#: fortran/expr.c:1868
++#: fortran/expr.c:1887
+ #, no-c-format
+ msgid "Concatenation operator in expression at %L must have two CHARACTER operands"
+ msgstr "El operador de concatenación en la expresión en %L debe tener dos operandos CHARACTER"
+
+-#: fortran/expr.c:1875
++#: fortran/expr.c:1894
+ #, no-c-format
+ msgid "Concat operator at %L must concatenate strings of the same kind"
+ msgstr "El operador de concatenación en %L debe concatenar cadenas del mismo género"
+
+-#: fortran/expr.c:1885
++#: fortran/expr.c:1904
+ #, no-c-format
+ msgid ".NOT. operator in expression at %L must have a LOGICAL operand"
+ msgstr "El operador .NOT. en la expresión en %L debe tener un operando LOGICAL"
+
+-#: fortran/expr.c:1901
++#: fortran/expr.c:1920
+ #, no-c-format
+ msgid "LOGICAL operands are required in expression at %L"
+ msgstr "Se requieren operandos LOGICAL en la expresión en %L"
+
+-#: fortran/expr.c:1912
++#: fortran/expr.c:1931
+ #, no-c-format
+ msgid "Only intrinsic operators can be used in expression at %L"
+ msgstr "Sólo se pueden usar operandos intrínsecos en la expresión en %L"
+
+-#: fortran/expr.c:1920
++#: fortran/expr.c:1939
+ #, no-c-format
+ msgid "Numeric operands are required in expression at %L"
+ msgstr "Se requieren operandos numéricos en la expresión en %L"
+
+-#: fortran/expr.c:1985
++#: fortran/expr.c:2030
+ #, no-c-format
+-msgid "Inquiry function '%s' at %L is not permitted in an initialization expression"
+-msgstr "No se permite la función de inquisición '%s' en %L en una expresión de inicialización"
+-
+-#: fortran/expr.c:2015
+-#, no-c-format
+ msgid "Assumed character length variable '%s' in constant expression at %L"
+ msgstr "Se asume el carácter de longitud variable '%s' en la expresión constante en %L"
+
+-#: fortran/expr.c:2061 fortran/expr.c:2067
++#: fortran/expr.c:2076 fortran/expr.c:2082
+ #, no-c-format
+ msgid "transformational intrinsic '%s' at %L is not permitted in an initialization expression"
+ msgstr "no se permite el intrínseco transformacional '%s' en %L en una expresión de inicialización"
+
+-#: fortran/expr.c:2098
++#: fortran/expr.c:2114
+ #, no-c-format
+ msgid "Extension: 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.c:2151
++#: fortran/expr.c:2167
+ #, no-c-format
+ msgid "Function '%s' in initialization expression at %L must be an intrinsic or a specification function"
+ msgstr "La función '%s' en la expresión de inicialización en %L debe ser una funión intrínseca o de especificación"
+
+-#: fortran/expr.c:2163
++#: fortran/expr.c:2179
+ #, no-c-format
+ msgid "Intrinsic function '%s' at %L is not permitted in an initialization expression"
+ msgstr "No se permite la función intrínseco '%s' en %L en una expresión de inicialización"
+
+-#: fortran/expr.c:2207
++#: fortran/expr.c:2214
+ #, no-c-format
++msgid "PARAMETER '%s' is used at %L before its definition is complete"
++msgstr "Se usa el PARAMETER '%s' en %L antes de que su definición esté completa"
++
++#: fortran/expr.c:2234
++#, no-c-format
+ msgid "Assumed size array '%s' at %L is not permitted in an initialization expression"
+ msgstr "No se permite la matriz de tamaño asumido '%s' en %L en una expresión de inicialización"
+
+-#: fortran/expr.c:2213
++#: fortran/expr.c:2240
+ #, no-c-format
+ msgid "Assumed shape array '%s' at %L is not permitted in an initialization expression"
+ msgstr "No se permite la matriz de forma asumida '%s' en %L en una expresión de inicialización"
+
+-#: fortran/expr.c:2219
++#: fortran/expr.c:2246
+ #, no-c-format
+ msgid "Deferred array '%s' at %L is not permitted in an initialization expression"
+ msgstr "No se permite la matriz diferida '%s' en %L en una expresión de inicialización"
+
+-#: fortran/expr.c:2229
++#: fortran/expr.c:2252
+ #, no-c-format
++msgid "Array '%s' at %L is a variable, which does not reduce to a constant expression"
++msgstr "La matriz '%s' en %L es una variable, lo cual no se reduce a una expresión constante"
++
++#: fortran/expr.c:2262
++#, no-c-format
+ msgid "Parameter '%s' at %L has not been declared or is a variable, which does not reduce to a constant expression"
+ msgstr "El parámetro '%s' en %L no se ha declarado o es una variable, lo cual no se reduce a una expresión constante"
+
+-#: fortran/expr.c:2317
++#: fortran/expr.c:2350
+ #, no-c-format
+ msgid "Initialization expression didn't reduce %C"
+ msgstr "La expresión de inicialización no reduce en %C"
+
+-#: fortran/expr.c:2360
++#: fortran/expr.c:2393
+ #, no-c-format
+ msgid "Specification function '%s' at %L cannot be a statement function"
+ msgstr "La función de especificación '%s' en %L no puede ser una función de declaración"
+
+-#: fortran/expr.c:2367
++#: fortran/expr.c:2400
+ #, no-c-format
+ msgid "Specification function '%s' at %L cannot be an internal function"
+ msgstr "La función de especificación '%s' en %L no puede ser una función interna"
+
+-#: fortran/expr.c:2374
++#: fortran/expr.c:2407
+ #, no-c-format
+ msgid "Specification function '%s' at %L must be PURE"
+ msgstr "La función de especificación '%s' en %L debe ser PURE"
+
+-#: fortran/expr.c:2381
++#: fortran/expr.c:2414
+ #, no-c-format
+ msgid "Specification function '%s' at %L cannot be RECURSIVE"
+ msgstr "La función de especificación '%s' en %L no puede ser RECURSIVE"
+
+-#: fortran/expr.c:2443
++#: fortran/expr.c:2476
+ #, no-c-format
+ msgid "Dummy argument '%s' not allowed in expression at %L"
+ msgstr "No se permite el argumento dummy '%s' en la expresión en %L"
+
+-#: fortran/expr.c:2450
++#: fortran/expr.c:2483
+ #, no-c-format
+ msgid "Dummy argument '%s' at %L cannot be OPTIONAL"
+ msgstr "El argumento dummy '%s' en %L no puede ser OPTIONAL"
+
+-#: fortran/expr.c:2457
++#: fortran/expr.c:2490
+ #, no-c-format
+ msgid "Dummy argument '%s' at %L cannot be INTENT(OUT)"
+ msgstr "El argumento dummy '%s' en %L no puede ser INTENT(OUT)"
+
+-#: fortran/expr.c:2479
++#: fortran/expr.c:2513
+ #, no-c-format
+ msgid "Variable '%s' cannot appear in the expression at %L"
+ msgstr "La variable '%s' no puede aparecer en la expresión en %L"
+
+-#: fortran/expr.c:2528
++#: fortran/expr.c:2562
+ #, no-c-format
+ msgid "Expression at %L must be of INTEGER type"
+ msgstr "La expresión en %L debe ser de tipo INTEGER"
+
+-#: fortran/expr.c:2537
++#: fortran/expr.c:2571
+ #, no-c-format
+ msgid "Function '%s' at %L must be PURE"
+ msgstr "La función '%s' en %L debe ser PURE"
+
+-#: fortran/expr.c:2546
++#: fortran/expr.c:2580
+ #, no-c-format
+ msgid "Expression at %L must be scalar"
+ msgstr "La expresión en %L debe ser escalar"
+
+-#: fortran/expr.c:2573
++#: fortran/expr.c:2607
+ #, no-c-format
+ msgid "Incompatible ranks in %s (%d and %d) at %L"
+ msgstr "Rangos incompatibles en %s (%d y %d) en %L"
+
+-#: fortran/expr.c:2587
++#: fortran/expr.c:2621
+ #, no-c-format
+ msgid "Different shape for %s at %L on dimension %d (%d and %d)"
+ msgstr "Forma diferente para %s en %L en la dimensión %d (%d y %d)"
+
+-#: fortran/expr.c:2633 fortran/expr.c:2800
++#: fortran/expr.c:2667 fortran/expr.c:2884
+ #, no-c-format
+ msgid "Cannot assign to INTENT(IN) variable '%s' at %L"
+ msgstr "No se puede asignar a la variable INTENT(IN) '%s' en %L"
+
+-#: fortran/expr.c:2676
++#: fortran/expr.c:2719
+ #, no-c-format
+ msgid "'%s' at %L is not a VALUE"
+ msgstr "'%s' en %L no es un VALUE"
+
+-#: fortran/expr.c:2683
++#: fortran/expr.c:2726
+ #, no-c-format
+ msgid "Incompatible ranks %d and %d in assignment at %L"
+ msgstr "Rangos %d y %d incompatibles en la asignación en %L"
+
+-#: fortran/expr.c:2690
++#: fortran/expr.c:2733
+ #, no-c-format
+ msgid "Variable type is UNKNOWN in assignment at %L"
+ msgstr "El tipo de la variable es UNKNOWN en la asignación en %L"
+
+-#: fortran/expr.c:2702
++#: fortran/expr.c:2745
+ #, no-c-format
+ msgid "NULL appears on right-hand side in assignment at %L"
+ msgstr "NULL aparece en el lado derecho de una asignación en %L"
+
+-#: fortran/expr.c:2713
++#: fortran/expr.c:2756
+ #, no-c-format
+ msgid "Vector assignment to assumed-size Cray Pointee at %L is illegal"
+ msgstr "La asignación de vector a un Apuntado Cray de tamaño asumido en %L es ilegal."
+
+-#: fortran/expr.c:2722
++#: fortran/expr.c:2765
+ #, no-c-format
+ msgid "POINTER valued function appears on right-hand side of assignment at %L"
+ msgstr "Una función valuada como POINTER aparece en el lado derecho de la asignación en %L"
+
+-#: fortran/expr.c:2727
++#: fortran/expr.c:2770
+ msgid "array assignment"
+ msgstr "asignación de matriz"
+
+-#: fortran/expr.c:2744
++#: fortran/expr.c:2775
+ #, no-c-format
++msgid "Extension: BOZ literal at %L used to initialize non-integer variable '%s'"
++msgstr "Extensión: se usa la literal BOZ en %L para inicializar la variable '%s' que no es entera"
++
++#: fortran/expr.c:2781 fortran/resolve.c:6058
++#, no-c-format
++msgid "Extension: BOZ literal at %L outside a DATA statement and outside INT/REAL/DBLE/CMPLX"
++msgstr "Extensión: la literal BOZ en %L está fuera de una declaración DATA y fuera de INT/REAL/DBLE/CMPLX"
++
++#: fortran/expr.c:2791 fortran/resolve.c:6068
++#, no-c-format
++msgid "BOZ literal at %L is bitwise transferred non-integer symbol '%s'"
++msgstr "La literal BOZ en %L se transfiere por bits al símbolo '%s' que no es entero"
++
++#: fortran/expr.c:2799 fortran/resolve.c:6077
++#, no-c-format
++msgid "Arithmetic underflow of bit-wise transferred BOZ at %L. This check can be disabled with the option -fno-range-check"
++msgstr "El desborde aritmético por debajo del BOZ transferido por bits en %L. Esta revisión se puede desactivar con la opción -fno-range-check"
++
++#: fortran/expr.c:2803 fortran/resolve.c:6081
++#, no-c-format
++msgid "Arithmetic overflow of bit-wise transferred BOZ at %L. This check can be disabled with the option -fno-range-check"
++msgstr "El desborde aritmético del BOZ transferido por bits en %L. Esta revisión se puede desactivar con la opción -fno-range-check"
++
++#: fortran/expr.c:2807 fortran/resolve.c:6085
++#, no-c-format
++msgid "Arithmetic NaN of bit-wise transferred BOZ at %L. This check can be disabled with the option -fno-range-check"
++msgstr "NaN aritmético del BOZ transferido por bits en %L. Esta revisión se puede desactivar con la opción -fno-range-check"
++
++#: fortran/expr.c:2828
++#, no-c-format
+ msgid "Incompatible types in assignment at %L, %s to %s"
+ msgstr "Tipos incompatible en la asignación en %L, %s a %s"
+
+-#: fortran/expr.c:2769
++#: fortran/expr.c:2853
+ #, no-c-format
+ msgid "Pointer assignment target is not a POINTER at %L"
+ msgstr "El objetivo de asignación de puntero no es un POINTER en %L"
+
+-#: fortran/expr.c:2777
++#: fortran/expr.c:2861
+ #, no-c-format
+ msgid "'%s' in the pointer assignment at %L cannot be an l-value since it is a procedure"
+ msgstr "'%s' en la asignación de puntero en %L no puede ser un l-valor ya que es un procedimiento"
+
+-#: fortran/expr.c:2807
++#: fortran/expr.c:2891
+ #, no-c-format
+ msgid "Pointer assignment to non-POINTER at %L"
+ msgstr "Asignación de puntero a un no-POINTER en %L"
+
+-#: fortran/expr.c:2816
++#: fortran/expr.c:2900
+ #, no-c-format
+ msgid "Bad pointer object in PURE procedure at %L"
+ msgstr "Objeto puntero erróneo en el procedimiento PURE en %L"
+
+-#: fortran/expr.c:2828
++#: fortran/expr.c:2912
+ #, no-c-format
+ msgid "Different types in pointer assignment at %L"
+ msgstr "Tipos diferentes en la asignación de puntero en %L"
+
+-#: fortran/expr.c:2835
++#: fortran/expr.c:2919
+ #, no-c-format
+ msgid "Different kind type parameters in pointer assignment at %L"
+ msgstr "Parámetros de tipo de género diferentes en la asignación de puntero en %L"
+
+-#: fortran/expr.c:2842
++#: fortran/expr.c:2926
+ #, no-c-format
+ msgid "Different ranks in pointer assignment at %L"
+ msgstr "Rangos diferentes en la asignación de puntero en %L"
+
+-#: fortran/expr.c:2857
++#: fortran/expr.c:2941
+ #, no-c-format
+ msgid "Different character lengths in pointer assignment at %L"
+ msgstr "Longitudes de carácter diferentes en la asignación de puntero en %L"
+
+-#: fortran/expr.c:2868
++#: fortran/expr.c:2952
+ #, no-c-format
+ msgid "Pointer assignment target is neither TARGET nor POINTER at %L"
+ msgstr "El objetivo de asignación de puntero no es TARGET ni POINTER en %L"
+
+-#: fortran/expr.c:2875
++#: fortran/expr.c:2959
+ #, no-c-format
+ msgid "Bad target in pointer assignment in PURE procedure at %L"
+ msgstr "Objetivo erróneo en la asignación de puntero en el procedimiento PURE en %L"
+
+-#: fortran/expr.c:2881
++#: fortran/expr.c:2965
+ #, no-c-format
+ msgid "Pointer assignment with vector subscript on rhs at %L"
+ msgstr "Asignación de puntero con subíndice vectorial del lado derecho en %L"
+
+-#: fortran/expr.c:2888
++#: fortran/expr.c:2972
+ #, no-c-format
+ msgid "Pointer assigment target has PROTECTED attribute at %L"
+ msgstr "El objetivo de asignación de puntero tiene atributo PROTECTED en %L"
+@@ -6577,292 +6581,317 @@
+ msgid "Expecting 'END INTERFACE %s' at %C"
+ msgstr "Se esperaba 'END INTERFACE %s' en %C"
+
+-#: fortran/interface.c:551
++#: fortran/interface.c:563
+ #, no-c-format
+ msgid "Alternate return cannot appear in operator interface at %L"
+ msgstr "No puede aparecer una devolución alternativa en la interfaz de operador en %L"
+
+-#: fortran/interface.c:581
++#: fortran/interface.c:593
+ #, no-c-format
+ msgid "Operator interface at %L has the wrong number of arguments"
+ msgstr "La interfaz de operador en %L tiene el número erróneo de argumentos"
+
+-#: fortran/interface.c:592
++#: fortran/interface.c:604
+ #, no-c-format
+ msgid "Assignment operator interface at %L must be a SUBROUTINE"
+ msgstr "La interfaz de operador de asignación en %L debe ser SUBROUTINE"
+
+-#: fortran/interface.c:598
++#: fortran/interface.c:610
+ #, no-c-format
+ msgid "Assignment operator interface at %L must have two arguments"
+ msgstr "La interfaz de operador de asignación en %L debe tener dos argumentos"
+
+-#: fortran/interface.c:608
++#: fortran/interface.c:620
+ #, no-c-format
+ msgid "Assignment operator interface at %L must not redefine an INTRINSIC type assignment"
+ msgstr "La interfaz de operador de asignación en %L no debe redefinir una asignación de tipo INTRINSIC"
+
+-#: fortran/interface.c:617
++#: fortran/interface.c:629
+ #, no-c-format
+ msgid "Intrinsic operator interface at %L must be a FUNCTION"
+ msgstr "La interfaz de operador intrínseco en %L debe ser FUNCTION"
+
+-#: fortran/interface.c:627
++#: fortran/interface.c:639
+ #, no-c-format
+ msgid "First argument of defined assignment at %L must be INTENT(IN) or INTENT(INOUT)"
+ msgstr "El primer argumento de la asignación definida en %L debe ser INTENT(IN) o INTENT(INOUT)"
+
+-#: fortran/interface.c:631
++#: fortran/interface.c:643
+ #, no-c-format
+ 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.c:637 fortran/resolve.c:8807
++#: fortran/interface.c:649 fortran/resolve.c:8998
+ #, no-c-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.c:641 fortran/resolve.c:8819
++#: fortran/interface.c:653 fortran/resolve.c:9010
+ #, no-c-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)"
+
+-#: fortran/interface.c:744
++#: fortran/interface.c:756
+ #, no-c-format
+ msgid "Operator interface at %L conflicts with intrinsic interface"
+ msgstr "La interfaz de operador en %L genera un conflicto con la interfaz intrínseca"
+
+-#: fortran/interface.c:1044
++#: fortran/interface.c:1117
+ #, no-c-format
+ msgid "Procedure '%s' in %s at %L has no explicit interface"
+ msgstr "El procedimiento '%s' en %L no tiene una interfaz explícita"
+
+-#: fortran/interface.c:1047
++#: fortran/interface.c:1120
+ #, no-c-format
+ msgid "Procedure '%s' in %s at %L is neither function nor subroutine"
+ msgstr "El procedimiento '%s' en %s en %L no es ni función ni subrutina"
+
+-#: fortran/interface.c:1102 fortran/interface.c:1108
++#: fortran/interface.c:1175 fortran/interface.c:1181
+ #, no-c-format
+ msgid "Ambiguous interfaces '%s' and '%s' in %s at %L"
+ msgstr "Las interfaces '%s' y '%s' son ambiguas en %s en %L"
+
+-#: fortran/interface.c:1144
++#: fortran/interface.c:1217
+ #, no-c-format
+ msgid "'%s' at %L is not a module procedure"
+ msgstr "'%s' en %L no es un procedimiento de módulo"
+
+-#: fortran/interface.c:1676
++#: fortran/interface.c:1465 fortran/interface.c:2411
+ #, no-c-format
++msgid "Type/rank mismatch in argument '%s' at %L"
++msgstr "No coincide el tipo/rango en el argumento '%s' en %L"
++
++#: fortran/interface.c:1474
++#, no-c-format
++msgid "Type mismatch in argument '%s' at %L; passed %s to %s"
++msgstr "No coincide el tipo en el argumento '%s' en %L; se pasa %s a %s"
++
++#: fortran/interface.c:1492 fortran/interface.c:1532
++#, no-c-format
++msgid "Rank mismatch in argument '%s' at %L (%d and %d)"
++msgstr "No coincide el rango en el argumento '%s' en %L (%d y %d)"
++
++#: fortran/interface.c:1519
++#, no-c-format
++msgid "Fortran 2003: Scalar CHARACTER actual argument with array dummy argument '%s' at %L"
++msgstr "Fortran 2003: Argumento actual CHARACTER escalar con argumento dummy de matriz '%s' en %L"
++
++#: fortran/interface.c:1544
++#, no-c-format
++msgid "Element of assumed-shaped array passed to dummy argument '%s' at %L"
++msgstr "Un elemento de la matriz de forma asumida se pasa al argumento dummy '%s' en %L"
++
++#: fortran/interface.c:1861
++#, no-c-format
+ msgid "Keyword argument '%s' at %L is not in the procedure"
+ msgstr "El argumento de palabra clave '%s' en %L no está en el procedimiento"
+
+-#: fortran/interface.c:1684
++#: fortran/interface.c:1869
+ #, no-c-format
+ msgid "Keyword argument '%s' 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.c:1694
++#: fortran/interface.c:1879
+ #, no-c-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.c:1706 fortran/interface.c:1935
++#: fortran/interface.c:1891 fortran/interface.c:2110
+ #, no-c-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.c:1714
++#: fortran/interface.c:1899
+ #, no-c-format
+ msgid "Unexpected alternate return spec in subroutine call at %L"
+ msgstr "Especificación de devolución alternativa inesperada en la llamada a subrutina en %L"
+
+-#: fortran/interface.c:1729
++#: fortran/interface.c:1922
+ #, no-c-format
+-msgid "Fortran 2003: Scalar CHARACTER actual argument with array dummy argument '%s' at %L"
+-msgstr "Fortran 2003: Argumento actual CHARACTER escalar con argumento dummy de matriz '%s' en %L"
++msgid "Character length mismatch (%ld/%ld) between actual argument and pointer or allocatable dummy argument '%s' 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.c:1742
++#: fortran/interface.c:1929
+ #, no-c-format
+-msgid "Type/rank mismatch in argument '%s' at %L"
+-msgstr "No coincide el tipo/rango en el argumento '%s' en %L"
++msgid "Character length mismatch (%ld/%ld) between actual argument and assumed-shape dummy argument '%s' 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.c:1758
++#: fortran/interface.c:1943
+ #, no-c-format
+-msgid "Character length mismatch between actual argument and pointer or allocatable dummy argument '%s' at %L"
+-msgstr "No coincide la longitud de carácter entre el argumento actual y el argumento dummy puntero o alojable '%s' en %L"
+-
+-#: fortran/interface.c:1771
+-#, no-c-format
+ msgid "Character length of actual argument shorter than of dummy argument '%s' (%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.c:1776
++#: fortran/interface.c:1948
+ #, no-c-format
+ msgid "Actual argument contains too few elements for dummy argument '%s' (%lu/%lu) at %L"
+ msgstr "El argumento actual contiene muy pocos elementos para el argumento dummy '%s' (%lu/%lu) en %L"
+
+-#: fortran/interface.c:1790
++#: fortran/interface.c:1962
+ #, no-c-format
+ msgid "Expected a procedure for argument '%s' at %L"
+ msgstr "Falta un procedimiento para el argumento '%s' en %L"
+
+-#: fortran/interface.c:1800
++#: fortran/interface.c:1972
+ #, no-c-format
+ msgid "Expected a PURE procedure for argument '%s' at %L"
+ msgstr "Falta un procedimiento PURE para el argumento '%s' en %L"
+
+-#: fortran/interface.c:1814
++#: fortran/interface.c:1986
+ #, no-c-format
+ msgid "Actual argument for '%s' 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.c:1823
++#: fortran/interface.c:1995
+ #, no-c-format
+ msgid "Actual argument for '%s' must be a pointer at %L"
+ msgstr "El argumento actual para '%s' debe ser un puntero en %L"
+
+-#: fortran/interface.c:1832
++#: fortran/interface.c:2004
+ #, no-c-format
+ msgid "Actual argument for '%s' must be ALLOCATABLE at %L"
+ msgstr "El argumento actual para '%s' debe ser ALLOCATABLE en %L"
+
+-#: fortran/interface.c:1843
++#: fortran/interface.c:2017
+ #, no-c-format
+-msgid "Actual argument at %L must be definable to match dummy INTENT = OUT/INOUT"
+-msgstr "El argumento actual en %L debe ser definible para coincidir con el dummy INTENT = OUT/INOUT"
++msgid "Actual argument at %L must be definable as the dummy argument '%s' is INTENT = OUT/INOUT"
++msgstr "El argumento actual en %L debe ser definible mientras el argumento dummy'%s' es INTENT = OUT/INOUT"
+
+-#: fortran/interface.c:1851
++#: fortran/interface.c:2026
+ #, no-c-format
+ msgid "Actual argument at %L is use-associated with PROTECTED attribute and dummy argument '%s' is INTENT = OUT/INOUT"
+ msgstr "El argumento actual en %L debe ser asociado al uso con el atributo PROTECTED y el argumento dummy '%s' es INTENT = OUT/INOUT"
+
+-#: fortran/interface.c:1864
++#: fortran/interface.c:2039
+ #, no-c-format
+-msgid "Array-section actual argument with vector subscripts at %L is incompatible with INTENT(IN), 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) or VOLATILE attribute of the dummy argument '%s'"
+ msgstr "El argumento actual de sección de matriz con subíndices vectoriales en %L es incompatible con el atributo INTENT(IN), INTENT(OUT) o VOLATILE del argumento dummy '%s'"
+
+-#: fortran/interface.c:1881
++#: fortran/interface.c:2056
+ #, no-c-format
+ msgid "Assumed-shape actual argument at %L is incompatible with the non-assumed-shape dummy argument '%s' 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.c:1893
++#: fortran/interface.c:2068
+ #, no-c-format
+ msgid "Array-section actual argument at %L is incompatible with the non-assumed-shape dummy argument '%s' 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.c:1912
++#: fortran/interface.c:2087
+ #, no-c-format
+ msgid "Pointer-array actual argument at %L requires an assumed-shape or pointer-array dummy argument '%s' 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.c:1942
++#: fortran/interface.c:2117
+ #, no-c-format
+ msgid "Missing actual argument for argument '%s' at %L"
+ msgstr "Falta el argumento actual para el argumento '%s' en %L"
+
+-#: fortran/interface.c:2128
++#: fortran/interface.c:2303
+ #, no-c-format
+ msgid "Same actual argument associated with INTENT(%s) argument '%s' and INTENT(%s) argument '%s' 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.c:2184
++#: fortran/interface.c:2359
+ #, no-c-format
+ msgid "Procedure argument at %L is INTENT(IN) while interface specifies INTENT(%s)"
+ msgstr "El argumento del procedimiento en %L es INTENT(IN) mientras que la interfaz especifica INTENT(%s)"
+
+-#: fortran/interface.c:2194
++#: fortran/interface.c:2369
+ #, no-c-format
+ msgid "Procedure argument at %L is local to a PURE procedure and is passed to an INTENT(%s) argument"
+ msgstr "El argumento del procedimiento en %L es local a un procedimiento PURE y se pasa a un argumento INTENT(%s)"
+
+-#: fortran/interface.c:2202
++#: fortran/interface.c:2377
+ #, no-c-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.c:2225
++#: fortran/interface.c:2400
+ #, no-c-format
+ msgid "Procedure '%s' called with an implicit interface at %L"
+ msgstr "Se llamó al procedimiento '%s' con una interfaz implícita en %L"
+
+-#: fortran/interface.c:2440
++#: fortran/interface.c:2629
+ #, no-c-format
+ msgid "Function '%s' called in lieu of an operator at %L must be PURE"
+ msgstr "La función '%s' llamada en lugar de un operador en %L debe ser PURE"
+
+-#: fortran/interface.c:2519
++#: fortran/interface.c:2708
+ #, no-c-format
+ msgid "Entity '%s' at %C is already present in the interface"
+ msgstr "La entidad '%s' en %C ya está presente en la interfaz"
+
+-#: fortran/intrinsic.c:2918
++#: fortran/intrinsic.c:2923
+ #, no-c-format
+ msgid "Too many arguments in call to '%s' at %L"
+ msgstr "Demasiados argumentos en la llamada a '%s' en %L"
+
+-#: fortran/intrinsic.c:2933
++#: fortran/intrinsic.c:2938
+ #, no-c-format
+ msgid "The argument list functions %%VAL, %%LOC or %%REF are not allowed in this context at %L"
+ msgstr "No se permiten las funciones de lista de argumentos %%VAL, %%LOC o %%REF en este contexto en %L"
+
+-#: fortran/intrinsic.c:2936
++#: fortran/intrinsic.c:2941
+ #, no-c-format
+ msgid "Can't find keyword named '%s' in call to '%s' at %L"
+ msgstr "No se puede encontrar la palabra clave nombrada '%s' en la llamada a '%s' en %L"
+
+-#: fortran/intrinsic.c:2943
++#: fortran/intrinsic.c:2948
+ #, no-c-format
+ msgid "Argument '%s' is appears twice in call to '%s' at %L"
+ msgstr "El argumento '%s' aparece dos veces en la llamada a '%s' en %L"
+
+-#: fortran/intrinsic.c:2957
++#: fortran/intrinsic.c:2962
+ #, no-c-format
+ msgid "Missing actual argument '%s' in call to '%s' at %L"
+ msgstr "Falta el argumento actual '%s' en la llamada a '%s' en %L"
+
+-#: fortran/intrinsic.c:2972
++#: fortran/intrinsic.c:2977
+ #, no-c-format
+ msgid "ALTERNATE RETURN not permitted at %L"
+ msgstr "No se permite ALTERNATE RETURN en %L"
+
+-#: fortran/intrinsic.c:3021
++#: fortran/intrinsic.c:3026
+ #, no-c-format
+ msgid "Type of argument '%s' in call to '%s' at %L should be %s, not %s"
+ msgstr "El tipo del argumento '%s' en la llamada a '%s' en %L debe ser %s, no %s"
+
+-#: fortran/intrinsic.c:3337
++#: fortran/intrinsic.c:3342
+ #, no-c-format
+ msgid "Intrinsic '%s' at %L is not included in the selected standard"
+ msgstr "El intrínseco '%s' en %L no se incluye en el estándar seleccionado"
+
+-#: fortran/intrinsic.c:3450
++#: fortran/intrinsic.c:3398
+ #, no-c-format
++msgid "Fortran 2003: Function '%s' as initialization expression at %L"
++msgstr "Fortran 2003: La función '%s' como una expresión de inicialización en %L"
++
++#: fortran/intrinsic.c:3463
++#, no-c-format
+ msgid "Fortran 2003: Elemental function as initialization expression with non-integer/non-character arguments at %L"
+ msgstr "Fortran 2003: Función elemental como expresión de inicialización con argumentos que no son enteros/carácter en %L"
+
+-#: fortran/intrinsic.c:3508
++#: fortran/intrinsic.c:3524
+ #, no-c-format
+ msgid "Subroutine call to intrinsic '%s' at %L is not PURE"
+ msgstr "La llamada de subrutina al intrínseco '%s' en %L no es PURE"
+
+-#: fortran/intrinsic.c:3579
++#: fortran/intrinsic.c:3595
+ #, no-c-format
+ msgid "Extension: Conversion from %s to %s at %L"
+ msgstr "Extensión: Conversión de %s a %s en %L"
+
+-#: fortran/intrinsic.c:3582
++#: fortran/intrinsic.c:3598
+ #, no-c-format
+ msgid "Conversion from %s to %s at %L"
+ msgstr "Conversión de %s a %s en %L"
+
+-#: fortran/intrinsic.c:3629
++#: fortran/intrinsic.c:3645
+ #, no-c-format
+ msgid "Can't convert %s to %s at %L"
+ msgstr "No se puede convertir %s a %s en %L"
+
+-#: fortran/io.c:156 fortran/primary.c:738
++#: fortran/io.c:156 fortran/primary.c:750
+ #, no-c-format
+ msgid "Extension: backslash character at %C"
+ msgstr "Extensión: carácter barra invertida en %C"
+@@ -7065,7 +7094,7 @@
+ msgid "CLOSE statement not allowed in PURE procedure at %C"
+ msgstr "No se permite una declaración CLOSE en el procedimiento PURE en %C"
+
+-#: fortran/io.c:1955 fortran/match.c:1841
++#: fortran/io.c:1955 fortran/match.c:1911
+ #, no-c-format
+ msgid "%s statement not allowed in PURE procedure at %C"
+ msgstr "No se permite una declaración %s en el procedimiento PURE en %C"
+@@ -7080,516 +7109,491 @@
+ msgid "Duplicate UNIT specification at %C"
+ msgstr "Especificación UNIT duplicada en %C"
+
+-#: fortran/io.c:2128
++#: fortran/io.c:2132
+ #, no-c-format
+ msgid "Duplicate format specification at %C"
+ msgstr "Especificación de formato duplicada en %C"
+
+-#: fortran/io.c:2145
++#: fortran/io.c:2149
+ #, no-c-format
+ msgid "Symbol '%s' in namelist '%s' is INTENT(IN) at %C"
+ msgstr "El símbolo '%s' en la lista de nombres '%s' es INTENT(IN) en %C"
+
+-#: fortran/io.c:2181
++#: fortran/io.c:2185
+ #, no-c-format
+ msgid "Duplicate NML specification at %C"
+ msgstr "Especificación NML duplicada en %C"
+
+-#: fortran/io.c:2190
++#: fortran/io.c:2194
+ #, no-c-format
+ msgid "Symbol '%s' at %C must be a NAMELIST group name"
+ msgstr "El símbolo '%s' en %C debe ser un nombre de grupo NAMELIST"
+
+-#: fortran/io.c:2231
++#: fortran/io.c:2235
+ #, no-c-format
+ msgid "END tag at %C not allowed in output statement"
+ msgstr "No se permite la etiqueta END en %C en la declaración de salida"
+
+-#: fortran/io.c:2288
++#: fortran/io.c:2292
+ #, no-c-format
+ msgid "UNIT specification at %L must be an INTEGER expression or a CHARACTER variable"
+ msgstr "La especificación UNIT en %L debe ser una expresión INTEGER o una variable CHARACTER"
+
+-#: fortran/io.c:2297
++#: fortran/io.c:2301
+ #, no-c-format
+ msgid "Internal unit with vector subscript at %L"
+ msgstr "Unidad interna con subíndice vectorial en %L"
+
+-#: fortran/io.c:2304
++#: fortran/io.c:2308
+ #, no-c-format
+ msgid "External IO UNIT cannot be an array at %L"
+ msgstr "Un IO UNIT externo no puede ser una matriz en %L"
+
+-#: fortran/io.c:2314
++#: fortran/io.c:2318
+ #, no-c-format
+ msgid "ERR tag label %d at %L not defined"
+ msgstr "La etiqueta ERR %d en %L no está definida"
+
+-#: fortran/io.c:2326
++#: fortran/io.c:2330
+ #, no-c-format
+ msgid "END tag label %d at %L not defined"
+ msgstr "La etiqueta END %d en %L no está definida"
+
+-#: fortran/io.c:2338
++#: fortran/io.c:2342
+ #, no-c-format
+ msgid "EOR tag label %d at %L not defined"
+ msgstr "La etiqueta EOR %d en %L no está definida"
+
+-#: fortran/io.c:2348
++#: fortran/io.c:2352
+ #, no-c-format
+ msgid "FORMAT label %d at %L not defined"
+ msgstr "La etiqueta FORMAT %d en %L no está definida"
+
+-#: fortran/io.c:2469
++#: fortran/io.c:2473
+ #, no-c-format
+ msgid "Syntax error in I/O iterator at %C"
+ msgstr "Error sintáctico en el iterador de E/S en %C"
+
+-#: fortran/io.c:2500
++#: fortran/io.c:2504
+ #, no-c-format
+ msgid "Expected variable in READ statement at %C"
+ msgstr "Se esperaba una variable en la declaración READ en %C"
+
+-#: fortran/io.c:2506
++#: fortran/io.c:2510
+ #, no-c-format
+ msgid "Expected expression in %s statement at %C"
+ msgstr "Se esperaba una expresión en la declaración %s en %C"
+
+-#: fortran/io.c:2516
++#: fortran/io.c:2520
+ #, no-c-format
+ msgid "Variable '%s' in input list at %C cannot be INTENT(IN)"
+ msgstr "La variable '%s' en la lista de entrada en %C no puede ser INTENT(IN)"
+
+-#: fortran/io.c:2525
++#: fortran/io.c:2529
+ #, no-c-format
+ msgid "Cannot read to variable '%s' in PURE procedure at %C"
+ msgstr "No se puede leer la variable '%s' en el procedimiento PURE en %C"
+
+-#: fortran/io.c:2541
++#: fortran/io.c:2545
+ #, no-c-format
+ msgid "Cannot write to internal file unit '%s' at %C inside a PURE procedure"
+ msgstr "No se puede escribir a la unidad de fichero interna '%s' en %C dentro de un procedimiento PURE"
+
+ #. A general purpose syntax error.
+-#: fortran/io.c:2602 fortran/io.c:3004 fortran/gfortran.h:1998
++#: fortran/io.c:2606 fortran/io.c:3013 fortran/gfortran.h:2002
+ #, no-c-format
+ msgid "Syntax error in %s statement at %C"
+ msgstr "Error sintáctico en la declaración %s en %C"
+
+-#: fortran/io.c:2670
++#: fortran/io.c:2679
+ #, no-c-format
+ msgid "Fortran 2003: Internal file at %L with namelist"
+ msgstr "Fortran 2003: Fichero interno en %L con lista de nombres"
+
+-#: fortran/io.c:2833
++#: fortran/io.c:2842
+ #, no-c-format
+ msgid "PRINT namelist at %C is an extension"
+ msgstr "La lista de nombres PRINT en %C es una extensión"
+
+-#: fortran/io.c:2965
++#: fortran/io.c:2974
+ #, no-c-format
+ msgid "Extension: Comma before i/o item list at %C"
+ msgstr "Extensión: Una coma antes de una lista de elementos de e/s en %C"
+
+-#: fortran/io.c:2974
++#: fortran/io.c:2983
+ #, no-c-format
+ msgid "Expected comma in I/O list at %C"
+ msgstr "Se esperaba una coma en la lista E/S en %C"
+
+-#: fortran/io.c:3036
++#: fortran/io.c:3045
+ #, no-c-format
+ msgid "PRINT statement at %C not allowed within PURE procedure"
+ msgstr "No se permite la declaración PRINT en %C dentro un procedimiento PURE"
+
+-#: fortran/io.c:3176 fortran/io.c:3227
++#: fortran/io.c:3185 fortran/io.c:3236
+ #, no-c-format
+ msgid "INQUIRE statement not allowed in PURE procedure at %C"
+ msgstr "No se permite la declaración INQUIRE en el procedimiento PURE en %C"
+
+-#: fortran/io.c:3203
++#: fortran/io.c:3212
+ #, no-c-format
+ msgid "IOLENGTH tag invalid in INQUIRE statement at %C"
+ msgstr "La etiqueta IOLENGHT es inválida en la declaración INQUIRE en %C"
+
+-#: fortran/io.c:3213 fortran/trans-io.c:1144
++#: fortran/io.c:3222 fortran/trans-io.c:1145
+ #, no-c-format
+ msgid "INQUIRE statement at %L cannot contain both FILE and UNIT specifiers"
+ msgstr "La declaración INQUIRE en %L no puede contener especificadores FILE y UNIT al mismo tiempo"
+
+-#: fortran/io.c:3220
++#: fortran/io.c:3229
+ #, no-c-format
+ msgid "INQUIRE statement at %L requires either FILE or UNIT specifier"
+ msgstr "La declaración INQUIRE en %L requiere un especificador FILE o UNIT"
+
+-#: fortran/match.c:270
++#: fortran/match.c:156
+ #, no-c-format
++msgid "Missing ')' in statement before %L"
++msgstr "Falta un ')' en la declaración antes de %L"
++
++#: fortran/match.c:161
++#, no-c-format
++msgid "Missing '(' in statement before %L"
++msgstr "Falta un '(' en la declaración antes de %L"
++
++#: fortran/match.c:332
++#, no-c-format
+ msgid "Integer too large at %C"
+ msgstr "Entero demasiado grande en %C"
+
+-#: fortran/match.c:363 fortran/parse.c:442
++#: fortran/match.c:425 fortran/parse.c:589
+ #, no-c-format
+ msgid "Too many digits in statement label at %C"
+ msgstr "Demasiados dígitos en la declaración de etiqueta en %C"
+
+-#: fortran/match.c:369
++#: fortran/match.c:431
+ #, no-c-format
+ msgid "Statement label at %C is zero"
+ msgstr "La etiqueta de declaración en %C es cero"
+
+-#: fortran/match.c:402
++#: fortran/match.c:464
+ #, no-c-format
+ msgid "Label name '%s' at %C is ambiguous"
+ msgstr "El nombre de etiqueta '%s' en %C es ambigua"
+
+-#: fortran/match.c:408
++#: fortran/match.c:470
+ #, no-c-format
+ msgid "Duplicate construct label '%s' at %C"
+ msgstr "Etiqueta construct '%s' duplicada en %C"
+
+-#: fortran/match.c:438
++#: fortran/match.c:500
+ #, no-c-format
+ msgid "Invalid character in name at %C"
+ msgstr "Carácter inválido en el nombre en %C"
+
+-#: fortran/match.c:451 fortran/match.c:523
++#: fortran/match.c:513 fortran/match.c:585
+ #, no-c-format
+ msgid "Name at %C is too long"
+ msgstr "El nombre en %C es demasiado largo"
+
+-#: fortran/match.c:506 fortran/match.c:552
++#: fortran/match.c:568 fortran/match.c:614
+ #, no-c-format
+ msgid "Invalid C name in NAME= specifier at %C"
+ msgstr "Nombre C inválido en el especificador NAME= en %C"
+
+-#: fortran/match.c:543
++#: fortran/match.c:605
+ #, no-c-format
+ msgid "Embedded space in NAME= specifier at %C"
+ msgstr "Espacio incrustado en el especificador NAME= en %C"
+
+-#: fortran/match.c:868
++#: fortran/match.c:930
+ #, no-c-format
+ msgid "Loop variable at %C cannot be a sub-component"
+ msgstr "La variable de ciclo en %C no puede ser un subcomponente"
+
+-#: fortran/match.c:874
++#: fortran/match.c:936
+ #, no-c-format
+ msgid "Loop variable '%s' at %C cannot be INTENT(IN)"
+ msgstr "La variable de ciclo '%s' en %C no puede ser INTENT(IN)"
+
+-#: fortran/match.c:907
++#: fortran/match.c:969
+ #, no-c-format
+ msgid "Expected a step value in iterator at %C"
+ msgstr "Se esperaba un valor de paso en el iterador en %C"
+
+-#: fortran/match.c:919
++#: fortran/match.c:981
+ #, no-c-format
+ msgid "Syntax error in iterator at %C"
+ msgstr "Error sintáctico en el iterador en %C"
+
+-#: fortran/match.c:1155
++#: fortran/match.c:1217
+ #, no-c-format
+ msgid "Invalid form of PROGRAM statement at %C"
+ msgstr "Forma inválida de la declaración PROGRAM en %C"
+
+-#: fortran/match.c:1196
++#: fortran/match.c:1258
+ #, no-c-format
+ msgid "Setting value of PROTECTED variable at %C"
+ msgstr "Se establece el valor de la variable PROTECTED en %C"
+
+-#: fortran/match.c:1249
++#: fortran/match.c:1311
+ #, no-c-format
+ msgid "Assigning to a PROTECTED pointer at %C"
+ msgstr "Se asigna a un puntero PROTECTED en %C"
+
+-#: fortran/match.c:1292 fortran/match.c:1365
++#: fortran/match.c:1354 fortran/match.c:1435
+ #, no-c-format
+ msgid "Obsolescent: arithmetic IF statement at %C"
+ msgstr "Obsoleto: declaración IF aritmética en %C"
+
+-#: fortran/match.c:1340
++#: fortran/match.c:1410
+ #, no-c-format
+ msgid "Syntax error in IF-expression at %C"
+ msgstr "Error sintáctico en la expresión IF en %C"
+
+-#: fortran/match.c:1351
++#: fortran/match.c:1421
+ #, no-c-format
+ msgid "Block label not appropriate for arithmetic IF statement at %C"
+ msgstr "La etiqueta de bloque no es apropiada para la declaración IF aritmética en %C"
+
+-#: fortran/match.c:1389
++#: fortran/match.c:1459
+ #, no-c-format
+-msgid "Block label is not appropriate IF statement at %C"
+-msgstr "La etiqueta de bloque no es una declaración IF apropiada en %C"
++msgid "Block label is not appropriate for IF statement at %C"
++msgstr "La etiqueta de bloque no es apropiada para la declaración IF en %C"
+
+-#: fortran/match.c:1468 fortran/primary.c:2522
++#: fortran/match.c:1538 fortran/primary.c:2559
+ #, no-c-format
+ msgid "Cannot assign to a named constant at %C"
+ msgstr "No se puede asignar a una constante nombrada en %C"
+
+-#: fortran/match.c:1478
++#: fortran/match.c:1548
+ #, no-c-format
+ msgid "Unclassifiable statement in IF-clause at %C"
+ msgstr "Declaración inclasificable en la cláusula IF en %C"
+
+-#: fortran/match.c:1485
++#: fortran/match.c:1555
+ #, no-c-format
+ msgid "Syntax error in IF-clause at %C"
+ msgstr "Error sintáctico en la cláusula IF en %C"
+
+-#: fortran/match.c:1529
++#: fortran/match.c:1599
+ #, no-c-format
+ msgid "Unexpected junk after ELSE statement at %C"
+ msgstr "Basura inesperada después de la declaración ELSE en %C"
+
+-#: fortran/match.c:1535 fortran/match.c:1570
++#: fortran/match.c:1605 fortran/match.c:1640
+ #, no-c-format
+ msgid "Label '%s' at %C doesn't match IF label '%s'"
+ msgstr "La etiqueta '%s' en %C no coincide con la etiqueta IF '%s'"
+
+-#: fortran/match.c:1564
++#: fortran/match.c:1634
+ #, no-c-format
+ msgid "Unexpected junk after ELSE IF statement at %C"
+ msgstr "Basura inesperada después de la declaración ELSE IF en %C"
+
+-#: fortran/match.c:1727
++#: fortran/match.c:1797
+ #, no-c-format
+ msgid "Name '%s' in %s statement at %C is not a loop name"
+ msgstr "El nombre '%s' en la declaración %s en %C no es un nombre de ciclo"
+
+-#: fortran/match.c:1743
++#: fortran/match.c:1813
+ #, no-c-format
+ msgid "%s statement at %C is not within a loop"
+ msgstr "La declaración %s en %C no está dentro de un ciclo"
+
+-#: fortran/match.c:1746
++#: fortran/match.c:1816
+ #, no-c-format
+ msgid "%s statement at %C is not within loop '%s'"
+ msgstr "La declaración %s en %C no está dentro del ciclo '%s'"
+
+-#: fortran/match.c:1754
++#: fortran/match.c:1824
+ #, no-c-format
+ msgid "%s statement at %C leaving OpenMP structured block"
+ msgstr "La declaración %s en %C deja un bloque estructurado OpenMP"
+
+-#: fortran/match.c:1767
++#: fortran/match.c:1837
+ #, no-c-format
+ msgid "EXIT statement at %C terminating !$OMP DO loop"
+ msgstr "La declaración EXIT en %C termina el ciclo !$OMP DO"
+
+-#: fortran/match.c:1819
++#: fortran/match.c:1889
+ #, no-c-format
+ msgid "Too many digits in STOP code at %C"
+ msgstr "Demasiados dígitos en el código STOP en %C"
+
+-#: fortran/match.c:1872
++#: fortran/match.c:1942
+ #, no-c-format
+ msgid "Deleted feature: PAUSE statement at %C"
+ msgstr "Característica eliminada: declaración PAUSE en %C"
+
+-#: fortran/match.c:1920
++#: fortran/match.c:1990
+ #, no-c-format
+ msgid "Deleted feature: ASSIGN statement at %C"
+ msgstr "Característica eliminada: declaración ASSIGN en %C"
+
+-#: fortran/match.c:1966
++#: fortran/match.c:2036
+ #, no-c-format
+ msgid "Deleted feature: Assigned GOTO statement at %C"
+ msgstr "Característica eliminada: declaración GOTO asignada en %C"
+
+-#: fortran/match.c:2013 fortran/match.c:2065
++#: fortran/match.c:2083 fortran/match.c:2135
+ #, no-c-format
+ msgid "Statement label list in GOTO at %C cannot be empty"
+ msgstr "La lista de etiquetas de declaración en GOTO en %C no puede estar vacía"
+
+-#: fortran/match.c:2149
++#: fortran/match.c:2219
+ #, no-c-format
+ msgid "Bad allocate-object in ALLOCATE statement at %C for a PURE procedure"
+ msgstr "Objeto de alojamiento erróneo en la declaración ALLOCATE en %C para un procedimiento PURE"
+
+-#: fortran/match.c:2173
++#: fortran/match.c:2287
+ #, no-c-format
+-msgid "STAT variable '%s' of ALLOCATE statement at %C cannot be INTENT(IN)"
+-msgstr "La variable STAT '%s' de la declaración ALLOCATE en %C no puede ser INTENT(IN)"
+-
+-#: fortran/match.c:2180
+-#, no-c-format
+-msgid "Illegal STAT variable in ALLOCATE statement at %C for a PURE procedure"
+-msgstr "Variable STAT ilegal en la declaración ALLOCATE en %C para un procedimiento PURE"
+-
+-#: fortran/match.c:2218 fortran/match.c:2382
+-#, no-c-format
+-msgid "STAT expression at %C must be a variable"
+-msgstr "La expresión STAT en %C debe ser una variable"
+-
+-#: fortran/match.c:2272
+-#, no-c-format
+ msgid "Illegal variable in NULLIFY at %C for a PURE procedure"
+ msgstr "Variable ilegal en NULLIFY en %C para un procedimiento PURE"
+
+-#: fortran/match.c:2349
++#: fortran/match.c:2364
+ #, no-c-format
+ msgid "Illegal deallocate-expression in DEALLOCATE at %C for a PURE procedure"
+ msgstr "Expresión de desalojo ilegal en DEALLOCATE en %C para un procedimiento PURE"
+
+-#: fortran/match.c:2368
++#: fortran/match.c:2417
+ #, no-c-format
+-msgid "STAT variable '%s' of DEALLOCATE statement at %C cannot be INTENT(IN)"
+-msgstr "La variable STAT '%s' de la declaración DEALLOCATE en %C no puede ser INTENT(IN)"
+-
+-#: fortran/match.c:2375
+-#, no-c-format
+-msgid "Illegal STAT variable in DEALLOCATE statement at %C for a PURE procedure"
+-msgstr "Variable STAT ilegal en la declaración DEALLOCATE en %C para un procedimiento PURE"
+-
+-#: fortran/match.c:2424
+-#, no-c-format
+ msgid "Alternate RETURN statement at %C is only allowed within a SUBROUTINE"
+ msgstr "La declaración RETURN alternativa en %C sólo se permite dentro de una SUBROUTINE"
+
+-#: fortran/match.c:2455
++#: fortran/match.c:2448
+ #, no-c-format
+ msgid "Extension: RETURN statement in main program at %C"
+ msgstr "Extensión: declaración RETURN en el programa principal en %C"
+
+-#: fortran/match.c:2665
++#: fortran/match.c:2658
+ #, no-c-format
+ msgid "Syntax error in common block name at %C"
+ msgstr "Error sintáctico en el nombre de bloque común en %C"
+
+-#: fortran/match.c:2701
++#: fortran/match.c:2694
+ #, no-c-format
+ msgid "Symbol '%s' at %C is already an external symbol that is not COMMON"
+ msgstr "El símbolo '%s' en %C ya es un símbolo externo que no es COMMON"
+
+-#: fortran/match.c:2719
+-#, no-c-format
+-msgid "BLOCK DATA unit cannot contain blank COMMON at %C"
+-msgstr "La unidad BLOCK DATA no puede contener COMMON en blanco en %C"
+-
+ #. If we find an error, just print it and continue,
+ #. cause it's just semantic, and we can see if there
+ #. are more errors.
+-#: fortran/match.c:2765
++#: fortran/match.c:2753
+ #, no-c-format
+ msgid "Variable '%s' at %L in common block '%s' at %C must be declared with a C interoperable kind since common block '%s' is bind(c)"
+ msgstr "La variable '%s' en %L en el bloque común '%s' en %C se debe declarar con género interoperable con C porque el bloque común '%s' es bind(c)"
+
+-#: fortran/match.c:2774
++#: fortran/match.c:2762
+ #, no-c-format
+ msgid "Variable '%s' in common block '%s' at %C can not be bind(c) since it is not global"
+ msgstr "La variable '%s' en el bloque común '%s' en %C no puede ser bind(c) porque no es global"
+
+-#: fortran/match.c:2781
++#: fortran/match.c:2769
+ #, no-c-format
+ msgid "Symbol '%s' at %C is already in a COMMON block"
+ msgstr "El símbolo '%s' en %C ya está en un bloque COMMON"
+
+-#: fortran/match.c:2793
++#: fortran/match.c:2777
+ #, no-c-format
+-msgid "Previously initialized symbol '%s' in blank COMMON block at %C"
+-msgstr "El símbolo '%s' fue previamente inicializado en un bloque COMMON en blanco en %C"
++msgid "Initialized symbol '%s' at %C can only be COMMON in BLOCK DATA"
++msgstr "El símbolo inicializado '%s' en %C sólo puede ser COMMON en BLOCK DATA"
+
+-#: fortran/match.c:2796
++#: fortran/match.c:2804
+ #, no-c-format
+-msgid "Previously initialized symbol '%s' in COMMON block '%s' at %C"
+-msgstr "El símbolo '%s' fue previamente inicializado en un bloque COMMON '%s' en %C"
+-
+-#: fortran/match.c:2821
+-#, no-c-format
+ msgid "Array specification for symbol '%s' in COMMON at %C must be explicit"
+ msgstr "La especificación de matriz para el símbolo '%s' en COMMON en %C debe ser explícita"
+
+-#: fortran/match.c:2831
++#: fortran/match.c:2814
+ #, no-c-format
+ msgid "Symbol '%s' in COMMON at %C cannot be a POINTER array"
+ msgstr "El símbolo '%s' en COMMON en %C no puede ser una matriz POINTER"
+
+-#: fortran/match.c:2863
++#: fortran/match.c:2846
+ #, no-c-format
+ msgid "Symbol '%s', in COMMON block '%s' at %C is being indirectly equivalenced to another COMMON block '%s'"
+ msgstr "El símbolo '%s', en el bloque COMMON '%s' en %C está siendo indirectamente equivalente a otro bloque COMMON '%s'"
+
+-#: fortran/match.c:2971
++#: fortran/match.c:2954
+ #, no-c-format
+ msgid "Namelist group name '%s' at %C already has a basic type of %s"
+ msgstr "El nombre de grupo de lista de nombres '%s' en %C ya tiene un tipo básico de %s"
+
+-#: fortran/match.c:2979
++#: fortran/match.c:2962
+ #, no-c-format
+ msgid "Namelist group name '%s' at %C already is USE associated and cannot be respecified."
+ msgstr "El nombre de grupo de lista de nombres '%s' en %C ya está asociado con USE y no se puede reespecificar."
+
+-#: fortran/match.c:3006
++#: fortran/match.c:2989
+ #, no-c-format
+ msgid "Assumed size array '%s' in namelist '%s' at %C is not allowed"
+ msgstr "No se permite la matriz de tamaño asumido '%s' en la lista de nombres '%s' en %C"
+
+-#: fortran/match.c:3013
++#: fortran/match.c:2996
+ #, no-c-format
+ msgid "Assumed character length '%s' in namelist '%s' at %C is not allowed"
+ msgstr "No se permite la longitud de carácter asumida '%s' en la lista de nombres '%s' en %C"
+
+-#: fortran/match.c:3140
++#: fortran/match.c:3123
+ #, no-c-format
+ msgid "Derived type component %C is not a permitted EQUIVALENCE member"
+ msgstr "El componente de tipo derivado %C no es un miembro EQUIVALENCE permitido"
+
+-#: fortran/match.c:3148
++#: fortran/match.c:3131
+ #, no-c-format
+ msgid "Array reference in EQUIVALENCE at %C cannot be an array section"
+ msgstr "La referencia a matriz en EQUIVALENCE en %C no puede ser una sección de matriz"
+
+-#: fortran/match.c:3176
++#: fortran/match.c:3159
+ #, no-c-format
+ msgid "EQUIVALENCE at %C requires two or more objects"
+ msgstr "El EQUIVALENCE en %C requiere dos o más objetos"
+
+-#: fortran/match.c:3190
++#: fortran/match.c:3173
+ #, no-c-format
+ msgid "Attempt to indirectly overlap COMMON blocks %s and %s by EQUIVALENCE at %C"
+ msgstr "Se intentó sobreescribir indirectamente los bloques COMMON %s y %s con EQUIVALENCE en %C"
+
+-#: fortran/match.c:3351
++#: fortran/match.c:3299
+ #, no-c-format
+ msgid "Statement function at %L is recursive"
+ msgstr "La función de declaración en %L es recursiva"
+
+-#: fortran/match.c:3439
++#: fortran/match.c:3387
+ #, no-c-format
+ msgid "Expected initialization expression in CASE at %C"
+ msgstr "Se esperaba la inicialización de la expresión en CASE en %C"
+
+-#: fortran/match.c:3462
++#: fortran/match.c:3410
+ #, no-c-format
+ msgid "Expected the name of the SELECT CASE construct at %C"
+ msgstr "Se esperaba el nombre de la construcción SELECT CASE en %C"
+
+-#: fortran/match.c:3474
++#: fortran/match.c:3422
+ #, no-c-format
+ msgid "Expected case name of '%s' at %C"
+ msgstr "Se esperaba el nombre de case de '%s' en %C"
+
+-#: fortran/match.c:3518
++#: fortran/match.c:3466
+ #, no-c-format
+ msgid "Unexpected CASE statement at %C"
+ msgstr "Declaración CASE inesperada en %C"
+
+-#: fortran/match.c:3570
++#: fortran/match.c:3518
+ #, no-c-format
+ msgid "Syntax error in CASE-specification at %C"
+ msgstr "Error sintáctico en la especificación CASE en %C"
+
+-#: fortran/match.c:3690
++#: fortran/match.c:3638
+ #, no-c-format
+ msgid "ELSEWHERE statement at %C not enclosed in WHERE block"
+ msgstr "La declaración ELSEWHERE en %C no está dentro de un bloque WHERE"
+
+-#: fortran/match.c:3728
++#: fortran/match.c:3676
+ #, no-c-format
+ msgid "Label '%s' at %C doesn't match WHERE label '%s'"
+ msgstr "La etiqueta '%s' en %C no coincide con la etiqueta WHERE '%s'"
+
+-#: fortran/match.c:3828
++#: fortran/match.c:3776
+ #, no-c-format
+ msgid "Syntax error in FORALL iterator at %C"
+ msgstr "Error sintáctico en el iterador FORALL en %C"
+@@ -7619,7 +7623,8 @@
+ msgid "Expected exponent in expression at %C"
+ msgstr "Se esperaba un exponente en la expresión en %C"
+
+-#: fortran/matchexp.c:348 fortran/matchexp.c:452
++#: fortran/matchexp.c:350 fortran/matchexp.c:355 fortran/matchexp.c:459
++#: fortran/matchexp.c:464
+ #, no-c-format
+ msgid "Extension: Unary operator following arithmetic operator (use parentheses) at %C"
+ msgstr "Extensión: Operador unario después de un operador aritmético (usar paréntesis) en %C"
+@@ -7744,125 +7749,125 @@
+ msgid "Expected real string"
+ msgstr "Se esperaba una cadena real"
+
+-#: fortran/module.c:2722
++#: fortran/module.c:2730
+ msgid "Expected expression type"
+ msgstr "Se esperaba un tipo de expresión"
+
+-#: fortran/module.c:2776
++#: fortran/module.c:2784
+ msgid "Bad operator"
+ msgstr "Operador erróneo"
+
+-#: fortran/module.c:2861
++#: fortran/module.c:2869
+ msgid "Bad type in constant expression"
+ msgstr "Tipo erróneo en la expresión constante"
+
+-#: fortran/module.c:2898
++#: fortran/module.c:2906
+ #, no-c-format
+ msgid "Namelist %s cannot be renamed by USE association to %s"
+ msgstr "La lista de nombres %s no se puede renombrar por asociación de USE a %s"
+
+-#: fortran/module.c:3723
++#: fortran/module.c:3847
+ #, no-c-format
+ msgid "Symbol '%s' referenced at %L not found in module '%s'"
+ msgstr "El símbolo '%s' referenciado en %L no se encontró en el módulo '%s'"
+
+-#: fortran/module.c:3730
++#: fortran/module.c:3854
+ #, no-c-format
+ msgid "User operator '%s' referenced at %L not found in module '%s'"
+ msgstr "El operador de usuario '%s' referenciado en %L no se encontró en el módulo '%s'"
+
+-#: fortran/module.c:3735
++#: fortran/module.c:3859
+ #, no-c-format
+ msgid "Intrinsic operator '%s' referenced at %L not found in module '%s'"
+ msgstr "El operador intrínseco '%s' referenciado en %L no se encontró en el módulo '%s'"
+
+-#: fortran/module.c:4213
++#: fortran/module.c:4400
+ #, no-c-format
+ msgid "Can't open module file '%s' for writing at %C: %s"
+ msgstr "No se puede abrir el fichero de módulo '%s' para escritura en %C: %s"
+
+ # El mensaje de error seguramente está mal redactado. cfuga
+-#: fortran/module.c:4251
++#: fortran/module.c:4438
+ #, no-c-format
+ msgid "Error writing module file '%s' for writing: %s"
+ msgstr "Error al escribir al fichero de módulo '%s' para escritura: %s"
+
+-#: fortran/module.c:4281 fortran/module.c:4363
++#: fortran/module.c:4468 fortran/module.c:4550
+ #, no-c-format
+ msgid "Symbol '%s' referenced at %L does not exist in intrinsic module ISO_C_BINDING."
+ msgstr "El símbolo '%s' referenciado en %L no existe en el módulo intrínseco ISO_C_BINDING."
+
+-#: fortran/module.c:4394
++#: fortran/module.c:4581
+ #, no-c-format
+ msgid "Symbol '%s' referenced at %L not found in intrinsic module ISO_C_BINDING"
+ msgstr "El símbolo '%s' referenciado en %L no se encontró en el módulo intrínseco ISO_C_BINDING"
+
+-#: fortran/module.c:4416
++#: fortran/module.c:4603
+ #, no-c-format
+ msgid "Symbol '%s' already declared"
+ msgstr "El símbolo '%s' ya se había declarado"
+
+-#: fortran/module.c:4471
++#: fortran/module.c:4658
+ #, no-c-format
+ msgid "Use of intrinsic module '%s' at %C conflicts with non-intrinsic module name used previously"
+ msgstr "El uso del módulo intrínseco '%s' en %C tiene conflictos con un nombre de módulo no intrínseco usado previamente"
+
+-#: fortran/module.c:4484
++#: fortran/module.c:4671
+ #, no-c-format
+ msgid "Symbol '%s' referenced at %L does not exist in intrinsic module ISO_FORTRAN_ENV"
+ msgstr "El símbolo '%s' referenciado en %L no existe en el módulo intrínseco ISO_FORTRAN_ENV"
+
+-#: fortran/module.c:4492
++#: fortran/module.c:4679
+ #, no-c-format
+ msgid "Use of the NUMERIC_STORAGE_SIZE named constant from intrinsic module ISO_FORTRAN_ENV at %L is incompatible with option %s"
+ msgstr "El uso de la constante nombrada NUMERIC_STORAGE_SIZE del módulo intrínseco ISO_FORTRAN_ENV en %L es incompatible con la opción %s"
+
+-#: fortran/module.c:4520
++#: fortran/module.c:4707
+ #, no-c-format
+ msgid "Use of the NUMERIC_STORAGE_SIZE named constant from intrinsic module ISO_FORTRAN_ENV at %C is incompatible with option %s"
+ msgstr "El uso de la constante nombrada NUMERIC_STORAGE_SIZE del módulo intrínseco ISO_FORTRAN_ENV en %C es incompatible con la opción %s"
+
+-#: fortran/module.c:4536
++#: fortran/module.c:4723
+ #, no-c-format
+ msgid "Symbol '%s' referenced at %L not found in intrinsic module ISO_FORTRAN_ENV"
+ msgstr "El símbolo '%s' referenciado en %L no se encontró en el módulo intrínseco ISO_FORTRAN_ENV"
+
+-#: fortran/module.c:4569
++#: fortran/module.c:4756
+ #, no-c-format
+ msgid "Fortran 2003: ISO_FORTRAN_ENV intrinsic module at %C"
+ msgstr "Fortran 2003: Módulo intrínseco ISO_FORTRAN_ENV en %C"
+
+-#: fortran/module.c:4577
++#: fortran/module.c:4764
+ #, no-c-format
+ msgid "Fortran 2003: ISO_C_BINDING module at %C"
+ msgstr "Fortran 2003: Módulo ISO_C_BINDING en %C"
+
+-#: fortran/module.c:4587
++#: fortran/module.c:4774
+ #, no-c-format
+ msgid "Can't find an intrinsic module named '%s' at %C"
+ msgstr "No se puede encontrar un módulo intrínseco llamado '%s' en %C"
+
+-#: fortran/module.c:4592
++#: fortran/module.c:4779
+ #, no-c-format
+ msgid "Can't open module file '%s' for reading at %C: %s"
+ msgstr "No se puede abrir el fichero de módulo '%s' para lectura en %C: %s"
+
+-#: fortran/module.c:4600
++#: fortran/module.c:4787
+ #, no-c-format
+ msgid "Use of non-intrinsic module '%s' at %C conflicts with intrinsic module name used previously"
+ msgstr "El uso del módulo '%s' que no es intrínseco tiene conflictos con el nombre del módulo intrínseco usado previamente"
+
+-#: fortran/module.c:4615
++#: fortran/module.c:4802
+ msgid "Unexpected end of module"
+ msgstr "Fin de módulo inesperado"
+
+-#: fortran/module.c:4620
++#: fortran/module.c:4807
+ #, no-c-format
+ msgid "File '%s' opened at %C is not a GFORTRAN module file"
+ msgstr "El fichero '%s' abierto en %C no es un fichero de módulo GFORTRAN"
+
+ # No se puede hacer el mismo juego de palabras que en inglés. cfuga
+-#: fortran/module.c:4630
++#: fortran/module.c:4817
+ #, no-c-format
+ msgid "Can't USE the same module we're building!"
+ msgstr "¡No se puede hacer USE del mismo módulo que estamos construyendo!"
+@@ -7892,7 +7897,7 @@
+ msgid "Syntax error in !$OMP THREADPRIVATE list at %C"
+ msgstr "Error sintáctico en la lista !$OMP THREADPRIVATE en %C"
+
+-#: fortran/openmp.c:696 fortran/resolve.c:5822 fortran/resolve.c:6133
++#: fortran/openmp.c:696 fortran/resolve.c:5970 fortran/resolve.c:6317
+ #, no-c-format
+ msgid "IF clause at %L requires a scalar LOGICAL expression"
+ msgstr "La cláusula IF en %L requiere una expresión LOGICAL escalar"
+@@ -8188,299 +8193,299 @@
+ msgid "Maximum subrecord length cannot exceed %d"
+ msgstr "La longitud de subregistro máxima no puede exceder a %d"
+
+-#: fortran/parse.c:304
++#: fortran/parse.c:451
+ #, no-c-format
+ msgid "Unclassifiable statement at %C"
+ msgstr "Declaración inclasificable en %C"
+
+-#: fortran/parse.c:328
++#: fortran/parse.c:475
+ #, no-c-format
+ msgid "OpenMP directives at %C may not appear in PURE or ELEMENTAL procedures"
+ msgstr "Las directivas OpenMP en %C no pueden aparecer en procedimientos PURE o ELEMENTAL"
+
+-#: fortran/parse.c:406
++#: fortran/parse.c:553
+ #, no-c-format
+ msgid "Unclassifiable OpenMP directive at %C"
+ msgstr "Directiva OpenMP inclasificable en %C"
+
+-#: fortran/parse.c:445 fortran/parse.c:586
++#: fortran/parse.c:592 fortran/parse.c:733
+ #, no-c-format
+ msgid "Zero is not a valid statement label at %C"
+ msgstr "Cero no es una declaración de etiqueta válida en %C"
+
+-#: fortran/parse.c:452 fortran/parse.c:578
++#: fortran/parse.c:599 fortran/parse.c:725
+ #, no-c-format
+ msgid "Non-numeric character in statement label at %C"
+ msgstr "Carácter no numérico en la etiqueta de declaración en %C"
+
+-#: fortran/parse.c:464 fortran/parse.c:500 fortran/parse.c:626
++#: fortran/parse.c:611 fortran/parse.c:647 fortran/parse.c:773
+ #, no-c-format
+ msgid "Semicolon at %C needs to be preceded by statement"
+ msgstr "El punto y coma en %C necesita ser precedido por la declaración"
+
+-#: fortran/parse.c:472 fortran/parse.c:638
++#: fortran/parse.c:619 fortran/parse.c:785
+ #, no-c-format
+ msgid "Ignoring statement label in empty statement at %C"
+ msgstr "Se descarta la declaración de etiqueta en la declaración vacía en %C"
+
+-#: fortran/parse.c:565 fortran/parse.c:605
++#: fortran/parse.c:712 fortran/parse.c:752
+ #, no-c-format
+ msgid "Bad continuation line at %C"
+ msgstr "Continuación de línea errónea en %C"
+
+-#: fortran/parse.c:664
++#: fortran/parse.c:811
+ #, no-c-format
+ msgid "Line truncated at %C"
+ msgstr "Línea truncada en %C"
+
+-#: fortran/parse.c:841
++#: fortran/parse.c:997
+ #, no-c-format
+ msgid "FORMAT statement at %L does not have a statement label"
+ msgstr "La declaración FORMAT en %L no tiene una etiqueta de declaración"
+
+-#: fortran/parse.c:913
++#: fortran/parse.c:1069
+ msgid "arithmetic IF"
+ msgstr "IF aritmético"
+
+-#: fortran/parse.c:919
++#: fortran/parse.c:1075
+ msgid "attribute declaration"
+ msgstr "declaración de atributo"
+
+-#: fortran/parse.c:949
++#: fortran/parse.c:1105
+ msgid "data declaration"
+ msgstr "declaración de datos"
+
+-#: fortran/parse.c:958
++#: fortran/parse.c:1114
+ msgid "derived type declaration"
+ msgstr "declaración de tipo derivado"
+
+-#: fortran/parse.c:1037
++#: fortran/parse.c:1193
+ msgid "block IF"
+ msgstr "bloque IF"
+
+-#: fortran/parse.c:1046
++#: fortran/parse.c:1202
+ msgid "implied END DO"
+ msgstr "END DO implícito"
+
+-#: fortran/parse.c:1119
++#: fortran/parse.c:1275
+ msgid "assignment"
+ msgstr "asignación"
+
+-#: fortran/parse.c:1122
++#: fortran/parse.c:1278
+ msgid "pointer assignment"
+ msgstr "asignación de puntero"
+
+-#: fortran/parse.c:1131
++#: fortran/parse.c:1287
+ msgid "simple IF"
+ msgstr "IF simple"
+
+-#: fortran/parse.c:1347
++#: fortran/parse.c:1503
+ #, no-c-format
+ msgid "Unexpected %s statement at %C"
+ msgstr "Declaración %s inesperada en %C"
+
+-#: fortran/parse.c:1486
++#: fortran/parse.c:1642
+ #, no-c-format
+ msgid "%s statement at %C cannot follow %s statement at %L"
+ msgstr "La declaración %s en %C no puede ir después de la declaración %s en %L"
+
+-#: fortran/parse.c:1503
++#: fortran/parse.c:1659
+ #, no-c-format
+ msgid "Unexpected end of file in '%s'"
+ msgstr "Fin de fichero inesperado en '%s'"
+
+-#: fortran/parse.c:1558
++#: fortran/parse.c:1714
+ #, no-c-format
+ msgid "Fortran 2003: Derived type definition at %C without components"
+ msgstr "Fortran 2003: La definición de tipo derivado en %C no tiene componentes"
+
+-#: fortran/parse.c:1569
++#: fortran/parse.c:1725
+ #, no-c-format
+ msgid "PRIVATE statement in TYPE at %C must be inside a MODULE"
+ msgstr "La declaración PRIVATE en TYPE en %C debe estar dentro de un MODULE"
+
+-#: fortran/parse.c:1577
++#: fortran/parse.c:1733
+ #, no-c-format
+ msgid "PRIVATE statement at %C must precede structure components"
+ msgstr "La declaración PRIVATE en %C debe preceder a los componentes de la estructura"
+
+-#: fortran/parse.c:1585
++#: fortran/parse.c:1741
+ #, no-c-format
+ msgid "Duplicate PRIVATE statement at %C"
+ msgstr "Declaración PRIVATE duplicada en %C"
+
+-#: fortran/parse.c:1597
++#: fortran/parse.c:1753
+ #, no-c-format
+ msgid "SEQUENCE statement at %C must precede structure components"
+ msgstr "La declaración SEQUENCE en %C debe preceder a los componentes de la estructura"
+
+-#: fortran/parse.c:1604
++#: fortran/parse.c:1760
+ #, no-c-format
+ msgid "SEQUENCE attribute at %C already specified in TYPE statement"
+ msgstr "El atributo SEQUENCE en %C ya se especificó en la declaración TYPE"
+
+-#: fortran/parse.c:1609
++#: fortran/parse.c:1765
+ #, no-c-format
+ msgid "Duplicate SEQUENCE statement at %C"
+ msgstr "Declaración SEQUENCE duplicada en %C"
+
+-#: fortran/parse.c:1700
++#: fortran/parse.c:1856
+ #, no-c-format
+ msgid "ENUM declaration at %C has no ENUMERATORS"
+ msgstr "La declaración ENUM en %C no tiene ENUMERATORS"
+
+-#: fortran/parse.c:1778
++#: fortran/parse.c:1934
+ #, no-c-format
+ msgid "Unexpected %s statement in INTERFACE block at %C"
+ msgstr "Declaración %s inesperada en el bloque INTERFACE en %C"
+
+-#: fortran/parse.c:1804
++#: fortran/parse.c:1960
+ #, no-c-format
+ msgid "SUBROUTINE at %C does not belong in a generic function interface"
+ msgstr "SUBROUTINE en %C no está dentro de una interfaz de función genérica"
+
+-#: fortran/parse.c:1808
++#: fortran/parse.c:1964
+ #, no-c-format
+ msgid "FUNCTION at %C does not belong in a generic subroutine interface"
+ msgstr "FUNCTION en %C no está dentro de una interfaz de función genérica"
+
+-#: fortran/parse.c:1818
++#: fortran/parse.c:1974
+ #, no-c-format
+ msgid "Name '%s' of ABSTRACT INTERFACE at %C cannot be the same as an intrinsic type"
+ msgstr "El nombre '%s' de ABSTRACT INTERFACE en %C no puede ser el mismo que un tipo intrínseco"
+
+-#: fortran/parse.c:1849
++#: fortran/parse.c:2005
+ #, no-c-format
+ msgid "Unexpected %s statement at %C in INTERFACE body"
+ msgstr "Declaración %s inesperada en %C en el cuerpo de INTERFACE"
+
+-#: fortran/parse.c:1863
++#: fortran/parse.c:2019
+ #, no-c-format
+ msgid "INTERFACE procedure '%s' at %L has the same name as the enclosing procedure"
+ msgstr "El procedimiento INTERFACE '%s' en %L tiene el mismo nombre que el procedimiento que lo incluye"
+
+-#: fortran/parse.c:1958
++#: fortran/parse.c:2134
+ #, no-c-format
+ msgid "%s statement must appear in a MODULE"
+ msgstr "La declaración %s debe aparecer en un MODULE"
+
+-#: fortran/parse.c:1965
++#: fortran/parse.c:2141
+ #, no-c-format
+ msgid "%s statement at %C follows another accessibility specification"
+ msgstr "La declaración %s en %C después de otra especificación de accesibilidad"
+
+-#: fortran/parse.c:2015
++#: fortran/parse.c:2191
+ #, no-c-format
+ msgid "Bad kind expression for function '%s' at %L"
+ msgstr "Expresión de género errónea para la función '%s' en %L"
+
+-#: fortran/parse.c:2018
++#: fortran/parse.c:2195
+ #, no-c-format
+ msgid "The type for function '%s' at %L is not accessible"
+ msgstr "El tipo para la función '%s' en %L no es accesible"
+
+-#: fortran/parse.c:2070
++#: fortran/parse.c:2253
+ #, no-c-format
+ msgid "ELSEWHERE statement at %C follows previous unmasked ELSEWHERE"
+ msgstr "Declaración ELSEWHERE en %C después de un ELSEWHERE desenmascarado previo"
+
+-#: fortran/parse.c:2091
++#: fortran/parse.c:2274
+ #, no-c-format
+ msgid "Unexpected %s statement in WHERE block at %C"
+ msgstr "Declaración %s inesperada en el bloque WHERE en %C"
+
+-#: fortran/parse.c:2150
++#: fortran/parse.c:2333
+ #, no-c-format
+ msgid "Unexpected %s statement in FORALL block at %C"
+ msgstr "Declaración %s inesperada en el bloque FORALL en %C"
+
+-#: fortran/parse.c:2201
++#: fortran/parse.c:2384
+ #, no-c-format
+ msgid "ELSE IF statement at %C cannot follow ELSE statement at %L"
+ msgstr "La declaración ELSE IF en %C no puede ir después de una declaración ELSE en %L"
+
+-#: fortran/parse.c:2219
++#: fortran/parse.c:2402
+ #, no-c-format
+ msgid "Duplicate ELSE statements at %L and %C"
+ msgstr "Declaraciones ELSE duplicadas en %L y %C"
+
+-#: fortran/parse.c:2280
++#: fortran/parse.c:2463
+ #, no-c-format
+ msgid "Expected a CASE or END SELECT statement following SELECT CASE at %C"
+ msgstr "Se esperaba una declaración CASE o END SELECT después de un SELECT CASE en %C"
+
+-#: fortran/parse.c:2338
++#: fortran/parse.c:2521
+ #, no-c-format
+ msgid "Variable '%s' at %C cannot be redefined inside loop beginning at %L"
+ msgstr "La variable '%s' en %C no se puede redefinir dentro del inicio de un ciclo en %L"
+
+-#: fortran/parse.c:2372
++#: fortran/parse.c:2555
+ #, no-c-format
+ msgid "End of nonblock DO statement at %C is within another block"
+ msgstr "El final de la declaración DO que no es bloque en %C está dentro de otro bloque"
+
+-#: fortran/parse.c:2381
++#: fortran/parse.c:2564
+ #, no-c-format
+ msgid "End of nonblock DO statement at %C is interwoven with another DO loop"
+ msgstr "El final de la declaración DO que no es bloque en %C está entrelazado con otro ciclo DO"
+
+-#: fortran/parse.c:2430
++#: fortran/parse.c:2613
+ #, no-c-format
+ msgid "Statement label in ENDDO at %C doesn't match DO label"
+ msgstr "La etiqueta de declaración en ENDDO en %C no coincide con la etiqueta DO"
+
+-#: fortran/parse.c:2446
++#: fortran/parse.c:2629
+ #, no-c-format
+ msgid "named block DO at %L requires matching ENDDO name"
+ msgstr "el bloque DO nombrado en %L requiere un nombre ENDDO coincidente"
+
+-#: fortran/parse.c:2702
++#: fortran/parse.c:2885
+ #, no-c-format
+ msgid "Name after !$omp critical and !$omp end critical does not match at %C"
+ msgstr "Los nombres después de !$omp critical y !$omp end critical no coinciden en %C"
+
+-#: fortran/parse.c:2758
++#: fortran/parse.c:2941
+ #, no-c-format
+ msgid "%s statement at %C cannot terminate a non-block DO loop"
+ msgstr "La declaración %s en %C no puede terminar un ciclo DO que no es bloque"
+
+-#: fortran/parse.c:2943
++#: fortran/parse.c:3126
+ #, no-c-format
+ msgid "Contained procedure '%s' at %C is already ambiguous"
+ msgstr "El procedimiento contenido '%s' en %C ya es ambiguo"
+
+-#: fortran/parse.c:2993
++#: fortran/parse.c:3176
+ #, no-c-format
+ msgid "Unexpected %s statement in CONTAINS section at %C"
+ msgstr "Declaración %s inesperada en la sección CONTAINS en %C"
+
+ #. This is valid in Fortran 2008.
+-#: fortran/parse.c:3018
++#: fortran/parse.c:3201
+ #, no-c-format
+ msgid "Extension: CONTAINS statement without FUNCTION or SUBROUTINE statement at %C"
+ msgstr "Extensión: Declaración CONTAINS sin una declaración FUNCTION o SUBROUTINE en %C"
+
+-#: fortran/parse.c:3089
++#: fortran/parse.c:3272
+ #, no-c-format
+ msgid "CONTAINS statement at %C is already in a contained program unit"
+ msgstr "La declaración CONTAINS en %C ya está contenida en una unidad de programa"
+
+-#: fortran/parse.c:3138
++#: fortran/parse.c:3321
+ #, no-c-format
+ msgid "Global name '%s' at %L is already being used as a %s at %L"
+ msgstr "El nombre global '%s' en %L ya se está usando como un %s en %L"
+
+-#: fortran/parse.c:3159
++#: fortran/parse.c:3342
+ #, no-c-format
+ msgid "Blank BLOCK DATA at %C conflicts with prior BLOCK DATA at %L"
+ msgstr "BLOCK DATA en blanco en %C genera un conflicto con un BLOCK DATA previo en %L"
+
+-#: fortran/parse.c:3185
++#: fortran/parse.c:3368
+ #, no-c-format
+ msgid "Unexpected %s statement in BLOCK DATA at %C"
+ msgstr "Declaración %s inesperada en BLOCK DATA en %C"
+
+-#: fortran/parse.c:3228
++#: fortran/parse.c:3411
+ #, no-c-format
+ msgid "Unexpected %s statement in MODULE at %C"
+ msgstr "Declaración %s inesperada en MODULE en %C"
+@@ -8488,7 +8493,7 @@
+ #. If we see a duplicate main program, shut down. If the second
+ #. instance is an implied main program, ie data decls or executable
+ #. statements, we're in for lots of errors.
+-#: fortran/parse.c:3416
++#: fortran/parse.c:3594
+ #, no-c-format
+ msgid "Two main PROGRAMs at %L and %C"
+ msgstr "Dos PROGRAMas principales en %L y %C"
+@@ -8525,7 +8530,7 @@
+
+ #: fortran/primary.c:353
+ #, no-c-format
+-msgid "Extension: Hexadecimal constant at %C uses non-standard syntax."
++msgid "Extension: Hexadecimal constant at %C uses non-standard syntax"
+ msgstr "Extensión: La constante hexadecimal en %C usa sintaxis que no es estándar."
+
+ #: fortran/primary.c:363
+@@ -8538,994 +8543,1039 @@
+ msgid "Illegal character in BOZ constant at %C"
+ msgstr "Carácter ilegal en la constante BOZ en %C"
+
+-#: fortran/primary.c:391
++#: fortran/primary.c:392
+ #, no-c-format
+-msgid "Extension: BOZ constant at %C uses non-standard postfix syntax."
++msgid "Extension: BOZ constant at %C uses non-standard postfix syntax"
+ msgstr "Extensión: La constante BOZ en %C usa sintaxis postfija que no es estándar."
+
+-#: fortran/primary.c:417
++#: fortran/primary.c:423
+ #, no-c-format
+ msgid "Integer too big for integer kind %i at %C"
+ msgstr "Entero demasiado grande para el género entero %i en %C"
+
+-#: fortran/primary.c:517
++#: fortran/primary.c:429
+ #, no-c-format
++msgid "Fortran 2003: BOZ used outside a DATA statement at %C"
++msgstr "Fortran 2003: Se usa BOZ fuera de una declaración DATA en %C"
++
++#: fortran/primary.c:529
++#, no-c-format
+ msgid "Missing exponent in real number at %C"
+ msgstr "Falta un exponente en el número real en %C"
+
+-#: fortran/primary.c:573
++#: fortran/primary.c:585
+ #, no-c-format
+ msgid "Real number at %C has a 'd' exponent and an explicit kind"
+ msgstr "El número real en %C tiene un exponente 'd' y un género explícito"
+
+-#: fortran/primary.c:586
++#: fortran/primary.c:598
+ #, no-c-format
+ msgid "Invalid real kind %d at %C"
+ msgstr "Género real %d inválido en %C"
+
+-#: fortran/primary.c:600
++#: fortran/primary.c:612
+ #, no-c-format
+ msgid "Real constant overflows its kind at %C"
+ msgstr "La constante real desborda su género en %C"
+
+-#: fortran/primary.c:605
++#: fortran/primary.c:617
+ #, no-c-format
+ msgid "Real constant underflows its kind at %C"
+ msgstr "La constante real desborda por debajo su género en %C"
+
+-#: fortran/primary.c:697
++#: fortran/primary.c:709
+ #, no-c-format
+ msgid "Syntax error in SUBSTRING specification at %C"
+ msgstr "Error sintáctico en la especificación SUBSTRING en %C"
+
+-#: fortran/primary.c:902
++#: fortran/primary.c:914
+ #, no-c-format
+ msgid "Invalid kind %d for CHARACTER constant at %C"
+ msgstr "Género %d inválido para la constante CHARACTER en %C"
+
+-#: fortran/primary.c:923
++#: fortran/primary.c:935
+ #, no-c-format
+ msgid "Unterminated character constant beginning at %C"
+ msgstr "Constante de carácter sin terminar que comienza en %C"
+
+-#: fortran/primary.c:1035
++#: fortran/primary.c:1047
+ #, no-c-format
+ msgid "Bad kind for logical constant at %C"
+ msgstr "Género erróneo para la constante lógica en %C"
+
+-#: fortran/primary.c:1074
++#: fortran/primary.c:1086
+ #, no-c-format
+ msgid "Expected PARAMETER symbol in complex constant at %C"
+ msgstr "Se esperaba un símbolo PARAMETER en la constante compleja en %C"
+
+-#: fortran/primary.c:1080
++#: fortran/primary.c:1092
+ #, no-c-format
+ msgid "Numeric PARAMETER required in complex constant at %C"
+ msgstr "Se requiere un PARAMETER numérico en la constante compleja en %C"
+
+-#: fortran/primary.c:1086
++#: fortran/primary.c:1098
+ #, no-c-format
+ msgid "Scalar PARAMETER required in complex constant at %C"
+ msgstr "Se requiere un PARAMETER escalar en la constante compleja en %C"
+
+-#: fortran/primary.c:1090
++#: fortran/primary.c:1102
+ #, no-c-format
+ msgid "Fortran 2003: PARAMETER symbol in complex constant at %C"
+ msgstr "Fortran 2003: Un símbolo PARAMETER en la constante compleja en %C"
+
+-#: fortran/primary.c:1120
++#: fortran/primary.c:1132
+ #, no-c-format
+ msgid "Error converting PARAMETER constant in complex constant at %C"
+ msgstr "Error al convertir la constante PARAMETER en una constante compleja en %C"
+
+-#: fortran/primary.c:1249
++#: fortran/primary.c:1261
+ #, no-c-format
+ msgid "Syntax error in COMPLEX constant at %C"
+ msgstr "Error sintáctico en la constante COMPLEX en %C"
+
+-#: fortran/primary.c:1430
++#: fortran/primary.c:1442
+ #, no-c-format
+ msgid "Keyword '%s' at %C has already appeared in the current argument list"
+ msgstr "La palabra clave '%s' en %C ya había aparecido en la lista de argumentos actual"
+
+-#: fortran/primary.c:1494
++#: fortran/primary.c:1506
+ #, no-c-format
+ msgid "Extension: argument list function at %C"
+ msgstr "Extensión: lista de argumentos de función en %C"
+
+-#: fortran/primary.c:1561
++#: fortran/primary.c:1573
+ #, no-c-format
+ msgid "Expected alternate return label at %C"
+ msgstr "Se esperaba la etiqueta de devolución alterna en %C"
+
+-#: fortran/primary.c:1579
++#: fortran/primary.c:1591
+ #, no-c-format
+ msgid "Missing keyword name in actual argument list at %C"
+ msgstr "Falta el nombre de la palabra clave en la lista de argumentos actual en %C"
+
+-#: fortran/primary.c:1624
++#: fortran/primary.c:1636
+ #, no-c-format
+ msgid "Syntax error in argument list at %C"
+ msgstr "Error sintáctico en la lista de argumentos en %C"
+
+-#: fortran/primary.c:1708
++#: fortran/primary.c:1723
+ #, no-c-format
+ msgid "Expected structure component name at %C"
+ msgstr "Se esperaba un nombre de componente de estructura en %C"
+
+-#: fortran/primary.c:1961
++#: fortran/primary.c:1980
+ #, no-c-format
+ msgid "Too many components in structure constructor at %C"
+ msgstr "Demasiados componentes en el constructor de estructura en %C"
+
+-#: fortran/primary.c:1974
++#: fortran/primary.c:1993
+ #, no-c-format
+ msgid "Structure constructor for '%s' at %C has PRIVATE components"
+ msgstr "El constructor de estructura para '%s' en %C tiene componentes PRIVATE"
+
+-#: fortran/primary.c:1984
++#: fortran/primary.c:2003
+ #, no-c-format
+ msgid "Too few components in structure constructor at %C"
+ msgstr "Faltan componentes en el constructor de estructura en %C"
+
+-#: fortran/primary.c:2002
++#: fortran/primary.c:2021
+ #, no-c-format
+ msgid "Syntax error in structure constructor at %C"
+ msgstr "Error sintáctico en el constructor de estructura en %C"
+
+-#: fortran/primary.c:2086
++#: fortran/primary.c:2105
+ #, no-c-format
+ msgid "'%s' 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 "'%s' en %C es el nombre de una función recursiva y por lo tanto se refiere a la variable de resultado. Use una variable RESULT explícita para recursión directa (12.5.2.1)"
+
+-#: fortran/primary.c:2188
++#: fortran/primary.c:2207
+ #, no-c-format
+ msgid "Unexpected use of subroutine name '%s' at %C"
+ msgstr "Uso inesperado del nombre de subrutina '%s' en %C"
+
+-#: fortran/primary.c:2219
++#: fortran/primary.c:2238
+ #, no-c-format
+ msgid "Statement function '%s' requires argument list at %C"
+ msgstr "La función de declaración '%s' requiere una lista de argumentos en %C"
+
+-#: fortran/primary.c:2222
++#: fortran/primary.c:2241
+ #, no-c-format
+ msgid "Function '%s' requires an argument list at %C"
+ msgstr "La función '%s' requiere una lista de argumentos en %C"
+
+-#: fortran/primary.c:2267
++#: fortran/primary.c:2286
+ #, no-c-format
+ msgid "Missing argument to '%s' at %C"
+ msgstr "Faltan argumentos para '%s' en %C"
+
+-#: fortran/primary.c:2408
++#: fortran/primary.c:2427
+ #, no-c-format
+ msgid "Missing argument list in function '%s' at %C"
+ msgstr "Faltan la lista de argumentos en la función '%s' en %C"
+
+-#: fortran/primary.c:2436
++#: fortran/primary.c:2455
+ #, no-c-format
+ msgid "Symbol at %C is not appropriate for an expression"
+ msgstr "El símbolo en %C no es apropiado para una expresión"
+
+-#: fortran/primary.c:2504
++#: fortran/primary.c:2523
+ #, no-c-format
+ msgid "Assigning to PROTECTED variable at %C"
+ msgstr "Asignación a una variable PROTECTED en %C"
+
+-#: fortran/primary.c:2520
++#: fortran/primary.c:2557
+ #, no-c-format
+ msgid "Named constant at %C in an EQUIVALENCE"
+ msgstr "La constante nombrada en %C en un EQUIVALENCE"
+
+-#: fortran/primary.c:2543
++#: fortran/primary.c:2579
+ #, no-c-format
+-msgid "Expected VARIABLE at %C"
+-msgstr "Se esperaba una VARIABLE en %C"
++msgid "'%s' at %C is not a variable"
++msgstr "'%s' en %C no es una variable"
+
+-#: fortran/resolve.c:120
++#: fortran/resolve.c:121
+ #, no-c-format
+ msgid "Alternate return specifier in elemental subroutine '%s' at %L is not allowed"
+ msgstr "No se permite el especificador de devolución alternativo en la subrutina elemental '%s' en %L"
+
+-#: fortran/resolve.c:124
++#: fortran/resolve.c:125
+ #, no-c-format
+ msgid "Alternate return specifier in function '%s' at %L is not allowed"
+ msgstr "No se permite el especificador de devolución alternativo en la función '%s' en %L"
+
+-#: fortran/resolve.c:137
++#: fortran/resolve.c:138
+ #, no-c-format
+ msgid "Dummy procedure '%s' of PURE procedure at %L must also be PURE"
+ msgstr "El procedimiento de prueba '%s' del procedimiento PURE en %L también debe ser PURE"
+
+-#: fortran/resolve.c:144
++#: fortran/resolve.c:145
+ #, no-c-format
+ msgid "Dummy procedure at %L not allowed in ELEMENTAL procedure"
+ msgstr "No se permite el procedimiento de prueba en %L en un procedimiento ELEMENTAL"
+
+-#: fortran/resolve.c:157 fortran/resolve.c:1080
++#: fortran/resolve.c:158 fortran/resolve.c:1138
+ #, no-c-format
+ msgid "Unable to find a specific INTRINSIC procedure for the reference '%s' at %L"
+ msgstr "No se puede encontrar un procedimiento INTRINSIC específico para la referencia '%s' en %L"
+
+-#: fortran/resolve.c:201
++#: fortran/resolve.c:202
+ #, no-c-format
+ msgid "Argument '%s' of pure function '%s' at %L must be INTENT(IN)"
+ msgstr "El argumento '%s' de la función pure '%s' en %L debe ser INTENT(IN)"
+
+-#: fortran/resolve.c:206
++#: fortran/resolve.c:207
+ #, no-c-format
+ msgid "Argument '%s' of pure subroutine '%s' at %L must have its INTENT specified"
+ msgstr "El argumento '%s' de la función pure '%s' en %L debe tener especificado su INTENT"
+
+-#: fortran/resolve.c:215
++#: fortran/resolve.c:216
+ #, no-c-format
+ msgid "Argument '%s' of elemental procedure at %L must be scalar"
+ msgstr "El argumento '%s' del procedimiento elemental en %L debe ser escalar"
+
+-#: fortran/resolve.c:222
++#: fortran/resolve.c:223
+ #, no-c-format
+ msgid "Argument '%s' of elemental procedure at %L cannot have the POINTER attribute"
+ msgstr "El argumento '%s' del procedimiento elemental en %L no puede tener el atributo POINTER"
+
+-#: fortran/resolve.c:234
++#: fortran/resolve.c:231
+ #, no-c-format
++msgid "Dummy procedure '%s' not allowed in elemental procedure '%s' at %L"
++msgstr "No se permite el procedimiento dummy '%s' en el procedimiento elemental '%s' en %L"
++
++#: fortran/resolve.c:243
++#, no-c-format
+ msgid "Argument '%s' of statement function at %L must be scalar"
+ msgstr "El argumento '%s' de la función de declaración en %L debe ser escalar"
+
+-#: fortran/resolve.c:244
++#: fortran/resolve.c:253
+ #, no-c-format
+ msgid "Character-valued argument '%s' of statement function at %L must have constant length"
+ msgstr "El argumento con valor de carácter '%s' de la función de declaración en %L debe tener longitud constante"
+
+-#: fortran/resolve.c:299
++#: fortran/resolve.c:310
+ #, no-c-format
+ msgid "Contained function '%s' at %L has no IMPLICIT type"
+ msgstr "La función contenida '%s' en %L no es de tipo IMPLICIT"
+
+-#: fortran/resolve.c:302
++#: fortran/resolve.c:313
+ #, no-c-format
+ msgid "Result '%s' of contained function '%s' at %L has no IMPLICIT type"
+ msgstr "El resultado '%s ' de la función contenida '%s' en %L no es de tipo IMPLICIT"
+
+-#: fortran/resolve.c:319
++#: fortran/resolve.c:330
+ #, no-c-format
+ msgid "Character-valued internal function '%s' at %L must not be assumed length"
+ msgstr "La función interna valuada con carácter '%s' en %L no debe tener longitud asumida"
+
+-#: fortran/resolve.c:490
++#: fortran/resolve.c:501
+ #, no-c-format
+-msgid "Procedure %s at %L has entries with mismatched array specifications"
++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.c:516
++#: fortran/resolve.c:518
+ #, no-c-format
++msgid "Extension: 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.c:545
++#, no-c-format
+ msgid "FUNCTION result %s can't 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.c:520
++#: fortran/resolve.c:549
+ #, no-c-format
+ msgid "ENTRY result %s can't 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.c:527
++#: fortran/resolve.c:556
+ #, no-c-format
+ msgid "FUNCTION result %s can't 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.c:531
++#: fortran/resolve.c:560
+ #, no-c-format
+ msgid "ENTRY result %s can't 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.c:569
++#: fortran/resolve.c:598
+ #, no-c-format
+ msgid "FUNCTION result %s can't 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.c:574
++#: fortran/resolve.c:603
+ #, no-c-format
+ msgid "ENTRY result %s can't 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.c:643
++#: fortran/resolve.c:661
+ #, no-c-format
++msgid "Variable '%s' 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.c:665
++#, no-c-format
++msgid "Initialized variable '%s' 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.c:676
++#, no-c-format
+ msgid "Derived type variable '%s' 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.c:647
++#: fortran/resolve.c:680
+ #, no-c-format
+ msgid "Derived type variable '%s' 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.c:651
++#: fortran/resolve.c:684
+ #, no-c-format
+ msgid "Derived type variable '%s' 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.c:661
++#: fortran/resolve.c:711
+ #, no-c-format
+ msgid "COMMON block '%s' at %L is used as PARAMETER at %L"
+ msgstr "El bloque COMMON '%s' en %L se usa como PARAMETER en %L"
+
+-#: fortran/resolve.c:665
++#: fortran/resolve.c:715
+ #, no-c-format
+ msgid "COMMON block '%s' at %L is also an intrinsic procedure"
+ msgstr "El bloque COMMON '%s' en %L también es un procedimiento intrínseco"
+
+-#: fortran/resolve.c:669
++#: fortran/resolve.c:719
+ #, no-c-format
+ msgid "Fortran 2003: COMMON block '%s' 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.c:674
++#: fortran/resolve.c:724
+ #, no-c-format
+ msgid "Fortran 2003: COMMON block '%s' 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.c:736
++#: fortran/resolve.c:786
+ #, no-c-format
+ msgid "Components of structure constructor '%s' at %L are PRIVATE"
+ msgstr "Los componentes del constructor de estructura '%s' en %L son PRIVATE"
+
+-#: fortran/resolve.c:756
++#: fortran/resolve.c:808
+ #, no-c-format
+ msgid "The rank of the element in the derived type constructor at %L does not match that of the component (%d/%d)"
+ msgstr "El rango del elemento en el constructor de tipo derivado en %L no coincide con el del componente (%d/%d)"
+
+-#: fortran/resolve.c:769
++#: fortran/resolve.c:821
+ #, no-c-format
+ msgid "The element in the derived type constructor at %L, for pointer component '%s', is %s but should be %s"
+ msgstr "El elemento en el constructor de tipo derivado en %L, para el componente puntero '%s', es %s pero debería ser %s"
+
+-#: fortran/resolve.c:786
++#: fortran/resolve.c:838
+ #, no-c-format
+ msgid "The element in the derived type constructor at %L, for pointer component '%s' should be a POINTER or a TARGET"
+ msgstr "El elemento en el constructor de tipo derivado en %L, para el componente puntero '%s', debe ser un POINTER o un TARGET"
+
+-#: fortran/resolve.c:913
++#: fortran/resolve.c:965
+ #, no-c-format
+ msgid "The upper bound in the last dimension must appear in the reference to the assumed size array '%s' 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.c:976 fortran/resolve.c:5434 fortran/resolve.c:6098
++#: fortran/resolve.c:1029 fortran/resolve.c:5576 fortran/resolve.c:6282
+ #, no-c-format
+ msgid "Label %d referenced at %L is never defined"
+ msgstr "La etiqueta %d referenciada en %L nunca se definió"
+
+-#: fortran/resolve.c:986
++#: fortran/resolve.c:1039
+ #, no-c-format
+ msgid "'%s' at %L is ambiguous"
+ msgstr "'%s' en %L es ambiguo"
+
+-#: fortran/resolve.c:1018
++#: fortran/resolve.c:1075
+ #, no-c-format
+ msgid "Statement function '%s' 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.c:1026
++#: fortran/resolve.c:1083
+ #, no-c-format
+ msgid "Intrinsic '%s' 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.c:1033
++#: fortran/resolve.c:1090
+ #, no-c-format
+ msgid "Internal procedure '%s' is not allowed as an actual argument at %L"
+ msgstr "El procedimiento interno '%s' no se permite como un argumento actual en %L"
+
+-#: fortran/resolve.c:1039
++#: fortran/resolve.c:1096
+ #, no-c-format
+ msgid "ELEMENTAL non-INTRINSIC procedure '%s' 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.c:1059
++#: fortran/resolve.c:1116
+ #, no-c-format
+ msgid "GENERIC procedure '%s' 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.c:1098
++#: fortran/resolve.c:1157
+ #, no-c-format
+ msgid "Symbol '%s' at %L is ambiguous"
+ msgstr "El símbolo '%s' en %L es ambiguo"
+
+-#: fortran/resolve.c:1143
++#: fortran/resolve.c:1206
+ #, no-c-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.c:1150
++#: fortran/resolve.c:1213
+ #, no-c-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.c:1164
++#: fortran/resolve.c:1227
+ #, no-c-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.c:1176
++#: fortran/resolve.c:1239
+ #, no-c-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.c:1293
++#: fortran/resolve.c:1356
+ #, no-c-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)"
+ 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.c:1315
++#: fortran/resolve.c:1378
+ msgid "elemental procedure"
+ msgstr "procedimiento elemental"
+
+-#: fortran/resolve.c:1332
++#: fortran/resolve.c:1395
+ #, no-c-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"
+ 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.c:1466
++#: fortran/resolve.c:1531
+ #, no-c-format
+ msgid "There is no specific function for the generic '%s' at %L"
+ msgstr "No hay una función específica para el genérico '%s' en %L"
+
+-#: fortran/resolve.c:1475
++#: fortran/resolve.c:1540
+ #, no-c-format
+ msgid "Generic function '%s' 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.c:1513
++#: fortran/resolve.c:1594
+ #, no-c-format
+ msgid "Function '%s' 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.c:1559
++#: fortran/resolve.c:1640
+ #, no-c-format
+ msgid "Unable to resolve the specific function '%s' at %L"
+ msgstr "No se puede resolver la función específica '%s' en %L"
+
+-#: fortran/resolve.c:1615 fortran/resolve.c:8740
++#: fortran/resolve.c:1696 fortran/resolve.c:8931
+ #, no-c-format
+ msgid "Function '%s' at %L has no IMPLICIT type"
+ msgstr "La función '%s' en %L no es de tipo IMPLICIT"
+
+-#: fortran/resolve.c:1799
++#: fortran/resolve.c:1907
+ #, no-c-format
+ msgid "Argument to '%s' at %L is not a variable"
+ msgstr "El argumento de '%s' en %L no es una variable"
+
+-#: fortran/resolve.c:1871
++#: fortran/resolve.c:1979
+ #, no-c-format
+ msgid "More actual than formal arguments in '%s' call at %L"
+ msgstr "Más argumentos actuales que formales en la llamada '%s' en %L"
+
+-#: fortran/resolve.c:1883
++#: fortran/resolve.c:1991
+ #, no-c-format
+ msgid "Parameter '%s' to '%s' at %L must be either a TARGET or an associated pointer"
+ msgstr "El parámetro '%s' para '%s' en %L debe ser un TARGET o un puntero asociado"
+
+-#: fortran/resolve.c:1909
++#: fortran/resolve.c:2017
+ #, no-c-format
+ msgid "Allocatable variable '%s' used as a parameter to '%s' at %L must not be an array of zero size"
+ msgstr "La variable alojable '%s' usada como un parámetro para '%s' en %L no debe ser una matriz de tamaño cero"
+
+-#: fortran/resolve.c:1926
++#: fortran/resolve.c:2034
+ #, no-c-format
+ msgid "Assumed-shape array '%s' at %L cannot be an argument to the procedure '%s' because it is not C interoperable"
+ msgstr "La matriz de forma asumida '%s' en %L no puede ser un argumento para el procedimiento '%s' porque no es interoperable con C"
+
+-#: fortran/resolve.c:1936
++#: fortran/resolve.c:2044
+ #, no-c-format
+ msgid "Deferred-shape array '%s' at %L cannot be an argument to the procedure '%s' because it is not C interoperable"
+ msgstr "La matriz de forma diferida '%s' en %L no puede ser un argumento para el procedimiento '%s' porque no es interoperable con C"
+
+-#: fortran/resolve.c:1959 fortran/resolve.c:1998
++#: fortran/resolve.c:2067 fortran/resolve.c:2106
+ #, no-c-format
+ msgid "CHARACTER argument '%s' to '%s' at %L must have a length of 1"
+ msgstr "El argumento CHARACTER '%s' para '%s' en %L debe ser de longitud 1"
+
+ #. Case 1c, section 15.1.2.5, J3/04-007: an associated
+ #. scalar pointer.
+-#: fortran/resolve.c:1974
++#: fortran/resolve.c:2082
+ #, no-c-format
+ msgid "Argument '%s' to '%s' at %L must be an associated scalar POINTER"
+ msgstr "El argumento '%s' para '%s' en %L debe ser un POINTER escalar asociado"
+
+-#: fortran/resolve.c:1990
++#: fortran/resolve.c:2098
+ #, no-c-format
+ msgid "Parameter '%s' to '%s' at %L must be a scalar"
+ msgstr "El argumento '%s' para '%s' en %L debe ser un escalar"
+
+ #. TODO: Update this error message to allow for procedure
+ #. pointers once they are implemented.
+-#: fortran/resolve.c:2012
++#: fortran/resolve.c:2120
+ #, no-c-format
+ msgid "Parameter '%s' to '%s' at %L must be a procedure"
+ msgstr "El parámetro '%s' para '%s' en %L debe ser un procedimiento"
+
+-#: fortran/resolve.c:2020
++#: fortran/resolve.c:2128
+ #, no-c-format
+ msgid "Parameter '%s' to '%s' at %L must be BIND(C)"
+ msgstr "El parámetro '%s' para '%s' en %L debe ser BIND(C)"
+
+-#: fortran/resolve.c:2062
++#: fortran/resolve.c:2170
+ #, no-c-format
+ msgid "'%s' at %L is not a function"
+ msgstr "'%s' en %L no es una función"
+
+-#: fortran/resolve.c:2068
++#: fortran/resolve.c:2176
+ #, no-c-format
+ msgid "ABSTRACT INTERFACE '%s' must not be referenced at %L"
+ msgstr "La ABSTRACT INTERFACE '%s' no se debe referenciar en %L"
+
+ #. Internal procedures are taken care of in resolve_contained_fntype.
+-#: fortran/resolve.c:2111
++#: fortran/resolve.c:2219
+ #, no-c-format
+ msgid "Function '%s' 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.c:2164
++#: fortran/resolve.c:2272
+ #, no-c-format
+ msgid "User defined non-ELEMENTAL function '%s' 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.c:2213
++#: fortran/resolve.c:2321
+ #, no-c-format
+ msgid "reference to non-PURE function '%s' 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.c:2220
++#: fortran/resolve.c:2328
+ #, no-c-format
+ msgid "Function reference to '%s' at %L is to a non-PURE procedure within a PURE procedure"
+ msgstr "La referencia de función a '%s' en %L apunta a un procedimiento que no es PURE dentro de un procedimiento PURE"
+
+-#: fortran/resolve.c:2235
++#: fortran/resolve.c:2343
+ #, no-c-format
+ msgid "Function '%s' at %L cannot call itself, as it is not RECURSIVE"
+ msgstr "La función '%s' en %L no se puede llamar a sí misma, porque no es RECURSIVE"
+
+-#: fortran/resolve.c:2243
++#: fortran/resolve.c:2351
+ #, no-c-format
+ msgid "Call to ENTRY '%s' at %L is recursive, but function '%s' is not declared as RECURSIVE"
+ msgstr "La llamada a la ENTRY '%s' en %L es recursiva, pero la función '%s' no se declaró como RECURSIVE"
+
+-#: fortran/resolve.c:2285
++#: fortran/resolve.c:2393
+ #, no-c-format
+ msgid "Subroutine call to '%s' 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.c:2288
++#: fortran/resolve.c:2396
+ #, no-c-format
+ msgid "Subroutine call to '%s' at %L is not PURE"
+ msgstr "La llamada a subrutina a '%s' en %L no es PURE"
+
+-#: fortran/resolve.c:2351
++#: fortran/resolve.c:2459
+ #, no-c-format
+ msgid "There is no specific subroutine for the generic '%s' at %L"
+ msgstr "No hay una subrutina específica para el genérico '%s' en %L"
+
+-#: fortran/resolve.c:2360
++#: fortran/resolve.c:2468
+ #, no-c-format
+ msgid "Generic subroutine '%s' 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.c:2468
++#: fortran/resolve.c:2576
+ #, no-c-format
+ msgid "Missing SHAPE parameter for call to %s at %L"
+ msgstr "Falta el parámetro SHAPE para la llamada a %s en %L"
+
+-#: fortran/resolve.c:2476
++#: fortran/resolve.c:2584
+ #, no-c-format
+ msgid "SHAPE parameter for call to %s at %L must be a rank 1 INTEGER array"
+ msgstr "El parámetro SHAPE para la llamada a %s en %L debe ser una matriz INTEGER de rango 1"
+
+-#: fortran/resolve.c:2543
++#: fortran/resolve.c:2667
+ #, no-c-format
+ msgid "Subroutine '%s' 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.c:2587
++#: fortran/resolve.c:2711
+ #, no-c-format
+ msgid "Unable to resolve the specific subroutine '%s' at %L"
+ msgstr "No se puede resolver la subrutina específica '%s' en %L"
+
+-#: fortran/resolve.c:2644
++#: fortran/resolve.c:2768
+ #, no-c-format
+ msgid "'%s' 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.c:2663
++#: fortran/resolve.c:2787
+ #, no-c-format
+ msgid "SUBROUTINE '%s' at %L cannot call itself, as it is not RECURSIVE"
+ msgstr "La SUBROUTINE '%s' en %L no se puede llamar a sí misma, porque no es RECURSIVE"
+
+-#: fortran/resolve.c:2671
++#: fortran/resolve.c:2795
+ #, no-c-format
+ msgid "Call to ENTRY '%s' at %L is recursive, but subroutine '%s' is not declared as RECURSIVE"
+ msgstr "La llamada a ENTRY '%s' en %L es recursiva, pero la subrutina '%s' no se declaró como RECURSIVE"
+
+-#: fortran/resolve.c:2741
++#: fortran/resolve.c:2865
+ #, no-c-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.c:2792
++#: fortran/resolve.c:2916
+ #, c-format
+ msgid "Invalid context for NULL() pointer at %%L"
+ msgstr "Contexto inválido para el puntero NULL() en %%L"
+
+-#: fortran/resolve.c:2808
++#: fortran/resolve.c:2932
+ #, c-format
+ msgid "Operand of unary numeric operator '%s' at %%L is %s"
+ msgstr "El operando del operador numérico unario '%s' en %%L es %s"
+
+-#: fortran/resolve.c:2824
++#: fortran/resolve.c:2948
+ #, c-format
+ msgid "Operands of binary numeric operator '%s' at %%L are %s/%s"
+ msgstr "Los operandos del operador binario numérico '%s' en %%L son %s/%s"
+
+-#: fortran/resolve.c:2838
++#: fortran/resolve.c:2962
+ #, 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.c:2857
++#: fortran/resolve.c:2981
+ #, 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.c:2871
++#: fortran/resolve.c:2995
+ #, c-format
+ msgid "Operand of .not. operator at %%L is %s"
+ msgstr "El operando del operador .not. en %%L es %s"
+
+-#: fortran/resolve.c:2885
++#: fortran/resolve.c:3009
+ msgid "COMPLEX quantities cannot be compared at %L"
+ msgstr "Las cantidades COMPLEX no se pueden comparar en %L"
+
+-#: fortran/resolve.c:2913
++#: fortran/resolve.c:3037
+ #, 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.c:2919
++#: fortran/resolve.c:3043
+ #, 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.c:2927
++#: fortran/resolve.c:3051
+ #, c-format
+ msgid "Unknown operator '%s' at %%L"
+ msgstr "Operador '%s' desconocido en %%L"
+
+-#: fortran/resolve.c:2929
++#: fortran/resolve.c:3053
+ #, 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.c:2932
++#: fortran/resolve.c:3056
+ #, 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.c:3018
++#: fortran/resolve.c:3142
+ #, c-format
+ msgid "Inconsistent ranks for operator at %%L and %%L"
+ msgstr "Rangos inconsistentes para el operador en %%L y %%L"
+
+-#: fortran/resolve.c:3212
++#: fortran/resolve.c:3339
+ #, no-c-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.c:3220
++#: fortran/resolve.c:3347
+ #, no-c-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.c:3239
++#: fortran/resolve.c:3366
+ #, no-c-format
+ msgid "Illegal stride of zero at %L"
+ msgstr "Tranco ilegal de cero en %L"
+
+-#: fortran/resolve.c:3256
++#: fortran/resolve.c:3383
+ #, no-c-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.c:3264
++#: fortran/resolve.c:3391
+ #, no-c-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.c:3280
++#: fortran/resolve.c:3407
+ #, no-c-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.c:3289
++#: fortran/resolve.c:3416
+ #, no-c-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.c:3328
++#: fortran/resolve.c:3455
+ #, no-c-format
+ msgid "Rightmost upper bound of assumed size array section not specified at %L"
+ msgstr "Límite superior a la derecha de la sección de matriz de tamaño asumido sin especificar en %L"
+
+-#: fortran/resolve.c:3338
++#: fortran/resolve.c:3465
+ #, no-c-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.c:3366
++#: fortran/resolve.c:3493
+ #, no-c-format
+ msgid "Array index at %L must be scalar"
+ msgstr "El índice de matriz en %L debe ser escalar"
+
+-#: fortran/resolve.c:3372
++#: fortran/resolve.c:3499
+ #, no-c-format
+ msgid "Array index at %L must be of INTEGER type"
+ msgstr "El índice de matriz en %L debe ser de tipo INTEGER"
+
+-#: fortran/resolve.c:3378
++#: fortran/resolve.c:3505
+ #, no-c-format
+ msgid "Extension: REAL array index at %L"
+ msgstr "Extensión: índice de matriz REAL en %L"
+
+-#: fortran/resolve.c:3408
++#: fortran/resolve.c:3535
+ #, no-c-format
+ msgid "Argument dim at %L must be scalar"
+ msgstr "El argumento dim en %L debe ser escalar"
+
+-#: fortran/resolve.c:3414
++#: fortran/resolve.c:3542
+ #, no-c-format
+ msgid "Argument dim at %L must be of INTEGER type"
+ msgstr "El argumento dim en %L debe ser de tipo entero"
+
+-#: fortran/resolve.c:3534
++#: fortran/resolve.c:3663
+ #, no-c-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.c:3571
++#: fortran/resolve.c:3700
+ #, no-c-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.c:3578
++#: fortran/resolve.c:3707
+ #, no-c-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.c:3587
++#: fortran/resolve.c:3716
+ #, no-c-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/resolve.c:3600
++#: fortran/resolve.c:3729
+ #, no-c-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.c:3607
++#: fortran/resolve.c:3736
+ #, no-c-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.c:3617
++#: fortran/resolve.c:3746
+ #, no-c-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"
+
+-#: fortran/resolve.c:3755
++#: fortran/resolve.c:3884
+ #, no-c-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.c:3762
++#: fortran/resolve.c:3891
+ #, no-c-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.c:3781
++#: fortran/resolve.c:3910
+ #, no-c-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.c:3956
++#: fortran/resolve.c:4085
+ #, no-c-format
+ msgid "Variable '%s', 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.c:3961
++#: fortran/resolve.c:4090
+ #, no-c-format
+ msgid "Variable '%s' 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.c:4238
++#: fortran/resolve.c:4367
+ #, no-c-format
+ msgid "%s at %L must be a scalar"
+ msgstr "%s en %L debe ser un escalar"
+
+-#: fortran/resolve.c:4248
++#: fortran/resolve.c:4377
+ #, no-c-format
+ msgid "Deleted feature: %s at %L must be integer"
+ msgstr "Característica eliminada: %s en %L debe ser entero"
+
+-#: fortran/resolve.c:4252 fortran/resolve.c:4259
++#: fortran/resolve.c:4381 fortran/resolve.c:4388
+ #, no-c-format
+ msgid "%s at %L must be INTEGER"
+ msgstr "%s en %L debe ser INTEGER"
+
+-#: fortran/resolve.c:4279
++#: fortran/resolve.c:4408
+ #, no-c-format
+ msgid "Cannot assign to loop variable in PURE procedure at %L"
+ msgstr "No se puede asignar a una variable de ciclo en el procedimiento PURE en %L"
+
+-#: fortran/resolve.c:4303
++#: fortran/resolve.c:4432
+ #, no-c-format
+ msgid "Step expression in DO loop at %L cannot be zero"
+ msgstr "La expresión de paso en el ciclo DO en %L no puede ser cero"
+
+-#: fortran/resolve.c:4378
++#: fortran/resolve.c:4508
+ #, no-c-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.c:4383
++#: fortran/resolve.c:4513
+ #, no-c-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.c:4390
++#: fortran/resolve.c:4520
+ #, no-c-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.c:4398
++#: fortran/resolve.c:4528
+ #, no-c-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.c:4403
++#: fortran/resolve.c:4533
+ #, no-c-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.c:4419
++#: fortran/resolve.c:4549
+ #, no-c-format
+ msgid "FORALL index '%s' 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.c:4499
++#: fortran/resolve.c:4629
+ #, no-c-format
+ msgid "Expression in DEALLOCATE statement at %L must be ALLOCATABLE or a POINTER"
+ msgstr "La expresión en la declaración DEALLOCATE en %L debe ser ALLOCATABLE o un POINTER"
+
+-#: fortran/resolve.c:4506
++#: fortran/resolve.c:4636
+ #, no-c-format
+ msgid "Cannot deallocate INTENT(IN) variable '%s' at %L"
+ msgstr "No se puede desalojar la variable INTENT(IN) '%s' en %L"
+
+-#: fortran/resolve.c:4675
++#: fortran/resolve.c:4740
+ #, no-c-format
+ msgid "The STAT variable '%s' in an ALLOCATE statement must not be allocated in the same statement at %L"
+ msgstr "La variable STAT '%s' en una declaración ALLOCATE no se puede alojar en la misma declaración en %L"
+
+-#: fortran/resolve.c:4711
++#: fortran/resolve.c:4776
+ #, no-c-format
+ msgid "Expression in ALLOCATE statement at %L must be ALLOCATABLE or a POINTER"
+ msgstr "La expresión en la declaración ALLOCATE en %L debe ser ALLOCATABLE o un POINTER"
+
+-#: fortran/resolve.c:4719
++#: fortran/resolve.c:4784
+ #, no-c-format
+ msgid "Cannot allocate INTENT(IN) variable '%s' at %L"
+ msgstr "No se puede alojar la variable INTENT(IN) '%s' en %L"
+
+-#: fortran/resolve.c:4743
++#: fortran/resolve.c:4808
+ #, no-c-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.c:4773
++#: fortran/resolve.c:4838
+ #, no-c-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.c:4791
++#: fortran/resolve.c:4856
+ #, no-c-format
+ msgid "'%s' must not appear an 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 debe alojar a sí misma"
+
++#: fortran/resolve.c:4880
++#, no-c-format
++msgid "STAT variable '%s' of %s statement at %C cannot be INTENT(IN)"
++msgstr "La variable STAT '%s' de la declaración %s en %C no puede ser INTENT(IN)"
++
++#: fortran/resolve.c:4884
++#, no-c-format
++msgid "Illegal STAT variable in %s statement at %C for a PURE procedure"
++msgstr "Variable STAT ilegal en la declaración %s en %C para un procedimiento PURE"
++
++#: fortran/resolve.c:4922
++#, no-c-format
++msgid "STAT tag in %s statement at %L must be a variable"
++msgstr "La expresión STAT en la declaración %s en %L debe ser una variable"
++
++#: fortran/resolve.c:4928
++#, no-c-format
++msgid "STAT tag in %s statement at %L must be of type INTEGER"
++msgstr "La etiqueta STAT en la declaración %s en %L debe ser de tipo INTEGER"
++
+ #. The cases overlap, or they are the same
+ #. 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.c:4949
++#: fortran/resolve.c:5091
+ #, no-c-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.c:5000
++#: fortran/resolve.c:5142
+ #, no-c-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.c:5011
++#: fortran/resolve.c:5153
+ #, no-c-format
+ msgid "Expression in CASE statement at %L must be kind %d"
+ msgstr "La expresión en la declaración CASE en %L debe ser de género %d"
+
+-#: fortran/resolve.c:5023
++#: fortran/resolve.c:5165
+ #, no-c-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.c:5069
++#: fortran/resolve.c:5211
+ #, no-c-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.c:5087
++#: fortran/resolve.c:5229
+ #, no-c-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.c:5096
++#: fortran/resolve.c:5238
+ #, no-c-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.c:5161
++#: fortran/resolve.c:5303
+ #, no-c-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.c:5187
++#: fortran/resolve.c:5329
+ #, no-c-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.c:5199
++#: fortran/resolve.c:5341
+ #, no-c-format
+ msgid "constant logical value in CASE statement is repeated at %L"
+ msgstr "se repite un valor lógico de constante en una declaración CASE en %L"
+
+-#: fortran/resolve.c:5213
++#: fortran/resolve.c:5355
+ #, no-c-format
+ msgid "Range specification at %L can never be matched"
+ msgstr "La especificación de rango en %L nunca puede coincidir"
+
+-#: fortran/resolve.c:5316
++#: fortran/resolve.c:5458
+ #, no-c-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.c:5354
++#: fortran/resolve.c:5496
+ #, no-c-format
+ msgid "Data transfer element at %L cannot have POINTER components"
+ msgstr "El elemento de transferencia de datos en %L no puede tener componentes POINTER"
+
+-#: fortran/resolve.c:5361
++#: fortran/resolve.c:5503
+ #, no-c-format
+ msgid "Data transfer element at %L cannot have ALLOCATABLE components"
+ msgstr "El elemento de transferencia de datos en %L no puede tener componentes ALLOCATABLE"
+
+-#: fortran/resolve.c:5368
++#: fortran/resolve.c:5510
+ #, no-c-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.c:5377
++#: fortran/resolve.c:5519
+ #, no-c-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.c:5441
++#: fortran/resolve.c:5583
+ #, no-c-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.c:5450
++#: fortran/resolve.c:5592
+ #, no-c-format
+ msgid "Branch at %L causes an infinite loop"
+ msgstr "La ramificación en %L causa un ciclo infinito"
+@@ -9533,647 +9583,657 @@
+ #. 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.c:5463
++#: fortran/resolve.c:5605
+ #, no-c-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.c:5478 fortran/resolve.c:5492
++#: fortran/resolve.c:5620 fortran/resolve.c:5634
+ #, no-c-format
+ msgid "Deleted feature: GOTO at %L jumps to END of construct at %L"
+ msgstr "Característica eliminada: GOTO en %L salta al END de la construcción en %L"
+
+-#: fortran/resolve.c:5569
++#: fortran/resolve.c:5711
+ #, no-c-format
+ msgid "WHERE mask at %L has inconsistent shape"
+ msgstr "La máscara WHERE en %L tiene forma inconsistente"
+
+-#: fortran/resolve.c:5585
++#: fortran/resolve.c:5727
+ #, no-c-format
+ msgid "WHERE assignment target at %L has inconsistent shape"
+ msgstr "El objetivo de asignación WHERE en %L tiene forma inconsistente"
+
+-#: fortran/resolve.c:5600 fortran/resolve.c:5682
++#: fortran/resolve.c:5735 fortran/resolve.c:5820
+ #, no-c-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.c:5745 fortran/resolve.c:5830
++#, no-c-format
+ msgid "Unsupported statement inside WHERE at %L"
+ msgstr "Declaración sin soporte dentro de WHERE en %L"
+
+-#: fortran/resolve.c:5631
++#: fortran/resolve.c:5776
+ #, no-c-format
+ msgid "Assignment to a FORALL index variable at %L"
+ msgstr "Asignación a una variable de índice FORALL en %L"
+
+-#: fortran/resolve.c:5639
++#: fortran/resolve.c:5784
+ #, no-c-format
+ msgid "The FORALL with index '%s' cause more than one assignment to this object at %L"
+ msgstr "El FORALL con índice '%s' causa más de una asignación a este objeto en %L"
+
+-#: fortran/resolve.c:5774
++#: fortran/resolve.c:5922
+ #, no-c-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.c:5830
++#: fortran/resolve.c:5978
+ #, no-c-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.c:5890
++#: fortran/resolve.c:6037
+ #, no-c-format
+ msgid "Subroutine '%s' called instead of assignment at %L must be PURE"
+ msgstr "La subrutina '%s' llamada en lugar de una asignación en %L debe ser PURE"
+
+-#: fortran/resolve.c:5927
++#: fortran/resolve.c:6110
+ #, no-c-format
+ msgid "CHARACTER expression will be truncated in assignment (%d/%d) at %L"
+ msgstr "Se truncará la expresión CHARACTER en la asignación (%d/%d) en %L"
+
+-#: fortran/resolve.c:5950
++#: fortran/resolve.c:6135
+ #, no-c-format
+ msgid "Cannot assign to variable '%s' in PURE procedure at %L"
+ msgstr "No se puede asignar a la variable '%s' en el procedimiento PURE en %L"
+
+-#: fortran/resolve.c:5962
++#: fortran/resolve.c:6147
+ #, no-c-format
+ msgid "The impure variable at %L is assigned to a derived type variable with a POINTER component in a PURE procedure (12.6)"
+ msgstr "La variable impura en %L se asigna a una variable de tipo derivado con un componente POINTER en un procedimiento PURE (12.6)"
+
+-#: fortran/resolve.c:6066
++#: fortran/resolve.c:6250
+ #, no-c-format
+ msgid "ASSIGNED GOTO statement at %L requires an INTEGER variable"
+ msgstr "La declaración ASSIGNED GOTO en %L requiere una variable INTEGER"
+
+-#: fortran/resolve.c:6069
++#: fortran/resolve.c:6253
+ #, no-c-format
+ msgid "Variable '%s' 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.c:6080
++#: fortran/resolve.c:6264
+ #, no-c-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.c:6106
++#: fortran/resolve.c:6290
+ #, no-c-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"
+
+-#: fortran/resolve.c:6121
++#: fortran/resolve.c:6305
+ #, no-c-format
+ msgid "Arithmetic IF statement at %L requires a numeric expression"
+ msgstr "La declaración IF aritmética en %L requiere una expresión numérica"
+
+-#: fortran/resolve.c:6163
++#: fortran/resolve.c:6347
+ #, no-c-format
+ msgid "Exit condition of DO WHILE loop at %L must be a scalar LOGICAL expression"
+ msgstr "La condición de salida del ciclo DO WHILE en %L debe ser una expresión LOGICAL escalar"
+
+-#: fortran/resolve.c:6170
++#: fortran/resolve.c:6420
+ #, no-c-format
+-msgid "STAT tag in ALLOCATE statement at %L must be of type INTEGER"
+-msgstr "La etiqueta STAT en la declaración ALLOCATE en %L debe ser de tipo INTEGER"
+-
+-#: fortran/resolve.c:6182
+-#, no-c-format
+-msgid "STAT tag in DEALLOCATE statement at %L must be of type INTEGER"
+-msgstr "La etiqueta STAT en la declaración DEALLOCATE en %L debe ser de tipo INTEGER"
+-
+-#: fortran/resolve.c:6247
+-#, no-c-format
+ msgid "FORALL mask clause at %L requires a LOGICAL expression"
+ msgstr "La cláusula de máscara FORALL en %L requiere una expresión LOGICAL"
+
+-#: fortran/resolve.c:6317 fortran/resolve.c:6373
++#: fortran/resolve.c:6490 fortran/resolve.c:6546
+ #, no-c-format
+ msgid "Binding label '%s' for common block '%s' at %L collides with the global entity '%s' at %L"
+ msgstr "La etiqueta enlazante '%s' para el bloque común '%s' en %L colisiona con la entidad global '%s' en %L"
+
+ #. Common block names match but binding labels do not.
+-#: fortran/resolve.c:6338
++#: fortran/resolve.c:6511
+ #, no-c-format
+ msgid "Binding label '%s' for common block '%s' at %L does not match the binding label '%s' for common block '%s' at %L"
+ msgstr "La etiqueta enlazante '%s' para el bloque común '%s' en %L no coincide con la etiqueta enlazante '%s' para el bloque común '%s' en %L"
+
+-#: fortran/resolve.c:6385
++#: fortran/resolve.c:6558
+ #, no-c-format
+ msgid "Binding label '%s' for common block '%s' at %L collides with global entity '%s' at %L"
+ msgstr "La etiqueta enlazante '%s' para el bloque común '%s' en %L colisiona con la entidad global '%s' en %L"
+
+ #. Make sure global procedures don't collide with anything.
+-#: fortran/resolve.c:6437
++#: fortran/resolve.c:6610
+ #, no-c-format
+ msgid "Binding label '%s' at %L collides with the global entity '%s' at %L"
+ msgstr "La etiqueta enlazante '%s' en %L colisiona con la entidad global '%s' en %L"
+
+ #. Make sure procedures in interface bodies don't collide.
+-#: fortran/resolve.c:6450
++#: fortran/resolve.c:6623
+ #, no-c-format
+ msgid "Binding label '%s' in interface body at %L collides with the global entity '%s' at %L"
+ msgstr "La etiqueta enlazante '%s' en el cuerpo de interfaz en %L colisiona con la entidad global '%s' en %L"
+
+-#: fortran/resolve.c:6463
++#: fortran/resolve.c:6636
+ #, no-c-format
+ msgid "Binding label '%s' at %L collides with global entity '%s' at %L"
+ msgstr "La etiqueta enlazante '%s' en %L colisiona con la entidad global '%s' en %L"
+
+-#: fortran/resolve.c:6540
++#: fortran/resolve.c:6713
+ #, no-c-format
+ msgid "CHARACTER variable has zero length at %L"
+ msgstr "La variable CHARACTER es de longitud cero en %L"
+
+-#: fortran/resolve.c:6828
++#: fortran/resolve.c:7001
+ #, no-c-format
+ msgid "Allocatable array '%s' at %L must have a deferred shape"
+ msgstr "La matriz allocatable '%s' en %L debe tener una forma diferida"
+
+-#: fortran/resolve.c:6831
++#: fortran/resolve.c:7004
+ #, no-c-format
+ msgid "Scalar object '%s' at %L may not be ALLOCATABLE"
+ msgstr "El objeto escalar '%s' en %L no puede ser ALLOCATABLE"
+
+-#: fortran/resolve.c:6838
++#: fortran/resolve.c:7011
+ #, no-c-format
+ msgid "Array pointer '%s' at %L must have a deferred shape"
+ msgstr "La matriz de puntero '%s' en %L debe tener una forma diferida"
+
+-#: fortran/resolve.c:6849
++#: fortran/resolve.c:7022
+ #, no-c-format
+ msgid "Array '%s' at %L cannot have a deferred shape"
+ msgstr "La matriz '%s' en %L no puede tener una forma diferida"
+
+-#: fortran/resolve.c:6878
++#: fortran/resolve.c:7051
+ #, no-c-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"
+ 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.c:6901
++#: fortran/resolve.c:7074
+ #, no-c-format
+ msgid "Object '%s' at %L must have the SAVE attribute for default initialization of a component"
+ msgstr "El objeto '%s' en %L debe tener el atributo SAVE para la inicialización por defecto de un componente"
+
+ #. The shape of a main program or module array needs to be
+ #. constant.
+-#: fortran/resolve.c:6948
++#: fortran/resolve.c:7121
+ #, no-c-format
+ msgid "The module or main program array '%s' 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.c:6961
++#: fortran/resolve.c:7134
+ #, no-c-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.c:6980
++#: fortran/resolve.c:7153
+ #, no-c-format
+ msgid "'%s' 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.c:7012
++#: fortran/resolve.c:7185
+ #, no-c-format
+ msgid "Allocatable '%s' at %L cannot have an initializer"
+ msgstr "El allocatable '%s' en %L no puede tener un inicializador"
+
+-#: fortran/resolve.c:7015
++#: fortran/resolve.c:7188
+ #, no-c-format
+ msgid "External '%s' at %L cannot have an initializer"
+ msgstr "El external '%s' en %L no puede tener un inicializador"
+
+-#: fortran/resolve.c:7019
++#: fortran/resolve.c:7192
+ #, no-c-format
+ msgid "Dummy '%s' at %L cannot have an initializer"
+ msgstr "El dummy '%s' en %L no puede tener un inicializador"
+
+-#: fortran/resolve.c:7022
++#: fortran/resolve.c:7195
+ #, no-c-format
+ msgid "Intrinsic '%s' at %L cannot have an initializer"
+ msgstr "El intrinsic '%s' en %L no puede tener un inicializador"
+
+-#: fortran/resolve.c:7025
++#: fortran/resolve.c:7198
+ #, no-c-format
+ msgid "Function result '%s' at %L cannot have an initializer"
+ msgstr "El resultado de la función '%s' en %L no puede tener un inicializador"
+
+-#: fortran/resolve.c:7028
++#: fortran/resolve.c:7201
+ #, no-c-format
+ msgid "Automatic array '%s' at %L cannot have an initializer"
+ msgstr "La matriz automática '%s' en %L no puede tener un inicializador"
+
+-#: fortran/resolve.c:7051
++#: fortran/resolve.c:7224
+ #, no-c-format
+ msgid "Although not referenced, '%s' at %L has ambiguous interfaces"
+ msgstr "Aunque no esté referenciado, '%s' en %L tiene interfaces ambiguas"
+
+-#: fortran/resolve.c:7070
++#: fortran/resolve.c:7243
+ #, no-c-format
+ msgid "Character-valued statement function '%s' 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.c:7078
++#: fortran/resolve.c:7251
+ #, no-c-format
+ msgid "Automatic character length function '%s' at %L must have an explicit interface"
+ msgstr "La función de longitud de carácter automática '%s' en %L debe una interfaz explícita"
+
+-#: fortran/resolve.c:7103
++#: fortran/resolve.c:7276
+ #, no-c-format
+ msgid "Fortran 2003: '%s' is of a PRIVATE type and cannot be a dummy argument of '%s', 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.c:7126 fortran/resolve.c:7151
++#: fortran/resolve.c:7299 fortran/resolve.c:7324
+ #, no-c-format
+ msgid "Fortran 2003: Procedure '%s' in PUBLIC interface '%s' at %L takes dummy arguments of '%s' 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.c:7168
++#: fortran/resolve.c:7341
+ #, no-c-format
+ msgid "Function '%s' at %L cannot have an initializer"
+ msgstr "La función '%s' en %L no puede tener un inicializador"
+
+-#: fortran/resolve.c:7177
++#: fortran/resolve.c:7350
+ #, no-c-format
+ msgid "External object '%s' at %L may not have an initializer"
+ msgstr "El objeto external '%s' en %L puede no tener un inicializador"
+
+-#: fortran/resolve.c:7185
++#: fortran/resolve.c:7358
+ #, no-c-format
+ msgid "ELEMENTAL function '%s' at %L must have a scalar result"
+ msgstr "La función ELEMENTAL '%s' en %L debe tener un resultado escalar"
+
+-#: fortran/resolve.c:7206
++#: fortran/resolve.c:7379
+ #, no-c-format
+ msgid "CHARACTER(*) function '%s' at %L cannot be array-valued"
+ msgstr "La función CHARACTER(*) '%s' en %L no puede ser matriz-valuada"
+
+-#: fortran/resolve.c:7210
++#: fortran/resolve.c:7383
+ #, no-c-format
+ msgid "CHARACTER(*) function '%s' at %L cannot be pointer-valued"
+ msgstr "La función CHARACTER(*) '%s' en %L no puede ser puntero-valuada"
+
+-#: fortran/resolve.c:7214
++#: fortran/resolve.c:7387
+ #, no-c-format
+ msgid "CHARACTER(*) function '%s' at %L cannot be pure"
+ msgstr "La función CHARACTER(*) '%s' en %L no puede ser pura"
+
+-#: fortran/resolve.c:7218
++#: fortran/resolve.c:7391
+ #, no-c-format
+ msgid "CHARACTER(*) function '%s' at %L cannot be recursive"
+ msgstr "La función CHARACTER(*) '%s' en %L no puede ser recursiva"
+
+-#: fortran/resolve.c:7227
++#: fortran/resolve.c:7400
+ #, no-c-format
+ msgid "CHARACTER(*) function '%s' at %L is obsolescent in fortran 95"
+ msgstr "La función CHARACTER(*) '%s' en %L es obsoleta en fortran 95"
+
+-#: fortran/resolve.c:7299
++#: fortran/resolve.c:7472
+ #, no-c-format
+ msgid "Character length of component '%s' 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.c:7314
++#: fortran/resolve.c:7487
+ #, no-c-format
+ msgid "The component '%s' is a PRIVATE type and cannot be a component of '%s', which is PUBLIC at %L"
+ msgstr "El componente '%s' es un tipo PRIVATE y no puede ser un componente de '%s' el cual es PUBLIC en %L"
+
+-#: fortran/resolve.c:7324
++#: fortran/resolve.c:7497
+ #, no-c-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.c:7334
++#: fortran/resolve.c:7507
+ #, no-c-format
+ msgid "The pointer component '%s' of '%s' at %L is a type that has not been declared"
+ msgstr "El componente puntero '%s' de '%s' en %L es de un tipo que no se ha declarado"
+
+-#: fortran/resolve.c:7352
++#: fortran/resolve.c:7525
+ #, no-c-format
+ msgid "Component '%s' of '%s' at %L must have constant array bounds"
+ msgstr "El componente '%s' de '%s' en %L debe tener límites de matriz constantes"
+
+-#: fortran/resolve.c:7395
++#: fortran/resolve.c:7568
+ #, no-c-format
+ msgid "NAMELIST object '%s' was declared PRIVATE and cannot be member of PUBLIC namelist '%s' 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.c:7405
++#: fortran/resolve.c:7578
+ #, no-c-format
+ msgid "NAMELIST object '%s' has use-associated PRIVATE components and cannot be member of namelist '%s' 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.c:7418
++#: fortran/resolve.c:7591
+ #, no-c-format
+ msgid "NAMELIST object '%s' has PRIVATE components and cannot be a member of PUBLIC namelist '%s' 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.c:7430
++#: fortran/resolve.c:7603
+ #, no-c-format
+ msgid "NAMELIST array object '%s' must not have assumed shape in namelist '%s' at %L"
+ msgstr "El objeto de matriz NAMELIST '%s' no debe tener forma asumida en la lista de nombres '%s' en %L"
+
+-#: fortran/resolve.c:7439
++#: fortran/resolve.c:7612
+ #, no-c-format
+ msgid "NAMELIST array object '%s' must have constant shape in namelist '%s' at %L"
+ msgstr "El objeto de matriz NAMELIST '%s' debe tener forma constante en la lista de nombres '%s' en %L"
+
+-#: fortran/resolve.c:7451
++#: fortran/resolve.c:7624
+ #, no-c-format
+ msgid "NAMELIST object '%s' in namelist '%s' at %L cannot have ALLOCATABLE components"
+ msgstr "El objeto NAMELIST '%s' en la lista de nombres '%s' en %L no puede tener componentes ALLOCATABLE"
+
+-#: fortran/resolve.c:7459
++#: fortran/resolve.c:7632
+ #, no-c-format
+ msgid "NAMELIST object '%s' in namelist '%s' at %L cannot have POINTER components"
+ msgstr "El objeto NAMELIST '%s' en la lista de nombres '%s'en %L no puede tener componentes POINTER"
+
+-#: fortran/resolve.c:7485
++#: fortran/resolve.c:7658
+ #, no-c-format
+ msgid "PROCEDURE attribute conflicts with NAMELIST attribute in '%s' at %L"
+ msgstr "El atributo PROCEDURE genera un conflicto con el atributo NAMELIST en '%s' en %L"
+
+-#: fortran/resolve.c:7504
++#: fortran/resolve.c:7677
+ #, no-c-format
+ msgid "Parameter array '%s' 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.c:7515
++#: fortran/resolve.c:7688
+ #, no-c-format
+ msgid "Implicitly typed PARAMETER '%s' 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.c:7526
++#: fortran/resolve.c:7699
+ #, no-c-format
+ msgid "Incompatible derived type in PARAMETER at %L"
+ msgstr "Tipo derivado incompatible en PARAMETER en %L"
+
+-#: fortran/resolve.c:7597
++#: fortran/resolve.c:7758
+ #, no-c-format
++msgid "Interface '%s', used by procedure '%s' at %L, is declared in a later PROCEDURE statement"
++msgstr "La interfaz '%s', usada por el procedimiento '%s' en %L, se declara en una declaración PROCEDURE posterior"
++
++#: fortran/resolve.c:7772
++#, no-c-format
+ msgid "Interface '%s' of procedure '%s' at %L must be explicit"
+ msgstr "La intefaz '%s' del procedimiento '%s' en %L debe ser explícita"
+
+-#: fortran/resolve.c:7622
++#: fortran/resolve.c:7797
+ #, no-c-format
+ msgid "Type specified for intrinsic function '%s' at %L is ignored"
+ msgstr "Se descarta el tipo para la función intrínseca '%s' en %L"
+
+-#: fortran/resolve.c:7629
++#: fortran/resolve.c:7804
+ #, no-c-format
+ msgid "Intrinsic subroutine '%s' 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.c:7636
++#: fortran/resolve.c:7811
+ #, no-c-format
+ msgid "Intrinsic '%s' at %L does not exist"
+ msgstr "El intrínseco '%s' en %L no existe"
+
+-#: fortran/resolve.c:7676
++#: fortran/resolve.c:7851
+ #, no-c-format
+ msgid "Assumed size array at %L must be a dummy argument"
+ msgstr "El tamaño asumido de matriz en %L debe ser un argumento de prueba"
+
+-#: fortran/resolve.c:7679
++#: fortran/resolve.c:7854
+ #, no-c-format
+ msgid "Assumed shape array at %L must be a dummy argument"
+ msgstr "La forma asumida de matriz en %L debe ser un argumento de prueba"
+
+-#: fortran/resolve.c:7691
++#: fortran/resolve.c:7866
+ #, no-c-format
+ msgid "Symbol at %L is not a DUMMY variable"
+ msgstr "El símbolo en %L no es una variable DUMMY"
+
+-#: fortran/resolve.c:7697
++#: fortran/resolve.c:7872
+ #, no-c-format
+ msgid "'%s' 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.c:7707
++#: fortran/resolve.c:7882
+ #, no-c-format
+ msgid "Character dummy variable '%s' 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.c:7716
++#: fortran/resolve.c:7891
+ #, no-c-format
+ msgid "C interoperable character dummy variable '%s' 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.c:7742
++#: fortran/resolve.c:7917
+ #, no-c-format
+ msgid "Variable '%s' 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.c:7795
++#: fortran/resolve.c:7970
+ #, no-c-format
+ msgid "The derived type '%s' at %L is of type '%s', which has not been defined"
+ msgstr "El tipo derivado '%s' en %L es de tipo '%s', el cual no se ha definido"
+
+-#: fortran/resolve.c:7811
++#: fortran/resolve.c:7987
+ #, no-c-format
+ msgid "Fortran 2003: PUBLIC %s '%s' at %L of PRIVATE derived type '%s'"
+ msgstr "Fortran 2003: La función PUBLIC %s '%s' en %L es de tipo derivado PRIVATE '%s'"
+
+-#: fortran/resolve.c:7830
++#: fortran/resolve.c:8006
+ #, no-c-format
+ msgid "The INTENT(OUT) dummy argument '%s' 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.c:7889
++#: fortran/resolve.c:8065
+ #, no-c-format
+ msgid "Threadprivate at %L isn't SAVEd"
+ msgstr "No se guarda (SAVE) el threadprivate en %L"
+
+-#: fortran/resolve.c:7967
++#: fortran/resolve.c:8143
+ #, no-c-format
+ msgid "BLOCK DATA element '%s' at %L must be in COMMON"
+ msgstr "El elemento BLOCK DATA '%s' en %L debe estar en COMMON"
+
+-#: fortran/resolve.c:8011
++#: fortran/resolve.c:8149
+ #, no-c-format
++msgid "DATA array '%s' 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.c:8194
++#, no-c-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.c:8024
++#: fortran/resolve.c:8207
+ #, no-c-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.c:8118
++#: fortran/resolve.c:8301
+ #, no-c-format
+ msgid "iterator start at %L does not simplify"
+ msgstr "el iterador que inicia en %L no simplifica"
+
+-#: fortran/resolve.c:8125
++#: fortran/resolve.c:8308
+ #, no-c-format
+ msgid "iterator end at %L does not simplify"
+ msgstr "el iterador que termina en %L no simplifica"
+
+-#: fortran/resolve.c:8132
++#: fortran/resolve.c:8315
+ #, no-c-format
+ msgid "iterator step at %L does not simplify"
+ msgstr "el paso de iterador en %L no simplifica"
+
+-#: fortran/resolve.c:8258
++#: fortran/resolve.c:8441
+ #, no-c-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.c:8349
++#: fortran/resolve.c:8532
+ #, no-c-format
+ msgid "Label %d at %L defined but not used"
+ msgstr "Se define la etiqueta %d en %L pero no se usa"
+
+-#: fortran/resolve.c:8354
++#: fortran/resolve.c:8537
+ #, no-c-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.c:8439
++#: fortran/resolve.c:8622
+ #, no-c-format
+ msgid "Derived type variable '%s' 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.c:8448
++#: fortran/resolve.c:8631
+ #, no-c-format
+ msgid "Derived type variable '%s' 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.c:8465
++#: fortran/resolve.c:8639
+ #, no-c-format
++msgid "Derived type variable '%s' 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.c:8656
++#, no-c-format
+ msgid "Derived type variable '%s' 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.c:8570
++#: fortran/resolve.c:8761
+ #, no-c-format
+ msgid "Syntax error in EQUIVALENCE statement at %L"
+ msgstr "Error sintáctico en la declaración EQUIVALENCE en %L"
+
+-#: fortran/resolve.c:8585
++#: fortran/resolve.c:8776
+ #, no-c-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.c:8597
++#: fortran/resolve.c:8788
+ #, no-c-format
+ msgid "Common block member '%s' at %L cannot be an EQUIVALENCE object in the pure procedure '%s'"
+ msgstr "El miembro de bloque común '%s' en %L no puede ser un objeto EQUIVALENCE en el procedimiento puro '%s'"
+
+-#: fortran/resolve.c:8606
++#: fortran/resolve.c:8797
+ #, no-c-format
+ msgid "Named constant '%s' at %L cannot be an EQUIVALENCE object"
+ msgstr "La constante nombrada '%s' en %L no puede ser un objeto EQUIVALENCE"
+
+-#: fortran/resolve.c:8685
++#: fortran/resolve.c:8876
+ #, no-c-format
+ msgid "Array '%s' 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.c:8696
++#: fortran/resolve.c:8887
+ #, no-c-format
+ msgid "Structure component '%s' at %L cannot be an EQUIVALENCE object"
+ msgstr "El componente de estructura '%s' en %L no puede ser un objeto EQUIVALENCE"
+
+-#: fortran/resolve.c:8707
++#: fortran/resolve.c:8898
+ #, no-c-format
+ msgid "Substring at %L has length zero"
+ msgstr "La subcadena en %L tiene longitud cero"
+
+-#: fortran/resolve.c:8750
++#: fortran/resolve.c:8941
+ #, no-c-format
+ msgid "PUBLIC function '%s' at %L cannot be of PRIVATE type '%s'"
+ msgstr "La función PUBLIC '%s' en %L no puede ser del tipo PRIVATE '%s'"
+
+-#: fortran/resolve.c:8762
++#: fortran/resolve.c:8953
+ #, no-c-format
+ msgid "ENTRY '%s' at %L has no IMPLICIT type"
+ msgstr "ENTRY '%s' en %L no tiene tipo IMPLICIT"
+
+-#: fortran/resolve.c:8788
++#: fortran/resolve.c:8979
+ #, no-c-format
+ msgid "User operator procedure '%s' at %L must be a FUNCTION"
+ msgstr "El procedimiento de operador de usuario '%s' en %L debe ser FUNCTION"
+
+-#: fortran/resolve.c:8795
++#: fortran/resolve.c:8986
+ #, no-c-format
+ msgid "User operator procedure '%s' 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.c:8801
++#: fortran/resolve.c:8992
+ #, no-c-format
+ msgid "User operator procedure '%s' 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.c:8811
++#: fortran/resolve.c:9002
+ #, no-c-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.c:8823
++#: fortran/resolve.c:9014
+ #, no-c-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.c:8827
++#: fortran/resolve.c:9018
+ #, no-c-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.c:8867
++#: fortran/resolve.c:9059
+ #, no-c-format
+ msgid "Contained procedure '%s' at %L of a PURE procedure must also be PURE"
+ msgstr "El procedimiento contenido '%s' en %L de un procedimiento PURE tambíén debe ser PURE"
+
+-#: fortran/scanner.c:526
++#: fortran/scanner.c:530
+ #, no-c-format
+ msgid "!$OMP at %C starts a commented line as it neither is followed by a space nor is a continuation line"
+ msgstr "!$OMP en %C inicia una línea comentada y no está seguido de un espacio ni es una continuación de línea"
+
+-#: fortran/scanner.c:816 fortran/scanner.c:937
++#: fortran/scanner.c:820 fortran/scanner.c:941
+ #, no-c-format
+ msgid "Limit of %d continuations exceeded in statement at %C"
+ msgstr "Se excedió el límite de %d continuaciones en la declaración en %C"
+
+-#: fortran/scanner.c:861
++#: fortran/scanner.c:865
+ #, no-c-format
+ msgid "Missing '&' in continued character constant at %C"
+ msgstr "Falta un '&' en la constante de carácter continuado en %C"
+
+-#: fortran/scanner.c:1071
++#: fortran/scanner.c:1075
+ #, no-c-format
+ msgid "Nonconforming tab character at %C"
+ msgstr "Carácter de tabulación que no es conforme en %C"
+
+-#: fortran/scanner.c:1153 fortran/scanner.c:1156
++#: fortran/scanner.c:1158 fortran/scanner.c:1161
+ #, no-c-format
+ msgid "'&' not allowed by itself in line %d"
+ msgstr "no se permite '&' por sí solo en la línea %d"
+
+-#: fortran/scanner.c:1189
++#: fortran/scanner.c:1207
+ #, no-c-format
+-msgid "Nonconforming tab character in column 1 of line %d"
+-msgstr "Carácter de tabulador que no es conformante en la columna 1 de la línea %d"
++msgid "Nonconforming tab character in column %d of line %d"
++msgstr "Carácter de tabulador que no es conformante en la columna %d de la línea %d"
+
+-#: fortran/scanner.c:1387
++#: fortran/scanner.c:1405
+ #, no-c-format
+ msgid "%s:%d: file %s left but not entered"
+ msgstr "%s:%d: se dejó el fichero %s pero no se entró"
+
+-#: fortran/scanner.c:1419
++#: fortran/scanner.c:1438
+ #, no-c-format
+ msgid "%s:%d: Illegal preprocessor directive"
+ msgstr "%s:%d: Directiva de preprocesamiento ilegal"
+
+-#: fortran/scanner.c:1514
++#: fortran/scanner.c:1533
+ #, no-c-format
+ msgid "File '%s' is being included recursively"
+ msgstr "El fichero '%s' se está incluyendo recursivamente"
+
+-#: fortran/scanner.c:1529
++#: fortran/scanner.c:1548
+ #, no-c-format
+ msgid "Can't open file '%s'"
+ msgstr "No se puede abrir el fichero '%s'"
+
+-#: fortran/scanner.c:1538
++#: fortran/scanner.c:1557
+ #, no-c-format
+ msgid "Can't open included file '%s'"
+ msgstr "No se puede abrir el fichero incluído '%s'"
+
+-#: fortran/scanner.c:1676
++#: fortran/scanner.c:1701
+ #, c-format
+ msgid "%s:%3d %s\n"
+ msgstr "%s:%3d %s\n"
+@@ -10243,134 +10303,134 @@
+ msgid "Argument of CHAR function at %L outside of range [0,255]"
+ msgstr "El argumento de la función CHAR en %L está fuera de rango [0,255]"
+
+-#: fortran/simplify.c:1247
++#: fortran/simplify.c:1293
+ #, no-c-format
+ msgid "Argument of IACHAR at %L must be of length one"
+ msgstr "El argumento de IACHAR en %L debe ser de longitud uno"
+
+-#: fortran/simplify.c:1254
++#: fortran/simplify.c:1300
+ #, no-c-format
+ msgid "Argument of IACHAR function at %L outside of range 0..127"
+ msgstr "El argumento de la función IACHAR en %L está fuera de rango 0..127"
+
+-#: fortran/simplify.c:1293
++#: fortran/simplify.c:1339
+ #, no-c-format
+ msgid "Invalid second argument of IBCLR at %L"
+ msgstr "Segundo argumento de IBCLR inválido en %L"
+
+-#: fortran/simplify.c:1301
++#: fortran/simplify.c:1347
+ #, no-c-format
+ msgid "Second argument of IBCLR exceeds bit size at %L"
+ msgstr "El segundo argumento de IBCLR excede el tamaño de bit en %L"
+
+-#: fortran/simplify.c:1335
++#: fortran/simplify.c:1381
+ #, no-c-format
+ msgid "Invalid second argument of IBITS at %L"
+ msgstr "Segundo argumento de IBITS inválido en %L"
+
+-#: fortran/simplify.c:1341
++#: fortran/simplify.c:1387
+ #, no-c-format
+ msgid "Invalid third argument of IBITS at %L"
+ msgstr "Tercer argumento de IBITS inválido en %L"
+
+-#: fortran/simplify.c:1351
++#: fortran/simplify.c:1397
+ #, no-c-format
+ msgid "Sum of second and third arguments of IBITS exceeds bit size at %L"
+ msgstr "La suma del segundo y tercer argumentos de IBITS excede el tamaño de bit en %L"
+
+-#: fortran/simplify.c:1393
++#: fortran/simplify.c:1439
+ #, no-c-format
+ msgid "Invalid second argument of IBSET at %L"
+ msgstr "Segundo argumento de IBSET inválido en %L"
+
+-#: fortran/simplify.c:1401
++#: fortran/simplify.c:1447
+ #, no-c-format
+ msgid "Second argument of IBSET exceeds bit size at %L"
+ msgstr "El segundo argumento de IBSET excede el tamaño de bit en %L"
+
+-#: fortran/simplify.c:1431
++#: fortran/simplify.c:1477
+ #, no-c-format
+ msgid "Argument of ICHAR at %L must be of length one"
+ msgstr "El argumento de ICHAR en %L debe ser de longitud uno"
+
+-#: fortran/simplify.c:1646
++#: fortran/simplify.c:1692
+ #, no-c-format
+ msgid "Argument of INT at %L is not a valid type"
+ msgstr "El argumento de INT en %L no es de un tipo válido"
+
+-#: fortran/simplify.c:1688
++#: fortran/simplify.c:1734
+ #, no-c-format
+ msgid "Argument of %s at %L is not a valid type"
+ msgstr "El argumento de %s en %L no es de un tipo válido"
+
+-#: fortran/simplify.c:1786
++#: fortran/simplify.c:1832
+ #, no-c-format
+ msgid "Invalid second argument of ISHFT at %L"
+ msgstr "Segundo argumento de ISHFT inválido en %L"
+
+-#: fortran/simplify.c:1801
++#: fortran/simplify.c:1847
+ #, no-c-format
+ msgid "Magnitude of second argument of ISHFT exceeds bit size at %L"
+ msgstr "La magnitud del segundo argumento de ISHFT excede el tamaño de bit en %L"
+
+-#: fortran/simplify.c:1865
++#: fortran/simplify.c:1911
+ #, no-c-format
+ msgid "Invalid second argument of ISHFTC at %L"
+ msgstr "Segundo argumento de ISHFTC inválido en %L"
+
+-#: fortran/simplify.c:1879
++#: fortran/simplify.c:1925
+ #, no-c-format
+ msgid "Invalid third argument of ISHFTC at %L"
+ msgstr "Tercer argumento de ISHFTC inválido en %L"
+
+-#: fortran/simplify.c:1885
++#: fortran/simplify.c:1931
+ #, no-c-format
+ msgid "Magnitude of third argument of ISHFTC exceeds BIT_SIZE of first argument at %L"
+ msgstr "La magnitud del tercer argumento de ISHFTC excede el BIT_SIZE del tercer argumento en %L"
+
+-#: fortran/simplify.c:1901
++#: fortran/simplify.c:1947
+ #, no-c-format
+ msgid "Magnitude of second argument of ISHFTC exceeds third argument at %L"
+ msgstr "La magnitud del segundo argumento de ISHFTC excede el tercer argumento en %L"
+
+-#: fortran/simplify.c:1904
++#: fortran/simplify.c:1950
+ #, no-c-format
+ msgid "Magnitude of second argument of ISHFTC exceeds BIT_SIZE of first argument at %L"
+ msgstr "La magnitud del segundo argumento de ISHFTC excede el BIT_SIZE del primer argumento en %L"
+
+-#: fortran/simplify.c:1975
++#: fortran/simplify.c:2021
+ #, no-c-format
+ msgid "Argument of KIND at %L is a DERIVED type"
+ msgstr "El argumento de KIND en %L es un tipo DERIVED"
+
+-#: fortran/simplify.c:2163
++#: fortran/simplify.c:2209
+ #, no-c-format
+ msgid "DIM argument at %L is out of bounds"
+ msgstr "El argumento DIM en %L está fuera de los límites"
+
+-#: fortran/simplify.c:2318
++#: fortran/simplify.c:2364
+ #, no-c-format
+ msgid "Argument of LOG at %L cannot be less than or equal to zero"
+ msgstr "El argumento de LOG en %L no puede ser menor o igual a cero"
+
+-#: fortran/simplify.c:2331
++#: fortran/simplify.c:2377
+ #, no-c-format
+ msgid "Complex argument of LOG at %L cannot be zero"
+ msgstr "El argumento complejo de LOG en %L no puede ser cero"
+
+-#: fortran/simplify.c:2374
++#: fortran/simplify.c:2420
+ #, no-c-format
+ msgid "Argument of LOG10 at %L cannot be less than or equal to zero"
+ msgstr "El argumento de LOG10 en %L no puede ser menor o igual a cero"
+
+ #. Result is processor-dependent.
+-#: fortran/simplify.c:2579
++#: fortran/simplify.c:2628
+ #, no-c-format
+ msgid "Second argument MOD at %L is zero"
+ msgstr "El segundo argumento MOD en %L es cero"
+
+ #. Result is processor-dependent.
+-#: fortran/simplify.c:2590
++#: fortran/simplify.c:2639
+ #, no-c-format
+ msgid "Second argument of MOD at %L is zero"
+ msgstr "El segundo argumento de MOD en %L es cero"
+@@ -10378,82 +10438,87 @@
+ #. Result is processor-dependent. This processor just opts
+ #. to not handle it at all.
+ #. Result is processor-dependent.
+-#: fortran/simplify.c:2638 fortran/simplify.c:2650
++#: fortran/simplify.c:2687 fortran/simplify.c:2699
+ #, no-c-format
+ msgid "Second argument of MODULO at %L is zero"
+ msgstr "El segundo argumento de MODULO en %L es cero"
+
+-#: fortran/simplify.c:2702
++#: fortran/simplify.c:2751
+ #, no-c-format
+ msgid "Second argument of NEAREST at %L shall not be zero"
+ msgstr "El segundo argumento de NEAREST en %L no puede ser cero"
+
+-#: fortran/simplify.c:2977
++#: fortran/simplify.c:2787
+ #, no-c-format
++msgid "Result of NEAREST is NaN at %L"
++msgstr "El resultado de NEAREST es NaN en %L"
++
++#: fortran/simplify.c:3062
++#, no-c-format
+ msgid "Argument NCOPIES of REPEAT intrinsic is negative at %L"
+ msgstr "El argumento NCOPIES del intrínseco REPEAT es negativo en %L"
+
+-#: fortran/simplify.c:3032
++#: fortran/simplify.c:3117
+ #, no-c-format
+ msgid "Argument NCOPIES of REPEAT intrinsic is too large at %L"
+ msgstr "El argumento NCOPIES del intrínseco REPEAT es demasiado grande en %L"
+
+-#: fortran/simplify.c:3122
++#: fortran/simplify.c:3232
+ #, no-c-format
+ msgid "Integer too large in shape specification at %L"
+ msgstr "Entero demasiado grande en la especificación de forma en %L"
+
+-#: fortran/simplify.c:3132
++#: fortran/simplify.c:3242
+ #, no-c-format
+ msgid "Too many dimensions in shape specification for RESHAPE at %L"
+ msgstr "Demasiadas dimensiones en la especificación de forma para RESHAPE en %L"
+
+-#: fortran/simplify.c:3140
++#: fortran/simplify.c:3250
+ #, no-c-format
+ msgid "Shape specification at %L cannot be negative"
+ msgstr "La especificación de forma en %L no puede ser negativa"
+
+-#: fortran/simplify.c:3150
++#: fortran/simplify.c:3260
+ #, no-c-format
+ msgid "Shape specification at %L cannot be the null array"
+ msgstr "La especificación de forma en %L no puede ser la matriz nula"
+
+-#: fortran/simplify.c:3171
++#: fortran/simplify.c:3281
+ #, no-c-format
+ msgid "ORDER parameter of RESHAPE at %L is not the same size as SHAPE parameter"
+ msgstr "El parámetro ORDER de RESHAPE en %L no es del mismo tamaño que el parámetro SHAPE"
+
+-#: fortran/simplify.c:3178
++#: fortran/simplify.c:3288
+ #, no-c-format
+ msgid "Error in ORDER parameter of RESHAPE at %L"
+ msgstr "Error en el parámetro ORDER de RESHAPE en %L"
+
+-#: fortran/simplify.c:3188
++#: fortran/simplify.c:3298
+ #, no-c-format
+ msgid "ORDER parameter of RESHAPE at %L is out of range"
+ msgstr "El parámetro ORDER de RESHAPE en %L está fuera de rango"
+
+-#: fortran/simplify.c:3197
++#: fortran/simplify.c:3307
+ #, no-c-format
+ msgid "Invalid permutation in ORDER parameter at %L"
+ msgstr "Permutación inválida en el parámetro ORDER en %L"
+
+-#: fortran/simplify.c:3253
++#: fortran/simplify.c:3363
+ #, no-c-format
+ msgid "PAD parameter required for short SOURCE parameter at %L"
+ msgstr "Se requiere el parámetro PAD para el parámetro SOURCE corto en %L"
+
+-#: fortran/simplify.c:3372
++#: fortran/simplify.c:3482
+ #, no-c-format
+ msgid "Result of SCALE overflows its kind at %L"
+ msgstr "El resultado de SCALE desborda su género en %L"
+
+-#: fortran/simplify.c:3942
++#: fortran/simplify.c:4056
+ #, no-c-format
+ msgid "Argument of SQRT at %L has a negative value"
+ msgstr "El argumento de SQRT en %L tiene un valor negativo"
+
+-#: fortran/simplify.c:4069
++#: fortran/simplify.c:4190
+ #, no-c-format
+ msgid "Intrinsic TRANSFER at %L has partly undefined result: source size %ld < result size %ld"
+ msgstr "El TRANSFER intrínseco en %L tiene un resultado parcialmente indefinido: tamaño de la fuente %ld < tamaño del resultado %ld"
+@@ -10682,29 +10747,29 @@
+ msgid "Symbol '%s' at %C has already been host associated"
+ msgstr "El símbolo '%s' en %C ya se había asociado con el anfitrión"
+
+-#: fortran/symbol.c:3162
++#: fortran/symbol.c:3189
+ #, no-c-format
+ msgid "Derived type '%s' declared at %L must have the BIND attribute to be C interoperable"
+ msgstr "El tipo derivado '%s' declarado en %L debe tener el atributo BIND para ser interoperable con C"
+
+-#: fortran/symbol.c:3173
++#: fortran/symbol.c:3200
+ #, no-c-format
+ msgid "Derived type '%s' at %L is empty"
+ msgstr "El tipo derivado '%s' en %L está vacío"
+
+-#: fortran/symbol.c:3190
++#: fortran/symbol.c:3217
+ #, no-c-format
+ msgid "Component '%s' at %L cannot have the POINTER attribute because it is a member of the BIND(C) derived type '%s' at %L"
+ msgstr "El componente '%s' en %L no puede tener el atributo POINTER porque es un miembro del tipo derivado BIND(C) '%s' en %L"
+
+-#: fortran/symbol.c:3202
++#: fortran/symbol.c:3229
+ #, no-c-format
+ msgid "Component '%s' at %L cannot have the ALLOCATABLE attribute because it is a member of the BIND(C) derived type '%s' at %L"
+ msgstr "El componente '%s' en %L no puede tener el atributo ALLOCATABLE porque es un miembro del tipo derivado BIND(C) '%s' en %L"
+
+ #. If the derived type is bind(c), all fields must be
+ #. interop.
+-#: fortran/symbol.c:3241
++#: fortran/symbol.c:3268
+ #, no-c-format
+ msgid "Component '%s' in derived type '%s' at %L may not be C interoperable, even though derived type '%s' is BIND(C)"
+ msgstr "El componente '%s' en el tipo derivado '%s' en %L tal vez no es interoperable con C, aún cuando el tipo derivado '%s' es BIND(C)"
+@@ -10712,17 +10777,17 @@
+ #. If derived type is param to bind(c) routine, or to one
+ #. of the iso_c_binding procs, it must be interoperable, so
+ #. all fields must interop too.
+-#: fortran/symbol.c:3250
++#: fortran/symbol.c:3277
+ #, no-c-format
+ msgid "Component '%s' in derived type '%s' at %L may not be C interoperable"
+ msgstr "El componente '%s' en el tipo derivado '%s' en %L tal vez no es interoperable con C"
+
+-#: fortran/symbol.c:3264
++#: fortran/symbol.c:3291
+ #, no-c-format
+ msgid "Derived type '%s' at %L cannot be declared with both PRIVATE and BIND(C) attributes"
+ msgstr "El tipo derivado '%s' en %L no se puede declarar con atributos PRIVATE y BIND(C) al mismo tiempo"
+
+-#: fortran/symbol.c:3272
++#: fortran/symbol.c:3299
+ #, no-c-format
+ msgid "Derived type '%s' at %L cannot have the SEQUENCE attribute because it is BIND(C)"
+ msgstr "El tipo derivado '%s' en %L no puede tener el atributo SEQUENCE porque es BIND(C)"
+@@ -10732,38 +10797,43 @@
+ msgid "Overlapping unequal initializers in EQUIVALENCE at %L"
+ msgstr "Se sobreescriben los inicializadores desiguales en EQUIVALENCE en %L"
+
+-#: fortran/trans-common.c:396
++#: fortran/target-memory.c:635
+ #, no-c-format
++msgid "BOZ constant at %L is too large (%ld vs %ld bits)"
++msgstr "La constante BOZ en %L es demasiado grande (%ld vs %ld bits)"
++
++#: fortran/trans-common.c:399
++#, no-c-format
+ msgid "Named COMMON block '%s' at %L shall be of the same size"
+ msgstr "El bloque COMMON nombrado '%s' en %L debe ser del mismo tamaño"
+
+-#: fortran/trans-common.c:817
++#: fortran/trans-common.c:833
+ #, no-c-format
+ msgid "Bad array reference at %L"
+ msgstr "Referencia de matriz errónea en %L"
+
+-#: fortran/trans-common.c:825
++#: fortran/trans-common.c:841
+ #, no-c-format
+ msgid "Illegal reference type at %L as EQUIVALENCE object"
+ msgstr "Tipo de referencia ilegal en %L como un objeto EQUIVALENCE"
+
+-#: fortran/trans-common.c:865
++#: fortran/trans-common.c:881
+ #, no-c-format
+ msgid "Inconsistent equivalence rules involving '%s' at %L and '%s' at %L"
+ msgstr "Reglas de equivalencia inconsistentes que involucran a '%s' en %L y a '%s' en %L"
+
+ #. Aligning this field would misalign a previous field.
+-#: fortran/trans-common.c:998
++#: fortran/trans-common.c:1014
+ #, no-c-format
+ msgid "The equivalence set for variable '%s' declared at %L violates alignment requirements"
+ msgstr "El conjunto de equivalencia para la variable '%s' declarado en %L viola los requerimientos de alineación"
+
+-#: fortran/trans-common.c:1063
++#: fortran/trans-common.c:1079
+ #, no-c-format
+ msgid "Equivalence for '%s' does not match ordering of COMMON '%s' at %L"
+ msgstr "La equivalencia para '%s' no coincide con el orden del COMMON '%s' en %L"
+
+-#: fortran/trans-common.c:1078
++#: fortran/trans-common.c:1094
+ #, no-c-format
+ msgid "The equivalence set for '%s' cause an invalid extension to COMMON '%s' at %L"
+ msgstr "El conjunto de equivalencia para '%s' causa una extensión inválida al COMMON '%s' en %L"
+@@ -10771,42 +10841,42 @@
+ #. The required offset conflicts with previous alignment
+ #. requirements. Insert padding immediately before this
+ #. segment.
+-#: fortran/trans-common.c:1089
++#: fortran/trans-common.c:1105
+ #, no-c-format
+ msgid "Padding of %d bytes required before '%s' in COMMON '%s' at %L"
+ msgstr "Se requiere el relleno de %d bytes antes de '%s' en el COMMON '%s' en %L"
+
+-#: fortran/trans-common.c:1115
++#: fortran/trans-common.c:1131
+ #, no-c-format
+ msgid "COMMON '%s' at %L does not exist"
+ msgstr "El COMMON '%s' en %L no existe"
+
+-#: fortran/trans-common.c:1122
++#: fortran/trans-common.c:1138
+ #, no-c-format
+ msgid "COMMON '%s' at %L requires %d bytes of padding at start"
+ msgstr "El COMMON '%s' en %L requiere %d bytes de relleno al inicio"
+
+-#: fortran/trans-decl.c:3016
++#: fortran/trans-decl.c:2979
+ #, no-c-format
+ msgid "Dummy argument '%s' 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.c:3020
++#: fortran/trans-decl.c:2983
+ #, no-c-format
+ msgid "Unused dummy argument '%s' at %L"
+ msgstr "Argumento dummy sin uso '%s' en %L"
+
+-#: fortran/trans-decl.c:3026
++#: fortran/trans-decl.c:2989
+ #, no-c-format
+ msgid "Unused variable '%s' declared at %L"
+ msgstr "Se declaró la variable '%s' sin uso en %L"
+
+-#: fortran/trans-decl.c:3052
++#: fortran/trans-decl.c:3015
+ #, no-c-format
+ msgid "Unused parameter '%s' declared at %L"
+ msgstr "Se declaró el parámetro '%s' sin uso en %L"
+
+-#: fortran/trans-expr.c:2036
++#: fortran/trans-expr.c:2199
+ #, no-c-format
+ msgid "Unknown argument list function at %L"
+ msgstr "Lista de argumentos de función desconocida en %L"
+@@ -10816,12 +10886,12 @@
+ msgid "'dim' argument of %s intrinsic at %L is not a valid dimension index"
+ msgstr "el argumento 'dim' del intrínseco '%s' en %L no es un índice de dimensión válido"
+
+-#: fortran/trans-io.c:1850
++#: fortran/trans-io.c:1851
+ #, no-c-format
+ msgid "Derived type '%s' at %L has PRIVATE components"
+ msgstr "El tipo derivado '%s' en %L tiene componentes PRIVATE"
+
+-#: fortran/trans-stmt.c:438
++#: fortran/trans-stmt.c:436
+ #, no-c-format
+ msgid "An alternate return at %L without a * dummy argument"
+ msgstr "Una devolución alternativa en %L sin un argumento dummy *"
+@@ -11044,55 +11114,34 @@
+ msgid "cannot specify 'main' class when not linking"
+ msgstr "no se puede especificar la clase 'main' cuando no se está enlazando"
+
+-#: config/i386/nwld.h:34
+-msgid "Static linking is not supported.\n"
+-msgstr "No se admite enlazado estático.\n"
+-
+-#: java/jvspec.c:80 gcc.c:820 ada/lang-specs.h:33
+-msgid "-pg and -fomit-frame-pointer are incompatible"
+-msgstr "-pg y -fomit-frame-pointer son incompatibles"
+-
+ #: config/vax/netbsd-elf.h:41
+ msgid "the -shared option is not currently supported for VAX ELF"
+ msgstr "la opción -shared no se admite actualmente en ELF de VAX"
+
+-#: config/sparc/sol2-gld-bi.h:17 config/sparc/sol2-gld-bi.h:22
+-#: config/sparc/sol2-bi.h:189 config/sparc/sol2-bi.h:194
+-msgid "does not support multilib"
+-msgstr "no se admite multilib"
+-
+ #: config/vax/vax.h:49 config/vax/vax.h:50
+ msgid "profiling not supported with -mg\n"
+ msgstr "la creación de perfil no se admite con -mg\n"
+
+-#: config/rs6000/linux64.h:347 config/rs6000/linux64.h:349 config/linux.h:106
+-#: config/linux.h:108 config/rs6000/sysv4.h:897 config/rs6000/sysv4.h:899
++#: config/sh/sh.h:461
++msgid "SH2a does not support little-endian"
++msgstr "SH2a no se admite para little-endian"
++
++#: config/s390/tpf.h:119
++msgid "static is not supported on TPF-OS"
++msgstr "static no se admite en TPF-OS"
++
+ #: config/alpha/linux-elf.h:33 config/alpha/linux-elf.h:35
++#: config/rs6000/sysv4.h:897 config/rs6000/sysv4.h:899
+ #: config/sparc/linux.h:126 config/sparc/linux.h:128
+-#: config/sparc/linux64.h:152 config/sparc/linux64.h:154
++#: config/sparc/linux64.h:152 config/sparc/linux64.h:154 config/linux.h:106
++#: config/linux.h:108 config/rs6000/linux64.h:347 config/rs6000/linux64.h:349
+ msgid "-mglibc and -muclibc used together"
+ msgstr "se usaron juntos -mglibc y -muclibc"
+
+-#: config/i386/cygwin.h:28
+-msgid "mno-cygwin and mno-win32 are not compatible"
+-msgstr "-mno-cygwin y -mno-win32 no son compatibles"
++#: java/jvspec.c:80 gcc.c:820 ada/lang-specs.h:33
++msgid "-pg and -fomit-frame-pointer are incompatible"
++msgstr "-pg y -fomit-frame-pointer son incompatibles"
+
+-#: config/i386/cygwin.h:74 config/i386/mingw32.h:74
+-msgid "shared and mdll are not compatible"
+-msgstr "shared y mdll no son compatibles"
+-
+-#: config/i386/sco5.h:188
+-msgid "-pg not supported on this platform"
+-msgstr "-pg no se admite en esta plataforma"
+-
+-#: config/i386/sco5.h:189
+-msgid "-p and -pp specified - pick one"
+-msgstr "se especificó -p y -pp - escoja uno"
+-
+-#: config/i386/sco5.h:258
+-msgid "-G and -static are mutually exclusive"
+-msgstr "-G y -static son mutuamente exclusivos"
+-
+ #: gcc.c:792
+ msgid "GCC does not support -C or -CC without -E"
+ msgstr "GCC no admite -C o -CC sin usar -E"
+@@ -11101,58 +11150,14 @@
+ msgid "-E or -x required when input is from standard input"
+ msgstr "se requiere -E ó -x cuando la entrada es de entrada estándar"
+
+-#: java/lang-specs.h:33
+-msgid "-fjni and -femit-class-files are incompatible"
+-msgstr "-fjni y -femit-class-files son incompatibles"
+-
+-#: java/lang-specs.h:34
+-msgid "-fjni and -femit-class-file are incompatible"
+-msgstr "-fjni y -femit-class-file son incompatibles"
+-
+-#: java/lang-specs.h:35 java/lang-specs.h:36
+-msgid "-femit-class-file should used along with -fsyntax-only"
+-msgstr "-femit-class-file se debe usar junto con -fsyntax-only"
+-
+ #: config/mcore/mcore.h:56
+ msgid "the m210 does not have little endian support"
+ msgstr "el m210 no admite little endian"
+
+-#: config/lynx.h:70
+-msgid "cannot use mthreads and mlegacy-threads together"
+-msgstr "no se pueden usar mthreads y mlegacy-threads juntos"
+-
+-#: config/lynx.h:95
+-msgid "cannot use mshared and static together"
+-msgstr "no se pueden usar mshared y static juntos"
+-
+-#: config/sh/sh.h:461
+-msgid "SH2a does not support little-endian"
+-msgstr "SH2a no se admite para little-endian"
+-
+-#: config/mips/mips.h:1042 config/arc/arc.h:61
++#: config/arc/arc.h:61 config/mips/mips.h:1042
+ msgid "may not use both -EB and -EL"
+ msgstr "no se pueden usar -EB y -EL al mismo tiempo"
+
+-#: config/s390/tpf.h:119
+-msgid "static is not supported on TPF-OS"
+-msgstr "static no se admite en TPF-OS"
+-
+-#: config/rs6000/darwin.h:95
+-msgid " conflicting code gen style switches are used"
+-msgstr " se usan interruptores de estilo de generación de código en conflicto"
+-
+-#: ada/lang-specs.h:34
+-msgid "-c or -S required for Ada"
+-msgstr "se requiere -c o -S para Ada"
+-
+-#: config/mips/r3900.h:34
+-msgid "-mhard-float not supported"
+-msgstr "no se admite -mhard-float"
+-
+-#: config/mips/r3900.h:36
+-msgid "-msingle-float and -msoft-float cannot both be specified"
+-msgstr "no se pueden especificar -msingle-float y -msoft-float al mismo tiempo"
+-
+ #: config/vxworks.h:71
+ msgid "-Xbind-now and -Xbind-lazy are incompatible"
+ msgstr "-Xbind-now y -Xbind-lazy son incompatibles"
+@@ -11189,12 +11194,24 @@
+ msgid "-private_bundle not allowed with -dynamiclib"
+ msgstr "no se permite -private_bundle con -dynamiclib"
+
++#: config/mips/r3900.h:34
++msgid "-mhard-float not supported"
++msgstr "no se admite -mhard-float"
++
++#: config/mips/r3900.h:36
++msgid "-msingle-float and -msoft-float cannot both be specified"
++msgstr "no se pueden especificar -msingle-float y -msoft-float al mismo tiempo"
++
+ #: config/sparc/linux64.h:211 config/sparc/linux64.h:222
+ #: config/sparc/netbsd-elf.h:125 config/sparc/netbsd-elf.h:144
+ #: config/sparc/sol2-bi.h:217 config/sparc/sol2-bi.h:227
+ msgid "may not use both -m32 and -m64"
+ msgstr "no se pueden usar -m32 y -m64 al mismo tiempo"
+
++#: config/i386/mingw32.h:74 config/i386/cygwin.h:74
++msgid "shared and mdll are not compatible"
++msgstr "shared y mdll no son compatibles"
++
+ #: config/arm/arm.h:147
+ msgid "-msoft-float and -mhard_float may not be used together"
+ msgstr "no se pueden usar juntos -msoft-float y -mhard_float"
+@@ -11203,118 +11220,63 @@
+ msgid "-mbig-endian and -mlittle-endian may not be used together"
+ msgstr "no se pueden usar juntos -mbig-endian y -mlittle-endian"
+
+-#: java/lang.opt:65
+-msgid "Warn if a deprecated compiler feature, class, method, or field is used"
+-msgstr "Avisa si se usa una opción de compilador, clase, método o campo obsoletos"
++#: config/rs6000/darwin.h:95
++msgid " conflicting code gen style switches are used"
++msgstr " se usan interruptores de estilo de generación de código en conflicto"
+
+-#: java/lang.opt:69
+-msgid "Warn if deprecated empty statements are found"
+-msgstr "Avisa si se encuentran declaraciones vacías obsoletas"
++#: ada/lang-specs.h:34
++msgid "-c or -S required for Ada"
++msgstr "se requiere -c o -S para Ada"
+
+-#: java/lang.opt:73
+-msgid "Warn if .class files are out of date"
+-msgstr "Avisa si los ficheros .class están desactualizados"
++#: config/sparc/sol2-bi.h:189 config/sparc/sol2-bi.h:194
++#: config/sparc/sol2-gld-bi.h:17 config/sparc/sol2-gld-bi.h:22
++msgid "does not support multilib"
++msgstr "no se admite multilib"
+
+-#: java/lang.opt:77
+-msgid "Warn if modifiers are specified when not necessary"
+-msgstr "Avisa si se especifican modificadores cuando no son necesarios"
++#: config/i386/nwld.h:34
++msgid "Static linking is not supported.\n"
++msgstr "No se admite enlazado estático.\n"
+
+-#: java/lang.opt:81
+-msgid "Deprecated; use --classpath instead"
+-msgstr "Obsoleto; use en su lugar --classpath"
++#: config/i386/cygwin.h:28
++msgid "mno-cygwin and mno-win32 are not compatible"
++msgstr "-mno-cygwin y -mno-win32 no son compatibles"
+
+-#: java/lang.opt:88
+-msgid "Permit the use of the assert keyword"
+-msgstr "Permite el uso de la palabra clave assert"
++#: config/i386/sco5.h:188
++msgid "-pg not supported on this platform"
++msgstr "-pg no se admite en esta plataforma"
+
+-#: java/lang.opt:110
+-msgid "Replace system path"
+-msgstr "Reemplaza la ruta del sistema"
++#: config/i386/sco5.h:189
++msgid "-p and -pp specified - pick one"
++msgstr "se especificó -p y -pp - escoja uno"
+
+-#: java/lang.opt:114
+-msgid "Generate checks for references to NULL"
+-msgstr "Genera revisiones para referencias a NULL"
++#: config/i386/sco5.h:258
++msgid "-G and -static are mutually exclusive"
++msgstr "-G y -static son mutuamente exclusivos"
+
+-#: java/lang.opt:118
+-msgid "Set class path"
+-msgstr "Establece la ruta de clases"
++#: java/lang-specs.h:33
++msgid "-fjni and -femit-class-files are incompatible"
++msgstr "-fjni y -femit-class-files son incompatibles"
+
+-#: java/lang.opt:125
+-msgid "Output a class file"
+-msgstr "Genera un fichero clase como salida"
++#: java/lang-specs.h:34
++msgid "-fjni and -femit-class-file are incompatible"
++msgstr "-fjni y -femit-class-file son incompatibles"
+
+-#: java/lang.opt:129
+-msgid "Alias for -femit-class-file"
+-msgstr "Alias para -femit-class-file"
++#: java/lang-specs.h:35 java/lang-specs.h:36
++msgid "-femit-class-file should used along with -fsyntax-only"
++msgstr "-femit-class-file se debe usar junto con -fsyntax-only"
+
+-#: java/lang.opt:133
+-msgid "Choose input encoding (defaults from your locale)"
+-msgstr "Escoge la codificación de entrada (por defecto viene del local)"
++#: config/cris/cris.h:207
++msgid "Do not specify both -march=... and -mcpu=..."
++msgstr "no se pueden especificar -march=... y -mcpu=... al mismo tiempo"
+
+-#: java/lang.opt:137
+-msgid "Set the extension directory path"
+-msgstr "Establece la ruta del directorio de extensiones"
++#: config/lynx.h:70
++msgid "cannot use mthreads and mlegacy-threads together"
++msgstr "no se pueden usar mthreads y mlegacy-threads juntos"
+
+-#: java/lang.opt:144
+-msgid "Input file is a file with a list of filenames to compile"
+-msgstr "El fichero de entrada es un fichero con la lista de nombres de fichero a compilar"
++#: config/lynx.h:95
++msgid "cannot use mshared and static together"
++msgstr "no se pueden usar mshared y static juntos"
+
+-#: java/lang.opt:151
+-msgid "Always check for non gcj generated classes archives"
+-msgstr "Revisa siempre por archivos de clases no generados por gcj"
+-
+-#: java/lang.opt:155
+-msgid "Assume the runtime uses a hash table to map an object to its synchronization structure"
+-msgstr "Asume que el tiempo de ejecución usa una tabla hash para mapear un objeto a su estructura de sincronización"
+-
+-#: java/lang.opt:159
+-msgid "Generate instances of Class at runtime"
+-msgstr "Genera instancias de Class en tiempo de ejecución"
+-
+-#: java/lang.opt:163
+-msgid "Use offset tables for virtual method calls"
+-msgstr "Utiliza tablas de desplazamiento para llamadas a métodos virtuales"
+-
+-#: java/lang.opt:170
+-msgid "Assume native functions are implemented using JNI"
+-msgstr "Asume que las funciones nativas se implementan usando JNI"
+-
+-#: java/lang.opt:174
+-msgid "Enable optimization of static class initialization code"
+-msgstr "Activa la optimización del código de inicialización de las clases static"
+-
+-#: java/lang.opt:181
+-msgid "Reduce the amount of reflection meta-data generated"
+-msgstr "Reduce la cantidad de metadatos de reflexión generados"
+-
+-#: java/lang.opt:185
+-msgid "Enable assignability checks for stores into object arrays"
+-msgstr "Activa revisiones de asignabilidad para almacenamientos en matrices de objetos"
+-
+-#: java/lang.opt:189
+-msgid "Generate code for the Boehm GC"
+-msgstr "Genera código para el GC de Boehm"
+-
+-#: java/lang.opt:193
+-msgid "Call a library routine to do integer divisions"
+-msgstr "Llama a una rutina de biblioteca para hacer divisiones enteras"
+-
+-#: java/lang.opt:197
+-msgid "Generated should be loaded by bootstrap loader"
+-msgstr "El generado se debe cargar con el cargador de arranque"
+-
+-#: java/lang.opt:201
+-msgid "Set the source language version"
+-msgstr "Establece la versión del lenguaje fuente"
+-
+-#: java/lang.opt:205
+-msgid "Set the target VM version"
+-msgstr "Establece la versión de la MV destino"
+-
+-#: ada/lang.opt:96
+-msgid "Specify options to GNAT"
+-msgstr "Especifica opciones a GNAT"
+-
+ #: fortran/lang.opt:29
+ msgid "Add a directory for INCLUDE and MODULE searching"
+ msgstr "Agrega un directorio para la búsqueda de INCLUDE y MODULE"
+@@ -11555,7 +11517,7 @@
+ msgid "Append a second underscore if the name already contains an underscore"
+ msgstr "Agrega un segundo guión bajo si el nombre ya tiene un guión bajo"
+
+-#: fortran/lang.opt:277 c.opt:714
++#: fortran/lang.opt:277 c.opt:718
+ msgid "Use the narrowest integer type possible for enumeration types"
+ msgstr "Usa el tipo entero más estrecho posible para tipos de enumeración"
+
+@@ -11587,14 +11549,62 @@
+ msgid "Accept extensions to support legacy code"
+ msgstr "Acepta las extensiones para dar soporte a código de legado"
+
+-#: treelang/lang.opt:30
+-msgid "Trace lexical analysis"
+-msgstr "Rastrea el análisis léxico"
++#: config/mcore/mcore.opt:23
++msgid "Generate code for the M*Core M210"
++msgstr "Genera código para el M*Core M210"
+
+-#: treelang/lang.opt:34
+-msgid "Trace the parsing process"
+-msgstr "Rastrea el proceso de decodificación"
++#: config/mcore/mcore.opt:27
++msgid "Generate code for the M*Core M340"
++msgstr "Genera código para el M*Core M340"
+
++#: config/mcore/mcore.opt:31
++msgid "Set maximum alignment to 4"
++msgstr "Establece la alineación máxima a 4"
++
++#: config/mcore/mcore.opt:35
++msgid "Force functions to be aligned to a 4 byte boundary"
++msgstr "Fuerza que las funciones se alineen a un límite de 4 byte"
++
++#: config/mcore/mcore.opt:39
++msgid "Set maximum alignment to 8"
++msgstr "Establece la alineación máxima a 8"
++
++#: config/mcore/mcore.opt:43 config/score/score.opt:23
++msgid "Generate big-endian code"
++msgstr "Genera código big-endian"
++
++#: config/mcore/mcore.opt:47
++msgid "Emit call graph information"
++msgstr "Emite información de grafo de llamadas"
++
++#: config/mcore/mcore.opt:51
++msgid "Use the divide instruction"
++msgstr "Usa la instrucción divide"
++
++#: config/mcore/mcore.opt:55
++msgid "Inline constants if it can be done in 2 insns or less"
++msgstr "Incluye constantes en línea si se pueden hacer en 2 insns o menos"
++
++#: config/mcore/mcore.opt:59 config/score/score.opt:27
++msgid "Generate little-endian code"
++msgstr "Genera código little-endian"
++
++#: config/mcore/mcore.opt:67
++msgid "Use arbitrary sized immediates in bit operations"
++msgstr "Usa inmediatos de tamaños arbitrarios en operaciones de bit"
++
++#: config/mcore/mcore.opt:71
++msgid "Prefer word accesses over byte accesses"
++msgstr "Prefiere accesos word sobre accessos byte"
++
++#: config/mcore/mcore.opt:75
++msgid "Set the maximum amount for a single stack increment operation"
++msgstr "Establece la cantidad máxima para una sola operación de incremento de pila"
++
++#: config/mcore/mcore.opt:79
++msgid "Always treat bitfields as int-sized"
++msgstr "Trata siempre a los campos de bit como de tamaño int"
++
+ #: config/alpha/alpha.opt:23 config/i386/i386.opt:155
+ msgid "Do not use hardware fp"
+ msgstr "No usa fp de hardware"
+@@ -11710,268 +11720,6 @@
+ msgid "Specify bit size of immediate TLS offsets"
+ msgstr "Especifica el tamaño de bit para los desplazamientos TLS inmediatos"
+
+-#: config/frv/frv.opt:23
+-msgid "Use 4 media accumulators"
+-msgstr "Usa 4 acumuladores de medios"
+-
+-#: config/frv/frv.opt:27
+-msgid "Use 8 media accumulators"
+-msgstr "Usa 8 acumuladores de medios"
+-
+-#: config/frv/frv.opt:31
+-msgid "Enable label alignment optimizations"
+-msgstr "Activa las optimizaciones de alienación de etiquetas"
+-
+-#: config/frv/frv.opt:35
+-msgid "Dynamically allocate cc registers"
+-msgstr "Asigna dinámicamente los registros cc"
+-
+-#: config/frv/frv.opt:42
+-msgid "Set the cost of branches"
+-msgstr "Establece el costo de las ramificaciones"
+-
+-#: config/frv/frv.opt:46
+-msgid "Enable conditional execution other than moves/scc"
+-msgstr "Establece la ejecución condicional en lugar de moves/scc"
+-
+-#: config/frv/frv.opt:50
+-msgid "Change the maximum length of conditionally-executed sequences"
+-msgstr "Cambia la longitud máxima de las secuencias ejecutadas condicionalmente"
+-
+-#: config/frv/frv.opt:54
+-msgid "Change the number of temporary registers that are available to conditionally-executed sequences"
+-msgstr "Cambia el número de registros temporales disponibles para secuencias ejecutadas condicionalmente"
+-
+-#: config/frv/frv.opt:58
+-msgid "Enable conditional moves"
+-msgstr "Activa moves condicionales"
+-
+-#: config/frv/frv.opt:62
+-msgid "Set the target CPU type"
+-msgstr "Especifica el tipo del CPU destino"
+-
+-#: config/frv/frv.opt:84
+-msgid "Use fp double instructions"
+-msgstr "Usa instrucciones fp double"
+-
+-#: config/frv/frv.opt:88
+-msgid "Change the ABI to allow double word insns"
+-msgstr "Cambia la ABI para permitir instrucciones double word"
+-
+-#: config/frv/frv.opt:92 config/bfin/bfin.opt:73
+-msgid "Enable Function Descriptor PIC mode"
+-msgstr "Activa el modo de Descriptor de Función PIC"
+-
+-#: config/frv/frv.opt:96
+-msgid "Just use icc0/fcc0"
+-msgstr "Usa solamente icc0/fcc0"
+-
+-#: config/frv/frv.opt:100
+-msgid "Only use 32 FPRs"
+-msgstr "Usa solamente 32 FPRs"
+-
+-#: config/frv/frv.opt:104
+-msgid "Use 64 FPRs"
+-msgstr "Usa 64 FPRs"
+-
+-#: config/frv/frv.opt:108
+-msgid "Only use 32 GPRs"
+-msgstr "Usa solamente 32 GPRs"
+-
+-#: config/frv/frv.opt:112
+-msgid "Use 64 GPRs"
+-msgstr "Usa 64 GPRs"
+-
+-#: config/frv/frv.opt:116
+-msgid "Enable use of GPREL for read-only data in FDPIC"
+-msgstr "Activa el uso de GPREL para datos de sólo lectura en FDPIC"
+-
+-#: config/frv/frv.opt:120 config/rs6000/rs6000.opt:112
+-#: config/pdp11/pdp11.opt:71
+-msgid "Use hardware floating point"
+-msgstr "Usa coma flotante de hardware"
+-
+-#: config/frv/frv.opt:124 config/bfin/bfin.opt:77
+-msgid "Enable inlining of PLT in function calls"
+-msgstr "Activa la inclusión en línea de PLT en las llamadas a función"
+-
+-#: config/frv/frv.opt:128
+-msgid "Enable PIC support for building libraries"
+-msgstr "Activa el soporte PIC para construir bibliotecas"
+-
+-#: config/frv/frv.opt:132
+-msgid "Follow the EABI linkage requirements"
+-msgstr "Sigue los requerimientos de enlace de EABI"
+-
+-#: config/frv/frv.opt:136
+-msgid "Disallow direct calls to global functions"
+-msgstr "Desactiva las llamdas directas a funciones globales"
+-
+-#: config/frv/frv.opt:140
+-msgid "Use media instructions"
+-msgstr "Usa instrucciones de medios"
+-
+-#: config/frv/frv.opt:144
+-msgid "Use multiply add/subtract instructions"
+-msgstr "Usa instrucciones acumular/sustraer de multiplicar"
+-
+-#: config/frv/frv.opt:148
+-msgid "Enable optimizing &&/|| in conditional execution"
+-msgstr "Activa la optimización &&/|| en la ejecución condicional"
+-
+-#: config/frv/frv.opt:152
+-msgid "Enable nested conditional execution optimizations"
+-msgstr "Activa las optimizaciones de ejecución condicional anidada"
+-
+-#: config/frv/frv.opt:157
+-msgid "Do not mark ABI switches in e_flags"
+-msgstr "No marca las opciones ABI en e_flags"
+-
+-#: config/frv/frv.opt:161
+-msgid "Remove redundant membars"
+-msgstr "Remueve miembros redundantes"
+-
+-#: config/frv/frv.opt:165
+-msgid "Pack VLIW instructions"
+-msgstr "Empaca las instrucciones VLIW"
+-
+-#: config/frv/frv.opt:169
+-msgid "Enable setting GPRs to the result of comparisons"
+-msgstr "Permite establecer los GPRs al resultado de las comparaciones"
+-
+-#: config/frv/frv.opt:173
+-msgid "Change the amount of scheduler lookahead"
+-msgstr "Cambia la cantidad de vista hacia adelante del calendarizador"
+-
+-#: config/frv/frv.opt:177 config/pa/pa.opt:104
+-msgid "Use software floating point"
+-msgstr "Usa coma flotante de software"
+-
+-#: config/frv/frv.opt:181
+-msgid "Assume a large TLS segment"
+-msgstr "Asume un segmento TLS grande"
+-
+-#: config/frv/frv.opt:185
+-msgid "Do not assume a large TLS segment"
+-msgstr "No asume un segmento TLS grande"
+-
+-#: config/frv/frv.opt:190
+-msgid "Cause gas to print tomcat statistics"
+-msgstr "Causa que gas muestre estadísticas de tomcat"
+-
+-#: config/frv/frv.opt:195
+-msgid "Link with the library-pic libraries"
+-msgstr "Enlaza con las bibliotecas de pic de biblioteca"
+-
+-#: config/frv/frv.opt:199
+-msgid "Allow branches to be packed with other instructions"
+-msgstr "Permite que las ramificaciones se empaquen con otras instrucciones"
+-
+-#: config/mn10300/mn10300.opt:23
+-msgid "Target the AM33 processor"
+-msgstr "Apunta al procesador AM33"
+-
+-#: config/mn10300/mn10300.opt:27
+-msgid "Target the AM33/2.0 processor"
+-msgstr "Apunta al procesador AM33/2.0"
+-
+-#: config/mn10300/mn10300.opt:31
+-msgid "Work around hardware multiply bug"
+-msgstr "Evita el bicho de multiplicación de hardware"
+-
+-#: config/mn10300/mn10300.opt:36
+-msgid "Enable linker relaxations"
+-msgstr "Activa la relajación del enlazador"
+-
+-#: config/mn10300/mn10300.opt:40
+-msgid "Return pointers in both a0 and d0"
+-msgstr "Devuelve punteros tanto en a0 como en d0"
+-
+-#: config/s390/tpf.opt:23
+-msgid "Enable TPF-OS tracing code"
+-msgstr "Activa el código de rastreo TPF-OS"
+-
+-#: config/s390/tpf.opt:27
+-msgid "Specify main object for TPF-OS"
+-msgstr "Especifica el objeto principal para TPF-OS"
+-
+-#: config/s390/s390.opt:23
+-msgid "31 bit ABI"
+-msgstr "ABI de 31 bit"
+-
+-#: config/s390/s390.opt:27
+-msgid "64 bit ABI"
+-msgstr "ABI de 64 bit"
+-
+-#: config/s390/s390.opt:31 config/i386/i386.opt:59 config/spu/spu.opt:60
+-msgid "Generate code for given CPU"
+-msgstr "Genera código para el CPU dado"
+-
+-#: config/s390/s390.opt:35
+-msgid "Maintain backchain pointer"
+-msgstr "Mantiene el puntero a la cadena hacia atrás"
+-
+-#: config/s390/s390.opt:39
+-msgid "Additional debug prints"
+-msgstr "Impresiones adicionales de depuración"
+-
+-#: config/s390/s390.opt:43
+-msgid "ESA/390 architecture"
+-msgstr "Arquitectura ESA/390"
+-
+-#: config/s390/s390.opt:47
+-msgid "Enable fused multiply/add instructions"
+-msgstr "Activa las instrucciones multiply/add de corto circuito"
+-
+-#: config/s390/s390.opt:51
+-msgid "Enable decimal floating point hardware support"
+-msgstr "Admite la coma flotante decimal de hardware"
+-
+-#: config/s390/s390.opt:55
+-msgid "Enable hardware floating point"
+-msgstr "Activa coma flotante de hardware"
+-
+-#: config/s390/s390.opt:67
+-msgid "Use packed stack layout"
+-msgstr "Usa la disposición de pila empacada"
+-
+-#: config/s390/s390.opt:71
+-msgid "Use bras for executable < 64k"
+-msgstr "Usa bras para el ejecutable < 64k"
+-
+-#: config/s390/s390.opt:75
+-msgid "Disable hardware floating point"
+-msgstr "Desactiva la coma flotante de hardware"
+-
+-#: config/s390/s390.opt:79
+-msgid "Set the max. number of bytes which has to be left to stack size before a trap instruction is triggered"
+-msgstr "Establece el número máximo de bytes que se deben dejar en el tamaño de la pila antes de que se active una instrucción trap"
+-
+-#: config/s390/s390.opt:83
+-msgid "Emit extra code in the function prologue in order to trap if the stack size exceeds the given limit"
+-msgstr "Emite código extra en el prólogo de la función para atrapar en caso de que el tamaño de la pila exceda el límite dado"
+-
+-#: config/s390/s390.opt:87 config/ia64/ia64.opt:97 config/sparc/sparc.opt:95
+-#: config/i386/i386.opt:183 config/rs6000/rs6000.opt:226 config/spu/spu.opt:64
+-msgid "Schedule code for given CPU"
+-msgstr "Código de calendarizador para el CPU dado"
+-
+-#: config/s390/s390.opt:91
+-msgid "mvcle use"
+-msgstr "uso de mvcle"
+-
+-#: config/s390/s390.opt:95
+-msgid "Warn if a function uses alloca or creates an array with dynamic size"
+-msgstr "Avisa si una función usa alloca o crea una matriz de tamaño dinámico"
+-
+-#: config/s390/s390.opt:99
+-msgid "Warn if a single function's framesize exceeds the given framesize"
+-msgstr "Avisa si el tamaño de marco de una sola función excede el tamaño de marco dado"
+-
+-#: config/s390/s390.opt:103
+-msgid "z/Architecture"
+-msgstr "z/Architecture"
+-
+ #: config/ia64/ilp32.opt:3
+ msgid "Generate ILP32 code"
+ msgstr "Genera código ILP32"
+@@ -12060,10 +11808,16 @@
+ msgid "Enable earlier placing stop bits for better scheduling"
+ msgstr "Activa la ubicación temprana de bits de paro para mejor calendarización"
+
+-#: config/ia64/ia64.opt:89 config/spu/spu.opt:56 config/pa/pa.opt:51
++#: config/ia64/ia64.opt:89 config/pa/pa.opt:51 config/spu/spu.opt:56
+ msgid "Specify range of registers to make fixed"
+ msgstr "Especifica el rango de registros a convertir en fijos"
+
++#: config/ia64/ia64.opt:97 config/i386/i386.opt:183
++#: config/rs6000/rs6000.opt:226 config/spu/spu.opt:64 config/s390/s390.opt:87
++#: config/sparc/sparc.opt:95
++msgid "Schedule code for given CPU"
++msgstr "Código de calendarizador para el CPU dado"
++
+ #: config/ia64/ia64.opt:101
+ msgid "Use data speculation before reload"
+ msgstr "Usa la especulación de datos antes de recargar"
+@@ -12112,335 +11866,297 @@
+ msgid "Count speculative dependencies while calculating priority of instructions"
+ msgstr "Cuenta las dependencias especulativas mientras se calcula la prioridad de las instrucciones"
+
+-#: config/m32c/m32c.opt:24 config/bfin/bfin.opt:23 config/mt/mt.opt:27
+-msgid "Use simulator runtime"
+-msgstr "Usa el simulador de tiempo de ejecución"
++#: config/xtensa/xtensa.opt:23
++msgid "Use CONST16 instruction to load constants"
++msgstr "Usa la instrucción CONST16 para cargar constantes"
+
+-#: config/m32c/m32c.opt:28
+-msgid "Compile code for R8C variants"
+-msgstr "Compila código para variantes R8C"
++#: config/xtensa/xtensa.opt:27
++msgid "Enable fused multiply/add and multiply/subtract FP instructions"
++msgstr "Activa las instrucciones FP multiply/add y multiply/substract de corto circuito"
+
+-#: config/m32c/m32c.opt:32
+-msgid "Compile code for M16C variants"
+-msgstr "Compila código para variantes M16C"
++#: config/xtensa/xtensa.opt:31
++msgid "Use indirect CALLXn instructions for large programs"
++msgstr "Usa las instrucciones CALLXn indirectas para programas grandes"
+
+-#: config/m32c/m32c.opt:36
+-msgid "Compile code for M32CM variants"
+-msgstr "Compila código para variantes M32CM"
++#: config/xtensa/xtensa.opt:35
++msgid "Automatically align branch targets to reduce branch penalties"
++msgstr "Alínea automáticamente los objetivos de las ramificaciones para reducir las penas de ramificación"
+
+-#: config/m32c/m32c.opt:40
+-msgid "Compile code for M32C variants"
+-msgstr "Compila código para variantes M32C"
++#: config/xtensa/xtensa.opt:39
++msgid "Intersperse literal pools with code in the text section"
++msgstr "Dispersa los conjuntos de literales con código en la sección de texto"
+
+-#: config/m32c/m32c.opt:44
+-msgid "Number of memreg bytes (default: 16, range: 0..16)"
+-msgstr "Número de bytes de memreg (por defecto: 16, rango: 0..16)"
++#: config/pa/pa.opt:23 config/pa/pa.opt:76 config/pa/pa.opt:84
++msgid "Generate PA1.0 code"
++msgstr "Genera código PA1.0"
+
+-#: config/sparc/little-endian.opt:23
+-msgid "Generate code for little-endian"
+-msgstr "Genera código para little-endian"
++#: config/pa/pa.opt:27 config/pa/pa.opt:88 config/pa/pa.opt:108
++msgid "Generate PA1.1 code"
++msgstr "Genera código PA1.1"
+
+-#: config/sparc/little-endian.opt:27
+-msgid "Generate code for big-endian"
+-msgstr "Genera código para big-endian"
++#: config/pa/pa.opt:31 config/pa/pa.opt:92
++msgid "Generate PA2.0 code (requires binutils 2.10 or later)"
++msgstr "Genera código PA2.0 (requiere binutils 2.10 o superior)"
+
+-#: config/sparc/sparc.opt:23 config/sparc/sparc.opt:27
+-msgid "Use hardware FP"
+-msgstr "Usa FP de hardware"
++#: config/pa/pa.opt:35
++msgid "Generate code for huge switch statements"
++msgstr "Genera código para declaraciones switch huge"
+
+-#: config/sparc/sparc.opt:31
+-msgid "Do not use hardware FP"
+-msgstr "No usa FP de hardware"
++#: config/pa/pa.opt:39
++msgid "Disable FP regs"
++msgstr "Desactiva los registros FP"
+
+-#: config/sparc/sparc.opt:35
+-msgid "Assume possible double misalignment"
+-msgstr "Asume que la desalineación de double es posible"
++#: config/pa/pa.opt:43
++msgid "Disable indexed addressing"
++msgstr "Desactiva el direccionamiento indizado"
+
+-#: config/sparc/sparc.opt:39
+-msgid "Pass -assert pure-text to linker"
+-msgstr "Pasa el texto puro de -assert al enlazador"
++#: config/pa/pa.opt:47
++msgid "Generate fast indirect calls"
++msgstr "Genera llamadas indirectas rápidas"
+
+-#: config/sparc/sparc.opt:43
+-msgid "Use ABI reserved registers"
+-msgstr "Usa los registros ABI reservados"
++#: config/pa/pa.opt:55
++msgid "Assume code will be assembled by GAS"
++msgstr "Asume que el código será ensamblado por GAS"
+
+-#: config/sparc/sparc.opt:47
+-msgid "Use hardware quad FP instructions"
+-msgstr "Usa instrucciones de FP quad de hardware"
++# config/pa/pa.h:236
++#: config/pa/pa.opt:59
++msgid "Put jumps in call delay slots"
++msgstr "Pone saltos en ranuras de retardo de llamadas"
+
+-#: config/sparc/sparc.opt:51
+-msgid "Do not use hardware quad fp instructions"
+-msgstr "No usa instrucciones de fp quad de hardware"
++#: config/pa/pa.opt:64
++msgid "Enable linker optimizations"
++msgstr "Activa las optimizaciones del enlazador"
+
+-#: config/sparc/sparc.opt:55
+-msgid "Compile for V8+ ABI"
+-msgstr "Compila para el ABI V8+"
++#: config/pa/pa.opt:68
++msgid "Always generate long calls"
++msgstr "Genera siempre llamadas long"
+
+-#: config/sparc/sparc.opt:59
+-msgid "Use UltraSPARC Visual Instruction Set extensions"
+-msgstr "Usa la extensión del Conjunto de Instrucciones Visuales de UltraSPARC"
++#: config/pa/pa.opt:72
++msgid "Emit long load/store sequences"
++msgstr "Emite secuencias load/store long"
+
+-#: config/sparc/sparc.opt:63
+-msgid "Pointers are 64-bit"
+-msgstr "Los punteros son de 64-bit"
++#: config/pa/pa.opt:80
++msgid "Disable space regs"
++msgstr "Desactiva los registros de espacio"
+
+-#: config/sparc/sparc.opt:67
+-msgid "Pointers are 32-bit"
+-msgstr "Los punteros son de 32-bit"
++#: config/pa/pa.opt:96
++msgid "Use portable calling conventions"
++msgstr "Usa convenciones de llamada transportable"
+
+-#: config/sparc/sparc.opt:71
+-msgid "Use 64-bit ABI"
+-msgstr "Usa la ABI de 64-bit"
++#: config/pa/pa.opt:100
++msgid "Specify CPU for scheduling purposes. Valid arguments are 700, 7100, 7100LC, 7200, 7300, and 8000"
++msgstr "Especifica el CPU por razones de calendarización. Los argumentos válidos son 700, 7100, 7100LC, 7200, 7300, y 8000"
+
+-#: config/sparc/sparc.opt:75
+-msgid "Use 32-bit ABI"
+-msgstr "Usa la ABI de 32-bit"
++#: config/pa/pa.opt:104 config/frv/frv.opt:177
++msgid "Use software floating point"
++msgstr "Usa coma flotante de software"
+
+-#: config/sparc/sparc.opt:79
+-msgid "Use stack bias"
+-msgstr "Usa la tendencia de la pila"
++#: config/pa/pa.opt:112
++msgid "Do not disable space regs"
++msgstr "No desactiva los registros de espacio"
+
+-#: config/sparc/sparc.opt:83
+-msgid "Use structs on stronger alignment for double-word copies"
+-msgstr "Usa structs en la alineación más fuerte para copias double-word"
++#: config/pa/pa-hpux1111.opt:23 config/pa/pa-hpux1010.opt:23
++#: config/pa/pa-hpux.opt:27
++msgid "Specify UNIX standard for predefines and linking"
++msgstr "Especifica el estándar UNIX para las predefiniciones y enlazado"
+
+-#: config/sparc/sparc.opt:87
+-msgid "Optimize tail call instructions in assembler and linker"
+-msgstr "Optimiza las instrucciones de la llamada del extremo en el ensamblador y el enlazador"
++#: config/pa/pa64-hpux.opt:23
++msgid "Assume code will be linked by GNU ld"
++msgstr "Asume que el código será enlazado por ld de GNU"
+
+-#: config/sparc/sparc.opt:91 config/rs6000/rs6000.opt:222
+-msgid "Use features of and schedule code for given CPU"
+-msgstr "Usa las características y el código de calendarizador para el CPU dado"
++#: config/pa/pa64-hpux.opt:27
++msgid "Assume code will be linked by HP ld"
++msgstr "Asume que el código será enlazado por ld de HP"
+
+-#: config/sparc/sparc.opt:99
+-msgid "Use given SPARC-V9 code model"
+-msgstr "Usa el modelo de código del SPARC-V9 dado"
++#: config/pa/pa-hpux.opt:23
++msgid "Generate cpp defines for server IO"
++msgstr "Genera definiciones cpp para ES de servidor"
+
+-#: config/sparc/sparc.opt:103
+-msgid "Enable strict 32-bit psABI struct return checking."
+-msgstr "Permite la revisión de devolución de struct psABI de 32 bits estricta."
++#: config/pa/pa-hpux.opt:31
++msgid "Generate cpp defines for workstation IO"
++msgstr "Genera definiciones cpp para ES de estación de trabajo"
+
+-#: config/m32r/m32r.opt:23
+-msgid "Compile for the m32rx"
+-msgstr "Compila para el m32rx"
++#: config/frv/frv.opt:23
++msgid "Use 4 media accumulators"
++msgstr "Usa 4 acumuladores de medios"
+
+-#: config/m32r/m32r.opt:27
+-msgid "Compile for the m32r2"
+-msgstr "Compila para el m32r2"
++#: config/frv/frv.opt:27
++msgid "Use 8 media accumulators"
++msgstr "Usa 8 acumuladores de medios"
+
+-#: config/m32r/m32r.opt:31
+-msgid "Compile for the m32r"
+-msgstr "Compila para el m32r"
++#: config/frv/frv.opt:31
++msgid "Enable label alignment optimizations"
++msgstr "Activa las optimizaciones de alienación de etiquetas"
+
+-#: config/m32r/m32r.opt:35
+-msgid "Align all loops to 32 byte boundary"
+-msgstr "Alínea todos los ciclos al límite de 32 byte"
++#: config/frv/frv.opt:35
++msgid "Dynamically allocate cc registers"
++msgstr "Asigna dinámicamente los registros cc"
+
+-#: config/m32r/m32r.opt:39
+-msgid "Prefer branches over conditional execution"
+-msgstr "Prefiere las ramas sobre la ejecución condicional"
++#: config/frv/frv.opt:42
++msgid "Set the cost of branches"
++msgstr "Establece el costo de las ramificaciones"
+
+-#: config/m32r/m32r.opt:43
+-msgid "Give branches their default cost"
+-msgstr "Da a las ramificaciones su costo por defecto"
++#: config/frv/frv.opt:46
++msgid "Enable conditional execution other than moves/scc"
++msgstr "Establece la ejecución condicional en lugar de moves/scc"
+
+-#: config/m32r/m32r.opt:47
+-msgid "Display compile time statistics"
+-msgstr "Muestra estadísticas de tiempo de compilación"
++#: config/frv/frv.opt:50
++msgid "Change the maximum length of conditionally-executed sequences"
++msgstr "Cambia la longitud máxima de las secuencias ejecutadas condicionalmente"
+
+-#: config/m32r/m32r.opt:51
+-msgid "Specify cache flush function"
+-msgstr "Especifica la función de limpieza de caché"
++#: config/frv/frv.opt:54
++msgid "Change the number of temporary registers that are available to conditionally-executed sequences"
++msgstr "Cambia el número de registros temporales disponibles para secuencias ejecutadas condicionalmente"
+
+-#: config/m32r/m32r.opt:55
+-msgid "Specify cache flush trap number"
+-msgstr "Especifica el número de trampa de limpieza de caché"
++#: config/frv/frv.opt:58
++msgid "Enable conditional moves"
++msgstr "Activa moves condicionales"
+
+-#: config/m32r/m32r.opt:59
+-msgid "Only issue one instruction per cycle"
+-msgstr "Sólo ejecuta una instrucción por ciclo"
++#: config/frv/frv.opt:62
++msgid "Set the target CPU type"
++msgstr "Especifica el tipo del CPU destino"
+
+-#: config/m32r/m32r.opt:63
+-msgid "Allow two instructions to be issued per cycle"
+-msgstr "Permite que se ejecuten dos instrucciones por ciclo"
++#: config/frv/frv.opt:84
++msgid "Use fp double instructions"
++msgstr "Usa instrucciones fp double"
+
+-#: config/m32r/m32r.opt:67
+-msgid "Code size: small, medium or large"
+-msgstr "Tamaño del código: small, medium o large"
++#: config/frv/frv.opt:88
++msgid "Change the ABI to allow double word insns"
++msgstr "Cambia la ABI para permitir instrucciones double word"
+
+-#: config/m32r/m32r.opt:71
+-msgid "Don't call any cache flush functions"
+-msgstr "No llama a ninguna función de limpieza de caché"
++#: config/frv/frv.opt:92 config/bfin/bfin.opt:73
++msgid "Enable Function Descriptor PIC mode"
++msgstr "Activa el modo de Descriptor de Función PIC"
+
+-#: config/m32r/m32r.opt:75
+-msgid "Don't call any cache flush trap"
+-msgstr "No llama a ninguna trampa de limpieza de caché"
++#: config/frv/frv.opt:96
++msgid "Just use icc0/fcc0"
++msgstr "Usa solamente icc0/fcc0"
+
+-#: config/m32r/m32r.opt:82
+-msgid "Small data area: none, sdata, use"
+-msgstr "Área de datos small: none, sdata, use"
++#: config/frv/frv.opt:100
++msgid "Only use 32 FPRs"
++msgstr "Usa solamente 32 FPRs"
+
+-#: config/m68k/m68k.opt:23
+-msgid "Generate code for a 520X"
+-msgstr "Genera código para un 520X"
++#: config/frv/frv.opt:104
++msgid "Use 64 FPRs"
++msgstr "Usa 64 FPRs"
+
+-#: config/m68k/m68k.opt:27
+-msgid "Generate code for a 5206e"
+-msgstr "Genera código para un 5206e"
++#: config/frv/frv.opt:108
++msgid "Only use 32 GPRs"
++msgstr "Usa solamente 32 GPRs"
+
+-#: config/m68k/m68k.opt:31
+-msgid "Generate code for a 528x"
+-msgstr "Genera código para un 528x"
++#: config/frv/frv.opt:112
++msgid "Use 64 GPRs"
++msgstr "Usa 64 GPRs"
+
+-#: config/m68k/m68k.opt:35
+-msgid "Generate code for a 5307"
+-msgstr "Genera código para un 5307"
++#: config/frv/frv.opt:116
++msgid "Enable use of GPREL for read-only data in FDPIC"
++msgstr "Activa el uso de GPREL para datos de sólo lectura en FDPIC"
+
+-#: config/m68k/m68k.opt:39
+-msgid "Generate code for a 5407"
+-msgstr "Genera código para un 5407"
++#: config/frv/frv.opt:120 config/rs6000/rs6000.opt:112
++#: config/pdp11/pdp11.opt:71
++msgid "Use hardware floating point"
++msgstr "Usa coma flotante de hardware"
+
+-#: config/m68k/m68k.opt:43 config/m68k/m68k.opt:104
+-msgid "Generate code for a 68000"
+-msgstr "Genera código para un 68000"
++#: config/frv/frv.opt:124 config/bfin/bfin.opt:77
++msgid "Enable inlining of PLT in function calls"
++msgstr "Activa la inclusión en línea de PLT en las llamadas a función"
+
+-#: config/m68k/m68k.opt:47
+-msgid "Generate code for a 68010"
+-msgstr "Genera código para un 68010"
++#: config/frv/frv.opt:128
++msgid "Enable PIC support for building libraries"
++msgstr "Activa el soporte PIC para construir bibliotecas"
+
+-#: config/m68k/m68k.opt:51 config/m68k/m68k.opt:108
+-msgid "Generate code for a 68020"
+-msgstr "Genera código para un 68020"
++#: config/frv/frv.opt:132
++msgid "Follow the EABI linkage requirements"
++msgstr "Sigue los requerimientos de enlace de EABI"
+
+-#: config/m68k/m68k.opt:55
+-msgid "Generate code for a 68040, without any new instructions"
+-msgstr "Genera código para un 68040, sin ninguna instrucción nueva"
++#: config/frv/frv.opt:136
++msgid "Disallow direct calls to global functions"
++msgstr "Desactiva las llamdas directas a funciones globales"
+
+-#: config/m68k/m68k.opt:59
+-msgid "Generate code for a 68060, without any new instructions"
+-msgstr "Genera código para un 68060, sin ninguna instrucción nueva"
++#: config/frv/frv.opt:140
++msgid "Use media instructions"
++msgstr "Usa instrucciones de medios"
+
+-#: config/m68k/m68k.opt:63
+-msgid "Generate code for a 68030"
+-msgstr "Genera código para un 68030"
++#: config/frv/frv.opt:144
++msgid "Use multiply add/subtract instructions"
++msgstr "Usa instrucciones acumular/sustraer de multiplicar"
+
+-#: config/m68k/m68k.opt:67
+-msgid "Generate code for a 68040"
+-msgstr "Genera código para un 68040"
++#: config/frv/frv.opt:148
++msgid "Enable optimizing &&/|| in conditional execution"
++msgstr "Activa la optimización &&/|| en la ejecución condicional"
+
+-#: config/m68k/m68k.opt:71
+-msgid "Generate code for a 68060"
+-msgstr "Genera código para un 68060"
++#: config/frv/frv.opt:152
++msgid "Enable nested conditional execution optimizations"
++msgstr "Activa las optimizaciones de ejecución condicional anidada"
+
+-#: config/m68k/m68k.opt:75
+-msgid "Generate code for a 68302"
+-msgstr "Genera código para un 68302"
++#: config/frv/frv.opt:157
++msgid "Do not mark ABI switches in e_flags"
++msgstr "No marca las opciones ABI en e_flags"
+
+-#: config/m68k/m68k.opt:79
+-msgid "Generate code for a 68332"
+-msgstr "Genera código para un 68332"
++#: config/frv/frv.opt:161
++msgid "Remove redundant membars"
++msgstr "Remueve miembros redundantes"
+
+-#: config/m68k/m68k.opt:84
+-msgid "Generate code for a 68851"
+-msgstr "Genera código para un 68851"
++#: config/frv/frv.opt:165
++msgid "Pack VLIW instructions"
++msgstr "Empaca las instrucciones VLIW"
+
+-#: config/m68k/m68k.opt:88
+-msgid "Generate code that uses 68881 floating-point instructions"
+-msgstr "Genera código que use las instrucciones de coma flotante de un 68881"
++#: config/frv/frv.opt:169
++msgid "Enable setting GPRs to the result of comparisons"
++msgstr "Permite establecer los GPRs al resultado de las comparaciones"
+
+-#: config/m68k/m68k.opt:92
+-msgid "Align variables on a 32-bit boundary"
+-msgstr "Alínea las variables en un límite de 32-bit"
++#: config/frv/frv.opt:173
++msgid "Change the amount of scheduler lookahead"
++msgstr "Cambia la cantidad de vista hacia adelante del calendarizador"
+
+-#: config/m68k/m68k.opt:96 config/arm/arm.opt:49 config/score/score.opt:63
+-msgid "Specify the name of the target architecture"
+-msgstr "Especifica el nombre de la arquitectura destino"
++#: config/frv/frv.opt:181
++msgid "Assume a large TLS segment"
++msgstr "Asume un segmento TLS grande"
+
+-#: config/m68k/m68k.opt:100
+-msgid "Use the bit-field instructions"
+-msgstr "Usa las instrucciones de campos de bit"
++#: config/frv/frv.opt:185
++msgid "Do not assume a large TLS segment"
++msgstr "No asume un segmento TLS grande"
+
+-#: config/m68k/m68k.opt:112
+-msgid "Generate code for a ColdFire v4e"
+-msgstr "Genera código para un ColdFire v4e"
++#: config/frv/frv.opt:190
++msgid "Cause gas to print tomcat statistics"
++msgstr "Causa que gas muestre estadísticas de tomcat"
+
+-#: config/m68k/m68k.opt:116
+-msgid "Specify the target CPU"
+-msgstr "Selecciona el CPU destino"
++#: config/frv/frv.opt:195
++msgid "Link with the library-pic libraries"
++msgstr "Enlaza con las bibliotecas de pic de biblioteca"
+
+-#: config/m68k/m68k.opt:120
+-msgid "Generate code for a cpu32"
+-msgstr "Genera código para un cpu32"
++#: config/frv/frv.opt:199
++msgid "Allow branches to be packed with other instructions"
++msgstr "Permite que las ramificaciones se empaquen con otras instrucciones"
+
+-#: config/m68k/m68k.opt:124
+-msgid "Use hardware division instructions on ColdFire"
+-msgstr "Usa instrucciones de división por hardware en ColdFire"
++#: config/i386/cygming.opt:23
++msgid "Create console application"
++msgstr "Crea una aplicación de consola"
+
+-#: config/m68k/m68k.opt:128
+-msgid "Generate code for a Fido A"
+-msgstr "Genera código para un Fido A"
++#: config/i386/cygming.opt:27
++msgid "Use the Cygwin interface"
++msgstr "Usa la interfaz Cygwin"
+
+-#: config/m68k/m68k.opt:132
+-msgid "Generate code which uses hardware floating point instructions"
+-msgstr "Genera código que use las instrucciones de coma flotante de hardware"
++#: config/i386/cygming.opt:31
++msgid "Generate code for a DLL"
++msgstr "Genera código para una DLL"
+
+-#: config/m68k/m68k.opt:136
+-msgid "Enable ID based shared library"
+-msgstr "Activa la biblioteca compartida basada en ID"
++#: config/i386/cygming.opt:35
++msgid "Ignore dllimport for functions"
++msgstr "Ignora dllimport para funciones"
+
+-#: config/m68k/m68k.opt:140
+-msgid "Do not use the bit-field instructions"
+-msgstr "No usa las instrucciones de campos de bit"
++#: config/i386/cygming.opt:39
++msgid "Use Mingw-specific thread support"
++msgstr "Usa el soporte de hilos específico de Mingw"
+
+-#: config/m68k/m68k.opt:144
+-msgid "Use normal calling convention"
+-msgstr "Usa la convención de llamada normal"
++#: config/i386/cygming.opt:43
++msgid "Set Windows defines"
++msgstr "Establece las definiciones de Windows"
+
+-#: config/m68k/m68k.opt:148
+-msgid "Consider type 'int' to be 32 bits wide"
+-msgstr "Considera que el tipo 'int' es de 32 bits de anchura"
++#: config/i386/cygming.opt:47
++msgid "Create GUI application"
++msgstr "Crea una aplicación con interfaz gráfica de usuario (GUI)"
+
+-# pc = program counter. cfuga
+-#: config/m68k/m68k.opt:152
+-msgid "Generate pc-relative code"
+-msgstr "Genera código relativo al pc"
+-
+-#: config/m68k/m68k.opt:156
+-msgid "Use different calling convention using 'rtd'"
+-msgstr "Usa la convención de llamada diferente usando 'rtd'"
+-
+-#: config/m68k/m68k.opt:160 config/bfin/bfin.opt:61
+-msgid "Enable separate data segment"
+-msgstr "Activa los segmentos de datos separados"
+-
+-#: config/m68k/m68k.opt:164 config/bfin/bfin.opt:57
+-msgid "ID of shared library to build"
+-msgstr "ID de la biblioteca compartida a crear"
+-
+-#: config/m68k/m68k.opt:168
+-msgid "Consider type 'int' to be 16 bits wide"
+-msgstr "Considera que el tipo 'int' es de 16 bits de anchura"
+-
+-#: config/m68k/m68k.opt:172
+-msgid "Generate code with library calls for floating point"
+-msgstr "Genera código con llamadas a bibliotecas para coma flotante"
+-
+-#: config/m68k/m68k.opt:176
+-msgid "Do not use unaligned memory references"
+-msgstr "No permite las referencias a memoria sin alinear"
+-
+-#: config/m68k/m68k.opt:180
+-msgid "Tune for the specified target CPU or architecture"
+-msgstr "Optimiza para el CPU o la arquitectura destino"
+-
+-#: config/m68k/ieee.opt:24 config/i386/i386.opt:95
+-msgid "Use IEEE math for fp comparisons"
+-msgstr "Usa matemática IEEE para comparaciones fp"
+-
+-#: config/i386/djgpp.opt:25
+-msgid "Ignored (obsolete)"
+-msgstr "Se descarta (obsoleto)"
+-
+ #: config/i386/i386.opt:23
+ msgid "sizeof(long double) is 16"
+ msgstr "sizeof(long double) es 16"
+@@ -12477,6 +12193,10 @@
+ msgid "Align destination of the string operations"
+ msgstr "Alínea el destino de las operaciones de cadenas"
+
++#: config/i386/i386.opt:59 config/spu/spu.opt:60 config/s390/s390.opt:31
++msgid "Generate code for given CPU"
++msgstr "Genera código para el CPU dado"
++
+ #: config/i386/i386.opt:63
+ msgid "Use given assembler dialect"
+ msgstr "Usa el dialecto de ensamblador dado"
+@@ -12505,6 +12225,10 @@
+ msgid "Generate floating point mathematics using given instruction set"
+ msgstr "Genera matemáticas de coma flotante usando el conjunto de instrucciones dado"
+
++#: config/i386/i386.opt:95 config/m68k/ieee.opt:24
++msgid "Use IEEE math for fp comparisons"
++msgstr "Usa matemática IEEE para comparaciones fp"
++
+ #: config/i386/i386.opt:99
+ msgid "Inline all known string operations"
+ msgstr "Incluye en línea todas las operaciones de cadenas conocidas"
+@@ -12654,58 +12378,396 @@
+ msgid "Enable automatic generation of fused floating point multiply-add instructions"
+ msgstr "Permte la generación automática de instrucciones multiply-add de coma flotante de corto circuito"
+
+-#: config/i386/cygming.opt:23
+-msgid "Create console application"
+-msgstr "Crea una aplicación de consola"
++#: config/i386/sco5.opt:24
++msgid "Generate ELF output"
++msgstr "Genera salida ELF"
+
+-#: config/i386/cygming.opt:27
+-msgid "Use the Cygwin interface"
+-msgstr "Usa la interfaz Cygwin"
++#: config/i386/djgpp.opt:25
++msgid "Ignored (obsolete)"
++msgstr "Se descarta (obsoleto)"
+
+-#: config/i386/cygming.opt:31
+-msgid "Generate code for a DLL"
+-msgstr "Genera código para una DLL"
++#: config/iq2000/iq2000.opt:23 config/mt/mt.opt:55
++msgid "Specify CPU for code generation purposes"
++msgstr "Especifica el CPU para propósitos de generación de código"
+
+-#: config/i386/cygming.opt:35
+-msgid "Ignore dllimport for functions"
+-msgstr "Ignora dllimport para funciones"
++#: config/iq2000/iq2000.opt:27
++msgid "Specify CPU for scheduling purposes"
++msgstr "Especifica el CPU para propósitos de calendarización"
+
+-#: config/i386/cygming.opt:39
+-msgid "Use Mingw-specific thread support"
+-msgstr "Usa el soporte de hilos específico de Mingw"
++#: config/iq2000/iq2000.opt:31 config/mips/mips.opt:97
++msgid "Use ROM instead of RAM"
++msgstr "Usa la ROM en lugar de la RAM"
+
+-#: config/i386/cygming.opt:43
+-msgid "Set Windows defines"
+-msgstr "Establece las definiciones de Windows"
++#: config/iq2000/iq2000.opt:35
++msgid "Use GP relative sdata/sbss sections"
++msgstr "Utiliza secciones sdata/sbss relativas a GP"
+
+-#: config/i386/cygming.opt:47
+-msgid "Create GUI application"
+-msgstr "Crea una aplicación con interfaz gráfica de usuario (GUI)"
++#: config/iq2000/iq2000.opt:40
++msgid "No default crt0.o"
++msgstr "No define a crt0.o por defecto"
+
+-#: config/i386/sco5.opt:24
+-msgid "Generate ELF output"
+-msgstr "Genera salida ELF"
++#: config/iq2000/iq2000.opt:44 config/mips/mips.opt:265
++msgid "Put uninitialized constants in ROM (needs -membedded-data)"
++msgstr "Pone las constantes sin inicializar en ROM (necesita -membedded-data)"
+
+-#: config/rs6000/aix41.opt:24 config/rs6000/aix64.opt:32
+-msgid "Support message passing with the Parallel Environment"
+-msgstr "Soporta el paso de mensajes con el Ambiente Paralelo"
++#: config/arm/arm.opt:23
++msgid "Specify an ABI"
++msgstr "Especifica una ABI"
+
+-#: config/rs6000/aix.opt:24 config/rs6000/rs6000.opt:147
+-msgid "Conform more closely to IBM XLC semantics"
+-msgstr "Conforma más cerca a la semántica XLC de IBM"
++#: config/arm/arm.opt:27
++msgid "Generate a call to abort if a noreturn function returns"
++msgstr "Genera una llamada a abortar si una funcion noreturn devuelve"
+
+-#: config/rs6000/darwin.opt:24 config/rs6000/sysv4.opt:132
++#: config/arm/arm.opt:34
++msgid "Pass FP arguments in FP registers"
++msgstr "Pasa los argumentos FP en los registros FP"
++
++#: config/arm/arm.opt:38
++msgid "Generate APCS conformant stack frames"
++msgstr "Genera marcos de pila que cumplan con APCS"
++
++#: config/arm/arm.opt:42
++msgid "Generate re-entrant, PIC code"
++msgstr "Genera código PIC reentrante"
++
++#: config/arm/arm.opt:49 config/m68k/m68k.opt:96 config/score/score.opt:63
++msgid "Specify the name of the target architecture"
++msgstr "Especifica el nombre de la arquitectura destino"
++
++#: config/arm/arm.opt:56
++msgid "Assume target CPU is configured as big endian"
++msgstr "Asume que el CPU destino está configurado como big endian"
++
++#: config/arm/arm.opt:60
++msgid "Thumb: Assume non-static functions may be called from ARM code"
++msgstr "Thumb: Asume que las funciones no static pueden ser llamadas desde código ARM"
++
++#: config/arm/arm.opt:64
++msgid "Thumb: Assume function pointers may go to non-Thumb aware code"
++msgstr "Thumb: Asume que los punteros de función pueden ir a código no informado sobre Thumb"
++
++#: config/arm/arm.opt:68
++msgid "Cirrus: Place NOPs to avoid invalid instruction combinations"
++msgstr "Cirrus: Coloca NOPs para evitar combinaciones inválidas de instrucciones"
++
++#: config/arm/arm.opt:72 config/bfin/bfin.opt:27
++msgid "Specify the name of the target CPU"
++msgstr "Especifica el nombre del CPU destino"
++
++#: config/arm/arm.opt:76
++msgid "Specify if floating point hardware should be used"
++msgstr "Especifica si se debe usar la coma flotante"
++
++#: config/arm/arm.opt:90
++msgid "Specify the name of the target floating point hardware/format"
++msgstr "Especifica el nombre del hardware/formato de coma flotante destino"
++
++#: config/arm/arm.opt:94
++msgid "Alias for -mfloat-abi=hard"
++msgstr "Alias para -mfloat-abi=hard"
++
++#: config/arm/arm.opt:98
++msgid "Assume target CPU is configured as little endian"
++msgstr "Asume que el CPU destino está configurado como little endian"
++
++#: config/arm/arm.opt:102
++msgid "Generate call insns as indirect calls, if necessary"
++msgstr "Genera las llamadas insns como llamadas indirectas, si es necesario"
++
++#: config/arm/arm.opt:106
++msgid "Specify the register to be used for PIC addressing"
++msgstr "Especifica el registro a usar para el direccionamiento PIC"
++
++#: config/arm/arm.opt:110
++msgid "Store function names in object code"
++msgstr "Almacena nombres de función en el código objeto"
++
++#: config/arm/arm.opt:114
++msgid "Permit scheduling of a function's prologue sequence"
++msgstr "Permite la calendarización de un secuencia de los prólogos de función"
++
++#: config/arm/arm.opt:118
++msgid "Do not load the PIC register in function prologues"
++msgstr "No carga el registro PIC en los prólogos de función"
++
++#: config/arm/arm.opt:122
++msgid "Alias for -mfloat-abi=soft"
++msgstr "Alias para -mfloat-abi=soft"
++
++#: config/arm/arm.opt:126
++msgid "Specify the minimum bit alignment of structures"
++msgstr "Especifica la alineación mínima de bit de las estructuras"
++
++#: config/arm/arm.opt:130
++msgid "Compile for the Thumb not the ARM"
++msgstr "Compila para el Thumb on para el ARM"
++
++#: config/arm/arm.opt:134
++msgid "Support calls between Thumb and ARM instruction sets"
++msgstr "Soporte a llamadas entre los conjuntos de instrucciones Thumb y ARM"
++
++#: config/arm/arm.opt:138
++msgid "Specify how to access the thread pointer"
++msgstr "Especifica cómo accessar al puntero de hilo"
++
++#: config/arm/arm.opt:142
++msgid "Thumb: Generate (non-leaf) stack frames even if not needed"
++msgstr "Thumb: Genera marcos de pila (no-hojas) aún si no es necesario"
++
++#: config/arm/arm.opt:146
++msgid "Thumb: Generate (leaf) stack frames even if not needed"
++msgstr "Thumb: Genera marcos de pila (hojas) aún si no es necesario"
++
++#: config/arm/arm.opt:150
++msgid "Tune code for the given processor"
++msgstr "Ajusta el código para el procesador dado"
++
++#: config/arm/arm.opt:154
++msgid "Assume big endian bytes, little endian words"
++msgstr "Asume que bytes son big endian, words son little endian"
++
++#: config/arm/arm.opt:158
++msgid "Use Neon quad-word (rather than double-word) registers for vectorization"
++msgstr "Usa los registros quad-word Neon (en lugar de double-word) para la vectorización"
++
++#: config/arm/pe.opt:23
++msgid "Ignore dllimport attribute for functions"
++msgstr "Ignora el atributo dllimport para las funciones"
++
++#: config/cris/linux.opt:27
++msgid "Together with -fpic and -fPIC, do not use GOTPLT references"
++msgstr "Junto con -fpic y -fPIC, no utiliza referencias GOTPLT"
++
++#: config/cris/aout.opt:27
++msgid "Compile for the MMU-less Etrax 100-based elinux system"
++msgstr "Compila para el sistema elinux Etrax basado en 100 sin MMU"
++
++#: config/cris/aout.opt:33
++msgid "For elinux, request a specified stack-size for this program"
++msgstr "Para elinux, solicita un tamaño de pila especificado para este programa"
++
++#: config/cris/cris.opt:45
++msgid "Work around bug in multiplication instruction"
++msgstr "Evita el bicho en la instrucción de multiplicación"
++
++#: config/cris/cris.opt:51
++msgid "Compile for ETRAX 4 (CRIS v3)"
++msgstr "Compila para ETRAX 4 (CRIS v3)"
++
++#: config/cris/cris.opt:56
++msgid "Compile for ETRAX 100 (CRIS v8)"
++msgstr "Compila para ETRAX 100 (CRIS v8)"
++
++#: config/cris/cris.opt:64
++msgid "Emit verbose debug information in assembly code"
++msgstr "Emite información de depuración detallada en el código ensamblador"
++
++#: config/cris/cris.opt:71
++msgid "Do not use condition codes from normal instructions"
++msgstr "No usa códigos de condición para las instrucciones normales"
++
++#: config/cris/cris.opt:80
++msgid "Do not emit addressing modes with side-effect assignment"
++msgstr "No emite modos de direccionamiento con asignaciones colaterales"
++
++#: config/cris/cris.opt:89
++msgid "Do not tune stack alignment"
++msgstr "No ajusta la alineación de la pila"
++
++#: config/cris/cris.opt:98
++msgid "Do not tune writable data alignment"
++msgstr "No ajusta la alineación de los datos modificables"
++
++#: config/cris/cris.opt:107
++msgid "Do not tune code and read-only data alignment"
++msgstr "No ajusta la alineación del código y de datos de sólo lectura"
++
++#: config/cris/cris.opt:116
++msgid "Align code and data to 32 bits"
++msgstr "Alínea código y datos a 32 bits"
++
++#: config/cris/cris.opt:133
++msgid "Don't align items in code or data"
++msgstr "No alínea los elementos en el código o los datos"
++
++#: config/cris/cris.opt:142
++msgid "Do not emit function prologue or epilogue"
++msgstr "No emite el prólogo o epílogo de funciones"
++
++#: config/cris/cris.opt:149
++msgid "Use the most feature-enabling options allowed by other options"
++msgstr "Usa la mayor cantidad de características permitidas por otras opciones"
++
++#: config/cris/cris.opt:158
++msgid "Override -mbest-lib-options"
++msgstr "Anula -mbest-lib-options"
++
++#: config/cris/cris.opt:165
++msgid "Generate code for the specified chip or CPU version"
++msgstr "Genera código para el chip especificado o la versión de CPU"
++
++#: config/cris/cris.opt:169
++msgid "Tune alignment for the specified chip or CPU version"
++msgstr "Ajusta la alineación para el chip especificado o la versión de CPU"
++
++#: config/cris/cris.opt:173
++msgid "Warn when a stackframe is larger than the specified size"
++msgstr "Avisa cuando un marco de pila sea más grande que el tamaño especificado"
++
++#: config/avr/avr.opt:23
++msgid "Use subroutines for function prologues and epilogues"
++msgstr "Usa subrutinas para los prólogos y epílogos de función"
++
++#: config/avr/avr.opt:27
++msgid "Select the target MCU"
++msgstr "Selecciona el MCU destino"
++
++#: config/avr/avr.opt:34
++msgid "Use an 8-bit 'int' type"
++msgstr "Usa un tipo 'int' de 8-bit"
++
++#: config/avr/avr.opt:38
++msgid "Change the stack pointer without disabling interrupts"
++msgstr "Cambia el puntero de la pila sin desactivar las interrupciones"
++
++#: config/avr/avr.opt:42
++msgid "Do not generate tablejump insns"
++msgstr "No genera insns de salto de tabla"
++
++#: config/avr/avr.opt:52
++msgid "Use rjmp/rcall (limited range) on >8K devices"
++msgstr "Usa rjmp/rcall (rango limitado) en dispositivos >8K"
++
++#: config/avr/avr.opt:56
++msgid "Output instruction sizes to the asm file"
++msgstr "Tamaños de instrucción de salida al fichero asm"
++
++#: config/avr/avr.opt:60
++msgid "Change only the low 8 bits of the stack pointer"
++msgstr "Cambia sólo los 8 bits bajos del puntero de pila"
++
++#: config/avr/avr.opt:64
++msgid "Relax branches"
++msgstr "Relaja ramificaciones"
++
++#: config/avr/avr.opt:68
++msgid "Make the linker relaxation machine assume that a program counter wrap-around occures."
++msgstr "Hace que el motor de relajación de enlace asuma que ocurre una envoltura del contador de programa"
++
++#: config/linux.opt:24
++msgid "Use uClibc instead of GNU libc"
++msgstr "Usa uClibc en lugar de libc de GNU"
++
++#: config/linux.opt:28
++msgid "Use GNU libc instead of uClibc"
++msgstr "Usa libc de GNU en lugar de uClibc"
++
++#: config/rs6000/sysv4.opt:24
++msgid "Select ABI calling convention"
++msgstr "Selecciona la convención de llamada ABI"
++
++#: config/rs6000/sysv4.opt:28
++msgid "Select method for sdata handling"
++msgstr "Selecciona el método para el manejo de sdata"
++
++#: config/rs6000/sysv4.opt:36 config/rs6000/sysv4.opt:40
++msgid "Align to the base type of the bit-field"
++msgstr "Alínea al tipo base del campo de bit"
++
++#: config/rs6000/sysv4.opt:45 config/rs6000/sysv4.opt:49
++msgid "Produce code relocatable at runtime"
++msgstr "Produce código reubicable en el momento de ejecución"
++
++#: config/rs6000/sysv4.opt:53 config/rs6000/sysv4.opt:57
++msgid "Produce little endian code"
++msgstr "Produce código little endian"
++
++#: config/rs6000/sysv4.opt:61 config/rs6000/sysv4.opt:65
++msgid "Produce big endian code"
++msgstr "Produce código big endian"
++
++#: config/rs6000/sysv4.opt:70 config/rs6000/sysv4.opt:74
++#: config/rs6000/sysv4.opt:83 config/rs6000/sysv4.opt:100
++#: config/rs6000/sysv4.opt:128 config/rs6000/sysv4.opt:140
++msgid "no description yet"
++msgstr "sin descripción aún"
++
++#: config/rs6000/sysv4.opt:78
++msgid "Assume all variable arg functions are prototyped"
++msgstr "Asume que todas las funciones de argumentos variables tienen prototipos"
++
++#: config/rs6000/sysv4.opt:87
++msgid "Use EABI"
++msgstr "Usa EABI"
++
++#: config/rs6000/sysv4.opt:91
++msgid "Allow bit-fields to cross word boundaries"
++msgstr "Permite que los campos de bits crucen los límites de word"
++
++#: config/rs6000/sysv4.opt:95
++msgid "Use alternate register names"
++msgstr "Usa nombres de registro alternativos"
++
++#: config/rs6000/sysv4.opt:104
++msgid "Link with libsim.a, libc.a and sim-crt0.o"
++msgstr "Enlaza con libsim.a, libc.a y sim-crt0.o"
++
++#: config/rs6000/sysv4.opt:108
++msgid "Link with libads.a, libc.a and crt0.o"
++msgstr "Enlaza con libads.a, libc.a y crt0.o"
++
++#: config/rs6000/sysv4.opt:112
++msgid "Link with libyk.a, libc.a and crt0.o"
++msgstr "Enlaza con libyk.a, libc.a y crt0.o"
++
++#: config/rs6000/sysv4.opt:116
++msgid "Link with libmvme.a, libc.a and crt0.o"
++msgstr "Enlaza con libmvme.a, libc.a y crt0.o"
++
++#: config/rs6000/sysv4.opt:120
++msgid "Set the PPC_EMB bit in the ELF flags header"
++msgstr "Establece el bit PPC_EMB en los interruptores del encabezado ELF"
++
++#: config/rs6000/sysv4.opt:124
++msgid "Use the WindISS simulator"
++msgstr "Usa el simulador WindISS"
++
++#: config/rs6000/sysv4.opt:132 config/rs6000/darwin.opt:24
+ msgid "Generate 64-bit code"
+ msgstr "Genera código de 64-bit"
+
+-#: config/rs6000/darwin.opt:28 config/rs6000/sysv4.opt:136
++#: config/rs6000/sysv4.opt:136 config/rs6000/darwin.opt:28
+ msgid "Generate 32-bit code"
+ msgstr "Genera código de 32-bit"
+
++#: config/rs6000/sysv4.opt:144
++msgid "Generate code to use a non-exec PLT and GOT"
++msgstr "Genera código para usar un PTL y GOT no ejecutables"
++
++#: config/rs6000/sysv4.opt:148
++msgid "Generate code for old exec BSS PLT"
++msgstr "Genera código para ejecutables BSS PLT antiguos"
++
++#: config/rs6000/linux64.opt:24
++msgid "Call mcount for profiling before a function prologue"
++msgstr "Llama a mcount para análisis de perfil antes del prólogo de una función"
++
+ #: config/rs6000/darwin.opt:32
+ msgid "Generate code suitable for executables (NOT shared libs)"
+ msgstr "Genera código adecuado para ejecutables (NO para bibliotecas compartidas)"
+
++#: config/rs6000/aix64.opt:24
++msgid "Compile for 64-bit pointers"
++msgstr "Compila para punteros de 64-bit"
++
++#: config/rs6000/aix64.opt:28
++msgid "Compile for 32-bit pointers"
++msgstr "Compila para punteros de 32-bit"
++
++#: config/rs6000/aix64.opt:32 config/rs6000/aix41.opt:24
++msgid "Support message passing with the Parallel Environment"
++msgstr "Soporta el paso de mensajes con el Ambiente Paralelo"
++
+ #: config/rs6000/rs6000.opt:24
+ msgid "Use POWER instruction set"
+ msgstr "Usa el conjunto de instrucciones POWER"
+@@ -12822,6 +12884,10 @@
+ msgid "Return small structures in registers (SVR4 default)"
+ msgstr "Devuelve las estructuras pequeñas en registros (por defecto en SVR4)"
+
++#: config/rs6000/rs6000.opt:147 config/rs6000/aix.opt:24
++msgid "Conform more closely to IBM XLC semantics"
++msgstr "Conforma más cerca a la semántica XLC de IBM"
++
+ #: config/rs6000/rs6000.opt:151
+ msgid "Generate software reciprocal sqrt for better throughput"
+ msgstr "Genera sqrt recíproco de software para mejor salida"
+@@ -12886,6 +12952,10 @@
+ msgid "Specify ABI to use"
+ msgstr "Especifica la ABI a utilizar"
+
++#: config/rs6000/rs6000.opt:222 config/sparc/sparc.opt:91
++msgid "Use features of and schedule code for given CPU"
++msgstr "Usa las características y el código de calendarizador para el CPU dado"
++
+ #: config/rs6000/rs6000.opt:230
+ msgid "Select full, part, or no traceback table"
+ msgstr "Selecciona la tabla full, part, ó sin traceback"
+@@ -12922,96 +12992,75 @@
+ msgid "Specify scheduling priority for dispatch slot restricted insns"
+ msgstr "Especifica la prioridad de calendarización para despachar insns restringidos por ranuras"
+
+-#: config/rs6000/aix64.opt:24
+-msgid "Compile for 64-bit pointers"
+-msgstr "Compila para punteros de 64-bit"
++#: config/v850/v850.opt:23
++msgid "Use registers r2 and r5"
++msgstr "Usa los registros r2 y r5"
+
+-#: config/rs6000/aix64.opt:28
+-msgid "Compile for 32-bit pointers"
+-msgstr "Compila para punteros de 32-bit"
++#: config/v850/v850.opt:27
++msgid "Use 4 byte entries in switch tables"
++msgstr "Usa entradas de 4 byte en las tablas de switch"
+
+-#: config/rs6000/linux64.opt:24
+-msgid "Call mcount for profiling before a function prologue"
+-msgstr "Llama a mcount para análisis de perfil antes del prólogo de una función"
++# No me gusta mucho esta traducción. cfuga
++#: config/v850/v850.opt:31
++msgid "Enable backend debugging"
++msgstr "Habilita la depuración del extremo trasero"
+
+-#: config/rs6000/sysv4.opt:24
+-msgid "Select ABI calling convention"
+-msgstr "Selecciona la convención de llamada ABI"
++#: config/v850/v850.opt:35
++msgid "Do not use the callt instruction"
++msgstr "No usa la instrucción callt"
+
+-#: config/rs6000/sysv4.opt:28
+-msgid "Select method for sdata handling"
+-msgstr "Selecciona el método para el manejo de sdata"
++#: config/v850/v850.opt:39
++msgid "Reuse r30 on a per function basis"
++msgstr "Reusa r30 basado por función"
+
+-#: config/rs6000/sysv4.opt:36 config/rs6000/sysv4.opt:40
+-msgid "Align to the base type of the bit-field"
+-msgstr "Alínea al tipo base del campo de bit"
++#: config/v850/v850.opt:43
++msgid "Support Green Hills ABI"
++msgstr "Soporte para el ABI Green Hills"
+
+-#: config/rs6000/sysv4.opt:45 config/rs6000/sysv4.opt:49
+-msgid "Produce code relocatable at runtime"
+-msgstr "Produce código reubicable en el momento de ejecución"
++#: config/v850/v850.opt:47
++msgid "Prohibit PC relative function calls"
++msgstr "Prohíbe la llamada a funciones relativas al PC"
+
+-#: config/rs6000/sysv4.opt:53 config/rs6000/sysv4.opt:57
+-msgid "Produce little endian code"
+-msgstr "Produce código little endian"
++#: config/v850/v850.opt:51
++msgid "Use stubs for function prologues"
++msgstr "Usa cabos para los prólogos de función"
+
+-#: config/rs6000/sysv4.opt:61 config/rs6000/sysv4.opt:65
+-msgid "Produce big endian code"
+-msgstr "Produce código big endian"
++#: config/v850/v850.opt:55
++msgid "Set the max size of data eligible for the SDA area"
++msgstr "Establece el tamaño máximo de datos elegibles para el área SDA"
+
+-#: config/rs6000/sysv4.opt:70 config/rs6000/sysv4.opt:74
+-#: config/rs6000/sysv4.opt:83 config/rs6000/sysv4.opt:100
+-#: config/rs6000/sysv4.opt:128 config/rs6000/sysv4.opt:140
+-msgid "no description yet"
+-msgstr "sin descripción aún"
++#: config/v850/v850.opt:59
++msgid "Enable the use of the short load instructions"
++msgstr "Activa el uso de las instrucciones short load"
+
+-#: config/rs6000/sysv4.opt:78
+-msgid "Assume all variable arg functions are prototyped"
+-msgstr "Asume que todas las funciones de argumentos variables tienen prototipos"
++#: config/v850/v850.opt:63
++msgid "Same as: -mep -mprolog-function"
++msgstr "Igual que: -mep -mprolog-function"
+
+-#: config/rs6000/sysv4.opt:87
+-msgid "Use EABI"
+-msgstr "Usa EABI"
++#: config/v850/v850.opt:67
++msgid "Set the max size of data eligible for the TDA area"
++msgstr "Establece el tamaño máximo de datos elegibles para el área TDA"
+
+-#: config/rs6000/sysv4.opt:91
+-msgid "Allow bit-fields to cross word boundaries"
+-msgstr "Permite que los campos de bits crucen los límites de word"
++#: config/v850/v850.opt:71
++msgid "Enforce strict alignment"
++msgstr "Refuerza la alineación estricta"
+
+-#: config/rs6000/sysv4.opt:95
+-msgid "Use alternate register names"
+-msgstr "Usa nombres de registro alternativos"
++#: config/v850/v850.opt:78
++msgid "Compile for the v850 processor"
++msgstr "Compila para el procesador v850"
+
+-#: config/rs6000/sysv4.opt:104
+-msgid "Link with libsim.a, libc.a and sim-crt0.o"
+-msgstr "Enlaza con libsim.a, libc.a y sim-crt0.o"
++#: config/v850/v850.opt:82
++msgid "Compile for the v850e processor"
++msgstr "Compila para el procesador v850e"
+
+-#: config/rs6000/sysv4.opt:108
+-msgid "Link with libads.a, libc.a and crt0.o"
+-msgstr "Enlaza con libads.a, libc.a y crt0.o"
++#: config/v850/v850.opt:86
++msgid "Compile for the v850e1 processor"
++msgstr "Compila para el procesador v850e1"
+
+-#: config/rs6000/sysv4.opt:112
+-msgid "Link with libyk.a, libc.a and crt0.o"
+-msgstr "Enlaza con libyk.a, libc.a y crt0.o"
++#: config/v850/v850.opt:90
++msgid "Set the max size of data eligible for the ZDA area"
++msgstr "Establece el tamaño máximo de datos elegibles para el área ZDA"
+
+-#: config/rs6000/sysv4.opt:116
+-msgid "Link with libmvme.a, libc.a and crt0.o"
+-msgstr "Enlaza con libmvme.a, libc.a y crt0.o"
+-
+-#: config/rs6000/sysv4.opt:120
+-msgid "Set the PPC_EMB bit in the ELF flags header"
+-msgstr "Establece el bit PPC_EMB en los interruptores del encabezado ELF"
+-
+-#: config/rs6000/sysv4.opt:124
+-msgid "Use the WindISS simulator"
+-msgstr "Usa el simulador WindISS"
+-
+-#: config/rs6000/sysv4.opt:144
+-msgid "Generate code to use a non-exec PLT and GOT"
+-msgstr "Genera código para usar un PTL y GOT no ejecutables"
+-
+-#: config/rs6000/sysv4.opt:148
+-msgid "Generate code for old exec BSS PLT"
+-msgstr "Genera código para ejecutables BSS PLT antiguos"
+-
+ #: config/spu/spu.opt:20
+ msgid "Emit warnings when run-time relocations are generated"
+ msgstr "Emite avisos cuando se generan las reubicaciones de tiempo de ejecución"
+@@ -13048,62 +13097,262 @@
+ msgid "Generate code for 32 bit addressing"
+ msgstr "Genera código para direccionamiento de 32 bit"
+
+-#: config/mcore/mcore.opt:23
+-msgid "Generate code for the M*Core M210"
+-msgstr "Genera código para el M*Core M210"
++#: config/vax/vax.opt:23 config/vax/vax.opt:27
++msgid "Target DFLOAT double precision code"
++msgstr "Apunta a código DFLOAT de doble precisión"
+
+-#: config/mcore/mcore.opt:27
+-msgid "Generate code for the M*Core M340"
+-msgstr "Genera código para el M*Core M340"
++#: config/vax/vax.opt:31 config/vax/vax.opt:35
++msgid "Generate GFLOAT double precision code"
++msgstr "Genera código GFLOAT de doble precisión"
+
+-#: config/mcore/mcore.opt:31
+-msgid "Set maximum alignment to 4"
+-msgstr "Establece la alineación máxima a 4"
++#: config/vax/vax.opt:39
++msgid "Generate code for GNU assembler (gas)"
++msgstr "Genera código para el ensamblador de GNU (gas)"
+
+-#: config/mcore/mcore.opt:35
+-msgid "Force functions to be aligned to a 4 byte boundary"
+-msgstr "Fuerza que las funciones se alineen a un límite de 4 byte"
++#: config/vax/vax.opt:43
++msgid "Generate code for UNIX assembler"
++msgstr "Genera código para el ensamblador UNIX"
+
+-#: config/mcore/mcore.opt:39
+-msgid "Set maximum alignment to 8"
+-msgstr "Establece la alineación máxima a 8"
++#: config/vax/vax.opt:47
++msgid "Use VAXC structure conventions"
++msgstr "Usa convenciones de estructura VAXC"
+
+-#: config/mcore/mcore.opt:43 config/score/score.opt:23
+-msgid "Generate big-endian code"
+-msgstr "Genera código big-endian"
++#: config/lynx.opt:23
++msgid "Support legacy multi-threading"
++msgstr "Soporte para multihilos antiguo"
+
+-#: config/mcore/mcore.opt:47
+-msgid "Emit call graph information"
+-msgstr "Emite información de grafo de llamadas"
++#: config/lynx.opt:27
++msgid "Use shared libraries"
++msgstr "Usa bibliotecas compartidas"
+
+-#: config/mcore/mcore.opt:51
+-msgid "Use the divide instruction"
+-msgstr "Usa la instrucción divide"
++#: config/lynx.opt:31
++msgid "Support multi-threading"
++msgstr "Soporte para multihilos"
+
+-#: config/mcore/mcore.opt:55
+-msgid "Inline constants if it can be done in 2 insns or less"
+-msgstr "Incluye constantes en línea si se pueden hacer en 2 insns o menos"
++#: config/stormy16/stormy16.opt:24
++msgid "Provide libraries for the simulator"
++msgstr "Provee bibliotecas para el simulador"
+
+-#: config/mcore/mcore.opt:59 config/score/score.opt:27
+-msgid "Generate little-endian code"
+-msgstr "Genera código little-endian"
++#: config/h8300/h8300.opt:23
++msgid "Generate H8S code"
++msgstr "Genera código H8S"
+
+-#: config/mcore/mcore.opt:67
+-msgid "Use arbitrary sized immediates in bit operations"
+-msgstr "Usa inmediatos de tamaños arbitrarios en operaciones de bit"
++#: config/h8300/h8300.opt:27
++msgid "Generate H8SX code"
++msgstr "Genera código H8SX"
+
+-#: config/mcore/mcore.opt:71
+-msgid "Prefer word accesses over byte accesses"
+-msgstr "Prefiere accesos word sobre accessos byte"
++#: config/h8300/h8300.opt:31
++msgid "Generate H8S/2600 code"
++msgstr "Genera código H8S/2600"
+
+-#: config/mcore/mcore.opt:75
+-msgid "Set the maximum amount for a single stack increment operation"
+-msgstr "Establece la cantidad máxima para una sola operación de incremento de pila"
++#: config/h8300/h8300.opt:35
++msgid "Make integers 32 bits wide"
++msgstr "Hace los enteros de 32 bits de anchura"
+
+-#: config/mcore/mcore.opt:79
+-msgid "Always treat bitfields as int-sized"
+-msgstr "Trata siempre a los campos de bit como de tamaño int"
++#: config/h8300/h8300.opt:42
++msgid "Use registers for argument passing"
++msgstr "Usa registros para el paso de parámetros"
+
++#: config/h8300/h8300.opt:46
++msgid "Consider access to byte sized memory slow"
++msgstr "Considera lento el acceso a memoria de tamaño byte"
++
++#: config/h8300/h8300.opt:50
++msgid "Enable linker relaxing"
++msgstr "Activa la relajación del enlazador"
++
++#: config/h8300/h8300.opt:54
++msgid "Generate H8/300H code"
++msgstr "Genera código H8/300H"
++
++#: config/h8300/h8300.opt:58
++msgid "Enable the normal mode"
++msgstr "Activa el modelo normal"
++
++#: config/h8300/h8300.opt:62
++msgid "Use H8/300 alignment rules"
++msgstr "Usa las reglas de alineación H8/300"
++
++#: config/s390/s390.opt:23
++msgid "31 bit ABI"
++msgstr "ABI de 31 bit"
++
++#: config/s390/s390.opt:27
++msgid "64 bit ABI"
++msgstr "ABI de 64 bit"
++
++#: config/s390/s390.opt:35
++msgid "Maintain backchain pointer"
++msgstr "Mantiene el puntero a la cadena hacia atrás"
++
++#: config/s390/s390.opt:39
++msgid "Additional debug prints"
++msgstr "Impresiones adicionales de depuración"
++
++#: config/s390/s390.opt:43
++msgid "ESA/390 architecture"
++msgstr "Arquitectura ESA/390"
++
++#: config/s390/s390.opt:47
++msgid "Enable fused multiply/add instructions"
++msgstr "Activa las instrucciones multiply/add de corto circuito"
++
++#: config/s390/s390.opt:51
++msgid "Enable decimal floating point hardware support"
++msgstr "Admite la coma flotante decimal de hardware"
++
++#: config/s390/s390.opt:55
++msgid "Enable hardware floating point"
++msgstr "Activa coma flotante de hardware"
++
++#: config/s390/s390.opt:67
++msgid "Use packed stack layout"
++msgstr "Usa la disposición de pila empacada"
++
++#: config/s390/s390.opt:71
++msgid "Use bras for executable < 64k"
++msgstr "Usa bras para el ejecutable < 64k"
++
++#: config/s390/s390.opt:75
++msgid "Disable hardware floating point"
++msgstr "Desactiva la coma flotante de hardware"
++
++#: config/s390/s390.opt:79
++msgid "Set the max. number of bytes which has to be left to stack size before a trap instruction is triggered"
++msgstr "Establece el número máximo de bytes que se deben dejar en el tamaño de la pila antes de que se active una instrucción trap"
++
++#: config/s390/s390.opt:83
++msgid "Emit extra code in the function prologue in order to trap if the stack size exceeds the given limit"
++msgstr "Emite código extra en el prólogo de la función para atrapar en caso de que el tamaño de la pila exceda el límite dado"
++
++#: config/s390/s390.opt:91
++msgid "mvcle use"
++msgstr "uso de mvcle"
++
++#: config/s390/s390.opt:95
++msgid "Warn if a function uses alloca or creates an array with dynamic size"
++msgstr "Avisa si una función usa alloca o crea una matriz de tamaño dinámico"
++
++#: config/s390/s390.opt:99
++msgid "Warn if a single function's framesize exceeds the given framesize"
++msgstr "Avisa si el tamaño de marco de una sola función excede el tamaño de marco dado"
++
++#: config/s390/s390.opt:103
++msgid "z/Architecture"
++msgstr "z/Architecture"
++
++#: config/s390/tpf.opt:23
++msgid "Enable TPF-OS tracing code"
++msgstr "Activa el código de rastreo TPF-OS"
++
++#: config/s390/tpf.opt:27
++msgid "Specify main object for TPF-OS"
++msgstr "Especifica el objeto principal para TPF-OS"
++
++#: config/darwin.opt:23
++msgid "Generate code suitable for fast turn around debugging"
++msgstr "Genera código adecuado para vuelta rápida en la depuración"
++
++#: config/darwin.opt:31
++msgid "The earliest MacOS X version on which this program will run"
++msgstr "La versión más temprana de MacOS X en la cual este programa se ejecutará"
++
++#: config/darwin.opt:35
++msgid "Set sizeof(bool) to 1"
++msgstr "Establece sizeof(bool) a 1"
++
++#: config/darwin.opt:39
++msgid "Generate code for darwin loadable kernel extensions"
++msgstr "Genera código para las extensiones cargables de núcleo darwin"
++
++#: config/darwin.opt:43
++msgid "Generate code for the kernel or loadable kernel extensions"
++msgstr "Genera código para el núcleo o para las extensiones cargables del núcleo"
++
++#: config/darwin.opt:47
++msgid "Add <dir> to the end of the system framework include path"
++msgstr "Agrega el <dir>ectorio al final de la ruta de inclusión del marco de trabajo del sistema"
++
++#: config/mn10300/mn10300.opt:23
++msgid "Target the AM33 processor"
++msgstr "Apunta al procesador AM33"
++
++#: config/mn10300/mn10300.opt:27
++msgid "Target the AM33/2.0 processor"
++msgstr "Apunta al procesador AM33/2.0"
++
++#: config/mn10300/mn10300.opt:31
++msgid "Work around hardware multiply bug"
++msgstr "Evita el bicho de multiplicación de hardware"
++
++#: config/mn10300/mn10300.opt:36
++msgid "Enable linker relaxations"
++msgstr "Activa la relajación del enlazador"
++
++#: config/mn10300/mn10300.opt:40
++msgid "Return pointers in both a0 and d0"
++msgstr "Devuelve punteros tanto en a0 como en d0"
++
++#: config/m32r/m32r.opt:23
++msgid "Compile for the m32rx"
++msgstr "Compila para el m32rx"
++
++#: config/m32r/m32r.opt:27
++msgid "Compile for the m32r2"
++msgstr "Compila para el m32r2"
++
++#: config/m32r/m32r.opt:31
++msgid "Compile for the m32r"
++msgstr "Compila para el m32r"
++
++#: config/m32r/m32r.opt:35
++msgid "Align all loops to 32 byte boundary"
++msgstr "Alínea todos los ciclos al límite de 32 byte"
++
++#: config/m32r/m32r.opt:39
++msgid "Prefer branches over conditional execution"
++msgstr "Prefiere las ramas sobre la ejecución condicional"
++
++#: config/m32r/m32r.opt:43
++msgid "Give branches their default cost"
++msgstr "Da a las ramificaciones su costo por defecto"
++
++#: config/m32r/m32r.opt:47
++msgid "Display compile time statistics"
++msgstr "Muestra estadísticas de tiempo de compilación"
++
++#: config/m32r/m32r.opt:51
++msgid "Specify cache flush function"
++msgstr "Especifica la función de limpieza de caché"
++
++#: config/m32r/m32r.opt:55
++msgid "Specify cache flush trap number"
++msgstr "Especifica el número de trampa de limpieza de caché"
++
++#: config/m32r/m32r.opt:59
++msgid "Only issue one instruction per cycle"
++msgstr "Sólo ejecuta una instrucción por ciclo"
++
++#: config/m32r/m32r.opt:63
++msgid "Allow two instructions to be issued per cycle"
++msgstr "Permite que se ejecuten dos instrucciones por ciclo"
++
++#: config/m32r/m32r.opt:67
++msgid "Code size: small, medium or large"
++msgstr "Tamaño del código: small, medium o large"
++
++#: config/m32r/m32r.opt:71
++msgid "Don't call any cache flush functions"
++msgstr "No llama a ninguna función de limpieza de caché"
++
++#: config/m32r/m32r.opt:75
++msgid "Don't call any cache flush trap"
++msgstr "No llama a ninguna trampa de limpieza de caché"
++
++#: config/m32r/m32r.opt:82
++msgid "Small data area: none, sdata, use"
++msgstr "Área de datos small: none, sdata, use"
++
+ #: config/arc/arc.opt:32
+ msgid "Prepend the name of the cpu to all public symbol names"
+ msgstr "Agrega el nombre del cpu al inicio de todos los nombres de símbolo públicos"
+@@ -13124,6 +13373,524 @@
+ msgid "Put read-only data in SECTION"
+ msgstr "Pone los datos de sólo lectura en SECTION"
+
++#: config/m32c/m32c.opt:24 config/mt/mt.opt:27 config/bfin/bfin.opt:23
++msgid "Use simulator runtime"
++msgstr "Usa el simulador de tiempo de ejecución"
++
++#: config/m32c/m32c.opt:28
++msgid "Compile code for R8C variants"
++msgstr "Compila código para variantes R8C"
++
++#: config/m32c/m32c.opt:32
++msgid "Compile code for M16C variants"
++msgstr "Compila código para variantes M16C"
++
++#: config/m32c/m32c.opt:36
++msgid "Compile code for M32CM variants"
++msgstr "Compila código para variantes M32CM"
++
++#: config/m32c/m32c.opt:40
++msgid "Compile code for M32C variants"
++msgstr "Compila código para variantes M32C"
++
++#: config/m32c/m32c.opt:44
++msgid "Number of memreg bytes (default: 16, range: 0..16)"
++msgstr "Número de bytes de memreg (por defecto: 16, rango: 0..16)"
++
++#: config/pdp11/pdp11.opt:23
++msgid "Generate code for an 11/10"
++msgstr "Genera código para un 11/10"
++
++#: config/pdp11/pdp11.opt:27
++msgid "Generate code for an 11/40"
++msgstr "Genera código para un 11/40"
++
++#: config/pdp11/pdp11.opt:31
++msgid "Generate code for an 11/45"
++msgstr "Genera código para un 11/45"
++
++#: config/pdp11/pdp11.opt:35
++msgid "Use 16-bit abs patterns"
++msgstr "Usa patrones abs de 64-bit"
++
++#: config/pdp11/pdp11.opt:39
++msgid "Return floating-point results in ac0 (fr0 in Unix assembler syntax)"
++msgstr "Devuelve los resultados de coma flotante en ac0 (fr0 en sintaxis de ensamblador Unix)"
++
++#: config/pdp11/pdp11.opt:43
++msgid "Do not use inline patterns for copying memory"
++msgstr "No usa patrones incluídos en línea para copiado de memoria"
++
++#: config/pdp11/pdp11.opt:47
++msgid "Use inline patterns for copying memory"
++msgstr "Usa patrones incluídos en línea para copiado de memoria"
++
++#: config/pdp11/pdp11.opt:51
++msgid "Do not pretend that branches are expensive"
++msgstr "No pretende que las ramificaciones son costosas"
++
++#: config/pdp11/pdp11.opt:55
++msgid "Pretend that branches are expensive"
++msgstr "Pretende que las ramificaciones son costosas"
++
++#: config/pdp11/pdp11.opt:59
++msgid "Use the DEC assembler syntax"
++msgstr "Usa la sintaxis de ensamblador DEC"
++
++#: config/pdp11/pdp11.opt:63
++msgid "Use 32 bit float"
++msgstr "Usa float de 32 bit"
++
++#: config/pdp11/pdp11.opt:67
++msgid "Use 64 bit float"
++msgstr "Usa float de 64 bit"
++
++#: config/pdp11/pdp11.opt:75
++msgid "Use 16 bit int"
++msgstr "Usa int de 16 bit"
++
++#: config/pdp11/pdp11.opt:79
++msgid "Use 32 bit int"
++msgstr "Usa int de 32 bit"
++
++#: config/pdp11/pdp11.opt:87
++msgid "Target has split I&D"
++msgstr "El objetivo tiene I&D dividido"
++
++#: config/pdp11/pdp11.opt:91
++msgid "Use UNIX assembler syntax"
++msgstr "Usa sintaxis de ensamblador UNIX"
++
++#: config/m68k/m68k.opt:23
++msgid "Generate code for a 520X"
++msgstr "Genera código para un 520X"
++
++#: config/m68k/m68k.opt:27
++msgid "Generate code for a 5206e"
++msgstr "Genera código para un 5206e"
++
++#: config/m68k/m68k.opt:31
++msgid "Generate code for a 528x"
++msgstr "Genera código para un 528x"
++
++#: config/m68k/m68k.opt:35
++msgid "Generate code for a 5307"
++msgstr "Genera código para un 5307"
++
++#: config/m68k/m68k.opt:39
++msgid "Generate code for a 5407"
++msgstr "Genera código para un 5407"
++
++#: config/m68k/m68k.opt:43 config/m68k/m68k.opt:104
++msgid "Generate code for a 68000"
++msgstr "Genera código para un 68000"
++
++#: config/m68k/m68k.opt:47
++msgid "Generate code for a 68010"
++msgstr "Genera código para un 68010"
++
++#: config/m68k/m68k.opt:51 config/m68k/m68k.opt:108
++msgid "Generate code for a 68020"
++msgstr "Genera código para un 68020"
++
++#: config/m68k/m68k.opt:55
++msgid "Generate code for a 68040, without any new instructions"
++msgstr "Genera código para un 68040, sin ninguna instrucción nueva"
++
++#: config/m68k/m68k.opt:59
++msgid "Generate code for a 68060, without any new instructions"
++msgstr "Genera código para un 68060, sin ninguna instrucción nueva"
++
++#: config/m68k/m68k.opt:63
++msgid "Generate code for a 68030"
++msgstr "Genera código para un 68030"
++
++#: config/m68k/m68k.opt:67
++msgid "Generate code for a 68040"
++msgstr "Genera código para un 68040"
++
++#: config/m68k/m68k.opt:71
++msgid "Generate code for a 68060"
++msgstr "Genera código para un 68060"
++
++#: config/m68k/m68k.opt:75
++msgid "Generate code for a 68302"
++msgstr "Genera código para un 68302"
++
++#: config/m68k/m68k.opt:79
++msgid "Generate code for a 68332"
++msgstr "Genera código para un 68332"
++
++#: config/m68k/m68k.opt:84
++msgid "Generate code for a 68851"
++msgstr "Genera código para un 68851"
++
++#: config/m68k/m68k.opt:88
++msgid "Generate code that uses 68881 floating-point instructions"
++msgstr "Genera código que use las instrucciones de coma flotante de un 68881"
++
++#: config/m68k/m68k.opt:92
++msgid "Align variables on a 32-bit boundary"
++msgstr "Alínea las variables en un límite de 32-bit"
++
++#: config/m68k/m68k.opt:100
++msgid "Use the bit-field instructions"
++msgstr "Usa las instrucciones de campos de bit"
++
++#: config/m68k/m68k.opt:112
++msgid "Generate code for a ColdFire v4e"
++msgstr "Genera código para un ColdFire v4e"
++
++#: config/m68k/m68k.opt:116
++msgid "Specify the target CPU"
++msgstr "Selecciona el CPU destino"
++
++#: config/m68k/m68k.opt:120
++msgid "Generate code for a cpu32"
++msgstr "Genera código para un cpu32"
++
++#: config/m68k/m68k.opt:124
++msgid "Use hardware division instructions on ColdFire"
++msgstr "Usa instrucciones de división por hardware en ColdFire"
++
++#: config/m68k/m68k.opt:128
++msgid "Generate code for a Fido A"
++msgstr "Genera código para un Fido A"
++
++#: config/m68k/m68k.opt:132
++msgid "Generate code which uses hardware floating point instructions"
++msgstr "Genera código que use las instrucciones de coma flotante de hardware"
++
++#: config/m68k/m68k.opt:136
++msgid "Enable ID based shared library"
++msgstr "Activa la biblioteca compartida basada en ID"
++
++#: config/m68k/m68k.opt:140
++msgid "Do not use the bit-field instructions"
++msgstr "No usa las instrucciones de campos de bit"
++
++#: config/m68k/m68k.opt:144
++msgid "Use normal calling convention"
++msgstr "Usa la convención de llamada normal"
++
++#: config/m68k/m68k.opt:148
++msgid "Consider type 'int' to be 32 bits wide"
++msgstr "Considera que el tipo 'int' es de 32 bits de anchura"
++
++# pc = program counter. cfuga
++#: config/m68k/m68k.opt:152
++msgid "Generate pc-relative code"
++msgstr "Genera código relativo al pc"
++
++#: config/m68k/m68k.opt:156
++msgid "Use different calling convention using 'rtd'"
++msgstr "Usa la convención de llamada diferente usando 'rtd'"
++
++#: config/m68k/m68k.opt:160 config/bfin/bfin.opt:61
++msgid "Enable separate data segment"
++msgstr "Activa los segmentos de datos separados"
++
++#: config/m68k/m68k.opt:164 config/bfin/bfin.opt:57
++msgid "ID of shared library to build"
++msgstr "ID de la biblioteca compartida a crear"
++
++#: config/m68k/m68k.opt:168
++msgid "Consider type 'int' to be 16 bits wide"
++msgstr "Considera que el tipo 'int' es de 16 bits de anchura"
++
++#: config/m68k/m68k.opt:172
++msgid "Generate code with library calls for floating point"
++msgstr "Genera código con llamadas a bibliotecas para coma flotante"
++
++#: config/m68k/m68k.opt:176
++msgid "Do not use unaligned memory references"
++msgstr "No permite las referencias a memoria sin alinear"
++
++#: config/m68k/m68k.opt:180
++msgid "Tune for the specified target CPU or architecture"
++msgstr "Optimiza para el CPU o la arquitectura destino"
++
++#: config/mmix/mmix.opt:24
++msgid "For intrinsics library: pass all parameters in registers"
++msgstr "Para la biblioteca de intrínsecos: pasa todos los parámetros en registros"
++
++#: config/mmix/mmix.opt:28
++msgid "Use register stack for parameters and return value"
++msgstr "Usa la pila de registros para los parámetros y el valor de devolución"
++
++#: config/mmix/mmix.opt:32
++msgid "Use call-clobbered registers for parameters and return value"
++msgstr "Usa registros de llamada alterada para los parámetros y el valor de devolución"
++
++#: config/mmix/mmix.opt:37
++msgid "Use epsilon-respecting floating point compare instructions"
++msgstr "Usa instrucciones de comparación de coma flotante que respeten epsilon"
++
++#: config/mmix/mmix.opt:41
++msgid "Use zero-extending memory loads, not sign-extending ones"
++msgstr "Usa cargas de memoria de extensión cero, no las de extensión con signo"
++
++#: config/mmix/mmix.opt:45
++msgid "Generate divide results with reminder having the same sign as the divisor (not the dividend)"
++msgstr "Genera resultados de división con residuo que tenga el mismo signo que el divisor (no el del dividendo)"
++
++#: config/mmix/mmix.opt:49
++msgid "Prepend global symbols with \":\" (for use with PREFIX)"
++msgstr "Precede los símbolos globales con \":\" (para usarse con PREFIJO)"
++
++#: config/mmix/mmix.opt:53
++msgid "Do not provide a default start-address 0x100 of the program"
++msgstr "No provee una dirección de inicio por defecto 0x100 del programa"
++
++#: config/mmix/mmix.opt:57
++msgid "Link to emit program in ELF format (rather than mmo)"
++msgstr "Enlaza para emitir el programa en formato ELF (en lugar de mmo)"
++
++#: config/mmix/mmix.opt:61
++msgid "Use P-mnemonics for branches statically predicted as taken"
++msgstr "Usa Mnemónicos-P para ramificaciones predichas estáticamente como tomadas"
++
++#: config/mmix/mmix.opt:65
++msgid "Don't use P-mnemonics for branches"
++msgstr "No usa Mnemónicos-P para ramificaciones"
++
++#: config/mmix/mmix.opt:79
++msgid "Use addresses that allocate global registers"
++msgstr "Usa direcciones que reserven registros globales"
++
++#: config/mmix/mmix.opt:83
++msgid "Do not use addresses that allocate global registers"
++msgstr "No usa direcciones que reserven registros globales"
++
++#: config/mmix/mmix.opt:87
++msgid "Generate a single exit point for each function"
++msgstr "Genera un sólo punto de salida para cada función"
++
++#: config/mmix/mmix.opt:91
++msgid "Do not generate a single exit point for each function"
++msgstr "No genera un sólo punto de salida para cada función"
++
++#: config/mmix/mmix.opt:95
++msgid "Set start-address of the program"
++msgstr "Establece la dirección de inicio del programa"
++
++#: config/mmix/mmix.opt:99
++msgid "Set start-address of data"
++msgstr "Establece la dirección de inicio de los datos"
++
++#: config/score/score.opt:31
++msgid "Disable bcnz instruction"
++msgstr "Desactiva la instrucción bcnz"
++
++#: config/score/score.opt:35
++msgid "Enable unaligned load/store instruction"
++msgstr "Activa la instrucción load/store sin alineación"
++
++#: config/score/score.opt:39
++msgid "Support SCORE 5 ISA"
++msgstr "Soporta el ISA de SCORE 5"
++
++#: config/score/score.opt:43
++msgid "Support SCORE 5U ISA"
++msgstr "Soporta el ISA de SCORE 5u"
++
++#: config/score/score.opt:47
++msgid "Support SCORE 7 ISA"
++msgstr "Soporta el ISA de SCORE 7"
++
++#: config/score/score.opt:51
++msgid "Support SCORE 7D ISA"
++msgstr "Soporta el ISA de SCORE 7D"
++
++#: config/score/score.opt:55
++msgid "Support SCORE 3 ISA"
++msgstr "Soporta el ISA de SCORE 3"
++
++#: config/score/score.opt:59
++msgid "Support SCORE 3d ISA"
++msgstr "Soporta el ISA de SCORE 3d"
++
++#: config/crx/crx.opt:23
++msgid "Support multiply accumulate instructions"
++msgstr "Da soporte a múltiples instrucciones de acumulador"
++
++#: config/crx/crx.opt:27
++msgid "Do not use push to store function arguments"
++msgstr "No usa push para guardar los argumentos de función"
++
++#: config/crx/crx.opt:31
++msgid "Restrict doloop to the given nesting level"
++msgstr "Restringe doloop para el nivel de anidamiento dado"
++
++#: config/mt/mt.opt:23
++msgid "Use byte loads and stores when generating code."
++msgstr "Usa cargas y almacenamientos de bytes al generar código."
++
++#: config/mt/mt.opt:31
++msgid "Do not include crt0.o in the startup files"
++msgstr "No incluye crt0.o en los ficheros de inicio"
++
++#: config/mt/mt.opt:35 config/mt/mt.opt:39 config/mt/mt.opt:43
++#: config/mt/mt.opt:47 config/mt/mt.opt:51
++msgid "Internal debug switch"
++msgstr "Interruptor de depuración interno"
++
++#: config/m68hc11/m68hc11.opt:23 config/m68hc11/m68hc11.opt:31
++msgid "Compile for a 68HC11"
++msgstr "Compila para un 68HC11"
++
++#: config/m68hc11/m68hc11.opt:27 config/m68hc11/m68hc11.opt:35
++msgid "Compile for a 68HC12"
++msgstr "Compila para un 68HC12"
++
++#: config/m68hc11/m68hc11.opt:41 config/m68hc11/m68hc11.opt:45
++msgid "Compile for a 68HCS12"
++msgstr "Compila para un 68HCS12"
++
++#: config/m68hc11/m68hc11.opt:49
++msgid "Auto pre/post decrement increment allowed"
++msgstr "Permite el auto pre/post decremento incremento"
++
++#: config/m68hc11/m68hc11.opt:53
++msgid "Min/max instructions allowed"
++msgstr "Permite las instrucciones min/max"
++
++#: config/m68hc11/m68hc11.opt:57
++msgid "Use call and rtc for function calls and returns"
++msgstr "Usa call y rtc para llamadas y devoluciones de función"
++
++#: config/m68hc11/m68hc11.opt:61
++msgid "Auto pre/post decrement increment not allowed"
++msgstr "No se permite el auto pre/post decremento incremento"
++
++#: config/m68hc11/m68hc11.opt:65
++msgid "Use jsr and rts for function calls and returns"
++msgstr "Usa jsr y rts para llamadas y devoluciones de función"
++
++#: config/m68hc11/m68hc11.opt:69
++msgid "Min/max instructions not allowed"
++msgstr "No se permiten las instrucciones min/max"
++
++# Ya sé que "soft" se refiere a un tipo de dato no fijo, pero no se me
++# ocurre en este momento una mejor traducción. cfuga
++#: config/m68hc11/m68hc11.opt:73
++msgid "Use direct addressing mode for soft registers"
++msgstr "Usa el modo de direccionamiento directo para los registros suaves"
++
++#: config/m68hc11/m68hc11.opt:77
++msgid "Compile with 32-bit integer mode"
++msgstr "Compila con el modo entero de 32-bit"
++
++#: config/m68hc11/m68hc11.opt:82
++msgid "Specify the register allocation order"
++msgstr "Especifica el orden de asignación de registros"
++
++# Ya sé que "soft" se refiere a un tipo de dato no fijo, pero no se me
++# ocurre en este momento una mejor traducción. cfuga
++#: config/m68hc11/m68hc11.opt:86
++msgid "Do not use direct addressing mode for soft registers"
++msgstr "No usa el modo de direccionamiento directo para los registros suaves"
++
++#: config/m68hc11/m68hc11.opt:90
++msgid "Compile with 16-bit integer mode"
++msgstr "Compila con el modo entero de 16-bit"
++
++#: config/m68hc11/m68hc11.opt:94
++msgid "Indicate the number of soft registers available"
++msgstr "Indica el número de registros suaves disponibles"
++
++#: config/fr30/fr30.opt:23
++msgid "Assume small address space"
++msgstr "Asume espacio de direcciones small"
++
++#: config/sparc/little-endian.opt:23
++msgid "Generate code for little-endian"
++msgstr "Genera código para little-endian"
++
++#: config/sparc/little-endian.opt:27
++msgid "Generate code for big-endian"
++msgstr "Genera código para big-endian"
++
++#: config/sparc/sparc.opt:23 config/sparc/sparc.opt:27
++msgid "Use hardware FP"
++msgstr "Usa FP de hardware"
++
++#: config/sparc/sparc.opt:31
++msgid "Do not use hardware FP"
++msgstr "No usa FP de hardware"
++
++#: config/sparc/sparc.opt:35
++msgid "Assume possible double misalignment"
++msgstr "Asume que la desalineación de double es posible"
++
++#: config/sparc/sparc.opt:39
++msgid "Pass -assert pure-text to linker"
++msgstr "Pasa el texto puro de -assert al enlazador"
++
++#: config/sparc/sparc.opt:43
++msgid "Use ABI reserved registers"
++msgstr "Usa los registros ABI reservados"
++
++#: config/sparc/sparc.opt:47
++msgid "Use hardware quad FP instructions"
++msgstr "Usa instrucciones de FP quad de hardware"
++
++#: config/sparc/sparc.opt:51
++msgid "Do not use hardware quad fp instructions"
++msgstr "No usa instrucciones de fp quad de hardware"
++
++#: config/sparc/sparc.opt:55
++msgid "Compile for V8+ ABI"
++msgstr "Compila para el ABI V8+"
++
++#: config/sparc/sparc.opt:59
++msgid "Use UltraSPARC Visual Instruction Set extensions"
++msgstr "Usa la extensión del Conjunto de Instrucciones Visuales de UltraSPARC"
++
++#: config/sparc/sparc.opt:63
++msgid "Pointers are 64-bit"
++msgstr "Los punteros son de 64-bit"
++
++#: config/sparc/sparc.opt:67
++msgid "Pointers are 32-bit"
++msgstr "Los punteros son de 32-bit"
++
++#: config/sparc/sparc.opt:71
++msgid "Use 64-bit ABI"
++msgstr "Usa la ABI de 64-bit"
++
++#: config/sparc/sparc.opt:75
++msgid "Use 32-bit ABI"
++msgstr "Usa la ABI de 32-bit"
++
++#: config/sparc/sparc.opt:79
++msgid "Use stack bias"
++msgstr "Usa la tendencia de la pila"
++
++#: config/sparc/sparc.opt:83
++msgid "Use structs on stronger alignment for double-word copies"
++msgstr "Usa structs en la alineación más fuerte para copias double-word"
++
++#: config/sparc/sparc.opt:87
++msgid "Optimize tail call instructions in assembler and linker"
++msgstr "Optimiza las instrucciones de la llamada del extremo en el ensamblador y el enlazador"
++
++#: config/sparc/sparc.opt:99
++msgid "Use given SPARC-V9 code model"
++msgstr "Usa el modelo de código del SPARC-V9 dado"
++
++#: config/sparc/sparc.opt:103
++msgid "Enable strict 32-bit psABI struct return checking."
++msgstr "Permite la revisión de devolución de struct psABI de 32 bits estricta."
++
++#: config/sh/superh.opt:6
++msgid "Board name [and memory region]."
++msgstr "Nombre del tablero [y región de memoria]."
++
++#: config/sh/superh.opt:10
++msgid "Runtime name."
++msgstr "Nombre del ambiente de ejecución."
++
+ #: config/sh/sh.opt:44
+ msgid "Generate SH1 code"
+ msgstr "Genera código SH1"
+@@ -13396,468 +14163,18 @@
+ msgid "Pretend a branch-around-a-move is a conditional move."
+ msgstr "Pretende que una ramificación-alrededor-de-un-movimiento es un movimiento condicional."
+
+-#: config/sh/superh.opt:6
+-msgid "Board name [and memory region]."
+-msgstr "Nombre del tablero [y región de memoria]."
++#: config/vxworks.opt:24
++msgid "Assume the VxWorks RTP environment"
++msgstr "Asume el ambiente RTP de VxWorks"
+
+-#: config/sh/superh.opt:10
+-msgid "Runtime name."
+-msgstr "Nombre del ambiente de ejecución."
++#: config/vxworks.opt:31
++msgid "Assume the VxWorks vThreads environment"
++msgstr "Asume el ambiente vThreads de VxWorks"
+
+-#: config/arm/arm.opt:23
+-msgid "Specify an ABI"
+-msgstr "Especifica una ABI"
++#: config/mips/sdemtk.opt:23
++msgid "Prevent the use of all floating-point operations"
++msgstr "Previene el uso de todas las instrucciones de coma flotante"
+
+-#: config/arm/arm.opt:27
+-msgid "Generate a call to abort if a noreturn function returns"
+-msgstr "Genera una llamada a abortar si una funcion noreturn devuelve"
+-
+-#: config/arm/arm.opt:34
+-msgid "Pass FP arguments in FP registers"
+-msgstr "Pasa los argumentos FP en los registros FP"
+-
+-#: config/arm/arm.opt:38
+-msgid "Generate APCS conformant stack frames"
+-msgstr "Genera marcos de pila que cumplan con APCS"
+-
+-#: config/arm/arm.opt:42
+-msgid "Generate re-entrant, PIC code"
+-msgstr "Genera código PIC reentrante"
+-
+-#: config/arm/arm.opt:56
+-msgid "Assume target CPU is configured as big endian"
+-msgstr "Asume que el CPU destino está configurado como big endian"
+-
+-#: config/arm/arm.opt:60
+-msgid "Thumb: Assume non-static functions may be called from ARM code"
+-msgstr "Thumb: Asume que las funciones no static pueden ser llamadas desde código ARM"
+-
+-#: config/arm/arm.opt:64
+-msgid "Thumb: Assume function pointers may go to non-Thumb aware code"
+-msgstr "Thumb: Asume que los punteros de función pueden ir a código no informado sobre Thumb"
+-
+-#: config/arm/arm.opt:68
+-msgid "Cirrus: Place NOPs to avoid invalid instruction combinations"
+-msgstr "Cirrus: Coloca NOPs para evitar combinaciones inválidas de instrucciones"
+-
+-#: config/arm/arm.opt:72 config/bfin/bfin.opt:27
+-msgid "Specify the name of the target CPU"
+-msgstr "Especifica el nombre del CPU destino"
+-
+-#: config/arm/arm.opt:76
+-msgid "Specify if floating point hardware should be used"
+-msgstr "Especifica si se debe usar la coma flotante"
+-
+-#: config/arm/arm.opt:90
+-msgid "Specify the name of the target floating point hardware/format"
+-msgstr "Especifica el nombre del hardware/formato de coma flotante destino"
+-
+-#: config/arm/arm.opt:94
+-msgid "Alias for -mfloat-abi=hard"
+-msgstr "Alias para -mfloat-abi=hard"
+-
+-#: config/arm/arm.opt:98
+-msgid "Assume target CPU is configured as little endian"
+-msgstr "Asume que el CPU destino está configurado como little endian"
+-
+-#: config/arm/arm.opt:102
+-msgid "Generate call insns as indirect calls, if necessary"
+-msgstr "Genera las llamadas insns como llamadas indirectas, si es necesario"
+-
+-#: config/arm/arm.opt:106
+-msgid "Specify the register to be used for PIC addressing"
+-msgstr "Especifica el registro a usar para el direccionamiento PIC"
+-
+-#: config/arm/arm.opt:110
+-msgid "Store function names in object code"
+-msgstr "Almacena nombres de función en el código objeto"
+-
+-#: config/arm/arm.opt:114
+-msgid "Permit scheduling of a function's prologue sequence"
+-msgstr "Permite la calendarización de un secuencia de los prólogos de función"
+-
+-#: config/arm/arm.opt:118
+-msgid "Do not load the PIC register in function prologues"
+-msgstr "No carga el registro PIC en los prólogos de función"
+-
+-#: config/arm/arm.opt:122
+-msgid "Alias for -mfloat-abi=soft"
+-msgstr "Alias para -mfloat-abi=soft"
+-
+-#: config/arm/arm.opt:126
+-msgid "Specify the minimum bit alignment of structures"
+-msgstr "Especifica la alineación mínima de bit de las estructuras"
+-
+-#: config/arm/arm.opt:130
+-msgid "Compile for the Thumb not the ARM"
+-msgstr "Compila para el Thumb on para el ARM"
+-
+-#: config/arm/arm.opt:134
+-msgid "Support calls between Thumb and ARM instruction sets"
+-msgstr "Soporte a llamadas entre los conjuntos de instrucciones Thumb y ARM"
+-
+-#: config/arm/arm.opt:138
+-msgid "Specify how to access the thread pointer"
+-msgstr "Especifica cómo accessar al puntero de hilo"
+-
+-#: config/arm/arm.opt:142
+-msgid "Thumb: Generate (non-leaf) stack frames even if not needed"
+-msgstr "Thumb: Genera marcos de pila (no-hojas) aún si no es necesario"
+-
+-#: config/arm/arm.opt:146
+-msgid "Thumb: Generate (leaf) stack frames even if not needed"
+-msgstr "Thumb: Genera marcos de pila (hojas) aún si no es necesario"
+-
+-#: config/arm/arm.opt:150
+-msgid "Tune code for the given processor"
+-msgstr "Ajusta el código para el procesador dado"
+-
+-#: config/arm/arm.opt:154
+-msgid "Assume big endian bytes, little endian words"
+-msgstr "Asume que bytes son big endian, words son little endian"
+-
+-#: config/arm/arm.opt:158
+-msgid "Use Neon quad-word (rather than double-word) registers for vectorization"
+-msgstr "Usa los registros quad-word Neon (en lugar de double-word) para la vectorización"
+-
+-#: config/arm/pe.opt:23
+-msgid "Ignore dllimport attribute for functions"
+-msgstr "Ignora el atributo dllimport para las funciones"
+-
+-#: config/pdp11/pdp11.opt:23
+-msgid "Generate code for an 11/10"
+-msgstr "Genera código para un 11/10"
+-
+-#: config/pdp11/pdp11.opt:27
+-msgid "Generate code for an 11/40"
+-msgstr "Genera código para un 11/40"
+-
+-#: config/pdp11/pdp11.opt:31
+-msgid "Generate code for an 11/45"
+-msgstr "Genera código para un 11/45"
+-
+-#: config/pdp11/pdp11.opt:35
+-msgid "Use 16-bit abs patterns"
+-msgstr "Usa patrones abs de 64-bit"
+-
+-#: config/pdp11/pdp11.opt:39
+-msgid "Return floating-point results in ac0 (fr0 in Unix assembler syntax)"
+-msgstr "Devuelve los resultados de coma flotante en ac0 (fr0 en sintaxis de ensamblador Unix)"
+-
+-#: config/pdp11/pdp11.opt:43
+-msgid "Do not use inline patterns for copying memory"
+-msgstr "No usa patrones incluídos en línea para copiado de memoria"
+-
+-#: config/pdp11/pdp11.opt:47
+-msgid "Use inline patterns for copying memory"
+-msgstr "Usa patrones incluídos en línea para copiado de memoria"
+-
+-#: config/pdp11/pdp11.opt:51
+-msgid "Do not pretend that branches are expensive"
+-msgstr "No pretende que las ramificaciones son costosas"
+-
+-#: config/pdp11/pdp11.opt:55
+-msgid "Pretend that branches are expensive"
+-msgstr "Pretende que las ramificaciones son costosas"
+-
+-#: config/pdp11/pdp11.opt:59
+-msgid "Use the DEC assembler syntax"
+-msgstr "Usa la sintaxis de ensamblador DEC"
+-
+-#: config/pdp11/pdp11.opt:63
+-msgid "Use 32 bit float"
+-msgstr "Usa float de 32 bit"
+-
+-#: config/pdp11/pdp11.opt:67
+-msgid "Use 64 bit float"
+-msgstr "Usa float de 64 bit"
+-
+-#: config/pdp11/pdp11.opt:75
+-msgid "Use 16 bit int"
+-msgstr "Usa int de 16 bit"
+-
+-#: config/pdp11/pdp11.opt:79
+-msgid "Use 32 bit int"
+-msgstr "Usa int de 32 bit"
+-
+-#: config/pdp11/pdp11.opt:87
+-msgid "Target has split I&D"
+-msgstr "El objetivo tiene I&D dividido"
+-
+-#: config/pdp11/pdp11.opt:91
+-msgid "Use UNIX assembler syntax"
+-msgstr "Usa sintaxis de ensamblador UNIX"
+-
+-#: config/avr/avr.opt:23
+-msgid "Use subroutines for function prologues and epilogues"
+-msgstr "Usa subrutinas para los prólogos y epílogos de función"
+-
+-#: config/avr/avr.opt:27
+-msgid "Select the target MCU"
+-msgstr "Selecciona el MCU destino"
+-
+-#: config/avr/avr.opt:34
+-msgid "Use an 8-bit 'int' type"
+-msgstr "Usa un tipo 'int' de 8-bit"
+-
+-#: config/avr/avr.opt:38
+-msgid "Change the stack pointer without disabling interrupts"
+-msgstr "Cambia el puntero de la pila sin desactivar las interrupciones"
+-
+-#: config/avr/avr.opt:42
+-msgid "Do not generate tablejump insns"
+-msgstr "No genera insns de salto de tabla"
+-
+-#: config/avr/avr.opt:52
+-msgid "Use rjmp/rcall (limited range) on >8K devices"
+-msgstr "Usa rjmp/rcall (rango limitado) en dispositivos >8K"
+-
+-#: config/avr/avr.opt:56
+-msgid "Output instruction sizes to the asm file"
+-msgstr "Tamaños de instrucción de salida al fichero asm"
+-
+-#: config/avr/avr.opt:60
+-msgid "Change only the low 8 bits of the stack pointer"
+-msgstr "Cambia sólo los 8 bits bajos del puntero de pila"
+-
+-#: config/crx/crx.opt:23
+-msgid "Support multiply accumulate instructions"
+-msgstr "Da soporte a múltiples instrucciones de acumulador"
+-
+-#: config/crx/crx.opt:27
+-msgid "Do not use push to store function arguments"
+-msgstr "No usa push para guardar los argumentos de función"
+-
+-#: config/crx/crx.opt:31
+-msgid "Restrict doloop to the given nesting level"
+-msgstr "Restringe doloop para el nivel de anidamiento dado"
+-
+-#: config/c4x/c4x.opt:23
+-msgid "Generate code for C30 CPU"
+-msgstr "Genera código para el CPU C30"
+-
+-#: config/c4x/c4x.opt:27
+-msgid "Generate code for C31 CPU"
+-msgstr "Genera código para el CPU C31"
+-
+-#: config/c4x/c4x.opt:31
+-msgid "Generate code for C32 CPU"
+-msgstr "Genera código para el CPU C32"
+-
+-#: config/c4x/c4x.opt:35
+-msgid "Generate code for C33 CPU"
+-msgstr "Genera código para el CPU C33"
+-
+-#: config/c4x/c4x.opt:39
+-msgid "Generate code for C40 CPU"
+-msgstr "Genera código para el CPU C40"
+-
+-#: config/c4x/c4x.opt:43
+-msgid "Generate code for C44 CPU"
+-msgstr "Genera código para el CPU C44"
+-
+-#: config/c4x/c4x.opt:47
+-msgid "Assume that pointers may be aliased"
+-msgstr "Asume que se pueden hacer alias de los punteros"
+-
+-#: config/c4x/c4x.opt:51
+-msgid "Big memory model"
+-msgstr "Modelo de memoria big"
+-
+-#: config/c4x/c4x.opt:55
+-msgid "Use the BK register as a general purpose register"
+-msgstr "Usa el registro BK como un registro de propósito general"
+-
+-#: config/c4x/c4x.opt:59
+-msgid "Generate code for CPU"
+-msgstr "Genera código para el CPU"
+-
+-#: config/c4x/c4x.opt:63
+-msgid "Enable use of DB instruction"
+-msgstr "Activa el uso de la instrucción DB"
+-
+-#: config/c4x/c4x.opt:67
+-msgid "Enable debugging"
+-msgstr "Activa la depuración"
+-
+-#: config/c4x/c4x.opt:71
+-msgid "Enable new features under development"
+-msgstr "Activa nuevas características en desarrollo"
+-
+-#: config/c4x/c4x.opt:75
+-msgid "Use fast but approximate float to integer conversion"
+-msgstr "Usa conversión de coma flotante a entero rápida pero aproximada"
+-
+-#: config/c4x/c4x.opt:79
+-msgid "Force RTL generation to emit valid 3 operand insns"
+-msgstr "Fuerza que la generación de RTL emita 3 operandos insns válidos"
+-
+-#: config/c4x/c4x.opt:83
+-msgid "Force constants into registers to improve hoisting"
+-msgstr "Fuerza las constantes dentro de registros para mejorar el levantamiento"
+-
+-#: config/c4x/c4x.opt:87 config/c4x/c4x.opt:111
+-msgid "Save DP across ISR in small memory model"
+-msgstr "Guarda DP entre ISR en el modelo de memoria small"
+-
+-#: config/c4x/c4x.opt:91
+-msgid "Allow unsigned iteration counts for RPTB/DB"
+-msgstr "Permite cuentas de iteración unsigned para RPTB/DB"
+-
+-#: config/c4x/c4x.opt:95
+-msgid "Pass arguments on the stack"
+-msgstr "Pasa los argumentos en la pila"
+-
+-#: config/c4x/c4x.opt:99
+-msgid "Use MPYI instruction for C3x"
+-msgstr "Usa instrucción MPYI para C3x"
+-
+-#: config/c4x/c4x.opt:103
+-msgid "Enable parallel instructions"
+-msgstr "Activa las funciones paralelas"
+-
+-#: config/c4x/c4x.opt:107
+-msgid "Enable MPY||ADD and MPY||SUB instructions"
+-msgstr "Activa las instrucciones MPY||ADD y MPY||SUB"
+-
+-#: config/c4x/c4x.opt:115
+-msgid "Preserve all 40 bits of FP reg across call"
+-msgstr "Preserva los 40 bits del registro FP entre llamadas"
+-
+-#: config/c4x/c4x.opt:119
+-msgid "Pass arguments in registers"
+-msgstr "Pasa argumentos en registros"
+-
+-#: config/c4x/c4x.opt:123
+-msgid "Enable use of RTPB instruction"
+-msgstr "Activa el uso de la instrucción RTPB"
+-
+-#: config/c4x/c4x.opt:127
+-msgid "Enable use of RTPS instruction"
+-msgstr "Activa el uso de la instrucción RTPS"
+-
+-#: config/c4x/c4x.opt:131
+-msgid "Set the maximum number of iterations for RPTS to N"
+-msgstr "Establece el número máximo de iteraciones para RPTS a N"
+-
+-#: config/c4x/c4x.opt:135
+-msgid "Small memory model"
+-msgstr "Modelo de memoria small"
+-
+-#: config/c4x/c4x.opt:139
+-msgid "Emit code compatible with TI tools"
+-msgstr "Emite código compatibles con las herramientas de TI"
+-
+-#: config/pa/pa-hpux.opt:23
+-msgid "Generate cpp defines for server IO"
+-msgstr "Genera definiciones cpp para ES de servidor"
+-
+-#: config/pa/pa-hpux.opt:27 config/pa/pa-hpux1010.opt:23
+-#: config/pa/pa-hpux1111.opt:23
+-msgid "Specify UNIX standard for predefines and linking"
+-msgstr "Especifica el estándar UNIX para las predefiniciones y enlazado"
+-
+-#: config/pa/pa-hpux.opt:31
+-msgid "Generate cpp defines for workstation IO"
+-msgstr "Genera definiciones cpp para ES de estación de trabajo"
+-
+-#: config/pa/pa.opt:23 config/pa/pa.opt:76 config/pa/pa.opt:84
+-msgid "Generate PA1.0 code"
+-msgstr "Genera código PA1.0"
+-
+-#: config/pa/pa.opt:27 config/pa/pa.opt:88 config/pa/pa.opt:108
+-msgid "Generate PA1.1 code"
+-msgstr "Genera código PA1.1"
+-
+-#: config/pa/pa.opt:31 config/pa/pa.opt:92
+-msgid "Generate PA2.0 code (requires binutils 2.10 or later)"
+-msgstr "Genera código PA2.0 (requiere binutils 2.10 o superior)"
+-
+-#: config/pa/pa.opt:35
+-msgid "Generate code for huge switch statements"
+-msgstr "Genera código para declaraciones switch huge"
+-
+-#: config/pa/pa.opt:39
+-msgid "Disable FP regs"
+-msgstr "Desactiva los registros FP"
+-
+-#: config/pa/pa.opt:43
+-msgid "Disable indexed addressing"
+-msgstr "Desactiva el direccionamiento indizado"
+-
+-#: config/pa/pa.opt:47
+-msgid "Generate fast indirect calls"
+-msgstr "Genera llamadas indirectas rápidas"
+-
+-#: config/pa/pa.opt:55
+-msgid "Assume code will be assembled by GAS"
+-msgstr "Asume que el código será ensamblado por GAS"
+-
+-# config/pa/pa.h:236
+-#: config/pa/pa.opt:59
+-msgid "Put jumps in call delay slots"
+-msgstr "Pone saltos en ranuras de retardo de llamadas"
+-
+-#: config/pa/pa.opt:64
+-msgid "Enable linker optimizations"
+-msgstr "Activa las optimizaciones del enlazador"
+-
+-#: config/pa/pa.opt:68
+-msgid "Always generate long calls"
+-msgstr "Genera siempre llamadas long"
+-
+-#: config/pa/pa.opt:72
+-msgid "Emit long load/store sequences"
+-msgstr "Emite secuencias load/store long"
+-
+-#: config/pa/pa.opt:80
+-msgid "Disable space regs"
+-msgstr "Desactiva los registros de espacio"
+-
+-#: config/pa/pa.opt:96
+-msgid "Use portable calling conventions"
+-msgstr "Usa convenciones de llamada transportable"
+-
+-#: config/pa/pa.opt:100
+-msgid "Specify CPU for scheduling purposes. Valid arguments are 700, 7100, 7100LC, 7200, 7300, and 8000"
+-msgstr "Especifica el CPU por razones de calendarización. Los argumentos válidos son 700, 7100, 7100LC, 7200, 7300, y 8000"
+-
+-#: config/pa/pa.opt:112
+-msgid "Do not disable space regs"
+-msgstr "No desactiva los registros de espacio"
+-
+-#: config/pa/pa64-hpux.opt:23
+-msgid "Assume code will be linked by GNU ld"
+-msgstr "Asume que el código será enlazado por ld de GNU"
+-
+-#: config/pa/pa64-hpux.opt:27
+-msgid "Assume code will be linked by HP ld"
+-msgstr "Asume que el código será enlazado por ld de HP"
+-
+-#: config/xtensa/xtensa.opt:23
+-msgid "Use CONST16 instruction to load constants"
+-msgstr "Usa la instrucción CONST16 para cargar constantes"
+-
+-#: config/xtensa/xtensa.opt:27
+-msgid "Enable fused multiply/add and multiply/subtract FP instructions"
+-msgstr "Activa las instrucciones FP multiply/add y multiply/substract de corto circuito"
+-
+-#: config/xtensa/xtensa.opt:31
+-msgid "Use indirect CALLXn instructions for large programs"
+-msgstr "Usa las instrucciones CALLXn indirectas para programas grandes"
+-
+-#: config/xtensa/xtensa.opt:35
+-msgid "Automatically align branch targets to reduce branch penalties"
+-msgstr "Alínea automáticamente los objetivos de las ramificaciones para reducir las penas de ramificación"
+-
+-#: config/xtensa/xtensa.opt:39
+-msgid "Intersperse literal pools with code in the text section"
+-msgstr "Dispersa los conjuntos de literales con código en la sección de texto"
+-
+-#: config/stormy16/stormy16.opt:24
+-msgid "Provide libraries for the simulator"
+-msgstr "Provee bibliotecas para el simulador"
+-
+ #: config/mips/mips.opt:23
+ msgid "Generate code that conforms to the given ABI"
+ msgstr "Genera código que cumpla con la ABI dada"
+@@ -13926,10 +14243,6 @@
+ msgid "Use little-endian byte order"
+ msgstr "Usa el orden de byte little-endian"
+
+-#: config/mips/mips.opt:97 config/iq2000/iq2000.opt:31
+-msgid "Use ROM instead of RAM"
+-msgstr "Usa la ROM en lugar de la RAM"
+-
+ #: config/mips/mips.opt:101
+ msgid "Use NewABI-style %reloc() assembly operators"
+ msgstr "Usa los operadores de ensamblador %reloc() del estilo NewABI"
+@@ -14094,10 +14407,6 @@
+ msgid "Optimize the output for PROCESSOR"
+ msgstr "Optimiza la salida para el PROCESADOR"
+
+-#: config/mips/mips.opt:265 config/iq2000/iq2000.opt:44
+-msgid "Put uninitialized constants in ROM (needs -membedded-data)"
+-msgstr "Pone las constantes sin inicializar en ROM (necesita -membedded-data)"
+-
+ #: config/mips/mips.opt:269
+ msgid "Perform VR4130-specific alignment optimizations"
+ msgstr "Realiza optimizaciones de alineación específicas para VR4130"
+@@ -14106,371 +14415,6 @@
+ msgid "Lift restrictions on GOT size"
+ msgstr "Levanta restricciones en el tamaño de GOT"
+
+-#: config/mips/sdemtk.opt:23
+-msgid "Prevent the use of all floating-point operations"
+-msgstr "Previene el uso de todas las instrucciones de coma flotante"
+-
+-#: config/fr30/fr30.opt:23
+-msgid "Assume small address space"
+-msgstr "Asume espacio de direcciones small"
+-
+-#: config/m68hc11/m68hc11.opt:23 config/m68hc11/m68hc11.opt:31
+-msgid "Compile for a 68HC11"
+-msgstr "Compila para un 68HC11"
+-
+-#: config/m68hc11/m68hc11.opt:27 config/m68hc11/m68hc11.opt:35
+-msgid "Compile for a 68HC12"
+-msgstr "Compila para un 68HC12"
+-
+-#: config/m68hc11/m68hc11.opt:41 config/m68hc11/m68hc11.opt:45
+-msgid "Compile for a 68HCS12"
+-msgstr "Compila para un 68HCS12"
+-
+-#: config/m68hc11/m68hc11.opt:49
+-msgid "Auto pre/post decrement increment allowed"
+-msgstr "Permite el auto pre/post decremento incremento"
+-
+-#: config/m68hc11/m68hc11.opt:53
+-msgid "Min/max instructions allowed"
+-msgstr "Permite las instrucciones min/max"
+-
+-#: config/m68hc11/m68hc11.opt:57
+-msgid "Use call and rtc for function calls and returns"
+-msgstr "Usa call y rtc para llamadas y devoluciones de función"
+-
+-#: config/m68hc11/m68hc11.opt:61
+-msgid "Auto pre/post decrement increment not allowed"
+-msgstr "No se permite el auto pre/post decremento incremento"
+-
+-#: config/m68hc11/m68hc11.opt:65
+-msgid "Use jsr and rts for function calls and returns"
+-msgstr "Usa jsr y rts para llamadas y devoluciones de función"
+-
+-#: config/m68hc11/m68hc11.opt:69
+-msgid "Min/max instructions not allowed"
+-msgstr "No se permiten las instrucciones min/max"
+-
+-# Ya sé que "soft" se refiere a un tipo de dato no fijo, pero no se me
+-# ocurre en este momento una mejor traducción. cfuga
+-#: config/m68hc11/m68hc11.opt:73
+-msgid "Use direct addressing mode for soft registers"
+-msgstr "Usa el modo de direccionamiento directo para los registros suaves"
+-
+-#: config/m68hc11/m68hc11.opt:77
+-msgid "Compile with 32-bit integer mode"
+-msgstr "Compila con el modo entero de 32-bit"
+-
+-#: config/m68hc11/m68hc11.opt:82
+-msgid "Specify the register allocation order"
+-msgstr "Especifica el orden de asignación de registros"
+-
+-# Ya sé que "soft" se refiere a un tipo de dato no fijo, pero no se me
+-# ocurre en este momento una mejor traducción. cfuga
+-#: config/m68hc11/m68hc11.opt:86
+-msgid "Do not use direct addressing mode for soft registers"
+-msgstr "No usa el modo de direccionamiento directo para los registros suaves"
+-
+-#: config/m68hc11/m68hc11.opt:90
+-msgid "Compile with 16-bit integer mode"
+-msgstr "Compila con el modo entero de 16-bit"
+-
+-#: config/m68hc11/m68hc11.opt:94
+-msgid "Indicate the number of soft registers available"
+-msgstr "Indica el número de registros suaves disponibles"
+-
+-#: config/vax/vax.opt:23 config/vax/vax.opt:27
+-msgid "Target DFLOAT double precision code"
+-msgstr "Apunta a código DFLOAT de doble precisión"
+-
+-#: config/vax/vax.opt:31 config/vax/vax.opt:35
+-msgid "Generate GFLOAT double precision code"
+-msgstr "Genera código GFLOAT de doble precisión"
+-
+-#: config/vax/vax.opt:39
+-msgid "Generate code for GNU assembler (gas)"
+-msgstr "Genera código para el ensamblador de GNU (gas)"
+-
+-#: config/vax/vax.opt:43
+-msgid "Generate code for UNIX assembler"
+-msgstr "Genera código para el ensamblador UNIX"
+-
+-#: config/vax/vax.opt:47
+-msgid "Use VAXC structure conventions"
+-msgstr "Usa convenciones de estructura VAXC"
+-
+-#: config/cris/linux.opt:27
+-msgid "Together with -fpic and -fPIC, do not use GOTPLT references"
+-msgstr "Junto con -fpic y -fPIC, no utiliza referencias GOTPLT"
+-
+-#: config/cris/cris.opt:45
+-msgid "Work around bug in multiplication instruction"
+-msgstr "Evita el bicho en la instrucción de multiplicación"
+-
+-#: config/cris/cris.opt:51
+-msgid "Compile for ETRAX 4 (CRIS v3)"
+-msgstr "Compila para ETRAX 4 (CRIS v3)"
+-
+-#: config/cris/cris.opt:56
+-msgid "Compile for ETRAX 100 (CRIS v8)"
+-msgstr "Compila para ETRAX 100 (CRIS v8)"
+-
+-#: config/cris/cris.opt:64
+-msgid "Emit verbose debug information in assembly code"
+-msgstr "Emite información de depuración detallada en el código ensamblador"
+-
+-#: config/cris/cris.opt:71
+-msgid "Do not use condition codes from normal instructions"
+-msgstr "No usa códigos de condición para las instrucciones normales"
+-
+-#: config/cris/cris.opt:80
+-msgid "Do not emit addressing modes with side-effect assignment"
+-msgstr "No emite modos de direccionamiento con asignaciones colaterales"
+-
+-#: config/cris/cris.opt:89
+-msgid "Do not tune stack alignment"
+-msgstr "No ajusta la alineación de la pila"
+-
+-#: config/cris/cris.opt:98
+-msgid "Do not tune writable data alignment"
+-msgstr "No ajusta la alineación de los datos modificables"
+-
+-#: config/cris/cris.opt:107
+-msgid "Do not tune code and read-only data alignment"
+-msgstr "No ajusta la alineación del código y de datos de sólo lectura"
+-
+-#: config/cris/cris.opt:116
+-msgid "Align code and data to 32 bits"
+-msgstr "Alínea código y datos a 32 bits"
+-
+-#: config/cris/cris.opt:133
+-msgid "Don't align items in code or data"
+-msgstr "No alínea los elementos en el código o los datos"
+-
+-#: config/cris/cris.opt:142
+-msgid "Do not emit function prologue or epilogue"
+-msgstr "No emite el prólogo o epílogo de funciones"
+-
+-#: config/cris/cris.opt:149
+-msgid "Use the most feature-enabling options allowed by other options"
+-msgstr "Usa la mayor cantidad de características permitidas por otras opciones"
+-
+-#: config/cris/cris.opt:158
+-msgid "Override -mbest-lib-options"
+-msgstr "Anula -mbest-lib-options"
+-
+-#: config/cris/cris.opt:165
+-msgid "Generate code for the specified chip or CPU version"
+-msgstr "Genera código para el chip especificado o la versión de CPU"
+-
+-#: config/cris/cris.opt:169
+-msgid "Tune alignment for the specified chip or CPU version"
+-msgstr "Ajusta la alineación para el chip especificado o la versión de CPU"
+-
+-#: config/cris/cris.opt:173
+-msgid "Warn when a stackframe is larger than the specified size"
+-msgstr "Avisa cuando un marco de pila sea más grande que el tamaño especificado"
+-
+-#: config/cris/aout.opt:27
+-msgid "Compile for the MMU-less Etrax 100-based elinux system"
+-msgstr "Compila para el sistema elinux Etrax basado en 100 sin MMU"
+-
+-#: config/cris/aout.opt:33
+-msgid "For elinux, request a specified stack-size for this program"
+-msgstr "Para elinux, solicita un tamaño de pila especificado para este programa"
+-
+-#: config/h8300/h8300.opt:23
+-msgid "Generate H8S code"
+-msgstr "Genera código H8S"
+-
+-#: config/h8300/h8300.opt:27
+-msgid "Generate H8SX code"
+-msgstr "Genera código H8SX"
+-
+-#: config/h8300/h8300.opt:31
+-msgid "Generate H8S/2600 code"
+-msgstr "Genera código H8S/2600"
+-
+-#: config/h8300/h8300.opt:35
+-msgid "Make integers 32 bits wide"
+-msgstr "Hace los enteros de 32 bits de anchura"
+-
+-#: config/h8300/h8300.opt:42
+-msgid "Use registers for argument passing"
+-msgstr "Usa registros para el paso de parámetros"
+-
+-#: config/h8300/h8300.opt:46
+-msgid "Consider access to byte sized memory slow"
+-msgstr "Considera lento el acceso a memoria de tamaño byte"
+-
+-#: config/h8300/h8300.opt:50
+-msgid "Enable linker relaxing"
+-msgstr "Activa la relajación del enlazador"
+-
+-#: config/h8300/h8300.opt:54
+-msgid "Generate H8/300H code"
+-msgstr "Genera código H8/300H"
+-
+-#: config/h8300/h8300.opt:58
+-msgid "Enable the normal mode"
+-msgstr "Activa el modelo normal"
+-
+-#: config/h8300/h8300.opt:62
+-msgid "Use H8/300 alignment rules"
+-msgstr "Usa las reglas de alineación H8/300"
+-
+-#: config/v850/v850.opt:23
+-msgid "Use registers r2 and r5"
+-msgstr "Usa los registros r2 y r5"
+-
+-#: config/v850/v850.opt:27
+-msgid "Use 4 byte entries in switch tables"
+-msgstr "Usa entradas de 4 byte en las tablas de switch"
+-
+-# No me gusta mucho esta traducción. cfuga
+-#: config/v850/v850.opt:31
+-msgid "Enable backend debugging"
+-msgstr "Habilita la depuración del extremo trasero"
+-
+-#: config/v850/v850.opt:35
+-msgid "Do not use the callt instruction"
+-msgstr "No usa la instrucción callt"
+-
+-#: config/v850/v850.opt:39
+-msgid "Reuse r30 on a per function basis"
+-msgstr "Reusa r30 basado por función"
+-
+-#: config/v850/v850.opt:43
+-msgid "Support Green Hills ABI"
+-msgstr "Soporte para el ABI Green Hills"
+-
+-#: config/v850/v850.opt:47
+-msgid "Prohibit PC relative function calls"
+-msgstr "Prohíbe la llamada a funciones relativas al PC"
+-
+-#: config/v850/v850.opt:51
+-msgid "Use stubs for function prologues"
+-msgstr "Usa cabos para los prólogos de función"
+-
+-#: config/v850/v850.opt:55
+-msgid "Set the max size of data eligible for the SDA area"
+-msgstr "Establece el tamaño máximo de datos elegibles para el área SDA"
+-
+-#: config/v850/v850.opt:59
+-msgid "Enable the use of the short load instructions"
+-msgstr "Activa el uso de las instrucciones short load"
+-
+-#: config/v850/v850.opt:63
+-msgid "Same as: -mep -mprolog-function"
+-msgstr "Igual que: -mep -mprolog-function"
+-
+-#: config/v850/v850.opt:67
+-msgid "Set the max size of data eligible for the TDA area"
+-msgstr "Establece el tamaño máximo de datos elegibles para el área TDA"
+-
+-#: config/v850/v850.opt:71
+-msgid "Enforce strict alignment"
+-msgstr "Refuerza la alineación estricta"
+-
+-#: config/v850/v850.opt:78
+-msgid "Compile for the v850 processor"
+-msgstr "Compila para el procesador v850"
+-
+-#: config/v850/v850.opt:82
+-msgid "Compile for the v850e processor"
+-msgstr "Compila para el procesador v850e"
+-
+-#: config/v850/v850.opt:86
+-msgid "Compile for the v850e1 processor"
+-msgstr "Compila para el procesador v850e1"
+-
+-#: config/v850/v850.opt:90
+-msgid "Set the max size of data eligible for the ZDA area"
+-msgstr "Establece el tamaño máximo de datos elegibles para el área ZDA"
+-
+-#: config/mmix/mmix.opt:24
+-msgid "For intrinsics library: pass all parameters in registers"
+-msgstr "Para la biblioteca de intrínsecos: pasa todos los parámetros en registros"
+-
+-#: config/mmix/mmix.opt:28
+-msgid "Use register stack for parameters and return value"
+-msgstr "Usa la pila de registros para los parámetros y el valor de devolución"
+-
+-#: config/mmix/mmix.opt:32
+-msgid "Use call-clobbered registers for parameters and return value"
+-msgstr "Usa registros de llamada alterada para los parámetros y el valor de devolución"
+-
+-#: config/mmix/mmix.opt:37
+-msgid "Use epsilon-respecting floating point compare instructions"
+-msgstr "Usa instrucciones de comparación de coma flotante que respeten epsilon"
+-
+-#: config/mmix/mmix.opt:41
+-msgid "Use zero-extending memory loads, not sign-extending ones"
+-msgstr "Usa cargas de memoria de extensión cero, no las de extensión con signo"
+-
+-#: config/mmix/mmix.opt:45
+-msgid "Generate divide results with reminder having the same sign as the divisor (not the dividend)"
+-msgstr "Genera resultados de división con residuo que tenga el mismo signo que el divisor (no el del dividendo)"
+-
+-#: config/mmix/mmix.opt:49
+-msgid "Prepend global symbols with \":\" (for use with PREFIX)"
+-msgstr "Precede los símbolos globales con \":\" (para usarse con PREFIJO)"
+-
+-#: config/mmix/mmix.opt:53
+-msgid "Do not provide a default start-address 0x100 of the program"
+-msgstr "No provee una dirección de inicio por defecto 0x100 del programa"
+-
+-#: config/mmix/mmix.opt:57
+-msgid "Link to emit program in ELF format (rather than mmo)"
+-msgstr "Enlaza para emitir el programa en formato ELF (en lugar de mmo)"
+-
+-#: config/mmix/mmix.opt:61
+-msgid "Use P-mnemonics for branches statically predicted as taken"
+-msgstr "Usa Mnemónicos-P para ramificaciones predichas estáticamente como tomadas"
+-
+-#: config/mmix/mmix.opt:65
+-msgid "Don't use P-mnemonics for branches"
+-msgstr "No usa Mnemónicos-P para ramificaciones"
+-
+-#: config/mmix/mmix.opt:79
+-msgid "Use addresses that allocate global registers"
+-msgstr "Usa direcciones que reserven registros globales"
+-
+-#: config/mmix/mmix.opt:83
+-msgid "Do not use addresses that allocate global registers"
+-msgstr "No usa direcciones que reserven registros globales"
+-
+-#: config/mmix/mmix.opt:87
+-msgid "Generate a single exit point for each function"
+-msgstr "Genera un sólo punto de salida para cada función"
+-
+-#: config/mmix/mmix.opt:91
+-msgid "Do not generate a single exit point for each function"
+-msgstr "No genera un sólo punto de salida para cada función"
+-
+-#: config/mmix/mmix.opt:95
+-msgid "Set start-address of the program"
+-msgstr "Establece la dirección de inicio del programa"
+-
+-#: config/mmix/mmix.opt:99
+-msgid "Set start-address of data"
+-msgstr "Establece la dirección de inicio de los datos"
+-
+-#: config/iq2000/iq2000.opt:23 config/mt/mt.opt:55
+-msgid "Specify CPU for code generation purposes"
+-msgstr "Especifica el CPU para propósitos de generación de código"
+-
+-#: config/iq2000/iq2000.opt:27
+-msgid "Specify CPU for scheduling purposes"
+-msgstr "Especifica el CPU para propósitos de calendarización"
+-
+-#: config/iq2000/iq2000.opt:35
+-msgid "Use GP relative sdata/sbss sections"
+-msgstr "Utiliza secciones sdata/sbss relativas a GP"
+-
+-#: config/iq2000/iq2000.opt:40
+-msgid "No default crt0.o"
+-msgstr "No define a crt0.o por defecto"
+-
+ #: config/bfin/bfin.opt:31
+ msgid "Omit frame pointer for leaf functions"
+ msgstr "Omite el marco de referencia para las funciones hojas"
+@@ -14508,2036 +14452,2059 @@
+ msgid "Do stack checking using bounds in L1 scratch memory"
+ msgstr "Revisa la pila usando límites en la memoria de scratch L1"
+
+-#: config/mt/mt.opt:23
+-msgid "Use byte loads and stores when generating code."
+-msgstr "Usa cargas y almacenamientos de bytes al generar código."
++#: treelang/lang.opt:30
++msgid "Trace lexical analysis"
++msgstr "Rastrea el análisis léxico"
+
+-#: config/mt/mt.opt:31
+-msgid "Do not include crt0.o in the startup files"
+-msgstr "No incluye crt0.o en los ficheros de inicio"
++#: treelang/lang.opt:34
++msgid "Trace the parsing process"
++msgstr "Rastrea el proceso de decodificación"
+
+-#: config/mt/mt.opt:35 config/mt/mt.opt:39 config/mt/mt.opt:43
+-#: config/mt/mt.opt:47 config/mt/mt.opt:51
+-msgid "Internal debug switch"
+-msgstr "Interruptor de depuración interno"
++#: java/lang.opt:65
++msgid "Warn if a deprecated compiler feature, class, method, or field is used"
++msgstr "Avisa si se usa una opción de compilador, clase, método o campo obsoletos"
+
+-#: config/vxworks.opt:24
+-msgid "Assume the VxWorks RTP environment"
+-msgstr "Asume el ambiente RTP de VxWorks"
++#: java/lang.opt:69
++msgid "Warn if deprecated empty statements are found"
++msgstr "Avisa si se encuentran declaraciones vacías obsoletas"
+
+-#: config/vxworks.opt:31
+-msgid "Assume the VxWorks vThreads environment"
+-msgstr "Asume el ambiente vThreads de VxWorks"
++#: java/lang.opt:73
++msgid "Warn if .class files are out of date"
++msgstr "Avisa si los ficheros .class están desactualizados"
+
+-#: config/darwin.opt:23
+-msgid "Generate code suitable for fast turn around debugging"
+-msgstr "Genera código adecuado para vuelta rápida en la depuración"
++#: java/lang.opt:77
++msgid "Warn if modifiers are specified when not necessary"
++msgstr "Avisa si se especifican modificadores cuando no son necesarios"
+
+-#: config/darwin.opt:31
+-msgid "The earliest MacOS X version on which this program will run"
+-msgstr "La versión más temprana de MacOS X en la cual este programa se ejecutará"
++#: java/lang.opt:81
++msgid "Deprecated; use --classpath instead"
++msgstr "Obsoleto; use en su lugar --classpath"
+
+-#: config/darwin.opt:35
+-msgid "Set sizeof(bool) to 1"
+-msgstr "Establece sizeof(bool) a 1"
++#: java/lang.opt:88
++msgid "Permit the use of the assert keyword"
++msgstr "Permite el uso de la palabra clave assert"
+
+-#: config/darwin.opt:39
+-msgid "Generate code for darwin loadable kernel extensions"
+-msgstr "Genera código para las extensiones cargables de núcleo darwin"
++#: java/lang.opt:110
++msgid "Replace system path"
++msgstr "Reemplaza la ruta del sistema"
+
+-#: config/darwin.opt:43
+-msgid "Generate code for the kernel or loadable kernel extensions"
+-msgstr "Genera código para el núcleo o para las extensiones cargables del núcleo"
++#: java/lang.opt:114
++msgid "Generate checks for references to NULL"
++msgstr "Genera revisiones para referencias a NULL"
+
+-#: config/darwin.opt:47
+-msgid "Add <dir> to the end of the system framework include path"
+-msgstr "Agrega el <dir>ectorio al final de la ruta de inclusión del marco de trabajo del sistema"
++#: java/lang.opt:118
++msgid "Set class path"
++msgstr "Establece la ruta de clases"
+
+-#: config/lynx.opt:23
+-msgid "Support legacy multi-threading"
+-msgstr "Soporte para multihilos antiguo"
++#: java/lang.opt:125
++msgid "Output a class file"
++msgstr "Genera un fichero clase como salida"
+
+-#: config/lynx.opt:27
+-msgid "Use shared libraries"
+-msgstr "Usa bibliotecas compartidas"
++#: java/lang.opt:129
++msgid "Alias for -femit-class-file"
++msgstr "Alias para -femit-class-file"
+
+-#: config/lynx.opt:31
+-msgid "Support multi-threading"
+-msgstr "Soporte para multihilos"
++#: java/lang.opt:133
++msgid "Choose input encoding (defaults from your locale)"
++msgstr "Escoge la codificación de entrada (por defecto viene del local)"
+
+-#: config/score/score.opt:31
+-msgid "Disable bcnz instruction"
+-msgstr "Desactiva la instrucción bcnz"
++#: java/lang.opt:137
++msgid "Set the extension directory path"
++msgstr "Establece la ruta del directorio de extensiones"
+
+-#: config/score/score.opt:35
+-msgid "Enable unaligned load/store instruction"
+-msgstr "Activa la instrucción load/store sin alineación"
++#: java/lang.opt:144
++msgid "Input file is a file with a list of filenames to compile"
++msgstr "El fichero de entrada es un fichero con la lista de nombres de fichero a compilar"
+
+-#: config/score/score.opt:39
+-msgid "Support SCORE 5 ISA"
+-msgstr "Soporta el ISA de SCORE 5"
++#: java/lang.opt:151
++msgid "Always check for non gcj generated classes archives"
++msgstr "Revisa siempre por archivos de clases no generados por gcj"
+
+-#: config/score/score.opt:43
+-msgid "Support SCORE 5U ISA"
+-msgstr "Soporta el ISA de SCORE 5u"
++#: java/lang.opt:155
++msgid "Assume the runtime uses a hash table to map an object to its synchronization structure"
++msgstr "Asume que el tiempo de ejecución usa una tabla hash para mapear un objeto a su estructura de sincronización"
+
+-#: config/score/score.opt:47
+-msgid "Support SCORE 7 ISA"
+-msgstr "Soporta el ISA de SCORE 7"
++#: java/lang.opt:159
++msgid "Generate instances of Class at runtime"
++msgstr "Genera instancias de Class en tiempo de ejecución"
+
+-#: config/score/score.opt:51
+-msgid "Support SCORE 7D ISA"
+-msgstr "Soporta el ISA de SCORE 7D"
++#: java/lang.opt:163
++msgid "Use offset tables for virtual method calls"
++msgstr "Utiliza tablas de desplazamiento para llamadas a métodos virtuales"
+
+-#: config/score/score.opt:55
+-msgid "Support SCORE 3 ISA"
+-msgstr "Soporta el ISA de SCORE 3"
++#: java/lang.opt:170
++msgid "Assume native functions are implemented using JNI"
++msgstr "Asume que las funciones nativas se implementan usando JNI"
+
+-#: config/score/score.opt:59
+-msgid "Support SCORE 3d ISA"
+-msgstr "Soporta el ISA de SCORE 3d"
++#: java/lang.opt:174
++msgid "Enable optimization of static class initialization code"
++msgstr "Activa la optimización del código de inicialización de las clases static"
+
+-#: config/linux.opt:24
+-msgid "Use uClibc instead of GNU libc"
+-msgstr "Usa uClibc en lugar de libc de GNU"
++#: java/lang.opt:181
++msgid "Reduce the amount of reflection meta-data generated"
++msgstr "Reduce la cantidad de metadatos de reflexión generados"
+
+-#: config/linux.opt:28
+-msgid "Use GNU libc instead of uClibc"
+-msgstr "Usa libc de GNU en lugar de uClibc"
++#: java/lang.opt:185
++msgid "Enable assignability checks for stores into object arrays"
++msgstr "Activa revisiones de asignabilidad para almacenamientos en matrices de objetos"
+
+-#: c.opt:41
+-msgid "Assert the <answer> to <question>. Putting '-' before <question> disables the <answer> to <question>"
+-msgstr "Relaciona la <resp>uesta a la <pregunta>. Al colocar '-' antes de la <pregunta> desactiva la <resp>uesta a la <pregunta>"
++#: java/lang.opt:189
++msgid "Generate code for the Boehm GC"
++msgstr "Genera código para el GC de Boehm"
+
+-#: c.opt:45
+-msgid "Do not discard comments"
+-msgstr "No descarta comentarios"
++#: java/lang.opt:193
++msgid "Call a library routine to do integer divisions"
++msgstr "Llama a una rutina de biblioteca para hacer divisiones enteras"
+
+-#: c.opt:49
+-msgid "Do not discard comments in macro expansions"
+-msgstr "No descarta comentarios en expansiones de macro"
++#: java/lang.opt:197
++msgid "Generated should be loaded by bootstrap loader"
++msgstr "El generado se debe cargar con el cargador de arranque"
+
+-#: c.opt:53
+-msgid "Define a <macro> with <val> as its value. If just <macro> is given, <val> is taken to be 1"
+-msgstr "Define una <macro> con <val> como su valor. Si sólo se da la <macro>, <val> se toma como 1"
++#: java/lang.opt:201
++msgid "Set the source language version"
++msgstr "Establece la versión del lenguaje fuente"
+
+-#: c.opt:60
+-msgid "Add <dir> to the end of the main framework include path"
+-msgstr "Agrega el <dir>ectorio al final de la ruta de inclusión del marco de trabajo principal"
++#: java/lang.opt:205
++msgid "Set the target VM version"
++msgstr "Establece la versión de la MV destino"
+
+-#: c.opt:64
+-msgid "Print the name of header files as they are used"
+-msgstr "Muestra los nombres de los ficheros de encabezado mientras se utilizan"
+-
+-#: c.opt:68 c.opt:859
+-msgid "Add <dir> to the end of the main include path"
+-msgstr "Agrega el <dir>ectorio al final de la ruta de inclusión principal"
+-
+-#: c.opt:72
+-msgid "Generate make dependencies"
+-msgstr "Genera dependencias de make"
+-
+-#: c.opt:76
+-msgid "Generate make dependencies and compile"
+-msgstr "Genera dependencias de make y compila"
+-
+-#: c.opt:80
+-msgid "Write dependency output to the given file"
+-msgstr "Escribe la salida de dependencias al fichero dado"
+-
+-#: c.opt:84
+-msgid "Treat missing header files as generated files"
+-msgstr "Trata los ficheros de encabezado faltantes como ficheros generados"
+-
+-#: c.opt:88
+-msgid "Like -M but ignore system header files"
+-msgstr "Como -M pero descarta los ficheros de encabezado del sistema"
+-
+-#: c.opt:92
+-msgid "Like -MD but ignore system header files"
+-msgstr "Como -MD pero descarta los ficheros de encabezado del sistema"
+-
+-#: c.opt:96
+-msgid "Generate phony targets for all headers"
+-msgstr "Genera objetivos de prueba para todos los encabezados"
+-
+-#: c.opt:100
+-msgid "Add a MAKE-quoted target"
+-msgstr "Agrega un objetivo tipo-MAKE"
+-
+-#: c.opt:104
+-msgid "Add an unquoted target"
+-msgstr "Agrega un objetivo no citado"
+-
+-#: c.opt:108
+-msgid "Do not generate #line directives"
+-msgstr "No genera directivas #line"
+-
+-#: c.opt:112
+-msgid "Undefine <macro>"
+-msgstr "Borra la definición de <macro>"
+-
+-#: c.opt:116
+-msgid "Warn about things that will change when compiling with an ABI-compliant compiler"
+-msgstr "Avisa sobre cosas que cambiarán cuando se compile con un compilador que cumpla con la ABI"
+-
+-#: c.opt:120
+-msgid "Warn about suspicious uses of memory addresses"
+-msgstr "Avisa sobre usos sospechosos de direcciones de memoria"
+-
+-#: c.opt:124
+-msgid "Enable most warning messages"
+-msgstr "Activa casi todos los mensajes de aviso"
+-
+-#: c.opt:128
+-msgid "Warn if a comparison is always true or always false due to the limited range of the data type"
+-msgstr "Avisa si la comparación es siempre verdadera o siempre falsa debido al rango limitado del tipo de datos"
+-
+-#: c.opt:132
+-msgid "Warn whenever an Objective-C assignment is being intercepted by the garbage collector"
+-msgstr "Avisa cuando se intercepte una asignación Objective-C por el recolector de basura"
+-
+-#: c.opt:136
+-msgid "Warn about casting functions to incompatible types"
+-msgstr "Avisa por funciones de conversión a tipos incompatibles"
+-
+-#: c.opt:140
+-msgid "Warn about C constructs that are not in the common subset of C and C++"
+-msgstr "Avisa sobre construcciones C que no están en el subconjunto común de C y C++"
+-
+-#: c.opt:144
+-msgid "Warn about C++ constructs whose meaning differs between ISO C++ 1998 and ISO C++ 200x"
+-msgstr "Avisar sobre constructores de C++ cuyos significados difieren entre ISO C++ 1998 e ISO C++ 200x"
+-
+-#: c.opt:148
+-msgid "Warn about casts which discard qualifiers"
+-msgstr "Avisa sobre conversiones que descartan calificadores"
+-
+-#: c.opt:152
+-msgid "Warn about subscripts whose type is \"char\""
+-msgstr "Avisa sobre subíndices cuyo tipo es \"char\""
+-
+-#: c.opt:156
+-msgid "Warn about variables that might be changed by \"longjmp\" or \"vfork\""
+-msgstr "Avisa sobre variables que pueden cambiar por \"longjmp\" o \"vfork\""
+-
+-#: c.opt:160
+-msgid "Warn about possibly nested block comments, and C++ comments spanning more than one physical line"
+-msgstr "Avisa sobre la posibilidad de bloques de comentarios anidados, y comentarios de C++ que abarquen más de una línea física"
+-
+-#: c.opt:164
+-msgid "Synonym for -Wcomment"
+-msgstr "Sinónimo de -Wcomment"
+-
+-#: c.opt:168
+-msgid "Warn for implicit type conversions that may change a value"
+-msgstr "Avisa cuando hay conversiones de tipo implícitas que pueden cambiar un valor"
+-
+-#: c.opt:172
+-msgid "Warn for implicit type conversions between signed and unsigned integers"
+-msgstr "Avisa cuando hay conversiones de tipo implícitas entre enteros con signo y sin signo"
+-
+-#: c.opt:176
+-msgid "Warn when all constructors and destructors are private"
+-msgstr "Avisa cuando todos los constructores y destructores son privados"
+-
+-#: c.opt:180
+-msgid "Warn when a declaration is found after a statement"
+-msgstr "Avisa cuando se encuentra una declaración después de una declaración"
+-
+-#: c.opt:184
+-msgid "Warn about deprecated compiler features"
+-msgstr "Avisa si se usan opciones de compilador obsoletas"
+-
+-#: c.opt:188
+-msgid "Warn about compile-time integer division by zero"
+-msgstr "Avisa sobre la división entera por cero en tiempo de compilación"
+-
+-#: c.opt:192
+-msgid "Warn about violations of Effective C++ style rules"
+-msgstr "Avisa sobre violaciones de reglas de estilo de Effective C++"
+-
+-#: c.opt:196
+-msgid "Warn about an empty body in an if or else statement"
+-msgstr "Avisa sobre un cuerpo vacío en una declaración if o else"
+-
+-#: c.opt:200
+-msgid "Warn about stray tokens after #elif and #endif"
+-msgstr "Avisa sobre elementos sobrantes después de #elif y #endif"
+-
+-#: c.opt:208
+-msgid "This switch is deprecated; use -Werror=implicit-function-declaration instead"
+-msgstr "Esta opción es obsoleta; utilice en su lugar -Werror=implicit-function-declaration"
+-
+-#: c.opt:212
+-msgid "Warn if testing floating point numbers for equality"
+-msgstr "Avisa si se prueban números de coma flotante para equidad"
+-
+-#: c.opt:216
+-msgid "Warn about printf/scanf/strftime/strfmon format string anomalies"
+-msgstr "Avisa sobre anomalías de cadena de formato de printf/scanf/strftime/strfmon"
+-
+-#: c.opt:220
+-msgid "Warn if passing too many arguments to a function for its format string"
+-msgstr "Avisa si se pasan demasiados argumentos a una función para su cadena de formato"
+-
+-#: c.opt:224
+-msgid "Warn about format strings that are not literals"
+-msgstr "Avisa sobre el uso de cadenas de formato que no son literales"
+-
+-#: c.opt:228
+-msgid "Warn about format strings that contain NUL bytes"
+-msgstr "Avisa sobre las cadenas de formato que contengan bytes NUL"
+-
+-#: c.opt:232
+-msgid "Warn about possible security problems with format functions"
+-msgstr "Avisa sobre posibles problemas de seguridad con funciones de formato"
+-
+-#: c.opt:236
+-msgid "Warn about strftime formats yielding 2-digit years"
+-msgstr "Avisa sobre formatos de strftime que producen dos dígitos para el año"
+-
+-#: c.opt:240
+-msgid "Warn about zero-length formats"
+-msgstr "Avisa sobre formatos de longitud cero"
+-
+-#: c.opt:247
+-msgid "Warn about variables which are initialized to themselves"
+-msgstr "Avisa sobre variables que se inicialicen ellas mismas"
+-
+-#: c.opt:254
+-msgid "Warn about implicit function declarations"
+-msgstr "Avisa sobre la declaración implícita de funciones"
+-
+-#: c.opt:258
+-msgid "Warn when a declaration does not specify a type"
+-msgstr "Avisa cuando una declaración no especifique un tipo"
+-
+-#: c.opt:262
+-msgid "Deprecated. This switch has no effect"
+-msgstr "Obsoleto. Esta opción no tiene efecto"
+-
+-#: c.opt:266
+-msgid "Warn when there is a cast to a pointer from an integer of a different size"
+-msgstr "Avisa cuando hay una conversión a puntero desde un entero de tamaño diferente"
+-
+-#: c.opt:270
+-msgid "Warn about invalid uses of the \"offsetof\" macro"
+-msgstr "Avisa sobre usos inválidos de la macro \"offsetof\""
+-
+-#: c.opt:274
+-msgid "Warn about PCH files that are found but not used"
+-msgstr "Avisa sobre ficheros PCH que se encuentran pero no se usan"
+-
+-#: c.opt:278
+-msgid "Do not warn about using \"long long\" when -pedantic"
+-msgstr "No avisa sobre el uso de \"long long\" cuando se use -pedantic"
+-
+-#: c.opt:282
+-msgid "Warn about suspicious declarations of \"main\""
+-msgstr "Avisa sobre declaraciones sospechosas de \"main\""
+-
+-#: c.opt:286
+-msgid "Warn about possibly missing braces around initializers"
+-msgstr "Avisa sobre posibles llaves faltantes alrededor de los inicializadores"
+-
+-#: c.opt:290
+-msgid "Warn about global functions without previous declarations"
+-msgstr "Avisa sobre funciones globales sin declaraciones previas"
+-
+-#: c.opt:294
+-msgid "Warn about missing fields in struct initializers"
+-msgstr "Avisa sobre campos faltantes en los inicializadores de struct"
+-
+-#: c.opt:298
+-msgid "Warn about functions which might be candidates for format attributes"
+-msgstr "Avisa por funciones que pueden ser candidatas para atributos de formato"
+-
+-#: c.opt:302
+-msgid "Warn about user-specified include directories that do not exist"
+-msgstr "Avisa sobre directorios de inclusión definidos por el usuario que no existen"
+-
+-#: c.opt:306
+-msgid "Warn about function parameters declared without a type specifier in K&R-style functions"
+-msgstr "Avisa sobre parámetros de función declarados sin un especificador de tipo en funciones de estilo K&R"
+-
+-#: c.opt:310
+-msgid "Warn about global functions without prototypes"
+-msgstr "Avisa sobre funciones globales sin prototipos"
+-
+-#: c.opt:314
+-msgid "Warn about use of multi-character character constants"
+-msgstr "Avisa sobre el uso de constantes de carácter multicaracteres"
+-
+-#: c.opt:318
+-msgid "Warn about \"extern\" declarations not at file scope"
+-msgstr "Avisa sobre declaraciones \"extern\" que no están en el ámbito del fichero"
+-
+-#: c.opt:322
+-msgid "Warn when non-templatized friend functions are declared within a template"
+-msgstr "Avisa cuando las funciones friend sin plantillas se declaran dentro de una plantilla"
+-
+-#: c.opt:326
+-msgid "Warn about non-virtual destructors"
+-msgstr "Avisa sobre destructores que no son virtuales"
+-
+-#: c.opt:330
+-msgid "Warn about NULL being passed to argument slots marked as requiring non-NULL"
+-msgstr "Avisa sobre el paso de NULL a ranuras de argumento marcadas que requieren no-NULL"
+-
+-#: c.opt:334
+-msgid "Warn about non-normalised Unicode strings"
+-msgstr "Avisa sobre cadenas Unicode que no están normalizadas"
+-
+-#: c.opt:338
+-msgid "Warn if a C-style cast is used in a program"
+-msgstr "Avisa si se usa una conversión de estilo C en un programa"
+-
+-#: c.opt:342
+-msgid "Warn for obsolescent usage in a declaration"
+-msgstr "Avisa por un usage obsoleto en una declaración"
+-
+-#: c.opt:346
+-msgid "Warn if an old-style parameter definition is used"
+-msgstr "Avisa si se usa un parámetro de estilo antiguo en una definición"
+-
+-#: c.opt:350
+-msgid "Warn if a string is longer than the maximum portable length specified by the standard"
+-msgstr "Avisa si una cadena es más larga que la longitud transportable máxima especificada por el estándar"
+-
+-#: c.opt:354
+-msgid "Warn about overloaded virtual function names"
+-msgstr "Avisa sobre nombres de funciones virtual sobrecargadas"
+-
+-#: c.opt:358
+-msgid "Warn about overriding initializers without side effects"
+-msgstr "Avisa sobre sobreescritura de inicializadores sin efectos secundarios"
+-
+-#: c.opt:362
+-msgid "Warn about possibly missing parentheses"
+-msgstr "Avisa sobre posibles paréntesis faltantes"
+-
+-#: c.opt:366
+-msgid "Warn when converting the type of pointers to member functions"
+-msgstr "Avisa cuando se convierte el tipo de punteros sobre punteros a funciones miembro"
+-
+-#: c.opt:370
+-msgid "Warn about function pointer arithmetic"
+-msgstr "Avisa sobre la aritmética de punteros de funciones"
+-
+-#: c.opt:374
+-msgid "Warn when a pointer is cast to an integer of a different size"
+-msgstr "Avisa cuando hay una conversión de puntero a entero de tamaño diferente"
+-
+-#: c.opt:378
+-msgid "Warn about misuses of pragmas"
+-msgstr "Avisa sobre malos usos de pragmas"
+-
+-#: c.opt:382
+-msgid "Warn if inherited methods are unimplemented"
+-msgstr "Avisa si los métodos heredados no están implementados"
+-
+-#: c.opt:386
+-msgid "Warn about multiple declarations of the same object"
+-msgstr "Avisa sobre declaraciones múltiples del mismo objeto"
+-
+-#: c.opt:390
+-msgid "Warn when the compiler reorders code"
+-msgstr "Avisa cuando el compilador reordena código"
+-
+-#: c.opt:394
+-msgid "Warn whenever a function's return type defaults to \"int\" (C), or about inconsistent return types (C++)"
+-msgstr "Avisa cuando el tipo de devolución por defecto de una función cambia a \"int\" (C), o sobre tipos de devolución inconsistentes (C++)"
+-
+-#: c.opt:398
+-msgid "Warn if a selector has multiple methods"
+-msgstr "Avisa si un selector tiene métodos múltiples"
+-
+-#: c.opt:402
+-msgid "Warn about possible violations of sequence point rules"
+-msgstr "Avisa sobre posibles violaciones a las reglas de secuencia de punto"
+-
+-#: c.opt:406
+-msgid "Warn about signed-unsigned comparisons"
+-msgstr "Avisa sobre comparaciones signo-sin signo"
+-
+-#: c.opt:410
+-msgid "Warn when overload promotes from unsigned to signed"
+-msgstr "Avisa cuando la sobrecarga promueve de unsigned a signed"
+-
+-#: c.opt:414
+-msgid "Warn about uncasted NULL used as sentinel"
+-msgstr "Avisa sobre NULL sin conversión usado como sentinela"
+-
+-#: c.opt:418
+-msgid "Warn about unprototyped function declarations"
+-msgstr "Avisa sobre declaraciones de función sin prototipo"
+-
+-#: c.opt:422
+-msgid "Warn if type signatures of candidate methods do not match exactly"
+-msgstr "Avisa si los firmas de tipo de los métodos candidatos no coinciden exactamente"
+-
+-#: c.opt:426
+-msgid "Warn when synthesis behavior differs from Cfront"
+-msgstr "Avisa cuando el comportamiento de síntesis difiere de Cfront"
+-
+-#: c.opt:430 common.opt:182
+-msgid "Do not suppress warnings from system headers"
+-msgstr "No suprime los avisos de los encabezados del sistema"
+-
+-#: c.opt:434
+-msgid "Warn about features not present in traditional C"
+-msgstr "Avisa sobre características no presentes en C tradicional"
+-
+-#: c.opt:438
+-msgid "Warn of prototypes causing type conversions different from what would happen in the absence of prototype"
+-msgstr "Avisa de prototipos que causen diferentes conversiones de tipo de las que sucederían en la ausencia del prototipo"
+-
+-#: c.opt:442
+-msgid "Warn if trigraphs are encountered that might affect the meaning of the program"
+-msgstr "Avisa si se encuentran trigrafos que puedan afectar el significado del programa"
+-
+-#: c.opt:446
+-msgid "Warn about @selector()s without previously declared methods"
+-msgstr "Avisa sobre @selector()es sin métodos declarados previamente"
+-
+-#: c.opt:450
+-msgid "Warn if an undefined macro is used in an #if directive"
+-msgstr "Avisa si se usa una macro indefinida en una directiva #if"
+-
+-#: c.opt:454
+-msgid "Warn about unrecognized pragmas"
+-msgstr "Avisa sobre pragmas que no se reconocen"
+-
+-#: c.opt:458
+-msgid "Warn about macros defined in the main file that are not used"
+-msgstr "Avisa sobre macros definidas en el fichero principal que no se usan"
+-
+-#: c.opt:462
+-msgid "Do not warn about using variadic macros when -pedantic"
+-msgstr "No avisa sobre el uso de macros variadic cuando se use -pedantic"
+-
+-#: c.opt:466
+-msgid "Warn if a variable length array is used"
+-msgstr "Avisa si se usa una matriz de longitud variable"
+-
+-#: c.opt:470
+-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 "En C++, un valor diferente de cero significa avisar sobre conversiones obsoletas de literales de cadena a `char *'. En C, aviso similar, excepto que la conversión no es obsoleta por el estándar ISO C."
+-
+-#: c.opt:474
+-msgid "Warn when a pointer differs in signedness in an assignment"
+-msgstr "Avisa cuando un puntero difiere en signo en una asignación"
+-
+-#: c.opt:478
+-msgid "A synonym for -std=c89 (for C) or -std=c++98 (for C++)"
+-msgstr "Un sinónimo para -std=c89 (para C) o -std=c++98 (para C++)"
+-
+-#: c.opt:486
+-msgid "Enforce class member access control semantics"
+-msgstr "Cumple las semánticas de control de acceso de miembros de clase"
+-
+-#: c.opt:493
+-msgid "Change when template instances are emitted"
+-msgstr "Cambia cuando se emiten las instancias de la plantilla"
+-
+-#: c.opt:497
+-msgid "Recognize the \"asm\" keyword"
+-msgstr "Reconoce la palabra clave \"asm\""
+-
+-#: c.opt:501
+-msgid "Recognize built-in functions"
+-msgstr "Reconoce funciones internas"
+-
+-#: c.opt:508
+-msgid "Check the return value of new"
+-msgstr "Revisa el valor de devolución de new"
+-
+-#: c.opt:512
+-msgid "Allow the arguments of the '?' operator to have different types"
+-msgstr "Permite que los argumentos del operador '?' tengan tipos diferentes"
+-
+-#: c.opt:516
+-msgid "Reduce the size of object files"
+-msgstr "Reduce el tamaño de los ficheros objeto"
+-
+-#: c.opt:520
+-msgid "Use class <name> for constant strings"
+-msgstr "Usa la clase <nombre> para cadenas constantes"
+-
+-#: c.opt:524
+-msgid "Inline member functions by default"
+-msgstr "Incluye en línea a las funciones miembro por defecto"
+-
+-#: c.opt:528
+-msgid "Preprocess directives only."
+-msgstr "Preprocesa sólo directivas."
+-
+-#: c.opt:532
+-msgid "Permit '$' as an identifier character"
+-msgstr "Permite '$' como un identificador de carácter"
+-
+-#: c.opt:539
+-msgid "Generate code to check exception specifications"
+-msgstr "Genera código para revisar excepciones de especificaciones"
+-
+-#: c.opt:546
+-msgid "Convert all strings and character constants to character set <cset>"
+-msgstr "Convierte todas las constantes de cadenas y carácter al conjunto de caracteres <cset>"
+-
+-#: c.opt:550
+-msgid "Permit universal character names (\\u and \\U) in identifiers"
+-msgstr "Permite los nombres de cáracteres universales (\\u y \\U) en los identificadores"
+-
+-#: c.opt:554
+-msgid "Specify the default character set for source files"
+-msgstr "Especifica el conjunto de caracteres por defecto para los ficheros fuente"
+-
+-#: c.opt:562
+-msgid "Scope of for-init-statement variables is local to the loop"
+-msgstr "El ámbito de las variables de la declaración de inicio-de-for es local para el ciclo"
+-
+-#: c.opt:566
+-msgid "Do not assume that standard C libraries and \"main\" exist"
+-msgstr "No asume que existen las bibliotecas C estándar y \"main\""
+-
+-#: c.opt:570
+-msgid "Recognize GNU-defined keywords"
+-msgstr "Reconoce las palabras claves definidas por GNU"
+-
+-#: c.opt:574
+-msgid "Generate code for GNU runtime environment"
+-msgstr "Genera código para el ambiente de tiempo de ejecución GNU"
+-
+-#: c.opt:578
+-msgid "Use traditional GNU semantics for inline functions"
+-msgstr "Usa semántica GNU tradicional para las funciones incluídas en línea"
+-
+-#: c.opt:591
+-msgid "Assume normal C execution environment"
+-msgstr "Asume el ambiente normal de ejecución C"
+-
+-#: c.opt:595
+-msgid "Enable support for huge objects"
+-msgstr "Activa el soporte para objetos enormes"
+-
+-#: c.opt:599
+-msgid "Export functions even if they can be inlined"
+-msgstr "Exporta funciones aún si pueden incluir en línea"
+-
+-#: c.opt:603
+-msgid "Emit implicit instantiations of inline templates"
+-msgstr "Emite instanciaciones implícitas de plantillas incluídas en línea"
+-
+-#: c.opt:607
+-msgid "Emit implicit instantiations of templates"
+-msgstr "Emite instanciaciones implícitas de plantillas"
+-
+-#: c.opt:611
+-msgid "Inject friend functions into enclosing namespace"
+-msgstr "Inyecta las funciones friend dentro de espacios de nombres cerrados"
+-
+-#: c.opt:618
+-msgid "Allow implicit conversions between vectors with differing numbers of subparts and/or differing element types."
+-msgstr "Permite las conversiones implícitas entre vectores con números diferentes de subpartes y/o tipos de elementos diferentes."
+-
+-#: c.opt:622
+-msgid "Don't warn about uses of Microsoft extensions"
+-msgstr "No avisa sobre los usos de extensiones Microsoft"
+-
+-#: c.opt:632
+-msgid "Generate code for NeXT (Apple Mac OS X) runtime environment"
+-msgstr "Genera código para el ambiente de tiempo de ejecución NeXT (Apple Mac OS X)"
+-
+-#: c.opt:636
+-msgid "Assume that receivers of Objective-C messages may be nil"
+-msgstr "Asume que los receptores de mensajes de Objective-C pueden ser nil"
+-
+-#: c.opt:648
+-msgid "Generate special Objective-C methods to initialize/destroy non-POD C++ ivars, if needed"
+-msgstr "Genera métodos Objective-C especiales para inicializar/destruir i-variables de C++ que no son POD, si es necesario"
+-
+-#: c.opt:652
+-msgid "Allow fast jumps to the message dispatcher"
+-msgstr "Permite saltos rápidos al despachador de mensajes"
+-
+-#: c.opt:658
+-msgid "Enable Objective-C exception and synchronization syntax"
+-msgstr "Activa la sintaxis de excepción y sincronización de Objective-C"
+-
+-#: c.opt:662
+-msgid "Enable garbage collection (GC) in Objective-C/Objective-C++ programs"
+-msgstr "Activa la recolección de basura (GC) en programas Objective-C/Objective-C++"
+-
+-#: c.opt:667
+-msgid "Enable Objective-C setjmp exception handling runtime"
+-msgstr "Activa el manejo de excepciones setjmp en tiempo de ejecución de Objective-C"
+-
+-#: c.opt:671
+-msgid "Enable OpenMP"
+-msgstr "Activa OpenMP"
+-
+-#: c.opt:675
+-msgid "Recognize C++ kewords like \"compl\" and \"xor\""
+-msgstr "Reconoce palabras clave de C++ como \"compl\" y \"xor\""
+-
+-#: c.opt:679
+-msgid "Enable optional diagnostics"
+-msgstr "Activa los diagnósticos opcionales"
+-
+-#: c.opt:686
+-msgid "Look for and use PCH files even when preprocessing"
+-msgstr "Busca y utiliza ficheros PCH aún cuando se esté preprocesando"
+-
+-#: c.opt:690
+-msgid "Downgrade conformance errors to warnings"
+-msgstr "Degrada los errores de concordancia a avisos"
+-
+-#: c.opt:694
+-msgid "Treat the input file as already preprocessed"
+-msgstr "Trata al fichero de entrada como previamente preprocesado"
+-
+-#: c.opt:698
+-msgid "Used in Fix-and-Continue mode to indicate that object files may be swapped in at runtime"
+-msgstr "Usa el modo Fix-and-Continue para indicar que los ficheros objeto se pueden intercambiar en tiempo de ejecución"
+-
+-#: c.opt:702
+-msgid "Enable automatic template instantiation"
+-msgstr "Activa la instanciación automática de plantillas"
+-
+-#: c.opt:706
+-msgid "Generate run time type descriptor information"
+-msgstr "Genera información de descriptor de tipo en tiempo de ejecución"
+-
+-#: c.opt:710
+-msgid "Use the same size for double as for float"
+-msgstr "Usa el mismo tamaño para double que para float"
+-
+-#: c.opt:718
+-msgid "Force the underlying type for \"wchar_t\" to be \"unsigned short\""
+-msgstr "Fuerza que el tipo debajo de \"wchar_t\" sea \"unsigned short\""
+-
+-#: c.opt:722
+-msgid "When \"signed\" or \"unsigned\" is not given make the bitfield signed"
+-msgstr "Cuando no se proporcione \"signed\" o \"unsigned\" hace signed el campo de bits"
+-
+-#: c.opt:726
+-msgid "Make \"char\" signed by default"
+-msgstr "Hace que \"char\" sea signed por defecto"
+-
+-#: c.opt:733
+-msgid "Display statistics accumulated during compilation"
+-msgstr "Muestra las estadísticas acumuladas durante la compilación"
+-
+-#: c.opt:740
+-msgid "Distance between tab stops for column reporting"
+-msgstr "Distancia entre topes de tabulador para reportes en columnas"
+-
+-#: c.opt:744
+-msgid "Specify maximum template instantiation depth"
+-msgstr "Especifica la profundidad máxima de instanciación de plantillas"
+-
+-#: c.opt:751
+-msgid "Do not generate thread-safe code for initializing local statics"
+-msgstr "No genera código seguro en hilos para inicializar statics locales"
+-
+-#: c.opt:755
+-msgid "When \"signed\" or \"unsigned\" is not given make the bitfield unsigned"
+-msgstr "Cuando no se proporcione \"signed\" o \"unsigned\" hacer unsigned el campo de bits"
+-
+-#: c.opt:759
+-msgid "Make \"char\" unsigned by default"
+-msgstr "Hace que \"char\" sea unsigned por defecto"
+-
+-#: c.opt:763
+-msgid "Use __cxa_atexit to register destructors"
+-msgstr "Usa __cxa_atexit para registrar destructores"
+-
+-#: c.opt:767
+-msgid "Use __cxa_get_exception_ptr in exception handling"
+-msgstr "Usa __cxa_get_exception_ptr para el manejo de excepciones"
+-
+-#: c.opt:771
+-msgid "Marks all inlined methods as having hidden visibility"
+-msgstr "Marca todos los métodos incluídos en lína con visibilidad hidden"
+-
+-#: c.opt:775
+-msgid "Changes visibility to match Microsoft Visual Studio by default"
+-msgstr "Cambia la visibilidad para coincidir con Microsoft Visual Studio por defecto"
+-
+-#: c.opt:779
+-msgid "Discard unused virtual functions"
+-msgstr "Descarta funciones virtual sin usar"
+-
+-#: c.opt:783
+-msgid "Implement vtables using thunks"
+-msgstr "Implementa vtables usando thunks"
+-
+-#: c.opt:787
+-msgid "Emit common-like symbols as weak symbols"
+-msgstr "Emite símbolos comunes como símbolos débiles"
+-
+-#: c.opt:791
+-msgid "Convert all wide strings and character constants to character set <cset>"
+-msgstr "Convierte todas las cadenas anchas y constantes de cáracter al conjunto de caracteres <cset>"
+-
+-#: c.opt:795
+-msgid "Generate a #line directive pointing at the current working directory"
+-msgstr "Genera una directiva #line que apunte al directorio de trabajo actual"
+-
+-#: c.opt:799
+-msgid "Emit cross referencing information"
+-msgstr "Emite información de referencia cruzada"
+-
+-#: c.opt:803
+-msgid "Generate lazy class lookup (via objc_getClass()) for use in Zero-Link mode"
+-msgstr "Genera la búsqueda no estricta de clases (a través de objc_getClass()) para usarlas en el modo Zero-Link"
+-
+-#: c.opt:807
+-msgid "Dump declarations to a .decl file"
+-msgstr "Vuelca las declaraciones a un fichero .decl"
+-
+-#: c.opt:811
+-msgid "Aggressive reduced debug info for structs"
+-msgstr "Información de depuración reducida agresiva para structs"
+-
+-#: c.opt:815
+-msgid "Conservative reduced debug info for structs"
+-msgstr "Información de depuración reducida conservativa para structs"
+-
+-#: c.opt:819
+-msgid "Detailed reduced debug info for structs"
+-msgstr "Información de depuración reducida detallada para structs"
+-
+-#: c.opt:823 c.opt:855
+-msgid "Add <dir> to the end of the system include path"
+-msgstr "Agrega el <dir>ectorio al final de la ruta de inclusión del sistema"
+-
+-#: c.opt:827
+-msgid "Accept definition of macros in <file>"
+-msgstr "Acepta la definición de macros en el <fich>ero"
+-
+-#: c.opt:831
+-msgid "-imultilib <dir> Set <dir> to be the multilib include subdirectory"
+-msgstr "-imultilib <dir> Define <dir> como el subdirectorio de inclusión de multilib"
+-
+-#: c.opt:835
+-msgid "Include the contents of <file> before other files"
+-msgstr "Incluye los contenidos del <fichero> antes de otros ficheros"
+-
+-#: c.opt:839
+-msgid "Specify <path> as a prefix for next two options"
+-msgstr "Especifica la <ruta> como un prefijo para las siguientes dos opciones"
+-
+-#: c.opt:843
+-msgid "Set <dir> to be the system root directory"
+-msgstr "Establece el <dir>ectorio como el directorio raíz del sistema"
+-
+-#: c.opt:847
+-msgid "Add <dir> to the start of the system include path"
+-msgstr "Agrega el <dir>ectorio al inicio de la ruta de inclusión del sistema"
+-
+-#: c.opt:851
+-msgid "Add <dir> to the end of the quote include path"
+-msgstr "Agrega el <dir>ectorio al final de la ruta de inclusión de citas"
+-
+-#: c.opt:872
+-msgid "Do not search standard system include directories (those specified with -isystem will still be used)"
+-msgstr "No busca directorios de inclusión del sistema por defecto (aquellos especificados con -isystem aún serán utilizados)"
+-
+-#: c.opt:876
+-msgid "Do not search standard system include directories for C++"
+-msgstr "No busca directorios de inclusión del sistema por defecto para C++"
+-
+-#: c.opt:892
+-msgid "Generate C header of platform-specific features"
+-msgstr "Genera encabezado C de características específicas de la plataforma"
+-
+-#: c.opt:896
+-msgid "Print a checksum of the executable for PCH validity checking, and stop"
+-msgstr "Muestra una suma de comprobación del ejecutable para revisión de validación de PCH, y termina"
+-
+-#: c.opt:900
+-msgid "Remap file names when including files"
+-msgstr "Remapea nombres de fichero cuando incluyen ficheros"
+-
+-#: c.opt:904
+-msgid "Conform to the ISO 1998 C++ standard"
+-msgstr "Conforma al estándar ISO 1998 C++"
+-
+-#: c.opt:908
+-msgid "Conform to the ISO 1998 C++ standard, with extensions that are likely to"
+-msgstr "Conforma al estándar ISO 1998 C++, con extensiones que son afines"
+-
+-#: c.opt:915 c.opt:950
+-msgid "Conform to the ISO 1990 C standard"
+-msgstr "Conforma al estándar ISO 1990 C"
+-
+-#: c.opt:919 c.opt:958
+-msgid "Conform to the ISO 1999 C standard"
+-msgstr "Conforma al estándar ISO 1999 C"
+-
+-#: c.opt:923
+-msgid "Deprecated in favor of -std=c99"
+-msgstr "Obsoleto en favor de -std=c99"
+-
+-#: c.opt:927
+-msgid "Conform to the ISO 1998 C++ standard with GNU extensions"
+-msgstr "Conforma al estándar ISO 1998 C++ con extensiones GNU"
+-
+-#: c.opt:931
+-msgid "Conform to the ISO 1998 C++ standard, with GNU extensions and"
+-msgstr "Conforma al estándar ISO 1998 C++, con extensiones GNU y"
+-
+-#: c.opt:938
+-msgid "Conform to the ISO 1990 C standard with GNU extensions"
+-msgstr "Conforma al estándar ISO 1990 C con extensiones GNU"
+-
+-#: c.opt:942
+-msgid "Conform to the ISO 1999 C standard with GNU extensions"
+-msgstr "Conforma al estándar ISO 1999 C con extensiones GNU"
+-
+-#: c.opt:946
+-msgid "Deprecated in favor of -std=gnu99"
+-msgstr "Obsoleto en favor de -std=gnu99"
+-
+-#: c.opt:954
+-msgid "Conform to the ISO 1990 C standard as amended in 1994"
+-msgstr "Conforma al estándar ISO 1990 C como se enmendó en 1994"
+-
+-#: c.opt:962
+-msgid "Deprecated in favor of -std=iso9899:1999"
+-msgstr "Obsoleto en favor de -std=iso9899:1999"
+-
+-#: c.opt:966
+-msgid "Enable traditional preprocessing"
+-msgstr "Habilita el preprocesamiento tradicional"
+-
+-#: c.opt:970
+-msgid "Support ISO C trigraphs"
+-msgstr "Soporte para los trigrafos de ISO C"
+-
+-#: c.opt:974
+-msgid "Do not predefine system-specific and GCC-specific macros"
+-msgstr "No predefine las macros específicas del sistema y específicas de GCC"
+-
+-#: c.opt:978
+-msgid "Enable verbose output"
+-msgstr "Activa la salida detallada"
+-
+-#: common.opt:27
++#: common.opt:28
+ msgid "Display this information"
+ msgstr "Muestra esta información"
+
+-#: common.opt:31
++#: common.opt:32
+ msgid "Display descriptions of a specific class of options. <class> is one or more of optimizers, target, warnings, undocumented, params"
+ msgstr "Muestra las descripciones para una clase específica de opciones. <clase> es uno o más de optimizers, target, warnings, undocumented, params"
+
+-#: common.opt:35
++#: common.opt:36
+ msgid "Alias for --help=target"
+ msgstr "Alias para -mhelp=target"
+
+-#: common.opt:51
++#: common.opt:52
+ msgid "Set parameter <param> to value. See below for a complete list of parameters"
+ msgstr "Establece el parámetro <param> al valor. Vea a continuación para una lista completa de parámetros"
+
+-#: common.opt:58
++#: common.opt:59
+ msgid "Put global and static data smaller than <number> bytes into a special section (on some targets)"
+ msgstr "Coloca los datos globales y estáticos más pequeños que <número> bytes en una sección especial (en algunos objetivos)"
+
+-#: common.opt:62
++#: common.opt:63
+ msgid "Set optimization level to <number>"
+ msgstr "Establece el nivel de optimización a <número>"
+
+-#: common.opt:66
++#: common.opt:67
+ msgid "Optimize for space rather than speed"
+ msgstr "Optimiza para espacio en lugar de velocidad"
+
+-#: common.opt:70
++#: common.opt:71
+ msgid "This switch is deprecated; use -Wextra instead"
+ msgstr "Esta opción es obsoleta; utilice en su lugar -Wextra"
+
+-#: common.opt:74
++#: common.opt:75
+ msgid "Warn about returning structures, unions or arrays"
+ msgstr "Avisa sobre la devolución de estructuras, unions o matrices"
+
+-#: common.opt:78
++#: common.opt:79
+ msgid "Warn if an array is accessed out of bounds"
+ msgstr "Avisa si se accede a una matriz fuera de los límites"
+
+-#: common.opt:82
++#: common.opt:83
+ msgid "Warn about inappropriate attribute usage"
+ msgstr "Avisa sobre la aritmética de punteros de funciones"
+
+-#: common.opt:86
++#: common.opt:87
+ msgid "Warn about pointer casts which increase alignment"
+ msgstr "Avisa sobre conversión de punteros que incremente la alineación"
+
+-#: common.opt:90
++#: common.opt:91
+ msgid "Warn about uses of __attribute__((deprecated)) declarations"
+ msgstr "Avisa sobre usos de declaraciones __attribute__((obsoleto))"
+
+-#: common.opt:94
++#: common.opt:95
+ msgid "Warn when an optimization pass is disabled"
+ msgstr "Avisa cuando se desactiva un paso de optimización"
+
+-#: common.opt:98
++#: common.opt:99
+ msgid "Treat all warnings as errors"
+ msgstr "Trata todos los avisos como errores"
+
+-#: common.opt:102
++#: common.opt:103
+ msgid "Treat specified warning as error"
+ msgstr "Trata el aviso especificado como error"
+
+-#: common.opt:106
++#: common.opt:107
+ msgid "Print extra (possibly unwanted) warnings"
+ msgstr "Muestra avisos extra (posiblemente no deseados)"
+
+-#: common.opt:110
++#: common.opt:111
+ msgid "Exit on the first error occurred"
+ msgstr "Termina cuando sucede el primer error"
+
+-#: common.opt:114
++#: common.opt:115
+ msgid "Warn when an inlined function cannot be inlined"
+ msgstr "Avisa cuando una función incluída en línea no se puede incluir en línea"
+
+-#: common.opt:118
++#: common.opt:119
+ msgid "Warn if an object is larger than <number> bytes"
+ msgstr "Avisa si un objeto es más grande que <número> bytes"
+
+-#: common.opt:122
++#: common.opt:123
+ msgid "Warn when a logical operator is suspicously always evaluating to true or false"
+ msgstr "Avisa cuando un operador lógico sospechosamente siempre evalúa a verdadero o falso"
+
+-#: common.opt:126
++#: common.opt:127
+ msgid "Warn if the loop cannot be optimized due to nontrivial assumptions."
+ msgstr "Avisa si el ciclo no se puede optimizar debido a presunciones no triviales."
+
+-#: common.opt:130
++#: common.opt:131
+ msgid "Warn about functions which might be candidates for __attribute__((noreturn))"
+ msgstr "Avisa sobre funciones que pueden ser candidatas para __attribute((noreturn))"
+
+-#: common.opt:134
++#: common.opt:135
+ msgid "Warn about overflow in arithmetic expressions"
+ msgstr "Avisa sobre desbordamiento por debajo en expresiones numéricas"
+
+-#: common.opt:138
++#: common.opt:139
+ msgid "Warn when the packed attribute has no effect on struct layout"
+ msgstr "Avisa cuando el atributo packed no tiene efecto en la disposición de un struct"
+
+-#: common.opt:142
++#: common.opt:143
+ msgid "Warn when padding is required to align structure members"
+ msgstr "Avisa cuando se requiere relleno para alinear a los miembros de una estructura"
+
+-#: common.opt:146
++#: common.opt:147
+ msgid "Warn when one local variable shadows another"
+ msgstr "Avisa cuando una variable local oscurece otra"
+
+-#: common.opt:150
++#: common.opt:151
+ msgid "Warn when not issuing stack smashing protection for some reason"
+ msgstr "Avisa cuando no se está usando la protección contra destrucción de la pila por alguna razón"
+
+-#: common.opt:154 common.opt:158
++#: common.opt:155 common.opt:159
+ msgid "Warn about code which might break strict aliasing rules"
+ msgstr "Avisa sobre código que pueda romper las reglas estrictas de aliases"
+
+-#: common.opt:162 common.opt:166
++#: common.opt:163 common.opt:167
+ msgid "Warn about optimizations that assume that signed overflow is undefined"
+ msgstr "Desactiva las optimizaciones que asumen que un desbordamiento con signo está indefinido"
+
+-#: common.opt:170
++#: common.opt:171
+ msgid "Warn about enumerated switches, with no default, missing a case"
+ msgstr "Avisa sobre switches enumerados, sin valor por defecto, que carezcan de un case"
+
+-#: common.opt:174
++#: common.opt:175
+ msgid "Warn about enumerated switches missing a \"default:\" statement"
+ msgstr "Avisa sobre switches enumerados que carezcan de una declaración \"default:\""
+
+-#: common.opt:178
++#: common.opt:179
+ msgid "Warn about all enumerated switches missing a specific case"
+ msgstr "Avisa sobre todos los switches enumerados que carezcan de un case específico"
+
+-#: common.opt:186
++#: common.opt:183 c.opt:434
++msgid "Do not suppress warnings from system headers"
++msgstr "No suprime los avisos de los encabezados del sistema"
++
++#: common.opt:187
+ msgid "Warn about uninitialized automatic variables"
+ msgstr "Avisa sobre variables automáticas sin inicializar"
+
+-#: common.opt:190
++#: common.opt:191
+ msgid "Warn about code that will never be executed"
+ msgstr "Avisa sobre código que nunca se ejecutará"
+
+-#: common.opt:194
++#: common.opt:195
+ msgid "Enable all -Wunused- warnings"
+ msgstr "Activa todos los avisos -Wunused-"
+
+-#: common.opt:198
++#: common.opt:199
+ msgid "Warn when a function is unused"
+ msgstr "Avisa cuando no se usa una función"
+
+-#: common.opt:202
++#: common.opt:203
+ msgid "Warn when a label is unused"
+ msgstr "Avisa cuando no se usa una etiqueta"
+
+-#: common.opt:206
++#: common.opt:207
+ msgid "Warn when a function parameter is unused"
+ msgstr "Avisa cuando no se usa un parámetro de una función"
+
+-#: common.opt:210
++#: common.opt:211
+ msgid "Warn when an expression value is unused"
+ msgstr "Avisa cuando no se usa un valor de una expresión"
+
+-#: common.opt:214
++#: common.opt:215
+ msgid "Warn when a variable is unused"
+ msgstr "Avisa cuando no se usa una variable"
+
+-#: common.opt:218
++#: common.opt:219
+ msgid "Warn when a register variable is declared volatile"
+ msgstr "Avisa cuando una variable de registro se declara volatile"
+
+-#: common.opt:222
++#: common.opt:223
+ msgid "Warn instead of error in case profiles in -fprofile-use do not match"
+ msgstr "Avisa en lugar de dar error en perfiles case en -fprofile-use que no coincidan"
+
+-#: common.opt:226
++#: common.opt:227
+ msgid "Emit declaration information into <file>"
+ msgstr "Emite la información de declaraciones en el <fichero>"
+
+-#: common.opt:239
++#: common.opt:240
+ msgid "Enable dumps from specific passes of the compiler"
+ msgstr "Activa los volcados de pasos específicos del compilador"
+
+-#: common.opt:243
++#: common.opt:244
+ msgid "Set the file basename to be used for dumps"
+ msgstr "Establece el nombre base a usar para los volcados"
+
+-#: common.opt:263
++#: common.opt:264
+ msgid "Align the start of functions"
+ msgstr "Alínea el inicio de las funciones"
+
+-#: common.opt:270
++#: common.opt:271
+ msgid "Align labels which are only reached by jumping"
+ msgstr "Alínea las etiquetas que solamente se alcanzan saltando"
+
+-#: common.opt:277
++#: common.opt:278
+ msgid "Align all labels"
+ msgstr "Alínea todas las etiquetas"
+
+-#: common.opt:284
++#: common.opt:285
+ msgid "Align the start of loops"
+ msgstr "Alínea el inicio de los ciclos"
+
+-#: common.opt:299
++#: common.opt:300
+ msgid "Specify that arguments may alias each other and globals"
+ msgstr "Especifica que los argumentos pueden ser alias de cada otro y de los globales"
+
+-#: common.opt:303
++#: common.opt:304
+ msgid "Assume arguments may alias globals but not each other"
+ msgstr "Asume que los argumentos pueden ser alias de globales pero no de cada otro"
+
+-#: common.opt:307
++#: common.opt:308
+ msgid "Assume arguments alias neither each other nor globals"
+ msgstr "Asume que los argumentos no pueden ser alias de globales o de cada otro"
+
+-#: common.opt:311
++#: common.opt:312
+ msgid "Assume arguments alias no other storage"
+ msgstr "Asume que los argumentos no son alias de otro almacenamiento"
+
+-#: common.opt:315
++#: common.opt:316
+ msgid "Generate unwind tables that are exact at each instruction boundary"
+ msgstr "Genera tablas de desenredo que sean exactas en cada límite de instrucción"
+
+-#: common.opt:319
++#: common.opt:320
+ msgid "Generate auto-inc/dec instructions"
+ msgstr "Genera instrucciones auto-inc/dec"
+
+-#: common.opt:327
++#: common.opt:328
+ msgid "Generate code to check bounds before indexing arrays"
+ msgstr "Genera código para revisar los límites antes de indizar matrices"
+
+-#: common.opt:331
++#: common.opt:332
+ msgid "Replace add, compare, branch with branch on count register"
+ msgstr "Reemplaza add, compare, branch con branch en la cuenta de registros"
+
+-#: common.opt:335
++#: common.opt:336
+ msgid "Use profiling information for branch probabilities"
+ msgstr "Usa la información de análisis de perfil para las probabilidades de ramificación"
+
+-#: common.opt:339
++#: common.opt:340
+ msgid "Perform branch target load optimization before prologue / epilogue threading"
+ msgstr "Realiza optimización de carga de ramificación objetivo antes del hilo prólogo / epílogo"
+
+-#: common.opt:343
++#: common.opt:344
+ msgid "Perform branch target load optimization after prologue / epilogue threading"
+ msgstr "Realiza optimización de carga de ramificación objetivo después del hilo prólogo / epílogo"
+
+-#: common.opt:347
++#: common.opt:348
+ msgid "Restrict target load migration not to re-use registers in any basic block"
+ msgstr "Restringe que la migración de carga de objetivos no reuse registros en ningún bloque básico"
+
+-#: common.opt:351
++#: common.opt:352
+ msgid "Mark <register> as being preserved across functions"
+ msgstr "Marca el <registro> como preservado entre funciones"
+
+-#: common.opt:355
++#: common.opt:356
+ msgid "Mark <register> as being corrupted by function calls"
+ msgstr "Marca el <registro> como corrupto para llamadas de función"
+
+-#: common.opt:362
++#: common.opt:363
+ msgid "Save registers around function calls"
+ msgstr "Guarda registros alrededor de llamadas de función"
+
+-#: common.opt:366
++#: common.opt:367
+ msgid "Compare the results of several data dependence analyzers."
+ msgstr "Compara los resultados de varios analizadores de dependencia de datos."
+
+-#: common.opt:370
++#: common.opt:371
+ msgid "Do not put uninitialized globals in the common section"
+ msgstr "No pone globales sin inicializar en la sección común"
+
+-#: common.opt:374
++#: common.opt:375
+ msgid "Perform a register copy-propagation optimization pass"
+ msgstr "Realiza el paso de optimización de copia-propagación de registros"
+
+-#: common.opt:378
++#: common.opt:379
+ msgid "Perform cross-jumping optimization"
+ msgstr "Realiza optimizaciones de saltos cruzados"
+
+-#: common.opt:382
++#: common.opt:383
+ msgid "When running CSE, follow jumps to their targets"
+ msgstr "Cuando se esté ejecutando CSE, sigue los saltos a sus objetivos"
+
+-#: common.opt:386
++#: common.opt:387
+ msgid "When running CSE, follow conditional jumps"
+ msgstr "Cuando se esté ejecutando CSE, sigue los saltos condicionales"
+
+-#: common.opt:390
++#: common.opt:391
+ msgid "Omit range reduction step when performing complex division"
+ msgstr "Omite el paso de reducción de rango al realizar divisiones complejas"
+
+-#: common.opt:394
++#: common.opt:395
+ msgid "Place data items into their own section"
+ msgstr "Coloca los elementos de datos en su propia sección"
+
+-#: common.opt:398
++#: common.opt:399
+ msgid "List all available debugging counters with their limits and counts."
+ msgstr "Enumera todos los contadores de depuración disponibles con sus límites y cuentas."
+
+-#: common.opt:402
++#: common.opt:403
+ msgid "-fdbg-cnt=<counter>:<limit>[,<counter>:<limit>,...] Set the debug counter limit. "
+ msgstr "-fdbg-cnt=<contador>:<límite>[,<contador>:<límite>,...] Establece el límite del contador de depuración."
+
+-#: common.opt:406
++#: common.opt:407
+ msgid "Map one directory name to another in debug information"
+ msgstr "Mapea un nombre de directorio a otro en la información de depuración"
+
+-#: common.opt:412
++#: common.opt:413
+ msgid "Defer popping functions args from stack until later"
+ msgstr "Posterga la extracción de argumentos de funciones de la pila hasta más tarde"
+
+-#: common.opt:416
++#: common.opt:417
+ msgid "Attempt to fill delay slots of branch instructions"
+ msgstr "Intenta rellenar las ranuras de retraso de las instrucciones de ramificación"
+
+-#: common.opt:420
++#: common.opt:421
+ msgid "Delete useless null pointer checks"
+ msgstr "Borra las revisiones de punteros nulos sin uso"
+
+-#: common.opt:424
++#: common.opt:425
+ msgid "How often to emit source location at the beginning of line-wrapped diagnostics"
+ msgstr "Indica que tan seguido se debe emitir la ubicación del código al inicio de los diagnósticos con corte de línea"
+
+-#: common.opt:428
++#: common.opt:429
+ msgid "Amend appropriate diagnostic messages with the command line option that controls them"
+ msgstr "Asocia adecuadamente los mensajes de diagnóstico con la opción de línea de orden que los controla"
+
+-#: common.opt:432
++#: common.opt:433
+ msgid "Dump various compiler internals to a file"
+ msgstr "Vuelca varios internos del compilador a un fichero"
+
+-#: common.opt:436
++#: common.opt:437
+ msgid "Suppress output of addresses in debugging dumps"
+ msgstr "Suprime la salida de direcciones en los volcados de depuración"
+
+-#: common.opt:440
++#: common.opt:441
+ msgid "Suppress output of instruction numbers, line number notes and addresses in debugging dumps"
+ msgstr "Suprime la salida de números de instrucción, notas de números de linea y direcciones en los volcados de depuración"
+
+-#: common.opt:444
++#: common.opt:445
+ msgid "Perform early inlining"
+ msgstr "Realiza la inclusión en línea temprana"
+
+-#: common.opt:448
++#: common.opt:449
+ msgid "Perform DWARF2 duplicate elimination"
+ msgstr "Realiza la eliminación de duplicados DWARF2"
+
+-#: common.opt:452 common.opt:456
++#: common.opt:453 common.opt:457
+ msgid "Perform unused type elimination in debug info"
+ msgstr "Realiza la eliminación de tipos sin uso en la información de depuración"
+
+-#: common.opt:460
++#: common.opt:461
+ msgid "Do not suppress C++ class debug information."
+ msgstr "No suprime la información de depuración de clases C++."
+
+-#: common.opt:464
++#: common.opt:465
+ msgid "Enable exception handling"
+ msgstr "Activa el manejo de excepciones"
+
+-#: common.opt:468
++#: common.opt:469
+ msgid "Perform a number of minor, expensive optimizations"
+ msgstr "Realiza un número de optimizaciones menores y costosas"
+
+-#: common.opt:475
++#: common.opt:476
+ msgid "Assume no NaNs or infinities are generated"
+ msgstr "Asume que no se generan NaNs o infinitos"
+
+-#: common.opt:479
++#: common.opt:480
+ msgid "Mark <register> as being unavailable to the compiler"
+ msgstr "Marca el <registro> como no disponible para el compilador"
+
+-#: common.opt:483
++#: common.opt:484
+ msgid "Don't allocate floats and doubles in extended-precision registers"
+ msgstr "No aloja floats y doubles en registros de precisión extendida"
+
+-#: common.opt:489
+-msgid "Copy memory address constants into registers before use"
+-msgstr "Copia las constantes de direcciones de memoria en registros antes de usarlos"
++#: common.opt:488 common.opt:647 common.opt:855 common.opt:986 common.opt:1061
++msgid "Does nothing. Preserved for backward compatibility."
++msgstr "No hace nada. Preservado por compatibilidad hacia atrás."
+
+-#: common.opt:493
++#: common.opt:492
+ msgid "Perform a forward propagation pass on RTL"
+ msgstr "Realiza el paso de la propagación hacia adelante en RTL"
+
+-#: common.opt:500
++#: common.opt:499
+ msgid "Allow function addresses to be held in registers"
+ msgstr "Permite que las direcciones de las funciones se conservern en registros"
+
+-#: common.opt:504
++#: common.opt:503
+ msgid "Place each function into its own section"
+ msgstr "Coloca cada función en su propia sección"
+
+-#: common.opt:508
++#: common.opt:507
+ msgid "Perform global common subexpression elimination"
+ msgstr "Realiza la eliminación de subexpresiones comunes globales"
+
+-#: common.opt:512
++#: common.opt:511
+ msgid "Perform enhanced load motion during global common subexpression elimination"
+ msgstr "Realiza el movimiento de la carga mejorada durante la eliminación de subexpresiones comunes globales"
+
+-#: common.opt:516
++#: common.opt:515
+ msgid "Perform store motion after global common subexpression elimination"
+ msgstr "Realiza el movimiento de guardado después de la eliminación de subexpresiones comunes globales"
+
+-#: common.opt:520
++#: common.opt:519
+ msgid "Perform redundant load after store elimination in global common subexpression"
+ msgstr "Realiza la carga redundante después de la eliminación de almacenamiento en las subexpresiones comunes globales"
+
+-#: common.opt:525
++#: common.opt:524
+ msgid "Perform global common subexpression elimination after register allocation"
+ msgstr "Realiza la eliminación de subexpresiones comunes globales despúes del alojamiento de registros"
+
+-#: common.opt:530
++#: common.opt:529
+ msgid "Enable guessing of branch probabilities"
+ msgstr "Activa la predicción de probabilidades de ramificación"
+
+-#: common.opt:538
++#: common.opt:537
+ msgid "Process #ident directives"
+ msgstr "Procesa directivas #ident"
+
+-#: common.opt:542
++#: common.opt:541
+ msgid "Perform conversion of conditional jumps to branchless equivalents"
+ msgstr "Realiza la conversión de saltos condicionales a equivalentes sin ramificación"
+
+-#: common.opt:546
++#: common.opt:545
+ msgid "Perform conversion of conditional jumps to conditional execution"
+ msgstr "Realiza la conversión de saltos condicionales a ejecución condicional"
+
+-#: common.opt:554
++#: common.opt:553
+ msgid "Do not generate .size directives"
+ msgstr "No genera directivas .size"
+
+-#: common.opt:563
++#: common.opt:562
+ msgid "Pay attention to the \"inline\" keyword"
+ msgstr "Pone atención a la palabra clave \"inline\""
+
+-#: common.opt:567
++#: common.opt:566
+ msgid "Integrate simple functions into their callers when code size is known to not growth"
+ msgstr "Integra las funciones simples en sus invocadores"
+
+-#: common.opt:571
++#: common.opt:570
+ msgid "Integrate simple functions into their callers"
+ msgstr "Integra las funciones simples en sus invocadores"
+
+-#: common.opt:575
++#: common.opt:574
+ msgid "Integrate functions called once into their callers"
+ msgstr "Integra las funciones llamadas una vez en sus invocadores"
+
+-#: common.opt:582
++#: common.opt:581
+ msgid "Limit the size of inlined functions to <number>"
+ msgstr "Limita el tamaño de las funciones incluídas en línea a <número>"
+
+-#: common.opt:586
++#: common.opt:585
+ msgid "Instrument function entry and exit with profiling calls"
+ msgstr "Instrumenta funciones de entrada y salida con llamadas de análisis de perfil"
+
+-#: common.opt:590
++#: common.opt:589
+ msgid "-finstrument-functions-exclude-function-list=name,... Do not instrument listed functions"
+ msgstr "-finstrument-functions-exclude-functions-list=nombre,... No instrumenta las funciones enlistadas"
+
+-#: common.opt:594
++#: common.opt:593
+ msgid "-finstrument-functions-exclude-file-list=filename,... Do not instrument functions listed in files"
+ msgstr "-finstrument-functions-exclude-file-list=fichero,... No instrumenta las funciones enlistadas en ficheros"
+
+-#: common.opt:598
++#: common.opt:597
+ msgid "Perform Interprocedural constant propagation"
+ msgstr "Realiza la propagación interprocedural de las constantes"
+
+-#: common.opt:602
++#: common.opt:601
+ msgid "Discover pure and const functions"
+ msgstr "Descubre funciones pure y const"
+
+-#: common.opt:606
++#: common.opt:605
+ msgid "Perform interprocedural points-to analysis"
+ msgstr "Realiza el análisis interprocedural de puntero-a"
+
+-#: common.opt:610
++#: common.opt:609
+ msgid "Discover readonly and non addressable static variables"
+ msgstr "Descubre variables estáticas de sólo lectura y no direccionables"
+
+-#: common.opt:614
++#: common.opt:613
+ msgid "Type based escape and alias analysis"
+ msgstr "Análisis de alias y escape basado en tipos"
+
+-#: common.opt:618
++#: common.opt:617
+ msgid "Perform matrix layout flattening and transposing based"
+ msgstr "Realiza la ubicación de matriz basado en aplanado y transposición"
+
+-#: common.opt:623
++#: common.opt:622
+ msgid "Perform structure layout optimizations based"
+ msgstr "Realiza la ubicación de estructuras basada en optimizaciones"
+
+-#: common.opt:628
++#: common.opt:627
+ msgid "Optimize induction variables on trees"
+ msgstr "Optimiza la inducción de variables en los árboles"
+
+-#: common.opt:632
++#: common.opt:631
+ msgid "Use jump tables for sufficiently large switch statements"
+ msgstr "Usa tablas de salto para las declaraciones switch suficientemente grandes"
+
+-#: common.opt:636
++#: common.opt:635
+ msgid "Generate code for functions even if they are fully inlined"
+ msgstr "Genera código para las funciones aún si están completamente incluídas en línea"
+
+-#: common.opt:640
++#: common.opt:639
+ msgid "Emit static const variables even if they are not used"
+ msgstr "Emite variables static const aún si no se usan"
+
+-#: common.opt:644
++#: common.opt:643
+ msgid "Give external symbols a leading underscore"
+ msgstr "Da a los símbolos externos un subrayado inicial"
+
+-#: common.opt:648 common.opt:852 common.opt:983
+-msgid "Does nothing. Preserved for backward compatibility."
+-msgstr "No hace nada. Preservado por compatibilidad hacia atrás."
+-
+-#: common.opt:652
++#: common.opt:651
+ msgid "Set errno after built-in math functions"
+ msgstr "Establece errno después de las funciones matemáticas internas"
+
+-#: common.opt:656
++#: common.opt:655
+ msgid "Report on permanent memory allocation"
+ msgstr "Reporta el alojamiento en memoria permanente"
+
+-#: common.opt:663
++#: common.opt:662
+ msgid "Attempt to merge identical constants and constant variables"
+ msgstr "Intenta mezclar constantes idénticas y variables constantes"
+
+-#: common.opt:667
++#: common.opt:666
+ msgid "Attempt to merge identical constants across compilation units"
+ msgstr "Intenta mezclar constantes idénticas a través de las unidades de compilación"
+
+-#: common.opt:671
++#: common.opt:670
++msgid "Attempt to merge identical debug strings across compilation units"
++msgstr "Intenta mezclar cadenas de depuración idénticas a través de las unidades de compilación"
++
++#: common.opt:674
+ msgid "Limit diagnostics to <number> characters per line. 0 suppresses line-wrapping"
+ msgstr "Limita los diagnósticos a <número> caracteres por línea. 0 suprime el corte de línea"
+
+-#: common.opt:675
++#: common.opt:678
+ msgid "Perform SMS based modulo scheduling before the first scheduling pass"
+ msgstr "Realiza la calendarización SMS basada en módulo antes del primer paso de calendarización"
+
+-#: common.opt:679
++#: common.opt:682
+ msgid "Perform SMS based modulo scheduling with register moves allowed"
+ msgstr "Realiza la calendarización módulo basada en SMS con movimientos permitidos de registros"
+
+-#: common.opt:683
++#: common.opt:686
+ msgid "Move loop invariant computations out of loops"
+ msgstr "Mueve las computaciones invariantes de ciclo fuera de los ciclos"
+
+-#: common.opt:687
++#: common.opt:690
+ msgid "Add mudflap bounds-checking instrumentation for single-threaded program"
+ msgstr "Agrega la instrumentación mudflap de revisión de límites para programas de un solo hilo"
+
+-#: common.opt:691
++#: common.opt:694
+ msgid "Add mudflap bounds-checking instrumentation for multi-threaded program"
+ msgstr "Agrega la instrumentación mudflap de revisión de límites para programas multi-hilo"
+
+-#: common.opt:695
++#: common.opt:698
+ msgid "Ignore read operations when inserting mudflap instrumentation"
+ msgstr "Ignora las operaciones de lectura al insertar instrumentación mudflap"
+
+-#: common.opt:699
++#: common.opt:702
+ msgid "Use the RTL dead code elimination pass"
+ msgstr "Usa el paso de eliminación de código muerto de RTL"
+
+-#: common.opt:703
++#: common.opt:706
+ msgid "Use the RTL dead store elimination pass"
+ msgstr "Usa la eliminación de almacenamiento muerto de RTL"
+
+-#: common.opt:707
++#: common.opt:710
+ msgid "Enable/Disable the traditional scheduling in loops that already passed modulo scheduling"
+ msgstr "Activa/Desactiva la calendarización tradicional en ciclos que ya pasaron la calendarización módulo"
+
+-#: common.opt:711
++#: common.opt:714
+ msgid "Support synchronous non-call exceptions"
+ msgstr "Permite las excepciones síncronas que no son llamadas"
+
+-#: common.opt:715
++#: common.opt:718
+ msgid "When possible do not generate stack frames"
+ msgstr "Cuando sea posible no genera marcos de pila"
+
+-#: common.opt:719
++#: common.opt:722
+ msgid "Expand OpenMP operations on SSA form"
+ msgstr "Expande las operaciones OpenMP en la forma SSA"
+
+-#: common.opt:723
++#: common.opt:726
+ msgid "Do the full register move optimization pass"
+ msgstr "Hace el paso completo de optimización de movimiento de registros"
+
+-#: common.opt:727
++#: common.opt:730
+ msgid "Optimize sibling and tail recursive calls"
+ msgstr "Optimiza las llamadas recursivas hermanadas y de extremo"
+
+-#: common.opt:731 common.opt:735
++#: common.opt:734 common.opt:738
+ msgid "Report on memory allocation before interprocedural optimization"
+ msgstr "Reporta la ubicación de memoria antes de la optimización interprocedural"
+
+-#: common.opt:739
++#: common.opt:742
+ msgid "Pack structure members together without holes"
+ msgstr "Empaqueta juntos a los miembros de la estructura sin agujeros"
+
+-#: common.opt:743
++#: common.opt:746
+ msgid "Set initial maximum structure member alignment"
+ msgstr "Establece la alineación inicial máxima de estructuras miembro"
+
+-#: common.opt:747
++#: common.opt:750
+ msgid "Return small aggregates in memory, not registers"
+ msgstr "Devuelve los agregados small en memoria, no en registros"
+
+-#: common.opt:751
++#: common.opt:754
+ msgid "Perform loop peeling"
+ msgstr "Realiza el pelado de ciclos"
+
+-#: common.opt:755
++#: common.opt:758
+ msgid "Enable machine specific peephole optimizations"
+ msgstr "Activa las optimizaciones de mirilla específicas de la máquina"
+
+-#: common.opt:759
++#: common.opt:762
+ msgid "Enable an RTL peephole pass before sched2"
+ msgstr "Activa un paso de mirilla RTL antes de sched2"
+
+-#: common.opt:763
++#: common.opt:766
+ msgid "Generate position-independent code if possible (large mode)"
+ msgstr "Genera código independiente de posición si es posible (modo large)"
+
+-#: common.opt:767
++#: common.opt:770
+ msgid "Generate position-independent code for executables if possible (large mode)"
+ msgstr "Genera código independiente de posición para ejecutables si es posible (modo large)"
+
+-#: common.opt:771
++#: common.opt:774
+ msgid "Generate position-independent code if possible (small mode)"
+ msgstr "Genera código independiente de posición si es posible (modo small)"
+
+-#: common.opt:775
++#: common.opt:778
+ msgid "Generate position-independent code for executables if possible (small mode)"
+ msgstr "Genera código independiente de posición para ejecutables si es posible (modo small)"
+
+-#: common.opt:779
++#: common.opt:782
+ msgid "Run predictive commoning optimization."
+ msgstr "Ejecuta la optimización comunizadora predictiva."
+
+-#: common.opt:783
++#: common.opt:786
+ msgid "Generate prefetch instructions, if available, for arrays in loops"
+ msgstr "Genera instrucciones de precargado, si están disponibles, para matrices en ciclos"
+
+-#: common.opt:787
++#: common.opt:790
+ msgid "Enable basic program profiling code"
+ msgstr "Activa el código básico de análisis de perfil del programa"
+
+-#: common.opt:791
++#: common.opt:794
+ msgid "Insert arc-based program profiling code"
+ msgstr "Inserta el código de análisis de perfil de programa basado en arc"
+
+-#: common.opt:795
++#: common.opt:798
+ msgid "Enable common options for generating profile info for profile feedback directed optimizations"
+ msgstr "Activa las opciones comunes para generar información de análisis de perfil para optimizaciones dirigidas por retroalimentación de perfil"
+
+-#: common.opt:799
++#: common.opt:802
+ msgid "Enable common options for performing profile feedback directed optimizations"
+ msgstr "Activa las opciones comunes para realizar optimizaciones dirigidas por retroalimentación de perfil"
+
+-#: common.opt:803
++#: common.opt:806
+ msgid "Insert code to profile values of expressions"
+ msgstr "Inserta el código para perfilar valores de expresiones"
+
+-#: common.opt:810
++#: common.opt:813
+ msgid "Make compile reproducible using <string>"
+ msgstr "Hace que se pueda reproducir la compilación utilizando la <cadena>"
+
+-#: common.opt:820
++#: common.opt:823
+ msgid "Record gcc command line switches in the object file."
+ msgstr "Guarda las opciones de la línea de órdenes de gcc en el fichero objeto."
+
+-#: common.opt:824
++#: common.opt:827
+ msgid "Return small aggregates in registers"
+ msgstr "Devuelve agregados small en registros"
+
+-#: common.opt:828
++#: common.opt:831
+ msgid "Enables a register move optimization"
+ msgstr "Permite una optimización de movimiento de registros"
+
+-#: common.opt:832
++#: common.opt:835
+ msgid "Perform a register renaming optimization pass"
+ msgstr "Realiza el paso de optimización de renombrado de registros"
+
+-#: common.opt:836
++#: common.opt:839
+ msgid "Reorder basic blocks to improve code placement"
+ msgstr "Reordena los bloques básicos para mejorar la ubicación del código"
+
+-#: common.opt:840
++#: common.opt:843
+ msgid "Reorder basic blocks and partition into hot and cold sections"
+ msgstr "Reordena los bloques básicos y particionar en secciones caliente y fría"
+
+-#: common.opt:844
++#: common.opt:847
+ msgid "Reorder functions to improve code placement"
+ msgstr "Reordena las funciones para mejorar la ubicación del código"
+
+-#: common.opt:848
++#: common.opt:851
+ msgid "Add a common subexpression elimination pass after loop optimizations"
+ msgstr "Ejecuta un paso de eliminación de subexpresión común después de las optimizaciones de ciclos"
+
+-#: common.opt:856
++#: common.opt:859
+ msgid "Disable optimizations that assume default FP rounding behavior"
+ msgstr "Desactiva las optimizaciones que asumen la conducta de un FP que redondea por defecto"
+
+-#: common.opt:860
++#: common.opt:863
+ msgid "Enable scheduling across basic blocks"
+ msgstr "Activa la calendarización entre bloques básicos"
+
+-#: common.opt:864
++#: common.opt:867
+ msgid "Allow speculative motion of non-loads"
+ msgstr "Permite el movimiento especulativo de insn que no son load"
+
+-#: common.opt:868
++#: common.opt:871
+ msgid "Allow speculative motion of some loads"
+ msgstr "Permite el movimiento especulativo de algunas loads"
+
+-#: common.opt:872
++#: common.opt:875
+ msgid "Allow speculative motion of more loads"
+ msgstr "Permite el movimiento especulativo de más loads"
+
+-#: common.opt:876
++#: common.opt:879
+ msgid "Set the verbosity level of the scheduler"
+ msgstr "Establece el nivel de detalle del calendarizador"
+
+-#: common.opt:880
++#: common.opt:883
+ msgid "If scheduling post reload, do superblock scheduling"
+ msgstr "Si se calendariza después de la recarga, hace la calendarización de superbloque"
+
+-#: common.opt:884
++#: common.opt:887
+ msgid "If scheduling post reload, do trace scheduling"
+ msgstr "Si se calendariza después de la recarga, hace trazado de calendarización"
+
+-#: common.opt:888
++#: common.opt:891
+ msgid "Reschedule instructions before register allocation"
+ msgstr "Recalendariza las instrucciones antes del alojamiento de registros"
+
+-#: common.opt:892
++#: common.opt:895
+ msgid "Reschedule instructions after register allocation"
+ msgstr "Recalendariza las instrucciones después del alojamiento de registros"
+
+-#: common.opt:898
++#: common.opt:901
+ msgid "Allow premature scheduling of queued insns"
+ msgstr "Permite la calendarización prematura de insns encoladas"
+
+-#: common.opt:902
++#: common.opt:905
+ msgid "Set number of queued insns that can be prematurely scheduled"
+ msgstr "Establece el número de insns encoladas que se pueden calendarizar prematuramente"
+
+-#: common.opt:910 common.opt:914
++#: common.opt:913 common.opt:917
+ msgid "Set dependence distance checking in premature scheduling of queued insns"
+ msgstr "Establece la revisión de distancia de dependencias en la calendarización prematura de insns encoladas"
+
+-#: common.opt:918
++#: common.opt:921
+ msgid "Access data in the same section from shared anchor points"
+ msgstr "Accede datos en la misma sección que los puntos de anclaje compartidos"
+
+-#: common.opt:922
++#: common.opt:925
+ msgid "Perform sequence abstraction optimization on RTL"
+ msgstr "Realiza la optimización de la secuencia de abstracción en RTL"
+
+-#: common.opt:926
++#: common.opt:929
+ msgid "Eliminate redundant sign extensions using LCM."
+ msgstr "Elimina las extensiones de signo redundantes usando LCM."
+
+-#: common.opt:930
++#: common.opt:933
+ msgid "Show column numbers in diagnostics, when available. Default off"
+ msgstr "Muestra los números de columna en los diagnósticos, cuando estén disponible. Desactivado por defecto"
+
+-#: common.opt:934
++#: common.opt:937
+ msgid "Disable optimizations observable by IEEE signaling NaNs"
+ msgstr "Desactiva las optimizaciones observables con IEEE señalando NaNs"
+
+-#: common.opt:938
++#: common.opt:941
+ msgid "Disable floating point optimizations that ignore the IEEE signedness of zero"
+ msgstr "Desactiva las optimizaciones de coma flotante que ignoran el signo de IEEE para cero"
+
+-#: common.opt:942
++#: common.opt:945
+ msgid "Convert floating point constants to single precision constants"
+ msgstr "Convierte las constantes de coma flotante a constantes de precisión simple"
+
+-#: common.opt:946
++#: common.opt:949
+ msgid "Split lifetimes of induction variables when loops are unrolled"
+ msgstr "Divide los tiempos de vida de las variables de inducción cuando se desenrollen los ciclos"
+
+-#: common.opt:950
++#: common.opt:953
+ msgid "Split wide types into independent registers"
+ msgstr "Divide los tipos anchos en registros independientes"
+
+-#: common.opt:954
++#: common.opt:957
+ msgid "Apply variable expansion when loops are unrolled"
+ msgstr "Aplica la expansión de variables cuando se desenrollan los ciclos"
+
+-#: common.opt:960
++#: common.opt:963
+ msgid "Insert stack checking code into the program"
+ msgstr "Inserta código de revisión de la pila en el programa"
+
+-#: common.opt:967
++#: common.opt:970
+ msgid "Trap if the stack goes past <register>"
+ msgstr "Captura si la pila pasa del <registro>"
+
+-#: common.opt:971
++#: common.opt:974
+ msgid "Trap if the stack goes past symbol <name>"
+ msgstr "Captura si la pila pasa del símbolo <nombre>"
+
+-#: common.opt:975
++#: common.opt:978
+ msgid "Use propolice as a stack protection method"
+ msgstr "Usa propolice como un método de protección de pila"
+
+-#: common.opt:979
++#: common.opt:982
+ msgid "Use a stack protection method for every function"
+ msgstr "Usa un método de protección de pila para cada función"
+
+-#: common.opt:991
++#: common.opt:994
+ msgid "Assume strict aliasing rules apply"
+ msgstr "Asume que se aplican las reglas estrictas de alias"
+
+-#: common.opt:995
++#: common.opt:998
+ msgid "Treat signed overflow as undefined"
+ msgstr "Trata el desbordamiento de signo como indefinido"
+
+-#: common.opt:999
++#: common.opt:1002
+ msgid "Check for syntax errors, then stop"
+ msgstr "Busca errores de sintaxis, y termina"
+
+-#: common.opt:1003
++#: common.opt:1006
+ msgid "Create data files needed by \"gcov\""
+ msgstr "Crea ficheros de datos necesarios para \"gcov\""
+
+-#: common.opt:1007
++#: common.opt:1010
+ msgid "Perform jump threading optimizations"
+ msgstr "Realiza optimizaciones de hilado de saltos"
+
+-#: common.opt:1011
++#: common.opt:1014
+ msgid "Report the time taken by each compiler pass"
+ msgstr "Reporta el tiempo tomado por cada paso del compilador"
+
+-#: common.opt:1015
++#: common.opt:1018
+ msgid "Set the default thread-local storage code generation model"
+ msgstr "Establece el modelo de generación de código por defecto para almacenamiento thread-local"
+
+-#: common.opt:1019
++#: common.opt:1022
+ msgid "Reorder top level functions, variables, and asms"
+ msgstr "Reordena las funciones de nivel superior, variables y asms"
+
+-#: common.opt:1023
++#: common.opt:1026
+ msgid "Perform superblock formation via tail duplication"
+ msgstr "Realiza la formación de superbloques a través de la duplicación de colas"
+
+-#: common.opt:1030
++#: common.opt:1033
+ msgid "Assume floating-point operations can trap"
+ msgstr "Asume que las operaciones de coma flotante pueden atrapar"
+
+-#: common.opt:1034
++#: common.opt:1037
+ msgid "Trap for signed overflow in addition, subtraction and multiplication"
+ msgstr "Atrapar desbordamientos signed en adición, sustracción y multiplicación"
+
+-#: common.opt:1038
++#: common.opt:1041
+ msgid "Enable SSA-CCP optimization on trees"
+ msgstr "Activa las optimizaciones SSA-CCP en árboles"
+
+-#: common.opt:1042
++#: common.opt:1045
+ msgid "Enable SSA-CCP optimization for stores and loads"
+ msgstr "Activa las optimizaciones SSA-CCP en árboles para almacenamientos y cargas"
+
+-#: common.opt:1046
++#: common.opt:1049
+ msgid "Enable loop header copying on trees"
+ msgstr "Activa la copia de encabezado de ciclo en árboles"
+
+-#: common.opt:1050
++#: common.opt:1053
+ msgid "Replace SSA temporaries with better names in copies"
+ msgstr "Reemplaza temporales SSA con mejores nombres en las copias"
+
+-#: common.opt:1054
++#: common.opt:1057
+ msgid "Enable copy propagation on trees"
+ msgstr "Activa la propagación de copia en árboles"
+
+-#: common.opt:1058
+-msgid "This switch is obsolete"
+-msgstr "Esta opción es obsoleta"
+-
+-#: common.opt:1062
++#: common.opt:1065
+ msgid "Transform condition stores into unconditional ones"
+ msgstr "Transforma los almacenamientos condicionales a incondicionales"
+
+-#: common.opt:1066
++#: common.opt:1069
+ msgid "Enable SSA dead code elimination optimization on trees"
+ msgstr "Activa la optimización de eliminación de código muerto SSA en árboles"
+
+-#: common.opt:1070
++#: common.opt:1073
+ msgid "Enable dominator optimizations"
+ msgstr "Activa las optimizaciones dominadoras"
+
+-#: common.opt:1074
++#: common.opt:1077
+ msgid "Enable dead store elimination"
+ msgstr "Activa la eliminación de almacenamiento muerto"
+
+-#: common.opt:1078
++#: common.opt:1081
+ msgid "Enable Full Redundancy Elimination (FRE) on trees"
+ msgstr "Activa la Eliminación de Redundancia Completa en árboles"
+
+-#: common.opt:1082
++#: common.opt:1085
+ msgid "Enable loop invariant motion on trees"
+ msgstr "Permite el movimiento invariante de ciclo en árboles"
+
+-#: common.opt:1086
++#: common.opt:1089
+ msgid "Enable linear loop transforms on trees"
+ msgstr "Activa las transformaciones lineales de ciclos en árboles"
+
+-#: common.opt:1090
++#: common.opt:1093
+ msgid "Create canonical induction variables in loops"
+ msgstr "Crea variables de inducción canónica en los ciclos"
+
+-#: common.opt:1094
++#: common.opt:1097
+ msgid "Enable loop optimizations on tree level"
+ msgstr "Activa las optimizaciones de ciclo a nivel de árbol"
+
+-#: common.opt:1098
++#: common.opt:1101
+ msgid "Enable automatic parallelization of loops"
+ msgstr "Activa la paralelización automática de ciclos"
+
+-#: common.opt:1102
++#: common.opt:1105
+ msgid "Enable SSA-PRE optimization on trees"
+ msgstr "Activa las optimizaciones SSA-PRE en árboles"
+
+-#: common.opt:1106
++#: common.opt:1109
+ msgid "Enable reassociation on tree level"
+ msgstr "Activa la reasociación a nivel de árbol"
+
+-#: common.opt:1110
++#: common.opt:1113
+ msgid "Perform structural alias analysis"
+ msgstr "Realiza el análisis de aliases estructural"
+
+-#: common.opt:1114
++#: common.opt:1117
+ msgid "Enable SSA code sinking on trees"
+ msgstr "Activa el hundimiento de código SSA en árboles"
+
+-#: common.opt:1118
++#: common.opt:1121
+ msgid "Perform scalar replacement of aggregates"
+ msgstr "Realiza el reemplazo escalar de agregados"
+
+-#: common.opt:1122
++#: common.opt:1125
+ msgid "Replace temporary expressions in the SSA->normal pass"
+ msgstr "Reemplaza expresiones temporales en el paso SSA->normal"
+
+-#: common.opt:1126
++#: common.opt:1129
+ msgid "Perform live range splitting during the SSA->normal pass"
+ msgstr "Realizar la división de rango vivo durante el paso SSA->normal"
+
+-#: common.opt:1130
++#: common.opt:1133
+ msgid "Perform Value Range Propagation on trees"
+ msgstr "Realiza la Propagación de Rango Valor en árboles"
+
+-#: common.opt:1134
++#: common.opt:1137
+ msgid "Compile whole compilation unit at a time"
+ msgstr "Compila la unidad de compilación completa a la vez"
+
+-#: common.opt:1138
++#: common.opt:1141
+ msgid "Perform loop unrolling when iteration count is known"
+ msgstr "Realiza el desenrollamiento del ciclo cuando se conoce la cuenta de iteración"
+
+-#: common.opt:1142
++#: common.opt:1145
+ msgid "Perform loop unrolling for all loops"
+ msgstr "Realiza el desenrollamiento del ciclo para todos los ciclos"
+
+-#: common.opt:1149
++#: common.opt:1152
+ msgid "Allow loop optimizations to assume that the loops behave in normal way"
+ msgstr "Permite que las optimizaciones de ciclo asuman que los ciclos se comportan normalmente"
+
+-#: common.opt:1153
++#: common.opt:1156
+ msgid "Allow optimization for floating-point arithmetic which may change the"
+ msgstr "Permite la optimización para la aritmética de coma flotante la cual puede cambiar"
+
+-#: common.opt:1158
++#: common.opt:1161
+ msgid "Same as -fassociative-math for expressions which include division."
+ msgstr "Igual que -fassociative-math para las expresiones que incluyen división."
+
+-#: common.opt:1166
++#: common.opt:1169
+ msgid "Allow math optimizations that may violate IEEE or ISO standards"
+ msgstr "Permite optimizaciones matemáticas que pueden violar los estándares IEEE ó ISO"
+
+-#: common.opt:1170
++#: common.opt:1173
+ msgid "Perform loop unswitching"
+ msgstr "Realiza la eliminación de opciones del ciclo"
+
+-#: common.opt:1174
++#: common.opt:1177
+ msgid "Just generate unwind tables for exception handling"
+ msgstr "Sólo genera tablas de desenredo para manejo de excepciones"
+
+-#: common.opt:1178
++#: common.opt:1181
+ msgid "Perform variable tracking"
+ msgstr "Realiza seguimiento de variables"
+
+-#: common.opt:1182
++#: common.opt:1185
+ msgid "Perform variable tracking and also tag variables that are uninitialized"
+ msgstr "Realiza el seguimiento de variables y también marca las variables que no se inicializaron"
+
+-#: common.opt:1186
++#: common.opt:1189
+ msgid "Enable loop vectorization on trees"
+ msgstr "Activa la vectorización de ciclos en árboles"
+
+-#: common.opt:1190
++#: common.opt:1193
+ msgid "Enable use of cost model in vectorization"
+ msgstr "Activa el uso del modelo costo en la vectorización"
+
+-#: common.opt:1194
++#: common.opt:1197
+ msgid "Enable loop versioning when doing loop vectorization on trees"
+ msgstr "Activa las versiones de ciclo cuando se hace vectorización de ciclos en árboles"
+
+-#: common.opt:1198
++#: common.opt:1201
+ msgid "Set the verbosity level of the vectorizer"
+ msgstr "Establece el nivel de detalle del vectorizador"
+
+-#: common.opt:1202
++#: common.opt:1205
+ msgid "Enable copy propagation of scalar-evolution information."
+ msgstr "Activa la propagación de copia de la información escalar-evolución."
+
+-#: common.opt:1212
++#: common.opt:1215
+ msgid "Add extra commentary to assembler output"
+ msgstr "Agrega comentarios extra a la salida de ensamblador"
+
+-#: common.opt:1216
++#: common.opt:1219
+ msgid "Set the default symbol visibility"
+ msgstr "Establece la visibilidad de símbolos por defecto"
+
+-#: common.opt:1221
++#: common.opt:1224
+ msgid "Use expression value profiles in optimizations"
+ msgstr "Usa perfiles de valor de expresión en las optimizaciones"
+
+-#: common.opt:1225
++#: common.opt:1228
+ msgid "Construct webs and split unrelated uses of single variable"
+ msgstr "Construye redes y divide usos no relacionados de una sola variable"
+
+-#: common.opt:1229
++#: common.opt:1232
+ msgid "Perform whole program optimizations"
+ msgstr "Realiza optimizaciones del programa completo"
+
+ # wraps around? No entiendo bien. cfuga
+-#: common.opt:1233
++#: common.opt:1236
+ msgid "Assume signed arithmetic overflow wraps around"
+ msgstr "Asume que el desbordamiento aritmético con signo se envuelve"
+
+-#: common.opt:1237
++#: common.opt:1240
+ msgid "Put zero initialized data in the bss section"
+ msgstr "Pone los datos inicializados a cero en la sección bss"
+
+-#: common.opt:1241
++#: common.opt:1244
+ msgid "Generate debug information in default format"
+ msgstr "Genera información de depuración en el formato por defecto"
+
+-#: common.opt:1245
++#: common.opt:1248
+ msgid "Generate debug information in COFF format"
+ msgstr "Genera información de depuración en el formato COFF"
+
+-#: common.opt:1249
++#: common.opt:1252
+ msgid "Generate debug information in DWARF v2 format"
+ msgstr "Genera información de depuración en el formato DWARF v2"
+
+-#: common.opt:1253
++#: common.opt:1256
+ msgid "Generate debug information in default extended format"
+ msgstr "Genera información de depuración en el formato extendido por defecto"
+
+-#: common.opt:1257
++#: common.opt:1260
+ msgid "Generate debug information in STABS format"
+ msgstr "Genera información de depuración en el formato STABS"
+
+-#: common.opt:1261
++#: common.opt:1264
+ msgid "Generate debug information in extended STABS format"
+ msgstr "Genera información de depuración en el formato STABS extendido"
+
+-#: common.opt:1265
++#: common.opt:1268
+ msgid "Generate debug information in VMS format"
+ msgstr "Genera información de depuración en el formato VMS"
+
+-#: common.opt:1269
++#: common.opt:1272
+ msgid "Generate debug information in XCOFF format"
+ msgstr "Genera información de depuración en el formato XCOFF"
+
+-#: common.opt:1273
++#: common.opt:1276
+ msgid "Generate debug information in extended XCOFF format"
+ msgstr "Genera información de depuración en el formato XCOFF extendido"
+
+-#: common.opt:1277
++#: common.opt:1280
+ msgid "Place output into <file>"
+ msgstr "Coloca la salida en el <fichero>"
+
+-#: common.opt:1281
++#: common.opt:1284
+ msgid "Enable function profiling"
+ msgstr "Activa el análisis de perfil de las funciones"
+
+-#: common.opt:1285
++#: common.opt:1288
+ msgid "Issue warnings needed for strict compliance to the standard"
+ msgstr "Activa los avisos necesarios para cumplir estrictamente con el estándar"
+
+-#: common.opt:1289
++#: common.opt:1292
+ msgid "Like -pedantic but issue them as errors"
+ msgstr "Como -pedantic pero los muestra como errores"
+
+-#: common.opt:1293
++#: common.opt:1296
+ msgid "Do not display functions compiled or elapsed time"
+ msgstr "No muestra las funciones compiladas o el tiempo transcurrido"
+
+-#: common.opt:1297
++#: common.opt:1300
+ msgid "Display the compiler's version"
+ msgstr "Muestra la versión del compilador"
+
+-#: common.opt:1301
++#: common.opt:1304
+ msgid "Suppress warnings"
+ msgstr "Suprime avisos"
+
+-#: common.opt:1305
++#: common.opt:1308
+ msgid "Create a shared library"
+ msgstr "Crea una biblioteca compartida"
+
+-#: common.opt:1309
++#: common.opt:1312
+ msgid "Create a position independent executable"
+ msgstr "Genera un ejecutable independiente de posición"
+
++#: c.opt:41
++msgid "Assert the <answer> to <question>. Putting '-' before <question> disables the <answer> to <question>"
++msgstr "Relaciona la <resp>uesta a la <pregunta>. Al colocar '-' antes de la <pregunta> desactiva la <resp>uesta a la <pregunta>"
++
++#: c.opt:45
++msgid "Do not discard comments"
++msgstr "No descarta comentarios"
++
++#: c.opt:49
++msgid "Do not discard comments in macro expansions"
++msgstr "No descarta comentarios en expansiones de macro"
++
++#: c.opt:53
++msgid "Define a <macro> with <val> as its value. If just <macro> is given, <val> is taken to be 1"
++msgstr "Define una <macro> con <val> como su valor. Si sólo se da la <macro>, <val> se toma como 1"
++
++#: c.opt:60
++msgid "Add <dir> to the end of the main framework include path"
++msgstr "Agrega el <dir>ectorio al final de la ruta de inclusión del marco de trabajo principal"
++
++#: c.opt:64
++msgid "Print the name of header files as they are used"
++msgstr "Muestra los nombres de los ficheros de encabezado mientras se utilizan"
++
++#: c.opt:68 c.opt:863
++msgid "Add <dir> to the end of the main include path"
++msgstr "Agrega el <dir>ectorio al final de la ruta de inclusión principal"
++
++#: c.opt:72
++msgid "Generate make dependencies"
++msgstr "Genera dependencias de make"
++
++#: c.opt:76
++msgid "Generate make dependencies and compile"
++msgstr "Genera dependencias de make y compila"
++
++#: c.opt:80
++msgid "Write dependency output to the given file"
++msgstr "Escribe la salida de dependencias al fichero dado"
++
++#: c.opt:84
++msgid "Treat missing header files as generated files"
++msgstr "Trata los ficheros de encabezado faltantes como ficheros generados"
++
++#: c.opt:88
++msgid "Like -M but ignore system header files"
++msgstr "Como -M pero descarta los ficheros de encabezado del sistema"
++
++#: c.opt:92
++msgid "Like -MD but ignore system header files"
++msgstr "Como -MD pero descarta los ficheros de encabezado del sistema"
++
++#: c.opt:96
++msgid "Generate phony targets for all headers"
++msgstr "Genera objetivos de prueba para todos los encabezados"
++
++#: c.opt:100
++msgid "Add a MAKE-quoted target"
++msgstr "Agrega un objetivo tipo-MAKE"
++
++#: c.opt:104
++msgid "Add an unquoted target"
++msgstr "Agrega un objetivo no citado"
++
++#: c.opt:108
++msgid "Do not generate #line directives"
++msgstr "No genera directivas #line"
++
++#: c.opt:112
++msgid "Undefine <macro>"
++msgstr "Borra la definición de <macro>"
++
++#: c.opt:116
++msgid "Warn about things that will change when compiling with an ABI-compliant compiler"
++msgstr "Avisa sobre cosas que cambiarán cuando se compile con un compilador que cumpla con la ABI"
++
++#: c.opt:120
++msgid "Warn about suspicious uses of memory addresses"
++msgstr "Avisa sobre usos sospechosos de direcciones de memoria"
++
++#: c.opt:124
++msgid "Enable most warning messages"
++msgstr "Activa casi todos los mensajes de aviso"
++
++#: c.opt:128
++msgid "Warn if a comparison is always true or always false due to the limited range of the data type"
++msgstr "Avisa si la comparación es siempre verdadera o siempre falsa debido al rango limitado del tipo de datos"
++
++#: c.opt:132
++msgid "Warn whenever an Objective-C assignment is being intercepted by the garbage collector"
++msgstr "Avisa cuando se intercepte una asignación Objective-C por el recolector de basura"
++
++#: c.opt:136
++msgid "Warn about casting functions to incompatible types"
++msgstr "Avisa por funciones de conversión a tipos incompatibles"
++
++#: c.opt:140
++msgid "Warn about C constructs that are not in the common subset of C and C++"
++msgstr "Avisa sobre construcciones C que no están en el subconjunto común de C y C++"
++
++#: c.opt:144
++msgid "Warn about C++ constructs whose meaning differs between ISO C++ 1998 and ISO C++ 200x"
++msgstr "Avisar sobre constructores de C++ cuyos significados difieren entre ISO C++ 1998 e ISO C++ 200x"
++
++#: c.opt:148
++msgid "Warn about casts which discard qualifiers"
++msgstr "Avisa sobre conversiones que descartan calificadores"
++
++#: c.opt:152
++msgid "Warn about subscripts whose type is \"char\""
++msgstr "Avisa sobre subíndices cuyo tipo es \"char\""
++
++#: c.opt:156
++msgid "Warn about variables that might be changed by \"longjmp\" or \"vfork\""
++msgstr "Avisa sobre variables que pueden cambiar por \"longjmp\" o \"vfork\""
++
++#: c.opt:160
++msgid "Warn about possibly nested block comments, and C++ comments spanning more than one physical line"
++msgstr "Avisa sobre la posibilidad de bloques de comentarios anidados, y comentarios de C++ que abarquen más de una línea física"
++
++#: c.opt:164
++msgid "Synonym for -Wcomment"
++msgstr "Sinónimo de -Wcomment"
++
++#: c.opt:168
++msgid "Warn for implicit type conversions that may change a value"
++msgstr "Avisa cuando hay conversiones de tipo implícitas que pueden cambiar un valor"
++
++#: c.opt:172
++msgid "Warn for implicit type conversions between signed and unsigned integers"
++msgstr "Avisa cuando hay conversiones de tipo implícitas entre enteros con signo y sin signo"
++
++#: c.opt:176
++msgid "Warn when all constructors and destructors are private"
++msgstr "Avisa cuando todos los constructores y destructores son privados"
++
++#: c.opt:180
++msgid "Warn when a declaration is found after a statement"
++msgstr "Avisa cuando se encuentra una declaración después de una declaración"
++
++#: c.opt:184
++msgid "Warn about deprecated compiler features"
++msgstr "Avisa si se usan opciones de compilador obsoletas"
++
++#: c.opt:188
++msgid "Warn about compile-time integer division by zero"
++msgstr "Avisa sobre la división entera por cero en tiempo de compilación"
++
++#: c.opt:192
++msgid "Warn about violations of Effective C++ style rules"
++msgstr "Avisa sobre violaciones de reglas de estilo de Effective C++"
++
++#: c.opt:196
++msgid "Warn about an empty body in an if or else statement"
++msgstr "Avisa sobre un cuerpo vacío en una declaración if o else"
++
++#: c.opt:200
++msgid "Warn about stray tokens after #elif and #endif"
++msgstr "Avisa sobre elementos sobrantes después de #elif y #endif"
++
++#: c.opt:208
++msgid "This switch is deprecated; use -Werror=implicit-function-declaration instead"
++msgstr "Esta opción es obsoleta; utilice en su lugar -Werror=implicit-function-declaration"
++
++#: c.opt:212
++msgid "Warn if testing floating point numbers for equality"
++msgstr "Avisa si se prueban números de coma flotante para equidad"
++
++#: c.opt:216
++msgid "Warn about printf/scanf/strftime/strfmon format string anomalies"
++msgstr "Avisa sobre anomalías de cadena de formato de printf/scanf/strftime/strfmon"
++
++#: c.opt:220
++msgid "Warn if passing too many arguments to a function for its format string"
++msgstr "Avisa si se pasan demasiados argumentos a una función para su cadena de formato"
++
++#: c.opt:224
++msgid "Warn about format strings that are not literals"
++msgstr "Avisa sobre el uso de cadenas de formato que no son literales"
++
++#: c.opt:228
++msgid "Warn about format strings that contain NUL bytes"
++msgstr "Avisa sobre las cadenas de formato que contengan bytes NUL"
++
++#: c.opt:232
++msgid "Warn about possible security problems with format functions"
++msgstr "Avisa sobre posibles problemas de seguridad con funciones de formato"
++
++#: c.opt:236
++msgid "Warn about strftime formats yielding 2-digit years"
++msgstr "Avisa sobre formatos de strftime que producen dos dígitos para el año"
++
++#: c.opt:240
++msgid "Warn about zero-length formats"
++msgstr "Avisa sobre formatos de longitud cero"
++
++#: c.opt:247
++msgid "Warn whenever type qualifiers are ignored."
++msgstr "Avisa cada vez que se ignoran los calificadores de tipo."
++
++#: c.opt:251
++msgid "Warn about variables which are initialized to themselves"
++msgstr "Avisa sobre variables que se inicialicen ellas mismas"
++
++#: c.opt:258
++msgid "Warn about implicit function declarations"
++msgstr "Avisa sobre la declaración implícita de funciones"
++
++#: c.opt:262
++msgid "Warn when a declaration does not specify a type"
++msgstr "Avisa cuando una declaración no especifique un tipo"
++
++#: c.opt:266
++msgid "Deprecated. This switch has no effect"
++msgstr "Obsoleto. Esta opción no tiene efecto"
++
++#: c.opt:270
++msgid "Warn when there is a cast to a pointer from an integer of a different size"
++msgstr "Avisa cuando hay una conversión a puntero desde un entero de tamaño diferente"
++
++#: c.opt:274
++msgid "Warn about invalid uses of the \"offsetof\" macro"
++msgstr "Avisa sobre usos inválidos de la macro \"offsetof\""
++
++#: c.opt:278
++msgid "Warn about PCH files that are found but not used"
++msgstr "Avisa sobre ficheros PCH que se encuentran pero no se usan"
++
++#: c.opt:282
++msgid "Do not warn about using \"long long\" when -pedantic"
++msgstr "No avisa sobre el uso de \"long long\" cuando se use -pedantic"
++
++#: c.opt:286
++msgid "Warn about suspicious declarations of \"main\""
++msgstr "Avisa sobre declaraciones sospechosas de \"main\""
++
++#: c.opt:290
++msgid "Warn about possibly missing braces around initializers"
++msgstr "Avisa sobre posibles llaves faltantes alrededor de los inicializadores"
++
++#: c.opt:294
++msgid "Warn about global functions without previous declarations"
++msgstr "Avisa sobre funciones globales sin declaraciones previas"
++
++#: c.opt:298
++msgid "Warn about missing fields in struct initializers"
++msgstr "Avisa sobre campos faltantes en los inicializadores de struct"
++
++#: c.opt:302
++msgid "Warn about functions which might be candidates for format attributes"
++msgstr "Avisa por funciones que pueden ser candidatas para atributos de formato"
++
++#: c.opt:306
++msgid "Warn about user-specified include directories that do not exist"
++msgstr "Avisa sobre directorios de inclusión definidos por el usuario que no existen"
++
++#: c.opt:310
++msgid "Warn about function parameters declared without a type specifier in K&R-style functions"
++msgstr "Avisa sobre parámetros de función declarados sin un especificador de tipo en funciones de estilo K&R"
++
++#: c.opt:314
++msgid "Warn about global functions without prototypes"
++msgstr "Avisa sobre funciones globales sin prototipos"
++
++#: c.opt:318
++msgid "Warn about use of multi-character character constants"
++msgstr "Avisa sobre el uso de constantes de carácter multicaracteres"
++
++#: c.opt:322
++msgid "Warn about \"extern\" declarations not at file scope"
++msgstr "Avisa sobre declaraciones \"extern\" que no están en el ámbito del fichero"
++
++#: c.opt:326
++msgid "Warn when non-templatized friend functions are declared within a template"
++msgstr "Avisa cuando las funciones friend sin plantillas se declaran dentro de una plantilla"
++
++#: c.opt:330
++msgid "Warn about non-virtual destructors"
++msgstr "Avisa sobre destructores que no son virtuales"
++
++#: c.opt:334
++msgid "Warn about NULL being passed to argument slots marked as requiring non-NULL"
++msgstr "Avisa sobre el paso de NULL a ranuras de argumento marcadas que requieren no-NULL"
++
++#: c.opt:338
++msgid "Warn about non-normalised Unicode strings"
++msgstr "Avisa sobre cadenas Unicode que no están normalizadas"
++
++#: c.opt:342
++msgid "Warn if a C-style cast is used in a program"
++msgstr "Avisa si se usa una conversión de estilo C en un programa"
++
++#: c.opt:346
++msgid "Warn for obsolescent usage in a declaration"
++msgstr "Avisa por un usage obsoleto en una declaración"
++
++#: c.opt:350
++msgid "Warn if an old-style parameter definition is used"
++msgstr "Avisa si se usa un parámetro de estilo antiguo en una definición"
++
++#: c.opt:354
++msgid "Warn if a string is longer than the maximum portable length specified by the standard"
++msgstr "Avisa si una cadena es más larga que la longitud transportable máxima especificada por el estándar"
++
++#: c.opt:358
++msgid "Warn about overloaded virtual function names"
++msgstr "Avisa sobre nombres de funciones virtual sobrecargadas"
++
++#: c.opt:362
++msgid "Warn about overriding initializers without side effects"
++msgstr "Avisa sobre sobreescritura de inicializadores sin efectos secundarios"
++
++#: c.opt:366
++msgid "Warn about possibly missing parentheses"
++msgstr "Avisa sobre posibles paréntesis faltantes"
++
++#: c.opt:370
++msgid "Warn when converting the type of pointers to member functions"
++msgstr "Avisa cuando se convierte el tipo de punteros sobre punteros a funciones miembro"
++
++#: c.opt:374
++msgid "Warn about function pointer arithmetic"
++msgstr "Avisa sobre la aritmética de punteros de funciones"
++
++#: c.opt:378
++msgid "Warn when a pointer is cast to an integer of a different size"
++msgstr "Avisa cuando hay una conversión de puntero a entero de tamaño diferente"
++
++#: c.opt:382
++msgid "Warn about misuses of pragmas"
++msgstr "Avisa sobre malos usos de pragmas"
++
++#: c.opt:386
++msgid "Warn if inherited methods are unimplemented"
++msgstr "Avisa si los métodos heredados no están implementados"
++
++#: c.opt:390
++msgid "Warn about multiple declarations of the same object"
++msgstr "Avisa sobre declaraciones múltiples del mismo objeto"
++
++#: c.opt:394
++msgid "Warn when the compiler reorders code"
++msgstr "Avisa cuando el compilador reordena código"
++
++#: c.opt:398
++msgid "Warn whenever a function's return type defaults to \"int\" (C), or about inconsistent return types (C++)"
++msgstr "Avisa cuando el tipo de devolución por defecto de una función cambia a \"int\" (C), o sobre tipos de devolución inconsistentes (C++)"
++
++#: c.opt:402
++msgid "Warn if a selector has multiple methods"
++msgstr "Avisa si un selector tiene métodos múltiples"
++
++#: c.opt:406
++msgid "Warn about possible violations of sequence point rules"
++msgstr "Avisa sobre posibles violaciones a las reglas de secuencia de punto"
++
++#: c.opt:410
++msgid "Warn about signed-unsigned comparisons"
++msgstr "Avisa sobre comparaciones signo-sin signo"
++
++#: c.opt:414
++msgid "Warn when overload promotes from unsigned to signed"
++msgstr "Avisa cuando la sobrecarga promueve de unsigned a signed"
++
++#: c.opt:418
++msgid "Warn about uncasted NULL used as sentinel"
++msgstr "Avisa sobre NULL sin conversión usado como sentinela"
++
++#: c.opt:422
++msgid "Warn about unprototyped function declarations"
++msgstr "Avisa sobre declaraciones de función sin prototipo"
++
++#: c.opt:426
++msgid "Warn if type signatures of candidate methods do not match exactly"
++msgstr "Avisa si los firmas de tipo de los métodos candidatos no coinciden exactamente"
++
++#: c.opt:430
++msgid "Warn when synthesis behavior differs from Cfront"
++msgstr "Avisa cuando el comportamiento de síntesis difiere de Cfront"
++
++#: c.opt:438
++msgid "Warn about features not present in traditional C"
++msgstr "Avisa sobre características no presentes en C tradicional"
++
++#: c.opt:442
++msgid "Warn of prototypes causing type conversions different from what would happen in the absence of prototype"
++msgstr "Avisa de prototipos que causen diferentes conversiones de tipo de las que sucederían en la ausencia del prototipo"
++
++#: c.opt:446
++msgid "Warn if trigraphs are encountered that might affect the meaning of the program"
++msgstr "Avisa si se encuentran trigrafos que puedan afectar el significado del programa"
++
++#: c.opt:450
++msgid "Warn about @selector()s without previously declared methods"
++msgstr "Avisa sobre @selector()es sin métodos declarados previamente"
++
++#: c.opt:454
++msgid "Warn if an undefined macro is used in an #if directive"
++msgstr "Avisa si se usa una macro indefinida en una directiva #if"
++
++#: c.opt:458
++msgid "Warn about unrecognized pragmas"
++msgstr "Avisa sobre pragmas que no se reconocen"
++
++#: c.opt:462
++msgid "Warn about macros defined in the main file that are not used"
++msgstr "Avisa sobre macros definidas en el fichero principal que no se usan"
++
++#: c.opt:466
++msgid "Do not warn about using variadic macros when -pedantic"
++msgstr "No avisa sobre el uso de macros variadic cuando se use -pedantic"
++
++#: c.opt:470
++msgid "Warn if a variable length array is used"
++msgstr "Avisa si se usa una matriz de longitud variable"
++
++#: c.opt:474
++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 "En C++, un valor diferente de cero significa avisar sobre conversiones obsoletas de literales de cadena a `char *'. En C, aviso similar, excepto que la conversión no es obsoleta por el estándar ISO C."
++
++#: c.opt:478
++msgid "Warn when a pointer differs in signedness in an assignment"
++msgstr "Avisa cuando un puntero difiere en signo en una asignación"
++
++#: c.opt:482
++msgid "A synonym for -std=c89 (for C) or -std=c++98 (for C++)"
++msgstr "Un sinónimo para -std=c89 (para C) o -std=c++98 (para C++)"
++
++#: c.opt:490
++msgid "Enforce class member access control semantics"
++msgstr "Cumple las semánticas de control de acceso de miembros de clase"
++
++#: c.opt:497
++msgid "Change when template instances are emitted"
++msgstr "Cambia cuando se emiten las instancias de la plantilla"
++
++#: c.opt:501
++msgid "Recognize the \"asm\" keyword"
++msgstr "Reconoce la palabra clave \"asm\""
++
++#: c.opt:505
++msgid "Recognize built-in functions"
++msgstr "Reconoce funciones internas"
++
++#: c.opt:512
++msgid "Check the return value of new"
++msgstr "Revisa el valor de devolución de new"
++
++#: c.opt:516
++msgid "Allow the arguments of the '?' operator to have different types"
++msgstr "Permite que los argumentos del operador '?' tengan tipos diferentes"
++
++#: c.opt:520
++msgid "Reduce the size of object files"
++msgstr "Reduce el tamaño de los ficheros objeto"
++
++#: c.opt:524
++msgid "Use class <name> for constant strings"
++msgstr "Usa la clase <nombre> para cadenas constantes"
++
++#: c.opt:528
++msgid "Inline member functions by default"
++msgstr "Incluye en línea a las funciones miembro por defecto"
++
++#: c.opt:532
++msgid "Preprocess directives only."
++msgstr "Preprocesa sólo directivas."
++
++#: c.opt:536
++msgid "Permit '$' as an identifier character"
++msgstr "Permite '$' como un identificador de carácter"
++
++#: c.opt:543
++msgid "Generate code to check exception specifications"
++msgstr "Genera código para revisar excepciones de especificaciones"
++
++#: c.opt:550
++msgid "Convert all strings and character constants to character set <cset>"
++msgstr "Convierte todas las constantes de cadenas y carácter al conjunto de caracteres <cset>"
++
++#: c.opt:554
++msgid "Permit universal character names (\\u and \\U) in identifiers"
++msgstr "Permite los nombres de cáracteres universales (\\u y \\U) en los identificadores"
++
++#: c.opt:558
++msgid "Specify the default character set for source files"
++msgstr "Especifica el conjunto de caracteres por defecto para los ficheros fuente"
++
++#: c.opt:566
++msgid "Scope of for-init-statement variables is local to the loop"
++msgstr "El ámbito de las variables de la declaración de inicio-de-for es local para el ciclo"
++
++#: c.opt:570
++msgid "Do not assume that standard C libraries and \"main\" exist"
++msgstr "No asume que existen las bibliotecas C estándar y \"main\""
++
++#: c.opt:574
++msgid "Recognize GNU-defined keywords"
++msgstr "Reconoce las palabras claves definidas por GNU"
++
++#: c.opt:578
++msgid "Generate code for GNU runtime environment"
++msgstr "Genera código para el ambiente de tiempo de ejecución GNU"
++
++#: c.opt:582
++msgid "Use traditional GNU semantics for inline functions"
++msgstr "Usa semántica GNU tradicional para las funciones incluídas en línea"
++
++#: c.opt:595
++msgid "Assume normal C execution environment"
++msgstr "Asume el ambiente normal de ejecución C"
++
++#: c.opt:599
++msgid "Enable support for huge objects"
++msgstr "Activa el soporte para objetos enormes"
++
++#: c.opt:603
++msgid "Export functions even if they can be inlined"
++msgstr "Exporta funciones aún si pueden incluir en línea"
++
++#: c.opt:607
++msgid "Emit implicit instantiations of inline templates"
++msgstr "Emite instanciaciones implícitas de plantillas incluídas en línea"
++
++#: c.opt:611
++msgid "Emit implicit instantiations of templates"
++msgstr "Emite instanciaciones implícitas de plantillas"
++
++#: c.opt:615
++msgid "Inject friend functions into enclosing namespace"
++msgstr "Inyecta las funciones friend dentro de espacios de nombres cerrados"
++
++#: c.opt:622
++msgid "Allow implicit conversions between vectors with differing numbers of subparts and/or differing element types."
++msgstr "Permite las conversiones implícitas entre vectores con números diferentes de subpartes y/o tipos de elementos diferentes."
++
++#: c.opt:626
++msgid "Don't warn about uses of Microsoft extensions"
++msgstr "No avisa sobre los usos de extensiones Microsoft"
++
++#: c.opt:636
++msgid "Generate code for NeXT (Apple Mac OS X) runtime environment"
++msgstr "Genera código para el ambiente de tiempo de ejecución NeXT (Apple Mac OS X)"
++
++#: c.opt:640
++msgid "Assume that receivers of Objective-C messages may be nil"
++msgstr "Asume que los receptores de mensajes de Objective-C pueden ser nil"
++
++#: c.opt:652
++msgid "Generate special Objective-C methods to initialize/destroy non-POD C++ ivars, if needed"
++msgstr "Genera métodos Objective-C especiales para inicializar/destruir i-variables de C++ que no son POD, si es necesario"
++
++#: c.opt:656
++msgid "Allow fast jumps to the message dispatcher"
++msgstr "Permite saltos rápidos al despachador de mensajes"
++
++#: c.opt:662
++msgid "Enable Objective-C exception and synchronization syntax"
++msgstr "Activa la sintaxis de excepción y sincronización de Objective-C"
++
++#: c.opt:666
++msgid "Enable garbage collection (GC) in Objective-C/Objective-C++ programs"
++msgstr "Activa la recolección de basura (GC) en programas Objective-C/Objective-C++"
++
++#: c.opt:671
++msgid "Enable Objective-C setjmp exception handling runtime"
++msgstr "Activa el manejo de excepciones setjmp en tiempo de ejecución de Objective-C"
++
++#: c.opt:675
++msgid "Enable OpenMP"
++msgstr "Activa OpenMP"
++
++#: c.opt:679
++msgid "Recognize C++ kewords like \"compl\" and \"xor\""
++msgstr "Reconoce palabras clave de C++ como \"compl\" y \"xor\""
++
++#: c.opt:683
++msgid "Enable optional diagnostics"
++msgstr "Activa los diagnósticos opcionales"
++
++#: c.opt:690
++msgid "Look for and use PCH files even when preprocessing"
++msgstr "Busca y utiliza ficheros PCH aún cuando se esté preprocesando"
++
++#: c.opt:694
++msgid "Downgrade conformance errors to warnings"
++msgstr "Degrada los errores de concordancia a avisos"
++
++#: c.opt:698
++msgid "Treat the input file as already preprocessed"
++msgstr "Trata al fichero de entrada como previamente preprocesado"
++
++#: c.opt:702
++msgid "Used in Fix-and-Continue mode to indicate that object files may be swapped in at runtime"
++msgstr "Usa el modo Fix-and-Continue para indicar que los ficheros objeto se pueden intercambiar en tiempo de ejecución"
++
++#: c.opt:706
++msgid "Enable automatic template instantiation"
++msgstr "Activa la instanciación automática de plantillas"
++
++#: c.opt:710
++msgid "Generate run time type descriptor information"
++msgstr "Genera información de descriptor de tipo en tiempo de ejecución"
++
++#: c.opt:714
++msgid "Use the same size for double as for float"
++msgstr "Usa el mismo tamaño para double que para float"
++
++#: c.opt:722
++msgid "Force the underlying type for \"wchar_t\" to be \"unsigned short\""
++msgstr "Fuerza que el tipo debajo de \"wchar_t\" sea \"unsigned short\""
++
++#: c.opt:726
++msgid "When \"signed\" or \"unsigned\" is not given make the bitfield signed"
++msgstr "Cuando no se proporcione \"signed\" o \"unsigned\" hace signed el campo de bits"
++
++#: c.opt:730
++msgid "Make \"char\" signed by default"
++msgstr "Hace que \"char\" sea signed por defecto"
++
++#: c.opt:737
++msgid "Display statistics accumulated during compilation"
++msgstr "Muestra las estadísticas acumuladas durante la compilación"
++
++#: c.opt:744
++msgid "Distance between tab stops for column reporting"
++msgstr "Distancia entre topes de tabulador para reportes en columnas"
++
++#: c.opt:748
++msgid "Specify maximum template instantiation depth"
++msgstr "Especifica la profundidad máxima de instanciación de plantillas"
++
++#: c.opt:755
++msgid "Do not generate thread-safe code for initializing local statics"
++msgstr "No genera código seguro en hilos para inicializar statics locales"
++
++#: c.opt:759
++msgid "When \"signed\" or \"unsigned\" is not given make the bitfield unsigned"
++msgstr "Cuando no se proporcione \"signed\" o \"unsigned\" hacer unsigned el campo de bits"
++
++#: c.opt:763
++msgid "Make \"char\" unsigned by default"
++msgstr "Hace que \"char\" sea unsigned por defecto"
++
++#: c.opt:767
++msgid "Use __cxa_atexit to register destructors"
++msgstr "Usa __cxa_atexit para registrar destructores"
++
++#: c.opt:771
++msgid "Use __cxa_get_exception_ptr in exception handling"
++msgstr "Usa __cxa_get_exception_ptr para el manejo de excepciones"
++
++#: c.opt:775
++msgid "Marks all inlined methods as having hidden visibility"
++msgstr "Marca todos los métodos incluídos en lína con visibilidad hidden"
++
++#: c.opt:779
++msgid "Changes visibility to match Microsoft Visual Studio by default"
++msgstr "Cambia la visibilidad para coincidir con Microsoft Visual Studio por defecto"
++
++#: c.opt:783
++msgid "Discard unused virtual functions"
++msgstr "Descarta funciones virtual sin usar"
++
++#: c.opt:787
++msgid "Implement vtables using thunks"
++msgstr "Implementa vtables usando thunks"
++
++#: c.opt:791
++msgid "Emit common-like symbols as weak symbols"
++msgstr "Emite símbolos comunes como símbolos débiles"
++
++#: c.opt:795
++msgid "Convert all wide strings and character constants to character set <cset>"
++msgstr "Convierte todas las cadenas anchas y constantes de cáracter al conjunto de caracteres <cset>"
++
++#: c.opt:799
++msgid "Generate a #line directive pointing at the current working directory"
++msgstr "Genera una directiva #line que apunte al directorio de trabajo actual"
++
++#: c.opt:803
++msgid "Emit cross referencing information"
++msgstr "Emite información de referencia cruzada"
++
++#: c.opt:807
++msgid "Generate lazy class lookup (via objc_getClass()) for use in Zero-Link mode"
++msgstr "Genera la búsqueda no estricta de clases (a través de objc_getClass()) para usarlas en el modo Zero-Link"
++
++#: c.opt:811
++msgid "Dump declarations to a .decl file"
++msgstr "Vuelca las declaraciones a un fichero .decl"
++
++#: c.opt:815
++msgid "Aggressive reduced debug info for structs"
++msgstr "Información de depuración reducida agresiva para structs"
++
++#: c.opt:819
++msgid "Conservative reduced debug info for structs"
++msgstr "Información de depuración reducida conservativa para structs"
++
++#: c.opt:823
++msgid "Detailed reduced debug info for structs"
++msgstr "Información de depuración reducida detallada para structs"
++
++#: c.opt:827 c.opt:859
++msgid "Add <dir> to the end of the system include path"
++msgstr "Agrega el <dir>ectorio al final de la ruta de inclusión del sistema"
++
++#: c.opt:831
++msgid "Accept definition of macros in <file>"
++msgstr "Acepta la definición de macros en el <fich>ero"
++
++#: c.opt:835
++msgid "-imultilib <dir> Set <dir> to be the multilib include subdirectory"
++msgstr "-imultilib <dir> Define <dir> como el subdirectorio de inclusión de multilib"
++
++#: c.opt:839
++msgid "Include the contents of <file> before other files"
++msgstr "Incluye los contenidos del <fichero> antes de otros ficheros"
++
++#: c.opt:843
++msgid "Specify <path> as a prefix for next two options"
++msgstr "Especifica la <ruta> como un prefijo para las siguientes dos opciones"
++
++#: c.opt:847
++msgid "Set <dir> to be the system root directory"
++msgstr "Establece el <dir>ectorio como el directorio raíz del sistema"
++
++#: c.opt:851
++msgid "Add <dir> to the start of the system include path"
++msgstr "Agrega el <dir>ectorio al inicio de la ruta de inclusión del sistema"
++
++#: c.opt:855
++msgid "Add <dir> to the end of the quote include path"
++msgstr "Agrega el <dir>ectorio al final de la ruta de inclusión de citas"
++
++#: c.opt:876
++msgid "Do not search standard system include directories (those specified with -isystem will still be used)"
++msgstr "No busca directorios de inclusión del sistema por defecto (aquellos especificados con -isystem aún serán utilizados)"
++
++#: c.opt:880
++msgid "Do not search standard system include directories for C++"
++msgstr "No busca directorios de inclusión del sistema por defecto para C++"
++
++#: c.opt:896
++msgid "Generate C header of platform-specific features"
++msgstr "Genera encabezado C de características específicas de la plataforma"
++
++#: c.opt:900
++msgid "Print a checksum of the executable for PCH validity checking, and stop"
++msgstr "Muestra una suma de comprobación del ejecutable para revisión de validación de PCH, y termina"
++
++#: c.opt:904
++msgid "Remap file names when including files"
++msgstr "Remapea nombres de fichero cuando incluyen ficheros"
++
++#: c.opt:908
++msgid "Conform to the ISO 1998 C++ standard"
++msgstr "Conforma al estándar ISO 1998 C++"
++
++#: c.opt:912
++msgid "Conform to the ISO 1998 C++ standard, with extensions that are likely to"
++msgstr "Conforma al estándar ISO 1998 C++, con extensiones que son afines"
++
++#: c.opt:919 c.opt:954
++msgid "Conform to the ISO 1990 C standard"
++msgstr "Conforma al estándar ISO 1990 C"
++
++#: c.opt:923 c.opt:962
++msgid "Conform to the ISO 1999 C standard"
++msgstr "Conforma al estándar ISO 1999 C"
++
++#: c.opt:927
++msgid "Deprecated in favor of -std=c99"
++msgstr "Obsoleto en favor de -std=c99"
++
++#: c.opt:931
++msgid "Conform to the ISO 1998 C++ standard with GNU extensions"
++msgstr "Conforma al estándar ISO 1998 C++ con extensiones GNU"
++
++#: c.opt:935
++msgid "Conform to the ISO 1998 C++ standard, with GNU extensions and"
++msgstr "Conforma al estándar ISO 1998 C++, con extensiones GNU y"
++
++#: c.opt:942
++msgid "Conform to the ISO 1990 C standard with GNU extensions"
++msgstr "Conforma al estándar ISO 1990 C con extensiones GNU"
++
++#: c.opt:946
++msgid "Conform to the ISO 1999 C standard with GNU extensions"
++msgstr "Conforma al estándar ISO 1999 C con extensiones GNU"
++
++#: c.opt:950
++msgid "Deprecated in favor of -std=gnu99"
++msgstr "Obsoleto en favor de -std=gnu99"
++
++#: c.opt:958
++msgid "Conform to the ISO 1990 C standard as amended in 1994"
++msgstr "Conforma al estándar ISO 1990 C como se enmendó en 1994"
++
++#: c.opt:966
++msgid "Deprecated in favor of -std=iso9899:1999"
++msgstr "Obsoleto en favor de -std=iso9899:1999"
++
++#: c.opt:970
++msgid "Enable traditional preprocessing"
++msgstr "Habilita el preprocesamiento tradicional"
++
++#: c.opt:974
++msgid "Support ISO C trigraphs"
++msgstr "Soporte para los trigrafos de ISO C"
++
++#: c.opt:978
++msgid "Do not predefine system-specific and GCC-specific macros"
++msgstr "No predefine las macros específicas del sistema y específicas de GCC"
++
++#: c.opt:982
++msgid "Enable verbose output"
++msgstr "Activa la salida detallada"
++
++#: ada/lang.opt:96
++msgid "Specify options to GNAT"
++msgstr "Especifica opciones a GNAT"
++
+ #: attribs.c:244
+ #, gcc-internal-format
+ msgid "%qs attribute directive ignored"
+@@ -16578,47 +16545,47 @@
+ msgid "offset outside bounds of constant string"
+ msgstr "el desplazamiento fuera de los límites de la constante de cadena"
+
+-#: builtins.c:1001
++#: builtins.c:1015
+ #, gcc-internal-format
+ msgid "second argument to %<__builtin_prefetch%> must be a constant"
+ msgstr "el segundo argumento de %<__builtin_prefetch%> debe ser una constante"
+
+-#: builtins.c:1008
++#: builtins.c:1022
+ #, gcc-internal-format
+ msgid "invalid second argument to %<__builtin_prefetch%>; using zero"
+ msgstr "el segundo argumento para %<__builtin_prefetch%> es inválido; se usa cero"
+
+-#: builtins.c:1016
++#: builtins.c:1030
+ #, gcc-internal-format
+ msgid "third argument to %<__builtin_prefetch%> must be a constant"
+ msgstr "el tercer argumento de %<__builtin_prefetch%> debe ser una constante"
+
+-#: builtins.c:1023
++#: builtins.c:1037
+ #, gcc-internal-format
+ msgid "invalid third argument to %<__builtin_prefetch%>; using zero"
+ msgstr "el tercer argumento para %<__builtin_prefetch%> es inválido; se usa cero"
+
+-#: builtins.c:4592
++#: builtins.c:4608
+ #, gcc-internal-format
+ msgid "argument of %<__builtin_args_info%> must be constant"
+ msgstr "el argumento de %<__builtin_args_info%> debe ser una constante"
+
+-#: builtins.c:4598
++#: builtins.c:4614
+ #, gcc-internal-format
+ msgid "argument of %<__builtin_args_info%> out of range"
+ msgstr "el argumento de %<__builtin_args_info%> está fuera de rango"
+
+-#: builtins.c:4604
++#: builtins.c:4620
+ #, gcc-internal-format
+ msgid "missing argument in %<__builtin_args_info%>"
+ msgstr "falta un argumento en %<__builtin_args_info%>"
+
+-#: builtins.c:4693 gimplify.c:2117
++#: builtins.c:4709 gimplify.c:2118
+ #, gcc-internal-format
+ msgid "too few arguments to function %<va_start%>"
+ msgstr "faltan argumentos para la función %<va_start%>"
+
+-#: builtins.c:4857
++#: builtins.c:4872
+ #, gcc-internal-format
+ msgid "first argument to %<va_arg%> not of type %<va_list%>"
+ msgstr "el primer argumento para %<va_arg%> no es del tipo %<va_list%>"
+@@ -16626,93 +16593,103 @@
+ #. Unfortunately, this is merely undefined, rather than a constraint
+ #. violation, so we cannot make this an error. If this call is never
+ #. executed, the program is still strictly conforming.
+-#: builtins.c:4871
++#: builtins.c:4886
+ #, gcc-internal-format
+ msgid "%qT is promoted to %qT when passed through %<...%>"
+ msgstr "%qT se promueve a %qT cuando pasa a través de %<...%>"
+
+-#: builtins.c:4876
++#: builtins.c:4891
+ #, gcc-internal-format
+ msgid "(so you should pass %qT not %qT to %<va_arg%>)"
+ msgstr "(así que debe pasar %qT y no %qT a %<va_arg%>)"
+
+ #. We can, however, treat "undefined" any way we please.
+ #. Call abort to encourage the user to fix the program.
+-#: builtins.c:4882 c-typeck.c:2408
++#: builtins.c:4897 c-typeck.c:2419
+ #, gcc-internal-format
+ msgid "if this code is reached, the program will abort"
+ msgstr "si se alcanza este código, el programa abortará"
+
+-#: builtins.c:5000
++#: builtins.c:5015
+ #, gcc-internal-format
+ msgid "invalid argument to %<__builtin_frame_address%>"
+ msgstr "argumento inválido para %<__builtin_frame_address%>"
+
+-#: builtins.c:5002
++#: builtins.c:5017
+ #, gcc-internal-format
+ msgid "invalid argument to %<__builtin_return_address%>"
+ msgstr "argumento inválido para %<__builtin_return_address%>"
+
+-#: builtins.c:5015
++#: builtins.c:5030
+ #, gcc-internal-format
+ msgid "unsupported argument to %<__builtin_frame_address%>"
+ msgstr "argumento no admitido para %<__builtin_frame_address%>"
+
+-#: builtins.c:5017
++#: builtins.c:5032
+ #, gcc-internal-format
+ msgid "unsupported argument to %<__builtin_return_address%>"
+ msgstr "argumento no admitido para %<__builtin_return_address%>"
+
+-#: builtins.c:5564
++#: builtins.c:5579
+ #, gcc-internal-format
+ msgid "both arguments to %<__builtin___clear_cache%> must be pointers"
+ msgstr "ambos argumentos de %<__builtin_clear_cache%> deben ser punteros"
+
+ #. All valid uses of __builtin_va_arg_pack () are removed during
+ #. inlining.
+-#: builtins.c:6276 expr.c:8024
++#: builtins.c:6291 expr.c:8023
+ msgid "%Kinvalid use of %<__builtin_va_arg_pack ()%>"
+ msgstr "%Kuso inválido de %<__builtin_va_arg_pack ()%>"
+
+ #. All valid uses of __builtin_va_arg_pack_len () are removed during
+ #. inlining.
+-#: builtins.c:6282
++#: builtins.c:6297
+ msgid "%Kinvalid use of %<__builtin_va_arg_pack_len ()%>"
+ msgstr "%Kuso inválido de %<__builtin_va_arg_pack_len ()%>"
+
+-#: builtins.c:6578
++#: builtins.c:6593
+ #, gcc-internal-format
+ msgid "%<__builtin_longjmp%> second argument must be 1"
+ msgstr "el segundo argumento de %<__builtin_longjump%> debe ser 1"
+
+-#: builtins.c:7209
++#: builtins.c:7224
+ #, gcc-internal-format
+ msgid "target format does not support infinity"
+ msgstr "el formato objetivo no soporta infinito"
+
+-#: builtins.c:9623 builtins.c:9712
++#: builtins.c:9638 builtins.c:9727 builtins.c:10082
+ #, gcc-internal-format
+ msgid "non-floating-point argument to function %qs"
+ msgstr "argumento que no es de coma flotante para la función %qs"
+
+-#: builtins.c:11303
++#: builtins.c:10446 builtins.c:10466
+ #, gcc-internal-format
++msgid "too few arguments to function %qs"
++msgstr "faltan argumentos para la función %qs"
++
++#: builtins.c:10452 builtins.c:10472
++#, gcc-internal-format
++msgid "too many arguments to function %qs"
++msgstr "demasiados argumentos para la función %qs"
++
++#: builtins.c:11377
++#, gcc-internal-format
+ msgid "%<va_start%> used in function with fixed args"
+ msgstr "se usó %<va_start%> en una función con argumentos fijos"
+
+-#: builtins.c:11311
++#: builtins.c:11385
+ #, gcc-internal-format
+ msgid "wrong number of arguments to function %<va_start%>"
+ msgstr "número erróneo argumentos para la función %<va_start%>"
+
+ #. Evidently an out of date version of <stdarg.h>; can't validate
+ #. va_start's second argument, but can still work as intended.
+-#: builtins.c:11324
++#: builtins.c:11398
+ #, gcc-internal-format
+ msgid "%<__builtin_next_arg%> called without an argument"
+ msgstr "se llamó a %<__builtin_next_arg%> sin un argumento"
+
+-#: builtins.c:11329
++#: builtins.c:11403
+ #, gcc-internal-format
+ msgid "wrong number of arguments to function %<__builtin_next_arg%>"
+ msgstr "número erróneo de argumentos para la función %<__builtin_next_arg%>"
+@@ -16722,24 +16699,24 @@
+ #. argument. We just warn and set the arg to be the last
+ #. argument so that we will get wrong-code because of
+ #. it.
+-#: builtins.c:11358
++#: builtins.c:11432
+ #, gcc-internal-format
+ msgid "second parameter of %<va_start%> not last named argument"
+ msgstr "el segundo parámetro de %<va_start%> no es el último argumento nombrado"
+
+-#: builtins.c:11472
++#: builtins.c:11546
+ msgid "%Kfirst argument of %D must be a pointer, second integer constant"
+ msgstr "%Kel primer argumento de %D debe ser un puntero, el segundo una constante entera"
+
+-#: builtins.c:11485
++#: builtins.c:11559
+ msgid "%Klast argument of %D is not integer constant between 0 and 3"
+ msgstr "%Kel último argumento de %D no es una constante entera entre 0 y 3"
+
+-#: builtins.c:11529 builtins.c:11693 builtins.c:11752
++#: builtins.c:11603 builtins.c:11767 builtins.c:11826
+ msgid "%Kcall to %D will always overflow destination buffer"
+ msgstr "%Kla llamada a %D siempre desbordará el almacenamiento temporal destino"
+
+-#: builtins.c:11683
++#: builtins.c:11757
+ msgid "%Kcall to %D might overflow destination buffer"
+ msgstr "%Kla llamada a %D puede desbordar el almacenamiento temporal destino"
+
+@@ -16862,440 +16839,440 @@
+ msgid "conversion to %qT alters %qT constant value"
+ msgstr "la conversión a %qT altera el valor constante %qT"
+
+-#: c-common.c:1296
++#: c-common.c:1299
+ #, gcc-internal-format
+ msgid "conversion to %qT from %qT may change the sign of the result"
+ msgstr "la conversión de %qT desde %qT puede cambiar el signo del resultado"
+
+-#: c-common.c:1325
++#: c-common.c:1328
+ #, gcc-internal-format
+ msgid "conversion to %qT from %qT may alter its value"
+ msgstr "la conversión de %qT desde %qT puede alterar su valor"
+
+-#: c-common.c:1353
++#: c-common.c:1356
+ #, gcc-internal-format
+ msgid "large integer implicitly truncated to unsigned type"
+ msgstr "entero grande truncado implícitamente al tipo unsigned"
+
+-#: c-common.c:1359 c-common.c:1366 c-common.c:1374
++#: c-common.c:1362 c-common.c:1369 c-common.c:1377
+ #, gcc-internal-format
+ msgid "overflow in implicit constant conversion"
+ msgstr "desbordamiento en la conversión implícita de constante"
+
+-#: c-common.c:1528
++#: c-common.c:1531
+ #, gcc-internal-format
+ msgid "operation on %qE may be undefined"
+ msgstr "la operación sobre %qE puede estar indefinida"
+
+-#: c-common.c:1821
++#: c-common.c:1824
+ #, gcc-internal-format
+ msgid "case label does not reduce to an integer constant"
+ msgstr "la etiqueta de `case' no se reduce a una constante entera"
+
+-#: c-common.c:1861
++#: c-common.c:1864
+ #, gcc-internal-format
+ msgid "case label value is less than minimum value for type"
+ msgstr "el valor de la etiqueta `case' es menor que el valor mínimo para el tipo"
+
+-#: c-common.c:1869
++#: c-common.c:1872
+ #, gcc-internal-format
+ msgid "case label value exceeds maximum value for type"
+ msgstr "el valor de la etiqueta `case' excede el valor máximo para el tipo"
+
+-#: c-common.c:1877
++#: c-common.c:1880
+ #, gcc-internal-format
+ msgid "lower value in case label range less than minimum value for type"
+ msgstr "el valor inferior de la etiqueta de rango `case' es menor que el valor mínimo para el tipo"
+
+-#: c-common.c:1886
++#: c-common.c:1889
+ #, gcc-internal-format
+ msgid "upper value in case label range exceeds maximum value for type"
+ msgstr "el valor superior de la etiqueta de rango `case' excede el valor máximo para el tipo"
+
+-#: c-common.c:1960
++#: c-common.c:1963
+ #, gcc-internal-format
+ msgid "GCC cannot support operators with integer types and fixed-point types that have too many integral and fractional bits together"
+ msgstr "GCC no puede admitir operadores con tipos enteros y tipos de coma fija que tienen demasiados bits integrales y fraccionales juntos"
+
+-#: c-common.c:2450
++#: c-common.c:2453
+ #, gcc-internal-format
+ msgid "invalid operands to binary %s (have %qT and %qT)"
+ msgstr "operandos inválidos para el binario %s (se tiene %qT y %qT)"
+
+-#: c-common.c:2686
++#: c-common.c:2689
+ #, gcc-internal-format
+ msgid "comparison is always false due to limited range of data type"
+ msgstr "la comparación siempre es falsa debido al rango limitado del tipo de datos"
+
+-#: c-common.c:2688
++#: c-common.c:2691
+ #, gcc-internal-format
+ msgid "comparison is always true due to limited range of data type"
+ msgstr "la comparación siempre es verdadera debido al rango limitado del tipo de datos"
+
+-#: c-common.c:2767
++#: c-common.c:2770
+ #, gcc-internal-format
+ msgid "comparison of unsigned expression >= 0 is always true"
+ msgstr "la comparación de una expresión unsigned >= 0 siempre es verdadera"
+
+-#: c-common.c:2777
++#: c-common.c:2780
+ #, gcc-internal-format
+ msgid "comparison of unsigned expression < 0 is always false"
+ msgstr "la comparación de una expresión unsigned < 0 siempre es falsa"
+
+-#: c-common.c:2818
++#: c-common.c:2821
+ #, gcc-internal-format
+ msgid "pointer of type %<void *%> used in arithmetic"
+ msgstr "se usó un puntero de tipo %<void *%> en la aritmética"
+
+-#: c-common.c:2824
++#: c-common.c:2827
+ #, gcc-internal-format
+ msgid "pointer to a function used in arithmetic"
+ msgstr "se usó un puntero a una función en la aritmética"
+
+-#: c-common.c:2830
++#: c-common.c:2833
+ #, gcc-internal-format
+ msgid "pointer to member function used in arithmetic"
+ msgstr "se usó un puntero a una función miembro en la aritmética"
+
+-#: c-common.c:2982
++#: c-common.c:2985
+ #, gcc-internal-format
+ msgid "the address of %qD will always evaluate as %<true%>"
+ msgstr "la dirección de %qD siempre se evaluará como %<true%>"
+
+-#: c-common.c:3051 cp/semantics.c:596 cp/typeck.c:6411
++#: c-common.c:3054 cp/semantics.c:597 cp/typeck.c:6438
+ #, gcc-internal-format
+ msgid "suggest parentheses around assignment used as truth value"
+ msgstr "se sugieren paréntesis alrededor de la asignación usada como valor verdadero"
+
+-#: c-common.c:3123 c-typeck.c:8958
++#: c-common.c:3126 c-typeck.c:8969
+ #, gcc-internal-format
+ msgid "invalid use of %<restrict%>"
+ msgstr "uso inválido de %<restrict%>"
+
+-#: c-common.c:3339
++#: c-common.c:3346
+ #, gcc-internal-format
+ msgid "invalid application of %<sizeof%> to a function type"
+ msgstr "aplicación inválida de %<sizeof%> a un tipo de función"
+
+-#: c-common.c:3349
++#: c-common.c:3356
+ #, gcc-internal-format
+ msgid "invalid application of %qs to a void type"
+ msgstr "aplicación inválida de %qs a un tipo void"
+
+-#: c-common.c:3355
++#: c-common.c:3362
+ #, gcc-internal-format
+ msgid "invalid application of %qs to incomplete type %qT "
+ msgstr "aplicación inválida de %qs a un tipo de dato incompleto %qT "
+
+-#: c-common.c:3396
++#: c-common.c:3403
+ #, gcc-internal-format
+ msgid "%<__alignof%> applied to a bit-field"
+ msgstr "se aplicó %<__alignof%> a un campo de bits"
+
+-#: c-common.c:3969
++#: c-common.c:3976
+ #, gcc-internal-format
+ msgid "cannot disable built-in function %qs"
+ msgstr "no se puede desactivar la función interna %qs"
+
+-#: c-common.c:4172
++#: c-common.c:4179
+ #, gcc-internal-format
+ msgid "pointers are not permitted as case values"
+ msgstr "no se permite usar punteros como valores case"
+
+-#: c-common.c:4178
++#: c-common.c:4185
+ #, gcc-internal-format
+ msgid "range expressions in switch statements are non-standard"
+ msgstr "las expresiones de rango en las declaraciones switch no son estándar"
+
+-#: c-common.c:4204
++#: c-common.c:4211
+ #, gcc-internal-format
+ msgid "empty range specified"
+ msgstr "se especificó un rango vacío"
+
+-#: c-common.c:4264
++#: c-common.c:4271
+ #, gcc-internal-format
+ msgid "duplicate (or overlapping) case value"
+ msgstr "valor case duplicado (o con solapamiento de rangos)"
+
+-#: c-common.c:4265
++#: c-common.c:4272
+ #, gcc-internal-format
+ msgid "%Jthis is the first entry overlapping that value"
+ msgstr "%Jesta es la primera entrada que solapa ese valor"
+
+-#: c-common.c:4269
++#: c-common.c:4276
+ #, gcc-internal-format
+ msgid "duplicate case value"
+ msgstr "valor de case duplicado"
+
+-#: c-common.c:4270
++#: c-common.c:4277
+ #, gcc-internal-format
+ msgid "%Jpreviously used here"
+ msgstr "%Jse usó previamente aquí"
+
+-#: c-common.c:4274
++#: c-common.c:4281
+ #, gcc-internal-format
+ msgid "multiple default labels in one switch"
+ msgstr "múltiples etiquetas por defecto en un solo switch"
+
+-#: c-common.c:4275
++#: c-common.c:4282
+ #, gcc-internal-format
+ msgid "%Jthis is the first default label"
+ msgstr "%Jesta es la primera etiqueta por defecto"
+
+-#: c-common.c:4324
++#: c-common.c:4331
+ #, gcc-internal-format
+ msgid "%Jcase value %qs not in enumerated type"
+ msgstr "%Jel valor de case %qs no es un tipo enumerado"
+
+-#: c-common.c:4327
++#: c-common.c:4334
+ #, gcc-internal-format
+ msgid "%Jcase value %qs not in enumerated type %qT"
+ msgstr "%Jel valor de case %qs no es un tipo enumerado %qT"
+
+-#: c-common.c:4385
++#: c-common.c:4392
+ #, gcc-internal-format
+ msgid "%Hswitch missing default case"
+ msgstr "%Hfalta el case por defecto para un switch"
+
+-#: c-common.c:4448
++#: c-common.c:4455
+ #, gcc-internal-format
+ msgid "%Henumeration value %qE not handled in switch"
+ msgstr "%Hel valor de enumeración %qE no se maneja en un switch"
+
+-#: c-common.c:4472
++#: c-common.c:4479
+ #, gcc-internal-format
+ msgid "taking the address of a label is non-standard"
+ msgstr "tomar la dirección de una etiqueta no es estándar"
+
+-#: c-common.c:4622
++#: c-common.c:4629
+ #, gcc-internal-format
+ msgid "%qE attribute ignored for field of type %qT"
+ msgstr "se descarta el atributo %qE para el campo de tipo %qT"
+
+-#: c-common.c:4633 c-common.c:4652 c-common.c:4670 c-common.c:4697
+-#: c-common.c:4724 c-common.c:4750 c-common.c:4769 c-common.c:4793
+-#: c-common.c:4816 c-common.c:4839 c-common.c:4860 c-common.c:4881
+-#: c-common.c:4905 c-common.c:4931 c-common.c:4968 c-common.c:4995
+-#: c-common.c:5046 c-common.c:5130 c-common.c:5160 c-common.c:5179
+-#: c-common.c:5499 c-common.c:5559 c-common.c:5580 c-common.c:5644
+-#: c-common.c:5762 c-common.c:5828 c-common.c:5877 c-common.c:5923
+-#: c-common.c:5993 c-common.c:6017 c-common.c:6301 c-common.c:6324
++#: c-common.c:4640 c-common.c:4659 c-common.c:4677 c-common.c:4704
++#: c-common.c:4731 c-common.c:4757 c-common.c:4776 c-common.c:4800
++#: c-common.c:4823 c-common.c:4846 c-common.c:4867 c-common.c:4888
++#: c-common.c:4912 c-common.c:4938 c-common.c:4975 c-common.c:5002
++#: c-common.c:5045 c-common.c:5129 c-common.c:5159 c-common.c:5178
++#: c-common.c:5498 c-common.c:5558 c-common.c:5579 c-common.c:5643
++#: c-common.c:5761 c-common.c:5827 c-common.c:5876 c-common.c:5922
++#: c-common.c:5992 c-common.c:6016 c-common.c:6301 c-common.c:6324
+ #: c-common.c:6363
+ #, gcc-internal-format
+ msgid "%qE attribute ignored"
+ msgstr "se descarta el atributo %qE"
+
+-#: c-common.c:4715 c-common.c:4741
++#: c-common.c:4722 c-common.c:4748
+ #, gcc-internal-format
+ msgid "%qE attribute conflicts with attribute %s"
+ msgstr "El atributo %qE genera un conflicto con el atributo %s"
+
+-#: c-common.c:4962
++#: c-common.c:4969
+ #, gcc-internal-format
+ msgid "%qE attribute have effect only on public objects"
+ msgstr "el atributo %qE sólo tiene efecto en objetos públicos"
+
+-#: c-common.c:5067
++#: c-common.c:5066
+ #, gcc-internal-format
+ msgid "destructor priorities are not supported"
+ msgstr "no se admiten las prioridades de destructor"
+
+-#: c-common.c:5069
++#: c-common.c:5068
+ #, gcc-internal-format
+ msgid "constructor priorities are not supported"
+ msgstr "no se admiten las prioridades de constructor"
+
+-#: c-common.c:5086
++#: c-common.c:5085
+ #, gcc-internal-format
+ msgid "destructor priorities from 0 to %d are reserved for the implementation"
+ msgstr "las prioridades de destructor desde 0 hasta %d están reservadas para la implementación"
+
+-#: c-common.c:5091
++#: c-common.c:5090
+ #, gcc-internal-format
+ msgid "constructor priorities from 0 to %d are reserved for the implementation"
+ msgstr "las prioridades de constructor desde 0 hasta %d están reservadas para la implementación"
+
+-#: c-common.c:5099
++#: c-common.c:5098
+ #, gcc-internal-format
+ msgid "destructor priorities must be integers from 0 to %d inclusive"
+ msgstr "las prioridades de destructor deben ser enteros desde 0 hasta %d inclusive"
+
+-#: c-common.c:5102
++#: c-common.c:5101
+ #, gcc-internal-format
+ msgid "constructor priorities must be integers from 0 to %d inclusive"
+ msgstr "las prioridades de constructor deben ser enteros desde 0 hasta %d inclusive"
+
+-#: c-common.c:5221
++#: c-common.c:5220
+ #, gcc-internal-format
+ msgid "unknown machine mode %qs"
+ msgstr "se desconoce el modo de máquina %qs"
+
+-#: c-common.c:5250
++#: c-common.c:5249
+ #, gcc-internal-format
+ msgid "specifying vector types with __attribute__ ((mode)) is deprecated"
+ msgstr "es obsoleto especificar tipos vectoriales con __attribute__ ((mode))"
+
+-#: c-common.c:5253
++#: c-common.c:5252
+ #, gcc-internal-format
+ msgid "use __attribute__ ((vector_size)) instead"
+ msgstr "utilice __attribute__ ((vector_size)) en su lugar"
+
+-#: c-common.c:5262
++#: c-common.c:5261
+ #, gcc-internal-format
+ msgid "unable to emulate %qs"
+ msgstr "no se puede emular %qs"
+
+-#: c-common.c:5272
++#: c-common.c:5271
+ #, gcc-internal-format
+ msgid "invalid pointer mode %qs"
+ msgstr "modo de puntero %qs inválido"
+
+-#: c-common.c:5289
++#: c-common.c:5288
+ #, gcc-internal-format
+ msgid "signness of type and machine mode %qs don't match"
+ msgstr "no coinciden los signos del tipo y del modo de máquina %qs"
+
+-#: c-common.c:5300
++#: c-common.c:5299
+ #, gcc-internal-format
+ msgid "no data type for mode %qs"
+ msgstr "no hay tipo de datos para el modo %qs"
+
+-#: c-common.c:5310
++#: c-common.c:5309
+ #, gcc-internal-format
+ msgid "cannot use mode %qs for enumeral types"
+ msgstr "no se puede usar el modo %qs para tipos de enumeración"
+
+-#: c-common.c:5337
++#: c-common.c:5336
+ #, gcc-internal-format
+ msgid "mode %qs applied to inappropriate type"
+ msgstr "se aplicó el modo %qs a un tipo inapropiado"
+
+-#: c-common.c:5368
++#: c-common.c:5367
+ #, gcc-internal-format
+ msgid "%Jsection attribute cannot be specified for local variables"
+ msgstr "%Jno se puede especificar el atributo de sección para las variables locales"
+
+-#: c-common.c:5379 config/bfin/bfin.c:4879 config/bfin/bfin.c:4930
++#: c-common.c:5378 config/bfin/bfin.c:4982 config/bfin/bfin.c:5033
+ #, gcc-internal-format
+ msgid "section of %q+D conflicts with previous declaration"
+ msgstr "la sección de %q+D genera un conflicto con la declaración previa"
+
+-#: c-common.c:5388
++#: c-common.c:5387
+ #, gcc-internal-format
+ msgid "section attribute not allowed for %q+D"
+ msgstr "no se permite un atributo de sección para %q+D"
+
+-#: c-common.c:5394
++#: c-common.c:5393
+ #, gcc-internal-format
+ msgid "%Jsection attributes are not supported for this target"
+ msgstr "%Jno se admiten atributos de sección en este objetivo"
+
+-#: c-common.c:5426
++#: c-common.c:5425
+ #, gcc-internal-format
+ msgid "requested alignment is not a constant"
+ msgstr "la alineación solicitada no es una constante"
+
+-#: c-common.c:5431
++#: c-common.c:5430
+ #, gcc-internal-format
+ msgid "requested alignment is not a power of 2"
+ msgstr "la alineación solicitada no es una potencia de 2"
+
+-#: c-common.c:5436
++#: c-common.c:5435
+ #, gcc-internal-format
+ msgid "requested alignment is too large"
+ msgstr "la alineación solicitada es demasiado grande"
+
+-#: c-common.c:5462
++#: c-common.c:5461
+ #, gcc-internal-format
+ msgid "alignment may not be specified for %q+D"
+ msgstr "la alineación puede no estar especificada para %q+D"
+
+-#: c-common.c:5469
++#: c-common.c:5468
+ #, gcc-internal-format
+ msgid "alignment for %q+D was previously specified as %d and may not be decreased"
+ msgstr "la alineación para %q+D se especifió previamente como %d y no se puede decrementar"
+
+-#: c-common.c:5473
++#: c-common.c:5472
+ #, gcc-internal-format
+ msgid "alignment for %q+D must be at least %d"
+ msgstr "la alineación para %q+D debe ser por lo menos %d"
+
+-#: c-common.c:5522
++#: c-common.c:5521
+ #, gcc-internal-format
+ msgid "%q+D defined both normally and as an alias"
+ msgstr "%q+D definido normalmente y como un alias al mismo tiempo"
+
+-#: c-common.c:5538
++#: c-common.c:5537
+ #, gcc-internal-format
+ msgid "alias argument not a string"
+ msgstr "el argumento de alias no es una cadena"
+
+-#: c-common.c:5601
++#: c-common.c:5600
+ #, gcc-internal-format
+ msgid "%Jweakref attribute must appear before alias attribute"
+ msgstr "%Jel atributo weakref debe aparecer antes de los atributos de alias"
+
+-#: c-common.c:5631
++#: c-common.c:5630
+ #, gcc-internal-format
+ msgid "%qE attribute ignored on non-class types"
+ msgstr "se descarta el atributo %qE en tipos que no son clases"
+
+-#: c-common.c:5637
++#: c-common.c:5636
+ #, gcc-internal-format
+ msgid "%qE attribute ignored because %qT is already defined"
+ msgstr "se descarta el atributo %qE porque %qT ya está definido"
+
+-#: c-common.c:5650
++#: c-common.c:5649
+ #, gcc-internal-format
+ msgid "visibility argument not a string"
+ msgstr "el argumento de visibilidad no es una cadena"
+
+-#: c-common.c:5662
++#: c-common.c:5661
+ #, gcc-internal-format
+ msgid "%qE attribute ignored on types"
+ msgstr "se descarta el atributo %qE en tipos"
+
+-#: c-common.c:5678
++#: c-common.c:5677
+ #, gcc-internal-format
+ msgid "visibility argument must be one of \"default\", \"hidden\", \"protected\" or \"internal\""
+ msgstr "el argumento de visibilidad debe ser \"default\", \"hidden\", \"protected\" o \"internal\""
+
+-#: c-common.c:5689
++#: c-common.c:5688
+ #, gcc-internal-format
+ msgid "%qD redeclared with different visibility"
+ msgstr "%qD se redeclaró con visibilidad diferente"
+
+-#: c-common.c:5692 c-common.c:5696
++#: c-common.c:5691 c-common.c:5695
+ #, gcc-internal-format
+ msgid "%qD was declared %qs which implies default visibility"
+ msgstr "%qD se declaró %qs lo cual implica visibilidad por defecto"
+
+-#: c-common.c:5770
++#: c-common.c:5769
+ #, gcc-internal-format
+ msgid "tls_model argument not a string"
+ msgstr "el argumento de tls_model no es una cadena"
+
+-#: c-common.c:5783
++#: c-common.c:5782
+ #, gcc-internal-format
+ msgid "tls_model argument must be one of \"local-exec\", \"initial-exec\", \"local-dynamic\" or \"global-dynamic\""
+ msgstr "el argumento de tls_model debe ser \"local-exec\", \"initial-exec\", \"local-dynamic\" o \"global-dynamic\""
+
+-#: c-common.c:5802 c-common.c:5897
++#: c-common.c:5801 c-common.c:5896
+ #, gcc-internal-format
+ msgid "%J%qE attribute applies only to functions"
+ msgstr "%Jel atributo %qE se aplica solamente a funciones"
+
+-#: c-common.c:5807 c-common.c:5902
++#: c-common.c:5806 c-common.c:5901
+ #, gcc-internal-format
+ msgid "%Jcan%'t set %qE attribute after definition"
+ msgstr "%Jno se puede establecer el atributo %qE después de la definición"
+
+-#: c-common.c:5858
++#: c-common.c:5857
+ #, gcc-internal-format
+ msgid "alloc_size parameter outside range"
+ msgstr "el parámetro de alloc_size está fuera de rango"
+
+-#: c-common.c:5991
++#: c-common.c:5990
+ #, gcc-internal-format
+ msgid "%qE attribute ignored for %qE"
+ msgstr "se descarta el atributo %qE para %qE"
+@@ -17405,7 +17382,7 @@
+ msgid "cannot apply %<offsetof%> when %<operator[]%> is overloaded"
+ msgstr "no se puede aplicar %<offsetof%> cuando %<operator[]%> está sobrecargado"
+
+-#: c-common.c:6818 cp/typeck.c:4525
++#: c-common.c:6818 cp/typeck.c:4533
+ #, gcc-internal-format
+ msgid "attempt to take address of bit-field structure member %qD"
+ msgstr "se intentó tomar la dirección del miembro de la estructura de campos de bits %qD"
+@@ -17440,14 +17417,14 @@
+ msgid "size of array is too large"
+ msgstr "el tamaño de la matriz es demasiado grande"
+
+-#: c-common.c:7041 c-common.c:7090 c-typeck.c:2705
++#: c-common.c:7041 c-common.c:7090 c-typeck.c:2716
+ #, gcc-internal-format
+ msgid "too few arguments to function %qE"
+ msgstr "faltan argumentos para la función %qE"
+
+ #. ??? This should not be an error when inlining calls to
+ #. unprototyped functions.
+-#: c-common.c:7058 c-typeck.c:4374
++#: c-common.c:7058 c-typeck.c:4385
+ #, gcc-internal-format
+ msgid "incompatible type for argument %d of %qE"
+ msgstr "tipo incompatible para el argumento %d de %qE"
+@@ -17527,8 +17504,8 @@
+ #. an unprototyped function, it is compile-time undefined;
+ #. making it a constraint in that case was rejected in
+ #. DR#252.
+-#: c-convert.c:95 c-typeck.c:1775 c-typeck.c:4012 cp/typeck.c:1502
+-#: cp/typeck.c:5717 cp/typeck.c:6325 fortran/convert.c:88
++#: c-convert.c:95 c-typeck.c:1785 c-typeck.c:4023 cp/typeck.c:1548
++#: cp/typeck.c:5725 cp/typeck.c:6352 fortran/convert.c:88
+ #: treelang/tree-convert.c:79
+ #, gcc-internal-format
+ msgid "void value not ignored as it ought to be"
+@@ -17540,104 +17517,104 @@
+ msgid "conversion to non-scalar type requested"
+ msgstr "se solicitó conversión a un tipo que no es escalar"
+
+-#: c-decl.c:546
++#: c-decl.c:547
+ #, gcc-internal-format
+ msgid "array %q+D assumed to have one element"
+ msgstr "se asume que la matriz %q+D tiene un elemento"
+
+-#: c-decl.c:651
++#: c-decl.c:652
+ #, gcc-internal-format
+ msgid "GCC supports only %u nested scopes"
+ msgstr "GCC sólo admite %u ámbitos anidados"
+
+-#: c-decl.c:737 cp/decl.c:358
++#: c-decl.c:738 cp/decl.c:359
+ #, gcc-internal-format
+ msgid "label %q+D used but not defined"
+ msgstr "se usa la etiqueta %q+D pero no está definida"
+
+-#: c-decl.c:778
++#: c-decl.c:779
+ #, gcc-internal-format
+ msgid "nested function %q+D declared but never defined"
+ msgstr "se declara la función anidada %q+D pero nunca se definió"
+
+-#: c-decl.c:788
++#: c-decl.c:789
+ #, gcc-internal-format
+ msgid "inline function %q+D declared but never defined"
+ msgstr "se declara la función inline %q+D pero nunca se definió"
+
+-#: c-decl.c:801 cp/decl.c:608
++#: c-decl.c:802 cp/decl.c:609
+ #, gcc-internal-format
+ msgid "unused variable %q+D"
+ msgstr "variable %q+D sin usar"
+
+-#: c-decl.c:805
++#: c-decl.c:806
+ #, gcc-internal-format
+ msgid "type of array %q+D completed incompatibly with implicit initialization"
+ msgstr "el tipo de la matriz %q+D se completó de forma incompatible con la inicialización implícita"
+
+-#: c-decl.c:1039
++#: c-decl.c:1040
+ #, gcc-internal-format
+ msgid "a parameter list with an ellipsis can%'t match an empty parameter name list declaration"
+ msgstr "una lista de parámetros con una elipsis no puede coincidir con una declaración de nombre de lista de parámetros vacía."
+
+-#: c-decl.c:1046
++#: c-decl.c:1047
+ #, gcc-internal-format
+ msgid "an argument type that has a default promotion can%'t match an empty parameter name list declaration"
+ msgstr "un tipo de argumento que tiene una promoción por defecto no puede coincidir con una declaración de nombre de lista de parámetros vacía."
+
+-#: c-decl.c:1087
++#: c-decl.c:1088
+ #, gcc-internal-format
+ msgid "prototype for %q+D declares more arguments than previous old-style definition"
+ msgstr "el prototipo para %q+D declara más argumentos que la definición anterior de estilo antiguo"
+
+-#: c-decl.c:1093
++#: c-decl.c:1094
+ #, gcc-internal-format
+ msgid "prototype for %q+D declares fewer arguments than previous old-style definition"
+ msgstr "el prototipo para %q+D declara menos argumentos que la definición anterior de estilo antiguo"
+
+-#: c-decl.c:1102
++#: c-decl.c:1103
+ #, gcc-internal-format
+ msgid "prototype for %q+D declares argument %d with incompatible type"
+ msgstr "el prototipo para %q+D declara el argumento %d con un tipo incompatible"
+
+ #. If we get here, no errors were found, but do issue a warning
+ #. for this poor-style construct.
+-#: c-decl.c:1115
++#: c-decl.c:1116
+ #, gcc-internal-format
+ msgid "prototype for %q+D follows non-prototype definition"
+ msgstr "prototipo para %q+D después de una definición que no es prototipo"
+
+-#: c-decl.c:1130
++#: c-decl.c:1131
+ #, gcc-internal-format
+ msgid "previous definition of %q+D was here"
+ msgstr "la definición previa de %q+D estaba aquí"
+
+-#: c-decl.c:1132
++#: c-decl.c:1133
+ #, gcc-internal-format
+ msgid "previous implicit declaration of %q+D was here"
+ msgstr "la declaración implícita previa de %q+D estaba aquí"
+
+-#: c-decl.c:1134
++#: c-decl.c:1135
+ #, gcc-internal-format
+ msgid "previous declaration of %q+D was here"
+ msgstr "la declaración previa de %q+D estaba aquí"
+
+-#: c-decl.c:1174
++#: c-decl.c:1175
+ #, gcc-internal-format
+ msgid "%q+D redeclared as different kind of symbol"
+ msgstr "%q+D redeclarado como un tipo diferente de símbolo"
+
+-#: c-decl.c:1178
++#: c-decl.c:1179
+ #, gcc-internal-format
+ msgid "built-in function %q+D declared as non-function"
+ msgstr "la función interna %q+D no se declara como función"
+
+-#: c-decl.c:1181 c-decl.c:1298 c-decl.c:1983
++#: c-decl.c:1182 c-decl.c:1299 c-decl.c:1988
+ #, gcc-internal-format
+ msgid "declaration of %q+D shadows a built-in function"
+ msgstr "la declaración de %q+D oscurece una función interna"
+
+-#: c-decl.c:1190
++#: c-decl.c:1191
+ #, gcc-internal-format
+ msgid "redeclaration of enumerator %q+D"
+ msgstr "redeclaración del enumerador %q+D"
+@@ -17645,274 +17622,274 @@
+ #. If types don't match for a built-in, throw away the
+ #. built-in. No point in calling locate_old_decl here, it
+ #. won't print anything.
+-#: c-decl.c:1211
++#: c-decl.c:1212
+ #, gcc-internal-format
+ msgid "conflicting types for built-in function %q+D"
+ msgstr "tipos en conflicto para la función interna %q+D"
+
+-#: c-decl.c:1235 c-decl.c:1248 c-decl.c:1258
++#: c-decl.c:1236 c-decl.c:1249 c-decl.c:1259
+ #, gcc-internal-format
+ msgid "conflicting types for %q+D"
+ msgstr "tipos en conflicto para %q+D"
+
+-#: c-decl.c:1256
++#: c-decl.c:1257
+ #, gcc-internal-format
+ msgid "conflicting type qualifiers for %q+D"
+ msgstr "calificadores de tipos en conflicto para %q+D"
+
+ #. Allow OLDDECL to continue in use.
+-#: c-decl.c:1273
++#: c-decl.c:1274
+ #, gcc-internal-format
+ msgid "redefinition of typedef %q+D"
+ msgstr "redefinición de la definición de tipo %q+D"
+
+-#: c-decl.c:1324 c-decl.c:1426
++#: c-decl.c:1325 c-decl.c:1427
+ #, gcc-internal-format
+ msgid "redefinition of %q+D"
+ msgstr "redefinición de %q+D"
+
+-#: c-decl.c:1359 c-decl.c:1464
++#: c-decl.c:1360 c-decl.c:1465
+ #, gcc-internal-format
+ msgid "static declaration of %q+D follows non-static declaration"
+ msgstr "declaración static de %q+D después de una declaración que no es static"
+
+-#: c-decl.c:1369 c-decl.c:1376 c-decl.c:1453 c-decl.c:1461
++#: c-decl.c:1370 c-decl.c:1377 c-decl.c:1454 c-decl.c:1462
+ #, gcc-internal-format
+ msgid "non-static declaration of %q+D follows static declaration"
+ msgstr "declaración que no es static de %q+D después de una declaración static"
+
+-#: c-decl.c:1393
++#: c-decl.c:1394
+ #, gcc-internal-format
+ msgid "%<gnu_inline%> attribute present on %q+D"
+ msgstr "atributo %<gnu_inline%> presente en %q+D"
+
+-#: c-decl.c:1395
++#: c-decl.c:1396
+ #, gcc-internal-format
+ msgid "%Jbut not here"
+ msgstr "%Jpero no aquí"
+
+-#: c-decl.c:1413
++#: c-decl.c:1414
+ #, gcc-internal-format
+ msgid "thread-local declaration of %q+D follows non-thread-local declaration"
+ msgstr "declaración thread-local de %q+D después de una declaración que no es thread-local"
+
+-#: c-decl.c:1416
++#: c-decl.c:1417
+ #, gcc-internal-format
+ msgid "non-thread-local declaration of %q+D follows thread-local declaration"
+ msgstr "declaración que no es thread-local de %q+D después de una declaración thread-local"
+
+-#: c-decl.c:1446
++#: c-decl.c:1447
+ #, gcc-internal-format
+ msgid "extern declaration of %q+D follows declaration with no linkage"
+ msgstr "declaración extern de %q+D después de una declaración sin enlazado"
+
+-#: c-decl.c:1482
++#: c-decl.c:1483
+ #, gcc-internal-format
+ msgid "declaration of %q+D with no linkage follows extern declaration"
+ msgstr "declaración de %q+D sin enlazado después de una declaración extern"
+
+-#: c-decl.c:1488
++#: c-decl.c:1489
+ #, gcc-internal-format
+ msgid "redeclaration of %q+D with no linkage"
+ msgstr "redeclaración de %q+D sin enlazado"
+
+-#: c-decl.c:1502
++#: c-decl.c:1503
+ #, gcc-internal-format
+ msgid "redeclaration of %q+D with different visibility (old visibility preserved)"
+ msgstr "redeclaración de %q+D con visibilidad diferente (se preserva la visibilidad anterior)"
+
+-#: c-decl.c:1513
++#: c-decl.c:1514
+ #, gcc-internal-format
+ msgid "inline declaration of %qD follows declaration with attribute noinline"
+ msgstr "declaración inline de %qD después de una declaración con atributo noinline"
+
+-#: c-decl.c:1520
++#: c-decl.c:1521
+ #, gcc-internal-format
+ msgid "declaration of %q+D with attribute noinline follows inline declaration "
+ msgstr "declaración de %q+D con atributo noinline después de la declaración inline "
+
+-#: c-decl.c:1539
++#: c-decl.c:1540
+ #, gcc-internal-format
+ msgid "%q+D declared inline after being called"
+ msgstr "%q+D se declaró inline antes de ser llamado"
+
+-#: c-decl.c:1544
++#: c-decl.c:1545
+ #, gcc-internal-format
+ msgid "%q+D declared inline after its definition"
+ msgstr "%q+D se declaró inline después de su definición"
+
+-#: c-decl.c:1563
++#: c-decl.c:1564
+ #, gcc-internal-format
+ msgid "redefinition of parameter %q+D"
+ msgstr "redefinición del parámetro %q+D"
+
+-#: c-decl.c:1590
++#: c-decl.c:1591
+ #, gcc-internal-format
+ msgid "redundant redeclaration of %q+D"
+ msgstr "redeclaración redundante de %q+D"
+
+-#: c-decl.c:1970
++#: c-decl.c:1975
+ #, gcc-internal-format
+ msgid "declaration of %q+D shadows previous non-variable"
+ msgstr "la declaración de %q+D oscurece a una declaración previa que no es variable"
+
+-#: c-decl.c:1975
++#: c-decl.c:1980
+ #, gcc-internal-format
+ msgid "declaration of %q+D shadows a parameter"
+ msgstr "la declaración de %q+D oscurece un parámetro"
+
+-#: c-decl.c:1978
++#: c-decl.c:1983
+ #, gcc-internal-format
+ msgid "declaration of %q+D shadows a global declaration"
+ msgstr "la declaración de %q+D oscurece a una declaración global"
+
+-#: c-decl.c:1988
++#: c-decl.c:1993
+ #, gcc-internal-format
+ msgid "declaration of %q+D shadows a previous local"
+ msgstr "la declaración de %q+D oscurece a una declaración local previa"
+
+-#: c-decl.c:1991 cp/name-lookup.c:988 cp/name-lookup.c:1019
+-#: cp/name-lookup.c:1027
++#: c-decl.c:1996 cp/name-lookup.c:987 cp/name-lookup.c:1018
++#: cp/name-lookup.c:1026
+ #, gcc-internal-format
+ msgid "%Jshadowed declaration is here"
+ msgstr "%Jaquí está la declaración oscurecida"
+
+-#: c-decl.c:2183
++#: c-decl.c:2188
+ #, gcc-internal-format
+ msgid "nested extern declaration of %qD"
+ msgstr "declaración externa anidada de %qD"
+
+-#: c-decl.c:2346 c-decl.c:2349
++#: c-decl.c:2351 c-decl.c:2354
+ #, gcc-internal-format
+ msgid "implicit declaration of function %qE"
+ msgstr "declaración implícita de la función %qE"
+
+-#: c-decl.c:2411
++#: c-decl.c:2416
+ #, gcc-internal-format
+ msgid "incompatible implicit declaration of built-in function %qD"
+ msgstr "declaración implícita incompatible de la función interna %qD"
+
+-#: c-decl.c:2420
++#: c-decl.c:2425
+ #, gcc-internal-format
+ msgid "incompatible implicit declaration of function %qD"
+ msgstr "declaración implícita incompatible de la función %qD"
+
+-#: c-decl.c:2473
++#: c-decl.c:2478
+ #, gcc-internal-format
+ msgid "%H%qE undeclared here (not in a function)"
+ msgstr "%H%qE no se declaró aquí (no en una función)"
+
+-#: c-decl.c:2478
++#: c-decl.c:2483
+ #, gcc-internal-format
+ msgid "%H%qE undeclared (first use in this function)"
+ msgstr "%H%qE no se declaró aquí (primer uso en esta función)"
+
+-#: c-decl.c:2482
++#: c-decl.c:2487
+ #, gcc-internal-format
+ msgid "%H(Each undeclared identifier is reported only once"
+ msgstr "%H(Cada identificador no declarado solamente se reporta una vez"
+
+-#: c-decl.c:2483
++#: c-decl.c:2488
+ #, gcc-internal-format
+ msgid "%Hfor each function it appears in.)"
+ msgstr "%Hpara cada funcion en la que aparece.)"
+
+-#: c-decl.c:2521 cp/decl.c:2397
++#: c-decl.c:2526 cp/decl.c:2404
+ #, gcc-internal-format
+ msgid "label %qE referenced outside of any function"
+ msgstr "la etiqueta %qE es referenciada fuera de cualquier función"
+
+-#: c-decl.c:2563
++#: c-decl.c:2568
+ #, gcc-internal-format
+ msgid "duplicate label declaration %qE"
+ msgstr "declaración duplicada de la etiqueta %qE"
+
+-#: c-decl.c:2599
++#: c-decl.c:2604
+ #, gcc-internal-format
+ msgid "%Hduplicate label %qD"
+ msgstr "%Hetiqueta duplicada %qD"
+
+-#: c-decl.c:2609
++#: c-decl.c:2614
+ #, gcc-internal-format
+ msgid "%Jjump into statement expression"
+ msgstr "%Jsalto a una expresión de declaración"
+
+-#: c-decl.c:2611
++#: c-decl.c:2616
+ #, gcc-internal-format
+ msgid "%Jjump into scope of identifier with variably modified type"
+ msgstr "%Jjump en el ámbito de un identificador con tipo modificado variablemente"
+
+-#: c-decl.c:2626
++#: c-decl.c:2631
+ #, gcc-internal-format
+ msgid "%Htraditional C lacks a separate namespace for labels, identifier %qE conflicts"
+ msgstr "%HC tradicional carece de un espacio de nombres separado para etiquetas, el identificador %qE genera un conflicto con"
+
+-#: c-decl.c:2701
++#: c-decl.c:2706
+ #, gcc-internal-format
+ msgid "%H%qE defined as wrong kind of tag"
+ msgstr "%H%qE definido como un tipo erróneo de etiqueta"
+
+-#: c-decl.c:2903
++#: c-decl.c:2908
+ #, gcc-internal-format
+ msgid "unnamed struct/union that defines no instances"
+ msgstr "struct/union sin nombre que no define ninguna instancia"
+
+-#: c-decl.c:2911
++#: c-decl.c:2916
+ #, gcc-internal-format
+ msgid "empty declaration with storage class specifier does not redeclare tag"
+ msgstr "una declaración vacía con especificadores de clase de almacenamiento no redeclara la etiqueta"
+
+-#: c-decl.c:2922
++#: c-decl.c:2927
+ #, gcc-internal-format
+ msgid "empty declaration with type qualifier does not redeclare tag"
+ msgstr "una declaración vacía con calificador de tipo no redeclara la etiqueta"
+
+-#: c-decl.c:2943 c-decl.c:2950
++#: c-decl.c:2948 c-decl.c:2955
+ #, gcc-internal-format
+ msgid "useless type name in empty declaration"
+ msgstr "nombre de tipo sin uso en una declaración vacía"
+
+-#: c-decl.c:2958
++#: c-decl.c:2963
+ #, gcc-internal-format
+ msgid "%<inline%> in empty declaration"
+ msgstr "%<inline%> en una declaración vacía"
+
+-#: c-decl.c:2964
++#: c-decl.c:2969
+ #, gcc-internal-format
+ msgid "%<auto%> in file-scope empty declaration"
+ msgstr "%<auto%> en una declaración vacía en ámbito de fichero"
+
+-#: c-decl.c:2970
++#: c-decl.c:2975
+ #, gcc-internal-format
+ msgid "%<register%> in file-scope empty declaration"
+ msgstr "%<register%> en una declaración vacía en ámbito de fichero"
+
+-#: c-decl.c:2976
++#: c-decl.c:2981
+ #, gcc-internal-format
+ msgid "useless storage class specifier in empty declaration"
+ msgstr "especificador de clase de almacenamiento sin uso en una declaración vacía"
+
+-#: c-decl.c:2982
++#: c-decl.c:2987
+ #, gcc-internal-format
+ msgid "useless %<__thread%> in empty declaration"
+ msgstr "%<__thread%> sin uso en la declaración vacía"
+
+-#: c-decl.c:2990
++#: c-decl.c:2995
+ #, gcc-internal-format
+ msgid "useless type qualifier in empty declaration"
+ msgstr "calificador de tipo sin uso en una declaración vacía"
+
+-#: c-decl.c:2997
++#: c-decl.c:3002
+ #, gcc-internal-format
+ msgid "empty declaration"
+ msgstr "declaración vacía"
+
+-#: c-decl.c:3063
++#: c-decl.c:3068
+ #, gcc-internal-format
+ msgid "ISO C90 does not support %<static%> or type qualifiers in parameter array declarators"
+ msgstr "ISO C90 no admite %<static%> o calificadores de tipo en los declaradores de parámetros de matrices"
+
+-#: c-decl.c:3066
++#: c-decl.c:3071
+ #, gcc-internal-format
+ msgid "ISO C90 does not support %<[*]%> array declarators"
+ msgstr "ISO C90 no admite declaradores de matriz %<[*]%>"
+@@ -17920,253 +17897,248 @@
+ #. C99 6.7.5.2p4
+ #. A function definition isn't function prototype scope C99 6.2.1p4.
+ #. C99 6.7.5.2p4
+-#: c-decl.c:3073 c-decl.c:5015
++#: c-decl.c:3078 c-decl.c:5014
+ #, gcc-internal-format
+ msgid "%<[*]%> not allowed in other than function prototype scope"
+ msgstr "no se permite %<[*]%> en otro lugar que no sea el ámbido de prototipo de función"
+
+-#: c-decl.c:3097
++#: c-decl.c:3181
+ #, gcc-internal-format
+-msgid "static or type qualifiers in abstract declarator"
+-msgstr "static o calificador de tipo en un declarador abstracto"
+-
+-#: c-decl.c:3183
+-#, gcc-internal-format
+ msgid "%q+D is usually a function"
+ msgstr "%q+D generalmente es una función"
+
+-#: c-decl.c:3192 cp/decl.c:3983 cp/decl2.c:773
++#: c-decl.c:3190 cp/decl.c:4003 cp/decl2.c:773
+ #, gcc-internal-format
+ msgid "typedef %qD is initialized (use __typeof__ instead)"
+ msgstr "typedef %qD está inicializado (utilice __typeof__ en su lugar)"
+
+-#: c-decl.c:3197
++#: c-decl.c:3195
+ #, gcc-internal-format
+ msgid "function %qD is initialized like a variable"
+ msgstr "la función %qD está inicializada como una variable"
+
+ #. DECL_INITIAL in a PARM_DECL is really DECL_ARG_TYPE.
+-#: c-decl.c:3203
++#: c-decl.c:3201
+ #, gcc-internal-format
+ msgid "parameter %qD is initialized"
+ msgstr "el parámetro %qD está inicializado"
+
+-#: c-decl.c:3228
++#: c-decl.c:3226
+ #, gcc-internal-format
+ msgid "variable %qD has initializer but incomplete type"
+ msgstr "la variable %qD tiene inicializador pero de tipo de dato incompleto"
+
+-#: c-decl.c:3316 c-decl.c:6108 cp/decl.c:4025 cp/decl.c:10985
++#: c-decl.c:3314 c-decl.c:6107 cp/decl.c:4045 cp/decl.c:11083
+ #, gcc-internal-format
+ msgid "inline function %q+D given attribute noinline"
+ msgstr "se le dió a la función incluída en línea %q+D un atributo noinline"
+
+-#: c-decl.c:3327
++#: c-decl.c:3326
+ #, gcc-internal-format
+ msgid "%q+D is static but declared in inline function %qD which is not static"
+ msgstr "%q+D es estática pero se declaró en la función inline %qD la cual no es estática"
+
+-#: c-decl.c:3418
++#: c-decl.c:3417
+ #, gcc-internal-format
+ msgid "initializer fails to determine size of %q+D"
+ msgstr "el inicializador no puede determinar el tamaño de %q+D"
+
+-#: c-decl.c:3423
++#: c-decl.c:3422
+ #, gcc-internal-format
+ msgid "array size missing in %q+D"
+ msgstr "falta el tamaño de la matriz en %q+D"
+
+-#: c-decl.c:3435
++#: c-decl.c:3434
+ #, gcc-internal-format
+ msgid "zero or negative size array %q+D"
+ msgstr "matriz %q+D de tamaño cero o negativo"
+
+-#: c-decl.c:3490 varasm.c:2067
++#: c-decl.c:3489 varasm.c:2067
+ #, gcc-internal-format
+ msgid "storage size of %q+D isn%'t known"
+ msgstr "no se conoce el tamaño de almacenamiento de %q+D"
+
+-#: c-decl.c:3500
++#: c-decl.c:3499
+ #, gcc-internal-format
+ msgid "storage size of %q+D isn%'t constant"
+ msgstr "el tamaño de almacenamiento de %q+D no es constante"
+
+-#: c-decl.c:3545
++#: c-decl.c:3544
+ #, gcc-internal-format
+ msgid "ignoring asm-specifier for non-static local variable %q+D"
+ msgstr "se descarta el especificador asm para la variable local que no es estática %q+D"
+
+-#: c-decl.c:3573 fortran/f95-lang.c:653
++#: c-decl.c:3572 fortran/f95-lang.c:655
+ #, gcc-internal-format
+ msgid "cannot put object with volatile field into register"
+ msgstr "no se puede poner un objeto con un campo volatile en register"
+
+-#: c-decl.c:3702
++#: c-decl.c:3701
+ #, gcc-internal-format
+ msgid "ISO C forbids forward parameter declarations"
+ msgstr "ISO C prohíbe declaraciones adelantadas de parámetros"
+
+-#: c-decl.c:3821
++#: c-decl.c:3820
+ #, gcc-internal-format
+ msgid "bit-field %qs width not an integer constant"
+ msgstr "la anchura del campo de bits %qs no es una constante entera"
+
+-#: c-decl.c:3829
++#: c-decl.c:3828
+ #, gcc-internal-format
+ msgid "negative width in bit-field %qs"
+ msgstr "anchura negativa en el campo de bit %qs"
+
+-#: c-decl.c:3834
++#: c-decl.c:3833
+ #, gcc-internal-format
+ msgid "zero width for bit-field %qs"
+ msgstr "anchura cero para el campo de bits %qs"
+
+-#: c-decl.c:3844
++#: c-decl.c:3843
+ #, gcc-internal-format
+ msgid "bit-field %qs has invalid type"
+ msgstr "el campo de bits %qs tiene un tipo inválido"
+
+-#: c-decl.c:3854
++#: c-decl.c:3853
+ #, gcc-internal-format
+ msgid "type of bit-field %qs is a GCC extension"
+ msgstr "el tipo de campo de bits %qs es una extensión de GCC"
+
+-#: c-decl.c:3860
++#: c-decl.c:3859
+ #, gcc-internal-format
+ msgid "width of %qs exceeds its type"
+ msgstr "la anchura de %qs excede su tipo"
+
+-#: c-decl.c:3873
++#: c-decl.c:3872
+ #, gcc-internal-format
+ msgid "%qs is narrower than values of its type"
+ msgstr "%qs es más estrecho que los valores de su tipo"
+
+-#: c-decl.c:3892
++#: c-decl.c:3891
+ #, gcc-internal-format
+ msgid "ISO C90 forbids array %qs whose size can%'t be evaluated"
+ msgstr "ISO C90 prohíbe la matriz %qs cuyo tamaño no se puede evaluar"
+
+-#: c-decl.c:3896
++#: c-decl.c:3895
+ #, gcc-internal-format
+ msgid "ISO C90 forbids array whose size can%'t be evaluated"
+ msgstr "ISO C90 prohíbe la matriz cuyo tamaño no se puede evaluar"
+
+-#: c-decl.c:3902
++#: c-decl.c:3901
+ #, gcc-internal-format
+ msgid "ISO C90 forbids variable length array %qs"
+ msgstr "ISO C90 prohíbe la matriz de longitud variable %qs"
+
+-#: c-decl.c:3905
++#: c-decl.c:3904
+ #, gcc-internal-format
+ msgid "ISO C90 forbids variable length array"
+ msgstr "ISO C90 prohíbe la matriz de longitud variable"
+
+-#: c-decl.c:3914
++#: c-decl.c:3913
+ #, gcc-internal-format
+ msgid "the size of array %qs can%'t be evaluated"
+ msgstr "el tamaño de la matriz %qs no se puede evaluar"
+
+-#: c-decl.c:3918
++#: c-decl.c:3917
+ #, gcc-internal-format
+ msgid "the size of array can %'t be evaluated"
+ msgstr "el tamaño de la matriz no se puede evaluar"
+
+-#: c-decl.c:3924
++#: c-decl.c:3923
+ #, gcc-internal-format
+ msgid "variable length array %qs is used"
+ msgstr "se usó la matriz de longitud variable %qs"
+
+-#: c-decl.c:3928 cp/decl.c:7004
++#: c-decl.c:3927 cp/decl.c:7076
+ #, gcc-internal-format
+ msgid "variable length array is used"
+ msgstr "se usó la matriz de longitud variable"
+
+-#: c-decl.c:4051 c-decl.c:4328
++#: c-decl.c:4050 c-decl.c:4327
+ #, gcc-internal-format
+ msgid "variably modified %qs at file scope"
+ msgstr "%qs variablemente modificado en el ámbito del fichero"
+
+-#: c-decl.c:4069
++#: c-decl.c:4068
+ #, gcc-internal-format
+ msgid "type defaults to %<int%> in declaration of %qs"
+ msgstr "el tipo de dato por defecto es %<int%> en la declaración de %qs"
+
+-#: c-decl.c:4097
++#: c-decl.c:4096
+ #, gcc-internal-format
+ msgid "duplicate %<const%>"
+ msgstr "%<const%> duplicado"
+
+-#: c-decl.c:4099
++#: c-decl.c:4098
+ #, gcc-internal-format
+ msgid "duplicate %<restrict%>"
+ msgstr "%<restrict%> duplicado"
+
+-#: c-decl.c:4101
++#: c-decl.c:4100
+ #, gcc-internal-format
+ msgid "duplicate %<volatile%>"
+ msgstr "%<volatile%> duplicado"
+
+-#: c-decl.c:4120
++#: c-decl.c:4119
+ #, gcc-internal-format
+ msgid "function definition declared %<auto%>"
+ msgstr "la definición de la función se declaró como %<auto%>"
+
+-#: c-decl.c:4122
++#: c-decl.c:4121
+ #, gcc-internal-format
+ msgid "function definition declared %<register%>"
+ msgstr "la definición de la función se declaró como %<register%>"
+
+-#: c-decl.c:4124
++#: c-decl.c:4123
+ #, gcc-internal-format
+ msgid "function definition declared %<typedef%>"
+ msgstr "la definición de la función se declaró como %<typedef%>"
+
+-#: c-decl.c:4126
++#: c-decl.c:4125
+ #, gcc-internal-format
+ msgid "function definition declared %<__thread%>"
+ msgstr "la definición de la función se declaró como %<__thread%>"
+
+-#: c-decl.c:4142
++#: c-decl.c:4141
+ #, gcc-internal-format
+ msgid "storage class specified for structure field %qs"
+ msgstr "se especificó una clase de almacenamiento para el campo de la estructura %qs"
+
+-#: c-decl.c:4146 cp/decl.c:7874
++#: c-decl.c:4145 cp/decl.c:7946
+ #, gcc-internal-format
+ msgid "storage class specified for parameter %qs"
+ msgstr "se especificó una clase de almacenamiento para el parámetro %qs"
+
+-#: c-decl.c:4149 cp/decl.c:7876
++#: c-decl.c:4148 cp/decl.c:7948
+ #, gcc-internal-format
+ msgid "storage class specified for typename"
+ msgstr "se especificó una clase de almacenamiento para el nombre de tipo"
+
+-#: c-decl.c:4166 cp/decl.c:7893
++#: c-decl.c:4165 cp/decl.c:7965
+ #, gcc-internal-format
+ msgid "%qs initialized and declared %<extern%>"
+ msgstr "%qs inicializado y declarado como %<extern%>"
+
+-#: c-decl.c:4169 cp/decl.c:7896
++#: c-decl.c:4168 cp/decl.c:7968
+ #, gcc-internal-format
+ msgid "%qs has both %<extern%> and initializer"
+ msgstr "%qs tiene %<extern%> e inicializador al mismo tiempo"
+
+-#: c-decl.c:4174
++#: c-decl.c:4173
+ #, gcc-internal-format
+ msgid "file-scope declaration of %qs specifies %<auto%>"
+ msgstr "la declaración del ámbito de fichero de %qs especifica %<auto%>"
+
+-#: c-decl.c:4176
++#: c-decl.c:4175
+ #, gcc-internal-format
+ msgid "file-scope declaration of %qs specifies %<register%>"
+ msgstr "la declaración del ámbito de fichero de %qs especifica %<register%>"
+
+-#: c-decl.c:4181 cp/decl.c:7900
++#: c-decl.c:4180 cp/decl.c:7972
+ #, gcc-internal-format
+ msgid "nested function %qs declared %<extern%>"
+ msgstr "la función anidada %qs se declaró %<extern%>"
+
+-#: c-decl.c:4184 cp/decl.c:7910
++#: c-decl.c:4183 cp/decl.c:7982
+ #, 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%>"
+@@ -18174,468 +18146,468 @@
+ #. Only the innermost declarator (making a parameter be of
+ #. array type which is converted to pointer type)
+ #. may have static or type qualifiers.
+-#: c-decl.c:4231 c-decl.c:4472
++#: c-decl.c:4230 c-decl.c:4471
+ #, gcc-internal-format
+ msgid "static or type qualifiers in non-parameter array declarator"
+ msgstr "static o calificadores de tipo en un declarador de matriz que no es parámetro"
+
+-#: c-decl.c:4278
++#: c-decl.c:4277
+ #, gcc-internal-format
+ msgid "declaration of %qs as array of voids"
+ msgstr "la declaración de %qs como una matriz de voids"
+
+-#: c-decl.c:4284
++#: c-decl.c:4283
+ #, gcc-internal-format
+ msgid "declaration of %qs as array of functions"
+ msgstr "la declaración de %qs como una matriz de funciones"
+
+-#: c-decl.c:4289
++#: c-decl.c:4288
+ #, gcc-internal-format
+ msgid "invalid use of structure with flexible array member"
+ msgstr "uso inválido de una estructura con un miembro de matriz flexible"
+
+-#: c-decl.c:4309
++#: c-decl.c:4308
+ #, gcc-internal-format
+ msgid "size of array %qs has non-integer type"
+ msgstr "el tamaño de la matriz %qs es de un tipo no entero"
+
+-#: c-decl.c:4314
++#: c-decl.c:4313
+ #, gcc-internal-format
+ msgid "ISO C forbids zero-size array %qs"
+ msgstr "ISO C prohíbe la matriz %qs de tamaño cero"
+
+-#: c-decl.c:4321
++#: c-decl.c:4320
+ #, gcc-internal-format
+ msgid "size of array %qs is negative"
+ msgstr "el tamaño de la matriz %qs es negativo"
+
+-#: c-decl.c:4375 c-decl.c:4631 cp/decl.c:8375
++#: c-decl.c:4374 c-decl.c:4630 cp/decl.c:8447
+ #, gcc-internal-format
+ msgid "size of array %qs is too large"
+ msgstr "el tamaño de la matriz %qs es demasiado grande"
+
+-#: c-decl.c:4386
++#: c-decl.c:4385
+ #, gcc-internal-format
+ msgid "ISO C90 does not support flexible array members"
+ msgstr "ISO C90 no admite miembros de matriz flexibles"
+
+ #. C99 6.7.5.2p4
+-#: c-decl.c:4399
++#: c-decl.c:4398
+ #, gcc-internal-format
+ msgid "%<[*]%> not allowed in other than a declaration"
+ msgstr "no se permite %<[*]%> fuera de una declaración"
+
+-#: c-decl.c:4422
++#: c-decl.c:4421
+ #, gcc-internal-format
+ msgid "array type has incomplete element type"
+ msgstr "el tipo matriz tiene tipo de elemento incompleto"
+
+-#: c-decl.c:4504 cp/decl.c:8001
++#: c-decl.c:4503 cp/decl.c:8073
+ #, gcc-internal-format
+ msgid "%qs declared as function returning a function"
+ msgstr "%qs que se declaró como función devuelve una función"
+
+-#: c-decl.c:4509 cp/decl.c:8006
++#: c-decl.c:4508 cp/decl.c:8078
+ #, gcc-internal-format
+ msgid "%qs declared as function returning an array"
+ msgstr "%qs que se declaró como función devuelve una matriz"
+
+-#: c-decl.c:4531
++#: c-decl.c:4530
+ #, gcc-internal-format
+ 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-decl.c:4534 cp/decl.c:7990 cp/pt.c:8568
++#: c-decl.c:4533 cp/decl.c:8062 cp/pt.c:8668
+ #, 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"
+
+-#: c-decl.c:4563 c-decl.c:4644 c-decl.c:4732 c-decl.c:4825
++#: c-decl.c:4562 c-decl.c:4643 c-decl.c:4731 c-decl.c:4824
+ #, gcc-internal-format
+ msgid "ISO C forbids qualified function types"
+ msgstr "ISO C prohíbe los tipos de función calificados"
+
+-#: c-decl.c:4652
++#: c-decl.c:4651
+ #, gcc-internal-format
+ msgid "typedef %q+D declared %<inline%>"
+ msgstr "la definición de tipo %q+D se declaró como %<inline%>"
+
+-#: c-decl.c:4667
++#: c-decl.c:4666
+ #, gcc-internal-format
+ msgid "ISO C forbids const or volatile function types"
+ msgstr "ISO C prohíbe los tipos de función const o volatile"
+
+ #. C99 6.7.2.1p8
+-#: c-decl.c:4677
++#: c-decl.c:4676
+ #, gcc-internal-format
+ 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-decl.c:4693
++#: c-decl.c:4692
+ #, gcc-internal-format
+ msgid "variable or field %qs declared void"
+ msgstr "la variable o el campo %qs se declaró void"
+
+-#: c-decl.c:4725
++#: c-decl.c:4724
+ #, gcc-internal-format
+ msgid "attributes in parameter array declarator ignored"
+ msgstr "se descartan los atributos en los declaradores de parámetros de matriz"
+
+-#: c-decl.c:4760
++#: c-decl.c:4759
+ #, gcc-internal-format
+ msgid "parameter %q+D declared %<inline%>"
+ msgstr "el parámetro %q+D se declaró %<inline%>"
+
+-#: c-decl.c:4773
++#: c-decl.c:4772
+ #, gcc-internal-format
+ msgid "field %qs declared as a function"
+ msgstr "el campo %qs se declaró como una función"
+
+-#: c-decl.c:4779
++#: c-decl.c:4778
+ #, gcc-internal-format
+ msgid "field %qs has incomplete type"
+ msgstr "el campo %qs tiene tipo de dato incompleto"
+
+-#: c-decl.c:4796 c-decl.c:4808 c-decl.c:4812
++#: c-decl.c:4795 c-decl.c:4807 c-decl.c:4811
+ #, gcc-internal-format
+ msgid "invalid storage class for function %qs"
+ msgstr "clase de almacenamiento inválida para la función %qs"
+
+-#: c-decl.c:4831
++#: c-decl.c:4830
+ #, gcc-internal-format
+ msgid "%<noreturn%> function returns non-void value"
+ msgstr "la función %<noreturn%> devuelve un valor que no es void"
+
+-#: c-decl.c:4867
++#: c-decl.c:4866
+ #, gcc-internal-format
+ msgid "cannot inline function %<main%>"
+ msgstr "no se puede incluir en línea la función %<main%>"
+
+-#: c-decl.c:4910
++#: c-decl.c:4909
+ #, gcc-internal-format
+ msgid "variable previously declared %<static%> redeclared %<extern%>"
+ msgstr "variable previamente declarada como %<static%> redeclarada como %<extern%>"
+
+-#: c-decl.c:4920
++#: c-decl.c:4919
+ #, gcc-internal-format
+ msgid "variable %q+D declared %<inline%>"
+ msgstr "la variable %q+D se declaró como %<inline%>"
+
+ #. C99 6.7.5.2p2
+-#: c-decl.c:4951
++#: c-decl.c:4950
+ #, gcc-internal-format
+ msgid "object with variably modified type must have no linkage"
+ msgstr "un objeto con tipo modificado variablemente no debe tener enlazado"
+
+-#: c-decl.c:5020 c-decl.c:6199
++#: c-decl.c:5019 c-decl.c:6198
+ #, gcc-internal-format
+ msgid "function declaration isn%'t a prototype"
+ msgstr "la declaración de la función no es un prototipo"
+
+-#: c-decl.c:5028
++#: c-decl.c:5027
+ #, gcc-internal-format
+ msgid "parameter names (without types) in function declaration"
+ msgstr "nombres de parámetros (sin tipos) en la declaración de la función"
+
+-#: c-decl.c:5061
++#: c-decl.c:5060
+ #, gcc-internal-format
+ msgid "parameter %u (%q+D) has incomplete type"
+ msgstr "el parámetro %u (%q+D) tiene tipo incompleto"
+
+-#: c-decl.c:5064
++#: c-decl.c:5063
+ #, gcc-internal-format
+ msgid "%Jparameter %u has incomplete type"
+ msgstr "%Jel parámetro %u tiene tipo incompleto"
+
+-#: c-decl.c:5073
++#: c-decl.c:5072
+ #, gcc-internal-format
+ msgid "parameter %u (%q+D) has void type"
+ msgstr "el parámetro %u (%q+D) tiene tipo void"
+
+-#: c-decl.c:5076
++#: c-decl.c:5075
+ #, gcc-internal-format
+ msgid "%Jparameter %u has void type"
+ msgstr "%Jel parámetro %u tiene tipo void"
+
+-#: c-decl.c:5138
++#: c-decl.c:5137
+ #, gcc-internal-format
+ msgid "%<void%> as only parameter may not be qualified"
+ msgstr "no se puede calificar %<void%> si es el único parámetro"
+
+-#: c-decl.c:5142 c-decl.c:5176
++#: c-decl.c:5141 c-decl.c:5175
+ #, gcc-internal-format
+ msgid "%<void%> must be the only parameter"
+ msgstr "%<void%> debe ser el único parámetro"
+
+-#: c-decl.c:5170
++#: c-decl.c:5169
+ #, gcc-internal-format
+ msgid "parameter %q+D has just a forward declaration"
+ msgstr "el parámetro %q+D sólo tiene una declaración posterior"
+
+ #. The %s will be one of 'struct', 'union', or 'enum'.
+-#: c-decl.c:5215
++#: c-decl.c:5214
+ #, gcc-internal-format
+ msgid "%<%s %E%> declared inside parameter list"
+ msgstr "se declaró %<%s %E%> dentro de la lista de parámetros"
+
+ #. The %s will be one of 'struct', 'union', or 'enum'.
+-#: c-decl.c:5219
++#: c-decl.c:5218
+ #, gcc-internal-format
+ msgid "anonymous %s declared inside parameter list"
+ msgstr "el %s anónimo se declaró dentro de una lista de parámetros"
+
+-#: c-decl.c:5224
++#: c-decl.c:5223
+ #, gcc-internal-format
+ msgid "its scope is only this definition or declaration, which is probably not what you want"
+ msgstr "su ámbito es solamente esta definición o declaración, lo cual probablemente no es lo que desea"
+
+-#: c-decl.c:5358
++#: c-decl.c:5357
+ #, gcc-internal-format
+ msgid "redefinition of %<union %E%>"
+ msgstr "redefinición de %<union %E%>"
+
+-#: c-decl.c:5360
++#: c-decl.c:5359
+ #, gcc-internal-format
+ msgid "redefinition of %<struct %E%>"
+ msgstr "redefinición de %<struct %E%>"
+
+-#: c-decl.c:5365
++#: c-decl.c:5364
+ #, gcc-internal-format
+ msgid "nested redefinition of %<union %E%>"
+ msgstr "redefinición anidada de %<union %E%>"
+
+-#: c-decl.c:5367
++#: c-decl.c:5366
+ #, gcc-internal-format
+ msgid "nested redefinition of %<struct %E%>"
+ msgstr "redefinición anidada de %<struct %E%>"
+
+-#: c-decl.c:5442 cp/decl.c:3780
++#: c-decl.c:5441 cp/decl.c:3796
+ #, gcc-internal-format
+ msgid "declaration does not declare anything"
+ msgstr "la declaración no declara nada"
+
+-#: c-decl.c:5446
++#: c-decl.c:5445
+ #, gcc-internal-format
+ msgid "ISO C doesn%'t support unnamed structs/unions"
+ msgstr "ISO C no admite structs/unions sin nombre"
+
+-#: c-decl.c:5490 c-decl.c:5506
++#: c-decl.c:5489 c-decl.c:5505
+ #, gcc-internal-format
+ msgid "duplicate member %q+D"
+ msgstr "miembro %q+D duplicado"
+
+-#: c-decl.c:5545
++#: c-decl.c:5544
+ #, gcc-internal-format
+ msgid "union has no named members"
+ msgstr "union no tiene miembros nombrados"
+
+-#: c-decl.c:5547
++#: c-decl.c:5546
+ #, gcc-internal-format
+ msgid "union has no members"
+ msgstr "union no tiene miembros"
+
+-#: c-decl.c:5552
++#: c-decl.c:5551
+ #, gcc-internal-format
+ msgid "struct has no named members"
+ msgstr "struct no tiene miembros nombrados"
+
+-#: c-decl.c:5554
++#: c-decl.c:5553
+ #, gcc-internal-format
+ msgid "struct has no members"
+ msgstr "struct no tiene miembros"
+
+-#: c-decl.c:5616
++#: c-decl.c:5615
+ #, gcc-internal-format
+ msgid "%Jflexible array member in union"
+ msgstr "%Jmiembro de matriz flexible en union"
+
+-#: c-decl.c:5621
++#: c-decl.c:5620
+ #, gcc-internal-format
+ msgid "%Jflexible array member not at end of struct"
+ msgstr "%Jel miembro de matriz flexible no está al final del struct"
+
+-#: c-decl.c:5626
++#: c-decl.c:5625
+ #, gcc-internal-format
+ msgid "%Jflexible array member in otherwise empty struct"
+ msgstr "%Jel miembro de matriz flexible sería de otra manera un struct vacío"
+
+-#: c-decl.c:5633
++#: c-decl.c:5632
+ #, gcc-internal-format
+ msgid "%Jinvalid use of structure with flexible array member"
+ msgstr "%Juso inválido de una estructura con un miembro de matriz flexible"
+
+-#: c-decl.c:5742
++#: c-decl.c:5741
+ #, gcc-internal-format
+ msgid "union cannot be made transparent"
+ msgstr "union no se puede hacer transparente"
+
+-#: c-decl.c:5813
++#: c-decl.c:5812
+ #, gcc-internal-format
+ msgid "nested redefinition of %<enum %E%>"
+ msgstr "redefinición anidada de %<enum %E%>"
+
+ #. This enum is a named one that has been declared already.
+-#: c-decl.c:5820
++#: c-decl.c:5819
+ #, gcc-internal-format
+ msgid "redeclaration of %<enum %E%>"
+ msgstr "redeclaración de %<enum %E%>"
+
+-#: c-decl.c:5883
++#: c-decl.c:5882
+ #, gcc-internal-format
+ msgid "enumeration values exceed range of largest integer"
+ msgstr "los valores de enumeración exceden el rango del entero más grande"
+
+-#: c-decl.c:5900
++#: c-decl.c:5899
+ #, gcc-internal-format
+ msgid "specified mode too small for enumeral values"
+ msgstr "el modo especificado es demasiado pequeño para valores enumerados"
+
+-#: c-decl.c:5996
++#: c-decl.c:5995
+ #, gcc-internal-format
+ msgid "enumerator value for %qE is not an integer constant"
+ msgstr "el valor de enumerador para %qE no es una constante entera"
+
+-#: c-decl.c:6013
++#: c-decl.c:6012
+ #, gcc-internal-format
+ msgid "overflow in enumeration values"
+ msgstr "desbordamiento en valores de enumeración"
+
+-#: c-decl.c:6018
++#: c-decl.c:6017
+ #, gcc-internal-format
+ msgid "ISO C restricts enumerator values to range of %<int%>"
+ msgstr "ISO C restringe los valores de enumeración al rango de %<int%>"
+
+-#: c-decl.c:6125
++#: c-decl.c:6124
+ #, gcc-internal-format
+ msgid "return type is an incomplete type"
+ msgstr "el tipo de devolución es un tipo de dato incompleto"
+
+-#: c-decl.c:6133
++#: c-decl.c:6132
+ #, gcc-internal-format
+ msgid "return type defaults to %<int%>"
+ msgstr "el tipo de devolución por defecto es %<int%>"
+
+-#: c-decl.c:6206
++#: c-decl.c:6205
+ #, gcc-internal-format
+ msgid "no previous prototype for %q+D"
+ msgstr "no hay un prototipo previo para %q+D"
+
+-#: c-decl.c:6215
++#: c-decl.c:6214
+ #, gcc-internal-format
+ msgid "%q+D was used with no prototype before its definition"
+ msgstr "se usó %q+D sin prototipo antes de su definición"
+
+-#: c-decl.c:6221 cp/decl.c:11126
++#: c-decl.c:6220 cp/decl.c:11224
+ #, gcc-internal-format
+ msgid "no previous declaration for %q+D"
+ msgstr "no hay declaración previa para %q+D"
+
+-#: c-decl.c:6231
++#: c-decl.c:6230
+ #, gcc-internal-format
+ msgid "%q+D was used with no declaration before its definition"
+ msgstr "se usó %q+D sin declaración antes de su definición"
+
+-#: c-decl.c:6254 c-decl.c:6723
++#: c-decl.c:6253 c-decl.c:6722
+ #, gcc-internal-format
+ msgid "return type of %q+D is not %<int%>"
+ msgstr "el tipo de devolución de %q+D no es %<int%>"
+
+-#: c-decl.c:6259
++#: c-decl.c:6258
+ #, gcc-internal-format
+ msgid "%q+D is normally a non-static function"
+ msgstr "%q+D generalmente es una función que no es static"
+
+-#: c-decl.c:6293
++#: c-decl.c:6292
+ #, gcc-internal-format
+ msgid "%Jold-style parameter declarations in prototyped function definition"
+ msgstr "%Jdeclaraciones de parámetros de estilo antiguo en la definición de una función prototipo"
+
+-#: c-decl.c:6307
++#: c-decl.c:6306
+ #, gcc-internal-format
+ msgid "%Jtraditional C rejects ISO C style function definitions"
+ msgstr "%JC tradicional rechaza la definición de funciones de estilo ISO C"
+
+-#: c-decl.c:6323
++#: c-decl.c:6322
+ #, gcc-internal-format
+ msgid "%Jparameter name omitted"
+ msgstr "%Jse omitió el nombre del parámetro"
+
+-#: c-decl.c:6357
++#: c-decl.c:6356
+ #, gcc-internal-format
+ msgid "%Jold-style function definition"
+ msgstr "%Jdefinición de función de estilo antiguo"
+
+-#: c-decl.c:6366
++#: c-decl.c:6365
+ #, gcc-internal-format
+ msgid "%Jparameter name missing from parameter list"
+ msgstr "%Jfalta el nombre del parámetro de la lista de parámetros"
+
+-#: c-decl.c:6377
++#: c-decl.c:6376
+ #, gcc-internal-format
+ msgid "%q+D declared as a non-parameter"
+ msgstr "%q+D se declaró como un no-parámetro"
+
+-#: c-decl.c:6382
++#: c-decl.c:6381
+ #, gcc-internal-format
+ msgid "multiple parameters named %q+D"
+ msgstr "múltiples parámetros nombrados %q+D"
+
+-#: c-decl.c:6390
++#: c-decl.c:6389
+ #, gcc-internal-format
+ msgid "parameter %q+D declared with void type"
+ msgstr "el parámetro %q+D se declaró con tipo void"
+
+-#: c-decl.c:6407 c-decl.c:6409
++#: c-decl.c:6406 c-decl.c:6408
+ #, gcc-internal-format
+ msgid "type of %q+D defaults to %<int%>"
+ msgstr "el tipo de %q+D es %<int%> por defecto"
+
+-#: c-decl.c:6428
++#: c-decl.c:6427
+ #, gcc-internal-format
+ msgid "parameter %q+D has incomplete type"
+ msgstr "el parámetro %q+D tiene tipo incompleto"
+
+-#: c-decl.c:6434
++#: c-decl.c:6433
+ #, gcc-internal-format
+ msgid "declaration for parameter %q+D but no such parameter"
+ msgstr "existe la declaración para el parámetro %q+D pero no hay tal parámetro"
+
+-#: c-decl.c:6484
++#: c-decl.c:6483
+ #, gcc-internal-format
+ msgid "number of arguments doesn%'t match built-in prototype"
+ msgstr "el número de argumentos no coinciden con el prototipo interno"
+
+-#: c-decl.c:6488
++#: c-decl.c:6487
+ #, gcc-internal-format
+ msgid "number of arguments doesn%'t match prototype"
+ msgstr "el número de argumentos no coinciden con el prototipo"
+
+-#: c-decl.c:6489 c-decl.c:6529 c-decl.c:6542
++#: c-decl.c:6488 c-decl.c:6528 c-decl.c:6541
+ #, gcc-internal-format
+ msgid "%Hprototype declaration"
+ msgstr "%Hdeclaración vacía"
+
+-#: c-decl.c:6523
++#: c-decl.c:6522
+ #, gcc-internal-format
+ msgid "promoted argument %qD doesn%'t match built-in prototype"
+ msgstr "el argumento promovido %qD no coincide con el prototipo interno"
+
+-#: c-decl.c:6527
++#: c-decl.c:6526
+ #, gcc-internal-format
+ msgid "promoted argument %qD doesn%'t match prototype"
+ msgstr "el argumento promovido %qD no coincide con el prototipo"
+
+-#: c-decl.c:6537
++#: c-decl.c:6536
+ #, gcc-internal-format
+ msgid "argument %qD doesn%'t match built-in prototype"
+ msgstr "el argumento %qD no coincide con el prototipo interno"
+
+-#: c-decl.c:6541
++#: c-decl.c:6540
+ #, gcc-internal-format
+ msgid "argument %qD doesn%'t match prototype"
+ msgstr "el argumento %qD no coincide con el prototipo"
+
+-#: c-decl.c:6768 cp/decl.c:11820
++#: c-decl.c:6767 cp/decl.c:11918
+ #, 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"
+@@ -18643,437 +18615,437 @@
+ #. If we get here, declarations have been used in a for loop without
+ #. the C99 for loop scope. This doesn't make much sense, so don't
+ #. allow it.
+-#: c-decl.c:6841
++#: c-decl.c:6840
+ #, gcc-internal-format
+ msgid "%<for%> loop initial declaration used outside C99 mode"
+ msgstr "se usó la declaración inicial del ciclo %<for%> fuera del modo C99"
+
+-#: c-decl.c:6870
++#: c-decl.c:6869
+ #, gcc-internal-format
+ msgid "declaration of static variable %q+D in %<for%> loop initial declaration"
+ msgstr "declaración de la variable static %q+D en la declaración inicial del ciclo %<for%>"
+
+-#: c-decl.c:6873
++#: c-decl.c:6872
+ #, gcc-internal-format
+ msgid "declaration of %<extern%> variable %q+D in %<for%> loop initial declaration"
+ msgstr "declaración de la variable %<extern%> %q+D en la declaración inicial del ciclo %<for%>"
+
+-#: c-decl.c:6878
++#: c-decl.c:6877
+ #, gcc-internal-format
+ msgid "%<struct %E%> declared in %<for%> loop initial declaration"
+ msgstr "%<struct %E%> se declaró en la declaración inicial del ciclo %<for%>"
+
+-#: c-decl.c:6882
++#: c-decl.c:6881
+ #, gcc-internal-format
+ msgid "%<union %E%> declared in %<for%> loop initial declaration"
+ msgstr "%<union %E%> se declaró en la declaración inicial del ciclo %<for%>"
+
+-#: c-decl.c:6886
++#: c-decl.c:6885
+ #, gcc-internal-format
+ msgid "%<enum %E%> declared in %<for%> loop initial declaration"
+ msgstr "%<enum %E%> se declaró en la declaración inicial del ciclo %<for%>"
+
+-#: c-decl.c:6890
++#: c-decl.c:6889
+ #, gcc-internal-format
+ msgid "declaration of non-variable %q+D in %<for%> loop initial declaration"
+ msgstr "declaración de %q+D que no es variable en la declaración inicial del ciclo %<for%>"
+
+-#: c-decl.c:7178 c-decl.c:7420 c-decl.c:7716
++#: c-decl.c:7177 c-decl.c:7419 c-decl.c:7715
+ #, gcc-internal-format
+ msgid "duplicate %qE"
+ msgstr "%qE duplicado"
+
+-#: c-decl.c:7201 c-decl.c:7430 c-decl.c:7617
++#: c-decl.c:7200 c-decl.c:7429 c-decl.c:7616
+ #, gcc-internal-format
+ msgid "two or more data types in declaration specifiers"
+ msgstr "dos o más tipos de datos en los especificadores de la declaración"
+
+-#: c-decl.c:7213 cp/parser.c:2149
++#: c-decl.c:7212 cp/parser.c:2152
+ #, gcc-internal-format
+ msgid "%<long long long%> is too long for GCC"
+ msgstr "%<long long long%> es demasiado largo para GCC"
+
+-#: c-decl.c:7220 c-decl.c:7520
++#: c-decl.c:7219 c-decl.c:7519
+ #, gcc-internal-format
+ msgid "both %<long long%> and %<double%> in declaration specifiers"
+ msgstr "se usaron al mismo tiempo %<long long%> y %<double%> en los especificadores de declaración"
+
+-#: c-decl.c:7226
++#: c-decl.c:7225
+ #, gcc-internal-format
+ msgid "ISO C90 does not support %<long long%>"
+ msgstr "ISO C90 no admite %<long long%>"
+
+-#: c-decl.c:7231 c-decl.c:7260
++#: c-decl.c:7230 c-decl.c:7259
+ #, gcc-internal-format
+ msgid "both %<long%> and %<short%> in declaration specifiers"
+ msgstr "se usaron al mismo tiempo %<long%> y %<short%> en los especificadores de declaración"
+
+-#: c-decl.c:7234 c-decl.c:7437
++#: c-decl.c:7233 c-decl.c:7436
+ #, gcc-internal-format
+ msgid "both %<long%> and %<void%> in declaration specifiers"
+ msgstr "se usaron al mismo tiempo %<long%> y %<void%> en los especificadores de declaración"
+
+-#: c-decl.c:7237 c-decl.c:7459
++#: c-decl.c:7236 c-decl.c:7458
+ #, gcc-internal-format
+ msgid "both %<long%> and %<_Bool%> in declaration specifiers"
+ msgstr "se usaron al mismo tiempo %<long%> y %<_Bool%> en los especificadores de declaración"
+
+-#: c-decl.c:7240 c-decl.c:7481
++#: c-decl.c:7239 c-decl.c:7480
+ #, gcc-internal-format
+ msgid "both %<long%> and %<char%> in declaration specifiers"
+ msgstr "se usaron al mismo tiempo %<long%> y %<char%> en los especificadores de declaración"
+
+-#: c-decl.c:7243 c-decl.c:7501
++#: c-decl.c:7242 c-decl.c:7500
+ #, gcc-internal-format
+ msgid "both %<long%> and %<float%> in declaration specifiers"
+ msgstr "se usaron al mismo tiempo %<long%> y %<float%> en los especificadores de declaración"
+
+-#: c-decl.c:7246
++#: c-decl.c:7245
+ #, gcc-internal-format
+ msgid "both %<long%> and %<_Decimal32%> in declaration specifiers"
+ msgstr "se usaron al mismo tiempo %<long%> y %<_Decimal32%> en los especificadores de declaración"
+
+-#: c-decl.c:7249
++#: c-decl.c:7248
+ #, gcc-internal-format
+ msgid "both %<long%> and %<_Decimal64%> in declaration specifiers"
+ msgstr "se usaron al mismo tiempo %<long%> y %<_Decimal64%> en los especificadores de declaración"
+
+-#: c-decl.c:7252
++#: c-decl.c:7251
+ #, gcc-internal-format
+ msgid "both %<long%> and %<_Decimal128%> in declaration specifiers"
+ msgstr "se usaron al mismo tiempo %<long%> y %<_Decimal128%> en los especificadores de declaración"
+
+-#: c-decl.c:7263 c-decl.c:7440
++#: c-decl.c:7262 c-decl.c:7439
+ #, gcc-internal-format
+ msgid "both %<short%> and %<void%> in declaration specifiers"
+ msgstr "se usaron al mismo tiempo %<short%> y %<void%> en los especificadores de declaración"
+
+-#: c-decl.c:7266 c-decl.c:7462
++#: c-decl.c:7265 c-decl.c:7461
+ #, gcc-internal-format
+ msgid "both %<short%> and %<_Bool%> in declaration specifiers"
+ msgstr "se usaron al mismo tiempo %<short%> y %<_Bool%> en los especificadores de declaración"
+
+-#: c-decl.c:7269 c-decl.c:7484
++#: c-decl.c:7268 c-decl.c:7483
+ #, gcc-internal-format
+ msgid "both %<short%> and %<char%> in declaration specifiers"
+ msgstr "se usaron al mismo tiempo %<short%> y %<char%> en los especificadores de declaración"
+
+-#: c-decl.c:7272 c-decl.c:7504
++#: c-decl.c:7271 c-decl.c:7503
+ #, gcc-internal-format
+ msgid "both %<short%> and %<float%> in declaration specifiers"
+ msgstr "se usaron al mismo tiempo %<short%> y %<float%> en los especificadores de declaración"
+
+-#: c-decl.c:7275 c-decl.c:7523
++#: c-decl.c:7274 c-decl.c:7522
+ #, gcc-internal-format
+ msgid "both %<short%> and %<double%> in declaration specifiers"
+ msgstr "se usaron al mismo tiempo %<short%> y %<double%> en los especificadores de declaración"
+
+-#: c-decl.c:7278
++#: c-decl.c:7277
+ #, gcc-internal-format
+ msgid "both %<short%> and %<_Decimal32%> in declaration specifiers"
+ msgstr "se usaron al mismo tiempo %<short%> y %<_Decimal32%> en los especificadores de declaración"
+
+-#: c-decl.c:7281
++#: c-decl.c:7280
+ #, gcc-internal-format
+ msgid "both %<short%> and %<_Decimal64%> in declaration specifiers"
+ msgstr "se usaron al mismo tiempo %<short%> y %<_Decimal64%> en los especificadores de declaración"
+
+-#: c-decl.c:7284
++#: c-decl.c:7283
+ #, gcc-internal-format
+ msgid "both %<short%> and %<_Decimal128%> in declaration specifiers"
+ msgstr "se usaron al mismo tiempo %<short%> y %<_Decimal128%> en los especificadores de declaración"
+
+-#: c-decl.c:7292 c-decl.c:7321
++#: c-decl.c:7291 c-decl.c:7320
+ #, gcc-internal-format
+ msgid "both %<signed%> and %<unsigned%> in declaration specifiers"
+ msgstr "se usaron al mismo tiempo %<signed%> y %<unsigned%> en los especificadores de declaración"
+
+-#: c-decl.c:7295 c-decl.c:7443
++#: c-decl.c:7294 c-decl.c:7442
+ #, gcc-internal-format
+ msgid "both %<signed%> and %<void%> in declaration specifiers"
+ msgstr "se usaron al mismo tiempo %<signed%> y %<void%> en los especificadores de declaración"
+
+-#: c-decl.c:7298 c-decl.c:7465
++#: c-decl.c:7297 c-decl.c:7464
+ #, gcc-internal-format
+ msgid "both %<signed%> and %<_Bool%> in declaration specifiers"
+ msgstr "se usaron al mismo tiempo %<signed%> y %<_Bool%> en los especificadores de declaración"
+
+-#: c-decl.c:7301 c-decl.c:7507
++#: c-decl.c:7300 c-decl.c:7506
+ #, gcc-internal-format
+ msgid "both %<signed%> and %<float%> in declaration specifiers"
+ msgstr "se usaron al mismo tiempo %<signed%> y %<float%> en los especificadores de declaración"
+
+-#: c-decl.c:7304 c-decl.c:7526
++#: c-decl.c:7303 c-decl.c:7525
+ #, gcc-internal-format
+ msgid "both %<signed%> and %<double%> in declaration specifiers"
+ msgstr "se usaron al mismo tiempo %<signed%> y %<double%> en los especificadores de declaración"
+
+-#: c-decl.c:7307
++#: c-decl.c:7306
+ #, gcc-internal-format
+ msgid "both %<signed%> and %<_Decimal32%> in declaration specifiers"
+ msgstr "se usaron al mismo tiempo %<signed%> y %<_Decimal32%> en los especificadores de declaración"
+
+-#: c-decl.c:7310
++#: c-decl.c:7309
+ #, gcc-internal-format
+ msgid "both %<signed%> and %<_Decimal64%> in declaration specifiers"
+ msgstr "se usaron al mismo tiempo %<signed%> y %<_Decimal64%> en los especificadores de declaración"
+
+-#: c-decl.c:7313
++#: c-decl.c:7312
+ #, gcc-internal-format
+ msgid "both %<signed%> and %<_Decimal128%> in declaration specifiers"
+ msgstr "se usaron al mismo tiempo %<signed%> y %<_Decimal128%> en los especificadores de declaración"
+
+-#: c-decl.c:7324 c-decl.c:7446
++#: c-decl.c:7323 c-decl.c:7445
+ #, gcc-internal-format
+ msgid "both %<unsigned%> and %<void%> in declaration specifiers"
+ msgstr "se usaron al mismo tiempo %<unsigned%> y %<void%> en los especificadores de declaración"
+
+-#: c-decl.c:7327 c-decl.c:7468
++#: c-decl.c:7326 c-decl.c:7467
+ #, gcc-internal-format
+ msgid "both %<unsigned%> and %<_Bool%> in declaration specifiers"
+ msgstr "se usaron al mismo tiempo %<unsigned%> y %<_Bool%> en los especificadores de declaración"
+
+-#: c-decl.c:7330 c-decl.c:7510
++#: c-decl.c:7329 c-decl.c:7509
+ #, gcc-internal-format
+ msgid "both %<unsigned%> and %<float%> in declaration specifiers"
+ msgstr "se usaron al mismo tiempo %<unsigned%> y %<float%> en los especificadores de declaración"
+
+-#: c-decl.c:7333 c-decl.c:7529
++#: c-decl.c:7332 c-decl.c:7528
+ #, gcc-internal-format
+ msgid "both %<unsigned%> and %<double%> in declaration specifiers"
+ msgstr "se usaron al mismo tiempo %<unsigned%> y %<double%> en los especificadores de declaración"
+
+-#: c-decl.c:7336
++#: c-decl.c:7335
+ #, gcc-internal-format
+ msgid "both %<unsigned%> and %<_Decimal32%> in declaration specifiers"
+ msgstr "se usaron al mismo tiempo %<unsigned%> y %<_Decimal32%> en los especificadores de declaración"
+
+-#: c-decl.c:7339
++#: c-decl.c:7338
+ #, gcc-internal-format
+ msgid "both %<unsigned%> and %<_Decimal64%> in declaration specifiers"
+ msgstr "se usaron al mismo tiempo %<unsigned%> y %<_Decimal64%> en los especificadores de declaración"
+
+-#: c-decl.c:7342
++#: c-decl.c:7341
+ #, gcc-internal-format
+ msgid "both %<unsigned%> and %<_Decimal128%> in declaration specifiers"
+ msgstr "se usaron al mismo tiempo %<unsigned%> y %<_Decimal128%> en los especificadores de declaración"
+
+-#: c-decl.c:7350
++#: c-decl.c:7349
+ #, gcc-internal-format
+ msgid "ISO C90 does not support complex types"
+ msgstr "ISO C90 no admite tipos complejos"
+
+-#: c-decl.c:7352 c-decl.c:7449
++#: c-decl.c:7351 c-decl.c:7448
+ #, gcc-internal-format
+ msgid "both %<complex%> and %<void%> in declaration specifiers"
+ msgstr "se usaron al mismo tiempo %<complex%> y %<void%> en los especificadores de declaración"
+
+-#: c-decl.c:7355 c-decl.c:7471
++#: c-decl.c:7354 c-decl.c:7470
+ #, gcc-internal-format
+ msgid "both %<complex%> and %<_Bool%> in declaration specifiers"
+ msgstr "se usaron al mismo tiempo %<complex%> y %<_Bool%> en los especificadores de declaración"
+
+-#: c-decl.c:7358
++#: c-decl.c:7357
+ #, gcc-internal-format
+ msgid "both %<complex%> and %<_Decimal32%> in declaration specifiers"
+ msgstr "se usaron al mismo tiempo %<complex%> y %<_Decimal32%> en los especificadores de declaración"
+
+-#: c-decl.c:7361
++#: c-decl.c:7360
+ #, gcc-internal-format
+ msgid "both %<complex%> and %<_Decimal64%> in declaration specifiers"
+ msgstr "se usaron al mismo tiempo %<complex%> y %<_Decimal64%> en los especificadores de declaración"
+
+-#: c-decl.c:7364
++#: c-decl.c:7363
+ #, gcc-internal-format
+ msgid "both %<complex%> and %<_Decimal128%> in declaration specifiers"
+ msgstr "se usaron al mismo tiempo %<complex%> y %<_Decimal128%> en los especificadores de declaración"
+
+-#: c-decl.c:7367
++#: c-decl.c:7366
+ #, gcc-internal-format
+ msgid "both %<complex%> and %<_Fract%> in declaration specifiers"
+ msgstr "se usaron al mismo tiempo %<complex%> y %<_Fract%> en los especificadores de declaración"
+
+-#: c-decl.c:7370
++#: c-decl.c:7369
+ #, gcc-internal-format
+ msgid "both %<complex%> and %<_Accum%> in declaration specifiers"
+ msgstr "se usaron al mismo tiempo %<complex%> y %<_Accum%> en los especificadores de declaración"
+
+-#: c-decl.c:7373
++#: c-decl.c:7372
+ #, gcc-internal-format
+ msgid "both %<complex%> and %<_Sat%> in declaration specifiers"
+ msgstr "se usaron al mismo tiempo %<complex%> y %<_Sat%> en los especificadores de declaración"
+
+-#: c-decl.c:7381
++#: c-decl.c:7380
+ #, gcc-internal-format
+ msgid "ISO C does not support saturating types"
+ msgstr "ISO C no admite tipos saturantes"
+
+-#: c-decl.c:7383 c-decl.c:7452
++#: c-decl.c:7382 c-decl.c:7451
+ #, gcc-internal-format
+ msgid "both %<_Sat%> and %<void%> in declaration specifiers"
+ msgstr "se usaron al mismo tiempo %<_Sat%> y %<void%> en los especificadores de declaración"
+
+-#: c-decl.c:7386 c-decl.c:7474
++#: c-decl.c:7385 c-decl.c:7473
+ #, gcc-internal-format
+ msgid "both %<_Sat%> and %<_Bool%> in declaration specifiers"
+ msgstr "se usaron al mismo tiempo %<_Sat%> y %<_Bool%> en los especificadores de declaración"
+
+-#: c-decl.c:7389 c-decl.c:7487
++#: c-decl.c:7388 c-decl.c:7486
+ #, gcc-internal-format
+ msgid "both %<_Sat%> and %<char%> in declaration specifiers"
+ msgstr "se usaron al mismo tiempo %<_Sat%> y %<char%> en los especificadores de declaración"
+
+-#: c-decl.c:7392 c-decl.c:7494
++#: c-decl.c:7391 c-decl.c:7493
+ #, gcc-internal-format
+ msgid "both %<_Sat%> and %<int%> in declaration specifiers"
+ msgstr "se usaron al mismo tiempo %<_Sat%> y %<int%> en los especificadores de declaración"
+
+-#: c-decl.c:7395 c-decl.c:7513
++#: c-decl.c:7394 c-decl.c:7512
+ #, gcc-internal-format
+ msgid "both %<_Sat%> and %<float%> in declaration specifiers"
+ msgstr "se usaron al mismo tiempo %<_Sat%> y %<float%> en los especificadores de declaración"
+
+-#: c-decl.c:7398 c-decl.c:7532
++#: c-decl.c:7397 c-decl.c:7531
+ #, gcc-internal-format
+ msgid "both %<_Sat%> and %<double%> in declaration specifiers"
+ msgstr "se usaron al mismo tiempo %<_Sat%> y %<double%> en los especificadores de declaración"
+
+-#: c-decl.c:7401
++#: c-decl.c:7400
+ #, gcc-internal-format
+ msgid "both %<_Sat%> and %<_Decimal32%> in declaration specifiers"
+ msgstr "se usaron al mismo tiempo %<_Sat%> y %<_Decimal32%> en los especificadores de declaración"
+
+-#: c-decl.c:7404
++#: c-decl.c:7403
+ #, gcc-internal-format
+ msgid "both %<_Sat%> and %<_Decimal64%> in declaration specifiers"
+ msgstr "se usaron al mismo tiempo %<_Sat%> y %<_Decimal64%> en los especificadores de declaración"
+
+-#: c-decl.c:7407
++#: c-decl.c:7406
+ #, gcc-internal-format
+ msgid "both %<_Sat%> and %<_Decimal128%> in declaration specifiers"
+ msgstr "se usaron al mismo tiempo %<_Sat%> y %<_Decimal128%> en los especificadores de declaración"
+
+-#: c-decl.c:7410
++#: c-decl.c:7409
+ #, gcc-internal-format
+ msgid "both %<_Sat%> and %<complex%> in declaration specifiers"
+ msgstr "se usaron al mismo tiempo %<_Sat%> y %<complex%> en los especificadores de declaración"
+
+-#: c-decl.c:7549
++#: c-decl.c:7548
+ #, gcc-internal-format
+ msgid "both %<long long%> and %<%s%> in declaration specifiers"
+ msgstr "se usaron al mismo tiempo %<long long%> y %<%s%> en los especificadores de declaración"
+
+-#: c-decl.c:7552
++#: c-decl.c:7551
+ #, gcc-internal-format
+ msgid "both %<long%> and %<%s%> in declaration specifiers"
+ msgstr "se usaron al mismo tiempo %<long%> y %<%s%> en los especificadores de declaración"
+
+-#: c-decl.c:7555
++#: c-decl.c:7554
+ #, gcc-internal-format
+ msgid "both %<short%> and %<%s%> in declaration specifiers"
+ msgstr "se usaron al mismo tiempo %<short%> y %<%s%> en los especificadores de declaración"
+
+-#: c-decl.c:7558
++#: c-decl.c:7557
+ #, gcc-internal-format
+ msgid "both %<signed%> and %<%s%> in declaration specifiers"
+ msgstr "se usaron al mismo tiempo %<signed%> y %<%s%> en los especificadores de declaración"
+
+-#: c-decl.c:7561
++#: c-decl.c:7560
+ #, gcc-internal-format
+ msgid "both %<unsigned%> and %<%s%> in declaration specifiers"
+ msgstr "se usaron al mismo tiempo %<unsigned%> y %<%s%> en los especificadores de declaración"
+
+-#: c-decl.c:7564 c-decl.c:7590
++#: c-decl.c:7563 c-decl.c:7589
+ #, gcc-internal-format
+ msgid "both %<complex%> and %<%s%> in declaration specifiers"
+ msgstr "se usaron al mismo tiempo %<complex%> y %<%s%> en los especificadores de declaración"
+
+-#: c-decl.c:7567
++#: c-decl.c:7566
+ #, gcc-internal-format
+ msgid "both %<_Sat%> and %<%s%> in declaration specifiers"
+ msgstr "se usaron al mismo tiempo %<_Sat%> y %<%s%> en los especificadores de declaración"
+
+-#: c-decl.c:7577
++#: c-decl.c:7576
+ #, gcc-internal-format
+ msgid "decimal floating point not supported for this target"
+ msgstr "no se admite la coma flotante decimal para este objetivo"
+
+-#: c-decl.c:7579
++#: c-decl.c:7578
+ #, gcc-internal-format
+ msgid "ISO C does not support decimal floating point"
+ msgstr "ISO C no admite coma flotante decimal"
+
+-#: c-decl.c:7598
++#: c-decl.c:7597
+ #, gcc-internal-format
+ msgid "fixed-point types not supported for this target"
+ msgstr "no se admiten tipos de coma fija para este objetivo"
+
+-#: c-decl.c:7600
++#: c-decl.c:7599
+ #, gcc-internal-format
+ msgid "ISO C does not support fixed-point types"
+ msgstr "ISO C no admite tipos de coma fija"
+
+-#: c-decl.c:7634
++#: c-decl.c:7633
+ #, gcc-internal-format
+ msgid "%qE fails to be a typedef or built in type"
+ msgstr "%qE falla al ser un typedef o un tipo interno del compilador"
+
+-#: c-decl.c:7667
++#: c-decl.c:7666
+ #, gcc-internal-format
+ msgid "%qE is not at beginning of declaration"
+ msgstr "%qE no está al inicio de la declaración"
+
+-#: c-decl.c:7681
++#: c-decl.c:7680
+ #, gcc-internal-format
+ msgid "%<__thread%> used with %<auto%>"
+ msgstr "se usó %<__thread%> con %<auto%>"
+
+-#: c-decl.c:7683
++#: c-decl.c:7682
+ #, gcc-internal-format
+ msgid "%<__thread%> used with %<register%>"
+ msgstr "se usó %<__thread%> con %<register%>"
+
+-#: c-decl.c:7685
++#: c-decl.c:7684
+ #, gcc-internal-format
+ msgid "%<__thread%> used with %<typedef%>"
+ msgstr "se usó %<__thread%> con %<typedef%>"
+
+-#: c-decl.c:7696
++#: c-decl.c:7695
+ #, gcc-internal-format
+ msgid "%<__thread%> before %<extern%>"
+ msgstr "%<__thread%> antes de %<extern%>"
+
+-#: c-decl.c:7705
++#: c-decl.c:7704
+ #, gcc-internal-format
+ msgid "%<__thread%> before %<static%>"
+ msgstr "%<__thread%> antes de %<static%>"
+
+-#: c-decl.c:7721
++#: c-decl.c:7720
+ #, gcc-internal-format
+ msgid "multiple storage classes in declaration specifiers"
+ msgstr "múltiples clases de almacenamiento en los especificadores de declaración"
+
+-#: c-decl.c:7728
++#: c-decl.c:7727
+ #, gcc-internal-format
+ msgid "%<__thread%> used with %qE"
+ msgstr "se usó %<__thread%> con %qE"
+
+-#: c-decl.c:7775
++#: c-decl.c:7774
+ #, gcc-internal-format
+ msgid "%<_Sat%> is used without %<_Fract%> or %<_Accum%>"
+ msgstr "se usó %<_Sat%> sin %<_Fract%> o %<_Accum%>"
+
+-#: c-decl.c:7787
++#: c-decl.c:7786
+ #, gcc-internal-format
+ msgid "ISO C does not support plain %<complex%> meaning %<double complex%>"
+ msgstr "ISO C no admite %<complex%> simples que significan %<double complex%>"
+
+-#: c-decl.c:7832 c-decl.c:7858
++#: c-decl.c:7831 c-decl.c:7857
+ #, gcc-internal-format
+ msgid "ISO C does not support complex integer types"
+ msgstr "ISO C no admite tipos enteros complejos"
+
+-#: c-decl.c:8008 toplev.c:847
++#: c-decl.c:8007 toplev.c:847
+ #, gcc-internal-format
+ msgid "%q+F used but never defined"
+ msgstr "se usa %q+F pero nunca se definió"
+@@ -19485,37 +19457,37 @@
+ msgid "invalid expression type for %<#pragma omp atomic%>"
+ msgstr "tipo de expresión inválido para %<#pragma omp atomic%>"
+
+-#: c-omp.c:218
++#: c-omp.c:219
+ #, gcc-internal-format
+ msgid "%Hinvalid type for iteration variable %qE"
+ msgstr "%Htipo inválido para la variable de iteración %qE"
+
+-#: c-omp.c:222
++#: c-omp.c:223
+ #, gcc-internal-format
+ msgid "%Hiteration variable %qE is unsigned"
+ msgstr "%Hla variable de iteración %qE no tiene signo"
+
+-#: c-omp.c:233
++#: c-omp.c:234
+ #, gcc-internal-format
+ msgid "%H%qE is not initialized"
+ msgstr "%H%qE no está inicializado"
+
+-#: c-omp.c:246 cp/semantics.c:3840
++#: c-omp.c:247 cp/semantics.c:3872
+ #, gcc-internal-format
+ msgid "%Hmissing controlling predicate"
+ msgstr "%Hfalta el predicado controlador"
+
+-#: c-omp.c:304
++#: c-omp.c:305
+ #, gcc-internal-format
+ msgid "%Hinvalid controlling predicate"
+ msgstr "%Hpredicado controlador inválido"
+
+-#: c-omp.c:311 cp/semantics.c:3846
++#: c-omp.c:312 cp/semantics.c:3878
+ #, gcc-internal-format
+ msgid "%Hmissing increment expression"
+ msgstr "%Hfalta la expresión de incremento"
+
+-#: c-omp.c:361
++#: c-omp.c:362
+ #, gcc-internal-format
+ msgid "%Hinvalid increment expression"
+ msgstr "%Hfalta la expresión de decremento"
+@@ -19560,152 +19532,152 @@
+ msgid "obsolete option -I- used, please use -iquote instead"
+ msgstr "se usó la opción obsoleta -I-, por favor utilice -iquote en su lugar"
+
+-#: c-opts.c:508
++#: c-opts.c:510
+ #, gcc-internal-format
+ msgid "argument %qs to %<-Wnormalized%> not recognized"
+ msgstr "no se reconoce el argumento %qs para %<-Wnormalized%>"
+
+-#: c-opts.c:595
++#: c-opts.c:597
+ #, gcc-internal-format
+ msgid "switch %qs is no longer supported"
+ msgstr "la opción %qs ya no se admite"
+
+-#: c-opts.c:705
++#: c-opts.c:707
+ #, gcc-internal-format
+ msgid "-fhandle-exceptions has been renamed -fexceptions (and is now on by default)"
+ msgstr "se renombró -fhandle-exceptions a -fexceptions (y ahora está activado por defecto)"
+
+-#: c-opts.c:911
++#: c-opts.c:913
+ #, gcc-internal-format
+ msgid "output filename specified twice"
+ msgstr "se especificó dos veces el nombre del fichero de salida"
+
+-#: c-opts.c:1051
++#: c-opts.c:1053
+ #, gcc-internal-format
+ msgid "-fno-gnu89-inline is only supported in GNU99 or C99 mode"
+ msgstr "-fno-gnu89-inline sólo se admite en modo GNU99 o C99"
+
+-#: c-opts.c:1126
++#: c-opts.c:1142
+ #, gcc-internal-format
+ msgid "-Wformat-y2k ignored without -Wformat"
+ msgstr "se descarta -Wformat-y2k sin -Wformat"
+
+-#: c-opts.c:1128
++#: c-opts.c:1144
+ #, gcc-internal-format
+ msgid "-Wformat-extra-args ignored without -Wformat"
+ msgstr "se descarta -Wformat-extra-args sin -Wformat"
+
+-#: c-opts.c:1130
++#: c-opts.c:1146
+ #, gcc-internal-format
+ msgid "-Wformat-zero-length ignored without -Wformat"
+ msgstr "se descarta -Wformat-zero-lenght sin -Wformat"
+
+-#: c-opts.c:1132
++#: c-opts.c:1148
+ #, gcc-internal-format
+ msgid "-Wformat-nonliteral ignored without -Wformat"
+ msgstr "se descarta -Wformat-nonliteral sin -Wformat"
+
+-#: c-opts.c:1134
++#: c-opts.c:1150
+ #, gcc-internal-format
+ msgid "-Wformat-contains-nul ignored without -Wformat"
+ msgstr "se descarta -Wformat-contains-nul sin -Wformat"
+
+-#: c-opts.c:1136
++#: c-opts.c:1152
+ #, gcc-internal-format
+ msgid "-Wformat-security ignored without -Wformat"
+ msgstr "se descarta -Wformat-security sin -Wformat"
+
+-#: c-opts.c:1160
++#: c-opts.c:1176
+ #, gcc-internal-format
+ msgid "opening output file %s: %m"
+ msgstr "abriendo el fichero de salida %s: %m"
+
+-#: c-opts.c:1165
++#: c-opts.c:1181
+ #, gcc-internal-format
+ msgid "too many filenames given. Type %s --help for usage"
+ msgstr "demasiados nombres de ficheros. Teclee %s --help para información de modo de empleo"
+
+-#: c-opts.c:1249
++#: c-opts.c:1265
+ #, gcc-internal-format
+ msgid "The C parser does not support -dy, option ignored"
+ msgstr "El decodificador de C no admite -dy, se descarta la opción"
+
+-#: c-opts.c:1253
++#: c-opts.c:1269
+ #, gcc-internal-format
+ msgid "The Objective-C parser does not support -dy, option ignored"
+ msgstr "El decodificador de Objective-C no admite -dy, se descarta la opción"
+
+-#: c-opts.c:1256
++#: c-opts.c:1272
+ #, gcc-internal-format
+ msgid "The C++ parser does not support -dy, option ignored"
+ msgstr "El decodificador de C++ no admite -dy, se descarta la opción"
+
+-#: c-opts.c:1260
++#: c-opts.c:1276
+ #, gcc-internal-format
+ msgid "The Objective-C++ parser does not support -dy, option ignored"
+ msgstr "El decodificador de Objective-C++ no admite -dy, se descarta la opción"
+
+-#: c-opts.c:1309
++#: c-opts.c:1326
+ #, gcc-internal-format
+ msgid "opening dependency file %s: %m"
+ msgstr "abriendo el fichero de dependencias %s: %m"
+
+-#: c-opts.c:1319
++#: c-opts.c:1336
+ #, gcc-internal-format
+ msgid "closing dependency file %s: %m"
+ msgstr "cerrando el fichero de dependencias %s: %m"
+
+-#: c-opts.c:1322
++#: c-opts.c:1339
+ #, gcc-internal-format
+ msgid "when writing output to %s: %m"
+ msgstr "al escribir la salida a %s: %m"
+
+-#: c-opts.c:1402
++#: c-opts.c:1419
+ #, gcc-internal-format
+ msgid "to generate dependencies you must specify either -M or -MM"
+ msgstr "para generar dependencias debe especificar -M ó -MM"
+
+-#: c-opts.c:1448
++#: c-opts.c:1469
+ #, gcc-internal-format
+ msgid "-fdirectives-only is incompatible with -Wunused_macros"
+ msgstr "-fdirectives-only es incompatible con -Wunused_macros"
+
+-#: c-opts.c:1450
++#: c-opts.c:1471
+ #, gcc-internal-format
+ msgid "-fdirectives-only is incompatible with -traditional"
+ msgstr "-fdirectives-only es incompatible con -traditional"
+
+-#: c-opts.c:1588
++#: c-opts.c:1609
+ #, gcc-internal-format
+ msgid "too late for # directive to set debug directory"
+ msgstr "demasiado tarde para que la directiva # establezca el directorio de depuración"
+
+-#: c-parser.c:1070
++#: c-parser.c:1072
+ #, gcc-internal-format
+ msgid "%HISO C forbids an empty source file"
+ msgstr "%HISO C prohíbe un fichero fuente vacío"
+
+-#: c-parser.c:1156 c-parser.c:6091
++#: c-parser.c:1158 c-parser.c:6150
+ #, gcc-internal-format
+ msgid "%HISO C does not allow extra %<;%> outside of a function"
+ msgstr "%HISO C no permite %<;%> extra fuera de una función"
+
+-#: c-parser.c:1259 c-parser.c:6640
++#: c-parser.c:1261 c-parser.c:6699
+ #, gcc-internal-format
+ msgid "expected declaration specifiers"
+ msgstr "se esperaba la declaración de especificadores"
+
+-#: c-parser.c:1271
++#: c-parser.c:1273
+ #, gcc-internal-format
+ msgid "%Hempty declaration"
+ msgstr "%Hdeclaración vacía"
+
+-#: c-parser.c:1307
++#: c-parser.c:1309
+ #, gcc-internal-format
+ msgid "%Hdata definition has no type or storage class"
+ msgstr "%Hla definición de datos no tiene tipo o clase de almacenamiento"
+
+-#: c-parser.c:1362
++#: c-parser.c:1364
+ #, gcc-internal-format
+ msgid "expected %<,%> or %<;%>"
+ msgstr "se esperaba %<,%> o %<;%>"
+@@ -19713,174 +19685,189 @@
+ #. This can appear in many cases looking nothing like a
+ #. function definition, so we don't give a more specific
+ #. error suggesting there was one.
+-#: c-parser.c:1369 c-parser.c:1386
++#: c-parser.c:1371 c-parser.c:1388
+ #, gcc-internal-format
+ msgid "expected %<=%>, %<,%>, %<;%>, %<asm%> or %<__attribute__%>"
+ msgstr "se esperaba %<=%>, %<,%>, %<;%>, %<asm%> o %<__attribute__%>"
+
+-#: c-parser.c:1378
++#: c-parser.c:1380
+ #, gcc-internal-format
+ msgid "%HISO C forbids nested functions"
+ msgstr "%HISO C prohíbe las funciones anidadas"
+
+-#: c-parser.c:1743 c-parser.c:2553 c-parser.c:3189 c-parser.c:3445
+-#: c-parser.c:4308 c-parser.c:4895 c-parser.c:5298 c-parser.c:5318
+-#: c-parser.c:5434 c-parser.c:5582 c-parser.c:5599 c-parser.c:5731
+-#: c-parser.c:5743 c-parser.c:5768 c-parser.c:5903 c-parser.c:5932
+-#: c-parser.c:5940 c-parser.c:5968 c-parser.c:5982 c-parser.c:6201
+-#: c-parser.c:6300 c-parser.c:6803 c-parser.c:7426
++#: c-parser.c:1745 c-parser.c:2555 c-parser.c:3191 c-parser.c:3447
++#: c-parser.c:4367 c-parser.c:4954 c-parser.c:5357 c-parser.c:5377
++#: c-parser.c:5493 c-parser.c:5641 c-parser.c:5658 c-parser.c:5790
++#: c-parser.c:5802 c-parser.c:5827 c-parser.c:5962 c-parser.c:5991
++#: c-parser.c:5999 c-parser.c:6027 c-parser.c:6041 c-parser.c:6260
++#: c-parser.c:6359 c-parser.c:6862 c-parser.c:7493
+ #, gcc-internal-format
+ msgid "expected identifier"
+ msgstr "se esperaba un identificador"
+
+-#: c-parser.c:1773
++#: c-parser.c:1775
+ #, gcc-internal-format
+ msgid "%Hcomma at end of enumerator list"
+ msgstr "%Hcoma al final de la lista de enumeradores"
+
+-#: c-parser.c:1779
++#: c-parser.c:1781
+ #, gcc-internal-format
+ msgid "expected %<,%> or %<}%>"
+ msgstr "se esperaba %<,%> o %<}%>"
+
+-#: c-parser.c:1793 c-parser.c:1977 c-parser.c:6058
++#: c-parser.c:1795 c-parser.c:1979 c-parser.c:6117
+ #, gcc-internal-format
+ msgid "expected %<{%>"
+ msgstr "se esperaba %<{%>"
+
+-#: c-parser.c:1804
++#: c-parser.c:1806
+ #, gcc-internal-format
+ msgid "%HISO C forbids forward references to %<enum%> types"
+ msgstr "%HISO C prohíbe las referencias hacia adelante a tipos %<enum%>"
+
+-#: c-parser.c:1911
++#: c-parser.c:1913
+ #, gcc-internal-format
+ msgid "expected class name"
+ msgstr "se esperaba un nombre de clase"
+
+-#: c-parser.c:1930 c-parser.c:5835
++#: c-parser.c:1932 c-parser.c:5894
+ #, gcc-internal-format
+ msgid "%Hextra semicolon in struct or union specified"
+ msgstr "%Hse especificó un punto y coma extra en un struct o union"
+
+-#: c-parser.c:1959
++#: c-parser.c:1961
+ #, gcc-internal-format
+ msgid "%Hno semicolon at end of struct or union"
+ msgstr "%Hno hay punto y coma al final del struct o union"
+
+-#: c-parser.c:1963
++#: c-parser.c:1965
+ #, gcc-internal-format
+ msgid "expected %<;%>"
+ msgstr "se esperaba %<;%>"
+
+-#: c-parser.c:2042 c-parser.c:3014
++#: c-parser.c:2044 c-parser.c:3016
+ #, gcc-internal-format
+ msgid "expected specifier-qualifier-list"
+ msgstr "se esperaba una lista de calificadores-especificadores"
+
+-#: c-parser.c:2052
++#: c-parser.c:2054
+ #, gcc-internal-format
+ msgid "%HISO C forbids member declarations with no members"
+ msgstr "%HISO C prohíbe declaraciones de miembros con no miembros"
+
+-#: c-parser.c:2126
++#: c-parser.c:2128
+ #, gcc-internal-format
+ msgid "expected %<,%>, %<;%> or %<}%>"
+ msgstr "se esperaba %<,%>, %<;%> o %<}%>"
+
+-#: c-parser.c:2133
++#: c-parser.c:2135
+ #, gcc-internal-format
+ msgid "expected %<:%>, %<,%>, %<;%>, %<}%> or %<__attribute__%>"
+ msgstr "se esperaba %<:%>, %<,%>, %<;%>, %<}%> o %<__attribute__%>"
+
+-#: c-parser.c:2184
++#: c-parser.c:2186
+ #, gcc-internal-format
+ msgid "%H%<typeof%> applied to a bit-field"
+ msgstr "%Hse aplicó %<typeof%> a un campo de bits"
+
+-#: c-parser.c:2421
++#: c-parser.c:2423
+ #, gcc-internal-format
+ msgid "expected identifier or %<(%>"
+ msgstr "se esperaba un identificador o %<(%>"
+
+-#: c-parser.c:2622
++#: c-parser.c:2624
+ #, gcc-internal-format
+ msgid "%HISO C requires a named argument before %<...%>"
+ msgstr "%HISO C requiere un argumento con nombre antes de %<...%>"
+
+-#: c-parser.c:2729
++#: c-parser.c:2731
+ #, gcc-internal-format
+ msgid "expected declaration specifiers or %<...%>"
+ msgstr "se esperaba la declaración de especificadores o %<...%>"
+
+-#: c-parser.c:2779
++#: c-parser.c:2781
+ #, gcc-internal-format
+ msgid "%Hwide string literal in %<asm%>"
+ msgstr "%Hliteral de cadena ancha en %<asm%>"
+
+-#: c-parser.c:2786 c-parser.c:6695 cp/parser.c:20393
++#: c-parser.c:2788 c-parser.c:6754 cp/parser.c:20482
+ #, gcc-internal-format
+ msgid "expected string literal"
+ msgstr "se esperaba una cadena literal"
+
+-#: c-parser.c:3107
++#: c-parser.c:3109
+ #, gcc-internal-format
+ msgid "%HISO C forbids empty initializer braces"
+ msgstr "%HISO C prohíbe las llaves de inicializador vacías"
+
+ #. Use the colon as the error location.
+-#: c-parser.c:3154
++#: c-parser.c:3156
+ #, gcc-internal-format
+ msgid "%Hobsolete use of designated initializer with %<:%>"
+ msgstr "%Huso obsoleto del inicializador designado con %<:%>"
+
+-#: c-parser.c:3285
++#: c-parser.c:3287
+ #, gcc-internal-format
+ msgid "%HISO C forbids specifying range of elements to initialize"
+ msgstr "%HISO C prohíbe la especificación de rangos de elementos a inicializar"
+
+-#: c-parser.c:3298
++#: c-parser.c:3300
+ #, gcc-internal-format
+ msgid "%HISO C90 forbids specifying subobject to initialize"
+ msgstr "%HISO C90 prohíbe la especificación de subobjetos a inicializar"
+
+-#: c-parser.c:3307
++#: c-parser.c:3309
+ #, gcc-internal-format
+ msgid "%Hobsolete use of designated initializer without %<=%>"
+ msgstr "%Huso obsoleto del inicializador designado sin %<=%>"
+
+-#: c-parser.c:3316
++#: c-parser.c:3318
+ #, gcc-internal-format
+ msgid "expected %<=%>"
+ msgstr "se esperaba %<=%>"
+
+-#: c-parser.c:3461
++#: c-parser.c:3463
+ #, gcc-internal-format
+ msgid "%HISO C forbids label declarations"
+ msgstr "%HISO C prohíbe las declaraciones etiquetadas"
+
+-#: c-parser.c:3466 c-parser.c:3541
++#: c-parser.c:3468 c-parser.c:3543
+ #, gcc-internal-format
+ msgid "expected declaration or statement"
+ msgstr "se esperaba una declaración"
+
+-#: c-parser.c:3494 c-parser.c:3522
++#: c-parser.c:3496 c-parser.c:3524
+ #, gcc-internal-format
+ msgid "%HISO C90 forbids mixed declarations and code"
+ msgstr "%HISO C90 prohíbe las declaraciones mezcladas y código"
+
++#: c-parser.c:3550
++#, gcc-internal-format
++msgid "%Hexpected %<}%> before %<else%>"
++msgstr "%Hse esperaba %<}%> antes de %<else%>"
++
+ #: c-parser.c:3555
+ #, gcc-internal-format
++msgid "%H%<else%> without a previous %<if%>"
++msgstr "%H%<else%> sin un %<if%> previo"
++
++#: c-parser.c:3571
++#, gcc-internal-format
+ msgid "%Hlabel at end of compound statement"
+ msgstr "%Hetiqueta al final de una declaración compuesta"
+
+-#: c-parser.c:3598
++#: c-parser.c:3614
+ #, gcc-internal-format
+ msgid "expected %<:%> or %<...%>"
+ msgstr "se esperaba %<:%> o %<...%>"
+
+-#: c-parser.c:3779
++#: c-parser.c:3647
+ #, gcc-internal-format
++msgid "%Ha label can only be part of a statement and a declaration is not a statement"
++msgstr "%Huna etiqueta sólo puede ser parte de una declaración y una declaración no es un enunciado"
++
++#: c-parser.c:3810
++#, gcc-internal-format
+ msgid "expected identifier or %<*%>"
+ msgstr "se esperaba un identificador o %<*%>"
+
+@@ -19888,188 +19875,183 @@
+ #. 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-parser.c:3841
++#: c-parser.c:3872
+ #, gcc-internal-format
+ msgid "expected statement"
+ msgstr "se esperaba una declaración"
+
+-#: c-parser.c:3851
++#: c-parser.c:4095
+ #, gcc-internal-format
+-msgid "%Ha label can only be part of a statement and a declaration is not a statement"
+-msgstr "%Huna etiqueta sólo puede ser parte de una declaración y una declaración no es un enunciado"
+-
+-#: c-parser.c:4036
+-#, gcc-internal-format
+ msgid "%Hsuggest braces around empty body in %<do%> statement"
+ msgstr "%Hse sugiere llaves alrededor de un cuerpo vacío en una declaración %<do%>"
+
+-#: c-parser.c:4192
++#: c-parser.c:4251
+ #, gcc-internal-format
+ msgid "%H%E qualifier ignored on asm"
+ msgstr "%Hse descarta el calificador %E en asm"
+
+-#: c-parser.c:4473
++#: c-parser.c:4532
+ #, gcc-internal-format
+ msgid "%HISO C forbids omitting the middle term of a ?: expression"
+ msgstr "%HISO C prohíbe la omisión del término medio de una expresión ?:"
+
+-#: c-parser.c:4863
++#: c-parser.c:4922
+ #, gcc-internal-format
+ msgid "%Htraditional C rejects the unary plus operator"
+ msgstr "%HC tradicional rechaza el operador unario mas"
+
+ #. C99 6.7.5.2p4
+-#: c-parser.c:4974
++#: c-parser.c:5033
+ #, gcc-internal-format
+ msgid "%H%<[*]%> not allowed in other than a declaration"
+ msgstr "%Hno se permite %<[*]%> em otra cosa que no sea una declaración"
+
+-#: c-parser.c:4988
++#: c-parser.c:5047
+ #, gcc-internal-format
+ msgid "%H%<sizeof%> applied to a bit-field"
+ msgstr "%Hse aplicó %<sizeof%> a un campo de bits"
+
+-#: c-parser.c:5132 c-parser.c:5476 c-parser.c:5498
++#: c-parser.c:5191 c-parser.c:5535 c-parser.c:5557
+ #, gcc-internal-format
+ msgid "expected expression"
+ msgstr "se esperaba una expresión"
+
+-#: c-parser.c:5159
++#: c-parser.c:5218
+ #, gcc-internal-format
+ msgid "%Hbraced-group within expression allowed only inside a function"
+ msgstr "%Hun grupo de llaves dentro de una expresión sólo se permite dentro de una función"
+
+-#: c-parser.c:5173
++#: c-parser.c:5232
+ #, gcc-internal-format
+ msgid "%HISO C forbids braced-groups within expressions"
+ msgstr "%HISO C prohíbe grupos de llaves dentro de expresiones"
+
+-#: c-parser.c:5358
++#: c-parser.c:5417
+ #, gcc-internal-format
+ msgid "%Hfirst argument to %<__builtin_choose_expr%> not a constant"
+ msgstr "%Hel primer argumento de %<__builtin_choose_expr%> no es una constante"
+
+-#: c-parser.c:5527
++#: c-parser.c:5586
+ #, gcc-internal-format
+ msgid "%Hcompound literal has variable size"
+ msgstr "%Hla literal compuesta tiene tamaño variable"
+
+-#: c-parser.c:5535
++#: c-parser.c:5594
+ #, gcc-internal-format
+ msgid "%HISO C90 forbids compound literals"
+ msgstr "%HISO C90 prohíbe las literales compuestas"
+
+-#: c-parser.c:6053
++#: c-parser.c:6112
+ #, gcc-internal-format
+ msgid "%Hextra semicolon in method definition specified"
+ msgstr "%Hse especificó un punto y coma extra en la definición del método"
+
+-#: c-parser.c:6600 cp/parser.c:20436
++#: c-parser.c:6659 cp/parser.c:20525
+ #, gcc-internal-format
+ msgid "%<#pragma omp barrier%> may only be used in compound statements"
+ msgstr "%<#pragma omp barrier%> sólo se puede usar en declaraciones compuestas"
+
+-#: c-parser.c:6611 cp/parser.c:20451
++#: c-parser.c:6670 cp/parser.c:20540
+ #, gcc-internal-format
+ msgid "%<#pragma omp flush%> may only be used in compound statements"
+ msgstr "%<#pragma omp flush%> sólo se puede usar en declaraciones compuestas"
+
+-#: c-parser.c:6623
++#: c-parser.c:6682
+ #, gcc-internal-format
+ msgid "%H%<#pragma omp section%> may only be used in %<#pragma omp sections%> construct"
+ msgstr "%H%<#pragma omp section%> sólo se puede usar en construcciones %<#pragma omp sections%>"
+
+-#: c-parser.c:6630 cp/parser.c:20426
++#: c-parser.c:6689 cp/parser.c:20515
+ #, gcc-internal-format
+ msgid "%<#pragma GCC pch_preprocess%> must be first"
+ msgstr "%<#pragma GCC pch_preprocess%> debe ser primero"
+
+-#: c-parser.c:6781 cp/parser.c:19277
++#: c-parser.c:6840 cp/parser.c:19359
+ #, gcc-internal-format
+ msgid "too many %qs clauses"
+ msgstr "demasiadas cláusulas %qs"
+
+-#: c-parser.c:6906
++#: c-parser.c:6965
+ #, gcc-internal-format
+ msgid "expected %<none%> or %<shared%>"
+ msgstr "se esperaba %<none%> o %<shared%>"
+
+-#: c-parser.c:6949
++#: c-parser.c:7008
+ #, gcc-internal-format
+ msgid "expected %<(%>"
+ msgstr "se esperaba %<(%>"
+
+-#: c-parser.c:6993 c-parser.c:7170
++#: c-parser.c:7052 c-parser.c:7229
+ #, gcc-internal-format
+ msgid "expected integer expression"
+ msgstr "se esperaba una expresión entera"
+
+-#: c-parser.c:7002
++#: c-parser.c:7061
+ #, gcc-internal-format
+ msgid "%H%<num_threads%> value must be positive"
+ msgstr "%Hel valor de %<num_threads%> debe ser positivo"
+
+-#: c-parser.c:7082
++#: c-parser.c:7141
+ #, gcc-internal-format
+ msgid "expected %<+%>, %<*%>, %<-%>, %<&%>, %<^%>, %<|%>, %<&&%>, or %<||%>"
+ msgstr "se esperaba %<+%>, %<*%>, %<-%>, %<&%>, %<^%>, %<|%>, %<&&%>, o %<||%>"
+
+-#: c-parser.c:7165
++#: c-parser.c:7224
+ #, gcc-internal-format
+ msgid "%Hschedule %<runtime%> does not take a %<chunk_size%> parameter"
+ msgstr "%Hel calendarizador %<runtime%> no toma un parámetro %<chunk_size%>"
+
+-#: c-parser.c:7183
++#: c-parser.c:7242
+ #, gcc-internal-format
+ msgid "invalid schedule kind"
+ msgstr "género de calendarizador inválido"
+
+-#: c-parser.c:7269
++#: c-parser.c:7336
+ #, gcc-internal-format
+ msgid "expected %<#pragma omp%> clause"
+ msgstr "se esperaba una cláusula %<#pragma omp%>"
+
+-#: c-parser.c:7278
++#: c-parser.c:7345
+ #, gcc-internal-format
+ msgid "%H%qs is not valid for %qs"
+ msgstr "%H%qs no es válido para %qs"
+
+-#: c-parser.c:7378
++#: c-parser.c:7445
+ #, gcc-internal-format
+ msgid "invalid operator for %<#pragma omp atomic%>"
+ msgstr "operador inválido para %<#pragma omp atomic%>"
+
+-#: c-parser.c:7429 c-parser.c:7449
++#: c-parser.c:7496 c-parser.c:7516
+ #, gcc-internal-format
+ msgid "expected %<(%> or end of line"
+ msgstr "se esperaba %<(%> o fin de línea"
+
+-#: c-parser.c:7467
++#: c-parser.c:7534
+ #, gcc-internal-format
+ msgid "for statement expected"
+ msgstr "se esperaba una declaración for"
+
+-#: c-parser.c:7540 cp/semantics.c:3826 cp/semantics.c:3870
++#: c-parser.c:7609 cp/semantics.c:3858 cp/semantics.c:3902
+ #, gcc-internal-format
+ msgid "expected iteration declaration or initialization"
+ msgstr "se esperaba una declaración de iteración o una inicialización"
+
+-#: c-parser.c:7666
++#: c-parser.c:7735
+ #, gcc-internal-format
+ msgid "%Hexpected %<#pragma omp section%> or %<}%>"
+ msgstr "%Hse esperaba %<#pragma omp section%> o %<}%>"
+
+-#: c-parser.c:7899 cp/semantics.c:3718
++#: c-parser.c:7968 cp/semantics.c:3750
+ #, gcc-internal-format
+ msgid "%qE declared %<threadprivate%> after first use"
+ msgstr "%qE se declaró %<threadprivate%> después del primer uso"
+
+-#: c-parser.c:7901 cp/semantics.c:3720
++#: c-parser.c:7970 cp/semantics.c:3752
+ #, gcc-internal-format
+ msgid "automatic variable %qE cannot be %<threadprivate%>"
+ msgstr "la variable automática %qE no puede ser %<threadprivate%>"
+
+-#: c-parser.c:7903 cp/semantics.c:3722
++#: c-parser.c:7972 cp/semantics.c:3754
+ #, gcc-internal-format
+ msgid "%<threadprivate%> %qE has incomplete type"
+ msgstr "%<threadprivate%> %qE tiene tipo incompleto"
+@@ -20234,122 +20216,122 @@
+ msgid "junk at end of %<#pragma pop_macro%>"
+ msgstr "basura al final de %<#pragma pop_macro%>"
+
+-#: c-pragma.c:406
++#: c-pragma.c:407
+ #, gcc-internal-format
+ msgid "applying #pragma weak %q+D after first use results in unspecified behavior"
+ msgstr "la aplicación de #pragma weak %q+D después del primer uso resulta en conducta no especificada"
+
+-#: c-pragma.c:480 c-pragma.c:485
++#: c-pragma.c:481 c-pragma.c:486
+ #, gcc-internal-format
+ msgid "malformed #pragma weak, ignored"
+ msgstr "#pragma weak malformado, descartado"
+
+-#: c-pragma.c:489
++#: c-pragma.c:490
+ #, gcc-internal-format
+ msgid "junk at end of %<#pragma weak%>"
+ msgstr "basura al final de %<#pragma weak%>"
+
+-#: c-pragma.c:557 c-pragma.c:559
++#: c-pragma.c:558 c-pragma.c:560
+ #, gcc-internal-format
+ msgid "malformed #pragma redefine_extname, ignored"
+ msgstr "#pragma redefine_extname malformado, descartado"
+
+-#: c-pragma.c:562
++#: c-pragma.c:563
+ #, gcc-internal-format
+ msgid "junk at end of %<#pragma redefine_extname%>"
+ msgstr "basura al final de %<#pragma redefine_extname%>"
+
+-#: c-pragma.c:568
++#: c-pragma.c:569
+ #, gcc-internal-format
+ msgid "#pragma redefine_extname not supported on this target"
+ msgstr "no se admite #pragma redefine_extname en este objetivo"
+
+-#: c-pragma.c:585 c-pragma.c:672
++#: c-pragma.c:586 c-pragma.c:673
+ #, gcc-internal-format
+ msgid "#pragma redefine_extname ignored due to conflict with previous rename"
+ msgstr "se descarta #pragma redefine_extname debido a un conflicto con el renombrado previo"
+
+-#: c-pragma.c:608
++#: c-pragma.c:609
+ #, gcc-internal-format
+ msgid "#pragma redefine_extname ignored due to conflict with previous #pragma redefine_extname"
+ msgstr "se descarta #pragma redefine_extname debido a un conflicto con un #pragma redefine_extname previo"
+
+-#: c-pragma.c:627
++#: c-pragma.c:628
+ #, gcc-internal-format
+ msgid "malformed #pragma extern_prefix, ignored"
+ msgstr "#pragma extern_prefix malformado, descartado"
+
+-#: c-pragma.c:630
++#: c-pragma.c:631
+ #, gcc-internal-format
+ msgid "junk at end of %<#pragma extern_prefix%>"
+ msgstr "basura al final de %<#pragma extern_prefix%>"
+
+-#: c-pragma.c:637
++#: c-pragma.c:638
+ #, gcc-internal-format
+ msgid "#pragma extern_prefix not supported on this target"
+ msgstr "No se admite #pragma extern_prefix en este objetivo"
+
+-#: c-pragma.c:663
++#: c-pragma.c:664
+ #, gcc-internal-format
+ msgid "asm declaration ignored due to conflict with previous rename"
+ msgstr "se descarta la declaración asm debido a un conflicto con el renombrado previo"
+
+-#: c-pragma.c:694
++#: c-pragma.c:695
+ #, gcc-internal-format
+ msgid "#pragma redefine_extname ignored due to conflict with __asm__ declaration"
+ msgstr "se descarta #pragma redefine_extname debido a un conflicto con la declaración __asm__"
+
+-#: c-pragma.c:756
++#: c-pragma.c:757
+ #, gcc-internal-format
+ msgid "#pragma GCC visibility push() must specify default, internal, hidden or protected"
+ msgstr "#pragma GCC visibility push() debe especificar default, internal, hidden o protected"
+
+-#: c-pragma.c:791
++#: c-pragma.c:792
+ #, gcc-internal-format
+ msgid "#pragma GCC visibility must be followed by push or pop"
+ msgstr "el #pragma GCC visibility debe tener push o pop a continuación"
+
+-#: c-pragma.c:797
++#: c-pragma.c:798
+ #, gcc-internal-format
+ msgid "no matching push for %<#pragma GCC visibility pop%>"
+ msgstr "no hay un push coincidente para %<#pragma GCC visibility pop%>"
+
+-#: c-pragma.c:804 c-pragma.c:811
++#: c-pragma.c:805 c-pragma.c:812
+ #, gcc-internal-format
+ msgid "missing %<(%> after %<#pragma GCC visibility push%> - ignored"
+ msgstr "falta un %<(%> después de %<#pragma GCC visibility push%> - descartado"
+
+-#: c-pragma.c:807
++#: c-pragma.c:808
+ #, gcc-internal-format
+ msgid "malformed #pragma GCC visibility push"
+ msgstr "#pragma GCC visibility push malformado"
+
+-#: c-pragma.c:815
++#: c-pragma.c:816
+ #, gcc-internal-format
+ msgid "junk at end of %<#pragma GCC visibility%>"
+ msgstr "basura al final de %<#pragma GCC visibility%>"
+
+-#: c-pragma.c:831
++#: c-pragma.c:832
+ #, gcc-internal-format
+ msgid "#pragma GCC diagnostic not allowed inside functions"
+ msgstr "no se permite #pragma GCC diagnostic dentro de funciones"
+
+-#: c-pragma.c:837
++#: c-pragma.c:838
+ #, gcc-internal-format
+ msgid "missing [error|warning|ignored] after %<#pragma GCC diagnostic%>"
+ msgstr "falta [error|warning|ignored] después de %<#pragma GCC diagnostic%>"
+
+-#: c-pragma.c:846
++#: c-pragma.c:847
+ #, gcc-internal-format
+ msgid "expected [error|warning|ignored] after %<#pragma GCC diagnostic%>"
+ msgstr "se esperaba [error|warning|ignored] después de %<#pragma GCC diagnostic%>"
+
+-#: c-pragma.c:850
++#: c-pragma.c:851
+ #, gcc-internal-format
+ msgid "missing option after %<#pragma GCC diagnostic%> kind"
+ msgstr "falta una opción después del tipo %<#pragma GCC diagnostic%>"
+
+-#: c-pragma.c:864
++#: c-pragma.c:865
+ #, gcc-internal-format
+ msgid "unknown option after %<#pragma GCC diagnostic%> kind"
+ msgstr "opción desconocida después del tipo %<#pragma GCC diagnostic%>"
+@@ -20359,7 +20341,7 @@
+ msgid "%qD has an incomplete type"
+ msgstr "%qD tiene un tipo de dato incompleto"
+
+-#: c-typeck.c:195 cp/call.c:2785
++#: c-typeck.c:195 cp/call.c:2771
+ #, gcc-internal-format
+ msgid "invalid use of void expression"
+ msgstr "uso inválido de la expresión void"
+@@ -20390,92 +20372,92 @@
+ msgid "function types not truly compatible in ISO C"
+ msgstr "los tipos de función no son totalmente compatibles en ISO C"
+
+-#: c-typeck.c:621
++#: c-typeck.c:627
+ #, gcc-internal-format
+ msgid "can%'t mix operands of decimal float and vector types"
+ msgstr "no se pueden mezclar operandos de tipos de coma flotante decimal y vector"
+
+-#: c-typeck.c:626
++#: c-typeck.c:632
+ #, gcc-internal-format
+ msgid "can%'t mix operands of decimal float and complex types"
+ msgstr "no se pueden mezclar operandos de tipos de coma flotante decimal y complejos"
+
+-#: c-typeck.c:631
++#: c-typeck.c:637
+ #, gcc-internal-format
+ msgid "can%'t mix operands of decimal float and other float types"
+ msgstr "no se pueden mezclar operandos de tipos de coma flotante decimal otros tipos de coma flotante"
+
+-#: c-typeck.c:1037
++#: c-typeck.c:1043
+ #, gcc-internal-format
+ msgid "types are not quite compatible"
+ msgstr "los tipos no son totalmente compatibles"
+
+-#: c-typeck.c:1356
++#: c-typeck.c:1366
+ #, gcc-internal-format
+ msgid "function return types not compatible due to %<volatile%>"
+ msgstr "los tipos de devolución de función no son compatibles debido a %<volatile%>"
+
+-#: c-typeck.c:1515 c-typeck.c:2853
++#: c-typeck.c:1525 c-typeck.c:2864
+ #, gcc-internal-format
+ msgid "arithmetic on pointer to an incomplete type"
+ msgstr "aritmética en puntero a un tipo de dato incompleto"
+
+-#: c-typeck.c:1912
++#: c-typeck.c:1922
+ #, gcc-internal-format
+ msgid "%qT has no member named %qE"
+ msgstr "%qT no tiene un miembro llamado %qE"
+
+-#: c-typeck.c:1953
++#: c-typeck.c:1963
+ #, gcc-internal-format
+ msgid "request for member %qE in something not a structure or union"
+ msgstr "petición del miembro %qE en algo que no es una estructura o unión"
+
+-#: c-typeck.c:1997
++#: c-typeck.c:2007
+ #, gcc-internal-format
+ msgid "dereferencing pointer to incomplete type"
+ msgstr "puntero deferenciado a tipo de dato incompleto"
+
+-#: c-typeck.c:2001
++#: c-typeck.c:2011
+ #, gcc-internal-format
+ msgid "dereferencing %<void *%> pointer"
+ msgstr "deferenciando el puntero %<void *%>"
+
+-#: c-typeck.c:2018
++#: c-typeck.c:2028
+ #, gcc-internal-format
+ msgid "invalid type argument of %qs (have %qT)"
+ msgstr "argumento de tipo inválido de %qs (se tiene %qT)"
+
+-#: c-typeck.c:2046 cp/typeck.c:2524
++#: c-typeck.c:2056 cp/typeck.c:2570
+ #, gcc-internal-format
+ msgid "subscripted value is neither array nor pointer"
+ msgstr "el valor indicado por el subíndice no es ni matriz ni puntero"
+
+-#: c-typeck.c:2057 cp/typeck.c:2443 cp/typeck.c:2529
++#: c-typeck.c:2067 cp/typeck.c:2489 cp/typeck.c:2575
+ #, gcc-internal-format
+ msgid "array subscript is not an integer"
+ msgstr "el subíndice de la matriz no es un entero"
+
+-#: c-typeck.c:2063
++#: c-typeck.c:2073
+ #, gcc-internal-format
+ msgid "subscripted value is pointer to function"
+ msgstr "el valor de subíndice es un puntero a función"
+
+-#: c-typeck.c:2110
++#: c-typeck.c:2120
+ #, gcc-internal-format
+ msgid "ISO C forbids subscripting %<register%> array"
+ msgstr "ISO C prohíbe el subíndice de una matriz %<registe%>"
+
+-#: c-typeck.c:2112
++#: c-typeck.c:2122
+ #, gcc-internal-format
+ msgid "ISO C90 forbids subscripting non-lvalue array"
+ msgstr "ISO C90 prohíbe el subíndice de una matriz no-lvaluada"
+
+-#: c-typeck.c:2228
++#: c-typeck.c:2239
+ #, gcc-internal-format
+ msgid "%H%qD is static but used in inline function %qD which is not static"
+ msgstr "%H%qD es estática pero se usa en la función inline %qD la cual no es estática"
+
+-#: c-typeck.c:2376
++#: c-typeck.c:2387
+ #, gcc-internal-format
+ msgid "called object %qE is not a function"
+ msgstr "el objeto %qE llamado no es una función"
+@@ -20483,795 +20465,795 @@
+ #. This situation leads to run-time undefined behavior. We can't,
+ #. therefore, simply error unless we can prove that all possible
+ #. executions of the program must execute the code.
+-#: c-typeck.c:2404
++#: c-typeck.c:2415
+ #, gcc-internal-format
+ msgid "function called through a non-compatible type"
+ msgstr "función llamada a través de un tipo de dato que no es compatible"
+
+-#: c-typeck.c:2515
++#: c-typeck.c:2526
+ #, gcc-internal-format
+ msgid "too many arguments to function %qE"
+ msgstr "demasiados argumentos para la función %qE"
+
+-#: c-typeck.c:2536
++#: c-typeck.c:2547
+ #, gcc-internal-format
+ msgid "type of formal parameter %d is incomplete"
+ msgstr "el tipo de dato del parámetro formal %d está incompleto"
+
+-#: c-typeck.c:2549
++#: c-typeck.c:2560
+ #, gcc-internal-format
+ msgid "passing argument %d of %qE as integer rather than floating due to prototype"
+ msgstr "se pasa el argumento %d de %qE como entero en lugar de coma flotante debido al prototipo"
+
+-#: c-typeck.c:2554
++#: c-typeck.c:2565
+ #, gcc-internal-format
+ msgid "passing argument %d of %qE as integer rather than complex due to prototype"
+ msgstr "se pasa el argumento %d de %qE como entero en lugar de complejo debido al prototipo"
+
+-#: c-typeck.c:2559
++#: c-typeck.c:2570
+ #, gcc-internal-format
+ msgid "passing argument %d of %qE as complex rather than floating due to prototype"
+ msgstr "se pasa el argumento %d de %qE como complejo en lugar de coma flotante debido al prototipo"
+
+-#: c-typeck.c:2564
++#: c-typeck.c:2575
+ #, gcc-internal-format
+ msgid "passing argument %d of %qE as floating rather than integer due to prototype"
+ msgstr "se pasa el argumento %d de %qE como coma flotante en lugar de entero debido al prototipo"
+
+-#: c-typeck.c:2569
++#: c-typeck.c:2580
+ #, gcc-internal-format
+ msgid "passing argument %d of %qE as complex rather than integer due to prototype"
+ msgstr "se pasa el argumento %d de %qE como complejo en lugar de entero debido al prototipo"
+
+-#: c-typeck.c:2574
++#: c-typeck.c:2585
+ #, gcc-internal-format
+ msgid "passing argument %d of %qE as floating rather than complex due to prototype"
+ msgstr "se pasa el argumento %d de %qE como coma flotante en lugar de complejo debido al prototipo"
+
+-#: c-typeck.c:2587
++#: c-typeck.c:2598
+ #, gcc-internal-format
+ msgid "passing argument %d of %qE as %<float%> rather than %<double%> due to prototype"
+ msgstr "se pasa el argumento %d de %qE como %<float%> en lugar de %<double%> debido al prototipo"
+
+-#: c-typeck.c:2612
++#: c-typeck.c:2623
+ #, gcc-internal-format
+ msgid "passing argument %d of %qE as %qT rather than %qT due to prototype"
+ msgstr "se pasa el argumento %d de %qE como %qT en lugar de %qT debido al prototipo"
+
+-#: c-typeck.c:2633
++#: c-typeck.c:2644
+ #, gcc-internal-format
+ msgid "passing argument %d of %qE with different width due to prototype"
+ msgstr "se pasa el argumento %d de %qE con anchura diferente debido al prototipo"
+
+-#: c-typeck.c:2656
++#: c-typeck.c:2667
+ #, gcc-internal-format
+ msgid "passing argument %d of %qE as unsigned due to prototype"
+ msgstr "se pasa el argumento %d de %qE como unsigned debido al prototipo"
+
+-#: c-typeck.c:2660
++#: c-typeck.c:2671
+ #, gcc-internal-format
+ msgid "passing argument %d of %qE as signed due to prototype"
+ msgstr "se pasa el argumento %d de %qE como signed debido al prototipo"
+
+-#: c-typeck.c:2766 c-typeck.c:2770
++#: c-typeck.c:2777 c-typeck.c:2781
+ #, gcc-internal-format
+ msgid "comparison with string literal results in unspecified behavior"
+ msgstr "la comparación con una literal de cadena resulta en una conducta no especificada"
+
+-#: c-typeck.c:2795
++#: c-typeck.c:2806
+ #, gcc-internal-format
+ msgid "pointer of type %<void *%> used in subtraction"
+ msgstr "se usó un puntero de tipo %<void *%> en la sustracción"
+
+-#: c-typeck.c:2797
++#: c-typeck.c:2808
+ #, gcc-internal-format
+ msgid "pointer to a function used in subtraction"
+ msgstr "se utilizó un puntero a una función en la sustracción"
+
+-#: c-typeck.c:2908
++#: c-typeck.c:2919
+ #, gcc-internal-format
+ msgid "wrong type argument to unary plus"
+ msgstr "argumento de tipo erróneo para el incremento unario"
+
+-#: c-typeck.c:2921
++#: c-typeck.c:2932
+ #, gcc-internal-format
+ msgid "wrong type argument to unary minus"
+ msgstr "argumento de tipo erróneo para el decremento unario"
+
+-#: c-typeck.c:2941
++#: c-typeck.c:2952
+ #, gcc-internal-format
+ msgid "ISO C does not support %<~%> for complex conjugation"
+ msgstr "ISO C no admite %<~%> para conjugaciones complejas"
+
+-#: c-typeck.c:2947
++#: c-typeck.c:2958
+ #, gcc-internal-format
+ msgid "wrong type argument to bit-complement"
+ msgstr "argumento de tipo erróneo para complemento de bits"
+
+-#: c-typeck.c:2955
++#: c-typeck.c:2966
+ #, gcc-internal-format
+ msgid "wrong type argument to abs"
+ msgstr "argumento de tipo erróneo para abs"
+
+-#: c-typeck.c:2967
++#: c-typeck.c:2978
+ #, gcc-internal-format
+ msgid "wrong type argument to conjugation"
+ msgstr "argumento de tipo erróneo para la conjugación"
+
+-#: c-typeck.c:2979
++#: c-typeck.c:2990
+ #, gcc-internal-format
+ msgid "wrong type argument to unary exclamation mark"
+ msgstr "argumento de tipo erróneo para el signo de exclamación unario"
+
+-#: c-typeck.c:3013
++#: c-typeck.c:3024
+ #, gcc-internal-format
+ msgid "ISO C does not support %<++%> and %<--%> on complex types"
+ msgstr "ISO C no admite %<++%> y %<--%> en tipos complejos"
+
+-#: c-typeck.c:3032 c-typeck.c:3064
++#: c-typeck.c:3043 c-typeck.c:3075
+ #, gcc-internal-format
+ msgid "wrong type argument to increment"
+ msgstr "argumento de tipo erróneo para el incremento"
+
+-#: c-typeck.c:3034 c-typeck.c:3066
++#: c-typeck.c:3045 c-typeck.c:3077
+ #, gcc-internal-format
+ msgid "wrong type argument to decrement"
+ msgstr "argumento de tipo erróneo para el decremento"
+
+-#: c-typeck.c:3055
++#: c-typeck.c:3066
+ #, gcc-internal-format
+ msgid "increment of pointer to unknown structure"
+ msgstr "incremento de puntero a estructura desconocida"
+
+-#: c-typeck.c:3057
++#: c-typeck.c:3068
+ #, gcc-internal-format
+ msgid "decrement of pointer to unknown structure"
+ msgstr "decremento de puntero a estructura desconocida"
+
+-#: c-typeck.c:3258
++#: c-typeck.c:3269
+ #, gcc-internal-format
+ msgid "assignment of read-only member %qD"
+ msgstr "asignación del miembro de sólo lectura %qD"
+
+-#: c-typeck.c:3259
++#: c-typeck.c:3270
+ #, gcc-internal-format
+ msgid "increment of read-only member %qD"
+ msgstr "incremento del miembro de sólo lectura %qD"
+
+-#: c-typeck.c:3260
++#: c-typeck.c:3271
+ #, gcc-internal-format
+ msgid "decrement of read-only member %qD"
+ msgstr "decremento del miembro de sólo lectura %qD"
+
+-#: c-typeck.c:3261
++#: c-typeck.c:3272
+ #, gcc-internal-format
+ msgid "read-only member %qD used as %<asm%> output"
+ msgstr "se usó el miembro de sólo lectura %qD como salida %<asm%>"
+
+-#: c-typeck.c:3265
++#: c-typeck.c:3276
+ #, gcc-internal-format
+ msgid "assignment of read-only variable %qD"
+ msgstr "asignación de la variable de sólo lectura %qD"
+
+-#: c-typeck.c:3266
++#: c-typeck.c:3277
+ #, gcc-internal-format
+ msgid "increment of read-only variable %qD"
+ msgstr "incremento de la variable de sólo lectura %qD"
+
+-#: c-typeck.c:3267
++#: c-typeck.c:3278
+ #, gcc-internal-format
+ msgid "decrement of read-only variable %qD"
+ msgstr "decremento de la variable de sólo lectura %qD"
+
+-#: c-typeck.c:3268
++#: c-typeck.c:3279
+ #, gcc-internal-format
+ msgid "read-only variable %qD used as %<asm%> output"
+ msgstr "se usó la variable de sólo lectura %qD como salida %<asm%>"
+
+-#: c-typeck.c:3271
++#: c-typeck.c:3282
+ #, gcc-internal-format
+ msgid "assignment of read-only location %qE"
+ msgstr "asignación de la ubicación de sólo lectura %qE"
+
+-#: c-typeck.c:3272
++#: c-typeck.c:3283
+ #, gcc-internal-format
+ msgid "increment of read-only location %qE"
+ msgstr "incremento de la ubicación de sólo lectura %qE"
+
+-#: c-typeck.c:3273
++#: c-typeck.c:3284
+ #, gcc-internal-format
+ msgid "decrement of read-only location %qE"
+ msgstr "decremento de la ubicación de sólo lectura %qE"
+
+-#: c-typeck.c:3274
++#: c-typeck.c:3285
+ #, gcc-internal-format
+ msgid "read-only location %qE used as %<asm%> output"
+ msgstr "se usó la ubicación de sólo lectura %qE como salida %<asm%>"
+
+-#: c-typeck.c:3310
++#: c-typeck.c:3321
+ #, gcc-internal-format
+ msgid "cannot take address of bit-field %qD"
+ msgstr "no se puede tomar la dirección del campo de bits %qD"
+
+-#: c-typeck.c:3338
++#: c-typeck.c:3349
+ #, gcc-internal-format
+ msgid "global register variable %qD used in nested function"
+ msgstr "se usó la variable de registro global %qD en la función anidada"
+
+-#: c-typeck.c:3341
++#: c-typeck.c:3352
+ #, gcc-internal-format
+ msgid "register variable %qD used in nested function"
+ msgstr "se usó la variable de registro %qD en la función anidada"
+
+-#: c-typeck.c:3346
++#: c-typeck.c:3357
+ #, gcc-internal-format
+ msgid "address of global register variable %qD requested"
+ msgstr "se solicitó la dirección de la variable de registro global %qD"
+
+-#: c-typeck.c:3348
++#: c-typeck.c:3359
+ #, gcc-internal-format
+ msgid "address of register variable %qD requested"
+ msgstr "se solicitó la dirección de la variable de registro %qD"
+
+-#: c-typeck.c:3394
++#: c-typeck.c:3405
+ #, gcc-internal-format
+ msgid "non-lvalue array in conditional expression"
+ msgstr "matriz no-lvaluada en la expresión condicional"
+
+-#: c-typeck.c:3442
++#: c-typeck.c:3453
+ #, gcc-internal-format
+ msgid "signed and unsigned type in conditional expression"
+ msgstr "tipos signed y unsigned en la expresión condicional"
+
+-#: c-typeck.c:3449
++#: c-typeck.c:3460
+ #, gcc-internal-format
+ msgid "ISO C forbids conditional expr with only one void side"
+ msgstr "ISO C prohíbe una expresión condicional con sólo un lado void"
+
+-#: c-typeck.c:3463 c-typeck.c:3471
++#: c-typeck.c:3474 c-typeck.c:3482
+ #, gcc-internal-format
+ msgid "ISO C forbids conditional expr between %<void *%> and function pointer"
+ msgstr "ISO C prohíbe expresiones condicionales entre %<void *%> y punteros de función"
+
+-#: c-typeck.c:3478
++#: c-typeck.c:3489
+ #, gcc-internal-format
+ msgid "pointer type mismatch in conditional expression"
+ msgstr "los tipos de datos punteros no coinciden en la expresión condicional"
+
+-#: c-typeck.c:3485 c-typeck.c:3495
++#: c-typeck.c:3496 c-typeck.c:3506
+ #, gcc-internal-format
+ msgid "pointer/integer type mismatch in conditional expression"
+ msgstr "los tipos de datos punteros/enteros no coinciden en la expresión condicional"
+
+-#: c-typeck.c:3509 tree-cfg.c:3783
++#: c-typeck.c:3520 tree-cfg.c:3807
+ #, gcc-internal-format
+ msgid "type mismatch in conditional expression"
+ msgstr "los tipos de datos no coinciden en la expresión condicional"
+
+-#: c-typeck.c:3552
++#: c-typeck.c:3563
+ #, gcc-internal-format
+ msgid "left-hand operand of comma expression has no effect"
+ msgstr "el operador del lado izquierdo de la expresión coma no tiene efecto"
+
+-#: c-typeck.c:3589
++#: c-typeck.c:3600
+ #, gcc-internal-format
+ msgid "cast specifies array type"
+ msgstr "la conversión especifica el tipo matriz"
+
+-#: c-typeck.c:3595
++#: c-typeck.c:3606
+ #, gcc-internal-format
+ msgid "cast specifies function type"
+ msgstr "la conversión especifica el tipo función"
+
+-#: c-typeck.c:3612
++#: c-typeck.c:3623
+ #, gcc-internal-format
+ msgid "ISO C forbids casting nonscalar to the same type"
+ msgstr "ISO C prohíbe la conversión de un no escalar al mismo tipo"
+
+-#: c-typeck.c:3629
++#: c-typeck.c:3640
+ #, gcc-internal-format
+ msgid "ISO C forbids casts to union type"
+ msgstr "ISO C prohíbe la conversión al tipo union"
+
+-#: c-typeck.c:3637
++#: c-typeck.c:3648
+ #, gcc-internal-format
+ msgid "cast to union type from type not present in union"
+ msgstr "conversión a tipo union desde un tipo no presente en union"
+
+-#: c-typeck.c:3683
++#: c-typeck.c:3694
+ #, gcc-internal-format
+ msgid "cast adds new qualifiers to function type"
+ msgstr "la conversión agrega calificadores nuevos al tipo función"
+
+ #. There are qualifiers present in IN_OTYPE that are not
+ #. present in IN_TYPE.
+-#: c-typeck.c:3688
++#: c-typeck.c:3699
+ #, gcc-internal-format
+ msgid "cast discards qualifiers from pointer target type"
+ msgstr "la conversión descarta los calificadores del tipo del destino del puntero"
+
+-#: c-typeck.c:3704
++#: c-typeck.c:3715
+ #, gcc-internal-format
+ msgid "cast increases required alignment of target type"
+ msgstr "la conversión incrementa la alineación requerida del tipo del destino"
+
+-#: c-typeck.c:3715
++#: c-typeck.c:3726
+ #, gcc-internal-format
+ msgid "cast from pointer to integer of different size"
+ msgstr "conversión de puntero a entero de tamaño diferente"
+
+-#: c-typeck.c:3719
++#: c-typeck.c:3730
+ #, gcc-internal-format
+ msgid "cast from function call of type %qT to non-matching type %qT"
+ msgstr "conversión desde una llamada a función de tipo %qT al tipo %qT que no coincide"
+
+-#: c-typeck.c:3727
++#: c-typeck.c:3738
+ #, gcc-internal-format
+ msgid "cast to pointer from integer of different size"
+ msgstr "conversión a puntero desde un entero de tamaño diferente"
+
+-#: c-typeck.c:3741
++#: c-typeck.c:3752
+ #, gcc-internal-format
+ msgid "ISO C forbids conversion of function pointer to object pointer type"
+ msgstr "ISO C prohíbe la conversión de un apuntador a función a un tipo de objeto apuntador"
+
+-#: c-typeck.c:3749
++#: c-typeck.c:3760
+ #, gcc-internal-format
+ msgid "ISO C forbids conversion of object pointer to function pointer type"
+ msgstr "ISO C prohíbe la conversión de objeto apuntador a un tipo de apuntador a función"
+
+-#: c-typeck.c:4026
++#: c-typeck.c:4037
+ #, gcc-internal-format
+ msgid "cannot pass rvalue to reference parameter"
+ msgstr "no se puede pasar un valor-r a un parámetro de referencia"
+
+-#: c-typeck.c:4139 c-typeck.c:4306
++#: c-typeck.c:4150 c-typeck.c:4317
+ #, gcc-internal-format
+ msgid "passing argument %d of %qE makes qualified function pointer from unqualified"
+ msgstr "el paso del argumento %d de %qE hace que la función calificada apunte desde una no calificada"
+
+-#: c-typeck.c:4142 c-typeck.c:4309
++#: c-typeck.c:4153 c-typeck.c:4320
+ #, gcc-internal-format
+ msgid "assignment makes qualified function pointer from unqualified"
+ msgstr "la asignación hace que la función calificada apunte desde una no calificada"
+
+-#: c-typeck.c:4145 c-typeck.c:4311
++#: c-typeck.c:4156 c-typeck.c:4322
+ #, gcc-internal-format
+ msgid "initialization makes qualified function pointer from unqualified"
+ msgstr "la inicialización hace que la función calificada apunte desde una no calificada"
+
+-#: c-typeck.c:4148 c-typeck.c:4313
++#: c-typeck.c:4159 c-typeck.c:4324
+ #, gcc-internal-format
+ msgid "return makes qualified function pointer from unqualified"
+ msgstr "la devolución hace que la función calificada apunte desde una no calificada"
+
+-#: c-typeck.c:4152 c-typeck.c:4273
++#: c-typeck.c:4163 c-typeck.c:4284
+ #, gcc-internal-format
+ msgid "passing argument %d of %qE discards qualifiers from pointer target type"
+ msgstr "el paso del argumento %d de %qE descarta los calificadores del tipo del destino del puntero"
+
+-#: c-typeck.c:4154 c-typeck.c:4275
++#: c-typeck.c:4165 c-typeck.c:4286
+ #, gcc-internal-format
+ msgid "assignment discards qualifiers from pointer target type"
+ msgstr "la asignación descarta los calificadores del tipo del destino del puntero"
+
+-#: c-typeck.c:4156 c-typeck.c:4277
++#: c-typeck.c:4167 c-typeck.c:4288
+ #, gcc-internal-format
+ msgid "initialization discards qualifiers from pointer target type"
+ msgstr "la inicialización descarta los calificadores del tipo del destino del puntero"
+
+-#: c-typeck.c:4158 c-typeck.c:4279
++#: c-typeck.c:4169 c-typeck.c:4290
+ #, gcc-internal-format
+ msgid "return discards qualifiers from pointer target type"
+ msgstr "la devolución descarta los calificadores del tipo del destino del puntero"
+
+-#: c-typeck.c:4165
++#: c-typeck.c:4176
+ #, gcc-internal-format
+ msgid "ISO C prohibits argument conversion to union type"
+ msgstr "ISO C prohíbe la conversión de argumentos a tipo union"
+
+-#: c-typeck.c:4201
++#: c-typeck.c:4212
+ #, gcc-internal-format
+ msgid "request for implicit conversion from %qT to %qT not permitted in C++"
+ msgstr "no se permite la petición para la conversión implícita de %qT a %qT en C++"
+
+-#: c-typeck.c:4214
++#: c-typeck.c:4225
+ #, gcc-internal-format
+ msgid "argument %d of %qE might be a candidate for a format attribute"
+ msgstr "el argumento %d de %qE puede ser un candidato para un atributo de formato"
+
+-#: c-typeck.c:4220
++#: c-typeck.c:4231
+ #, gcc-internal-format
+ msgid "assignment left-hand side might be a candidate for a format attribute"
+ msgstr "el lado izquierdo de la asignación puede ser un candidato para un atributo de formato"
+
+-#: c-typeck.c:4225
++#: c-typeck.c:4236
+ #, gcc-internal-format
+ msgid "initialization left-hand side might be a candidate for a format attribute"
+ msgstr "el lado izquierdo de la inicialización puede ser un candidato para un atributo de formato"
+
+-#: c-typeck.c:4230
++#: c-typeck.c:4241
+ #, gcc-internal-format
+ msgid "return type might be a candidate for a format attribute"
+ msgstr "el tipo de devolución puede ser un candidato para un atributo de formato"
+
+-#: c-typeck.c:4253
++#: c-typeck.c:4264
+ #, gcc-internal-format
+ msgid "ISO C forbids passing argument %d of %qE between function pointer and %<void *%>"
+ msgstr "ISO C prohíbe el paso del argumento %d de %qE entre un puntero a función y %<void *%>"
+
+-#: c-typeck.c:4256
++#: c-typeck.c:4267
+ #, gcc-internal-format
+ msgid "ISO C forbids assignment between function pointer and %<void *%>"
+ msgstr "ISO C prohíbe la asignación entre un puntero a función y %<void *%>"
+
+-#: c-typeck.c:4258
++#: c-typeck.c:4269
+ #, gcc-internal-format
+ msgid "ISO C forbids initialization between function pointer and %<void *%>"
+ msgstr "ISO C prohíbe la inicialización entre un puntero a función y %<void *%>"
+
+-#: c-typeck.c:4260
++#: c-typeck.c:4271
+ #, gcc-internal-format
+ msgid "ISO C forbids return between function pointer and %<void *%>"
+ msgstr "ISO C prohíbe la devolución entre un puntero a función y %<void *%>"
+
+-#: c-typeck.c:4289
++#: c-typeck.c:4300
+ #, gcc-internal-format
+ msgid "pointer targets in passing argument %d of %qE differ in signedness"
+ msgstr "el puntero que apunta en el paso del argumento %d de %qE difiere en signo"
+
+-#: c-typeck.c:4291
++#: c-typeck.c:4302
+ #, gcc-internal-format
+ msgid "pointer targets in assignment differ in signedness"
+ msgstr "el puntero que apunta en la asignación difiere en signo"
+
+-#: c-typeck.c:4293
++#: c-typeck.c:4304
+ #, gcc-internal-format
+ msgid "pointer targets in initialization differ in signedness"
+ msgstr "el puntero que apunta en la inicialización difiere en signo"
+
+-#: c-typeck.c:4295
++#: c-typeck.c:4306
+ #, gcc-internal-format
+ msgid "pointer targets in return differ in signedness"
+ msgstr "el puntero que apunta en la devolución difiere en signo"
+
+-#: c-typeck.c:4320
++#: c-typeck.c:4331
+ #, gcc-internal-format
+ msgid "passing argument %d of %qE from incompatible pointer type"
+ msgstr "se pasa el argumento %d de %qE desde un tipo de puntero incompatible"
+
+-#: c-typeck.c:4322
++#: c-typeck.c:4333
+ #, gcc-internal-format
+ msgid "assignment from incompatible pointer type"
+ msgstr "asignación desde un tipo de puntero incompatible"
+
+-#: c-typeck.c:4323
++#: c-typeck.c:4334
+ #, gcc-internal-format
+ msgid "initialization from incompatible pointer type"
+ msgstr "inicialización desde un tipo de puntero incompatible"
+
+-#: c-typeck.c:4325
++#: c-typeck.c:4336
+ #, gcc-internal-format
+ msgid "return from incompatible pointer type"
+ msgstr "devolución desde un tipo de puntero incompatible"
+
+-#: c-typeck.c:4342
++#: c-typeck.c:4353
+ #, gcc-internal-format
+ msgid "passing argument %d of %qE makes pointer from integer without a cast"
+ msgstr "el paso del argumento %d de %qE crea un puntero desde un entero sin una conversión"
+
+-#: c-typeck.c:4344
++#: c-typeck.c:4355
+ #, gcc-internal-format
+ msgid "assignment makes pointer from integer without a cast"
+ msgstr "la asignación crea un puntero desde un entero sin una conversión"
+
+-#: c-typeck.c:4346
++#: c-typeck.c:4357
+ #, gcc-internal-format
+ msgid "initialization makes pointer from integer without a cast"
+ msgstr "la inicialización crea un puntero desde un entero sin una conversión"
+
+-#: c-typeck.c:4348
++#: c-typeck.c:4359
+ #, gcc-internal-format
+ msgid "return makes pointer from integer without a cast"
+ msgstr "la devolución crea un puntero desde un entero sin una conversión"
+
+-#: c-typeck.c:4355
++#: c-typeck.c:4366
+ #, gcc-internal-format
+ msgid "passing argument %d of %qE makes integer from pointer without a cast"
+ msgstr "el paso del argumento %d de %qE crea un entero desde un puntero sin una conversión"
+
+-#: c-typeck.c:4357
++#: c-typeck.c:4368
+ #, gcc-internal-format
+ msgid "assignment makes integer from pointer without a cast"
+ msgstr "la asignación crea un entero desde un puntero sin una conversión"
+
+-#: c-typeck.c:4359
++#: c-typeck.c:4370
+ #, gcc-internal-format
+ msgid "initialization makes integer from pointer without a cast"
+ msgstr "la inicialización crea un entero desde un puntero sin una conversión"
+
+-#: c-typeck.c:4361
++#: c-typeck.c:4372
+ #, gcc-internal-format
+ msgid "return makes integer from pointer without a cast"
+ msgstr "la devolución crea un entero desde un puntero sin una conversión"
+
+-#: c-typeck.c:4377
++#: c-typeck.c:4388
+ #, gcc-internal-format
+ msgid "incompatible types in assignment"
+ msgstr "tipos incompatibles en la asignación"
+
+-#: c-typeck.c:4380
++#: c-typeck.c:4391
+ #, gcc-internal-format
+ msgid "incompatible types in initialization"
+ msgstr "tipos incompatibles en la inicialización"
+
+-#: c-typeck.c:4383
++#: c-typeck.c:4394
+ #, gcc-internal-format
+ msgid "incompatible types in return"
+ msgstr "tipos incompatibles en la devolución"
+
+-#: c-typeck.c:4439
++#: c-typeck.c:4450
+ #, gcc-internal-format
+ msgid "traditional C rejects automatic aggregate initialization"
+ msgstr "C tradicional rechaza la inicialización automática de agregados"
+
+-#: c-typeck.c:4610 c-typeck.c:4625 c-typeck.c:4640
++#: c-typeck.c:4621 c-typeck.c:4636 c-typeck.c:4651
+ #, gcc-internal-format
+ msgid "(near initialization for %qs)"
+ msgstr "(cerca de la inicialización de %qs)"
+
+-#: c-typeck.c:5180 cp/decl.c:4975
++#: c-typeck.c:5191 cp/decl.c:4995
+ #, gcc-internal-format
+ msgid "opaque vector types cannot be initialized"
+ msgstr "no se pueden inicializar los tipos de vector opacos"
+
+-#: c-typeck.c:5803
++#: c-typeck.c:5814
+ #, gcc-internal-format
+ msgid "unknown field %qE specified in initializer"
+ msgstr "se especificó el campo desconocido %qE en el inicializador"
+
+-#: c-typeck.c:6703
++#: c-typeck.c:6714
+ #, gcc-internal-format
+ msgid "traditional C rejects initialization of unions"
+ msgstr "C tradicional rechaza la inicialización de unions"
+
+-#: c-typeck.c:7011
++#: c-typeck.c:7022
+ #, gcc-internal-format
+ msgid "jump into statement expression"
+ msgstr "salto a una expresión de declaración"
+
+-#: c-typeck.c:7017
++#: c-typeck.c:7028
+ #, gcc-internal-format
+ msgid "jump into scope of identifier with variably modified type"
+ msgstr "salto al ámbito de un identificador con tipo modificado variablemente"
+
+-#: c-typeck.c:7054
++#: c-typeck.c:7065
+ #, gcc-internal-format
+ msgid "ISO C forbids %<goto *expr;%>"
+ msgstr "ISO C prohíbe %<goto *expr;%>"
+
+-#: c-typeck.c:7069 cp/typeck.c:6592
++#: c-typeck.c:7080 cp/typeck.c:6619
+ #, gcc-internal-format
+ msgid "function declared %<noreturn%> has a %<return%> statement"
+ msgstr "la función declarada %<noreturn%> tiene una declaración %<return%>"
+
+-#: c-typeck.c:7077
++#: c-typeck.c:7088
+ #, gcc-internal-format
+ msgid "%<return%> with no value, in function returning non-void"
+ msgstr "%<return%> sin valores, en una función que no devuelve void"
+
+-#: c-typeck.c:7086
++#: c-typeck.c:7097
+ #, gcc-internal-format
+ msgid "%<return%> with a value, in function returning void"
+ msgstr "%<return%> con valor, en una función que devuelve void"
+
+-#: c-typeck.c:7088
++#: c-typeck.c:7099
+ #, gcc-internal-format
+ msgid "ISO C forbids %<return%> with expression, in function returning void"
+ msgstr "ISO C prohíbe %<return%> con expresión, en una función que devuelve void"
+
+-#: c-typeck.c:7145
++#: c-typeck.c:7156
+ #, gcc-internal-format
+ msgid "function returns address of local variable"
+ msgstr "la función devuelve la dirección de una variable local"
+
+-#: c-typeck.c:7217 cp/semantics.c:949
++#: c-typeck.c:7228 cp/semantics.c:952
+ #, gcc-internal-format
+ msgid "switch quantity not an integer"
+ msgstr "la cantidad de switch no es un entero"
+
+-#: c-typeck.c:7229
++#: c-typeck.c:7240
+ #, gcc-internal-format
+ msgid "%<long%> switch expression not converted to %<int%> in ISO C"
+ msgstr "no se convierte la expresión de switch %<long%> a %<int%> en ISO C"
+
+-#: c-typeck.c:7269
++#: c-typeck.c:7280
+ #, gcc-internal-format
+ msgid "case label in statement expression not containing enclosing switch statement"
+ msgstr "la etiqueta case en la expresión de declaración no contiene una declaración switch que termina"
+
+-#: c-typeck.c:7272
++#: c-typeck.c:7283
+ #, gcc-internal-format
+ msgid "%<default%> label in statement expression not containing enclosing switch statement"
+ msgstr "la etiqueta %<default%> en la expresión de declaración no contiene una declaración switch que termina"
+
+-#: c-typeck.c:7278
++#: c-typeck.c:7289
+ #, gcc-internal-format
+ msgid "case label in scope of identifier with variably modified type not containing enclosing switch statement"
+ msgstr "la etiqueta case en el ámbito de un identificador con tipo modificado variablemente no contiene una declaración switch que termina"
+
+-#: c-typeck.c:7281
++#: c-typeck.c:7292
+ #, gcc-internal-format
+ msgid "%<default%> label in scope of identifier with variably modified type not containing enclosing switch statement"
+ msgstr "la etiqueta %<default%> en el ámbito de un identificador con tipo modificado variablemente no contiene una declaración switch que termina"
+
+-#: c-typeck.c:7285 cp/parser.c:6804
++#: c-typeck.c:7296 cp/parser.c:6810
+ #, gcc-internal-format
+ msgid "case label not within a switch statement"
+ msgstr "la etiqueta case no se encuentra dentro de una declaración switch"
+
+-#: c-typeck.c:7287
++#: c-typeck.c:7298
+ #, gcc-internal-format
+ msgid "%<default%> label not within a switch statement"
+ msgstr "la etiqueta %<default%> no está dentro de una declaración switch"
+
+-#: c-typeck.c:7364
++#: c-typeck.c:7375
+ #, gcc-internal-format
+ msgid "%Hsuggest explicit braces to avoid ambiguous %<else%>"
+ msgstr "%Hse sugieren llaves explícitas para evitar un %<else%> ambiguo"
+
+-#: c-typeck.c:7475 cp/cp-gimplify.c:97 cp/parser.c:7409
++#: c-typeck.c:7486 cp/cp-gimplify.c:97 cp/parser.c:7415
+ #, gcc-internal-format
+ msgid "break statement not within loop or switch"
+ msgstr "la declaración break no está dentro de un ciclo o switch"
+
+-#: c-typeck.c:7477 cp/parser.c:7430
++#: c-typeck.c:7488 cp/parser.c:7436
+ #, gcc-internal-format
+ msgid "continue statement not within a loop"
+ msgstr "la declaración continue no está dentro de un ciclo"
+
+-#: c-typeck.c:7482 cp/parser.c:7420
++#: c-typeck.c:7493 cp/parser.c:7426
+ #, gcc-internal-format
+ msgid "break statement used with OpenMP for loop"
+ msgstr "se usó la declaración break en un ciclo for de OpenMP"
+
+-#: c-typeck.c:7505
++#: c-typeck.c:7516
+ #, gcc-internal-format
+ msgid "%Hstatement with no effect"
+ msgstr "%Hdeclaración sin efecto"
+
+-#: c-typeck.c:7527
++#: c-typeck.c:7538
+ #, gcc-internal-format
+ msgid "expression statement has incomplete type"
+ msgstr "la declaración de la expresión tiene tipo de dato incompleto"
+
+-#: c-typeck.c:8082 cp/typeck.c:3259
++#: c-typeck.c:8093 cp/typeck.c:3301
+ #, gcc-internal-format
+ msgid "right shift count is negative"
+ msgstr "la cuenta de desplazamiento a la derecha es negativa"
+
+-#: c-typeck.c:8089 cp/typeck.c:3265
++#: c-typeck.c:8100 cp/typeck.c:3305
+ #, gcc-internal-format
+ msgid "right shift count >= width of type"
+ msgstr "cuenta de desplazamiento a la derecha >= anchura del tipo"
+
+-#: c-typeck.c:8111 cp/typeck.c:3284
++#: c-typeck.c:8122 cp/typeck.c:3324
+ #, gcc-internal-format
+ msgid "left shift count is negative"
+ msgstr "la cuenta de desplazamiento a la izquierda es negativa"
+
+-#: c-typeck.c:8114 cp/typeck.c:3286
++#: c-typeck.c:8125 cp/typeck.c:3326
+ #, gcc-internal-format
+ msgid "left shift count >= width of type"
+ msgstr "cuenta de desplazamiento a la izquierda >= anchura del tipo"
+
+-#: c-typeck.c:8132 cp/typeck.c:3324
++#: c-typeck.c:8143 cp/typeck.c:3364
+ #, gcc-internal-format
+ msgid "comparing floating point with == or != is unsafe"
+ msgstr "no es segura la comparacion de coma flotante con == o !="
+
+-#: c-typeck.c:8156 c-typeck.c:8163
++#: c-typeck.c:8167 c-typeck.c:8174
+ #, gcc-internal-format
+ msgid "ISO C forbids comparison of %<void *%> with function pointer"
+ msgstr "ISO C prohíbe la comparación de %<void *%> con un puntero de función"
+
+-#: c-typeck.c:8169 c-typeck.c:8227
++#: c-typeck.c:8180 c-typeck.c:8238
+ #, gcc-internal-format
+ msgid "comparison of distinct pointer types lacks a cast"
+ msgstr "la comparación de diferentes tipos de puntero carece de una conversión"
+
+-#: c-typeck.c:8178 c-typeck.c:8186 cp/typeck.c:3344 cp/typeck.c:3353
++#: c-typeck.c:8189 c-typeck.c:8197 cp/typeck.c:3384 cp/typeck.c:3393
+ #, gcc-internal-format
+ msgid "the address of %qD will never be NULL"
+ msgstr "la dirección de %qD nunca debe ser NULL"
+
+-#: c-typeck.c:8193 c-typeck.c:8198 c-typeck.c:8245 c-typeck.c:8250
++#: c-typeck.c:8204 c-typeck.c:8209 c-typeck.c:8256 c-typeck.c:8261
+ #, gcc-internal-format
+ msgid "comparison between pointer and integer"
+ msgstr "comparación entre puntero y entero"
+
+-#: c-typeck.c:8219
++#: c-typeck.c:8230
+ #, gcc-internal-format
+ msgid "comparison of complete and incomplete pointers"
+ msgstr "comparación de punteros completos e incompletos"
+
+-#: c-typeck.c:8222
++#: c-typeck.c:8233
+ #, gcc-internal-format
+ msgid "ISO C forbids ordered comparisons of pointers to functions"
+ msgstr "ISO C prohíbe la comparación entre punteros a funciones"
+
+-#: c-typeck.c:8234 c-typeck.c:8240
++#: c-typeck.c:8245 c-typeck.c:8251
+ #, gcc-internal-format
+ msgid "ordered comparison of pointer with integer zero"
+ msgstr "comparación ordenada de puntero con el entero cero"
+
+-#: c-typeck.c:8500
++#: c-typeck.c:8511
+ #, gcc-internal-format
+ msgid "comparison between signed and unsigned"
+ msgstr "comparación entre signed y unsigned"
+
+-#: c-typeck.c:8546 cp/typeck.c:3830
++#: c-typeck.c:8557 cp/typeck.c:3838
+ #, gcc-internal-format
+ msgid "comparison of promoted ~unsigned with constant"
+ msgstr "comparación de un ~unsigned promovido con una constante"
+
+-#: c-typeck.c:8554 cp/typeck.c:3838
++#: c-typeck.c:8565 cp/typeck.c:3846
+ #, gcc-internal-format
+ msgid "comparison of promoted ~unsigned with unsigned"
+ msgstr "comparación de un ~unsigned promovido con unsigned"
+
+-#: c-typeck.c:8612
++#: c-typeck.c:8623
+ #, gcc-internal-format
+ msgid "used array that cannot be converted to pointer where scalar is required"
+ msgstr "se usa un valor de tipo matriz que no se puede cambiar a puntero cuando se requiere un escalar"
+
+-#: c-typeck.c:8616
++#: c-typeck.c:8627
+ #, gcc-internal-format
+ msgid "used struct type value where scalar is required"
+ msgstr "se usa un valor de tipo struct cuando se requiere un escalar"
+
+-#: c-typeck.c:8620
++#: c-typeck.c:8631
+ #, gcc-internal-format
+ msgid "used union type value where scalar is required"
+ msgstr "se usa un valor de tipo union cuando se requiere un escalar"
+
+-#: c-typeck.c:8725 cp/semantics.c:3523
++#: c-typeck.c:8736 cp/semantics.c:3555
+ #, gcc-internal-format
+ msgid "%qE has invalid type for %<reduction%>"
+ msgstr "%qE tiene tipo inválido para %<reduction%>"
+
+-#: c-typeck.c:8759 cp/semantics.c:3536
++#: c-typeck.c:8770 cp/semantics.c:3568
+ #, gcc-internal-format
+ msgid "%qE has invalid type for %<reduction(%s)%>"
+ msgstr "%qE tiene tipo inválido para %<reduction(%s)%>"
+
+-#: c-typeck.c:8775 cp/semantics.c:3546
++#: c-typeck.c:8786 cp/semantics.c:3578
+ #, gcc-internal-format
+ msgid "%qE must be %<threadprivate%> for %<copyin%>"
+ msgstr "%qE debe ser %<threadprivate%> para %<copin%>"
+
+-#: c-typeck.c:8784 cp/semantics.c:3351
++#: c-typeck.c:8795 cp/semantics.c:3383
+ #, gcc-internal-format
+ msgid "%qE is not a variable in clause %qs"
+ msgstr "%qE no es una variable en la cláusula %qs"
+
+-#: c-typeck.c:8791 c-typeck.c:8811 c-typeck.c:8831 cp/semantics.c:3377
+-#: cp/semantics.c:3396
++#: c-typeck.c:8802 c-typeck.c:8822 c-typeck.c:8842 cp/semantics.c:3409
++#: cp/semantics.c:3428
+ #, gcc-internal-format
+ msgid "%qE appears more than once in data clauses"
+ msgstr "%qE aparece más de una vez en las cláusulas de datos"
+
+-#: c-typeck.c:8805 cp/semantics.c:3371
++#: c-typeck.c:8816 cp/semantics.c:3403
+ #, gcc-internal-format
+ msgid "%qE is not a variable in clause %<firstprivate%>"
+ msgstr "%qE no es una variable en la cláusula %<firstprivate%>"
+
+-#: c-typeck.c:8825 cp/semantics.c:3390
++#: c-typeck.c:8836 cp/semantics.c:3422
+ #, gcc-internal-format
+ msgid "%qE is not a variable in clause %<lastprivate%>"
+ msgstr "%qE no es una variable en la cláusula %<lastprivate%>"
+
+-#: c-typeck.c:8883 cp/semantics.c:3587
++#: c-typeck.c:8894 cp/semantics.c:3619
+ #, gcc-internal-format
+ msgid "%qE is predetermined %qs for %qs"
+ msgstr "%qE está predeterminado como %qs para %qs"
+@@ -21281,12 +21263,12 @@
+ msgid "function call has aggregate value"
+ msgstr "la llamada a la función tiene valor agregado"
+
+-#: cfgexpand.c:1884
++#: cfgexpand.c:1887
+ #, gcc-internal-format
+ msgid "not protecting local variables: variable length buffer"
+ msgstr "no se protegen las variables locales: almacenamiento temporal de longitud variable"
+
+-#: cfgexpand.c:1887
++#: cfgexpand.c:1890
+ #, gcc-internal-format
+ msgid "not protecting function: no buffer at least %d bytes long"
+ msgstr "no se protegen la función: no hay un almacenamiento temporal de por lo menos %d bytes de tamaño"
+@@ -21341,7 +21323,7 @@
+ msgid "verify_flow_info: Basic block %d succ edge is corrupted"
+ msgstr "verify_flow_info: El borde scc del bloque básico %d está corrupto"
+
+-#: cfghooks.c:184 cfgrtl.c:1840
++#: cfghooks.c:184 cfgrtl.c:1838
+ #, gcc-internal-format
+ msgid "wrong amount of branch edges after unconditional jump %i"
+ msgstr "cantidad errónea de bordes de ramificación después del salto incondicional %i"
+@@ -21551,252 +21533,252 @@
+ msgid "%d exits recorded for loop %d (having %d exits)"
+ msgstr "se grabaron %d salidas para el ciclo %d (teniendo %d salidas)"
+
+-#: cfgrtl.c:1734
++#: cfgrtl.c:1732
+ #, gcc-internal-format
+ msgid "BB_RTL flag not set for block %d"
+ msgstr "no se estableció la bandera BB_RTL para el bloque %d"
+
+-#: cfgrtl.c:1741
++#: cfgrtl.c:1739
+ #, gcc-internal-format
+ msgid "insn %d basic block pointer is %d, should be %d"
+ msgstr "en insn %d el puntero del bloque básico es %d, debe ser %d"
+
+-#: cfgrtl.c:1752
++#: cfgrtl.c:1750
+ #, gcc-internal-format
+ msgid "insn %d in header of bb %d has non-NULL basic block"
+ msgstr "en insn %d en el encabezado del bb %d tiene un bloque básico que no es NULL"
+
+-#: cfgrtl.c:1760
++#: cfgrtl.c:1758
+ #, gcc-internal-format
+ msgid "insn %d in footer of bb %d has non-NULL basic block"
+ msgstr "en insn %d al final del bb %d tiene un bloque básico que no es NULL"
+
+-#: cfgrtl.c:1782
++#: cfgrtl.c:1780
+ #, gcc-internal-format
+ msgid "verify_flow_info: REG_BR_PROB does not match cfg %wi %i"
+ msgstr "verify_flow_info: REG_BR_PROB no coincide con la configuración %wi %i"
+
+-#: cfgrtl.c:1797
++#: cfgrtl.c:1795
+ #, gcc-internal-format
+ msgid "fallthru edge crosses section boundary (bb %i)"
+ msgstr "el borde de caída cruza el límite de la sección (bb %i)"
+
+-#: cfgrtl.c:1822
++#: cfgrtl.c:1820
+ #, gcc-internal-format
+ msgid "missing REG_EH_REGION note in the end of bb %i"
+ msgstr "falta la nota REG_EH_REGION al final de bb %i"
+
+-#: cfgrtl.c:1830
++#: cfgrtl.c:1828
+ #, gcc-internal-format
+ msgid "too many outgoing branch edges from bb %i"
+ msgstr "demasiados bordes de ramificación de salida de bb %i"
+
+-#: cfgrtl.c:1835
++#: cfgrtl.c:1833
+ #, gcc-internal-format
+ msgid "fallthru edge after unconditional jump %i"
+ msgstr "borde de caída después del salto incondicional %i"
+
+-#: cfgrtl.c:1846
++#: cfgrtl.c:1844
+ #, gcc-internal-format
+ msgid "wrong amount of branch edges after conditional jump %i"
+ msgstr "cantidad errónea de bordes de ramificación después del salto condicional %i"
+
+-#: cfgrtl.c:1852
++#: cfgrtl.c:1850
+ #, gcc-internal-format
+ msgid "call edges for non-call insn in bb %i"
+ msgstr "bordes de llamada para una insn que no es llamada en bb %i"
+
+-#: cfgrtl.c:1861
++#: cfgrtl.c:1859
+ #, gcc-internal-format
+ msgid "abnormal edges for no purpose in bb %i"
+ msgstr "bordes anormales sin ningún propósito en bb %i"
+
+-#: cfgrtl.c:1873
++#: cfgrtl.c:1871
+ #, gcc-internal-format
+ msgid "insn %d inside basic block %d but block_for_insn is NULL"
+ msgstr "insn %d está dentro del bloque básico %d pero block_for_insn es NULL"
+
+-#: cfgrtl.c:1877
++#: cfgrtl.c:1875
+ #, gcc-internal-format
+ msgid "insn %d inside basic block %d but block_for_insn is %i"
+ msgstr "insn %d está dentro del bloque básico %d pero block_for_insn es %i"
+
+-#: cfgrtl.c:1891 cfgrtl.c:1901
++#: cfgrtl.c:1889 cfgrtl.c:1899
+ #, gcc-internal-format
+ msgid "NOTE_INSN_BASIC_BLOCK is missing for block %d"
+ msgstr "falta NOTE_INSN_BASIC_BLOCK para el bloque %d"
+
+-#: cfgrtl.c:1914
++#: cfgrtl.c:1912
+ #, gcc-internal-format
+ msgid "NOTE_INSN_BASIC_BLOCK %d in middle of basic block %d"
+ msgstr "NOTE_INSN_BASIC_BLOCK %d en el medio del bloque básico %d"
+
+-#: cfgrtl.c:1924
++#: cfgrtl.c:1922
+ #, gcc-internal-format
+ msgid "in basic block %d:"
+ msgstr "en el bloque básico %d:"
+
+-#: cfgrtl.c:1977 cfgrtl.c:2067
++#: cfgrtl.c:1975 cfgrtl.c:2065
+ #, gcc-internal-format
+ msgid "insn %d outside of basic blocks has non-NULL bb field"
+ msgstr "insn %d fuera de los bloques básicos tiene un campo bb que no es NULL"
+
+-#: cfgrtl.c:1985
++#: cfgrtl.c:1983
+ #, gcc-internal-format
+ msgid "end insn %d for block %d not found in the insn stream"
+ msgstr "el insn final %d para el bloque %d no se encontró en el flujo insn"
+
+-#: cfgrtl.c:1998
++#: cfgrtl.c:1996
+ #, gcc-internal-format
+ msgid "insn %d is in multiple basic blocks (%d and %d)"
+ msgstr "insn %d está en múltiples bloques básicos (%d y %d)"
+
+-#: cfgrtl.c:2010
++#: cfgrtl.c:2008
+ #, gcc-internal-format
+ msgid "head insn %d for block %d not found in the insn stream"
+ msgstr "la cabeza insn %d para el bloque %d no se encontró en el flujo insn"
+
+-#: cfgrtl.c:2030
++#: cfgrtl.c:2028
+ #, gcc-internal-format
+ msgid "missing barrier after block %i"
+ msgstr "falta una barrera después del bloque %i"
+
+-#: cfgrtl.c:2043
++#: cfgrtl.c:2041
+ #, gcc-internal-format
+ msgid "verify_flow_info: Incorrect blocks for fallthru %i->%i"
+ msgstr "verify_flow_info: Bloques incorrectos para el respaldo %i->%i"
+
+-#: cfgrtl.c:2052
++#: cfgrtl.c:2050
+ #, gcc-internal-format
+ msgid "verify_flow_info: Incorrect fallthru %i->%i"
+ msgstr "verify_flow_info: Respaldo incorrecto %i->%i"
+
+-#: cfgrtl.c:2085
++#: cfgrtl.c:2083
+ #, gcc-internal-format
+ msgid "basic blocks not laid down consecutively"
+ msgstr "los bloques básicos no están ubicados consecutivamente"
+
+-#: cfgrtl.c:2124
++#: cfgrtl.c:2122
+ #, gcc-internal-format
+ msgid "number of bb notes in insn chain (%d) != n_basic_blocks (%d)"
+ msgstr "el número de notas bb en la cadena insn (%d) != n_basic_blocks (%d)"
+
+-#: cgraph.c:794
++#: cgraph.c:840
+ #, gcc-internal-format
+ msgid "%D renamed after being referenced in assembly"
+ msgstr "se renombró %D después de ser referenciado en el ensamblado"
+
+-#: cgraphunit.c:670
++#: cgraphunit.c:675
+ #, gcc-internal-format
+ msgid "aux field set for edge %s->%s"
+ msgstr "campo aux establecido para el borde %s->%s"
+
+-#: cgraphunit.c:676
++#: cgraphunit.c:681
+ #, gcc-internal-format
+ msgid "Execution count is negative"
+ msgstr "La cuenta de ejecución es negativa"
+
+-#: cgraphunit.c:683
++#: cgraphunit.c:688
+ #, gcc-internal-format
+ msgid "caller edge count is negative"
+ msgstr "la cuenta de borde llamador es negativa"
+
+-#: cgraphunit.c:688
++#: cgraphunit.c:693
+ #, gcc-internal-format
+ msgid "caller edge frequency is negative"
+ msgstr "la frecuencia de borde llamador es negativa"
+
+-#: cgraphunit.c:693
++#: cgraphunit.c:698
+ #, gcc-internal-format
+ msgid "caller edge frequency is too large"
+ msgstr "la frecuencia de borde llamador es demasiado grande"
+
+-#: cgraphunit.c:702
++#: cgraphunit.c:707
+ #, gcc-internal-format
+ msgid "inlined_to pointer is wrong"
+ msgstr "el puntero inlined_to está mal"
+
+-#: cgraphunit.c:707
++#: cgraphunit.c:712
+ #, gcc-internal-format
+ msgid "multiple inline callers"
+ msgstr "múltiples llamantes inline"
+
+-#: cgraphunit.c:714
++#: cgraphunit.c:719
+ #, gcc-internal-format
+ msgid "inlined_to pointer set for noninline callers"
+ msgstr "se estableció el puntero inlined_to para llamantes no-inline"
+
+-#: cgraphunit.c:720
++#: cgraphunit.c:725
+ #, gcc-internal-format
+ msgid "inlined_to pointer is set but no predecessors found"
+ msgstr "se estableció el puntero inlined_to, pero no se encontraron predecesores"
+
+-#: cgraphunit.c:725
++#: cgraphunit.c:730
+ #, gcc-internal-format
+ msgid "inlined_to pointer refers to itself"
+ msgstr "el puntero inlined_to se refiere a sí mismo"
+
+-#: cgraphunit.c:735
++#: cgraphunit.c:740
+ #, gcc-internal-format
+ msgid "node not found in cgraph_hash"
+ msgstr "no se encontró un nodo en cgraph_hash"
+
+-#: cgraphunit.c:763
++#: cgraphunit.c:768
+ #, gcc-internal-format
+ msgid "shared call_stmt:"
+ msgstr "call_stmt compartida:"
+
+-#: cgraphunit.c:770
++#: cgraphunit.c:775
+ #, gcc-internal-format
+ msgid "edge points to wrong declaration:"
+ msgstr "puntos de borde para una declaración errónea:"
+
+-#: cgraphunit.c:779
++#: cgraphunit.c:784
+ #, gcc-internal-format
+ msgid "missing callgraph edge for call stmt:"
+ msgstr "falta el borde de callgraph para la llamada stmt:"
+
+-#: cgraphunit.c:795
++#: cgraphunit.c:800
+ #, gcc-internal-format
+ msgid "edge %s->%s has no corresponding call_stmt"
+ msgstr "el borde %s->%s no tiene un call_stmt correspondiente"
+
+-#: cgraphunit.c:807
++#: cgraphunit.c:812
+ #, gcc-internal-format
+ msgid "verify_cgraph_node failed"
+ msgstr "falló verify_cgraph_node"
+
+-#: cgraphunit.c:909 cgraphunit.c:932
++#: cgraphunit.c:915 cgraphunit.c:938
+ #, gcc-internal-format
+ msgid "%J%<externally_visible%> attribute have effect only on public objects"
+ msgstr "%Jel atributo %<externally_visible%> sólo tiene efecto en objetos públicos"
+
+-#: cgraphunit.c:1122
++#: cgraphunit.c:1128
+ #, gcc-internal-format
+ msgid "failed to reclaim unneeded function"
+ msgstr "falló al reclamar una función innecesaria"
+
+-#: cgraphunit.c:1454
++#: cgraphunit.c:1460
+ #, gcc-internal-format
+ msgid "nodes with no released memory found"
+ msgstr "se encontraron nodos sin memoria liberada"
+
+-#: collect2.c:1189
++#: collect2.c:1203
+ #, gcc-internal-format
+ msgid "unknown demangling style '%s'"
+ msgstr "se desconoce el estilo de desenredado '%s'"
+
+-#: collect2.c:1512
++#: collect2.c:1526
+ #, gcc-internal-format
+ msgid "%s terminated with signal %d [%s]%s"
+ msgstr "%s terminado con la señal %d [%s]%s"
+
+-#: collect2.c:1530
++#: collect2.c:1544
+ #, gcc-internal-format
+ msgid "%s returned %d exit status"
+ msgstr "%s devolvió el estado de salida %d"
+
+-#: collect2.c:2242
++#: collect2.c:2256
+ #, gcc-internal-format
+ msgid "cannot find 'ldd'"
+ msgstr "no se puede encontrar 'ldd'"
+@@ -21951,27 +21933,27 @@
+ msgid "dominator of %d should be %d, not %d"
+ msgstr "el dominador de %d debería ser %d, no %d"
+
+-#: dwarf2out.c:3634
++#: dwarf2out.c:3686
+ #, gcc-internal-format
+ msgid "DW_LOC_OP %s not implemented"
+ msgstr "DW_LOC_OP %s no está implementado"
+
+-#: emit-rtl.c:2326
++#: emit-rtl.c:2262
+ #, gcc-internal-format
+ msgid "invalid rtl sharing found in the insn"
+ msgstr "se encontró una compartición de rtl inválida en la insn"
+
+-#: emit-rtl.c:2328
++#: emit-rtl.c:2264
+ #, gcc-internal-format
+ msgid "shared rtx"
+ msgstr "rtx compartido"
+
+-#: emit-rtl.c:2330
++#: emit-rtl.c:2266
+ #, gcc-internal-format
+ msgid "internal consistency failure"
+ msgstr "falla interna de consistencia"
+
+-#: emit-rtl.c:3417
++#: emit-rtl.c:3365
+ #, gcc-internal-format
+ msgid "ICE: emit_insn used where emit_jump_insn needed:\n"
+ msgstr "ICE: se usa emit_insn donde se necesita emit_jump_insn:\n"
+@@ -22031,16 +22013,16 @@
+ msgid "verify_eh_tree failed"
+ msgstr "falló verify_eh_tree"
+
+-#: explow.c:1281
++#: explow.c:1258
+ #, gcc-internal-format
+ msgid "stack limits not supported on this target"
+ msgstr "no se admiten límites de la pila en este objetivo"
+
+-#: expr.c:8031
++#: expr.c:8030
+ msgid "%Kcall to %qs declared with attribute error: %s"
+ msgstr "%Kla llamada a %qs se redeclaró con error de atributo: %s"
+
+-#: expr.c:8037
++#: expr.c:8036
+ msgid "%Kcall to %qs declared with attribute warning: %s"
+ msgstr "%Kla llamada a %qs se redecló con aviso de atributo: %s"
+
+@@ -22054,7 +22036,7 @@
+ msgid "large fixed-point constant implicitly truncated to fixed-point type"
+ msgstr "constante de coma fija grande truncada implícitamente al tipo de coma fija"
+
+-#: fold-const.c:992 tree-ssa-loop-niter.c:1827 tree-vrp.c:5060
++#: fold-const.c:992 tree-ssa-loop-niter.c:1827 tree-vrp.c:5076
+ #, gcc-internal-format
+ msgid "%H%s"
+ msgstr "%H%s"
+@@ -22064,77 +22046,77 @@
+ msgid "assuming signed overflow does not occur when negating a division"
+ msgstr "se asume que el desbordamiento con signo no ocurre cuando se niega una división"
+
+-#: fold-const.c:3989 fold-const.c:4000
++#: fold-const.c:4003 fold-const.c:4014
+ #, gcc-internal-format
+ 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.c:5317
++#: fold-const.c:5331
+ #, gcc-internal-format
+ msgid "assuming signed overflow does not occur when simplifying range test"
+ msgstr "se asume que el desbordamiento con signo no ocurre al simplificar la prueba de rango"
+
+-#: fold-const.c:5691 fold-const.c:5706
++#: fold-const.c:5705 fold-const.c:5720
+ #, gcc-internal-format
+ msgid "comparison is always %d"
+ msgstr "la comparación siempre es %d"
+
+-#: fold-const.c:5835
++#: fold-const.c:5849
+ #, gcc-internal-format
+ msgid "%<or%> of unmatched not-equal tests is always 1"
+ msgstr "un %<or%> de pruebas no equivalentes sin coincidencia siempre es 1"
+
+-#: fold-const.c:5840
++#: fold-const.c:5854
+ #, gcc-internal-format
+ msgid "%<and%> of mutually exclusive equal-tests is always 0"
+ msgstr "un %<and%> de pruebas equivalentes mutuamente exclusivas siempre es 0"
+
+-#: fold-const.c:8617
++#: fold-const.c:8641
+ #, gcc-internal-format
+ msgid "assuming signed overflow does not occur when reducing constant in comparison"
+ msgstr "se asume que el desbordamiento con signo no ocurre cuando se reduce la constante en comparación"
+
+-#: fold-const.c:8871
++#: fold-const.c:8895
+ #, gcc-internal-format
+ msgid "assuming signed overflow does not occur when combining constants around a comparison"
+ msgstr "se asume que el desbordamiento con signo no ocurre cuando se combinan constantes alrededor de una comparación"
+
+-#: fold-const.c:13236
++#: fold-const.c:13433
+ #, gcc-internal-format
+ msgid "fold check: original tree changed by fold"
+ msgstr "fold check: el árbol original cambió por un pliegue"
+
+-#: function.c:377
++#: function.c:380
+ #, gcc-internal-format
+ msgid "%Jtotal size of local objects too large"
+ msgstr "%Jel tamaño total de los objetos locales es demasiado grande"
+
+-#: function.c:837 varasm.c:2095
++#: function.c:840 varasm.c:2095
+ #, gcc-internal-format
+ msgid "size of variable %q+D is too large"
+ msgstr "el tamaño de la variable %q+D es demasiado grande"
+
+-#: function.c:1554 gimplify.c:4250
++#: function.c:1571 gimplify.c:4405
+ #, gcc-internal-format
+ msgid "impossible constraint in %<asm%>"
+ msgstr "restricción imposible en %<asm%>"
+
+-#: function.c:3538
++#: function.c:3557
+ #, gcc-internal-format
+ msgid "variable %q+D might be clobbered by %<longjmp%> or %<vfork%>"
+ msgstr "la variable %q+D puede ser sobreescrita por %<longjmp%> o %<vfork%>"
+
+-#: function.c:3559
++#: function.c:3578
+ #, gcc-internal-format
+ msgid "argument %q+D might be clobbered by %<longjmp%> or %<vfork%>"
+ msgstr "el argumento %q+D puede ser sobreescrito por %<longjmp%> o %<vfork%>"
+
+-#: function.c:4004
++#: function.c:4027
+ #, gcc-internal-format
+ msgid "function returns an aggregate"
+ msgstr "la función devuelve un agregado"
+
+-#: function.c:4401
++#: function.c:4424
+ #, gcc-internal-format
+ msgid "unused parameter %q+D"
+ msgstr "parámetro %q+D sin uso"
+@@ -22159,12 +22141,12 @@
+ msgid "extraneous argument to '%s' option"
+ msgstr "argumento extraño para la opción '%s'"
+
+-#: gcc.c:3987
++#: gcc.c:3981
+ #, gcc-internal-format
+ msgid "warning: -pipe ignored because -save-temps specified"
+ msgstr "aviso: se descarta -pipe porque se especificó -save-temps"
+
+-#: gcc.c:4276
++#: gcc.c:4270
+ #, gcc-internal-format
+ msgid "warning: '-x %s' after last input file has no effect"
+ msgstr "aviso: '-x %s' después del último fichero de entrada no tiene efecto"
+@@ -22172,62 +22154,62 @@
+ #. Catch the case where a spec string contains something like
+ #. '%{foo:%*}'. i.e. there is no * in the pattern on the left
+ #. hand side of the :.
+-#: gcc.c:5314
++#: gcc.c:5308
+ #, gcc-internal-format
+ msgid "spec failure: '%%*' has not been initialized by pattern match"
+ msgstr "falla de especificación: '%%*' no ha sido inicializado por coincidencia de patrón"
+
+-#: gcc.c:5323
++#: gcc.c:5317
+ #, gcc-internal-format
+ msgid "warning: use of obsolete %%[ operator in specs"
+ msgstr "aviso: uso del operador obsoleto %%[ en especificación"
+
+-#: gcc.c:5404
++#: gcc.c:5398
+ #, gcc-internal-format
+ msgid "spec failure: unrecognized spec option '%c'"
+ msgstr "falla de especificación: opción de especificación '%c' no reconocida"
+
+-#: gcc.c:6305
++#: gcc.c:6304
+ #, gcc-internal-format
+ msgid "spec failure: more than one arg to SYSROOT_SUFFIX_SPEC"
+ msgstr "falla de especificación: más de un argumento para SYSROOT_SUFFIX_SPEC"
+
+-#: gcc.c:6328
++#: gcc.c:6327
+ #, gcc-internal-format
+ msgid "spec failure: more than one arg to SYSROOT_HEADERS_SUFFIX_SPEC"
+ msgstr "falla de especificación: más de un argumento para SYSROOT_HEADERS_SUFFIX_SPEC"
+
+-#: gcc.c:6415
++#: gcc.c:6414
+ #, gcc-internal-format
+ msgid "unrecognized option '-%s'"
+ msgstr "no se reconoce la opción '-%s'"
+
+-#: gcc.c:6615 gcc.c:6678
++#: gcc.c:6614 gcc.c:6677
+ #, gcc-internal-format
+ msgid "%s: %s compiler not installed on this system"
+ msgstr "%s: el compilador %s no está instalado en este sistema"
+
+-#: gcc.c:6778
++#: gcc.c:6777
+ #, gcc-internal-format
+ msgid "%s: linker input file unused because linking not done"
+ msgstr "%s: no se usó el fichero de entrada del enlazador porque no se hizo enlace"
+
+-#: gcc.c:6818
++#: gcc.c:6817
+ #, gcc-internal-format
+ msgid "language %s not recognized"
+ msgstr "no se reconoce el lenguaje %s"
+
+-#: gcc.c:6889
++#: gcc.c:6888
+ #, gcc-internal-format
+ msgid "%s: %s"
+ msgstr "%s: %s"
+
+-#: gcse.c:6660
++#: gcse.c:6644
+ #, gcc-internal-format
+ msgid "%s: %d basic blocks and %d edges/basic block"
+ msgstr "%s: %d bloques básicos y %d bloques borde/básicos"
+
+-#: gcse.c:6673
++#: gcse.c:6657
+ #, gcc-internal-format
+ msgid "%s: %d basic blocks and %d registers"
+ msgstr "%s: %d bloques básicos y %d registros"
+@@ -22280,52 +22262,52 @@
+ msgid "can't write PCH fle: %m"
+ msgstr "no se puede escribir el fichero PCH: %m"
+
+-#: gimplify.c:4139
++#: gimplify.c:4294
+ #, gcc-internal-format
+ msgid "invalid lvalue in asm output %d"
+ msgstr "l-valor inválido en la salida asm %d"
+
+-#: gimplify.c:4251
++#: gimplify.c:4406
+ #, gcc-internal-format
+ msgid "non-memory input %d must stay in memory"
+ msgstr "la entrada que no es de memoria %d debe permanecer en memoria"
+
+-#: gimplify.c:4264
++#: gimplify.c:4419
+ #, gcc-internal-format
+ msgid "memory input %d is not directly addressable"
+ msgstr "la entrada de memoria %d no es directamente direccionable"
+
+-#: gimplify.c:4743
++#: gimplify.c:4898
+ #, gcc-internal-format
+ msgid "%qs not specified in enclosing parallel"
+ msgstr "no se especificó %qs en el paralelo que lo contiene"
+
+-#: gimplify.c:4745
++#: gimplify.c:4900
+ #, gcc-internal-format
+ msgid "%Henclosing parallel"
+ msgstr "%Hparalelo contenedor"
+
+-#: gimplify.c:4799
++#: gimplify.c:4954
+ #, gcc-internal-format
+ msgid "iteration variable %qs should be private"
+ msgstr "la variable de iteración %qs debe ser private"
+
+-#: gimplify.c:4813
++#: gimplify.c:4968
+ #, gcc-internal-format
+ msgid "iteration variable %qs should not be firstprivate"
+ msgstr "la variable de iteración %qs no debe ser firstprivate"
+
+-#: gimplify.c:4816
++#: gimplify.c:4971
+ #, gcc-internal-format
+ msgid "iteration variable %qs should not be reduction"
+ msgstr "la variable de iteración %qs no debe ser reduction"
+
+-#: gimplify.c:4940
++#: gimplify.c:5095
+ #, gcc-internal-format
+ msgid "%s variable %qs is private in outer context"
+ msgstr "la variable %s %qs es private en el contexto externo"
+
+-#: gimplify.c:6108
++#: gimplify.c:6281
+ #, gcc-internal-format
+ msgid "gimplification failed"
+ msgstr "falló la gimplificación"
+@@ -22335,7 +22317,7 @@
+ msgid "%s cannot be used in asm here"
+ msgstr "no se puede usar %s en asm aquí"
+
+-#: graph.c:401 java/jcf-parse.c:1757 java/jcf-parse.c:1897 objc/objc-act.c:500
++#: graph.c:401 java/jcf-parse.c:1759 java/jcf-parse.c:1899 objc/objc-act.c:500
+ #, gcc-internal-format
+ msgid "can't open %s: %m"
+ msgstr "no se puede abrir %s: %m"
+@@ -22345,158 +22327,163 @@
+ msgid "fix_sched_param: unknown param: %s"
+ msgstr "fix_sched_param: parámetro desconocido: %s"
+
+-#: omp-low.c:1288
++#: omp-low.c:1289
+ #, gcc-internal-format
+ msgid "work-sharing region may not be closely nested inside of work-sharing, critical, ordered or master region"
+ msgstr "la región de trabajo compartido puede no estar bien anidada dentro de la región de trabajo compartido, ordenado o maestra"
+
+-#: omp-low.c:1304
++#: omp-low.c:1305
+ #, gcc-internal-format
+ msgid "master region may not be closely nested inside of work-sharing region"
+ msgstr "la región maestra puede no estar bien anidada dentro de la región de trabajo compartido"
+
+-#: omp-low.c:1318
++#: omp-low.c:1319
+ #, gcc-internal-format
+ msgid "ordered region may not be closely nested inside of critical region"
+ msgstr "la región ordenada puede no estar bien anidada dentro de la región crítica"
+
+-#: omp-low.c:1324
++#: omp-low.c:1325
+ #, gcc-internal-format
+ msgid "ordered region must be closely nested inside a loop region with an ordered clause"
+ msgstr "la región ordenada puede estar bien anidada dentro de una región de ciclo con una cláusula ordenada"
+
+-#: omp-low.c:1338
++#: omp-low.c:1339
+ #, gcc-internal-format
+ msgid "critical region may not be nested inside a critical region with the same name"
+ msgstr "la región crítica puede no estar bien anidada dentro de una región crítica con el mismo nombre"
+
+-#: omp-low.c:5050 cp/decl.c:2660 cp/parser.c:7417 cp/parser.c:7437
++#: omp-low.c:5116 cp/decl.c:2667 cp/parser.c:7423 cp/parser.c:7443
+ #, gcc-internal-format
+ msgid "invalid exit from OpenMP structured block"
+ msgstr "salida inválida de un bloque estructurado OpenMP"
+
+-#: omp-low.c:5052
++#: omp-low.c:5118
+ #, gcc-internal-format
+ msgid "invalid entry to OpenMP structured block"
+ msgstr "entrada inválida a un bloque estructurado OpenMP"
+
+-#: opts.c:173
++#: opts.c:165
+ #, gcc-internal-format
+ msgid "argument %qs to %<-femit-struct-debug-detailed%> not recognized"
+ msgstr "no se reconoce el argumento %qs para %<-femit-struct-debug-detailed%>"
+
+-#: opts.c:207
++#: opts.c:199
+ #, gcc-internal-format
+ msgid "argument %qs to %<-femit-struct-debug-detailed%> unknown"
+ msgstr "argumento desconocido %qs para %<-femit-struct-debug-detailed%>"
+
+-#: opts.c:213
++#: opts.c:205
+ #, gcc-internal-format
+ msgid "%<-femit-struct-debug-detailed=dir:...%> must allow at least as much as %<-femit-struct-debug-detailed=ind:...%>"
+ msgstr "%<-femit-struct-debug-detailed=dir:...%> debe permitir por lo menos tanto como %<-femit-struct-debug-detailed=ind:...%>"
+
+ #. Eventually this should become a hard error IMO.
+-#: opts.c:438
++#: opts.c:430
+ #, gcc-internal-format
+ msgid "command line option \"%s\" is valid for %s but not for %s"
+ msgstr "la opción de línea de comando \"%s\" es válida para %s pero no para %s"
+
+-#: opts.c:492
++#: opts.c:484
+ #, gcc-internal-format
+ msgid "command line option %qs is not supported by this configuration"
+ msgstr "la opción de línea de comando %qs no se admite en esta configuración"
+
+-#: opts.c:545
++#: opts.c:537
+ #, gcc-internal-format
+ msgid "missing argument to \"%s\""
+ msgstr "faltan argumentos para \"%s\""
+
+-#: opts.c:555
++#: opts.c:547
+ #, gcc-internal-format
+ msgid "argument to \"%s\" should be a non-negative integer"
+ msgstr "el argumento para \"%s\" debe ser un entero no negativo"
+
+-#: opts.c:728
++#: opts.c:720
+ #, gcc-internal-format
+ msgid "unrecognized command line option \"%s\""
+ msgstr "no se reconoce la opción de línea de comando \"%s\""
+
+-#: opts.c:947
++#: opts.c:939
+ #, gcc-internal-format
+ msgid "-Wuninitialized is not supported without -O"
+ msgstr "-Wuninitialized no se admite sin -O"
+
+-#: opts.c:962
++#: opts.c:951
+ #, gcc-internal-format
++msgid "-funit-at-a-time is required for inlining of functions that are only called once"
++msgstr "se requiere -funit-at-a-time para la inclusión en línea de funciones que sólo se llaman una vez"
++
++#: opts.c:964
++#, gcc-internal-format
+ msgid "-freorder-blocks-and-partition does not work with exceptions"
+ msgstr "-freorder-blocks-and-partition no funciona con excepciones"
+
+-#: opts.c:973
++#: opts.c:975
+ #, gcc-internal-format
+ msgid "-freorder-blocks-and-partition does not support unwind info"
+ msgstr "-freorder-blocks-and-partition no admite información de desenrollo"
+
+-#: opts.c:987
++#: opts.c:989
+ #, 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.c:1263
++#: opts.c:1265
+ #, gcc-internal-format
+ msgid "unrecognized include_flags 0x%x passed to print_specific_help"
+ msgstr "no se reconocen las include_flags 0x%x pasadas a print_specific_help"
+
+-#: opts.c:1593
++#: opts.c:1595
+ #, gcc-internal-format
+ msgid "structure alignment must be a small power of two, not %d"
+ msgstr "la alineación de la estructura debe ser una potencia pequeña de dos, no %d"
+
+-#: opts.c:1656
++#: opts.c:1658
+ #, gcc-internal-format
+ msgid "unrecognized visibility value \"%s\""
+ msgstr "no se reconoce el valor de visibilidad \"%s\""
+
+-#: opts.c:1704
++#: opts.c:1706
+ #, gcc-internal-format
+ msgid "unrecognized register name \"%s\""
+ msgstr "no se reconoce el nombre de registro \"%s\""
+
+-#: opts.c:1728
++#: opts.c:1730
+ #, gcc-internal-format
+ msgid "unknown tls-model \"%s\""
+ msgstr "tls-model \"%s\" desconocido"
+
+-#: opts.c:1803
++#: opts.c:1807
+ #, gcc-internal-format
+ msgid "%s: --param arguments should be of the form NAME=VALUE"
+ msgstr "%s: los argumentos --param deben ser de la forma NOMBRE=VALOR"
+
+-#: opts.c:1808
++#: opts.c:1812
+ #, gcc-internal-format
+ msgid "invalid --param value %qs"
+ msgstr "valor de --param %qs inválido"
+
+-#: opts.c:1931
++#: opts.c:1934
+ #, gcc-internal-format
+ msgid "target system does not support debug output"
+ msgstr "el sistema objetivo no admite salida de depuración"
+
+-#: opts.c:1938
++#: opts.c:1941
+ #, gcc-internal-format
+ msgid "debug format \"%s\" conflicts with prior selection"
+ msgstr "el formato de depuración \"%s\" genera un conflicto con una selección previa"
+
+-#: opts.c:1954
++#: opts.c:1957
+ #, gcc-internal-format
+ msgid "unrecognised debug output level \"%s\""
+ msgstr "no se reconoce el nivel de salida de depuración \"%s\""
+
+-#: opts.c:1956
++#: opts.c:1959
+ #, gcc-internal-format
+ msgid "debug output level %s is too high"
+ msgstr "el nivel de salida de depuración %s es demasiado elevado"
+
+-#: opts.c:2038
++#: opts.c:2041
+ #, gcc-internal-format
+ msgid "-Werror=%s: No option -%s"
+ msgstr "-Werror=%s: No existe la opción -%s"
+@@ -22572,9 +22559,9 @@
+ msgid "can't use '%s' as a %s register"
+ msgstr "no se puede usar '%s' como un registro %s"
+
+-#: regclass.c:890 config/ia64/ia64.c:5138 config/ia64/ia64.c:5145
+-#: config/pa/pa.c:359 config/pa/pa.c:366 config/spu/spu.c:3886
+-#: config/spu/spu.c:3893
++#: regclass.c:890 config/ia64/ia64.c:5139 config/ia64/ia64.c:5146
++#: config/pa/pa.c:362 config/pa/pa.c:369 config/spu/spu.c:3875
++#: config/spu/spu.c:3882
+ #, gcc-internal-format
+ msgid "unknown register name: %s"
+ msgstr "nombre de registro desconocido: %s"
+@@ -22614,22 +22601,22 @@
+ msgid "validate_value_data: [%u] Non-empty reg in chain (%s %u %i)"
+ msgstr "validate_value_data: [%u] Registro no vacío en la cadena (%s %u %i)"
+
+-#: reload.c:1252
++#: reload.c:1256
+ #, gcc-internal-format
+ msgid "cannot reload integer constant operand in %<asm%>"
+ msgstr "no se puede recargar operandos constantes enteros en %<asm%>"
+
+-#: reload.c:1266
++#: reload.c:1270
+ #, gcc-internal-format
+ msgid "impossible register constraint in %<asm%>"
+ msgstr "es imposible la restricción de registros en %<asm%>"
+
+-#: reload.c:3564
++#: reload.c:3574
+ #, gcc-internal-format
+ msgid "%<&%> constraint used with no register class"
+ msgstr "se usó la restricción %<&%> sin una clase de registro"
+
+-#: reload.c:3735 reload.c:3975
++#: reload.c:3745 reload.c:3991
+ #, gcc-internal-format
+ msgid "inconsistent operand constraints in an %<asm%>"
+ msgstr "restricciones de operandos inconsistentes en un %<asm%>"
+@@ -22854,49 +22841,49 @@
+ msgid "size of %q+D is larger than %wd bytes"
+ msgstr "el tamaño de %q+D es mayor que %wd bytes"
+
+-#: stor-layout.c:899
++#: stor-layout.c:888
+ #, gcc-internal-format
+ msgid "packed attribute causes inefficient alignment for %q+D"
+ msgstr "el atributo packed causa una alineación ineficiente para %q+D"
+
+-#: stor-layout.c:902
++#: stor-layout.c:891
+ #, gcc-internal-format
+ msgid "packed attribute is unnecessary for %q+D"
+ msgstr "el atributo packed es innecesario para %q+D"
+
+ #. No, we need to skip space before this field.
+ #. Bump the cumulative size to multiple of field alignment.
+-#: stor-layout.c:919
++#: stor-layout.c:908
+ #, gcc-internal-format
+ msgid "padding struct to align %q+D"
+ msgstr "estructura de relleno para alinear %q+D"
+
+-#: stor-layout.c:1270
++#: stor-layout.c:1259
+ #, gcc-internal-format
+ msgid "padding struct size to alignment boundary"
+ msgstr "tamaño de la estructura de relleno para los límites de alineación"
+
+-#: stor-layout.c:1300
++#: stor-layout.c:1289
+ #, gcc-internal-format
+ msgid "packed attribute causes inefficient alignment for %qs"
+ msgstr "el atributo packed causa una alineación ineficiente para %qs"
+
+-#: stor-layout.c:1304
++#: stor-layout.c:1293
+ #, gcc-internal-format
+ msgid "packed attribute is unnecessary for %qs"
+ msgstr "el atributo packed es innecesario para %qs"
+
+-#: stor-layout.c:1310
++#: stor-layout.c:1299
+ #, gcc-internal-format
+ msgid "packed attribute causes inefficient alignment"
+ msgstr "el atributo packed causa una alineación ineficiente"
+
+-#: stor-layout.c:1312
++#: stor-layout.c:1301
+ #, gcc-internal-format
+ msgid "packed attribute is unnecessary"
+ msgstr "no es necesario el atributo packed"
+
+-#: stor-layout.c:1842
++#: stor-layout.c:1831
+ #, gcc-internal-format
+ msgid "alignment of array elements is greater than element size"
+ msgstr "la alineación de los elementos de la matriz es mayor que el tamaño de los elementos"
+@@ -22981,643 +22968,653 @@
+ msgid "unrecognized gcc debugging option: %c"
+ msgstr "no se reconoce la opción de depuración de gcc: %c"
+
+-#: toplev.c:1411
++#: toplev.c:1413
+ #, gcc-internal-format
+ msgid "can%'t open %s for writing: %m"
+ msgstr "no se puede abrir %s para escritura: %m"
+
+-#: toplev.c:1432
++#: toplev.c:1434
+ #, gcc-internal-format
+ msgid "-frecord-gcc-switches is not supported by the current target"
+ msgstr "no se admite -frecord-gcc-switches para este objetivo"
+
+-#: toplev.c:1745
++#: toplev.c:1747
+ #, gcc-internal-format
+ msgid "this target does not support %qs"
+ msgstr "este objetivo no admite %qs"
+
+-#: toplev.c:1794
++#: toplev.c:1796
+ #, gcc-internal-format
+ msgid "instruction scheduling not supported on this target machine"
+ msgstr "no se admite la calendarización de instrucciones en este objetivo"
+
+-#: toplev.c:1798
++#: toplev.c:1800
+ #, gcc-internal-format
+ msgid "this target machine does not have delayed branches"
+ msgstr "esta máquina objetivo no tiene ramificaciones retardadas"
+
+-#: toplev.c:1812
++#: toplev.c:1814
+ #, gcc-internal-format
+ msgid "-f%sleading-underscore not supported on this target machine"
+ msgstr "no se admite -f%sleading-underscore en este objetivo"
+
+-#: toplev.c:1885
++#: toplev.c:1887
+ #, gcc-internal-format
+ msgid "target system does not support the \"%s\" debug format"
+ msgstr "el sistema objetivo no admite el formato de depuración \"%s\""
+
+-#: toplev.c:1898
++#: toplev.c:1900
+ #, gcc-internal-format
+ msgid "variable tracking requested, but useless unless producing debug info"
+ msgstr "se solicitó seguimiento de variables, pero es inútil a menos que se produzca información de depuración"
+
+-#: toplev.c:1901
++#: toplev.c:1903
+ #, gcc-internal-format
+ 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"
+
+-#: toplev.c:1935
++#: toplev.c:1937
+ #, gcc-internal-format
+ msgid "can%'t open %s: %m"
+ msgstr "no se puede abrir %s: %m"
+
+-#: toplev.c:1942
++#: toplev.c:1944
+ #, gcc-internal-format
+ msgid "-ffunction-sections not supported for this target"
+ msgstr "no se admite -ffunction-sections para este objetivo"
+
+-#: toplev.c:1947
++#: toplev.c:1949
+ #, gcc-internal-format
+ msgid "-fdata-sections not supported for this target"
+ msgstr "no se admite -fdata-sections para este objetivo"
+
+-#: toplev.c:1954
++#: toplev.c:1956
+ #, gcc-internal-format
+ msgid "-ffunction-sections disabled; it makes profiling impossible"
+ msgstr "-ffunction-sections desactivado; hace imposible el análisis de perfil"
+
+-#: toplev.c:1961
++#: toplev.c:1963
+ #, gcc-internal-format
+ msgid "-fprefetch-loop-arrays not supported for this target"
+ msgstr "no se admite -fprefetch-loop-arrays para este objetivo"
+
+-#: toplev.c:1967
++#: toplev.c:1969
+ #, gcc-internal-format
+ msgid "-fprefetch-loop-arrays not supported for this target (try -march switches)"
+ msgstr "no se admite -fprefetch-loop-arrays para este objetivo (intente los interruptores -march)"
+
+-#: toplev.c:1976
++#: toplev.c:1978
+ #, gcc-internal-format
+ msgid "-fprefetch-loop-arrays is not supported with -Os"
+ msgstr "-fprefetch-loop-arrays no se admite con -Os"
+
+-#: toplev.c:1983
++#: toplev.c:1985
+ #, gcc-internal-format
+ msgid "-ffunction-sections may affect debugging on some targets"
+ msgstr "-ffunction-sections podría afectar la depuración en algunos objetivos"
+
+-#: toplev.c:1999
++#: toplev.c:1996
+ #, gcc-internal-format
++msgid "-fassociative-math disabled; other options take precedence"
++msgstr "-fassociative-math desactivado; otras opciones toman precedencia"
++
++#: toplev.c:2008
++#, gcc-internal-format
+ msgid "-fstack-protector not supported for this target"
+ msgstr "no se admite -fstack-protector para este objetivo"
+
+-#: toplev.c:2012
++#: toplev.c:2021
+ #, gcc-internal-format
+-msgid "unwind tables currently requires a frame pointer for correctness"
++msgid "unwind tables currently require a frame pointer for correctness"
+ msgstr "las tablas de desenredo actualmente requieren un puntero a marco para ser correctas"
+
+-#: toplev.c:2198
++#: toplev.c:2207
+ #, gcc-internal-format
+ msgid "error writing to %s: %m"
+ msgstr "error al escribir a %s: %m"
+
+-#: toplev.c:2200 java/jcf-parse.c:1776
++#: toplev.c:2209 java/jcf-parse.c:1778
+ #, gcc-internal-format
+ msgid "error closing %s: %m"
+ msgstr "error al cerrar %s: %m"
+
+-#: tree-cfg.c:1432 tree-cfg.c:2068 tree-cfg.c:2071
++#: tree-cfg.c:1451 tree-cfg.c:2087 tree-cfg.c:2090
+ #, gcc-internal-format
+ msgid "%Hwill never be executed"
+ msgstr "%Hnunca se ejecutará"
+
+-#: tree-cfg.c:3134
++#: tree-cfg.c:3153
+ #, gcc-internal-format
+ msgid "SSA name in freelist but still referenced"
+ msgstr "hay un nombre SSA en la lista libre, pero aún está referenciado"
+
+-#: tree-cfg.c:3143
++#: tree-cfg.c:3162
+ #, gcc-internal-format
+ msgid "ASSERT_EXPR with an always-false condition"
+ msgstr "ASSERT_EXPR con una condición que es siempre falsa"
+
+-#: tree-cfg.c:3156
++#: tree-cfg.c:3175
+ #, gcc-internal-format
+ msgid "GIMPLE register modified with BIT_FIELD_REF"
+ msgstr "registro GIMPLE modificado con BIT_FIELD_REF"
+
+-#: tree-cfg.c:3191
++#: tree-cfg.c:3210
+ #, gcc-internal-format
+ msgid "invariant not recomputed when ADDR_EXPR changed"
+ msgstr "no se recomputa el invariante cuando cambia ADDR_EXPR"
+
+-#: tree-cfg.c:3197
++#: tree-cfg.c:3216
+ #, gcc-internal-format
+ msgid "constant not recomputed when ADDR_EXPR changed"
+ msgstr "no se recomputa la constante cuando cambia ADDR_EXPR"
+
+-#: tree-cfg.c:3202
++#: tree-cfg.c:3221
+ #, gcc-internal-format
+ msgid "side effects not recomputed when ADDR_EXPR changed"
+ msgstr "no se recomputan los efectos laterales cuando cambia ADDR_EXPR"
+
+-#: tree-cfg.c:3218
++#: tree-cfg.c:3237
+ #, gcc-internal-format
+ msgid "address taken, but ADDRESSABLE bit not set"
+ msgstr "se tomó la dirección, pero el bit ADDRESSABLE no está activado"
+
+-#: tree-cfg.c:3228
++#: tree-cfg.c:3252
+ #, gcc-internal-format
+ msgid "non-integral used in condition"
+ msgstr "se usó un no integral en la condición"
+
+-#: tree-cfg.c:3233
++#: tree-cfg.c:3257
+ #, gcc-internal-format
+ msgid "invalid conditional operand"
+ msgstr "operando condicional inválido"
+
+-#: tree-cfg.c:3285
++#: tree-cfg.c:3309
+ #, gcc-internal-format
+ msgid "invalid reference prefix"
+ msgstr "prefijo de referencia inválido"
+
+-#: tree-cfg.c:3296
++#: tree-cfg.c:3320
+ #, gcc-internal-format
+ msgid "invalid operand to plus/minus, type is a pointer"
+ msgstr "operando inválido para más/menos, el tipo es un puntero"
+
+-#: tree-cfg.c:3307
++#: tree-cfg.c:3331
+ #, gcc-internal-format
+ msgid "invalid operand to pointer plus, first operand is not a pointer"
+ msgstr "operando inválido para puntero más, el primer operando no es un puntero"
+
+-#: tree-cfg.c:3315
++#: tree-cfg.c:3339
+ #, gcc-internal-format
+ msgid "invalid operand to pointer plus, second operand is not an integer with type of sizetype."
+ msgstr "operando inválido para puntero más, el segundo operando no es un entero con tipo sizetype."
+
+-#: tree-cfg.c:3382 tree-cfg.c:3798
++#: tree-cfg.c:3406 tree-cfg.c:3822
+ #, gcc-internal-format
+ msgid "invalid operand in unary expression"
+ msgstr "operando inválido en la expresión unaria"
+
+-#: tree-cfg.c:3392
++#: tree-cfg.c:3416
+ #, gcc-internal-format
+ msgid "type mismatch in unary expression"
+ msgstr "los tipos de datos no coinciden en la expresión unaria"
+
+-#: tree-cfg.c:3413
++#: tree-cfg.c:3437
+ #, gcc-internal-format
+ msgid "invalid operands in binary expression"
+ msgstr "operandos inválidos en la expresión binaria"
+
+-#: tree-cfg.c:3424
++#: tree-cfg.c:3448
+ #, gcc-internal-format
+ msgid "type mismatch in binary expression"
+ msgstr "los tipos de datos no coinciden en la expresión binaria"
+
+-#: tree-cfg.c:3449
++#: tree-cfg.c:3473
+ #, gcc-internal-format
+ msgid "invalid expression for min lvalue"
+ msgstr "expresión inválida para el l-valor min"
+
+-#: tree-cfg.c:3456
++#: tree-cfg.c:3480
+ #, gcc-internal-format
+ msgid "invalid operand in indirect reference"
+ msgstr "operando inválido en la referencia indirecta"
+
+-#: tree-cfg.c:3463
++#: tree-cfg.c:3487
+ #, gcc-internal-format
+ msgid "type mismatch in indirect reference"
+ msgstr "los tipos de datos no coinciden en la referencia indirecta"
+
+-#: tree-cfg.c:3491
++#: tree-cfg.c:3515
+ #, gcc-internal-format
+ msgid "invalid operands to array reference"
+ msgstr "operandos inválidos en la referencia de matriz"
+
+-#: tree-cfg.c:3502
++#: tree-cfg.c:3526
+ #, gcc-internal-format
+ msgid "type mismatch in array reference"
+ msgstr "los tipos de datos no coinciden en la referencia de matriz"
+
+-#: tree-cfg.c:3511
++#: tree-cfg.c:3535
+ #, gcc-internal-format
+ msgid "type mismatch in array range reference"
+ msgstr "los tipos de datos no coinciden en la referencia de rango matriz"
+
+-#: tree-cfg.c:3522
++#: tree-cfg.c:3546
+ #, gcc-internal-format
+ msgid "type mismatch in real/imagpart reference"
+ msgstr "los tipos de datos no coinciden en la referencia real/parte imaginaria"
+
+-#: tree-cfg.c:3532
++#: tree-cfg.c:3556
+ #, gcc-internal-format
+ msgid "type mismatch in component reference"
+ msgstr "los tipos de datos no coinciden en la referencia a componente"
+
+-#: tree-cfg.c:3586
++#: tree-cfg.c:3610
+ #, gcc-internal-format
+ msgid "invalid operand in conversion"
+ msgstr "operando inválido en la conversión"
+
+-#: tree-cfg.c:3614
++#: tree-cfg.c:3638
+ #, gcc-internal-format
+ msgid "invalid types in nop conversion"
+ msgstr "tipos inválidos en la conversión nop"
+
+-#: tree-cfg.c:3628
++#: tree-cfg.c:3652
+ #, gcc-internal-format
+ msgid "invalid operand in int to float conversion"
+ msgstr "operando inválido en la conversión de int a float"
+
+-#: tree-cfg.c:3634
++#: tree-cfg.c:3658
+ #, gcc-internal-format
+ msgid "invalid types in conversion to floating point"
+ msgstr "tipos inválidos en la conversión a coma flotante"
+
+-#: tree-cfg.c:3647
++#: tree-cfg.c:3671
+ #, gcc-internal-format
+ msgid "invalid operand in float to int conversion"
+ msgstr "operando inválido en la conversión de float a int"
+
+-#: tree-cfg.c:3653
++#: tree-cfg.c:3677
+ #, gcc-internal-format
+ msgid "invalid types in conversion to integer"
+ msgstr "tipos inválidos en la conversión a entero"
+
+-#: tree-cfg.c:3667
++#: tree-cfg.c:3691
+ #, gcc-internal-format
+ msgid "invalid operands in complex expression"
+ msgstr "operandos inválidos en la expresión compleja"
+
+-#: tree-cfg.c:3680
++#: tree-cfg.c:3704
+ #, gcc-internal-format
+ msgid "type mismatch in complex expression"
+ msgstr "los tipos de datos no coinciden en la expresión compleja"
+
+-#: tree-cfg.c:3694
++#: tree-cfg.c:3718
+ #, gcc-internal-format
+ msgid "constructor not allowed for non-vector types"
+ msgstr "no se permite un constructor para tipos que no sean vectores"
+
+-#: tree-cfg.c:3711
++#: tree-cfg.c:3735
+ #, gcc-internal-format
+ msgid "invalid operands in shift expression"
+ msgstr "operandos inválidos en la expresión shift"
+
+-#: tree-cfg.c:3717
++#: tree-cfg.c:3741
+ #, gcc-internal-format
+ msgid "type mismatch in shift expression"
+ msgstr "los tipos de datos no coinciden en la expresión shift"
+
+-#: tree-cfg.c:3735
++#: tree-cfg.c:3759
+ #, gcc-internal-format
+ msgid "invalid (pointer) operands to plus/minus"
+ msgstr "operandos (punteros) inválidos para más/menos"
+
+-#: tree-cfg.c:3748
++#: tree-cfg.c:3772
+ #, gcc-internal-format
+ msgid "invalid operands in pointer plus expression"
+ msgstr "operandos inválidos en la expresión puntero más"
+
+-#: tree-cfg.c:3755
++#: tree-cfg.c:3779
+ #, gcc-internal-format
+ msgid "type mismatch in pointer plus expression"
+ msgstr "los tipos de datos no coinciden en la expresión puntero más"
+
+-#: tree-cfg.c:3774
++#: tree-cfg.c:3798
+ #, gcc-internal-format
+ msgid "invalid operands in conditional expression"
+ msgstr "operandos inválidos en la expresión condicional"
+
+-#: tree-cfg.c:3807
++#: tree-cfg.c:3831
+ #, gcc-internal-format
+ msgid "type mismatch in address expression"
+ msgstr "no coincide el tipo en la expresión de dirección"
+
+-#: tree-cfg.c:3827
++#: tree-cfg.c:3851
+ #, gcc-internal-format
+ msgid "invalid operands in truth expression"
+ msgstr "operandos inválidos en la expresión verdadera"
+
+-#: tree-cfg.c:3836
++#: tree-cfg.c:3860
+ #, gcc-internal-format
+ msgid "type mismatch in binary truth expression"
+ msgstr "los tipos de datos no coinciden en la expresión verdadera binaria"
+
+-#: tree-cfg.c:3852
++#: tree-cfg.c:3876
+ #, gcc-internal-format
+ msgid "invalid operand in unary not"
+ msgstr "operando inválido en el not unario"
+
+-#: tree-cfg.c:3861
++#: tree-cfg.c:3885
+ #, gcc-internal-format
+ msgid "type mismatch in not expression"
+ msgstr "los tipos de datos no coinciden en la expresión not"
+
+-#: tree-cfg.c:3900
++#: tree-cfg.c:3924
+ #, gcc-internal-format
+ msgid "invalid operands in comparison expression"
+ msgstr "operandos inválidos en la expresión de comparación"
+
+-#: tree-cfg.c:3917
++#: tree-cfg.c:3941
+ #, gcc-internal-format
+ msgid "type mismatch in comparison expression"
+ msgstr "los tipos de datos no coinciden en la expresión de comparación"
+
+-#: tree-cfg.c:3947
++#: tree-cfg.c:3971
+ #, gcc-internal-format
+ msgid "non-trivial conversion at assignment"
+ msgstr "conversión que no es trivial en la asignación"
+
+-#: tree-cfg.c:3988 tree-cfg.c:4136
++#: tree-cfg.c:4012 tree-cfg.c:4160
+ #, gcc-internal-format
+ msgid "is not a valid GIMPLE statement"
+ msgstr "no es una declaración GIMPLE válida"
+
+-#: tree-cfg.c:4015
++#: tree-cfg.c:4039
+ #, gcc-internal-format
+ msgid "invalid operand to switch statement"
+ msgstr "operando inválido para la declaración switch"
+
+-#: tree-cfg.c:4026
++#: tree-cfg.c:4050
+ #, gcc-internal-format
+ msgid "type error in return expression"
+ msgstr "error de tipo en la expresión return"
+
+-#: tree-cfg.c:4104
++#: tree-cfg.c:4128
+ #, gcc-internal-format
+ msgid "verify_gimple failed"
+ msgstr "falló verify_gimple"
+
+-#: tree-cfg.c:4156
++#: tree-cfg.c:4180
+ #, gcc-internal-format
+ msgid "statement marked for throw, but doesn%'t"
+ msgstr "se marcó la sentencia para throw, pero no lo hace"
+
+-#: tree-cfg.c:4161
++#: tree-cfg.c:4185
+ #, gcc-internal-format
+ msgid "statement marked for throw in middle of block"
+ msgstr "se marcó la sentencia para throw en medio del bloque"
+
+-#: tree-cfg.c:4232
++#: tree-cfg.c:4256
+ #, gcc-internal-format
+ msgid "unexpected non-tuple"
+ msgstr "una no tupla inesperada"
+
+-#: tree-cfg.c:4261
++#: tree-cfg.c:4285
+ #, gcc-internal-format
+ msgid "Dead STMT in EH table"
+ msgstr "STMT muerto en la tabla EH"
+
+-#: tree-cfg.c:4295
++#: tree-cfg.c:4319
+ #, gcc-internal-format
+ msgid "bb_for_stmt (phi) is set to a wrong basic block"
+ msgstr "se estableción bb_for_stmt (phi) a un bloque básico erróneo"
+
+-#: tree-cfg.c:4306
++#: tree-cfg.c:4330
+ #, gcc-internal-format
+ msgid "missing PHI def"
+ msgstr "falta la definición PHI"
+
+-#: tree-cfg.c:4317
++#: tree-cfg.c:4341
+ #, gcc-internal-format
+ msgid "PHI def is not a GIMPLE value"
+ msgstr "La definición de PHI no es un valor GIMPLE"
+
+-#: tree-cfg.c:4333 tree-cfg.c:4359
++#: tree-cfg.c:4357 tree-cfg.c:4383
+ #, gcc-internal-format
+ msgid "incorrect sharing of tree nodes"
+ msgstr "compartición incorrecta de nodos de árbol"
+
+-#: tree-cfg.c:4350
++#: tree-cfg.c:4374
+ #, gcc-internal-format
+ msgid "bb_for_stmt (stmt) is set to a wrong basic block"
+ msgstr "se estableción bb_for_stmt (stmt) a un bloque básico erróneo"
+
+-#: tree-cfg.c:4373
++#: tree-cfg.c:4397
+ #, gcc-internal-format
+ msgid "verify_stmts failed"
+ msgstr "falló verify_stmts"
+
+-#: tree-cfg.c:4396
++#: tree-cfg.c:4420
+ #, gcc-internal-format
+ msgid "ENTRY_BLOCK has IL associated with it"
+ msgstr "ENTRY_BLOCK tiene IL asociado con él"
+
+-#: tree-cfg.c:4402
++#: tree-cfg.c:4426
+ #, gcc-internal-format
+ msgid "EXIT_BLOCK has IL associated with it"
+ msgstr "EXIT_BLOCK tiene IL asociado con él"
+
+-#: tree-cfg.c:4409
++#: tree-cfg.c:4433
+ #, gcc-internal-format
+ msgid "fallthru to exit from bb %d"
+ msgstr "caida para salir del bb %d"
+
+-#: tree-cfg.c:4431
++#: tree-cfg.c:4455
+ #, gcc-internal-format
+ msgid "nonlocal label "
+ msgstr "etiqueta no local "
+
+-#: tree-cfg.c:4440 tree-cfg.c:4450 tree-cfg.c:4475
++#: tree-cfg.c:4464 tree-cfg.c:4474 tree-cfg.c:4499
+ #, gcc-internal-format
+ msgid "label "
+ msgstr "etiqueta "
+
+-#: tree-cfg.c:4465
++#: tree-cfg.c:4489
+ #, gcc-internal-format
+ msgid "control flow in the middle of basic block %d"
+ msgstr "control de flujo enmedio del bloque básico %d"
+
+-#: tree-cfg.c:4495
++#: tree-cfg.c:4519
+ #, gcc-internal-format
+ msgid "fallthru edge after a control statement in bb %d"
+ msgstr "borde de caída después de una sentencia de control en bb %d"
+
+-#: tree-cfg.c:4508
++#: tree-cfg.c:4532
+ #, gcc-internal-format
+ msgid "true/false edge after a non-COND_EXPR in bb %d"
+ msgstr "borde verdadero/falso después de una expresión que no es COND_EXPR en bb %d"
+
+-#: tree-cfg.c:4524
++#: tree-cfg.c:4548
+ #, gcc-internal-format
+ msgid "COND_EXPR with code in branches at the end of bb %d"
+ msgstr "COND_EXPR con código en ramificaciones al final del bb %d"
+
+-#: tree-cfg.c:4538 tree-cfg.c:4560 tree-cfg.c:4573 tree-cfg.c:4644
++#: tree-cfg.c:4562 tree-cfg.c:4584 tree-cfg.c:4597 tree-cfg.c:4668
+ #, gcc-internal-format
+ msgid "wrong outgoing edge flags at end of bb %d"
+ msgstr "banderas de borde de salida erróneas al final del bb %d"
+
+-#: tree-cfg.c:4548
++#: tree-cfg.c:4572
+ #, gcc-internal-format
+ msgid "explicit goto at end of bb %d"
+ msgstr "goto explícito al final del bb %d"
+
+-#: tree-cfg.c:4578
++#: tree-cfg.c:4602
+ #, gcc-internal-format
+ msgid "return edge does not point to exit in bb %d"
+ msgstr "el borde de devolución no apunta a exit en el bb %d"
+
+-#: tree-cfg.c:4611
++#: tree-cfg.c:4635
+ #, gcc-internal-format
+ msgid "found default case not at end of case vector"
+ msgstr "se encontró un case por defecto que no está al final del vector case"
+
+-#: tree-cfg.c:4617
++#: tree-cfg.c:4641
+ #, gcc-internal-format
+ msgid "case labels not sorted: "
+ msgstr "las etiquetas case no están ordenadas:"
+
+-#: tree-cfg.c:4628
++#: tree-cfg.c:4652
+ #, gcc-internal-format
+ msgid "no default case found at end of case vector"
+ msgstr "no se encontró un case por defecto al final del vector case"
+
+-#: tree-cfg.c:4636
++#: tree-cfg.c:4660
+ #, gcc-internal-format
+ msgid "extra outgoing edge %d->%d"
+ msgstr "borde de salida extra %d->%d"
+
+-#: tree-cfg.c:4658
++#: tree-cfg.c:4682
+ #, gcc-internal-format
+ msgid "missing edge %i->%i"
+ msgstr "falta el borde %i->%i"
+
+-#: tree-cfg.c:6941 tree-cfg.c:6945
++#: tree-cfg.c:7025 tree-cfg.c:7029
+ #, gcc-internal-format
+ msgid "%H%<noreturn%> function does return"
+ msgstr "%Hla función %<noreturn%> devuelve"
+
+-#: tree-cfg.c:6967 tree-cfg.c:6972
++#: tree-cfg.c:7051 tree-cfg.c:7056
+ #, gcc-internal-format
+ msgid "%Hcontrol reaches end of non-void function"
+ msgstr "%Hel control alcanza el final de una función que no es void"
+
+-#: tree-cfg.c:7033
++#: tree-cfg.c:7117
+ #, gcc-internal-format
+ msgid "%Jfunction might be possible candidate for attribute %<noreturn%>"
+ msgstr "%Jla función puede ser un posible candidato para el atributo %<noreturn%>"
+
+-#: tree-dump.c:933
++#: tree-dump.c:932
+ #, gcc-internal-format
+ msgid "could not open dump file %qs: %s"
+ msgstr "no se puede abrir el fichero de volcado %qs: %s"
+
+-#: tree-dump.c:1068
++#: tree-dump.c:1067
+ #, gcc-internal-format
+ msgid "ignoring unknown option %q.*s in %<-fdump-%s%>"
+ msgstr "se descarta la opción desconocida %q.*s en %<-fdump-%s%>"
+
+-#: tree-eh.c:1788
++#: tree-eh.c:1805
+ #, gcc-internal-format
+ msgid "EH edge %i->%i is missing"
+ msgstr "falta el borde EH %i->%i"
+
+-#: tree-eh.c:1793
++#: tree-eh.c:1810
+ #, gcc-internal-format
+ msgid "EH edge %i->%i miss EH flag"
+ msgstr "falta la bandera EH para el borde EH %i->%i"
+
+ #. ??? might not be mistake.
+-#: tree-eh.c:1799
++#: tree-eh.c:1816
+ #, gcc-internal-format
+ msgid "EH edge %i->%i has duplicated regions"
+ msgstr "el borde EH %i->%i tiene regiones duplicadas"
+
+-#: tree-eh.c:1833
++#: tree-eh.c:1850
+ #, gcc-internal-format
+ msgid "BB %i can not throw but has EH edges"
+ msgstr "el BB %i no puede hacer throw pero tiene bordes EH"
+
+-#: tree-eh.c:1840
++#: tree-eh.c:1857
+ #, gcc-internal-format
+ msgid "BB %i last statement has incorrectly set region"
+ msgstr "la última sentencia del BB %i tiene establecida incorrectamente la región"
+
+-#: tree-eh.c:1851
++#: tree-eh.c:1868
+ #, gcc-internal-format
+ msgid "unnecessary EH edge %i->%i"
+ msgstr "borde EH %i->%i innecesario"
+
+-#: tree-inline.c:1830
++#: tree-inline.c:1880
+ #, gcc-internal-format
+ msgid "function %q+F can never be inlined because it uses alloca (override using the always_inline attribute)"
+ msgstr "la función %q+F nunca se puede incluir en línea porque usa alloca (forzar usando el atributo always_inline)"
+
+-#: tree-inline.c:1842
++#: tree-inline.c:1892
+ #, gcc-internal-format
+ msgid "function %q+F can never be inlined because it uses setjmp"
+ msgstr "la función %q+F nunca se puede incluir en línea porque usa setjmp"
+
+-#: tree-inline.c:1856
++#: tree-inline.c:1906
+ #, gcc-internal-format
+ msgid "function %q+F can never be inlined because it uses variable argument lists"
+ msgstr "la función %q+F nunca se puede incluir en línea porque usa listas variables de argumentos"
+
+-#: tree-inline.c:1867
++#: tree-inline.c:1917
+ #, gcc-internal-format
+ msgid "function %q+F can never be inlined because it uses setjmp-longjmp exception handling"
+ msgstr "la función %q+F nunca se puede incluir en línea porque usa manejo de excepciones setjmp-longjmp"
+
+-#: tree-inline.c:1874
++#: tree-inline.c:1924
+ #, gcc-internal-format
+ msgid "function %q+F can never be inlined because it uses non-local goto"
+ msgstr "la función %q+F nunca se puede incluir en línea porque contiene un goto que no es local"
+
+-#: tree-inline.c:1885
++#: tree-inline.c:1935
+ #, gcc-internal-format
+ msgid "function %q+F can never be inlined because it uses __builtin_return or __builtin_apply_args"
+ msgstr "la función %q+F nunca se puede incluir en línea porque usa __builtin_return o __builtin_apply_args"
+
+-#: tree-inline.c:1904
++#: tree-inline.c:1954
+ #, gcc-internal-format
+ msgid "function %q+F can never be inlined because it contains a computed goto"
+ msgstr "la función %q+F nunca se puede incluir en línea porque contiene un goto calculado"
+
+-#: tree-inline.c:1918
++#: tree-inline.c:1968
+ #, gcc-internal-format
+ msgid "function %q+F can never be inlined because it receives a non-local goto"
+ msgstr "la función %q+F nunca se puede incluir en línea porque recibe un goto que no es local"
+
+-#: tree-inline.c:1943
++#: tree-inline.c:1993
+ #, gcc-internal-format
+ msgid "function %q+F can never be inlined because it uses variable sized variables"
+ msgstr "la función %q+F nunca se puede incluir en línea porque usa variables de tamaño variable"
+
+-#: tree-inline.c:2005
++#: tree-inline.c:2015
+ #, gcc-internal-format
++msgid "function %q+F can never be inlined because it saves address of local label in a static variable"
++msgstr "la función %q+F nunca se puede incluir en línea porque guarda direcciones de etiqueta local en una variable estática"
++
++#: tree-inline.c:2091
++#, gcc-internal-format
+ msgid "function %q+F can never be inlined because it is suppressed using -fno-inline"
+ msgstr "la función %q+F nunca puede ser incluída en línea porque se suprime al usar -fno-inline"
+
+-#: tree-inline.c:2019
++#: tree-inline.c:2105
+ #, gcc-internal-format
+ msgid "function %q+F can never be inlined because it uses attributes conflicting with inlining"
+ msgstr "la función %q+F nunca puede ser incluída en línea porque utiliza atributos que generan conflictos con la inclusión en línea"
+
+-#: tree-inline.c:2588 tree-inline.c:2598
++#: tree-inline.c:2674 tree-inline.c:2684
+ #, gcc-internal-format
+ msgid "inlining failed in call to %q+F: %s"
+ msgstr "falló la inclusión en línea en la llamada a %q+F: %s"
+
+-#: tree-inline.c:2589 tree-inline.c:2600
++#: tree-inline.c:2675 tree-inline.c:2686
+ #, gcc-internal-format
+ msgid "called from here"
+ msgstr "llamado desde aquí"
+
+-#: tree-mudflap.c:860
++#: tree-mudflap.c:864
+ #, gcc-internal-format
+ msgid "mudflap checking not yet implemented for ARRAY_RANGE_REF"
+ msgstr "no se ha implementado la revisión mudflap para ARRAY_RANGE_REF"
+
+-#: tree-mudflap.c:1044
++#: tree-mudflap.c:1050
+ #, gcc-internal-format
+ msgid "mudflap cannot track %qs in stub function"
+ msgstr "mudflap no puede seguir a %qs en la función stub"
+
+-#: tree-mudflap.c:1272
++#: tree-mudflap.c:1279
+ #, gcc-internal-format
+ msgid "mudflap cannot track unknown size extern %qs"
+ msgstr "mudflap no puede seguir al extern %qs de tamaño desconocido"
+@@ -23637,33 +23634,33 @@
+ msgid "size of return value of %q+D is larger than %wd bytes"
+ msgstr "el tamaño del valor de devolución de %q+D es más grande que %wd bytes"
+
+-#: tree-outof-ssa.c:637 tree-outof-ssa.c:688 tree-ssa-coalesce.c:936
+-#: tree-ssa-coalesce.c:951 tree-ssa-coalesce.c:1163 tree-ssa-live.c:1043
++#: tree-outof-ssa.c:638 tree-outof-ssa.c:689 tree-ssa-coalesce.c:936
++#: tree-ssa-coalesce.c:951 tree-ssa-coalesce.c:1163 tree-ssa-live.c:1053
+ #, gcc-internal-format
+ msgid "SSA corruption"
+ msgstr "corrupción de SSA"
+
+-#: tree-outof-ssa.c:1105
++#: tree-outof-ssa.c:1263
+ #, gcc-internal-format
+ msgid " Pending stmts not issued on PRED edge (%d, %d)\n"
+ msgstr " No se ejecutaron los stmts pendientes en el borde PRED (%d, %d)\n"
+
+-#: tree-outof-ssa.c:1111
++#: tree-outof-ssa.c:1269
+ #, gcc-internal-format
+ msgid " Pending stmts not issued on SUCC edge (%d, %d)\n"
+ msgstr " No se ejecutaron los stmts pendientes en el borde SUCC (%d, %d)\n"
+
+-#: tree-outof-ssa.c:1118
++#: tree-outof-ssa.c:1276
+ #, gcc-internal-format
+ msgid " Pending stmts not issued on ENTRY edge (%d, %d)\n"
+ msgstr " No se ejecutaron los stmts pendientes en el borde ENTRY (%d, %d)\n"
+
+-#: tree-outof-ssa.c:1124
++#: tree-outof-ssa.c:1282
+ #, gcc-internal-format
+ msgid " Pending stmts not issued on EXIT edge (%d, %d)\n"
+ msgstr " No se ejecutaron los stmts pendientes en el borde EXIT (%d, %d)\n"
+
+-#: tree-profile.c:351
++#: tree-profile.c:356
+ #, gcc-internal-format
+ msgid "unimplemented functionality"
+ msgstr "funcionalidad sin implementar"
+@@ -23853,154 +23850,159 @@
+ msgid "verify_ssa failed"
+ msgstr "falló verify_ssa"
+
+-#: tree-ssa.c:1284
++#: tree-ssa.c:1293
+ #, gcc-internal-format
+ msgid "%J%qD was declared here"
+ msgstr "%J%qD se declaró aquí"
+
+ #. We only do data flow with SSA_NAMEs, so that's all we
+ #. can warn about.
+-#: tree-ssa.c:1302
++#: tree-ssa.c:1311
+ #, gcc-internal-format
+ msgid "%H%qD is used uninitialized in this function"
+ msgstr "%Hse utiliza %qD sin inicializar en esta función"
+
+-#: tree-ssa.c:1340
++#: tree-ssa.c:1349
+ #, gcc-internal-format
+ msgid "%H%qD may be used uninitialized in this function"
+ msgstr "%Hpuede ser que se utilice %qD sin inicializar en esta función"
+
+-#: tree-vrp.c:4374
++#: tree-vrp.c:4384
+ #, gcc-internal-format
+ msgid "%Harray subscript is outside array bounds"
+ msgstr "%Hel subíndice de la matriz está fuera de los límites de la matriz"
+
+-#: tree-vrp.c:4388
++#: tree-vrp.c:4398
+ #, gcc-internal-format
+ msgid "%Harray subscript is above array bounds"
+ msgstr "%Hel subíndice de la matriz está por arriba de los límites de la matriz"
+
+-#: tree-vrp.c:4395
++#: tree-vrp.c:4405
+ #, gcc-internal-format
+ msgid "%Harray subscript is below array bounds"
+ msgstr "%Hel subíndice de la matriz está por debajo de los límites de la matriz"
+
+-#: tree-vrp.c:5042
++#: tree-vrp.c:5058
+ #, gcc-internal-format
+ msgid "assuming signed overflow does not occur when simplifying conditional to constant"
+ msgstr "se asume que el desbordamiento con signo no ocurre al simplificar el condicional a constante"
+
+-#: tree-vrp.c:5048
++#: tree-vrp.c:5064
+ #, gcc-internal-format
+ msgid "assuming signed overflow does not occur when simplifying conditional"
+ msgstr "se asume que el desbordamiento con signo no ocurre al simplificar el condicional"
+
+-#: tree.c:3951
++#: tree.c:3682
+ #, gcc-internal-format
++msgid "ignoring attributes applied to %qT after definition"
++msgstr "se descartan los atributos aplicados al %qT después de la definición"
++
++#: tree.c:3966
++#, gcc-internal-format
+ msgid "%q+D already declared with dllexport attribute: dllimport ignored"
+ msgstr "%q+D se declaró anteriormente con el atributo dllimport: se descarta dllimport"
+
+-#: tree.c:3963
++#: tree.c:3978
+ #, gcc-internal-format
+ msgid "%q+D redeclared without dllimport attribute after being referenced with dll linkage"
+ msgstr "%q+D se redeclara sin el atributo dllimport después de ser referenciado con enlazado dllimport"
+
+-#: tree.c:3979
++#: tree.c:3994
+ #, gcc-internal-format
+ msgid "%q+D redeclared without dllimport attribute: previous dllimport ignored"
+ msgstr "%q+D se redeclara sin el atributo dllimport: se descarta el dllimport previo"
+
+-#: tree.c:4038 tree.c:4050 config/darwin.c:1458 config/arm/arm.c:3099
+-#: config/arm/arm.c:3127 config/avr/avr.c:4598 config/h8300/h8300.c:5281
+-#: config/h8300/h8300.c:5305 config/i386/i386.c:3056 config/i386/i386.c:22515
++#: tree.c:4053 tree.c:4065 config/darwin.c:1460 config/arm/arm.c:3099
++#: config/arm/arm.c:3127 config/avr/avr.c:4638 config/h8300/h8300.c:5281
++#: config/h8300/h8300.c:5305 config/i386/i386.c:3087 config/i386/i386.c:22599
+ #: config/ia64/ia64.c:586 config/m68hc11/m68hc11.c:1118
+-#: config/rs6000/rs6000.c:19657 config/sh/symbian.c:408
++#: config/rs6000/rs6000.c:19874 config/sh/symbian.c:408
+ #: config/sh/symbian.c:415
+ #, gcc-internal-format
+ msgid "%qs attribute ignored"
+ msgstr "se descarta el atributo %qs"
+
+-#: tree.c:4066
++#: tree.c:4081
+ #, gcc-internal-format
+ msgid "inline function %q+D declared as dllimport: attribute ignored"
+ msgstr "la función inline %q+D se declara como dllimport: se descarta el atributo"
+
+-#: tree.c:4074
++#: tree.c:4089
+ #, gcc-internal-format
+ msgid "function %q+D definition is marked dllimport"
+ msgstr "la definición de la función %q+D se marca como dllimport"
+
+-#: tree.c:4082 config/sh/symbian.c:430
++#: tree.c:4097 config/sh/symbian.c:430
+ #, gcc-internal-format
+ msgid "variable %q+D definition is marked dllimport"
+ msgstr "la definición de la variable %q+D se marca como dllimport"
+
+-#: tree.c:4105 config/sh/symbian.c:505
++#: tree.c:4120 config/sh/symbian.c:505
+ #, gcc-internal-format
+ msgid "external linkage required for symbol %q+D because of %qs attribute"
+ msgstr "se requiere enlazado externo para el símbolo %q+D debido al atributo %qs"
+
+-#: tree.c:4119
++#: tree.c:4134
+ #, gcc-internal-format
+ msgid "%qs implies default visibility, but %qD has already been declared with a different visibility"
+ msgstr "%qs implica visibilidad por defecto, pero %qD ya se había declarado con una visibilidad diferente"
+
+-#: tree.c:5632
++#: tree.c:5648
+ #, gcc-internal-format
+ msgid "arrays of functions are not meaningful"
+ msgstr "las matrices de funciones no tienen significado"
+
+-#: tree.c:5785
++#: tree.c:5801
+ #, gcc-internal-format
+ msgid "function return type cannot be function"
+ msgstr "el tipo de devolución de función no puede ser función"
+
+-#: tree.c:6802 tree.c:6887 tree.c:6948
++#: tree.c:6818 tree.c:6903 tree.c:6964
+ #, gcc-internal-format
+ msgid "tree check: %s, have %s in %s, at %s:%d"
+ msgstr "revisión de árbol: %s, se tiene %s en %s, en %s:%d"
+
+-#: tree.c:6839
++#: tree.c:6855
+ #, gcc-internal-format
+ msgid "tree check: expected none of %s, have %s in %s, at %s:%d"
+ msgstr "revisión de árbol: no se esperaba ninguno de %s, se tiene %s en %s, en %s:%d"
+
+-#: tree.c:6852
++#: tree.c:6868
+ #, gcc-internal-format
+ msgid "tree check: expected class %qs, have %qs (%s) in %s, at %s:%d"
+ msgstr "revisión de árbol: se esperaba la clase %qs, se tiene %qs (%s) en %s, en %s:%d"
+
+-#: tree.c:6901
++#: tree.c:6917
+ #, gcc-internal-format
+ msgid "tree check: did not expect class %qs, have %qs (%s) in %s, at %s:%d"
+ msgstr "revisión de árbol: no se esperaba la clase %qs, se tiene %qs (%s) en %s, en %s:%d"
+
+-#: tree.c:6914
++#: tree.c:6930
+ #, gcc-internal-format
+ msgid "tree check: expected omp_clause %s, have %s in %s, at %s:%d"
+ msgstr "revisión de árbol: se esperaba omp_clause %s, se tiene %s en %s, en %s:%d"
+
+-#: tree.c:6974
++#: tree.c:6990
+ #, gcc-internal-format
+ msgid "tree check: expected tree that contains %qs structure, have %qs in %s, at %s:%d"
+ msgstr "revisión de árbol: se esperaba un árbol que contenga la estructura %qs, se tiene %qs en %s, en %s:%d"
+
+-#: tree.c:6988
++#: tree.c:7004
+ #, gcc-internal-format
+ msgid "tree check: accessed elt %d of tree_vec with %d elts in %s, at %s:%d"
+ msgstr "revisión de árbol: acceso de elt %d de tree_vec con %d elts en %s, en %s:%d"
+
+-#: tree.c:7000
++#: tree.c:7016
+ #, gcc-internal-format
+ msgid "tree check: accessed elt %d of phi_node with %d elts in %s, at %s:%d"
+ msgstr "revisión de árbol: acceso de elt %d de phi_node con %d elts en %s, en %s:%d"
+
+-#: tree.c:7013
++#: tree.c:7029
+ #, gcc-internal-format
+ msgid "tree check: accessed operand %d of %s with %d operands in %s, at %s:%d"
+ msgstr "revisión de árbol: acceso del operando %d de %s con %d operandos en %s, en %s:%d"
+
+-#: tree.c:7026
++#: tree.c:7042
+ #, gcc-internal-format
+ msgid "tree check: accessed operand %d of omp_clause %s with %d operands in %s, at %s:%d"
+ msgstr "revisión de árbol: acceso del operando %d de omp_clause %s con %d operandos en %s, en %s:%d"
+@@ -24252,17 +24254,17 @@
+ msgid "Unknown value %qs of -mmacosx-version-min"
+ msgstr "Valor %qs desconocido de -mmacosx-version-min"
+
+-#: config/darwin.c:1431
++#: config/darwin.c:1433
+ #, gcc-internal-format
+ msgid "%<%s%> 2.95 vtable-compatibility attribute applies only when compiling a kext"
+ msgstr "el atributo de compatibilidad vtable 2.95 %<%s%> sólo aplica cuando se compila una kext"
+
+-#: config/darwin.c:1438
++#: config/darwin.c:1440
+ #, gcc-internal-format
+ msgid "%<%s%> 2.95 vtable-compatibility attribute applies only to C++ classes"
+ msgstr "el atributo de compatibilidad vtable 2.95 %<%s%> sólo aplica a clases C++"
+
+-#: config/darwin.c:1563
++#: config/darwin.c:1565
+ #, gcc-internal-format
+ msgid "internal and protected visibility attributes not supported in this configuration; ignored"
+ msgstr "los atributos de visibilidad internal y protected no se admiten en esta configuración; se descartan"
+@@ -24358,7 +24360,7 @@
+ msgid "profiler support for WindISS"
+ msgstr "soporte de análisis de perfil para WindISS"
+
+-#: config/alpha/alpha.c:232 config/rs6000/rs6000.c:1990
++#: config/alpha/alpha.c:232 config/rs6000/rs6000.c:2020
+ #, gcc-internal-format
+ msgid "bad value %qs for -mtls-size switch"
+ msgstr "valor %qs erróneo para el interruptor -mtls-size"
+@@ -24433,18 +24435,18 @@
+ msgid "bad value %qs for -mmemory-latency"
+ msgstr "valor %qs erróneo para -mmemory-latency"
+
+-#: config/alpha/alpha.c:6514 config/alpha/alpha.c:6517 config/s390/s390.c:8279
+-#: config/s390/s390.c:8282
++#: config/alpha/alpha.c:6522 config/alpha/alpha.c:6525 config/s390/s390.c:8335
++#: config/s390/s390.c:8338
+ #, gcc-internal-format
+ msgid "bad builtin fcode"
+ msgstr "fcode interno erróneo"
+
+-#: config/arc/arc.c:388
++#: config/arc/arc.c:392
+ #, gcc-internal-format
+ msgid "argument of %qs attribute is not a string constant"
+ msgstr "el argumento del atributo %qs no es una cadena constante"
+
+-#: config/arc/arc.c:396
++#: config/arc/arc.c:400
+ #, gcc-internal-format
+ msgid "argument of %qs attribute is not \"ilink1\" or \"ilink2\""
+ msgstr "el argumento del atributo %qs no es \"ilink1\" o \"ilink2\""
+@@ -24454,7 +24456,7 @@
+ msgid "switch -mcpu=%s conflicts with -march= switch"
+ msgstr "el interruptor -mcpu=%s genera un conflicto con el interruptor -march="
+
+-#: config/arm/arm.c:1060 config/rs6000/rs6000.c:1504 config/sparc/sparc.c:761
++#: config/arm/arm.c:1060 config/rs6000/rs6000.c:1522 config/sparc/sparc.c:764
+ #, gcc-internal-format
+ msgid "bad value (%s) for %s switch"
+ msgstr "valor erróneo (%s) para el interruptor %s"
+@@ -24594,14 +24596,13 @@
+ msgid "unable to use '%s' for PIC register"
+ msgstr "no se puede usar '%s' para registro PIC"
+
+-#: config/arm/arm.c:3067 config/arm/arm.c:3085 config/avr/avr.c:4618
+-#: config/avr/avr.c:4660 config/bfin/bfin.c:4778 config/c4x/c4x.c:4071
+-#: config/h8300/h8300.c:5257 config/i386/i386.c:3009
+-#: config/m68hc11/m68hc11.c:1155 config/m68k/m68k.c:741
+-#: config/mcore/mcore.c:3032 config/mips/mips.c:1151 config/mips/mips.c:1153
+-#: config/mt/mt.c:1275 config/rs6000/rs6000.c:19583 config/sh/sh.c:7984
+-#: config/sh/sh.c:8005 config/sh/sh.c:8028 config/stormy16/stormy16.c:2252
+-#: config/v850/v850.c:2048
++#: config/arm/arm.c:3067 config/arm/arm.c:3085 config/avr/avr.c:4658
++#: config/avr/avr.c:4700 config/bfin/bfin.c:4881 config/h8300/h8300.c:5257
++#: config/i386/i386.c:3040 config/m68hc11/m68hc11.c:1155
++#: config/m68k/m68k.c:741 config/mcore/mcore.c:3032 config/mips/mips.c:1151
++#: config/mips/mips.c:1153 config/mt/mt.c:1275 config/rs6000/rs6000.c:19800
++#: config/sh/sh.c:7987 config/sh/sh.c:8008 config/sh/sh.c:8031
++#: config/stormy16/stormy16.c:2225 config/v850/v850.c:2048
+ #, gcc-internal-format
+ msgid "%qs attribute only applies to functions"
+ msgstr "el atributo %qs se aplica solamente a funciones"
+@@ -24623,7 +24624,7 @@
+ msgstr "el selector debe ser un inmediato"
+
+ #. @@@ better error message
+-#: config/arm/arm.c:15839 config/i386/i386.c:20651 config/i386/i386.c:20685
++#: config/arm/arm.c:15839 config/i386/i386.c:20735 config/i386/i386.c:20769
+ #, gcc-internal-format
+ msgid "mask must be an immediate"
+ msgstr "la máscara debe ser un inmediato"
+@@ -24648,222 +24649,187 @@
+ msgid "static variable %q+D is marked dllimport"
+ msgstr "la variable estática %q+D se marcó como dllimport"
+
+-#: config/avr/avr.c:690
++#: config/avr/avr.c:718
+ #, gcc-internal-format
+ msgid "large frame pointer change (%d) with -mtiny-stack"
+ msgstr "cambio de puntero de marco grande (%d) con -mtiny-stack"
+
+-#: config/avr/avr.c:4591
++#: config/avr/avr.c:4631
+ #, gcc-internal-format
+ msgid "only initialized variables can be placed into program memory area"
+ msgstr "sólo las variables inicializadas se pueden ubicar en el área de memoria del programa"
+
+-#: config/avr/avr.c:4635
++#: config/avr/avr.c:4675
+ #, gcc-internal-format
+ msgid "%qs appears to be a misspelled interrupt handler"
+ msgstr "%qs parece ser un manejador de interrupciones mal escrito"
+
+-#: config/avr/avr.c:4643
++#: config/avr/avr.c:4683
+ #, gcc-internal-format
+ msgid "%qs appears to be a misspelled signal handler"
+ msgstr "%qs parece ser un manejador de señales mal escrito"
+
+-#: config/avr/avr.c:4751
++#: config/avr/avr.c:4791
+ #, gcc-internal-format
+ msgid "only uninitialized variables can be placed in the .noinit section"
+ msgstr "Sólo las variables sin inicializar se pueden colocar en la sección .noinit"
+
+-#: config/avr/avr.c:4765
++#: config/avr/avr.c:4805
+ #, gcc-internal-format
+ msgid "MCU %qs supported for assembler only"
+ msgstr "MCU %qs sólo se admite para ensamblador"
+
+-#: config/avr/avr.h:692
++#: config/avr/avr.h:731
+ #, gcc-internal-format
+ msgid "trampolines not supported"
+ msgstr "no se admiten los trampolines"
+
+-#: config/bfin/bfin.c:2259 config/m68k/m68k.c:488
++#: config/bfin/bfin.c:2352 config/m68k/m68k.c:488
+ #, gcc-internal-format
+ msgid "-mshared-library-id=%s is not between 0 and %d"
+ msgstr "-mshared-library-id=%s no está entre 0 y %d"
+
+-#: config/bfin/bfin.c:2279
++#: config/bfin/bfin.c:2372
+ #, gcc-internal-format
+ msgid "-mcpu=%s is not valid"
+ msgstr "-mcpu=%s no es válido"
+
+-#: config/bfin/bfin.c:2315
++#: config/bfin/bfin.c:2410
+ #, gcc-internal-format
+ msgid "-mcpu=%s has invalid silicon revision"
+ msgstr "-mcpu=%s tiene una versión de silicio inválida"
+
+-#: config/bfin/bfin.c:2332
++#: config/bfin/bfin.c:2427
+ #, gcc-internal-format
+ msgid "bf561 support is incomplete yet."
+ msgstr "el soporte para bf561 aún está incompleto."
+
+-#: config/bfin/bfin.c:2372
++#: config/bfin/bfin.c:2470
+ #, gcc-internal-format
+ msgid "-mshared-library-id= specified without -mid-shared-library"
+ msgstr "se especificó -mshared-library-id= sin -mid-shared-library"
+
+-#: config/bfin/bfin.c:2378
++#: config/bfin/bfin.c:2473
+ #, gcc-internal-format
+ msgid "Can't use multiple stack checking methods together."
+ msgstr "No se pueden usar múltiples métodos de revisión de la pila juntos."
+
+-#: config/bfin/bfin.c:2381
++#: config/bfin/bfin.c:2476
+ #, gcc-internal-format
+ msgid "ID shared libraries and FD-PIC mode can't be used together."
+ msgstr "las bibliotecas compartidas ID y el modo FD-PIC no se pueden usar juntos."
+
+-#: config/bfin/bfin.c:2386 config/m68k/m68k.c:582
++#: config/bfin/bfin.c:2481 config/m68k/m68k.c:582
+ #, gcc-internal-format
+ msgid "cannot specify both -msep-data and -mid-shared-library"
+ msgstr "no se pueden especificar -msep-data y -mid-shared-library al mismo tiempo"
+
+-#: config/bfin/bfin.c:4783
++#: config/bfin/bfin.c:4886
+ #, gcc-internal-format
+ msgid "multiple function type attributes specified"
+ msgstr "se especificaron múltiples atributos de tipo de función"
+
+-#: config/bfin/bfin.c:4839 config/bfin/bfin.c:4868 config/spu/spu.c:2976
++#: config/bfin/bfin.c:4942 config/bfin/bfin.c:4971 config/spu/spu.c:2965
+ #, gcc-internal-format
+ msgid "`%s' attribute only applies to functions"
+ msgstr "el atributo `%s' se aplica solamente a funciones"
+
+-#: config/bfin/bfin.c:4850
++#: config/bfin/bfin.c:4953
+ #, gcc-internal-format
+ msgid "can't apply both longcall and shortcall attributes to the same function"
+ msgstr "no se pueden aplicar los atributos longcall y shortcall al mismo tiempo a la misma función"
+
+-#: config/bfin/bfin.c:4900
++#: config/bfin/bfin.c:5003
+ #, gcc-internal-format
+ msgid "`%s' attribute only applies to variables"
+ msgstr "el atributo `%s' solamente se aplica a variables"
+
+-#: config/bfin/bfin.c:4907
++#: config/bfin/bfin.c:5010
+ #, gcc-internal-format
+ msgid "`%s' attribute cannot be specified for local variables"
+ msgstr "no se puede especificar el atributo `%s' para las variables locales"
+
+-#: config/c4x/c4x-c.c:68
+-#, gcc-internal-format
+-msgid "missing '(' after '#pragma %s' - ignored"
+-msgstr "falta un '(' después de '#pragma %s' - descartado"
+-
+-#: config/c4x/c4x-c.c:71
+-#, gcc-internal-format
+-msgid "missing function name in '#pragma %s' - ignored"
+-msgstr "falta el nombre de la función en '#pragma %s' - descartado"
+-
+-#: config/c4x/c4x-c.c:76
+-#, gcc-internal-format
+-msgid "malformed '#pragma %s' - ignored"
+-msgstr "'#pragma %s' malformado - descartado"
+-
+-#: config/c4x/c4x-c.c:78
+-#, gcc-internal-format
+-msgid "missing section name in '#pragma %s' - ignored"
+-msgstr "falta el nombre de la sección en '#pragma %s' - descartado"
+-
+-#: config/c4x/c4x-c.c:83
+-#, gcc-internal-format
+-msgid "missing ')' for '#pragma %s' - ignored"
+-msgstr "falta un ')' para '#pragma %s' - descartado"
+-
+-#: config/c4x/c4x-c.c:86
+-#, gcc-internal-format
+-msgid "junk at end of '#pragma %s'"
+-msgstr "basura al final de '#pragma %s'"
+-
+-#: config/c4x/c4x.c:859
+-#, gcc-internal-format
+-msgid "ISR %s requires %d words of local vars, max is 32767"
+-msgstr "el ISR %s requiere de %d words de variables locales, el máximo es 32767"
+-
+ #. This function is for retrieving a part of an instruction name for
+ #. an operator, for immediate output. If that ever happens for
+ #. MULT, we need to apply TARGET_MUL_BUG in the caller. Make sure
+ #. we notice.
+-#: config/cris/cris.c:434
++#: config/cris/cris.c:447
+ #, gcc-internal-format
+ msgid "MULT case in cris_op_str"
+ msgstr "case MULT en cris_op_str"
+
+-#: config/cris/cris.c:811
++#: config/cris/cris.c:837
+ #, gcc-internal-format
+ msgid "invalid use of ':' modifier"
+ msgstr "uso inválido del modificador ':'"
+
+-#: config/cris/cris.c:983
++#: config/cris/cris.c:1024
+ #, gcc-internal-format
+ msgid "internal error: bad register: %d"
+ msgstr "error interno: registro erróneo: %d"
+
+-#: config/cris/cris.c:1524
++#: config/cris/cris.c:1586
+ #, gcc-internal-format
+ msgid "internal error: sideeffect-insn affecting main effect"
+ msgstr "error interno: insn colateral afectando al efecto principal"
+
+-#: config/cris/cris.c:1548
++#: config/cris/cris.c:1683
+ #, gcc-internal-format
+ msgid "unknown cc_attr value"
+ msgstr "valor cc_attr desconocido"
+
+ #. If we get here, the caller got its initial tests wrong.
+-#: config/cris/cris.c:1901
++#: config/cris/cris.c:2040
+ #, gcc-internal-format
+ msgid "internal error: cris_side_effect_mode_ok with bad operands"
+ msgstr "error interno: cris_side_effect_mode_ok con operandos erróneos"
+
+-#: config/cris/cris.c:2104
++#: config/cris/cris.c:2332
+ #, gcc-internal-format
+ msgid "-max-stackframe=%d is not usable, not between 0 and %d"
+ msgstr "no se puede usar -max-stackframe=%d, no está entre 0 y %d"
+
+-#: config/cris/cris.c:2132
++#: config/cris/cris.c:2360
+ #, gcc-internal-format
+ msgid "unknown CRIS version specification in -march= or -mcpu= : %s"
+ msgstr "especificación de versión CRIS desconocida en -march= o -mcpu= : %s"
+
+-#: config/cris/cris.c:2168
++#: config/cris/cris.c:2396
+ #, gcc-internal-format
+ msgid "unknown CRIS cpu version specification in -mtune= : %s"
+ msgstr "especificación de versión de cpu CRIS desconocida en -mtune= : %s"
+
+-#: config/cris/cris.c:2186
++#: config/cris/cris.c:2417
+ #, gcc-internal-format
+ msgid "-fPIC and -fpic are not supported in this configuration"
+ msgstr "-fPIC y -fpic no se admiten en esta configuración"
+
+-#: config/cris/cris.c:2201
++#: config/cris/cris.c:2432
+ #, gcc-internal-format
+ msgid "that particular -g option is invalid with -maout and -melinux"
+ msgstr "esa opción -g en particular es inválida con -maout y -melinux"
+
+-#: config/cris/cris.c:2414
++#: config/cris/cris.c:2658
+ #, gcc-internal-format
+ msgid "Unknown src"
+ msgstr "Fuente desconocida"
+
+-#: config/cris/cris.c:2475
++#: config/cris/cris.c:2719
+ #, gcc-internal-format
+ msgid "Unknown dest"
+ msgstr "Destino desconocido"
+
+-#: config/cris/cris.c:2760
++#: config/cris/cris.c:3004
+ #, gcc-internal-format
+ msgid "stackframe too big: %d bytes"
+ msgstr "marco de la pila demasiado grande: %d bytes"
+
+-#: config/cris/cris.c:3213 config/cris/cris.c:3240
++#: config/cris/cris.c:3498 config/cris/cris.c:3526
+ #, gcc-internal-format
+ msgid "expand_binop failed in movsi got"
+ msgstr "falló expand_binop en movsi got"
+
+-#: config/cris/cris.c:3321
++#: config/cris/cris.c:3607
+ #, gcc-internal-format
+ msgid "emitting PIC operand, but PIC register isn't set up"
+ msgstr "emitiendo un operando PIC, pero el registro PIC aún no está preparado"
+@@ -24917,7 +24883,7 @@
+ #. See cris.c for TARGET_ASM_FUNCTION_PROLOGUE and
+ #. TARGET_ASM_FUNCTION_EPILOGUE.
+ #. Node: Profiling
+-#: config/cris/cris.h:868
++#: config/cris/cris.h:948
+ #, gcc-internal-format
+ msgid "no FUNCTION_PROFILER for CRIS"
+ msgstr "no hay FUNCTION_PROFILER para CRIS"
+@@ -24932,62 +24898,62 @@
+ msgid "Trampoline support for CRX"
+ msgstr "Soporte de trampolines para CRX"
+
+-#: config/frv/frv.c:8622
++#: config/frv/frv.c:8626
+ #, gcc-internal-format
+ msgid "accumulator is not a constant integer"
+ msgstr "el acumulador no es una constante entera"
+
+-#: config/frv/frv.c:8627
++#: config/frv/frv.c:8631
+ #, gcc-internal-format
+ msgid "accumulator number is out of bounds"
+ msgstr "el número del acumulador está fuera de los límites"
+
+-#: config/frv/frv.c:8638
++#: config/frv/frv.c:8642
+ #, gcc-internal-format
+ msgid "inappropriate accumulator for %qs"
+ msgstr "acumulador inapropiado para %qs"
+
+-#: config/frv/frv.c:8715
++#: config/frv/frv.c:8719
+ #, gcc-internal-format
+ msgid "invalid IACC argument"
+ msgstr "argumento IACC inválido"
+
+-#: config/frv/frv.c:8738
++#: config/frv/frv.c:8742
+ #, gcc-internal-format
+ msgid "%qs expects a constant argument"
+ msgstr "%qs espera una constante como argumento"
+
+-#: config/frv/frv.c:8743
++#: config/frv/frv.c:8747
+ #, gcc-internal-format
+ msgid "constant argument out of range for %qs"
+ msgstr "el argumento constante está fuera de rango para %qs"
+
+-#: config/frv/frv.c:9224
++#: config/frv/frv.c:9228
+ #, gcc-internal-format
+ msgid "media functions are not available unless -mmedia is used"
+ msgstr "las funciones de medios no están disponibles a menos que se use -mmedia"
+
+-#: config/frv/frv.c:9236
++#: config/frv/frv.c:9240
+ #, gcc-internal-format
+ msgid "this media function is only available on the fr500"
+ msgstr "esta función de medios sólo está disponible en el fr500"
+
+-#: config/frv/frv.c:9264
++#: config/frv/frv.c:9268
+ #, gcc-internal-format
+ msgid "this media function is only available on the fr400 and fr550"
+ msgstr "esta función de medios sólo está disponible en el fr400 y fr550"
+
+-#: config/frv/frv.c:9283
++#: config/frv/frv.c:9287
+ #, gcc-internal-format
+ msgid "this builtin function is only available on the fr405 and fr450"
+ msgstr "esta función interna sólo está disponible en el fr405 y fr450"
+
+-#: config/frv/frv.c:9292
++#: config/frv/frv.c:9296
+ #, gcc-internal-format
+ msgid "this builtin function is only available on the fr500 and fr550"
+ msgstr "esta función interna sólo está disponible en el fr500 y fr550"
+
+-#: config/frv/frv.c:9304
++#: config/frv/frv.c:9308
+ #, gcc-internal-format
+ msgid "this builtin function is only available on the fr450"
+ msgstr "esta función interna sólo está disponible en el fr450"
+@@ -25012,311 +24978,316 @@
+ msgid "can't set position in PCH file: %m"
+ msgstr "no se puede establecer la posición en el fichero PCH: %m"
+
+-#: config/i386/i386.c:2133 config/i386/i386.c:2333
++#: config/i386/i386.c:2158 config/i386/i386.c:2358
+ #, gcc-internal-format
+ msgid "bad value (%s) for -mtune= switch"
+ msgstr "valor erróneo (%s) para la opción -mtune="
+
+-#: config/i386/i386.c:2174
++#: config/i386/i386.c:2199
+ #, gcc-internal-format
+ msgid "bad value (%s) for -mstringop-strategy= switch"
+ msgstr "valor erróneo (%s) para la opción -mstringop-strategy="
+
+-#: config/i386/i386.c:2177
++#: config/i386/i386.c:2202
+ #, 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.c:2186
++#: config/i386/i386.c:2211
+ #, gcc-internal-format
+ msgid "generic CPU can be used only for -mtune= switch"
+ msgstr "el CPU generic sólo se puede usar para el interruptor -mtune="
+
+-#: config/i386/i386.c:2188 config/i386/i386.c:2297 config/mt/mt.c:804
++#: config/i386/i386.c:2213 config/i386/i386.c:2322 config/mt/mt.c:804
+ #, gcc-internal-format
+ msgid "bad value (%s) for -march= switch"
+ msgstr "valor erróneo (%s) para el interruptor -march="
+
+-#: config/i386/i386.c:2199
++#: config/i386/i386.c:2224
+ #, gcc-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.c:2205 config/sparc/sparc.c:725
++#: config/i386/i386.c:2230 config/sparc/sparc.c:728
+ #, gcc-internal-format
+ msgid "bad value (%s) for -mcmodel= switch"
+ msgstr "valor erróneo (%s) para el interruptor -mcmodel="
+
+-#: config/i386/i386.c:2228
++#: config/i386/i386.c:2253
+ #, gcc-internal-format
+ msgid "bad value (%s) for -masm= switch"
+ msgstr "valor erróneo (%s) para el interruptor -masm="
+
+-#: config/i386/i386.c:2231
++#: config/i386/i386.c:2256
+ #, 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.c:2234
++#: config/i386/i386.c:2259
+ #, gcc-internal-format
+ msgid "%i-bit mode not compiled in"
+ msgstr "no está compilado el modo bit-%i"
+
+-#: config/i386/i386.c:2245 config/i386/i386.c:2319
++#: config/i386/i386.c:2270 config/i386/i386.c:2344
+ #, 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.c:2351
++#: config/i386/i386.c:2376
+ #, gcc-internal-format
+ msgid "-mregparm is ignored in 64-bit mode"
+ msgstr "se descarta -mregparm en modo de 64-bit"
+
+-#: config/i386/i386.c:2354
++#: config/i386/i386.c:2379
+ #, gcc-internal-format
+ msgid "-mregparm=%d is not between 0 and %d"
+ msgstr "-mregparm=%d no está entre 0 y %d"
+
+-#: config/i386/i386.c:2366
++#: config/i386/i386.c:2391
+ #, gcc-internal-format
+ msgid "-malign-loops is obsolete, use -falign-loops"
+ msgstr "-malign-loops es obsoleto, use -falign-loops"
+
+-#: config/i386/i386.c:2371 config/i386/i386.c:2384 config/i386/i386.c:2397
++#: config/i386/i386.c:2396 config/i386/i386.c:2409 config/i386/i386.c:2422
+ #, gcc-internal-format
+ msgid "-malign-loops=%d is not between 0 and %d"
+ msgstr "-malign-loops=%d no está entre 0 y %d"
+
+-#: config/i386/i386.c:2379
++#: config/i386/i386.c:2404
+ #, gcc-internal-format
+ msgid "-malign-jumps is obsolete, use -falign-jumps"
+ msgstr "-malign-jumps es obsoleto, use -falign-jumps"
+
+-#: config/i386/i386.c:2392
++#: config/i386/i386.c:2417
+ #, gcc-internal-format
+ msgid "-malign-functions is obsolete, use -falign-functions"
+ msgstr "-malign-functions es obsoleto, use -falign-functions"
+
+-#: config/i386/i386.c:2425
++#: config/i386/i386.c:2450
+ #, gcc-internal-format
+ msgid "-mbranch-cost=%d is not between 0 and 5"
+ msgstr "-mbranch-cost=%d no está entre 0 y 5"
+
+-#: config/i386/i386.c:2433
++#: config/i386/i386.c:2458
+ #, gcc-internal-format
+ msgid "-mlarge-data-threshold=%d is negative"
+ msgstr "-mlarge-data-threshold=%d es negativo"
+
+-#: config/i386/i386.c:2447
++#: config/i386/i386.c:2472
+ #, gcc-internal-format
+ msgid "bad value (%s) for -mtls-dialect= switch"
+ msgstr "valor erróneo (%s) para la opción -mtls-dialect="
+
+-#: config/i386/i386.c:2455
++#: config/i386/i386.c:2480
+ #, gcc-internal-format
+ msgid "pc%d is not valid precision setting (32, 64 or 80)"
+ msgstr "pc%d no es una opción de precisión válida (32, 64 u 80)"
+
+-#: config/i386/i386.c:2471
++#: config/i386/i386.c:2496
+ #, gcc-internal-format
+ msgid "-mrtd is ignored in 64bit mode"
+ msgstr "se descarta -mrtd en el modo de 64bit"
+
+-#: config/i386/i386.c:2560
++#: config/i386/i386.c:2585
+ #, gcc-internal-format
+ msgid "-mpreferred-stack-boundary=%d is not between %d and 12"
+ msgstr "-mpreferred-stack-boundary=%d no está entre %d y 12"
+
+-#: config/i386/i386.c:2569
++#: config/i386/i386.c:2594
+ #, gcc-internal-format
+ msgid "-msseregparm used without SSE enabled"
+ msgstr "se usó -msseregparm sin SSE activado"
+
+-#: config/i386/i386.c:2580 config/i386/i386.c:2591
++#: config/i386/i386.c:2605 config/i386/i386.c:2616
+ #, 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.c:2596
++#: config/i386/i386.c:2621
+ #, 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.c:2603
++#: config/i386/i386.c:2628
+ #, gcc-internal-format
+ msgid "bad value (%s) for -mfpmath= switch"
+ msgstr "valor erróneo (%s) para el interruptor -mfpmath="
+
+-#: config/i386/i386.c:2616
++#: config/i386/i386.c:2641
+ #, gcc-internal-format
+ msgid "unknown vectorization library ABI type (%s) for -mveclibabi= switch"
+ msgstr "tipo de ABI de biblioteca de vectorización desconocida (%s) para la opción -mveclibabi="
+
+-#: config/i386/i386.c:2635
++#: config/i386/i386.c:2660
+ #, gcc-internal-format
+ msgid "unwind tables currently require either a frame pointer or -maccumulate-outgoing-args for correctness"
+ msgstr "actualmente las tablas de desenredo requieren un puntero de marco o -maccumulate-outgoing-args para ser correctas"
+
+-#: config/i386/i386.c:3022 config/i386/i386.c:3075
++#: config/i386/i386.c:3053 config/i386/i386.c:3106
+ #, gcc-internal-format
+ msgid "fastcall and regparm attributes are not compatible"
+ msgstr "los atributos fastcall y regparm no son compatibles"
+
+-#: config/i386/i386.c:3029
++#: config/i386/i386.c:3060
+ #, gcc-internal-format
+ msgid "%qs attribute requires an integer constant argument"
+ msgstr "el atributo %qs requiere una constante entera como argumento"
+
+-#: config/i386/i386.c:3035
++#: config/i386/i386.c:3066
+ #, gcc-internal-format
+ msgid "argument to %qs attribute larger than %d"
+ msgstr "el argumento para el atributo %qs es más grande que %d"
+
+-#: config/i386/i386.c:3045
++#: config/i386/i386.c:3076
+ #, gcc-internal-format
+ msgid "%s functions limited to %d register parameters"
+ msgstr "las funciones %s están limitadas a %d parámetros de registro"
+
+-#: config/i386/i386.c:3067 config/i386/i386.c:3102
++#: config/i386/i386.c:3098 config/i386/i386.c:3133
+ #, gcc-internal-format
+ msgid "fastcall and cdecl attributes are not compatible"
+ msgstr "los atributos fastcall y cdecl no son compatibles"
+
+-#: config/i386/i386.c:3071
++#: config/i386/i386.c:3102
+ #, gcc-internal-format
+ msgid "fastcall and stdcall attributes are not compatible"
+ msgstr "los atributos fastcall y stdcall no son compatibles"
+
+-#: config/i386/i386.c:3085 config/i386/i386.c:3098
++#: config/i386/i386.c:3116 config/i386/i386.c:3129
+ #, gcc-internal-format
+ msgid "stdcall and cdecl attributes are not compatible"
+ msgstr "los atributos stdcall y cdecl no son compatibles"
+
+-#: config/i386/i386.c:3089
++#: config/i386/i386.c:3120
+ #, gcc-internal-format
+ msgid "stdcall and fastcall attributes are not compatible"
+ msgstr "los atributos stdcall y fastcall no son compatibles"
+
+-#: config/i386/i386.c:3236
++#: config/i386/i386.c:3271
+ #, 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.c:3239
++#: config/i386/i386.c:3274
+ #, 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.c:3925
++#: config/i386/i386.c:3971
+ #, gcc-internal-format
+ msgid "SSE register return with SSE disabled"
+ msgstr "se devuelve el registro SSE con SSE desactivado"
+
+-#: config/i386/i386.c:3931
++#: config/i386/i386.c:3977
+ #, gcc-internal-format
+ msgid "SSE register argument with SSE disabled"
+ msgstr "argumento de registro SSE con SSE desactivado"
+
+-#: config/i386/i386.c:3947
++#: config/i386/i386.c:3993
+ #, gcc-internal-format
+ msgid "x87 register return with x87 disabled"
+ msgstr "se devuelve el registro x87 con x87 desactivado"
+
+-#: config/i386/i386.c:4265
++#: config/i386/i386.c:4314
+ #, 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.c:4283
++#: config/i386/i386.c:4332
+ #, 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.c:4810
++#: config/i386/i386.c:4859
+ #, 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.c:4820
++#: config/i386/i386.c:4869
+ #, 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.c:6171
++#: config/i386/i386.c:6220
+ #, gcc-internal-format
+ msgid "-mstackrealign ignored for nested functions"
+ msgstr "se descarta -mstackrealign para las funciones anidadas"
+
+-#: config/i386/i386.c:6173
++#: config/i386/i386.c:6222
+ #, gcc-internal-format
+ msgid "%s not supported for nested functions"
+ msgstr "%s no admite funciones anidadas"
+
+-#: config/i386/i386.c:8576
++#: config/i386/i386.c:8631
+ #, gcc-internal-format
+ msgid "extended registers have no high halves"
+ msgstr "los registros extendidos no tiene mitades superiores"
+
+-#: config/i386/i386.c:8591
++#: config/i386/i386.c:8646
+ #, 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.c:19610
++#: config/i386/i386.c:19694
+ #, gcc-internal-format
+ msgid "the third argument must be a 4-bit immediate"
+ msgstr "el tercer argumento debe ser un inmediato de 4-bit"
+
+-#: config/i386/i386.c:19614
++#: config/i386/i386.c:19698
+ #, gcc-internal-format
+ msgid "the third argument must be an 8-bit immediate"
+ msgstr "el tercer argumento debe ser un inmediato de 8-bit"
+
+-#: config/i386/i386.c:19836
++#: config/i386/i386.c:19920
+ #, gcc-internal-format
+ msgid "last argument must be an immediate"
+ msgstr "el último argumento debe ser un inmediato"
+
+-#: config/i386/i386.c:19963
++#: config/i386/i386.c:20047
+ #, gcc-internal-format
+ msgid "the second argument must be a 4-bit immediate"
+ msgstr "el segundo argumento debe ser un inmediato de 4-bit"
+
+-#: config/i386/i386.c:20209
++#: config/i386/i386.c:20293
+ #, gcc-internal-format
+ msgid "the fifth argument must be a 8-bit immediate"
+ msgstr "el quinto argumento debe ser un inmediato de 8-bit"
+
+-#: config/i386/i386.c:20304
++#: config/i386/i386.c:20388
+ #, gcc-internal-format
+ msgid "the third argument must be a 8-bit immediate"
+ msgstr "el tercer argumento debe ser un inmediato de 8-bit"
+
+-#: config/i386/i386.c:20374 config/rs6000/rs6000.c:8133
++#: config/i386/i386.c:20458 config/rs6000/rs6000.c:8240
+ #, gcc-internal-format
+ msgid "selector must be an integer constant in the range 0..%wi"
+ msgstr "el selector debe ser una constante entera en el rango 0..%wi"
+
+-#: config/i386/i386.c:20774 config/i386/i386.c:20970
++#: config/i386/i386.c:20858 config/i386/i386.c:21054
+ #, gcc-internal-format
+ msgid "shift must be an immediate"
+ msgstr "el desplazamiento debe ser un inmediato"
+
+-#: config/i386/i386.c:21033 config/i386/i386.c:21075
++#: config/i386/i386.c:21117 config/i386/i386.c:21159
+ #, gcc-internal-format
+ msgid "index mask must be an immediate"
+ msgstr "la máscara de índice debe ser un inmediato"
+
+-#: config/i386/i386.c:21038 config/i386/i386.c:21080
++#: config/i386/i386.c:21122 config/i386/i386.c:21164
+ #, gcc-internal-format
+ msgid "length mask must be an immediate"
+ msgstr "la longitud de máscara debe ser un inmediato"
+
+-#: config/i386/i386.c:22525 config/rs6000/rs6000.c:19666
++#: config/i386/i386.c:22609 config/rs6000/rs6000.c:19883
+ #, gcc-internal-format
+ msgid "%qs incompatible attribute ignored"
+ msgstr "se descarta el atributo incompatible %qs"
+
++#: config/i386/netware.c:253
++#, gcc-internal-format
++msgid "-fPIC and -fpic are not supported for this target"
++msgstr "-fPIC y -fpic no se admiten en este objetivo"
++
+ #: config/i386/winnt-cxx.c:71 config/sh/symbian.c:172
+ #, gcc-internal-format
+ msgid "definition of static data member %q+D of dllimport'd class"
+@@ -25382,57 +25353,57 @@
+ msgid "%Jaddress area attribute cannot be specified for functions"
+ msgstr "%Jno se puede especificar un atributo de área de direcciones para funciones"
+
+-#: config/ia64/ia64.c:5126 config/pa/pa.c:347 config/spu/spu.c:3875
++#: config/ia64/ia64.c:5127 config/pa/pa.c:350 config/spu/spu.c:3864
+ #, gcc-internal-format
+ msgid "value of -mfixed-range must have form REG1-REG2"
+ msgstr "el valor de -mfixed-range debe ser de la forma REG1-REG2"
+
+-#: config/ia64/ia64.c:5153 config/pa/pa.c:374 config/spu/spu.c:3901
++#: config/ia64/ia64.c:5154 config/pa/pa.c:377 config/spu/spu.c:3890
+ #, gcc-internal-format
+ msgid "%s-%s is an empty range"
+ msgstr "%s-%s es un rango vacío"
+
+-#: config/ia64/ia64.c:5181
++#: config/ia64/ia64.c:5182
+ #, gcc-internal-format
+ msgid "bad value %<%s%> for -mtls-size= switch"
+ msgstr "valor erróneo %<%s%> para el interruptor -mtls-size="
+
+-#: config/ia64/ia64.c:5209
++#: config/ia64/ia64.c:5210
+ #, gcc-internal-format
+ msgid "bad value %<%s%> for -mtune= switch"
+ msgstr "valor erróneo %<%s%> para el interruptor -mtune="
+
+-#: config/ia64/ia64.c:5228
++#: config/ia64/ia64.c:5229
+ #, gcc-internal-format
+ msgid "not yet implemented: latency-optimized inline square root"
+ msgstr "no se ha implementado aún: raíz cuadrada incluída en línea optimizada para latencia"
+
+-#: config/ia64/ia64.c:9950
++#: config/ia64/ia64.c:9951
+ #, gcc-internal-format
+ msgid "version attribute is not a string"
+ msgstr "el atributo version no es una cadena"
+
+-#: config/iq2000/iq2000.c:1812
++#: config/iq2000/iq2000.c:1816
+ #, gcc-internal-format
+ msgid "gp_offset (%ld) or end_offset (%ld) is less than zero"
+ msgstr "gp_offset (%ld) o end_offset (%ld) es menor a cero"
+
+-#: config/iq2000/iq2000.c:2583
++#: config/iq2000/iq2000.c:2587
+ #, gcc-internal-format
+ msgid "argument %qd is not a constant"
+ msgstr "el argumento %qd no es una constante"
+
+-#: config/iq2000/iq2000.c:2885 config/mt/mt.c:349 config/xtensa/xtensa.c:2118
++#: config/iq2000/iq2000.c:2889 config/mt/mt.c:349 config/xtensa/xtensa.c:2124
+ #, gcc-internal-format
+ msgid "PRINT_OPERAND_ADDRESS, null pointer"
+ msgstr "PRINT_OPERAND_ADDRESS, puntero nulo"
+
+-#: config/iq2000/iq2000.c:3040
++#: config/iq2000/iq2000.c:3044
+ #, gcc-internal-format
+ msgid "PRINT_OPERAND: Unknown punctuation '%c'"
+ msgstr "PRINT_OPERAND: Puntuación desconocida '%c'"
+
+-#: config/iq2000/iq2000.c:3049 config/xtensa/xtensa.c:1972
++#: config/iq2000/iq2000.c:3053 config/xtensa/xtensa.c:1978
+ #, gcc-internal-format
+ msgid "PRINT_OPERAND null pointer"
+ msgstr "PRINT_OPERAND puntero nulo"
+@@ -25457,22 +25428,22 @@
+ msgid "invalid target memregs value '%d'"
+ msgstr "valor de memregs objetivo '%d' inválido"
+
+-#: config/m32c/m32c.c:2759
++#: config/m32c/m32c.c:2766
+ #, gcc-internal-format
+ msgid "`%s' attribute is not supported for R8C target"
+ msgstr "no se admite el atributo `%s' para el objetivo R8C"
+
+-#: config/m32c/m32c.c:2767
++#: config/m32c/m32c.c:2774
+ #, gcc-internal-format
+ msgid "`%s' attribute applies only to functions"
+ msgstr "el atributo `%s' se aplica solamente a funciones"
+
+-#: config/m32c/m32c.c:2775
++#: config/m32c/m32c.c:2782
+ #, gcc-internal-format
+ msgid "`%s' attribute argument not an integer constant"
+ msgstr "el argumento del atributo `%s' no es una constante entera"
+
+-#: config/m32c/m32c.c:2784
++#: config/m32c/m32c.c:2791
+ #, gcc-internal-format
+ msgid "`%s' attribute argument should be between 18 to 255"
+ msgstr "el argumento del atributo `%s' debe estar entre 18 a 255"
+@@ -25522,7 +25493,7 @@
+ msgid "interrupt_thread is available only on fido"
+ msgstr "interrupt_thread sólo está disponible en fido"
+
+-#: config/m68k/m68k.c:1072 config/rs6000/rs6000.c:15014
++#: config/m68k/m68k.c:1072 config/rs6000/rs6000.c:15226
+ #, gcc-internal-format
+ msgid "stack limit expression is not supported"
+ msgstr "no se admite la expresión del límite de la pila"
+@@ -25537,114 +25508,114 @@
+ msgid "%qs redeclared with conflicting %qs attributes"
+ msgstr "%qs se redeclaró con los atributos %qs en conflicto"
+
+-#: config/mips/mips.c:2348
++#: config/mips/mips.c:2382
+ #, gcc-internal-format
+ msgid "MIPS16 TLS"
+ msgstr "TLS de MIPS16"
+
+-#: config/mips/mips.c:5439
++#: config/mips/mips.c:5500
+ #, gcc-internal-format
+ msgid "cannot handle inconsistent calls to %qs"
+ msgstr "no se pueden manejar llamadas inconsistentes a %qs"
+
+-#: config/mips/mips.c:10258
++#: config/mips/mips.c:10337
+ #, gcc-internal-format
+ msgid "invalid argument to built-in function"
+ msgstr "argumento inválido para la función interna"
+
+-#: config/mips/mips.c:10530
++#: config/mips/mips.c:10609
+ #, gcc-internal-format
+ msgid "built-in function %qs not supported for MIPS16"
+ msgstr "no se admite la función interna %qs para MIPS16"
+
+-#: config/mips/mips.c:11679 config/mips/mips.c:12065
++#: config/mips/mips.c:11751 config/mips/mips.c:12137
+ #, gcc-internal-format
+ msgid "MIPS16 PIC"
+ msgstr "PIC de MIPS16"
+
+-#: config/mips/mips.c:11682
++#: config/mips/mips.c:11754
+ #, gcc-internal-format
+ msgid "hard-float MIPS16 code for ABIs other than o32 and o64"
+ msgstr "código MIPS16 de coma flotante hard para ABIs diferentes de o32 y o64"
+
+-#: config/mips/mips.c:11810
++#: config/mips/mips.c:11882
+ #, gcc-internal-format
+ msgid "CPU names must be lower case"
+ msgstr "los nombres de CPU debe estar en minúsculas"
+
+-#: config/mips/mips.c:11938
++#: config/mips/mips.c:12010
+ #, gcc-internal-format
+ msgid "%<-%s%> conflicts with the other architecture options, which specify a %s processor"
+ msgstr "%<-%s%> genera un conflicto con las otras opciones de la arquitectura, las cuales especifican un procesador %s"
+
+-#: config/mips/mips.c:11954
++#: config/mips/mips.c:12026
+ #, gcc-internal-format
+ msgid "%<-march=%s%> is not compatible with the selected ABI"
+ msgstr "%<-march=%s%> no es compatible con la ABI seleccionada"
+
+-#: config/mips/mips.c:11969
++#: config/mips/mips.c:12041
+ #, gcc-internal-format
+ msgid "%<-mgp64%> used with a 32-bit processor"
+ msgstr "se utiliza %<-mgp64%> con un procesador de 32-bit"
+
+-#: config/mips/mips.c:11971
++#: config/mips/mips.c:12043
+ #, gcc-internal-format
+ msgid "%<-mgp32%> used with a 64-bit ABI"
+ msgstr "se utiliza %<-mgp32%> con una ABI de 64-bit"
+
+-#: config/mips/mips.c:11973
++#: config/mips/mips.c:12045
+ #, gcc-internal-format
+ msgid "%<-mgp64%> used with a 32-bit ABI"
+ msgstr "se utiliza %<-mgp64%> con una ABI de 32-bit"
+
+-#: config/mips/mips.c:11989 config/mips/mips.c:11991 config/mips/mips.c:12058
++#: config/mips/mips.c:12061 config/mips/mips.c:12063 config/mips/mips.c:12130
+ #, gcc-internal-format
+ msgid "unsupported combination: %s"
+ msgstr "no se admite la combinación: %s"
+
+-#: config/mips/mips.c:11995
++#: config/mips/mips.c:12067
+ #, gcc-internal-format
+ msgid "%<-mgp32%> and %<-mfp64%> can only be combined if the target supports the mfhc1 and mthc1 instructions"
+ msgstr "%<-mgp32%> y %<-mfp64%> sólo se pueden combinar si el objetivo admite las instrucciones mfhc1 y mthc1"
+
+-#: config/mips/mips.c:11998
++#: config/mips/mips.c:12070
+ #, gcc-internal-format
+ msgid "%<-mgp32%> and %<-mfp64%> can only be combined when using the o32 ABI"
+ msgstr "%<-mgp32%> y %<-mfp64%> sólo se pueden combinar al usar la ABI o32"
+
+-#: config/mips/mips.c:12052
++#: config/mips/mips.c:12124
+ #, gcc-internal-format
+ msgid "the %qs architecture does not support branch-likely instructions"
+ msgstr "la arquitectura %qs no admite las instrucciones con probabilidad de ramificación"
+
+-#: config/mips/mips.c:12098
++#: config/mips/mips.c:12170
+ #, gcc-internal-format
+ msgid "%<-mno-gpopt%> needs %<-mexplicit-relocs%>"
+ msgstr "%<-mno-gpopt%> necesita %<-mexplicit-relocs%>"
+
+-#: config/mips/mips.c:12106 config/mips/mips.c:12109
++#: config/mips/mips.c:12178 config/mips/mips.c:12181
+ #, gcc-internal-format
+ msgid "cannot use small-data accesses for %qs"
+ msgstr "no se pueden usar accesos de data small para %qs"
+
+-#: config/mips/mips.c:12123
++#: config/mips/mips.c:12195
+ #, gcc-internal-format
+ msgid "%<-mips3d%> requires %<-mpaired-single%>"
+ msgstr "%<-mips3d%> requiere %<-mpaired-single%>"
+
+-#: config/mips/mips.c:12132
++#: config/mips/mips.c:12204
+ #, gcc-internal-format
+ msgid "%qs must be used with %qs"
+ msgstr "%qs se debe usar con %qs"
+
+-#: config/mips/mips.c:12139
++#: config/mips/mips.c:12211
+ #, gcc-internal-format
+ msgid "the %qs architecture does not support paired-single instructions"
+ msgstr "la arquitectura %qs no admite las instrucciones par-sencillo"
+
+ #. Output assembler code to FILE to increment profiler label # LABELNO
+ #. for profiling a function entry.
+-#: config/mips/mips.h:2110
++#: config/mips/mips.h:2111
+ #, gcc-internal-format
+ msgid "mips16 function profiling"
+ msgstr "análisis de perfil de las funciones mips16"
+@@ -25674,28 +25645,28 @@
+ msgid "MMIX Internal: Last named vararg would not fit in a register"
+ msgstr "MMIX Interno: El último vararg nombrado no cabe en un registro"
+
+-#: config/mmix/mmix.c:1495 config/mmix/mmix.c:1519 config/mmix/mmix.c:1635
++#: config/mmix/mmix.c:1491 config/mmix/mmix.c:1515 config/mmix/mmix.c:1631
+ #, gcc-internal-format
+ msgid "MMIX Internal: Bad register: %d"
+ msgstr "MMIX Interno: Registro erróneo: %d"
+
+ #. Presumably there's a missing case above if we get here.
+-#: config/mmix/mmix.c:1627
++#: config/mmix/mmix.c:1623
+ #, gcc-internal-format
+ msgid "MMIX Internal: Missing %qc case in mmix_print_operand"
+ msgstr "MMIX Interno: Falta un case %qc en mmix_print_operand"
+
+-#: config/mmix/mmix.c:1913
++#: config/mmix/mmix.c:1909
+ #, gcc-internal-format
+ msgid "stack frame not a multiple of 8 bytes: %wd"
+ msgstr "el marco de pila no es un múltiplo de 8 bytes: %wd"
+
+-#: config/mmix/mmix.c:2149
++#: config/mmix/mmix.c:2145
+ #, gcc-internal-format
+ msgid "stack frame not a multiple of octabyte: %wd"
+ msgstr "el marco de pila no es un múltiplo de octabyte: %wd"
+
+-#: config/mmix/mmix.c:2489 config/mmix/mmix.c:2553
++#: config/mmix/mmix.c:2485 config/mmix/mmix.c:2549
+ #, gcc-internal-format
+ msgid "MMIX Internal: %s is not a shiftable int"
+ msgstr "MMIX Interno: %s no es un int desplazable"
+@@ -25705,27 +25676,27 @@
+ msgid "info pointer NULL"
+ msgstr "el puntero de información es NULL"
+
+-#: config/pa/pa.c:479
++#: config/pa/pa.c:482
+ #, gcc-internal-format
+ msgid "PIC code generation is not supported in the portable runtime model"
+ msgstr "La generación de código PIC no se admite en el modelo transportable de tiempo de ejecución"
+
+-#: config/pa/pa.c:484
++#: config/pa/pa.c:487
+ #, gcc-internal-format
+ msgid "PIC code generation is not compatible with fast indirect calls"
+ msgstr "La generación de código PIC no es compatible con las llamadas rápidas indirectas"
+
+-#: config/pa/pa.c:489
++#: config/pa/pa.c:492
+ #, gcc-internal-format
+ msgid "-g is only supported when using GAS on this processor,"
+ msgstr "-g sólo se admite cuando se usa GAS en este procesador,"
+
+-#: config/pa/pa.c:490
++#: config/pa/pa.c:493
+ #, gcc-internal-format
+ msgid "-g option disabled"
+ msgstr "opción -g desactivada"
+
+-#: config/pa/pa.c:8285
++#: config/pa/pa.c:8373
+ #, gcc-internal-format
+ msgid "alignment (%u) for %s exceeds maximum alignment for global common data. Using %u"
+ msgstr "la alineación (%u) para %s excede la alineación máxima para los datos comunes globales. Se usará %u"
+@@ -25794,251 +25765,252 @@
+ msgid "junk at end of #pragma longcall"
+ msgstr "basura al final de #pragma longcall"
+
+-#: config/rs6000/rs6000-c.c:2550
++#: config/rs6000/rs6000-c.c:2553
+ #, gcc-internal-format
+ msgid "passing arg %d of %qE discards qualifiers frompointer target type"
+ msgstr "el paso del argumento %d de %qE descarta los calificadores del tipo del destino del puntero"
+
+-#: config/rs6000/rs6000-c.c:2593
++#: config/rs6000/rs6000-c.c:2596
+ #, gcc-internal-format
+ msgid "invalid parameter combination for AltiVec intrinsic"
+ msgstr "combinación de parámetros inválida para el intrínseco AltiVec"
+
+-#: config/rs6000/rs6000.c:1294
++#: config/rs6000/rs6000.c:1312
+ #, gcc-internal-format
+ msgid "-mdynamic-no-pic overrides -fpic or -fPIC"
+ msgstr "-mdynamic-no-pic anula a -fpic o -fPIC"
+
+-#: config/rs6000/rs6000.c:1305
++#: config/rs6000/rs6000.c:1323
+ #, gcc-internal-format
+ msgid "-m64 requires PowerPC64 architecture, enabling"
+ msgstr "-m64 requiere la arquitectura PowerPC64, activando"
+
+-#: config/rs6000/rs6000.c:1528
++#: config/rs6000/rs6000.c:1546
+ #, gcc-internal-format
+ msgid "-mmultiple is not supported on little endian systems"
+ msgstr "-mmultiple no se admite en sistemas little endian"
+
+-#: config/rs6000/rs6000.c:1535
++#: config/rs6000/rs6000.c:1553
+ #, gcc-internal-format
+ msgid "-mstring is not supported on little endian systems"
+ msgstr "-mstring no se admite en sistemas little endian"
+
+-#: config/rs6000/rs6000.c:1549
++#: config/rs6000/rs6000.c:1567
+ #, gcc-internal-format
+ msgid "unknown -mdebug-%s switch"
+ msgstr "interruptor -mdebug-%s desconocido"
+
+-#: config/rs6000/rs6000.c:1561
++#: config/rs6000/rs6000.c:1579
+ #, gcc-internal-format
+ msgid "unknown -mtraceback arg %qs; expecting %<full%>, %<partial%> or %<none%>"
+ msgstr "argumento de -mtraceback %qs desconocido; se esperaba %<full%>, %<partial%> o %<none%>"
+
+-#: config/rs6000/rs6000.c:1973
++#: config/rs6000/rs6000.c:2003
+ #, gcc-internal-format
+ msgid "unknown -m%s= option specified: '%s'"
+ msgstr "se desconoce la opción -m%s= especificada: '%s'"
+
+-#: config/rs6000/rs6000.c:2186
++#: config/rs6000/rs6000.c:2218
+ #, gcc-internal-format
+ msgid "not configured for ABI: '%s'"
+ msgstr "no se configuró para ABI: '%s'"
+
+-#: config/rs6000/rs6000.c:2199
++#: config/rs6000/rs6000.c:2231
+ #, gcc-internal-format
+ msgid "Using darwin64 ABI"
+ msgstr "Se usa ABI darwin64"
+
+-#: config/rs6000/rs6000.c:2204
++#: config/rs6000/rs6000.c:2236
+ #, gcc-internal-format
+ msgid "Using old darwin ABI"
+ msgstr "Se usa ABI de darwin antiguo"
+
+-#: config/rs6000/rs6000.c:2211
++#: config/rs6000/rs6000.c:2243
+ #, gcc-internal-format
+ msgid "Using IBM extended precision long double"
+ msgstr "Se usa long double de precisión extendida de IBM"
+
+-#: config/rs6000/rs6000.c:2217
++#: config/rs6000/rs6000.c:2249
+ #, gcc-internal-format
+ msgid "Using IEEE extended precision long double"
+ msgstr "Se usa long double de precisión extendida de IEEE"
+
+-#: config/rs6000/rs6000.c:2222
++#: config/rs6000/rs6000.c:2254
+ #, gcc-internal-format
+ msgid "unknown ABI specified: '%s'"
+ msgstr "ABI especificada desconocida: '%s'"
+
+-#: config/rs6000/rs6000.c:2249
++#: config/rs6000/rs6000.c:2281
+ #, gcc-internal-format
+ msgid "invalid option for -mfloat-gprs: '%s'"
+ msgstr "opción inválida para -mfloat-gprs: '%s'"
+
+-#: config/rs6000/rs6000.c:2259
++#: config/rs6000/rs6000.c:2291
+ #, gcc-internal-format
+ msgid "Unknown switch -mlong-double-%s"
+ msgstr "Interruptor -mlong-double-%s desconocido"
+
+-#: config/rs6000/rs6000.c:2280
++#: config/rs6000/rs6000.c:2312
+ #, gcc-internal-format
+ msgid "-malign-power is not supported for 64-bit Darwin; it is incompatible with the installed C and C++ libraries"
+ msgstr "no se admite -malign-power para Darwin de 64-bit; es incompatible con las bibliotecas C y C++ instaladas"
+
+-#: config/rs6000/rs6000.c:2288
++#: config/rs6000/rs6000.c:2320
+ #, gcc-internal-format
+ msgid "unknown -malign-XXXXX option specified: '%s'"
+ msgstr "opción -malign-XXXXX especificada desconocida: '%s'"
+
+-#: config/rs6000/rs6000.c:4989
++#: config/rs6000/rs6000.c:5087
+ #, gcc-internal-format
+ msgid "GCC vector returned by reference: non-standard ABI extension with no compatibility guarantee"
+ msgstr "Se devolvió un vector GCC por referencia: extensión de ABI no estándar sin garantía de compatibilidad"
+
+-#: config/rs6000/rs6000.c:5062
++#: config/rs6000/rs6000.c:5160
+ #, gcc-internal-format
+ msgid "cannot return value in vector register because altivec instructions are disabled, use -maltivec to enable them"
+ msgstr "no se puede devolver un valor en el registro vector porque las instrucciones altivec están desactivadas, use -maltivec para activarlas"
+
+-#: config/rs6000/rs6000.c:5320
++#: config/rs6000/rs6000.c:5418
+ #, gcc-internal-format
+ msgid "cannot pass argument in vector register because altivec instructions are disabled, use -maltivec to enable them"
+ msgstr "no se puede pasar argumentos en el registro vector porque las instrucciones altivec están desactivadas, use -maltivec para activarlas"
+
+-#: config/rs6000/rs6000.c:6221
++#: config/rs6000/rs6000.c:6322
+ #, gcc-internal-format
+ msgid "GCC vector passed by reference: non-standard ABI extension with no compatibility guarantee"
+ msgstr "vector GCC pasado por referencia: extensión ABI que no es estándar sin garantía de compatibilidad"
+
+-#: config/rs6000/rs6000.c:7461
++#: config/rs6000/rs6000.c:7568
+ #, gcc-internal-format
+ msgid "argument 1 must be a 5-bit signed literal"
+ msgstr "el argumento 1 debe ser una literal con signo de 5-bit"
+
+-#: config/rs6000/rs6000.c:7564 config/rs6000/rs6000.c:8475
++#: config/rs6000/rs6000.c:7671 config/rs6000/rs6000.c:8582
+ #, gcc-internal-format
+ msgid "argument 2 must be a 5-bit unsigned literal"
+ msgstr "el argumento 2 debe ser una literal sin signo de 5-bit"
+
+-#: config/rs6000/rs6000.c:7604
++#: config/rs6000/rs6000.c:7711
+ #, gcc-internal-format
+ msgid "argument 1 of __builtin_altivec_predicate must be a constant"
+ msgstr "el argumento 1 de __builtin_altivec_predicate debe ser una constante"
+
+-#: config/rs6000/rs6000.c:7657
++#: config/rs6000/rs6000.c:7764
+ #, gcc-internal-format
+ msgid "argument 1 of __builtin_altivec_predicate is out of range"
+ msgstr "el argumento 1 de __builtin_altivec_predicate está fuera de rango"
+
+-#: config/rs6000/rs6000.c:7906
++#: config/rs6000/rs6000.c:8013
+ #, gcc-internal-format
+ msgid "argument 3 must be a 4-bit unsigned literal"
+ msgstr "el argumento 3 debe ser una literal sin signo de 4-bit"
+
+-#: config/rs6000/rs6000.c:8078
++#: config/rs6000/rs6000.c:8185
+ #, gcc-internal-format
+ msgid "argument to %qs must be a 2-bit unsigned literal"
+ msgstr "el argumento para %qs debe ser una literal sin signo de 2-bit"
+
+-#: config/rs6000/rs6000.c:8220
++#: config/rs6000/rs6000.c:8327
+ #, gcc-internal-format
+ msgid "unresolved overload for Altivec builtin %qF"
+ msgstr "sobrecarga sin resolver para el interno Altivec %qF"
+
+-#: config/rs6000/rs6000.c:8302
++#: config/rs6000/rs6000.c:8409
+ #, gcc-internal-format
+ msgid "argument to dss must be a 2-bit unsigned literal"
+ msgstr "el argumento para dss debe ser una literal sin signo de 2-bit"
+
+ # continuar aqui
+-#: config/rs6000/rs6000.c:8595
++#: config/rs6000/rs6000.c:8702
+ #, gcc-internal-format
+ msgid "argument 1 of __builtin_paired_predicate must be a constant"
+ msgstr "el argumento 1 de __builtin_paired_predicate debe ser una constante"
+
+-#: config/rs6000/rs6000.c:8642
++#: config/rs6000/rs6000.c:8749
+ #, gcc-internal-format
+ msgid "argument 1 of __builtin_paired_predicate is out of range"
+ msgstr "el argumento 1 de __builtin_paired_predicate está fuera de rango"
+
+-#: config/rs6000/rs6000.c:8667
++#: config/rs6000/rs6000.c:8774
+ #, gcc-internal-format
+ msgid "argument 1 of __builtin_spe_predicate must be a constant"
+ msgstr "el argumento 1 de __builtin_spe_predicate debe ser una constante"
+
+-#: config/rs6000/rs6000.c:8739
++#: config/rs6000/rs6000.c:8846
+ #, gcc-internal-format
+ msgid "argument 1 of __builtin_spe_predicate is out of range"
+ msgstr "el argumento 1 de __builtin_spe_predicate está fuera de rango"
+
+-#: config/rs6000/rs6000.c:14977
++#: config/rs6000/rs6000.c:15189
+ #, gcc-internal-format
+ msgid "stack frame too large"
+ msgstr "marco de pila demasiado grande"
+
+-#: config/rs6000/rs6000.c:17598
++#: config/rs6000/rs6000.c:17811
+ #, 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.c:19470
++#: config/rs6000/rs6000.c:19687
+ #, gcc-internal-format
+ msgid "use of %<long%> in AltiVec types is invalid for 64-bit code"
+ msgstr "el uso de %<long%> en tipos AltiVec es inválido para código de 64 bit"
+
+-#: config/rs6000/rs6000.c:19472
++#: config/rs6000/rs6000.c:19689
+ #, gcc-internal-format
+ msgid "use of %<long%> in AltiVec types is deprecated; use %<int%>"
+ msgstr "el uso de %<long%> en tipos AltiVec es obsoleto; use %<int%>"
+
+-#: config/rs6000/rs6000.c:19476
++#: config/rs6000/rs6000.c:19693
+ #, gcc-internal-format
+ msgid "use of %<long long%> in AltiVec types is invalid"
+ msgstr "el uso de %<long long%> en tipos AltiVec es inválido"
+
+-#: config/rs6000/rs6000.c:19478
++#: config/rs6000/rs6000.c:19695
+ #, gcc-internal-format
+ msgid "use of %<double%> in AltiVec types is invalid"
+ msgstr "el uso de %<double%> en tipos AltiVec es inválido"
+
+-#: config/rs6000/rs6000.c:19480
++#: config/rs6000/rs6000.c:19697
+ #, gcc-internal-format
+ msgid "use of %<long double%> in AltiVec types is invalid"
+ msgstr "el uso de %<long double%> en tipos AltiVec es inválido"
+
+-#: config/rs6000/rs6000.c:19482
++#: config/rs6000/rs6000.c:19699
+ #, gcc-internal-format
+ msgid "use of boolean types in AltiVec types is invalid"
+ msgstr "el uso de tipos booleanos en tipos AltiVec es inválido"
+
+-#: config/rs6000/rs6000.c:19484
++#: config/rs6000/rs6000.c:19701
+ #, gcc-internal-format
+ msgid "use of %<complex%> in AltiVec types is invalid"
+ msgstr "el uso de %<complex%> en tipos AltiVec es inválido"
+
+-#: config/rs6000/rs6000.c:19486
++#: config/rs6000/rs6000.c:19703
+ #, gcc-internal-format
+ 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 inválido"
+
+ #: config/rs6000/aix43.h:38 config/rs6000/aix51.h:37 config/rs6000/aix52.h:38
+-#: config/rs6000/aix53.h:38
++#: config/rs6000/aix53.h:38 config/rs6000/aix61.h:38
+ #, gcc-internal-format
+ msgid "-maix64 and POWER architecture are incompatible"
+ msgstr "-maix64 y la arquitectura POWER son incompatibles"
+
+ #: config/rs6000/aix43.h:43 config/rs6000/aix51.h:42 config/rs6000/aix52.h:43
+-#: config/rs6000/aix53.h:43
++#: config/rs6000/aix53.h:43 config/rs6000/aix61.h:43
+ #, gcc-internal-format
+ msgid "-maix64 requires PowerPC64 architecture remain enabled"
+ msgstr "-maix64 requiere que la arquitectura PowerPC64 permanezca activada"
+
+ #: config/rs6000/aix43.h:49 config/rs6000/aix52.h:49 config/rs6000/aix53.h:49
++#: config/rs6000/aix61.h:49
+ #, gcc-internal-format
+ msgid "soft-float and long-double-128 are incompatible"
+ msgstr "soft-float y long-double-128 son incompatibles"
+
+ #: config/rs6000/aix43.h:53 config/rs6000/aix51.h:46 config/rs6000/aix52.h:53
+-#: config/rs6000/aix53.h:53
++#: config/rs6000/aix53.h:53 config/rs6000/aix61.h:53
+ #, gcc-internal-format
+ msgid "-maix64 required: 64-bit computation with 32-bit addressing not yet supported"
+ msgstr "se requiere -maix64: aún no se admite el cálculo de 64 bits con direccionamiento de 32 bits"
+@@ -26080,7 +26052,7 @@
+ #. Number of bytes into the frame return addresses can be found. See
+ #. rs6000_stack_info in rs6000.c for more information on how the different
+ #. abi's store the return address.
+-#: config/rs6000/rs6000.h:1560
++#: config/rs6000/rs6000.h:1569
+ #, gcc-internal-format
+ msgid "RETURN_ADDRESS_OFFSET not supported"
+ msgstr "no se admite RETURN_ADDRESS_OFFSET"
+@@ -26203,22 +26175,22 @@
+ msgid "-mstack-guard implies use of -mstack-size"
+ msgstr "-mstack-guard implica el uso de -mstack-size"
+
+-#: config/s390/s390.c:6640
++#: config/s390/s390.c:6679
+ #, gcc-internal-format
+ msgid "total size of local variables exceeds architecture limit"
+ msgstr "el tamaño total de las variables locales excede el límite de la arquitectura"
+
+-#: config/s390/s390.c:7298
++#: config/s390/s390.c:7349
+ #, gcc-internal-format
+ msgid "frame size of function %qs is "
+ msgstr "el tamaño de marco de la función %qs es "
+
+-#: config/s390/s390.c:7328
++#: config/s390/s390.c:7379
+ #, gcc-internal-format
+ msgid "frame size of %qs is "
+ msgstr "el tamaño de marco de %qs es "
+
+-#: config/s390/s390.c:7332
++#: config/s390/s390.c:7383
+ #, gcc-internal-format
+ msgid "%qs uses dynamic stack allocation"
+ msgstr "%qs utiliza alojamiento dinámico de pila"
+@@ -26228,44 +26200,44 @@
+ msgid "-fPIC and -G are incompatible"
+ msgstr "-fPIC y -G son incompatibles"
+
+-#: config/sh/sh.c:6894
++#: config/sh/sh.c:6897
+ #, gcc-internal-format
+ msgid "__builtin_saveregs not supported by this subtarget"
+ msgstr "no se admite __builtin_saveregs en este subobjetivo"
+
+-#: config/sh/sh.c:7904
++#: config/sh/sh.c:7907
+ #, gcc-internal-format
+ msgid "%qs attribute only applies to interrupt functions"
+ msgstr "el atributo %qs se aplica solamente a funciones de interrupción"
+
+-#: config/sh/sh.c:7990
++#: config/sh/sh.c:7993
+ #, gcc-internal-format
+ msgid "attribute interrupt_handler is not compatible with -m5-compact"
+ msgstr "el atributo interrupt_handler no es compatible con -m5-compact"
+
+ #. The argument must be a constant string.
+-#: config/sh/sh.c:8012
++#: config/sh/sh.c:8015
+ #, gcc-internal-format
+ msgid "%qs attribute argument not a string constant"
+ msgstr "el argumento del atributo %qs no es una constante de cadena"
+
+ #. The argument must be a constant integer.
+-#: config/sh/sh.c:8037
++#: config/sh/sh.c:8040
+ #, gcc-internal-format
+ msgid "%qs attribute argument not an integer constant"
+ msgstr "el argumento del atributo %qs no es una constante entera"
+
+-#: config/sh/sh.c:10085
++#: config/sh/sh.c:10084
+ #, gcc-internal-format
+ msgid "r0 needs to be available as a call-clobbered register"
+ msgstr "r0 necesita estar disponible como un registro sobreescrito por llamada"
+
+-#: config/sh/sh.c:10106
++#: config/sh/sh.c:10105
+ #, gcc-internal-format
+ msgid "Need a second call-clobbered general purpose register"
+ msgstr "Se necesita un segundo registro de propósito general sobreescrito por llamada"
+
+-#: config/sh/sh.c:10114
++#: config/sh/sh.c:10113
+ #, gcc-internal-format
+ msgid "Need a call-clobbered target register"
+ msgstr "Se necesita un registro objetivo sobreescrito por llamada"
+@@ -26295,7 +26267,7 @@
+ msgid "%s %q+D %s after being referenced with dllimport linkage"
+ msgstr "%s %q+D %s después de referenciarse con enlazado dllimport"
+
+-#: config/sh/symbian.c:891 cp/tree.c:2737
++#: config/sh/symbian.c:891 cp/tree.c:2753
+ #, gcc-internal-format
+ msgid "lang_* check: failed in %s, at %s:%d"
+ msgstr "revisión lang_*: falló en %s, en %s:%d"
+@@ -26338,17 +26310,17 @@
+ msgid "-mrelax is only supported for RTP PIC"
+ msgstr "-mrelax sólo se admite pare el PIC de RTP"
+
+-#: config/sparc/sparc.c:698
++#: config/sparc/sparc.c:701
+ #, gcc-internal-format
+ msgid "%s is not supported by this configuration"
+ msgstr "%s no se admite en esta configuración"
+
+-#: config/sparc/sparc.c:705
++#: config/sparc/sparc.c:708
+ #, gcc-internal-format
+ msgid "-mlong-double-64 not allowed with -m64"
+ msgstr "no se permite -mlong-double-64 con -m64"
+
+-#: config/sparc/sparc.c:730
++#: config/sparc/sparc.c:733
+ #, gcc-internal-format
+ msgid "-mcmodel= is not supported on 32 bit systems"
+ msgstr "-mcmodel= no se admite en sistemas de 32 bit"
+@@ -26368,67 +26340,57 @@
+ msgid "parameter list does not match a valid signature for %s()"
+ msgstr "la lista de parámetros no ofrece una firma válida para %s()"
+
+-#: config/spu/spu.c:337 config/spu/spu.c:348
++#: config/spu/spu.c:341 config/spu/spu.c:352
+ #, gcc-internal-format
+ msgid "Unknown architecture '%s'"
+ msgstr "Arquitectura desconocida '%s'"
+
+-#: config/spu/spu.c:3034
++#: config/spu/spu.c:3023
+ #, gcc-internal-format
+ msgid "`%s' attribute ignored"
+ msgstr "se descarta el atributo `%s'"
+
+-#: config/spu/spu.c:5218
++#: config/spu/spu.c:5207
+ #, gcc-internal-format
+ msgid "%s expects an integer literal in the range [%d, %d]."
+ msgstr "%s espera una literal entera en el rango [%d, %d]."
+
+-#: config/spu/spu.c:5238
++#: config/spu/spu.c:5227
+ #, gcc-internal-format
+ msgid "%s expects an integer literal in the range [%d, %d]. ("
+ msgstr "%s espera una literal entera en el rango [%d, %d]. ("
+
+-#: config/spu/spu.c:5268
++#: config/spu/spu.c:5257
+ #, gcc-internal-format
+ msgid "%d least significant bits of %s are ignored."
+ msgstr "se descartan los %d bits menos significativos de %s."
+
+-#: config/stormy16/stormy16.c:499
++#: config/stormy16/stormy16.c:1080
+ #, gcc-internal-format
+-msgid "constant halfword load operand out of range"
+-msgstr "el operando de carga de una constante halfword está fuera de rango"
+-
+-#: config/stormy16/stormy16.c:509
+-#, gcc-internal-format
+-msgid "constant arithmetic operand out of range"
+-msgstr "el operando aritmético constante está fuera de rango"
+-
+-#: config/stormy16/stormy16.c:1108
+-#, gcc-internal-format
+ msgid "local variable memory requirements exceed capacity"
+ msgstr "los requerimientos de memoria para variables locales excede la capacidad"
+
+-#: config/stormy16/stormy16.c:1274
++#: config/stormy16/stormy16.c:1246
+ #, gcc-internal-format
+ msgid "function_profiler support"
+ msgstr "soporte para function_profiler"
+
+-#: config/stormy16/stormy16.c:1363
++#: config/stormy16/stormy16.c:1335
+ #, gcc-internal-format
+ msgid "cannot use va_start in interrupt function"
+ msgstr "no se puede usar va_start en una función de interrupción"
+
+-#: config/stormy16/stormy16.c:1906
++#: config/stormy16/stormy16.c:1879
+ #, gcc-internal-format
+ msgid "switch statement of size %lu entries too large"
+ msgstr "la declaración switch de tamaño de %lu entradas es demasiado grande"
+
+-#: config/stormy16/stormy16.c:2274
++#: config/stormy16/stormy16.c:2247
+ #, gcc-internal-format
+ msgid "%<__BELOW100__%> attribute only applies to variables"
+ msgstr "el atributo %<__BELOW100__%> solamente se aplica a variables"
+
+-#: config/stormy16/stormy16.c:2281
++#: config/stormy16/stormy16.c:2254
+ #, gcc-internal-format
+ msgid "__BELOW100__ attribute not allowed with auto storage class"
+ msgstr "no se permite el atributo __BELOW100__ con una clase de auto almacenamiento"
+@@ -26553,345 +26515,345 @@
+ msgid "too much stack space to prepare: %d"
+ msgstr "demasiado espacio de pila para preparar: %d"
+
+-#: config/xtensa/xtensa.c:1861
++#: config/xtensa/xtensa.c:1865
+ #, gcc-internal-format
+ msgid "boolean registers required for the floating-point option"
+ msgstr "se requieren registros booleanos para la opción de coma flotante"
+
+-#: config/xtensa/xtensa.c:1896
++#: config/xtensa/xtensa.c:1900
+ #, gcc-internal-format
+ msgid "-f%s is not supported with CONST16 instructions"
+ msgstr "no se admite -f%s con instrucciones CONST16"
+
+-#: config/xtensa/xtensa.c:1901
++#: config/xtensa/xtensa.c:1905
+ #, gcc-internal-format
+ msgid "PIC is required but not supported with CONST16 instructions"
+ msgstr "se requiere PIC pero no se admite con instrucciones CONST16"
+
+-#: config/xtensa/xtensa.c:2745 config/xtensa/xtensa.c:2765
++#: config/xtensa/xtensa.c:2770 config/xtensa/xtensa.c:2790
+ #, gcc-internal-format
+ msgid "bad builtin code"
+ msgstr "código interno erróneo"
+
+-#: config/xtensa/xtensa.c:2873
++#: config/xtensa/xtensa.c:2898
+ #, gcc-internal-format
+ msgid "only uninitialized variables can be placed in a .bss section"
+ msgstr "sólo las variables sin inicializar se pueden colocar en una sección .bss"
+
+-#: ada/misc.c:261
++#: ada/misc.c:260
+ #, gcc-internal-format
+ msgid "missing argument to \"-%s\""
+ msgstr "faltan argumentos para \"-%s\""
+
+-#: ada/misc.c:311
++#: ada/misc.c:310
+ #, gcc-internal-format
+ msgid "%<-gnat%> misspelled as %<-gant%>"
+ msgstr "%<-gnat%> escrito incorrectamente como %<-gant%>"
+
+-#: cp/call.c:2462
++#: cp/call.c:2448
+ #, gcc-internal-format
+ msgid "%s %D(%T, %T, %T) <built-in>"
+ msgstr "%s %D(%T, %T, %T) <interno>"
+
+-#: cp/call.c:2467
++#: cp/call.c:2453
+ #, gcc-internal-format
+ msgid "%s %D(%T, %T) <built-in>"
+ msgstr "%s %D(%T, %T) <interno>"
+
+-#: cp/call.c:2471
++#: cp/call.c:2457
+ #, gcc-internal-format
+ msgid "%s %D(%T) <built-in>"
+ msgstr "%s %D(%T) <interno>"
+
+-#: cp/call.c:2475
++#: cp/call.c:2461
+ #, gcc-internal-format
+ msgid "%s %T <conversion>"
+ msgstr "%s %T <conversión>"
+
+-#: cp/call.c:2477
++#: cp/call.c:2463
+ #, gcc-internal-format
+ msgid "%s %+#D <near match>"
+ msgstr "%s %+#D <coincidencia cercana>"
+
+-#: cp/call.c:2479 cp/pt.c:1397
++#: cp/call.c:2465 cp/pt.c:1405
+ #, gcc-internal-format
+ msgid "%s %+#D"
+ msgstr "%s %+#D"
+
+-#: cp/call.c:2720
++#: cp/call.c:2706
+ #, gcc-internal-format
+ msgid "conversion from %qT to %qT is ambiguous"
+ msgstr "la conversión de %qT a %qT es ambigua"
+
+-#: cp/call.c:2873 cp/call.c:2891 cp/call.c:2954
++#: cp/call.c:2859 cp/call.c:2877 cp/call.c:2940
+ #, gcc-internal-format
+ msgid "no matching function for call to %<%D(%A)%>"
+ msgstr "no hay una función coincidente para la llamada a %<%D(%A)%>"
+
+-#: cp/call.c:2894 cp/call.c:2957
++#: cp/call.c:2880 cp/call.c:2943
+ #, gcc-internal-format
+ msgid "call of overloaded %<%D(%A)%> is ambiguous"
+ msgstr "la llamada del %<%D(%A)%> sobrecargado es ambigua"
+
+ #. It's no good looking for an overloaded operator() on a
+ #. pointer-to-member-function.
+-#: cp/call.c:3029
++#: cp/call.c:3015
+ #, gcc-internal-format
+ msgid "pointer-to-member function %E cannot be called without an object; consider using .* or ->*"
+ msgstr "la función puntero-a-miembro %E no se puede llamar dentro de un objeto; considere utilizar .* o ->*"
+
+-#: cp/call.c:3103
++#: cp/call.c:3089
+ #, gcc-internal-format
+ msgid "no match for call to %<(%T) (%A)%>"
+ msgstr "no hay coincidencia para la llamada a %<(%T) (%A)%>"
+
+-#: cp/call.c:3112
++#: cp/call.c:3098
+ #, gcc-internal-format
+ msgid "call of %<(%T) (%A)%> is ambiguous"
+ msgstr "la llamada de %<(%T) (%A)%> es ambigua"
+
+-#: cp/call.c:3150
++#: cp/call.c:3136
+ #, gcc-internal-format
+ msgid "%s for ternary %<operator?:%> in %<%E ? %E : %E%>"
+ msgstr "%s para el %<operator?:%> terniario en %<%E ? %E : %E%>"
+
+-#: cp/call.c:3156
++#: cp/call.c:3142
+ #, gcc-internal-format
+ msgid "%s for %<operator%s%> in %<%E%s%>"
+ msgstr "%s para %<operator%s%> en %<%E%s%>"
+
+-#: cp/call.c:3160
++#: cp/call.c:3146
+ #, gcc-internal-format
+ msgid "%s for %<operator[]%> in %<%E[%E]%>"
+ msgstr "%s para el %<operador[]%> en %<%E[%E]%>"
+
+-#: cp/call.c:3165
++#: cp/call.c:3151
+ #, gcc-internal-format
+ msgid "%s for %qs in %<%s %E%>"
+ msgstr "%s para %qs en %<%s %E%>"
+
+-#: cp/call.c:3170
++#: cp/call.c:3156
+ #, gcc-internal-format
+ msgid "%s for %<operator%s%> in %<%E %s %E%>"
+ msgstr "%s para %<operator%s%> en %<%E %s %E%>"
+
+-#: cp/call.c:3173
++#: cp/call.c:3159
+ #, gcc-internal-format
+ msgid "%s for %<operator%s%> in %<%s%E%>"
+ msgstr "%s para %<operador%s%> en %<%s%E%>"
+
+-#: cp/call.c:3265
++#: cp/call.c:3251
+ #, gcc-internal-format
+ msgid "ISO C++ forbids omitting the middle term of a ?: expression"
+ msgstr "ISO C++ prohíbe la omisión del término medio de una expresión ?:"
+
+-#: cp/call.c:3343
++#: cp/call.c:3329
+ #, gcc-internal-format
+ msgid "second operand to the conditional operator is of type %<void%>, but the third operand is neither a throw-expression nor of type %<void%>"
+ msgstr "el segundo operando del operador condicional es del tipo %<void%>, pero el tercer operando no es una expresión throw ni del tipo %<void%>"
+
+-#: cp/call.c:3348
++#: cp/call.c:3334
+ #, gcc-internal-format
+ msgid "third operand to the conditional operator is of type %<void%>, but the second operand is neither a throw-expression nor of type %<void%>"
+ msgstr "el tercer operando del operador condicional es del tipo %<void%>, pero el segundo operando no es una expresión throw ni del tipo %<void%>"
+
+-#: cp/call.c:3389 cp/call.c:3609
++#: cp/call.c:3375 cp/call.c:3595
+ #, gcc-internal-format
+ msgid "operands to ?: have different types %qT and %qT"
+ msgstr "los operandos de ?: tienen tipos diferentes %qT y %qT"
+
+-#: cp/call.c:3563
++#: cp/call.c:3549
+ #, gcc-internal-format
+ msgid "enumeral mismatch in conditional expression: %qT vs %qT"
+ msgstr "no coincide el enumeral en la expresión condicional: %qT vs %qT"
+
+-#: cp/call.c:3570
++#: cp/call.c:3556
+ #, gcc-internal-format
+ msgid "enumeral and non-enumeral type in conditional expression"
+ msgstr "tipos enumeral y no enumeral en la expresión condicional"
+
+-#: cp/call.c:3874
++#: cp/call.c:3860
+ #, gcc-internal-format
+ msgid "no %<%D(int)%> declared for postfix %qs, trying prefix operator instead"
+ msgstr "no se declaró %<%D(int)%> para el %qs postfijo, intentando en su lugar el operador prefijo"
+
+-#: cp/call.c:3947
++#: cp/call.c:3936
+ #, gcc-internal-format
+ msgid "comparison between %q#T and %q#T"
+ msgstr "comparación entre %q#T y %q#T"
+
+-#: cp/call.c:4229
++#: cp/call.c:4218
+ #, gcc-internal-format
+ msgid "no corresponding deallocation function for `%D'"
+ msgstr "no existe una función de desalojo correspondiente para `%D'"
+
+-#: cp/call.c:4234
++#: cp/call.c:4223
+ #, gcc-internal-format
+ msgid "no suitable %<operator %s%> for %qT"
+ msgstr "no hay un %<operator %s%> adecuado para %qT"
+
+-#: cp/call.c:4252
++#: cp/call.c:4241
+ #, gcc-internal-format
+ msgid "%q+#D is private"
+ msgstr "%q+#D es privado"
+
+-#: cp/call.c:4254
++#: cp/call.c:4243
+ #, gcc-internal-format
+ msgid "%q+#D is protected"
+ msgstr "%q+#D está protegido"
+
+-#: cp/call.c:4256
++#: cp/call.c:4245
+ #, gcc-internal-format
+ msgid "%q+#D is inaccessible"
+ msgstr "%q+#D es inaccesible"
+
+-#: cp/call.c:4257
++#: cp/call.c:4246
+ #, gcc-internal-format
+ msgid "within this context"
+ msgstr "desde este contexto"
+
+-#: cp/call.c:4303
++#: cp/call.c:4292
+ #, gcc-internal-format
+ 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.c:4306
++#: cp/call.c:4295
+ #, gcc-internal-format
+ msgid "converting to non-pointer type %qT from NULL"
+ msgstr "convirtiendo al tipo %qT que no es puntero desde NULL"
+
+-#: cp/call.c:4312
++#: cp/call.c:4301
+ #, gcc-internal-format
+ msgid "converting %<false%> to pointer type for argument %P of %qD"
+ msgstr "se convierte %<false%> a tipo puntero para el argumento %P de %qD"
+
+-#: cp/call.c:4356 cp/cvt.c:217
++#: cp/call.c:4346 cp/cvt.c:217
+ #, gcc-internal-format
+ msgid "invalid conversion from %qT to %qT"
+ msgstr "conversión inválida de %qT a %qT"
+
+-#: cp/call.c:4358
++#: cp/call.c:4348
+ #, gcc-internal-format
+ msgid " initializing argument %P of %qD"
+ msgstr " argumento de inicialización %P de %qD"
+
+-#: cp/call.c:4491
++#: cp/call.c:4498
+ #, gcc-internal-format
+ msgid "cannot bind bitfield %qE to %qT"
+ msgstr "no se puede unir el campo de bits %qE a %qT"
+
+-#: cp/call.c:4494 cp/call.c:4510
++#: cp/call.c:4501 cp/call.c:4517
+ #, gcc-internal-format
+ msgid "cannot bind packed field %qE to %qT"
+ msgstr "no se unir el campo empacado %qE a %qT"
+
+-#: cp/call.c:4497
++#: cp/call.c:4504
+ #, gcc-internal-format
+ msgid "cannot bind rvalue %qE to %qT"
+ msgstr "no se puede unir el r-valor %qE a %qT"
+
+-#: cp/call.c:4611
++#: cp/call.c:4620
+ #, gcc-internal-format
+ msgid "cannot pass objects of non-POD type %q#T through %<...%>; call will abort at runtime"
+ msgstr "no se puede pasar objetos de tipo %q#T que no es POD a través de %<...%>; la llamada abortará en tiempo de ejecución"
+
+ #. Undefined behavior [expr.call] 5.2.2/7.
+-#: cp/call.c:4639
++#: cp/call.c:4648
+ #, gcc-internal-format
+ msgid "cannot receive objects of non-POD type %q#T through %<...%>; call will abort at runtime"
+ msgstr "no se puede recibir objetos de tipo %q#T que no es POD a través de %<...%>; la llamada abortará en tiempo de ejecución"
+
+-#: cp/call.c:4687
++#: cp/call.c:4696
+ #, gcc-internal-format
+ msgid "the default argument for parameter %d of %qD has not yet been parsed"
+ msgstr "el argumento por defecto para el parámetro %d de %qD no se ha decodificado aún"
+
+-#: cp/call.c:4697
++#: cp/call.c:4706
+ #, gcc-internal-format
+ msgid "recursive evaluation of default argument for %q#D"
+ msgstr "evaluación recursiva del argumento por defecto para %q#D"
+
+-#: cp/call.c:4802
++#: cp/call.c:4811
+ #, gcc-internal-format
+ msgid "argument of function call might be a candidate for a format attribute"
+ msgstr "el argumento de la llamada a función puede ser un candidato para un atributos de formato"
+
+-#: cp/call.c:4950
++#: cp/call.c:4959
+ #, gcc-internal-format
+ msgid "passing %qT as %<this%> argument of %q#D discards qualifiers"
+ msgstr "pasar %qT como el argumento %<this%> de %q#D descarta a los calificadores"
+
+-#: cp/call.c:4969
++#: cp/call.c:4978
+ #, gcc-internal-format
+ msgid "%qT is not an accessible base of %qT"
+ msgstr "%qT no es una base inaccesible de %qT"
+
+-#: cp/call.c:5229
++#: cp/call.c:5238
+ #, gcc-internal-format
+ msgid "could not find class$ field in java interface type %qT"
+ msgstr "no se puede encontrar un campo class$ en el tipo de interfaz java %qT"
+
+-#: cp/call.c:5470
++#: cp/call.c:5479
+ #, gcc-internal-format
+ msgid "call to non-function %qD"
+ msgstr "llamada a %qD que no es función"
+
+-#: cp/call.c:5595
++#: cp/call.c:5604
+ #, gcc-internal-format
+ msgid "no matching function for call to %<%T::%s(%A)%#V%>"
+ msgstr "no se encontró una función coincidente para la llamada a %<%T::%s(%A)%#V%>"
+
+-#: cp/call.c:5613
++#: cp/call.c:5622
+ #, gcc-internal-format
+ msgid "call of overloaded %<%s(%A)%> is ambiguous"
+ msgstr "la llamada del %<%s(%A)%> sobrecargado es ambigua"
+
+-#: cp/call.c:5639
++#: cp/call.c:5648
+ #, gcc-internal-format
+ msgid "cannot call member function %qD without object"
+ msgstr "no se puede llamar a la función miembro %qD sin un objeto"
+
+-#: cp/call.c:6283
++#: cp/call.c:6307
+ #, gcc-internal-format
+ msgid "passing %qT chooses %qT over %qT"
+ msgstr "al pasar %qT se escoge %qT sobre %qT"
+
+-#: cp/call.c:6285 cp/name-lookup.c:4320 cp/name-lookup.c:4753
++#: cp/call.c:6309 cp/name-lookup.c:4322 cp/name-lookup.c:4757
+ #, gcc-internal-format
+ msgid " in call to %qD"
+ msgstr " en la llamada a %qD"
+
+-#: cp/call.c:6342
++#: cp/call.c:6366
+ #, gcc-internal-format
+ msgid "choosing %qD over %qD"
+ msgstr "se escoge %qD sobre %qD"
+
+-#: cp/call.c:6343
++#: cp/call.c:6367
+ #, gcc-internal-format
+ msgid " for conversion from %qT to %qT"
+ msgstr " para la conversión de %qT a %qT"
+
+-#: cp/call.c:6345
++#: cp/call.c:6369
+ #, gcc-internal-format
+ msgid " because conversion sequence for the argument is better"
+ msgstr " porque la secuencia de conversión para el argumento es mejor"
+
+-#: cp/call.c:6459
++#: cp/call.c:6483
+ #, 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 "ISO C++ dice que estos son ambiguos, aún cuando la peor conversión para el primero es mejor que la peor conversión para el segundo:"
+
+-#: cp/call.c:6603
++#: cp/call.c:6627
+ #, gcc-internal-format
+ msgid "could not convert %qE to %qT"
+ msgstr "no se puede convertir %qE a %qT"
+
+-#: cp/call.c:6737
++#: cp/call.c:6761
+ #, gcc-internal-format
+ msgid "invalid initialization of non-const reference of type %qT from a temporary of type %qT"
+ msgstr "inicialización inválida de una referencia que no es constante de tipo %qT desde un temporal de tipo %qT"
+
+-#: cp/call.c:6741
++#: cp/call.c:6765
+ #, gcc-internal-format
+ msgid "invalid initialization of reference of type %qT from expression of type %qT"
+ msgstr "inicialización inválida de la referencia de tipo %qT desde una expresión de tipo %qT"
+@@ -26901,344 +26863,344 @@
+ msgid "cannot convert from base %qT to derived type %qT via virtual base %qT"
+ msgstr "no se puede convertir de la base %qT al tipo derivado %qT a través de la base virtual %qT"
+
+-#: cp/class.c:961
++#: cp/class.c:971
+ #, gcc-internal-format
+ msgid "Java class %qT cannot have a destructor"
+ msgstr "la clase Java %qT no puede tener un destructor"
+
+-#: cp/class.c:963
++#: cp/class.c:973
+ #, gcc-internal-format
+ msgid "Java class %qT cannot have an implicit non-trivial destructor"
+ msgstr "la clase Java %qT no puede tener un destructor implícito que no es trivial"
+
+-#: cp/class.c:1062
++#: cp/class.c:1074
+ #, gcc-internal-format
+ msgid "repeated using declaration %q+D"
+ msgstr "se repitió usando la declaración %q+D"
+
+-#: cp/class.c:1064
++#: cp/class.c:1076
+ #, gcc-internal-format
+ msgid "using declaration %q+D conflicts with a previous using declaration"
+ msgstr "la declaración using %q+D genera un conflicto con la declaración using previa"
+
+-#: cp/class.c:1069
++#: cp/class.c:1081
+ #, gcc-internal-format
+ msgid "%q+#D cannot be overloaded"
+ msgstr "no se puede sobrecargar %q+#D"
+
+-#: cp/class.c:1070
++#: cp/class.c:1082
+ #, gcc-internal-format
+ msgid "with %q+#D"
+ msgstr "con %q+#D"
+
+-#: cp/class.c:1137
++#: cp/class.c:1149
+ #, gcc-internal-format
+ msgid "conflicting access specifications for method %q+D, ignored"
+ msgstr "especificaciones de acceso en conflicto para el método %q+D, descartado"
+
+-#: cp/class.c:1140
++#: cp/class.c:1152
+ #, gcc-internal-format
+ msgid "conflicting access specifications for field %qE, ignored"
+ msgstr "especificaciones de acceso en conflicto para el campo %qE, descartado"
+
+-#: cp/class.c:1201 cp/class.c:1209
++#: cp/class.c:1213 cp/class.c:1221
+ #, gcc-internal-format
+ msgid "%q+D invalid in %q#T"
+ msgstr "%q+D inválido en %q#T"
+
+-#: cp/class.c:1202
++#: cp/class.c:1214
+ #, gcc-internal-format
+ msgid " because of local method %q+#D with same name"
+ msgstr " debido al método local %q+#D con el mismo nombre"
+
+-#: cp/class.c:1210
++#: cp/class.c:1222
+ #, gcc-internal-format
+ msgid " because of local member %q+#D with same name"
+ msgstr " debido al miembro local %q+#D con el mismo nombre"
+
+-#: cp/class.c:1253
++#: cp/class.c:1265
+ #, gcc-internal-format
+ msgid "base class %q#T has a non-virtual destructor"
+ msgstr "la clase base %q#T tiene un destructor no virtual"
+
+-#: cp/class.c:1570
++#: cp/class.c:1582
+ #, gcc-internal-format
+ msgid "all member functions in class %qT are private"
+ msgstr "todos las funciones miembros en la clase %qT son privadas"
+
+-#: cp/class.c:1582
++#: cp/class.c:1594
+ #, gcc-internal-format
+ msgid "%q#T only defines a private destructor and has no friends"
+ msgstr "%q#T solamente define un destructor privado y no tiene friends"
+
+-#: cp/class.c:1626
++#: cp/class.c:1639
+ #, gcc-internal-format
+ msgid "%q#T only defines private constructors and has no friends"
+ msgstr "%q#T solamente define constructores privados y no tiene friends"
+
+ # Ojo, no es impostor, sino impositor, el que impone. cfuga
+-#: cp/class.c:2019
++#: cp/class.c:2032
+ #, gcc-internal-format
+ msgid "no unique final overrider for %qD in %qT"
+ msgstr "no hay un impositor único final para %qD en %qT"
+
+ #. Here we know it is a hider, and no overrider exists.
+-#: cp/class.c:2439
++#: cp/class.c:2452
+ #, gcc-internal-format
+ msgid "%q+D was hidden"
+ msgstr "%q+D estaba escondido"
+
+-#: cp/class.c:2440
++#: cp/class.c:2453
+ #, gcc-internal-format
+ msgid " by %q+D"
+ msgstr " por %q+D"
+
+-#: cp/class.c:2483 cp/decl2.c:1135
++#: cp/class.c:2496 cp/decl2.c:1178
+ #, gcc-internal-format
+ msgid "%q+#D invalid; an anonymous union can only have non-static data members"
+ msgstr "%q+#D inválido; un union anónimo sólo puede tener miembros con datos no estáticos"
+
+-#: cp/class.c:2486
++#: cp/class.c:2499
+ #, gcc-internal-format
+ msgid "%q+#D invalid; an anonymous struct can only have non-static data members"
+ msgstr "%q+#D inválido; un struct anónimo sólo puede tener miembros con datos no estáticos"
+
+-#: cp/class.c:2494 cp/decl2.c:1141
++#: cp/class.c:2507 cp/decl2.c:1184
+ #, gcc-internal-format
+ msgid "private member %q+#D in anonymous union"
+ msgstr "miembro privado %q+#D en union anónima"
+
+-#: cp/class.c:2496
++#: cp/class.c:2509
+ #, gcc-internal-format
+ msgid "private member %q+#D in anonymous struct"
+ msgstr "miembro privado %q+#D en struct anónimo"
+
+-#: cp/class.c:2501 cp/decl2.c:1143
++#: cp/class.c:2514 cp/decl2.c:1186
+ #, gcc-internal-format
+ msgid "protected member %q+#D in anonymous union"
+ msgstr "miembro protegido %q+#D en union anónima"
+
+-#: cp/class.c:2503
++#: cp/class.c:2516
+ #, gcc-internal-format
+ msgid "protected member %q+#D in anonymous struct"
+ msgstr "miembro protegido %q+#D en struct anónimo"
+
+-#: cp/class.c:2677
++#: cp/class.c:2695
+ #, gcc-internal-format
+ msgid "bit-field %q+#D with non-integral type"
+ msgstr "campo de bits %q+#D con tipo no entero"
+
+-#: cp/class.c:2690
++#: cp/class.c:2708
+ #, gcc-internal-format
+ msgid "bit-field %q+D width not an integer constant"
+ msgstr "la anchura del campo de bits %q+D no es una constante entera"
+
+-#: cp/class.c:2695
++#: cp/class.c:2713
+ #, gcc-internal-format
+ msgid "negative width in bit-field %q+D"
+ msgstr "anchura negativa en el campo de bits %q+D"
+
+-#: cp/class.c:2700
++#: cp/class.c:2718
+ #, gcc-internal-format
+ msgid "zero width for bit-field %q+D"
+ msgstr "anchura cero para el campo de bits %q+D"
+
+-#: cp/class.c:2706
++#: cp/class.c:2724
+ #, gcc-internal-format
+ msgid "width of %q+D exceeds its type"
+ msgstr "la anchura de %q+D excede su tipo"
+
+-#: cp/class.c:2715
++#: cp/class.c:2733
+ #, gcc-internal-format
+ msgid "%q+D is too small to hold all values of %q#T"
+ msgstr "%q+D es demasiado pequeño para contener todos los valores de %q#T"
+
+-#: cp/class.c:2772
++#: cp/class.c:2790
+ #, gcc-internal-format
+ msgid "member %q+#D with constructor not allowed in union"
+ msgstr "no se permite el miembro %q+#D con constructor en la union"
+
+-#: cp/class.c:2775
++#: cp/class.c:2793
+ #, gcc-internal-format
+ msgid "member %q+#D with destructor not allowed in union"
+ msgstr "no se permite el miembro %q+#D con destructor en la union"
+
+-#: cp/class.c:2777
++#: cp/class.c:2795
+ #, gcc-internal-format
+ msgid "member %q+#D with copy assignment operator not allowed in union"
+ msgstr "no se permite el miembro %q+#D con operador de asignación de copia en la union"
+
+-#: cp/class.c:2801
++#: cp/class.c:2819
+ #, gcc-internal-format
+ msgid "multiple fields in union %qT initialized"
+ msgstr "múltiples campos inicializados en la unión %qT"
+
+-#: cp/class.c:2890
++#: cp/class.c:2908
+ #, gcc-internal-format
+ msgid "%q+D may not be static because it is a member of a union"
+ msgstr "%q+D no debe ser static porque es el miembro de una unión"
+
+-#: cp/class.c:2895
++#: cp/class.c:2913
+ #, gcc-internal-format
+ msgid "%q+D may not have reference type %qT because it is a member of a union"
+ msgstr "%q+D no puede tener el tipo de referencia %qT porque es el miembro de una unión"
+
+-#: cp/class.c:2906
++#: cp/class.c:2924
+ #, gcc-internal-format
+ msgid "field %q+D invalidly declared function type"
+ msgstr "el campo %q+D inválidamente se declara como un tipo de función"
+
+-#: cp/class.c:2912
++#: cp/class.c:2930
+ #, gcc-internal-format
+ msgid "field %q+D invalidly declared method type"
+ msgstr "el campo %q+D inválidamente se declara como un tipo de método"
+
+-#: cp/class.c:2944
++#: cp/class.c:2968
+ #, gcc-internal-format
+-msgid "non-static reference %q+#D in class without a constructor"
+-msgstr "referencia %q+#D que no es static en una clase sin un constructor"
+-
+-#: cp/class.c:2955
+-#, gcc-internal-format
+ msgid "ignoring packed attribute because of unpacked non-POD field %q+#D"
+ msgstr "se descartan los atributos packed por el campo %q+#D sin empacar que no es POD"
+
+-#: cp/class.c:3022
++#: cp/class.c:3047
+ #, gcc-internal-format
+-msgid "non-static const member %q+#D in class without a constructor"
+-msgstr "miembro const %q+#D que no es static en una clase sin un constructor"
+-
+-#: cp/class.c:3037
+-#, gcc-internal-format
+ msgid "field %q+#D with same name as class"
+ msgstr "campo %q+#D con el mismo nombre que la clase"
+
+-#: cp/class.c:3068
++#: cp/class.c:3078
+ #, gcc-internal-format
+ msgid "%q#T has pointer data members"
+ msgstr "%q#T tiene miembros punteros a datos"
+
+-#: cp/class.c:3073
++#: cp/class.c:3083
+ #, gcc-internal-format
+ msgid " but does not override %<%T(const %T&)%>"
+ msgstr " pero no se impone a %<%T(const %T&)%>"
+
+-#: cp/class.c:3075
++#: cp/class.c:3085
+ #, gcc-internal-format
+ msgid " or %<operator=(const %T&)%>"
+ msgstr " o a %<operator=(cont %T&)%>"
+
+-#: cp/class.c:3079
++#: cp/class.c:3089
+ #, gcc-internal-format
+ msgid " but does not override %<operator=(const %T&)%>"
+ msgstr " pero no se impone a %<operator=(const %T&)%>"
+
+-#: cp/class.c:3540
++#: cp/class.c:3550
+ #, gcc-internal-format
+ msgid "offset of empty base %qT may not be ABI-compliant and maychange in a future version of GCC"
+ msgstr "el desplazamiento de la base vacía %qT puede no cumplir con la ABI y puede cambiar en una versión futura de GCC"
+
+-#: cp/class.c:3665
++#: cp/class.c:3675
+ #, gcc-internal-format
+ msgid "class %qT will be considered nearly empty in a future version of GCC"
+ msgstr "la clase %qT se considerará casi vacía en una versión futura de GCC"
+
+-#: cp/class.c:3747
++#: cp/class.c:3757
+ #, gcc-internal-format
+ msgid "initializer specified for non-virtual method %q+D"
+ msgstr "se especificó un inicializador para el método %q+D que no es virtual"
+
+-#: cp/class.c:4412
++#: cp/class.c:4228
+ #, gcc-internal-format
++msgid "non-static reference %q+#D in class without a constructor"
++msgstr "referencia %q+#D que no es static en una clase sin un constructor"
++
++#: cp/class.c:4233
++#, gcc-internal-format
++msgid "non-static const member %q+#D in class without a constructor"
++msgstr "miembro const %q+#D que no es static en una clase sin un constructor"
++
++#: cp/class.c:4488
++#, gcc-internal-format
+ msgid "offset of virtual base %qT is not ABI-compliant and may change in a future version of GCC"
+ msgstr "el desplazamiento de la base virtual %qT no cumple con la ABI y puede cambiar en una versión futura de GCC"
+
+-#: cp/class.c:4513
++#: cp/class.c:4589
+ #, gcc-internal-format
+ msgid "direct base %qT inaccessible in %qT due to ambiguity"
+ msgstr "base directa %qT inaccesible en %qT debido a ambigüedad"
+
+-#: cp/class.c:4525
++#: cp/class.c:4601
+ #, gcc-internal-format
+ msgid "virtual base %qT inaccessible in %qT due to ambiguity"
+ msgstr "base virtual %qT inaccesible en %qT debido a ambigüedad"
+
+-#: cp/class.c:4704
++#: cp/class.c:4780
+ #, gcc-internal-format
+ msgid "size assigned to %qT may not be ABI-compliant and may change in a future version of GCC"
+ msgstr "el tamaño asignado a %qT puede no cumplir con la ABI y puede cambiar en una versión futura de GCC"
+
+-#: cp/class.c:4744
++#: cp/class.c:4820
+ #, gcc-internal-format
+ msgid "the offset of %qD may not be ABI-compliant and may change in a future version of GCC"
+ msgstr "el desplazamiento de %qD tal vez no cumple con la ABI y puede cambiar en una versión futura de GCC"
+
+-#: cp/class.c:4772
++#: cp/class.c:4848
+ #, gcc-internal-format
+ msgid "offset of %q+D is not ABI-compliant and may change in a future version of GCC"
+ msgstr "el desplazamiento de %q+D no cumple con la ABI y puede cambiar en una versión futura de GCC"
+
+-#: cp/class.c:4781
++#: cp/class.c:4857
+ #, gcc-internal-format
+ msgid "%q+D contains empty classes which may cause base classes to be placed at different locations in a future version of GCC"
+ msgstr "%q+D contiene clases vacías las cuales pueden causar que las clases base se coloquen en diferentes ubicaciones en una versión futura de GCC"
+
+-#: cp/class.c:4864
++#: cp/class.c:4944
+ #, gcc-internal-format
+ msgid "layout of classes derived from empty class %qT may change in a future version of GCC"
+ msgstr "la disposición de clases derivadas de la clase vacía %qT puede cambiar en una versión futura de GCC"
+
+-#: cp/class.c:5010 cp/parser.c:14608
++#: cp/class.c:5090 cp/parser.c:14688
+ #, gcc-internal-format
+ msgid "redefinition of %q#T"
+ msgstr "redefinición de %q#T"
+
+-#: cp/class.c:5166
++#: cp/class.c:5246
+ #, gcc-internal-format
+ msgid "%q#T has virtual functions and accessible non-virtual destructor"
+ msgstr "%q#T tiene funciones virtuales y destructor no virtual accesible"
+
+-#: cp/class.c:5268
++#: cp/class.c:5348
+ #, gcc-internal-format
+ msgid "trying to finish struct, but kicked out due to previous parse errors"
+ msgstr "se trató de terminar struct, pero fue sacado debido a errores previos de decodificación"
+
+-#: cp/class.c:5728
++#: cp/class.c:5808
+ #, gcc-internal-format
+ msgid "language string %<\"%E\"%> not recognized"
+ msgstr "no se reconoce la cadena de lenguaje %<\"%E\"%>"
+
+-#: cp/class.c:5817
++#: cp/class.c:5897
+ #, gcc-internal-format
+ msgid "cannot resolve overloaded function %qD based on conversion to type %qT"
+ msgstr "no se puede resolver la función sobrecargada %qD basándose en la conversión al tipo %qT"
+
+-#: cp/class.c:5946
++#: cp/class.c:6026
+ #, gcc-internal-format
+ msgid "no matches converting function %qD to type %q#T"
+ msgstr "no hay coincidencias al convertir la función %qD al tipo %q#T"
+
+-#: cp/class.c:5969
++#: cp/class.c:6049
+ #, gcc-internal-format
+ msgid "converting overloaded function %qD to type %q#T is ambiguous"
+ msgstr "la conversión de la función sobrecargada %qD al tipo %q#T es ambigua"
+
+-#: cp/class.c:5995
++#: cp/class.c:6075
+ #, gcc-internal-format
+ msgid "assuming pointer to member %qD"
+ msgstr "asumiendo el puntero a miembro %qD"
+
+-#: cp/class.c:5998
++#: cp/class.c:6078
+ #, gcc-internal-format
+ msgid "(a pointer to member can only be formed with %<&%E%>)"
+ msgstr "(un puntero a miembro solamente se puede formar con %<&%E%>)"
+
+-#: cp/class.c:6054 cp/class.c:6088
++#: cp/class.c:6134 cp/class.c:6168
+ #, gcc-internal-format
+ msgid "not enough type information"
+ msgstr "no hay suficiente información de tipo"
+
+-#: cp/class.c:6071
++#: cp/class.c:6151
+ #, gcc-internal-format
+ msgid "argument of type %qT does not match %qT"
+ msgstr "el argumento de tipo %qT no coincide con %qT"
+@@ -27248,12 +27210,12 @@
+ #. A name N used in a class S shall refer to the same declaration
+ #. in its context and when re-evaluated in the completed scope of
+ #. S.
+-#: cp/class.c:6358 cp/decl.c:1199 cp/name-lookup.c:526
++#: cp/class.c:6438 cp/decl.c:1200 cp/name-lookup.c:525
+ #, gcc-internal-format
+ msgid "declaration of %q#D"
+ msgstr "la declaración de %q#D"
+
+-#: cp/class.c:6359
++#: cp/class.c:6439
+ #, gcc-internal-format
+ msgid "changes meaning of %qD from %q+#D"
+ msgstr "cambia el significado de %qD a partir de %q+#D"
+@@ -27288,7 +27250,7 @@
+ msgid "conversion from %qT to %qT discards qualifiers"
+ msgstr "la conversión de %qT a %qT descarta los calificadores"
+
+-#: cp/cvt.c:470 cp/typeck.c:5257
++#: cp/cvt.c:470 cp/typeck.c:5265
+ #, gcc-internal-format
+ msgid "casting %qT to %qT does not dereference pointer"
+ msgstr "la conversión de %qT a %qT no dereferencía a los punteros"
+@@ -27298,190 +27260,190 @@
+ msgid "cannot convert type %qT to type %qT"
+ msgstr "no se puede convertir el tipo %qT al tipo %qT"
+
+-#: cp/cvt.c:656
++#: cp/cvt.c:649
+ #, gcc-internal-format
+ msgid "conversion from %q#T to %q#T"
+ msgstr "conversión de %q#T a %q#T"
+
+-#: cp/cvt.c:668 cp/cvt.c:688
++#: cp/cvt.c:661 cp/cvt.c:681
+ #, gcc-internal-format
+ msgid "%q#T used where a %qT was expected"
+ msgstr "se usó %q#T donde se esperaba un %qT"
+
+-#: cp/cvt.c:703
++#: cp/cvt.c:696
+ #, gcc-internal-format
+ msgid "%q#T used where a floating point value was expected"
+ msgstr "se usó %q#T donde se esperaba un valor de coma flotante"
+
+-#: cp/cvt.c:750
++#: cp/cvt.c:743
+ #, gcc-internal-format
+ msgid "conversion from %qT to non-scalar type %qT requested"
+ msgstr "se solicitó la conversión desde %qT al tipo no escalar %qT"
+
+-#: cp/cvt.c:784
++#: cp/cvt.c:777
+ #, gcc-internal-format
+ msgid "pseudo-destructor is not called"
+ msgstr "no se llamó al seudo-destructor"
+
+-#: cp/cvt.c:844
++#: cp/cvt.c:837
+ #, gcc-internal-format
+ msgid "object of incomplete type %qT will not be accessed in %s"
+ msgstr "el objeto de tipo incompleto %qT no se accederá en %s"
+
+-#: cp/cvt.c:849
++#: cp/cvt.c:842
+ #, gcc-internal-format
+ msgid "object of type %qT will not be accessed in %s"
+ msgstr "el objeto de tipo %qT no se accederá en %s"
+
+-#: cp/cvt.c:865
++#: cp/cvt.c:858
+ #, gcc-internal-format
+ msgid "object %qE of incomplete type %qT will not be accessed in %s"
+ msgstr "el objeto %qE de tipo incompleto %qT no se accederá en %s"
+
+ #. [over.over] enumerates the places where we can take the address
+ #. of an overloaded function, and this is not one of them.
+-#: cp/cvt.c:902
++#: cp/cvt.c:895
+ #, gcc-internal-format
+ msgid "%s cannot resolve address of overloaded function"
+ msgstr "%s no se puede resolver la dirección de la función sobrecargada"
+
+ #. Only warn when there is no &.
+-#: cp/cvt.c:909
++#: cp/cvt.c:902
+ #, gcc-internal-format
+ msgid "%s is a reference, not call, to function %qE"
+ msgstr "%s es una referencia, no una llamada, a la función %qE"
+
+-#: cp/cvt.c:926
++#: cp/cvt.c:919
+ #, gcc-internal-format
+ msgid "%s has no effect"
+ msgstr "%s no tiene efecto"
+
+-#: cp/cvt.c:958
++#: cp/cvt.c:951
+ #, gcc-internal-format
+ msgid "value computed is not used"
+ msgstr "no se usa el valor calculado"
+
+-#: cp/cvt.c:1068
++#: cp/cvt.c:1061
+ #, gcc-internal-format
+ msgid "converting NULL to non-pointer type"
+ msgstr "convirtiendo NULL a un tipo que no es puntero"
+
+-#: cp/cvt.c:1174
++#: cp/cvt.c:1167
+ #, gcc-internal-format
+ msgid "ambiguous default type conversion from %qT"
+ msgstr "conversión de tipo por defecto ambigua desde %qT"
+
+-#: cp/cvt.c:1176
++#: cp/cvt.c:1169
+ #, gcc-internal-format
+ msgid " candidate conversions include %qD and %qD"
+ msgstr " las conversiones candidatas incluyen %qD y %qD"
+
+-#: cp/decl.c:1062
++#: cp/decl.c:1063
+ #, gcc-internal-format
+ msgid "%qD was declared %<extern%> and later %<static%>"
+ msgstr "%qD se declaró %<extern%> y después %<static%>"
+
+-#: cp/decl.c:1063 cp/decl.c:1618 objc/objc-act.c:2931 objc/objc-act.c:7503
++#: cp/decl.c:1064 cp/decl.c:1619 objc/objc-act.c:2931 objc/objc-act.c:7503
+ #, gcc-internal-format
+ msgid "previous declaration of %q+D"
+ msgstr "declaración previa de %q+D"
+
+-#: cp/decl.c:1096
++#: cp/decl.c:1097
+ #, gcc-internal-format
+ msgid "declaration of %qF throws different exceptions"
+ msgstr "la declaración de %qF arroja excepciones diferentes"
+
+-#: cp/decl.c:1097
++#: cp/decl.c:1098
+ #, gcc-internal-format
+ msgid "from previous declaration %q+F"
+ msgstr "de la declaración previa de %q+F"
+
+-#: cp/decl.c:1153
++#: cp/decl.c:1154
+ #, gcc-internal-format
+ msgid "function %q+D redeclared as inline"
+ msgstr "se redeclara la función %q+D como inline"
+
+-#: cp/decl.c:1155
++#: cp/decl.c:1156
+ #, gcc-internal-format
+ msgid "previous declaration of %q+D with attribute noinline"
+ msgstr "declaración previa de %q+D con el atributo noinline"
+
+-#: cp/decl.c:1162
++#: cp/decl.c:1163
+ #, gcc-internal-format
+ msgid "function %q+D redeclared with attribute noinline"
+ msgstr "se redeclara la función %q+D con el atributo noinline"
+
+-#: cp/decl.c:1164
++#: cp/decl.c:1165
+ #, gcc-internal-format
+ msgid "previous declaration of %q+D was inline"
+ msgstr "la declaración previa de %q+D era inline"
+
+-#: cp/decl.c:1186 cp/decl.c:1259
++#: cp/decl.c:1187 cp/decl.c:1260
+ #, gcc-internal-format
+ msgid "shadowing %s function %q#D"
+ msgstr "oscureciendo la función %s %q#D"
+
+-#: cp/decl.c:1195
++#: cp/decl.c:1196
+ #, gcc-internal-format
+ msgid "library function %q#D redeclared as non-function %q#D"
+ msgstr "se redeclara la función de biblioteca %q#D como %q#D que no es función"
+
+-#: cp/decl.c:1200
++#: cp/decl.c:1201
+ #, gcc-internal-format
+ msgid "conflicts with built-in declaration %q#D"
+ msgstr "genera un conflicto con la declaración interna %q#D"
+
+-#: cp/decl.c:1254 cp/decl.c:1380 cp/decl.c:1396
++#: cp/decl.c:1255 cp/decl.c:1381 cp/decl.c:1397
+ #, gcc-internal-format
+ msgid "new declaration %q#D"
+ msgstr "declaración nueva %q#D"
+
+-#: cp/decl.c:1255
++#: cp/decl.c:1256
+ #, gcc-internal-format
+ msgid "ambiguates built-in declaration %q#D"
+ msgstr "hace ambigua la declaración interna %q#D"
+
+-#: cp/decl.c:1344
++#: cp/decl.c:1345
+ #, gcc-internal-format
+ msgid "%q#D redeclared as different kind of symbol"
+ msgstr "%q#D redeclarado como un tipo diferente de símbolo"
+
+-#: cp/decl.c:1347
++#: cp/decl.c:1348
+ #, gcc-internal-format
+ msgid "previous declaration of %q+#D"
+ msgstr "declaración previa de %q+#D"
+
+-#: cp/decl.c:1366
++#: cp/decl.c:1367
+ #, gcc-internal-format
+ msgid "declaration of template %q#D"
+ msgstr "redeclaración de la plantilla %q#D"
+
+-#: cp/decl.c:1367 cp/name-lookup.c:527
++#: cp/decl.c:1368 cp/name-lookup.c:526
+ #, gcc-internal-format
+ msgid "conflicts with previous declaration %q+#D"
+ msgstr "genera un conflicto con la declaración previa %q+#D"
+
+-#: cp/decl.c:1381 cp/decl.c:1397
++#: cp/decl.c:1382 cp/decl.c:1398
+ #, gcc-internal-format
+ msgid "ambiguates old declaration %q+#D"
+ msgstr "hace ambigua la declaración antigua %q+#D"
+
+-#: cp/decl.c:1389
++#: cp/decl.c:1390
+ #, gcc-internal-format
+ msgid "declaration of C function %q#D conflicts with"
+ msgstr "la declaración de la función C %q#D genera un conflicto con"
+
+-#: cp/decl.c:1391
++#: cp/decl.c:1392
+ #, gcc-internal-format
+ msgid "previous declaration %q+#D here"
+ msgstr "declaración previa de %q+#D aquí"
+
+-#: cp/decl.c:1405
++#: cp/decl.c:1406
+ #, gcc-internal-format
+ msgid "conflicting declaration %q#D"
+ msgstr "declaraciones de %q#D en conflicto"
+
+-#: cp/decl.c:1406
++#: cp/decl.c:1407
+ #, gcc-internal-format
+ msgid "%q+D has a previous declaration as %q#D"
+ msgstr "%q+D tiene una declaración previa como %q#D"
+@@ -27493,63 +27455,63 @@
+ #. A namespace-name defined at global scope shall not be
+ #. declared as the name of any other entity in any global scope
+ #. of the program.
+-#: cp/decl.c:1458
++#: cp/decl.c:1459
+ #, gcc-internal-format
+ msgid "declaration of namespace %qD conflicts with"
+ msgstr "la declaración del espacio de nombres %qD genera un conflicto con"
+
+-#: cp/decl.c:1459
++#: cp/decl.c:1460
+ #, gcc-internal-format
+ msgid "previous declaration of namespace %q+D here"
+ msgstr "declaración previa del espacio de nombres %q+D aquí"
+
+-#: cp/decl.c:1470
++#: cp/decl.c:1471
+ #, gcc-internal-format
+ msgid "%q+#D previously defined here"
+ msgstr "se definió %q+#D previamente aquí"
+
+ #. Prototype decl follows defn w/o prototype.
+-#: cp/decl.c:1480
++#: cp/decl.c:1481
+ #, gcc-internal-format
+ msgid "prototype for %q+#D"
+ msgstr "el prototipo para %q+#D"
+
+-#: cp/decl.c:1481
++#: cp/decl.c:1482
+ #, gcc-internal-format
+ msgid "%Jfollows non-prototype definition here"
+ msgstr "%Jdespués de la definición que no es prototipo aquí"
+
+-#: cp/decl.c:1521
++#: cp/decl.c:1522
+ #, gcc-internal-format
+ msgid "previous declaration of %q+#D with %qL linkage"
+ msgstr "declaración previa de %q+#D con el enlace %qL"
+
+-#: cp/decl.c:1523
++#: cp/decl.c:1524
+ #, gcc-internal-format
+ msgid "conflicts with new declaration with %qL linkage"
+ msgstr "genera un conflicto con la declaración nueva con el enlace %qL"
+
+-#: cp/decl.c:1546 cp/decl.c:1552
++#: cp/decl.c:1547 cp/decl.c:1553
+ #, gcc-internal-format
+ msgid "default argument given for parameter %d of %q#D"
+ msgstr "argumento por defecto dado para el parámetro %d de %q#D"
+
+-#: cp/decl.c:1548 cp/decl.c:1554
++#: cp/decl.c:1549 cp/decl.c:1555
+ #, gcc-internal-format
+ msgid "after previous specification in %q+#D"
+ msgstr "después de la especificación previa en %q+#D"
+
+-#: cp/decl.c:1563
++#: cp/decl.c:1564
+ #, gcc-internal-format
+ msgid "%q#D was used before it was declared inline"
+ msgstr "se usó %q#D antes de que se declarara inline"
+
+-#: cp/decl.c:1564
++#: cp/decl.c:1565
+ #, gcc-internal-format
+ msgid "%Jprevious non-inline declaration here"
+ msgstr "%Jla declaración previa no inline aquí"
+
+-#: cp/decl.c:1617
++#: cp/decl.c:1618
+ #, gcc-internal-format
+ msgid "redundant redeclaration of %qD in same scope"
+ msgstr "declaración redundante de %qD en el mismo ámbito"
+@@ -27562,313 +27524,319 @@
+ #. that specialization that would cause an implicit
+ #. instantiation to take place, in every translation unit in
+ #. which such a use occurs.
+-#: cp/decl.c:1932
++#: cp/decl.c:1939
+ #, gcc-internal-format
+ msgid "explicit specialization of %qD after first use"
+ msgstr "especialización explícita de %qD después del primer uso"
+
+-#: cp/decl.c:2028
++#: cp/decl.c:2035
+ #, gcc-internal-format
+ msgid "%q+D: visibility attribute ignored because it"
+ msgstr "%q+D: se descarta el atributo de visibilidad porque"
+
+-#: cp/decl.c:2030
++#: cp/decl.c:2037
+ #, gcc-internal-format
+ msgid "%Jconflicts with previous declaration here"
+ msgstr "%Jgenera un conflicto con la declaración previa aquí"
+
+-#: cp/decl.c:2457
++#: cp/decl.c:2464
+ #, gcc-internal-format
+ msgid "jump to label %qD"
+ msgstr "salto a la etiqueta %qD"
+
+-#: cp/decl.c:2459
++#: cp/decl.c:2466
+ #, gcc-internal-format
+ msgid "jump to case label"
+ msgstr "salto a la etiqueta case"
+
+-#: cp/decl.c:2461
++#: cp/decl.c:2468
+ #, gcc-internal-format
+ msgid "%H from here"
+ msgstr "%H desde aquí"
+
+-#: cp/decl.c:2480 cp/decl.c:2643
++#: cp/decl.c:2487 cp/decl.c:2650
+ #, gcc-internal-format
+ msgid " exits OpenMP structured block"
+ msgstr " sale del bloque estructurado OpenMP"
+
+-#: cp/decl.c:2501
++#: cp/decl.c:2508
+ #, gcc-internal-format
+ msgid " crosses initialization of %q+#D"
+ msgstr " cruza la inicialización de %q+#D"
+
+-#: cp/decl.c:2503 cp/decl.c:2618
++#: cp/decl.c:2510 cp/decl.c:2625
+ #, gcc-internal-format
+ msgid " enters scope of non-POD %q+#D"
+ msgstr " entra en el ámbito de %q+#D que no es POD"
+
+-#: cp/decl.c:2516 cp/decl.c:2622
++#: cp/decl.c:2523 cp/decl.c:2629
+ #, gcc-internal-format
+ msgid " enters try block"
+ msgstr " entra al bloque try"
+
+-#: cp/decl.c:2518 cp/decl.c:2624
++#: cp/decl.c:2525 cp/decl.c:2631
+ #, gcc-internal-format
+ msgid " enters catch block"
+ msgstr " entra al bloque catch"
+
+-#: cp/decl.c:2528 cp/decl.c:2627
++#: cp/decl.c:2535 cp/decl.c:2634
+ #, gcc-internal-format
+ msgid " enters OpenMP structured block"
+ msgstr " entra al bloque estructurado OpenMP"
+
+-#: cp/decl.c:2599 cp/decl.c:2639
++#: cp/decl.c:2606 cp/decl.c:2646
+ #, gcc-internal-format
+ msgid "jump to label %q+D"
+ msgstr "salto a la etiqueta %q+D"
+
+-#: cp/decl.c:2600 cp/decl.c:2640
++#: cp/decl.c:2607 cp/decl.c:2647
+ #, gcc-internal-format
+ msgid " from here"
+ msgstr " desde aquí"
+
+ #. Can't skip init of __exception_info.
+-#: cp/decl.c:2612
++#: cp/decl.c:2619
+ #, gcc-internal-format
+ msgid "%J enters catch block"
+ msgstr "%J entra al bloque catch"
+
+-#: cp/decl.c:2616
++#: cp/decl.c:2623
+ #, gcc-internal-format
+ msgid " skips initialization of %q+#D"
+ msgstr " salta la inicialización de %q+#D"
+
+-#: cp/decl.c:2692
++#: cp/decl.c:2699
+ #, gcc-internal-format
+ msgid "label named wchar_t"
+ msgstr "etiqueta nombrada wchar_t"
+
+-#: cp/decl.c:2696
++#: cp/decl.c:2703
+ #, gcc-internal-format
+ msgid "duplicate label %qD"
+ msgstr "etiqueta %qD duplicada"
+
+-#: cp/decl.c:2962
++#: cp/decl.c:2969
+ #, gcc-internal-format
+ msgid "%qD is not a type"
+ msgstr "%qD no es un tipo"
+
+-#: cp/decl.c:2968 cp/parser.c:4033
++#: cp/decl.c:2975 cp/parser.c:4037
+ #, gcc-internal-format
+ msgid "%qD used without template parameters"
+ msgstr "se usa %qD sin parámetros de plantilla"
+
+-#: cp/decl.c:2983
++#: cp/decl.c:2990
+ #, gcc-internal-format
+ msgid "%q#T is not a class"
+ msgstr "%q#T no es una clase"
+
+-#: cp/decl.c:2995 cp/decl.c:3063
++#: cp/decl.c:3002 cp/decl.c:3070
+ #, 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.c:3003
++#: cp/decl.c:3010
+ #, gcc-internal-format
+ msgid "%<typename %T::%D%> names %q#T, which is not a class template"
+ msgstr "%<typename %T::%D%> nombra a %q#T, el cual no es una plantilla de clase"
+
+-#: cp/decl.c:3010
++#: cp/decl.c:3017
+ #, gcc-internal-format
+ msgid "%<typename %T::%D%> names %q#T, which is not a type"
+ msgstr "%<typename %T::%D%> nombra a %q#T, el cual no es un tipo"
+
+-#: cp/decl.c:3072
++#: cp/decl.c:3079
+ #, gcc-internal-format
+ msgid "template parameters do not match template"
+ msgstr "los parámetros de la plantilla no coinciden con la plantilla"
+
+-#: cp/decl.c:3073 cp/friend.c:321 cp/friend.c:329
++#: cp/decl.c:3080 cp/friend.c:321 cp/friend.c:329
+ #, gcc-internal-format
+ msgid "%q+D declared here"
+ msgstr "%q+D declarado aquí"
+
+-#: cp/decl.c:3711
++#: cp/decl.c:3727
+ #, gcc-internal-format
+ msgid "%Jan anonymous struct cannot have function members"
+ msgstr "%Jun struct anónimo no puede tener funciones miembro"
+
+-#: cp/decl.c:3713
++#: cp/decl.c:3729
+ #, gcc-internal-format
+ msgid "%Jan anonymous union cannot have function members"
+ msgstr "%Jun union anónimo no puede tener funciones miembro"
+
+-#: cp/decl.c:3731
++#: cp/decl.c:3747
+ #, 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.c:3734
++#: cp/decl.c:3750
+ #, 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.c:3737
++#: cp/decl.c:3753
+ #, 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.c:3762
++#: cp/decl.c:3778
+ #, gcc-internal-format
+ msgid "multiple types in one declaration"
+ msgstr "tipos múltiples en una declaración"
+
+-#: cp/decl.c:3766
++#: cp/decl.c:3782
+ #, gcc-internal-format
+ msgid "redeclaration of C++ built-in type %qT"
+ msgstr "redeclaración del tipo interno de C++ %qT"
+
+-#: cp/decl.c:3803
++#: cp/decl.c:3819
+ #, gcc-internal-format
+ msgid "missing type-name in typedef-declaration"
+ msgstr "falta el nombre del tipo en la declaración typedef"
+
+-#: cp/decl.c:3811
++#: cp/decl.c:3827
+ #, gcc-internal-format
+ msgid "ISO C++ prohibits anonymous structs"
+ msgstr "ISO C++ prohíbe structs anónimos"
+
+-#: cp/decl.c:3818
++#: cp/decl.c:3834
+ #, gcc-internal-format
+ msgid "%qs can only be specified for functions"
+ msgstr "%qs sólo se puede especificar para funciones"
+
+-#: cp/decl.c:3824
++#: cp/decl.c:3840
+ #, gcc-internal-format
+ msgid "%<friend%> can only be specified inside a class"
+ msgstr "%<friend%> sólo se puede especificar dentro de una clase"
+
+-#: cp/decl.c:3826
++#: cp/decl.c:3842
+ #, gcc-internal-format
+ msgid "%<explicit%> can only be specified for constructors"
+ msgstr "%<explicit%> sólo se puede especificar para constructores"
+
+-#: cp/decl.c:3828
++#: cp/decl.c:3844
+ #, 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.c:3834
++#: cp/decl.c:3850
+ #, gcc-internal-format
+ msgid "qualifiers can only be specified for objects and functions"
+ msgstr "los calificadores sólo se pueden especificar para objetos y funciones"
+
+-#: cp/decl.c:3837
++#: cp/decl.c:3853
+ #, gcc-internal-format
+ msgid "%<typedef%> was ignored in this declaration"
+ msgstr " se descartó %<typedef%> en esta declaración"
+
+-#: cp/decl.c:3866
++#: cp/decl.c:3882
+ #, 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.c:3867
++#: cp/decl.c:3883
+ #, 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.c:3909
++#: cp/decl.c:3925
+ #, gcc-internal-format
+-msgid "ignoring attributes applied to class type outside of definition"
+-msgstr "se descartan los atributos aplicados al tipo de clase fuera de la definición"
++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"
+
+-#: cp/decl.c:3987
++#. A template type parameter or other dependent type.
++#: cp/decl.c:3929
+ #, 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.c:4007
++#, 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.c:3998
++#: cp/decl.c:4018
+ #, gcc-internal-format
+ msgid "declaration of %q#D has %<extern%> and is initialized"
+ msgstr "la declaración de %q#D tiene %<extern%> y está inicializada"
+
+-#: cp/decl.c:4014
++#: cp/decl.c:4034
+ #, gcc-internal-format
+ msgid "definition of %q#D is marked %<dllimport%>"
+ msgstr "la definición de %q#D se marca como %<dllimport%>"
+
+-#: cp/decl.c:4033
++#: cp/decl.c:4053
+ #, gcc-internal-format
+ msgid "%q#D is not a static member of %q#T"
+ msgstr "%q#D no es un miembro static de %q#T"
+
+-#: cp/decl.c:4039
++#: cp/decl.c:4059
+ #, 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.c:4048
++#: cp/decl.c:4068
+ #, gcc-internal-format
+ msgid "template header not allowed in member definition of explicitly specialized class"
+ msgstr "no se permite un encabezado de plantilla en la definición de miembro de una clase explícitamente especializada"
+
+-#: cp/decl.c:4056
++#: cp/decl.c:4076
+ #, gcc-internal-format
+ msgid "duplicate initialization of %qD"
+ msgstr "inicialización duplicada de %qD"
+
+-#: cp/decl.c:4095
++#: cp/decl.c:4115
+ #, 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.c:4188
++#: cp/decl.c:4208
+ #, 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.c:4194 cp/decl.c:4906
++#: cp/decl.c:4214 cp/decl.c:4926
+ #, 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.c:4200
++#: cp/decl.c:4220
+ #, 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.c:4236
++#: cp/decl.c:4256
+ #, gcc-internal-format
+ msgid "%qD declared as reference but not initialized"
+ msgstr "%qD declarado como referencia pero no se inicializa"
+
+-#: cp/decl.c:4242
++#: cp/decl.c:4262
+ #, gcc-internal-format
+ msgid "ISO C++ forbids use of initializer list to initialize reference %qD"
+ msgstr "ISO C++ prohíbe el uso de una lista de inicializadores para inicializar la referencia %qD"
+
+-#: cp/decl.c:4268
++#: cp/decl.c:4288
+ #, gcc-internal-format
+ msgid "cannot initialize %qT from %qT"
+ msgstr "no se pueden inicializar %qT desde %qT"
+
+-#: cp/decl.c:4296
++#: cp/decl.c:4316
+ #, 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.c:4345
++#: cp/decl.c:4365
+ #, gcc-internal-format
+ msgid "initializer fails to determine size of %qD"
+ msgstr "el inicializador no puede determinar el tamaño de %qD"
+
+-#: cp/decl.c:4352
++#: cp/decl.c:4372
+ #, gcc-internal-format
+ msgid "array size missing in %qD"
+ msgstr "falta el tamaño de la matriz en %qD"
+
+-#: cp/decl.c:4364
++#: cp/decl.c:4384
+ #, gcc-internal-format
+ msgid "zero-size array %qD"
+ msgstr "matriz %qD de tamaño cero"
+@@ -27876,240 +27844,250 @@
+ #. An automatic variable with an incomplete type: that is an error.
+ #. Don't talk about array types here, since we took care of that
+ #. message in grokdeclarator.
+-#: cp/decl.c:4407
++#: cp/decl.c:4427
+ #, gcc-internal-format
+ msgid "storage size of %qD isn't known"
+ msgstr "no se conoce el tamaño de almacenamiento de %qD"
+
+-#: cp/decl.c:4429
++#: cp/decl.c:4449
+ #, gcc-internal-format
+ msgid "storage size of %qD isn't constant"
+ msgstr "el tamaño de almacenamiento de %qD no es constante"
+
+-#: cp/decl.c:4478
++#: cp/decl.c:4498
+ #, gcc-internal-format
+ 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.c:4481
++#: cp/decl.c:4501
+ #, gcc-internal-format
+ msgid "%J you can work around this by removing the initializer"
+ msgstr "%J puede evitar esto eliminando el inicializador"
+
+-#: cp/decl.c:4508
++#: cp/decl.c:4528
+ #, gcc-internal-format
+ msgid "uninitialized const %qD"
+ msgstr "const %qD sin inicializar"
+
+-#: cp/decl.c:4620
++#: cp/decl.c:4640
+ #, gcc-internal-format
+ msgid "invalid type %qT as initializer for a vector of type %qT"
+ msgstr "tipo %qT inválido como inicializador para un vector de tipo %qT"
+
+-#: cp/decl.c:4662
++#: cp/decl.c:4682
+ #, gcc-internal-format
+ msgid "initializer for %qT must be brace-enclosed"
+ msgstr "el inicializador para %qT debe estar encerrado entre llaves"
+
+-#: cp/decl.c:4680
++#: cp/decl.c:4700
+ #, 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.c:4731
++#: cp/decl.c:4751
+ #, gcc-internal-format
+ msgid "braces around scalar initializer for type %qT"
+ msgstr "llaves alrededor del inicializador escalar para el tipo %qT"
+
+-#: cp/decl.c:4814
++#: cp/decl.c:4834
+ #, gcc-internal-format
+ msgid "missing braces around initializer for %qT"
+ msgstr "faltan llaves alrededor del inicializador para %qT"
+
+-#: cp/decl.c:4871
++#: cp/decl.c:4891
+ #, gcc-internal-format
+ msgid "too many initializers for %qT"
+ msgstr "demasiados inicializadores para %qT"
+
+-#: cp/decl.c:4914
++#: cp/decl.c:4934
+ #, gcc-internal-format
+ msgid "variable-sized object %qD may not be initialized"
+ msgstr "el objeto de tamaño variable %qD no se puede inicializar"
+
+-#: cp/decl.c:4920
++#: cp/decl.c:4940
+ #, gcc-internal-format
+ msgid "%qD has incomplete type"
+ msgstr "%qD tiene un tipo de dato incompleto"
+
+-#: cp/decl.c:4935
++#: cp/decl.c:4955
+ #, gcc-internal-format
+ msgid "scalar object %qD requires one element in initializer"
+ msgstr "el objeto escalar %qD requiere un elemento en el inicializador"
+
+ #. A non-aggregate that is not a scalar cannot be initialized
+ #. via an initializer-list in C++98.
+-#: cp/decl.c:4945
++#: cp/decl.c:4965
+ #, gcc-internal-format
+ msgid "braces around initializer for non-aggregate type %qT"
+ msgstr "llaves alrededor del inicializador escalar para el tipo no agregado %qT"
+
+-#: cp/decl.c:4995
++#: cp/decl.c:5015
+ #, gcc-internal-format
+ msgid "%qD must be initialized by constructor, not by %<{...}%>"
+ msgstr "%qD debe ser inicializado por un constructor, no por %<{...}%>"
+
+-#: cp/decl.c:5031
++#: cp/decl.c:5051
+ #, 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.c:5046
++#: cp/decl.c:5066
+ #, gcc-internal-format
+ msgid "structure %qD with uninitialized const members"
+ msgstr "estructura %qD con miembros const sin inicializar"
+
+-#: cp/decl.c:5048
++#: cp/decl.c:5068
+ #, gcc-internal-format
+ msgid "structure %qD with uninitialized reference members"
+ msgstr "estructura %qD con miembros de referencia sin inicializar"
+
+-#: cp/decl.c:5330
++#: cp/decl.c:5364
+ #, gcc-internal-format
+ msgid "assignment (not initialization) in declaration"
+ msgstr "asignación (no inicialización) en la declaración"
+
+-#: cp/decl.c:5420
++#: cp/decl.c:5460
+ #, 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.c:5450
++#: cp/decl.c:5490
+ #, gcc-internal-format
+ msgid "%qD cannot be thread-local because it has non-POD type %qT"
+ msgstr "%qD no puede ser thread-local porque es de tipo %qT que no es POD"
+
+-#: cp/decl.c:5485
++#: cp/decl.c:5522
+ #, gcc-internal-format
++msgid "Java object %qD not allocated with %<new%>"
++msgstr "El objeto Java %qD no se aloja con %<new%>"
++
++#: cp/decl.c:5539
++#, gcc-internal-format
+ msgid "%qD is thread-local and so cannot be dynamically initialized"
+ msgstr "q%D es thread-local y por lo tanto no se puede inicializar dinámicamente"
+
+-#: cp/decl.c:5503
++#: cp/decl.c:5557
+ #, gcc-internal-format
+ msgid "%qD cannot be initialized by a non-constant expression when being declared"
+ msgstr "%qD no se puede inicializar con una expresion no constante al declararse"
+
+-#: cp/decl.c:6160
++#: cp/decl.c:5597
+ #, gcc-internal-format
++msgid "non-static data member %qD has Java class type"
++msgstr "el dato miembro que no es estático %qD tiene un tipo de clase Java"
++
++#: cp/decl.c:6232
++#, 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.c:6162
++#: cp/decl.c:6234
+ #, 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.c:6183
++#: cp/decl.c:6255
+ #, gcc-internal-format
+ msgid "%qD declared as a %<virtual%> %s"
+ msgstr "%qD se declaró como %s %<virtual%>"
+
+-#: cp/decl.c:6185
++#: cp/decl.c:6257
+ #, gcc-internal-format
+ msgid "%qD declared as an %<inline%> %s"
+ msgstr "%qD se declaró como %s %<inline%>"
+
+-#: cp/decl.c:6187
++#: cp/decl.c:6259
+ #, gcc-internal-format
+ msgid "%<const%> and %<volatile%> function specifiers on %qD invalid in %s declaration"
+ msgstr "especificadores de función %<const%> y %<volatile%> en %qD inválidos en la declaración %s"
+
+-#: cp/decl.c:6191
++#: cp/decl.c:6263
+ #, gcc-internal-format
+ msgid "%q+D declared as a friend"
+ msgstr "%q+D se declaró como friend"
+
+-#: cp/decl.c:6197
++#: cp/decl.c:6269
+ #, gcc-internal-format
+ msgid "%q+D declared with an exception specification"
+ msgstr "%q+D se declaró con una excepción de especificación"
+
+-#: cp/decl.c:6231
++#: cp/decl.c:6303
+ #, 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.c:6342
++#: cp/decl.c:6414
+ #, gcc-internal-format
+ msgid "defining explicit specialization %qD in friend declaration"
+ msgstr "definiendo la especialización explícita %qD en la declaración friend"
+
+ #. Something like `template <class T> friend void f<T>()'.
+-#: cp/decl.c:6352
++#: cp/decl.c:6424
+ #, gcc-internal-format
+ msgid "invalid use of template-id %qD in declaration of primary template"
+ msgstr "uso inválido del id de plantilla %qD en la declaración de la plantilla primaria"
+
+-#: cp/decl.c:6382
++#: cp/decl.c:6454
+ #, 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.c:6390
++#: cp/decl.c:6462
+ #, gcc-internal-format
+ msgid "%<inline%> is not allowed in declaration of friend template specialization %qD"
+ msgstr "no se permite %<inline%> en la declaración de la especialización friend de la plantilla %qD"
+
+-#: cp/decl.c:6433
++#: cp/decl.c:6505
+ #, gcc-internal-format
+ msgid "cannot declare %<::main%> to be a template"
+ msgstr "no se puede declarar %<::main%> como plantilla"
+
+-#: cp/decl.c:6435
++#: cp/decl.c:6507
+ #, gcc-internal-format
+ msgid "cannot declare %<::main%> to be inline"
+ msgstr "no se puede declarar %<::main%> como inline"
+
+-#: cp/decl.c:6437
++#: cp/decl.c:6509
+ #, gcc-internal-format
+ msgid "cannot declare %<::main%> to be static"
+ msgstr "no se puede declarar %<::main%> como static"
+
+-#: cp/decl.c:6465
++#: cp/decl.c:6537
+ #, gcc-internal-format
+ msgid "non-local function %q#D uses anonymous type"
+ msgstr "la función %q#D que no es local usa un tipo anónimo"
+
+-#: cp/decl.c:6468 cp/decl.c:6748
++#: cp/decl.c:6540 cp/decl.c:6820
+ #, gcc-internal-format
+ msgid "%q+#D does not refer to the unqualified type, so it is not used for linkage"
+ msgstr "%q+#D no se refiere al tipo sin calificar, así que no se usa para el enlazado"
+
+-#: cp/decl.c:6474
++#: cp/decl.c:6546
+ #, gcc-internal-format
+ msgid "non-local function %q#D uses local type %qT"
+ msgstr "la función %q#D que no es local utiliza el tipo local %qT"
+
+-#: cp/decl.c:6498
++#: cp/decl.c:6570
+ #, 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.c:6499
++#: cp/decl.c:6571
+ #, 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.c:6547
++#: cp/decl.c:6619
+ #, gcc-internal-format
+ msgid "%<::main%> must return %<int%>"
+ msgstr "%<::main%> debe devolver %<int%>"
+
+-#: cp/decl.c:6586
++#: cp/decl.c:6658
+ #, gcc-internal-format
+ msgid "definition of implicitly-declared %qD"
+ msgstr "la definición de %qD declarado implícitamente"
+
+-#: cp/decl.c:6603 cp/decl2.c:677
++#: cp/decl.c:6675 cp/decl2.c:677
+ #, 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"
+@@ -28118,548 +28096,553 @@
+ #. 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/decl.c:6745
++#: cp/decl.c:6817
+ #, gcc-internal-format
+ msgid "non-local variable %q#D uses anonymous type"
+ msgstr "la variable %q#D que no es local usa un tipo anónimo"
+
+-#: cp/decl.c:6754
++#: cp/decl.c:6826
+ #, gcc-internal-format
+ msgid "non-local variable %q#D uses local type %qT"
+ msgstr "la variable %q#D que no es local usa el tipo local %qT"
+
+-#: cp/decl.c:6876
++#: cp/decl.c:6948
+ #, gcc-internal-format
+ msgid "invalid in-class initialization of static data member of non-integral type %qT"
+ msgstr "inicialización en la clase inválida para el miembro de datos static de tipo %qT que no es integral"
+
+-#: cp/decl.c:6886
++#: cp/decl.c:6958
+ #, 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.c:6890
++#: cp/decl.c:6962
+ #, 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.c:6915
++#: cp/decl.c:6987
+ #, 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.c:6917
++#: cp/decl.c:6989
+ #, 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.c:6965
++#: cp/decl.c:7037
+ #, gcc-internal-format
+ msgid "size of array %qD is negative"
+ msgstr "el tamaño de la matriz %qD es negativo"
+
+-#: cp/decl.c:6967
++#: cp/decl.c:7039
+ #, gcc-internal-format
+ msgid "size of array is negative"
+ msgstr "el tamaño de la matriz es negativo"
+
+-#: cp/decl.c:6975
++#: cp/decl.c:7047
+ #, 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.c:6977
++#: cp/decl.c:7049
+ #, gcc-internal-format
+ msgid "ISO C++ forbids zero-size array"
+ msgstr "ISO C++ prohíbe matrices de tamaño cero"
+
+-#: cp/decl.c:6984
++#: cp/decl.c:7056
+ #, 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.c:6987
++#: cp/decl.c:7059
+ #, 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.c:6993
++#: cp/decl.c:7065
+ #, gcc-internal-format
+ msgid "ISO C++ forbids variable length array %qD"
+ msgstr "ISO C++ prohíbe la matriz %qD de longitud variable"
+
+-#: cp/decl.c:6995
++#: cp/decl.c:7067
+ #, gcc-internal-format
+ msgid "ISO C++ forbids variable length array"
+ msgstr "ISO C++ prohíbe las matrices de longitud variable"
+
+-#: cp/decl.c:7001
++#: cp/decl.c:7073
+ #, gcc-internal-format
+ msgid "variable length array %qD is used"
+ msgstr "se usa la matriz de longitud variable %qD"
+
+-#: cp/decl.c:7035
++#: cp/decl.c:7107
+ #, gcc-internal-format
+ msgid "overflow in array dimension"
+ msgstr "desbordamiento en la dimensión de la matriz"
+
+-#: cp/decl.c:7116
++#: cp/decl.c:7188
+ #, gcc-internal-format
+ msgid "declaration of %qD as %s"
+ msgstr "declaración de %qD como %s"
+
+-#: cp/decl.c:7118
++#: cp/decl.c:7190
+ #, gcc-internal-format
+ msgid "creating %s"
+ msgstr "creando %s"
+
+-#: cp/decl.c:7130
++#: cp/decl.c:7202
+ #, 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.c:7134
++#: cp/decl.c:7206
+ #, 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.c:7169
++#: cp/decl.c:7241
+ #, gcc-internal-format
+ msgid "return type specification for constructor invalid"
+ msgstr "la especificación del tipo de devolución para el constructor es inválida"
+
+-#: cp/decl.c:7179
++#: cp/decl.c:7251
+ #, gcc-internal-format
+ msgid "return type specification for destructor invalid"
+ msgstr "la especificación del tipo de devolución para el destructor es inválida"
+
+-#: cp/decl.c:7192
++#: cp/decl.c:7264
+ #, gcc-internal-format
+ msgid "return type specified for %<operator %T%>"
+ msgstr "se especificó un tipo de devolución para %<operator %T%>"
+
+-#: cp/decl.c:7214
++#: cp/decl.c:7286
+ #, gcc-internal-format
+ msgid "unnamed variable or field declared void"
+ msgstr "se declaró la variable o campo sin nombre como void"
+
+-#: cp/decl.c:7218
++#: cp/decl.c:7290
+ #, gcc-internal-format
+ msgid "variable or field %qE declared void"
+ msgstr "se declaró la variable o campo %qE como void"
+
+-#: cp/decl.c:7221
++#: cp/decl.c:7293
+ #, gcc-internal-format
+ msgid "variable or field declared void"
+ msgstr "se declaró la variable o campo como void"
+
+-#: cp/decl.c:7388
++#: cp/decl.c:7460
+ #, gcc-internal-format
+ msgid "invalid use of qualified-name %<::%D%>"
+ msgstr "uso inválido del nombre calificado %<::%D%>"
+
+-#: cp/decl.c:7391
++#: cp/decl.c:7463
+ #, gcc-internal-format
+ msgid "invalid use of qualified-name %<%T::%D%>"
+ msgstr "uso inválido del nombre calificado %<%T::%D%>"
+
+-#: cp/decl.c:7394
++#: cp/decl.c:7466
+ #, gcc-internal-format
+ msgid "invalid use of qualified-name %<%D::%D%>"
+ msgstr "uso inválido del nombre calificado %<%D::%D%>"
+
+-#: cp/decl.c:7406
++#: cp/decl.c:7478
+ #, gcc-internal-format
+ msgid "type %qT is not derived from type %qT"
+ msgstr "el tipo %qT no es derivado del tipo %T"
+
+ # FIXME traducción
+-#: cp/decl.c:7422 cp/decl.c:7512 cp/decl.c:8660
++#: cp/decl.c:7494 cp/decl.c:7584 cp/decl.c:8732
+ #, gcc-internal-format
+ msgid "declaration of %qD as non-function"
+ msgstr "la declaración de %qD como algo que no es función"
+
+ # FIXME traducción
+-#: cp/decl.c:7428
++#: cp/decl.c:7500
+ #, gcc-internal-format
+ msgid "declaration of %qD as non-member"
+ msgstr "declaración de %qD como algo que no es miembro"
+
+-#: cp/decl.c:7457
++#: cp/decl.c:7529
+ #, 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.c:7504
++#: cp/decl.c:7576
+ #, gcc-internal-format
+ msgid "function definition does not declare parameters"
+ msgstr "la definición de la función no declara parámetros"
+
+-#: cp/decl.c:7546
++#: cp/decl.c:7618
+ #, 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.c:7552
++#: cp/decl.c:7624
+ #, gcc-internal-format
+ msgid "conflicting specifiers in declaration of %qs"
+ msgstr "especificadores en conflicto en la declaración de %qs"
+
+-#: cp/decl.c:7623 cp/decl.c:7626
++#: cp/decl.c:7695 cp/decl.c:7698
+ #, 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.c:7651
++#: cp/decl.c:7723
+ #, gcc-internal-format
+ msgid "%<signed%> or %<unsigned%> invalid for %qs"
+ msgstr "%<signed%> o %<unsigned%> inválido para %qs"
+
+-#: cp/decl.c:7653
++#: cp/decl.c:7725
+ #, gcc-internal-format
+ msgid "%<signed%> and %<unsigned%> specified together for %qs"
+ msgstr "%<signed%> y %<unsigned%> se especificaron juntos para %qs"
+
+-#: cp/decl.c:7655
++#: cp/decl.c:7727
+ #, gcc-internal-format
+ msgid "%<long long%> invalid for %qs"
+ msgstr "%<long long%> inválido para %qs"
+
+-#: cp/decl.c:7657
++#: cp/decl.c:7729
+ #, gcc-internal-format
+ msgid "%<long%> invalid for %qs"
+ msgstr "%<long%> inválido para %qs"
+
+-#: cp/decl.c:7659
++#: cp/decl.c:7731
+ #, gcc-internal-format
+ msgid "%<short%> invalid for %qs"
+ msgstr "%<short%> inválido para %qs"
+
+-#: cp/decl.c:7661
++#: cp/decl.c:7733
+ #, gcc-internal-format
+ msgid "%<long%> or %<short%> invalid for %qs"
+ msgstr "%<long%> o %<short%> inválidos para %qs"
+
+-#: cp/decl.c:7663
++#: cp/decl.c:7735
+ #, gcc-internal-format
+ msgid "%<long%> or %<short%> specified with char for %qs"
+ msgstr "%<long%> o %<short%> especificados con char para %qs"
+
+-#: cp/decl.c:7665
++#: cp/decl.c:7737
+ #, gcc-internal-format
+ msgid "%<long%> and %<short%> specified together for %qs"
+ msgstr "%<long%> y %<short%> se especificaron juntos para %qs"
+
+-#: cp/decl.c:7671
++#: cp/decl.c:7743
+ #, gcc-internal-format
+ msgid "long, short, signed or unsigned used invalidly for %qs"
+ msgstr "uso inválido de long, short, signed ó unsigned para %qs"
+
+-#: cp/decl.c:7735
++#: cp/decl.c:7807
+ #, gcc-internal-format
+ msgid "complex invalid for %qs"
+ msgstr "complex inválido para %qs"
+
+-#: cp/decl.c:7764
++#: cp/decl.c:7836
+ #, gcc-internal-format
+ msgid "qualifiers are not allowed on declaration of %<operator %T%>"
+ msgstr "no se permiten calificadores en la declaración de %<operator %T%>"
+
+-#: cp/decl.c:7776 cp/typeck.c:7011
++#: cp/decl.c:7848 cp/typeck.c:7039
+ #, gcc-internal-format
+ msgid "ignoring %qV qualifiers added to function type %qT"
+ msgstr "se descartan los calificadores %qV agregados al tipo de función %qT"
+
+-#: cp/decl.c:7799
++#: cp/decl.c:7871
+ #, gcc-internal-format
+ msgid "member %qD cannot be declared both virtual and static"
+ msgstr "el miembro %qD no se puede declarar como virtual y static al mismo tiempo"
+
+-#: cp/decl.c:7807
++#: cp/decl.c:7879
+ #, gcc-internal-format
+ msgid "%<%T::%D%> is not a valid declarator"
+ msgstr "%<%T::%D%> no es un declarador válido"
+
+-#: cp/decl.c:7816
++#: cp/decl.c:7888
+ #, gcc-internal-format
+ msgid "typedef declaration invalid in parameter declaration"
+ msgstr "declaración typedef inválida en la declaración de parámetros"
+
+-#: cp/decl.c:7822
++#: cp/decl.c:7894
+ #, gcc-internal-format
+ msgid "storage class specifiers invalid in parameter declarations"
+ msgstr "especificadores de clase de almacenamiento inválidos en las declaraciones de parámetros"
+
+-#: cp/decl.c:7829
++#: cp/decl.c:7901
+ #, gcc-internal-format
+ msgid "virtual outside class declaration"
+ msgstr "declaración de virtual fuera de clase"
+
+-#: cp/decl.c:7847
++#: cp/decl.c:7919
+ #, 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.c:7870
++#: cp/decl.c:7942
+ #, gcc-internal-format
+ msgid "storage class specified for %qs"
+ msgstr "se especificó una clase de almacenamiento para %qs"
+
+-#: cp/decl.c:7904
++#: cp/decl.c:7976
+ #, gcc-internal-format
+ msgid "top-level declaration of %qs specifies %<auto%>"
+ msgstr "la declaración del nivel superior de %qs especifica %<auto%>"
+
+-#: cp/decl.c:7916
++#: cp/decl.c:7988
+ #, gcc-internal-format
+ msgid "storage class specifiers invalid in friend function declarations"
+ msgstr "especificadores de clase de almacenamiento inválidos en las declaraciones de funciones friend"
+
+-#: cp/decl.c:8043
++#: cp/decl.c:8115
+ #, 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.c:8048
++#: cp/decl.c:8120
+ #, gcc-internal-format
+ msgid "destructors may not be cv-qualified"
+ msgstr "los destructores no pueden ser cv-calificados"
+
+-#: cp/decl.c:8066
++#: cp/decl.c:8138
+ #, gcc-internal-format
+ msgid "constructors cannot be declared virtual"
+ msgstr "los constructores no se pueden declarar virtual"
+
+-#: cp/decl.c:8079
++#: cp/decl.c:8151
+ #, gcc-internal-format
+ msgid "can't initialize friend function %qs"
+ msgstr "no se puede inicializar la función friend %qs"
+
+ #. Cannot be both friend and virtual.
+-#: cp/decl.c:8083
++#: cp/decl.c:8155
+ #, gcc-internal-format
+ msgid "virtual functions cannot be friends"
+ msgstr "las funciones virtual no pueden ser friend"
+
+-#: cp/decl.c:8087
++#: cp/decl.c:8159
+ #, 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.c:8089
++#: cp/decl.c:8161
+ #, gcc-internal-format
+ msgid "can't 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.c:8102
++#: cp/decl.c:8174
+ #, gcc-internal-format
+ msgid "destructors may not have parameters"
+ msgstr "los destructores no pueden tener parámetros"
+
+-#: cp/decl.c:8121
++#: cp/decl.c:8193
+ #, gcc-internal-format
+ msgid "cannot declare pointer to %q#T"
+ msgstr "no se puede declarar el puntero a %q#T"
+
+-#: cp/decl.c:8134 cp/decl.c:8141
++#: cp/decl.c:8206 cp/decl.c:8213
+ #, gcc-internal-format
+ msgid "cannot declare reference to %q#T"
+ msgstr "no se puede declarar la referencia a %q#T"
+
+-#: cp/decl.c:8143
++#: cp/decl.c:8215
+ #, gcc-internal-format
+ msgid "cannot declare pointer to %q#T member"
+ msgstr "no se puede declarar el puntero al miembro %q#T"
+
+-#: cp/decl.c:8194
++#: cp/decl.c:8266
+ #, 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.c:8238
++#: cp/decl.c:8310
+ #, gcc-internal-format
+ msgid "template-id %qD used as a declarator"
+ msgstr "el id de plantilla %qD se usa como un declarador"
+
+-#: cp/decl.c:8289
++#: cp/decl.c:8361
+ #, 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.c:8293
++#: cp/decl.c:8365
+ #, gcc-internal-format
+ msgid "extra qualification %<%T::%> on member %qs"
+ msgstr "calificación extra %<%T::%> en el miembro %qs"
+
+-#: cp/decl.c:8325
++#: cp/decl.c:8397
+ #, gcc-internal-format
+ msgid "cannot define member function %<%T::%s%> within %<%T%>"
+ msgstr "no se puede definir la función miembro %<%T::%s%> dentro de %<%T%>"
+
+-#: cp/decl.c:8342
++#: cp/decl.c:8414
+ #, 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.c:8365
++#: cp/decl.c:8437
+ #, 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.c:8386
++#: cp/decl.c:8458
+ #, 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.c:8388
++#: cp/decl.c:8460
+ #, gcc-internal-format
+ msgid "parameter may not have variably modified type %qT"
+ msgstr "el parámetro puede no tener el tipo modificado variablemente %qT"
+
+ #. [dcl.fct.spec] The explicit specifier shall only be used in
+ #. declarations of constructors within a class definition.
+-#: cp/decl.c:8396
++#: cp/decl.c:8468
+ #, gcc-internal-format
+ msgid "only declarations of constructors can be %<explicit%>"
+ msgstr "solamente las declaraciones de constructores pueden ser %<explicit%>"
+
+-#: cp/decl.c:8404
++#: cp/decl.c:8476
+ #, gcc-internal-format
+ msgid "non-member %qs cannot be declared %<mutable%>"
+ msgstr "el no-miembro %qs no se puede declarar %<mutable%>"
+
+-#: cp/decl.c:8409
++#: cp/decl.c:8481
+ #, gcc-internal-format
+ msgid "non-object member %qs cannot be declared %<mutable%>"
+ msgstr "el miembro que no es objeto %qs no se puede declarar %<mutable%>"
+
+-#: cp/decl.c:8415
++#: cp/decl.c:8487
+ #, gcc-internal-format
+ msgid "function %qs cannot be declared %<mutable%>"
+ msgstr "la función %qs no se puede declarar %<mutable%>"
+
+-#: cp/decl.c:8420
++#: cp/decl.c:8492
+ #, gcc-internal-format
+ msgid "static %qs cannot be declared %<mutable%>"
+ msgstr "static %qs no se puede declarar %<mutable%>"
+
+-#: cp/decl.c:8425
++#: cp/decl.c:8497
+ #, gcc-internal-format
+ msgid "const %qs cannot be declared %<mutable%>"
+ msgstr "const %qs no se puede declarar %<mutable%>"
+
+-#: cp/decl.c:8462
++#: cp/decl.c:8534
+ #, gcc-internal-format
+ msgid "%Jtypedef name may not be a nested-name-specifier"
+ msgstr "%Jel nombre del typedef puede no ser un especificador de nombre anidado"
+
+-#: cp/decl.c:8478
++#: cp/decl.c:8550
+ #, 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.c:8564
++#: cp/decl.c:8636
+ #, gcc-internal-format
+ msgid "qualified function types cannot be used to declare static member functions"
+ msgstr "los tipos de función calificados no se pueden usar para declarar una función miembro estática"
+
+-#: cp/decl.c:8566
++#: cp/decl.c:8638
+ #, gcc-internal-format
+ msgid "qualified function types cannot be used to declare free functions"
+ msgstr "los tipos de función calificados no se pueden usar para declarar funciones libres"
+
+-#: cp/decl.c:8592
++#: cp/decl.c:8664
+ #, gcc-internal-format
+ msgid "type qualifiers specified for friend class declaration"
+ msgstr "se especificaron calificadores de tipo para la declaración de clase friend"
+
+-#: cp/decl.c:8597
++#: cp/decl.c:8669
+ #, gcc-internal-format
+ msgid "%<inline%> specified for friend class declaration"
+ msgstr "se especificó %<inline%> para la declaración de clase friend"
+
+-#: cp/decl.c:8605
++#: cp/decl.c:8677
+ #, gcc-internal-format
+ msgid "template parameters cannot be friends"
+ msgstr "los parámetros de la plantilla no pueden ser friends"
+
+-#: cp/decl.c:8607
++#: cp/decl.c:8679
+ #, gcc-internal-format
+ msgid "friend declaration requires class-key, i.e. %<friend class %T::%D%>"
+ msgstr "la declaración friend requere una llave de clase, p.e. %<friend class %T::%D%>"
+
+-#: cp/decl.c:8611
++#: cp/decl.c:8683
+ #, gcc-internal-format
+ msgid "friend declaration requires class-key, i.e. %<friend %#T%>"
+ msgstr "la declaración friend requiere una llave de clase, p.e. %<friend %#T%>"
+
+-#: cp/decl.c:8624
++#: cp/decl.c:8696
+ #, 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.c:8635
++#: cp/decl.c:8707
+ #, gcc-internal-format
+ msgid "invalid qualifiers on non-member function type"
+ msgstr "calificadores inválidos en el tipo de función que no es miembro"
+
+-#: cp/decl.c:8650
++#: cp/decl.c:8722
+ #, gcc-internal-format
+ msgid "abstract declarator %qT used as declaration"
+ msgstr "el declarador abstracto %qT se usó como declaración"
+
+-#: cp/decl.c:8679
++#: cp/decl.c:8751
+ #, gcc-internal-format
+ msgid "cannot use %<::%> in parameter declaration"
+ msgstr "no se puede usar %<::%> en la declaración de parámetros"
+
+ #. Something like struct S { int N::j; };
+-#: cp/decl.c:8725
++#: cp/decl.c:8797
+ #, gcc-internal-format
+ msgid "invalid use of %<::%>"
+ msgstr "uso inválido de %<::%>"
+
+-#: cp/decl.c:8740
++#: cp/decl.c:8812
+ #, gcc-internal-format
+ msgid "can't make %qD into a method -- not in a class"
+ msgstr "no se puede hacer %qD en un método -- no está en una clase"
+
+-#: cp/decl.c:8749
++#: cp/decl.c:8821
+ #, gcc-internal-format
+ msgid "function %qD declared virtual inside a union"
+ msgstr "la función %qD se declaró virtual dentro de un union"
+
+-#: cp/decl.c:8758
++#: cp/decl.c:8830
+ #, gcc-internal-format
+ msgid "%qD cannot be declared virtual, since it is always static"
+ msgstr "%qD no se puede declarar virtual, ya que siempre es static"
+
+-#: cp/decl.c:8774
++#: cp/decl.c:8846
+ #, 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.c:8784
++#: cp/decl.c:8856
+ #, gcc-internal-format
+ msgid "declaration of %qD as member of %qT"
+ msgstr "declaración de %qD como miembro de %qT"
+
+-#: cp/decl.c:8860
++#: cp/decl.c:8863
+ #, 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.c:8939
++#, gcc-internal-format
+ msgid "field %qD has incomplete type"
+ msgstr "el campo %qD tiene tipo de dato incompleto"
+
+-#: cp/decl.c:8862
++#: cp/decl.c:8941
+ #, gcc-internal-format
+ msgid "name %qT has incomplete type"
+ msgstr "el nombre %qT tiene tipo de dato incompleto"
+
+-#: cp/decl.c:8871
++#: cp/decl.c:8950
+ #, gcc-internal-format
+ msgid " in instantiation of template %qT"
+ msgstr " en la instanciación de la plantilla %qT"
+
+-#: cp/decl.c:8880
++#: cp/decl.c:8959
+ #, 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"
+@@ -28676,103 +28659,108 @@
+ #. the rest of the compiler does not correctly
+ #. handle the initialization unless the member is
+ #. static so we make it static below.
+-#: cp/decl.c:8932
++#: cp/decl.c:9011
+ #, gcc-internal-format
+ msgid "ISO C++ forbids initialization of member %qD"
+ msgstr "ISO C++ prohíbe la inicialización del miembro %qD"
+
+-#: cp/decl.c:8934
++#: cp/decl.c:9013
+ #, gcc-internal-format
+ msgid "making %qD static"
+ msgstr "se hace %qD static"
+
+-#: cp/decl.c:8999
++#: cp/decl.c:9078
+ #, gcc-internal-format
+ msgid "storage class %<auto%> invalid for function %qs"
+ msgstr "la clase de almacenamiento %<auto%> es inválida para la función %qs"
+
+-#: cp/decl.c:9001
++#: cp/decl.c:9080
+ #, gcc-internal-format
+ msgid "storage class %<register%> invalid for function %qs"
+ msgstr "la clase de almacenamiento %<register%> es inválida para la función %qs"
+
+-#: cp/decl.c:9003
++#: cp/decl.c:9082
+ #, gcc-internal-format
+ msgid "storage class %<__thread%> invalid for function %qs"
+ msgstr "la clase de almacenamiento %<__thread%> es inválida para la función %qs"
+
+-#: cp/decl.c:9014
++#: cp/decl.c:9093
+ #, gcc-internal-format
+ msgid "%<static%> specified invalid for function %qs declared out of global scope"
+ msgstr "el especificador %<static%> es inválido para la función %qs declarada fuera del ámbito global"
+
+-#: cp/decl.c:9017
++#: cp/decl.c:9096
+ #, gcc-internal-format
+ msgid "%<inline%> specifier invalid for function %qs declared out of global scope"
+ msgstr "el especificador %<inline%> es inválido para la función %qs declarada fuera del ámbito global"
+
+-#: cp/decl.c:9025
++#: cp/decl.c:9104
+ #, gcc-internal-format
+ msgid "virtual non-class function %qs"
+ msgstr "función virtual %qs que no es clase"
+
+-#: cp/decl.c:9056
++#: cp/decl.c:9135
+ #, 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 enlazado estático"
+
+ #. FIXME need arm citation
+-#: cp/decl.c:9063
++#: cp/decl.c:9142
+ #, 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.c:9093
++#: cp/decl.c:9172
+ #, gcc-internal-format
+ msgid "%<static%> may not be used when defining (as opposed to declaring) a static data member"
+ msgstr "%<static%> puede no ser utilizado cuando se define (opuesto a la declaración) un dato miembro static"
+
+-#: cp/decl.c:9100
++#: cp/decl.c:9179
+ #, gcc-internal-format
+ msgid "static member %qD declared %<register%>"
+ msgstr "se declaró el miembro static %qD como %<register%>"
+
+-#: cp/decl.c:9105
++#: cp/decl.c:9184
+ #, 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 enlazado externo"
+
+-#: cp/decl.c:9234
++#: cp/decl.c:9313
+ #, gcc-internal-format
+ msgid "default argument for %q#D has type %qT"
+ msgstr "el argumento por defecto de %q#D tiene tipo %qT"
+
+-#: cp/decl.c:9237
++#: cp/decl.c:9316
+ #, gcc-internal-format
+ msgid "default argument for parameter of type %qT has type %qT"
+ msgstr "el argumento por defecto para el parámetro del tipo %qT tiene el tipo %qT"
+
+-#: cp/decl.c:9253
++#: cp/decl.c:9332
+ #, gcc-internal-format
+ msgid "default argument %qE uses local variable %qD"
+ msgstr "el argumento por defecto %qE usa la variable local %qD"
+
+-#: cp/decl.c:9323
++#: cp/decl.c:9399
+ #, gcc-internal-format
++msgid "parameter %qD has Java class type"
++msgstr "el parámetro %qD tiene tipo de clase Java"
++
++#: cp/decl.c:9412
++#, gcc-internal-format
+ msgid "parameter %qD invalidly declared method type"
+ msgstr "el parámetro %qD se declaró inválidamente como tipo de método"
+
+-#: cp/decl.c:9347
++#: cp/decl.c:9436
+ #, gcc-internal-format
+ msgid "parameter %qD includes %s to array of unknown bound %qT"
+ msgstr "el parámetro %qD incluye %s para la matriz %qT de límite desconocido"
+
+-#: cp/decl.c:9361
++#: cp/decl.c:9450
+ #, gcc-internal-format
+ msgid "parameter packs must be at the end of the parameter list"
+ msgstr "los paquetes de parámetros deben estar al final de la lista de parámetros"
+
+-#: cp/decl.c:9366
++#: cp/decl.c:9455
+ #, gcc-internal-format
+ msgid "multiple parameters named %qE"
+ msgstr "múltiples parámetros nombrados %qE"
+@@ -28792,140 +28780,140 @@
+ #. or implicitly defined), there's no need to worry about their
+ #. existence. Theoretically, they should never even be
+ #. instantiated, but that's hard to forestall.
+-#: cp/decl.c:9581
++#: cp/decl.c:9672
+ #, gcc-internal-format
+ msgid "invalid constructor; you probably meant %<%T (const %T&)%>"
+ msgstr "constructor inválido; tal vez quiso decir %<%T (const %T&)%>"
+
+-#: cp/decl.c:9703
++#: cp/decl.c:9794
+ #, 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.c:9708
++#: cp/decl.c:9799
+ #, gcc-internal-format
+ msgid "%qD may not be declared as static"
+ msgstr "%qD no se puede declarar como static"
+
+-#: cp/decl.c:9731
++#: cp/decl.c:9825
+ #, gcc-internal-format
+ msgid "%qD must be a nonstatic member function"
+ msgstr "%qD debe ser una función miembro que no sea static"
+
+-#: cp/decl.c:9740
++#: cp/decl.c:9834
+ #, 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.c:9761
++#: cp/decl.c:9855
+ #, 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"
+
+-#: cp/decl.c:9802
++#: cp/decl.c:9896
+ #, gcc-internal-format
+ msgid "conversion to %s%s will never use a type conversion operator"
+ msgstr "la conversión a %s%s nunca usará un operador de conversión de tipo"
+
+ #. 13.4.0.3
+-#: cp/decl.c:9810
++#: cp/decl.c:9904
+ #, gcc-internal-format
+ msgid "ISO C++ prohibits overloading operator ?:"
+ msgstr "ISO C++ prohíbe la sobrecarga del operador ?:"
+
+-#: cp/decl.c:9815
++#: cp/decl.c:9909
+ #, 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.c:9866
++#: cp/decl.c:9960
+ #, gcc-internal-format
+ msgid "postfix %qD must take %<int%> as its argument"
+ msgstr "el postfijo %qD debe tomar %<int%> como su argumento"
+
+-#: cp/decl.c:9869
++#: cp/decl.c:9963
+ #, gcc-internal-format
+ msgid "postfix %qD must take %<int%> as its second argument"
+ msgstr "el postfijo %qD debe tomar %<int%> como su segundo argumento"
+
+-#: cp/decl.c:9877
++#: cp/decl.c:9971
+ #, gcc-internal-format
+ msgid "%qD must take either zero or one argument"
+ msgstr "%qD debe tomar cero o un argumentos"
+
+-#: cp/decl.c:9879
++#: cp/decl.c:9973
+ #, gcc-internal-format
+ msgid "%qD must take either one or two arguments"
+ msgstr "%qD debe tomar uno o dos 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.c:9901
++#: cp/decl.c:9995
+ #, gcc-internal-format
+ msgid "prefix %qD should return %qT"
+ msgstr "el prefijo %qD debe regresar %qT"
+
+-#: cp/decl.c:9907
++#: cp/decl.c:10001
+ #, gcc-internal-format
+ msgid "postfix %qD should return %qT"
+ msgstr "el postfijo %qD debe regresar %qT"
+
+-#: cp/decl.c:9916
++#: cp/decl.c:10010
+ #, gcc-internal-format
+ msgid "%qD must take %<void%>"
+ msgstr "%qD debe tomar %<void%>"
+
+-#: cp/decl.c:9918 cp/decl.c:9927
++#: cp/decl.c:10012 cp/decl.c:10021
+ #, gcc-internal-format
+ msgid "%qD must take exactly one argument"
+ msgstr "%qD debe tomar un argumento exactamente"
+
+-#: cp/decl.c:9929
++#: cp/decl.c:10023
+ #, gcc-internal-format
+ msgid "%qD must take exactly two arguments"
+ msgstr "%qD debe tomar dos argumentos exactamente"
+
+-#: cp/decl.c:9938
++#: cp/decl.c:10032
+ #, gcc-internal-format
+ msgid "user-defined %qD always evaluates both arguments"
+ msgstr "el %qD definido por el usuario siempre evalúa ambos argumentos"
+
+-#: cp/decl.c:9952
++#: cp/decl.c:10046
+ #, gcc-internal-format
+ msgid "%qD should return by value"
+ msgstr "%qD debe devolver por valor"
+
+-#: cp/decl.c:9964 cp/decl.c:9968
++#: cp/decl.c:10058 cp/decl.c:10062
+ #, gcc-internal-format
+ msgid "%qD cannot have default arguments"
+ msgstr "%qD no puede tener argumentos por defecto"
+
+-#: cp/decl.c:10026
++#: cp/decl.c:10120
+ #, 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.c:10041
++#: cp/decl.c:10135
+ #, 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.c:10042
++#: cp/decl.c:10136
+ #, gcc-internal-format
+ msgid "%q+D has a previous declaration here"
+ msgstr "%q+D tiene una declaración previa aquí"
+
+-#: cp/decl.c:10050
++#: cp/decl.c:10144
+ #, gcc-internal-format
+ msgid "%qT referred to as %qs"
+ msgstr "se refirió a %qT como %qs"
+
+-#: cp/decl.c:10051 cp/decl.c:10058
++#: cp/decl.c:10145 cp/decl.c:10152
+ #, gcc-internal-format
+ msgid "%q+T has a previous declaration here"
+ msgstr "%q+T tiene una declaración previa aquí"
+
+-#: cp/decl.c:10057
++#: cp/decl.c:10151
+ #, gcc-internal-format
+ msgid "%qT referred to as enum"
+ msgstr "se refirió a %qT como un enum"
+@@ -28937,75 +28925,75 @@
+ #. void f(class C); // No template header here
+ #.
+ #. then the required template argument is missing.
+-#: cp/decl.c:10072
++#: cp/decl.c:10166
+ #, gcc-internal-format
+ msgid "template argument required for %<%s %T%>"
+ msgstr "se requiere un argumento de plantilla para %<%s %T%>"
+
+-#: cp/decl.c:10120 cp/name-lookup.c:2698
++#: cp/decl.c:10214 cp/name-lookup.c:2700
+ #, 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.c:10150 cp/name-lookup.c:2207 cp/parser.c:4036 cp/parser.c:14029
+-#: cp/parser.c:16234
++#: cp/decl.c:10244 cp/name-lookup.c:2209 cp/parser.c:4040 cp/parser.c:14099
++#: cp/parser.c:16316
+ #, gcc-internal-format
+ msgid "reference to %qD is ambiguous"
+ msgstr "la referencia a %qD es ambigua"
+
+-#: cp/decl.c:10264
++#: cp/decl.c:10358
+ #, gcc-internal-format
+ msgid "use of enum %q#D without previous declaration"
+ msgstr "uso del enum %q#D sin declaración previa"
+
+-#: cp/decl.c:10285
++#: cp/decl.c:10379
+ #, gcc-internal-format
+ msgid "redeclaration of %qT as a non-template"
+ msgstr "redeclaración de %qT como algo que no es plantilla"
+
+-#: cp/decl.c:10286 cp/pt.c:4154
++#: cp/decl.c:10380
+ #, gcc-internal-format
+ msgid "previous declaration %q+D"
+ msgstr "declaración previa de %q+D"
+
+-#: cp/decl.c:10397
++#: cp/decl.c:10491
+ #, gcc-internal-format
+ msgid "derived union %qT invalid"
+ msgstr "union derivada %qT inválida"
+
+-#: cp/decl.c:10406
++#: cp/decl.c:10500
+ #, gcc-internal-format
+ msgid "Java class %qT cannot have multiple bases"
+ msgstr "la clase Java %qT no puede tener bases múltiples"
+
+-#: cp/decl.c:10417
++#: cp/decl.c:10511
+ #, gcc-internal-format
+ msgid "Java class %qT cannot have virtual bases"
+ msgstr "la clase Java %qT no puede tener bases virtuales"
+
+ # 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.c:10440
++#: cp/decl.c:10534
+ #, 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.c:10473
++#: cp/decl.c:10567
+ #, gcc-internal-format
+ msgid "recursive type %qT undefined"
+ msgstr "tipo recursivo %qT sin definir"
+
+-#: cp/decl.c:10475
++#: cp/decl.c:10569
+ #, gcc-internal-format
+ msgid "duplicate base type %qT invalid"
+ msgstr "tipo base duplicado %qT inválido"
+
+-#: cp/decl.c:10552
++#: cp/decl.c:10646
+ #, gcc-internal-format
+ msgid "multiple definition of %q#T"
+ msgstr "definición múltiple de %q#T"
+
+-#: cp/decl.c:10553
++#: cp/decl.c:10647
+ #, gcc-internal-format
+ msgid "%Jprevious definition here"
+ msgstr "%Jdefinición previa aquí"
+@@ -29014,47 +29002,52 @@
+ #.
+ #. IF no integral type can represent all the enumerator values, the
+ #. enumeration is ill-formed.
+-#: cp/decl.c:10692
++#: cp/decl.c:10786
+ #, 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.c:10803
++#: cp/decl.c:10897
+ #, 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.c:10831
++#: cp/decl.c:10925
+ #, gcc-internal-format
+ msgid "overflow in enumeration values at %qD"
+ msgstr "desbordamiento en valores de enumeración en %qD"
+
+-#: cp/decl.c:10906
++#: cp/decl.c:11002
+ #, 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.c:11031 cp/typeck.c:6711
++#: cp/decl.c:11004
+ #, gcc-internal-format
++msgid "return type has Java class type %q#T"
++msgstr "el tipo de devolución tiene tipo de clase Java %q#T"
++
++#: cp/decl.c:11129 cp/typeck.c:6739
++#, gcc-internal-format
+ msgid "%<operator=%> should return a reference to %<*this%>"
+ msgstr "%<operator=%> debe devolver una referencia a %<*this%>"
+
+-#: cp/decl.c:11420
++#: cp/decl.c:11518
+ #, gcc-internal-format
+ msgid "parameter %qD declared void"
+ msgstr "el parámetro %qD se declaró void"
+
+-#: cp/decl.c:11908
++#: cp/decl.c:12006
+ #, gcc-internal-format
+ msgid "invalid member function declaration"
+ msgstr "declaración de la función miembro inválida"
+
+-#: cp/decl.c:11923
++#: cp/decl.c:12021
+ #, gcc-internal-format
+ msgid "%qD is already defined in class %qT"
+ msgstr "%qD ya se definió en la clase %qT"
+
+-#: cp/decl.c:12170
++#: cp/decl.c:12268
+ #, 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"
+@@ -29094,7 +29087,7 @@
+ msgid "deleting %qT is undefined"
+ msgstr "el borrado de %qT está indefinido"
+
+-#: cp/decl2.c:459 cp/pt.c:3828
++#: cp/decl2.c:459 cp/pt.c:3831
+ #, gcc-internal-format
+ msgid "template declaration of %q#D"
+ msgstr "declaración plantilla de %q#D"
+@@ -29179,22 +29172,22 @@
+ msgid "static member %qD cannot be a bit-field"
+ msgstr "el miembro static %qD no puede ser un campo de bits"
+
+-#: cp/decl2.c:1122
++#: cp/decl2.c:1165
+ #, gcc-internal-format
+ msgid "anonymous struct not inside named type"
+ msgstr "struct anónimo no está dentro de un tipo nombrado"
+
+-#: cp/decl2.c:1206
++#: cp/decl2.c:1249
+ #, gcc-internal-format
+ msgid "namespace-scope anonymous aggregates must be static"
+ msgstr "los agregados anónimos de alcance de nombre de espacio deben ser static"
+
+-#: cp/decl2.c:1215
++#: cp/decl2.c:1258
+ #, gcc-internal-format
+ msgid "anonymous union with no members"
+ msgstr "union anónima sin miembros"
+
+-#: cp/decl2.c:1251
++#: cp/decl2.c:1294
+ #, gcc-internal-format
+ msgid "%<operator new%> must return type %qT"
+ msgstr "%<operator new%> debe devolver el tipo %qT"
+@@ -29203,52 +29196,52 @@
+ #.
+ #. The first parameter shall not have an associated default
+ #. argument.
+-#: cp/decl2.c:1262
++#: cp/decl2.c:1305
+ #, gcc-internal-format
+ msgid "the first parameter of %<operator new%> cannot have a default argument"
+ msgstr "el primer parámetro de %<operator new%> no puede tener un argumento por defecto"
+
+-#: cp/decl2.c:1278
++#: cp/decl2.c:1321
+ #, gcc-internal-format
+ msgid "%<operator new%> takes type %<size_t%> (%qT) as first parameter"
+ msgstr "%<operator new%> toma el tipo %<size_t%> (%qT) como primer argumento"
+
+-#: cp/decl2.c:1307
++#: cp/decl2.c:1350
+ #, gcc-internal-format
+ msgid "%<operator delete%> must return type %qT"
+ msgstr "%<operator delete%> debe devolver el tipo %qT"
+
+-#: cp/decl2.c:1316
++#: cp/decl2.c:1359
+ #, gcc-internal-format
+ msgid "%<operator delete%> takes type %qT as first parameter"
+ msgstr "%<operator delete%> toma el tipo %qT como primer argumento"
+
+-#: cp/decl2.c:1985
++#: cp/decl2.c:2028
+ #, gcc-internal-format
+ msgid "%qT has a field %qD whose type uses the anonymous namespace"
+ msgstr "%qT tiene un campo %qD cuyo tipo usa el espacio de nombres anónimo"
+
+-#: cp/decl2.c:1992
++#: cp/decl2.c:2035
+ #, gcc-internal-format
+ msgid "%qT declared with greater visibility than the type of its field %qD"
+ msgstr "%qT se declaró con mayor visibilidad que el tipo de su campo %qD"
+
+-#: cp/decl2.c:2005
++#: cp/decl2.c:2048
+ #, gcc-internal-format
+ msgid "%qT has a base %qT whose type uses the anonymous namespace"
+ msgstr "%qT tiene una base %qT cuyo tipo usa el espacio de nombres anónimo"
+
+-#: cp/decl2.c:2011
++#: cp/decl2.c:2054
+ #, gcc-internal-format
+ msgid "%qT declared with greater visibility than its base %qT"
+ msgstr "%qT se declaró con mayor visibilidad que su base %qT"
+
+-#: cp/decl2.c:3395
++#: cp/decl2.c:3441
+ #, gcc-internal-format
+ msgid "inline function %q+D used but never defined"
+ msgstr "se usó la función inline %q+D pero nunca se definió"
+
+-#: cp/decl2.c:3543
++#: cp/decl2.c:3589
+ #, gcc-internal-format
+ msgid "default argument missing for parameter %P of %q+#D"
+ msgstr "falta el argumento por defecto para el parámetro %P de %q+#D"
+@@ -29256,7 +29249,7 @@
+ #. We really want to suppress this warning in system headers,
+ #. because libstdc++ uses variadic templates even when we aren't
+ #. in C++0x mode.
+-#: cp/error.c:2669
++#: cp/error.c:2712
+ #, gcc-internal-format
+ msgid "ISO C++ does not include variadic templates"
+ msgstr "ISO C++ no incluye plantillas variadic"
+@@ -29288,7 +29281,7 @@
+ msgid "throwing NULL, which has integral, not pointer type"
+ msgstr "arrojando NULL, que tiene un tipo integral, que no es puntero"
+
+-#: cp/except.c:643 cp/init.c:1780
++#: cp/except.c:643 cp/init.c:1915
+ #, gcc-internal-format
+ msgid "%qD should never be overloaded"
+ msgstr "%qD nunca se debe sobrecargar"
+@@ -29387,232 +29380,247 @@
+ msgid "member %qD declared as friend before type %qT defined"
+ msgstr "el miembro %qD se declaró como friend antes de definir el tipo %qT"
+
+-#: cp/friend.c:550
++#: cp/friend.c:543
+ #, gcc-internal-format
++msgid "friend declaration %qD in local class without prior declaration"
++msgstr "una declaración friend %qD en una clase local sin declaración previa"
++
++#: cp/friend.c:564
++#, gcc-internal-format
+ msgid "friend declaration %q#D declares a non-template function"
+ msgstr "la declaración friend %q#D declara una función que no es plantilla"
+
+-#: cp/friend.c:554
++#: cp/friend.c:568
+ #, 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 "(si esta no es su intención, asegúrese que la plantilla de la función ya ha sido declarada y agregue <> aquí después del nombre de la función) "
+
+-#: cp/init.c:334
++#: cp/init.c:374
+ #, gcc-internal-format
++msgid "value-initialization of reference"
++msgstr "inicialización por valor de la referencia"
++
++#: cp/init.c:481
++#, gcc-internal-format
+ msgid "%J%qD should be initialized in the member initialization list"
+ msgstr "%J%qD se debe inicializar en la lista de inicialización de miembros"
+
+-#: cp/init.c:382
++#: cp/init.c:529
+ #, gcc-internal-format
+ msgid "%Jdefault-initialization of %q#D, which has reference type"
+ msgstr "%Jla inicialización por defecto de %q#D, el cual tiene el tipo de referencia"
+
+-#: cp/init.c:388
++#: cp/init.c:535
+ #, gcc-internal-format
+ msgid "%Juninitialized reference member %qD"
+ msgstr "%Jmiembro referencia %qD sin inicializar"
+
+-#: cp/init.c:391
++#: cp/init.c:538
+ #, gcc-internal-format
+ msgid "%Juninitialized member %qD with %<const%> type %qT"
+ msgstr "%Jmiembro %qD sin inicializar con tipo %qT %<const%>"
+
+-#: cp/init.c:534
++#: cp/init.c:681
+ #, gcc-internal-format
+ msgid "%q+D will be initialized after"
+ msgstr "%q+D se inicializará después de"
+
+-#: cp/init.c:537
++#: cp/init.c:684
+ #, gcc-internal-format
+ msgid "base %qT will be initialized after"
+ msgstr "la base %qT se inicializará después de"
+
+-#: cp/init.c:540
++#: cp/init.c:687
+ #, gcc-internal-format
+ msgid " %q+#D"
+ msgstr " %q+#D"
+
+-#: cp/init.c:542
++#: cp/init.c:689
+ #, gcc-internal-format
+ msgid " base %qT"
+ msgstr " base %qT"
+
+-#: cp/init.c:543
++#: cp/init.c:690
+ #, gcc-internal-format
+ msgid "%J when initialized here"
+ msgstr "%J cuando se inicializó aquí"
+
+-#: cp/init.c:559
++#: cp/init.c:706
+ #, gcc-internal-format
+ msgid "%Jmultiple initializations given for %qD"
+ msgstr "%Jse dieron inicializaciones múltiples para %qD"
+
+-#: cp/init.c:562
++#: cp/init.c:709
+ #, gcc-internal-format
+ msgid "%Jmultiple initializations given for base %qT"
+ msgstr "%Jse dieron inicializaciones múltiples para la base %qT"
+
+-#: cp/init.c:629
++#: cp/init.c:776
+ #, gcc-internal-format
+ msgid "%Jinitializations for multiple members of %qT"
+ msgstr "%Jinicializaciones para múltiples miembros de %qT"
+
+-#: cp/init.c:691
++#: cp/init.c:839
+ #, gcc-internal-format
+ msgid "%Jbase class %q#T should be explicitly initialized in the copy constructor"
+ msgstr "%Jla clase base %q#T debe ser inicializada explícitamente en la copia del constructor"
+
+-#: cp/init.c:915 cp/init.c:934
++#: cp/init.c:1063 cp/init.c:1082
+ #, gcc-internal-format
+ msgid "class %qT does not have any field named %qD"
+ msgstr "la clase %qT no tiene ningún campo llamado %qD"
+
+-#: cp/init.c:921
++#: cp/init.c:1069
+ #, gcc-internal-format
+ msgid "%q#D is a static data member; it can only be initialized at its definition"
+ msgstr "%q#D es un dato miembro static; sólo se puede inicializar en su definición"
+
+-#: cp/init.c:928
++#: cp/init.c:1076
+ #, gcc-internal-format
+ msgid "%q#D is not a non-static data member of %qT"
+ msgstr "%q#D no es un dato miembro no static de %qT"
+
+-#: cp/init.c:967
++#: cp/init.c:1115
+ #, gcc-internal-format
+ msgid "unnamed initializer for %qT, which has no base classes"
+ msgstr "inicializador sin nombre para %qT, el cual no tiene clases base"
+
+-#: cp/init.c:975
++#: cp/init.c:1123
+ #, gcc-internal-format
+ msgid "unnamed initializer for %qT, which uses multiple inheritance"
+ msgstr "inicializador sin nombre para %qT, el cual usa herencia múltiple"
+
+-#: cp/init.c:1021
++#: cp/init.c:1169
+ #, gcc-internal-format
+ msgid "%qD is both a direct base and an indirect virtual base"
+ msgstr "%qD es tanto una base directa como una base virtual indirecta"
+
+-#: cp/init.c:1029
++#: cp/init.c:1177
+ #, gcc-internal-format
+ msgid "type %qT is not a direct or virtual base of %qT"
+ msgstr "el tipo %qT no es una base directa o virtual de %qT"
+
+-#: cp/init.c:1032
++#: cp/init.c:1180
+ #, gcc-internal-format
+ msgid "type %qT is not a direct base of %qT"
+ msgstr "el tipo %qT no es una base directa de %qT"
+
+-#: cp/init.c:1112
++#: cp/init.c:1260
+ #, gcc-internal-format
+ msgid "bad array initializer"
+ msgstr "inicializador de matriz erróneo"
+
+-#: cp/init.c:1287
++#: cp/init.c:1435
+ #, gcc-internal-format
+ msgid "%qT is not an aggregate type"
+ msgstr "%qT no es un tipo agregado"
+
+-#: cp/init.c:1341
++#: cp/init.c:1489
+ #, gcc-internal-format
+ msgid "incomplete type %qT does not have member %qD"
+ msgstr "el tipo incompleto %qT no tiene al miembro %qD"
+
+-#: cp/init.c:1354
++#: cp/init.c:1502
+ #, gcc-internal-format
+ msgid "invalid pointer to bit-field %qD"
+ msgstr "puntero inválido al campo de bits %qD"
+
+-#: cp/init.c:1431
++#: cp/init.c:1579
+ #, gcc-internal-format
+ msgid "invalid use of non-static member function %qD"
+ msgstr "uso inválido de la función miembro no static %qD"
+
+-#: cp/init.c:1437
++#: cp/init.c:1585
+ #, gcc-internal-format
+ msgid "invalid use of non-static data member %qD"
+ msgstr "uso inválido del dato miembro no static %qD"
+
+-#: cp/init.c:1714
++#: cp/init.c:1862
+ #, gcc-internal-format
+ msgid "invalid type %<void%> for new"
+ msgstr "tipo %<void%> inválido para new"
+
+-#: cp/init.c:1724
++#: cp/init.c:1872
+ #, gcc-internal-format
+ msgid "uninitialized const in %<new%> of %q#T"
+ msgstr "const sin inicializar en %<new%> de %q#T"
+
+-#: cp/init.c:1775
++#: cp/init.c:1910
+ #, gcc-internal-format
+ msgid "call to Java constructor with %qs undefined"
+ msgstr "llamado a constructor Java con %qs sin definir"
+
+-#: cp/init.c:1815
++#: cp/init.c:1926
+ #, gcc-internal-format
++msgid "Java class %q#T object allocated using placement new"
++msgstr "se aloja el objeto de clase Java %q#T usando una ubicación new"
++
++#: cp/init.c:1955
++#, gcc-internal-format
+ msgid "no suitable %qD found in class %qT"
+ msgstr "no se encontró un %qD adecuado en la clase %qT"
+
+-#: cp/init.c:1820
++#: cp/init.c:1960
+ #, gcc-internal-format
+ msgid "request for member %qD is ambiguous"
+ msgstr "la petición para el miembro %qD es ambigua"
+
+-#: cp/init.c:1972
++#: cp/init.c:2134
+ #, gcc-internal-format
+ msgid "ISO C++ forbids initialization in array new"
+ msgstr "ISO C++ prohíbe la inicialización en la matriz new"
+
+-#: cp/init.c:2174
++#: cp/init.c:2336
+ #, gcc-internal-format
+ msgid "size in array new must have integral type"
+ msgstr "el tamaño de la matriz nueva debe tener un tipo integral"
+
+-#: cp/init.c:2183
++#: cp/init.c:2345
+ #, gcc-internal-format
+ msgid "new cannot be applied to a reference type"
+ msgstr "new no se puede aplicar a un tipo de referencia"
+
+-#: cp/init.c:2189
++#: cp/init.c:2351
+ #, gcc-internal-format
+ msgid "new cannot be applied to a function type"
+ msgstr "new no se puede aplicar a un tipo de función"
+
+-#: cp/init.c:2228
++#: cp/init.c:2390
+ #, gcc-internal-format
+ msgid "call to Java constructor, while %<jclass%> undefined"
+ msgstr "llamado a constructor Java, mientras %<jclass%> está indefinido"
+
+-#: cp/init.c:2246
++#: cp/init.c:2408
+ #, gcc-internal-format
+ msgid "can't find %<class$%> in %qT"
+ msgstr "no se puede encontrar %<class$%> en %qT"
+
+-#: cp/init.c:2607
++#: cp/init.c:2769
+ #, gcc-internal-format
+ msgid "initializer ends prematurely"
+ msgstr "el inicializador termina prematuramente"
+
+-#: cp/init.c:2662
++#: cp/init.c:2824
+ #, gcc-internal-format
+ msgid "cannot initialize multi-dimensional array with initializer"
+ msgstr "no se pueden inicializar matrices multidimensionales con el inicializador"
+
+-#: cp/init.c:2799
++#: cp/init.c:2961
+ #, gcc-internal-format
+ msgid "possible problem detected in invocation of delete operator:"
+ msgstr "se detectó un posible problema en la invocación del operador delete:"
+
+-#: cp/init.c:2802
++#: cp/init.c:2964
+ #, gcc-internal-format
+ msgid "neither the destructor nor the class-specific operator delete will be called, even if they are declared when the class is defined."
+ msgstr "no se llamará ni al destructor ni al operador delete específico de la clase, aún si se declaran cuando se defina la clase."
+
+-#: cp/init.c:2823
++#: cp/init.c:2985
+ #, gcc-internal-format
+ msgid "unknown array size in delete"
+ msgstr "tamaño de matriz desconocida en delete"
+
+-#: cp/init.c:3070
++#: cp/init.c:3232
+ #, gcc-internal-format
+ msgid "type to vector delete is neither pointer or array type"
+ msgstr "el tipo de vector delete no es del tipo puntero ni matriz"
+@@ -29677,22 +29685,22 @@
+ msgid "mangling typeof, use decltype instead"
+ msgstr "se decodifica typeof, utilice decltype en su lugar"
+
+-#: cp/mangle.c:2208
++#: cp/mangle.c:2211
+ #, gcc-internal-format
+ msgid "call_expr cannot be mangled due to a defect in the C++ ABI"
+ msgstr "call_expr no se puede decodificar debido a un defecto en la ABI de C++"
+
+-#: cp/mangle.c:2216
++#: cp/mangle.c:2219
+ #, gcc-internal-format
+ msgid "zero-operand casts cannot be mangled due to a defect in the C++ ABI"
+ msgstr "las conversiones con cero operandos no se pueden decodificar debido a un defecto en la ABI de C++"
+
+-#: cp/mangle.c:2266
++#: cp/mangle.c:2269
+ #, gcc-internal-format
+ msgid "omitted middle operand to %<?:%> operand cannot be mangled"
+ msgstr "se omitió el operando de enmedio de %<?%>: no se puede revolver el operando"
+
+-#: cp/mangle.c:2584
++#: cp/mangle.c:2587
+ #, gcc-internal-format
+ msgid "the mangled name of %qD will change in a future version of GCC"
+ msgstr "el nombre revuelto de %qD cambiará en una versión futura de GCC"
+@@ -29702,27 +29710,27 @@
+ msgid "generic thunk code fails for method %q#D which uses %<...%>"
+ msgstr "el código de thunk genérico falló para el método %q#D que utiliza %<...%>"
+
+-#: cp/method.c:697
++#: cp/method.c:698
+ #, gcc-internal-format
+ msgid "non-static const member %q#D, can't use default assignment operator"
+ msgstr "el miembro const %q#D que no es static, no puede usar el operador de asignación por defecto"
+
+-#: cp/method.c:703
++#: cp/method.c:704
+ #, gcc-internal-format
+ msgid "non-static reference member %q#D, can't use default assignment operator"
+ msgstr "el miembro de referencia %q#D que no es static, no puede usar el operador de asignación por defecto"
+
+-#: cp/method.c:815
++#: cp/method.c:816
+ #, gcc-internal-format
+ msgid "%Hsynthesized method %qD first required here "
+ msgstr "%Hse requirió primero el método sintetizado %qD aquí "
+
+-#: cp/method.c:1158
++#: cp/method.c:1159
+ #, gcc-internal-format
+ msgid "vtable layout for class %qT may not be ABI-compliantand may change in a future version of GCC due to implicit virtual destructor"
+ msgstr "la disposición vtable para la clase %qT puede no cumplir con la ABI y puede cambiar en una versión futura de GCC debido al destructor virtual implícito"
+
+-#: cp/name-lookup.c:728
++#: cp/name-lookup.c:727
+ #, gcc-internal-format
+ msgid "redeclaration of %<wchar_t%> as %qT"
+ msgstr "redeclaración de %<wchar_t%> como %qT"
+@@ -29733,243 +29741,243 @@
+ #. [basic.start.main]
+ #.
+ #. This function shall not be overloaded.
+-#: cp/name-lookup.c:758
++#: cp/name-lookup.c:757
+ #, gcc-internal-format
+ msgid "invalid redeclaration of %q+D"
+ msgstr "redeclaración inválida de %q+D"
+
+-#: cp/name-lookup.c:759
++#: cp/name-lookup.c:758
+ #, gcc-internal-format
+ msgid "as %qD"
+ msgstr "como %qD"
+
+-#: cp/name-lookup.c:850
++#: cp/name-lookup.c:849
+ #, gcc-internal-format
+ msgid "type mismatch with previous external decl of %q#D"
+ msgstr "no coinciden los tipos con la declaración externa previa de %q#D"
+
+-#: cp/name-lookup.c:851
++#: cp/name-lookup.c:850
+ #, gcc-internal-format
+ msgid "previous external decl of %q+#D"
+ msgstr "declaración externa previa de %q+#D"
+
+-#: cp/name-lookup.c:942
++#: cp/name-lookup.c:941
+ #, gcc-internal-format
+ msgid "extern declaration of %q#D doesn't match"
+ msgstr "la declaración extern de %q#D no coincide"
+
+-#: cp/name-lookup.c:943
++#: cp/name-lookup.c:942
+ #, gcc-internal-format
+ msgid "global declaration %q+#D"
+ msgstr "la declaración global %q+#D"
+
+-#: cp/name-lookup.c:980 cp/name-lookup.c:987
++#: cp/name-lookup.c:979 cp/name-lookup.c:986
+ #, gcc-internal-format
+ msgid "declaration of %q#D shadows a parameter"
+ msgstr "la declaración de %q#D oscurece un parámetro"
+
+ #. Location of previous decl is not useful in this case.
+-#: cp/name-lookup.c:1012
++#: cp/name-lookup.c:1011
+ #, gcc-internal-format
+ msgid "declaration of %qD shadows a member of 'this'"
+ msgstr "la declaración de %qD oscurece a un miembro de 'this'"
+
+-#: cp/name-lookup.c:1018
++#: cp/name-lookup.c:1017
+ #, gcc-internal-format
+ msgid "declaration of %qD shadows a previous local"
+ msgstr "la declaración de %qD oscurece a una declaración local previa"
+
+-#: cp/name-lookup.c:1025
++#: cp/name-lookup.c:1024
+ #, gcc-internal-format
+ msgid "declaration of %qD shadows a global declaration"
+ msgstr "la declaración de %qD oscurece a una declaración global"
+
+-#: cp/name-lookup.c:1148
++#: cp/name-lookup.c:1147
+ #, gcc-internal-format
+ msgid "name lookup of %qD changed"
+ msgstr "la búsqueda de nombre de %qD cambió"
+
+-#: cp/name-lookup.c:1149
++#: cp/name-lookup.c:1148
+ #, gcc-internal-format
+ msgid " matches this %q+D under ISO standard rules"
+ msgstr " coincide con este %q+D bajo las reglas de ISO estándar"
+
+-#: cp/name-lookup.c:1151
++#: cp/name-lookup.c:1150
+ #, gcc-internal-format
+ msgid " matches this %q+D under old rules"
+ msgstr " coincide con este %q+D bajo las reglas antiguas"
+
+-#: cp/name-lookup.c:1169 cp/name-lookup.c:1177
++#: cp/name-lookup.c:1168 cp/name-lookup.c:1176
+ #, gcc-internal-format
+ msgid "name lookup of %qD changed for new ISO %<for%> scoping"
+ msgstr "la búsqueda de nombre de %qD cambió por el nuevo alcance ISO de %<for%>"
+
+-#: cp/name-lookup.c:1171
++#: cp/name-lookup.c:1170
+ #, gcc-internal-format
+ msgid " cannot use obsolete binding at %q+D because it has a destructor"
+ msgstr " no se puede usar la asignación obsoleta en %q+D porque tiene un destructor"
+
+-#: cp/name-lookup.c:1179
++#: cp/name-lookup.c:1178
+ #, gcc-internal-format
+ msgid " using obsolete binding at %q+D"
+ msgstr " se usa la asignación obsoleta en %q+D"
+
+-#: cp/name-lookup.c:1232
++#: cp/name-lookup.c:1231
+ #, gcc-internal-format
+ msgid "%s %s(%E) %p %d\n"
+ msgstr "%s %s(%E) %p %d\n"
+
+-#: cp/name-lookup.c:1235
++#: cp/name-lookup.c:1234
+ #, gcc-internal-format
+ msgid "%s %s %p %d\n"
+ msgstr "%s %s %p %d\n"
+
+-#: cp/name-lookup.c:1362
++#: cp/name-lookup.c:1361
+ #, gcc-internal-format
+ msgid "XXX is_class_level != (current_scope == class_scope)\n"
+ msgstr "XXX is_class_level != (current_scope == class_scope)\n"
+
+-#: cp/name-lookup.c:1920
++#: cp/name-lookup.c:1922
+ #, gcc-internal-format
+ msgid "%q#D hides constructor for %q#T"
+ msgstr "%q#D esconde el destructor para %q#T"
+
+-#: cp/name-lookup.c:1937
++#: cp/name-lookup.c:1939
+ #, gcc-internal-format
+ msgid "%q#D conflicts with previous using declaration %q#D"
+ msgstr "%q#D genera un conflicto con la declaración previa en uso %q#D"
+
+-#: cp/name-lookup.c:1960
++#: cp/name-lookup.c:1962
+ #, gcc-internal-format
+ msgid "previous non-function declaration %q+#D"
+ msgstr "la declaración previa %q+#D que no es función"
+
+-#: cp/name-lookup.c:1961
++#: cp/name-lookup.c:1963
+ #, gcc-internal-format
+ msgid "conflicts with function declaration %q#D"
+ msgstr "genera un conflicto con la declaración de la función %q#D"
+
+ #. It's a nested name with template parameter dependent scope.
+ #. This can only be using-declaration for class member.
+-#: cp/name-lookup.c:2039 cp/name-lookup.c:2064
++#: cp/name-lookup.c:2041 cp/name-lookup.c:2066
+ #, gcc-internal-format
+ msgid "%qT is not a namespace"
+ msgstr "%qT no es un espacio de nombres"
+
+ #. 7.3.3/5
+ #. A using-declaration shall not name a template-id.
+-#: cp/name-lookup.c:2049
++#: cp/name-lookup.c:2051
+ #, gcc-internal-format
+ msgid "a using-declaration cannot specify a template-id. Try %<using %D%>"
+ msgstr "una declaración de uso no puede especificar un id de plantilla. Intente %<using %D%>"
+
+-#: cp/name-lookup.c:2056
++#: cp/name-lookup.c:2058
+ #, gcc-internal-format
+ msgid "namespace %qD not allowed in using-declaration"
+ msgstr "no se permite el espacio de nombres %qD en la declaración using"
+
+-#: cp/name-lookup.c:2092
++#: cp/name-lookup.c:2094
+ #, gcc-internal-format
+ msgid "%qD not declared"
+ msgstr "no se declaró %qD"
+
+-#: cp/name-lookup.c:2128 cp/name-lookup.c:2165 cp/name-lookup.c:2199
+-#: cp/name-lookup.c:2214
++#: cp/name-lookup.c:2130 cp/name-lookup.c:2167 cp/name-lookup.c:2201
++#: cp/name-lookup.c:2216
+ #, gcc-internal-format
+ msgid "%qD is already declared in this scope"
+ msgstr "%qD ya se declaró en este ámbito"
+
+-#: cp/name-lookup.c:2817
++#: cp/name-lookup.c:2819
+ #, gcc-internal-format
+ msgid "using-declaration for non-member at class scope"
+ msgstr "declaración de uso para un no miembro en el ámbito de la clase"
+
+-#: cp/name-lookup.c:2824
++#: cp/name-lookup.c:2826
+ #, gcc-internal-format
+ msgid "%<%T::%D%> names destructor"
+ msgstr "%<%T::%D%> nombra al destructor"
+
+-#: cp/name-lookup.c:2829
++#: cp/name-lookup.c:2831
+ #, gcc-internal-format
+ msgid "%<%T::%D%> names constructor"
+ msgstr "%<%T::%D%> nombra al constructor"
+
+-#: cp/name-lookup.c:2834
++#: cp/name-lookup.c:2836
+ #, gcc-internal-format
+ msgid "%<%T::%D%> names constructor in %qT"
+ msgstr "%<%T::%D%> nombra al constructor en %qT"
+
+-#: cp/name-lookup.c:2884
++#: cp/name-lookup.c:2886
+ #, gcc-internal-format
+ msgid "no members matching %<%T::%D%> in %q#T"
+ msgstr "no hay miembros que coincidan con %<%T::%D%> en %q#T"
+
+-#: cp/name-lookup.c:2952
++#: cp/name-lookup.c:2954
+ #, gcc-internal-format
+ msgid "declaration of %qD not in a namespace surrounding %qD"
+ msgstr "la declaración de %qD no está en un espacio de nombres alrededor de %qD"
+
+-#: cp/name-lookup.c:2960
++#: cp/name-lookup.c:2962
+ #, gcc-internal-format
+ msgid "explicit qualification in declaration of %qD"
+ msgstr "calificación explícita en la declaración de %qD"
+
+-#: cp/name-lookup.c:3003
++#: cp/name-lookup.c:3005
+ #, gcc-internal-format
+ msgid "%qD should have been declared inside %qD"
+ msgstr "%qD se debería declarar dentro de %qD"
+
+-#: cp/name-lookup.c:3048
++#: cp/name-lookup.c:3050
+ #, gcc-internal-format
+ msgid "%qD attribute requires a single NTBS argument"
+ msgstr "el atributo %qD requiere un solo argumento NTBS"
+
+-#: cp/name-lookup.c:3055
++#: cp/name-lookup.c:3057
+ #, gcc-internal-format
+ msgid "%qD attribute is meaningless since members of the anonymous namespace get local symbols"
+ msgstr "el atributo %qD no tiene signifcado porque los miembros del espacio de nombres anónimo tiene símbolos locales"
+
+-#: cp/name-lookup.c:3064 cp/name-lookup.c:3433
++#: cp/name-lookup.c:3066 cp/name-lookup.c:3435
+ #, gcc-internal-format
+ msgid "%qD attribute directive ignored"
+ msgstr "se descarta la directiva de atributo %qD"
+
+-#: cp/name-lookup.c:3109
++#: cp/name-lookup.c:3111
+ #, gcc-internal-format
+ msgid "namespace alias %qD not allowed here, assuming %qD"
+ msgstr "no se permite aquí el alias del espacio de nombres %qD, se asume que es %qD"
+
+-#: cp/name-lookup.c:3421
++#: cp/name-lookup.c:3423
+ #, gcc-internal-format
+ msgid "strong using only meaningful at namespace scope"
+ msgstr "el uso de strong solamente tiene significado en el ámbito de espacio de nombres"
+
+-#: cp/name-lookup.c:3425
++#: cp/name-lookup.c:3427
+ #, gcc-internal-format
+ msgid "current namespace %qD does not enclose strongly used namespace %qD"
+ msgstr "el espacio de nombres actual %qD no contiene al espacio de nombres %qD usado con frecuencia"
+
+-#: cp/name-lookup.c:4318
++#: cp/name-lookup.c:4320
+ #, gcc-internal-format
+ msgid "%q+D is not a function,"
+ msgstr "%q+D no es una función,"
+
+-#: cp/name-lookup.c:4319
++#: cp/name-lookup.c:4321
+ #, gcc-internal-format
+ msgid " conflict with %q+D"
+ msgstr " genera un conflicto con %q+D"
+
+-#: cp/name-lookup.c:4752
++#: cp/name-lookup.c:4756
+ #, gcc-internal-format
+ msgid "argument dependent lookup finds %q+D"
+ msgstr "la búsqueda dependiente del argumento encuentra %q+D"
+
+-#: cp/name-lookup.c:5184
++#: cp/name-lookup.c:5188
+ #, gcc-internal-format
+ msgid "XXX entering pop_everything ()\n"
+ msgstr "XXX entrando a pop_everything ()\n"
+
+-#: cp/name-lookup.c:5193
++#: cp/name-lookup.c:5197
+ #, gcc-internal-format
+ msgid "XXX leaving pop_everything ()\n"
+ msgstr "XXX saliendo de pop_everything ()\n"
+@@ -29979,368 +29987,373 @@
+ msgid "identifier %<%s%> will become a keyword in C++0x"
+ msgstr "el identificador %<%s%> se convertirá en una palabra clave en C++0x"
+
+-#: cp/parser.c:2066
++#: cp/parser.c:2069
+ #, gcc-internal-format
+ msgid "%<#pragma%> is not allowed here"
+ msgstr "%<#pragma%> no se permite aquí"
+
+-#: cp/parser.c:2096
++#: cp/parser.c:2099
+ #, gcc-internal-format
+ msgid "%<%E::%E%> has not been declared"
+ msgstr "%<%E::%E%> no se ha declarado"
+
+-#: cp/parser.c:2099
++#: cp/parser.c:2102
+ #, gcc-internal-format
+ msgid "%<::%E%> has not been declared"
+ msgstr "%<::%E%> no se ha declarado"
+
+-#: cp/parser.c:2102
++#: cp/parser.c:2105
+ #, gcc-internal-format
+ msgid "request for member %qE in non-class type %qT"
+ msgstr "solicitud por el miembro %qE en el tipo %qT que no es clase"
+
+-#: cp/parser.c:2105
++#: cp/parser.c:2108
+ #, gcc-internal-format
+ msgid "%<%T::%E%> has not been declared"
+ msgstr "%<%T::%E%> no se ha declarado"
+
+-#: cp/parser.c:2108
++#: cp/parser.c:2111
+ #, gcc-internal-format
+ msgid "%qE has not been declared"
+ msgstr "%qE no se ha declarado"
+
+-#: cp/parser.c:2111
++#: cp/parser.c:2114
+ #, gcc-internal-format
+ msgid "%<%E::%E%> %s"
+ msgstr "%<%E::%E%> %s"
+
+-#: cp/parser.c:2113
++#: cp/parser.c:2116
+ #, gcc-internal-format
+ msgid "%<::%E%> %s"
+ msgstr "%<::%E%> %s"
+
+-#: cp/parser.c:2115
++#: cp/parser.c:2118
+ #, gcc-internal-format
+ msgid "%qE %s"
+ msgstr "%qE %s"
+
+-#: cp/parser.c:2151
++#: cp/parser.c:2155
+ #, gcc-internal-format
+-msgid "ISO C++ does not support %<long long%>"
+-msgstr "ISO C++ no admite %<long long%>"
++msgid "ISO C++ 1998 does not support %<long long%>"
++msgstr "ISO C++ 1998 no admite %<long long%>"
+
+-#: cp/parser.c:2171
++#: cp/parser.c:2175
+ #, gcc-internal-format
+ msgid "duplicate %qs"
+ msgstr "%qs duplicado"
+
+-#: cp/parser.c:2214
++#: cp/parser.c:2218
+ #, gcc-internal-format
+ msgid "new types may not be defined in a return type"
+ msgstr "no se pueden definir tipos nuevos en una devolución de tipo"
+
+-#: cp/parser.c:2215
++#: cp/parser.c:2219
+ #, gcc-internal-format
+ msgid "(perhaps a semicolon is missing after the definition of %qT)"
+ msgstr "(tal vez falta un punto y coma después de la definición de %qT)"
+
+-#: cp/parser.c:2234 cp/parser.c:4077 cp/pt.c:5443
++#: cp/parser.c:2238 cp/parser.c:4081 cp/pt.c:5509
+ #, gcc-internal-format
+ msgid "%qT is not a template"
+ msgstr "%qT no es una plantilla"
+
+-#: cp/parser.c:2236
++#: cp/parser.c:2240
+ #, gcc-internal-format
+ msgid "%qE is not a template"
+ msgstr "%qE no es una plantilla"
+
+-#: cp/parser.c:2238
++#: cp/parser.c:2242
+ #, gcc-internal-format
+ msgid "invalid template-id"
+ msgstr "id de plantilla inválido"
+
+-#: cp/parser.c:2267
++#: cp/parser.c:2271
+ #, gcc-internal-format
+ msgid "%s cannot appear in a constant-expression"
+ msgstr "%s no puede aparece en una expresión constante"
+
+-#: cp/parser.c:2292
++#: cp/parser.c:2296
+ #, gcc-internal-format
+ msgid "invalid use of template-name %qE without an argument list"
+ msgstr "uso inválido del nombre de plantilla %qE sin una lista de argumentos"
+
+-#: cp/parser.c:2294
++#: cp/parser.c:2298
+ #, gcc-internal-format
+ msgid "invalid use of destructor %qD as a type"
+ msgstr "uso inválido del destructor %qD como un tipo"
+
+ #. Something like 'unsigned A a;'
+-#: cp/parser.c:2297
++#: cp/parser.c:2301
+ #, gcc-internal-format
+ msgid "invalid combination of multiple type-specifiers"
+ msgstr "combinación inválida de especificadores de tipo múltiples"
+
+ #. Issue an error message.
+-#: cp/parser.c:2301
++#: cp/parser.c:2305
+ #, gcc-internal-format
+ msgid "%qE does not name a type"
+ msgstr "%qE no nombra a un tipo"
+
+-#: cp/parser.c:2333
++#: cp/parser.c:2337
+ #, gcc-internal-format
+ msgid "(perhaps %<typename %T::%E%> was intended)"
+ msgstr "(tal vez intentó %<typename %T::%E%>)"
+
+-#: cp/parser.c:2348
++#: cp/parser.c:2352
+ #, gcc-internal-format
+ msgid "%qE in namespace %qE does not name a type"
+ msgstr "%qE en el espacio de nombres %qE no nombra un tipo"
+
+-#: cp/parser.c:2351
++#: cp/parser.c:2355
+ #, gcc-internal-format
+ msgid "%qE in class %qT does not name a type"
+ msgstr "%qE en la clase %qT no nombra un tipo"
+
+-#: cp/parser.c:3160
++#: cp/parser.c:3164
+ #, gcc-internal-format
+ msgid "ISO C++ forbids braced-groups within expressions"
+ msgstr "ISO C++ prohíbe grupos de llaves dentro de expresiones"
+
+-#: cp/parser.c:3171
++#: cp/parser.c:3175
+ #, gcc-internal-format
+ msgid "statement-expressions are not allowed outside functions nor in template-argument lists"
+ msgstr "las expresiones de declaraciones no se permiten fuera de funciones ni en listas de argumentos plantilla"
+
+-#: cp/parser.c:3229
++#: cp/parser.c:3233
+ #, gcc-internal-format
+ msgid "%<this%> may not be used in this context"
+ msgstr "no se puede usar %<this%> en este contexto"
+
+-#: cp/parser.c:3412
++#: cp/parser.c:3416
+ #, gcc-internal-format
+ msgid "local variable %qD may not appear in this context"
+ msgstr "la variable local %qD no puede aparecer en este contexto"
+
+-#: cp/parser.c:3711
++#: cp/parser.c:3715
+ #, gcc-internal-format
+ msgid "scope %qT before %<~%> is not a class-name"
+ msgstr "el ámbito %qT antes de %<~%> no es un nombre de clase"
+
+-#: cp/parser.c:3812
++#: cp/parser.c:3816
+ #, gcc-internal-format
+ msgid "declaration of %<~%T%> as member of %qT"
+ msgstr "declaración de %<~%T%> como miembro de %qT"
+
+-#: cp/parser.c:3826
++#: cp/parser.c:3830
+ #, gcc-internal-format
+ msgid "typedef-name %qD used as destructor declarator"
+ msgstr "se usa el nombre de definición de tipo %qD como un declarador de destructor"
+
+-#: cp/parser.c:4480
++#: cp/parser.c:4484
+ #, gcc-internal-format
+ msgid "ISO C++ forbids compound-literals"
+ msgstr "ISO C++ prohíbe las literales compuestas"
+
+-#: cp/parser.c:4837
++#: cp/parser.c:4841
+ #, gcc-internal-format
+ msgid "%qE does not have class type"
+ msgstr "%qE no tiene un tipo de clase"
+
+-#: cp/parser.c:4920 cp/typeck.c:1978
++#: cp/parser.c:4924 cp/typeck.c:2024
+ #, gcc-internal-format
+ msgid "invalid use of %qD"
+ msgstr "uso inválido de %qD"
+
+-#: cp/parser.c:5480
++#: cp/parser.c:5486
+ #, gcc-internal-format
+ msgid "array bound forbidden after parenthesized type-id"
+ msgstr "se prohíbe el límite de matriz después del id de tipo entre paréntesis"
+
+-#: cp/parser.c:5481
++#: cp/parser.c:5487
+ #, gcc-internal-format
+ msgid "try removing the parentheses around the type-id"
+ msgstr "intente borrar los paréntesis alrededor del id de tipo"
+
+-#: cp/parser.c:5671
++#: cp/parser.c:5677
+ #, gcc-internal-format
+ msgid "expression in new-declarator must have integral or enumeration type"
+ msgstr "la expresión en el declarador new debe tener un tipo integral o de enumeración"
+
+-#: cp/parser.c:5860
++#: cp/parser.c:5866
+ #, gcc-internal-format
+ msgid "use of old-style cast"
+ msgstr "uso de conversión de estilo antiguo"
+
+-#: cp/parser.c:5986
++#: cp/parser.c:5992
+ #, gcc-internal-format
+ msgid "%H%<>>%> operator will be treated as two right angle brackets in C++0x"
+ msgstr "%Hel operador %<>>%> se tratará como dos en llaves en ángulo derechas en C++0x"
+
+-#: cp/parser.c:5989
++#: cp/parser.c:5995
+ #, gcc-internal-format
+ msgid "suggest parentheses around %<>>%> expression"
+ msgstr "se sugieren paréntesis alrededor de la expresión %<>>%>"
+
+-#: cp/parser.c:6793
++#: cp/parser.c:6799
+ #, gcc-internal-format
+ msgid "case label %qE not within a switch statement"
+ msgstr "la etiqueta case %qE no está dentro de una declaración switch"
+
+-#: cp/parser.c:6922
++#: cp/parser.c:6928
+ #, gcc-internal-format
+ msgid "%<else%> without a previous %<if%>"
+ msgstr "%<else%> sin un %<if%> previo"
+
+-#: cp/parser.c:7208
++#: cp/parser.c:7214
+ #, gcc-internal-format
+ msgid "suggest a space before %<;%> or explicit braces around empty body in %<%s%> statement"
+ msgstr "se sugiere un espacio antes de %<;%> o llaves explícitas alrededor del cuerpo vacío en la declaración %<%s%>"
+
+-#: cp/parser.c:7468
++#: cp/parser.c:7474
+ #, gcc-internal-format
+ msgid "ISO C++ forbids computed gotos"
+ msgstr "ISO C++ prohíbe los gotos calculados"
+
+-#: cp/parser.c:7608
++#: cp/parser.c:7614
+ #, gcc-internal-format
+ msgid "extra %<;%>"
+ msgstr "<;%> extra"
+
+-#: cp/parser.c:7825
++#: cp/parser.c:7831
+ #, gcc-internal-format
+ msgid "%<__label__%> not at the beginning of a block"
+ msgstr "%<__label%> no está al inicio de un bloque"
+
+-#: cp/parser.c:7958
++#: cp/parser.c:7964
+ #, gcc-internal-format
+ msgid "mixing declarations and function-definitions is forbidden"
+ msgstr "se prohíbe mezclar declaraciones y definiciones de función"
+
+-#: cp/parser.c:8090
++#: cp/parser.c:8096
+ #, gcc-internal-format
+ msgid "%<friend%> used outside of class"
+ msgstr "se usó %<friend%> fuera de la clase"
+
+-#: cp/parser.c:8244
++#: cp/parser.c:8250
+ #, gcc-internal-format
+ msgid "class definition may not be declared a friend"
+ msgstr "la definición de clase no se puede declarar como friend"
+
+-#: cp/parser.c:8308 cp/parser.c:15155
++#: cp/parser.c:8314 cp/parser.c:15235
+ #, gcc-internal-format
+ msgid "templates may not be %<virtual%>"
+ msgstr "las plantillas no pueden ser %<virtual%>"
+
+-#: cp/parser.c:8775
++#: cp/parser.c:8786
+ #, gcc-internal-format
+ msgid "only constructors take base initializers"
+ msgstr "solamente los constructores toman inicializadores base"
+
+-#: cp/parser.c:8795
++#: cp/parser.c:8806
+ #, gcc-internal-format
+ msgid "cannot expand initializer for member %<%D%>"
+ msgstr "no se puede expandir el inicializador para el miembro %<%D%>"
+
+-#: cp/parser.c:8847
++#: cp/parser.c:8858
+ #, gcc-internal-format
+ msgid "anachronistic old-style base class initializer"
+ msgstr "inicializador de clase base de estilo antiguo anacrónico"
+
+-#: cp/parser.c:8892
++#: cp/parser.c:8903
+ #, gcc-internal-format
+ msgid "keyword %<typename%> not allowed in this context (a qualified member initializer is implicitly a type)"
+ msgstr "no se permite la palabra clave %<typename%> en este contexto (un inicializador de miembro calificado es implícitamente un tipo)"
+
+ #. Warn that we do not support `export'.
+-#: cp/parser.c:9237
++#: cp/parser.c:9248
+ #, gcc-internal-format
+ msgid "keyword %<export%> not implemented, and will be ignored"
+ msgstr "no se admite la palabra clave %<export%>, y se descartará"
+
+-#: cp/parser.c:9482 cp/parser.c:9583
++#: cp/parser.c:9419 cp/parser.c:9517 cp/parser.c:9618
+ #, gcc-internal-format
+ msgid "template parameter pack %qD cannot have a default argument"
+ msgstr "el paquete de parámetros plantilla %qD no puede tener un argumento por defecto"
+
+-#: cp/parser.c:9485 cp/parser.c:9586
++#: cp/parser.c:9422
+ #, gcc-internal-format
++msgid "template parameter pack cannot have a default argument"
++msgstr "el paquete de parámetros plantilla no puede tener un argumento por defecto"
++
++#: cp/parser.c:9520 cp/parser.c:9621
++#, gcc-internal-format
+ msgid "template parameter packs cannot have default arguments"
+ msgstr "los paquetes de parámetro de plantilla no pueden tener argumentos por defecto"
+
+ #. Otherwise, emit an error about the invalid digraph, but continue
+ #. parsing because we got our argument list.
+-#: cp/parser.c:9723
++#: cp/parser.c:9758
+ #, gcc-internal-format
+ msgid "%<<::%> cannot begin a template-argument list"
+ msgstr "%<<::%> no puede iniciar una lista de argumentos de plantilla"
+
+-#: cp/parser.c:9724
++#: cp/parser.c:9759
+ #, gcc-internal-format
+ msgid "%<<:%> is an alternate spelling for %<[%>. Insert whitespace between %<<%> and %<::%>"
+ msgstr "%<<:%> es una forma alternativa para %<[%>. Inserte espacios en blanco entre %<<%> y %<::%>"
+
+-#: cp/parser.c:9731
++#: cp/parser.c:9766
+ #, gcc-internal-format
+ msgid "(if you use -fpermissive G++ will accept your code)"
+ msgstr "(si utiliza -fpermissive, G++ aceptará su código)"
+
+-#: cp/parser.c:9804
++#: cp/parser.c:9839
+ #, gcc-internal-format
+ msgid "parse error in template argument list"
+ msgstr "error de decodificación en la lista de argumentos de plantilla"
+
+ #. Explain what went wrong.
+-#: cp/parser.c:9917
++#: cp/parser.c:9952
+ #, gcc-internal-format
+ msgid "non-template %qD used as template"
+ msgstr "se usó %qD que no es plantilla como plantilla"
+
+-#: cp/parser.c:9918
++#: cp/parser.c:9953
+ #, gcc-internal-format
+ msgid "use %<%T::template %D%> to indicate that it is a template"
+ msgstr "utilice %<%T::template %D%> para indicar que es una plantilla"
+
+-#: cp/parser.c:10441
++#: cp/parser.c:10476
+ #, gcc-internal-format
+ msgid "template specialization with C linkage"
+ msgstr "especialización de plantilla con enlazado C"
+
+-#: cp/parser.c:11032
++#: cp/parser.c:11067
+ #, gcc-internal-format
+ msgid "using %<typename%> outside of template"
+ msgstr "se usa %<typename%> fuera de la plantilla"
+
+-#: cp/parser.c:11191
++#: cp/parser.c:11226
+ #, gcc-internal-format
+ msgid "declaration %qD does not declare anything"
+ msgstr "la declaración %qD no declara nada"
+
+-#: cp/parser.c:11275
++#: cp/parser.c:11310
+ #, gcc-internal-format
+ msgid "attributes ignored on uninstantiated type"
+ msgstr "se descartan los atributos en el tipo sin instanciar"
+
+-#: cp/parser.c:11279
++#: cp/parser.c:11314
+ #, gcc-internal-format
+ msgid "attributes ignored on template instantiation"
+ msgstr "se descartan los atributos en la instanciación de una plantilla"
+
+-#: cp/parser.c:11284
++#: cp/parser.c:11319
+ #, gcc-internal-format
+ msgid "attributes ignored on elaborated-type-specifier that is not a forward declaration"
+ msgstr "se descartan los atributos en un especificador de tipo anidado que no es una declaración adelantada"
+
+-#: cp/parser.c:11406
++#: cp/parser.c:11441
+ #, gcc-internal-format
+ msgid "comma at end of enumerator list"
+ msgstr "coma al final de la lista de enumeradores"
+
+-#: cp/parser.c:11498
++#: cp/parser.c:11533
+ #, gcc-internal-format
+ msgid "%qD is not a namespace-name"
+ msgstr "%qD no es un nombre de espacio de nombres"
+
+-#: cp/parser.c:11599
++#: cp/parser.c:11634
+ #, gcc-internal-format
+ msgid "%<namespace%> definition is not allowed here"
+ msgstr "la definición %<namespace%> no se permite aquí"
+@@ -30348,142 +30361,157 @@
+ #. [namespace.udecl]
+ #.
+ #. A using declaration shall not name a template-id.
+-#: cp/parser.c:11738
++#: cp/parser.c:11773
+ #, gcc-internal-format
+ msgid "a template-id may not appear in a using-declaration"
+ msgstr "un id de plantilla no puede aparecer en una declaración using"
+
+-#: cp/parser.c:12094
++#: cp/parser.c:12135
+ #, gcc-internal-format
+ msgid "an asm-specification is not allowed on a function-definition"
+ msgstr "no se permite una especificación de asm en una definición de función"
+
+-#: cp/parser.c:12096
++#: cp/parser.c:12137
+ #, gcc-internal-format
+ msgid "attributes are not allowed on a function-definition"
+ msgstr "no se permiten atributos en una definición de función"
+
+-#: cp/parser.c:12229
++#: cp/parser.c:12270
+ #, gcc-internal-format
+ msgid "initializer provided for function"
+ msgstr "se proporciona un inicializador para la función"
+
+-#: cp/parser.c:12249
++#: cp/parser.c:12290
+ #, gcc-internal-format
+ msgid "attributes after parenthesized initializer ignored"
+ msgstr "se descartan los atributos después del inicializador entre paréntesis"
+
+-#: cp/parser.c:12630 cp/pt.c:8772
++#: cp/parser.c:12671 cp/pt.c:8893
+ #, gcc-internal-format
+ msgid "array bound is not an integer constant"
+ msgstr "el límite de la matriz no es una constante entera"
+
+-#: cp/parser.c:12739
++#: cp/parser.c:12780
+ #, gcc-internal-format
+ msgid "%<%T::%E%> is not a type"
+ msgstr "%<%T::%E%> no es un tipo"
+
+-#: cp/parser.c:12765
++#: cp/parser.c:12806
+ #, gcc-internal-format
+ msgid "invalid use of constructor as a template"
+ msgstr "uso inválido del constructor como una plantilla"
+
+-#: cp/parser.c:12766
++#: cp/parser.c:12807
+ #, gcc-internal-format
+ msgid "use %<%T::%D%> instead of %<%T::%D%> to name the constructor in a qualified name"
+ msgstr "use %<%T::%D%> en lugar de %<%T::%D%> para nombrar el constructor en un nombre calificado"
+
+-#: cp/parser.c:12938
++#: cp/parser.c:12979
+ #, gcc-internal-format
+ msgid "%qD is a namespace"
+ msgstr "%qD es un nombre de espacio"
+
+-#: cp/parser.c:13013
++#: cp/parser.c:13054
+ #, gcc-internal-format
+ msgid "duplicate cv-qualifier"
+ msgstr "calificador-cv duplicado"
+
+-#: cp/parser.c:13600
++#: cp/parser.c:13640
+ #, gcc-internal-format
+ msgid "file ends in default argument"
+ msgstr "el fichero termina en el argumento por defecto"
+
+-#: cp/parser.c:13673
++#: cp/parser.c:13683
+ #, gcc-internal-format
+ msgid "deprecated use of default argument for parameter of non-function"
+ msgstr "uso obsoleto del argumento por defecto para el parámetro de una no función"
+
+-#: cp/parser.c:13676
++#: cp/parser.c:13686
+ #, gcc-internal-format
+ msgid "default arguments are only permitted for function parameters"
+ msgstr "los argumentos por defecto sólo se permiten para parámetros de función"
+
+-#: cp/parser.c:13877
++#: cp/parser.c:13702
+ #, gcc-internal-format
++msgid "%sparameter pack %qD cannot have a default argument"
++msgstr "%sel paquete de parámetros plantilla %qD no puede tener un argumento por defecto"
++
++#: cp/parser.c:13705
++#, gcc-internal-format
++msgid "%sparameter pack cannot have a default argument"
++msgstr "%sel paquete de parámetros plantilla no puede tener un argumento por defecto"
++
++#: cp/parser.c:13947
++#, gcc-internal-format
+ msgid "ISO C++ does not allow designated initializers"
+ msgstr "ISO C++ no permite inicializadores designados"
+
+-#: cp/parser.c:14477
++#: cp/parser.c:14547
+ #, gcc-internal-format
+ msgid "invalid class name in declaration of %qD"
+ msgstr "nombre de clase inválido en la declaración de %qD"
+
+-#: cp/parser.c:14489
++#: cp/parser.c:14559
+ #, gcc-internal-format
+ msgid "declaration of %qD in namespace %qD which does not enclose %qD"
+ msgstr "la declaración de %qD en el espacio de nombres %qD el cual no incluye a %qD"
+
+-#: cp/parser.c:14492
++#: cp/parser.c:14562
+ #, gcc-internal-format
+ msgid "declaration of %qD in %qD which does not enclose %qD"
+ msgstr "la declaración de %qD en %qD la cual no incluye a %qD"
+
+-#: cp/parser.c:14505
++#: cp/parser.c:14575
+ #, gcc-internal-format
+ msgid "extra qualification ignored"
+ msgstr "se descarta la calificación extra"
+
+-#: cp/parser.c:14516
++#: cp/parser.c:14586
+ #, gcc-internal-format
+ msgid "an explicit specialization must be preceded by %<template <>%>"
+ msgstr "una especialización explícita debe ser precedida por %<template <>%>"
+
+-#: cp/parser.c:14609
++#: cp/parser.c:14613
+ #, gcc-internal-format
++msgid "function template %qD redeclared as a class template"
++msgstr "la función plantilla %qD se redeclaró commo una plantilla de clase"
++
++#: cp/parser.c:14689
++#, gcc-internal-format
+ msgid "previous definition of %q+#T"
+ msgstr "definición previa de %q+#T"
+
+-#: cp/parser.c:14855
++#: cp/parser.c:14935
+ #, gcc-internal-format
+ msgid "%Hextra %<;%>"
+ msgstr "%H%<;%> extra"
+
+-#: cp/parser.c:14873
++#: cp/parser.c:14953
+ #, gcc-internal-format
+ msgid "a class-key must be used when declaring a friend"
+ msgstr "se debe usar una llave clase cuando se declara un friend"
+
+-#: cp/parser.c:14887
++#: cp/parser.c:14967
+ #, gcc-internal-format
+ msgid "friend declaration does not name a class or function"
+ msgstr "la declaración friend no nombra una clase o función"
+
+-#: cp/parser.c:15064
++#: cp/parser.c:15144
+ #, gcc-internal-format
+ msgid "pure-specifier on function-definition"
+ msgstr "especificador pure en la definición de función"
+
+-#: cp/parser.c:15356
++#: cp/parser.c:15438
+ #, gcc-internal-format
+ msgid "keyword %<typename%> not allowed outside of templates"
+ msgstr "no se permite la palabra clave %<typename%> fuera de las plantillas"
+
+-#: cp/parser.c:15358
++#: cp/parser.c:15440
+ #, gcc-internal-format
+ msgid "keyword %<typename%> not allowed in this context (the base class is implicitly a type)"
+ msgstr "no se permite la palabra clave %<typename%> en este contexto (la clase base es implícitamente un tipo)"
+
+-#: cp/parser.c:16407
++#: cp/parser.c:16489
+ #, gcc-internal-format
+ msgid "too few template-parameter-lists"
+ msgstr "faltan listas de parámetros de plantilla"
+@@ -30492,13 +30520,13 @@
+ #. something like:
+ #.
+ #. template <class T> template <class U> void S::f();
+-#: cp/parser.c:16422
++#: cp/parser.c:16504
+ #, gcc-internal-format
+ msgid "too many template-parameter-lists"
+ msgstr "demasiadas listas de parámetros de plantilla"
+
+ #. Issue an error message.
+-#: cp/parser.c:16694
++#: cp/parser.c:16776
+ #, gcc-internal-format
+ msgid "named return values are no longer supported"
+ msgstr "ya no se admiten los valores de devolución nombrados"
+@@ -30506,234 +30534,234 @@
+ #. 14.5.2.2 [temp.mem]
+ #.
+ #. A local class shall not have member templates.
+-#: cp/parser.c:16766
++#: cp/parser.c:16848
+ #, gcc-internal-format
+ msgid "invalid declaration of member template in local class"
+ msgstr "declaración inválida de plantilla miembro en la clase local"
+
+-#: cp/parser.c:16775
++#: cp/parser.c:16857
+ #, gcc-internal-format
+ msgid "template with C linkage"
+ msgstr "plantilla con enlazado C"
+
+-#: cp/parser.c:16919
++#: cp/parser.c:17001
+ #, gcc-internal-format
+ msgid "template declaration of %qs"
+ msgstr "declaración de plantilla de %qs"
+
+-#: cp/parser.c:16982
++#: cp/parser.c:17064
+ #, gcc-internal-format
+ msgid "explicit template specialization cannot have a storage class"
+ msgstr "la especialización de plantilla explícita no puede tener una clase de almacenamiento"
+
+-#: cp/parser.c:17171
++#: cp/parser.c:17253
+ #, gcc-internal-format
+ msgid "%H%<>>%> should be %<> >%> within a nested template argument list"
+ msgstr "%H%<>>%> debe ser %<> >%> dentro de una lista de argumentos de plantilla anidada"
+
+-#: cp/parser.c:17184
++#: cp/parser.c:17266
+ #, gcc-internal-format
+ msgid "spurious %<>>%>, use %<>%> to terminate a template argument list"
+ msgstr "%<>>%> sobrante, use %<>%> para terminar la lista de argumentos de plantilla"
+
+-#: cp/parser.c:17519
++#: cp/parser.c:17601
+ #, gcc-internal-format
+ msgid "invalid use of %qD in linkage specification"
+ msgstr "uso inválido de %qD en la especificación de enlazado"
+
+-#: cp/parser.c:17532
++#: cp/parser.c:17614
+ #, gcc-internal-format
+ msgid "%<__thread%> before %qD"
+ msgstr "%<__thread%> antes de %qD"
+
+-#: cp/parser.c:17847
++#: cp/parser.c:17929
+ #, gcc-internal-format
+ msgid "%qs tag used in naming %q#T"
+ msgstr "se usó la etiqueta %qs al nombrar a %q#T"
+
+-#: cp/parser.c:17868
++#: cp/parser.c:17950
+ #, gcc-internal-format
+ msgid "%qD redeclared with different access"
+ msgstr "%qD se redeclaró con acceso diferente"
+
+-#: cp/parser.c:17885
++#: cp/parser.c:17967
+ #, gcc-internal-format
+ msgid "%<template%> (as a disambiguator) is only allowed within templates"
+ msgstr "%<template%> (como desambiguador) sólo se permite dentro de plantillas"
+
+-#: cp/parser.c:18138 cp/parser.c:19061 cp/parser.c:19192
++#: cp/parser.c:18220 cp/parser.c:19143 cp/parser.c:19274
+ #, gcc-internal-format
+ msgid "misplaced %<@%D%> Objective-C++ construct"
+ msgstr "construct Objective-C++ %<@%D%> mal colocado"
+
+-#: cp/parser.c:18279
++#: cp/parser.c:18361
+ #, gcc-internal-format
+ msgid "%<@encode%> must specify a type as an argument"
+ msgstr "%<@encode%> debe especificar un tipo como un argumento"
+
+-#: cp/parser.c:18594
++#: cp/parser.c:18676
+ #, gcc-internal-format
+ msgid "invalid Objective-C++ selector name"
+ msgstr "nombre de selector Objective-C++ inválido"
+
+-#: cp/parser.c:18925
++#: cp/parser.c:19007
+ #, gcc-internal-format
+ msgid "identifier expected after %<@protocol%>"
+ msgstr "se esperaba un identificador después de %<@protocol%>"
+
+-#: cp/parser.c:19626
++#: cp/parser.c:19708
+ #, gcc-internal-format
+ msgid "schedule %<runtime%> does not take a %<chunk_size%> parameter"
+ msgstr "el calendarizador %<runtime%> no toma un parámetro %<chunk_size%>"
+
+-#: cp/parser.c:19735
++#: cp/parser.c:19824
+ #, gcc-internal-format
+ msgid "%qs is not valid for %qs"
+ msgstr "%qs no es válido para %qs"
+
+-#: cp/parser.c:20390
++#: cp/parser.c:20479
+ #, gcc-internal-format
+ msgid "junk at end of %<#pragma GCC pch_preprocess%>"
+ msgstr "basura al final de %<#pragma GCC pch_preprocess%>"
+
+-#: cp/parser.c:20477
++#: cp/parser.c:20566
+ #, gcc-internal-format
+ msgid "%<#pragma omp section%> may only be used in %<#pragma omp sections%> construct"
+ msgstr "%<#pragma omp section%> sólo se puede usar en construcciones %<#pragma omp sections%>"
+
+-#: cp/parser.c:20535
++#: cp/parser.c:20624
+ #, gcc-internal-format
+ msgid "inter-module optimizations not implemented for C++"
+ msgstr "no se han implementado las optimizaciones intermódulos para C++"
+
+-#: cp/pt.c:249
++#: cp/pt.c:252
+ #, gcc-internal-format
+ msgid "data member %qD cannot be a member template"
+ msgstr "el dato miembro %qD no puede ser una plantilla miembro"
+
+-#: cp/pt.c:261
++#: cp/pt.c:264
+ #, gcc-internal-format
+ msgid "invalid member template declaration %qD"
+ msgstr "declaración de la plantilla miembro %qD inválida"
+
+-#: cp/pt.c:609
++#: cp/pt.c:612
+ #, gcc-internal-format
+ msgid "explicit specialization in non-namespace scope %qD"
+ msgstr "especialización explícita en el ámbito %qD que no es espacio de nombres"
+
+-#: cp/pt.c:623
++#: cp/pt.c:626
+ #, gcc-internal-format
+ msgid "enclosing class templates are not explicitly specialized"
+ msgstr "las plantillas de clase contenedoras no son explícitamente especializadas"
+
+-#: cp/pt.c:711
++#: cp/pt.c:714
+ #, gcc-internal-format
+ msgid "specialization of %qD in different namespace"
+ msgstr "especialización de %qD en un espacio de nombres diferente"
+
+-#: cp/pt.c:712 cp/pt.c:809
++#: cp/pt.c:715 cp/pt.c:812
+ #, gcc-internal-format
+ msgid " from definition of %q+#D"
+ msgstr " de la definición de %q+#D"
+
+-#: cp/pt.c:729
++#: cp/pt.c:732
+ #, gcc-internal-format
+ msgid "explicit instantiation of %qD in namespace %qD (which does not enclose namespace %qD)"
+ msgstr "instanciación explícita de %qD en el espacio de nombres %qD (el cual no incluye el espacio de nombres %qD)"
+
+-#: cp/pt.c:747
++#: cp/pt.c:750
+ #, gcc-internal-format
+ msgid "name of class shadows template template parameter %qD"
+ msgstr "el nombre de la clase oscurece la plantilla de parámetro de plantilla %qD"
+
+-#: cp/pt.c:776
++#: cp/pt.c:779
+ #, gcc-internal-format
+ msgid "specialization of %qT after instantiation"
+ msgstr "especialización de %qT después de la instanciación"
+
+-#: cp/pt.c:808
++#: cp/pt.c:811
+ #, gcc-internal-format
+ msgid "specializing %q#T in different namespace"
+ msgstr "se especializó %q#T en un espacio de nombres diferente"
+
+-#: cp/pt.c:823
++#: cp/pt.c:826
+ #, gcc-internal-format
+ msgid "specialization %qT after instantiation %qT"
+ msgstr "especialización de %qT después de la instanciación %qT"
+
+-#: cp/pt.c:836
++#: cp/pt.c:839
+ #, gcc-internal-format
+ msgid "explicit specialization of non-template %qT"
+ msgstr "instanciación explícita de %qT que no es plantilla"
+
+-#: cp/pt.c:1238
++#: cp/pt.c:1246
+ #, gcc-internal-format
+ msgid "specialization of %qD after instantiation"
+ msgstr "especialización de %qD después de la instanciación"
+
+-#: cp/pt.c:1464
++#: cp/pt.c:1472
+ #, gcc-internal-format
+ msgid "%qD is not a function template"
+ msgstr "%qD no es una plantilla de función"
+
+-#: cp/pt.c:1673
++#: cp/pt.c:1681
+ #, gcc-internal-format
+ msgid "template-id %qD for %q+D does not match any template declaration"
+ msgstr "el id de plantilla %qD para %q+D no coincide con ninguna declaración de plantilla"
+
+-#: cp/pt.c:1681
++#: cp/pt.c:1689
+ #, gcc-internal-format
+ msgid "ambiguous template specialization %qD for %q+D"
+ msgstr "especialización de plantilla %qD ambigua para %q+D"
+
+ #. This case handles bogus declarations like template <>
+ #. template <class T> void f<int>();
+-#: cp/pt.c:1916 cp/pt.c:1970
++#: cp/pt.c:1924 cp/pt.c:1978
+ #, gcc-internal-format
+ msgid "template-id %qD in declaration of primary template"
+ msgstr "id de plantilla %qD en la declaración de la plantilla primaria"
+
+-#: cp/pt.c:1929
++#: cp/pt.c:1937
+ #, gcc-internal-format
+ msgid "template parameter list used in explicit instantiation"
+ msgstr "no se usan la plantilla de lista de parámetros en la instanciación explícita"
+
+-#: cp/pt.c:1935
++#: cp/pt.c:1943
+ #, gcc-internal-format
+ msgid "definition provided for explicit instantiation"
+ msgstr "se proporcionó una definición para la instanciación explícita"
+
+-#: cp/pt.c:1943
++#: cp/pt.c:1951
+ #, gcc-internal-format
+ msgid "too many template parameter lists in declaration of %qD"
+ msgstr "demasiadas listas de parámetros de plantilla en la declaración de %qD"
+
+-#: cp/pt.c:1946
++#: cp/pt.c:1954
+ #, gcc-internal-format
+ msgid "too few template parameter lists in declaration of %qD"
+ msgstr "faltan listas de parámetros de plantilla en la declaración de %qD"
+
+-#: cp/pt.c:1948
++#: cp/pt.c:1956
+ #, gcc-internal-format
+ msgid "explicit specialization of %qD must be introduced by %<template <>%>"
+ msgstr "la especialización explícita de %qD se debe preceder con %<template <>%>"
+
+-#: cp/pt.c:1967
++#: cp/pt.c:1975
+ #, gcc-internal-format
+ msgid "function template partial specialization %qD is not allowed"
+ msgstr "no se permite la especialización parcial de la función de plantilla %qD"
+
+-#: cp/pt.c:1999
++#: cp/pt.c:2007
+ #, gcc-internal-format
+ msgid "default argument specified in explicit specialization"
+ msgstr "se especificó un argumento por defecto en la especialización explícita"
+
+-#: cp/pt.c:2029
++#: cp/pt.c:2037
+ #, gcc-internal-format
+ msgid "%qD is not a template function"
+ msgstr "%qD no es una función plantilla"
+
+-#: cp/pt.c:2037
++#: cp/pt.c:2045
+ #, gcc-internal-format
+ msgid "%qD is not declared in %qD"
+ msgstr "%qD no se declaró en %qD"
+@@ -30746,100 +30774,110 @@
+ #. program is ill-formed.
+ #.
+ #. Similar language is found in [temp.explicit].
+-#: cp/pt.c:2099
++#: cp/pt.c:2107
+ #, gcc-internal-format
+ msgid "specialization of implicitly-declared special member function"
+ msgstr "especialización de la función miembro especial declarada implícitamente"
+
+-#: cp/pt.c:2143
++#: cp/pt.c:2151
+ #, gcc-internal-format
+ msgid "no member function %qD declared in %qT"
+ msgstr "la función no miembro %qD se declaró en %qT"
+
+-#: cp/pt.c:2642
++#: cp/pt.c:2628
+ #, gcc-internal-format
+ msgid "base initializer expansion %<%T%> contains no parameter packs"
+ msgstr "la expansión del inicializador base %<%T%> no contiene paquetes de parámetro"
+
+-#: cp/pt.c:2701
++#: cp/pt.c:2687
+ #, gcc-internal-format
+ msgid "expansion pattern %<%T%> contains no argument packs"
+ msgstr "el patrón de expansión %<%T%> no contiene paquetes de argumento"
+
+-#: cp/pt.c:2703
++#: cp/pt.c:2689
+ #, gcc-internal-format
+ msgid "expansion pattern %<%E%> contains no argument packs"
+ msgstr "el patrón de expansión %<%E%> no contiene paquetes de argumento"
+
+-#: cp/pt.c:2745
++#: cp/pt.c:2730
+ #, gcc-internal-format
+ msgid "parameter packs not expanded with `...':"
+ msgstr "no se expanden los paquetes de argumento con `...'"
+
+-#: cp/pt.c:2760 cp/pt.c:3383
++#: cp/pt.c:2745 cp/pt.c:3361
+ #, gcc-internal-format
+ msgid " %qD"
+ msgstr " %qD"
+
+-#: cp/pt.c:2762
++#: cp/pt.c:2747
+ #, gcc-internal-format
+ msgid " <anonymous>"
+ msgstr " <anónimo>"
+
+-#: cp/pt.c:2875
++#: cp/pt.c:2852
+ #, gcc-internal-format
+ msgid "declaration of %q+#D"
+ msgstr "la declaración de %q+#D"
+
+-#: cp/pt.c:2876
++#: cp/pt.c:2853
+ #, gcc-internal-format
+ msgid " shadows template parm %q+#D"
+ msgstr " oscurece el parámetro de plantilla %q+#D"
+
+-#: cp/pt.c:3379
++#: cp/pt.c:3357
+ #, gcc-internal-format
+ msgid "template parameters not used in partial specialization:"
+ msgstr "no se usan los parámetros de plantilla en la especialización parcial:"
+
+-#: cp/pt.c:3394
++#: cp/pt.c:3372
+ #, gcc-internal-format
+ msgid "partial specialization %qT does not specialize any template arguments"
+ msgstr "la especialización parcial %qT no especializa ningún argumento de plantilla"
+
+-#: cp/pt.c:3439
++#: cp/pt.c:3417
+ #, gcc-internal-format
+ msgid "parameter pack argument %qE must be at the end of the template argument list"
+ msgstr "el argumento de paquete de parámetro %qE debe estar al final de la lista de argumentos de plantilla"
+
+-#: cp/pt.c:3441
++#: cp/pt.c:3419
+ #, gcc-internal-format
+ msgid "parameter pack argument %qT must be at the end of the template argument list"
+ msgstr "el argumento de paquete de parámetro %qT debe estar al final de la lista de argumentos de plantilla"
+
+-#: cp/pt.c:3462
++#: cp/pt.c:3440
+ #, gcc-internal-format
+ msgid "template argument %qE involves template parameter(s)"
+ msgstr "el argumento de plantilla %qE involucra a el(los) parámetro(s) de plantilla"
+
+-#: cp/pt.c:3505
++#: cp/pt.c:3484
+ #, gcc-internal-format
+ msgid "type %qT of template argument %qE depends on template parameter(s)"
+ msgstr "el tipo %qT del argumento de plantilla %qE depende de el(los) parámetro(s) de plantilla"
+
+-#: cp/pt.c:3611
++#: cp/pt.c:3591
+ #, gcc-internal-format
+ msgid "no default argument for %qD"
+ msgstr "no hay un argumento por defecto para %qD"
+
+-#: cp/pt.c:3796
++#: cp/pt.c:3609
+ #, gcc-internal-format
++msgid "parameter pack %qE must be at the end of the template parameter list"
++msgstr "el parámetro de paquete %qE debe estar al final de la lista de parámetros de plantilla"
++
++#: cp/pt.c:3612
++#, gcc-internal-format
++msgid "parameter pack %qT must be at the end of the template parameter list"
++msgstr "el parámetro de paquete %qT debe estar al final de la lista de parámetros de plantilla"
++
++#: cp/pt.c:3799
++#, gcc-internal-format
+ msgid "template class without a name"
+ msgstr "clase de plantilla sin nombre"
+
+ #. [temp.mem]
+ #.
+ #. A destructor shall not be a member template.
+-#: cp/pt.c:3804
++#: cp/pt.c:3807
+ #, gcc-internal-format
+ msgid "destructor %qD declared as member template"
+ msgstr "se declaró el destructor %qD como una plantilla miembro"
+@@ -30849,77 +30887,72 @@
+ #. An allocation function can be a function
+ #. template. ... Template allocation functions shall
+ #. have two or more parameters.
+-#: cp/pt.c:3819
++#: cp/pt.c:3822
+ #, gcc-internal-format
+ msgid "invalid template declaration of %qD"
+ msgstr "declaración de la plantilla de %qD inválida"
+
+-#: cp/pt.c:3890
++#: cp/pt.c:3939
+ #, gcc-internal-format
+-msgid "parameter pack %qE must be at the end of the template parameter list"
+-msgstr "el parámetro de paquete %qE debe estar al final de la lista de parámetros de plantilla"
+-
+-#: cp/pt.c:3893
+-#, gcc-internal-format
+-msgid "parameter pack %qT must be at the end of the template parameter list"
+-msgstr "el parámetro de paquete %qT debe estar al final de la lista de parámetros de plantilla"
+-
+-#: cp/pt.c:3953
+-#, gcc-internal-format
+ msgid "template definition of non-template %q#D"
+ msgstr "definición de plantilla de %q#D que no es plantilla"
+
+-#: cp/pt.c:3996
++#: cp/pt.c:3982
+ #, gcc-internal-format
+ msgid "expected %d levels of template parms for %q#D, got %d"
+ msgstr "se esperaban %d niveles de parámetros de plantilla para %q#D, se obtuvieron %d"
+
+-#: cp/pt.c:4008
++#: cp/pt.c:3994
+ #, gcc-internal-format
+ msgid "got %d template parameters for %q#D"
+ msgstr "se obtuvieron %d parámetros de plantilla para %q#D"
+
+-#: cp/pt.c:4011
++#: cp/pt.c:3997
+ #, gcc-internal-format
+ msgid "got %d template parameters for %q#T"
+ msgstr "se obtuvieron %d parámetros de plantilla para %q#T"
+
+-#: cp/pt.c:4013
++#: cp/pt.c:3999
+ #, gcc-internal-format
+ msgid " but %d required"
+ msgstr " pero se requieren %d"
+
+-#: cp/pt.c:4031
++#: cp/pt.c:4017
+ #, gcc-internal-format
+ msgid "template arguments to %qD do not match original template %qD"
+ msgstr "los argumentos de plantilla para %qD no coinciden con la plantilla original %qD"
+
+-#: cp/pt.c:4035
++#: cp/pt.c:4021
+ #, gcc-internal-format
+ msgid "use template<> for an explicit specialization"
+ msgstr "utilice template<> para una especialización explícita"
+
+-#: cp/pt.c:4131
++#: cp/pt.c:4117
+ #, gcc-internal-format
+ msgid "%qT is not a template type"
+ msgstr "%qT no es un tipo plantilla"
+
+-#: cp/pt.c:4144
++#: cp/pt.c:4130
+ #, gcc-internal-format
+ msgid "template specifiers not specified in declaration of %qD"
+ msgstr "no se especificaron los especificadores de plantilla en la declaración de %qD"
+
+-#: cp/pt.c:4155
++#: cp/pt.c:4140
+ #, gcc-internal-format
+-msgid "used %d template parameter(s) instead of %d"
+-msgstr "se usaron %d parámetro(s) de plantilla en lugar de %d"
++msgid "redeclared with %d template parameter(s)"
++msgstr "se redeclaró con %d parámetro(s) de plantilla"
+
+-#: cp/pt.c:4184
++#: cp/pt.c:4142
+ #, gcc-internal-format
++msgid "previous declaration %q+D used %d template parameter(s)"
++msgstr "la declaración previa de %q+#D usó %d parámetro(s) de plantilla"
++
++#: cp/pt.c:4176
++#, gcc-internal-format
+ msgid "template parameter %q+#D"
+ msgstr "parámetro de plantilla %q+#D"
+
+-#: cp/pt.c:4185
++#: cp/pt.c:4177
+ #, gcc-internal-format
+ msgid "redeclared here as %q#D"
+ msgstr "redeclarado aquí como %q#D"
+@@ -30928,182 +30961,182 @@
+ #.
+ #. A template-parameter may not be given default arguments
+ #. by two different declarations in the same scope.
+-#: cp/pt.c:4195
++#: cp/pt.c:4187
+ #, gcc-internal-format
+ msgid "redefinition of default argument for %q#D"
+ msgstr "redefinición del argumento por defecto para %q#D"
+
+-#: cp/pt.c:4196
++#: cp/pt.c:4188
+ #, gcc-internal-format
+-msgid "%J original definition appeared here"
+-msgstr "%J la definición original apareció aquí"
++msgid "%Joriginal definition appeared here"
++msgstr "%Jla definición original apareció aquí"
+
+-#: cp/pt.c:4300
++#: cp/pt.c:4292
+ #, gcc-internal-format
+ msgid "%qE is not a valid template argument for type %qT because function %qD has not external linkage"
+ msgstr "%qE no es un argumento válido de plantilla para el tipo %qT porque la función %qD no tiene enlazado externo"
+
+-#: cp/pt.c:4341
++#: cp/pt.c:4333
+ #, 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 "%qE no es un argumento válido de plantilla para el tipo %qT porque las literales de cadena nunca se pueden usar en este contexto"
+
+-#: cp/pt.c:4418
++#: cp/pt.c:4410
+ #, gcc-internal-format
+ msgid "%qE is not a valid template argument for type %qT because it is a non-constant expression"
+ msgstr "%qE no es un argumento válido de plantilla para el tipo %qT porque es una expresión que no es constante"
+
+-#: cp/pt.c:4462
++#: cp/pt.c:4454
+ #, gcc-internal-format
+ msgid "%qD is not a valid template argument because %qD is a variable, not the address of a variable"
+ msgstr "%qD no es un argumento válido de plantilla porque %qD es una variable, no la dirección de una variable"
+
+-#: cp/pt.c:4480
++#: cp/pt.c:4472
+ #, gcc-internal-format
+ msgid "%qE is not a valid template argument of type %qT because %qE is not a variable"
+ msgstr "%qE no es un argumento válido de plantilla de tipo %qT porque %qE no es una variable"
+
+-#: cp/pt.c:4487
++#: cp/pt.c:4479
+ #, gcc-internal-format
+ msgid "%qE is not a valid template argument of type %qT because %qD does not have external linkage"
+ msgstr "%qE no es un argumento válido de plantilla de tipo %qT porque %qD no tiene enlazado externo"
+
+-#: cp/pt.c:4517
++#: cp/pt.c:4509
+ #, gcc-internal-format
+ msgid "%qE is not a valid template argument for type %qT because of conflicts in cv-qualification"
+ msgstr "%qE no es un argumento de plantilla válido para el tipo %qT debido a conflictos en la calificación cv"
+
+-#: cp/pt.c:4524
++#: cp/pt.c:4516
+ #, gcc-internal-format
+ msgid "%qE is not a valid template argument for type %qT because it is not an lvalue"
+ msgstr "%qE no es un argumento válido de plantilla para el tipo %qT porque no es un l-valor"
+
+-#: cp/pt.c:4537
++#: cp/pt.c:4529
+ #, gcc-internal-format
+ msgid "%qE is not a valid template argument for type %qT because object %qD has not external linkage"
+ msgstr "%qE no es un argumento válido de plantilla para el tipo %qT porque el objeto %qD no tiene enlazado externo"
+
+-#: cp/pt.c:4577
++#: cp/pt.c:4569
+ #, gcc-internal-format
+ msgid "%qE is not a valid template argument for type %qT because it is a pointer"
+ msgstr "%qE no es un argumento de plantilla válido para el tipo %qT porque es un puntero"
+
+-#: cp/pt.c:4579
++#: cp/pt.c:4571
+ #, gcc-internal-format
+ msgid "try using %qE instead"
+ msgstr "intente utilizar %qE en su lugar"
+
+-#: cp/pt.c:4614
++#: cp/pt.c:4606
+ #, gcc-internal-format
+ msgid "%qE is not a valid template argument for type %qT because it is of type %qT"
+ msgstr "%qE no es un argumento de plantilla válido para el tipo %qT porque es de tipo %qT"
+
+-#: cp/pt.c:4617
++#: cp/pt.c:4609
+ #, gcc-internal-format
+ msgid "standard conversions are not allowed in this context"
+ msgstr "no se permiten las conversiones estándar en este contexto"
+
+-#: cp/pt.c:4797
++#: cp/pt.c:4860
+ #, gcc-internal-format
+ msgid "to refer to a type member of a template parameter, use %<typename %E%>"
+ msgstr "para hacer referencia a un tipo miembro de un parámetro de plantilla, use %<typename %E%>"
+
+-#: cp/pt.c:4813 cp/pt.c:4832 cp/pt.c:4882
++#: cp/pt.c:4876 cp/pt.c:4895 cp/pt.c:4945
+ #, gcc-internal-format
+ msgid "type/value mismatch at argument %d in template parameter list for %qD"
+ msgstr "no coincide el tipo/valor en el argumento %d en la lista de parámetros de plantilla para %qD"
+
+-#: cp/pt.c:4817
++#: cp/pt.c:4880
+ #, gcc-internal-format
+ msgid " expected a constant of type %qT, got %qT"
+ msgstr " se esperaba una constante de tipo %qT, se obtuvo %qT"
+
+-#: cp/pt.c:4821
++#: cp/pt.c:4884
+ #, gcc-internal-format
+ msgid " expected a class template, got %qE"
+ msgstr " se esperaba una plantilla de clase, se obtuvo %qE"
+
+-#: cp/pt.c:4823
++#: cp/pt.c:4886
+ #, gcc-internal-format
+ msgid " expected a type, got %qE"
+ msgstr " se esperaba un tipo, se obtuvo %qE"
+
+-#: cp/pt.c:4836
++#: cp/pt.c:4899
+ #, gcc-internal-format
+ msgid " expected a type, got %qT"
+ msgstr " se esperaba un tipo, se obtuvo %qT"
+
+-#: cp/pt.c:4838
++#: cp/pt.c:4901
+ #, gcc-internal-format
+ msgid " expected a class template, got %qT"
+ msgstr " se esperaba una plantilla de clase, se obtuvo %qT"
+
+-#: cp/pt.c:4885
++#: cp/pt.c:4948
+ #, gcc-internal-format
+ msgid " expected a template of type %qD, got %qD"
+ msgstr " se esperaba una plantilla de tipo %qD, se obtuvo %qD"
+
+-#: cp/pt.c:4928
++#: cp/pt.c:4991
+ #, gcc-internal-format
+ msgid "could not convert template argument %qE to %qT"
+ msgstr "no se puede convertir el argumento de plantilla %qE a %qT"
+
+-#: cp/pt.c:4984
++#: cp/pt.c:5047
+ #, gcc-internal-format
+ msgid "wrong number of template arguments (%d, should be %d)"
+ msgstr "número erróneo de argumentos de plantilla (%d, debe ser %d)"
+
+-#: cp/pt.c:5116
++#: cp/pt.c:5179
+ #, gcc-internal-format
+ msgid "wrong number of template arguments (%d, should be %d%s)"
+ msgstr "número erróneo de argumentos de plantilla (%d, debe ser %d%s)"
+
+-#: cp/pt.c:5120
++#: cp/pt.c:5183
+ #, gcc-internal-format
+ msgid "provided for %q+D"
+ msgstr "provisto por %q+D"
+
+-#: cp/pt.c:5177
++#: cp/pt.c:5242
+ #, gcc-internal-format
+ msgid "cannot expand %<%E%> into a fixed-length argument list"
+ msgstr "no se puede expandir %<%E%> a una lista de argumentos de longitud fija"
+
+-#: cp/pt.c:5180
++#: cp/pt.c:5245
+ #, gcc-internal-format
+ msgid "cannot expand %<%T%> into a fixed-length argument list"
+ msgstr "no se puede expandir %<%T%> a na lista de argumentos de longitud fija"
+
+-#: cp/pt.c:5195
++#: cp/pt.c:5261
+ #, gcc-internal-format
+ msgid "template argument %d is invalid"
+ msgstr "el argumento de plantilla %d es inválido"
+
+-#: cp/pt.c:5455
++#: cp/pt.c:5521
+ #, gcc-internal-format
+ msgid "non-template type %qT used as a template"
+ msgstr "se usa el tipo %qT que no es plantilla como una plantilla"
+
+-#: cp/pt.c:5457
++#: cp/pt.c:5523
+ #, gcc-internal-format
+ msgid "for template declaration %q+D"
+ msgstr "para la declaración de plantilla %q+D"
+
+-#: cp/pt.c:6132
++#: cp/pt.c:6221
+ #, gcc-internal-format
+ msgid "template instantiation depth exceeds maximum of %d (use -ftemplate-depth-NN to increase the maximum) instantiating %qD"
+ msgstr "la profundidad de instanciación de la plantilla excede el máximo de %d (use -ftemplate-depth-NN para incrementar el máximo) al instanciar %qD"
+
+-#: cp/pt.c:7237
++#: cp/pt.c:7333
+ #, gcc-internal-format
+ msgid "mismatched argument pack lengths while expanding %<%T%>"
+ msgstr "no coinciden las longitudes de los paquetes de argumentos al expandir %<%T%>"
+
+-#: cp/pt.c:7241
++#: cp/pt.c:7337
+ #, gcc-internal-format
+ msgid "mismatched argument pack lengths while expanding %<%E%>"
+ msgstr "no coinciden las longitudes de los paquetes de argumentos al expandir %<%E%>"
+
+-#: cp/pt.c:8189
++#: cp/pt.c:8289
+ #, gcc-internal-format
+ msgid "instantiation of %q+D as type %qT"
+ msgstr "instanciación de %q+D como tipo %qT"
+@@ -31121,242 +31154,242 @@
+ #.
+ #. is an attempt to declare a variable with function
+ #. type.
+-#: cp/pt.c:8324
++#: cp/pt.c:8424
+ #, gcc-internal-format
+ msgid "variable %qD has function type"
+ msgstr "la variable %qD tiene tipo de función"
+
+-#: cp/pt.c:8471
++#: cp/pt.c:8571
+ #, gcc-internal-format
+ msgid "invalid parameter type %qT"
+ msgstr "tipo de parámetro %qT inválido"
+
+-#: cp/pt.c:8473
++#: cp/pt.c:8573
+ #, gcc-internal-format
+ msgid "in declaration %q+D"
+ msgstr "en la declaración %q+D"
+
+-#: cp/pt.c:8550
++#: cp/pt.c:8650
+ #, gcc-internal-format
+ msgid "function returning an array"
+ msgstr "la función devuelve una matriz"
+
+-#: cp/pt.c:8552
++#: cp/pt.c:8652
+ #, gcc-internal-format
+ msgid "function returning a function"
+ msgstr "la función devuelve una función"
+
+-#: cp/pt.c:8586
++#: cp/pt.c:8686
+ #, gcc-internal-format
+ msgid "creating pointer to member function of non-class type %qT"
+ msgstr "se crea un puntero a función miembro del tipo %qT que no es clase"
+
+-#: cp/pt.c:8792
++#: cp/pt.c:8913
+ #, gcc-internal-format
+ msgid "creating array with negative size (%qE)"
+ msgstr "se crea la matriz con tamaño negativo (%qE)"
+
+-#: cp/pt.c:9047
++#: cp/pt.c:9168
+ #, gcc-internal-format
+ msgid "forming reference to void"
+ msgstr "se forma la referencia a void"
+
+-#: cp/pt.c:9049
++#: cp/pt.c:9170
+ #, gcc-internal-format
+ msgid "forming %s to reference type %qT"
+ msgstr "se forma %s para referenciar al tipo %qT"
+
+-#: cp/pt.c:9100
++#: cp/pt.c:9221
+ #, 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.c:9106
++#: cp/pt.c:9227
+ #, 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.c:9112
++#: cp/pt.c:9233
+ #, gcc-internal-format
+ msgid "creating pointer to member of type void"
+ msgstr "se crea un puntero al miembro de tipo void"
+
+-#: cp/pt.c:9179
++#: cp/pt.c:9300
+ #, gcc-internal-format
+ msgid "creating array of %qT"
+ msgstr "se crea la matriz de %qT"
+
+-#: cp/pt.c:9185
++#: cp/pt.c:9306
+ #, gcc-internal-format
+ msgid "creating array of %qT, which is an abstract class type"
+ msgstr "se crea la matriz de %qT, la cual es un tipo de clase abstracta"
+
+-#: cp/pt.c:9236
++#: cp/pt.c:9357
+ #, 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.c:9271
++#: cp/pt.c:9392
+ #, 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.c:9274
++#: cp/pt.c:9395
+ #, gcc-internal-format
+ msgid "%qT resolves to %qT, which is is not a class type"
+ msgstr "%qT resuelve a %qT, el cual no es un tipo de clase"
+
+-#: cp/pt.c:9375
++#: cp/pt.c:9496
+ #, gcc-internal-format
+ msgid "use of %qs in template"
+ msgstr "uso de %qs en la plantilla"
+
+-#: cp/pt.c:9512
++#: cp/pt.c:9633
+ #, 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.c:9514
++#: cp/pt.c:9635
+ #, gcc-internal-format
+ msgid "say %<typename %E%> if a type is meant"
+ msgstr "escriba %<typename %E%> si quiere un tipo"
+
+-#: cp/pt.c:9643
++#: cp/pt.c:9764
+ #, gcc-internal-format
+ msgid "using invalid field %qD"
+ msgstr "se usa el campo inválido %qD"
+
+-#: cp/pt.c:9952 cp/pt.c:10432
++#: cp/pt.c:10073 cp/pt.c:10553
+ #, gcc-internal-format
+ msgid "invalid use of pack expansion expression"
+ msgstr "uso inválido de la expresión de expansión de paquete"
+
+-#: cp/pt.c:9956 cp/pt.c:10436
++#: cp/pt.c:10077 cp/pt.c:10557
+ #, gcc-internal-format
+ msgid "use %<...%> to expand argument pack"
+ msgstr "use %<...%> para expandir el paquete de argumentos"
+
+-#: cp/pt.c:10594
++#: cp/pt.c:10715
+ #, gcc-internal-format
+ msgid "a cast to a type other than an integral or enumeration type cannot appear in a constant-expression"
+ msgstr "una conversión a un tipo diferente de un tipo integral o de enumeración no puede aparecer en una expresión constante"
+
+-#: cp/pt.c:11052
++#: cp/pt.c:11181
+ #, gcc-internal-format
+ msgid "%qT is not a class or namespace"
+ msgstr "%qT no es una clase o un espacio de nombres"
+
+-#: cp/pt.c:11055
++#: cp/pt.c:11184
+ #, gcc-internal-format
+ msgid "%qD is not a class or namespace"
+ msgstr "%qD no es una clase o un espacio de nombres"
+
+-#: cp/pt.c:11265
++#: cp/pt.c:11394
+ #, gcc-internal-format
+ msgid "%qT is/uses anonymous type"
+ msgstr "%qT es/usa un tipo anónimo"
+
+-#: cp/pt.c:11267
++#: cp/pt.c:11396
+ #, 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.c:11277
++#: cp/pt.c:11406
+ #, gcc-internal-format
+ msgid "%qT is a variably modified type"
+ msgstr "%qT es un tipo modificado variablemente"
+
+-#: cp/pt.c:11288
++#: cp/pt.c:11417
+ #, gcc-internal-format
+ msgid "integral expression %qE is not constant"
+ msgstr "la expresión integral %qE no es una constante"
+
+-#: cp/pt.c:11293
++#: cp/pt.c:11422
+ #, gcc-internal-format
+ msgid " trying to instantiate %qD"
+ msgstr " se trata de instanciar %qD"
+
+-#: cp/pt.c:13959
++#: cp/pt.c:14173
+ #, gcc-internal-format
+ msgid "ambiguous class template instantiation for %q#T"
+ msgstr "instanciación de plantilla clase ambigua para %q#T"
+
+-#: cp/pt.c:13962
++#: cp/pt.c:14176
+ #, gcc-internal-format
+ msgid "%s %+#T"
+ msgstr "%s %+#T"
+
+-#: cp/pt.c:13985 cp/pt.c:14068
++#: cp/pt.c:14199 cp/pt.c:14282
+ #, 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.c:14000
++#: cp/pt.c:14214
+ #, 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.c:14006 cp/pt.c:14063
++#: cp/pt.c:14220 cp/pt.c:14277
+ #, gcc-internal-format
+ msgid "no matching template for %qD found"
+ msgstr "no se encontró una plantilla coincidente para %qD"
+
+-#: cp/pt.c:14011
++#: cp/pt.c:14225
+ #, 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.c:14019
++#: cp/pt.c:14233
+ #, gcc-internal-format
+ msgid "explicit instantiation of %q#D"
+ msgstr "instanciación explícita de %q#D"
+
+-#: cp/pt.c:14055
++#: cp/pt.c:14269
+ #, gcc-internal-format
+ msgid "duplicate explicit instantiation of %q#D"
+ msgstr "instanciación explícita duplicada de %q#D"
+
+-#: cp/pt.c:14077
++#: cp/pt.c:14291
+ #, gcc-internal-format
+ msgid "ISO C++ forbids the use of %<extern%> on explicit instantiations"
+ msgstr "ISO C++ prohíbe el uso de %<extern%> en instanciaciones explícitas"
+
+-#: cp/pt.c:14082 cp/pt.c:14175
++#: cp/pt.c:14296 cp/pt.c:14389
+ #, 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.c:14147
++#: cp/pt.c:14361
+ #, 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.c:14156
++#: cp/pt.c:14370
+ #, 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.c:14164
++#: cp/pt.c:14378
+ #, 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.c:14209
++#: cp/pt.c:14423
+ #, gcc-internal-format
+ msgid "duplicate explicit instantiation of %q#T"
+ msgstr "instanciación explícita duplicada de %q#T"
+
+-#: cp/pt.c:14657
++#: cp/pt.c:14871
+ #, 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.c:14851
++#: cp/pt.c:15065
+ #, 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)"
+ 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-NN para incrementar el máximo)"
+
+-#: cp/pt.c:15193
++#: cp/pt.c:15419
+ #, gcc-internal-format
+ msgid "%q#T is not a valid type for a template constant parameter"
+ msgstr "%q#T no es un tipo válido para un parámetro constante de plantilla"
+@@ -31376,32 +31409,32 @@
+ msgid "can't create repository information file %qs"
+ msgstr "no se puede crear el fichero de información de repositorio %qs"
+
+-#: cp/rtti.c:271
++#: cp/rtti.c:285
+ #, gcc-internal-format
+ msgid "cannot use typeid with -fno-rtti"
+ msgstr "no se puede usar typeid sin -fno-rtti"
+
+-#: cp/rtti.c:277
++#: cp/rtti.c:291
+ #, gcc-internal-format
+ msgid "must #include <typeinfo> before using typeid"
+ msgstr "se debe hacer #include <typeinfo> antes de usar typeid"
+
+-#: cp/rtti.c:360
++#: cp/rtti.c:374
+ #, gcc-internal-format
+ msgid "cannot create type information for type %qT because it involves types of variable size"
+ msgstr "no se puede crear la información de tipo para el tipo %qT porque involucra tipos de tamaño variable"
+
+-#: cp/rtti.c:615 cp/rtti.c:629
++#: cp/rtti.c:629 cp/rtti.c:643
+ #, gcc-internal-format
+ msgid "dynamic_cast of %q#D to %q#T can never succeed"
+ msgstr "dynamic_cast de %q#D a %q#T nunca podrá tener éxito"
+
+-#: cp/rtti.c:639
++#: cp/rtti.c:653
+ #, gcc-internal-format
+ msgid "%<dynamic_cast%> not permitted with -fno-rtti"
+ msgstr "no se permite %<dynamic_cast%> sin -fno-rtti"
+
+-#: cp/rtti.c:716
++#: cp/rtti.c:729
+ #, gcc-internal-format
+ msgid "cannot dynamic_cast %qE (of type %q#T) to type %q#T (%s)"
+ msgstr "no se puede hacer dynamic_cast %qE (de tipo %q#T) al tipo %q#T (%s)"
+@@ -31463,551 +31496,551 @@
+ msgid " since %q+#D declared in base class"
+ msgstr " ya que se declaró %q+#D en la clase base"
+
+-#: cp/semantics.c:762
++#: cp/semantics.c:764
+ #, gcc-internal-format
+ msgid "suggest explicit braces around empty body in %<do%> statement"
+ msgstr "se sugieren llaves explícitas alrededor del cuerpo vacío en la declaración %<do%>"
+
+-#: cp/semantics.c:1290
++#: cp/semantics.c:1294
+ #, gcc-internal-format
+ msgid "type of asm operand %qE could not be determined"
+ msgstr "no se puede determinar el tipo del operando asm %qE"
+
+-#: cp/semantics.c:1346
++#: cp/semantics.c:1350
+ #, gcc-internal-format
+ msgid "__label__ declarations are only allowed in function scopes"
+ msgstr "las declaraciones __label__ sólo se permiten en ámbitos de función"
+
+-#: cp/semantics.c:1433
++#: cp/semantics.c:1438
+ #, gcc-internal-format
+ msgid "invalid use of member %q+D in static member function"
+ msgstr "uso inválido del miembro %q+D en la función miembro static"
+
+-#: cp/semantics.c:1435
++#: cp/semantics.c:1440
+ #, gcc-internal-format
+ msgid "invalid use of non-static data member %q+D"
+ msgstr "uso inválido del dato miembro %q+D que no es static"
+
+-#: cp/semantics.c:1436 cp/semantics.c:1475
++#: cp/semantics.c:1441 cp/semantics.c:1480
+ #, gcc-internal-format
+ msgid "from this location"
+ msgstr "desde esta ubicación"
+
+-#: cp/semantics.c:1474
++#: cp/semantics.c:1479
+ #, gcc-internal-format
+ msgid "object missing in reference to %q+D"
+ msgstr "falta un objeto en la referencia a %q+D"
+
+-#: cp/semantics.c:1928
++#: cp/semantics.c:1951
+ #, gcc-internal-format
+ msgid "arguments to destructor are not allowed"
+ msgstr "no se permiten argumentos para el destructor"
+
+-#: cp/semantics.c:1978
++#: cp/semantics.c:2001
+ #, gcc-internal-format
+ msgid "%<this%> is unavailable for static member functions"
+ msgstr "%<this%> no está disponible para funciones miembro static"
+
+-#: cp/semantics.c:1984
++#: cp/semantics.c:2007
+ #, gcc-internal-format
+ msgid "invalid use of %<this%> in non-member function"
+ msgstr "uso inválido de %<this%> en la función que no es miembro"
+
+-#: cp/semantics.c:1986
++#: cp/semantics.c:2009
+ #, gcc-internal-format
+ msgid "invalid use of %<this%> at top level"
+ msgstr "uso inválido de %<this%> en el nivel principal"
+
+-#: cp/semantics.c:2010
++#: cp/semantics.c:2033
+ #, gcc-internal-format
+ msgid "invalid qualifying scope in pseudo-destructor name"
+ msgstr "ámbito calificador inválido en el nombre del seudo-destructor"
+
+-#: cp/semantics.c:2015 cp/typeck.c:2004
++#: cp/semantics.c:2038 cp/typeck.c:2050
+ #, gcc-internal-format
+ msgid "qualified type %qT does not match destructor name ~%qT"
+ msgstr "el tipo calificado %qT no coincide con el nombre del destructor ~%qT"
+
+-#: cp/semantics.c:2037
++#: cp/semantics.c:2060
+ #, gcc-internal-format
+ msgid "%qE is not of type %qT"
+ msgstr "%qE no es de tipo %qT"
+
+-#: cp/semantics.c:2081
++#: cp/semantics.c:2104
+ #, gcc-internal-format
+ msgid "compound literal of non-object type %qT"
+ msgstr "la literal compuesta del tipo %qT que no es objeto"
+
+-#: cp/semantics.c:2158
++#: cp/semantics.c:2181
+ #, gcc-internal-format
+ msgid "template type parameters must use the keyword %<class%> or %<typename%>"
+ msgstr "los parámetros de tipo plantilla debe usar la palabra clave %<class%> o %<typename%>"
+
+-#: cp/semantics.c:2195
++#: cp/semantics.c:2222
+ #, gcc-internal-format
+ msgid "invalid use of type %qT as a default value for a template template-parameter"
+ msgstr "uso inválido del tipo %qT como un valor por defecto para una plantilla de parámetro de plantilla"
+
+-#: cp/semantics.c:2198
++#: cp/semantics.c:2225
+ #, gcc-internal-format
+ msgid "invalid default argument for a template template parameter"
+ msgstr "argumento por defecto inválido para una plantilla de parámetro de plantilla"
+
+-#: cp/semantics.c:2215
++#: cp/semantics.c:2242
+ #, gcc-internal-format
+ msgid "definition of %q#T inside template parameter list"
+ msgstr "la definición de %q#T dentro de la lista de parámetros de plantilla"
+
+-#: cp/semantics.c:2226
++#: cp/semantics.c:2253
+ #, gcc-internal-format
+ msgid "invalid definition of qualified type %qT"
+ msgstr "definición inválida del tipo calificado %qT"
+
+-#: cp/semantics.c:2437
++#: cp/semantics.c:2469
+ #, gcc-internal-format
+ msgid "invalid base-class specification"
+ msgstr "especificación de clase base inválida"
+
+-#: cp/semantics.c:2446
++#: cp/semantics.c:2478
+ #, gcc-internal-format
+ msgid "base class %qT has cv qualifiers"
+ msgstr "la clase base %qT tiene calificadores cv"
+
+-#: cp/semantics.c:2468
++#: cp/semantics.c:2500
+ #, gcc-internal-format
+ msgid "incomplete type %qT used in nested name specifier"
+ msgstr "se utilizó el tipo incompleto %qT en un especificador de nombre anidado"
+
+-#: cp/semantics.c:2471
++#: cp/semantics.c:2503
+ #, gcc-internal-format
+ msgid "reference to %<%T::%D%> is ambiguous"
+ msgstr "la referencia a %<%T::%D%> es ambigua"
+
+-#: cp/semantics.c:2475 cp/typeck.c:1813
++#: cp/semantics.c:2507 cp/typeck.c:1859
+ #, gcc-internal-format
+ msgid "%qD is not a member of %qT"
+ msgstr "%qD no es un miembro de %qT"
+
+-#: cp/semantics.c:2478
++#: cp/semantics.c:2510
+ #, gcc-internal-format
+ msgid "%qD is not a member of %qD"
+ msgstr "%qD no es un miembro de %qD"
+
+-#: cp/semantics.c:2480
++#: cp/semantics.c:2512
+ #, gcc-internal-format
+ msgid "%<::%D%> has not been declared"
+ msgstr "%<::%D%> no se ha declarado"
+
+-#: cp/semantics.c:2621
++#: cp/semantics.c:2653
+ #, gcc-internal-format
+ msgid "use of %<auto%> variable from containing function"
+ msgstr "uso de la variable %<auto%> desde la función contenedora"
+
+-#: cp/semantics.c:2623
++#: cp/semantics.c:2655
+ #, gcc-internal-format
+ msgid " %q+#D declared here"
+ msgstr " %q+#D se declaró aquí"
+
+-#: cp/semantics.c:2661
++#: cp/semantics.c:2693
+ #, gcc-internal-format
+ msgid "template parameter %qD of type %qT is not allowed in an integral constant expression because it is not of integral or enumeration type"
+ msgstr "no se permite el parámetro de plantilla %qD de tipo %qT en una expresión integral constante porque no es de tipo integral o de enumeración"
+
+-#: cp/semantics.c:2830
++#: cp/semantics.c:2862
+ #, gcc-internal-format
+ msgid "%qD cannot appear in a constant-expression"
+ msgstr "%qD no puede aparece en una expresion constante"
+
+-#: cp/semantics.c:2838
++#: cp/semantics.c:2870
+ #, gcc-internal-format
+ msgid "use of namespace %qD as expression"
+ msgstr "uso del espacio de nombres %qD como expresión"
+
+-#: cp/semantics.c:2843
++#: cp/semantics.c:2875
+ #, gcc-internal-format
+ msgid "use of class template %qT as expression"
+ msgstr "uso de la plantilla de clase %qT como expresión"
+
+ #. Ambiguous reference to base members.
+-#: cp/semantics.c:2849
++#: cp/semantics.c:2881
+ #, gcc-internal-format
+ msgid "request for member %qD is ambiguous in multiple inheritance lattice"
+ msgstr "la petición por el miembro %qD es ambigua en la red de herencia múltiple"
+
+-#: cp/semantics.c:2970 cp/semantics.c:4210
++#: cp/semantics.c:3002 cp/semantics.c:4259
+ #, gcc-internal-format
+ msgid "type of %qE is unknown"
+ msgstr "el tipo de %qE es desconocido"
+
+-#: cp/semantics.c:2985
++#: cp/semantics.c:3017
+ #, gcc-internal-format
+ msgid "cannot apply %<offsetof%> to destructor %<~%T%>"
+ msgstr "no se puede aplicar %<offsetof%> al destructor %<~%T%>"
+
+-#: cp/semantics.c:2996
++#: cp/semantics.c:3028
+ #, gcc-internal-format
+ msgid "cannot apply %<offsetof%> to member function %qD"
+ msgstr "no se puede aplicar %<offsetof%> a la función miembro %qD"
+
+-#: cp/semantics.c:3349
++#: cp/semantics.c:3381
+ #, gcc-internal-format
+ msgid "%qD is not a variable in clause %qs"
+ msgstr "%qD no es una variable en la cláusula %qs"
+
+-#: cp/semantics.c:3358
++#: cp/semantics.c:3390
+ #, gcc-internal-format
+ msgid "%qD appears more than once in data clauses"
+ msgstr "%qD aparece más de una vez en las cláusulas de datos"
+
+-#: cp/semantics.c:3418
++#: cp/semantics.c:3450
+ #, gcc-internal-format
+ msgid "num_threads expression must be integral"
+ msgstr "la expresión num_threads debe ser integral"
+
+-#: cp/semantics.c:3432
++#: cp/semantics.c:3464
+ #, gcc-internal-format
+ msgid "schedule chunk size expression must be integral"
+ msgstr "la expresión schedule chunk size debe ser integral"
+
+-#: cp/semantics.c:3562
++#: cp/semantics.c:3594
+ #, gcc-internal-format
+ msgid "%qE has reference type for %qs"
+ msgstr "%qE tiene tipo de referencia para %qs"
+
+-#: cp/semantics.c:3724
++#: cp/semantics.c:3756
+ #, gcc-internal-format
+ msgid "%<threadprivate%> %qE is not file, namespace or block scope variable"
+ msgstr "%<threadprivate%> %qE no es un fichero, espacio de nombres o variable de ámbito de bloque"
+
+ #. Report the error.
+-#: cp/semantics.c:4033
++#: cp/semantics.c:4072
+ #, gcc-internal-format
+ msgid "static assertion failed: %E"
+ msgstr "falló la aserción estática: %E"
+
+-#: cp/semantics.c:4035
++#: cp/semantics.c:4074
+ #, gcc-internal-format
+ msgid "non-constant condition for static assertion"
+ msgstr "condición que no es constante para una aserción estática"
+
+-#: cp/semantics.c:4097
++#: cp/semantics.c:4099 cp/semantics.c:4194
+ #, gcc-internal-format
+-msgid "%qE refers to a set of overloaded functions"
+-msgstr "%qE refiere a un conjunto de funciones sobrecargadas"
++msgid "argument to decltype must be an expression"
++msgstr "el argumento para decltype debe ser una expresión"
+
+ #: cp/semantics.c:4145
+ #, gcc-internal-format
+-msgid "argument to decltype must be an expression"
+-msgstr "el argumento para decltype debe ser una expresión"
++msgid "%qE refers to a set of overloaded functions"
++msgstr "%qE refiere a un conjunto de funciones sobrecargadas"
+
+-#: cp/semantics.c:4366
++#: cp/semantics.c:4415
+ #, gcc-internal-format
+ msgid "__is_convertible_to"
+ msgstr "__es_convertible_a"
+
+-#: cp/semantics.c:4395
++#: cp/semantics.c:4444
+ #, gcc-internal-format
+ msgid "incomplete type %qT not allowed"
+ msgstr "no se permite el tipo incompleto %qT"
+
+-#: cp/tree.c:829
++#: cp/tree.c:827
+ #, gcc-internal-format
+ msgid "%qV qualifiers cannot be applied to %qT"
+ msgstr "los calificadores %qV no se pueden aplicar a %qT"
+
+-#: cp/tree.c:2134
++#: cp/tree.c:2132
+ #, gcc-internal-format
+ msgid "%qE attribute can only be applied to Java class definitions"
+ msgstr "el atributo %qE sólo se puede aplicar a definiciones de clases Java"
+
+-#: cp/tree.c:2163
++#: cp/tree.c:2161
+ #, gcc-internal-format
+ msgid "%qE attribute can only be applied to class definitions"
+ msgstr "el atributo %qE sólo se puede aplicar a definiciones de clase"
+
+-#: cp/tree.c:2169
++#: cp/tree.c:2167
+ #, gcc-internal-format
+ msgid "%qE is obsolete; g++ vtables are now COM-compatible by default"
+ msgstr "%qE es obsoleto; las vtables de g++ ahora son compatibles con COM por defecto"
+
+-#: cp/tree.c:2193
++#: cp/tree.c:2191
+ #, gcc-internal-format
+ msgid "requested init_priority is not an integer constant"
+ msgstr "la init_priority solicitada no es una constante entera"
+
+-#: cp/tree.c:2214
++#: cp/tree.c:2212
+ #, gcc-internal-format
+ msgid "can only use %qE attribute on file-scope definitions of objects of class type"
+ msgstr "solo se puede usar el atributo %qE en definiciones de rango de fichero de objetos de tipo class"
+
+-#: cp/tree.c:2222
++#: cp/tree.c:2220
+ #, gcc-internal-format
+ msgid "requested init_priority is out of range"
+ msgstr "la init_priority solicitada está fuera de rango"
+
+-#: cp/tree.c:2232
++#: cp/tree.c:2230
+ #, gcc-internal-format
+ msgid "requested init_priority is reserved for internal use"
+ msgstr "la init_priority solicitada está reservada para uso interno"
+
+-#: cp/tree.c:2243
++#: cp/tree.c:2241
+ #, gcc-internal-format
+ msgid "%qE attribute is not supported on this platform"
+ msgstr "el atributo %qE no se admite en esta plataforma"
+
+-#: cp/typeck.c:431 cp/typeck.c:445 cp/typeck.c:545
++#: cp/typeck.c:432 cp/typeck.c:446 cp/typeck.c:546
+ #, gcc-internal-format
+ msgid "%s between distinct pointer types %qT and %qT lacks a cast"
+ msgstr "%s entre diferentes tipos de punteros %qT y %qT carece de una conversión"
+
+-#: cp/typeck.c:507
++#: cp/typeck.c:508
+ #, gcc-internal-format
+ msgid "ISO C++ forbids %s between pointer of type %<void *%> and pointer-to-function"
+ msgstr "ISO C++ prohíbe %s entre punteros de tipo %<void *%> y punteros a función"
+
+-#: cp/typeck.c:565
++#: cp/typeck.c:566
+ #, gcc-internal-format
+ msgid "%s between distinct pointer-to-member types %qT and %qT lacks a cast"
+ msgstr "%s entre diferentes tipos de punteros a miembro %qT y %qT carece de una conversión"
+
+-#: cp/typeck.c:1129
++#: cp/typeck.c:1166
+ #, gcc-internal-format
+ msgid "canonical types differ for identical types %T and %T"
+ msgstr "los tipos canónicos difieren para los tipos idénticos %T y %T"
+
+-#: cp/typeck.c:1136
++#: cp/typeck.c:1173
+ #, gcc-internal-format
+ msgid "same canonical type node for different types %T and %T"
+ msgstr "el mismo nodo de tipo canónico para los tipos diferentes %T y %T"
+
+-#: cp/typeck.c:1248
++#: cp/typeck.c:1285
+ #, gcc-internal-format
+ msgid "invalid application of %qs to a member function"
+ msgstr "aplicación inválida de %qs a una función miembro"
+
+-#: cp/typeck.c:1298
++#: cp/typeck.c:1335
+ #, gcc-internal-format
+ msgid "invalid application of %<sizeof%> to a bit-field"
+ msgstr "aplicación inválida de %<sizeof%> a un campo de bits"
+
+-#: cp/typeck.c:1303
++#: cp/typeck.c:1340
+ #, gcc-internal-format
+ msgid "ISO C++ forbids applying %<sizeof%> to an expression of function type"
+ msgstr "ISO C++ prohíbe la aplicación de %<sizeof%> a una expresión de tipo de función"
+
+-#: cp/typeck.c:1346
++#: cp/typeck.c:1383
+ #, gcc-internal-format
+ msgid "invalid application of %<__alignof%> to a bit-field"
+ msgstr "aplicación inválida de %<__alignof%> a un campo de bits"
+
+-#: cp/typeck.c:1354
++#: cp/typeck.c:1391
+ #, gcc-internal-format
+ msgid "ISO C++ forbids applying %<__alignof%> to an expression of function type"
+ msgstr "ISO C++ prohíbe la aplicación de %<__alignof%> a una expresión de tipo de función"
+
+-#: cp/typeck.c:1405
++#: cp/typeck.c:1442
+ #, gcc-internal-format
+ msgid "invalid use of non-static member function"
+ msgstr "uso inválido de una función miembro que no es static"
+
+-#: cp/typeck.c:1669
++#: cp/typeck.c:1715
+ #, gcc-internal-format
+ msgid "deprecated conversion from string constant to %qT"
+ msgstr "conversión obsoleta de una constante de cadena a %qT"
+
+-#: cp/typeck.c:1784 cp/typeck.c:2132
++#: cp/typeck.c:1830 cp/typeck.c:2178
+ #, gcc-internal-format
+ msgid "request for member %qD in %qE, which is of non-class type %qT"
+ msgstr "solicitud por el miembro %qD en %qE, el cual es del tipo %qT que no es clase"
+
+-#: cp/typeck.c:1811
++#: cp/typeck.c:1857
+ #, gcc-internal-format
+ msgid "invalid use of nonstatic data member %qE"
+ msgstr "uso inválido del dato miembro no static %qE"
+
+-#: cp/typeck.c:1863 cp/typeck.c:1891
++#: cp/typeck.c:1909 cp/typeck.c:1937
+ #, gcc-internal-format
+ msgid "invalid access to non-static data member %qD of NULL object"
+ msgstr "acceso inválido a datos del miembro que no es static %qD del objeto NULL"
+
+-#: cp/typeck.c:1866 cp/typeck.c:1893
++#: cp/typeck.c:1912 cp/typeck.c:1939
+ #, gcc-internal-format
+ msgid "(perhaps the %<offsetof%> macro was used incorrectly)"
+ msgstr "(tal vez se utilizó incorrectamente la macro %<offsetof%>)"
+
+-#: cp/typeck.c:2010
++#: cp/typeck.c:2056
+ #, gcc-internal-format
+ msgid "the type being destroyed is %qT, but the destructor refers to %qT"
+ msgstr "el tipo que se destruye es %qT, pero el destructor se refiere a %qT"
+
+-#: cp/typeck.c:2049 cp/typeck.c:2069
++#: cp/typeck.c:2095 cp/typeck.c:2115
+ #, gcc-internal-format
+ msgid "%qD is not a template"
+ msgstr "%qD no es una plantilla"
+
+-#: cp/typeck.c:2170
++#: cp/typeck.c:2216
+ #, gcc-internal-format
+ msgid "%<%D::%D%> is not a member of %qT"
+ msgstr "%<%D::%D%> no es un miembro de %qT"
+
+-#: cp/typeck.c:2185
++#: cp/typeck.c:2231
+ #, gcc-internal-format
+ msgid "%qT is not a base of %qT"
+ msgstr "%qT no es una base de %qT"
+
+-#: cp/typeck.c:2204
++#: cp/typeck.c:2250
+ #, gcc-internal-format
+ msgid "%qD has no member named %qE"
+ msgstr "%qD no tiene un miembro llamado %qE"
+
+-#: cp/typeck.c:2219
++#: cp/typeck.c:2265
+ #, gcc-internal-format
+ msgid "%qD is not a member template function"
+ msgstr "%qD no es una función plantilla miembro"
+
+ #. A pointer to incomplete type (other than cv void) can be
+ #. dereferenced [expr.unary.op]/1
+-#: cp/typeck.c:2352
++#: cp/typeck.c:2398
+ #, gcc-internal-format
+ msgid "%qT is not a pointer-to-object type"
+ msgstr "%qT no es de tipo puntero-a-objeto"
+
+-#: cp/typeck.c:2377
++#: cp/typeck.c:2423
+ #, gcc-internal-format
+ msgid "invalid use of %qs on pointer to member"
+ msgstr "uso inválido de %qs en puntero a miembro"
+
+-#: cp/typeck.c:2381
++#: cp/typeck.c:2427
+ #, gcc-internal-format
+ msgid "invalid type argument of %qs"
+ msgstr "argumento de tipo inválido de %qs"
+
+-#: cp/typeck.c:2383
++#: cp/typeck.c:2429
+ #, gcc-internal-format
+ msgid "invalid type argument"
+ msgstr "argumento de tipo inválido"
+
+-#: cp/typeck.c:2406
++#: cp/typeck.c:2452
+ #, gcc-internal-format
+ msgid "subscript missing in array reference"
+ msgstr "falta el subíndice en la referencia de la matriz"
+
+-#: cp/typeck.c:2480
++#: cp/typeck.c:2526
+ #, gcc-internal-format
+ msgid "ISO C++ forbids subscripting non-lvalue array"
+ msgstr "ISO C++ prohíbe el subíndice de una matriz que no sea l-valuada"
+
+-#: cp/typeck.c:2491
++#: cp/typeck.c:2537
+ #, gcc-internal-format
+ msgid "subscripting array declared %<register%>"
+ msgstr "se declaró el subíndice de la matriz como %<register%>"
+
+-#: cp/typeck.c:2576
++#: cp/typeck.c:2622
+ #, gcc-internal-format
+ msgid "object missing in use of %qE"
+ msgstr "falta un objeto en el uso de %qE"
+
+-#: cp/typeck.c:2693
++#: cp/typeck.c:2739
+ #, gcc-internal-format
+ msgid "ISO C++ forbids calling %<::main%> from within program"
+ msgstr "ISO C++ prohíbe la llamada %<::main%> dentro del mismo programa"
+
+-#: cp/typeck.c:2718
++#: cp/typeck.c:2764
+ #, gcc-internal-format
+ msgid "must use %<.*%> or %<->*%> to call pointer-to-member function in %<%E (...)%>"
+ msgstr "se debe usar %<.*%> o %<->*%> en la llamada a la función puntero-a-miembro en %<%E (...)%>"
+
+-#: cp/typeck.c:2732
++#: cp/typeck.c:2778
+ #, gcc-internal-format
+ msgid "%qE cannot be used as a function"
+ msgstr "no se puede usar %qE como una función"
+
+-#: cp/typeck.c:2822
++#: cp/typeck.c:2868
+ #, gcc-internal-format
+ msgid "too many arguments to %s %q+#D"
+ msgstr "demasiados argumentos para %s %q+#D"
+
+-#: cp/typeck.c:2823 cp/typeck.c:2927
++#: cp/typeck.c:2869 cp/typeck.c:2973
+ #, gcc-internal-format
+ msgid "at this point in file"
+ msgstr "en este punto en el fichero"
+
+-#: cp/typeck.c:2826
++#: cp/typeck.c:2872
+ #, gcc-internal-format
+ msgid "too many arguments to function"
+ msgstr "demasiados argumentos para la función"
+
+-#: cp/typeck.c:2856
++#: cp/typeck.c:2902
+ #, gcc-internal-format
+ msgid "parameter %P of %qD has incomplete type %qT"
+ msgstr "el parámetro %P de %qD tiene el tipo incompleto %qT"
+
+-#: cp/typeck.c:2859
++#: cp/typeck.c:2905
+ #, gcc-internal-format
+ msgid "parameter %P has incomplete type %qT"
+ msgstr "el parámetro %P tiene el tipo incompleto %qT"
+
+-#: cp/typeck.c:2926
++#: cp/typeck.c:2972
+ #, gcc-internal-format
+ msgid "too few arguments to %s %q+#D"
+ msgstr "faltan argumentos para %s %q+#D"
+
+-#: cp/typeck.c:2930
++#: cp/typeck.c:2976
+ #, gcc-internal-format
+ msgid "too few arguments to function"
+ msgstr "faltan argumentos para la función"
+
+-#: cp/typeck.c:3098 cp/typeck.c:3108
++#: cp/typeck.c:3140 cp/typeck.c:3150
+ #, gcc-internal-format
+ msgid "assuming cast to type %qT from overloaded function"
+ msgstr "asumiendo la conversión al tipo %qT desde la función sobrecargada"
+
+-#: cp/typeck.c:3306
++#: cp/typeck.c:3346
+ #, gcc-internal-format
+ msgid "left rotate count is negative"
+ msgstr "la cuenta de rotación izquierda es negativa"
+
+-#: cp/typeck.c:3307
++#: cp/typeck.c:3347
+ #, gcc-internal-format
+ msgid "right rotate count is negative"
+ msgstr "la cuenta de rotación derecha es negativa"
+
+-#: cp/typeck.c:3310
++#: cp/typeck.c:3350
+ #, gcc-internal-format
+ msgid "left rotate count >= width of type"
+ msgstr "la cuenta de rotación izquierda >= anchura del tipo"
+
+-#: cp/typeck.c:3311
++#: cp/typeck.c:3351
+ #, gcc-internal-format
+ msgid "right rotate count >= width of type"
+ msgstr "la cuenta de rotación derecha >= anchura del tipo"
+
+-#: cp/typeck.c:3327 cp/typeck.c:3502
++#: cp/typeck.c:3367 cp/typeck.c:3549
+ #, gcc-internal-format
+ msgid "comparison with string literal results in unspecified behaviour"
+ msgstr "la comparación con una literal de cadena resulta en una conducta no especificada"
+
+-#: cp/typeck.c:3360 cp/typeck.c:3365 cp/typeck.c:3520 cp/typeck.c:3525
++#: cp/typeck.c:3400 cp/typeck.c:3405 cp/typeck.c:3567 cp/typeck.c:3572
+ #, gcc-internal-format
+ msgid "ISO C++ forbids comparison between pointer and integer"
+ msgstr "ISO C++ prohíbe la comparación entre puntero y entero"
+
+-#: cp/typeck.c:3539
++#: cp/typeck.c:3586
+ #, gcc-internal-format
+ msgid "unordered comparison on non-floating point argument"
+ msgstr "comparación sin orden en el argumento de coma no flotante"
+
+-#: cp/typeck.c:3577
++#: cp/typeck.c:3624
+ #, gcc-internal-format
+ msgid "invalid operands of types %qT and %qT to binary %qO"
+ msgstr "operadores inválidos de tipos %qT y %qT para el binario %qO"
+
+-#: cp/typeck.c:3749
++#: cp/typeck.c:3757
+ #, gcc-internal-format
+ msgid "comparison between types %q#T and %q#T"
+ msgstr "comparación entre los tipos %q#T y %q#T"
+
+-#: cp/typeck.c:3786
++#: cp/typeck.c:3794
+ #, gcc-internal-format
+ msgid "comparison between signed and unsigned integer expressions"
+ msgstr "comparación entre expresiones enteras signed y unsigned"
+@@ -32016,154 +32049,154 @@
+ #. performed. Note that pointer-difference and pointer-addition
+ #. have already been handled above, and so we don't end up here in
+ #. that case.
+-#: cp/typeck.c:3858
++#: cp/typeck.c:3866
+ #, gcc-internal-format
+ msgid "NULL used in arithmetic"
+ msgstr "se usó NULL en la aritmética"
+
+-#: cp/typeck.c:3927
++#: cp/typeck.c:3935
+ #, gcc-internal-format
+ msgid "ISO C++ forbids using pointer of type %<void *%> in subtraction"
+ msgstr "ISO C++ prohíbe el uso de un puntero de tipo %<void *%> en la sustracción"
+
+-#: cp/typeck.c:3929
++#: cp/typeck.c:3937
+ #, gcc-internal-format
+ msgid "ISO C++ forbids using pointer to a function in subtraction"
+ msgstr "ISO C++ prohíbe el uso de un puntero a una función en la sustracción"
+
+-#: cp/typeck.c:3931
++#: cp/typeck.c:3939
+ #, gcc-internal-format
+ msgid "ISO C++ forbids using pointer to a method in subtraction"
+ msgstr "ISO C++ prohíbe el uso de un puntero a un método en la sustracción"
+
+-#: cp/typeck.c:3943
++#: cp/typeck.c:3951
+ #, gcc-internal-format
+ msgid "invalid use of a pointer to an incomplete type in pointer arithmetic"
+ msgstr "uso inválido de un puntero a un tipo incompleto en aritmética de punteros"
+
+-#: cp/typeck.c:4003
++#: cp/typeck.c:4011
+ #, gcc-internal-format
+ msgid "invalid use of %qE to form a pointer-to-member-function"
+ msgstr "uso inválido de %qE para formar una función puntero a miembro"
+
+-#: cp/typeck.c:4006
++#: cp/typeck.c:4014
+ #, gcc-internal-format
+ msgid " a qualified-id is required"
+ msgstr " se requiere un id calificado"
+
+-#: cp/typeck.c:4011
++#: cp/typeck.c:4019
+ #, gcc-internal-format
+ msgid "parentheses around %qE cannot be used to form a pointer-to-member-function"
+ msgstr "no se pueden usar paréntesis alrededor de %qE para formar una función-puntero-a-miembro"
+
+-#: cp/typeck.c:4034
++#: cp/typeck.c:4042
+ #, gcc-internal-format
+ msgid "taking address of temporary"
+ msgstr "se toma la dirección del temporal"
+
+-#: cp/typeck.c:4287
++#: cp/typeck.c:4295
+ #, gcc-internal-format
+ msgid "ISO C++ forbids incrementing an enum"
+ msgstr "ISO C++ prohíbe incrementar un enum"
+
+-#: cp/typeck.c:4288
++#: cp/typeck.c:4296
+ #, gcc-internal-format
+ msgid "ISO C++ forbids decrementing an enum"
+ msgstr "ISO C++ prohíbe decrementar un enum"
+
+-#: cp/typeck.c:4299
++#: cp/typeck.c:4307
+ #, gcc-internal-format
+ msgid "cannot increment a pointer to incomplete type %qT"
+ msgstr "no se puede incrementar un puntero a un tipo incompleto %qT"
+
+-#: cp/typeck.c:4300
++#: cp/typeck.c:4308
+ #, gcc-internal-format
+ msgid "cannot decrement a pointer to incomplete type %qT"
+ msgstr "no se puede decrementar un puntero a un tipo incompleto %qT"
+
+-#: cp/typeck.c:4306
++#: cp/typeck.c:4314
+ #, gcc-internal-format
+ msgid "ISO C++ forbids incrementing a pointer of type %qT"
+ msgstr "ISO C++ prohíbe incrementar un puntero de tipo %qT"
+
+-#: cp/typeck.c:4307
++#: cp/typeck.c:4315
+ #, gcc-internal-format
+ msgid "ISO C++ forbids decrementing a pointer of type %qT"
+ msgstr "ISO C++ prohíbe decrementar un puntero de tipo %qT"
+
+-#: cp/typeck.c:4327
++#: cp/typeck.c:4335
+ #, gcc-internal-format
+ msgid "invalid use of Boolean expression as operand to %<operator--%>"
+ msgstr "uso inválido de una expresión Booleana como operando para %<operator--%>"
+
+ #. ARM $3.4
+-#: cp/typeck.c:4357
++#: cp/typeck.c:4365
+ #, gcc-internal-format
+ msgid "ISO C++ forbids taking address of function %<::main%>"
+ msgstr "ISO C++ prohíbe tomar la dirección de la función %<::main%>"
+
+ #. An expression like &memfn.
+-#: cp/typeck.c:4413
++#: cp/typeck.c:4421
+ #, gcc-internal-format
+ msgid "ISO C++ forbids taking the address of an unqualified or parenthesized non-static member function to form a pointer to member function. Say %<&%T::%D%>"
+ msgstr "ISO C++ prohíbe tomar la dirección de una función miembro no estática sin calificar o entre paréntesis para formar un puntero a la función miembro. Como %<&%T::%D%>"
+
+-#: cp/typeck.c:4418
++#: cp/typeck.c:4426
+ #, gcc-internal-format
+ msgid "ISO C++ forbids taking the address of a bound member function to form a pointer to member function. Say %<&%T::%D%>"
+ msgstr "ISO C++ prohíbe tomar la dirección de una función miembro limitada para formar un puntero a la función miembro. Como %<&%T::%D%>"
+
+-#: cp/typeck.c:4443
++#: cp/typeck.c:4451
+ #, gcc-internal-format
+ msgid "ISO C++ forbids taking the address of a cast to a non-lvalue expression"
+ msgstr "ISO C++ prohíbe tomar la dirección de una conversión a una expresión no l-valuada"
+
+-#: cp/typeck.c:4467
++#: cp/typeck.c:4475
+ #, gcc-internal-format
+ msgid "cannot create pointer to reference member %qD"
+ msgstr "no se puede crear un puntero al miembro referencia %qD"
+
+-#: cp/typeck.c:4678
++#: cp/typeck.c:4686
+ #, gcc-internal-format
+ msgid "cannot take the address of %<this%>, which is an rvalue expression"
+ msgstr "no se puede tomar la dirección de %<this%> que es una expresión r-valuada"
+
+-#: cp/typeck.c:4701
++#: cp/typeck.c:4709
+ #, gcc-internal-format
+ msgid "address of explicit register variable %qD requested"
+ msgstr "se solicitó la dirección de la variable register explícita %qD"
+
+-#: cp/typeck.c:4706
++#: cp/typeck.c:4714
+ #, gcc-internal-format
+ msgid "address requested for %qD, which is declared %<register%>"
+ msgstr "se solicitó la dirección de %qD, la cual se declaró como %<register%>"
+
+-#: cp/typeck.c:4772
++#: cp/typeck.c:4780
+ #, gcc-internal-format
+ msgid "%s expression list treated as compound expression"
+ msgstr "se trata la lista de expresiones %s como una expresión compuesta"
+
+-#: cp/typeck.c:5175
++#: cp/typeck.c:5183
+ #, gcc-internal-format
+ msgid "invalid static_cast from type %qT to type %qT"
+ msgstr "static_cast inválido del tipo %qT al tipo %qT"
+
+-#: cp/typeck.c:5197
++#: cp/typeck.c:5205
+ #, gcc-internal-format
+ msgid "converting from %qT to %qT"
+ msgstr "convirtiendo de %qT a %qT"
+
+-#: cp/typeck.c:5245
++#: cp/typeck.c:5253
+ #, gcc-internal-format
+ msgid "invalid cast of an rvalue expression of type %qT to type %qT"
+ msgstr "conversión inválida de una expresión r-valuada de tipo %qT al tipo %qT"
+
+-#: cp/typeck.c:5304
++#: cp/typeck.c:5312
+ #, gcc-internal-format
+ msgid "cast from %qT to %qT loses precision"
+ msgstr "la conversión de %qT a %qT pierde precisión"
+
+-#: cp/typeck.c:5331
++#: cp/typeck.c:5339
+ #, gcc-internal-format
+ msgid "cast from %qT to %qT increases required alignment of target type"
+ msgstr "la conversión de %qT a %qT incrementa la alineación requerida del tipo del destino"
+@@ -32172,155 +32205,155 @@
+ #. where possible, and it is necessary in some cases. DR 195
+ #. addresses this issue, but as of 2004/10/26 is still in
+ #. drafting.
+-#: cp/typeck.c:5351
++#: cp/typeck.c:5359
+ #, gcc-internal-format
+ msgid "ISO C++ forbids casting between pointer-to-function and pointer-to-object"
+ msgstr "ISO C++ prohíbe la conversión entre puntero a función y puntero a objeto"
+
+-#: cp/typeck.c:5362
++#: cp/typeck.c:5370
+ #, gcc-internal-format
+ msgid "invalid cast from type %qT to type %qT"
+ msgstr "conversión inválida del tipo %qT al tipo %qT"
+
+-#: cp/typeck.c:5418
++#: cp/typeck.c:5426
+ #, gcc-internal-format
+ msgid "invalid use of const_cast with type %qT, which is not a pointer, reference, nor a pointer-to-data-member type"
+ msgstr "uso inválido de const_cast con tipo %qT, que no es puntero, referencia, ni un tipo puntero-a-datos-miembro"
+
+-#: cp/typeck.c:5427
++#: cp/typeck.c:5435
+ #, gcc-internal-format
+ msgid "invalid use of const_cast with type %qT, which is a pointer or reference to a function type"
+ msgstr "uso inválido de const_cast con tipo %qT, el cual es un puntero o referencia a un tipo de función"
+
+-#: cp/typeck.c:5452
++#: cp/typeck.c:5460
+ #, gcc-internal-format
+ msgid "invalid const_cast of an rvalue of type %qT to type %qT"
+ msgstr "const_cast inválido de un valor-r de tipo %qT al tipo %qT"
+
+-#: cp/typeck.c:5503
++#: cp/typeck.c:5511
+ #, gcc-internal-format
+ msgid "invalid const_cast from type %qT to type %qT"
+ msgstr "const_cast inválido del tipo %qT al tipo %qT"
+
+-#: cp/typeck.c:5571 cp/typeck.c:5576
++#: cp/typeck.c:5579 cp/typeck.c:5584
+ #, gcc-internal-format
+ msgid "ISO C++ forbids casting to an array type %qT"
+ msgstr "ISO C++ prohíbe la conversión a un tipo de matriz %qT"
+
+-#: cp/typeck.c:5584
++#: cp/typeck.c:5592
+ #, gcc-internal-format
+ msgid "invalid cast to function type %qT"
+ msgstr "conversión inválida al tipo de función %qT"
+
+-#: cp/typeck.c:5804
++#: cp/typeck.c:5812
+ #, gcc-internal-format
+ msgid " in evaluation of %<%Q(%#T, %#T)%>"
+ msgstr " en la evaluación de %<%Q(%#T, %#T)%>"
+
+-#: cp/typeck.c:5873
++#: cp/typeck.c:5881
+ #, gcc-internal-format
+ msgid "incompatible types in assignment of %qT to %qT"
+ msgstr "tipos incompatible en la asignación de %qT a %qT"
+
+-#: cp/typeck.c:5884
++#: cp/typeck.c:5892
+ #, gcc-internal-format
+ msgid "array used as initializer"
+ msgstr "se usó una matriz como inicializador"
+
+-#: cp/typeck.c:5886
++#: cp/typeck.c:5894
+ #, gcc-internal-format
+ msgid "invalid array assignment"
+ msgstr "asignación de matriz inválida"
+
+-#: cp/typeck.c:5998
++#: cp/typeck.c:6006
+ #, gcc-internal-format
+ msgid " in pointer to member function conversion"
+ msgstr " en la conversión del puntero a función miembro"
+
+-#: cp/typeck.c:6009
++#: cp/typeck.c:6017
+ #, gcc-internal-format
+ msgid "pointer to member conversion via virtual base %qT"
+ msgstr "puntero a la conversión miembro a través de la base virtual %qT"
+
+-#: cp/typeck.c:6049 cp/typeck.c:6061
++#: cp/typeck.c:6057 cp/typeck.c:6069
+ #, gcc-internal-format
+ msgid " in pointer to member conversion"
+ msgstr " en la conversión del puntero a miembro"
+
+-#: cp/typeck.c:6140
++#: cp/typeck.c:6148
+ #, gcc-internal-format
+ msgid "invalid conversion to type %qT from type %qT"
+ msgstr "conversión inválida del tipo %qT a partir del tipo %qT"
+
+-#: cp/typeck.c:6384
++#: cp/typeck.c:6411
+ #, gcc-internal-format
+ msgid "cannot convert %qT to %qT for argument %qP to %qD"
+ msgstr "no se puede convertir %qT a %qT para el argumento %qP para %qD"
+
+-#: cp/typeck.c:6387
++#: cp/typeck.c:6414
+ #, gcc-internal-format
+ msgid "cannot convert %qT to %qT in %s"
+ msgstr "no se puede convertir %qT a %qT en %s"
+
+-#: cp/typeck.c:6398
++#: cp/typeck.c:6425
+ #, gcc-internal-format
+ msgid "%s might be a candidate for a format attribute"
+ msgstr "%s puede ser un candidato para un atributo de formato"
+
+-#: cp/typeck.c:6485 cp/typeck.c:6487
++#: cp/typeck.c:6512 cp/typeck.c:6514
+ #, gcc-internal-format
+ msgid "in passing argument %P of %q+D"
+ msgstr "al pasar el argumento %P de %q+D"
+
+-#: cp/typeck.c:6537
++#: cp/typeck.c:6564
+ #, gcc-internal-format
+ msgid "returning reference to temporary"
+ msgstr "se devuelve la referencia al temporal"
+
+-#: cp/typeck.c:6544
++#: cp/typeck.c:6571
+ #, gcc-internal-format
+ msgid "reference to non-lvalue returned"
+ msgstr "se devolvió una referencia a un valor que no es l-valor"
+
+-#: cp/typeck.c:6560
++#: cp/typeck.c:6587
+ #, gcc-internal-format
+ msgid "reference to local variable %q+D returned"
+ msgstr "se devolvió una referencia a la variable local %q+D"
+
+-#: cp/typeck.c:6563
++#: cp/typeck.c:6590
+ #, gcc-internal-format
+ msgid "address of local variable %q+D returned"
+ msgstr "se devolvió la dirección de la variable local %q+D"
+
+-#: cp/typeck.c:6598
++#: cp/typeck.c:6625
+ #, gcc-internal-format
+ msgid "returning a value from a destructor"
+ msgstr "se devuelve un valor de un destructor"
+
+ #. If a return statement appears in a handler of the
+ #. function-try-block of a constructor, the program is ill-formed.
+-#: cp/typeck.c:6606
++#: cp/typeck.c:6633
+ #, gcc-internal-format
+ msgid "cannot return from a handler of a function-try-block of a constructor"
+ msgstr "no se puede regresar de un manejador de una función-intenta-bloque de un constructor"
+
+ #. You can't return a value from a constructor.
+-#: cp/typeck.c:6609
++#: cp/typeck.c:6636
+ #, gcc-internal-format
+ msgid "returning a value from a constructor"
+ msgstr "se devuelve un valor de un constructor"
+
+-#: cp/typeck.c:6633
++#: cp/typeck.c:6661
+ #, gcc-internal-format
+ msgid "return-statement with no value, in function returning %qT"
+ msgstr "declaración return sin valores, en una función que devuelve %qT"
+
+-#: cp/typeck.c:6654
++#: cp/typeck.c:6682
+ #, gcc-internal-format
+ msgid "return-statement with a value, in function returning 'void'"
+ msgstr "declaración return con un valor, en una función que devuelve 'void'"
+
+-#: cp/typeck.c:6685
++#: cp/typeck.c:6713
+ #, gcc-internal-format
+ msgid "%<operator new%> must not return NULL unless it is declared %<throw()%> (or -fcheck-new is in effect)"
+ msgstr "%<operator new%> no debe regresar NULL a menos que se declare %<throw()%> (o -fcheck-new esté en efecto)"
+@@ -32506,57 +32539,57 @@
+ 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.c:1495
++#: cp/typeck2.c:1508
+ #, 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.c:1498
++#: cp/typeck2.c:1511
+ #, 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"
+
+-#: fortran/f95-lang.c:233
++#: fortran/f95-lang.c:235
+ #, gcc-internal-format
+ msgid "Unexpected type in truthvalue_conversion"
+ msgstr "Tipo inesperado en truthvalue_conversion"
+
+-#: fortran/f95-lang.c:289
++#: fortran/f95-lang.c:291
+ #, gcc-internal-format
+ msgid "can't open input file: %s"
+ msgstr "no se puede abrir el fichero de entrada: %s"
+
+-#: fortran/f95-lang.c:629
++#: fortran/f95-lang.c:631
+ #, gcc-internal-format
+ msgid "global register variable %qs used in nested function"
+ msgstr "se usó la variable de registro global %qs en la función anidada"
+
+-#: fortran/f95-lang.c:633
++#: fortran/f95-lang.c:635
+ #, gcc-internal-format
+ msgid "register variable %qs used in nested function"
+ msgstr "se usó la variable de registro %qs en la función anidada"
+
+-#: fortran/f95-lang.c:640
++#: fortran/f95-lang.c:642
+ #, gcc-internal-format
+ msgid "address of global register variable %qs requested"
+ msgstr "se solicitó la dirección de la variable de registro global %qs"
+
+-#: fortran/f95-lang.c:658
++#: fortran/f95-lang.c:660
+ #, gcc-internal-format
+ msgid "address of register variable %qs requested"
+ msgstr "se solicitó la dirección de la variable de registro %qs"
+
+-#: fortran/trans-array.c:3765
++#: fortran/trans-array.c:3805
+ #, gcc-internal-format
+ msgid "Possible frontend bug: array constructor not expanded"
+ msgstr "Posible bicho del frente: no se expandió el constructor de la matriz"
+
+-#: fortran/trans-array.c:5418
++#: fortran/trans-array.c:5499
+ #, gcc-internal-format
+ msgid "Possible frontend bug: Deferred array size without pointer, allocatable attribute or derived type without allocatable components."
+ msgstr "Posible bicho del frente: Tamaño de matriz diferido sin atributo pointer, allocatable o tipo derivado sin componentes allocatable."
+
+-#: fortran/trans-array.c:5894
++#: fortran/trans-array.c:5975
+ #, gcc-internal-format
+ msgid "bad expression type during walk (%d)"
+ msgstr "tipo de expresión errónea durante la caminata (%d)"
+@@ -32566,27 +32599,27 @@
+ msgid "gfc_conv_constant_to_tree(): invalid type: %s"
+ msgstr "gfc_conv_constant_to_tree(): tipo inválido: %s"
+
+-#: fortran/trans-decl.c:966
++#: fortran/trans-decl.c:972
+ #, gcc-internal-format
+ msgid "intrinsic variable which isn't a procedure"
+ msgstr "variable intrínseca que no es un procedimiento"
+
+-#: fortran/trans-decl.c:2639
++#: fortran/trans-decl.c:2644
+ #, gcc-internal-format
+ msgid "Function does not return a value"
+ msgstr "La función no devuelve un valor"
+
+-#: fortran/trans-decl.c:2817
++#: fortran/trans-decl.c:2832
+ #, gcc-internal-format
+ msgid "backend decl for module variable %s already exists"
+ msgstr "ya existe la declaración del extremo trasero para la variable de módulo %s"
+
+-#: fortran/trans-decl.c:3351
++#: fortran/trans-decl.c:3314
+ #, gcc-internal-format
+ msgid "Function return value not set"
+ msgstr "La función devuelve un valor no establecido"
+
+-#: fortran/trans-expr.c:1163
++#: fortran/trans-expr.c:1177
+ #, gcc-internal-format
+ msgid "Unknown intrinsic op"
+ msgstr "Operador intrínseco desconocido"
+@@ -32596,32 +32629,32 @@
+ msgid "Intrinsic function %s(%d) not recognized"
+ msgstr "No se reconoce la función intrínseca %s(%d)"
+
+-#: fortran/trans-io.c:1928
++#: fortran/trans-io.c:1929
+ #, gcc-internal-format
+ msgid "Bad IO basetype (%d)"
+ msgstr "Tipo base ES erróneo (%d)"
+
+-#: fortran/trans-types.c:386
++#: fortran/trans-types.c:387
+ #, gcc-internal-format
+ msgid "integer kind=8 not available for -fdefault-integer-8 option"
+ msgstr "El entero kind=8 no está disponible para la opción -fdefault-integer-8"
+
+-#: fortran/trans-types.c:409
++#: fortran/trans-types.c:410
+ #, gcc-internal-format
+ msgid "real kind=8 not available for -fdefault-real-8 option"
+ msgstr "El real kind=8 no está disponible para la opción -fdefault-real-8"
+
+-#: fortran/trans-types.c:422
++#: fortran/trans-types.c:423
+ #, gcc-internal-format
+ msgid "Use of -fdefault-double-8 requires -fdefault-real-8"
+ msgstr "El uso de -fdefault-double-8 require de -fdefault-real-8"
+
+-#: fortran/trans-types.c:1181
++#: fortran/trans-types.c:1185
+ #, gcc-internal-format
+ msgid "Array element size too big"
+ msgstr "El tamaño del elemento de la matriz es demasiado grande"
+
+-#: fortran/trans.c:1150
++#: fortran/trans.c:1151
+ #, gcc-internal-format
+ msgid "gfc_trans_code(): Bad statement code"
+ msgstr "gfc_trans_code(): Código de declaración erróneo"
+@@ -32681,88 +32714,88 @@
+ msgid "need to insert runtime check for %s"
+ msgstr "se necesita insertar revisión en tiempo de ejecución para %s"
+
+-#: java/expr.c:505 java/expr.c:552
++#: java/expr.c:524 java/expr.c:571
+ #, gcc-internal-format
+ msgid "assert: %s is assign compatible with %s"
+ msgstr "assert: %s es compatible para asignación con %s"
+
+-#: java/expr.c:670
++#: java/expr.c:689
+ #, gcc-internal-format
+ msgid "stack underflow - dup* operation"
+ msgstr "desbordamiento por debajo de la pila - operación dup*"
+
+-#: java/expr.c:1657
++#: java/expr.c:1676
+ #, gcc-internal-format
+ msgid "reference %qs is ambiguous: appears in interface %qs and interface %qs"
+ msgstr "la referencia %qs es ambigua: aparece en la interfaz %qs y en la interfaz %qs"
+
+-#: java/expr.c:1685
++#: java/expr.c:1704
+ #, gcc-internal-format
+ msgid "field %qs not found"
+ msgstr "no se encontró el campo %qs"
+
+-#: java/expr.c:2224
++#: java/expr.c:2243
+ #, gcc-internal-format
+ msgid "method '%s' not found in class"
+ msgstr "no se encontró el método '%s' en la clase"
+
+-#: java/expr.c:2429
++#: java/expr.c:2448
+ #, gcc-internal-format
+ msgid "failed to find class '%s'"
+ msgstr "no se puede encontrar la clase '%s'"
+
+-#: java/expr.c:2470
++#: java/expr.c:2489
+ #, gcc-internal-format
+ msgid "class '%s' has no method named '%s' matching signature '%s'"
+ msgstr "la clase '%s' no tiene un método llamado '%s' que coincida con la firma '%s'"
+
+-#: java/expr.c:2501
++#: java/expr.c:2520
+ #, gcc-internal-format
+ msgid "invokestatic on non static method"
+ msgstr "invokestatic en un método no estático"
+
+-#: java/expr.c:2506
++#: java/expr.c:2525
+ #, gcc-internal-format
+ msgid "invokestatic on abstract method"
+ msgstr "invokestatic en un método abstracto"
+
+-#: java/expr.c:2514
++#: java/expr.c:2533
+ #, gcc-internal-format
+ msgid "invoke[non-static] on static method"
+ msgstr "invoke[no-estático] en un método estático"
+
+-#: java/expr.c:2865
++#: java/expr.c:2890
+ #, gcc-internal-format
+ msgid "missing field '%s' in '%s'"
+ msgstr "falta el campo '%s' en '%s'"
+
+-#: java/expr.c:2872
++#: java/expr.c:2897
+ #, gcc-internal-format
+ msgid "mismatching signature for field '%s' in '%s'"
+ msgstr "no coincide la firma para el campo '%s' en '%s'"
+
+-#: java/expr.c:2901
++#: java/expr.c:2926
+ #, gcc-internal-format
+ msgid "assignment to final field %q+D not in field's class"
+ msgstr "la asignación para el campo final %q+D no está en el campo de la clase"
+
+-#: java/expr.c:3123
++#: java/expr.c:3148
+ #, gcc-internal-format
+ msgid "invalid PC in line number table"
+ msgstr "PC inválido en la tabla de números de línea"
+
+-#: java/expr.c:3173
++#: java/expr.c:3198
+ #, gcc-internal-format
+ msgid "unreachable bytecode from %d to before %d"
+ msgstr "bytecode inalcanzable desde %d hasta antes de %d"
+
+-#: java/expr.c:3217
++#: java/expr.c:3242
+ #, gcc-internal-format
+ msgid "unreachable bytecode from %d to the end of the method"
+ msgstr "bytecode inalcanzable desde %d hasta el final del método"
+
+ #. duplicate code from LOAD macro
+-#: java/expr.c:3522
++#: java/expr.c:3547
+ #, gcc-internal-format
+ msgid "unrecogized wide sub-instruction"
+ msgstr "no se reconoce la sub-instrucción ancha"
+@@ -32828,27 +32861,27 @@
+ msgid "%Hduplicate class will only be compiled once"
+ msgstr "%Hla clase duplicadas sólo se compilará una vez"
+
+-#: java/jcf-parse.c:1636
++#: java/jcf-parse.c:1638
+ #, gcc-internal-format
+ msgid "missing Code attribute"
+ msgstr "falta el atributo Code"
+
+-#: java/jcf-parse.c:1858
++#: java/jcf-parse.c:1860
+ #, gcc-internal-format
+ msgid "no input file specified"
+ msgstr "no se especificaron ficheros de entrada"
+
+-#: java/jcf-parse.c:1893
++#: java/jcf-parse.c:1895
+ #, gcc-internal-format
+ msgid "can't close input file %s: %m"
+ msgstr "no se puede cerrar el fichero de entrada %s: %m"
+
+-#: java/jcf-parse.c:1940
++#: java/jcf-parse.c:1942
+ #, gcc-internal-format
+ msgid "bad zip/jar file %s"
+ msgstr "fichero zip/jar %s erróneo"
+
+-#: java/jcf-parse.c:2145
++#: java/jcf-parse.c:2152
+ #, gcc-internal-format
+ msgid "error while reading %s from zip file"
+ msgstr "error al leer %s desde el fichero zip"
+@@ -32858,22 +32891,22 @@
+ msgid "warning: already-compiled .class files ignored with -C"
+ msgstr "aviso: se descartaron los ficheros .class que ya fueron compilados con -C"
+
+-#: java/lang.c:590
++#: java/lang.c:594
+ #, gcc-internal-format
+ msgid "-findirect-dispatch is incompatible with -freduced-reflection"
+ msgstr "-findirect-dispatch es incompatible con -freduced-reflection"
+
+-#: java/lang.c:593
++#: java/lang.c:597
+ #, gcc-internal-format
+ msgid "-fjni is incompatible with -freduced-reflection"
+ msgstr "-fjni es incompatible con el -freduced-reflection"
+
+-#: java/lang.c:604
++#: java/lang.c:608
+ #, gcc-internal-format
+ msgid "can't do dependency tracking with input from stdin"
+ msgstr "no se puede hacer la revisión de dependencias con entrada desde entrada estándar"
+
+-#: java/lang.c:620
++#: java/lang.c:624
+ #, gcc-internal-format
+ msgid "couldn't determine target name for dependency tracking"
+ msgstr "no se puede determinar el nombre del objetivo para la revisión de dependencias"
+@@ -33332,6 +33365,219 @@
+ msgid "%qD attribute ignored"
+ msgstr "se descarta el atributo %qD"
+
++#~ msgid "using CONST_DOUBLE for address"
++#~ msgstr "usando CONST_DOUBLE para las direcciones"
++
++#~ msgid "c4x_address_cost: Invalid addressing mode"
++#~ msgstr "c4x_address_cost: Modo de direccionamiento inválido"
++
++#~ msgid "c4x_print_operand: %%L inconsistency"
++#~ msgstr "c4x_print_operand: Inconsistencia %%L"
++
++#~ msgid "c4x_print_operand: %%N inconsistency"
++#~ msgstr "c4x_print_operand: Inconsistencia %%N"
++
++#~ msgid "c4x_print_operand: %%O inconsistency"
++#~ msgstr "c4x_print_operand: Inconsistencia %%O"
++
++#~ msgid "c4x_print_operand: Bad operand case"
++#~ msgstr "c4x_print_operand: Caso de operando erróneo"
++
++#~ msgid "c4x_print_operand_address: Bad post_modify"
++#~ msgstr "c4x_print_operand_address: post_modify erróneo"
++
++#~ msgid "c4x_print_operand_address: Bad pre_modify"
++#~ msgstr "c4x_print_operand_address: pre_modify erróneo"
++
++#~ msgid "c4x_print_operand_address: Bad operand case"
++#~ msgstr "c4x_print_operand_address: Caso de operando erróneo"
++
++#~ msgid "c4x_rptb_insert: Cannot find start label"
++#~ msgstr "c4x_rptb_insert: No se puede encontrar la etiqueta de inicio"
++
++#~ msgid "invalid indirect memory address"
++#~ msgstr "dirección indirecta de memoria inválida"
++
++#~ msgid "invalid indirect (S) memory address"
++#~ msgstr "dirección (S) indirecta de memoria inválida"
++
++#~ msgid "c4x_valid_operands: Internal error"
++#~ msgstr "c4x_valid_operands: Error interno"
++
++#~ msgid "c4x_operand_subword: invalid mode"
++#~ msgstr "c4x_operand_subword: modo inválido"
++
++#~ msgid "c4x_operand_subword: invalid operand"
++#~ msgstr "c4x_operand_subword: operando inválido"
++
++#~ msgid "c4x_operand_subword: invalid autoincrement"
++#~ msgstr "c4x_operand_subword: autoincremento inválido"
++
++#~ msgid "c4x_operand_subword: invalid address"
++#~ msgstr "c4x_operand_subword: dirección inválida"
++
++#~ msgid "c4x_operand_subword: address not offsettable"
++#~ msgstr "c4x_operand_subword: dirección no desplazable"
++
++#~ msgid "c4x_rptb_rpts_p: Repeat block top label moved"
++#~ msgstr "c4x_rptb_rpts_p: Se movió la etiqueta principal del bloque de repetición"
++
++#~ msgid "Missing DIM parameter in intrinsic '%s' at %L"
++#~ msgstr "Falta el parámetro DIM en el intrínseco '%s' en %L"
++
++#~ msgid "Fortran 2003: Support for intrinsic procedure '%s' in PROCEDURE statement at %C not yet implemented in gfortran"
++#~ msgstr "Fortran 2003: El procedimiento intrínseco '%s' en la declaración PROCEDURE en %C aún no se admite en gfortran"
++
++#~ msgid "Inquiry function '%s' at %L is not permitted in an initialization expression"
++#~ msgstr "No se permite la función de inquisición '%s' en %L en una expresión de inicialización"
++
++#~ msgid "STAT variable '%s' of DEALLOCATE statement at %C cannot be INTENT(IN)"
++#~ msgstr "La variable STAT '%s' de la declaración DEALLOCATE en %C no puede ser INTENT(IN)"
++
++#~ msgid "Illegal STAT variable in DEALLOCATE statement at %C for a PURE procedure"
++#~ msgstr "Variable STAT ilegal en la declaración DEALLOCATE en %C para un procedimiento PURE"
++
++#~ msgid "BLOCK DATA unit cannot contain blank COMMON at %C"
++#~ msgstr "La unidad BLOCK DATA no puede contener COMMON en blanco en %C"
++
++#~ msgid "Previously initialized symbol '%s' in blank COMMON block at %C"
++#~ msgstr "El símbolo '%s' fue previamente inicializado en un bloque COMMON en blanco en %C"
++
++#~ msgid "Previously initialized symbol '%s' in COMMON block '%s' at %C"
++#~ msgstr "El símbolo '%s' fue previamente inicializado en un bloque COMMON '%s' en %C"
++
++#~ msgid "Expected VARIABLE at %C"
++#~ msgstr "Se esperaba una VARIABLE en %C"
++
++#~ msgid "STAT tag in DEALLOCATE statement at %L must be of type INTEGER"
++#~ msgstr "La etiqueta STAT en la declaración DEALLOCATE en %L debe ser de tipo INTEGER"
++
++#~ msgid "Generate code for C30 CPU"
++#~ msgstr "Genera código para el CPU C30"
++
++#~ msgid "Generate code for C31 CPU"
++#~ msgstr "Genera código para el CPU C31"
++
++#~ msgid "Generate code for C32 CPU"
++#~ msgstr "Genera código para el CPU C32"
++
++#~ msgid "Generate code for C33 CPU"
++#~ msgstr "Genera código para el CPU C33"
++
++#~ msgid "Generate code for C40 CPU"
++#~ msgstr "Genera código para el CPU C40"
++
++#~ msgid "Generate code for C44 CPU"
++#~ msgstr "Genera código para el CPU C44"
++
++#~ msgid "Assume that pointers may be aliased"
++#~ msgstr "Asume que se pueden hacer alias de los punteros"
++
++#~ msgid "Big memory model"
++#~ msgstr "Modelo de memoria big"
++
++#~ msgid "Use the BK register as a general purpose register"
++#~ msgstr "Usa el registro BK como un registro de propósito general"
++
++#~ msgid "Generate code for CPU"
++#~ msgstr "Genera código para el CPU"
++
++#~ msgid "Enable use of DB instruction"
++#~ msgstr "Activa el uso de la instrucción DB"
++
++#~ msgid "Enable debugging"
++#~ msgstr "Activa la depuración"
++
++#~ msgid "Enable new features under development"
++#~ msgstr "Activa nuevas características en desarrollo"
++
++#~ msgid "Use fast but approximate float to integer conversion"
++#~ msgstr "Usa conversión de coma flotante a entero rápida pero aproximada"
++
++#~ msgid "Force RTL generation to emit valid 3 operand insns"
++#~ msgstr "Fuerza que la generación de RTL emita 3 operandos insns válidos"
++
++#~ msgid "Force constants into registers to improve hoisting"
++#~ msgstr "Fuerza las constantes dentro de registros para mejorar el levantamiento"
++
++#~ msgid "Save DP across ISR in small memory model"
++#~ msgstr "Guarda DP entre ISR en el modelo de memoria small"
++
++#~ msgid "Allow unsigned iteration counts for RPTB/DB"
++#~ msgstr "Permite cuentas de iteración unsigned para RPTB/DB"
++
++#~ msgid "Pass arguments on the stack"
++#~ msgstr "Pasa los argumentos en la pila"
++
++#~ msgid "Use MPYI instruction for C3x"
++#~ msgstr "Usa instrucción MPYI para C3x"
++
++#~ msgid "Enable parallel instructions"
++#~ msgstr "Activa las funciones paralelas"
++
++#~ msgid "Enable MPY||ADD and MPY||SUB instructions"
++#~ msgstr "Activa las instrucciones MPY||ADD y MPY||SUB"
++
++#~ msgid "Preserve all 40 bits of FP reg across call"
++#~ msgstr "Preserva los 40 bits del registro FP entre llamadas"
++
++#~ msgid "Pass arguments in registers"
++#~ msgstr "Pasa argumentos en registros"
++
++#~ msgid "Enable use of RTPB instruction"
++#~ msgstr "Activa el uso de la instrucción RTPB"
++
++#~ msgid "Enable use of RTPS instruction"
++#~ msgstr "Activa el uso de la instrucción RTPS"
++
++#~ msgid "Set the maximum number of iterations for RPTS to N"
++#~ msgstr "Establece el número máximo de iteraciones para RPTS a N"
++
++#~ msgid "Small memory model"
++#~ msgstr "Modelo de memoria small"
++
++#~ msgid "Emit code compatible with TI tools"
++#~ msgstr "Emite código compatibles con las herramientas de TI"
++
++#~ msgid "Copy memory address constants into registers before use"
++#~ msgstr "Copia las constantes de direcciones de memoria en registros antes de usarlos"
++
++#~ msgid "This switch is obsolete"
++#~ msgstr "Esta opción es obsoleta"
++
++#~ msgid "static or type qualifiers in abstract declarator"
++#~ msgstr "static o calificador de tipo en un declarador abstracto"
++
++#~ msgid "missing '(' after '#pragma %s' - ignored"
++#~ msgstr "falta un '(' después de '#pragma %s' - descartado"
++
++#~ msgid "missing function name in '#pragma %s' - ignored"
++#~ msgstr "falta el nombre de la función en '#pragma %s' - descartado"
++
++#~ msgid "malformed '#pragma %s' - ignored"
++#~ msgstr "'#pragma %s' malformado - descartado"
++
++#~ msgid "missing section name in '#pragma %s' - ignored"
++#~ msgstr "falta el nombre de la sección en '#pragma %s' - descartado"
++
++#~ msgid "missing ')' for '#pragma %s' - ignored"
++#~ msgstr "falta un ')' para '#pragma %s' - descartado"
++
++#~ msgid "junk at end of '#pragma %s'"
++#~ msgstr "basura al final de '#pragma %s'"
++
++#~ msgid "ISR %s requires %d words of local vars, max is 32767"
++#~ msgstr "el ISR %s requiere de %d words de variables locales, el máximo es 32767"
++
++#~ msgid "constant halfword load operand out of range"
++#~ msgstr "el operando de carga de una constante halfword está fuera de rango"
++
++#~ msgid "constant arithmetic operand out of range"
++#~ msgstr "el operando aritmético constante está fuera de rango"
++
++#~ msgid "used %d template parameter(s) instead of %d"
++#~ msgstr "se usaron %d parámetro(s) de plantilla en lugar de %d"
++
+ #~ msgid "gcov (GCC) %s\n"
+ #~ msgstr "gcov (GCC) %s\n"
+
+@@ -33466,9 +33712,6 @@
+ #~ msgid "rhs of CHARACTER assignment at %L will be truncated (%d/%d)"
+ #~ msgstr "El lado derecho de la asignación CHARACTER en %L se truncará (%d/%d)"
+
+-#~ msgid "Derived type variable '%s' at %L with default initializer cannot be an EQUIVALENCE object"
+-#~ msgstr "La variable de tipo derivado '%s' en %L con inicializadores por defecto no puede ser un objeto EQUIVALENCE"
+-
+ #~ msgid "Initialized objects '%s' and '%s' cannot both be in the EQUIVALENCE statement at %L"
+ #~ msgstr "Los objetos inicializados '%s' y '%s' no pueden estar al mismo tiempo en la declaración EQUIVALENCE en %L"
+
+@@ -37436,9 +37679,6 @@
+ #~ msgid "Semicolon at %0 is an invalid token"
+ #~ msgstr "El punto y coma en %0 es un elemento inválido"
+
+-#~ msgid "Missing comma in FORMAT statement at %0"
+-#~ msgstr "Coma faltante en la declaración FORMAT en %0"
+-
+ #~ msgid "Spurious number in FORMAT statement at %0"
+ #~ msgstr "Número espurio en la declaración FORMAT en %0"
+
+@@ -38886,9 +39126,6 @@
+ #~ msgid "Don't warn about too many arguments to format functions"
+ #~ msgstr "No avisar sobre demasiados argumentos para las funciones de formato"
+
+-#~ msgid "Warn when trigraphs are encountered"
+-#~ msgstr "Avisar si se encuentran trigrafos"
+-
+ #~ msgid "Mark strings as 'const char *'"
+ #~ msgstr "Marcar las cadenas como 'const char *'"
+
+@@ -39361,7 +39598,6 @@
+ #~ msgstr "el tipo `%T' compuesto desde una clase local no es un argumento de plantilla válido"
+
+ # No me gusta mucho esta traducción. - cfuga
+-#
+ #~ msgid "assignment to non-static member `%D' of enclosing class `%T'"
+ #~ msgstr "asignación al miembro `%D' que no es static de la clase incluyente `%T'"
+
+@@ -42127,9 +42363,6 @@
+ #~ msgid "Invalid O specifier in FORMAT statement at %0 -- correct form: [r]Ow.[m]"
+ #~ msgstr "Especificador O inválido en la declaración FORMAT en %0 -- forma correcta: [r]Ow.[m]"
+
+-#~ msgid "Invalid O specifier in FORMAT statement at %0"
+-#~ msgstr "Especificador O inválido en la declaración FORMAT en %0"
+-
+ #~ msgid "Invalid Z specifier in FORMAT statement at %0 -- correct form: [r]Zw.[m]"
+ #~ msgstr "Especificador Z inválido en la declaración FORMAT en %0 -- forma correcta: [r]Zw.[m]"
+
+Index: gcc/po/nl.po
+===================================================================
+--- gcc/po/nl.po (.../tags/gcc_4_3_0_release) (revision 133808)
++++ gcc/po/nl.po (.../branches/gcc-4_3-branch) (revision 133808)
+@@ -1,13 +1,14 @@
+-# Dutch messages for gcc 4.1.
+-# Copyright (C) 1999, 2000, 2002, 2003, 2005 Free Software Foundation, Inc.
+-# Tim Van Holder <tim.van.holder@telenet.be>, 1999, 2000, 2002, 2003, 2005.
++# Dutch messages for gcc 4.3.0.
++# Copyright (C) 1999, 2000, 2002, 2003, 2005, 2008 Free Software Foundation, Inc.
++# This file is distributed under the same license as the gcc package.
++# Tim Van Holder <tim.van.holder@telenet.be>, 1999, 2000, 2002, 2003, 2005, 2007, 2008.
+ #
+ msgid ""
+ msgstr ""
+-"Project-Id-Version: gcc 4.1-b20051125\n"
++"Project-Id-Version: gcc 4.3.0\n"
+ "Report-Msgid-Bugs-To: http://gcc.gnu.org/bugs.html\n"
+-"POT-Creation-Date: 2007-11-08 21:09+0000\n"
+-"PO-Revision-Date: 2005-12-14 15:03+0100\n"
++"POT-Creation-Date: 2008-03-05 17:23+0100\n"
++"PO-Revision-Date: 2008-03-18 21:16+0100\n"
+ "Last-Translator: Tim Van Holder <tim.van.holder@telenet.be>\n"
+ "Language-Team: Dutch <vertaling@vrijschrift.org>\n"
+ "MIME-Version: 1.0\n"
+@@ -15,7 +16,7 @@
+ "Content-Transfer-Encoding: 8bit\n"
+ "Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+-#: c-decl.c:3814
++#: c-decl.c:3813
+ msgid "<anonymous>"
+ msgstr "<anoniem>"
+
+@@ -131,14 +132,12 @@
+ msgstr "de 'a' scanf-vlag"
+
+ #: c-format.c:440
+-#, fuzzy
+ msgid "'m' flag"
+-msgstr "' ' vlag"
++msgstr "'m' vlag"
+
+ #: c-format.c:440
+-#, fuzzy
+ msgid "the 'm' scanf flag"
+-msgstr "de 'a' scanf-vlag"
++msgstr "de 'm' scanf-vlag"
+
+ #: c-format.c:441
+ msgid "field width in scanf format"
+@@ -302,55 +301,54 @@
+ msgid "End of search list.\n"
+ msgstr "Einde van opzoekingslijst.\n"
+
+-#: c-opts.c:1484
++#: c-opts.c:1505
+ msgid "<built-in>"
+ msgstr "<ingebouwd>"
+
+-#: c-opts.c:1502
+-#, fuzzy
++#: c-opts.c:1523
+ msgid "<command-line>"
+ msgstr "<commandolijn>"
+
+-#: c-typeck.c:2448 c-typeck.c:4851 c-typeck.c:4853 c-typeck.c:4861
+-#: c-typeck.c:4891 c-typeck.c:6267
++#: c-typeck.c:2459 c-typeck.c:4862 c-typeck.c:4864 c-typeck.c:4872
++#: c-typeck.c:4902 c-typeck.c:6278
+ msgid "initializer element is not constant"
+ msgstr "beginwaarde-element is niet constant"
+
+ # moet beter kunnen - "... waar haakjes rond staan" klinkt ook al niet geweldig
+-#: c-typeck.c:4654
++#: c-typeck.c:4665
+ msgid "array initialized from parenthesized string constant"
+ msgstr "array heeft stringconstante tussen haakjes als beginwaarde"
+
+-#: c-typeck.c:4715 cp/typeck2.c:677
++#: c-typeck.c:4726 cp/typeck2.c:677
+ #, gcc-internal-format
+ msgid "char-array initialized from wide string"
+ msgstr "char-array heeft wide string als beginwaarde"
+
+-#: c-typeck.c:4720
++#: c-typeck.c:4731
+ msgid "wchar_t-array initialized from non-wide string"
+ msgstr "wchar_t-array heeft geen wide string als beginwaarde"
+
+-#: c-typeck.c:4738 cp/typeck2.c:697
++#: c-typeck.c:4749 cp/typeck2.c:697
+ #, gcc-internal-format
+ msgid "initializer-string for array of chars is too long"
+ msgstr "beginwaarde-string voor array van chars is te lang"
+
+-#: c-typeck.c:4744
++#: c-typeck.c:4755
+ msgid "array of inappropriate type initialized from string constant"
+ msgstr "array van ongeschikt type heeft stringconstante als beginwaarde"
+
+ #. ??? This should not be an error when inlining calls to
+ #. unprototyped functions.
+-#: c-typeck.c:4808 c-typeck.c:4333 cp/typeck.c:1528
++#: c-typeck.c:4819 c-typeck.c:4344 cp/typeck.c:1574
+ #, gcc-internal-format
+ msgid "invalid use of non-lvalue array"
+ msgstr "ongeldig gebruik van array die geen lvalue is"
+
+-#: c-typeck.c:4834
++#: c-typeck.c:4845
+ msgid "array initialized from non-constant array expression"
+ msgstr "array krijgt niet-constante array-expressie als beginwaarde"
+
+-#: c-typeck.c:4898 c-typeck.c:6271
++#: c-typeck.c:4909 c-typeck.c:6282
+ #, gcc-internal-format
+ msgid "initializer element is not computable at load time"
+ msgstr "beginwaarde-element kan niet berekend worden tijdens het laden"
+@@ -359,232 +357,232 @@
+ #. of VLAs themselves count as VLAs, it does not make
+ #. sense to permit them to be initialized given that
+ #. ordinary VLAs may not be initialized.
+-#: c-typeck.c:4909 c-decl.c:3222 c-decl.c:3237
++#: c-typeck.c:4920 c-decl.c:3220 c-decl.c:3235
+ #, gcc-internal-format
+ msgid "variable-sized object may not be initialized"
+ msgstr "object van variabele lengte mag geen beginwaarde krijgen"
+
+-#: c-typeck.c:4913
++#: c-typeck.c:4924
+ msgid "invalid initializer"
+ msgstr "ongeldige beginwaarde"
+
+-#: c-typeck.c:5387
++#: c-typeck.c:5398
+ msgid "extra brace group at end of initializer"
+ msgstr "extra accolade-groep aan einde van beginwaarde"
+
+-#: c-typeck.c:5407
++#: c-typeck.c:5418
+ msgid "missing braces around initializer"
+ msgstr "accolades ontbreken rond beginwaarde"
+
+-#: c-typeck.c:5468
++#: c-typeck.c:5479
+ msgid "braces around scalar initializer"
+ msgstr "accolades rond scalaire beginwaarde"
+
+-#: c-typeck.c:5525
++#: c-typeck.c:5536
+ msgid "initialization of flexible array member in a nested context"
+ msgstr "initialisatie van flexibel array-lid in een geneste context"
+
+-#: c-typeck.c:5527
++#: c-typeck.c:5538
+ msgid "initialization of a flexible array member"
+ msgstr "initialisatie van flexibel array-lid"
+
+-#: c-typeck.c:5554
++#: c-typeck.c:5565
+ msgid "missing initializer"
+ msgstr "beginwaarde ontbreekt"
+
+-#: c-typeck.c:5576
++#: c-typeck.c:5587
+ msgid "empty scalar initializer"
+ msgstr "lege scalaire beginwaarde"
+
+-#: c-typeck.c:5581
++#: c-typeck.c:5592
+ msgid "extra elements in scalar initializer"
+ msgstr "extra elementen in scalaire beginwaarde"
+
+-#: c-typeck.c:5678 c-typeck.c:5738
++#: c-typeck.c:5689 c-typeck.c:5749
+ msgid "array index in non-array initializer"
+ msgstr "array-index in beginwaarde van niet-array"
+
+ # of gewoon "veldnaam niet in beginwaarde van record of union"?
+-#: c-typeck.c:5683 c-typeck.c:5791
++#: c-typeck.c:5694 c-typeck.c:5802
+ msgid "field name not in record or union initializer"
+ msgstr "veldnaam in beginwaarde van iets anders dan record of union"
+
+-#: c-typeck.c:5729
++#: c-typeck.c:5740
+ msgid "array index in initializer not of integer type"
+ msgstr "array-index in beginwaarde is niet van een integer type"
+
+-#: c-typeck.c:5734 c-typeck.c:5736
++#: c-typeck.c:5745 c-typeck.c:5747
+ msgid "nonconstant array index in initializer"
+ msgstr "niet-constante array-index in beginwaarde"
+
+-#: c-typeck.c:5740 c-typeck.c:5743
++#: c-typeck.c:5751 c-typeck.c:5754
+ msgid "array index in initializer exceeds array bounds"
+ msgstr "array-index in beginwaarde overschrijdt de grenzen van de array"
+
+-#: c-typeck.c:5754
++#: c-typeck.c:5765
+ msgid "empty index range in initializer"
+ msgstr "leeg indexbereik in beginwaarde"
+
+-#: c-typeck.c:5763
++#: c-typeck.c:5774
+ msgid "array index range in initializer exceeds array bounds"
+ msgstr "array-indexbereik in beginwaarde overschrijdt de grenzen van de array"
+
+-#: c-typeck.c:5838 c-typeck.c:5861 c-typeck.c:6335
++#: c-typeck.c:5849 c-typeck.c:5872 c-typeck.c:6346
+ msgid "initialized field with side-effects overwritten"
+-msgstr ""
++msgstr "geïnitialiseerd veld met neveneffecten wordt overschreven"
+
+-#: c-typeck.c:5840 c-typeck.c:5863 c-typeck.c:6337
++#: c-typeck.c:5851 c-typeck.c:5874 c-typeck.c:6348
+ msgid "initialized field overwritten"
+-msgstr ""
++msgstr "geïnitialiseerd veld wordt overschreven"
+
+-#: c-typeck.c:6545
++#: c-typeck.c:6556
+ msgid "excess elements in char array initializer"
+ msgstr "overtollige elementen in beginwaarde van char array"
+
+-#: c-typeck.c:6552 c-typeck.c:6598
++#: c-typeck.c:6563 c-typeck.c:6609
+ msgid "excess elements in struct initializer"
+ msgstr "overtollige elementen in beginwaarde van struct"
+
+-#: c-typeck.c:6613
++#: c-typeck.c:6624
+ msgid "non-static initialization of a flexible array member"
+-msgstr ""
++msgstr "niet-statische initialisatie van flexibel array-lid"
+
+-#: c-typeck.c:6681
++#: c-typeck.c:6692
+ msgid "excess elements in union initializer"
+ msgstr "overtollige elementen in beginwaarde van union"
+
+-#: c-typeck.c:6768
++#: c-typeck.c:6779
+ msgid "excess elements in array initializer"
+ msgstr "overtollige elementen in beginwaarde van array"
+
+-#: c-typeck.c:6798
++#: c-typeck.c:6809
+ msgid "excess elements in vector initializer"
+ msgstr "overtollige elementen in beginwaarde van vector"
+
+-#: c-typeck.c:6822
++#: c-typeck.c:6833
+ msgid "excess elements in scalar initializer"
+ msgstr "overtollige elementen in beginwaarde van scalair"
+
+-#: cfgrtl.c:1925
++#: cfgrtl.c:1923
+ msgid "flow control insn inside a basic block"
+ msgstr ""
+
+-#: cfgrtl.c:2054
++#: cfgrtl.c:2052
+ msgid "wrong insn in the fallthru edge"
+ msgstr ""
+
+-#: cfgrtl.c:2110
++#: cfgrtl.c:2108
+ msgid "insn outside basic block"
+ msgstr ""
+
+ # Weet niet wat hier juist bedoeld wordt, dus moeilijk om zinnig te vertalen...
+-#: cfgrtl.c:2117
++#: cfgrtl.c:2115
+ msgid "return not followed by barrier"
+ msgstr "return niet gevolgd door barrière"
+
+-#: cgraph.c:339 ipa-inline.c:417
++#: cgraph.c:340 ipa-inline.c:417
+ msgid "function body not available"
+ msgstr "functielichaam niet beschikbaar"
+
+ # moet beter kunnen
+-#: cgraph.c:341 cgraphbuild.c:96
++#: cgraph.c:342 cgraphbuild.c:96
+ msgid "redefined extern inline functions are not considered for inlining"
+ msgstr "functies die als extern inline geherdefinieerd zijn, worden niet als kandidaat voor inlining beschouwd"
+
+-#: cgraph.c:344 cgraphbuild.c:103
++#: cgraph.c:345 cgraphbuild.c:103
+ msgid "function not considered for inlining"
+ msgstr "functie wordt niet als kandidaat voor inlining beschouwd"
+
+-#: cgraph.c:346 cgraphbuild.c:99
++#: cgraph.c:347 cgraphbuild.c:99
+ msgid "function not inlinable"
+ msgstr "functie kan niet inline gemaakt worden"
+
++# Betere term voor "mismatched"?
+ #: cgraphbuild.c:101
+-#, fuzzy
+ msgid "mismatched arguments"
+-msgstr "geen argumenten"
++msgstr "slechte combinatie van argumenten"
+
+-#: collect2.c:378 gcc.c:6897
++#: collect2.c:382 gcc.c:6896
+ #, c-format
+ msgid "internal gcc abort in %s, at %s:%d"
+ msgstr "interne afbreking van gcc in %s, op %s:%d"
+
+-#: collect2.c:889
++#: collect2.c:903
+ #, c-format
+ msgid "no arguments"
+ msgstr "geen argumenten"
+
+-#: collect2.c:1263 collect2.c:1411 collect2.c:1446
++#: collect2.c:1277 collect2.c:1425 collect2.c:1460
+ #, c-format
+ msgid "fopen %s"
+ msgstr "fopen %s"
+
+-#: collect2.c:1266 collect2.c:1416 collect2.c:1449
++#: collect2.c:1280 collect2.c:1430 collect2.c:1463
+ #, c-format
+ msgid "fclose %s"
+ msgstr "fclose %s"
+
+-#: collect2.c:1275
++#: collect2.c:1289
+ #, c-format
+ msgid "collect2 version %s"
+ msgstr "collect2 versie %s"
+
+-#: collect2.c:1365
++#: collect2.c:1379
+ #, c-format
+ msgid "%d constructor(s) found\n"
+ msgstr "%d constructor(s) gevonden\n"
+
+-#: collect2.c:1366
++#: collect2.c:1380
+ #, c-format
+ msgid "%d destructor(s) found\n"
+ msgstr "%d destructor(s) gevonden\n"
+
+-#: collect2.c:1367
++#: collect2.c:1381
+ #, c-format
+ msgid "%d frame table(s) found\n"
+ msgstr "%d frame-tabel(len) gevonden\n"
+
+-#: collect2.c:1504
++#: collect2.c:1518
+ #, c-format
+ msgid "can't get program status"
+-msgstr ""
++msgstr "kan programmastatus niet ophalen"
+
+-#: collect2.c:1573
+-#, fuzzy, c-format
++#: collect2.c:1587
++#, c-format
+ msgid "could not open response file %s"
+-msgstr "kan bestand '%s' niet openen"
++msgstr "kan antwoordbestand %s niet openen"
+
+-#: collect2.c:1578
+-#, fuzzy, c-format
++#: collect2.c:1592
++#, c-format
+ msgid "could not write to response file %s"
+-msgstr "%s:kon uitvoerbestand '%s' niet openen\n"
++msgstr "kan niet schrijven naar antwoordbestand %s"
+
+-#: collect2.c:1583
+-#, fuzzy, c-format
++#: collect2.c:1597
++#, c-format
+ msgid "could not close response file %s"
+-msgstr "kan bestand '%s' niet openen"
++msgstr "kan antwoordbestand %s niet sluiten"
+
+-#: collect2.c:1601
++#: collect2.c:1615
+ #, c-format
+ msgid "[cannot find %s]"
+ msgstr "[kan %s niet vinden]"
+
+-#: collect2.c:1616
++#: collect2.c:1630
+ #, c-format
+ msgid "cannot find '%s'"
+ msgstr "kan '%s' niet vinden"
+
+-#: collect2.c:1620 collect2.c:2112 collect2.c:2267 gcc.c:2978
++#: collect2.c:1634 collect2.c:2126 collect2.c:2281 gcc.c:2974
+ #, c-format
+ msgid "pex_init failed"
+-msgstr ""
++msgstr "pex_init mislukt"
+
+-#: collect2.c:1658
++#: collect2.c:1672
+ #, c-format
+ msgid "[Leaving %s]\n"
+ msgstr "[%s wordt verlaten]\n"
+
+-#: collect2.c:1878
++#: collect2.c:1892
+ #, c-format
+ msgid ""
+ "\n"
+@@ -593,32 +591,32 @@
+ "\n"
+ "write_c_file - uitvoernaam is %s, prefix is %s\n"
+
+-#: collect2.c:2086
++#: collect2.c:2100
+ #, c-format
+ msgid "cannot find 'nm'"
+ msgstr "kan 'nm' niet vinden"
+
+-#: collect2.c:2133
++#: collect2.c:2147
+ #, c-format
+ msgid "can't open nm output"
+ msgstr "kan uitvoer van nm niet openen"
+
+-#: collect2.c:2177
++#: collect2.c:2191
+ #, c-format
+ msgid "init function found in object %s"
+ msgstr "init-functie gevonden in object %s"
+
+-#: collect2.c:2185
++#: collect2.c:2199
+ #, c-format
+ msgid "fini function found in object %s"
+ msgstr "fini-functie gevonden in object %s"
+
+-#: collect2.c:2288
++#: collect2.c:2302
+ #, c-format
+ msgid "can't open ldd output"
+ msgstr "kan uitvoer van ldd niet openen"
+
+-#: collect2.c:2291
++#: collect2.c:2305
+ #, c-format
+ msgid ""
+ "\n"
+@@ -628,22 +626,22 @@
+ "uitvoer van ldd met constructors/destructors.\n"
+
+ # 'dependency'? 'afhankelijkheid' klinkt niet echt goed...
+-#: collect2.c:2306
++#: collect2.c:2320
+ #, c-format
+ msgid "dynamic dependency %s not found"
+ msgstr "dynamische dependency %s niet gevonden"
+
+-#: collect2.c:2318
++#: collect2.c:2332
+ #, c-format
+ msgid "unable to open dynamic dependency '%s'"
+ msgstr "kan dynamische dependency '%s' niet openen"
+
+-#: collect2.c:2474
++#: collect2.c:2488
+ #, c-format
+ msgid "%s: not a COFF file"
+ msgstr "%s: geen COFF-bestand"
+
+-#: collect2.c:2594
++#: collect2.c:2608
+ #, c-format
+ msgid "%s: cannot open as COFF file"
+ msgstr "%s: kan niet openen als COFF-bestand"
+@@ -652,7 +650,7 @@
+ # dikwijls 'bibliotheek' zien gebruiken.
+ # De vertaalde boodschappen voor make gebruiken dat op het ogenblik wél, wat
+ # jammer is (maar misschien is daar verandering in te brengen).
+-#: collect2.c:2652
++#: collect2.c:2666
+ #, c-format
+ msgid "library lib%s not found"
+ msgstr "library lib%s niet gevonden"
+@@ -701,40 +699,40 @@
+ msgid "negative insn length"
+ msgstr "negatieve insn-lengte"
+
+-#: final.c:2609
++#: final.c:2615
+ msgid "could not split insn"
+ msgstr "kon insn niet splitsen"
+
+-#: final.c:2979
++#: final.c:2992
+ msgid "invalid 'asm': "
+ msgstr "ongeldige 'asm': "
+
+-#: final.c:3162
++#: final.c:3175
+ #, c-format
+ msgid "nested assembly dialect alternatives"
+ msgstr ""
+
+-#: final.c:3179 final.c:3191
++#: final.c:3192 final.c:3204
+ #, c-format
+ msgid "unterminated assembly dialect alternative"
+ msgstr "onbeëindigd alternatief assembly-dialect"
+
+-#: final.c:3238
++#: final.c:3251
+ #, c-format
+ msgid "operand number missing after %%-letter"
+ msgstr "operandnummer ontbreekt na %%-letter"
+
+-#: final.c:3241 final.c:3282
++#: final.c:3254 final.c:3295
+ #, c-format
+ msgid "operand number out of range"
+ msgstr "operandnummer buiten bereik"
+
+-#: final.c:3301
++#: final.c:3314
+ #, c-format
+ msgid "invalid %%-code"
+ msgstr "ongeldige %%-code"
+
+-#: final.c:3331
++#: final.c:3344
+ #, c-format
+ msgid "'%%l' operand isn't a label"
+ msgstr "operand van '%%l' is geen label"
+@@ -745,13 +743,13 @@
+ #. handle them.
+ #. We can't handle floating point constants;
+ #. PRINT_OPERAND must handle them.
+-#: final.c:3433 vmsdbgout.c:487 config/i386/i386.c:8143
++#: final.c:3446 vmsdbgout.c:487 config/i386/i386.c:8198
+ #: config/pdp11/pdp11.c:1704
+ #, c-format
+ msgid "floating constant misused"
+ msgstr "floating-point constante verkeerd gebruikt"
+
+-#: final.c:3493 vmsdbgout.c:544 config/i386/i386.c:8224
++#: final.c:3507 vmsdbgout.c:544 config/i386/i386.c:8279
+ #: config/pdp11/pdp11.c:1751
+ #, c-format
+ msgid "invalid expression as operand"
+@@ -762,101 +760,101 @@
+ msgid "Using built-in specs.\n"
+ msgstr "Ingebouwde specs worden gebruikt.\n"
+
+-#: gcc.c:1887
++#: gcc.c:1883
+ #, c-format
+ msgid ""
+ "Setting spec %s to '%s'\n"
+ "\n"
+ msgstr ""
+
+-#: gcc.c:2002
++#: gcc.c:1998
+ #, c-format
+ msgid "Reading specs from %s\n"
+ msgstr "Specs worden gelezen vanuit %s\n"
+
+-#: gcc.c:2098 gcc.c:2117
++#: gcc.c:2094 gcc.c:2113
+ #, c-format
+ msgid "specs %%include syntax malformed after %ld characters"
+ msgstr ""
+
+-#: gcc.c:2125
++#: gcc.c:2121
+ #, c-format
+ msgid "could not find specs file %s\n"
+ msgstr ""
+
+-#: gcc.c:2142 gcc.c:2150 gcc.c:2159 gcc.c:2168
++#: gcc.c:2138 gcc.c:2146 gcc.c:2155 gcc.c:2164
+ #, c-format
+ msgid "specs %%rename syntax malformed after %ld characters"
+ msgstr ""
+
+-#: gcc.c:2177
++#: gcc.c:2173
+ #, c-format
+ msgid "specs %s spec was not found to be renamed"
+ msgstr ""
+
+-#: gcc.c:2184
++#: gcc.c:2180
+ #, c-format
+ msgid "%s: attempt to rename spec '%s' to already defined spec '%s'"
+ msgstr ""
+
+-#: gcc.c:2189
++#: gcc.c:2185
+ #, c-format
+ msgid "rename spec %s to %s\n"
+ msgstr ""
+
+-#: gcc.c:2191
++#: gcc.c:2187
+ #, c-format
+ msgid ""
+ "spec is '%s'\n"
+ "\n"
+ msgstr ""
+
+-#: gcc.c:2204
++#: gcc.c:2200
+ #, c-format
+ msgid "specs unknown %% command after %ld characters"
+ msgstr ""
+
+-#: gcc.c:2215 gcc.c:2228
++#: gcc.c:2211 gcc.c:2224
+ #, c-format
+ msgid "specs file malformed after %ld characters"
+ msgstr ""
+
+-#: gcc.c:2281
++#: gcc.c:2277
+ #, c-format
+ msgid "spec file has no spec for linking"
+ msgstr "specbestand heeft geen spec voor het linken"
+
+-#: gcc.c:2609 gcc.c:4751
++#: gcc.c:2605 gcc.c:4745
+ #, c-format
+ msgid "%s\n"
+ msgstr "%s\n"
+
+-#: gcc.c:2809
++#: gcc.c:2805
+ #, c-format
+ msgid "system path '%s' is not absolute"
+ msgstr "systeempad '%s' is niet absoluut"
+
+-#: gcc.c:2872
++#: gcc.c:2868
+ #, c-format
+ msgid "-pipe not supported"
+ msgstr "-pipe wordt niet ondersteund"
+
+-#: gcc.c:2934
++#: gcc.c:2930
+ #, c-format
+ msgid ""
+ "\n"
+ "Go ahead? (y or n) "
+ msgstr ""
+
+-#: gcc.c:3017
++#: gcc.c:3013
+ msgid "failed to get exit status"
+ msgstr "kon exit-status niet ophalen"
+
+-#: gcc.c:3023
++#: gcc.c:3019
+ msgid "failed to get process times"
+ msgstr "kon procestijden niet ophalen"
+
+-#: gcc.c:3049
++#: gcc.c:3045
+ #, c-format
+ msgid ""
+ "Internal error: %s (program %s)\n"
+@@ -864,181 +862,181 @@
+ "See %s for instructions."
+ msgstr ""
+
+-#: gcc.c:3075
++#: gcc.c:3071
+ #, c-format
+ msgid "# %s %.2f %.2f\n"
+ msgstr "# %s %.2f %.2f\n"
+
+-#: gcc.c:3211
++#: gcc.c:3205
+ #, c-format
+ msgid "Usage: %s [options] file...\n"
+ msgstr "Gebruik: %s [opties] bestand...\n"
+
+-#: gcc.c:3212
++#: gcc.c:3206
+ msgid "Options:\n"
+ msgstr "Opties:\n"
+
+-#: gcc.c:3214
++#: gcc.c:3208
+ msgid " -pass-exit-codes Exit with highest error code from a phase\n"
+ msgstr ""
+
+-#: gcc.c:3215
++#: gcc.c:3209
+ msgid " --help Display this information\n"
+ msgstr ""
+
+-#: gcc.c:3216
++#: gcc.c:3210
+ msgid " --target-help Display target specific command line options\n"
+ msgstr ""
+
+-#: gcc.c:3217
++#: gcc.c:3211
+ msgid " --help={target|optimizers|warnings|undocumented|params}[,{[^]joined|[^]separate}]\n"
+ msgstr ""
+
+-#: gcc.c:3218
++#: gcc.c:3212
+ msgid " Display specific types of command line options\n"
+ msgstr ""
+
+-#: gcc.c:3220
++#: gcc.c:3214
+ msgid " (Use '-v --help' to display command line options of sub-processes)\n"
+ msgstr ""
+
+-#: gcc.c:3221
++#: gcc.c:3215
+ msgid " -dumpspecs Display all of the built in spec strings\n"
+ msgstr ""
+
+-#: gcc.c:3222
++#: gcc.c:3216
+ msgid " -dumpversion Display the version of the compiler\n"
+ msgstr ""
+
+-#: gcc.c:3223
++#: gcc.c:3217
+ msgid " -dumpmachine Display the compiler's target processor\n"
+ msgstr ""
+
+-#: gcc.c:3224
++#: gcc.c:3218
+ msgid " -print-search-dirs Display the directories in the compiler's search path\n"
+ msgstr ""
+
+-#: gcc.c:3225
++#: gcc.c:3219
+ msgid " -print-libgcc-file-name Display the name of the compiler's companion library\n"
+ msgstr ""
+
+-#: gcc.c:3226
++#: gcc.c:3220
+ msgid " -print-file-name=<lib> Display the full path to library <lib>\n"
+ msgstr ""
+
+-#: gcc.c:3227
++#: gcc.c:3221
+ msgid " -print-prog-name=<prog> Display the full path to compiler component <prog>\n"
+ msgstr ""
+
+-#: gcc.c:3228
++#: gcc.c:3222
+ msgid " -print-multi-directory Display the root directory for versions of libgcc\n"
+ msgstr ""
+
+-#: gcc.c:3229
++#: gcc.c:3223
+ msgid ""
+ " -print-multi-lib Display the mapping between command line options and\n"
+ " multiple library search directories\n"
+ msgstr ""
+
+-#: gcc.c:3232
++#: gcc.c:3226
+ msgid " -print-multi-os-directory Display the relative path to OS libraries\n"
+ msgstr ""
+
+-#: gcc.c:3233
++#: gcc.c:3227
+ msgid " -print-sysroot-headers-suffix Display the sysroot suffix used to find headers\n"
+ msgstr ""
+
+-#: gcc.c:3234
++#: gcc.c:3228
+ msgid " -Wa,<options> Pass comma-separated <options> on to the assembler\n"
+ msgstr ""
+
+-#: gcc.c:3235
++#: gcc.c:3229
+ msgid " -Wp,<options> Pass comma-separated <options> on to the preprocessor\n"
+ msgstr ""
+
+-#: gcc.c:3236
++#: gcc.c:3230
+ msgid " -Wl,<options> Pass comma-separated <options> on to the linker\n"
+ msgstr ""
+
+-#: gcc.c:3237
++#: gcc.c:3231
+ msgid " -Xassembler <arg> Pass <arg> on to the assembler\n"
+ msgstr ""
+
+-#: gcc.c:3238
++#: gcc.c:3232
+ msgid " -Xpreprocessor <arg> Pass <arg> on to the preprocessor\n"
+ msgstr ""
+
+-#: gcc.c:3239
++#: gcc.c:3233
+ msgid " -Xlinker <arg> Pass <arg> on to the linker\n"
+ msgstr ""
+
+-#: gcc.c:3240
++#: gcc.c:3234
+ msgid " -combine Pass multiple source files to compiler at once\n"
+ msgstr ""
+
+-#: gcc.c:3241
++#: gcc.c:3235
+ msgid " -save-temps Do not delete intermediate files\n"
+ msgstr ""
+
+-#: gcc.c:3242
++#: gcc.c:3236
+ msgid " -pipe Use pipes rather than intermediate files\n"
+ msgstr ""
+
+-#: gcc.c:3243
++#: gcc.c:3237
+ msgid " -time Time the execution of each subprocess\n"
+ msgstr ""
+
+-#: gcc.c:3244
++#: gcc.c:3238
+ msgid " -specs=<file> Override built-in specs with the contents of <file>\n"
+ msgstr ""
+
+-#: gcc.c:3245
++#: gcc.c:3239
+ msgid " -std=<standard> Assume that the input sources are for <standard>\n"
+ msgstr ""
+
+-#: gcc.c:3246
++#: gcc.c:3240
+ msgid ""
+ " --sysroot=<directory> Use <directory> as the root directory for headers\n"
+ " and libraries\n"
+ msgstr ""
+
+-#: gcc.c:3249
++#: gcc.c:3243
+ msgid " -B <directory> Add <directory> to the compiler's search paths\n"
+ msgstr ""
+
+-#: gcc.c:3250
++#: gcc.c:3244
+ msgid " -b <machine> Run gcc for target <machine>, if installed\n"
+ msgstr ""
+
+-#: gcc.c:3251
++#: gcc.c:3245
+ msgid " -V <version> Run gcc version number <version>, if installed\n"
+ msgstr ""
+
+-#: gcc.c:3252
++#: gcc.c:3246
+ msgid " -v Display the programs invoked by the compiler\n"
+ msgstr ""
+
+-#: gcc.c:3253
++#: gcc.c:3247
+ msgid " -### Like -v but options quoted and commands not executed\n"
+ msgstr ""
+
+-#: gcc.c:3254
++#: gcc.c:3248
+ msgid " -E Preprocess only; do not compile, assemble or link\n"
+ msgstr ""
+
+-#: gcc.c:3255
++#: gcc.c:3249
+ msgid " -S Compile only; do not assemble or link\n"
+ msgstr ""
+
+-#: gcc.c:3256
++#: gcc.c:3250
+ msgid " -c Compile and assemble, but do not link\n"
+ msgstr ""
+
+-#: gcc.c:3257
++#: gcc.c:3251
+ msgid " -o <file> Place the output into <file>\n"
+ msgstr ""
+
+-#: gcc.c:3258
++#: gcc.c:3252
+ msgid ""
+ " -x <language> Specify the language of the following input files\n"
+ " Permissible languages include: c c++ assembler none\n"
+@@ -1046,7 +1044,7 @@
+ " guessing the language based on the file's extension\n"
+ msgstr ""
+
+-#: gcc.c:3265
++#: gcc.c:3259
+ #, c-format
+ msgid ""
+ "\n"
+@@ -1055,238 +1053,242 @@
+ " other options on to these processes the -W<letter> options must be used.\n"
+ msgstr ""
+
+-#: gcc.c:3389
++#: gcc.c:3383
+ #, c-format
+ msgid "'-%c' option must have argument"
+ msgstr "de '-%c' moet een argument hebben"
+
+-#: gcc.c:3411
++#: gcc.c:3405
+ #, c-format
+ msgid "couldn't run '%s': %s"
+ msgstr "kon '%s' niet uitvoeren: %s"
+
+ # moet dit eigenlijk wel een vertaalbare string zijn?
+ #. translate_options () has turned --version into -fversion.
+-#: gcc.c:3612
+-#, fuzzy, c-format
++#: gcc.c:3606
++#, c-format
+ msgid "%s %s%s\n"
+-msgstr "%s '%s'\n"
++msgstr "%s %s%s\n"
+
+ # Het copyright symbool zit in latin-1 dus lijkt me toepasselijk voor Nederlands (aangezien we ook accenten hebben).
+ # Maar misschien toch als (C) laten?
+-#: gcc.c:3615 gcov.c:426 fortran/gfortranspec.c:380 java/jcf-dump.c:1168
++#: gcc.c:3609 gcov.c:427 fortran/gfortranspec.c:380 java/jcf-dump.c:1168
+ msgid "(C)"
+ msgstr "©"
+
+-#: gcc.c:3616 java/jcf-dump.c:1169
++#: gcc.c:3610 java/jcf-dump.c:1169
+ #, c-format
+ msgid ""
+ "This is free software; see the source for copying conditions. There is NO\n"
+ "warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.\n"
+ "\n"
+ msgstr ""
++"Dit is vrije software; zie de broncode voor kopieercondities. Er is GEEN\n"
++"garantie; zelfs niet voor VERKOOPBAARHEID of GESCHIKTHEID voor een bepaald\n"
++"doel.\n"
++"\n"
+
+-#: gcc.c:3728
++#: gcc.c:3722
+ #, c-format
+ msgid "argument to '-Xlinker' is missing"
+ msgstr "het argument van '-Xlinker' ontbreekt"
+
+-#: gcc.c:3736
++#: gcc.c:3730
+ #, c-format
+ msgid "argument to '-Xpreprocessor' is missing"
+ msgstr "het argument van '-Xpreprocessor' ontbreekt"
+
+-#: gcc.c:3743
++#: gcc.c:3737
+ #, c-format
+ msgid "argument to '-Xassembler' is missing"
+ msgstr "het argument van '-Xassembler' ontbreekt"
+
+-#: gcc.c:3750
++#: gcc.c:3744
+ #, c-format
+ msgid "argument to '-l' is missing"
+ msgstr "het argument van '-l' ontbreekt"
+
+-#: gcc.c:3771
++#: gcc.c:3765
+ #, c-format
+ msgid "argument to '-specs' is missing"
+ msgstr "het argument van '-specs' ontbreekt"
+
+-#: gcc.c:3785
++#: gcc.c:3779
+ #, c-format
+ msgid "argument to '-specs=' is missing"
+ msgstr "het argument van '-specs=' ontbreekt"
+
+-#: gcc.c:3826
++#: gcc.c:3820
+ #, c-format
+ msgid "'-%c' must come at the start of the command line"
+ msgstr ""
+
+-#: gcc.c:3835
++#: gcc.c:3829
+ #, c-format
+ msgid "argument to '-B' is missing"
+ msgstr "het argument van '-B' ontbreekt"
+
+-#: gcc.c:4185
++#: gcc.c:4179
+ #, c-format
+ msgid "argument to '-x' is missing"
+ msgstr "het argument van '-x' ontbreekt"
+
+-#: gcc.c:4213
++#: gcc.c:4207
+ #, c-format
+ msgid "argument to '-%s' is missing"
+ msgstr "het argument van '-%s' ontbreekt"
+
+-#: gcc.c:4541
++#: gcc.c:4535
+ #, c-format
+ msgid "switch '%s' does not start with '-'"
+ msgstr ""
+
+-#: gcc.c:4685
++#: gcc.c:4679
+ #, c-format
+ msgid "spec '%s' invalid"
+ msgstr ""
+
+-#: gcc.c:4824
++#: gcc.c:4818
+ #, c-format
+ msgid "spec '%s' has invalid '%%0%c'"
+ msgstr "spec '%s' heeft een ongeldige '%%0%c'"
+
+-#: gcc.c:5053
+-#, fuzzy, c-format
++#: gcc.c:5047
++#, c-format
+ msgid "could not open temporary response file %s"
+-msgstr "kan bestand '%s' niet openen"
++msgstr "kon tijdelijk antwoordbestand %s niet openen"
+
+-#: gcc.c:5059
++#: gcc.c:5053
+ #, c-format
+ msgid "could not write to temporary response file %s"
+-msgstr ""
++msgstr "kon niet schrijven naar tijdelijk antwoordbestand %s"
+
+-#: gcc.c:5065
+-#, fuzzy, c-format
++#: gcc.c:5059
++#, c-format
+ msgid "could not close temporary response file %s"
+-msgstr "kan bestand '%s' niet openen"
++msgstr "kon tijdelijk antwoordbestand %s niet sluiten"
+
+-#: gcc.c:5099
++#: gcc.c:5093
+ #, c-format
+ msgid "spec '%s' has invalid '%%W%c"
+ msgstr "spec '%s' heeft een ongeldige '%%W%c'"
+
+-#: gcc.c:5119
++#: gcc.c:5113
+ #, c-format
+ msgid "spec '%s' has invalid '%%x%c'"
+ msgstr "spec '%s' heeft een ongeldige '%%x%c'"
+
+-#: gcc.c:5341
++#: gcc.c:5335
+ #, c-format
+ msgid "Processing spec %c%s%c, which is '%s'\n"
+ msgstr ""
+
+-#: gcc.c:5465
++#: gcc.c:5459
+ #, c-format
+ msgid "unknown spec function '%s'"
+ msgstr "onbekende spec-functie '%s'"
+
+-#: gcc.c:5484
++#: gcc.c:5478
+ #, c-format
+ msgid "error in args to spec function '%s'"
+ msgstr "fout in argumenten voor spec-functie '%s'"
+
+-#: gcc.c:5532
++#: gcc.c:5526
+ #, c-format
+ msgid "malformed spec function name"
+ msgstr "misvormde naam van spec-functie"
+
+ #. )
+-#: gcc.c:5535
++#: gcc.c:5529
+ #, c-format
+ msgid "no arguments for spec function"
+ msgstr "geen argumenten voor spec-functie"
+
+-#: gcc.c:5554
++#: gcc.c:5548
+ #, c-format
+ msgid "malformed spec function arguments"
+ msgstr ""
+
+-#: gcc.c:5800
++#: gcc.c:5794
+ #, c-format
+ msgid "braced spec '%s' is invalid at '%c'"
+ msgstr ""
+
+-#: gcc.c:5888
++#: gcc.c:5882
+ #, c-format
+ msgid "braced spec body '%s' is invalid"
+ msgstr ""
+
+-#: gcc.c:6421
++#: gcc.c:6420
+ #, c-format
+ msgid "install: %s%s\n"
+ msgstr ""
+
+-#: gcc.c:6424
++#: gcc.c:6423
+ #, c-format
+ msgid "programs: %s\n"
+ msgstr ""
+
+-#: gcc.c:6426
++#: gcc.c:6425
+ #, c-format
+ msgid "libraries: %s\n"
+ msgstr ""
+
+ #. The error status indicates that only one set of fixed
+ #. headers should be built.
+-#: gcc.c:6480
++#: gcc.c:6479
+ #, c-format
+ msgid "not configured with sysroot headers suffix"
+ msgstr ""
+
+-#: gcc.c:6489
++#: gcc.c:6488
+ #, c-format
+ msgid ""
+ "\n"
+ "For bug reporting instructions, please see:\n"
+ msgstr ""
+
+-#: gcc.c:6505
++#: gcc.c:6504
+ #, c-format
+ msgid "Target: %s\n"
+ msgstr ""
+
+-#: gcc.c:6506
++#: gcc.c:6505
+ #, c-format
+ msgid "Configured with: %s\n"
+ msgstr ""
+
+-#: gcc.c:6520
++#: gcc.c:6519
+ #, c-format
+ msgid "Thread model: %s\n"
+ msgstr ""
+
+-#: gcc.c:6531
+-#, fuzzy, c-format
++#: gcc.c:6530
++#, c-format
+ msgid "gcc version %s %s\n"
+-msgstr "gcc versie %s\n"
++msgstr "gcc versie %s %s\n"
+
+-#: gcc.c:6533
+-#, fuzzy, c-format
++#: gcc.c:6532
++#, c-format
+ msgid "gcc driver version %s %sexecuting gcc version %s\n"
+-msgstr "gcc stuurprogramma versie %s voert gcc versie %s uit\n"
++msgstr "gcc stuurprogramma versie %s %svoert gcc versie %s uit\n"
+
+-#: gcc.c:6541
++#: gcc.c:6540
+ #, c-format
+ msgid "no input files"
+ msgstr "geen invoerbestanden"
+
+-#: gcc.c:6590
++#: gcc.c:6589
+ #, c-format
+ msgid "cannot specify -o with -c or -S with multiple files"
+ msgstr ""
+
+-#: gcc.c:6624
++#: gcc.c:6623
+ #, c-format
+ msgid "spec '%s' is invalid"
+ msgstr "spec '%s' is ongeldig"
+
+-#: gcc.c:6760
++#: gcc.c:6759
+ #, c-format
+ msgid ""
+ "\n"
+@@ -1295,60 +1297,60 @@
+ "\n"
+ msgstr ""
+
+-#: gcc.c:6761
++#: gcc.c:6760
+ #, c-format
+ msgid ""
+ "Use \"-Wl,OPTION\" to pass \"OPTION\" to the linker.\n"
+ "\n"
+ msgstr ""
+
+-#: gcc.c:7112
++#: gcc.c:7111
+ #, c-format
+ msgid "multilib spec '%s' is invalid"
+ msgstr "multilib spec '%s' is ongeldig"
+
+ # hoe moet 'multilib exclusions' vertaald worden?
+-#: gcc.c:7303
++#: gcc.c:7302
+ #, c-format
+ msgid "multilib exclusions '%s' is invalid"
+ msgstr "multilib exclusions '%s' is ongeldig"
+
+-#: gcc.c:7361 gcc.c:7502
++#: gcc.c:7360 gcc.c:7501
+ #, c-format
+ msgid "multilib select '%s' is invalid"
+ msgstr "multilib select '%s' in ongeldig"
+
+-#: gcc.c:7540
++#: gcc.c:7539
+ #, c-format
+ msgid "multilib exclusion '%s' is invalid"
+ msgstr "multilib exclusion '%s' is ongeldig"
+
+-#: gcc.c:7746
++#: gcc.c:7745
+ #, c-format
+ msgid "environment variable \"%s\" not defined"
+ msgstr ""
+
+-#: gcc.c:7837 gcc.c:7842
++#: gcc.c:7836 gcc.c:7841
+ #, c-format
+ msgid "invalid version number `%s'"
+ msgstr "ongeldig versienummer `%s'"
+
+-#: gcc.c:7885
++#: gcc.c:7884
+ #, c-format
+ msgid "too few arguments to %%:version-compare"
+ msgstr "te weinig argumenten voor %%:version-compare"
+
+-#: gcc.c:7891
++#: gcc.c:7890
+ #, c-format
+ msgid "too many arguments to %%:version-compare"
+ msgstr "te veel argumenten voor %%:version-compare"
+
+-#: gcc.c:7932
++#: gcc.c:7931
+ #, c-format
+ msgid "unknown operator '%s' in %%:version-compare"
+ msgstr "onbekende operator '%s' in %%:version-compare"
+
+-#: gcc.c:7966
++#: gcc.c:7965
+ #, c-format
+ msgid ""
+ "Assembler options\n"
+@@ -1356,89 +1358,89 @@
+ "\n"
+ msgstr ""
+
+-#: gcc.c:7967
++#: gcc.c:7966
+ #, c-format
+ msgid ""
+ "Use \"-Wa,OPTION\" to pass \"OPTION\" to the assembler.\n"
+ "\n"
+ msgstr ""
+
+-#: gcov.c:399
+-#, fuzzy, c-format
++#: gcov.c:400
++#, c-format
+ msgid ""
+ "Usage: gcov [OPTION]... SOURCEFILE...\n"
+ "\n"
+ msgstr ""
+-"Gebruik: gcov [OPTIE]... BRONBESTAND\n"
++"Gebruik: gcov [OPTIE]... BRONBESTAND...\n"
+ "\n"
+
+-#: gcov.c:400
++#: gcov.c:401
+ #, c-format
+ msgid ""
+ "Print code coverage information.\n"
+ "\n"
+ msgstr ""
+
+-#: gcov.c:401
++#: gcov.c:402
+ #, c-format
+ msgid " -h, --help Print this help, then exit\n"
+ msgstr ""
+
+-#: gcov.c:402
++#: gcov.c:403
+ #, c-format
+ msgid " -v, --version Print version number, then exit\n"
+ msgstr ""
+
+-#: gcov.c:403
++#: gcov.c:404
+ #, c-format
+ msgid " -a, --all-blocks Show information for every basic block\n"
+ msgstr ""
+
+-#: gcov.c:404
++#: gcov.c:405
+ #, c-format
+ msgid " -b, --branch-probabilities Include branch probabilities in output\n"
+ msgstr ""
+
+-#: gcov.c:405
++#: gcov.c:406
+ #, c-format
+ msgid ""
+ " -c, --branch-counts Given counts of branches taken\n"
+ " rather than percentages\n"
+ msgstr ""
+
+-#: gcov.c:407
++#: gcov.c:408
+ #, c-format
+ msgid " -n, --no-output Do not create an output file\n"
+ msgstr ""
+
+-#: gcov.c:408
++#: gcov.c:409
+ #, c-format
+ msgid ""
+ " -l, --long-file-names Use long output file names for included\n"
+ " source files\n"
+ msgstr ""
+
+-#: gcov.c:410
++#: gcov.c:411
+ #, c-format
+ msgid " -f, --function-summaries Output summaries for each function\n"
+ msgstr ""
+
+-#: gcov.c:411
++#: gcov.c:412
+ #, c-format
+ msgid " -o, --object-directory DIR|FILE Search for object files in DIR or called FILE\n"
+ msgstr ""
+
+-#: gcov.c:412
++#: gcov.c:413
+ #, c-format
+ msgid " -p, --preserve-paths Preserve all pathname components\n"
+ msgstr ""
+
+-#: gcov.c:413
++#: gcov.c:414
+ #, c-format
+ msgid " -u, --unconditional-branches Show unconditional branch counts too\n"
+ msgstr ""
+
+-#: gcov.c:414
++#: gcov.c:415
+ #, c-format
+ msgid ""
+ "\n"
+@@ -1447,12 +1449,12 @@
+ msgstr ""
+
+ # moet dit eigenlijk wel een vertaalbare string zijn?
+-#: gcov.c:424
+-#, fuzzy, c-format
++#: gcov.c:425
++#, c-format
+ msgid "gcov %s%s\n"
+-msgstr "gcov (GCC) %s\n"
++msgstr "gcov %s%s\n"
+
+-#: gcov.c:428
++#: gcov.c:429
+ #, c-format
+ msgid ""
+ "This is free software; see the source for copying conditions.\n"
+@@ -1465,210 +1467,211 @@
+ "GESCHIKTHEID VOOR ENIG DOEL.\n"
+ "\n"
+
+-#: gcov.c:524
++#: gcov.c:525
+ #, c-format
+ msgid "%s:no functions found\n"
+ msgstr "%s:geen functies gevonden\n"
+
+ # moet dit eigenlijk wel een vertaalbare string zijn?
+-#: gcov.c:556 gcov.c:584 fortran/dump-parse-tree.c:63
++#: gcov.c:557 gcov.c:585 fortran/dump-parse-tree.c:63
+ #, c-format
+ msgid "\n"
+ msgstr "\n"
+
+-#: gcov.c:571
++#: gcov.c:572
+ #, c-format
+ msgid "%s:creating '%s'\n"
+ msgstr "%s:'%s' wordt aangemaakt\n"
+
+-#: gcov.c:575
++#: gcov.c:576
+ #, c-format
+ msgid "%s:error writing output file '%s'\n"
+ msgstr "%s:fout bij schrijven van uitvoerbestand '%s'\n"
+
+-#: gcov.c:580
++#: gcov.c:581
+ #, c-format
+ msgid "%s:could not open output file '%s'\n"
+ msgstr "%s:kon uitvoerbestand '%s' niet openen\n"
+
+-#: gcov.c:729
++#: gcov.c:730
+ #, c-format
+ msgid "%s:source file is newer than graph file '%s'\n"
+ msgstr ""
+
+-#: gcov.c:734
++#: gcov.c:735
+ #, c-format
+ msgid "(the message is only displayed one per source file)\n"
+ msgstr ""
+
+ # graafbestand is niet verkeerd maar kan dubbelzinnig zijn, dus houd ik het op graphbestand
+-#: gcov.c:758
++#: gcov.c:759
+ #, c-format
+ msgid "%s:cannot open graph file\n"
+ msgstr "%s:kan graphbestand niet openen\n"
+
+-#: gcov.c:764
++#: gcov.c:765
+ #, c-format
+ msgid "%s:not a gcov graph file\n"
+ msgstr "%s:geen gcov graphbestand\n"
+
+-#: gcov.c:777
++#: gcov.c:778
+ #, c-format
+ msgid "%s:version '%.4s', prefer '%.4s'\n"
+ msgstr "%s:versie '%.4s', verkies '%.4s'\n"
+
+-#: gcov.c:829
++#: gcov.c:830
+ #, c-format
+ msgid "%s:already seen blocks for '%s'\n"
+ msgstr ""
+
+-#: gcov.c:947
++#: gcov.c:948
+ #, c-format
+ msgid "%s:corrupted\n"
+ msgstr "%s:corrupt\n"
+
+-#: gcov.c:1023
+-#, fuzzy, c-format
++# Niet letterlijk vertaald, maar zou de lading moeten dekken
++#: gcov.c:1024
++#, c-format
+ msgid "%s:cannot open data file, assuming not executed\n"
+-msgstr "%s:kan gegevensbestand niet openen\n"
++msgstr "%s:kan gegevensbestand niet openen; code zal niet uitgevoerd zijn\n"
+
+-#: gcov.c:1030
++#: gcov.c:1031
+ #, c-format
+ msgid "%s:not a gcov data file\n"
+ msgstr "%s:geen gcov gegevensbestand\n"
+
+-#: gcov.c:1043
++#: gcov.c:1044
+ #, c-format
+ msgid "%s:version '%.4s', prefer version '%.4s'\n"
+ msgstr "%s:versie '%.4s', verkies versie '%.4s'\n"
+
+-#: gcov.c:1049
++#: gcov.c:1050
+ #, c-format
+ msgid "%s:stamp mismatch with graph file\n"
+ msgstr ""
+
+-#: gcov.c:1078
++#: gcov.c:1079
+ #, c-format
+ msgid "%s:unknown function '%u'\n"
+ msgstr "%s:Onbekende functie '%u'\n"
+
+-#: gcov.c:1091
++#: gcov.c:1092
+ #, c-format
+ msgid "%s:profile mismatch for '%s'\n"
+ msgstr ""
+
+-#: gcov.c:1110
++#: gcov.c:1111
+ #, c-format
+ msgid "%s:overflowed\n"
+ msgstr ""
+
+-#: gcov.c:1134
++#: gcov.c:1135
+ #, c-format
+ msgid "%s:'%s' lacks entry and/or exit blocks\n"
+ msgstr ""
+
+-#: gcov.c:1139
++#: gcov.c:1140
+ #, c-format
+ msgid "%s:'%s' has arcs to entry block\n"
+ msgstr ""
+
+-#: gcov.c:1147
++#: gcov.c:1148
+ #, c-format
+ msgid "%s:'%s' has arcs from exit block\n"
+ msgstr ""
+
+-#: gcov.c:1355
++#: gcov.c:1356
+ #, c-format
+ msgid "%s:graph is unsolvable for '%s'\n"
+ msgstr ""
+
+ # moet dit eigenlijk wel een vertaalbare string zijn?
+-#: gcov.c:1435
++#: gcov.c:1436
+ #, c-format
+ msgid "%s '%s'\n"
+ msgstr "%s '%s'\n"
+
+-#: gcov.c:1438
++#: gcov.c:1439
+ #, c-format
+ msgid "Lines executed:%s of %d\n"
+ msgstr "Uitgevoerde lijnen:%s van %d\n"
+
+-#: gcov.c:1442
++#: gcov.c:1443
+ #, c-format
+ msgid "No executable lines\n"
+ msgstr "Geen uitvoerbare lijnen\n"
+
+-#: gcov.c:1448
++#: gcov.c:1449
+ #, c-format
+ msgid "Branches executed:%s of %d\n"
+ msgstr "Uitgevoerde aftakkingen:%s van %d\n"
+
+-#: gcov.c:1452
++#: gcov.c:1453
+ #, c-format
+ msgid "Taken at least once:%s of %d\n"
+ msgstr "Minstens één keer uitgevoerd:%s van %d\n"
+
+-#: gcov.c:1458
++#: gcov.c:1459
+ #, c-format
+ msgid "No branches\n"
+ msgstr "Geen aftakkingen\n"
+
+-#: gcov.c:1460
++#: gcov.c:1461
+ #, c-format
+ msgid "Calls executed:%s of %d\n"
+ msgstr "Uitgevoerde calls:%s van %d\n"
+
+-#: gcov.c:1464
++#: gcov.c:1465
+ #, c-format
+ msgid "No calls\n"
+ msgstr "Geen calls\n"
+
+-#: gcov.c:1611
++#: gcov.c:1612
+ #, c-format
+ msgid "%s:no lines for '%s'\n"
+ msgstr "%s:geen lijnen voor '%s'\n"
+
+-#: gcov.c:1806
++#: gcov.c:1807
+ #, c-format
+ msgid "call %2d returned %s\n"
+ msgstr "call %2d kwam %s terug\n"
+
+-#: gcov.c:1811
++#: gcov.c:1812
+ #, c-format
+ msgid "call %2d never executed\n"
+ msgstr "call %2d nooit uitgevoerd\n"
+
+-#: gcov.c:1816
++#: gcov.c:1817
+ #, c-format
+ msgid "branch %2d taken %s%s\n"
+ msgstr ""
+
+-#: gcov.c:1820
++#: gcov.c:1821
+ #, c-format
+ msgid "branch %2d never executed\n"
+ msgstr ""
+
+ # is me niet helemaal duidelijk wat een 'unconditional' is
+-#: gcov.c:1825
++#: gcov.c:1826
+ #, c-format
+ msgid "unconditional %2d taken %s\n"
+ msgstr "onvoorwaardelijke tak %2d werd %s genomen\n"
+
+-#: gcov.c:1828
++#: gcov.c:1829
+ #, c-format
+ msgid "unconditional %2d never executed\n"
+ msgstr "onvoorwaardelijke tak %2d werd nooit uitgevoerd\n"
+
+-#: gcov.c:1864
++#: gcov.c:1865
+ #, c-format
+ msgid "%s:cannot open source file\n"
+ msgstr "%s:kan bronbestand niet openen\n"
+
+-#: gcse.c:685
++#: gcse.c:679
+ msgid "GCSE disabled"
+ msgstr "GCSE uitgeschakeld"
+
+-#: gcse.c:6600
++#: gcse.c:6584
+ msgid "jump bypassing disabled"
+ msgstr "jump bypassing uitgeschakeld"
+
+@@ -1687,14 +1690,12 @@
+ msgstr "limiet van --param large-function-growth bereikt"
+
+ #: ipa-inline.c:392
+-#, fuzzy
+ msgid "--param large-stack-frame-growth limit reached"
+-msgstr "limiet van --param large-function-growth bereikt"
++msgstr "limiet van --param large-stack-frame-growth bereikt"
+
+ #: ipa-inline.c:410
+-#, fuzzy
+ msgid "function not inline candidate"
+-msgstr "functie kan niet inline gemaakt worden"
++msgstr "functie is geen kandidaat om inline gemaakt te worden"
+
+ #: ipa-inline.c:426
+ msgid "--param max-inline-insns-single limit reached"
+@@ -1722,123 +1723,117 @@
+
+ #: ipa-inline.c:1013
+ msgid "--param inline-unit-growth limit reached"
+-msgstr ""
++msgstr "limiet van --param inline-unit-growth bereikt"
+
+ #: langhooks.c:389
+ msgid "At top level:"
+ msgstr "Op bovenste niveau:"
+
+ #: langhooks.c:407
+-#, fuzzy, c-format
++#, c-format
+ msgid "In member function %qs"
+-msgstr "In memberfunctie %qs:"
++msgstr "In memberfunctie %qs"
+
+ #: langhooks.c:411
+-#, fuzzy, c-format
++#, c-format
+ msgid "In function %qs"
+-msgstr "In functie %qs:"
++msgstr "In functie %qs"
+
+ #: langhooks.c:461
+-#, fuzzy, c-format
++#, c-format
+ msgid " inlined from %qs at %s:%d:%d"
+-msgstr "ongeldige registernaam voor %qs"
++msgstr " inline gemaakt vanuit %qs op %s:%d:%d"
+
+ #: langhooks.c:467
+-#, fuzzy, c-format
++#, c-format
+ msgid " inlined from %qs at %s:%d"
+-msgstr "%s voor %qs"
++msgstr " inline gemaakt vanuit %qs op %s:%d"
+
+ #: langhooks.c:473
+-#, fuzzy, c-format
++#, c-format
+ msgid " inlined from %qs"
+-msgstr "'complex' ongeldig voor %qs"
++msgstr " inline gemaakt vanuit %qs"
+
+-#: loop-iv.c:2805 tree-ssa-loop-niter.c:1818
++#: loop-iv.c:2806 tree-ssa-loop-niter.c:1818
+ msgid "assuming that the loop is not infinite"
+ msgstr ""
+
+-#: loop-iv.c:2806 tree-ssa-loop-niter.c:1819
++#: loop-iv.c:2807 tree-ssa-loop-niter.c:1819
+ msgid "cannot optimize possibly infinite loops"
+ msgstr ""
+
+-#: loop-iv.c:2814 tree-ssa-loop-niter.c:1823
++#: loop-iv.c:2815 tree-ssa-loop-niter.c:1823
+ msgid "assuming that the loop counter does not overflow"
+ msgstr ""
+
+-#: loop-iv.c:2815 tree-ssa-loop-niter.c:1824
++#: loop-iv.c:2816 tree-ssa-loop-niter.c:1824
+ msgid "cannot optimize loop, the loop counter may overflow"
+ msgstr ""
+
+ #. What to print when a switch has no documentation.
+-#: opts.c:348
++#: opts.c:340
+ msgid "This switch lacks documentation"
+ msgstr "Deze optie heeft geen documentatie"
+
+-#: opts.c:1159
++#: opts.c:1161
+ msgid "[enabled]"
+-msgstr ""
++msgstr "[ingeschakeld]"
+
+-#: opts.c:1159
+-#, fuzzy
++#: opts.c:1161
+ msgid "[disabled]"
+-msgstr "GCSE uitgeschakeld"
++msgstr "[uitgeschakeld]"
+
+-#: opts.c:1170
++#: opts.c:1172
+ #, c-format
+ msgid " No options with the desired characteristics were found\n"
+ msgstr ""
+
+-#: opts.c:1172
++#: opts.c:1174
+ #, c-format
+ msgid " All options with the desired characteristics have already been displayed\n"
+ msgstr ""
+
+-#: opts.c:1226
+-#, fuzzy
++#: opts.c:1228
+ msgid "The following options are target specific"
+-msgstr "De volgende opties zijn taalafhankelijk:\n"
++msgstr "De volgende opties zijn afhankelijk van het doelsysteem"
+
+-#: opts.c:1229
+-#, fuzzy
++#: opts.c:1231
+ msgid "The following options control compiler warning messages"
+-msgstr "De volgende opties zijn taalafhankelijk:\n"
++msgstr "De volgende opties beheren waarschuwingsboodschappen van de compiler"
+
+-#: opts.c:1232
+-#, fuzzy
++#: opts.c:1234
+ msgid "The following options control optimizations"
+-msgstr "lege declaratie"
++msgstr "De volgende opties beheren optimalisaties"
+
+-#: opts.c:1235 opts.c:1273
+-#, fuzzy
++#: opts.c:1237 opts.c:1275
+ msgid "The following options are language-independent"
+-msgstr "De volgende opties zijn taalafhankelijk:\n"
++msgstr "De volgende opties zijn taalafhankelijk"
+
+-#: opts.c:1238
+-#, fuzzy
++#: opts.c:1240
+ msgid "The --param option recognizes the following as parameters"
+-msgstr "De --param optie herkent de volgende parameters:\n"
++msgstr "De --param optie herkent de volgende parameters"
+
+-#: opts.c:1245
+-#, fuzzy
++# Zou een format spec moeten hebben voor de taalnaam...
++#: opts.c:1247
+ msgid "The following options are specific to the language "
+-msgstr "De volgende opties zijn taalafhankelijk:\n"
++msgstr "De volgende opties enkel van toepassing voor de taal "
+
+-#: opts.c:1249
+-#, fuzzy
++# Zou een format spec moeten hebben voor de taalnaam...
++# Of beter "voor de taal "?
++#: opts.c:1251
+ msgid "The following options are supported by the language "
+-msgstr "De volgende opties zijn taalafhankelijk:\n"
++msgstr "De volgende opties worden ondersteund door de taal "
+
+-#: opts.c:1260
+-#, fuzzy
++#: opts.c:1262
+ msgid "The following options are not documented"
+-msgstr "De volgende opties zijn taalafhankelijk:\n"
++msgstr "De volgende opties zijn niet gedocumenteerd"
+
+-#: opts.c:1271
+-#, fuzzy
++# Betere vertaling?
++#: opts.c:1273
+ msgid "The following options are language-related"
+-msgstr "De volgende opties zijn taalafhankelijk:\n"
++msgstr "De volgende opties hebben iets met een taal te maken"
+
+-#: opts.c:1403
++#: opts.c:1405
+ #, c-format
+ msgid "warning: unrecognized argument to --help= switch: %.*s\n"
+ msgstr ""
+@@ -2153,7 +2148,7 @@
+ msgid "%s: input file names must have .c suffixes: %s\n"
+ msgstr ""
+
+-#: reload.c:3734
++#: reload.c:3744
+ msgid "unable to generate reloads for:"
+ msgstr ""
+
+@@ -2236,60 +2231,60 @@
+ msgstr "onherstelbare fout"
+
+ #: toplev.c:1180
+-#, fuzzy, c-format
++#, c-format
+ msgid ""
+ "%s%s%s %sversion %s (%s)\n"
+ "%s\tcompiled by GNU C version %s, "
+ msgstr ""
+-"%s%s%s versie %s (%s)\n"
+-"%s\tgecompileerd door GNU C versie %s.\n"
++"%s%s%s %sversie %s (%s)\n"
++"%s\tgecompileerd door GNU C versie %s, "
+
+ #: toplev.c:1182
+-#, fuzzy, c-format
++#, c-format
+ msgid "%s%s%s %sversion %s (%s) compiled by CC, "
+-msgstr "%s%s%s versie %s (%s) gecompileerd door CC.\n"
++msgstr "%s%s%s %sversie %s (%s) gecompileerd door CC, "
+
+ #: toplev.c:1186
+-#, fuzzy, c-format
++#, c-format
+ msgid "GMP version %s, MPFR version %s.\n"
+-msgstr "%s:versie '%.4s', verkies versie '%.4s'\n"
++msgstr "GMP versie %s, MPFR versie %s.\n"
+
+ #: toplev.c:1188
+ #, c-format
+-msgid "warning: %s header version %s differs from library version %s.\n"
+-msgstr ""
++msgid "%s%swarning: %s header version %s differs from library version %s.\n"
++msgstr "%s%slet op: %s headerversie %s verschilt van bibliotheekversie %s.\n"
+
+ #: toplev.c:1190
+ #, c-format
+ msgid "%s%sGGC heuristics: --param ggc-min-expand=%d --param ggc-min-heapsize=%d\n"
+-msgstr ""
++msgstr "%s%sGGC heuristieken: --param ggc-min-expand=%d --param ggc-min-heapsize=%d\n"
+
+-#: toplev.c:1340
++#: toplev.c:1342
+ msgid "options passed: "
+ msgstr "meegegeven opties: "
+
+-#: toplev.c:1374
++#: toplev.c:1376
+ msgid "options enabled: "
+ msgstr "ingeschakelde opties: "
+
+-#: toplev.c:1509
++#: toplev.c:1511
+ #, c-format
+ msgid "created and used with differing settings of '%s'"
+ msgstr ""
+
+-#: toplev.c:1511
++#: toplev.c:1513
+ msgid "out of memory"
+ msgstr ""
+
+-#: toplev.c:1526
++#: toplev.c:1528
+ msgid "created and used with different settings of -fpic"
+ msgstr ""
+
+-#: toplev.c:1528
++#: toplev.c:1530
+ msgid "created and used with different settings of -fpie"
+ msgstr ""
+
+-#: tree-inline.c:2571
++#: tree-inline.c:2657
+ msgid "originally indirect function call not considered for inlining"
+ msgstr ""
+
+@@ -2348,7 +2343,7 @@
+ msgstr ""
+
+ #: params.def:93
+-msgid "The threshold ratio between current and hotest structure counts"
++msgid "The threshold ratio between current and hottest structure counts"
+ msgstr ""
+
+ #: params.def:110
+@@ -2420,9 +2415,8 @@
+ msgstr ""
+
+ #: params.def:217
+-#, fuzzy
+ msgid "The size of stack frame to be considered large"
+-msgstr "bestand %qs is te groot"
++msgstr ""
+
+ #: params.def:221
+ msgid "Maximal stack frame growth due to inlining (in percent)"
+@@ -2740,115 +2734,123 @@
+ msgid "Maximum length of partial antic set when performing tree pre optimization"
+ msgstr ""
+
+-#: config/alpha/alpha.c:5015
++#: params.def:723
++msgid "Maximum size of a SCC before SCCVN stops processing a function"
++msgstr ""
++
++#: params.def:729
++msgid "Multiplier used for determining the double-queueing threshold"
++msgstr ""
++
++#: config/alpha/alpha.c:5023
+ #, c-format
+ msgid "invalid %%H value"
+ msgstr "ongeldige waarde voor %%H"
+
+-#: config/alpha/alpha.c:5036 config/bfin/bfin.c:1423
++#: config/alpha/alpha.c:5044 config/bfin/bfin.c:1516
+ #, c-format
+ msgid "invalid %%J value"
+ msgstr "ongeldige waarde voor %%J"
+
+-#: config/alpha/alpha.c:5066 config/ia64/ia64.c:4718
++#: config/alpha/alpha.c:5074 config/ia64/ia64.c:4719
+ #, c-format
+ msgid "invalid %%r value"
+ msgstr "ongeldige waarde voor %%r"
+
+-#: config/alpha/alpha.c:5076 config/ia64/ia64.c:4672
+-#: config/rs6000/rs6000.c:11670 config/xtensa/xtensa.c:2036
++#: config/alpha/alpha.c:5084 config/ia64/ia64.c:4673
++#: config/rs6000/rs6000.c:11881 config/xtensa/xtensa.c:2042
+ #, c-format
+ msgid "invalid %%R value"
+ msgstr "ongeldige waarde voor %%R"
+
+-#: config/alpha/alpha.c:5082 config/rs6000/rs6000.c:11589
+-#: config/xtensa/xtensa.c:2003
++#: config/alpha/alpha.c:5090 config/rs6000/rs6000.c:11800
++#: config/xtensa/xtensa.c:2009
+ #, c-format
+ msgid "invalid %%N value"
+ msgstr "ongeldige waarde voor %%N"
+
+-#: config/alpha/alpha.c:5090 config/rs6000/rs6000.c:11617
++#: config/alpha/alpha.c:5098 config/rs6000/rs6000.c:11828
+ #, c-format
+ msgid "invalid %%P value"
+ msgstr "ongeldige waarde voor %%P"
+
+-#: config/alpha/alpha.c:5098
++#: config/alpha/alpha.c:5106
+ #, c-format
+ msgid "invalid %%h value"
+ msgstr "ongeldige waarde voor %%h"
+
+-#: config/alpha/alpha.c:5106 config/xtensa/xtensa.c:2029
++#: config/alpha/alpha.c:5114 config/xtensa/xtensa.c:2035
+ #, c-format
+ msgid "invalid %%L value"
+ msgstr "ongeldige waarde voor %%L"
+
+-#: config/alpha/alpha.c:5145 config/rs6000/rs6000.c:11571
++#: config/alpha/alpha.c:5153 config/rs6000/rs6000.c:11782
+ #, c-format
+ msgid "invalid %%m value"
+ msgstr "ongeldige waarde voor %%m"
+
+-#: config/alpha/alpha.c:5153 config/rs6000/rs6000.c:11579
++#: config/alpha/alpha.c:5161 config/rs6000/rs6000.c:11790
+ #, c-format
+ msgid "invalid %%M value"
+ msgstr "ongeldige waarde voor %%M"
+
+-#: config/alpha/alpha.c:5197
++#: config/alpha/alpha.c:5205
+ #, c-format
+ msgid "invalid %%U value"
+ msgstr "ongeldige waarde voor %%U"
+
+-#: config/alpha/alpha.c:5209 config/alpha/alpha.c:5223
+-#: config/rs6000/rs6000.c:11678
++#: config/alpha/alpha.c:5217 config/alpha/alpha.c:5231
++#: config/rs6000/rs6000.c:11889
+ #, c-format
+ msgid "invalid %%s value"
+ msgstr "ongeldige waarde voor %%s"
+
+-#: config/alpha/alpha.c:5246
++#: config/alpha/alpha.c:5254
+ #, c-format
+ msgid "invalid %%C value"
+ msgstr "ongeldige waarde voor %%C"
+
+-#: config/alpha/alpha.c:5283 config/rs6000/rs6000.c:11406
+-#: config/rs6000/rs6000.c:11425
++#: config/alpha/alpha.c:5291 config/rs6000/rs6000.c:11617
++#: config/rs6000/rs6000.c:11636
+ #, c-format
+ msgid "invalid %%E value"
+ msgstr "ongeldige waarde voor %%E"
+
+ # mja, is nogal technisch - ikke nie snap nie
+-#: config/alpha/alpha.c:5308 config/alpha/alpha.c:5356
++#: config/alpha/alpha.c:5316 config/alpha/alpha.c:5364
+ #, c-format
+ msgid "unknown relocation unspec"
+ msgstr "onbekende 'unspec' relocatie"
+
+-#: config/alpha/alpha.c:5317 config/crx/crx.c:1081
+-#: config/rs6000/rs6000.c:12005 config/spu/spu.c:1492
++#: config/alpha/alpha.c:5325 config/crx/crx.c:1081
++#: config/rs6000/rs6000.c:12216 config/spu/spu.c:1482
+ #, c-format
+ msgid "invalid %%xn code"
+ msgstr "ongeldige code voor %%xn"
+
+-#: config/arc/arc.c:1724 config/m32r/m32r.c:1805
++#: config/arc/arc.c:1728 config/m32r/m32r.c:1805
+ #, c-format
+ msgid "invalid operand to %%R code"
+ msgstr "ongeldige operand voor %%R-code"
+
+-#: config/arc/arc.c:1756 config/m32r/m32r.c:1828
++#: config/arc/arc.c:1760 config/m32r/m32r.c:1828
+ #, c-format
+ msgid "invalid operand to %%H/%%L code"
+ msgstr "ongeldige operand voor %%H/%%L-code"
+
+-#: config/arc/arc.c:1778 config/m32r/m32r.c:1899
++#: config/arc/arc.c:1782 config/m32r/m32r.c:1899
+ #, c-format
+ msgid "invalid operand to %%U code"
+ msgstr "ongeldige operand voor %%U-code"
+
+-#: config/arc/arc.c:1789
++#: config/arc/arc.c:1793
+ #, c-format
+ msgid "invalid operand to %%V code"
+ msgstr "ongeldige operand voor %%V-code"
+
+ #. Unknown flag.
+ #. Undocumented flag.
+-#: config/arc/arc.c:1796 config/m32r/m32r.c:1926 config/sparc/sparc.c:6995
++#: config/arc/arc.c:1800 config/m32r/m32r.c:1926 config/sparc/sparc.c:6998
+ #, c-format
+ msgid "invalid operand output code"
+ msgstr "ongeldige code voor operanduitvoer"
+@@ -2865,268 +2867,186 @@
+ msgstr "instructie met predicaat in voorwaardelijke sequentie"
+
+ #: config/arm/arm.c:12686
+-#, fuzzy, c-format
++#, c-format
+ msgid "invalid shift operand"
+-msgstr "ongeldige operand voor %%f"
++msgstr "ongeldige shift-operand"
+
+ #: config/arm/arm.c:12733 config/arm/arm.c:12743 config/arm/arm.c:12753
+ #: config/arm/arm.c:12763 config/arm/arm.c:12773 config/arm/arm.c:12812
+ #: config/arm/arm.c:12830 config/arm/arm.c:12865 config/arm/arm.c:12884
+ #: config/arm/arm.c:12899 config/arm/arm.c:12927 config/arm/arm.c:12934
+ #: config/arm/arm.c:12942 config/arm/arm.c:12963 config/arm/arm.c:12970
+-#: config/bfin/bfin.c:1436 config/bfin/bfin.c:1443 config/bfin/bfin.c:1450
+-#: config/bfin/bfin.c:1457 config/bfin/bfin.c:1466 config/bfin/bfin.c:1473
+-#: config/bfin/bfin.c:1480 config/bfin/bfin.c:1487
++#: config/bfin/bfin.c:1529 config/bfin/bfin.c:1536 config/bfin/bfin.c:1543
++#: config/bfin/bfin.c:1550 config/bfin/bfin.c:1559 config/bfin/bfin.c:1566
++#: config/bfin/bfin.c:1573 config/bfin/bfin.c:1580
+ #, c-format
+ msgid "invalid operand for code '%c'"
+ msgstr "ongeldige operand voor code '%c'"
+
+ #: config/arm/arm.c:12825
+-#, fuzzy, c-format
++#, c-format
+ msgid "instruction never executed"
+-msgstr "onvoorwaardelijke tak %2d werd nooit uitgevoerd\n"
++msgstr "instructie wordt nooit uitgevoerd"
+
+ #: config/arm/arm.c:13037
+ #, c-format
+ msgid "missing operand"
+ msgstr "operand ontbreekt"
+
+-#: config/avr/avr.c:1022
++#: config/avr/avr.c:1062
+ #, c-format
+ msgid "address operand requires constraint for X, Y, or Z register"
+ msgstr ""
+
+-#: config/avr/avr.c:1129
++#: config/avr/avr.c:1169
+ msgid "bad address, not (reg+disp):"
+ msgstr ""
+
+-#: config/avr/avr.c:1136
++#: config/avr/avr.c:1176
+ msgid "bad address, not post_inc or pre_dec:"
+ msgstr ""
+
+-#: config/avr/avr.c:1147
++#: config/avr/avr.c:1187
+ msgid "internal compiler error. Bad address:"
+ msgstr "interne compilerfout. Slecht adres:"
+
+-#: config/avr/avr.c:1160
++#: config/avr/avr.c:1200
+ msgid "internal compiler error. Unknown mode:"
+ msgstr "interne compilerfout. Onbekende modus:"
+
+-#: config/avr/avr.c:1775 config/avr/avr.c:2463
++#: config/avr/avr.c:1815 config/avr/avr.c:2503
+ msgid "invalid insn:"
+ msgstr "ongeldige insn:"
+
+-#: config/avr/avr.c:1814 config/avr/avr.c:1900 config/avr/avr.c:1949
+-#: config/avr/avr.c:1977 config/avr/avr.c:2072 config/avr/avr.c:2241
+-#: config/avr/avr.c:2502 config/avr/avr.c:2614
++#: config/avr/avr.c:1854 config/avr/avr.c:1940 config/avr/avr.c:1989
++#: config/avr/avr.c:2017 config/avr/avr.c:2112 config/avr/avr.c:2281
++#: config/avr/avr.c:2542 config/avr/avr.c:2654
+ msgid "incorrect insn:"
+ msgstr ""
+
+-#: config/avr/avr.c:1996 config/avr/avr.c:2157 config/avr/avr.c:2312
+-#: config/avr/avr.c:2680
++#: config/avr/avr.c:2036 config/avr/avr.c:2197 config/avr/avr.c:2352
++#: config/avr/avr.c:2720
+ msgid "unknown move insn:"
+ msgstr "onbekende move-insn:"
+
+-#: config/avr/avr.c:2910
++#: config/avr/avr.c:2950
+ msgid "bad shift insn:"
+ msgstr ""
+
+-#: config/avr/avr.c:3026 config/avr/avr.c:3446 config/avr/avr.c:3804
++#: config/avr/avr.c:3066 config/avr/avr.c:3486 config/avr/avr.c:3844
+ msgid "internal compiler error. Incorrect shift:"
+ msgstr "interne compilerfout. Verkeerde shift:"
+
+-#: config/bfin/bfin.c:1385
++#: config/bfin/bfin.c:1478
+ #, c-format
+ msgid "invalid %%j value"
+ msgstr "ongeldige waarde voor %%j"
+
+-#: config/bfin/bfin.c:1578
++#: config/bfin/bfin.c:1671
+ #, c-format
+ msgid "invalid const_double operand"
+ msgstr "ongeldige const_double operand"
+
+-#: config/c4x/c4x.c:1583
+-msgid "using CONST_DOUBLE for address"
+-msgstr ""
+-
+-#: config/c4x/c4x.c:1721
+-msgid "c4x_address_cost: Invalid addressing mode"
+-msgstr "c4x_address_cost: Ongeldige adresseringsmodus"
+-
+-#: config/c4x/c4x.c:1856
+-#, c-format
+-msgid "c4x_print_operand: %%L inconsistency"
+-msgstr ""
+-
+-#: config/c4x/c4x.c:1862
+-#, c-format
+-msgid "c4x_print_operand: %%N inconsistency"
+-msgstr ""
+-
+-#: config/c4x/c4x.c:1903
+-#, c-format
+-msgid "c4x_print_operand: %%O inconsistency"
+-msgstr ""
+-
+-#: config/c4x/c4x.c:1998
+-msgid "c4x_print_operand: Bad operand case"
+-msgstr ""
+-
+-#: config/c4x/c4x.c:2039
+-msgid "c4x_print_operand_address: Bad post_modify"
+-msgstr ""
+-
+-#: config/c4x/c4x.c:2061
+-msgid "c4x_print_operand_address: Bad pre_modify"
+-msgstr ""
+-
+-#: config/c4x/c4x.c:2109 config/c4x/c4x.c:2121 config/c4x/c4x.c:2136
+-msgid "c4x_print_operand_address: Bad operand case"
+-msgstr ""
+-
+-#: config/c4x/c4x.c:2387
+-msgid "c4x_rptb_insert: Cannot find start label"
+-msgstr ""
+-
+-#: config/c4x/c4x.c:2985
+-msgid "invalid indirect memory address"
+-msgstr "ongeldig indirect geheugenadres"
+-
+-#: config/c4x/c4x.c:3074
+-msgid "invalid indirect (S) memory address"
+-msgstr "ongeldig indirect (S) geheugenadres"
+-
+-#: config/c4x/c4x.c:3409
+-msgid "c4x_valid_operands: Internal error"
+-msgstr ""
+-
+-#: config/c4x/c4x.c:3848
+-msgid "c4x_operand_subword: invalid mode"
+-msgstr ""
+-
+-#: config/c4x/c4x.c:3851
+-msgid "c4x_operand_subword: invalid operand"
+-msgstr ""
+-
+-#. We could handle these with some difficulty.
+-#. e.g., *p-- => *(p-=2); *(p+1).
+-#: config/c4x/c4x.c:3877
+-msgid "c4x_operand_subword: invalid autoincrement"
+-msgstr ""
+-
+-#: config/c4x/c4x.c:3883
+-msgid "c4x_operand_subword: invalid address"
+-msgstr ""
+-
+-# klinkt niet
+-#: config/c4x/c4x.c:3894
+-msgid "c4x_operand_subword: address not offsettable"
+-msgstr "c4x_operand_subword: adres kan niet geoffset worden"
+-
+-#: config/c4x/c4x.c:4096
+-msgid "c4x_rptb_rpts_p: Repeat block top label moved"
+-msgstr ""
+-
+ #. Use `%s' to print the string in case there are any escape
+ #. characters in the message.
+-#: config/cris/cris.c:491 fortran/dump-parse-tree.c:78
+-#: fortran/dump-parse-tree.c:430 fortran/dump-parse-tree.c:776
+-#: fortran/dump-parse-tree.c:821 c-typeck.c:4607 c-typeck.c:4622
+-#: c-typeck.c:4637 final.c:2984 final.c:2986 gcc.c:4737 loop-iv.c:2807
+-#: loop-iv.c:2816 rtl-error.c:112 toplev.c:610 tree-ssa-loop-niter.c:1829
+-#: cp/parser.c:2188 cp/typeck.c:4559 java/expr.c:409
++#: config/cris/cris.c:504 fortran/dump-parse-tree.c:78
++#: fortran/dump-parse-tree.c:430 fortran/dump-parse-tree.c:798
++#: fortran/dump-parse-tree.c:843 c-typeck.c:4618 c-typeck.c:4633
++#: c-typeck.c:4648 final.c:2997 final.c:2999 gcc.c:4731 loop-iv.c:2808
++#: loop-iv.c:2817 rtl-error.c:112 toplev.c:610 tree-ssa-loop-niter.c:1829
++#: cp/parser.c:2192 cp/typeck.c:4567 java/expr.c:409
+ #, gcc-internal-format
+ msgid "%s"
+ msgstr ""
+
+-#: config/cris/cris.c:542
++#: config/cris/cris.c:555
+ msgid "unexpected index-type in cris_print_index"
+ msgstr ""
+
+-#: config/cris/cris.c:556
++#: config/cris/cris.c:572
+ msgid "unexpected base-type in cris_print_base"
+ msgstr ""
+
+-#: config/cris/cris.c:672
++#: config/cris/cris.c:688
+ msgid "invalid operand for 'b' modifier"
+ msgstr "ongeldige operand voor 'b' modifier"
+
+-#: config/cris/cris.c:689
++#: config/cris/cris.c:705
+ msgid "invalid operand for 'o' modifier"
+ msgstr "ongeldige operand voor 'o' modifier"
+
+-#: config/cris/cris.c:708
++#: config/cris/cris.c:724
+ msgid "invalid operand for 'O' modifier"
+ msgstr "ongeldige operand voor 'O' modifier"
+
+-#: config/cris/cris.c:741
++#: config/cris/cris.c:757
+ msgid "invalid operand for 'p' modifier"
+ msgstr "ongeldige operand voor 'p' modifier"
+
+-#: config/cris/cris.c:780
++#: config/cris/cris.c:796
+ msgid "invalid operand for 'z' modifier"
+ msgstr "ongeldige operand voor 'z' modifier"
+
+-#: config/cris/cris.c:834 config/cris/cris.c:864
++#: config/cris/cris.c:860 config/cris/cris.c:894
+ msgid "invalid operand for 'H' modifier"
+ msgstr "ongeldige operand voor 'H' modifier"
+
+-#: config/cris/cris.c:840
++#: config/cris/cris.c:870
+ msgid "bad register"
+ msgstr "slecht register"
+
+-#: config/cris/cris.c:884
++#: config/cris/cris.c:914
+ msgid "invalid operand for 'e' modifier"
+ msgstr "ongeldige operand voor 'e' modifier"
+
+-#: config/cris/cris.c:901
++#: config/cris/cris.c:931
+ msgid "invalid operand for 'm' modifier"
+ msgstr "ongeldige operand voor 'm' modifier"
+
+-#: config/cris/cris.c:926
++#: config/cris/cris.c:956
+ msgid "invalid operand for 'A' modifier"
+ msgstr "ongeldige operand voor 'A' modifier"
+
+-#: config/cris/cris.c:949
++#: config/cris/cris.c:979
+ msgid "invalid operand for 'D' modifier"
+ msgstr "ongeldige operand voor 'D' modifier"
+
+-#: config/cris/cris.c:963
++#: config/cris/cris.c:993
+ msgid "invalid operand for 'T' modifier"
+ msgstr "ongeldige operand voor 'T' modifier"
+
+-#: config/cris/cris.c:972
++#: config/cris/cris.c:1013
+ msgid "invalid operand modifier letter"
+ msgstr "ongeldige letter gebruikt als operand-modifier"
+
+-#: config/cris/cris.c:1029
++#: config/cris/cris.c:1070
+ msgid "unexpected multiplicative operand"
+ msgstr ""
+
+-#: config/cris/cris.c:1049
++#: config/cris/cris.c:1090
+ msgid "unexpected operand"
+ msgstr "onverwachte operand"
+
+-#: config/cris/cris.c:1082 config/cris/cris.c:1092
++#: config/cris/cris.c:1123 config/cris/cris.c:1133
+ msgid "unrecognized address"
+ msgstr "adres niet herkend"
+
+ # betere vertaling voor "supposed"? "denkelijk"?
+-#: config/cris/cris.c:2019
++#: config/cris/cris.c:2209
+ msgid "unrecognized supposed constant"
+ msgstr "vermoedelijke constante niet herkend"
+
+-#: config/cris/cris.c:2394 config/cris/cris.c:2458
++#: config/cris/cris.c:2638 config/cris/cris.c:2702
+ msgid "unexpected side-effects in address"
+ msgstr ""
+
+ #. Can't possibly get a GOT-needing-fixup for a function-call,
+ #. right?
+-#: config/cris/cris.c:3253
++#: config/cris/cris.c:3539
+ msgid "Unidentifiable call op"
+ msgstr ""
+
+-#: config/cris/cris.c:3304
++#: config/cris/cris.c:3590
+ #, c-format
+ msgid "PIC register isn't set up"
+ msgstr ""
+@@ -3177,82 +3097,82 @@
+ msgid "fr30_print_operand: unhandled MEM"
+ msgstr ""
+
+-#: config/frv/frv.c:2542
++#: config/frv/frv.c:2546
+ msgid "bad insn to frv_print_operand_address:"
+ msgstr "slechte insn gegeven aan frv_print_operand_address:"
+
+-#: config/frv/frv.c:2553
++#: config/frv/frv.c:2557
+ msgid "bad register to frv_print_operand_memory_reference_reg:"
+ msgstr "slecht register gegeven aan frv_print_operand_memory_reference_reg:"
+
+-#: config/frv/frv.c:2592 config/frv/frv.c:2602 config/frv/frv.c:2611
+-#: config/frv/frv.c:2632 config/frv/frv.c:2637
++#: config/frv/frv.c:2596 config/frv/frv.c:2606 config/frv/frv.c:2615
++#: config/frv/frv.c:2636 config/frv/frv.c:2641
+ msgid "bad insn to frv_print_operand_memory_reference:"
+ msgstr "slechte insn gegeven aan frv_print_memory_reference:"
+
+-#: config/frv/frv.c:2723
++#: config/frv/frv.c:2727
+ #, c-format
+ msgid "bad condition code"
+ msgstr "slechte conditiecode"
+
+-#: config/frv/frv.c:2798
++#: config/frv/frv.c:2802
+ msgid "bad insn in frv_print_operand, bad const_double"
+ msgstr "slechte insn in frv_print_operandm slechte const_double"
+
+-#: config/frv/frv.c:2859
++#: config/frv/frv.c:2863
+ msgid "bad insn to frv_print_operand, 'e' modifier:"
+ msgstr "slechte insn in frv_print_operand, 'e' modifier:"
+
+-#: config/frv/frv.c:2867
++#: config/frv/frv.c:2871
+ msgid "bad insn to frv_print_operand, 'F' modifier:"
+ msgstr "slechte insn in frv_print_operand, 'F' modifier:"
+
+-#: config/frv/frv.c:2883
++#: config/frv/frv.c:2887
+ msgid "bad insn to frv_print_operand, 'f' modifier:"
+ msgstr "slechte insn in frv_print_operand, 'f' modifier:"
+
+-#: config/frv/frv.c:2897
++#: config/frv/frv.c:2901
+ msgid "bad insn to frv_print_operand, 'g' modifier:"
+ msgstr "slechte insn in frv_print_operand, 'g' modifier:"
+
+-#: config/frv/frv.c:2945
++#: config/frv/frv.c:2949
+ msgid "bad insn to frv_print_operand, 'L' modifier:"
+ msgstr "slechte insn in frv_print_operand, 'L' modifier:"
+
+-#: config/frv/frv.c:2958
++#: config/frv/frv.c:2962
+ msgid "bad insn to frv_print_operand, 'M/N' modifier:"
+ msgstr "slechte insn in frv_print_operand, 'M/N' modifier:"
+
+-#: config/frv/frv.c:2979
++#: config/frv/frv.c:2983
+ msgid "bad insn to frv_print_operand, 'O' modifier:"
+ msgstr "slechte insn in frv_print_operand, 'O' modifier:"
+
+-#: config/frv/frv.c:2997
++#: config/frv/frv.c:3001
+ msgid "bad insn to frv_print_operand, P modifier:"
+ msgstr "slechte insn in frv_print_operand, P modifier:"
+
+ # gaat "case" hier wel over "geval"?
+-#: config/frv/frv.c:3017
++#: config/frv/frv.c:3021
+ msgid "bad insn in frv_print_operand, z case"
+ msgstr "slechte insn in frv_print_operand, z-geval"
+
+-#: config/frv/frv.c:3048
++#: config/frv/frv.c:3052
+ msgid "bad insn in frv_print_operand, 0 case"
+ msgstr "slechte insn in frv_print_operand, 0-geval"
+
+-#: config/frv/frv.c:3053
++#: config/frv/frv.c:3057
+ msgid "frv_print_operand: unknown code"
+ msgstr "frv_print_operand: onbekende code"
+
+-#: config/frv/frv.c:4422
++#: config/frv/frv.c:4426
+ msgid "bad output_move_single operand"
+ msgstr "ongeldige output_move_single operand"
+
+-#: config/frv/frv.c:4549
++#: config/frv/frv.c:4553
+ msgid "bad output_move_double operand"
+ msgstr "ongeldige output_move_double operand"
+
+-#: config/frv/frv.c:4691
++#: config/frv/frv.c:4695
+ msgid "bad output_condmove_single operand"
+ msgstr "ongeldige output_condmove_single operand"
+
+@@ -3270,28 +3190,28 @@
+ msgid " (frv)"
+ msgstr " (frv)"
+
+-#: config/i386/i386.c:8218
++#: config/i386/i386.c:8273
+ #, c-format
+ msgid "invalid UNSPEC as operand"
+ msgstr "ongeldige UNSPEC als operand"
+
+-#: config/i386/i386.c:8924
++#: config/i386/i386.c:8979
+ #, c-format
+ msgid "operand is neither a constant nor a condition code, invalid operand code 'c'"
+ msgstr "operand is noch een constante, noch een conditiecode ⇒ ongeldige operandcode 'c'"
+
+-#: config/i386/i386.c:9040
++#: config/i386/i386.c:9095
+ #, c-format
+ msgid "invalid operand code '%c'"
+ msgstr "ongeldige operand voor '%c'"
+
+ # "constraints" hier te vertalen ("beperkingen"/"restricties") of niet?
+-#: config/i386/i386.c:9089
++#: config/i386/i386.c:9144
+ #, c-format
+ msgid "invalid constraints for operand"
+ msgstr "ongeldige constraints voor operand"
+
+-#: config/i386/i386.c:16348
++#: config/i386/i386.c:16423
+ msgid "unknown insn mode"
+ msgstr "onbekende insn-modus"
+
+@@ -3312,34 +3232,34 @@
+ msgid "environment variable DJGPP points to corrupt file '%s'"
+ msgstr ""
+
+-#: config/ia64/ia64.c:4770
++#: config/ia64/ia64.c:4771
+ #, c-format
+ msgid "ia64_print_operand: unknown code"
+ msgstr "ia64_print_operand: onbekende code"
+
+-#: config/ia64/ia64.c:9889
++#: config/ia64/ia64.c:9890
+ msgid "invalid conversion from %<__fpreg%>"
+ msgstr "ongeldige conversie van %<__fpreg%>"
+
+-#: config/ia64/ia64.c:9892
++#: config/ia64/ia64.c:9893
+ msgid "invalid conversion to %<__fpreg%>"
+ msgstr "ongeldige conversie naar %<__fpreg%>"
+
+-#: config/ia64/ia64.c:9905 config/ia64/ia64.c:9916
++#: config/ia64/ia64.c:9906 config/ia64/ia64.c:9917
+ msgid "invalid operation on %<__fpreg%>"
+ msgstr "ongeldige bewerking met %<__fpreg%>"
+
+-#: config/iq2000/iq2000.c:3118
++#: config/iq2000/iq2000.c:3122
+ #, c-format
+ msgid "invalid %%P operand"
+ msgstr "ongeldige operand voor %%P"
+
+-#: config/iq2000/iq2000.c:3126 config/rs6000/rs6000.c:11607
++#: config/iq2000/iq2000.c:3130 config/rs6000/rs6000.c:11818
+ #, c-format
+ msgid "invalid %%p value"
+ msgstr "ongeldige waarde voor %%p"
+
+-#: config/iq2000/iq2000.c:3182
++#: config/iq2000/iq2000.c:3186
+ #, c-format
+ msgid "invalid use of %%d, %%x, or %%X"
+ msgstr "ongeldig gebruik van %%d, %%x, of %%X"
+@@ -3384,7 +3304,7 @@
+ msgstr "post-increment adres is geen register"
+
+ #: config/m32r/m32r.c:2030 config/m32r/m32r.c:2044
+-#: config/rs6000/rs6000.c:19870
++#: config/rs6000/rs6000.c:20087
+ msgid "bad address"
+ msgstr "slecht adres"
+
+@@ -3430,59 +3350,59 @@
+ msgid "invalid Z register replacement for insn"
+ msgstr "ongeldige Z-register vervanging voor insn"
+
+-#: config/mips/mips.c:6313 config/mips/mips.c:6334 config/mips/mips.c:6438
+-#, fuzzy, c-format
++#: config/mips/mips.c:6371 config/mips/mips.c:6392 config/mips/mips.c:6496
++#, c-format
+ msgid "'%%%c' is not a valid operand prefix"
+-msgstr "-fPIC is niet geldig met -mcoff"
++msgstr "'%%%c' is geen geldige operand-prefix"
+
+-#: config/mips/mips.c:6382 config/mips/mips.c:6389 config/mips/mips.c:6396
+-#: config/mips/mips.c:6456
+-#, fuzzy, c-format
++#: config/mips/mips.c:6440 config/mips/mips.c:6447 config/mips/mips.c:6454
++#: config/mips/mips.c:6514
++#, c-format
+ msgid "invalid use of '%%%c'"
+-msgstr "ongeldig gebruik van %<restrict%>"
++msgstr "ongeldig gebruik van '%%%c'"
+
+-#: config/mips/mips.c:6701
++#: config/mips/mips.c:6761
+ msgid "mips_debugger_offset called with non stack/frame/arg pointer"
+ msgstr ""
+
+-#: config/mmix/mmix.c:1487 config/mmix/mmix.c:1617
++#: config/mmix/mmix.c:1483 config/mmix/mmix.c:1613
+ msgid "MMIX Internal: Expected a CONST_INT, not this"
+ msgstr ""
+
+-#: config/mmix/mmix.c:1566
++#: config/mmix/mmix.c:1562
+ msgid "MMIX Internal: Bad value for 'm', not a CONST_INT"
+ msgstr ""
+
+-#: config/mmix/mmix.c:1585
++#: config/mmix/mmix.c:1581
+ msgid "MMIX Internal: Expected a register, not this"
+ msgstr ""
+
+-#: config/mmix/mmix.c:1595
++#: config/mmix/mmix.c:1591
+ msgid "MMIX Internal: Expected a constant, not this"
+ msgstr ""
+
+ #. We need the original here.
+-#: config/mmix/mmix.c:1679
++#: config/mmix/mmix.c:1675
+ msgid "MMIX Internal: Cannot decode this operand"
+ msgstr ""
+
+-#: config/mmix/mmix.c:1736
++#: config/mmix/mmix.c:1732
+ msgid "MMIX Internal: This is not a recognized address"
+ msgstr ""
+
+-#: config/mmix/mmix.c:2669
++#: config/mmix/mmix.c:2665
+ msgid "MMIX Internal: Trying to output invalidly reversed condition:"
+ msgstr ""
+
+-#: config/mmix/mmix.c:2676
++#: config/mmix/mmix.c:2672
+ msgid "MMIX Internal: What's the CC of this?"
+ msgstr ""
+
+-#: config/mmix/mmix.c:2680
++#: config/mmix/mmix.c:2676
+ msgid "MMIX Internal: What is the CC of this?"
+ msgstr ""
+
+-#: config/mmix/mmix.c:2744
++#: config/mmix/mmix.c:2740
+ msgid "MMIX Internal: This is not a constant:"
+ msgstr "MMIX Intern: Dit is geen constante:"
+
+@@ -3508,175 +3428,175 @@
+ msgid "Try running '%s' in the shell to raise its limit.\n"
+ msgstr ""
+
+-#: config/rs6000/rs6000.c:11434
++#: config/rs6000/rs6000.c:11645
+ #, c-format
+ msgid "invalid %%f value"
+ msgstr ""
+
+-#: config/rs6000/rs6000.c:11443
++#: config/rs6000/rs6000.c:11654
+ #, c-format
+ msgid "invalid %%F value"
+ msgstr ""
+
+-#: config/rs6000/rs6000.c:11452
++#: config/rs6000/rs6000.c:11663
+ #, c-format
+ msgid "invalid %%G value"
+ msgstr ""
+
+-#: config/rs6000/rs6000.c:11487
++#: config/rs6000/rs6000.c:11698
+ #, c-format
+ msgid "invalid %%j code"
+ msgstr ""
+
+-#: config/rs6000/rs6000.c:11497
++#: config/rs6000/rs6000.c:11708
+ #, c-format
+ msgid "invalid %%J code"
+ msgstr ""
+
+-#: config/rs6000/rs6000.c:11507
++#: config/rs6000/rs6000.c:11718
+ #, c-format
+ msgid "invalid %%k value"
+ msgstr ""
+
+-#: config/rs6000/rs6000.c:11527 config/xtensa/xtensa.c:2022
++#: config/rs6000/rs6000.c:11738 config/xtensa/xtensa.c:2028
+ #, c-format
+ msgid "invalid %%K value"
+ msgstr "ongeldige waarde voor %%K"
+
+-#: config/rs6000/rs6000.c:11597
++#: config/rs6000/rs6000.c:11808
+ #, c-format
+ msgid "invalid %%O value"
+ msgstr "ongeldige waarde voor %%O"
+
+-#: config/rs6000/rs6000.c:11644
++#: config/rs6000/rs6000.c:11855
+ #, c-format
+ msgid "invalid %%q value"
+ msgstr "ongeldige waarde voor %%q"
+
+-#: config/rs6000/rs6000.c:11688
++#: config/rs6000/rs6000.c:11899
+ #, c-format
+ msgid "invalid %%S value"
+ msgstr ""
+
+-#: config/rs6000/rs6000.c:11728
++#: config/rs6000/rs6000.c:11939
+ #, c-format
+ msgid "invalid %%T value"
+ msgstr ""
+
+-#: config/rs6000/rs6000.c:11738
++#: config/rs6000/rs6000.c:11949
+ #, c-format
+ msgid "invalid %%u value"
+ msgstr ""
+
+-#: config/rs6000/rs6000.c:11747 config/xtensa/xtensa.c:1992
++#: config/rs6000/rs6000.c:11958 config/xtensa/xtensa.c:1998
+ #, c-format
+ msgid "invalid %%v value"
+ msgstr ""
+
+-#: config/rs6000/rs6000.c:21768
++#: config/rs6000/rs6000.c:21946
+ msgid "AltiVec argument passed to unprototyped function"
+ msgstr "AltiVec argument doorgegeven aan functie zonder prototype"
+
+ # Betere vertaling voor 'decompose'?
+-#: config/s390/s390.c:4561
++#: config/s390/s390.c:4560
+ #, c-format
+ msgid "cannot decompose address"
+ msgstr "kan adres niet ontleden"
+
+-#: config/s390/s390.c:4771
++#: config/s390/s390.c:4770
+ msgid "UNKNOWN in print_operand !?"
+ msgstr ""
+
+ #: config/score/score3.c:1262 config/score/score3.c:1282
+ #: config/score/score7.c:1253
+-#, fuzzy, c-format
++#, c-format
+ msgid "invalid operand for code: '%c'"
+-msgstr "ongeldige operand voor code '%c'"
++msgstr "ongeldige operand voor code: '%c'"
+
+-#: config/sh/sh.c:746
++#: config/sh/sh.c:749
+ #, c-format
+ msgid "invalid operand to %%R"
+ msgstr "ongeldige operand voor %%R"
+
+-#: config/sh/sh.c:773
++#: config/sh/sh.c:776
+ #, c-format
+ msgid "invalid operand to %%S"
+ msgstr "ongeldige operand voor %%N"
+
+-#: config/sh/sh.c:8095
++#: config/sh/sh.c:8098
+ msgid "created and used with different architectures / ABIs"
+ msgstr "aangemaakt en gebruikt met verschillende architecturen / ABIs"
+
+-#: config/sh/sh.c:8097
++#: config/sh/sh.c:8100
+ msgid "created and used with different ABIs"
+ msgstr "aangemaakt en gebruikt met verschillende ABIs"
+
+ # Vertaling voor "endianness"? Of niet nodig?
+-#: config/sh/sh.c:8099
++#: config/sh/sh.c:8102
+ msgid "created and used with different endianness"
+ msgstr "aangemaakt en gebruikt met verschillende \"endianness\""
+
+-#: config/sparc/sparc.c:6803 config/sparc/sparc.c:6809
++#: config/sparc/sparc.c:6806 config/sparc/sparc.c:6812
+ #, c-format
+ msgid "invalid %%Y operand"
+ msgstr "ongeldige operand voor %%Y"
+
+-#: config/sparc/sparc.c:6879
++#: config/sparc/sparc.c:6882
+ #, c-format
+ msgid "invalid %%A operand"
+ msgstr "ongeldige operand voor %%A"
+
+-#: config/sparc/sparc.c:6889
++#: config/sparc/sparc.c:6892
+ #, c-format
+ msgid "invalid %%B operand"
+ msgstr "ongeldige operand voor %%B"
+
+-#: config/sparc/sparc.c:6928
++#: config/sparc/sparc.c:6931
+ #, c-format
+ msgid "invalid %%c operand"
+ msgstr "ongeldige operand voor %%c"
+
+-#: config/sparc/sparc.c:6950
++#: config/sparc/sparc.c:6953
+ #, c-format
+ msgid "invalid %%d operand"
+ msgstr "ongeldige operand voor %%d"
+
+-#: config/sparc/sparc.c:6967
++#: config/sparc/sparc.c:6970
+ #, c-format
+ msgid "invalid %%f operand"
+ msgstr "ongeldige operand voor %%f"
+
+-#: config/sparc/sparc.c:6981
++#: config/sparc/sparc.c:6984
+ #, c-format
+ msgid "invalid %%s operand"
+ msgstr "ongeldige operand voor %%s"
+
+-#: config/sparc/sparc.c:7035
++#: config/sparc/sparc.c:7038
+ #, c-format
+ msgid "long long constant not a valid immediate operand"
+ msgstr "een long long constante is geen geldige onmiddellijke operand"
+
+-#: config/sparc/sparc.c:7038
++#: config/sparc/sparc.c:7041
+ #, c-format
+ msgid "floating point constant not a valid immediate operand"
+ msgstr "een floating-point constante is geen geldige onmiddellijke operand"
+
+-#: config/stormy16/stormy16.c:1775 config/stormy16/stormy16.c:1846
++#: config/stormy16/stormy16.c:1748 config/stormy16/stormy16.c:1819
+ #, c-format
+ msgid "'B' operand is not constant"
+ msgstr "'B' operand is geen constante"
+
+-#: config/stormy16/stormy16.c:1802
++#: config/stormy16/stormy16.c:1775
+ #, c-format
+ msgid "'B' operand has multiple bits set"
+ msgstr ""
+
+-#: config/stormy16/stormy16.c:1828
++#: config/stormy16/stormy16.c:1801
+ #, c-format
+ msgid "'o' operand is not constant"
+ msgstr "'o' operand is geen constante"
+
+-#: config/stormy16/stormy16.c:1860
++#: config/stormy16/stormy16.c:1833
+ #, c-format
+ msgid "xstormy16_print_operand: unknown code"
+ msgstr ""
+@@ -3689,56 +3609,56 @@
+ msgid "output_move_single:"
+ msgstr "output_move_single:"
+
+-#: config/xtensa/xtensa.c:652 config/xtensa/xtensa.c:684
+-#: config/xtensa/xtensa.c:693
++#: config/xtensa/xtensa.c:656 config/xtensa/xtensa.c:688
++#: config/xtensa/xtensa.c:697
+ msgid "bad test"
+ msgstr "slechte test"
+
+-#: config/xtensa/xtensa.c:1980
++#: config/xtensa/xtensa.c:1986
+ #, c-format
+ msgid "invalid %%D value"
+ msgstr "ongeldige waarde voor %%D"
+
+-#: config/xtensa/xtensa.c:2017
++#: config/xtensa/xtensa.c:2023
+ msgid "invalid mask"
+ msgstr "ongeldig masker"
+
+-#: config/xtensa/xtensa.c:2043
++#: config/xtensa/xtensa.c:2049
+ #, c-format
+ msgid "invalid %%x value"
+ msgstr "ongeldige waarde voor %%x"
+
+-#: config/xtensa/xtensa.c:2050
++#: config/xtensa/xtensa.c:2056
+ #, c-format
+ msgid "invalid %%d value"
+ msgstr "ongeldige waarde voor %%d"
+
+-#: config/xtensa/xtensa.c:2071 config/xtensa/xtensa.c:2081
++#: config/xtensa/xtensa.c:2077 config/xtensa/xtensa.c:2087
+ #, c-format
+ msgid "invalid %%t/%%b value"
+ msgstr "ongeldige waarde voor %%t/%%b"
+
+-#: config/xtensa/xtensa.c:2123
++#: config/xtensa/xtensa.c:2129
+ msgid "invalid address"
+ msgstr "ongeldig adres"
+
+-#: config/xtensa/xtensa.c:2148
++#: config/xtensa/xtensa.c:2154
+ msgid "no register in address"
+ msgstr "geen register in adres"
+
+-#: config/xtensa/xtensa.c:2156
++#: config/xtensa/xtensa.c:2162
+ msgid "address offset not a constant"
+ msgstr "adres-offset is geen constante"
+
+-#: cp/call.c:2514
++#: cp/call.c:2500
+ msgid "candidates are:"
+ msgstr "kandidaten zijn:"
+
+-#: cp/call.c:6463
++#: cp/call.c:6487
+ msgid "candidate 1:"
+ msgstr "kandidaat 1:"
+
+-#: cp/call.c:6464
++#: cp/call.c:6488
+ msgid "candidate 2:"
+ msgstr "kandidaat 2:"
+
+@@ -3784,52 +3704,51 @@
+ msgstr ""
+
+ # Is 'elementair' wel een goede vertaling voor 'elemental'?
+-#: fortran/arith.c:1425
+-#, fuzzy
++#: fortran/arith.c:1472
+ msgid "elemental binary operation"
+-msgstr "Elementaire binaire operatie"
++msgstr "elementaire binaire operatie"
+
+-#: fortran/arith.c:1997
++#: fortran/arith.c:2044
+ #, no-c-format
+ msgid "Arithmetic OK converting %s to %s at %L"
+ msgstr ""
+
+-#: fortran/arith.c:2001
++#: fortran/arith.c:2048
+ #, no-c-format
+ msgid "Arithmetic overflow converting %s to %s at %L. This check can be disabled with the option -fno-range-check"
+ msgstr ""
+
+-#: fortran/arith.c:2006
++#: fortran/arith.c:2053
+ #, no-c-format
+ msgid "Arithmetic underflow converting %s to %s at %L"
+ msgstr "Arithmetische underflow bij conversie van %s naar %s op %L"
+
+-#: fortran/arith.c:2010
++#: fortran/arith.c:2057
+ #, no-c-format
+ msgid "Arithmetic NaN converting %s to %s at %L"
+ msgstr ""
+
+-#: fortran/arith.c:2014
++#: fortran/arith.c:2061
+ #, no-c-format
+ msgid "Division by zero converting %s to %s at %L"
+ msgstr "Deling door nul bij conversie van %s naar %s op %L"
+
+-#: fortran/arith.c:2018
++#: fortran/arith.c:2065
+ #, no-c-format
+ msgid "Array operands are incommensurate converting %s to %s at %L"
+ msgstr ""
+
+-#: fortran/arith.c:2022
++#: fortran/arith.c:2069
+ #, no-c-format
+ msgid "Integer outside symmetric range implied by Standard Fortran converting %s to %s at %L"
+ msgstr ""
+
+-#: fortran/arith.c:2355
++#: fortran/arith.c:2402
+ #, no-c-format
+ msgid "The Hollerith constant at %L is too long to convert to %s"
+ msgstr ""
+
+-#: fortran/arith.c:2513
++#: fortran/arith.c:2560
+ #, no-c-format
+ msgid "Enumerator exceeds the C integer type at %C"
+ msgstr ""
+@@ -3860,72 +3779,72 @@
+ msgid "Variable '%s' at %L in this context must be constant"
+ msgstr ""
+
+-#: fortran/array.c:299
++#: fortran/array.c:314
+ #, no-c-format
+ msgid "Expected expression in array specification at %C"
+ msgstr ""
+
+-#: fortran/array.c:386
++#: fortran/array.c:392
+ #, no-c-format
+ msgid "Bad array specification for an explicitly shaped array at %C"
+ msgstr ""
+
+-#: fortran/array.c:396
++#: fortran/array.c:402
+ #, no-c-format
+ msgid "Bad array specification for assumed shape array at %C"
+ msgstr ""
+
+-#: fortran/array.c:410
++#: fortran/array.c:416
+ #, no-c-format
+ msgid "Bad specification for deferred shape array at %C"
+ msgstr ""
+
+-#: fortran/array.c:414
++#: fortran/array.c:420
+ #, no-c-format
+ msgid "Bad specification for assumed size array at %C"
+ msgstr ""
+
+-#: fortran/array.c:423
++#: fortran/array.c:429
+ #, no-c-format
+ msgid "Expected another dimension in array declaration at %C"
+ msgstr ""
+
+-#: fortran/array.c:429
++#: fortran/array.c:435
+ #, no-c-format
+ msgid "Array specification at %C has more than %d dimensions"
+ msgstr ""
+
+-#: fortran/array.c:635
++#: fortran/array.c:641
+ #, no-c-format
+ msgid "duplicated initializer"
+ msgstr "herhaalde beginwaarde"
+
+-#: fortran/array.c:727
++#: fortran/array.c:733
+ #, no-c-format
+ msgid "DO-iterator '%s' at %L is inside iterator of the same name"
+ msgstr ""
+
+-#: fortran/array.c:829 fortran/array.c:938
++#: fortran/array.c:835 fortran/array.c:944
+ #, no-c-format
+ msgid "Syntax error in array constructor at %C"
+ msgstr ""
+
+-#: fortran/array.c:884
++#: fortran/array.c:890
+ #, no-c-format
+ msgid "Fortran 2003: [...] style array constructors at %C"
+ msgstr ""
+
+-#: fortran/array.c:898
++#: fortran/array.c:904
+ #, no-c-format
+ msgid "Empty array constructor at %C is not allowed"
+ msgstr "Lege array-constructor op %C is niet toegestaan"
+
+-#: fortran/array.c:982
++#: fortran/array.c:988
+ #, no-c-format
+ msgid "Element in %s array constructor at %L is %s"
+ msgstr ""
+
+-#: fortran/array.c:1309
++#: fortran/array.c:1315
+ #, no-c-format
+ msgid "Iterator step at %L cannot be zero"
+ msgstr ""
+@@ -3946,7 +3865,7 @@
+ msgid "'%s' argument of '%s' intrinsic at %L must be a numeric type"
+ msgstr ""
+
+-#: fortran/check.c:101 fortran/check.c:817 fortran/check.c:827
++#: fortran/check.c:101 fortran/check.c:810 fortran/check.c:820
+ #, no-c-format
+ msgid "'%s' argument of '%s' intrinsic at %L must be INTEGER or REAL"
+ msgstr ""
+@@ -4012,227 +3931,221 @@
+ msgid "'%s' argument of '%s' intrinsic at %L must be a variable"
+ msgstr ""
+
+-#: fortran/check.c:320
++#: fortran/check.c:356
+ #, no-c-format
+-msgid "Missing DIM parameter in intrinsic '%s' at %L"
+-msgstr ""
+-
+-#: fortran/check.c:363
+-#, no-c-format
+ msgid "'dim' argument of '%s' intrinsic at %L is not a valid dimension index"
+ msgstr ""
+
+-#: fortran/check.c:433
++#: fortran/check.c:426
+ #, no-c-format
+ msgid "Unequal character lengths (%ld and %ld) in %s intrinsic at %L"
+ msgstr ""
+
+-#: fortran/check.c:535 fortran/check.c:1938 fortran/check.c:1953
++#: fortran/check.c:528 fortran/check.c:1932 fortran/check.c:1947
+ #, no-c-format
+ msgid "'%s' argument of '%s' intrinsic at %L must be ALLOCATABLE"
+ msgstr ""
+
+-#: fortran/check.c:559 fortran/check.c:3703
++#: fortran/check.c:552 fortran/check.c:3697
+ #, no-c-format
+ msgid "'%s' and '%s' arguments of '%s' intrinsic at %L must have the same type"
+ msgstr ""
+
+-#: fortran/check.c:568 fortran/check.c:1143 fortran/check.c:1286
+-#: fortran/check.c:1360 fortran/check.c:1616
++#: fortran/check.c:561 fortran/check.c:1137 fortran/check.c:1280
++#: fortran/check.c:1354 fortran/check.c:1610
+ #, no-c-format
+ msgid "Extension: Different type kinds at %L"
+ msgstr ""
+
+-#: fortran/check.c:608 fortran/check.c:2022
++#: fortran/check.c:601 fortran/check.c:2016
+ #, no-c-format
+ msgid "'%s' argument of '%s' intrinsic at %L must be a POINTER"
+ msgstr ""
+
+-#: fortran/check.c:628
+-#, fuzzy, no-c-format
++#: fortran/check.c:621
++#, no-c-format
+ msgid "'%s' argument of '%s' intrinsic at %L must be a pointer or target VARIABLE or FUNCTION"
+-msgstr "'%s' argument voor intrinsic '%s' op %L moet een constante zijn"
++msgstr ""
+
+-#: fortran/check.c:636
++#: fortran/check.c:629
+ #, no-c-format
+ msgid "'%s' argument of '%s' intrinsic at %L must be a POINTER or a TARGET"
+ msgstr ""
+
+-#: fortran/check.c:652
++#: fortran/check.c:645
+ #, no-c-format
+ msgid "Array section with a vector subscript at %L shall not be the target of a pointer"
+ msgstr ""
+
+-#: fortran/check.c:663
++#: fortran/check.c:656
+ #, no-c-format
+ msgid "NULL pointer at %L is not permitted as actual argument of '%s' intrinsic function"
+ msgstr ""
+
+-#: fortran/check.c:798 fortran/check.c:915
++#: fortran/check.c:791 fortran/check.c:910
+ #, no-c-format
+ msgid "'%s' argument of '%s' intrinsic at %L must not be present if 'x' is COMPLEX"
+ msgstr ""
+
+-#: fortran/check.c:848 fortran/check.c:1205 fortran/check.c:1308
+-#: fortran/check.c:1467 fortran/check.c:1484 fortran/check.c:2318
+-#: fortran/check.c:2444 fortran/check.c:2779 fortran/check.c:2821
++#: fortran/check.c:841 fortran/check.c:1199 fortran/check.c:1302
++#: fortran/check.c:1461 fortran/check.c:1478 fortran/check.c:2312
++#: fortran/check.c:2438 fortran/check.c:2773 fortran/check.c:2815
+ #, no-c-format
+ msgid "Fortran 2003: '%s' intrinsic with KIND argument at %L"
+ msgstr ""
+
+-#: fortran/check.c:964 fortran/check.c:1712 fortran/check.c:1720
++#: fortran/check.c:959 fortran/check.c:1706 fortran/check.c:1714
+ #, no-c-format
+ msgid "'%s' argument of '%s' intrinsic at %L must be numeric or LOGICAL"
+ msgstr ""
+
+-#: fortran/check.c:978
++#: fortran/check.c:973
+ #, no-c-format
+ msgid "Different shape for arguments '%s' and '%s' at %L for intrinsic 'dot_product'"
+ msgstr ""
+
+-#: fortran/check.c:997 fortran/check.c:1005
+-#, fuzzy, no-c-format
++#: fortran/check.c:992 fortran/check.c:1000
++#, no-c-format
+ msgid "'%s' argument of '%s' intrinsic at %L must be default real"
+-msgstr "'%s' argument voor intrinsic '%s' op %L moet een array zijn"
++msgstr ""
+
+-#: fortran/check.c:1256
++#: fortran/check.c:1250
+ #, no-c-format
+ msgid "Argument of %s at %L must be of length one"
+ msgstr ""
+
+-#: fortran/check.c:1315
++#: fortran/check.c:1309
+ #, no-c-format
+ msgid "'%s' argument of '%s' intrinsic at %L must be the same kind as '%s'"
+ msgstr ""
+
+-#: fortran/check.c:1440
++#: fortran/check.c:1434
+ #, no-c-format
+ msgid "'%s' argument of '%s' intrinsic at %L must be a non-derived type"
+ msgstr ""
+
+-#: fortran/check.c:1589
++#: fortran/check.c:1583
+ #, no-c-format
+ msgid "Intrinsic '%s' at %L must have at least two arguments"
+ msgstr "Intrinsic '%s' op %L moet minstens twee argumenten hebben"
+
+-#: fortran/check.c:1622
++#: fortran/check.c:1616
+ #, no-c-format
+ msgid "'a%d' argument of '%s' intrinsic at %L must be %s(%d)"
+ msgstr ""
+
+-#: fortran/check.c:1655
++#: fortran/check.c:1649
+ #, no-c-format
+ msgid "Fortran 2003: '%s' intrinsic with CHARACTER argument at %L"
+ msgstr ""
+
+-# vertaling voor 'intrinsic'? 'intrinsiek(e) xxx', maar wat als xxx te gebruiken?
+-#: fortran/check.c:1662
+-#, fuzzy, no-c-format
++#: fortran/check.c:1656
++#, no-c-format
+ msgid "'a1' argument of '%s' intrinsic at %L must be INTEGER, REAL or CHARACTER"
+-msgstr "'%s' argument voor intrinsic '%s' op %L moet %s zijn"
++msgstr ""
+
+-#: fortran/check.c:1734
++#: fortran/check.c:1728
+ #, no-c-format
+ msgid "Different shape on dimension 1 for arguments '%s' and '%s' at %L for intrinsic matmul"
+ msgstr ""
+
+-#: fortran/check.c:1753
++#: fortran/check.c:1747
+ #, no-c-format
+ msgid "Different shape on dimension 2 for argument '%s' and dimension 1 for argument '%s' at %L for intrinsic matmul"
+ msgstr ""
+
+-#: fortran/check.c:1762
++#: fortran/check.c:1756
+ #, no-c-format
+ msgid "'%s' argument of '%s' intrinsic at %L must be of rank 1 or 2"
+ msgstr ""
+
+ # rank -> rang: correct in Fortran-context?
+-#: fortran/check.c:1964
++#: fortran/check.c:1958
+ #, fuzzy, no-c-format
+ msgid "the '%s' and '%s' arguments of '%s' intrinsic at %L must have the same rank %d/%d"
+ msgstr "'%s' argument voor intrinsic '%s' op %L moet kleiner dan rang %d zijn"
+
+ # rank -> rang: correct in Fortran-context?
+-#: fortran/check.c:1973
++#: fortran/check.c:1967
+ #, fuzzy, no-c-format
+ msgid "the '%s' and '%s' arguments of '%s' intrinsic at %L must be of the same kind %d/%d"
+ msgstr "'%s' argument voor intrinsic '%s' op %L moet kleiner dan rang %d zijn"
+
+-#: fortran/check.c:2069
++#: fortran/check.c:2063
+ #, no-c-format
+ msgid "'%s' argument of '%s' intrinsic at %L must be of type REAL or COMPLEX"
+ msgstr ""
+
+-#: fortran/check.c:2090
++#: fortran/check.c:2084
+ #, no-c-format
+ msgid "'%s' argument of '%s' intrinsic at %L must be of a dummy variable"
+ msgstr ""
+
+-#: fortran/check.c:2098
++#: fortran/check.c:2092
+ #, no-c-format
+ msgid "'%s' argument of '%s' intrinsic at %L must be of an OPTIONAL dummy variable"
+ msgstr ""
+
+ # vertaling voor 'intrinsic'? 'intrinsiek(e) xxx', maar wat als xxx te gebruiken?
+-#: fortran/check.c:2114
++#: fortran/check.c:2108
+ #, fuzzy, no-c-format
+ msgid "'%s' argument of '%s' intrinsic at %L must not be a subobject of '%s'"
+ msgstr "'%s' argument voor intrinsic '%s' op %L moet %s zijn"
+
+-#: fortran/check.c:2231
++#: fortran/check.c:2225
+ #, no-c-format
+ msgid "'shape' argument of 'reshape' intrinsic at %L must be an array of constant size"
+ msgstr ""
+
+-#: fortran/check.c:2241
++#: fortran/check.c:2235
+ #, no-c-format
+ msgid "'shape' argument of 'reshape' intrinsic at %L has more than %d elements"
+ msgstr ""
+
+-#: fortran/check.c:2279
++#: fortran/check.c:2273
+ #, no-c-format
+ msgid "Without padding, there are not enough elements in the intrinsic RESHAPE source at %L to match the shape"
+ msgstr ""
+
+-#: fortran/check.c:2364
++#: fortran/check.c:2358
+ #, no-c-format
+ msgid "Missing arguments to %s intrinsic at %L"
+ msgstr "Ontbrekende argumenten voor intrinsic %s op %L"
+
+-#: fortran/check.c:2405
++#: fortran/check.c:2399
+ #, no-c-format
+ msgid "'source' argument of 'shape' intrinsic at %L must not be an assumed size array"
+ msgstr ""
+
+ # rank -> rang: correct in Fortran-context?
+-#: fortran/check.c:2479
++#: fortran/check.c:2473
+ #, no-c-format
+ msgid "'%s' argument of '%s' intrinsic at %L must be less than rank %d"
+ msgstr "'%s' argument voor intrinsic '%s' op %L moet kleiner dan rang %d zijn"
+
+ # vertaling voor 'intrinsic'? 'intrinsiek(e) xxx', maar wat als xxx te gebruiken?
+-#: fortran/check.c:2731
++#: fortran/check.c:2725
+ #, fuzzy, no-c-format
+ msgid "'MOLD' argument of 'TRANSFER' intrinsic at %L must not be %s"
+ msgstr "'%s' argument voor intrinsic '%s' op %L moet %s zijn"
+
+-#: fortran/check.c:3050
++#: fortran/check.c:3044
+ #, no-c-format
+ msgid "Too many arguments to %s at %L"
+ msgstr "Te veel argumenten voor %s op %L"
+
+-#: fortran/check.c:3162 fortran/check.c:3616 fortran/check.c:3640
++#: fortran/check.c:3156 fortran/check.c:3610 fortran/check.c:3634
+ #, no-c-format
+ msgid "'%s' argument of '%s' intrinsic at %L must be INTEGER or PROCEDURE"
+ msgstr ""
+
+ # rank -> rang: correct in Fortran-context?
+-#: fortran/check.c:3338
++#: fortran/check.c:3332
+ #, fuzzy, no-c-format
+ msgid "'%s' argument of '%s' intrinsic at %L must be of a kind not wider than the default kind (%d)"
+ msgstr "'%s' argument voor intrinsic '%s' op %L moet kleiner dan rang %d zijn"
+
+-#: fortran/check.c:3687 fortran/check.c:3695
++#: fortran/check.c:3681 fortran/check.c:3689
+ #, no-c-format
+ msgid "'%s' argument of '%s' intrinsic at %L must be INTEGER or LOGICAL"
+ msgstr ""
+@@ -4257,890 +4170,926 @@
+ msgid "'%s' at %L already is initialized at %L"
+ msgstr "object van variabele lengte mag geen beginwaarde krijgen"
+
+-#: fortran/data.c:412
++#: fortran/data.c:317
+ #, no-c-format
++msgid "Data element below array lower bound at %L"
++msgstr ""
++
++#: fortran/data.c:329
++#, no-c-format
++msgid "Data element above array upper bound at %L"
++msgstr ""
++
++#: fortran/data.c:435
++#, no-c-format
+ msgid "Extension: re-initialization of '%s' at %L"
+ msgstr "Extensie: herinitialisatie van '%s' op %L"
+
+-#: fortran/decl.c:254
++#: fortran/decl.c:253
+ #, no-c-format
+ msgid "Host associated variable '%s' may not be in the DATA statement at %C"
+ msgstr ""
+
+-#: fortran/decl.c:261
++#: fortran/decl.c:260
+ #, no-c-format
+ msgid "Extension: initialization of common block variable '%s' in DATA statement at %C"
+ msgstr ""
+
+-#: fortran/decl.c:366
++#: fortran/decl.c:365
+ #, no-c-format
+ msgid "Symbol '%s' must be a PARAMETER in DATA statement at %C"
+ msgstr ""
+
+-#: fortran/decl.c:470
++#: fortran/decl.c:390
++#, fuzzy, no-c-format
++msgid "Invalid initializer %s in Data statement at %C"
++msgstr "%s voor %qs"
++
++#: fortran/decl.c:493
+ #, no-c-format
+ msgid "Initialization at %C is not allowed in a PURE procedure"
+ msgstr ""
+
+-#: fortran/decl.c:529
++#: fortran/decl.c:552
+ #, no-c-format
+ msgid "DATA statement at %C is not allowed in a PURE procedure"
+ msgstr ""
+
+-#: fortran/decl.c:558
++#: fortran/decl.c:581
+ #, no-c-format
+ msgid "Bad INTENT specification at %C"
+ msgstr ""
+
+-#: fortran/decl.c:600
++#: fortran/decl.c:623
+ #, no-c-format
+ msgid "Conflict in attributes of function argument at %C"
+ msgstr ""
+
+-#: fortran/decl.c:647
++#: fortran/decl.c:676
+ #, no-c-format
+ msgid "Syntax error in character length specification at %C"
+ msgstr ""
+
+-#: fortran/decl.c:757
++#: fortran/decl.c:795
+ #, fuzzy, no-c-format
+ msgid "Procedure '%s' at %C is already defined at %L"
+ msgstr "veld %qs heeft al een beginwaarde gekregen"
+
+-#: fortran/decl.c:765
++#: fortran/decl.c:803
+ #, no-c-format
+ msgid "Name '%s' at %C is already defined as a generic interface at %L"
+ msgstr ""
+
+-#: fortran/decl.c:778
++#: fortran/decl.c:816
+ #, fuzzy, no-c-format
+ msgid "Procedure '%s' at %C has an explicit interface and must not have attributes declared at %L"
+ msgstr "parameternamen (zonder types) in functiedeclaratie"
+
+-#: fortran/decl.c:850
++#: fortran/decl.c:888
+ #, no-c-format
+ msgid "Procedure '%s' at %L must have the BIND(C) attribute to be C interoperable"
+ msgstr ""
+
+-#: fortran/decl.c:880
++#: fortran/decl.c:918
+ #, no-c-format
+ msgid "Type '%s' at %L is a parameter to the BIND(C) procedure '%s' but is not C interoperable because derived type '%s' is not C interoperable"
+ msgstr ""
+
+-#: fortran/decl.c:887
++#: fortran/decl.c:925
+ #, no-c-format
+ msgid "Variable '%s' at %L is a parameter to the BIND(C) procedure '%s' but may not be C interoperable"
+ msgstr ""
+
+-#: fortran/decl.c:902
++#: fortran/decl.c:940
+ #, no-c-format
+ msgid "Character argument '%s' at %L must be length 1 because procedure '%s' is BIND(C)"
+ msgstr ""
+
+-#: fortran/decl.c:916
++#: fortran/decl.c:954
+ #, no-c-format
+ msgid "Variable '%s' at %L cannot have the ALLOCATABLE attribute because procedure '%s' is BIND(C)"
+ msgstr ""
+
+-#: fortran/decl.c:925
++#: fortran/decl.c:963
+ #, no-c-format
+ msgid "Variable '%s' at %L cannot have the POINTER attribute because procedure '%s' is BIND(C)"
+ msgstr ""
+
+-#: fortran/decl.c:934
++#: fortran/decl.c:972
+ #, no-c-format
+ msgid "Variable '%s' at %L cannot have the OPTIONAL attribute because procedure '%s' is BIND(C)"
+ msgstr ""
+
+-#: fortran/decl.c:947
++#: fortran/decl.c:985
+ #, no-c-format
+ msgid "Assumed-shape array '%s' at %L cannot be an argument to the procedure '%s' at %L because the procedure is BIND(C)"
+ msgstr ""
+
+-#: fortran/decl.c:957
++#: fortran/decl.c:995
+ #, no-c-format
+ msgid "Deferred-shape array '%s' at %L cannot be an argument to the procedure '%s' at %L because the procedure is BIND(C)"
+ msgstr ""
+
+-#: fortran/decl.c:1033
++#: fortran/decl.c:1071
+ #, no-c-format
+ msgid "Variable '%s' in common block '%s' at %C must be declared with a C interoperable kind since common block '%s' is BIND(C)"
+ msgstr ""
+
+-#: fortran/decl.c:1069
++#: fortran/decl.c:1107
+ #, no-c-format
+ msgid "CHARACTER expression at %L is being truncated (%d/%d)"
+ msgstr ""
+
+-#: fortran/decl.c:1075
++#: fortran/decl.c:1113
+ #, no-c-format
+ msgid "The CHARACTER elements of the array constructor at %L must have the same length (%d/%d)"
+ msgstr ""
+
+-#: fortran/decl.c:1165
++#: fortran/decl.c:1203
+ #, no-c-format
+ msgid "Initializer not allowed for PARAMETER '%s' at %C"
+ msgstr ""
+
+-#: fortran/decl.c:1174
++#: fortran/decl.c:1213
+ #, no-c-format
+-msgid "Initializer not allowed for COMMON variable '%s' at %C"
+-msgstr ""
+-
+-#: fortran/decl.c:1184
+-#, no-c-format
+ msgid "PARAMETER at %L is missing an initializer"
+ msgstr "beginwaarde ontbreekt in PARAMETER op %L"
+
+-#: fortran/decl.c:1194
++#: fortran/decl.c:1223
+ #, no-c-format
+ msgid "Variable '%s' at %C with an initializer already appears in a DATA statement"
+ msgstr ""
+
+-#: fortran/decl.c:1344
++#: fortran/decl.c:1373
+ #, no-c-format
+ msgid "Component at %C must have the POINTER attribute"
+ msgstr ""
+
+-#: fortran/decl.c:1352
++#: fortran/decl.c:1381
+ #, no-c-format
+ msgid "Array component of structure at %C must have explicit or deferred shape"
+ msgstr ""
+
+-#: fortran/decl.c:1378
++#: fortran/decl.c:1425
+ #, no-c-format
+ msgid "Allocatable component at %C must be an array"
+ msgstr ""
+
+-#: fortran/decl.c:1389
++#: fortran/decl.c:1436
+ #, no-c-format
+ msgid "Pointer array component of structure at %C must have a deferred shape"
+ msgstr ""
+
+-#: fortran/decl.c:1398
++#: fortran/decl.c:1445
+ #, no-c-format
+ msgid "Allocatable component of structure at %C must have a deferred shape"
+ msgstr ""
+
+-#: fortran/decl.c:1407
++#: fortran/decl.c:1454
+ #, no-c-format
+ msgid "Array component of structure at %C must have an explicit shape"
+ msgstr ""
+
+-#: fortran/decl.c:1433
++#: fortran/decl.c:1480
+ #, no-c-format
+ msgid "NULL() initialization at %C is ambiguous"
+ msgstr ""
+
+-#: fortran/decl.c:1556 fortran/decl.c:5197
++#: fortran/decl.c:1603 fortran/decl.c:5395
+ #, fuzzy, no-c-format
+ msgid "Duplicate array spec for Cray pointee at %C"
+ msgstr "herhaalde label-declaratie %qs"
+
+-#: fortran/decl.c:1616
++#: fortran/decl.c:1663
+ #, fuzzy, no-c-format
+ msgid "the type of '%s' at %C has not been declared within the interface"
+ msgstr "%<%.*s%> is niet gedefinieerd"
+
+-#: fortran/decl.c:1632
++#: fortran/decl.c:1679
+ #, no-c-format
+ msgid "Function name '%s' not allowed at %C"
+ msgstr "Functienaam '%s' niet toegestaan op %C"
+
+-#: fortran/decl.c:1648
++#: fortran/decl.c:1695
+ #, no-c-format
+ msgid "Extension: Old-style initialization at %C"
+ msgstr ""
+
+-#: fortran/decl.c:1663
++#: fortran/decl.c:1710
+ #, no-c-format
+ msgid "Initialization at %C isn't for a pointer variable"
+ msgstr "Initialisatie op %C is niet voor een pointervariable"
+
+-#: fortran/decl.c:1671
++#: fortran/decl.c:1718
+ #, fuzzy, no-c-format
+ msgid "Pointer initialization requires a NULL() at %C"
+ msgstr "(dicht bij initialisatie van %qs)"
+
+-#: fortran/decl.c:1677
++#: fortran/decl.c:1724
+ #, no-c-format
+ msgid "Initialization of pointer at %C is not allowed in a PURE procedure"
+ msgstr ""
+
+-#: fortran/decl.c:1690
++#: fortran/decl.c:1737
+ #, no-c-format
+ msgid "Pointer initialization at %C requires '=>', not '='"
+ msgstr ""
+
+-#: fortran/decl.c:1699 fortran/decl.c:6129
++#: fortran/decl.c:1746 fortran/decl.c:6361
+ #, fuzzy, no-c-format
+ msgid "Expected an initialization expression at %C"
+ msgstr "ongeldige waarheidsexpressie"
+
+-#: fortran/decl.c:1705
++#: fortran/decl.c:1752
+ #, no-c-format
+ msgid "Initialization of variable at %C is not allowed in a PURE procedure"
+ msgstr ""
+
+-#: fortran/decl.c:1718
++#: fortran/decl.c:1765
+ #, no-c-format
+ msgid "Initialization of allocatable component at %C is not allowed"
+ msgstr ""
+
+-#: fortran/decl.c:1772 fortran/decl.c:1781
++#: fortran/decl.c:1819 fortran/decl.c:1828
+ #, fuzzy, no-c-format
+ msgid "Old-style type declaration %s*%d not supported at %C"
+ msgstr "sectie-attributen worden niet ondersteund voor dit doelsysteem"
+
+-#: fortran/decl.c:1786
++#: fortran/decl.c:1833
+ #, fuzzy, no-c-format
+ msgid "Nonstandard type declaration %s*%d at %C"
+ msgstr "twee of meer data types in de declaratie van %qs"
+
+-#: fortran/decl.c:1838 fortran/decl.c:1897
++#: fortran/decl.c:1884 fortran/decl.c:1948
+ #, fuzzy, no-c-format
+ msgid "Missing right parenthesis at %C"
+ msgstr "Bestandsnaam ontbreekt na %qs optie"
+
+-#: fortran/decl.c:1853 fortran/decl.c:1931
++#: fortran/decl.c:1897 fortran/decl.c:1993
+ #, fuzzy, no-c-format
+ msgid "Expected initialization expression at %C"
+ msgstr "ongeldige waarheidsexpressie"
+
+-#: fortran/decl.c:1861 fortran/decl.c:1937
++#: fortran/decl.c:1905 fortran/decl.c:1999
+ #, no-c-format
+ msgid "Expected scalar initialization expression at %C"
+ msgstr ""
+
+-#: fortran/decl.c:1891
++#: fortran/decl.c:1936
+ #, fuzzy, no-c-format
+ msgid "Kind %d not supported for type %s at %C"
+ msgstr "afrondingsmodus niet ondersteund voor VAX-floats"
+
+-#: fortran/decl.c:1957
++#: fortran/decl.c:1946
+ #, fuzzy, no-c-format
++msgid "Missing right parenthesis or comma at %C"
++msgstr "Bestandsnaam ontbreekt na %qs optie"
++
++#: fortran/decl.c:2019
++#, fuzzy, no-c-format
+ msgid "Kind %d is not supported for CHARACTER at %C"
+ msgstr "afrondingsmodus niet ondersteund voor VAX-floats"
+
+-#: fortran/decl.c:2086
++#: fortran/decl.c:2148
+ #, no-c-format
+ msgid "Syntax error in CHARACTER declaration at %C"
+ msgstr ""
+
+-#: fortran/decl.c:2156
++#: fortran/decl.c:2233
+ #, no-c-format
+ msgid "Extension: BYTE type at %C"
+ msgstr ""
+
+-#: fortran/decl.c:2162
++#: fortran/decl.c:2239
+ #, no-c-format
+ msgid "BYTE type used at %C is not available on the target machine"
+ msgstr ""
+
+-#: fortran/decl.c:2211
++#: fortran/decl.c:2288
+ #, fuzzy, no-c-format
+ msgid "DOUBLE COMPLEX at %C does not conform to the Fortran 95 standard"
+ msgstr "Volg de ISO 1990 C standaard"
+
+-#: fortran/decl.c:2245 fortran/decl.c:2252 fortran/decl.c:2558
+-#: fortran/decl.c:2566
++#: fortran/decl.c:2328 fortran/decl.c:2337 fortran/decl.c:2649
++#: fortran/decl.c:2657
+ #, fuzzy, no-c-format
+ msgid "Type name '%s' at %C is ambiguous"
+ msgstr "grootte van %qs is %u bytes"
+
+-#: fortran/decl.c:2321
++#: fortran/decl.c:2412
+ #, no-c-format
+ msgid "Missing character range in IMPLICIT at %C"
+ msgstr ""
+
+-#: fortran/decl.c:2367
++#: fortran/decl.c:2458
+ #, no-c-format
+ msgid "Letters must be in alphabetic order in IMPLICIT statement at %C"
+ msgstr ""
+
+-#: fortran/decl.c:2421
++#: fortran/decl.c:2512
+ #, no-c-format
+ msgid "Empty IMPLICIT statement at %C"
+ msgstr ""
+
+-#: fortran/decl.c:2524
++#: fortran/decl.c:2615
+ #, no-c-format
+ msgid "IMPORT statement at %C only permitted in an INTERFACE body"
+ msgstr ""
+
+-#: fortran/decl.c:2529
++#: fortran/decl.c:2620
+ #, no-c-format
+ msgid "Fortran 2003: IMPORT statement at %C"
+ msgstr ""
+
+-#: fortran/decl.c:2544
++#: fortran/decl.c:2635
+ #, no-c-format
+ msgid "Expecting list of named entities at %C"
+ msgstr ""
+
+-#: fortran/decl.c:2572
++#: fortran/decl.c:2663
+ #, no-c-format
+ msgid "Cannot IMPORT '%s' from host scoping unit at %C - does not exist."
+ msgstr ""
+
+-#: fortran/decl.c:2579
++#: fortran/decl.c:2670
+ #, no-c-format
+ msgid "'%s' is already IMPORTed from host scoping unit at %C."
+ msgstr ""
+
+-#: fortran/decl.c:2608
++#: fortran/decl.c:2699
+ #, fuzzy, no-c-format
+ msgid "Syntax error in IMPORT statement at %C"
+ msgstr "%s voor %qs"
+
+-#: fortran/decl.c:2850
++#: fortran/decl.c:2941
+ #, fuzzy, no-c-format
+ msgid "Missing dimension specification at %C"
+ msgstr "beginwaarde ontbreekt"
+
+-#: fortran/decl.c:2924
++#: fortran/decl.c:3015
+ #, fuzzy, no-c-format
+ msgid "Duplicate %s attribute at %L"
+ msgstr "herhaalde label-declaratie %qs"
+
+-#: fortran/decl.c:2943
++#: fortran/decl.c:3034
+ #, fuzzy, no-c-format
+ msgid "Fortran 2003: ALLOCATABLE attribute at %C in a TYPE definition"
+ msgstr "globale registervariabele volgt op een functiedefinitie"
+
+-#: fortran/decl.c:2953
++#: fortran/decl.c:3044
+ #, fuzzy, no-c-format
+ msgid "Attribute at %L is not allowed in a TYPE definition"
+ msgstr "globale registervariabele volgt op een functiedefinitie"
+
+-#: fortran/decl.c:2971
++#: fortran/decl.c:3062
+ #, fuzzy, no-c-format
+ msgid "Fortran 2003: Attribute %s at %L in a TYPE definition"
+ msgstr "globale registervariabele volgt op een functiedefinitie"
+
+-#: fortran/decl.c:2982
++#: fortran/decl.c:3073
+ #, fuzzy, no-c-format
+ msgid "%s attribute at %L is not allowed outside of the specification part of a module"
+ msgstr "%Jsectie-attribuut is niet toegestaan voor %qD"
+
+-#: fortran/decl.c:3034 fortran/decl.c:5437
++#: fortran/decl.c:3125 fortran/decl.c:5635
+ #, no-c-format
+ msgid "PROTECTED at %C only allowed in specification part of a module"
+ msgstr ""
+
+-#: fortran/decl.c:3040
++#: fortran/decl.c:3131
+ #, no-c-format
+ msgid "Fortran 2003: PROTECTED attribute at %C"
+ msgstr ""
+
+-#: fortran/decl.c:3071
++#: fortran/decl.c:3162
+ #, no-c-format
+ msgid "Fortran 2003: VALUE attribute at %C"
+ msgstr ""
+
+-#: fortran/decl.c:3081
++#: fortran/decl.c:3172
+ #, no-c-format
+ msgid "Fortran 2003: VOLATILE attribute at %C"
+ msgstr ""
+
+-#: fortran/decl.c:3121
++#: fortran/decl.c:3212
+ #, no-c-format
+ msgid "Multiple identifiers provided with single NAME= specifier at %C"
+ msgstr ""
+
+ #. Print an error, but continue parsing line.
+-#: fortran/decl.c:3171
++#: fortran/decl.c:3261
+ #, no-c-format
+ msgid "C kind parameter is for type %s but symbol '%s' at %L is of type %s"
+ msgstr ""
+
+-#: fortran/decl.c:3235
++#: fortran/decl.c:3325
+ #, no-c-format
+ msgid "Implicitly declared BIND(C) function '%s' at %L may not be C interoperable"
+ msgstr ""
+
+-#: fortran/decl.c:3257
++#: fortran/decl.c:3347
+ #, no-c-format
+ msgid "Variable '%s' in common block '%s' at %L may not be a C interoperable kind though common block '%s' is BIND(C)"
+ msgstr ""
+
+-#: fortran/decl.c:3266
++#: fortran/decl.c:3356
+ #, no-c-format
+ msgid "Type declaration '%s' at %L is not C interoperable but it is BIND(C)"
+ msgstr ""
+
+-#: fortran/decl.c:3270
++#: fortran/decl.c:3360
+ #, fuzzy, no-c-format
+ msgid "Variable '%s' at %L may not be a C interoperable kind but it is bind(c)"
+ msgstr "overflow in constante expressie"
+
+-#: fortran/decl.c:3282
++#: fortran/decl.c:3372
+ #, no-c-format
+ msgid "Variable '%s' in common block '%s' at %L cannot be declared with BIND(C) since it is not a global"
+ msgstr ""
+
+-#: fortran/decl.c:3296
++#: fortran/decl.c:3386
+ #, no-c-format
+ msgid "Variable '%s' at %L cannot have both the POINTER and BIND(C) attributes"
+ msgstr ""
+
+-#: fortran/decl.c:3304
++#: fortran/decl.c:3394
+ #, no-c-format
+ msgid "Variable '%s' at %L cannot have both the ALLOCATABLE and BIND(C) attributes"
+ msgstr ""
+
+-#: fortran/decl.c:3314
++#: fortran/decl.c:3404
+ #, no-c-format
+ msgid "Return type of BIND(C) function '%s' at %L cannot be an array"
+ msgstr ""
+
+-#: fortran/decl.c:3322
++#: fortran/decl.c:3412
+ #, no-c-format
+ msgid "Return type of BIND(C) function '%s' at %L cannot be a character string"
+ msgstr ""
+
+ #. Use gfc_warning_now because we won't say that the symbol fails
+ #. just because of this.
+-#: fortran/decl.c:3334
++#: fortran/decl.c:3424
+ #, no-c-format
+ msgid "Symbol '%s' at %L is marked PRIVATE but has been given the binding label '%s'"
+ msgstr ""
+
+-#: fortran/decl.c:3409
++#: fortran/decl.c:3499
+ #, no-c-format
+ msgid "Need either entity or common block name for attribute specification statement at %C"
+ msgstr ""
+
+-#: fortran/decl.c:3456
++#: fortran/decl.c:3546
+ #, no-c-format
+ msgid "Missing entity or common block name for attribute specification statement at %C"
+ msgstr ""
+
+ #. Now we have an error, which we signal, and then fix up
+ #. because the knock-on is plain and simple confusing.
+-#: fortran/decl.c:3563
++#: fortran/decl.c:3653
+ #, no-c-format
+ msgid "Derived type at %C has not been previously defined and so cannot appear in a derived type definition"
+ msgstr ""
+
+-#: fortran/decl.c:3595
++#: fortran/decl.c:3685
+ #, fuzzy, no-c-format
+ msgid "Syntax error in data declaration at %C"
+ msgstr "twee of meer data types in de declaratie van %qs"
+
+-#: fortran/decl.c:3742
++#: fortran/decl.c:3832
+ #, no-c-format
+ msgid "Name '%s' at %C is the name of the procedure"
+ msgstr ""
+
+-#: fortran/decl.c:3754
++#: fortran/decl.c:3844
+ #, no-c-format
+ msgid "Unexpected junk in formal argument list at %C"
+ msgstr ""
+
+-#: fortran/decl.c:3771
++#: fortran/decl.c:3861
+ #, no-c-format
+ msgid "Duplicate symbol '%s' in formal argument list at %C"
+ msgstr ""
+
+-#: fortran/decl.c:3822
++#: fortran/decl.c:3912
+ #, no-c-format
+ msgid "RESULT variable at %C must be different than function name"
+ msgstr ""
+
+-#: fortran/decl.c:3892
++#: fortran/decl.c:3990
+ #, fuzzy, no-c-format
+ msgid "Unexpected junk after function declaration at %C"
+ msgstr "conflicterende declaraties van %qs"
+
+-#: fortran/decl.c:3951
++#: fortran/decl.c:4000 fortran/decl.c:4734
+ #, fuzzy, no-c-format
++msgid "Extension: BIND(C) attribute at %L may not be specified for an internal procedure"
++msgstr "%Jsectie-attribuut kan niet opgegeven worden voor lokale variabelen"
++
++#: fortran/decl.c:4066
++#, fuzzy, no-c-format
+ msgid "Interface '%s' at %C may not be generic"
+ msgstr "object van variabele lengte mag geen beginwaarde krijgen"
+
+-#: fortran/decl.c:3956
++#: fortran/decl.c:4071
+ #, fuzzy, no-c-format
+ msgid "Interface '%s' at %C may not be a statement function"
+ msgstr "object van variabele lengte mag geen beginwaarde krijgen"
+
+-#: fortran/decl.c:3967
++#: fortran/decl.c:4082
+ #, no-c-format
+ msgid "Intrinsic procedure '%s' not allowed in PROCEDURE statement at %C"
+ msgstr ""
+
+-#: fortran/decl.c:3975
++#: fortran/decl.c:4118
+ #, no-c-format
+-msgid "Fortran 2003: Support for intrinsic procedure '%s' in PROCEDURE statement at %C not yet implemented in gfortran"
+-msgstr ""
+-
+-#: fortran/decl.c:4014
+-#, no-c-format
+ msgid "BIND(C) attribute at %C requires an interface with BIND(C)"
+ msgstr ""
+
+-#: fortran/decl.c:4021
++#: fortran/decl.c:4125
+ #, no-c-format
+ msgid "BIND(C) procedure with NAME may not have POINTER attribute at %C"
+ msgstr ""
+
+-#: fortran/decl.c:4027
++#: fortran/decl.c:4131
+ #, no-c-format
+ msgid "Dummy procedure at %C may not have BIND(C) attribute with NAME"
+ msgstr ""
+
+-#: fortran/decl.c:4060 fortran/decl.c:4103
++#: fortran/decl.c:4167 fortran/decl.c:4210
+ #, fuzzy, no-c-format
+ msgid "Syntax error in PROCEDURE statement at %C"
+ msgstr "%s voor %qs"
+
+-#: fortran/decl.c:4077
++#: fortran/decl.c:4184
+ #, no-c-format
+ msgid "PROCEDURE at %C must be in a generic interface"
+ msgstr ""
+
+-#: fortran/decl.c:4128
++#: fortran/decl.c:4235
+ #, no-c-format
+ msgid "Fortran 2003: Procedure components at %C are not yet implemented in gfortran"
+ msgstr ""
+
+-#: fortran/decl.c:4138
++#: fortran/decl.c:4245
+ #, no-c-format
+ msgid "Fortran 2003: PROCEDURE statement at %C"
+ msgstr ""
+
+-#: fortran/decl.c:4186
++#: fortran/decl.c:4293
+ #, no-c-format
+ msgid "Expected formal argument list in function definition at %C"
+ msgstr ""
+
+-#: fortran/decl.c:4210 fortran/decl.c:4214 fortran/decl.c:4536
+-#: fortran/decl.c:4540 fortran/symbol.c:1402
++#: fortran/decl.c:4317 fortran/decl.c:4321 fortran/decl.c:4520
++#: fortran/decl.c:4524 fortran/decl.c:4702 fortran/decl.c:4706
++#: fortran/symbol.c:1402
+ #, no-c-format
+ msgid "BIND(C) attribute at %L can only be used for variables or common blocks"
+ msgstr ""
+
+-#: fortran/decl.c:4246
++#: fortran/decl.c:4353
+ #, fuzzy, no-c-format
+ msgid "Function '%s' at %C already has a type of %s"
+ msgstr "gevraagd alignment is geen macht van 2"
+
+-#: fortran/decl.c:4322
++#: fortran/decl.c:4441
+ #, no-c-format
+ msgid "ENTRY statement at %C cannot appear within a PROGRAM"
+ msgstr ""
+
+-#: fortran/decl.c:4325
++#: fortran/decl.c:4444
+ #, no-c-format
+ msgid "ENTRY statement at %C cannot appear within a MODULE"
+ msgstr ""
+
+-#: fortran/decl.c:4328
++#: fortran/decl.c:4447
+ #, no-c-format
+ msgid "ENTRY statement at %C cannot appear within a BLOCK DATA"
+ msgstr ""
+
+-#: fortran/decl.c:4332
++#: fortran/decl.c:4451
+ #, no-c-format
+ msgid "ENTRY statement at %C cannot appear within an INTERFACE"
+ msgstr ""
+
+-#: fortran/decl.c:4336
++#: fortran/decl.c:4455
+ #, no-c-format
+ msgid "ENTRY statement at %C cannot appear within a DERIVED TYPE block"
+ msgstr ""
+
+-#: fortran/decl.c:4340
++#: fortran/decl.c:4459
+ #, no-c-format
+ msgid "ENTRY statement at %C cannot appear within an IF-THEN block"
+ msgstr ""
+
+-#: fortran/decl.c:4344
++#: fortran/decl.c:4463
+ #, no-c-format
+ msgid "ENTRY statement at %C cannot appear within a DO block"
+ msgstr ""
+
+-#: fortran/decl.c:4348
++#: fortran/decl.c:4467
+ #, no-c-format
+ msgid "ENTRY statement at %C cannot appear within a SELECT block"
+ msgstr ""
+
+-#: fortran/decl.c:4352
++#: fortran/decl.c:4471
+ #, no-c-format
+ msgid "ENTRY statement at %C cannot appear within a FORALL block"
+ msgstr ""
+
+-#: fortran/decl.c:4356
++#: fortran/decl.c:4475
+ #, no-c-format
+ msgid "ENTRY statement at %C cannot appear within a WHERE block"
+ msgstr ""
+
+-#: fortran/decl.c:4360
++#: fortran/decl.c:4479
+ #, no-c-format
+ msgid "ENTRY statement at %C cannot appear within a contained subprogram"
+ msgstr ""
+
+-#: fortran/decl.c:4378
++#: fortran/decl.c:4497
+ #, fuzzy, no-c-format
+ msgid "ENTRY statement at %C cannot appear in a contained procedure"
+ msgstr "overflow in constante expressie"
+
+-#: fortran/decl.c:4560
++#: fortran/decl.c:4552 fortran/decl.c:4742
+ #, no-c-format
+ msgid "Missing required parentheses before BIND(C) at %C"
+ msgstr ""
+
+-#: fortran/decl.c:4618 fortran/decl.c:4634
++#: fortran/decl.c:4801 fortran/decl.c:4817
+ #, fuzzy, no-c-format
+ msgid "Syntax error in NAME= specifier for binding label at %C"
+ msgstr "constant object wordt beschreven (argument %d)"
+
+-#: fortran/decl.c:4649
++#: fortran/decl.c:4832
+ #, fuzzy, no-c-format
+ msgid "Missing closing quote '\"' for binding label at %C"
+ msgstr "parameternaam ontbreekt uit parameterlijst"
+
+-#: fortran/decl.c:4658
++#: fortran/decl.c:4841
+ #, fuzzy, no-c-format
+ msgid "Missing closing quote ''' for binding label at %C"
+ msgstr "parameternaam ontbreekt uit parameterlijst"
+
+-#: fortran/decl.c:4668
++#: fortran/decl.c:4851
+ #, fuzzy, no-c-format
+ msgid "Missing closing paren for binding label at %C"
+ msgstr "parameternaam ontbreekt uit parameterlijst"
+
+-#: fortran/decl.c:4703
++#: fortran/decl.c:4857
++#, fuzzy, no-c-format
++msgid "No binding name is allowed in BIND(C) at %C"
++msgstr "Functienaam '%s' niet toegestaan op %C"
++
++#: fortran/decl.c:4863
+ #, no-c-format
++msgid "For dummy procedure %s, no binding name is allowed in BIND(C) at %C"
++msgstr ""
++
++#: fortran/decl.c:4894
++#, no-c-format
+ msgid "NAME not allowed on BIND(C) for ABSTRACT INTERFACE at %C"
+ msgstr ""
+
+-#: fortran/decl.c:4876
++#: fortran/decl.c:5066
+ #, no-c-format
+ msgid "Unexpected END statement at %C"
+ msgstr ""
+
+ #. We would have required END [something].
+-#: fortran/decl.c:4885
++#: fortran/decl.c:5075
+ #, no-c-format
+ msgid "%s statement expected at %L"
+ msgstr ""
+
+-#: fortran/decl.c:4896
++#: fortran/decl.c:5086
+ #, no-c-format
+ msgid "Expecting %s statement at %C"
+ msgstr ""
+
+-#: fortran/decl.c:4911
++#: fortran/decl.c:5101
+ #, no-c-format
+ msgid "Expected block name of '%s' in %s statement at %C"
+ msgstr ""
+
+-#: fortran/decl.c:4928
++#: fortran/decl.c:5118
+ #, no-c-format
+ msgid "Expected terminating name at %C"
+ msgstr ""
+
+-#: fortran/decl.c:4937
++#: fortran/decl.c:5127
+ #, no-c-format
+ msgid "Expected label '%s' for %s statement at %C"
+ msgstr ""
+
+-#: fortran/decl.c:4991
++#: fortran/decl.c:5181
+ #, no-c-format
+ msgid "Missing array specification at %L in DIMENSION statement"
+ msgstr ""
+
+-#: fortran/decl.c:5000
++#: fortran/decl.c:5189
+ #, no-c-format
++msgid "Dimensions specified for %s at %L after its initialisation"
++msgstr ""
++
++#: fortran/decl.c:5198
++#, no-c-format
+ msgid "Array specification must be deferred at %L"
+ msgstr ""
+
+-#: fortran/decl.c:5077
++#: fortran/decl.c:5275
+ #, no-c-format
+ msgid "Unexpected character in variable list at %C"
+ msgstr ""
+
+-#: fortran/decl.c:5114
++#: fortran/decl.c:5312
+ #, no-c-format
+ msgid "Expected '(' at %C"
+ msgstr ""
+
+-#: fortran/decl.c:5128 fortran/decl.c:5168
++#: fortran/decl.c:5326 fortran/decl.c:5366
+ #, no-c-format
+ msgid "Expected variable name at %C"
+ msgstr ""
+
+-#: fortran/decl.c:5144
++#: fortran/decl.c:5342
+ #, no-c-format
+ msgid "Cray pointer at %C must be an integer"
+ msgstr ""
+
+-#: fortran/decl.c:5148
++#: fortran/decl.c:5346
+ #, no-c-format
+ msgid "Cray pointer at %C has %d bytes of precision; memory addresses require %d bytes"
+ msgstr ""
+
+-#: fortran/decl.c:5154
++#: fortran/decl.c:5352
+ #, no-c-format
+ msgid "Expected \",\" at %C"
+ msgstr ""
+
+-#: fortran/decl.c:5217
++#: fortran/decl.c:5415
+ #, no-c-format
+ msgid "Expected \")\" at %C"
+ msgstr ""
+
+-#: fortran/decl.c:5229
++#: fortran/decl.c:5427
+ #, no-c-format
+ msgid "Expected \",\" or end of statement at %C"
+ msgstr ""
+
+-#: fortran/decl.c:5293
++#: fortran/decl.c:5491
+ #, no-c-format
+ msgid "Cray pointer declaration at %C requires -fcray-pointer flag"
+ msgstr ""
+
+-#: fortran/decl.c:5388
++#: fortran/decl.c:5586
+ #, no-c-format
+ msgid "Access specification of the %s operator at %C has already been specified"
+ msgstr ""
+
+-#: fortran/decl.c:5405
++#: fortran/decl.c:5603
+ #, no-c-format
+ msgid "Access specification of the .%s. operator at %C has already been specified"
+ msgstr ""
+
+-#: fortran/decl.c:5443
++#: fortran/decl.c:5641
+ #, no-c-format
+ msgid "Fortran 2003: PROTECTED statement at %C"
+ msgstr ""
+
+-#: fortran/decl.c:5483
++#: fortran/decl.c:5681
+ #, fuzzy, no-c-format
+ msgid "Syntax error in PROTECTED statement at %C"
+ msgstr "%s voor %qs"
+
+-#: fortran/decl.c:5504
++#: fortran/decl.c:5702
+ #, no-c-format
+ msgid "PRIVATE statement at %C is only allowed in the specification part of a module"
+ msgstr ""
+
+-#: fortran/decl.c:5541
++#: fortran/decl.c:5739
+ #, no-c-format
+ msgid "PUBLIC statement at %C is only allowed in the specification part of a module"
+ msgstr ""
+
+-#: fortran/decl.c:5568
++#: fortran/decl.c:5766
+ #, no-c-format
+ msgid "Expected variable name at %C in PARAMETER statement"
+ msgstr ""
+
+-#: fortran/decl.c:5575
++#: fortran/decl.c:5773
+ #, no-c-format
+ msgid "Expected = sign in PARAMETER statement at %C"
+ msgstr ""
+
+-#: fortran/decl.c:5581
++#: fortran/decl.c:5779
+ #, no-c-format
+ msgid "Expected expression at %C in PARAMETER statement"
+ msgstr ""
+
+-#: fortran/decl.c:5639
++#: fortran/decl.c:5799
++#, fuzzy, no-c-format
++msgid "Initializing already initialized variable at %C"
++msgstr "Initialisatie op %C is niet voor een pointervariable"
++
++#: fortran/decl.c:5844
+ #, no-c-format
+ msgid "Unexpected characters in PARAMETER statement at %C"
+ msgstr ""
+
+-#: fortran/decl.c:5663
++#: fortran/decl.c:5868
+ #, no-c-format
+ msgid "Blanket SAVE statement at %C follows previous SAVE statement"
+ msgstr ""
+
+-#: fortran/decl.c:5675
++#: fortran/decl.c:5880
+ #, no-c-format
+ msgid "SAVE statement at %C follows blanket SAVE statement"
+ msgstr ""
+
+-#: fortran/decl.c:5722
++#: fortran/decl.c:5927
+ #, no-c-format
+ msgid "Syntax error in SAVE statement at %C"
+ msgstr ""
+
+-#: fortran/decl.c:5733
++#: fortran/decl.c:5938
+ #, no-c-format
+ msgid "Fortran 2003: VALUE statement at %C"
+ msgstr ""
+
+-#: fortran/decl.c:5773
++#: fortran/decl.c:5978
+ #, fuzzy, no-c-format
+ msgid "Syntax error in VALUE statement at %C"
+ msgstr "%s voor %qs"
+
+-#: fortran/decl.c:5784
++#: fortran/decl.c:5989
+ #, no-c-format
+ msgid "Fortran 2003: VOLATILE statement at %C"
+ msgstr ""
+
+-#: fortran/decl.c:5826
++#: fortran/decl.c:6031
+ #, fuzzy, no-c-format
+ msgid "Syntax error in VOLATILE statement at %C"
+ msgstr "%s voor %qs"
+
+-#: fortran/decl.c:5848
++#: fortran/decl.c:6054
+ #, no-c-format
+ msgid "MODULE PROCEDURE at %C must be in a generic module interface"
+ msgstr ""
+
+-#: fortran/decl.c:5910
++#: fortran/decl.c:6142
+ #, no-c-format
+ msgid "Derived type at %C can only be PRIVATE in the specification part of a module"
+ msgstr ""
+
+-#: fortran/decl.c:5922
++#: fortran/decl.c:6154
+ #, no-c-format
+ msgid "Derived type at %C can only be PUBLIC in the specification part of a module"
+ msgstr ""
+
+-#: fortran/decl.c:5979
++#: fortran/decl.c:6211
+ #, no-c-format
+ msgid "Expected :: in TYPE definition at %C"
+ msgstr ""
+
+-#: fortran/decl.c:5990
++#: fortran/decl.c:6222
+ #, no-c-format
+ msgid "Type name '%s' at %C cannot be the same as an intrinsic type"
+ msgstr ""
+
+-#: fortran/decl.c:6000
++#: fortran/decl.c:6232
+ #, no-c-format
+ msgid "Derived type name '%s' at %C already has a basic type of %s"
+ msgstr ""
+
+-#: fortran/decl.c:6016
++#: fortran/decl.c:6248
+ #, no-c-format
+ msgid "Derived type definition of '%s' at %C has already been defined"
+ msgstr ""
+
+-#: fortran/decl.c:6054
++#: fortran/decl.c:6286
+ #, no-c-format
+ msgid "Cray Pointee at %C cannot be assumed shape array"
+ msgstr ""
+
+-#: fortran/decl.c:6074
++#: fortran/decl.c:6306
+ #, no-c-format
+ msgid "Fortran 2003: ENUM and ENUMERATOR at %C"
+ msgstr ""
+
+-#: fortran/decl.c:6146
++#: fortran/decl.c:6378
+ #, no-c-format
+ msgid "ENUMERATOR %L not initialized with integer expression"
+ msgstr ""
+
+-#: fortran/decl.c:6195
++#: fortran/decl.c:6427
+ #, no-c-format
+ msgid "ENUM definition statement expected before %C"
+ msgstr ""
+
+-#: fortran/decl.c:6228
++#: fortran/decl.c:6460
+ #, no-c-format
+ msgid "Syntax error in ENUMERATOR definition at %C"
+ msgstr ""
+@@ -5155,21 +5104,21 @@
+ msgid " "
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:73 fortran/dump-parse-tree.c:626
++#: fortran/dump-parse-tree.c:73 fortran/dump-parse-tree.c:637
+ #, c-format
+ msgid "(%s "
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:86 fortran/dump-parse-tree.c:1069
+-#: fortran/dump-parse-tree.c:1113 fortran/dump-parse-tree.c:1123
++#: fortran/dump-parse-tree.c:86 fortran/dump-parse-tree.c:1091
++#: fortran/dump-parse-tree.c:1135 fortran/dump-parse-tree.c:1145
+ #, c-format
+ msgid "%d"
+ msgstr ""
+
+ #: fortran/dump-parse-tree.c:90 fortran/dump-parse-tree.c:116
+ #: fortran/dump-parse-tree.c:159 fortran/dump-parse-tree.c:395
+-#: fortran/dump-parse-tree.c:518 fortran/dump-parse-tree.c:613
+-#: fortran/dump-parse-tree.c:636
++#: fortran/dump-parse-tree.c:518 fortran/dump-parse-tree.c:624
++#: fortran/dump-parse-tree.c:647
+ #, c-format
+ msgid ")"
+ msgstr ""
+@@ -5309,7 +5258,7 @@
+ msgid "%.2x"
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:429 fortran/dump-parse-tree.c:732
++#: fortran/dump-parse-tree.c:429 fortran/dump-parse-tree.c:754
+ #, fuzzy, c-format
+ msgid "%s:"
+ msgstr "%s voor %qs"
+@@ -5424,748 +5373,753 @@
+ msgid "%s[["
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:551
++#: fortran/dump-parse-tree.c:560
+ #, c-format
+ msgid "(%s %s %s %s %s"
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:558
++#: fortran/dump-parse-tree.c:567
+ #, c-format
+ msgid " ALLOCATABLE"
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:560 fortran/dump-parse-tree.c:631
++#: fortran/dump-parse-tree.c:569 fortran/dump-parse-tree.c:642
+ #, c-format
+ msgid " DIMENSION"
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:562
++#: fortran/dump-parse-tree.c:571
+ #, c-format
+ msgid " EXTERNAL"
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:564
++#: fortran/dump-parse-tree.c:573
+ #, c-format
+ msgid " INTRINSIC"
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:566
++#: fortran/dump-parse-tree.c:575
+ #, c-format
+ msgid " OPTIONAL"
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:568 fortran/dump-parse-tree.c:629
++#: fortran/dump-parse-tree.c:577 fortran/dump-parse-tree.c:640
+ #, c-format
+ msgid " POINTER"
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:570
++#: fortran/dump-parse-tree.c:579
+ #, c-format
+ msgid " PROTECTED"
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:572
++#: fortran/dump-parse-tree.c:581
+ #, c-format
+ msgid " VALUE"
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:574
++#: fortran/dump-parse-tree.c:583
+ #, c-format
+ msgid " VOLATILE"
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:576
++#: fortran/dump-parse-tree.c:585
+ #, c-format
+ msgid " THREADPRIVATE"
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:578
++#: fortran/dump-parse-tree.c:587
+ #, c-format
+ msgid " TARGET"
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:580
++#: fortran/dump-parse-tree.c:589
+ #, c-format
+ msgid " DUMMY"
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:582
++#: fortran/dump-parse-tree.c:591
+ #, c-format
+ msgid " RESULT"
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:584
++#: fortran/dump-parse-tree.c:593
+ #, c-format
+ msgid " ENTRY"
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:587
++#: fortran/dump-parse-tree.c:595
+ #, c-format
++msgid " BIND(C)"
++msgstr ""
++
++#: fortran/dump-parse-tree.c:598
++#, c-format
+ msgid " DATA"
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:589
++#: fortran/dump-parse-tree.c:600
+ #, c-format
+ msgid " USE-ASSOC"
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:591
++#: fortran/dump-parse-tree.c:602
+ #, c-format
+ msgid " IN-NAMELIST"
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:593
++#: fortran/dump-parse-tree.c:604
+ #, c-format
+ msgid " IN-COMMON"
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:596
++#: fortran/dump-parse-tree.c:607
+ #, c-format
+ msgid " ABSTRACT INTERFACE"
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:598
++#: fortran/dump-parse-tree.c:609
+ #, c-format
+ msgid " FUNCTION"
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:600
++#: fortran/dump-parse-tree.c:611
+ #, c-format
+ msgid " SUBROUTINE"
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:602
++#: fortran/dump-parse-tree.c:613
+ #, c-format
+ msgid " IMPLICIT-TYPE"
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:605
++#: fortran/dump-parse-tree.c:616
+ #, c-format
+ msgid " SEQUENCE"
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:607
++#: fortran/dump-parse-tree.c:618
+ #, c-format
+ msgid " ELEMENTAL"
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:609
++#: fortran/dump-parse-tree.c:620
+ #, c-format
+ msgid " PURE"
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:611
++#: fortran/dump-parse-tree.c:622
+ #, c-format
+ msgid " RECURSIVE"
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:635 fortran/dump-parse-tree.c:682
+-#: fortran/dump-parse-tree.c:706 fortran/dump-parse-tree.c:735
+-#: fortran/dump-parse-tree.c:1276 fortran/dump-parse-tree.c:1282
+-#: fortran/dump-parse-tree.c:1784
++#: fortran/dump-parse-tree.c:646 fortran/dump-parse-tree.c:693
++#: fortran/dump-parse-tree.c:717 fortran/dump-parse-tree.c:757
++#: fortran/dump-parse-tree.c:1298 fortran/dump-parse-tree.c:1304
++#: fortran/dump-parse-tree.c:1806
+ #, fuzzy, c-format
+ msgid " %s"
+ msgstr "%s voor %qs"
+
+-#: fortran/dump-parse-tree.c:659
++#: fortran/dump-parse-tree.c:670
+ #, c-format
+ msgid "symbol %s "
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:666
++#: fortran/dump-parse-tree.c:677
+ #, c-format
+ msgid "value: "
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:673
++#: fortran/dump-parse-tree.c:684
+ #, c-format
+ msgid "Array spec:"
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:680
++#: fortran/dump-parse-tree.c:691
+ #, c-format
+ msgid "Generic interfaces:"
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:688
++#: fortran/dump-parse-tree.c:699
+ #, c-format
+ msgid "result: %s"
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:694
++#: fortran/dump-parse-tree.c:705
+ #, c-format
+ msgid "components: "
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:701
++#: fortran/dump-parse-tree.c:712
+ #, c-format
+ msgid "Formal arglist:"
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:708
++#: fortran/dump-parse-tree.c:719
+ #, c-format
+ msgid " [Alt Return]"
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:715
++#: fortran/dump-parse-tree.c:726
+ #, fuzzy, c-format
+ msgid "Formal namespace"
+ msgstr "%qs is geen iterator"
+
+-#: fortran/dump-parse-tree.c:771
++#: fortran/dump-parse-tree.c:793
+ #, c-format
+ msgid "common: /%s/ "
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:779 fortran/dump-parse-tree.c:1720
++#: fortran/dump-parse-tree.c:801 fortran/dump-parse-tree.c:1742
+ #, c-format
+ msgid ", "
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:791
++#: fortran/dump-parse-tree.c:813
+ #, c-format
+ msgid "symtree: %s Ambig %d"
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:794
++#: fortran/dump-parse-tree.c:816
+ #, fuzzy, c-format
+ msgid " from namespace %s"
+ msgstr "onbekende machine-modus %qs"
+
+-#: fortran/dump-parse-tree.c:820
++#: fortran/dump-parse-tree.c:842
+ #, fuzzy, c-format
+ msgid "%s,"
+ msgstr "%s\n"
+
+-#: fortran/dump-parse-tree.c:852
++#: fortran/dump-parse-tree.c:874
+ #, c-format
+ msgid "!$OMP %s"
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:867 fortran/dump-parse-tree.c:1010
++#: fortran/dump-parse-tree.c:889 fortran/dump-parse-tree.c:1032
+ #, fuzzy, c-format
+ msgid " (%s)"
+ msgstr "%s voor %qs"
+
+-#: fortran/dump-parse-tree.c:872
++#: fortran/dump-parse-tree.c:894
+ #, c-format
+ msgid " ("
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:888
++#: fortran/dump-parse-tree.c:910
+ #, c-format
+ msgid " IF("
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:894
++#: fortran/dump-parse-tree.c:916
+ #, c-format
+ msgid " NUM_THREADS("
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:910
++#: fortran/dump-parse-tree.c:932
+ #, c-format
+ msgid " SCHEDULE (%s"
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:930
++#: fortran/dump-parse-tree.c:952
+ #, c-format
+ msgid " DEFAULT(%s)"
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:933
++#: fortran/dump-parse-tree.c:955
+ #, c-format
+ msgid " ORDERED"
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:958
++#: fortran/dump-parse-tree.c:980
+ #, c-format
+ msgid " REDUCTION(%s:"
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:972
++#: fortran/dump-parse-tree.c:994
+ #, fuzzy, c-format
+ msgid " %s("
+ msgstr "%s voor %qs"
+
+-#: fortran/dump-parse-tree.c:988
++#: fortran/dump-parse-tree.c:1010
+ #, c-format
+ msgid "!$OMP SECTION\n"
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:997
++#: fortran/dump-parse-tree.c:1019
+ #, c-format
+ msgid "!$OMP END %s"
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:1002
++#: fortran/dump-parse-tree.c:1024
+ #, c-format
+ msgid " COPYPRIVATE("
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:1007
++#: fortran/dump-parse-tree.c:1029
+ #, c-format
+ msgid " NOWAIT"
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:1034
++#: fortran/dump-parse-tree.c:1056
+ #, c-format
+ msgid "NOP"
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:1038
++#: fortran/dump-parse-tree.c:1060
+ #, c-format
+ msgid "CONTINUE"
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:1042
++#: fortran/dump-parse-tree.c:1064
+ #, c-format
+ msgid "ENTRY %s"
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:1047
++#: fortran/dump-parse-tree.c:1069
+ #, c-format
+ msgid "ASSIGN "
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:1054
++#: fortran/dump-parse-tree.c:1076
+ #, c-format
+ msgid "LABEL ASSIGN "
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:1056
++#: fortran/dump-parse-tree.c:1078
+ #, fuzzy, c-format
+ msgid " %d"
+ msgstr "%s voor %qs"
+
+-#: fortran/dump-parse-tree.c:1060
++#: fortran/dump-parse-tree.c:1082
+ #, c-format
+ msgid "POINTER ASSIGN "
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:1067
++#: fortran/dump-parse-tree.c:1089
+ #, c-format
+ msgid "GOTO "
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:1076
++#: fortran/dump-parse-tree.c:1098
+ #, c-format
+ msgid ", ("
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:1092 fortran/dump-parse-tree.c:1094
++#: fortran/dump-parse-tree.c:1114 fortran/dump-parse-tree.c:1116
+ #, c-format
+ msgid "CALL %s "
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:1096
++#: fortran/dump-parse-tree.c:1118
+ #, c-format
+ msgid "CALL ?? "
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:1102
++#: fortran/dump-parse-tree.c:1124
+ #, c-format
+ msgid "RETURN "
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:1108
++#: fortran/dump-parse-tree.c:1130
+ #, c-format
+ msgid "PAUSE "
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:1118
++#: fortran/dump-parse-tree.c:1140
+ #, c-format
+ msgid "STOP "
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:1128 fortran/dump-parse-tree.c:1136
++#: fortran/dump-parse-tree.c:1150 fortran/dump-parse-tree.c:1158
+ #, c-format
+ msgid "IF "
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:1130
++#: fortran/dump-parse-tree.c:1152
+ #, c-format
+ msgid " %d, %d, %d"
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:1147
++#: fortran/dump-parse-tree.c:1169
+ #, c-format
+ msgid "ELSE\n"
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:1150
++#: fortran/dump-parse-tree.c:1172
+ #, c-format
+ msgid "ELSE IF "
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:1160
++#: fortran/dump-parse-tree.c:1182
+ #, c-format
+ msgid "ENDIF"
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:1165
++#: fortran/dump-parse-tree.c:1187
+ #, c-format
+ msgid "SELECT CASE "
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:1173
++#: fortran/dump-parse-tree.c:1195
+ #, c-format
+ msgid "CASE "
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:1189
++#: fortran/dump-parse-tree.c:1211
+ #, c-format
+ msgid "END SELECT"
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:1193
++#: fortran/dump-parse-tree.c:1215
+ #, c-format
+ msgid "WHERE "
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:1204
++#: fortran/dump-parse-tree.c:1226
+ #, c-format
+ msgid "ELSE WHERE "
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:1211
++#: fortran/dump-parse-tree.c:1233
+ #, c-format
+ msgid "END WHERE"
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:1216
++#: fortran/dump-parse-tree.c:1238
+ #, c-format
+ msgid "FORALL "
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:1241
++#: fortran/dump-parse-tree.c:1263
+ #, c-format
+ msgid "END FORALL"
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:1245
++#: fortran/dump-parse-tree.c:1267
+ #, c-format
+ msgid "DO "
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:1259 fortran/dump-parse-tree.c:1270
++#: fortran/dump-parse-tree.c:1281 fortran/dump-parse-tree.c:1292
+ #, c-format
+ msgid "END DO"
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:1263
++#: fortran/dump-parse-tree.c:1285
+ #, c-format
+ msgid "DO WHILE "
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:1274
++#: fortran/dump-parse-tree.c:1296
+ #, c-format
+ msgid "CYCLE"
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:1280
++#: fortran/dump-parse-tree.c:1302
+ #, c-format
+ msgid "EXIT"
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:1286
++#: fortran/dump-parse-tree.c:1308
+ #, c-format
+ msgid "ALLOCATE "
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:1289 fortran/dump-parse-tree.c:1305
++#: fortran/dump-parse-tree.c:1311 fortran/dump-parse-tree.c:1327
+ #, c-format
+ msgid " STAT="
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:1302
++#: fortran/dump-parse-tree.c:1324
+ #, c-format
+ msgid "DEALLOCATE "
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:1318
++#: fortran/dump-parse-tree.c:1340
+ #, c-format
+ msgid "OPEN"
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:1323 fortran/dump-parse-tree.c:1402
+-#: fortran/dump-parse-tree.c:1444 fortran/dump-parse-tree.c:1467
+-#: fortran/dump-parse-tree.c:1619
++#: fortran/dump-parse-tree.c:1345 fortran/dump-parse-tree.c:1424
++#: fortran/dump-parse-tree.c:1466 fortran/dump-parse-tree.c:1489
++#: fortran/dump-parse-tree.c:1641
+ #, c-format
+ msgid " UNIT="
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:1328 fortran/dump-parse-tree.c:1407
+-#: fortran/dump-parse-tree.c:1449 fortran/dump-parse-tree.c:1478
+-#: fortran/dump-parse-tree.c:1636
++#: fortran/dump-parse-tree.c:1350 fortran/dump-parse-tree.c:1429
++#: fortran/dump-parse-tree.c:1471 fortran/dump-parse-tree.c:1500
++#: fortran/dump-parse-tree.c:1658
+ #, c-format
+ msgid " IOMSG="
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:1333 fortran/dump-parse-tree.c:1412
+-#: fortran/dump-parse-tree.c:1454 fortran/dump-parse-tree.c:1483
+-#: fortran/dump-parse-tree.c:1641
++#: fortran/dump-parse-tree.c:1355 fortran/dump-parse-tree.c:1434
++#: fortran/dump-parse-tree.c:1476 fortran/dump-parse-tree.c:1505
++#: fortran/dump-parse-tree.c:1663
+ #, c-format
+ msgid " IOSTAT="
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:1338 fortran/dump-parse-tree.c:1472
++#: fortran/dump-parse-tree.c:1360 fortran/dump-parse-tree.c:1494
+ #, c-format
+ msgid " FILE="
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:1343 fortran/dump-parse-tree.c:1417
++#: fortran/dump-parse-tree.c:1365 fortran/dump-parse-tree.c:1439
+ #, c-format
+ msgid " STATUS="
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:1348 fortran/dump-parse-tree.c:1513
++#: fortran/dump-parse-tree.c:1370 fortran/dump-parse-tree.c:1535
+ #, c-format
+ msgid " ACCESS="
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:1353 fortran/dump-parse-tree.c:1529
++#: fortran/dump-parse-tree.c:1375 fortran/dump-parse-tree.c:1551
+ #, c-format
+ msgid " FORM="
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:1358 fortran/dump-parse-tree.c:1544
++#: fortran/dump-parse-tree.c:1380 fortran/dump-parse-tree.c:1566
+ #, c-format
+ msgid " RECL="
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:1363 fortran/dump-parse-tree.c:1554
++#: fortran/dump-parse-tree.c:1385 fortran/dump-parse-tree.c:1576
+ #, c-format
+ msgid " BLANK="
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:1368 fortran/dump-parse-tree.c:1559
++#: fortran/dump-parse-tree.c:1390 fortran/dump-parse-tree.c:1581
+ #, c-format
+ msgid " POSITION="
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:1373 fortran/dump-parse-tree.c:1564
++#: fortran/dump-parse-tree.c:1395 fortran/dump-parse-tree.c:1586
+ #, c-format
+ msgid " ACTION="
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:1378 fortran/dump-parse-tree.c:1584
++#: fortran/dump-parse-tree.c:1400 fortran/dump-parse-tree.c:1606
+ #, c-format
+ msgid " DELIM="
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:1383 fortran/dump-parse-tree.c:1589
++#: fortran/dump-parse-tree.c:1405 fortran/dump-parse-tree.c:1611
+ #, c-format
+ msgid " PAD="
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:1388 fortran/dump-parse-tree.c:1594
++#: fortran/dump-parse-tree.c:1410 fortran/dump-parse-tree.c:1616
+ #, c-format
+ msgid " CONVERT="
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:1392 fortran/dump-parse-tree.c:1421
+-#: fortran/dump-parse-tree.c:1458 fortran/dump-parse-tree.c:1599
+-#: fortran/dump-parse-tree.c:1676
++#: fortran/dump-parse-tree.c:1414 fortran/dump-parse-tree.c:1443
++#: fortran/dump-parse-tree.c:1480 fortran/dump-parse-tree.c:1621
++#: fortran/dump-parse-tree.c:1698
+ #, c-format
+ msgid " ERR=%d"
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:1397
++#: fortran/dump-parse-tree.c:1419
+ #, c-format
+ msgid "CLOSE"
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:1425
++#: fortran/dump-parse-tree.c:1447
+ #, c-format
+ msgid "BACKSPACE"
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:1429
++#: fortran/dump-parse-tree.c:1451
+ #, c-format
+ msgid "ENDFILE"
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:1433
++#: fortran/dump-parse-tree.c:1455
+ #, c-format
+ msgid "REWIND"
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:1437
++#: fortran/dump-parse-tree.c:1459
+ #, c-format
+ msgid "FLUSH"
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:1462
++#: fortran/dump-parse-tree.c:1484
+ #, c-format
+ msgid "INQUIRE"
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:1488
++#: fortran/dump-parse-tree.c:1510
+ #, c-format
+ msgid " EXIST="
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:1493
++#: fortran/dump-parse-tree.c:1515
+ #, c-format
+ msgid " OPENED="
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:1498
++#: fortran/dump-parse-tree.c:1520
+ #, c-format
+ msgid " NUMBER="
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:1503
++#: fortran/dump-parse-tree.c:1525
+ #, c-format
+ msgid " NAMED="
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:1508
++#: fortran/dump-parse-tree.c:1530
+ #, c-format
+ msgid " NAME="
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:1518
++#: fortran/dump-parse-tree.c:1540
+ #, c-format
+ msgid " SEQUENTIAL="
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:1524
++#: fortran/dump-parse-tree.c:1546
+ #, c-format
+ msgid " DIRECT="
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:1534
++#: fortran/dump-parse-tree.c:1556
+ #, c-format
+ msgid " FORMATTED"
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:1539
++#: fortran/dump-parse-tree.c:1561
+ #, c-format
+ msgid " UNFORMATTED="
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:1549
++#: fortran/dump-parse-tree.c:1571
+ #, c-format
+ msgid " NEXTREC="
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:1569
++#: fortran/dump-parse-tree.c:1591
+ #, c-format
+ msgid " READ="
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:1574
++#: fortran/dump-parse-tree.c:1596
+ #, c-format
+ msgid " WRITE="
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:1579
++#: fortran/dump-parse-tree.c:1601
+ #, c-format
+ msgid " READWRITE="
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:1603
++#: fortran/dump-parse-tree.c:1625
+ #, c-format
+ msgid "IOLENGTH "
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:1609
++#: fortran/dump-parse-tree.c:1631
+ #, c-format
+ msgid "READ"
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:1613
++#: fortran/dump-parse-tree.c:1635
+ #, c-format
+ msgid "WRITE"
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:1625
++#: fortran/dump-parse-tree.c:1647
+ #, c-format
+ msgid " FMT="
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:1630
++#: fortran/dump-parse-tree.c:1652
+ #, c-format
+ msgid " FMT=%d"
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:1632
++#: fortran/dump-parse-tree.c:1654
+ #, fuzzy, c-format
+ msgid " NML=%s"
+ msgstr "%s voor %qs"
+
+-#: fortran/dump-parse-tree.c:1646
++#: fortran/dump-parse-tree.c:1668
+ #, c-format
+ msgid " SIZE="
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:1651
++#: fortran/dump-parse-tree.c:1673
+ #, c-format
+ msgid " REC="
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:1656
++#: fortran/dump-parse-tree.c:1678
+ #, c-format
+ msgid " ADVANCE="
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:1667
++#: fortran/dump-parse-tree.c:1689
+ #, c-format
+ msgid "TRANSFER "
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:1672
++#: fortran/dump-parse-tree.c:1694
+ #, c-format
+ msgid "DT_END"
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:1678
++#: fortran/dump-parse-tree.c:1700
+ #, c-format
+ msgid " END=%d"
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:1680
++#: fortran/dump-parse-tree.c:1702
+ #, c-format
+ msgid " EOR=%d"
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:1714
++#: fortran/dump-parse-tree.c:1736
+ #, c-format
+ msgid "Equivalence: "
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:1740
++#: fortran/dump-parse-tree.c:1762
+ #, c-format
+ msgid "Namespace:"
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:1754
++#: fortran/dump-parse-tree.c:1776
+ #, c-format
+ msgid " %c-%c: "
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:1756
++#: fortran/dump-parse-tree.c:1778
+ #, c-format
+ msgid " %c: "
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:1765
++#: fortran/dump-parse-tree.c:1787
+ #, c-format
+ msgid "procedure name = %s"
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:1781
++#: fortran/dump-parse-tree.c:1803
+ #, c-format
+ msgid "Operator interfaces for %s:"
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:1790
++#: fortran/dump-parse-tree.c:1812
+ #, fuzzy, c-format
+ msgid "User operators:\n"
+ msgstr "registernaam niet opgegeven voor %qs"
+
+-#: fortran/dump-parse-tree.c:1806
++#: fortran/dump-parse-tree.c:1828
+ #, c-format
+ msgid "CONTAINS\n"
+ msgstr ""
+@@ -6186,312 +6140,352 @@
+ msgstr ""
+
+ # Dit zou misschien beter 'warning' blijven
+-#: fortran/error.c:670 fortran/error.c:725 fortran/error.c:762
++#: fortran/error.c:670 fortran/error.c:724 fortran/error.c:761
+ #, fuzzy
+ msgid "Warning:"
+ msgstr "let op: "
+
+-#: fortran/error.c:727 fortran/error.c:810 fortran/error.c:836
++#: fortran/error.c:726 fortran/error.c:809 fortran/error.c:835
+ #, fuzzy
+ msgid "Error:"
+ msgstr "fout: "
+
+-#: fortran/error.c:860
++#: fortran/error.c:859
+ #, fuzzy
+ msgid "Fatal Error:"
+ msgstr "fatale fout: "
+
+-#: fortran/error.c:879
++#: fortran/error.c:878
+ #, fuzzy, no-c-format
+ msgid "Internal Error at (1):"
+ msgstr "interne fout"
+
+-#: fortran/expr.c:252
++#: fortran/expr.c:253
+ #, fuzzy, c-format
+ msgid "Constant expression required at %C"
+ msgstr "overflow in constante expressie"
+
+-#: fortran/expr.c:255
++#: fortran/expr.c:256
+ #, fuzzy, c-format
+ msgid "Integer expression required at %C"
+ msgstr "overflow in constante expressie"
+
+-#: fortran/expr.c:260
++#: fortran/expr.c:261
+ #, fuzzy, c-format
+ msgid "Integer value too large in expression at %C"
+ msgstr "integer overflow in expressie"
+
+-#: fortran/expr.c:1018 fortran/expr.c:1189 fortran/expr.c:1240
++#: fortran/expr.c:1037
++#, fuzzy, no-c-format
++msgid "Index in dimension %d is out of bounds at %L"
++msgstr "het argument van %<asm%> is geen constante string"
++
++#: fortran/expr.c:1208 fortran/expr.c:1259
+ #, no-c-format
+ msgid "index in dimension %d is out of bounds at %L"
+ msgstr ""
+
+-#: fortran/expr.c:1789
++#: fortran/expr.c:1808
+ #, no-c-format
+ msgid "elemental function arguments at %C are not compliant"
+ msgstr ""
+
+-#: fortran/expr.c:1833
++#: fortran/expr.c:1852
+ #, no-c-format
+ msgid "Numeric or CHARACTER operands are required in expression at %L"
+ msgstr ""
+
+-#: fortran/expr.c:1853
++#: fortran/expr.c:1872
+ #, fuzzy, no-c-format
+ msgid "Fortran 2003: Noninteger exponent in an initialization expression at %L"
+ msgstr "ongeldige waarheidsexpressie"
+
+-#: fortran/expr.c:1868
++#: fortran/expr.c:1887
+ #, no-c-format
+ msgid "Concatenation operator in expression at %L must have two CHARACTER operands"
+ msgstr ""
+
+-#: fortran/expr.c:1875
++#: fortran/expr.c:1894
+ #, no-c-format
+ msgid "Concat operator at %L must concatenate strings of the same kind"
+ msgstr ""
+
+-#: fortran/expr.c:1885
++#: fortran/expr.c:1904
+ #, no-c-format
+ msgid ".NOT. operator in expression at %L must have a LOGICAL operand"
+ msgstr ""
+
+-#: fortran/expr.c:1901
++#: fortran/expr.c:1920
+ #, no-c-format
+ msgid "LOGICAL operands are required in expression at %L"
+ msgstr ""
+
+-#: fortran/expr.c:1912
++#: fortran/expr.c:1931
+ #, no-c-format
+ msgid "Only intrinsic operators can be used in expression at %L"
+ msgstr ""
+
+-#: fortran/expr.c:1920
++#: fortran/expr.c:1939
+ #, no-c-format
+ msgid "Numeric operands are required in expression at %L"
+ msgstr ""
+
+-#: fortran/expr.c:1985
++#: fortran/expr.c:2030
+ #, fuzzy, no-c-format
+-msgid "Inquiry function '%s' at %L is not permitted in an initialization expression"
+-msgstr "overflow in constante expressie"
+-
+-#: fortran/expr.c:2015
+-#, fuzzy, no-c-format
+ msgid "Assumed character length variable '%s' in constant expression at %L"
+ msgstr "overflow in constante expressie"
+
+-#: fortran/expr.c:2061 fortran/expr.c:2067
++#: fortran/expr.c:2076 fortran/expr.c:2082
+ #, fuzzy, no-c-format
+ msgid "transformational intrinsic '%s' at %L is not permitted in an initialization expression"
+ msgstr "overflow in constante expressie"
+
+-#: fortran/expr.c:2098
++#: fortran/expr.c:2114
+ #, no-c-format
+ msgid "Extension: Evaluation of nonstandard initialization expression at %L"
+ msgstr ""
+
+-#: fortran/expr.c:2151
++#: fortran/expr.c:2167
+ #, no-c-format
+ msgid "Function '%s' in initialization expression at %L must be an intrinsic or a specification function"
+ msgstr ""
+
+-#: fortran/expr.c:2163
++#: fortran/expr.c:2179
+ #, fuzzy, no-c-format
+ msgid "Intrinsic function '%s' at %L is not permitted in an initialization expression"
+ msgstr "overflow in constante expressie"
+
+-#: fortran/expr.c:2207
++#: fortran/expr.c:2214
++#, no-c-format
++msgid "PARAMETER '%s' is used at %L before its definition is complete"
++msgstr ""
++
++#: fortran/expr.c:2234
+ #, fuzzy, no-c-format
+ msgid "Assumed size array '%s' at %L is not permitted in an initialization expression"
+ msgstr "overflow in constante expressie"
+
+-#: fortran/expr.c:2213
++#: fortran/expr.c:2240
+ #, fuzzy, no-c-format
+ msgid "Assumed shape array '%s' at %L is not permitted in an initialization expression"
+ msgstr "overflow in constante expressie"
+
+-#: fortran/expr.c:2219
++#: fortran/expr.c:2246
+ #, fuzzy, no-c-format
+ msgid "Deferred array '%s' at %L is not permitted in an initialization expression"
+ msgstr "overflow in constante expressie"
+
+-#: fortran/expr.c:2229
++#: fortran/expr.c:2252
+ #, no-c-format
++msgid "Array '%s' at %L is a variable, which does not reduce to a constant expression"
++msgstr ""
++
++#: fortran/expr.c:2262
++#, no-c-format
+ msgid "Parameter '%s' at %L has not been declared or is a variable, which does not reduce to a constant expression"
+ msgstr ""
+
+-#: fortran/expr.c:2317
++#: fortran/expr.c:2350
+ #, fuzzy, no-c-format
+ msgid "Initialization expression didn't reduce %C"
+ msgstr "ongeldige waarheidsexpressie"
+
+-#: fortran/expr.c:2360
++#: fortran/expr.c:2393
+ #, no-c-format
+ msgid "Specification function '%s' at %L cannot be a statement function"
+ msgstr ""
+
+-#: fortran/expr.c:2367
++#: fortran/expr.c:2400
+ #, no-c-format
+ msgid "Specification function '%s' at %L cannot be an internal function"
+ msgstr ""
+
+-#: fortran/expr.c:2374
++#: fortran/expr.c:2407
+ #, no-c-format
+ msgid "Specification function '%s' at %L must be PURE"
+ msgstr ""
+
+-#: fortran/expr.c:2381
++#: fortran/expr.c:2414
+ #, no-c-format
+ msgid "Specification function '%s' at %L cannot be RECURSIVE"
+ msgstr ""
+
+-#: fortran/expr.c:2443
++#: fortran/expr.c:2476
+ #, fuzzy, no-c-format
+ msgid "Dummy argument '%s' not allowed in expression at %L"
+ msgstr "overflow in constante expressie"
+
+-#: fortran/expr.c:2450
++#: fortran/expr.c:2483
+ #, no-c-format
+ msgid "Dummy argument '%s' at %L cannot be OPTIONAL"
+ msgstr ""
+
+-#: fortran/expr.c:2457
++#: fortran/expr.c:2490
+ #, no-c-format
+ msgid "Dummy argument '%s' at %L cannot be INTENT(OUT)"
+ msgstr ""
+
+-#: fortran/expr.c:2479
++#: fortran/expr.c:2513
+ #, fuzzy, no-c-format
+ msgid "Variable '%s' cannot appear in the expression at %L"
+ msgstr "overflow in constante expressie"
+
+-#: fortran/expr.c:2528
++#: fortran/expr.c:2562
+ #, no-c-format
+ msgid "Expression at %L must be of INTEGER type"
+ msgstr ""
+
+-#: fortran/expr.c:2537
++#: fortran/expr.c:2571
+ #, fuzzy, no-c-format
+ msgid "Function '%s' at %L must be PURE"
+ msgstr "gevraagd alignment is geen macht van 2"
+
+-#: fortran/expr.c:2546
++#: fortran/expr.c:2580
+ #, no-c-format
+ msgid "Expression at %L must be scalar"
+ msgstr ""
+
+-#: fortran/expr.c:2573
++#: fortran/expr.c:2607
+ #, fuzzy, no-c-format
+ msgid "Incompatible ranks in %s (%d and %d) at %L"
+ msgstr "incompatibel type voor argument %d van %qs"
+
+-#: fortran/expr.c:2587
++#: fortran/expr.c:2621
+ #, no-c-format
+ msgid "Different shape for %s at %L on dimension %d (%d and %d)"
+ msgstr ""
+
+-#: fortran/expr.c:2633 fortran/expr.c:2800
++#: fortran/expr.c:2667 fortran/expr.c:2884
+ #, no-c-format
+ msgid "Cannot assign to INTENT(IN) variable '%s' at %L"
+ msgstr ""
+
+-#: fortran/expr.c:2676
++#: fortran/expr.c:2719
+ #, no-c-format
+ msgid "'%s' at %L is not a VALUE"
+ msgstr ""
+
+-#: fortran/expr.c:2683
++#: fortran/expr.c:2726
+ #, fuzzy, no-c-format
+ msgid "Incompatible ranks %d and %d in assignment at %L"
+ msgstr "incompatibele types bij %s"
+
+-#: fortran/expr.c:2690
++#: fortran/expr.c:2733
+ #, fuzzy, no-c-format
+ msgid "Variable type is UNKNOWN in assignment at %L"
+ msgstr "incompatibele types bij %s"
+
+-#: fortran/expr.c:2702
++#: fortran/expr.c:2745
+ #, no-c-format
+ msgid "NULL appears on right-hand side in assignment at %L"
+ msgstr ""
+
+-#: fortran/expr.c:2713
++#: fortran/expr.c:2756
+ #, no-c-format
+ msgid "Vector assignment to assumed-size Cray Pointee at %L is illegal"
+ msgstr ""
+
+-#: fortran/expr.c:2722
++#: fortran/expr.c:2765
+ #, fuzzy, no-c-format
+ msgid "POINTER valued function appears on right-hand side of assignment at %L"
+ msgstr "ongeldige lvalue in toewijzing"
+
+-#: fortran/expr.c:2727
++#: fortran/expr.c:2770
+ #, fuzzy
+ msgid "array assignment"
+ msgstr "beginwaarde ontbreekt"
+
+-#: fortran/expr.c:2744
++#: fortran/expr.c:2775
++#, no-c-format
++msgid "Extension: BOZ literal at %L used to initialize non-integer variable '%s'"
++msgstr ""
++
++#: fortran/expr.c:2781 fortran/resolve.c:6058
++#, no-c-format
++msgid "Extension: BOZ literal at %L outside a DATA statement and outside INT/REAL/DBLE/CMPLX"
++msgstr ""
++
++#: fortran/expr.c:2791 fortran/resolve.c:6068
++#, no-c-format
++msgid "BOZ literal at %L is bitwise transferred non-integer symbol '%s'"
++msgstr ""
++
++#: fortran/expr.c:2799 fortran/resolve.c:6077
++#, no-c-format
++msgid "Arithmetic underflow of bit-wise transferred BOZ at %L. This check can be disabled with the option -fno-range-check"
++msgstr ""
++
++#: fortran/expr.c:2803 fortran/resolve.c:6081
++#, no-c-format
++msgid "Arithmetic overflow of bit-wise transferred BOZ at %L. This check can be disabled with the option -fno-range-check"
++msgstr ""
++
++#: fortran/expr.c:2807 fortran/resolve.c:6085
++#, no-c-format
++msgid "Arithmetic NaN of bit-wise transferred BOZ at %L. This check can be disabled with the option -fno-range-check"
++msgstr ""
++
++#: fortran/expr.c:2828
+ #, fuzzy, no-c-format
+ msgid "Incompatible types in assignment at %L, %s to %s"
+ msgstr "incompatibel type voor argument %d van %qs"
+
+-#: fortran/expr.c:2769
++#: fortran/expr.c:2853
+ #, no-c-format
+ msgid "Pointer assignment target is not a POINTER at %L"
+ msgstr ""
+
+-#: fortran/expr.c:2777
++#: fortran/expr.c:2861
+ #, no-c-format
+ msgid "'%s' in the pointer assignment at %L cannot be an l-value since it is a procedure"
+ msgstr ""
+
+-#: fortran/expr.c:2807
++#: fortran/expr.c:2891
+ #, no-c-format
+ msgid "Pointer assignment to non-POINTER at %L"
+ msgstr ""
+
+-#: fortran/expr.c:2816
++#: fortran/expr.c:2900
+ #, no-c-format
+ msgid "Bad pointer object in PURE procedure at %L"
+ msgstr ""
+
+-#: fortran/expr.c:2828
++#: fortran/expr.c:2912
+ #, fuzzy, no-c-format
+ msgid "Different types in pointer assignment at %L"
+ msgstr "incompatibele types bij %s"
+
+-#: fortran/expr.c:2835
++#: fortran/expr.c:2919
+ #, no-c-format
+ msgid "Different kind type parameters in pointer assignment at %L"
+ msgstr ""
+
+-#: fortran/expr.c:2842
++#: fortran/expr.c:2926
+ #, fuzzy, no-c-format
+ msgid "Different ranks in pointer assignment at %L"
+ msgstr "incompatibele types bij %s"
+
+-#: fortran/expr.c:2857
++#: fortran/expr.c:2941
+ #, fuzzy, no-c-format
+ msgid "Different character lengths in pointer assignment at %L"
+ msgstr "incompatibele types bij %s"
+
+-#: fortran/expr.c:2868
++#: fortran/expr.c:2952
+ #, no-c-format
+ msgid "Pointer assignment target is neither TARGET nor POINTER at %L"
+ msgstr ""
+
+-#: fortran/expr.c:2875
++#: fortran/expr.c:2959
+ #, no-c-format
+ msgid "Bad target in pointer assignment in PURE procedure at %L"
+ msgstr ""
+
+-#: fortran/expr.c:2881
++#: fortran/expr.c:2965
+ #, no-c-format
+ msgid "Pointer assignment with vector subscript on rhs at %L"
+ msgstr ""
+
+-#: fortran/expr.c:2888
++#: fortran/expr.c:2972
+ #, no-c-format
+ msgid "Pointer assigment target has PROTECTED attribute at %L"
+ msgstr ""
+@@ -6581,293 +6575,318 @@
+ msgid "Expecting 'END INTERFACE %s' at %C"
+ msgstr ""
+
+-#: fortran/interface.c:551
++#: fortran/interface.c:563
+ #, fuzzy, no-c-format
+ msgid "Alternate return cannot appear in operator interface at %L"
+ msgstr "overflow in constante expressie"
+
+-#: fortran/interface.c:581
++#: fortran/interface.c:593
+ #, no-c-format
+ msgid "Operator interface at %L has the wrong number of arguments"
+ msgstr ""
+
+-#: fortran/interface.c:592
++#: fortran/interface.c:604
+ #, no-c-format
+ msgid "Assignment operator interface at %L must be a SUBROUTINE"
+ msgstr ""
+
+-#: fortran/interface.c:598
++#: fortran/interface.c:610
+ #, fuzzy, no-c-format
+ msgid "Assignment operator interface at %L must have two arguments"
+ msgstr "Intrinsic '%s' op %L moet minstens twee argumenten hebben"
+
+-#: fortran/interface.c:608
++#: fortran/interface.c:620
+ #, no-c-format
+ msgid "Assignment operator interface at %L must not redefine an INTRINSIC type assignment"
+ msgstr ""
+
+-#: fortran/interface.c:617
++#: fortran/interface.c:629
+ #, no-c-format
+ msgid "Intrinsic operator interface at %L must be a FUNCTION"
+ msgstr ""
+
+-#: fortran/interface.c:627
++#: fortran/interface.c:639
+ #, no-c-format
+ msgid "First argument of defined assignment at %L must be INTENT(IN) or INTENT(INOUT)"
+ msgstr ""
+
+-#: fortran/interface.c:631
++#: fortran/interface.c:643
+ #, no-c-format
+ msgid "Second argument of defined assignment at %L must be INTENT(IN)"
+ msgstr ""
+
+-#: fortran/interface.c:637 fortran/resolve.c:8807
++#: fortran/interface.c:649 fortran/resolve.c:8998
+ #, no-c-format
+ msgid "First argument of operator interface at %L must be INTENT(IN)"
+ msgstr ""
+
+-#: fortran/interface.c:641 fortran/resolve.c:8819
++#: fortran/interface.c:653 fortran/resolve.c:9010
+ #, no-c-format
+ msgid "Second argument of operator interface at %L must be INTENT(IN)"
+ msgstr ""
+
+-#: fortran/interface.c:744
++#: fortran/interface.c:756
+ #, no-c-format
+ msgid "Operator interface at %L conflicts with intrinsic interface"
+ msgstr ""
+
+-#: fortran/interface.c:1044
++#: fortran/interface.c:1117
+ #, fuzzy, no-c-format
+ msgid "Procedure '%s' in %s at %L has no explicit interface"
+ msgstr "parameternamen (zonder types) in functiedeclaratie"
+
+-#: fortran/interface.c:1047
++#: fortran/interface.c:1120
+ #, no-c-format
+ msgid "Procedure '%s' in %s at %L is neither function nor subroutine"
+ msgstr ""
+
+-#: fortran/interface.c:1102 fortran/interface.c:1108
++#: fortran/interface.c:1175 fortran/interface.c:1181
+ #, no-c-format
+ msgid "Ambiguous interfaces '%s' and '%s' in %s at %L"
+ msgstr ""
+
+-#: fortran/interface.c:1144
++#: fortran/interface.c:1217
+ #, fuzzy, no-c-format
+ msgid "'%s' at %L is not a module procedure"
+ msgstr "%qs is geen bestand, pipe of tty"
+
+-#: fortran/interface.c:1676
++#: fortran/interface.c:1465 fortran/interface.c:2411
+ #, no-c-format
++msgid "Type/rank mismatch in argument '%s' at %L"
++msgstr ""
++
++#: fortran/interface.c:1474
++#, fuzzy, no-c-format
++msgid "Type mismatch in argument '%s' at %L; passed %s to %s"
++msgstr "meerdere parameters hebben de naam %qs"
++
++#: fortran/interface.c:1492 fortran/interface.c:1532
++#, fuzzy, no-c-format
++msgid "Rank mismatch in argument '%s' at %L (%d and %d)"
++msgstr "Te veel argumenten voor %s op %L"
++
++#: fortran/interface.c:1519
++#, fuzzy, no-c-format
++msgid "Fortran 2003: Scalar CHARACTER actual argument with array dummy argument '%s' at %L"
++msgstr "doorgeven van argument %d van %qs"
++
++#: fortran/interface.c:1544
++#, fuzzy, no-c-format
++msgid "Element of assumed-shaped array passed to dummy argument '%s' at %L"
++msgstr "Te veel argumenten voor %s op %L"
++
++#: fortran/interface.c:1861
++#, no-c-format
+ msgid "Keyword argument '%s' at %L is not in the procedure"
+ msgstr ""
+
+-#: fortran/interface.c:1684
++#: fortran/interface.c:1869
+ #, no-c-format
+ msgid "Keyword argument '%s' at %L is already associated with another actual argument"
+ msgstr ""
+
+-#: fortran/interface.c:1694
++#: fortran/interface.c:1879
+ #, no-c-format
+ msgid "More actual than formal arguments in procedure call at %L"
+ msgstr ""
+
+-#: fortran/interface.c:1706 fortran/interface.c:1935
++#: fortran/interface.c:1891 fortran/interface.c:2110
+ #, no-c-format
+ msgid "Missing alternate return spec in subroutine call at %L"
+ msgstr ""
+
+-#: fortran/interface.c:1714
++#: fortran/interface.c:1899
+ #, no-c-format
+ msgid "Unexpected alternate return spec in subroutine call at %L"
+ msgstr ""
+
+-#: fortran/interface.c:1729
++#: fortran/interface.c:1922
+ #, fuzzy, no-c-format
+-msgid "Fortran 2003: Scalar CHARACTER actual argument with array dummy argument '%s' at %L"
++msgid "Character length mismatch (%ld/%ld) between actual argument and pointer or allocatable dummy argument '%s' at %L"
+ msgstr "doorgeven van argument %d van %qs"
+
+-#: fortran/interface.c:1742
+-#, no-c-format
+-msgid "Type/rank mismatch in argument '%s' at %L"
+-msgstr ""
++#: fortran/interface.c:1929
++#, fuzzy, no-c-format
++msgid "Character length mismatch (%ld/%ld) between actual argument and assumed-shape dummy argument '%s' at %L"
++msgstr "doorgeven van argument %d van %qs"
+
+-#: fortran/interface.c:1758
+-#, no-c-format
+-msgid "Character length mismatch between actual argument and pointer or allocatable dummy argument '%s' at %L"
+-msgstr ""
+-
+-#: fortran/interface.c:1771
++#: fortran/interface.c:1943
+ #, fuzzy, no-c-format
+ msgid "Character length of actual argument shorter than of dummy argument '%s' (%lu/%lu) at %L"
+ msgstr "doorgeven van argument %d van %qs"
+
+-#: fortran/interface.c:1776
++#: fortran/interface.c:1948
+ #, no-c-format
+ msgid "Actual argument contains too few elements for dummy argument '%s' (%lu/%lu) at %L"
+ msgstr ""
+
+-#: fortran/interface.c:1790
++#: fortran/interface.c:1962
+ #, fuzzy, no-c-format
+ msgid "Expected a procedure for argument '%s' at %L"
+ msgstr "doorgeven van argument %d van %qs"
+
+-#: fortran/interface.c:1800
++#: fortran/interface.c:1972
+ #, fuzzy, no-c-format
+ msgid "Expected a PURE procedure for argument '%s' at %L"
+ msgstr "doorgeven van argument %d van %qs"
+
+-#: fortran/interface.c:1814
++#: fortran/interface.c:1986
+ #, no-c-format
+ msgid "Actual argument for '%s' cannot be an assumed-size array at %L"
+ msgstr ""
+
+-#: fortran/interface.c:1823
++#: fortran/interface.c:1995
+ #, no-c-format
+ msgid "Actual argument for '%s' must be a pointer at %L"
+ msgstr ""
+
+-#: fortran/interface.c:1832
++#: fortran/interface.c:2004
+ #, no-c-format
+ msgid "Actual argument for '%s' must be ALLOCATABLE at %L"
+ msgstr ""
+
+-#: fortran/interface.c:1843
++#: fortran/interface.c:2017
+ #, no-c-format
+-msgid "Actual argument at %L must be definable to match dummy INTENT = OUT/INOUT"
++msgid "Actual argument at %L must be definable as the dummy argument '%s' is INTENT = OUT/INOUT"
+ msgstr ""
+
+-#: fortran/interface.c:1851
++#: fortran/interface.c:2026
+ #, no-c-format
+ msgid "Actual argument at %L is use-associated with PROTECTED attribute and dummy argument '%s' is INTENT = OUT/INOUT"
+ msgstr ""
+
+-#: fortran/interface.c:1864
++#: fortran/interface.c:2039
+ #, no-c-format
+-msgid "Array-section actual argument with vector subscripts at %L is incompatible with INTENT(IN), 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) or VOLATILE attribute of the dummy argument '%s'"
+ msgstr ""
+
+-#: fortran/interface.c:1881
++#: fortran/interface.c:2056
+ #, no-c-format
+ msgid "Assumed-shape actual argument at %L is incompatible with the non-assumed-shape dummy argument '%s' due to VOLATILE attribute"
+ msgstr ""
+
+-#: fortran/interface.c:1893
++#: fortran/interface.c:2068
+ #, no-c-format
+ msgid "Array-section actual argument at %L is incompatible with the non-assumed-shape dummy argument '%s' due to VOLATILE attribute"
+ msgstr ""
+
+-#: fortran/interface.c:1912
++#: fortran/interface.c:2087
+ #, no-c-format
+ msgid "Pointer-array actual argument at %L requires an assumed-shape or pointer-array dummy argument '%s' due to VOLATILE attribute"
+ msgstr ""
+
+-#: fortran/interface.c:1942
++#: fortran/interface.c:2117
+ #, fuzzy, no-c-format
+ msgid "Missing actual argument for argument '%s' at %L"
+ msgstr "doorgeven van argument %d van %qs"
+
+-#: fortran/interface.c:2128
++#: fortran/interface.c:2303
+ #, no-c-format
+ msgid "Same actual argument associated with INTENT(%s) argument '%s' and INTENT(%s) argument '%s' at %L"
+ msgstr ""
+
+-#: fortran/interface.c:2184
++#: fortran/interface.c:2359
+ #, no-c-format
+ msgid "Procedure argument at %L is INTENT(IN) while interface specifies INTENT(%s)"
+ msgstr ""
+
+-#: fortran/interface.c:2194
++#: fortran/interface.c:2369
+ #, no-c-format
+ msgid "Procedure argument at %L is local to a PURE procedure and is passed to an INTENT(%s) argument"
+ msgstr ""
+
+-#: fortran/interface.c:2202
++#: fortran/interface.c:2377
+ #, no-c-format
+ msgid "Procedure argument at %L is local to a PURE procedure and has the POINTER attribute"
+ msgstr ""
+
+-#: fortran/interface.c:2225
++#: fortran/interface.c:2400
+ #, fuzzy, no-c-format
+ msgid "Procedure '%s' called with an implicit interface at %L"
+ msgstr "parameternamen (zonder types) in functiedeclaratie"
+
+-#: fortran/interface.c:2440
++#: fortran/interface.c:2629
+ #, no-c-format
+ msgid "Function '%s' called in lieu of an operator at %L must be PURE"
+ msgstr ""
+
+-#: fortran/interface.c:2519
++#: fortran/interface.c:2708
+ #, no-c-format
+ msgid "Entity '%s' at %C is already present in the interface"
+ msgstr ""
+
+-#: fortran/intrinsic.c:2918
++#: fortran/intrinsic.c:2923
+ #, fuzzy, no-c-format
+ msgid "Too many arguments in call to '%s' at %L"
+ msgstr "te veel argumenten voor %s %q+#D"
+
+-#: fortran/intrinsic.c:2933
++#: fortran/intrinsic.c:2938
+ #, no-c-format
+ msgid "The argument list functions %%VAL, %%LOC or %%REF are not allowed in this context at %L"
+ msgstr ""
+
+-#: fortran/intrinsic.c:2936
++#: fortran/intrinsic.c:2941
+ #, no-c-format
+ msgid "Can't find keyword named '%s' in call to '%s' at %L"
+ msgstr ""
+
+-#: fortran/intrinsic.c:2943
++#: fortran/intrinsic.c:2948
+ #, no-c-format
+ msgid "Argument '%s' is appears twice in call to '%s' at %L"
+ msgstr ""
+
+-#: fortran/intrinsic.c:2957
++#: fortran/intrinsic.c:2962
+ #, fuzzy, no-c-format
+ msgid "Missing actual argument '%s' in call to '%s' at %L"
+ msgstr "Bestandsnaam ontbreekt na %qs optie"
+
+-#: fortran/intrinsic.c:2972
++#: fortran/intrinsic.c:2977
+ #, no-c-format
+ msgid "ALTERNATE RETURN not permitted at %L"
+ msgstr ""
+
+-#: fortran/intrinsic.c:3021
++#: fortran/intrinsic.c:3026
+ #, no-c-format
+ msgid "Type of argument '%s' in call to '%s' at %L should be %s, not %s"
+ msgstr ""
+
+-#: fortran/intrinsic.c:3337
++#: fortran/intrinsic.c:3342
+ #, no-c-format
+ msgid "Intrinsic '%s' at %L is not included in the selected standard"
+ msgstr ""
+
+-#: fortran/intrinsic.c:3450
++#: fortran/intrinsic.c:3398
++#, fuzzy, no-c-format
++msgid "Fortran 2003: Function '%s' as initialization expression at %L"
++msgstr "ongeldige waarheidsexpressie"
++
++#: fortran/intrinsic.c:3463
+ #, no-c-format
+ msgid "Fortran 2003: Elemental function as initialization expression with non-integer/non-character arguments at %L"
+ msgstr ""
+
+-#: fortran/intrinsic.c:3508
++#: fortran/intrinsic.c:3524
+ #, no-c-format
+ msgid "Subroutine call to intrinsic '%s' at %L is not PURE"
+ msgstr ""
+
+-#: fortran/intrinsic.c:3579
++#: fortran/intrinsic.c:3595
+ #, fuzzy, no-c-format
+ msgid "Extension: Conversion from %s to %s at %L"
+ msgstr "ongeldige registernaam voor %qs"
+
+-#: fortran/intrinsic.c:3582
++#: fortran/intrinsic.c:3598
+ #, fuzzy, no-c-format
+ msgid "Conversion from %s to %s at %L"
+ msgstr "ongeldige registernaam voor %qs"
+
+ # 'regio' klinkt niet echt, maar 'streek' lijkt me nog slechter
+-#: fortran/intrinsic.c:3629
++#: fortran/intrinsic.c:3645
+ #, fuzzy, no-c-format
+ msgid "Can't convert %s to %s at %L"
+ msgstr "kon 0x%l.8x niet naar een regio omzetten"
+
+-#: fortran/io.c:156 fortran/primary.c:738
++#: fortran/io.c:156 fortran/primary.c:750
+ #, no-c-format
+ msgid "Extension: backslash character at %C"
+ msgstr ""
+@@ -7075,7 +7094,7 @@
+ msgid "CLOSE statement not allowed in PURE procedure at %C"
+ msgstr ""
+
+-#: fortran/io.c:1955 fortran/match.c:1841
++#: fortran/io.c:1955 fortran/match.c:1911
+ #, no-c-format
+ msgid "%s statement not allowed in PURE procedure at %C"
+ msgstr ""
+@@ -7090,516 +7109,491 @@
+ msgid "Duplicate UNIT specification at %C"
+ msgstr "herhaalde label-declaratie %qs"
+
+-#: fortran/io.c:2128
++#: fortran/io.c:2132
+ #, fuzzy, no-c-format
+ msgid "Duplicate format specification at %C"
+ msgstr "herhaalde label-declaratie %qs"
+
+-#: fortran/io.c:2145
++#: fortran/io.c:2149
+ #, no-c-format
+ msgid "Symbol '%s' in namelist '%s' is INTENT(IN) at %C"
+ msgstr ""
+
+-#: fortran/io.c:2181
++#: fortran/io.c:2185
+ #, fuzzy, no-c-format
+ msgid "Duplicate NML specification at %C"
+ msgstr "herhaalde label-declaratie %qs"
+
+-#: fortran/io.c:2190
++#: fortran/io.c:2194
+ #, no-c-format
+ msgid "Symbol '%s' at %C must be a NAMELIST group name"
+ msgstr ""
+
+-#: fortran/io.c:2231
++#: fortran/io.c:2235
+ #, no-c-format
+ msgid "END tag at %C not allowed in output statement"
+ msgstr ""
+
+-#: fortran/io.c:2288
++#: fortran/io.c:2292
+ #, no-c-format
+ msgid "UNIT specification at %L must be an INTEGER expression or a CHARACTER variable"
+ msgstr ""
+
+-#: fortran/io.c:2297
++#: fortran/io.c:2301
+ #, no-c-format
+ msgid "Internal unit with vector subscript at %L"
+ msgstr ""
+
+-#: fortran/io.c:2304
++#: fortran/io.c:2308
+ #, no-c-format
+ msgid "External IO UNIT cannot be an array at %L"
+ msgstr ""
+
+-#: fortran/io.c:2314
++#: fortran/io.c:2318
+ #, fuzzy, no-c-format
+ msgid "ERR tag label %d at %L not defined"
+ msgstr "label %qs gebruikt maar niet gedefinieerd"
+
+-#: fortran/io.c:2326
++#: fortran/io.c:2330
+ #, fuzzy, no-c-format
+ msgid "END tag label %d at %L not defined"
+ msgstr "label %qs gebruikt maar niet gedefinieerd"
+
+-#: fortran/io.c:2338
++#: fortran/io.c:2342
+ #, fuzzy, no-c-format
+ msgid "EOR tag label %d at %L not defined"
+ msgstr "label %qs gebruikt maar niet gedefinieerd"
+
+-#: fortran/io.c:2348
++#: fortran/io.c:2352
+ #, fuzzy, no-c-format
+ msgid "FORMAT label %d at %L not defined"
+ msgstr "label %qs gebruikt maar niet gedefinieerd"
+
+-#: fortran/io.c:2469
++#: fortran/io.c:2473
+ #, no-c-format
+ msgid "Syntax error in I/O iterator at %C"
+ msgstr ""
+
+-#: fortran/io.c:2500
++#: fortran/io.c:2504
+ #, no-c-format
+ msgid "Expected variable in READ statement at %C"
+ msgstr ""
+
+-#: fortran/io.c:2506
++#: fortran/io.c:2510
+ #, fuzzy, no-c-format
+ msgid "Expected expression in %s statement at %C"
+ msgstr "ongeldige expressie als operand"
+
+-#: fortran/io.c:2516
++#: fortran/io.c:2520
+ #, no-c-format
+ msgid "Variable '%s' in input list at %C cannot be INTENT(IN)"
+ msgstr ""
+
+-#: fortran/io.c:2525
++#: fortran/io.c:2529
+ #, no-c-format
+ msgid "Cannot read to variable '%s' in PURE procedure at %C"
+ msgstr ""
+
+-#: fortran/io.c:2541
++#: fortran/io.c:2545
+ #, no-c-format
+ msgid "Cannot write to internal file unit '%s' at %C inside a PURE procedure"
+ msgstr ""
+
+ #. A general purpose syntax error.
+-#: fortran/io.c:2602 fortran/io.c:3004 fortran/gfortran.h:1998
++#: fortran/io.c:2606 fortran/io.c:3013 fortran/gfortran.h:2002
+ #, fuzzy, no-c-format
+ msgid "Syntax error in %s statement at %C"
+ msgstr "%s voor %qs"
+
+-#: fortran/io.c:2670
++#: fortran/io.c:2679
+ #, fuzzy, no-c-format
+ msgid "Fortran 2003: Internal file at %L with namelist"
+ msgstr "case-selector niet compatibel met label"
+
+-#: fortran/io.c:2833
++#: fortran/io.c:2842
+ #, no-c-format
+ msgid "PRINT namelist at %C is an extension"
+ msgstr ""
+
+-#: fortran/io.c:2965
++#: fortran/io.c:2974
+ #, fuzzy, no-c-format
+ msgid "Extension: Comma before i/o item list at %C"
+ msgstr "ongeldige registernaam voor %qs"
+
+-#: fortran/io.c:2974
++#: fortran/io.c:2983
+ #, no-c-format
+ msgid "Expected comma in I/O list at %C"
+ msgstr ""
+
+-#: fortran/io.c:3036
++#: fortran/io.c:3045
+ #, no-c-format
+ msgid "PRINT statement at %C not allowed within PURE procedure"
+ msgstr ""
+
+-#: fortran/io.c:3176 fortran/io.c:3227
++#: fortran/io.c:3185 fortran/io.c:3236
+ #, no-c-format
+ msgid "INQUIRE statement not allowed in PURE procedure at %C"
+ msgstr ""
+
+-#: fortran/io.c:3203
++#: fortran/io.c:3212
+ #, no-c-format
+ msgid "IOLENGTH tag invalid in INQUIRE statement at %C"
+ msgstr ""
+
+-#: fortran/io.c:3213 fortran/trans-io.c:1144
++#: fortran/io.c:3222 fortran/trans-io.c:1145
+ #, no-c-format
+ msgid "INQUIRE statement at %L cannot contain both FILE and UNIT specifiers"
+ msgstr ""
+
+-#: fortran/io.c:3220
++#: fortran/io.c:3229
+ #, no-c-format
+ msgid "INQUIRE statement at %L requires either FILE or UNIT specifier"
+ msgstr ""
+
+-#: fortran/match.c:270
++#: fortran/match.c:156
++#, fuzzy, no-c-format
++msgid "Missing ')' in statement before %L"
++msgstr "beginwaarde ontbreekt"
++
++#: fortran/match.c:161
++#, fuzzy, no-c-format
++msgid "Missing '(' in statement before %L"
++msgstr "beginwaarde ontbreekt"
++
++#: fortran/match.c:332
+ #, no-c-format
+ msgid "Integer too large at %C"
+ msgstr ""
+
+-#: fortran/match.c:363 fortran/parse.c:442
++#: fortran/match.c:425 fortran/parse.c:589
+ #, fuzzy, no-c-format
+ msgid "Too many digits in statement label at %C"
+ msgstr "ongeldige beginwaarde"
+
+-#: fortran/match.c:369
++#: fortran/match.c:431
+ #, fuzzy, no-c-format
+ msgid "Statement label at %C is zero"
+ msgstr "herhaalde case-waarde"
+
+-#: fortran/match.c:402
++#: fortran/match.c:464
+ #, fuzzy, no-c-format
+ msgid "Label name '%s' at %C is ambiguous"
+ msgstr "grootte van %qs is %u bytes"
+
+-#: fortran/match.c:408
++#: fortran/match.c:470
+ #, fuzzy, no-c-format
+ msgid "Duplicate construct label '%s' at %C"
+ msgstr "herhaalde case-waarde"
+
+-#: fortran/match.c:438
++#: fortran/match.c:500
+ #, fuzzy, no-c-format
+ msgid "Invalid character in name at %C"
+ msgstr "opvulkarakter in strfmon-formaat"
+
+-#: fortran/match.c:451 fortran/match.c:523
++#: fortran/match.c:513 fortran/match.c:585
+ #, no-c-format
+ msgid "Name at %C is too long"
+ msgstr ""
+
+-#: fortran/match.c:506 fortran/match.c:552
++#: fortran/match.c:568 fortran/match.c:614
+ #, no-c-format
+ msgid "Invalid C name in NAME= specifier at %C"
+ msgstr ""
+
+-#: fortran/match.c:543
++#: fortran/match.c:605
+ #, no-c-format
+ msgid "Embedded space in NAME= specifier at %C"
+ msgstr ""
+
+-#: fortran/match.c:868
++#: fortran/match.c:930
+ #, no-c-format
+ msgid "Loop variable at %C cannot be a sub-component"
+ msgstr ""
+
+-#: fortran/match.c:874
++#: fortran/match.c:936
+ #, no-c-format
+ msgid "Loop variable '%s' at %C cannot be INTENT(IN)"
+ msgstr ""
+
+-#: fortran/match.c:907
++#: fortran/match.c:969
+ #, no-c-format
+ msgid "Expected a step value in iterator at %C"
+ msgstr ""
+
+-#: fortran/match.c:919
++#: fortran/match.c:981
+ #, no-c-format
+ msgid "Syntax error in iterator at %C"
+ msgstr ""
+
+-#: fortran/match.c:1155
++#: fortran/match.c:1217
+ #, no-c-format
+ msgid "Invalid form of PROGRAM statement at %C"
+ msgstr ""
+
+-#: fortran/match.c:1196
++#: fortran/match.c:1258
+ #, no-c-format
+ msgid "Setting value of PROTECTED variable at %C"
+ msgstr ""
+
+-#: fortran/match.c:1249
++#: fortran/match.c:1311
+ #, no-c-format
+ msgid "Assigning to a PROTECTED pointer at %C"
+ msgstr ""
+
+-#: fortran/match.c:1292 fortran/match.c:1365
++#: fortran/match.c:1354 fortran/match.c:1435
+ #, no-c-format
+ msgid "Obsolescent: arithmetic IF statement at %C"
+ msgstr ""
+
+-#: fortran/match.c:1340
++#: fortran/match.c:1410
+ #, fuzzy, no-c-format
+ msgid "Syntax error in IF-expression at %C"
+ msgstr "integer overflow in expressie"
+
+-#: fortran/match.c:1351
++#: fortran/match.c:1421
+ #, no-c-format
+ msgid "Block label not appropriate for arithmetic IF statement at %C"
+ msgstr ""
+
+-#: fortran/match.c:1389
+-#, no-c-format
+-msgid "Block label is not appropriate IF statement at %C"
+-msgstr ""
++#: fortran/match.c:1459
++#, fuzzy, no-c-format
++msgid "Block label is not appropriate for IF statement at %C"
++msgstr "floating-point overflow in expressie"
+
+-#: fortran/match.c:1468 fortran/primary.c:2522
++#: fortran/match.c:1538 fortran/primary.c:2559
+ #, no-c-format
+ msgid "Cannot assign to a named constant at %C"
+ msgstr ""
+
+-#: fortran/match.c:1478
++#: fortran/match.c:1548
+ #, no-c-format
+ msgid "Unclassifiable statement in IF-clause at %C"
+ msgstr ""
+
+-#: fortran/match.c:1485
++#: fortran/match.c:1555
+ #, no-c-format
+ msgid "Syntax error in IF-clause at %C"
+ msgstr ""
+
+-#: fortran/match.c:1529
++#: fortran/match.c:1599
+ #, no-c-format
+ msgid "Unexpected junk after ELSE statement at %C"
+ msgstr ""
+
+-#: fortran/match.c:1535 fortran/match.c:1570
++#: fortran/match.c:1605 fortran/match.c:1640
+ #, no-c-format
+ msgid "Label '%s' at %C doesn't match IF label '%s'"
+ msgstr ""
+
+-#: fortran/match.c:1564
++#: fortran/match.c:1634
+ #, no-c-format
+ msgid "Unexpected junk after ELSE IF statement at %C"
+ msgstr ""
+
+-#: fortran/match.c:1727
++#: fortran/match.c:1797
+ #, no-c-format
+ msgid "Name '%s' in %s statement at %C is not a loop name"
+ msgstr ""
+
+-#: fortran/match.c:1743
++#: fortran/match.c:1813
+ #, fuzzy, no-c-format
+ msgid "%s statement at %C is not within a loop"
+ msgstr "continue-statement niet in een lus"
+
+-#: fortran/match.c:1746
++#: fortran/match.c:1816
+ #, fuzzy, no-c-format
+ msgid "%s statement at %C is not within loop '%s'"
+ msgstr "break-statement niet in een lus of switch"
+
+-#: fortran/match.c:1754
++#: fortran/match.c:1824
+ #, fuzzy, no-c-format
+ msgid "%s statement at %C leaving OpenMP structured block"
+ msgstr "continue-statement niet in een lus"
+
+-#: fortran/match.c:1767
++#: fortran/match.c:1837
+ #, fuzzy, no-c-format
+ msgid "EXIT statement at %C terminating !$OMP DO loop"
+ msgstr "continue-statement niet in een lus"
+
+-#: fortran/match.c:1819
++#: fortran/match.c:1889
+ #, fuzzy, no-c-format
+ msgid "Too many digits in STOP code at %C"
+ msgstr "te veel argumenten voor %s %q+#D"
+
+-#: fortran/match.c:1872
++#: fortran/match.c:1942
+ #, fuzzy, no-c-format
+ msgid "Deleted feature: PAUSE statement at %C"
+ msgstr "ongeldige beginwaarde"
+
+-#: fortran/match.c:1920
++#: fortran/match.c:1990
+ #, fuzzy, no-c-format
+ msgid "Deleted feature: ASSIGN statement at %C"
+ msgstr "ongeldige beginwaarde"
+
+-#: fortran/match.c:1966
++#: fortran/match.c:2036
+ #, fuzzy, no-c-format
+ msgid "Deleted feature: Assigned GOTO statement at %C"
+ msgstr "ongeldige expressie als operand"
+
+-#: fortran/match.c:2013 fortran/match.c:2065
++#: fortran/match.c:2083 fortran/match.c:2135
+ #, no-c-format
+ msgid "Statement label list in GOTO at %C cannot be empty"
+ msgstr ""
+
+-#: fortran/match.c:2149
++#: fortran/match.c:2219
+ #, no-c-format
+ msgid "Bad allocate-object in ALLOCATE statement at %C for a PURE procedure"
+ msgstr ""
+
+-#: fortran/match.c:2173
++#: fortran/match.c:2287
+ #, no-c-format
+-msgid "STAT variable '%s' of ALLOCATE statement at %C cannot be INTENT(IN)"
+-msgstr ""
+-
+-#: fortran/match.c:2180
+-#, no-c-format
+-msgid "Illegal STAT variable in ALLOCATE statement at %C for a PURE procedure"
+-msgstr ""
+-
+-#: fortran/match.c:2218 fortran/match.c:2382
+-#, no-c-format
+-msgid "STAT expression at %C must be a variable"
+-msgstr ""
+-
+-#: fortran/match.c:2272
+-#, no-c-format
+ msgid "Illegal variable in NULLIFY at %C for a PURE procedure"
+ msgstr ""
+
+-#: fortran/match.c:2349
++#: fortran/match.c:2364
+ #, no-c-format
+ msgid "Illegal deallocate-expression in DEALLOCATE at %C for a PURE procedure"
+ msgstr ""
+
+-#: fortran/match.c:2368
++#: fortran/match.c:2417
+ #, no-c-format
+-msgid "STAT variable '%s' of DEALLOCATE statement at %C cannot be INTENT(IN)"
+-msgstr ""
+-
+-#: fortran/match.c:2375
+-#, no-c-format
+-msgid "Illegal STAT variable in DEALLOCATE statement at %C for a PURE procedure"
+-msgstr ""
+-
+-#: fortran/match.c:2424
+-#, no-c-format
+ msgid "Alternate RETURN statement at %C is only allowed within a SUBROUTINE"
+ msgstr ""
+
+-#: fortran/match.c:2455
++#: fortran/match.c:2448
+ #, no-c-format
+ msgid "Extension: RETURN statement in main program at %C"
+ msgstr ""
+
+-#: fortran/match.c:2665
++#: fortran/match.c:2658
+ #, no-c-format
+ msgid "Syntax error in common block name at %C"
+ msgstr ""
+
+-#: fortran/match.c:2701
++#: fortran/match.c:2694
+ #, no-c-format
+ msgid "Symbol '%s' at %C is already an external symbol that is not COMMON"
+ msgstr ""
+
+-#: fortran/match.c:2719
+-#, no-c-format
+-msgid "BLOCK DATA unit cannot contain blank COMMON at %C"
+-msgstr ""
+-
+ #. If we find an error, just print it and continue,
+ #. cause it's just semantic, and we can see if there
+ #. are more errors.
+-#: fortran/match.c:2765
++#: fortran/match.c:2753
+ #, no-c-format
+ msgid "Variable '%s' at %L in common block '%s' at %C must be declared with a C interoperable kind since common block '%s' is bind(c)"
+ msgstr ""
+
+-#: fortran/match.c:2774
++#: fortran/match.c:2762
+ #, no-c-format
+ msgid "Variable '%s' in common block '%s' at %C can not be bind(c) since it is not global"
+ msgstr ""
+
+-#: fortran/match.c:2781
++#: fortran/match.c:2769
+ #, no-c-format
+ msgid "Symbol '%s' at %C is already in a COMMON block"
+ msgstr ""
+
+-#: fortran/match.c:2793
++#: fortran/match.c:2777
+ #, no-c-format
+-msgid "Previously initialized symbol '%s' in blank COMMON block at %C"
++msgid "Initialized symbol '%s' at %C can only be COMMON in BLOCK DATA"
+ msgstr ""
+
+-#: fortran/match.c:2796
++#: fortran/match.c:2804
+ #, no-c-format
+-msgid "Previously initialized symbol '%s' in COMMON block '%s' at %C"
+-msgstr ""
+-
+-#: fortran/match.c:2821
+-#, no-c-format
+ msgid "Array specification for symbol '%s' in COMMON at %C must be explicit"
+ msgstr ""
+
+-#: fortran/match.c:2831
++#: fortran/match.c:2814
+ #, no-c-format
+ msgid "Symbol '%s' in COMMON at %C cannot be a POINTER array"
+ msgstr ""
+
+-#: fortran/match.c:2863
++#: fortran/match.c:2846
+ #, no-c-format
+ msgid "Symbol '%s', in COMMON block '%s' at %C is being indirectly equivalenced to another COMMON block '%s'"
+ msgstr ""
+
+-#: fortran/match.c:2971
++#: fortran/match.c:2954
+ #, no-c-format
+ msgid "Namelist group name '%s' at %C already has a basic type of %s"
+ msgstr ""
+
+-#: fortran/match.c:2979
++#: fortran/match.c:2962
+ #, no-c-format
+ msgid "Namelist group name '%s' at %C already is USE associated and cannot be respecified."
+ msgstr ""
+
+-#: fortran/match.c:3006
++#: fortran/match.c:2989
+ #, fuzzy, no-c-format
+ msgid "Assumed size array '%s' in namelist '%s' at %C is not allowed"
+ msgstr "Lege array-constructor op %C is niet toegestaan"
+
+-#: fortran/match.c:3013
++#: fortran/match.c:2996
+ #, no-c-format
+ msgid "Assumed character length '%s' in namelist '%s' at %C is not allowed"
+ msgstr ""
+
+-#: fortran/match.c:3140
++#: fortran/match.c:3123
+ #, no-c-format
+ msgid "Derived type component %C is not a permitted EQUIVALENCE member"
+ msgstr ""
+
+-#: fortran/match.c:3148
++#: fortran/match.c:3131
+ #, no-c-format
+ msgid "Array reference in EQUIVALENCE at %C cannot be an array section"
+ msgstr ""
+
+-#: fortran/match.c:3176
++#: fortran/match.c:3159
+ #, no-c-format
+ msgid "EQUIVALENCE at %C requires two or more objects"
+ msgstr ""
+
+-#: fortran/match.c:3190
++#: fortran/match.c:3173
+ #, no-c-format
+ msgid "Attempt to indirectly overlap COMMON blocks %s and %s by EQUIVALENCE at %C"
+ msgstr ""
+
+-#: fortran/match.c:3351
++#: fortran/match.c:3299
+ #, no-c-format
+ msgid "Statement function at %L is recursive"
+ msgstr ""
+
+-#: fortran/match.c:3439
++#: fortran/match.c:3387
+ #, no-c-format
+ msgid "Expected initialization expression in CASE at %C"
+ msgstr ""
+
+-#: fortran/match.c:3462
++#: fortran/match.c:3410
+ #, no-c-format
+ msgid "Expected the name of the SELECT CASE construct at %C"
+ msgstr ""
+
+-#: fortran/match.c:3474
++#: fortran/match.c:3422
+ #, no-c-format
+ msgid "Expected case name of '%s' at %C"
+ msgstr ""
+
+-#: fortran/match.c:3518
++#: fortran/match.c:3466
+ #, no-c-format
+ msgid "Unexpected CASE statement at %C"
+ msgstr ""
+
+-#: fortran/match.c:3570
++#: fortran/match.c:3518
+ #, no-c-format
+ msgid "Syntax error in CASE-specification at %C"
+ msgstr ""
+
+-#: fortran/match.c:3690
++#: fortran/match.c:3638
+ #, no-c-format
+ msgid "ELSEWHERE statement at %C not enclosed in WHERE block"
+ msgstr ""
+
+-#: fortran/match.c:3728
++#: fortran/match.c:3676
+ #, no-c-format
+ msgid "Label '%s' at %C doesn't match WHERE label '%s'"
+ msgstr ""
+
+-#: fortran/match.c:3828
++#: fortran/match.c:3776
+ #, no-c-format
+ msgid "Syntax error in FORALL iterator at %C"
+ msgstr ""
+@@ -7629,7 +7623,8 @@
+ msgid "Expected exponent in expression at %C"
+ msgstr "vector overflow in expressie"
+
+-#: fortran/matchexp.c:348 fortran/matchexp.c:452
++#: fortran/matchexp.c:350 fortran/matchexp.c:355 fortran/matchexp.c:459
++#: fortran/matchexp.c:464
+ #, no-c-format
+ msgid "Extension: Unary operator following arithmetic operator (use parentheses) at %C"
+ msgstr ""
+@@ -7766,126 +7761,126 @@
+ msgid "Expected real string"
+ msgstr "formaatstring niet beëindigd"
+
+-#: fortran/module.c:2722
++#: fortran/module.c:2730
+ msgid "Expected expression type"
+ msgstr ""
+
+-#: fortran/module.c:2776
++#: fortran/module.c:2784
+ #, fuzzy
+ msgid "Bad operator"
+ msgstr "ongeldige operand voor %P"
+
+-#: fortran/module.c:2861
++#: fortran/module.c:2869
+ #, fuzzy
+ msgid "Bad type in constant expression"
+ msgstr "overflow in constante expressie"
+
+-#: fortran/module.c:2898
++#: fortran/module.c:2906
+ #, no-c-format
+ msgid "Namelist %s cannot be renamed by USE association to %s"
+ msgstr ""
+
+-#: fortran/module.c:3723
++#: fortran/module.c:3847
+ #, no-c-format
+ msgid "Symbol '%s' referenced at %L not found in module '%s'"
+ msgstr ""
+
+-#: fortran/module.c:3730
++#: fortran/module.c:3854
+ #, no-c-format
+ msgid "User operator '%s' referenced at %L not found in module '%s'"
+ msgstr ""
+
+-#: fortran/module.c:3735
++#: fortran/module.c:3859
+ #, no-c-format
+ msgid "Intrinsic operator '%s' referenced at %L not found in module '%s'"
+ msgstr ""
+
+-#: fortran/module.c:4213
++#: fortran/module.c:4400
+ #, fuzzy, no-c-format
+ msgid "Can't open module file '%s' for writing at %C: %s"
+ msgstr "%s: kan bestand '%s' niet openen om te lezen: %s\n"
+
+-#: fortran/module.c:4251
++#: fortran/module.c:4438
+ #, fuzzy, no-c-format
+ msgid "Error writing module file '%s' for writing: %s"
+ msgstr "%s: fout bij schrijven van bestand '%s': %s\n"
+
+-#: fortran/module.c:4281 fortran/module.c:4363
++#: fortran/module.c:4468 fortran/module.c:4550
+ #, no-c-format
+ msgid "Symbol '%s' referenced at %L does not exist in intrinsic module ISO_C_BINDING."
+ msgstr ""
+
+-#: fortran/module.c:4394
++#: fortran/module.c:4581
+ #, no-c-format
+ msgid "Symbol '%s' referenced at %L not found in intrinsic module ISO_C_BINDING"
+ msgstr ""
+
+-#: fortran/module.c:4416
++#: fortran/module.c:4603
+ #, no-c-format
+ msgid "Symbol '%s' already declared"
+ msgstr ""
+
+-#: fortran/module.c:4471
++#: fortran/module.c:4658
+ #, no-c-format
+ msgid "Use of intrinsic module '%s' at %C conflicts with non-intrinsic module name used previously"
+ msgstr ""
+
+-#: fortran/module.c:4484
++#: fortran/module.c:4671
+ #, no-c-format
+ msgid "Symbol '%s' referenced at %L does not exist in intrinsic module ISO_FORTRAN_ENV"
+ msgstr ""
+
+-#: fortran/module.c:4492
++#: fortran/module.c:4679
+ #, no-c-format
+ msgid "Use of the NUMERIC_STORAGE_SIZE named constant from intrinsic module ISO_FORTRAN_ENV at %L is incompatible with option %s"
+ msgstr ""
+
+-#: fortran/module.c:4520
++#: fortran/module.c:4707
+ #, no-c-format
+ msgid "Use of the NUMERIC_STORAGE_SIZE named constant from intrinsic module ISO_FORTRAN_ENV at %C is incompatible with option %s"
+ msgstr ""
+
+-#: fortran/module.c:4536
++#: fortran/module.c:4723
+ #, no-c-format
+ msgid "Symbol '%s' referenced at %L not found in intrinsic module ISO_FORTRAN_ENV"
+ msgstr ""
+
+-#: fortran/module.c:4569
++#: fortran/module.c:4756
+ #, no-c-format
+ msgid "Fortran 2003: ISO_FORTRAN_ENV intrinsic module at %C"
+ msgstr ""
+
+-#: fortran/module.c:4577
++#: fortran/module.c:4764
+ #, no-c-format
+ msgid "Fortran 2003: ISO_C_BINDING module at %C"
+ msgstr ""
+
+-#: fortran/module.c:4587
++#: fortran/module.c:4774
+ #, no-c-format
+ msgid "Can't find an intrinsic module named '%s' at %C"
+ msgstr ""
+
+-#: fortran/module.c:4592
++#: fortran/module.c:4779
+ #, fuzzy, no-c-format
+ msgid "Can't open module file '%s' for reading at %C: %s"
+ msgstr "%s: kan bestand '%s' niet openen om te lezen: %s\n"
+
+-#: fortran/module.c:4600
++#: fortran/module.c:4787
+ #, no-c-format
+ msgid "Use of non-intrinsic module '%s' at %C conflicts with intrinsic module name used previously"
+ msgstr ""
+
+-#: fortran/module.c:4615
++#: fortran/module.c:4802
+ #, fuzzy
+ msgid "Unexpected end of module"
+ msgstr "ongeldige operand van %s"
+
+-#: fortran/module.c:4620
++#: fortran/module.c:4807
+ #, no-c-format
+ msgid "File '%s' opened at %C is not a GFORTRAN module file"
+ msgstr ""
+
+-#: fortran/module.c:4630
++#: fortran/module.c:4817
+ #, no-c-format
+ msgid "Can't USE the same module we're building!"
+ msgstr ""
+@@ -7915,7 +7910,7 @@
+ msgid "Syntax error in !$OMP THREADPRIVATE list at %C"
+ msgstr "constant object wordt beschreven (argument %d)"
+
+-#: fortran/openmp.c:696 fortran/resolve.c:5822 fortran/resolve.c:6133
++#: fortran/openmp.c:696 fortran/resolve.c:5970 fortran/resolve.c:6317
+ #, no-c-format
+ msgid "IF clause at %L requires a scalar LOGICAL expression"
+ msgstr ""
+@@ -8212,304 +8207,304 @@
+ msgid "Maximum subrecord length cannot exceed %d"
+ msgstr ""
+
+-#: fortran/parse.c:304
++#: fortran/parse.c:451
+ #, fuzzy, no-c-format
+ msgid "Unclassifiable statement at %C"
+ msgstr "ongeldige beginwaarde"
+
+-#: fortran/parse.c:328
++#: fortran/parse.c:475
+ #, no-c-format
+ msgid "OpenMP directives at %C may not appear in PURE or ELEMENTAL procedures"
+ msgstr ""
+
+-#: fortran/parse.c:406
++#: fortran/parse.c:553
+ #, fuzzy, no-c-format
+ msgid "Unclassifiable OpenMP directive at %C"
+ msgstr "ongeldige beginwaarde"
+
+-#: fortran/parse.c:445 fortran/parse.c:586
++#: fortran/parse.c:592 fortran/parse.c:733
+ #, fuzzy, no-c-format
+ msgid "Zero is not a valid statement label at %C"
+ msgstr "ongeldige beginwaarde"
+
+-#: fortran/parse.c:452 fortran/parse.c:578
++#: fortran/parse.c:599 fortran/parse.c:725
+ #, no-c-format
+ msgid "Non-numeric character in statement label at %C"
+ msgstr ""
+
+-#: fortran/parse.c:464 fortran/parse.c:500 fortran/parse.c:626
++#: fortran/parse.c:611 fortran/parse.c:647 fortran/parse.c:773
+ #, no-c-format
+ msgid "Semicolon at %C needs to be preceded by statement"
+ msgstr ""
+
+-#: fortran/parse.c:472 fortran/parse.c:638
++#: fortran/parse.c:619 fortran/parse.c:785
+ #, no-c-format
+ msgid "Ignoring statement label in empty statement at %C"
+ msgstr ""
+
+-#: fortran/parse.c:565 fortran/parse.c:605
++#: fortran/parse.c:712 fortran/parse.c:752
+ #, no-c-format
+ msgid "Bad continuation line at %C"
+ msgstr ""
+
+-#: fortran/parse.c:664
++#: fortran/parse.c:811
+ #, no-c-format
+ msgid "Line truncated at %C"
+ msgstr ""
+
+-#: fortran/parse.c:841
++#: fortran/parse.c:997
+ #, no-c-format
+ msgid "FORMAT statement at %L does not have a statement label"
+ msgstr ""
+
+-#: fortran/parse.c:913
++#: fortran/parse.c:1069
+ msgid "arithmetic IF"
+ msgstr ""
+
+-#: fortran/parse.c:919
++#: fortran/parse.c:1075
+ #, fuzzy
+ msgid "attribute declaration"
+ msgstr "lege declaratie"
+
+-#: fortran/parse.c:949
++#: fortran/parse.c:1105
+ #, fuzzy
+ msgid "data declaration"
+ msgstr "lege declaratie"
+
+-#: fortran/parse.c:958
++#: fortran/parse.c:1114
+ #, fuzzy
+ msgid "derived type declaration"
+ msgstr "lege declaratie"
+
+-#: fortran/parse.c:1037
++#: fortran/parse.c:1193
+ msgid "block IF"
+ msgstr ""
+
+-#: fortran/parse.c:1046
++#: fortran/parse.c:1202
+ msgid "implied END DO"
+ msgstr ""
+
+-#: fortran/parse.c:1119
++#: fortran/parse.c:1275
+ #, fuzzy
+ msgid "assignment"
+ msgstr "beginwaarde ontbreekt"
+
+-#: fortran/parse.c:1122
++#: fortran/parse.c:1278
+ #, fuzzy
+ msgid "pointer assignment"
+ msgstr "ongeldige lvalue in toewijzing"
+
+-#: fortran/parse.c:1131
++#: fortran/parse.c:1287
+ msgid "simple IF"
+ msgstr ""
+
+-#: fortran/parse.c:1347
++#: fortran/parse.c:1503
+ #, fuzzy, no-c-format
+ msgid "Unexpected %s statement at %C"
+ msgstr "ongeldige beginwaarde"
+
+-#: fortran/parse.c:1486
++#: fortran/parse.c:1642
+ #, no-c-format
+ msgid "%s statement at %C cannot follow %s statement at %L"
+ msgstr ""
+
+-#: fortran/parse.c:1503
++#: fortran/parse.c:1659
+ #, no-c-format
+ msgid "Unexpected end of file in '%s'"
+ msgstr ""
+
+-#: fortran/parse.c:1558
++#: fortran/parse.c:1714
+ #, no-c-format
+ msgid "Fortran 2003: Derived type definition at %C without components"
+ msgstr ""
+
+-#: fortran/parse.c:1569
++#: fortran/parse.c:1725
+ #, no-c-format
+ msgid "PRIVATE statement in TYPE at %C must be inside a MODULE"
+ msgstr ""
+
+-#: fortran/parse.c:1577
++#: fortran/parse.c:1733
+ #, no-c-format
+ msgid "PRIVATE statement at %C must precede structure components"
+ msgstr ""
+
+-#: fortran/parse.c:1585
++#: fortran/parse.c:1741
+ #, no-c-format
+ msgid "Duplicate PRIVATE statement at %C"
+ msgstr ""
+
+-#: fortran/parse.c:1597
++#: fortran/parse.c:1753
+ #, no-c-format
+ msgid "SEQUENCE statement at %C must precede structure components"
+ msgstr ""
+
+-#: fortran/parse.c:1604
++#: fortran/parse.c:1760
+ #, no-c-format
+ msgid "SEQUENCE attribute at %C already specified in TYPE statement"
+ msgstr ""
+
+-#: fortran/parse.c:1609
++#: fortran/parse.c:1765
+ #, no-c-format
+ msgid "Duplicate SEQUENCE statement at %C"
+ msgstr ""
+
+-#: fortran/parse.c:1700
++#: fortran/parse.c:1856
+ #, no-c-format
+ msgid "ENUM declaration at %C has no ENUMERATORS"
+ msgstr ""
+
+-#: fortran/parse.c:1778
++#: fortran/parse.c:1934
+ #, no-c-format
+ msgid "Unexpected %s statement in INTERFACE block at %C"
+ msgstr ""
+
+-#: fortran/parse.c:1804
++#: fortran/parse.c:1960
+ #, no-c-format
+ msgid "SUBROUTINE at %C does not belong in a generic function interface"
+ msgstr ""
+
+-#: fortran/parse.c:1808
++#: fortran/parse.c:1964
+ #, no-c-format
+ msgid "FUNCTION at %C does not belong in a generic subroutine interface"
+ msgstr ""
+
+-#: fortran/parse.c:1818
++#: fortran/parse.c:1974
+ #, no-c-format
+ msgid "Name '%s' of ABSTRACT INTERFACE at %C cannot be the same as an intrinsic type"
+ msgstr ""
+
+-#: fortran/parse.c:1849
++#: fortran/parse.c:2005
+ #, no-c-format
+ msgid "Unexpected %s statement at %C in INTERFACE body"
+ msgstr ""
+
+-#: fortran/parse.c:1863
++#: fortran/parse.c:2019
+ #, no-c-format
+ msgid "INTERFACE procedure '%s' at %L has the same name as the enclosing procedure"
+ msgstr ""
+
+-#: fortran/parse.c:1958
++#: fortran/parse.c:2134
+ #, no-c-format
+ msgid "%s statement must appear in a MODULE"
+ msgstr ""
+
+-#: fortran/parse.c:1965
++#: fortran/parse.c:2141
+ #, no-c-format
+ msgid "%s statement at %C follows another accessibility specification"
+ msgstr ""
+
+-#: fortran/parse.c:2015
++#: fortran/parse.c:2191
+ #, fuzzy, no-c-format
+ msgid "Bad kind expression for function '%s' at %L"
+ msgstr "fout in argumenten voor spec-functie '%s'"
+
+-#: fortran/parse.c:2018
++#: fortran/parse.c:2195
+ #, no-c-format
+ msgid "The type for function '%s' at %L is not accessible"
+ msgstr ""
+
+-#: fortran/parse.c:2070
++#: fortran/parse.c:2253
+ #, no-c-format
+ msgid "ELSEWHERE statement at %C follows previous unmasked ELSEWHERE"
+ msgstr ""
+
+-#: fortran/parse.c:2091
++#: fortran/parse.c:2274
+ #, no-c-format
+ msgid "Unexpected %s statement in WHERE block at %C"
+ msgstr ""
+
+-#: fortran/parse.c:2150
++#: fortran/parse.c:2333
+ #, no-c-format
+ msgid "Unexpected %s statement in FORALL block at %C"
+ msgstr ""
+
+-#: fortran/parse.c:2201
++#: fortran/parse.c:2384
+ #, no-c-format
+ msgid "ELSE IF statement at %C cannot follow ELSE statement at %L"
+ msgstr ""
+
+-#: fortran/parse.c:2219
++#: fortran/parse.c:2402
+ #, no-c-format
+ msgid "Duplicate ELSE statements at %L and %C"
+ msgstr ""
+
+-#: fortran/parse.c:2280
++#: fortran/parse.c:2463
+ #, no-c-format
+ msgid "Expected a CASE or END SELECT statement following SELECT CASE at %C"
+ msgstr ""
+
+-#: fortran/parse.c:2338
++#: fortran/parse.c:2521
+ #, no-c-format
+ msgid "Variable '%s' at %C cannot be redefined inside loop beginning at %L"
+ msgstr ""
+
+-#: fortran/parse.c:2372
++#: fortran/parse.c:2555
+ #, no-c-format
+ msgid "End of nonblock DO statement at %C is within another block"
+ msgstr ""
+
+-#: fortran/parse.c:2381
++#: fortran/parse.c:2564
+ #, no-c-format
+ msgid "End of nonblock DO statement at %C is interwoven with another DO loop"
+ msgstr ""
+
+-#: fortran/parse.c:2430
++#: fortran/parse.c:2613
+ #, no-c-format
+ msgid "Statement label in ENDDO at %C doesn't match DO label"
+ msgstr ""
+
+-#: fortran/parse.c:2446
++#: fortran/parse.c:2629
+ #, no-c-format
+ msgid "named block DO at %L requires matching ENDDO name"
+ msgstr ""
+
+-#: fortran/parse.c:2702
++#: fortran/parse.c:2885
+ #, no-c-format
+ msgid "Name after !$omp critical and !$omp end critical does not match at %C"
+ msgstr ""
+
+-#: fortran/parse.c:2758
++#: fortran/parse.c:2941
+ #, no-c-format
+ msgid "%s statement at %C cannot terminate a non-block DO loop"
+ msgstr ""
+
+-#: fortran/parse.c:2943
++#: fortran/parse.c:3126
+ #, no-c-format
+ msgid "Contained procedure '%s' at %C is already ambiguous"
+ msgstr ""
+
+-#: fortran/parse.c:2993
++#: fortran/parse.c:3176
+ #, no-c-format
+ msgid "Unexpected %s statement in CONTAINS section at %C"
+ msgstr ""
+
+ #. This is valid in Fortran 2008.
+-#: fortran/parse.c:3018
++#: fortran/parse.c:3201
+ #, no-c-format
+ msgid "Extension: CONTAINS statement without FUNCTION or SUBROUTINE statement at %C"
+ msgstr ""
+
+-#: fortran/parse.c:3089
++#: fortran/parse.c:3272
+ #, no-c-format
+ msgid "CONTAINS statement at %C is already in a contained program unit"
+ msgstr ""
+
+-#: fortran/parse.c:3138
++#: fortran/parse.c:3321
+ #, no-c-format
+ msgid "Global name '%s' at %L is already being used as a %s at %L"
+ msgstr ""
+
+-#: fortran/parse.c:3159
++#: fortran/parse.c:3342
+ #, no-c-format
+ msgid "Blank BLOCK DATA at %C conflicts with prior BLOCK DATA at %L"
+ msgstr ""
+
+-#: fortran/parse.c:3185
++#: fortran/parse.c:3368
+ #, no-c-format
+ msgid "Unexpected %s statement in BLOCK DATA at %C"
+ msgstr ""
+
+-#: fortran/parse.c:3228
++#: fortran/parse.c:3411
+ #, no-c-format
+ msgid "Unexpected %s statement in MODULE at %C"
+ msgstr ""
+@@ -8517,7 +8512,7 @@
+ #. If we see a duplicate main program, shut down. If the second
+ #. instance is an implied main program, ie data decls or executable
+ #. statements, we're in for lots of errors.
+-#: fortran/parse.c:3416
++#: fortran/parse.c:3594
+ #, no-c-format
+ msgid "Two main PROGRAMs at %L and %C"
+ msgstr ""
+@@ -8554,7 +8549,7 @@
+
+ #: fortran/primary.c:353
+ #, no-c-format
+-msgid "Extension: Hexadecimal constant at %C uses non-standard syntax."
++msgid "Extension: Hexadecimal constant at %C uses non-standard syntax"
+ msgstr ""
+
+ #: fortran/primary.c:363
+@@ -8567,998 +8562,1046 @@
+ msgid "Illegal character in BOZ constant at %C"
+ msgstr "opvulkarakter in strfmon-formaat"
+
+-#: fortran/primary.c:391
++#: fortran/primary.c:392
+ #, no-c-format
+-msgid "Extension: BOZ constant at %C uses non-standard postfix syntax."
++msgid "Extension: BOZ constant at %C uses non-standard postfix syntax"
+ msgstr ""
+
+-#: fortran/primary.c:417
++#: fortran/primary.c:423
+ #, no-c-format
+ msgid "Integer too big for integer kind %i at %C"
+ msgstr ""
+
+-#: fortran/primary.c:517
++#: fortran/primary.c:429
++#, fuzzy, no-c-format
++msgid "Fortran 2003: BOZ used outside a DATA statement at %C"
++msgstr "%s voor %qs"
++
++#: fortran/primary.c:529
+ #, no-c-format
+ msgid "Missing exponent in real number at %C"
+ msgstr ""
+
+-#: fortran/primary.c:573
++#: fortran/primary.c:585
+ #, no-c-format
+ msgid "Real number at %C has a 'd' exponent and an explicit kind"
+ msgstr ""
+
+-#: fortran/primary.c:586
++#: fortran/primary.c:598
+ #, no-c-format
+ msgid "Invalid real kind %d at %C"
+ msgstr ""
+
+-#: fortran/primary.c:600
++#: fortran/primary.c:612
+ #, no-c-format
+ msgid "Real constant overflows its kind at %C"
+ msgstr ""
+
+-#: fortran/primary.c:605
++#: fortran/primary.c:617
+ #, no-c-format
+ msgid "Real constant underflows its kind at %C"
+ msgstr ""
+
+-#: fortran/primary.c:697
++#: fortran/primary.c:709
+ #, no-c-format
+ msgid "Syntax error in SUBSTRING specification at %C"
+ msgstr ""
+
+-#: fortran/primary.c:902
++#: fortran/primary.c:914
+ #, no-c-format
+ msgid "Invalid kind %d for CHARACTER constant at %C"
+ msgstr ""
+
+-#: fortran/primary.c:923
++#: fortran/primary.c:935
+ #, no-c-format
+ msgid "Unterminated character constant beginning at %C"
+ msgstr ""
+
+-#: fortran/primary.c:1035
++#: fortran/primary.c:1047
+ #, no-c-format
+ msgid "Bad kind for logical constant at %C"
+ msgstr ""
+
+-#: fortran/primary.c:1074
++#: fortran/primary.c:1086
+ #, no-c-format
+ msgid "Expected PARAMETER symbol in complex constant at %C"
+ msgstr ""
+
+-#: fortran/primary.c:1080
++#: fortran/primary.c:1092
+ #, no-c-format
+ msgid "Numeric PARAMETER required in complex constant at %C"
+ msgstr ""
+
+-#: fortran/primary.c:1086
++#: fortran/primary.c:1098
+ #, no-c-format
+ msgid "Scalar PARAMETER required in complex constant at %C"
+ msgstr ""
+
+-#: fortran/primary.c:1090
++#: fortran/primary.c:1102
+ #, no-c-format
+ msgid "Fortran 2003: PARAMETER symbol in complex constant at %C"
+ msgstr ""
+
+-#: fortran/primary.c:1120
++#: fortran/primary.c:1132
+ #, no-c-format
+ msgid "Error converting PARAMETER constant in complex constant at %C"
+ msgstr ""
+
+-#: fortran/primary.c:1249
++#: fortran/primary.c:1261
+ #, fuzzy, no-c-format
+ msgid "Syntax error in COMPLEX constant at %C"
+ msgstr "constant object wordt beschreven (argument %d)"
+
+-#: fortran/primary.c:1430
++#: fortran/primary.c:1442
+ #, no-c-format
+ msgid "Keyword '%s' at %C has already appeared in the current argument list"
+ msgstr ""
+
+-#: fortran/primary.c:1494
++#: fortran/primary.c:1506
+ #, fuzzy, no-c-format
+ msgid "Extension: argument list function at %C"
+ msgstr "Bestandsnaam ontbreekt na %qs optie"
+
+-#: fortran/primary.c:1561
++#: fortran/primary.c:1573
+ #, no-c-format
+ msgid "Expected alternate return label at %C"
+ msgstr ""
+
+-#: fortran/primary.c:1579
++#: fortran/primary.c:1591
+ #, no-c-format
+ msgid "Missing keyword name in actual argument list at %C"
+ msgstr ""
+
+-#: fortran/primary.c:1624
++#: fortran/primary.c:1636
+ #, fuzzy, no-c-format
+ msgid "Syntax error in argument list at %C"
+ msgstr "%qs is geen iterator"
+
+-#: fortran/primary.c:1708
++#: fortran/primary.c:1723
+ #, no-c-format
+ msgid "Expected structure component name at %C"
+ msgstr ""
+
+-#: fortran/primary.c:1961
++#: fortran/primary.c:1980
+ #, no-c-format
+ msgid "Too many components in structure constructor at %C"
+ msgstr ""
+
+-#: fortran/primary.c:1974
++#: fortran/primary.c:1993
+ #, no-c-format
+ msgid "Structure constructor for '%s' at %C has PRIVATE components"
+ msgstr ""
+
+-#: fortran/primary.c:1984
++#: fortran/primary.c:2003
+ #, no-c-format
+ msgid "Too few components in structure constructor at %C"
+ msgstr ""
+
+-#: fortran/primary.c:2002
++#: fortran/primary.c:2021
+ #, no-c-format
+ msgid "Syntax error in structure constructor at %C"
+ msgstr ""
+
+-#: fortran/primary.c:2086
++#: fortran/primary.c:2105
+ #, no-c-format
+ msgid "'%s' 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.c:2188
++#: fortran/primary.c:2207
+ #, no-c-format
+ msgid "Unexpected use of subroutine name '%s' at %C"
+ msgstr ""
+
+-#: fortran/primary.c:2219
++#: fortran/primary.c:2238
+ #, no-c-format
+ msgid "Statement function '%s' requires argument list at %C"
+ msgstr ""
+
+-#: fortran/primary.c:2222
++#: fortran/primary.c:2241
+ #, fuzzy, no-c-format
+ msgid "Function '%s' requires an argument list at %C"
+ msgstr "de terugkeerwaarde van een functie kan geen funtie zijn"
+
+-#: fortran/primary.c:2267
++#: fortran/primary.c:2286
+ #, fuzzy, no-c-format
+ msgid "Missing argument to '%s' at %C"
+ msgstr "Bestandsnaam ontbreekt na %qs optie"
+
+-#: fortran/primary.c:2408
++#: fortran/primary.c:2427
+ #, fuzzy, no-c-format
+ msgid "Missing argument list in function '%s' at %C"
+ msgstr "Bestandsnaam ontbreekt na %qs optie"
+
+-#: fortran/primary.c:2436
++#: fortran/primary.c:2455
+ #, fuzzy, no-c-format
+ msgid "Symbol at %C is not appropriate for an expression"
+ msgstr "floating-point overflow in expressie"
+
+-#: fortran/primary.c:2504
++#: fortran/primary.c:2523
+ #, fuzzy, no-c-format
+ msgid "Assigning to PROTECTED variable at %C"
+ msgstr "%s van alleen-lezen variabele %qs"
+
+-#: fortran/primary.c:2520
++#: fortran/primary.c:2557
+ #, no-c-format
+ msgid "Named constant at %C in an EQUIVALENCE"
+ msgstr ""
+
+-#: fortran/primary.c:2543
+-#, no-c-format
+-msgid "Expected VARIABLE at %C"
+-msgstr ""
++# dit klinkt niet al te best
++#: fortran/primary.c:2579
++#, fuzzy, no-c-format
++msgid "'%s' at %C is not a variable"
++msgstr "functie-oproep heeft geaggregeerde waarde"
+
+-#: fortran/resolve.c:120
++#: fortran/resolve.c:121
+ #, no-c-format
+ msgid "Alternate return specifier in elemental subroutine '%s' at %L is not allowed"
+ msgstr ""
+
+-#: fortran/resolve.c:124
++#: fortran/resolve.c:125
+ #, no-c-format
+ msgid "Alternate return specifier in function '%s' at %L is not allowed"
+ msgstr ""
+
+-#: fortran/resolve.c:137
++#: fortran/resolve.c:138
+ #, no-c-format
+ msgid "Dummy procedure '%s' of PURE procedure at %L must also be PURE"
+ msgstr ""
+
+-#: fortran/resolve.c:144
++#: fortran/resolve.c:145
+ #, no-c-format
+ msgid "Dummy procedure at %L not allowed in ELEMENTAL procedure"
+ msgstr ""
+
+-#: fortran/resolve.c:157 fortran/resolve.c:1080
++#: fortran/resolve.c:158 fortran/resolve.c:1138
+ #, no-c-format
+ msgid "Unable to find a specific INTRINSIC procedure for the reference '%s' at %L"
+ msgstr ""
+
+-#: fortran/resolve.c:201
++#: fortran/resolve.c:202
+ #, no-c-format
+ msgid "Argument '%s' of pure function '%s' at %L must be INTENT(IN)"
+ msgstr ""
+
+-#: fortran/resolve.c:206
++#: fortran/resolve.c:207
+ #, no-c-format
+ msgid "Argument '%s' of pure subroutine '%s' at %L must have its INTENT specified"
+ msgstr ""
+
+-#: fortran/resolve.c:215
++#: fortran/resolve.c:216
+ #, no-c-format
+ msgid "Argument '%s' of elemental procedure at %L must be scalar"
+ msgstr ""
+
+-#: fortran/resolve.c:222
++#: fortran/resolve.c:223
+ #, no-c-format
+ msgid "Argument '%s' of elemental procedure at %L cannot have the POINTER attribute"
+ msgstr ""
+
+-#: fortran/resolve.c:234
++#: fortran/resolve.c:231
++#, fuzzy, no-c-format
++msgid "Dummy procedure '%s' not allowed in elemental procedure '%s' at %L"
++msgstr "overflow in constante expressie"
++
++#: fortran/resolve.c:243
+ #, no-c-format
+ msgid "Argument '%s' of statement function at %L must be scalar"
+ msgstr ""
+
+-#: fortran/resolve.c:244
++#: fortran/resolve.c:253
+ #, no-c-format
+ msgid "Character-valued argument '%s' of statement function at %L must have constant length"
+ msgstr ""
+
+-#: fortran/resolve.c:299
++#: fortran/resolve.c:310
+ #, no-c-format
+ msgid "Contained function '%s' at %L has no IMPLICIT type"
+ msgstr ""
+
+-#: fortran/resolve.c:302
++#: fortran/resolve.c:313
+ #, no-c-format
+ msgid "Result '%s' of contained function '%s' at %L has no IMPLICIT type"
+ msgstr ""
+
+-#: fortran/resolve.c:319
++#: fortran/resolve.c:330
+ #, no-c-format
+ msgid "Character-valued internal function '%s' at %L must not be assumed length"
+ msgstr ""
+
+-#: fortran/resolve.c:490
++#: fortran/resolve.c:501
+ #, no-c-format
+-msgid "Procedure %s at %L has entries with mismatched array specifications"
++msgid "Function %s at %L has entries with mismatched array specifications"
+ msgstr ""
+
+-#: fortran/resolve.c:516
++#: fortran/resolve.c:518
+ #, no-c-format
++msgid "Extension: Function %s at %L with entries returning variables of different string lengths"
++msgstr ""
++
++#: fortran/resolve.c:545
++#, no-c-format
+ msgid "FUNCTION result %s can't be an array in FUNCTION %s at %L"
+ msgstr ""
+
+-#: fortran/resolve.c:520
++#: fortran/resolve.c:549
+ #, no-c-format
+ msgid "ENTRY result %s can't be an array in FUNCTION %s at %L"
+ msgstr ""
+
+-#: fortran/resolve.c:527
++#: fortran/resolve.c:556
+ #, no-c-format
+ msgid "FUNCTION result %s can't be a POINTER in FUNCTION %s at %L"
+ msgstr ""
+
+-#: fortran/resolve.c:531
++#: fortran/resolve.c:560
+ #, no-c-format
+ msgid "ENTRY result %s can't be a POINTER in FUNCTION %s at %L"
+ msgstr ""
+
+-#: fortran/resolve.c:569
++#: fortran/resolve.c:598
+ #, no-c-format
+ msgid "FUNCTION result %s can't be of type %s in FUNCTION %s at %L"
+ msgstr ""
+
+-#: fortran/resolve.c:574
++#: fortran/resolve.c:603
+ #, no-c-format
+ msgid "ENTRY result %s can't be of type %s in FUNCTION %s at %L"
+ msgstr ""
+
+-#: fortran/resolve.c:643
++#: fortran/resolve.c:661
++#, fuzzy, no-c-format
++msgid "Variable '%s' at %L is in COMMON but only in BLOCK DATA initialization is allowed"
++msgstr "overflow in constante expressie"
++
++#: fortran/resolve.c:665
+ #, no-c-format
++msgid "Initialized variable '%s' at %L is in a blank COMMON but initialization is only allowed in named common blocks"
++msgstr ""
++
++#: fortran/resolve.c:676
++#, no-c-format
+ msgid "Derived type variable '%s' in COMMON at %L has neither the SEQUENCE nor the BIND(C) attribute"
+ msgstr ""
+
+-#: fortran/resolve.c:647
++#: fortran/resolve.c:680
+ #, no-c-format
+ msgid "Derived type variable '%s' in COMMON at %L has an ultimate component that is allocatable"
+ msgstr ""
+
+-#: fortran/resolve.c:651
++#: fortran/resolve.c:684
+ #, fuzzy, no-c-format
+ msgid "Derived type variable '%s' in COMMON at %L may not have default initializer"
+ msgstr "object van variabele lengte mag geen beginwaarde krijgen"
+
+-#: fortran/resolve.c:661
++#: fortran/resolve.c:711
+ #, no-c-format
+ msgid "COMMON block '%s' at %L is used as PARAMETER at %L"
+ msgstr ""
+
+-#: fortran/resolve.c:665
++#: fortran/resolve.c:715
+ #, no-c-format
+ msgid "COMMON block '%s' at %L is also an intrinsic procedure"
+ msgstr ""
+
+-#: fortran/resolve.c:669
++#: fortran/resolve.c:719
+ #, no-c-format
+ msgid "Fortran 2003: COMMON block '%s' at %L that is also a function result"
+ msgstr ""
+
+-#: fortran/resolve.c:674
++#: fortran/resolve.c:724
+ #, no-c-format
+ msgid "Fortran 2003: COMMON block '%s' at %L that is also a global procedure"
+ msgstr ""
+
+-#: fortran/resolve.c:736
++#: fortran/resolve.c:786
+ #, no-c-format
+ msgid "Components of structure constructor '%s' at %L are PRIVATE"
+ msgstr ""
+
+-#: fortran/resolve.c:756
++#: fortran/resolve.c:808
+ #, no-c-format
+ msgid "The rank of the element in the derived type constructor at %L does not match that of the component (%d/%d)"
+ msgstr ""
+
+-#: fortran/resolve.c:769
++#: fortran/resolve.c:821
+ #, no-c-format
+ msgid "The element in the derived type constructor at %L, for pointer component '%s', is %s but should be %s"
+ msgstr ""
+
+-#: fortran/resolve.c:786
++#: fortran/resolve.c:838
+ #, no-c-format
+ msgid "The element in the derived type constructor at %L, for pointer component '%s' should be a POINTER or a TARGET"
+ msgstr ""
+
+-#: fortran/resolve.c:913
++#: fortran/resolve.c:965
+ #, no-c-format
+ msgid "The upper bound in the last dimension must appear in the reference to the assumed size array '%s' at %L"
+ msgstr ""
+
+-#: fortran/resolve.c:976 fortran/resolve.c:5434 fortran/resolve.c:6098
++#: fortran/resolve.c:1029 fortran/resolve.c:5576 fortran/resolve.c:6282
+ #, fuzzy, no-c-format
+ msgid "Label %d referenced at %L is never defined"
+ msgstr "naar label %s gerefereerd buiten enige functie"
+
+-#: fortran/resolve.c:986
++#: fortran/resolve.c:1039
+ #, fuzzy, no-c-format
+ msgid "'%s' at %L is ambiguous"
+ msgstr "grootte van %qs is %u bytes"
+
+-#: fortran/resolve.c:1018
++#: fortran/resolve.c:1075
+ #, no-c-format
+ msgid "Statement function '%s' at %L is not allowed as an actual argument"
+ msgstr ""
+
+-#: fortran/resolve.c:1026
++#: fortran/resolve.c:1083
+ #, fuzzy, no-c-format
+ msgid "Intrinsic '%s' at %L is not allowed as an actual argument"
+ msgstr "Intrinsic '%s' op %L moet minstens twee argumenten hebben"
+
+-#: fortran/resolve.c:1033
++#: fortran/resolve.c:1090
+ #, no-c-format
+ msgid "Internal procedure '%s' is not allowed as an actual argument at %L"
+ msgstr ""
+
+-#: fortran/resolve.c:1039
++#: fortran/resolve.c:1096
+ #, no-c-format
+ msgid "ELEMENTAL non-INTRINSIC procedure '%s' is not allowed as an actual argument at %L"
+ msgstr ""
+
+-#: fortran/resolve.c:1059
++#: fortran/resolve.c:1116
+ #, no-c-format
+ msgid "GENERIC procedure '%s' is not allowed as an actual argument at %L"
+ msgstr ""
+
+-#: fortran/resolve.c:1098
++#: fortran/resolve.c:1157
+ #, fuzzy, no-c-format
+ msgid "Symbol '%s' at %L is ambiguous"
+ msgstr "grootte van %qs is %u bytes"
+
+-#: fortran/resolve.c:1143
++#: fortran/resolve.c:1206
+ #, fuzzy, no-c-format
+ msgid "By-value argument at %L is not of numeric type"
+ msgstr "het argument van %<asm%> is geen constante string"
+
+-#: fortran/resolve.c:1150
++#: fortran/resolve.c:1213
+ #, no-c-format
+ msgid "By-value argument at %L cannot be an array or an array section"
+ msgstr ""
+
+-#: fortran/resolve.c:1164
++#: fortran/resolve.c:1227
+ #, fuzzy, no-c-format
+ msgid "By-value argument at %L is not allowed in this context"
+ msgstr "globale registervariabele volgt op een functiedefinitie"
+
+-#: fortran/resolve.c:1176
++#: fortran/resolve.c:1239
+ #, no-c-format
+ msgid "Passing internal procedure at %L by location not allowed"
+ msgstr ""
+
+-#: fortran/resolve.c:1293
++#: fortran/resolve.c:1356
+ #, no-c-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)"
+ msgstr ""
+
+-#: fortran/resolve.c:1315
++#: fortran/resolve.c:1378
+ msgid "elemental procedure"
+ msgstr ""
+
+-#: fortran/resolve.c:1332
++#: fortran/resolve.c:1395
+ #, no-c-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"
+ msgstr ""
+
+-#: fortran/resolve.c:1466
++#: fortran/resolve.c:1531
+ #, fuzzy, no-c-format
+ msgid "There is no specific function for the generic '%s' at %L"
+ msgstr "fout in argumenten voor spec-functie '%s'"
+
+-#: fortran/resolve.c:1475
++#: fortran/resolve.c:1540
+ #, no-c-format
+ msgid "Generic function '%s' at %L is not consistent with a specific intrinsic interface"
+ msgstr ""
+
+-#: fortran/resolve.c:1513
++#: fortran/resolve.c:1594
+ #, no-c-format
+ msgid "Function '%s' at %L is INTRINSIC but is not compatible with an intrinsic"
+ msgstr ""
+
+-#: fortran/resolve.c:1559
++#: fortran/resolve.c:1640
+ #, fuzzy, no-c-format
+ msgid "Unable to resolve the specific function '%s' at %L"
+ msgstr "fout in argumenten voor spec-functie '%s'"
+
+-#: fortran/resolve.c:1615 fortran/resolve.c:8740
++#: fortran/resolve.c:1696 fortran/resolve.c:8931
+ #, no-c-format
+ msgid "Function '%s' at %L has no IMPLICIT type"
+ msgstr ""
+
+ # dit klinkt niet al te best
+-#: fortran/resolve.c:1799
++#: fortran/resolve.c:1907
+ #, fuzzy, no-c-format
+ msgid "Argument to '%s' at %L is not a variable"
+ msgstr "functie-oproep heeft geaggregeerde waarde"
+
+-#: fortran/resolve.c:1871
++#: fortran/resolve.c:1979
+ #, fuzzy, no-c-format
+ msgid "More actual than formal arguments in '%s' call at %L"
+ msgstr "doorgeven van argument %d van %qs"
+
+-#: fortran/resolve.c:1883
++#: fortran/resolve.c:1991
+ #, no-c-format
+ msgid "Parameter '%s' to '%s' at %L must be either a TARGET or an associated pointer"
+ msgstr ""
+
+-#: fortran/resolve.c:1909
++#: fortran/resolve.c:2017
+ #, no-c-format
+ msgid "Allocatable variable '%s' used as a parameter to '%s' at %L must not be an array of zero size"
+ msgstr ""
+
+-#: fortran/resolve.c:1926
++#: fortran/resolve.c:2034
+ #, no-c-format
+ msgid "Assumed-shape array '%s' at %L cannot be an argument to the procedure '%s' because it is not C interoperable"
+ msgstr ""
+
+-#: fortran/resolve.c:1936
++#: fortran/resolve.c:2044
+ #, no-c-format
+ msgid "Deferred-shape array '%s' at %L cannot be an argument to the procedure '%s' because it is not C interoperable"
+ msgstr ""
+
+-#: fortran/resolve.c:1959 fortran/resolve.c:1998
++#: fortran/resolve.c:2067 fortran/resolve.c:2106
+ #, no-c-format
+ msgid "CHARACTER argument '%s' to '%s' at %L must have a length of 1"
+ msgstr ""
+
+ #. Case 1c, section 15.1.2.5, J3/04-007: an associated
+ #. scalar pointer.
+-#: fortran/resolve.c:1974
++#: fortran/resolve.c:2082
+ #, fuzzy, no-c-format
+ msgid "Argument '%s' to '%s' at %L must be an associated scalar POINTER"
+ msgstr "'%s' argument voor intrinsic '%s' op %L moet een scalair zijn"
+
+-#: fortran/resolve.c:1990
++#: fortran/resolve.c:2098
+ #, fuzzy, no-c-format
+ msgid "Parameter '%s' to '%s' at %L must be a scalar"
+ msgstr "'%s' argument voor intrinsic '%s' op %L moet een scalair zijn"
+
+ #. TODO: Update this error message to allow for procedure
+ #. pointers once they are implemented.
+-#: fortran/resolve.c:2012
++#: fortran/resolve.c:2120
+ #, fuzzy, no-c-format
+ msgid "Parameter '%s' to '%s' at %L must be a procedure"
+ msgstr "'%s' argument voor intrinsic '%s' op %L moet een array zijn"
+
+ # vertaling voor 'intrinsic'? 'intrinsiek(e) xxx', maar wat als xxx te gebruiken?
+-#: fortran/resolve.c:2020
++#: fortran/resolve.c:2128
+ #, fuzzy, no-c-format
+ msgid "Parameter '%s' to '%s' at %L must be BIND(C)"
+ msgstr "'%s' argument voor intrinsic '%s' op %L moet %s zijn"
+
+-#: fortran/resolve.c:2062
++#: fortran/resolve.c:2170
+ #, fuzzy, no-c-format
+ msgid "'%s' at %L is not a function"
+ msgstr "%qs is meestal een functie"
+
+-#: fortran/resolve.c:2068
++#: fortran/resolve.c:2176
+ #, no-c-format
+ msgid "ABSTRACT INTERFACE '%s' must not be referenced at %L"
+ msgstr ""
+
+ #. Internal procedures are taken care of in resolve_contained_fntype.
+-#: fortran/resolve.c:2111
++#: fortran/resolve.c:2219
+ #, no-c-format
+ msgid "Function '%s' is declared CHARACTER(*) and cannot be used at %L since it is not a dummy argument"
+ msgstr ""
+
+-#: fortran/resolve.c:2164
++#: fortran/resolve.c:2272
+ #, no-c-format
+ msgid "User defined non-ELEMENTAL function '%s' at %L not allowed in WORKSHARE construct"
+ msgstr ""
+
+-#: fortran/resolve.c:2213
++#: fortran/resolve.c:2321
+ #, no-c-format
+ msgid "reference to non-PURE function '%s' at %L inside a FORALL %s"
+ msgstr ""
+
+-#: fortran/resolve.c:2220
++#: fortran/resolve.c:2328
+ #, no-c-format
+ msgid "Function reference to '%s' at %L is to a non-PURE procedure within a PURE procedure"
+ msgstr ""
+
+-#: fortran/resolve.c:2235
++#: fortran/resolve.c:2343
+ #, fuzzy, no-c-format
+ msgid "Function '%s' at %L cannot call itself, as it is not RECURSIVE"
+ msgstr "object van variabele lengte mag geen beginwaarde krijgen"
+
+-#: fortran/resolve.c:2243
++#: fortran/resolve.c:2351
+ #, no-c-format
+ msgid "Call to ENTRY '%s' at %L is recursive, but function '%s' is not declared as RECURSIVE"
+ msgstr ""
+
+-#: fortran/resolve.c:2285
++#: fortran/resolve.c:2393
+ #, no-c-format
+ msgid "Subroutine call to '%s' in FORALL block at %L is not PURE"
+ msgstr ""
+
+-#: fortran/resolve.c:2288
++#: fortran/resolve.c:2396
+ #, no-c-format
+ msgid "Subroutine call to '%s' at %L is not PURE"
+ msgstr ""
+
+-#: fortran/resolve.c:2351
++#: fortran/resolve.c:2459
+ #, no-c-format
+ msgid "There is no specific subroutine for the generic '%s' at %L"
+ msgstr ""
+
+-#: fortran/resolve.c:2360
++#: fortran/resolve.c:2468
+ #, no-c-format
+ msgid "Generic subroutine '%s' at %L is not consistent with an intrinsic subroutine interface"
+ msgstr ""
+
+-#: fortran/resolve.c:2468
++#: fortran/resolve.c:2576
+ #, fuzzy, no-c-format
+ msgid "Missing SHAPE parameter for call to %s at %L"
+ msgstr "Bestandsnaam ontbreekt na %qs optie"
+
+-#: fortran/resolve.c:2476
++#: fortran/resolve.c:2584
+ #, no-c-format
+ msgid "SHAPE parameter for call to %s at %L must be a rank 1 INTEGER array"
+ msgstr ""
+
+-#: fortran/resolve.c:2543
++#: fortran/resolve.c:2667
+ #, no-c-format
+ msgid "Subroutine '%s' at %L is INTRINSIC but is not compatible with an intrinsic"
+ msgstr ""
+
+-#: fortran/resolve.c:2587
++#: fortran/resolve.c:2711
+ #, no-c-format
+ msgid "Unable to resolve the specific subroutine '%s' at %L"
+ msgstr ""
+
+-#: fortran/resolve.c:2644
++#: fortran/resolve.c:2768
+ #, no-c-format
+ msgid "'%s' at %L has a type, which is not consistent with the CALL at %L"
+ msgstr ""
+
+-#: fortran/resolve.c:2663
++#: fortran/resolve.c:2787
+ #, no-c-format
+ msgid "SUBROUTINE '%s' at %L cannot call itself, as it is not RECURSIVE"
+ msgstr ""
+
+-#: fortran/resolve.c:2671
++#: fortran/resolve.c:2795
+ #, no-c-format
+ msgid "Call to ENTRY '%s' at %L is recursive, but subroutine '%s' is not declared as RECURSIVE"
+ msgstr ""
+
+-#: fortran/resolve.c:2741
++#: fortran/resolve.c:2865
+ #, fuzzy, no-c-format
+ msgid "Shapes for operands at %L and %L are not conformable"
+ msgstr "-shared en -mdll zijn niet compatibel"
+
+ # Ongeldig soort wat?
+-#: fortran/resolve.c:2792
++#: fortran/resolve.c:2916
+ #, fuzzy, c-format
+ msgid "Invalid context for NULL() pointer at %%L"
+ msgstr "Ongeldige soort voor %s op %L"
+
+-#: fortran/resolve.c:2808
++#: fortran/resolve.c:2932
+ #, c-format
+ msgid "Operand of unary numeric operator '%s' at %%L is %s"
+ msgstr ""
+
+-#: fortran/resolve.c:2824
++#: fortran/resolve.c:2948
+ #, c-format
+ msgid "Operands of binary numeric operator '%s' at %%L are %s/%s"
+ msgstr ""
+
+-#: fortran/resolve.c:2838
++#: fortran/resolve.c:2962
+ #, c-format
+ msgid "Operands of string concatenation operator at %%L are %s/%s"
+ msgstr ""
+
+-#: fortran/resolve.c:2857
++#: fortran/resolve.c:2981
+ #, c-format
+ msgid "Operands of logical operator '%s' at %%L are %s/%s"
+ msgstr ""
+
+-#: fortran/resolve.c:2871
++#: fortran/resolve.c:2995
+ #, fuzzy, c-format
+ msgid "Operand of .not. operator at %%L is %s"
+ msgstr "incompatibele operands voor %s"
+
+-#: fortran/resolve.c:2885
++#: fortran/resolve.c:3009
+ msgid "COMPLEX quantities cannot be compared at %L"
+ msgstr ""
+
+-#: fortran/resolve.c:2913
++#: fortran/resolve.c:3037
+ #, c-format
+ msgid "Logicals at %%L must be compared with %s instead of %s"
+ msgstr ""
+
+-#: fortran/resolve.c:2919
++#: fortran/resolve.c:3043
+ #, c-format
+ msgid "Operands of comparison operator '%s' at %%L are %s/%s"
+ msgstr ""
+
+-#: fortran/resolve.c:2927
++#: fortran/resolve.c:3051
+ #, fuzzy, c-format
+ msgid "Unknown operator '%s' at %%L"
+ msgstr "onbekende operator '%s' in %%:version-compare"
+
+-#: fortran/resolve.c:2929
++#: fortran/resolve.c:3053
+ #, c-format
+ msgid "Operand of user operator '%s' at %%L is %s"
+ msgstr ""
+
+-#: fortran/resolve.c:2932
++#: fortran/resolve.c:3056
+ #, c-format
+ msgid "Operands of user operator '%s' at %%L are %s/%s"
+ msgstr ""
+
+-#: fortran/resolve.c:3018
++#: fortran/resolve.c:3142
+ #, fuzzy, c-format
+ msgid "Inconsistent ranks for operator at %%L and %%L"
+ msgstr "incompatibele operands voor %s"
+
+-#: fortran/resolve.c:3212
++#: fortran/resolve.c:3339
+ #, fuzzy, no-c-format
+ msgid "Array reference at %L is out of bounds (%ld < %ld) in dimension %d"
+ msgstr "grootte van %qs is %u bytes"
+
+-#: fortran/resolve.c:3220
++#: fortran/resolve.c:3347
+ #, fuzzy, no-c-format
+ msgid "Array reference at %L is out of bounds (%ld > %ld) in dimension %d"
+ msgstr "grootte van %qs is %u bytes"
+
+-#: fortran/resolve.c:3239
++#: fortran/resolve.c:3366
+ #, no-c-format
+ msgid "Illegal stride of zero at %L"
+ msgstr ""
+
+-#: fortran/resolve.c:3256
++#: fortran/resolve.c:3383
+ #, fuzzy, no-c-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.c:3264
++#: fortran/resolve.c:3391
+ #, fuzzy, no-c-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.c:3280
++#: fortran/resolve.c:3407
+ #, fuzzy, no-c-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.c:3289
++#: fortran/resolve.c:3416
+ #, fuzzy, no-c-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.c:3328
++#: fortran/resolve.c:3455
+ #, no-c-format
+ msgid "Rightmost upper bound of assumed size array section not specified at %L"
+ msgstr ""
+
+-#: fortran/resolve.c:3338
++#: fortran/resolve.c:3465
+ #, no-c-format
+ msgid "Rank mismatch in array reference at %L (%d/%d)"
+ msgstr ""
+
+-#: fortran/resolve.c:3366
++#: fortran/resolve.c:3493
+ #, no-c-format
+ msgid "Array index at %L must be scalar"
+ msgstr ""
+
+-#: fortran/resolve.c:3372
++#: fortran/resolve.c:3499
+ #, no-c-format
+ msgid "Array index at %L must be of INTEGER type"
+ msgstr ""
+
+-#: fortran/resolve.c:3378
++#: fortran/resolve.c:3505
+ #, no-c-format
+ msgid "Extension: REAL array index at %L"
+ msgstr ""
+
+-#: fortran/resolve.c:3408
++#: fortran/resolve.c:3535
+ #, no-c-format
+ msgid "Argument dim at %L must be scalar"
+ msgstr ""
+
+-#: fortran/resolve.c:3414
++#: fortran/resolve.c:3542
+ #, no-c-format
+ msgid "Argument dim at %L must be of INTEGER type"
+ msgstr ""
+
+-#: fortran/resolve.c:3534
++#: fortran/resolve.c:3663
+ #, no-c-format
+ msgid "Array index at %L is an array of rank %d"
+ msgstr ""
+
+-#: fortran/resolve.c:3571
++#: fortran/resolve.c:3700
+ #, no-c-format
+ msgid "Substring start index at %L must be of type INTEGER"
+ msgstr ""
+
+-#: fortran/resolve.c:3578
++#: fortran/resolve.c:3707
+ #, no-c-format
+ msgid "Substring start index at %L must be scalar"
+ msgstr ""
+
+-#: fortran/resolve.c:3587
++#: fortran/resolve.c:3716
+ #, no-c-format
+ msgid "Substring start index at %L is less than one"
+ msgstr ""
+
+-#: fortran/resolve.c:3600
++#: fortran/resolve.c:3729
+ #, no-c-format
+ msgid "Substring end index at %L must be of type INTEGER"
+ msgstr ""
+
+-#: fortran/resolve.c:3607
++#: fortran/resolve.c:3736
+ #, no-c-format
+ msgid "Substring end index at %L must be scalar"
+ msgstr ""
+
+-#: fortran/resolve.c:3617
++#: fortran/resolve.c:3746
+ #, no-c-format
+ msgid "Substring end index at %L exceeds the string length"
+ msgstr ""
+
+-#: fortran/resolve.c:3755
++#: fortran/resolve.c:3884
+ #, no-c-format
+ msgid "Component to the right of a part reference with nonzero rank must not have the POINTER attribute at %L"
+ msgstr ""
+
+-#: fortran/resolve.c:3762
++#: fortran/resolve.c:3891
+ #, no-c-format
+ msgid "Component to the right of a part reference with nonzero rank must not have the ALLOCATABLE attribute at %L"
+ msgstr ""
+
+-#: fortran/resolve.c:3781
++#: fortran/resolve.c:3910
+ #, no-c-format
+ msgid "Two or more part references with nonzero rank must not be specified at %L"
+ msgstr ""
+
+-#: fortran/resolve.c:3956
++#: fortran/resolve.c:4085
+ #, no-c-format
+ msgid "Variable '%s', used in a specification expression, is referenced at %L before the ENTRY statement in which it is a parameter"
+ msgstr ""
+
+-#: fortran/resolve.c:3961
++#: fortran/resolve.c:4090
+ #, no-c-format
+ msgid "Variable '%s' is used at %L before the ENTRY statement in which it is a parameter"
+ msgstr ""
+
+-#: fortran/resolve.c:4238
++#: fortran/resolve.c:4367
+ #, no-c-format
+ msgid "%s at %L must be a scalar"
+ msgstr ""
+
+-#: fortran/resolve.c:4248
++#: fortran/resolve.c:4377
+ #, no-c-format
+ msgid "Deleted feature: %s at %L must be integer"
+ msgstr ""
+
+-#: fortran/resolve.c:4252 fortran/resolve.c:4259
++#: fortran/resolve.c:4381 fortran/resolve.c:4388
+ #, no-c-format
+ msgid "%s at %L must be INTEGER"
+ msgstr ""
+
+-#: fortran/resolve.c:4279
++#: fortran/resolve.c:4408
+ #, no-c-format
+ msgid "Cannot assign to loop variable in PURE procedure at %L"
+ msgstr ""
+
+-#: fortran/resolve.c:4303
++#: fortran/resolve.c:4432
+ #, no-c-format
+ msgid "Step expression in DO loop at %L cannot be zero"
+ msgstr ""
+
+-#: fortran/resolve.c:4378
++#: fortran/resolve.c:4508
+ #, no-c-format
+ msgid "FORALL index-name at %L must be a scalar INTEGER"
+ msgstr ""
+
+-#: fortran/resolve.c:4383
++#: fortran/resolve.c:4513
+ #, no-c-format
+ msgid "FORALL start expression at %L must be a scalar INTEGER"
+ msgstr ""
+
+-#: fortran/resolve.c:4390
++#: fortran/resolve.c:4520
+ #, no-c-format
+ msgid "FORALL end expression at %L must be a scalar INTEGER"
+ msgstr ""
+
+-#: fortran/resolve.c:4398
++#: fortran/resolve.c:4528
+ #, no-c-format
+ msgid "FORALL stride expression at %L must be a scalar %s"
+ msgstr ""
+
+-#: fortran/resolve.c:4403
++#: fortran/resolve.c:4533
+ #, no-c-format
+ msgid "FORALL stride expression at %L cannot be zero"
+ msgstr ""
+
+-#: fortran/resolve.c:4419
++#: fortran/resolve.c:4549
+ #, fuzzy, no-c-format
+ msgid "FORALL index '%s' may not appear in triplet specification at %L"
+ msgstr "overflow in constante expressie"
+
+-#: fortran/resolve.c:4499
++#: fortran/resolve.c:4629
+ #, no-c-format
+ msgid "Expression in DEALLOCATE statement at %L must be ALLOCATABLE or a POINTER"
+ msgstr ""
+
+-#: fortran/resolve.c:4506
++#: fortran/resolve.c:4636
+ #, no-c-format
+ msgid "Cannot deallocate INTENT(IN) variable '%s' at %L"
+ msgstr ""
+
+-#: fortran/resolve.c:4675
++#: fortran/resolve.c:4740
+ #, no-c-format
+ msgid "The STAT variable '%s' in an ALLOCATE statement must not be allocated in the same statement at %L"
+ msgstr ""
+
+-#: fortran/resolve.c:4711
++#: fortran/resolve.c:4776
+ #, no-c-format
+ msgid "Expression in ALLOCATE statement at %L must be ALLOCATABLE or a POINTER"
+ msgstr ""
+
+-#: fortran/resolve.c:4719
++#: fortran/resolve.c:4784
+ #, no-c-format
+ msgid "Cannot allocate INTENT(IN) variable '%s' at %L"
+ msgstr ""
+
+-#: fortran/resolve.c:4743
++#: fortran/resolve.c:4808
+ #, no-c-format
+ msgid "Array specification required in ALLOCATE statement at %L"
+ msgstr ""
+
+-#: fortran/resolve.c:4773
++#: fortran/resolve.c:4838
+ #, no-c-format
+ msgid "Bad array specification in ALLOCATE statement at %L"
+ msgstr ""
+
+-#: fortran/resolve.c:4791
++#: fortran/resolve.c:4856
+ #, no-c-format
+ msgid "'%s' must not appear an the array specification at %L in the same ALLOCATE statement where it is itself allocated"
+ msgstr ""
+
++#: fortran/resolve.c:4880
++#, no-c-format
++msgid "STAT variable '%s' of %s statement at %C cannot be INTENT(IN)"
++msgstr ""
++
++#: fortran/resolve.c:4884
++#, no-c-format
++msgid "Illegal STAT variable in %s statement at %C for a PURE procedure"
++msgstr ""
++
++# vertaling voor 'statement'?
++#: fortran/resolve.c:4922
++#, fuzzy, no-c-format
++msgid "STAT tag in %s statement at %L must be a variable"
++msgstr "expressie-statement heeft onvolledig type"
++
++# vertaling voor 'statement'?
++#: fortran/resolve.c:4928
++#, fuzzy, no-c-format
++msgid "STAT tag in %s statement at %L must be of type INTEGER"
++msgstr "expressie-statement heeft onvolledig type"
++
+ #. The cases overlap, or they are the same
+ #. 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.c:4949
++#: fortran/resolve.c:5091
+ #, no-c-format
+ msgid "CASE label at %L overlaps with CASE label at %L"
+ msgstr ""
+
+ # vertaling voor 'statement'?
+-#: fortran/resolve.c:5000
++#: fortran/resolve.c:5142
+ #, fuzzy, no-c-format
+ msgid "Expression in CASE statement at %L must be of type %s"
+ msgstr "expressie-statement heeft onvolledig type"
+
+-#: fortran/resolve.c:5011
++#: fortran/resolve.c:5153
+ #, no-c-format
+ msgid "Expression in CASE statement at %L must be kind %d"
+ msgstr ""
+
+-#: fortran/resolve.c:5023
++#: fortran/resolve.c:5165
+ #, no-c-format
+ msgid "Expression in CASE statement at %L must be scalar"
+ msgstr ""
+
+-#: fortran/resolve.c:5069
++#: fortran/resolve.c:5211
+ #, no-c-format
+ msgid "Selection expression in computed GOTO statement at %L must be a scalar integer expression"
+ msgstr ""
+
+-#: fortran/resolve.c:5087
++#: fortran/resolve.c:5229
+ #, no-c-format
+ msgid "Argument of SELECT statement at %L cannot be %s"
+ msgstr ""
+
+-#: fortran/resolve.c:5096
++#: fortran/resolve.c:5238
+ #, no-c-format
+ msgid "Argument of SELECT statement at %L must be a scalar expression"
+ msgstr ""
+
+-#: fortran/resolve.c:5161
++#: fortran/resolve.c:5303
+ #, no-c-format
+ msgid "The DEFAULT CASE at %L cannot be followed by a second DEFAULT CASE at %L"
+ msgstr ""
+
+-#: fortran/resolve.c:5187
++#: fortran/resolve.c:5329
+ #, no-c-format
+ msgid "Logical range in CASE statement at %L is not allowed"
+ msgstr ""
+
+-#: fortran/resolve.c:5199
++#: fortran/resolve.c:5341
+ #, no-c-format
+ msgid "constant logical value in CASE statement is repeated at %L"
+ msgstr ""
+
+-#: fortran/resolve.c:5213
++#: fortran/resolve.c:5355
+ #, no-c-format
+ msgid "Range specification at %L can never be matched"
+ msgstr ""
+
+-#: fortran/resolve.c:5316
++#: fortran/resolve.c:5458
+ #, no-c-format
+ msgid "Logical SELECT CASE block at %L has more that two cases"
+ msgstr ""
+
+-#: fortran/resolve.c:5354
++#: fortran/resolve.c:5496
+ #, no-c-format
+ msgid "Data transfer element at %L cannot have POINTER components"
+ msgstr ""
+
+-#: fortran/resolve.c:5361
++#: fortran/resolve.c:5503
+ #, no-c-format
+ msgid "Data transfer element at %L cannot have ALLOCATABLE components"
+ msgstr ""
+
+-#: fortran/resolve.c:5368
++#: fortran/resolve.c:5510
+ #, no-c-format
+ msgid "Data transfer element at %L cannot have PRIVATE components"
+ msgstr ""
+
+-#: fortran/resolve.c:5377
++#: fortran/resolve.c:5519
+ #, no-c-format
+ msgid "Data transfer element at %L cannot be a full reference to an assumed-size array"
+ msgstr ""
+
+-#: fortran/resolve.c:5441
++#: fortran/resolve.c:5583
+ #, no-c-format
+ msgid "Statement at %L is not a valid branch target statement for the branch statement at %L"
+ msgstr ""
+
+-#: fortran/resolve.c:5450
++#: fortran/resolve.c:5592
+ #, no-c-format
+ msgid "Branch at %L causes an infinite loop"
+ msgstr ""
+@@ -9566,648 +9609,658 @@
+ #. 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.c:5463
++#: fortran/resolve.c:5605
+ #, no-c-format
+ msgid "Label at %L is not in the same block as the GOTO statement at %L"
+ msgstr ""
+
+-#: fortran/resolve.c:5478 fortran/resolve.c:5492
++#: fortran/resolve.c:5620 fortran/resolve.c:5634
+ #, no-c-format
+ msgid "Deleted feature: GOTO at %L jumps to END of construct at %L"
+ msgstr ""
+
+-#: fortran/resolve.c:5569
++#: fortran/resolve.c:5711
+ #, no-c-format
+ msgid "WHERE mask at %L has inconsistent shape"
+ msgstr ""
+
+-#: fortran/resolve.c:5585
++#: fortran/resolve.c:5727
+ #, no-c-format
+ msgid "WHERE assignment target at %L has inconsistent shape"
+ msgstr ""
+
+-#: fortran/resolve.c:5600 fortran/resolve.c:5682
++#: fortran/resolve.c:5735 fortran/resolve.c:5820
+ #, no-c-format
++msgid "Non-ELEMENTAL user-defined assignment in WHERE at %L"
++msgstr ""
++
++#: fortran/resolve.c:5745 fortran/resolve.c:5830
++#, no-c-format
+ msgid "Unsupported statement inside WHERE at %L"
+ msgstr ""
+
+-#: fortran/resolve.c:5631
++#: fortran/resolve.c:5776
+ #, fuzzy, no-c-format
+ msgid "Assignment to a FORALL index variable at %L"
+ msgstr "%s van alleen-lezen variabele %qs"
+
+-#: fortran/resolve.c:5639
++#: fortran/resolve.c:5784
+ #, no-c-format
+ msgid "The FORALL with index '%s' cause more than one assignment to this object at %L"
+ msgstr ""
+
+-#: fortran/resolve.c:5774
++#: fortran/resolve.c:5922
+ #, no-c-format
+ msgid "An outer FORALL construct already has an index with this name %L"
+ msgstr ""
+
+-#: fortran/resolve.c:5830
++#: fortran/resolve.c:5978
+ #, no-c-format
+ msgid "WHERE/ELSEWHERE clause at %L requires a LOGICAL array"
+ msgstr ""
+
+-#: fortran/resolve.c:5890
++#: fortran/resolve.c:6037
+ #, no-c-format
+ msgid "Subroutine '%s' called instead of assignment at %L must be PURE"
+ msgstr ""
+
+-#: fortran/resolve.c:5927
++#: fortran/resolve.c:6110
+ #, no-c-format
+ msgid "CHARACTER expression will be truncated in assignment (%d/%d) at %L"
+ msgstr ""
+
+-#: fortran/resolve.c:5950
++#: fortran/resolve.c:6135
+ #, no-c-format
+ msgid "Cannot assign to variable '%s' in PURE procedure at %L"
+ msgstr ""
+
+-#: fortran/resolve.c:5962
++#: fortran/resolve.c:6147
+ #, no-c-format
+ msgid "The impure variable at %L is assigned to a derived type variable with a POINTER component in a PURE procedure (12.6)"
+ msgstr ""
+
+-#: fortran/resolve.c:6066
++#: fortran/resolve.c:6250
+ #, no-c-format
+ msgid "ASSIGNED GOTO statement at %L requires an INTEGER variable"
+ msgstr ""
+
+-#: fortran/resolve.c:6069
++#: fortran/resolve.c:6253
+ #, no-c-format
+ msgid "Variable '%s' has not been assigned a target label at %L"
+ msgstr ""
+
+-#: fortran/resolve.c:6080
++#: fortran/resolve.c:6264
+ #, no-c-format
+ msgid "Alternate RETURN statement at %L requires a SCALAR-INTEGER return specifier"
+ msgstr ""
+
+-#: fortran/resolve.c:6106
++#: fortran/resolve.c:6290
+ #, no-c-format
+ msgid "ASSIGN statement at %L requires a scalar default INTEGER variable"
+ msgstr ""
+
+-#: fortran/resolve.c:6121
++#: fortran/resolve.c:6305
+ #, no-c-format
+ msgid "Arithmetic IF statement at %L requires a numeric expression"
+ msgstr ""
+
+-#: fortran/resolve.c:6163
++#: fortran/resolve.c:6347
+ #, no-c-format
+ msgid "Exit condition of DO WHILE loop at %L must be a scalar LOGICAL expression"
+ msgstr ""
+
+-#: fortran/resolve.c:6170
++#: fortran/resolve.c:6420
+ #, no-c-format
+-msgid "STAT tag in ALLOCATE statement at %L must be of type INTEGER"
+-msgstr ""
+-
+-#: fortran/resolve.c:6182
+-#, no-c-format
+-msgid "STAT tag in DEALLOCATE statement at %L must be of type INTEGER"
+-msgstr ""
+-
+-#: fortran/resolve.c:6247
+-#, no-c-format
+ msgid "FORALL mask clause at %L requires a LOGICAL expression"
+ msgstr ""
+
+-#: fortran/resolve.c:6317 fortran/resolve.c:6373
++#: fortran/resolve.c:6490 fortran/resolve.c:6546
+ #, no-c-format
+ msgid "Binding label '%s' for common block '%s' at %L collides with the global entity '%s' at %L"
+ msgstr ""
+
+ #. Common block names match but binding labels do not.
+-#: fortran/resolve.c:6338
++#: fortran/resolve.c:6511
+ #, no-c-format
+ msgid "Binding label '%s' for common block '%s' at %L does not match the binding label '%s' for common block '%s' at %L"
+ msgstr ""
+
+-#: fortran/resolve.c:6385
++#: fortran/resolve.c:6558
+ #, no-c-format
+ msgid "Binding label '%s' for common block '%s' at %L collides with global entity '%s' at %L"
+ msgstr ""
+
+ #. Make sure global procedures don't collide with anything.
+-#: fortran/resolve.c:6437
++#: fortran/resolve.c:6610
+ #, no-c-format
+ msgid "Binding label '%s' at %L collides with the global entity '%s' at %L"
+ msgstr ""
+
+ #. Make sure procedures in interface bodies don't collide.
+-#: fortran/resolve.c:6450
++#: fortran/resolve.c:6623
+ #, no-c-format
+ msgid "Binding label '%s' in interface body at %L collides with the global entity '%s' at %L"
+ msgstr ""
+
+-#: fortran/resolve.c:6463
++#: fortran/resolve.c:6636
+ #, no-c-format
+ msgid "Binding label '%s' at %L collides with global entity '%s' at %L"
+ msgstr ""
+
+-#: fortran/resolve.c:6540
++#: fortran/resolve.c:6713
+ #, no-c-format
+ msgid "CHARACTER variable has zero length at %L"
+ msgstr ""
+
+-#: fortran/resolve.c:6828
++#: fortran/resolve.c:7001
+ #, no-c-format
+ msgid "Allocatable array '%s' at %L must have a deferred shape"
+ msgstr ""
+
+-#: fortran/resolve.c:6831
++#: fortran/resolve.c:7004
+ #, no-c-format
+ msgid "Scalar object '%s' at %L may not be ALLOCATABLE"
+ msgstr ""
+
+-#: fortran/resolve.c:6838
++#: fortran/resolve.c:7011
+ #, no-c-format
+ msgid "Array pointer '%s' at %L must have a deferred shape"
+ msgstr ""
+
+-#: fortran/resolve.c:6849
++#: fortran/resolve.c:7022
+ #, no-c-format
+ msgid "Array '%s' at %L cannot have a deferred shape"
+ msgstr ""
+
+-#: fortran/resolve.c:6878
++#: fortran/resolve.c:7051
+ #, no-c-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"
+ msgstr ""
+
+-#: fortran/resolve.c:6901
++#: fortran/resolve.c:7074
+ #, no-c-format
+ msgid "Object '%s' at %L must have the SAVE attribute for default initialization of a component"
+ msgstr ""
+
+ #. The shape of a main program or module array needs to be
+ #. constant.
+-#: fortran/resolve.c:6948
++#: fortran/resolve.c:7121
+ #, no-c-format
+ msgid "The module or main program array '%s' at %L must have constant shape"
+ msgstr ""
+
+-#: fortran/resolve.c:6961
++#: fortran/resolve.c:7134
+ #, no-c-format
+ msgid "Entity with assumed character length at %L must be a dummy argument or a PARAMETER"
+ msgstr ""
+
+-#: fortran/resolve.c:6980
++#: fortran/resolve.c:7153
+ #, no-c-format
+ msgid "'%s' at %L must have constant character length in this context"
+ msgstr ""
+
+-#: fortran/resolve.c:7012
++#: fortran/resolve.c:7185
+ #, fuzzy, no-c-format
+ msgid "Allocatable '%s' at %L cannot have an initializer"
+ msgstr "object van variabele lengte mag geen beginwaarde krijgen"
+
+-#: fortran/resolve.c:7015
++#: fortran/resolve.c:7188
+ #, fuzzy, no-c-format
+ msgid "External '%s' at %L cannot have an initializer"
+ msgstr "object van variabele lengte mag geen beginwaarde krijgen"
+
+-#: fortran/resolve.c:7019
++#: fortran/resolve.c:7192
+ #, fuzzy, no-c-format
+ msgid "Dummy '%s' at %L cannot have an initializer"
+ msgstr "object van variabele lengte mag geen beginwaarde krijgen"
+
+-#: fortran/resolve.c:7022
++#: fortran/resolve.c:7195
+ #, fuzzy, no-c-format
+ msgid "Intrinsic '%s' at %L cannot have an initializer"
+ msgstr "object van variabele lengte mag geen beginwaarde krijgen"
+
+-#: fortran/resolve.c:7025
++#: fortran/resolve.c:7198
+ #, fuzzy, no-c-format
+ msgid "Function result '%s' at %L cannot have an initializer"
+ msgstr "object van variabele lengte mag geen beginwaarde krijgen"
+
+-#: fortran/resolve.c:7028
++#: fortran/resolve.c:7201
+ #, fuzzy, no-c-format
+ msgid "Automatic array '%s' at %L cannot have an initializer"
+ msgstr "object van variabele lengte mag geen beginwaarde krijgen"
+
+-#: fortran/resolve.c:7051
++#: fortran/resolve.c:7224
+ #, no-c-format
+ msgid "Although not referenced, '%s' at %L has ambiguous interfaces"
+ msgstr ""
+
+-#: fortran/resolve.c:7070
++#: fortran/resolve.c:7243
+ #, no-c-format
+ msgid "Character-valued statement function '%s' at %L must have constant length"
+ msgstr ""
+
+-#: fortran/resolve.c:7078
++#: fortran/resolve.c:7251
+ #, fuzzy, no-c-format
+ msgid "Automatic character length function '%s' at %L must have an explicit interface"
+ msgstr "object van variabele lengte mag geen beginwaarde krijgen"
+
+-#: fortran/resolve.c:7103
++#: fortran/resolve.c:7276
+ #, no-c-format
+ msgid "Fortran 2003: '%s' is of a PRIVATE type and cannot be a dummy argument of '%s', which is PUBLIC at %L"
+ msgstr ""
+
+-#: fortran/resolve.c:7126 fortran/resolve.c:7151
++#: fortran/resolve.c:7299 fortran/resolve.c:7324
+ #, no-c-format
+ msgid "Fortran 2003: Procedure '%s' in PUBLIC interface '%s' at %L takes dummy arguments of '%s' which is PRIVATE"
+ msgstr ""
+
+-#: fortran/resolve.c:7168
++#: fortran/resolve.c:7341
+ #, fuzzy, no-c-format
+ msgid "Function '%s' at %L cannot have an initializer"
+ msgstr "object van variabele lengte mag geen beginwaarde krijgen"
+
+-#: fortran/resolve.c:7177
++#: fortran/resolve.c:7350
+ #, fuzzy, no-c-format
+ msgid "External object '%s' at %L may not have an initializer"
+ msgstr "object van variabele lengte mag geen beginwaarde krijgen"
+
+-#: fortran/resolve.c:7185
++#: fortran/resolve.c:7358
+ #, fuzzy, no-c-format
+ msgid "ELEMENTAL function '%s' at %L must have a scalar result"
+ msgstr "Intrinsic '%s' op %L moet minstens twee argumenten hebben"
+
+-#: fortran/resolve.c:7206
++#: fortran/resolve.c:7379
+ #, no-c-format
+ msgid "CHARACTER(*) function '%s' at %L cannot be array-valued"
+ msgstr ""
+
+-#: fortran/resolve.c:7210
++#: fortran/resolve.c:7383
+ #, fuzzy, no-c-format
+ msgid "CHARACTER(*) function '%s' at %L cannot be pointer-valued"
+ msgstr "object van variabele lengte mag geen beginwaarde krijgen"
+
+-#: fortran/resolve.c:7214
++#: fortran/resolve.c:7387
+ #, no-c-format
+ msgid "CHARACTER(*) function '%s' at %L cannot be pure"
+ msgstr ""
+
+-#: fortran/resolve.c:7218
++#: fortran/resolve.c:7391
+ #, no-c-format
+ msgid "CHARACTER(*) function '%s' at %L cannot be recursive"
+ msgstr ""
+
+-#: fortran/resolve.c:7227
++#: fortran/resolve.c:7400
+ #, no-c-format
+ msgid "CHARACTER(*) function '%s' at %L is obsolescent in fortran 95"
+ msgstr ""
+
+-#: fortran/resolve.c:7299
++#: fortran/resolve.c:7472
+ #, no-c-format
+ msgid "Character length of component '%s' needs to be a constant specification expression at %L"
+ msgstr ""
+
+-#: fortran/resolve.c:7314
++#: fortran/resolve.c:7487
+ #, no-c-format
+ msgid "The component '%s' is a PRIVATE type and cannot be a component of '%s', which is PUBLIC at %L"
+ msgstr ""
+
+-#: fortran/resolve.c:7324
++#: fortran/resolve.c:7497
+ #, no-c-format
+ msgid "Component %s of SEQUENCE type declared at %L does not have the SEQUENCE attribute"
+ msgstr ""
+
+-#: fortran/resolve.c:7334
++#: fortran/resolve.c:7507
+ #, no-c-format
+ msgid "The pointer component '%s' of '%s' at %L is a type that has not been declared"
+ msgstr ""
+
+-#: fortran/resolve.c:7352
++#: fortran/resolve.c:7525
+ #, fuzzy, no-c-format
+ msgid "Component '%s' of '%s' at %L must have constant array bounds"
+ msgstr "Intrinsic '%s' op %L moet minstens twee argumenten hebben"
+
+-#: fortran/resolve.c:7395
++#: fortran/resolve.c:7568
+ #, no-c-format
+ msgid "NAMELIST object '%s' was declared PRIVATE and cannot be member of PUBLIC namelist '%s' at %L"
+ msgstr ""
+
+-#: fortran/resolve.c:7405
++#: fortran/resolve.c:7578
+ #, no-c-format
+ msgid "NAMELIST object '%s' has use-associated PRIVATE components and cannot be member of namelist '%s' at %L"
+ msgstr ""
+
+-#: fortran/resolve.c:7418
++#: fortran/resolve.c:7591
+ #, no-c-format
+ msgid "NAMELIST object '%s' has PRIVATE components and cannot be a member of PUBLIC namelist '%s' at %L"
+ msgstr ""
+
+-#: fortran/resolve.c:7430
++#: fortran/resolve.c:7603
+ #, no-c-format
+ msgid "NAMELIST array object '%s' must not have assumed shape in namelist '%s' at %L"
+ msgstr ""
+
+-#: fortran/resolve.c:7439
++#: fortran/resolve.c:7612
+ #, no-c-format
+ msgid "NAMELIST array object '%s' must have constant shape in namelist '%s' at %L"
+ msgstr ""
+
+-#: fortran/resolve.c:7451
++#: fortran/resolve.c:7624
+ #, no-c-format
+ msgid "NAMELIST object '%s' in namelist '%s' at %L cannot have ALLOCATABLE components"
+ msgstr ""
+
+-#: fortran/resolve.c:7459
++#: fortran/resolve.c:7632
+ #, no-c-format
+ msgid "NAMELIST object '%s' in namelist '%s' at %L cannot have POINTER components"
+ msgstr ""
+
+-#: fortran/resolve.c:7485
++#: fortran/resolve.c:7658
+ #, fuzzy, no-c-format
+ msgid "PROCEDURE attribute conflicts with NAMELIST attribute in '%s' at %L"
+ msgstr "het %qs attribuut heeft geen betekenis voor types"
+
+-#: fortran/resolve.c:7504
++#: fortran/resolve.c:7677
+ #, no-c-format
+ msgid "Parameter array '%s' at %L cannot be automatic or of deferred shape"
+ msgstr ""
+
+-#: fortran/resolve.c:7515
++#: fortran/resolve.c:7688
+ #, no-c-format
+ msgid "Implicitly typed PARAMETER '%s' at %L doesn't match a later IMPLICIT type"
+ msgstr ""
+
+-#: fortran/resolve.c:7526
++#: fortran/resolve.c:7699
+ #, no-c-format
+ msgid "Incompatible derived type in PARAMETER at %L"
+ msgstr ""
+
+-#: fortran/resolve.c:7597
++#: fortran/resolve.c:7758
+ #, no-c-format
++msgid "Interface '%s', used by procedure '%s' at %L, is declared in a later PROCEDURE statement"
++msgstr ""
++
++#: fortran/resolve.c:7772
++#, no-c-format
+ msgid "Interface '%s' of procedure '%s' at %L must be explicit"
+ msgstr ""
+
+-#: fortran/resolve.c:7622
++#: fortran/resolve.c:7797
+ #, no-c-format
+ msgid "Type specified for intrinsic function '%s' at %L is ignored"
+ msgstr ""
+
+-#: fortran/resolve.c:7629
++#: fortran/resolve.c:7804
+ #, fuzzy, no-c-format
+ msgid "Intrinsic subroutine '%s' at %L shall not have a type specifier"
+ msgstr "object van variabele lengte mag geen beginwaarde krijgen"
+
+-#: fortran/resolve.c:7636
++#: fortran/resolve.c:7811
+ #, fuzzy, no-c-format
+ msgid "Intrinsic '%s' at %L does not exist"
+ msgstr "taal %s niet herkend"
+
+-#: fortran/resolve.c:7676
++#: fortran/resolve.c:7851
+ #, no-c-format
+ msgid "Assumed size array at %L must be a dummy argument"
+ msgstr ""
+
+-#: fortran/resolve.c:7679
++#: fortran/resolve.c:7854
+ #, no-c-format
+ msgid "Assumed shape array at %L must be a dummy argument"
+ msgstr ""
+
+-#: fortran/resolve.c:7691
++#: fortran/resolve.c:7866
+ #, no-c-format
+ msgid "Symbol at %L is not a DUMMY variable"
+ msgstr ""
+
+-#: fortran/resolve.c:7697
++#: fortran/resolve.c:7872
+ #, no-c-format
+ msgid "'%s' at %L cannot have the VALUE attribute because it is not a dummy argument"
+ msgstr ""
+
+-#: fortran/resolve.c:7707
++#: fortran/resolve.c:7882
+ #, no-c-format
+ msgid "Character dummy variable '%s' at %L with VALUE attribute must have constant length"
+ msgstr ""
+
+-#: fortran/resolve.c:7716
++#: fortran/resolve.c:7891
+ #, no-c-format
+ msgid "C interoperable character dummy variable '%s' at %L with VALUE attribute must have length one"
+ msgstr ""
+
+-#: fortran/resolve.c:7742
++#: fortran/resolve.c:7917
+ #, no-c-format
+ msgid "Variable '%s' at %L cannot be BIND(C) because it is neither a COMMON block nor declared at the module level scope"
+ msgstr ""
+
+-#: fortran/resolve.c:7795
++#: fortran/resolve.c:7970
+ #, no-c-format
+ msgid "The derived type '%s' at %L is of type '%s', which has not been defined"
+ msgstr ""
+
+-#: fortran/resolve.c:7811
++#: fortran/resolve.c:7987
+ #, no-c-format
+ msgid "Fortran 2003: PUBLIC %s '%s' at %L of PRIVATE derived type '%s'"
+ msgstr ""
+
+-#: fortran/resolve.c:7830
++#: fortran/resolve.c:8006
+ #, no-c-format
+ msgid "The INTENT(OUT) dummy argument '%s' at %L is ASSUMED SIZE and so cannot have a default initializer"
+ msgstr ""
+
+-#: fortran/resolve.c:7889
++#: fortran/resolve.c:8065
+ #, no-c-format
+ msgid "Threadprivate at %L isn't SAVEd"
+ msgstr ""
+
+-#: fortran/resolve.c:7967
++#: fortran/resolve.c:8143
+ #, no-c-format
+ msgid "BLOCK DATA element '%s' at %L must be in COMMON"
+ msgstr ""
+
+-#: fortran/resolve.c:8011
++#: fortran/resolve.c:8149
+ #, no-c-format
++msgid "DATA array '%s' at %L must be specified in a previous declaration"
++msgstr ""
++
++#: fortran/resolve.c:8194
++#, no-c-format
+ msgid "Nonconstant array section at %L in DATA statement"
+ msgstr ""
+
+-#: fortran/resolve.c:8024
++#: fortran/resolve.c:8207
+ #, no-c-format
+ msgid "DATA statement at %L has more variables than values"
+ msgstr ""
+
+-#: fortran/resolve.c:8118
++#: fortran/resolve.c:8301
+ #, no-c-format
+ msgid "iterator start at %L does not simplify"
+ msgstr ""
+
+-#: fortran/resolve.c:8125
++#: fortran/resolve.c:8308
+ #, fuzzy, no-c-format
+ msgid "iterator end at %L does not simplify"
+ msgstr "taal %s niet herkend"
+
+-#: fortran/resolve.c:8132
++#: fortran/resolve.c:8315
+ #, no-c-format
+ msgid "iterator step at %L does not simplify"
+ msgstr ""
+
+-#: fortran/resolve.c:8258
++#: fortran/resolve.c:8441
+ #, no-c-format
+ msgid "DATA statement at %L has more values than variables"
+ msgstr ""
+
+-#: fortran/resolve.c:8349
++#: fortran/resolve.c:8532
+ #, fuzzy, no-c-format
+ msgid "Label %d at %L defined but not used"
+ msgstr "label %qs gedefinieerd maar niet gebruikt"
+
+-#: fortran/resolve.c:8354
++#: fortran/resolve.c:8537
+ #, fuzzy, no-c-format
+ msgid "Label %d at %L defined but cannot be used"
+ msgstr "label %qs gedefinieerd maar niet gebruikt"
+
+-#: fortran/resolve.c:8439
++#: fortran/resolve.c:8622
+ #, no-c-format
+ msgid "Derived type variable '%s' at %L must have SEQUENCE attribute to be an EQUIVALENCE object"
+ msgstr ""
+
+-#: fortran/resolve.c:8448
++#: fortran/resolve.c:8631
+ #, no-c-format
+ msgid "Derived type variable '%s' at %L cannot have ALLOCATABLE components to be an EQUIVALENCE object"
+ msgstr ""
+
+-#: fortran/resolve.c:8465
++#: fortran/resolve.c:8639
+ #, no-c-format
++msgid "Derived type variable '%s' at %L with default initialization cannot be in EQUIVALENCE with a variable in COMMON"
++msgstr ""
++
++#: fortran/resolve.c:8656
++#, no-c-format
+ msgid "Derived type variable '%s' at %L with pointer component(s) cannot be an EQUIVALENCE object"
+ msgstr ""
+
+-#: fortran/resolve.c:8570
++#: fortran/resolve.c:8761
+ #, no-c-format
+ msgid "Syntax error in EQUIVALENCE statement at %L"
+ msgstr ""
+
+-#: fortran/resolve.c:8585
++#: fortran/resolve.c:8776
+ #, no-c-format
+ msgid "Either all or none of the objects in the EQUIVALENCE set at %L shall have the PROTECTED attribute"
+ msgstr ""
+
+-#: fortran/resolve.c:8597
++#: fortran/resolve.c:8788
+ #, no-c-format
+ msgid "Common block member '%s' at %L cannot be an EQUIVALENCE object in the pure procedure '%s'"
+ msgstr ""
+
+-#: fortran/resolve.c:8606
++#: fortran/resolve.c:8797
+ #, no-c-format
+ msgid "Named constant '%s' at %L cannot be an EQUIVALENCE object"
+ msgstr ""
+
+-#: fortran/resolve.c:8685
++#: fortran/resolve.c:8876
+ #, no-c-format
+ msgid "Array '%s' at %L with non-constant bounds cannot be an EQUIVALENCE object"
+ msgstr ""
+
+-#: fortran/resolve.c:8696
++#: fortran/resolve.c:8887
+ #, no-c-format
+ msgid "Structure component '%s' at %L cannot be an EQUIVALENCE object"
+ msgstr ""
+
+-#: fortran/resolve.c:8707
++#: fortran/resolve.c:8898
+ #, no-c-format
+ msgid "Substring at %L has length zero"
+ msgstr ""
+
+-#: fortran/resolve.c:8750
++#: fortran/resolve.c:8941
+ #, no-c-format
+ msgid "PUBLIC function '%s' at %L cannot be of PRIVATE type '%s'"
+ msgstr ""
+
+-#: fortran/resolve.c:8762
++#: fortran/resolve.c:8953
+ #, no-c-format
+ msgid "ENTRY '%s' at %L has no IMPLICIT type"
+ msgstr ""
+
+-#: fortran/resolve.c:8788
++#: fortran/resolve.c:8979
+ #, no-c-format
+ msgid "User operator procedure '%s' at %L must be a FUNCTION"
+ msgstr ""
+
+-#: fortran/resolve.c:8795
++#: fortran/resolve.c:8986
+ #, no-c-format
+ msgid "User operator procedure '%s' at %L cannot be assumed character length"
+ msgstr ""
+
+-#: fortran/resolve.c:8801
++#: fortran/resolve.c:8992
+ #, fuzzy, no-c-format
+ msgid "User operator procedure '%s' at %L must have at least one argument"
+ msgstr "Intrinsic '%s' op %L moet minstens twee argumenten hebben"
+
+-#: fortran/resolve.c:8811
++#: fortran/resolve.c:9002
+ #, no-c-format
+ msgid "First argument of operator interface at %L cannot be optional"
+ msgstr ""
+
+-#: fortran/resolve.c:8823
++#: fortran/resolve.c:9014
+ #, no-c-format
+ msgid "Second argument of operator interface at %L cannot be optional"
+ msgstr ""
+
+-#: fortran/resolve.c:8827
++#: fortran/resolve.c:9018
+ #, fuzzy, no-c-format
+ msgid "Operator interface at %L must have, at most, two arguments"
+ msgstr "Intrinsic '%s' op %L moet minstens twee argumenten hebben"
+
+-#: fortran/resolve.c:8867
++#: fortran/resolve.c:9059
+ #, no-c-format
+ msgid "Contained procedure '%s' at %L of a PURE procedure must also be PURE"
+ msgstr ""
+
+-#: fortran/scanner.c:526
++#: fortran/scanner.c:530
+ #, no-c-format
+ msgid "!$OMP at %C starts a commented line as it neither is followed by a space nor is a continuation line"
+ msgstr ""
+
+-#: fortran/scanner.c:816 fortran/scanner.c:937
++#: fortran/scanner.c:820 fortran/scanner.c:941
+ #, no-c-format
+ msgid "Limit of %d continuations exceeded in statement at %C"
+ msgstr ""
+
+-#: fortran/scanner.c:861
++#: fortran/scanner.c:865
+ #, no-c-format
+ msgid "Missing '&' in continued character constant at %C"
+ msgstr ""
+
+-#: fortran/scanner.c:1071
++#: fortran/scanner.c:1075
+ #, no-c-format
+ msgid "Nonconforming tab character at %C"
+ msgstr ""
+
+-#: fortran/scanner.c:1153 fortran/scanner.c:1156
++#: fortran/scanner.c:1158 fortran/scanner.c:1161
+ #, no-c-format
+ msgid "'&' not allowed by itself in line %d"
+ msgstr ""
+
+-#: fortran/scanner.c:1189
++#: fortran/scanner.c:1207
+ #, no-c-format
+-msgid "Nonconforming tab character in column 1 of line %d"
++msgid "Nonconforming tab character in column %d of line %d"
+ msgstr ""
+
+-#: fortran/scanner.c:1387
++#: fortran/scanner.c:1405
+ #, no-c-format
+ msgid "%s:%d: file %s left but not entered"
+ msgstr ""
+
+-#: fortran/scanner.c:1419
++#: fortran/scanner.c:1438
+ #, no-c-format
+ msgid "%s:%d: Illegal preprocessor directive"
+ msgstr ""
+
+-#: fortran/scanner.c:1514
++#: fortran/scanner.c:1533
+ #, no-c-format
+ msgid "File '%s' is being included recursively"
+ msgstr ""
+
+-#: fortran/scanner.c:1529
++#: fortran/scanner.c:1548
+ #, fuzzy, no-c-format
+ msgid "Can't open file '%s'"
+ msgstr "kan bestand '%s' niet openen"
+
+-#: fortran/scanner.c:1538
++#: fortran/scanner.c:1557
+ #, fuzzy, no-c-format
+ msgid "Can't open included file '%s'"
+ msgstr "kan bestand '%s' niet openen"
+
+ # moet dit eigenlijk wel een vertaalbare string zijn?
+-#: fortran/scanner.c:1676
++#: fortran/scanner.c:1701
+ #, fuzzy, c-format
+ msgid "%s:%3d %s\n"
+ msgstr "%s '%s'\n"
+@@ -10277,142 +10330,142 @@
+ msgid "Argument of CHAR function at %L outside of range [0,255]"
+ msgstr ""
+
+-#: fortran/simplify.c:1247
++#: fortran/simplify.c:1293
+ #, no-c-format
+ msgid "Argument of IACHAR at %L must be of length one"
+ msgstr ""
+
+-#: fortran/simplify.c:1254
++#: fortran/simplify.c:1300
+ #, no-c-format
+ msgid "Argument of IACHAR function at %L outside of range 0..127"
+ msgstr ""
+
+ # Is the %s the argument, or is it 'of' the argument?
+-#: fortran/simplify.c:1293
++#: fortran/simplify.c:1339
+ #, fuzzy, no-c-format
+ msgid "Invalid second argument of IBCLR at %L"
+ msgstr "ongeldig type-argument %qs"
+
+-#: fortran/simplify.c:1301
++#: fortran/simplify.c:1347
+ #, no-c-format
+ msgid "Second argument of IBCLR exceeds bit size at %L"
+ msgstr ""
+
+ # Is the %s the argument, or is it 'of' the argument?
+-#: fortran/simplify.c:1335
++#: fortran/simplify.c:1381
+ #, fuzzy, no-c-format
+ msgid "Invalid second argument of IBITS at %L"
+ msgstr "ongeldig type-argument %qs"
+
+ # Is the %s the argument, or is it 'of' the argument?
+-#: fortran/simplify.c:1341
++#: fortran/simplify.c:1387
+ #, fuzzy, no-c-format
+ msgid "Invalid third argument of IBITS at %L"
+ msgstr "ongeldig type-argument %qs"
+
+-#: fortran/simplify.c:1351
++#: fortran/simplify.c:1397
+ #, no-c-format
+ msgid "Sum of second and third arguments of IBITS exceeds bit size at %L"
+ msgstr ""
+
+ # Is the %s the argument, or is it 'of' the argument?
+-#: fortran/simplify.c:1393
++#: fortran/simplify.c:1439
+ #, fuzzy, no-c-format
+ msgid "Invalid second argument of IBSET at %L"
+ msgstr "ongeldig type-argument %qs"
+
+-#: fortran/simplify.c:1401
++#: fortran/simplify.c:1447
+ #, no-c-format
+ msgid "Second argument of IBSET exceeds bit size at %L"
+ msgstr ""
+
+-#: fortran/simplify.c:1431
++#: fortran/simplify.c:1477
+ #, no-c-format
+ msgid "Argument of ICHAR at %L must be of length one"
+ msgstr ""
+
+-#: fortran/simplify.c:1646
++#: fortran/simplify.c:1692
+ #, no-c-format
+ msgid "Argument of INT at %L is not a valid type"
+ msgstr ""
+
+ # dit klinkt niet al te best
+-#: fortran/simplify.c:1688
++#: fortran/simplify.c:1734
+ #, fuzzy, no-c-format
+ msgid "Argument of %s at %L is not a valid type"
+ msgstr "functie-oproep heeft geaggregeerde waarde"
+
+ # Is the %s the argument, or is it 'of' the argument?
+-#: fortran/simplify.c:1786
++#: fortran/simplify.c:1832
+ #, fuzzy, no-c-format
+ msgid "Invalid second argument of ISHFT at %L"
+ msgstr "ongeldig type-argument %qs"
+
+-#: fortran/simplify.c:1801
++#: fortran/simplify.c:1847
+ #, no-c-format
+ msgid "Magnitude of second argument of ISHFT exceeds bit size at %L"
+ msgstr ""
+
+ # Is the %s the argument, or is it 'of' the argument?
+-#: fortran/simplify.c:1865
++#: fortran/simplify.c:1911
+ #, fuzzy, no-c-format
+ msgid "Invalid second argument of ISHFTC at %L"
+ msgstr "ongeldig type-argument %qs"
+
+ # Is the %s the argument, or is it 'of' the argument?
+-#: fortran/simplify.c:1879
++#: fortran/simplify.c:1925
+ #, fuzzy, no-c-format
+ msgid "Invalid third argument of ISHFTC at %L"
+ msgstr "ongeldig type-argument %qs"
+
+-#: fortran/simplify.c:1885
++#: fortran/simplify.c:1931
+ #, no-c-format
+ msgid "Magnitude of third argument of ISHFTC exceeds BIT_SIZE of first argument at %L"
+ msgstr ""
+
+-#: fortran/simplify.c:1901
++#: fortran/simplify.c:1947
+ #, no-c-format
+ msgid "Magnitude of second argument of ISHFTC exceeds third argument at %L"
+ msgstr ""
+
+-#: fortran/simplify.c:1904
++#: fortran/simplify.c:1950
+ #, no-c-format
+ msgid "Magnitude of second argument of ISHFTC exceeds BIT_SIZE of first argument at %L"
+ msgstr ""
+
+-#: fortran/simplify.c:1975
++#: fortran/simplify.c:2021
+ #, no-c-format
+ msgid "Argument of KIND at %L is a DERIVED type"
+ msgstr ""
+
+-#: fortran/simplify.c:2163
++#: fortran/simplify.c:2209
+ #, fuzzy, no-c-format
+ msgid "DIM argument at %L is out of bounds"
+ msgstr "het argument van %<asm%> is geen constante string"
+
+-#: fortran/simplify.c:2318
++#: fortran/simplify.c:2364
+ #, no-c-format
+ msgid "Argument of LOG at %L cannot be less than or equal to zero"
+ msgstr ""
+
+-#: fortran/simplify.c:2331
++#: fortran/simplify.c:2377
+ #, no-c-format
+ msgid "Complex argument of LOG at %L cannot be zero"
+ msgstr ""
+
+-#: fortran/simplify.c:2374
++#: fortran/simplify.c:2420
+ #, no-c-format
+ msgid "Argument of LOG10 at %L cannot be less than or equal to zero"
+ msgstr ""
+
+ #. Result is processor-dependent.
+-#: fortran/simplify.c:2579
++#: fortran/simplify.c:2628
+ #, no-c-format
+ msgid "Second argument MOD at %L is zero"
+ msgstr ""
+
+ #. Result is processor-dependent.
+-#: fortran/simplify.c:2590
++#: fortran/simplify.c:2639
+ #, no-c-format
+ msgid "Second argument of MOD at %L is zero"
+ msgstr ""
+@@ -10420,84 +10473,89 @@
+ #. Result is processor-dependent. This processor just opts
+ #. to not handle it at all.
+ #. Result is processor-dependent.
+-#: fortran/simplify.c:2638 fortran/simplify.c:2650
++#: fortran/simplify.c:2687 fortran/simplify.c:2699
+ #, no-c-format
+ msgid "Second argument of MODULO at %L is zero"
+ msgstr ""
+
+ # Is the %s the argument, or is it 'of' the argument?
+-#: fortran/simplify.c:2702
++#: fortran/simplify.c:2751
+ #, fuzzy, no-c-format
+ msgid "Second argument of NEAREST at %L shall not be zero"
+ msgstr "ongeldig type-argument %qs"
+
+-#: fortran/simplify.c:2977
++#: fortran/simplify.c:2787
+ #, no-c-format
++msgid "Result of NEAREST is NaN at %L"
++msgstr ""
++
++#: fortran/simplify.c:3062
++#, no-c-format
+ msgid "Argument NCOPIES of REPEAT intrinsic is negative at %L"
+ msgstr ""
+
+-#: fortran/simplify.c:3032
++#: fortran/simplify.c:3117
+ #, no-c-format
+ msgid "Argument NCOPIES of REPEAT intrinsic is too large at %L"
+ msgstr ""
+
+-#: fortran/simplify.c:3122
++#: fortran/simplify.c:3232
+ #, fuzzy, no-c-format
+ msgid "Integer too large in shape specification at %L"
+ msgstr "eerdere definitie van %qs"
+
+-#: fortran/simplify.c:3132
++#: fortran/simplify.c:3242
+ #, no-c-format
+ msgid "Too many dimensions in shape specification for RESHAPE at %L"
+ msgstr ""
+
+-#: fortran/simplify.c:3140
++#: fortran/simplify.c:3250
+ #, no-c-format
+ msgid "Shape specification at %L cannot be negative"
+ msgstr ""
+
+-#: fortran/simplify.c:3150
++#: fortran/simplify.c:3260
+ #, no-c-format
+ msgid "Shape specification at %L cannot be the null array"
+ msgstr ""
+
+-#: fortran/simplify.c:3171
++#: fortran/simplify.c:3281
+ #, no-c-format
+ msgid "ORDER parameter of RESHAPE at %L is not the same size as SHAPE parameter"
+ msgstr ""
+
+-#: fortran/simplify.c:3178
++#: fortran/simplify.c:3288
+ #, no-c-format
+ msgid "Error in ORDER parameter of RESHAPE at %L"
+ msgstr ""
+
+-#: fortran/simplify.c:3188
++#: fortran/simplify.c:3298
+ #, no-c-format
+ msgid "ORDER parameter of RESHAPE at %L is out of range"
+ msgstr ""
+
+-#: fortran/simplify.c:3197
++#: fortran/simplify.c:3307
+ #, no-c-format
+ msgid "Invalid permutation in ORDER parameter at %L"
+ msgstr ""
+
+-#: fortran/simplify.c:3253
++#: fortran/simplify.c:3363
+ #, no-c-format
+ msgid "PAD parameter required for short SOURCE parameter at %L"
+ msgstr ""
+
+-#: fortran/simplify.c:3372
++#: fortran/simplify.c:3482
+ #, no-c-format
+ msgid "Result of SCALE overflows its kind at %L"
+ msgstr ""
+
+ # dit klinkt niet al te best
+-#: fortran/simplify.c:3942
++#: fortran/simplify.c:4056
+ #, fuzzy, no-c-format
+ msgid "Argument of SQRT at %L has a negative value"
+ msgstr "functie-oproep heeft geaggregeerde waarde"
+
+-#: fortran/simplify.c:4069
++#: fortran/simplify.c:4190
+ #, no-c-format
+ msgid "Intrinsic TRANSFER at %L has partly undefined result: source size %ld < result size %ld"
+ msgstr ""
+@@ -10726,29 +10784,29 @@
+ msgid "Symbol '%s' at %C has already been host associated"
+ msgstr ""
+
+-#: fortran/symbol.c:3162
++#: fortran/symbol.c:3189
+ #, no-c-format
+ msgid "Derived type '%s' declared at %L must have the BIND attribute to be C interoperable"
+ msgstr ""
+
+-#: fortran/symbol.c:3173
++#: fortran/symbol.c:3200
+ #, no-c-format
+ msgid "Derived type '%s' at %L is empty"
+ msgstr ""
+
+-#: fortran/symbol.c:3190
++#: fortran/symbol.c:3217
+ #, no-c-format
+ msgid "Component '%s' at %L cannot have the POINTER attribute because it is a member of the BIND(C) derived type '%s' at %L"
+ msgstr ""
+
+-#: fortran/symbol.c:3202
++#: fortran/symbol.c:3229
+ #, no-c-format
+ msgid "Component '%s' at %L cannot have the ALLOCATABLE attribute because it is a member of the BIND(C) derived type '%s' at %L"
+ msgstr ""
+
+ #. If the derived type is bind(c), all fields must be
+ #. interop.
+-#: fortran/symbol.c:3241
++#: fortran/symbol.c:3268
+ #, no-c-format
+ msgid "Component '%s' in derived type '%s' at %L may not be C interoperable, even though derived type '%s' is BIND(C)"
+ msgstr ""
+@@ -10756,17 +10814,17 @@
+ #. If derived type is param to bind(c) routine, or to one
+ #. of the iso_c_binding procs, it must be interoperable, so
+ #. all fields must interop too.
+-#: fortran/symbol.c:3250
++#: fortran/symbol.c:3277
+ #, no-c-format
+ msgid "Component '%s' in derived type '%s' at %L may not be C interoperable"
+ msgstr ""
+
+-#: fortran/symbol.c:3264
++#: fortran/symbol.c:3291
+ #, no-c-format
+ msgid "Derived type '%s' at %L cannot be declared with both PRIVATE and BIND(C) attributes"
+ msgstr ""
+
+-#: fortran/symbol.c:3272
++#: fortran/symbol.c:3299
+ #, no-c-format
+ msgid "Derived type '%s' at %L cannot have the SEQUENCE attribute because it is BIND(C)"
+ msgstr ""
+@@ -10776,38 +10834,43 @@
+ msgid "Overlapping unequal initializers in EQUIVALENCE at %L"
+ msgstr ""
+
+-#: fortran/trans-common.c:396
++#: fortran/target-memory.c:635
+ #, no-c-format
++msgid "BOZ constant at %L is too large (%ld vs %ld bits)"
++msgstr ""
++
++#: fortran/trans-common.c:399
++#, no-c-format
+ msgid "Named COMMON block '%s' at %L shall be of the same size"
+ msgstr ""
+
+-#: fortran/trans-common.c:817
++#: fortran/trans-common.c:833
+ #, fuzzy, no-c-format
+ msgid "Bad array reference at %L"
+ msgstr "kan niet derefereren, is geen pointer."
+
+-#: fortran/trans-common.c:825
++#: fortran/trans-common.c:841
+ #, no-c-format
+ msgid "Illegal reference type at %L as EQUIVALENCE object"
+ msgstr ""
+
+-#: fortran/trans-common.c:865
++#: fortran/trans-common.c:881
+ #, no-c-format
+ msgid "Inconsistent equivalence rules involving '%s' at %L and '%s' at %L"
+ msgstr ""
+
+ #. Aligning this field would misalign a previous field.
+-#: fortran/trans-common.c:998
++#: fortran/trans-common.c:1014
+ #, no-c-format
+ msgid "The equivalence set for variable '%s' declared at %L violates alignment requirements"
+ msgstr ""
+
+-#: fortran/trans-common.c:1063
++#: fortran/trans-common.c:1079
+ #, no-c-format
+ msgid "Equivalence for '%s' does not match ordering of COMMON '%s' at %L"
+ msgstr ""
+
+-#: fortran/trans-common.c:1078
++#: fortran/trans-common.c:1094
+ #, no-c-format
+ msgid "The equivalence set for '%s' cause an invalid extension to COMMON '%s' at %L"
+ msgstr ""
+@@ -10815,42 +10878,42 @@
+ #. The required offset conflicts with previous alignment
+ #. requirements. Insert padding immediately before this
+ #. segment.
+-#: fortran/trans-common.c:1089
++#: fortran/trans-common.c:1105
+ #, no-c-format
+ msgid "Padding of %d bytes required before '%s' in COMMON '%s' at %L"
+ msgstr ""
+
+-#: fortran/trans-common.c:1115
++#: fortran/trans-common.c:1131
+ #, fuzzy, no-c-format
+ msgid "COMMON '%s' at %L does not exist"
+ msgstr "taal %s niet herkend"
+
+-#: fortran/trans-common.c:1122
++#: fortran/trans-common.c:1138
+ #, no-c-format
+ msgid "COMMON '%s' at %L requires %d bytes of padding at start"
+ msgstr ""
+
+-#: fortran/trans-decl.c:3016
++#: fortran/trans-decl.c:2979
+ #, no-c-format
+ msgid "Dummy argument '%s' at %L was declared INTENT(OUT) but was not set"
+ msgstr ""
+
+-#: fortran/trans-decl.c:3020
++#: fortran/trans-decl.c:2983
+ #, fuzzy, no-c-format
+ msgid "Unused dummy argument '%s' at %L"
+ msgstr "Te veel argumenten voor %s op %L"
+
+-#: fortran/trans-decl.c:3026
++#: fortran/trans-decl.c:2989
+ #, fuzzy, no-c-format
+ msgid "Unused variable '%s' declared at %L"
+ msgstr "statische variable %qs is als dllimport aangeduid"
+
+-#: fortran/trans-decl.c:3052
++#: fortran/trans-decl.c:3015
+ #, fuzzy, no-c-format
+ msgid "Unused parameter '%s' declared at %L"
+ msgstr "parameter %qs als void gedeclareerd"
+
+-#: fortran/trans-expr.c:2036
++#: fortran/trans-expr.c:2199
+ #, fuzzy, no-c-format
+ msgid "Unknown argument list function at %L"
+ msgstr "Bestandsnaam ontbreekt na %qs optie"
+@@ -10860,12 +10923,12 @@
+ msgid "'dim' argument of %s intrinsic at %L is not a valid dimension index"
+ msgstr "'%s' argument voor intrinsic '%s' op %L moet een constante zijn"
+
+-#: fortran/trans-io.c:1850
++#: fortran/trans-io.c:1851
+ #, no-c-format
+ msgid "Derived type '%s' at %L has PRIVATE components"
+ msgstr ""
+
+-#: fortran/trans-stmt.c:438
++#: fortran/trans-stmt.c:436
+ #, no-c-format
+ msgid "An alternate return at %L without a * dummy argument"
+ msgstr ""
+@@ -11083,57 +11146,37 @@
+ msgid "cannot specify 'main' class when not linking"
+ msgstr ""
+
+-#: config/i386/nwld.h:34
+-msgid "Static linking is not supported.\n"
+-msgstr "Statisch linken wordt niet ondersteund.\n"
+-
+-#: java/jvspec.c:80 gcc.c:820 ada/lang-specs.h:33
+-msgid "-pg and -fomit-frame-pointer are incompatible"
+-msgstr "-pg en -fomit-frame-pointer zijn niet compatibel"
+-
+ #: config/vax/netbsd-elf.h:41
+ #, fuzzy
+ msgid "the -shared option is not currently supported for VAX ELF"
+ msgstr "De -shared optie wordt op het ogenblik niet ondersteund voor VAX ELF."
+
+-#: config/sparc/sol2-gld-bi.h:17 config/sparc/sol2-gld-bi.h:22
+-#: config/sparc/sol2-bi.h:189 config/sparc/sol2-bi.h:194
+-msgid "does not support multilib"
+-msgstr "ondersteunt geen multilib"
+-
+ #: config/vax/vax.h:49 config/vax/vax.h:50
+ msgid "profiling not supported with -mg\n"
+ msgstr "profileren wordt niet ondersteund wanneer -mg gebruikt wordt\n"
+
+-#: config/rs6000/linux64.h:347 config/rs6000/linux64.h:349 config/linux.h:106
+-#: config/linux.h:108 config/rs6000/sysv4.h:897 config/rs6000/sysv4.h:899
++#: config/sh/sh.h:461
++msgid "SH2a does not support little-endian"
++msgstr "SH2a ondersteunt little-endian niet"
++
++#: config/s390/tpf.h:119
++#, fuzzy
++msgid "static is not supported on TPF-OS"
++msgstr "sectie-attributen worden niet ondersteund op dit doelsysteem"
++
+ #: config/alpha/linux-elf.h:33 config/alpha/linux-elf.h:35
++#: config/rs6000/sysv4.h:897 config/rs6000/sysv4.h:899
+ #: config/sparc/linux.h:126 config/sparc/linux.h:128
+-#: config/sparc/linux64.h:152 config/sparc/linux64.h:154
++#: config/sparc/linux64.h:152 config/sparc/linux64.h:154 config/linux.h:106
++#: config/linux.h:108 config/rs6000/linux64.h:347 config/rs6000/linux64.h:349
+ #, fuzzy
+ msgid "-mglibc and -muclibc used together"
+ msgstr "-msoft-float en -mhard_float mogen niet samen gebruikt worden"
+
+-#: config/i386/cygwin.h:28
+-msgid "mno-cygwin and mno-win32 are not compatible"
+-msgstr "-mno-cygwin en -mno-win32 zijn niet compatibel"
++#: java/jvspec.c:80 gcc.c:820 ada/lang-specs.h:33
++msgid "-pg and -fomit-frame-pointer are incompatible"
++msgstr "-pg en -fomit-frame-pointer zijn niet compatibel"
+
+-#: config/i386/cygwin.h:74 config/i386/mingw32.h:74
+-msgid "shared and mdll are not compatible"
+-msgstr "-shared en -mdll zijn niet compatibel"
+-
+-#: config/i386/sco5.h:188
+-msgid "-pg not supported on this platform"
+-msgstr "-pg wordt op dit platform niet ondersteund"
+-
+-#: config/i386/sco5.h:189
+-msgid "-p and -pp specified - pick one"
+-msgstr "zowel -p als -pp opgegeven - kies één van de twee"
+-
+-#: config/i386/sco5.h:258
+-msgid "-G and -static are mutually exclusive"
+-msgstr "-G en -static sluiten elkaar uit"
+-
+ #: gcc.c:792
+ msgid "GCC does not support -C or -CC without -E"
+ msgstr "GCC ondersteunt -C of -CC niet zonder -E"
+@@ -11142,59 +11185,14 @@
+ msgid "-E or -x required when input is from standard input"
+ msgstr "-E of -x is nodig wanneer de invoer van standaardinvoer komt"
+
+-#: java/lang-specs.h:33
+-msgid "-fjni and -femit-class-files are incompatible"
+-msgstr "-fini en -femit-class-files zijn niet compatibel"
+-
+-#: java/lang-specs.h:34
+-msgid "-fjni and -femit-class-file are incompatible"
+-msgstr "-fini en -femit-class-file zijn niet compatibel"
+-
+-#: java/lang-specs.h:35 java/lang-specs.h:36
+-msgid "-femit-class-file should used along with -fsyntax-only"
+-msgstr "-femit-class-file zou in combinatie met -fsyntax-only gebruikt moeten worden"
+-
+ #: config/mcore/mcore.h:56
+ msgid "the m210 does not have little endian support"
+ msgstr ""
+
+-#: config/lynx.h:70
+-msgid "cannot use mthreads and mlegacy-threads together"
+-msgstr ""
+-
+-#: config/lynx.h:95
+-msgid "cannot use mshared and static together"
+-msgstr ""
+-
+-#: config/sh/sh.h:461
+-msgid "SH2a does not support little-endian"
+-msgstr "SH2a ondersteunt little-endian niet"
+-
+-#: config/mips/mips.h:1042 config/arc/arc.h:61
++#: config/arc/arc.h:61 config/mips/mips.h:1042
+ msgid "may not use both -EB and -EL"
+ msgstr "-EB en -EL mogen niet samen gebruikt worden"
+
+-#: config/s390/tpf.h:119
+-#, fuzzy
+-msgid "static is not supported on TPF-OS"
+-msgstr "sectie-attributen worden niet ondersteund op dit doelsysteem"
+-
+-#: config/rs6000/darwin.h:95
+-msgid " conflicting code gen style switches are used"
+-msgstr " conflicterende opties voor codegeneratie gebruikt"
+-
+-#: ada/lang-specs.h:34
+-msgid "-c or -S required for Ada"
+-msgstr "-c of -S is vereist voor Ada"
+-
+-#: config/mips/r3900.h:34
+-msgid "-mhard-float not supported"
+-msgstr "-mhard-float wordt niet ondersteund"
+-
+-#: config/mips/r3900.h:36
+-msgid "-msingle-float and -msoft-float cannot both be specified"
+-msgstr "-msingle-float en -msoft-float kunnen niet samen gebruikt worden."
+-
+ #: config/vxworks.h:71
+ #, fuzzy
+ msgid "-Xbind-now and -Xbind-lazy are incompatible"
+@@ -11232,12 +11230,24 @@
+ msgid "-private_bundle not allowed with -dynamiclib"
+ msgstr ""
+
++#: config/mips/r3900.h:34
++msgid "-mhard-float not supported"
++msgstr "-mhard-float wordt niet ondersteund"
++
++#: config/mips/r3900.h:36
++msgid "-msingle-float and -msoft-float cannot both be specified"
++msgstr "-msingle-float en -msoft-float kunnen niet samen gebruikt worden."
++
+ #: config/sparc/linux64.h:211 config/sparc/linux64.h:222
+ #: config/sparc/netbsd-elf.h:125 config/sparc/netbsd-elf.h:144
+ #: config/sparc/sol2-bi.h:217 config/sparc/sol2-bi.h:227
+ msgid "may not use both -m32 and -m64"
+ msgstr "-m32 en -m64 mogen niet samen gebruikt worden"
+
++#: config/i386/mingw32.h:74 config/i386/cygwin.h:74
++msgid "shared and mdll are not compatible"
++msgstr "-shared en -mdll zijn niet compatibel"
++
+ #: config/arm/arm.h:147
+ msgid "-msoft-float and -mhard_float may not be used together"
+ msgstr "-msoft-float en -mhard_float mogen niet samen gebruikt worden"
+@@ -11246,118 +11256,64 @@
+ msgid "-mbig-endian and -mlittle-endian may not be used together"
+ msgstr "-mbig-endian en -mlittle-endian mogen niet samen gebruikt worden"
+
+-#: java/lang.opt:65
+-msgid "Warn if a deprecated compiler feature, class, method, or field is used"
+-msgstr ""
++#: config/rs6000/darwin.h:95
++msgid " conflicting code gen style switches are used"
++msgstr " conflicterende opties voor codegeneratie gebruikt"
+
+-#: java/lang.opt:69
+-msgid "Warn if deprecated empty statements are found"
+-msgstr ""
++#: ada/lang-specs.h:34
++msgid "-c or -S required for Ada"
++msgstr "-c of -S is vereist voor Ada"
+
+-#: java/lang.opt:73
+-msgid "Warn if .class files are out of date"
+-msgstr ""
++#: config/sparc/sol2-bi.h:189 config/sparc/sol2-bi.h:194
++#: config/sparc/sol2-gld-bi.h:17 config/sparc/sol2-gld-bi.h:22
++msgid "does not support multilib"
++msgstr "ondersteunt geen multilib"
+
+-#: java/lang.opt:77
+-msgid "Warn if modifiers are specified when not necessary"
+-msgstr ""
++#: config/i386/nwld.h:34
++msgid "Static linking is not supported.\n"
++msgstr "Statisch linken wordt niet ondersteund.\n"
+
+-#: java/lang.opt:81
+-msgid "Deprecated; use --classpath instead"
+-msgstr ""
++#: config/i386/cygwin.h:28
++msgid "mno-cygwin and mno-win32 are not compatible"
++msgstr "-mno-cygwin en -mno-win32 zijn niet compatibel"
+
+-#: java/lang.opt:88
+-msgid "Permit the use of the assert keyword"
+-msgstr ""
++#: config/i386/sco5.h:188
++msgid "-pg not supported on this platform"
++msgstr "-pg wordt op dit platform niet ondersteund"
+
+-#: java/lang.opt:110
+-msgid "Replace system path"
+-msgstr ""
++#: config/i386/sco5.h:189
++msgid "-p and -pp specified - pick one"
++msgstr "zowel -p als -pp opgegeven - kies één van de twee"
+
+-#: java/lang.opt:114
+-msgid "Generate checks for references to NULL"
+-msgstr ""
++#: config/i386/sco5.h:258
++msgid "-G and -static are mutually exclusive"
++msgstr "-G en -static sluiten elkaar uit"
+
+-#: java/lang.opt:118
+-msgid "Set class path"
+-msgstr ""
++#: java/lang-specs.h:33
++msgid "-fjni and -femit-class-files are incompatible"
++msgstr "-fini en -femit-class-files zijn niet compatibel"
+
+-#: java/lang.opt:125
+-msgid "Output a class file"
+-msgstr ""
++#: java/lang-specs.h:34
++msgid "-fjni and -femit-class-file are incompatible"
++msgstr "-fini en -femit-class-file zijn niet compatibel"
+
+-#: java/lang.opt:129
+-msgid "Alias for -femit-class-file"
+-msgstr ""
++#: java/lang-specs.h:35 java/lang-specs.h:36
++msgid "-femit-class-file should used along with -fsyntax-only"
++msgstr "-femit-class-file zou in combinatie met -fsyntax-only gebruikt moeten worden"
+
+-#: java/lang.opt:133
+-msgid "Choose input encoding (defaults from your locale)"
+-msgstr ""
++#: config/cris/cris.h:207
++#, fuzzy
++msgid "Do not specify both -march=... and -mcpu=..."
++msgstr "-EB en -EL mogen niet samen gebruikt worden"
+
+-#: java/lang.opt:137
+-msgid "Set the extension directory path"
++#: config/lynx.h:70
++msgid "cannot use mthreads and mlegacy-threads together"
+ msgstr ""
+
+-#: java/lang.opt:144
+-msgid "Input file is a file with a list of filenames to compile"
++#: config/lynx.h:95
++msgid "cannot use mshared and static together"
+ msgstr ""
+
+-#: java/lang.opt:151
+-msgid "Always check for non gcj generated classes archives"
+-msgstr ""
+-
+-#: java/lang.opt:155
+-msgid "Assume the runtime uses a hash table to map an object to its synchronization structure"
+-msgstr ""
+-
+-#: java/lang.opt:159
+-msgid "Generate instances of Class at runtime"
+-msgstr ""
+-
+-#: java/lang.opt:163
+-msgid "Use offset tables for virtual method calls"
+-msgstr ""
+-
+-#: java/lang.opt:170
+-msgid "Assume native functions are implemented using JNI"
+-msgstr ""
+-
+-#: java/lang.opt:174
+-msgid "Enable optimization of static class initialization code"
+-msgstr ""
+-
+-#: java/lang.opt:181
+-msgid "Reduce the amount of reflection meta-data generated"
+-msgstr ""
+-
+-#: java/lang.opt:185
+-msgid "Enable assignability checks for stores into object arrays"
+-msgstr ""
+-
+-#: java/lang.opt:189
+-msgid "Generate code for the Boehm GC"
+-msgstr ""
+-
+-#: java/lang.opt:193
+-msgid "Call a library routine to do integer divisions"
+-msgstr ""
+-
+-#: java/lang.opt:197
+-msgid "Generated should be loaded by bootstrap loader"
+-msgstr ""
+-
+-#: java/lang.opt:201
+-msgid "Set the source language version"
+-msgstr ""
+-
+-#: java/lang.opt:205
+-msgid "Set the target VM version"
+-msgstr ""
+-
+-#: ada/lang.opt:96
+-msgid "Specify options to GNAT"
+-msgstr ""
+-
+ #: fortran/lang.opt:29
+ msgid "Add a directory for INCLUDE and MODULE searching"
+ msgstr ""
+@@ -11610,7 +11566,7 @@
+ msgid "Append a second underscore if the name already contains an underscore"
+ msgstr ""
+
+-#: fortran/lang.opt:277 c.opt:714
++#: fortran/lang.opt:277 c.opt:718
+ msgid "Use the narrowest integer type possible for enumeration types"
+ msgstr ""
+
+@@ -11644,14 +11600,66 @@
+ msgid "Accept extensions to support legacy code"
+ msgstr ""
+
+-#: treelang/lang.opt:30
+-msgid "Trace lexical analysis"
++#: config/mcore/mcore.opt:23
++#, fuzzy
++msgid "Generate code for the M*Core M210"
++msgstr "case-label niet in een switch-statement"
++
++#: config/mcore/mcore.opt:27
++msgid "Generate code for the M*Core M340"
+ msgstr ""
+
+-#: treelang/lang.opt:34
+-msgid "Trace the parsing process"
++#: config/mcore/mcore.opt:31
++msgid "Set maximum alignment to 4"
+ msgstr ""
+
++#: config/mcore/mcore.opt:35
++msgid "Force functions to be aligned to a 4 byte boundary"
++msgstr ""
++
++#: config/mcore/mcore.opt:39
++msgid "Set maximum alignment to 8"
++msgstr ""
++
++#: config/mcore/mcore.opt:43 config/score/score.opt:23
++#, fuzzy
++msgid "Generate big-endian code"
++msgstr "incompatibele record-modus"
++
++#: config/mcore/mcore.opt:47
++msgid "Emit call graph information"
++msgstr ""
++
++#: config/mcore/mcore.opt:51
++#, fuzzy
++msgid "Use the divide instruction"
++msgstr "ongeldig gebruik van %<restrict%>"
++
++#: config/mcore/mcore.opt:55
++msgid "Inline constants if it can be done in 2 insns or less"
++msgstr ""
++
++#: config/mcore/mcore.opt:59 config/score/score.opt:27
++#, fuzzy
++msgid "Generate little-endian code"
++msgstr "incompatibele record-modus"
++
++#: config/mcore/mcore.opt:67
++msgid "Use arbitrary sized immediates in bit operations"
++msgstr ""
++
++#: config/mcore/mcore.opt:71
++msgid "Prefer word accesses over byte accesses"
++msgstr ""
++
++#: config/mcore/mcore.opt:75
++msgid "Set the maximum amount for a single stack increment operation"
++msgstr ""
++
++#: config/mcore/mcore.opt:79
++msgid "Always treat bitfields as int-sized"
++msgstr ""
++
+ #: config/alpha/alpha.opt:23 config/i386/i386.opt:155
+ msgid "Do not use hardware fp"
+ msgstr ""
+@@ -11768,285 +11776,6 @@
+ msgid "Specify bit size of immediate TLS offsets"
+ msgstr ""
+
+-#: config/frv/frv.opt:23
+-msgid "Use 4 media accumulators"
+-msgstr ""
+-
+-#: config/frv/frv.opt:27
+-msgid "Use 8 media accumulators"
+-msgstr ""
+-
+-#: config/frv/frv.opt:31
+-#, fuzzy
+-msgid "Enable label alignment optimizations"
+-msgstr "lege declaratie"
+-
+-#: config/frv/frv.opt:35
+-msgid "Dynamically allocate cc registers"
+-msgstr ""
+-
+-#: config/frv/frv.opt:42
+-msgid "Set the cost of branches"
+-msgstr ""
+-
+-#: config/frv/frv.opt:46
+-msgid "Enable conditional execution other than moves/scc"
+-msgstr ""
+-
+-#: config/frv/frv.opt:50
+-msgid "Change the maximum length of conditionally-executed sequences"
+-msgstr ""
+-
+-#: config/frv/frv.opt:54
+-msgid "Change the number of temporary registers that are available to conditionally-executed sequences"
+-msgstr ""
+-
+-# of "preprocessing" behouden?
+-#: config/frv/frv.opt:58
+-#, fuzzy
+-msgid "Enable conditional moves"
+-msgstr "Schakel traditionele voorverwerking in"
+-
+-#: config/frv/frv.opt:62
+-msgid "Set the target CPU type"
+-msgstr ""
+-
+-#: config/frv/frv.opt:84
+-#, fuzzy
+-msgid "Use fp double instructions"
+-msgstr "ongeldig gebruik van %<restrict%>"
+-
+-#: config/frv/frv.opt:88
+-msgid "Change the ABI to allow double word insns"
+-msgstr ""
+-
+-#: config/frv/frv.opt:92 config/bfin/bfin.opt:73
+-msgid "Enable Function Descriptor PIC mode"
+-msgstr ""
+-
+-#: config/frv/frv.opt:96
+-msgid "Just use icc0/fcc0"
+-msgstr ""
+-
+-#: config/frv/frv.opt:100
+-msgid "Only use 32 FPRs"
+-msgstr ""
+-
+-#: config/frv/frv.opt:104
+-msgid "Use 64 FPRs"
+-msgstr ""
+-
+-#: config/frv/frv.opt:108
+-msgid "Only use 32 GPRs"
+-msgstr ""
+-
+-#: config/frv/frv.opt:112
+-msgid "Use 64 GPRs"
+-msgstr ""
+-
+-#: config/frv/frv.opt:116
+-msgid "Enable use of GPREL for read-only data in FDPIC"
+-msgstr ""
+-
+-#: config/frv/frv.opt:120 config/rs6000/rs6000.opt:112
+-#: config/pdp11/pdp11.opt:71
+-msgid "Use hardware floating point"
+-msgstr ""
+-
+-# "sentinel" hoe vertalen? "schildwacht" lijkt niet echt van toepassing...
+-#: config/frv/frv.opt:124 config/bfin/bfin.opt:77
+-#, fuzzy
+-msgid "Enable inlining of PLT in function calls"
+-msgstr "sentinel ontbreekt in functie-oproep"
+-
+-#: config/frv/frv.opt:128
+-msgid "Enable PIC support for building libraries"
+-msgstr ""
+-
+-#: config/frv/frv.opt:132
+-msgid "Follow the EABI linkage requirements"
+-msgstr ""
+-
+-#: config/frv/frv.opt:136
+-#, fuzzy
+-msgid "Disallow direct calls to global functions"
+-msgstr "Genereer directe aftakkingen naar locale functies"
+-
+-#: config/frv/frv.opt:140
+-#, fuzzy
+-msgid "Use media instructions"
+-msgstr "ongeldig gebruik van %<restrict%>"
+-
+-#: config/frv/frv.opt:144
+-#, fuzzy
+-msgid "Use multiply add/subtract instructions"
+-msgstr "ongeldig gebruik van %<restrict%>"
+-
+-#: config/frv/frv.opt:148
+-#, fuzzy
+-msgid "Enable optimizing &&/|| in conditional execution"
+-msgstr "types in voorwaardelijke expressie komen niet overeen"
+-
+-#: config/frv/frv.opt:152
+-#, fuzzy
+-msgid "Enable nested conditional execution optimizations"
+-msgstr "lege declaratie"
+-
+-#: config/frv/frv.opt:157
+-msgid "Do not mark ABI switches in e_flags"
+-msgstr ""
+-
+-#: config/frv/frv.opt:161
+-msgid "Remove redundant membars"
+-msgstr ""
+-
+-#: config/frv/frv.opt:165
+-#, fuzzy
+-msgid "Pack VLIW instructions"
+-msgstr "ongeldig gebruik van %<restrict%>"
+-
+-#: config/frv/frv.opt:169
+-msgid "Enable setting GPRs to the result of comparisons"
+-msgstr ""
+-
+-#: config/frv/frv.opt:173
+-msgid "Change the amount of scheduler lookahead"
+-msgstr ""
+-
+-#: config/frv/frv.opt:177 config/pa/pa.opt:104
+-msgid "Use software floating point"
+-msgstr ""
+-
+-#: config/frv/frv.opt:181
+-msgid "Assume a large TLS segment"
+-msgstr ""
+-
+-#: config/frv/frv.opt:185
+-msgid "Do not assume a large TLS segment"
+-msgstr ""
+-
+-#: config/frv/frv.opt:190
+-msgid "Cause gas to print tomcat statistics"
+-msgstr ""
+-
+-#: config/frv/frv.opt:195
+-msgid "Link with the library-pic libraries"
+-msgstr ""
+-
+-#: config/frv/frv.opt:199
+-msgid "Allow branches to be packed with other instructions"
+-msgstr ""
+-
+-#: config/mn10300/mn10300.opt:23
+-msgid "Target the AM33 processor"
+-msgstr ""
+-
+-#: config/mn10300/mn10300.opt:27
+-msgid "Target the AM33/2.0 processor"
+-msgstr ""
+-
+-#: config/mn10300/mn10300.opt:31
+-msgid "Work around hardware multiply bug"
+-msgstr ""
+-
+-#: config/mn10300/mn10300.opt:36
+-msgid "Enable linker relaxations"
+-msgstr ""
+-
+-#: config/mn10300/mn10300.opt:40
+-msgid "Return pointers in both a0 and d0"
+-msgstr ""
+-
+-#: config/s390/tpf.opt:23
+-#, fuzzy
+-msgid "Enable TPF-OS tracing code"
+-msgstr "incompatibele record-modus"
+-
+-#: config/s390/tpf.opt:27
+-msgid "Specify main object for TPF-OS"
+-msgstr ""
+-
+-#: config/s390/s390.opt:23
+-msgid "31 bit ABI"
+-msgstr ""
+-
+-#: config/s390/s390.opt:27
+-msgid "64 bit ABI"
+-msgstr ""
+-
+-#: config/s390/s390.opt:31 config/i386/i386.opt:59 config/spu/spu.opt:60
+-msgid "Generate code for given CPU"
+-msgstr ""
+-
+-#: config/s390/s390.opt:35
+-msgid "Maintain backchain pointer"
+-msgstr ""
+-
+-#: config/s390/s390.opt:39
+-msgid "Additional debug prints"
+-msgstr ""
+-
+-#: config/s390/s390.opt:43
+-msgid "ESA/390 architecture"
+-msgstr ""
+-
+-#: config/s390/s390.opt:47
+-#, fuzzy
+-msgid "Enable fused multiply/add instructions"
+-msgstr "ongeldig gebruik van %<restrict%>"
+-
+-# is niet helemaal exact, maar moet er maar voor doen
+-#: config/s390/s390.opt:51
+-#, fuzzy
+-msgid "Enable decimal floating point hardware support"
+-msgstr "Geef de naam op van hardware/formaat voor floating-point getallen op het doelplatform"
+-
+-#: config/s390/s390.opt:55
+-#, fuzzy
+-msgid "Enable hardware floating point"
+-msgstr "lege declaratie"
+-
+-#: config/s390/s390.opt:67
+-msgid "Use packed stack layout"
+-msgstr ""
+-
+-#: config/s390/s390.opt:71
+-msgid "Use bras for executable < 64k"
+-msgstr ""
+-
+-#: config/s390/s390.opt:75
+-msgid "Disable hardware floating point"
+-msgstr ""
+-
+-#: config/s390/s390.opt:79
+-msgid "Set the max. number of bytes which has to be left to stack size before a trap instruction is triggered"
+-msgstr ""
+-
+-#: config/s390/s390.opt:83
+-msgid "Emit extra code in the function prologue in order to trap if the stack size exceeds the given limit"
+-msgstr ""
+-
+-#: config/s390/s390.opt:87 config/ia64/ia64.opt:97 config/sparc/sparc.opt:95
+-#: config/i386/i386.opt:183 config/rs6000/rs6000.opt:226 config/spu/spu.opt:64
+-msgid "Schedule code for given CPU"
+-msgstr ""
+-
+-#: config/s390/s390.opt:91
+-msgid "mvcle use"
+-msgstr ""
+-
+-#: config/s390/s390.opt:95
+-msgid "Warn if a function uses alloca or creates an array with dynamic size"
+-msgstr ""
+-
+-#: config/s390/s390.opt:99
+-msgid "Warn if a single function's framesize exceeds the given framesize"
+-msgstr ""
+-
+-#: config/s390/s390.opt:103
+-msgid "z/Architecture"
+-msgstr ""
+-
+ #: config/ia64/ilp32.opt:3
+ #, fuzzy
+ msgid "Generate ILP32 code"
+@@ -12138,10 +11867,16 @@
+ msgid "Enable earlier placing stop bits for better scheduling"
+ msgstr ""
+
+-#: config/ia64/ia64.opt:89 config/spu/spu.opt:56 config/pa/pa.opt:51
++#: config/ia64/ia64.opt:89 config/pa/pa.opt:51 config/spu/spu.opt:56
+ msgid "Specify range of registers to make fixed"
+ msgstr ""
+
++#: config/ia64/ia64.opt:97 config/i386/i386.opt:183
++#: config/rs6000/rs6000.opt:226 config/spu/spu.opt:64 config/s390/s390.opt:87
++#: config/sparc/sparc.opt:95
++msgid "Schedule code for given CPU"
++msgstr ""
++
+ #: config/ia64/ia64.opt:101
+ msgid "Use data speculation before reload"
+ msgstr ""
+@@ -12190,345 +11925,300 @@
+ msgid "Count speculative dependencies while calculating priority of instructions"
+ msgstr ""
+
+-#: config/m32c/m32c.opt:24 config/bfin/bfin.opt:23 config/mt/mt.opt:27
+-msgid "Use simulator runtime"
++#: config/xtensa/xtensa.opt:23
++msgid "Use CONST16 instruction to load constants"
+ msgstr ""
+
+-#: config/m32c/m32c.opt:28
+-msgid "Compile code for R8C variants"
++#: config/xtensa/xtensa.opt:27
++msgid "Enable fused multiply/add and multiply/subtract FP instructions"
+ msgstr ""
+
+-#: config/m32c/m32c.opt:32
+-msgid "Compile code for M16C variants"
++#: config/xtensa/xtensa.opt:31
++msgid "Use indirect CALLXn instructions for large programs"
+ msgstr ""
+
+-#: config/m32c/m32c.opt:36
+-msgid "Compile code for M32CM variants"
++#: config/xtensa/xtensa.opt:35
++msgid "Automatically align branch targets to reduce branch penalties"
+ msgstr ""
+
+-#: config/m32c/m32c.opt:40
+-msgid "Compile code for M32C variants"
++#: config/xtensa/xtensa.opt:39
++msgid "Intersperse literal pools with code in the text section"
+ msgstr ""
+
+-#: config/m32c/m32c.opt:44
+-msgid "Number of memreg bytes (default: 16, range: 0..16)"
++#: config/pa/pa.opt:23 config/pa/pa.opt:76 config/pa/pa.opt:84
++msgid "Generate PA1.0 code"
+ msgstr ""
+
+-#: config/sparc/little-endian.opt:23
+-#, fuzzy
+-msgid "Generate code for little-endian"
+-msgstr "case-label niet in een switch-statement"
++#: config/pa/pa.opt:27 config/pa/pa.opt:88 config/pa/pa.opt:108
++msgid "Generate PA1.1 code"
++msgstr ""
+
+-#: config/sparc/little-endian.opt:27
++#: config/pa/pa.opt:31 config/pa/pa.opt:92
++msgid "Generate PA2.0 code (requires binutils 2.10 or later)"
++msgstr ""
++
++#: config/pa/pa.opt:35
+ #, fuzzy
+-msgid "Generate code for big-endian"
++msgid "Generate code for huge switch statements"
+ msgstr "case-label niet in een switch-statement"
+
+-#: config/sparc/sparc.opt:23 config/sparc/sparc.opt:27
+-msgid "Use hardware FP"
++#: config/pa/pa.opt:39
++msgid "Disable FP regs"
+ msgstr ""
+
+-#: config/sparc/sparc.opt:31
+-msgid "Do not use hardware FP"
+-msgstr ""
++#: config/pa/pa.opt:43
++msgid "Disable indexed addressing"
++msgstr "Schakel geïndexeerde adressering uit"
+
+-#: config/sparc/sparc.opt:35
+-msgid "Assume possible double misalignment"
++#: config/pa/pa.opt:47
++msgid "Generate fast indirect calls"
+ msgstr ""
+
+-#: config/sparc/sparc.opt:39
+-msgid "Pass -assert pure-text to linker"
++#: config/pa/pa.opt:55
++msgid "Assume code will be assembled by GAS"
+ msgstr ""
+
+-#: config/sparc/sparc.opt:43
+-msgid "Use ABI reserved registers"
++#: config/pa/pa.opt:59
++msgid "Put jumps in call delay slots"
+ msgstr ""
+
+-#: config/sparc/sparc.opt:47
++#: config/pa/pa.opt:64
+ #, fuzzy
+-msgid "Use hardware quad FP instructions"
+-msgstr "ongeldig gebruik van %<restrict%>"
++msgid "Enable linker optimizations"
++msgstr "lege declaratie"
+
+-#: config/sparc/sparc.opt:51
+-msgid "Do not use hardware quad fp instructions"
++#: config/pa/pa.opt:68
++msgid "Always generate long calls"
+ msgstr ""
+
+-#: config/sparc/sparc.opt:55
+-msgid "Compile for V8+ ABI"
++#: config/pa/pa.opt:72
++msgid "Emit long load/store sequences"
+ msgstr ""
+
+-#: config/sparc/sparc.opt:59
+-msgid "Use UltraSPARC Visual Instruction Set extensions"
++#: config/pa/pa.opt:80
++msgid "Disable space regs"
+ msgstr ""
+
+-#: config/sparc/sparc.opt:63
+-msgid "Pointers are 64-bit"
+-msgstr ""
++#: config/pa/pa.opt:96
++#, fuzzy
++msgid "Use portable calling conventions"
++msgstr "Onbeëindigde stringconstante"
+
+-#: config/sparc/sparc.opt:67
+-msgid "Pointers are 32-bit"
++#: config/pa/pa.opt:100
++msgid "Specify CPU for scheduling purposes. Valid arguments are 700, 7100, 7100LC, 7200, 7300, and 8000"
+ msgstr ""
+
+-#: config/sparc/sparc.opt:71
+-msgid "Use 64-bit ABI"
++#: config/pa/pa.opt:104 config/frv/frv.opt:177
++msgid "Use software floating point"
+ msgstr ""
+
+-#: config/sparc/sparc.opt:75
+-msgid "Use 32-bit ABI"
++#: config/pa/pa.opt:112
++msgid "Do not disable space regs"
+ msgstr ""
+
+-#: config/sparc/sparc.opt:79
+-msgid "Use stack bias"
++#: config/pa/pa-hpux1111.opt:23 config/pa/pa-hpux1010.opt:23
++#: config/pa/pa-hpux.opt:27
++msgid "Specify UNIX standard for predefines and linking"
+ msgstr ""
+
+-#: config/sparc/sparc.opt:83
+-msgid "Use structs on stronger alignment for double-word copies"
++#: config/pa/pa64-hpux.opt:23
++msgid "Assume code will be linked by GNU ld"
+ msgstr ""
+
+-#: config/sparc/sparc.opt:87
+-msgid "Optimize tail call instructions in assembler and linker"
++#: config/pa/pa64-hpux.opt:27
++msgid "Assume code will be linked by HP ld"
+ msgstr ""
+
+-#: config/sparc/sparc.opt:91 config/rs6000/rs6000.opt:222
+-msgid "Use features of and schedule code for given CPU"
++#: config/pa/pa-hpux.opt:23
++msgid "Generate cpp defines for server IO"
+ msgstr ""
+
+-#: config/sparc/sparc.opt:99
+-msgid "Use given SPARC-V9 code model"
++#: config/pa/pa-hpux.opt:31
++msgid "Generate cpp defines for workstation IO"
+ msgstr ""
+
+-#: config/sparc/sparc.opt:103
+-msgid "Enable strict 32-bit psABI struct return checking."
++#: config/frv/frv.opt:23
++msgid "Use 4 media accumulators"
+ msgstr ""
+
+-#: config/m32r/m32r.opt:23
+-msgid "Compile for the m32rx"
++#: config/frv/frv.opt:27
++msgid "Use 8 media accumulators"
+ msgstr ""
+
+-#: config/m32r/m32r.opt:27
+-msgid "Compile for the m32r2"
+-msgstr ""
+-
+-#: config/m32r/m32r.opt:31
+-msgid "Compile for the m32r"
+-msgstr ""
+-
+-#: config/m32r/m32r.opt:35
+-msgid "Align all loops to 32 byte boundary"
+-msgstr ""
+-
+-#: config/m32r/m32r.opt:39
++#: config/frv/frv.opt:31
+ #, fuzzy
+-msgid "Prefer branches over conditional execution"
+-msgstr "types in voorwaardelijke expressie komen niet overeen"
++msgid "Enable label alignment optimizations"
++msgstr "lege declaratie"
+
+-#: config/m32r/m32r.opt:43
+-msgid "Give branches their default cost"
++#: config/frv/frv.opt:35
++msgid "Dynamically allocate cc registers"
+ msgstr ""
+
+-#: config/m32r/m32r.opt:47
+-msgid "Display compile time statistics"
++#: config/frv/frv.opt:42
++msgid "Set the cost of branches"
+ msgstr ""
+
+-#: config/m32r/m32r.opt:51
+-msgid "Specify cache flush function"
++#: config/frv/frv.opt:46
++msgid "Enable conditional execution other than moves/scc"
+ msgstr ""
+
+-#: config/m32r/m32r.opt:55
+-msgid "Specify cache flush trap number"
++#: config/frv/frv.opt:50
++msgid "Change the maximum length of conditionally-executed sequences"
+ msgstr ""
+
+-#: config/m32r/m32r.opt:59
+-msgid "Only issue one instruction per cycle"
++#: config/frv/frv.opt:54
++msgid "Change the number of temporary registers that are available to conditionally-executed sequences"
+ msgstr ""
+
+-#: config/m32r/m32r.opt:63
+-msgid "Allow two instructions to be issued per cycle"
++#: config/frv/frv.opt:58
++msgid "Enable conditional moves"
+ msgstr ""
+
+-#: config/m32r/m32r.opt:67
+-msgid "Code size: small, medium or large"
++#: config/frv/frv.opt:62
++msgid "Set the target CPU type"
+ msgstr ""
+
+-#: config/m32r/m32r.opt:71
+-msgid "Don't call any cache flush functions"
++#: config/frv/frv.opt:84
++msgid "Use fp double instructions"
+ msgstr ""
+
+-#: config/m32r/m32r.opt:75
+-msgid "Don't call any cache flush trap"
++#: config/frv/frv.opt:88
++msgid "Change the ABI to allow double word insns"
+ msgstr ""
+
+-#: config/m32r/m32r.opt:82
+-msgid "Small data area: none, sdata, use"
++#: config/frv/frv.opt:92 config/bfin/bfin.opt:73
++msgid "Enable Function Descriptor PIC mode"
+ msgstr ""
+
+-#: config/m68k/m68k.opt:23
+-msgid "Generate code for a 520X"
++#: config/frv/frv.opt:96
++msgid "Just use icc0/fcc0"
+ msgstr ""
+
+-#: config/m68k/m68k.opt:27
+-#, fuzzy
+-msgid "Generate code for a 5206e"
+-msgstr "case-label niet in een switch-statement"
+-
+-#: config/m68k/m68k.opt:31
+-msgid "Generate code for a 528x"
++#: config/frv/frv.opt:100
++msgid "Only use 32 FPRs"
+ msgstr ""
+
+-#: config/m68k/m68k.opt:35
+-msgid "Generate code for a 5307"
++#: config/frv/frv.opt:104
++msgid "Use 64 FPRs"
+ msgstr ""
+
+-#: config/m68k/m68k.opt:39
+-msgid "Generate code for a 5407"
++#: config/frv/frv.opt:108
++msgid "Only use 32 GPRs"
+ msgstr ""
+
+-#: config/m68k/m68k.opt:43 config/m68k/m68k.opt:104
+-msgid "Generate code for a 68000"
++#: config/frv/frv.opt:112
++msgid "Use 64 GPRs"
+ msgstr ""
+
+-#: config/m68k/m68k.opt:47
+-#, fuzzy
+-msgid "Generate code for a 68010"
+-msgstr "case-label niet in een switch-statement"
+-
+-#: config/m68k/m68k.opt:51 config/m68k/m68k.opt:108
+-msgid "Generate code for a 68020"
++#: config/frv/frv.opt:116
++msgid "Enable use of GPREL for read-only data in FDPIC"
+ msgstr ""
+
+-#: config/m68k/m68k.opt:55
+-msgid "Generate code for a 68040, without any new instructions"
++#: config/frv/frv.opt:120 config/rs6000/rs6000.opt:112
++#: config/pdp11/pdp11.opt:71
++msgid "Use hardware floating point"
+ msgstr ""
+
+-#: config/m68k/m68k.opt:59
+-msgid "Generate code for a 68060, without any new instructions"
++#: config/frv/frv.opt:124 config/bfin/bfin.opt:77
++msgid "Enable inlining of PLT in function calls"
+ msgstr ""
+
+-#: config/m68k/m68k.opt:63
+-msgid "Generate code for a 68030"
++#: config/frv/frv.opt:128
++msgid "Enable PIC support for building libraries"
+ msgstr ""
+
+-#: config/m68k/m68k.opt:67
+-msgid "Generate code for a 68040"
++#: config/frv/frv.opt:132
++msgid "Follow the EABI linkage requirements"
+ msgstr ""
+
+-#: config/m68k/m68k.opt:71
+-msgid "Generate code for a 68060"
+-msgstr ""
++#: config/frv/frv.opt:136
++msgid "Disallow direct calls to global functions"
++msgstr "Verbied rechtstreekse oproepen van globale functies"
+
+-#: config/m68k/m68k.opt:75
+-msgid "Generate code for a 68302"
++#: config/frv/frv.opt:140
++msgid "Use media instructions"
+ msgstr ""
+
+-#: config/m68k/m68k.opt:79
+-msgid "Generate code for a 68332"
++#: config/frv/frv.opt:144
++msgid "Use multiply add/subtract instructions"
+ msgstr ""
+
+-#: config/m68k/m68k.opt:84
+-msgid "Generate code for a 68851"
++#: config/frv/frv.opt:148
++msgid "Enable optimizing &&/|| in conditional execution"
+ msgstr ""
+
+-#: config/m68k/m68k.opt:88
+-msgid "Generate code that uses 68881 floating-point instructions"
++#: config/frv/frv.opt:152
++msgid "Enable nested conditional execution optimizations"
+ msgstr ""
+
+-#: config/m68k/m68k.opt:92
+-msgid "Align variables on a 32-bit boundary"
++#: config/frv/frv.opt:157
++msgid "Do not mark ABI switches in e_flags"
+ msgstr ""
+
+-#: config/m68k/m68k.opt:96 config/arm/arm.opt:49 config/score/score.opt:63
+-msgid "Specify the name of the target architecture"
++#: config/frv/frv.opt:161
++msgid "Remove redundant membars"
+ msgstr ""
+
+-#: config/m68k/m68k.opt:100
+-msgid "Use the bit-field instructions"
++#: config/frv/frv.opt:165
++msgid "Pack VLIW instructions"
+ msgstr ""
+
+-#: config/m68k/m68k.opt:112
+-#, fuzzy
+-msgid "Generate code for a ColdFire v4e"
+-msgstr "case-label niet in een switch-statement"
+-
+-#: config/m68k/m68k.opt:116
+-msgid "Specify the target CPU"
++#: config/frv/frv.opt:169
++msgid "Enable setting GPRs to the result of comparisons"
+ msgstr ""
+
+-#: config/m68k/m68k.opt:120
+-msgid "Generate code for a cpu32"
++#: config/frv/frv.opt:173
++msgid "Change the amount of scheduler lookahead"
+ msgstr ""
+
+-#: config/m68k/m68k.opt:124
+-#, fuzzy
+-msgid "Use hardware division instructions on ColdFire"
+-msgstr "ongeldig gebruik van %<restrict%>"
+-
+-#: config/m68k/m68k.opt:128
+-#, fuzzy
+-msgid "Generate code for a Fido A"
+-msgstr "case-label niet in een switch-statement"
+-
+-#: config/m68k/m68k.opt:132
+-#, fuzzy
+-msgid "Generate code which uses hardware floating point instructions"
+-msgstr "ongeldig gebruik van %<restrict%>"
+-
+-#: config/m68k/m68k.opt:136
+-msgid "Enable ID based shared library"
++#: config/frv/frv.opt:181
++msgid "Assume a large TLS segment"
+ msgstr ""
+
+-#: config/m68k/m68k.opt:140
+-msgid "Do not use the bit-field instructions"
++#: config/frv/frv.opt:185
++msgid "Do not assume a large TLS segment"
+ msgstr ""
+
+-#: config/m68k/m68k.opt:144
+-msgid "Use normal calling convention"
++#: config/frv/frv.opt:190
++msgid "Cause gas to print tomcat statistics"
+ msgstr ""
+
+-#: config/m68k/m68k.opt:148
+-msgid "Consider type 'int' to be 32 bits wide"
++#: config/frv/frv.opt:195
++msgid "Link with the library-pic libraries"
+ msgstr ""
+
+-#: config/m68k/m68k.opt:152
+-msgid "Generate pc-relative code"
++#: config/frv/frv.opt:199
++msgid "Allow branches to be packed with other instructions"
+ msgstr ""
+
+-#: config/m68k/m68k.opt:156
+-msgid "Use different calling convention using 'rtd'"
++#: config/i386/cygming.opt:23
++msgid "Create console application"
+ msgstr ""
+
+-#: config/m68k/m68k.opt:160 config/bfin/bfin.opt:61
+-msgid "Enable separate data segment"
++#: config/i386/cygming.opt:27
++msgid "Use the Cygwin interface"
+ msgstr ""
+
+-#: config/m68k/m68k.opt:164 config/bfin/bfin.opt:57
+-msgid "ID of shared library to build"
++#: config/i386/cygming.opt:31
++msgid "Generate code for a DLL"
+ msgstr ""
+
+-#: config/m68k/m68k.opt:168
+-msgid "Consider type 'int' to be 16 bits wide"
++#: config/i386/cygming.opt:35
++msgid "Ignore dllimport for functions"
+ msgstr ""
+
+-#: config/m68k/m68k.opt:172
+-msgid "Generate code with library calls for floating point"
++#: config/i386/cygming.opt:39
++msgid "Use Mingw-specific thread support"
+ msgstr ""
+
+-#: config/m68k/m68k.opt:176
+-msgid "Do not use unaligned memory references"
++#: config/i386/cygming.opt:43
++msgid "Set Windows defines"
+ msgstr ""
+
+-#: config/m68k/m68k.opt:180
+-#, fuzzy
+-msgid "Tune for the specified target CPU or architecture"
+-msgstr "er kan geen alignment opgegeven worden voor %qs"
+-
+-#: config/m68k/ieee.opt:24 config/i386/i386.opt:95
+-msgid "Use IEEE math for fp comparisons"
++#: config/i386/cygming.opt:47
++msgid "Create GUI application"
+ msgstr ""
+
+-#: config/i386/djgpp.opt:25
+-msgid "Ignored (obsolete)"
+-msgstr ""
+-
+ #: config/i386/i386.opt:23
+ msgid "sizeof(long double) is 16"
+ msgstr ""
+@@ -12550,25 +12240,25 @@
+ msgstr ""
+
+ #: config/i386/i386.opt:43
+-#, fuzzy
+ msgid "Function starts are aligned to this power of 2"
+-msgstr "gevraagd alignment is geen macht van 2"
++msgstr "Startadressen van functies worden uiteglijnd op deze macht van 2"
+
+ #: config/i386/i386.opt:47
+-#, fuzzy
+ msgid "Jump targets are aligned to this power of 2"
+-msgstr "gevraagd alignment is geen macht van 2"
++msgstr "Doeladressen van jumps worden uiteglijnd op deze macht van 2"
+
+ #: config/i386/i386.opt:51
+-#, fuzzy
+ msgid "Loop code aligned to this power of 2"
+-msgstr "gevraagd alignment is geen macht van 2"
++msgstr "Luscode wordt uiteglijnd op deze macht van 2"
+
+ #: config/i386/i386.opt:55
+-#, fuzzy
+ msgid "Align destination of the string operations"
+-msgstr "ISO C staat het testen van asserties niet toe"
++msgstr ""
+
++#: config/i386/i386.opt:59 config/spu/spu.opt:60 config/s390/s390.opt:31
++msgid "Generate code for given CPU"
++msgstr ""
++
+ #: config/i386/i386.opt:63
+ msgid "Use given assembler dialect"
+ msgstr ""
+@@ -12597,6 +12287,10 @@
+ msgid "Generate floating point mathematics using given instruction set"
+ msgstr ""
+
++#: config/i386/i386.opt:95 config/m68k/ieee.opt:24
++msgid "Use IEEE math for fp comparisons"
++msgstr ""
++
+ #: config/i386/i386.opt:99
+ msgid "Inline all known string operations"
+ msgstr ""
+@@ -12634,9 +12328,8 @@
+ msgstr ""
+
+ #: config/i386/i386.opt:151
+-#, fuzzy
+ msgid "Alternate calling convention"
+-msgstr "Onbeëindigde stringconstante"
++msgstr ""
+
+ #: config/i386/i386.opt:159
+ msgid "Use SSE register passing conventions for SF and DF mode"
+@@ -12758,58 +12451,401 @@
+ msgid "Enable automatic generation of fused floating point multiply-add instructions"
+ msgstr "ongeldig gebruik van %<restrict%>"
+
+-#: config/i386/cygming.opt:23
+-msgid "Create console application"
++#: config/i386/sco5.opt:24
++msgid "Generate ELF output"
+ msgstr ""
+
+-#: config/i386/cygming.opt:27
+-msgid "Use the Cygwin interface"
++#: config/i386/djgpp.opt:25
++msgid "Ignored (obsolete)"
+ msgstr ""
+
+-#: config/i386/cygming.opt:31
+-msgid "Generate code for a DLL"
++#: config/iq2000/iq2000.opt:23 config/mt/mt.opt:55
++msgid "Specify CPU for code generation purposes"
+ msgstr ""
+
+-#: config/i386/cygming.opt:35
+-msgid "Ignore dllimport for functions"
++#: config/iq2000/iq2000.opt:27
++msgid "Specify CPU for scheduling purposes"
+ msgstr ""
+
+-#: config/i386/cygming.opt:39
+-msgid "Use Mingw-specific thread support"
++#: config/iq2000/iq2000.opt:31 config/mips/mips.opt:97
++msgid "Use ROM instead of RAM"
+ msgstr ""
+
+-#: config/i386/cygming.opt:43
+-msgid "Set Windows defines"
++#: config/iq2000/iq2000.opt:35
++msgid "Use GP relative sdata/sbss sections"
+ msgstr ""
+
+-#: config/i386/cygming.opt:47
+-msgid "Create GUI application"
++#: config/iq2000/iq2000.opt:40
++msgid "No default crt0.o"
+ msgstr ""
+
+-#: config/i386/sco5.opt:24
+-msgid "Generate ELF output"
++#: config/iq2000/iq2000.opt:44 config/mips/mips.opt:265
++msgid "Put uninitialized constants in ROM (needs -membedded-data)"
+ msgstr ""
+
+-#: config/rs6000/aix41.opt:24 config/rs6000/aix64.opt:32
+-msgid "Support message passing with the Parallel Environment"
++#: config/arm/arm.opt:23
++msgid "Specify an ABI"
+ msgstr ""
+
+-#: config/rs6000/aix.opt:24 config/rs6000/rs6000.opt:147
+-msgid "Conform more closely to IBM XLC semantics"
++#: config/arm/arm.opt:27
++msgid "Generate a call to abort if a noreturn function returns"
+ msgstr ""
+
+-#: config/rs6000/darwin.opt:24 config/rs6000/sysv4.opt:132
++#: config/arm/arm.opt:34
++msgid "Pass FP arguments in FP registers"
++msgstr ""
++
++#: config/arm/arm.opt:38
++msgid "Generate APCS conformant stack frames"
++msgstr ""
++
++#: config/arm/arm.opt:42
++msgid "Generate re-entrant, PIC code"
++msgstr ""
++
++#: config/arm/arm.opt:49 config/m68k/m68k.opt:96 config/score/score.opt:63
++msgid "Specify the name of the target architecture"
++msgstr ""
++
++#: config/arm/arm.opt:56
++msgid "Assume target CPU is configured as big endian"
++msgstr ""
++
++#: config/arm/arm.opt:60
++msgid "Thumb: Assume non-static functions may be called from ARM code"
++msgstr ""
++
++#: config/arm/arm.opt:64
++msgid "Thumb: Assume function pointers may go to non-Thumb aware code"
++msgstr ""
++
++#: config/arm/arm.opt:68
++msgid "Cirrus: Place NOPs to avoid invalid instruction combinations"
++msgstr ""
++
++#: config/arm/arm.opt:72 config/bfin/bfin.opt:27
++msgid "Specify the name of the target CPU"
++msgstr ""
++
++#: config/arm/arm.opt:76
++msgid "Specify if floating point hardware should be used"
++msgstr ""
++
++# is niet helemaal exact, maar moet er maar voor doen
++#: config/arm/arm.opt:90
++msgid "Specify the name of the target floating point hardware/format"
++msgstr "Geef de naam op van hardware/formaat voor floating-point getallen op het doelplatform"
++
++#: config/arm/arm.opt:94
++msgid "Alias for -mfloat-abi=hard"
++msgstr ""
++
++#: config/arm/arm.opt:98
++msgid "Assume target CPU is configured as little endian"
++msgstr ""
++
++#: config/arm/arm.opt:102
++msgid "Generate call insns as indirect calls, if necessary"
++msgstr ""
++
++#: config/arm/arm.opt:106
++msgid "Specify the register to be used for PIC addressing"
++msgstr "Geef het register op dat voor PIC-adressering gebruikt moet worden"
++
++#: config/arm/arm.opt:110
++msgid "Store function names in object code"
++msgstr "Sla functienamen op in objectcode"
++
++#: config/arm/arm.opt:114
++msgid "Permit scheduling of a function's prologue sequence"
++msgstr ""
++
++#: config/arm/arm.opt:118
++msgid "Do not load the PIC register in function prologues"
++msgstr ""
++
++#: config/arm/arm.opt:122
++msgid "Alias for -mfloat-abi=soft"
++msgstr ""
++
++#: config/arm/arm.opt:126
++msgid "Specify the minimum bit alignment of structures"
++msgstr ""
++
++#: config/arm/arm.opt:130
++msgid "Compile for the Thumb not the ARM"
++msgstr ""
++
++#: config/arm/arm.opt:134
++msgid "Support calls between Thumb and ARM instruction sets"
++msgstr ""
++
++#: config/arm/arm.opt:138
++msgid "Specify how to access the thread pointer"
++msgstr ""
++
++#: config/arm/arm.opt:142
++msgid "Thumb: Generate (non-leaf) stack frames even if not needed"
++msgstr ""
++
++#: config/arm/arm.opt:146
++msgid "Thumb: Generate (leaf) stack frames even if not needed"
++msgstr ""
++
++#: config/arm/arm.opt:150
++msgid "Tune code for the given processor"
++msgstr ""
++
++#: config/arm/arm.opt:154
++msgid "Assume big endian bytes, little endian words"
++msgstr ""
++
++#: config/arm/arm.opt:158
++msgid "Use Neon quad-word (rather than double-word) registers for vectorization"
++msgstr ""
++
++#: config/arm/pe.opt:23
++msgid "Ignore dllimport attribute for functions"
++msgstr ""
++
++#: config/cris/linux.opt:27
++msgid "Together with -fpic and -fPIC, do not use GOTPLT references"
++msgstr ""
++
++#: config/cris/aout.opt:27
++msgid "Compile for the MMU-less Etrax 100-based elinux system"
++msgstr ""
++
++#: config/cris/aout.opt:33
++msgid "For elinux, request a specified stack-size for this program"
++msgstr ""
++
++#: config/cris/cris.opt:45
++msgid "Work around bug in multiplication instruction"
++msgstr ""
++
++#: config/cris/cris.opt:51
++msgid "Compile for ETRAX 4 (CRIS v3)"
++msgstr ""
++
++#: config/cris/cris.opt:56
++msgid "Compile for ETRAX 100 (CRIS v8)"
++msgstr ""
++
++#: config/cris/cris.opt:64
++msgid "Emit verbose debug information in assembly code"
++msgstr ""
++
++#: config/cris/cris.opt:71
++msgid "Do not use condition codes from normal instructions"
++msgstr ""
++
++#: config/cris/cris.opt:80
++msgid "Do not emit addressing modes with side-effect assignment"
++msgstr ""
++
++#: config/cris/cris.opt:89
++msgid "Do not tune stack alignment"
++msgstr ""
++
++#: config/cris/cris.opt:98
++msgid "Do not tune writable data alignment"
++msgstr ""
++
++#: config/cris/cris.opt:107
++msgid "Do not tune code and read-only data alignment"
++msgstr ""
++
++#: config/cris/cris.opt:116
++msgid "Align code and data to 32 bits"
++msgstr ""
++
++#: config/cris/cris.opt:133
++msgid "Don't align items in code or data"
++msgstr ""
++
++#: config/cris/cris.opt:142
++msgid "Do not emit function prologue or epilogue"
++msgstr ""
++
++#: config/cris/cris.opt:149
++msgid "Use the most feature-enabling options allowed by other options"
++msgstr ""
++
++#: config/cris/cris.opt:158
++msgid "Override -mbest-lib-options"
++msgstr ""
++
++#: config/cris/cris.opt:165
++msgid "Generate code for the specified chip or CPU version"
++msgstr ""
++
++#: config/cris/cris.opt:169
++#, fuzzy
++msgid "Tune alignment for the specified chip or CPU version"
++msgstr "er kan geen alignment opgegeven worden voor %qs"
++
++#: config/cris/cris.opt:173
++msgid "Warn when a stackframe is larger than the specified size"
++msgstr ""
++
++#: config/avr/avr.opt:23
++msgid "Use subroutines for function prologues and epilogues"
++msgstr ""
++
++#: config/avr/avr.opt:27
++msgid "Select the target MCU"
++msgstr ""
++
++#: config/avr/avr.opt:34
++msgid "Use an 8-bit 'int' type"
++msgstr ""
++
++#: config/avr/avr.opt:38
++msgid "Change the stack pointer without disabling interrupts"
++msgstr ""
++
++#: config/avr/avr.opt:42
++msgid "Do not generate tablejump insns"
++msgstr ""
++
++#: config/avr/avr.opt:52
++msgid "Use rjmp/rcall (limited range) on >8K devices"
++msgstr ""
++
++#: config/avr/avr.opt:56
++msgid "Output instruction sizes to the asm file"
++msgstr ""
++
++#: config/avr/avr.opt:60
++msgid "Change only the low 8 bits of the stack pointer"
++msgstr ""
++
++#: config/avr/avr.opt:64
++#, fuzzy
++msgid "Relax branches"
++msgstr "Geen aftakkingen\n"
++
++#: config/avr/avr.opt:68
++msgid "Make the linker relaxation machine assume that a program counter wrap-around occures."
++msgstr ""
++
++#: config/linux.opt:24
++msgid "Use uClibc instead of GNU libc"
++msgstr ""
++
++#: config/linux.opt:28
++msgid "Use GNU libc instead of uClibc"
++msgstr ""
++
++#: config/rs6000/sysv4.opt:24
++msgid "Select ABI calling convention"
++msgstr ""
++
++#: config/rs6000/sysv4.opt:28
++msgid "Select method for sdata handling"
++msgstr ""
++
++#: config/rs6000/sysv4.opt:36 config/rs6000/sysv4.opt:40
++#, fuzzy
++msgid "Align to the base type of the bit-field"
++msgstr "%<__alignof%> toegepast op bitveld"
++
++#: config/rs6000/sysv4.opt:45 config/rs6000/sysv4.opt:49
++msgid "Produce code relocatable at runtime"
++msgstr ""
++
++#: config/rs6000/sysv4.opt:53 config/rs6000/sysv4.opt:57
++msgid "Produce little endian code"
++msgstr ""
++
++#: config/rs6000/sysv4.opt:61 config/rs6000/sysv4.opt:65
++msgid "Produce big endian code"
++msgstr ""
++
++#: config/rs6000/sysv4.opt:70 config/rs6000/sysv4.opt:74
++#: config/rs6000/sysv4.opt:83 config/rs6000/sysv4.opt:100
++#: config/rs6000/sysv4.opt:128 config/rs6000/sysv4.opt:140
++msgid "no description yet"
++msgstr ""
++
++#: config/rs6000/sysv4.opt:78
++msgid "Assume all variable arg functions are prototyped"
++msgstr ""
++
++#: config/rs6000/sysv4.opt:87
++msgid "Use EABI"
++msgstr ""
++
++#: config/rs6000/sysv4.opt:91
++msgid "Allow bit-fields to cross word boundaries"
++msgstr ""
++
++#: config/rs6000/sysv4.opt:95
++msgid "Use alternate register names"
++msgstr ""
++
++#: config/rs6000/sysv4.opt:104
++msgid "Link with libsim.a, libc.a and sim-crt0.o"
++msgstr ""
++
++#: config/rs6000/sysv4.opt:108
++msgid "Link with libads.a, libc.a and crt0.o"
++msgstr ""
++
++#: config/rs6000/sysv4.opt:112
++msgid "Link with libyk.a, libc.a and crt0.o"
++msgstr ""
++
++#: config/rs6000/sysv4.opt:116
++msgid "Link with libmvme.a, libc.a and crt0.o"
++msgstr ""
++
++#: config/rs6000/sysv4.opt:120
++msgid "Set the PPC_EMB bit in the ELF flags header"
++msgstr ""
++
++#: config/rs6000/sysv4.opt:124
++msgid "Use the WindISS simulator"
++msgstr ""
++
++#: config/rs6000/sysv4.opt:132 config/rs6000/darwin.opt:24
+ msgid "Generate 64-bit code"
+ msgstr ""
+
+-#: config/rs6000/darwin.opt:28 config/rs6000/sysv4.opt:136
++#: config/rs6000/sysv4.opt:136 config/rs6000/darwin.opt:28
+ msgid "Generate 32-bit code"
+ msgstr ""
+
++#: config/rs6000/sysv4.opt:144
++msgid "Generate code to use a non-exec PLT and GOT"
++msgstr ""
++
++#: config/rs6000/sysv4.opt:148
++#, fuzzy
++msgid "Generate code for old exec BSS PLT"
++msgstr "case-label niet in een switch-statement"
++
++#: config/rs6000/linux64.opt:24
++msgid "Call mcount for profiling before a function prologue"
++msgstr ""
++
+ #: config/rs6000/darwin.opt:32
+ msgid "Generate code suitable for executables (NOT shared libs)"
+ msgstr ""
+
++#: config/rs6000/aix64.opt:24
++msgid "Compile for 64-bit pointers"
++msgstr ""
++
++#: config/rs6000/aix64.opt:28
++msgid "Compile for 32-bit pointers"
++msgstr ""
++
++#: config/rs6000/aix64.opt:32 config/rs6000/aix41.opt:24
++msgid "Support message passing with the Parallel Environment"
++msgstr ""
++
+ #: config/rs6000/rs6000.opt:24
+ msgid "Use POWER instruction set"
+ msgstr ""
+@@ -12935,6 +12971,10 @@
+ msgid "Return small structures in registers (SVR4 default)"
+ msgstr ""
+
++#: config/rs6000/rs6000.opt:147 config/rs6000/aix.opt:24
++msgid "Conform more closely to IBM XLC semantics"
++msgstr ""
++
+ #: config/rs6000/rs6000.opt:151
+ msgid "Generate software reciprocal sqrt for better throughput"
+ msgstr ""
+@@ -13004,6 +13044,10 @@
+ msgid "Specify ABI to use"
+ msgstr ""
+
++#: config/rs6000/rs6000.opt:222 config/sparc/sparc.opt:91
++msgid "Use features of and schedule code for given CPU"
++msgstr ""
++
+ #: config/rs6000/rs6000.opt:230
+ msgid "Select full, part, or no traceback table"
+ msgstr ""
+@@ -13040,98 +13084,76 @@
+ msgid "Specify scheduling priority for dispatch slot restricted insns"
+ msgstr ""
+
+-#: config/rs6000/aix64.opt:24
+-msgid "Compile for 64-bit pointers"
+-msgstr ""
++#: config/v850/v850.opt:23
++msgid "Use registers r2 and r5"
++msgstr "Gebruik registers r2 en r5"
+
+-#: config/rs6000/aix64.opt:28
+-msgid "Compile for 32-bit pointers"
++#: config/v850/v850.opt:27
++msgid "Use 4 byte entries in switch tables"
+ msgstr ""
+
+-#: config/rs6000/linux64.opt:24
+-msgid "Call mcount for profiling before a function prologue"
++#: config/v850/v850.opt:31
++msgid "Enable backend debugging"
+ msgstr ""
+
+-#: config/rs6000/sysv4.opt:24
+-msgid "Select ABI calling convention"
+-msgstr ""
+-
+-#: config/rs6000/sysv4.opt:28
+-msgid "Select method for sdata handling"
+-msgstr ""
+-
+-#: config/rs6000/sysv4.opt:36 config/rs6000/sysv4.opt:40
++#: config/v850/v850.opt:35
+ #, fuzzy
+-msgid "Align to the base type of the bit-field"
+-msgstr "%<__alignof%> toegepast op bitveld"
++msgid "Do not use the callt instruction"
++msgstr "ongeldig gebruik van %<restrict%>"
+
+-#: config/rs6000/sysv4.opt:45 config/rs6000/sysv4.opt:49
+-msgid "Produce code relocatable at runtime"
++#: config/v850/v850.opt:39
++msgid "Reuse r30 on a per function basis"
+ msgstr ""
+
+-#: config/rs6000/sysv4.opt:53 config/rs6000/sysv4.opt:57
+-msgid "Produce little endian code"
++#: config/v850/v850.opt:43
++msgid "Support Green Hills ABI"
+ msgstr ""
+
+-#: config/rs6000/sysv4.opt:61 config/rs6000/sysv4.opt:65
+-msgid "Produce big endian code"
++#: config/v850/v850.opt:47
++msgid "Prohibit PC relative function calls"
+ msgstr ""
+
+-#: config/rs6000/sysv4.opt:70 config/rs6000/sysv4.opt:74
+-#: config/rs6000/sysv4.opt:83 config/rs6000/sysv4.opt:100
+-#: config/rs6000/sysv4.opt:128 config/rs6000/sysv4.opt:140
+-msgid "no description yet"
++#: config/v850/v850.opt:51
++msgid "Use stubs for function prologues"
+ msgstr ""
+
+-#: config/rs6000/sysv4.opt:78
+-msgid "Assume all variable arg functions are prototyped"
++#: config/v850/v850.opt:55
++msgid "Set the max size of data eligible for the SDA area"
+ msgstr ""
+
+-#: config/rs6000/sysv4.opt:87
+-msgid "Use EABI"
+-msgstr ""
++#: config/v850/v850.opt:59
++#, fuzzy
++msgid "Enable the use of the short load instructions"
++msgstr "ongeldig gebruik van %<restrict%>"
+
+-#: config/rs6000/sysv4.opt:91
+-msgid "Allow bit-fields to cross word boundaries"
++#: config/v850/v850.opt:63
++msgid "Same as: -mep -mprolog-function"
+ msgstr ""
+
+-#: config/rs6000/sysv4.opt:95
+-msgid "Use alternate register names"
++#: config/v850/v850.opt:67
++msgid "Set the max size of data eligible for the TDA area"
+ msgstr ""
+
+-#: config/rs6000/sysv4.opt:104
+-msgid "Link with libsim.a, libc.a and sim-crt0.o"
++#: config/v850/v850.opt:71
++msgid "Enforce strict alignment"
+ msgstr ""
+
+-#: config/rs6000/sysv4.opt:108
+-msgid "Link with libads.a, libc.a and crt0.o"
++#: config/v850/v850.opt:78
++msgid "Compile for the v850 processor"
+ msgstr ""
+
+-#: config/rs6000/sysv4.opt:112
+-msgid "Link with libyk.a, libc.a and crt0.o"
++#: config/v850/v850.opt:82
++msgid "Compile for the v850e processor"
+ msgstr ""
+
+-#: config/rs6000/sysv4.opt:116
+-msgid "Link with libmvme.a, libc.a and crt0.o"
++#: config/v850/v850.opt:86
++msgid "Compile for the v850e1 processor"
+ msgstr ""
+
+-#: config/rs6000/sysv4.opt:120
+-msgid "Set the PPC_EMB bit in the ELF flags header"
++#: config/v850/v850.opt:90
++msgid "Set the max size of data eligible for the ZDA area"
+ msgstr ""
+
+-#: config/rs6000/sysv4.opt:124
+-msgid "Use the WindISS simulator"
+-msgstr ""
+-
+-#: config/rs6000/sysv4.opt:144
+-msgid "Generate code to use a non-exec PLT and GOT"
+-msgstr ""
+-
+-#: config/rs6000/sysv4.opt:148
+-#, fuzzy
+-msgid "Generate code for old exec BSS PLT"
+-msgstr "case-label niet in een switch-statement"
+-
+ #: config/spu/spu.opt:20
+ msgid "Emit warnings when run-time relocations are generated"
+ msgstr ""
+@@ -13171,522 +13193,317 @@
+ msgid "Generate code for 32 bit addressing"
+ msgstr "case-label niet in een switch-statement"
+
+-#: config/mcore/mcore.opt:23
+-#, fuzzy
+-msgid "Generate code for the M*Core M210"
+-msgstr "case-label niet in een switch-statement"
+-
+-#: config/mcore/mcore.opt:27
+-msgid "Generate code for the M*Core M340"
++#: config/vax/vax.opt:23 config/vax/vax.opt:27
++msgid "Target DFLOAT double precision code"
+ msgstr ""
+
+-#: config/mcore/mcore.opt:31
+-msgid "Set maximum alignment to 4"
++#: config/vax/vax.opt:31 config/vax/vax.opt:35
++msgid "Generate GFLOAT double precision code"
+ msgstr ""
+
+-#: config/mcore/mcore.opt:35
+-msgid "Force functions to be aligned to a 4 byte boundary"
+-msgstr ""
++#: config/vax/vax.opt:39
++#, fuzzy
++msgid "Generate code for GNU assembler (gas)"
++msgstr "case-label niet in een switch-statement"
+
+-#: config/mcore/mcore.opt:39
+-msgid "Set maximum alignment to 8"
+-msgstr ""
+-
+-#: config/mcore/mcore.opt:43 config/score/score.opt:23
++#: config/vax/vax.opt:43
+ #, fuzzy
+-msgid "Generate big-endian code"
+-msgstr "incompatibele record-modus"
++msgid "Generate code for UNIX assembler"
++msgstr "case-label niet in een switch-statement"
+
+-#: config/mcore/mcore.opt:47
+-msgid "Emit call graph information"
+-msgstr ""
+-
+-#: config/mcore/mcore.opt:51
++#: config/vax/vax.opt:47
+ #, fuzzy
+-msgid "Use the divide instruction"
+-msgstr "ongeldig gebruik van %<restrict%>"
++msgid "Use VAXC structure conventions"
++msgstr "Onbeëindigde stringconstante"
+
+-#: config/mcore/mcore.opt:55
+-msgid "Inline constants if it can be done in 2 insns or less"
++#: config/lynx.opt:23
++msgid "Support legacy multi-threading"
+ msgstr ""
+
+-#: config/mcore/mcore.opt:59 config/score/score.opt:27
+-#, fuzzy
+-msgid "Generate little-endian code"
+-msgstr "incompatibele record-modus"
+-
+-#: config/mcore/mcore.opt:67
+-msgid "Use arbitrary sized immediates in bit operations"
++#: config/lynx.opt:27
++msgid "Use shared libraries"
+ msgstr ""
+
+-#: config/mcore/mcore.opt:71
+-msgid "Prefer word accesses over byte accesses"
++#: config/lynx.opt:31
++msgid "Support multi-threading"
+ msgstr ""
+
+-#: config/mcore/mcore.opt:75
+-msgid "Set the maximum amount for a single stack increment operation"
++#: config/stormy16/stormy16.opt:24
++msgid "Provide libraries for the simulator"
+ msgstr ""
+
+-#: config/mcore/mcore.opt:79
+-msgid "Always treat bitfields as int-sized"
++#: config/h8300/h8300.opt:23
++msgid "Generate H8S code"
+ msgstr ""
+
+-#: config/arc/arc.opt:32
+-msgid "Prepend the name of the cpu to all public symbol names"
++#: config/h8300/h8300.opt:27
++msgid "Generate H8SX code"
+ msgstr ""
+
+-#: config/arc/arc.opt:42
+-msgid "Compile code for ARC variant CPU"
++#: config/h8300/h8300.opt:31
++msgid "Generate H8S/2600 code"
+ msgstr ""
+
+-#: config/arc/arc.opt:46
+-msgid "Put functions in SECTION"
++#: config/h8300/h8300.opt:35
++msgid "Make integers 32 bits wide"
+ msgstr ""
+
+-#: config/arc/arc.opt:50
+-msgid "Put data in SECTION"
++#: config/h8300/h8300.opt:42
++msgid "Use registers for argument passing"
+ msgstr ""
+
+-#: config/arc/arc.opt:54
+-msgid "Put read-only data in SECTION"
++#: config/h8300/h8300.opt:46
++msgid "Consider access to byte sized memory slow"
+ msgstr ""
+
+-#: config/sh/sh.opt:44
+-#, fuzzy
+-msgid "Generate SH1 code"
+-msgstr "incompatibele record-modus"
+-
+-#: config/sh/sh.opt:48
+-#, fuzzy
+-msgid "Generate SH2 code"
+-msgstr "incompatibele record-modus"
+-
+-#: config/sh/sh.opt:52
+-#, fuzzy
+-msgid "Generate SH2a code"
+-msgstr "incompatibele record-modus"
+-
+-#: config/sh/sh.opt:56
+-#, fuzzy
+-msgid "Generate SH2a FPU-less code"
+-msgstr "incompatibele record-modus"
+-
+-#: config/sh/sh.opt:60
+-msgid "Generate default single-precision SH2a code"
++#: config/h8300/h8300.opt:50
++msgid "Enable linker relaxing"
+ msgstr ""
+
+-#: config/sh/sh.opt:64
+-msgid "Generate only single-precision SH2a code"
++#: config/h8300/h8300.opt:54
++msgid "Generate H8/300H code"
+ msgstr ""
+
+-#: config/sh/sh.opt:68
++#: config/h8300/h8300.opt:58
+ #, fuzzy
+-msgid "Generate SH2e code"
++msgid "Enable the normal mode"
+ msgstr "incompatibele record-modus"
+
+-#: config/sh/sh.opt:72
+-#, fuzzy
+-msgid "Generate SH3 code"
+-msgstr "incompatibele record-modus"
+-
+-#: config/sh/sh.opt:76
+-#, fuzzy
+-msgid "Generate SH3e code"
+-msgstr "incompatibele record-modus"
+-
+-#: config/sh/sh.opt:80
+-#, fuzzy
+-msgid "Generate SH4 code"
+-msgstr "incompatibele record-modus"
+-
+-#: config/sh/sh.opt:84
+-#, fuzzy
+-msgid "Generate SH4-100 code"
+-msgstr "incompatibele record-modus"
+-
+-#: config/sh/sh.opt:88
+-#, fuzzy
+-msgid "Generate SH4-200 code"
+-msgstr "incompatibele record-modus"
+-
+-#: config/sh/sh.opt:94
+-#, fuzzy
+-msgid "Generate SH4-300 code"
+-msgstr "incompatibele record-modus"
+-
+-#: config/sh/sh.opt:98
+-#, fuzzy
+-msgid "Generate SH4 FPU-less code"
+-msgstr "incompatibele record-modus"
+-
+-#: config/sh/sh.opt:102
+-#, fuzzy
+-msgid "Generate SH4-100 FPU-less code"
+-msgstr "incompatibele record-modus"
+-
+-#: config/sh/sh.opt:106
+-#, fuzzy
+-msgid "Generate SH4-200 FPU-less code"
+-msgstr "incompatibele record-modus"
+-
+-#: config/sh/sh.opt:110
+-#, fuzzy
+-msgid "Generate SH4-300 FPU-less code"
+-msgstr "incompatibele record-modus"
+-
+-#: config/sh/sh.opt:114
+-#, fuzzy
+-msgid "Generate code for SH4 340 series (MMU/FPU-less)"
+-msgstr "case-label niet in een switch-statement"
+-
+-#: config/sh/sh.opt:119
+-#, fuzzy
+-msgid "Generate code for SH4 400 series (MMU/FPU-less)"
+-msgstr "case-label niet in een switch-statement"
+-
+-#: config/sh/sh.opt:124
+-#, fuzzy
+-msgid "Generate code for SH4 500 series (FPU-less)."
+-msgstr "case-label niet in een switch-statement"
+-
+-#: config/sh/sh.opt:129
+-msgid "Generate default single-precision SH4 code"
++#: config/h8300/h8300.opt:62
++msgid "Use H8/300 alignment rules"
+ msgstr ""
+
+-#: config/sh/sh.opt:133
+-#, fuzzy
+-msgid "Generate default single-precision SH4-100 code"
+-msgstr "incompatibele record-modus"
+-
+-#: config/sh/sh.opt:137
+-#, fuzzy
+-msgid "Generate default single-precision SH4-200 code"
+-msgstr "incompatibele record-modus"
+-
+-#: config/sh/sh.opt:141
+-#, fuzzy
+-msgid "Generate default single-precision SH4-300 code"
+-msgstr "incompatibele record-modus"
+-
+-#: config/sh/sh.opt:145
+-msgid "Generate only single-precision SH4 code"
++#: config/s390/s390.opt:23
++msgid "31 bit ABI"
+ msgstr ""
+
+-#: config/sh/sh.opt:149
+-#, fuzzy
+-msgid "Generate only single-precision SH4-100 code"
+-msgstr "incompatibele record-modus"
+-
+-#: config/sh/sh.opt:153
+-#, fuzzy
+-msgid "Generate only single-precision SH4-200 code"
+-msgstr "incompatibele record-modus"
+-
+-#: config/sh/sh.opt:157
+-#, fuzzy
+-msgid "Generate only single-precision SH4-300 code"
+-msgstr "incompatibele record-modus"
+-
+-#: config/sh/sh.opt:161
+-#, fuzzy
+-msgid "Generate SH4a code"
+-msgstr "incompatibele record-modus"
+-
+-#: config/sh/sh.opt:165
+-#, fuzzy
+-msgid "Generate SH4a FPU-less code"
+-msgstr "incompatibele record-modus"
+-
+-#: config/sh/sh.opt:169
+-msgid "Generate default single-precision SH4a code"
++#: config/s390/s390.opt:27
++msgid "64 bit ABI"
+ msgstr ""
+
+-#: config/sh/sh.opt:173
+-msgid "Generate only single-precision SH4a code"
++#: config/s390/s390.opt:35
++msgid "Maintain backchain pointer"
+ msgstr ""
+
+-#: config/sh/sh.opt:177
+-#, fuzzy
+-msgid "Generate SH4al-dsp code"
+-msgstr "incompatibele record-modus"
+-
+-#: config/sh/sh.opt:181
+-#, fuzzy
+-msgid "Generate 32-bit SHmedia code"
+-msgstr "incompatibele record-modus"
+-
+-#: config/sh/sh.opt:185
+-msgid "Generate 32-bit FPU-less SHmedia code"
++#: config/s390/s390.opt:39
++msgid "Additional debug prints"
+ msgstr ""
+
+-#: config/sh/sh.opt:189
+-#, fuzzy
+-msgid "Generate 64-bit SHmedia code"
+-msgstr "incompatibele record-modus"
+-
+-#: config/sh/sh.opt:193
+-msgid "Generate 64-bit FPU-less SHmedia code"
++#: config/s390/s390.opt:43
++msgid "ESA/390 architecture"
+ msgstr ""
+
+-#: config/sh/sh.opt:197
++#: config/s390/s390.opt:47
+ #, fuzzy
+-msgid "Generate SHcompact code"
+-msgstr "incompatibele record-modus"
++msgid "Enable fused multiply/add instructions"
++msgstr "ongeldig gebruik van %<restrict%>"
+
+-#: config/sh/sh.opt:201
+-msgid "Generate FPU-less SHcompact code"
+-msgstr ""
+-
+-#: config/sh/sh.opt:205
+-msgid "Throttle unrolling to avoid thrashing target registers unless the unroll benefit outweighs this"
+-msgstr ""
+-
+-#: config/sh/sh.opt:209
++# is niet helemaal exact, maar moet er maar voor doen
++#: config/s390/s390.opt:51
+ #, fuzzy
+-msgid "Generate code in big endian mode"
+-msgstr "case-label niet in een switch-statement"
++msgid "Enable decimal floating point hardware support"
++msgstr "Geef de naam op van hardware/formaat voor floating-point getallen op het doelplatform"
+
+-#: config/sh/sh.opt:213
++#: config/s390/s390.opt:55
+ #, fuzzy
+-msgid "Generate 32-bit offsets in switch tables"
+-msgstr "case-label niet in een switch-statement"
++msgid "Enable hardware floating point"
++msgstr "lege declaratie"
+
+-#: config/sh/sh.opt:217
+-msgid "Cost to assume for a branch insn"
++#: config/s390/s390.opt:67
++msgid "Use packed stack layout"
+ msgstr ""
+
+-#: config/sh/sh.opt:221
+-msgid "Enable cbranchdi4 pattern"
++#: config/s390/s390.opt:71
++msgid "Use bras for executable < 64k"
+ msgstr ""
+
+-#: config/sh/sh.opt:225
+-msgid "Expand cbranchdi4 pattern early into separate comparisons and branches."
++#: config/s390/s390.opt:75
++msgid "Disable hardware floating point"
+ msgstr ""
+
+-#: config/sh/sh.opt:229
+-msgid "Emit cmpeqdi_t pattern even when -mcbranchdi and -mexpand-cbranchdi are in effect."
++#: config/s390/s390.opt:79
++msgid "Set the max. number of bytes which has to be left to stack size before a trap instruction is triggered"
+ msgstr ""
+
+-#: config/sh/sh.opt:233
+-msgid "Enable SH5 cut2 workaround"
++#: config/s390/s390.opt:83
++msgid "Emit extra code in the function prologue in order to trap if the stack size exceeds the given limit"
+ msgstr ""
+
+-#: config/sh/sh.opt:237
+-msgid "Align doubles at 64-bit boundaries"
++#: config/s390/s390.opt:91
++msgid "mvcle use"
+ msgstr ""
+
+-#: config/sh/sh.opt:241
+-msgid "Division strategy, one of: call, call2, fp, inv, inv:minlat, inv20u, inv20l, inv:call, inv:call2, inv:fp, call-div1, call-fp, call-table"
++#: config/s390/s390.opt:95
++msgid "Warn if a function uses alloca or creates an array with dynamic size"
+ msgstr ""
+
+-#: config/sh/sh.opt:245
+-msgid "Specify name for 32 bit signed division function"
++#: config/s390/s390.opt:99
++msgid "Warn if a single function's framesize exceeds the given framesize"
+ msgstr ""
+
+-#: config/sh/sh.opt:252
+-#, fuzzy
+-msgid "Enable the use of the fused floating point multiply-accumulate operation"
+-msgstr "ongeldig gebruik van %<restrict%>"
+-
+-#: config/sh/sh.opt:256
+-msgid "Cost to assume for gettr insn"
++#: config/s390/s390.opt:103
++msgid "z/Architecture"
+ msgstr ""
+
+-#: config/sh/sh.opt:260 config/sh/sh.opt:310
+-msgid "Follow Renesas (formerly Hitachi) / SuperH calling conventions"
+-msgstr ""
++#: config/s390/tpf.opt:23
++#, fuzzy
++msgid "Enable TPF-OS tracing code"
++msgstr "incompatibele record-modus"
+
+-#: config/sh/sh.opt:264
+-msgid "Increase the IEEE compliance for floating-point code"
++#: config/s390/tpf.opt:27
++msgid "Specify main object for TPF-OS"
+ msgstr ""
+
+-#: config/sh/sh.opt:268
+-msgid "Enable the use of the indexed addressing mode for SHmedia32/SHcompact"
++#: config/darwin.opt:23
++msgid "Generate code suitable for fast turn around debugging"
+ msgstr ""
+
+-#: config/sh/sh.opt:272
+-msgid "inline code to invalidate instruction cache entries after setting up nested function trampolines"
++#: config/darwin.opt:31
++msgid "The earliest MacOS X version on which this program will run"
+ msgstr ""
+
+-#: config/sh/sh.opt:276
+-msgid "Assume symbols might be invalid"
++#: config/darwin.opt:35
++msgid "Set sizeof(bool) to 1"
+ msgstr ""
+
+-#: config/sh/sh.opt:280
+-msgid "Annotate assembler instructions with estimated addresses"
+-msgstr ""
+-
+-#: config/sh/sh.opt:284
++#: config/darwin.opt:39
+ #, fuzzy
+-msgid "Generate code in little endian mode"
++msgid "Generate code for darwin loadable kernel extensions"
+ msgstr "case-label niet in een switch-statement"
+
+-#: config/sh/sh.opt:288
+-msgid "Mark MAC register as call-clobbered"
++#: config/darwin.opt:43
++msgid "Generate code for the kernel or loadable kernel extensions"
+ msgstr ""
+
+-#: config/sh/sh.opt:294
+-msgid "Make structs a multiple of 4 bytes (warning: ABI altered)"
++#: config/darwin.opt:47
++msgid "Add <dir> to the end of the system framework include path"
+ msgstr ""
+
+-#: config/sh/sh.opt:298
+-msgid "Emit function-calls using global offset table when generating PIC"
++#: config/mn10300/mn10300.opt:23
++msgid "Target the AM33 processor"
+ msgstr ""
+
+-#: config/sh/sh.opt:302
+-#, fuzzy
+-msgid "Assume pt* instructions won't trap"
+-msgstr "floating-point constante buiten bereik"
+-
+-#: config/sh/sh.opt:306
+-msgid "Shorten address references during linking"
++#: config/mn10300/mn10300.opt:27
++msgid "Target the AM33/2.0 processor"
+ msgstr ""
+
+-#: config/sh/sh.opt:314
+-msgid "Deprecated. Use -Os instead"
++#: config/mn10300/mn10300.opt:31
++msgid "Work around hardware multiply bug"
+ msgstr ""
+
+-#: config/sh/sh.opt:318
+-msgid "Cost to assume for a multiply insn"
++#: config/mn10300/mn10300.opt:36
++msgid "Enable linker relaxations"
+ msgstr ""
+
+-#: config/sh/sh.opt:322
+-msgid "Don't generate privileged-mode only code; implies -mno-inline-ic_invalidate if the inline code would not work in user mode."
++#: config/mn10300/mn10300.opt:40
++msgid "Return pointers in both a0 and d0"
+ msgstr ""
+
+-#: config/sh/sh.opt:328
+-msgid "Pretend a branch-around-a-move is a conditional move."
++#: config/m32r/m32r.opt:23
++msgid "Compile for the m32rx"
+ msgstr ""
+
+-#: config/sh/superh.opt:6
+-msgid "Board name [and memory region]."
++#: config/m32r/m32r.opt:27
++msgid "Compile for the m32r2"
+ msgstr ""
+
+-#: config/sh/superh.opt:10
+-msgid "Runtime name."
++#: config/m32r/m32r.opt:31
++msgid "Compile for the m32r"
+ msgstr ""
+
+-#: config/arm/arm.opt:23
+-msgid "Specify an ABI"
++#: config/m32r/m32r.opt:35
++msgid "Align all loops to 32 byte boundary"
+ msgstr ""
+
+-#: config/arm/arm.opt:27
+-msgid "Generate a call to abort if a noreturn function returns"
+-msgstr ""
++#: config/m32r/m32r.opt:39
++#, fuzzy
++msgid "Prefer branches over conditional execution"
++msgstr "types in voorwaardelijke expressie komen niet overeen"
+
+-#: config/arm/arm.opt:34
+-msgid "Pass FP arguments in FP registers"
++#: config/m32r/m32r.opt:43
++msgid "Give branches their default cost"
+ msgstr ""
+
+-#: config/arm/arm.opt:38
+-msgid "Generate APCS conformant stack frames"
++#: config/m32r/m32r.opt:47
++msgid "Display compile time statistics"
+ msgstr ""
+
+-#: config/arm/arm.opt:42
+-msgid "Generate re-entrant, PIC code"
++#: config/m32r/m32r.opt:51
++msgid "Specify cache flush function"
+ msgstr ""
+
+-#: config/arm/arm.opt:56
+-msgid "Assume target CPU is configured as big endian"
++#: config/m32r/m32r.opt:55
++msgid "Specify cache flush trap number"
+ msgstr ""
+
+-#: config/arm/arm.opt:60
+-msgid "Thumb: Assume non-static functions may be called from ARM code"
++#: config/m32r/m32r.opt:59
++msgid "Only issue one instruction per cycle"
+ msgstr ""
+
+-#: config/arm/arm.opt:64
+-msgid "Thumb: Assume function pointers may go to non-Thumb aware code"
++#: config/m32r/m32r.opt:63
++msgid "Allow two instructions to be issued per cycle"
+ msgstr ""
+
+-#: config/arm/arm.opt:68
+-msgid "Cirrus: Place NOPs to avoid invalid instruction combinations"
++#: config/m32r/m32r.opt:67
++msgid "Code size: small, medium or large"
+ msgstr ""
+
+-#: config/arm/arm.opt:72 config/bfin/bfin.opt:27
+-msgid "Specify the name of the target CPU"
++#: config/m32r/m32r.opt:71
++msgid "Don't call any cache flush functions"
+ msgstr ""
+
+-#: config/arm/arm.opt:76
+-msgid "Specify if floating point hardware should be used"
++#: config/m32r/m32r.opt:75
++msgid "Don't call any cache flush trap"
+ msgstr ""
+
+-# is niet helemaal exact, maar moet er maar voor doen
+-#: config/arm/arm.opt:90
+-msgid "Specify the name of the target floating point hardware/format"
+-msgstr "Geef de naam op van hardware/formaat voor floating-point getallen op het doelplatform"
+-
+-#: config/arm/arm.opt:94
+-msgid "Alias for -mfloat-abi=hard"
++#: config/m32r/m32r.opt:82
++msgid "Small data area: none, sdata, use"
+ msgstr ""
+
+-#: config/arm/arm.opt:98
+-msgid "Assume target CPU is configured as little endian"
++#: config/arc/arc.opt:32
++msgid "Prepend the name of the cpu to all public symbol names"
+ msgstr ""
+
+-#: config/arm/arm.opt:102
+-msgid "Generate call insns as indirect calls, if necessary"
++#: config/arc/arc.opt:42
++msgid "Compile code for ARC variant CPU"
+ msgstr ""
+
+-#: config/arm/arm.opt:106
+-msgid "Specify the register to be used for PIC addressing"
+-msgstr "Geef het register op dat voor PIC-adressering gebruikt moet worden"
+-
+-#: config/arm/arm.opt:110
+-msgid "Store function names in object code"
+-msgstr "Sla functienamen op in objectcode"
+-
+-#: config/arm/arm.opt:114
+-msgid "Permit scheduling of a function's prologue sequence"
++#: config/arc/arc.opt:46
++msgid "Put functions in SECTION"
+ msgstr ""
+
+-#: config/arm/arm.opt:118
+-msgid "Do not load the PIC register in function prologues"
++#: config/arc/arc.opt:50
++msgid "Put data in SECTION"
+ msgstr ""
+
+-#: config/arm/arm.opt:122
+-msgid "Alias for -mfloat-abi=soft"
++#: config/arc/arc.opt:54
++msgid "Put read-only data in SECTION"
+ msgstr ""
+
+-#: config/arm/arm.opt:126
+-msgid "Specify the minimum bit alignment of structures"
++#: config/m32c/m32c.opt:24 config/mt/mt.opt:27 config/bfin/bfin.opt:23
++msgid "Use simulator runtime"
+ msgstr ""
+
+-#: config/arm/arm.opt:130
+-msgid "Compile for the Thumb not the ARM"
++#: config/m32c/m32c.opt:28
++msgid "Compile code for R8C variants"
+ msgstr ""
+
+-#: config/arm/arm.opt:134
+-msgid "Support calls between Thumb and ARM instruction sets"
++#: config/m32c/m32c.opt:32
++msgid "Compile code for M16C variants"
+ msgstr ""
+
+-#: config/arm/arm.opt:138
+-msgid "Specify how to access the thread pointer"
++#: config/m32c/m32c.opt:36
++msgid "Compile code for M32CM variants"
+ msgstr ""
+
+-#: config/arm/arm.opt:142
+-msgid "Thumb: Generate (non-leaf) stack frames even if not needed"
++#: config/m32c/m32c.opt:40
++msgid "Compile code for M32C variants"
+ msgstr ""
+
+-#: config/arm/arm.opt:146
+-msgid "Thumb: Generate (leaf) stack frames even if not needed"
++#: config/m32c/m32c.opt:44
++msgid "Number of memreg bytes (default: 16, range: 0..16)"
+ msgstr ""
+
+-#: config/arm/arm.opt:150
+-msgid "Tune code for the given processor"
+-msgstr ""
+-
+-#: config/arm/arm.opt:154
+-msgid "Assume big endian bytes, little endian words"
+-msgstr ""
+-
+-#: config/arm/arm.opt:158
+-msgid "Use Neon quad-word (rather than double-word) registers for vectorization"
+-msgstr ""
+-
+-#: config/arm/pe.opt:23
+-msgid "Ignore dllimport attribute for functions"
+-msgstr ""
+-
+ #: config/pdp11/pdp11.opt:23
+ msgid "Generate code for an 11/10"
+ msgstr ""
+@@ -13752,561 +13569,291 @@
+ msgid "Use UNIX assembler syntax"
+ msgstr ""
+
+-#: config/avr/avr.opt:23
+-msgid "Use subroutines for function prologues and epilogues"
++#: config/m68k/m68k.opt:23
++msgid "Generate code for a 520X"
+ msgstr ""
+
+-#: config/avr/avr.opt:27
+-msgid "Select the target MCU"
+-msgstr ""
+-
+-#: config/avr/avr.opt:34
+-msgid "Use an 8-bit 'int' type"
+-msgstr ""
+-
+-#: config/avr/avr.opt:38
+-msgid "Change the stack pointer without disabling interrupts"
+-msgstr ""
+-
+-#: config/avr/avr.opt:42
+-msgid "Do not generate tablejump insns"
+-msgstr ""
+-
+-#: config/avr/avr.opt:52
+-msgid "Use rjmp/rcall (limited range) on >8K devices"
+-msgstr ""
+-
+-#: config/avr/avr.opt:56
+-msgid "Output instruction sizes to the asm file"
+-msgstr ""
+-
+-#: config/avr/avr.opt:60
+-msgid "Change only the low 8 bits of the stack pointer"
+-msgstr ""
+-
+-#: config/crx/crx.opt:23
++#: config/m68k/m68k.opt:27
+ #, fuzzy
+-msgid "Support multiply accumulate instructions"
+-msgstr "ongeldig gebruik van %<restrict%>"
++msgid "Generate code for a 5206e"
++msgstr "case-label niet in een switch-statement"
+
+-#: config/crx/crx.opt:27
+-#, fuzzy
+-msgid "Do not use push to store function arguments"
+-msgstr "ongeldig gebruik van %<restrict%>"
+-
+-#: config/crx/crx.opt:31
+-msgid "Restrict doloop to the given nesting level"
++#: config/m68k/m68k.opt:31
++msgid "Generate code for a 528x"
+ msgstr ""
+
+-#: config/c4x/c4x.opt:23
+-msgid "Generate code for C30 CPU"
++#: config/m68k/m68k.opt:35
++msgid "Generate code for a 5307"
+ msgstr ""
+
+-#: config/c4x/c4x.opt:27
+-msgid "Generate code for C31 CPU"
++#: config/m68k/m68k.opt:39
++msgid "Generate code for a 5407"
+ msgstr ""
+
+-#: config/c4x/c4x.opt:31
+-msgid "Generate code for C32 CPU"
++#: config/m68k/m68k.opt:43 config/m68k/m68k.opt:104
++msgid "Generate code for a 68000"
+ msgstr ""
+
+-#: config/c4x/c4x.opt:35
+-msgid "Generate code for C33 CPU"
+-msgstr ""
+-
+-#: config/c4x/c4x.opt:39
+-msgid "Generate code for C40 CPU"
+-msgstr ""
+-
+-#: config/c4x/c4x.opt:43
+-msgid "Generate code for C44 CPU"
+-msgstr ""
+-
+-#: config/c4x/c4x.opt:47
+-msgid "Assume that pointers may be aliased"
+-msgstr ""
+-
+-#: config/c4x/c4x.opt:51
+-msgid "Big memory model"
+-msgstr ""
+-
+-#: config/c4x/c4x.opt:55
+-msgid "Use the BK register as a general purpose register"
+-msgstr ""
+-
+-#: config/c4x/c4x.opt:59
++#: config/m68k/m68k.opt:47
+ #, fuzzy
+-msgid "Generate code for CPU"
++msgid "Generate code for a 68010"
+ msgstr "case-label niet in een switch-statement"
+
+-#: config/c4x/c4x.opt:63
+-#, fuzzy
+-msgid "Enable use of DB instruction"
+-msgstr "ongeldig gebruik van %<restrict%>"
+-
+-#: config/c4x/c4x.opt:67
+-msgid "Enable debugging"
++#: config/m68k/m68k.opt:51 config/m68k/m68k.opt:108
++msgid "Generate code for a 68020"
+ msgstr ""
+
+-#: config/c4x/c4x.opt:71
+-msgid "Enable new features under development"
++#: config/m68k/m68k.opt:55
++msgid "Generate code for a 68040, without any new instructions"
+ msgstr ""
+
+-#: config/c4x/c4x.opt:75
+-msgid "Use fast but approximate float to integer conversion"
++#: config/m68k/m68k.opt:59
++msgid "Generate code for a 68060, without any new instructions"
+ msgstr ""
+
+-#: config/c4x/c4x.opt:79
+-msgid "Force RTL generation to emit valid 3 operand insns"
++#: config/m68k/m68k.opt:63
++msgid "Generate code for a 68030"
+ msgstr ""
+
+-#: config/c4x/c4x.opt:83
+-msgid "Force constants into registers to improve hoisting"
++#: config/m68k/m68k.opt:67
++msgid "Generate code for a 68040"
+ msgstr ""
+
+-#: config/c4x/c4x.opt:87 config/c4x/c4x.opt:111
+-msgid "Save DP across ISR in small memory model"
++#: config/m68k/m68k.opt:71
++msgid "Generate code for a 68060"
+ msgstr ""
+
+-#: config/c4x/c4x.opt:91
+-msgid "Allow unsigned iteration counts for RPTB/DB"
++#: config/m68k/m68k.opt:75
++msgid "Generate code for a 68302"
+ msgstr ""
+
+-#: config/c4x/c4x.opt:95
+-msgid "Pass arguments on the stack"
++#: config/m68k/m68k.opt:79
++msgid "Generate code for a 68332"
+ msgstr ""
+
+-#: config/c4x/c4x.opt:99
+-msgid "Use MPYI instruction for C3x"
++#: config/m68k/m68k.opt:84
++msgid "Generate code for a 68851"
+ msgstr ""
+
+-#: config/c4x/c4x.opt:103
+-msgid "Enable parallel instructions"
++#: config/m68k/m68k.opt:88
++msgid "Generate code that uses 68881 floating-point instructions"
+ msgstr ""
+
+-#: config/c4x/c4x.opt:107
+-msgid "Enable MPY||ADD and MPY||SUB instructions"
++#: config/m68k/m68k.opt:92
++msgid "Align variables on a 32-bit boundary"
+ msgstr ""
+
+-#: config/c4x/c4x.opt:115
+-msgid "Preserve all 40 bits of FP reg across call"
++#: config/m68k/m68k.opt:100
++msgid "Use the bit-field instructions"
+ msgstr ""
+
+-#: config/c4x/c4x.opt:119
+-msgid "Pass arguments in registers"
+-msgstr ""
+-
+-#: config/c4x/c4x.opt:123
+-msgid "Enable use of RTPB instruction"
+-msgstr ""
+-
+-#: config/c4x/c4x.opt:127
+-msgid "Enable use of RTPS instruction"
+-msgstr ""
+-
+-#: config/c4x/c4x.opt:131
+-msgid "Set the maximum number of iterations for RPTS to N"
+-msgstr ""
+-
+-#: config/c4x/c4x.opt:135
+-msgid "Small memory model"
+-msgstr ""
+-
+-#: config/c4x/c4x.opt:139
+-msgid "Emit code compatible with TI tools"
+-msgstr "Genereer code die compatibel is met de TI tools"
+-
+-#: config/pa/pa-hpux.opt:23
+-msgid "Generate cpp defines for server IO"
+-msgstr ""
+-
+-#: config/pa/pa-hpux.opt:27 config/pa/pa-hpux1010.opt:23
+-#: config/pa/pa-hpux1111.opt:23
+-msgid "Specify UNIX standard for predefines and linking"
+-msgstr ""
+-
+-#: config/pa/pa-hpux.opt:31
+-msgid "Generate cpp defines for workstation IO"
+-msgstr ""
+-
+-#: config/pa/pa.opt:23 config/pa/pa.opt:76 config/pa/pa.opt:84
+-msgid "Generate PA1.0 code"
+-msgstr ""
+-
+-#: config/pa/pa.opt:27 config/pa/pa.opt:88 config/pa/pa.opt:108
+-msgid "Generate PA1.1 code"
+-msgstr ""
+-
+-#: config/pa/pa.opt:31 config/pa/pa.opt:92
+-msgid "Generate PA2.0 code (requires binutils 2.10 or later)"
+-msgstr ""
+-
+-#: config/pa/pa.opt:35
++#: config/m68k/m68k.opt:112
+ #, fuzzy
+-msgid "Generate code for huge switch statements"
++msgid "Generate code for a ColdFire v4e"
+ msgstr "case-label niet in een switch-statement"
+
+-#: config/pa/pa.opt:39
+-msgid "Disable FP regs"
++#: config/m68k/m68k.opt:116
++msgid "Specify the target CPU"
+ msgstr ""
+
+-#: config/pa/pa.opt:43
+-msgid "Disable indexed addressing"
+-msgstr "Schakel geïndexeerde adressering uit"
+-
+-#: config/pa/pa.opt:47
+-msgid "Generate fast indirect calls"
++#: config/m68k/m68k.opt:120
++msgid "Generate code for a cpu32"
+ msgstr ""
+
+-#: config/pa/pa.opt:55
+-msgid "Assume code will be assembled by GAS"
+-msgstr ""
++#: config/m68k/m68k.opt:124
++#, fuzzy
++msgid "Use hardware division instructions on ColdFire"
++msgstr "ongeldig gebruik van %<restrict%>"
+
+-#: config/pa/pa.opt:59
+-msgid "Put jumps in call delay slots"
+-msgstr ""
+-
+-#: config/pa/pa.opt:64
++#: config/m68k/m68k.opt:128
+ #, fuzzy
+-msgid "Enable linker optimizations"
+-msgstr "lege declaratie"
++msgid "Generate code for a Fido A"
++msgstr "case-label niet in een switch-statement"
+
+-#: config/pa/pa.opt:68
+-msgid "Always generate long calls"
+-msgstr ""
+-
+-#: config/pa/pa.opt:72
+-msgid "Emit long load/store sequences"
+-msgstr ""
+-
+-#: config/pa/pa.opt:80
+-msgid "Disable space regs"
+-msgstr ""
+-
+-#: config/pa/pa.opt:96
++#: config/m68k/m68k.opt:132
+ #, fuzzy
+-msgid "Use portable calling conventions"
+-msgstr "Onbeëindigde stringconstante"
++msgid "Generate code which uses hardware floating point instructions"
++msgstr "ongeldig gebruik van %<restrict%>"
+
+-#: config/pa/pa.opt:100
+-msgid "Specify CPU for scheduling purposes. Valid arguments are 700, 7100, 7100LC, 7200, 7300, and 8000"
++#: config/m68k/m68k.opt:136
++msgid "Enable ID based shared library"
+ msgstr ""
+
+-#: config/pa/pa.opt:112
+-msgid "Do not disable space regs"
++#: config/m68k/m68k.opt:140
++msgid "Do not use the bit-field instructions"
+ msgstr ""
+
+-#: config/pa/pa64-hpux.opt:23
+-msgid "Assume code will be linked by GNU ld"
++#: config/m68k/m68k.opt:144
++msgid "Use normal calling convention"
+ msgstr ""
+
+-#: config/pa/pa64-hpux.opt:27
+-msgid "Assume code will be linked by HP ld"
++#: config/m68k/m68k.opt:148
++msgid "Consider type 'int' to be 32 bits wide"
+ msgstr ""
+
+-#: config/xtensa/xtensa.opt:23
+-msgid "Use CONST16 instruction to load constants"
++#: config/m68k/m68k.opt:152
++msgid "Generate pc-relative code"
+ msgstr ""
+
+-#: config/xtensa/xtensa.opt:27
+-msgid "Enable fused multiply/add and multiply/subtract FP instructions"
++#: config/m68k/m68k.opt:156
++msgid "Use different calling convention using 'rtd'"
+ msgstr ""
+
+-#: config/xtensa/xtensa.opt:31
+-msgid "Use indirect CALLXn instructions for large programs"
++#: config/m68k/m68k.opt:160 config/bfin/bfin.opt:61
++msgid "Enable separate data segment"
+ msgstr ""
+
+-#: config/xtensa/xtensa.opt:35
+-msgid "Automatically align branch targets to reduce branch penalties"
++#: config/m68k/m68k.opt:164 config/bfin/bfin.opt:57
++msgid "ID of shared library to build"
+ msgstr ""
+
+-#: config/xtensa/xtensa.opt:39
+-msgid "Intersperse literal pools with code in the text section"
++#: config/m68k/m68k.opt:168
++msgid "Consider type 'int' to be 16 bits wide"
+ msgstr ""
+
+-#: config/stormy16/stormy16.opt:24
+-msgid "Provide libraries for the simulator"
++#: config/m68k/m68k.opt:172
++msgid "Generate code with library calls for floating point"
+ msgstr ""
+
+-#: config/mips/mips.opt:23
+-msgid "Generate code that conforms to the given ABI"
++#: config/m68k/m68k.opt:176
++msgid "Do not use unaligned memory references"
+ msgstr ""
+
+-#: config/mips/mips.opt:27
+-msgid "Generate code that can be used in SVR4-style dynamic objects"
+-msgstr ""
+-
+-#: config/mips/mips.opt:31
++#: config/m68k/m68k.opt:180
+ #, fuzzy
+-msgid "Use PMC-style 'mad' instructions"
+-msgstr "ongeldig gebruik van %<restrict%>"
++msgid "Tune for the specified target CPU or architecture"
++msgstr "er kan geen alignment opgegeven worden voor %qs"
+
+-#: config/mips/mips.opt:35
+-#, fuzzy
+-msgid "Generate code for the given ISA"
+-msgstr "case-label niet in een switch-statement"
+-
+-#: config/mips/mips.opt:39
+-#, fuzzy
+-msgid "Set the cost of branches to roughly COST instructions"
+-msgstr "ongeldig gebruik van %<restrict%>"
+-
+-#: config/mips/mips.opt:43
+-msgid "Use Branch Likely instructions, overriding the architecture default"
++#: config/mmix/mmix.opt:24
++msgid "For intrinsics library: pass all parameters in registers"
+ msgstr ""
+
+-#: config/mips/mips.opt:47
+-msgid "Switch on/off MIPS16 ASE on alternating functions for compiler testing"
++#: config/mmix/mmix.opt:28
++msgid "Use register stack for parameters and return value"
+ msgstr ""
+
+-#: config/mips/mips.opt:51
+-msgid "Trap on integer divide by zero"
++#: config/mmix/mmix.opt:32
++msgid "Use call-clobbered registers for parameters and return value"
+ msgstr ""
+
+-#: config/mips/mips.opt:55
+-msgid "Specify when instructions are allowed to access code"
++#: config/mmix/mmix.opt:37
++msgid "Use epsilon-respecting floating point compare instructions"
+ msgstr ""
+
+-#: config/mips/mips.opt:59
+-msgid "Use branch-and-break sequences to check for integer divide by zero"
++#: config/mmix/mmix.opt:41
++msgid "Use zero-extending memory loads, not sign-extending ones"
+ msgstr ""
+
+-#: config/mips/mips.opt:63
+-msgid "Use trap instructions to check for integer divide by zero"
++#: config/mmix/mmix.opt:45
++msgid "Generate divide results with reminder having the same sign as the divisor (not the dividend)"
+ msgstr ""
+
+-#: config/mips/mips.opt:67
+-#, fuzzy
+-msgid "Allow the use of MDMX instructions"
+-msgstr "ongeldig gebruik van %<restrict%>"
+-
+-#: config/mips/mips.opt:71
+-msgid "Allow hardware floating-point instructions to cover both 32-bit and 64-bit operations"
++#: config/mmix/mmix.opt:49
++msgid "Prepend global symbols with \":\" (for use with PREFIX)"
+ msgstr ""
+
+-#: config/mips/mips.opt:75
+-#, fuzzy
+-msgid "Use MIPS-DSP instructions"
+-msgstr "ongeldig gebruik van %<restrict%>"
+-
+-#: config/mips/mips.opt:79
+-#, fuzzy
+-msgid "Use MIPS-DSP REV 2 instructions"
+-msgstr "ongeldig gebruik van %<restrict%>"
+-
+-#: config/mips/mips.opt:89
+-msgid "Use big-endian byte order"
++#: config/mmix/mmix.opt:53
++msgid "Do not provide a default start-address 0x100 of the program"
+ msgstr ""
+
+-#: config/mips/mips.opt:93
+-msgid "Use little-endian byte order"
++#: config/mmix/mmix.opt:57
++msgid "Link to emit program in ELF format (rather than mmo)"
+ msgstr ""
+
+-#: config/mips/mips.opt:97 config/iq2000/iq2000.opt:31
+-msgid "Use ROM instead of RAM"
++#: config/mmix/mmix.opt:61
++msgid "Use P-mnemonics for branches statically predicted as taken"
+ msgstr ""
+
+-#: config/mips/mips.opt:101
+-msgid "Use NewABI-style %reloc() assembly operators"
++#: config/mmix/mmix.opt:65
++msgid "Don't use P-mnemonics for branches"
+ msgstr ""
+
+-#: config/mips/mips.opt:105
+-msgid "Use -G for data that is not defined by the current object"
++#: config/mmix/mmix.opt:79
++msgid "Use addresses that allocate global registers"
+ msgstr ""
+
+-#: config/mips/mips.opt:109
+-msgid "Work around certain R4000 errata"
++#: config/mmix/mmix.opt:83
++msgid "Do not use addresses that allocate global registers"
+ msgstr ""
+
+-#: config/mips/mips.opt:113
+-msgid "Work around certain R4400 errata"
++#: config/mmix/mmix.opt:87
++msgid "Generate a single exit point for each function"
+ msgstr ""
+
+-#: config/mips/mips.opt:117
+-msgid "Work around errata for early SB-1 revision 2 cores"
+-msgstr ""
+-
+-#: config/mips/mips.opt:121
+-msgid "Work around certain VR4120 errata"
+-msgstr ""
+-
+-#: config/mips/mips.opt:125
+-msgid "Work around VR4130 mflo/mfhi errata"
+-msgstr ""
+-
+-#: config/mips/mips.opt:129
+-msgid "Work around an early 4300 hardware bug"
+-msgstr ""
+-
+-#: config/mips/mips.opt:133
++#: config/mmix/mmix.opt:91
+ #, fuzzy
+-msgid "FP exceptions are enabled"
+-msgstr "ingeschakelde opties: "
++msgid "Do not generate a single exit point for each function"
++msgstr "interne fout - slechte ingebouwde functie %qs"
+
+-#: config/mips/mips.opt:137
+-#, fuzzy
+-msgid "Use 32-bit floating-point registers"
+-msgstr "Ongeldige optie voor floating-point emulatie: -mfpe-%s"
+-
+-#: config/mips/mips.opt:141
+-#, fuzzy
+-msgid "Use 64-bit floating-point registers"
+-msgstr "Ongeldige optie voor floating-point emulatie: -mfpe-%s"
+-
+-#: config/mips/mips.opt:145
+-msgid "Use FUNC to flush the cache before calling stack trampolines"
++#: config/mmix/mmix.opt:95
++msgid "Set start-address of the program"
+ msgstr ""
+
+-#: config/mips/mips.opt:149
+-#, fuzzy
+-msgid "Generate floating-point multiply-add instructions"
+-msgstr "ongeldig gebruik van %<restrict%>"
+-
+-#: config/mips/mips.opt:153
+-msgid "Use 32-bit general registers"
++#: config/mmix/mmix.opt:99
++msgid "Set start-address of data"
+ msgstr ""
+
+-#: config/mips/mips.opt:157
+-msgid "Use 64-bit general registers"
+-msgstr ""
+-
+-#: config/mips/mips.opt:161
+-msgid "Use GP-relative addressing to access small data"
+-msgstr ""
+-
+-#: config/mips/mips.opt:165
++#: config/score/score.opt:31
+ #, fuzzy
+-msgid "Allow the use of hardware floating-point ABI and instructions"
+-msgstr "ongeldig gebruik van %<restrict%>"
++msgid "Disable bcnz instruction"
++msgstr "Thumb-instructie met predicaat"
+
+-#: config/mips/mips.opt:169
+-msgid "Generate code that can be safely linked with MIPS16 code."
+-msgstr ""
+-
+-#: config/mips/mips.opt:173
++#: config/score/score.opt:35
+ #, fuzzy
+-msgid "Generate code for ISA level N"
+-msgstr "case-label niet in een switch-statement"
+-
+-#: config/mips/mips.opt:177
+-#, fuzzy
+-msgid "Generate MIPS16 code"
+-msgstr "incompatibele record-modus"
+-
+-#: config/mips/mips.opt:181
+-#, fuzzy
+-msgid "Use MIPS-3D instructions"
++msgid "Enable unaligned load/store instruction"
+ msgstr "ongeldig gebruik van %<restrict%>"
+
+-#: config/mips/mips.opt:185
+-#, fuzzy
+-msgid "Use ll, sc and sync instructions"
+-msgstr "ongeldig gebruik van %<restrict%>"
+-
+-#: config/mips/mips.opt:189
+-msgid "Use -G for object-local data"
++#: config/score/score.opt:39
++msgid "Support SCORE 5 ISA"
+ msgstr ""
+
+-#: config/mips/mips.opt:193
+-msgid "Use indirect calls"
++#: config/score/score.opt:43
++msgid "Support SCORE 5U ISA"
+ msgstr ""
+
+-#: config/mips/mips.opt:197
+-msgid "Use a 32-bit long type"
++#: config/score/score.opt:47
++msgid "Support SCORE 7 ISA"
+ msgstr ""
+
+-#: config/mips/mips.opt:201
+-msgid "Use a 64-bit long type"
++#: config/score/score.opt:51
++msgid "Support SCORE 7D ISA"
+ msgstr ""
+
+-#: config/mips/mips.opt:205
+-msgid "Don't optimize block moves"
++#: config/score/score.opt:55
++msgid "Support SCORE 3 ISA"
+ msgstr ""
+
+-#: config/mips/mips.opt:209
+-msgid "Use the mips-tfile postpass"
++#: config/score/score.opt:59
++msgid "Support SCORE 3d ISA"
+ msgstr ""
+
+-#: config/mips/mips.opt:213
++#: config/crx/crx.opt:23
+ #, fuzzy
+-msgid "Allow the use of MT instructions"
++msgid "Support multiply accumulate instructions"
+ msgstr "ongeldig gebruik van %<restrict%>"
+
+-#: config/mips/mips.opt:217
+-msgid "Do not use a cache-flushing function before calling stack trampolines"
+-msgstr ""
+-
+-#: config/mips/mips.opt:221
++#: config/crx/crx.opt:27
+ #, fuzzy
+-msgid "Do not use MDMX instructions"
++msgid "Do not use push to store function arguments"
+ msgstr "ongeldig gebruik van %<restrict%>"
+
+-#: config/mips/mips.opt:225
+-#, fuzzy
+-msgid "Generate normal-mode code"
+-msgstr "incompatibele record-modus"
+-
+-#: config/mips/mips.opt:229
+-#, fuzzy
+-msgid "Do not use MIPS-3D instructions"
+-msgstr "ongeldig gebruik van %<restrict%>"
+-
+-#: config/mips/mips.opt:233
+-#, fuzzy
+-msgid "Use paired-single floating-point instructions"
+-msgstr "ISO C staat het testen van asserties niet toe"
+-
+-#: config/mips/mips.opt:237
+-msgid "When generating -mabicalls code, make the code suitable for use in shared libraries"
++#: config/crx/crx.opt:31
++msgid "Restrict doloop to the given nesting level"
+ msgstr ""
+
+-#: config/mips/mips.opt:241
+-msgid "Restrict the use of hardware floating-point instructions to 32-bit operations"
++#: config/mt/mt.opt:23
++msgid "Use byte loads and stores when generating code."
+ msgstr ""
+
+-#: config/mips/mips.opt:245
+-#, fuzzy
+-msgid "Use SmartMIPS instructions"
+-msgstr "ongeldig gebruik van %<restrict%>"
+-
+-#: config/mips/mips.opt:249
+-#, fuzzy
+-msgid "Prevent the use of all hardware floating-point instructions"
+-msgstr "ongeldig gebruik van %<restrict%>"
+-
+-#: config/mips/mips.opt:253
+-msgid "Optimize lui/addiu address loads"
++#: config/mt/mt.opt:31
++msgid "Do not include crt0.o in the startup files"
+ msgstr ""
+
+-#: config/mips/mips.opt:257
+-msgid "Assume all symbols have 32-bit values"
++#: config/mt/mt.opt:35 config/mt/mt.opt:39 config/mt/mt.opt:43
++#: config/mt/mt.opt:47 config/mt/mt.opt:51
++msgid "Internal debug switch"
+ msgstr ""
+
+-#: config/mips/mips.opt:261
+-msgid "Optimize the output for PROCESSOR"
+-msgstr ""
+-
+-#: config/mips/mips.opt:265 config/iq2000/iq2000.opt:44
+-msgid "Put uninitialized constants in ROM (needs -membedded-data)"
+-msgstr ""
+-
+-#: config/mips/mips.opt:269
+-msgid "Perform VR4130-specific alignment optimizations"
+-msgstr ""
+-
+-#: config/mips/mips.opt:273
+-msgid "Lift restrictions on GOT size"
+-msgstr ""
+-
+-#: config/mips/sdemtk.opt:23
+-#, fuzzy
+-msgid "Prevent the use of all floating-point operations"
+-msgstr "ongeldig gebruik van %<restrict%>"
+-
+-#: config/fr30/fr30.opt:23
+-msgid "Assume small address space"
+-msgstr ""
+-
+ #: config/m68hc11/m68hc11.opt:23 config/m68hc11/m68hc11.opt:31
+ msgid "Compile for a 68HC11"
+ msgstr ""
+@@ -14368,2483 +13915,2878 @@
+ msgid "Indicate the number of soft registers available"
+ msgstr ""
+
+-#: config/vax/vax.opt:23 config/vax/vax.opt:27
+-msgid "Target DFLOAT double precision code"
++#: config/fr30/fr30.opt:23
++msgid "Assume small address space"
+ msgstr ""
+
+-#: config/vax/vax.opt:31 config/vax/vax.opt:35
+-msgid "Generate GFLOAT double precision code"
+-msgstr ""
+-
+-#: config/vax/vax.opt:39
++#: config/sparc/little-endian.opt:23
+ #, fuzzy
+-msgid "Generate code for GNU assembler (gas)"
++msgid "Generate code for little-endian"
+ msgstr "case-label niet in een switch-statement"
+
+-#: config/vax/vax.opt:43
++#: config/sparc/little-endian.opt:27
+ #, fuzzy
+-msgid "Generate code for UNIX assembler"
++msgid "Generate code for big-endian"
+ msgstr "case-label niet in een switch-statement"
+
+-#: config/vax/vax.opt:47
+-#, fuzzy
+-msgid "Use VAXC structure conventions"
+-msgstr "Onbeëindigde stringconstante"
+-
+-#: config/cris/linux.opt:27
+-msgid "Together with -fpic and -fPIC, do not use GOTPLT references"
++#: config/sparc/sparc.opt:23 config/sparc/sparc.opt:27
++msgid "Use hardware FP"
+ msgstr ""
+
+-#: config/cris/cris.opt:45
+-msgid "Work around bug in multiplication instruction"
++#: config/sparc/sparc.opt:31
++msgid "Do not use hardware FP"
+ msgstr ""
+
+-#: config/cris/cris.opt:51
+-msgid "Compile for ETRAX 4 (CRIS v3)"
++#: config/sparc/sparc.opt:35
++msgid "Assume possible double misalignment"
+ msgstr ""
+
+-#: config/cris/cris.opt:56
+-msgid "Compile for ETRAX 100 (CRIS v8)"
++#: config/sparc/sparc.opt:39
++msgid "Pass -assert pure-text to linker"
+ msgstr ""
+
+-#: config/cris/cris.opt:64
+-msgid "Emit verbose debug information in assembly code"
++#: config/sparc/sparc.opt:43
++msgid "Use ABI reserved registers"
+ msgstr ""
+
+-#: config/cris/cris.opt:71
+-msgid "Do not use condition codes from normal instructions"
+-msgstr ""
++#: config/sparc/sparc.opt:47
++#, fuzzy
++msgid "Use hardware quad FP instructions"
++msgstr "ongeldig gebruik van %<restrict%>"
+
+-#: config/cris/cris.opt:80
+-msgid "Do not emit addressing modes with side-effect assignment"
++#: config/sparc/sparc.opt:51
++msgid "Do not use hardware quad fp instructions"
+ msgstr ""
+
+-#: config/cris/cris.opt:89
+-msgid "Do not tune stack alignment"
++#: config/sparc/sparc.opt:55
++msgid "Compile for V8+ ABI"
+ msgstr ""
+
+-#: config/cris/cris.opt:98
+-msgid "Do not tune writable data alignment"
++#: config/sparc/sparc.opt:59
++msgid "Use UltraSPARC Visual Instruction Set extensions"
+ msgstr ""
+
+-#: config/cris/cris.opt:107
+-msgid "Do not tune code and read-only data alignment"
++#: config/sparc/sparc.opt:63
++msgid "Pointers are 64-bit"
+ msgstr ""
+
+-#: config/cris/cris.opt:116
+-msgid "Align code and data to 32 bits"
++#: config/sparc/sparc.opt:67
++msgid "Pointers are 32-bit"
+ msgstr ""
+
+-#: config/cris/cris.opt:133
+-msgid "Don't align items in code or data"
++#: config/sparc/sparc.opt:71
++msgid "Use 64-bit ABI"
+ msgstr ""
+
+-#: config/cris/cris.opt:142
+-msgid "Do not emit function prologue or epilogue"
++#: config/sparc/sparc.opt:75
++msgid "Use 32-bit ABI"
+ msgstr ""
+
+-#: config/cris/cris.opt:149
+-msgid "Use the most feature-enabling options allowed by other options"
++#: config/sparc/sparc.opt:79
++msgid "Use stack bias"
+ msgstr ""
+
+-#: config/cris/cris.opt:158
+-msgid "Override -mbest-lib-options"
++#: config/sparc/sparc.opt:83
++msgid "Use structs on stronger alignment for double-word copies"
+ msgstr ""
+
+-#: config/cris/cris.opt:165
+-msgid "Generate code for the specified chip or CPU version"
++#: config/sparc/sparc.opt:87
++msgid "Optimize tail call instructions in assembler and linker"
+ msgstr ""
+
+-#: config/cris/cris.opt:169
+-#, fuzzy
+-msgid "Tune alignment for the specified chip or CPU version"
+-msgstr "er kan geen alignment opgegeven worden voor %qs"
+-
+-#: config/cris/cris.opt:173
+-msgid "Warn when a stackframe is larger than the specified size"
++#: config/sparc/sparc.opt:99
++msgid "Use given SPARC-V9 code model"
+ msgstr ""
+
+-#: config/cris/aout.opt:27
+-msgid "Compile for the MMU-less Etrax 100-based elinux system"
++#: config/sparc/sparc.opt:103
++msgid "Enable strict 32-bit psABI struct return checking."
+ msgstr ""
+
+-#: config/cris/aout.opt:33
+-msgid "For elinux, request a specified stack-size for this program"
++#: config/sh/superh.opt:6
++msgid "Board name [and memory region]."
+ msgstr ""
+
+-#: config/h8300/h8300.opt:23
+-msgid "Generate H8S code"
++#: config/sh/superh.opt:10
++msgid "Runtime name."
+ msgstr ""
+
+-#: config/h8300/h8300.opt:27
+-msgid "Generate H8SX code"
+-msgstr ""
++#: config/sh/sh.opt:44
++#, fuzzy
++msgid "Generate SH1 code"
++msgstr "incompatibele record-modus"
+
+-#: config/h8300/h8300.opt:31
+-msgid "Generate H8S/2600 code"
+-msgstr ""
++#: config/sh/sh.opt:48
++#, fuzzy
++msgid "Generate SH2 code"
++msgstr "incompatibele record-modus"
+
+-#: config/h8300/h8300.opt:35
+-msgid "Make integers 32 bits wide"
+-msgstr ""
++#: config/sh/sh.opt:52
++#, fuzzy
++msgid "Generate SH2a code"
++msgstr "incompatibele record-modus"
+
+-#: config/h8300/h8300.opt:42
+-msgid "Use registers for argument passing"
+-msgstr ""
++#: config/sh/sh.opt:56
++#, fuzzy
++msgid "Generate SH2a FPU-less code"
++msgstr "incompatibele record-modus"
+
+-#: config/h8300/h8300.opt:46
+-msgid "Consider access to byte sized memory slow"
++#: config/sh/sh.opt:60
++msgid "Generate default single-precision SH2a code"
+ msgstr ""
+
+-#: config/h8300/h8300.opt:50
+-msgid "Enable linker relaxing"
++#: config/sh/sh.opt:64
++msgid "Generate only single-precision SH2a code"
+ msgstr ""
+
+-#: config/h8300/h8300.opt:54
+-msgid "Generate H8/300H code"
+-msgstr ""
++#: config/sh/sh.opt:68
++#, fuzzy
++msgid "Generate SH2e code"
++msgstr "incompatibele record-modus"
+
+-#: config/h8300/h8300.opt:58
++#: config/sh/sh.opt:72
+ #, fuzzy
+-msgid "Enable the normal mode"
++msgid "Generate SH3 code"
+ msgstr "incompatibele record-modus"
+
+-#: config/h8300/h8300.opt:62
+-msgid "Use H8/300 alignment rules"
+-msgstr ""
++#: config/sh/sh.opt:76
++#, fuzzy
++msgid "Generate SH3e code"
++msgstr "incompatibele record-modus"
+
+-#: config/v850/v850.opt:23
+-msgid "Use registers r2 and r5"
+-msgstr "Gebruik registers r2 en r5"
++#: config/sh/sh.opt:80
++#, fuzzy
++msgid "Generate SH4 code"
++msgstr "incompatibele record-modus"
+
+-#: config/v850/v850.opt:27
+-msgid "Use 4 byte entries in switch tables"
+-msgstr ""
++#: config/sh/sh.opt:84
++#, fuzzy
++msgid "Generate SH4-100 code"
++msgstr "incompatibele record-modus"
+
+-#: config/v850/v850.opt:31
+-msgid "Enable backend debugging"
+-msgstr ""
++#: config/sh/sh.opt:88
++#, fuzzy
++msgid "Generate SH4-200 code"
++msgstr "incompatibele record-modus"
+
+-#: config/v850/v850.opt:35
++#: config/sh/sh.opt:94
+ #, fuzzy
+-msgid "Do not use the callt instruction"
+-msgstr "ongeldig gebruik van %<restrict%>"
++msgid "Generate SH4-300 code"
++msgstr "incompatibele record-modus"
+
+-#: config/v850/v850.opt:39
+-msgid "Reuse r30 on a per function basis"
+-msgstr ""
++#: config/sh/sh.opt:98
++#, fuzzy
++msgid "Generate SH4 FPU-less code"
++msgstr "incompatibele record-modus"
+
+-#: config/v850/v850.opt:43
+-msgid "Support Green Hills ABI"
+-msgstr ""
++#: config/sh/sh.opt:102
++#, fuzzy
++msgid "Generate SH4-100 FPU-less code"
++msgstr "incompatibele record-modus"
+
+-#: config/v850/v850.opt:47
+-msgid "Prohibit PC relative function calls"
+-msgstr ""
++#: config/sh/sh.opt:106
++#, fuzzy
++msgid "Generate SH4-200 FPU-less code"
++msgstr "incompatibele record-modus"
+
+-#: config/v850/v850.opt:51
+-msgid "Use stubs for function prologues"
+-msgstr ""
+-
+-#: config/v850/v850.opt:55
+-msgid "Set the max size of data eligible for the SDA area"
+-msgstr ""
+-
+-#: config/v850/v850.opt:59
++#: config/sh/sh.opt:110
+ #, fuzzy
+-msgid "Enable the use of the short load instructions"
+-msgstr "ongeldig gebruik van %<restrict%>"
++msgid "Generate SH4-300 FPU-less code"
++msgstr "incompatibele record-modus"
+
+-#: config/v850/v850.opt:63
+-msgid "Same as: -mep -mprolog-function"
+-msgstr ""
+-
+-#: config/v850/v850.opt:67
+-msgid "Set the max size of data eligible for the TDA area"
+-msgstr ""
+-
+-#: config/v850/v850.opt:71
+-msgid "Enforce strict alignment"
+-msgstr ""
+-
+-#: config/v850/v850.opt:78
+-msgid "Compile for the v850 processor"
+-msgstr ""
+-
+-#: config/v850/v850.opt:82
+-msgid "Compile for the v850e processor"
+-msgstr ""
+-
+-#: config/v850/v850.opt:86
+-msgid "Compile for the v850e1 processor"
+-msgstr ""
+-
+-#: config/v850/v850.opt:90
+-msgid "Set the max size of data eligible for the ZDA area"
+-msgstr ""
+-
+-#: config/mmix/mmix.opt:24
+-msgid "For intrinsics library: pass all parameters in registers"
+-msgstr ""
+-
+-#: config/mmix/mmix.opt:28
+-msgid "Use register stack for parameters and return value"
+-msgstr ""
+-
+-#: config/mmix/mmix.opt:32
+-msgid "Use call-clobbered registers for parameters and return value"
+-msgstr ""
+-
+-#: config/mmix/mmix.opt:37
+-msgid "Use epsilon-respecting floating point compare instructions"
+-msgstr ""
+-
+-#: config/mmix/mmix.opt:41
+-msgid "Use zero-extending memory loads, not sign-extending ones"
+-msgstr ""
+-
+-#: config/mmix/mmix.opt:45
+-msgid "Generate divide results with reminder having the same sign as the divisor (not the dividend)"
+-msgstr ""
+-
+-#: config/mmix/mmix.opt:49
+-msgid "Prepend global symbols with \":\" (for use with PREFIX)"
+-msgstr ""
+-
+-#: config/mmix/mmix.opt:53
+-msgid "Do not provide a default start-address 0x100 of the program"
+-msgstr ""
+-
+-#: config/mmix/mmix.opt:57
+-msgid "Link to emit program in ELF format (rather than mmo)"
+-msgstr ""
+-
+-#: config/mmix/mmix.opt:61
+-msgid "Use P-mnemonics for branches statically predicted as taken"
+-msgstr ""
+-
+-#: config/mmix/mmix.opt:65
+-msgid "Don't use P-mnemonics for branches"
+-msgstr ""
+-
+-#: config/mmix/mmix.opt:79
+-msgid "Use addresses that allocate global registers"
+-msgstr ""
+-
+-#: config/mmix/mmix.opt:83
+-msgid "Do not use addresses that allocate global registers"
+-msgstr ""
+-
+-#: config/mmix/mmix.opt:87
+-msgid "Generate a single exit point for each function"
+-msgstr ""
+-
+-#: config/mmix/mmix.opt:91
++#: config/sh/sh.opt:114
+ #, fuzzy
+-msgid "Do not generate a single exit point for each function"
+-msgstr "interne fout - slechte ingebouwde functie %qs"
++msgid "Generate code for SH4 340 series (MMU/FPU-less)"
++msgstr "case-label niet in een switch-statement"
+
+-#: config/mmix/mmix.opt:95
+-msgid "Set start-address of the program"
+-msgstr ""
+-
+-#: config/mmix/mmix.opt:99
+-msgid "Set start-address of data"
+-msgstr ""
+-
+-#: config/iq2000/iq2000.opt:23 config/mt/mt.opt:55
+-msgid "Specify CPU for code generation purposes"
+-msgstr ""
+-
+-#: config/iq2000/iq2000.opt:27
+-msgid "Specify CPU for scheduling purposes"
+-msgstr ""
+-
+-#: config/iq2000/iq2000.opt:35
+-msgid "Use GP relative sdata/sbss sections"
+-msgstr ""
+-
+-#: config/iq2000/iq2000.opt:40
+-msgid "No default crt0.o"
+-msgstr ""
+-
+-#: config/bfin/bfin.opt:31
++#: config/sh/sh.opt:119
+ #, fuzzy
+-msgid "Omit frame pointer for leaf functions"
+-msgstr "Genereer directe aftakkingen naar locale functies"
++msgid "Generate code for SH4 400 series (MMU/FPU-less)"
++msgstr "case-label niet in een switch-statement"
+
+-#: config/bfin/bfin.opt:35
+-msgid "Program is entirely located in low 64k of memory"
+-msgstr ""
+-
+-#: config/bfin/bfin.opt:39
+-msgid "Work around a hardware anomaly by adding a number of NOPs before a"
+-msgstr ""
+-
+-#: config/bfin/bfin.opt:44
+-msgid "Avoid speculative loads to work around a hardware anomaly."
+-msgstr ""
+-
+-#: config/bfin/bfin.opt:48
+-msgid "Enabled ID based shared library"
+-msgstr ""
+-
+-#: config/bfin/bfin.opt:52
+-msgid "Generate code that won't be linked against any other ID shared libraries,"
+-msgstr ""
+-
+-#: config/bfin/bfin.opt:65
+-msgid "Avoid generating pc-relative calls; use indirection"
+-msgstr ""
+-
+-#: config/bfin/bfin.opt:69
+-msgid "Link with the fast floating-point library"
+-msgstr ""
+-
+-#: config/bfin/bfin.opt:81
+-msgid "Do stack checking using bounds in L1 scratch memory"
+-msgstr ""
+-
+-#: config/mt/mt.opt:23
+-msgid "Use byte loads and stores when generating code."
+-msgstr ""
+-
+-#: config/mt/mt.opt:31
+-msgid "Do not include crt0.o in the startup files"
+-msgstr ""
+-
+-#: config/mt/mt.opt:35 config/mt/mt.opt:39 config/mt/mt.opt:43
+-#: config/mt/mt.opt:47 config/mt/mt.opt:51
+-msgid "Internal debug switch"
+-msgstr ""
+-
+-#: config/vxworks.opt:24
+-msgid "Assume the VxWorks RTP environment"
+-msgstr ""
+-
+-#: config/vxworks.opt:31
+-msgid "Assume the VxWorks vThreads environment"
+-msgstr ""
+-
+-#: config/darwin.opt:23
+-msgid "Generate code suitable for fast turn around debugging"
+-msgstr ""
+-
+-#: config/darwin.opt:31
+-msgid "The earliest MacOS X version on which this program will run"
+-msgstr ""
+-
+-#: config/darwin.opt:35
+-msgid "Set sizeof(bool) to 1"
+-msgstr ""
+-
+-#: config/darwin.opt:39
++#: config/sh/sh.opt:124
+ #, fuzzy
+-msgid "Generate code for darwin loadable kernel extensions"
++msgid "Generate code for SH4 500 series (FPU-less)."
+ msgstr "case-label niet in een switch-statement"
+
+-#: config/darwin.opt:43
+-msgid "Generate code for the kernel or loadable kernel extensions"
++#: config/sh/sh.opt:129
++msgid "Generate default single-precision SH4 code"
+ msgstr ""
+
+-#: config/darwin.opt:47
+-msgid "Add <dir> to the end of the system framework include path"
+-msgstr ""
++#: config/sh/sh.opt:133
++#, fuzzy
++msgid "Generate default single-precision SH4-100 code"
++msgstr "incompatibele record-modus"
+
+-#: config/lynx.opt:23
+-msgid "Support legacy multi-threading"
+-msgstr ""
++#: config/sh/sh.opt:137
++#, fuzzy
++msgid "Generate default single-precision SH4-200 code"
++msgstr "incompatibele record-modus"
+
+-#: config/lynx.opt:27
+-msgid "Use shared libraries"
+-msgstr ""
++#: config/sh/sh.opt:141
++#, fuzzy
++msgid "Generate default single-precision SH4-300 code"
++msgstr "incompatibele record-modus"
+
+-#: config/lynx.opt:31
+-msgid "Support multi-threading"
++#: config/sh/sh.opt:145
++msgid "Generate only single-precision SH4 code"
+ msgstr ""
+
+-#: config/score/score.opt:31
++#: config/sh/sh.opt:149
+ #, fuzzy
+-msgid "Disable bcnz instruction"
+-msgstr "Thumb-instructie met predicaat"
++msgid "Generate only single-precision SH4-100 code"
++msgstr "incompatibele record-modus"
+
+-#: config/score/score.opt:35
++#: config/sh/sh.opt:153
+ #, fuzzy
+-msgid "Enable unaligned load/store instruction"
+-msgstr "ongeldig gebruik van %<restrict%>"
++msgid "Generate only single-precision SH4-200 code"
++msgstr "incompatibele record-modus"
+
+-#: config/score/score.opt:39
+-msgid "Support SCORE 5 ISA"
+-msgstr ""
++#: config/sh/sh.opt:157
++#, fuzzy
++msgid "Generate only single-precision SH4-300 code"
++msgstr "incompatibele record-modus"
+
+-#: config/score/score.opt:43
+-msgid "Support SCORE 5U ISA"
+-msgstr ""
++#: config/sh/sh.opt:161
++#, fuzzy
++msgid "Generate SH4a code"
++msgstr "incompatibele record-modus"
+
+-#: config/score/score.opt:47
+-msgid "Support SCORE 7 ISA"
+-msgstr ""
+-
+-#: config/score/score.opt:51
+-msgid "Support SCORE 7D ISA"
+-msgstr ""
+-
+-#: config/score/score.opt:55
+-msgid "Support SCORE 3 ISA"
+-msgstr ""
+-
+-#: config/score/score.opt:59
+-msgid "Support SCORE 3d ISA"
+-msgstr ""
+-
+-#: config/linux.opt:24
+-msgid "Use uClibc instead of GNU libc"
+-msgstr ""
+-
+-#: config/linux.opt:28
+-msgid "Use GNU libc instead of uClibc"
+-msgstr ""
+-
+-#: c.opt:41
+-msgid "Assert the <answer> to <question>. Putting '-' before <question> disables the <answer> to <question>"
+-msgstr ""
+-
+-#: c.opt:45
++#: config/sh/sh.opt:165
+ #, fuzzy
+-msgid "Do not discard comments"
+-msgstr "niet-beëindigde commentaar"
++msgid "Generate SH4a FPU-less code"
++msgstr "incompatibele record-modus"
+
+-#: c.opt:49
+-msgid "Do not discard comments in macro expansions"
++#: config/sh/sh.opt:169
++msgid "Generate default single-precision SH4a code"
+ msgstr ""
+
+-#: c.opt:53
+-msgid "Define a <macro> with <val> as its value. If just <macro> is given, <val> is taken to be 1"
++#: config/sh/sh.opt:173
++msgid "Generate only single-precision SH4a code"
+ msgstr ""
+
+-#: c.opt:60
+-msgid "Add <dir> to the end of the main framework include path"
+-msgstr ""
+-
+-#: c.opt:64
+-msgid "Print the name of header files as they are used"
+-msgstr ""
+-
+-#: c.opt:68 c.opt:859
+-msgid "Add <dir> to the end of the main include path"
+-msgstr ""
+-
+-#: c.opt:72
++#: config/sh/sh.opt:177
+ #, fuzzy
+-msgid "Generate make dependencies"
+-msgstr "Positie-onafhankelijke code wordt niet ondersteund. Genegeerd"
++msgid "Generate SH4al-dsp code"
++msgstr "incompatibele record-modus"
+
+-#: c.opt:76
++#: config/sh/sh.opt:181
+ #, fuzzy
+-msgid "Generate make dependencies and compile"
+-msgstr "Positie-onafhankelijke code wordt niet ondersteund. Genegeerd"
++msgid "Generate 32-bit SHmedia code"
++msgstr "incompatibele record-modus"
+
+-#: c.opt:80
+-msgid "Write dependency output to the given file"
++#: config/sh/sh.opt:185
++msgid "Generate 32-bit FPU-less SHmedia code"
+ msgstr ""
+
+-#: c.opt:84
+-msgid "Treat missing header files as generated files"
+-msgstr ""
+-
+-#: c.opt:88
+-msgid "Like -M but ignore system header files"
+-msgstr ""
+-
+-#: c.opt:92
+-msgid "Like -MD but ignore system header files"
+-msgstr ""
+-
+-#: c.opt:96
++#: config/sh/sh.opt:189
+ #, fuzzy
+-msgid "Generate phony targets for all headers"
+-msgstr "case-label niet in een switch-statement"
++msgid "Generate 64-bit SHmedia code"
++msgstr "incompatibele record-modus"
+
+-#: c.opt:100
+-msgid "Add a MAKE-quoted target"
++#: config/sh/sh.opt:193
++msgid "Generate 64-bit FPU-less SHmedia code"
+ msgstr ""
+
+-#: c.opt:104
+-msgid "Add an unquoted target"
+-msgstr ""
+-
+-#: c.opt:108
++#: config/sh/sh.opt:197
+ #, fuzzy
+-msgid "Do not generate #line directives"
+-msgstr "interne fout - slechte ingebouwde functie %qs"
++msgid "Generate SHcompact code"
++msgstr "incompatibele record-modus"
+
+-#: c.opt:112
+-msgid "Undefine <macro>"
++#: config/sh/sh.opt:201
++msgid "Generate FPU-less SHcompact code"
+ msgstr ""
+
+-#: c.opt:116
+-msgid "Warn about things that will change when compiling with an ABI-compliant compiler"
++#: config/sh/sh.opt:205
++msgid "Throttle unrolling to avoid thrashing target registers unless the unroll benefit outweighs this"
+ msgstr ""
+
+-#: c.opt:120
++#: config/sh/sh.opt:209
+ #, fuzzy
+-msgid "Warn about suspicious uses of memory addresses"
+-msgstr "geen eerdere declaratie voor %qs"
++msgid "Generate code in big endian mode"
++msgstr "case-label niet in een switch-statement"
+
+-#: c.opt:124
+-msgid "Enable most warning messages"
+-msgstr ""
+-
+-#: c.opt:128
++#: config/sh/sh.opt:213
+ #, fuzzy
+-msgid "Warn if a comparison is always true or always false due to the limited range of the data type"
+-msgstr "vergelijking is altijd vals omwille van het beperkte bereik van het datatype"
++msgid "Generate 32-bit offsets in switch tables"
++msgstr "case-label niet in een switch-statement"
+
+-#: c.opt:132
+-msgid "Warn whenever an Objective-C assignment is being intercepted by the garbage collector"
++#: config/sh/sh.opt:217
++msgid "Cost to assume for a branch insn"
+ msgstr ""
+
+-#: c.opt:136
+-#, fuzzy
+-msgid "Warn about casting functions to incompatible types"
+-msgstr "parameter wijst naar een onvolledig type"
+-
+-#: c.opt:140
+-msgid "Warn about C constructs that are not in the common subset of C and C++"
++#: config/sh/sh.opt:221
++msgid "Enable cbranchdi4 pattern"
+ msgstr ""
+
+-#: c.opt:144
+-msgid "Warn about C++ constructs whose meaning differs between ISO C++ 1998 and ISO C++ 200x"
++#: config/sh/sh.opt:225
++msgid "Expand cbranchdi4 pattern early into separate comparisons and branches."
+ msgstr ""
+
+-#: c.opt:148
+-msgid "Warn about casts which discard qualifiers"
++#: config/sh/sh.opt:229
++msgid "Emit cmpeqdi_t pattern even when -mcbranchdi and -mexpand-cbranchdi are in effect."
+ msgstr ""
+
+-#: c.opt:152
+-#, fuzzy
+-msgid "Warn about subscripts whose type is \"char\""
+-msgstr "array subscript is van het type %<char%>"
+-
+-#: c.opt:156
+-msgid "Warn about variables that might be changed by \"longjmp\" or \"vfork\""
++#: config/sh/sh.opt:233
++msgid "Enable SH5 cut2 workaround"
+ msgstr ""
+
+-#: c.opt:160
+-msgid "Warn about possibly nested block comments, and C++ comments spanning more than one physical line"
++#: config/sh/sh.opt:237
++msgid "Align doubles at 64-bit boundaries"
+ msgstr ""
+
+-#: c.opt:164
+-msgid "Synonym for -Wcomment"
++#: config/sh/sh.opt:241
++msgid "Division strategy, one of: call, call2, fp, inv, inv:minlat, inv20u, inv20l, inv:call, inv:call2, inv:fp, call-div1, call-fp, call-table"
+ msgstr ""
+
+-#: c.opt:168
+-msgid "Warn for implicit type conversions that may change a value"
++#: config/sh/sh.opt:245
++msgid "Specify name for 32 bit signed division function"
+ msgstr ""
+
+-#: c.opt:172
++#: config/sh/sh.opt:252
+ #, fuzzy
+-msgid "Warn for implicit type conversions between signed and unsigned integers"
+-msgstr "vergelijking tussen signed en unsigned"
++msgid "Enable the use of the fused floating point multiply-accumulate operation"
++msgstr "ongeldig gebruik van %<restrict%>"
+
+-#: c.opt:176
+-msgid "Warn when all constructors and destructors are private"
++#: config/sh/sh.opt:256
++msgid "Cost to assume for gettr insn"
+ msgstr ""
+
+-#: c.opt:180
+-msgid "Warn when a declaration is found after a statement"
++#: config/sh/sh.opt:260 config/sh/sh.opt:310
++msgid "Follow Renesas (formerly Hitachi) / SuperH calling conventions"
+ msgstr ""
+
+-#: c.opt:184
+-#, fuzzy
+-msgid "Warn about deprecated compiler features"
+-msgstr "niet-prototype definitie hier"
+-
+-#: c.opt:188
+-msgid "Warn about compile-time integer division by zero"
++#: config/sh/sh.opt:264
++msgid "Increase the IEEE compliance for floating-point code"
+ msgstr ""
+
+-#: c.opt:192
+-msgid "Warn about violations of Effective C++ style rules"
++#: config/sh/sh.opt:268
++msgid "Enable the use of the indexed addressing mode for SHmedia32/SHcompact"
+ msgstr ""
+
+-#: c.opt:196
+-#, fuzzy
+-msgid "Warn about an empty body in an if or else statement"
+-msgstr "leeg body in een else-statement"
+-
+-#: c.opt:200
+-msgid "Warn about stray tokens after #elif and #endif"
++#: config/sh/sh.opt:272
++msgid "inline code to invalidate instruction cache entries after setting up nested function trampolines"
+ msgstr ""
+
+-#: c.opt:208
+-msgid "This switch is deprecated; use -Werror=implicit-function-declaration instead"
++#: config/sh/sh.opt:276
++msgid "Assume symbols might be invalid"
+ msgstr ""
+
+-#: c.opt:212
+-msgid "Warn if testing floating point numbers for equality"
++#: config/sh/sh.opt:280
++msgid "Annotate assembler instructions with estimated addresses"
+ msgstr ""
+
+-#: c.opt:216
++#: config/sh/sh.opt:284
+ #, fuzzy
+-msgid "Warn about printf/scanf/strftime/strfmon format string anomalies"
+-msgstr "formaatstring niet beëindigd"
++msgid "Generate code in little endian mode"
++msgstr "case-label niet in een switch-statement"
+
+-#: c.opt:220
+-msgid "Warn if passing too many arguments to a function for its format string"
++#: config/sh/sh.opt:288
++msgid "Mark MAC register as call-clobbered"
+ msgstr ""
+
+-#: c.opt:224
+-msgid "Warn about format strings that are not literals"
++#: config/sh/sh.opt:294
++msgid "Make structs a multiple of 4 bytes (warning: ABI altered)"
+ msgstr ""
+
+-#: c.opt:228
+-msgid "Warn about format strings that contain NUL bytes"
++#: config/sh/sh.opt:298
++msgid "Emit function-calls using global offset table when generating PIC"
+ msgstr ""
+
+-#: c.opt:232
+-msgid "Warn about possible security problems with format functions"
++#: config/sh/sh.opt:302
++#, fuzzy
++msgid "Assume pt* instructions won't trap"
++msgstr "floating-point constante buiten bereik"
++
++#: config/sh/sh.opt:306
++msgid "Shorten address references during linking"
+ msgstr ""
+
+-#: c.opt:236
+-msgid "Warn about strftime formats yielding 2-digit years"
++#: config/sh/sh.opt:314
++msgid "Deprecated. Use -Os instead"
+ msgstr ""
+
+-#: c.opt:240
+-#, fuzzy
+-msgid "Warn about zero-length formats"
+-msgstr "%s formaatstring van lengte 0"
+-
+-#: c.opt:247
+-msgid "Warn about variables which are initialized to themselves"
++#: config/sh/sh.opt:318
++msgid "Cost to assume for a multiply insn"
+ msgstr ""
+
+-#: c.opt:254
+-#, fuzzy
+-msgid "Warn about implicit function declarations"
+-msgstr "parameternamen (zonder types) in functiedeclaratie"
+-
+-#: c.opt:258
+-msgid "Warn when a declaration does not specify a type"
++#: config/sh/sh.opt:322
++msgid "Don't generate privileged-mode only code; implies -mno-inline-ic_invalidate if the inline code would not work in user mode."
+ msgstr ""
+
+-#: c.opt:262
+-msgid "Deprecated. This switch has no effect"
++#: config/sh/sh.opt:328
++msgid "Pretend a branch-around-a-move is a conditional move."
+ msgstr ""
+
+-#: c.opt:266
+-#, fuzzy
+-msgid "Warn when there is a cast to a pointer from an integer of a different size"
+-msgstr "cast naar pointer van integer met andere grootte"
+-
+-#: c.opt:270
+-#, fuzzy
+-msgid "Warn about invalid uses of the \"offsetof\" macro"
+-msgstr "lijnnummer buiten bereik in %<#line%>-commando"
+-
+-#: c.opt:274
+-msgid "Warn about PCH files that are found but not used"
++#: config/vxworks.opt:24
++msgid "Assume the VxWorks RTP environment"
+ msgstr ""
+
+-#: c.opt:278
+-msgid "Do not warn about using \"long long\" when -pedantic"
++#: config/vxworks.opt:31
++msgid "Assume the VxWorks vThreads environment"
+ msgstr ""
+
+-#: c.opt:282
++#: config/mips/sdemtk.opt:23
+ #, fuzzy
+-msgid "Warn about suspicious declarations of \"main\""
+-msgstr "geen eerdere declaratie voor %qs"
++msgid "Prevent the use of all floating-point operations"
++msgstr "ongeldig gebruik van %<restrict%>"
+
+-#: c.opt:286
+-#, fuzzy
+-msgid "Warn about possibly missing braces around initializers"
+-msgstr "accolades ontbreken rond beginwaarde"
+-
+-#: c.opt:290
+-#, fuzzy
+-msgid "Warn about global functions without previous declarations"
+-msgstr "sectie van %qs geeft een conflict met een eerdere declaratie"
+-
+-#: c.opt:294
+-#, fuzzy
+-msgid "Warn about missing fields in struct initializers"
+-msgstr "accolades ontbreken rond beginwaarde"
+-
+-#: c.opt:298
+-#, fuzzy
+-msgid "Warn about functions which might be candidates for format attributes"
+-msgstr "deze functie is een mogelijke kandidaat voor het %<noreturn%> attribuut"
+-
+-#: c.opt:302
+-msgid "Warn about user-specified include directories that do not exist"
++#: config/mips/mips.opt:23
++msgid "Generate code that conforms to the given ABI"
+ msgstr ""
+
+-#: c.opt:306
+-msgid "Warn about function parameters declared without a type specifier in K&R-style functions"
++#: config/mips/mips.opt:27
++msgid "Generate code that can be used in SVR4-style dynamic objects"
+ msgstr ""
+
+-#: c.opt:310
++#: config/mips/mips.opt:31
+ #, fuzzy
+-msgid "Warn about global functions without prototypes"
+-msgstr "sectie van %qs geeft een conflict met een eerdere declaratie"
++msgid "Use PMC-style 'mad' instructions"
++msgstr "ongeldig gebruik van %<restrict%>"
+
+-#: c.opt:314
++#: config/mips/mips.opt:35
+ #, fuzzy
+-msgid "Warn about use of multi-character character constants"
+-msgstr "karakterconstante met meer dan één karakter"
++msgid "Generate code for the given ISA"
++msgstr "case-label niet in een switch-statement"
+
+-#: c.opt:318
++#: config/mips/mips.opt:39
+ #, fuzzy
+-msgid "Warn about \"extern\" declarations not at file scope"
+-msgstr "overbodige herdeclaratie van %qs in zelfde bereik"
++msgid "Set the cost of branches to roughly COST instructions"
++msgstr "ongeldig gebruik van %<restrict%>"
+
+-#: c.opt:322
+-#, fuzzy
+-msgid "Warn when non-templatized friend functions are declared within a template"
+-msgstr "geneste functie %qs is als %<extern%> gedeclareerd"
+-
+-#: c.opt:326
+-#, fuzzy
+-msgid "Warn about non-virtual destructors"
+-msgstr "niet-prototype definitie hier"
+-
+-#: c.opt:330
+-msgid "Warn about NULL being passed to argument slots marked as requiring non-NULL"
++#: config/mips/mips.opt:43
++msgid "Use Branch Likely instructions, overriding the architecture default"
+ msgstr ""
+
+-#: c.opt:334
+-#, fuzzy
+-msgid "Warn about non-normalised Unicode strings"
+-msgstr "niet-prototype definitie hier"
+-
+-#: c.opt:338
+-msgid "Warn if a C-style cast is used in a program"
++#: config/mips/mips.opt:47
++msgid "Switch on/off MIPS16 ASE on alternating functions for compiler testing"
+ msgstr ""
+
+-#: c.opt:342
+-#, fuzzy
+-msgid "Warn for obsolescent usage in a declaration"
+-msgstr "parameternamen (zonder types) in functiedeclaratie"
+-
+-#: c.opt:346
+-msgid "Warn if an old-style parameter definition is used"
++#: config/mips/mips.opt:51
++msgid "Trap on integer divide by zero"
+ msgstr ""
+
+-#: c.opt:350
+-msgid "Warn if a string is longer than the maximum portable length specified by the standard"
++#: config/mips/mips.opt:55
++msgid "Specify when instructions are allowed to access code"
+ msgstr ""
+
+-#: c.opt:354
+-msgid "Warn about overloaded virtual function names"
++#: config/mips/mips.opt:59
++msgid "Use branch-and-break sequences to check for integer divide by zero"
+ msgstr ""
+
+-#: c.opt:358
+-msgid "Warn about overriding initializers without side effects"
++#: config/mips/mips.opt:63
++msgid "Use trap instructions to check for integer divide by zero"
+ msgstr ""
+
+-#: c.opt:362
++#: config/mips/mips.opt:67
+ #, fuzzy
+-msgid "Warn about possibly missing parentheses"
+-msgstr "accolades ontbreken rond beginwaarde"
++msgid "Allow the use of MDMX instructions"
++msgstr "ongeldig gebruik van %<restrict%>"
+
+-#: c.opt:366
+-msgid "Warn when converting the type of pointers to member functions"
++#: config/mips/mips.opt:71
++msgid "Allow hardware floating-point instructions to cover both 32-bit and 64-bit operations"
+ msgstr ""
+
+-#: c.opt:370
++#: config/mips/mips.opt:75
+ #, fuzzy
+-msgid "Warn about function pointer arithmetic"
+-msgstr "pointer naar functie gebruikt in rekensom"
++msgid "Use MIPS-DSP instructions"
++msgstr "ongeldig gebruik van %<restrict%>"
+
+-#: c.opt:374
++#: config/mips/mips.opt:79
+ #, fuzzy
+-msgid "Warn when a pointer is cast to an integer of a different size"
+-msgstr "cast van pointer naar integer met andere grootte"
++msgid "Use MIPS-DSP REV 2 instructions"
++msgstr "ongeldig gebruik van %<restrict%>"
+
+-# Moet 'signature-string' vertaald worden?
+-#: c.opt:378
+-#, fuzzy
+-msgid "Warn about misuses of pragmas"
+-msgstr "Brol aan einde van signature-string."
+-
+-#: c.opt:382
+-msgid "Warn if inherited methods are unimplemented"
++#: config/mips/mips.opt:89
++msgid "Use big-endian byte order"
+ msgstr ""
+
+-#: c.opt:386
+-#, fuzzy
+-msgid "Warn about multiple declarations of the same object"
+-msgstr "overbodige herdeclaratie van %qs in zelfde bereik"
+-
+-#: c.opt:390
+-#, fuzzy
+-msgid "Warn when the compiler reorders code"
+-msgstr "incompatibele record-modus"
+-
+-#: c.opt:394
+-#, fuzzy
+-msgid "Warn whenever a function's return type defaults to \"int\" (C), or about inconsistent return types (C++)"
+-msgstr "teruggeefwaarde krijgt standaardtype %<int%>"
+-
+-#: c.opt:398
+-msgid "Warn if a selector has multiple methods"
++#: config/mips/mips.opt:93
++msgid "Use little-endian byte order"
+ msgstr ""
+
+-#: c.opt:402
+-msgid "Warn about possible violations of sequence point rules"
++#: config/mips/mips.opt:101
++msgid "Use NewABI-style %reloc() assembly operators"
+ msgstr ""
+
+-#: c.opt:406
+-#, fuzzy
+-msgid "Warn about signed-unsigned comparisons"
+-msgstr "formaatstring niet beëindigd"
+-
+-#: c.opt:410
+-#, fuzzy
+-msgid "Warn when overload promotes from unsigned to signed"
+-msgstr "vergelijking van gepromoveerde ~unsigned met unsigned"
+-
+-#: c.opt:414
+-msgid "Warn about uncasted NULL used as sentinel"
++#: config/mips/mips.opt:105
++msgid "Use -G for data that is not defined by the current object"
+ msgstr ""
+
+-#: c.opt:418
+-#, fuzzy
+-msgid "Warn about unprototyped function declarations"
+-msgstr "niet-prototype definitie hier"
+-
+-#: c.opt:422
+-msgid "Warn if type signatures of candidate methods do not match exactly"
++#: config/mips/mips.opt:109
++msgid "Work around certain R4000 errata"
+ msgstr ""
+
+-#: c.opt:426
+-msgid "Warn when synthesis behavior differs from Cfront"
++#: config/mips/mips.opt:113
++msgid "Work around certain R4400 errata"
+ msgstr ""
+
+-#: c.opt:430 common.opt:182
+-msgid "Do not suppress warnings from system headers"
++#: config/mips/mips.opt:117
++msgid "Work around errata for early SB-1 revision 2 cores"
+ msgstr ""
+
+-#: c.opt:434
+-msgid "Warn about features not present in traditional C"
++#: config/mips/mips.opt:121
++msgid "Work around certain VR4120 errata"
+ msgstr ""
+
+-#: c.opt:438
+-msgid "Warn of prototypes causing type conversions different from what would happen in the absence of prototype"
++#: config/mips/mips.opt:125
++msgid "Work around VR4130 mflo/mfhi errata"
+ msgstr ""
+
+-#: c.opt:442
+-msgid "Warn if trigraphs are encountered that might affect the meaning of the program"
++#: config/mips/mips.opt:129
++msgid "Work around an early 4300 hardware bug"
+ msgstr ""
+
+-#: c.opt:446
++#: config/mips/mips.opt:133
+ #, fuzzy
+-msgid "Warn about @selector()s without previously declared methods"
+-msgstr "sectie van %qs geeft een conflict met een eerdere declaratie"
++msgid "FP exceptions are enabled"
++msgstr "ingeschakelde opties: "
+
+-#: c.opt:450
++#: config/mips/mips.opt:137
+ #, fuzzy
+-msgid "Warn if an undefined macro is used in an #if directive"
+-msgstr "ongedefinieerd of ongeldig #-commando"
++msgid "Use 32-bit floating-point registers"
++msgstr "Ongeldige optie voor floating-point emulatie: -mfpe-%s"
+
+-#: c.opt:454
+-msgid "Warn about unrecognized pragmas"
+-msgstr ""
++#: config/mips/mips.opt:141
++#, fuzzy
++msgid "Use 64-bit floating-point registers"
++msgstr "Ongeldige optie voor floating-point emulatie: -mfpe-%s"
+
+-#: c.opt:458
+-msgid "Warn about macros defined in the main file that are not used"
++#: config/mips/mips.opt:145
++msgid "Use FUNC to flush the cache before calling stack trampolines"
+ msgstr ""
+
+-#: c.opt:462
+-msgid "Do not warn about using variadic macros when -pedantic"
+-msgstr ""
+-
+-#: c.opt:466
+-msgid "Warn if a variable length array is used"
+-msgstr ""
+-
+-#: c.opt:470
+-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.opt:474
++#: config/mips/mips.opt:149
+ #, fuzzy
+-msgid "Warn when a pointer differs in signedness in an assignment"
+-msgstr "vergelijking van gepromoveerde ~unsigned met unsigned"
++msgid "Generate floating-point multiply-add instructions"
++msgstr "ongeldig gebruik van %<restrict%>"
+
+-#: c.opt:478
+-msgid "A synonym for -std=c89 (for C) or -std=c++98 (for C++)"
++#: config/mips/mips.opt:153
++msgid "Use 32-bit general registers"
+ msgstr ""
+
+-#: c.opt:486
+-msgid "Enforce class member access control semantics"
++#: config/mips/mips.opt:157
++msgid "Use 64-bit general registers"
+ msgstr ""
+
+-#: c.opt:493
+-msgid "Change when template instances are emitted"
++#: config/mips/mips.opt:161
++msgid "Use GP-relative addressing to access small data"
+ msgstr ""
+
+-#: c.opt:497
+-msgid "Recognize the \"asm\" keyword"
+-msgstr ""
+-
+-#: c.opt:501
++#: config/mips/mips.opt:165
+ #, fuzzy
+-msgid "Recognize built-in functions"
+-msgstr "interne fout - slechte ingebouwde functie %qs"
++msgid "Allow the use of hardware floating-point ABI and instructions"
++msgstr "ongeldig gebruik van %<restrict%>"
+
+-#: c.opt:508
+-msgid "Check the return value of new"
++#: config/mips/mips.opt:169
++msgid "Generate code that can be safely linked with MIPS16 code."
+ msgstr ""
+
+-#: c.opt:512
+-msgid "Allow the arguments of the '?' operator to have different types"
+-msgstr ""
+-
+-#: c.opt:516
+-msgid "Reduce the size of object files"
+-msgstr ""
+-
+-#: c.opt:520
++#: config/mips/mips.opt:173
+ #, fuzzy
+-msgid "Use class <name> for constant strings"
+-msgstr "offset buiten de grenzen van een constante string"
++msgid "Generate code for ISA level N"
++msgstr "case-label niet in een switch-statement"
+
+-#: c.opt:524
++#: config/mips/mips.opt:177
+ #, fuzzy
+-msgid "Inline member functions by default"
+-msgstr "kan functie %<main%> niet inline maken"
++msgid "Generate MIPS16 code"
++msgstr "incompatibele record-modus"
+
+-#: c.opt:528
++#: config/mips/mips.opt:181
+ #, fuzzy
+-msgid "Preprocess directives only."
+-msgstr "ongeldig preprocessing-commando"
++msgid "Use MIPS-3D instructions"
++msgstr "ongeldig gebruik van %<restrict%>"
+
+-# "brede string"? "string met brede karakters/tekens"?
+-#: c.opt:532
++#: config/mips/mips.opt:185
+ #, fuzzy
+-msgid "Permit '$' as an identifier character"
+-msgstr "formaat is een wide-character string"
++msgid "Use ll, sc and sync instructions"
++msgstr "ongeldig gebruik van %<restrict%>"
+
+-#: c.opt:539
+-#, fuzzy
+-msgid "Generate code to check exception specifications"
+-msgstr "%qs gedeclareerd als een functie die een functie teruggeeft"
+-
+-#: c.opt:546
+-msgid "Convert all strings and character constants to character set <cset>"
++#: config/mips/mips.opt:189
++msgid "Use -G for object-local data"
+ msgstr ""
+
+-#: c.opt:550
+-msgid "Permit universal character names (\\u and \\U) in identifiers"
++#: config/mips/mips.opt:193
++msgid "Use indirect calls"
+ msgstr ""
+
+-#: c.opt:554
+-msgid "Specify the default character set for source files"
++#: config/mips/mips.opt:197
++msgid "Use a 32-bit long type"
+ msgstr ""
+
+-#: c.opt:562
+-msgid "Scope of for-init-statement variables is local to the loop"
++#: config/mips/mips.opt:201
++msgid "Use a 64-bit long type"
+ msgstr ""
+
+-#: c.opt:566
+-msgid "Do not assume that standard C libraries and \"main\" exist"
++#: config/mips/mips.opt:205
++msgid "Don't optimize block moves"
+ msgstr ""
+
+-#: c.opt:570
+-msgid "Recognize GNU-defined keywords"
++#: config/mips/mips.opt:209
++msgid "Use the mips-tfile postpass"
+ msgstr ""
+
+-#: c.opt:574
+-msgid "Generate code for GNU runtime environment"
+-msgstr ""
++#: config/mips/mips.opt:213
++#, fuzzy
++msgid "Allow the use of MT instructions"
++msgstr "ongeldig gebruik van %<restrict%>"
+
+-#: c.opt:578
+-msgid "Use traditional GNU semantics for inline functions"
++#: config/mips/mips.opt:217
++msgid "Do not use a cache-flushing function before calling stack trampolines"
+ msgstr ""
+
+-#: c.opt:591
+-msgid "Assume normal C execution environment"
+-msgstr ""
++#: config/mips/mips.opt:221
++#, fuzzy
++msgid "Do not use MDMX instructions"
++msgstr "ongeldig gebruik van %<restrict%>"
+
+-#: c.opt:595
+-msgid "Enable support for huge objects"
+-msgstr ""
+-
+-#: c.opt:599
++#: config/mips/mips.opt:225
+ #, fuzzy
+-msgid "Export functions even if they can be inlined"
+-msgstr "de terugkeerwaarde van een functie kan geen funtie zijn"
++msgid "Generate normal-mode code"
++msgstr "incompatibele record-modus"
+
+-#: c.opt:603
++#: config/mips/mips.opt:229
+ #, fuzzy
+-msgid "Emit implicit instantiations of inline templates"
+-msgstr "impliciete declaratie van functie %qs"
++msgid "Do not use MIPS-3D instructions"
++msgstr "ongeldig gebruik van %<restrict%>"
+
+-#: c.opt:607
++#: config/mips/mips.opt:233
+ #, fuzzy
+-msgid "Emit implicit instantiations of templates"
+-msgstr "impliciete declaratie van functie %qs"
++msgid "Use paired-single floating-point instructions"
++msgstr "ISO C staat het testen van asserties niet toe"
+
+-#: c.opt:611
+-msgid "Inject friend functions into enclosing namespace"
++#: config/mips/mips.opt:237
++msgid "When generating -mabicalls code, make the code suitable for use in shared libraries"
+ msgstr ""
+
+-#: c.opt:618
+-msgid "Allow implicit conversions between vectors with differing numbers of subparts and/or differing element types."
++#: config/mips/mips.opt:241
++msgid "Restrict the use of hardware floating-point instructions to 32-bit operations"
+ msgstr ""
+
+-#: c.opt:622
+-msgid "Don't warn about uses of Microsoft extensions"
+-msgstr ""
++#: config/mips/mips.opt:245
++#, fuzzy
++msgid "Use SmartMIPS instructions"
++msgstr "ongeldig gebruik van %<restrict%>"
+
+-#: c.opt:632
+-msgid "Generate code for NeXT (Apple Mac OS X) runtime environment"
+-msgstr ""
++#: config/mips/mips.opt:249
++#, fuzzy
++msgid "Prevent the use of all hardware floating-point instructions"
++msgstr "ongeldig gebruik van %<restrict%>"
+
+-#: c.opt:636
+-msgid "Assume that receivers of Objective-C messages may be nil"
++#: config/mips/mips.opt:253
++msgid "Optimize lui/addiu address loads"
+ msgstr ""
+
+-#: c.opt:648
+-msgid "Generate special Objective-C methods to initialize/destroy non-POD C++ ivars, if needed"
++#: config/mips/mips.opt:257
++msgid "Assume all symbols have 32-bit values"
+ msgstr ""
+
+-#: c.opt:652
+-msgid "Allow fast jumps to the message dispatcher"
++#: config/mips/mips.opt:261
++msgid "Optimize the output for PROCESSOR"
+ msgstr ""
+
+-#: c.opt:658
+-msgid "Enable Objective-C exception and synchronization syntax"
++#: config/mips/mips.opt:269
++msgid "Perform VR4130-specific alignment optimizations"
+ msgstr ""
+
+-#: c.opt:662
+-msgid "Enable garbage collection (GC) in Objective-C/Objective-C++ programs"
++#: config/mips/mips.opt:273
++msgid "Lift restrictions on GOT size"
+ msgstr ""
+
+-#: c.opt:667
+-msgid "Enable Objective-C setjmp exception handling runtime"
+-msgstr ""
++#: config/bfin/bfin.opt:31
++#, fuzzy
++msgid "Omit frame pointer for leaf functions"
++msgstr "Genereer directe aftakkingen naar locale functies"
+
+-#: c.opt:671
+-msgid "Enable OpenMP"
++#: config/bfin/bfin.opt:35
++msgid "Program is entirely located in low 64k of memory"
+ msgstr ""
+
+-#: c.opt:675
+-msgid "Recognize C++ kewords like \"compl\" and \"xor\""
++#: config/bfin/bfin.opt:39
++msgid "Work around a hardware anomaly by adding a number of NOPs before a"
+ msgstr ""
+
+-#: c.opt:679
+-msgid "Enable optional diagnostics"
++#: config/bfin/bfin.opt:44
++msgid "Avoid speculative loads to work around a hardware anomaly."
+ msgstr ""
+
+-#: c.opt:686
+-msgid "Look for and use PCH files even when preprocessing"
++#: config/bfin/bfin.opt:48
++msgid "Enabled ID based shared library"
+ msgstr ""
+
+-#: c.opt:690
+-msgid "Downgrade conformance errors to warnings"
++#: config/bfin/bfin.opt:52
++msgid "Generate code that won't be linked against any other ID shared libraries,"
+ msgstr ""
+
+-#: c.opt:694
+-msgid "Treat the input file as already preprocessed"
++#: config/bfin/bfin.opt:65
++msgid "Avoid generating pc-relative calls; use indirection"
+ msgstr ""
+
+-#: c.opt:698
+-msgid "Used in Fix-and-Continue mode to indicate that object files may be swapped in at runtime"
++#: config/bfin/bfin.opt:69
++msgid "Link with the fast floating-point library"
+ msgstr ""
+
+-#: c.opt:702
+-msgid "Enable automatic template instantiation"
++#: config/bfin/bfin.opt:81
++msgid "Do stack checking using bounds in L1 scratch memory"
+ msgstr ""
+
+-#: c.opt:706
+-msgid "Generate run time type descriptor information"
++#: treelang/lang.opt:30
++msgid "Trace lexical analysis"
+ msgstr ""
+
+-#: c.opt:710
+-msgid "Use the same size for double as for float"
++#: treelang/lang.opt:34
++msgid "Trace the parsing process"
+ msgstr ""
+
+-#: c.opt:718
+-msgid "Force the underlying type for \"wchar_t\" to be \"unsigned short\""
++#: java/lang.opt:65
++msgid "Warn if a deprecated compiler feature, class, method, or field is used"
+ msgstr ""
+
+-#: c.opt:722
+-msgid "When \"signed\" or \"unsigned\" is not given make the bitfield signed"
++#: java/lang.opt:69
++msgid "Warn if deprecated empty statements are found"
+ msgstr ""
+
+-#: c.opt:726
+-msgid "Make \"char\" signed by default"
++#: java/lang.opt:73
++msgid "Warn if .class files are out of date"
+ msgstr ""
+
+-#: c.opt:733
+-msgid "Display statistics accumulated during compilation"
++#: java/lang.opt:77
++msgid "Warn if modifiers are specified when not necessary"
+ msgstr ""
+
+-#: c.opt:740
+-msgid "Distance between tab stops for column reporting"
++#: java/lang.opt:81
++msgid "Deprecated; use --classpath instead"
+ msgstr ""
+
+-#: c.opt:744
+-msgid "Specify maximum template instantiation depth"
++#: java/lang.opt:88
++msgid "Permit the use of the assert keyword"
+ msgstr ""
+
+-#: c.opt:751
+-msgid "Do not generate thread-safe code for initializing local statics"
++#: java/lang.opt:110
++msgid "Replace system path"
+ msgstr ""
+
+-#: c.opt:755
+-msgid "When \"signed\" or \"unsigned\" is not given make the bitfield unsigned"
++#: java/lang.opt:114
++msgid "Generate checks for references to NULL"
+ msgstr ""
+
+-#: c.opt:759
+-msgid "Make \"char\" unsigned by default"
++#: java/lang.opt:118
++msgid "Set class path"
+ msgstr ""
+
+-#: c.opt:763
+-msgid "Use __cxa_atexit to register destructors"
++#: java/lang.opt:125
++msgid "Output a class file"
+ msgstr ""
+
+-#: c.opt:767
+-msgid "Use __cxa_get_exception_ptr in exception handling"
++#: java/lang.opt:129
++msgid "Alias for -femit-class-file"
+ msgstr ""
+
+-#: c.opt:771
+-msgid "Marks all inlined methods as having hidden visibility"
++#: java/lang.opt:133
++msgid "Choose input encoding (defaults from your locale)"
+ msgstr ""
+
+-#: c.opt:775
+-msgid "Changes visibility to match Microsoft Visual Studio by default"
++#: java/lang.opt:137
++msgid "Set the extension directory path"
+ msgstr ""
+
+-#: c.opt:779
+-msgid "Discard unused virtual functions"
++#: java/lang.opt:144
++msgid "Input file is a file with a list of filenames to compile"
+ msgstr ""
+
+-#: c.opt:783
+-msgid "Implement vtables using thunks"
++#: java/lang.opt:151
++msgid "Always check for non gcj generated classes archives"
+ msgstr ""
+
+-#: c.opt:787
+-msgid "Emit common-like symbols as weak symbols"
++#: java/lang.opt:155
++msgid "Assume the runtime uses a hash table to map an object to its synchronization structure"
+ msgstr ""
+
+-#: c.opt:791
+-msgid "Convert all wide strings and character constants to character set <cset>"
++#: java/lang.opt:159
++msgid "Generate instances of Class at runtime"
+ msgstr ""
+
+-#: c.opt:795
+-msgid "Generate a #line directive pointing at the current working directory"
++#: java/lang.opt:163
++msgid "Use offset tables for virtual method calls"
+ msgstr ""
+
+-#: c.opt:799
+-msgid "Emit cross referencing information"
++#: java/lang.opt:170
++msgid "Assume native functions are implemented using JNI"
+ msgstr ""
+
+-#: c.opt:803
+-msgid "Generate lazy class lookup (via objc_getClass()) for use in Zero-Link mode"
++#: java/lang.opt:174
++msgid "Enable optimization of static class initialization code"
+ msgstr ""
+
+-#: c.opt:807
+-msgid "Dump declarations to a .decl file"
++#: java/lang.opt:181
++msgid "Reduce the amount of reflection meta-data generated"
+ msgstr ""
+
+-#: c.opt:811
+-msgid "Aggressive reduced debug info for structs"
++#: java/lang.opt:185
++msgid "Enable assignability checks for stores into object arrays"
+ msgstr ""
+
+-#: c.opt:815
+-msgid "Conservative reduced debug info for structs"
++#: java/lang.opt:189
++msgid "Generate code for the Boehm GC"
+ msgstr ""
+
+-#: c.opt:819
+-msgid "Detailed reduced debug info for structs"
++#: java/lang.opt:193
++msgid "Call a library routine to do integer divisions"
+ msgstr ""
+
+-#: c.opt:823 c.opt:855
+-msgid "Add <dir> to the end of the system include path"
++#: java/lang.opt:197
++msgid "Generated should be loaded by bootstrap loader"
+ msgstr ""
+
+-#: c.opt:827
+-msgid "Accept definition of macros in <file>"
++#: java/lang.opt:201
++msgid "Set the source language version"
+ msgstr ""
+
+-#: c.opt:831
+-msgid "-imultilib <dir> Set <dir> to be the multilib include subdirectory"
++#: java/lang.opt:205
++msgid "Set the target VM version"
+ msgstr ""
+
+-#: c.opt:835
+-msgid "Include the contents of <file> before other files"
+-msgstr ""
+-
+-#: c.opt:839
+-msgid "Specify <path> as a prefix for next two options"
+-msgstr ""
+-
+-#: c.opt:843
+-msgid "Set <dir> to be the system root directory"
+-msgstr ""
+-
+-#: c.opt:847
+-msgid "Add <dir> to the start of the system include path"
+-msgstr ""
+-
+-#: c.opt:851
+-msgid "Add <dir> to the end of the quote include path"
+-msgstr ""
+-
+-#: c.opt:872
+-msgid "Do not search standard system include directories (those specified with -isystem will still be used)"
+-msgstr ""
+-
+-#: c.opt:876
+-msgid "Do not search standard system include directories for C++"
+-msgstr ""
+-
+-#: c.opt:892
+-msgid "Generate C header of platform-specific features"
+-msgstr ""
+-
+-#: c.opt:896
+-msgid "Print a checksum of the executable for PCH validity checking, and stop"
+-msgstr ""
+-
+-#: c.opt:900
+-msgid "Remap file names when including files"
+-msgstr ""
+-
+-#: c.opt:904
+-msgid "Conform to the ISO 1998 C++ standard"
+-msgstr "Volg de ISO 1998 C++ standaard"
+-
+-#: c.opt:908
+-#, fuzzy
+-msgid "Conform to the ISO 1998 C++ standard, with extensions that are likely to"
+-msgstr "Volg de ISO 1998 C++ standaard met GNU uitbreidingen"
+-
+-#: c.opt:915 c.opt:950
+-msgid "Conform to the ISO 1990 C standard"
+-msgstr "Volg de ISO 1990 C standaard"
+-
+-#: c.opt:919 c.opt:958
+-msgid "Conform to the ISO 1999 C standard"
+-msgstr "Volg de ISO 1999 C standaard"
+-
+-#: c.opt:923
+-msgid "Deprecated in favor of -std=c99"
+-msgstr "Verouderd; gebruik liever -std=c99"
+-
+-#: c.opt:927
+-msgid "Conform to the ISO 1998 C++ standard with GNU extensions"
+-msgstr "Volg de ISO 1998 C++ standaard met GNU uitbreidingen"
+-
+-#: c.opt:931
+-#, fuzzy
+-msgid "Conform to the ISO 1998 C++ standard, with GNU extensions and"
+-msgstr "Volg de ISO 1998 C++ standaard met GNU uitbreidingen"
+-
+-#: c.opt:938
+-msgid "Conform to the ISO 1990 C standard with GNU extensions"
+-msgstr "Volg de ISO 1990 C standaard met GNU uitbreidingen"
+-
+-#: c.opt:942
+-msgid "Conform to the ISO 1999 C standard with GNU extensions"
+-msgstr "Volg de ISO 1999 C standaard met GNU uitbreidingen"
+-
+-#: c.opt:946
+-msgid "Deprecated in favor of -std=gnu99"
+-msgstr "Verouderd; gebruik liever -std=gnu99"
+-
+-#: c.opt:954
+-msgid "Conform to the ISO 1990 C standard as amended in 1994"
+-msgstr "Volg de ISO 1990 C standaard zoals aangepast in 1994"
+-
+-#: c.opt:962
+-msgid "Deprecated in favor of -std=iso9899:1999"
+-msgstr "Verouderd; gebruik liever -std=iso9899:1999"
+-
+-# of "preprocessing" behouden?
+-#: c.opt:966
+-msgid "Enable traditional preprocessing"
+-msgstr "Schakel traditionele voorverwerking in"
+-
+-#: c.opt:970
+-#, fuzzy
+-msgid "Support ISO C trigraphs"
+-msgstr "-trigraphs\tOndersteun ISO C trigraphs"
+-
+-#: c.opt:974
+-msgid "Do not predefine system-specific and GCC-specific macros"
+-msgstr "Definieer geen systeem-specifieke of GCC-specifieke macros op voorhand"
+-
+-# kan beter
+-#: c.opt:978
+-msgid "Enable verbose output"
+-msgstr "Schakel uitgebreide boodschappen in"
+-
+-#: common.opt:27
++#: common.opt:28
+ msgid "Display this information"
+ msgstr ""
+
+-#: common.opt:31
++#: common.opt:32
+ msgid "Display descriptions of a specific class of options. <class> is one or more of optimizers, target, warnings, undocumented, params"
+ msgstr ""
+
+-#: common.opt:35
++#: common.opt:36
+ msgid "Alias for --help=target"
+ msgstr ""
+
+-#: common.opt:51
++#: common.opt:52
+ msgid "Set parameter <param> to value. See below for a complete list of parameters"
+ msgstr ""
+
+-#: common.opt:58
++#: common.opt:59
+ msgid "Put global and static data smaller than <number> bytes into a special section (on some targets)"
+ msgstr ""
+
+-#: common.opt:62
++#: common.opt:63
+ msgid "Set optimization level to <number>"
+ msgstr ""
+
+-#: common.opt:66
++#: common.opt:67
+ msgid "Optimize for space rather than speed"
+ msgstr ""
+
+-#: common.opt:70
++#: common.opt:71
+ msgid "This switch is deprecated; use -Wextra instead"
+ msgstr ""
+
+-#: common.opt:74
++#: common.opt:75
+ msgid "Warn about returning structures, unions or arrays"
+ msgstr ""
+
+-#: common.opt:78
++#: common.opt:79
+ msgid "Warn if an array is accessed out of bounds"
+ msgstr ""
+
+-#: common.opt:82
++#: common.opt:83
+ #, fuzzy
+ msgid "Warn about inappropriate attribute usage"
+ msgstr "pointer naar functie gebruikt in rekensom"
+
+-#: common.opt:86
++#: common.opt:87
+ msgid "Warn about pointer casts which increase alignment"
+ msgstr ""
+
+-#: common.opt:90
++#: common.opt:91
+ msgid "Warn about uses of __attribute__((deprecated)) declarations"
+ msgstr ""
+
+-#: common.opt:94
++#: common.opt:95
+ msgid "Warn when an optimization pass is disabled"
+ msgstr ""
+
+-#: common.opt:98
++#: common.opt:99
+ msgid "Treat all warnings as errors"
+ msgstr ""
+
+-#: common.opt:102
++#: common.opt:103
+ msgid "Treat specified warning as error"
+ msgstr ""
+
+-#: common.opt:106
++#: common.opt:107
+ msgid "Print extra (possibly unwanted) warnings"
+ msgstr ""
+
+-#: common.opt:110
++#: common.opt:111
+ msgid "Exit on the first error occurred"
+ msgstr ""
+
+-#: common.opt:114
++#: common.opt:115
+ #, fuzzy
+ msgid "Warn when an inlined function cannot be inlined"
+ msgstr "kan functie %<main%> niet inline maken"
+
+-#: common.opt:118
++#: common.opt:119
+ msgid "Warn if an object is larger than <number> bytes"
+ msgstr ""
+
+-#: common.opt:122
++#: common.opt:123
+ msgid "Warn when a logical operator is suspicously always evaluating to true or false"
+ msgstr ""
+
+-#: common.opt:126
++#: common.opt:127
+ msgid "Warn if the loop cannot be optimized due to nontrivial assumptions."
+ msgstr ""
+
+-#: common.opt:130
++#: common.opt:131
+ #, fuzzy
+ msgid "Warn about functions which might be candidates for __attribute__((noreturn))"
+ msgstr "deze functie is een mogelijke kandidaat voor het %<noreturn%> attribuut"
+
+-#: common.opt:134
++#: common.opt:135
+ #, fuzzy
+ msgid "Warn about overflow in arithmetic expressions"
+ msgstr "overflow in constante expressie"
+
+-#: common.opt:138
++#: common.opt:139
+ msgid "Warn when the packed attribute has no effect on struct layout"
+ msgstr ""
+
+-#: common.opt:142
++#: common.opt:143
+ msgid "Warn when padding is required to align structure members"
+ msgstr ""
+
+-#: common.opt:146
++#: common.opt:147
+ #, fuzzy
+ msgid "Warn when one local variable shadows another"
+ msgstr "De locale variabele %<insn%> heeft de waarde:"
+
+-#: common.opt:150
++#: common.opt:151
+ msgid "Warn when not issuing stack smashing protection for some reason"
+ msgstr ""
+
+-#: common.opt:154 common.opt:158
++#: common.opt:155 common.opt:159
+ #, fuzzy
+ msgid "Warn about code which might break strict aliasing rules"
+ msgstr "deze functie is een mogelijke kandidaat voor het %<noreturn%> attribuut"
+
+-#: common.opt:162 common.opt:166
++#: common.opt:163 common.opt:167
+ msgid "Warn about optimizations that assume that signed overflow is undefined"
+ msgstr ""
+
+-#: common.opt:170
++#: common.opt:171
+ msgid "Warn about enumerated switches, with no default, missing a case"
+ msgstr ""
+
+-#: common.opt:174
++#: common.opt:175
+ msgid "Warn about enumerated switches missing a \"default:\" statement"
+ msgstr ""
+
+-#: common.opt:178
++#: common.opt:179
+ msgid "Warn about all enumerated switches missing a specific case"
+ msgstr ""
+
+-#: common.opt:186
++#: common.opt:183 c.opt:434
++msgid "Do not suppress warnings from system headers"
++msgstr ""
++
++#: common.opt:187
+ msgid "Warn about uninitialized automatic variables"
+ msgstr ""
+
+-#: common.opt:190
++#: common.opt:191
+ msgid "Warn about code that will never be executed"
+ msgstr ""
+
+-#: common.opt:194
++#: common.opt:195
+ msgid "Enable all -Wunused- warnings"
+ msgstr ""
+
+-#: common.opt:198
++#: common.opt:199
+ msgid "Warn when a function is unused"
+ msgstr ""
+
+-#: common.opt:202
++#: common.opt:203
+ msgid "Warn when a label is unused"
+ msgstr ""
+
+-#: common.opt:206
++#: common.opt:207
+ msgid "Warn when a function parameter is unused"
+ msgstr ""
+
+-#: common.opt:210
++#: common.opt:211
+ msgid "Warn when an expression value is unused"
+ msgstr ""
+
+-#: common.opt:214
++#: common.opt:215
+ msgid "Warn when a variable is unused"
+ msgstr ""
+
+-#: common.opt:218
++#: common.opt:219
+ #, fuzzy
+ msgid "Warn when a register variable is declared volatile"
+ msgstr "statische variable %qs is als dllimport aangeduid"
+
+-#: common.opt:222
++#: common.opt:223
+ msgid "Warn instead of error in case profiles in -fprofile-use do not match"
+ msgstr ""
+
+-#: common.opt:226
++#: common.opt:227
+ msgid "Emit declaration information into <file>"
+ msgstr ""
+
+-#: common.opt:239
++#: common.opt:240
+ msgid "Enable dumps from specific passes of the compiler"
+ msgstr ""
+
+-#: common.opt:243
++#: common.opt:244
+ #, fuzzy
+ msgid "Set the file basename to be used for dumps"
+ msgstr "Geef het register op dat voor PIC-adressering gebruikt moet worden"
+
+-#: common.opt:263
++#: common.opt:264
+ #, fuzzy
+ msgid "Align the start of functions"
+ msgstr "impliciete declaratie van functie %qs"
+
+-#: common.opt:270
++#: common.opt:271
+ msgid "Align labels which are only reached by jumping"
+ msgstr ""
+
+-#: common.opt:277
++#: common.opt:278
+ msgid "Align all labels"
+ msgstr ""
+
+-#: common.opt:284
++#: common.opt:285
+ msgid "Align the start of loops"
+ msgstr ""
+
+-#: common.opt:299
++#: common.opt:300
+ msgid "Specify that arguments may alias each other and globals"
+ msgstr ""
+
+-#: common.opt:303
++#: common.opt:304
+ msgid "Assume arguments may alias globals but not each other"
+ msgstr ""
+
+-#: common.opt:307
++#: common.opt:308
+ msgid "Assume arguments alias neither each other nor globals"
+ msgstr ""
+
+-#: common.opt:311
++#: common.opt:312
+ #, fuzzy
+ msgid "Assume arguments alias no other storage"
+ msgstr "ongebruikte argumenten in $-stijl formaat"
+
+-#: common.opt:315
++#: common.opt:316
+ msgid "Generate unwind tables that are exact at each instruction boundary"
+ msgstr ""
+
+-#: common.opt:319
++#: common.opt:320
+ #, fuzzy
+ msgid "Generate auto-inc/dec instructions"
+ msgstr "ongeldig gebruik van %<restrict%>"
+
+-#: common.opt:327
++#: common.opt:328
+ msgid "Generate code to check bounds before indexing arrays"
+ msgstr ""
+
+-#: common.opt:331
++#: common.opt:332
+ msgid "Replace add, compare, branch with branch on count register"
+ msgstr ""
+
+-#: common.opt:335
++#: common.opt:336
+ msgid "Use profiling information for branch probabilities"
+ msgstr ""
+
+-#: common.opt:339
++#: common.opt:340
+ msgid "Perform branch target load optimization before prologue / epilogue threading"
+ msgstr ""
+
+-#: common.opt:343
++#: common.opt:344
+ msgid "Perform branch target load optimization after prologue / epilogue threading"
+ msgstr ""
+
+-#: common.opt:347
++#: common.opt:348
+ msgid "Restrict target load migration not to re-use registers in any basic block"
+ msgstr ""
+
+-#: common.opt:351
++#: common.opt:352
+ #, fuzzy
+ msgid "Mark <register> as being preserved across functions"
+ msgstr "registervariabele %qs gebruikt in geneste functie"
+
+-#: common.opt:355
++#: common.opt:356
+ msgid "Mark <register> as being corrupted by function calls"
+ msgstr ""
+
+-#: common.opt:362
++#: common.opt:363
+ msgid "Save registers around function calls"
+ msgstr ""
+
+-#: common.opt:366
++#: common.opt:367
+ msgid "Compare the results of several data dependence analyzers."
+ msgstr ""
+
+-#: common.opt:370
++#: common.opt:371
+ msgid "Do not put uninitialized globals in the common section"
+ msgstr ""
+
+-#: common.opt:374
++#: common.opt:375
+ msgid "Perform a register copy-propagation optimization pass"
+ msgstr ""
+
+-#: common.opt:378
++#: common.opt:379
+ msgid "Perform cross-jumping optimization"
+ msgstr ""
+
+-#: common.opt:382
++#: common.opt:383
+ msgid "When running CSE, follow jumps to their targets"
+ msgstr ""
+
+-#: common.opt:386
++#: common.opt:387
+ msgid "When running CSE, follow conditional jumps"
+ msgstr ""
+
+-#: common.opt:390
++#: common.opt:391
+ msgid "Omit range reduction step when performing complex division"
+ msgstr ""
+
+-#: common.opt:394
++#: common.opt:395
+ #, fuzzy
+ msgid "Place data items into their own section"
+ msgstr "keer vermeld voor elke functie waarin hij staat.)"
+
+-#: common.opt:398
++#: common.opt:399
+ msgid "List all available debugging counters with their limits and counts."
+ msgstr ""
+
+-#: common.opt:402
++#: common.opt:403
+ msgid "-fdbg-cnt=<counter>:<limit>[,<counter>:<limit>,...] Set the debug counter limit. "
+ msgstr ""
+
+-#: common.opt:406
++#: common.opt:407
+ msgid "Map one directory name to another in debug information"
+ msgstr ""
+
+-#: common.opt:412
++#: common.opt:413
+ msgid "Defer popping functions args from stack until later"
+ msgstr ""
+
+-#: common.opt:416
++#: common.opt:417
+ msgid "Attempt to fill delay slots of branch instructions"
+ msgstr ""
+
+-#: common.opt:420
++#: common.opt:421
+ msgid "Delete useless null pointer checks"
+ msgstr ""
+
+-#: common.opt:424
++#: common.opt:425
+ msgid "How often to emit source location at the beginning of line-wrapped diagnostics"
+ msgstr ""
+
+-#: common.opt:428
++#: common.opt:429
+ msgid "Amend appropriate diagnostic messages with the command line option that controls them"
+ msgstr ""
+
+-#: common.opt:432
++#: common.opt:433
+ msgid "Dump various compiler internals to a file"
+ msgstr ""
+
+-#: common.opt:436
++#: common.opt:437
+ msgid "Suppress output of addresses in debugging dumps"
+ msgstr ""
+
+-#: common.opt:440
++#: common.opt:441
+ msgid "Suppress output of instruction numbers, line number notes and addresses in debugging dumps"
+ msgstr ""
+
+-#: common.opt:444
++#: common.opt:445
+ #, fuzzy
+ msgid "Perform early inlining"
+ msgstr "recursieve inlining"
+
+-#: common.opt:448
++#: common.opt:449
+ msgid "Perform DWARF2 duplicate elimination"
+ msgstr ""
+
+-#: common.opt:452 common.opt:456
++#: common.opt:453 common.opt:457
+ msgid "Perform unused type elimination in debug info"
+ msgstr ""
+
+-#: common.opt:460
++#: common.opt:461
+ msgid "Do not suppress C++ class debug information."
+ msgstr ""
+
+-#: common.opt:464
++#: common.opt:465
+ msgid "Enable exception handling"
+ msgstr ""
+
+-#: common.opt:468
++#: common.opt:469
+ msgid "Perform a number of minor, expensive optimizations"
+ msgstr ""
+
+-#: common.opt:475
++#: common.opt:476
+ msgid "Assume no NaNs or infinities are generated"
+ msgstr ""
+
+-#: common.opt:479
++#: common.opt:480
+ msgid "Mark <register> as being unavailable to the compiler"
+ msgstr ""
+
+-#: common.opt:483
++#: common.opt:484
+ msgid "Don't allocate floats and doubles in extended-precision registers"
+ msgstr ""
+
+-#: common.opt:489
+-#, fuzzy
+-msgid "Copy memory address constants into registers before use"
+-msgstr "numerieke constante zonder cijfers"
++#: common.opt:488 common.opt:647 common.opt:855 common.opt:986 common.opt:1061
++msgid "Does nothing. Preserved for backward compatibility."
++msgstr ""
+
+-#: common.opt:493
++#: common.opt:492
+ msgid "Perform a forward propagation pass on RTL"
+ msgstr ""
+
+-#: common.opt:500
++#: common.opt:499
+ msgid "Allow function addresses to be held in registers"
+ msgstr ""
+
+-#: common.opt:504
++#: common.opt:503
+ #, fuzzy
+ msgid "Place each function into its own section"
+ msgstr "keer vermeld voor elke functie waarin hij staat.)"
+
+-#: common.opt:508
++#: common.opt:507
+ msgid "Perform global common subexpression elimination"
+ msgstr ""
+
+-#: common.opt:512
++#: common.opt:511
+ msgid "Perform enhanced load motion during global common subexpression elimination"
+ msgstr ""
+
+-#: common.opt:516
++#: common.opt:515
+ msgid "Perform store motion after global common subexpression elimination"
+ msgstr ""
+
+-#: common.opt:520
++#: common.opt:519
+ msgid "Perform redundant load after store elimination in global common subexpression"
+ msgstr ""
+
+-#: common.opt:525
++#: common.opt:524
+ msgid "Perform global common subexpression elimination after register allocation"
+ msgstr ""
+
+-#: common.opt:530
++#: common.opt:529
+ msgid "Enable guessing of branch probabilities"
+ msgstr ""
+
+-#: common.opt:538
++#: common.opt:537
+ #, fuzzy
+ msgid "Process #ident directives"
+ msgstr "ongeldig preprocessing-commando"
+
+-#: common.opt:542
++#: common.opt:541
+ msgid "Perform conversion of conditional jumps to branchless equivalents"
+ msgstr ""
+
+-#: common.opt:546
++#: common.opt:545
+ #, fuzzy
+ msgid "Perform conversion of conditional jumps to conditional execution"
+ msgstr "types in voorwaardelijke expressie komen niet overeen"
+
+-#: common.opt:554
++#: common.opt:553
+ msgid "Do not generate .size directives"
+ msgstr ""
+
+-#: common.opt:563
++#: common.opt:562
+ msgid "Pay attention to the \"inline\" keyword"
+ msgstr ""
+
+-#: common.opt:567
++#: common.opt:566
+ #, fuzzy
+ msgid "Integrate simple functions into their callers when code size is known to not growth"
+ msgstr "pointer naar lid-functie gebruikt in rekensom"
+
+-#: common.opt:571
++#: common.opt:570
+ #, fuzzy
+ msgid "Integrate simple functions into their callers"
+ msgstr "pointer naar lid-functie gebruikt in rekensom"
+
+-#: common.opt:575
++#: common.opt:574
+ msgid "Integrate functions called once into their callers"
+ msgstr ""
+
+-#: common.opt:582
++#: common.opt:581
+ msgid "Limit the size of inlined functions to <number>"
+ msgstr ""
+
+-#: common.opt:586
++#: common.opt:585
+ msgid "Instrument function entry and exit with profiling calls"
+ msgstr ""
+
+-#: common.opt:590
++#: common.opt:589
+ msgid "-finstrument-functions-exclude-function-list=name,... Do not instrument listed functions"
+ msgstr ""
+
+-#: common.opt:594
++#: common.opt:593
+ msgid "-finstrument-functions-exclude-file-list=filename,... Do not instrument functions listed in files"
+ msgstr ""
+
+-#: common.opt:598
++#: common.opt:597
+ msgid "Perform Interprocedural constant propagation"
+ msgstr ""
+
+-#: common.opt:602
++#: common.opt:601
+ msgid "Discover pure and const functions"
+ msgstr ""
+
+-#: common.opt:606
++#: common.opt:605
+ msgid "Perform interprocedural points-to analysis"
+ msgstr ""
+
+-#: common.opt:610
++#: common.opt:609
+ msgid "Discover readonly and non addressable static variables"
+ msgstr ""
+
+-#: common.opt:614
++#: common.opt:613
+ msgid "Type based escape and alias analysis"
+ msgstr ""
+
+-#: common.opt:618
++#: common.opt:617
+ msgid "Perform matrix layout flattening and transposing based"
+ msgstr ""
+
+-#: common.opt:623
++#: common.opt:622
+ #, fuzzy
+ msgid "Perform structure layout optimizations based"
+ msgstr "lege declaratie"
+
+-#: common.opt:628
++#: common.opt:627
+ msgid "Optimize induction variables on trees"
+ msgstr ""
+
+-#: common.opt:632
++#: common.opt:631
+ #, fuzzy
+ msgid "Use jump tables for sufficiently large switch statements"
+ msgstr "case-label niet in een switch-statement"
+
+-#: common.opt:636
++#: common.opt:635
+ #, fuzzy
+ msgid "Generate code for functions even if they are fully inlined"
+ msgstr "de terugkeerwaarde van een functie kan geen funtie zijn"
+
+-#: common.opt:640
++#: common.opt:639
+ msgid "Emit static const variables even if they are not used"
+ msgstr ""
+
+-#: common.opt:644
++#: common.opt:643
+ msgid "Give external symbols a leading underscore"
+ msgstr ""
+
+-#: common.opt:648 common.opt:852 common.opt:983
+-msgid "Does nothing. Preserved for backward compatibility."
+-msgstr ""
+-
+-#: common.opt:652
++#: common.opt:651
+ #, fuzzy
+ msgid "Set errno after built-in math functions"
+ msgstr "interne fout - slechte ingebouwde functie %qs"
+
+-#: common.opt:656
++#: common.opt:655
+ msgid "Report on permanent memory allocation"
+ msgstr ""
+
+-#: common.opt:663
++#: common.opt:662
+ msgid "Attempt to merge identical constants and constant variables"
+ msgstr ""
+
+-#: common.opt:667
++#: common.opt:666
+ msgid "Attempt to merge identical constants across compilation units"
+ msgstr ""
+
+-#: common.opt:671
++#: common.opt:670
++msgid "Attempt to merge identical debug strings across compilation units"
++msgstr ""
++
++#: common.opt:674
+ msgid "Limit diagnostics to <number> characters per line. 0 suppresses line-wrapping"
+ msgstr ""
+
+-#: common.opt:675
++#: common.opt:678
+ msgid "Perform SMS based modulo scheduling before the first scheduling pass"
+ msgstr ""
+
+-#: common.opt:679
++#: common.opt:682
+ msgid "Perform SMS based modulo scheduling with register moves allowed"
+ msgstr ""
+
+-#: common.opt:683
++#: common.opt:686
+ msgid "Move loop invariant computations out of loops"
+ msgstr ""
+
+-#: common.opt:687
++#: common.opt:690
+ msgid "Add mudflap bounds-checking instrumentation for single-threaded program"
+ msgstr ""
+
+-#: common.opt:691
++#: common.opt:694
+ msgid "Add mudflap bounds-checking instrumentation for multi-threaded program"
+ msgstr ""
+
+-#: common.opt:695
++#: common.opt:698
+ msgid "Ignore read operations when inserting mudflap instrumentation"
+ msgstr ""
+
+-#: common.opt:699
++#: common.opt:702
+ #, fuzzy
+ msgid "Use the RTL dead code elimination pass"
+ msgstr "lege declaratie"
+
+-#: common.opt:703
++#: common.opt:706
+ #, fuzzy
+ msgid "Use the RTL dead store elimination pass"
+ msgstr "lege declaratie"
+
+-#: common.opt:707
++#: common.opt:710
+ msgid "Enable/Disable the traditional scheduling in loops that already passed modulo scheduling"
+ msgstr ""
+
+-#: common.opt:711
++#: common.opt:714
+ msgid "Support synchronous non-call exceptions"
+ msgstr ""
+
+-#: common.opt:715
++#: common.opt:718
+ msgid "When possible do not generate stack frames"
+ msgstr ""
+
+-#: common.opt:719
++#: common.opt:722
+ msgid "Expand OpenMP operations on SSA form"
+ msgstr ""
+
+-#: common.opt:723
++#: common.opt:726
+ msgid "Do the full register move optimization pass"
+ msgstr ""
+
+-#: common.opt:727
++#: common.opt:730
+ msgid "Optimize sibling and tail recursive calls"
+ msgstr ""
+
+-#: common.opt:731 common.opt:735
++#: common.opt:734 common.opt:738
+ msgid "Report on memory allocation before interprocedural optimization"
+ msgstr ""
+
+-#: common.opt:739
++#: common.opt:742
+ msgid "Pack structure members together without holes"
+ msgstr ""
+
+-#: common.opt:743
++#: common.opt:746
+ msgid "Set initial maximum structure member alignment"
+ msgstr ""
+
+-#: common.opt:747
++#: common.opt:750
+ msgid "Return small aggregates in memory, not registers"
+ msgstr ""
+
+-#: common.opt:751
++#: common.opt:754
+ msgid "Perform loop peeling"
+ msgstr ""
+
+-#: common.opt:755
++#: common.opt:758
+ msgid "Enable machine specific peephole optimizations"
+ msgstr ""
+
+-#: common.opt:759
++#: common.opt:762
+ msgid "Enable an RTL peephole pass before sched2"
+ msgstr ""
+
+-#: common.opt:763
++#: common.opt:766
+ #, fuzzy
+ msgid "Generate position-independent code if possible (large mode)"
+ msgstr "Positie-onafhankelijke code wordt niet ondersteund. Genegeerd"
+
+-#: common.opt:767
++#: common.opt:770
+ #, fuzzy
+ msgid "Generate position-independent code for executables if possible (large mode)"
+ msgstr "Positie-onafhankelijke code wordt niet ondersteund. Genegeerd"
+
+-#: common.opt:771
++#: common.opt:774
+ #, fuzzy
+ msgid "Generate position-independent code if possible (small mode)"
+ msgstr "Positie-onafhankelijke code wordt niet ondersteund. Genegeerd"
+
+-#: common.opt:775
++#: common.opt:778
+ #, fuzzy
+ msgid "Generate position-independent code for executables if possible (small mode)"
+ msgstr "Positie-onafhankelijke code wordt niet ondersteund. Genegeerd"
+
+-#: common.opt:779
++#: common.opt:782
+ msgid "Run predictive commoning optimization."
+ msgstr ""
+
+-#: common.opt:783
++#: common.opt:786
+ msgid "Generate prefetch instructions, if available, for arrays in loops"
+ msgstr ""
+
+-#: common.opt:787
++#: common.opt:790
+ msgid "Enable basic program profiling code"
+ msgstr ""
+
+-#: common.opt:791
++#: common.opt:794
+ msgid "Insert arc-based program profiling code"
+ msgstr ""
+
+-#: common.opt:795
++#: common.opt:798
+ msgid "Enable common options for generating profile info for profile feedback directed optimizations"
+ msgstr ""
+
+-#: common.opt:799
++#: common.opt:802
+ msgid "Enable common options for performing profile feedback directed optimizations"
+ msgstr ""
+
+-#: common.opt:803
++#: common.opt:806
+ msgid "Insert code to profile values of expressions"
+ msgstr ""
+
+-#: common.opt:810
++#: common.opt:813
+ msgid "Make compile reproducible using <string>"
+ msgstr ""
+
+-#: common.opt:820
++#: common.opt:823
+ msgid "Record gcc command line switches in the object file."
+ msgstr ""
+
+-#: common.opt:824
++#: common.opt:827
+ msgid "Return small aggregates in registers"
+ msgstr ""
+
+-#: common.opt:828
++#: common.opt:831
+ msgid "Enables a register move optimization"
+ msgstr ""
+
+-#: common.opt:832
++#: common.opt:835
+ msgid "Perform a register renaming optimization pass"
+ msgstr ""
+
+-#: common.opt:836
++#: common.opt:839
+ msgid "Reorder basic blocks to improve code placement"
+ msgstr ""
+
+-#: common.opt:840
++#: common.opt:843
+ msgid "Reorder basic blocks and partition into hot and cold sections"
+ msgstr ""
+
+-#: common.opt:844
++#: common.opt:847
+ msgid "Reorder functions to improve code placement"
+ msgstr ""
+
+-#: common.opt:848
++#: common.opt:851
+ msgid "Add a common subexpression elimination pass after loop optimizations"
+ msgstr ""
+
+-#: common.opt:856
++#: common.opt:859
+ msgid "Disable optimizations that assume default FP rounding behavior"
+ msgstr ""
+
+-#: common.opt:860
++#: common.opt:863
+ msgid "Enable scheduling across basic blocks"
+ msgstr ""
+
+-#: common.opt:864
++#: common.opt:867
+ msgid "Allow speculative motion of non-loads"
+ msgstr ""
+
+-#: common.opt:868
++#: common.opt:871
+ msgid "Allow speculative motion of some loads"
+ msgstr ""
+
+-#: common.opt:872
++#: common.opt:875
+ msgid "Allow speculative motion of more loads"
+ msgstr ""
+
+-#: common.opt:876
++#: common.opt:879
+ msgid "Set the verbosity level of the scheduler"
+ msgstr ""
+
+-#: common.opt:880
++#: common.opt:883
+ msgid "If scheduling post reload, do superblock scheduling"
+ msgstr ""
+
+-#: common.opt:884
++#: common.opt:887
+ msgid "If scheduling post reload, do trace scheduling"
+ msgstr ""
+
+-#: common.opt:888
++#: common.opt:891
+ msgid "Reschedule instructions before register allocation"
+ msgstr ""
+
+-#: common.opt:892
++#: common.opt:895
+ msgid "Reschedule instructions after register allocation"
+ msgstr ""
+
+-#: common.opt:898
++#: common.opt:901
+ msgid "Allow premature scheduling of queued insns"
+ msgstr ""
+
+-#: common.opt:902
++#: common.opt:905
+ msgid "Set number of queued insns that can be prematurely scheduled"
+ msgstr ""
+
+-#: common.opt:910 common.opt:914
++#: common.opt:913 common.opt:917
+ msgid "Set dependence distance checking in premature scheduling of queued insns"
+ msgstr ""
+
+-#: common.opt:918
++#: common.opt:921
+ msgid "Access data in the same section from shared anchor points"
+ msgstr ""
+
+-#: common.opt:922
++#: common.opt:925
+ #, fuzzy
+ msgid "Perform sequence abstraction optimization on RTL"
+ msgstr "lege declaratie"
+
+-#: common.opt:926
++#: common.opt:929
+ msgid "Eliminate redundant sign extensions using LCM."
+ msgstr ""
+
+-#: common.opt:930
++#: common.opt:933
+ msgid "Show column numbers in diagnostics, when available. Default off"
+ msgstr ""
+
+-#: common.opt:934
++#: common.opt:937
+ msgid "Disable optimizations observable by IEEE signaling NaNs"
+ msgstr ""
+
+-#: common.opt:938
++#: common.opt:941
+ msgid "Disable floating point optimizations that ignore the IEEE signedness of zero"
+ msgstr ""
+
+-#: common.opt:942
++#: common.opt:945
+ #, fuzzy
+ msgid "Convert floating point constants to single precision constants"
+ msgstr "floating-point fout bij het uitschrijven van een constante"
+
+-#: common.opt:946
++#: common.opt:949
+ msgid "Split lifetimes of induction variables when loops are unrolled"
+ msgstr ""
+
+-#: common.opt:950
++#: common.opt:953
+ msgid "Split wide types into independent registers"
+ msgstr ""
+
+-#: common.opt:954
++#: common.opt:957
+ msgid "Apply variable expansion when loops are unrolled"
+ msgstr ""
+
+-#: common.opt:960
++#: common.opt:963
+ msgid "Insert stack checking code into the program"
+ msgstr ""
+
+-#: common.opt:967
++#: common.opt:970
+ msgid "Trap if the stack goes past <register>"
+ msgstr ""
+
+-#: common.opt:971
++#: common.opt:974
+ msgid "Trap if the stack goes past symbol <name>"
+ msgstr ""
+
+-#: common.opt:975
++#: common.opt:978
+ msgid "Use propolice as a stack protection method"
+ msgstr ""
+
+-#: common.opt:979
++#: common.opt:982
+ msgid "Use a stack protection method for every function"
+ msgstr ""
+
+-#: common.opt:991
++#: common.opt:994
+ msgid "Assume strict aliasing rules apply"
+ msgstr ""
+
+-#: common.opt:995
++#: common.opt:998
+ msgid "Treat signed overflow as undefined"
+ msgstr ""
+
+-#: common.opt:999
++#: common.opt:1002
+ msgid "Check for syntax errors, then stop"
+ msgstr ""
+
+-#: common.opt:1003
++#: common.opt:1006
+ msgid "Create data files needed by \"gcov\""
+ msgstr ""
+
+-#: common.opt:1007
++#: common.opt:1010
+ msgid "Perform jump threading optimizations"
+ msgstr ""
+
+-#: common.opt:1011
++#: common.opt:1014
+ msgid "Report the time taken by each compiler pass"
+ msgstr ""
+
+-#: common.opt:1015
++#: common.opt:1018
+ msgid "Set the default thread-local storage code generation model"
+ msgstr ""
+
+-#: common.opt:1019
++#: common.opt:1022
+ msgid "Reorder top level functions, variables, and asms"
+ msgstr ""
+
+-#: common.opt:1023
++#: common.opt:1026
+ msgid "Perform superblock formation via tail duplication"
+ msgstr ""
+
+-#: common.opt:1030
++#: common.opt:1033
+ #, fuzzy
+ msgid "Assume floating-point operations can trap"
+ msgstr "floating-point constante buiten bereik"
+
+-#: common.opt:1034
++#: common.opt:1037
+ msgid "Trap for signed overflow in addition, subtraction and multiplication"
+ msgstr ""
+
+-#: common.opt:1038
++#: common.opt:1041
+ #, fuzzy
+ msgid "Enable SSA-CCP optimization on trees"
+ msgstr "lege declaratie"
+
+-#: common.opt:1042
++#: common.opt:1045
+ #, fuzzy
+ msgid "Enable SSA-CCP optimization for stores and loads"
+ msgstr "lege declaratie"
+
+-#: common.opt:1046
++#: common.opt:1049
+ msgid "Enable loop header copying on trees"
+ msgstr ""
+
+-#: common.opt:1050
++#: common.opt:1053
+ msgid "Replace SSA temporaries with better names in copies"
+ msgstr ""
+
+-#: common.opt:1054
++#: common.opt:1057
+ #, fuzzy
+ msgid "Enable copy propagation on trees"
+ msgstr "lege declaratie"
+
+-#: common.opt:1058
++#: common.opt:1065
+ #, fuzzy
+-msgid "This switch is obsolete"
+-msgstr "Deze optie heeft geen documentatie"
+-
+-#: common.opt:1062
+-#, fuzzy
+ msgid "Transform condition stores into unconditional ones"
+ msgstr "types in voorwaardelijke expressie komen niet overeen"
+
+-#: common.opt:1066
++#: common.opt:1069
+ msgid "Enable SSA dead code elimination optimization on trees"
+ msgstr ""
+
+-#: common.opt:1070
++#: common.opt:1073
+ #, fuzzy
+ msgid "Enable dominator optimizations"
+ msgstr "lege declaratie"
+
+-#: common.opt:1074
++#: common.opt:1077
+ #, fuzzy
+ msgid "Enable dead store elimination"
+ msgstr "lege declaratie"
+
+-#: common.opt:1078
++#: common.opt:1081
+ msgid "Enable Full Redundancy Elimination (FRE) on trees"
+ msgstr ""
+
+-#: common.opt:1082
++#: common.opt:1085
+ msgid "Enable loop invariant motion on trees"
+ msgstr ""
+
+-#: common.opt:1086
++#: common.opt:1089
+ #, fuzzy
+ msgid "Enable linear loop transforms on trees"
+ msgstr "lege declaratie"
+
+-#: common.opt:1090
++#: common.opt:1093
+ msgid "Create canonical induction variables in loops"
+ msgstr ""
+
+-#: common.opt:1094
++#: common.opt:1097
+ #, fuzzy
+ msgid "Enable loop optimizations on tree level"
+ msgstr "lege declaratie"
+
+-#: common.opt:1098
++#: common.opt:1101
+ msgid "Enable automatic parallelization of loops"
+ msgstr ""
+
+-#: common.opt:1102
++#: common.opt:1105
+ #, fuzzy
+ msgid "Enable SSA-PRE optimization on trees"
+ msgstr "lege declaratie"
+
+-#: common.opt:1106
++#: common.opt:1109
+ #, fuzzy
+ msgid "Enable reassociation on tree level"
+ msgstr "lege declaratie"
+
+-#: common.opt:1110
++#: common.opt:1113
+ msgid "Perform structural alias analysis"
+ msgstr ""
+
+-#: common.opt:1114
++#: common.opt:1117
+ #, fuzzy
+ msgid "Enable SSA code sinking on trees"
+ msgstr "lege declaratie"
+
+-#: common.opt:1118
++#: common.opt:1121
+ msgid "Perform scalar replacement of aggregates"
+ msgstr ""
+
+-#: common.opt:1122
++#: common.opt:1125
+ msgid "Replace temporary expressions in the SSA->normal pass"
+ msgstr ""
+
+-#: common.opt:1126
++#: common.opt:1129
+ msgid "Perform live range splitting during the SSA->normal pass"
+ msgstr ""
+
+-#: common.opt:1130
++#: common.opt:1133
+ msgid "Perform Value Range Propagation on trees"
+ msgstr ""
+
+-#: common.opt:1134
++#: common.opt:1137
+ msgid "Compile whole compilation unit at a time"
+ msgstr ""
+
+-#: common.opt:1138
++#: common.opt:1141
+ msgid "Perform loop unrolling when iteration count is known"
+ msgstr ""
+
+-#: common.opt:1142
++#: common.opt:1145
+ msgid "Perform loop unrolling for all loops"
+ msgstr ""
+
+-#: common.opt:1149
++#: common.opt:1152
+ msgid "Allow loop optimizations to assume that the loops behave in normal way"
+ msgstr ""
+
+-#: common.opt:1153
++#: common.opt:1156
+ msgid "Allow optimization for floating-point arithmetic which may change the"
+ msgstr ""
+
+-#: common.opt:1158
++#: common.opt:1161
+ msgid "Same as -fassociative-math for expressions which include division."
+ msgstr ""
+
+-#: common.opt:1166
++#: common.opt:1169
+ msgid "Allow math optimizations that may violate IEEE or ISO standards"
+ msgstr ""
+
+-#: common.opt:1170
++#: common.opt:1173
+ msgid "Perform loop unswitching"
+ msgstr ""
+
+-#: common.opt:1174
++#: common.opt:1177
+ msgid "Just generate unwind tables for exception handling"
+ msgstr ""
+
+-#: common.opt:1178
++#: common.opt:1181
+ msgid "Perform variable tracking"
+ msgstr ""
+
+-#: common.opt:1182
++#: common.opt:1185
+ msgid "Perform variable tracking and also tag variables that are uninitialized"
+ msgstr ""
+
+-#: common.opt:1186
++#: common.opt:1189
+ msgid "Enable loop vectorization on trees"
+ msgstr ""
+
+-#: common.opt:1190
++#: common.opt:1193
+ #, fuzzy
+ msgid "Enable use of cost model in vectorization"
+ msgstr "ongeldig gebruik van %<restrict%>"
+
+-#: common.opt:1194
++#: common.opt:1197
+ #, fuzzy
+ msgid "Enable loop versioning when doing loop vectorization on trees"
+ msgstr "lege declaratie"
+
+-#: common.opt:1198
++#: common.opt:1201
+ msgid "Set the verbosity level of the vectorizer"
+ msgstr ""
+
+-#: common.opt:1202
++#: common.opt:1205
+ #, fuzzy
+ msgid "Enable copy propagation of scalar-evolution information."
+ msgstr "lege declaratie"
+
+-#: common.opt:1212
++#: common.opt:1215
+ msgid "Add extra commentary to assembler output"
+ msgstr ""
+
+-#: common.opt:1216
++#: common.opt:1219
+ msgid "Set the default symbol visibility"
+ msgstr ""
+
+-#: common.opt:1221
++#: common.opt:1224
+ msgid "Use expression value profiles in optimizations"
+ msgstr ""
+
+-#: common.opt:1225
++#: common.opt:1228
+ msgid "Construct webs and split unrelated uses of single variable"
+ msgstr ""
+
+-#: common.opt:1229
++#: common.opt:1232
+ #, fuzzy
+ msgid "Perform whole program optimizations"
+ msgstr "lege declaratie"
+
+-#: common.opt:1233
++#: common.opt:1236
+ msgid "Assume signed arithmetic overflow wraps around"
+ msgstr ""
+
+-#: common.opt:1237
++#: common.opt:1240
+ msgid "Put zero initialized data in the bss section"
+ msgstr ""
+
+-#: common.opt:1241
++#: common.opt:1244
+ msgid "Generate debug information in default format"
+ msgstr ""
+
+-#: common.opt:1245
++#: common.opt:1248
+ msgid "Generate debug information in COFF format"
+ msgstr ""
+
+-#: common.opt:1249
++#: common.opt:1252
+ msgid "Generate debug information in DWARF v2 format"
+ msgstr ""
+
+-#: common.opt:1253
++#: common.opt:1256
+ msgid "Generate debug information in default extended format"
+ msgstr ""
+
+-#: common.opt:1257
++#: common.opt:1260
+ msgid "Generate debug information in STABS format"
+ msgstr ""
+
+-#: common.opt:1261
++#: common.opt:1264
+ msgid "Generate debug information in extended STABS format"
+ msgstr ""
+
+-#: common.opt:1265
++#: common.opt:1268
+ msgid "Generate debug information in VMS format"
+ msgstr ""
+
+-#: common.opt:1269
++#: common.opt:1272
+ msgid "Generate debug information in XCOFF format"
+ msgstr ""
+
+-#: common.opt:1273
++#: common.opt:1276
+ msgid "Generate debug information in extended XCOFF format"
+ msgstr ""
+
+-#: common.opt:1277
++#: common.opt:1280
+ msgid "Place output into <file>"
+ msgstr ""
+
+-#: common.opt:1281
++#: common.opt:1284
+ msgid "Enable function profiling"
+ msgstr ""
+
+-#: common.opt:1285
++#: common.opt:1288
+ msgid "Issue warnings needed for strict compliance to the standard"
+ msgstr "Geef waarschuwingen om stricte opvolging van de standaard te garanderen"
+
+-#: common.opt:1289
++#: common.opt:1292
+ msgid "Like -pedantic but issue them as errors"
+ msgstr "Zoals -pedantic, maar beschouw problemen als fouten"
+
+-#: common.opt:1293
++#: common.opt:1296
+ msgid "Do not display functions compiled or elapsed time"
+ msgstr ""
+
+-#: common.opt:1297
++#: common.opt:1300
+ msgid "Display the compiler's version"
+ msgstr ""
+
+-#: common.opt:1301
++#: common.opt:1304
+ msgid "Suppress warnings"
+ msgstr "Onderdruk waarschuwingen"
+
+-#: common.opt:1305
++#: common.opt:1308
+ msgid "Create a shared library"
+ msgstr ""
+
+-#: common.opt:1309
++#: common.opt:1312
+ #, fuzzy
+ msgid "Create a position independent executable"
+ msgstr "Positie-onafhankelijke code wordt niet ondersteund. Genegeerd"
+
++#: c.opt:41
++msgid "Assert the <answer> to <question>. Putting '-' before <question> disables the <answer> to <question>"
++msgstr ""
++
++#: c.opt:45
++#, fuzzy
++msgid "Do not discard comments"
++msgstr "niet-beëindigde commentaar"
++
++#: c.opt:49
++msgid "Do not discard comments in macro expansions"
++msgstr ""
++
++#: c.opt:53
++msgid "Define a <macro> with <val> as its value. If just <macro> is given, <val> is taken to be 1"
++msgstr ""
++
++#: c.opt:60
++msgid "Add <dir> to the end of the main framework include path"
++msgstr ""
++
++#: c.opt:64
++msgid "Print the name of header files as they are used"
++msgstr ""
++
++#: c.opt:68 c.opt:863
++msgid "Add <dir> to the end of the main include path"
++msgstr ""
++
++#: c.opt:72
++#, fuzzy
++msgid "Generate make dependencies"
++msgstr "Positie-onafhankelijke code wordt niet ondersteund. Genegeerd"
++
++#: c.opt:76
++#, fuzzy
++msgid "Generate make dependencies and compile"
++msgstr "Positie-onafhankelijke code wordt niet ondersteund. Genegeerd"
++
++#: c.opt:80
++msgid "Write dependency output to the given file"
++msgstr ""
++
++#: c.opt:84
++msgid "Treat missing header files as generated files"
++msgstr ""
++
++#: c.opt:88
++msgid "Like -M but ignore system header files"
++msgstr ""
++
++#: c.opt:92
++msgid "Like -MD but ignore system header files"
++msgstr ""
++
++#: c.opt:96
++#, fuzzy
++msgid "Generate phony targets for all headers"
++msgstr "case-label niet in een switch-statement"
++
++#: c.opt:100
++msgid "Add a MAKE-quoted target"
++msgstr ""
++
++#: c.opt:104
++msgid "Add an unquoted target"
++msgstr ""
++
++#: c.opt:108
++#, fuzzy
++msgid "Do not generate #line directives"
++msgstr "interne fout - slechte ingebouwde functie %qs"
++
++#: c.opt:112
++msgid "Undefine <macro>"
++msgstr ""
++
++#: c.opt:116
++msgid "Warn about things that will change when compiling with an ABI-compliant compiler"
++msgstr ""
++
++#: c.opt:120
++#, fuzzy
++msgid "Warn about suspicious uses of memory addresses"
++msgstr "geen eerdere declaratie voor %qs"
++
++#: c.opt:124
++msgid "Enable most warning messages"
++msgstr ""
++
++#: c.opt:128
++#, fuzzy
++msgid "Warn if a comparison is always true or always false due to the limited range of the data type"
++msgstr "vergelijking is altijd vals omwille van het beperkte bereik van het datatype"
++
++#: c.opt:132
++msgid "Warn whenever an Objective-C assignment is being intercepted by the garbage collector"
++msgstr ""
++
++#: c.opt:136
++#, fuzzy
++msgid "Warn about casting functions to incompatible types"
++msgstr "parameter wijst naar een onvolledig type"
++
++#: c.opt:140
++msgid "Warn about C constructs that are not in the common subset of C and C++"
++msgstr ""
++
++#: c.opt:144
++msgid "Warn about C++ constructs whose meaning differs between ISO C++ 1998 and ISO C++ 200x"
++msgstr ""
++
++#: c.opt:148
++msgid "Warn about casts which discard qualifiers"
++msgstr ""
++
++#: c.opt:152
++#, fuzzy
++msgid "Warn about subscripts whose type is \"char\""
++msgstr "array subscript is van het type %<char%>"
++
++#: c.opt:156
++msgid "Warn about variables that might be changed by \"longjmp\" or \"vfork\""
++msgstr ""
++
++#: c.opt:160
++msgid "Warn about possibly nested block comments, and C++ comments spanning more than one physical line"
++msgstr ""
++
++#: c.opt:164
++msgid "Synonym for -Wcomment"
++msgstr ""
++
++#: c.opt:168
++msgid "Warn for implicit type conversions that may change a value"
++msgstr ""
++
++#: c.opt:172
++#, fuzzy
++msgid "Warn for implicit type conversions between signed and unsigned integers"
++msgstr "vergelijking tussen signed en unsigned"
++
++#: c.opt:176
++msgid "Warn when all constructors and destructors are private"
++msgstr ""
++
++#: c.opt:180
++msgid "Warn when a declaration is found after a statement"
++msgstr ""
++
++#: c.opt:184
++#, fuzzy
++msgid "Warn about deprecated compiler features"
++msgstr "niet-prototype definitie hier"
++
++#: c.opt:188
++msgid "Warn about compile-time integer division by zero"
++msgstr ""
++
++#: c.opt:192
++msgid "Warn about violations of Effective C++ style rules"
++msgstr ""
++
++#: c.opt:196
++#, fuzzy
++msgid "Warn about an empty body in an if or else statement"
++msgstr "leeg body in een else-statement"
++
++#: c.opt:200
++msgid "Warn about stray tokens after #elif and #endif"
++msgstr ""
++
++#: c.opt:208
++msgid "This switch is deprecated; use -Werror=implicit-function-declaration instead"
++msgstr ""
++
++#: c.opt:212
++msgid "Warn if testing floating point numbers for equality"
++msgstr ""
++
++#: c.opt:216
++#, fuzzy
++msgid "Warn about printf/scanf/strftime/strfmon format string anomalies"
++msgstr "formaatstring niet beëindigd"
++
++#: c.opt:220
++msgid "Warn if passing too many arguments to a function for its format string"
++msgstr ""
++
++#: c.opt:224
++msgid "Warn about format strings that are not literals"
++msgstr ""
++
++#: c.opt:228
++msgid "Warn about format strings that contain NUL bytes"
++msgstr ""
++
++#: c.opt:232
++msgid "Warn about possible security problems with format functions"
++msgstr ""
++
++#: c.opt:236
++msgid "Warn about strftime formats yielding 2-digit years"
++msgstr ""
++
++#: c.opt:240
++#, fuzzy
++msgid "Warn about zero-length formats"
++msgstr "%s formaatstring van lengte 0"
++
++#: c.opt:247
++msgid "Warn whenever type qualifiers are ignored."
++msgstr ""
++
++#: c.opt:251
++msgid "Warn about variables which are initialized to themselves"
++msgstr ""
++
++#: c.opt:258
++#, fuzzy
++msgid "Warn about implicit function declarations"
++msgstr "parameternamen (zonder types) in functiedeclaratie"
++
++#: c.opt:262
++msgid "Warn when a declaration does not specify a type"
++msgstr ""
++
++#: c.opt:266
++msgid "Deprecated. This switch has no effect"
++msgstr ""
++
++#: c.opt:270
++#, fuzzy
++msgid "Warn when there is a cast to a pointer from an integer of a different size"
++msgstr "cast naar pointer van integer met andere grootte"
++
++#: c.opt:274
++#, fuzzy
++msgid "Warn about invalid uses of the \"offsetof\" macro"
++msgstr "lijnnummer buiten bereik in %<#line%>-commando"
++
++#: c.opt:278
++msgid "Warn about PCH files that are found but not used"
++msgstr ""
++
++#: c.opt:282
++msgid "Do not warn about using \"long long\" when -pedantic"
++msgstr ""
++
++#: c.opt:286
++#, fuzzy
++msgid "Warn about suspicious declarations of \"main\""
++msgstr "geen eerdere declaratie voor %qs"
++
++#: c.opt:290
++#, fuzzy
++msgid "Warn about possibly missing braces around initializers"
++msgstr "accolades ontbreken rond beginwaarde"
++
++#: c.opt:294
++#, fuzzy
++msgid "Warn about global functions without previous declarations"
++msgstr "sectie van %qs geeft een conflict met een eerdere declaratie"
++
++#: c.opt:298
++#, fuzzy
++msgid "Warn about missing fields in struct initializers"
++msgstr "accolades ontbreken rond beginwaarde"
++
++#: c.opt:302
++#, fuzzy
++msgid "Warn about functions which might be candidates for format attributes"
++msgstr "deze functie is een mogelijke kandidaat voor het %<noreturn%> attribuut"
++
++#: c.opt:306
++msgid "Warn about user-specified include directories that do not exist"
++msgstr ""
++
++#: c.opt:310
++msgid "Warn about function parameters declared without a type specifier in K&R-style functions"
++msgstr ""
++
++#: c.opt:314
++#, fuzzy
++msgid "Warn about global functions without prototypes"
++msgstr "sectie van %qs geeft een conflict met een eerdere declaratie"
++
++#: c.opt:318
++#, fuzzy
++msgid "Warn about use of multi-character character constants"
++msgstr "karakterconstante met meer dan één karakter"
++
++#: c.opt:322
++#, fuzzy
++msgid "Warn about \"extern\" declarations not at file scope"
++msgstr "overbodige herdeclaratie van %qs in zelfde bereik"
++
++#: c.opt:326
++#, fuzzy
++msgid "Warn when non-templatized friend functions are declared within a template"
++msgstr "geneste functie %qs is als %<extern%> gedeclareerd"
++
++#: c.opt:330
++#, fuzzy
++msgid "Warn about non-virtual destructors"
++msgstr "niet-prototype definitie hier"
++
++#: c.opt:334
++msgid "Warn about NULL being passed to argument slots marked as requiring non-NULL"
++msgstr ""
++
++#: c.opt:338
++#, fuzzy
++msgid "Warn about non-normalised Unicode strings"
++msgstr "niet-prototype definitie hier"
++
++#: c.opt:342
++msgid "Warn if a C-style cast is used in a program"
++msgstr ""
++
++#: c.opt:346
++#, fuzzy
++msgid "Warn for obsolescent usage in a declaration"
++msgstr "parameternamen (zonder types) in functiedeclaratie"
++
++#: c.opt:350
++msgid "Warn if an old-style parameter definition is used"
++msgstr ""
++
++#: c.opt:354
++msgid "Warn if a string is longer than the maximum portable length specified by the standard"
++msgstr ""
++
++#: c.opt:358
++msgid "Warn about overloaded virtual function names"
++msgstr ""
++
++#: c.opt:362
++msgid "Warn about overriding initializers without side effects"
++msgstr ""
++
++#: c.opt:366
++#, fuzzy
++msgid "Warn about possibly missing parentheses"
++msgstr "accolades ontbreken rond beginwaarde"
++
++#: c.opt:370
++msgid "Warn when converting the type of pointers to member functions"
++msgstr ""
++
++#: c.opt:374
++#, fuzzy
++msgid "Warn about function pointer arithmetic"
++msgstr "pointer naar functie gebruikt in rekensom"
++
++#: c.opt:378
++#, fuzzy
++msgid "Warn when a pointer is cast to an integer of a different size"
++msgstr "cast van pointer naar integer met andere grootte"
++
++# Moet 'signature-string' vertaald worden?
++#: c.opt:382
++#, fuzzy
++msgid "Warn about misuses of pragmas"
++msgstr "Brol aan einde van signature-string."
++
++#: c.opt:386
++msgid "Warn if inherited methods are unimplemented"
++msgstr ""
++
++#: c.opt:390
++#, fuzzy
++msgid "Warn about multiple declarations of the same object"
++msgstr "overbodige herdeclaratie van %qs in zelfde bereik"
++
++#: c.opt:394
++#, fuzzy
++msgid "Warn when the compiler reorders code"
++msgstr "incompatibele record-modus"
++
++#: c.opt:398
++#, fuzzy
++msgid "Warn whenever a function's return type defaults to \"int\" (C), or about inconsistent return types (C++)"
++msgstr "teruggeefwaarde krijgt standaardtype %<int%>"
++
++#: c.opt:402
++msgid "Warn if a selector has multiple methods"
++msgstr ""
++
++#: c.opt:406
++msgid "Warn about possible violations of sequence point rules"
++msgstr ""
++
++#: c.opt:410
++#, fuzzy
++msgid "Warn about signed-unsigned comparisons"
++msgstr "formaatstring niet beëindigd"
++
++#: c.opt:414
++#, fuzzy
++msgid "Warn when overload promotes from unsigned to signed"
++msgstr "vergelijking van gepromoveerde ~unsigned met unsigned"
++
++#: c.opt:418
++msgid "Warn about uncasted NULL used as sentinel"
++msgstr ""
++
++#: c.opt:422
++#, fuzzy
++msgid "Warn about unprototyped function declarations"
++msgstr "niet-prototype definitie hier"
++
++#: c.opt:426
++msgid "Warn if type signatures of candidate methods do not match exactly"
++msgstr ""
++
++#: c.opt:430
++msgid "Warn when synthesis behavior differs from Cfront"
++msgstr ""
++
++#: c.opt:438
++msgid "Warn about features not present in traditional C"
++msgstr ""
++
++#: c.opt:442
++msgid "Warn of prototypes causing type conversions different from what would happen in the absence of prototype"
++msgstr ""
++
++#: c.opt:446
++msgid "Warn if trigraphs are encountered that might affect the meaning of the program"
++msgstr ""
++
++#: c.opt:450
++#, fuzzy
++msgid "Warn about @selector()s without previously declared methods"
++msgstr "sectie van %qs geeft een conflict met een eerdere declaratie"
++
++#: c.opt:454
++#, fuzzy
++msgid "Warn if an undefined macro is used in an #if directive"
++msgstr "ongedefinieerd of ongeldig #-commando"
++
++#: c.opt:458
++msgid "Warn about unrecognized pragmas"
++msgstr ""
++
++#: c.opt:462
++msgid "Warn about macros defined in the main file that are not used"
++msgstr ""
++
++#: c.opt:466
++msgid "Do not warn about using variadic macros when -pedantic"
++msgstr ""
++
++#: c.opt:470
++msgid "Warn if a variable length array is used"
++msgstr ""
++
++#: c.opt:474
++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.opt:478
++#, fuzzy
++msgid "Warn when a pointer differs in signedness in an assignment"
++msgstr "vergelijking van gepromoveerde ~unsigned met unsigned"
++
++#: c.opt:482
++msgid "A synonym for -std=c89 (for C) or -std=c++98 (for C++)"
++msgstr ""
++
++#: c.opt:490
++msgid "Enforce class member access control semantics"
++msgstr ""
++
++#: c.opt:497
++msgid "Change when template instances are emitted"
++msgstr ""
++
++#: c.opt:501
++msgid "Recognize the \"asm\" keyword"
++msgstr ""
++
++#: c.opt:505
++#, fuzzy
++msgid "Recognize built-in functions"
++msgstr "interne fout - slechte ingebouwde functie %qs"
++
++#: c.opt:512
++msgid "Check the return value of new"
++msgstr ""
++
++#: c.opt:516
++msgid "Allow the arguments of the '?' operator to have different types"
++msgstr ""
++
++#: c.opt:520
++msgid "Reduce the size of object files"
++msgstr ""
++
++#: c.opt:524
++#, fuzzy
++msgid "Use class <name> for constant strings"
++msgstr "offset buiten de grenzen van een constante string"
++
++#: c.opt:528
++#, fuzzy
++msgid "Inline member functions by default"
++msgstr "kan functie %<main%> niet inline maken"
++
++#: c.opt:532
++#, fuzzy
++msgid "Preprocess directives only."
++msgstr "ongeldig preprocessing-commando"
++
++# "brede string"? "string met brede karakters/tekens"?
++#: c.opt:536
++#, fuzzy
++msgid "Permit '$' as an identifier character"
++msgstr "formaat is een wide-character string"
++
++#: c.opt:543
++#, fuzzy
++msgid "Generate code to check exception specifications"
++msgstr "%qs gedeclareerd als een functie die een functie teruggeeft"
++
++#: c.opt:550
++msgid "Convert all strings and character constants to character set <cset>"
++msgstr ""
++
++#: c.opt:554
++msgid "Permit universal character names (\\u and \\U) in identifiers"
++msgstr ""
++
++#: c.opt:558
++msgid "Specify the default character set for source files"
++msgstr ""
++
++#: c.opt:566
++msgid "Scope of for-init-statement variables is local to the loop"
++msgstr ""
++
++#: c.opt:570
++msgid "Do not assume that standard C libraries and \"main\" exist"
++msgstr ""
++
++#: c.opt:574
++msgid "Recognize GNU-defined keywords"
++msgstr ""
++
++#: c.opt:578
++msgid "Generate code for GNU runtime environment"
++msgstr ""
++
++#: c.opt:582
++msgid "Use traditional GNU semantics for inline functions"
++msgstr ""
++
++#: c.opt:595
++msgid "Assume normal C execution environment"
++msgstr ""
++
++#: c.opt:599
++msgid "Enable support for huge objects"
++msgstr ""
++
++#: c.opt:603
++#, fuzzy
++msgid "Export functions even if they can be inlined"
++msgstr "de terugkeerwaarde van een functie kan geen funtie zijn"
++
++#: c.opt:607
++#, fuzzy
++msgid "Emit implicit instantiations of inline templates"
++msgstr "impliciete declaratie van functie %qs"
++
++#: c.opt:611
++#, fuzzy
++msgid "Emit implicit instantiations of templates"
++msgstr "impliciete declaratie van functie %qs"
++
++#: c.opt:615
++msgid "Inject friend functions into enclosing namespace"
++msgstr ""
++
++#: c.opt:622
++msgid "Allow implicit conversions between vectors with differing numbers of subparts and/or differing element types."
++msgstr ""
++
++#: c.opt:626
++msgid "Don't warn about uses of Microsoft extensions"
++msgstr ""
++
++#: c.opt:636
++msgid "Generate code for NeXT (Apple Mac OS X) runtime environment"
++msgstr ""
++
++#: c.opt:640
++msgid "Assume that receivers of Objective-C messages may be nil"
++msgstr ""
++
++#: c.opt:652
++msgid "Generate special Objective-C methods to initialize/destroy non-POD C++ ivars, if needed"
++msgstr ""
++
++#: c.opt:656
++msgid "Allow fast jumps to the message dispatcher"
++msgstr ""
++
++#: c.opt:662
++msgid "Enable Objective-C exception and synchronization syntax"
++msgstr ""
++
++#: c.opt:666
++msgid "Enable garbage collection (GC) in Objective-C/Objective-C++ programs"
++msgstr ""
++
++#: c.opt:671
++msgid "Enable Objective-C setjmp exception handling runtime"
++msgstr ""
++
++#: c.opt:675
++msgid "Enable OpenMP"
++msgstr ""
++
++#: c.opt:679
++msgid "Recognize C++ kewords like \"compl\" and \"xor\""
++msgstr ""
++
++#: c.opt:683
++msgid "Enable optional diagnostics"
++msgstr ""
++
++#: c.opt:690
++msgid "Look for and use PCH files even when preprocessing"
++msgstr ""
++
++#: c.opt:694
++msgid "Downgrade conformance errors to warnings"
++msgstr ""
++
++#: c.opt:698
++msgid "Treat the input file as already preprocessed"
++msgstr ""
++
++#: c.opt:702
++msgid "Used in Fix-and-Continue mode to indicate that object files may be swapped in at runtime"
++msgstr ""
++
++#: c.opt:706
++msgid "Enable automatic template instantiation"
++msgstr ""
++
++#: c.opt:710
++msgid "Generate run time type descriptor information"
++msgstr ""
++
++#: c.opt:714
++msgid "Use the same size for double as for float"
++msgstr ""
++
++#: c.opt:722
++msgid "Force the underlying type for \"wchar_t\" to be \"unsigned short\""
++msgstr ""
++
++#: c.opt:726
++msgid "When \"signed\" or \"unsigned\" is not given make the bitfield signed"
++msgstr ""
++
++#: c.opt:730
++msgid "Make \"char\" signed by default"
++msgstr ""
++
++#: c.opt:737
++msgid "Display statistics accumulated during compilation"
++msgstr ""
++
++#: c.opt:744
++msgid "Distance between tab stops for column reporting"
++msgstr ""
++
++#: c.opt:748
++msgid "Specify maximum template instantiation depth"
++msgstr ""
++
++#: c.opt:755
++msgid "Do not generate thread-safe code for initializing local statics"
++msgstr ""
++
++#: c.opt:759
++msgid "When \"signed\" or \"unsigned\" is not given make the bitfield unsigned"
++msgstr ""
++
++#: c.opt:763
++msgid "Make \"char\" unsigned by default"
++msgstr ""
++
++#: c.opt:767
++msgid "Use __cxa_atexit to register destructors"
++msgstr ""
++
++#: c.opt:771
++msgid "Use __cxa_get_exception_ptr in exception handling"
++msgstr ""
++
++#: c.opt:775
++msgid "Marks all inlined methods as having hidden visibility"
++msgstr ""
++
++#: c.opt:779
++msgid "Changes visibility to match Microsoft Visual Studio by default"
++msgstr ""
++
++#: c.opt:783
++msgid "Discard unused virtual functions"
++msgstr ""
++
++#: c.opt:787
++msgid "Implement vtables using thunks"
++msgstr ""
++
++#: c.opt:791
++msgid "Emit common-like symbols as weak symbols"
++msgstr ""
++
++#: c.opt:795
++msgid "Convert all wide strings and character constants to character set <cset>"
++msgstr ""
++
++#: c.opt:799
++msgid "Generate a #line directive pointing at the current working directory"
++msgstr ""
++
++#: c.opt:803
++msgid "Emit cross referencing information"
++msgstr ""
++
++#: c.opt:807
++msgid "Generate lazy class lookup (via objc_getClass()) for use in Zero-Link mode"
++msgstr ""
++
++#: c.opt:811
++msgid "Dump declarations to a .decl file"
++msgstr ""
++
++#: c.opt:815
++msgid "Aggressive reduced debug info for structs"
++msgstr ""
++
++#: c.opt:819
++msgid "Conservative reduced debug info for structs"
++msgstr ""
++
++#: c.opt:823
++msgid "Detailed reduced debug info for structs"
++msgstr ""
++
++#: c.opt:827 c.opt:859
++msgid "Add <dir> to the end of the system include path"
++msgstr ""
++
++#: c.opt:831
++msgid "Accept definition of macros in <file>"
++msgstr ""
++
++#: c.opt:835
++msgid "-imultilib <dir> Set <dir> to be the multilib include subdirectory"
++msgstr ""
++
++#: c.opt:839
++msgid "Include the contents of <file> before other files"
++msgstr ""
++
++#: c.opt:843
++msgid "Specify <path> as a prefix for next two options"
++msgstr ""
++
++#: c.opt:847
++msgid "Set <dir> to be the system root directory"
++msgstr ""
++
++#: c.opt:851
++msgid "Add <dir> to the start of the system include path"
++msgstr ""
++
++#: c.opt:855
++msgid "Add <dir> to the end of the quote include path"
++msgstr ""
++
++#: c.opt:876
++msgid "Do not search standard system include directories (those specified with -isystem will still be used)"
++msgstr ""
++
++#: c.opt:880
++msgid "Do not search standard system include directories for C++"
++msgstr ""
++
++#: c.opt:896
++msgid "Generate C header of platform-specific features"
++msgstr ""
++
++#: c.opt:900
++msgid "Print a checksum of the executable for PCH validity checking, and stop"
++msgstr ""
++
++#: c.opt:904
++msgid "Remap file names when including files"
++msgstr ""
++
++#: c.opt:908
++msgid "Conform to the ISO 1998 C++ standard"
++msgstr "Volg de ISO 1998 C++ standaard"
++
++#: c.opt:912
++#, fuzzy
++msgid "Conform to the ISO 1998 C++ standard, with extensions that are likely to"
++msgstr "Volg de ISO 1998 C++ standaard met GNU uitbreidingen"
++
++#: c.opt:919 c.opt:954
++msgid "Conform to the ISO 1990 C standard"
++msgstr "Volg de ISO 1990 C standaard"
++
++#: c.opt:923 c.opt:962
++msgid "Conform to the ISO 1999 C standard"
++msgstr "Volg de ISO 1999 C standaard"
++
++#: c.opt:927
++msgid "Deprecated in favor of -std=c99"
++msgstr "Verouderd; gebruik liever -std=c99"
++
++#: c.opt:931
++msgid "Conform to the ISO 1998 C++ standard with GNU extensions"
++msgstr "Volg de ISO 1998 C++ standaard met GNU uitbreidingen"
++
++#: c.opt:935
++#, fuzzy
++msgid "Conform to the ISO 1998 C++ standard, with GNU extensions and"
++msgstr "Volg de ISO 1998 C++ standaard met GNU uitbreidingen"
++
++#: c.opt:942
++msgid "Conform to the ISO 1990 C standard with GNU extensions"
++msgstr "Volg de ISO 1990 C standaard met GNU uitbreidingen"
++
++#: c.opt:946
++msgid "Conform to the ISO 1999 C standard with GNU extensions"
++msgstr "Volg de ISO 1999 C standaard met GNU uitbreidingen"
++
++#: c.opt:950
++msgid "Deprecated in favor of -std=gnu99"
++msgstr "Verouderd; gebruik liever -std=gnu99"
++
++#: c.opt:958
++msgid "Conform to the ISO 1990 C standard as amended in 1994"
++msgstr "Volg de ISO 1990 C standaard zoals aangepast in 1994"
++
++#: c.opt:966
++msgid "Deprecated in favor of -std=iso9899:1999"
++msgstr "Verouderd; gebruik liever -std=iso9899:1999"
++
++# of "preprocessing" behouden?
++#: c.opt:970
++msgid "Enable traditional preprocessing"
++msgstr "Schakel traditionele voorverwerking in"
++
++#: c.opt:974
++#, fuzzy
++msgid "Support ISO C trigraphs"
++msgstr "-trigraphs\tOndersteun ISO C trigraphs"
++
++#: c.opt:978
++msgid "Do not predefine system-specific and GCC-specific macros"
++msgstr "Definieer geen systeem-specifieke of GCC-specifieke macros op voorhand"
++
++# kan beter
++#: c.opt:982
++msgid "Enable verbose output"
++msgstr "Schakel uitgebreide boodschappen in"
++
++#: ada/lang.opt:96
++msgid "Specify options to GNAT"
++msgstr ""
++
+ #: attribs.c:244
+ #, gcc-internal-format
+ msgid "%qs attribute directive ignored"
+@@ -16885,48 +16827,48 @@
+ msgid "offset outside bounds of constant string"
+ msgstr "offset buiten de grenzen van een constante string"
+
+-#: builtins.c:1001
++#: builtins.c:1015
+ #, gcc-internal-format
+ msgid "second argument to %<__builtin_prefetch%> must be a constant"
+ msgstr "tweede argument voor %<__builtin_prefetch%> moet een constante zijn"
+
+-#: builtins.c:1008
++#: builtins.c:1022
+ #, gcc-internal-format
+ msgid "invalid second argument to %<__builtin_prefetch%>; using zero"
+ msgstr "ongeldig tweede argument voor %<__builtin_prefetch%>; zal nul gebruiken"
+
+-#: builtins.c:1016
++#: builtins.c:1030
+ #, gcc-internal-format
+ msgid "third argument to %<__builtin_prefetch%> must be a constant"
+ msgstr "derde argument voor %<__builtin_prefetch%> moet een constante zijn"
+
+-#: builtins.c:1023
++#: builtins.c:1037
+ #, gcc-internal-format
+ msgid "invalid third argument to %<__builtin_prefetch%>; using zero"
+ msgstr "ongeldig derde argument voor __builtin_prefetch; zal nul gebruiken"
+
+-#: builtins.c:4592
++#: builtins.c:4608
+ #, gcc-internal-format
+ msgid "argument of %<__builtin_args_info%> must be constant"
+ msgstr "argument voor %<__builtin_args_info%> moet een constante zijn"
+
+-#: builtins.c:4598
++#: builtins.c:4614
+ #, gcc-internal-format
+ msgid "argument of %<__builtin_args_info%> out of range"
+ msgstr "argument voor %<__builtin_args_info%> buiten bereik"
+
+-#: builtins.c:4604
++#: builtins.c:4620
+ #, gcc-internal-format
+ msgid "missing argument in %<__builtin_args_info%>"
+ msgstr "argument ontbreekt in %<__builtin_args_info%>"
+
+-#: builtins.c:4693 gimplify.c:2117
++#: builtins.c:4709 gimplify.c:2118
+ #, gcc-internal-format
+ msgid "too few arguments to function %<va_start%>"
+ msgstr "te weinig argumenten voor functie %<va_start%>"
+
+ # Of misschien beter "... niet van het %<va_list%> type"?
+-#: builtins.c:4857
++#: builtins.c:4872
+ #, gcc-internal-format
+ msgid "first argument to %<va_arg%> not of type %<va_list%>"
+ msgstr "het eerste argument van %<va_arg%> is geen %<va_list%>"
+@@ -16934,95 +16876,105 @@
+ #. Unfortunately, this is merely undefined, rather than a constraint
+ #. violation, so we cannot make this an error. If this call is never
+ #. executed, the program is still strictly conforming.
+-#: builtins.c:4871
++#: builtins.c:4886
+ #, gcc-internal-format
+ msgid "%qT is promoted to %qT when passed through %<...%>"
+ msgstr "%qT wordt tot %qT gepromoveerd indien het via %<...%> wordt doorgegeven"
+
+-#: builtins.c:4876
++#: builtins.c:4891
+ #, gcc-internal-format
+ msgid "(so you should pass %qT not %qT to %<va_arg%>)"
+ msgstr "(dus U zou %qT, en niet %qT, moeten doorgeven aan %<va_arg%>)"
+
+ #. We can, however, treat "undefined" any way we please.
+ #. Call abort to encourage the user to fix the program.
+-#: builtins.c:4882 c-typeck.c:2408
++#: builtins.c:4897 c-typeck.c:2419
+ #, gcc-internal-format
+ msgid "if this code is reached, the program will abort"
+ msgstr "indien deze code bereikt wordt, zal het programma afgebroken worden"
+
+-#: builtins.c:5000
++#: builtins.c:5015
+ #, gcc-internal-format
+ msgid "invalid argument to %<__builtin_frame_address%>"
+ msgstr "ongeldig argument voor %<__builtin_frame_address%>"
+
+-#: builtins.c:5002
++#: builtins.c:5017
+ #, gcc-internal-format
+ msgid "invalid argument to %<__builtin_return_address%>"
+ msgstr "ongeldig argument voor %<__builtin_return_address%>"
+
+-#: builtins.c:5015
++#: builtins.c:5030
+ #, gcc-internal-format
+ msgid "unsupported argument to %<__builtin_frame_address%>"
+ msgstr "niet-ondersteund argument voor %<__builtin_frame_address%>"
+
+-#: builtins.c:5017
++#: builtins.c:5032
+ #, gcc-internal-format
+ msgid "unsupported argument to %<__builtin_return_address%>"
+ msgstr "niet-ondersteund argument voor %<__builtin_return_address%>"
+
+-#: builtins.c:5564
++#: builtins.c:5579
+ #, fuzzy, gcc-internal-format
+ msgid "both arguments to %<__builtin___clear_cache%> must be pointers"
+ msgstr "derde argument voor %<__builtin_prefetch%> moet een constante zijn"
+
+ #. All valid uses of __builtin_va_arg_pack () are removed during
+ #. inlining.
+-#: builtins.c:6276 expr.c:8024
++#: builtins.c:6291 expr.c:8023
+ #, fuzzy
+ msgid "%Kinvalid use of %<__builtin_va_arg_pack ()%>"
+ msgstr "ongeldig argument voor %<__builtin_frame_address%>"
+
+ #. All valid uses of __builtin_va_arg_pack_len () are removed during
+ #. inlining.
+-#: builtins.c:6282
++#: builtins.c:6297
+ #, fuzzy
+ msgid "%Kinvalid use of %<__builtin_va_arg_pack_len ()%>"
+ msgstr "ongeldig argument voor %<__builtin_frame_address%>"
+
+-#: builtins.c:6578
++#: builtins.c:6593
+ #, gcc-internal-format
+ msgid "%<__builtin_longjmp%> second argument must be 1"
+ msgstr "tweede argument van %<__builtin_longjmp%> moet 1 zijn"
+
+-#: builtins.c:7209
++#: builtins.c:7224
+ #, gcc-internal-format
+ msgid "target format does not support infinity"
+ msgstr "doelformaat ondersteunt geen oneindige waarde"
+
+-#: builtins.c:9623 builtins.c:9712
++#: builtins.c:9638 builtins.c:9727 builtins.c:10082
+ #, gcc-internal-format
+ msgid "non-floating-point argument to function %qs"
+ msgstr "niet-floating-point argument voor functie %qs"
+
+-#: builtins.c:11303
++#: builtins.c:10446 builtins.c:10466
++#, fuzzy, gcc-internal-format
++msgid "too few arguments to function %qs"
++msgstr "te weinig argumenten voor functie %qE"
++
++#: builtins.c:10452 builtins.c:10472
++#, fuzzy, gcc-internal-format
++msgid "too many arguments to function %qs"
++msgstr "te veel argumenten voor functie %qE"
++
++#: builtins.c:11377
+ #, gcc-internal-format
+ msgid "%<va_start%> used in function with fixed args"
+ msgstr "%<va_start%> gebruikt in functie met vaste argumenten"
+
+-#: builtins.c:11311
++#: builtins.c:11385
+ #, fuzzy, gcc-internal-format
+ msgid "wrong number of arguments to function %<va_start%>"
+ msgstr "te weinig argumenten voor functie %<va_start%>"
+
+ #. Evidently an out of date version of <stdarg.h>; can't validate
+ #. va_start's second argument, but can still work as intended.
+-#: builtins.c:11324
++#: builtins.c:11398
+ #, gcc-internal-format
+ msgid "%<__builtin_next_arg%> called without an argument"
+ msgstr "%<__builtin_next_arg%> opgeroepen zonder argument"
+
+-#: builtins.c:11329
++#: builtins.c:11403
+ #, fuzzy, gcc-internal-format
+ msgid "wrong number of arguments to function %<__builtin_next_arg%>"
+ msgstr "te weinig argumenten voor functie %<va_start%>"
+@@ -17032,26 +16984,26 @@
+ #. argument. We just warn and set the arg to be the last
+ #. argument so that we will get wrong-code because of
+ #. it.
+-#: builtins.c:11358
++#: builtins.c:11432
+ #, gcc-internal-format
+ msgid "second parameter of %<va_start%> not last named argument"
+ msgstr "de tweede parameter van %<va_start%> is niet het laatste benoemde argument"
+
+-#: builtins.c:11472
++#: builtins.c:11546
+ #, fuzzy
+ msgid "%Kfirst argument of %D must be a pointer, second integer constant"
+ msgstr "herhalings-aantal is geen integerconstante"
+
+-#: builtins.c:11485
++#: builtins.c:11559
+ #, fuzzy
+ msgid "%Klast argument of %D is not integer constant between 0 and 3"
+ msgstr "herhalings-aantal is geen integerconstante"
+
+-#: builtins.c:11529 builtins.c:11693 builtins.c:11752
++#: builtins.c:11603 builtins.c:11767 builtins.c:11826
+ msgid "%Kcall to %D will always overflow destination buffer"
+ msgstr ""
+
+-#: builtins.c:11683
++#: builtins.c:11757
+ msgid "%Kcall to %D might overflow destination buffer"
+ msgstr ""
+
+@@ -17175,446 +17127,446 @@
+ msgid "conversion to %qT alters %qT constant value"
+ msgstr "ongeldige registernaam voor %qs"
+
+-#: c-common.c:1296
++#: c-common.c:1299
+ #, gcc-internal-format
+ msgid "conversion to %qT from %qT may change the sign of the result"
+ msgstr ""
+
+-#: c-common.c:1325
++#: c-common.c:1328
+ #, fuzzy, gcc-internal-format
+ msgid "conversion to %qT from %qT may alter its value"
+ msgstr "ongeldige registernaam voor %qs"
+
+-#: c-common.c:1353
++#: c-common.c:1356
+ #, gcc-internal-format
+ msgid "large integer implicitly truncated to unsigned type"
+ msgstr "grote integer impliciet afgekapt naar 'unsigned' type"
+
+-#: c-common.c:1359 c-common.c:1366 c-common.c:1374
++#: c-common.c:1362 c-common.c:1369 c-common.c:1377
+ #, gcc-internal-format
+ msgid "overflow in implicit constant conversion"
+ msgstr "overflow in impliciete omzetting van constante"
+
+-#: c-common.c:1528
++#: c-common.c:1531
+ #, fuzzy, gcc-internal-format
+ msgid "operation on %qE may be undefined"
+ msgstr "bewerking op %qs is mogelijk niet gedefinieerd"
+
+-#: c-common.c:1821
++#: c-common.c:1824
+ #, gcc-internal-format
+ msgid "case label does not reduce to an integer constant"
+ msgstr "case-label valt niet te herleiden tot een integerconstante"
+
+-#: c-common.c:1861
++#: c-common.c:1864
+ #, gcc-internal-format
+ msgid "case label value is less than minimum value for type"
+ msgstr "waarde van case-label is kleiner dan de minimumwaarde van het type"
+
+-#: c-common.c:1869
++#: c-common.c:1872
+ #, gcc-internal-format
+ msgid "case label value exceeds maximum value for type"
+ msgstr "waarde van case-label is groter dan de maximumwaarde van het type"
+
+-#: c-common.c:1877
++#: c-common.c:1880
+ #, gcc-internal-format
+ msgid "lower value in case label range less than minimum value for type"
+ msgstr "beginwaarde in case-label bereik is kleiner dan de minimumwaarde van het type"
+
+-#: c-common.c:1886
++#: c-common.c:1889
+ #, gcc-internal-format
+ msgid "upper value in case label range exceeds maximum value for type"
+ msgstr "eindwaarde in case-label bereik is groter dan de maximumwaarde van het type"
+
+-#: c-common.c:1960
++#: c-common.c:1963
+ #, gcc-internal-format
+ msgid "GCC cannot support operators with integer types and fixed-point types that have too many integral and fractional bits together"
+ msgstr ""
+
+-#: c-common.c:2450
++#: c-common.c:2453
+ #, fuzzy, gcc-internal-format
+ msgid "invalid operands to binary %s (have %qT and %qT)"
+ msgstr "ongeldige operanden voor binaire %s-operator"
+
+-#: c-common.c:2686
++#: c-common.c:2689
+ #, gcc-internal-format
+ msgid "comparison is always false due to limited range of data type"
+ msgstr "vergelijking is altijd vals omwille van het beperkte bereik van het datatype"
+
+-#: c-common.c:2688
++#: c-common.c:2691
+ #, gcc-internal-format
+ msgid "comparison is always true due to limited range of data type"
+ msgstr "vergelijking is altijd waar omwille van het beperkte bereik van het datatype"
+
+-#: c-common.c:2767
++#: c-common.c:2770
+ #, gcc-internal-format
+ msgid "comparison of unsigned expression >= 0 is always true"
+ msgstr "vergelijking van 'unsigned' expressie >= 0 is altijd waar"
+
+-#: c-common.c:2777
++#: c-common.c:2780
+ #, gcc-internal-format
+ msgid "comparison of unsigned expression < 0 is always false"
+ msgstr "vergelijking van 'unsigned' expressie < 0 is altijd vals"
+
+-#: c-common.c:2818
++#: c-common.c:2821
+ #, gcc-internal-format
+ msgid "pointer of type %<void *%> used in arithmetic"
+ msgstr "pointer van type %<void *%> gebruikt in rekensom"
+
+-#: c-common.c:2824
++#: c-common.c:2827
+ #, gcc-internal-format
+ msgid "pointer to a function used in arithmetic"
+ msgstr "pointer naar functie gebruikt in rekensom"
+
+-#: c-common.c:2830
++#: c-common.c:2833
+ #, gcc-internal-format
+ msgid "pointer to member function used in arithmetic"
+ msgstr "pointer naar lid-functie gebruikt in rekensom"
+
+ # is de "," deel van de special format spec of niet? en moet "true" hier vertaald worden of niet?
+-#: c-common.c:2982
++#: c-common.c:2985
+ #, fuzzy, gcc-internal-format
+ msgid "the address of %qD will always evaluate as %<true%>"
+ msgstr "het adres van %qD, zal altijd %<true%> zijn"
+
+-#: c-common.c:3051 cp/semantics.c:596 cp/typeck.c:6411
++#: c-common.c:3054 cp/semantics.c:597 cp/typeck.c:6438
+ #, gcc-internal-format
+ msgid "suggest parentheses around assignment used as truth value"
+ msgstr "gebruik liefst haakjes rond toewijzingen die als waarheid gebruikt worden"
+
+-#: c-common.c:3123 c-typeck.c:8958
++#: c-common.c:3126 c-typeck.c:8969
+ #, gcc-internal-format
+ msgid "invalid use of %<restrict%>"
+ msgstr "ongeldig gebruik van %<restrict%>"
+
+-#: c-common.c:3339
++#: c-common.c:3346
+ #, gcc-internal-format
+ msgid "invalid application of %<sizeof%> to a function type"
+ msgstr "ongeldige toepassing van %<sizeof%> op een functie-type"
+
+-#: c-common.c:3349
++#: c-common.c:3356
+ #, gcc-internal-format
+ msgid "invalid application of %qs to a void type"
+ msgstr "ongeldige toepasing van %qs op een void-type"
+
+-#: c-common.c:3355
++#: c-common.c:3362
+ #, gcc-internal-format
+ msgid "invalid application of %qs to incomplete type %qT "
+ msgstr "ongeldige toepassing van %qs op onvolledig type %qT "
+
+-#: c-common.c:3396
++#: c-common.c:3403
+ #, gcc-internal-format
+ msgid "%<__alignof%> applied to a bit-field"
+ msgstr "%<__alignof%> toegepast op bitveld"
+
+-#: c-common.c:3969
++#: c-common.c:3976
+ #, gcc-internal-format
+ msgid "cannot disable built-in function %qs"
+ msgstr "ingebouwde functie %qs kan niet uitgeschakeld worden"
+
+-#: c-common.c:4172
++#: c-common.c:4179
+ #, gcc-internal-format
+ msgid "pointers are not permitted as case values"
+ msgstr "pointers zijn niet toegestaan als case-waarden"
+
+-#: c-common.c:4178
++#: c-common.c:4185
+ #, gcc-internal-format
+ msgid "range expressions in switch statements are non-standard"
+ msgstr "het gebruik van bereik-expressies in switch statements is niet standaard"
+
+-#: c-common.c:4204
++#: c-common.c:4211
+ #, gcc-internal-format
+ msgid "empty range specified"
+ msgstr "leeg bereik opgegeven"
+
+-#: c-common.c:4264
++#: c-common.c:4271
+ #, gcc-internal-format
+ msgid "duplicate (or overlapping) case value"
+ msgstr "herhaalde (of overlappende) case-waarde"
+
+-#: c-common.c:4265
++#: c-common.c:4272
+ #, gcc-internal-format
+ msgid "%Jthis is the first entry overlapping that value"
+ msgstr "%Jdit is het eerste geval dat die waarde overlapt"
+
+-#: c-common.c:4269
++#: c-common.c:4276
+ #, gcc-internal-format
+ msgid "duplicate case value"
+ msgstr "herhaalde case-waarde"
+
+-#: c-common.c:4270
++#: c-common.c:4277
+ #, gcc-internal-format
+ msgid "%Jpreviously used here"
+ msgstr "%Jeerder hier gebruikt"
+
+-#: c-common.c:4274
++#: c-common.c:4281
+ #, gcc-internal-format
+ msgid "multiple default labels in one switch"
+ msgstr "meerdere default-labels in één switch"
+
+-#: c-common.c:4275
++#: c-common.c:4282
+ #, gcc-internal-format
+ msgid "%Jthis is the first default label"
+ msgstr "%Jdit is het eerste default-label"
+
+-#: c-common.c:4324
++#: c-common.c:4331
+ #, gcc-internal-format
+ msgid "%Jcase value %qs not in enumerated type"
+ msgstr "%Jcase-waarde %qs bestaat niet in het enumeratie-type"
+
+-#: c-common.c:4327
++#: c-common.c:4334
+ #, gcc-internal-format
+ msgid "%Jcase value %qs not in enumerated type %qT"
+ msgstr "%Jcase-waarde %qs bestaat niet in enumeratie-type %qT"
+
+ # hopelijk kan ik hier %</%> gebruiken zelfs als ze niet in de originele boodschap staan...
+-#: c-common.c:4385
++#: c-common.c:4392
+ #, fuzzy, gcc-internal-format
+ msgid "%Hswitch missing default case"
+ msgstr "%H%<default%> geval ontbreekt in switch"
+
+-#: c-common.c:4448
++#: c-common.c:4455
+ #, gcc-internal-format
+ msgid "%Henumeration value %qE not handled in switch"
+ msgstr "%Henumeratiewaarde %qE wordt niet opgevangen in switch"
+
+-#: c-common.c:4472
++#: c-common.c:4479
+ #, gcc-internal-format
+ msgid "taking the address of a label is non-standard"
+ msgstr "het nemen van het adres van een label is niet standaard"
+
+-#: c-common.c:4622
++#: c-common.c:4629
+ #, fuzzy, gcc-internal-format
+ msgid "%qE attribute ignored for field of type %qT"
+ msgstr "het %qs attribuut wordt genegeerd voor %qs"
+
+-#: c-common.c:4633 c-common.c:4652 c-common.c:4670 c-common.c:4697
+-#: c-common.c:4724 c-common.c:4750 c-common.c:4769 c-common.c:4793
+-#: c-common.c:4816 c-common.c:4839 c-common.c:4860 c-common.c:4881
+-#: c-common.c:4905 c-common.c:4931 c-common.c:4968 c-common.c:4995
+-#: c-common.c:5046 c-common.c:5130 c-common.c:5160 c-common.c:5179
+-#: c-common.c:5499 c-common.c:5559 c-common.c:5580 c-common.c:5644
+-#: c-common.c:5762 c-common.c:5828 c-common.c:5877 c-common.c:5923
+-#: c-common.c:5993 c-common.c:6017 c-common.c:6301 c-common.c:6324
++#: c-common.c:4640 c-common.c:4659 c-common.c:4677 c-common.c:4704
++#: c-common.c:4731 c-common.c:4757 c-common.c:4776 c-common.c:4800
++#: c-common.c:4823 c-common.c:4846 c-common.c:4867 c-common.c:4888
++#: c-common.c:4912 c-common.c:4938 c-common.c:4975 c-common.c:5002
++#: c-common.c:5045 c-common.c:5129 c-common.c:5159 c-common.c:5178
++#: c-common.c:5498 c-common.c:5558 c-common.c:5579 c-common.c:5643
++#: c-common.c:5761 c-common.c:5827 c-common.c:5876 c-common.c:5922
++#: c-common.c:5992 c-common.c:6016 c-common.c:6301 c-common.c:6324
+ #: c-common.c:6363
+ #, fuzzy, gcc-internal-format
+ msgid "%qE attribute ignored"
+ msgstr "het %qs attribuut wordt genegeerd"
+
+-#: c-common.c:4715 c-common.c:4741
++#: c-common.c:4722 c-common.c:4748
+ #, fuzzy, gcc-internal-format
+ msgid "%qE attribute conflicts with attribute %s"
+ msgstr "het %qs attribuut heeft geen betekenis voor types"
+
+-#: c-common.c:4962
++#: c-common.c:4969
+ #, fuzzy, gcc-internal-format
+ msgid "%qE attribute have effect only on public objects"
+ msgstr "%Jhet %qE attribuut is enkel van toepassing op functies"
+
+-#: c-common.c:5067
++#: c-common.c:5066
+ #, fuzzy, gcc-internal-format
+ msgid "destructor priorities are not supported"
+ msgstr "-pipe wordt niet ondersteund"
+
+-#: c-common.c:5069
++#: c-common.c:5068
+ #, fuzzy, gcc-internal-format
+ msgid "constructor priorities are not supported"
+ msgstr "-pipe wordt niet ondersteund"
+
+-#: c-common.c:5086
++#: c-common.c:5085
+ #, gcc-internal-format
+ msgid "destructor priorities from 0 to %d are reserved for the implementation"
+ msgstr ""
+
+-#: c-common.c:5091
++#: c-common.c:5090
+ #, gcc-internal-format
+ msgid "constructor priorities from 0 to %d are reserved for the implementation"
+ msgstr ""
+
+-#: c-common.c:5099
++#: c-common.c:5098
+ #, gcc-internal-format
+ msgid "destructor priorities must be integers from 0 to %d inclusive"
+ msgstr ""
+
+-#: c-common.c:5102
++#: c-common.c:5101
+ #, gcc-internal-format
+ msgid "constructor priorities must be integers from 0 to %d inclusive"
+ msgstr ""
+
+-#: c-common.c:5221
++#: c-common.c:5220
+ #, gcc-internal-format
+ msgid "unknown machine mode %qs"
+ msgstr "onbekende machine-modus %qs"
+
+-#: c-common.c:5250
++#: c-common.c:5249
+ #, gcc-internal-format
+ msgid "specifying vector types with __attribute__ ((mode)) is deprecated"
+ msgstr "het aanduiden van vector-types via __attribute__ ((mode)) zal niet lang meer ondersteund worden"
+
+-#: c-common.c:5253
++#: c-common.c:5252
+ #, gcc-internal-format
+ msgid "use __attribute__ ((vector_size)) instead"
+ msgstr "gebruik ter vervanging __attribute__ ((vector_size))"
+
+ # Misschien beter 'emuleren' dan nabootsen?
+-#: c-common.c:5262
++#: c-common.c:5261
+ #, gcc-internal-format
+ msgid "unable to emulate %qs"
+ msgstr "kan %qs niet nabootsen"
+
+-#: c-common.c:5272
++#: c-common.c:5271
+ #, gcc-internal-format
+ msgid "invalid pointer mode %qs"
+ msgstr "%qs is geen geldige pointer-modus"
+
+-#: c-common.c:5289
++#: c-common.c:5288
+ #, gcc-internal-format
+ msgid "signness of type and machine mode %qs don't match"
+ msgstr ""
+
+-#: c-common.c:5300
++#: c-common.c:5299
+ #, gcc-internal-format
+ msgid "no data type for mode %qs"
+ msgstr "geen datatype voor modus %qs"
+
+ # volgens dict is "enumeral" geen echt woord - maakt het dus lastig te vertalen
+-#: c-common.c:5310
++#: c-common.c:5309
+ #, gcc-internal-format
+ msgid "cannot use mode %qs for enumeral types"
+ msgstr "kan %qs-modus niet gebruiken voor enumeratie-types"
+
+ # zou leterlijk "ontoepasselijk" moeten zijn, maar dat klinkt zo stom vanwege de "toegepast"
+-#: c-common.c:5337
++#: c-common.c:5336
+ #, gcc-internal-format
+ msgid "mode %qs applied to inappropriate type"
+ msgstr "%qs-modus toegepast op ongeschikt type"
+
+-#: c-common.c:5368
++#: c-common.c:5367
+ #, gcc-internal-format
+ msgid "%Jsection attribute cannot be specified for local variables"
+ msgstr "%Jsectie-attribuut kan niet opgegeven worden voor lokale variabelen"
+
+-#: c-common.c:5379 config/bfin/bfin.c:4879 config/bfin/bfin.c:4930
++#: c-common.c:5378 config/bfin/bfin.c:4982 config/bfin/bfin.c:5033
+ #, fuzzy, gcc-internal-format
+ msgid "section of %q+D conflicts with previous declaration"
+ msgstr "%Jsectie van %qD geeft een conflict met een eerdere declaratie"
+
+-#: c-common.c:5388
++#: c-common.c:5387
+ #, fuzzy, gcc-internal-format
+ msgid "section attribute not allowed for %q+D"
+ msgstr "%Jsectie-attribuut is niet toegestaan voor %qD"
+
+-#: c-common.c:5394
++#: c-common.c:5393
+ #, gcc-internal-format
+ msgid "%Jsection attributes are not supported for this target"
+ msgstr "%Jsectie-attributen worden niet ondersteund voor dit doelsysteem"
+
+-#: c-common.c:5426
++#: c-common.c:5425
+ #, gcc-internal-format
+ msgid "requested alignment is not a constant"
+ msgstr "gevraagd alignment is geen constante"
+
+-#: c-common.c:5431
++#: c-common.c:5430
+ #, gcc-internal-format
+ msgid "requested alignment is not a power of 2"
+ msgstr "gevraagd alignment is geen macht van 2"
+
+-#: c-common.c:5436
++#: c-common.c:5435
+ #, gcc-internal-format
+ msgid "requested alignment is too large"
+ msgstr "gevraagd alignment is te groot"
+
+-#: c-common.c:5462
++#: c-common.c:5461
+ #, fuzzy, gcc-internal-format
+ msgid "alignment may not be specified for %q+D"
+ msgstr "%Jer kan geen alignment opgegeven worden voor %qD"
+
+-#: c-common.c:5469
++#: c-common.c:5468
+ #, gcc-internal-format
+ msgid "alignment for %q+D was previously specified as %d and may not be decreased"
+ msgstr ""
+
+-#: c-common.c:5473
++#: c-common.c:5472
+ #, fuzzy, gcc-internal-format
+ msgid "alignment for %q+D must be at least %d"
+ msgstr "Alignment moet een kleine macht van twee zijn, en niet %d, in #pragma pack"
+
+-#: c-common.c:5522
++#: c-common.c:5521
+ #, fuzzy, gcc-internal-format
+ msgid "%q+D defined both normally and as an alias"
+ msgstr "%J%qD is zowel als alias en als normale naam gedefinieerd"
+
+-#: c-common.c:5538
++#: c-common.c:5537
+ #, fuzzy, gcc-internal-format
+ msgid "alias argument not a string"
+ msgstr "het argument van %<alias%> is geen string"
+
+-#: c-common.c:5601
++#: c-common.c:5600
+ #, gcc-internal-format
+ msgid "%Jweakref attribute must appear before alias attribute"
+ msgstr ""
+
+-#: c-common.c:5631
++#: c-common.c:5630
+ #, fuzzy, gcc-internal-format
+ msgid "%qE attribute ignored on non-class types"
+ msgstr "het %qs attribuut wordt genegeerd voor niet-class-types"
+
+-#: c-common.c:5637
++#: c-common.c:5636
+ #, fuzzy, gcc-internal-format
+ msgid "%qE attribute ignored because %qT is already defined"
+ msgstr "het %qs attribuut wordt genegeerd voor niet-class-types"
+
+ # Of moet dit vertaald worden als 'zichtbaarheidsargument is ...'?
+-#: c-common.c:5650
++#: c-common.c:5649
+ #, fuzzy, gcc-internal-format
+ msgid "visibility argument not a string"
+ msgstr "het argument van %<visibility%> is geen string"
+
+-#: c-common.c:5662
++#: c-common.c:5661
+ #, gcc-internal-format
+ msgid "%qE attribute ignored on types"
+ msgstr "het %qE attribuut wordt genegeerd voor types"
+
+-#: c-common.c:5678
++#: c-common.c:5677
+ #, fuzzy, gcc-internal-format
+ msgid "visibility argument must be one of \"default\", \"hidden\", \"protected\" or \"internal\""
+ msgstr "het argument van %<visibility%> moet \"default\", \"hidden\", \"protected\" of \"internal\" zijn"
+
+-#: c-common.c:5689
++#: c-common.c:5688
+ #, fuzzy, gcc-internal-format
+ msgid "%qD redeclared with different visibility"
+ msgstr "%qs als ander soort symbool geherdeclareerd"
+
+-#: c-common.c:5692 c-common.c:5696
++#: c-common.c:5691 c-common.c:5695
+ #, gcc-internal-format
+ msgid "%qD was declared %qs which implies default visibility"
+ msgstr ""
+
+-#: c-common.c:5770
++#: c-common.c:5769
+ #, fuzzy, gcc-internal-format
+ msgid "tls_model argument not a string"
+ msgstr "het argument van %<tls_model%> is geen string"
+
+-#: c-common.c:5783
++#: c-common.c:5782
+ #, fuzzy, gcc-internal-format
+ msgid "tls_model argument must be one of \"local-exec\", \"initial-exec\", \"local-dynamic\" or \"global-dynamic\""
+ msgstr "het argument van %<tls_model%> moet \"local-exec\", \"initial-exec\", \"local-dynamic\" of \"global-dynamic\" zijn"
+
+-#: c-common.c:5802 c-common.c:5897
++#: c-common.c:5801 c-common.c:5896
+ #, gcc-internal-format
+ msgid "%J%qE attribute applies only to functions"
+ msgstr "%Jhet %qE attribuut is enkel van toepassing op functies"
+
+-#: c-common.c:5807 c-common.c:5902
++#: c-common.c:5806 c-common.c:5901
+ #, gcc-internal-format
+ msgid "%Jcan%'t set %qE attribute after definition"
+ msgstr "%Jkan het %qE attribuut niet instellen na een definitie"
+
+-#: c-common.c:5858
++#: c-common.c:5857
+ #, gcc-internal-format
+ msgid "alloc_size parameter outside range"
+ msgstr ""
+
+-#: c-common.c:5991
++#: c-common.c:5990
+ #, fuzzy, gcc-internal-format
+ msgid "%qE attribute ignored for %qE"
+ msgstr "het %qs attribuut wordt genegeerd voor %qs"
+@@ -17726,7 +17678,7 @@
+ msgid "cannot apply %<offsetof%> when %<operator[]%> is overloaded"
+ msgstr ""
+
+-#: c-common.c:6818 cp/typeck.c:4525
++#: c-common.c:6818 cp/typeck.c:4533
+ #, fuzzy, gcc-internal-format
+ msgid "attempt to take address of bit-field structure member %qD"
+ msgstr "poging om het adres te nemen van lid %qs van een bitveld-structure"
+@@ -17761,14 +17713,14 @@
+ msgid "size of array is too large"
+ msgstr "omvang van array %qs is te groot"
+
+-#: c-common.c:7041 c-common.c:7090 c-typeck.c:2705
++#: c-common.c:7041 c-common.c:7090 c-typeck.c:2716
+ #, gcc-internal-format
+ msgid "too few arguments to function %qE"
+ msgstr "te weinig argumenten voor functie %qE"
+
+ #. ??? This should not be an error when inlining calls to
+ #. unprototyped functions.
+-#: c-common.c:7058 c-typeck.c:4374
++#: c-common.c:7058 c-typeck.c:4385
+ #, fuzzy, gcc-internal-format
+ msgid "incompatible type for argument %d of %qE"
+ msgstr "incompatibel type voor argument %d van %qs"
+@@ -17848,8 +17800,8 @@
+ #. an unprototyped function, it is compile-time undefined;
+ #. making it a constraint in that case was rejected in
+ #. DR#252.
+-#: c-convert.c:95 c-typeck.c:1775 c-typeck.c:4012 cp/typeck.c:1502
+-#: cp/typeck.c:5717 cp/typeck.c:6325 fortran/convert.c:88
++#: c-convert.c:95 c-typeck.c:1785 c-typeck.c:4023 cp/typeck.c:1548
++#: cp/typeck.c:5725 cp/typeck.c:6352 fortran/convert.c:88
+ #: treelang/tree-convert.c:79
+ #, gcc-internal-format
+ msgid "void value not ignored as it ought to be"
+@@ -17861,63 +17813,63 @@
+ msgid "conversion to non-scalar type requested"
+ msgstr "conversie naar niet-scalair type gevraagd"
+
+-#: c-decl.c:546
++#: c-decl.c:547
+ #, fuzzy, gcc-internal-format
+ msgid "array %q+D assumed to have one element"
+ msgstr "%Jarray %qD wordt aangenomen één element te bevatten"
+
+ # goede vertaling voor scopes?
+-#: c-decl.c:651
++#: c-decl.c:652
+ #, gcc-internal-format
+ msgid "GCC supports only %u nested scopes"
+ msgstr "GCC ondersteunt maar %u geneste bereiken (scopes)"
+
+-#: c-decl.c:737 cp/decl.c:358
++#: c-decl.c:738 cp/decl.c:359
+ #, fuzzy, gcc-internal-format
+ msgid "label %q+D used but not defined"
+ msgstr "label %qs gebruikt maar niet gedefinieerd"
+
+-#: c-decl.c:778
++#: c-decl.c:779
+ #, fuzzy, gcc-internal-format
+ msgid "nested function %q+D declared but never defined"
+ msgstr "%Jgeneste functie %qD gedeclareerd maar niet gedefinieerd"
+
+-#: c-decl.c:788
++#: c-decl.c:789
+ #, fuzzy, gcc-internal-format
+ msgid "inline function %q+D declared but never defined"
+ msgstr "%Jgeneste functie %qD gedeclareerd maar niet gedefinieerd"
+
+-#: c-decl.c:801 cp/decl.c:608
++#: c-decl.c:802 cp/decl.c:609
+ #, fuzzy, gcc-internal-format
+ msgid "unused variable %q+D"
+ msgstr "%Jniet-gebruikte variabele %qD"
+
+-#: c-decl.c:805
++#: c-decl.c:806
+ #, gcc-internal-format
+ msgid "type of array %q+D completed incompatibly with implicit initialization"
+ msgstr ""
+
+-#: c-decl.c:1039
++#: c-decl.c:1040
+ #, gcc-internal-format
+ msgid "a parameter list with an ellipsis can%'t match an empty parameter name list declaration"
+ msgstr "een parameterlijst met een beletselteken kan niet overeenkomen met een declaratie met lege parameterlijst"
+
+-#: c-decl.c:1046
++#: c-decl.c:1047
+ #, gcc-internal-format
+ msgid "an argument type that has a default promotion can%'t match an empty parameter name list declaration"
+ msgstr "een argumenttype dat een standaardpromotie heeft kan niet overeenkomen met een declaratie met lege parameterlijst"
+
+-#: c-decl.c:1087
++#: c-decl.c:1088
+ #, fuzzy, gcc-internal-format
+ msgid "prototype for %q+D declares more arguments than previous old-style definition"
+ msgstr "%Jprototype voor %qD delcareert argument %d met een onverenigbaar type"
+
+-#: c-decl.c:1093
++#: c-decl.c:1094
+ #, fuzzy, gcc-internal-format
+ msgid "prototype for %q+D declares fewer arguments than previous old-style definition"
+ msgstr "%Jprototype voor %qD delcareert argument %d met een onverenigbaar type"
+
+-#: c-decl.c:1102
++#: c-decl.c:1103
+ #, fuzzy, gcc-internal-format
+ msgid "prototype for %q+D declares argument %d with incompatible type"
+ msgstr "%Jprototype voor %qD delcareert argument %d met een onverenigbaar type"
+@@ -17925,43 +17877,43 @@
+ # wringt een beetje...
+ #. If we get here, no errors were found, but do issue a warning
+ #. for this poor-style construct.
+-#: c-decl.c:1115
++#: c-decl.c:1116
+ #, fuzzy, gcc-internal-format
+ msgid "prototype for %q+D follows non-prototype definition"
+ msgstr "%Jprototype voor %qD volgt niet-prototype definitie"
+
+-#: c-decl.c:1130
++#: c-decl.c:1131
+ #, fuzzy, gcc-internal-format
+ msgid "previous definition of %q+D was here"
+ msgstr "%Jeerdere definitie van %qD was hier"
+
+-#: c-decl.c:1132
++#: c-decl.c:1133
+ #, fuzzy, gcc-internal-format
+ msgid "previous implicit declaration of %q+D was here"
+ msgstr "%Jeerdere impliciete declaratie van %qD was hier"
+
+-#: c-decl.c:1134
++#: c-decl.c:1135
+ #, fuzzy, gcc-internal-format
+ msgid "previous declaration of %q+D was here"
+ msgstr "%Jeerdere declaratie van %qD was hier"
+
+-#: c-decl.c:1174
++#: c-decl.c:1175
+ #, fuzzy, gcc-internal-format
+ msgid "%q+D redeclared as different kind of symbol"
+ msgstr "%qs als ander soort symbool geherdeclareerd"
+
+-#: c-decl.c:1178
++#: c-decl.c:1179
+ #, fuzzy, gcc-internal-format
+ msgid "built-in function %q+D declared as non-function"
+ msgstr "%Jingebouwde functie %qD gedeclareerd als niet-functie"
+
+ # "verbergt" is niet verkeerd, maar "schaduwt" of iets dergelijks is misschien toch beter
+-#: c-decl.c:1181 c-decl.c:1298 c-decl.c:1983
++#: c-decl.c:1182 c-decl.c:1299 c-decl.c:1988
+ #, fuzzy, gcc-internal-format
+ msgid "declaration of %q+D shadows a built-in function"
+ msgstr "%Jdeclaratie van %qD verbergt een ingebouwde functie"
+
+-#: c-decl.c:1190
++#: c-decl.c:1191
+ #, fuzzy, gcc-internal-format
+ msgid "redeclaration of enumerator %q+D"
+ msgstr "%Jherdeclaratie van enum %qD"
+@@ -17969,278 +17921,278 @@
+ #. If types don't match for a built-in, throw away the
+ #. built-in. No point in calling locate_old_decl here, it
+ #. won't print anything.
+-#: c-decl.c:1211
++#: c-decl.c:1212
+ #, fuzzy, gcc-internal-format
+ msgid "conflicting types for built-in function %q+D"
+ msgstr "%Jonverenigbare types voor ingebouwde functie %qD"
+
+-#: c-decl.c:1235 c-decl.c:1248 c-decl.c:1258
++#: c-decl.c:1236 c-decl.c:1249 c-decl.c:1259
+ #, fuzzy, gcc-internal-format
+ msgid "conflicting types for %q+D"
+ msgstr "%Jonverenigbare types voor %qD"
+
+ # misschien toch houden op type-qualifiers?
+-#: c-decl.c:1256
++#: c-decl.c:1257
+ #, fuzzy, gcc-internal-format
+ msgid "conflicting type qualifiers for %q+D"
+ msgstr "%J onverenigbare typekwalificaties voor %qD"
+
+ #. Allow OLDDECL to continue in use.
+-#: c-decl.c:1273
++#: c-decl.c:1274
+ #, fuzzy, gcc-internal-format
+ msgid "redefinition of typedef %q+D"
+ msgstr "%Jherdefinitie van typedef %qD"
+
+-#: c-decl.c:1324 c-decl.c:1426
++#: c-decl.c:1325 c-decl.c:1427
+ #, fuzzy, gcc-internal-format
+ msgid "redefinition of %q+D"
+ msgstr "%Jherdefinitie van %qD"
+
+-#: c-decl.c:1359 c-decl.c:1464
++#: c-decl.c:1360 c-decl.c:1465
+ #, fuzzy, gcc-internal-format
+ msgid "static declaration of %q+D follows non-static declaration"
+ msgstr "%Jdeclaratie van %qD als static volgt declaratie als niet-static"
+
+-#: c-decl.c:1369 c-decl.c:1376 c-decl.c:1453 c-decl.c:1461
++#: c-decl.c:1370 c-decl.c:1377 c-decl.c:1454 c-decl.c:1462
+ #, fuzzy, gcc-internal-format
+ msgid "non-static declaration of %q+D follows static declaration"
+ msgstr "%Jdeclaratie van %qD als niet-static volgt declaratie als static"
+
+-#: c-decl.c:1393
++#: c-decl.c:1394
+ #, gcc-internal-format
+ msgid "%<gnu_inline%> attribute present on %q+D"
+ msgstr ""
+
+-#: c-decl.c:1395
++#: c-decl.c:1396
+ #, fuzzy, gcc-internal-format
+ msgid "%Jbut not here"
+ msgstr "van hieruit opgeroepen"
+
+-#: c-decl.c:1413
++#: c-decl.c:1414
+ #, fuzzy, gcc-internal-format
+ msgid "thread-local declaration of %q+D follows non-thread-local declaration"
+ msgstr "%Jdeclaratie van %qD als thread-local volgt declaratie als niet-thread-local"
+
+-#: c-decl.c:1416
++#: c-decl.c:1417
+ #, fuzzy, gcc-internal-format
+ msgid "non-thread-local declaration of %q+D follows thread-local declaration"
+ msgstr "%Jdeclaratie van %qD als niet-thread-local volgt declaratie als thread-local"
+
+-#: c-decl.c:1446
++#: c-decl.c:1447
+ #, fuzzy, gcc-internal-format
+ msgid "extern declaration of %q+D follows declaration with no linkage"
+ msgstr "%Jdeclaratie van %qD as extern volgt declaratie zonder specifieke linkage"
+
+-#: c-decl.c:1482
++#: c-decl.c:1483
+ #, fuzzy, gcc-internal-format
+ msgid "declaration of %q+D with no linkage follows extern declaration"
+ msgstr "%Jdeclaratie van %qD zonder specifieke linkage volgt declaratie als extern"
+
+-#: c-decl.c:1488
++#: c-decl.c:1489
+ #, fuzzy, gcc-internal-format
+ msgid "redeclaration of %q+D with no linkage"
+ msgstr "%Jherdeclaratie van %qD zonder specifieke linkage"
+
+-#: c-decl.c:1502
++#: c-decl.c:1503
+ #, fuzzy, gcc-internal-format
+ msgid "redeclaration of %q+D with different visibility (old visibility preserved)"
+ msgstr "%Jherdeclaratie van %qD met andere zichtbaarheid (oude zichtbaarheid blijft behouden)"
+
+-#: c-decl.c:1513
++#: c-decl.c:1514
+ #, fuzzy, gcc-internal-format
+ msgid "inline declaration of %qD follows declaration with attribute noinline"
+ msgstr "%Jdeclaratie van %qD als inline volgt declaratie met %<noinline%> attribuut"
+
+-#: c-decl.c:1520
++#: c-decl.c:1521
+ #, fuzzy, gcc-internal-format
+ msgid "declaration of %q+D with attribute noinline follows inline declaration "
+ msgstr "%Jdeclaratie van %qD met %<noinline%> attribuut volgt declaratie als inline"
+
+-#: c-decl.c:1539
++#: c-decl.c:1540
+ #, fuzzy, gcc-internal-format
+ msgid "%q+D declared inline after being called"
+ msgstr "%J%qD als inline gedeclareerd na oproep"
+
+-#: c-decl.c:1544
++#: c-decl.c:1545
+ #, fuzzy, gcc-internal-format
+ msgid "%q+D declared inline after its definition"
+ msgstr "%J%qD als inline gedeclareerd na zijn definitie"
+
+-#: c-decl.c:1563
++#: c-decl.c:1564
+ #, fuzzy, gcc-internal-format
+ msgid "redefinition of parameter %q+D"
+ msgstr "%Jherdefinitie van parameter %qD"
+
+-#: c-decl.c:1590
++#: c-decl.c:1591
+ #, fuzzy, gcc-internal-format
+ msgid "redundant redeclaration of %q+D"
+ msgstr "%Joverbodige herdeclaratie van %qD"
+
+-#: c-decl.c:1970
++#: c-decl.c:1975
+ #, fuzzy, gcc-internal-format
+ msgid "declaration of %q+D shadows previous non-variable"
+ msgstr "%Jdeclaratie van %qD verbergt een eerdere niet-variabele"
+
+-#: c-decl.c:1975
++#: c-decl.c:1980
+ #, fuzzy, gcc-internal-format
+ msgid "declaration of %q+D shadows a parameter"
+ msgstr "de declaratie van %qs verbergt een parameter"
+
+-#: c-decl.c:1978
++#: c-decl.c:1983
+ #, fuzzy, gcc-internal-format
+ msgid "declaration of %q+D shadows a global declaration"
+ msgstr "de declaratie van %qs verbergt een parameter"
+
+-#: c-decl.c:1988
++#: c-decl.c:1993
+ #, fuzzy, gcc-internal-format
+ msgid "declaration of %q+D shadows a previous local"
+ msgstr "de declaratie van %qs verbergt een parameter"
+
+-#: c-decl.c:1991 cp/name-lookup.c:988 cp/name-lookup.c:1019
+-#: cp/name-lookup.c:1027
++#: c-decl.c:1996 cp/name-lookup.c:987 cp/name-lookup.c:1018
++#: cp/name-lookup.c:1026
+ #, gcc-internal-format
+ msgid "%Jshadowed declaration is here"
+ msgstr "%Jde verborgen declaratie is hier"
+
+-#: c-decl.c:2183
++#: c-decl.c:2188
+ #, gcc-internal-format
+ msgid "nested extern declaration of %qD"
+ msgstr "geneste declaratie van %qD als extern"
+
+-#: c-decl.c:2346 c-decl.c:2349
++#: c-decl.c:2351 c-decl.c:2354
+ #, gcc-internal-format
+ msgid "implicit declaration of function %qE"
+ msgstr "impliciete declaratie van functie %qE"
+
+-#: c-decl.c:2411
++#: c-decl.c:2416
+ #, gcc-internal-format
+ msgid "incompatible implicit declaration of built-in function %qD"
+ msgstr "onverenigbare impliciete declaratie van ingebouwde functie %qD"
+
+-#: c-decl.c:2420
++#: c-decl.c:2425
+ #, gcc-internal-format
+ msgid "incompatible implicit declaration of function %qD"
+ msgstr "onverenigbare impliciete declaratie van functie %qD"
+
+-#: c-decl.c:2473
++#: c-decl.c:2478
+ #, fuzzy, gcc-internal-format
+ msgid "%H%qE undeclared here (not in a function)"
+ msgstr "%qE is hier niet gedeclareerd (niet in een functie)"
+
+-#: c-decl.c:2478
++#: c-decl.c:2483
+ #, fuzzy, gcc-internal-format
+ msgid "%H%qE undeclared (first use in this function)"
+ msgstr "%qE is hier niet gedeclareerd (eerste gebruik in deze functie)"
+
+-#: c-decl.c:2482
++#: c-decl.c:2487
+ #, fuzzy, gcc-internal-format
+ msgid "%H(Each undeclared identifier is reported only once"
+ msgstr "(Elke niet-gedeclareerde naam wordt slechts één"
+
+-#: c-decl.c:2483
++#: c-decl.c:2488
+ #, fuzzy, gcc-internal-format
+ msgid "%Hfor each function it appears in.)"
+ msgstr "keer vermeld voor elke functie waarin hij staat.)"
+
+-#: c-decl.c:2521 cp/decl.c:2397
++#: c-decl.c:2526 cp/decl.c:2404
+ #, fuzzy, gcc-internal-format
+ msgid "label %qE referenced outside of any function"
+ msgstr "naar label %s gerefereerd buiten enige functie"
+
+-#: c-decl.c:2563
++#: c-decl.c:2568
+ #, fuzzy, gcc-internal-format
+ msgid "duplicate label declaration %qE"
+ msgstr "herhaalde label-declaratie %qs"
+
+-#: c-decl.c:2599
++#: c-decl.c:2604
+ #, gcc-internal-format
+ msgid "%Hduplicate label %qD"
+ msgstr "%Hherhaald label %qD"
+
+-#: c-decl.c:2609
++#: c-decl.c:2614
+ #, gcc-internal-format
+ msgid "%Jjump into statement expression"
+ msgstr ""
+
+ # Ik weet het, 'alleen-lezen' is lelijk, maar het is de min of meer geijkte vertaling.
+-#: c-decl.c:2611
++#: c-decl.c:2616
+ #, fuzzy, gcc-internal-format
+ msgid "%Jjump into scope of identifier with variably modified type"
+ msgstr "argument %d is alleen-lezen"
+
+-#: c-decl.c:2626
++#: c-decl.c:2631
+ #, gcc-internal-format
+ msgid "%Htraditional C lacks a separate namespace for labels, identifier %qE conflicts"
+ msgstr ""
+
+-#: c-decl.c:2701
++#: c-decl.c:2706
+ #, gcc-internal-format
+ msgid "%H%qE defined as wrong kind of tag"
+ msgstr ""
+
+-#: c-decl.c:2903
++#: c-decl.c:2908
+ #, gcc-internal-format
+ msgid "unnamed struct/union that defines no instances"
+ msgstr "naamloze struct/union die geen instanties definieert"
+
+-#: c-decl.c:2911
++#: c-decl.c:2916
+ #, gcc-internal-format
+ msgid "empty declaration with storage class specifier does not redeclare tag"
+ msgstr ""
+
+-#: c-decl.c:2922
++#: c-decl.c:2927
+ #, gcc-internal-format
+ msgid "empty declaration with type qualifier does not redeclare tag"
+ msgstr ""
+
+-#: c-decl.c:2943 c-decl.c:2950
++#: c-decl.c:2948 c-decl.c:2955
+ #, gcc-internal-format
+ msgid "useless type name in empty declaration"
+ msgstr "nutteloze typenaam in lege declaratie"
+
+-#: c-decl.c:2958
++#: c-decl.c:2963
+ #, gcc-internal-format
+ msgid "%<inline%> in empty declaration"
+ msgstr "%<inline%> bij lege declaratie"
+
+ # betere vertaling voor "file-scope"?
+-#: c-decl.c:2964
++#: c-decl.c:2969
+ #, gcc-internal-format
+ msgid "%<auto%> in file-scope empty declaration"
+ msgstr "%<auto%> in lege declaratie op bestandsniveau"
+
+-#: c-decl.c:2970
++#: c-decl.c:2975
+ #, gcc-internal-format
+ msgid "%<register%> in file-scope empty declaration"
+ msgstr "%<register%> in lege declaratie op bestandsniveau"
+
+ # vertaling voor "storage class specifier"?
+-#: c-decl.c:2976
++#: c-decl.c:2981
+ #, gcc-internal-format
+ msgid "useless storage class specifier in empty declaration"
+ msgstr "nutteloze storage class specifier in lege declaratie"
+
+-#: c-decl.c:2982
++#: c-decl.c:2987
+ #, gcc-internal-format
+ msgid "useless %<__thread%> in empty declaration"
+ msgstr "nutteloze %<__thread%> in lege declaratie"
+
+-#: c-decl.c:2990
++#: c-decl.c:2995
+ #, gcc-internal-format
+ msgid "useless type qualifier in empty declaration"
+ msgstr "nutteloze type-kwalificatie in lege declaratie"
+
+-#: c-decl.c:2997
++#: c-decl.c:3002
+ #, gcc-internal-format
+ msgid "empty declaration"
+ msgstr "lege declaratie"
+
+-#: c-decl.c:3063
++#: c-decl.c:3068
+ #, gcc-internal-format
+ msgid "ISO C90 does not support %<static%> or type qualifiers in parameter array declarators"
+ msgstr "ISO C90 ondersteunt geen %<static%> of type-qualificaties in declaratoren van parameter arrays"
+
+-#: c-decl.c:3066
++#: c-decl.c:3071
+ #, gcc-internal-format
+ msgid "ISO C90 does not support %<[*]%> array declarators"
+ msgstr "ISO C90 ondersteunt geen %<[*]%> declaratoren van arrays"
+@@ -18248,255 +18200,250 @@
+ #. C99 6.7.5.2p4
+ #. A function definition isn't function prototype scope C99 6.2.1p4.
+ #. C99 6.7.5.2p4
+-#: c-decl.c:3073 c-decl.c:5015
++#: c-decl.c:3078 c-decl.c:5014
+ #, gcc-internal-format
+ msgid "%<[*]%> not allowed in other than function prototype scope"
+ msgstr ""
+
+-#: c-decl.c:3097
++#: c-decl.c:3181
+ #, fuzzy, gcc-internal-format
+-msgid "static or type qualifiers in abstract declarator"
+-msgstr "%<static%> of type-kwalificatie in abstracte declarator"
+-
+-#: c-decl.c:3183
+-#, fuzzy, gcc-internal-format
+ msgid "%q+D is usually a function"
+ msgstr "%J%qD is meestal een functie"
+
+-#: c-decl.c:3192 cp/decl.c:3983 cp/decl2.c:773
++#: c-decl.c:3190 cp/decl.c:4003 cp/decl2.c:773
+ #, gcc-internal-format
+ msgid "typedef %qD is initialized (use __typeof__ instead)"
+ msgstr "typedef %qD krijgt beginwaarde (gebruik beter __typeof__)"
+
+-#: c-decl.c:3197
++#: c-decl.c:3195
+ #, gcc-internal-format
+ msgid "function %qD is initialized like a variable"
+ msgstr "functie %qD krijgt beginwaarde alsof het een variabele is"
+
+ #. DECL_INITIAL in a PARM_DECL is really DECL_ARG_TYPE.
+-#: c-decl.c:3203
++#: c-decl.c:3201
+ #, gcc-internal-format
+ msgid "parameter %qD is initialized"
+ msgstr "parameter %qD krijgt beginwaarde"
+
+-#: c-decl.c:3228
++#: c-decl.c:3226
+ #, gcc-internal-format
+ msgid "variable %qD has initializer but incomplete type"
+ msgstr "variabele %qD heeft beginwaarde, maar een onvolledig type"
+
+-#: c-decl.c:3316 c-decl.c:6108 cp/decl.c:4025 cp/decl.c:10985
++#: c-decl.c:3314 c-decl.c:6107 cp/decl.c:4045 cp/decl.c:11083
+ #, fuzzy, gcc-internal-format
+ msgid "inline function %q+D given attribute noinline"
+ msgstr "%J%<noinline%> attribuut gegeven aan ingebouwde functie %qD"
+
+-#: c-decl.c:3327
++#: c-decl.c:3326
+ #, gcc-internal-format
+ msgid "%q+D is static but declared in inline function %qD which is not static"
+ msgstr ""
+
+-#: c-decl.c:3418
++#: c-decl.c:3417
+ #, fuzzy, gcc-internal-format
+ msgid "initializer fails to determine size of %q+D"
+ msgstr "beginwaarde legt grootte van %qs niet vast"
+
+-#: c-decl.c:3423
++#: c-decl.c:3422
+ #, fuzzy, gcc-internal-format
+ msgid "array size missing in %q+D"
+ msgstr "array-grootte ontbreekt in %qs"
+
+-#: c-decl.c:3435
++#: c-decl.c:3434
+ #, fuzzy, gcc-internal-format
+ msgid "zero or negative size array %q+D"
+ msgstr "%Jarray %qD heeft grootte die negatief of nul is"
+
+-#: c-decl.c:3490 varasm.c:2067
++#: c-decl.c:3489 varasm.c:2067
+ #, fuzzy, gcc-internal-format
+ msgid "storage size of %q+D isn%'t known"
+ msgstr "opslaggrootte van %qs is onbekend"
+
+-#: c-decl.c:3500
++#: c-decl.c:3499
+ #, fuzzy, gcc-internal-format
+ msgid "storage size of %q+D isn%'t constant"
+ msgstr "opslaggrootte van %qs is niet constant"
+
+-#: c-decl.c:3545
++#: c-decl.c:3544
+ #, fuzzy, gcc-internal-format
+ msgid "ignoring asm-specifier for non-static local variable %q+D"
+ msgstr "%Jasm-specificatie wordt genegeerd voor niet-static locale variabele %qD"
+
+-#: c-decl.c:3573 fortran/f95-lang.c:653
++#: c-decl.c:3572 fortran/f95-lang.c:655
+ #, gcc-internal-format
+ msgid "cannot put object with volatile field into register"
+ msgstr "een object met een volatile veld kan niet in een register geplaatst worden"
+
+ # Of is 'verbiedt parameterdeclaraties op voorhand' beter?
+-#: c-decl.c:3702
++#: c-decl.c:3701
+ #, gcc-internal-format
+ msgid "ISO C forbids forward parameter declarations"
+ msgstr "ISO C verbiedt voorwaartse declaraties van parameters"
+
+-#: c-decl.c:3821
++#: c-decl.c:3820
+ #, gcc-internal-format
+ msgid "bit-field %qs width not an integer constant"
+ msgstr "breedte van bitveld %qs is geen integerconstante"
+
+-#: c-decl.c:3829
++#: c-decl.c:3828
+ #, gcc-internal-format
+ msgid "negative width in bit-field %qs"
+ msgstr "bitveld %qs heeft een negatieve breedte"
+
+-#: c-decl.c:3834
++#: c-decl.c:3833
+ #, gcc-internal-format
+ msgid "zero width for bit-field %qs"
+ msgstr "bitveld %qs heeft breedte 0"
+
+-#: c-decl.c:3844
++#: c-decl.c:3843
+ #, gcc-internal-format
+ msgid "bit-field %qs has invalid type"
+ msgstr "bitveld %qs heeft een ongeldig type"
+
+-#: c-decl.c:3854
++#: c-decl.c:3853
+ #, gcc-internal-format
+ msgid "type of bit-field %qs is a GCC extension"
+ msgstr "het type van bitveld %qs is een uitbreiding van GCC"
+
+-#: c-decl.c:3860
++#: c-decl.c:3859
+ #, gcc-internal-format
+ msgid "width of %qs exceeds its type"
+ msgstr "breedte van %qs overschrijdt zijn type"
+
+-#: c-decl.c:3873
++#: c-decl.c:3872
+ #, gcc-internal-format
+ msgid "%qs is narrower than values of its type"
+ msgstr "%qs is smaller dan waarden van zijn type"
+
+-#: c-decl.c:3892
++#: c-decl.c:3891
+ #, gcc-internal-format
+ msgid "ISO C90 forbids array %qs whose size can%'t be evaluated"
+ msgstr "ISO C90 verbiedt array %qs, wiens grootte niet geëvalueerd kan worden"
+
+-#: c-decl.c:3896
++#: c-decl.c:3895
+ #, fuzzy, gcc-internal-format
+ msgid "ISO C90 forbids array whose size can%'t be evaluated"
+ msgstr "ISO C90 verbiedt array %qs, wiens grootte niet geëvalueerd kan worden"
+
+-#: c-decl.c:3902
++#: c-decl.c:3901
+ #, fuzzy, gcc-internal-format
+ msgid "ISO C90 forbids variable length array %qs"
+ msgstr "ISO C90 verbiedt array %qs van variabele grootte"
+
+-#: c-decl.c:3905
++#: c-decl.c:3904
+ #, fuzzy, gcc-internal-format
+ msgid "ISO C90 forbids variable length array"
+ msgstr "ISO C90 verbiedt array %qs van variabele grootte"
+
+-#: c-decl.c:3914
++#: c-decl.c:3913
+ #, fuzzy, gcc-internal-format
+ msgid "the size of array %qs can%'t be evaluated"
+ msgstr "ISO C90 verbiedt array %qs, wiens grootte niet geëvalueerd kan worden"
+
+-#: c-decl.c:3918
++#: c-decl.c:3917
+ #, fuzzy, gcc-internal-format
+ msgid "the size of array can %'t be evaluated"
+ msgstr "grootte van array %qs is negatief"
+
+-#: c-decl.c:3924
++#: c-decl.c:3923
+ #, gcc-internal-format
+ msgid "variable length array %qs is used"
+ msgstr ""
+
+-#: c-decl.c:3928 cp/decl.c:7004
++#: c-decl.c:3927 cp/decl.c:7076
+ #, gcc-internal-format
+ msgid "variable length array is used"
+ msgstr ""
+
+ # Ik weet het, 'alleen-lezen' is lelijk, maar het is de min of meer geijkte vertaling.
+-#: c-decl.c:4051 c-decl.c:4328
++#: c-decl.c:4050 c-decl.c:4327
+ #, fuzzy, gcc-internal-format
+ msgid "variably modified %qs at file scope"
+ msgstr "argument %d is alleen-lezen"
+
+-#: c-decl.c:4069
++#: c-decl.c:4068
+ #, gcc-internal-format
+ msgid "type defaults to %<int%> in declaration of %qs"
+ msgstr "type krijgt standaardwaarde %<int%> in de declaratie van %qs"
+
+-#: c-decl.c:4097
++#: c-decl.c:4096
+ #, gcc-internal-format
+ msgid "duplicate %<const%>"
+ msgstr "herhaalde %<const%>"
+
+-#: c-decl.c:4099
++#: c-decl.c:4098
+ #, gcc-internal-format
+ msgid "duplicate %<restrict%>"
+ msgstr "herhaalde %<restrict%>"
+
+-#: c-decl.c:4101
++#: c-decl.c:4100
+ #, gcc-internal-format
+ msgid "duplicate %<volatile%>"
+ msgstr "herhaalde %<volatile%>"
+
+-#: c-decl.c:4120
++#: c-decl.c:4119
+ #, gcc-internal-format
+ msgid "function definition declared %<auto%>"
+ msgstr "functie-definitie als %<auto%> gedeclareerd"
+
+-#: c-decl.c:4122
++#: c-decl.c:4121
+ #, gcc-internal-format
+ msgid "function definition declared %<register%>"
+ msgstr "functie-definitie als %<register%> gedeclareerd"
+
+-#: c-decl.c:4124
++#: c-decl.c:4123
+ #, gcc-internal-format
+ msgid "function definition declared %<typedef%>"
+ msgstr "functie-definitie als %<typdef%> gedeclareerd"
+
+-#: c-decl.c:4126
++#: c-decl.c:4125
+ #, gcc-internal-format
+ msgid "function definition declared %<__thread%>"
+ msgstr "functie-definitie als %<__thread%> gedeclareerd"
+
+-#: c-decl.c:4142
++#: c-decl.c:4141
+ #, gcc-internal-format
+ msgid "storage class specified for structure field %qs"
+ msgstr "opslagklasse opgegeven voor structure-veld %qs"
+
+-#: c-decl.c:4146 cp/decl.c:7874
++#: c-decl.c:4145 cp/decl.c:7946
+ #, gcc-internal-format
+ msgid "storage class specified for parameter %qs"
+ msgstr "opslagklasse opgegeven voor parameter %qs"
+
+-#: c-decl.c:4149 cp/decl.c:7876
++#: c-decl.c:4148 cp/decl.c:7948
+ #, gcc-internal-format
+ msgid "storage class specified for typename"
+ msgstr "opslagklasse opgegeven voor typenaam"
+
+-#: c-decl.c:4166 cp/decl.c:7893
++#: c-decl.c:4165 cp/decl.c:7965
+ #, gcc-internal-format
+ msgid "%qs initialized and declared %<extern%>"
+ msgstr "%qs krijgt beginwaarde en is als %<extern%> gedeclareerd"
+
+-#: c-decl.c:4169 cp/decl.c:7896
++#: c-decl.c:4168 cp/decl.c:7968
+ #, gcc-internal-format
+ msgid "%qs has both %<extern%> and initializer"
+ msgstr "%qs heeft zowel %<extern%> als een beginwaarde"
+
+-#: c-decl.c:4174
++#: c-decl.c:4173
+ #, gcc-internal-format
+ msgid "file-scope declaration of %qs specifies %<auto%>"
+ msgstr "declaratie van %qs op bestandsniveau specifieert %<auto%>"
+
+-#: c-decl.c:4176
++#: c-decl.c:4175
+ #, gcc-internal-format
+ msgid "file-scope declaration of %qs specifies %<register%>"
+ msgstr "declaratie van %qs op bestandsniveau specifieert %<auto%>"
+
+-#: c-decl.c:4181 cp/decl.c:7900
++#: c-decl.c:4180 cp/decl.c:7972
+ #, gcc-internal-format
+ msgid "nested function %qs declared %<extern%>"
+ msgstr "geneste functie %qs is als %<extern%> gedeclareerd"
+
+-#: c-decl.c:4184 cp/decl.c:7910
++#: c-decl.c:4183 cp/decl.c:7982
+ #, gcc-internal-format
+ msgid "function-scope %qs implicitly auto and declared %<__thread%>"
+ msgstr ""
+@@ -18504,469 +18451,469 @@
+ #. Only the innermost declarator (making a parameter be of
+ #. array type which is converted to pointer type)
+ #. may have static or type qualifiers.
+-#: c-decl.c:4231 c-decl.c:4472
++#: c-decl.c:4230 c-decl.c:4471
+ #, gcc-internal-format
+ msgid "static or type qualifiers in non-parameter array declarator"
+ msgstr ""
+
+-#: c-decl.c:4278
++#: c-decl.c:4277
+ #, gcc-internal-format
+ msgid "declaration of %qs as array of voids"
+ msgstr "%qs wordt gedeclareerd als een array van voids"
+
+-#: c-decl.c:4284
++#: c-decl.c:4283
+ #, gcc-internal-format
+ msgid "declaration of %qs as array of functions"
+ msgstr "%qs wordt gedeclareerd als een array van functies"
+
+-#: c-decl.c:4289
++#: c-decl.c:4288
+ #, gcc-internal-format
+ msgid "invalid use of structure with flexible array member"
+ msgstr "ongeldig gebruik van strcture met flexibel array-lid"
+
+-#: c-decl.c:4309
++#: c-decl.c:4308
+ #, gcc-internal-format
+ msgid "size of array %qs has non-integer type"
+ msgstr "grootte van array %qs is van een niet-integer type"
+
+-#: c-decl.c:4314
++#: c-decl.c:4313
+ #, gcc-internal-format
+ msgid "ISO C forbids zero-size array %qs"
+ msgstr "ISO C verbiedt array %qs met grootte 0"
+
+-#: c-decl.c:4321
++#: c-decl.c:4320
+ #, gcc-internal-format
+ msgid "size of array %qs is negative"
+ msgstr "grootte van array %qs is negatief"
+
+-#: c-decl.c:4375 c-decl.c:4631 cp/decl.c:8375
++#: c-decl.c:4374 c-decl.c:4630 cp/decl.c:8447
+ #, gcc-internal-format
+ msgid "size of array %qs is too large"
+ msgstr "omvang van array %qs is te groot"
+
+-#: c-decl.c:4386
++#: c-decl.c:4385
+ #, gcc-internal-format
+ msgid "ISO C90 does not support flexible array members"
+ msgstr "ISO C90 ondersteunt geen flexibele array-leden"
+
+ #. C99 6.7.5.2p4
+-#: c-decl.c:4399
++#: c-decl.c:4398
+ #, fuzzy, gcc-internal-format
+ msgid "%<[*]%> not allowed in other than a declaration"
+ msgstr "%qs staat niet aan het begin van een declaratie"
+
+-#: c-decl.c:4422
++#: c-decl.c:4421
+ #, gcc-internal-format
+ msgid "array type has incomplete element type"
+ msgstr "arraytype heeft onvolledig elementtype"
+
+-#: c-decl.c:4504 cp/decl.c:8001
++#: c-decl.c:4503 cp/decl.c:8073
+ #, gcc-internal-format
+ msgid "%qs declared as function returning a function"
+ msgstr "%qs gedeclareerd als een functie die een functie teruggeeft"
+
+-#: c-decl.c:4509 cp/decl.c:8006
++#: c-decl.c:4508 cp/decl.c:8078
+ #, gcc-internal-format
+ msgid "%qs declared as function returning an array"
+ msgstr "%qs gedeclareerd als een functie die een array teruggeeft"
+
+-#: c-decl.c:4531
++#: c-decl.c:4530
+ #, fuzzy, gcc-internal-format
+ msgid "function definition has qualified void return type"
+ msgstr "functiedefinitie heeft een gekwalificeerde %<void%> als teruggeeftype"
+
+-#: c-decl.c:4534 cp/decl.c:7990 cp/pt.c:8568
++#: c-decl.c:4533 cp/decl.c:8062 cp/pt.c:8668
+ #, gcc-internal-format
+ msgid "type qualifiers ignored on function return type"
+ msgstr "typekwalificaties op teruggeeftypes van functies worden genegeerd"
+
+-#: c-decl.c:4563 c-decl.c:4644 c-decl.c:4732 c-decl.c:4825
++#: c-decl.c:4562 c-decl.c:4643 c-decl.c:4731 c-decl.c:4824
+ #, gcc-internal-format
+ msgid "ISO C forbids qualified function types"
+ msgstr "ISO C verbiedt gekwalificeerde functie-types"
+
+-#: c-decl.c:4652
++#: c-decl.c:4651
+ #, fuzzy, gcc-internal-format
+ msgid "typedef %q+D declared %<inline%>"
+ msgstr "%Jtypedef %qD als %<inline%> gedeclareerd"
+
+-#: c-decl.c:4667
++#: c-decl.c:4666
+ #, fuzzy, gcc-internal-format
+ msgid "ISO C forbids const or volatile function types"
+ msgstr "ISO C verbiedt %<const%> of %<volatile%> functie-types"
+
+ # Ik weet het, 'alleen-lezen' is lelijk, maar het is de min of meer geijkte vertaling.
+ #. C99 6.7.2.1p8
+-#: c-decl.c:4677
++#: c-decl.c:4676
+ #, fuzzy, gcc-internal-format
+ msgid "a member of a structure or union cannot have a variably modified type"
+ msgstr "argument %d is alleen-lezen"
+
+-#: c-decl.c:4693
++#: c-decl.c:4692
+ #, gcc-internal-format
+ msgid "variable or field %qs declared void"
+ msgstr "variabele of veld %qs als void gedeclareerd"
+
+-#: c-decl.c:4725
++#: c-decl.c:4724
+ #, gcc-internal-format
+ msgid "attributes in parameter array declarator ignored"
+ msgstr "attributen genegeerd in declarator van parameter-array"
+
+-#: c-decl.c:4760
++#: c-decl.c:4759
+ #, fuzzy, gcc-internal-format
+ msgid "parameter %q+D declared %<inline%>"
+ msgstr "%Jparameter %qD als %<inline%> gedeclareerd"
+
+-#: c-decl.c:4773
++#: c-decl.c:4772
+ #, gcc-internal-format
+ msgid "field %qs declared as a function"
+ msgstr "veld %qs als een functie gedeclareerd"
+
+-#: c-decl.c:4779
++#: c-decl.c:4778
+ #, gcc-internal-format
+ msgid "field %qs has incomplete type"
+ msgstr "veld %qs heeft een onvolledig type"
+
+-#: c-decl.c:4796 c-decl.c:4808 c-decl.c:4812
++#: c-decl.c:4795 c-decl.c:4807 c-decl.c:4811
+ #, gcc-internal-format
+ msgid "invalid storage class for function %qs"
+ msgstr "ongeldige opslagklasse voor functie %qs"
+
+-#: c-decl.c:4831
++#: c-decl.c:4830
+ #, gcc-internal-format
+ msgid "%<noreturn%> function returns non-void value"
+ msgstr "%<noreturn%> functie geeft niet-void waarde terug"
+
+-#: c-decl.c:4867
++#: c-decl.c:4866
+ #, gcc-internal-format
+ msgid "cannot inline function %<main%>"
+ msgstr "kan functie %<main%> niet %<inline%> maken"
+
+-#: c-decl.c:4910
++#: c-decl.c:4909
+ #, gcc-internal-format
+ msgid "variable previously declared %<static%> redeclared %<extern%>"
+ msgstr "eerder als %<static%> gedeclareerde variabele als %<extern%> geherdeclareerd"
+
+-#: c-decl.c:4920
++#: c-decl.c:4919
+ #, fuzzy, gcc-internal-format
+ msgid "variable %q+D declared %<inline%>"
+ msgstr "%Jvariabele %qD als %<inline%> gedeclareerd"
+
+ #. C99 6.7.5.2p2
+-#: c-decl.c:4951
++#: c-decl.c:4950
+ #, gcc-internal-format
+ msgid "object with variably modified type must have no linkage"
+ msgstr ""
+
+-#: c-decl.c:5020 c-decl.c:6199
++#: c-decl.c:5019 c-decl.c:6198
+ #, gcc-internal-format
+ msgid "function declaration isn%'t a prototype"
+ msgstr "functie-declaratie is geen prototype"
+
+-#: c-decl.c:5028
++#: c-decl.c:5027
+ #, gcc-internal-format
+ msgid "parameter names (without types) in function declaration"
+ msgstr "parameternamen (zonder types) in functiedeclaratie"
+
+-#: c-decl.c:5061
++#: c-decl.c:5060
+ #, fuzzy, gcc-internal-format
+ msgid "parameter %u (%q+D) has incomplete type"
+ msgstr "%Jparameter %u (%qD) heeft een onvolledig type"
+
+-#: c-decl.c:5064
++#: c-decl.c:5063
+ #, gcc-internal-format
+ msgid "%Jparameter %u has incomplete type"
+ msgstr "%Jparameter %u heeft een onvolledig type"
+
+-#: c-decl.c:5073
++#: c-decl.c:5072
+ #, fuzzy, gcc-internal-format
+ msgid "parameter %u (%q+D) has void type"
+ msgstr "%Jparameter %u (%qD) heeft %<void%> als type"
+
+-#: c-decl.c:5076
++#: c-decl.c:5075
+ #, gcc-internal-format
+ msgid "%Jparameter %u has void type"
+ msgstr "%Jparameter %u heeft %<void%> als type"
+
+-#: c-decl.c:5138
++#: c-decl.c:5137
+ #, gcc-internal-format
+ msgid "%<void%> as only parameter may not be qualified"
+ msgstr "%<void%> als enige parameter mag niet gekwalificeerd worden"
+
+-#: c-decl.c:5142 c-decl.c:5176
++#: c-decl.c:5141 c-decl.c:5175
+ #, gcc-internal-format
+ msgid "%<void%> must be the only parameter"
+ msgstr "%<void%> moet de enige parameter zijn"
+
+-#: c-decl.c:5170
++#: c-decl.c:5169
+ #, fuzzy, gcc-internal-format
+ msgid "parameter %q+D has just a forward declaration"
+ msgstr "%Jparameter %qD heeft enkel een voorwaartse declaratie"
+
+ #. The %s will be one of 'struct', 'union', or 'enum'.
+-#: c-decl.c:5215
++#: c-decl.c:5214
+ #, gcc-internal-format
+ msgid "%<%s %E%> declared inside parameter list"
+ msgstr "%<%s %E%> gedeclareerd binnen parameterlijst"
+
+ #. The %s will be one of 'struct', 'union', or 'enum'.
+-#: c-decl.c:5219
++#: c-decl.c:5218
+ #, gcc-internal-format
+ msgid "anonymous %s declared inside parameter list"
+ msgstr "anonieme %s gedeclareerd binnen parameterlijst"
+
+-#: c-decl.c:5224
++#: c-decl.c:5223
+ #, gcc-internal-format
+ msgid "its scope is only this definition or declaration, which is probably not what you want"
+ msgstr "het bereik ervan is enkel deze definitie of declaratie, hetgeen waarschijnlijk niet de bedoeling is"
+
+-#: c-decl.c:5358
++#: c-decl.c:5357
+ #, fuzzy, gcc-internal-format
+ msgid "redefinition of %<union %E%>"
+ msgstr "herdefinitie van %<union %s%>"
+
+-#: c-decl.c:5360
++#: c-decl.c:5359
+ #, fuzzy, gcc-internal-format
+ msgid "redefinition of %<struct %E%>"
+ msgstr "herdefinitie van %<struct %s%>"
+
+-#: c-decl.c:5365
++#: c-decl.c:5364
+ #, fuzzy, gcc-internal-format
+ msgid "nested redefinition of %<union %E%>"
+ msgstr "geneste herdefinitie van %<union %s%>"
+
+-#: c-decl.c:5367
++#: c-decl.c:5366
+ #, fuzzy, gcc-internal-format
+ msgid "nested redefinition of %<struct %E%>"
+ msgstr "geneste herdefinitie van %<struct %s%>"
+
+-#: c-decl.c:5442 cp/decl.c:3780
++#: c-decl.c:5441 cp/decl.c:3796
+ #, gcc-internal-format
+ msgid "declaration does not declare anything"
+ msgstr "declaratie declareert niets"
+
+-#: c-decl.c:5446
++#: c-decl.c:5445
+ #, gcc-internal-format
+ msgid "ISO C doesn%'t support unnamed structs/unions"
+ msgstr "ISO C ondersteunt geen naamloze structs/unions"
+
+-#: c-decl.c:5490 c-decl.c:5506
++#: c-decl.c:5489 c-decl.c:5505
+ #, fuzzy, gcc-internal-format
+ msgid "duplicate member %q+D"
+ msgstr "%Jherhaald lid %qD"
+
+-#: c-decl.c:5545
++#: c-decl.c:5544
+ #, gcc-internal-format
+ msgid "union has no named members"
+ msgstr "union heeft geen benoemde leden"
+
+-#: c-decl.c:5547
++#: c-decl.c:5546
+ #, gcc-internal-format
+ msgid "union has no members"
+ msgstr "union heeft geen leden"
+
+-#: c-decl.c:5552
++#: c-decl.c:5551
+ #, gcc-internal-format
+ msgid "struct has no named members"
+ msgstr "struct heeft geen benoemde leden"
+
+-#: c-decl.c:5554
++#: c-decl.c:5553
+ #, gcc-internal-format
+ msgid "struct has no members"
+ msgstr "struct heeft geen leden"
+
+-#: c-decl.c:5616
++#: c-decl.c:5615
+ #, gcc-internal-format
+ msgid "%Jflexible array member in union"
+ msgstr "%Jflexibel array-lid in union"
+
+-#: c-decl.c:5621
++#: c-decl.c:5620
+ #, gcc-internal-format
+ msgid "%Jflexible array member not at end of struct"
+ msgstr "%Jflexibel array-lid niet aan het eind van de struct"
+
+-#: c-decl.c:5626
++#: c-decl.c:5625
+ #, gcc-internal-format
+ msgid "%Jflexible array member in otherwise empty struct"
+ msgstr "%Jflexibel array-lid in overigens lege struct"
+
+-#: c-decl.c:5633
++#: c-decl.c:5632
+ #, gcc-internal-format
+ msgid "%Jinvalid use of structure with flexible array member"
+ msgstr "%Jongeldig gebruik van structure met flexibel array-lid"
+
+-#: c-decl.c:5742
++#: c-decl.c:5741
+ #, gcc-internal-format
+ msgid "union cannot be made transparent"
+ msgstr "union kan niet transparant gemaakt worden"
+
+-#: c-decl.c:5813
++#: c-decl.c:5812
+ #, fuzzy, gcc-internal-format
+ msgid "nested redefinition of %<enum %E%>"
+ msgstr "geneste herdefinitie van %<enum %qs%>"
+
+ #. This enum is a named one that has been declared already.
+-#: c-decl.c:5820
++#: c-decl.c:5819
+ #, fuzzy, gcc-internal-format
+ msgid "redeclaration of %<enum %E%>"
+ msgstr "herdeclaratie van %<enum %qs%>"
+
+-#: c-decl.c:5883
++#: c-decl.c:5882
+ #, gcc-internal-format
+ msgid "enumeration values exceed range of largest integer"
+ msgstr "enumeratiewaarden overschrijden het bereik van de grootste integer"
+
+-#: c-decl.c:5900
++#: c-decl.c:5899
+ #, gcc-internal-format
+ msgid "specified mode too small for enumeral values"
+ msgstr "opgegeven modus is te klein voor enumeratiewaarden"
+
+-#: c-decl.c:5996
++#: c-decl.c:5995
+ #, gcc-internal-format
+ msgid "enumerator value for %qE is not an integer constant"
+ msgstr "enumeratiewaarde voor %qE is geen integerconstante"
+
+-#: c-decl.c:6013
++#: c-decl.c:6012
+ #, gcc-internal-format
+ msgid "overflow in enumeration values"
+ msgstr "overflow in enumeratiewaarden"
+
+-#: c-decl.c:6018
++#: c-decl.c:6017
+ #, gcc-internal-format
+ msgid "ISO C restricts enumerator values to range of %<int%>"
+ msgstr "ISO C beperkt enumeratiewaarden tot het bereik van het %<int%> type"
+
+-#: c-decl.c:6125
++#: c-decl.c:6124
+ #, gcc-internal-format
+ msgid "return type is an incomplete type"
+ msgstr "teruggeeftype is onvolledig"
+
+-#: c-decl.c:6133
++#: c-decl.c:6132
+ #, gcc-internal-format
+ msgid "return type defaults to %<int%>"
+ msgstr "teruggeeftype krijgt standaardwaarde %<int%>"
+
+-#: c-decl.c:6206
++#: c-decl.c:6205
+ #, fuzzy, gcc-internal-format
+ msgid "no previous prototype for %q+D"
+ msgstr "%Jgeen eerder prototype voor %qD"
+
+-#: c-decl.c:6215
++#: c-decl.c:6214
+ #, fuzzy, gcc-internal-format
+ msgid "%q+D was used with no prototype before its definition"
+ msgstr "%J%qD werd voor haar definitie gebruikt zonder protoype"
+
+-#: c-decl.c:6221 cp/decl.c:11126
++#: c-decl.c:6220 cp/decl.c:11224
+ #, fuzzy, gcc-internal-format
+ msgid "no previous declaration for %q+D"
+ msgstr "%Jgeen eerdere declaratie voor %qD"
+
+-#: c-decl.c:6231
++#: c-decl.c:6230
+ #, fuzzy, gcc-internal-format
+ msgid "%q+D was used with no declaration before its definition"
+ msgstr "%J%qD werd voor haar definitie gebruikt zonder declaratie"
+
+-#: c-decl.c:6254 c-decl.c:6723
++#: c-decl.c:6253 c-decl.c:6722
+ #, fuzzy, gcc-internal-format
+ msgid "return type of %q+D is not %<int%>"
+ msgstr "%Jteruggeeftype van %qD is niet %<int%>"
+
+-#: c-decl.c:6259
++#: c-decl.c:6258
+ #, fuzzy, gcc-internal-format
+ msgid "%q+D is normally a non-static function"
+ msgstr "%J%qD is gewoonlijk een niet-static funtie"
+
+-#: c-decl.c:6293
++#: c-decl.c:6292
+ #, gcc-internal-format
+ msgid "%Jold-style parameter declarations in prototyped function definition"
+ msgstr "%Jparameterdeclaraties in oude stijl gebruikt in de definitie van een functie die een prototype heeft"
+
+-#: c-decl.c:6307
++#: c-decl.c:6306
+ #, gcc-internal-format
+ msgid "%Jtraditional C rejects ISO C style function definitions"
+ msgstr "%Jtraditionele C verwerpt functiedefinities in de stijl van ISO C"
+
+-#: c-decl.c:6323
++#: c-decl.c:6322
+ #, gcc-internal-format
+ msgid "%Jparameter name omitted"
+ msgstr "%Jparameternaam weggelaten"
+
+-#: c-decl.c:6357
++#: c-decl.c:6356
+ #, gcc-internal-format
+ msgid "%Jold-style function definition"
+ msgstr "%Jfunctiedefinitie in oude stijl"
+
+-#: c-decl.c:6366
++#: c-decl.c:6365
+ #, gcc-internal-format
+ msgid "%Jparameter name missing from parameter list"
+ msgstr "%Jparameternaam ontbreekt in parameterlijst"
+
+-#: c-decl.c:6377
++#: c-decl.c:6376
+ #, fuzzy, gcc-internal-format
+ msgid "%q+D declared as a non-parameter"
+ msgstr "%J%qD als niet-parameter gedeclareerd"
+
+-#: c-decl.c:6382
++#: c-decl.c:6381
+ #, fuzzy, gcc-internal-format
+ msgid "multiple parameters named %q+D"
+ msgstr "%Jmeerdere parameters hebben de naam %qD"
+
+-#: c-decl.c:6390
++#: c-decl.c:6389
+ #, fuzzy, gcc-internal-format
+ msgid "parameter %q+D declared with void type"
+ msgstr "%Jparameter %qD als void gedeclareerd"
+
+-#: c-decl.c:6407 c-decl.c:6409
++#: c-decl.c:6406 c-decl.c:6408
+ #, fuzzy, gcc-internal-format
+ msgid "type of %q+D defaults to %<int%>"
+ msgstr "%Jtype van %qD krijgt standaardtype %<int%>"
+
+-#: c-decl.c:6428
++#: c-decl.c:6427
+ #, fuzzy, gcc-internal-format
+ msgid "parameter %q+D has incomplete type"
+ msgstr "%Jparameter %qD heeft een onvolledig type"
+
+-#: c-decl.c:6434
++#: c-decl.c:6433
+ #, fuzzy, gcc-internal-format
+ msgid "declaration for parameter %q+D but no such parameter"
+ msgstr "%Jdeclaratie voor parameter %qD maar er is zo geen parameter"
+
+-#: c-decl.c:6484
++#: c-decl.c:6483
+ #, fuzzy, gcc-internal-format
+ msgid "number of arguments doesn%'t match built-in prototype"
+ msgstr "aantal argumenten kom niet overeen met prototype"
+
+-#: c-decl.c:6488
++#: c-decl.c:6487
+ #, gcc-internal-format
+ msgid "number of arguments doesn%'t match prototype"
+ msgstr "aantal argumenten kom niet overeen met prototype"
+
+-#: c-decl.c:6489 c-decl.c:6529 c-decl.c:6542
++#: c-decl.c:6488 c-decl.c:6528 c-decl.c:6541
+ #, gcc-internal-format
+ msgid "%Hprototype declaration"
+ msgstr "%Hdeclaratie van prototype"
+
+-#: c-decl.c:6523
++#: c-decl.c:6522
+ #, fuzzy, gcc-internal-format
+ msgid "promoted argument %qD doesn%'t match built-in prototype"
+ msgstr "gepromoveerd argument %qD komt niet overeen met prototype"
+
+-#: c-decl.c:6527
++#: c-decl.c:6526
+ #, gcc-internal-format
+ msgid "promoted argument %qD doesn%'t match prototype"
+ msgstr "gepromoveerd argument %qD komt niet overeen met prototype"
+
+-#: c-decl.c:6537
++#: c-decl.c:6536
+ #, fuzzy, gcc-internal-format
+ msgid "argument %qD doesn%'t match built-in prototype"
+ msgstr "argument %qs komt niet overeen met prototype"
+
+-#: c-decl.c:6541
++#: c-decl.c:6540
+ #, fuzzy, gcc-internal-format
+ msgid "argument %qD doesn%'t match prototype"
+ msgstr "argument %qs komt niet overeen met prototype"
+
+-#: c-decl.c:6768 cp/decl.c:11820
++#: c-decl.c:6767 cp/decl.c:11918
+ #, fuzzy, gcc-internal-format
+ msgid "no return statement in function returning non-void"
+ msgstr "%<return%> zonder waarde in een functie die een niet-void waarde teruggeeft"
+@@ -18974,438 +18921,438 @@
+ #. If we get here, declarations have been used in a for loop without
+ #. the C99 for loop scope. This doesn't make much sense, so don't
+ #. allow it.
+-#: c-decl.c:6841
++#: c-decl.c:6840
+ #, fuzzy, gcc-internal-format
+ msgid "%<for%> loop initial declaration used outside C99 mode"
+ msgstr "initiële declaratie voor %<for%> lus gebruikt buiten C99 modus"
+
+-#: c-decl.c:6870
++#: c-decl.c:6869
+ #, fuzzy, gcc-internal-format
+ msgid "declaration of static variable %q+D in %<for%> loop initial declaration"
+ msgstr "de declaratie van %qs verbergt een globale declaratie"
+
+-#: c-decl.c:6873
++#: c-decl.c:6872
+ #, fuzzy, gcc-internal-format
+ msgid "declaration of %<extern%> variable %q+D in %<for%> loop initial declaration"
+ msgstr "de declaratie van %qs verbergt een globale declaratie"
+
+-#: c-decl.c:6878
++#: c-decl.c:6877
+ #, fuzzy, gcc-internal-format
+ msgid "%<struct %E%> declared in %<for%> loop initial declaration"
+ msgstr "%qs als 'inline' gedeclareerd na de definitie"
+
+-#: c-decl.c:6882
++#: c-decl.c:6881
+ #, fuzzy, gcc-internal-format
+ msgid "%<union %E%> declared in %<for%> loop initial declaration"
+ msgstr "%qs als 'inline' gedeclareerd na de definitie"
+
+-#: c-decl.c:6886
++#: c-decl.c:6885
+ #, fuzzy, gcc-internal-format
+ msgid "%<enum %E%> declared in %<for%> loop initial declaration"
+ msgstr "%qs als 'inline' gedeclareerd na de definitie"
+
+-#: c-decl.c:6890
++#: c-decl.c:6889
+ #, fuzzy, gcc-internal-format
+ msgid "declaration of non-variable %q+D in %<for%> loop initial declaration"
+ msgstr "de declaratie van %qs verbergt een globale declaratie"
+
+-#: c-decl.c:7178 c-decl.c:7420 c-decl.c:7716
++#: c-decl.c:7177 c-decl.c:7419 c-decl.c:7715
+ #, fuzzy, gcc-internal-format
+ msgid "duplicate %qE"
+ msgstr "herhaalde %qs"
+
+-#: c-decl.c:7201 c-decl.c:7430 c-decl.c:7617
++#: c-decl.c:7200 c-decl.c:7429 c-decl.c:7616
+ #, gcc-internal-format
+ msgid "two or more data types in declaration specifiers"
+ msgstr "twee of meer data types opgegeven bij declaratie"
+
+-#: c-decl.c:7213 cp/parser.c:2149
++#: c-decl.c:7212 cp/parser.c:2152
+ #, gcc-internal-format
+ msgid "%<long long long%> is too long for GCC"
+ msgstr "%<long long long%> is te lang voor GCC"
+
+-#: c-decl.c:7220 c-decl.c:7520
++#: c-decl.c:7219 c-decl.c:7519
+ #, gcc-internal-format
+ msgid "both %<long long%> and %<double%> in declaration specifiers"
+ msgstr "zowel %<long long%> als %<double%> opgegeven bij declaratie"
+
+-#: c-decl.c:7226
++#: c-decl.c:7225
+ #, gcc-internal-format
+ msgid "ISO C90 does not support %<long long%>"
+ msgstr "ISO C90 ondersteunt %<long long%> niet"
+
+-#: c-decl.c:7231 c-decl.c:7260
++#: c-decl.c:7230 c-decl.c:7259
+ #, gcc-internal-format
+ msgid "both %<long%> and %<short%> in declaration specifiers"
+ msgstr "zowel %<long%> als %<short%> opgegeven bij declaratie"
+
+-#: c-decl.c:7234 c-decl.c:7437
++#: c-decl.c:7233 c-decl.c:7436
+ #, gcc-internal-format
+ msgid "both %<long%> and %<void%> in declaration specifiers"
+ msgstr "zowel %<long%> als %<void%> opgegeven bij declaratie"
+
+-#: c-decl.c:7237 c-decl.c:7459
++#: c-decl.c:7236 c-decl.c:7458
+ #, gcc-internal-format
+ msgid "both %<long%> and %<_Bool%> in declaration specifiers"
+ msgstr "zowel %<long%> als %<_Bool%> opgegeven bij declaratie"
+
+-#: c-decl.c:7240 c-decl.c:7481
++#: c-decl.c:7239 c-decl.c:7480
+ #, gcc-internal-format
+ msgid "both %<long%> and %<char%> in declaration specifiers"
+ msgstr "zowel %<long%> als %<char%> opgegeven bij declaratie"
+
+-#: c-decl.c:7243 c-decl.c:7501
++#: c-decl.c:7242 c-decl.c:7500
+ #, gcc-internal-format
+ msgid "both %<long%> and %<float%> in declaration specifiers"
+ msgstr "zowel %<long%> als %<float%> opgegeven bij declaratie"
+
+-#: c-decl.c:7246
++#: c-decl.c:7245
+ #, fuzzy, gcc-internal-format
+ msgid "both %<long%> and %<_Decimal32%> in declaration specifiers"
+ msgstr "zowel %<long%> als %<char%> opgegeven bij declaratie"
+
+-#: c-decl.c:7249
++#: c-decl.c:7248
+ #, fuzzy, gcc-internal-format
+ msgid "both %<long%> and %<_Decimal64%> in declaration specifiers"
+ msgstr "zowel %<long%> als %<char%> opgegeven bij declaratie"
+
+-#: c-decl.c:7252
++#: c-decl.c:7251
+ #, fuzzy, gcc-internal-format
+ msgid "both %<long%> and %<_Decimal128%> in declaration specifiers"
+ msgstr "zowel %<long%> als %<char%> opgegeven bij declaratie"
+
+-#: c-decl.c:7263 c-decl.c:7440
++#: c-decl.c:7262 c-decl.c:7439
+ #, gcc-internal-format
+ msgid "both %<short%> and %<void%> in declaration specifiers"
+ msgstr "zowel %<short%> als %<void%> opgegeven bij declaratie"
+
+-#: c-decl.c:7266 c-decl.c:7462
++#: c-decl.c:7265 c-decl.c:7461
+ #, gcc-internal-format
+ msgid "both %<short%> and %<_Bool%> in declaration specifiers"
+ msgstr "zowel %<short%> als %<_Bool%> opgegeven bij declaratie"
+
+-#: c-decl.c:7269 c-decl.c:7484
++#: c-decl.c:7268 c-decl.c:7483
+ #, gcc-internal-format
+ msgid "both %<short%> and %<char%> in declaration specifiers"
+ msgstr "zowel %<short%> als %<char%> opgegeven bij declaratie"
+
+-#: c-decl.c:7272 c-decl.c:7504
++#: c-decl.c:7271 c-decl.c:7503
+ #, gcc-internal-format
+ msgid "both %<short%> and %<float%> in declaration specifiers"
+ msgstr "zowel %<short%> als %<float%> opgegeven bij declaratie"
+
+-#: c-decl.c:7275 c-decl.c:7523
++#: c-decl.c:7274 c-decl.c:7522
+ #, gcc-internal-format
+ msgid "both %<short%> and %<double%> in declaration specifiers"
+ msgstr "zowel %<short%> als %<double%> opgegeven bij declaratie"
+
+-#: c-decl.c:7278
++#: c-decl.c:7277
+ #, fuzzy, gcc-internal-format
+ msgid "both %<short%> and %<_Decimal32%> in declaration specifiers"
+ msgstr "zowel %<short%> als %<char%> opgegeven bij declaratie"
+
+-#: c-decl.c:7281
++#: c-decl.c:7280
+ #, fuzzy, gcc-internal-format
+ msgid "both %<short%> and %<_Decimal64%> in declaration specifiers"
+ msgstr "zowel %<short%> als %<char%> opgegeven bij declaratie"
+
+-#: c-decl.c:7284
++#: c-decl.c:7283
+ #, fuzzy, gcc-internal-format
+ msgid "both %<short%> and %<_Decimal128%> in declaration specifiers"
+ msgstr "zowel %<short%> als %<char%> opgegeven bij declaratie"
+
+-#: c-decl.c:7292 c-decl.c:7321
++#: c-decl.c:7291 c-decl.c:7320
+ #, gcc-internal-format
+ msgid "both %<signed%> and %<unsigned%> in declaration specifiers"
+ msgstr "zowel %<signed%> als %<unsigned%> opgegeven bij declaratie"
+
+-#: c-decl.c:7295 c-decl.c:7443
++#: c-decl.c:7294 c-decl.c:7442
+ #, gcc-internal-format
+ msgid "both %<signed%> and %<void%> in declaration specifiers"
+ msgstr "zowel %<signed%> als %<void%> opgegeven bij declaratie"
+
+-#: c-decl.c:7298 c-decl.c:7465
++#: c-decl.c:7297 c-decl.c:7464
+ #, gcc-internal-format
+ msgid "both %<signed%> and %<_Bool%> in declaration specifiers"
+ msgstr "zowel %<signed%> als %<_Bool%> opgegeven bij declaratie"
+
+-#: c-decl.c:7301 c-decl.c:7507
++#: c-decl.c:7300 c-decl.c:7506
+ #, gcc-internal-format
+ msgid "both %<signed%> and %<float%> in declaration specifiers"
+ msgstr "zowel %<signed%> als %<float%> opgegeven bij declaratie"
+
+-#: c-decl.c:7304 c-decl.c:7526
++#: c-decl.c:7303 c-decl.c:7525
+ #, gcc-internal-format
+ msgid "both %<signed%> and %<double%> in declaration specifiers"
+ msgstr "zowel %<signed%> als %<double%> opgegeven bij declaratie"
+
+-#: c-decl.c:7307
++#: c-decl.c:7306
+ #, fuzzy, gcc-internal-format
+ msgid "both %<signed%> and %<_Decimal32%> in declaration specifiers"
+ msgstr "zowel %<signed%> als %<_Bool%> opgegeven bij declaratie"
+
+-#: c-decl.c:7310
++#: c-decl.c:7309
+ #, fuzzy, gcc-internal-format
+ msgid "both %<signed%> and %<_Decimal64%> in declaration specifiers"
+ msgstr "zowel %<signed%> als %<_Bool%> opgegeven bij declaratie"
+
+-#: c-decl.c:7313
++#: c-decl.c:7312
+ #, fuzzy, gcc-internal-format
+ msgid "both %<signed%> and %<_Decimal128%> in declaration specifiers"
+ msgstr "zowel %<signed%> als %<_Bool%> opgegeven bij declaratie"
+
+-#: c-decl.c:7324 c-decl.c:7446
++#: c-decl.c:7323 c-decl.c:7445
+ #, gcc-internal-format
+ msgid "both %<unsigned%> and %<void%> in declaration specifiers"
+ msgstr "zowel %<unsigned%> als %<void%> opgegeven bij declaratie"
+
+-#: c-decl.c:7327 c-decl.c:7468
++#: c-decl.c:7326 c-decl.c:7467
+ #, gcc-internal-format
+ msgid "both %<unsigned%> and %<_Bool%> in declaration specifiers"
+ msgstr "zowel %<unsigned%> als %<_Bool%> opgegeven bij declaratie"
+
+-#: c-decl.c:7330 c-decl.c:7510
++#: c-decl.c:7329 c-decl.c:7509
+ #, gcc-internal-format
+ msgid "both %<unsigned%> and %<float%> in declaration specifiers"
+ msgstr "zowel %<unsigned%> als %<float%> opgegeven bij declaratie"
+
+-#: c-decl.c:7333 c-decl.c:7529
++#: c-decl.c:7332 c-decl.c:7528
+ #, gcc-internal-format
+ msgid "both %<unsigned%> and %<double%> in declaration specifiers"
+ msgstr "zowel %<unsigned%> als %<double%> opgegeven bij declaratie"
+
+-#: c-decl.c:7336
++#: c-decl.c:7335
+ #, fuzzy, gcc-internal-format
+ msgid "both %<unsigned%> and %<_Decimal32%> in declaration specifiers"
+ msgstr "zowel %<unsigned%> als %<_Bool%> opgegeven bij declaratie"
+
+-#: c-decl.c:7339
++#: c-decl.c:7338
+ #, fuzzy, gcc-internal-format
+ msgid "both %<unsigned%> and %<_Decimal64%> in declaration specifiers"
+ msgstr "zowel %<unsigned%> als %<_Bool%> opgegeven bij declaratie"
+
+-#: c-decl.c:7342
++#: c-decl.c:7341
+ #, fuzzy, gcc-internal-format
+ msgid "both %<unsigned%> and %<_Decimal128%> in declaration specifiers"
+ msgstr "zowel %<unsigned%> als %<_Bool%> opgegeven bij declaratie"
+
+-#: c-decl.c:7350
++#: c-decl.c:7349
+ #, gcc-internal-format
+ msgid "ISO C90 does not support complex types"
+ msgstr "ISO C90 ondersteunt geen complexe types"
+
+-#: c-decl.c:7352 c-decl.c:7449
++#: c-decl.c:7351 c-decl.c:7448
+ #, gcc-internal-format
+ msgid "both %<complex%> and %<void%> in declaration specifiers"
+ msgstr "zowel %<complex%> als %<void%> opgegeven bij declaratie"
+
+-#: c-decl.c:7355 c-decl.c:7471
++#: c-decl.c:7354 c-decl.c:7470
+ #, gcc-internal-format
+ msgid "both %<complex%> and %<_Bool%> in declaration specifiers"
+ msgstr "zowel %<complex%> als %<_Bool%> opgegeven bij declaratie"
+
+-#: c-decl.c:7358
++#: c-decl.c:7357
+ #, fuzzy, gcc-internal-format
+ msgid "both %<complex%> and %<_Decimal32%> in declaration specifiers"
+ msgstr "zowel %<complex%> als %<_Bool%> opgegeven bij declaratie"
+
+-#: c-decl.c:7361
++#: c-decl.c:7360
+ #, fuzzy, gcc-internal-format
+ msgid "both %<complex%> and %<_Decimal64%> in declaration specifiers"
+ msgstr "zowel %<complex%> als %<_Bool%> opgegeven bij declaratie"
+
+-#: c-decl.c:7364
++#: c-decl.c:7363
+ #, fuzzy, gcc-internal-format
+ msgid "both %<complex%> and %<_Decimal128%> in declaration specifiers"
+ msgstr "zowel %<complex%> als %<_Bool%> opgegeven bij declaratie"
+
+-#: c-decl.c:7367
++#: c-decl.c:7366
+ #, fuzzy, gcc-internal-format
+ msgid "both %<complex%> and %<_Fract%> in declaration specifiers"
+ msgstr "zowel %<complex%> als %<_Bool%> opgegeven bij declaratie"
+
+-#: c-decl.c:7370
++#: c-decl.c:7369
+ #, fuzzy, gcc-internal-format
+ msgid "both %<complex%> and %<_Accum%> in declaration specifiers"
+ msgstr "zowel %<complex%> als %<_Bool%> opgegeven bij declaratie"
+
+-#: c-decl.c:7373
++#: c-decl.c:7372
+ #, fuzzy, gcc-internal-format
+ msgid "both %<complex%> and %<_Sat%> in declaration specifiers"
+ msgstr "zowel %<complex%> als %<_Bool%> opgegeven bij declaratie"
+
+-#: c-decl.c:7381
++#: c-decl.c:7380
+ #, fuzzy, gcc-internal-format
+ msgid "ISO C does not support saturating types"
+ msgstr "ISO C ondersteunt %<long long%> niet"
+
+-#: c-decl.c:7383 c-decl.c:7452
++#: c-decl.c:7382 c-decl.c:7451
+ #, fuzzy, gcc-internal-format
+ msgid "both %<_Sat%> and %<void%> in declaration specifiers"
+ msgstr "zowel %<short%> als %<void%> opgegeven bij declaratie"
+
+-#: c-decl.c:7386 c-decl.c:7474
++#: c-decl.c:7385 c-decl.c:7473
+ #, fuzzy, gcc-internal-format
+ msgid "both %<_Sat%> and %<_Bool%> in declaration specifiers"
+ msgstr "zowel %<short%> als %<_Bool%> opgegeven bij declaratie"
+
+-#: c-decl.c:7389 c-decl.c:7487
++#: c-decl.c:7388 c-decl.c:7486
+ #, fuzzy, gcc-internal-format
+ msgid "both %<_Sat%> and %<char%> in declaration specifiers"
+ msgstr "zowel %<short%> als %<char%> opgegeven bij declaratie"
+
+-#: c-decl.c:7392 c-decl.c:7494
++#: c-decl.c:7391 c-decl.c:7493
+ #, fuzzy, gcc-internal-format
+ msgid "both %<_Sat%> and %<int%> in declaration specifiers"
+ msgstr "zowel %<short%> als %<void%> opgegeven bij declaratie"
+
+-#: c-decl.c:7395 c-decl.c:7513
++#: c-decl.c:7394 c-decl.c:7512
+ #, fuzzy, gcc-internal-format
+ msgid "both %<_Sat%> and %<float%> in declaration specifiers"
+ msgstr "zowel %<short%> als %<float%> opgegeven bij declaratie"
+
+-#: c-decl.c:7398 c-decl.c:7532
++#: c-decl.c:7397 c-decl.c:7531
+ #, fuzzy, gcc-internal-format
+ msgid "both %<_Sat%> and %<double%> in declaration specifiers"
+ msgstr "zowel %<short%> als %<double%> opgegeven bij declaratie"
+
+-#: c-decl.c:7401
++#: c-decl.c:7400
+ #, fuzzy, gcc-internal-format
+ msgid "both %<_Sat%> and %<_Decimal32%> in declaration specifiers"
+ msgstr "zowel %<short%> als %<char%> opgegeven bij declaratie"
+
+-#: c-decl.c:7404
++#: c-decl.c:7403
+ #, fuzzy, gcc-internal-format
+ msgid "both %<_Sat%> and %<_Decimal64%> in declaration specifiers"
+ msgstr "zowel %<short%> als %<char%> opgegeven bij declaratie"
+
+-#: c-decl.c:7407
++#: c-decl.c:7406
+ #, fuzzy, gcc-internal-format
+ msgid "both %<_Sat%> and %<_Decimal128%> in declaration specifiers"
+ msgstr "zowel %<short%> als %<char%> opgegeven bij declaratie"
+
+-#: c-decl.c:7410
++#: c-decl.c:7409
+ #, fuzzy, gcc-internal-format
+ msgid "both %<_Sat%> and %<complex%> in declaration specifiers"
+ msgstr "zowel %<short%> als %<double%> opgegeven bij declaratie"
+
+-#: c-decl.c:7549
++#: c-decl.c:7548
+ #, fuzzy, gcc-internal-format
+ msgid "both %<long long%> and %<%s%> in declaration specifiers"
+ msgstr "zowel %<long long%> als %<double%> opgegeven bij declaratie"
+
+-#: c-decl.c:7552
++#: c-decl.c:7551
+ #, fuzzy, gcc-internal-format
+ msgid "both %<long%> and %<%s%> in declaration specifiers"
+ msgstr "zowel %<long%> als %<short%> opgegeven bij declaratie"
+
+-#: c-decl.c:7555
++#: c-decl.c:7554
+ #, fuzzy, gcc-internal-format
+ msgid "both %<short%> and %<%s%> in declaration specifiers"
+ msgstr "zowel %<short%> als %<void%> opgegeven bij declaratie"
+
+-#: c-decl.c:7558
++#: c-decl.c:7557
+ #, fuzzy, gcc-internal-format
+ msgid "both %<signed%> and %<%s%> in declaration specifiers"
+ msgstr "zowel %<signed%> als %<void%> opgegeven bij declaratie"
+
+-#: c-decl.c:7561
++#: c-decl.c:7560
+ #, fuzzy, gcc-internal-format
+ msgid "both %<unsigned%> and %<%s%> in declaration specifiers"
+ msgstr "zowel %<unsigned%> als %<void%> opgegeven bij declaratie"
+
+-#: c-decl.c:7564 c-decl.c:7590
++#: c-decl.c:7563 c-decl.c:7589
+ #, fuzzy, gcc-internal-format
+ msgid "both %<complex%> and %<%s%> in declaration specifiers"
+ msgstr "zowel %<complex%> als %<void%> opgegeven bij declaratie"
+
+-#: c-decl.c:7567
++#: c-decl.c:7566
+ #, fuzzy, gcc-internal-format
+ msgid "both %<_Sat%> and %<%s%> in declaration specifiers"
+ msgstr "zowel %<long%> als %<short%> opgegeven bij declaratie"
+
+-#: c-decl.c:7577
++#: c-decl.c:7576
+ #, fuzzy, gcc-internal-format
+ msgid "decimal floating point not supported for this target"
+ msgstr "sectie-attributen worden niet ondersteund voor dit doelsysteem"
+
+-#: c-decl.c:7579
++#: c-decl.c:7578
+ #, fuzzy, gcc-internal-format
+ msgid "ISO C does not support decimal floating point"
+ msgstr "ISO C90 ondersteunt %<long long%> niet"
+
+-#: c-decl.c:7598
++#: c-decl.c:7597
+ #, fuzzy, gcc-internal-format
+ msgid "fixed-point types not supported for this target"
+ msgstr "sectie-attributen worden niet ondersteund voor dit doelsysteem"
+
+-#: c-decl.c:7600
++#: c-decl.c:7599
+ #, fuzzy, gcc-internal-format
+ msgid "ISO C does not support fixed-point types"
+ msgstr "ISO C ondersteunt %<long long%> niet"
+
+ # is letterlijke vertaling maar klinkt zo vreemd...
+-#: c-decl.c:7634
++#: c-decl.c:7633
+ #, fuzzy, gcc-internal-format
+ msgid "%qE fails to be a typedef or built in type"
+ msgstr "%qs slaagt er niet in een typedef of ingebouwd type te zijn"
+
+-#: c-decl.c:7667
++#: c-decl.c:7666
+ #, fuzzy, gcc-internal-format
+ msgid "%qE is not at beginning of declaration"
+ msgstr "%qs staat niet aan het begin van een declaratie"
+
+-#: c-decl.c:7681
++#: c-decl.c:7680
+ #, gcc-internal-format
+ msgid "%<__thread%> used with %<auto%>"
+ msgstr "%<__thread%> samen met %<auto%> gebruikt"
+
+-#: c-decl.c:7683
++#: c-decl.c:7682
+ #, gcc-internal-format
+ msgid "%<__thread%> used with %<register%>"
+ msgstr "%<__thread%> samen met %<register%> gebruikt"
+
+-#: c-decl.c:7685
++#: c-decl.c:7684
+ #, gcc-internal-format
+ msgid "%<__thread%> used with %<typedef%>"
+ msgstr "%<__thread%> samen met %<typedef%> gebruikt"
+
+-#: c-decl.c:7696
++#: c-decl.c:7695
+ #, gcc-internal-format
+ msgid "%<__thread%> before %<extern%>"
+ msgstr "%<__thread%> vóór %<extern%> gebruikt"
+
+-#: c-decl.c:7705
++#: c-decl.c:7704
+ #, gcc-internal-format
+ msgid "%<__thread%> before %<static%>"
+ msgstr "%<__thread%> vóór %<static%> gebruikt"
+
+-#: c-decl.c:7721
++#: c-decl.c:7720
+ #, fuzzy, gcc-internal-format
+ msgid "multiple storage classes in declaration specifiers"
+ msgstr "meerdere opslagklassen in declaratie van %qs"
+
+-#: c-decl.c:7728
++#: c-decl.c:7727
+ #, fuzzy, gcc-internal-format
+ msgid "%<__thread%> used with %qE"
+ msgstr "%<__thread%> samen met %s gebruikt"
+
+-#: c-decl.c:7775
++#: c-decl.c:7774
+ #, fuzzy, gcc-internal-format
+ msgid "%<_Sat%> is used without %<_Fract%> or %<_Accum%>"
+ msgstr "%<__thread%> samen met %<auto%> gebruikt"
+
+-#: c-decl.c:7787
++#: c-decl.c:7786
+ #, fuzzy, gcc-internal-format
+ msgid "ISO C does not support plain %<complex%> meaning %<double complex%>"
+ msgstr "ISO C ondersteunt simpele %<complex%> niet in de betekenis van %<double complex%>"
+
+-#: c-decl.c:7832 c-decl.c:7858
++#: c-decl.c:7831 c-decl.c:7857
+ #, fuzzy, gcc-internal-format
+ msgid "ISO C does not support complex integer types"
+ msgstr "ISO C ondersteunt %<long long%> niet"
+
+-#: c-decl.c:8008 toplev.c:847
++#: c-decl.c:8007 toplev.c:847
+ #, fuzzy, gcc-internal-format
+ msgid "%q+F used but never defined"
+ msgstr "label %qs gebruikt maar niet gedefinieerd"
+@@ -19821,38 +19768,38 @@
+ msgid "invalid expression type for %<#pragma omp atomic%>"
+ msgstr "ongeldige expressie als operand"
+
+-#: c-omp.c:218
++#: c-omp.c:219
+ #, fuzzy, gcc-internal-format
+ msgid "%Hinvalid type for iteration variable %qE"
+ msgstr "ongeldig vector-type voor attribuut %qs"
+
+-#: c-omp.c:222
++#: c-omp.c:223
+ #, fuzzy, gcc-internal-format
+ msgid "%Hiteration variable %qE is unsigned"
+ msgstr "statische variable %qs is als dllimport aangeduid"
+
+-#: c-omp.c:233
++#: c-omp.c:234
+ #, fuzzy, gcc-internal-format
+ msgid "%H%qE is not initialized"
+ msgstr "parameter %qD krijgt beginwaarde"
+
+-#: c-omp.c:246 cp/semantics.c:3840
++#: c-omp.c:247 cp/semantics.c:3872
+ #, gcc-internal-format
+ msgid "%Hmissing controlling predicate"
+ msgstr ""
+
+-#: c-omp.c:304
++#: c-omp.c:305
+ #, fuzzy, gcc-internal-format
+ msgid "%Hinvalid controlling predicate"
+ msgstr "Ongeldig token in expressie"
+
+ # moet beter kunnen...
+-#: c-omp.c:311 cp/semantics.c:3846
++#: c-omp.c:312 cp/semantics.c:3878
+ #, fuzzy, gcc-internal-format
+ msgid "%Hmissing increment expression"
+ msgstr "toewijzingsonderdrukking"
+
+-#: c-omp.c:361
++#: c-omp.c:362
+ #, fuzzy, gcc-internal-format
+ msgid "%Hinvalid increment expression"
+ msgstr "Ongeldig token in expressie"
+@@ -19900,152 +19847,152 @@
+ msgid "obsolete option -I- used, please use -iquote instead"
+ msgstr ""
+
+-#: c-opts.c:508
++#: c-opts.c:510
+ #, fuzzy, gcc-internal-format
+ msgid "argument %qs to %<-Wnormalized%> not recognized"
+ msgstr "taal %s niet herkend"
+
+-#: c-opts.c:595
++#: c-opts.c:597
+ #, fuzzy, gcc-internal-format
+ msgid "switch %qs is no longer supported"
+ msgstr "-pipe wordt niet ondersteund"
+
+-#: c-opts.c:705
++#: c-opts.c:707
+ #, gcc-internal-format
+ msgid "-fhandle-exceptions has been renamed -fexceptions (and is now on by default)"
+ msgstr ""
+
+-#: c-opts.c:911
++#: c-opts.c:913
+ #, fuzzy, gcc-internal-format
+ msgid "output filename specified twice"
+ msgstr "Bestandsnaam voor uitvoer twee keer opgegeven"
+
+-#: c-opts.c:1051
++#: c-opts.c:1053
+ #, gcc-internal-format
+ msgid "-fno-gnu89-inline is only supported in GNU99 or C99 mode"
+ msgstr ""
+
+-#: c-opts.c:1126
++#: c-opts.c:1142
+ #, gcc-internal-format
+ msgid "-Wformat-y2k ignored without -Wformat"
+ msgstr "-Wformat-y2k genegeerd zonder -Wformat"
+
+-#: c-opts.c:1128
++#: c-opts.c:1144
+ #, gcc-internal-format
+ msgid "-Wformat-extra-args ignored without -Wformat"
+ msgstr "-Wformat-extra-args genegeerd zonder -Wformat"
+
+-#: c-opts.c:1130
++#: c-opts.c:1146
+ #, fuzzy, gcc-internal-format
+ msgid "-Wformat-zero-length ignored without -Wformat"
+ msgstr "-Wformat-extra-args genegeerd zonder -Wformat"
+
+-#: c-opts.c:1132
++#: c-opts.c:1148
+ #, gcc-internal-format
+ msgid "-Wformat-nonliteral ignored without -Wformat"
+ msgstr "-Wformat-nonliteral genegeerd zonder -Wformat"
+
+-#: c-opts.c:1134
++#: c-opts.c:1150
+ #, fuzzy, gcc-internal-format
+ msgid "-Wformat-contains-nul ignored without -Wformat"
+ msgstr "-Wformat-nonliteral genegeerd zonder -Wformat"
+
+-#: c-opts.c:1136
++#: c-opts.c:1152
+ #, gcc-internal-format
+ msgid "-Wformat-security ignored without -Wformat"
+ msgstr "-Wformat-security genegeerd zonder -Wformat"
+
+-#: c-opts.c:1160
++#: c-opts.c:1176
+ #, fuzzy, gcc-internal-format
+ msgid "opening output file %s: %m"
+ msgstr "kan bestand '%s' niet openen"
+
+-#: c-opts.c:1165
++#: c-opts.c:1181
+ #, gcc-internal-format
+ msgid "too many filenames given. Type %s --help for usage"
+ msgstr ""
+
+-#: c-opts.c:1249
++#: c-opts.c:1265
+ #, fuzzy, gcc-internal-format
+ msgid "The C parser does not support -dy, option ignored"
+ msgstr "APCS reentrant code wordt niet ondersteund. Genegeerd"
+
+-#: c-opts.c:1253
++#: c-opts.c:1269
+ #, gcc-internal-format
+ msgid "The Objective-C parser does not support -dy, option ignored"
+ msgstr ""
+
+-#: c-opts.c:1256
++#: c-opts.c:1272
+ #, fuzzy, gcc-internal-format
+ msgid "The C++ parser does not support -dy, option ignored"
+ msgstr "APCS reentrant code wordt niet ondersteund. Genegeerd"
+
+-#: c-opts.c:1260
++#: c-opts.c:1276
+ #, gcc-internal-format
+ msgid "The Objective-C++ parser does not support -dy, option ignored"
+ msgstr ""
+
+-#: c-opts.c:1309
++#: c-opts.c:1326
+ #, fuzzy, gcc-internal-format
+ msgid "opening dependency file %s: %m"
+ msgstr "dynamische dependencies.\n"
+
+-#: c-opts.c:1319
++#: c-opts.c:1336
+ #, fuzzy, gcc-internal-format
+ msgid "closing dependency file %s: %m"
+ msgstr "dynamische dependencies.\n"
+
+-#: c-opts.c:1322
++#: c-opts.c:1339
+ #, fuzzy, gcc-internal-format
+ msgid "when writing output to %s: %m"
+ msgstr "kan bestand '%s' niet openen"
+
+-#: c-opts.c:1402
++#: c-opts.c:1419
+ #, fuzzy, gcc-internal-format
+ msgid "to generate dependencies you must specify either -M or -MM"
+ msgstr "-MG moet samen met ofwel -M, ofwel -MM gebruikt worden"
+
+-#: c-opts.c:1448
++#: c-opts.c:1469
+ #, gcc-internal-format
+ msgid "-fdirectives-only is incompatible with -Wunused_macros"
+ msgstr ""
+
+-#: c-opts.c:1450
++#: c-opts.c:1471
+ #, gcc-internal-format
+ msgid "-fdirectives-only is incompatible with -traditional"
+ msgstr ""
+
+-#: c-opts.c:1588
++#: c-opts.c:1609
+ #, gcc-internal-format
+ msgid "too late for # directive to set debug directory"
+ msgstr ""
+
+-#: c-parser.c:1070
++#: c-parser.c:1072
+ #, fuzzy, gcc-internal-format
+ msgid "%HISO C forbids an empty source file"
+ msgstr "ISO C verbiedt een leeg bronbestand"
+
+-#: c-parser.c:1156 c-parser.c:6091
++#: c-parser.c:1158 c-parser.c:6150
+ #, fuzzy, gcc-internal-format
+ msgid "%HISO C does not allow extra %<;%> outside of a function"
+ msgstr "ISO C staat geen extra %<;%> buiten een functie toe"
+
+-#: c-parser.c:1259 c-parser.c:6640
++#: c-parser.c:1261 c-parser.c:6699
+ #, fuzzy, gcc-internal-format
+ msgid "expected declaration specifiers"
+ msgstr "meerdere opslagklassen in declaratie van %qs"
+
+-#: c-parser.c:1271
++#: c-parser.c:1273
+ #, fuzzy, gcc-internal-format
+ msgid "%Hempty declaration"
+ msgstr "lege declaratie"
+
+-#: c-parser.c:1307
++#: c-parser.c:1309
+ #, fuzzy, gcc-internal-format
+ msgid "%Hdata definition has no type or storage class"
+ msgstr "datadefinitie heeft geen type of opslagklasse"
+
+-#: c-parser.c:1362
++#: c-parser.c:1364
+ #, gcc-internal-format
+ msgid "expected %<,%> or %<;%>"
+ msgstr ""
+@@ -20053,174 +20000,189 @@
+ #. This can appear in many cases looking nothing like a
+ #. function definition, so we don't give a more specific
+ #. error suggesting there was one.
+-#: c-parser.c:1369 c-parser.c:1386
++#: c-parser.c:1371 c-parser.c:1388
+ #, gcc-internal-format
+ msgid "expected %<=%>, %<,%>, %<;%>, %<asm%> or %<__attribute__%>"
+ msgstr ""
+
+-#: c-parser.c:1378
++#: c-parser.c:1380
+ #, fuzzy, gcc-internal-format
+ msgid "%HISO C forbids nested functions"
+ msgstr "ISO C verbiedt geneste functies"
+
+-#: c-parser.c:1743 c-parser.c:2553 c-parser.c:3189 c-parser.c:3445
+-#: c-parser.c:4308 c-parser.c:4895 c-parser.c:5298 c-parser.c:5318
+-#: c-parser.c:5434 c-parser.c:5582 c-parser.c:5599 c-parser.c:5731
+-#: c-parser.c:5743 c-parser.c:5768 c-parser.c:5903 c-parser.c:5932
+-#: c-parser.c:5940 c-parser.c:5968 c-parser.c:5982 c-parser.c:6201
+-#: c-parser.c:6300 c-parser.c:6803 c-parser.c:7426
++#: c-parser.c:1745 c-parser.c:2555 c-parser.c:3191 c-parser.c:3447
++#: c-parser.c:4367 c-parser.c:4954 c-parser.c:5357 c-parser.c:5377
++#: c-parser.c:5493 c-parser.c:5641 c-parser.c:5658 c-parser.c:5790
++#: c-parser.c:5802 c-parser.c:5827 c-parser.c:5962 c-parser.c:5991
++#: c-parser.c:5999 c-parser.c:6027 c-parser.c:6041 c-parser.c:6260
++#: c-parser.c:6359 c-parser.c:6862 c-parser.c:7493
+ #, fuzzy, gcc-internal-format
+ msgid "expected identifier"
+ msgstr "ongeldige operand van %s"
+
+-#: c-parser.c:1773
++#: c-parser.c:1775
+ #, fuzzy, gcc-internal-format
+ msgid "%Hcomma at end of enumerator list"
+ msgstr "komma aan het einde van enumerator-lijst"
+
+-#: c-parser.c:1779
++#: c-parser.c:1781
+ #, gcc-internal-format
+ msgid "expected %<,%> or %<}%>"
+ msgstr ""
+
+-#: c-parser.c:1793 c-parser.c:1977 c-parser.c:6058
++#: c-parser.c:1795 c-parser.c:1979 c-parser.c:6117
+ #, fuzzy, gcc-internal-format
+ msgid "expected %<{%>"
+ msgstr "ongeldige operand van %s"
+
+-#: c-parser.c:1804
++#: c-parser.c:1806
+ #, fuzzy, gcc-internal-format
+ msgid "%HISO C forbids forward references to %<enum%> types"
+ msgstr "ISO C verbiedt voorwaartse referenties naar %<enum%> types"
+
+-#: c-parser.c:1911
++#: c-parser.c:1913
+ #, fuzzy, gcc-internal-format
+ msgid "expected class name"
+ msgstr "ongeldige operand van %s"
+
+-#: c-parser.c:1930 c-parser.c:5835
++#: c-parser.c:1932 c-parser.c:5894
+ #, fuzzy, gcc-internal-format
+ msgid "%Hextra semicolon in struct or union specified"
+ msgstr "extra puntkomma opgegeven in struct of union"
+
+-#: c-parser.c:1959
++#: c-parser.c:1961
+ #, fuzzy, gcc-internal-format
+ msgid "%Hno semicolon at end of struct or union"
+ msgstr "geen puntkomma aan het einde van een struct of union"
+
+-#: c-parser.c:1963
++#: c-parser.c:1965
+ #, fuzzy, gcc-internal-format
+ msgid "expected %<;%>"
+ msgstr "ongeldige operand van %s"
+
+-#: c-parser.c:2042 c-parser.c:3014
++#: c-parser.c:2044 c-parser.c:3016
+ #, gcc-internal-format
+ msgid "expected specifier-qualifier-list"
+ msgstr ""
+
+-#: c-parser.c:2052
++#: c-parser.c:2054
+ #, fuzzy, gcc-internal-format
+ msgid "%HISO C forbids member declarations with no members"
+ msgstr "ISO C verbiedt lid-declaraties zonder leden"
+
+-#: c-parser.c:2126
++#: c-parser.c:2128
+ #, gcc-internal-format
+ msgid "expected %<,%>, %<;%> or %<}%>"
+ msgstr ""
+
+-#: c-parser.c:2133
++#: c-parser.c:2135
+ #, gcc-internal-format
+ msgid "expected %<:%>, %<,%>, %<;%>, %<}%> or %<__attribute__%>"
+ msgstr ""
+
+-#: c-parser.c:2184
++#: c-parser.c:2186
+ #, fuzzy, gcc-internal-format
+ msgid "%H%<typeof%> applied to a bit-field"
+ msgstr "%<sizeof%> toegepast op een bitveld"
+
+-#: c-parser.c:2421
++#: c-parser.c:2423
+ #, gcc-internal-format
+ msgid "expected identifier or %<(%>"
+ msgstr ""
+
+-#: c-parser.c:2622
++#: c-parser.c:2624
+ #, fuzzy, gcc-internal-format
+ msgid "%HISO C requires a named argument before %<...%>"
+ msgstr "ISO C heeft een benoemd argument nodig vóór %<...%>"
+
+-#: c-parser.c:2729
++#: c-parser.c:2731
+ #, fuzzy, gcc-internal-format
+ msgid "expected declaration specifiers or %<...%>"
+ msgstr "top-level declaratie van %qs specifieert %<auto%>"
+
+-#: c-parser.c:2779
++#: c-parser.c:2781
+ #, fuzzy, gcc-internal-format
+ msgid "%Hwide string literal in %<asm%>"
+ msgstr "incompatibele operands voor %s"
+
+-#: c-parser.c:2786 c-parser.c:6695 cp/parser.c:20393
++#: c-parser.c:2788 c-parser.c:6754 cp/parser.c:20482
+ #, gcc-internal-format
+ msgid "expected string literal"
+ msgstr ""
+
+-#: c-parser.c:3107
++#: c-parser.c:3109
+ #, fuzzy, gcc-internal-format
+ msgid "%HISO C forbids empty initializer braces"
+ msgstr "ISO C verbiedt lege initialisatie-accolades"
+
+ #. Use the colon as the error location.
+-#: c-parser.c:3154
++#: c-parser.c:3156
+ #, fuzzy, gcc-internal-format
+ msgid "%Hobsolete use of designated initializer with %<:%>"
+ msgstr "ISO C staat het gebruik van %<varargs.h%> niet toe"
+
+-#: c-parser.c:3285
++#: c-parser.c:3287
+ #, fuzzy, gcc-internal-format
+ msgid "%HISO C forbids specifying range of elements to initialize"
+ msgstr "ISO C verbiedt het opgeven van het te initialiseren element"
+
+-#: c-parser.c:3298
++#: c-parser.c:3300
+ #, fuzzy, gcc-internal-format
+ msgid "%HISO C90 forbids specifying subobject to initialize"
+ msgstr "ISO C90 verbiedt het opgeven van het te initialiseren element"
+
+-#: c-parser.c:3307
++#: c-parser.c:3309
+ #, fuzzy, gcc-internal-format
+ msgid "%Hobsolete use of designated initializer without %<=%>"
+ msgstr "ISO C staat het gebruik van %<varargs.h%> niet toe"
+
+-#: c-parser.c:3316
++#: c-parser.c:3318
+ #, fuzzy, gcc-internal-format
+ msgid "expected %<=%>"
+ msgstr "ongeldige operand van %s"
+
+-#: c-parser.c:3461
++#: c-parser.c:3463
+ #, fuzzy, gcc-internal-format
+ msgid "%HISO C forbids label declarations"
+ msgstr "ISO C verbiedt labeldeclaraties"
+
+-#: c-parser.c:3466 c-parser.c:3541
++#: c-parser.c:3468 c-parser.c:3543
+ #, fuzzy, gcc-internal-format
+ msgid "expected declaration or statement"
+ msgstr "herdeclaratie van %qs"
+
+-#: c-parser.c:3494 c-parser.c:3522
++#: c-parser.c:3496 c-parser.c:3524
+ #, fuzzy, gcc-internal-format
+ msgid "%HISO C90 forbids mixed declarations and code"
+ msgstr "ISO C90 verbiedt labeldeclaraties"
+
++#: c-parser.c:3550
++#, fuzzy, gcc-internal-format
++msgid "%Hexpected %<}%> before %<else%>"
++msgstr "ongeldige operand van %s"
++
+ #: c-parser.c:3555
++#, gcc-internal-format
++msgid "%H%<else%> without a previous %<if%>"
++msgstr ""
++
++#: c-parser.c:3571
+ #, fuzzy, gcc-internal-format
+ msgid "%Hlabel at end of compound statement"
+ msgstr "ISO C verbiedt een label aan het einde van een samengesteld statement"
+
+-#: c-parser.c:3598
++#: c-parser.c:3614
+ #, gcc-internal-format
+ msgid "expected %<:%> or %<...%>"
+ msgstr ""
+
+-#: c-parser.c:3779
++#: c-parser.c:3647
+ #, gcc-internal-format
++msgid "%Ha label can only be part of a statement and a declaration is not a statement"
++msgstr ""
++
++#: c-parser.c:3810
++#, gcc-internal-format
+ msgid "expected identifier or %<*%>"
+ msgstr ""
+
+@@ -20228,189 +20190,184 @@
+ #. 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-parser.c:3841
++#: c-parser.c:3872
+ #, fuzzy, gcc-internal-format
+ msgid "expected statement"
+ msgstr "ongeldige beginwaarde"
+
+-#: c-parser.c:3851
+-#, gcc-internal-format
+-msgid "%Ha label can only be part of a statement and a declaration is not a statement"
+-msgstr ""
+-
+-#: c-parser.c:4036
++#: c-parser.c:4095
+ #, fuzzy, gcc-internal-format
+ msgid "%Hsuggest braces around empty body in %<do%> statement"
+ msgstr "leeg body in een else-statement"
+
+-#: c-parser.c:4192
++#: c-parser.c:4251
+ #, fuzzy, gcc-internal-format
+ msgid "%H%E qualifier ignored on asm"
+ msgstr "het %qE attribuut wordt genegeerd voor types"
+
+-#: c-parser.c:4473
++#: c-parser.c:4532
+ #, fuzzy, gcc-internal-format
+ msgid "%HISO C forbids omitting the middle term of a ?: expression"
+ msgstr "ISO C verbiedt het weglaten van de middelste term van een ?: expresie"
+
+-#: c-parser.c:4863
++#: c-parser.c:4922
+ #, fuzzy, gcc-internal-format
+ msgid "%Htraditional C rejects the unary plus operator"
+ msgstr "traditionele C verwerpt het aaneenplakken van stringconstantes"
+
+ #. C99 6.7.5.2p4
+-#: c-parser.c:4974
++#: c-parser.c:5033
+ #, fuzzy, gcc-internal-format
+ msgid "%H%<[*]%> not allowed in other than a declaration"
+ msgstr "%qs staat niet aan het begin van een declaratie"
+
+-#: c-parser.c:4988
++#: c-parser.c:5047
+ #, fuzzy, gcc-internal-format
+ msgid "%H%<sizeof%> applied to a bit-field"
+ msgstr "%<sizeof%> toegepast op een bitveld"
+
+-#: c-parser.c:5132 c-parser.c:5476 c-parser.c:5498
++#: c-parser.c:5191 c-parser.c:5535 c-parser.c:5557
+ #, fuzzy, gcc-internal-format
+ msgid "expected expression"
+ msgstr "ongeldige waarheidsexpressie"
+
+ # 'braced-group'? Wie schrijft verdorie die foutmeldingen?
+-#: c-parser.c:5159
++#: c-parser.c:5218
+ #, fuzzy, gcc-internal-format
+ msgid "%Hbraced-group within expression allowed only inside a function"
+ msgstr "accolade-groep in expressie enkel toegestaan binnen een functie"
+
+-#: c-parser.c:5173
++#: c-parser.c:5232
+ #, fuzzy, gcc-internal-format
+ msgid "%HISO C forbids braced-groups within expressions"
+ msgstr "ISO C verbiedt accolade-groepen in expressies"
+
+-#: c-parser.c:5358
++#: c-parser.c:5417
+ #, fuzzy, gcc-internal-format
+ msgid "%Hfirst argument to %<__builtin_choose_expr%> not a constant"
+ msgstr "gevraagd alignment is geen constante"
+
+-#: c-parser.c:5527
++#: c-parser.c:5586
+ #, gcc-internal-format
+ msgid "%Hcompound literal has variable size"
+ msgstr ""
+
+-#: c-parser.c:5535
++#: c-parser.c:5594
+ #, fuzzy, gcc-internal-format
+ msgid "%HISO C90 forbids compound literals"
+ msgstr "ISO C90 verbiedt het gebruik van samengestelde expressies als lvalues"
+
+-#: c-parser.c:6053
++#: c-parser.c:6112
+ #, fuzzy, gcc-internal-format
+ msgid "%Hextra semicolon in method definition specified"
+ msgstr "extra puntkomma opgegeven in definitie van methode"
+
+-#: c-parser.c:6600 cp/parser.c:20436
++#: c-parser.c:6659 cp/parser.c:20525
+ #, gcc-internal-format
+ msgid "%<#pragma omp barrier%> may only be used in compound statements"
+ msgstr ""
+
+-#: c-parser.c:6611 cp/parser.c:20451
++#: c-parser.c:6670 cp/parser.c:20540
+ #, gcc-internal-format
+ msgid "%<#pragma omp flush%> may only be used in compound statements"
+ msgstr ""
+
+-#: c-parser.c:6623
++#: c-parser.c:6682
+ #, gcc-internal-format
+ msgid "%H%<#pragma omp section%> may only be used in %<#pragma omp sections%> construct"
+ msgstr ""
+
+-#: c-parser.c:6630 cp/parser.c:20426
++#: c-parser.c:6689 cp/parser.c:20515
+ #, fuzzy, gcc-internal-format
+ msgid "%<#pragma GCC pch_preprocess%> must be first"
+ msgstr "misvormde #pragma pack(pop[,id])"
+
+-#: c-parser.c:6781 cp/parser.c:19277
++#: c-parser.c:6840 cp/parser.c:19359
+ #, fuzzy, gcc-internal-format
+ msgid "too many %qs clauses"
+ msgstr "te veel invoerbestanden"
+
+-#: c-parser.c:6906
++#: c-parser.c:6965
+ #, gcc-internal-format
+ msgid "expected %<none%> or %<shared%>"
+ msgstr ""
+
+-#: c-parser.c:6949
++#: c-parser.c:7008
+ #, fuzzy, gcc-internal-format
+ msgid "expected %<(%>"
+ msgstr "ongeldige operand van %s"
+
+-#: c-parser.c:6993 c-parser.c:7170
++#: c-parser.c:7052 c-parser.c:7229
+ #, fuzzy, gcc-internal-format
+ msgid "expected integer expression"
+ msgstr "ongeldige waarheidsexpressie"
+
+-#: c-parser.c:7002
++#: c-parser.c:7061
+ #, gcc-internal-format
+ msgid "%H%<num_threads%> value must be positive"
+ msgstr ""
+
+-#: c-parser.c:7082
++#: c-parser.c:7141
+ #, gcc-internal-format
+ msgid "expected %<+%>, %<*%>, %<-%>, %<&%>, %<^%>, %<|%>, %<&&%>, or %<||%>"
+ msgstr ""
+
+-#: c-parser.c:7165
++#: c-parser.c:7224
+ #, gcc-internal-format
+ msgid "%Hschedule %<runtime%> does not take a %<chunk_size%> parameter"
+ msgstr ""
+
+-#: c-parser.c:7183
++#: c-parser.c:7242
+ #, fuzzy, gcc-internal-format
+ msgid "invalid schedule kind"
+ msgstr "ongeldige const_double operand"
+
+-#: c-parser.c:7269
++#: c-parser.c:7336
+ #, gcc-internal-format
+ msgid "expected %<#pragma omp%> clause"
+ msgstr ""
+
+-#: c-parser.c:7278
++#: c-parser.c:7345
+ #, fuzzy, gcc-internal-format
+ msgid "%H%qs is not valid for %qs"
+ msgstr "-fPIC is niet geldig met -mcoff"
+
+-#: c-parser.c:7378
++#: c-parser.c:7445
+ #, fuzzy, gcc-internal-format
+ msgid "invalid operator for %<#pragma omp atomic%>"
+ msgstr "ongeldige bewerking met %<__fpreg%>"
+
+-#: c-parser.c:7429 c-parser.c:7449
++#: c-parser.c:7496 c-parser.c:7516
+ #, fuzzy, gcc-internal-format
+ msgid "expected %<(%> or end of line"
+ msgstr "ongeldige operand van %s"
+
+-#: c-parser.c:7467
++#: c-parser.c:7534
+ #, fuzzy, gcc-internal-format
+ msgid "for statement expected"
+ msgstr "overflow in constante expressie"
+
+-#: c-parser.c:7540 cp/semantics.c:3826 cp/semantics.c:3870
++#: c-parser.c:7609 cp/semantics.c:3858 cp/semantics.c:3902
+ #, fuzzy, gcc-internal-format
+ msgid "expected iteration declaration or initialization"
+ msgstr "herdeclaratie van %qs"
+
+-#: c-parser.c:7666
++#: c-parser.c:7735
+ #, gcc-internal-format
+ msgid "%Hexpected %<#pragma omp section%> or %<}%>"
+ msgstr ""
+
+-#: c-parser.c:7899 cp/semantics.c:3718
++#: c-parser.c:7968 cp/semantics.c:3750
+ #, fuzzy, gcc-internal-format
+ msgid "%qE declared %<threadprivate%> after first use"
+ msgstr "label %qs gebruikt maar niet gedefinieerd"
+
+-#: c-parser.c:7901 cp/semantics.c:3720
++#: c-parser.c:7970 cp/semantics.c:3752
+ #, fuzzy, gcc-internal-format
+ msgid "automatic variable %qE cannot be %<threadprivate%>"
+ msgstr "statische variable %qs is als dllimport aangeduid"
+
+-#: c-parser.c:7903 cp/semantics.c:3722
++#: c-parser.c:7972 cp/semantics.c:3754
+ #, fuzzy, gcc-internal-format
+ msgid "%<threadprivate%> %qE has incomplete type"
+ msgstr "%Jparameter %u heeft een onvolledig type"
+@@ -20575,125 +20532,125 @@
+ msgid "junk at end of %<#pragma pop_macro%>"
+ msgstr "misvormde #pragma pack"
+
+-#: c-pragma.c:406
++#: c-pragma.c:407
+ #, fuzzy, gcc-internal-format
+ msgid "applying #pragma weak %q+D after first use results in unspecified behavior"
+ msgstr "de zwakke declaratie van %qs moet aan de definitie voorafgaan"
+
+-#: c-pragma.c:480 c-pragma.c:485
++#: c-pragma.c:481 c-pragma.c:486
+ #, fuzzy, gcc-internal-format
+ msgid "malformed #pragma weak, ignored"
+ msgstr "misvormde #pragma weak"
+
+-#: c-pragma.c:489
++#: c-pragma.c:490
+ #, fuzzy, gcc-internal-format
+ msgid "junk at end of %<#pragma weak%>"
+ msgstr "misvormde #pragma pack"
+
+-#: c-pragma.c:557 c-pragma.c:559
++#: c-pragma.c:558 c-pragma.c:560
+ #, fuzzy, gcc-internal-format
+ msgid "malformed #pragma redefine_extname, ignored"
+ msgstr "misvormde #pragma weak"
+
+-#: c-pragma.c:562
++#: c-pragma.c:563
+ #, fuzzy, gcc-internal-format
+ msgid "junk at end of %<#pragma redefine_extname%>"
+ msgstr "misvormde #pragma weak"
+
+-#: c-pragma.c:568
++#: c-pragma.c:569
+ #, fuzzy, gcc-internal-format
+ msgid "#pragma redefine_extname not supported on this target"
+ msgstr "instructie-scheduling wordt niet ondersteund op deze doelmachine"
+
+-#: c-pragma.c:585 c-pragma.c:672
++#: c-pragma.c:586 c-pragma.c:673
+ #, fuzzy, gcc-internal-format
+ msgid "#pragma redefine_extname ignored due to conflict with previous rename"
+ msgstr "sectie van %qs geeft een conflict met een eerdere declaratie"
+
+-#: c-pragma.c:608
++#: c-pragma.c:609
+ #, gcc-internal-format
+ msgid "#pragma redefine_extname ignored due to conflict with previous #pragma redefine_extname"
+ msgstr ""
+
+-#: c-pragma.c:627
++#: c-pragma.c:628
+ #, fuzzy, gcc-internal-format
+ msgid "malformed #pragma extern_prefix, ignored"
+ msgstr "misvormde #pragma pack(pop[,id])"
+
+ # Moet 'signature-string' vertaald worden?
+-#: c-pragma.c:630
++#: c-pragma.c:631
+ #, fuzzy, gcc-internal-format
+ msgid "junk at end of %<#pragma extern_prefix%>"
+ msgstr "Brol aan einde van signature-string."
+
+-#: c-pragma.c:637
++#: c-pragma.c:638
+ #, fuzzy, gcc-internal-format
+ msgid "#pragma extern_prefix not supported on this target"
+ msgstr "sectie-attributen worden niet ondersteund op dit doelsysteem"
+
+-#: c-pragma.c:663
++#: c-pragma.c:664
+ #, fuzzy, gcc-internal-format
+ msgid "asm declaration ignored due to conflict with previous rename"
+ msgstr "sectie van %qs geeft een conflict met een eerdere declaratie"
+
+-#: c-pragma.c:694
++#: c-pragma.c:695
+ #, gcc-internal-format
+ msgid "#pragma redefine_extname ignored due to conflict with __asm__ declaration"
+ msgstr ""
+
+-#: c-pragma.c:756
++#: c-pragma.c:757
+ #, gcc-internal-format
+ msgid "#pragma GCC visibility push() must specify default, internal, hidden or protected"
+ msgstr ""
+
+-#: c-pragma.c:791
++#: c-pragma.c:792
+ #, gcc-internal-format
+ msgid "#pragma GCC visibility must be followed by push or pop"
+ msgstr ""
+
+ # Moet 'signature-string' vertaald worden?
+-#: c-pragma.c:797
++#: c-pragma.c:798
+ #, fuzzy, gcc-internal-format
+ msgid "no matching push for %<#pragma GCC visibility pop%>"
+ msgstr "Brol aan einde van signature-string."
+
+-#: c-pragma.c:804 c-pragma.c:811
++#: c-pragma.c:805 c-pragma.c:812
+ #, gcc-internal-format
+ msgid "missing %<(%> after %<#pragma GCC visibility push%> - ignored"
+ msgstr ""
+
+-#: c-pragma.c:807
++#: c-pragma.c:808
+ #, fuzzy, gcc-internal-format
+ msgid "malformed #pragma GCC visibility push"
+ msgstr "misvormde #pragma weak"
+
+ # Moet 'signature-string' vertaald worden?
+-#: c-pragma.c:815
++#: c-pragma.c:816
+ #, fuzzy, gcc-internal-format
+ msgid "junk at end of %<#pragma GCC visibility%>"
+ msgstr "Brol aan einde van signature-string."
+
+-#: c-pragma.c:831
++#: c-pragma.c:832
+ #, gcc-internal-format
+ msgid "#pragma GCC diagnostic not allowed inside functions"
+ msgstr ""
+
+-#: c-pragma.c:837
++#: c-pragma.c:838
+ #, gcc-internal-format
+ msgid "missing [error|warning|ignored] after %<#pragma GCC diagnostic%>"
+ msgstr ""
+
+-#: c-pragma.c:846
++#: c-pragma.c:847
+ #, gcc-internal-format
+ msgid "expected [error|warning|ignored] after %<#pragma GCC diagnostic%>"
+ msgstr ""
+
+-#: c-pragma.c:850
++#: c-pragma.c:851
+ #, fuzzy, gcc-internal-format
+ msgid "missing option after %<#pragma GCC diagnostic%> kind"
+ msgstr "misvormde #pragma pack"
+
+-#: c-pragma.c:864
++#: c-pragma.c:865
+ #, fuzzy, gcc-internal-format
+ msgid "unknown option after %<#pragma GCC diagnostic%> kind"
+ msgstr "misvormde #pragma pack"
+@@ -20703,7 +20660,7 @@
+ msgid "%qD has an incomplete type"
+ msgstr "%qs heeft een onvolledig type"
+
+-#: c-typeck.c:195 cp/call.c:2785
++#: c-typeck.c:195 cp/call.c:2771
+ #, gcc-internal-format
+ msgid "invalid use of void expression"
+ msgstr "ongeldig gebruik van een void-expressie"
+@@ -20734,94 +20691,94 @@
+ msgid "function types not truly compatible in ISO C"
+ msgstr "functie-types zijn niet echt compatibel in ISO C"
+
+-#: c-typeck.c:621
++#: c-typeck.c:627
+ #, gcc-internal-format
+ msgid "can%'t mix operands of decimal float and vector types"
+ msgstr ""
+
+-#: c-typeck.c:626
++#: c-typeck.c:632
+ #, gcc-internal-format
+ msgid "can%'t mix operands of decimal float and complex types"
+ msgstr ""
+
+-#: c-typeck.c:631
++#: c-typeck.c:637
+ #, gcc-internal-format
+ msgid "can%'t mix operands of decimal float and other float types"
+ msgstr ""
+
+-#: c-typeck.c:1037
++#: c-typeck.c:1043
+ #, gcc-internal-format
+ msgid "types are not quite compatible"
+ msgstr "types zijn niet helemaal compatibel"
+
+-#: c-typeck.c:1356
++#: c-typeck.c:1366
+ #, fuzzy, gcc-internal-format
+ msgid "function return types not compatible due to %<volatile%>"
+ msgstr "de terugkeerwaarde van een functie kan geen funtie zijn"
+
+ # 'Arithmetic'?? 'rekensom' is wel correct, maar het klinkt zo stom.
+-#: c-typeck.c:1515 c-typeck.c:2853
++#: c-typeck.c:1525 c-typeck.c:2864
+ #, gcc-internal-format
+ msgid "arithmetic on pointer to an incomplete type"
+ msgstr "rekensom met pointer naar onvolledig type"
+
+-#: c-typeck.c:1912
++#: c-typeck.c:1922
+ #, fuzzy, gcc-internal-format
+ msgid "%qT has no member named %qE"
+ msgstr "union heeft geen lid dat %qs heet"
+
+-#: c-typeck.c:1953
++#: c-typeck.c:1963
+ #, fuzzy, gcc-internal-format
+ msgid "request for member %qE in something not a structure or union"
+ msgstr "vraag naar lid %qs in iets dat geen structure of union is"
+
+-#: c-typeck.c:1997
++#: c-typeck.c:2007
+ #, gcc-internal-format
+ msgid "dereferencing pointer to incomplete type"
+ msgstr "dereferentie van pointer naar onvolledig type"
+
+-#: c-typeck.c:2001
++#: c-typeck.c:2011
+ #, fuzzy, gcc-internal-format
+ msgid "dereferencing %<void *%> pointer"
+ msgstr "%<void *%> pointer wordt gederefereerd"
+
+ # Is the %s the argument, or is it 'of' the argument?
+-#: c-typeck.c:2018
++#: c-typeck.c:2028
+ #, fuzzy, gcc-internal-format
+ msgid "invalid type argument of %qs (have %qT)"
+ msgstr "ongeldig type-argument %qs"
+
+-#: c-typeck.c:2046 cp/typeck.c:2524
++#: c-typeck.c:2056 cp/typeck.c:2570
+ #, gcc-internal-format
+ msgid "subscripted value is neither array nor pointer"
+ msgstr "waarde met subscript is noch een array, noch een pointer"
+
+-#: c-typeck.c:2057 cp/typeck.c:2443 cp/typeck.c:2529
++#: c-typeck.c:2067 cp/typeck.c:2489 cp/typeck.c:2575
+ #, gcc-internal-format
+ msgid "array subscript is not an integer"
+ msgstr "array subscript is geen integer"
+
+-#: c-typeck.c:2063
++#: c-typeck.c:2073
+ #, fuzzy, gcc-internal-format
+ msgid "subscripted value is pointer to function"
+ msgstr "doorgeven van argument %d van pointer naar functie"
+
+-#: c-typeck.c:2110
++#: c-typeck.c:2120
+ #, fuzzy, gcc-internal-format
+ msgid "ISO C forbids subscripting %<register%> array"
+ msgstr "ISO C verbiedt het gebruik van subscripts bij een %<register%> array"
+
+-#: c-typeck.c:2112
++#: c-typeck.c:2122
+ #, fuzzy, gcc-internal-format
+ msgid "ISO C90 forbids subscripting non-lvalue array"
+ msgstr "ISO C90 verbiedt het gebruik van subscripts bij een array die geen lvalue is"
+
+-#: c-typeck.c:2228
++#: c-typeck.c:2239
+ #, gcc-internal-format
+ msgid "%H%qD is static but used in inline function %qD which is not static"
+ msgstr ""
+
+-#: c-typeck.c:2376
++#: c-typeck.c:2387
+ #, fuzzy, gcc-internal-format
+ msgid "called object %qE is not a function"
+ msgstr "opgeroepen object is geen functie"
+@@ -20829,807 +20786,807 @@
+ #. This situation leads to run-time undefined behavior. We can't,
+ #. therefore, simply error unless we can prove that all possible
+ #. executions of the program must execute the code.
+-#: c-typeck.c:2404
++#: c-typeck.c:2415
+ #, gcc-internal-format
+ msgid "function called through a non-compatible type"
+ msgstr ""
+
+-#: c-typeck.c:2515
++#: c-typeck.c:2526
+ #, fuzzy, gcc-internal-format
+ msgid "too many arguments to function %qE"
+ msgstr "te veel argumenten voor functie %qE"
+
+-#: c-typeck.c:2536
++#: c-typeck.c:2547
+ #, gcc-internal-format
+ msgid "type of formal parameter %d is incomplete"
+ msgstr "het type van formele parameter %d is onvolledig"
+
+-#: c-typeck.c:2549
++#: c-typeck.c:2560
+ #, fuzzy, gcc-internal-format
+ msgid "passing argument %d of %qE as integer rather than floating due to prototype"
+ msgstr "%s als integer in plaats van floating-point ten gevolge van een prototype"
+
+-#: c-typeck.c:2554
++#: c-typeck.c:2565
+ #, fuzzy, gcc-internal-format
+ msgid "passing argument %d of %qE as integer rather than complex due to prototype"
+ msgstr "%s als floating-point in plaats van complex ten gevolge van een prototype"
+
+-#: c-typeck.c:2559
++#: c-typeck.c:2570
+ #, fuzzy, gcc-internal-format
+ msgid "passing argument %d of %qE as complex rather than floating due to prototype"
+ msgstr "%s als complex in plaats van floating-point ten gevolge van een prototype"
+
+-#: c-typeck.c:2564
++#: c-typeck.c:2575
+ #, fuzzy, gcc-internal-format
+ msgid "passing argument %d of %qE as floating rather than integer due to prototype"
+ msgstr "%s als floating-point in plaats van integer ten gevolge van een prototype"
+
+-#: c-typeck.c:2569
++#: c-typeck.c:2580
+ #, fuzzy, gcc-internal-format
+ msgid "passing argument %d of %qE as complex rather than integer due to prototype"
+ msgstr "%s als complex in plaats van floating-point ten gevolge van een prototype"
+
+-#: c-typeck.c:2574
++#: c-typeck.c:2585
+ #, fuzzy, gcc-internal-format
+ msgid "passing argument %d of %qE as floating rather than complex due to prototype"
+ msgstr "%s als floating-point in plaats van complex ten gevolge van een prototype"
+
+-#: c-typeck.c:2587
++#: c-typeck.c:2598
+ #, fuzzy, gcc-internal-format
+ msgid "passing argument %d of %qE as %<float%> rather than %<double%> due to prototype"
+ msgstr "%s als %<float%> in plaats van %<double%> ten gevolge van een prototype"
+
+-#: c-typeck.c:2612
++#: c-typeck.c:2623
+ #, fuzzy, gcc-internal-format
+ msgid "passing argument %d of %qE as %qT rather than %qT due to prototype"
+ msgstr "%s als floating-point in plaats van complex ten gevolge van een prototype"
+
+-#: c-typeck.c:2633
++#: c-typeck.c:2644
+ #, fuzzy, gcc-internal-format
+ msgid "passing argument %d of %qE with different width due to prototype"
+ msgstr "%s met andere breedte ten gevolge van prototype"
+
+-#: c-typeck.c:2656
++#: c-typeck.c:2667
+ #, fuzzy, gcc-internal-format
+ msgid "passing argument %d of %qE as unsigned due to prototype"
+ msgstr "%s als unsigned ten gevolge van prototype"
+
+-#: c-typeck.c:2660
++#: c-typeck.c:2671
+ #, fuzzy, gcc-internal-format
+ msgid "passing argument %d of %qE as signed due to prototype"
+ msgstr "%s als signed ten gevolge van prototype"
+
+-#: c-typeck.c:2766 c-typeck.c:2770
++#: c-typeck.c:2777 c-typeck.c:2781
+ #, fuzzy, gcc-internal-format
+ msgid "comparison with string literal results in unspecified behavior"
+ msgstr "de zwakke declaratie van %qs moet aan de definitie voorafgaan"
+
+-#: c-typeck.c:2795
++#: c-typeck.c:2806
+ #, fuzzy, gcc-internal-format
+ msgid "pointer of type %<void *%> used in subtraction"
+ msgstr "pointer van type %<void *%> gebruikt in aftrekking"
+
+-#: c-typeck.c:2797
++#: c-typeck.c:2808
+ #, gcc-internal-format
+ msgid "pointer to a function used in subtraction"
+ msgstr "pointer naar functie gebruikt in aftrekking"
+
+ # 'unary' = 'unair'?
+-#: c-typeck.c:2908
++#: c-typeck.c:2919
+ #, gcc-internal-format
+ msgid "wrong type argument to unary plus"
+ msgstr "argument van verkeerd type voor unaire plus"
+
+-#: c-typeck.c:2921
++#: c-typeck.c:2932
+ #, gcc-internal-format
+ msgid "wrong type argument to unary minus"
+ msgstr "argument van verkeerd type voor unaire min"
+
+-#: c-typeck.c:2941
++#: c-typeck.c:2952
+ #, fuzzy, gcc-internal-format
+ msgid "ISO C does not support %<~%> for complex conjugation"
+ msgstr "ISO C ondersteunt het %<%c%> formaat niet"
+
+-#: c-typeck.c:2947
++#: c-typeck.c:2958
+ #, gcc-internal-format
+ msgid "wrong type argument to bit-complement"
+ msgstr "argument van verkeerd type voor bit-complement"
+
+-#: c-typeck.c:2955
++#: c-typeck.c:2966
+ #, gcc-internal-format
+ msgid "wrong type argument to abs"
+ msgstr "argument van verkeerd type voor abs"
+
+ # OK, ik geef het op: wat is hier een goede vertaling voor 'conjugation'?
+-#: c-typeck.c:2967
++#: c-typeck.c:2978
+ #, gcc-internal-format
+ msgid "wrong type argument to conjugation"
+ msgstr "argument van verkeerd type voor vervoeging"
+
+-#: c-typeck.c:2979
++#: c-typeck.c:2990
+ #, gcc-internal-format
+ msgid "wrong type argument to unary exclamation mark"
+ msgstr "argument van verkeerd type voor unair uitroepingsteken"
+
+-#: c-typeck.c:3013
++#: c-typeck.c:3024
+ #, fuzzy, gcc-internal-format
+ msgid "ISO C does not support %<++%> and %<--%> on complex types"
+ msgstr "ISO C ondersteunt het %<%c%> formaat niet"
+
+ # Wat is beter: 'incrementeren', 'incrementering', of 'increment'?
+-#: c-typeck.c:3032 c-typeck.c:3064
++#: c-typeck.c:3043 c-typeck.c:3075
+ #, gcc-internal-format
+ msgid "wrong type argument to increment"
+ msgstr "argument van verkeerd type voor incrementeren"
+
+-#: c-typeck.c:3034 c-typeck.c:3066
++#: c-typeck.c:3045 c-typeck.c:3077
+ #, gcc-internal-format
+ msgid "wrong type argument to decrement"
+ msgstr "argument van verkeerd type voor decrementeren"
+
+-#: c-typeck.c:3055
++#: c-typeck.c:3066
+ #, gcc-internal-format
+ msgid "increment of pointer to unknown structure"
+ msgstr "incrementeren van pointer naar onbekend structure"
+
+-#: c-typeck.c:3057
++#: c-typeck.c:3068
+ #, gcc-internal-format
+ msgid "decrement of pointer to unknown structure"
+ msgstr "decrementeren van pointer naar onbekend structure"
+
+-#: c-typeck.c:3258
++#: c-typeck.c:3269
+ #, fuzzy, gcc-internal-format
+ msgid "assignment of read-only member %qD"
+ msgstr "%s van alleen-lezen lid %qs"
+
+-#: c-typeck.c:3259
++#: c-typeck.c:3270
+ #, fuzzy, gcc-internal-format
+ msgid "increment of read-only member %qD"
+ msgstr "%s van alleen-lezen lid %qs"
+
+-#: c-typeck.c:3260
++#: c-typeck.c:3271
+ #, fuzzy, gcc-internal-format
+ msgid "decrement of read-only member %qD"
+ msgstr "%s van alleen-lezen lid %qs"
+
+-#: c-typeck.c:3261
++#: c-typeck.c:3272
+ #, gcc-internal-format
+ msgid "read-only member %qD used as %<asm%> output"
+ msgstr ""
+
+-#: c-typeck.c:3265
++#: c-typeck.c:3276
+ #, fuzzy, gcc-internal-format
+ msgid "assignment of read-only variable %qD"
+ msgstr "%s van alleen-lezen variabele %qs"
+
+-#: c-typeck.c:3266
++#: c-typeck.c:3277
+ #, fuzzy, gcc-internal-format
+ msgid "increment of read-only variable %qD"
+ msgstr "%s van alleen-lezen variabele %qs"
+
+-#: c-typeck.c:3267
++#: c-typeck.c:3278
+ #, fuzzy, gcc-internal-format
+ msgid "decrement of read-only variable %qD"
+ msgstr "%s van alleen-lezen variabele %qs"
+
+-#: c-typeck.c:3268
++#: c-typeck.c:3279
+ #, gcc-internal-format
+ msgid "read-only variable %qD used as %<asm%> output"
+ msgstr ""
+
+-#: c-typeck.c:3271
++#: c-typeck.c:3282
+ #, fuzzy, gcc-internal-format
+ msgid "assignment of read-only location %qE"
+ msgstr "%s van alleen-lezen locatie"
+
+-#: c-typeck.c:3272
++#: c-typeck.c:3283
+ #, fuzzy, gcc-internal-format
+ msgid "increment of read-only location %qE"
+ msgstr "%s van alleen-lezen locatie"
+
+-#: c-typeck.c:3273
++#: c-typeck.c:3284
+ #, fuzzy, gcc-internal-format
+ msgid "decrement of read-only location %qE"
+ msgstr "%s van alleen-lezen locatie"
+
+-#: c-typeck.c:3274
++#: c-typeck.c:3285
+ #, gcc-internal-format
+ msgid "read-only location %qE used as %<asm%> output"
+ msgstr ""
+
+-#: c-typeck.c:3310
++#: c-typeck.c:3321
+ #, fuzzy, gcc-internal-format
+ msgid "cannot take address of bit-field %qD"
+ msgstr "kan adres van bitveld %qs niet nemen"
+
+-#: c-typeck.c:3338
++#: c-typeck.c:3349
+ #, fuzzy, gcc-internal-format
+ msgid "global register variable %qD used in nested function"
+ msgstr "globale registervariabele %qs gebruikt in geneste functie"
+
+-#: c-typeck.c:3341
++#: c-typeck.c:3352
+ #, fuzzy, gcc-internal-format
+ msgid "register variable %qD used in nested function"
+ msgstr "registervariabele %qs gebruikt in geneste functie"
+
+-#: c-typeck.c:3346
++#: c-typeck.c:3357
+ #, fuzzy, gcc-internal-format
+ msgid "address of global register variable %qD requested"
+ msgstr "adres van globale registervariabele %qs gevraagd"
+
+-#: c-typeck.c:3348
++#: c-typeck.c:3359
+ #, fuzzy, gcc-internal-format
+ msgid "address of register variable %qD requested"
+ msgstr "adres van registervariabele %qs gevraagd"
+
+-#: c-typeck.c:3394
++#: c-typeck.c:3405
+ #, fuzzy, gcc-internal-format
+ msgid "non-lvalue array in conditional expression"
+ msgstr "types in voorwaardelijke expressie komen niet overeen"
+
+ # Of moet/mag 'boolean' hier vertaald worden?
+-#: c-typeck.c:3442
++#: c-typeck.c:3453
+ #, fuzzy, gcc-internal-format
+ msgid "signed and unsigned type in conditional expression"
+ msgstr "niet-boolean modus in voorwaardelijke expressie"
+
+-#: c-typeck.c:3449
++#: c-typeck.c:3460
+ #, fuzzy, gcc-internal-format
+ msgid "ISO C forbids conditional expr with only one void side"
+ msgstr "ISO C verbiedt voorwaardelijke expressies met maar één void-zijde"
+
+-#: c-typeck.c:3463 c-typeck.c:3471
++#: c-typeck.c:3474 c-typeck.c:3482
+ #, fuzzy, gcc-internal-format
+ msgid "ISO C forbids conditional expr between %<void *%> and function pointer"
+ msgstr "ISO C verbiedt voorwaardelijke expressies tussen %<void *%> en een functiepointer"
+
+-#: c-typeck.c:3478
++#: c-typeck.c:3489
+ #, gcc-internal-format
+ msgid "pointer type mismatch in conditional expression"
+ msgstr "pointertypes in voorwaardelijke expressie komen niet overeen"
+
+-#: c-typeck.c:3485 c-typeck.c:3495
++#: c-typeck.c:3496 c-typeck.c:3506
+ #, gcc-internal-format
+ msgid "pointer/integer type mismatch in conditional expression"
+ msgstr "types in voorwaardelijke expressie komen niet overeen (pointer/integer)"
+
+-#: c-typeck.c:3509 tree-cfg.c:3783
++#: c-typeck.c:3520 tree-cfg.c:3807
+ #, gcc-internal-format
+ msgid "type mismatch in conditional expression"
+ msgstr "types in voorwaardelijke expressie komen niet overeen"
+
+-#: c-typeck.c:3552
++#: c-typeck.c:3563
+ #, gcc-internal-format
+ msgid "left-hand operand of comma expression has no effect"
+ msgstr "linker operand van comma-expressie heeft geen effect"
+
+-#: c-typeck.c:3589
++#: c-typeck.c:3600
+ #, gcc-internal-format
+ msgid "cast specifies array type"
+ msgstr "cast geeft array-type op"
+
+-#: c-typeck.c:3595
++#: c-typeck.c:3606
+ #, gcc-internal-format
+ msgid "cast specifies function type"
+ msgstr "cast geeft functie-type op"
+
+-#: c-typeck.c:3612
++#: c-typeck.c:3623
+ #, fuzzy, gcc-internal-format
+ msgid "ISO C forbids casting nonscalar to the same type"
+ msgstr "ISO C verbiedt het casten van een niet-scalair naar hetzelfde type"
+
+-#: c-typeck.c:3629
++#: c-typeck.c:3640
+ #, fuzzy, gcc-internal-format
+ msgid "ISO C forbids casts to union type"
+ msgstr "ISO C verbiedt casts naar een union-type"
+
+-#: c-typeck.c:3637
++#: c-typeck.c:3648
+ #, gcc-internal-format
+ msgid "cast to union type from type not present in union"
+ msgstr "cast naar union-type van een type dat geen deel uitmaakt van de union"
+
+-#: c-typeck.c:3683
++#: c-typeck.c:3694
+ #, fuzzy, gcc-internal-format
+ msgid "cast adds new qualifiers to function type"
+ msgstr "cast geeft functie-type op"
+
+ #. There are qualifiers present in IN_OTYPE that are not
+ #. present in IN_TYPE.
+-#: c-typeck.c:3688
++#: c-typeck.c:3699
+ #, gcc-internal-format
+ msgid "cast discards qualifiers from pointer target type"
+ msgstr "cast laat qualifiers van doeltype van pointer vallen"
+
+-#: c-typeck.c:3704
++#: c-typeck.c:3715
+ #, gcc-internal-format
+ msgid "cast increases required alignment of target type"
+ msgstr "cast verhoogt het benodigde alignment van het doeltype"
+
+-#: c-typeck.c:3715
++#: c-typeck.c:3726
+ #, gcc-internal-format
+ msgid "cast from pointer to integer of different size"
+ msgstr "cast van pointer naar integer met andere grootte"
+
+-#: c-typeck.c:3719
++#: c-typeck.c:3730
+ #, gcc-internal-format
+ msgid "cast from function call of type %qT to non-matching type %qT"
+ msgstr ""
+
+-#: c-typeck.c:3727
++#: c-typeck.c:3738
+ #, gcc-internal-format
+ msgid "cast to pointer from integer of different size"
+ msgstr "cast naar pointer van integer met andere grootte"
+
+-#: c-typeck.c:3741
++#: c-typeck.c:3752
+ #, fuzzy, gcc-internal-format
+ msgid "ISO C forbids conversion of function pointer to object pointer type"
+ msgstr "ISO C verbiedt een vergelijking van %<void *%> met een functie-pointer"
+
+-#: c-typeck.c:3749
++#: c-typeck.c:3760
+ #, fuzzy, gcc-internal-format
+ msgid "ISO C forbids conversion of object pointer to function pointer type"
+ msgstr "ISO C verbiedt een vergelijking van %<void *%> met een functie-pointer"
+
+-#: c-typeck.c:4026
++#: c-typeck.c:4037
+ #, gcc-internal-format
+ msgid "cannot pass rvalue to reference parameter"
+ msgstr ""
+
+-#: c-typeck.c:4139 c-typeck.c:4306
++#: c-typeck.c:4150 c-typeck.c:4317
+ #, fuzzy, gcc-internal-format
+ msgid "passing argument %d of %qE makes qualified function pointer from unqualified"
+ msgstr "%s maakt gekwalificeerde functiepointer van een niet gekwalificeerde"
+
+-#: c-typeck.c:4142 c-typeck.c:4309
++#: c-typeck.c:4153 c-typeck.c:4320
+ #, fuzzy, gcc-internal-format
+ msgid "assignment makes qualified function pointer from unqualified"
+ msgstr "%s maakt gekwalificeerde functiepointer van een niet gekwalificeerde"
+
+-#: c-typeck.c:4145 c-typeck.c:4311
++#: c-typeck.c:4156 c-typeck.c:4322
+ #, fuzzy, gcc-internal-format
+ msgid "initialization makes qualified function pointer from unqualified"
+ msgstr "%s maakt gekwalificeerde functiepointer van een niet gekwalificeerde"
+
+-#: c-typeck.c:4148 c-typeck.c:4313
++#: c-typeck.c:4159 c-typeck.c:4324
+ #, fuzzy, gcc-internal-format
+ msgid "return makes qualified function pointer from unqualified"
+ msgstr "%s maakt gekwalificeerde functiepointer van een niet gekwalificeerde"
+
+-#: c-typeck.c:4152 c-typeck.c:4273
++#: c-typeck.c:4163 c-typeck.c:4284
+ #, fuzzy, gcc-internal-format
+ msgid "passing argument %d of %qE discards qualifiers from pointer target type"
+ msgstr "cast laat qualifiers van doeltype van pointer vallen"
+
+-#: c-typeck.c:4154 c-typeck.c:4275
++#: c-typeck.c:4165 c-typeck.c:4286
+ #, fuzzy, gcc-internal-format
+ msgid "assignment discards qualifiers from pointer target type"
+ msgstr "cast laat qualifiers van doeltype van pointer vallen"
+
+-#: c-typeck.c:4156 c-typeck.c:4277
++#: c-typeck.c:4167 c-typeck.c:4288
+ #, fuzzy, gcc-internal-format
+ msgid "initialization discards qualifiers from pointer target type"
+ msgstr "cast laat qualifiers van doeltype van pointer vallen"
+
+-#: c-typeck.c:4158 c-typeck.c:4279
++#: c-typeck.c:4169 c-typeck.c:4290
+ #, fuzzy, gcc-internal-format
+ msgid "return discards qualifiers from pointer target type"
+ msgstr "cast laat qualifiers van doeltype van pointer vallen"
+
+-#: c-typeck.c:4165
++#: c-typeck.c:4176
+ #, fuzzy, gcc-internal-format
+ msgid "ISO C prohibits argument conversion to union type"
+ msgstr "ISO C verbiedt conversie van argumenten naar union type"
+
+-#: c-typeck.c:4201
++#: c-typeck.c:4212
+ #, fuzzy, gcc-internal-format
+ msgid "request for implicit conversion from %qT to %qT not permitted in C++"
+ msgstr "ongeldige registernaam voor %qs"
+
+-#: c-typeck.c:4214
++#: c-typeck.c:4225
+ #, fuzzy, gcc-internal-format
+ msgid "argument %d of %qE might be a candidate for a format attribute"
+ msgstr "deze functie is een mogelijke kandidaat voor het %qs formaat-attribuut"
+
+-#: c-typeck.c:4220
++#: c-typeck.c:4231
+ #, fuzzy, gcc-internal-format
+ msgid "assignment left-hand side might be a candidate for a format attribute"
+ msgstr "deze functie is een mogelijke kandidaat voor het %<noreturn%> attribuut"
+
+-#: c-typeck.c:4225
++#: c-typeck.c:4236
+ #, fuzzy, gcc-internal-format
+ msgid "initialization left-hand side might be a candidate for a format attribute"
+ msgstr "deze functie is een mogelijke kandidaat voor het %qs formaat-attribuut"
+
+-#: c-typeck.c:4230
++#: c-typeck.c:4241
+ #, fuzzy, gcc-internal-format
+ msgid "return type might be a candidate for a format attribute"
+ msgstr "deze functie is een mogelijke kandidaat voor het %qs formaat-attribuut"
+
+-#: c-typeck.c:4253
++#: c-typeck.c:4264
+ #, fuzzy, gcc-internal-format
+ msgid "ISO C forbids passing argument %d of %qE between function pointer and %<void *%>"
+ msgstr "ISO C verbiedt %s tussen functiepointer en %<void *%>"
+
+-#: c-typeck.c:4256
++#: c-typeck.c:4267
+ #, fuzzy, gcc-internal-format
+ msgid "ISO C forbids assignment between function pointer and %<void *%>"
+ msgstr "ISO C verbiedt %s tussen functiepointer en %<void *%>"
+
+-#: c-typeck.c:4258
++#: c-typeck.c:4269
+ #, fuzzy, gcc-internal-format
+ msgid "ISO C forbids initialization between function pointer and %<void *%>"
+ msgstr "ISO C verbiedt %s tussen functiepointer en %<void *%>"
+
+-#: c-typeck.c:4260
++#: c-typeck.c:4271
+ #, fuzzy, gcc-internal-format
+ msgid "ISO C forbids return between function pointer and %<void *%>"
+ msgstr "ISO C verbiedt %s tussen functiepointer en %<void *%>"
+
+ # 'signedness' = 'signed-heid'?
+-#: c-typeck.c:4289
++#: c-typeck.c:4300
+ #, fuzzy, gcc-internal-format
+ msgid "pointer targets in passing argument %d of %qE differ in signedness"
+ msgstr "doelen van pointer in %s verschillen in signedness"
+
+ # 'signedness' = 'signed-heid'?
+-#: c-typeck.c:4291
++#: c-typeck.c:4302
+ #, fuzzy, gcc-internal-format
+ msgid "pointer targets in assignment differ in signedness"
+ msgstr "doelen van pointer in %s verschillen in signedness"
+
+ # 'signedness' = 'signed-heid'?
+-#: c-typeck.c:4293
++#: c-typeck.c:4304
+ #, fuzzy, gcc-internal-format
+ msgid "pointer targets in initialization differ in signedness"
+ msgstr "doelen van pointer in %s verschillen in signedness"
+
+ # 'signedness' = 'signed-heid'?
+-#: c-typeck.c:4295
++#: c-typeck.c:4306
+ #, fuzzy, gcc-internal-format
+ msgid "pointer targets in return differ in signedness"
+ msgstr "doelen van pointer in %s verschillen in signedness"
+
+-#: c-typeck.c:4320
++#: c-typeck.c:4331
+ #, fuzzy, gcc-internal-format
+ msgid "passing argument %d of %qE from incompatible pointer type"
+ msgstr "%s van incompatibel pointertype"
+
+-#: c-typeck.c:4322
++#: c-typeck.c:4333
+ #, fuzzy, gcc-internal-format
+ msgid "assignment from incompatible pointer type"
+ msgstr "%s van incompatibel pointertype"
+
+-#: c-typeck.c:4323
++#: c-typeck.c:4334
+ #, fuzzy, gcc-internal-format
+ msgid "initialization from incompatible pointer type"
+ msgstr "%s van incompatibel pointertype"
+
+-#: c-typeck.c:4325
++#: c-typeck.c:4336
+ #, fuzzy, gcc-internal-format
+ msgid "return from incompatible pointer type"
+ msgstr "%s van incompatibel pointertype"
+
+-#: c-typeck.c:4342
++#: c-typeck.c:4353
+ #, fuzzy, gcc-internal-format
+ msgid "passing argument %d of %qE makes pointer from integer without a cast"
+ msgstr "%s maakt pointer van integer zonder een cast"
+
+-#: c-typeck.c:4344
++#: c-typeck.c:4355
+ #, fuzzy, gcc-internal-format
+ msgid "assignment makes pointer from integer without a cast"
+ msgstr "%s maakt pointer van integer zonder een cast"
+
+-#: c-typeck.c:4346
++#: c-typeck.c:4357
+ #, fuzzy, gcc-internal-format
+ msgid "initialization makes pointer from integer without a cast"
+ msgstr "%s maakt pointer van integer zonder een cast"
+
+-#: c-typeck.c:4348
++#: c-typeck.c:4359
+ #, fuzzy, gcc-internal-format
+ msgid "return makes pointer from integer without a cast"
+ msgstr "%s maakt pointer van integer zonder een cast"
+
+-#: c-typeck.c:4355
++#: c-typeck.c:4366
+ #, fuzzy, gcc-internal-format
+ msgid "passing argument %d of %qE makes integer from pointer without a cast"
+ msgstr "%s maakt integer van pointer zonder een cast"
+
+-#: c-typeck.c:4357
++#: c-typeck.c:4368
+ #, fuzzy, gcc-internal-format
+ msgid "assignment makes integer from pointer without a cast"
+ msgstr "%s maakt integer van pointer zonder een cast"
+
+-#: c-typeck.c:4359
++#: c-typeck.c:4370
+ #, fuzzy, gcc-internal-format
+ msgid "initialization makes integer from pointer without a cast"
+ msgstr "%s maakt integer van pointer zonder een cast"
+
+-#: c-typeck.c:4361
++#: c-typeck.c:4372
+ #, fuzzy, gcc-internal-format
+ msgid "return makes integer from pointer without a cast"
+ msgstr "%s maakt integer van pointer zonder een cast"
+
+-#: c-typeck.c:4377
++#: c-typeck.c:4388
+ #, fuzzy, gcc-internal-format
+ msgid "incompatible types in assignment"
+ msgstr "incompatibele types bij %s"
+
+-#: c-typeck.c:4380
++#: c-typeck.c:4391
+ #, fuzzy, gcc-internal-format
+ msgid "incompatible types in initialization"
+ msgstr "incompatibele types bij %s"
+
+-#: c-typeck.c:4383
++#: c-typeck.c:4394
+ #, fuzzy, gcc-internal-format
+ msgid "incompatible types in return"
+ msgstr "incompatibele types bij %s"
+
+-#: c-typeck.c:4439
++#: c-typeck.c:4450
+ #, gcc-internal-format
+ msgid "traditional C rejects automatic aggregate initialization"
+ msgstr ""
+
+-#: c-typeck.c:4610 c-typeck.c:4625 c-typeck.c:4640
++#: c-typeck.c:4621 c-typeck.c:4636 c-typeck.c:4651
+ #, fuzzy, gcc-internal-format
+ msgid "(near initialization for %qs)"
+ msgstr "(dicht bij initialisatie van %qs)"
+
+-#: c-typeck.c:5180 cp/decl.c:4975
++#: c-typeck.c:5191 cp/decl.c:4995
+ #, fuzzy, gcc-internal-format
+ msgid "opaque vector types cannot be initialized"
+ msgstr "object van variabele lengte mag geen beginwaarde krijgen"
+
+-#: c-typeck.c:5803
++#: c-typeck.c:5814
+ #, fuzzy, gcc-internal-format
+ msgid "unknown field %qE specified in initializer"
+ msgstr "onbekend veld %qs opgegeven in beginwaarde"
+
+-#: c-typeck.c:6703
++#: c-typeck.c:6714
+ #, gcc-internal-format
+ msgid "traditional C rejects initialization of unions"
+ msgstr ""
+
+-#: c-typeck.c:7011
++#: c-typeck.c:7022
+ #, fuzzy, gcc-internal-format
+ msgid "jump into statement expression"
+ msgstr "overflow in constante expressie"
+
+ # Ik weet het, 'alleen-lezen' is lelijk, maar het is de min of meer geijkte vertaling.
+-#: c-typeck.c:7017
++#: c-typeck.c:7028
+ #, fuzzy, gcc-internal-format
+ msgid "jump into scope of identifier with variably modified type"
+ msgstr "argument %d is alleen-lezen"
+
+-#: c-typeck.c:7054
++#: c-typeck.c:7065
+ #, fuzzy, gcc-internal-format
+ msgid "ISO C forbids %<goto *expr;%>"
+ msgstr "ISO C verbiedt %<goto *expr;%>"
+
+-#: c-typeck.c:7069 cp/typeck.c:6592
++#: c-typeck.c:7080 cp/typeck.c:6619
+ #, fuzzy, gcc-internal-format
+ msgid "function declared %<noreturn%> has a %<return%> statement"
+ msgstr "als %<noreturn%> gedeclareerde functie bevat een %<return%> statement"
+
+-#: c-typeck.c:7077
++#: c-typeck.c:7088
+ #, fuzzy, gcc-internal-format
+ msgid "%<return%> with no value, in function returning non-void"
+ msgstr "%<return%> zonder waarde in een functie die een niet-void waarde teruggeeft"
+
+-#: c-typeck.c:7086
++#: c-typeck.c:7097
+ #, fuzzy, gcc-internal-format
+ msgid "%<return%> with a value, in function returning void"
+ msgstr "%<return%> met waarde in een functie die void teruggeeft"
+
+-#: c-typeck.c:7088
++#: c-typeck.c:7099
+ #, fuzzy, gcc-internal-format
+ msgid "ISO C forbids %<return%> with expression, in function returning void"
+ msgstr "%<return%> met waarde in een functie die void teruggeeft"
+
+-#: c-typeck.c:7145
++#: c-typeck.c:7156
+ #, gcc-internal-format
+ msgid "function returns address of local variable"
+ msgstr "functie geeft adres van lokale variabele terug"
+
+-#: c-typeck.c:7217 cp/semantics.c:949
++#: c-typeck.c:7228 cp/semantics.c:952
+ #, gcc-internal-format
+ msgid "switch quantity not an integer"
+ msgstr "switch-waarde is geen integer"
+
+-#: c-typeck.c:7229
++#: c-typeck.c:7240
+ #, fuzzy, gcc-internal-format
+ msgid "%<long%> switch expression not converted to %<int%> in ISO C"
+ msgstr "%<long%> switch-expressie wordt in ISO C niet naar %<int%> geconverteerd"
+
+-#: c-typeck.c:7269
++#: c-typeck.c:7280
+ #, fuzzy, gcc-internal-format
+ msgid "case label in statement expression not containing enclosing switch statement"
+ msgstr "case-label niet in een switch-statement"
+
+-#: c-typeck.c:7272
++#: c-typeck.c:7283
+ #, fuzzy, gcc-internal-format
+ msgid "%<default%> label in statement expression not containing enclosing switch statement"
+ msgstr "default-label niet in een switch-statement"
+
+-#: c-typeck.c:7278
++#: c-typeck.c:7289
+ #, fuzzy, gcc-internal-format
+ msgid "case label in scope of identifier with variably modified type not containing enclosing switch statement"
+ msgstr "case-label niet in een switch-statement"
+
+-#: c-typeck.c:7281
++#: c-typeck.c:7292
+ #, fuzzy, gcc-internal-format
+ msgid "%<default%> label in scope of identifier with variably modified type not containing enclosing switch statement"
+ msgstr "default-label niet in een switch-statement"
+
+-#: c-typeck.c:7285 cp/parser.c:6804
++#: c-typeck.c:7296 cp/parser.c:6810
+ #, gcc-internal-format
+ msgid "case label not within a switch statement"
+ msgstr "case-label niet in een switch-statement"
+
+-#: c-typeck.c:7287
++#: c-typeck.c:7298
+ #, fuzzy, gcc-internal-format
+ msgid "%<default%> label not within a switch statement"
+ msgstr "default-label niet in een switch-statement"
+
+-#: c-typeck.c:7364
++#: c-typeck.c:7375
+ #, gcc-internal-format
+ msgid "%Hsuggest explicit braces to avoid ambiguous %<else%>"
+ msgstr ""
+
+-#: c-typeck.c:7475 cp/cp-gimplify.c:97 cp/parser.c:7409
++#: c-typeck.c:7486 cp/cp-gimplify.c:97 cp/parser.c:7415
+ #, gcc-internal-format
+ msgid "break statement not within loop or switch"
+ msgstr "break-statement niet in een lus of switch"
+
+-#: c-typeck.c:7477 cp/parser.c:7430
++#: c-typeck.c:7488 cp/parser.c:7436
+ #, gcc-internal-format
+ msgid "continue statement not within a loop"
+ msgstr "continue-statement niet in een lus"
+
+-#: c-typeck.c:7482 cp/parser.c:7420
++#: c-typeck.c:7493 cp/parser.c:7426
+ #, fuzzy, gcc-internal-format
+ msgid "break statement used with OpenMP for loop"
+ msgstr "break-statement niet in een lus of switch"
+
+-#: c-typeck.c:7505
++#: c-typeck.c:7516
+ #, gcc-internal-format
+ msgid "%Hstatement with no effect"
+ msgstr ""
+
+ # vertaling voor 'statement'?
+-#: c-typeck.c:7527
++#: c-typeck.c:7538
+ #, gcc-internal-format
+ msgid "expression statement has incomplete type"
+ msgstr "expressie-statement heeft onvolledig type"
+
+-#: c-typeck.c:8082 cp/typeck.c:3259
++#: c-typeck.c:8093 cp/typeck.c:3301
+ #, gcc-internal-format
+ msgid "right shift count is negative"
+ msgstr "teller van rechtse shift is negatief"
+
+-#: c-typeck.c:8089 cp/typeck.c:3265
++#: c-typeck.c:8100 cp/typeck.c:3305
+ #, gcc-internal-format
+ msgid "right shift count >= width of type"
+ msgstr "teller van rechtse shift is >= breedte van het type"
+
+-#: c-typeck.c:8111 cp/typeck.c:3284
++#: c-typeck.c:8122 cp/typeck.c:3324
+ #, gcc-internal-format
+ msgid "left shift count is negative"
+ msgstr "teller van links shift is negatief"
+
+-#: c-typeck.c:8114 cp/typeck.c:3286
++#: c-typeck.c:8125 cp/typeck.c:3326
+ #, gcc-internal-format
+ msgid "left shift count >= width of type"
+ msgstr "teller van links shift is >= breedte van het type"
+
+-#: c-typeck.c:8132 cp/typeck.c:3324
++#: c-typeck.c:8143 cp/typeck.c:3364
+ #, gcc-internal-format
+ msgid "comparing floating point with == or != is unsafe"
+ msgstr ""
+
+-#: c-typeck.c:8156 c-typeck.c:8163
++#: c-typeck.c:8167 c-typeck.c:8174
+ #, fuzzy, gcc-internal-format
+ msgid "ISO C forbids comparison of %<void *%> with function pointer"
+ msgstr "ISO C verbiedt een vergelijking van %<void *%> met een functie-pointer"
+
+-#: c-typeck.c:8169 c-typeck.c:8227
++#: c-typeck.c:8180 c-typeck.c:8238
+ #, gcc-internal-format
+ msgid "comparison of distinct pointer types lacks a cast"
+ msgstr "een cast ontbreekt bij vergelijking van ongelijke pointer-types"
+
+ # is de "," deel van de special format spec of niet? en moet "true" hier vertaald worden of niet?
+-#: c-typeck.c:8178 c-typeck.c:8186 cp/typeck.c:3344 cp/typeck.c:3353
++#: c-typeck.c:8189 c-typeck.c:8197 cp/typeck.c:3384 cp/typeck.c:3393
+ #, fuzzy, gcc-internal-format
+ msgid "the address of %qD will never be NULL"
+ msgstr "het adres van %qD, zal altijd %<true%> zijn"
+
+-#: c-typeck.c:8193 c-typeck.c:8198 c-typeck.c:8245 c-typeck.c:8250
++#: c-typeck.c:8204 c-typeck.c:8209 c-typeck.c:8256 c-typeck.c:8261
+ #, gcc-internal-format
+ msgid "comparison between pointer and integer"
+ msgstr "vergelijking tussen pointer en integer"
+
+-#: c-typeck.c:8219
++#: c-typeck.c:8230
+ #, gcc-internal-format
+ msgid "comparison of complete and incomplete pointers"
+ msgstr "vergelijking van volledige en onvolledige pointers"
+
+ # 'ordered' -> 'bevolen' of 'geordend'? Waarschijnlijk het laatste.
+-#: c-typeck.c:8222
++#: c-typeck.c:8233
+ #, fuzzy, gcc-internal-format
+ msgid "ISO C forbids ordered comparisons of pointers to functions"
+ msgstr "ISO C verbiedt geordende vergelijkingen tussen pointers naar functies"
+
+-#: c-typeck.c:8234 c-typeck.c:8240
++#: c-typeck.c:8245 c-typeck.c:8251
+ #, gcc-internal-format
+ msgid "ordered comparison of pointer with integer zero"
+ msgstr "geordende vergelijking van een pointer met integer nul"
+
+-#: c-typeck.c:8500
++#: c-typeck.c:8511
+ #, gcc-internal-format
+ msgid "comparison between signed and unsigned"
+ msgstr "vergelijking tussen signed en unsigned"
+
+-#: c-typeck.c:8546 cp/typeck.c:3830
++#: c-typeck.c:8557 cp/typeck.c:3838
+ #, gcc-internal-format
+ msgid "comparison of promoted ~unsigned with constant"
+ msgstr "vergelijking van gepromoveerde ~unsigned met constante"
+
+-#: c-typeck.c:8554 cp/typeck.c:3838
++#: c-typeck.c:8565 cp/typeck.c:3846
+ #, gcc-internal-format
+ msgid "comparison of promoted ~unsigned with unsigned"
+ msgstr "vergelijking van gepromoveerde ~unsigned met unsigned"
+
+-#: c-typeck.c:8612
++#: c-typeck.c:8623
+ #, fuzzy, gcc-internal-format
+ msgid "used array that cannot be converted to pointer where scalar is required"
+ msgstr "waarde van array-type gebruikt waar een scalair nodig is"
+
+-#: c-typeck.c:8616
++#: c-typeck.c:8627
+ #, fuzzy, gcc-internal-format
+ msgid "used struct type value where scalar is required"
+ msgstr "waarde van struct-type gebruikt waar een scalair nodig is"
+
+-#: c-typeck.c:8620
++#: c-typeck.c:8631
+ #, fuzzy, gcc-internal-format
+ msgid "used union type value where scalar is required"
+ msgstr "waarde van union-type gebruikt waar een scalair nodig is"
+
+-#: c-typeck.c:8725 cp/semantics.c:3523
++#: c-typeck.c:8736 cp/semantics.c:3555
+ #, fuzzy, gcc-internal-format
+ msgid "%qE has invalid type for %<reduction%>"
+ msgstr "ongeldig gebruik van %<restrict%>"
+
+-#: c-typeck.c:8759 cp/semantics.c:3536
++#: c-typeck.c:8770 cp/semantics.c:3568
+ #, gcc-internal-format
+ msgid "%qE has invalid type for %<reduction(%s)%>"
+ msgstr ""
+
+-#: c-typeck.c:8775 cp/semantics.c:3546
++#: c-typeck.c:8786 cp/semantics.c:3578
+ #, gcc-internal-format
+ msgid "%qE must be %<threadprivate%> for %<copyin%>"
+ msgstr ""
+
+-#: c-typeck.c:8784 cp/semantics.c:3351
++#: c-typeck.c:8795 cp/semantics.c:3383
+ #, fuzzy, gcc-internal-format
+ msgid "%qE is not a variable in clause %qs"
+ msgstr "%qs is geen bestand, pipe of tty"
+
+-#: c-typeck.c:8791 c-typeck.c:8811 c-typeck.c:8831 cp/semantics.c:3377
+-#: cp/semantics.c:3396
++#: c-typeck.c:8802 c-typeck.c:8822 c-typeck.c:8842 cp/semantics.c:3409
++#: cp/semantics.c:3428
+ #, gcc-internal-format
+ msgid "%qE appears more than once in data clauses"
+ msgstr ""
+
+-#: c-typeck.c:8805 cp/semantics.c:3371
++#: c-typeck.c:8816 cp/semantics.c:3403
+ #, fuzzy, gcc-internal-format
+ msgid "%qE is not a variable in clause %<firstprivate%>"
+ msgstr "statische variable %qs is als dllimport aangeduid"
+
+-#: c-typeck.c:8825 cp/semantics.c:3390
++#: c-typeck.c:8836 cp/semantics.c:3422
+ #, fuzzy, gcc-internal-format
+ msgid "%qE is not a variable in clause %<lastprivate%>"
+ msgstr "statische variable %qs is als dllimport aangeduid"
+
+-#: c-typeck.c:8883 cp/semantics.c:3587
++#: c-typeck.c:8894 cp/semantics.c:3619
+ #, gcc-internal-format
+ msgid "%qE is predetermined %qs for %qs"
+ msgstr ""
+@@ -21640,12 +21597,12 @@
+ msgid "function call has aggregate value"
+ msgstr "functie-oproep heeft geaggregeerde waarde"
+
+-#: cfgexpand.c:1884
++#: cfgexpand.c:1887
+ #, gcc-internal-format
+ msgid "not protecting local variables: variable length buffer"
+ msgstr ""
+
+-#: cfgexpand.c:1887
++#: cfgexpand.c:1890
+ #, gcc-internal-format
+ msgid "not protecting function: no buffer at least %d bytes long"
+ msgstr ""
+@@ -21700,7 +21657,7 @@
+ msgid "verify_flow_info: Basic block %d succ edge is corrupted"
+ msgstr ""
+
+-#: cfghooks.c:184 cfgrtl.c:1840
++#: cfghooks.c:184 cfgrtl.c:1838
+ #, fuzzy, gcc-internal-format
+ msgid "wrong amount of branch edges after unconditional jump %i"
+ msgstr "types in voorwaardelijke expressie komen niet overeen"
+@@ -21910,252 +21867,252 @@
+ msgid "%d exits recorded for loop %d (having %d exits)"
+ msgstr ""
+
+-#: cfgrtl.c:1734
++#: cfgrtl.c:1732
+ #, gcc-internal-format
+ msgid "BB_RTL flag not set for block %d"
+ msgstr ""
+
+-#: cfgrtl.c:1741
++#: cfgrtl.c:1739
+ #, gcc-internal-format
+ msgid "insn %d basic block pointer is %d, should be %d"
+ msgstr ""
+
+-#: cfgrtl.c:1752
++#: cfgrtl.c:1750
+ #, gcc-internal-format
+ msgid "insn %d in header of bb %d has non-NULL basic block"
+ msgstr ""
+
+-#: cfgrtl.c:1760
++#: cfgrtl.c:1758
+ #, gcc-internal-format
+ msgid "insn %d in footer of bb %d has non-NULL basic block"
+ msgstr ""
+
+-#: cfgrtl.c:1782
++#: cfgrtl.c:1780
+ #, gcc-internal-format
+ msgid "verify_flow_info: REG_BR_PROB does not match cfg %wi %i"
+ msgstr ""
+
+-#: cfgrtl.c:1797
++#: cfgrtl.c:1795
+ #, gcc-internal-format
+ msgid "fallthru edge crosses section boundary (bb %i)"
+ msgstr ""
+
+-#: cfgrtl.c:1822
++#: cfgrtl.c:1820
+ #, gcc-internal-format
+ msgid "missing REG_EH_REGION note in the end of bb %i"
+ msgstr ""
+
+-#: cfgrtl.c:1830
++#: cfgrtl.c:1828
+ #, gcc-internal-format
+ msgid "too many outgoing branch edges from bb %i"
+ msgstr ""
+
+-#: cfgrtl.c:1835
++#: cfgrtl.c:1833
+ #, fuzzy, gcc-internal-format
+ msgid "fallthru edge after unconditional jump %i"
+ msgstr "types in voorwaardelijke expressie komen niet overeen"
+
+-#: cfgrtl.c:1846
++#: cfgrtl.c:1844
+ #, fuzzy, gcc-internal-format
+ msgid "wrong amount of branch edges after conditional jump %i"
+ msgstr "types in voorwaardelijke expressie komen niet overeen"
+
+-#: cfgrtl.c:1852
++#: cfgrtl.c:1850
+ #, gcc-internal-format
+ msgid "call edges for non-call insn in bb %i"
+ msgstr ""
+
+-#: cfgrtl.c:1861
++#: cfgrtl.c:1859
+ #, gcc-internal-format
+ msgid "abnormal edges for no purpose in bb %i"
+ msgstr ""
+
+-#: cfgrtl.c:1873
++#: cfgrtl.c:1871
+ #, gcc-internal-format
+ msgid "insn %d inside basic block %d but block_for_insn is NULL"
+ msgstr ""
+
+-#: cfgrtl.c:1877
++#: cfgrtl.c:1875
+ #, gcc-internal-format
+ msgid "insn %d inside basic block %d but block_for_insn is %i"
+ msgstr ""
+
+-#: cfgrtl.c:1891 cfgrtl.c:1901
++#: cfgrtl.c:1889 cfgrtl.c:1899
+ #, gcc-internal-format
+ msgid "NOTE_INSN_BASIC_BLOCK is missing for block %d"
+ msgstr ""
+
+-#: cfgrtl.c:1914
++#: cfgrtl.c:1912
+ #, gcc-internal-format
+ msgid "NOTE_INSN_BASIC_BLOCK %d in middle of basic block %d"
+ msgstr ""
+
+-#: cfgrtl.c:1924
++#: cfgrtl.c:1922
+ #, gcc-internal-format
+ msgid "in basic block %d:"
+ msgstr ""
+
+-#: cfgrtl.c:1977 cfgrtl.c:2067
++#: cfgrtl.c:1975 cfgrtl.c:2065
+ #, gcc-internal-format
+ msgid "insn %d outside of basic blocks has non-NULL bb field"
+ msgstr ""
+
+-#: cfgrtl.c:1985
++#: cfgrtl.c:1983
+ #, gcc-internal-format
+ msgid "end insn %d for block %d not found in the insn stream"
+ msgstr ""
+
+-#: cfgrtl.c:1998
++#: cfgrtl.c:1996
+ #, gcc-internal-format
+ msgid "insn %d is in multiple basic blocks (%d and %d)"
+ msgstr ""
+
+-#: cfgrtl.c:2010
++#: cfgrtl.c:2008
+ #, gcc-internal-format
+ msgid "head insn %d for block %d not found in the insn stream"
+ msgstr ""
+
+-#: cfgrtl.c:2030
++#: cfgrtl.c:2028
+ #, gcc-internal-format
+ msgid "missing barrier after block %i"
+ msgstr ""
+
+-#: cfgrtl.c:2043
++#: cfgrtl.c:2041
+ #, gcc-internal-format
+ msgid "verify_flow_info: Incorrect blocks for fallthru %i->%i"
+ msgstr ""
+
+-#: cfgrtl.c:2052
++#: cfgrtl.c:2050
+ #, gcc-internal-format
+ msgid "verify_flow_info: Incorrect fallthru %i->%i"
+ msgstr ""
+
+-#: cfgrtl.c:2085
++#: cfgrtl.c:2083
+ #, gcc-internal-format
+ msgid "basic blocks not laid down consecutively"
+ msgstr ""
+
+-#: cfgrtl.c:2124
++#: cfgrtl.c:2122
+ #, gcc-internal-format
+ msgid "number of bb notes in insn chain (%d) != n_basic_blocks (%d)"
+ msgstr ""
+
+-#: cgraph.c:794
++#: cgraph.c:840
+ #, gcc-internal-format
+ msgid "%D renamed after being referenced in assembly"
+ msgstr ""
+
+-#: cgraphunit.c:670
++#: cgraphunit.c:675
+ #, gcc-internal-format
+ msgid "aux field set for edge %s->%s"
+ msgstr ""
+
+-#: cgraphunit.c:676
++#: cgraphunit.c:681
+ #, fuzzy, gcc-internal-format
+ msgid "Execution count is negative"
+ msgstr "teller van links shift is negatief"
+
+-#: cgraphunit.c:683
++#: cgraphunit.c:688
+ #, fuzzy, gcc-internal-format
+ msgid "caller edge count is negative"
+ msgstr "teller van links shift is negatief"
+
+-#: cgraphunit.c:688
++#: cgraphunit.c:693
+ #, fuzzy, gcc-internal-format
+ msgid "caller edge frequency is negative"
+ msgstr "teller van links shift is negatief"
+
+-#: cgraphunit.c:693
++#: cgraphunit.c:698
+ #, fuzzy, gcc-internal-format
+ msgid "caller edge frequency is too large"
+ msgstr "teller van links shift is negatief"
+
+-#: cgraphunit.c:702
++#: cgraphunit.c:707
+ #, fuzzy, gcc-internal-format
+ msgid "inlined_to pointer is wrong"
+ msgstr "sectie-pointer ontbreekt"
+
+-#: cgraphunit.c:707
++#: cgraphunit.c:712
+ #, gcc-internal-format
+ msgid "multiple inline callers"
+ msgstr ""
+
+-#: cgraphunit.c:714
++#: cgraphunit.c:719
+ #, fuzzy, gcc-internal-format
+ msgid "inlined_to pointer set for noninline callers"
+ msgstr "sectie-pointer ontbreekt"
+
+-#: cgraphunit.c:720
++#: cgraphunit.c:725
+ #, fuzzy, gcc-internal-format
+ msgid "inlined_to pointer is set but no predecessors found"
+ msgstr "sectie-pointer ontbreekt"
+
+-#: cgraphunit.c:725
++#: cgraphunit.c:730
+ #, fuzzy, gcc-internal-format
+ msgid "inlined_to pointer refers to itself"
+ msgstr "sectie-pointer ontbreekt"
+
+-#: cgraphunit.c:735
++#: cgraphunit.c:740
+ #, gcc-internal-format
+ msgid "node not found in cgraph_hash"
+ msgstr ""
+
+-#: cgraphunit.c:763
++#: cgraphunit.c:768
+ #, gcc-internal-format
+ msgid "shared call_stmt:"
+ msgstr ""
+
+-#: cgraphunit.c:770
++#: cgraphunit.c:775
+ #, fuzzy, gcc-internal-format
+ msgid "edge points to wrong declaration:"
+ msgstr "dit is een eerdere declaratie"
+
+-#: cgraphunit.c:779
++#: cgraphunit.c:784
+ #, gcc-internal-format
+ msgid "missing callgraph edge for call stmt:"
+ msgstr ""
+
+-#: cgraphunit.c:795
++#: cgraphunit.c:800
+ #, gcc-internal-format
+ msgid "edge %s->%s has no corresponding call_stmt"
+ msgstr ""
+
+-#: cgraphunit.c:807
++#: cgraphunit.c:812
+ #, gcc-internal-format
+ msgid "verify_cgraph_node failed"
+ msgstr ""
+
+-#: cgraphunit.c:909 cgraphunit.c:932
++#: cgraphunit.c:915 cgraphunit.c:938
+ #, fuzzy, gcc-internal-format
+ msgid "%J%<externally_visible%> attribute have effect only on public objects"
+ msgstr "%Jhet %qE attribuut is enkel van toepassing op functies"
+
+-#: cgraphunit.c:1122
++#: cgraphunit.c:1128
+ #, fuzzy, gcc-internal-format
+ msgid "failed to reclaim unneeded function"
+ msgstr "veld %qs als een functie gedeclareerd"
+
+-#: cgraphunit.c:1454
++#: cgraphunit.c:1460
+ #, gcc-internal-format
+ msgid "nodes with no released memory found"
+ msgstr ""
+
+-#: collect2.c:1189
++#: collect2.c:1203
+ #, fuzzy, gcc-internal-format
+ msgid "unknown demangling style '%s'"
+ msgstr "onbekende machine-modus %qs"
+
+-#: collect2.c:1512
++#: collect2.c:1526
+ #, fuzzy, gcc-internal-format
+ msgid "%s terminated with signal %d [%s]%s"
+ msgstr "%s beëindigd met signaal %d [%s]"
+
+-#: collect2.c:1530
++#: collect2.c:1544
+ #, gcc-internal-format
+ msgid "%s returned %d exit status"
+ msgstr "%s gaf exit-status %d terug"
+
+-#: collect2.c:2242
++#: collect2.c:2256
+ #, fuzzy, gcc-internal-format
+ msgid "cannot find 'ldd'"
+ msgstr "kan %<ldd%> niet vinden"
+@@ -22312,27 +22269,27 @@
+ msgid "dominator of %d should be %d, not %d"
+ msgstr ""
+
+-#: dwarf2out.c:3634
++#: dwarf2out.c:3686
+ #, gcc-internal-format
+ msgid "DW_LOC_OP %s not implemented"
+ msgstr ""
+
+-#: emit-rtl.c:2326
++#: emit-rtl.c:2262
+ #, fuzzy, gcc-internal-format
+ msgid "invalid rtl sharing found in the insn"
+ msgstr "ongeldige operand voor %s-code"
+
+-#: emit-rtl.c:2328
++#: emit-rtl.c:2264
+ #, gcc-internal-format
+ msgid "shared rtx"
+ msgstr ""
+
+-#: emit-rtl.c:2330
++#: emit-rtl.c:2266
+ #, gcc-internal-format
+ msgid "internal consistency failure"
+ msgstr ""
+
+-#: emit-rtl.c:3417
++#: emit-rtl.c:3365
+ #, gcc-internal-format
+ msgid "ICE: emit_insn used where emit_jump_insn needed:\n"
+ msgstr ""
+@@ -22392,17 +22349,17 @@
+ msgid "verify_eh_tree failed"
+ msgstr ""
+
+-#: explow.c:1281
++#: explow.c:1258
+ #, fuzzy, gcc-internal-format
+ msgid "stack limits not supported on this target"
+ msgstr "sectie-attributen worden niet ondersteund op dit doelsysteem"
+
+-#: expr.c:8031
++#: expr.c:8030
+ #, fuzzy
+ msgid "%Kcall to %qs declared with attribute error: %s"
+ msgstr "functie %qs geherdeclareerd met noinline attribuut"
+
+-#: expr.c:8037
++#: expr.c:8036
+ #, fuzzy
+ msgid "%Kcall to %qs declared with attribute warning: %s"
+ msgstr "functie %qs geherdeclareerd met noinline attribuut"
+@@ -22418,7 +22375,7 @@
+ msgid "large fixed-point constant implicitly truncated to fixed-point type"
+ msgstr "grote integer impliciet afgekapt naar 'unsigned' type"
+
+-#: fold-const.c:992 tree-ssa-loop-niter.c:1827 tree-vrp.c:5060
++#: fold-const.c:992 tree-ssa-loop-niter.c:1827 tree-vrp.c:5076
+ #, fuzzy, gcc-internal-format
+ msgid "%H%s"
+ msgstr "%s voor %qs"
+@@ -22428,77 +22385,77 @@
+ msgid "assuming signed overflow does not occur when negating a division"
+ msgstr ""
+
+-#: fold-const.c:3989 fold-const.c:4000
++#: fold-const.c:4003 fold-const.c:4014
+ #, fuzzy, gcc-internal-format
+ msgid "comparison is always %d due to width of bit-field"
+ msgstr "vergelijking is altijd waar omwille van het beperkte bereik van het datatype"
+
+-#: fold-const.c:5317
++#: fold-const.c:5331
+ #, gcc-internal-format
+ msgid "assuming signed overflow does not occur when simplifying range test"
+ msgstr ""
+
+-#: fold-const.c:5691 fold-const.c:5706
++#: fold-const.c:5705 fold-const.c:5720
+ #, gcc-internal-format
+ msgid "comparison is always %d"
+ msgstr ""
+
+-#: fold-const.c:5835
++#: fold-const.c:5849
+ #, gcc-internal-format
+ msgid "%<or%> of unmatched not-equal tests is always 1"
+ msgstr ""
+
+-#: fold-const.c:5840
++#: fold-const.c:5854
+ #, gcc-internal-format
+ msgid "%<and%> of mutually exclusive equal-tests is always 0"
+ msgstr ""
+
+-#: fold-const.c:8617
++#: fold-const.c:8641
+ #, gcc-internal-format
+ msgid "assuming signed overflow does not occur when reducing constant in comparison"
+ msgstr ""
+
+-#: fold-const.c:8871
++#: fold-const.c:8895
+ #, gcc-internal-format
+ msgid "assuming signed overflow does not occur when combining constants around a comparison"
+ msgstr ""
+
+-#: fold-const.c:13236
++#: fold-const.c:13433
+ #, gcc-internal-format
+ msgid "fold check: original tree changed by fold"
+ msgstr ""
+
+-#: function.c:377
++#: function.c:380
+ #, fuzzy, gcc-internal-format
+ msgid "%Jtotal size of local objects too large"
+ msgstr "variabele %qs is te groot"
+
+-#: function.c:837 varasm.c:2095
++#: function.c:840 varasm.c:2095
+ #, fuzzy, gcc-internal-format
+ msgid "size of variable %q+D is too large"
+ msgstr "variabele %qs is te groot"
+
+-#: function.c:1554 gimplify.c:4250
++#: function.c:1571 gimplify.c:4405
+ #, fuzzy, gcc-internal-format
+ msgid "impossible constraint in %<asm%>"
+ msgstr "incompatibele operands voor %s"
+
+-#: function.c:3538
++#: function.c:3557
+ #, gcc-internal-format
+ msgid "variable %q+D might be clobbered by %<longjmp%> or %<vfork%>"
+ msgstr ""
+
+-#: function.c:3559
++#: function.c:3578
+ #, gcc-internal-format
+ msgid "argument %q+D might be clobbered by %<longjmp%> or %<vfork%>"
+ msgstr ""
+
+-#: function.c:4004
++#: function.c:4027
+ #, gcc-internal-format
+ msgid "function returns an aggregate"
+ msgstr ""
+
+-#: function.c:4401
++#: function.c:4424
+ #, fuzzy, gcc-internal-format
+ msgid "unused parameter %q+D"
+ msgstr "ongeldige macronaam %<%.*s%>"
+@@ -22523,12 +22480,12 @@
+ msgid "extraneous argument to '%s' option"
+ msgstr "overbodig argument voor de '%s' optie"
+
+-#: gcc.c:3987
++#: gcc.c:3981
+ #, gcc-internal-format
+ msgid "warning: -pipe ignored because -save-temps specified"
+ msgstr ""
+
+-#: gcc.c:4276
++#: gcc.c:4270
+ #, gcc-internal-format
+ msgid "warning: '-x %s' after last input file has no effect"
+ msgstr ""
+@@ -22536,62 +22493,62 @@
+ #. Catch the case where a spec string contains something like
+ #. '%{foo:%*}'. i.e. there is no * in the pattern on the left
+ #. hand side of the :.
+-#: gcc.c:5314
++#: gcc.c:5308
+ #, gcc-internal-format
+ msgid "spec failure: '%%*' has not been initialized by pattern match"
+ msgstr ""
+
+-#: gcc.c:5323
++#: gcc.c:5317
+ #, fuzzy, gcc-internal-format
+ msgid "warning: use of obsolete %%[ operator in specs"
+ msgstr "Let Op: verouderde operator %%[ gebruikt in specs"
+
+-#: gcc.c:5404
++#: gcc.c:5398
+ #, gcc-internal-format
+ msgid "spec failure: unrecognized spec option '%c'"
+ msgstr ""
+
+-#: gcc.c:6305
++#: gcc.c:6304
+ #, gcc-internal-format
+ msgid "spec failure: more than one arg to SYSROOT_SUFFIX_SPEC"
+ msgstr ""
+
+-#: gcc.c:6328
++#: gcc.c:6327
+ #, gcc-internal-format
+ msgid "spec failure: more than one arg to SYSROOT_HEADERS_SUFFIX_SPEC"
+ msgstr ""
+
+-#: gcc.c:6415
++#: gcc.c:6414
+ #, fuzzy, gcc-internal-format
+ msgid "unrecognized option '-%s'"
+ msgstr "onbekende formaatspecificatie"
+
+-#: gcc.c:6615 gcc.c:6678
++#: gcc.c:6614 gcc.c:6677
+ #, gcc-internal-format
+ msgid "%s: %s compiler not installed on this system"
+ msgstr "%s: %s compiler niet geïnstalleerd op dit systeem"
+
+-#: gcc.c:6778
++#: gcc.c:6777
+ #, gcc-internal-format
+ msgid "%s: linker input file unused because linking not done"
+ msgstr ""
+
+-#: gcc.c:6818
++#: gcc.c:6817
+ #, gcc-internal-format
+ msgid "language %s not recognized"
+ msgstr "taal %s niet herkend"
+
+-#: gcc.c:6889
++#: gcc.c:6888
+ #, gcc-internal-format
+ msgid "%s: %s"
+ msgstr ""
+
+-#: gcse.c:6660
++#: gcse.c:6644
+ #, gcc-internal-format
+ msgid "%s: %d basic blocks and %d edges/basic block"
+ msgstr ""
+
+-#: gcse.c:6673
++#: gcse.c:6657
+ #, gcc-internal-format
+ msgid "%s: %d basic blocks and %d registers"
+ msgstr ""
+@@ -22644,52 +22601,52 @@
+ msgid "can't write PCH fle: %m"
+ msgstr "kan bestand '%s' niet openen"
+
+-#: gimplify.c:4139
++#: gimplify.c:4294
+ #, fuzzy, gcc-internal-format
+ msgid "invalid lvalue in asm output %d"
+ msgstr "ongeldige lvalue in toewijzing"
+
+-#: gimplify.c:4251
++#: gimplify.c:4406
+ #, gcc-internal-format
+ msgid "non-memory input %d must stay in memory"
+ msgstr ""
+
+-#: gimplify.c:4264
++#: gimplify.c:4419
+ #, gcc-internal-format
+ msgid "memory input %d is not directly addressable"
+ msgstr ""
+
+-#: gimplify.c:4743
++#: gimplify.c:4898
+ #, gcc-internal-format
+ msgid "%qs not specified in enclosing parallel"
+ msgstr ""
+
+-#: gimplify.c:4745
++#: gimplify.c:4900
+ #, gcc-internal-format
+ msgid "%Henclosing parallel"
+ msgstr ""
+
+-#: gimplify.c:4799
++#: gimplify.c:4954
+ #, fuzzy, gcc-internal-format
+ msgid "iteration variable %qs should be private"
+ msgstr "statische variable %qs is als dllimport aangeduid"
+
+-#: gimplify.c:4813
++#: gimplify.c:4968
+ #, fuzzy, gcc-internal-format
+ msgid "iteration variable %qs should not be firstprivate"
+ msgstr "statische variable %qs is als dllimport aangeduid"
+
+-#: gimplify.c:4816
++#: gimplify.c:4971
+ #, fuzzy, gcc-internal-format
+ msgid "iteration variable %qs should not be reduction"
+ msgstr "registervariabele %qs gebruikt in geneste functie"
+
+-#: gimplify.c:4940
++#: gimplify.c:5095
+ #, fuzzy, gcc-internal-format
+ msgid "%s variable %qs is private in outer context"
+ msgstr "registervariabele %qs gebruikt in geneste functie"
+
+-#: gimplify.c:6108
++#: gimplify.c:6281
+ #, gcc-internal-format
+ msgid "gimplification failed"
+ msgstr ""
+@@ -22699,7 +22656,7 @@
+ msgid "%s cannot be used in asm here"
+ msgstr "veld %qs als een functie gedeclareerd"
+
+-#: graph.c:401 java/jcf-parse.c:1757 java/jcf-parse.c:1897 objc/objc-act.c:500
++#: graph.c:401 java/jcf-parse.c:1759 java/jcf-parse.c:1899 objc/objc-act.c:500
+ #, fuzzy, gcc-internal-format
+ msgid "can't open %s: %m"
+ msgstr "open %s"
+@@ -22709,159 +22666,164 @@
+ msgid "fix_sched_param: unknown param: %s"
+ msgstr ""
+
+-#: omp-low.c:1288
++#: omp-low.c:1289
+ #, gcc-internal-format
+ msgid "work-sharing region may not be closely nested inside of work-sharing, critical, ordered or master region"
+ msgstr ""
+
+-#: omp-low.c:1304
++#: omp-low.c:1305
+ #, gcc-internal-format
+ msgid "master region may not be closely nested inside of work-sharing region"
+ msgstr ""
+
+-#: omp-low.c:1318
++#: omp-low.c:1319
+ #, gcc-internal-format
+ msgid "ordered region may not be closely nested inside of critical region"
+ msgstr ""
+
+-#: omp-low.c:1324
++#: omp-low.c:1325
+ #, gcc-internal-format
+ msgid "ordered region must be closely nested inside a loop region with an ordered clause"
+ msgstr ""
+
+-#: omp-low.c:1338
++#: omp-low.c:1339
+ #, gcc-internal-format
+ msgid "critical region may not be nested inside a critical region with the same name"
+ msgstr ""
+
+-#: omp-low.c:5050 cp/decl.c:2660 cp/parser.c:7417 cp/parser.c:7437
++#: omp-low.c:5116 cp/decl.c:2667 cp/parser.c:7423 cp/parser.c:7443
+ #, gcc-internal-format
+ msgid "invalid exit from OpenMP structured block"
+ msgstr ""
+
+-#: omp-low.c:5052
++#: omp-low.c:5118
+ #, gcc-internal-format
+ msgid "invalid entry to OpenMP structured block"
+ msgstr ""
+
+-#: opts.c:173
++#: opts.c:165
+ #, fuzzy, gcc-internal-format
+ msgid "argument %qs to %<-femit-struct-debug-detailed%> not recognized"
+ msgstr "taal %s niet herkend"
+
+-#: opts.c:207
++#: opts.c:199
+ #, gcc-internal-format
+ msgid "argument %qs to %<-femit-struct-debug-detailed%> unknown"
+ msgstr ""
+
+-#: opts.c:213
++#: opts.c:205
+ #, gcc-internal-format
+ msgid "%<-femit-struct-debug-detailed=dir:...%> must allow at least as much as %<-femit-struct-debug-detailed=ind:...%>"
+ msgstr ""
+
+ #. Eventually this should become a hard error IMO.
+-#: opts.c:438
++#: opts.c:430
+ #, gcc-internal-format
+ msgid "command line option \"%s\" is valid for %s but not for %s"
+ msgstr ""
+
+-#: opts.c:492
++#: opts.c:484
+ #, fuzzy, gcc-internal-format
+ msgid "command line option %qs is not supported by this configuration"
+ msgstr "alias-definities worden niet ondersteund in deze configuratie; genegeerd"
+
+-#: opts.c:545
++#: opts.c:537
+ #, fuzzy, gcc-internal-format
+ msgid "missing argument to \"%s\""
+ msgstr "Bestandsnaam ontbreekt na %qs optie"
+
+-#: opts.c:555
++#: opts.c:547
+ #, gcc-internal-format
+ msgid "argument to \"%s\" should be a non-negative integer"
+ msgstr "argument voor \"%s\" moet een niet-negatieve integer zijn"
+
+ # Moet 'command line' vertaald worden?
+-#: opts.c:728
++#: opts.c:720
+ #, fuzzy, gcc-internal-format
+ msgid "unrecognized command line option \"%s\""
+ msgstr "Foldernaam ontbreekt na command-line optie"
+
+-#: opts.c:947
++#: opts.c:939
+ #, gcc-internal-format
+ msgid "-Wuninitialized is not supported without -O"
+ msgstr "-Wuninitialized wordt niet ondersteund zonder -O"
+
+-#: opts.c:962
++#: opts.c:951
+ #, gcc-internal-format
++msgid "-funit-at-a-time is required for inlining of functions that are only called once"
++msgstr ""
++
++#: opts.c:964
++#, gcc-internal-format
+ msgid "-freorder-blocks-and-partition does not work with exceptions"
+ msgstr ""
+
+-#: opts.c:973
++#: opts.c:975
+ #, gcc-internal-format
+ msgid "-freorder-blocks-and-partition does not support unwind info"
+ msgstr ""
+
+-#: opts.c:987
++#: opts.c:989
+ #, gcc-internal-format
+ msgid "-freorder-blocks-and-partition does not work on this architecture"
+ msgstr ""
+
+-#: opts.c:1263
++#: opts.c:1265
+ #, gcc-internal-format
+ msgid "unrecognized include_flags 0x%x passed to print_specific_help"
+ msgstr ""
+
+-#: opts.c:1593
++#: opts.c:1595
+ #, fuzzy, gcc-internal-format
+ msgid "structure alignment must be a small power of two, not %d"
+ msgstr "Alignment moet een kleine macht van twee zijn, en niet %d, in #pragma pack"
+
+-#: opts.c:1656
++#: opts.c:1658
+ #, fuzzy, gcc-internal-format
+ msgid "unrecognized visibility value \"%s\""
+ msgstr "signature-string niet herkend"
+
+-#: opts.c:1704
++#: opts.c:1706
+ #, fuzzy, gcc-internal-format
+ msgid "unrecognized register name \"%s\""
+ msgstr "geen argumenten"
+
+-#: opts.c:1728
++#: opts.c:1730
+ #, fuzzy, gcc-internal-format
+ msgid "unknown tls-model \"%s\""
+ msgstr "onbekende machine-modus %qs"
+
+-#: opts.c:1803
++#: opts.c:1807
+ #, gcc-internal-format
+ msgid "%s: --param arguments should be of the form NAME=VALUE"
+ msgstr ""
+
+-#: opts.c:1808
++#: opts.c:1812
+ #, fuzzy, gcc-internal-format
+ msgid "invalid --param value %qs"
+ msgstr "ongeldige registernaam voor %qs"
+
+-#: opts.c:1931
++#: opts.c:1934
+ #, fuzzy, gcc-internal-format
+ msgid "target system does not support debug output"
+ msgstr "doelformaat ondersteunt geen oneindige waarde"
+
+-#: opts.c:1938
++#: opts.c:1941
+ #, fuzzy, gcc-internal-format
+ msgid "debug format \"%s\" conflicts with prior selection"
+ msgstr "sectie van %qs geeft een conflict met een eerdere declaratie"
+
+-#: opts.c:1954
++#: opts.c:1957
+ #, fuzzy, gcc-internal-format
+ msgid "unrecognised debug output level \"%s\""
+ msgstr "signature-string niet herkend"
+
+-#: opts.c:1956
++#: opts.c:1959
+ #, gcc-internal-format
+ msgid "debug output level %s is too high"
+ msgstr ""
+
+-#: opts.c:2038
++#: opts.c:2041
+ #, gcc-internal-format
+ msgid "-Werror=%s: No option -%s"
+ msgstr ""
+@@ -22937,9 +22899,9 @@
+ msgid "can't use '%s' as a %s register"
+ msgstr ""
+
+-#: regclass.c:890 config/ia64/ia64.c:5138 config/ia64/ia64.c:5145
+-#: config/pa/pa.c:359 config/pa/pa.c:366 config/spu/spu.c:3886
+-#: config/spu/spu.c:3893
++#: regclass.c:890 config/ia64/ia64.c:5139 config/ia64/ia64.c:5146
++#: config/pa/pa.c:362 config/pa/pa.c:369 config/spu/spu.c:3875
++#: config/spu/spu.c:3882
+ #, gcc-internal-format
+ msgid "unknown register name: %s"
+ msgstr ""
+@@ -22979,22 +22941,22 @@
+ msgid "validate_value_data: [%u] Non-empty reg in chain (%s %u %i)"
+ msgstr ""
+
+-#: reload.c:1252
++#: reload.c:1256
+ #, gcc-internal-format
+ msgid "cannot reload integer constant operand in %<asm%>"
+ msgstr ""
+
+-#: reload.c:1266
++#: reload.c:1270
+ #, fuzzy, gcc-internal-format
+ msgid "impossible register constraint in %<asm%>"
+ msgstr "incompatibele operands voor %s"
+
+-#: reload.c:3564
++#: reload.c:3574
+ #, fuzzy, gcc-internal-format
+ msgid "%<&%> constraint used with no register class"
+ msgstr "numerieke constante zonder cijfers"
+
+-#: reload.c:3735 reload.c:3975
++#: reload.c:3745 reload.c:3991
+ #, fuzzy, gcc-internal-format
+ msgid "inconsistent operand constraints in an %<asm%>"
+ msgstr "incompatibele operands voor %s"
+@@ -23219,49 +23181,49 @@
+ msgid "size of %q+D is larger than %wd bytes"
+ msgstr "grootte van %qs is %u bytes"
+
+-#: stor-layout.c:899
++#: stor-layout.c:888
+ #, fuzzy, gcc-internal-format
+ msgid "packed attribute causes inefficient alignment for %q+D"
+ msgstr "het %<%s%> attribuut wordt genegeerd voor %qs"
+
+-#: stor-layout.c:902
++#: stor-layout.c:891
+ #, fuzzy, gcc-internal-format
+ msgid "packed attribute is unnecessary for %q+D"
+ msgstr "het %<%s%> attribuut wordt genegeerd voor %qs"
+
+ #. No, we need to skip space before this field.
+ #. Bump the cumulative size to multiple of field alignment.
+-#: stor-layout.c:919
++#: stor-layout.c:908
+ #, gcc-internal-format
+ msgid "padding struct to align %q+D"
+ msgstr ""
+
+-#: stor-layout.c:1270
++#: stor-layout.c:1259
+ #, gcc-internal-format
+ msgid "padding struct size to alignment boundary"
+ msgstr ""
+
+-#: stor-layout.c:1300
++#: stor-layout.c:1289
+ #, gcc-internal-format
+ msgid "packed attribute causes inefficient alignment for %qs"
+ msgstr ""
+
+-#: stor-layout.c:1304
++#: stor-layout.c:1293
+ #, fuzzy, gcc-internal-format
+ msgid "packed attribute is unnecessary for %qs"
+ msgstr "het %<%s%> attribuut wordt genegeerd voor %qs"
+
+-#: stor-layout.c:1310
++#: stor-layout.c:1299
+ #, gcc-internal-format
+ msgid "packed attribute causes inefficient alignment"
+ msgstr ""
+
+-#: stor-layout.c:1312
++#: stor-layout.c:1301
+ #, gcc-internal-format
+ msgid "packed attribute is unnecessary"
+ msgstr ""
+
+-#: stor-layout.c:1842
++#: stor-layout.c:1831
+ #, fuzzy, gcc-internal-format
+ msgid "alignment of array elements is greater than element size"
+ msgstr "alignment van %qs is groter dan het maximale alignment van het objectbestand. %d wordt gebruikt."
+@@ -23347,643 +23309,653 @@
+ msgid "unrecognized gcc debugging option: %c"
+ msgstr ""
+
+-#: toplev.c:1411
++#: toplev.c:1413
+ #, fuzzy, gcc-internal-format
+ msgid "can%'t open %s for writing: %m"
+ msgstr "open %s"
+
+-#: toplev.c:1432
++#: toplev.c:1434
+ #, fuzzy, gcc-internal-format
+ msgid "-frecord-gcc-switches is not supported by the current target"
+ msgstr "sectie-attributen worden niet ondersteund voor dit doelsysteem"
+
+-#: toplev.c:1745
++#: toplev.c:1747
+ #, fuzzy, gcc-internal-format
+ msgid "this target does not support %qs"
+ msgstr "%s ondersteunt %s niet"
+
+-#: toplev.c:1794
++#: toplev.c:1796
+ #, gcc-internal-format
+ msgid "instruction scheduling not supported on this target machine"
+ msgstr "instructie-scheduling wordt niet ondersteund op deze doelmachine"
+
+-#: toplev.c:1798
++#: toplev.c:1800
+ #, gcc-internal-format
+ msgid "this target machine does not have delayed branches"
+ msgstr "deze doelmachine heeft geen delayed branches"
+
+-#: toplev.c:1812
++#: toplev.c:1814
+ #, gcc-internal-format
+ msgid "-f%sleading-underscore not supported on this target machine"
+ msgstr "-f%sleading-underscore wordt niet ondersteund op deze doelmachine"
+
+-#: toplev.c:1885
++#: toplev.c:1887
+ #, fuzzy, gcc-internal-format
+ msgid "target system does not support the \"%s\" debug format"
+ msgstr "%s ondersteunt het %<%%%s%c%> %s formaat niet"
+
+-#: toplev.c:1898
++#: toplev.c:1900
+ #, gcc-internal-format
+ msgid "variable tracking requested, but useless unless producing debug info"
+ msgstr ""
+
+-#: toplev.c:1901
++#: toplev.c:1903
+ #, gcc-internal-format
+ msgid "variable tracking requested, but not supported by this debug format"
+ msgstr ""
+
+-#: toplev.c:1935
++#: toplev.c:1937
+ #, fuzzy, gcc-internal-format
+ msgid "can%'t open %s: %m"
+ msgstr "open %s"
+
+-#: toplev.c:1942
++#: toplev.c:1944
+ #, fuzzy, gcc-internal-format
+ msgid "-ffunction-sections not supported for this target"
+ msgstr "sectie-attributen worden niet ondersteund voor dit doelsysteem"
+
+-#: toplev.c:1947
++#: toplev.c:1949
+ #, fuzzy, gcc-internal-format
+ msgid "-fdata-sections not supported for this target"
+ msgstr "sectie-attributen worden niet ondersteund voor dit doelsysteem"
+
+-#: toplev.c:1954
++#: toplev.c:1956
+ #, gcc-internal-format
+ msgid "-ffunction-sections disabled; it makes profiling impossible"
+ msgstr ""
+
+-#: toplev.c:1961
++#: toplev.c:1963
+ #, fuzzy, gcc-internal-format
+ msgid "-fprefetch-loop-arrays not supported for this target"
+ msgstr "sectie-attributen worden niet ondersteund voor dit doelsysteem"
+
+-#: toplev.c:1967
++#: toplev.c:1969
+ #, fuzzy, gcc-internal-format
+ msgid "-fprefetch-loop-arrays not supported for this target (try -march switches)"
+ msgstr "-f%sleading-underscore wordt niet ondersteund op deze doelmachine"
+
+-#: toplev.c:1976
++#: toplev.c:1978
+ #, fuzzy, gcc-internal-format
+ msgid "-fprefetch-loop-arrays is not supported with -Os"
+ msgstr "sectie-attributen worden niet ondersteund op dit doelsysteem"
+
+-#: toplev.c:1983
++#: toplev.c:1985
+ #, gcc-internal-format
+ msgid "-ffunction-sections may affect debugging on some targets"
+ msgstr ""
+
+-#: toplev.c:1999
++#: toplev.c:1996
++#, gcc-internal-format
++msgid "-fassociative-math disabled; other options take precedence"
++msgstr ""
++
++#: toplev.c:2008
+ #, fuzzy, gcc-internal-format
+ msgid "-fstack-protector not supported for this target"
+ msgstr "sectie-attributen worden niet ondersteund voor dit doelsysteem"
+
+-#: toplev.c:2012
++#: toplev.c:2021
+ #, gcc-internal-format
+-msgid "unwind tables currently requires a frame pointer for correctness"
++msgid "unwind tables currently require a frame pointer for correctness"
+ msgstr ""
+
+-#: toplev.c:2198
++#: toplev.c:2207
+ #, fuzzy, gcc-internal-format
+ msgid "error writing to %s: %m"
+ msgstr "kan bestand '%s' niet openen"
+
+-#: toplev.c:2200 java/jcf-parse.c:1776
++#: toplev.c:2209 java/jcf-parse.c:1778
+ #, fuzzy, gcc-internal-format
+ msgid "error closing %s: %m"
+ msgstr "#error %s"
+
+-#: tree-cfg.c:1432 tree-cfg.c:2068 tree-cfg.c:2071
++#: tree-cfg.c:1451 tree-cfg.c:2087 tree-cfg.c:2090
+ #, gcc-internal-format
+ msgid "%Hwill never be executed"
+ msgstr ""
+
+-#: tree-cfg.c:3134
++#: tree-cfg.c:3153
+ #, gcc-internal-format
+ msgid "SSA name in freelist but still referenced"
+ msgstr ""
+
+-#: tree-cfg.c:3143
++#: tree-cfg.c:3162
+ #, gcc-internal-format
+ msgid "ASSERT_EXPR with an always-false condition"
+ msgstr ""
+
+-#: tree-cfg.c:3156
++#: tree-cfg.c:3175
+ #, gcc-internal-format
+ msgid "GIMPLE register modified with BIT_FIELD_REF"
+ msgstr ""
+
+-#: tree-cfg.c:3191
++#: tree-cfg.c:3210
+ #, gcc-internal-format
+ msgid "invariant not recomputed when ADDR_EXPR changed"
+ msgstr ""
+
+-#: tree-cfg.c:3197
++#: tree-cfg.c:3216
+ #, gcc-internal-format
+ msgid "constant not recomputed when ADDR_EXPR changed"
+ msgstr ""
+
+-#: tree-cfg.c:3202
++#: tree-cfg.c:3221
+ #, gcc-internal-format
+ msgid "side effects not recomputed when ADDR_EXPR changed"
+ msgstr ""
+
+-#: tree-cfg.c:3218
++#: tree-cfg.c:3237
+ #, gcc-internal-format
+ msgid "address taken, but ADDRESSABLE bit not set"
+ msgstr ""
+
+-#: tree-cfg.c:3228
++#: tree-cfg.c:3252
+ #, fuzzy, gcc-internal-format
+ msgid "non-integral used in condition"
+ msgstr "herdefinitie van %<union %s%>"
+
+-#: tree-cfg.c:3233
++#: tree-cfg.c:3257
+ #, fuzzy, gcc-internal-format
+ msgid "invalid conditional operand"
+ msgstr "ongeldige const_double operand"
+
+-#: tree-cfg.c:3285
++#: tree-cfg.c:3309
+ #, fuzzy, gcc-internal-format
+ msgid "invalid reference prefix"
+ msgstr "Ongeldige modus voor gen_tst_reg"
+
+-#: tree-cfg.c:3296
++#: tree-cfg.c:3320
+ #, fuzzy, gcc-internal-format
+ msgid "invalid operand to plus/minus, type is a pointer"
+ msgstr "ongeldige operand in de instructie"
+
+-#: tree-cfg.c:3307
++#: tree-cfg.c:3331
+ #, gcc-internal-format
+ msgid "invalid operand to pointer plus, first operand is not a pointer"
+ msgstr ""
+
+-#: tree-cfg.c:3315
++#: tree-cfg.c:3339
+ #, gcc-internal-format
+ msgid "invalid operand to pointer plus, second operand is not an integer with type of sizetype."
+ msgstr ""
+
+-#: tree-cfg.c:3382 tree-cfg.c:3798
++#: tree-cfg.c:3406 tree-cfg.c:3822
+ #, fuzzy, gcc-internal-format
+ msgid "invalid operand in unary expression"
+ msgstr "ongeldige operanden voor binaire %s-operator"
+
+-#: tree-cfg.c:3392
++#: tree-cfg.c:3416
+ #, fuzzy, gcc-internal-format
+ msgid "type mismatch in unary expression"
+ msgstr "types in voorwaardelijke expressie komen niet overeen"
+
+-#: tree-cfg.c:3413
++#: tree-cfg.c:3437
+ #, fuzzy, gcc-internal-format
+ msgid "invalid operands in binary expression"
+ msgstr "ongeldige operanden voor binaire %s-operator"
+
+-#: tree-cfg.c:3424
++#: tree-cfg.c:3448
+ #, fuzzy, gcc-internal-format
+ msgid "type mismatch in binary expression"
+ msgstr "types in voorwaardelijke expressie komen niet overeen"
+
+-#: tree-cfg.c:3449
++#: tree-cfg.c:3473
+ #, fuzzy, gcc-internal-format
+ msgid "invalid expression for min lvalue"
+ msgstr "ongeldige expressie als operand"
+
+-#: tree-cfg.c:3456
++#: tree-cfg.c:3480
+ #, fuzzy, gcc-internal-format
+ msgid "invalid operand in indirect reference"
+ msgstr "ongeldige operand in de instructie"
+
+-#: tree-cfg.c:3463
++#: tree-cfg.c:3487
+ #, fuzzy, gcc-internal-format
+ msgid "type mismatch in indirect reference"
+ msgstr "types in voorwaardelijke expressie komen niet overeen"
+
+-#: tree-cfg.c:3491
++#: tree-cfg.c:3515
+ #, fuzzy, gcc-internal-format
+ msgid "invalid operands to array reference"
+ msgstr "Ongeldige vorm van arrayverwijzing op %C"
+
+-#: tree-cfg.c:3502
++#: tree-cfg.c:3526
+ #, fuzzy, gcc-internal-format
+ msgid "type mismatch in array reference"
+ msgstr "subscript ontbreekt in array-referentie"
+
+-#: tree-cfg.c:3511
++#: tree-cfg.c:3535
+ #, fuzzy, gcc-internal-format
+ msgid "type mismatch in array range reference"
+ msgstr "subscript ontbreekt in array-referentie"
+
+-#: tree-cfg.c:3522
++#: tree-cfg.c:3546
+ #, fuzzy, gcc-internal-format
+ msgid "type mismatch in real/imagpart reference"
+ msgstr "types in voorwaardelijke expressie komen niet overeen"
+
+-#: tree-cfg.c:3532
++#: tree-cfg.c:3556
+ #, fuzzy, gcc-internal-format
+ msgid "type mismatch in component reference"
+ msgstr "types in voorwaardelijke expressie komen niet overeen"
+
+-#: tree-cfg.c:3586
++#: tree-cfg.c:3610
+ #, fuzzy, gcc-internal-format
+ msgid "invalid operand in conversion"
+ msgstr "ongeldige operand in de instructie"
+
+-#: tree-cfg.c:3614
++#: tree-cfg.c:3638
+ #, fuzzy, gcc-internal-format
+ msgid "invalid types in nop conversion"
+ msgstr "Ongeldig token in expressie"
+
+-#: tree-cfg.c:3628
++#: tree-cfg.c:3652
+ #, fuzzy, gcc-internal-format
+ msgid "invalid operand in int to float conversion"
+ msgstr "ongeldige operand in de instructie"
+
+-#: tree-cfg.c:3634
++#: tree-cfg.c:3658
+ #, fuzzy, gcc-internal-format
+ msgid "invalid types in conversion to floating point"
+ msgstr "ongeldige conversie naar %<__fpreg%>"
+
+-#: tree-cfg.c:3647
++#: tree-cfg.c:3671
+ #, fuzzy, gcc-internal-format
+ msgid "invalid operand in float to int conversion"
+ msgstr "ongeldige operand in de instructie"
+
+-#: tree-cfg.c:3653
++#: tree-cfg.c:3677
+ #, fuzzy, gcc-internal-format
+ msgid "invalid types in conversion to integer"
+ msgstr "ongeldige conversie naar %<__fpreg%>"
+
+-#: tree-cfg.c:3667
++#: tree-cfg.c:3691
+ #, fuzzy, gcc-internal-format
+ msgid "invalid operands in complex expression"
+ msgstr "ongeldige operand in de instructie"
+
+-#: tree-cfg.c:3680
++#: tree-cfg.c:3704
+ #, fuzzy, gcc-internal-format
+ msgid "type mismatch in complex expression"
+ msgstr "types in voorwaardelijke expressie komen niet overeen"
+
+-#: tree-cfg.c:3694
++#: tree-cfg.c:3718
+ #, gcc-internal-format
+ msgid "constructor not allowed for non-vector types"
+ msgstr ""
+
+-#: tree-cfg.c:3711
++#: tree-cfg.c:3735
+ #, fuzzy, gcc-internal-format
+ msgid "invalid operands in shift expression"
+ msgstr "ongeldige operand in de instructie"
+
+-#: tree-cfg.c:3717
++#: tree-cfg.c:3741
+ #, fuzzy, gcc-internal-format
+ msgid "type mismatch in shift expression"
+ msgstr "types in voorwaardelijke expressie komen niet overeen"
+
+-#: tree-cfg.c:3735
++#: tree-cfg.c:3759
+ #, fuzzy, gcc-internal-format
+ msgid "invalid (pointer) operands to plus/minus"
+ msgstr "ongeldige operanden voor binaire %s-operator"
+
+-#: tree-cfg.c:3748
++#: tree-cfg.c:3772
+ #, fuzzy, gcc-internal-format
+ msgid "invalid operands in pointer plus expression"
+ msgstr "ongeldige operand in de instructie"
+
+-#: tree-cfg.c:3755
++#: tree-cfg.c:3779
+ #, fuzzy, gcc-internal-format
+ msgid "type mismatch in pointer plus expression"
+ msgstr "types in voorwaardelijke expressie komen niet overeen"
+
+-#: tree-cfg.c:3774
++#: tree-cfg.c:3798
+ #, fuzzy, gcc-internal-format
+ msgid "invalid operands in conditional expression"
+ msgstr "types in voorwaardelijke expressie komen niet overeen"
+
+-#: tree-cfg.c:3807
++#: tree-cfg.c:3831
+ #, fuzzy, gcc-internal-format
+ msgid "type mismatch in address expression"
+ msgstr "types in voorwaardelijke expressie komen niet overeen"
+
+-#: tree-cfg.c:3827
++#: tree-cfg.c:3851
+ #, fuzzy, gcc-internal-format
+ msgid "invalid operands in truth expression"
+ msgstr "ongeldige operand in de instructie"
+
+-#: tree-cfg.c:3836
++#: tree-cfg.c:3860
+ #, fuzzy, gcc-internal-format
+ msgid "type mismatch in binary truth expression"
+ msgstr "types in voorwaardelijke expressie komen niet overeen"
+
+-#: tree-cfg.c:3852
++#: tree-cfg.c:3876
+ #, fuzzy, gcc-internal-format
+ msgid "invalid operand in unary not"
+ msgstr "ongeldige operanden voor binaire %s-operator"
+
+-#: tree-cfg.c:3861
++#: tree-cfg.c:3885
+ #, fuzzy, gcc-internal-format
+ msgid "type mismatch in not expression"
+ msgstr "types in voorwaardelijke expressie komen niet overeen"
+
+-#: tree-cfg.c:3900
++#: tree-cfg.c:3924
+ #, fuzzy, gcc-internal-format
+ msgid "invalid operands in comparison expression"
+ msgstr "ongeldig gebruik van een void-expressie"
+
+-#: tree-cfg.c:3917
++#: tree-cfg.c:3941
+ #, fuzzy, gcc-internal-format
+ msgid "type mismatch in comparison expression"
+ msgstr "types in voorwaardelijke expressie komen niet overeen"
+
+-#: tree-cfg.c:3947
++#: tree-cfg.c:3971
+ #, fuzzy, gcc-internal-format
+ msgid "non-trivial conversion at assignment"
+ msgstr "ongeldige lvalue in toewijzing"
+
+-#: tree-cfg.c:3988 tree-cfg.c:4136
++#: tree-cfg.c:4012 tree-cfg.c:4160
+ #, fuzzy, gcc-internal-format
+ msgid "is not a valid GIMPLE statement"
+ msgstr "ongeldige beginwaarde"
+
+-#: tree-cfg.c:4015
++#: tree-cfg.c:4039
+ #, fuzzy, gcc-internal-format
+ msgid "invalid operand to switch statement"
+ msgstr "ongeldige operand voor %%s-code"
+
+-#: tree-cfg.c:4026
++#: tree-cfg.c:4050
+ #, fuzzy, gcc-internal-format
+ msgid "type error in return expression"
+ msgstr "overflow in constante expressie"
+
+-#: tree-cfg.c:4104
++#: tree-cfg.c:4128
+ #, gcc-internal-format
+ msgid "verify_gimple failed"
+ msgstr ""
+
+-#: tree-cfg.c:4156
++#: tree-cfg.c:4180
+ #, gcc-internal-format
+ msgid "statement marked for throw, but doesn%'t"
+ msgstr ""
+
+-#: tree-cfg.c:4161
++#: tree-cfg.c:4185
+ #, gcc-internal-format
+ msgid "statement marked for throw in middle of block"
+ msgstr ""
+
+-#: tree-cfg.c:4232
++#: tree-cfg.c:4256
+ #, fuzzy, gcc-internal-format
+ msgid "unexpected non-tuple"
+ msgstr "ongeldige operand van %s"
+
+-#: tree-cfg.c:4261
++#: tree-cfg.c:4285
+ #, gcc-internal-format
+ msgid "Dead STMT in EH table"
+ msgstr ""
+
+-#: tree-cfg.c:4295
++#: tree-cfg.c:4319
+ #, gcc-internal-format
+ msgid "bb_for_stmt (phi) is set to a wrong basic block"
+ msgstr ""
+
+-#: tree-cfg.c:4306
++#: tree-cfg.c:4330
+ #, fuzzy, gcc-internal-format
+ msgid "missing PHI def"
+ msgstr "beginwaarde ontbreekt"
+
+-#: tree-cfg.c:4317
++#: tree-cfg.c:4341
+ #, gcc-internal-format
+ msgid "PHI def is not a GIMPLE value"
+ msgstr ""
+
+-#: tree-cfg.c:4333 tree-cfg.c:4359
++#: tree-cfg.c:4357 tree-cfg.c:4383
+ #, gcc-internal-format
+ msgid "incorrect sharing of tree nodes"
+ msgstr ""
+
+-#: tree-cfg.c:4350
++#: tree-cfg.c:4374
+ #, gcc-internal-format
+ msgid "bb_for_stmt (stmt) is set to a wrong basic block"
+ msgstr ""
+
+-#: tree-cfg.c:4373
++#: tree-cfg.c:4397
+ #, gcc-internal-format
+ msgid "verify_stmts failed"
+ msgstr ""
+
+-#: tree-cfg.c:4396
++#: tree-cfg.c:4420
+ #, gcc-internal-format
+ msgid "ENTRY_BLOCK has IL associated with it"
+ msgstr ""
+
+-#: tree-cfg.c:4402
++#: tree-cfg.c:4426
+ #, gcc-internal-format
+ msgid "EXIT_BLOCK has IL associated with it"
+ msgstr ""
+
+-#: tree-cfg.c:4409
++#: tree-cfg.c:4433
+ #, gcc-internal-format
+ msgid "fallthru to exit from bb %d"
+ msgstr ""
+
+-#: tree-cfg.c:4431
++#: tree-cfg.c:4455
+ #, gcc-internal-format
+ msgid "nonlocal label "
+ msgstr ""
+
+-#: tree-cfg.c:4440 tree-cfg.c:4450 tree-cfg.c:4475
++#: tree-cfg.c:4464 tree-cfg.c:4474 tree-cfg.c:4499
+ #, gcc-internal-format
+ msgid "label "
+ msgstr ""
+
+-#: tree-cfg.c:4465
++#: tree-cfg.c:4489
+ #, gcc-internal-format
+ msgid "control flow in the middle of basic block %d"
+ msgstr ""
+
+-#: tree-cfg.c:4495
++#: tree-cfg.c:4519
+ #, gcc-internal-format
+ msgid "fallthru edge after a control statement in bb %d"
+ msgstr ""
+
+-#: tree-cfg.c:4508
++#: tree-cfg.c:4532
+ #, gcc-internal-format
+ msgid "true/false edge after a non-COND_EXPR in bb %d"
+ msgstr ""
+
+-#: tree-cfg.c:4524
++#: tree-cfg.c:4548
+ #, gcc-internal-format
+ msgid "COND_EXPR with code in branches at the end of bb %d"
+ msgstr ""
+
+-#: tree-cfg.c:4538 tree-cfg.c:4560 tree-cfg.c:4573 tree-cfg.c:4644
++#: tree-cfg.c:4562 tree-cfg.c:4584 tree-cfg.c:4597 tree-cfg.c:4668
+ #, gcc-internal-format
+ msgid "wrong outgoing edge flags at end of bb %d"
+ msgstr ""
+
+-#: tree-cfg.c:4548
++#: tree-cfg.c:4572
+ #, fuzzy, gcc-internal-format
+ msgid "explicit goto at end of bb %d"
+ msgstr "eerdere impliciete declaratie van %qs"
+
+-#: tree-cfg.c:4578
++#: tree-cfg.c:4602
+ #, gcc-internal-format
+ msgid "return edge does not point to exit in bb %d"
+ msgstr ""
+
+-#: tree-cfg.c:4611
++#: tree-cfg.c:4635
+ #, gcc-internal-format
+ msgid "found default case not at end of case vector"
+ msgstr ""
+
+-#: tree-cfg.c:4617
++#: tree-cfg.c:4641
+ #, fuzzy, gcc-internal-format
+ msgid "case labels not sorted: "
+ msgstr "-pipe wordt niet ondersteund"
+
+-#: tree-cfg.c:4628
++#: tree-cfg.c:4652
+ #, gcc-internal-format
+ msgid "no default case found at end of case vector"
+ msgstr ""
+
+-#: tree-cfg.c:4636
++#: tree-cfg.c:4660
+ #, gcc-internal-format
+ msgid "extra outgoing edge %d->%d"
+ msgstr ""
+
+-#: tree-cfg.c:4658
++#: tree-cfg.c:4682
+ #, fuzzy, gcc-internal-format
+ msgid "missing edge %i->%i"
+ msgstr "beginwaarde ontbreekt"
+
+-#: tree-cfg.c:6941 tree-cfg.c:6945
++#: tree-cfg.c:7025 tree-cfg.c:7029
+ #, fuzzy, gcc-internal-format
+ msgid "%H%<noreturn%> function does return"
+ msgstr "%<noreturn%> functie keert terug"
+
+-#: tree-cfg.c:6967 tree-cfg.c:6972
++#: tree-cfg.c:7051 tree-cfg.c:7056
+ #, fuzzy, gcc-internal-format
+ msgid "%Hcontrol reaches end of non-void function"
+ msgstr "einde van niet-void functie werd bereikt zonder teruggeefwaarde"
+
+-#: tree-cfg.c:7033
++#: tree-cfg.c:7117
+ #, fuzzy, gcc-internal-format
+ msgid "%Jfunction might be possible candidate for attribute %<noreturn%>"
+ msgstr "deze functie is een mogelijke kandidaat voor het %<noreturn%> attribuut"
+
+-#: tree-dump.c:933
++#: tree-dump.c:932
+ #, fuzzy, gcc-internal-format
+ msgid "could not open dump file %qs: %s"
+ msgstr "kan bestand '%s' niet openen"
+
+-#: tree-dump.c:1068
++#: tree-dump.c:1067
+ #, gcc-internal-format
+ msgid "ignoring unknown option %q.*s in %<-fdump-%s%>"
+ msgstr ""
+
+-#: tree-eh.c:1788
++#: tree-eh.c:1805
+ #, fuzzy, gcc-internal-format
+ msgid "EH edge %i->%i is missing"
+ msgstr "het argument van '-%s' ontbreekt"
+
+-#: tree-eh.c:1793
++#: tree-eh.c:1810
+ #, gcc-internal-format
+ msgid "EH edge %i->%i miss EH flag"
+ msgstr ""
+
+ #. ??? might not be mistake.
+-#: tree-eh.c:1799
++#: tree-eh.c:1816
+ #, gcc-internal-format
+ msgid "EH edge %i->%i has duplicated regions"
+ msgstr ""
+
+-#: tree-eh.c:1833
++#: tree-eh.c:1850
+ #, gcc-internal-format
+ msgid "BB %i can not throw but has EH edges"
+ msgstr ""
+
+-#: tree-eh.c:1840
++#: tree-eh.c:1857
+ #, gcc-internal-format
+ msgid "BB %i last statement has incorrectly set region"
+ msgstr ""
+
+-#: tree-eh.c:1851
++#: tree-eh.c:1868
+ #, fuzzy, gcc-internal-format
+ msgid "unnecessary EH edge %i->%i"
+ msgstr "beginwaarde ontbreekt"
+
+-#: tree-inline.c:1830
++#: tree-inline.c:1880
+ #, gcc-internal-format
+ msgid "function %q+F can never be inlined because it uses alloca (override using the always_inline attribute)"
+ msgstr ""
+
+-#: tree-inline.c:1842
++#: tree-inline.c:1892
+ #, gcc-internal-format
+ msgid "function %q+F can never be inlined because it uses setjmp"
+ msgstr ""
+
+-#: tree-inline.c:1856
++#: tree-inline.c:1906
+ #, gcc-internal-format
+ msgid "function %q+F can never be inlined because it uses variable argument lists"
+ msgstr ""
+
+-#: tree-inline.c:1867
++#: tree-inline.c:1917
+ #, gcc-internal-format
+ msgid "function %q+F can never be inlined because it uses setjmp-longjmp exception handling"
+ msgstr ""
+
+-#: tree-inline.c:1874
++#: tree-inline.c:1924
+ #, gcc-internal-format
+ msgid "function %q+F can never be inlined because it uses non-local goto"
+ msgstr ""
+
+-#: tree-inline.c:1885
++#: tree-inline.c:1935
+ #, gcc-internal-format
+ msgid "function %q+F can never be inlined because it uses __builtin_return or __builtin_apply_args"
+ msgstr ""
+
+-#: tree-inline.c:1904
++#: tree-inline.c:1954
+ #, gcc-internal-format
+ msgid "function %q+F can never be inlined because it contains a computed goto"
+ msgstr ""
+
+-#: tree-inline.c:1918
++#: tree-inline.c:1968
+ #, gcc-internal-format
+ msgid "function %q+F can never be inlined because it receives a non-local goto"
+ msgstr ""
+
+-#: tree-inline.c:1943
++#: tree-inline.c:1993
+ #, gcc-internal-format
+ msgid "function %q+F can never be inlined because it uses variable sized variables"
+ msgstr ""
+
+-#: tree-inline.c:2005
++#: tree-inline.c:2015
+ #, gcc-internal-format
++msgid "function %q+F can never be inlined because it saves address of local label in a static variable"
++msgstr ""
++
++#: tree-inline.c:2091
++#, gcc-internal-format
+ msgid "function %q+F can never be inlined because it is suppressed using -fno-inline"
+ msgstr ""
+
+-#: tree-inline.c:2019
++#: tree-inline.c:2105
+ #, gcc-internal-format
+ msgid "function %q+F can never be inlined because it uses attributes conflicting with inlining"
+ msgstr ""
+
+-#: tree-inline.c:2588 tree-inline.c:2598
++#: tree-inline.c:2674 tree-inline.c:2684
+ #, fuzzy, gcc-internal-format
+ msgid "inlining failed in call to %q+F: %s"
+ msgstr "inline maken mislukt in oproep van %qs"
+
+-#: tree-inline.c:2589 tree-inline.c:2600
++#: tree-inline.c:2675 tree-inline.c:2686
+ #, gcc-internal-format
+ msgid "called from here"
+ msgstr "van hieruit opgeroepen"
+
+-#: tree-mudflap.c:860
++#: tree-mudflap.c:864
+ #, gcc-internal-format
+ msgid "mudflap checking not yet implemented for ARRAY_RANGE_REF"
+ msgstr ""
+
+-#: tree-mudflap.c:1044
++#: tree-mudflap.c:1050
+ #, gcc-internal-format
+ msgid "mudflap cannot track %qs in stub function"
+ msgstr ""
+
+-#: tree-mudflap.c:1272
++#: tree-mudflap.c:1279
+ #, gcc-internal-format
+ msgid "mudflap cannot track unknown size extern %qs"
+ msgstr ""
+@@ -24003,33 +23975,33 @@
+ msgid "size of return value of %q+D is larger than %wd bytes"
+ msgstr "grootte van teruggeefwaarde van %qs is %u bytes"
+
+-#: tree-outof-ssa.c:637 tree-outof-ssa.c:688 tree-ssa-coalesce.c:936
+-#: tree-ssa-coalesce.c:951 tree-ssa-coalesce.c:1163 tree-ssa-live.c:1043
++#: tree-outof-ssa.c:638 tree-outof-ssa.c:689 tree-ssa-coalesce.c:936
++#: tree-ssa-coalesce.c:951 tree-ssa-coalesce.c:1163 tree-ssa-live.c:1053
+ #, gcc-internal-format
+ msgid "SSA corruption"
+ msgstr ""
+
+-#: tree-outof-ssa.c:1105
++#: tree-outof-ssa.c:1263
+ #, gcc-internal-format
+ msgid " Pending stmts not issued on PRED edge (%d, %d)\n"
+ msgstr ""
+
+-#: tree-outof-ssa.c:1111
++#: tree-outof-ssa.c:1269
+ #, gcc-internal-format
+ msgid " Pending stmts not issued on SUCC edge (%d, %d)\n"
+ msgstr ""
+
+-#: tree-outof-ssa.c:1118
++#: tree-outof-ssa.c:1276
+ #, gcc-internal-format
+ msgid " Pending stmts not issued on ENTRY edge (%d, %d)\n"
+ msgstr ""
+
+-#: tree-outof-ssa.c:1124
++#: tree-outof-ssa.c:1282
+ #, gcc-internal-format
+ msgid " Pending stmts not issued on EXIT edge (%d, %d)\n"
+ msgstr ""
+
+-#: tree-profile.c:351
++#: tree-profile.c:356
+ #, gcc-internal-format
+ msgid "unimplemented functionality"
+ msgstr ""
+@@ -24219,154 +24191,159 @@
+ msgid "verify_ssa failed"
+ msgstr ""
+
+-#: tree-ssa.c:1284
++#: tree-ssa.c:1293
+ #, fuzzy, gcc-internal-format
+ msgid "%J%qD was declared here"
+ msgstr "%qs tevoren hier gedeclareerd"
+
+ #. We only do data flow with SSA_NAMEs, so that's all we
+ #. can warn about.
+-#: tree-ssa.c:1302
++#: tree-ssa.c:1311
+ #, fuzzy, gcc-internal-format
+ msgid "%H%qD is used uninitialized in this function"
+ msgstr "%qs is hier niet gedeclareerd (eerste gebruik in deze functie)"
+
+-#: tree-ssa.c:1340
++#: tree-ssa.c:1349
+ #, gcc-internal-format
+ msgid "%H%qD may be used uninitialized in this function"
+ msgstr ""
+
+-#: tree-vrp.c:4374
++#: tree-vrp.c:4384
+ #, fuzzy, gcc-internal-format
+ msgid "%Harray subscript is outside array bounds"
+ msgstr "array subscript is geen integer"
+
+-#: tree-vrp.c:4388
++#: tree-vrp.c:4398
+ #, fuzzy, gcc-internal-format
+ msgid "%Harray subscript is above array bounds"
+ msgstr "array subscript is geen integer"
+
+-#: tree-vrp.c:4395
++#: tree-vrp.c:4405
+ #, fuzzy, gcc-internal-format
+ msgid "%Harray subscript is below array bounds"
+ msgstr "array subscript is geen integer"
+
+-#: tree-vrp.c:5042
++#: tree-vrp.c:5058
+ #, gcc-internal-format
+ msgid "assuming signed overflow does not occur when simplifying conditional to constant"
+ msgstr ""
+
+-#: tree-vrp.c:5048
++#: tree-vrp.c:5064
+ #, gcc-internal-format
+ msgid "assuming signed overflow does not occur when simplifying conditional"
+ msgstr ""
+
+-#: tree.c:3951
++#: tree.c:3682
++#, fuzzy, gcc-internal-format
++msgid "ignoring attributes applied to %qT after definition"
++msgstr "het %qs attribuut heeft enkel betekenis voor functies"
++
++#: tree.c:3966
+ #, gcc-internal-format
+ msgid "%q+D already declared with dllexport attribute: dllimport ignored"
+ msgstr ""
+
+-#: tree.c:3963
++#: tree.c:3978
+ #, gcc-internal-format
+ msgid "%q+D redeclared without dllimport attribute after being referenced with dll linkage"
+ msgstr ""
+
+-#: tree.c:3979
++#: tree.c:3994
+ #, gcc-internal-format
+ msgid "%q+D redeclared without dllimport attribute: previous dllimport ignored"
+ msgstr ""
+
+-#: tree.c:4038 tree.c:4050 config/darwin.c:1458 config/arm/arm.c:3099
+-#: config/arm/arm.c:3127 config/avr/avr.c:4598 config/h8300/h8300.c:5281
+-#: config/h8300/h8300.c:5305 config/i386/i386.c:3056 config/i386/i386.c:22515
++#: tree.c:4053 tree.c:4065 config/darwin.c:1460 config/arm/arm.c:3099
++#: config/arm/arm.c:3127 config/avr/avr.c:4638 config/h8300/h8300.c:5281
++#: config/h8300/h8300.c:5305 config/i386/i386.c:3087 config/i386/i386.c:22599
+ #: config/ia64/ia64.c:586 config/m68hc11/m68hc11.c:1118
+-#: config/rs6000/rs6000.c:19657 config/sh/symbian.c:408
++#: config/rs6000/rs6000.c:19874 config/sh/symbian.c:408
+ #: config/sh/symbian.c:415
+ #, gcc-internal-format
+ msgid "%qs attribute ignored"
+ msgstr "het %qs attribuut wordt genegeerd"
+
+-#: tree.c:4066
++#: tree.c:4081
+ #, fuzzy, gcc-internal-format
+ msgid "inline function %q+D declared as dllimport: attribute ignored"
+ msgstr "functie %qs geherdeclareerd met noinline attribuut"
+
+-#: tree.c:4074
++#: tree.c:4089
+ #, fuzzy, gcc-internal-format
+ msgid "function %q+D definition is marked dllimport"
+ msgstr "functie-definitie als %<auto%> gedeclareerd"
+
+-#: tree.c:4082 config/sh/symbian.c:430
++#: tree.c:4097 config/sh/symbian.c:430
+ #, fuzzy, gcc-internal-format
+ msgid "variable %q+D definition is marked dllimport"
+ msgstr "statische variable %qs is als dllimport aangeduid"
+
+-#: tree.c:4105 config/sh/symbian.c:505
++#: tree.c:4120 config/sh/symbian.c:505
+ #, gcc-internal-format
+ msgid "external linkage required for symbol %q+D because of %qs attribute"
+ msgstr ""
+
+-#: tree.c:4119
++#: tree.c:4134
+ #, gcc-internal-format
+ msgid "%qs implies default visibility, but %qD has already been declared with a different visibility"
+ msgstr ""
+
+-#: tree.c:5632
++#: tree.c:5648
+ #, gcc-internal-format
+ msgid "arrays of functions are not meaningful"
+ msgstr "arrays van functies zijn niet betekenisvol"
+
+-#: tree.c:5785
++#: tree.c:5801
+ #, gcc-internal-format
+ msgid "function return type cannot be function"
+ msgstr "de terugkeerwaarde van een functie kan geen funtie zijn"
+
+-#: tree.c:6802 tree.c:6887 tree.c:6948
++#: tree.c:6818 tree.c:6903 tree.c:6964
+ #, gcc-internal-format
+ msgid "tree check: %s, have %s in %s, at %s:%d"
+ msgstr ""
+
+-#: tree.c:6839
++#: tree.c:6855
+ #, gcc-internal-format
+ msgid "tree check: expected none of %s, have %s in %s, at %s:%d"
+ msgstr ""
+
+-#: tree.c:6852
++#: tree.c:6868
+ #, gcc-internal-format
+ msgid "tree check: expected class %qs, have %qs (%s) in %s, at %s:%d"
+ msgstr ""
+
+-#: tree.c:6901
++#: tree.c:6917
+ #, gcc-internal-format
+ msgid "tree check: did not expect class %qs, have %qs (%s) in %s, at %s:%d"
+ msgstr ""
+
+-#: tree.c:6914
++#: tree.c:6930
+ #, gcc-internal-format
+ msgid "tree check: expected omp_clause %s, have %s in %s, at %s:%d"
+ msgstr ""
+
+-#: tree.c:6974
++#: tree.c:6990
+ #, gcc-internal-format
+ msgid "tree check: expected tree that contains %qs structure, have %qs in %s, at %s:%d"
+ msgstr ""
+
+-#: tree.c:6988
++#: tree.c:7004
+ #, gcc-internal-format
+ msgid "tree check: accessed elt %d of tree_vec with %d elts in %s, at %s:%d"
+ msgstr ""
+
+-#: tree.c:7000
++#: tree.c:7016
+ #, gcc-internal-format
+ msgid "tree check: accessed elt %d of phi_node with %d elts in %s, at %s:%d"
+ msgstr ""
+
+-#: tree.c:7013
++#: tree.c:7029
+ #, gcc-internal-format
+ msgid "tree check: accessed operand %d of %s with %d operands in %s, at %s:%d"
+ msgstr ""
+
+-#: tree.c:7026
++#: tree.c:7042
+ #, gcc-internal-format
+ msgid "tree check: accessed operand %d of omp_clause %s with %d operands in %s, at %s:%d"
+ msgstr ""
+@@ -24621,17 +24598,17 @@
+ msgid "Unknown value %qs of -mmacosx-version-min"
+ msgstr ""
+
+-#: config/darwin.c:1431
++#: config/darwin.c:1433
+ #, gcc-internal-format
+ msgid "%<%s%> 2.95 vtable-compatibility attribute applies only when compiling a kext"
+ msgstr ""
+
+-#: config/darwin.c:1438
++#: config/darwin.c:1440
+ #, gcc-internal-format
+ msgid "%<%s%> 2.95 vtable-compatibility attribute applies only to C++ classes"
+ msgstr ""
+
+-#: config/darwin.c:1563
++#: config/darwin.c:1565
+ #, fuzzy, gcc-internal-format
+ msgid "internal and protected visibility attributes not supported in this configuration; ignored"
+ msgstr "alias-definities worden niet ondersteund in deze configuratie; genegeerd"
+@@ -24730,7 +24707,7 @@
+ msgid "profiler support for WindISS"
+ msgstr ""
+
+-#: config/alpha/alpha.c:232 config/rs6000/rs6000.c:1990
++#: config/alpha/alpha.c:232 config/rs6000/rs6000.c:2020
+ #, fuzzy, gcc-internal-format
+ msgid "bad value %qs for -mtls-size switch"
+ msgstr "slechte waarde %qs voor optie -mcpu"
+@@ -24806,18 +24783,18 @@
+ msgid "bad value %qs for -mmemory-latency"
+ msgstr "slechte waarde %qs voor -mmeroy-latency"
+
+-#: config/alpha/alpha.c:6514 config/alpha/alpha.c:6517 config/s390/s390.c:8279
+-#: config/s390/s390.c:8282
++#: config/alpha/alpha.c:6522 config/alpha/alpha.c:6525 config/s390/s390.c:8335
++#: config/s390/s390.c:8338
+ #, gcc-internal-format
+ msgid "bad builtin fcode"
+ msgstr ""
+
+-#: config/arc/arc.c:388
++#: config/arc/arc.c:392
+ #, fuzzy, gcc-internal-format
+ msgid "argument of %qs attribute is not a string constant"
+ msgstr "het argument van %<asm%> is geen constante string"
+
+-#: config/arc/arc.c:396
++#: config/arc/arc.c:400
+ #, fuzzy, gcc-internal-format
+ msgid "argument of %qs attribute is not \"ilink1\" or \"ilink2\""
+ msgstr "het argument van %<asm%> is geen constante string"
+@@ -24827,7 +24804,7 @@
+ msgid "switch -mcpu=%s conflicts with -march= switch"
+ msgstr "optie -mcpu=%s geeft conflicten met optie -mtune="
+
+-#: config/arm/arm.c:1060 config/rs6000/rs6000.c:1504 config/sparc/sparc.c:761
++#: config/arm/arm.c:1060 config/rs6000/rs6000.c:1522 config/sparc/sparc.c:764
+ #, gcc-internal-format
+ msgid "bad value (%s) for %s switch"
+ msgstr "slechte waarde (%s) foor optie %s"
+@@ -24967,14 +24944,13 @@
+ msgid "unable to use '%s' for PIC register"
+ msgstr ""
+
+-#: config/arm/arm.c:3067 config/arm/arm.c:3085 config/avr/avr.c:4618
+-#: config/avr/avr.c:4660 config/bfin/bfin.c:4778 config/c4x/c4x.c:4071
+-#: config/h8300/h8300.c:5257 config/i386/i386.c:3009
+-#: config/m68hc11/m68hc11.c:1155 config/m68k/m68k.c:741
+-#: config/mcore/mcore.c:3032 config/mips/mips.c:1151 config/mips/mips.c:1153
+-#: config/mt/mt.c:1275 config/rs6000/rs6000.c:19583 config/sh/sh.c:7984
+-#: config/sh/sh.c:8005 config/sh/sh.c:8028 config/stormy16/stormy16.c:2252
+-#: config/v850/v850.c:2048
++#: config/arm/arm.c:3067 config/arm/arm.c:3085 config/avr/avr.c:4658
++#: config/avr/avr.c:4700 config/bfin/bfin.c:4881 config/h8300/h8300.c:5257
++#: config/i386/i386.c:3040 config/m68hc11/m68hc11.c:1155
++#: config/m68k/m68k.c:741 config/mcore/mcore.c:3032 config/mips/mips.c:1151
++#: config/mips/mips.c:1153 config/mt/mt.c:1275 config/rs6000/rs6000.c:19800
++#: config/sh/sh.c:7987 config/sh/sh.c:8008 config/sh/sh.c:8031
++#: config/stormy16/stormy16.c:2225 config/v850/v850.c:2048
+ #, fuzzy, gcc-internal-format
+ msgid "%qs attribute only applies to functions"
+ msgstr "het %qs attribuut heeft enkel betekenis voor functies"
+@@ -24996,7 +24972,7 @@
+ msgstr ""
+
+ #. @@@ better error message
+-#: config/arm/arm.c:15839 config/i386/i386.c:20651 config/i386/i386.c:20685
++#: config/arm/arm.c:15839 config/i386/i386.c:20735 config/i386/i386.c:20769
+ #, gcc-internal-format
+ msgid "mask must be an immediate"
+ msgstr ""
+@@ -25021,224 +24997,188 @@
+ msgid "static variable %q+D is marked dllimport"
+ msgstr "statische variable %qs is als dllimport aangeduid"
+
+-#: config/avr/avr.c:690
++#: config/avr/avr.c:718
+ #, gcc-internal-format
+ msgid "large frame pointer change (%d) with -mtiny-stack"
+ msgstr ""
+
+-#: config/avr/avr.c:4591
++#: config/avr/avr.c:4631
+ #, fuzzy, gcc-internal-format
+ msgid "only initialized variables can be placed into program memory area"
+ msgstr "Enkel variabelen met beginwaarde kunnen in het 8-bit gebied geplaatst worden."
+
+-#: config/avr/avr.c:4635
++#: config/avr/avr.c:4675
+ #, gcc-internal-format
+ msgid "%qs appears to be a misspelled interrupt handler"
+ msgstr ""
+
+-#: config/avr/avr.c:4643
++#: config/avr/avr.c:4683
+ #, gcc-internal-format
+ msgid "%qs appears to be a misspelled signal handler"
+ msgstr ""
+
+-#: config/avr/avr.c:4751
++#: config/avr/avr.c:4791
+ #, fuzzy, gcc-internal-format
+ msgid "only uninitialized variables can be placed in the .noinit section"
+ msgstr "Enkel variabelen met beginwaarde kunnen in het 8-bit gebied geplaatst worden."
+
+-#: config/avr/avr.c:4765
++#: config/avr/avr.c:4805
+ #, fuzzy, gcc-internal-format
+ msgid "MCU %qs supported for assembler only"
+ msgstr "-pipe wordt niet ondersteund"
+
+-#: config/avr/avr.h:692
++#: config/avr/avr.h:731
+ #, fuzzy, gcc-internal-format
+ msgid "trampolines not supported"
+ msgstr "-pipe wordt niet ondersteund"
+
+-#: config/bfin/bfin.c:2259 config/m68k/m68k.c:488
++#: config/bfin/bfin.c:2352 config/m68k/m68k.c:488
+ #, fuzzy, gcc-internal-format
+ msgid "-mshared-library-id=%s is not between 0 and %d"
+ msgstr "-mregparm=%d ligt niet tussen 0 en %d"
+
+-#: config/bfin/bfin.c:2279
++#: config/bfin/bfin.c:2372
+ #, fuzzy, gcc-internal-format
+ msgid "-mcpu=%s is not valid"
+ msgstr "spec '%s' is ongeldig"
+
+-#: config/bfin/bfin.c:2315
++#: config/bfin/bfin.c:2410
+ #, gcc-internal-format
+ msgid "-mcpu=%s has invalid silicon revision"
+ msgstr ""
+
+-#: config/bfin/bfin.c:2332
++#: config/bfin/bfin.c:2427
+ #, fuzzy, gcc-internal-format
+ msgid "bf561 support is incomplete yet."
+ msgstr "veld %qs heeft een onvolledig type"
+
+-#: config/bfin/bfin.c:2372
++#: config/bfin/bfin.c:2470
+ #, gcc-internal-format
+ msgid "-mshared-library-id= specified without -mid-shared-library"
+ msgstr ""
+
+-#: config/bfin/bfin.c:2378
++#: config/bfin/bfin.c:2473
+ #, gcc-internal-format
+ msgid "Can't use multiple stack checking methods together."
+ msgstr ""
+
+-#: config/bfin/bfin.c:2381
++#: config/bfin/bfin.c:2476
+ #, fuzzy, gcc-internal-format
+ msgid "ID shared libraries and FD-PIC mode can't be used together."
+ msgstr "-msoft-float en -mhard_float mogen niet samen gebruikt worden"
+
+-#: config/bfin/bfin.c:2386 config/m68k/m68k.c:582
++#: config/bfin/bfin.c:2481 config/m68k/m68k.c:582
+ #, fuzzy, gcc-internal-format
+ msgid "cannot specify both -msep-data and -mid-shared-library"
+ msgstr "-EB en -EL mogen niet samen gebruikt worden"
+
+-#: config/bfin/bfin.c:4783
++#: config/bfin/bfin.c:4886
+ #, fuzzy, gcc-internal-format
+ msgid "multiple function type attributes specified"
+ msgstr "%J%<noinline%> attribuut gegeven aan ingebouwde functie %qD"
+
+-#: config/bfin/bfin.c:4839 config/bfin/bfin.c:4868 config/spu/spu.c:2976
++#: config/bfin/bfin.c:4942 config/bfin/bfin.c:4971 config/spu/spu.c:2965
+ #, fuzzy, gcc-internal-format
+ msgid "`%s' attribute only applies to functions"
+ msgstr "het %qs attribuut heeft enkel betekenis voor functies"
+
+-#: config/bfin/bfin.c:4850
++#: config/bfin/bfin.c:4953
+ #, gcc-internal-format
+ msgid "can't apply both longcall and shortcall attributes to the same function"
+ msgstr ""
+
+-#: config/bfin/bfin.c:4900
++#: config/bfin/bfin.c:5003
+ #, fuzzy, gcc-internal-format
+ msgid "`%s' attribute only applies to variables"
+ msgstr "het %qs attribuut heeft geen betekenis voor types"
+
+-#: config/bfin/bfin.c:4907
++#: config/bfin/bfin.c:5010
+ #, fuzzy, gcc-internal-format
+ msgid "`%s' attribute cannot be specified for local variables"
+ msgstr "%Jsectie-attribuut kan niet opgegeven worden voor lokale variabelen"
+
+-#: config/c4x/c4x-c.c:68
+-#, gcc-internal-format
+-msgid "missing '(' after '#pragma %s' - ignored"
+-msgstr ""
+-
+-#: config/c4x/c4x-c.c:71
+-#, gcc-internal-format
+-msgid "missing function name in '#pragma %s' - ignored"
+-msgstr ""
+-
+-#: config/c4x/c4x-c.c:76
+-#, fuzzy, gcc-internal-format
+-msgid "malformed '#pragma %s' - ignored"
+-msgstr "misvormde #pragma pack"
+-
+-#: config/c4x/c4x-c.c:78
+-#, gcc-internal-format
+-msgid "missing section name in '#pragma %s' - ignored"
+-msgstr ""
+-
+-#: config/c4x/c4x-c.c:83
+-#, gcc-internal-format
+-msgid "missing ')' for '#pragma %s' - ignored"
+-msgstr ""
+-
+-# Moet 'signature-string' vertaald worden?
+-#: config/c4x/c4x-c.c:86
+-#, fuzzy, gcc-internal-format
+-msgid "junk at end of '#pragma %s'"
+-msgstr "Brol aan einde van signature-string."
+-
+-#: config/c4x/c4x.c:859
+-#, gcc-internal-format
+-msgid "ISR %s requires %d words of local vars, max is 32767"
+-msgstr ""
+-
+ #. This function is for retrieving a part of an instruction name for
+ #. an operator, for immediate output. If that ever happens for
+ #. MULT, we need to apply TARGET_MUL_BUG in the caller. Make sure
+ #. we notice.
+-#: config/cris/cris.c:434
++#: config/cris/cris.c:447
+ #, gcc-internal-format
+ msgid "MULT case in cris_op_str"
+ msgstr ""
+
+-#: config/cris/cris.c:811
++#: config/cris/cris.c:837
+ #, fuzzy, gcc-internal-format
+ msgid "invalid use of ':' modifier"
+ msgstr "ongeldige operand voor %N-code"
+
+-#: config/cris/cris.c:983
++#: config/cris/cris.c:1024
+ #, fuzzy, gcc-internal-format
+ msgid "internal error: bad register: %d"
+ msgstr "formaatstring niet beëindigd"
+
+-#: config/cris/cris.c:1524
++#: config/cris/cris.c:1586
+ #, gcc-internal-format
+ msgid "internal error: sideeffect-insn affecting main effect"
+ msgstr ""
+
+ # mja, is nogal technisch - ikke nie snap nie
+-#: config/cris/cris.c:1548
++#: config/cris/cris.c:1683
+ #, fuzzy, gcc-internal-format
+ msgid "unknown cc_attr value"
+ msgstr "onbekende 'unspec' relocatie"
+
+ #. If we get here, the caller got its initial tests wrong.
+-#: config/cris/cris.c:1901
++#: config/cris/cris.c:2040
+ #, gcc-internal-format
+ msgid "internal error: cris_side_effect_mode_ok with bad operands"
+ msgstr ""
+
+-#: config/cris/cris.c:2104
++#: config/cris/cris.c:2332
+ #, fuzzy, gcc-internal-format
+ msgid "-max-stackframe=%d is not usable, not between 0 and %d"
+ msgstr "-mregparm=%d ligt niet tussen 0 en %d"
+
+-#: config/cris/cris.c:2132
++#: config/cris/cris.c:2360
+ #, gcc-internal-format
+ msgid "unknown CRIS version specification in -march= or -mcpu= : %s"
+ msgstr ""
+
+-#: config/cris/cris.c:2168
++#: config/cris/cris.c:2396
+ #, gcc-internal-format
+ msgid "unknown CRIS cpu version specification in -mtune= : %s"
+ msgstr ""
+
+-#: config/cris/cris.c:2186
++#: config/cris/cris.c:2417
+ #, fuzzy, gcc-internal-format
+ msgid "-fPIC and -fpic are not supported in this configuration"
+ msgstr "alias-definities worden niet ondersteund in deze configuratie; genegeerd"
+
+-#: config/cris/cris.c:2201
++#: config/cris/cris.c:2432
+ #, gcc-internal-format
+ msgid "that particular -g option is invalid with -maout and -melinux"
+ msgstr ""
+
+-#: config/cris/cris.c:2414
++#: config/cris/cris.c:2658
+ #, fuzzy, gcc-internal-format
+ msgid "Unknown src"
+ msgstr "onbekende machine-modus %qs"
+
+-#: config/cris/cris.c:2475
++#: config/cris/cris.c:2719
+ #, fuzzy, gcc-internal-format
+ msgid "Unknown dest"
+ msgstr "onbekende machine-modus %qs"
+
+-#: config/cris/cris.c:2760
++#: config/cris/cris.c:3004
+ #, gcc-internal-format
+ msgid "stackframe too big: %d bytes"
+ msgstr ""
+
+-#: config/cris/cris.c:3213 config/cris/cris.c:3240
++#: config/cris/cris.c:3498 config/cris/cris.c:3526
+ #, gcc-internal-format
+ msgid "expand_binop failed in movsi got"
+ msgstr ""
+
+-#: config/cris/cris.c:3321
++#: config/cris/cris.c:3607
+ #, gcc-internal-format
+ msgid "emitting PIC operand, but PIC register isn't set up"
+ msgstr ""
+@@ -25292,7 +25232,7 @@
+ #. See cris.c for TARGET_ASM_FUNCTION_PROLOGUE and
+ #. TARGET_ASM_FUNCTION_EPILOGUE.
+ #. Node: Profiling
+-#: config/cris/cris.h:868
++#: config/cris/cris.h:948
+ #, gcc-internal-format
+ msgid "no FUNCTION_PROFILER for CRIS"
+ msgstr ""
+@@ -25307,62 +25247,62 @@
+ msgid "Trampoline support for CRX"
+ msgstr "-pipe wordt niet ondersteund"
+
+-#: config/frv/frv.c:8622
++#: config/frv/frv.c:8626
+ #, fuzzy, gcc-internal-format
+ msgid "accumulator is not a constant integer"
+ msgstr "het argument van %<asm%> is geen constante string"
+
+-#: config/frv/frv.c:8627
++#: config/frv/frv.c:8631
+ #, gcc-internal-format
+ msgid "accumulator number is out of bounds"
+ msgstr ""
+
+-#: config/frv/frv.c:8638
++#: config/frv/frv.c:8642
+ #, fuzzy, gcc-internal-format
+ msgid "inappropriate accumulator for %qs"
+ msgstr "geen eerdere declaratie voor %qs"
+
+-#: config/frv/frv.c:8715
++#: config/frv/frv.c:8719
+ #, fuzzy, gcc-internal-format
+ msgid "invalid IACC argument"
+ msgstr "ongeldige waarde voor %%C"
+
+-#: config/frv/frv.c:8738
++#: config/frv/frv.c:8742
+ #, gcc-internal-format
+ msgid "%qs expects a constant argument"
+ msgstr ""
+
+-#: config/frv/frv.c:8743
++#: config/frv/frv.c:8747
+ #, fuzzy, gcc-internal-format
+ msgid "constant argument out of range for %qs"
+ msgstr "te veel argumenten voor procedure `%s'"
+
+-#: config/frv/frv.c:9224
++#: config/frv/frv.c:9228
+ #, gcc-internal-format
+ msgid "media functions are not available unless -mmedia is used"
+ msgstr ""
+
+-#: config/frv/frv.c:9236
++#: config/frv/frv.c:9240
+ #, gcc-internal-format
+ msgid "this media function is only available on the fr500"
+ msgstr ""
+
+-#: config/frv/frv.c:9264
++#: config/frv/frv.c:9268
+ #, gcc-internal-format
+ msgid "this media function is only available on the fr400 and fr550"
+ msgstr ""
+
+-#: config/frv/frv.c:9283
++#: config/frv/frv.c:9287
+ #, gcc-internal-format
+ msgid "this builtin function is only available on the fr405 and fr450"
+ msgstr ""
+
+-#: config/frv/frv.c:9292
++#: config/frv/frv.c:9296
+ #, gcc-internal-format
+ msgid "this builtin function is only available on the fr500 and fr550"
+ msgstr ""
+
+-#: config/frv/frv.c:9304
++#: config/frv/frv.c:9308
+ #, gcc-internal-format
+ msgid "this builtin function is only available on the fr450"
+ msgstr ""
+@@ -25387,311 +25327,316 @@
+ msgid "can't set position in PCH file: %m"
+ msgstr "kan bestand '%s' niet openen"
+
+-#: config/i386/i386.c:2133 config/i386/i386.c:2333
++#: config/i386/i386.c:2158 config/i386/i386.c:2358
+ #, fuzzy, gcc-internal-format
+ msgid "bad value (%s) for -mtune= switch"
+ msgstr "slechte waarde (%s) voor de -march= optie"
+
+-#: config/i386/i386.c:2174
++#: config/i386/i386.c:2199
+ #, fuzzy, gcc-internal-format
+ msgid "bad value (%s) for -mstringop-strategy= switch"
+ msgstr "slechte waarde (%s) voor de -march= optie"
+
+-#: config/i386/i386.c:2177
++#: config/i386/i386.c:2202
+ #, gcc-internal-format
+ msgid "-mtune=x86-64 is deprecated. Use -mtune=k8 or -mtune=generic instead as appropriate."
+ msgstr ""
+
+-#: config/i386/i386.c:2186
++#: config/i386/i386.c:2211
+ #, fuzzy, gcc-internal-format
+ msgid "generic CPU can be used only for -mtune= switch"
+ msgstr "slechte waarde (%s) voor de -march= optie"
+
+-#: config/i386/i386.c:2188 config/i386/i386.c:2297 config/mt/mt.c:804
++#: config/i386/i386.c:2213 config/i386/i386.c:2322 config/mt/mt.c:804
+ #, gcc-internal-format
+ msgid "bad value (%s) for -march= switch"
+ msgstr "slechte waarde (%s) voor de -march= optie"
+
+-#: config/i386/i386.c:2199
++#: config/i386/i386.c:2224
+ #, fuzzy, gcc-internal-format
+ msgid "code model %s does not support PIC mode"
+ msgstr "afrondingsmodus niet ondersteund voor VAX-floats"
+
+-#: config/i386/i386.c:2205 config/sparc/sparc.c:725
++#: config/i386/i386.c:2230 config/sparc/sparc.c:728
+ #, gcc-internal-format
+ msgid "bad value (%s) for -mcmodel= switch"
+ msgstr "slechte waarde (%s) voor optie -mcmodel="
+
+-#: config/i386/i386.c:2228
++#: config/i386/i386.c:2253
+ #, fuzzy, gcc-internal-format
+ msgid "bad value (%s) for -masm= switch"
+ msgstr "slechte waarde (%s) voor optie -mabi="
+
+-#: config/i386/i386.c:2231
++#: config/i386/i386.c:2256
+ #, 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.c:2234
++#: config/i386/i386.c:2259
+ #, gcc-internal-format
+ msgid "%i-bit mode not compiled in"
+ msgstr ""
+
+-#: config/i386/i386.c:2245 config/i386/i386.c:2319
++#: config/i386/i386.c:2270 config/i386/i386.c:2344
+ #, fuzzy, gcc-internal-format
+ msgid "CPU you selected does not support x86-64 instruction set"
+ msgstr "doel-CPU ondersteunt geen interworking"
+
+-#: config/i386/i386.c:2351
++#: config/i386/i386.c:2376
+ #, gcc-internal-format
+ msgid "-mregparm is ignored in 64-bit mode"
+ msgstr ""
+
+-#: config/i386/i386.c:2354
++#: config/i386/i386.c:2379
+ #, gcc-internal-format
+ msgid "-mregparm=%d is not between 0 and %d"
+ msgstr "-mregparm=%d ligt niet tussen 0 en %d"
+
+-#: config/i386/i386.c:2366
++#: config/i386/i386.c:2391
+ #, fuzzy, gcc-internal-format
+ msgid "-malign-loops is obsolete, use -falign-loops"
+ msgstr "-malign-loops=%d ligt niet tussen 0 en %d"
+
+-#: config/i386/i386.c:2371 config/i386/i386.c:2384 config/i386/i386.c:2397
++#: config/i386/i386.c:2396 config/i386/i386.c:2409 config/i386/i386.c:2422
+ #, gcc-internal-format
+ msgid "-malign-loops=%d is not between 0 and %d"
+ msgstr "-malign-loops=%d ligt niet tussen 0 en %d"
+
+-#: config/i386/i386.c:2379
++#: config/i386/i386.c:2404
+ #, fuzzy, gcc-internal-format
+ msgid "-malign-jumps is obsolete, use -falign-jumps"
+ msgstr "-malign-jumps=%d ligt niet tussen 0 en %d"
+
+-#: config/i386/i386.c:2392
++#: config/i386/i386.c:2417
+ #, fuzzy, gcc-internal-format
+ msgid "-malign-functions is obsolete, use -falign-functions"
+ msgstr "-malign-functions=%d ligt niet tussen 0 en %d"
+
+-#: config/i386/i386.c:2425
++#: config/i386/i386.c:2450
+ #, gcc-internal-format
+ msgid "-mbranch-cost=%d is not between 0 and 5"
+ msgstr "-mbranch-cost=%d ligt niet tussen 0 en 5"
+
+-#: config/i386/i386.c:2433
++#: config/i386/i386.c:2458
+ #, gcc-internal-format
+ msgid "-mlarge-data-threshold=%d is negative"
+ msgstr ""
+
+-#: config/i386/i386.c:2447
++#: config/i386/i386.c:2472
+ #, fuzzy, gcc-internal-format
+ msgid "bad value (%s) for -mtls-dialect= switch"
+ msgstr "slechte waarde (%s) voor optie -msdata"
+
+-#: config/i386/i386.c:2455
++#: config/i386/i386.c:2480
+ #, gcc-internal-format
+ msgid "pc%d is not valid precision setting (32, 64 or 80)"
+ msgstr ""
+
+-#: config/i386/i386.c:2471
++#: config/i386/i386.c:2496
+ #, fuzzy, gcc-internal-format
+ msgid "-mrtd is ignored in 64bit mode"
+ msgstr "alias-definities worden niet ondersteund in deze configuratie; genegeerd"
+
+-#: config/i386/i386.c:2560
++#: config/i386/i386.c:2585
+ #, fuzzy, gcc-internal-format
+ msgid "-mpreferred-stack-boundary=%d is not between %d and 12"
+ msgstr "-mpreferred_stack_boundary=%d ligt niet tussen 2 en 31"
+
+-#: config/i386/i386.c:2569
++#: config/i386/i386.c:2594
+ #, gcc-internal-format
+ msgid "-msseregparm used without SSE enabled"
+ msgstr ""
+
+-#: config/i386/i386.c:2580 config/i386/i386.c:2591
++#: config/i386/i386.c:2605 config/i386/i386.c:2616
+ #, fuzzy, gcc-internal-format
+ msgid "SSE instruction set disabled, using 387 arithmetics"
+ msgstr "pointer naar functie gebruikt in rekensom"
+
+-#: config/i386/i386.c:2596
++#: config/i386/i386.c:2621
+ #, fuzzy, gcc-internal-format
+ msgid "387 instruction set disabled, using SSE arithmetics"
+ msgstr "pointer naar functie gebruikt in rekensom"
+
+-#: config/i386/i386.c:2603
++#: config/i386/i386.c:2628
+ #, fuzzy, gcc-internal-format
+ msgid "bad value (%s) for -mfpmath= switch"
+ msgstr "slechte waarde (%s) voor de -march= optie"
+
+-#: config/i386/i386.c:2616
++#: config/i386/i386.c:2641
+ #, gcc-internal-format
+ msgid "unknown vectorization library ABI type (%s) for -mveclibabi= switch"
+ msgstr ""
+
+-#: config/i386/i386.c:2635
++#: config/i386/i386.c:2660
+ #, gcc-internal-format
+ msgid "unwind tables currently require either a frame pointer or -maccumulate-outgoing-args for correctness"
+ msgstr ""
+
+-#: config/i386/i386.c:3022 config/i386/i386.c:3075
++#: config/i386/i386.c:3053 config/i386/i386.c:3106
+ #, fuzzy, gcc-internal-format
+ msgid "fastcall and regparm attributes are not compatible"
+ msgstr "-pg en -fomit-frame-pointer zijn niet compatibel"
+
+-#: config/i386/i386.c:3029
++#: config/i386/i386.c:3060
+ #, fuzzy, gcc-internal-format
+ msgid "%qs attribute requires an integer constant argument"
+ msgstr "herhalings-aantal is geen integerconstante"
+
+-#: config/i386/i386.c:3035
++#: config/i386/i386.c:3066
+ #, fuzzy, gcc-internal-format
+ msgid "argument to %qs attribute larger than %d"
+ msgstr "kan het %qs attribuut niet instellen na een definitie"
+
+-#: config/i386/i386.c:3045
++#: config/i386/i386.c:3076
+ #, gcc-internal-format
+ msgid "%s functions limited to %d register parameters"
+ msgstr ""
+
+-#: config/i386/i386.c:3067 config/i386/i386.c:3102
++#: config/i386/i386.c:3098 config/i386/i386.c:3133
+ #, fuzzy, gcc-internal-format
+ msgid "fastcall and cdecl attributes are not compatible"
+ msgstr "-pg en -fomit-frame-pointer zijn niet compatibel"
+
+-#: config/i386/i386.c:3071
++#: config/i386/i386.c:3102
+ #, fuzzy, gcc-internal-format
+ msgid "fastcall and stdcall attributes are not compatible"
+ msgstr "-pg en -fomit-frame-pointer zijn niet compatibel"
+
+-#: config/i386/i386.c:3085 config/i386/i386.c:3098
++#: config/i386/i386.c:3116 config/i386/i386.c:3129
+ #, fuzzy, gcc-internal-format
+ msgid "stdcall and cdecl attributes are not compatible"
+ msgstr "-pg en -fomit-frame-pointer zijn niet compatibel"
+
+-#: config/i386/i386.c:3089
++#: config/i386/i386.c:3120
+ #, fuzzy, gcc-internal-format
+ msgid "stdcall and fastcall attributes are not compatible"
+ msgstr "-pg en -fomit-frame-pointer zijn niet compatibel"
+
+-#: config/i386/i386.c:3236
++#: config/i386/i386.c:3271
+ #, gcc-internal-format
+ msgid "Calling %qD with attribute sseregparm without SSE/SSE2 enabled"
+ msgstr ""
+
+-#: config/i386/i386.c:3239
++#: config/i386/i386.c:3274
+ #, gcc-internal-format
+ msgid "Calling %qT with attribute sseregparm without SSE/SSE2 enabled"
+ msgstr ""
+
+-#: config/i386/i386.c:3925
++#: config/i386/i386.c:3971
+ #, gcc-internal-format
+ msgid "SSE register return with SSE disabled"
+ msgstr ""
+
+-#: config/i386/i386.c:3931
++#: config/i386/i386.c:3977
+ #, gcc-internal-format
+ msgid "SSE register argument with SSE disabled"
+ msgstr ""
+
+-#: config/i386/i386.c:3947
++#: config/i386/i386.c:3993
+ #, gcc-internal-format
+ msgid "x87 register return with x87 disabled"
+ msgstr ""
+
+-#: config/i386/i386.c:4265
++#: config/i386/i386.c:4314
+ #, gcc-internal-format
+ msgid "SSE vector argument without SSE enabled changes the ABI"
+ msgstr ""
+
+-#: config/i386/i386.c:4283
++#: config/i386/i386.c:4332
+ #, gcc-internal-format
+ msgid "MMX vector argument without MMX enabled changes the ABI"
+ msgstr ""
+
+-#: config/i386/i386.c:4810
++#: config/i386/i386.c:4859
+ #, gcc-internal-format
+ msgid "SSE vector return without SSE enabled changes the ABI"
+ msgstr ""
+
+-#: config/i386/i386.c:4820
++#: config/i386/i386.c:4869
+ #, gcc-internal-format
+ msgid "MMX vector return without MMX enabled changes the ABI"
+ msgstr ""
+
+-#: config/i386/i386.c:6171
++#: config/i386/i386.c:6220
+ #, fuzzy, gcc-internal-format
+ msgid "-mstackrealign ignored for nested functions"
+ msgstr "ISO C verbiedt geneste functies"
+
+-#: config/i386/i386.c:6173
++#: config/i386/i386.c:6222
+ #, fuzzy, gcc-internal-format
+ msgid "%s not supported for nested functions"
+ msgstr "conflicterende types voor ingebouwde functie %qs"
+
+-#: config/i386/i386.c:8576
++#: config/i386/i386.c:8631
+ #, gcc-internal-format
+ msgid "extended registers have no high halves"
+ msgstr ""
+
+-#: config/i386/i386.c:8591
++#: config/i386/i386.c:8646
+ #, gcc-internal-format
+ msgid "unsupported operand size for extended register"
+ msgstr ""
+
+-#: config/i386/i386.c:19610
++#: config/i386/i386.c:19694
+ #, fuzzy, gcc-internal-format
+ msgid "the third argument must be a 4-bit immediate"
+ msgstr "%<defined%> zonder een naam"
+
+-#: config/i386/i386.c:19614
++#: config/i386/i386.c:19698
+ #, fuzzy, gcc-internal-format
+ msgid "the third argument must be an 8-bit immediate"
+ msgstr "%<defined%> zonder een naam"
+
+-#: config/i386/i386.c:19836
++#: config/i386/i386.c:19920
+ #, fuzzy, gcc-internal-format
+ msgid "last argument must be an immediate"
+ msgstr "%<defined%> zonder een naam"
+
+-#: config/i386/i386.c:19963
++#: config/i386/i386.c:20047
+ #, fuzzy, gcc-internal-format
+ msgid "the second argument must be a 4-bit immediate"
+ msgstr "%<defined%> zonder een naam"
+
+-#: config/i386/i386.c:20209
++#: config/i386/i386.c:20293
+ #, fuzzy, gcc-internal-format
+ msgid "the fifth argument must be a 8-bit immediate"
+ msgstr "%<defined%> zonder een naam"
+
+-#: config/i386/i386.c:20304
++#: config/i386/i386.c:20388
+ #, fuzzy, gcc-internal-format
+ msgid "the third argument must be a 8-bit immediate"
+ msgstr "%<defined%> zonder een naam"
+
+-#: config/i386/i386.c:20374 config/rs6000/rs6000.c:8133
++#: config/i386/i386.c:20458 config/rs6000/rs6000.c:8240
+ #, gcc-internal-format
+ msgid "selector must be an integer constant in the range 0..%wi"
+ msgstr ""
+
+-#: config/i386/i386.c:20774 config/i386/i386.c:20970
++#: config/i386/i386.c:20858 config/i386/i386.c:21054
+ #, fuzzy, gcc-internal-format
+ msgid "shift must be an immediate"
+ msgstr "%<defined%> zonder een naam"
+
+-#: config/i386/i386.c:21033 config/i386/i386.c:21075
++#: config/i386/i386.c:21117 config/i386/i386.c:21159
+ #, fuzzy, gcc-internal-format
+ msgid "index mask must be an immediate"
+ msgstr "%<defined%> zonder een naam"
+
+-#: config/i386/i386.c:21038 config/i386/i386.c:21080
++#: config/i386/i386.c:21122 config/i386/i386.c:21164
+ #, fuzzy, gcc-internal-format
+ msgid "length mask must be an immediate"
+ msgstr "%<defined%> zonder een naam"
+
+-#: config/i386/i386.c:22525 config/rs6000/rs6000.c:19666
++#: config/i386/i386.c:22609 config/rs6000/rs6000.c:19883
+ #, fuzzy, gcc-internal-format
+ msgid "%qs incompatible attribute ignored"
+ msgstr "het %qs attribuut wordt genegeerd"
+
++#: config/i386/netware.c:253
++#, fuzzy, gcc-internal-format
++msgid "-fPIC and -fpic are not supported for this target"
++msgstr "alias-definities worden niet ondersteund in deze configuratie; genegeerd"
++
+ #: config/i386/winnt-cxx.c:71 config/sh/symbian.c:172
+ #, gcc-internal-format
+ msgid "definition of static data member %q+D of dllimport'd class"
+@@ -25758,57 +25703,57 @@
+ msgid "%Jaddress area attribute cannot be specified for functions"
+ msgstr "sectie-attribuut kan niet opgegeven worden voor lokale variabelen"
+
+-#: config/ia64/ia64.c:5126 config/pa/pa.c:347 config/spu/spu.c:3875
++#: config/ia64/ia64.c:5127 config/pa/pa.c:350 config/spu/spu.c:3864
+ #, gcc-internal-format
+ msgid "value of -mfixed-range must have form REG1-REG2"
+ msgstr ""
+
+-#: config/ia64/ia64.c:5153 config/pa/pa.c:374 config/spu/spu.c:3901
++#: config/ia64/ia64.c:5154 config/pa/pa.c:377 config/spu/spu.c:3890
+ #, fuzzy, gcc-internal-format
+ msgid "%s-%s is an empty range"
+ msgstr "leeg bereik"
+
+-#: config/ia64/ia64.c:5181
++#: config/ia64/ia64.c:5182
+ #, fuzzy, gcc-internal-format
+ msgid "bad value %<%s%> for -mtls-size= switch"
+ msgstr "slechte waarde (%s) voor de -march= optie"
+
+-#: config/ia64/ia64.c:5209
++#: config/ia64/ia64.c:5210
+ #, fuzzy, gcc-internal-format
+ msgid "bad value %<%s%> for -mtune= switch"
+ msgstr "slechte waarde (%s) voor de -march= optie"
+
+-#: config/ia64/ia64.c:5228
++#: config/ia64/ia64.c:5229
+ #, gcc-internal-format
+ msgid "not yet implemented: latency-optimized inline square root"
+ msgstr ""
+
+-#: config/ia64/ia64.c:9950
++#: config/ia64/ia64.c:9951
+ #, fuzzy, gcc-internal-format
+ msgid "version attribute is not a string"
+ msgstr "het argument van %<asm%> is geen constante string"
+
+-#: config/iq2000/iq2000.c:1812
++#: config/iq2000/iq2000.c:1816
+ #, gcc-internal-format
+ msgid "gp_offset (%ld) or end_offset (%ld) is less than zero"
+ msgstr ""
+
+-#: config/iq2000/iq2000.c:2583
++#: config/iq2000/iq2000.c:2587
+ #, fuzzy, gcc-internal-format
+ msgid "argument %qd is not a constant"
+ msgstr "het argument van %<asm%> is geen constante string"
+
+-#: config/iq2000/iq2000.c:2885 config/mt/mt.c:349 config/xtensa/xtensa.c:2118
++#: config/iq2000/iq2000.c:2889 config/mt/mt.c:349 config/xtensa/xtensa.c:2124
+ #, gcc-internal-format
+ msgid "PRINT_OPERAND_ADDRESS, null pointer"
+ msgstr ""
+
+-#: config/iq2000/iq2000.c:3040
++#: config/iq2000/iq2000.c:3044
+ #, gcc-internal-format
+ msgid "PRINT_OPERAND: Unknown punctuation '%c'"
+ msgstr ""
+
+-#: config/iq2000/iq2000.c:3049 config/xtensa/xtensa.c:1972
++#: config/iq2000/iq2000.c:3053 config/xtensa/xtensa.c:1978
+ #, gcc-internal-format
+ msgid "PRINT_OPERAND null pointer"
+ msgstr ""
+@@ -25834,22 +25779,22 @@
+ msgid "invalid target memregs value '%d'"
+ msgstr "ongeldige registernaam voor %qs"
+
+-#: config/m32c/m32c.c:2759
++#: config/m32c/m32c.c:2766
+ #, fuzzy, gcc-internal-format
+ msgid "`%s' attribute is not supported for R8C target"
+ msgstr "%Jsectie-attributen worden niet ondersteund voor dit doelsysteem"
+
+-#: config/m32c/m32c.c:2767
++#: config/m32c/m32c.c:2774
+ #, fuzzy, gcc-internal-format
+ msgid "`%s' attribute applies only to functions"
+ msgstr "%Jhet %qE attribuut is enkel van toepassing op functies"
+
+-#: config/m32c/m32c.c:2775
++#: config/m32c/m32c.c:2782
+ #, fuzzy, gcc-internal-format
+ msgid "`%s' attribute argument not an integer constant"
+ msgstr "herhalings-aantal is geen integerconstante"
+
+-#: config/m32c/m32c.c:2784
++#: config/m32c/m32c.c:2791
+ #, fuzzy, gcc-internal-format
+ msgid "`%s' attribute argument should be between 18 to 255"
+ msgstr "herhalings-aantal is geen integerconstante"
+@@ -25899,7 +25844,7 @@
+ msgid "interrupt_thread is available only on fido"
+ msgstr ""
+
+-#: config/m68k/m68k.c:1072 config/rs6000/rs6000.c:15014
++#: config/m68k/m68k.c:1072 config/rs6000/rs6000.c:15226
+ #, fuzzy, gcc-internal-format
+ msgid "stack limit expression is not supported"
+ msgstr "-pipe wordt niet ondersteund"
+@@ -25914,114 +25859,114 @@
+ msgid "%qs redeclared with conflicting %qs attributes"
+ msgstr "het %qs attribuut heeft geen betekenis voor types"
+
+-#: config/mips/mips.c:2348
++#: config/mips/mips.c:2382
+ #, gcc-internal-format
+ msgid "MIPS16 TLS"
+ msgstr ""
+
+-#: config/mips/mips.c:5439
++#: config/mips/mips.c:5500
+ #, fuzzy, gcc-internal-format
+ msgid "cannot handle inconsistent calls to %qs"
+ msgstr "kan oproep van %qs niet inline maken"
+
+-#: config/mips/mips.c:10258
++#: config/mips/mips.c:10337
+ #, fuzzy, gcc-internal-format
+ msgid "invalid argument to built-in function"
+ msgstr "ongeldig argument voor %<__builtin_return_address%>"
+
+-#: config/mips/mips.c:10530
++#: config/mips/mips.c:10609
+ #, fuzzy, gcc-internal-format
+ msgid "built-in function %qs not supported for MIPS16"
+ msgstr "-pipe wordt niet ondersteund"
+
+-#: config/mips/mips.c:11679 config/mips/mips.c:12065
++#: config/mips/mips.c:11751 config/mips/mips.c:12137
+ #, gcc-internal-format
+ msgid "MIPS16 PIC"
+ msgstr ""
+
+-#: config/mips/mips.c:11682
++#: config/mips/mips.c:11754
+ #, gcc-internal-format
+ msgid "hard-float MIPS16 code for ABIs other than o32 and o64"
+ msgstr ""
+
+-#: config/mips/mips.c:11810
++#: config/mips/mips.c:11882
+ #, gcc-internal-format
+ msgid "CPU names must be lower case"
+ msgstr ""
+
+-#: config/mips/mips.c:11938
++#: config/mips/mips.c:12010
+ #, gcc-internal-format
+ msgid "%<-%s%> conflicts with the other architecture options, which specify a %s processor"
+ msgstr ""
+
+-#: config/mips/mips.c:11954
++#: config/mips/mips.c:12026
+ #, fuzzy, gcc-internal-format
+ msgid "%<-march=%s%> is not compatible with the selected ABI"
+ msgstr "case-selector niet compatibel met label"
+
+-#: config/mips/mips.c:11969
++#: config/mips/mips.c:12041
+ #, gcc-internal-format
+ msgid "%<-mgp64%> used with a 32-bit processor"
+ msgstr ""
+
+-#: config/mips/mips.c:11971
++#: config/mips/mips.c:12043
+ #, gcc-internal-format
+ msgid "%<-mgp32%> used with a 64-bit ABI"
+ msgstr ""
+
+-#: config/mips/mips.c:11973
++#: config/mips/mips.c:12045
+ #, gcc-internal-format
+ msgid "%<-mgp64%> used with a 32-bit ABI"
+ msgstr ""
+
+-#: config/mips/mips.c:11989 config/mips/mips.c:11991 config/mips/mips.c:12058
++#: config/mips/mips.c:12061 config/mips/mips.c:12063 config/mips/mips.c:12130
+ #, fuzzy, gcc-internal-format
+ msgid "unsupported combination: %s"
+ msgstr "niet-ondersteunde versie"
+
+-#: config/mips/mips.c:11995
++#: config/mips/mips.c:12067
+ #, gcc-internal-format
+ msgid "%<-mgp32%> and %<-mfp64%> can only be combined if the target supports the mfhc1 and mthc1 instructions"
+ msgstr ""
+
+-#: config/mips/mips.c:11998
++#: config/mips/mips.c:12070
+ #, gcc-internal-format
+ msgid "%<-mgp32%> and %<-mfp64%> can only be combined when using the o32 ABI"
+ msgstr ""
+
+-#: config/mips/mips.c:12052
++#: config/mips/mips.c:12124
+ #, fuzzy, gcc-internal-format
+ msgid "the %qs architecture does not support branch-likely instructions"
+ msgstr "doel-CPU ondersteunt geen interworking"
+
+-#: config/mips/mips.c:12098
++#: config/mips/mips.c:12170
+ #, gcc-internal-format
+ msgid "%<-mno-gpopt%> needs %<-mexplicit-relocs%>"
+ msgstr ""
+
+-#: config/mips/mips.c:12106 config/mips/mips.c:12109
++#: config/mips/mips.c:12178 config/mips/mips.c:12181
+ #, gcc-internal-format
+ msgid "cannot use small-data accesses for %qs"
+ msgstr ""
+
+-#: config/mips/mips.c:12123
++#: config/mips/mips.c:12195
+ #, gcc-internal-format
+ msgid "%<-mips3d%> requires %<-mpaired-single%>"
+ msgstr ""
+
+-#: config/mips/mips.c:12132
++#: config/mips/mips.c:12204
+ #, fuzzy, gcc-internal-format
+ msgid "%qs must be used with %qs"
+ msgstr "%<__thread%> samen met %s gebruikt"
+
+-#: config/mips/mips.c:12139
++#: config/mips/mips.c:12211
+ #, fuzzy, gcc-internal-format
+ msgid "the %qs architecture does not support paired-single instructions"
+ msgstr "doel-CPU ondersteunt geen interworking"
+
+ #. Output assembler code to FILE to increment profiler label # LABELNO
+ #. for profiling a function entry.
+-#: config/mips/mips.h:2110
++#: config/mips/mips.h:2111
+ #, gcc-internal-format
+ msgid "mips16 function profiling"
+ msgstr ""
+@@ -26051,28 +25996,28 @@
+ msgid "MMIX Internal: Last named vararg would not fit in a register"
+ msgstr ""
+
+-#: config/mmix/mmix.c:1495 config/mmix/mmix.c:1519 config/mmix/mmix.c:1635
++#: config/mmix/mmix.c:1491 config/mmix/mmix.c:1515 config/mmix/mmix.c:1631
+ #, gcc-internal-format
+ msgid "MMIX Internal: Bad register: %d"
+ msgstr ""
+
+ #. Presumably there's a missing case above if we get here.
+-#: config/mmix/mmix.c:1627
++#: config/mmix/mmix.c:1623
+ #, gcc-internal-format
+ msgid "MMIX Internal: Missing %qc case in mmix_print_operand"
+ msgstr ""
+
+-#: config/mmix/mmix.c:1913
++#: config/mmix/mmix.c:1909
+ #, gcc-internal-format
+ msgid "stack frame not a multiple of 8 bytes: %wd"
+ msgstr ""
+
+-#: config/mmix/mmix.c:2149
++#: config/mmix/mmix.c:2145
+ #, gcc-internal-format
+ msgid "stack frame not a multiple of octabyte: %wd"
+ msgstr ""
+
+-#: config/mmix/mmix.c:2489 config/mmix/mmix.c:2553
++#: config/mmix/mmix.c:2485 config/mmix/mmix.c:2549
+ #, gcc-internal-format
+ msgid "MMIX Internal: %s is not a shiftable int"
+ msgstr ""
+@@ -26082,27 +26027,27 @@
+ msgid "info pointer NULL"
+ msgstr ""
+
+-#: config/pa/pa.c:479
++#: config/pa/pa.c:482
+ #, fuzzy, gcc-internal-format
+ msgid "PIC code generation is not supported in the portable runtime model"
+ msgstr "ISO C ondersteunt de %<%c%> lengte-optie niet"
+
+-#: config/pa/pa.c:484
++#: config/pa/pa.c:487
+ #, gcc-internal-format
+ msgid "PIC code generation is not compatible with fast indirect calls"
+ msgstr ""
+
+-#: config/pa/pa.c:489
++#: config/pa/pa.c:492
+ #, gcc-internal-format
+ msgid "-g is only supported when using GAS on this processor,"
+ msgstr ""
+
+-#: config/pa/pa.c:490
++#: config/pa/pa.c:493
+ #, fuzzy, gcc-internal-format
+ msgid "-g option disabled"
+ msgstr "ingeschakelde opties: "
+
+-#: config/pa/pa.c:8285
++#: config/pa/pa.c:8373
+ #, gcc-internal-format
+ msgid "alignment (%u) for %s exceeds maximum alignment for global common data. Using %u"
+ msgstr ""
+@@ -26172,250 +26117,251 @@
+ msgid "junk at end of #pragma longcall"
+ msgstr "Brol aan einde van signature-string."
+
+-#: config/rs6000/rs6000-c.c:2550
++#: config/rs6000/rs6000-c.c:2553
+ #, fuzzy, gcc-internal-format
+ msgid "passing arg %d of %qE discards qualifiers frompointer target type"
+ msgstr "cast laat qualifiers van doeltype van pointer vallen"
+
+-#: config/rs6000/rs6000-c.c:2593
++#: config/rs6000/rs6000-c.c:2596
+ #, gcc-internal-format
+ msgid "invalid parameter combination for AltiVec intrinsic"
+ msgstr ""
+
+-#: config/rs6000/rs6000.c:1294
++#: config/rs6000/rs6000.c:1312
+ #, gcc-internal-format
+ msgid "-mdynamic-no-pic overrides -fpic or -fPIC"
+ msgstr ""
+
+-#: config/rs6000/rs6000.c:1305
++#: config/rs6000/rs6000.c:1323
+ #, gcc-internal-format
+ msgid "-m64 requires PowerPC64 architecture, enabling"
+ msgstr ""
+
+-#: config/rs6000/rs6000.c:1528
++#: config/rs6000/rs6000.c:1546
+ #, gcc-internal-format
+ msgid "-mmultiple is not supported on little endian systems"
+ msgstr ""
+
+-#: config/rs6000/rs6000.c:1535
++#: config/rs6000/rs6000.c:1553
+ #, gcc-internal-format
+ msgid "-mstring is not supported on little endian systems"
+ msgstr ""
+
+-#: config/rs6000/rs6000.c:1549
++#: config/rs6000/rs6000.c:1567
+ #, gcc-internal-format
+ msgid "unknown -mdebug-%s switch"
+ msgstr ""
+
+-#: config/rs6000/rs6000.c:1561
++#: config/rs6000/rs6000.c:1579
+ #, gcc-internal-format
+ msgid "unknown -mtraceback arg %qs; expecting %<full%>, %<partial%> or %<none%>"
+ msgstr ""
+
+-#: config/rs6000/rs6000.c:1973
++#: config/rs6000/rs6000.c:2003
+ #, fuzzy, gcc-internal-format
+ msgid "unknown -m%s= option specified: '%s'"
+ msgstr "onbekende machine-modus %qs"
+
+-#: config/rs6000/rs6000.c:2186
++#: config/rs6000/rs6000.c:2218
+ #, gcc-internal-format
+ msgid "not configured for ABI: '%s'"
+ msgstr ""
+
+-#: config/rs6000/rs6000.c:2199
++#: config/rs6000/rs6000.c:2231
+ #, gcc-internal-format
+ msgid "Using darwin64 ABI"
+ msgstr ""
+
+-#: config/rs6000/rs6000.c:2204
++#: config/rs6000/rs6000.c:2236
+ #, gcc-internal-format
+ msgid "Using old darwin ABI"
+ msgstr ""
+
+-#: config/rs6000/rs6000.c:2211
++#: config/rs6000/rs6000.c:2243
+ #, gcc-internal-format
+ msgid "Using IBM extended precision long double"
+ msgstr ""
+
+-#: config/rs6000/rs6000.c:2217
++#: config/rs6000/rs6000.c:2249
+ #, gcc-internal-format
+ msgid "Using IEEE extended precision long double"
+ msgstr ""
+
+-#: config/rs6000/rs6000.c:2222
++#: config/rs6000/rs6000.c:2254
+ #, fuzzy, gcc-internal-format
+ msgid "unknown ABI specified: '%s'"
+ msgstr "onbekende machine-modus %qs"
+
+-#: config/rs6000/rs6000.c:2249
++#: config/rs6000/rs6000.c:2281
+ #, fuzzy, gcc-internal-format
+ msgid "invalid option for -mfloat-gprs: '%s'"
+ msgstr "Pngeldige optie %<-%s%>"
+
+-#: config/rs6000/rs6000.c:2259
++#: config/rs6000/rs6000.c:2291
+ #, gcc-internal-format
+ msgid "Unknown switch -mlong-double-%s"
+ msgstr ""
+
+-#: config/rs6000/rs6000.c:2280
++#: config/rs6000/rs6000.c:2312
+ #, gcc-internal-format
+ msgid "-malign-power is not supported for 64-bit Darwin; it is incompatible with the installed C and C++ libraries"
+ msgstr ""
+
+-#: config/rs6000/rs6000.c:2288
++#: config/rs6000/rs6000.c:2320
+ #, fuzzy, gcc-internal-format
+ msgid "unknown -malign-XXXXX option specified: '%s'"
+ msgstr "onbekende machine-modus %qs"
+
+-#: config/rs6000/rs6000.c:4989
++#: config/rs6000/rs6000.c:5087
+ #, gcc-internal-format
+ msgid "GCC vector returned by reference: non-standard ABI extension with no compatibility guarantee"
+ msgstr ""
+
+-#: config/rs6000/rs6000.c:5062
++#: config/rs6000/rs6000.c:5160
+ #, gcc-internal-format
+ msgid "cannot return value in vector register because altivec instructions are disabled, use -maltivec to enable them"
+ msgstr ""
+
+-#: config/rs6000/rs6000.c:5320
++#: config/rs6000/rs6000.c:5418
+ #, gcc-internal-format
+ msgid "cannot pass argument in vector register because altivec instructions are disabled, use -maltivec to enable them"
+ msgstr ""
+
+-#: config/rs6000/rs6000.c:6221
++#: config/rs6000/rs6000.c:6322
+ #, gcc-internal-format
+ msgid "GCC vector passed by reference: non-standard ABI extension with no compatibility guarantee"
+ msgstr ""
+
+-#: config/rs6000/rs6000.c:7461
++#: config/rs6000/rs6000.c:7568
+ #, gcc-internal-format
+ msgid "argument 1 must be a 5-bit signed literal"
+ msgstr ""
+
+-#: config/rs6000/rs6000.c:7564 config/rs6000/rs6000.c:8475
++#: config/rs6000/rs6000.c:7671 config/rs6000/rs6000.c:8582
+ #, gcc-internal-format
+ msgid "argument 2 must be a 5-bit unsigned literal"
+ msgstr ""
+
+-#: config/rs6000/rs6000.c:7604
++#: config/rs6000/rs6000.c:7711
+ #, fuzzy, gcc-internal-format
+ msgid "argument 1 of __builtin_altivec_predicate must be a constant"
+ msgstr "argument voor %<__builtin_args_info%> moet een constante zijn"
+
+-#: config/rs6000/rs6000.c:7657
++#: config/rs6000/rs6000.c:7764
+ #, fuzzy, gcc-internal-format
+ msgid "argument 1 of __builtin_altivec_predicate is out of range"
+ msgstr "argument voor %<__builtin_args_info%> buiten bereik"
+
+-#: config/rs6000/rs6000.c:7906
++#: config/rs6000/rs6000.c:8013
+ #, gcc-internal-format
+ msgid "argument 3 must be a 4-bit unsigned literal"
+ msgstr ""
+
+-#: config/rs6000/rs6000.c:8078
++#: config/rs6000/rs6000.c:8185
+ #, gcc-internal-format
+ msgid "argument to %qs must be a 2-bit unsigned literal"
+ msgstr ""
+
+-#: config/rs6000/rs6000.c:8220
++#: config/rs6000/rs6000.c:8327
+ #, gcc-internal-format
+ msgid "unresolved overload for Altivec builtin %qF"
+ msgstr ""
+
+-#: config/rs6000/rs6000.c:8302
++#: config/rs6000/rs6000.c:8409
+ #, gcc-internal-format
+ msgid "argument to dss must be a 2-bit unsigned literal"
+ msgstr ""
+
+-#: config/rs6000/rs6000.c:8595
++#: config/rs6000/rs6000.c:8702
+ #, fuzzy, gcc-internal-format
+ msgid "argument 1 of __builtin_paired_predicate must be a constant"
+ msgstr "argument voor %<__builtin_args_info%> moet een constante zijn"
+
+-#: config/rs6000/rs6000.c:8642
++#: config/rs6000/rs6000.c:8749
+ #, fuzzy, gcc-internal-format
+ msgid "argument 1 of __builtin_paired_predicate is out of range"
+ msgstr "argument voor %<__builtin_args_info%> buiten bereik"
+
+-#: config/rs6000/rs6000.c:8667
++#: config/rs6000/rs6000.c:8774
+ #, fuzzy, gcc-internal-format
+ msgid "argument 1 of __builtin_spe_predicate must be a constant"
+ msgstr "argument voor %<__builtin_args_info%> moet een constante zijn"
+
+-#: config/rs6000/rs6000.c:8739
++#: config/rs6000/rs6000.c:8846
+ #, fuzzy, gcc-internal-format
+ msgid "argument 1 of __builtin_spe_predicate is out of range"
+ msgstr "argument voor %<__builtin_args_info%> buiten bereik"
+
+-#: config/rs6000/rs6000.c:14977
++#: config/rs6000/rs6000.c:15189
+ #, fuzzy, gcc-internal-format
+ msgid "stack frame too large"
+ msgstr "bestand %qs is te groot"
+
+-#: config/rs6000/rs6000.c:17598
++#: config/rs6000/rs6000.c:17811
+ #, gcc-internal-format
+ msgid "no profiling of 64-bit code for this ABI"
+ msgstr ""
+
+-#: config/rs6000/rs6000.c:19470
++#: config/rs6000/rs6000.c:19687
+ #, gcc-internal-format
+ msgid "use of %<long%> in AltiVec types is invalid for 64-bit code"
+ msgstr ""
+
+-#: config/rs6000/rs6000.c:19472
++#: config/rs6000/rs6000.c:19689
+ #, gcc-internal-format
+ msgid "use of %<long%> in AltiVec types is deprecated; use %<int%>"
+ msgstr ""
+
+-#: config/rs6000/rs6000.c:19476
++#: config/rs6000/rs6000.c:19693
+ #, gcc-internal-format
+ msgid "use of %<long long%> in AltiVec types is invalid"
+ msgstr ""
+
+-#: config/rs6000/rs6000.c:19478
++#: config/rs6000/rs6000.c:19695
+ #, gcc-internal-format
+ msgid "use of %<double%> in AltiVec types is invalid"
+ msgstr ""
+
+-#: config/rs6000/rs6000.c:19480
++#: config/rs6000/rs6000.c:19697
+ #, gcc-internal-format
+ msgid "use of %<long double%> in AltiVec types is invalid"
+ msgstr ""
+
+-#: config/rs6000/rs6000.c:19482
++#: config/rs6000/rs6000.c:19699
+ #, gcc-internal-format
+ msgid "use of boolean types in AltiVec types is invalid"
+ msgstr ""
+
+-#: config/rs6000/rs6000.c:19484
++#: config/rs6000/rs6000.c:19701
+ #, gcc-internal-format
+ msgid "use of %<complex%> in AltiVec types is invalid"
+ msgstr ""
+
+-#: config/rs6000/rs6000.c:19486
++#: config/rs6000/rs6000.c:19703
+ #, gcc-internal-format
+ msgid "use of decimal floating point types in AltiVec types is invalid"
+ msgstr ""
+
+ #: config/rs6000/aix43.h:38 config/rs6000/aix51.h:37 config/rs6000/aix52.h:38
+-#: config/rs6000/aix53.h:38
++#: config/rs6000/aix53.h:38 config/rs6000/aix61.h:38
+ #, fuzzy, gcc-internal-format
+ msgid "-maix64 and POWER architecture are incompatible"
+ msgstr "-fpic en -mapcs-reent zijn niet compatibel"
+
+ #: config/rs6000/aix43.h:43 config/rs6000/aix51.h:42 config/rs6000/aix52.h:43
+-#: config/rs6000/aix53.h:43
++#: config/rs6000/aix53.h:43 config/rs6000/aix61.h:43
+ #, gcc-internal-format
+ msgid "-maix64 requires PowerPC64 architecture remain enabled"
+ msgstr ""
+
+ #: config/rs6000/aix43.h:49 config/rs6000/aix52.h:49 config/rs6000/aix53.h:49
++#: config/rs6000/aix61.h:49
+ #, fuzzy, gcc-internal-format
+ msgid "soft-float and long-double-128 are incompatible"
+ msgstr "-fpic en -mapcs-reent zijn niet compatibel"
+
+ #: config/rs6000/aix43.h:53 config/rs6000/aix51.h:46 config/rs6000/aix52.h:53
+-#: config/rs6000/aix53.h:53
++#: config/rs6000/aix53.h:53 config/rs6000/aix61.h:53
+ #, gcc-internal-format
+ msgid "-maix64 required: 64-bit computation with 32-bit addressing not yet supported"
+ msgstr ""
+@@ -26457,7 +26403,7 @@
+ #. Number of bytes into the frame return addresses can be found. See
+ #. rs6000_stack_info in rs6000.c for more information on how the different
+ #. abi's store the return address.
+-#: config/rs6000/rs6000.h:1560
++#: config/rs6000/rs6000.h:1569
+ #, gcc-internal-format
+ msgid "RETURN_ADDRESS_OFFSET not supported"
+ msgstr ""
+@@ -26580,22 +26526,22 @@
+ msgid "-mstack-guard implies use of -mstack-size"
+ msgstr ""
+
+-#: config/s390/s390.c:6640
++#: config/s390/s390.c:6679
+ #, gcc-internal-format
+ msgid "total size of local variables exceeds architecture limit"
+ msgstr ""
+
+-#: config/s390/s390.c:7298
++#: config/s390/s390.c:7349
+ #, fuzzy, gcc-internal-format
+ msgid "frame size of function %qs is "
+ msgstr "opslaggrootte van %qs is onbekend"
+
+-#: config/s390/s390.c:7328
++#: config/s390/s390.c:7379
+ #, fuzzy, gcc-internal-format
+ msgid "frame size of %qs is "
+ msgstr "opslaggrootte van %qs is onbekend"
+
+-#: config/s390/s390.c:7332
++#: config/s390/s390.c:7383
+ #, gcc-internal-format
+ msgid "%qs uses dynamic stack allocation"
+ msgstr ""
+@@ -26605,44 +26551,44 @@
+ msgid "-fPIC and -G are incompatible"
+ msgstr "-fpic en -mapcs-reent zijn niet compatibel"
+
+-#: config/sh/sh.c:6894
++#: config/sh/sh.c:6897
+ #, gcc-internal-format
+ msgid "__builtin_saveregs not supported by this subtarget"
+ msgstr "__builtin_saveregs wordt niet ondersteund door dit sub-doelsysteem"
+
+-#: config/sh/sh.c:7904
++#: config/sh/sh.c:7907
+ #, fuzzy, gcc-internal-format
+ msgid "%qs attribute only applies to interrupt functions"
+ msgstr "het %qs attribuut heeft enkel betekenis voor functies"
+
+-#: config/sh/sh.c:7990
++#: config/sh/sh.c:7993
+ #, gcc-internal-format
+ msgid "attribute interrupt_handler is not compatible with -m5-compact"
+ msgstr ""
+
+ #. The argument must be a constant string.
+-#: config/sh/sh.c:8012
++#: config/sh/sh.c:8015
+ #, fuzzy, gcc-internal-format
+ msgid "%qs attribute argument not a string constant"
+ msgstr "asm-template is geen stringconstante"
+
+ #. The argument must be a constant integer.
+-#: config/sh/sh.c:8037
++#: config/sh/sh.c:8040
+ #, fuzzy, gcc-internal-format
+ msgid "%qs attribute argument not an integer constant"
+ msgstr "herhalings-aantal is geen integerconstante"
+
+-#: config/sh/sh.c:10085
++#: config/sh/sh.c:10084
+ #, gcc-internal-format
+ msgid "r0 needs to be available as a call-clobbered register"
+ msgstr ""
+
+-#: config/sh/sh.c:10106
++#: config/sh/sh.c:10105
+ #, gcc-internal-format
+ msgid "Need a second call-clobbered general purpose register"
+ msgstr ""
+
+-#: config/sh/sh.c:10114
++#: config/sh/sh.c:10113
+ #, gcc-internal-format
+ msgid "Need a call-clobbered target register"
+ msgstr ""
+@@ -26672,7 +26618,7 @@
+ msgid "%s %q+D %s after being referenced with dllimport linkage"
+ msgstr ""
+
+-#: config/sh/symbian.c:891 cp/tree.c:2737
++#: config/sh/symbian.c:891 cp/tree.c:2753
+ #, gcc-internal-format
+ msgid "lang_* check: failed in %s, at %s:%d"
+ msgstr ""
+@@ -26715,17 +26661,17 @@
+ msgid "-mrelax is only supported for RTP PIC"
+ msgstr "sectie-attributen worden niet ondersteund op dit doelsysteem"
+
+-#: config/sparc/sparc.c:698
++#: config/sparc/sparc.c:701
+ #, gcc-internal-format
+ msgid "%s is not supported by this configuration"
+ msgstr ""
+
+-#: config/sparc/sparc.c:705
++#: config/sparc/sparc.c:708
+ #, gcc-internal-format
+ msgid "-mlong-double-64 not allowed with -m64"
+ msgstr ""
+
+-#: config/sparc/sparc.c:730
++#: config/sparc/sparc.c:733
+ #, gcc-internal-format
+ msgid "-mcmodel= is not supported on 32 bit systems"
+ msgstr ""
+@@ -26745,67 +26691,57 @@
+ msgid "parameter list does not match a valid signature for %s()"
+ msgstr ""
+
+-#: config/spu/spu.c:337 config/spu/spu.c:348
++#: config/spu/spu.c:341 config/spu/spu.c:352
+ #, fuzzy, gcc-internal-format
+ msgid "Unknown architecture '%s'"
+ msgstr "onbekende machine-modus %qs"
+
+-#: config/spu/spu.c:3034
++#: config/spu/spu.c:3023
+ #, fuzzy, gcc-internal-format
+ msgid "`%s' attribute ignored"
+ msgstr "het %qs attribuut wordt genegeerd"
+
+-#: config/spu/spu.c:5218
++#: config/spu/spu.c:5207
+ #, gcc-internal-format
+ msgid "%s expects an integer literal in the range [%d, %d]."
+ msgstr ""
+
+-#: config/spu/spu.c:5238
++#: config/spu/spu.c:5227
+ #, gcc-internal-format
+ msgid "%s expects an integer literal in the range [%d, %d]. ("
+ msgstr ""
+
+-#: config/spu/spu.c:5268
++#: config/spu/spu.c:5257
+ #, gcc-internal-format
+ msgid "%d least significant bits of %s are ignored."
+ msgstr ""
+
+-#: config/stormy16/stormy16.c:499
+-#, fuzzy, gcc-internal-format
+-msgid "constant halfword load operand out of range"
+-msgstr "te veel argumenten voor procedure `%s'"
+-
+-#: config/stormy16/stormy16.c:509
+-#, fuzzy, gcc-internal-format
+-msgid "constant arithmetic operand out of range"
+-msgstr "te veel argumenten voor procedure `%s'"
+-
+-#: config/stormy16/stormy16.c:1108
++#: config/stormy16/stormy16.c:1080
+ #, gcc-internal-format
+ msgid "local variable memory requirements exceed capacity"
+ msgstr ""
+
+-#: config/stormy16/stormy16.c:1274
++#: config/stormy16/stormy16.c:1246
+ #, gcc-internal-format
+ msgid "function_profiler support"
+ msgstr ""
+
+-#: config/stormy16/stormy16.c:1363
++#: config/stormy16/stormy16.c:1335
+ #, fuzzy, gcc-internal-format
+ msgid "cannot use va_start in interrupt function"
+ msgstr "kan functie %<main%> niet inline maken"
+
+-#: config/stormy16/stormy16.c:1906
++#: config/stormy16/stormy16.c:1879
+ #, fuzzy, gcc-internal-format
+ msgid "switch statement of size %lu entries too large"
+ msgstr "variabele %qs is te groot"
+
+-#: config/stormy16/stormy16.c:2274
++#: config/stormy16/stormy16.c:2247
+ #, fuzzy, gcc-internal-format
+ msgid "%<__BELOW100__%> attribute only applies to variables"
+ msgstr "het %qs attribuut heeft geen betekenis voor types"
+
+-#: config/stormy16/stormy16.c:2281
++#: config/stormy16/stormy16.c:2254
+ #, fuzzy, gcc-internal-format
+ msgid "__BELOW100__ attribute not allowed with auto storage class"
+ msgstr "het %qs attribuut heeft geen betekenis voor types"
+@@ -26938,347 +26874,347 @@
+ msgid "too much stack space to prepare: %d"
+ msgstr ""
+
+-#: config/xtensa/xtensa.c:1861
++#: config/xtensa/xtensa.c:1865
+ #, gcc-internal-format
+ msgid "boolean registers required for the floating-point option"
+ msgstr ""
+
+-#: config/xtensa/xtensa.c:1896
++#: config/xtensa/xtensa.c:1900
+ #, fuzzy, gcc-internal-format
+ msgid "-f%s is not supported with CONST16 instructions"
+ msgstr "doel-CPU ondersteunt geen interworking"
+
+-#: config/xtensa/xtensa.c:1901
++#: config/xtensa/xtensa.c:1905
+ #, gcc-internal-format
+ msgid "PIC is required but not supported with CONST16 instructions"
+ msgstr ""
+
+-#: config/xtensa/xtensa.c:2745 config/xtensa/xtensa.c:2765
++#: config/xtensa/xtensa.c:2770 config/xtensa/xtensa.c:2790
+ #, fuzzy, gcc-internal-format
+ msgid "bad builtin code"
+ msgstr "slechte conditiecode"
+
+-#: config/xtensa/xtensa.c:2873
++#: config/xtensa/xtensa.c:2898
+ #, fuzzy, gcc-internal-format
+ msgid "only uninitialized variables can be placed in a .bss section"
+ msgstr "Enkel variabelen met beginwaarde kunnen in het 8-bit gebied geplaatst worden."
+
+-#: ada/misc.c:261
++#: ada/misc.c:260
+ #, fuzzy, gcc-internal-format
+ msgid "missing argument to \"-%s\""
+ msgstr "Bestandsnaam ontbreekt na %qs optie"
+
+-#: ada/misc.c:311
++#: ada/misc.c:310
+ #, gcc-internal-format
+ msgid "%<-gnat%> misspelled as %<-gant%>"
+ msgstr ""
+
+-#: cp/call.c:2462
++#: cp/call.c:2448
+ #, gcc-internal-format
+ msgid "%s %D(%T, %T, %T) <built-in>"
+ msgstr ""
+
+-#: cp/call.c:2467
++#: cp/call.c:2453
+ #, gcc-internal-format
+ msgid "%s %D(%T, %T) <built-in>"
+ msgstr ""
+
+-#: cp/call.c:2471
++#: cp/call.c:2457
+ #, gcc-internal-format
+ msgid "%s %D(%T) <built-in>"
+ msgstr ""
+
+-#: cp/call.c:2475
++#: cp/call.c:2461
+ #, gcc-internal-format
+ msgid "%s %T <conversion>"
+ msgstr ""
+
+-#: cp/call.c:2477
++#: cp/call.c:2463
+ #, gcc-internal-format
+ msgid "%s %+#D <near match>"
+ msgstr ""
+
+-#: cp/call.c:2479 cp/pt.c:1397
++#: cp/call.c:2465 cp/pt.c:1405
+ #, gcc-internal-format
+ msgid "%s %+#D"
+ msgstr ""
+
+-#: cp/call.c:2720
++#: cp/call.c:2706
+ #, fuzzy, gcc-internal-format
+ msgid "conversion from %qT to %qT is ambiguous"
+ msgstr "ongeldige registernaam voor %qs"
+
+-#: cp/call.c:2873 cp/call.c:2891 cp/call.c:2954
++#: cp/call.c:2859 cp/call.c:2877 cp/call.c:2940
+ #, fuzzy, gcc-internal-format
+ msgid "no matching function for call to %<%D(%A)%>"
+ msgstr "Teveel argumenten in oproep van %qs"
+
+-#: cp/call.c:2894 cp/call.c:2957
++#: cp/call.c:2880 cp/call.c:2943
+ #, 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.c:3029
++#: cp/call.c:3015
+ #, gcc-internal-format
+ msgid "pointer-to-member function %E cannot be called without an object; consider using .* or ->*"
+ msgstr ""
+
+-#: cp/call.c:3103
++#: cp/call.c:3089
+ #, fuzzy, gcc-internal-format
+ msgid "no match for call to %<(%T) (%A)%>"
+ msgstr "Teveel argumenten in oproep van %qs"
+
+-#: cp/call.c:3112
++#: cp/call.c:3098
+ #, fuzzy, gcc-internal-format
+ msgid "call of %<(%T) (%A)%> is ambiguous"
+ msgstr "grootte van %qs is %u bytes"
+
+-#: cp/call.c:3150
++#: cp/call.c:3136
+ #, gcc-internal-format
+ msgid "%s for ternary %<operator?:%> in %<%E ? %E : %E%>"
+ msgstr ""
+
+-#: cp/call.c:3156
++#: cp/call.c:3142
+ #, gcc-internal-format
+ msgid "%s for %<operator%s%> in %<%E%s%>"
+ msgstr ""
+
+-#: cp/call.c:3160
++#: cp/call.c:3146
+ #, gcc-internal-format
+ msgid "%s for %<operator[]%> in %<%E[%E]%>"
+ msgstr ""
+
+-#: cp/call.c:3165
++#: cp/call.c:3151
+ #, gcc-internal-format
+ msgid "%s for %qs in %<%s %E%>"
+ msgstr ""
+
+-#: cp/call.c:3170
++#: cp/call.c:3156
+ #, gcc-internal-format
+ msgid "%s for %<operator%s%> in %<%E %s %E%>"
+ msgstr ""
+
+-#: cp/call.c:3173
++#: cp/call.c:3159
+ #, gcc-internal-format
+ msgid "%s for %<operator%s%> in %<%s%E%>"
+ msgstr ""
+
+-#: cp/call.c:3265
++#: cp/call.c:3251
+ #, fuzzy, gcc-internal-format
+ msgid "ISO C++ forbids omitting the middle term of a ?: expression"
+ msgstr "ISO C++ verbiedt het weglaten van de middelste term van een ?: expresie"
+
+-#: cp/call.c:3343
++#: cp/call.c:3329
+ #, gcc-internal-format
+ msgid "second operand to the conditional operator is of type %<void%>, but the third operand is neither a throw-expression nor of type %<void%>"
+ msgstr ""
+
+-#: cp/call.c:3348
++#: cp/call.c:3334
+ #, gcc-internal-format
+ msgid "third operand to the conditional operator is of type %<void%>, but the second operand is neither a throw-expression nor of type %<void%>"
+ msgstr ""
+
+-#: cp/call.c:3389 cp/call.c:3609
++#: cp/call.c:3375 cp/call.c:3595
+ #, fuzzy, gcc-internal-format
+ msgid "operands to ?: have different types %qT and %qT"
+ msgstr "vergelijking tussen pointer en integer"
+
+-#: cp/call.c:3563
++#: cp/call.c:3549
+ #, fuzzy, gcc-internal-format
+ msgid "enumeral mismatch in conditional expression: %qT vs %qT"
+ msgstr "types in voorwaardelijke expressie komen niet overeen"
+
+-#: cp/call.c:3570
++#: cp/call.c:3556
+ #, gcc-internal-format
+ msgid "enumeral and non-enumeral type in conditional expression"
+ msgstr ""
+
+-#: cp/call.c:3874
++#: cp/call.c:3860
+ #, gcc-internal-format
+ msgid "no %<%D(int)%> declared for postfix %qs, trying prefix operator instead"
+ msgstr ""
+
+-#: cp/call.c:3947
++#: cp/call.c:3936
+ #, fuzzy, gcc-internal-format
+ msgid "comparison between %q#T and %q#T"
+ msgstr "vergelijking tussen signed en unsigned"
+
+-#: cp/call.c:4229
++#: cp/call.c:4218
+ #, gcc-internal-format
+ msgid "no corresponding deallocation function for `%D'"
+ msgstr ""
+
+-#: cp/call.c:4234
++#: cp/call.c:4223
+ #, gcc-internal-format
+ msgid "no suitable %<operator %s%> for %qT"
+ msgstr ""
+
+-#: cp/call.c:4252
++#: cp/call.c:4241
+ #, fuzzy, gcc-internal-format
+ msgid "%q+#D is private"
+ msgstr "%<%.*s%> is niet gedefinieerd"
+
+-#: cp/call.c:4254
++#: cp/call.c:4243
+ #, fuzzy, gcc-internal-format
+ msgid "%q+#D is protected"
+ msgstr "%<%.*s%> is niet gedefinieerd"
+
+-#: cp/call.c:4256
++#: cp/call.c:4245
+ #, fuzzy, gcc-internal-format
+ msgid "%q+#D is inaccessible"
+ msgstr "%s is niet addresseerbaar"
+
+-#: cp/call.c:4257
++#: cp/call.c:4246
+ #, gcc-internal-format
+ msgid "within this context"
+ msgstr ""
+
+-#: cp/call.c:4303
++#: cp/call.c:4292
+ #, fuzzy, gcc-internal-format
+ msgid "passing NULL to non-pointer argument %P of %qD"
+ msgstr "doorgeven van argument %d van %qs"
+
+-#: cp/call.c:4306
++#: cp/call.c:4295
+ #, gcc-internal-format
+ msgid "converting to non-pointer type %qT from NULL"
+ msgstr ""
+
+-#: cp/call.c:4312
++#: cp/call.c:4301
+ #, fuzzy, gcc-internal-format
+ msgid "converting %<false%> to pointer type for argument %P of %qD"
+ msgstr "doorgeven van argument %d van %qs"
+
+-#: cp/call.c:4356 cp/cvt.c:217
++#: cp/call.c:4346 cp/cvt.c:217
+ #, fuzzy, gcc-internal-format
+ msgid "invalid conversion from %qT to %qT"
+ msgstr "ongeldige registernaam voor %qs"
+
+ # Is the %s the argument, or is it 'of' the argument?
+-#: cp/call.c:4358
++#: cp/call.c:4348
+ #, fuzzy, gcc-internal-format
+ msgid " initializing argument %P of %qD"
+ msgstr "ongeldig type-argument %qs"
+
+-#: cp/call.c:4491
++#: cp/call.c:4498
+ #, fuzzy, gcc-internal-format
+ msgid "cannot bind bitfield %qE to %qT"
+ msgstr "niet-constante beginwaarde voor %qs"
+
+-#: cp/call.c:4494 cp/call.c:4510
++#: cp/call.c:4501 cp/call.c:4517
+ #, gcc-internal-format
+ msgid "cannot bind packed field %qE to %qT"
+ msgstr ""
+
+-#: cp/call.c:4497
++#: cp/call.c:4504
+ #, fuzzy, gcc-internal-format
+ msgid "cannot bind rvalue %qE to %qT"
+ msgstr "niet-constante beginwaarde voor %qs"
+
+-#: cp/call.c:4611
++#: cp/call.c:4620
+ #, gcc-internal-format
+ msgid "cannot pass objects of non-POD type %q#T through %<...%>; call will abort at runtime"
+ msgstr ""
+
+ #. Undefined behavior [expr.call] 5.2.2/7.
+-#: cp/call.c:4639
++#: cp/call.c:4648
+ #, gcc-internal-format
+ msgid "cannot receive objects of non-POD type %q#T through %<...%>; call will abort at runtime"
+ msgstr ""
+
+-#: cp/call.c:4687
++#: cp/call.c:4696
+ #, fuzzy, gcc-internal-format
+ msgid "the default argument for parameter %d of %qD has not yet been parsed"
+ msgstr "argumenten aan macro %qs gegeven"
+
+-#: cp/call.c:4697
++#: cp/call.c:4706
+ #, fuzzy, gcc-internal-format
+ msgid "recursive evaluation of default argument for %q#D"
+ msgstr "herdefinitie van %<struct %s%>"
+
+-#: cp/call.c:4802
++#: cp/call.c:4811
+ #, fuzzy, gcc-internal-format
+ msgid "argument of function call might be a candidate for a format attribute"
+ msgstr "deze functie is een mogelijke kandidaat voor het %<noreturn%> attribuut"
+
+-#: cp/call.c:4950
++#: cp/call.c:4959
+ #, gcc-internal-format
+ msgid "passing %qT as %<this%> argument of %q#D discards qualifiers"
+ msgstr ""
+
+-#: cp/call.c:4969
++#: cp/call.c:4978
+ #, fuzzy, gcc-internal-format
+ msgid "%qT is not an accessible base of %qT"
+ msgstr "%qs is geen bestand, pipe of tty"
+
+-#: cp/call.c:5229
++#: cp/call.c:5238
+ #, gcc-internal-format
+ msgid "could not find class$ field in java interface type %qT"
+ msgstr ""
+
+-#: cp/call.c:5470
++#: cp/call.c:5479
+ #, fuzzy, gcc-internal-format
+ msgid "call to non-function %qD"
+ msgstr "kan functie %<main%> niet inline maken"
+
+-#: cp/call.c:5595
++#: cp/call.c:5604
+ #, fuzzy, gcc-internal-format
+ msgid "no matching function for call to %<%T::%s(%A)%#V%>"
+ msgstr "Teveel argumenten in oproep van %qs"
+
+-#: cp/call.c:5613
++#: cp/call.c:5622
+ #, gcc-internal-format
+ msgid "call of overloaded %<%s(%A)%> is ambiguous"
+ msgstr ""
+
+-#: cp/call.c:5639
++#: cp/call.c:5648
+ #, gcc-internal-format
+ msgid "cannot call member function %qD without object"
+ msgstr ""
+
+-#: cp/call.c:6283
++#: cp/call.c:6307
+ #, fuzzy, gcc-internal-format
+ msgid "passing %qT chooses %qT over %qT"
+ msgstr "doorgeven van argument %d van %qs"
+
+-#: cp/call.c:6285 cp/name-lookup.c:4320 cp/name-lookup.c:4753
++#: cp/call.c:6309 cp/name-lookup.c:4322 cp/name-lookup.c:4757
+ #, fuzzy, gcc-internal-format
+ msgid " in call to %qD"
+ msgstr "kan oproep van %qs niet inline maken"
+
+-#: cp/call.c:6342
++#: cp/call.c:6366
+ #, gcc-internal-format
+ msgid "choosing %qD over %qD"
+ msgstr ""
+
+-#: cp/call.c:6343
++#: cp/call.c:6367
+ #, fuzzy, gcc-internal-format
+ msgid " for conversion from %qT to %qT"
+ msgstr "ongeldige registernaam voor %qs"
+
+-#: cp/call.c:6345
++#: cp/call.c:6369
+ #, gcc-internal-format
+ msgid " because conversion sequence for the argument is better"
+ msgstr ""
+
+-#: cp/call.c:6459
++#: cp/call.c:6483
+ #, 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 ""
+
+ # 'regio' klinkt niet echt, maar 'streek' lijkt me nog slechter
+-#: cp/call.c:6603
++#: cp/call.c:6627
+ #, fuzzy, gcc-internal-format
+ msgid "could not convert %qE to %qT"
+ msgstr "kon 0x%l.8x niet naar een regio omzetten"
+
+-#: cp/call.c:6737
++#: cp/call.c:6761
+ #, gcc-internal-format
+ msgid "invalid initialization of non-const reference of type %qT from a temporary of type %qT"
+ msgstr ""
+
+-#: cp/call.c:6741
++#: cp/call.c:6765
+ #, gcc-internal-format
+ msgid "invalid initialization of reference of type %qT from expression of type %qT"
+ msgstr ""
+@@ -27288,343 +27224,343 @@
+ msgid "cannot convert from base %qT to derived type %qT via virtual base %qT"
+ msgstr ""
+
+-#: cp/class.c:961
++#: cp/class.c:971
+ #, gcc-internal-format
+ msgid "Java class %qT cannot have a destructor"
+ msgstr ""
+
+-#: cp/class.c:963
++#: cp/class.c:973
+ #, gcc-internal-format
+ msgid "Java class %qT cannot have an implicit non-trivial destructor"
+ msgstr ""
+
+-#: cp/class.c:1062
++#: cp/class.c:1074
+ #, fuzzy, gcc-internal-format
+ msgid "repeated using declaration %q+D"
+ msgstr "lege declaratie"
+
+-#: cp/class.c:1064
++#: cp/class.c:1076
+ #, fuzzy, gcc-internal-format
+ msgid "using declaration %q+D conflicts with a previous using declaration"
+ msgstr "%Jsectie van %qD geeft een conflict met een eerdere declaratie"
+
+-#: cp/class.c:1069
++#: cp/class.c:1081
+ #, fuzzy, gcc-internal-format
+ msgid "%q+#D cannot be overloaded"
+ msgstr "%<%.*s%> is niet gedefinieerd"
+
+-#: cp/class.c:1070
++#: cp/class.c:1082
+ #, fuzzy, gcc-internal-format
+ msgid "with %q+#D"
+ msgstr "%s voor %qs"
+
+-#: cp/class.c:1137
++#: cp/class.c:1149
+ #, gcc-internal-format
+ msgid "conflicting access specifications for method %q+D, ignored"
+ msgstr ""
+
+-#: cp/class.c:1140
++#: cp/class.c:1152
+ #, gcc-internal-format
+ msgid "conflicting access specifications for field %qE, ignored"
+ msgstr ""
+
+-#: cp/class.c:1201 cp/class.c:1209
++#: cp/class.c:1213 cp/class.c:1221
+ #, fuzzy, gcc-internal-format
+ msgid "%q+D invalid in %q#T"
+ msgstr "Ongeldige optie %qs"
+
+-#: cp/class.c:1202
++#: cp/class.c:1214
+ #, gcc-internal-format
+ msgid " because of local method %q+#D with same name"
+ msgstr ""
+
+-#: cp/class.c:1210
++#: cp/class.c:1222
+ #, gcc-internal-format
+ msgid " because of local member %q+#D with same name"
+ msgstr ""
+
+-#: cp/class.c:1253
++#: cp/class.c:1265
+ #, fuzzy, gcc-internal-format
+ msgid "base class %q#T has a non-virtual destructor"
+ msgstr "veld %qs heeft een onvolledig type"
+
+-#: cp/class.c:1570
++#: cp/class.c:1582
+ #, gcc-internal-format
+ msgid "all member functions in class %qT are private"
+ msgstr ""
+
+-#: cp/class.c:1582
++#: cp/class.c:1594
+ #, gcc-internal-format
+ msgid "%q#T only defines a private destructor and has no friends"
+ msgstr ""
+
+-#: cp/class.c:1626
++#: cp/class.c:1639
+ #, gcc-internal-format
+ msgid "%q#T only defines private constructors and has no friends"
+ msgstr ""
+
+-#: cp/class.c:2019
++#: cp/class.c:2032
+ #, gcc-internal-format
+ msgid "no unique final overrider for %qD in %qT"
+ msgstr ""
+
+ #. Here we know it is a hider, and no overrider exists.
+-#: cp/class.c:2439
++#: cp/class.c:2452
+ #, gcc-internal-format
+ msgid "%q+D was hidden"
+ msgstr ""
+
+-#: cp/class.c:2440
++#: cp/class.c:2453
+ #, fuzzy, gcc-internal-format
+ msgid " by %q+D"
+ msgstr "%s voor %qs"
+
+-#: cp/class.c:2483 cp/decl2.c:1135
++#: cp/class.c:2496 cp/decl2.c:1178
+ #, fuzzy, gcc-internal-format
+ msgid "%q+#D invalid; an anonymous union can only have non-static data members"
+ msgstr "ongeldig gebruik van onvolledige typedef %qs"
+
+-#: cp/class.c:2486
++#: cp/class.c:2499
+ #, fuzzy, gcc-internal-format
+ msgid "%q+#D invalid; an anonymous struct can only have non-static data members"
+ msgstr "ongeldig gebruik van onvolledige typedef %qs"
+
+-#: cp/class.c:2494 cp/decl2.c:1141
++#: cp/class.c:2507 cp/decl2.c:1184
+ #, fuzzy, gcc-internal-format
+ msgid "private member %q+#D in anonymous union"
+ msgstr "%<this%> is niet beschikbaar in static member-funties"
+
+-#: cp/class.c:2496
++#: cp/class.c:2509
+ #, fuzzy, gcc-internal-format
+ msgid "private member %q+#D in anonymous struct"
+ msgstr "%<this%> is niet beschikbaar in static member-funties"
+
+-#: cp/class.c:2501 cp/decl2.c:1143
++#: cp/class.c:2514 cp/decl2.c:1186
+ #, gcc-internal-format
+ msgid "protected member %q+#D in anonymous union"
+ msgstr ""
+
+-#: cp/class.c:2503
++#: cp/class.c:2516
+ #, fuzzy, gcc-internal-format
+ msgid "protected member %q+#D in anonymous struct"
+ msgstr "%<this%> is niet beschikbaar in static member-funties"
+
+-#: cp/class.c:2677
++#: cp/class.c:2695
+ #, fuzzy, gcc-internal-format
+ msgid "bit-field %q+#D with non-integral type"
+ msgstr "breedte van bitveld %qs is geen integerconstante"
+
+-#: cp/class.c:2690
++#: cp/class.c:2708
+ #, fuzzy, gcc-internal-format
+ msgid "bit-field %q+D width not an integer constant"
+ msgstr "breedte van bitveld %qs is geen integerconstante"
+
+-#: cp/class.c:2695
++#: cp/class.c:2713
+ #, fuzzy, gcc-internal-format
+ msgid "negative width in bit-field %q+D"
+ msgstr "bitveld %qs heeft een negatieve breedte"
+
+-#: cp/class.c:2700
++#: cp/class.c:2718
+ #, fuzzy, gcc-internal-format
+ msgid "zero width for bit-field %q+D"
+ msgstr "bitveld %qs heeft breedte 0"
+
+-#: cp/class.c:2706
++#: cp/class.c:2724
+ #, fuzzy, gcc-internal-format
+ msgid "width of %q+D exceeds its type"
+ msgstr "breedte van %qs overschrijdt zijn type"
+
+-#: cp/class.c:2715
++#: cp/class.c:2733
+ #, fuzzy, gcc-internal-format
+ msgid "%q+D is too small to hold all values of %q#T"
+ msgstr "%qs is geen bestand, pipe of tty"
+
+-#: cp/class.c:2772
++#: cp/class.c:2790
+ #, gcc-internal-format
+ msgid "member %q+#D with constructor not allowed in union"
+ msgstr ""
+
+-#: cp/class.c:2775
++#: cp/class.c:2793
+ #, fuzzy, gcc-internal-format
+ msgid "member %q+#D with destructor not allowed in union"
+ msgstr "kan het %qs attribuut niet instellen na een definitie"
+
+-#: cp/class.c:2777
++#: cp/class.c:2795
+ #, gcc-internal-format
+ msgid "member %q+#D with copy assignment operator not allowed in union"
+ msgstr ""
+
+-#: cp/class.c:2801
++#: cp/class.c:2819
+ #, fuzzy, gcc-internal-format
+ msgid "multiple fields in union %qT initialized"
+ msgstr "overtollige elementen in beginwaarde van union"
+
+-#: cp/class.c:2890
++#: cp/class.c:2908
+ #, fuzzy, gcc-internal-format
+ msgid "%q+D may not be static because it is a member of a union"
+ msgstr "%<this%> is niet beschikbaar in static member-funties"
+
+-#: cp/class.c:2895
++#: cp/class.c:2913
+ #, fuzzy, gcc-internal-format
+ msgid "%q+D may not have reference type %qT because it is a member of a union"
+ msgstr "%<this%> is niet beschikbaar in static member-funties"
+
+-#: cp/class.c:2906
++#: cp/class.c:2924
+ #, fuzzy, gcc-internal-format
+ msgid "field %q+D invalidly declared function type"
+ msgstr "veld %qs als een functie gedeclareerd"
+
+-#: cp/class.c:2912
++#: cp/class.c:2930
+ #, fuzzy, gcc-internal-format
+ msgid "field %q+D invalidly declared method type"
+ msgstr "bitveld %qs heeft een ongeldig type"
+
+-#: cp/class.c:2944
+-#, gcc-internal-format
+-msgid "non-static reference %q+#D in class without a constructor"
+-msgstr ""
+-
+-#: cp/class.c:2955
++#: cp/class.c:2968
+ #, fuzzy, gcc-internal-format
+ msgid "ignoring packed attribute because of unpacked non-POD field %q+#D"
+ msgstr "het %<%s%> attribuut wordt genegeerd voor %qs"
+
+-#: cp/class.c:3022
++#: cp/class.c:3047
+ #, gcc-internal-format
+-msgid "non-static const member %q+#D in class without a constructor"
+-msgstr ""
+-
+-#: cp/class.c:3037
+-#, gcc-internal-format
+ msgid "field %q+#D with same name as class"
+ msgstr ""
+
+-#: cp/class.c:3068
++#: cp/class.c:3078
+ #, fuzzy, gcc-internal-format
+ msgid "%q#T has pointer data members"
+ msgstr "%s heeft geen benoemde leden"
+
+-#: cp/class.c:3073
++#: cp/class.c:3083
+ #, gcc-internal-format
+ msgid " but does not override %<%T(const %T&)%>"
+ msgstr ""
+
+-#: cp/class.c:3075
++#: cp/class.c:3085
+ #, gcc-internal-format
+ msgid " or %<operator=(const %T&)%>"
+ msgstr ""
+
+-#: cp/class.c:3079
++#: cp/class.c:3089
+ #, gcc-internal-format
+ msgid " but does not override %<operator=(const %T&)%>"
+ msgstr ""
+
+-#: cp/class.c:3540
++#: cp/class.c:3550
+ #, gcc-internal-format
+ msgid "offset of empty base %qT may not be ABI-compliant and maychange in a future version of GCC"
+ msgstr ""
+
+-#: cp/class.c:3665
++#: cp/class.c:3675
+ #, gcc-internal-format
+ msgid "class %qT will be considered nearly empty in a future version of GCC"
+ msgstr ""
+
+-#: cp/class.c:3747
++#: cp/class.c:3757
+ #, fuzzy, gcc-internal-format
+ msgid "initializer specified for non-virtual method %q+D"
+ msgstr "geen beginwaarde voor variant-veld %qs"
+
+-#: cp/class.c:4412
++#: cp/class.c:4228
+ #, gcc-internal-format
++msgid "non-static reference %q+#D in class without a constructor"
++msgstr ""
++
++#: cp/class.c:4233
++#, gcc-internal-format
++msgid "non-static const member %q+#D in class without a constructor"
++msgstr ""
++
++#: cp/class.c:4488
++#, gcc-internal-format
+ msgid "offset of virtual base %qT is not ABI-compliant and may change in a future version of GCC"
+ msgstr ""
+
+-#: cp/class.c:4513
++#: cp/class.c:4589
+ #, gcc-internal-format
+ msgid "direct base %qT inaccessible in %qT due to ambiguity"
+ msgstr ""
+
+-#: cp/class.c:4525
++#: cp/class.c:4601
+ #, gcc-internal-format
+ msgid "virtual base %qT inaccessible in %qT due to ambiguity"
+ msgstr ""
+
+-#: cp/class.c:4704
++#: cp/class.c:4780
+ #, gcc-internal-format
+ msgid "size assigned to %qT may not be ABI-compliant and may change in a future version of GCC"
+ msgstr ""
+
+-#: cp/class.c:4744
++#: cp/class.c:4820
+ #, gcc-internal-format
+ msgid "the offset of %qD may not be ABI-compliant and may change in a future version of GCC"
+ msgstr ""
+
+-#: cp/class.c:4772
++#: cp/class.c:4848
+ #, gcc-internal-format
+ msgid "offset of %q+D is not ABI-compliant and may change in a future version of GCC"
+ msgstr ""
+
+-#: cp/class.c:4781
++#: cp/class.c:4857
+ #, gcc-internal-format
+ msgid "%q+D contains empty classes which may cause base classes to be placed at different locations in a future version of GCC"
+ msgstr ""
+
+-#: cp/class.c:4864
++#: cp/class.c:4944
+ #, gcc-internal-format
+ msgid "layout of classes derived from empty class %qT may change in a future version of GCC"
+ msgstr ""
+
+-#: cp/class.c:5010 cp/parser.c:14608
++#: cp/class.c:5090 cp/parser.c:14688
+ #, fuzzy, gcc-internal-format
+ msgid "redefinition of %q#T"
+ msgstr "herdefinitie van %qs"
+
+-#: cp/class.c:5166
++#: cp/class.c:5246
+ #, fuzzy, gcc-internal-format
+ msgid "%q#T has virtual functions and accessible non-virtual destructor"
+ msgstr "veld %qs heeft een onvolledig type"
+
+-#: cp/class.c:5268
++#: cp/class.c:5348
+ #, gcc-internal-format
+ msgid "trying to finish struct, but kicked out due to previous parse errors"
+ msgstr ""
+
+-#: cp/class.c:5728
++#: cp/class.c:5808
+ #, fuzzy, gcc-internal-format
+ msgid "language string %<\"%E\"%> not recognized"
+ msgstr "taal %s niet herkend"
+
+-#: cp/class.c:5817
++#: cp/class.c:5897
+ #, gcc-internal-format
+ msgid "cannot resolve overloaded function %qD based on conversion to type %qT"
+ msgstr ""
+
+-#: cp/class.c:5946
++#: cp/class.c:6026
+ #, gcc-internal-format
+ msgid "no matches converting function %qD to type %q#T"
+ msgstr ""
+
+-#: cp/class.c:5969
++#: cp/class.c:6049
+ #, gcc-internal-format
+ msgid "converting overloaded function %qD to type %q#T is ambiguous"
+ msgstr ""
+
+-#: cp/class.c:5995
++#: cp/class.c:6075
+ #, fuzzy, gcc-internal-format
+ msgid "assuming pointer to member %qD"
+ msgstr "herhaald lid %qs"
+
+-#: cp/class.c:5998
++#: cp/class.c:6078
+ #, gcc-internal-format
+ msgid "(a pointer to member can only be formed with %<&%E%>)"
+ msgstr ""
+
+-#: cp/class.c:6054 cp/class.c:6088
++#: cp/class.c:6134 cp/class.c:6168
+ #, gcc-internal-format
+ msgid "not enough type information"
+ msgstr ""
+
+-#: cp/class.c:6071
++#: cp/class.c:6151
+ #, fuzzy, gcc-internal-format
+ msgid "argument of type %qT does not match %qT"
+ msgstr "argument %qs komt niet overeen met prototype"
+@@ -27634,12 +27570,12 @@
+ #. A name N used in a class S shall refer to the same declaration
+ #. in its context and when re-evaluated in the completed scope of
+ #. S.
+-#: cp/class.c:6358 cp/decl.c:1199 cp/name-lookup.c:526
++#: cp/class.c:6438 cp/decl.c:1200 cp/name-lookup.c:525
+ #, fuzzy, gcc-internal-format
+ msgid "declaration of %q#D"
+ msgstr "herdeclaratie van %qs"
+
+-#: cp/class.c:6359
++#: cp/class.c:6439
+ #, gcc-internal-format
+ msgid "changes meaning of %qD from %q+#D"
+ msgstr ""
+@@ -27674,7 +27610,7 @@
+ msgid "conversion from %qT to %qT discards qualifiers"
+ msgstr "cast laat qualifiers van doeltype van pointer vallen"
+
+-#: cp/cvt.c:470 cp/typeck.c:5257
++#: cp/cvt.c:470 cp/typeck.c:5265
+ #, fuzzy, gcc-internal-format
+ msgid "casting %qT to %qT does not dereference pointer"
+ msgstr "kan niet derefereren, is geen pointer."
+@@ -27685,190 +27621,190 @@
+ msgid "cannot convert type %qT to type %qT"
+ msgstr "kon 0x%l.8x niet naar een regio omzetten"
+
+-#: cp/cvt.c:656
++#: cp/cvt.c:649
+ #, fuzzy, gcc-internal-format
+ msgid "conversion from %q#T to %q#T"
+ msgstr "ongeldige registernaam voor %qs"
+
+-#: cp/cvt.c:668 cp/cvt.c:688
++#: cp/cvt.c:661 cp/cvt.c:681
+ #, gcc-internal-format
+ msgid "%q#T used where a %qT was expected"
+ msgstr ""
+
+-#: cp/cvt.c:703
++#: cp/cvt.c:696
+ #, gcc-internal-format
+ msgid "%q#T used where a floating point value was expected"
+ msgstr ""
+
+-#: cp/cvt.c:750
++#: cp/cvt.c:743
+ #, fuzzy, gcc-internal-format
+ msgid "conversion from %qT to non-scalar type %qT requested"
+ msgstr "conversie naar niet-scalair type gevraagd"
+
+-#: cp/cvt.c:784
++#: cp/cvt.c:777
+ #, gcc-internal-format
+ msgid "pseudo-destructor is not called"
+ msgstr ""
+
+-#: cp/cvt.c:844
++#: cp/cvt.c:837
+ #, gcc-internal-format
+ msgid "object of incomplete type %qT will not be accessed in %s"
+ msgstr ""
+
+-#: cp/cvt.c:849
++#: cp/cvt.c:842
+ #, gcc-internal-format
+ msgid "object of type %qT will not be accessed in %s"
+ msgstr ""
+
+-#: cp/cvt.c:865
++#: cp/cvt.c:858
+ #, gcc-internal-format
+ msgid "object %qE of incomplete type %qT will not be accessed in %s"
+ msgstr ""
+
+ #. [over.over] enumerates the places where we can take the address
+ #. of an overloaded function, and this is not one of them.
+-#: cp/cvt.c:902
++#: cp/cvt.c:895
+ #, fuzzy, gcc-internal-format
+ msgid "%s cannot resolve address of overloaded function"
+ msgstr "einde van niet-void functie werd bereikt zonder teruggeefwaarde"
+
+ #. Only warn when there is no &.
+-#: cp/cvt.c:909
++#: cp/cvt.c:902
+ #, gcc-internal-format
+ msgid "%s is a reference, not call, to function %qE"
+ msgstr ""
+
+-#: cp/cvt.c:926
++#: cp/cvt.c:919
+ #, fuzzy, gcc-internal-format
+ msgid "%s has no effect"
+ msgstr "%s heeft geen leden"
+
+-#: cp/cvt.c:958
++#: cp/cvt.c:951
+ #, fuzzy, gcc-internal-format
+ msgid "value computed is not used"
+ msgstr "modus van %qs is geen modus"
+
+-#: cp/cvt.c:1068
++#: cp/cvt.c:1061
+ #, gcc-internal-format
+ msgid "converting NULL to non-pointer type"
+ msgstr ""
+
+-#: cp/cvt.c:1174
++#: cp/cvt.c:1167
+ #, gcc-internal-format
+ msgid "ambiguous default type conversion from %qT"
+ msgstr ""
+
+-#: cp/cvt.c:1176
++#: cp/cvt.c:1169
+ #, gcc-internal-format
+ msgid " candidate conversions include %qD and %qD"
+ msgstr ""
+
+-#: cp/decl.c:1062
++#: cp/decl.c:1063
+ #, fuzzy, gcc-internal-format
+ msgid "%qD was declared %<extern%> and later %<static%>"
+ msgstr "%qs was als %<extern%> gedeclareerd en daarna als %<static%>"
+
+-#: cp/decl.c:1063 cp/decl.c:1618 objc/objc-act.c:2931 objc/objc-act.c:7503
++#: cp/decl.c:1064 cp/decl.c:1619 objc/objc-act.c:2931 objc/objc-act.c:7503
+ #, fuzzy, gcc-internal-format
+ msgid "previous declaration of %q+D"
+ msgstr "eerdere declaratie van %qs"
+
+-#: cp/decl.c:1096
++#: cp/decl.c:1097
+ #, fuzzy, gcc-internal-format
+ msgid "declaration of %qF throws different exceptions"
+ msgstr "%qs wordt gedeclareerd als een array van functies"
+
+-#: cp/decl.c:1097
++#: cp/decl.c:1098
+ #, fuzzy, gcc-internal-format
+ msgid "from previous declaration %q+F"
+ msgstr "eerdere declaratie van %qs"
+
+-#: cp/decl.c:1153
++#: cp/decl.c:1154
+ #, fuzzy, gcc-internal-format
+ msgid "function %q+D redeclared as inline"
+ msgstr "functie %qs geherdeclareerd als inline"
+
+-#: cp/decl.c:1155
++#: cp/decl.c:1156
+ #, fuzzy, gcc-internal-format
+ msgid "previous declaration of %q+D with attribute noinline"
+ msgstr "eerdere declaratie van functie %qs had het noinline attribuut"
+
+-#: cp/decl.c:1162
++#: cp/decl.c:1163
+ #, fuzzy, gcc-internal-format
+ msgid "function %q+D redeclared with attribute noinline"
+ msgstr "functie %qs geherdeclareerd met noinline attribuut"
+
+-#: cp/decl.c:1164
++#: cp/decl.c:1165
+ #, fuzzy, gcc-internal-format
+ msgid "previous declaration of %q+D was inline"
+ msgstr "eerdere declaratie van functie %qs was inline"
+
+-#: cp/decl.c:1186 cp/decl.c:1259
++#: cp/decl.c:1187 cp/decl.c:1260
+ #, fuzzy, gcc-internal-format
+ msgid "shadowing %s function %q#D"
+ msgstr "bibliotheekfunctie %qs wordt verborgen"
+
+-#: cp/decl.c:1195
++#: cp/decl.c:1196
+ #, fuzzy, gcc-internal-format
+ msgid "library function %q#D redeclared as non-function %q#D"
+ msgstr "bibliotheekfunctie %qs als niet-functie gedeclareerd"
+
+-#: cp/decl.c:1200
++#: cp/decl.c:1201
+ #, fuzzy, gcc-internal-format
+ msgid "conflicts with built-in declaration %q#D"
+ msgstr "conflicterende declaraties van %qs"
+
+-#: cp/decl.c:1254 cp/decl.c:1380 cp/decl.c:1396
++#: cp/decl.c:1255 cp/decl.c:1381 cp/decl.c:1397
+ #, fuzzy, gcc-internal-format
+ msgid "new declaration %q#D"
+ msgstr "herdeclaratie van %qs"
+
+-#: cp/decl.c:1255
++#: cp/decl.c:1256
+ #, fuzzy, gcc-internal-format
+ msgid "ambiguates built-in declaration %q#D"
+ msgstr "herhaalde label-declaratie %qs"
+
+-#: cp/decl.c:1344
++#: cp/decl.c:1345
+ #, fuzzy, gcc-internal-format
+ msgid "%q#D redeclared as different kind of symbol"
+ msgstr "%qs als ander soort symbool geherdeclareerd"
+
+-#: cp/decl.c:1347
++#: cp/decl.c:1348
+ #, fuzzy, gcc-internal-format
+ msgid "previous declaration of %q+#D"
+ msgstr "eerdere declaratie van %qs"
+
+-#: cp/decl.c:1366
++#: cp/decl.c:1367
+ #, fuzzy, gcc-internal-format
+ msgid "declaration of template %q#D"
+ msgstr "herdeclaratie van %<enum %s%>"
+
+-#: cp/decl.c:1367 cp/name-lookup.c:527
++#: cp/decl.c:1368 cp/name-lookup.c:526
+ #, fuzzy, gcc-internal-format
+ msgid "conflicts with previous declaration %q+#D"
+ msgstr "sectie van %qs geeft een conflict met een eerdere declaratie"
+
+-#: cp/decl.c:1381 cp/decl.c:1397
++#: cp/decl.c:1382 cp/decl.c:1398
+ #, fuzzy, gcc-internal-format
+ msgid "ambiguates old declaration %q+#D"
+ msgstr "herhaalde label-declaratie %qs"
+
+-#: cp/decl.c:1389
++#: cp/decl.c:1390
+ #, fuzzy, gcc-internal-format
+ msgid "declaration of C function %q#D conflicts with"
+ msgstr "impliciete declaratie van functie %qs"
+
+-#: cp/decl.c:1391
++#: cp/decl.c:1392
+ #, fuzzy, gcc-internal-format
+ msgid "previous declaration %q+#D here"
+ msgstr "eerdere declaratie van %qs"
+
+-#: cp/decl.c:1405
++#: cp/decl.c:1406
+ #, fuzzy, gcc-internal-format
+ msgid "conflicting declaration %q#D"
+ msgstr "conflicterende declaraties van %qs"
+
+-#: cp/decl.c:1406
++#: cp/decl.c:1407
+ #, fuzzy, gcc-internal-format
+ msgid "%q+D has a previous declaration as %q#D"
+ msgstr "eerdere declaratie van %qs"
+@@ -27880,63 +27816,63 @@
+ #. A namespace-name defined at global scope shall not be
+ #. declared as the name of any other entity in any global scope
+ #. of the program.
+-#: cp/decl.c:1458
++#: cp/decl.c:1459
+ #, fuzzy, gcc-internal-format
+ msgid "declaration of namespace %qD conflicts with"
+ msgstr "impliciete declaratie van functie %qs"
+
+-#: cp/decl.c:1459
++#: cp/decl.c:1460
+ #, fuzzy, gcc-internal-format
+ msgid "previous declaration of namespace %q+D here"
+ msgstr "eerdere declaratie van %qs"
+
+-#: cp/decl.c:1470
++#: cp/decl.c:1471
+ #, fuzzy, gcc-internal-format
+ msgid "%q+#D previously defined here"
+ msgstr "%qs tevoren hier gedefinieerd"
+
+ #. Prototype decl follows defn w/o prototype.
+-#: cp/decl.c:1480
++#: cp/decl.c:1481
+ #, fuzzy, gcc-internal-format
+ msgid "prototype for %q+#D"
+ msgstr "prototype voor %qs volgt"
+
+-#: cp/decl.c:1481
++#: cp/decl.c:1482
+ #, fuzzy, gcc-internal-format
+ msgid "%Jfollows non-prototype definition here"
+ msgstr "niet-prototype definitie hier"
+
+-#: cp/decl.c:1521
++#: cp/decl.c:1522
+ #, fuzzy, gcc-internal-format
+ msgid "previous declaration of %q+#D with %qL linkage"
+ msgstr "eerdere declaratie van %qs"
+
+-#: cp/decl.c:1523
++#: cp/decl.c:1524
+ #, fuzzy, gcc-internal-format
+ msgid "conflicts with new declaration with %qL linkage"
+ msgstr "conflicterende declaraties van %qs"
+
+-#: cp/decl.c:1546 cp/decl.c:1552
++#: cp/decl.c:1547 cp/decl.c:1553
+ #, fuzzy, gcc-internal-format
+ msgid "default argument given for parameter %d of %q#D"
+ msgstr "argumenten aan macro %qs gegeven"
+
+-#: cp/decl.c:1548 cp/decl.c:1554
++#: cp/decl.c:1549 cp/decl.c:1555
+ #, fuzzy, gcc-internal-format
+ msgid "after previous specification in %q+#D"
+ msgstr "eerdere definitie van %qs"
+
+-#: cp/decl.c:1563
++#: cp/decl.c:1564
+ #, fuzzy, gcc-internal-format
+ msgid "%q#D was used before it was declared inline"
+ msgstr "%qs werd voor haar definitie gebruikt zonder protoype"
+
+-#: cp/decl.c:1564
++#: cp/decl.c:1565
+ #, fuzzy, gcc-internal-format
+ msgid "%Jprevious non-inline declaration here"
+ msgstr "eerdere impliciete declaratie van %qs"
+
+-#: cp/decl.c:1617
++#: cp/decl.c:1618
+ #, fuzzy, gcc-internal-format
+ msgid "redundant redeclaration of %qD in same scope"
+ msgstr "overbodige herdeclaratie van %qs in zelfde bereik"
+@@ -27949,313 +27885,319 @@
+ #. that specialization that would cause an implicit
+ #. instantiation to take place, in every translation unit in
+ #. which such a use occurs.
+-#: cp/decl.c:1932
++#: cp/decl.c:1939
+ #, fuzzy, gcc-internal-format
+ msgid "explicit specialization of %qD after first use"
+ msgstr "impliciete declaratie van functie %qs"
+
+-#: cp/decl.c:2028
++#: cp/decl.c:2035
+ #, fuzzy, gcc-internal-format
+ msgid "%q+D: visibility attribute ignored because it"
+ msgstr "het %qs attribuut wordt genegeerd"
+
+-#: cp/decl.c:2030
++#: cp/decl.c:2037
+ #, fuzzy, gcc-internal-format
+ msgid "%Jconflicts with previous declaration here"
+ msgstr "sectie van %qs geeft een conflict met een eerdere declaratie"
+
+-#: cp/decl.c:2457
++#: cp/decl.c:2464
+ #, fuzzy, gcc-internal-format
+ msgid "jump to label %qD"
+ msgstr "herhaald label %qs"
+
+-#: cp/decl.c:2459
++#: cp/decl.c:2466
+ #, gcc-internal-format
+ msgid "jump to case label"
+ msgstr ""
+
+-#: cp/decl.c:2461
++#: cp/decl.c:2468
+ #, fuzzy, gcc-internal-format
+ msgid "%H from here"
+ msgstr "van hieruit opgeroepen"
+
+-#: cp/decl.c:2480 cp/decl.c:2643
++#: cp/decl.c:2487 cp/decl.c:2650
+ #, gcc-internal-format
+ msgid " exits OpenMP structured block"
+ msgstr ""
+
+-#: cp/decl.c:2501
++#: cp/decl.c:2508
+ #, fuzzy, gcc-internal-format
+ msgid " crosses initialization of %q+#D"
+ msgstr "(dicht bij initialisatie van %qs)"
+
+-#: cp/decl.c:2503 cp/decl.c:2618
++#: cp/decl.c:2510 cp/decl.c:2625
+ #, gcc-internal-format
+ msgid " enters scope of non-POD %q+#D"
+ msgstr ""
+
+-#: cp/decl.c:2516 cp/decl.c:2622
++#: cp/decl.c:2523 cp/decl.c:2629
+ #, gcc-internal-format
+ msgid " enters try block"
+ msgstr ""
+
+-#: cp/decl.c:2518 cp/decl.c:2624
++#: cp/decl.c:2525 cp/decl.c:2631
+ #, gcc-internal-format
+ msgid " enters catch block"
+ msgstr ""
+
+-#: cp/decl.c:2528 cp/decl.c:2627
++#: cp/decl.c:2535 cp/decl.c:2634
+ #, gcc-internal-format
+ msgid " enters OpenMP structured block"
+ msgstr ""
+
+-#: cp/decl.c:2599 cp/decl.c:2639
++#: cp/decl.c:2606 cp/decl.c:2646
+ #, fuzzy, gcc-internal-format
+ msgid "jump to label %q+D"
+ msgstr "herhaald label %qs"
+
+-#: cp/decl.c:2600 cp/decl.c:2640
++#: cp/decl.c:2607 cp/decl.c:2647
+ #, fuzzy, gcc-internal-format
+ msgid " from here"
+ msgstr "van hieruit opgeroepen"
+
+ #. Can't skip init of __exception_info.
+-#: cp/decl.c:2612
++#: cp/decl.c:2619
+ #, gcc-internal-format
+ msgid "%J enters catch block"
+ msgstr ""
+
+-#: cp/decl.c:2616
++#: cp/decl.c:2623
+ #, fuzzy, gcc-internal-format
+ msgid " skips initialization of %q+#D"
+ msgstr "(dicht bij initialisatie van %qs)"
+
+-#: cp/decl.c:2692
++#: cp/decl.c:2699
+ #, fuzzy, gcc-internal-format
+ msgid "label named wchar_t"
+ msgstr "er is geen label dat %qs heet"
+
+-#: cp/decl.c:2696
++#: cp/decl.c:2703
+ #, fuzzy, gcc-internal-format
+ msgid "duplicate label %qD"
+ msgstr "herhaald label %qs"
+
+-#: cp/decl.c:2962
++#: cp/decl.c:2969
+ #, fuzzy, gcc-internal-format
+ msgid "%qD is not a type"
+ msgstr "%qs is geen iterator"
+
+-#: cp/decl.c:2968 cp/parser.c:4033
++#: cp/decl.c:2975 cp/parser.c:4037
+ #, fuzzy, gcc-internal-format
+ msgid "%qD used without template parameters"
+ msgstr "macro %qs gebruikt zonder argumenten"
+
+-#: cp/decl.c:2983
++#: cp/decl.c:2990
+ #, fuzzy, gcc-internal-format
+ msgid "%q#T is not a class"
+ msgstr "%qs is geen iterator"
+
+-#: cp/decl.c:2995 cp/decl.c:3063
++#: cp/decl.c:3002 cp/decl.c:3070
+ #, gcc-internal-format
+ msgid "no class template named %q#T in %q#T"
+ msgstr ""
+
+-#: cp/decl.c:3003
++#: cp/decl.c:3010
+ #, fuzzy, gcc-internal-format
+ msgid "%<typename %T::%D%> names %q#T, which is not a class template"
+ msgstr "%qs is smaller dan waarden van zijn type"
+
+-#: cp/decl.c:3010
++#: cp/decl.c:3017
+ #, fuzzy, gcc-internal-format
+ msgid "%<typename %T::%D%> names %q#T, which is not a type"
+ msgstr "%qs is geen iterator"
+
+-#: cp/decl.c:3072
++#: cp/decl.c:3079
+ #, fuzzy, gcc-internal-format
+ msgid "template parameters do not match template"
+ msgstr "niet-beëindigde parameterlijst in %<#define%>"
+
+-#: cp/decl.c:3073 cp/friend.c:321 cp/friend.c:329
++#: cp/decl.c:3080 cp/friend.c:321 cp/friend.c:329
+ #, fuzzy, gcc-internal-format
+ msgid "%q+D declared here"
+ msgstr "%qs tevoren hier gedeclareerd"
+
+-#: cp/decl.c:3711
++#: cp/decl.c:3727
+ #, fuzzy, gcc-internal-format
+ msgid "%Jan anonymous struct cannot have function members"
+ msgstr "anonieme %s gedeclareerd binnen parameterlijst"
+
+-#: cp/decl.c:3713
++#: cp/decl.c:3729
+ #, gcc-internal-format
+ msgid "%Jan anonymous union cannot have function members"
+ msgstr ""
+
+-#: cp/decl.c:3731
++#: cp/decl.c:3747
+ #, gcc-internal-format
+ msgid "member %q+#D with constructor not allowed in anonymous aggregate"
+ msgstr ""
+
+-#: cp/decl.c:3734
++#: cp/decl.c:3750
+ #, gcc-internal-format
+ msgid "member %q+#D with destructor not allowed in anonymous aggregate"
+ msgstr ""
+
+-#: cp/decl.c:3737
++#: cp/decl.c:3753
+ #, gcc-internal-format
+ msgid "member %q+#D with copy assignment operator not allowed in anonymous aggregate"
+ msgstr ""
+
+-#: cp/decl.c:3762
++#: cp/decl.c:3778
+ #, gcc-internal-format
+ msgid "multiple types in one declaration"
+ msgstr ""
+
+-#: cp/decl.c:3766
++#: cp/decl.c:3782
+ #, fuzzy, gcc-internal-format
+ msgid "redeclaration of C++ built-in type %qT"
+ msgstr "herdeclaratie van %qs"
+
+-#: cp/decl.c:3803
++#: cp/decl.c:3819
+ #, fuzzy, gcc-internal-format
+ msgid "missing type-name in typedef-declaration"
+ msgstr "nutteloos sleutelwoord of typenaam in lege declaratie"
+
+-#: cp/decl.c:3811
++#: cp/decl.c:3827
+ #, gcc-internal-format
+ msgid "ISO C++ prohibits anonymous structs"
+ msgstr ""
+
+-#: cp/decl.c:3818
++#: cp/decl.c:3834
+ #, fuzzy, gcc-internal-format
+ msgid "%qs can only be specified for functions"
+ msgstr "argument-formaat opgegeven voor niet-functie %qs"
+
+-#: cp/decl.c:3824
++#: cp/decl.c:3840
+ #, fuzzy, gcc-internal-format
+ msgid "%<friend%> can only be specified inside a class"
+ msgstr "argument-formaat opgegeven voor niet-functie %qs"
+
+-#: cp/decl.c:3826
++#: cp/decl.c:3842
+ #, fuzzy, gcc-internal-format
+ msgid "%<explicit%> can only be specified for constructors"
+ msgstr "argument-formaat opgegeven voor niet-functie %qs"
+
+-#: cp/decl.c:3828
++#: cp/decl.c:3844
+ #, 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.c:3834
++#: cp/decl.c:3850
+ #, fuzzy, gcc-internal-format
+ msgid "qualifiers can only be specified for objects and functions"
+ msgstr "argument-formaat opgegeven voor niet-functie %qs"
+
+-#: cp/decl.c:3837
++#: cp/decl.c:3853
+ #, fuzzy, gcc-internal-format
+ msgid "%<typedef%> was ignored in this declaration"
+ msgstr "type krijgt standaardwaarde %<int%> in de declaratie van %qs"
+
+-#: cp/decl.c:3866
++#: cp/decl.c:3882
+ #, fuzzy, gcc-internal-format
+ msgid "attribute ignored in declaration of %q+#T"
+ msgstr "eerdere declaratie van %qs"
+
+-#: cp/decl.c:3867
++#: cp/decl.c:3883
+ #, gcc-internal-format
+ msgid "attribute for %q+#T must follow the %qs keyword"
+ msgstr ""
+
+-#: cp/decl.c:3909
++#: cp/decl.c:3925
+ #, fuzzy, gcc-internal-format
+-msgid "ignoring attributes applied to class type outside of definition"
++msgid "ignoring attributes applied to class type %qT outside of definition"
+ msgstr "het %qs attribuut heeft enkel betekenis voor functies"
+
+-#: cp/decl.c:3987
++#. A template type parameter or other dependent type.
++#: cp/decl.c:3929
+ #, fuzzy, gcc-internal-format
++msgid "ignoring attributes applied to dependent type %qT without an associated declaration"
++msgstr "het %qs attribuut heeft enkel betekenis voor functies"
++
++#: cp/decl.c:4007
++#, 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.c:3998
++#: cp/decl.c:4018
+ #, fuzzy, gcc-internal-format
+ msgid "declaration of %q#D has %<extern%> and is initialized"
+ msgstr "de declaratie van %qs is %<extern%> en heeft een beginwaarde"
+
+-#: cp/decl.c:4014
++#: cp/decl.c:4034
+ #, fuzzy, gcc-internal-format
+ msgid "definition of %q#D is marked %<dllimport%>"
+ msgstr "functie-definitie als %<auto%> gedeclareerd"
+
+-#: cp/decl.c:4033
++#: cp/decl.c:4053
+ #, fuzzy, gcc-internal-format
+ msgid "%q#D is not a static member of %q#T"
+ msgstr "%qs is geen static veld"
+
+-#: cp/decl.c:4039
++#: cp/decl.c:4059
+ #, gcc-internal-format
+ msgid "ISO C++ does not permit %<%T::%D%> to be defined as %<%T::%D%>"
+ msgstr ""
+
+-#: cp/decl.c:4048
++#: cp/decl.c:4068
+ #, gcc-internal-format
+ msgid "template header not allowed in member definition of explicitly specialized class"
+ msgstr ""
+
+-#: cp/decl.c:4056
++#: cp/decl.c:4076
+ #, fuzzy, gcc-internal-format
+ msgid "duplicate initialization of %qD"
+ msgstr "dubbele beginwaarde"
+
+-#: cp/decl.c:4095
++#: cp/decl.c:4115
+ #, 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.c:4188
++#: cp/decl.c:4208
+ #, fuzzy, gcc-internal-format
+ msgid "variable %q#D has initializer but incomplete type"
+ msgstr "variabele %qs heeft beginwaarde, maar een onvolledig type"
+
+-#: cp/decl.c:4194 cp/decl.c:4906
++#: cp/decl.c:4214 cp/decl.c:4926
+ #, fuzzy, gcc-internal-format
+ msgid "elements of array %q#D have incomplete type"
+ msgstr "elementen van array %qs hebben een onvolledig type"
+
+-#: cp/decl.c:4200
++#: cp/decl.c:4220
+ #, fuzzy, gcc-internal-format
+ msgid "aggregate %q#D has incomplete type and cannot be defined"
+ msgstr "parameter %qs heeft een onvolledig type"
+
+-#: cp/decl.c:4236
++#: cp/decl.c:4256
+ #, fuzzy, gcc-internal-format
+ msgid "%qD declared as reference but not initialized"
+ msgstr "%qs als ander soort symbool geherdeclareerd"
+
+-#: cp/decl.c:4242
++#: cp/decl.c:4262
+ #, fuzzy, gcc-internal-format
+ msgid "ISO C++ forbids use of initializer list to initialize reference %qD"
+ msgstr "ISO C++ verbiedt lege initialisatie-accolades"
+
+-#: cp/decl.c:4268
++#: cp/decl.c:4288
+ #, fuzzy, gcc-internal-format
+ msgid "cannot initialize %qT from %qT"
+ msgstr "niet-constante beginwaarde voor %qs"
+
+-#: cp/decl.c:4296
++#: cp/decl.c:4316
+ #, gcc-internal-format
+ msgid "name %qD used in a GNU-style designated initializer for an array"
+ msgstr ""
+
+-#: cp/decl.c:4345
++#: cp/decl.c:4365
+ #, fuzzy, gcc-internal-format
+ msgid "initializer fails to determine size of %qD"
+ msgstr "beginwaarde legt grootte van %qs niet vast"
+
+-#: cp/decl.c:4352
++#: cp/decl.c:4372
+ #, fuzzy, gcc-internal-format
+ msgid "array size missing in %qD"
+ msgstr "array-grootte ontbreekt in %qs"
+
+-#: cp/decl.c:4364
++#: cp/decl.c:4384
+ #, fuzzy, gcc-internal-format
+ msgid "zero-size array %qD"
+ msgstr "array %qs heeft grootte die negatief of 0 is"
+@@ -28263,240 +28205,250 @@
+ #. An automatic variable with an incomplete type: that is an error.
+ #. Don't talk about array types here, since we took care of that
+ #. message in grokdeclarator.
+-#: cp/decl.c:4407
++#: cp/decl.c:4427
+ #, fuzzy, gcc-internal-format
+ msgid "storage size of %qD isn't known"
+ msgstr "opslaggrootte van %qs is onbekend"
+
+-#: cp/decl.c:4429
++#: cp/decl.c:4449
+ #, fuzzy, gcc-internal-format
+ msgid "storage size of %qD isn't constant"
+ msgstr "opslaggrootte van %qs is niet constant"
+
+-#: cp/decl.c:4478
++#: cp/decl.c:4498
+ #, 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.c:4481
++#: cp/decl.c:4501
+ #, gcc-internal-format
+ msgid "%J you can work around this by removing the initializer"
+ msgstr ""
+
+-#: cp/decl.c:4508
++#: cp/decl.c:4528
+ #, fuzzy, gcc-internal-format
+ msgid "uninitialized const %qD"
+ msgstr "niet-constante beginwaarde voor %qs"
+
+-#: cp/decl.c:4620
++#: cp/decl.c:4640
+ #, fuzzy, gcc-internal-format
+ msgid "invalid type %qT as initializer for a vector of type %qT"
+ msgstr "array krijgt niet-constante array-expressie als beginwaarde"
+
+-#: cp/decl.c:4662
++#: cp/decl.c:4682
+ #, gcc-internal-format
+ msgid "initializer for %qT must be brace-enclosed"
+ msgstr ""
+
+-#: cp/decl.c:4680
++#: cp/decl.c:4700
+ #, fuzzy, gcc-internal-format
+ msgid "%qT has no non-static data member named %qD"
+ msgstr "union heeft geen lid dat %qs heet"
+
+-#: cp/decl.c:4731
++#: cp/decl.c:4751
+ #, fuzzy, gcc-internal-format
+ msgid "braces around scalar initializer for type %qT"
+ msgstr "accolades rond scalaire beginwaarde"
+
+-#: cp/decl.c:4814
++#: cp/decl.c:4834
+ #, fuzzy, gcc-internal-format
+ msgid "missing braces around initializer for %qT"
+ msgstr "accolades ontbreken rond beginwaarde"
+
+-#: cp/decl.c:4871
++#: cp/decl.c:4891
+ #, fuzzy, gcc-internal-format
+ msgid "too many initializers for %qT"
+ msgstr "ongeldige beginwaarde voor veld %qs"
+
+-#: cp/decl.c:4914
++#: cp/decl.c:4934
+ #, fuzzy, gcc-internal-format
+ msgid "variable-sized object %qD may not be initialized"
+ msgstr "object van variabele lengte mag geen beginwaarde krijgen"
+
+-#: cp/decl.c:4920
++#: cp/decl.c:4940
+ #, fuzzy, gcc-internal-format
+ msgid "%qD has incomplete type"
+ msgstr "%qs heeft een onvolledig type"
+
+-#: cp/decl.c:4935
++#: cp/decl.c:4955
+ #, fuzzy, gcc-internal-format
+ msgid "scalar object %qD requires one element in initializer"
+ msgstr "overtollige elementen in beginwaarde van union"
+
+ #. A non-aggregate that is not a scalar cannot be initialized
+ #. via an initializer-list in C++98.
+-#: cp/decl.c:4945
++#: cp/decl.c:4965
+ #, fuzzy, gcc-internal-format
+ msgid "braces around initializer for non-aggregate type %qT"
+ msgstr "accolades rond scalaire beginwaarde"
+
+-#: cp/decl.c:4995
++#: cp/decl.c:5015
+ #, gcc-internal-format
+ msgid "%qD must be initialized by constructor, not by %<{...}%>"
+ msgstr ""
+
+-#: cp/decl.c:5031
++#: cp/decl.c:5051
+ #, fuzzy, gcc-internal-format
+ msgid "array %qD initialized by parenthesized string literal %qE"
+ msgstr "Onbeëindigde stringconstante"
+
+-#: cp/decl.c:5046
++#: cp/decl.c:5066
+ #, fuzzy, gcc-internal-format
+ msgid "structure %qD with uninitialized const members"
+ msgstr "parameter %qs krijgt beginwaarde"
+
+-#: cp/decl.c:5048
++#: cp/decl.c:5068
+ #, fuzzy, gcc-internal-format
+ msgid "structure %qD with uninitialized reference members"
+ msgstr "ongeldige beginwaarde voor member %qs"
+
+-#: cp/decl.c:5330
++#: cp/decl.c:5364
+ #, gcc-internal-format
+ msgid "assignment (not initialization) in declaration"
+ msgstr ""
+
+-#: cp/decl.c:5420
++#: cp/decl.c:5460
+ #, fuzzy, gcc-internal-format
+ msgid "shadowing previous type declaration of %q#D"
+ msgstr "eerdere declaratie van %qs"
+
+-#: cp/decl.c:5450
++#: cp/decl.c:5490
+ #, gcc-internal-format
+ msgid "%qD cannot be thread-local because it has non-POD type %qT"
+ msgstr ""
+
+-#: cp/decl.c:5485
++#: cp/decl.c:5522
+ #, gcc-internal-format
++msgid "Java object %qD not allocated with %<new%>"
++msgstr ""
++
++#: cp/decl.c:5539
++#, gcc-internal-format
+ msgid "%qD is thread-local and so cannot be dynamically initialized"
+ msgstr ""
+
+-#: cp/decl.c:5503
++#: cp/decl.c:5557
+ #, fuzzy, gcc-internal-format
+ msgid "%qD cannot be initialized by a non-constant expression when being declared"
+ msgstr "overflow in constante expressie"
+
+-#: cp/decl.c:6160
++#: cp/decl.c:5597
++#, fuzzy, gcc-internal-format
++msgid "non-static data member %qD has Java class type"
++msgstr "%qs is geen static veld"
++
++#: cp/decl.c:6232
+ #, gcc-internal-format
+ msgid "destructor for alien class %qT cannot be a member"
+ msgstr ""
+
+-#: cp/decl.c:6162
++#: cp/decl.c:6234
+ #, gcc-internal-format
+ msgid "constructor for alien class %qT cannot be a member"
+ msgstr ""
+
+-#: cp/decl.c:6183
++#: cp/decl.c:6255
+ #, fuzzy, gcc-internal-format
+ msgid "%qD declared as a %<virtual%> %s"
+ msgstr "variabele %qs als inline gedeclareerd"
+
+-#: cp/decl.c:6185
++#: cp/decl.c:6257
+ #, fuzzy, gcc-internal-format
+ msgid "%qD declared as an %<inline%> %s"
+ msgstr "variabele %qs als inline gedeclareerd"
+
+-#: cp/decl.c:6187
++#: cp/decl.c:6259
+ #, gcc-internal-format
+ msgid "%<const%> and %<volatile%> function specifiers on %qD invalid in %s declaration"
+ msgstr ""
+
+-#: cp/decl.c:6191
++#: cp/decl.c:6263
+ #, fuzzy, gcc-internal-format
+ msgid "%q+D declared as a friend"
+ msgstr "veld %qs als een functie gedeclareerd"
+
+-#: cp/decl.c:6197
++#: cp/decl.c:6269
+ #, fuzzy, gcc-internal-format
+ msgid "%q+D declared with an exception specification"
+ msgstr "%qs gedeclareerd als een functie die een functie teruggeeft"
+
+-#: cp/decl.c:6231
++#: cp/decl.c:6303
+ #, 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.c:6342
++#: cp/decl.c:6414
+ #, fuzzy, gcc-internal-format
+ msgid "defining explicit specialization %qD in friend declaration"
+ msgstr "POS mag niet opgegeven worden voor een lijst van veld-declaraties"
+
+ #. Something like `template <class T> friend void f<T>()'.
+-#: cp/decl.c:6352
++#: cp/decl.c:6424
+ #, 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.c:6382
++#: cp/decl.c:6454
+ #, gcc-internal-format
+ msgid "default arguments are not allowed in declaration of friend template specialization %qD"
+ msgstr ""
+
+-#: cp/decl.c:6390
++#: cp/decl.c:6462
+ #, gcc-internal-format
+ msgid "%<inline%> is not allowed in declaration of friend template specialization %qD"
+ msgstr ""
+
+-#: cp/decl.c:6433
++#: cp/decl.c:6505
+ #, gcc-internal-format
+ msgid "cannot declare %<::main%> to be a template"
+ msgstr ""
+
+-#: cp/decl.c:6435
++#: cp/decl.c:6507
+ #, fuzzy, gcc-internal-format
+ msgid "cannot declare %<::main%> to be inline"
+ msgstr "parameter %qs wijst naar een onvolledig type"
+
+-#: cp/decl.c:6437
++#: cp/decl.c:6509
+ #, fuzzy, gcc-internal-format
+ msgid "cannot declare %<::main%> to be static"
+ msgstr "parameter %qs wijst naar een onvolledig type"
+
+-#: cp/decl.c:6465
++#: cp/decl.c:6537
+ #, gcc-internal-format
+ msgid "non-local function %q#D uses anonymous type"
+ msgstr ""
+
+-#: cp/decl.c:6468 cp/decl.c:6748
++#: cp/decl.c:6540 cp/decl.c:6820
+ #, gcc-internal-format
+ msgid "%q+#D does not refer to the unqualified type, so it is not used for linkage"
+ msgstr ""
+
+-#: cp/decl.c:6474
++#: cp/decl.c:6546
+ #, gcc-internal-format
+ msgid "non-local function %q#D uses local type %qT"
+ msgstr ""
+
+-#: cp/decl.c:6498
++#: cp/decl.c:6570
+ #, fuzzy, gcc-internal-format
+ msgid "static member function %qD cannot have cv-qualifier"
+ msgstr "geneste functie %qs is als %<extern%> gedeclareerd"
+
+-#: cp/decl.c:6499
++#: cp/decl.c:6571
+ #, fuzzy, gcc-internal-format
+ msgid "non-member function %qD cannot have cv-qualifier"
+ msgstr "geneste functie %qs is als %<extern%> gedeclareerd"
+
+-#: cp/decl.c:6547
++#: cp/decl.c:6619
+ #, gcc-internal-format
+ msgid "%<::main%> must return %<int%>"
+ msgstr ""
+
+-#: cp/decl.c:6586
++#: cp/decl.c:6658
+ #, fuzzy, gcc-internal-format
+ msgid "definition of implicitly-declared %qD"
+ msgstr "functie-definitie als %<auto%> gedeclareerd"
+
+-#: cp/decl.c:6603 cp/decl2.c:677
++#: cp/decl.c:6675 cp/decl2.c:677
+ #, fuzzy, gcc-internal-format
+ msgid "no %q#D member function declared in class %qT"
+ msgstr "geneste functie %qs is als %<extern%> gedeclareerd"
+@@ -28505,548 +28457,553 @@
+ #. 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/decl.c:6745
++#: cp/decl.c:6817
+ #, gcc-internal-format
+ msgid "non-local variable %q#D uses anonymous type"
+ msgstr ""
+
+-#: cp/decl.c:6754
++#: cp/decl.c:6826
+ #, gcc-internal-format
+ msgid "non-local variable %q#D uses local type %qT"
+ msgstr ""
+
+-#: cp/decl.c:6876
++#: cp/decl.c:6948
+ #, gcc-internal-format
+ msgid "invalid in-class initialization of static data member of non-integral type %qT"
+ msgstr ""
+
+-#: cp/decl.c:6886
++#: cp/decl.c:6958
+ #, 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.c:6890
++#: cp/decl.c:6962
+ #, 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.c:6915
++#: cp/decl.c:6987
+ #, 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.c:6917
++#: cp/decl.c:6989
+ #, 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.c:6965
++#: cp/decl.c:7037
+ #, fuzzy, gcc-internal-format
+ msgid "size of array %qD is negative"
+ msgstr "grootte van array %qs is negatief"
+
+-#: cp/decl.c:6967
++#: cp/decl.c:7039
+ #, fuzzy, gcc-internal-format
+ msgid "size of array is negative"
+ msgstr "grootte van array %qs is negatief"
+
+-#: cp/decl.c:6975
++#: cp/decl.c:7047
+ #, fuzzy, gcc-internal-format
+ msgid "ISO C++ forbids zero-size array %qD"
+ msgstr "ISO C++ verbiedt array %qs met lengte 0"
+
+-#: cp/decl.c:6977
++#: cp/decl.c:7049
+ #, fuzzy, gcc-internal-format
+ msgid "ISO C++ forbids zero-size array"
+ msgstr "ISO C++ verbiedt array %qs met lengte 0"
+
+-#: cp/decl.c:6984
++#: cp/decl.c:7056
+ #, 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.c:6987
++#: cp/decl.c:7059
+ #, fuzzy, gcc-internal-format
+ msgid "size of array is not an integral constant-expression"
+ msgstr "ongeldig gebruik van een void-expressie"
+
+-#: cp/decl.c:6993
++#: cp/decl.c:7065
+ #, fuzzy, gcc-internal-format
+ msgid "ISO C++ forbids variable length array %qD"
+ msgstr "ISO C++ verbiedt array %qs van variabele lengte"
+
+-#: cp/decl.c:6995
++#: cp/decl.c:7067
+ #, fuzzy, gcc-internal-format
+ msgid "ISO C++ forbids variable length array"
+ msgstr "ISO C++ verbiedt array %qs van variabele lengte"
+
+-#: cp/decl.c:7001
++#: cp/decl.c:7073
+ #, gcc-internal-format
+ msgid "variable length array %qD is used"
+ msgstr ""
+
+-#: cp/decl.c:7035
++#: cp/decl.c:7107
+ #, gcc-internal-format
+ msgid "overflow in array dimension"
+ msgstr ""
+
+-#: cp/decl.c:7116
++#: cp/decl.c:7188
+ #, fuzzy, gcc-internal-format
+ msgid "declaration of %qD as %s"
+ msgstr "herdeclaratie van %qs"
+
+-#: cp/decl.c:7118
++#: cp/decl.c:7190
+ #, fuzzy, gcc-internal-format
+ msgid "creating %s"
+ msgstr "read %s"
+
+-#: cp/decl.c:7130
++#: cp/decl.c:7202
+ #, gcc-internal-format
+ msgid "declaration of %qD as multidimensional array must have bounds for all dimensions except the first"
+ msgstr ""
+
+-#: cp/decl.c:7134
++#: cp/decl.c:7206
+ #, gcc-internal-format
+ msgid "multidimensional array must have bounds for all dimensions except the first"
+ msgstr ""
+
+-#: cp/decl.c:7169
++#: cp/decl.c:7241
+ #, gcc-internal-format
+ msgid "return type specification for constructor invalid"
+ msgstr ""
+
+-#: cp/decl.c:7179
++#: cp/decl.c:7251
+ #, gcc-internal-format
+ msgid "return type specification for destructor invalid"
+ msgstr ""
+
+-#: cp/decl.c:7192
++#: cp/decl.c:7264
+ #, fuzzy, gcc-internal-format
+ msgid "return type specified for %<operator %T%>"
+ msgstr "registernaam niet opgegeven voor %qs"
+
+-#: cp/decl.c:7214
++#: cp/decl.c:7286
+ #, gcc-internal-format
+ msgid "unnamed variable or field declared void"
+ msgstr ""
+
+-#: cp/decl.c:7218
++#: cp/decl.c:7290
+ #, fuzzy, gcc-internal-format
+ msgid "variable or field %qE declared void"
+ msgstr "variabele of veld %qs als void gedeclareerd"
+
+-#: cp/decl.c:7221
++#: cp/decl.c:7293
+ #, gcc-internal-format
+ msgid "variable or field declared void"
+ msgstr ""
+
+-#: cp/decl.c:7388
++#: cp/decl.c:7460
+ #, fuzzy, gcc-internal-format
+ msgid "invalid use of qualified-name %<::%D%>"
+ msgstr "ongeldig gebruik van %<restrict%>"
+
+-#: cp/decl.c:7391
++#: cp/decl.c:7463
+ #, fuzzy, gcc-internal-format
+ msgid "invalid use of qualified-name %<%T::%D%>"
+ msgstr "ongeldig gebruik van het niet gedefinieerde type %<%s %s%>"
+
+-#: cp/decl.c:7394
++#: cp/decl.c:7466
+ #, fuzzy, gcc-internal-format
+ msgid "invalid use of qualified-name %<%D::%D%>"
+ msgstr "ongeldig gebruik van het niet gedefinieerde type %<%s %s%>"
+
+-#: cp/decl.c:7406
++#: cp/decl.c:7478
+ #, fuzzy, gcc-internal-format
+ msgid "type %qT is not derived from type %qT"
+ msgstr "iterator %qs is van een afgeleid type"
+
+-#: cp/decl.c:7422 cp/decl.c:7512 cp/decl.c:8660
++#: cp/decl.c:7494 cp/decl.c:7584 cp/decl.c:8732
+ #, fuzzy, gcc-internal-format
+ msgid "declaration of %qD as non-function"
+ msgstr "%qs wordt gedeclareerd als een array van functies"
+
+-#: cp/decl.c:7428
++#: cp/decl.c:7500
+ #, fuzzy, gcc-internal-format
+ msgid "declaration of %qD as non-member"
+ msgstr "%qs wordt gedeclareerd als een array van functies"
+
+-#: cp/decl.c:7457
++#: cp/decl.c:7529
+ #, gcc-internal-format
+ msgid "declarator-id missing; using reserved word %qD"
+ msgstr ""
+
+-#: cp/decl.c:7504
++#: cp/decl.c:7576
+ #, fuzzy, gcc-internal-format
+ msgid "function definition does not declare parameters"
+ msgstr "functie-definitie als %<register%> gedeclareerd"
+
+-#: cp/decl.c:7546
++#: cp/decl.c:7618
+ #, 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.c:7552
++#: cp/decl.c:7624
+ #, fuzzy, gcc-internal-format
+ msgid "conflicting specifiers in declaration of %qs"
+ msgstr "conflicterende declaraties van %qs"
+
+-#: cp/decl.c:7623 cp/decl.c:7626
++#: cp/decl.c:7695 cp/decl.c:7698
+ #, fuzzy, gcc-internal-format
+ msgid "ISO C++ forbids declaration of %qs with no type"
+ msgstr "ISO C++ verbiedt lid-declaraties zonder leden"
+
+-#: cp/decl.c:7651
++#: cp/decl.c:7723
+ #, fuzzy, gcc-internal-format
+ msgid "%<signed%> or %<unsigned%> invalid for %qs"
+ msgstr "'long', 'short', 'signed' of 'unsigned' ongeldig voor %qs"
+
+-#: cp/decl.c:7653
++#: cp/decl.c:7725
+ #, fuzzy, gcc-internal-format
+ msgid "%<signed%> and %<unsigned%> specified together for %qs"
+ msgstr "zowel 'signed' als 'unsigned' opgegeven voor %qs"
+
+-#: cp/decl.c:7655
++#: cp/decl.c:7727
+ #, fuzzy, gcc-internal-format
+ msgid "%<long long%> invalid for %qs"
+ msgstr "'complex' ongeldig voor %qs"
+
+-#: cp/decl.c:7657
++#: cp/decl.c:7729
+ #, fuzzy, gcc-internal-format
+ msgid "%<long%> invalid for %qs"
+ msgstr "'complex' ongeldig voor %qs"
+
+-#: cp/decl.c:7659
++#: cp/decl.c:7731
+ #, fuzzy, gcc-internal-format
+ msgid "%<short%> invalid for %qs"
+ msgstr "'complex' ongeldig voor %qs"
+
+-#: cp/decl.c:7661
++#: cp/decl.c:7733
+ #, fuzzy, gcc-internal-format
+ msgid "%<long%> or %<short%> invalid for %qs"
+ msgstr "'long', 'short', 'signed' of 'unsigned' ongeldig voor %qs"
+
+-#: cp/decl.c:7663
++#: cp/decl.c:7735
+ #, fuzzy, gcc-internal-format
+ msgid "%<long%> or %<short%> specified with char for %qs"
+ msgstr "'long' of 'short' opgegeven bij 'char' voor %qs"
+
+-#: cp/decl.c:7665
++#: cp/decl.c:7737
+ #, fuzzy, gcc-internal-format
+ msgid "%<long%> and %<short%> specified together for %qs"
+ msgstr "zowel 'long' als 'short' opgegeven voor %qs"
+
+-#: cp/decl.c:7671
++#: cp/decl.c:7743
+ #, fuzzy, gcc-internal-format
+ msgid "long, short, signed or unsigned used invalidly for %qs"
+ msgstr "ongeldig gebruik van 'long', 'short', 'signed' of 'unsigned' voor %qs"
+
+-#: cp/decl.c:7735
++#: cp/decl.c:7807
+ #, fuzzy, gcc-internal-format
+ msgid "complex invalid for %qs"
+ msgstr "'complex' ongeldig voor %qs"
+
+-#: cp/decl.c:7764
++#: cp/decl.c:7836
+ #, gcc-internal-format
+ msgid "qualifiers are not allowed on declaration of %<operator %T%>"
+ msgstr ""
+
+-#: cp/decl.c:7776 cp/typeck.c:7011
++#: cp/decl.c:7848 cp/typeck.c:7039
+ #, fuzzy, gcc-internal-format
+ msgid "ignoring %qV qualifiers added to function type %qT"
+ msgstr "%s laat qualifiers van doeltype van pointer vallen"
+
+-#: cp/decl.c:7799
++#: cp/decl.c:7871
+ #, gcc-internal-format
+ msgid "member %qD cannot be declared both virtual and static"
+ msgstr ""
+
+-#: cp/decl.c:7807
++#: cp/decl.c:7879
+ #, fuzzy, gcc-internal-format
+ msgid "%<%T::%D%> is not a valid declarator"
+ msgstr "%qs is geen iterator"
+
+-#: cp/decl.c:7816
++#: cp/decl.c:7888
+ #, gcc-internal-format
+ msgid "typedef declaration invalid in parameter declaration"
+ msgstr ""
+
+-#: cp/decl.c:7822
++#: cp/decl.c:7894
+ #, gcc-internal-format
+ msgid "storage class specifiers invalid in parameter declarations"
+ msgstr ""
+
+-#: cp/decl.c:7829
++#: cp/decl.c:7901
+ #, gcc-internal-format
+ msgid "virtual outside class declaration"
+ msgstr ""
+
+-#: cp/decl.c:7847
++#: cp/decl.c:7919
+ #, fuzzy, gcc-internal-format
+ msgid "multiple storage classes in declaration of %qs"
+ msgstr "meerdere opslagklassen in declaratie van %qs"
+
+-#: cp/decl.c:7870
++#: cp/decl.c:7942
+ #, fuzzy, gcc-internal-format
+ msgid "storage class specified for %qs"
+ msgstr "opslagklasse opgegeven voor parameter %qs"
+
+-#: cp/decl.c:7904
++#: cp/decl.c:7976
+ #, fuzzy, gcc-internal-format
+ msgid "top-level declaration of %qs specifies %<auto%>"
+ msgstr "top-level declaratie van %qs specifieert %<auto%>"
+
+-#: cp/decl.c:7916
++#: cp/decl.c:7988
+ #, gcc-internal-format
+ msgid "storage class specifiers invalid in friend function declarations"
+ msgstr ""
+
+-#: cp/decl.c:8043
++#: cp/decl.c:8115
+ #, gcc-internal-format
+ msgid "destructor cannot be static member function"
+ msgstr ""
+
+-#: cp/decl.c:8048
++#: cp/decl.c:8120
+ #, fuzzy, gcc-internal-format
+ msgid "destructors may not be cv-qualified"
+ msgstr "structure heeft geen lid dat %qs heet"
+
+-#: cp/decl.c:8066
++#: cp/decl.c:8138
+ #, gcc-internal-format
+ msgid "constructors cannot be declared virtual"
+ msgstr ""
+
+-#: cp/decl.c:8079
++#: cp/decl.c:8151
+ #, fuzzy, gcc-internal-format
+ msgid "can't initialize friend function %qs"
+ msgstr "ingebouwde functie %qs kan niet uitgeschakeld worden"
+
+ #. Cannot be both friend and virtual.
+-#: cp/decl.c:8083
++#: cp/decl.c:8155
+ #, gcc-internal-format
+ msgid "virtual functions cannot be friends"
+ msgstr ""
+
+-#: cp/decl.c:8087
++#: cp/decl.c:8159
+ #, gcc-internal-format
+ msgid "friend declaration not in class definition"
+ msgstr ""
+
+-#: cp/decl.c:8089
++#: cp/decl.c:8161
+ #, gcc-internal-format
+ msgid "can't define friend function %qs in a local class definition"
+ msgstr ""
+
+-#: cp/decl.c:8102
++#: cp/decl.c:8174
+ #, gcc-internal-format
+ msgid "destructors may not have parameters"
+ msgstr ""
+
+-#: cp/decl.c:8121
++#: cp/decl.c:8193
+ #, fuzzy, gcc-internal-format
+ msgid "cannot declare pointer to %q#T"
+ msgstr "parameter %qs wijst naar een onvolledig type"
+
+-#: cp/decl.c:8134 cp/decl.c:8141
++#: cp/decl.c:8206 cp/decl.c:8213
+ #, fuzzy, gcc-internal-format
+ msgid "cannot declare reference to %q#T"
+ msgstr "kan niet derefereren, is geen pointer."
+
+-#: cp/decl.c:8143
++#: cp/decl.c:8215
+ #, fuzzy, gcc-internal-format
+ msgid "cannot declare pointer to %q#T member"
+ msgstr "parameter %qs wijst naar een onvolledig type"
+
+-#: cp/decl.c:8194
++#: cp/decl.c:8266
+ #, gcc-internal-format
+ msgid "cannot declare reference to %q#T, which is not a typedef or a template type argument"
+ msgstr ""
+
+-#: cp/decl.c:8238
++#: cp/decl.c:8310
+ #, fuzzy, gcc-internal-format
+ msgid "template-id %qD used as a declarator"
+ msgstr "parameter %qs heeft enkel een voorwaartse declaratie"
+
+-#: cp/decl.c:8289
++#: cp/decl.c:8361
+ #, gcc-internal-format
+ msgid "member functions are implicitly friends of their class"
+ msgstr ""
+
+-#: cp/decl.c:8293
++#: cp/decl.c:8365
+ #, gcc-internal-format
+ msgid "extra qualification %<%T::%> on member %qs"
+ msgstr ""
+
+-#: cp/decl.c:8325
++#: cp/decl.c:8397
+ #, fuzzy, gcc-internal-format
+ msgid "cannot define member function %<%T::%s%> within %<%T%>"
+ msgstr "kan niet derefereren, is geen pointer."
+
+-#: cp/decl.c:8342
++#: cp/decl.c:8414
+ #, fuzzy, gcc-internal-format
+ msgid "cannot declare member %<%T::%s%> within %qT"
+ msgstr "kan niet derefereren, is geen pointer."
+
+-#: cp/decl.c:8365
++#: cp/decl.c:8437
+ #, fuzzy, gcc-internal-format
+ msgid "non-parameter %qs cannot be a parameter pack"
+ msgstr "geneste functie %qs is als %<extern%> gedeclareerd"
+
+ # Ik weet het, 'alleen-lezen' is lelijk, maar het is de min of meer geijkte vertaling.
+-#: cp/decl.c:8386
++#: cp/decl.c:8458
+ #, fuzzy, gcc-internal-format
+ msgid "data member may not have variably modified type %qT"
+ msgstr "argument %d is alleen-lezen"
+
+ # Ik weet het, 'alleen-lezen' is lelijk, maar het is de min of meer geijkte vertaling.
+-#: cp/decl.c:8388
++#: cp/decl.c:8460
+ #, fuzzy, gcc-internal-format
+ msgid "parameter may not have variably modified type %qT"
+ msgstr "argument %d is alleen-lezen"
+
+ #. [dcl.fct.spec] The explicit specifier shall only be used in
+ #. declarations of constructors within a class definition.
+-#: cp/decl.c:8396
++#: cp/decl.c:8468
+ #, gcc-internal-format
+ msgid "only declarations of constructors can be %<explicit%>"
+ msgstr ""
+
+-#: cp/decl.c:8404
++#: cp/decl.c:8476
+ #, fuzzy, gcc-internal-format
+ msgid "non-member %qs cannot be declared %<mutable%>"
+ msgstr "geneste functie %qs is als %<extern%> gedeclareerd"
+
+-#: cp/decl.c:8409
++#: cp/decl.c:8481
+ #, fuzzy, gcc-internal-format
+ msgid "non-object member %qs cannot be declared %<mutable%>"
+ msgstr "geneste functie %qs is als %<extern%> gedeclareerd"
+
+-#: cp/decl.c:8415
++#: cp/decl.c:8487
+ #, fuzzy, gcc-internal-format
+ msgid "function %qs cannot be declared %<mutable%>"
+ msgstr "geneste functie %qs is als %<extern%> gedeclareerd"
+
+-#: cp/decl.c:8420
++#: cp/decl.c:8492
+ #, fuzzy, gcc-internal-format
+ msgid "static %qs cannot be declared %<mutable%>"
+ msgstr "geneste functie %qs is als %<extern%> gedeclareerd"
+
+-#: cp/decl.c:8425
++#: cp/decl.c:8497
+ #, fuzzy, gcc-internal-format
+ msgid "const %qs cannot be declared %<mutable%>"
+ msgstr "geneste functie %qs is als %<extern%> gedeclareerd"
+
+-#: cp/decl.c:8462
++#: cp/decl.c:8534
+ #, gcc-internal-format
+ msgid "%Jtypedef name may not be a nested-name-specifier"
+ msgstr ""
+
+-#: cp/decl.c:8478
++#: cp/decl.c:8550
+ #, gcc-internal-format
+ msgid "ISO C++ forbids nested type %qD with same name as enclosing class"
+ msgstr ""
+
+-#: cp/decl.c:8564
++#: cp/decl.c:8636
+ #, fuzzy, gcc-internal-format
+ msgid "qualified function types cannot be used to declare static member functions"
+ msgstr "de terugkeerwaarde van een functie kan geen funtie zijn"
+
+-#: cp/decl.c:8566
++#: cp/decl.c:8638
+ #, fuzzy, gcc-internal-format
+ msgid "qualified function types cannot be used to declare free functions"
+ msgstr "de terugkeerwaarde van een functie kan geen funtie zijn"
+
+-#: cp/decl.c:8592
++#: cp/decl.c:8664
+ #, fuzzy, gcc-internal-format
+ msgid "type qualifiers specified for friend class declaration"
+ msgstr "twee types opgegeven in één lege declaratie"
+
+-#: cp/decl.c:8597
++#: cp/decl.c:8669
+ #, fuzzy, gcc-internal-format
+ msgid "%<inline%> specified for friend class declaration"
+ msgstr "POS mag niet opgegeven worden voor een lijst van veld-declaraties"
+
+-#: cp/decl.c:8605
++#: cp/decl.c:8677
+ #, fuzzy, gcc-internal-format
+ msgid "template parameters cannot be friends"
+ msgstr "niet-beëindigde parameterlijst in %<#define%>"
+
+-#: cp/decl.c:8607
++#: cp/decl.c:8679
+ #, gcc-internal-format
+ msgid "friend declaration requires class-key, i.e. %<friend class %T::%D%>"
+ msgstr ""
+
+-#: cp/decl.c:8611
++#: cp/decl.c:8683
+ #, gcc-internal-format
+ msgid "friend declaration requires class-key, i.e. %<friend %#T%>"
+ msgstr ""
+
+-#: cp/decl.c:8624
++#: cp/decl.c:8696
+ #, gcc-internal-format
+ msgid "trying to make class %qT a friend of global scope"
+ msgstr ""
+
+-#: cp/decl.c:8635
++#: cp/decl.c:8707
+ #, fuzzy, gcc-internal-format
+ msgid "invalid qualifiers on non-member function type"
+ msgstr "%s laat qualifiers van doeltype van pointer vallen"
+
+-#: cp/decl.c:8650
++#: cp/decl.c:8722
+ #, fuzzy, gcc-internal-format
+ msgid "abstract declarator %qT used as declaration"
+ msgstr "de declaratie van %qs verbergt een globale declaratie"
+
+-#: cp/decl.c:8679
++#: cp/decl.c:8751
+ #, fuzzy, gcc-internal-format
+ msgid "cannot use %<::%> in parameter declaration"
+ msgstr "attributen genegeerd in declarator van parameter-array"
+
+ #. Something like struct S { int N::j; };
+-#: cp/decl.c:8725
++#: cp/decl.c:8797
+ #, fuzzy, gcc-internal-format
+ msgid "invalid use of %<::%>"
+ msgstr "ongeldig gebruik van %<restrict%>"
+
+-#: cp/decl.c:8740
++#: cp/decl.c:8812
+ #, gcc-internal-format
+ msgid "can't make %qD into a method -- not in a class"
+ msgstr ""
+
+-#: cp/decl.c:8749
++#: cp/decl.c:8821
+ #, fuzzy, gcc-internal-format
+ msgid "function %qD declared virtual inside a union"
+ msgstr "veld %qs als een functie gedeclareerd"
+
+-#: cp/decl.c:8758
++#: cp/decl.c:8830
+ #, gcc-internal-format
+ msgid "%qD cannot be declared virtual, since it is always static"
+ msgstr ""
+
+-#: cp/decl.c:8774
++#: cp/decl.c:8846
+ #, fuzzy, gcc-internal-format
+ msgid "expected qualified name in friend declaration for destructor %qD"
+ msgstr "eerdere impliciete declaratie van `%s'"
+
+-#: cp/decl.c:8784
++#: cp/decl.c:8856
+ #, fuzzy, gcc-internal-format
+ msgid "declaration of %qD as member of %qT"
+ msgstr "de declaratie van %qs verbergt een parameter"
+
+-#: cp/decl.c:8860
++#: cp/decl.c:8863
+ #, fuzzy, gcc-internal-format
++msgid "expected qualified name in friend declaration for constructor %qD"
++msgstr "eerdere impliciete declaratie van `%s'"
++
++#: cp/decl.c:8939
++#, fuzzy, gcc-internal-format
+ msgid "field %qD has incomplete type"
+ msgstr "veld %qs heeft een onvolledig type"
+
+-#: cp/decl.c:8862
++#: cp/decl.c:8941
+ #, fuzzy, gcc-internal-format
+ msgid "name %qT has incomplete type"
+ msgstr "parameter %qs heeft een onvolledig type"
+
+-#: cp/decl.c:8871
++#: cp/decl.c:8950
+ #, fuzzy, gcc-internal-format
+ msgid " in instantiation of template %qT"
+ msgstr "impliciete declaratie van functie %qs"
+
+-#: cp/decl.c:8880
++#: cp/decl.c:8959
+ #, 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"
+@@ -29063,104 +29020,109 @@
+ #. the rest of the compiler does not correctly
+ #. handle the initialization unless the member is
+ #. static so we make it static below.
+-#: cp/decl.c:8932
++#: cp/decl.c:9011
+ #, fuzzy, gcc-internal-format
+ msgid "ISO C++ forbids initialization of member %qD"
+ msgstr "(dicht bij initialisatie van %qs)"
+
+-#: cp/decl.c:8934
++#: cp/decl.c:9013
+ #, gcc-internal-format
+ msgid "making %qD static"
+ msgstr ""
+
+-#: cp/decl.c:8999
++#: cp/decl.c:9078
+ #, fuzzy, gcc-internal-format
+ msgid "storage class %<auto%> invalid for function %qs"
+ msgstr "ongeldige opslagklasse voor functie %qs"
+
+-#: cp/decl.c:9001
++#: cp/decl.c:9080
+ #, fuzzy, gcc-internal-format
+ msgid "storage class %<register%> invalid for function %qs"
+ msgstr "ongeldige opslagklasse voor functie %qs"
+
+-#: cp/decl.c:9003
++#: cp/decl.c:9082
+ #, fuzzy, gcc-internal-format
+ msgid "storage class %<__thread%> invalid for function %qs"
+ msgstr "ongeldige opslagklasse voor functie %qs"
+
+-#: cp/decl.c:9014
++#: cp/decl.c:9093
+ #, gcc-internal-format
+ msgid "%<static%> specified invalid for function %qs declared out of global scope"
+ msgstr ""
+
+-#: cp/decl.c:9017
++#: cp/decl.c:9096
+ #, gcc-internal-format
+ msgid "%<inline%> specifier invalid for function %qs declared out of global scope"
+ msgstr ""
+
+-#: cp/decl.c:9025
++#: cp/decl.c:9104
+ #, fuzzy, gcc-internal-format
+ msgid "virtual non-class function %qs"
+ msgstr "ongeldige opslagklasse voor functie %qs"
+
+-#: cp/decl.c:9056
++#: cp/decl.c:9135
+ #, gcc-internal-format
+ msgid "cannot declare member function %qD to have static linkage"
+ msgstr ""
+
+ #. FIXME need arm citation
+-#: cp/decl.c:9063
++#: cp/decl.c:9142
+ #, gcc-internal-format
+ msgid "cannot declare static function inside another function"
+ msgstr ""
+
+-#: cp/decl.c:9093
++#: cp/decl.c:9172
+ #, gcc-internal-format
+ msgid "%<static%> may not be used when defining (as opposed to declaring) a static data member"
+ msgstr ""
+
+-#: cp/decl.c:9100
++#: cp/decl.c:9179
+ #, fuzzy, gcc-internal-format
+ msgid "static member %qD declared %<register%>"
+ msgstr "variabele %qs als inline gedeclareerd"
+
+-#: cp/decl.c:9105
++#: cp/decl.c:9184
+ #, gcc-internal-format
+ msgid "cannot explicitly declare member %q#D to have extern linkage"
+ msgstr ""
+
+-#: cp/decl.c:9234
++#: cp/decl.c:9313
+ #, fuzzy, gcc-internal-format
+ msgid "default argument for %q#D has type %qT"
+ msgstr "eerste argument van %qs zou een %<int%> moeten zijn"
+
+-#: cp/decl.c:9237
++#: cp/decl.c:9316
+ #, fuzzy, gcc-internal-format
+ msgid "default argument for parameter of type %qT has type %qT"
+ msgstr "eerste argument van %qs zou een %<int%> moeten zijn"
+
+ # Is the %s the argument, or is it 'of' the argument?
+-#: cp/decl.c:9253
++#: cp/decl.c:9332
+ #, fuzzy, gcc-internal-format
+ msgid "default argument %qE uses local variable %qD"
+ msgstr "ongeldig type-argument %qs"
+
+-#: cp/decl.c:9323
++#: cp/decl.c:9399
+ #, fuzzy, gcc-internal-format
++msgid "parameter %qD has Java class type"
++msgstr "%Jparameter %qD heeft een onvolledig type"
++
++#: cp/decl.c:9412
++#, fuzzy, gcc-internal-format
+ msgid "parameter %qD invalidly declared method type"
+ msgstr "parameter %qs als void gedeclareerd"
+
+-#: cp/decl.c:9347
++#: cp/decl.c:9436
+ #, gcc-internal-format
+ msgid "parameter %qD includes %s to array of unknown bound %qT"
+ msgstr ""
+
+-#: cp/decl.c:9361
++#: cp/decl.c:9450
+ #, fuzzy, gcc-internal-format
+ msgid "parameter packs must be at the end of the parameter list"
+ msgstr "%Jparameternaam ontbreekt in parameterlijst"
+
+-#: cp/decl.c:9366
++#: cp/decl.c:9455
+ #, fuzzy, gcc-internal-format
+ msgid "multiple parameters named %qE"
+ msgstr "%Jmeerdere parameters hebben de naam %qD"
+@@ -29180,138 +29142,138 @@
+ #. or implicitly defined), there's no need to worry about their
+ #. existence. Theoretically, they should never even be
+ #. instantiated, but that's hard to forestall.
+-#: cp/decl.c:9581
++#: cp/decl.c:9672
+ #, gcc-internal-format
+ msgid "invalid constructor; you probably meant %<%T (const %T&)%>"
+ msgstr ""
+
+-#: cp/decl.c:9703
++#: cp/decl.c:9794
+ #, fuzzy, gcc-internal-format
+ msgid "%qD may not be declared within a namespace"
+ msgstr "%<%.*s%> is niet gedefinieerd"
+
+-#: cp/decl.c:9708
++#: cp/decl.c:9799
+ #, fuzzy, gcc-internal-format
+ msgid "%qD may not be declared as static"
+ msgstr "%<%.*s%> is niet gedefinieerd"
+
+-#: cp/decl.c:9731
++#: cp/decl.c:9825
+ #, fuzzy, gcc-internal-format
+ msgid "%qD must be a nonstatic member function"
+ msgstr "%<this%> is niet beschikbaar in static member-funties"
+
+-#: cp/decl.c:9740
++#: cp/decl.c:9834
+ #, fuzzy, gcc-internal-format
+ msgid "%qD must be either a non-static member function or a non-member function"
+ msgstr "%<this%> is niet beschikbaar in static member-funties"
+
+-#: cp/decl.c:9761
++#: cp/decl.c:9855
+ #, gcc-internal-format
+ msgid "%qD must have an argument of class or enumerated type"
+ msgstr ""
+
+-#: cp/decl.c:9802
++#: cp/decl.c:9896
+ #, gcc-internal-format
+ msgid "conversion to %s%s will never use a type conversion operator"
+ msgstr ""
+
+ #. 13.4.0.3
+-#: cp/decl.c:9810
++#: cp/decl.c:9904
+ #, gcc-internal-format
+ msgid "ISO C++ prohibits overloading operator ?:"
+ msgstr ""
+
+-#: cp/decl.c:9815
++#: cp/decl.c:9909
+ #, fuzzy, gcc-internal-format
+ msgid "%qD must not have variable number of arguments"
+ msgstr "%qs neemt ofwel geen, ofwel twee argumenten"
+
+-#: cp/decl.c:9866
++#: cp/decl.c:9960
+ #, fuzzy, gcc-internal-format
+ msgid "postfix %qD must take %<int%> as its argument"
+ msgstr "%qs neemt ofwel geen, ofwel twee argumenten"
+
+-#: cp/decl.c:9869
++#: cp/decl.c:9963
+ #, fuzzy, gcc-internal-format
+ msgid "postfix %qD must take %<int%> as its second argument"
+ msgstr "%qs neemt ofwel geen, ofwel twee argumenten"
+
+-#: cp/decl.c:9877
++#: cp/decl.c:9971
+ #, fuzzy, gcc-internal-format
+ msgid "%qD must take either zero or one argument"
+ msgstr "%qs neemt ofwel geen, ofwel twee argumenten"
+
+-#: cp/decl.c:9879
++#: cp/decl.c:9973
+ #, fuzzy, gcc-internal-format
+ msgid "%qD must take either one or two arguments"
+ msgstr "%qs neemt ofwel geen, ofwel twee argumenten"
+
+-#: cp/decl.c:9901
++#: cp/decl.c:9995
+ #, gcc-internal-format
+ msgid "prefix %qD should return %qT"
+ msgstr ""
+
+-#: cp/decl.c:9907
++#: cp/decl.c:10001
+ #, gcc-internal-format
+ msgid "postfix %qD should return %qT"
+ msgstr ""
+
+-#: cp/decl.c:9916
++#: cp/decl.c:10010
+ #, gcc-internal-format
+ msgid "%qD must take %<void%>"
+ msgstr ""
+
+-#: cp/decl.c:9918 cp/decl.c:9927
++#: cp/decl.c:10012 cp/decl.c:10021
+ #, fuzzy, gcc-internal-format
+ msgid "%qD must take exactly one argument"
+ msgstr "%qs neemt ofwel geen, ofwel twee argumenten"
+
+-#: cp/decl.c:9929
++#: cp/decl.c:10023
+ #, fuzzy, gcc-internal-format
+ msgid "%qD must take exactly two arguments"
+ msgstr "%qs neemt ofwel geen, ofwel twee argumenten"
+
+-#: cp/decl.c:9938
++#: cp/decl.c:10032
+ #, gcc-internal-format
+ msgid "user-defined %qD always evaluates both arguments"
+ msgstr ""
+
+-#: cp/decl.c:9952
++#: cp/decl.c:10046
+ #, gcc-internal-format
+ msgid "%qD should return by value"
+ msgstr ""
+
+-#: cp/decl.c:9964 cp/decl.c:9968
++#: cp/decl.c:10058 cp/decl.c:10062
+ #, fuzzy, gcc-internal-format
+ msgid "%qD cannot have default arguments"
+ msgstr "%qs neemt ofwel geen, ofwel twee argumenten"
+
+-#: cp/decl.c:10026
++#: cp/decl.c:10120
+ #, fuzzy, gcc-internal-format
+ msgid "using template type parameter %qT after %qs"
+ msgstr "incompatibel type voor argument %d van %qs"
+
+-#: cp/decl.c:10041
++#: cp/decl.c:10135
+ #, fuzzy, gcc-internal-format
+ msgid "using typedef-name %qD after %qs"
+ msgstr "beginwaarde ontbreekt"
+
+-#: cp/decl.c:10042
++#: cp/decl.c:10136
+ #, fuzzy, gcc-internal-format
+ msgid "%q+D has a previous declaration here"
+ msgstr "dit is een eerdere declaratie"
+
+-#: cp/decl.c:10050
++#: cp/decl.c:10144
+ #, gcc-internal-format
+ msgid "%qT referred to as %qs"
+ msgstr ""
+
+-#: cp/decl.c:10051 cp/decl.c:10058
++#: cp/decl.c:10145 cp/decl.c:10152
+ #, fuzzy, gcc-internal-format
+ msgid "%q+T has a previous declaration here"
+ msgstr "dit is een eerdere declaratie"
+
+-#: cp/decl.c:10057
++#: cp/decl.c:10151
+ #, gcc-internal-format
+ msgid "%qT referred to as enum"
+ msgstr ""
+@@ -29323,73 +29285,73 @@
+ #. void f(class C); // No template header here
+ #.
+ #. then the required template argument is missing.
+-#: cp/decl.c:10072
++#: cp/decl.c:10166
+ #, fuzzy, gcc-internal-format
+ msgid "template argument required for %<%s %T%>"
+ msgstr "meerdere parameters hebben de naam %qs"
+
+-#: cp/decl.c:10120 cp/name-lookup.c:2698
++#: cp/decl.c:10214 cp/name-lookup.c:2700
+ #, gcc-internal-format
+ msgid "%qD has the same name as the class in which it is declared"
+ msgstr ""
+
+-#: cp/decl.c:10150 cp/name-lookup.c:2207 cp/parser.c:4036 cp/parser.c:14029
+-#: cp/parser.c:16234
++#: cp/decl.c:10244 cp/name-lookup.c:2209 cp/parser.c:4040 cp/parser.c:14099
++#: cp/parser.c:16316
+ #, fuzzy, gcc-internal-format
+ msgid "reference to %qD is ambiguous"
+ msgstr "grootte van %qs is %u bytes"
+
+-#: cp/decl.c:10264
++#: cp/decl.c:10358
+ #, 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.c:10285
++#: cp/decl.c:10379
+ #, fuzzy, gcc-internal-format
+ msgid "redeclaration of %qT as a non-template"
+ msgstr "ingebouwde functie %qs als niet-functie gedeclareerd"
+
+-#: cp/decl.c:10286 cp/pt.c:4154
++#: cp/decl.c:10380
+ #, fuzzy, gcc-internal-format
+ msgid "previous declaration %q+D"
+ msgstr "eerdere declaratie van %qs"
+
+-#: cp/decl.c:10397
++#: cp/decl.c:10491
+ #, fuzzy, gcc-internal-format
+ msgid "derived union %qT invalid"
+ msgstr "overtollige elementen in beginwaarde van union"
+
+-#: cp/decl.c:10406
++#: cp/decl.c:10500
+ #, gcc-internal-format
+ msgid "Java class %qT cannot have multiple bases"
+ msgstr ""
+
+-#: cp/decl.c:10417
++#: cp/decl.c:10511
+ #, gcc-internal-format
+ msgid "Java class %qT cannot have virtual bases"
+ msgstr ""
+
+-#: cp/decl.c:10440
++#: cp/decl.c:10534
+ #, 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.c:10473
++#: cp/decl.c:10567
+ #, gcc-internal-format
+ msgid "recursive type %qT undefined"
+ msgstr ""
+
+-#: cp/decl.c:10475
++#: cp/decl.c:10569
+ #, fuzzy, gcc-internal-format
+ msgid "duplicate base type %qT invalid"
+ msgstr "herhaalde case-waarde"
+
+-#: cp/decl.c:10552
++#: cp/decl.c:10646
+ #, fuzzy, gcc-internal-format
+ msgid "multiple definition of %q#T"
+ msgstr "herdefinitie van %qs"
+
+-#: cp/decl.c:10553
++#: cp/decl.c:10647
+ #, fuzzy, gcc-internal-format
+ msgid "%Jprevious definition here"
+ msgstr "eerdere definitie van %qs"
+@@ -29398,47 +29360,52 @@
+ #.
+ #. IF no integral type can represent all the enumerator values, the
+ #. enumeration is ill-formed.
+-#: cp/decl.c:10692
++#: cp/decl.c:10786
+ #, gcc-internal-format
+ msgid "no integral type can represent all of the enumerator values for %qT"
+ msgstr ""
+
+-#: cp/decl.c:10803
++#: cp/decl.c:10897
+ #, fuzzy, gcc-internal-format
+ msgid "enumerator value for %qD is not an integer constant"
+ msgstr "enumeratiewaarde voor %qE is geen integerconstante"
+
+-#: cp/decl.c:10831
++#: cp/decl.c:10925
+ #, fuzzy, gcc-internal-format
+ msgid "overflow in enumeration values at %qD"
+ msgstr "overflow in enumeratiewaarden"
+
+-#: cp/decl.c:10906
++#: cp/decl.c:11002
+ #, fuzzy, gcc-internal-format
+ msgid "return type %q#T is incomplete"
+ msgstr "type van teruggeefwaarde is onvolledig"
+
+-#: cp/decl.c:11031 cp/typeck.c:6711
++#: cp/decl.c:11004
++#, fuzzy, gcc-internal-format
++msgid "return type has Java class type %q#T"
++msgstr "teruggeeftype is onvolledig"
++
++#: cp/decl.c:11129 cp/typeck.c:6739
+ #, gcc-internal-format
+ msgid "%<operator=%> should return a reference to %<*this%>"
+ msgstr ""
+
+-#: cp/decl.c:11420
++#: cp/decl.c:11518
+ #, fuzzy, gcc-internal-format
+ msgid "parameter %qD declared void"
+ msgstr "parameter %qs als void gedeclareerd"
+
+-#: cp/decl.c:11908
++#: cp/decl.c:12006
+ #, fuzzy, gcc-internal-format
+ msgid "invalid member function declaration"
+ msgstr "herhaalde label-declaratie %qs"
+
+-#: cp/decl.c:11923
++#: cp/decl.c:12021
+ #, fuzzy, gcc-internal-format
+ msgid "%qD is already defined in class %qT"
+ msgstr "kan klasse '%s' niet vinden"
+
+-#: cp/decl.c:12170
++#: cp/decl.c:12268
+ #, fuzzy, gcc-internal-format
+ msgid "static member function %q#D declared with type qualifiers"
+ msgstr "geneste functie %qs is als %<extern%> gedeclareerd"
+@@ -29478,7 +29445,7 @@
+ msgid "deleting %qT is undefined"
+ msgstr "%<%.*s%> is niet gedefinieerd"
+
+-#: cp/decl2.c:459 cp/pt.c:3828
++#: cp/decl2.c:459 cp/pt.c:3831
+ #, fuzzy, gcc-internal-format
+ msgid "template declaration of %q#D"
+ msgstr "herdeclaratie van %qs"
+@@ -29563,22 +29530,22 @@
+ msgid "static member %qD cannot be a bit-field"
+ msgstr "variabele %qs als inline gedeclareerd"
+
+-#: cp/decl2.c:1122
++#: cp/decl2.c:1165
+ #, fuzzy, gcc-internal-format
+ msgid "anonymous struct not inside named type"
+ msgstr "anonieme %s gedeclareerd binnen parameterlijst"
+
+-#: cp/decl2.c:1206
++#: cp/decl2.c:1249
+ #, gcc-internal-format
+ msgid "namespace-scope anonymous aggregates must be static"
+ msgstr ""
+
+-#: cp/decl2.c:1215
++#: cp/decl2.c:1258
+ #, fuzzy, gcc-internal-format
+ msgid "anonymous union with no members"
+ msgstr "anonieme %s gedeclareerd binnen parameterlijst"
+
+-#: cp/decl2.c:1251
++#: cp/decl2.c:1294
+ #, gcc-internal-format
+ msgid "%<operator new%> must return type %qT"
+ msgstr ""
+@@ -29587,52 +29554,52 @@
+ #.
+ #. The first parameter shall not have an associated default
+ #. argument.
+-#: cp/decl2.c:1262
++#: cp/decl2.c:1305
+ #, fuzzy, gcc-internal-format
+ msgid "the first parameter of %<operator new%> cannot have a default argument"
+ msgstr "de tweede parameter van %<va_start%> is niet het laatste benoemde argument"
+
+-#: cp/decl2.c:1278
++#: cp/decl2.c:1321
+ #, gcc-internal-format
+ msgid "%<operator new%> takes type %<size_t%> (%qT) as first parameter"
+ msgstr ""
+
+-#: cp/decl2.c:1307
++#: cp/decl2.c:1350
+ #, fuzzy, gcc-internal-format
+ msgid "%<operator delete%> must return type %qT"
+ msgstr "parameter %qs als void gedeclareerd"
+
+-#: cp/decl2.c:1316
++#: cp/decl2.c:1359
+ #, gcc-internal-format
+ msgid "%<operator delete%> takes type %qT as first parameter"
+ msgstr ""
+
+-#: cp/decl2.c:1985
++#: cp/decl2.c:2028
+ #, gcc-internal-format
+ msgid "%qT has a field %qD whose type uses the anonymous namespace"
+ msgstr ""
+
+-#: cp/decl2.c:1992
++#: cp/decl2.c:2035
+ #, gcc-internal-format
+ msgid "%qT declared with greater visibility than the type of its field %qD"
+ msgstr ""
+
+-#: cp/decl2.c:2005
++#: cp/decl2.c:2048
+ #, gcc-internal-format
+ msgid "%qT has a base %qT whose type uses the anonymous namespace"
+ msgstr ""
+
+-#: cp/decl2.c:2011
++#: cp/decl2.c:2054
+ #, gcc-internal-format
+ msgid "%qT declared with greater visibility than its base %qT"
+ msgstr ""
+
+-#: cp/decl2.c:3395
++#: cp/decl2.c:3441
+ #, fuzzy, gcc-internal-format
+ msgid "inline function %q+D used but never defined"
+ msgstr "label %qs gebruikt maar niet gedefinieerd"
+
+-#: cp/decl2.c:3543
++#: cp/decl2.c:3589
+ #, fuzzy, gcc-internal-format
+ msgid "default argument missing for parameter %P of %q+#D"
+ msgstr "parameternaam ontbreekt uit parameterlijst"
+@@ -29640,7 +29607,7 @@
+ #. We really want to suppress this warning in system headers,
+ #. because libstdc++ uses variadic templates even when we aren't
+ #. in C++0x mode.
+-#: cp/error.c:2669
++#: cp/error.c:2712
+ #, fuzzy, gcc-internal-format
+ msgid "ISO C++ does not include variadic templates"
+ msgstr "ISO C++ staat het gebruik van %<varargs.h%> niet toe"
+@@ -29672,7 +29639,7 @@
+ msgid "throwing NULL, which has integral, not pointer type"
+ msgstr ""
+
+-#: cp/except.c:643 cp/init.c:1780
++#: cp/except.c:643 cp/init.c:1915
+ #, gcc-internal-format
+ msgid "%qD should never be overloaded"
+ msgstr ""
+@@ -29771,232 +29738,247 @@
+ msgid "member %qD declared as friend before type %qT defined"
+ msgstr ""
+
+-#: cp/friend.c:550
++#: cp/friend.c:543
+ #, fuzzy, gcc-internal-format
++msgid "friend declaration %qD in local class without prior declaration"
++msgstr "%Jsectie van %qD geeft een conflict met een eerdere declaratie"
++
++#: cp/friend.c:564
++#, fuzzy, gcc-internal-format
+ msgid "friend declaration %q#D declares a non-template function"
+ msgstr "ingebouwde functie %qs als niet-functie gedeclareerd"
+
+-#: cp/friend.c:554
++#: cp/friend.c:568
+ #, 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.c:334
++#: cp/init.c:374
+ #, fuzzy, gcc-internal-format
++msgid "value-initialization of reference"
++msgstr "dubbele beginwaarde"
++
++#: cp/init.c:481
++#, fuzzy, gcc-internal-format
+ msgid "%J%qD should be initialized in the member initialization list"
+ msgstr "ongeldige beginwaarde"
+
+-#: cp/init.c:382
++#: cp/init.c:529
+ #, gcc-internal-format
+ msgid "%Jdefault-initialization of %q#D, which has reference type"
+ msgstr ""
+
+-#: cp/init.c:388
++#: cp/init.c:535
+ #, fuzzy, gcc-internal-format
+ msgid "%Juninitialized reference member %qD"
+ msgstr "ongeldige beginwaarde voor member %qs"
+
+-#: cp/init.c:391
++#: cp/init.c:538
+ #, gcc-internal-format
+ msgid "%Juninitialized member %qD with %<const%> type %qT"
+ msgstr ""
+
+-#: cp/init.c:534
++#: cp/init.c:681
+ #, fuzzy, gcc-internal-format
+ msgid "%q+D will be initialized after"
+ msgstr "parameter %qs krijgt beginwaarde"
+
+-#: cp/init.c:537
++#: cp/init.c:684
+ #, fuzzy, gcc-internal-format
+ msgid "base %qT will be initialized after"
+ msgstr "veld %qs heeft al een beginwaarde gekregen"
+
+-#: cp/init.c:540
++#: cp/init.c:687
+ #, fuzzy, gcc-internal-format
+ msgid " %q+#D"
+ msgstr "%s voor %qs"
+
+-#: cp/init.c:542
++#: cp/init.c:689
+ #, fuzzy, gcc-internal-format
+ msgid " base %qT"
+ msgstr "%s voor %qs"
+
+-#: cp/init.c:543
++#: cp/init.c:690
+ #, fuzzy, gcc-internal-format
+ msgid "%J when initialized here"
+ msgstr "parameter %qs krijgt beginwaarde"
+
+-#: cp/init.c:559
++#: cp/init.c:706
+ #, fuzzy, gcc-internal-format
+ msgid "%Jmultiple initializations given for %qD"
+ msgstr "(dicht bij initialisatie van %qs)"
+
+-#: cp/init.c:562
++#: cp/init.c:709
+ #, fuzzy, gcc-internal-format
+ msgid "%Jmultiple initializations given for base %qT"
+ msgstr "(dicht bij initialisatie van %qs)"
+
+-#: cp/init.c:629
++#: cp/init.c:776
+ #, fuzzy, gcc-internal-format
+ msgid "%Jinitializations for multiple members of %qT"
+ msgstr "beginwaarde legt grootte van %qs niet vast"
+
+-#: cp/init.c:691
++#: cp/init.c:839
+ #, gcc-internal-format
+ msgid "%Jbase class %q#T should be explicitly initialized in the copy constructor"
+ msgstr ""
+
+-#: cp/init.c:915 cp/init.c:934
++#: cp/init.c:1063 cp/init.c:1082
+ #, gcc-internal-format
+ msgid "class %qT does not have any field named %qD"
+ msgstr ""
+
+-#: cp/init.c:921
++#: cp/init.c:1069
+ #, fuzzy, gcc-internal-format
+ msgid "%q#D is a static data member; it can only be initialized at its definition"
+ msgstr "het %qs attribuut heeft enkel betekenis voor functies"
+
+-#: cp/init.c:928
++#: cp/init.c:1076
+ #, fuzzy, gcc-internal-format
+ msgid "%q#D is not a non-static data member of %qT"
+ msgstr "%qs is geen static veld"
+
+-#: cp/init.c:967
++#: cp/init.c:1115
+ #, gcc-internal-format
+ msgid "unnamed initializer for %qT, which has no base classes"
+ msgstr ""
+
+-#: cp/init.c:975
++#: cp/init.c:1123
+ #, gcc-internal-format
+ msgid "unnamed initializer for %qT, which uses multiple inheritance"
+ msgstr ""
+
+-#: cp/init.c:1021
++#: cp/init.c:1169
+ #, gcc-internal-format
+ msgid "%qD is both a direct base and an indirect virtual base"
+ msgstr ""
+
+-#: cp/init.c:1029
++#: cp/init.c:1177
+ #, fuzzy, gcc-internal-format
+ msgid "type %qT is not a direct or virtual base of %qT"
+ msgstr "%qs is geen bestand, pipe of tty"
+
+-#: cp/init.c:1032
++#: cp/init.c:1180
+ #, fuzzy, gcc-internal-format
+ msgid "type %qT is not a direct base of %qT"
+ msgstr "%qs is geen bestand, pipe of tty"
+
+-#: cp/init.c:1112
++#: cp/init.c:1260
+ #, gcc-internal-format
+ msgid "bad array initializer"
+ msgstr ""
+
+-#: cp/init.c:1287
++#: cp/init.c:1435
+ #, fuzzy, gcc-internal-format
+ msgid "%qT is not an aggregate type"
+ msgstr "%qs is geen iterator"
+
+-#: cp/init.c:1341
++#: cp/init.c:1489
+ #, gcc-internal-format
+ msgid "incomplete type %qT does not have member %qD"
+ msgstr ""
+
+-#: cp/init.c:1354
++#: cp/init.c:1502
+ #, fuzzy, gcc-internal-format
+ msgid "invalid pointer to bit-field %qD"
+ msgstr "bitveld %qs heeft een negatieve breedte"
+
+-#: cp/init.c:1431
++#: cp/init.c:1579
+ #, fuzzy, gcc-internal-format
+ msgid "invalid use of non-static member function %qD"
+ msgstr "%<this%> is niet beschikbaar in static member-funties"
+
+-#: cp/init.c:1437
++#: cp/init.c:1585
+ #, fuzzy, gcc-internal-format
+ msgid "invalid use of non-static data member %qD"
+ msgstr "ongeldig gebruik van onvolledige typedef %qs"
+
+-#: cp/init.c:1714
++#: cp/init.c:1862
+ #, gcc-internal-format
+ msgid "invalid type %<void%> for new"
+ msgstr ""
+
+-#: cp/init.c:1724
++#: cp/init.c:1872
+ #, fuzzy, gcc-internal-format
+ msgid "uninitialized const in %<new%> of %q#T"
+ msgstr "beginwaarde legt grootte van %qs niet vast"
+
+-#: cp/init.c:1775
++#: cp/init.c:1910
+ #, gcc-internal-format
+ msgid "call to Java constructor with %qs undefined"
+ msgstr ""
+
+-#: cp/init.c:1815
++#: cp/init.c:1926
++#, gcc-internal-format
++msgid "Java class %q#T object allocated using placement new"
++msgstr ""
++
++#: cp/init.c:1955
+ #, fuzzy, gcc-internal-format
+ msgid "no suitable %qD found in class %qT"
+ msgstr "kan klasse '%s' niet vinden"
+
+-#: cp/init.c:1820
++#: cp/init.c:1960
+ #, fuzzy, gcc-internal-format
+ msgid "request for member %qD is ambiguous"
+ msgstr "grootte van %qs is %u bytes"
+
+-#: cp/init.c:1972
++#: cp/init.c:2134
+ #, fuzzy, gcc-internal-format
+ msgid "ISO C++ forbids initialization in array new"
+ msgstr "ISO C++ verbiedt lege initialisatie-accolades"
+
+-#: cp/init.c:2174
++#: cp/init.c:2336
+ #, gcc-internal-format
+ msgid "size in array new must have integral type"
+ msgstr ""
+
+-#: cp/init.c:2183
++#: cp/init.c:2345
+ #, gcc-internal-format
+ msgid "new cannot be applied to a reference type"
+ msgstr ""
+
+-#: cp/init.c:2189
++#: cp/init.c:2351
+ #, gcc-internal-format
+ msgid "new cannot be applied to a function type"
+ msgstr ""
+
+-#: cp/init.c:2228
++#: cp/init.c:2390
+ #, gcc-internal-format
+ msgid "call to Java constructor, while %<jclass%> undefined"
+ msgstr ""
+
+-#: cp/init.c:2246
++#: cp/init.c:2408
+ #, fuzzy, gcc-internal-format
+ msgid "can't find %<class$%> in %qT"
+ msgstr "kan %s niet vinden"
+
+-#: cp/init.c:2607
++#: cp/init.c:2769
+ #, gcc-internal-format
+ msgid "initializer ends prematurely"
+ msgstr ""
+
+-#: cp/init.c:2662
++#: cp/init.c:2824
+ #, gcc-internal-format
+ msgid "cannot initialize multi-dimensional array with initializer"
+ msgstr ""
+
+-#: cp/init.c:2799
++#: cp/init.c:2961
+ #, gcc-internal-format
+ msgid "possible problem detected in invocation of delete operator:"
+ msgstr ""
+
+-#: cp/init.c:2802
++#: cp/init.c:2964
+ #, gcc-internal-format
+ msgid "neither the destructor nor the class-specific operator delete will be called, even if they are declared when the class is defined."
+ msgstr ""
+
+-#: cp/init.c:2823
++#: cp/init.c:2985
+ #, gcc-internal-format
+ msgid "unknown array size in delete"
+ msgstr ""
+
+-#: cp/init.c:3070
++#: cp/init.c:3232
+ #, gcc-internal-format
+ msgid "type to vector delete is neither pointer or array type"
+ msgstr ""
+@@ -30062,22 +30044,22 @@
+ msgid "mangling typeof, use decltype instead"
+ msgstr ""
+
+-#: cp/mangle.c:2208
++#: cp/mangle.c:2211
+ #, gcc-internal-format
+ msgid "call_expr cannot be mangled due to a defect in the C++ ABI"
+ msgstr ""
+
+-#: cp/mangle.c:2216
++#: cp/mangle.c:2219
+ #, gcc-internal-format
+ msgid "zero-operand casts cannot be mangled due to a defect in the C++ ABI"
+ msgstr ""
+
+-#: cp/mangle.c:2266
++#: cp/mangle.c:2269
+ #, gcc-internal-format
+ msgid "omitted middle operand to %<?:%> operand cannot be mangled"
+ msgstr ""
+
+-#: cp/mangle.c:2584
++#: cp/mangle.c:2587
+ #, gcc-internal-format
+ msgid "the mangled name of %qD will change in a future version of GCC"
+ msgstr ""
+@@ -30087,27 +30069,27 @@
+ msgid "generic thunk code fails for method %q#D which uses %<...%>"
+ msgstr ""
+
+-#: cp/method.c:697
++#: cp/method.c:698
+ #, gcc-internal-format
+ msgid "non-static const member %q#D, can't use default assignment operator"
+ msgstr ""
+
+-#: cp/method.c:703
++#: cp/method.c:704
+ #, gcc-internal-format
+ msgid "non-static reference member %q#D, can't use default assignment operator"
+ msgstr ""
+
+-#: cp/method.c:815
++#: cp/method.c:816
+ #, gcc-internal-format
+ msgid "%Hsynthesized method %qD first required here "
+ msgstr ""
+
+-#: cp/method.c:1158
++#: cp/method.c:1159
+ #, gcc-internal-format
+ msgid "vtable layout for class %qT may not be ABI-compliantand may change in a future version of GCC due to implicit virtual destructor"
+ msgstr ""
+
+-#: cp/name-lookup.c:728
++#: cp/name-lookup.c:727
+ #, fuzzy, gcc-internal-format
+ msgid "redeclaration of %<wchar_t%> as %qT"
+ msgstr "herdeclaratie van %qs"
+@@ -30118,243 +30100,243 @@
+ #. [basic.start.main]
+ #.
+ #. This function shall not be overloaded.
+-#: cp/name-lookup.c:758
++#: cp/name-lookup.c:757
+ #, fuzzy, gcc-internal-format
+ msgid "invalid redeclaration of %q+D"
+ msgstr "herdeclaratie van %qs"
+
+-#: cp/name-lookup.c:759
++#: cp/name-lookup.c:758
+ #, fuzzy, gcc-internal-format
+ msgid "as %qD"
+ msgstr "%s voor %qs"
+
+-#: cp/name-lookup.c:850
++#: cp/name-lookup.c:849
+ #, fuzzy, gcc-internal-format
+ msgid "type mismatch with previous external decl of %q#D"
+ msgstr "type-conflict met eerdere externe declaratie"
+
+-#: cp/name-lookup.c:851
++#: cp/name-lookup.c:850
+ #, fuzzy, gcc-internal-format
+ msgid "previous external decl of %q+#D"
+ msgstr "eerdere externe declaratie van %qs"
+
+-#: cp/name-lookup.c:942
++#: cp/name-lookup.c:941
+ #, fuzzy, gcc-internal-format
+ msgid "extern declaration of %q#D doesn't match"
+ msgstr "externe declaratie van %qs komt niet overeen met de globale declaratie"
+
+-#: cp/name-lookup.c:943
++#: cp/name-lookup.c:942
+ #, fuzzy, gcc-internal-format
+ msgid "global declaration %q+#D"
+ msgstr "herhaalde label-declaratie %qs"
+
+-#: cp/name-lookup.c:980 cp/name-lookup.c:987
++#: cp/name-lookup.c:979 cp/name-lookup.c:986
+ #, fuzzy, gcc-internal-format
+ msgid "declaration of %q#D shadows a parameter"
+ msgstr "de declaratie van %qs verbergt een parameter"
+
+ #. Location of previous decl is not useful in this case.
+-#: cp/name-lookup.c:1012
++#: cp/name-lookup.c:1011
+ #, fuzzy, gcc-internal-format
+ msgid "declaration of %qD shadows a member of 'this'"
+ msgstr "de declaratie van %qs verbergt een parameter"
+
+-#: cp/name-lookup.c:1018
++#: cp/name-lookup.c:1017
+ #, fuzzy, gcc-internal-format
+ msgid "declaration of %qD shadows a previous local"
+ msgstr "de declaratie van %qs verbergt een parameter"
+
+-#: cp/name-lookup.c:1025
++#: cp/name-lookup.c:1024
+ #, fuzzy, gcc-internal-format
+ msgid "declaration of %qD shadows a global declaration"
+ msgstr "de declaratie van %qs verbergt een parameter"
+
+-#: cp/name-lookup.c:1148
++#: cp/name-lookup.c:1147
+ #, gcc-internal-format
+ msgid "name lookup of %qD changed"
+ msgstr ""
+
+-#: cp/name-lookup.c:1149
++#: cp/name-lookup.c:1148
+ #, gcc-internal-format
+ msgid " matches this %q+D under ISO standard rules"
+ msgstr ""
+
+-#: cp/name-lookup.c:1151
++#: cp/name-lookup.c:1150
+ #, gcc-internal-format
+ msgid " matches this %q+D under old rules"
+ msgstr ""
+
+-#: cp/name-lookup.c:1169 cp/name-lookup.c:1177
++#: cp/name-lookup.c:1168 cp/name-lookup.c:1176
+ #, gcc-internal-format
+ msgid "name lookup of %qD changed for new ISO %<for%> scoping"
+ msgstr ""
+
+-#: cp/name-lookup.c:1171
++#: cp/name-lookup.c:1170
+ #, gcc-internal-format
+ msgid " cannot use obsolete binding at %q+D because it has a destructor"
+ msgstr ""
+
+-#: cp/name-lookup.c:1179
++#: cp/name-lookup.c:1178
+ #, gcc-internal-format
+ msgid " using obsolete binding at %q+D"
+ msgstr ""
+
+-#: cp/name-lookup.c:1232
++#: cp/name-lookup.c:1231
+ #, gcc-internal-format
+ msgid "%s %s(%E) %p %d\n"
+ msgstr ""
+
+-#: cp/name-lookup.c:1235
++#: cp/name-lookup.c:1234
+ #, gcc-internal-format
+ msgid "%s %s %p %d\n"
+ msgstr ""
+
+-#: cp/name-lookup.c:1362
++#: cp/name-lookup.c:1361
+ #, gcc-internal-format
+ msgid "XXX is_class_level != (current_scope == class_scope)\n"
+ msgstr ""
+
+-#: cp/name-lookup.c:1920
++#: cp/name-lookup.c:1922
+ #, fuzzy, gcc-internal-format
+ msgid "%q#D hides constructor for %q#T"
+ msgstr "%d constructor(s) gevonden\n"
+
+-#: cp/name-lookup.c:1937
++#: cp/name-lookup.c:1939
+ #, fuzzy, gcc-internal-format
+ msgid "%q#D conflicts with previous using declaration %q#D"
+ msgstr "sectie van %qs geeft een conflict met een eerdere declaratie"
+
+-#: cp/name-lookup.c:1960
++#: cp/name-lookup.c:1962
+ #, fuzzy, gcc-internal-format
+ msgid "previous non-function declaration %q+#D"
+ msgstr "eerdere declaratie van %qs"
+
+-#: cp/name-lookup.c:1961
++#: cp/name-lookup.c:1963
+ #, fuzzy, gcc-internal-format
+ msgid "conflicts with function declaration %q#D"
+ msgstr "conflicterende declaraties van %qs"
+
+ #. It's a nested name with template parameter dependent scope.
+ #. This can only be using-declaration for class member.
+-#: cp/name-lookup.c:2039 cp/name-lookup.c:2064
++#: cp/name-lookup.c:2041 cp/name-lookup.c:2066
+ #, fuzzy, gcc-internal-format
+ msgid "%qT is not a namespace"
+ msgstr "%qs is geen iterator"
+
+ #. 7.3.3/5
+ #. A using-declaration shall not name a template-id.
+-#: cp/name-lookup.c:2049
++#: cp/name-lookup.c:2051
+ #, gcc-internal-format
+ msgid "a using-declaration cannot specify a template-id. Try %<using %D%>"
+ msgstr ""
+
+-#: cp/name-lookup.c:2056
++#: cp/name-lookup.c:2058
+ #, fuzzy, gcc-internal-format
+ msgid "namespace %qD not allowed in using-declaration"
+ msgstr "%qs staat niet aan het begin van een declaratie"
+
+-#: cp/name-lookup.c:2092
++#: cp/name-lookup.c:2094
+ #, fuzzy, gcc-internal-format
+ msgid "%qD not declared"
+ msgstr "%<%.*s%> is niet gedefinieerd"
+
+-#: cp/name-lookup.c:2128 cp/name-lookup.c:2165 cp/name-lookup.c:2199
+-#: cp/name-lookup.c:2214
++#: cp/name-lookup.c:2130 cp/name-lookup.c:2167 cp/name-lookup.c:2201
++#: cp/name-lookup.c:2216
+ #, fuzzy, gcc-internal-format
+ msgid "%qD is already declared in this scope"
+ msgstr "%<%.*s%> is niet gedefinieerd"
+
+-#: cp/name-lookup.c:2817
++#: cp/name-lookup.c:2819
+ #, gcc-internal-format
+ msgid "using-declaration for non-member at class scope"
+ msgstr ""
+
+-#: cp/name-lookup.c:2824
++#: cp/name-lookup.c:2826
+ #, fuzzy, gcc-internal-format
+ msgid "%<%T::%D%> names destructor"
+ msgstr "%qs is geen iterator"
+
+-#: cp/name-lookup.c:2829
++#: cp/name-lookup.c:2831
+ #, fuzzy, gcc-internal-format
+ msgid "%<%T::%D%> names constructor"
+ msgstr "%qs is geen iterator"
+
+-#: cp/name-lookup.c:2834
++#: cp/name-lookup.c:2836
+ #, fuzzy, gcc-internal-format
+ msgid "%<%T::%D%> names constructor in %qT"
+ msgstr "%d constructor(s) gevonden\n"
+
+-#: cp/name-lookup.c:2884
++#: cp/name-lookup.c:2886
+ #, fuzzy, gcc-internal-format
+ msgid "no members matching %<%T::%D%> in %q#T"
+ msgstr "geneste functie %qs is als %<extern%> gedeclareerd"
+
+-#: cp/name-lookup.c:2952
++#: cp/name-lookup.c:2954
+ #, fuzzy, gcc-internal-format
+ msgid "declaration of %qD not in a namespace surrounding %qD"
+ msgstr "%qs wordt gedeclareerd als een array van functies"
+
+-#: cp/name-lookup.c:2960
++#: cp/name-lookup.c:2962
+ #, fuzzy, gcc-internal-format
+ msgid "explicit qualification in declaration of %qD"
+ msgstr "eerdere impliciete declaratie van `%s'"
+
+-#: cp/name-lookup.c:3003
++#: cp/name-lookup.c:3005
+ #, gcc-internal-format
+ msgid "%qD should have been declared inside %qD"
+ msgstr ""
+
+-#: cp/name-lookup.c:3048
++#: cp/name-lookup.c:3050
+ #, fuzzy, gcc-internal-format
+ msgid "%qD attribute requires a single NTBS argument"
+ msgstr "herhalings-aantal is geen integerconstante"
+
+-#: cp/name-lookup.c:3055
++#: cp/name-lookup.c:3057
+ #, gcc-internal-format
+ msgid "%qD attribute is meaningless since members of the anonymous namespace get local symbols"
+ msgstr ""
+
+-#: cp/name-lookup.c:3064 cp/name-lookup.c:3433
++#: cp/name-lookup.c:3066 cp/name-lookup.c:3435
+ #, fuzzy, gcc-internal-format
+ msgid "%qD attribute directive ignored"
+ msgstr "attribuut-commando %qs wordt genegeerd"
+
+-#: cp/name-lookup.c:3109
++#: cp/name-lookup.c:3111
+ #, fuzzy, gcc-internal-format
+ msgid "namespace alias %qD not allowed here, assuming %qD"
+ msgstr "%qs staat niet aan het begin van een declaratie"
+
+-#: cp/name-lookup.c:3421
++#: cp/name-lookup.c:3423
+ #, gcc-internal-format
+ msgid "strong using only meaningful at namespace scope"
+ msgstr ""
+
+-#: cp/name-lookup.c:3425
++#: cp/name-lookup.c:3427
+ #, fuzzy, gcc-internal-format
+ msgid "current namespace %qD does not enclose strongly used namespace %qD"
+ msgstr "%qs wordt gedeclareerd als een array van functies"
+
+-#: cp/name-lookup.c:4318
++#: cp/name-lookup.c:4320
+ #, fuzzy, gcc-internal-format
+ msgid "%q+D is not a function,"
+ msgstr "%qs is meestal een functie"
+
+-#: cp/name-lookup.c:4319
++#: cp/name-lookup.c:4321
+ #, fuzzy, gcc-internal-format
+ msgid " conflict with %q+D"
+ msgstr "conflicterende types voor %qs"
+
+-#: cp/name-lookup.c:4752
++#: cp/name-lookup.c:4756
+ #, gcc-internal-format
+ msgid "argument dependent lookup finds %q+D"
+ msgstr ""
+
+-#: cp/name-lookup.c:5184
++#: cp/name-lookup.c:5188
+ #, gcc-internal-format
+ msgid "XXX entering pop_everything ()\n"
+ msgstr ""
+
+-#: cp/name-lookup.c:5193
++#: cp/name-lookup.c:5197
+ #, gcc-internal-format
+ msgid "XXX leaving pop_everything ()\n"
+ msgstr ""
+@@ -30364,369 +30346,374 @@
+ msgid "identifier %<%s%> will become a keyword in C++0x"
+ msgstr ""
+
+-#: cp/parser.c:2066
++#: cp/parser.c:2069
+ #, gcc-internal-format
+ msgid "%<#pragma%> is not allowed here"
+ msgstr ""
+
+-#: cp/parser.c:2096
++#: cp/parser.c:2099
+ #, fuzzy, gcc-internal-format
+ msgid "%<%E::%E%> has not been declared"
+ msgstr "%<%.*s%> is niet gedefinieerd"
+
+-#: cp/parser.c:2099
++#: cp/parser.c:2102
+ #, fuzzy, gcc-internal-format
+ msgid "%<::%E%> has not been declared"
+ msgstr "%<%.*s%> is niet gedefinieerd"
+
+-#: cp/parser.c:2102
++#: cp/parser.c:2105
+ #, fuzzy, gcc-internal-format
+ msgid "request for member %qE in non-class type %qT"
+ msgstr "grootte van %qs is %u bytes"
+
+-#: cp/parser.c:2105
++#: cp/parser.c:2108
+ #, fuzzy, gcc-internal-format
+ msgid "%<%T::%E%> has not been declared"
+ msgstr "%<%.*s%> is niet gedefinieerd"
+
+-#: cp/parser.c:2108
++#: cp/parser.c:2111
+ #, fuzzy, gcc-internal-format
+ msgid "%qE has not been declared"
+ msgstr "%<%.*s%> is niet gedefinieerd"
+
+-#: cp/parser.c:2111
++#: cp/parser.c:2114
+ #, gcc-internal-format
+ msgid "%<%E::%E%> %s"
+ msgstr ""
+
+-#: cp/parser.c:2113
++#: cp/parser.c:2116
+ #, gcc-internal-format
+ msgid "%<::%E%> %s"
+ msgstr ""
+
+-#: cp/parser.c:2115
++#: cp/parser.c:2118
+ #, fuzzy, gcc-internal-format
+ msgid "%qE %s"
+ msgstr "%s voor %qs"
+
+-#: cp/parser.c:2151
+-#, gcc-internal-format
+-msgid "ISO C++ does not support %<long long%>"
++#: cp/parser.c:2155
++#, fuzzy, gcc-internal-format
++msgid "ISO C++ 1998 does not support %<long long%>"
+ msgstr "ISO C++ ondersteunt %<long long%> niet"
+
+-#: cp/parser.c:2171
++#: cp/parser.c:2175
+ #, gcc-internal-format
+ msgid "duplicate %qs"
+ msgstr "herhaalde %qs"
+
+-#: cp/parser.c:2214
++#: cp/parser.c:2218
+ #, gcc-internal-format
+ msgid "new types may not be defined in a return type"
+ msgstr ""
+
+-#: cp/parser.c:2215
++#: cp/parser.c:2219
+ #, fuzzy, gcc-internal-format
+ msgid "(perhaps a semicolon is missing after the definition of %qT)"
+ msgstr "conflicterende declaraties van %qs"
+
+-#: cp/parser.c:2234 cp/parser.c:4077 cp/pt.c:5443
++#: cp/parser.c:2238 cp/parser.c:4081 cp/pt.c:5509
+ #, fuzzy, gcc-internal-format
+ msgid "%qT is not a template"
+ msgstr "%qs is geen iterator"
+
+-#: cp/parser.c:2236
++#: cp/parser.c:2240
+ #, fuzzy, gcc-internal-format
+ msgid "%qE is not a template"
+ msgstr "%qs is geen iterator"
+
+-#: cp/parser.c:2238
++#: cp/parser.c:2242
+ #, fuzzy, gcc-internal-format
+ msgid "invalid template-id"
+ msgstr "ongeldig karakter in naam van macro-parameter"
+
+-#: cp/parser.c:2267
++#: cp/parser.c:2271
+ #, fuzzy, gcc-internal-format
+ msgid "%s cannot appear in a constant-expression"
+ msgstr "overflow in constante expressie"
+
+-#: cp/parser.c:2292
++#: cp/parser.c:2296
+ #, fuzzy, gcc-internal-format
+ msgid "invalid use of template-name %qE without an argument list"
+ msgstr "ongeldig gebruik van een void-expressie"
+
+-#: cp/parser.c:2294
++#: cp/parser.c:2298
+ #, fuzzy, gcc-internal-format
+ msgid "invalid use of destructor %qD as a type"
+ msgstr "ongeldige beginwaarde voor member %qs"
+
+ #. Something like 'unsigned A a;'
+-#: cp/parser.c:2297
++#: cp/parser.c:2301
+ #, fuzzy, gcc-internal-format
+ msgid "invalid combination of multiple type-specifiers"
+ msgstr "ongeldig gebruik van het niet gedefinieerde type %<%s %s%>"
+
+ #. Issue an error message.
+-#: cp/parser.c:2301
++#: cp/parser.c:2305
+ #, fuzzy, gcc-internal-format
+ msgid "%qE does not name a type"
+ msgstr "%qs is smaller dan waarden van zijn type"
+
+-#: cp/parser.c:2333
++#: cp/parser.c:2337
+ #, gcc-internal-format
+ msgid "(perhaps %<typename %T::%E%> was intended)"
+ msgstr ""
+
+-#: cp/parser.c:2348
++#: cp/parser.c:2352
+ #, gcc-internal-format
+ msgid "%qE in namespace %qE does not name a type"
+ msgstr ""
+
+-#: cp/parser.c:2351
++#: cp/parser.c:2355
+ #, fuzzy, gcc-internal-format
+ msgid "%qE in class %qT does not name a type"
+ msgstr "%qs is smaller dan waarden van zijn type"
+
+-#: cp/parser.c:3160
++#: cp/parser.c:3164
+ #, fuzzy, gcc-internal-format
+ msgid "ISO C++ forbids braced-groups within expressions"
+ msgstr "ISO C++ verbiedt accolade-groepen in expressies"
+
+ # 'braced-group'? Wie schrijft verdorie die foutmeldingen?
+-#: cp/parser.c:3171
++#: cp/parser.c:3175
+ #, fuzzy, gcc-internal-format
+ msgid "statement-expressions are not allowed outside functions nor in template-argument lists"
+ msgstr "accolade-groep in expressie enkel toegestaan binnen een functie"
+
+-#: cp/parser.c:3229
++#: cp/parser.c:3233
+ #, fuzzy, gcc-internal-format
+ msgid "%<this%> may not be used in this context"
+ msgstr "%<%.*s%> is niet gedefinieerd"
+
+-#: cp/parser.c:3412
++#: cp/parser.c:3416
+ #, gcc-internal-format
+ msgid "local variable %qD may not appear in this context"
+ msgstr ""
+
+-#: cp/parser.c:3711
++#: cp/parser.c:3715
+ #, fuzzy, gcc-internal-format
+ msgid "scope %qT before %<~%> is not a class-name"
+ msgstr "%qs is geen iterator"
+
+-#: cp/parser.c:3812
++#: cp/parser.c:3816
+ #, fuzzy, gcc-internal-format
+ msgid "declaration of %<~%T%> as member of %qT"
+ msgstr "de declaratie van %qs verbergt een parameter"
+
+-#: cp/parser.c:3826
++#: cp/parser.c:3830
+ #, fuzzy, gcc-internal-format
+ msgid "typedef-name %qD used as destructor declarator"
+ msgstr "parameter %qs heeft enkel een voorwaartse declaratie"
+
+-#: cp/parser.c:4480
++#: cp/parser.c:4484
+ #, fuzzy, gcc-internal-format
+ msgid "ISO C++ forbids compound-literals"
+ msgstr "ISO C++ verbiedt het gebruik van samengestelde expressies als lvalues"
+
+-#: cp/parser.c:4837
++#: cp/parser.c:4841
+ #, fuzzy, gcc-internal-format
+ msgid "%qE does not have class type"
+ msgstr "%qs is smaller dan waarden van zijn type"
+
+-#: cp/parser.c:4920 cp/typeck.c:1978
++#: cp/parser.c:4924 cp/typeck.c:2024
+ #, fuzzy, gcc-internal-format
+ msgid "invalid use of %qD"
+ msgstr "ongeldig gebruik van %<restrict%>"
+
+-#: cp/parser.c:5480
++#: cp/parser.c:5486
+ #, gcc-internal-format
+ msgid "array bound forbidden after parenthesized type-id"
+ msgstr ""
+
+-#: cp/parser.c:5481
++#: cp/parser.c:5487
+ #, gcc-internal-format
+ msgid "try removing the parentheses around the type-id"
+ msgstr ""
+
+-#: cp/parser.c:5671
++#: cp/parser.c:5677
+ #, gcc-internal-format
+ msgid "expression in new-declarator must have integral or enumeration type"
+ msgstr ""
+
+-#: cp/parser.c:5860
++#: cp/parser.c:5866
+ #, gcc-internal-format
+ msgid "use of old-style cast"
+ msgstr ""
+
+-#: cp/parser.c:5986
++#: cp/parser.c:5992
+ #, gcc-internal-format
+ msgid "%H%<>>%> operator will be treated as two right angle brackets in C++0x"
+ msgstr ""
+
+-#: cp/parser.c:5989
++#: cp/parser.c:5995
+ #, fuzzy, gcc-internal-format
+ msgid "suggest parentheses around %<>>%> expression"
+ msgstr "gebruik liefst haakjes rond && binnen ||"
+
+-#: cp/parser.c:6793
++#: cp/parser.c:6799
+ #, fuzzy, gcc-internal-format
+ msgid "case label %qE not within a switch statement"
+ msgstr "case-label niet in een switch-statement"
+
+-#: cp/parser.c:6922
++#: cp/parser.c:6928
+ #, gcc-internal-format
+ msgid "%<else%> without a previous %<if%>"
+ msgstr ""
+
+-#: cp/parser.c:7208
++#: cp/parser.c:7214
+ #, gcc-internal-format
+ msgid "suggest a space before %<;%> or explicit braces around empty body in %<%s%> statement"
+ msgstr ""
+
+-#: cp/parser.c:7468
++#: cp/parser.c:7474
+ #, fuzzy, gcc-internal-format
+ msgid "ISO C++ forbids computed gotos"
+ msgstr "ISO C++ verbiedt geneste functies"
+
+-#: cp/parser.c:7608
++#: cp/parser.c:7614
+ #, gcc-internal-format
+ msgid "extra %<;%>"
+ msgstr ""
+
+-#: cp/parser.c:7825
++#: cp/parser.c:7831
+ #, gcc-internal-format
+ msgid "%<__label__%> not at the beginning of a block"
+ msgstr ""
+
+-#: cp/parser.c:7958
++#: cp/parser.c:7964
+ #, gcc-internal-format
+ msgid "mixing declarations and function-definitions is forbidden"
+ msgstr ""
+
+-#: cp/parser.c:8090
++#: cp/parser.c:8096
+ #, fuzzy, gcc-internal-format
+ msgid "%<friend%> used outside of class"
+ msgstr "argument-formaat opgegeven voor niet-functie %qs"
+
+-#: cp/parser.c:8244
++#: cp/parser.c:8250
+ #, fuzzy, gcc-internal-format
+ msgid "class definition may not be declared a friend"
+ msgstr "%qs mag niet als alleen-lezen gedeclareerd worden"
+
+-#: cp/parser.c:8308 cp/parser.c:15155
++#: cp/parser.c:8314 cp/parser.c:15235
+ #, gcc-internal-format
+ msgid "templates may not be %<virtual%>"
+ msgstr ""
+
+-#: cp/parser.c:8775
++#: cp/parser.c:8786
+ #, gcc-internal-format
+ msgid "only constructors take base initializers"
+ msgstr ""
+
+-#: cp/parser.c:8795
++#: cp/parser.c:8806
+ #, fuzzy, gcc-internal-format
+ msgid "cannot expand initializer for member %<%D%>"
+ msgstr "ongeldige beginwaarde voor member %qs"
+
+-#: cp/parser.c:8847
++#: cp/parser.c:8858
+ #, gcc-internal-format
+ msgid "anachronistic old-style base class initializer"
+ msgstr ""
+
+-#: cp/parser.c:8892
++#: cp/parser.c:8903
+ #, gcc-internal-format
+ msgid "keyword %<typename%> not allowed in this context (a qualified member initializer is implicitly a type)"
+ msgstr ""
+
+ #. Warn that we do not support `export'.
+-#: cp/parser.c:9237
++#: cp/parser.c:9248
+ #, gcc-internal-format
+ msgid "keyword %<export%> not implemented, and will be ignored"
+ msgstr ""
+
+-#: cp/parser.c:9482 cp/parser.c:9583
++#: cp/parser.c:9419 cp/parser.c:9517 cp/parser.c:9618
+ #, fuzzy, gcc-internal-format
+ msgid "template parameter pack %qD cannot have a default argument"
+ msgstr "%qs neemt ofwel geen, ofwel twee argumenten"
+
+-#: cp/parser.c:9485 cp/parser.c:9586
++#: cp/parser.c:9422
+ #, fuzzy, gcc-internal-format
++msgid "template parameter pack cannot have a default argument"
++msgstr "%qs neemt ofwel geen, ofwel twee argumenten"
++
++#: cp/parser.c:9520 cp/parser.c:9621
++#, fuzzy, gcc-internal-format
+ msgid "template parameter packs cannot have default arguments"
+ msgstr "niet-beëindigde parameterlijst in %<#define%>"
+
+ #. Otherwise, emit an error about the invalid digraph, but continue
+ #. parsing because we got our argument list.
+-#: cp/parser.c:9723
++#: cp/parser.c:9758
+ #, fuzzy, gcc-internal-format
+ msgid "%<<::%> cannot begin a template-argument list"
+ msgstr "%qs is geen iterator"
+
+-#: cp/parser.c:9724
++#: cp/parser.c:9759
+ #, gcc-internal-format
+ msgid "%<<:%> is an alternate spelling for %<[%>. Insert whitespace between %<<%> and %<::%>"
+ msgstr ""
+
+-#: cp/parser.c:9731
++#: cp/parser.c:9766
+ #, gcc-internal-format
+ msgid "(if you use -fpermissive G++ will accept your code)"
+ msgstr ""
+
+-#: cp/parser.c:9804
++#: cp/parser.c:9839
+ #, fuzzy, gcc-internal-format
+ msgid "parse error in template argument list"
+ msgstr "%qs is geen iterator"
+
+ #. Explain what went wrong.
+-#: cp/parser.c:9917
++#: cp/parser.c:9952
+ #, fuzzy, gcc-internal-format
+ msgid "non-template %qD used as template"
+ msgstr "parameter %qs heeft enkel een voorwaartse declaratie"
+
+-#: cp/parser.c:9918
++#: cp/parser.c:9953
+ #, gcc-internal-format
+ msgid "use %<%T::template %D%> to indicate that it is a template"
+ msgstr ""
+
+-#: cp/parser.c:10441
++#: cp/parser.c:10476
+ #, gcc-internal-format
+ msgid "template specialization with C linkage"
+ msgstr ""
+
+-#: cp/parser.c:11032
++#: cp/parser.c:11067
+ #, gcc-internal-format
+ msgid "using %<typename%> outside of template"
+ msgstr ""
+
+-#: cp/parser.c:11191
++#: cp/parser.c:11226
+ #, fuzzy, gcc-internal-format
+ msgid "declaration %qD does not declare anything"
+ msgstr "declaratie declareert niets"
+
+-#: cp/parser.c:11275
++#: cp/parser.c:11310
+ #, fuzzy, gcc-internal-format
+ msgid "attributes ignored on uninstantiated type"
+ msgstr "het %qs attribuut wordt genegeerd voor niet-class-types"
+
+-#: cp/parser.c:11279
++#: cp/parser.c:11314
+ #, fuzzy, gcc-internal-format
+ msgid "attributes ignored on template instantiation"
+ msgstr "herhaalde definitie %qs"
+
+-#: cp/parser.c:11284
++#: cp/parser.c:11319
+ #, gcc-internal-format
+ msgid "attributes ignored on elaborated-type-specifier that is not a forward declaration"
+ msgstr ""
+
+-#: cp/parser.c:11406
++#: cp/parser.c:11441
+ #, gcc-internal-format
+ msgid "comma at end of enumerator list"
+ msgstr "komma aan het einde van enumerator-lijst"
+
+-#: cp/parser.c:11498
++#: cp/parser.c:11533
+ #, fuzzy, gcc-internal-format
+ msgid "%qD is not a namespace-name"
+ msgstr "%qs is geen iterator"
+
+-#: cp/parser.c:11599
++#: cp/parser.c:11634
+ #, fuzzy, gcc-internal-format
+ msgid "%<namespace%> definition is not allowed here"
+ msgstr "%qs staat niet aan het begin van een declaratie"
+@@ -30734,143 +30721,158 @@
+ #. [namespace.udecl]
+ #.
+ #. A using declaration shall not name a template-id.
+-#: cp/parser.c:11738
++#: cp/parser.c:11773
+ #, fuzzy, gcc-internal-format
+ msgid "a template-id may not appear in a using-declaration"
+ msgstr "%qs staat niet aan het begin van een declaratie"
+
+-#: cp/parser.c:12094
++#: cp/parser.c:12135
+ #, gcc-internal-format
+ msgid "an asm-specification is not allowed on a function-definition"
+ msgstr ""
+
+-#: cp/parser.c:12096
++#: cp/parser.c:12137
+ #, fuzzy, gcc-internal-format
+ msgid "attributes are not allowed on a function-definition"
+ msgstr "globale registervariabele volgt op een functiedefinitie"
+
+-#: cp/parser.c:12229
++#: cp/parser.c:12270
+ #, fuzzy, gcc-internal-format
+ msgid "initializer provided for function"
+ msgstr "ingebouwde functie %qs kan niet uitgeschakeld worden"
+
+-#: cp/parser.c:12249
++#: cp/parser.c:12290
+ #, fuzzy, gcc-internal-format
+ msgid "attributes after parenthesized initializer ignored"
+ msgstr "attributen genegeerd in declarator van parameter-array"
+
+-#: cp/parser.c:12630 cp/pt.c:8772
++#: cp/parser.c:12671 cp/pt.c:8893
+ #, fuzzy, gcc-internal-format
+ msgid "array bound is not an integer constant"
+ msgstr "array subscript is geen integer"
+
+-#: cp/parser.c:12739
++#: cp/parser.c:12780
+ #, fuzzy, gcc-internal-format
+ msgid "%<%T::%E%> is not a type"
+ msgstr "%qs is geen iterator"
+
+-#: cp/parser.c:12765
++#: cp/parser.c:12806
+ #, fuzzy, gcc-internal-format
+ msgid "invalid use of constructor as a template"
+ msgstr "ongeldige beginwaarde voor member %qs"
+
+-#: cp/parser.c:12766
++#: cp/parser.c:12807
+ #, gcc-internal-format
+ msgid "use %<%T::%D%> instead of %<%T::%D%> to name the constructor in a qualified name"
+ msgstr ""
+
+-#: cp/parser.c:12938
++#: cp/parser.c:12979
+ #, fuzzy, gcc-internal-format
+ msgid "%qD is a namespace"
+ msgstr "%qs is geen iterator"
+
+-#: cp/parser.c:13013
++#: cp/parser.c:13054
+ #, fuzzy, gcc-internal-format
+ msgid "duplicate cv-qualifier"
+ msgstr "herhaalde case-waarde"
+
+ # Is the %s the argument, or is it 'of' the argument?
+-#: cp/parser.c:13600
++#: cp/parser.c:13640
+ #, fuzzy, gcc-internal-format
+ msgid "file ends in default argument"
+ msgstr "ongeldig type-argument %qs"
+
+-#: cp/parser.c:13673
++#: cp/parser.c:13683
+ #, fuzzy, gcc-internal-format
+ msgid "deprecated use of default argument for parameter of non-function"
+ msgstr "argumenten aan macro %qs gegeven"
+
+-#: cp/parser.c:13676
++#: cp/parser.c:13686
+ #, fuzzy, gcc-internal-format
+ msgid "default arguments are only permitted for function parameters"
+ msgstr "argumenten aan macro %qs gegeven"
+
+-#: cp/parser.c:13877
++#: cp/parser.c:13702
+ #, fuzzy, gcc-internal-format
++msgid "%sparameter pack %qD cannot have a default argument"
++msgstr "%qs neemt ofwel geen, ofwel twee argumenten"
++
++#: cp/parser.c:13705
++#, fuzzy, gcc-internal-format
++msgid "%sparameter pack cannot have a default argument"
++msgstr "%qs neemt ofwel geen, ofwel twee argumenten"
++
++#: cp/parser.c:13947
++#, fuzzy, gcc-internal-format
+ msgid "ISO C++ does not allow designated initializers"
+ msgstr "ISO C++ staat het gebruik van %<varargs.h%> niet toe"
+
+-#: cp/parser.c:14477
++#: cp/parser.c:14547
+ #, fuzzy, gcc-internal-format
+ msgid "invalid class name in declaration of %qD"
+ msgstr "herdeclaratie van %qs"
+
+-#: cp/parser.c:14489
++#: cp/parser.c:14559
+ #, fuzzy, gcc-internal-format
+ msgid "declaration of %qD in namespace %qD which does not enclose %qD"
+ msgstr "%qs wordt gedeclareerd als een array van functies"
+
+-#: cp/parser.c:14492
++#: cp/parser.c:14562
+ #, fuzzy, gcc-internal-format
+ msgid "declaration of %qD in %qD which does not enclose %qD"
+ msgstr "%qs wordt gedeclareerd als een array van functies"
+
+-#: cp/parser.c:14505
++#: cp/parser.c:14575
+ #, gcc-internal-format
+ msgid "extra qualification ignored"
+ msgstr ""
+
+-#: cp/parser.c:14516
++#: cp/parser.c:14586
+ #, fuzzy, gcc-internal-format
+ msgid "an explicit specialization must be preceded by %<template <>%>"
+ msgstr "impliciete declaratie van functie %qs"
+
+-#: cp/parser.c:14609
++#: cp/parser.c:14613
+ #, fuzzy, gcc-internal-format
++msgid "function template %qD redeclared as a class template"
++msgstr "parameter %qs heeft enkel een voorwaartse declaratie"
++
++#: cp/parser.c:14689
++#, fuzzy, gcc-internal-format
+ msgid "previous definition of %q+#T"
+ msgstr "eerdere definitie van %qs"
+
+-#: cp/parser.c:14855
++#: cp/parser.c:14935
+ #, gcc-internal-format
+ msgid "%Hextra %<;%>"
+ msgstr ""
+
+-#: cp/parser.c:14873
++#: cp/parser.c:14953
+ #, gcc-internal-format
+ msgid "a class-key must be used when declaring a friend"
+ msgstr ""
+
+-#: cp/parser.c:14887
++#: cp/parser.c:14967
+ #, fuzzy, gcc-internal-format
+ msgid "friend declaration does not name a class or function"
+ msgstr "ingebouwde functie %qs als niet-functie gedeclareerd"
+
+-#: cp/parser.c:15064
++#: cp/parser.c:15144
+ #, gcc-internal-format
+ msgid "pure-specifier on function-definition"
+ msgstr ""
+
+-#: cp/parser.c:15356
++#: cp/parser.c:15438
+ #, gcc-internal-format
+ msgid "keyword %<typename%> not allowed outside of templates"
+ msgstr ""
+
+-#: cp/parser.c:15358
++#: cp/parser.c:15440
+ #, gcc-internal-format
+ msgid "keyword %<typename%> not allowed in this context (the base class is implicitly a type)"
+ msgstr ""
+
+-#: cp/parser.c:16407
++#: cp/parser.c:16489
+ #, fuzzy, gcc-internal-format
+ msgid "too few template-parameter-lists"
+ msgstr "twee of meer data types in de declaratie van %qs"
+@@ -30879,13 +30881,13 @@
+ #. something like:
+ #.
+ #. template <class T> template <class U> void S::f();
+-#: cp/parser.c:16422
++#: cp/parser.c:16504
+ #, fuzzy, gcc-internal-format
+ msgid "too many template-parameter-lists"
+ msgstr "meerdere opslagklassen in declaratie van %qs"
+
+ #. Issue an error message.
+-#: cp/parser.c:16694
++#: cp/parser.c:16776
+ #, fuzzy, gcc-internal-format
+ msgid "named return values are no longer supported"
+ msgstr "-pipe wordt niet ondersteund"
+@@ -30893,234 +30895,234 @@
+ #. 14.5.2.2 [temp.mem]
+ #.
+ #. A local class shall not have member templates.
+-#: cp/parser.c:16766
++#: cp/parser.c:16848
+ #, fuzzy, gcc-internal-format
+ msgid "invalid declaration of member template in local class"
+ msgstr "herdeclaratie van %<enum %s%>"
+
+-#: cp/parser.c:16775
++#: cp/parser.c:16857
+ #, gcc-internal-format
+ msgid "template with C linkage"
+ msgstr ""
+
+-#: cp/parser.c:16919
++#: cp/parser.c:17001
+ #, fuzzy, gcc-internal-format
+ msgid "template declaration of %qs"
+ msgstr "herdeclaratie van %qs"
+
+-#: cp/parser.c:16982
++#: cp/parser.c:17064
+ #, fuzzy, gcc-internal-format
+ msgid "explicit template specialization cannot have a storage class"
+ msgstr "impliciete declaratie van functie %qs"
+
+-#: cp/parser.c:17171
++#: cp/parser.c:17253
+ #, gcc-internal-format
+ msgid "%H%<>>%> should be %<> >%> within a nested template argument list"
+ msgstr ""
+
+-#: cp/parser.c:17184
++#: cp/parser.c:17266
+ #, gcc-internal-format
+ msgid "spurious %<>>%>, use %<>%> to terminate a template argument list"
+ msgstr ""
+
+-#: cp/parser.c:17519
++#: cp/parser.c:17601
+ #, fuzzy, gcc-internal-format
+ msgid "invalid use of %qD in linkage specification"
+ msgstr "ongeldige linker operand van %s"
+
+-#: cp/parser.c:17532
++#: cp/parser.c:17614
+ #, fuzzy, gcc-internal-format
+ msgid "%<__thread%> before %qD"
+ msgstr "%<__thread%> vóór %<extern%> gebruikt"
+
+-#: cp/parser.c:17847
++#: cp/parser.c:17929
+ #, fuzzy, gcc-internal-format
+ msgid "%qs tag used in naming %q#T"
+ msgstr "Ongeldige optie %qs"
+
+-#: cp/parser.c:17868
++#: cp/parser.c:17950
+ #, fuzzy, gcc-internal-format
+ msgid "%qD redeclared with different access"
+ msgstr "%qs als ander soort symbool geherdeclareerd"
+
+-#: cp/parser.c:17885
++#: cp/parser.c:17967
+ #, gcc-internal-format
+ msgid "%<template%> (as a disambiguator) is only allowed within templates"
+ msgstr ""
+
+-#: cp/parser.c:18138 cp/parser.c:19061 cp/parser.c:19192
++#: cp/parser.c:18220 cp/parser.c:19143 cp/parser.c:19274
+ #, gcc-internal-format
+ msgid "misplaced %<@%D%> Objective-C++ construct"
+ msgstr ""
+
+-#: cp/parser.c:18279
++#: cp/parser.c:18361
+ #, gcc-internal-format
+ msgid "%<@encode%> must specify a type as an argument"
+ msgstr ""
+
+-#: cp/parser.c:18594
++#: cp/parser.c:18676
+ #, gcc-internal-format
+ msgid "invalid Objective-C++ selector name"
+ msgstr ""
+
+-#: cp/parser.c:18925
++#: cp/parser.c:19007
+ #, gcc-internal-format
+ msgid "identifier expected after %<@protocol%>"
+ msgstr ""
+
+-#: cp/parser.c:19626
++#: cp/parser.c:19708
+ #, gcc-internal-format
+ msgid "schedule %<runtime%> does not take a %<chunk_size%> parameter"
+ msgstr ""
+
+-#: cp/parser.c:19735
++#: cp/parser.c:19824
+ #, fuzzy, gcc-internal-format
+ msgid "%qs is not valid for %qs"
+ msgstr "-fPIC is niet geldig met -mcoff"
+
+-#: cp/parser.c:20390
++#: cp/parser.c:20479
+ #, fuzzy, gcc-internal-format
+ msgid "junk at end of %<#pragma GCC pch_preprocess%>"
+ msgstr "misvormde #pragma pack"
+
+-#: cp/parser.c:20477
++#: cp/parser.c:20566
+ #, gcc-internal-format
+ msgid "%<#pragma omp section%> may only be used in %<#pragma omp sections%> construct"
+ msgstr ""
+
+-#: cp/parser.c:20535
++#: cp/parser.c:20624
+ #, gcc-internal-format
+ msgid "inter-module optimizations not implemented for C++"
+ msgstr ""
+
+-#: cp/pt.c:249
++#: cp/pt.c:252
+ #, gcc-internal-format
+ msgid "data member %qD cannot be a member template"
+ msgstr ""
+
+-#: cp/pt.c:261
++#: cp/pt.c:264
+ #, fuzzy, gcc-internal-format
+ msgid "invalid member template declaration %qD"
+ msgstr "herhaalde label-declaratie %qs"
+
+-#: cp/pt.c:609
++#: cp/pt.c:612
+ #, fuzzy, gcc-internal-format
+ msgid "explicit specialization in non-namespace scope %qD"
+ msgstr "impliciete declaratie van functie %qs"
+
+-#: cp/pt.c:623
++#: cp/pt.c:626
+ #, gcc-internal-format
+ msgid "enclosing class templates are not explicitly specialized"
+ msgstr ""
+
+-#: cp/pt.c:711
++#: cp/pt.c:714
+ #, fuzzy, gcc-internal-format
+ msgid "specialization of %qD in different namespace"
+ msgstr "de declaratie van %qs is %<extern%> en heeft een beginwaarde"
+
+-#: cp/pt.c:712 cp/pt.c:809
++#: cp/pt.c:715 cp/pt.c:812
+ #, fuzzy, gcc-internal-format
+ msgid " from definition of %q+#D"
+ msgstr "herdefinitie van %qs"
+
+-#: cp/pt.c:729
++#: cp/pt.c:732
+ #, fuzzy, gcc-internal-format
+ msgid "explicit instantiation of %qD in namespace %qD (which does not enclose namespace %qD)"
+ msgstr "%qs wordt gedeclareerd als een array van functies"
+
+-#: cp/pt.c:747
++#: cp/pt.c:750
+ #, fuzzy, gcc-internal-format
+ msgid "name of class shadows template template parameter %qD"
+ msgstr "meerdere parameters hebben de naam %qs"
+
+-#: cp/pt.c:776
++#: cp/pt.c:779
+ #, fuzzy, gcc-internal-format
+ msgid "specialization of %qT after instantiation"
+ msgstr "de declaratie van %qs is %<extern%> en heeft een beginwaarde"
+
+-#: cp/pt.c:808
++#: cp/pt.c:811
+ #, gcc-internal-format
+ msgid "specializing %q#T in different namespace"
+ msgstr ""
+
+-#: cp/pt.c:823
++#: cp/pt.c:826
+ #, fuzzy, gcc-internal-format
+ msgid "specialization %qT after instantiation %qT"
+ msgstr "de declaratie van %qs is %<extern%> en heeft een beginwaarde"
+
+-#: cp/pt.c:836
++#: cp/pt.c:839
+ #, fuzzy, gcc-internal-format
+ msgid "explicit specialization of non-template %qT"
+ msgstr "impliciete declaratie van functie %qs"
+
+-#: cp/pt.c:1238
++#: cp/pt.c:1246
+ #, fuzzy, gcc-internal-format
+ msgid "specialization of %qD after instantiation"
+ msgstr "de declaratie van %qs is %<extern%> en heeft een beginwaarde"
+
+-#: cp/pt.c:1464
++#: cp/pt.c:1472
+ #, fuzzy, gcc-internal-format
+ msgid "%qD is not a function template"
+ msgstr "%qs is geen iterator"
+
+-#: cp/pt.c:1673
++#: cp/pt.c:1681
+ #, gcc-internal-format
+ msgid "template-id %qD for %q+D does not match any template declaration"
+ msgstr ""
+
+-#: cp/pt.c:1681
++#: cp/pt.c:1689
+ #, gcc-internal-format
+ msgid "ambiguous template specialization %qD for %q+D"
+ msgstr ""
+
+ #. This case handles bogus declarations like template <>
+ #. template <class T> void f<int>();
+-#: cp/pt.c:1916 cp/pt.c:1970
++#: cp/pt.c:1924 cp/pt.c:1978
+ #, fuzzy, gcc-internal-format
+ msgid "template-id %qD in declaration of primary template"
+ msgstr "impliciete declaratie van functie %qs"
+
+-#: cp/pt.c:1929
++#: cp/pt.c:1937
+ #, gcc-internal-format
+ msgid "template parameter list used in explicit instantiation"
+ msgstr ""
+
+-#: cp/pt.c:1935
++#: cp/pt.c:1943
+ #, gcc-internal-format
+ msgid "definition provided for explicit instantiation"
+ msgstr ""
+
+-#: cp/pt.c:1943
++#: cp/pt.c:1951
+ #, fuzzy, gcc-internal-format
+ msgid "too many template parameter lists in declaration of %qD"
+ msgstr "meerdere opslagklassen in declaratie van %qs"
+
+-#: cp/pt.c:1946
++#: cp/pt.c:1954
+ #, fuzzy, gcc-internal-format
+ msgid "too few template parameter lists in declaration of %qD"
+ msgstr "twee of meer data types in de declaratie van %qs"
+
+-#: cp/pt.c:1948
++#: cp/pt.c:1956
+ #, fuzzy, gcc-internal-format
+ msgid "explicit specialization of %qD must be introduced by %<template <>%>"
+ msgstr "impliciete declaratie van functie %qs"
+
+-#: cp/pt.c:1967
++#: cp/pt.c:1975
+ #, gcc-internal-format
+ msgid "function template partial specialization %qD is not allowed"
+ msgstr ""
+
+-#: cp/pt.c:1999
++#: cp/pt.c:2007
+ #, gcc-internal-format
+ msgid "default argument specified in explicit specialization"
+ msgstr ""
+
+-#: cp/pt.c:2029
++#: cp/pt.c:2037
+ #, fuzzy, gcc-internal-format
+ msgid "%qD is not a template function"
+ msgstr "%qs is meestal een functie"
+
+-#: cp/pt.c:2037
++#: cp/pt.c:2045
+ #, fuzzy, gcc-internal-format
+ msgid "%qD is not declared in %qD"
+ msgstr "%<%.*s%> is niet gedefinieerd"
+@@ -31133,102 +31135,112 @@
+ #. program is ill-formed.
+ #.
+ #. Similar language is found in [temp.explicit].
+-#: cp/pt.c:2099
++#: cp/pt.c:2107
+ #, fuzzy, gcc-internal-format
+ msgid "specialization of implicitly-declared special member function"
+ msgstr "%qs impliciet als functie gedeclareerd"
+
+-#: cp/pt.c:2143
++#: cp/pt.c:2151
+ #, fuzzy, gcc-internal-format
+ msgid "no member function %qD declared in %qT"
+ msgstr "geneste functie %qs is als %<extern%> gedeclareerd"
+
+-#: cp/pt.c:2642
++#: cp/pt.c:2628
+ #, gcc-internal-format
+ msgid "base initializer expansion %<%T%> contains no parameter packs"
+ msgstr ""
+
+-#: cp/pt.c:2701
++#: cp/pt.c:2687
+ #, gcc-internal-format
+ msgid "expansion pattern %<%T%> contains no argument packs"
+ msgstr ""
+
+-#: cp/pt.c:2703
++#: cp/pt.c:2689
+ #, gcc-internal-format
+ msgid "expansion pattern %<%E%> contains no argument packs"
+ msgstr ""
+
+-#: cp/pt.c:2745
++#: cp/pt.c:2730
+ #, gcc-internal-format
+ msgid "parameter packs not expanded with `...':"
+ msgstr ""
+
+-#: cp/pt.c:2760 cp/pt.c:3383
++#: cp/pt.c:2745 cp/pt.c:3361
+ #, gcc-internal-format
+ msgid " %qD"
+ msgstr ""
+
+-#: cp/pt.c:2762
++#: cp/pt.c:2747
+ #, fuzzy, gcc-internal-format
+ msgid " <anonymous>"
+ msgstr "<anoniem>"
+
+-#: cp/pt.c:2875
++#: cp/pt.c:2852
+ #, fuzzy, gcc-internal-format
+ msgid "declaration of %q+#D"
+ msgstr "herdeclaratie van %qs"
+
+-#: cp/pt.c:2876
++#: cp/pt.c:2853
+ #, fuzzy, gcc-internal-format
+ msgid " shadows template parm %q+#D"
+ msgstr "meerdere parameters hebben de naam %qs"
+
+-#: cp/pt.c:3379
++#: cp/pt.c:3357
+ #, gcc-internal-format
+ msgid "template parameters not used in partial specialization:"
+ msgstr ""
+
+-#: cp/pt.c:3394
++#: cp/pt.c:3372
+ #, fuzzy, gcc-internal-format
+ msgid "partial specialization %qT does not specialize any template arguments"
+ msgstr "variabele %qs als inline gedeclareerd"
+
+-#: cp/pt.c:3439
++#: cp/pt.c:3417
+ #, gcc-internal-format
+ msgid "parameter pack argument %qE must be at the end of the template argument list"
+ msgstr ""
+
+-#: cp/pt.c:3441
++#: cp/pt.c:3419
+ #, gcc-internal-format
+ msgid "parameter pack argument %qT must be at the end of the template argument list"
+ msgstr ""
+
+ # Ik weet het, 'alleen-lezen' is lelijk, maar het is de min of meer geijkte vertaling.
+-#: cp/pt.c:3462
++#: cp/pt.c:3440
+ #, fuzzy, gcc-internal-format
+ msgid "template argument %qE involves template parameter(s)"
+ msgstr "argument %d is alleen-lezen"
+
+-#: cp/pt.c:3505
++#: cp/pt.c:3484
+ #, gcc-internal-format
+ msgid "type %qT of template argument %qE depends on template parameter(s)"
+ msgstr ""
+
+ # Is the %s the argument, or is it 'of' the argument?
+-#: cp/pt.c:3611
++#: cp/pt.c:3591
+ #, fuzzy, gcc-internal-format
+ msgid "no default argument for %qD"
+ msgstr "ongeldig type-argument %qs"
+
+-#: cp/pt.c:3796
++#: cp/pt.c:3609
+ #, gcc-internal-format
++msgid "parameter pack %qE must be at the end of the template parameter list"
++msgstr ""
++
++#: cp/pt.c:3612
++#, gcc-internal-format
++msgid "parameter pack %qT must be at the end of the template parameter list"
++msgstr ""
++
++#: cp/pt.c:3799
++#, gcc-internal-format
+ msgid "template class without a name"
+ msgstr ""
+
+ #. [temp.mem]
+ #.
+ #. A destructor shall not be a member template.
+-#: cp/pt.c:3804
++#: cp/pt.c:3807
+ #, fuzzy, gcc-internal-format
+ msgid "destructor %qD declared as member template"
+ msgstr "%<%s %s%> binnen parameterlijst gedeclareerd"
+@@ -31238,77 +31250,72 @@
+ #. An allocation function can be a function
+ #. template. ... Template allocation functions shall
+ #. have two or more parameters.
+-#: cp/pt.c:3819
++#: cp/pt.c:3822
+ #, fuzzy, gcc-internal-format
+ msgid "invalid template declaration of %qD"
+ msgstr "herhaalde label-declaratie %qs"
+
+-#: cp/pt.c:3890
+-#, gcc-internal-format
+-msgid "parameter pack %qE must be at the end of the template parameter list"
+-msgstr ""
+-
+-#: cp/pt.c:3893
+-#, gcc-internal-format
+-msgid "parameter pack %qT must be at the end of the template parameter list"
+-msgstr ""
+-
+-#: cp/pt.c:3953
++#: cp/pt.c:3939
+ #, fuzzy, gcc-internal-format
+ msgid "template definition of non-template %q#D"
+ msgstr "herdefinitie van %<union %s%>"
+
+-#: cp/pt.c:3996
++#: cp/pt.c:3982
+ #, fuzzy, gcc-internal-format
+ msgid "expected %d levels of template parms for %q#D, got %d"
+ msgstr "meerdere parameters hebben de naam %qs"
+
+-#: cp/pt.c:4008
++#: cp/pt.c:3994
+ #, fuzzy, gcc-internal-format
+ msgid "got %d template parameters for %q#D"
+ msgstr "meerdere parameters hebben de naam %qs"
+
+-#: cp/pt.c:4011
++#: cp/pt.c:3997
+ #, fuzzy, gcc-internal-format
+ msgid "got %d template parameters for %q#T"
+ msgstr "meerdere parameters hebben de naam %qs"
+
+-#: cp/pt.c:4013
++#: cp/pt.c:3999
+ #, gcc-internal-format
+ msgid " but %d required"
+ msgstr ""
+
+-#: cp/pt.c:4031
++#: cp/pt.c:4017
+ #, fuzzy, gcc-internal-format
+ msgid "template arguments to %qD do not match original template %qD"
+ msgstr "niet-beëindigde parameterlijst in %<#define%>"
+
+-#: cp/pt.c:4035
++#: cp/pt.c:4021
+ #, gcc-internal-format
+ msgid "use template<> for an explicit specialization"
+ msgstr ""
+
+-#: cp/pt.c:4131
++#: cp/pt.c:4117
+ #, fuzzy, gcc-internal-format
+ msgid "%qT is not a template type"
+ msgstr "%qs is geen iterator"
+
+-#: cp/pt.c:4144
++#: cp/pt.c:4130
+ #, fuzzy, gcc-internal-format
+ msgid "template specifiers not specified in declaration of %qD"
+ msgstr "twee of meer data types in de declaratie van %qs"
+
+-#: cp/pt.c:4155
++#: cp/pt.c:4140
+ #, fuzzy, gcc-internal-format
+-msgid "used %d template parameter(s) instead of %d"
+-msgstr "meerdere parameters hebben de naam %qs"
++msgid "redeclared with %d template parameter(s)"
++msgstr "macro %qs gebruikt zonder argumenten"
+
+-#: cp/pt.c:4184
++#: cp/pt.c:4142
+ #, fuzzy, gcc-internal-format
++msgid "previous declaration %q+D used %d template parameter(s)"
++msgstr "eerdere declaratie van %qs"
++
++#: cp/pt.c:4176
++#, fuzzy, gcc-internal-format
+ msgid "template parameter %q+#D"
+ msgstr "meerdere parameters hebben de naam %qs"
+
+-#: cp/pt.c:4185
++#: cp/pt.c:4177
+ #, fuzzy, gcc-internal-format
+ msgid "redeclared here as %q#D"
+ msgstr "ongeldige naam %qs"
+@@ -31317,184 +31324,184 @@
+ #.
+ #. A template-parameter may not be given default arguments
+ #. by two different declarations in the same scope.
+-#: cp/pt.c:4195
++#: cp/pt.c:4187
+ #, fuzzy, gcc-internal-format
+ msgid "redefinition of default argument for %q#D"
+ msgstr "herdefinitie van %<struct %s%>"
+
+-#: cp/pt.c:4196
++#: cp/pt.c:4188
+ #, fuzzy, gcc-internal-format
+-msgid "%J original definition appeared here"
++msgid "%Joriginal definition appeared here"
+ msgstr "functie-definitie als %<typdef%> gedeclareerd"
+
+-#: cp/pt.c:4300
++#: cp/pt.c:4292
+ #, gcc-internal-format
+ msgid "%qE is not a valid template argument for type %qT because function %qD has not external linkage"
+ msgstr ""
+
+-#: cp/pt.c:4341
++#: cp/pt.c:4333
+ #, 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.c:4418
++#: cp/pt.c:4410
+ #, gcc-internal-format
+ msgid "%qE is not a valid template argument for type %qT because it is a non-constant expression"
+ msgstr ""
+
+-#: cp/pt.c:4462
++#: cp/pt.c:4454
+ #, fuzzy, gcc-internal-format
+ msgid "%qD is not a valid template argument because %qD is a variable, not the address of a variable"
+ msgstr "%qs is geen iterator"
+
+-#: cp/pt.c:4480
++#: cp/pt.c:4472
+ #, fuzzy, gcc-internal-format
+ msgid "%qE is not a valid template argument of type %qT because %qE is not a variable"
+ msgstr "%qs is geen iterator"
+
+-#: cp/pt.c:4487
++#: cp/pt.c:4479
+ #, fuzzy, gcc-internal-format
+ msgid "%qE is not a valid template argument of type %qT because %qD does not have external linkage"
+ msgstr "%qs is geen iterator"
+
+-#: cp/pt.c:4517
++#: cp/pt.c:4509
+ #, gcc-internal-format
+ msgid "%qE is not a valid template argument for type %qT because of conflicts in cv-qualification"
+ msgstr ""
+
+-#: cp/pt.c:4524
++#: cp/pt.c:4516
+ #, fuzzy, gcc-internal-format
+ msgid "%qE is not a valid template argument for type %qT because it is not an lvalue"
+ msgstr "%qs is geen iterator"
+
+-#: cp/pt.c:4537
++#: cp/pt.c:4529
+ #, gcc-internal-format
+ msgid "%qE is not a valid template argument for type %qT because object %qD has not external linkage"
+ msgstr ""
+
+-#: cp/pt.c:4577
++#: cp/pt.c:4569
+ #, fuzzy, gcc-internal-format
+ msgid "%qE is not a valid template argument for type %qT because it is a pointer"
+ msgstr "%qs is geen iterator"
+
+-#: cp/pt.c:4579
++#: cp/pt.c:4571
+ #, gcc-internal-format
+ msgid "try using %qE instead"
+ msgstr ""
+
+-#: cp/pt.c:4614
++#: cp/pt.c:4606
+ #, fuzzy, gcc-internal-format
+ msgid "%qE is not a valid template argument for type %qT because it is of type %qT"
+ msgstr "%qs is geen iterator"
+
+-#: cp/pt.c:4617
++#: cp/pt.c:4609
+ #, gcc-internal-format
+ msgid "standard conversions are not allowed in this context"
+ msgstr ""
+
+-#: cp/pt.c:4797
++#: cp/pt.c:4860
+ #, gcc-internal-format
+ msgid "to refer to a type member of a template parameter, use %<typename %E%>"
+ msgstr ""
+
+-#: cp/pt.c:4813 cp/pt.c:4832 cp/pt.c:4882
++#: cp/pt.c:4876 cp/pt.c:4895 cp/pt.c:4945
+ #, fuzzy, gcc-internal-format
+ msgid "type/value mismatch at argument %d in template parameter list for %qD"
+ msgstr "meerdere parameters hebben de naam %qs"
+
+-#: cp/pt.c:4817
++#: cp/pt.c:4880
+ #, gcc-internal-format
+ msgid " expected a constant of type %qT, got %qT"
+ msgstr ""
+
+-#: cp/pt.c:4821
++#: cp/pt.c:4884
+ #, gcc-internal-format
+ msgid " expected a class template, got %qE"
+ msgstr ""
+
+-#: cp/pt.c:4823
++#: cp/pt.c:4886
+ #, gcc-internal-format
+ msgid " expected a type, got %qE"
+ msgstr ""
+
+-#: cp/pt.c:4836
++#: cp/pt.c:4899
+ #, gcc-internal-format
+ msgid " expected a type, got %qT"
+ msgstr ""
+
+-#: cp/pt.c:4838
++#: cp/pt.c:4901
+ #, gcc-internal-format
+ msgid " expected a class template, got %qT"
+ msgstr ""
+
+-#: cp/pt.c:4885
++#: cp/pt.c:4948
+ #, gcc-internal-format
+ msgid " expected a template of type %qD, got %qD"
+ msgstr ""
+
+ # 'regio' klinkt niet echt, maar 'streek' lijkt me nog slechter
+-#: cp/pt.c:4928
++#: cp/pt.c:4991
+ #, fuzzy, gcc-internal-format
+ msgid "could not convert template argument %qE to %qT"
+ msgstr "kon 0x%l.8x niet naar een regio omzetten"
+
+-#: cp/pt.c:4984
++#: cp/pt.c:5047
+ #, gcc-internal-format
+ msgid "wrong number of template arguments (%d, should be %d)"
+ msgstr ""
+
+-#: cp/pt.c:5116
++#: cp/pt.c:5179
+ #, gcc-internal-format
+ msgid "wrong number of template arguments (%d, should be %d%s)"
+ msgstr ""
+
+-#: cp/pt.c:5120
++#: cp/pt.c:5183
+ #, fuzzy, gcc-internal-format
+ msgid "provided for %q+D"
+ msgstr "eerdere grant voor %qs"
+
+-#: cp/pt.c:5177
++#: cp/pt.c:5242
+ #, gcc-internal-format
+ msgid "cannot expand %<%E%> into a fixed-length argument list"
+ msgstr ""
+
+-#: cp/pt.c:5180
++#: cp/pt.c:5245
+ #, gcc-internal-format
+ msgid "cannot expand %<%T%> into a fixed-length argument list"
+ msgstr ""
+
+ # Ik weet het, 'alleen-lezen' is lelijk, maar het is de min of meer geijkte vertaling.
+-#: cp/pt.c:5195
++#: cp/pt.c:5261
+ #, fuzzy, gcc-internal-format
+ msgid "template argument %d is invalid"
+ msgstr "argument %d is alleen-lezen"
+
+-#: cp/pt.c:5455
++#: cp/pt.c:5521
+ #, fuzzy, gcc-internal-format
+ msgid "non-template type %qT used as a template"
+ msgstr "parameter %qs heeft enkel een voorwaartse declaratie"
+
+-#: cp/pt.c:5457
++#: cp/pt.c:5523
+ #, fuzzy, gcc-internal-format
+ msgid "for template declaration %q+D"
+ msgstr "lege declaratie"
+
+-#: cp/pt.c:6132
++#: cp/pt.c:6221
+ #, gcc-internal-format
+ msgid "template instantiation depth exceeds maximum of %d (use -ftemplate-depth-NN to increase the maximum) instantiating %qD"
+ msgstr ""
+
+-#: cp/pt.c:7237
++#: cp/pt.c:7333
+ #, gcc-internal-format
+ msgid "mismatched argument pack lengths while expanding %<%T%>"
+ msgstr ""
+
+-#: cp/pt.c:7241
++#: cp/pt.c:7337
+ #, gcc-internal-format
+ msgid "mismatched argument pack lengths while expanding %<%E%>"
+ msgstr ""
+
+-#: cp/pt.c:8189
++#: cp/pt.c:8289
+ #, fuzzy, gcc-internal-format
+ msgid "instantiation of %q+D as type %qT"
+ msgstr "ongeldig gebruik van het niet gedefinieerde type %<%s %s%>"
+@@ -31512,244 +31519,244 @@
+ #.
+ #. is an attempt to declare a variable with function
+ #. type.
+-#: cp/pt.c:8324
++#: cp/pt.c:8424
+ #, fuzzy, gcc-internal-format
+ msgid "variable %qD has function type"
+ msgstr "variabele %qs als inline gedeclareerd"
+
+-#: cp/pt.c:8471
++#: cp/pt.c:8571
+ #, fuzzy, gcc-internal-format
+ msgid "invalid parameter type %qT"
+ msgstr "ongeldige operand voor %p-code"
+
+-#: cp/pt.c:8473
++#: cp/pt.c:8573
+ #, fuzzy, gcc-internal-format
+ msgid "in declaration %q+D"
+ msgstr "herdeclaratie van %qs"
+
+-#: cp/pt.c:8550
++#: cp/pt.c:8650
+ #, fuzzy, gcc-internal-format
+ msgid "function returning an array"
+ msgstr "%qs gedeclareerd als een functie die een array teruggeeft"
+
+-#: cp/pt.c:8552
++#: cp/pt.c:8652
+ #, fuzzy, gcc-internal-format
+ msgid "function returning a function"
+ msgstr "%qs gedeclareerd als een functie die een functie teruggeeft"
+
+-#: cp/pt.c:8586
++#: cp/pt.c:8686
+ #, fuzzy, gcc-internal-format
+ msgid "creating pointer to member function of non-class type %qT"
+ msgstr "pointer naar lid-functie gebruikt in rekensom"
+
+-#: cp/pt.c:8792
++#: cp/pt.c:8913
+ #, fuzzy, gcc-internal-format
+ msgid "creating array with negative size (%qE)"
+ msgstr "doorgeven van argument %d van %qs"
+
+-#: cp/pt.c:9047
++#: cp/pt.c:9168
+ #, gcc-internal-format
+ msgid "forming reference to void"
+ msgstr ""
+
+-#: cp/pt.c:9049
++#: cp/pt.c:9170
+ #, gcc-internal-format
+ msgid "forming %s to reference type %qT"
+ msgstr ""
+
+-#: cp/pt.c:9100
++#: cp/pt.c:9221
+ #, fuzzy, gcc-internal-format
+ msgid "creating pointer to member of non-class type %qT"
+ msgstr "herhaald lid %qs"
+
+-#: cp/pt.c:9106
++#: cp/pt.c:9227
+ #, fuzzy, gcc-internal-format
+ msgid "creating pointer to member reference type %qT"
+ msgstr "herhaald lid %qs"
+
+-#: cp/pt.c:9112
++#: cp/pt.c:9233
+ #, fuzzy, gcc-internal-format
+ msgid "creating pointer to member of type void"
+ msgstr "herhaald lid %qs"
+
+-#: cp/pt.c:9179
++#: cp/pt.c:9300
+ #, fuzzy, gcc-internal-format
+ msgid "creating array of %qT"
+ msgstr "doorgeven van argument %d van %qs"
+
+-#: cp/pt.c:9185
++#: cp/pt.c:9306
+ #, gcc-internal-format
+ msgid "creating array of %qT, which is an abstract class type"
+ msgstr ""
+
+-#: cp/pt.c:9236
++#: cp/pt.c:9357
+ #, fuzzy, gcc-internal-format
+ msgid "%qT is not a class, struct, or union type"
+ msgstr "%qs is geen bestand, pipe of tty"
+
+-#: cp/pt.c:9271
++#: cp/pt.c:9392
+ #, gcc-internal-format
+ msgid "%qT resolves to %qT, which is not an enumeration type"
+ msgstr ""
+
+-#: cp/pt.c:9274
++#: cp/pt.c:9395
+ #, fuzzy, gcc-internal-format
+ msgid "%qT resolves to %qT, which is is not a class type"
+ msgstr "%qs is smaller dan waarden van zijn type"
+
+-#: cp/pt.c:9375
++#: cp/pt.c:9496
+ #, fuzzy, gcc-internal-format
+ msgid "use of %qs in template"
+ msgstr "%qs is geen iterator"
+
+-#: cp/pt.c:9512
++#: cp/pt.c:9633
+ #, gcc-internal-format
+ msgid "dependent-name %qE is parsed as a non-type, but instantiation yields a type"
+ msgstr ""
+
+-#: cp/pt.c:9514
++#: cp/pt.c:9635
+ #, gcc-internal-format
+ msgid "say %<typename %E%> if a type is meant"
+ msgstr ""
+
+ # 'whitespace' -> 'witruimte'?
+-#: cp/pt.c:9643
++#: cp/pt.c:9764
+ #, fuzzy, gcc-internal-format
+ msgid "using invalid field %qD"
+ msgstr "ontbrekende witruimte na getal %qs"
+
+-#: cp/pt.c:9952 cp/pt.c:10432
++#: cp/pt.c:10073 cp/pt.c:10553
+ #, fuzzy, gcc-internal-format
+ msgid "invalid use of pack expansion expression"
+ msgstr "ongeldig gebruik van een void-expressie"
+
+-#: cp/pt.c:9956 cp/pt.c:10436
++#: cp/pt.c:10077 cp/pt.c:10557
+ #, gcc-internal-format
+ msgid "use %<...%> to expand argument pack"
+ msgstr ""
+
+-#: cp/pt.c:10594
++#: cp/pt.c:10715
+ #, gcc-internal-format
+ msgid "a cast to a type other than an integral or enumeration type cannot appear in a constant-expression"
+ msgstr ""
+
+-#: cp/pt.c:11052
++#: cp/pt.c:11181
+ #, fuzzy, gcc-internal-format
+ msgid "%qT is not a class or namespace"
+ msgstr "%qs is geen iterator"
+
+-#: cp/pt.c:11055
++#: cp/pt.c:11184
+ #, fuzzy, gcc-internal-format
+ msgid "%qD is not a class or namespace"
+ msgstr "%qs is geen iterator"
+
+-#: cp/pt.c:11265
++#: cp/pt.c:11394
+ #, gcc-internal-format
+ msgid "%qT is/uses anonymous type"
+ msgstr ""
+
+-#: cp/pt.c:11267
++#: cp/pt.c:11396
+ #, fuzzy, gcc-internal-format
+ msgid "template argument for %qD uses local type %qT"
+ msgstr "eerste argument van %qs zou een %<int%> moeten zijn"
+
+ # Ik weet het, 'alleen-lezen' is lelijk, maar het is de min of meer geijkte vertaling.
+-#: cp/pt.c:11277
++#: cp/pt.c:11406
+ #, fuzzy, gcc-internal-format
+ msgid "%qT is a variably modified type"
+ msgstr "argument %d is alleen-lezen"
+
+-#: cp/pt.c:11288
++#: cp/pt.c:11417
+ #, fuzzy, gcc-internal-format
+ msgid "integral expression %qE is not constant"
+ msgstr "beginwaarde-element is niet constant"
+
+-#: cp/pt.c:11293
++#: cp/pt.c:11422
+ #, fuzzy, gcc-internal-format
+ msgid " trying to instantiate %qD"
+ msgstr "slechte stringconstante"
+
+-#: cp/pt.c:13959
++#: cp/pt.c:14173
+ #, fuzzy, gcc-internal-format
+ msgid "ambiguous class template instantiation for %q#T"
+ msgstr "herhaalde definitie %qs"
+
+-#: cp/pt.c:13962
++#: cp/pt.c:14176
+ #, gcc-internal-format
+ msgid "%s %+#T"
+ msgstr ""
+
+-#: cp/pt.c:13985 cp/pt.c:14068
++#: cp/pt.c:14199 cp/pt.c:14282
+ #, fuzzy, gcc-internal-format
+ msgid "explicit instantiation of non-template %q#D"
+ msgstr "impliciete declaratie van functie %qs"
+
+-#: cp/pt.c:14000
++#: cp/pt.c:14214
+ #, fuzzy, gcc-internal-format
+ msgid "%qD is not a static data member of a class template"
+ msgstr "%qs is geen static veld"
+
+-#: cp/pt.c:14006 cp/pt.c:14063
++#: cp/pt.c:14220 cp/pt.c:14277
+ #, gcc-internal-format
+ msgid "no matching template for %qD found"
+ msgstr ""
+
+-#: cp/pt.c:14011
++#: cp/pt.c:14225
+ #, 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.c:14019
++#: cp/pt.c:14233
+ #, fuzzy, gcc-internal-format
+ msgid "explicit instantiation of %q#D"
+ msgstr "eerdere impliciete declaratie van %qs"
+
+-#: cp/pt.c:14055
++#: cp/pt.c:14269
+ #, fuzzy, gcc-internal-format
+ msgid "duplicate explicit instantiation of %q#D"
+ msgstr "herhaalde definitie %qs"
+
+-#: cp/pt.c:14077
++#: cp/pt.c:14291
+ #, fuzzy, gcc-internal-format
+ msgid "ISO C++ forbids the use of %<extern%> on explicit instantiations"
+ msgstr "pointer naar functie gebruikt in aftrekking"
+
+-#: cp/pt.c:14082 cp/pt.c:14175
++#: cp/pt.c:14296 cp/pt.c:14389
+ #, fuzzy, gcc-internal-format
+ msgid "storage class %qD applied to template instantiation"
+ msgstr "herhaalde definitie %qs"
+
+-#: cp/pt.c:14147
++#: cp/pt.c:14361
+ #, fuzzy, gcc-internal-format
+ msgid "explicit instantiation of non-template type %qT"
+ msgstr "impliciete declaratie van functie %qs"
+
+-#: cp/pt.c:14156
++#: cp/pt.c:14370
+ #, fuzzy, gcc-internal-format
+ msgid "explicit instantiation of %q#T before definition of template"
+ msgstr "impliciete declaratie van functie %qs"
+
+-#: cp/pt.c:14164
++#: cp/pt.c:14378
+ #, fuzzy, gcc-internal-format
+ msgid "ISO C++ forbids the use of %qE on explicit instantiations"
+ msgstr "pointer naar functie gebruikt in aftrekking"
+
+-#: cp/pt.c:14209
++#: cp/pt.c:14423
+ #, fuzzy, gcc-internal-format
+ msgid "duplicate explicit instantiation of %q#T"
+ msgstr "herhaalde definitie %qs"
+
+-#: cp/pt.c:14657
++#: cp/pt.c:14871
+ #, fuzzy, gcc-internal-format
+ msgid "explicit instantiation of %qD but no definition available"
+ msgstr "eerdere impliciete declaratie van %qs"
+
+-#: cp/pt.c:14851
++#: cp/pt.c:15065
+ #, 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)"
+ msgstr ""
+
+-#: cp/pt.c:15193
++#: cp/pt.c:15419
+ #, fuzzy, gcc-internal-format
+ msgid "%q#T is not a valid type for a template constant parameter"
+ msgstr "%qs is geen iterator"
+@@ -31769,32 +31776,32 @@
+ msgid "can't create repository information file %qs"
+ msgstr "dubbele folder %qs wordt genegeerd\n"
+
+-#: cp/rtti.c:271
++#: cp/rtti.c:285
+ #, gcc-internal-format
+ msgid "cannot use typeid with -fno-rtti"
+ msgstr ""
+
+-#: cp/rtti.c:277
++#: cp/rtti.c:291
+ #, gcc-internal-format
+ msgid "must #include <typeinfo> before using typeid"
+ msgstr ""
+
+-#: cp/rtti.c:360
++#: cp/rtti.c:374
+ #, gcc-internal-format
+ msgid "cannot create type information for type %qT because it involves types of variable size"
+ msgstr ""
+
+-#: cp/rtti.c:615 cp/rtti.c:629
++#: cp/rtti.c:629 cp/rtti.c:643
+ #, gcc-internal-format
+ msgid "dynamic_cast of %q#D to %q#T can never succeed"
+ msgstr ""
+
+-#: cp/rtti.c:639
++#: cp/rtti.c:653
+ #, gcc-internal-format
+ msgid "%<dynamic_cast%> not permitted with -fno-rtti"
+ msgstr ""
+
+-#: cp/rtti.c:716
++#: cp/rtti.c:729
+ #, gcc-internal-format
+ msgid "cannot dynamic_cast %qE (of type %q#T) to type %q#T (%s)"
+ msgstr ""
+@@ -31856,552 +31863,552 @@
+ msgid " since %q+#D declared in base class"
+ msgstr "%qs tevoren hier gedeclareerd"
+
+-#: cp/semantics.c:762
++#: cp/semantics.c:764
+ #, gcc-internal-format
+ msgid "suggest explicit braces around empty body in %<do%> statement"
+ msgstr ""
+
+-#: cp/semantics.c:1290
++#: cp/semantics.c:1294
+ #, fuzzy, gcc-internal-format
+ msgid "type of asm operand %qE could not be determined"
+ msgstr "type van parameter %qs is niet gedeclareerd"
+
+-#: cp/semantics.c:1346
++#: cp/semantics.c:1350
+ #, gcc-internal-format
+ msgid "__label__ declarations are only allowed in function scopes"
+ msgstr ""
+
+-#: cp/semantics.c:1433
++#: cp/semantics.c:1438
+ #, fuzzy, gcc-internal-format
+ msgid "invalid use of member %q+D in static member function"
+ msgstr "%<this%> is niet beschikbaar in static member-funties"
+
+-#: cp/semantics.c:1435
++#: cp/semantics.c:1440
+ #, fuzzy, gcc-internal-format
+ msgid "invalid use of non-static data member %q+D"
+ msgstr "ongeldig gebruik van onvolledige typedef %qs"
+
+-#: cp/semantics.c:1436 cp/semantics.c:1475
++#: cp/semantics.c:1441 cp/semantics.c:1480
+ #, gcc-internal-format
+ msgid "from this location"
+ msgstr ""
+
+-#: cp/semantics.c:1474
++#: cp/semantics.c:1479
+ #, fuzzy, gcc-internal-format
+ msgid "object missing in reference to %q+D"
+ msgstr "array-grootte ontbreekt in %qs"
+
+-#: cp/semantics.c:1928
++#: cp/semantics.c:1951
+ #, fuzzy, gcc-internal-format
+ msgid "arguments to destructor are not allowed"
+ msgstr "kan het %qs attribuut niet instellen na een definitie"
+
+-#: cp/semantics.c:1978
++#: cp/semantics.c:2001
+ #, fuzzy, gcc-internal-format
+ msgid "%<this%> is unavailable for static member functions"
+ msgstr "%<this%> is niet beschikbaar in static member-funties"
+
+-#: cp/semantics.c:1984
++#: cp/semantics.c:2007
+ #, fuzzy, gcc-internal-format
+ msgid "invalid use of %<this%> in non-member function"
+ msgstr "%s laat qualifiers van doeltype van pointer vallen"
+
+-#: cp/semantics.c:1986
++#: cp/semantics.c:2009
+ #, fuzzy, gcc-internal-format
+ msgid "invalid use of %<this%> at top level"
+ msgstr "ongeldig gebruik van %<this%> op hoogste niveau"
+
+-#: cp/semantics.c:2010
++#: cp/semantics.c:2033
+ #, fuzzy, gcc-internal-format
+ msgid "invalid qualifying scope in pseudo-destructor name"
+ msgstr "%s laat qualifiers van doeltype van pointer vallen"
+
+-#: cp/semantics.c:2015 cp/typeck.c:2004
++#: cp/semantics.c:2038 cp/typeck.c:2050
+ #, gcc-internal-format
+ msgid "qualified type %qT does not match destructor name ~%qT"
+ msgstr ""
+
+-#: cp/semantics.c:2037
++#: cp/semantics.c:2060
+ #, fuzzy, gcc-internal-format
+ msgid "%qE is not of type %qT"
+ msgstr "%<%c%> optie gebruikt bij type %<%c%>"
+
+-#: cp/semantics.c:2081
++#: cp/semantics.c:2104
+ #, gcc-internal-format
+ msgid "compound literal of non-object type %qT"
+ msgstr ""
+
+-#: cp/semantics.c:2158
++#: cp/semantics.c:2181
+ #, gcc-internal-format
+ msgid "template type parameters must use the keyword %<class%> or %<typename%>"
+ msgstr ""
+
+-#: cp/semantics.c:2195
++#: cp/semantics.c:2222
+ #, gcc-internal-format
+ msgid "invalid use of type %qT as a default value for a template template-parameter"
+ msgstr ""
+
+-#: cp/semantics.c:2198
++#: cp/semantics.c:2225
+ #, gcc-internal-format
+ msgid "invalid default argument for a template template parameter"
+ msgstr ""
+
+-#: cp/semantics.c:2215
++#: cp/semantics.c:2242
+ #, fuzzy, gcc-internal-format
+ msgid "definition of %q#T inside template parameter list"
+ msgstr "de declaratie van %qs verbergt een symbool uit de parameterlijst"
+
+-#: cp/semantics.c:2226
++#: cp/semantics.c:2253
+ #, fuzzy, gcc-internal-format
+ msgid "invalid definition of qualified type %qT"
+ msgstr "ongeldig gebruik van het niet gedefinieerde type %<%s %s%>"
+
+-#: cp/semantics.c:2437
++#: cp/semantics.c:2469
+ #, fuzzy, gcc-internal-format
+ msgid "invalid base-class specification"
+ msgstr "ongeldige linker operand van %s"
+
+-#: cp/semantics.c:2446
++#: cp/semantics.c:2478
+ #, fuzzy, gcc-internal-format
+ msgid "base class %qT has cv qualifiers"
+ msgstr "veld %qs heeft een onvolledig type"
+
+-#: cp/semantics.c:2468
++#: cp/semantics.c:2500
+ #, gcc-internal-format
+ msgid "incomplete type %qT used in nested name specifier"
+ msgstr ""
+
+-#: cp/semantics.c:2471
++#: cp/semantics.c:2503
+ #, fuzzy, gcc-internal-format
+ msgid "reference to %<%T::%D%> is ambiguous"
+ msgstr "grootte van %qs is %u bytes"
+
+-#: cp/semantics.c:2475 cp/typeck.c:1813
++#: cp/semantics.c:2507 cp/typeck.c:1859
+ #, fuzzy, gcc-internal-format
+ msgid "%qD is not a member of %qT"
+ msgstr "%qs is geen bestand, pipe of tty"
+
+-#: cp/semantics.c:2478
++#: cp/semantics.c:2510
+ #, fuzzy, gcc-internal-format
+ msgid "%qD is not a member of %qD"
+ msgstr "%qs is geen bestand, pipe of tty"
+
+-#: cp/semantics.c:2480
++#: cp/semantics.c:2512
+ #, fuzzy, gcc-internal-format
+ msgid "%<::%D%> has not been declared"
+ msgstr "%<%.*s%> is niet gedefinieerd"
+
+-#: cp/semantics.c:2621
++#: cp/semantics.c:2653
+ #, gcc-internal-format
+ msgid "use of %<auto%> variable from containing function"
+ msgstr ""
+
+-#: cp/semantics.c:2623
++#: cp/semantics.c:2655
+ #, fuzzy, gcc-internal-format
+ msgid " %q+#D declared here"
+ msgstr "%qs tevoren hier gedeclareerd"
+
+-#: cp/semantics.c:2661
++#: cp/semantics.c:2693
+ #, gcc-internal-format
+ msgid "template parameter %qD of type %qT is not allowed in an integral constant expression because it is not of integral or enumeration type"
+ msgstr ""
+
+-#: cp/semantics.c:2830
++#: cp/semantics.c:2862
+ #, fuzzy, gcc-internal-format
+ msgid "%qD cannot appear in a constant-expression"
+ msgstr "overflow in constante expressie"
+
+-#: cp/semantics.c:2838
++#: cp/semantics.c:2870
+ #, fuzzy, gcc-internal-format
+ msgid "use of namespace %qD as expression"
+ msgstr "modi in %s expressie komen niet overeen"
+
+-#: cp/semantics.c:2843
++#: cp/semantics.c:2875
+ #, fuzzy, gcc-internal-format
+ msgid "use of class template %qT as expression"
+ msgstr "modi in %s expressie komen niet overeen"
+
+ #. Ambiguous reference to base members.
+-#: cp/semantics.c:2849
++#: cp/semantics.c:2881
+ #, fuzzy, gcc-internal-format
+ msgid "request for member %qD is ambiguous in multiple inheritance lattice"
+ msgstr "grootte van %qs is %u bytes"
+
+-#: cp/semantics.c:2970 cp/semantics.c:4210
++#: cp/semantics.c:3002 cp/semantics.c:4259
+ #, fuzzy, gcc-internal-format
+ msgid "type of %qE is unknown"
+ msgstr "opslaggrootte van %qs is onbekend"
+
+-#: cp/semantics.c:2985
++#: cp/semantics.c:3017
+ #, gcc-internal-format
+ msgid "cannot apply %<offsetof%> to destructor %<~%T%>"
+ msgstr ""
+
+-#: cp/semantics.c:2996
++#: cp/semantics.c:3028
+ #, fuzzy, gcc-internal-format
+ msgid "cannot apply %<offsetof%> to member function %qD"
+ msgstr "%<this%> is niet beschikbaar in static member-funties"
+
+-#: cp/semantics.c:3349
++#: cp/semantics.c:3381
+ #, fuzzy, gcc-internal-format
+ msgid "%qD is not a variable in clause %qs"
+ msgstr "%qs is geen bestand, pipe of tty"
+
+-#: cp/semantics.c:3358
++#: cp/semantics.c:3390
+ #, gcc-internal-format
+ msgid "%qD appears more than once in data clauses"
+ msgstr ""
+
+-#: cp/semantics.c:3418
++#: cp/semantics.c:3450
+ #, gcc-internal-format
+ msgid "num_threads expression must be integral"
+ msgstr ""
+
+-#: cp/semantics.c:3432
++#: cp/semantics.c:3464
+ #, gcc-internal-format
+ msgid "schedule chunk size expression must be integral"
+ msgstr ""
+
+-#: cp/semantics.c:3562
++#: cp/semantics.c:3594
+ #, fuzzy, gcc-internal-format
+ msgid "%qE has reference type for %qs"
+ msgstr "Ongeldige modus voor gen_tst_reg"
+
+-#: cp/semantics.c:3724
++#: cp/semantics.c:3756
+ #, gcc-internal-format
+ msgid "%<threadprivate%> %qE is not file, namespace or block scope variable"
+ msgstr ""
+
+ #. Report the error.
+-#: cp/semantics.c:4033
++#: cp/semantics.c:4072
+ #, gcc-internal-format
+ msgid "static assertion failed: %E"
+ msgstr ""
+
+-#: cp/semantics.c:4035
++#: cp/semantics.c:4074
+ #, fuzzy, gcc-internal-format
+ msgid "non-constant condition for static assertion"
+ msgstr "%Jdeclaratie van %qD als niet-static volgt declaratie als static"
+
+-#: cp/semantics.c:4097
++#: cp/semantics.c:4099 cp/semantics.c:4194
+ #, fuzzy, gcc-internal-format
+-msgid "%qE refers to a set of overloaded functions"
+-msgstr "einde van niet-void functie werd bereikt zonder teruggeefwaarde"
++msgid "argument to decltype must be an expression"
++msgstr "modi in %s expressie komen niet overeen"
+
+ #: cp/semantics.c:4145
+ #, fuzzy, gcc-internal-format
+-msgid "argument to decltype must be an expression"
+-msgstr "modi in %s expressie komen niet overeen"
++msgid "%qE refers to a set of overloaded functions"
++msgstr "einde van niet-void functie werd bereikt zonder teruggeefwaarde"
+
+-#: cp/semantics.c:4366
++#: cp/semantics.c:4415
+ #, gcc-internal-format
+ msgid "__is_convertible_to"
+ msgstr ""
+
+-#: cp/semantics.c:4395
++#: cp/semantics.c:4444
+ #, fuzzy, gcc-internal-format
+ msgid "incomplete type %qT not allowed"
+ msgstr "Bestandsnaam ontbreekt na %qs optie"
+
+-#: cp/tree.c:829
++#: cp/tree.c:827
+ #, gcc-internal-format
+ msgid "%qV qualifiers cannot be applied to %qT"
+ msgstr ""
+
+-#: cp/tree.c:2134
++#: cp/tree.c:2132
+ #, fuzzy, gcc-internal-format
+ msgid "%qE attribute can only be applied to Java class definitions"
+ msgstr "het %qs attribuut heeft enkel betekenis voor functies"
+
+-#: cp/tree.c:2163
++#: cp/tree.c:2161
+ #, fuzzy, gcc-internal-format
+ msgid "%qE attribute can only be applied to class definitions"
+ msgstr "het %qs attribuut heeft enkel betekenis voor functies"
+
+-#: cp/tree.c:2169
++#: cp/tree.c:2167
+ #, gcc-internal-format
+ msgid "%qE is obsolete; g++ vtables are now COM-compatible by default"
+ msgstr ""
+
+-#: cp/tree.c:2193
++#: cp/tree.c:2191
+ #, gcc-internal-format
+ msgid "requested init_priority is not an integer constant"
+ msgstr ""
+
+-#: cp/tree.c:2214
++#: cp/tree.c:2212
+ #, gcc-internal-format
+ msgid "can only use %qE attribute on file-scope definitions of objects of class type"
+ msgstr ""
+
+-#: cp/tree.c:2222
++#: cp/tree.c:2220
+ #, gcc-internal-format
+ msgid "requested init_priority is out of range"
+ msgstr ""
+
+-#: cp/tree.c:2232
++#: cp/tree.c:2230
+ #, gcc-internal-format
+ msgid "requested init_priority is reserved for internal use"
+ msgstr ""
+
+-#: cp/tree.c:2243
++#: cp/tree.c:2241
+ #, fuzzy, gcc-internal-format
+ msgid "%qE attribute is not supported on this platform"
+ msgstr "sectie-attributen worden niet ondersteund op dit doelsysteem"
+
+-#: cp/typeck.c:431 cp/typeck.c:445 cp/typeck.c:545
++#: cp/typeck.c:432 cp/typeck.c:446 cp/typeck.c:546
+ #, fuzzy, gcc-internal-format
+ msgid "%s between distinct pointer types %qT and %qT lacks a cast"
+ msgstr "een cast ontbreekt bij vergelijking van ongelijke pointer-types"
+
+-#: cp/typeck.c:507
++#: cp/typeck.c:508
+ #, fuzzy, gcc-internal-format
+ msgid "ISO C++ forbids %s between pointer of type %<void *%> and pointer-to-function"
+ msgstr "pointer van type %<void *%> gebruikt in aftrekking"
+
+-#: cp/typeck.c:565
++#: cp/typeck.c:566
+ #, fuzzy, gcc-internal-format
+ msgid "%s between distinct pointer-to-member types %qT and %qT lacks a cast"
+ msgstr "een cast ontbreekt bij vergelijking van ongelijke pointer-types"
+
+-#: cp/typeck.c:1129
++#: cp/typeck.c:1166
+ #, gcc-internal-format
+ msgid "canonical types differ for identical types %T and %T"
+ msgstr ""
+
+-#: cp/typeck.c:1136
++#: cp/typeck.c:1173
+ #, gcc-internal-format
+ msgid "same canonical type node for different types %T and %T"
+ msgstr ""
+
+-#: cp/typeck.c:1248
++#: cp/typeck.c:1285
+ #, fuzzy, gcc-internal-format
+ msgid "invalid application of %qs to a member function"
+ msgstr "%<this%> is niet beschikbaar in static member-funties"
+
+-#: cp/typeck.c:1298
++#: cp/typeck.c:1335
+ #, fuzzy, gcc-internal-format
+ msgid "invalid application of %<sizeof%> to a bit-field"
+ msgstr "ongeldige toepasing van %qs op een void-type"
+
+-#: cp/typeck.c:1303
++#: cp/typeck.c:1340
+ #, fuzzy, gcc-internal-format
+ msgid "ISO C++ forbids applying %<sizeof%> to an expression of function type"
+ msgstr "ISO C++ verbiedt het adres van een gecaste expressie"
+
+-#: cp/typeck.c:1346
++#: cp/typeck.c:1383
+ #, fuzzy, gcc-internal-format
+ msgid "invalid application of %<__alignof%> to a bit-field"
+ msgstr "ongeldige toepasing van %qs op een void-type"
+
+-#: cp/typeck.c:1354
++#: cp/typeck.c:1391
+ #, fuzzy, gcc-internal-format
+ msgid "ISO C++ forbids applying %<__alignof%> to an expression of function type"
+ msgstr "ISO C++ verbiedt het adres van een gecaste expressie"
+
+-#: cp/typeck.c:1405
++#: cp/typeck.c:1442
+ #, fuzzy, gcc-internal-format
+ msgid "invalid use of non-static member function"
+ msgstr "%<this%> is niet beschikbaar in static member-funties"
+
+-#: cp/typeck.c:1669
++#: cp/typeck.c:1715
+ #, fuzzy, gcc-internal-format
+ msgid "deprecated conversion from string constant to %qT"
+ msgstr "ongeldige registernaam voor %qs"
+
+-#: cp/typeck.c:1784 cp/typeck.c:2132
++#: cp/typeck.c:1830 cp/typeck.c:2178
+ #, gcc-internal-format
+ msgid "request for member %qD in %qE, which is of non-class type %qT"
+ msgstr ""
+
+-#: cp/typeck.c:1811
++#: cp/typeck.c:1857
+ #, fuzzy, gcc-internal-format
+ msgid "invalid use of nonstatic data member %qE"
+ msgstr "ongeldig gebruik van onvolledige typedef %qs"
+
+-#: cp/typeck.c:1863 cp/typeck.c:1891
++#: cp/typeck.c:1909 cp/typeck.c:1937
+ #, fuzzy, gcc-internal-format
+ msgid "invalid access to non-static data member %qD of NULL object"
+ msgstr "ongeldig gebruik van onvolledige typedef %qs"
+
+-#: cp/typeck.c:1866 cp/typeck.c:1893
++#: cp/typeck.c:1912 cp/typeck.c:1939
+ #, gcc-internal-format
+ msgid "(perhaps the %<offsetof%> macro was used incorrectly)"
+ msgstr ""
+
+-#: cp/typeck.c:2010
++#: cp/typeck.c:2056
+ #, gcc-internal-format
+ msgid "the type being destroyed is %qT, but the destructor refers to %qT"
+ msgstr ""
+
+-#: cp/typeck.c:2049 cp/typeck.c:2069
++#: cp/typeck.c:2095 cp/typeck.c:2115
+ #, fuzzy, gcc-internal-format
+ msgid "%qD is not a template"
+ msgstr "%qs is geen iterator"
+
+-#: cp/typeck.c:2170
++#: cp/typeck.c:2216
+ #, fuzzy, gcc-internal-format
+ msgid "%<%D::%D%> is not a member of %qT"
+ msgstr "%qs is geen bestand, pipe of tty"
+
+-#: cp/typeck.c:2185
++#: cp/typeck.c:2231
+ #, fuzzy, gcc-internal-format
+ msgid "%qT is not a base of %qT"
+ msgstr "%qs is geen bestand, pipe of tty"
+
+-#: cp/typeck.c:2204
++#: cp/typeck.c:2250
+ #, fuzzy, gcc-internal-format
+ msgid "%qD has no member named %qE"
+ msgstr "union heeft geen lid dat %qs heet"
+
+-#: cp/typeck.c:2219
++#: cp/typeck.c:2265
+ #, fuzzy, gcc-internal-format
+ msgid "%qD is not a member template function"
+ msgstr "%qs is meestal een functie"
+
+ #. A pointer to incomplete type (other than cv void) can be
+ #. dereferenced [expr.unary.op]/1
+-#: cp/typeck.c:2352
++#: cp/typeck.c:2398
+ #, fuzzy, gcc-internal-format
+ msgid "%qT is not a pointer-to-object type"
+ msgstr "%qs is geen iterator"
+
+-#: cp/typeck.c:2377
++#: cp/typeck.c:2423
+ #, fuzzy, gcc-internal-format
+ msgid "invalid use of %qs on pointer to member"
+ msgstr "ongeldig gebruik van array die geen lvalue is"
+
+ # Is the %s the argument, or is it 'of' the argument?
+-#: cp/typeck.c:2381
++#: cp/typeck.c:2427
+ #, fuzzy, gcc-internal-format
+ msgid "invalid type argument of %qs"
+ msgstr "ongeldig type-argument %qs"
+
+-#: cp/typeck.c:2383
++#: cp/typeck.c:2429
+ #, gcc-internal-format
+ msgid "invalid type argument"
+ msgstr ""
+
+-#: cp/typeck.c:2406
++#: cp/typeck.c:2452
+ #, gcc-internal-format
+ msgid "subscript missing in array reference"
+ msgstr "subscript ontbreekt in array-referentie"
+
+-#: cp/typeck.c:2480
++#: cp/typeck.c:2526
+ #, fuzzy, gcc-internal-format
+ msgid "ISO C++ forbids subscripting non-lvalue array"
+ msgstr "ISO C++ verbiedt het gebruik van subscripts bij een array die geen lvalue is"
+
+-#: cp/typeck.c:2491
++#: cp/typeck.c:2537
+ #, fuzzy, gcc-internal-format
+ msgid "subscripting array declared %<register%>"
+ msgstr "subscript ontbreekt in array-referentie"
+
+-#: cp/typeck.c:2576
++#: cp/typeck.c:2622
+ #, fuzzy, gcc-internal-format
+ msgid "object missing in use of %qE"
+ msgstr "array-grootte ontbreekt in %qs"
+
+-#: cp/typeck.c:2693
++#: cp/typeck.c:2739
+ #, fuzzy, gcc-internal-format
+ msgid "ISO C++ forbids calling %<::main%> from within program"
+ msgstr "ISO C++ verbiedt accolade-groepen in expressies"
+
+-#: cp/typeck.c:2718
++#: cp/typeck.c:2764
+ #, gcc-internal-format
+ msgid "must use %<.*%> or %<->*%> to call pointer-to-member function in %<%E (...)%>"
+ msgstr ""
+
+-#: cp/typeck.c:2732
++#: cp/typeck.c:2778
+ #, fuzzy, gcc-internal-format
+ msgid "%qE cannot be used as a function"
+ msgstr "veld %qs als een functie gedeclareerd"
+
+-#: cp/typeck.c:2822
++#: cp/typeck.c:2868
+ #, fuzzy, gcc-internal-format
+ msgid "too many arguments to %s %q+#D"
+ msgstr "te veel argumenten voor %s %q+#D"
+
+-#: cp/typeck.c:2823 cp/typeck.c:2927
++#: cp/typeck.c:2869 cp/typeck.c:2973
+ #, fuzzy, gcc-internal-format
+ msgid "at this point in file"
+ msgstr "hier in het bestand"
+
+-#: cp/typeck.c:2826
++#: cp/typeck.c:2872
+ #, gcc-internal-format
+ msgid "too many arguments to function"
+ msgstr "te veel argumenten voor functie"
+
+-#: cp/typeck.c:2856
++#: cp/typeck.c:2902
+ #, fuzzy, gcc-internal-format
+ msgid "parameter %P of %qD has incomplete type %qT"
+ msgstr "parameter heeft een onvolledig type"
+
+-#: cp/typeck.c:2859
++#: cp/typeck.c:2905
+ #, fuzzy, gcc-internal-format
+ msgid "parameter %P has incomplete type %qT"
+ msgstr "parameter heeft een onvolledig type"
+
+-#: cp/typeck.c:2926
++#: cp/typeck.c:2972
+ #, fuzzy, gcc-internal-format
+ msgid "too few arguments to %s %q+#D"
+ msgstr "te weinig argumenten voor functie %qs"
+
+-#: cp/typeck.c:2930
++#: cp/typeck.c:2976
+ #, gcc-internal-format
+ msgid "too few arguments to function"
+ msgstr "te weinig argumenten voor functie"
+
+-#: cp/typeck.c:3098 cp/typeck.c:3108
++#: cp/typeck.c:3140 cp/typeck.c:3150
+ #, fuzzy, gcc-internal-format
+ msgid "assuming cast to type %qT from overloaded function"
+ msgstr "einde van niet-void functie werd bereikt zonder teruggeefwaarde"
+
+-#: cp/typeck.c:3306
++#: cp/typeck.c:3346
+ #, fuzzy, gcc-internal-format
+ msgid "left rotate count is negative"
+ msgstr "teller van links shift is negatief"
+
+-#: cp/typeck.c:3307
++#: cp/typeck.c:3347
+ #, fuzzy, gcc-internal-format
+ msgid "right rotate count is negative"
+ msgstr "teller van rechtse shift is negatief"
+
+-#: cp/typeck.c:3310
++#: cp/typeck.c:3350
+ #, fuzzy, gcc-internal-format
+ msgid "left rotate count >= width of type"
+ msgstr "teller van links shift is >= breedte van het type"
+
+-#: cp/typeck.c:3311
++#: cp/typeck.c:3351
+ #, fuzzy, gcc-internal-format
+ msgid "right rotate count >= width of type"
+ msgstr "teller van rechtse shift is >= breedte van het type"
+
+-#: cp/typeck.c:3327 cp/typeck.c:3502
++#: cp/typeck.c:3367 cp/typeck.c:3549
+ #, fuzzy, gcc-internal-format
+ msgid "comparison with string literal results in unspecified behaviour"
+ msgstr "de zwakke declaratie van %qs moet aan de definitie voorafgaan"
+
+-#: cp/typeck.c:3360 cp/typeck.c:3365 cp/typeck.c:3520 cp/typeck.c:3525
++#: cp/typeck.c:3400 cp/typeck.c:3405 cp/typeck.c:3567 cp/typeck.c:3572
+ #, fuzzy, gcc-internal-format
+ msgid "ISO C++ forbids comparison between pointer and integer"
+ msgstr "vergelijking tussen pointer en integer"
+
+-#: cp/typeck.c:3539
++#: cp/typeck.c:3586
+ #, fuzzy, gcc-internal-format
+ msgid "unordered comparison on non-floating point argument"
+ msgstr "geordende vergelijking van een pointer met integer nul"
+
+-#: cp/typeck.c:3577
++#: cp/typeck.c:3624
+ #, fuzzy, gcc-internal-format
+ msgid "invalid operands of types %qT and %qT to binary %qO"
+ msgstr "ongeldige operanden voor binaire %s-operator"
+
+-#: cp/typeck.c:3749
++#: cp/typeck.c:3757
+ #, fuzzy, gcc-internal-format
+ msgid "comparison between types %q#T and %q#T"
+ msgstr "vergelijking tussen pointer en integer"
+
+-#: cp/typeck.c:3786
++#: cp/typeck.c:3794
+ #, fuzzy, gcc-internal-format
+ msgid "comparison between signed and unsigned integer expressions"
+ msgstr "vergelijking tussen signed en unsigned"
+@@ -32410,158 +32417,158 @@
+ #. performed. Note that pointer-difference and pointer-addition
+ #. have already been handled above, and so we don't end up here in
+ #. that case.
+-#: cp/typeck.c:3858
++#: cp/typeck.c:3866
+ #, fuzzy, gcc-internal-format
+ msgid "NULL used in arithmetic"
+ msgstr "pointer naar functie gebruikt in rekensom"
+
+-#: cp/typeck.c:3927
++#: cp/typeck.c:3935
+ #, fuzzy, gcc-internal-format
+ msgid "ISO C++ forbids using pointer of type %<void *%> in subtraction"
+ msgstr "pointer van type %<void *%> gebruikt in aftrekking"
+
+-#: cp/typeck.c:3929
++#: cp/typeck.c:3937
+ #, fuzzy, gcc-internal-format
+ msgid "ISO C++ forbids using pointer to a function in subtraction"
+ msgstr "pointer naar functie gebruikt in aftrekking"
+
+-#: cp/typeck.c:3931
++#: cp/typeck.c:3939
+ #, fuzzy, gcc-internal-format
+ msgid "ISO C++ forbids using pointer to a method in subtraction"
+ msgstr "pointer naar functie gebruikt in aftrekking"
+
+ # 'Arithmetic'?? 'rekensom' is wel correct, maar het klinkt zo stom.
+-#: cp/typeck.c:3943
++#: cp/typeck.c:3951
+ #, fuzzy, gcc-internal-format
+ msgid "invalid use of a pointer to an incomplete type in pointer arithmetic"
+ msgstr "rekensom met pointer naar onvolledig type"
+
+-#: cp/typeck.c:4003
++#: cp/typeck.c:4011
+ #, fuzzy, gcc-internal-format
+ msgid "invalid use of %qE to form a pointer-to-member-function"
+ msgstr "ongeldig gebruik van array die geen lvalue is"
+
+-#: cp/typeck.c:4006
++#: cp/typeck.c:4014
+ #, gcc-internal-format
+ msgid " a qualified-id is required"
+ msgstr ""
+
+-#: cp/typeck.c:4011
++#: cp/typeck.c:4019
+ #, fuzzy, gcc-internal-format
+ msgid "parentheses around %qE cannot be used to form a pointer-to-member-function"
+ msgstr "ongeldig gebruik van array die geen lvalue is"
+
+-#: cp/typeck.c:4034
++#: cp/typeck.c:4042
+ #, gcc-internal-format
+ msgid "taking address of temporary"
+ msgstr ""
+
+ # DANGER WILL ROBINSON! Dit is nu net hoe gettext NIET gebruikt zou mogen worden...
+-#: cp/typeck.c:4287
++#: cp/typeck.c:4295
+ #, fuzzy, gcc-internal-format
+ msgid "ISO C++ forbids incrementing an enum"
+ msgstr "ISO C++ verbiedt het %sen van een enum"
+
+ # DANGER WILL ROBINSON! Dit is nu net hoe gettext NIET gebruikt zou mogen worden...
+-#: cp/typeck.c:4288
++#: cp/typeck.c:4296
+ #, fuzzy, gcc-internal-format
+ msgid "ISO C++ forbids decrementing an enum"
+ msgstr "ISO C++ verbiedt het %sen van een enum"
+
+-#: cp/typeck.c:4299
++#: cp/typeck.c:4307
+ #, fuzzy, gcc-internal-format
+ msgid "cannot increment a pointer to incomplete type %qT"
+ msgstr "parameter %qs wijst naar een onvolledig type"
+
+-#: cp/typeck.c:4300
++#: cp/typeck.c:4308
+ #, fuzzy, gcc-internal-format
+ msgid "cannot decrement a pointer to incomplete type %qT"
+ msgstr "parameter %qs wijst naar een onvolledig type"
+
+-#: cp/typeck.c:4306
++#: cp/typeck.c:4314
+ #, fuzzy, gcc-internal-format
+ msgid "ISO C++ forbids incrementing a pointer of type %qT"
+ msgstr "ISO C++ verbiedt het %sen van een pointer van type %qT"
+
+-#: cp/typeck.c:4307
++#: cp/typeck.c:4315
+ #, fuzzy, gcc-internal-format
+ msgid "ISO C++ forbids decrementing a pointer of type %qT"
+ msgstr "ISO C++ verbiedt het %sen van een pointer van type %qT"
+
+-#: cp/typeck.c:4327
++#: cp/typeck.c:4335
+ #, fuzzy, gcc-internal-format
+ msgid "invalid use of Boolean expression as operand to %<operator--%>"
+ msgstr "ongeldige expressie als operand"
+
+ #. ARM $3.4
+-#: cp/typeck.c:4357
++#: cp/typeck.c:4365
+ #, fuzzy, gcc-internal-format
+ msgid "ISO C++ forbids taking address of function %<::main%>"
+ msgstr "ISO C++ verbiedt het adres van een gecaste expressie"
+
+ #. An expression like &memfn.
+-#: cp/typeck.c:4413
++#: cp/typeck.c:4421
+ #, gcc-internal-format
+ msgid "ISO C++ forbids taking the address of an unqualified or parenthesized non-static member function to form a pointer to member function. Say %<&%T::%D%>"
+ msgstr ""
+
+-#: cp/typeck.c:4418
++#: cp/typeck.c:4426
+ #, fuzzy, gcc-internal-format
+ msgid "ISO C++ forbids taking the address of a bound member function to form a pointer to member function. Say %<&%T::%D%>"
+ msgstr "ISO C++ verbiedt het adres van een gecaste expressie"
+
+-#: cp/typeck.c:4443
++#: cp/typeck.c:4451
+ #, fuzzy, gcc-internal-format
+ msgid "ISO C++ forbids taking the address of a cast to a non-lvalue expression"
+ msgstr "ISO C++ verbiedt het adres van een gecaste expressie"
+
+-#: cp/typeck.c:4467
++#: cp/typeck.c:4475
+ #, fuzzy, gcc-internal-format
+ msgid "cannot create pointer to reference member %qD"
+ msgstr "ongeldige beginwaarde voor member %qs"
+
+-#: cp/typeck.c:4678
++#: cp/typeck.c:4686
+ #, fuzzy, gcc-internal-format
+ msgid "cannot take the address of %<this%>, which is an rvalue expression"
+ msgstr "kan adres van bitveld %qs niet nemen"
+
+-#: cp/typeck.c:4701
++#: cp/typeck.c:4709
+ #, fuzzy, gcc-internal-format
+ msgid "address of explicit register variable %qD requested"
+ msgstr "adres van registervariabele %qs gevraagd"
+
+-#: cp/typeck.c:4706
++#: cp/typeck.c:4714
+ #, gcc-internal-format
+ msgid "address requested for %qD, which is declared %<register%>"
+ msgstr ""
+
+ # vertaling voor 'statement'?
+-#: cp/typeck.c:4772
++#: cp/typeck.c:4780
+ #, fuzzy, gcc-internal-format
+ msgid "%s expression list treated as compound expression"
+ msgstr "expressie-statement heeft onvolledig type"
+
+-#: cp/typeck.c:5175
++#: cp/typeck.c:5183
+ #, fuzzy, gcc-internal-format
+ msgid "invalid static_cast from type %qT to type %qT"
+ msgstr "ongeldige opslagklasse voor functie %qs"
+
+-#: cp/typeck.c:5197
++#: cp/typeck.c:5205
+ #, fuzzy, gcc-internal-format
+ msgid "converting from %qT to %qT"
+ msgstr "ongeldige registernaam voor %qs"
+
+-#: cp/typeck.c:5245
++#: cp/typeck.c:5253
+ #, fuzzy, gcc-internal-format
+ msgid "invalid cast of an rvalue expression of type %qT to type %qT"
+ msgstr "ongeldige registernaam voor %qs"
+
+-#: cp/typeck.c:5304
++#: cp/typeck.c:5312
+ #, gcc-internal-format
+ msgid "cast from %qT to %qT loses precision"
+ msgstr ""
+
+-#: cp/typeck.c:5331
++#: cp/typeck.c:5339
+ #, fuzzy, gcc-internal-format
+ msgid "cast from %qT to %qT increases required alignment of target type"
+ msgstr "cast verhoogt het benodigde alignment van het doeltype"
+@@ -32570,156 +32577,156 @@
+ #. where possible, and it is necessary in some cases. DR 195
+ #. addresses this issue, but as of 2004/10/26 is still in
+ #. drafting.
+-#: cp/typeck.c:5351
++#: cp/typeck.c:5359
+ #, fuzzy, gcc-internal-format
+ msgid "ISO C++ forbids casting between pointer-to-function and pointer-to-object"
+ msgstr "ISO C++ verbiedt voorwaardelijke expressies tussen 0 en een functiepointer"
+
+-#: cp/typeck.c:5362
++#: cp/typeck.c:5370
+ #, fuzzy, gcc-internal-format
+ msgid "invalid cast from type %qT to type %qT"
+ msgstr "ongeldige opslagklasse voor functie %qs"
+
+-#: cp/typeck.c:5418
++#: cp/typeck.c:5426
+ #, gcc-internal-format
+ msgid "invalid use of const_cast with type %qT, which is not a pointer, reference, nor a pointer-to-data-member type"
+ msgstr ""
+
+-#: cp/typeck.c:5427
++#: cp/typeck.c:5435
+ #, gcc-internal-format
+ msgid "invalid use of const_cast with type %qT, which is a pointer or reference to a function type"
+ msgstr ""
+
+-#: cp/typeck.c:5452
++#: cp/typeck.c:5460
+ #, gcc-internal-format
+ msgid "invalid const_cast of an rvalue of type %qT to type %qT"
+ msgstr ""
+
+-#: cp/typeck.c:5503
++#: cp/typeck.c:5511
+ #, fuzzy, gcc-internal-format
+ msgid "invalid const_cast from type %qT to type %qT"
+ msgstr "ongeldige registernaam voor %qs"
+
+-#: cp/typeck.c:5571 cp/typeck.c:5576
++#: cp/typeck.c:5579 cp/typeck.c:5584
+ #, fuzzy, gcc-internal-format
+ msgid "ISO C++ forbids casting to an array type %qT"
+ msgstr "ISO C++ verbiedt casts naar een union-type"
+
+-#: cp/typeck.c:5584
++#: cp/typeck.c:5592
+ #, fuzzy, gcc-internal-format
+ msgid "invalid cast to function type %qT"
+ msgstr "ongeldige opslagklasse voor functie %qs"
+
+-#: cp/typeck.c:5804
++#: cp/typeck.c:5812
+ #, gcc-internal-format
+ msgid " in evaluation of %<%Q(%#T, %#T)%>"
+ msgstr ""
+
+-#: cp/typeck.c:5873
++#: cp/typeck.c:5881
+ #, fuzzy, gcc-internal-format
+ msgid "incompatible types in assignment of %qT to %qT"
+ msgstr "incompatibel type voor argument %d van %qs"
+
+-#: cp/typeck.c:5884
++#: cp/typeck.c:5892
+ #, fuzzy, gcc-internal-format
+ msgid "array used as initializer"
+ msgstr "array-index in beginwaarde van niet-array"
+
+-#: cp/typeck.c:5886
++#: cp/typeck.c:5894
+ #, fuzzy, gcc-internal-format
+ msgid "invalid array assignment"
+ msgstr "ongeldige lvalue in toewijzing"
+
+-#: cp/typeck.c:5998
++#: cp/typeck.c:6006
+ #, gcc-internal-format
+ msgid " in pointer to member function conversion"
+ msgstr ""
+
+-#: cp/typeck.c:6009
++#: cp/typeck.c:6017
+ #, fuzzy, gcc-internal-format
+ msgid "pointer to member conversion via virtual base %qT"
+ msgstr "pointer naar lid-functie gebruikt in rekensom"
+
+-#: cp/typeck.c:6049 cp/typeck.c:6061
++#: cp/typeck.c:6057 cp/typeck.c:6069
+ #, gcc-internal-format
+ msgid " in pointer to member conversion"
+ msgstr ""
+
+-#: cp/typeck.c:6140
++#: cp/typeck.c:6148
+ #, fuzzy, gcc-internal-format
+ msgid "invalid conversion to type %qT from type %qT"
+ msgstr "ongeldige registernaam voor %qs"
+
+-#: cp/typeck.c:6384
++#: cp/typeck.c:6411
+ #, gcc-internal-format
+ msgid "cannot convert %qT to %qT for argument %qP to %qD"
+ msgstr ""
+
+ # 'regio' klinkt niet echt, maar 'streek' lijkt me nog slechter
+-#: cp/typeck.c:6387
++#: cp/typeck.c:6414
+ #, fuzzy, gcc-internal-format
+ msgid "cannot convert %qT to %qT in %s"
+ msgstr "kon 0x%l.8x niet naar een regio omzetten"
+
+-#: cp/typeck.c:6398
++#: cp/typeck.c:6425
+ #, fuzzy, gcc-internal-format
+ msgid "%s might be a candidate for a format attribute"
+ msgstr "deze functie is een mogelijke kandidaat voor het %qs formaat-attribuut"
+
+-#: cp/typeck.c:6485 cp/typeck.c:6487
++#: cp/typeck.c:6512 cp/typeck.c:6514
+ #, fuzzy, gcc-internal-format
+ msgid "in passing argument %P of %q+D"
+ msgstr "doorgeven van argument %d van %qs"
+
+-#: cp/typeck.c:6537
++#: cp/typeck.c:6564
+ #, gcc-internal-format
+ msgid "returning reference to temporary"
+ msgstr ""
+
+-#: cp/typeck.c:6544
++#: cp/typeck.c:6571
+ #, gcc-internal-format
+ msgid "reference to non-lvalue returned"
+ msgstr ""
+
+-#: cp/typeck.c:6560
++#: cp/typeck.c:6587
+ #, fuzzy, gcc-internal-format
+ msgid "reference to local variable %q+D returned"
+ msgstr "adres van globale registervariabele %qs gevraagd"
+
+-#: cp/typeck.c:6563
++#: cp/typeck.c:6590
+ #, fuzzy, gcc-internal-format
+ msgid "address of local variable %q+D returned"
+ msgstr "adres van globale registervariabele %qs gevraagd"
+
+-#: cp/typeck.c:6598
++#: cp/typeck.c:6625
+ #, gcc-internal-format
+ msgid "returning a value from a destructor"
+ msgstr ""
+
+ #. If a return statement appears in a handler of the
+ #. function-try-block of a constructor, the program is ill-formed.
+-#: cp/typeck.c:6606
++#: cp/typeck.c:6633
+ #, gcc-internal-format
+ msgid "cannot return from a handler of a function-try-block of a constructor"
+ msgstr ""
+
+ #. You can't return a value from a constructor.
+-#: cp/typeck.c:6609
++#: cp/typeck.c:6636
+ #, gcc-internal-format
+ msgid "returning a value from a constructor"
+ msgstr ""
+
+-#: cp/typeck.c:6633
++#: cp/typeck.c:6661
+ #, fuzzy, gcc-internal-format
+ msgid "return-statement with no value, in function returning %qT"
+ msgstr "%<return%> zonder waarde in een functie die een niet-void waarde teruggeeft"
+
+-#: cp/typeck.c:6654
++#: cp/typeck.c:6682
+ #, fuzzy, gcc-internal-format
+ msgid "return-statement with a value, in function returning 'void'"
+ msgstr "%<return%> met waarde in een functie die void teruggeeft"
+
+-#: cp/typeck.c:6685
++#: cp/typeck.c:6713
+ #, gcc-internal-format
+ msgid "%<operator new%> must not return NULL unless it is declared %<throw()%> (or -fcheck-new is in effect)"
+ msgstr ""
+@@ -32906,57 +32913,57 @@
+ msgid "pointer to member type %qT incompatible with object type %qT"
+ msgstr ""
+
+-#: cp/typeck2.c:1495
++#: cp/typeck2.c:1508
+ #, 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.c:1498
++#: cp/typeck2.c:1511
+ #, fuzzy, gcc-internal-format
+ msgid "call to function which throws incomplete type %q#T"
+ msgstr "parameter %qs wijst naar een onvolledig type"
+
+-#: fortran/f95-lang.c:233
++#: fortran/f95-lang.c:235
+ #, gcc-internal-format
+ msgid "Unexpected type in truthvalue_conversion"
+ msgstr ""
+
+-#: fortran/f95-lang.c:289
++#: fortran/f95-lang.c:291
+ #, fuzzy, gcc-internal-format
+ msgid "can't open input file: %s"
+ msgstr "kan bestand '%s' niet openen"
+
+-#: fortran/f95-lang.c:629
++#: fortran/f95-lang.c:631
+ #, fuzzy, gcc-internal-format
+ msgid "global register variable %qs used in nested function"
+ msgstr "globale registervariabele %qs gebruikt in geneste functie"
+
+-#: fortran/f95-lang.c:633
++#: fortran/f95-lang.c:635
+ #, fuzzy, gcc-internal-format
+ msgid "register variable %qs used in nested function"
+ msgstr "registervariabele %qs gebruikt in geneste functie"
+
+-#: fortran/f95-lang.c:640
++#: fortran/f95-lang.c:642
+ #, fuzzy, gcc-internal-format
+ msgid "address of global register variable %qs requested"
+ msgstr "adres van globale registervariabele %qs gevraagd"
+
+-#: fortran/f95-lang.c:658
++#: fortran/f95-lang.c:660
+ #, fuzzy, gcc-internal-format
+ msgid "address of register variable %qs requested"
+ msgstr "adres van registervariabele %qs gevraagd"
+
+-#: fortran/trans-array.c:3765
++#: fortran/trans-array.c:3805
+ #, gcc-internal-format
+ msgid "Possible frontend bug: array constructor not expanded"
+ msgstr ""
+
+-#: fortran/trans-array.c:5418
++#: fortran/trans-array.c:5499
+ #, gcc-internal-format
+ msgid "Possible frontend bug: Deferred array size without pointer, allocatable attribute or derived type without allocatable components."
+ msgstr ""
+
+-#: fortran/trans-array.c:5894
++#: fortran/trans-array.c:5975
+ #, gcc-internal-format
+ msgid "bad expression type during walk (%d)"
+ msgstr ""
+@@ -32966,27 +32973,27 @@
+ msgid "gfc_conv_constant_to_tree(): invalid type: %s"
+ msgstr ""
+
+-#: fortran/trans-decl.c:966
++#: fortran/trans-decl.c:972
+ #, gcc-internal-format
+ msgid "intrinsic variable which isn't a procedure"
+ msgstr ""
+
+-#: fortran/trans-decl.c:2639
++#: fortran/trans-decl.c:2644
+ #, fuzzy, gcc-internal-format
+ msgid "Function does not return a value"
+ msgstr "functie geeft geen string-type terug"
+
+-#: fortran/trans-decl.c:2817
++#: fortran/trans-decl.c:2832
+ #, gcc-internal-format
+ msgid "backend decl for module variable %s already exists"
+ msgstr ""
+
+-#: fortran/trans-decl.c:3351
++#: fortran/trans-decl.c:3314
+ #, fuzzy, gcc-internal-format
+ msgid "Function return value not set"
+ msgstr "de terugkeerwaarde van een functie kan geen funtie zijn"
+
+-#: fortran/trans-expr.c:1163
++#: fortran/trans-expr.c:1177
+ #, fuzzy, gcc-internal-format
+ msgid "Unknown intrinsic op"
+ msgstr "onbekende machine-modus %qs"
+@@ -32996,32 +33003,32 @@
+ msgid "Intrinsic function %s(%d) not recognized"
+ msgstr "taal %s niet herkend"
+
+-#: fortran/trans-io.c:1928
++#: fortran/trans-io.c:1929
+ #, gcc-internal-format
+ msgid "Bad IO basetype (%d)"
+ msgstr ""
+
+-#: fortran/trans-types.c:386
++#: fortran/trans-types.c:387
+ #, gcc-internal-format
+ msgid "integer kind=8 not available for -fdefault-integer-8 option"
+ msgstr ""
+
+-#: fortran/trans-types.c:409
++#: fortran/trans-types.c:410
+ #, gcc-internal-format
+ msgid "real kind=8 not available for -fdefault-real-8 option"
+ msgstr ""
+
+-#: fortran/trans-types.c:422
++#: fortran/trans-types.c:423
+ #, gcc-internal-format
+ msgid "Use of -fdefault-double-8 requires -fdefault-real-8"
+ msgstr ""
+
+-#: fortran/trans-types.c:1181
++#: fortran/trans-types.c:1185
+ #, fuzzy, gcc-internal-format
+ msgid "Array element size too big"
+ msgstr "case-waarde buiten bereik"
+
+-#: fortran/trans.c:1150
++#: fortran/trans.c:1151
+ #, gcc-internal-format
+ msgid "gfc_trans_code(): Bad statement code"
+ msgstr ""
+@@ -33082,17 +33089,17 @@
+ msgid "need to insert runtime check for %s"
+ msgstr ""
+
+-#: java/expr.c:505 java/expr.c:552
++#: java/expr.c:524 java/expr.c:571
+ #, fuzzy, gcc-internal-format
+ msgid "assert: %s is assign compatible with %s"
+ msgstr "case-selector niet compatibel met label"
+
+-#: java/expr.c:670
++#: java/expr.c:689
+ #, gcc-internal-format
+ msgid "stack underflow - dup* operation"
+ msgstr ""
+
+-#: java/expr.c:1657
++#: java/expr.c:1676
+ #, gcc-internal-format
+ msgid "reference %qs is ambiguous: appears in interface %qs and interface %qs"
+ msgstr ""
+@@ -33101,73 +33108,73 @@
+ # dikwijls 'bibliotheek' zien gebruiken.
+ # De vertaalde boodschappen voor make gebruiken dat op het ogenblik wél, maar
+ # ik ben van plan daar verandering in te brengen.
+-#: java/expr.c:1685
++#: java/expr.c:1704
+ #, fuzzy, gcc-internal-format
+ msgid "field %qs not found"
+ msgstr "veld %qs niet gevonden"
+
+-#: java/expr.c:2224
++#: java/expr.c:2243
+ #, gcc-internal-format
+ msgid "method '%s' not found in class"
+ msgstr ""
+
+-#: java/expr.c:2429
++#: java/expr.c:2448
+ #, gcc-internal-format
+ msgid "failed to find class '%s'"
+ msgstr "kan klasse '%s' niet vinden"
+
+-#: java/expr.c:2470
++#: java/expr.c:2489
+ #, gcc-internal-format
+ msgid "class '%s' has no method named '%s' matching signature '%s'"
+ msgstr ""
+
+-#: java/expr.c:2501
++#: java/expr.c:2520
+ #, gcc-internal-format
+ msgid "invokestatic on non static method"
+ msgstr ""
+
+-#: java/expr.c:2506
++#: java/expr.c:2525
+ #, gcc-internal-format
+ msgid "invokestatic on abstract method"
+ msgstr ""
+
+-#: java/expr.c:2514
++#: java/expr.c:2533
+ #, gcc-internal-format
+ msgid "invoke[non-static] on static method"
+ msgstr ""
+
+-#: java/expr.c:2865
++#: java/expr.c:2890
+ #, fuzzy, gcc-internal-format
+ msgid "missing field '%s' in '%s'"
+ msgstr "beginwaarde ontbreekt"
+
+-#: java/expr.c:2872
++#: java/expr.c:2897
+ #, gcc-internal-format
+ msgid "mismatching signature for field '%s' in '%s'"
+ msgstr ""
+
+-#: java/expr.c:2901
++#: java/expr.c:2926
+ #, fuzzy, gcc-internal-format
+ msgid "assignment to final field %q+D not in field's class"
+ msgstr "toekenning aan final-veld %qs niet in constructor"
+
+-#: java/expr.c:3123
++#: java/expr.c:3148
+ #, gcc-internal-format
+ msgid "invalid PC in line number table"
+ msgstr "ongeldige PC in tabel met regelnummers"
+
+-#: java/expr.c:3173
++#: java/expr.c:3198
+ #, gcc-internal-format
+ msgid "unreachable bytecode from %d to before %d"
+ msgstr ""
+
+-#: java/expr.c:3217
++#: java/expr.c:3242
+ #, gcc-internal-format
+ msgid "unreachable bytecode from %d to the end of the method"
+ msgstr ""
+
+ #. duplicate code from LOAD macro
+-#: java/expr.c:3522
++#: java/expr.c:3547
+ #, fuzzy, gcc-internal-format
+ msgid "unrecogized wide sub-instruction"
+ msgstr "signature-string niet herkend"
+@@ -33233,27 +33240,27 @@
+ msgid "%Hduplicate class will only be compiled once"
+ msgstr ""
+
+-#: java/jcf-parse.c:1636
++#: java/jcf-parse.c:1638
+ #, gcc-internal-format
+ msgid "missing Code attribute"
+ msgstr ""
+
+-#: java/jcf-parse.c:1858
++#: java/jcf-parse.c:1860
+ #, fuzzy, gcc-internal-format
+ msgid "no input file specified"
+ msgstr "Geen invoerbestanden"
+
+-#: java/jcf-parse.c:1893
++#: java/jcf-parse.c:1895
+ #, fuzzy, gcc-internal-format
+ msgid "can't close input file %s: %m"
+ msgstr "kan bestand '%s' niet openen"
+
+-#: java/jcf-parse.c:1940
++#: java/jcf-parse.c:1942
+ #, gcc-internal-format
+ msgid "bad zip/jar file %s"
+ msgstr ""
+
+-#: java/jcf-parse.c:2145
++#: java/jcf-parse.c:2152
+ #, fuzzy, gcc-internal-format
+ msgid "error while reading %s from zip file"
+ msgstr "%s voor stringconstante"
+@@ -33263,22 +33270,22 @@
+ msgid "warning: already-compiled .class files ignored with -C"
+ msgstr ""
+
+-#: java/lang.c:590
++#: java/lang.c:594
+ #, gcc-internal-format
+ msgid "-findirect-dispatch is incompatible with -freduced-reflection"
+ msgstr ""
+
+-#: java/lang.c:593
++#: java/lang.c:597
+ #, gcc-internal-format
+ msgid "-fjni is incompatible with -freduced-reflection"
+ msgstr ""
+
+-#: java/lang.c:604
++#: java/lang.c:608
+ #, gcc-internal-format
+ msgid "can't do dependency tracking with input from stdin"
+ msgstr ""
+
+-#: java/lang.c:620
++#: java/lang.c:624
+ #, gcc-internal-format
+ msgid "couldn't determine target name for dependency tracking"
+ msgstr ""
+@@ -33738,546 +33745,3 @@
+ #, gcc-internal-format
+ msgid "%qD attribute ignored"
+ msgstr "het %qD attribuut wordt genegeerd"
+-
+-# moet dit eigenlijk wel een vertaalbare string zijn?
+-#~ msgid "%s (GCC) %s\n"
+-#~ msgstr "%s (GCC) %s\n"
+-
+-#~ msgid "syntax error: cannot back up"
+-#~ msgstr "syntaxfout: kan niet terugkeren"
+-
+-#~ msgid "memory exhausted"
+-#~ msgstr "geheugen opgebruikt"
+-
+-#~ msgid "syntax error, unexpected %s"
+-#~ msgstr "syntaxfout, %s onverwacht"
+-
+-#~ msgid "syntax error, unexpected %s, expecting %s"
+-#~ msgstr "syntaxfout, %s onverwacht, %s verwacht"
+-
+-#~ msgid "syntax error, unexpected %s, expecting %s or %s"
+-#~ msgstr "syntaxfout, %s onverwacht, %s of %s verwacht"
+-
+-#~ msgid "syntax error, unexpected %s, expecting %s or %s or %s"
+-#~ msgstr "syntaxfout, %s onverwacht, %s of %s of %s verwacht"
+-
+-#~ msgid "syntax error, unexpected %s, expecting %s or %s or %s or %s"
+-#~ msgstr "syntaxfout, %s onverwacht, %s of %s of %s of %s verwacht"
+-
+-#~ msgid "syntax error"
+-#~ msgstr "syntaxfout"
+-
+-#~ msgid "call is unlikely"
+-#~ msgstr "oproep is onwaarschijnlijk"
+-
+-#~ msgid "invalid %%Y value"
+-#~ msgstr "ongeldige waarde voor %%Y"
+-
+-#~ msgid "invalid %%C operand"
+-#~ msgstr "ongeldige operand voor %%C"
+-
+-#~ msgid "invalid %%D operand"
+-#~ msgstr "ongeldige operand voor %%D"
+-
+-#~ msgid "Arithmetic overflow converting %s to %s at %L"
+-#~ msgstr "Arithmetische overflow bij conversie van %s naar %s op %L"
+-
+-#, fuzzy
+-#~ msgid "In file %s:%d\n"
+-#~ msgstr "In functie %qs:"
+-
+-#, fuzzy
+-#~ msgid "Period required"
+-#~ msgstr "overflow in constante expressie"
+-
+-#, fuzzy
+-#~ msgid "REC tag at %L is incompatible with END tag"
+-#~ msgstr "case-selector niet compatibel met label"
+-
+-#, fuzzy
+-#~ msgid "storage size not known"
+-#~ msgstr "opslaggrootte van %qs is onbekend"
+-
+-#, fuzzy
+-#~ msgid "storage size not constant"
+-#~ msgstr "opslaggrootte van %qs is niet constant"
+-
+-#, fuzzy
+-#~ msgid "Processing %s\n"
+-#~ msgstr "#error %s"
+-
+-#, fuzzy
+-#~ msgid "%s: error: "
+-#~ msgstr "parse-fout"
+-
+-# Dit zou misschien beter 'warning' blijven
+-#, fuzzy
+-#~ msgid "%s: warning: "
+-#~ msgstr "let op: "
+-
+-#, fuzzy
+-#~ msgid "Missing term"
+-#~ msgstr "beginwaarde ontbreekt"
+-
+-#~ msgid "parse error"
+-#~ msgstr "parse-fout"
+-
+-#~ msgid "syntax error; also virtual memory exhausted"
+-#~ msgstr "syntaxfout; ook is het virtueel geheugen opgebruikt"
+-
+-#~ msgid "parse error; also virtual memory exhausted"
+-#~ msgstr "parse-fout; ook is het virtueel geheugen opgebruikt"
+-
+-#~ msgid "parse error: cannot back up"
+-#~ msgstr "parse-fout: kan niet terugkeren"
+-
+-#, fuzzy
+-#~ msgid "Missing name"
+-#~ msgstr "beginwaarde ontbreekt"
+-
+-#, fuzzy
+-#~ msgid "Missing variable initializer"
+-#~ msgstr "beginwaarde ontbreekt"
+-
+-#, fuzzy
+-#~ msgid "Invalid declaration"
+-#~ msgstr "lege declaratie"
+-
+-#, fuzzy
+-#~ msgid "Unbalanced ']'"
+-#~ msgstr "niet-gebalanceerde %<#endif%>"
+-
+-#, fuzzy
+-#~ msgid "Missing formal parameter term"
+-#~ msgstr "parameternaam ontbreekt uit parameterlijst"
+-
+-#, fuzzy
+-#~ msgid "Missing identifier"
+-#~ msgstr "beginwaarde ontbreekt"
+-
+-#, fuzzy
+-#~ msgid "Invalid interface type"
+-#~ msgstr "Ongeldig register voor vergelijking"
+-
+-#, fuzzy
+-#~ msgid "Invalid expression statement"
+-#~ msgstr "ongeldige expressie als operand"
+-
+-#, fuzzy
+-#~ msgid "Missing or invalid constant expression"
+-#~ msgstr "overflow in constante expressie"
+-
+-#, fuzzy
+-#~ msgid "Invalid update expression"
+-#~ msgstr "Ongeldig token in expressie"
+-
+-#, fuzzy
+-#~ msgid "']' expected, invalid type expression"
+-#~ msgstr "ongeldige waarheidsexpressie"
+-
+-#, fuzzy
+-#~ msgid "Warn about possibly confusing type conversions"
+-#~ msgstr "accolades ontbreken rond beginwaarde"
+-
+-#, fuzzy
+-#~ msgid "Make implicit function declarations an error"
+-#~ msgstr "parameternamen (zonder types) in functiedeclaratie"
+-
+-#, fuzzy
+-#~ msgid "Make string literals \"const char[]\" not \"char[]\""
+-#~ msgstr "slechte stringconstante"
+-
+-#~ msgid "second argument to %<__builtin_expect%> must be a constant"
+-#~ msgstr "tweede argument voor %<__builtin_expect%> moet een constante zijn"
+-
+-#~ msgid "%<va_start%> used with too many arguments"
+-#~ msgstr "%<va_start%> gebruikt met te veel argumenten"
+-
+-#~ msgid "invalid truth-value expression"
+-#~ msgstr "ongeldige waarheidsexpressie"
+-
+-#~ msgid "invalid lvalue in increment"
+-#~ msgstr "ongeldige lvalue in verhoging"
+-
+-#~ msgid "invalid lvalue in decrement"
+-#~ msgstr "ongeldige lvalue in verlaging"
+-
+-#~ msgid "invalid lvalue in unary %<&%>"
+-#~ msgstr "ongeldige lvalue bij unaire %<&%>"
+-
+-#~ msgid "GCC does not yet properly implement %<[*]%> array declarators"
+-#~ msgstr "GCC heeft nog geen fatsoenlijke implementatie van %<[*]%> declaratoren van arrays"
+-
+-#~ msgid "thread-local storage not supported for this target"
+-#~ msgstr "thread-local opslag wordt niet ondersteund voor dit doelsysteem"
+-
+-#~ msgid "this function may return with or without a value"
+-#~ msgstr "deze functie kan met of zonder waarde tergukeren"
+-
+-#, fuzzy
+-#~ msgid "junk at end of #pragma weak"
+-#~ msgstr "misvormde #pragma weak"
+-
+-#~ msgid "internal error"
+-#~ msgstr "interne fout"
+-
+-#, fuzzy
+-#~ msgid "code model %<large%> not supported yet"
+-#~ msgstr "afrondingsmodus niet ondersteund voor VAX-floats"
+-
+-#, fuzzy
+-#~ msgid "-fpic is not supported; -fPIC assumed"
+-#~ msgstr "-pipe wordt niet ondersteund"
+-
+-#, fuzzy
+-#~ msgid "passing %qT for argument %P to %qD"
+-#~ msgstr "doorgeven van argument %d van %qs"
+-
+-#, fuzzy
+-#~ msgid "%q+#D previously declared here"
+-#~ msgstr "%qs tevoren hier gedeclareerd"
+-
+-#, fuzzy
+-#~ msgid "no type named %q#T in %q#T"
+-#~ msgstr "het type van de teruggeefwaarde van %qs is niet %<int%>"
+-
+-#, fuzzy
+-#~ msgid "cannot initialize %qD to namespace %qD"
+-#~ msgstr "niet-constante beginwaarde voor %qs"
+-
+-#, fuzzy
+-#~ msgid "operator %qT declared to return %qT"
+-#~ msgstr "parameter %qs als void gedeclareerd"
+-
+-#, fuzzy
+-#~ msgid "long or short specified with floating type for %qs"
+-#~ msgstr "'long' of 'short' opgegeven bij floating-point type voor %qs"
+-
+-#, fuzzy
+-#~ msgid "constructors may not be cv-qualified"
+-#~ msgstr "structure heeft geen lid dat %qs heet"
+-
+-#, fuzzy
+-#~ msgid "enumerator value for %qD not integer constant"
+-#~ msgstr "enumeratiewaarde voor %qs is geen integrale constante"
+-
+-#, fuzzy
+-#~ msgid "invalid use of %<virtual%> in template declaration of %q#D"
+-#~ msgstr "ongeldig gebruik van onvolledige typedef %qs"
+-
+-#, fuzzy
+-#~ msgid "%qD is not a member of type %qT"
+-#~ msgstr "%qs is geen bestand, pipe of tty"
+-
+-#, fuzzy
+-#~ msgid "%<%D::%D%> is not a template"
+-#~ msgstr "%qs is geen iterator"
+-
+-#, fuzzy
+-#~ msgid "%qD undeclared in namespace %qD"
+-#~ msgstr "ongeldige naam %qs"
+-
+-#, fuzzy
+-#~ msgid "duplicate %<friend%>"
+-#~ msgstr "herhaalde %qs"
+-
+-#, fuzzy
+-#~ msgid "invalid function declaration"
+-#~ msgstr "lege declaratie"
+-
+-#, fuzzy
+-#~ msgid "%qD does not declare a template type"
+-#~ msgstr "%qs is geen iterator"
+-
+-#, fuzzy
+-#~ msgid "division by zero in %<%E / 0%>"
+-#~ msgstr "deling door nul in %<#if%>"
+-
+-#, fuzzy
+-#~ msgid "division by zero in %<%E / 0.%>"
+-#~ msgstr "deling door nul in %<#if%>"
+-
+-#, fuzzy
+-#~ msgid "division by zero in %<%E %% 0%>"
+-#~ msgstr "deling door nul in %<#if%>"
+-
+-#, fuzzy
+-#~ msgid "division by zero in %<%E %% 0.%>"
+-#~ msgstr "deling door nul in %<#if%>"
+-
+-#, fuzzy
+-#~ msgid "invalid use of %<--%> on bool variable %qD"
+-#~ msgstr "ongeldig gebruik van array die geen lvalue is"
+-
+-#, fuzzy
+-#~ msgid "ISO C++ forbids assignment of arrays"
+-#~ msgstr "ISO C++ verbiedt array %qs met lengte 0"
+-
+-#, fuzzy
+-#~ msgid "pointer to member cast via virtual base %qT"
+-#~ msgstr "pointer naar een lid gebruikt in rekensom"
+-
+-#, fuzzy
+-#~ msgid "unused parameter %qs"
+-#~ msgstr "ongeldige macronaam %<%.*s%>"
+-
+-#, fuzzy
+-#~ msgid "unused variable %qs"
+-#~ msgstr "%s van alleen-lezen variabele %qs"
+-
+-#, fuzzy
+-#~ msgid "variable %qD may not have been initialized"
+-#~ msgstr "object van variabele lengte mag geen beginwaarde krijgen"
+-
+-#, fuzzy
+-#~ msgid "%Jfinal field %qD may not have been initialized"
+-#~ msgstr "object van variabele lengte mag geen beginwaarde krijgen"
+-
+-#, fuzzy
+-#~ msgid "declaration of %qs shadows a parameter"
+-#~ msgstr "de declaratie van %qs verbergt een parameter"
+-
+-#, fuzzy
+-#~ msgid "declaration of %qs shadows a symbol from the parameter list"
+-#~ msgstr "de declaratie van %qs verbergt een symbool uit de parameterlijst"
+-
+-#, fuzzy
+-#~ msgid "assignment to final static field %q+D not in class initializer"
+-#~ msgstr "toekenning aan final-veld %qs niet in constructor"
+-
+-#, fuzzy
+-#~ msgid "assignment to final field %q+D not in constructor"
+-#~ msgstr "toekenning aan final-veld %qs niet in constructor"
+-
+-#, fuzzy
+-#~ msgid "couldn't find class %s"
+-#~ msgstr "kan %s niet vinden"
+-
+-#, fuzzy
+-#~ msgid "unparseable signature: '%s'"
+-#~ msgstr "kan bestand '%s' niet stat'en"
+-
+-#, fuzzy
+-#~ msgid "Not a valid Java .class file."
+-#~ msgstr "ongeldige basisklasse"
+-
+-#, fuzzy
+-#~ msgid "error in constant pool entry #%d"
+-#~ msgstr "constant object wordt beschreven (argument %d)"
+-
+-#, fuzzy
+-#~ msgid "class is of array type\n"
+-#~ msgstr "cast geeft array-type op"
+-
+-#, fuzzy
+-#~ msgid "base class is of array type"
+-#~ msgstr "cast geeft array-type op"
+-
+-#, fuzzy
+-#~ msgid "no classes specified"
+-#~ msgstr "Bestandsnaam voor uitvoer twee keer opgegeven"
+-
+-#~ msgid "'-MG' option is unimplemented"
+-#~ msgstr "de '-MG' optie is niet geïmplementeerd"
+-
+-#, fuzzy
+-#~ msgid "can't specify both -o and -MD"
+-#~ msgstr "-EB en -EL mogen niet samen gebruikt worden"
+-
+-#~ msgid "%s: no such class"
+-#~ msgstr "%s: geen class met die naam"
+-
+-#, fuzzy
+-#~ msgid "can't reopen %s: %m"
+-#~ msgstr "open %s"
+-
+-#, fuzzy
+-#~ msgid "can't close %s: %m"
+-#~ msgstr "close %s"
+-
+-#, fuzzy
+-#~ msgid "field initializer type mismatch"
+-#~ msgstr "ongeldige beginwaarde voor bit-string"
+-
+-#, fuzzy
+-#~ msgid "can't create directory %s: %m"
+-#~ msgstr "dubbele folder %qs wordt genegeerd\n"
+-
+-#, fuzzy
+-#~ msgid "can't open %s for writing: %m"
+-#~ msgstr "open %s"
+-
+-#, fuzzy
+-#~ msgid "can't create %s: %m"
+-#~ msgstr "open %s"
+-
+-#, fuzzy
+-#~ msgid "can't open output file '%s'"
+-#~ msgstr "kan bestand '%s' niet openen"
+-
+-#, fuzzy
+-#~ msgid "file not found '%s'"
+-#~ msgstr "kan %s niet vinden"
+-
+-#, fuzzy
+-#~ msgid "internal error - bad unget"
+-#~ msgstr "formaatstring niet beëindigd"
+-
+-#, fuzzy
+-#~ msgid "Modifier %qs declared twice"
+-#~ msgstr "veld %qs als een functie gedeclareerd"
+-
+-#, fuzzy
+-#~ msgid "Missing return statement"
+-#~ msgstr "beginwaarde ontbreekt"
+-
+-#, fuzzy
+-#~ msgid "Unreachable statement"
+-#~ msgstr "ongeldige beginwaarde"
+-
+-#, fuzzy
+-#~ msgid "%s: recursive invocation of constructor %qs"
+-#~ msgstr "herdefinitie van %<struct %s%>"
+-
+-#, fuzzy
+-#~ msgid "Type %qs not found in declaration of field %qs"
+-#~ msgstr "type krijgt standaardwaarde %<int%> in de declaratie van %qs"
+-
+-#, fuzzy
+-#~ msgid "Duplicate %s declaration %qs"
+-#~ msgstr "herhaalde label-declaratie %qs"
+-
+-#, fuzzy
+-#~ msgid "Undefined variable %qs"
+-#~ msgstr "ongeldige operand van %s"
+-
+-#, fuzzy
+-#~ msgid "No variable %qs defined in class %qs"
+-#~ msgstr "kan klasse '%s' niet vinden"
+-
+-#, fuzzy
+-#~ msgid "Undefined variable or class name: %qs"
+-#~ msgstr "[kan %s niet vinden]"
+-
+-#, fuzzy
+-#~ msgid "Class %qs not found in type declaration"
+-#~ msgstr "geen eerdere declaratie voor %qs"
+-
+-#, fuzzy
+-#~ msgid "Constant expression required"
+-#~ msgstr "overflow in constante expressie"
+-
+-#, fuzzy
+-#~ msgid "Incompatible type for case. Can't convert %qs to %<int%>"
+-#~ msgstr "incompatibel type voor argument %d van %qs"
+-
+-#, fuzzy
+-#~ msgid "Duplicate case label: %<default%>"
+-#~ msgstr "herhaalde case-waarde"
+-
+-# 'whitespace' -> 'witruimte'?
+-#, fuzzy
+-#~ msgid "missing static field %qs"
+-#~ msgstr "ontbrekende witruimte na getal %qs"
+-
+-#, fuzzy
+-#~ msgid "not a static field %qs"
+-#~ msgstr "%qs is geen static veld"
+-
+-#, fuzzy
+-#~ msgid "Incompatible type for %s. Can't convert %qs to %qs"
+-#~ msgstr "incompatibel type voor argument %d van %qs"
+-
+-#, fuzzy
+-#~ msgid "unregistered operator %s"
+-#~ msgstr "registernaam niet opgegeven voor %qs"
+-
+-# Is the %s the argument, or is it 'of' the argument?
+-#, fuzzy
+-#~ msgid "Invalid argument %qs for %<instanceof%>"
+-#~ msgstr "ongeldig type-argument %qs"
+-
+-#, fuzzy
+-#~ msgid "Incompatible type for %qs. Can't convert %qs to %qs"
+-#~ msgstr "incompatibel type voor argument %d van %qs"
+-
+-# Is the %s the argument, or is it 'of' the argument?
+-#, fuzzy
+-#~ msgid "Invalid argument type %qs to %qs"
+-#~ msgstr "ongeldig type-argument %qs"
+-
+-#, fuzzy
+-#~ msgid "Incompatible type for %<[]%>. Can't convert %qs to %<int%>"
+-#~ msgstr "incompatibel type voor argument %d van %qs"
+-
+-#, fuzzy
+-#~ msgid "Invalid array initializer for non-array type %qs"
+-#~ msgstr "array krijgt niet-constante array-expressie als beginwaarde"
+-
+-#, fuzzy
+-#~ msgid "Incompatible type for array. %s convert %qs to %qs"
+-#~ msgstr "incompatibel type voor argument %d van %qs"
+-
+-#, fuzzy
+-#~ msgid "%<return%> inside instance initializer"
+-#~ msgstr "leeg indexbereik in beginwaarde"
+-
+-#, fuzzy
+-#~ msgid "%<return%> inside static initializer"
+-#~ msgstr "leeg indexbereik in beginwaarde"
+-
+-#, fuzzy
+-#~ msgid "Declaration of %qs shadows a previous label declaration"
+-#~ msgstr "de declaratie van %qs verbergt een parameter"
+-
+-#, fuzzy
+-#~ msgid "This is the location of the previous declaration of label %qs"
+-#~ msgstr "dit is een eerdere declaratie"
+-
+-#, fuzzy
+-#~ msgid "No label definition found for %qs"
+-#~ msgstr "label niet in een CASE-statement"
+-
+-#, fuzzy
+-#~ msgid "%<continue%> must be in loop"
+-#~ msgstr "continue-statement niet in een lus"
+-
+-#, fuzzy
+-#~ msgid "continue label %qs does not name a loop"
+-#~ msgstr "continue-statement niet in een lus"
+-
+-#, fuzzy
+-#~ msgid "%<break%> must be in loop or switch"
+-#~ msgstr "break-statement niet in een lus of switch"
+-
+-#, fuzzy
+-#~ msgid "duplicate case label: %<"
+-#~ msgstr "herhaald label %qs"
+-
+-#, fuzzy
+-#~ msgid "Exception %qs can't be thrown in initializer"
+-#~ msgstr "leeg indexbereik in beginwaarde"
+-
+-#, fuzzy
+-#~ msgid "Incompatible type for %<?:%>. Can't convert %qs to %qs"
+-#~ msgstr "incompatibel type voor argument %d van %qs"
+-
+-#, fuzzy
+-#~ msgid "Constructor can't be %s"
+-#~ msgstr "structure heeft geen lid dat %qs heet"
+-
+-#, fuzzy
+-#~ msgid "Discouraged redundant use of %qs modifier in declaration of %s"
+-#~ msgstr "meerdere opslagklassen in declaratie van %qs"
+-
+-#, fuzzy
+-#~ msgid "Incompatible type for %qs. Can't convert %qs to boolean"
+-#~ msgstr "incompatibel type voor argument %d van %qs"
+-
+-#, fuzzy
+-#~ msgid "Incompatible type for %qs. Can't convert %qs to integral"
+-#~ msgstr "incompatibel type voor argument %d van onrechtstreekse functie-oproep"
+-
+-#, fuzzy
+-#~ msgid "Variable %qs may not have been initialized"
+-#~ msgstr "object van variabele lengte mag geen beginwaarde krijgen"
+Index: gcc/po/ChangeLog
+===================================================================
+--- gcc/po/ChangeLog (.../tags/gcc_4_3_0_release) (revision 133808)
++++ gcc/po/ChangeLog (.../branches/gcc-4_3-branch) (revision 133808)
+@@ -1,3 +1,33 @@
++2008-03-27 Joseph S. Myers <joseph@codesourcery.com>
++
++ * zh_CN.po: Update.
++
++2008-03-20 Joseph S. Myers <joseph@codesourcery.com>
++
++ * es.po: Update.
++
++2008-03-20 Joseph S. Myers <joseph@codesourcery.com>
++
++ * sv.po: Update.
++
++2008-03-18 Joseph S. Myers <joseph@codesourcery.com>
++
++ * nl.po: Update.
++
++2008-03-15 Joseph S. Myers <joseph@codesourcery.com>
++
++ * zh_CN.po: Update.
++
++2008-03-15 Joseph S. Myers <joseph@codesourcery.com>
++
++ * de.po: Update.
++
++2008-03-14 Joseph S. Myers <joseph@codesourcery.com>
++
++ * be.po, da.po, de.po, el.po, es.po, fr.po, ja.po, nl.po, ru.po,
++ sr.po, sv.po, tr.po, zh_CN.po, zh_TW.po: Update.
++ * ca.po, rw.po: Remove.
++
+ 2008-03-05 Release Manager
+
+ * GCC 4.3.0 released.
+Index: gcc/po/sr.po
+===================================================================
+--- gcc/po/sr.po (.../tags/gcc_4_3_0_release) (revision 133808)
++++ gcc/po/sr.po (.../branches/gcc-4_3-branch) (revision 133808)
+@@ -6,7 +6,7 @@
+ msgstr ""
+ "Project-Id-Version: gcc 4.2.1\n"
+ "Report-Msgid-Bugs-To: http://gcc.gnu.org/bugs.html\n"
+-"POT-Creation-Date: 2007-11-08 21:09+0000\n"
++"POT-Creation-Date: 2008-03-05 17:23+0100\n"
+ "PO-Revision-Date: 2007-08-19 12:00+0200\n"
+ "Last-Translator: Caslav Ilic <caslav.ilic@gmx.net>\n"
+ "Language-Team: Serbian <gnu@prevod.org>\n"
+@@ -15,7 +15,7 @@
+ "Content-Transfer-Encoding: 8bit\n"
+ "Plural-Forms: nplurals=4; plural=(n==1 ? 3 : n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
+
+-#: c-decl.c:3814
++#: c-decl.c:3813
+ msgid "<anonymous>"
+ msgstr "<анонимно>"
+
+@@ -298,53 +298,53 @@
+ msgid "End of search list.\n"
+ msgstr "Крај лиÑте тражења.\n"
+
+-#: c-opts.c:1484
++#: c-opts.c:1505
+ msgid "<built-in>"
+ msgstr "<уграђено>"
+
+-#: c-opts.c:1502
++#: c-opts.c:1523
+ msgid "<command-line>"
+ msgstr "<командна-линија>"
+
+-#: c-typeck.c:2448 c-typeck.c:4851 c-typeck.c:4853 c-typeck.c:4861
+-#: c-typeck.c:4891 c-typeck.c:6267
++#: c-typeck.c:2459 c-typeck.c:4862 c-typeck.c:4864 c-typeck.c:4872
++#: c-typeck.c:4902 c-typeck.c:6278
+ msgid "initializer element is not constant"
+ msgstr "елемент уÑпоÑтављача није конÑтантан"
+
+-#: c-typeck.c:4654
++#: c-typeck.c:4665
+ msgid "array initialized from parenthesized string constant"
+ msgstr "низ уÑпоÑтављен конÑтантном ниÑком у заградама"
+
+-#: c-typeck.c:4715 cp/typeck2.c:677
++#: c-typeck.c:4726 cp/typeck2.c:677
+ #, gcc-internal-format
+ msgid "char-array initialized from wide string"
+ msgstr "char-низ уÑпоÑтављен широком ниÑком"
+
+-#: c-typeck.c:4720
++#: c-typeck.c:4731
+ msgid "wchar_t-array initialized from non-wide string"
+ msgstr "wchar_t-низ уÑпоÑтављен не-широком ниÑком"
+
+-#: c-typeck.c:4738 cp/typeck2.c:697
++#: c-typeck.c:4749 cp/typeck2.c:697
+ #, gcc-internal-format
+ msgid "initializer-string for array of chars is too long"
+ msgstr "предугачка ниÑка уÑпоÑтављача за низ знакова"
+
+-#: c-typeck.c:4744
++#: c-typeck.c:4755
+ msgid "array of inappropriate type initialized from string constant"
+ msgstr "низ неподеÑног типа уÑпоÑтављен конÑтантном ниÑком"
+
+ #. ??? This should not be an error when inlining calls to
+ #. unprototyped functions.
+-#: c-typeck.c:4808 c-typeck.c:4333 cp/typeck.c:1528
++#: c-typeck.c:4819 c-typeck.c:4344 cp/typeck.c:1574
+ #, gcc-internal-format
+ msgid "invalid use of non-lvalue array"
+ msgstr "неиÑправна употреба не-л-вредноÑног низа"
+
+-#: c-typeck.c:4834
++#: c-typeck.c:4845
+ msgid "array initialized from non-constant array expression"
+ msgstr "низ уÑпоÑтављен не-конÑтантним низовним изразом"
+
+-#: c-typeck.c:4898 c-typeck.c:6271
++#: c-typeck.c:4909 c-typeck.c:6282
+ #, gcc-internal-format
+ msgid "initializer element is not computable at load time"
+ msgstr "елемент уÑпоÑтављача Ñе не може израчунати при учитавању"
+@@ -353,140 +353,140 @@
+ #. of VLAs themselves count as VLAs, it does not make
+ #. sense to permit them to be initialized given that
+ #. ordinary VLAs may not be initialized.
+-#: c-typeck.c:4909 c-decl.c:3222 c-decl.c:3237
++#: c-typeck.c:4920 c-decl.c:3220 c-decl.c:3235
+ #, gcc-internal-format
+ msgid "variable-sized object may not be initialized"
+ msgstr "објекат променљиве величине не може Ñе уÑпоÑтављати"
+
+-#: c-typeck.c:4913
++#: c-typeck.c:4924
+ msgid "invalid initializer"
+ msgstr "неиÑправан уÑпоÑтављач"
+
+-#: c-typeck.c:5387
++#: c-typeck.c:5398
+ msgid "extra brace group at end of initializer"
+ msgstr "Ñувишна група витичаÑтих заграда на крају уÑпоÑтављача"
+
+-#: c-typeck.c:5407
++#: c-typeck.c:5418
+ msgid "missing braces around initializer"
+ msgstr "недоÑтају витичаÑте заграде око уÑпоÑтављача"
+
+-#: c-typeck.c:5468
++#: c-typeck.c:5479
+ msgid "braces around scalar initializer"
+ msgstr "витичаÑте заграде око Ñкаларног уÑпоÑтављача"
+
+-#: c-typeck.c:5525
++#: c-typeck.c:5536
+ msgid "initialization of flexible array member in a nested context"
+ msgstr "уÑпоÑтављање флекÑибилног чланÑког низа у угњежденом контекÑту"
+
+-#: c-typeck.c:5527
++#: c-typeck.c:5538
+ msgid "initialization of a flexible array member"
+ msgstr "уÑпоÑтављање флекÑибилног чланÑког низа"
+
+-#: c-typeck.c:5554
++#: c-typeck.c:5565
+ msgid "missing initializer"
+ msgstr "недоÑтаје уÑпоÑтављач"
+
+-#: c-typeck.c:5576
++#: c-typeck.c:5587
+ msgid "empty scalar initializer"
+ msgstr "празан Ñкаларни уÑпоÑтављач"
+
+-#: c-typeck.c:5581
++#: c-typeck.c:5592
+ msgid "extra elements in scalar initializer"
+ msgstr "Ñувишни елементи у Ñкаларном инцијализатору"
+
+-#: c-typeck.c:5678 c-typeck.c:5738
++#: c-typeck.c:5689 c-typeck.c:5749
+ msgid "array index in non-array initializer"
+ msgstr "Ð¸Ð½Ð´ÐµÐºÑ Ð½Ð¸Ð·Ð° у не-низовном уÑпоÑтављачу"
+
+-#: c-typeck.c:5683 c-typeck.c:5791
++#: c-typeck.c:5694 c-typeck.c:5802
+ msgid "field name not in record or union initializer"
+ msgstr "име поља није у уÑпоÑтављачу Ñлога или уније"
+
+-#: c-typeck.c:5729
++#: c-typeck.c:5740
+ msgid "array index in initializer not of integer type"
+ msgstr "Ð¸Ð½Ð´ÐµÐºÑ Ð½Ð¸Ð·Ð° у уÑпоÑтављачу није целобројан"
+
+-#: c-typeck.c:5734 c-typeck.c:5736
++#: c-typeck.c:5745 c-typeck.c:5747
+ msgid "nonconstant array index in initializer"
+ msgstr "неконÑтантан Ð¸Ð½Ð´ÐµÐºÑ Ð½Ð¸Ð·Ð° у уÑпоÑтављачу"
+
+-#: c-typeck.c:5740 c-typeck.c:5743
++#: c-typeck.c:5751 c-typeck.c:5754
+ msgid "array index in initializer exceeds array bounds"
+ msgstr "Ð¸Ð½Ð´ÐµÐºÑ Ñƒ уÑпоÑтављачу премашује границе низа"
+
+-#: c-typeck.c:5754
++#: c-typeck.c:5765
+ msgid "empty index range in initializer"
+ msgstr "празан индекÑни опÑег у уÑпоÑтављачу"
+
+-#: c-typeck.c:5763
++#: c-typeck.c:5774
+ msgid "array index range in initializer exceeds array bounds"
+ msgstr "индекÑни опÑег у уÑпоÑтављачу премашује границе низа"
+
+-#: c-typeck.c:5838 c-typeck.c:5861 c-typeck.c:6335
++#: c-typeck.c:5849 c-typeck.c:5872 c-typeck.c:6346
+ msgid "initialized field with side-effects overwritten"
+ msgstr "уÑпоÑтављено поље Ñа Ñпоредним ефектима пребриÑано"
+
+-#: c-typeck.c:5840 c-typeck.c:5863 c-typeck.c:6337
++#: c-typeck.c:5851 c-typeck.c:5874 c-typeck.c:6348
+ msgid "initialized field overwritten"
+ msgstr "уÑпоÑтављено поље пребриÑано"
+
+-#: c-typeck.c:6545
++#: c-typeck.c:6556
+ msgid "excess elements in char array initializer"
+ msgstr "Ñувишни елементи у уÑпоÑтављачу знаковног низа"
+
+-#: c-typeck.c:6552 c-typeck.c:6598
++#: c-typeck.c:6563 c-typeck.c:6609
+ msgid "excess elements in struct initializer"
+ msgstr "Ñувишни елементи у уÑпоÑтављачу Ñтруктуре"
+
+-#: c-typeck.c:6613
++#: c-typeck.c:6624
+ msgid "non-static initialization of a flexible array member"
+ msgstr "неÑтатичко уÑпоÑтављање флекÑибилног чланÑког низа"
+
+-#: c-typeck.c:6681
++#: c-typeck.c:6692
+ msgid "excess elements in union initializer"
+ msgstr "Ñувишни елементи у уÑпоÑтављачу уније"
+
+-#: c-typeck.c:6768
++#: c-typeck.c:6779
+ msgid "excess elements in array initializer"
+ msgstr "Ñувишни елементи у уÑпоÑтављачу низа"
+
+-#: c-typeck.c:6798
++#: c-typeck.c:6809
+ msgid "excess elements in vector initializer"
+ msgstr "Ñувишни елементи у уÑпоÑтављачу вектора"
+
+-#: c-typeck.c:6822
++#: c-typeck.c:6833
+ msgid "excess elements in scalar initializer"
+ msgstr "Ñувишни елементи у уÑпоÑтављачу Ñкалара"
+
+-#: cfgrtl.c:1925
++#: cfgrtl.c:1923
+ msgid "flow control insn inside a basic block"
+ msgstr "ија контроле тока унутар оÑновног блока"
+
+-#: cfgrtl.c:2054
++#: cfgrtl.c:2052
+ msgid "wrong insn in the fallthru edge"
+ msgstr "погрешна ија у пропадном потегу"
+
+-#: cfgrtl.c:2110
++#: cfgrtl.c:2108
+ msgid "insn outside basic block"
+ msgstr "ија изван оÑновног блока"
+
+-#: cfgrtl.c:2117
++#: cfgrtl.c:2115
+ msgid "return not followed by barrier"
+ msgstr "повратак није праћен баријером"
+
+-#: cgraph.c:339 ipa-inline.c:417
++#: cgraph.c:340 ipa-inline.c:417
+ msgid "function body not available"
+ msgstr "тело функције није доÑтупно"
+
+-#: cgraph.c:341 cgraphbuild.c:96
++#: cgraph.c:342 cgraphbuild.c:96
+ msgid "redefined extern inline functions are not considered for inlining"
+ msgstr "редефиниÑане Ñпољашње уткане функције не разматрају Ñе за уткивање"
+
+-#: cgraph.c:344 cgraphbuild.c:103
++#: cgraph.c:345 cgraphbuild.c:103
+ msgid "function not considered for inlining"
+ msgstr "функција Ñе не разматра за уткивање"
+
+-#: cgraph.c:346 cgraphbuild.c:99
++#: cgraph.c:347 cgraphbuild.c:99
+ msgid "function not inlinable"
+ msgstr "функција Ñе не може уткати"
+
+@@ -495,87 +495,87 @@
+ msgid "mismatched arguments"
+ msgstr "неиÑправан типÑки аргумент"
+
+-#: collect2.c:378 gcc.c:6897
++#: collect2.c:382 gcc.c:6896
+ #, c-format
+ msgid "internal gcc abort in %s, at %s:%d"
+ msgstr "инутрашњи прекид у %s, код %s:%d"
+
+-#: collect2.c:889
++#: collect2.c:903
+ #, c-format
+ msgid "no arguments"
+ msgstr "без аргумената"
+
+-#: collect2.c:1263 collect2.c:1411 collect2.c:1446
++#: collect2.c:1277 collect2.c:1425 collect2.c:1460
+ #, c-format
+ msgid "fopen %s"
+ msgstr "fopen %s"
+
+-#: collect2.c:1266 collect2.c:1416 collect2.c:1449
++#: collect2.c:1280 collect2.c:1430 collect2.c:1463
+ #, c-format
+ msgid "fclose %s"
+ msgstr "fclose %s"
+
+-#: collect2.c:1275
++#: collect2.c:1289
+ #, c-format
+ msgid "collect2 version %s"
+ msgstr "collect2 верзија %s"
+
+-#: collect2.c:1365
++#: collect2.c:1379
+ #, c-format
+ msgid "%d constructor(s) found\n"
+ msgstr "нађених конÑтруктора: %d\n"
+
+-#: collect2.c:1366
++#: collect2.c:1380
+ #, c-format
+ msgid "%d destructor(s) found\n"
+ msgstr "нађених деÑтруктора: %d\n"
+
+-#: collect2.c:1367
++#: collect2.c:1381
+ #, c-format
+ msgid "%d frame table(s) found\n"
+ msgstr "нађених табела оквира: %d\n"
+
+-#: collect2.c:1504
++#: collect2.c:1518
+ #, c-format
+ msgid "can't get program status"
+ msgstr "не могу да добавим Ñтање програма"
+
+-#: collect2.c:1573
++#: collect2.c:1587
+ #, fuzzy, c-format
+ msgid "could not open response file %s"
+ msgstr "ниÑам могао да нађем датотеку навода %s\n"
+
+-#: collect2.c:1578
++#: collect2.c:1592
+ #, fuzzy, c-format
+ msgid "could not write to response file %s"
+ msgstr "ниÑам могао да нађем датотеку навода %s\n"
+
+-#: collect2.c:1583
++#: collect2.c:1597
+ #, fuzzy, c-format
+ msgid "could not close response file %s"
+ msgstr "ниÑам могао да нађем датотеку навода %s\n"
+
+-#: collect2.c:1601
++#: collect2.c:1615
+ #, c-format
+ msgid "[cannot find %s]"
+ msgstr "[не могу да нађем %s]"
+
+-#: collect2.c:1616
++#: collect2.c:1630
+ #, c-format
+ msgid "cannot find '%s'"
+ msgstr "не могу да нађем ‘%s’"
+
+-#: collect2.c:1620 collect2.c:2112 collect2.c:2267 gcc.c:2978
++#: collect2.c:1634 collect2.c:2126 collect2.c:2281 gcc.c:2974
+ #, c-format
+ msgid "pex_init failed"
+ msgstr "pex_init није прошло"
+
+-#: collect2.c:1658
++#: collect2.c:1672
+ #, c-format
+ msgid "[Leaving %s]\n"
+ msgstr "[Ðапуштам %s]\n"
+
+-#: collect2.c:1878
++#: collect2.c:1892
+ #, c-format
+ msgid ""
+ "\n"
+@@ -584,32 +584,32 @@
+ "\n"
+ "write_c_file - излазно име је %s, Ð¿Ñ€ÐµÑ„Ð¸ÐºÑ Ñ˜Ðµ %s\n"
+
+-#: collect2.c:2086
++#: collect2.c:2100
+ #, c-format
+ msgid "cannot find 'nm'"
+ msgstr "не могу да нађем ‘nm’"
+
+-#: collect2.c:2133
++#: collect2.c:2147
+ #, c-format
+ msgid "can't open nm output"
+ msgstr "не могу да отворим излаз из nm"
+
+-#: collect2.c:2177
++#: collect2.c:2191
+ #, c-format
+ msgid "init function found in object %s"
+ msgstr "функција init нађена у објекту %s"
+
+-#: collect2.c:2185
++#: collect2.c:2199
+ #, c-format
+ msgid "fini function found in object %s"
+ msgstr "функција fini нађена у објекту %s"
+
+-#: collect2.c:2288
++#: collect2.c:2302
+ #, c-format
+ msgid "can't open ldd output"
+ msgstr "не могу да отворим излаз из ldd"
+
+-#: collect2.c:2291
++#: collect2.c:2305
+ #, c-format
+ msgid ""
+ "\n"
+@@ -618,27 +618,27 @@
+ "\n"
+ "излаз из ldd Ñа конÑтрукторима/деÑтрукторима.\n"
+
+-#: collect2.c:2306
++#: collect2.c:2320
+ #, c-format
+ msgid "dynamic dependency %s not found"
+ msgstr "динамичка завиÑноÑÑ‚ %s није нађена"
+
+-#: collect2.c:2318
++#: collect2.c:2332
+ #, c-format
+ msgid "unable to open dynamic dependency '%s'"
+ msgstr "не могу да отворим динамичку завиÑноÑÑ‚ ‘%s’"
+
+-#: collect2.c:2474
++#: collect2.c:2488
+ #, c-format
+ msgid "%s: not a COFF file"
+ msgstr "%s: није КОФФ датотека"
+
+-#: collect2.c:2594
++#: collect2.c:2608
+ #, c-format
+ msgid "%s: cannot open as COFF file"
+ msgstr "%s: не могу да отворим као КОФФ датотеку"
+
+-#: collect2.c:2652
++#: collect2.c:2666
+ #, c-format
+ msgid "library lib%s not found"
+ msgstr "библиотека lib%s није нађена"
+@@ -688,40 +688,40 @@
+ msgid "negative insn length"
+ msgstr "негативна дужина ије"
+
+-#: final.c:2609
++#: final.c:2615
+ msgid "could not split insn"
+ msgstr "ниÑам могао да поделим ију"
+
+-#: final.c:2979
++#: final.c:2992
+ msgid "invalid 'asm': "
+ msgstr "неиÑправна ‘asm’: "
+
+-#: final.c:3162
++#: final.c:3175
+ #, c-format
+ msgid "nested assembly dialect alternatives"
+ msgstr "алтернативе дијалекта угњежденог аÑемблера"
+
+-#: final.c:3179 final.c:3191
++#: final.c:3192 final.c:3204
+ #, c-format
+ msgid "unterminated assembly dialect alternative"
+ msgstr "неодређена алтернатива дијалекта аÑемблера"
+
+-#: final.c:3238
++#: final.c:3251
+ #, c-format
+ msgid "operand number missing after %%-letter"
+ msgstr "број операнда недоÑтаје поÑле %%-Ñлова"
+
+-#: final.c:3241 final.c:3282
++#: final.c:3254 final.c:3295
+ #, c-format
+ msgid "operand number out of range"
+ msgstr "број операнда изван опÑега"
+
+-#: final.c:3301
++#: final.c:3314
+ #, c-format
+ msgid "invalid %%-code"
+ msgstr "неиÑправан %%-код"
+
+-#: final.c:3331
++#: final.c:3344
+ #, c-format
+ msgid "'%%l' operand isn't a label"
+ msgstr "операнд уз ‘%%l’ није етикета"
+@@ -732,13 +732,13 @@
+ #. handle them.
+ #. We can't handle floating point constants;
+ #. PRINT_OPERAND must handle them.
+-#: final.c:3433 vmsdbgout.c:487 config/i386/i386.c:8143
++#: final.c:3446 vmsdbgout.c:487 config/i386/i386.c:8198
+ #: config/pdp11/pdp11.c:1704
+ #, c-format
+ msgid "floating constant misused"
+ msgstr "лоша употреба реалне конÑтанте"
+
+-#: final.c:3493 vmsdbgout.c:544 config/i386/i386.c:8224
++#: final.c:3507 vmsdbgout.c:544 config/i386/i386.c:8279
+ #: config/pdp11/pdp11.c:1751
+ #, c-format
+ msgid "invalid expression as operand"
+@@ -749,7 +749,7 @@
+ msgid "Using built-in specs.\n"
+ msgstr "КориÑтим уграђене наводе.\n"
+
+-#: gcc.c:1887
++#: gcc.c:1883
+ #, c-format
+ msgid ""
+ "Setting spec %s to '%s'\n"
+@@ -758,42 +758,42 @@
+ "ПоÑтављам навод %s на '%s'\n"
+ "\n"
+
+-#: gcc.c:2002
++#: gcc.c:1998
+ #, c-format
+ msgid "Reading specs from %s\n"
+ msgstr "Читам наводе из %s\n"
+
+-#: gcc.c:2098 gcc.c:2117
++#: gcc.c:2094 gcc.c:2113
+ #, c-format
+ msgid "specs %%include syntax malformed after %ld characters"
+ msgstr "наводи: %%include ÑинтакÑа лоше формирана поÑле %ld знакова"
+
+-#: gcc.c:2125
++#: gcc.c:2121
+ #, c-format
+ msgid "could not find specs file %s\n"
+ msgstr "ниÑам могао да нађем датотеку навода %s\n"
+
+-#: gcc.c:2142 gcc.c:2150 gcc.c:2159 gcc.c:2168
++#: gcc.c:2138 gcc.c:2146 gcc.c:2155 gcc.c:2164
+ #, c-format
+ msgid "specs %%rename syntax malformed after %ld characters"
+ msgstr "наводи: %%rename ÑинтакÑа лоше формирана поÑле %ld знакова"
+
+-#: gcc.c:2177
++#: gcc.c:2173
+ #, c-format
+ msgid "specs %s spec was not found to be renamed"
+ msgstr "наводи: није утврђено да је навод %s преименован"
+
+-#: gcc.c:2184
++#: gcc.c:2180
+ #, c-format
+ msgid "%s: attempt to rename spec '%s' to already defined spec '%s'"
+ msgstr "%s: покушај преименовања навода ‘%s’ у већ дефиниÑан навод ‘%s’"
+
+-#: gcc.c:2189
++#: gcc.c:2185
+ #, c-format
+ msgid "rename spec %s to %s\n"
+ msgstr "преименуј навод %s у %s\n"
+
+-#: gcc.c:2191
++#: gcc.c:2187
+ #, c-format
+ msgid ""
+ "spec is '%s'\n"
+@@ -802,37 +802,37 @@
+ "навод је ‘%s’\n"
+ "\n"
+
+-#: gcc.c:2204
++#: gcc.c:2200
+ #, c-format
+ msgid "specs unknown %% command after %ld characters"
+ msgstr "наводи: непозната %% наредба поÑле %ld знакова"
+
+-#: gcc.c:2215 gcc.c:2228
++#: gcc.c:2211 gcc.c:2224
+ #, c-format
+ msgid "specs file malformed after %ld characters"
+ msgstr "датотека навода лоше формирана поÑле %ld знакова"
+
+-#: gcc.c:2281
++#: gcc.c:2277
+ #, c-format
+ msgid "spec file has no spec for linking"
+ msgstr "датотека навода нема навод за повезивање"
+
+-#: gcc.c:2609 gcc.c:4751
++#: gcc.c:2605 gcc.c:4745
+ #, c-format
+ msgid "%s\n"
+ msgstr "%s\n"
+
+-#: gcc.c:2809
++#: gcc.c:2805
+ #, c-format
+ msgid "system path '%s' is not absolute"
+ msgstr "ÑиÑтемÑка путања ‘%s’ није апÑолутна"
+
+-#: gcc.c:2872
++#: gcc.c:2868
+ #, c-format
+ msgid "-pipe not supported"
+ msgstr "-pipe није подржано"
+
+-#: gcc.c:2934
++#: gcc.c:2930
+ #, c-format
+ msgid ""
+ "\n"
+@@ -841,15 +841,15 @@
+ "\n"
+ "ÐаÑтавити? (y или n) "
+
+-#: gcc.c:3017
++#: gcc.c:3013
+ msgid "failed to get exit status"
+ msgstr "ниÑам уÑпео да добавим излазни ÑтатуÑ"
+
+-#: gcc.c:3023
++#: gcc.c:3019
+ msgid "failed to get process times"
+ msgstr "ниÑам уÑпео да добавим времена процеÑа"
+
+-#: gcc.c:3049
++#: gcc.c:3045
+ #, c-format
+ msgid ""
+ "Internal error: %s (program %s)\n"
+@@ -860,80 +860,80 @@
+ "Молимо поднеÑите пун извештај о грешци.\n"
+ "Погледајте %s за упутÑтва."
+
+-#: gcc.c:3075
++#: gcc.c:3071
+ #, c-format
+ msgid "# %s %.2f %.2f\n"
+ msgstr "# %s %.2f %.2f\n"
+
+-#: gcc.c:3211
++#: gcc.c:3205
+ #, c-format
+ msgid "Usage: %s [options] file...\n"
+ msgstr "Употреба: %s [опције] датотека...\n"
+
+-#: gcc.c:3212
++#: gcc.c:3206
+ msgid "Options:\n"
+ msgstr "Опције:\n"
+
+-#: gcc.c:3214
++#: gcc.c:3208
+ msgid " -pass-exit-codes Exit with highest error code from a phase\n"
+ msgstr " -pass-exit-codes Изађи Ñа највишим кодом грешке из фазе\n"
+
+-#: gcc.c:3215
++#: gcc.c:3209
+ msgid " --help Display this information\n"
+ msgstr " --help Прикажи ове информације\n"
+
+-#: gcc.c:3216
++#: gcc.c:3210
+ msgid " --target-help Display target specific command line options\n"
+ msgstr " --target-help Прикажи опције командне линије поÑебне за циљ\n"
+
+-#: gcc.c:3217
++#: gcc.c:3211
+ msgid " --help={target|optimizers|warnings|undocumented|params}[,{[^]joined|[^]separate}]\n"
+ msgstr ""
+
+-#: gcc.c:3218
++#: gcc.c:3212
+ #, fuzzy
+ msgid " Display specific types of command line options\n"
+ msgstr " --target-help Прикажи опције командне линије поÑебне за циљ\n"
+
+-#: gcc.c:3220
++#: gcc.c:3214
+ msgid " (Use '-v --help' to display command line options of sub-processes)\n"
+ msgstr " (Употребите „-v --help“ за приказ опција командне линије потпроцеÑâ)\n"
+
+-#: gcc.c:3221
++#: gcc.c:3215
+ msgid " -dumpspecs Display all of the built in spec strings\n"
+ msgstr " -dumpspecs Прикажи Ñве уграђене ниÑке навода\n"
+
+-#: gcc.c:3222
++#: gcc.c:3216
+ msgid " -dumpversion Display the version of the compiler\n"
+ msgstr " -dumpversion Прикажи верзију компилатора\n"
+
+-#: gcc.c:3223
++#: gcc.c:3217
+ msgid " -dumpmachine Display the compiler's target processor\n"
+ msgstr " -dumpmachine Прикажи компилаторов циљни процеÑор\n"
+
+-#: gcc.c:3224
++#: gcc.c:3218
+ msgid " -print-search-dirs Display the directories in the compiler's search path\n"
+ msgstr ""
+ " -print-search-dirs Прикажи директоријуме у компилаторовој путањи\n"
+ " тражења\n"
+
+-#: gcc.c:3225
++#: gcc.c:3219
+ msgid " -print-libgcc-file-name Display the name of the compiler's companion library\n"
+ msgstr " -print-libgcc-file-name Прикажи име придружене библиотеке компилатора\n"
+
+-#: gcc.c:3226
++#: gcc.c:3220
+ msgid " -print-file-name=<lib> Display the full path to library <lib>\n"
+ msgstr " -print-file-name=<биб> Прикажу пуну путању до библиотеке <биб>\n"
+
+-#: gcc.c:3227
++#: gcc.c:3221
+ msgid " -print-prog-name=<prog> Display the full path to compiler component <prog>\n"
+ msgstr " -print-prog-name=<прог> Прикажи пуну путању до компоненте компилатора <прог>\n"
+
+-#: gcc.c:3228
++#: gcc.c:3222
+ msgid " -print-multi-directory Display the root directory for versions of libgcc\n"
+ msgstr " -print-multi-directory Прикажи корени директоријум за верзије libgcc\n"
+
+-#: gcc.c:3229
++#: gcc.c:3223
+ msgid ""
+ " -print-multi-lib Display the mapping between command line options and\n"
+ " multiple library search directories\n"
+@@ -941,63 +941,63 @@
+ " -print-multi-lib Прикажи мапирање између опција командне линије и\n"
+ " вишеÑтруких директоријума за тражење библиотека\n"
+
+-#: gcc.c:3232
++#: gcc.c:3226
+ msgid " -print-multi-os-directory Display the relative path to OS libraries\n"
+ msgstr " -print-multi-os-directory Прикажи релативну путању до библиотека ОСа\n"
+
+-#: gcc.c:3233
++#: gcc.c:3227
+ msgid " -print-sysroot-headers-suffix Display the sysroot suffix used to find headers\n"
+ msgstr ""
+
+-#: gcc.c:3234
++#: gcc.c:3228
+ msgid " -Wa,<options> Pass comma-separated <options> on to the assembler\n"
+ msgstr " -Wa,<опције> ПроÑледи зарезима раздвојене <опције> аÑемблеру\n"
+
+-#: gcc.c:3235
++#: gcc.c:3229
+ msgid " -Wp,<options> Pass comma-separated <options> on to the preprocessor\n"
+ msgstr " -Wp,<опције> ПроÑледи зарезима раздвојене <опције> предобрађивачу\n"
+
+-#: gcc.c:3236
++#: gcc.c:3230
+ msgid " -Wl,<options> Pass comma-separated <options> on to the linker\n"
+ msgstr " -Wl,<опције> ПроÑледи зарезима раздвојене <опције> повезивачу\n"
+
+-#: gcc.c:3237
++#: gcc.c:3231
+ msgid " -Xassembler <arg> Pass <arg> on to the assembler\n"
+ msgstr " -Xassembler <арг> ПроÑледи <арг> аÑемблеру\n"
+
+-#: gcc.c:3238
++#: gcc.c:3232
+ msgid " -Xpreprocessor <arg> Pass <arg> on to the preprocessor\n"
+ msgstr " -Xpreprocessor <арг> ПроÑледи <арг> предобрађивачу\n"
+
+-#: gcc.c:3239
++#: gcc.c:3233
+ msgid " -Xlinker <arg> Pass <arg> on to the linker\n"
+ msgstr " -Xlinker <арг> ПроÑледи <арг> повезивачу\n"
+
+-#: gcc.c:3240
++#: gcc.c:3234
+ msgid " -combine Pass multiple source files to compiler at once\n"
+ msgstr " -combine ПроÑледи одједном више изворних датотека компилатору\n"
+
+-#: gcc.c:3241
++#: gcc.c:3235
+ msgid " -save-temps Do not delete intermediate files\n"
+ msgstr " -save-temps Ðе бриши међудатотеке\n"
+
+-#: gcc.c:3242
++#: gcc.c:3236
+ msgid " -pipe Use pipes rather than intermediate files\n"
+ msgstr " -pipe КориÑти цеви пре него међудатотеке\n"
+
+-#: gcc.c:3243
++#: gcc.c:3237
+ msgid " -time Time the execution of each subprocess\n"
+ msgstr " -time Мери време извршавања Ñваког потпроцеÑа\n"
+
+-#: gcc.c:3244
++#: gcc.c:3238
+ msgid " -specs=<file> Override built-in specs with the contents of <file>\n"
+ msgstr " -specs=<датотека> ПотиÑни уграђене наводе Ñадржајем <датотеке>\n"
+
+-#: gcc.c:3245
++#: gcc.c:3239
+ msgid " -std=<standard> Assume that the input sources are for <standard>\n"
+ msgstr " -std=<Ñтандард> ПретпоÑтави да Ñу улазни извори по датом <Ñтандарду>\n"
+
+-#: gcc.c:3246
++#: gcc.c:3240
+ msgid ""
+ " --sysroot=<directory> Use <directory> as the root directory for headers\n"
+ " and libraries\n"
+@@ -1005,47 +1005,47 @@
+ " --sysroot=<директоријум> КориÑти <директоријум> као корени директоријум за\n"
+ " заглавља и библиотеке\n"
+
+-#: gcc.c:3249
++#: gcc.c:3243
+ msgid " -B <directory> Add <directory> to the compiler's search paths\n"
+ msgstr " -B <директоријум> Додај <директоријум> у компилаторове путање тражења\n"
+
+-#: gcc.c:3250
++#: gcc.c:3244
+ msgid " -b <machine> Run gcc for target <machine>, if installed\n"
+ msgstr " -b <машина> Изврши gcc за циљну <машину>, ако је инÑталиран\n"
+
+-#: gcc.c:3251
++#: gcc.c:3245
+ msgid " -V <version> Run gcc version number <version>, if installed\n"
+ msgstr " -V <верзија> Изврши gcc дате <верзије>, ако је инÑталирана\n"
+
+-#: gcc.c:3252
++#: gcc.c:3246
+ msgid " -v Display the programs invoked by the compiler\n"
+ msgstr " -v Прикажи програме које компилатор позива\n"
+
+-#: gcc.c:3253
++#: gcc.c:3247
+ msgid " -### Like -v but options quoted and commands not executed\n"
+ msgstr ""
+ " -### Као -v али Ñу опције цитиране и наредбе Ñе не\n"
+ " извршавају\n"
+
+-#: gcc.c:3254
++#: gcc.c:3248
+ msgid " -E Preprocess only; do not compile, assemble or link\n"
+ msgstr ""
+ " -E Само предобрада; без компиловања, ÑаÑтављања и\n"
+ " повезивања\n"
+
+-#: gcc.c:3255
++#: gcc.c:3249
+ msgid " -S Compile only; do not assemble or link\n"
+ msgstr " -S Само компиловање; без ÑаÑтављања или повезивања\n"
+
+-#: gcc.c:3256
++#: gcc.c:3250
+ msgid " -c Compile and assemble, but do not link\n"
+ msgstr " -c Компиловање и ÑаÑтављање, али без повезивања\n"
+
+-#: gcc.c:3257
++#: gcc.c:3251
+ msgid " -o <file> Place the output into <file>\n"
+ msgstr " -o <датотека> СмеÑти излаз у <датотеку>\n"
+
+-#: gcc.c:3258
++#: gcc.c:3252
+ msgid ""
+ " -x <language> Specify the language of the following input files\n"
+ " Permissible languages include: c c++ assembler none\n"
+@@ -1057,7 +1057,7 @@
+ " ‘none’ значи враћање на подразумевано понашање,\n"
+ " погађање језика на оÑнову наÑтавка датотеке\n"
+
+-#: gcc.c:3265
++#: gcc.c:3259
+ #, c-format
+ msgid ""
+ "\n"
+@@ -1070,27 +1070,27 @@
+ "проÑлеђују разним потпроцеÑима које Ñазива %s. Да би Ñе тим процеÑима\n"
+ "проÑледиле друге опције, мора Ñе употребити -W<Ñлово>.\n"
+
+-#: gcc.c:3389
++#: gcc.c:3383
+ #, c-format
+ msgid "'-%c' option must have argument"
+ msgstr "Опција ‘-%c’ мора имати аргумент"
+
+-#: gcc.c:3411
++#: gcc.c:3405
+ #, c-format
+ msgid "couldn't run '%s': %s"
+ msgstr "не могу да извршим ‘%s’: %s"
+
+ #. translate_options () has turned --version into -fversion.
+-#: gcc.c:3612
++#: gcc.c:3606
+ #, fuzzy, c-format
+ msgid "%s %s%s\n"
+ msgstr "%s ‘%s’\n"
+
+-#: gcc.c:3615 gcov.c:426 fortran/gfortranspec.c:380 java/jcf-dump.c:1168
++#: gcc.c:3609 gcov.c:427 fortran/gfortranspec.c:380 java/jcf-dump.c:1168
+ msgid "(C)"
+ msgstr "©"
+
+-#: gcc.c:3616 java/jcf-dump.c:1169
++#: gcc.c:3610 java/jcf-dump.c:1169
+ #, c-format
+ msgid ""
+ "This is free software; see the source for copying conditions. There is NO\n"
+@@ -1101,160 +1101,160 @@
+ "ГÐРÐÐЦИЈЕ; чак ни за КОМЕРЦИЈÐЛÐУ ВРЕДÐОСТ или ИСПУЊÐÐ’ÐЊЕ ОДРЕЂЕÐЕ ПОТРЕБЕ.\n"
+ "\n"
+
+-#: gcc.c:3728
++#: gcc.c:3722
+ #, c-format
+ msgid "argument to '-Xlinker' is missing"
+ msgstr "недоÑтаје аргумент за ‘-Xlinker’"
+
+-#: gcc.c:3736
++#: gcc.c:3730
+ #, c-format
+ msgid "argument to '-Xpreprocessor' is missing"
+ msgstr "недоÑтаје аргумент за ‘-Xpreprocessor’"
+
+-#: gcc.c:3743
++#: gcc.c:3737
+ #, c-format
+ msgid "argument to '-Xassembler' is missing"
+ msgstr "недоÑтаје аргумент за ‘-Xassembler’"
+
+-#: gcc.c:3750
++#: gcc.c:3744
+ #, c-format
+ msgid "argument to '-l' is missing"
+ msgstr "недоÑтаје аргумент за ‘-l’"
+
+-#: gcc.c:3771
++#: gcc.c:3765
+ #, c-format
+ msgid "argument to '-specs' is missing"
+ msgstr "недоÑтаје аргумент за ‘-specs’"
+
+-#: gcc.c:3785
++#: gcc.c:3779
+ #, c-format
+ msgid "argument to '-specs=' is missing"
+ msgstr "недоÑтаје аргумент за ‘-specs=’"
+
+-#: gcc.c:3826
++#: gcc.c:3820
+ #, c-format
+ msgid "'-%c' must come at the start of the command line"
+ msgstr "‘-%c’ Ñе мора наћи на почетку командне линије"
+
+-#: gcc.c:3835
++#: gcc.c:3829
+ #, c-format
+ msgid "argument to '-B' is missing"
+ msgstr "недоÑтаје аргумент за ‘-B’"
+
+-#: gcc.c:4185
++#: gcc.c:4179
+ #, c-format
+ msgid "argument to '-x' is missing"
+ msgstr "недоÑтаје аргумент за ‘-x’"
+
+-#: gcc.c:4213
++#: gcc.c:4207
+ #, c-format
+ msgid "argument to '-%s' is missing"
+ msgstr "недоÑтаје аргумент за ‘-%s’"
+
+-#: gcc.c:4541
++#: gcc.c:4535
+ #, c-format
+ msgid "switch '%s' does not start with '-'"
+ msgstr "прекидач ‘%s’ не почиње Ñа ‘-’"
+
+-#: gcc.c:4685
++#: gcc.c:4679
+ #, c-format
+ msgid "spec '%s' invalid"
+ msgstr "неиÑправан навод ‘%s’"
+
+-#: gcc.c:4824
++#: gcc.c:4818
+ #, c-format
+ msgid "spec '%s' has invalid '%%0%c'"
+ msgstr "навод ‘%s’ има неиÑправно ‘%%0%c’"
+
+-#: gcc.c:5053
++#: gcc.c:5047
+ #, fuzzy, c-format
+ msgid "could not open temporary response file %s"
+ msgstr "ниÑам могао да отворим датотеку попиÑа %qs: %s"
+
+-#: gcc.c:5059
++#: gcc.c:5053
+ #, fuzzy, c-format
+ msgid "could not write to temporary response file %s"
+ msgstr "не могу да направим привремену датотеку"
+
+-#: gcc.c:5065
++#: gcc.c:5059
+ #, fuzzy, c-format
+ msgid "could not close temporary response file %s"
+ msgstr "не могу да направим привремену датотеку"
+
+-#: gcc.c:5099
++#: gcc.c:5093
+ #, c-format
+ msgid "spec '%s' has invalid '%%W%c"
+ msgstr "навод ‘%s’ има неиÑправно ‘%%W%c’"
+
+-#: gcc.c:5119
++#: gcc.c:5113
+ #, c-format
+ msgid "spec '%s' has invalid '%%x%c'"
+ msgstr "навод ‘%s’ има неиÑправно ‘%%x%c’"
+
+-#: gcc.c:5341
++#: gcc.c:5335
+ #, c-format
+ msgid "Processing spec %c%s%c, which is '%s'\n"
+ msgstr "Обрађујем навод %c%s%c, који је ‘%s’\n"
+
+-#: gcc.c:5465
++#: gcc.c:5459
+ #, c-format
+ msgid "unknown spec function '%s'"
+ msgstr "непозната функција навода ‘%s’"
+
+-#: gcc.c:5484
++#: gcc.c:5478
+ #, c-format
+ msgid "error in args to spec function '%s'"
+ msgstr "грешка у аргументима за функцију навода ‘%s’"
+
+-#: gcc.c:5532
++#: gcc.c:5526
+ #, c-format
+ msgid "malformed spec function name"
+ msgstr "лоше формирано име функције навода"
+
+ #. )
+-#: gcc.c:5535
++#: gcc.c:5529
+ #, c-format
+ msgid "no arguments for spec function"
+ msgstr "нема аргумената за функцију навода"
+
+-#: gcc.c:5554
++#: gcc.c:5548
+ #, c-format
+ msgid "malformed spec function arguments"
+ msgstr "лоше формирани аргументи функције навода"
+
+-#: gcc.c:5800
++#: gcc.c:5794
+ #, c-format
+ msgid "braced spec '%s' is invalid at '%c'"
+ msgstr "навод ‘%s’ у витичаÑтим заградама није иÑправан код ‘%c’"
+
+-#: gcc.c:5888
++#: gcc.c:5882
+ #, c-format
+ msgid "braced spec body '%s' is invalid"
+ msgstr "тело навода ‘%s’ у витичаÑтим заградама није иÑправно"
+
+-#: gcc.c:6421
++#: gcc.c:6420
+ #, c-format
+ msgid "install: %s%s\n"
+ msgstr "инÑталирање: %s%s\n"
+
+-#: gcc.c:6424
++#: gcc.c:6423
+ #, c-format
+ msgid "programs: %s\n"
+ msgstr "програми: %s\n"
+
+-#: gcc.c:6426
++#: gcc.c:6425
+ #, c-format
+ msgid "libraries: %s\n"
+ msgstr "библиотеке: %s\n"
+
+ #. The error status indicates that only one set of fixed
+ #. headers should be built.
+-#: gcc.c:6480
++#: gcc.c:6479
+ #, c-format
+ msgid "not configured with sysroot headers suffix"
+ msgstr ""
+
+-#: gcc.c:6489
++#: gcc.c:6488
+ #, c-format
+ msgid ""
+ "\n"
+@@ -1263,47 +1263,47 @@
+ "\n"
+ "За упутÑтва за пријављивање грешака, погледајте:\n"
+
+-#: gcc.c:6505
++#: gcc.c:6504
+ #, c-format
+ msgid "Target: %s\n"
+ msgstr "Циљ: %s\n"
+
+-#: gcc.c:6506
++#: gcc.c:6505
+ #, c-format
+ msgid "Configured with: %s\n"
+ msgstr "КонфигуриÑано помоћу: %s\n"
+
+-#: gcc.c:6520
++#: gcc.c:6519
+ #, c-format
+ msgid "Thread model: %s\n"
+ msgstr "Ðитни модел: %s\n"
+
+-#: gcc.c:6531
++#: gcc.c:6530
+ #, fuzzy, c-format
+ msgid "gcc version %s %s\n"
+ msgstr "gcc верзија %s\n"
+
+-#: gcc.c:6533
++#: gcc.c:6532
+ #, fuzzy, c-format
+ msgid "gcc driver version %s %sexecuting gcc version %s\n"
+ msgstr "gcc драјвер верзије %s извршава gcc верзију %s\n"
+
+-#: gcc.c:6541
++#: gcc.c:6540
+ #, c-format
+ msgid "no input files"
+ msgstr "нема улазних датотека"
+
+-#: gcc.c:6590
++#: gcc.c:6589
+ #, c-format
+ msgid "cannot specify -o with -c or -S with multiple files"
+ msgstr "не може Ñе задати -o Ñа -c или -S кад има више датотека"
+
+-#: gcc.c:6624
++#: gcc.c:6623
+ #, c-format
+ msgid "spec '%s' is invalid"
+ msgstr "навод ‘%s’ није иÑправан"
+
+-#: gcc.c:6760
++#: gcc.c:6759
+ #, c-format
+ msgid ""
+ "\n"
+@@ -1312,59 +1312,59 @@
+ "\n"
+ msgstr ""
+
+-#: gcc.c:6761
++#: gcc.c:6760
+ #, c-format
+ msgid ""
+ "Use \"-Wl,OPTION\" to pass \"OPTION\" to the linker.\n"
+ "\n"
+ msgstr ""
+
+-#: gcc.c:7112
++#: gcc.c:7111
+ #, c-format
+ msgid "multilib spec '%s' is invalid"
+ msgstr "вишебиб. навод ‘%s’ није иÑправан"
+
+-#: gcc.c:7303
++#: gcc.c:7302
+ #, c-format
+ msgid "multilib exclusions '%s' is invalid"
+ msgstr "вишебиб. иÑкључење ‘%s’ није иÑправно"
+
+-#: gcc.c:7361 gcc.c:7502
++#: gcc.c:7360 gcc.c:7501
+ #, c-format
+ msgid "multilib select '%s' is invalid"
+ msgstr "вишебиб. избор ‘%s’ није иÑправан"
+
+-#: gcc.c:7540
++#: gcc.c:7539
+ #, c-format
+ msgid "multilib exclusion '%s' is invalid"
+ msgstr "вишебиб. иÑкључење ‘%s’ није иÑправно"
+
+-#: gcc.c:7746
++#: gcc.c:7745
+ #, fuzzy, c-format
+ msgid "environment variable \"%s\" not defined"
+ msgstr "променљива окружења DJGPP није дефиниÑана"
+
+-#: gcc.c:7837 gcc.c:7842
++#: gcc.c:7836 gcc.c:7841
+ #, c-format
+ msgid "invalid version number `%s'"
+ msgstr "неиÑправан број верзије ‘%s’"
+
+-#: gcc.c:7885
++#: gcc.c:7884
+ #, c-format
+ msgid "too few arguments to %%:version-compare"
+ msgstr "премало аргумената за %%:version-compare"
+
+-#: gcc.c:7891
++#: gcc.c:7890
+ #, c-format
+ msgid "too many arguments to %%:version-compare"
+ msgstr "премало аргумената за %%:version-compare"
+
+-#: gcc.c:7932
++#: gcc.c:7931
+ #, c-format
+ msgid "unknown operator '%s' in %%:version-compare"
+ msgstr "непознате оператор ‘%s’ у %%:version-compare"
+
+-#: gcc.c:7966
++#: gcc.c:7965
+ #, c-format
+ msgid ""
+ "Assembler options\n"
+@@ -1372,14 +1372,14 @@
+ "\n"
+ msgstr ""
+
+-#: gcc.c:7967
++#: gcc.c:7966
+ #, c-format
+ msgid ""
+ "Use \"-Wa,OPTION\" to pass \"OPTION\" to the assembler.\n"
+ "\n"
+ msgstr ""
+
+-#: gcov.c:399
++#: gcov.c:400
+ #, fuzzy, c-format
+ msgid ""
+ "Usage: gcov [OPTION]... SOURCEFILE...\n"
+@@ -1388,7 +1388,7 @@
+ "Употреба: gcov [ОПЦИЈÐ]... ИЗВОРÐÐ_ДÐТОТЕКÐ\n"
+ "\n"
+
+-#: gcov.c:400
++#: gcov.c:401
+ #, c-format
+ msgid ""
+ "Print code coverage information.\n"
+@@ -1397,27 +1397,27 @@
+ "ИÑпиши податке о покривеноÑти кôда.\n"
+ "\n"
+
+-#: gcov.c:401
++#: gcov.c:402
+ #, c-format
+ msgid " -h, --help Print this help, then exit\n"
+ msgstr " -h, --help ИÑпиши ову помоћ, затим изађи\n"
+
+-#: gcov.c:402
++#: gcov.c:403
+ #, c-format
+ msgid " -v, --version Print version number, then exit\n"
+ msgstr " -v, --version ИÑпиши број верзије, затим изађи\n"
+
+-#: gcov.c:403
++#: gcov.c:404
+ #, c-format
+ msgid " -a, --all-blocks Show information for every basic block\n"
+ msgstr " -a, --all-blocks Прикажи податке за Ñваки оÑновни блок\n"
+
+-#: gcov.c:404
++#: gcov.c:405
+ #, c-format
+ msgid " -b, --branch-probabilities Include branch probabilities in output\n"
+ msgstr " -b, --branch-probabilities Укључи вероватноће гранања у излаз\n"
+
+-#: gcov.c:405
++#: gcov.c:406
+ #, c-format
+ msgid ""
+ " -c, --branch-counts Given counts of branches taken\n"
+@@ -1426,12 +1426,12 @@
+ " -c, --branch-counts Дати збирови извршених гранања\n"
+ " пре него проценти\n"
+
+-#: gcov.c:407
++#: gcov.c:408
+ #, c-format
+ msgid " -n, --no-output Do not create an output file\n"
+ msgstr " -n, --no-output Ðе прави излазну датотеку\n"
+
+-#: gcov.c:408
++#: gcov.c:409
+ #, c-format
+ msgid ""
+ " -l, --long-file-names Use long output file names for included\n"
+@@ -1440,29 +1440,29 @@
+ " -l, --long-file-names КориÑти дуга излазна имена датотека за\n"
+ " изворне датотеке\n"
+
+-#: gcov.c:410
++#: gcov.c:411
+ #, c-format
+ msgid " -f, --function-summaries Output summaries for each function\n"
+ msgstr " -f, --function-summaries ИÑпиши Ñажетке за Ñваку функцију\n"
+
+-#: gcov.c:411
++#: gcov.c:412
+ #, c-format
+ msgid " -o, --object-directory DIR|FILE Search for object files in DIR or called FILE\n"
+ msgstr ""
+ " -o, --object-directory ДИР|ТЕКРТражи објектне датотеке у ДИРу или по\n"
+ " имену ТЕКÐ\n"
+
+-#: gcov.c:412
++#: gcov.c:413
+ #, c-format
+ msgid " -p, --preserve-paths Preserve all pathname components\n"
+ msgstr " -p, --preserve-paths Чувај Ñве делове путање\n"
+
+-#: gcov.c:413
++#: gcov.c:414
+ #, c-format
+ msgid " -u, --unconditional-branches Show unconditional branch counts too\n"
+ msgstr " -u, --unconditional-branches Прикажи и збирове безуÑловних гранања\n"
+
+-#: gcov.c:414
++#: gcov.c:415
+ #, c-format
+ msgid ""
+ "\n"
+@@ -1473,12 +1473,12 @@
+ "За упутÑтва за пријаву грешака, погледајте:\n"
+ "%s.\n"
+
+-#: gcov.c:424
++#: gcov.c:425
+ #, fuzzy, c-format
+ msgid "gcov %s%s\n"
+ msgstr "gcov (ГЦЦ) %s\n"
+
+-#: gcov.c:428
++#: gcov.c:429
+ #, c-format
+ msgid ""
+ "This is free software; see the source for copying conditions.\n"
+@@ -1490,206 +1490,206 @@
+ "ГÐРÐÐЦИЈЕ; чак ни за КОМЕРЦИЈÐЛÐУ ВРЕДÐОСТ или ИСПУЊÐÐ’ÐЊЕ ОДРЕЂЕÐЕ ПОТРЕБЕ.\n"
+ "\n"
+
+-#: gcov.c:524
++#: gcov.c:525
+ #, c-format
+ msgid "%s:no functions found\n"
+ msgstr "%s: ниједна функција није нађена\n"
+
+-#: gcov.c:556 gcov.c:584 fortran/dump-parse-tree.c:63
++#: gcov.c:557 gcov.c:585 fortran/dump-parse-tree.c:63
+ #, c-format
+ msgid "\n"
+ msgstr "\n"
+
+-#: gcov.c:571
++#: gcov.c:572
+ #, c-format
+ msgid "%s:creating '%s'\n"
+ msgstr "%s:правим ‘%s’\n"
+
+-#: gcov.c:575
++#: gcov.c:576
+ #, c-format
+ msgid "%s:error writing output file '%s'\n"
+ msgstr "%s:грешка при пиÑању у излазну датотеку ‘%s’\n"
+
+-#: gcov.c:580
++#: gcov.c:581
+ #, c-format
+ msgid "%s:could not open output file '%s'\n"
+ msgstr "%s:ниÑам могао да отворим излазну датотеку ‘%s’\n"
+
+-#: gcov.c:729
++#: gcov.c:730
+ #, c-format
+ msgid "%s:source file is newer than graph file '%s'\n"
+ msgstr "%s:изворна датотека је новија од датотеке графа ‘%s’\n"
+
+-#: gcov.c:734
++#: gcov.c:735
+ #, c-format
+ msgid "(the message is only displayed one per source file)\n"
+ msgstr ""
+
+-#: gcov.c:758
++#: gcov.c:759
+ #, c-format
+ msgid "%s:cannot open graph file\n"
+ msgstr "%s:не могу да отворим датотеку графа\n"
+
+-#: gcov.c:764
++#: gcov.c:765
+ #, c-format
+ msgid "%s:not a gcov graph file\n"
+ msgstr "%s:није датотека графа гкова\n"
+
+-#: gcov.c:777
++#: gcov.c:778
+ #, c-format
+ msgid "%s:version '%.4s', prefer '%.4s'\n"
+ msgstr "%s:верзија ‘%.4s’, боље је ‘%.4s’\n"
+
+-#: gcov.c:829
++#: gcov.c:830
+ #, c-format
+ msgid "%s:already seen blocks for '%s'\n"
+ msgstr "%s:већ виђени блокови за ‘%s’\n"
+
+-#: gcov.c:947
++#: gcov.c:948
+ #, c-format
+ msgid "%s:corrupted\n"
+ msgstr "%s:иÑкварено\n"
+
+-#: gcov.c:1023
++#: gcov.c:1024
+ #, c-format
+ msgid "%s:cannot open data file, assuming not executed\n"
+ msgstr "%s:не могу да отворим датотеку, претпоÑтављам да није било извршења\n"
+
+-#: gcov.c:1030
++#: gcov.c:1031
+ #, c-format
+ msgid "%s:not a gcov data file\n"
+ msgstr "%s: није датотека података гкова\n"
+
+-#: gcov.c:1043
++#: gcov.c:1044
+ #, c-format
+ msgid "%s:version '%.4s', prefer version '%.4s'\n"
+ msgstr "%s:верзија ‘%.4s’, боља је ‘%.4s’\n"
+
+-#: gcov.c:1049
++#: gcov.c:1050
+ #, c-format
+ msgid "%s:stamp mismatch with graph file\n"
+ msgstr "%s:неÑлагање печата Ñа датотеком графа\n"
+
+-#: gcov.c:1078
++#: gcov.c:1079
+ #, c-format
+ msgid "%s:unknown function '%u'\n"
+ msgstr "%s:непозната функција ‘%u’\n"
+
+-#: gcov.c:1091
++#: gcov.c:1092
+ #, c-format
+ msgid "%s:profile mismatch for '%s'\n"
+ msgstr "%s:неÑлагање профила за ‘%s’\n"
+
+-#: gcov.c:1110
++#: gcov.c:1111
+ #, c-format
+ msgid "%s:overflowed\n"
+ msgstr "%s:преливено\n"
+
+-#: gcov.c:1134
++#: gcov.c:1135
+ #, c-format
+ msgid "%s:'%s' lacks entry and/or exit blocks\n"
+ msgstr "%s:‘%s’ нема улазине и/или излазне блокове\n"
+
+-#: gcov.c:1139
++#: gcov.c:1140
+ #, c-format
+ msgid "%s:'%s' has arcs to entry block\n"
+ msgstr "%s:‘%s’ има лукове до улазног блока\n"
+
+-#: gcov.c:1147
++#: gcov.c:1148
+ #, c-format
+ msgid "%s:'%s' has arcs from exit block\n"
+ msgstr "%s:‘%s’ има лукове из излазног блока\n"
+
+-#: gcov.c:1355
++#: gcov.c:1356
+ #, c-format
+ msgid "%s:graph is unsolvable for '%s'\n"
+ msgstr "%s:граф је нерешив за ‘%s’\n"
+
+-#: gcov.c:1435
++#: gcov.c:1436
+ #, c-format
+ msgid "%s '%s'\n"
+ msgstr "%s ‘%s’\n"
+
+-#: gcov.c:1438
++#: gcov.c:1439
+ #, c-format
+ msgid "Lines executed:%s of %d\n"
+ msgstr "Извршено линија:%s од %d\n"
+
+-#: gcov.c:1442
++#: gcov.c:1443
+ #, c-format
+ msgid "No executable lines\n"
+ msgstr "Ðема извршивих линија\n"
+
+-#: gcov.c:1448
++#: gcov.c:1449
+ #, c-format
+ msgid "Branches executed:%s of %d\n"
+ msgstr "Извршених гранања:%s од %d\n"
+
+-#: gcov.c:1452
++#: gcov.c:1453
+ #, c-format
+ msgid "Taken at least once:%s of %d\n"
+ msgstr "Извршених бар једном:%s од %d\n"
+
+-#: gcov.c:1458
++#: gcov.c:1459
+ #, c-format
+ msgid "No branches\n"
+ msgstr "Ðема гранања\n"
+
+-#: gcov.c:1460
++#: gcov.c:1461
+ #, c-format
+ msgid "Calls executed:%s of %d\n"
+ msgstr "Извршених позива:%s од %d\n"
+
+-#: gcov.c:1464
++#: gcov.c:1465
+ #, c-format
+ msgid "No calls\n"
+ msgstr "Ðема позива\n"
+
+-#: gcov.c:1611
++#: gcov.c:1612
+ #, c-format
+ msgid "%s:no lines for '%s'\n"
+ msgstr "%s:нема линија за ‘%s’\n"
+
+-#: gcov.c:1806
++#: gcov.c:1807
+ #, c-format
+ msgid "call %2d returned %s\n"
+ msgstr "позив %2d Ñе вратио %s\n"
+
+-#: gcov.c:1811
++#: gcov.c:1812
+ #, c-format
+ msgid "call %2d never executed\n"
+ msgstr "позив %2d никада није извршен\n"
+
+-#: gcov.c:1816
++#: gcov.c:1817
+ #, c-format
+ msgid "branch %2d taken %s%s\n"
+ msgstr "грана %2d извршена %s%s\n"
+
+-#: gcov.c:1820
++#: gcov.c:1821
+ #, c-format
+ msgid "branch %2d never executed\n"
+ msgstr "грана %2d никада није извршена\n"
+
+-#: gcov.c:1825
++#: gcov.c:1826
+ #, c-format
+ msgid "unconditional %2d taken %s\n"
+ msgstr "безуÑловни %2d извршен %s\n"
+
+-#: gcov.c:1828
++#: gcov.c:1829
+ #, c-format
+ msgid "unconditional %2d never executed\n"
+ msgstr "безуÑловни %2d никад није извршен\n"
+
+-#: gcov.c:1864
++#: gcov.c:1865
+ #, c-format
+ msgid "%s:cannot open source file\n"
+ msgstr "%s:не могу да отворим изворну датотеку\n"
+
+-#: gcse.c:685
++#: gcse.c:679
+ msgid "GCSE disabled"
+ msgstr "ГЦСЕ иÑкључен"
+
+-#: gcse.c:6600
++#: gcse.c:6584
+ msgid "jump bypassing disabled"
+ msgstr "заобилажење Ñкокова иÑкључено"
+
+@@ -1774,92 +1774,92 @@
+ msgid " inlined from %qs"
+ msgstr "complex неиÑправно за %qs"
+
+-#: loop-iv.c:2805 tree-ssa-loop-niter.c:1818
++#: loop-iv.c:2806 tree-ssa-loop-niter.c:1818
+ msgid "assuming that the loop is not infinite"
+ msgstr "под претпоÑтавком да петља није беÑконачна"
+
+-#: loop-iv.c:2806 tree-ssa-loop-niter.c:1819
++#: loop-iv.c:2807 tree-ssa-loop-niter.c:1819
+ msgid "cannot optimize possibly infinite loops"
+ msgstr "не могу да оптимизујем могуће беÑконачне петље"
+
+-#: loop-iv.c:2814 tree-ssa-loop-niter.c:1823
++#: loop-iv.c:2815 tree-ssa-loop-niter.c:1823
+ msgid "assuming that the loop counter does not overflow"
+ msgstr "под претпоÑтавком да Ñе бројач петље не прелива"
+
+-#: loop-iv.c:2815 tree-ssa-loop-niter.c:1824
++#: loop-iv.c:2816 tree-ssa-loop-niter.c:1824
+ msgid "cannot optimize loop, the loop counter may overflow"
+ msgstr "не могу да оптимизујем петљу, бројач петље Ñе може прелити"
+
+ #. What to print when a switch has no documentation.
+-#: opts.c:348
++#: opts.c:340
+ msgid "This switch lacks documentation"
+ msgstr "Овом прекидачу недоÑтаје документација"
+
+-#: opts.c:1159
++#: opts.c:1161
+ msgid "[enabled]"
+ msgstr ""
+
+-#: opts.c:1159
++#: opts.c:1161
+ #, fuzzy
+ msgid "[disabled]"
+ msgstr "ГЦСЕ иÑкључен"
+
+-#: opts.c:1170
++#: opts.c:1172
+ #, c-format
+ msgid " No options with the desired characteristics were found\n"
+ msgstr ""
+
+-#: opts.c:1172
++#: opts.c:1174
+ #, c-format
+ msgid " All options with the desired characteristics have already been displayed\n"
+ msgstr ""
+
+-#: opts.c:1226
++#: opts.c:1228
+ #, fuzzy
+ msgid "The following options are target specific"
+ msgstr "Следеће опције не завиÑе од језика:\n"
+
+-#: opts.c:1229
++#: opts.c:1231
+ #, fuzzy
+ msgid "The following options control compiler warning messages"
+ msgstr "Следеће опције не завиÑе од језика:\n"
+
+-#: opts.c:1232
++#: opts.c:1234
+ #, fuzzy
+ msgid "The following options control optimizations"
+ msgstr "Стани код Ñледећих изузетака покретног зареза"
+
+-#: opts.c:1235 opts.c:1273
++#: opts.c:1237 opts.c:1275
+ #, fuzzy
+ msgid "The following options are language-independent"
+ msgstr "Следеће опције не завиÑе од језика:\n"
+
+-#: opts.c:1238
++#: opts.c:1240
+ #, fuzzy
+ msgid "The --param option recognizes the following as parameters"
+ msgstr "Опција --param препознаје Ñледеће параметре:\n"
+
+-#: opts.c:1245
++#: opts.c:1247
+ #, fuzzy
+ msgid "The following options are specific to the language "
+ msgstr "Следеће опције не завиÑе од језика:\n"
+
+-#: opts.c:1249
++#: opts.c:1251
+ #, fuzzy
+ msgid "The following options are supported by the language "
+ msgstr "Следеће опције не завиÑе од језика:\n"
+
+-#: opts.c:1260
++#: opts.c:1262
+ #, fuzzy
+ msgid "The following options are not documented"
+ msgstr "Следеће опције не завиÑе од језика:\n"
+
+-#: opts.c:1271
++#: opts.c:1273
+ #, fuzzy
+ msgid "The following options are language-related"
+ msgstr "Следеће опције не завиÑе од језика:\n"
+
+-#: opts.c:1403
++#: opts.c:1405
+ #, c-format
+ msgid "warning: unrecognized argument to --help= switch: %.*s\n"
+ msgstr ""
+@@ -2175,7 +2175,7 @@
+ msgid "%s: input file names must have .c suffixes: %s\n"
+ msgstr "%s: улазне датотеке морају имати наÑтавке .c: %s\n"
+
+-#: reload.c:3734
++#: reload.c:3744
+ msgid "unable to generate reloads for:"
+ msgstr "не могу да Ñтворим поновљена учитавања за:"
+
+@@ -2278,41 +2278,43 @@
+ msgstr "%s:верзија ‘%.4s’, боља је ‘%.4s’\n"
+
+ #: toplev.c:1188
+-#, c-format
+-msgid "warning: %s header version %s differs from library version %s.\n"
++#, fuzzy, c-format
++msgid "%s%swarning: %s header version %s differs from library version %s.\n"
+ msgstr ""
++"%s%s%s верзија %s (%s)\n"
++"%s\tкомпиловано Гнуовим Ц-ом верзија %s.\n"
+
+ #: toplev.c:1190
+ #, c-format
+ msgid "%s%sGGC heuristics: --param ggc-min-expand=%d --param ggc-min-heapsize=%d\n"
+ msgstr "%s%sГГЦова хеуриÑтика: --param ggc-min-expand=%d --param ggc-min-heapsize=%d\n"
+
+-#: toplev.c:1340
++#: toplev.c:1342
+ msgid "options passed: "
+ msgstr "проÑлеђене опције: "
+
+-#: toplev.c:1374
++#: toplev.c:1376
+ msgid "options enabled: "
+ msgstr "укључене опције: "
+
+-#: toplev.c:1509
++#: toplev.c:1511
+ #, c-format
+ msgid "created and used with differing settings of '%s'"
+ msgstr "направљено и употребљено Ñа различитим поÑтавкама за ‘%s’"
+
+-#: toplev.c:1511
++#: toplev.c:1513
+ msgid "out of memory"
+ msgstr "нема меморије"
+
+-#: toplev.c:1526
++#: toplev.c:1528
+ msgid "created and used with different settings of -fpic"
+ msgstr "направљено и употребљено Ñа различитим поÑтавкама за -fpic"
+
+-#: toplev.c:1528
++#: toplev.c:1530
+ msgid "created and used with different settings of -fpie"
+ msgstr "направљено и употребљено Ñа различитим поÑтавкама за -fpie"
+
+-#: tree-inline.c:2571
++#: tree-inline.c:2657
+ msgid "originally indirect function call not considered for inlining"
+ msgstr "изворно поÑредан позив функције Ñе не разматра за уткивање"
+
+@@ -2371,7 +2373,7 @@
+
+ #: params.def:93
+ #, fuzzy
+-msgid "The threshold ratio between current and hotest structure counts"
++msgid "The threshold ratio between current and hottest structure counts"
+ msgstr "Праг одноÑа између изведених поља и укупне величине Ñтруктуре"
+
+ #: params.def:110
+@@ -2769,114 +2771,122 @@
+ msgid "Maximum length of partial antic set when performing tree pre optimization"
+ msgstr ""
+
+-#: config/alpha/alpha.c:5015
++#: params.def:723
++msgid "Maximum size of a SCC before SCCVN stops processing a function"
++msgstr ""
++
++#: params.def:729
++msgid "Multiplier used for determining the double-queueing threshold"
++msgstr ""
++
++#: config/alpha/alpha.c:5023
+ #, c-format
+ msgid "invalid %%H value"
+ msgstr "неиÑправна %%H вредноÑÑ‚"
+
+-#: config/alpha/alpha.c:5036 config/bfin/bfin.c:1423
++#: config/alpha/alpha.c:5044 config/bfin/bfin.c:1516
+ #, c-format
+ msgid "invalid %%J value"
+ msgstr "неиÑправна %%J вредноÑÑ‚"
+
+-#: config/alpha/alpha.c:5066 config/ia64/ia64.c:4718
++#: config/alpha/alpha.c:5074 config/ia64/ia64.c:4719
+ #, c-format
+ msgid "invalid %%r value"
+ msgstr "неиÑправна %%r вредноÑÑ‚"
+
+-#: config/alpha/alpha.c:5076 config/ia64/ia64.c:4672
+-#: config/rs6000/rs6000.c:11670 config/xtensa/xtensa.c:2036
++#: config/alpha/alpha.c:5084 config/ia64/ia64.c:4673
++#: config/rs6000/rs6000.c:11881 config/xtensa/xtensa.c:2042
+ #, c-format
+ msgid "invalid %%R value"
+ msgstr "неиÑправна %%R вредноÑÑ‚"
+
+-#: config/alpha/alpha.c:5082 config/rs6000/rs6000.c:11589
+-#: config/xtensa/xtensa.c:2003
++#: config/alpha/alpha.c:5090 config/rs6000/rs6000.c:11800
++#: config/xtensa/xtensa.c:2009
+ #, c-format
+ msgid "invalid %%N value"
+ msgstr "неиÑправна %%N вредноÑÑ‚"
+
+-#: config/alpha/alpha.c:5090 config/rs6000/rs6000.c:11617
++#: config/alpha/alpha.c:5098 config/rs6000/rs6000.c:11828
+ #, c-format
+ msgid "invalid %%P value"
+ msgstr "неиÑправна %%P вредноÑÑ‚"
+
+-#: config/alpha/alpha.c:5098
++#: config/alpha/alpha.c:5106
+ #, c-format
+ msgid "invalid %%h value"
+ msgstr "неиÑправна %%h вредноÑÑ‚"
+
+-#: config/alpha/alpha.c:5106 config/xtensa/xtensa.c:2029
++#: config/alpha/alpha.c:5114 config/xtensa/xtensa.c:2035
+ #, c-format
+ msgid "invalid %%L value"
+ msgstr "неиÑправна %%L вредноÑÑ‚"
+
+-#: config/alpha/alpha.c:5145 config/rs6000/rs6000.c:11571
++#: config/alpha/alpha.c:5153 config/rs6000/rs6000.c:11782
+ #, c-format
+ msgid "invalid %%m value"
+ msgstr "неиÑправна %%m вредноÑÑ‚"
+
+-#: config/alpha/alpha.c:5153 config/rs6000/rs6000.c:11579
++#: config/alpha/alpha.c:5161 config/rs6000/rs6000.c:11790
+ #, c-format
+ msgid "invalid %%M value"
+ msgstr "неиÑправна %%M вредноÑÑ‚"
+
+-#: config/alpha/alpha.c:5197
++#: config/alpha/alpha.c:5205
+ #, c-format
+ msgid "invalid %%U value"
+ msgstr "неиÑправна %%U вредноÑÑ‚"
+
+-#: config/alpha/alpha.c:5209 config/alpha/alpha.c:5223
+-#: config/rs6000/rs6000.c:11678
++#: config/alpha/alpha.c:5217 config/alpha/alpha.c:5231
++#: config/rs6000/rs6000.c:11889
+ #, c-format
+ msgid "invalid %%s value"
+ msgstr "неиÑправна %%s вредноÑÑ‚"
+
+-#: config/alpha/alpha.c:5246
++#: config/alpha/alpha.c:5254
+ #, c-format
+ msgid "invalid %%C value"
+ msgstr "неиÑправна %%C вредноÑÑ‚"
+
+-#: config/alpha/alpha.c:5283 config/rs6000/rs6000.c:11406
+-#: config/rs6000/rs6000.c:11425
++#: config/alpha/alpha.c:5291 config/rs6000/rs6000.c:11617
++#: config/rs6000/rs6000.c:11636
+ #, c-format
+ msgid "invalid %%E value"
+ msgstr "неиÑправна %%E вредноÑÑ‚"
+
+-#: config/alpha/alpha.c:5308 config/alpha/alpha.c:5356
++#: config/alpha/alpha.c:5316 config/alpha/alpha.c:5364
+ #, c-format
+ msgid "unknown relocation unspec"
+ msgstr "непознато unspec релокације"
+
+-#: config/alpha/alpha.c:5317 config/crx/crx.c:1081
+-#: config/rs6000/rs6000.c:12005 config/spu/spu.c:1492
++#: config/alpha/alpha.c:5325 config/crx/crx.c:1081
++#: config/rs6000/rs6000.c:12216 config/spu/spu.c:1482
+ #, c-format
+ msgid "invalid %%xn code"
+ msgstr "неиÑправан %%xn кôд"
+
+-#: config/arc/arc.c:1724 config/m32r/m32r.c:1805
++#: config/arc/arc.c:1728 config/m32r/m32r.c:1805
+ #, c-format
+ msgid "invalid operand to %%R code"
+ msgstr "неиÑправан операнд за %%R кôд"
+
+-#: config/arc/arc.c:1756 config/m32r/m32r.c:1828
++#: config/arc/arc.c:1760 config/m32r/m32r.c:1828
+ #, c-format
+ msgid "invalid operand to %%H/%%L code"
+ msgstr "неиÑправан операнд за %%H/%%L кôд"
+
+-#: config/arc/arc.c:1778 config/m32r/m32r.c:1899
++#: config/arc/arc.c:1782 config/m32r/m32r.c:1899
+ #, c-format
+ msgid "invalid operand to %%U code"
+ msgstr "неиÑправан операнд за %%U кôд"
+
+-#: config/arc/arc.c:1789
++#: config/arc/arc.c:1793
+ #, c-format
+ msgid "invalid operand to %%V code"
+ msgstr "неиÑправан операнд за %%V кôд"
+
+ #. Unknown flag.
+ #. Undocumented flag.
+-#: config/arc/arc.c:1796 config/m32r/m32r.c:1926 config/sparc/sparc.c:6995
++#: config/arc/arc.c:1800 config/m32r/m32r.c:1926 config/sparc/sparc.c:6998
+ #, c-format
+ msgid "invalid operand output code"
+ msgstr "неиÑправан кôд излаза операнада"
+@@ -2901,9 +2911,9 @@
+ #: config/arm/arm.c:12830 config/arm/arm.c:12865 config/arm/arm.c:12884
+ #: config/arm/arm.c:12899 config/arm/arm.c:12927 config/arm/arm.c:12934
+ #: config/arm/arm.c:12942 config/arm/arm.c:12963 config/arm/arm.c:12970
+-#: config/bfin/bfin.c:1436 config/bfin/bfin.c:1443 config/bfin/bfin.c:1450
+-#: config/bfin/bfin.c:1457 config/bfin/bfin.c:1466 config/bfin/bfin.c:1473
+-#: config/bfin/bfin.c:1480 config/bfin/bfin.c:1487
++#: config/bfin/bfin.c:1529 config/bfin/bfin.c:1536 config/bfin/bfin.c:1543
++#: config/bfin/bfin.c:1550 config/bfin/bfin.c:1559 config/bfin/bfin.c:1566
++#: config/bfin/bfin.c:1573 config/bfin/bfin.c:1580
+ #, c-format
+ msgid "invalid operand for code '%c'"
+ msgstr "неиÑправан операнд за кôд ‘%c’"
+@@ -2918,240 +2928,159 @@
+ msgid "missing operand"
+ msgstr "недоÑтаје операнд"
+
+-#: config/avr/avr.c:1022
++#: config/avr/avr.c:1062
+ #, c-format
+ msgid "address operand requires constraint for X, Y, or Z register"
+ msgstr "адреÑни операнд захтева ограничење за X, Y или Z региÑтар"
+
+-#: config/avr/avr.c:1129
++#: config/avr/avr.c:1169
+ msgid "bad address, not (reg+disp):"
+ msgstr "лоша адреÑа, није (reg+disp):"
+
+-#: config/avr/avr.c:1136
++#: config/avr/avr.c:1176
+ msgid "bad address, not post_inc or pre_dec:"
+ msgstr "лоша адреÑа, није post_inc или pre_dec:"
+
+-#: config/avr/avr.c:1147
++#: config/avr/avr.c:1187
+ msgid "internal compiler error. Bad address:"
+ msgstr "унутрашња грешка компилатора. Лоша адреÑа:"
+
+-#: config/avr/avr.c:1160
++#: config/avr/avr.c:1200
+ msgid "internal compiler error. Unknown mode:"
+ msgstr "унутрашња грешка компилатора. Ðепознат режим:"
+
+-#: config/avr/avr.c:1775 config/avr/avr.c:2463
++#: config/avr/avr.c:1815 config/avr/avr.c:2503
+ msgid "invalid insn:"
+ msgstr "неиÑправна ија:"
+
+-#: config/avr/avr.c:1814 config/avr/avr.c:1900 config/avr/avr.c:1949
+-#: config/avr/avr.c:1977 config/avr/avr.c:2072 config/avr/avr.c:2241
+-#: config/avr/avr.c:2502 config/avr/avr.c:2614
++#: config/avr/avr.c:1854 config/avr/avr.c:1940 config/avr/avr.c:1989
++#: config/avr/avr.c:2017 config/avr/avr.c:2112 config/avr/avr.c:2281
++#: config/avr/avr.c:2542 config/avr/avr.c:2654
+ msgid "incorrect insn:"
+ msgstr "нетачна ија:"
+
+-#: config/avr/avr.c:1996 config/avr/avr.c:2157 config/avr/avr.c:2312
+-#: config/avr/avr.c:2680
++#: config/avr/avr.c:2036 config/avr/avr.c:2197 config/avr/avr.c:2352
++#: config/avr/avr.c:2720
+ msgid "unknown move insn:"
+ msgstr "непозната ија премештања:"
+
+-#: config/avr/avr.c:2910
++#: config/avr/avr.c:2950
+ msgid "bad shift insn:"
+ msgstr "лоша ија помака:"
+
+-#: config/avr/avr.c:3026 config/avr/avr.c:3446 config/avr/avr.c:3804
++#: config/avr/avr.c:3066 config/avr/avr.c:3486 config/avr/avr.c:3844
+ msgid "internal compiler error. Incorrect shift:"
+ msgstr "унутрашња грешка компилатора. Ðетачан помак:"
+
+-#: config/bfin/bfin.c:1385
++#: config/bfin/bfin.c:1478
+ #, c-format
+ msgid "invalid %%j value"
+ msgstr "неиÑправна %%j вредноÑÑ‚"
+
+-#: config/bfin/bfin.c:1578
++#: config/bfin/bfin.c:1671
+ #, c-format
+ msgid "invalid const_double operand"
+ msgstr "неиÑправан const_double операнд"
+
+-#: config/c4x/c4x.c:1583
+-msgid "using CONST_DOUBLE for address"
+-msgstr "кориÑти Ñе CONST_DOUBLE за адреÑу"
+-
+-#: config/c4x/c4x.c:1721
+-msgid "c4x_address_cost: Invalid addressing mode"
+-msgstr "c4x_address_cost: ÐеиÑправан адреÑни режим"
+-
+-#: config/c4x/c4x.c:1856
+-#, c-format
+-msgid "c4x_print_operand: %%L inconsistency"
+-msgstr "c4x_print_operand: %%L неÑаглаÑноÑÑ‚"
+-
+-#: config/c4x/c4x.c:1862
+-#, c-format
+-msgid "c4x_print_operand: %%N inconsistency"
+-msgstr "c4x_print_operand: %%N неÑаглаÑноÑÑ‚"
+-
+-#: config/c4x/c4x.c:1903
+-#, c-format
+-msgid "c4x_print_operand: %%O inconsistency"
+-msgstr "c4x_print_operand: %%O неÑаглаÑноÑÑ‚"
+-
+-#: config/c4x/c4x.c:1998
+-msgid "c4x_print_operand: Bad operand case"
+-msgstr "c4x_print_operand: Лош облик операнда"
+-
+-#: config/c4x/c4x.c:2039
+-msgid "c4x_print_operand_address: Bad post_modify"
+-msgstr "c4x_print_operand_address: Лош post_modify"
+-
+-#: config/c4x/c4x.c:2061
+-msgid "c4x_print_operand_address: Bad pre_modify"
+-msgstr "c4x_print_operand_address: Лош pre_modify"
+-
+-#: config/c4x/c4x.c:2109 config/c4x/c4x.c:2121 config/c4x/c4x.c:2136
+-msgid "c4x_print_operand_address: Bad operand case"
+-msgstr "c4x_print_operand_address: Лош облик операнда"
+-
+-#: config/c4x/c4x.c:2387
+-msgid "c4x_rptb_insert: Cannot find start label"
+-msgstr "c4x_rptb_insert: Ðе могу да нађем почетну етикету"
+-
+-#: config/c4x/c4x.c:2985
+-msgid "invalid indirect memory address"
+-msgstr "неиÑправна поÑредна меморијÑка адреÑа"
+-
+-#: config/c4x/c4x.c:3074
+-msgid "invalid indirect (S) memory address"
+-msgstr "неиÑправна поÑредна (S) меморијÑка адреÑа"
+-
+-#: config/c4x/c4x.c:3409
+-msgid "c4x_valid_operands: Internal error"
+-msgstr "c4x_valid_operands: Унутрашња грешка"
+-
+-#: config/c4x/c4x.c:3848
+-msgid "c4x_operand_subword: invalid mode"
+-msgstr "c4x_operand_subword: неиÑправан режим"
+-
+-#: config/c4x/c4x.c:3851
+-msgid "c4x_operand_subword: invalid operand"
+-msgstr "c4x_operand_subword: неиÑправан операнд"
+-
+-#. We could handle these with some difficulty.
+-#. e.g., *p-- => *(p-=2); *(p+1).
+-#: config/c4x/c4x.c:3877
+-msgid "c4x_operand_subword: invalid autoincrement"
+-msgstr "c4x_operand_subword: неиÑправно Ñамоувећање"
+-
+-#: config/c4x/c4x.c:3883
+-msgid "c4x_operand_subword: invalid address"
+-msgstr "c4x_operand_subword: неиÑправна адреÑа"
+-
+-#: config/c4x/c4x.c:3894
+-msgid "c4x_operand_subword: address not offsettable"
+-msgstr "c4x_operand_subword: адреÑи Ñе не може дати помак"
+-
+-#: config/c4x/c4x.c:4096
+-msgid "c4x_rptb_rpts_p: Repeat block top label moved"
+-msgstr "c4x_rptb_rpts_p: Померена горња етикета блока понављања"
+-
+ #. Use `%s' to print the string in case there are any escape
+ #. characters in the message.
+-#: config/cris/cris.c:491 fortran/dump-parse-tree.c:78
+-#: fortran/dump-parse-tree.c:430 fortran/dump-parse-tree.c:776
+-#: fortran/dump-parse-tree.c:821 c-typeck.c:4607 c-typeck.c:4622
+-#: c-typeck.c:4637 final.c:2984 final.c:2986 gcc.c:4737 loop-iv.c:2807
+-#: loop-iv.c:2816 rtl-error.c:112 toplev.c:610 tree-ssa-loop-niter.c:1829
+-#: cp/parser.c:2188 cp/typeck.c:4559 java/expr.c:409
++#: config/cris/cris.c:504 fortran/dump-parse-tree.c:78
++#: fortran/dump-parse-tree.c:430 fortran/dump-parse-tree.c:798
++#: fortran/dump-parse-tree.c:843 c-typeck.c:4618 c-typeck.c:4633
++#: c-typeck.c:4648 final.c:2997 final.c:2999 gcc.c:4731 loop-iv.c:2808
++#: loop-iv.c:2817 rtl-error.c:112 toplev.c:610 tree-ssa-loop-niter.c:1829
++#: cp/parser.c:2192 cp/typeck.c:4567 java/expr.c:409
+ #, gcc-internal-format
+ msgid "%s"
+ msgstr "%s"
+
+-#: config/cris/cris.c:542
++#: config/cris/cris.c:555
+ msgid "unexpected index-type in cris_print_index"
+ msgstr "неочекиван тип индекÑа у cris_print_index"
+
+-#: config/cris/cris.c:556
++#: config/cris/cris.c:572
+ msgid "unexpected base-type in cris_print_base"
+ msgstr "неочекиван оÑновни тип у cris_print_base"
+
+-#: config/cris/cris.c:672
++#: config/cris/cris.c:688
+ msgid "invalid operand for 'b' modifier"
+ msgstr "неиÑправан операнд за модификатор ‘b’"
+
+-#: config/cris/cris.c:689
++#: config/cris/cris.c:705
+ msgid "invalid operand for 'o' modifier"
+ msgstr "неиÑправан операнд за модификатор ‘o’"
+
+-#: config/cris/cris.c:708
++#: config/cris/cris.c:724
+ msgid "invalid operand for 'O' modifier"
+ msgstr "неиÑправан операнд за модификатор ‘O’"
+
+-#: config/cris/cris.c:741
++#: config/cris/cris.c:757
+ msgid "invalid operand for 'p' modifier"
+ msgstr "неиÑправан операнд за модификатор ‘p’"
+
+-#: config/cris/cris.c:780
++#: config/cris/cris.c:796
+ msgid "invalid operand for 'z' modifier"
+ msgstr "неиÑправан операнд за модификатор ‘z’"
+
+-#: config/cris/cris.c:834 config/cris/cris.c:864
++#: config/cris/cris.c:860 config/cris/cris.c:894
+ msgid "invalid operand for 'H' modifier"
+ msgstr "неиÑправан операнд за модификатор ‘H;’"
+
+-#: config/cris/cris.c:840
++#: config/cris/cris.c:870
+ msgid "bad register"
+ msgstr "лош региÑтар"
+
+-#: config/cris/cris.c:884
++#: config/cris/cris.c:914
+ msgid "invalid operand for 'e' modifier"
+ msgstr "неиÑправан операнд за модификатор ‘e’"
+
+-#: config/cris/cris.c:901
++#: config/cris/cris.c:931
+ msgid "invalid operand for 'm' modifier"
+ msgstr "неиÑправан операнд за модификатор ‘m’"
+
+-#: config/cris/cris.c:926
++#: config/cris/cris.c:956
+ msgid "invalid operand for 'A' modifier"
+ msgstr "неиÑправан операнд за модификатор ‘A’"
+
+-#: config/cris/cris.c:949
++#: config/cris/cris.c:979
+ msgid "invalid operand for 'D' modifier"
+ msgstr "неиÑправан операнд за модификатор ‘D’"
+
+-#: config/cris/cris.c:963
++#: config/cris/cris.c:993
+ msgid "invalid operand for 'T' modifier"
+ msgstr "неиÑправан операнд за модификатор ‘T’"
+
+-#: config/cris/cris.c:972
++#: config/cris/cris.c:1013
+ msgid "invalid operand modifier letter"
+ msgstr "неиÑправно Ñлово модификатора операнда"
+
+-#: config/cris/cris.c:1029
++#: config/cris/cris.c:1070
+ msgid "unexpected multiplicative operand"
+ msgstr "неочекиван множећи операнд"
+
+-#: config/cris/cris.c:1049
++#: config/cris/cris.c:1090
+ msgid "unexpected operand"
+ msgstr "неочекиван операнд"
+
+-#: config/cris/cris.c:1082 config/cris/cris.c:1092
++#: config/cris/cris.c:1123 config/cris/cris.c:1133
+ msgid "unrecognized address"
+ msgstr "непрепозната адреÑа"
+
+-#: config/cris/cris.c:2019
++#: config/cris/cris.c:2209
+ msgid "unrecognized supposed constant"
+ msgstr "непрепозната претпоÑтављена конÑтанта"
+
+-#: config/cris/cris.c:2394 config/cris/cris.c:2458
++#: config/cris/cris.c:2638 config/cris/cris.c:2702
+ msgid "unexpected side-effects in address"
+ msgstr "неочекивани Ñпоредни ефекти у адреÑи"
+
+ #. Can't possibly get a GOT-needing-fixup for a function-call,
+ #. right?
+-#: config/cris/cris.c:3253
++#: config/cris/cris.c:3539
+ msgid "Unidentifiable call op"
+ msgstr "Ðеидентификован оп. позива"
+
+-#: config/cris/cris.c:3304
++#: config/cris/cris.c:3590
+ #, c-format
+ msgid "PIC register isn't set up"
+ msgstr "ПИЦ региÑтар није поÑтављен"
+@@ -3202,81 +3131,81 @@
+ msgid "fr30_print_operand: unhandled MEM"
+ msgstr "fr30_print_operand: необрађен MEM"
+
+-#: config/frv/frv.c:2542
++#: config/frv/frv.c:2546
+ msgid "bad insn to frv_print_operand_address:"
+ msgstr "лоша ија за frv_print_operand_address:"
+
+-#: config/frv/frv.c:2553
++#: config/frv/frv.c:2557
+ msgid "bad register to frv_print_operand_memory_reference_reg:"
+ msgstr "лош региÑтар за frv_print_operand_memory_reference_reg:"
+
+-#: config/frv/frv.c:2592 config/frv/frv.c:2602 config/frv/frv.c:2611
+-#: config/frv/frv.c:2632 config/frv/frv.c:2637
++#: config/frv/frv.c:2596 config/frv/frv.c:2606 config/frv/frv.c:2615
++#: config/frv/frv.c:2636 config/frv/frv.c:2641
+ msgid "bad insn to frv_print_operand_memory_reference:"
+ msgstr "лоша ија за frv_print_operand_memory_reference:"
+
+-#: config/frv/frv.c:2723
++#: config/frv/frv.c:2727
+ #, c-format
+ msgid "bad condition code"
+ msgstr "лош уÑловни кôд"
+
+-#: config/frv/frv.c:2798
++#: config/frv/frv.c:2802
+ msgid "bad insn in frv_print_operand, bad const_double"
+ msgstr "лоша ија у frv_print_operand, лош const_double"
+
+-#: config/frv/frv.c:2859
++#: config/frv/frv.c:2863
+ msgid "bad insn to frv_print_operand, 'e' modifier:"
+ msgstr "лоша ија за frv_print_operand, модификатор ‘e’:"
+
+-#: config/frv/frv.c:2867
++#: config/frv/frv.c:2871
+ msgid "bad insn to frv_print_operand, 'F' modifier:"
+ msgstr "лоша ија за frv_print_operand, модификатор ‘F’:"
+
+-#: config/frv/frv.c:2883
++#: config/frv/frv.c:2887
+ msgid "bad insn to frv_print_operand, 'f' modifier:"
+ msgstr "лоша ија за frv_print_operand, модификатор ‘f’:"
+
+-#: config/frv/frv.c:2897
++#: config/frv/frv.c:2901
+ msgid "bad insn to frv_print_operand, 'g' modifier:"
+ msgstr "лоша ија за frv_print_operand, модификатор ‘g’:"
+
+-#: config/frv/frv.c:2945
++#: config/frv/frv.c:2949
+ msgid "bad insn to frv_print_operand, 'L' modifier:"
+ msgstr "лоша ија за frv_print_operand, модификатор ‘L’:"
+
+-#: config/frv/frv.c:2958
++#: config/frv/frv.c:2962
+ msgid "bad insn to frv_print_operand, 'M/N' modifier:"
+ msgstr "лоша ија за frv_print_operand, модификатор ‘M/N’:"
+
+-#: config/frv/frv.c:2979
++#: config/frv/frv.c:2983
+ msgid "bad insn to frv_print_operand, 'O' modifier:"
+ msgstr "лоша ија за frv_print_operand, модификатор ‘O’:"
+
+-#: config/frv/frv.c:2997
++#: config/frv/frv.c:3001
+ msgid "bad insn to frv_print_operand, P modifier:"
+ msgstr "лоша ија за frv_print_operand, модификатор ‘P’:"
+
+-#: config/frv/frv.c:3017
++#: config/frv/frv.c:3021
+ msgid "bad insn in frv_print_operand, z case"
+ msgstr "лоша ија у frv_print_operand, Ñлучај z"
+
+-#: config/frv/frv.c:3048
++#: config/frv/frv.c:3052
+ msgid "bad insn in frv_print_operand, 0 case"
+ msgstr "лоша ија у frv_print_operand, Ñлучај 0"
+
+-#: config/frv/frv.c:3053
++#: config/frv/frv.c:3057
+ msgid "frv_print_operand: unknown code"
+ msgstr "frv_print_operand: непознат кôд"
+
+-#: config/frv/frv.c:4422
++#: config/frv/frv.c:4426
+ msgid "bad output_move_single operand"
+ msgstr "лош операнд output_move_single"
+
+-#: config/frv/frv.c:4549
++#: config/frv/frv.c:4553
+ msgid "bad output_move_double operand"
+ msgstr "лош операнд output_move_double"
+
+-#: config/frv/frv.c:4691
++#: config/frv/frv.c:4695
+ msgid "bad output_condmove_single operand"
+ msgstr "лош операнд output_condmove_single"
+
+@@ -3294,27 +3223,27 @@
+ msgid " (frv)"
+ msgstr " (frv)"
+
+-#: config/i386/i386.c:8218
++#: config/i386/i386.c:8273
+ #, c-format
+ msgid "invalid UNSPEC as operand"
+ msgstr "неиÑправан УÐСПЕЦ као операнд"
+
+-#: config/i386/i386.c:8924
++#: config/i386/i386.c:8979
+ #, c-format
+ msgid "operand is neither a constant nor a condition code, invalid operand code 'c'"
+ msgstr "операнд није ни конÑтанта ни уÑловни кôд, неиÑправан кôд аргумента ‘c’"
+
+-#: config/i386/i386.c:9040
++#: config/i386/i386.c:9095
+ #, c-format
+ msgid "invalid operand code '%c'"
+ msgstr "неиÑправан кôд операнда ‘%c;’"
+
+-#: config/i386/i386.c:9089
++#: config/i386/i386.c:9144
+ #, c-format
+ msgid "invalid constraints for operand"
+ msgstr "неиÑправна ограничења за операнд"
+
+-#: config/i386/i386.c:16348
++#: config/i386/i386.c:16423
+ msgid "unknown insn mode"
+ msgstr "непознат режим ије"
+
+@@ -3335,34 +3264,34 @@
+ msgid "environment variable DJGPP points to corrupt file '%s'"
+ msgstr "променљива окружења DJGPP указује на иÑкварену датотеку ‘%s’"
+
+-#: config/ia64/ia64.c:4770
++#: config/ia64/ia64.c:4771
+ #, c-format
+ msgid "ia64_print_operand: unknown code"
+ msgstr "ia64_print_operand: непознат кôд"
+
+-#: config/ia64/ia64.c:9889
++#: config/ia64/ia64.c:9890
+ msgid "invalid conversion from %<__fpreg%>"
+ msgstr "неиÑправно претварање из %<__fpreg%>"
+
+-#: config/ia64/ia64.c:9892
++#: config/ia64/ia64.c:9893
+ msgid "invalid conversion to %<__fpreg%>"
+ msgstr "неиÑправно претварање у %<__fpreg%>"
+
+-#: config/ia64/ia64.c:9905 config/ia64/ia64.c:9916
++#: config/ia64/ia64.c:9906 config/ia64/ia64.c:9917
+ msgid "invalid operation on %<__fpreg%>"
+ msgstr "неиÑправна операција на %<__fpreg%>"
+
+-#: config/iq2000/iq2000.c:3118
++#: config/iq2000/iq2000.c:3122
+ #, c-format
+ msgid "invalid %%P operand"
+ msgstr "неиÑправан %%P операнд"
+
+-#: config/iq2000/iq2000.c:3126 config/rs6000/rs6000.c:11607
++#: config/iq2000/iq2000.c:3130 config/rs6000/rs6000.c:11818
+ #, c-format
+ msgid "invalid %%p value"
+ msgstr "неиÑправна %%p вредноÑÑ‚"
+
+-#: config/iq2000/iq2000.c:3182
++#: config/iq2000/iq2000.c:3186
+ #, c-format
+ msgid "invalid use of %%d, %%x, or %%X"
+ msgstr "неиÑправна употреба %%d, %%x, или %%X"
+@@ -3404,7 +3333,7 @@
+ msgstr "адреÑа поÑтувећања није региÑтар"
+
+ #: config/m32r/m32r.c:2030 config/m32r/m32r.c:2044
+-#: config/rs6000/rs6000.c:19870
++#: config/rs6000/rs6000.c:20087
+ msgid "bad address"
+ msgstr "лоша адреÑа"
+
+@@ -3450,59 +3379,59 @@
+ msgid "invalid Z register replacement for insn"
+ msgstr "неиÑправна замена региÑтра Z за ију"
+
+-#: config/mips/mips.c:6313 config/mips/mips.c:6334 config/mips/mips.c:6438
++#: config/mips/mips.c:6371 config/mips/mips.c:6392 config/mips/mips.c:6496
+ #, fuzzy, c-format
+ msgid "'%%%c' is not a valid operand prefix"
+ msgstr "‘%s’ није иÑправно име клаÑе"
+
+-#: config/mips/mips.c:6382 config/mips/mips.c:6389 config/mips/mips.c:6396
+-#: config/mips/mips.c:6456
++#: config/mips/mips.c:6440 config/mips/mips.c:6447 config/mips/mips.c:6454
++#: config/mips/mips.c:6514
+ #, fuzzy, c-format
+ msgid "invalid use of '%%%c'"
+ msgstr "неиÑправна употреба %qD"
+
+-#: config/mips/mips.c:6701
++#: config/mips/mips.c:6761
+ msgid "mips_debugger_offset called with non stack/frame/arg pointer"
+ msgstr "mips_debugger_offset позван без показивача на Ñтек/оквир/арг"
+
+-#: config/mmix/mmix.c:1487 config/mmix/mmix.c:1617
++#: config/mmix/mmix.c:1483 config/mmix/mmix.c:1613
+ msgid "MMIX Internal: Expected a CONST_INT, not this"
+ msgstr "MMIX унутрашње: Очекиван је CONST_INT, не ово"
+
+-#: config/mmix/mmix.c:1566
++#: config/mmix/mmix.c:1562
+ msgid "MMIX Internal: Bad value for 'm', not a CONST_INT"
+ msgstr "MMIX унутрашње: Лоша вредноÑÑ‚ за ‘m’, није CONST_INT"
+
+-#: config/mmix/mmix.c:1585
++#: config/mmix/mmix.c:1581
+ msgid "MMIX Internal: Expected a register, not this"
+ msgstr "MMIX унутрашње: Очекиван је региÑтар, не ово"
+
+-#: config/mmix/mmix.c:1595
++#: config/mmix/mmix.c:1591
+ msgid "MMIX Internal: Expected a constant, not this"
+ msgstr "MMIX унутрашње: Очекивана је конÑтанта, не ово"
+
+ #. We need the original here.
+-#: config/mmix/mmix.c:1679
++#: config/mmix/mmix.c:1675
+ msgid "MMIX Internal: Cannot decode this operand"
+ msgstr "MMIX унутрашње: Ðе могу да декодирам овај операнд"
+
+-#: config/mmix/mmix.c:1736
++#: config/mmix/mmix.c:1732
+ msgid "MMIX Internal: This is not a recognized address"
+ msgstr "MMIX унутрашње: Ово није препозната адреÑа"
+
+-#: config/mmix/mmix.c:2669
++#: config/mmix/mmix.c:2665
+ msgid "MMIX Internal: Trying to output invalidly reversed condition:"
+ msgstr "MMIX унутрашње: Покушавам да иÑпишем неиÑправно обрнут уÑлов:"
+
+-#: config/mmix/mmix.c:2676
++#: config/mmix/mmix.c:2672
+ msgid "MMIX Internal: What's the CC of this?"
+ msgstr "MMIX унутрашње: Шта је CC за ово?"
+
+-#: config/mmix/mmix.c:2680
++#: config/mmix/mmix.c:2676
+ msgid "MMIX Internal: What is the CC of this?"
+ msgstr "MMIX унутрашње: Шта је CC за ово?"
+
+-#: config/mmix/mmix.c:2744
++#: config/mmix/mmix.c:2740
+ msgid "MMIX Internal: This is not a constant:"
+ msgstr "MMIX унутрашње: Ово није конÑтанта:"
+
+@@ -3528,81 +3457,81 @@
+ msgid "Try running '%s' in the shell to raise its limit.\n"
+ msgstr "Покушајте да покренете ‘%s’ у шкољци да повећате ограничење.\n"
+
+-#: config/rs6000/rs6000.c:11434
++#: config/rs6000/rs6000.c:11645
+ #, c-format
+ msgid "invalid %%f value"
+ msgstr "неиÑправна %%f вредноÑÑ‚"
+
+-#: config/rs6000/rs6000.c:11443
++#: config/rs6000/rs6000.c:11654
+ #, c-format
+ msgid "invalid %%F value"
+ msgstr "неиÑправна %%F вредноÑÑ‚"
+
+-#: config/rs6000/rs6000.c:11452
++#: config/rs6000/rs6000.c:11663
+ #, c-format
+ msgid "invalid %%G value"
+ msgstr "неиÑправна %%G вредноÑÑ‚"
+
+-#: config/rs6000/rs6000.c:11487
++#: config/rs6000/rs6000.c:11698
+ #, c-format
+ msgid "invalid %%j code"
+ msgstr "неиÑправан %%j кôд"
+
+-#: config/rs6000/rs6000.c:11497
++#: config/rs6000/rs6000.c:11708
+ #, c-format
+ msgid "invalid %%J code"
+ msgstr "неиÑправан %%J кôд"
+
+-#: config/rs6000/rs6000.c:11507
++#: config/rs6000/rs6000.c:11718
+ #, c-format
+ msgid "invalid %%k value"
+ msgstr "неиÑправна %%k вредноÑÑ‚"
+
+-#: config/rs6000/rs6000.c:11527 config/xtensa/xtensa.c:2022
++#: config/rs6000/rs6000.c:11738 config/xtensa/xtensa.c:2028
+ #, c-format
+ msgid "invalid %%K value"
+ msgstr "неиÑправна %%K вредноÑÑ‚"
+
+-#: config/rs6000/rs6000.c:11597
++#: config/rs6000/rs6000.c:11808
+ #, c-format
+ msgid "invalid %%O value"
+ msgstr "неиÑправна %%O вредноÑÑ‚"
+
+-#: config/rs6000/rs6000.c:11644
++#: config/rs6000/rs6000.c:11855
+ #, c-format
+ msgid "invalid %%q value"
+ msgstr "неиÑправна %%q вредноÑÑ‚"
+
+-#: config/rs6000/rs6000.c:11688
++#: config/rs6000/rs6000.c:11899
+ #, c-format
+ msgid "invalid %%S value"
+ msgstr "неиÑправна %%S вредноÑÑ‚"
+
+-#: config/rs6000/rs6000.c:11728
++#: config/rs6000/rs6000.c:11939
+ #, c-format
+ msgid "invalid %%T value"
+ msgstr "неиÑправна %%T вредноÑÑ‚"
+
+-#: config/rs6000/rs6000.c:11738
++#: config/rs6000/rs6000.c:11949
+ #, c-format
+ msgid "invalid %%u value"
+ msgstr "неиÑправна %%u вредноÑÑ‚"
+
+-#: config/rs6000/rs6000.c:11747 config/xtensa/xtensa.c:1992
++#: config/rs6000/rs6000.c:11958 config/xtensa/xtensa.c:1998
+ #, c-format
+ msgid "invalid %%v value"
+ msgstr "неиÑправна %%v вредноÑÑ‚"
+
+-#: config/rs6000/rs6000.c:21768
++#: config/rs6000/rs6000.c:21946
+ msgid "AltiVec argument passed to unprototyped function"
+ msgstr "алтивек аргумент проÑлеђен непрототипизираној функцији"
+
+-#: config/s390/s390.c:4561
++#: config/s390/s390.c:4560
+ #, c-format
+ msgid "cannot decompose address"
+ msgstr "не могу да разложим адреÑу"
+
+-#: config/s390/s390.c:4771
++#: config/s390/s390.c:4770
+ msgid "UNKNOWN in print_operand !?"
+ msgstr "ÐЕПОЗÐÐТРу print_operand !?"
+
+@@ -3612,89 +3541,89 @@
+ msgid "invalid operand for code: '%c'"
+ msgstr "неиÑправан операнд за кôд: ‘%c’"
+
+-#: config/sh/sh.c:746
++#: config/sh/sh.c:749
+ #, c-format
+ msgid "invalid operand to %%R"
+ msgstr "неиÑправан операнд за %%R"
+
+-#: config/sh/sh.c:773
++#: config/sh/sh.c:776
+ #, c-format
+ msgid "invalid operand to %%S"
+ msgstr "неиÑправан операнд за %%S"
+
+-#: config/sh/sh.c:8095
++#: config/sh/sh.c:8098
+ msgid "created and used with different architectures / ABIs"
+ msgstr "направљено и употребљено на различитим архитектурама / ÐБИјима"
+
+-#: config/sh/sh.c:8097
++#: config/sh/sh.c:8100
+ msgid "created and used with different ABIs"
+ msgstr "направљено и употребљено Ñа различитим ÐБИјима"
+
+-#: config/sh/sh.c:8099
++#: config/sh/sh.c:8102
+ msgid "created and used with different endianness"
+ msgstr "направљено и употребељно Ñа различитом крајношћу"
+
+-#: config/sparc/sparc.c:6803 config/sparc/sparc.c:6809
++#: config/sparc/sparc.c:6806 config/sparc/sparc.c:6812
+ #, c-format
+ msgid "invalid %%Y operand"
+ msgstr "неиÑправан %%Y операнд"
+
+-#: config/sparc/sparc.c:6879
++#: config/sparc/sparc.c:6882
+ #, c-format
+ msgid "invalid %%A operand"
+ msgstr "неиÑправан %%A операнд"
+
+-#: config/sparc/sparc.c:6889
++#: config/sparc/sparc.c:6892
+ #, c-format
+ msgid "invalid %%B operand"
+ msgstr "неиÑправан %%B операнд"
+
+-#: config/sparc/sparc.c:6928
++#: config/sparc/sparc.c:6931
+ #, c-format
+ msgid "invalid %%c operand"
+ msgstr "неиÑправан %%c операнд"
+
+-#: config/sparc/sparc.c:6950
++#: config/sparc/sparc.c:6953
+ #, c-format
+ msgid "invalid %%d operand"
+ msgstr "неиÑправан %%d операнд"
+
+-#: config/sparc/sparc.c:6967
++#: config/sparc/sparc.c:6970
+ #, c-format
+ msgid "invalid %%f operand"
+ msgstr "неиÑправан %%f операнд"
+
+-#: config/sparc/sparc.c:6981
++#: config/sparc/sparc.c:6984
+ #, c-format
+ msgid "invalid %%s operand"
+ msgstr "неиÑправан %%s операнд"
+
+-#: config/sparc/sparc.c:7035
++#: config/sparc/sparc.c:7038
+ #, c-format
+ msgid "long long constant not a valid immediate operand"
+ msgstr "long long конÑтанта није прихватљив непоÑредни операнд"
+
+-#: config/sparc/sparc.c:7038
++#: config/sparc/sparc.c:7041
+ #, c-format
+ msgid "floating point constant not a valid immediate operand"
+ msgstr "реална конÑтанта није прихватљив непоÑредни операнд"
+
+-#: config/stormy16/stormy16.c:1775 config/stormy16/stormy16.c:1846
++#: config/stormy16/stormy16.c:1748 config/stormy16/stormy16.c:1819
+ #, c-format
+ msgid "'B' operand is not constant"
+ msgstr "‘B’ операнд није конÑтанта"
+
+-#: config/stormy16/stormy16.c:1802
++#: config/stormy16/stormy16.c:1775
+ #, c-format
+ msgid "'B' operand has multiple bits set"
+ msgstr "‘B’ операнд има више поÑтављених битова"
+
+-#: config/stormy16/stormy16.c:1828
++#: config/stormy16/stormy16.c:1801
+ #, c-format
+ msgid "'o' operand is not constant"
+ msgstr "‘o’ операнд није конÑтанта"
+
+-#: config/stormy16/stormy16.c:1860
++#: config/stormy16/stormy16.c:1833
+ #, c-format
+ msgid "xstormy16_print_operand: unknown code"
+ msgstr "xstormy16_print_operand: непознат кôд"
+@@ -3707,56 +3636,56 @@
+ msgid "output_move_single:"
+ msgstr "output_move_single:"
+
+-#: config/xtensa/xtensa.c:652 config/xtensa/xtensa.c:684
+-#: config/xtensa/xtensa.c:693
++#: config/xtensa/xtensa.c:656 config/xtensa/xtensa.c:688
++#: config/xtensa/xtensa.c:697
+ msgid "bad test"
+ msgstr "лоша проба"
+
+-#: config/xtensa/xtensa.c:1980
++#: config/xtensa/xtensa.c:1986
+ #, c-format
+ msgid "invalid %%D value"
+ msgstr "неиÑправна %%D вредноÑÑ‚"
+
+-#: config/xtensa/xtensa.c:2017
++#: config/xtensa/xtensa.c:2023
+ msgid "invalid mask"
+ msgstr "неиÑправна маÑка"
+
+-#: config/xtensa/xtensa.c:2043
++#: config/xtensa/xtensa.c:2049
+ #, c-format
+ msgid "invalid %%x value"
+ msgstr "неиÑправна %%x вредноÑÑ‚"
+
+-#: config/xtensa/xtensa.c:2050
++#: config/xtensa/xtensa.c:2056
+ #, c-format
+ msgid "invalid %%d value"
+ msgstr "неиÑправна %%d вредноÑÑ‚"
+
+-#: config/xtensa/xtensa.c:2071 config/xtensa/xtensa.c:2081
++#: config/xtensa/xtensa.c:2077 config/xtensa/xtensa.c:2087
+ #, c-format
+ msgid "invalid %%t/%%b value"
+ msgstr "неиÑправна %%t/%%b вредноÑÑ‚"
+
+-#: config/xtensa/xtensa.c:2123
++#: config/xtensa/xtensa.c:2129
+ msgid "invalid address"
+ msgstr "неиÑправна адреÑа"
+
+-#: config/xtensa/xtensa.c:2148
++#: config/xtensa/xtensa.c:2154
+ msgid "no register in address"
+ msgstr "нема региÑтара у адреÑи"
+
+-#: config/xtensa/xtensa.c:2156
++#: config/xtensa/xtensa.c:2162
+ msgid "address offset not a constant"
+ msgstr "помак адреÑе није конÑтанта"
+
+-#: cp/call.c:2514
++#: cp/call.c:2500
+ msgid "candidates are:"
+ msgstr "кандидати Ñу:"
+
+-#: cp/call.c:6463
++#: cp/call.c:6487
+ msgid "candidate 1:"
+ msgstr "кандидат 1:"
+
+-#: cp/call.c:6464
++#: cp/call.c:6488
+ msgid "candidate 2:"
+ msgstr "кандидат 2:"
+
+@@ -3801,52 +3730,52 @@
+ msgid "Integer outside symmetric range implied by Standard Fortran at %L"
+ msgstr "Цео број ван Ñиметричног опÑега имплицираног Ñтандардним фортраном код %L"
+
+-#: fortran/arith.c:1425
++#: fortran/arith.c:1472
+ #, fuzzy
+ msgid "elemental binary operation"
+ msgstr "Елементална бинарна операција"
+
+-#: fortran/arith.c:1997
++#: fortran/arith.c:2044
+ #, no-c-format
+ msgid "Arithmetic OK converting %s to %s at %L"
+ msgstr "Ðритметичко OK при претварању %s у %s код %L"
+
+-#: fortran/arith.c:2001
++#: fortran/arith.c:2048
+ #, no-c-format
+ msgid "Arithmetic overflow converting %s to %s at %L. This check can be disabled with the option -fno-range-check"
+ msgstr ""
+
+-#: fortran/arith.c:2006
++#: fortran/arith.c:2053
+ #, no-c-format
+ msgid "Arithmetic underflow converting %s to %s at %L"
+ msgstr "Ðритметичко подливање при претварању %s у %s код %L"
+
+-#: fortran/arith.c:2010
++#: fortran/arith.c:2057
+ #, no-c-format
+ msgid "Arithmetic NaN converting %s to %s at %L"
+ msgstr "Ðритметичко ÐаРпри претварању %s у %s код %L"
+
+-#: fortran/arith.c:2014
++#: fortran/arith.c:2061
+ #, no-c-format
+ msgid "Division by zero converting %s to %s at %L"
+ msgstr "Дељење нулом при претварању %s у %s код %L"
+
+-#: fortran/arith.c:2018
++#: fortran/arith.c:2065
+ #, no-c-format
+ msgid "Array operands are incommensurate converting %s to %s at %L"
+ msgstr "Ðизовни операнди Ñу неÑамерљиви при претварању %s у %s код %L"
+
+-#: fortran/arith.c:2022
++#: fortran/arith.c:2069
+ #, no-c-format
+ msgid "Integer outside symmetric range implied by Standard Fortran converting %s to %s at %L"
+ msgstr "Цео број ван Ñиметричног опÑега имплицираног Ñтандардним фортраном при претварању %s у %s код %L"
+
+-#: fortran/arith.c:2355
++#: fortran/arith.c:2402
+ #, no-c-format
+ msgid "The Hollerith constant at %L is too long to convert to %s"
+ msgstr "Холеритова конÑтанта код %L је предугачка за претварање у %s"
+
+-#: fortran/arith.c:2513
++#: fortran/arith.c:2560
+ #, no-c-format
+ msgid "Enumerator exceeds the C integer type at %C"
+ msgstr "Ðабрајач премашује Ц-ов целобројни тип код %C"
+@@ -3876,72 +3805,72 @@
+ msgid "Variable '%s' at %L in this context must be constant"
+ msgstr "Променљива ‘%s’ код %L мора бити конÑтантна у овом контекÑту"
+
+-#: fortran/array.c:299
++#: fortran/array.c:314
+ #, no-c-format
+ msgid "Expected expression in array specification at %C"
+ msgstr "Очекиван је израз у одредници низа код %C"
+
+-#: fortran/array.c:386
++#: fortran/array.c:392
+ #, no-c-format
+ msgid "Bad array specification for an explicitly shaped array at %C"
+ msgstr "Лоша одредница за низ екÑплицитног облика код %C"
+
+-#: fortran/array.c:396
++#: fortran/array.c:402
+ #, no-c-format
+ msgid "Bad array specification for assumed shape array at %C"
+ msgstr "Лоша одредница за низ претпоÑтављеног облика код %C"
+
+-#: fortran/array.c:410
++#: fortran/array.c:416
+ #, no-c-format
+ msgid "Bad specification for deferred shape array at %C"
+ msgstr "Лоша одредница за низ одложеног облика код %C"
+
+-#: fortran/array.c:414
++#: fortran/array.c:420
+ #, no-c-format
+ msgid "Bad specification for assumed size array at %C"
+ msgstr "Лоша одредница за низ претпоÑтављене величине код %C"
+
+-#: fortran/array.c:423
++#: fortran/array.c:429
+ #, no-c-format
+ msgid "Expected another dimension in array declaration at %C"
+ msgstr "Очекивана је друга димензија у декларацији низа код %C"
+
+-#: fortran/array.c:429
++#: fortran/array.c:435
+ #, no-c-format
+ msgid "Array specification at %C has more than %d dimensions"
+ msgstr "Одредница низа код %C има више од %d димензија"
+
+-#: fortran/array.c:635
++#: fortran/array.c:641
+ #, no-c-format
+ msgid "duplicated initializer"
+ msgstr "двоÑтруки уÑпоÑтављач"
+
+-#: fortran/array.c:727
++#: fortran/array.c:733
+ #, no-c-format
+ msgid "DO-iterator '%s' at %L is inside iterator of the same name"
+ msgstr "DO-итератор ‘%s’ код %L је унутар иÑтоименог итератора"
+
+-#: fortran/array.c:829 fortran/array.c:938
++#: fortran/array.c:835 fortran/array.c:944
+ #, no-c-format
+ msgid "Syntax error in array constructor at %C"
+ msgstr "СинтакÑна грешка у конÑтруктору низа код %C"
+
+-#: fortran/array.c:884
++#: fortran/array.c:890
+ #, fuzzy, no-c-format
+ msgid "Fortran 2003: [...] style array constructors at %C"
+ msgstr "Ðово у фортрану 2003: [...] конÑтруктори низа код %C"
+
+-#: fortran/array.c:898
++#: fortran/array.c:904
+ #, no-c-format
+ msgid "Empty array constructor at %C is not allowed"
+ msgstr "Празан конÑтруктор низа код %C није дозвољен"
+
+-#: fortran/array.c:982
++#: fortran/array.c:988
+ #, no-c-format
+ msgid "Element in %s array constructor at %L is %s"
+ msgstr "Елемент у конÑтруктору низа %s код %L је %s"
+
+-#: fortran/array.c:1309
++#: fortran/array.c:1315
+ #, no-c-format
+ msgid "Iterator step at %L cannot be zero"
+ msgstr "Корак итератора код %L не може бити нула"
+@@ -3961,7 +3890,7 @@
+ msgid "'%s' argument of '%s' intrinsic at %L must be a numeric type"
+ msgstr "Ðргумент ‘%s’ за ÑопÑтвено ‘%s’ код %L мора бити бројевног типа"
+
+-#: fortran/check.c:101 fortran/check.c:817 fortran/check.c:827
++#: fortran/check.c:101 fortran/check.c:810 fortran/check.c:820
+ #, no-c-format
+ msgid "'%s' argument of '%s' intrinsic at %L must be INTEGER or REAL"
+ msgstr "Ðргумент ‘%s’ за ÑопÑтвено ‘%s’ код %L мора бити целобројан или реалан"
+@@ -4026,220 +3955,215 @@
+ msgid "'%s' argument of '%s' intrinsic at %L must be a variable"
+ msgstr "Ðргумент ‘%s’ за ÑопÑтвено ‘%s’ код %L мора бити променљива"
+
+-#: fortran/check.c:320
++#: fortran/check.c:356
+ #, no-c-format
+-msgid "Missing DIM parameter in intrinsic '%s' at %L"
+-msgstr "ÐедоÑтаје параметар DIM у ÑопÑтвеном ‘%s’ код %L"
+-
+-#: fortran/check.c:363
+-#, no-c-format
+ msgid "'dim' argument of '%s' intrinsic at %L is not a valid dimension index"
+ msgstr "Ðргумент ‘dim’ за ÑопÑтвено ‘%s’ код %L није иÑправан димензиони индекÑ"
+
+-#: fortran/check.c:433
++#: fortran/check.c:426
+ #, fuzzy, no-c-format
+ msgid "Unequal character lengths (%ld and %ld) in %s intrinsic at %L"
+ msgstr "Различите знаковне дужине у додели показивача код %L"
+
+-#: fortran/check.c:535 fortran/check.c:1938 fortran/check.c:1953
++#: fortran/check.c:528 fortran/check.c:1932 fortran/check.c:1947
+ #, no-c-format
+ msgid "'%s' argument of '%s' intrinsic at %L must be ALLOCATABLE"
+ msgstr "Ðргумент ‘%s’ за ÑопÑтвено ‘%s’ код %L мора бити резервљив"
+
+-#: fortran/check.c:559 fortran/check.c:3703
++#: fortran/check.c:552 fortran/check.c:3697
+ #, no-c-format
+ msgid "'%s' and '%s' arguments of '%s' intrinsic at %L must have the same type"
+ msgstr "Ðргументи ‘%s’ и ‘%s’ ÑопÑтвеног ‘%s’ код %L морају бити иÑтог типа"
+
+-#: fortran/check.c:568 fortran/check.c:1143 fortran/check.c:1286
+-#: fortran/check.c:1360 fortran/check.c:1616
++#: fortran/check.c:561 fortran/check.c:1137 fortran/check.c:1280
++#: fortran/check.c:1354 fortran/check.c:1610
+ #, no-c-format
+ msgid "Extension: Different type kinds at %L"
+ msgstr "Проширење: Различите врÑте типова код %L"
+
+-#: fortran/check.c:608 fortran/check.c:2022
++#: fortran/check.c:601 fortran/check.c:2016
+ #, no-c-format
+ msgid "'%s' argument of '%s' intrinsic at %L must be a POINTER"
+ msgstr "Ðргумент ‘%s’ за ÑопÑтвено ‘%s’ код %L мора бити показивач"
+
+-#: fortran/check.c:628
++#: fortran/check.c:621
+ #, no-c-format
+ msgid "'%s' argument of '%s' intrinsic at %L must be a pointer or target VARIABLE or FUNCTION"
+ msgstr "Ðргумент ‘%s’ ÑопÑтвеног ‘%s’ код %L мора бити показивач или циљна променљива или функција"
+
+-#: fortran/check.c:636
++#: fortran/check.c:629
+ #, no-c-format
+ msgid "'%s' argument of '%s' intrinsic at %L must be a POINTER or a TARGET"
+ msgstr "Ðргумент ‘%s’ за ÑопÑтвено ‘%s’ код %L мора бити показивач или циљ"
+
+-#: fortran/check.c:652
++#: fortran/check.c:645
+ #, no-c-format
+ msgid "Array section with a vector subscript at %L shall not be the target of a pointer"
+ msgstr "Одељак низа Ñа векторÑким индекÑом код %L неће бити циљ показивача"
+
+-#: fortran/check.c:663
++#: fortran/check.c:656
+ #, no-c-format
+ msgid "NULL pointer at %L is not permitted as actual argument of '%s' intrinsic function"
+ msgstr "Ðулти показивач код %L није дозвољен као Ñтварни аргумент ÑопÑтвене функције ‘%s’"
+
+-#: fortran/check.c:798 fortran/check.c:915
++#: fortran/check.c:791 fortran/check.c:910
+ #, no-c-format
+ msgid "'%s' argument of '%s' intrinsic at %L must not be present if 'x' is COMPLEX"
+ msgstr "Ðргумент ‘%s’ за ÑопÑтвено ‘%s’ код %L не Ñме бити приÑутан ако је ‘x’ комплекÑно"
+
+-#: fortran/check.c:848 fortran/check.c:1205 fortran/check.c:1308
+-#: fortran/check.c:1467 fortran/check.c:1484 fortran/check.c:2318
+-#: fortran/check.c:2444 fortran/check.c:2779 fortran/check.c:2821
++#: fortran/check.c:841 fortran/check.c:1199 fortran/check.c:1302
++#: fortran/check.c:1461 fortran/check.c:1478 fortran/check.c:2312
++#: fortran/check.c:2438 fortran/check.c:2773 fortran/check.c:2815
+ #, fuzzy, no-c-format
+ msgid "Fortran 2003: '%s' intrinsic with KIND argument at %L"
+ msgstr "Фортран 2003: Ðаредба FLUSH код %C"
+
+-#: fortran/check.c:964 fortran/check.c:1712 fortran/check.c:1720
++#: fortran/check.c:959 fortran/check.c:1706 fortran/check.c:1714
+ #, no-c-format
+ msgid "'%s' argument of '%s' intrinsic at %L must be numeric or LOGICAL"
+ msgstr "Ðргумент ‘%s’ за ÑопÑтвено ‘%s’ код %L мора бити бројеван или логички"
+
+-#: fortran/check.c:978
++#: fortran/check.c:973
+ #, fuzzy, no-c-format
+ msgid "Different shape for arguments '%s' and '%s' at %L for intrinsic 'dot_product'"
+ msgstr "различити облици аргумената ‘%s’ и ‘%s’ код %L за ÑопÑтвено ‘dot_product’"
+
+-#: fortran/check.c:997 fortran/check.c:1005
++#: fortran/check.c:992 fortran/check.c:1000
+ #, fuzzy, no-c-format
+ msgid "'%s' argument of '%s' intrinsic at %L must be default real"
+ msgstr "Ðргумент ‘%s’ за ÑопÑтвено ‘%s’ код %L мора бити променљива"
+
+-#: fortran/check.c:1256
++#: fortran/check.c:1250
+ #, no-c-format
+ msgid "Argument of %s at %L must be of length one"
+ msgstr "Ðргумент за %s код %L мора бити дужине један"
+
+-#: fortran/check.c:1315
++#: fortran/check.c:1309
+ #, no-c-format
+ msgid "'%s' argument of '%s' intrinsic at %L must be the same kind as '%s'"
+ msgstr "Ðргумент ‘%s’ за ÑопÑтвено ‘%s’ код %L мора бити иÑте врÑте као ‘%s’"
+
+-#: fortran/check.c:1440
++#: fortran/check.c:1434
+ #, no-c-format
+ msgid "'%s' argument of '%s' intrinsic at %L must be a non-derived type"
+ msgstr "Ðргумент ‘%s’ за ÑопÑтвено ‘%s’ код %L мора бити неизведени тип"
+
+-#: fortran/check.c:1589
++#: fortran/check.c:1583
+ #, no-c-format
+ msgid "Intrinsic '%s' at %L must have at least two arguments"
+ msgstr "СопÑтвено ‘%s’ код %L мора имати бар два аргумента"
+
+-#: fortran/check.c:1622
++#: fortran/check.c:1616
+ #, no-c-format
+ msgid "'a%d' argument of '%s' intrinsic at %L must be %s(%d)"
+ msgstr "Ðргумент ‘a%d’ ÑопÑтвеног ‘%s’ код %L мора бити %s(%d)"
+
+-#: fortran/check.c:1655
++#: fortran/check.c:1649
+ #, no-c-format
+ msgid "Fortran 2003: '%s' intrinsic with CHARACTER argument at %L"
+ msgstr ""
+
+-#: fortran/check.c:1662
++#: fortran/check.c:1656
+ #, fuzzy, no-c-format
+ msgid "'a1' argument of '%s' intrinsic at %L must be INTEGER, REAL or CHARACTER"
+ msgstr "Ðргумент ‘a1’ ÑопÑтвеног ‘%s’ код %L мора бити целобројан или реалан"
+
+-#: fortran/check.c:1734
++#: fortran/check.c:1728
+ #, fuzzy, no-c-format
+ msgid "Different shape on dimension 1 for arguments '%s' and '%s' at %L for intrinsic matmul"
+ msgstr "различити облици по димензији 1 аргумената ‘%s’ и ‘%s’ код %L за ÑопÑтвено ’matmul’"
+
+-#: fortran/check.c:1753
++#: fortran/check.c:1747
+ #, fuzzy, no-c-format
+ msgid "Different shape on dimension 2 for argument '%s' and dimension 1 for argument '%s' at %L for intrinsic matmul"
+ msgstr "различити облици по димензији 2 аргумента ‘%s’ и димензији 1 аргумента ‘%s’ код %L за ÑопÑтвено ’matmul’"
+
+-#: fortran/check.c:1762
++#: fortran/check.c:1756
+ #, no-c-format
+ msgid "'%s' argument of '%s' intrinsic at %L must be of rank 1 or 2"
+ msgstr "Ðргумент ‘%s’ ÑопÑтвеног ‘%s’ код %L мора бити ранга 1 или 2"
+
+-#: fortran/check.c:1964
++#: fortran/check.c:1958
+ #, no-c-format
+ msgid "the '%s' and '%s' arguments of '%s' intrinsic at %L must have the same rank %d/%d"
+ msgstr "Ðргументи ‘%s’ и ‘%s’ ÑопÑтвеног ‘%s’ код %L морају бити иÑтог ранга %d/%d"
+
+-#: fortran/check.c:1973
++#: fortran/check.c:1967
+ #, no-c-format
+ msgid "the '%s' and '%s' arguments of '%s' intrinsic at %L must be of the same kind %d/%d"
+ msgstr "Ðргументи ‘%s’ и ‘%s’ ÑопÑтвеног ‘%s’ код %L морају бити иÑте врÑте %d/%d"
+
+-#: fortran/check.c:2069
++#: fortran/check.c:2063
+ #, no-c-format
+ msgid "'%s' argument of '%s' intrinsic at %L must be of type REAL or COMPLEX"
+ msgstr "Ðргумент ‘%s’ ÑопÑтвеног ‘%s’ код %L мора бити целобројан или реалан"
+
+-#: fortran/check.c:2090
++#: fortran/check.c:2084
+ #, no-c-format
+ msgid "'%s' argument of '%s' intrinsic at %L must be of a dummy variable"
+ msgstr "Ðргумент ‘%s’ ÑопÑтвеног ‘%s’ код %L мора бити од лажне променљиве"
+
+-#: fortran/check.c:2098
++#: fortran/check.c:2092
+ #, no-c-format
+ msgid "'%s' argument of '%s' intrinsic at %L must be of an OPTIONAL dummy variable"
+ msgstr "Ðргумент ‘%s’ ÑопÑтвеног ‘%s’ код %L мора бити од опционе лажне променљиве"
+
+-#: fortran/check.c:2114
++#: fortran/check.c:2108
+ #, fuzzy, no-c-format
+ msgid "'%s' argument of '%s' intrinsic at %L must not be a subobject of '%s'"
+ msgstr "Ðргумент ‘%s’ за ÑопÑтвено ‘%s’ код %L не Ñме бити подобјекат од ‘%s’"
+
+-#: fortran/check.c:2231
++#: fortran/check.c:2225
+ #, no-c-format
+ msgid "'shape' argument of 'reshape' intrinsic at %L must be an array of constant size"
+ msgstr "Ðргумент ‘shape’ ÑопÑтвеног ‘reshape’ код %L мора бити низ конÑтантне величине"
+
+-#: fortran/check.c:2241
++#: fortran/check.c:2235
+ #, no-c-format
+ msgid "'shape' argument of 'reshape' intrinsic at %L has more than %d elements"
+ msgstr "Ðргумент ‘shape’ ÑопÑтвеног ‘reshape’ код %L има више од %d елемената"
+
+-#: fortran/check.c:2279
++#: fortran/check.c:2273
+ #, no-c-format
+ msgid "Without padding, there are not enough elements in the intrinsic RESHAPE source at %L to match the shape"
+ msgstr "Без уметања нема довољно елемената да подрже облик у ÑопÑтвеном RESHAPE код %L"
+
+-#: fortran/check.c:2364
++#: fortran/check.c:2358
+ #, no-c-format
+ msgid "Missing arguments to %s intrinsic at %L"
+ msgstr "ÐедоÑтају аргументи за ÑопÑтвено %s код %L"
+
+-#: fortran/check.c:2405
++#: fortran/check.c:2399
+ #, no-c-format
+ msgid "'source' argument of 'shape' intrinsic at %L must not be an assumed size array"
+ msgstr "Ðргумент ‘source’ ÑопÑтвеног ‘shape’ код %L не Ñме бити низ претпоÑтављене величине"
+
+-#: fortran/check.c:2479
++#: fortran/check.c:2473
+ #, no-c-format
+ msgid "'%s' argument of '%s' intrinsic at %L must be less than rank %d"
+ msgstr "Ðргумент ‘%s’ ÑопÑтвеног ‘%s’ код %L мора бити мање ранга од %d"
+
+-#: fortran/check.c:2731
++#: fortran/check.c:2725
+ #, fuzzy, no-c-format
+ msgid "'MOLD' argument of 'TRANSFER' intrinsic at %L must not be %s"
+ msgstr "Ðргумент ‘%s’ за ÑопÑтвено ‘%s’ код %L мора бити %s"
+
+-#: fortran/check.c:3050
++#: fortran/check.c:3044
+ #, no-c-format
+ msgid "Too many arguments to %s at %L"
+ msgstr "Превише аргумената за %s код %L"
+
+-#: fortran/check.c:3162 fortran/check.c:3616 fortran/check.c:3640
++#: fortran/check.c:3156 fortran/check.c:3610 fortran/check.c:3634
+ #, no-c-format
+ msgid "'%s' argument of '%s' intrinsic at %L must be INTEGER or PROCEDURE"
+ msgstr "Ðргумент ‘%s’ ÑопÑтвеног ‘%s’ код %L мора бити целобројан или процедура"
+
+-#: fortran/check.c:3338
++#: fortran/check.c:3332
+ #, fuzzy, no-c-format
+ msgid "'%s' argument of '%s' intrinsic at %L must be of a kind not wider than the default kind (%d)"
+ msgstr "Ðргумент ‘%s’ за ÑопÑтвено ‘%s’ код %L мора бити ранга %d"
+
+-#: fortran/check.c:3687 fortran/check.c:3695
++#: fortran/check.c:3681 fortran/check.c:3689
+ #, no-c-format
+ msgid "'%s' argument of '%s' intrinsic at %L must be INTEGER or LOGICAL"
+ msgstr "Ðргумент ‘%s’ ÑопÑтвеног ‘%s’ код %L мора бити целобројан или логички"
+@@ -4264,890 +4188,926 @@
+ msgid "'%s' at %L already is initialized at %L"
+ msgstr "Процедура ‘%s’ код %C већ је дефиниÑана код %L"
+
+-#: fortran/data.c:412
++#: fortran/data.c:317
+ #, no-c-format
++msgid "Data element below array lower bound at %L"
++msgstr ""
++
++#: fortran/data.c:329
++#, no-c-format
++msgid "Data element above array upper bound at %L"
++msgstr ""
++
++#: fortran/data.c:435
++#, no-c-format
+ msgid "Extension: re-initialization of '%s' at %L"
+ msgstr "Проширење: реуÑпоÑтављање ‘%s’ код %L"
+
+-#: fortran/decl.c:254
++#: fortran/decl.c:253
+ #, fuzzy, no-c-format
+ msgid "Host associated variable '%s' may not be in the DATA statement at %C"
+ msgstr "Домаћином придружена променљива ‘%s’ не може бити у наредби DATA код %C."
+
+-#: fortran/decl.c:261
++#: fortran/decl.c:260
+ #, no-c-format
+ msgid "Extension: initialization of common block variable '%s' in DATA statement at %C"
+ msgstr "Проширење: уÑпоÑтављање заједничког блока ‘%s’ у наредби DATA код %C"
+
+-#: fortran/decl.c:366
++#: fortran/decl.c:365
+ #, no-c-format
+ msgid "Symbol '%s' must be a PARAMETER in DATA statement at %C"
+ msgstr "Симбол ‘%s’ мора бити параметар у наредби DATA код %C"
+
+-#: fortran/decl.c:470
++#: fortran/decl.c:390
++#, fuzzy, no-c-format
++msgid "Invalid initializer %s in Data statement at %C"
++msgstr "ÐеиÑправна уÑпоÑтављачка наредба"
++
++#: fortran/decl.c:493
+ #, no-c-format
+ msgid "Initialization at %C is not allowed in a PURE procedure"
+ msgstr "УÑпоÑтављање код %C није дозвољено у чиÑтој процедури"
+
+-#: fortran/decl.c:529
++#: fortran/decl.c:552
+ #, no-c-format
+ msgid "DATA statement at %C is not allowed in a PURE procedure"
+ msgstr "Ðаредба DATA код %C није дозвољена у чиÑтој процедури"
+
+-#: fortran/decl.c:558
++#: fortran/decl.c:581
+ #, no-c-format
+ msgid "Bad INTENT specification at %C"
+ msgstr "Лоша одредница намере код %C"
+
+-#: fortran/decl.c:600
++#: fortran/decl.c:623
+ #, no-c-format
+ msgid "Conflict in attributes of function argument at %C"
+ msgstr ""
+
+-#: fortran/decl.c:647
++#: fortran/decl.c:676
+ #, no-c-format
+ msgid "Syntax error in character length specification at %C"
+ msgstr "СинтакÑна грешка у одредници знаковне дужине код %C"
+
+-#: fortran/decl.c:757
++#: fortran/decl.c:795
+ #, no-c-format
+ msgid "Procedure '%s' at %C is already defined at %L"
+ msgstr "Процедура ‘%s’ код %C већ је дефиниÑана код %L"
+
+-#: fortran/decl.c:765
++#: fortran/decl.c:803
+ #, fuzzy, no-c-format
+ msgid "Name '%s' at %C is already defined as a generic interface at %L"
+ msgstr "Глобално име ‘%s’ код %L Ñе већ кориÑти као %s код %L"
+
+-#: fortran/decl.c:778
++#: fortran/decl.c:816
+ #, no-c-format
+ msgid "Procedure '%s' at %C has an explicit interface and must not have attributes declared at %L"
+ msgstr "Процедура ‘%s’ код %C има екÑплицитно Ñучеље и не може имати атрибуте деклариÑане код %L"
+
+-#: fortran/decl.c:850
++#: fortran/decl.c:888
+ #, fuzzy, no-c-format
+ msgid "Procedure '%s' at %L must have the BIND(C) attribute to be C interoperable"
+ msgstr "Променљива изведеног типа ‘%s’ код %L мора имати атрибут SEQUENCE да би била објекат еквиваленције"
+
+-#: fortran/decl.c:880
++#: fortran/decl.c:918
+ #, no-c-format
+ msgid "Type '%s' at %L is a parameter to the BIND(C) procedure '%s' but is not C interoperable because derived type '%s' is not C interoperable"
+ msgstr ""
+
+-#: fortran/decl.c:887
++#: fortran/decl.c:925
+ #, no-c-format
+ msgid "Variable '%s' at %L is a parameter to the BIND(C) procedure '%s' but may not be C interoperable"
+ msgstr ""
+
+-#: fortran/decl.c:902
++#: fortran/decl.c:940
+ #, fuzzy, no-c-format
+ msgid "Character argument '%s' at %L must be length 1 because procedure '%s' is BIND(C)"
+ msgstr "Кључна реч ‘%s’ код %L није у процедури"
+
+-#: fortran/decl.c:916
++#: fortran/decl.c:954
+ #, no-c-format
+ msgid "Variable '%s' at %L cannot have the ALLOCATABLE attribute because procedure '%s' is BIND(C)"
+ msgstr ""
+
+-#: fortran/decl.c:925
++#: fortran/decl.c:963
+ #, no-c-format
+ msgid "Variable '%s' at %L cannot have the POINTER attribute because procedure '%s' is BIND(C)"
+ msgstr ""
+
+-#: fortran/decl.c:934
++#: fortran/decl.c:972
+ #, no-c-format
+ msgid "Variable '%s' at %L cannot have the OPTIONAL attribute because procedure '%s' is BIND(C)"
+ msgstr ""
+
+-#: fortran/decl.c:947
++#: fortran/decl.c:985
+ #, no-c-format
+ msgid "Assumed-shape array '%s' at %L cannot be an argument to the procedure '%s' at %L because the procedure is BIND(C)"
+ msgstr ""
+
+-#: fortran/decl.c:957
++#: fortran/decl.c:995
+ #, no-c-format
+ msgid "Deferred-shape array '%s' at %L cannot be an argument to the procedure '%s' at %L because the procedure is BIND(C)"
+ msgstr ""
+
+-#: fortran/decl.c:1033
++#: fortran/decl.c:1071
+ #, no-c-format
+ msgid "Variable '%s' in common block '%s' at %C must be declared with a C interoperable kind since common block '%s' is BIND(C)"
+ msgstr ""
+
+-#: fortran/decl.c:1069
++#: fortran/decl.c:1107
+ #, no-c-format
+ msgid "CHARACTER expression at %L is being truncated (%d/%d)"
+ msgstr "Знаковни израз код %L бива подÑечен (%d/%d)"
+
+-#: fortran/decl.c:1075
++#: fortran/decl.c:1113
+ #, no-c-format
+ msgid "The CHARACTER elements of the array constructor at %L must have the same length (%d/%d)"
+ msgstr "Знаковни елементи конÑтруктора низа код %L морају имати иÑту дужину (%d/%d)"
+
+-#: fortran/decl.c:1165
++#: fortran/decl.c:1203
+ #, no-c-format
+ msgid "Initializer not allowed for PARAMETER '%s' at %C"
+ msgstr "УÑпоÑтављач није дозвољен за параметар ‘%s’ код %C"
+
+-#: fortran/decl.c:1174
++#: fortran/decl.c:1213
+ #, no-c-format
+-msgid "Initializer not allowed for COMMON variable '%s' at %C"
+-msgstr "УÑпоÑтављач није дозвољен за заједничку променљиву ‘%s’ код %C"
+-
+-#: fortran/decl.c:1184
+-#, no-c-format
+ msgid "PARAMETER at %L is missing an initializer"
+ msgstr "ÐедоÑтаје уÑпоÑтављач за параметар код %L"
+
+-#: fortran/decl.c:1194
++#: fortran/decl.c:1223
+ #, no-c-format
+ msgid "Variable '%s' at %C with an initializer already appears in a DATA statement"
+ msgstr "Променљива ‘%s’ код %C Ñа уÑпоÑтављачем већ Ñе појављује у наредби DATA"
+
+-#: fortran/decl.c:1344
++#: fortran/decl.c:1373
+ #, no-c-format
+ msgid "Component at %C must have the POINTER attribute"
+ msgstr "Компонента код %C мора имати атрибут показивача"
+
+-#: fortran/decl.c:1352
++#: fortran/decl.c:1381
+ #, no-c-format
+ msgid "Array component of structure at %C must have explicit or deferred shape"
+ msgstr "Ðизовна компонента Ñтруктуре код %C мора имати екÑплицитан или одложени облик"
+
+-#: fortran/decl.c:1378
++#: fortran/decl.c:1425
+ #, no-c-format
+ msgid "Allocatable component at %C must be an array"
+ msgstr "Резервљива компонента код %C мора бити низ"
+
+-#: fortran/decl.c:1389
++#: fortran/decl.c:1436
+ #, no-c-format
+ msgid "Pointer array component of structure at %C must have a deferred shape"
+ msgstr "Показивачка низовна компонента Ñтруктуре код %C мора имати одложен облик"
+
+-#: fortran/decl.c:1398
++#: fortran/decl.c:1445
+ #, no-c-format
+ msgid "Allocatable component of structure at %C must have a deferred shape"
+ msgstr "Резервљива компонента Ñтруктуре код %C мора имати одложен облик"
+
+-#: fortran/decl.c:1407
++#: fortran/decl.c:1454
+ #, no-c-format
+ msgid "Array component of structure at %C must have an explicit shape"
+ msgstr "Ðизовна компонента Ñтруктуре код %C мора имати екÑплицитан облик"
+
+-#: fortran/decl.c:1433
++#: fortran/decl.c:1480
+ #, no-c-format
+ msgid "NULL() initialization at %C is ambiguous"
+ msgstr "ДвоÑмиÑлено уÑпоÑтављање NULL() код %C"
+
+-#: fortran/decl.c:1556 fortran/decl.c:5197
++#: fortran/decl.c:1603 fortran/decl.c:5395
+ #, fuzzy, no-c-format
+ msgid "Duplicate array spec for Cray pointee at %C"
+ msgstr "УдвоÑтручена одредница низа за Крејов показиваног код %C."
+
+-#: fortran/decl.c:1616
++#: fortran/decl.c:1663
+ #, no-c-format
+ msgid "the type of '%s' at %C has not been declared within the interface"
+ msgstr "Тип ‘%s’ код %C није деклариÑан унутар Ñучеља"
+
+-#: fortran/decl.c:1632
++#: fortran/decl.c:1679
+ #, no-c-format
+ msgid "Function name '%s' not allowed at %C"
+ msgstr "Име функције ‘%s’ није дозвољено код %C"
+
+-#: fortran/decl.c:1648
++#: fortran/decl.c:1695
+ #, no-c-format
+ msgid "Extension: Old-style initialization at %C"
+ msgstr "Проширење: СтаровремÑко уÑпоÑтављање код %C"
+
+-#: fortran/decl.c:1663
++#: fortran/decl.c:1710
+ #, no-c-format
+ msgid "Initialization at %C isn't for a pointer variable"
+ msgstr "УÑпоÑтављање код %C није за показивачку променљиву"
+
+-#: fortran/decl.c:1671
++#: fortran/decl.c:1718
+ #, no-c-format
+ msgid "Pointer initialization requires a NULL() at %C"
+ msgstr "УÑпоÑтављање показивача код %C захтева NULL()"
+
+-#: fortran/decl.c:1677
++#: fortran/decl.c:1724
+ #, no-c-format
+ msgid "Initialization of pointer at %C is not allowed in a PURE procedure"
+ msgstr "УÑпоÑтављање показивача код %C није дозвољена у чиÑтој процедури"
+
+-#: fortran/decl.c:1690
++#: fortran/decl.c:1737
+ #, no-c-format
+ msgid "Pointer initialization at %C requires '=>', not '='"
+ msgstr "УÑпоÑтављање показивача код %C захтева ‘=>’, не ‘=’"
+
+-#: fortran/decl.c:1699 fortran/decl.c:6129
++#: fortran/decl.c:1746 fortran/decl.c:6361
+ #, no-c-format
+ msgid "Expected an initialization expression at %C"
+ msgstr "Очекиван је уÑпоÑтављачки израз код %C"
+
+-#: fortran/decl.c:1705
++#: fortran/decl.c:1752
+ #, no-c-format
+ msgid "Initialization of variable at %C is not allowed in a PURE procedure"
+ msgstr "УÑпоÑтављање променљиве код %C није дозвољена у чиÑтој процедури"
+
+-#: fortran/decl.c:1718
++#: fortran/decl.c:1765
+ #, no-c-format
+ msgid "Initialization of allocatable component at %C is not allowed"
+ msgstr "УÑпоÑтављање резервљиве компоненте код %C није дозвољено"
+
+-#: fortran/decl.c:1772 fortran/decl.c:1781
++#: fortran/decl.c:1819 fortran/decl.c:1828
+ #, no-c-format
+ msgid "Old-style type declaration %s*%d not supported at %C"
+ msgstr "СтаровремÑка декларација типа %s*%d није подржана код %C"
+
+-#: fortran/decl.c:1786
++#: fortran/decl.c:1833
+ #, no-c-format
+ msgid "Nonstandard type declaration %s*%d at %C"
+ msgstr "ÐеÑтандардна декларација типа %s*%d код %C"
+
+-#: fortran/decl.c:1838 fortran/decl.c:1897
++#: fortran/decl.c:1884 fortran/decl.c:1948
+ #, fuzzy, no-c-format
+ msgid "Missing right parenthesis at %C"
+ msgstr "ÐедоÑтаје лева заграда код %C"
+
+-#: fortran/decl.c:1853 fortran/decl.c:1931
++#: fortran/decl.c:1897 fortran/decl.c:1993
+ #, no-c-format
+ msgid "Expected initialization expression at %C"
+ msgstr "Очекиван је уÑпоÑтављачки израз код %C"
+
+-#: fortran/decl.c:1861 fortran/decl.c:1937
++#: fortran/decl.c:1905 fortran/decl.c:1999
+ #, no-c-format
+ msgid "Expected scalar initialization expression at %C"
+ msgstr "Очекиван је Ñкаларни уÑпоÑтављачки израз код %C"
+
+-#: fortran/decl.c:1891
++#: fortran/decl.c:1936
+ #, no-c-format
+ msgid "Kind %d not supported for type %s at %C"
+ msgstr "Ð’Ñ€Ñта %d није подржана за тип %s код %C"
+
+-#: fortran/decl.c:1957
++#: fortran/decl.c:1946
+ #, fuzzy, no-c-format
++msgid "Missing right parenthesis or comma at %C"
++msgstr "ÐедоÑтаје лева заграда код %C"
++
++#: fortran/decl.c:2019
++#, fuzzy, no-c-format
+ msgid "Kind %d is not supported for CHARACTER at %C"
+ msgstr "Ð’Ñ€Ñта %d није подржана за тип %s код %C"
+
+-#: fortran/decl.c:2086
++#: fortran/decl.c:2148
+ #, no-c-format
+ msgid "Syntax error in CHARACTER declaration at %C"
+ msgstr "СинтакÑна грешка у декларацији CHARACTER код %C"
+
+-#: fortran/decl.c:2156
++#: fortran/decl.c:2233
+ #, no-c-format
+ msgid "Extension: BYTE type at %C"
+ msgstr "Проширење: тип BYTE код %C"
+
+-#: fortran/decl.c:2162
++#: fortran/decl.c:2239
+ #, no-c-format
+ msgid "BYTE type used at %C is not available on the target machine"
+ msgstr "Тип BYTE употребљен код %C није доÑтупан на циљној машини"
+
+-#: fortran/decl.c:2211
++#: fortran/decl.c:2288
+ #, no-c-format
+ msgid "DOUBLE COMPLEX at %C does not conform to the Fortran 95 standard"
+ msgstr "DOUBLE COMPLEX код %C не поштује Ñтандард фортрана 95"
+
+-#: fortran/decl.c:2245 fortran/decl.c:2252 fortran/decl.c:2558
+-#: fortran/decl.c:2566
++#: fortran/decl.c:2328 fortran/decl.c:2337 fortran/decl.c:2649
++#: fortran/decl.c:2657
+ #, no-c-format
+ msgid "Type name '%s' at %C is ambiguous"
+ msgstr "ДвоÑмиÑлено име типа ‘%s’ код %C"
+
+-#: fortran/decl.c:2321
++#: fortran/decl.c:2412
+ #, no-c-format
+ msgid "Missing character range in IMPLICIT at %C"
+ msgstr "ÐедоÑтаје знаковни опÑег за имплицитно код %C"
+
+-#: fortran/decl.c:2367
++#: fortran/decl.c:2458
+ #, no-c-format
+ msgid "Letters must be in alphabetic order in IMPLICIT statement at %C"
+ msgstr "Слова морају бити у алфабетÑком поретку у наредби IMPLICIT код %C"
+
+-#: fortran/decl.c:2421
++#: fortran/decl.c:2512
+ #, no-c-format
+ msgid "Empty IMPLICIT statement at %C"
+ msgstr "Празна наредба IMPLICIT код %C"
+
+-#: fortran/decl.c:2524
++#: fortran/decl.c:2615
+ #, fuzzy, no-c-format
+ msgid "IMPORT statement at %C only permitted in an INTERFACE body"
+ msgstr "Ðаредба ENTRY код %C не може бити унутар INTERFACE"
+
+-#: fortran/decl.c:2529
++#: fortran/decl.c:2620
+ #, fuzzy, no-c-format
+ msgid "Fortran 2003: IMPORT statement at %C"
+ msgstr "Фортран 2003: Ðаредба FLUSH код %C"
+
+-#: fortran/decl.c:2544
++#: fortran/decl.c:2635
+ #, fuzzy, no-c-format
+ msgid "Expecting list of named entities at %C"
+ msgstr "Очекивана је наредба %s код %C"
+
+-#: fortran/decl.c:2572
++#: fortran/decl.c:2663
+ #, no-c-format
+ msgid "Cannot IMPORT '%s' from host scoping unit at %C - does not exist."
+ msgstr ""
+
+-#: fortran/decl.c:2579
++#: fortran/decl.c:2670
+ #, no-c-format
+ msgid "'%s' is already IMPORTed from host scoping unit at %C."
+ msgstr ""
+
+-#: fortran/decl.c:2608
++#: fortran/decl.c:2699
+ #, fuzzy, no-c-format
+ msgid "Syntax error in IMPORT statement at %C"
+ msgstr "СинтакÑна грешка у наредби %s код %C"
+
+-#: fortran/decl.c:2850
++#: fortran/decl.c:2941
+ #, no-c-format
+ msgid "Missing dimension specification at %C"
+ msgstr "ÐедоÑтаје одредница димензија код %C"
+
+-#: fortran/decl.c:2924
++#: fortran/decl.c:3015
+ #, no-c-format
+ msgid "Duplicate %s attribute at %L"
+ msgstr "УдвоÑтручени атрибут %s код %L"
+
+-#: fortran/decl.c:2943
++#: fortran/decl.c:3034
+ #, fuzzy, no-c-format
+ msgid "Fortran 2003: ALLOCATABLE attribute at %C in a TYPE definition"
+ msgstr "У изабраном Ñтандарду, атрибут резервљивоÑти код %C није дозвољен у дефиницији типа"
+
+-#: fortran/decl.c:2953
++#: fortran/decl.c:3044
+ #, no-c-format
+ msgid "Attribute at %L is not allowed in a TYPE definition"
+ msgstr "Ðтрибут код %L није дозвољен у дефиницији типа"
+
+-#: fortran/decl.c:2971
++#: fortran/decl.c:3062
+ #, fuzzy, no-c-format
+ msgid "Fortran 2003: Attribute %s at %L in a TYPE definition"
+ msgstr "Ðтрибут код %L није дозвољен у дефиницији типа"
+
+-#: fortran/decl.c:2982
++#: fortran/decl.c:3073
+ #, fuzzy, no-c-format
+ msgid "%s attribute at %L is not allowed outside of the specification part of a module"
+ msgstr "Ðтрибут %s код %L није дозвољен изван модула"
+
+-#: fortran/decl.c:3034 fortran/decl.c:5437
++#: fortran/decl.c:3125 fortran/decl.c:5635
+ #, no-c-format
+ msgid "PROTECTED at %C only allowed in specification part of a module"
+ msgstr ""
+
+-#: fortran/decl.c:3040
++#: fortran/decl.c:3131
+ #, fuzzy, no-c-format
+ msgid "Fortran 2003: PROTECTED attribute at %C"
+ msgstr "Фортран 2003: Ðаредба FLUSH код %C"
+
+-#: fortran/decl.c:3071
++#: fortran/decl.c:3162
+ #, fuzzy, no-c-format
+ msgid "Fortran 2003: VALUE attribute at %C"
+ msgstr "Фортран 2003: Ðаредба FLUSH код %C"
+
+-#: fortran/decl.c:3081
++#: fortran/decl.c:3172
+ #, fuzzy, no-c-format
+ msgid "Fortran 2003: VOLATILE attribute at %C"
+ msgstr "Фортран 2003: Ðаредба FLUSH код %C"
+
+-#: fortran/decl.c:3121
++#: fortran/decl.c:3212
+ #, no-c-format
+ msgid "Multiple identifiers provided with single NAME= specifier at %C"
+ msgstr ""
+
+ #. Print an error, but continue parsing line.
+-#: fortran/decl.c:3171
++#: fortran/decl.c:3261
+ #, no-c-format
+ msgid "C kind parameter is for type %s but symbol '%s' at %L is of type %s"
+ msgstr ""
+
+-#: fortran/decl.c:3235
++#: fortran/decl.c:3325
+ #, fuzzy, no-c-format
+ msgid "Implicitly declared BIND(C) function '%s' at %L may not be C interoperable"
+ msgstr "Одредничка функција ‘%s’ код %L не може бити унутрашња функција"
+
+-#: fortran/decl.c:3257
++#: fortran/decl.c:3347
+ #, no-c-format
+ msgid "Variable '%s' in common block '%s' at %L may not be a C interoperable kind though common block '%s' is BIND(C)"
+ msgstr ""
+
+-#: fortran/decl.c:3266
++#: fortran/decl.c:3356
+ #, no-c-format
+ msgid "Type declaration '%s' at %L is not C interoperable but it is BIND(C)"
+ msgstr ""
+
+-#: fortran/decl.c:3270
++#: fortran/decl.c:3360
+ #, fuzzy, no-c-format
+ msgid "Variable '%s' at %L may not be a C interoperable kind but it is bind(c)"
+ msgstr "Променљивој ‘%s’ код %L није додељена етикета формата"
+
+-#: fortran/decl.c:3282
++#: fortran/decl.c:3372
+ #, no-c-format
+ msgid "Variable '%s' in common block '%s' at %L cannot be declared with BIND(C) since it is not a global"
+ msgstr ""
+
+-#: fortran/decl.c:3296
++#: fortran/decl.c:3386
+ #, fuzzy, no-c-format
+ msgid "Variable '%s' at %L cannot have both the POINTER and BIND(C) attributes"
+ msgstr "Ðргумент ‘%s’ елементалне процедуре код %L не може имати атрибут показивача"
+
+-#: fortran/decl.c:3304
++#: fortran/decl.c:3394
+ #, fuzzy, no-c-format
+ msgid "Variable '%s' at %L cannot have both the ALLOCATABLE and BIND(C) attributes"
+ msgstr "Објекат ‘%s’ код %L мора имати атрибут %s за SAVE"
+
+-#: fortran/decl.c:3314
++#: fortran/decl.c:3404
+ #, fuzzy, no-c-format
+ msgid "Return type of BIND(C) function '%s' at %L cannot be an array"
+ msgstr "Функција типа CHARACTER(*) ‘%s’ код %L не може имати низовну вредноÑÑ‚"
+
+-#: fortran/decl.c:3322
++#: fortran/decl.c:3412
+ #, fuzzy, no-c-format
+ msgid "Return type of BIND(C) function '%s' at %L cannot be a character string"
+ msgstr "Одредничка функција ‘%s’ код %L не може бити наредбена функција"
+
+ #. Use gfc_warning_now because we won't say that the symbol fails
+ #. just because of this.
+-#: fortran/decl.c:3334
++#: fortran/decl.c:3424
+ #, no-c-format
+ msgid "Symbol '%s' at %L is marked PRIVATE but has been given the binding label '%s'"
+ msgstr ""
+
+-#: fortran/decl.c:3409
++#: fortran/decl.c:3499
+ #, no-c-format
+ msgid "Need either entity or common block name for attribute specification statement at %C"
+ msgstr ""
+
+-#: fortran/decl.c:3456
++#: fortran/decl.c:3546
+ #, fuzzy, no-c-format
+ msgid "Missing entity or common block name for attribute specification statement at %C"
+ msgstr "ÐедоÑтаје генеричка одредница у наредби USE код %C"
+
+ #. Now we have an error, which we signal, and then fix up
+ #. because the knock-on is plain and simple confusing.
+-#: fortran/decl.c:3563
++#: fortran/decl.c:3653
+ #, fuzzy, no-c-format
+ msgid "Derived type at %C has not been previously defined and so cannot appear in a derived type definition"
+ msgstr "Изведени тип код %C није претходно дефиниÑан и зато Ñе не може појавити у дефиницији изведеног типа."
+
+-#: fortran/decl.c:3595
++#: fortran/decl.c:3685
+ #, no-c-format
+ msgid "Syntax error in data declaration at %C"
+ msgstr "СинтакÑна грешка у декларацији података код %C"
+
+-#: fortran/decl.c:3742
++#: fortran/decl.c:3832
+ #, no-c-format
+ msgid "Name '%s' at %C is the name of the procedure"
+ msgstr "Име ‘%s’ код %C је име процедуре"
+
+-#: fortran/decl.c:3754
++#: fortran/decl.c:3844
+ #, no-c-format
+ msgid "Unexpected junk in formal argument list at %C"
+ msgstr "Ðеочекивано Ñмеће у формалној лиÑти аргумената код %C"
+
+-#: fortran/decl.c:3771
++#: fortran/decl.c:3861
+ #, no-c-format
+ msgid "Duplicate symbol '%s' in formal argument list at %C"
+ msgstr "УдвоÑтручени Ñимбол ‘%s’ у формалној лиÑти аргумената код %C"
+
+-#: fortran/decl.c:3822
++#: fortran/decl.c:3912
+ #, no-c-format
+ msgid "RESULT variable at %C must be different than function name"
+ msgstr "Променљива RESULT код %C мора бити различита од имена функције"
+
+-#: fortran/decl.c:3892
++#: fortran/decl.c:3990
+ #, no-c-format
+ msgid "Unexpected junk after function declaration at %C"
+ msgstr "Ðеочекивано Ñмеће поÑле декларације функције код %C"
+
+-#: fortran/decl.c:3951
++#: fortran/decl.c:4000 fortran/decl.c:4734
+ #, fuzzy, no-c-format
++msgid "Extension: BIND(C) attribute at %L may not be specified for an internal procedure"
++msgstr "Ðтрибут SAVE код %L не може бити наведен у чиÑтој процедури"
++
++#: fortran/decl.c:4066
++#, fuzzy, no-c-format
+ msgid "Interface '%s' at %C may not be generic"
+ msgstr "Корак итератора код %L не може бити нула"
+
+-#: fortran/decl.c:3956
++#: fortran/decl.c:4071
+ #, fuzzy, no-c-format
+ msgid "Interface '%s' at %C may not be a statement function"
+ msgstr "Одредничка функција ‘%s’ код %L не може бити наредбена функција"
+
+-#: fortran/decl.c:3967
++#: fortran/decl.c:4082
+ #, fuzzy, no-c-format
+ msgid "Intrinsic procedure '%s' not allowed in PROCEDURE statement at %C"
+ msgstr "Унутрашња процедура ‘%s’ код %L није дозвољена као Ñтварни аргумент"
+
+-#: fortran/decl.c:3975
++#: fortran/decl.c:4118
+ #, no-c-format
+-msgid "Fortran 2003: Support for intrinsic procedure '%s' in PROCEDURE statement at %C not yet implemented in gfortran"
+-msgstr ""
+-
+-#: fortran/decl.c:4014
+-#, no-c-format
+ msgid "BIND(C) attribute at %C requires an interface with BIND(C)"
+ msgstr ""
+
+-#: fortran/decl.c:4021
++#: fortran/decl.c:4125
+ #, no-c-format
+ msgid "BIND(C) procedure with NAME may not have POINTER attribute at %C"
+ msgstr ""
+
+-#: fortran/decl.c:4027
++#: fortran/decl.c:4131
+ #, fuzzy, no-c-format
+ msgid "Dummy procedure at %C may not have BIND(C) attribute with NAME"
+ msgstr "Лажна процедура ‘%s’ код %C не може имати генеричко Ñучеље"
+
+-#: fortran/decl.c:4060 fortran/decl.c:4103
++#: fortran/decl.c:4167 fortran/decl.c:4210
+ #, fuzzy, no-c-format
+ msgid "Syntax error in PROCEDURE statement at %C"
+ msgstr "СинтакÑна грешка у наредби SAVE код %C"
+
+-#: fortran/decl.c:4077
++#: fortran/decl.c:4184
+ #, fuzzy, no-c-format
+ msgid "PROCEDURE at %C must be in a generic interface"
+ msgstr "MODULE PROCEDURE код %C мора бити у генеричком Ñучељу модула"
+
+-#: fortran/decl.c:4128
++#: fortran/decl.c:4235
+ #, no-c-format
+ msgid "Fortran 2003: Procedure components at %C are not yet implemented in gfortran"
+ msgstr ""
+
+-#: fortran/decl.c:4138
++#: fortran/decl.c:4245
+ #, fuzzy, no-c-format
+ msgid "Fortran 2003: PROCEDURE statement at %C"
+ msgstr "Фортран 2003: Ðаредба FLUSH код %C"
+
+-#: fortran/decl.c:4186
++#: fortran/decl.c:4293
+ #, no-c-format
+ msgid "Expected formal argument list in function definition at %C"
+ msgstr "Очекивана је формална лиÑта аргумената у дефиницији функције код %C"
+
+-#: fortran/decl.c:4210 fortran/decl.c:4214 fortran/decl.c:4536
+-#: fortran/decl.c:4540 fortran/symbol.c:1402
++#: fortran/decl.c:4317 fortran/decl.c:4321 fortran/decl.c:4520
++#: fortran/decl.c:4524 fortran/decl.c:4702 fortran/decl.c:4706
++#: fortran/symbol.c:1402
+ #, no-c-format
+ msgid "BIND(C) attribute at %L can only be used for variables or common blocks"
+ msgstr ""
+
+-#: fortran/decl.c:4246
++#: fortran/decl.c:4353
+ #, no-c-format
+ msgid "Function '%s' at %C already has a type of %s"
+ msgstr "Функција ‘%s’ код %C већ има тип %s"
+
+-#: fortran/decl.c:4322
++#: fortran/decl.c:4441
+ #, no-c-format
+ msgid "ENTRY statement at %C cannot appear within a PROGRAM"
+ msgstr "Ðаредба ENTRY код %C не може бити унутар PROGRAM"
+
+-#: fortran/decl.c:4325
++#: fortran/decl.c:4444
+ #, no-c-format
+ msgid "ENTRY statement at %C cannot appear within a MODULE"
+ msgstr "Ðаредба ENTRY код %C не може бити унутар MODULE"
+
+-#: fortran/decl.c:4328
++#: fortran/decl.c:4447
+ #, no-c-format
+ msgid "ENTRY statement at %C cannot appear within a BLOCK DATA"
+ msgstr "Ðаредба ENTRY код %C не може бити унутар BLOCK DATA"
+
+-#: fortran/decl.c:4332
++#: fortran/decl.c:4451
+ #, no-c-format
+ msgid "ENTRY statement at %C cannot appear within an INTERFACE"
+ msgstr "Ðаредба ENTRY код %C не може бити унутар INTERFACE"
+
+-#: fortran/decl.c:4336
++#: fortran/decl.c:4455
+ #, no-c-format
+ msgid "ENTRY statement at %C cannot appear within a DERIVED TYPE block"
+ msgstr "Ðаредба ENTRY код %C не може бити унутар блока DERIVED TYPE"
+
+-#: fortran/decl.c:4340
++#: fortran/decl.c:4459
+ #, no-c-format
+ msgid "ENTRY statement at %C cannot appear within an IF-THEN block"
+ msgstr "Ðаредба ENTRY код %C не може бити унутар блока IF-THEN"
+
+-#: fortran/decl.c:4344
++#: fortran/decl.c:4463
+ #, no-c-format
+ msgid "ENTRY statement at %C cannot appear within a DO block"
+ msgstr "Ðаредба ENTRY код %C не може бити унутар блока DO"
+
+-#: fortran/decl.c:4348
++#: fortran/decl.c:4467
+ #, no-c-format
+ msgid "ENTRY statement at %C cannot appear within a SELECT block"
+ msgstr "Ðаредба ENTRY код %C не може бити унутар блока SELECT"
+
+-#: fortran/decl.c:4352
++#: fortran/decl.c:4471
+ #, no-c-format
+ msgid "ENTRY statement at %C cannot appear within a FORALL block"
+ msgstr "Ðаредба ENTRY код %C не може бити унутар блока FORALL"
+
+-#: fortran/decl.c:4356
++#: fortran/decl.c:4475
+ #, no-c-format
+ msgid "ENTRY statement at %C cannot appear within a WHERE block"
+ msgstr "Ðаредба ENTRY код %C не може бити унутар блока WHERE"
+
+-#: fortran/decl.c:4360
++#: fortran/decl.c:4479
+ #, no-c-format
+ msgid "ENTRY statement at %C cannot appear within a contained subprogram"
+ msgstr "Ðаредба ENTRY код %C не може бити унутар Ñадржаног потпрограма"
+
+-#: fortran/decl.c:4378
++#: fortran/decl.c:4497
+ #, no-c-format
+ msgid "ENTRY statement at %C cannot appear in a contained procedure"
+ msgstr "Ðаредба ENTRY код %C не може бити у Ñадржаној процедури"
+
+-#: fortran/decl.c:4560
++#: fortran/decl.c:4552 fortran/decl.c:4742
+ #, no-c-format
+ msgid "Missing required parentheses before BIND(C) at %C"
+ msgstr ""
+
+-#: fortran/decl.c:4618 fortran/decl.c:4634
++#: fortran/decl.c:4801 fortran/decl.c:4817
+ #, fuzzy, no-c-format
+ msgid "Syntax error in NAME= specifier for binding label at %C"
+ msgstr "СинтакÑна грешка у одредници CASE код %C"
+
+-#: fortran/decl.c:4649
++#: fortran/decl.c:4832
+ #, fuzzy, no-c-format
+ msgid "Missing closing quote '\"' for binding label at %C"
+ msgstr "ÐедоÑтаје етикета формата код %C"
+
+-#: fortran/decl.c:4658
++#: fortran/decl.c:4841
+ #, fuzzy, no-c-format
+ msgid "Missing closing quote ''' for binding label at %C"
+ msgstr "ÐедоÑтаје етикета формата код %C"
+
+-#: fortran/decl.c:4668
++#: fortran/decl.c:4851
+ #, fuzzy, no-c-format
+ msgid "Missing closing paren for binding label at %C"
+ msgstr "ÐедоÑтаје етикета формата код %C"
+
+-#: fortran/decl.c:4703
++#: fortran/decl.c:4857
++#, fuzzy, no-c-format
++msgid "No binding name is allowed in BIND(C) at %C"
++msgstr "Име функције ‘%s’ није дозвољено код %C"
++
++#: fortran/decl.c:4863
+ #, no-c-format
++msgid "For dummy procedure %s, no binding name is allowed in BIND(C) at %C"
++msgstr ""
++
++#: fortran/decl.c:4894
++#, no-c-format
+ msgid "NAME not allowed on BIND(C) for ABSTRACT INTERFACE at %C"
+ msgstr ""
+
+-#: fortran/decl.c:4876
++#: fortran/decl.c:5066
+ #, no-c-format
+ msgid "Unexpected END statement at %C"
+ msgstr "Ðеочекивана наредба END код %C"
+
+ #. We would have required END [something].
+-#: fortran/decl.c:4885
++#: fortran/decl.c:5075
+ #, no-c-format
+ msgid "%s statement expected at %L"
+ msgstr "Очекивана је наредба %s код %L"
+
+-#: fortran/decl.c:4896
++#: fortran/decl.c:5086
+ #, no-c-format
+ msgid "Expecting %s statement at %C"
+ msgstr "Очекивана је наредба %s код %C"
+
+-#: fortran/decl.c:4911
++#: fortran/decl.c:5101
+ #, no-c-format
+ msgid "Expected block name of '%s' in %s statement at %C"
+ msgstr "Очекивано је име блока за ‘%s’ у наредби %s код %C"
+
+-#: fortran/decl.c:4928
++#: fortran/decl.c:5118
+ #, no-c-format
+ msgid "Expected terminating name at %C"
+ msgstr "Очекивано је завршно име код %C"
+
+-#: fortran/decl.c:4937
++#: fortran/decl.c:5127
+ #, no-c-format
+ msgid "Expected label '%s' for %s statement at %C"
+ msgstr "Очекивана је етикета ‘%s’ за наредбу %s код %C"
+
+-#: fortran/decl.c:4991
++#: fortran/decl.c:5181
+ #, no-c-format
+ msgid "Missing array specification at %L in DIMENSION statement"
+ msgstr "ÐедоÑтаје одредница низа код %L у наредби DIMENSION"
+
+-#: fortran/decl.c:5000
++#: fortran/decl.c:5189
+ #, no-c-format
++msgid "Dimensions specified for %s at %L after its initialisation"
++msgstr ""
++
++#: fortran/decl.c:5198
++#, no-c-format
+ msgid "Array specification must be deferred at %L"
+ msgstr "Одредница низа мора бити одложена код %L"
+
+-#: fortran/decl.c:5077
++#: fortran/decl.c:5275
+ #, no-c-format
+ msgid "Unexpected character in variable list at %C"
+ msgstr "Ðеочекиван знак у лиÑти променљивих код %C"
+
+-#: fortran/decl.c:5114
++#: fortran/decl.c:5312
+ #, no-c-format
+ msgid "Expected '(' at %C"
+ msgstr "Очекивано је ‘(’ код %C"
+
+-#: fortran/decl.c:5128 fortran/decl.c:5168
++#: fortran/decl.c:5326 fortran/decl.c:5366
+ #, no-c-format
+ msgid "Expected variable name at %C"
+ msgstr "Очекивано је име променљиве код %C"
+
+-#: fortran/decl.c:5144
++#: fortran/decl.c:5342
+ #, fuzzy, no-c-format
+ msgid "Cray pointer at %C must be an integer"
+ msgstr "Крејов показивач код %C мора бити целобројни."
+
+-#: fortran/decl.c:5148
++#: fortran/decl.c:5346
+ #, fuzzy, no-c-format
+ msgid "Cray pointer at %C has %d bytes of precision; memory addresses require %d bytes"
+ msgstr "Крејов показивач код %C има %d бајтова тачноÑти; меморијÑка адреÑа захтева %d бајтова."
+
+-#: fortran/decl.c:5154
++#: fortran/decl.c:5352
+ #, no-c-format
+ msgid "Expected \",\" at %C"
+ msgstr "Очекивано је ‘,’ код %C"
+
+-#: fortran/decl.c:5217
++#: fortran/decl.c:5415
+ #, no-c-format
+ msgid "Expected \")\" at %C"
+ msgstr "Очекивано је ‘)’ код %C"
+
+-#: fortran/decl.c:5229
++#: fortran/decl.c:5427
+ #, no-c-format
+ msgid "Expected \",\" or end of statement at %C"
+ msgstr "Очекивано је ‘,’ или крај наредбе код %C"
+
+-#: fortran/decl.c:5293
++#: fortran/decl.c:5491
+ #, fuzzy, no-c-format
+ msgid "Cray pointer declaration at %C requires -fcray-pointer flag"
+ msgstr "Декларација Крејовог показивача код %C захтева заÑтавицу -fcray-pointer."
+
+-#: fortran/decl.c:5388
++#: fortran/decl.c:5586
+ #, no-c-format
+ msgid "Access specification of the %s operator at %C has already been specified"
+ msgstr "Одредница приÑтупа оператора %s код %C је већ наведена"
+
+-#: fortran/decl.c:5405
++#: fortran/decl.c:5603
+ #, no-c-format
+ msgid "Access specification of the .%s. operator at %C has already been specified"
+ msgstr "Одредница приÑтупа оператора .%s. код %C је већ наведена"
+
+-#: fortran/decl.c:5443
++#: fortran/decl.c:5641
+ #, fuzzy, no-c-format
+ msgid "Fortran 2003: PROTECTED statement at %C"
+ msgstr "Фортран 2003: Ðаредба FLUSH код %C"
+
+-#: fortran/decl.c:5483
++#: fortran/decl.c:5681
+ #, fuzzy, no-c-format
+ msgid "Syntax error in PROTECTED statement at %C"
+ msgstr "СинтакÑна грешка у наредби SAVE код %C"
+
+-#: fortran/decl.c:5504
++#: fortran/decl.c:5702
+ #, fuzzy, no-c-format
+ msgid "PRIVATE statement at %C is only allowed in the specification part of a module"
+ msgstr "Ðаредба DATA код %C није дозвољена у чиÑтој процедури"
+
+-#: fortran/decl.c:5541
++#: fortran/decl.c:5739
+ #, fuzzy, no-c-format
+ msgid "PUBLIC statement at %C is only allowed in the specification part of a module"
+ msgstr "Ðаредба DATA код %C није дозвољена у чиÑтој процедури"
+
+-#: fortran/decl.c:5568
++#: fortran/decl.c:5766
+ #, no-c-format
+ msgid "Expected variable name at %C in PARAMETER statement"
+ msgstr "Очекивано је име променљиве код %C у наредби PARAMETER"
+
+-#: fortran/decl.c:5575
++#: fortran/decl.c:5773
+ #, no-c-format
+ msgid "Expected = sign in PARAMETER statement at %C"
+ msgstr "Очекиван је знак = у наредби PARAMETER код %C"
+
+-#: fortran/decl.c:5581
++#: fortran/decl.c:5779
+ #, no-c-format
+ msgid "Expected expression at %C in PARAMETER statement"
+ msgstr "Очекиван је израз код %C у наредби PARAMETER"
+
+-#: fortran/decl.c:5639
++#: fortran/decl.c:5799
++#, fuzzy, no-c-format
++msgid "Initializing already initialized variable at %C"
++msgstr "УÑпоÑтављач није дозвољен за заједничку променљиву ‘%s’ код %C"
++
++#: fortran/decl.c:5844
+ #, no-c-format
+ msgid "Unexpected characters in PARAMETER statement at %C"
+ msgstr "Ðеочекивани знакови у наредби PARAMETER код %C"
+
+-#: fortran/decl.c:5663
++#: fortran/decl.c:5868
+ #, no-c-format
+ msgid "Blanket SAVE statement at %C follows previous SAVE statement"
+ msgstr "Покривачка наредба SAVE код %C прати претходну наредбу SAVE"
+
+-#: fortran/decl.c:5675
++#: fortran/decl.c:5880
+ #, no-c-format
+ msgid "SAVE statement at %C follows blanket SAVE statement"
+ msgstr "Ðаредба SAVE код %C прати покривачку наредбу SAVE"
+
+-#: fortran/decl.c:5722
++#: fortran/decl.c:5927
+ #, no-c-format
+ msgid "Syntax error in SAVE statement at %C"
+ msgstr "СинтакÑна грешка у наредби SAVE код %C"
+
+-#: fortran/decl.c:5733
++#: fortran/decl.c:5938
+ #, fuzzy, no-c-format
+ msgid "Fortran 2003: VALUE statement at %C"
+ msgstr "Фортран 2003: Ðаредба FLUSH код %C"
+
+-#: fortran/decl.c:5773
++#: fortran/decl.c:5978
+ #, fuzzy, no-c-format
+ msgid "Syntax error in VALUE statement at %C"
+ msgstr "СинтакÑна грешка у наредби SAVE код %C"
+
+-#: fortran/decl.c:5784
++#: fortran/decl.c:5989
+ #, fuzzy, no-c-format
+ msgid "Fortran 2003: VOLATILE statement at %C"
+ msgstr "Фортран 2003: Ðаредба FLUSH код %C"
+
+-#: fortran/decl.c:5826
++#: fortran/decl.c:6031
+ #, fuzzy, no-c-format
+ msgid "Syntax error in VOLATILE statement at %C"
+ msgstr "СинтакÑна грешка у наредби SAVE код %C"
+
+-#: fortran/decl.c:5848
++#: fortran/decl.c:6054
+ #, no-c-format
+ msgid "MODULE PROCEDURE at %C must be in a generic module interface"
+ msgstr "MODULE PROCEDURE код %C мора бити у генеричком Ñучељу модула"
+
+-#: fortran/decl.c:5910
++#: fortran/decl.c:6142
+ #, fuzzy, no-c-format
+ msgid "Derived type at %C can only be PRIVATE in the specification part of a module"
+ msgstr "Изведени тип код %C може бити Ñамо приватан унутар модула"
+
+-#: fortran/decl.c:5922
++#: fortran/decl.c:6154
+ #, fuzzy, no-c-format
+ msgid "Derived type at %C can only be PUBLIC in the specification part of a module"
+ msgstr "Изведени тип код %C може бити Ñамо јаван унутар модула"
+
+-#: fortran/decl.c:5979
++#: fortran/decl.c:6211
+ #, no-c-format
+ msgid "Expected :: in TYPE definition at %C"
+ msgstr "Очекивано је :: у дефиницији TYPE код %C"
+
+-#: fortran/decl.c:5990
++#: fortran/decl.c:6222
+ #, no-c-format
+ msgid "Type name '%s' at %C cannot be the same as an intrinsic type"
+ msgstr "Име типа ‘%s’ код %C не може бити иÑто као ÑопÑтвеног типа"
+
+-#: fortran/decl.c:6000
++#: fortran/decl.c:6232
+ #, no-c-format
+ msgid "Derived type name '%s' at %C already has a basic type of %s"
+ msgstr "Име изведеног типа ‘%s’ код %C већ има оÑновни тип %s"
+
+-#: fortran/decl.c:6016
++#: fortran/decl.c:6248
+ #, no-c-format
+ msgid "Derived type definition of '%s' at %C has already been defined"
+ msgstr "Дефиниција изведеног типа ‘%s’ код %C је већ учињена"
+
+-#: fortran/decl.c:6054
++#: fortran/decl.c:6286
+ #, no-c-format
+ msgid "Cray Pointee at %C cannot be assumed shape array"
+ msgstr "Крејов показивани код %C не може бити низ претпоÑтављеног облика"
+
+-#: fortran/decl.c:6074
++#: fortran/decl.c:6306
+ #, fuzzy, no-c-format
+ msgid "Fortran 2003: ENUM and ENUMERATOR at %C"
+ msgstr "Ðово у фортрану 2003: ENUM и ENUMERATOR код %C"
+
+-#: fortran/decl.c:6146
++#: fortran/decl.c:6378
+ #, no-c-format
+ msgid "ENUMERATOR %L not initialized with integer expression"
+ msgstr "Ðабрајач %L није уÑпоÑтављен целобројним изразом"
+
+-#: fortran/decl.c:6195
++#: fortran/decl.c:6427
+ #, no-c-format
+ msgid "ENUM definition statement expected before %C"
+ msgstr "Очекивана је наредба дефиниције ENUM пре %C"
+
+-#: fortran/decl.c:6228
++#: fortran/decl.c:6460
+ #, no-c-format
+ msgid "Syntax error in ENUMERATOR definition at %C"
+ msgstr "СинтакÑна грешка у дефиницији ENUMERATOR код %C"
+@@ -5162,21 +5122,21 @@
+ msgid " "
+ msgstr " "
+
+-#: fortran/dump-parse-tree.c:73 fortran/dump-parse-tree.c:626
++#: fortran/dump-parse-tree.c:73 fortran/dump-parse-tree.c:637
+ #, c-format
+ msgid "(%s "
+ msgstr "(%s "
+
+-#: fortran/dump-parse-tree.c:86 fortran/dump-parse-tree.c:1069
+-#: fortran/dump-parse-tree.c:1113 fortran/dump-parse-tree.c:1123
++#: fortran/dump-parse-tree.c:86 fortran/dump-parse-tree.c:1091
++#: fortran/dump-parse-tree.c:1135 fortran/dump-parse-tree.c:1145
+ #, c-format
+ msgid "%d"
+ msgstr "%d"
+
+ #: fortran/dump-parse-tree.c:90 fortran/dump-parse-tree.c:116
+ #: fortran/dump-parse-tree.c:159 fortran/dump-parse-tree.c:395
+-#: fortran/dump-parse-tree.c:518 fortran/dump-parse-tree.c:613
+-#: fortran/dump-parse-tree.c:636
++#: fortran/dump-parse-tree.c:518 fortran/dump-parse-tree.c:624
++#: fortran/dump-parse-tree.c:647
+ #, c-format
+ msgid ")"
+ msgstr ")"
+@@ -5314,7 +5274,7 @@
+ msgid "%.2x"
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:429 fortran/dump-parse-tree.c:732
++#: fortran/dump-parse-tree.c:429 fortran/dump-parse-tree.c:754
+ #, c-format
+ msgid "%s:"
+ msgstr "%s:"
+@@ -5429,748 +5389,753 @@
+ msgid "%s[["
+ msgstr "%s[["
+
+-#: fortran/dump-parse-tree.c:551
++#: fortran/dump-parse-tree.c:560
+ #, fuzzy, c-format
+ msgid "(%s %s %s %s %s"
+ msgstr "(%s %s %s %s"
+
+-#: fortran/dump-parse-tree.c:558
++#: fortran/dump-parse-tree.c:567
+ #, c-format
+ msgid " ALLOCATABLE"
+ msgstr " ALLOCATABLE"
+
+-#: fortran/dump-parse-tree.c:560 fortran/dump-parse-tree.c:631
++#: fortran/dump-parse-tree.c:569 fortran/dump-parse-tree.c:642
+ #, c-format
+ msgid " DIMENSION"
+ msgstr " DIMENSION"
+
+-#: fortran/dump-parse-tree.c:562
++#: fortran/dump-parse-tree.c:571
+ #, c-format
+ msgid " EXTERNAL"
+ msgstr " EXTERNAL"
+
+-#: fortran/dump-parse-tree.c:564
++#: fortran/dump-parse-tree.c:573
+ #, c-format
+ msgid " INTRINSIC"
+ msgstr " INTRINSIC"
+
+-#: fortran/dump-parse-tree.c:566
++#: fortran/dump-parse-tree.c:575
+ #, c-format
+ msgid " OPTIONAL"
+ msgstr " OPTIONAL"
+
+-#: fortran/dump-parse-tree.c:568 fortran/dump-parse-tree.c:629
++#: fortran/dump-parse-tree.c:577 fortran/dump-parse-tree.c:640
+ #, c-format
+ msgid " POINTER"
+ msgstr " POINTER"
+
+-#: fortran/dump-parse-tree.c:570
++#: fortran/dump-parse-tree.c:579
+ #, fuzzy, c-format
+ msgid " PROTECTED"
+ msgstr " FORMATTED"
+
+-#: fortran/dump-parse-tree.c:572
++#: fortran/dump-parse-tree.c:581
+ #, c-format
+ msgid " VALUE"
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:574
++#: fortran/dump-parse-tree.c:583
+ #, c-format
+ msgid " VOLATILE"
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:576
++#: fortran/dump-parse-tree.c:585
+ #, c-format
+ msgid " THREADPRIVATE"
+ msgstr " THREADPRIVATE"
+
+-#: fortran/dump-parse-tree.c:578
++#: fortran/dump-parse-tree.c:587
+ #, c-format
+ msgid " TARGET"
+ msgstr " TARGET"
+
+-#: fortran/dump-parse-tree.c:580
++#: fortran/dump-parse-tree.c:589
+ #, c-format
+ msgid " DUMMY"
+ msgstr " DUMMY"
+
+-#: fortran/dump-parse-tree.c:582
++#: fortran/dump-parse-tree.c:591
+ #, c-format
+ msgid " RESULT"
+ msgstr " RESULT"
+
+-#: fortran/dump-parse-tree.c:584
++#: fortran/dump-parse-tree.c:593
+ #, c-format
+ msgid " ENTRY"
+ msgstr " ENTRY"
+
+-#: fortran/dump-parse-tree.c:587
++#: fortran/dump-parse-tree.c:595
+ #, c-format
++msgid " BIND(C)"
++msgstr ""
++
++#: fortran/dump-parse-tree.c:598
++#, c-format
+ msgid " DATA"
+ msgstr " DATA"
+
+-#: fortran/dump-parse-tree.c:589
++#: fortran/dump-parse-tree.c:600
+ #, c-format
+ msgid " USE-ASSOC"
+ msgstr " USE-ASSOC"
+
+-#: fortran/dump-parse-tree.c:591
++#: fortran/dump-parse-tree.c:602
+ #, c-format
+ msgid " IN-NAMELIST"
+ msgstr " IN-NAMELIST"
+
+-#: fortran/dump-parse-tree.c:593
++#: fortran/dump-parse-tree.c:604
+ #, c-format
+ msgid " IN-COMMON"
+ msgstr " IN-COMMON"
+
+-#: fortran/dump-parse-tree.c:596
++#: fortran/dump-parse-tree.c:607
+ #, c-format
+ msgid " ABSTRACT INTERFACE"
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:598
++#: fortran/dump-parse-tree.c:609
+ #, c-format
+ msgid " FUNCTION"
+ msgstr " FUNCTION"
+
+-#: fortran/dump-parse-tree.c:600
++#: fortran/dump-parse-tree.c:611
+ #, c-format
+ msgid " SUBROUTINE"
+ msgstr " SUBROUTINE"
+
+-#: fortran/dump-parse-tree.c:602
++#: fortran/dump-parse-tree.c:613
+ #, c-format
+ msgid " IMPLICIT-TYPE"
+ msgstr " IMPLICIT-TYPE"
+
+-#: fortran/dump-parse-tree.c:605
++#: fortran/dump-parse-tree.c:616
+ #, c-format
+ msgid " SEQUENCE"
+ msgstr " SEQUENCE"
+
+-#: fortran/dump-parse-tree.c:607
++#: fortran/dump-parse-tree.c:618
+ #, c-format
+ msgid " ELEMENTAL"
+ msgstr " ELEMENTAL"
+
+-#: fortran/dump-parse-tree.c:609
++#: fortran/dump-parse-tree.c:620
+ #, c-format
+ msgid " PURE"
+ msgstr " PURE"
+
+-#: fortran/dump-parse-tree.c:611
++#: fortran/dump-parse-tree.c:622
+ #, c-format
+ msgid " RECURSIVE"
+ msgstr " RECURSIVE"
+
+-#: fortran/dump-parse-tree.c:635 fortran/dump-parse-tree.c:682
+-#: fortran/dump-parse-tree.c:706 fortran/dump-parse-tree.c:735
+-#: fortran/dump-parse-tree.c:1276 fortran/dump-parse-tree.c:1282
+-#: fortran/dump-parse-tree.c:1784
++#: fortran/dump-parse-tree.c:646 fortran/dump-parse-tree.c:693
++#: fortran/dump-parse-tree.c:717 fortran/dump-parse-tree.c:757
++#: fortran/dump-parse-tree.c:1298 fortran/dump-parse-tree.c:1304
++#: fortran/dump-parse-tree.c:1806
+ #, c-format
+ msgid " %s"
+ msgstr " %s"
+
+-#: fortran/dump-parse-tree.c:659
++#: fortran/dump-parse-tree.c:670
+ #, c-format
+ msgid "symbol %s "
+ msgstr "Ñимбол %s "
+
+-#: fortran/dump-parse-tree.c:666
++#: fortran/dump-parse-tree.c:677
+ #, c-format
+ msgid "value: "
+ msgstr "вредноÑÑ‚: "
+
+-#: fortran/dump-parse-tree.c:673
++#: fortran/dump-parse-tree.c:684
+ #, c-format
+ msgid "Array spec:"
+ msgstr "Одредница низа:"
+
+-#: fortran/dump-parse-tree.c:680
++#: fortran/dump-parse-tree.c:691
+ #, c-format
+ msgid "Generic interfaces:"
+ msgstr "Генеричка Ñучеља:"
+
+-#: fortran/dump-parse-tree.c:688
++#: fortran/dump-parse-tree.c:699
+ #, c-format
+ msgid "result: %s"
+ msgstr "резултат: %s"
+
+-#: fortran/dump-parse-tree.c:694
++#: fortran/dump-parse-tree.c:705
+ #, c-format
+ msgid "components: "
+ msgstr "компоненте: "
+
+-#: fortran/dump-parse-tree.c:701
++#: fortran/dump-parse-tree.c:712
+ #, c-format
+ msgid "Formal arglist:"
+ msgstr "Формална арглиÑта:"
+
+-#: fortran/dump-parse-tree.c:708
++#: fortran/dump-parse-tree.c:719
+ #, c-format
+ msgid " [Alt Return]"
+ msgstr " [алт ретурн]"
+
+-#: fortran/dump-parse-tree.c:715
++#: fortran/dump-parse-tree.c:726
+ #, c-format
+ msgid "Formal namespace"
+ msgstr "Формални именÑки проÑтор"
+
+-#: fortran/dump-parse-tree.c:771
++#: fortran/dump-parse-tree.c:793
+ #, c-format
+ msgid "common: /%s/ "
+ msgstr "заједничко: /%s/ "
+
+-#: fortran/dump-parse-tree.c:779 fortran/dump-parse-tree.c:1720
++#: fortran/dump-parse-tree.c:801 fortran/dump-parse-tree.c:1742
+ #, c-format
+ msgid ", "
+ msgstr ", "
+
+-#: fortran/dump-parse-tree.c:791
++#: fortran/dump-parse-tree.c:813
+ #, c-format
+ msgid "symtree: %s Ambig %d"
+ msgstr "ÑимÑтабло: %s двоÑм %d"
+
+-#: fortran/dump-parse-tree.c:794
++#: fortran/dump-parse-tree.c:816
+ #, c-format
+ msgid " from namespace %s"
+ msgstr " из именÑког проÑтора %s"
+
+-#: fortran/dump-parse-tree.c:820
++#: fortran/dump-parse-tree.c:842
+ #, c-format
+ msgid "%s,"
+ msgstr "%s,"
+
+-#: fortran/dump-parse-tree.c:852
++#: fortran/dump-parse-tree.c:874
+ #, c-format
+ msgid "!$OMP %s"
+ msgstr "!$OMP %s"
+
+-#: fortran/dump-parse-tree.c:867 fortran/dump-parse-tree.c:1010
++#: fortran/dump-parse-tree.c:889 fortran/dump-parse-tree.c:1032
+ #, c-format
+ msgid " (%s)"
+ msgstr " (%s)"
+
+-#: fortran/dump-parse-tree.c:872
++#: fortran/dump-parse-tree.c:894
+ #, c-format
+ msgid " ("
+ msgstr " ("
+
+-#: fortran/dump-parse-tree.c:888
++#: fortran/dump-parse-tree.c:910
+ #, c-format
+ msgid " IF("
+ msgstr " IF("
+
+-#: fortran/dump-parse-tree.c:894
++#: fortran/dump-parse-tree.c:916
+ #, c-format
+ msgid " NUM_THREADS("
+ msgstr " NUM_THREADS("
+
+-#: fortran/dump-parse-tree.c:910
++#: fortran/dump-parse-tree.c:932
+ #, c-format
+ msgid " SCHEDULE (%s"
+ msgstr " SCHEDULE (%s"
+
+-#: fortran/dump-parse-tree.c:930
++#: fortran/dump-parse-tree.c:952
+ #, c-format
+ msgid " DEFAULT(%s)"
+ msgstr " DEFAULT(%s)"
+
+-#: fortran/dump-parse-tree.c:933
++#: fortran/dump-parse-tree.c:955
+ #, c-format
+ msgid " ORDERED"
+ msgstr " ORDERED"
+
+-#: fortran/dump-parse-tree.c:958
++#: fortran/dump-parse-tree.c:980
+ #, c-format
+ msgid " REDUCTION(%s:"
+ msgstr " REDUCTION(%s:"
+
+-#: fortran/dump-parse-tree.c:972
++#: fortran/dump-parse-tree.c:994
+ #, c-format
+ msgid " %s("
+ msgstr " %s("
+
+-#: fortran/dump-parse-tree.c:988
++#: fortran/dump-parse-tree.c:1010
+ #, c-format
+ msgid "!$OMP SECTION\n"
+ msgstr "!$OMP SECTION\n"
+
+-#: fortran/dump-parse-tree.c:997
++#: fortran/dump-parse-tree.c:1019
+ #, c-format
+ msgid "!$OMP END %s"
+ msgstr "!$OMP END %s"
+
+-#: fortran/dump-parse-tree.c:1002
++#: fortran/dump-parse-tree.c:1024
+ #, c-format
+ msgid " COPYPRIVATE("
+ msgstr " COPYPRIVATE("
+
+-#: fortran/dump-parse-tree.c:1007
++#: fortran/dump-parse-tree.c:1029
+ #, c-format
+ msgid " NOWAIT"
+ msgstr " NOWAIT"
+
+-#: fortran/dump-parse-tree.c:1034
++#: fortran/dump-parse-tree.c:1056
+ #, c-format
+ msgid "NOP"
+ msgstr "NOP"
+
+-#: fortran/dump-parse-tree.c:1038
++#: fortran/dump-parse-tree.c:1060
+ #, c-format
+ msgid "CONTINUE"
+ msgstr "CONTINUE"
+
+-#: fortran/dump-parse-tree.c:1042
++#: fortran/dump-parse-tree.c:1064
+ #, c-format
+ msgid "ENTRY %s"
+ msgstr "ENTRY %s"
+
+-#: fortran/dump-parse-tree.c:1047
++#: fortran/dump-parse-tree.c:1069
+ #, c-format
+ msgid "ASSIGN "
+ msgstr "ASSIGN "
+
+-#: fortran/dump-parse-tree.c:1054
++#: fortran/dump-parse-tree.c:1076
+ #, c-format
+ msgid "LABEL ASSIGN "
+ msgstr "LABEL ASSIGN "
+
+-#: fortran/dump-parse-tree.c:1056
++#: fortran/dump-parse-tree.c:1078
+ #, c-format
+ msgid " %d"
+ msgstr " %d"
+
+-#: fortran/dump-parse-tree.c:1060
++#: fortran/dump-parse-tree.c:1082
+ #, c-format
+ msgid "POINTER ASSIGN "
+ msgstr "POINTER ASSIGN "
+
+-#: fortran/dump-parse-tree.c:1067
++#: fortran/dump-parse-tree.c:1089
+ #, c-format
+ msgid "GOTO "
+ msgstr "GOTO "
+
+-#: fortran/dump-parse-tree.c:1076
++#: fortran/dump-parse-tree.c:1098
+ #, c-format
+ msgid ", ("
+ msgstr ", ("
+
+-#: fortran/dump-parse-tree.c:1092 fortran/dump-parse-tree.c:1094
++#: fortran/dump-parse-tree.c:1114 fortran/dump-parse-tree.c:1116
+ #, c-format
+ msgid "CALL %s "
+ msgstr "CALL %s "
+
+-#: fortran/dump-parse-tree.c:1096
++#: fortran/dump-parse-tree.c:1118
+ #, c-format
+ msgid "CALL ?? "
+ msgstr "CALL ?? "
+
+-#: fortran/dump-parse-tree.c:1102
++#: fortran/dump-parse-tree.c:1124
+ #, c-format
+ msgid "RETURN "
+ msgstr "RETURN "
+
+-#: fortran/dump-parse-tree.c:1108
++#: fortran/dump-parse-tree.c:1130
+ #, c-format
+ msgid "PAUSE "
+ msgstr "PAUSE "
+
+-#: fortran/dump-parse-tree.c:1118
++#: fortran/dump-parse-tree.c:1140
+ #, c-format
+ msgid "STOP "
+ msgstr "STOP "
+
+-#: fortran/dump-parse-tree.c:1128 fortran/dump-parse-tree.c:1136
++#: fortran/dump-parse-tree.c:1150 fortran/dump-parse-tree.c:1158
+ #, c-format
+ msgid "IF "
+ msgstr "IF "
+
+-#: fortran/dump-parse-tree.c:1130
++#: fortran/dump-parse-tree.c:1152
+ #, c-format
+ msgid " %d, %d, %d"
+ msgstr " %d, %d, %d"
+
+-#: fortran/dump-parse-tree.c:1147
++#: fortran/dump-parse-tree.c:1169
+ #, c-format
+ msgid "ELSE\n"
+ msgstr "ELSE\n"
+
+-#: fortran/dump-parse-tree.c:1150
++#: fortran/dump-parse-tree.c:1172
+ #, c-format
+ msgid "ELSE IF "
+ msgstr "ELSE IF "
+
+-#: fortran/dump-parse-tree.c:1160
++#: fortran/dump-parse-tree.c:1182
+ #, c-format
+ msgid "ENDIF"
+ msgstr "ENDIF"
+
+-#: fortran/dump-parse-tree.c:1165
++#: fortran/dump-parse-tree.c:1187
+ #, c-format
+ msgid "SELECT CASE "
+ msgstr "SELECT CASE "
+
+-#: fortran/dump-parse-tree.c:1173
++#: fortran/dump-parse-tree.c:1195
+ #, c-format
+ msgid "CASE "
+ msgstr "CASE "
+
+-#: fortran/dump-parse-tree.c:1189
++#: fortran/dump-parse-tree.c:1211
+ #, c-format
+ msgid "END SELECT"
+ msgstr "END SELECT"
+
+-#: fortran/dump-parse-tree.c:1193
++#: fortran/dump-parse-tree.c:1215
+ #, c-format
+ msgid "WHERE "
+ msgstr "WHERE "
+
+-#: fortran/dump-parse-tree.c:1204
++#: fortran/dump-parse-tree.c:1226
+ #, c-format
+ msgid "ELSE WHERE "
+ msgstr "ELSE WHERE "
+
+-#: fortran/dump-parse-tree.c:1211
++#: fortran/dump-parse-tree.c:1233
+ #, c-format
+ msgid "END WHERE"
+ msgstr "END WHERE"
+
+-#: fortran/dump-parse-tree.c:1216
++#: fortran/dump-parse-tree.c:1238
+ #, c-format
+ msgid "FORALL "
+ msgstr "FORALL "
+
+-#: fortran/dump-parse-tree.c:1241
++#: fortran/dump-parse-tree.c:1263
+ #, c-format
+ msgid "END FORALL"
+ msgstr "END FORALL"
+
+-#: fortran/dump-parse-tree.c:1245
++#: fortran/dump-parse-tree.c:1267
+ #, c-format
+ msgid "DO "
+ msgstr "DO "
+
+-#: fortran/dump-parse-tree.c:1259 fortran/dump-parse-tree.c:1270
++#: fortran/dump-parse-tree.c:1281 fortran/dump-parse-tree.c:1292
+ #, c-format
+ msgid "END DO"
+ msgstr "END DO"
+
+-#: fortran/dump-parse-tree.c:1263
++#: fortran/dump-parse-tree.c:1285
+ #, c-format
+ msgid "DO WHILE "
+ msgstr "DO WHILE "
+
+-#: fortran/dump-parse-tree.c:1274
++#: fortran/dump-parse-tree.c:1296
+ #, c-format
+ msgid "CYCLE"
+ msgstr "CYCLE"
+
+-#: fortran/dump-parse-tree.c:1280
++#: fortran/dump-parse-tree.c:1302
+ #, c-format
+ msgid "EXIT"
+ msgstr "EXIT"
+
+-#: fortran/dump-parse-tree.c:1286
++#: fortran/dump-parse-tree.c:1308
+ #, c-format
+ msgid "ALLOCATE "
+ msgstr "ALLOCATE "
+
+-#: fortran/dump-parse-tree.c:1289 fortran/dump-parse-tree.c:1305
++#: fortran/dump-parse-tree.c:1311 fortran/dump-parse-tree.c:1327
+ #, c-format
+ msgid " STAT="
+ msgstr " STAT="
+
+-#: fortran/dump-parse-tree.c:1302
++#: fortran/dump-parse-tree.c:1324
+ #, c-format
+ msgid "DEALLOCATE "
+ msgstr "DEALLOCATE "
+
+-#: fortran/dump-parse-tree.c:1318
++#: fortran/dump-parse-tree.c:1340
+ #, c-format
+ msgid "OPEN"
+ msgstr "OPEN"
+
+-#: fortran/dump-parse-tree.c:1323 fortran/dump-parse-tree.c:1402
+-#: fortran/dump-parse-tree.c:1444 fortran/dump-parse-tree.c:1467
+-#: fortran/dump-parse-tree.c:1619
++#: fortran/dump-parse-tree.c:1345 fortran/dump-parse-tree.c:1424
++#: fortran/dump-parse-tree.c:1466 fortran/dump-parse-tree.c:1489
++#: fortran/dump-parse-tree.c:1641
+ #, c-format
+ msgid " UNIT="
+ msgstr " UNIT="
+
+-#: fortran/dump-parse-tree.c:1328 fortran/dump-parse-tree.c:1407
+-#: fortran/dump-parse-tree.c:1449 fortran/dump-parse-tree.c:1478
+-#: fortran/dump-parse-tree.c:1636
++#: fortran/dump-parse-tree.c:1350 fortran/dump-parse-tree.c:1429
++#: fortran/dump-parse-tree.c:1471 fortran/dump-parse-tree.c:1500
++#: fortran/dump-parse-tree.c:1658
+ #, c-format
+ msgid " IOMSG="
+ msgstr " IOMSG="
+
+-#: fortran/dump-parse-tree.c:1333 fortran/dump-parse-tree.c:1412
+-#: fortran/dump-parse-tree.c:1454 fortran/dump-parse-tree.c:1483
+-#: fortran/dump-parse-tree.c:1641
++#: fortran/dump-parse-tree.c:1355 fortran/dump-parse-tree.c:1434
++#: fortran/dump-parse-tree.c:1476 fortran/dump-parse-tree.c:1505
++#: fortran/dump-parse-tree.c:1663
+ #, c-format
+ msgid " IOSTAT="
+ msgstr " IOSTAT="
+
+-#: fortran/dump-parse-tree.c:1338 fortran/dump-parse-tree.c:1472
++#: fortran/dump-parse-tree.c:1360 fortran/dump-parse-tree.c:1494
+ #, c-format
+ msgid " FILE="
+ msgstr " FILE="
+
+-#: fortran/dump-parse-tree.c:1343 fortran/dump-parse-tree.c:1417
++#: fortran/dump-parse-tree.c:1365 fortran/dump-parse-tree.c:1439
+ #, c-format
+ msgid " STATUS="
+ msgstr " STATUS="
+
+-#: fortran/dump-parse-tree.c:1348 fortran/dump-parse-tree.c:1513
++#: fortran/dump-parse-tree.c:1370 fortran/dump-parse-tree.c:1535
+ #, c-format
+ msgid " ACCESS="
+ msgstr " ACCESS="
+
+-#: fortran/dump-parse-tree.c:1353 fortran/dump-parse-tree.c:1529
++#: fortran/dump-parse-tree.c:1375 fortran/dump-parse-tree.c:1551
+ #, c-format
+ msgid " FORM="
+ msgstr " FORM="
+
+-#: fortran/dump-parse-tree.c:1358 fortran/dump-parse-tree.c:1544
++#: fortran/dump-parse-tree.c:1380 fortran/dump-parse-tree.c:1566
+ #, c-format
+ msgid " RECL="
+ msgstr " RECL="
+
+-#: fortran/dump-parse-tree.c:1363 fortran/dump-parse-tree.c:1554
++#: fortran/dump-parse-tree.c:1385 fortran/dump-parse-tree.c:1576
+ #, c-format
+ msgid " BLANK="
+ msgstr " BLANK="
+
+-#: fortran/dump-parse-tree.c:1368 fortran/dump-parse-tree.c:1559
++#: fortran/dump-parse-tree.c:1390 fortran/dump-parse-tree.c:1581
+ #, c-format
+ msgid " POSITION="
+ msgstr " POSITION="
+
+-#: fortran/dump-parse-tree.c:1373 fortran/dump-parse-tree.c:1564
++#: fortran/dump-parse-tree.c:1395 fortran/dump-parse-tree.c:1586
+ #, c-format
+ msgid " ACTION="
+ msgstr " ACTION="
+
+-#: fortran/dump-parse-tree.c:1378 fortran/dump-parse-tree.c:1584
++#: fortran/dump-parse-tree.c:1400 fortran/dump-parse-tree.c:1606
+ #, c-format
+ msgid " DELIM="
+ msgstr " DELIM="
+
+-#: fortran/dump-parse-tree.c:1383 fortran/dump-parse-tree.c:1589
++#: fortran/dump-parse-tree.c:1405 fortran/dump-parse-tree.c:1611
+ #, c-format
+ msgid " PAD="
+ msgstr " PAD="
+
+-#: fortran/dump-parse-tree.c:1388 fortran/dump-parse-tree.c:1594
++#: fortran/dump-parse-tree.c:1410 fortran/dump-parse-tree.c:1616
+ #, c-format
+ msgid " CONVERT="
+ msgstr " CONVERT="
+
+-#: fortran/dump-parse-tree.c:1392 fortran/dump-parse-tree.c:1421
+-#: fortran/dump-parse-tree.c:1458 fortran/dump-parse-tree.c:1599
+-#: fortran/dump-parse-tree.c:1676
++#: fortran/dump-parse-tree.c:1414 fortran/dump-parse-tree.c:1443
++#: fortran/dump-parse-tree.c:1480 fortran/dump-parse-tree.c:1621
++#: fortran/dump-parse-tree.c:1698
+ #, c-format
+ msgid " ERR=%d"
+ msgstr " ERR=%d"
+
+-#: fortran/dump-parse-tree.c:1397
++#: fortran/dump-parse-tree.c:1419
+ #, c-format
+ msgid "CLOSE"
+ msgstr "CLOSE"
+
+-#: fortran/dump-parse-tree.c:1425
++#: fortran/dump-parse-tree.c:1447
+ #, c-format
+ msgid "BACKSPACE"
+ msgstr "BACKSPACE"
+
+-#: fortran/dump-parse-tree.c:1429
++#: fortran/dump-parse-tree.c:1451
+ #, c-format
+ msgid "ENDFILE"
+ msgstr "ENDFILE"
+
+-#: fortran/dump-parse-tree.c:1433
++#: fortran/dump-parse-tree.c:1455
+ #, c-format
+ msgid "REWIND"
+ msgstr "REWIND"
+
+-#: fortran/dump-parse-tree.c:1437
++#: fortran/dump-parse-tree.c:1459
+ #, c-format
+ msgid "FLUSH"
+ msgstr "FLUSH"
+
+-#: fortran/dump-parse-tree.c:1462
++#: fortran/dump-parse-tree.c:1484
+ #, c-format
+ msgid "INQUIRE"
+ msgstr "INQUIRE"
+
+-#: fortran/dump-parse-tree.c:1488
++#: fortran/dump-parse-tree.c:1510
+ #, c-format
+ msgid " EXIST="
+ msgstr " EXIST="
+
+-#: fortran/dump-parse-tree.c:1493
++#: fortran/dump-parse-tree.c:1515
+ #, c-format
+ msgid " OPENED="
+ msgstr " OPENED="
+
+-#: fortran/dump-parse-tree.c:1498
++#: fortran/dump-parse-tree.c:1520
+ #, c-format
+ msgid " NUMBER="
+ msgstr " NUMBER="
+
+-#: fortran/dump-parse-tree.c:1503
++#: fortran/dump-parse-tree.c:1525
+ #, c-format
+ msgid " NAMED="
+ msgstr " NAMED="
+
+-#: fortran/dump-parse-tree.c:1508
++#: fortran/dump-parse-tree.c:1530
+ #, c-format
+ msgid " NAME="
+ msgstr " NAME="
+
+-#: fortran/dump-parse-tree.c:1518
++#: fortran/dump-parse-tree.c:1540
+ #, c-format
+ msgid " SEQUENTIAL="
+ msgstr " SEQUENTIAL="
+
+-#: fortran/dump-parse-tree.c:1524
++#: fortran/dump-parse-tree.c:1546
+ #, c-format
+ msgid " DIRECT="
+ msgstr " DIRECT="
+
+-#: fortran/dump-parse-tree.c:1534
++#: fortran/dump-parse-tree.c:1556
+ #, c-format
+ msgid " FORMATTED"
+ msgstr " FORMATTED"
+
+-#: fortran/dump-parse-tree.c:1539
++#: fortran/dump-parse-tree.c:1561
+ #, c-format
+ msgid " UNFORMATTED="
+ msgstr " UNFORMATTED="
+
+-#: fortran/dump-parse-tree.c:1549
++#: fortran/dump-parse-tree.c:1571
+ #, c-format
+ msgid " NEXTREC="
+ msgstr " NEXTREC="
+
+-#: fortran/dump-parse-tree.c:1569
++#: fortran/dump-parse-tree.c:1591
+ #, c-format
+ msgid " READ="
+ msgstr " READ="
+
+-#: fortran/dump-parse-tree.c:1574
++#: fortran/dump-parse-tree.c:1596
+ #, c-format
+ msgid " WRITE="
+ msgstr " WRITE="
+
+-#: fortran/dump-parse-tree.c:1579
++#: fortran/dump-parse-tree.c:1601
+ #, c-format
+ msgid " READWRITE="
+ msgstr " READWRITE="
+
+-#: fortran/dump-parse-tree.c:1603
++#: fortran/dump-parse-tree.c:1625
+ #, c-format
+ msgid "IOLENGTH "
+ msgstr "IOLENGTH "
+
+-#: fortran/dump-parse-tree.c:1609
++#: fortran/dump-parse-tree.c:1631
+ #, c-format
+ msgid "READ"
+ msgstr "READ"
+
+-#: fortran/dump-parse-tree.c:1613
++#: fortran/dump-parse-tree.c:1635
+ #, c-format
+ msgid "WRITE"
+ msgstr "WRITE"
+
+-#: fortran/dump-parse-tree.c:1625
++#: fortran/dump-parse-tree.c:1647
+ #, c-format
+ msgid " FMT="
+ msgstr " FMT="
+
+-#: fortran/dump-parse-tree.c:1630
++#: fortran/dump-parse-tree.c:1652
+ #, c-format
+ msgid " FMT=%d"
+ msgstr " FMT=%d"
+
+-#: fortran/dump-parse-tree.c:1632
++#: fortran/dump-parse-tree.c:1654
+ #, c-format
+ msgid " NML=%s"
+ msgstr " NML=%s"
+
+-#: fortran/dump-parse-tree.c:1646
++#: fortran/dump-parse-tree.c:1668
+ #, c-format
+ msgid " SIZE="
+ msgstr " SIZE="
+
+-#: fortran/dump-parse-tree.c:1651
++#: fortran/dump-parse-tree.c:1673
+ #, c-format
+ msgid " REC="
+ msgstr " REC="
+
+-#: fortran/dump-parse-tree.c:1656
++#: fortran/dump-parse-tree.c:1678
+ #, c-format
+ msgid " ADVANCE="
+ msgstr " ADVANCE="
+
+-#: fortran/dump-parse-tree.c:1667
++#: fortran/dump-parse-tree.c:1689
+ #, c-format
+ msgid "TRANSFER "
+ msgstr "TRANSFER "
+
+-#: fortran/dump-parse-tree.c:1672
++#: fortran/dump-parse-tree.c:1694
+ #, c-format
+ msgid "DT_END"
+ msgstr "DT_END"
+
+-#: fortran/dump-parse-tree.c:1678
++#: fortran/dump-parse-tree.c:1700
+ #, c-format
+ msgid " END=%d"
+ msgstr " END=%d"
+
+-#: fortran/dump-parse-tree.c:1680
++#: fortran/dump-parse-tree.c:1702
+ #, c-format
+ msgid " EOR=%d"
+ msgstr " EOR=%d"
+
+-#: fortran/dump-parse-tree.c:1714
++#: fortran/dump-parse-tree.c:1736
+ #, c-format
+ msgid "Equivalence: "
+ msgstr "Еквиваленција: "
+
+-#: fortran/dump-parse-tree.c:1740
++#: fortran/dump-parse-tree.c:1762
+ #, c-format
+ msgid "Namespace:"
+ msgstr "ИменÑки проÑтор:"
+
+-#: fortran/dump-parse-tree.c:1754
++#: fortran/dump-parse-tree.c:1776
+ #, c-format
+ msgid " %c-%c: "
+ msgstr " %c-%c: "
+
+-#: fortran/dump-parse-tree.c:1756
++#: fortran/dump-parse-tree.c:1778
+ #, c-format
+ msgid " %c: "
+ msgstr " %c: "
+
+-#: fortran/dump-parse-tree.c:1765
++#: fortran/dump-parse-tree.c:1787
+ #, c-format
+ msgid "procedure name = %s"
+ msgstr "име процедуре = %s"
+
+-#: fortran/dump-parse-tree.c:1781
++#: fortran/dump-parse-tree.c:1803
+ #, c-format
+ msgid "Operator interfaces for %s:"
+ msgstr "Сучеља оператора за %s:"
+
+-#: fortran/dump-parse-tree.c:1790
++#: fortran/dump-parse-tree.c:1812
+ #, c-format
+ msgid "User operators:\n"
+ msgstr "КориÑнички оператори:\n"
+
+-#: fortran/dump-parse-tree.c:1806
++#: fortran/dump-parse-tree.c:1828
+ #, c-format
+ msgid "CONTAINS\n"
+ msgstr "CONTAINS\n"
+@@ -6190,309 +6155,349 @@
+ msgid "Error count reached limit of %d."
+ msgstr "Број грешака доÑтигао границу од %d."
+
+-#: fortran/error.c:670 fortran/error.c:725 fortran/error.c:762
++#: fortran/error.c:670 fortran/error.c:724 fortran/error.c:761
+ msgid "Warning:"
+ msgstr "Упозорење:"
+
+-#: fortran/error.c:727 fortran/error.c:810 fortran/error.c:836
++#: fortran/error.c:726 fortran/error.c:809 fortran/error.c:835
+ msgid "Error:"
+ msgstr "Грешка:"
+
+-#: fortran/error.c:860
++#: fortran/error.c:859
+ msgid "Fatal Error:"
+ msgstr "Кобна грешка:"
+
+-#: fortran/error.c:879
++#: fortran/error.c:878
+ #, no-c-format
+ msgid "Internal Error at (1):"
+ msgstr "Унутрашња грешка код (1):"
+
+-#: fortran/expr.c:252
++#: fortran/expr.c:253
+ #, c-format
+ msgid "Constant expression required at %C"
+ msgstr "Ðеопходан конÑтантан израз код %C"
+
+-#: fortran/expr.c:255
++#: fortran/expr.c:256
+ #, c-format
+ msgid "Integer expression required at %C"
+ msgstr "Ðеопходан целобројни израз код %C"
+
+-#: fortran/expr.c:260
++#: fortran/expr.c:261
+ #, c-format
+ msgid "Integer value too large in expression at %C"
+ msgstr "Превелика целобројна вредноÑÑ‚ у изразу код %C"
+
+-#: fortran/expr.c:1018 fortran/expr.c:1189 fortran/expr.c:1240
++#: fortran/expr.c:1037
++#, fuzzy, no-c-format
++msgid "Index in dimension %d is out of bounds at %L"
++msgstr "Ð˜Ð½Ð´ÐµÐºÑ Ñƒ димензији %d је ван граница код %L"
++
++#: fortran/expr.c:1208 fortran/expr.c:1259
+ #, no-c-format
+ msgid "index in dimension %d is out of bounds at %L"
+ msgstr "Ð˜Ð½Ð´ÐµÐºÑ Ñƒ димензији %d је ван граница код %L"
+
+-#: fortran/expr.c:1789
++#: fortran/expr.c:1808
+ #, no-c-format
+ msgid "elemental function arguments at %C are not compliant"
+ msgstr ""
+
+-#: fortran/expr.c:1833
++#: fortran/expr.c:1852
+ #, no-c-format
+ msgid "Numeric or CHARACTER operands are required in expression at %L"
+ msgstr "Ðеопходни бројевни или знаковни операнди у изразу код %L"
+
+-#: fortran/expr.c:1853
++#: fortran/expr.c:1872
+ #, fuzzy, no-c-format
+ msgid "Fortran 2003: Noninteger exponent in an initialization expression at %L"
+ msgstr "Очекиван је уÑпоÑтављачки израз код %C"
+
+-#: fortran/expr.c:1868
++#: fortran/expr.c:1887
+ #, no-c-format
+ msgid "Concatenation operator in expression at %L must have two CHARACTER operands"
+ msgstr "Оператор надовезивања у изразу код %L мора имати два знаковна операнда"
+
+-#: fortran/expr.c:1875
++#: fortran/expr.c:1894
+ #, no-c-format
+ msgid "Concat operator at %L must concatenate strings of the same kind"
+ msgstr "Оператор надовезивања код %L мора надовезивати ниÑке иÑте врÑте"
+
+-#: fortran/expr.c:1885
++#: fortran/expr.c:1904
+ #, no-c-format
+ msgid ".NOT. operator in expression at %L must have a LOGICAL operand"
+ msgstr "Оператор .NOT. у изразу код %L мора имати логички операнд"
+
+-#: fortran/expr.c:1901
++#: fortran/expr.c:1920
+ #, no-c-format
+ msgid "LOGICAL operands are required in expression at %L"
+ msgstr "Ðеопходни Ñу логички операнди у изразу код %L"
+
+-#: fortran/expr.c:1912
++#: fortran/expr.c:1931
+ #, no-c-format
+ msgid "Only intrinsic operators can be used in expression at %L"
+ msgstr "Могу Ñе кориÑтити Ñамо ÑопÑтвени оператори у изразу код %L"
+
+-#: fortran/expr.c:1920
++#: fortran/expr.c:1939
+ #, no-c-format
+ msgid "Numeric operands are required in expression at %L"
+ msgstr "Ðеопходни Ñу бројевни операнди у изразу код %L"
+
+-#: fortran/expr.c:1985
++#: fortran/expr.c:2030
+ #, fuzzy, no-c-format
+-msgid "Inquiry function '%s' at %L is not permitted in an initialization expression"
+-msgstr "транÑформационо ÑопÑтвено ‘%s’ код %L није дозвољено у уÑпоÑтављачком изразу"
+-
+-#: fortran/expr.c:2015
+-#, fuzzy, no-c-format
+ msgid "Assumed character length variable '%s' in constant expression at %L"
+ msgstr "Знаковна променљива претпоÑтављене дужине ‘%s’ у конÑтантном изразу код %L."
+
+-#: fortran/expr.c:2061 fortran/expr.c:2067
++#: fortran/expr.c:2076 fortran/expr.c:2082
+ #, no-c-format
+ msgid "transformational intrinsic '%s' at %L is not permitted in an initialization expression"
+ msgstr "транÑформационо ÑопÑтвено ‘%s’ код %L није дозвољено у уÑпоÑтављачком изразу"
+
+-#: fortran/expr.c:2098
++#: fortran/expr.c:2114
+ #, no-c-format
+ msgid "Extension: Evaluation of nonstandard initialization expression at %L"
+ msgstr "Проширење: Израчунавање неÑтандардног уÑпоÑтављачког израза код %L"
+
+-#: fortran/expr.c:2151
++#: fortran/expr.c:2167
+ #, fuzzy, no-c-format
+ msgid "Function '%s' in initialization expression at %L must be an intrinsic or a specification function"
+ msgstr "Функција ‘%s’ у уÑпоÑтављачком изразу код %L мора бити ÑопÑтвена"
+
+-#: fortran/expr.c:2163
++#: fortran/expr.c:2179
+ #, fuzzy, no-c-format
+ msgid "Intrinsic function '%s' at %L is not permitted in an initialization expression"
+ msgstr "транÑформационо ÑопÑтвено ‘%s’ код %L није дозвољено у уÑпоÑтављачком изразу"
+
+-#: fortran/expr.c:2207
++#: fortran/expr.c:2214
++#, no-c-format
++msgid "PARAMETER '%s' is used at %L before its definition is complete"
++msgstr ""
++
++#: fortran/expr.c:2234
+ #, fuzzy, no-c-format
+ msgid "Assumed size array '%s' at %L is not permitted in an initialization expression"
+ msgstr "транÑформационо ÑопÑтвено ‘%s’ код %L није дозвољено у уÑпоÑтављачком изразу"
+
+-#: fortran/expr.c:2213
++#: fortran/expr.c:2240
+ #, fuzzy, no-c-format
+ msgid "Assumed shape array '%s' at %L is not permitted in an initialization expression"
+ msgstr "транÑформационо ÑопÑтвено ‘%s’ код %L није дозвољено у уÑпоÑтављачком изразу"
+
+-#: fortran/expr.c:2219
++#: fortran/expr.c:2246
+ #, fuzzy, no-c-format
+ msgid "Deferred array '%s' at %L is not permitted in an initialization expression"
+ msgstr "транÑформационо ÑопÑтвено ‘%s’ код %L није дозвољено у уÑпоÑтављачком изразу"
+
+-#: fortran/expr.c:2229
++#: fortran/expr.c:2252
++#, fuzzy, no-c-format
++msgid "Array '%s' at %L is a variable, which does not reduce to a constant expression"
++msgstr "Параметар ‘%s’ код %L није деклариÑан или је променљива, што Ñе не Ñводи на конÑтантан израз"
++
++#: fortran/expr.c:2262
+ #, no-c-format
+ msgid "Parameter '%s' at %L has not been declared or is a variable, which does not reduce to a constant expression"
+ msgstr "Параметар ‘%s’ код %L није деклариÑан или је променљива, што Ñе не Ñводи на конÑтантан израз"
+
+-#: fortran/expr.c:2317
++#: fortran/expr.c:2350
+ #, no-c-format
+ msgid "Initialization expression didn't reduce %C"
+ msgstr "УÑпоÑтављајући израз није Ñвео %C"
+
+-#: fortran/expr.c:2360
++#: fortran/expr.c:2393
+ #, no-c-format
+ msgid "Specification function '%s' at %L cannot be a statement function"
+ msgstr "Одредничка функција ‘%s’ код %L не може бити наредбена функција"
+
+-#: fortran/expr.c:2367
++#: fortran/expr.c:2400
+ #, no-c-format
+ msgid "Specification function '%s' at %L cannot be an internal function"
+ msgstr "Одредничка функција ‘%s’ код %L не може бити унутрашња функција"
+
+-#: fortran/expr.c:2374
++#: fortran/expr.c:2407
+ #, no-c-format
+ msgid "Specification function '%s' at %L must be PURE"
+ msgstr "Одредничка функција ‘%s’ код %L мора бити чиÑта"
+
+-#: fortran/expr.c:2381
++#: fortran/expr.c:2414
+ #, no-c-format
+ msgid "Specification function '%s' at %L cannot be RECURSIVE"
+ msgstr "Одредничка функција ‘%s’ код %L не може бити рекурзивна"
+
+-#: fortran/expr.c:2443
++#: fortran/expr.c:2476
+ #, fuzzy, no-c-format
+ msgid "Dummy argument '%s' not allowed in expression at %L"
+ msgstr "Променљива ‘%s’ Ñе не може јавити у изразу код %L"
+
+-#: fortran/expr.c:2450
++#: fortran/expr.c:2483
+ #, no-c-format
+ msgid "Dummy argument '%s' at %L cannot be OPTIONAL"
+ msgstr "Лажни аргумент ‘%s’ код %L не може бити опцион"
+
+-#: fortran/expr.c:2457
++#: fortran/expr.c:2490
+ #, no-c-format
+ msgid "Dummy argument '%s' at %L cannot be INTENT(OUT)"
+ msgstr "Лажни аргумент ‘%s’ код %L не може бити намере-из"
+
+-#: fortran/expr.c:2479
++#: fortran/expr.c:2513
+ #, no-c-format
+ msgid "Variable '%s' cannot appear in the expression at %L"
+ msgstr "Променљива ‘%s’ Ñе не може јавити у изразу код %L"
+
+-#: fortran/expr.c:2528
++#: fortran/expr.c:2562
+ #, no-c-format
+ msgid "Expression at %L must be of INTEGER type"
+ msgstr "Израз код %L мора бити целобројног типа"
+
+-#: fortran/expr.c:2537
++#: fortran/expr.c:2571
+ #, fuzzy, no-c-format
+ msgid "Function '%s' at %L must be PURE"
+ msgstr "Одредничка функција ‘%s’ код %L мора бити чиÑта"
+
+-#: fortran/expr.c:2546
++#: fortran/expr.c:2580
+ #, no-c-format
+ msgid "Expression at %L must be scalar"
+ msgstr "Израз код %L мора бити Ñкалар"
+
+-#: fortran/expr.c:2573
++#: fortran/expr.c:2607
+ #, fuzzy, no-c-format
+ msgid "Incompatible ranks in %s (%d and %d) at %L"
+ msgstr "ÐеÑаглаÑни рангови у %s код %L"
+
+-#: fortran/expr.c:2587
++#: fortran/expr.c:2621
+ #, fuzzy, no-c-format
+ msgid "Different shape for %s at %L on dimension %d (%d and %d)"
+ msgstr "%s код %L има различит облик за димензију %d (%d/%d)"
+
+-#: fortran/expr.c:2633 fortran/expr.c:2800
++#: fortran/expr.c:2667 fortran/expr.c:2884
+ #, fuzzy, no-c-format
+ msgid "Cannot assign to INTENT(IN) variable '%s' at %L"
+ msgstr "Ðе могу да доделим променљивој намере-у ‘%s’ код %L"
+
+-#: fortran/expr.c:2676
++#: fortran/expr.c:2719
+ #, no-c-format
+ msgid "'%s' at %L is not a VALUE"
+ msgstr "‘%s’ код %L није вредноÑÑ‚"
+
+-#: fortran/expr.c:2683
++#: fortran/expr.c:2726
+ #, no-c-format
+ msgid "Incompatible ranks %d and %d in assignment at %L"
+ msgstr "ÐеÑаглаÑни рангови %d и %d у додели код %L"
+
+-#: fortran/expr.c:2690
++#: fortran/expr.c:2733
+ #, no-c-format
+ msgid "Variable type is UNKNOWN in assignment at %L"
+ msgstr "Тип променљиве је UNKNOWN у додели код %L"
+
+-#: fortran/expr.c:2702
++#: fortran/expr.c:2745
+ #, no-c-format
+ msgid "NULL appears on right-hand side in assignment at %L"
+ msgstr "Појављује Ñе NULL на деÑној Ñтрани у додели код %L"
+
+-#: fortran/expr.c:2713
++#: fortran/expr.c:2756
+ #, fuzzy, no-c-format
+ msgid "Vector assignment to assumed-size Cray Pointee at %L is illegal"
+ msgstr "ВекторÑка додела у Крејов показивани претпоÑтављене величине код %L није дозвољена."
+
+-#: fortran/expr.c:2722
++#: fortran/expr.c:2765
+ #, no-c-format
+ msgid "POINTER valued function appears on right-hand side of assignment at %L"
+ msgstr "Функција Ñа показивачком вредношћу појављује Ñе на деÑној Ñтрани доделе код %L"
+
+-#: fortran/expr.c:2727
++#: fortran/expr.c:2770
+ #, fuzzy
+ msgid "array assignment"
+ msgstr "Ðизовна додела"
+
+-#: fortran/expr.c:2744
++#: fortran/expr.c:2775
+ #, no-c-format
++msgid "Extension: BOZ literal at %L used to initialize non-integer variable '%s'"
++msgstr ""
++
++#: fortran/expr.c:2781 fortran/resolve.c:6058
++#, no-c-format
++msgid "Extension: BOZ literal at %L outside a DATA statement and outside INT/REAL/DBLE/CMPLX"
++msgstr ""
++
++#: fortran/expr.c:2791 fortran/resolve.c:6068
++#, no-c-format
++msgid "BOZ literal at %L is bitwise transferred non-integer symbol '%s'"
++msgstr ""
++
++#: fortran/expr.c:2799 fortran/resolve.c:6077
++#, no-c-format
++msgid "Arithmetic underflow of bit-wise transferred BOZ at %L. This check can be disabled with the option -fno-range-check"
++msgstr ""
++
++#: fortran/expr.c:2803 fortran/resolve.c:6081
++#, no-c-format
++msgid "Arithmetic overflow of bit-wise transferred BOZ at %L. This check can be disabled with the option -fno-range-check"
++msgstr ""
++
++#: fortran/expr.c:2807 fortran/resolve.c:6085
++#, no-c-format
++msgid "Arithmetic NaN of bit-wise transferred BOZ at %L. This check can be disabled with the option -fno-range-check"
++msgstr ""
++
++#: fortran/expr.c:2828
++#, no-c-format
+ msgid "Incompatible types in assignment at %L, %s to %s"
+ msgstr "ÐеÑаглаÑни типови у додели код %L, %s у %s"
+
+-#: fortran/expr.c:2769
++#: fortran/expr.c:2853
+ #, no-c-format
+ msgid "Pointer assignment target is not a POINTER at %L"
+ msgstr "Циљ доделе показивача није показивач код %L"
+
+-#: fortran/expr.c:2777
++#: fortran/expr.c:2861
+ #, no-c-format
+ msgid "'%s' in the pointer assignment at %L cannot be an l-value since it is a procedure"
+ msgstr "‘%s’ у додели показивача код %L не може бити л-вредноÑÑ‚ јер је процедура"
+
+-#: fortran/expr.c:2807
++#: fortran/expr.c:2891
+ #, no-c-format
+ msgid "Pointer assignment to non-POINTER at %L"
+ msgstr "Додела показивача непоказивачу код %L"
+
+-#: fortran/expr.c:2816
++#: fortran/expr.c:2900
+ #, no-c-format
+ msgid "Bad pointer object in PURE procedure at %L"
+ msgstr "Лош показивачки објекат у чиÑтој процедури код %L"
+
+-#: fortran/expr.c:2828
++#: fortran/expr.c:2912
+ #, no-c-format
+ msgid "Different types in pointer assignment at %L"
+ msgstr "Различити типови у додели показивача код %L"
+
+-#: fortran/expr.c:2835
++#: fortran/expr.c:2919
+ #, no-c-format
+ msgid "Different kind type parameters in pointer assignment at %L"
+ msgstr "Различите врÑте типова параметара у додели показивача код %L"
+
+-#: fortran/expr.c:2842
++#: fortran/expr.c:2926
+ #, no-c-format
+ msgid "Different ranks in pointer assignment at %L"
+ msgstr "Различити рангови у додели показивача код %L"
+
+-#: fortran/expr.c:2857
++#: fortran/expr.c:2941
+ #, no-c-format
+ msgid "Different character lengths in pointer assignment at %L"
+ msgstr "Различите знаковне дужине у додели показивача код %L"
+
+-#: fortran/expr.c:2868
++#: fortran/expr.c:2952
+ #, no-c-format
+ msgid "Pointer assignment target is neither TARGET nor POINTER at %L"
+ msgstr "Циљ доделе показивача није ни циљ ни показивач код %L"
+
+-#: fortran/expr.c:2875
++#: fortran/expr.c:2959
+ #, no-c-format
+ msgid "Bad target in pointer assignment in PURE procedure at %L"
+ msgstr "Лош циљ у додели показивача у чиÑтој процедури код %L"
+
+-#: fortran/expr.c:2881
++#: fortran/expr.c:2965
+ #, no-c-format
+ msgid "Pointer assignment with vector subscript on rhs at %L"
+ msgstr "Додела показивача Ñа векторÑким индекÑом на деÑној Ñтрани код %L"
+
+-#: fortran/expr.c:2888
++#: fortran/expr.c:2972
+ #, fuzzy, no-c-format
+ msgid "Pointer assigment target has PROTECTED attribute at %L"
+ msgstr "Циљ доделе показивача није показивач код %L"
+@@ -6586,292 +6591,317 @@
+ msgid "Expecting 'END INTERFACE %s' at %C"
+ msgstr "Очекивано је ‘END INTERFACE %s’ код %C"
+
+-#: fortran/interface.c:551
++#: fortran/interface.c:563
+ #, no-c-format
+ msgid "Alternate return cannot appear in operator interface at %L"
+ msgstr "Ðлтернативно враћање не може да Ñе јави у Ñучељу оператора код %L"
+
+-#: fortran/interface.c:581
++#: fortran/interface.c:593
+ #, no-c-format
+ msgid "Operator interface at %L has the wrong number of arguments"
+ msgstr "Сучеље оператора код %L има погрешан број аргумената"
+
+-#: fortran/interface.c:592
++#: fortran/interface.c:604
+ #, no-c-format
+ msgid "Assignment operator interface at %L must be a SUBROUTINE"
+ msgstr "Сучеље оператора доделе код %L мора бити потпрограм"
+
+-#: fortran/interface.c:598
++#: fortran/interface.c:610
+ #, no-c-format
+ msgid "Assignment operator interface at %L must have two arguments"
+ msgstr "Сучеље оператора доделе код %L мора имати два аргумента"
+
+-#: fortran/interface.c:608
++#: fortran/interface.c:620
+ #, no-c-format
+ msgid "Assignment operator interface at %L must not redefine an INTRINSIC type assignment"
+ msgstr "Сучеље оператора доделе код %L не Ñме редефиниÑати ÑопÑтвену типÑку доделу"
+
+-#: fortran/interface.c:617
++#: fortran/interface.c:629
+ #, no-c-format
+ msgid "Intrinsic operator interface at %L must be a FUNCTION"
+ msgstr "Сучеље ÑопÑтвеног оператора код %L мора бити функција"
+
+-#: fortran/interface.c:627
++#: fortran/interface.c:639
+ #, no-c-format
+ msgid "First argument of defined assignment at %L must be INTENT(IN) or INTENT(INOUT)"
+ msgstr "Први аргумент дефиниÑане доделе код %L мора бити намере-у или -у/из"
+
+-#: fortran/interface.c:631
++#: fortran/interface.c:643
+ #, no-c-format
+ msgid "Second argument of defined assignment at %L must be INTENT(IN)"
+ msgstr "Други аргумент дефиниÑане доделе код %L мора бити намере-у"
+
+-#: fortran/interface.c:637 fortran/resolve.c:8807
++#: fortran/interface.c:649 fortran/resolve.c:8998
+ #, no-c-format
+ msgid "First argument of operator interface at %L must be INTENT(IN)"
+ msgstr "Први аргумент Ñучеља оператора код %L мора бити намере-у"
+
+-#: fortran/interface.c:641 fortran/resolve.c:8819
++#: fortran/interface.c:653 fortran/resolve.c:9010
+ #, no-c-format
+ msgid "Second argument of operator interface at %L must be INTENT(IN)"
+ msgstr "Други аргумент Ñучеља оператора код %L мора бити намере-у"
+
+-#: fortran/interface.c:744
++#: fortran/interface.c:756
+ #, no-c-format
+ msgid "Operator interface at %L conflicts with intrinsic interface"
+ msgstr "Сучеље оператора код %L коÑи Ñе Ñа ÑопÑтвеним Ñучељем"
+
+-#: fortran/interface.c:1044
++#: fortran/interface.c:1117
+ #, fuzzy, no-c-format
+ msgid "Procedure '%s' in %s at %L has no explicit interface"
+ msgstr "Симбол ‘%s’ код %L већ има екÑплицитно Ñучеље"
+
+-#: fortran/interface.c:1047
++#: fortran/interface.c:1120
+ #, no-c-format
+ msgid "Procedure '%s' in %s at %L is neither function nor subroutine"
+ msgstr "Процедура ‘%s’ у %s код %L није ни функција ни потпрограм"
+
+-#: fortran/interface.c:1102 fortran/interface.c:1108
++#: fortran/interface.c:1175 fortran/interface.c:1181
+ #, no-c-format
+ msgid "Ambiguous interfaces '%s' and '%s' in %s at %L"
+ msgstr "ДвоÑмиÑлена Ñучеља ‘%s’ и ‘%s’ у %s код %L"
+
+-#: fortran/interface.c:1144
++#: fortran/interface.c:1217
+ #, fuzzy, no-c-format
+ msgid "'%s' at %L is not a module procedure"
+ msgstr "Име ‘%s’ код %C је име процедуре"
+
+-#: fortran/interface.c:1676
++#: fortran/interface.c:1465 fortran/interface.c:2411
+ #, no-c-format
++msgid "Type/rank mismatch in argument '%s' at %L"
++msgstr "ÐеÑлагање типа/ранга у аргументу ‘%s’ код %L"
++
++#: fortran/interface.c:1474
++#, fuzzy, no-c-format
++msgid "Type mismatch in argument '%s' at %L; passed %s to %s"
++msgstr "ÐеÑлагање типа/ранга у аргументу ‘%s’ код %L"
++
++#: fortran/interface.c:1492 fortran/interface.c:1532
++#, fuzzy, no-c-format
++msgid "Rank mismatch in argument '%s' at %L (%d and %d)"
++msgstr "ÐеÑлагање типа/ранга у аргументу ‘%s’ код %L"
++
++#: fortran/interface.c:1519
++#, fuzzy, no-c-format
++msgid "Fortran 2003: Scalar CHARACTER actual argument with array dummy argument '%s' at %L"
++msgstr "ÐедоÑтаје Ñтварни аргумент за аргумент ‘%s’ код %L"
++
++#: fortran/interface.c:1544
++#, fuzzy, no-c-format
++msgid "Element of assumed-shaped array passed to dummy argument '%s' at %L"
++msgstr "Ðиз претпоÑтављеног облика код %L мора бити лажни аргумент"
++
++#: fortran/interface.c:1861
++#, no-c-format
+ msgid "Keyword argument '%s' at %L is not in the procedure"
+ msgstr "Кључна реч ‘%s’ код %L није у процедури"
+
+-#: fortran/interface.c:1684
++#: fortran/interface.c:1869
+ #, no-c-format
+ msgid "Keyword argument '%s' at %L is already associated with another actual argument"
+ msgstr "Кључна реч ‘%s’ код %L је већ придружена другом Ñтварном аргументу"
+
+-#: fortran/interface.c:1694
++#: fortran/interface.c:1879
+ #, no-c-format
+ msgid "More actual than formal arguments in procedure call at %L"
+ msgstr "Више Ñтварних него формалних аргумената у позиву процедуре код %L"
+
+-#: fortran/interface.c:1706 fortran/interface.c:1935
++#: fortran/interface.c:1891 fortran/interface.c:2110
+ #, no-c-format
+ msgid "Missing alternate return spec in subroutine call at %L"
+ msgstr "ÐедоÑтаје одредница алтернативног враћања у позиву потпрограма код %L"
+
+-#: fortran/interface.c:1714
++#: fortran/interface.c:1899
+ #, no-c-format
+ msgid "Unexpected alternate return spec in subroutine call at %L"
+ msgstr "Ðеочекивана одредница алтернативног враћања у позиву потпрограма код %L"
+
+-#: fortran/interface.c:1729
+-#, fuzzy, no-c-format
+-msgid "Fortran 2003: Scalar CHARACTER actual argument with array dummy argument '%s' at %L"
+-msgstr "ÐедоÑтаје Ñтварни аргумент за аргумент ‘%s’ код %L"
+-
+-#: fortran/interface.c:1742
++#: fortran/interface.c:1922
+ #, no-c-format
+-msgid "Type/rank mismatch in argument '%s' at %L"
+-msgstr "ÐеÑлагање типа/ранга у аргументу ‘%s’ код %L"
++msgid "Character length mismatch (%ld/%ld) between actual argument and pointer or allocatable dummy argument '%s' at %L"
++msgstr ""
+
+-#: fortran/interface.c:1758
++#: fortran/interface.c:1929
+ #, no-c-format
+-msgid "Character length mismatch between actual argument and pointer or allocatable dummy argument '%s' at %L"
++msgid "Character length mismatch (%ld/%ld) between actual argument and assumed-shape dummy argument '%s' at %L"
+ msgstr ""
+
+-#: fortran/interface.c:1771
++#: fortran/interface.c:1943
+ #, fuzzy, no-c-format
+ msgid "Character length of actual argument shorter than of dummy argument '%s' (%lu/%lu) at %L"
+ msgstr "ÐедоÑтаје Ñтварни аргумент за аргумент ‘%s’ код %L"
+
+-#: fortran/interface.c:1776
++#: fortran/interface.c:1948
+ #, no-c-format
+ msgid "Actual argument contains too few elements for dummy argument '%s' (%lu/%lu) at %L"
+ msgstr ""
+
+-#: fortran/interface.c:1790
++#: fortran/interface.c:1962
+ #, no-c-format
+ msgid "Expected a procedure for argument '%s' at %L"
+ msgstr "Очекивана је процедура за аргумент ‘%s’ код %L"
+
+-#: fortran/interface.c:1800
++#: fortran/interface.c:1972
+ #, no-c-format
+ msgid "Expected a PURE procedure for argument '%s' at %L"
+ msgstr "Очекивана је чиÑта процедура за аргумент ‘%s’ код %L"
+
+-#: fortran/interface.c:1814
++#: fortran/interface.c:1986
+ #, no-c-format
+ msgid "Actual argument for '%s' cannot be an assumed-size array at %L"
+ msgstr "Стварни аргумент за ‘%s’ код %L не може бити низ претпоÑтављене величине"
+
+-#: fortran/interface.c:1823
++#: fortran/interface.c:1995
+ #, no-c-format
+ msgid "Actual argument for '%s' must be a pointer at %L"
+ msgstr "Стварни аргумент за ‘%s’ код %L мора бити показивач"
+
+-#: fortran/interface.c:1832
++#: fortran/interface.c:2004
+ #, no-c-format
+ msgid "Actual argument for '%s' must be ALLOCATABLE at %L"
+ msgstr "Стварни аргумент за ‘%s’ код %L мора бити резервљив"
+
+-#: fortran/interface.c:1843
+-#, no-c-format
+-msgid "Actual argument at %L must be definable to match dummy INTENT = OUT/INOUT"
++#: fortran/interface.c:2017
++#, fuzzy, no-c-format
++msgid "Actual argument at %L must be definable as the dummy argument '%s' is INTENT = OUT/INOUT"
+ msgstr "Стварни аргумент код %L мора бити могуће дефиниÑати да одговара лажном INTENT = OUT/INOUT"
+
+-#: fortran/interface.c:1851
++#: fortran/interface.c:2026
+ #, fuzzy, no-c-format
+ msgid "Actual argument at %L is use-associated with PROTECTED attribute and dummy argument '%s' is INTENT = OUT/INOUT"
+ msgstr "Стварни аргумент код %L мора бити могуће дефиниÑати да одговара лажном INTENT = OUT/INOUT"
+
+-#: fortran/interface.c:1864
++#: fortran/interface.c:2039
+ #, no-c-format
+-msgid "Array-section actual argument with vector subscripts at %L is incompatible with INTENT(IN), 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) or VOLATILE attribute of the dummy argument '%s'"
+ msgstr ""
+
+-#: fortran/interface.c:1881
++#: fortran/interface.c:2056
+ #, no-c-format
+ msgid "Assumed-shape actual argument at %L is incompatible with the non-assumed-shape dummy argument '%s' due to VOLATILE attribute"
+ msgstr ""
+
+-#: fortran/interface.c:1893
++#: fortran/interface.c:2068
+ #, no-c-format
+ msgid "Array-section actual argument at %L is incompatible with the non-assumed-shape dummy argument '%s' due to VOLATILE attribute"
+ msgstr ""
+
+-#: fortran/interface.c:1912
++#: fortran/interface.c:2087
+ #, no-c-format
+ msgid "Pointer-array actual argument at %L requires an assumed-shape or pointer-array dummy argument '%s' due to VOLATILE attribute"
+ msgstr ""
+
+-#: fortran/interface.c:1942
++#: fortran/interface.c:2117
+ #, no-c-format
+ msgid "Missing actual argument for argument '%s' at %L"
+ msgstr "ÐедоÑтаје Ñтварни аргумент за аргумент ‘%s’ код %L"
+
+-#: fortran/interface.c:2128
++#: fortran/interface.c:2303
+ #, no-c-format
+ msgid "Same actual argument associated with INTENT(%s) argument '%s' and INTENT(%s) argument '%s' at %L"
+ msgstr "ИÑти Ñтварни аргумент придружен намере-%s аргументу ‘%s’ и намере-%s аргументу ‘%s’ код %L"
+
+-#: fortran/interface.c:2184
++#: fortran/interface.c:2359
+ #, no-c-format
+ msgid "Procedure argument at %L is INTENT(IN) while interface specifies INTENT(%s)"
+ msgstr "Ðргумент процедуре код %L је намере-у док Ñучеље задаје намеру-%s"
+
+-#: fortran/interface.c:2194
++#: fortran/interface.c:2369
+ #, no-c-format
+ msgid "Procedure argument at %L is local to a PURE procedure and is passed to an INTENT(%s) argument"
+ msgstr "Ðргумент процедуре код %L је локалан у чиÑтој процедури и проÑлеђује Ñе аргументу намере-%s"
+
+-#: fortran/interface.c:2202
++#: fortran/interface.c:2377
+ #, no-c-format
+ msgid "Procedure argument at %L is local to a PURE procedure and has the POINTER attribute"
+ msgstr "Ðргумент процедуре код %L је локалан у чиÑтој процедури и има атрибут показивача"
+
+-#: fortran/interface.c:2225
++#: fortran/interface.c:2400
+ #, no-c-format
+ msgid "Procedure '%s' called with an implicit interface at %L"
+ msgstr "Процедура ‘%s’ позвана Ñа имплицитним Ñучељем код %L"
+
+-#: fortran/interface.c:2440
++#: fortran/interface.c:2629
+ #, no-c-format
+ msgid "Function '%s' called in lieu of an operator at %L must be PURE"
+ msgstr "Функција ‘%s’ позвана умеÑто оператора код %L мора бити чиÑта"
+
+-#: fortran/interface.c:2519
++#: fortran/interface.c:2708
+ #, no-c-format
+ msgid "Entity '%s' at %C is already present in the interface"
+ msgstr "Ентитет ‘%s’ код %C је већ приÑутан у Ñучељу"
+
+-#: fortran/intrinsic.c:2918
++#: fortran/intrinsic.c:2923
+ #, no-c-format
+ msgid "Too many arguments in call to '%s' at %L"
+ msgstr "Превише аргумената у позиву ‘%s’ код %L"
+
+-#: fortran/intrinsic.c:2933
++#: fortran/intrinsic.c:2938
+ #, fuzzy, no-c-format
+ msgid "The argument list functions %%VAL, %%LOC or %%REF are not allowed in this context at %L"
+ msgstr "Функција лиÑте аргумената код %L није дозвољена у овом контекÑту"
+
+-#: fortran/intrinsic.c:2936
++#: fortran/intrinsic.c:2941
+ #, no-c-format
+ msgid "Can't find keyword named '%s' in call to '%s' at %L"
+ msgstr "Ðе могу да нађем кључну реч по имену ‘%s’ у позиву ‘%s’ код %L"
+
+-#: fortran/intrinsic.c:2943
++#: fortran/intrinsic.c:2948
+ #, no-c-format
+ msgid "Argument '%s' is appears twice in call to '%s' at %L"
+ msgstr "Ðргумент ‘%s’ Ñе појављује двапут у позиву ‘%s’ код %L"
+
+-#: fortran/intrinsic.c:2957
++#: fortran/intrinsic.c:2962
+ #, no-c-format
+ msgid "Missing actual argument '%s' in call to '%s' at %L"
+ msgstr "ÐедоÑтаје Ñтварни аргумент ‘%s’ у позиву ‘%s’ код %L"
+
+-#: fortran/intrinsic.c:2972
++#: fortran/intrinsic.c:2977
+ #, no-c-format
+ msgid "ALTERNATE RETURN not permitted at %L"
+ msgstr "Ðлтернативно враћање није дозвољено код %L"
+
+-#: fortran/intrinsic.c:3021
++#: fortran/intrinsic.c:3026
+ #, no-c-format
+ msgid "Type of argument '%s' in call to '%s' at %L should be %s, not %s"
+ msgstr "Тип аргумента ‘%s’ у позиву ‘%s’ код %L треба да је %s, не %s"
+
+-#: fortran/intrinsic.c:3337
++#: fortran/intrinsic.c:3342
+ #, no-c-format
+ msgid "Intrinsic '%s' at %L is not included in the selected standard"
+ msgstr "СопÑтвено ‘%s’ код %L није укључено у изабрани Ñтандард"
+
+-#: fortran/intrinsic.c:3450
++#: fortran/intrinsic.c:3398
++#, fuzzy, no-c-format
++msgid "Fortran 2003: Function '%s' as initialization expression at %L"
++msgstr "Проширење: Израчунавање неÑтандардног уÑпоÑтављачког израза код %L"
++
++#: fortran/intrinsic.c:3463
+ #, no-c-format
+ msgid "Fortran 2003: Elemental function as initialization expression with non-integer/non-character arguments at %L"
+ msgstr ""
+
+-#: fortran/intrinsic.c:3508
++#: fortran/intrinsic.c:3524
+ #, no-c-format
+ msgid "Subroutine call to intrinsic '%s' at %L is not PURE"
+ msgstr "Позив потпрограма ÑопÑтвеног ‘%s’ код %L није чиÑÑ‚"
+
+-#: fortran/intrinsic.c:3579
++#: fortran/intrinsic.c:3595
+ #, no-c-format
+ msgid "Extension: Conversion from %s to %s at %L"
+ msgstr "Проширење: Претварање из %s у %s код %L"
+
+-#: fortran/intrinsic.c:3582
++#: fortran/intrinsic.c:3598
+ #, no-c-format
+ msgid "Conversion from %s to %s at %L"
+ msgstr "Претварање из %s у %s код %L"
+
+-#: fortran/intrinsic.c:3629
++#: fortran/intrinsic.c:3645
+ #, no-c-format
+ msgid "Can't convert %s to %s at %L"
+ msgstr "Ðе могу да претворим %s у %s код %L"
+
+-#: fortran/io.c:156 fortran/primary.c:738
++#: fortran/io.c:156 fortran/primary.c:750
+ #, no-c-format
+ msgid "Extension: backslash character at %C"
+ msgstr "Проширење: знак контракроз код %C"
+@@ -7074,7 +7104,7 @@
+ msgid "CLOSE statement not allowed in PURE procedure at %C"
+ msgstr "Ðаредба CLOSE није дозвољена у чиÑтој процедури код %C"
+
+-#: fortran/io.c:1955 fortran/match.c:1841
++#: fortran/io.c:1955 fortran/match.c:1911
+ #, no-c-format
+ msgid "%s statement not allowed in PURE procedure at %C"
+ msgstr "Ðаредба %s није дозвољена у чиÑтој процедури код %C"
+@@ -7089,516 +7119,491 @@
+ msgid "Duplicate UNIT specification at %C"
+ msgstr "УдвоÑтручена одредница UNIT код %C"
+
+-#: fortran/io.c:2128
++#: fortran/io.c:2132
+ #, no-c-format
+ msgid "Duplicate format specification at %C"
+ msgstr "УдвоÑтручена одредница формата код %C"
+
+-#: fortran/io.c:2145
++#: fortran/io.c:2149
+ #, no-c-format
+ msgid "Symbol '%s' in namelist '%s' is INTENT(IN) at %C"
+ msgstr "Симбол ‘%s’ у лиÑти имена ‘%s’ је намере-у код %C"
+
+-#: fortran/io.c:2181
++#: fortran/io.c:2185
+ #, no-c-format
+ msgid "Duplicate NML specification at %C"
+ msgstr "УдвоÑтручена одредница NML код %C"
+
+-#: fortran/io.c:2190
++#: fortran/io.c:2194
+ #, no-c-format
+ msgid "Symbol '%s' at %C must be a NAMELIST group name"
+ msgstr "Симбол ‘%s’ код %C мора бити име групе лиÑте имена"
+
+-#: fortran/io.c:2231
++#: fortran/io.c:2235
+ #, no-c-format
+ msgid "END tag at %C not allowed in output statement"
+ msgstr "Ознака END код %C није дозвољена у излазној наредби"
+
+-#: fortran/io.c:2288
++#: fortran/io.c:2292
+ #, no-c-format
+ msgid "UNIT specification at %L must be an INTEGER expression or a CHARACTER variable"
+ msgstr "Одредница UNIT код %L мора бити целобројни израз или знаковна променљива"
+
+-#: fortran/io.c:2297
++#: fortran/io.c:2301
+ #, no-c-format
+ msgid "Internal unit with vector subscript at %L"
+ msgstr "Унутрашња јединица Ñа векторÑким индекÑом код %L"
+
+-#: fortran/io.c:2304
++#: fortran/io.c:2308
+ #, no-c-format
+ msgid "External IO UNIT cannot be an array at %L"
+ msgstr "Спољашња У/И јединица не може бити низ код %L"
+
+-#: fortran/io.c:2314
++#: fortran/io.c:2318
+ #, no-c-format
+ msgid "ERR tag label %d at %L not defined"
+ msgstr "Етикета %d за ERR код %L није дефиниÑана"
+
+-#: fortran/io.c:2326
++#: fortran/io.c:2330
+ #, no-c-format
+ msgid "END tag label %d at %L not defined"
+ msgstr "Етикета %d за END код %L није дефиниÑана"
+
+-#: fortran/io.c:2338
++#: fortran/io.c:2342
+ #, no-c-format
+ msgid "EOR tag label %d at %L not defined"
+ msgstr "Етикета %d за EOR код %L није дефиниÑана"
+
+-#: fortran/io.c:2348
++#: fortran/io.c:2352
+ #, no-c-format
+ msgid "FORMAT label %d at %L not defined"
+ msgstr "Етикета %d за FORMAT код %L није дефиниÑана"
+
+-#: fortran/io.c:2469
++#: fortran/io.c:2473
+ #, no-c-format
+ msgid "Syntax error in I/O iterator at %C"
+ msgstr "СинтакÑна грешка у У/И итератору код %C"
+
+-#: fortran/io.c:2500
++#: fortran/io.c:2504
+ #, no-c-format
+ msgid "Expected variable in READ statement at %C"
+ msgstr "Очекивана је променљива у наредби READ код %C"
+
+-#: fortran/io.c:2506
++#: fortran/io.c:2510
+ #, no-c-format
+ msgid "Expected expression in %s statement at %C"
+ msgstr "Очекиван је израз у наредби %s код %C"
+
+-#: fortran/io.c:2516
++#: fortran/io.c:2520
+ #, no-c-format
+ msgid "Variable '%s' in input list at %C cannot be INTENT(IN)"
+ msgstr "Променљива ‘%s’ у улазној лиÑти код %C не може бити намере-у"
+
+-#: fortran/io.c:2525
++#: fortran/io.c:2529
+ #, no-c-format
+ msgid "Cannot read to variable '%s' in PURE procedure at %C"
+ msgstr "Ðе могу да читам у променљиву ‘%s’ у чиÑтој процедури код %C"
+
+-#: fortran/io.c:2541
++#: fortran/io.c:2545
+ #, no-c-format
+ msgid "Cannot write to internal file unit '%s' at %C inside a PURE procedure"
+ msgstr "Ðе могу да пишем у унутрашњу датотеку ‘%s’ код %C унутар чиÑте процедуре"
+
+ #. A general purpose syntax error.
+-#: fortran/io.c:2602 fortran/io.c:3004 fortran/gfortran.h:1998
++#: fortran/io.c:2606 fortran/io.c:3013 fortran/gfortran.h:2002
+ #, no-c-format
+ msgid "Syntax error in %s statement at %C"
+ msgstr "СинтакÑна грешка у наредби %s код %C"
+
+-#: fortran/io.c:2670
++#: fortran/io.c:2679
+ #, fuzzy, no-c-format
+ msgid "Fortran 2003: Internal file at %L with namelist"
+ msgstr "Фортран 2003: Ознака IOMSG код %L"
+
+-#: fortran/io.c:2833
++#: fortran/io.c:2842
+ #, no-c-format
+ msgid "PRINT namelist at %C is an extension"
+ msgstr "ЛиÑта имена PRINT код %C је проширење"
+
+-#: fortran/io.c:2965
++#: fortran/io.c:2974
+ #, fuzzy, no-c-format
+ msgid "Extension: Comma before i/o item list at %C"
+ msgstr "Проширење: Зарез пре Ñтавке излазне лиÑте код %C је проширење"
+
+-#: fortran/io.c:2974
++#: fortran/io.c:2983
+ #, no-c-format
+ msgid "Expected comma in I/O list at %C"
+ msgstr "Очекиван је зарез у У/И лиÑти код %C"
+
+-#: fortran/io.c:3036
++#: fortran/io.c:3045
+ #, no-c-format
+ msgid "PRINT statement at %C not allowed within PURE procedure"
+ msgstr "Ðаредба PRINT код %C није дозвољена у чиÑтој процедури"
+
+-#: fortran/io.c:3176 fortran/io.c:3227
++#: fortran/io.c:3185 fortran/io.c:3236
+ #, no-c-format
+ msgid "INQUIRE statement not allowed in PURE procedure at %C"
+ msgstr "Ðаредба INQUIRE код %C није дозвољена у чиÑтој процедури"
+
+-#: fortran/io.c:3203
++#: fortran/io.c:3212
+ #, no-c-format
+ msgid "IOLENGTH tag invalid in INQUIRE statement at %C"
+ msgstr "ÐеиÑправна ознака IOLENGTH у наредби INQUIRE код %C"
+
+-#: fortran/io.c:3213 fortran/trans-io.c:1144
++#: fortran/io.c:3222 fortran/trans-io.c:1145
+ #, no-c-format
+ msgid "INQUIRE statement at %L cannot contain both FILE and UNIT specifiers"
+ msgstr "Ðаредба INQUIRE код %L не може Ñадржати и наводилац FILE и UNIT"
+
+-#: fortran/io.c:3220
++#: fortran/io.c:3229
+ #, no-c-format
+ msgid "INQUIRE statement at %L requires either FILE or UNIT specifier"
+ msgstr "Ðаредба INQUIRE код %L захтева или наводилац FILE или UNIT"
+
+-#: fortran/match.c:270
++#: fortran/match.c:156
++#, fuzzy, no-c-format
++msgid "Missing ')' in statement before %L"
++msgstr "ÐедоÑтаје наредба повратка"
++
++#: fortran/match.c:161
++#, fuzzy, no-c-format
++msgid "Missing '(' in statement before %L"
++msgstr "ÐедоÑтаје наредба повратка"
++
++#: fortran/match.c:332
+ #, no-c-format
+ msgid "Integer too large at %C"
+ msgstr "Цео број превелик код %C"
+
+-#: fortran/match.c:363 fortran/parse.c:442
++#: fortran/match.c:425 fortran/parse.c:589
+ #, no-c-format
+ msgid "Too many digits in statement label at %C"
+ msgstr "Превише цифара у етикети наредбе код %C"
+
+-#: fortran/match.c:369
++#: fortran/match.c:431
+ #, no-c-format
+ msgid "Statement label at %C is zero"
+ msgstr "Етикета наредбе код %C је нула"
+
+-#: fortran/match.c:402
++#: fortran/match.c:464
+ #, no-c-format
+ msgid "Label name '%s' at %C is ambiguous"
+ msgstr "ДвоÑмиÑлено име етикете ‘%s’ код %C"
+
+-#: fortran/match.c:408
++#: fortran/match.c:470
+ #, no-c-format
+ msgid "Duplicate construct label '%s' at %C"
+ msgstr "УдвоÑтручена етикета конÑтрукције ‘%s’ код %C"
+
+-#: fortran/match.c:438
++#: fortran/match.c:500
+ #, fuzzy, no-c-format
+ msgid "Invalid character in name at %C"
+ msgstr "Лош знак ‘%c’ у имену оператора код %C"
+
+-#: fortran/match.c:451 fortran/match.c:523
++#: fortran/match.c:513 fortran/match.c:585
+ #, no-c-format
+ msgid "Name at %C is too long"
+ msgstr "Предугачко име код %C"
+
+-#: fortran/match.c:506 fortran/match.c:552
++#: fortran/match.c:568 fortran/match.c:614
+ #, fuzzy, no-c-format
+ msgid "Invalid C name in NAME= specifier at %C"
+ msgstr "Потребна тачка у наводиоцу формата код %C"
+
+-#: fortran/match.c:543
++#: fortran/match.c:605
+ #, fuzzy, no-c-format
+ msgid "Embedded space in NAME= specifier at %C"
+ msgstr "Потребна тачка у наводиоцу формата код %C"
+
+-#: fortran/match.c:868
++#: fortran/match.c:930
+ #, no-c-format
+ msgid "Loop variable at %C cannot be a sub-component"
+ msgstr "Променљива петље код %C не може бити подкомпонента"
+
+-#: fortran/match.c:874
++#: fortran/match.c:936
+ #, no-c-format
+ msgid "Loop variable '%s' at %C cannot be INTENT(IN)"
+ msgstr "Променљива петље ‘%s’ код %C не може бити намере-у"
+
+-#: fortran/match.c:907
++#: fortran/match.c:969
+ #, no-c-format
+ msgid "Expected a step value in iterator at %C"
+ msgstr "Очекивана је вредноÑÑ‚ корака у итератору код %C"
+
+-#: fortran/match.c:919
++#: fortran/match.c:981
+ #, no-c-format
+ msgid "Syntax error in iterator at %C"
+ msgstr "СинтакÑна грешка у итератору код %C"
+
+-#: fortran/match.c:1155
++#: fortran/match.c:1217
+ #, no-c-format
+ msgid "Invalid form of PROGRAM statement at %C"
+ msgstr "ÐеиÑправан облик наредбе PROGRAM код %C"
+
+-#: fortran/match.c:1196
++#: fortran/match.c:1258
+ #, no-c-format
+ msgid "Setting value of PROTECTED variable at %C"
+ msgstr ""
+
+-#: fortran/match.c:1249
++#: fortran/match.c:1311
+ #, no-c-format
+ msgid "Assigning to a PROTECTED pointer at %C"
+ msgstr ""
+
+-#: fortran/match.c:1292 fortran/match.c:1365
++#: fortran/match.c:1354 fortran/match.c:1435
+ #, no-c-format
+ msgid "Obsolescent: arithmetic IF statement at %C"
+ msgstr "ЗаÑтарело: аритметичка наредба IF код %C"
+
+-#: fortran/match.c:1340
++#: fortran/match.c:1410
+ #, no-c-format
+ msgid "Syntax error in IF-expression at %C"
+ msgstr "СинтакÑна грешка у IF-изразу код %C"
+
+-#: fortran/match.c:1351
++#: fortran/match.c:1421
+ #, no-c-format
+ msgid "Block label not appropriate for arithmetic IF statement at %C"
+ msgstr "Етикета блока није подеÑна за аритметичку наредбу IF код %C"
+
+-#: fortran/match.c:1389
+-#, no-c-format
+-msgid "Block label is not appropriate IF statement at %C"
++#: fortran/match.c:1459
++#, fuzzy, no-c-format
++msgid "Block label is not appropriate for IF statement at %C"
+ msgstr "Етикета блока није подеÑна за наредбу IF код %C"
+
+-#: fortran/match.c:1468 fortran/primary.c:2522
++#: fortran/match.c:1538 fortran/primary.c:2559
+ #, no-c-format
+ msgid "Cannot assign to a named constant at %C"
+ msgstr "Ðе могу да доделим у именовану конÑтанту код %C"
+
+-#: fortran/match.c:1478
++#: fortran/match.c:1548
+ #, no-c-format
+ msgid "Unclassifiable statement in IF-clause at %C"
+ msgstr "ÐеразврÑтљива наредба у одредби IF код %C"
+
+-#: fortran/match.c:1485
++#: fortran/match.c:1555
+ #, no-c-format
+ msgid "Syntax error in IF-clause at %C"
+ msgstr "СинтакÑна грешка у одредби IF код %C"
+
+-#: fortran/match.c:1529
++#: fortran/match.c:1599
+ #, no-c-format
+ msgid "Unexpected junk after ELSE statement at %C"
+ msgstr "Ðеочекивано Ñмеће поÑле наредбе ELSE код %C"
+
+-#: fortran/match.c:1535 fortran/match.c:1570
++#: fortran/match.c:1605 fortran/match.c:1640
+ #, no-c-format
+ msgid "Label '%s' at %C doesn't match IF label '%s'"
+ msgstr "Етикета ‘%s’ код %C не одговара етикети IF ‘%s’"
+
+-#: fortran/match.c:1564
++#: fortran/match.c:1634
+ #, no-c-format
+ msgid "Unexpected junk after ELSE IF statement at %C"
+ msgstr "Ðеочекивано Ñмеће поÑле наредбе ELSE IF код %C"
+
+-#: fortran/match.c:1727
++#: fortran/match.c:1797
+ #, no-c-format
+ msgid "Name '%s' in %s statement at %C is not a loop name"
+ msgstr "Име ‘%s’ у наредби %s код %C није име петље"
+
+-#: fortran/match.c:1743
++#: fortran/match.c:1813
+ #, no-c-format
+ msgid "%s statement at %C is not within a loop"
+ msgstr "Ðаредба %s код %C није унутар петље"
+
+-#: fortran/match.c:1746
++#: fortran/match.c:1816
+ #, no-c-format
+ msgid "%s statement at %C is not within loop '%s'"
+ msgstr "Ðаредба %s код %C није унутар петље ‘%s’"
+
+-#: fortran/match.c:1754
++#: fortran/match.c:1824
+ #, no-c-format
+ msgid "%s statement at %C leaving OpenMP structured block"
+ msgstr "Ðаредба %s код %C напушта Ñтруктуирани блок ОпенМПа"
+
+-#: fortran/match.c:1767
++#: fortran/match.c:1837
+ #, no-c-format
+ msgid "EXIT statement at %C terminating !$OMP DO loop"
+ msgstr "Ðаредба EXIT код %C окончава петљу !$OMP DO"
+
+-#: fortran/match.c:1819
++#: fortran/match.c:1889
+ #, no-c-format
+ msgid "Too many digits in STOP code at %C"
+ msgstr "Превише цифара у коду за STOP код %L"
+
+-#: fortran/match.c:1872
++#: fortran/match.c:1942
+ #, fuzzy, no-c-format
+ msgid "Deleted feature: PAUSE statement at %C"
+ msgstr "ЗаÑтарело: наредба PAUSE код %C"
+
+-#: fortran/match.c:1920
++#: fortran/match.c:1990
+ #, fuzzy, no-c-format
+ msgid "Deleted feature: ASSIGN statement at %C"
+ msgstr "ЗаÑтарело: наредба ASSIGN код %C"
+
+-#: fortran/match.c:1966
++#: fortran/match.c:2036
+ #, fuzzy, no-c-format
+ msgid "Deleted feature: Assigned GOTO statement at %C"
+ msgstr "ЗаÑтарело: Додељена наредба GOTO код %C"
+
+-#: fortran/match.c:2013 fortran/match.c:2065
++#: fortran/match.c:2083 fortran/match.c:2135
+ #, no-c-format
+ msgid "Statement label list in GOTO at %C cannot be empty"
+ msgstr "ЛиÑта етикета наредби у GOTO код %C не може бити празна"
+
+-#: fortran/match.c:2149
++#: fortran/match.c:2219
+ #, no-c-format
+ msgid "Bad allocate-object in ALLOCATE statement at %C for a PURE procedure"
+ msgstr "Лоша објекат у наредби ALLOCATE код %C у чиÑтој процедури"
+
+-#: fortran/match.c:2173
++#: fortran/match.c:2287
+ #, no-c-format
+-msgid "STAT variable '%s' of ALLOCATE statement at %C cannot be INTENT(IN)"
+-msgstr "СтатуÑна променљива ‘%s’ у наредби ALLOCATE код %C не може бити намере-у"
+-
+-#: fortran/match.c:2180
+-#, no-c-format
+-msgid "Illegal STAT variable in ALLOCATE statement at %C for a PURE procedure"
+-msgstr "Ðедозвољена ÑтатуÑна променљива у наредби ALLOCATE код %C за чиÑту процедуру"
+-
+-#: fortran/match.c:2218 fortran/match.c:2382
+-#, no-c-format
+-msgid "STAT expression at %C must be a variable"
+-msgstr "СтатуÑни израз код %C мора бити променљива"
+-
+-#: fortran/match.c:2272
+-#, no-c-format
+ msgid "Illegal variable in NULLIFY at %C for a PURE procedure"
+ msgstr "Ðедозвољена променљива у NULLIFY код %C за чиÑту процедуру"
+
+-#: fortran/match.c:2349
++#: fortran/match.c:2364
+ #, no-c-format
+ msgid "Illegal deallocate-expression in DEALLOCATE at %C for a PURE procedure"
+ msgstr "Ðедозвољени израз у DEALLOCATE код %C за чиÑту процедуру"
+
+-#: fortran/match.c:2368
++#: fortran/match.c:2417
+ #, no-c-format
+-msgid "STAT variable '%s' of DEALLOCATE statement at %C cannot be INTENT(IN)"
+-msgstr "СтатуÑна променљива ‘%s’ у наредби DEALLOCATE код %C не може бити намере-у"
+-
+-#: fortran/match.c:2375
+-#, no-c-format
+-msgid "Illegal STAT variable in DEALLOCATE statement at %C for a PURE procedure"
+-msgstr "СтатуÑна променљива ‘%s’ у наредби DEALLOCATE код %C за чиÑту процедуру"
+-
+-#: fortran/match.c:2424
+-#, no-c-format
+ msgid "Alternate RETURN statement at %C is only allowed within a SUBROUTINE"
+ msgstr "Ðлтернативна наредба RETURN код %C дозвољена је Ñамо унутар потпрограма"
+
+-#: fortran/match.c:2455
++#: fortran/match.c:2448
+ #, no-c-format
+ msgid "Extension: RETURN statement in main program at %C"
+ msgstr "Проширење: Ðаредба RETURN у главном програму код %C"
+
+-#: fortran/match.c:2665
++#: fortran/match.c:2658
+ #, no-c-format
+ msgid "Syntax error in common block name at %C"
+ msgstr "СинтакÑна грешка у имену заједничког блока код %C"
+
+-#: fortran/match.c:2701
++#: fortran/match.c:2694
+ #, no-c-format
+ msgid "Symbol '%s' at %C is already an external symbol that is not COMMON"
+ msgstr "Симбол ‘%s’ код %C је већ Ñпољашњи Ñимбол који није заједнички"
+
+-#: fortran/match.c:2719
+-#, no-c-format
+-msgid "BLOCK DATA unit cannot contain blank COMMON at %C"
+-msgstr ""
+-
+ #. If we find an error, just print it and continue,
+ #. cause it's just semantic, and we can see if there
+ #. are more errors.
+-#: fortran/match.c:2765
++#: fortran/match.c:2753
+ #, no-c-format
+ msgid "Variable '%s' at %L in common block '%s' at %C must be declared with a C interoperable kind since common block '%s' is bind(c)"
+ msgstr ""
+
+-#: fortran/match.c:2774
++#: fortran/match.c:2762
+ #, no-c-format
+ msgid "Variable '%s' in common block '%s' at %C can not be bind(c) since it is not global"
+ msgstr ""
+
+-#: fortran/match.c:2781
++#: fortran/match.c:2769
+ #, no-c-format
+ msgid "Symbol '%s' at %C is already in a COMMON block"
+ msgstr "Симбол ‘%s’ код %C је већ у заједничком блоку"
+
+-#: fortran/match.c:2793
++#: fortran/match.c:2777
+ #, no-c-format
+-msgid "Previously initialized symbol '%s' in blank COMMON block at %C"
+-msgstr "Претходно уÑпоÑтављен Ñимбол ‘%s’ у празном заједничком блоку код %C"
++msgid "Initialized symbol '%s' at %C can only be COMMON in BLOCK DATA"
++msgstr ""
+
+-#: fortran/match.c:2796
++#: fortran/match.c:2804
+ #, no-c-format
+-msgid "Previously initialized symbol '%s' in COMMON block '%s' at %C"
+-msgstr "Претходно уÑпоÑтављен Ñимбол ‘%s’ у заједничком блоку ‘%s’ код %C"
+-
+-#: fortran/match.c:2821
+-#, no-c-format
+ msgid "Array specification for symbol '%s' in COMMON at %C must be explicit"
+ msgstr "Одредница низа за Ñимбол ‘%s’ у заједничком код %C мора бити екÑплицитна"
+
+-#: fortran/match.c:2831
++#: fortran/match.c:2814
+ #, no-c-format
+ msgid "Symbol '%s' in COMMON at %C cannot be a POINTER array"
+ msgstr "Симбол ‘%s’ у заједничком код %C не може бити низ показивача"
+
+-#: fortran/match.c:2863
++#: fortran/match.c:2846
+ #, no-c-format
+ msgid "Symbol '%s', in COMMON block '%s' at %C is being indirectly equivalenced to another COMMON block '%s'"
+ msgstr "Симбол ‘%s’ у заједничком блоку ‘%s’ код %C поÑредно Ñе еквивалентира Ñа другим заједничким блоком, ‘%s’"
+
+-#: fortran/match.c:2971
++#: fortran/match.c:2954
+ #, no-c-format
+ msgid "Namelist group name '%s' at %C already has a basic type of %s"
+ msgstr "Име групе лиÑте имена ‘%s’ код %C већ има оÑновни тип %s"
+
+-#: fortran/match.c:2979
++#: fortran/match.c:2962
+ #, no-c-format
+ msgid "Namelist group name '%s' at %C already is USE associated and cannot be respecified."
+ msgstr "Име групе лиÑте имена ‘%s’ код %C је већ употребно придружено и не може Ñе поново одредити."
+
+-#: fortran/match.c:3006
++#: fortran/match.c:2989
+ #, fuzzy, no-c-format
+ msgid "Assumed size array '%s' in namelist '%s' at %C is not allowed"
+ msgstr "Ðиз претпоÑтављене величине ‘%s’ у лиÑти имена ‘%s’ код %C није дозвољен."
+
+-#: fortran/match.c:3013
++#: fortran/match.c:2996
+ #, no-c-format
+ msgid "Assumed character length '%s' in namelist '%s' at %C is not allowed"
+ msgstr "ПретпоÑтављена дужина знакова ‘%s’ у лиÑти имена ‘%s’ код %C није дозвољена."
+
+-#: fortran/match.c:3140
++#: fortran/match.c:3123
+ #, no-c-format
+ msgid "Derived type component %C is not a permitted EQUIVALENCE member"
+ msgstr "Компонента изведеног типа %C није дозвољен члан у еквиваленцији"
+
+-#: fortran/match.c:3148
++#: fortran/match.c:3131
+ #, no-c-format
+ msgid "Array reference in EQUIVALENCE at %C cannot be an array section"
+ msgstr "Упућивач низа у еквивалецији код %C не може бити одељак низа"
+
+-#: fortran/match.c:3176
++#: fortran/match.c:3159
+ #, no-c-format
+ msgid "EQUIVALENCE at %C requires two or more objects"
+ msgstr "Еквиваленција код %C захтева два или више објеката"
+
+-#: fortran/match.c:3190
++#: fortran/match.c:3173
+ #, no-c-format
+ msgid "Attempt to indirectly overlap COMMON blocks %s and %s by EQUIVALENCE at %C"
+ msgstr "Покушај поÑредног преклапања заједничких блокова %s и %s помоћу еквиваленције код %C"
+
+-#: fortran/match.c:3351
++#: fortran/match.c:3299
+ #, no-c-format
+ msgid "Statement function at %L is recursive"
+ msgstr "Ðаредбена функција код %L је рекурзивна"
+
+-#: fortran/match.c:3439
++#: fortran/match.c:3387
+ #, no-c-format
+ msgid "Expected initialization expression in CASE at %C"
+ msgstr "Очекиван је уÑпоÑтављачки израз у CASE код %C"
+
+-#: fortran/match.c:3462
++#: fortran/match.c:3410
+ #, fuzzy, no-c-format
+ msgid "Expected the name of the SELECT CASE construct at %C"
+ msgstr "Очекивано је име конÑтрукције избора Ñлучаја код %C"
+
+-#: fortran/match.c:3474
++#: fortran/match.c:3422
+ #, no-c-format
+ msgid "Expected case name of '%s' at %C"
+ msgstr "Очекивано је име Ñлучаја за ‘%s’ код %C"
+
+-#: fortran/match.c:3518
++#: fortran/match.c:3466
+ #, no-c-format
+ msgid "Unexpected CASE statement at %C"
+ msgstr "Ðеочекивана наредба CASE код %C"
+
+-#: fortran/match.c:3570
++#: fortran/match.c:3518
+ #, no-c-format
+ msgid "Syntax error in CASE-specification at %C"
+ msgstr "СинтакÑна грешка у одредници CASE код %C"
+
+-#: fortran/match.c:3690
++#: fortran/match.c:3638
+ #, no-c-format
+ msgid "ELSEWHERE statement at %C not enclosed in WHERE block"
+ msgstr "Ðаредба ELSEWHERE код %C није обухваћена блоком WHERE"
+
+-#: fortran/match.c:3728
++#: fortran/match.c:3676
+ #, no-c-format
+ msgid "Label '%s' at %C doesn't match WHERE label '%s'"
+ msgstr "Етикета ‘%s’ код %C не одговара етикети WHERE ‘%s’"
+
+-#: fortran/match.c:3828
++#: fortran/match.c:3776
+ #, no-c-format
+ msgid "Syntax error in FORALL iterator at %C"
+ msgstr "СинтакÑна грешка у итератору FORALL код %C"
+@@ -7628,7 +7633,8 @@
+ msgid "Expected exponent in expression at %C"
+ msgstr "Очекиван је изложилац у изразу код %C"
+
+-#: fortran/matchexp.c:348 fortran/matchexp.c:452
++#: fortran/matchexp.c:350 fortran/matchexp.c:355 fortran/matchexp.c:459
++#: fortran/matchexp.c:464
+ #, no-c-format
+ msgid "Extension: Unary operator following arithmetic operator (use parentheses) at %C"
+ msgstr "Проширење: Унарни оператор прати аритметички (кориÑтите заграде) код %C"
+@@ -7753,123 +7759,123 @@
+ msgid "Expected real string"
+ msgstr "Очекивана је реална ниÑка"
+
+-#: fortran/module.c:2722
++#: fortran/module.c:2730
+ msgid "Expected expression type"
+ msgstr "Очекиван је тип израза"
+
+-#: fortran/module.c:2776
++#: fortran/module.c:2784
+ msgid "Bad operator"
+ msgstr "Лош оператор"
+
+-#: fortran/module.c:2861
++#: fortran/module.c:2869
+ msgid "Bad type in constant expression"
+ msgstr "Лош тип у конÑтантном изразу"
+
+-#: fortran/module.c:2898
++#: fortran/module.c:2906
+ #, fuzzy, no-c-format
+ msgid "Namelist %s cannot be renamed by USE association to %s"
+ msgstr "ЛиÑта имена %s не може Ñе преименовати у %s придружењем USE."
+
+-#: fortran/module.c:3723
++#: fortran/module.c:3847
+ #, no-c-format
+ msgid "Symbol '%s' referenced at %L not found in module '%s'"
+ msgstr "Симбол ‘%s’ поменут код %L није нађен у модулу ‘%s’"
+
+-#: fortran/module.c:3730
++#: fortran/module.c:3854
+ #, no-c-format
+ msgid "User operator '%s' referenced at %L not found in module '%s'"
+ msgstr "КориÑнички оператор ‘%s’ поменут код %L није нађен у модулу ‘%s’"
+
+-#: fortran/module.c:3735
++#: fortran/module.c:3859
+ #, no-c-format
+ msgid "Intrinsic operator '%s' referenced at %L not found in module '%s'"
+ msgstr "СопÑтвени оператор ‘%s’ поменут код %L није нађен у модулу ‘%s’"
+
+-#: fortran/module.c:4213
++#: fortran/module.c:4400
+ #, no-c-format
+ msgid "Can't open module file '%s' for writing at %C: %s"
+ msgstr "Ðе могу да отворим датотеку модула ‘%s’ за пиÑање код %C: %s"
+
+-#: fortran/module.c:4251
++#: fortran/module.c:4438
+ #, no-c-format
+ msgid "Error writing module file '%s' for writing: %s"
+ msgstr "Грешка при отварању датотеке модула ‘%s’ за пиÑање: %s"
+
+-#: fortran/module.c:4281 fortran/module.c:4363
++#: fortran/module.c:4468 fortran/module.c:4550
+ #, fuzzy, no-c-format
+ msgid "Symbol '%s' referenced at %L does not exist in intrinsic module ISO_C_BINDING."
+ msgstr "Симбол ‘%s’ поменут код %L није нађен у модулу ‘%s’"
+
+-#: fortran/module.c:4394
++#: fortran/module.c:4581
+ #, fuzzy, no-c-format
+ msgid "Symbol '%s' referenced at %L not found in intrinsic module ISO_C_BINDING"
+ msgstr "Симбол ‘%s’ поменут код %L није нађен у модулу ‘%s’"
+
+-#: fortran/module.c:4416
++#: fortran/module.c:4603
+ #, fuzzy, no-c-format
+ msgid "Symbol '%s' already declared"
+ msgstr "Компонента ‘%s’ код %C већ је деклариÑана код %L"
+
+-#: fortran/module.c:4471
++#: fortran/module.c:4658
+ #, no-c-format
+ msgid "Use of intrinsic module '%s' at %C conflicts with non-intrinsic module name used previously"
+ msgstr ""
+
+-#: fortran/module.c:4484
++#: fortran/module.c:4671
+ #, fuzzy, no-c-format
+ msgid "Symbol '%s' referenced at %L does not exist in intrinsic module ISO_FORTRAN_ENV"
+ msgstr "Симбол ‘%s’ поменут код %L није нађен у модулу ‘%s’"
+
+-#: fortran/module.c:4492
++#: fortran/module.c:4679
+ #, no-c-format
+ msgid "Use of the NUMERIC_STORAGE_SIZE named constant from intrinsic module ISO_FORTRAN_ENV at %L is incompatible with option %s"
+ msgstr ""
+
+-#: fortran/module.c:4520
++#: fortran/module.c:4707
+ #, no-c-format
+ msgid "Use of the NUMERIC_STORAGE_SIZE named constant from intrinsic module ISO_FORTRAN_ENV at %C is incompatible with option %s"
+ msgstr ""
+
+-#: fortran/module.c:4536
++#: fortran/module.c:4723
+ #, fuzzy, no-c-format
+ msgid "Symbol '%s' referenced at %L not found in intrinsic module ISO_FORTRAN_ENV"
+ msgstr "Симбол ‘%s’ поменут код %L није нађен у модулу ‘%s’"
+
+-#: fortran/module.c:4569
++#: fortran/module.c:4756
+ #, no-c-format
+ msgid "Fortran 2003: ISO_FORTRAN_ENV intrinsic module at %C"
+ msgstr ""
+
+-#: fortran/module.c:4577
++#: fortran/module.c:4764
+ #, fuzzy, no-c-format
+ msgid "Fortran 2003: ISO_C_BINDING module at %C"
+ msgstr "Фортран 2003: Ознака IOMSG код %L"
+
+-#: fortran/module.c:4587
++#: fortran/module.c:4774
+ #, no-c-format
+ msgid "Can't find an intrinsic module named '%s' at %C"
+ msgstr ""
+
+-#: fortran/module.c:4592
++#: fortran/module.c:4779
+ #, no-c-format
+ msgid "Can't open module file '%s' for reading at %C: %s"
+ msgstr "Ðе могу да отворим датотеку модула ‘%s’ за читање код %C: %s"
+
+-#: fortran/module.c:4600
++#: fortran/module.c:4787
+ #, no-c-format
+ msgid "Use of non-intrinsic module '%s' at %C conflicts with intrinsic module name used previously"
+ msgstr ""
+
+-#: fortran/module.c:4615
++#: fortran/module.c:4802
+ msgid "Unexpected end of module"
+ msgstr "Ðеочекиван крај модула"
+
+-#: fortran/module.c:4620
++#: fortran/module.c:4807
+ #, no-c-format
+ msgid "File '%s' opened at %C is not a GFORTRAN module file"
+ msgstr "Датотека ‘%s’ отворена код %C није модул Гфортрана"
+
+-#: fortran/module.c:4630
++#: fortran/module.c:4817
+ #, no-c-format
+ msgid "Can't USE the same module we're building!"
+ msgstr "Ðе може USE за иÑти модул који градимо!"
+@@ -7899,7 +7905,7 @@
+ msgid "Syntax error in !$OMP THREADPRIVATE list at %C"
+ msgstr "СинтакÑна грешка у лиÑти !$OMP THREADPRIVATE код %C"
+
+-#: fortran/openmp.c:696 fortran/resolve.c:5822 fortran/resolve.c:6133
++#: fortran/openmp.c:696 fortran/resolve.c:5970 fortran/resolve.c:6317
+ #, no-c-format
+ msgid "IF clause at %L requires a scalar LOGICAL expression"
+ msgstr "Одредба IF код %L захтева Ñкаларни логички израз"
+@@ -8195,299 +8201,299 @@
+ msgid "Maximum subrecord length cannot exceed %d"
+ msgstr "Ðајвећа дужина подÑлога не може премашити %d"
+
+-#: fortran/parse.c:304
++#: fortran/parse.c:451
+ #, no-c-format
+ msgid "Unclassifiable statement at %C"
+ msgstr "ÐеразврÑтљива наредба код %C"
+
+-#: fortran/parse.c:328
++#: fortran/parse.c:475
+ #, no-c-format
+ msgid "OpenMP directives at %C may not appear in PURE or ELEMENTAL procedures"
+ msgstr "ОпенМП директиве код %C не могу Ñе јављати у чиÑтим или елементалним процедурама"
+
+-#: fortran/parse.c:406
++#: fortran/parse.c:553
+ #, no-c-format
+ msgid "Unclassifiable OpenMP directive at %C"
+ msgstr "ÐеразврÑтљива ОпенМП директива код %C"
+
+-#: fortran/parse.c:445 fortran/parse.c:586
++#: fortran/parse.c:592 fortran/parse.c:733
+ #, no-c-format
+ msgid "Zero is not a valid statement label at %C"
+ msgstr "Ðула није иÑправна етикета наредбе код %C"
+
+-#: fortran/parse.c:452 fortran/parse.c:578
++#: fortran/parse.c:599 fortran/parse.c:725
+ #, no-c-format
+ msgid "Non-numeric character in statement label at %C"
+ msgstr "Ðебројевни знак у етикети наредбе код %C"
+
+-#: fortran/parse.c:464 fortran/parse.c:500 fortran/parse.c:626
++#: fortran/parse.c:611 fortran/parse.c:647 fortran/parse.c:773
+ #, no-c-format
+ msgid "Semicolon at %C needs to be preceded by statement"
+ msgstr "Тачки-зарез код %C мора претходити наредба"
+
+-#: fortran/parse.c:472 fortran/parse.c:638
++#: fortran/parse.c:619 fortran/parse.c:785
+ #, no-c-format
+ msgid "Ignoring statement label in empty statement at %C"
+ msgstr "Игноришем етикету наредбе у празној наредби код %C"
+
+-#: fortran/parse.c:565 fortran/parse.c:605
++#: fortran/parse.c:712 fortran/parse.c:752
+ #, no-c-format
+ msgid "Bad continuation line at %C"
+ msgstr "Лоше наÑтављање линије код %C"
+
+-#: fortran/parse.c:664
++#: fortran/parse.c:811
+ #, no-c-format
+ msgid "Line truncated at %C"
+ msgstr "Линија одÑечена код %C"
+
+-#: fortran/parse.c:841
++#: fortran/parse.c:997
+ #, no-c-format
+ msgid "FORMAT statement at %L does not have a statement label"
+ msgstr "Ðаредба FORMAT код %L нема етикету наредбе"
+
+-#: fortran/parse.c:913
++#: fortran/parse.c:1069
+ msgid "arithmetic IF"
+ msgstr "аритметичко IF"
+
+-#: fortran/parse.c:919
++#: fortran/parse.c:1075
+ msgid "attribute declaration"
+ msgstr "декларација атрибута"
+
+-#: fortran/parse.c:949
++#: fortran/parse.c:1105
+ msgid "data declaration"
+ msgstr "декларација података"
+
+-#: fortran/parse.c:958
++#: fortran/parse.c:1114
+ msgid "derived type declaration"
+ msgstr "декларација изведеног типа"
+
+-#: fortran/parse.c:1037
++#: fortran/parse.c:1193
+ msgid "block IF"
+ msgstr "блоковÑко IF"
+
+-#: fortran/parse.c:1046
++#: fortran/parse.c:1202
+ msgid "implied END DO"
+ msgstr "имплицитно END DO"
+
+-#: fortran/parse.c:1119
++#: fortran/parse.c:1275
+ msgid "assignment"
+ msgstr "додела"
+
+-#: fortran/parse.c:1122
++#: fortran/parse.c:1278
+ msgid "pointer assignment"
+ msgstr "додела показивача"
+
+-#: fortran/parse.c:1131
++#: fortran/parse.c:1287
+ msgid "simple IF"
+ msgstr "једноÑтавно IF"
+
+-#: fortran/parse.c:1347
++#: fortran/parse.c:1503
+ #, no-c-format
+ msgid "Unexpected %s statement at %C"
+ msgstr "Ðеочекивана наредба %s код %C"
+
+-#: fortran/parse.c:1486
++#: fortran/parse.c:1642
+ #, no-c-format
+ msgid "%s statement at %C cannot follow %s statement at %L"
+ msgstr "Ðаредба %s код %C не може пратити наредбу %s код %L"
+
+-#: fortran/parse.c:1503
++#: fortran/parse.c:1659
+ #, no-c-format
+ msgid "Unexpected end of file in '%s'"
+ msgstr "Ðеочекиван крај датотеке у ‘%s’"
+
+-#: fortran/parse.c:1558
++#: fortran/parse.c:1714
+ #, fuzzy, no-c-format
+ msgid "Fortran 2003: Derived type definition at %C without components"
+ msgstr "Дефиниција изведеног типа код %C нема компонената"
+
+-#: fortran/parse.c:1569
++#: fortran/parse.c:1725
+ #, no-c-format
+ msgid "PRIVATE statement in TYPE at %C must be inside a MODULE"
+ msgstr "Ðаредба PRIVATE у TYPE код %C мора бити унутар модула"
+
+-#: fortran/parse.c:1577
++#: fortran/parse.c:1733
+ #, no-c-format
+ msgid "PRIVATE statement at %C must precede structure components"
+ msgstr "Ðаредба PRIVATE код %C мора претходити компонентама Ñтруктуре"
+
+-#: fortran/parse.c:1585
++#: fortran/parse.c:1741
+ #, no-c-format
+ msgid "Duplicate PRIVATE statement at %C"
+ msgstr "УдвоÑтручена наредба PRIVATE код %C"
+
+-#: fortran/parse.c:1597
++#: fortran/parse.c:1753
+ #, no-c-format
+ msgid "SEQUENCE statement at %C must precede structure components"
+ msgstr "Ðаредба SEQUENCE код %C мора претходити компонентама Ñтруктуре"
+
+-#: fortran/parse.c:1604
++#: fortran/parse.c:1760
+ #, no-c-format
+ msgid "SEQUENCE attribute at %C already specified in TYPE statement"
+ msgstr "Ðтрибут SEQUENCE код %C је већ наведен у наредби TYPE"
+
+-#: fortran/parse.c:1609
++#: fortran/parse.c:1765
+ #, no-c-format
+ msgid "Duplicate SEQUENCE statement at %C"
+ msgstr "УдвоÑтручена наредба SEQUENCE код %C"
+
+-#: fortran/parse.c:1700
++#: fortran/parse.c:1856
+ #, no-c-format
+ msgid "ENUM declaration at %C has no ENUMERATORS"
+ msgstr "Декларација ENUM код %C не Ñадржи набрајаче"
+
+-#: fortran/parse.c:1778
++#: fortran/parse.c:1934
+ #, no-c-format
+ msgid "Unexpected %s statement in INTERFACE block at %C"
+ msgstr "Ðеочекивана наредба %s у блоку INTERFACE код %C"
+
+-#: fortran/parse.c:1804
++#: fortran/parse.c:1960
+ #, no-c-format
+ msgid "SUBROUTINE at %C does not belong in a generic function interface"
+ msgstr "Потпрограм код %C не Ñпада у генеричко Ñучеље функције"
+
+-#: fortran/parse.c:1808
++#: fortran/parse.c:1964
+ #, no-c-format
+ msgid "FUNCTION at %C does not belong in a generic subroutine interface"
+ msgstr "Функција код %C не Ñпада у генеричко Ñучеље функције"
+
+-#: fortran/parse.c:1818
++#: fortran/parse.c:1974
+ #, fuzzy, no-c-format
+ msgid "Name '%s' of ABSTRACT INTERFACE at %C cannot be the same as an intrinsic type"
+ msgstr "Име типа ‘%s’ код %C не може бити иÑто као ÑопÑтвеног типа"
+
+-#: fortran/parse.c:1849
++#: fortran/parse.c:2005
+ #, no-c-format
+ msgid "Unexpected %s statement at %C in INTERFACE body"
+ msgstr "Ðеочекивана наредба %s код %C у телу Ñучеља"
+
+-#: fortran/parse.c:1863
++#: fortran/parse.c:2019
+ #, no-c-format
+ msgid "INTERFACE procedure '%s' at %L has the same name as the enclosing procedure"
+ msgstr "Процедура Ñучеља ‘%s’ код %L има иÑто име као и обухватајућа процедура"
+
+-#: fortran/parse.c:1958
++#: fortran/parse.c:2134
+ #, no-c-format
+ msgid "%s statement must appear in a MODULE"
+ msgstr "Ðаредба %s Ñе мора појавити у модулу"
+
+-#: fortran/parse.c:1965
++#: fortran/parse.c:2141
+ #, no-c-format
+ msgid "%s statement at %C follows another accessibility specification"
+ msgstr "Ðаредба %s код %C прати другачију одредницу приÑтупа"
+
+-#: fortran/parse.c:2015
++#: fortran/parse.c:2191
+ #, fuzzy, no-c-format
+ msgid "Bad kind expression for function '%s' at %L"
+ msgstr "Ðе могу да разрешим одређену функцију ‘%s’ код %L"
+
+-#: fortran/parse.c:2018
++#: fortran/parse.c:2195
+ #, fuzzy, no-c-format
+ msgid "The type for function '%s' at %L is not accessible"
+ msgstr "Ðаводилац алтернативног повратка није дозвољен у функцији ‘%s’ код %L"
+
+-#: fortran/parse.c:2070
++#: fortran/parse.c:2253
+ #, no-c-format
+ msgid "ELSEWHERE statement at %C follows previous unmasked ELSEWHERE"
+ msgstr "Ðаредба ELSEWHERE код %C прати претходно демаÑкирано ELSEWHERE"
+
+-#: fortran/parse.c:2091
++#: fortran/parse.c:2274
+ #, no-c-format
+ msgid "Unexpected %s statement in WHERE block at %C"
+ msgstr "Ðеочекивана наредба %s у блоку WHERE код %C"
+
+-#: fortran/parse.c:2150
++#: fortran/parse.c:2333
+ #, no-c-format
+ msgid "Unexpected %s statement in FORALL block at %C"
+ msgstr "Ðеочекивана наредба %s у блоку FORALL код %C"
+
+-#: fortran/parse.c:2201
++#: fortran/parse.c:2384
+ #, no-c-format
+ msgid "ELSE IF statement at %C cannot follow ELSE statement at %L"
+ msgstr "Ðаредба ELSE IF код %C не може пратити наредбу ELSE код %L"
+
+-#: fortran/parse.c:2219
++#: fortran/parse.c:2402
+ #, no-c-format
+ msgid "Duplicate ELSE statements at %L and %C"
+ msgstr "УдвоÑтручене наредбе ELSE код %L и %C"
+
+-#: fortran/parse.c:2280
++#: fortran/parse.c:2463
+ #, no-c-format
+ msgid "Expected a CASE or END SELECT statement following SELECT CASE at %C"
+ msgstr "Очекивана је наредба CASE или END SELECT поÑле SELECT CASE код %C"
+
+-#: fortran/parse.c:2338
++#: fortran/parse.c:2521
+ #, no-c-format
+ msgid "Variable '%s' at %C cannot be redefined inside loop beginning at %L"
+ msgstr "Променљива ‘%s’ код %C не може Ñе редефиниÑати унутар петље која почиње код %L"
+
+-#: fortran/parse.c:2372
++#: fortran/parse.c:2555
+ #, no-c-format
+ msgid "End of nonblock DO statement at %C is within another block"
+ msgstr "Крај неблоковÑке наредбе DO код %C је унутар другог блока"
+
+-#: fortran/parse.c:2381
++#: fortran/parse.c:2564
+ #, no-c-format
+ msgid "End of nonblock DO statement at %C is interwoven with another DO loop"
+ msgstr "Крај неблоковÑке наредбе DO код %C је уплетена Ñа другом DO петљом"
+
+-#: fortran/parse.c:2430
++#: fortran/parse.c:2613
+ #, no-c-format
+ msgid "Statement label in ENDDO at %C doesn't match DO label"
+ msgstr "Етикета наредбе у ENDDO код %C не одговара етикети DO"
+
+-#: fortran/parse.c:2446
++#: fortran/parse.c:2629
+ #, no-c-format
+ msgid "named block DO at %L requires matching ENDDO name"
+ msgstr "именовани блок DO код %L захтева поклапајуће име уз ENDDO"
+
+-#: fortran/parse.c:2702
++#: fortran/parse.c:2885
+ #, no-c-format
+ msgid "Name after !$omp critical and !$omp end critical does not match at %C"
+ msgstr "Ðе Ñлаже Ñе име поÑле !$omp critical и !$omp end critical код %C"
+
+-#: fortran/parse.c:2758
++#: fortran/parse.c:2941
+ #, no-c-format
+ msgid "%s statement at %C cannot terminate a non-block DO loop"
+ msgstr "Ðаредба %s код %C не може окончати неблоковÑку петљу DO"
+
+-#: fortran/parse.c:2943
++#: fortran/parse.c:3126
+ #, no-c-format
+ msgid "Contained procedure '%s' at %C is already ambiguous"
+ msgstr "Садржана процедура ‘%s’ код %C је већ двоÑмиÑлена"
+
+-#: fortran/parse.c:2993
++#: fortran/parse.c:3176
+ #, no-c-format
+ msgid "Unexpected %s statement in CONTAINS section at %C"
+ msgstr "Ðеочекивана наредба %s у одељку CONTAINS код %C"
+
+ #. This is valid in Fortran 2008.
+-#: fortran/parse.c:3018
++#: fortran/parse.c:3201
+ #, no-c-format
+ msgid "Extension: CONTAINS statement without FUNCTION or SUBROUTINE statement at %C"
+ msgstr ""
+
+-#: fortran/parse.c:3089
++#: fortran/parse.c:3272
+ #, no-c-format
+ msgid "CONTAINS statement at %C is already in a contained program unit"
+ msgstr "Ðаредба CONTAINS код %C је већ у Ñадржаној програмÑкој јединици"
+
+-#: fortran/parse.c:3138
++#: fortran/parse.c:3321
+ #, no-c-format
+ msgid "Global name '%s' at %L is already being used as a %s at %L"
+ msgstr "Глобално име ‘%s’ код %L Ñе већ кориÑти као %s код %L"
+
+-#: fortran/parse.c:3159
++#: fortran/parse.c:3342
+ #, no-c-format
+ msgid "Blank BLOCK DATA at %C conflicts with prior BLOCK DATA at %L"
+ msgstr "Празно BLOCK DATA код %C коÑи Ñе Ñа претходним BLOCK DATA код %L"
+
+-#: fortran/parse.c:3185
++#: fortran/parse.c:3368
+ #, no-c-format
+ msgid "Unexpected %s statement in BLOCK DATA at %C"
+ msgstr "Ðеочекивана наредба %s у BLOCK DATA код %C"
+
+-#: fortran/parse.c:3228
++#: fortran/parse.c:3411
+ #, no-c-format
+ msgid "Unexpected %s statement in MODULE at %C"
+ msgstr "Ðеочекивана наредба %s у модулу код %C"
+@@ -8495,7 +8501,7 @@
+ #. If we see a duplicate main program, shut down. If the second
+ #. instance is an implied main program, ie data decls or executable
+ #. statements, we're in for lots of errors.
+-#: fortran/parse.c:3416
++#: fortran/parse.c:3594
+ #, no-c-format
+ msgid "Two main PROGRAMs at %L and %C"
+ msgstr "Два главна програма, код %L и %C"
+@@ -8531,8 +8537,8 @@
+ msgstr "ÐеиÑправна Холеритова конÑтанта: Целобројна врÑта код %L треба да је подразумевана"
+
+ #: fortran/primary.c:353
+-#, no-c-format
+-msgid "Extension: Hexadecimal constant at %C uses non-standard syntax."
++#, fuzzy, no-c-format
++msgid "Extension: Hexadecimal constant at %C uses non-standard syntax"
+ msgstr "Проширење: ХекÑадекадна конÑтанта код %C кориÑти неÑтандардну ÑинтакÑу."
+
+ #: fortran/primary.c:363
+@@ -8545,995 +8551,1040 @@
+ msgid "Illegal character in BOZ constant at %C"
+ msgstr "Ðедозвољени знак у БОЗ конÑтанти код %C"
+
+-#: fortran/primary.c:391
+-#, no-c-format
+-msgid "Extension: BOZ constant at %C uses non-standard postfix syntax."
++#: fortran/primary.c:392
++#, fuzzy, no-c-format
++msgid "Extension: BOZ constant at %C uses non-standard postfix syntax"
+ msgstr "Проширење: БОЗ конÑтанта код %C кориÑти неÑтандардну поÑтфикÑну ÑинтакÑу."
+
+-#: fortran/primary.c:417
++#: fortran/primary.c:423
+ #, no-c-format
+ msgid "Integer too big for integer kind %i at %C"
+ msgstr "Превелики цео број за целобројну врÑту %i код %C"
+
+-#: fortran/primary.c:517
++#: fortran/primary.c:429
++#, fuzzy, no-c-format
++msgid "Fortran 2003: BOZ used outside a DATA statement at %C"
++msgstr "Фортран 2003: Ðаредба FLUSH код %C"
++
++#: fortran/primary.c:529
+ #, no-c-format
+ msgid "Missing exponent in real number at %C"
+ msgstr "ÐедоÑтаје изложилац у реалном броју код %C"
+
+-#: fortran/primary.c:573
++#: fortran/primary.c:585
+ #, no-c-format
+ msgid "Real number at %C has a 'd' exponent and an explicit kind"
+ msgstr "Реални број код %C има изложилац ‘d’ и екÑплицитну врÑту"
+
+-#: fortran/primary.c:586
++#: fortran/primary.c:598
+ #, no-c-format
+ msgid "Invalid real kind %d at %C"
+ msgstr "ÐеиÑправна реална врÑта %d код %C"
+
+-#: fortran/primary.c:600
++#: fortran/primary.c:612
+ #, no-c-format
+ msgid "Real constant overflows its kind at %C"
+ msgstr "Реална конÑтанта прелива Ñвоју врÑту код %C"
+
+-#: fortran/primary.c:605
++#: fortran/primary.c:617
+ #, no-c-format
+ msgid "Real constant underflows its kind at %C"
+ msgstr "Реална конÑтанта подлива Ñвоју врÑту код %C"
+
+-#: fortran/primary.c:697
++#: fortran/primary.c:709
+ #, no-c-format
+ msgid "Syntax error in SUBSTRING specification at %C"
+ msgstr "СинтакÑна грешка у одредници SUBSTRING код %C"
+
+-#: fortran/primary.c:902
++#: fortran/primary.c:914
+ #, no-c-format
+ msgid "Invalid kind %d for CHARACTER constant at %C"
+ msgstr "ÐеиÑправна врÑта %d за знаковну конÑтанту код %C"
+
+-#: fortran/primary.c:923
++#: fortran/primary.c:935
+ #, no-c-format
+ msgid "Unterminated character constant beginning at %C"
+ msgstr "Ðеокончана знаковна конÑтанта Ñ Ð¿Ð¾Ñ‡ÐµÑ‚ÐºÐ¾Ð¼ код %C"
+
+-#: fortran/primary.c:1035
++#: fortran/primary.c:1047
+ #, no-c-format
+ msgid "Bad kind for logical constant at %C"
+ msgstr "Лоша врÑта за логичку конÑтанту код %C"
+
+-#: fortran/primary.c:1074
++#: fortran/primary.c:1086
+ #, no-c-format
+ msgid "Expected PARAMETER symbol in complex constant at %C"
+ msgstr "Очекиван је параметарÑки Ñимбол у комплекÑној конÑтанти код %C"
+
+-#: fortran/primary.c:1080
++#: fortran/primary.c:1092
+ #, no-c-format
+ msgid "Numeric PARAMETER required in complex constant at %C"
+ msgstr "Потребан је бројевни параметар у комплекÑној конÑтанти код %C"
+
+-#: fortran/primary.c:1086
++#: fortran/primary.c:1098
+ #, no-c-format
+ msgid "Scalar PARAMETER required in complex constant at %C"
+ msgstr "Потребан је Ñкаларни параметар у комплекÑној конÑтанти код %C"
+
+-#: fortran/primary.c:1090
++#: fortran/primary.c:1102
+ #, no-c-format
+ msgid "Fortran 2003: PARAMETER symbol in complex constant at %C"
+ msgstr "фортран 2003: Очекиван је параметарÑки Ñимбол у комплекÑној конÑтанти код %C"
+
+-#: fortran/primary.c:1120
++#: fortran/primary.c:1132
+ #, no-c-format
+ msgid "Error converting PARAMETER constant in complex constant at %C"
+ msgstr "Грешка при претварању параметарÑке конÑтанте у комплекÑну код %C"
+
+-#: fortran/primary.c:1249
++#: fortran/primary.c:1261
+ #, no-c-format
+ msgid "Syntax error in COMPLEX constant at %C"
+ msgstr "СинтакÑна грешка у комплекÑној конÑтанти код %C"
+
+-#: fortran/primary.c:1430
++#: fortran/primary.c:1442
+ #, no-c-format
+ msgid "Keyword '%s' at %C has already appeared in the current argument list"
+ msgstr "Кључна реч ‘%s’ код %C Ñе већ јавила у текућој лиÑти аргумената"
+
+-#: fortran/primary.c:1494
++#: fortran/primary.c:1506
+ #, no-c-format
+ msgid "Extension: argument list function at %C"
+ msgstr "Проширење: функција лиÑте аргумената код %C"
+
+-#: fortran/primary.c:1561
++#: fortran/primary.c:1573
+ #, no-c-format
+ msgid "Expected alternate return label at %C"
+ msgstr "Очекивана је етикета алтернативног повратка код %C"
+
+-#: fortran/primary.c:1579
++#: fortran/primary.c:1591
+ #, no-c-format
+ msgid "Missing keyword name in actual argument list at %C"
+ msgstr "ÐедоÑтаје име кључне речи у лиÑти Ñтварних аргумената код %C"
+
+-#: fortran/primary.c:1624
++#: fortran/primary.c:1636
+ #, no-c-format
+ msgid "Syntax error in argument list at %C"
+ msgstr "СинтакÑна грешка у лиÑти аргумената код %C"
+
+-#: fortran/primary.c:1708
++#: fortran/primary.c:1723
+ #, no-c-format
+ msgid "Expected structure component name at %C"
+ msgstr "Очекивано је име компоненте Ñтруктуре код %C"
+
+-#: fortran/primary.c:1961
++#: fortran/primary.c:1980
+ #, no-c-format
+ msgid "Too many components in structure constructor at %C"
+ msgstr "Превише компонената у конÑтруктору Ñтруктуре код %C"
+
+-#: fortran/primary.c:1974
++#: fortran/primary.c:1993
+ #, fuzzy, no-c-format
+ msgid "Structure constructor for '%s' at %C has PRIVATE components"
+ msgstr "Компонента ‘%s’ код %C је приватна компонента у ‘%s’"
+
+-#: fortran/primary.c:1984
++#: fortran/primary.c:2003
+ #, no-c-format
+ msgid "Too few components in structure constructor at %C"
+ msgstr "Премало компонената у конÑтруктору Ñтруктуре код %C"
+
+-#: fortran/primary.c:2002
++#: fortran/primary.c:2021
+ #, no-c-format
+ msgid "Syntax error in structure constructor at %C"
+ msgstr "СинтакÑна грешка у конÑтруктору Ñтруктуре код %C"
+
+-#: fortran/primary.c:2086
++#: fortran/primary.c:2105
+ #, no-c-format
+ msgid "'%s' 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.c:2188
++#: fortran/primary.c:2207
+ #, no-c-format
+ msgid "Unexpected use of subroutine name '%s' at %C"
+ msgstr "Ðеочекивана употреба имена потпрограма ‘%s’ код %C"
+
+-#: fortran/primary.c:2219
++#: fortran/primary.c:2238
+ #, no-c-format
+ msgid "Statement function '%s' requires argument list at %C"
+ msgstr "Ðаредбена функција ‘%s’ захтева лиÑту аргумената код %C"
+
+-#: fortran/primary.c:2222
++#: fortran/primary.c:2241
+ #, no-c-format
+ msgid "Function '%s' requires an argument list at %C"
+ msgstr "Функција ‘%s’ захтева лиÑту аргумената код %C"
+
+-#: fortran/primary.c:2267
++#: fortran/primary.c:2286
+ #, fuzzy, no-c-format
+ msgid "Missing argument to '%s' at %C"
+ msgstr "опцији „%s“ недоÑтаје аргумент"
+
+-#: fortran/primary.c:2408
++#: fortran/primary.c:2427
+ #, no-c-format
+ msgid "Missing argument list in function '%s' at %C"
+ msgstr "ÐедоÑтаје лиÑта аргумената у функцији ‘%s’ код %C"
+
+-#: fortran/primary.c:2436
++#: fortran/primary.c:2455
+ #, no-c-format
+ msgid "Symbol at %C is not appropriate for an expression"
+ msgstr "Симбол код %C није подеÑан за израз"
+
+-#: fortran/primary.c:2504
++#: fortran/primary.c:2523
+ #, fuzzy, no-c-format
+ msgid "Assigning to PROTECTED variable at %C"
+ msgstr "Додела у индекÑну променљиву за FORALL код %L"
+
+-#: fortran/primary.c:2520
++#: fortran/primary.c:2557
+ #, no-c-format
+ msgid "Named constant at %C in an EQUIVALENCE"
+ msgstr "Именована конÑтанта код %C у еквиваленцији"
+
+-#: fortran/primary.c:2543
+-#, no-c-format
+-msgid "Expected VARIABLE at %C"
+-msgstr "Очекивано је VARIABLE код %C"
++#: fortran/primary.c:2579
++#, fuzzy, no-c-format
++msgid "'%s' at %C is not a variable"
++msgstr "Симбол код %L није лажна променљива"
+
+-#: fortran/resolve.c:120
++#: fortran/resolve.c:121
+ #, no-c-format
+ msgid "Alternate return specifier in elemental subroutine '%s' at %L is not allowed"
+ msgstr "Ðаводилац алтернативног повратка није дозвољен у елементалном потпрограму ‘%s’ код %L"
+
+-#: fortran/resolve.c:124
++#: fortran/resolve.c:125
+ #, no-c-format
+ msgid "Alternate return specifier in function '%s' at %L is not allowed"
+ msgstr "Ðаводилац алтернативног повратка није дозвољен у функцији ‘%s’ код %L"
+
+-#: fortran/resolve.c:137
++#: fortran/resolve.c:138
+ #, no-c-format
+ msgid "Dummy procedure '%s' of PURE procedure at %L must also be PURE"
+ msgstr "Лажна процедура ‘%s’ чиÑте процедуре код %L мора такође бити чиÑта"
+
+-#: fortran/resolve.c:144
++#: fortran/resolve.c:145
+ #, no-c-format
+ msgid "Dummy procedure at %L not allowed in ELEMENTAL procedure"
+ msgstr "Лажна процедура код %L није дозвољена у елементалној процедури"
+
+-#: fortran/resolve.c:157 fortran/resolve.c:1080
++#: fortran/resolve.c:158 fortran/resolve.c:1138
+ #, no-c-format
+ msgid "Unable to find a specific INTRINSIC procedure for the reference '%s' at %L"
+ msgstr "Ðе могу да нађем одређену ÑопÑтвену процедуру за упућивач ‘%s’ код %L"
+
+-#: fortran/resolve.c:201
++#: fortran/resolve.c:202
+ #, no-c-format
+ msgid "Argument '%s' of pure function '%s' at %L must be INTENT(IN)"
+ msgstr "Ðргумент ‘%s’ чиÑте функције ‘%s’ код %L мора бити намере-у"
+
+-#: fortran/resolve.c:206
++#: fortran/resolve.c:207
+ #, no-c-format
+ msgid "Argument '%s' of pure subroutine '%s' at %L must have its INTENT specified"
+ msgstr "Ðргумент ‘%s’ чиÑтог потпрограма ‘%s’ код %L мора имати наведену намеру"
+
+-#: fortran/resolve.c:215
++#: fortran/resolve.c:216
+ #, no-c-format
+ msgid "Argument '%s' of elemental procedure at %L must be scalar"
+ msgstr "Ðргумент ‘%s’ елементалне процедуре код %L мора бити Ñкалар"
+
+-#: fortran/resolve.c:222
++#: fortran/resolve.c:223
+ #, no-c-format
+ msgid "Argument '%s' of elemental procedure at %L cannot have the POINTER attribute"
+ msgstr "Ðргумент ‘%s’ елементалне процедуре код %L не може имати атрибут показивача"
+
+-#: fortran/resolve.c:234
++#: fortran/resolve.c:231
++#, fuzzy, no-c-format
++msgid "Dummy procedure '%s' not allowed in elemental procedure '%s' at %L"
++msgstr "Лажна процедура код %L није дозвољена у елементалној процедури"
++
++#: fortran/resolve.c:243
+ #, no-c-format
+ msgid "Argument '%s' of statement function at %L must be scalar"
+ msgstr "Ðргумент ‘%s’ наредбене функције код %L мора бити Ñкалар"
+
+-#: fortran/resolve.c:244
++#: fortran/resolve.c:253
+ #, no-c-format
+ msgid "Character-valued argument '%s' of statement function at %L must have constant length"
+ msgstr "Ðргумент знаковне вредноÑти ‘%s’ наредбене функције код %L мора имати конÑтантну дужину"
+
+-#: fortran/resolve.c:299
++#: fortran/resolve.c:310
+ #, no-c-format
+ msgid "Contained function '%s' at %L has no IMPLICIT type"
+ msgstr "Садржана функција ‘%s’ код %L нема имплицитан тип"
+
+-#: fortran/resolve.c:302
++#: fortran/resolve.c:313
+ #, fuzzy, no-c-format
+ msgid "Result '%s' of contained function '%s' at %L has no IMPLICIT type"
+ msgstr "Садржана функција ‘%s’ код %L нема имплицитан тип"
+
+-#: fortran/resolve.c:319
++#: fortran/resolve.c:330
+ #, no-c-format
+ msgid "Character-valued internal function '%s' at %L must not be assumed length"
+ msgstr "Унутрашња функција знаковне вредноÑти ‘%s’ код %L не може бити претпоÑтављене дужине"
+
+-#: fortran/resolve.c:490
+-#, no-c-format
+-msgid "Procedure %s at %L has entries with mismatched array specifications"
++#: fortran/resolve.c:501
++#, fuzzy, no-c-format
++msgid "Function %s at %L has entries with mismatched array specifications"
+ msgstr "Процедура %s код %L има уноÑе Ñа неуÑаглашеним одредницама низа"
+
+-#: fortran/resolve.c:516
++#: fortran/resolve.c:518
+ #, no-c-format
++msgid "Extension: Function %s at %L with entries returning variables of different string lengths"
++msgstr ""
++
++#: fortran/resolve.c:545
++#, no-c-format
+ msgid "FUNCTION result %s can't be an array in FUNCTION %s at %L"
+ msgstr "Резултат функције %s не може бити низ у функцији %s код %L"
+
+-#: fortran/resolve.c:520
++#: fortran/resolve.c:549
+ #, no-c-format
+ msgid "ENTRY result %s can't be an array in FUNCTION %s at %L"
+ msgstr "Улазни резултат %s не може бити низ у функцији %s код %L"
+
+-#: fortran/resolve.c:527
++#: fortran/resolve.c:556
+ #, no-c-format
+ msgid "FUNCTION result %s can't be a POINTER in FUNCTION %s at %L"
+ msgstr "Резултат функције %s не може бити показивач у функцији %s код %L"
+
+-#: fortran/resolve.c:531
++#: fortran/resolve.c:560
+ #, no-c-format
+ msgid "ENTRY result %s can't be a POINTER in FUNCTION %s at %L"
+ msgstr "Улазни резултат %s не може бити показивач у функцији %s код %L"
+
+-#: fortran/resolve.c:569
++#: fortran/resolve.c:598
+ #, no-c-format
+ msgid "FUNCTION result %s can't be of type %s in FUNCTION %s at %L"
+ msgstr "Резултат функције %s не може бити типа %s у функцији %s код %L"
+
+-#: fortran/resolve.c:574
++#: fortran/resolve.c:603
+ #, no-c-format
+ msgid "ENTRY result %s can't be of type %s in FUNCTION %s at %L"
+ msgstr "Улазни резултат %s не може бити типа %s у функцији %s код %L"
+
+-#: fortran/resolve.c:643
++#: fortran/resolve.c:661
++#, no-c-format
++msgid "Variable '%s' at %L is in COMMON but only in BLOCK DATA initialization is allowed"
++msgstr ""
++
++#: fortran/resolve.c:665
++#, no-c-format
++msgid "Initialized variable '%s' at %L is in a blank COMMON but initialization is only allowed in named common blocks"
++msgstr ""
++
++#: fortran/resolve.c:676
+ #, fuzzy, no-c-format
+ msgid "Derived type variable '%s' in COMMON at %L has neither the SEQUENCE nor the BIND(C) attribute"
+ msgstr "Променљива изведеног типа у заједничком код %C нема атрибут SEQUENCE"
+
+-#: fortran/resolve.c:647
++#: fortran/resolve.c:680
+ #, fuzzy, no-c-format
+ msgid "Derived type variable '%s' in COMMON at %L has an ultimate component that is allocatable"
+ msgstr "Променљива изведеног типа у заједничком код %C нема атрибут SEQUENCE"
+
+-#: fortran/resolve.c:651
++#: fortran/resolve.c:684
+ #, fuzzy, no-c-format
+ msgid "Derived type variable '%s' in COMMON at %L may not have default initializer"
+ msgstr "Променљива изведеног типа у заједничком код %C нема атрибут SEQUENCE"
+
+-#: fortran/resolve.c:661
++#: fortran/resolve.c:711
+ #, fuzzy, no-c-format
+ msgid "COMMON block '%s' at %L is used as PARAMETER at %L"
+ msgstr "Именовани заједнички блок ‘%s’ код %L ће бити иÑте величине"
+
+-#: fortran/resolve.c:665
++#: fortran/resolve.c:715
+ #, fuzzy, no-c-format
+ msgid "COMMON block '%s' at %L is also an intrinsic procedure"
+ msgstr "Именовани заједнички блок ‘%s’ код %L ће бити иÑте величине"
+
+-#: fortran/resolve.c:669
++#: fortran/resolve.c:719
+ #, no-c-format
+ msgid "Fortran 2003: COMMON block '%s' at %L that is also a function result"
+ msgstr ""
+
+-#: fortran/resolve.c:674
++#: fortran/resolve.c:724
+ #, no-c-format
+ msgid "Fortran 2003: COMMON block '%s' at %L that is also a global procedure"
+ msgstr ""
+
+-#: fortran/resolve.c:736
++#: fortran/resolve.c:786
+ #, fuzzy, no-c-format
+ msgid "Components of structure constructor '%s' at %L are PRIVATE"
+ msgstr "Премало компонената у конÑтруктору Ñтруктуре код %C"
+
+-#: fortran/resolve.c:756
++#: fortran/resolve.c:808
+ #, no-c-format
+ msgid "The rank of the element in the derived type constructor at %L does not match that of the component (%d/%d)"
+ msgstr "Ранг елемента у конÑтруктору изведеног типа код %L не одговара оном компоненте (%d/%d)"
+
+-#: fortran/resolve.c:769
++#: fortran/resolve.c:821
+ #, no-c-format
+ msgid "The element in the derived type constructor at %L, for pointer component '%s', is %s but should be %s"
+ msgstr "Елемент у конÑтруктору изведеног типа код %L, за показивачку компоненте ‘%s’, јеÑте %s а треба да буде %s"
+
+-#: fortran/resolve.c:786
++#: fortran/resolve.c:838
+ #, no-c-format
+ msgid "The element in the derived type constructor at %L, for pointer component '%s' should be a POINTER or a TARGET"
+ msgstr "Елемент у конÑтруктору изведеног типа код %L, за показивачку компоненту ‘%s’, треба да је показивач или циљ"
+
+-#: fortran/resolve.c:913
++#: fortran/resolve.c:965
+ #, fuzzy, no-c-format
+ msgid "The upper bound in the last dimension must appear in the reference to the assumed size array '%s' at %L"
+ msgstr "Горња граница у поÑледњој димензији мора Ñе појавити у упућивачу на низ претпоÑтављене величине ‘%s’ код %L."
+
+-#: fortran/resolve.c:976 fortran/resolve.c:5434 fortran/resolve.c:6098
++#: fortran/resolve.c:1029 fortran/resolve.c:5576 fortran/resolve.c:6282
+ #, no-c-format
+ msgid "Label %d referenced at %L is never defined"
+ msgstr "Етикета %d поменута код %L није дефиниÑана"
+
+-#: fortran/resolve.c:986
++#: fortran/resolve.c:1039
+ #, fuzzy, no-c-format
+ msgid "'%s' at %L is ambiguous"
+ msgstr "ДвоÑмиÑлен Ñимбол ‘%s’ код %L"
+
+-#: fortran/resolve.c:1018
++#: fortran/resolve.c:1075
+ #, no-c-format
+ msgid "Statement function '%s' at %L is not allowed as an actual argument"
+ msgstr "Ðаредбена функција ‘%s’ код %L није дозвољена као Ñтварни аргумент"
+
+-#: fortran/resolve.c:1026
++#: fortran/resolve.c:1083
+ #, no-c-format
+ msgid "Intrinsic '%s' at %L is not allowed as an actual argument"
+ msgstr "СопÑтвено ‘%s’ код %L није дозвољено као Ñтварни аргумент"
+
+-#: fortran/resolve.c:1033
++#: fortran/resolve.c:1090
+ #, no-c-format
+ msgid "Internal procedure '%s' is not allowed as an actual argument at %L"
+ msgstr "Унутрашња процедура ‘%s’ код %L није дозвољена као Ñтварни аргумент"
+
+-#: fortran/resolve.c:1039
++#: fortran/resolve.c:1096
+ #, no-c-format
+ msgid "ELEMENTAL non-INTRINSIC procedure '%s' is not allowed as an actual argument at %L"
+ msgstr "Елементална неÑопÑтвена процедура ‘%s’ код %L није дозвољена као Ñтварни аргумент"
+
+-#: fortran/resolve.c:1059
++#: fortran/resolve.c:1116
+ #, fuzzy, no-c-format
+ msgid "GENERIC procedure '%s' is not allowed as an actual argument at %L"
+ msgstr "Генеричка неÑопÑтвена процедура ‘%s’ није дозвољена као Ñтварни аргумент код %L"
+
+-#: fortran/resolve.c:1098
++#: fortran/resolve.c:1157
+ #, no-c-format
+ msgid "Symbol '%s' at %L is ambiguous"
+ msgstr "ДвоÑмиÑлен Ñимбол ‘%s’ код %L"
+
+-#: fortran/resolve.c:1143
++#: fortran/resolve.c:1206
+ #, no-c-format
+ msgid "By-value argument at %L is not of numeric type"
+ msgstr "Ðргумент-по-вредноÑти код %L није бројевног типа"
+
+-#: fortran/resolve.c:1150
++#: fortran/resolve.c:1213
+ #, no-c-format
+ msgid "By-value argument at %L cannot be an array or an array section"
+ msgstr "Ðргумент-по-вредноÑти код %L не може бити низ или одељак низа"
+
+-#: fortran/resolve.c:1164
++#: fortran/resolve.c:1227
+ #, no-c-format
+ msgid "By-value argument at %L is not allowed in this context"
+ msgstr "Ðргумент-по-вредноÑти код %L није дозвољен у овом контекÑту"
+
+-#: fortran/resolve.c:1176
++#: fortran/resolve.c:1239
+ #, no-c-format
+ msgid "Passing internal procedure at %L by location not allowed"
+ msgstr "Ðије дозвољено проÑлеђивање унутрашње процедуре по локацији код %L"
+
+-#: fortran/resolve.c:1293
++#: fortran/resolve.c:1356
+ #, fuzzy, no-c-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)"
+ msgstr "‘%s’ код %L је низ и опцион; ако недоÑтаје, не може бити Ñтварни аргумент елементалне процедуре, оÑим ако поÑтоји не-опциони аргумент иÑтог ранга (12.4.1.5)"
+
+-#: fortran/resolve.c:1315
++#: fortran/resolve.c:1378
+ #, fuzzy
+ msgid "elemental procedure"
+ msgstr "елементални потпрограм"
+
+-#: fortran/resolve.c:1332
++#: fortran/resolve.c:1395
+ #, no-c-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"
+ msgstr ""
+
+-#: fortran/resolve.c:1466
++#: fortran/resolve.c:1531
+ #, no-c-format
+ msgid "There is no specific function for the generic '%s' at %L"
+ msgstr "Ðема одређене функције за генеричко ‘%s’ код %L"
+
+-#: fortran/resolve.c:1475
++#: fortran/resolve.c:1540
+ #, no-c-format
+ msgid "Generic function '%s' at %L is not consistent with a specific intrinsic interface"
+ msgstr "Генеричка функција ‘%s’ код %L није у Ñкладу Ñа одређеним ÑопÑтвеним Ñучељем"
+
+-#: fortran/resolve.c:1513
++#: fortran/resolve.c:1594
+ #, no-c-format
+ msgid "Function '%s' at %L is INTRINSIC but is not compatible with an intrinsic"
+ msgstr "Функција ‘%s’ код %L је ÑопÑтвена али није ÑаглаÑна Ñа ÑопÑтвеном"
+
+-#: fortran/resolve.c:1559
++#: fortran/resolve.c:1640
+ #, no-c-format
+ msgid "Unable to resolve the specific function '%s' at %L"
+ msgstr "Ðе могу да разрешим одређену функцију ‘%s’ код %L"
+
+-#: fortran/resolve.c:1615 fortran/resolve.c:8740
++#: fortran/resolve.c:1696 fortran/resolve.c:8931
+ #, no-c-format
+ msgid "Function '%s' at %L has no IMPLICIT type"
+ msgstr "Функција ‘%s’ код %L нема имплицитан тип"
+
+-#: fortran/resolve.c:1799
++#: fortran/resolve.c:1907
+ #, fuzzy, no-c-format
+ msgid "Argument to '%s' at %L is not a variable"
+ msgstr "Ðргумент у %s код %L није иÑправног типа"
+
+-#: fortran/resolve.c:1871
++#: fortran/resolve.c:1979
+ #, fuzzy, no-c-format
+ msgid "More actual than formal arguments in '%s' call at %L"
+ msgstr "Више Ñтварних него формалних аргумената у позиву процедуре код %L"
+
+-#: fortran/resolve.c:1883
++#: fortran/resolve.c:1991
+ #, no-c-format
+ msgid "Parameter '%s' to '%s' at %L must be either a TARGET or an associated pointer"
+ msgstr ""
+
+-#: fortran/resolve.c:1909
++#: fortran/resolve.c:2017
+ #, no-c-format
+ msgid "Allocatable variable '%s' used as a parameter to '%s' at %L must not be an array of zero size"
+ msgstr ""
+
+-#: fortran/resolve.c:1926
++#: fortran/resolve.c:2034
+ #, no-c-format
+ msgid "Assumed-shape array '%s' at %L cannot be an argument to the procedure '%s' because it is not C interoperable"
+ msgstr ""
+
+-#: fortran/resolve.c:1936
++#: fortran/resolve.c:2044
+ #, no-c-format
+ msgid "Deferred-shape array '%s' at %L cannot be an argument to the procedure '%s' because it is not C interoperable"
+ msgstr ""
+
+-#: fortran/resolve.c:1959 fortran/resolve.c:1998
++#: fortran/resolve.c:2067 fortran/resolve.c:2106
+ #, fuzzy, no-c-format
+ msgid "CHARACTER argument '%s' to '%s' at %L must have a length of 1"
+ msgstr "Ðргумент за %s код %L мора бити дужине један"
+
+ #. Case 1c, section 15.1.2.5, J3/04-007: an associated
+ #. scalar pointer.
+-#: fortran/resolve.c:1974
++#: fortran/resolve.c:2082
+ #, fuzzy, no-c-format
+ msgid "Argument '%s' to '%s' at %L must be an associated scalar POINTER"
+ msgstr "Ðргумент ‘%s’ за ÑопÑтвено ‘%s’ код %L мора бити показивач"
+
+-#: fortran/resolve.c:1990
++#: fortran/resolve.c:2098
+ #, fuzzy, no-c-format
+ msgid "Parameter '%s' to '%s' at %L must be a scalar"
+ msgstr "Ðргумент ‘%s’ за ÑопÑтвено ‘%s’ код %L мора бити Ñкалар"
+
+ #. TODO: Update this error message to allow for procedure
+ #. pointers once they are implemented.
+-#: fortran/resolve.c:2012
++#: fortran/resolve.c:2120
+ #, fuzzy, no-c-format
+ msgid "Parameter '%s' to '%s' at %L must be a procedure"
+ msgstr "Име ‘%s’ код %C је име процедуре"
+
+-#: fortran/resolve.c:2020
++#: fortran/resolve.c:2128
+ #, fuzzy, no-c-format
+ msgid "Parameter '%s' to '%s' at %L must be BIND(C)"
+ msgstr "Ðргумент ‘%s’ чиÑте функције ‘%s’ код %L мора бити намере-у"
+
+-#: fortran/resolve.c:2062
++#: fortran/resolve.c:2170
+ #, no-c-format
+ msgid "'%s' at %L is not a function"
+ msgstr "‘%s’ код %L није функција"
+
+-#: fortran/resolve.c:2068
++#: fortran/resolve.c:2176
+ #, no-c-format
+ msgid "ABSTRACT INTERFACE '%s' must not be referenced at %L"
+ msgstr ""
+
+ #. Internal procedures are taken care of in resolve_contained_fntype.
+-#: fortran/resolve.c:2111
++#: fortran/resolve.c:2219
+ #, no-c-format
+ msgid "Function '%s' is declared CHARACTER(*) and cannot be used at %L since it is not a dummy argument"
+ msgstr "Функција ‘%s’ деклариÑана је као CHARACTER(*) и не може бити употребљена код %L пошто није лажни аргумент"
+
+-#: fortran/resolve.c:2164
++#: fortran/resolve.c:2272
+ #, no-c-format
+ msgid "User defined non-ELEMENTAL function '%s' at %L not allowed in WORKSHARE construct"
+ msgstr "КориÑнички дефиниÑана неелементална функција ‘%s’ код %L није дозвољена у конÑтрукцији WORKSHARE"
+
+-#: fortran/resolve.c:2213
++#: fortran/resolve.c:2321
+ #, no-c-format
+ msgid "reference to non-PURE function '%s' at %L inside a FORALL %s"
+ msgstr "упућивач на не-чиÑту функцију ‘%s’ код %L унутар FORALL %s"
+
+-#: fortran/resolve.c:2220
++#: fortran/resolve.c:2328
+ #, no-c-format
+ msgid "Function reference to '%s' at %L is to a non-PURE procedure within a PURE procedure"
+ msgstr "Упућивач функције на ‘%s’ код %L је за нечиÑту процедуру унутар чиÑте процедуре"
+
+-#: fortran/resolve.c:2235
++#: fortran/resolve.c:2343
+ #, no-c-format
+ msgid "Function '%s' at %L cannot call itself, as it is not RECURSIVE"
+ msgstr "Функција ‘%s’ код %L не може позивати Ñаму Ñебе, пошто није рекурзивна"
+
+-#: fortran/resolve.c:2243
++#: fortran/resolve.c:2351
+ #, no-c-format
+ msgid "Call to ENTRY '%s' at %L is recursive, but function '%s' is not declared as RECURSIVE"
+ msgstr "Позив за ÑƒÐ½Ð¾Ñ â€˜%s’ код %L јеÑте рекурзиван, али функција ‘%s’ није деклариÑана као таква"
+
+-#: fortran/resolve.c:2285
++#: fortran/resolve.c:2393
+ #, no-c-format
+ msgid "Subroutine call to '%s' in FORALL block at %L is not PURE"
+ msgstr "Позив потпрограма за ‘%s’ у блоку FORALL код %L није чиÑÑ‚"
+
+-#: fortran/resolve.c:2288
++#: fortran/resolve.c:2396
+ #, no-c-format
+ msgid "Subroutine call to '%s' at %L is not PURE"
+ msgstr "Позив потпрограма за ‘%s’ код %L није чиÑÑ‚"
+
+-#: fortran/resolve.c:2351
++#: fortran/resolve.c:2459
+ #, no-c-format
+ msgid "There is no specific subroutine for the generic '%s' at %L"
+ msgstr "Ðема одређеног потпрограма за генеричко ‘%s’ код %L"
+
+-#: fortran/resolve.c:2360
++#: fortran/resolve.c:2468
+ #, no-c-format
+ msgid "Generic subroutine '%s' at %L is not consistent with an intrinsic subroutine interface"
+ msgstr "Генерички потпрограм ‘%s’ код %L није у Ñкладу Ñа Ñучељем ÑопÑтвеног потпрограма"
+
+-#: fortran/resolve.c:2468
++#: fortran/resolve.c:2576
+ #, fuzzy, no-c-format
+ msgid "Missing SHAPE parameter for call to %s at %L"
+ msgstr "ÐедоÑтаје Ñтварни аргумент ‘%s’ у позиву ‘%s’ код %L"
+
+-#: fortran/resolve.c:2476
++#: fortran/resolve.c:2584
+ #, no-c-format
+ msgid "SHAPE parameter for call to %s at %L must be a rank 1 INTEGER array"
+ msgstr ""
+
+-#: fortran/resolve.c:2543
++#: fortran/resolve.c:2667
+ #, no-c-format
+ msgid "Subroutine '%s' at %L is INTRINSIC but is not compatible with an intrinsic"
+ msgstr "Потпрограм ‘%s’ код %L је ÑопÑтвени али није ÑаглаÑан Ñа ÑопÑтвеним"
+
+-#: fortran/resolve.c:2587
++#: fortran/resolve.c:2711
+ #, no-c-format
+ msgid "Unable to resolve the specific subroutine '%s' at %L"
+ msgstr "Ðе могу да разрешим одређени потпрограм ‘%s’ код %L"
+
+-#: fortran/resolve.c:2644
++#: fortran/resolve.c:2768
+ #, no-c-format
+ msgid "'%s' at %L has a type, which is not consistent with the CALL at %L"
+ msgstr "„%s“ код %L има тип који није у Ñкладу Ñа позивом код %L"
+
+-#: fortran/resolve.c:2663
++#: fortran/resolve.c:2787
+ #, no-c-format
+ msgid "SUBROUTINE '%s' at %L cannot call itself, as it is not RECURSIVE"
+ msgstr "Потпрограм ‘%s’ код %L не може позивати Ñамог Ñебе, пошто није рекурзиван"
+
+-#: fortran/resolve.c:2671
++#: fortran/resolve.c:2795
+ #, no-c-format
+ msgid "Call to ENTRY '%s' at %L is recursive, but subroutine '%s' is not declared as RECURSIVE"
+ msgstr "Позив за ÑƒÐ½Ð¾Ñ â€˜%s’ код %L јеÑте рекурзиван, али потпрограм ‘%s’ није деклариÑан као такав"
+
+-#: fortran/resolve.c:2741
++#: fortran/resolve.c:2865
+ #, no-c-format
+ msgid "Shapes for operands at %L and %L are not conformable"
+ msgstr "Облици операнада код %L и %L ниÑу уÑаглаÑиви"
+
+-#: fortran/resolve.c:2792
++#: fortran/resolve.c:2916
+ #, fuzzy, c-format
+ msgid "Invalid context for NULL() pointer at %%L"
+ msgstr "ÐеиÑправна врÑта за %s код %L"
+
+-#: fortran/resolve.c:2808
++#: fortran/resolve.c:2932
+ #, c-format
+ msgid "Operand of unary numeric operator '%s' at %%L is %s"
+ msgstr "Операнд унарног бројевног оператора ‘%s’ код %%L је %s"
+
+-#: fortran/resolve.c:2824
++#: fortran/resolve.c:2948
+ #, c-format
+ msgid "Operands of binary numeric operator '%s' at %%L are %s/%s"
+ msgstr "Операнди бинарног бројевног оператора ‘%s’ код %%L Ñу %s/%s"
+
+-#: fortran/resolve.c:2838
++#: fortran/resolve.c:2962
+ #, c-format
+ msgid "Operands of string concatenation operator at %%L are %s/%s"
+ msgstr "Операнди оператора надовезивања ниÑки код %%L Ñу %s/%s"
+
+-#: fortran/resolve.c:2857
++#: fortran/resolve.c:2981
+ #, c-format
+ msgid "Operands of logical operator '%s' at %%L are %s/%s"
+ msgstr "Операнди логичког оператора ‘%s’ код %%L Ñу %s/%s"
+
+-#: fortran/resolve.c:2871
++#: fortran/resolve.c:2995
+ #, fuzzy, c-format
+ msgid "Operand of .not. operator at %%L is %s"
+ msgstr "Операнд оператора .NOT. код %%L је %s"
+
+-#: fortran/resolve.c:2885
++#: fortran/resolve.c:3009
+ msgid "COMPLEX quantities cannot be compared at %L"
+ msgstr "КомплекÑне величине Ñе не могу поредити код %L"
+
+-#: fortran/resolve.c:2913
++#: fortran/resolve.c:3037
+ #, c-format
+ msgid "Logicals at %%L must be compared with %s instead of %s"
+ msgstr "Логичке код %%L морају бити поређене Ñа %s умеÑто %s"
+
+-#: fortran/resolve.c:2919
++#: fortran/resolve.c:3043
+ #, c-format
+ msgid "Operands of comparison operator '%s' at %%L are %s/%s"
+ msgstr "Операнди оператора поређења ‘%s’ код %%L Ñу %s/%s"
+
+-#: fortran/resolve.c:2927
++#: fortran/resolve.c:3051
+ #, fuzzy, c-format
+ msgid "Unknown operator '%s' at %%L"
+ msgstr "непознате оператор ‘%s’ у %%:version-compare"
+
+-#: fortran/resolve.c:2929
++#: fortran/resolve.c:3053
+ #, c-format
+ msgid "Operand of user operator '%s' at %%L is %s"
+ msgstr "Операнд кориÑничког оператора ‘%s’ код %%L је %s"
+
+-#: fortran/resolve.c:2932
++#: fortran/resolve.c:3056
+ #, c-format
+ msgid "Operands of user operator '%s' at %%L are %s/%s"
+ msgstr "Операнди кориÑничког оператора ‘%s’ код %%L Ñу %s/%s"
+
+-#: fortran/resolve.c:3018
++#: fortran/resolve.c:3142
+ #, fuzzy, c-format
+ msgid "Inconsistent ranks for operator at %%L and %%L"
+ msgstr "ÐеуÑаглашени рангови за оператор код %L и %L"
+
+-#: fortran/resolve.c:3212
++#: fortran/resolve.c:3339
+ #, fuzzy, no-c-format
+ msgid "Array reference at %L is out of bounds (%ld < %ld) in dimension %d"
+ msgstr "Упућивач низа код %L је изван граница"
+
+-#: fortran/resolve.c:3220
++#: fortran/resolve.c:3347
+ #, fuzzy, no-c-format
+ msgid "Array reference at %L is out of bounds (%ld > %ld) in dimension %d"
+ msgstr "Упућивач низа код %L је изван граница"
+
+-#: fortran/resolve.c:3239
++#: fortran/resolve.c:3366
+ #, no-c-format
+ msgid "Illegal stride of zero at %L"
+ msgstr "Ðедозвољен нулти корак код %L"
+
+-#: fortran/resolve.c:3256
++#: fortran/resolve.c:3383
+ #, fuzzy, no-c-format
+ msgid "Lower array reference at %L is out of bounds (%ld < %ld) in dimension %d"
+ msgstr "Упућивач низа код %L је изван граница"
+
+-#: fortran/resolve.c:3264
++#: fortran/resolve.c:3391
+ #, fuzzy, no-c-format
+ msgid "Lower array reference at %L is out of bounds (%ld > %ld) in dimension %d"
+ msgstr "Упућивач низа код %L је изван граница"
+
+-#: fortran/resolve.c:3280
++#: fortran/resolve.c:3407
+ #, fuzzy, no-c-format
+ msgid "Upper array reference at %L is out of bounds (%ld < %ld) in dimension %d"
+ msgstr "Упућивач низа код %L је изван граница"
+
+-#: fortran/resolve.c:3289
++#: fortran/resolve.c:3416
+ #, fuzzy, no-c-format
+ msgid "Upper array reference at %L is out of bounds (%ld > %ld) in dimension %d"
+ msgstr "Упућивач низа код %L је изван граница"
+
+-#: fortran/resolve.c:3328
++#: fortran/resolve.c:3455
+ #, no-c-format
+ msgid "Rightmost upper bound of assumed size array section not specified at %L"
+ msgstr "Ðије наведена деÑна горња граница низа претпоÑтављене величине код %L"
+
+-#: fortran/resolve.c:3338
++#: fortran/resolve.c:3465
+ #, no-c-format
+ msgid "Rank mismatch in array reference at %L (%d/%d)"
+ msgstr "ÐеÑлагање рангова у упућивачу низа код %L (%d/%d)"
+
+-#: fortran/resolve.c:3366
++#: fortran/resolve.c:3493
+ #, no-c-format
+ msgid "Array index at %L must be scalar"
+ msgstr "Ð˜Ð½Ð´ÐµÐºÑ Ð½Ð¸Ð·Ð° код %L мора бити Ñкалар"
+
+-#: fortran/resolve.c:3372
++#: fortran/resolve.c:3499
+ #, no-c-format
+ msgid "Array index at %L must be of INTEGER type"
+ msgstr "Ð˜Ð½Ð´ÐµÐºÑ Ð½Ð¸Ð·Ð° код %L мора бити целобројни"
+
+-#: fortran/resolve.c:3378
++#: fortran/resolve.c:3505
+ #, no-c-format
+ msgid "Extension: REAL array index at %L"
+ msgstr "Проширење: реални Ð¸Ð½Ð´ÐµÐºÑ Ð½Ð¸Ð·Ð° код %L"
+
+-#: fortran/resolve.c:3408
++#: fortran/resolve.c:3535
+ #, no-c-format
+ msgid "Argument dim at %L must be scalar"
+ msgstr "Ðргумент димензије код %L мора бити Ñкалар"
+
+-#: fortran/resolve.c:3414
++#: fortran/resolve.c:3542
+ #, no-c-format
+ msgid "Argument dim at %L must be of INTEGER type"
+ msgstr "Ðргумент димензије код %L мора целобројни"
+
+-#: fortran/resolve.c:3534
++#: fortran/resolve.c:3663
+ #, no-c-format
+ msgid "Array index at %L is an array of rank %d"
+ msgstr "Ð˜Ð½Ð´ÐµÐºÑ Ð½Ð¸Ð·Ð° код %L је низ ранга %d"
+
+-#: fortran/resolve.c:3571
++#: fortran/resolve.c:3700
+ #, no-c-format
+ msgid "Substring start index at %L must be of type INTEGER"
+ msgstr "Ð˜Ð½Ð´ÐµÐºÑ Ð¿Ð¾Ñ‡ÐµÑ‚ÐºÐ° подниÑке код %L мора бити целобројни"
+
+-#: fortran/resolve.c:3578
++#: fortran/resolve.c:3707
+ #, no-c-format
+ msgid "Substring start index at %L must be scalar"
+ msgstr "Ð˜Ð½Ð´ÐµÐºÑ Ð¿Ð¾Ñ‡ÐµÑ‚ÐºÐ° подниÑке код %L мора бити Ñкалар"
+
+-#: fortran/resolve.c:3587
++#: fortran/resolve.c:3716
+ #, no-c-format
+ msgid "Substring start index at %L is less than one"
+ msgstr "Ð˜Ð½Ð´ÐµÐºÑ Ð¿Ð¾Ñ‡ÐµÑ‚ÐºÐ° подниÑке код %L је мањи од један"
+
+-#: fortran/resolve.c:3600
++#: fortran/resolve.c:3729
+ #, no-c-format
+ msgid "Substring end index at %L must be of type INTEGER"
+ msgstr "Ð˜Ð½Ð´ÐµÐºÑ ÐºÑ€Ð°Ñ˜Ð° подниÑке код %L мора бити целобројни"
+
+-#: fortran/resolve.c:3607
++#: fortran/resolve.c:3736
+ #, no-c-format
+ msgid "Substring end index at %L must be scalar"
+ msgstr "Ð˜Ð½Ð´ÐµÐºÑ ÐºÑ€Ð°Ñ˜Ð° подниÑке код %L мора бити Ñкалар"
+
+-#: fortran/resolve.c:3617
++#: fortran/resolve.c:3746
+ #, no-c-format
+ msgid "Substring end index at %L exceeds the string length"
+ msgstr "Ð˜Ð½Ð´ÐµÐºÑ ÐºÑ€Ð°Ñ˜Ð° подниÑке код %L премашује дужину ниÑке"
+
+-#: fortran/resolve.c:3755
++#: fortran/resolve.c:3884
+ #, no-c-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.c:3762
++#: fortran/resolve.c:3891
+ #, no-c-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.c:3781
++#: fortran/resolve.c:3910
+ #, no-c-format
+ msgid "Two or more part references with nonzero rank must not be specified at %L"
+ msgstr "Два или више делимична упућивача Ñа ненултим рангом не Ñмеју бити наведени код %L"
+
+-#: fortran/resolve.c:3956
++#: fortran/resolve.c:4085
+ #, fuzzy, no-c-format
+ msgid "Variable '%s', 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.c:3961
++#: fortran/resolve.c:4090
+ #, no-c-format
+ msgid "Variable '%s' is used at %L before the ENTRY statement in which it is a parameter"
+ msgstr "Променљива ‘%s’ употребљена је код %L пре наредбе ENTRY у којој је параметар"
+
+-#: fortran/resolve.c:4238
++#: fortran/resolve.c:4367
+ #, no-c-format
+ msgid "%s at %L must be a scalar"
+ msgstr "%s код %L мора бити Ñкалар"
+
+-#: fortran/resolve.c:4248
++#: fortran/resolve.c:4377
+ #, fuzzy, no-c-format
+ msgid "Deleted feature: %s at %L must be integer"
+ msgstr "Крејов показивач код %C мора бити целобројни."
+
+-#: fortran/resolve.c:4252 fortran/resolve.c:4259
++#: fortran/resolve.c:4381 fortran/resolve.c:4388
+ #, no-c-format
+ msgid "%s at %L must be INTEGER"
+ msgstr "%s код %L мора бити целобројно"
+
+-#: fortran/resolve.c:4279
++#: fortran/resolve.c:4408
+ #, no-c-format
+ msgid "Cannot assign to loop variable in PURE procedure at %L"
+ msgstr "Ðе може Ñе додељивати променљивој петље у чиÑтој процедури код %L"
+
+-#: fortran/resolve.c:4303
++#: fortran/resolve.c:4432
+ #, no-c-format
+ msgid "Step expression in DO loop at %L cannot be zero"
+ msgstr "Израз за корак у петљи DO код %L не може бити нула"
+
+-#: fortran/resolve.c:4378
++#: fortran/resolve.c:4508
+ #, no-c-format
+ msgid "FORALL index-name at %L must be a scalar INTEGER"
+ msgstr "ИндекÑ-име у FORALL код %L мора бити Ñкларни целобројан"
+
+-#: fortran/resolve.c:4383
++#: fortran/resolve.c:4513
+ #, no-c-format
+ msgid "FORALL start expression at %L must be a scalar INTEGER"
+ msgstr "Израз за почетак у FORALL код %L мора бити Ñкаларни целобројан"
+
+-#: fortran/resolve.c:4390
++#: fortran/resolve.c:4520
+ #, no-c-format
+ msgid "FORALL end expression at %L must be a scalar INTEGER"
+ msgstr "Израз за крај у FORALL код %L мора бити Ñкаларни целобројан"
+
+-#: fortran/resolve.c:4398
++#: fortran/resolve.c:4528
+ #, no-c-format
+ msgid "FORALL stride expression at %L must be a scalar %s"
+ msgstr "Израз за корак у FORALL код %L мора бити Ñкаларни %s"
+
+-#: fortran/resolve.c:4403
++#: fortran/resolve.c:4533
+ #, no-c-format
+ msgid "FORALL stride expression at %L cannot be zero"
+ msgstr "Израз за корак у FORALL код %L не може бити нула"
+
+-#: fortran/resolve.c:4419
++#: fortran/resolve.c:4549
+ #, fuzzy, no-c-format
+ msgid "FORALL index '%s' may not appear in triplet specification at %L"
+ msgstr "Променљива ‘%s’ Ñе не може јавити у изразу код %L"
+
+-#: fortran/resolve.c:4499
++#: fortran/resolve.c:4629
+ #, no-c-format
+ msgid "Expression in DEALLOCATE statement at %L must be ALLOCATABLE or a POINTER"
+ msgstr "Израз у наредби DEALLOCATE код %L мора бити резервљив или показивач"
+
+-#: fortran/resolve.c:4506
++#: fortran/resolve.c:4636
+ #, fuzzy, no-c-format
+ msgid "Cannot deallocate INTENT(IN) variable '%s' at %L"
+ msgstr "Ðе могу да обришем проÑтор променљиве намере-у ‘%s’ код %L"
+
+-#: fortran/resolve.c:4675
++#: fortran/resolve.c:4740
+ #, no-c-format
+ msgid "The STAT variable '%s' in an ALLOCATE statement must not be allocated in the same statement at %L"
+ msgstr "СтатуÑна променљива ‘%s’ у наредби резервиÑања не може бити резервиÑана у иÑтој наредби код %L"
+
+-#: fortran/resolve.c:4711
++#: fortran/resolve.c:4776
+ #, no-c-format
+ msgid "Expression in ALLOCATE statement at %L must be ALLOCATABLE or a POINTER"
+ msgstr "Израз у наредби ALLOCATE код %L мора бити резервљив или показивач"
+
+-#: fortran/resolve.c:4719
++#: fortran/resolve.c:4784
+ #, fuzzy, no-c-format
+ msgid "Cannot allocate INTENT(IN) variable '%s' at %L"
+ msgstr "Ðе могу да резервишем променљиву намере-у ‘%s’ код %L"
+
+-#: fortran/resolve.c:4743
++#: fortran/resolve.c:4808
+ #, no-c-format
+ msgid "Array specification required in ALLOCATE statement at %L"
+ msgstr "Потребна је одредница низа у наредби ALLOCATE код %L"
+
+-#: fortran/resolve.c:4773
++#: fortran/resolve.c:4838
+ #, no-c-format
+ msgid "Bad array specification in ALLOCATE statement at %L"
+ msgstr "Лоша одредница низа у наредби ALLOCATE код %L"
+
+-#: fortran/resolve.c:4791
++#: fortran/resolve.c:4856
+ #, no-c-format
+ msgid "'%s' must not appear an the array specification at %L in the same ALLOCATE statement where it is itself allocated"
+ msgstr "‘%s’ не може да Ñе јави у одредници низа код %L у иÑтој наредби резервиÑања где Ñе и Ñамо резервише"
+
++#: fortran/resolve.c:4880
++#, fuzzy, no-c-format
++msgid "STAT variable '%s' of %s statement at %C cannot be INTENT(IN)"
++msgstr "СтатуÑна променљива ‘%s’ у наредби ALLOCATE код %C не може бити намере-у"
++
++#: fortran/resolve.c:4884
++#, fuzzy, no-c-format
++msgid "Illegal STAT variable in %s statement at %C for a PURE procedure"
++msgstr "Ðедозвољена ÑтатуÑна променљива у наредби ALLOCATE код %C за чиÑту процедуру"
++
++#: fortran/resolve.c:4922
++#, fuzzy, no-c-format
++msgid "STAT tag in %s statement at %L must be a variable"
++msgstr "СтатуÑни израз код %C мора бити променљива"
++
++#: fortran/resolve.c:4928
++#, fuzzy, no-c-format
++msgid "STAT tag in %s statement at %L must be of type INTEGER"
++msgstr "Ознака STAT у наредби ALLOCATE код %L мора бити целобројна"
++
+ #. The cases overlap, or they are the same
+ #. 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.c:4949
++#: fortran/resolve.c:5091
+ #, no-c-format
+ msgid "CASE label at %L overlaps with CASE label at %L"
+ msgstr "Етикета CASE код %L преклапа етикету CASE код %L"
+
+-#: fortran/resolve.c:5000
++#: fortran/resolve.c:5142
+ #, no-c-format
+ msgid "Expression in CASE statement at %L must be of type %s"
+ msgstr "Израз у наредби CASE код %L мора бити типа %s"
+
+-#: fortran/resolve.c:5011
++#: fortran/resolve.c:5153
+ #, no-c-format
+ msgid "Expression in CASE statement at %L must be kind %d"
+ msgstr "Израз у наредби CASE код %L мора бити врÑта %d"
+
+-#: fortran/resolve.c:5023
++#: fortran/resolve.c:5165
+ #, no-c-format
+ msgid "Expression in CASE statement at %L must be scalar"
+ msgstr "Израз у наредби CASE код %L мора бити Ñкалар"
+
+-#: fortran/resolve.c:5069
++#: fortran/resolve.c:5211
+ #, no-c-format
+ msgid "Selection expression in computed GOTO statement at %L must be a scalar integer expression"
+ msgstr "Изборни израз у рачунÑком GOTO код %L мора бити Ñкаларни целобројан израз"
+
+-#: fortran/resolve.c:5087
++#: fortran/resolve.c:5229
+ #, no-c-format
+ msgid "Argument of SELECT statement at %L cannot be %s"
+ msgstr "Ðргумент наредбе SELECT код %L не може бити %s"
+
+-#: fortran/resolve.c:5096
++#: fortran/resolve.c:5238
+ #, no-c-format
+ msgid "Argument of SELECT statement at %L must be a scalar expression"
+ msgstr "Ðргумент наредбе SELECT код %L мора бити Ñкаларни израз"
+
+-#: fortran/resolve.c:5161
++#: fortran/resolve.c:5303
+ #, no-c-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.c:5187
++#: fortran/resolve.c:5329
+ #, no-c-format
+ msgid "Logical range in CASE statement at %L is not allowed"
+ msgstr "Логички опÑег у наредби CASE код %L није дозвољен"
+
+-#: fortran/resolve.c:5199
++#: fortran/resolve.c:5341
+ #, no-c-format
+ msgid "constant logical value in CASE statement is repeated at %L"
+ msgstr "конÑтантна логичка вредноÑÑ‚ у наредби CASE поновљена је код %L"
+
+-#: fortran/resolve.c:5213
++#: fortran/resolve.c:5355
+ #, no-c-format
+ msgid "Range specification at %L can never be matched"
+ msgstr "Одредница опÑега код %L не може никако бити поклопљена"
+
+-#: fortran/resolve.c:5316
++#: fortran/resolve.c:5458
+ #, no-c-format
+ msgid "Logical SELECT CASE block at %L has more that two cases"
+ msgstr "Блок логичког SELECT CASE код %L има више од два Ñлучаја"
+
+-#: fortran/resolve.c:5354
++#: fortran/resolve.c:5496
+ #, no-c-format
+ msgid "Data transfer element at %L cannot have POINTER components"
+ msgstr "Елемент преноÑа података код %L не може имати показивачке компоненте"
+
+-#: fortran/resolve.c:5361
++#: fortran/resolve.c:5503
+ #, no-c-format
+ msgid "Data transfer element at %L cannot have ALLOCATABLE components"
+ msgstr "Елемент преноÑа података код %L не може имати резервљиве компоненте"
+
+-#: fortran/resolve.c:5368
++#: fortran/resolve.c:5510
+ #, no-c-format
+ msgid "Data transfer element at %L cannot have PRIVATE components"
+ msgstr "Елемент преноÑа података код %L не може имати приватне компоненте"
+
+-#: fortran/resolve.c:5377
++#: fortran/resolve.c:5519
+ #, no-c-format
+ msgid "Data transfer element at %L cannot be a full reference to an assumed-size array"
+ msgstr "Елемент преноÑа података код %L не може бити пун упућивач на низ претпоÑтављене величине"
+
+-#: fortran/resolve.c:5441
++#: fortran/resolve.c:5583
+ #, no-c-format
+ msgid "Statement at %L is not a valid branch target statement for the branch statement at %L"
+ msgstr "Ðаредба код %L није иÑправна наредба циља гранања за наредбу гранања код %L"
+
+-#: fortran/resolve.c:5450
++#: fortran/resolve.c:5592
+ #, no-c-format
+ msgid "Branch at %L causes an infinite loop"
+ msgstr "Гранање код %L води у беÑконачну петљу"
+@@ -9541,648 +9592,658 @@
+ #. 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.c:5463
++#: fortran/resolve.c:5605
+ #, no-c-format
+ msgid "Label at %L is not in the same block as the GOTO statement at %L"
+ msgstr "Етикета код %L није у иÑтом блоку као наредба GOTO код %L"
+
+-#: fortran/resolve.c:5478 fortran/resolve.c:5492
++#: fortran/resolve.c:5620 fortran/resolve.c:5634
+ #, fuzzy, no-c-format
+ msgid "Deleted feature: GOTO at %L jumps to END of construct at %L"
+ msgstr "ЗаÑтарело: GOTO код %L Ñкаче на END конÑтрукције код %L"
+
+-#: fortran/resolve.c:5569
++#: fortran/resolve.c:5711
+ #, no-c-format
+ msgid "WHERE mask at %L has inconsistent shape"
+ msgstr "МаÑка у WHERE код %L има неуÑаглашен облик"
+
+-#: fortran/resolve.c:5585
++#: fortran/resolve.c:5727
+ #, no-c-format
+ msgid "WHERE assignment target at %L has inconsistent shape"
+ msgstr "Циљ доделе у WHERE код %L има неуÑаглашен облик"
+
+-#: fortran/resolve.c:5600 fortran/resolve.c:5682
++#: fortran/resolve.c:5735 fortran/resolve.c:5820
+ #, no-c-format
++msgid "Non-ELEMENTAL user-defined assignment in WHERE at %L"
++msgstr ""
++
++#: fortran/resolve.c:5745 fortran/resolve.c:5830
++#, no-c-format
+ msgid "Unsupported statement inside WHERE at %L"
+ msgstr "Ðеподржана наредба унутар WHERE код %L"
+
+-#: fortran/resolve.c:5631
++#: fortran/resolve.c:5776
+ #, no-c-format
+ msgid "Assignment to a FORALL index variable at %L"
+ msgstr "Додела у индекÑну променљиву за FORALL код %L"
+
+-#: fortran/resolve.c:5639
++#: fortran/resolve.c:5784
+ #, no-c-format
+ msgid "The FORALL with index '%s' cause more than one assignment to this object at %L"
+ msgstr "FORALL Ñа индекÑом ‘%s’ изазива више од једне доделе овом објекту код %L"
+
+-#: fortran/resolve.c:5774
++#: fortran/resolve.c:5922
+ #, no-c-format
+ msgid "An outer FORALL construct already has an index with this name %L"
+ msgstr "Спољашња конÑтрукција FORALL већ има Ð¸Ð½Ð´ÐµÐºÑ Ñа овим именом %L"
+
+-#: fortran/resolve.c:5830
++#: fortran/resolve.c:5978
+ #, no-c-format
+ msgid "WHERE/ELSEWHERE clause at %L requires a LOGICAL array"
+ msgstr "Одредба WHERE/ELSEWHERE код %L захтева логички низ"
+
+-#: fortran/resolve.c:5890
++#: fortran/resolve.c:6037
+ #, no-c-format
+ msgid "Subroutine '%s' called instead of assignment at %L must be PURE"
+ msgstr "Потпрограм ‘%s’ позван умеÑто доделе код %L мора бити чиÑÑ‚"
+
+-#: fortran/resolve.c:5927
++#: fortran/resolve.c:6110
+ #, fuzzy, no-c-format
+ msgid "CHARACTER expression will be truncated in assignment (%d/%d) at %L"
+ msgstr "Знаковни израз код %L бива подÑечен (%d/%d)"
+
+-#: fortran/resolve.c:5950
++#: fortran/resolve.c:6135
+ #, no-c-format
+ msgid "Cannot assign to variable '%s' in PURE procedure at %L"
+ msgstr "Ðе може Ñе доделити променљивој ‘%s’ у чиÑтој процедури код %L"
+
+-#: fortran/resolve.c:5962
++#: fortran/resolve.c:6147
+ #, fuzzy, no-c-format
+ msgid "The impure variable at %L is assigned to a derived type variable with a POINTER component in a PURE procedure (12.6)"
+ msgstr "ДеÑна Ñтрана доделе код %L је изведени тип који Ñадржи показивач у чиÑтој процедури"
+
+-#: fortran/resolve.c:6066
++#: fortran/resolve.c:6250
+ #, no-c-format
+ msgid "ASSIGNED GOTO statement at %L requires an INTEGER variable"
+ msgstr "Ðаредба ASSIGNED GOTO код %L захтева целобројну променљиву"
+
+-#: fortran/resolve.c:6069
++#: fortran/resolve.c:6253
+ #, no-c-format
+ msgid "Variable '%s' has not been assigned a target label at %L"
+ msgstr "Променљивој ‘%s’ није додељена циљна етикета код %L"
+
+-#: fortran/resolve.c:6080
++#: fortran/resolve.c:6264
+ #, no-c-format
+ msgid "Alternate RETURN statement at %L requires a SCALAR-INTEGER return specifier"
+ msgstr "Ðлтернативна наредба повратка код %L захтева Ñкаларни целобројни наводилац повратка"
+
+-#: fortran/resolve.c:6106
++#: fortran/resolve.c:6290
+ #, no-c-format
+ msgid "ASSIGN statement at %L requires a scalar default INTEGER variable"
+ msgstr "ASSIGN код %L захтева Ñкаларну подразумевану целобројну променљиву"
+
+-#: fortran/resolve.c:6121
++#: fortran/resolve.c:6305
+ #, no-c-format
+ msgid "Arithmetic IF statement at %L requires a numeric expression"
+ msgstr "Ðритметичко IF код %L захтева бројевни израз"
+
+-#: fortran/resolve.c:6163
++#: fortran/resolve.c:6347
+ #, no-c-format
+ msgid "Exit condition of DO WHILE loop at %L must be a scalar LOGICAL expression"
+ msgstr "Излазни уÑлов из петље DO WHILE код %L мора бити Ñкаларни логички израз"
+
+-#: fortran/resolve.c:6170
++#: fortran/resolve.c:6420
+ #, no-c-format
+-msgid "STAT tag in ALLOCATE statement at %L must be of type INTEGER"
+-msgstr "Ознака STAT у наредби ALLOCATE код %L мора бити целобројна"
+-
+-#: fortran/resolve.c:6182
+-#, no-c-format
+-msgid "STAT tag in DEALLOCATE statement at %L must be of type INTEGER"
+-msgstr "Ознака STAT у наредби DEALLOCATE код %L мора бити целобројна"
+-
+-#: fortran/resolve.c:6247
+-#, no-c-format
+ msgid "FORALL mask clause at %L requires a LOGICAL expression"
+ msgstr "Одредба маÑке у FORALL код %L захтева логички израз"
+
+-#: fortran/resolve.c:6317 fortran/resolve.c:6373
++#: fortran/resolve.c:6490 fortran/resolve.c:6546
+ #, no-c-format
+ msgid "Binding label '%s' for common block '%s' at %L collides with the global entity '%s' at %L"
+ msgstr ""
+
+ #. Common block names match but binding labels do not.
+-#: fortran/resolve.c:6338
++#: fortran/resolve.c:6511
+ #, no-c-format
+ msgid "Binding label '%s' for common block '%s' at %L does not match the binding label '%s' for common block '%s' at %L"
+ msgstr ""
+
+-#: fortran/resolve.c:6385
++#: fortran/resolve.c:6558
+ #, no-c-format
+ msgid "Binding label '%s' for common block '%s' at %L collides with global entity '%s' at %L"
+ msgstr ""
+
+ #. Make sure global procedures don't collide with anything.
+-#: fortran/resolve.c:6437
++#: fortran/resolve.c:6610
+ #, no-c-format
+ msgid "Binding label '%s' at %L collides with the global entity '%s' at %L"
+ msgstr ""
+
+ #. Make sure procedures in interface bodies don't collide.
+-#: fortran/resolve.c:6450
++#: fortran/resolve.c:6623
+ #, no-c-format
+ msgid "Binding label '%s' in interface body at %L collides with the global entity '%s' at %L"
+ msgstr ""
+
+-#: fortran/resolve.c:6463
++#: fortran/resolve.c:6636
+ #, no-c-format
+ msgid "Binding label '%s' at %L collides with global entity '%s' at %L"
+ msgstr ""
+
+-#: fortran/resolve.c:6540
++#: fortran/resolve.c:6713
+ #, no-c-format
+ msgid "CHARACTER variable has zero length at %L"
+ msgstr ""
+
+-#: fortran/resolve.c:6828
++#: fortran/resolve.c:7001
+ #, no-c-format
+ msgid "Allocatable array '%s' at %L must have a deferred shape"
+ msgstr "Резервљиви низ ‘%s’ код %L мора имати одложени облик"
+
+-#: fortran/resolve.c:6831
++#: fortran/resolve.c:7004
+ #, no-c-format
+ msgid "Scalar object '%s' at %L may not be ALLOCATABLE"
+ msgstr "Скаларни објекат ‘%s’ код %L не може бити резервљив"
+
+-#: fortran/resolve.c:6838
++#: fortran/resolve.c:7011
+ #, no-c-format
+ msgid "Array pointer '%s' at %L must have a deferred shape"
+ msgstr "Ðизовни показивач ‘%s’ код %L мора имати одложен облик"
+
+-#: fortran/resolve.c:6849
++#: fortran/resolve.c:7022
+ #, no-c-format
+ msgid "Array '%s' at %L cannot have a deferred shape"
+ msgstr "Ðиз ‘%s’ код %L не може имати одложен облик"
+
+-#: fortran/resolve.c:6878
++#: fortran/resolve.c:7051
+ #, fuzzy, no-c-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"
+ msgstr "Тип %s не може бити придружен домаћину код %L зато што га блокира неÑаглаÑан објекат иÑтог имена код %L"
+
+-#: fortran/resolve.c:6901
++#: fortran/resolve.c:7074
+ #, fuzzy, no-c-format
+ msgid "Object '%s' at %L must have the SAVE attribute for default initialization of a component"
+ msgstr "Објекат ‘%s’ код %L мора имати атрибут %s за SAVE"
+
+ #. The shape of a main program or module array needs to be
+ #. constant.
+-#: fortran/resolve.c:6948
++#: fortran/resolve.c:7121
+ #, no-c-format
+ msgid "The module or main program array '%s' at %L must have constant shape"
+ msgstr "Ðиз модула или главног програма ‘%s’ код %L мора имати конÑтантан облик"
+
+-#: fortran/resolve.c:6961
++#: fortran/resolve.c:7134
+ #, no-c-format
+ msgid "Entity with assumed character length at %L must be a dummy argument or a PARAMETER"
+ msgstr "Ентитет Ñа претпоÑтављеном знаковном дужином код %L мора бити лажни аргумент или параметар"
+
+-#: fortran/resolve.c:6980
++#: fortran/resolve.c:7153
+ #, no-c-format
+ msgid "'%s' at %L must have constant character length in this context"
+ msgstr "‘%s’ код %L мора имати конÑтантну знаковну дужину у овом контекÑту"
+
+-#: fortran/resolve.c:7012
++#: fortran/resolve.c:7185
+ #, no-c-format
+ msgid "Allocatable '%s' at %L cannot have an initializer"
+ msgstr "Резервљиво ‘%s’ код %L не може имати уÑпоÑтављач"
+
+-#: fortran/resolve.c:7015
++#: fortran/resolve.c:7188
+ #, no-c-format
+ msgid "External '%s' at %L cannot have an initializer"
+ msgstr "Спољашње ‘%s’ код %L не може имати уÑпоÑтављач"
+
+-#: fortran/resolve.c:7019
++#: fortran/resolve.c:7192
+ #, no-c-format
+ msgid "Dummy '%s' at %L cannot have an initializer"
+ msgstr "Лажно ‘%s’ код %L не може имати уÑпоÑтављач"
+
+-#: fortran/resolve.c:7022
++#: fortran/resolve.c:7195
+ #, no-c-format
+ msgid "Intrinsic '%s' at %L cannot have an initializer"
+ msgstr "СопÑтвено ‘%s’ код %L не може имати уÑпоÑтављач"
+
+-#: fortran/resolve.c:7025
++#: fortran/resolve.c:7198
+ #, no-c-format
+ msgid "Function result '%s' at %L cannot have an initializer"
+ msgstr "Резултат функцији ‘%s’ код %L не може имати уÑпоÑтављач"
+
+-#: fortran/resolve.c:7028
++#: fortran/resolve.c:7201
+ #, no-c-format
+ msgid "Automatic array '%s' at %L cannot have an initializer"
+ msgstr "ÐутоматÑки низ ‘%s’ код %L не може имати уÑпоÑтављач"
+
+-#: fortran/resolve.c:7051
++#: fortran/resolve.c:7224
+ #, no-c-format
+ msgid "Although not referenced, '%s' at %L has ambiguous interfaces"
+ msgstr "Иако Ñе другде не помиње, ‘%s’ код %L има двоÑмиÑлена Ñучеља"
+
+-#: fortran/resolve.c:7070
++#: fortran/resolve.c:7243
+ #, no-c-format
+ msgid "Character-valued statement function '%s' at %L must have constant length"
+ msgstr "Ðаредбена функција знаковне вредноÑти ‘%s’ код %L мора имати конÑтантну дужину"
+
+-#: fortran/resolve.c:7078
++#: fortran/resolve.c:7251
+ #, no-c-format
+ msgid "Automatic character length function '%s' at %L must have an explicit interface"
+ msgstr "ÐутоматÑка функција знаковне дужине ‘%s’ код %L мора имати екÑплицитно Ñучеље"
+
+-#: fortran/resolve.c:7103
++#: fortran/resolve.c:7276
+ #, fuzzy, no-c-format
+ msgid "Fortran 2003: '%s' is of a PRIVATE type and cannot be a dummy argument of '%s', which is PUBLIC at %L"
+ msgstr "‘%s’ је приватног типа и не може бити лажни аргумент у ‘%s’, који је јаван код %L"
+
+-#: fortran/resolve.c:7126 fortran/resolve.c:7151
++#: fortran/resolve.c:7299 fortran/resolve.c:7324
+ #, no-c-format
+ msgid "Fortran 2003: Procedure '%s' in PUBLIC interface '%s' at %L takes dummy arguments of '%s' which is PRIVATE"
+ msgstr ""
+
+-#: fortran/resolve.c:7168
++#: fortran/resolve.c:7341
+ #, fuzzy, no-c-format
+ msgid "Function '%s' at %L cannot have an initializer"
+ msgstr "Резултат функцији ‘%s’ код %L не може имати уÑпоÑтављач"
+
+-#: fortran/resolve.c:7177
++#: fortran/resolve.c:7350
+ #, no-c-format
+ msgid "External object '%s' at %L may not have an initializer"
+ msgstr "Спољашњи објекат ‘%s’ код %L не може имати уÑпоÑтављач"
+
+-#: fortran/resolve.c:7185
++#: fortran/resolve.c:7358
+ #, no-c-format
+ msgid "ELEMENTAL function '%s' at %L must have a scalar result"
+ msgstr "Елементална функција ‘%s’ код %L мора имати Ñкаларни резултат"
+
+-#: fortran/resolve.c:7206
++#: fortran/resolve.c:7379
+ #, no-c-format
+ msgid "CHARACTER(*) function '%s' at %L cannot be array-valued"
+ msgstr "Функција типа CHARACTER(*) ‘%s’ код %L не може имати низовну вредноÑÑ‚"
+
+-#: fortran/resolve.c:7210
++#: fortran/resolve.c:7383
+ #, no-c-format
+ msgid "CHARACTER(*) function '%s' at %L cannot be pointer-valued"
+ msgstr "Функција типа CHARACTER(*) ‘%s’ код %L не може имати показивачку вредноÑÑ‚"
+
+ # no-c-format
+-#: fortran/resolve.c:7214
++#: fortran/resolve.c:7387
+ #, no-c-format
+ msgid "CHARACTER(*) function '%s' at %L cannot be pure"
+ msgstr "Функција типа CHARACTER(*) ‘%s’ код %L не може бити чиÑта"
+
+-#: fortran/resolve.c:7218
++#: fortran/resolve.c:7391
+ #, no-c-format
+ msgid "CHARACTER(*) function '%s' at %L cannot be recursive"
+ msgstr "Функција типа CHARACTER(*) ‘%s’ код %L не може бити рекурзивна"
+
+-#: fortran/resolve.c:7227
++#: fortran/resolve.c:7400
+ #, no-c-format
+ msgid "CHARACTER(*) function '%s' at %L is obsolescent in fortran 95"
+ msgstr "Функција типа CHARACTER(*) ‘%s’ код %L, заÑтарела је у фортрану 95"
+
+-#: fortran/resolve.c:7299
++#: fortran/resolve.c:7472
+ #, fuzzy, no-c-format
+ msgid "Character length of component '%s' needs to be a constant specification expression at %L"
+ msgstr "Знаковна дужина компоненте ‘%s’ мора бити конÑтантан одреднички израз код %L."
+
+-#: fortran/resolve.c:7314
++#: fortran/resolve.c:7487
+ #, no-c-format
+ msgid "The component '%s' is a PRIVATE type and cannot be a component of '%s', which is PUBLIC at %L"
+ msgstr "Компонента ‘%s’ је приватни тип и не може бити компонента у ‘%s’, која је јавна код %L"
+
+-#: fortran/resolve.c:7324
++#: fortran/resolve.c:7497
+ #, no-c-format
+ msgid "Component %s of SEQUENCE type declared at %L does not have the SEQUENCE attribute"
+ msgstr "Компонента %s типа SEQUENCE деклариÑаног код %L нема атрибут SEQUENCE"
+
+-#: fortran/resolve.c:7334
++#: fortran/resolve.c:7507
+ #, no-c-format
+ msgid "The pointer component '%s' of '%s' at %L is a type that has not been declared"
+ msgstr "Показивачка компонента ‘%s’ у ‘%s’ код %L припада типу који није деклариÑан"
+
+-#: fortran/resolve.c:7352
++#: fortran/resolve.c:7525
+ #, fuzzy, no-c-format
+ msgid "Component '%s' of '%s' at %L must have constant array bounds"
+ msgstr "Компонента ‘%s’ у ‘%s’ код %L мора имати конÑтантне границе низа."
+
+-#: fortran/resolve.c:7395
++#: fortran/resolve.c:7568
+ #, fuzzy, no-c-format
+ msgid "NAMELIST object '%s' was declared PRIVATE and cannot be member of PUBLIC namelist '%s' at %L"
+ msgstr "Приватни Ñимбол ‘%s’ не може бити члан јавне лиÑте имена код %L"
+
+-#: fortran/resolve.c:7405
++#: fortran/resolve.c:7578
+ #, no-c-format
+ msgid "NAMELIST object '%s' has use-associated PRIVATE components and cannot be member of namelist '%s' at %L"
+ msgstr ""
+
+-#: fortran/resolve.c:7418
++#: fortran/resolve.c:7591
+ #, fuzzy, no-c-format
+ msgid "NAMELIST object '%s' has PRIVATE components and cannot be a member of PUBLIC namelist '%s' at %L"
+ msgstr "Приватни Ñимбол ‘%s’ не може бити члан јавне лиÑте имена код %L"
+
+-#: fortran/resolve.c:7430
++#: fortran/resolve.c:7603
+ #, no-c-format
+ msgid "NAMELIST array object '%s' must not have assumed shape in namelist '%s' at %L"
+ msgstr ""
+
+-#: fortran/resolve.c:7439
++#: fortran/resolve.c:7612
+ #, fuzzy, no-c-format
+ msgid "NAMELIST array object '%s' must have constant shape in namelist '%s' at %L"
+ msgstr "Ðиз ‘%s’ мора имати конÑтантан облик да би био објекат лиÑте имена код %L"
+
+-#: fortran/resolve.c:7451
++#: fortran/resolve.c:7624
+ #, fuzzy, no-c-format
+ msgid "NAMELIST object '%s' in namelist '%s' at %L cannot have ALLOCATABLE components"
+ msgstr "Објекат лиÑте имена ‘%s’ код %L не може имати резервљиве компоненте"
+
+-#: fortran/resolve.c:7459
++#: fortran/resolve.c:7632
+ #, fuzzy, no-c-format
+ msgid "NAMELIST object '%s' in namelist '%s' at %L cannot have POINTER components"
+ msgstr "Објекат лиÑте имена ‘%s’ код %L не може имати резервљиве компоненте"
+
+-#: fortran/resolve.c:7485
++#: fortran/resolve.c:7658
+ #, no-c-format
+ msgid "PROCEDURE attribute conflicts with NAMELIST attribute in '%s' at %L"
+ msgstr "Ðтрибут процедуре коÑи Ñе Ñа атрибутом лиÑте имена у ‘%s’ код %L"
+
+-#: fortran/resolve.c:7504
++#: fortran/resolve.c:7677
+ #, fuzzy, no-c-format
+ msgid "Parameter array '%s' at %L cannot be automatic or of deferred shape"
+ msgstr "ПараметарÑки низ ‘%s’ код %L не може бити аутоматÑког или претпоÑтављеног облика"
+
+-#: fortran/resolve.c:7515
++#: fortran/resolve.c:7688
+ #, no-c-format
+ msgid "Implicitly typed PARAMETER '%s' at %L doesn't match a later IMPLICIT type"
+ msgstr "Имплицитно типÑки параметар ‘%s’ код %L не одговара каÑнијем имплицитном типу"
+
+-#: fortran/resolve.c:7526
++#: fortran/resolve.c:7699
+ #, no-c-format
+ msgid "Incompatible derived type in PARAMETER at %L"
+ msgstr "ÐеÑаглаÑан изведени тип у параметру код %L"
+
+-#: fortran/resolve.c:7597
++#: fortran/resolve.c:7758
++#, no-c-format
++msgid "Interface '%s', used by procedure '%s' at %L, is declared in a later PROCEDURE statement"
++msgstr ""
++
++#: fortran/resolve.c:7772
+ #, fuzzy, no-c-format
+ msgid "Interface '%s' of procedure '%s' at %L must be explicit"
+ msgstr "Ðргумент ‘%s’ елементалне процедуре код %L мора бити Ñкалар"
+
+-#: fortran/resolve.c:7622
++#: fortran/resolve.c:7797
+ #, fuzzy, no-c-format
+ msgid "Type specified for intrinsic function '%s' at %L is ignored"
+ msgstr "Ðаводилац алтернативног повратка није дозвољен у функцији ‘%s’ код %L"
+
+-#: fortran/resolve.c:7629
++#: fortran/resolve.c:7804
+ #, fuzzy, no-c-format
+ msgid "Intrinsic subroutine '%s' at %L shall not have a type specifier"
+ msgstr "СопÑтвено ‘%s’ код %L не може имати уÑпоÑтављач"
+
+-#: fortran/resolve.c:7636
++#: fortran/resolve.c:7811
+ #, fuzzy, no-c-format
+ msgid "Intrinsic '%s' at %L does not exist"
+ msgstr "СопÑтвено код %L не поÑтоји"
+
+-#: fortran/resolve.c:7676
++#: fortran/resolve.c:7851
+ #, no-c-format
+ msgid "Assumed size array at %L must be a dummy argument"
+ msgstr "Ðиз претпоÑтављене величине код %L мора бити лажни аргумент"
+
+-#: fortran/resolve.c:7679
++#: fortran/resolve.c:7854
+ #, no-c-format
+ msgid "Assumed shape array at %L must be a dummy argument"
+ msgstr "Ðиз претпоÑтављеног облика код %L мора бити лажни аргумент"
+
+-#: fortran/resolve.c:7691
++#: fortran/resolve.c:7866
+ #, no-c-format
+ msgid "Symbol at %L is not a DUMMY variable"
+ msgstr "Симбол код %L није лажна променљива"
+
+-#: fortran/resolve.c:7697
++#: fortran/resolve.c:7872
+ #, no-c-format
+ msgid "'%s' at %L cannot have the VALUE attribute because it is not a dummy argument"
+ msgstr ""
+
+-#: fortran/resolve.c:7707
++#: fortran/resolve.c:7882
+ #, fuzzy, no-c-format
+ msgid "Character dummy variable '%s' at %L with VALUE attribute must have constant length"
+ msgstr "Ðаредбена функција знаковне вредноÑти ‘%s’ код %L мора имати конÑтантну дужину"
+
+-#: fortran/resolve.c:7716
++#: fortran/resolve.c:7891
+ #, no-c-format
+ msgid "C interoperable character dummy variable '%s' at %L with VALUE attribute must have length one"
+ msgstr ""
+
+-#: fortran/resolve.c:7742
++#: fortran/resolve.c:7917
+ #, no-c-format
+ msgid "Variable '%s' at %L cannot be BIND(C) because it is neither a COMMON block nor declared at the module level scope"
+ msgstr ""
+
+-#: fortran/resolve.c:7795
++#: fortran/resolve.c:7970
+ #, fuzzy, no-c-format
+ msgid "The derived type '%s' at %L is of type '%s', which has not been defined"
+ msgstr "Изведени тип ‘%s’ код %L је типа ‘%s’, који није дефиниÑан."
+
+-#: fortran/resolve.c:7811
++#: fortran/resolve.c:7987
+ #, fuzzy, no-c-format
+ msgid "Fortran 2003: PUBLIC %s '%s' at %L of PRIVATE derived type '%s'"
+ msgstr "Јавна функција ‘%s’ код %L не може бити приватног типа ‘%s’"
+
+-#: fortran/resolve.c:7830
++#: fortran/resolve.c:8006
+ #, no-c-format
+ msgid "The INTENT(OUT) dummy argument '%s' at %L is ASSUMED SIZE and so cannot have a default initializer"
+ msgstr "Лажни аргумент намере-из ‘%s’ код %L је претпоÑтављене величине и зато не може имати подразумевани уÑпоÑтављач"
+
+-#: fortran/resolve.c:7889
++#: fortran/resolve.c:8065
+ #, no-c-format
+ msgid "Threadprivate at %L isn't SAVEd"
+ msgstr "Ðитно-приватно код %L не Ñнима Ñе"
+
+-#: fortran/resolve.c:7967
++#: fortran/resolve.c:8143
+ #, no-c-format
+ msgid "BLOCK DATA element '%s' at %L must be in COMMON"
+ msgstr "BLOCK DATA елемент ‘%s’ код %L мора бити у заједничком"
+
+-#: fortran/resolve.c:8011
++#: fortran/resolve.c:8149
+ #, no-c-format
++msgid "DATA array '%s' at %L must be specified in a previous declaration"
++msgstr ""
++
++#: fortran/resolve.c:8194
++#, no-c-format
+ msgid "Nonconstant array section at %L in DATA statement"
+ msgstr "ÐеконÑтантан одељак низа код %L у наредби DATA"
+
+-#: fortran/resolve.c:8024
++#: fortran/resolve.c:8207
+ #, no-c-format
+ msgid "DATA statement at %L has more variables than values"
+ msgstr "Ðаредба DATA код %L има више променљивих него вредноÑти"
+
+-#: fortran/resolve.c:8118
++#: fortran/resolve.c:8301
+ #, no-c-format
+ msgid "iterator start at %L does not simplify"
+ msgstr "почетак итератора код %L не упрошћава Ñе"
+
+-#: fortran/resolve.c:8125
++#: fortran/resolve.c:8308
+ #, no-c-format
+ msgid "iterator end at %L does not simplify"
+ msgstr "крај итератора код %L не упрошћава Ñе"
+
+-#: fortran/resolve.c:8132
++#: fortran/resolve.c:8315
+ #, no-c-format
+ msgid "iterator step at %L does not simplify"
+ msgstr "корак итератора код %L не упрошћава Ñе"
+
+-#: fortran/resolve.c:8258
++#: fortran/resolve.c:8441
+ #, no-c-format
+ msgid "DATA statement at %L has more values than variables"
+ msgstr "Ðаредба DATA код %L има више вредноÑти него променљивих"
+
+-#: fortran/resolve.c:8349
++#: fortran/resolve.c:8532
+ #, no-c-format
+ msgid "Label %d at %L defined but not used"
+ msgstr "Ознака %d код %L дефиниÑана али неупотребљена"
+
+-#: fortran/resolve.c:8354
++#: fortran/resolve.c:8537
+ #, no-c-format
+ msgid "Label %d at %L defined but cannot be used"
+ msgstr "Ознака %d код %L дефиниÑана али не може бити употребљена"
+
+-#: fortran/resolve.c:8439
++#: fortran/resolve.c:8622
+ #, no-c-format
+ msgid "Derived type variable '%s' at %L must have SEQUENCE attribute to be an EQUIVALENCE object"
+ msgstr "Променљива изведеног типа ‘%s’ код %L мора имати атрибут SEQUENCE да би била објекат еквиваленције"
+
+-#: fortran/resolve.c:8448
++#: fortran/resolve.c:8631
+ #, no-c-format
+ msgid "Derived type variable '%s' at %L cannot have ALLOCATABLE components to be an EQUIVALENCE object"
+ msgstr "Променљива изведеног типа ‘%s’ код %L не може имати резервљиве компоненте како би била објекат еквиваленције"
+
+-#: fortran/resolve.c:8465
++#: fortran/resolve.c:8639
++#, fuzzy, no-c-format
++msgid "Derived type variable '%s' at %L with default initialization cannot be in EQUIVALENCE with a variable in COMMON"
++msgstr "Променљива изведеног типа ‘%s’ код %L Ñа подразумеваним уÑпоÑтављачем не може бити објекат еквиваленције"
++
++#: fortran/resolve.c:8656
+ #, no-c-format
+ msgid "Derived type variable '%s' at %L with pointer component(s) cannot be an EQUIVALENCE object"
+ msgstr "Променљива изведеног типа ‘%s’ код %L Ñа показивачким компонентама не може бити објекат еквиваленције"
+
+-#: fortran/resolve.c:8570
++#: fortran/resolve.c:8761
+ #, no-c-format
+ msgid "Syntax error in EQUIVALENCE statement at %L"
+ msgstr "СинтакÑна грешка у наредби EQUIVALENCE код %L"
+
+-#: fortran/resolve.c:8585
++#: fortran/resolve.c:8776
+ #, no-c-format
+ msgid "Either all or none of the objects in the EQUIVALENCE set at %L shall have the PROTECTED attribute"
+ msgstr ""
+
+-#: fortran/resolve.c:8597
++#: fortran/resolve.c:8788
+ #, no-c-format
+ msgid "Common block member '%s' at %L cannot be an EQUIVALENCE object in the pure procedure '%s'"
+ msgstr "Члан заједничког блока ‘%s’ код %L не може бити објекат еквиваленције у чиÑтој процедури ‘%s’"
+
+-#: fortran/resolve.c:8606
++#: fortran/resolve.c:8797
+ #, no-c-format
+ msgid "Named constant '%s' at %L cannot be an EQUIVALENCE object"
+ msgstr "Именована конÑтанта ‘%s’ код %L не може бити објекат еквиваленције"
+
+-#: fortran/resolve.c:8685
++#: fortran/resolve.c:8876
+ #, no-c-format
+ msgid "Array '%s' at %L with non-constant bounds cannot be an EQUIVALENCE object"
+ msgstr "Ðиз ‘%s’ код %L Ñа неконÑтантним границама не може бити објекат еквиваленције"
+
+-#: fortran/resolve.c:8696
++#: fortran/resolve.c:8887
+ #, no-c-format
+ msgid "Structure component '%s' at %L cannot be an EQUIVALENCE object"
+ msgstr "Компонената Ñтруктуре ‘%s’ код %L не може бити објекат еквиваленције"
+
+-#: fortran/resolve.c:8707
++#: fortran/resolve.c:8898
+ #, no-c-format
+ msgid "Substring at %L has length zero"
+ msgstr "ПодниÑка код %L има нулту дужину"
+
+-#: fortran/resolve.c:8750
++#: fortran/resolve.c:8941
+ #, no-c-format
+ msgid "PUBLIC function '%s' at %L cannot be of PRIVATE type '%s'"
+ msgstr "Јавна функција ‘%s’ код %L не може бити приватног типа ‘%s’"
+
+-#: fortran/resolve.c:8762
++#: fortran/resolve.c:8953
+ #, no-c-format
+ msgid "ENTRY '%s' at %L has no IMPLICIT type"
+ msgstr "Ð£Ð½Ð¾Ñ â€˜%s’ код %L нема имплицитан тип"
+
+-#: fortran/resolve.c:8788
++#: fortran/resolve.c:8979
+ #, no-c-format
+ msgid "User operator procedure '%s' at %L must be a FUNCTION"
+ msgstr "Процедура кориÑничког оператора ‘%s’ код %L мора бити функција"
+
+-#: fortran/resolve.c:8795
++#: fortran/resolve.c:8986
+ #, no-c-format
+ msgid "User operator procedure '%s' at %L cannot be assumed character length"
+ msgstr "Процедура кориÑничког оператора ‘%s’ код %L не може бити претпоÑтављене знаковне дужине"
+
+-#: fortran/resolve.c:8801
++#: fortran/resolve.c:8992
+ #, no-c-format
+ msgid "User operator procedure '%s' at %L must have at least one argument"
+ msgstr "Процедура кориÑничког оператора ‘%s’ код %L мора имати бар један аргумент"
+
+-#: fortran/resolve.c:8811
++#: fortran/resolve.c:9002
+ #, no-c-format
+ msgid "First argument of operator interface at %L cannot be optional"
+ msgstr "Први аргумент Ñучеља оператора код %L не може бити опциони"
+
+-#: fortran/resolve.c:8823
++#: fortran/resolve.c:9014
+ #, no-c-format
+ msgid "Second argument of operator interface at %L cannot be optional"
+ msgstr "Други аргумент Ñучеља оператора код %L не може бити опциони"
+
+-#: fortran/resolve.c:8827
++#: fortran/resolve.c:9018
+ #, no-c-format
+ msgid "Operator interface at %L must have, at most, two arguments"
+ msgstr "Сучеље оператора код %L мора имати, највише, два аргумента"
+
+-#: fortran/resolve.c:8867
++#: fortran/resolve.c:9059
+ #, no-c-format
+ msgid "Contained procedure '%s' at %L of a PURE procedure must also be PURE"
+ msgstr "Садржана процедура ‘%s’ код %L у чиÑтој процедури мора такође бити чиÑта"
+
+-#: fortran/scanner.c:526
++#: fortran/scanner.c:530
+ #, no-c-format
+ msgid "!$OMP at %C starts a commented line as it neither is followed by a space nor is a continuation line"
+ msgstr ""
+
+-#: fortran/scanner.c:816 fortran/scanner.c:937
++#: fortran/scanner.c:820 fortran/scanner.c:941
+ #, no-c-format
+ msgid "Limit of %d continuations exceeded in statement at %C"
+ msgstr "Премашено ограничење од %d наÑтављања у наредби код %C"
+
+-#: fortran/scanner.c:861
++#: fortran/scanner.c:865
+ #, no-c-format
+ msgid "Missing '&' in continued character constant at %C"
+ msgstr "ÐедоÑтаје ‘&’ у наÑтављеној знаковној конÑтанти код %C"
+
+-#: fortran/scanner.c:1071
++#: fortran/scanner.c:1075
+ #, no-c-format
+ msgid "Nonconforming tab character at %C"
+ msgstr "Табулатор противан Ñтандарду код %C"
+
+-#: fortran/scanner.c:1153 fortran/scanner.c:1156
++#: fortran/scanner.c:1158 fortran/scanner.c:1161
+ #, no-c-format
+ msgid "'&' not allowed by itself in line %d"
+ msgstr "‘&’ не може бити Ñамо у линији %d"
+
+-#: fortran/scanner.c:1189
+-#, no-c-format
+-msgid "Nonconforming tab character in column 1 of line %d"
++#: fortran/scanner.c:1207
++#, fuzzy, no-c-format
++msgid "Nonconforming tab character in column %d of line %d"
+ msgstr "Табулатор противан Ñтандарду у колони 1 линије %d"
+
+-#: fortran/scanner.c:1387
++#: fortran/scanner.c:1405
+ #, no-c-format
+ msgid "%s:%d: file %s left but not entered"
+ msgstr "%s:%d: датотека %s је напуштена, али у њу није уђено"
+
+-#: fortran/scanner.c:1419
++#: fortran/scanner.c:1438
+ #, no-c-format
+ msgid "%s:%d: Illegal preprocessor directive"
+ msgstr "%s:%d: Ðедозвољена предобрађивачка директива"
+
+-#: fortran/scanner.c:1514
++#: fortran/scanner.c:1533
+ #, no-c-format
+ msgid "File '%s' is being included recursively"
+ msgstr "Датотека ‘%s’ Ñе укључује рекурзивно"
+
+-#: fortran/scanner.c:1529
++#: fortran/scanner.c:1548
+ #, no-c-format
+ msgid "Can't open file '%s'"
+ msgstr "Ðе могу да отворим датотеку ‘%s’"
+
+-#: fortran/scanner.c:1538
++#: fortran/scanner.c:1557
+ #, no-c-format
+ msgid "Can't open included file '%s'"
+ msgstr "Ðе могу да отворим укључену датотеку ‘%s’"
+
+-#: fortran/scanner.c:1676
++#: fortran/scanner.c:1701
+ #, c-format
+ msgid "%s:%3d %s\n"
+ msgstr "%s:%3d %s\n"
+@@ -10252,134 +10313,134 @@
+ msgid "Argument of CHAR function at %L outside of range [0,255]"
+ msgstr "Ðргумент функције CHAR код %L ван опÑега [0,255]"
+
+-#: fortran/simplify.c:1247
++#: fortran/simplify.c:1293
+ #, no-c-format
+ msgid "Argument of IACHAR at %L must be of length one"
+ msgstr "Ðргумент у IACHAR код %L мора бити дужине један"
+
+-#: fortran/simplify.c:1254
++#: fortran/simplify.c:1300
+ #, no-c-format
+ msgid "Argument of IACHAR function at %L outside of range 0..127"
+ msgstr "Ðргумент функције IACHAR код %L ван опÑега [0,127]"
+
+-#: fortran/simplify.c:1293
++#: fortran/simplify.c:1339
+ #, no-c-format
+ msgid "Invalid second argument of IBCLR at %L"
+ msgstr "ÐеиÑправан други аргумент у IBCLR код %L"
+
+-#: fortran/simplify.c:1301
++#: fortran/simplify.c:1347
+ #, no-c-format
+ msgid "Second argument of IBCLR exceeds bit size at %L"
+ msgstr "Други аргумент у IBCLR премашује битÑку величину код %L"
+
+-#: fortran/simplify.c:1335
++#: fortran/simplify.c:1381
+ #, no-c-format
+ msgid "Invalid second argument of IBITS at %L"
+ msgstr "ÐеиÑправан други аргумент у IBITS код %L"
+
+-#: fortran/simplify.c:1341
++#: fortran/simplify.c:1387
+ #, no-c-format
+ msgid "Invalid third argument of IBITS at %L"
+ msgstr "ÐеиÑправан трећи аргумент у IBITS код %L"
+
+-#: fortran/simplify.c:1351
++#: fortran/simplify.c:1397
+ #, no-c-format
+ msgid "Sum of second and third arguments of IBITS exceeds bit size at %L"
+ msgstr "Збир другог и трећег аргумента у IBITS премашује битÑку величину код %L"
+
+-#: fortran/simplify.c:1393
++#: fortran/simplify.c:1439
+ #, no-c-format
+ msgid "Invalid second argument of IBSET at %L"
+ msgstr "ÐеиÑправан други аргумент у IBSET код %L"
+
+-#: fortran/simplify.c:1401
++#: fortran/simplify.c:1447
+ #, no-c-format
+ msgid "Second argument of IBSET exceeds bit size at %L"
+ msgstr "Други аргумент у IBSET премашује битÑку величину код %L"
+
+-#: fortran/simplify.c:1431
++#: fortran/simplify.c:1477
+ #, no-c-format
+ msgid "Argument of ICHAR at %L must be of length one"
+ msgstr "Ðргумент у ICHAR код %L мора бити дужине један"
+
+-#: fortran/simplify.c:1646
++#: fortran/simplify.c:1692
+ #, no-c-format
+ msgid "Argument of INT at %L is not a valid type"
+ msgstr "Ðргумент у INT код %L није иÑправног типа"
+
+-#: fortran/simplify.c:1688
++#: fortran/simplify.c:1734
+ #, no-c-format
+ msgid "Argument of %s at %L is not a valid type"
+ msgstr "Ðргумент у %s код %L није иÑправног типа"
+
+-#: fortran/simplify.c:1786
++#: fortran/simplify.c:1832
+ #, no-c-format
+ msgid "Invalid second argument of ISHFT at %L"
+ msgstr "ÐеиÑправан други аргумент у ISHFT код %L"
+
+-#: fortran/simplify.c:1801
++#: fortran/simplify.c:1847
+ #, no-c-format
+ msgid "Magnitude of second argument of ISHFT exceeds bit size at %L"
+ msgstr "Магнитуда другог аргумента у ISHFT премашује битÑку величину код %L"
+
+-#: fortran/simplify.c:1865
++#: fortran/simplify.c:1911
+ #, no-c-format
+ msgid "Invalid second argument of ISHFTC at %L"
+ msgstr "ÐеиÑправан други аргумент у ISHFTC код %L"
+
+-#: fortran/simplify.c:1879
++#: fortran/simplify.c:1925
+ #, no-c-format
+ msgid "Invalid third argument of ISHFTC at %L"
+ msgstr "ÐеиÑправан трећи аргумент у ISHFTC код %L"
+
+-#: fortran/simplify.c:1885
++#: fortran/simplify.c:1931
+ #, no-c-format
+ msgid "Magnitude of third argument of ISHFTC exceeds BIT_SIZE of first argument at %L"
+ msgstr "Магнитуда трећег аргумента у ISHFTC премашује BIT_SIZE првог аргумента код %L"
+
+-#: fortran/simplify.c:1901
++#: fortran/simplify.c:1947
+ #, no-c-format
+ msgid "Magnitude of second argument of ISHFTC exceeds third argument at %L"
+ msgstr "Магнитуда другог аргумента у ISHFT премашује трећи аргумент код %L"
+
+-#: fortran/simplify.c:1904
++#: fortran/simplify.c:1950
+ #, no-c-format
+ msgid "Magnitude of second argument of ISHFTC exceeds BIT_SIZE of first argument at %L"
+ msgstr "Магнитуда другог аргумента у ISHFTC премашује BIT_SIZE првог аргумента код %L"
+
+-#: fortran/simplify.c:1975
++#: fortran/simplify.c:2021
+ #, no-c-format
+ msgid "Argument of KIND at %L is a DERIVED type"
+ msgstr "Ðргумент у KIND код %L је изведеног типа"
+
+-#: fortran/simplify.c:2163
++#: fortran/simplify.c:2209
+ #, no-c-format
+ msgid "DIM argument at %L is out of bounds"
+ msgstr "Ðргумент димензије код %L је ван граница"
+
+-#: fortran/simplify.c:2318
++#: fortran/simplify.c:2364
+ #, no-c-format
+ msgid "Argument of LOG at %L cannot be less than or equal to zero"
+ msgstr "Ðргумент у LOG код %L не може бити мањи или једнак нули"
+
+-#: fortran/simplify.c:2331
++#: fortran/simplify.c:2377
+ #, no-c-format
+ msgid "Complex argument of LOG at %L cannot be zero"
+ msgstr "КомплекÑни аргумент у LOG код %L не може бити нула"
+
+-#: fortran/simplify.c:2374
++#: fortran/simplify.c:2420
+ #, no-c-format
+ msgid "Argument of LOG10 at %L cannot be less than or equal to zero"
+ msgstr "Ðргумент у LOG10 код %L не може бити мањи или једнак нули"
+
+ #. Result is processor-dependent.
+-#: fortran/simplify.c:2579
++#: fortran/simplify.c:2628
+ #, no-c-format
+ msgid "Second argument MOD at %L is zero"
+ msgstr "Други аргумент у MOD код %L је нула"
+
+ #. Result is processor-dependent.
+-#: fortran/simplify.c:2590
++#: fortran/simplify.c:2639
+ #, no-c-format
+ msgid "Second argument of MOD at %L is zero"
+ msgstr "Други аргумент у MOD код %L је нула"
+@@ -10387,82 +10448,87 @@
+ #. Result is processor-dependent. This processor just opts
+ #. to not handle it at all.
+ #. Result is processor-dependent.
+-#: fortran/simplify.c:2638 fortran/simplify.c:2650
++#: fortran/simplify.c:2687 fortran/simplify.c:2699
+ #, no-c-format
+ msgid "Second argument of MODULO at %L is zero"
+ msgstr "Други аргумент у MODULO код %L је нула"
+
+-#: fortran/simplify.c:2702
++#: fortran/simplify.c:2751
+ #, no-c-format
+ msgid "Second argument of NEAREST at %L shall not be zero"
+ msgstr "Други аргумент у NEAREST код %L не може бити нула"
+
+-#: fortran/simplify.c:2977
++#: fortran/simplify.c:2787
+ #, fuzzy, no-c-format
++msgid "Result of NEAREST is NaN at %L"
++msgstr "Резултат %s јеÑте NaN код %L"
++
++#: fortran/simplify.c:3062
++#, fuzzy, no-c-format
+ msgid "Argument NCOPIES of REPEAT intrinsic is negative at %L"
+ msgstr "Ðргумент NCOPIES уз ÑопÑтвено REPEAT негативан је"
+
+-#: fortran/simplify.c:3032
++#: fortran/simplify.c:3117
+ #, fuzzy, no-c-format
+ msgid "Argument NCOPIES of REPEAT intrinsic is too large at %L"
+ msgstr "Ðргумент NCOPIES уз ÑопÑтвено REPEAT негативан је"
+
+-#: fortran/simplify.c:3122
++#: fortran/simplify.c:3232
+ #, no-c-format
+ msgid "Integer too large in shape specification at %L"
+ msgstr "Цео број превелик у одредници облика код %L"
+
+-#: fortran/simplify.c:3132
++#: fortran/simplify.c:3242
+ #, no-c-format
+ msgid "Too many dimensions in shape specification for RESHAPE at %L"
+ msgstr "Превише димензија у одредници облика за RESHAPE код %L"
+
+-#: fortran/simplify.c:3140
++#: fortran/simplify.c:3250
+ #, no-c-format
+ msgid "Shape specification at %L cannot be negative"
+ msgstr "Одредница облика код %L не може бити негативна"
+
+-#: fortran/simplify.c:3150
++#: fortran/simplify.c:3260
+ #, no-c-format
+ msgid "Shape specification at %L cannot be the null array"
+ msgstr "Одредница облика код %L не може бити нулти низ"
+
+-#: fortran/simplify.c:3171
++#: fortran/simplify.c:3281
+ #, no-c-format
+ msgid "ORDER parameter of RESHAPE at %L is not the same size as SHAPE parameter"
+ msgstr "Параметар ORDER у RESHAPE код %L није иÑте величине као параметар SHAPE"
+
+-#: fortran/simplify.c:3178
++#: fortran/simplify.c:3288
+ #, no-c-format
+ msgid "Error in ORDER parameter of RESHAPE at %L"
+ msgstr "Грешка у параметру ORDER у RESHAPE код %L"
+
+-#: fortran/simplify.c:3188
++#: fortran/simplify.c:3298
+ #, no-c-format
+ msgid "ORDER parameter of RESHAPE at %L is out of range"
+ msgstr "Параметар ORDER у RESHAPE код %L је ван опÑега"
+
+-#: fortran/simplify.c:3197
++#: fortran/simplify.c:3307
+ #, no-c-format
+ msgid "Invalid permutation in ORDER parameter at %L"
+ msgstr "ÐеиÑправна пермутација у параметру ORDER код %L"
+
+-#: fortran/simplify.c:3253
++#: fortran/simplify.c:3363
+ #, no-c-format
+ msgid "PAD parameter required for short SOURCE parameter at %L"
+ msgstr "Ðеопходан је параметар PAD за кратки параметар SOURCE код %L"
+
+-#: fortran/simplify.c:3372
++#: fortran/simplify.c:3482
+ #, no-c-format
+ msgid "Result of SCALE overflows its kind at %L"
+ msgstr "Резултат SCALE прелива Ñвоју врÑту код %L"
+
+-#: fortran/simplify.c:3942
++#: fortran/simplify.c:4056
+ #, no-c-format
+ msgid "Argument of SQRT at %L has a negative value"
+ msgstr "Ðргумент у SQRT код %L има негативну вредноÑÑ‚"
+
+-#: fortran/simplify.c:4069
++#: fortran/simplify.c:4190
+ #, no-c-format
+ msgid "Intrinsic TRANSFER at %L has partly undefined result: source size %ld < result size %ld"
+ msgstr ""
+@@ -10691,29 +10757,29 @@
+ msgid "Symbol '%s' at %C has already been host associated"
+ msgstr "Симбол ‘%s’ код %C је већ придружен домаћину"
+
+-#: fortran/symbol.c:3162
++#: fortran/symbol.c:3189
+ #, fuzzy, no-c-format
+ msgid "Derived type '%s' declared at %L must have the BIND attribute to be C interoperable"
+ msgstr "Променљива изведеног типа ‘%s’ код %L мора имати атрибут SEQUENCE да би била објекат еквиваленције"
+
+-#: fortran/symbol.c:3173
++#: fortran/symbol.c:3200
+ #, fuzzy, no-c-format
+ msgid "Derived type '%s' at %L is empty"
+ msgstr "Изведени тип ‘%s’ код %C кориÑти Ñе пре него што је дефиниÑан"
+
+-#: fortran/symbol.c:3190
++#: fortran/symbol.c:3217
+ #, no-c-format
+ msgid "Component '%s' at %L cannot have the POINTER attribute because it is a member of the BIND(C) derived type '%s' at %L"
+ msgstr ""
+
+-#: fortran/symbol.c:3202
++#: fortran/symbol.c:3229
+ #, no-c-format
+ msgid "Component '%s' at %L cannot have the ALLOCATABLE attribute because it is a member of the BIND(C) derived type '%s' at %L"
+ msgstr ""
+
+ #. If the derived type is bind(c), all fields must be
+ #. interop.
+-#: fortran/symbol.c:3241
++#: fortran/symbol.c:3268
+ #, no-c-format
+ msgid "Component '%s' in derived type '%s' at %L may not be C interoperable, even though derived type '%s' is BIND(C)"
+ msgstr ""
+@@ -10721,17 +10787,17 @@
+ #. If derived type is param to bind(c) routine, or to one
+ #. of the iso_c_binding procs, it must be interoperable, so
+ #. all fields must interop too.
+-#: fortran/symbol.c:3250
++#: fortran/symbol.c:3277
+ #, no-c-format
+ msgid "Component '%s' in derived type '%s' at %L may not be C interoperable"
+ msgstr ""
+
+-#: fortran/symbol.c:3264
++#: fortran/symbol.c:3291
+ #, fuzzy, no-c-format
+ msgid "Derived type '%s' at %L cannot be declared with both PRIVATE and BIND(C) attributes"
+ msgstr "Тип ‘%s’ код %C није деклариÑан унутар Ñучеља"
+
+-#: fortran/symbol.c:3272
++#: fortran/symbol.c:3299
+ #, fuzzy, no-c-format
+ msgid "Derived type '%s' at %L cannot have the SEQUENCE attribute because it is BIND(C)"
+ msgstr "Променљива изведеног типа ‘%s’ код %L мора имати атрибут SEQUENCE да би била објекат еквиваленције"
+@@ -10741,38 +10807,43 @@
+ msgid "Overlapping unequal initializers in EQUIVALENCE at %L"
+ msgstr ""
+
+-#: fortran/trans-common.c:396
++#: fortran/target-memory.c:635
+ #, no-c-format
++msgid "BOZ constant at %L is too large (%ld vs %ld bits)"
++msgstr ""
++
++#: fortran/trans-common.c:399
++#, no-c-format
+ msgid "Named COMMON block '%s' at %L shall be of the same size"
+ msgstr "Именовани заједнички блок ‘%s’ код %L ће бити иÑте величине"
+
+-#: fortran/trans-common.c:817
++#: fortran/trans-common.c:833
+ #, no-c-format
+ msgid "Bad array reference at %L"
+ msgstr "Лош упућивач низа код %L"
+
+-#: fortran/trans-common.c:825
++#: fortran/trans-common.c:841
+ #, no-c-format
+ msgid "Illegal reference type at %L as EQUIVALENCE object"
+ msgstr "Ðедозвољен тип упућивача код %L као објекат еквиваленције"
+
+-#: fortran/trans-common.c:865
++#: fortran/trans-common.c:881
+ #, no-c-format
+ msgid "Inconsistent equivalence rules involving '%s' at %L and '%s' at %L"
+ msgstr "ÐеуÑаглашена правила еквиваленције у вези Ñа ‘%s’ код %L и ‘%s’ код %L"
+
+ #. Aligning this field would misalign a previous field.
+-#: fortran/trans-common.c:998
++#: fortran/trans-common.c:1014
+ #, no-c-format
+ msgid "The equivalence set for variable '%s' declared at %L violates alignment requirements"
+ msgstr "Скуп еквиваленције за променљиву ‘%s’ деклариÑан код %L крши захтеве равнања"
+
+-#: fortran/trans-common.c:1063
++#: fortran/trans-common.c:1079
+ #, no-c-format
+ msgid "Equivalence for '%s' does not match ordering of COMMON '%s' at %L"
+ msgstr "Еквиваленција за ‘%s’ не одговара поретку заједничког ‘%s’ код %L"
+
+-#: fortran/trans-common.c:1078
++#: fortran/trans-common.c:1094
+ #, no-c-format
+ msgid "The equivalence set for '%s' cause an invalid extension to COMMON '%s' at %L"
+ msgstr "Скуп еквиваленције за ‘%s’ изазива неиÑправно проширење до заједничког ‘%s’ код %L"
+@@ -10780,42 +10851,42 @@
+ #. The required offset conflicts with previous alignment
+ #. requirements. Insert padding immediately before this
+ #. segment.
+-#: fortran/trans-common.c:1089
++#: fortran/trans-common.c:1105
+ #, no-c-format
+ msgid "Padding of %d bytes required before '%s' in COMMON '%s' at %L"
+ msgstr "Ðеопходно уметање %d бајтова пре ‘%s’ у заједничком ‘%s’ код %L"
+
+-#: fortran/trans-common.c:1115
++#: fortran/trans-common.c:1131
+ #, no-c-format
+ msgid "COMMON '%s' at %L does not exist"
+ msgstr "Заједничко ‘%s’ код %L не поÑтоји"
+
+-#: fortran/trans-common.c:1122
++#: fortran/trans-common.c:1138
+ #, no-c-format
+ msgid "COMMON '%s' at %L requires %d bytes of padding at start"
+ msgstr "Заједничко ‘%s’ код %L затева %d уметнутих бајтова на почетку"
+
+-#: fortran/trans-decl.c:3016
++#: fortran/trans-decl.c:2979
+ #, fuzzy, no-c-format
+ msgid "Dummy argument '%s' at %L was declared INTENT(OUT) but was not set"
+ msgstr "Лажни аргумент ‘%s’ код %L не може бити намере-из"
+
+-#: fortran/trans-decl.c:3020
++#: fortran/trans-decl.c:2983
+ #, fuzzy, no-c-format
+ msgid "Unused dummy argument '%s' at %L"
+ msgstr "Превише аргумената за %s код %L"
+
+-#: fortran/trans-decl.c:3026
++#: fortran/trans-decl.c:2989
+ #, fuzzy, no-c-format
+ msgid "Unused variable '%s' declared at %L"
+ msgstr "Ðеупотребљена променљива %s деклариÑана код %L"
+
+-#: fortran/trans-decl.c:3052
++#: fortran/trans-decl.c:3015
+ #, fuzzy, no-c-format
+ msgid "Unused parameter '%s' declared at %L"
+ msgstr "Ðеупотребљен параметар %s деклариÑан код %L"
+
+-#: fortran/trans-expr.c:2036
++#: fortran/trans-expr.c:2199
+ #, no-c-format
+ msgid "Unknown argument list function at %L"
+ msgstr "Ðепозната функције лиÑте аргумената код %L"
+@@ -10825,12 +10896,12 @@
+ msgid "'dim' argument of %s intrinsic at %L is not a valid dimension index"
+ msgstr "Ðргумент ‘dim’ за ÑопÑтвено ‘%s’ код %L није иÑправан димензиони индекÑ"
+
+-#: fortran/trans-io.c:1850
++#: fortran/trans-io.c:1851
+ #, fuzzy, no-c-format
+ msgid "Derived type '%s' at %L has PRIVATE components"
+ msgstr "Дефиниција изведеног типа код %C нема компонената"
+
+-#: fortran/trans-stmt.c:438
++#: fortran/trans-stmt.c:436
+ #, no-c-format
+ msgid "An alternate return at %L without a * dummy argument"
+ msgstr "Ðлтернативан повратак код %L без лажног аргумента *"
+@@ -11055,55 +11126,34 @@
+ msgid "cannot specify 'main' class when not linking"
+ msgstr "не може Ñе задати главна клаÑа када Ñе не повезује"
+
+-#: config/i386/nwld.h:34
+-msgid "Static linking is not supported.\n"
+-msgstr "Статичко повезивање није подржано.\n"
+-
+-#: java/jvspec.c:80 gcc.c:820 ada/lang-specs.h:33
+-msgid "-pg and -fomit-frame-pointer are incompatible"
+-msgstr "-pg и -fomit-frame-pointer ниÑу ÑаглаÑни"
+-
+ #: config/vax/netbsd-elf.h:41
+ msgid "the -shared option is not currently supported for VAX ELF"
+ msgstr "опција -shared тренутно није подржана за Ð’ÐКСов ЕЛФ"
+
+-#: config/sparc/sol2-gld-bi.h:17 config/sparc/sol2-gld-bi.h:22
+-#: config/sparc/sol2-bi.h:189 config/sparc/sol2-bi.h:194
+-msgid "does not support multilib"
+-msgstr "не подржава вишебиб"
+-
+ #: config/vax/vax.h:49 config/vax/vax.h:50
+ msgid "profiling not supported with -mg\n"
+ msgstr "профилиÑање није подржано уз -mg\n"
+
+-#: config/rs6000/linux64.h:347 config/rs6000/linux64.h:349 config/linux.h:106
+-#: config/linux.h:108 config/rs6000/sysv4.h:897 config/rs6000/sysv4.h:899
++#: config/sh/sh.h:461
++msgid "SH2a does not support little-endian"
++msgstr "СХ2а не подржава малу крајноÑÑ‚"
++
++#: config/s390/tpf.h:119
++msgid "static is not supported on TPF-OS"
++msgstr "static није подржано на ТПФ-ОСу"
++
+ #: config/alpha/linux-elf.h:33 config/alpha/linux-elf.h:35
++#: config/rs6000/sysv4.h:897 config/rs6000/sysv4.h:899
+ #: config/sparc/linux.h:126 config/sparc/linux.h:128
+-#: config/sparc/linux64.h:152 config/sparc/linux64.h:154
++#: config/sparc/linux64.h:152 config/sparc/linux64.h:154 config/linux.h:106
++#: config/linux.h:108 config/rs6000/linux64.h:347 config/rs6000/linux64.h:349
+ msgid "-mglibc and -muclibc used together"
+ msgstr "-mglibc и -muclibc употребљени заједно"
+
+-#: config/i386/cygwin.h:28
+-msgid "mno-cygwin and mno-win32 are not compatible"
+-msgstr "mno-cygwin и mno-win32 ниÑу ÑаглаÑни"
++#: java/jvspec.c:80 gcc.c:820 ada/lang-specs.h:33
++msgid "-pg and -fomit-frame-pointer are incompatible"
++msgstr "-pg и -fomit-frame-pointer ниÑу ÑаглаÑни"
+
+-#: config/i386/cygwin.h:74 config/i386/mingw32.h:74
+-msgid "shared and mdll are not compatible"
+-msgstr "shared и mdll ниÑу ÑаглаÑни"
+-
+-#: config/i386/sco5.h:188
+-msgid "-pg not supported on this platform"
+-msgstr "-pg није подржано на овој платформи"
+-
+-#: config/i386/sco5.h:189
+-msgid "-p and -pp specified - pick one"
+-msgstr "задато је -p и -pp — изаберите једно"
+-
+-#: config/i386/sco5.h:258
+-msgid "-G and -static are mutually exclusive"
+-msgstr "-G и -static Ñу међуÑобно иÑкључиви"
+-
+ #: gcc.c:792
+ msgid "GCC does not support -C or -CC without -E"
+ msgstr "ГЦЦ не подржава -C или -CC без -E"
+@@ -11112,58 +11162,14 @@
+ msgid "-E or -x required when input is from standard input"
+ msgstr "потребно је -E или -x када је улаз Ñа Ñтандардног улаза"
+
+-#: java/lang-specs.h:33
+-msgid "-fjni and -femit-class-files are incompatible"
+-msgstr "-fjni и -femit-class-files ниÑу ÑаглаÑни"
+-
+-#: java/lang-specs.h:34
+-msgid "-fjni and -femit-class-file are incompatible"
+-msgstr "-fjni и -femit-class-file ниÑу ÑаглаÑни"
+-
+-#: java/lang-specs.h:35 java/lang-specs.h:36
+-msgid "-femit-class-file should used along with -fsyntax-only"
+-msgstr "-femit-class-file треба кориÑтити Ñамо уз -fsyntax-only"
+-
+ #: config/mcore/mcore.h:56
+ msgid "the m210 does not have little endian support"
+ msgstr "Ðœ210 нема подршку мале крајноÑти"
+
+-#: config/lynx.h:70
+-msgid "cannot use mthreads and mlegacy-threads together"
+-msgstr "не могу Ñе заједно кориÑтити mthreads и mlegacy-threads"
+-
+-#: config/lynx.h:95
+-msgid "cannot use mshared and static together"
+-msgstr "не могу Ñе заједно кориÑтити mshared и static"
+-
+-#: config/sh/sh.h:461
+-msgid "SH2a does not support little-endian"
+-msgstr "СХ2а не подржава малу крајноÑÑ‚"
+-
+-#: config/mips/mips.h:1042 config/arc/arc.h:61
++#: config/arc/arc.h:61 config/mips/mips.h:1042
+ msgid "may not use both -EB and -EL"
+ msgstr "не могу Ñе навеÑти и -EB и -EL"
+
+-#: config/s390/tpf.h:119
+-msgid "static is not supported on TPF-OS"
+-msgstr "static није подржано на ТПФ-ОСу"
+-
+-#: config/rs6000/darwin.h:95
+-msgid " conflicting code gen style switches are used"
+-msgstr " употребљени Ñу Ñукобљени прекидачи Ñтила генериÑања кôда"
+-
+-#: ada/lang-specs.h:34
+-msgid "-c or -S required for Ada"
+-msgstr "потребно је -c или -S за аду"
+-
+-#: config/mips/r3900.h:34
+-msgid "-mhard-float not supported"
+-msgstr "-mhard-float није подржано"
+-
+-#: config/mips/r3900.h:36
+-msgid "-msingle-float and -msoft-float cannot both be specified"
+-msgstr "не могу Ñе задати и -msingle-float и -msoft-float"
+-
+ #: config/vxworks.h:71
+ msgid "-Xbind-now and -Xbind-lazy are incompatible"
+ msgstr "-Xbind-now и -Xbind-lazy ниÑу ÑаглаÑни"
+@@ -11200,12 +11206,24 @@
+ msgid "-private_bundle not allowed with -dynamiclib"
+ msgstr "-private_bundle није дозвољено Ñа -dynamiclib"
+
++#: config/mips/r3900.h:34
++msgid "-mhard-float not supported"
++msgstr "-mhard-float није подржано"
++
++#: config/mips/r3900.h:36
++msgid "-msingle-float and -msoft-float cannot both be specified"
++msgstr "не могу Ñе задати и -msingle-float и -msoft-float"
++
+ #: config/sparc/linux64.h:211 config/sparc/linux64.h:222
+ #: config/sparc/netbsd-elf.h:125 config/sparc/netbsd-elf.h:144
+ #: config/sparc/sol2-bi.h:217 config/sparc/sol2-bi.h:227
+ msgid "may not use both -m32 and -m64"
+ msgstr "не могу Ñе навеÑти и -m32 и -m64"
+
++#: config/i386/mingw32.h:74 config/i386/cygwin.h:74
++msgid "shared and mdll are not compatible"
++msgstr "shared и mdll ниÑу ÑаглаÑни"
++
+ #: config/arm/arm.h:147
+ msgid "-msoft-float and -mhard_float may not be used together"
+ msgstr "-msoft-float и -mhard_float не могу Ñе кориÑтити заједно"
+@@ -11214,119 +11232,64 @@
+ msgid "-mbig-endian and -mlittle-endian may not be used together"
+ msgstr "-mbig-endian и -mlittle-endian не могу Ñе кориÑтити заједно"
+
+-#: java/lang.opt:65
+-msgid "Warn if a deprecated compiler feature, class, method, or field is used"
+-msgstr "Упозори ако Ñе употреби превазиђена могућноÑÑ‚ компилатора, клаÑа, метод или поље"
++#: config/rs6000/darwin.h:95
++msgid " conflicting code gen style switches are used"
++msgstr " употребљени Ñу Ñукобљени прекидачи Ñтила генериÑања кôда"
+
+-#: java/lang.opt:69
+-msgid "Warn if deprecated empty statements are found"
+-msgstr "Упозори ако Ñе нађе превазиђена празна наредба"
++#: ada/lang-specs.h:34
++msgid "-c or -S required for Ada"
++msgstr "потребно је -c или -S за аду"
+
+-#: java/lang.opt:73
+-msgid "Warn if .class files are out of date"
+-msgstr "Упозори ако Ñу клаÑне датотеке заÑтареле"
++#: config/sparc/sol2-bi.h:189 config/sparc/sol2-bi.h:194
++#: config/sparc/sol2-gld-bi.h:17 config/sparc/sol2-gld-bi.h:22
++msgid "does not support multilib"
++msgstr "не подржава вишебиб"
+
+-#: java/lang.opt:77
+-msgid "Warn if modifiers are specified when not necessary"
+-msgstr "Упозори ако Ñу модификатори задати када није неопходно"
++#: config/i386/nwld.h:34
++msgid "Static linking is not supported.\n"
++msgstr "Статичко повезивање није подржано.\n"
+
+-#: java/lang.opt:81
+-msgid "Deprecated; use --classpath instead"
+-msgstr "Превазиђено; кориÑтите --classpath"
++#: config/i386/cygwin.h:28
++msgid "mno-cygwin and mno-win32 are not compatible"
++msgstr "mno-cygwin и mno-win32 ниÑу ÑаглаÑни"
+
+-#: java/lang.opt:88
+-msgid "Permit the use of the assert keyword"
+-msgstr "Дозволи употребу кључне речи assert"
++#: config/i386/sco5.h:188
++msgid "-pg not supported on this platform"
++msgstr "-pg није подржано на овој платформи"
+
+-#: java/lang.opt:110
+-msgid "Replace system path"
+-msgstr "Замени ÑиÑтемÑку путању"
++#: config/i386/sco5.h:189
++msgid "-p and -pp specified - pick one"
++msgstr "задато је -p и -pp — изаберите једно"
+
+-#: java/lang.opt:114
+-msgid "Generate checks for references to NULL"
+-msgstr "Стварај провере за упућиваче на NULL"
++#: config/i386/sco5.h:258
++msgid "-G and -static are mutually exclusive"
++msgstr "-G и -static Ñу међуÑобно иÑкључиви"
+
+-#: java/lang.opt:118
+-msgid "Set class path"
+-msgstr "ПоÑтави клаÑну путању"
++#: java/lang-specs.h:33
++msgid "-fjni and -femit-class-files are incompatible"
++msgstr "-fjni и -femit-class-files ниÑу ÑаглаÑни"
+
+-#: java/lang.opt:125
+-msgid "Output a class file"
+-msgstr "ИÑпиши клаÑну датотеку"
++#: java/lang-specs.h:34
++msgid "-fjni and -femit-class-file are incompatible"
++msgstr "-fjni и -femit-class-file ниÑу ÑаглаÑни"
+
+-#: java/lang.opt:129
+-msgid "Alias for -femit-class-file"
+-msgstr "Други назив за -femit-class-file"
++#: java/lang-specs.h:35 java/lang-specs.h:36
++msgid "-femit-class-file should used along with -fsyntax-only"
++msgstr "-femit-class-file треба кориÑтити Ñамо уз -fsyntax-only"
+
+-#: java/lang.opt:133
+-msgid "Choose input encoding (defaults from your locale)"
+-msgstr "Изаберите улазно кодирање (подразумевано из локалитета)"
++#: config/cris/cris.h:207
++#, fuzzy
++msgid "Do not specify both -march=... and -mcpu=..."
++msgstr "не могу Ñе задати и -C и -o"
+
+-#: java/lang.opt:137
+-msgid "Set the extension directory path"
+-msgstr "ПоÑтави путању директоријума проширења"
++#: config/lynx.h:70
++msgid "cannot use mthreads and mlegacy-threads together"
++msgstr "не могу Ñе заједно кориÑтити mthreads и mlegacy-threads"
+
+-#: java/lang.opt:144
+-msgid "Input file is a file with a list of filenames to compile"
+-msgstr "Улазна датотека је датотека Ñа лиÑтом имена за компиловање"
++#: config/lynx.h:95
++msgid "cannot use mshared and static together"
++msgstr "не могу Ñе заједно кориÑтити mshared и static"
+
+-#: java/lang.opt:151
+-msgid "Always check for non gcj generated classes archives"
+-msgstr "Увек проверавај да ли Ñу архиве клаÑа Ñтворене ГЦЈом"
+-
+-#: java/lang.opt:155
+-msgid "Assume the runtime uses a hash table to map an object to its synchronization structure"
+-msgstr "ПретпоÑтави да машина кориÑти хрпу да мапира објекат у Ñвоју Ñинхронизациону Ñтруктуру"
+-
+-#: java/lang.opt:159
+-msgid "Generate instances of Class at runtime"
+-msgstr "Стварај примерке Class при извршавању"
+-
+-#: java/lang.opt:163
+-msgid "Use offset tables for virtual method calls"
+-msgstr "КориÑти табеле помака за позиве виртуелних метода"
+-
+-#: java/lang.opt:170
+-msgid "Assume native functions are implemented using JNI"
+-msgstr "ПретпоÑтави да Ñу урођене функције имплементиране ЈÐИјем"
+-
+-#: java/lang.opt:174
+-msgid "Enable optimization of static class initialization code"
+-msgstr "Укључи оптимизацију Ñтатичког кода за уÑпоÑтављање клаÑе"
+-
+-#: java/lang.opt:181
+-msgid "Reduce the amount of reflection meta-data generated"
+-msgstr "Смањи количину Ñтворених метаподатака рефлекције"
+-
+-#: java/lang.opt:185
+-msgid "Enable assignability checks for stores into object arrays"
+-msgstr "Укључи провере додељивоÑти за Ñладиштења у објектне низове"
+-
+-#: java/lang.opt:189
+-msgid "Generate code for the Boehm GC"
+-msgstr "Створи кôд за ГЦ Боем"
+-
+-#: java/lang.opt:193
+-msgid "Call a library routine to do integer divisions"
+-msgstr "Зови библиотечку рутину за целобројна дељења"
+-
+-#: java/lang.opt:197
+-msgid "Generated should be loaded by bootstrap loader"
+-msgstr "Створено треба учитавати Ñамоуздижућим учитавачем"
+-
+-#: java/lang.opt:201
+-msgid "Set the source language version"
+-msgstr ""
+-
+-#: java/lang.opt:205
+-#, fuzzy
+-msgid "Set the target VM version"
+-msgstr "ПоÑтави циљни тип ЦПУа"
+-
+-#: ada/lang.opt:96
+-msgid "Specify options to GNAT"
+-msgstr "Ðаведите опције ГÐÐТу"
+-
+ #: fortran/lang.opt:29
+ msgid "Add a directory for INCLUDE and MODULE searching"
+ msgstr "Додај директоријум за претрагу укључивања и модула"
+@@ -11568,7 +11531,7 @@
+ msgid "Append a second underscore if the name already contains an underscore"
+ msgstr "Додај другу подвлаку ако име већ Ñадржи подвлаку"
+
+-#: fortran/lang.opt:277 c.opt:714
++#: fortran/lang.opt:277 c.opt:718
+ msgid "Use the narrowest integer type possible for enumeration types"
+ msgstr "За набројиве типове кориÑти најужи целобројни тип могућ"
+
+@@ -11601,14 +11564,62 @@
+ msgid "Accept extensions to support legacy code"
+ msgstr "Прихвати проширења за подршку Ñтарог кода"
+
+-#: treelang/lang.opt:30
+-msgid "Trace lexical analysis"
+-msgstr "Прати лекÑичку анализу"
++#: config/mcore/mcore.opt:23
++msgid "Generate code for the M*Core M210"
++msgstr "Створи кôд за М*Језгро М210"
+
+-#: treelang/lang.opt:34
+-msgid "Trace the parsing process"
+-msgstr "Прати поÑтупак рашчлањивања"
++#: config/mcore/mcore.opt:27
++msgid "Generate code for the M*Core M340"
++msgstr "Створи кôд за М*Језгро М340"
+
++#: config/mcore/mcore.opt:31
++msgid "Set maximum alignment to 4"
++msgstr "ПоÑтави највеће равнање на 4"
++
++#: config/mcore/mcore.opt:35
++msgid "Force functions to be aligned to a 4 byte boundary"
++msgstr "Спроведи поравнање функција на 4-бајтну границу"
++
++#: config/mcore/mcore.opt:39
++msgid "Set maximum alignment to 8"
++msgstr "ПоÑтави највеће равнање на 8"
++
++#: config/mcore/mcore.opt:43 config/score/score.opt:23
++msgid "Generate big-endian code"
++msgstr "Створи кôд велике крајноÑти"
++
++#: config/mcore/mcore.opt:47
++msgid "Emit call graph information"
++msgstr "Емитуј информације за граф позива"
++
++#: config/mcore/mcore.opt:51
++msgid "Use the divide instruction"
++msgstr "КориÑти инÑтрукције дељења"
++
++#: config/mcore/mcore.opt:55
++msgid "Inline constants if it can be done in 2 insns or less"
++msgstr "Уткивај конÑтанте ако је могуће у 2 или мање ија"
++
++#: config/mcore/mcore.opt:59 config/score/score.opt:27
++msgid "Generate little-endian code"
++msgstr "Створи кôд мале крајноÑти"
++
++#: config/mcore/mcore.opt:67
++msgid "Use arbitrary sized immediates in bit operations"
++msgstr "КориÑти непоÑредне произвољне величине у битÑким операцијама"
++
++#: config/mcore/mcore.opt:71
++msgid "Prefer word accesses over byte accesses"
++msgstr "Боље приÑтуп речима него бајтовима"
++
++#: config/mcore/mcore.opt:75
++msgid "Set the maximum amount for a single stack increment operation"
++msgstr "ПоÑтави највећу вредноÑÑ‚ једне операције увећања Ñтека"
++
++#: config/mcore/mcore.opt:79
++msgid "Always treat bitfields as int-sized"
++msgstr "Увек Ñматрај да Ñу битÑка поља величина инта"
++
+ #: config/alpha/alpha.opt:23 config/i386/i386.opt:155
+ msgid "Do not use hardware fp"
+ msgstr "Ðе кориÑти хардверÑки ФП"
+@@ -11724,271 +11735,6 @@
+ msgid "Specify bit size of immediate TLS offsets"
+ msgstr "Ðаведите битÑку величину непоÑредних ТЛС помака"
+
+-#: config/frv/frv.opt:23
+-msgid "Use 4 media accumulators"
+-msgstr "КориÑти 4 медија-акумулатора"
+-
+-#: config/frv/frv.opt:27
+-msgid "Use 8 media accumulators"
+-msgstr "КориÑти 8 медија-акумулатора"
+-
+-#: config/frv/frv.opt:31
+-msgid "Enable label alignment optimizations"
+-msgstr "Укључи оптимизацију равнања етикета"
+-
+-#: config/frv/frv.opt:35
+-msgid "Dynamically allocate cc registers"
+-msgstr "Динамички резервиши цц региÑтре"
+-
+-#: config/frv/frv.opt:42
+-msgid "Set the cost of branches"
+-msgstr "ПоÑтави цену гранањâ"
+-
+-#: config/frv/frv.opt:46
+-msgid "Enable conditional execution other than moves/scc"
+-msgstr "Укључи уÑловно извршавања оÑим померања/Ñцц"
+-
+-#: config/frv/frv.opt:50
+-msgid "Change the maximum length of conditionally-executed sequences"
+-msgstr "Промени највећу дужину уÑловно извршаваних редоÑледа"
+-
+-#: config/frv/frv.opt:54
+-msgid "Change the number of temporary registers that are available to conditionally-executed sequences"
+-msgstr "Промени број привремених региÑтара доÑтупних уÑловно извршаваним редоÑледима"
+-
+-#: config/frv/frv.opt:58
+-msgid "Enable conditional moves"
+-msgstr "Укључи уÑловна померања"
+-
+-#: config/frv/frv.opt:62
+-msgid "Set the target CPU type"
+-msgstr "ПоÑтави циљни тип ЦПУа"
+-
+-#: config/frv/frv.opt:84
+-msgid "Use fp double instructions"
+-msgstr "КориÑти ФП двоÑтруке тачноÑти"
+-
+-#: config/frv/frv.opt:88
+-msgid "Change the ABI to allow double word insns"
+-msgstr "Промени ÐБИ да дозволи дворечне ије"
+-
+-#: config/frv/frv.opt:92 config/bfin/bfin.opt:73
+-msgid "Enable Function Descriptor PIC mode"
+-msgstr "Укључи ПИЦ режим опиÑника функција"
+-
+-#: config/frv/frv.opt:96
+-msgid "Just use icc0/fcc0"
+-msgstr "Само кориÑти icc0/fcc0"
+-
+-#: config/frv/frv.opt:100
+-msgid "Only use 32 FPRs"
+-msgstr "КориÑти Ñамо 32 ФПРа"
+-
+-#: config/frv/frv.opt:104
+-msgid "Use 64 FPRs"
+-msgstr "КориÑти 64 ФПРа"
+-
+-#: config/frv/frv.opt:108
+-msgid "Only use 32 GPRs"
+-msgstr "КориÑти Ñамо 32 ГПРа"
+-
+-#: config/frv/frv.opt:112
+-msgid "Use 64 GPRs"
+-msgstr "КориÑти 64 ГПРа"
+-
+-#: config/frv/frv.opt:116
+-msgid "Enable use of GPREL for read-only data in FDPIC"
+-msgstr "Укључи употребу ГПРЕЛа за Ñамо-за-читање податке у ФДПИЦу"
+-
+-#: config/frv/frv.opt:120 config/rs6000/rs6000.opt:112
+-#: config/pdp11/pdp11.opt:71
+-msgid "Use hardware floating point"
+-msgstr "КориÑти хардверÑки покретан зарез"
+-
+-#: config/frv/frv.opt:124 config/bfin/bfin.opt:77
+-msgid "Enable inlining of PLT in function calls"
+-msgstr "Укључи уткивање ПЛТа у позивима функција"
+-
+-#: config/frv/frv.opt:128
+-msgid "Enable PIC support for building libraries"
+-msgstr "Укључи ПИЦ подршку за грађење библиотека"
+-
+-#: config/frv/frv.opt:132
+-msgid "Follow the EABI linkage requirements"
+-msgstr "Прати ЕÐБИ захтеве повезивоÑти"
+-
+-#: config/frv/frv.opt:136
+-msgid "Disallow direct calls to global functions"
+-msgstr "Забрани непоÑредне позиве глобалних функција"
+-
+-#: config/frv/frv.opt:140
+-msgid "Use media instructions"
+-msgstr "КориÑти медија-инÑтрукције"
+-
+-#: config/frv/frv.opt:144
+-msgid "Use multiply add/subtract instructions"
+-msgstr "КориÑти инÑтрукције множење-додавање/одузимање"
+-
+-#: config/frv/frv.opt:148
+-msgid "Enable optimizing &&/|| in conditional execution"
+-msgstr "Укључи оптимизацију &&/|| у уÑловном извршавању"
+-
+-#: config/frv/frv.opt:152
+-msgid "Enable nested conditional execution optimizations"
+-msgstr "Укључи оптимизацију угњежденог уÑловног извршавања"
+-
+-#: config/frv/frv.opt:157
+-msgid "Do not mark ABI switches in e_flags"
+-msgstr "Ðе означавај промене ÐБИја у e_flags"
+-
+-#: config/frv/frv.opt:161
+-msgid "Remove redundant membars"
+-msgstr "Уклони Ñувишне мембарове"
+-
+-#: config/frv/frv.opt:165
+-msgid "Pack VLIW instructions"
+-msgstr "Пакуј ВЛИВ инÑтрукције"
+-
+-#: config/frv/frv.opt:169
+-msgid "Enable setting GPRs to the result of comparisons"
+-msgstr "Укључи поÑтављање ГПРова на резултате поређења"
+-
+-#: config/frv/frv.opt:173
+-msgid "Change the amount of scheduler lookahead"
+-msgstr "Промени раÑпон гледања унапред раÑпоређивача"
+-
+-#: config/frv/frv.opt:177 config/pa/pa.opt:104
+-msgid "Use software floating point"
+-msgstr "КориÑти ÑофтверÑки покретан зарез"
+-
+-#: config/frv/frv.opt:181
+-msgid "Assume a large TLS segment"
+-msgstr "ПретпоÑтави велики ТЛС Ñегмент"
+-
+-#: config/frv/frv.opt:185
+-msgid "Do not assume a large TLS segment"
+-msgstr "Ðе претпоÑтављај велики ТЛС Ñегмент"
+-
+-#: config/frv/frv.opt:190
+-msgid "Cause gas to print tomcat statistics"
+-msgstr "Ðека ГÐС иÑпиÑује томкет ÑтатиÑтику"
+-
+-#: config/frv/frv.opt:195
+-msgid "Link with the library-pic libraries"
+-msgstr "Повезуј Ñа ПИЦ библиотекама"
+-
+-#: config/frv/frv.opt:199
+-msgid "Allow branches to be packed with other instructions"
+-msgstr "Дозволи да гранања буду упакована Ñа другим инÑтрукцијама"
+-
+-#: config/mn10300/mn10300.opt:23
+-msgid "Target the AM33 processor"
+-msgstr "Циљај процеÑор ÐÐœ33"
+-
+-#: config/mn10300/mn10300.opt:27
+-msgid "Target the AM33/2.0 processor"
+-msgstr "Циљај процеÑор ÐÐœ33/2.0"
+-
+-#: config/mn10300/mn10300.opt:31
+-msgid "Work around hardware multiply bug"
+-msgstr "Заобиђи хардверÑку грешку у множењу"
+-
+-#: config/mn10300/mn10300.opt:36
+-msgid "Enable linker relaxations"
+-msgstr "Укључи релакÑације повезивача"
+-
+-#: config/mn10300/mn10300.opt:40
+-msgid "Return pointers in both a0 and d0"
+-msgstr "Враћај показиваче и у a0 и у d0"
+-
+-#: config/s390/tpf.opt:23
+-msgid "Enable TPF-OS tracing code"
+-msgstr "Укључи кôд за праћење ТПФ-ОСа"
+-
+-#: config/s390/tpf.opt:27
+-msgid "Specify main object for TPF-OS"
+-msgstr "Ðаведите главни објекат за ТПФ-ОС"
+-
+-#: config/s390/s390.opt:23
+-msgid "31 bit ABI"
+-msgstr "31-битни ÐБИ"
+-
+-#: config/s390/s390.opt:27
+-msgid "64 bit ABI"
+-msgstr "64-битни ÐБИ"
+-
+-#: config/s390/s390.opt:31 config/i386/i386.opt:59 config/spu/spu.opt:60
+-msgid "Generate code for given CPU"
+-msgstr "Створи кôд за дати ЦПУ"
+-
+-#: config/s390/s390.opt:35
+-msgid "Maintain backchain pointer"
+-msgstr "Одржавај показивач контраланца"
+-
+-#: config/s390/s390.opt:39
+-msgid "Additional debug prints"
+-msgstr "Додатно иÑправљачко иÑпиÑивање"
+-
+-#: config/s390/s390.opt:43
+-msgid "ESA/390 architecture"
+-msgstr "Ðрхитектура ЕСÐ/390"
+-
+-#: config/s390/s390.opt:47
+-msgid "Enable fused multiply/add instructions"
+-msgstr "Укључи инÑтрукције Ñтопљеног множења-додавања"
+-
+-#: config/s390/s390.opt:51
+-#, fuzzy
+-msgid "Enable decimal floating point hardware support"
+-msgstr "децимални покретни зарез није подржан за овај циљ"
+-
+-#: config/s390/s390.opt:55
+-#, fuzzy
+-msgid "Enable hardware floating point"
+-msgstr "КориÑти хардверÑки покретан зарез"
+-
+-#: config/s390/s390.opt:67
+-msgid "Use packed stack layout"
+-msgstr "КориÑти раÑпоред пакованог Ñтека"
+-
+-#: config/s390/s390.opt:71
+-msgid "Use bras for executable < 64k"
+-msgstr "КориÑти bras за извршне датотеке < 64k"
+-
+-#: config/s390/s390.opt:75
+-#, fuzzy
+-msgid "Disable hardware floating point"
+-msgstr "КориÑти хардверÑки покретан зарез"
+-
+-#: config/s390/s390.opt:79
+-msgid "Set the max. number of bytes which has to be left to stack size before a trap instruction is triggered"
+-msgstr "ПоÑтави највећи број бајтова који Ñе мора одложити на Ñтек пре него што Ñе окине инÑтрукција клопке"
+-
+-#: config/s390/s390.opt:83
+-msgid "Emit extra code in the function prologue in order to trap if the stack size exceeds the given limit"
+-msgstr "Емитуј додатни кôд у прологу функције ради клопке кад величина Ñтека премашује дато ограничење"
+-
+-#: config/s390/s390.opt:87 config/ia64/ia64.opt:97 config/sparc/sparc.opt:95
+-#: config/i386/i386.opt:183 config/rs6000/rs6000.opt:226 config/spu/spu.opt:64
+-msgid "Schedule code for given CPU"
+-msgstr "РаÑпореди кôд за дати ЦПУ"
+-
+-#: config/s390/s390.opt:91
+-msgid "mvcle use"
+-msgstr "Употреба mvcle"
+-
+-#: config/s390/s390.opt:95
+-msgid "Warn if a function uses alloca or creates an array with dynamic size"
+-msgstr "Упозори ако функција кориÑти alloca или прави низ динамичке величине"
+-
+-#: config/s390/s390.opt:99
+-msgid "Warn if a single function's framesize exceeds the given framesize"
+-msgstr "Упозори ако величина оквира једне функције премашује дату величину"
+-
+-#: config/s390/s390.opt:103
+-msgid "z/Architecture"
+-msgstr "Ðрхитектура z/"
+-
+ #: config/ia64/ilp32.opt:3
+ msgid "Generate ILP32 code"
+ msgstr "Створи ИЛП32 кôд"
+@@ -12077,10 +11823,16 @@
+ msgid "Enable earlier placing stop bits for better scheduling"
+ msgstr "Укључи раније поÑтављање битова зауÑтављања ради бољег раÑпоређивања"
+
+-#: config/ia64/ia64.opt:89 config/spu/spu.opt:56 config/pa/pa.opt:51
++#: config/ia64/ia64.opt:89 config/pa/pa.opt:51 config/spu/spu.opt:56
+ msgid "Specify range of registers to make fixed"
+ msgstr "Ðаведите опÑег региÑтара које треба фикÑирати"
+
++#: config/ia64/ia64.opt:97 config/i386/i386.opt:183
++#: config/rs6000/rs6000.opt:226 config/spu/spu.opt:64 config/s390/s390.opt:87
++#: config/sparc/sparc.opt:95
++msgid "Schedule code for given CPU"
++msgstr "РаÑпореди кôд за дати ЦПУ"
++
+ #: config/ia64/ia64.opt:101
+ msgid "Use data speculation before reload"
+ msgstr "КориÑти Ñпекулацију података пре поновног учитавања"
+@@ -12129,340 +11881,296 @@
+ msgid "Count speculative dependencies while calculating priority of instructions"
+ msgstr "Преброј Ñпекулативне завиÑноÑти током израчунавања приоритета инÑтрукција"
+
+-#: config/m32c/m32c.opt:24 config/bfin/bfin.opt:23 config/mt/mt.opt:27
+-msgid "Use simulator runtime"
+-msgstr "КориÑти ÑимулаторÑко извршавање"
++#: config/xtensa/xtensa.opt:23
++msgid "Use CONST16 instruction to load constants"
++msgstr "КориÑти КОÐСТ16 инÑтрукцију за учитавање конÑтанти"
+
+-#: config/m32c/m32c.opt:28
+-msgid "Compile code for R8C variants"
+-msgstr "Компилуј кôд за варијанте Р8Ц"
++#: config/xtensa/xtensa.opt:27
++msgid "Enable fused multiply/add and multiply/subtract FP instructions"
++msgstr "Укључи ФП инÑтрукције Ñтопљеног множења-додавања и множења-одузимања"
+
+-#: config/m32c/m32c.opt:32
+-msgid "Compile code for M16C variants"
+-msgstr "Компилуј кôд за варијанте М16Ц"
++#: config/xtensa/xtensa.opt:31
++msgid "Use indirect CALLXn instructions for large programs"
++msgstr "КориÑти поÑредне инÑтрукције CALLXn за велике програме"
+
+-#: config/m32c/m32c.opt:36
+-msgid "Compile code for M32CM variants"
+-msgstr "Компилуј кôд за варијанте М32ЦМ"
++#: config/xtensa/xtensa.opt:35
++msgid "Automatically align branch targets to reduce branch penalties"
++msgstr "ÐутоматÑки равнај циљеве гранања ради Ñмањења губитака при грањању"
+
+-#: config/m32c/m32c.opt:40
+-msgid "Compile code for M32C variants"
+-msgstr "Компилуј кôд за варијанте М32Ц"
++#: config/xtensa/xtensa.opt:39
++msgid "Intersperse literal pools with code in the text section"
++msgstr "Умешај депое доÑловних ниÑки Ñа кôдом у текÑтуалном одељку"
+
+-#: config/m32c/m32c.opt:44
+-msgid "Number of memreg bytes (default: 16, range: 0..16)"
+-msgstr "Број бајтова мемрегова (подразумевано: 16, опÑег: 0..16)"
++#: config/pa/pa.opt:23 config/pa/pa.opt:76 config/pa/pa.opt:84
++msgid "Generate PA1.0 code"
++msgstr "Створи ПÐ1.0 кôд"
+
+-#: config/sparc/little-endian.opt:23
+-msgid "Generate code for little-endian"
+-msgstr "Створи кôд за малу крајноÑÑ‚"
++#: config/pa/pa.opt:27 config/pa/pa.opt:88 config/pa/pa.opt:108
++msgid "Generate PA1.1 code"
++msgstr "Створи ПÐ1.1 кôд"
+
+-#: config/sparc/little-endian.opt:27
+-msgid "Generate code for big-endian"
+-msgstr "Створи кôд за велику крајноÑÑ‚"
++#: config/pa/pa.opt:31 config/pa/pa.opt:92
++msgid "Generate PA2.0 code (requires binutils 2.10 or later)"
++msgstr "Створи ПÐ2.0 кôд (захтева binutils 2.10 или новији)"
+
+-#: config/sparc/sparc.opt:23 config/sparc/sparc.opt:27
+-msgid "Use hardware FP"
+-msgstr "КориÑти хардверÑки ФП"
++#: config/pa/pa.opt:35
++msgid "Generate code for huge switch statements"
++msgstr "Створи кôд за огромне наредбе прекидача"
+
+-#: config/sparc/sparc.opt:31
+-msgid "Do not use hardware FP"
+-msgstr "Ðе кориÑти хардверÑки ФП"
++#: config/pa/pa.opt:39
++msgid "Disable FP regs"
++msgstr "ИÑкључи ФП региÑтре"
+
+-#: config/sparc/sparc.opt:35
+-msgid "Assume possible double misalignment"
+-msgstr "ПретпоÑтави могуће двоÑтруко неравнање"
++#: config/pa/pa.opt:43
++msgid "Disable indexed addressing"
++msgstr "ИÑкључи индекÑно адреÑирање"
+
+-#: config/sparc/sparc.opt:39
+-msgid "Pass -assert pure-text to linker"
+-msgstr "ПроÑледи -assert pure-text повезивачу"
++#: config/pa/pa.opt:47
++msgid "Generate fast indirect calls"
++msgstr "Стварај брзе поÑредне позиве"
+
+-#: config/sparc/sparc.opt:43
+-msgid "Use ABI reserved registers"
+-msgstr "КориÑти региÑтре резервиÑане ÐБИјем"
++#: config/pa/pa.opt:55
++msgid "Assume code will be assembled by GAS"
++msgstr "ПретпоÑтави да ће кôд ÑаÑтавити ГÐС"
+
+-#: config/sparc/sparc.opt:47
+-msgid "Use hardware quad FP instructions"
+-msgstr "КориÑти хардверÑке четворне ФП инÑтрукције"
++#: config/pa/pa.opt:59
++msgid "Put jumps in call delay slots"
++msgstr "Стављај Ñкокове у жлебове заÑтоја позива"
+
+-#: config/sparc/sparc.opt:51
+-msgid "Do not use hardware quad fp instructions"
+-msgstr "Ðе кориÑти хардверÑке четворне ФП инÑтрукције"
++#: config/pa/pa.opt:64
++msgid "Enable linker optimizations"
++msgstr "Укључи оптимизације повезивача"
+
+-#: config/sparc/sparc.opt:55
+-msgid "Compile for V8+ ABI"
+-msgstr "Компилуј за ÐБИ Ð’8+"
++#: config/pa/pa.opt:68
++msgid "Always generate long calls"
++msgstr "Увек Ñтварај дуге позиве"
+
+-#: config/sparc/sparc.opt:59
+-msgid "Use UltraSPARC Visual Instruction Set extensions"
+-msgstr "КориÑти Ñкуп визуелних инÑтрукција (ВИС) УлтраСПÐРКа"
++#: config/pa/pa.opt:72
++msgid "Emit long load/store sequences"
++msgstr "Емитуј дуге редоÑледе учитавања/упиÑивања"
+
+-#: config/sparc/sparc.opt:63
+-msgid "Pointers are 64-bit"
+-msgstr "Показивачи Ñу 64-битни"
++#: config/pa/pa.opt:80
++msgid "Disable space regs"
++msgstr "ИÑкључи региÑтре размака"
+
+-#: config/sparc/sparc.opt:67
+-msgid "Pointers are 32-bit"
+-msgstr "Показивачи Ñу 32-битни"
++#: config/pa/pa.opt:96
++msgid "Use portable calling conventions"
++msgstr "КориÑти преноÑиве конвенције позивања"
+
+-#: config/sparc/sparc.opt:71
+-msgid "Use 64-bit ABI"
+-msgstr "КориÑти 64-битни ÐБИ"
++#: config/pa/pa.opt:100
++msgid "Specify CPU for scheduling purposes. Valid arguments are 700, 7100, 7100LC, 7200, 7300, and 8000"
++msgstr "Одредите ЦПУ ради раÑпоређивања. Могући аргументи Ñу 700, 7100, 7100LC, 7200, 7300, и 8000"
+
+-#: config/sparc/sparc.opt:75
+-msgid "Use 32-bit ABI"
+-msgstr "КориÑти 32-битни ÐБИ"
++#: config/pa/pa.opt:104 config/frv/frv.opt:177
++msgid "Use software floating point"
++msgstr "КориÑти ÑофтверÑки покретан зарез"
+
+-#: config/sparc/sparc.opt:79
+-msgid "Use stack bias"
+-msgstr "КориÑти нагињање Ñтека"
++#: config/pa/pa.opt:112
++msgid "Do not disable space regs"
++msgstr "Ðе иÑкључуј региÑтре размака"
+
+-#: config/sparc/sparc.opt:83
+-msgid "Use structs on stronger alignment for double-word copies"
+-msgstr "КориÑти Ñтруктуре на јачем равнању за дворечне копије"
++#: config/pa/pa-hpux1111.opt:23 config/pa/pa-hpux1010.opt:23
++#: config/pa/pa-hpux.opt:27
++msgid "Specify UNIX standard for predefines and linking"
++msgstr "Одредите Ñтандард УникÑа за предефиниције и повезивање"
+
+-#: config/sparc/sparc.opt:87
+-msgid "Optimize tail call instructions in assembler and linker"
+-msgstr "Оптимизуј инÑтрукције репних позива у аÑемблеру и повезивачу"
++#: config/pa/pa64-hpux.opt:23
++msgid "Assume code will be linked by GNU ld"
++msgstr "ПретпоÑтави да ће кôд повезивати Гнуов ld"
+
+-#: config/sparc/sparc.opt:91 config/rs6000/rs6000.opt:222
+-msgid "Use features of and schedule code for given CPU"
+-msgstr "КориÑти могућноÑти и раÑпоређуј кôд за дати ЦПУ"
++#: config/pa/pa64-hpux.opt:27
++msgid "Assume code will be linked by HP ld"
++msgstr "ПретпоÑтави да ће кôд повезивати ХПов ld"
+
+-#: config/sparc/sparc.opt:99
+-msgid "Use given SPARC-V9 code model"
+-msgstr "КориÑти дати модел кôда СПÐРКа Ð’9"
++#: config/pa/pa-hpux.opt:23
++msgid "Generate cpp defines for server IO"
++msgstr "Стварај Ц++ дефиниције за У/И Ñервера"
+
+-#: config/sparc/sparc.opt:103
+-msgid "Enable strict 32-bit psABI struct return checking."
+-msgstr "Укључи Ñтрогу проверу враћања Ñтруктуре за 32-битни пÑÐБИ."
++#: config/pa/pa-hpux.opt:31
++msgid "Generate cpp defines for workstation IO"
++msgstr "Стварај Ц++ дефиниције за У/И радне Ñтанице"
+
+-#: config/m32r/m32r.opt:23
+-msgid "Compile for the m32rx"
+-msgstr "Компилуј за m32rx"
++#: config/frv/frv.opt:23
++msgid "Use 4 media accumulators"
++msgstr "КориÑти 4 медија-акумулатора"
+
+-#: config/m32r/m32r.opt:27
+-msgid "Compile for the m32r2"
+-msgstr "Компилуј за m32r2"
++#: config/frv/frv.opt:27
++msgid "Use 8 media accumulators"
++msgstr "КориÑти 8 медија-акумулатора"
+
+-#: config/m32r/m32r.opt:31
+-msgid "Compile for the m32r"
+-msgstr "Компилуј за m32r"
++#: config/frv/frv.opt:31
++msgid "Enable label alignment optimizations"
++msgstr "Укључи оптимизацију равнања етикета"
+
+-#: config/m32r/m32r.opt:35
+-msgid "Align all loops to 32 byte boundary"
+-msgstr "Поравнај Ñве петље на 32-бајтну границу"
++#: config/frv/frv.opt:35
++msgid "Dynamically allocate cc registers"
++msgstr "Динамички резервиши цц региÑтре"
+
+-#: config/m32r/m32r.opt:39
+-msgid "Prefer branches over conditional execution"
+-msgstr "Боље гранања него уÑловно извршавање"
++#: config/frv/frv.opt:42
++msgid "Set the cost of branches"
++msgstr "ПоÑтави цену гранањâ"
+
+-#: config/m32r/m32r.opt:43
+-msgid "Give branches their default cost"
+-msgstr "Дај гранањима њихову подразумевану цену"
++#: config/frv/frv.opt:46
++msgid "Enable conditional execution other than moves/scc"
++msgstr "Укључи уÑловно извршавања оÑим померања/Ñцц"
+
+-#: config/m32r/m32r.opt:47
+-msgid "Display compile time statistics"
+-msgstr "Прикажи ÑтатиÑтике за време компиловања"
++#: config/frv/frv.opt:50
++msgid "Change the maximum length of conditionally-executed sequences"
++msgstr "Промени највећу дужину уÑловно извршаваних редоÑледа"
+
+-#: config/m32r/m32r.opt:51
+-msgid "Specify cache flush function"
+-msgstr "Ðаведите функцију за Ñпирање оÑтаве"
++#: config/frv/frv.opt:54
++msgid "Change the number of temporary registers that are available to conditionally-executed sequences"
++msgstr "Промени број привремених региÑтара доÑтупних уÑловно извршаваним редоÑледима"
+
+-#: config/m32r/m32r.opt:55
+-msgid "Specify cache flush trap number"
+-msgstr "Ðаведите број клопке за Ñпирање оÑтаве"
++#: config/frv/frv.opt:58
++msgid "Enable conditional moves"
++msgstr "Укључи уÑловна померања"
+
+-#: config/m32r/m32r.opt:59
+-msgid "Only issue one instruction per cycle"
+-msgstr "Издај Ñамо једну инÑтрукцију по циклуÑу"
++#: config/frv/frv.opt:62
++msgid "Set the target CPU type"
++msgstr "ПоÑтави циљни тип ЦПУа"
+
+-#: config/m32r/m32r.opt:63
+-msgid "Allow two instructions to be issued per cycle"
+-msgstr "Дозволи издавање две инÑтрукције по циклуÑу"
++#: config/frv/frv.opt:84
++msgid "Use fp double instructions"
++msgstr "КориÑти ФП двоÑтруке тачноÑти"
+
+-#: config/m32r/m32r.opt:67
+-msgid "Code size: small, medium or large"
+-msgstr "Величина кôда: small, medium или large"
++#: config/frv/frv.opt:88
++msgid "Change the ABI to allow double word insns"
++msgstr "Промени ÐБИ да дозволи дворечне ије"
+
+-#: config/m32r/m32r.opt:71
+-msgid "Don't call any cache flush functions"
+-msgstr "Ðе позивај функције за Ñпирање оÑтаве"
++#: config/frv/frv.opt:92 config/bfin/bfin.opt:73
++msgid "Enable Function Descriptor PIC mode"
++msgstr "Укључи ПИЦ режим опиÑника функција"
+
+-#: config/m32r/m32r.opt:75
+-msgid "Don't call any cache flush trap"
+-msgstr "Ðе позивај клопке за Ñпирање оÑтаве"
++#: config/frv/frv.opt:96
++msgid "Just use icc0/fcc0"
++msgstr "Само кориÑти icc0/fcc0"
+
+-#: config/m32r/m32r.opt:82
+-msgid "Small data area: none, sdata, use"
+-msgstr "Мала облаÑÑ‚ података: none, sdata, use"
++#: config/frv/frv.opt:100
++msgid "Only use 32 FPRs"
++msgstr "КориÑти Ñамо 32 ФПРа"
+
+-#: config/m68k/m68k.opt:23
+-msgid "Generate code for a 520X"
+-msgstr "Створи кôд за 520X"
++#: config/frv/frv.opt:104
++msgid "Use 64 FPRs"
++msgstr "КориÑти 64 ФПРа"
+
+-#: config/m68k/m68k.opt:27
+-msgid "Generate code for a 5206e"
+-msgstr "Створи кôд за 5206e"
++#: config/frv/frv.opt:108
++msgid "Only use 32 GPRs"
++msgstr "КориÑти Ñамо 32 ГПРа"
+
+-#: config/m68k/m68k.opt:31
+-msgid "Generate code for a 528x"
+-msgstr "Створи кôд за 528x"
++#: config/frv/frv.opt:112
++msgid "Use 64 GPRs"
++msgstr "КориÑти 64 ГПРа"
+
+-#: config/m68k/m68k.opt:35
+-msgid "Generate code for a 5307"
+-msgstr "Створи кôд за 5307"
++#: config/frv/frv.opt:116
++msgid "Enable use of GPREL for read-only data in FDPIC"
++msgstr "Укључи употребу ГПРЕЛа за Ñамо-за-читање податке у ФДПИЦу"
+
+-#: config/m68k/m68k.opt:39
+-msgid "Generate code for a 5407"
+-msgstr "Створи кôд за 5407"
++#: config/frv/frv.opt:120 config/rs6000/rs6000.opt:112
++#: config/pdp11/pdp11.opt:71
++msgid "Use hardware floating point"
++msgstr "КориÑти хардверÑки покретан зарез"
+
+-#: config/m68k/m68k.opt:43 config/m68k/m68k.opt:104
+-msgid "Generate code for a 68000"
+-msgstr "Створи кôд за 68000"
++#: config/frv/frv.opt:124 config/bfin/bfin.opt:77
++msgid "Enable inlining of PLT in function calls"
++msgstr "Укључи уткивање ПЛТа у позивима функција"
+
+-#: config/m68k/m68k.opt:47
+-#, fuzzy
+-msgid "Generate code for a 68010"
+-msgstr "Створи кôд за 68000"
++#: config/frv/frv.opt:128
++msgid "Enable PIC support for building libraries"
++msgstr "Укључи ПИЦ подршку за грађење библиотека"
+
+-#: config/m68k/m68k.opt:51 config/m68k/m68k.opt:108
+-msgid "Generate code for a 68020"
+-msgstr "Створи кôд за 68020"
++#: config/frv/frv.opt:132
++msgid "Follow the EABI linkage requirements"
++msgstr "Прати ЕÐБИ захтеве повезивоÑти"
+
+-#: config/m68k/m68k.opt:55
+-msgid "Generate code for a 68040, without any new instructions"
+-msgstr "Створи кôд за 68040, без икаквих нових инÑтрукција"
++#: config/frv/frv.opt:136
++msgid "Disallow direct calls to global functions"
++msgstr "Забрани непоÑредне позиве глобалних функција"
+
+-#: config/m68k/m68k.opt:59
+-msgid "Generate code for a 68060, without any new instructions"
+-msgstr "Створи кôд за 68060, без икаквих нових инÑтрукција"
++#: config/frv/frv.opt:140
++msgid "Use media instructions"
++msgstr "КориÑти медија-инÑтрукције"
+
+-#: config/m68k/m68k.opt:63
+-msgid "Generate code for a 68030"
+-msgstr "Створи кôд за 68030"
++#: config/frv/frv.opt:144
++msgid "Use multiply add/subtract instructions"
++msgstr "КориÑти инÑтрукције множење-додавање/одузимање"
+
+-#: config/m68k/m68k.opt:67
+-msgid "Generate code for a 68040"
+-msgstr "Створи кôд за 68040"
++#: config/frv/frv.opt:148
++msgid "Enable optimizing &&/|| in conditional execution"
++msgstr "Укључи оптимизацију &&/|| у уÑловном извршавању"
+
+-#: config/m68k/m68k.opt:71
+-msgid "Generate code for a 68060"
+-msgstr "Створи кôд за 68060"
++#: config/frv/frv.opt:152
++msgid "Enable nested conditional execution optimizations"
++msgstr "Укључи оптимизацију угњежденог уÑловног извршавања"
+
+-#: config/m68k/m68k.opt:75
+-msgid "Generate code for a 68302"
+-msgstr "Створи кôд за 68302"
++#: config/frv/frv.opt:157
++msgid "Do not mark ABI switches in e_flags"
++msgstr "Ðе означавај промене ÐБИја у e_flags"
+
+-#: config/m68k/m68k.opt:79
+-msgid "Generate code for a 68332"
+-msgstr "Створи кôд за 68332"
++#: config/frv/frv.opt:161
++msgid "Remove redundant membars"
++msgstr "Уклони Ñувишне мембарове"
+
+-#: config/m68k/m68k.opt:84
+-msgid "Generate code for a 68851"
+-msgstr "Створи кôд за 68851"
++#: config/frv/frv.opt:165
++msgid "Pack VLIW instructions"
++msgstr "Пакуј ВЛИВ инÑтрукције"
+
+-#: config/m68k/m68k.opt:88
+-msgid "Generate code that uses 68881 floating-point instructions"
+-msgstr "Створи кôд који кориÑти инÑтрукције од 68881 за рачунање у покретном зарезу"
++#: config/frv/frv.opt:169
++msgid "Enable setting GPRs to the result of comparisons"
++msgstr "Укључи поÑтављање ГПРова на резултате поређења"
+
+-#: config/m68k/m68k.opt:92
+-msgid "Align variables on a 32-bit boundary"
+-msgstr "Поравнај променљиве на 32-бајтну границу"
++#: config/frv/frv.opt:173
++msgid "Change the amount of scheduler lookahead"
++msgstr "Промени раÑпон гледања унапред раÑпоређивача"
+
+-#: config/m68k/m68k.opt:96 config/arm/arm.opt:49 config/score/score.opt:63
+-msgid "Specify the name of the target architecture"
+-msgstr "Ðаведите име циљне архитектуре"
++#: config/frv/frv.opt:181
++msgid "Assume a large TLS segment"
++msgstr "ПретпоÑтави велики ТЛС Ñегмент"
+
+-#: config/m68k/m68k.opt:100
+-msgid "Use the bit-field instructions"
+-msgstr "КориÑти инÑтрукције битÑког нивоа"
++#: config/frv/frv.opt:185
++msgid "Do not assume a large TLS segment"
++msgstr "Ðе претпоÑтављај велики ТЛС Ñегмент"
+
+-#: config/m68k/m68k.opt:112
+-msgid "Generate code for a ColdFire v4e"
+-msgstr "Створи кôд за Колдфајер в4e"
++#: config/frv/frv.opt:190
++msgid "Cause gas to print tomcat statistics"
++msgstr "Ðека ГÐС иÑпиÑује томкет ÑтатиÑтику"
+
+-#: config/m68k/m68k.opt:116
+-#, fuzzy
+-msgid "Specify the target CPU"
+-msgstr "Изаберите циљни МЦУ"
++#: config/frv/frv.opt:195
++msgid "Link with the library-pic libraries"
++msgstr "Повезуј Ñа ПИЦ библиотекама"
+
+-#: config/m68k/m68k.opt:120
+-msgid "Generate code for a cpu32"
+-msgstr "Створи кôд за cpu32"
++#: config/frv/frv.opt:199
++msgid "Allow branches to be packed with other instructions"
++msgstr "Дозволи да гранања буду упакована Ñа другим инÑтрукцијама"
+
+-#: config/m68k/m68k.opt:124
+-#, fuzzy
+-msgid "Use hardware division instructions on ColdFire"
+-msgstr "КориÑти хардверÑке четворне ФП инÑтрукције"
++#: config/i386/cygming.opt:23
++msgid "Create console application"
++msgstr "Ðаправи терминалÑки програм"
+
+-#: config/m68k/m68k.opt:128
+-#, fuzzy
+-msgid "Generate code for a Fido A"
++#: config/i386/cygming.opt:27
++msgid "Use the Cygwin interface"
++msgstr "КориÑти Ñуљеље Сигвина"
++
++#: config/i386/cygming.opt:31
++msgid "Generate code for a DLL"
+ msgstr "Створи кôд за ДЛЛ"
+
+-#: config/m68k/m68k.opt:132
+-#, fuzzy
+-msgid "Generate code which uses hardware floating point instructions"
+-msgstr "Створи кôд који кориÑти инÑтрукције од 68881 за рачунање у покретном зарезу"
++#: config/i386/cygming.opt:35
++msgid "Ignore dllimport for functions"
++msgstr "Игнориши dllimport за функције"
+
+-#: config/m68k/m68k.opt:136
+-msgid "Enable ID based shared library"
+-msgstr "Укључи дељене библиотеке на оÑнову ИДа"
++#: config/i386/cygming.opt:39
++msgid "Use Mingw-specific thread support"
++msgstr "КориÑти подршку нити поÑебну за Мингв"
+
+-#: config/m68k/m68k.opt:140
+-msgid "Do not use the bit-field instructions"
+-msgstr "Ðе кориÑти инÑтрукције битÑког нивоа"
++#: config/i386/cygming.opt:43
++msgid "Set Windows defines"
++msgstr "ПоÑтави дефиниције за Виндоуз"
+
+-#: config/m68k/m68k.opt:144
+-msgid "Use normal calling convention"
+-msgstr "КориÑти нормалну конвенцију позивања"
++#: config/i386/cygming.opt:47
++msgid "Create GUI application"
++msgstr "Ðаправи ГУИ програм"
+
+-#: config/m68k/m68k.opt:148
+-msgid "Consider type 'int' to be 32 bits wide"
+-msgstr "Сматрај да тип ‘int’ има 32 бита"
+-
+-#: config/m68k/m68k.opt:152
+-msgid "Generate pc-relative code"
+-msgstr "Прави ПЦ-релативан кôд"
+-
+-#: config/m68k/m68k.opt:156
+-msgid "Use different calling convention using 'rtd'"
+-msgstr "КориÑти различиту конвенцију позивања кориÑтећи ‘rtd’"
+-
+-#: config/m68k/m68k.opt:160 config/bfin/bfin.opt:61
+-msgid "Enable separate data segment"
+-msgstr "Укључи раздвојени Ñегмент података"
+-
+-#: config/m68k/m68k.opt:164 config/bfin/bfin.opt:57
+-msgid "ID of shared library to build"
+-msgstr "ИД дељене библиотеке за градњу"
+-
+-#: config/m68k/m68k.opt:168
+-msgid "Consider type 'int' to be 16 bits wide"
+-msgstr "Сматрај да тип ‘int’ има 16 битова"
+-
+-#: config/m68k/m68k.opt:172
+-msgid "Generate code with library calls for floating point"
+-msgstr "Створи кôд Ñа библиотечким позивима за покретни зарез"
+-
+-#: config/m68k/m68k.opt:176
+-msgid "Do not use unaligned memory references"
+-msgstr "Ðе кориÑти непоравнате меморијÑке упућиваче"
+-
+-#: config/m68k/m68k.opt:180
+-#, fuzzy
+-msgid "Tune for the specified target CPU or architecture"
+-msgstr "Ðаведите име циљне архитектуре"
+-
+-#: config/m68k/ieee.opt:24 config/i386/i386.opt:95
+-msgid "Use IEEE math for fp comparisons"
+-msgstr "КориÑти ИЕЕЕ математику за ФП поређења"
+-
+-#: config/i386/djgpp.opt:25
+-msgid "Ignored (obsolete)"
+-msgstr "ИгнориÑано (заÑтарело)"
+-
+ #: config/i386/i386.opt:23
+ msgid "sizeof(long double) is 16"
+ msgstr "sizeof(long double) је 16"
+@@ -12499,6 +12207,10 @@
+ msgid "Align destination of the string operations"
+ msgstr "Поравнај одредиште операција над ниÑкама"
+
++#: config/i386/i386.opt:59 config/spu/spu.opt:60 config/s390/s390.opt:31
++msgid "Generate code for given CPU"
++msgstr "Створи кôд за дати ЦПУ"
++
+ #: config/i386/i386.opt:63
+ msgid "Use given assembler dialect"
+ msgstr "КориÑти дати дијалект аÑемблера"
+@@ -12527,6 +12239,10 @@
+ msgid "Generate floating point mathematics using given instruction set"
+ msgstr "Стварај математику у покретном зарезу кориÑтећи дати Ñкуп инÑтрукција"
+
++#: config/i386/i386.opt:95 config/m68k/ieee.opt:24
++msgid "Use IEEE math for fp comparisons"
++msgstr "КориÑти ИЕЕЕ математику за ФП поређења"
++
+ #: config/i386/i386.opt:99
+ msgid "Inline all known string operations"
+ msgstr "Уткај Ñве познате операције над ниÑкама"
+@@ -12685,58 +12401,397 @@
+ msgid "Enable automatic generation of fused floating point multiply-add instructions"
+ msgstr "Стварај инÑтрукције множење-додавање у покретном зарезу"
+
+-#: config/i386/cygming.opt:23
+-msgid "Create console application"
+-msgstr "Ðаправи терминалÑки програм"
++#: config/i386/sco5.opt:24
++msgid "Generate ELF output"
++msgstr "Створи ЕЛФ излаз"
+
+-#: config/i386/cygming.opt:27
+-msgid "Use the Cygwin interface"
+-msgstr "КориÑти Ñуљеље Сигвина"
++#: config/i386/djgpp.opt:25
++msgid "Ignored (obsolete)"
++msgstr "ИгнориÑано (заÑтарело)"
+
+-#: config/i386/cygming.opt:31
+-msgid "Generate code for a DLL"
+-msgstr "Створи кôд за ДЛЛ"
++#: config/iq2000/iq2000.opt:23 config/mt/mt.opt:55
++msgid "Specify CPU for code generation purposes"
++msgstr "Ðаведите ЦПУ у Ñврху Ñтварања кода"
+
+-#: config/i386/cygming.opt:35
+-msgid "Ignore dllimport for functions"
+-msgstr "Игнориши dllimport за функције"
++#: config/iq2000/iq2000.opt:27
++msgid "Specify CPU for scheduling purposes"
++msgstr "Одредите ЦПУ ради раÑпоређивања"
+
+-#: config/i386/cygming.opt:39
+-msgid "Use Mingw-specific thread support"
+-msgstr "КориÑти подршку нити поÑебну за Мингв"
++#: config/iq2000/iq2000.opt:31 config/mips/mips.opt:97
++msgid "Use ROM instead of RAM"
++msgstr "КориÑти РОМ умеÑто РÐМа"
+
+-#: config/i386/cygming.opt:43
+-msgid "Set Windows defines"
+-msgstr "ПоÑтави дефиниције за Виндоуз"
++#: config/iq2000/iq2000.opt:35
++msgid "Use GP relative sdata/sbss sections"
++msgstr "КориÑти одељке sdata/sbss релативне према GP"
+
+-#: config/i386/cygming.opt:47
+-msgid "Create GUI application"
+-msgstr "Ðаправи ГУИ програм"
++#: config/iq2000/iq2000.opt:40
++msgid "No default crt0.o"
++msgstr "Без подразумеване crt0.o"
+
+-#: config/i386/sco5.opt:24
+-msgid "Generate ELF output"
+-msgstr "Створи ЕЛФ излаз"
++#: config/iq2000/iq2000.opt:44 config/mips/mips.opt:265
++msgid "Put uninitialized constants in ROM (needs -membedded-data)"
++msgstr "Стави неуÑпоÑтављене конÑтанте у РОМу (захтева -membedded-data)"
+
+-#: config/rs6000/aix41.opt:24 config/rs6000/aix64.opt:32
+-msgid "Support message passing with the Parallel Environment"
+-msgstr "Подржи проÑлеђивање помоћу паралелног окружења"
++#: config/arm/arm.opt:23
++msgid "Specify an ABI"
++msgstr "Ðаведите ÐБИ"
+
+-#: config/rs6000/aix.opt:24 config/rs6000/rs6000.opt:147
+-msgid "Conform more closely to IBM XLC semantics"
+-msgstr "Поштуј ближе Ñемантику ИБМовог ИкÑЛЦа"
++#: config/arm/arm.opt:27
++msgid "Generate a call to abort if a noreturn function returns"
++msgstr "Створи позив за прекидање ако Ñе неповратна функција врати"
+
+-#: config/rs6000/darwin.opt:24 config/rs6000/sysv4.opt:132
++#: config/arm/arm.opt:34
++msgid "Pass FP arguments in FP registers"
++msgstr "ПроÑлеђуј ФП аргументе у ФП региÑтрима"
++
++#: config/arm/arm.opt:38
++msgid "Generate APCS conformant stack frames"
++msgstr "Стварај оквире Ñтека ÑаглаÑне Ñа ÐПЦСом"
++
++#: config/arm/arm.opt:42
++msgid "Generate re-entrant, PIC code"
++msgstr "Створи вишеулазни, ПИЦ кôд"
++
++#: config/arm/arm.opt:49 config/m68k/m68k.opt:96 config/score/score.opt:63
++msgid "Specify the name of the target architecture"
++msgstr "Ðаведите име циљне архитектуре"
++
++#: config/arm/arm.opt:56
++msgid "Assume target CPU is configured as big endian"
++msgstr "ПретпоÑтави да је циљни ЦПУ поÑтављен на велику крајноÑÑ‚"
++
++#: config/arm/arm.opt:60
++msgid "Thumb: Assume non-static functions may be called from ARM code"
++msgstr "Тамб: ПретпоÑтави да Ñе неÑтатичке функције могу позвати из ÐРМ кôда"
++
++#: config/arm/arm.opt:64
++msgid "Thumb: Assume function pointers may go to non-Thumb aware code"
++msgstr "Тамб: ПретпоÑтави да функцијÑки показивачи могу водити у кôд неÑвеÑтан Тамба"
++
++#: config/arm/arm.opt:68
++msgid "Cirrus: Place NOPs to avoid invalid instruction combinations"
++msgstr "ЦируÑ: Стављај ÐОПе да би избегао неважеће комбинације инÑтрукција"
++
++#: config/arm/arm.opt:72 config/bfin/bfin.opt:27
++msgid "Specify the name of the target CPU"
++msgstr "Ðаведите име циљног ЦПУа"
++
++#: config/arm/arm.opt:76
++msgid "Specify if floating point hardware should be used"
++msgstr "Ðаведите да ли да Ñе кориÑти хардвер за покретан зарез"
++
++#: config/arm/arm.opt:90
++msgid "Specify the name of the target floating point hardware/format"
++msgstr "Ðаведите име циљног хардвера/формата за покретан зарез"
++
++#: config/arm/arm.opt:94
++msgid "Alias for -mfloat-abi=hard"
++msgstr "Други назив за -mfloat-abi=hard"
++
++#: config/arm/arm.opt:98
++msgid "Assume target CPU is configured as little endian"
++msgstr "ПретпоÑтави да је циљни ЦПУ поÑтављен на малу крајноÑÑ‚"
++
++#: config/arm/arm.opt:102
++msgid "Generate call insns as indirect calls, if necessary"
++msgstr "Стварај ије позива као поÑредне позиве, ако је неопходно"
++
++#: config/arm/arm.opt:106
++msgid "Specify the register to be used for PIC addressing"
++msgstr "Ðаведите региÑтар који Ñе кориÑти за ПИЦ адреÑирање"
++
++#: config/arm/arm.opt:110
++msgid "Store function names in object code"
++msgstr "Складишти имена функција у објектном коду"
++
++#: config/arm/arm.opt:114
++msgid "Permit scheduling of a function's prologue sequence"
++msgstr "Дозволи раÑпоређивање пролошког редоÑледа функције"
++
++#: config/arm/arm.opt:118
++msgid "Do not load the PIC register in function prologues"
++msgstr "Ðе учитавај ПИЦ региÑтре у пролозима функција"
++
++#: config/arm/arm.opt:122
++msgid "Alias for -mfloat-abi=soft"
++msgstr "Други назив за -mfloat-abi=soft"
++
++#: config/arm/arm.opt:126
++msgid "Specify the minimum bit alignment of structures"
++msgstr "Ðаведите најмање битÑко равнање Ñтруктура"
++
++#: config/arm/arm.opt:130
++msgid "Compile for the Thumb not the ARM"
++msgstr "Компилуј за Тамб, не за ÐРМ"
++
++#: config/arm/arm.opt:134
++msgid "Support calls between Thumb and ARM instruction sets"
++msgstr "Подржи позиве између Тамба и Ñкупа инÑтрукција ÐРМа"
++
++#: config/arm/arm.opt:138
++msgid "Specify how to access the thread pointer"
++msgstr "Ðаведите како приÑтупати показивачу нити"
++
++#: config/arm/arm.opt:142
++msgid "Thumb: Generate (non-leaf) stack frames even if not needed"
++msgstr "Тамб: Стварај (нелиÑнате) оквире Ñтека чак и ако није потребно"
++
++#: config/arm/arm.opt:146
++msgid "Thumb: Generate (leaf) stack frames even if not needed"
++msgstr "Тамб: Стварај (лиÑнате) оквире Ñтека чак и ако није потребно"
++
++#: config/arm/arm.opt:150
++msgid "Tune code for the given processor"
++msgstr "Ðаштелуј кôд за дати процеÑор"
++
++#: config/arm/arm.opt:154
++msgid "Assume big endian bytes, little endian words"
++msgstr "ПретпоÑтави бајтове велике крајноÑти, речи мале"
++
++#: config/arm/arm.opt:158
++msgid "Use Neon quad-word (rather than double-word) registers for vectorization"
++msgstr ""
++
++#: config/arm/pe.opt:23
++msgid "Ignore dllimport attribute for functions"
++msgstr "Игнориши атрибут dllimport за функције"
++
++#: config/cris/linux.opt:27
++msgid "Together with -fpic and -fPIC, do not use GOTPLT references"
++msgstr "Заједно Ñа -fpic и -fPIC, не кориÑти упућивања GOTPLT"
++
++#: config/cris/aout.opt:27
++msgid "Compile for the MMU-less Etrax 100-based elinux system"
++msgstr "Компилуј за ÑиÑтем Ð•Ð»Ð¸Ð½ÑƒÐºÑ Ð½Ð° оÑнову ЕтракÑа 100 без ММУа"
++
++#: config/cris/aout.opt:33
++msgid "For elinux, request a specified stack-size for this program"
++msgstr "За ЕлинукÑ, захтевај одређену величину Ñтека у овом програму"
++
++#: config/cris/cris.opt:45
++msgid "Work around bug in multiplication instruction"
++msgstr "Заобиђи грешку у инÑтрукцији множења"
++
++#: config/cris/cris.opt:51
++msgid "Compile for ETRAX 4 (CRIS v3)"
++msgstr "Компилуј за Ð•Ñ‚Ñ€Ð°ÐºÑ 4 (КРИС в3)"
++
++#: config/cris/cris.opt:56
++msgid "Compile for ETRAX 100 (CRIS v8)"
++msgstr "Компилуј за Ð•Ñ‚Ñ€Ð°ÐºÑ 100 (КРИС в8)"
++
++#: config/cris/cris.opt:64
++msgid "Emit verbose debug information in assembly code"
++msgstr "Емитуј опширне иÑправљачке информације у аÑемблерÑком кôду"
++
++#: config/cris/cris.opt:71
++msgid "Do not use condition codes from normal instructions"
++msgstr "Ðе кориÑти уÑловне кôдове из нормалних инÑтрукција"
++
++#: config/cris/cris.opt:80
++msgid "Do not emit addressing modes with side-effect assignment"
++msgstr "Ðе емитуј адреÑне режиме уз доделу Ñа Ñпоредним ефектима"
++
++#: config/cris/cris.opt:89
++msgid "Do not tune stack alignment"
++msgstr "Ðе подешавај равнање Ñтека"
++
++#: config/cris/cris.opt:98
++msgid "Do not tune writable data alignment"
++msgstr "Ðе подешавај равнање упиÑивих података"
++
++#: config/cris/cris.opt:107
++msgid "Do not tune code and read-only data alignment"
++msgstr "Ðе подешавај равнање података кôда и оних Ñамо-за-читање"
++
++#: config/cris/cris.opt:116
++msgid "Align code and data to 32 bits"
++msgstr "Равнај кôд и податке на 32 бита"
++
++#: config/cris/cris.opt:133
++msgid "Don't align items in code or data"
++msgstr "Ðе равнај Ñтавке у кôду и подацима"
++
++#: config/cris/cris.opt:142
++msgid "Do not emit function prologue or epilogue"
++msgstr "Ðе емитуј пролог и епилог функција"
++
++#: config/cris/cris.opt:149
++msgid "Use the most feature-enabling options allowed by other options"
++msgstr "КориÑти опцију која пружа највише могућноÑти дозвољених другим опцијама"
++
++#: config/cris/cris.opt:158
++msgid "Override -mbest-lib-options"
++msgstr "ПотиÑни -mbest-lib-options"
++
++#: config/cris/cris.opt:165
++msgid "Generate code for the specified chip or CPU version"
++msgstr "Створи кôд за наведени чип или верзију ЦПУа"
++
++#: config/cris/cris.opt:169
++msgid "Tune alignment for the specified chip or CPU version"
++msgstr "ПодеÑи равнање за наведени чип или верзију ЦПУа"
++
++#: config/cris/cris.opt:173
++msgid "Warn when a stackframe is larger than the specified size"
++msgstr "Упозори када је оквир Ñтека већи од одређене величине"
++
++#: config/avr/avr.opt:23
++msgid "Use subroutines for function prologues and epilogues"
++msgstr "КориÑти потпрограме за прологе и епилоге функција"
++
++#: config/avr/avr.opt:27
++msgid "Select the target MCU"
++msgstr "Изаберите циљни МЦУ"
++
++#: config/avr/avr.opt:34
++msgid "Use an 8-bit 'int' type"
++msgstr "КориÑти 8-битни тип ‘int’"
++
++#: config/avr/avr.opt:38
++msgid "Change the stack pointer without disabling interrupts"
++msgstr "Мењај показивач Ñтека без иÑкључивања прекида"
++
++#: config/avr/avr.opt:42
++msgid "Do not generate tablejump insns"
++msgstr "Ðе Ñтварај ије tablejump"
++
++#: config/avr/avr.opt:52
++msgid "Use rjmp/rcall (limited range) on >8K devices"
++msgstr "КориÑти rjmp/rcall (ограничен опÑег) на >8k уређајима"
++
++#: config/avr/avr.opt:56
++msgid "Output instruction sizes to the asm file"
++msgstr "ИÑпиши величине инÑтрукција у аÑм датотеку"
++
++#: config/avr/avr.opt:60
++msgid "Change only the low 8 bits of the stack pointer"
++msgstr "Мењај Ñамо доњих 8 битова показивача Ñтека"
++
++#: config/avr/avr.opt:64
++#, fuzzy
++msgid "Relax branches"
++msgstr "Ðема гранања\n"
++
++#: config/avr/avr.opt:68
++msgid "Make the linker relaxation machine assume that a program counter wrap-around occures."
++msgstr ""
++
++#: config/linux.opt:24
++msgid "Use uClibc instead of GNU libc"
++msgstr "КориÑти уЦлибц умеÑто Глибц"
++
++#: config/linux.opt:28
++msgid "Use GNU libc instead of uClibc"
++msgstr "КориÑти Глибц умеÑто уЦлибц"
++
++#: config/rs6000/sysv4.opt:24
++msgid "Select ABI calling convention"
++msgstr "Изаберите конвенцију позивања ÐБИја"
++
++#: config/rs6000/sysv4.opt:28
++msgid "Select method for sdata handling"
++msgstr "Изаберите метод руковања Ñ-подацима"
++
++#: config/rs6000/sysv4.opt:36 config/rs6000/sysv4.opt:40
++msgid "Align to the base type of the bit-field"
++msgstr "Равнај на оÑновни тип битÑког поља"
++
++#: config/rs6000/sysv4.opt:45 config/rs6000/sysv4.opt:49
++msgid "Produce code relocatable at runtime"
++msgstr "Произведи кôд релокабилан при извршавању"
++
++#: config/rs6000/sysv4.opt:53 config/rs6000/sysv4.opt:57
++msgid "Produce little endian code"
++msgstr "Произведи кôд мале крајноÑти"
++
++#: config/rs6000/sysv4.opt:61 config/rs6000/sysv4.opt:65
++msgid "Produce big endian code"
++msgstr "Произведи кôд велике крајноÑти"
++
++#: config/rs6000/sysv4.opt:70 config/rs6000/sysv4.opt:74
++#: config/rs6000/sysv4.opt:83 config/rs6000/sysv4.opt:100
++#: config/rs6000/sysv4.opt:128 config/rs6000/sysv4.opt:140
++msgid "no description yet"
++msgstr "још увек без опиÑа"
++
++#: config/rs6000/sysv4.opt:78
++msgid "Assume all variable arg functions are prototyped"
++msgstr "ПретпоÑтави да Ñве варарг функције имају прототипе"
++
++#: config/rs6000/sysv4.opt:87
++msgid "Use EABI"
++msgstr "КориÑти ЕÐБИ"
++
++#: config/rs6000/sysv4.opt:91
++msgid "Allow bit-fields to cross word boundaries"
++msgstr "Дозволи битÑким пољима да прелазе границе речи"
++
++#: config/rs6000/sysv4.opt:95
++msgid "Use alternate register names"
++msgstr "КориÑти алтернативна имена региÑтара"
++
++#: config/rs6000/sysv4.opt:104
++msgid "Link with libsim.a, libc.a and sim-crt0.o"
++msgstr "Повежи Ñа libsim.a, libc.a и sim-crt0.o"
++
++#: config/rs6000/sysv4.opt:108
++msgid "Link with libads.a, libc.a and crt0.o"
++msgstr "Повежи Ñа libads.a, libc.a и crt0.o"
++
++#: config/rs6000/sysv4.opt:112
++msgid "Link with libyk.a, libc.a and crt0.o"
++msgstr "Повежи Ñа libyk.a, libc.a и crt0.o"
++
++#: config/rs6000/sysv4.opt:116
++msgid "Link with libmvme.a, libc.a and crt0.o"
++msgstr "Повежи Ñа libmvme.a, libc.a и crt0.o"
++
++#: config/rs6000/sysv4.opt:120
++msgid "Set the PPC_EMB bit in the ELF flags header"
++msgstr "ПоÑтави бит PPC_EMB у заглављу ЕЛФ заÑтавица"
++
++#: config/rs6000/sysv4.opt:124
++msgid "Use the WindISS simulator"
++msgstr "КориÑти Ñимулатор ВиндИСС"
++
++#: config/rs6000/sysv4.opt:132 config/rs6000/darwin.opt:24
+ msgid "Generate 64-bit code"
+ msgstr "Створи 64-битни кôд"
+
+-#: config/rs6000/darwin.opt:28 config/rs6000/sysv4.opt:136
++#: config/rs6000/sysv4.opt:136 config/rs6000/darwin.opt:28
+ msgid "Generate 32-bit code"
+ msgstr "Створи 32-битни кôд"
+
++#: config/rs6000/sysv4.opt:144
++msgid "Generate code to use a non-exec PLT and GOT"
++msgstr "Створи кôд који кориÑти неизвршне PLT и GOT"
++
++#: config/rs6000/sysv4.opt:148
++msgid "Generate code for old exec BSS PLT"
++msgstr "Створи кôд за Ñтари извршни BSS PLT"
++
++#: config/rs6000/linux64.opt:24
++msgid "Call mcount for profiling before a function prologue"
++msgstr "Позивај mcount за профилиÑање пре пролога функције"
++
+ #: config/rs6000/darwin.opt:32
+ msgid "Generate code suitable for executables (NOT shared libs)"
+ msgstr "Створи кôд погодан за извршне (ÐЕ за дељене библиотеке)"
+
++#: config/rs6000/aix64.opt:24
++msgid "Compile for 64-bit pointers"
++msgstr "Компилуј за 64-битне показиваче"
++
++#: config/rs6000/aix64.opt:28
++msgid "Compile for 32-bit pointers"
++msgstr "Компилуј за 32-битне показиваче"
++
++#: config/rs6000/aix64.opt:32 config/rs6000/aix41.opt:24
++msgid "Support message passing with the Parallel Environment"
++msgstr "Подржи проÑлеђивање помоћу паралелног окружења"
++
+ #: config/rs6000/rs6000.opt:24
+ msgid "Use POWER instruction set"
+ msgstr "КориÑти Ñкуп инÑтрукција Пауера"
+@@ -12856,6 +12911,10 @@
+ msgid "Return small structures in registers (SVR4 default)"
+ msgstr "Враћај мале Ñтруктуре у региÑтрима (подразумевано за СВР4)"
+
++#: config/rs6000/rs6000.opt:147 config/rs6000/aix.opt:24
++msgid "Conform more closely to IBM XLC semantics"
++msgstr "Поштуј ближе Ñемантику ИБМовог ИкÑЛЦа"
++
+ #: config/rs6000/rs6000.opt:151
+ #, fuzzy
+ msgid "Generate software reciprocal sqrt for better throughput"
+@@ -12922,6 +12981,10 @@
+ msgid "Specify ABI to use"
+ msgstr "Ðаведите ÐБИ који Ñе кориÑти"
+
++#: config/rs6000/rs6000.opt:222 config/sparc/sparc.opt:91
++msgid "Use features of and schedule code for given CPU"
++msgstr "КориÑти могућноÑти и раÑпоређуј кôд за дати ЦПУ"
++
+ #: config/rs6000/rs6000.opt:230
+ msgid "Select full, part, or no traceback table"
+ msgstr "Изаберите пуну или делимичну табелу повратног трага, или без ње"
+@@ -12958,96 +13021,74 @@
+ msgid "Specify scheduling priority for dispatch slot restricted insns"
+ msgstr "Ðаведите приоритет раÑпоређивања за ије ограничене жлебом одашиљања"
+
+-#: config/rs6000/aix64.opt:24
+-msgid "Compile for 64-bit pointers"
+-msgstr "Компилуј за 64-битне показиваче"
++#: config/v850/v850.opt:23
++msgid "Use registers r2 and r5"
++msgstr "КориÑти региÑтре r2 и r5"
+
+-#: config/rs6000/aix64.opt:28
+-msgid "Compile for 32-bit pointers"
+-msgstr "Компилуј за 32-битне показиваче"
++#: config/v850/v850.opt:27
++msgid "Use 4 byte entries in switch tables"
++msgstr "КориÑти 4-бајтне уноÑе у табелама пребацивања"
+
+-#: config/rs6000/linux64.opt:24
+-msgid "Call mcount for profiling before a function prologue"
+-msgstr "Позивај mcount за профилиÑање пре пролога функције"
++#: config/v850/v850.opt:31
++msgid "Enable backend debugging"
++msgstr "Укључи иÑправљање зачеља"
+
+-#: config/rs6000/sysv4.opt:24
+-msgid "Select ABI calling convention"
+-msgstr "Изаберите конвенцију позивања ÐБИја"
++#: config/v850/v850.opt:35
++msgid "Do not use the callt instruction"
++msgstr "Ðе кориÑти инÑтрукцију callt"
+
+-#: config/rs6000/sysv4.opt:28
+-msgid "Select method for sdata handling"
+-msgstr "Изаберите метод руковања Ñ-подацима"
++#: config/v850/v850.opt:39
++msgid "Reuse r30 on a per function basis"
++msgstr "Поново кориÑти r30 од функције до функције"
+
+-#: config/rs6000/sysv4.opt:36 config/rs6000/sysv4.opt:40
+-msgid "Align to the base type of the bit-field"
+-msgstr "Равнај на оÑновни тип битÑког поља"
++#: config/v850/v850.opt:43
++msgid "Support Green Hills ABI"
++msgstr "Подржи ÐБИ Грин ХилÑ"
+
+-#: config/rs6000/sysv4.opt:45 config/rs6000/sysv4.opt:49
+-msgid "Produce code relocatable at runtime"
+-msgstr "Произведи кôд релокабилан при извршавању"
++#: config/v850/v850.opt:47
++msgid "Prohibit PC relative function calls"
++msgstr "Забрани позиве функција у одноÑу на ПЦ"
+
+-#: config/rs6000/sysv4.opt:53 config/rs6000/sysv4.opt:57
+-msgid "Produce little endian code"
+-msgstr "Произведи кôд мале крајноÑти"
++#: config/v850/v850.opt:51
++msgid "Use stubs for function prologues"
++msgstr "КориÑти клице за прологе функција"
+
+-#: config/rs6000/sysv4.opt:61 config/rs6000/sysv4.opt:65
+-msgid "Produce big endian code"
+-msgstr "Произведи кôд велике крајноÑти"
++#: config/v850/v850.opt:55
++msgid "Set the max size of data eligible for the SDA area"
++msgstr "Ðајвећа величина података подеÑних за облаÑÑ‚ СДÐ"
+
+-#: config/rs6000/sysv4.opt:70 config/rs6000/sysv4.opt:74
+-#: config/rs6000/sysv4.opt:83 config/rs6000/sysv4.opt:100
+-#: config/rs6000/sysv4.opt:128 config/rs6000/sysv4.opt:140
+-msgid "no description yet"
+-msgstr "још увек без опиÑа"
++#: config/v850/v850.opt:59
++msgid "Enable the use of the short load instructions"
++msgstr "Укључи употребу инÑтрукције кратког учитавања"
+
+-#: config/rs6000/sysv4.opt:78
+-msgid "Assume all variable arg functions are prototyped"
+-msgstr "ПретпоÑтави да Ñве варарг функције имају прототипе"
++#: config/v850/v850.opt:63
++msgid "Same as: -mep -mprolog-function"
++msgstr "ИÑто као: -mep -mprolog-function"
+
+-#: config/rs6000/sysv4.opt:87
+-msgid "Use EABI"
+-msgstr "КориÑти ЕÐБИ"
++#: config/v850/v850.opt:67
++msgid "Set the max size of data eligible for the TDA area"
++msgstr "Ðајвећа величина података подеÑних за облаÑÑ‚ ТДÐ"
+
+-#: config/rs6000/sysv4.opt:91
+-msgid "Allow bit-fields to cross word boundaries"
+-msgstr "Дозволи битÑким пољима да прелазе границе речи"
++#: config/v850/v850.opt:71
++msgid "Enforce strict alignment"
++msgstr "Спроведи Ñтрого равнање"
+
+-#: config/rs6000/sysv4.opt:95
+-msgid "Use alternate register names"
+-msgstr "КориÑти алтернативна имена региÑтара"
++#: config/v850/v850.opt:78
++msgid "Compile for the v850 processor"
++msgstr "Компилуј за процеÑор в850"
+
+-#: config/rs6000/sysv4.opt:104
+-msgid "Link with libsim.a, libc.a and sim-crt0.o"
+-msgstr "Повежи Ñа libsim.a, libc.a и sim-crt0.o"
++#: config/v850/v850.opt:82
++msgid "Compile for the v850e processor"
++msgstr "Компилуј за процеÑор в850е"
+
+-#: config/rs6000/sysv4.opt:108
+-msgid "Link with libads.a, libc.a and crt0.o"
+-msgstr "Повежи Ñа libads.a, libc.a и crt0.o"
++#: config/v850/v850.opt:86
++msgid "Compile for the v850e1 processor"
++msgstr "Компилуј за процеÑор в850е1"
+
+-#: config/rs6000/sysv4.opt:112
+-msgid "Link with libyk.a, libc.a and crt0.o"
+-msgstr "Повежи Ñа libyk.a, libc.a и crt0.o"
++#: config/v850/v850.opt:90
++msgid "Set the max size of data eligible for the ZDA area"
++msgstr "Ðајвећа величина података подеÑних за облаÑÑ‚ ЗДÐ"
+
+-#: config/rs6000/sysv4.opt:116
+-msgid "Link with libmvme.a, libc.a and crt0.o"
+-msgstr "Повежи Ñа libmvme.a, libc.a и crt0.o"
+-
+-#: config/rs6000/sysv4.opt:120
+-msgid "Set the PPC_EMB bit in the ELF flags header"
+-msgstr "ПоÑтави бит PPC_EMB у заглављу ЕЛФ заÑтавица"
+-
+-#: config/rs6000/sysv4.opt:124
+-msgid "Use the WindISS simulator"
+-msgstr "КориÑти Ñимулатор ВиндИСС"
+-
+-#: config/rs6000/sysv4.opt:144
+-msgid "Generate code to use a non-exec PLT and GOT"
+-msgstr "Створи кôд који кориÑти неизвршне PLT и GOT"
+-
+-#: config/rs6000/sysv4.opt:148
+-msgid "Generate code for old exec BSS PLT"
+-msgstr "Створи кôд за Ñтари извршни BSS PLT"
+-
+ #: config/spu/spu.opt:20
+ msgid "Emit warnings when run-time relocations are generated"
+ msgstr ""
+@@ -13090,62 +13131,268 @@
+ msgid "Generate code for 32 bit addressing"
+ msgstr "Створи кôд за велику крајноÑÑ‚"
+
+-#: config/mcore/mcore.opt:23
+-msgid "Generate code for the M*Core M210"
+-msgstr "Створи кôд за М*Језгро М210"
++#: config/vax/vax.opt:23 config/vax/vax.opt:27
++msgid "Target DFLOAT double precision code"
++msgstr "Циљ је кôд двоÑтруке тачноÑти DFLOAT"
+
+-#: config/mcore/mcore.opt:27
+-msgid "Generate code for the M*Core M340"
+-msgstr "Створи кôд за М*Језгро М340"
++#: config/vax/vax.opt:31 config/vax/vax.opt:35
++msgid "Generate GFLOAT double precision code"
++msgstr "Створи кôд двоÑтруке тачноÑти GFLOAT"
+
+-#: config/mcore/mcore.opt:31
+-msgid "Set maximum alignment to 4"
+-msgstr "ПоÑтави највеће равнање на 4"
++#: config/vax/vax.opt:39
++msgid "Generate code for GNU assembler (gas)"
++msgstr "Створи кôд за Гнуов аÑемблер (gas)"
+
+-#: config/mcore/mcore.opt:35
+-msgid "Force functions to be aligned to a 4 byte boundary"
+-msgstr "Спроведи поравнање функција на 4-бајтну границу"
++#: config/vax/vax.opt:43
++msgid "Generate code for UNIX assembler"
++msgstr "Створи кôд за УникÑов аÑемблер"
+
+-#: config/mcore/mcore.opt:39
+-msgid "Set maximum alignment to 8"
+-msgstr "ПоÑтави највеће равнање на 8"
++#: config/vax/vax.opt:47
++msgid "Use VAXC structure conventions"
++msgstr "КориÑти конвенције VAXC за Ñтруктуре"
+
+-#: config/mcore/mcore.opt:43 config/score/score.opt:23
+-msgid "Generate big-endian code"
+-msgstr "Створи кôд велике крајноÑти"
++#: config/lynx.opt:23
++msgid "Support legacy multi-threading"
++msgstr "Подржи заÑтарелу вишенитноÑÑ‚"
+
+-#: config/mcore/mcore.opt:47
+-msgid "Emit call graph information"
+-msgstr "Емитуј информације за граф позива"
++#: config/lynx.opt:27
++msgid "Use shared libraries"
++msgstr "КориÑти дељене библиотеке"
+
+-#: config/mcore/mcore.opt:51
+-msgid "Use the divide instruction"
+-msgstr "КориÑти инÑтрукције дељења"
++#: config/lynx.opt:31
++msgid "Support multi-threading"
++msgstr "Подржи вишенитноÑÑ‚"
+
+-#: config/mcore/mcore.opt:55
+-msgid "Inline constants if it can be done in 2 insns or less"
+-msgstr "Уткивај конÑтанте ако је могуће у 2 или мање ија"
++#: config/stormy16/stormy16.opt:24
++msgid "Provide libraries for the simulator"
++msgstr "Пружи библиотеке за Ñимулатор"
+
+-#: config/mcore/mcore.opt:59 config/score/score.opt:27
+-msgid "Generate little-endian code"
+-msgstr "Створи кôд мале крајноÑти"
++#: config/h8300/h8300.opt:23
++msgid "Generate H8S code"
++msgstr "Створи кôд за Х8С"
+
+-#: config/mcore/mcore.opt:67
+-msgid "Use arbitrary sized immediates in bit operations"
+-msgstr "КориÑти непоÑредне произвољне величине у битÑким операцијама"
++#: config/h8300/h8300.opt:27
++msgid "Generate H8SX code"
++msgstr "Створи кôд за Ð¥8СИкÑ"
+
+-#: config/mcore/mcore.opt:71
+-msgid "Prefer word accesses over byte accesses"
+-msgstr "Боље приÑтуп речима него бајтовима"
++#: config/h8300/h8300.opt:31
++msgid "Generate H8S/2600 code"
++msgstr "Створи кôд за Х8С/2600"
+
+-#: config/mcore/mcore.opt:75
+-msgid "Set the maximum amount for a single stack increment operation"
+-msgstr "ПоÑтави највећу вредноÑÑ‚ једне операције увећања Ñтека"
++#: config/h8300/h8300.opt:35
++msgid "Make integers 32 bits wide"
++msgstr "Ðека целобројни тип буде 32-битни"
+
+-#: config/mcore/mcore.opt:79
+-msgid "Always treat bitfields as int-sized"
+-msgstr "Увек Ñматрај да Ñу битÑка поља величина инта"
++#: config/h8300/h8300.opt:42
++msgid "Use registers for argument passing"
++msgstr "КориÑти региÑтре за проÑлеђивање аргумената"
+
++#: config/h8300/h8300.opt:46
++msgid "Consider access to byte sized memory slow"
++msgstr "Сматрај Ñпорим приÑтуп меморији бајтне величине"
++
++#: config/h8300/h8300.opt:50
++msgid "Enable linker relaxing"
++msgstr "Укључи опуштање при повезивању"
++
++#: config/h8300/h8300.opt:54
++msgid "Generate H8/300H code"
++msgstr "Створи кôд за Х8/300Х"
++
++#: config/h8300/h8300.opt:58
++msgid "Enable the normal mode"
++msgstr "Укључи нормалан режим"
++
++#: config/h8300/h8300.opt:62
++msgid "Use H8/300 alignment rules"
++msgstr "КориÑти правила равнања за Ð¥8/300"
++
++#: config/s390/s390.opt:23
++msgid "31 bit ABI"
++msgstr "31-битни ÐБИ"
++
++#: config/s390/s390.opt:27
++msgid "64 bit ABI"
++msgstr "64-битни ÐБИ"
++
++#: config/s390/s390.opt:35
++msgid "Maintain backchain pointer"
++msgstr "Одржавај показивач контраланца"
++
++#: config/s390/s390.opt:39
++msgid "Additional debug prints"
++msgstr "Додатно иÑправљачко иÑпиÑивање"
++
++#: config/s390/s390.opt:43
++msgid "ESA/390 architecture"
++msgstr "Ðрхитектура ЕСÐ/390"
++
++#: config/s390/s390.opt:47
++msgid "Enable fused multiply/add instructions"
++msgstr "Укључи инÑтрукције Ñтопљеног множења-додавања"
++
++#: config/s390/s390.opt:51
++#, fuzzy
++msgid "Enable decimal floating point hardware support"
++msgstr "децимални покретни зарез није подржан за овај циљ"
++
++#: config/s390/s390.opt:55
++#, fuzzy
++msgid "Enable hardware floating point"
++msgstr "КориÑти хардверÑки покретан зарез"
++
++#: config/s390/s390.opt:67
++msgid "Use packed stack layout"
++msgstr "КориÑти раÑпоред пакованог Ñтека"
++
++#: config/s390/s390.opt:71
++msgid "Use bras for executable < 64k"
++msgstr "КориÑти bras за извршне датотеке < 64k"
++
++#: config/s390/s390.opt:75
++#, fuzzy
++msgid "Disable hardware floating point"
++msgstr "КориÑти хардверÑки покретан зарез"
++
++#: config/s390/s390.opt:79
++msgid "Set the max. number of bytes which has to be left to stack size before a trap instruction is triggered"
++msgstr "ПоÑтави највећи број бајтова који Ñе мора одложити на Ñтек пре него што Ñе окине инÑтрукција клопке"
++
++#: config/s390/s390.opt:83
++msgid "Emit extra code in the function prologue in order to trap if the stack size exceeds the given limit"
++msgstr "Емитуј додатни кôд у прологу функције ради клопке кад величина Ñтека премашује дато ограничење"
++
++#: config/s390/s390.opt:91
++msgid "mvcle use"
++msgstr "Употреба mvcle"
++
++#: config/s390/s390.opt:95
++msgid "Warn if a function uses alloca or creates an array with dynamic size"
++msgstr "Упозори ако функција кориÑти alloca или прави низ динамичке величине"
++
++#: config/s390/s390.opt:99
++msgid "Warn if a single function's framesize exceeds the given framesize"
++msgstr "Упозори ако величина оквира једне функције премашује дату величину"
++
++#: config/s390/s390.opt:103
++msgid "z/Architecture"
++msgstr "Ðрхитектура z/"
++
++#: config/s390/tpf.opt:23
++msgid "Enable TPF-OS tracing code"
++msgstr "Укључи кôд за праћење ТПФ-ОСа"
++
++#: config/s390/tpf.opt:27
++msgid "Specify main object for TPF-OS"
++msgstr "Ðаведите главни објекат за ТПФ-ОС"
++
++#: config/darwin.opt:23
++msgid "Generate code suitable for fast turn around debugging"
++msgstr "Створи кôд погодан за иÑправљање при брзим обртима"
++
++#: config/darwin.opt:31
++msgid "The earliest MacOS X version on which this program will run"
++msgstr "Ðајранија верзија МекОСа X на којој ће овај програм радити"
++
++#: config/darwin.opt:35
++msgid "Set sizeof(bool) to 1"
++msgstr "ПоÑтави sizeof(bool) на 1"
++
++#: config/darwin.opt:39
++#, fuzzy
++msgid "Generate code for darwin loadable kernel extensions"
++msgstr "Створи кôд за проширења језгра Дарвин за учитавање"
++
++#: config/darwin.opt:43
++#, fuzzy
++msgid "Generate code for the kernel or loadable kernel extensions"
++msgstr "Створи кôд за проширења језгра или проширења језгра за учитавање"
++
++#: config/darwin.opt:47
++#, fuzzy
++msgid "Add <dir> to the end of the system framework include path"
++msgstr "Додај <dir> на крај главне путање укључивања радног оквира"
++
++#: config/mn10300/mn10300.opt:23
++msgid "Target the AM33 processor"
++msgstr "Циљај процеÑор ÐÐœ33"
++
++#: config/mn10300/mn10300.opt:27
++msgid "Target the AM33/2.0 processor"
++msgstr "Циљај процеÑор ÐÐœ33/2.0"
++
++#: config/mn10300/mn10300.opt:31
++msgid "Work around hardware multiply bug"
++msgstr "Заобиђи хардверÑку грешку у множењу"
++
++#: config/mn10300/mn10300.opt:36
++msgid "Enable linker relaxations"
++msgstr "Укључи релакÑације повезивача"
++
++#: config/mn10300/mn10300.opt:40
++msgid "Return pointers in both a0 and d0"
++msgstr "Враћај показиваче и у a0 и у d0"
++
++#: config/m32r/m32r.opt:23
++msgid "Compile for the m32rx"
++msgstr "Компилуј за m32rx"
++
++#: config/m32r/m32r.opt:27
++msgid "Compile for the m32r2"
++msgstr "Компилуј за m32r2"
++
++#: config/m32r/m32r.opt:31
++msgid "Compile for the m32r"
++msgstr "Компилуј за m32r"
++
++#: config/m32r/m32r.opt:35
++msgid "Align all loops to 32 byte boundary"
++msgstr "Поравнај Ñве петље на 32-бајтну границу"
++
++#: config/m32r/m32r.opt:39
++msgid "Prefer branches over conditional execution"
++msgstr "Боље гранања него уÑловно извршавање"
++
++#: config/m32r/m32r.opt:43
++msgid "Give branches their default cost"
++msgstr "Дај гранањима њихову подразумевану цену"
++
++#: config/m32r/m32r.opt:47
++msgid "Display compile time statistics"
++msgstr "Прикажи ÑтатиÑтике за време компиловања"
++
++#: config/m32r/m32r.opt:51
++msgid "Specify cache flush function"
++msgstr "Ðаведите функцију за Ñпирање оÑтаве"
++
++#: config/m32r/m32r.opt:55
++msgid "Specify cache flush trap number"
++msgstr "Ðаведите број клопке за Ñпирање оÑтаве"
++
++#: config/m32r/m32r.opt:59
++msgid "Only issue one instruction per cycle"
++msgstr "Издај Ñамо једну инÑтрукцију по циклуÑу"
++
++#: config/m32r/m32r.opt:63
++msgid "Allow two instructions to be issued per cycle"
++msgstr "Дозволи издавање две инÑтрукције по циклуÑу"
++
++#: config/m32r/m32r.opt:67
++msgid "Code size: small, medium or large"
++msgstr "Величина кôда: small, medium или large"
++
++#: config/m32r/m32r.opt:71
++msgid "Don't call any cache flush functions"
++msgstr "Ðе позивај функције за Ñпирање оÑтаве"
++
++#: config/m32r/m32r.opt:75
++msgid "Don't call any cache flush trap"
++msgstr "Ðе позивај клопке за Ñпирање оÑтаве"
++
++#: config/m32r/m32r.opt:82
++msgid "Small data area: none, sdata, use"
++msgstr "Мала облаÑÑ‚ података: none, sdata, use"
++
+ #: config/arc/arc.opt:32
+ msgid "Prepend the name of the cpu to all public symbol names"
+ msgstr "Додај име ЦПУа на почетак имена Ñвих јавних Ñимбола"
+@@ -13166,6 +13413,527 @@
+ msgid "Put read-only data in SECTION"
+ msgstr "Стави Ñамо-за-читање податке у SECTION"
+
++#: config/m32c/m32c.opt:24 config/mt/mt.opt:27 config/bfin/bfin.opt:23
++msgid "Use simulator runtime"
++msgstr "КориÑти ÑимулаторÑко извршавање"
++
++#: config/m32c/m32c.opt:28
++msgid "Compile code for R8C variants"
++msgstr "Компилуј кôд за варијанте Р8Ц"
++
++#: config/m32c/m32c.opt:32
++msgid "Compile code for M16C variants"
++msgstr "Компилуј кôд за варијанте М16Ц"
++
++#: config/m32c/m32c.opt:36
++msgid "Compile code for M32CM variants"
++msgstr "Компилуј кôд за варијанте М32ЦМ"
++
++#: config/m32c/m32c.opt:40
++msgid "Compile code for M32C variants"
++msgstr "Компилуј кôд за варијанте М32Ц"
++
++#: config/m32c/m32c.opt:44
++msgid "Number of memreg bytes (default: 16, range: 0..16)"
++msgstr "Број бајтова мемрегова (подразумевано: 16, опÑег: 0..16)"
++
++#: config/pdp11/pdp11.opt:23
++msgid "Generate code for an 11/10"
++msgstr "Створи кôд за 11/10"
++
++#: config/pdp11/pdp11.opt:27
++msgid "Generate code for an 11/40"
++msgstr "Створи кôд за 11/40"
++
++#: config/pdp11/pdp11.opt:31
++msgid "Generate code for an 11/45"
++msgstr "Створи кôд за 11/45"
++
++#: config/pdp11/pdp11.opt:35
++msgid "Use 16-bit abs patterns"
++msgstr "КориÑти 16-битне abs шеме"
++
++#: config/pdp11/pdp11.opt:39
++msgid "Return floating-point results in ac0 (fr0 in Unix assembler syntax)"
++msgstr "Враћај резултат покретног зареза у ac0 (fr0 у УникÑовој ÑинтакÑи аÑемблера)"
++
++#: config/pdp11/pdp11.opt:43
++msgid "Do not use inline patterns for copying memory"
++msgstr "Ðе кориÑти уткане шеме за копирање меморије"
++
++#: config/pdp11/pdp11.opt:47
++msgid "Use inline patterns for copying memory"
++msgstr "КориÑти уткане шеме за копирање меморије"
++
++#: config/pdp11/pdp11.opt:51
++msgid "Do not pretend that branches are expensive"
++msgstr "Ðе претварај Ñе да Ñу гранања Ñкупа"
++
++#: config/pdp11/pdp11.opt:55
++msgid "Pretend that branches are expensive"
++msgstr "Претварај Ñе да Ñу гранања Ñкупа"
++
++#: config/pdp11/pdp11.opt:59
++msgid "Use the DEC assembler syntax"
++msgstr "КориÑти ÑинтакÑу ДЕЦовог аÑемблера"
++
++#: config/pdp11/pdp11.opt:63
++msgid "Use 32 bit float"
++msgstr "КориÑти 32-битни једноÑтруки"
++
++#: config/pdp11/pdp11.opt:67
++msgid "Use 64 bit float"
++msgstr "КориÑти 64-битни једноÑтруки"
++
++#: config/pdp11/pdp11.opt:75
++msgid "Use 16 bit int"
++msgstr "КориÑти 16-битни целобројни"
++
++#: config/pdp11/pdp11.opt:79
++msgid "Use 32 bit int"
++msgstr "КориÑти 32-битни целобројни"
++
++#: config/pdp11/pdp11.opt:87
++msgid "Target has split I&D"
++msgstr "Циљ има подељен I&D"
++
++#: config/pdp11/pdp11.opt:91
++msgid "Use UNIX assembler syntax"
++msgstr "КориÑти УникÑову ÑинтакÑу аÑемблера"
++
++#: config/m68k/m68k.opt:23
++msgid "Generate code for a 520X"
++msgstr "Створи кôд за 520X"
++
++#: config/m68k/m68k.opt:27
++msgid "Generate code for a 5206e"
++msgstr "Створи кôд за 5206e"
++
++#: config/m68k/m68k.opt:31
++msgid "Generate code for a 528x"
++msgstr "Створи кôд за 528x"
++
++#: config/m68k/m68k.opt:35
++msgid "Generate code for a 5307"
++msgstr "Створи кôд за 5307"
++
++#: config/m68k/m68k.opt:39
++msgid "Generate code for a 5407"
++msgstr "Створи кôд за 5407"
++
++#: config/m68k/m68k.opt:43 config/m68k/m68k.opt:104
++msgid "Generate code for a 68000"
++msgstr "Створи кôд за 68000"
++
++#: config/m68k/m68k.opt:47
++#, fuzzy
++msgid "Generate code for a 68010"
++msgstr "Створи кôд за 68000"
++
++#: config/m68k/m68k.opt:51 config/m68k/m68k.opt:108
++msgid "Generate code for a 68020"
++msgstr "Створи кôд за 68020"
++
++#: config/m68k/m68k.opt:55
++msgid "Generate code for a 68040, without any new instructions"
++msgstr "Створи кôд за 68040, без икаквих нових инÑтрукција"
++
++#: config/m68k/m68k.opt:59
++msgid "Generate code for a 68060, without any new instructions"
++msgstr "Створи кôд за 68060, без икаквих нових инÑтрукција"
++
++#: config/m68k/m68k.opt:63
++msgid "Generate code for a 68030"
++msgstr "Створи кôд за 68030"
++
++#: config/m68k/m68k.opt:67
++msgid "Generate code for a 68040"
++msgstr "Створи кôд за 68040"
++
++#: config/m68k/m68k.opt:71
++msgid "Generate code for a 68060"
++msgstr "Створи кôд за 68060"
++
++#: config/m68k/m68k.opt:75
++msgid "Generate code for a 68302"
++msgstr "Створи кôд за 68302"
++
++#: config/m68k/m68k.opt:79
++msgid "Generate code for a 68332"
++msgstr "Створи кôд за 68332"
++
++#: config/m68k/m68k.opt:84
++msgid "Generate code for a 68851"
++msgstr "Створи кôд за 68851"
++
++#: config/m68k/m68k.opt:88
++msgid "Generate code that uses 68881 floating-point instructions"
++msgstr "Створи кôд који кориÑти инÑтрукције од 68881 за рачунање у покретном зарезу"
++
++#: config/m68k/m68k.opt:92
++msgid "Align variables on a 32-bit boundary"
++msgstr "Поравнај променљиве на 32-бајтну границу"
++
++#: config/m68k/m68k.opt:100
++msgid "Use the bit-field instructions"
++msgstr "КориÑти инÑтрукције битÑког нивоа"
++
++#: config/m68k/m68k.opt:112
++msgid "Generate code for a ColdFire v4e"
++msgstr "Створи кôд за Колдфајер в4e"
++
++#: config/m68k/m68k.opt:116
++#, fuzzy
++msgid "Specify the target CPU"
++msgstr "Изаберите циљни МЦУ"
++
++#: config/m68k/m68k.opt:120
++msgid "Generate code for a cpu32"
++msgstr "Створи кôд за cpu32"
++
++#: config/m68k/m68k.opt:124
++#, fuzzy
++msgid "Use hardware division instructions on ColdFire"
++msgstr "КориÑти хардверÑке четворне ФП инÑтрукције"
++
++#: config/m68k/m68k.opt:128
++#, fuzzy
++msgid "Generate code for a Fido A"
++msgstr "Створи кôд за ДЛЛ"
++
++#: config/m68k/m68k.opt:132
++#, fuzzy
++msgid "Generate code which uses hardware floating point instructions"
++msgstr "Створи кôд који кориÑти инÑтрукције од 68881 за рачунање у покретном зарезу"
++
++#: config/m68k/m68k.opt:136
++msgid "Enable ID based shared library"
++msgstr "Укључи дељене библиотеке на оÑнову ИДа"
++
++#: config/m68k/m68k.opt:140
++msgid "Do not use the bit-field instructions"
++msgstr "Ðе кориÑти инÑтрукције битÑког нивоа"
++
++#: config/m68k/m68k.opt:144
++msgid "Use normal calling convention"
++msgstr "КориÑти нормалну конвенцију позивања"
++
++#: config/m68k/m68k.opt:148
++msgid "Consider type 'int' to be 32 bits wide"
++msgstr "Сматрај да тип ‘int’ има 32 бита"
++
++#: config/m68k/m68k.opt:152
++msgid "Generate pc-relative code"
++msgstr "Прави ПЦ-релативан кôд"
++
++#: config/m68k/m68k.opt:156
++msgid "Use different calling convention using 'rtd'"
++msgstr "КориÑти различиту конвенцију позивања кориÑтећи ‘rtd’"
++
++#: config/m68k/m68k.opt:160 config/bfin/bfin.opt:61
++msgid "Enable separate data segment"
++msgstr "Укључи раздвојени Ñегмент података"
++
++#: config/m68k/m68k.opt:164 config/bfin/bfin.opt:57
++msgid "ID of shared library to build"
++msgstr "ИД дељене библиотеке за градњу"
++
++#: config/m68k/m68k.opt:168
++msgid "Consider type 'int' to be 16 bits wide"
++msgstr "Сматрај да тип ‘int’ има 16 битова"
++
++#: config/m68k/m68k.opt:172
++msgid "Generate code with library calls for floating point"
++msgstr "Створи кôд Ñа библиотечким позивима за покретни зарез"
++
++#: config/m68k/m68k.opt:176
++msgid "Do not use unaligned memory references"
++msgstr "Ðе кориÑти непоравнате меморијÑке упућиваче"
++
++#: config/m68k/m68k.opt:180
++#, fuzzy
++msgid "Tune for the specified target CPU or architecture"
++msgstr "Ðаведите име циљне архитектуре"
++
++#: config/mmix/mmix.opt:24
++msgid "For intrinsics library: pass all parameters in registers"
++msgstr "За библиотеку ÑопÑтвених: проÑлеђуј Ñве параметре у региÑтрима"
++
++#: config/mmix/mmix.opt:28
++msgid "Use register stack for parameters and return value"
++msgstr "КориÑти Ñтек региÑтара за параметре и повратне вредноÑти"
++
++#: config/mmix/mmix.opt:32
++msgid "Use call-clobbered registers for parameters and return value"
++msgstr "КориÑти позивом продрмане региÑтре за параметре и повратне вредноÑти"
++
++#: config/mmix/mmix.opt:37
++msgid "Use epsilon-respecting floating point compare instructions"
++msgstr "КориÑти поредбене инÑтрукције у покретном зарезу које поштују епÑилон"
++
++#: config/mmix/mmix.opt:41
++msgid "Use zero-extending memory loads, not sign-extending ones"
++msgstr "КориÑти меморијÑка учитавања која проширују нулом, а не знаком"
++
++#: config/mmix/mmix.opt:45
++msgid "Generate divide results with reminder having the same sign as the divisor (not the dividend)"
++msgstr "Стварај резултате дељења Ñа оÑтатком који има иÑти знак као делилац (а не дељеник)"
++
++#: config/mmix/mmix.opt:49
++msgid "Prepend global symbols with \":\" (for use with PREFIX)"
++msgstr "Додај „:“ на почетак глобалних Ñимбола (за употребу Ñа PREFIX)"
++
++#: config/mmix/mmix.opt:53
++msgid "Do not provide a default start-address 0x100 of the program"
++msgstr "Ðе пружај подразумевану почетну адреÑу програма 0x100"
++
++#: config/mmix/mmix.opt:57
++msgid "Link to emit program in ELF format (rather than mmo)"
++msgstr "Повезивање даје програм у формату ЕЛФ (пре него ммо)"
++
++#: config/mmix/mmix.opt:61
++msgid "Use P-mnemonics for branches statically predicted as taken"
++msgstr "КориÑти П-мнемонику за грањања за која је Ñтатички предвиђено да ће бити извршена"
++
++#: config/mmix/mmix.opt:65
++msgid "Don't use P-mnemonics for branches"
++msgstr "Ðе кориÑти П-мнемонику за гранања"
++
++#: config/mmix/mmix.opt:79
++msgid "Use addresses that allocate global registers"
++msgstr "КориÑти адреÑе које резервишу глобалне региÑтре"
++
++#: config/mmix/mmix.opt:83
++msgid "Do not use addresses that allocate global registers"
++msgstr "Ðе кориÑти адреÑе које резервишу глобалне региÑтре"
++
++#: config/mmix/mmix.opt:87
++msgid "Generate a single exit point for each function"
++msgstr "Створи јединÑтвену излазну тачку за Ñваку функцију"
++
++#: config/mmix/mmix.opt:91
++msgid "Do not generate a single exit point for each function"
++msgstr "Ðе Ñтварај јединÑтвену излазну тачку за Ñваку функцију"
++
++#: config/mmix/mmix.opt:95
++msgid "Set start-address of the program"
++msgstr "ПоÑтави почетну адреÑу програма"
++
++#: config/mmix/mmix.opt:99
++msgid "Set start-address of data"
++msgstr "ПоÑтави почетну адреÑу података"
++
++#: config/score/score.opt:31
++msgid "Disable bcnz instruction"
++msgstr "ИÑкључи инÑтрукцију bcnz"
++
++#: config/score/score.opt:35
++msgid "Enable unaligned load/store instruction"
++msgstr "Укључи инÑтрукције непоравнатог учитавања/Ñкладиштења"
++
++#: config/score/score.opt:39
++msgid "Support SCORE 5 ISA"
++msgstr "Подршка за СКОР 5 ИСÐ"
++
++#: config/score/score.opt:43
++msgid "Support SCORE 5U ISA"
++msgstr "Подршка за СКОР 5У ИСÐ"
++
++#: config/score/score.opt:47
++msgid "Support SCORE 7 ISA"
++msgstr "Подршка за СКОР 7 ИСÐ"
++
++#: config/score/score.opt:51
++msgid "Support SCORE 7D ISA"
++msgstr "Подршка за СКОР 7Д ИСÐ"
++
++#: config/score/score.opt:55
++#, fuzzy
++msgid "Support SCORE 3 ISA"
++msgstr "Подршка за СКОР 5 ИСÐ"
++
++#: config/score/score.opt:59
++#, fuzzy
++msgid "Support SCORE 3d ISA"
++msgstr "Подршка за СКОР 5 ИСÐ"
++
++#: config/crx/crx.opt:23
++msgid "Support multiply accumulate instructions"
++msgstr "Подржи инÑтрукције вишеÑтруке акумулације"
++
++#: config/crx/crx.opt:27
++msgid "Do not use push to store function arguments"
++msgstr "Ðе кориÑти push за Ñкладиштење аргумената функције"
++
++#: config/crx/crx.opt:31
++msgid "Restrict doloop to the given nesting level"
++msgstr "Ограничи doloop на дати ниво угњеждења"
++
++#: config/mt/mt.opt:23
++msgid "Use byte loads and stores when generating code."
++msgstr "КориÑти учитавања и Ñкладиштења бајтова при Ñтварању кода."
++
++#: config/mt/mt.opt:31
++msgid "Do not include crt0.o in the startup files"
++msgstr "Ðе укључуј crt0.o у датотеке при покретању"
++
++#: config/mt/mt.opt:35 config/mt/mt.opt:39 config/mt/mt.opt:43
++#: config/mt/mt.opt:47 config/mt/mt.opt:51
++msgid "Internal debug switch"
++msgstr "Унутрашњи прекидач за иÑправљање"
++
++#: config/m68hc11/m68hc11.opt:23 config/m68hc11/m68hc11.opt:31
++msgid "Compile for a 68HC11"
++msgstr "Компилуј за 68ХЦ11"
++
++#: config/m68hc11/m68hc11.opt:27 config/m68hc11/m68hc11.opt:35
++msgid "Compile for a 68HC12"
++msgstr "Компилуј за 68ХЦ12"
++
++#: config/m68hc11/m68hc11.opt:41 config/m68hc11/m68hc11.opt:45
++msgid "Compile for a 68HCS12"
++msgstr "Компилуј за 68ХЦС12"
++
++#: config/m68hc11/m68hc11.opt:49
++msgid "Auto pre/post decrement increment allowed"
++msgstr "ÐутоматÑко пред/поÑÑ‚ увећање/умањење дозвољено"
++
++#: config/m68hc11/m68hc11.opt:53
++msgid "Min/max instructions allowed"
++msgstr "ИнÑтрукције min/max дозвољене"
++
++#: config/m68hc11/m68hc11.opt:57
++msgid "Use call and rtc for function calls and returns"
++msgstr "КориÑти call и rtc за позиве и повратке из функција"
++
++#: config/m68hc11/m68hc11.opt:61
++msgid "Auto pre/post decrement increment not allowed"
++msgstr "ÐутоматÑко пред/поÑÑ‚ увећање/умањење није дозвољено"
++
++#: config/m68hc11/m68hc11.opt:65
++msgid "Use jsr and rts for function calls and returns"
++msgstr "КориÑти jsr и rts за позиве и повратке из функција"
++
++#: config/m68hc11/m68hc11.opt:69
++msgid "Min/max instructions not allowed"
++msgstr "ИнÑтрукције min/max ниÑу дозвољене"
++
++#: config/m68hc11/m68hc11.opt:73
++msgid "Use direct addressing mode for soft registers"
++msgstr "КориÑти режим непоÑредног адреÑирања за меке региÑтре"
++
++#: config/m68hc11/m68hc11.opt:77
++msgid "Compile with 32-bit integer mode"
++msgstr "Компилуј Ñа 32-битним целобројним режимом"
++
++#: config/m68hc11/m68hc11.opt:82
++msgid "Specify the register allocation order"
++msgstr "Одредите редоÑлед резервиÑања региÑтара"
++
++#: config/m68hc11/m68hc11.opt:86
++msgid "Do not use direct addressing mode for soft registers"
++msgstr "Ðе кориÑти режим непоÑредног адреÑирања за меке региÑтре"
++
++#: config/m68hc11/m68hc11.opt:90
++msgid "Compile with 16-bit integer mode"
++msgstr "Компилуј Ñа 16-битним целобројним режимом"
++
++#: config/m68hc11/m68hc11.opt:94
++msgid "Indicate the number of soft registers available"
++msgstr "Ðаведите број доÑтупних меких региÑтара"
++
++#: config/fr30/fr30.opt:23
++msgid "Assume small address space"
++msgstr "ПретпоÑтави мали адреÑни проÑтор"
++
++#: config/sparc/little-endian.opt:23
++msgid "Generate code for little-endian"
++msgstr "Створи кôд за малу крајноÑÑ‚"
++
++#: config/sparc/little-endian.opt:27
++msgid "Generate code for big-endian"
++msgstr "Створи кôд за велику крајноÑÑ‚"
++
++#: config/sparc/sparc.opt:23 config/sparc/sparc.opt:27
++msgid "Use hardware FP"
++msgstr "КориÑти хардверÑки ФП"
++
++#: config/sparc/sparc.opt:31
++msgid "Do not use hardware FP"
++msgstr "Ðе кориÑти хардверÑки ФП"
++
++#: config/sparc/sparc.opt:35
++msgid "Assume possible double misalignment"
++msgstr "ПретпоÑтави могуће двоÑтруко неравнање"
++
++#: config/sparc/sparc.opt:39
++msgid "Pass -assert pure-text to linker"
++msgstr "ПроÑледи -assert pure-text повезивачу"
++
++#: config/sparc/sparc.opt:43
++msgid "Use ABI reserved registers"
++msgstr "КориÑти региÑтре резервиÑане ÐБИјем"
++
++#: config/sparc/sparc.opt:47
++msgid "Use hardware quad FP instructions"
++msgstr "КориÑти хардверÑке четворне ФП инÑтрукције"
++
++#: config/sparc/sparc.opt:51
++msgid "Do not use hardware quad fp instructions"
++msgstr "Ðе кориÑти хардверÑке четворне ФП инÑтрукције"
++
++#: config/sparc/sparc.opt:55
++msgid "Compile for V8+ ABI"
++msgstr "Компилуј за ÐБИ Ð’8+"
++
++#: config/sparc/sparc.opt:59
++msgid "Use UltraSPARC Visual Instruction Set extensions"
++msgstr "КориÑти Ñкуп визуелних инÑтрукција (ВИС) УлтраСПÐРКа"
++
++#: config/sparc/sparc.opt:63
++msgid "Pointers are 64-bit"
++msgstr "Показивачи Ñу 64-битни"
++
++#: config/sparc/sparc.opt:67
++msgid "Pointers are 32-bit"
++msgstr "Показивачи Ñу 32-битни"
++
++#: config/sparc/sparc.opt:71
++msgid "Use 64-bit ABI"
++msgstr "КориÑти 64-битни ÐБИ"
++
++#: config/sparc/sparc.opt:75
++msgid "Use 32-bit ABI"
++msgstr "КориÑти 32-битни ÐБИ"
++
++#: config/sparc/sparc.opt:79
++msgid "Use stack bias"
++msgstr "КориÑти нагињање Ñтека"
++
++#: config/sparc/sparc.opt:83
++msgid "Use structs on stronger alignment for double-word copies"
++msgstr "КориÑти Ñтруктуре на јачем равнању за дворечне копије"
++
++#: config/sparc/sparc.opt:87
++msgid "Optimize tail call instructions in assembler and linker"
++msgstr "Оптимизуј инÑтрукције репних позива у аÑемблеру и повезивачу"
++
++#: config/sparc/sparc.opt:99
++msgid "Use given SPARC-V9 code model"
++msgstr "КориÑти дати модел кôда СПÐРКа Ð’9"
++
++#: config/sparc/sparc.opt:103
++msgid "Enable strict 32-bit psABI struct return checking."
++msgstr "Укључи Ñтрогу проверу враћања Ñтруктуре за 32-битни пÑÐБИ."
++
++#: config/sh/superh.opt:6
++msgid "Board name [and memory region]."
++msgstr "Име табле [и меморијÑке облаÑти]."
++
++#: config/sh/superh.opt:10
++msgid "Runtime name."
++msgstr "Име при извршавању."
++
+ #: config/sh/sh.opt:44
+ msgid "Generate SH1 code"
+ msgstr "Створи кôд за СХ1"
+@@ -13449,467 +14217,19 @@
+ msgid "Pretend a branch-around-a-move is a conditional move."
+ msgstr "Претварај Ñе да је гранање-око-премештања уÑловно премештање."
+
+-#: config/sh/superh.opt:6
+-msgid "Board name [and memory region]."
+-msgstr "Име табле [и меморијÑке облаÑти]."
++#: config/vxworks.opt:24
++msgid "Assume the VxWorks RTP environment"
++msgstr "ПретпоÑтави ВикÑВоркÑово окружење РТП"
+
+-#: config/sh/superh.opt:10
+-msgid "Runtime name."
+-msgstr "Име при извршавању."
++#: config/vxworks.opt:31
++msgid "Assume the VxWorks vThreads environment"
++msgstr "ПретпоÑтави ВикÑВоркÑово окружење вТредÑ"
+
+-#: config/arm/arm.opt:23
+-msgid "Specify an ABI"
+-msgstr "Ðаведите ÐБИ"
++#: config/mips/sdemtk.opt:23
++#, fuzzy
++msgid "Prevent the use of all floating-point operations"
++msgstr "Спречи употребу Ñвих хардверÑких инÑтрукција покретног зареза"
+
+-#: config/arm/arm.opt:27
+-msgid "Generate a call to abort if a noreturn function returns"
+-msgstr "Створи позив за прекидање ако Ñе неповратна функција врати"
+-
+-#: config/arm/arm.opt:34
+-msgid "Pass FP arguments in FP registers"
+-msgstr "ПроÑлеђуј ФП аргументе у ФП региÑтрима"
+-
+-#: config/arm/arm.opt:38
+-msgid "Generate APCS conformant stack frames"
+-msgstr "Стварај оквире Ñтека ÑаглаÑне Ñа ÐПЦСом"
+-
+-#: config/arm/arm.opt:42
+-msgid "Generate re-entrant, PIC code"
+-msgstr "Створи вишеулазни, ПИЦ кôд"
+-
+-#: config/arm/arm.opt:56
+-msgid "Assume target CPU is configured as big endian"
+-msgstr "ПретпоÑтави да је циљни ЦПУ поÑтављен на велику крајноÑÑ‚"
+-
+-#: config/arm/arm.opt:60
+-msgid "Thumb: Assume non-static functions may be called from ARM code"
+-msgstr "Тамб: ПретпоÑтави да Ñе неÑтатичке функције могу позвати из ÐРМ кôда"
+-
+-#: config/arm/arm.opt:64
+-msgid "Thumb: Assume function pointers may go to non-Thumb aware code"
+-msgstr "Тамб: ПретпоÑтави да функцијÑки показивачи могу водити у кôд неÑвеÑтан Тамба"
+-
+-#: config/arm/arm.opt:68
+-msgid "Cirrus: Place NOPs to avoid invalid instruction combinations"
+-msgstr "ЦируÑ: Стављај ÐОПе да би избегао неважеће комбинације инÑтрукција"
+-
+-#: config/arm/arm.opt:72 config/bfin/bfin.opt:27
+-msgid "Specify the name of the target CPU"
+-msgstr "Ðаведите име циљног ЦПУа"
+-
+-#: config/arm/arm.opt:76
+-msgid "Specify if floating point hardware should be used"
+-msgstr "Ðаведите да ли да Ñе кориÑти хардвер за покретан зарез"
+-
+-#: config/arm/arm.opt:90
+-msgid "Specify the name of the target floating point hardware/format"
+-msgstr "Ðаведите име циљног хардвера/формата за покретан зарез"
+-
+-#: config/arm/arm.opt:94
+-msgid "Alias for -mfloat-abi=hard"
+-msgstr "Други назив за -mfloat-abi=hard"
+-
+-#: config/arm/arm.opt:98
+-msgid "Assume target CPU is configured as little endian"
+-msgstr "ПретпоÑтави да је циљни ЦПУ поÑтављен на малу крајноÑÑ‚"
+-
+-#: config/arm/arm.opt:102
+-msgid "Generate call insns as indirect calls, if necessary"
+-msgstr "Стварај ије позива као поÑредне позиве, ако је неопходно"
+-
+-#: config/arm/arm.opt:106
+-msgid "Specify the register to be used for PIC addressing"
+-msgstr "Ðаведите региÑтар који Ñе кориÑти за ПИЦ адреÑирање"
+-
+-#: config/arm/arm.opt:110
+-msgid "Store function names in object code"
+-msgstr "Складишти имена функција у објектном коду"
+-
+-#: config/arm/arm.opt:114
+-msgid "Permit scheduling of a function's prologue sequence"
+-msgstr "Дозволи раÑпоређивање пролошког редоÑледа функције"
+-
+-#: config/arm/arm.opt:118
+-msgid "Do not load the PIC register in function prologues"
+-msgstr "Ðе учитавај ПИЦ региÑтре у пролозима функција"
+-
+-#: config/arm/arm.opt:122
+-msgid "Alias for -mfloat-abi=soft"
+-msgstr "Други назив за -mfloat-abi=soft"
+-
+-#: config/arm/arm.opt:126
+-msgid "Specify the minimum bit alignment of structures"
+-msgstr "Ðаведите најмање битÑко равнање Ñтруктура"
+-
+-#: config/arm/arm.opt:130
+-msgid "Compile for the Thumb not the ARM"
+-msgstr "Компилуј за Тамб, не за ÐРМ"
+-
+-#: config/arm/arm.opt:134
+-msgid "Support calls between Thumb and ARM instruction sets"
+-msgstr "Подржи позиве између Тамба и Ñкупа инÑтрукција ÐРМа"
+-
+-#: config/arm/arm.opt:138
+-msgid "Specify how to access the thread pointer"
+-msgstr "Ðаведите како приÑтупати показивачу нити"
+-
+-#: config/arm/arm.opt:142
+-msgid "Thumb: Generate (non-leaf) stack frames even if not needed"
+-msgstr "Тамб: Стварај (нелиÑнате) оквире Ñтека чак и ако није потребно"
+-
+-#: config/arm/arm.opt:146
+-msgid "Thumb: Generate (leaf) stack frames even if not needed"
+-msgstr "Тамб: Стварај (лиÑнате) оквире Ñтека чак и ако није потребно"
+-
+-#: config/arm/arm.opt:150
+-msgid "Tune code for the given processor"
+-msgstr "Ðаштелуј кôд за дати процеÑор"
+-
+-#: config/arm/arm.opt:154
+-msgid "Assume big endian bytes, little endian words"
+-msgstr "ПретпоÑтави бајтове велике крајноÑти, речи мале"
+-
+-#: config/arm/arm.opt:158
+-msgid "Use Neon quad-word (rather than double-word) registers for vectorization"
+-msgstr ""
+-
+-#: config/arm/pe.opt:23
+-msgid "Ignore dllimport attribute for functions"
+-msgstr "Игнориши атрибут dllimport за функције"
+-
+-#: config/pdp11/pdp11.opt:23
+-msgid "Generate code for an 11/10"
+-msgstr "Створи кôд за 11/10"
+-
+-#: config/pdp11/pdp11.opt:27
+-msgid "Generate code for an 11/40"
+-msgstr "Створи кôд за 11/40"
+-
+-#: config/pdp11/pdp11.opt:31
+-msgid "Generate code for an 11/45"
+-msgstr "Створи кôд за 11/45"
+-
+-#: config/pdp11/pdp11.opt:35
+-msgid "Use 16-bit abs patterns"
+-msgstr "КориÑти 16-битне abs шеме"
+-
+-#: config/pdp11/pdp11.opt:39
+-msgid "Return floating-point results in ac0 (fr0 in Unix assembler syntax)"
+-msgstr "Враћај резултат покретног зареза у ac0 (fr0 у УникÑовој ÑинтакÑи аÑемблера)"
+-
+-#: config/pdp11/pdp11.opt:43
+-msgid "Do not use inline patterns for copying memory"
+-msgstr "Ðе кориÑти уткане шеме за копирање меморије"
+-
+-#: config/pdp11/pdp11.opt:47
+-msgid "Use inline patterns for copying memory"
+-msgstr "КориÑти уткане шеме за копирање меморије"
+-
+-#: config/pdp11/pdp11.opt:51
+-msgid "Do not pretend that branches are expensive"
+-msgstr "Ðе претварај Ñе да Ñу гранања Ñкупа"
+-
+-#: config/pdp11/pdp11.opt:55
+-msgid "Pretend that branches are expensive"
+-msgstr "Претварај Ñе да Ñу гранања Ñкупа"
+-
+-#: config/pdp11/pdp11.opt:59
+-msgid "Use the DEC assembler syntax"
+-msgstr "КориÑти ÑинтакÑу ДЕЦовог аÑемблера"
+-
+-#: config/pdp11/pdp11.opt:63
+-msgid "Use 32 bit float"
+-msgstr "КориÑти 32-битни једноÑтруки"
+-
+-#: config/pdp11/pdp11.opt:67
+-msgid "Use 64 bit float"
+-msgstr "КориÑти 64-битни једноÑтруки"
+-
+-#: config/pdp11/pdp11.opt:75
+-msgid "Use 16 bit int"
+-msgstr "КориÑти 16-битни целобројни"
+-
+-#: config/pdp11/pdp11.opt:79
+-msgid "Use 32 bit int"
+-msgstr "КориÑти 32-битни целобројни"
+-
+-#: config/pdp11/pdp11.opt:87
+-msgid "Target has split I&D"
+-msgstr "Циљ има подељен I&D"
+-
+-#: config/pdp11/pdp11.opt:91
+-msgid "Use UNIX assembler syntax"
+-msgstr "КориÑти УникÑову ÑинтакÑу аÑемблера"
+-
+-#: config/avr/avr.opt:23
+-msgid "Use subroutines for function prologues and epilogues"
+-msgstr "КориÑти потпрограме за прологе и епилоге функција"
+-
+-#: config/avr/avr.opt:27
+-msgid "Select the target MCU"
+-msgstr "Изаберите циљни МЦУ"
+-
+-#: config/avr/avr.opt:34
+-msgid "Use an 8-bit 'int' type"
+-msgstr "КориÑти 8-битни тип ‘int’"
+-
+-#: config/avr/avr.opt:38
+-msgid "Change the stack pointer without disabling interrupts"
+-msgstr "Мењај показивач Ñтека без иÑкључивања прекида"
+-
+-#: config/avr/avr.opt:42
+-msgid "Do not generate tablejump insns"
+-msgstr "Ðе Ñтварај ије tablejump"
+-
+-#: config/avr/avr.opt:52
+-msgid "Use rjmp/rcall (limited range) on >8K devices"
+-msgstr "КориÑти rjmp/rcall (ограничен опÑег) на >8k уређајима"
+-
+-#: config/avr/avr.opt:56
+-msgid "Output instruction sizes to the asm file"
+-msgstr "ИÑпиши величине инÑтрукција у аÑм датотеку"
+-
+-#: config/avr/avr.opt:60
+-msgid "Change only the low 8 bits of the stack pointer"
+-msgstr "Мењај Ñамо доњих 8 битова показивача Ñтека"
+-
+-#: config/crx/crx.opt:23
+-msgid "Support multiply accumulate instructions"
+-msgstr "Подржи инÑтрукције вишеÑтруке акумулације"
+-
+-#: config/crx/crx.opt:27
+-msgid "Do not use push to store function arguments"
+-msgstr "Ðе кориÑти push за Ñкладиштење аргумената функције"
+-
+-#: config/crx/crx.opt:31
+-msgid "Restrict doloop to the given nesting level"
+-msgstr "Ограничи doloop на дати ниво угњеждења"
+-
+-#: config/c4x/c4x.opt:23
+-msgid "Generate code for C30 CPU"
+-msgstr "Створи кôд за ЦПУ Ц30"
+-
+-#: config/c4x/c4x.opt:27
+-msgid "Generate code for C31 CPU"
+-msgstr "Створи кôд за Ц31"
+-
+-#: config/c4x/c4x.opt:31
+-msgid "Generate code for C32 CPU"
+-msgstr "Створи кôд за Ц32"
+-
+-#: config/c4x/c4x.opt:35
+-msgid "Generate code for C33 CPU"
+-msgstr "Створи кôд за Ц33"
+-
+-#: config/c4x/c4x.opt:39
+-msgid "Generate code for C40 CPU"
+-msgstr "Створи кôд за Ц40"
+-
+-#: config/c4x/c4x.opt:43
+-msgid "Generate code for C44 CPU"
+-msgstr "Створи кôд за Ц44"
+-
+-#: config/c4x/c4x.opt:47
+-msgid "Assume that pointers may be aliased"
+-msgstr "ПретпоÑтави да показивачи могу бити дволични"
+-
+-#: config/c4x/c4x.opt:51
+-msgid "Big memory model"
+-msgstr "Велики модел меморије"
+-
+-#: config/c4x/c4x.opt:55
+-msgid "Use the BK register as a general purpose register"
+-msgstr "КориÑти региÑтар BK као региÑтар опште намене"
+-
+-#: config/c4x/c4x.opt:59
+-msgid "Generate code for CPU"
+-msgstr "Створи кôд за ЦПУ"
+-
+-#: config/c4x/c4x.opt:63
+-msgid "Enable use of DB instruction"
+-msgstr "Укључи употребу ДБ инÑтрукција"
+-
+-#: config/c4x/c4x.opt:67
+-msgid "Enable debugging"
+-msgstr "Укључи иÑправљање"
+-
+-#: config/c4x/c4x.opt:71
+-msgid "Enable new features under development"
+-msgstr "Укључи нове могућноÑти у развоју"
+-
+-#: config/c4x/c4x.opt:75
+-msgid "Use fast but approximate float to integer conversion"
+-msgstr "КориÑти брзо али приближно претварање реалног у целобројно"
+-
+-#: config/c4x/c4x.opt:79
+-msgid "Force RTL generation to emit valid 3 operand insns"
+-msgstr "Спроведи Ñтварање РТЛа да емитује важеће трооперандÑке ије"
+-
+-#: config/c4x/c4x.opt:83
+-msgid "Force constants into registers to improve hoisting"
+-msgstr "Спроведи конÑтанте у региÑтре ради побољшања подизања"
+-
+-#: config/c4x/c4x.opt:87 config/c4x/c4x.opt:111
+-msgid "Save DP across ISR in small memory model"
+-msgstr "Снимај DP преко ИСРа у малом меморијÑком моделу"
+-
+-#: config/c4x/c4x.opt:91
+-msgid "Allow unsigned iteration counts for RPTB/DB"
+-msgstr "Дозволи неозначене бројаче итерација за RPTB/DB"
+-
+-#: config/c4x/c4x.opt:95
+-msgid "Pass arguments on the stack"
+-msgstr "ПроÑлеђуј аргументе на Ñтеку"
+-
+-#: config/c4x/c4x.opt:99
+-msgid "Use MPYI instruction for C3x"
+-msgstr "КориÑти инÑтрукцију MPYI за Ц3н"
+-
+-#: config/c4x/c4x.opt:103
+-msgid "Enable parallel instructions"
+-msgstr "Укључи паралелне инÑтрукције"
+-
+-#: config/c4x/c4x.opt:107
+-msgid "Enable MPY||ADD and MPY||SUB instructions"
+-msgstr "Укључи инÑтрукције MPY||ADD и MPY||SUB"
+-
+-#: config/c4x/c4x.opt:115
+-msgid "Preserve all 40 bits of FP reg across call"
+-msgstr "Сачувај Ñвих 40 битова ФП региÑтра преко позива"
+-
+-#: config/c4x/c4x.opt:119
+-msgid "Pass arguments in registers"
+-msgstr "ПроÑлеђуј Ñве аргументе у региÑтрима"
+-
+-#: config/c4x/c4x.opt:123
+-msgid "Enable use of RTPB instruction"
+-msgstr "Укључи употребу инÑтрукције RPTB"
+-
+-#: config/c4x/c4x.opt:127
+-msgid "Enable use of RTPS instruction"
+-msgstr "Укључи употребу инÑтрукције RPTS"
+-
+-#: config/c4x/c4x.opt:131
+-msgid "Set the maximum number of iterations for RPTS to N"
+-msgstr "ПоÑтави највећи број итерација за RPTS на N"
+-
+-#: config/c4x/c4x.opt:135
+-msgid "Small memory model"
+-msgstr "Мали модел меморије"
+-
+-#: config/c4x/c4x.opt:139
+-msgid "Emit code compatible with TI tools"
+-msgstr "Емитуј кôд ÑаглаÑан Ñа ТИјевим алатима"
+-
+-#: config/pa/pa-hpux.opt:23
+-msgid "Generate cpp defines for server IO"
+-msgstr "Стварај Ц++ дефиниције за У/И Ñервера"
+-
+-#: config/pa/pa-hpux.opt:27 config/pa/pa-hpux1010.opt:23
+-#: config/pa/pa-hpux1111.opt:23
+-msgid "Specify UNIX standard for predefines and linking"
+-msgstr "Одредите Ñтандард УникÑа за предефиниције и повезивање"
+-
+-#: config/pa/pa-hpux.opt:31
+-msgid "Generate cpp defines for workstation IO"
+-msgstr "Стварај Ц++ дефиниције за У/И радне Ñтанице"
+-
+-#: config/pa/pa.opt:23 config/pa/pa.opt:76 config/pa/pa.opt:84
+-msgid "Generate PA1.0 code"
+-msgstr "Створи ПÐ1.0 кôд"
+-
+-#: config/pa/pa.opt:27 config/pa/pa.opt:88 config/pa/pa.opt:108
+-msgid "Generate PA1.1 code"
+-msgstr "Створи ПÐ1.1 кôд"
+-
+-#: config/pa/pa.opt:31 config/pa/pa.opt:92
+-msgid "Generate PA2.0 code (requires binutils 2.10 or later)"
+-msgstr "Створи ПÐ2.0 кôд (захтева binutils 2.10 или новији)"
+-
+-#: config/pa/pa.opt:35
+-msgid "Generate code for huge switch statements"
+-msgstr "Створи кôд за огромне наредбе прекидача"
+-
+-#: config/pa/pa.opt:39
+-msgid "Disable FP regs"
+-msgstr "ИÑкључи ФП региÑтре"
+-
+-#: config/pa/pa.opt:43
+-msgid "Disable indexed addressing"
+-msgstr "ИÑкључи индекÑно адреÑирање"
+-
+-#: config/pa/pa.opt:47
+-msgid "Generate fast indirect calls"
+-msgstr "Стварај брзе поÑредне позиве"
+-
+-#: config/pa/pa.opt:55
+-msgid "Assume code will be assembled by GAS"
+-msgstr "ПретпоÑтави да ће кôд ÑаÑтавити ГÐС"
+-
+-#: config/pa/pa.opt:59
+-msgid "Put jumps in call delay slots"
+-msgstr "Стављај Ñкокове у жлебове заÑтоја позива"
+-
+-#: config/pa/pa.opt:64
+-msgid "Enable linker optimizations"
+-msgstr "Укључи оптимизације повезивача"
+-
+-#: config/pa/pa.opt:68
+-msgid "Always generate long calls"
+-msgstr "Увек Ñтварај дуге позиве"
+-
+-#: config/pa/pa.opt:72
+-msgid "Emit long load/store sequences"
+-msgstr "Емитуј дуге редоÑледе учитавања/упиÑивања"
+-
+-#: config/pa/pa.opt:80
+-msgid "Disable space regs"
+-msgstr "ИÑкључи региÑтре размака"
+-
+-#: config/pa/pa.opt:96
+-msgid "Use portable calling conventions"
+-msgstr "КориÑти преноÑиве конвенције позивања"
+-
+-#: config/pa/pa.opt:100
+-msgid "Specify CPU for scheduling purposes. Valid arguments are 700, 7100, 7100LC, 7200, 7300, and 8000"
+-msgstr "Одредите ЦПУ ради раÑпоређивања. Могући аргументи Ñу 700, 7100, 7100LC, 7200, 7300, и 8000"
+-
+-#: config/pa/pa.opt:112
+-msgid "Do not disable space regs"
+-msgstr "Ðе иÑкључуј региÑтре размака"
+-
+-#: config/pa/pa64-hpux.opt:23
+-msgid "Assume code will be linked by GNU ld"
+-msgstr "ПретпоÑтави да ће кôд повезивати Гнуов ld"
+-
+-#: config/pa/pa64-hpux.opt:27
+-msgid "Assume code will be linked by HP ld"
+-msgstr "ПретпоÑтави да ће кôд повезивати ХПов ld"
+-
+-#: config/xtensa/xtensa.opt:23
+-msgid "Use CONST16 instruction to load constants"
+-msgstr "КориÑти КОÐСТ16 инÑтрукцију за учитавање конÑтанти"
+-
+-#: config/xtensa/xtensa.opt:27
+-msgid "Enable fused multiply/add and multiply/subtract FP instructions"
+-msgstr "Укључи ФП инÑтрукције Ñтопљеног множења-додавања и множења-одузимања"
+-
+-#: config/xtensa/xtensa.opt:31
+-msgid "Use indirect CALLXn instructions for large programs"
+-msgstr "КориÑти поÑредне инÑтрукције CALLXn за велике програме"
+-
+-#: config/xtensa/xtensa.opt:35
+-msgid "Automatically align branch targets to reduce branch penalties"
+-msgstr "ÐутоматÑки равнај циљеве гранања ради Ñмањења губитака при грањању"
+-
+-#: config/xtensa/xtensa.opt:39
+-msgid "Intersperse literal pools with code in the text section"
+-msgstr "Умешај депое доÑловних ниÑки Ñа кôдом у текÑтуалном одељку"
+-
+-#: config/stormy16/stormy16.opt:24
+-msgid "Provide libraries for the simulator"
+-msgstr "Пружи библиотеке за Ñимулатор"
+-
+ #: config/mips/mips.opt:23
+ msgid "Generate code that conforms to the given ABI"
+ msgstr "Створи кôд који поштује дати ÐБИ"
+@@ -13981,10 +14301,6 @@
+ msgid "Use little-endian byte order"
+ msgstr "КориÑти редоÑлед бајтова мале крајноÑти"
+
+-#: config/mips/mips.opt:97 config/iq2000/iq2000.opt:31
+-msgid "Use ROM instead of RAM"
+-msgstr "КориÑти РОМ умеÑто РÐМа"
+-
+ #: config/mips/mips.opt:101
+ msgid "Use NewABI-style %reloc() assembly operators"
+ msgstr "КориÑти аÑемблерÑке операторе %reloc() у Ñтилу ЊуÐБИја"
+@@ -14156,10 +14472,6 @@
+ msgid "Optimize the output for PROCESSOR"
+ msgstr "Оптимизуј излаз за дати процеÑор"
+
+-#: config/mips/mips.opt:265 config/iq2000/iq2000.opt:44
+-msgid "Put uninitialized constants in ROM (needs -membedded-data)"
+-msgstr "Стави неуÑпоÑтављене конÑтанте у РОМу (захтева -membedded-data)"
+-
+ #: config/mips/mips.opt:269
+ msgid "Perform VR4130-specific alignment optimizations"
+ msgstr "Оптимизуј равнање поÑебно за ВР4130"
+@@ -14168,367 +14480,6 @@
+ msgid "Lift restrictions on GOT size"
+ msgstr "ОтпуÑти ограничења на величину GOT"
+
+-#: config/mips/sdemtk.opt:23
+-#, fuzzy
+-msgid "Prevent the use of all floating-point operations"
+-msgstr "Спречи употребу Ñвих хардверÑких инÑтрукција покретног зареза"
+-
+-#: config/fr30/fr30.opt:23
+-msgid "Assume small address space"
+-msgstr "ПретпоÑтави мали адреÑни проÑтор"
+-
+-#: config/m68hc11/m68hc11.opt:23 config/m68hc11/m68hc11.opt:31
+-msgid "Compile for a 68HC11"
+-msgstr "Компилуј за 68ХЦ11"
+-
+-#: config/m68hc11/m68hc11.opt:27 config/m68hc11/m68hc11.opt:35
+-msgid "Compile for a 68HC12"
+-msgstr "Компилуј за 68ХЦ12"
+-
+-#: config/m68hc11/m68hc11.opt:41 config/m68hc11/m68hc11.opt:45
+-msgid "Compile for a 68HCS12"
+-msgstr "Компилуј за 68ХЦС12"
+-
+-#: config/m68hc11/m68hc11.opt:49
+-msgid "Auto pre/post decrement increment allowed"
+-msgstr "ÐутоматÑко пред/поÑÑ‚ увећање/умањење дозвољено"
+-
+-#: config/m68hc11/m68hc11.opt:53
+-msgid "Min/max instructions allowed"
+-msgstr "ИнÑтрукције min/max дозвољене"
+-
+-#: config/m68hc11/m68hc11.opt:57
+-msgid "Use call and rtc for function calls and returns"
+-msgstr "КориÑти call и rtc за позиве и повратке из функција"
+-
+-#: config/m68hc11/m68hc11.opt:61
+-msgid "Auto pre/post decrement increment not allowed"
+-msgstr "ÐутоматÑко пред/поÑÑ‚ увећање/умањење није дозвољено"
+-
+-#: config/m68hc11/m68hc11.opt:65
+-msgid "Use jsr and rts for function calls and returns"
+-msgstr "КориÑти jsr и rts за позиве и повратке из функција"
+-
+-#: config/m68hc11/m68hc11.opt:69
+-msgid "Min/max instructions not allowed"
+-msgstr "ИнÑтрукције min/max ниÑу дозвољене"
+-
+-#: config/m68hc11/m68hc11.opt:73
+-msgid "Use direct addressing mode for soft registers"
+-msgstr "КориÑти режим непоÑредног адреÑирања за меке региÑтре"
+-
+-#: config/m68hc11/m68hc11.opt:77
+-msgid "Compile with 32-bit integer mode"
+-msgstr "Компилуј Ñа 32-битним целобројним режимом"
+-
+-#: config/m68hc11/m68hc11.opt:82
+-msgid "Specify the register allocation order"
+-msgstr "Одредите редоÑлед резервиÑања региÑтара"
+-
+-#: config/m68hc11/m68hc11.opt:86
+-msgid "Do not use direct addressing mode for soft registers"
+-msgstr "Ðе кориÑти режим непоÑредног адреÑирања за меке региÑтре"
+-
+-#: config/m68hc11/m68hc11.opt:90
+-msgid "Compile with 16-bit integer mode"
+-msgstr "Компилуј Ñа 16-битним целобројним режимом"
+-
+-#: config/m68hc11/m68hc11.opt:94
+-msgid "Indicate the number of soft registers available"
+-msgstr "Ðаведите број доÑтупних меких региÑтара"
+-
+-#: config/vax/vax.opt:23 config/vax/vax.opt:27
+-msgid "Target DFLOAT double precision code"
+-msgstr "Циљ је кôд двоÑтруке тачноÑти DFLOAT"
+-
+-#: config/vax/vax.opt:31 config/vax/vax.opt:35
+-msgid "Generate GFLOAT double precision code"
+-msgstr "Створи кôд двоÑтруке тачноÑти GFLOAT"
+-
+-#: config/vax/vax.opt:39
+-msgid "Generate code for GNU assembler (gas)"
+-msgstr "Створи кôд за Гнуов аÑемблер (gas)"
+-
+-#: config/vax/vax.opt:43
+-msgid "Generate code for UNIX assembler"
+-msgstr "Створи кôд за УникÑов аÑемблер"
+-
+-#: config/vax/vax.opt:47
+-msgid "Use VAXC structure conventions"
+-msgstr "КориÑти конвенције VAXC за Ñтруктуре"
+-
+-#: config/cris/linux.opt:27
+-msgid "Together with -fpic and -fPIC, do not use GOTPLT references"
+-msgstr "Заједно Ñа -fpic и -fPIC, не кориÑти упућивања GOTPLT"
+-
+-#: config/cris/cris.opt:45
+-msgid "Work around bug in multiplication instruction"
+-msgstr "Заобиђи грешку у инÑтрукцији множења"
+-
+-#: config/cris/cris.opt:51
+-msgid "Compile for ETRAX 4 (CRIS v3)"
+-msgstr "Компилуј за Ð•Ñ‚Ñ€Ð°ÐºÑ 4 (КРИС в3)"
+-
+-#: config/cris/cris.opt:56
+-msgid "Compile for ETRAX 100 (CRIS v8)"
+-msgstr "Компилуј за Ð•Ñ‚Ñ€Ð°ÐºÑ 100 (КРИС в8)"
+-
+-#: config/cris/cris.opt:64
+-msgid "Emit verbose debug information in assembly code"
+-msgstr "Емитуј опширне иÑправљачке информације у аÑемблерÑком кôду"
+-
+-#: config/cris/cris.opt:71
+-msgid "Do not use condition codes from normal instructions"
+-msgstr "Ðе кориÑти уÑловне кôдове из нормалних инÑтрукција"
+-
+-#: config/cris/cris.opt:80
+-msgid "Do not emit addressing modes with side-effect assignment"
+-msgstr "Ðе емитуј адреÑне режиме уз доделу Ñа Ñпоредним ефектима"
+-
+-#: config/cris/cris.opt:89
+-msgid "Do not tune stack alignment"
+-msgstr "Ðе подешавај равнање Ñтека"
+-
+-#: config/cris/cris.opt:98
+-msgid "Do not tune writable data alignment"
+-msgstr "Ðе подешавај равнање упиÑивих података"
+-
+-#: config/cris/cris.opt:107
+-msgid "Do not tune code and read-only data alignment"
+-msgstr "Ðе подешавај равнање података кôда и оних Ñамо-за-читање"
+-
+-#: config/cris/cris.opt:116
+-msgid "Align code and data to 32 bits"
+-msgstr "Равнај кôд и податке на 32 бита"
+-
+-#: config/cris/cris.opt:133
+-msgid "Don't align items in code or data"
+-msgstr "Ðе равнај Ñтавке у кôду и подацима"
+-
+-#: config/cris/cris.opt:142
+-msgid "Do not emit function prologue or epilogue"
+-msgstr "Ðе емитуј пролог и епилог функција"
+-
+-#: config/cris/cris.opt:149
+-msgid "Use the most feature-enabling options allowed by other options"
+-msgstr "КориÑти опцију која пружа највише могућноÑти дозвољених другим опцијама"
+-
+-#: config/cris/cris.opt:158
+-msgid "Override -mbest-lib-options"
+-msgstr "ПотиÑни -mbest-lib-options"
+-
+-#: config/cris/cris.opt:165
+-msgid "Generate code for the specified chip or CPU version"
+-msgstr "Створи кôд за наведени чип или верзију ЦПУа"
+-
+-#: config/cris/cris.opt:169
+-msgid "Tune alignment for the specified chip or CPU version"
+-msgstr "ПодеÑи равнање за наведени чип или верзију ЦПУа"
+-
+-#: config/cris/cris.opt:173
+-msgid "Warn when a stackframe is larger than the specified size"
+-msgstr "Упозори када је оквир Ñтека већи од одређене величине"
+-
+-#: config/cris/aout.opt:27
+-msgid "Compile for the MMU-less Etrax 100-based elinux system"
+-msgstr "Компилуј за ÑиÑтем Ð•Ð»Ð¸Ð½ÑƒÐºÑ Ð½Ð° оÑнову ЕтракÑа 100 без ММУа"
+-
+-#: config/cris/aout.opt:33
+-msgid "For elinux, request a specified stack-size for this program"
+-msgstr "За ЕлинукÑ, захтевај одређену величину Ñтека у овом програму"
+-
+-#: config/h8300/h8300.opt:23
+-msgid "Generate H8S code"
+-msgstr "Створи кôд за Х8С"
+-
+-#: config/h8300/h8300.opt:27
+-msgid "Generate H8SX code"
+-msgstr "Створи кôд за Ð¥8СИкÑ"
+-
+-#: config/h8300/h8300.opt:31
+-msgid "Generate H8S/2600 code"
+-msgstr "Створи кôд за Х8С/2600"
+-
+-#: config/h8300/h8300.opt:35
+-msgid "Make integers 32 bits wide"
+-msgstr "Ðека целобројни тип буде 32-битни"
+-
+-#: config/h8300/h8300.opt:42
+-msgid "Use registers for argument passing"
+-msgstr "КориÑти региÑтре за проÑлеђивање аргумената"
+-
+-#: config/h8300/h8300.opt:46
+-msgid "Consider access to byte sized memory slow"
+-msgstr "Сматрај Ñпорим приÑтуп меморији бајтне величине"
+-
+-#: config/h8300/h8300.opt:50
+-msgid "Enable linker relaxing"
+-msgstr "Укључи опуштање при повезивању"
+-
+-#: config/h8300/h8300.opt:54
+-msgid "Generate H8/300H code"
+-msgstr "Створи кôд за Х8/300Х"
+-
+-#: config/h8300/h8300.opt:58
+-msgid "Enable the normal mode"
+-msgstr "Укључи нормалан режим"
+-
+-#: config/h8300/h8300.opt:62
+-msgid "Use H8/300 alignment rules"
+-msgstr "КориÑти правила равнања за Ð¥8/300"
+-
+-#: config/v850/v850.opt:23
+-msgid "Use registers r2 and r5"
+-msgstr "КориÑти региÑтре r2 и r5"
+-
+-#: config/v850/v850.opt:27
+-msgid "Use 4 byte entries in switch tables"
+-msgstr "КориÑти 4-бајтне уноÑе у табелама пребацивања"
+-
+-#: config/v850/v850.opt:31
+-msgid "Enable backend debugging"
+-msgstr "Укључи иÑправљање зачеља"
+-
+-#: config/v850/v850.opt:35
+-msgid "Do not use the callt instruction"
+-msgstr "Ðе кориÑти инÑтрукцију callt"
+-
+-#: config/v850/v850.opt:39
+-msgid "Reuse r30 on a per function basis"
+-msgstr "Поново кориÑти r30 од функције до функције"
+-
+-#: config/v850/v850.opt:43
+-msgid "Support Green Hills ABI"
+-msgstr "Подржи ÐБИ Грин ХилÑ"
+-
+-#: config/v850/v850.opt:47
+-msgid "Prohibit PC relative function calls"
+-msgstr "Забрани позиве функција у одноÑу на ПЦ"
+-
+-#: config/v850/v850.opt:51
+-msgid "Use stubs for function prologues"
+-msgstr "КориÑти клице за прологе функција"
+-
+-#: config/v850/v850.opt:55
+-msgid "Set the max size of data eligible for the SDA area"
+-msgstr "Ðајвећа величина података подеÑних за облаÑÑ‚ СДÐ"
+-
+-#: config/v850/v850.opt:59
+-msgid "Enable the use of the short load instructions"
+-msgstr "Укључи употребу инÑтрукције кратког учитавања"
+-
+-#: config/v850/v850.opt:63
+-msgid "Same as: -mep -mprolog-function"
+-msgstr "ИÑто као: -mep -mprolog-function"
+-
+-#: config/v850/v850.opt:67
+-msgid "Set the max size of data eligible for the TDA area"
+-msgstr "Ðајвећа величина података подеÑних за облаÑÑ‚ ТДÐ"
+-
+-#: config/v850/v850.opt:71
+-msgid "Enforce strict alignment"
+-msgstr "Спроведи Ñтрого равнање"
+-
+-#: config/v850/v850.opt:78
+-msgid "Compile for the v850 processor"
+-msgstr "Компилуј за процеÑор в850"
+-
+-#: config/v850/v850.opt:82
+-msgid "Compile for the v850e processor"
+-msgstr "Компилуј за процеÑор в850е"
+-
+-#: config/v850/v850.opt:86
+-msgid "Compile for the v850e1 processor"
+-msgstr "Компилуј за процеÑор в850е1"
+-
+-#: config/v850/v850.opt:90
+-msgid "Set the max size of data eligible for the ZDA area"
+-msgstr "Ðајвећа величина података подеÑних за облаÑÑ‚ ЗДÐ"
+-
+-#: config/mmix/mmix.opt:24
+-msgid "For intrinsics library: pass all parameters in registers"
+-msgstr "За библиотеку ÑопÑтвених: проÑлеђуј Ñве параметре у региÑтрима"
+-
+-#: config/mmix/mmix.opt:28
+-msgid "Use register stack for parameters and return value"
+-msgstr "КориÑти Ñтек региÑтара за параметре и повратне вредноÑти"
+-
+-#: config/mmix/mmix.opt:32
+-msgid "Use call-clobbered registers for parameters and return value"
+-msgstr "КориÑти позивом продрмане региÑтре за параметре и повратне вредноÑти"
+-
+-#: config/mmix/mmix.opt:37
+-msgid "Use epsilon-respecting floating point compare instructions"
+-msgstr "КориÑти поредбене инÑтрукције у покретном зарезу које поштују епÑилон"
+-
+-#: config/mmix/mmix.opt:41
+-msgid "Use zero-extending memory loads, not sign-extending ones"
+-msgstr "КориÑти меморијÑка учитавања која проширују нулом, а не знаком"
+-
+-#: config/mmix/mmix.opt:45
+-msgid "Generate divide results with reminder having the same sign as the divisor (not the dividend)"
+-msgstr "Стварај резултате дељења Ñа оÑтатком који има иÑти знак као делилац (а не дељеник)"
+-
+-#: config/mmix/mmix.opt:49
+-msgid "Prepend global symbols with \":\" (for use with PREFIX)"
+-msgstr "Додај „:“ на почетак глобалних Ñимбола (за употребу Ñа PREFIX)"
+-
+-#: config/mmix/mmix.opt:53
+-msgid "Do not provide a default start-address 0x100 of the program"
+-msgstr "Ðе пружај подразумевану почетну адреÑу програма 0x100"
+-
+-#: config/mmix/mmix.opt:57
+-msgid "Link to emit program in ELF format (rather than mmo)"
+-msgstr "Повезивање даје програм у формату ЕЛФ (пре него ммо)"
+-
+-#: config/mmix/mmix.opt:61
+-msgid "Use P-mnemonics for branches statically predicted as taken"
+-msgstr "КориÑти П-мнемонику за грањања за која је Ñтатички предвиђено да ће бити извршена"
+-
+-#: config/mmix/mmix.opt:65
+-msgid "Don't use P-mnemonics for branches"
+-msgstr "Ðе кориÑти П-мнемонику за гранања"
+-
+-#: config/mmix/mmix.opt:79
+-msgid "Use addresses that allocate global registers"
+-msgstr "КориÑти адреÑе које резервишу глобалне региÑтре"
+-
+-#: config/mmix/mmix.opt:83
+-msgid "Do not use addresses that allocate global registers"
+-msgstr "Ðе кориÑти адреÑе које резервишу глобалне региÑтре"
+-
+-#: config/mmix/mmix.opt:87
+-msgid "Generate a single exit point for each function"
+-msgstr "Створи јединÑтвену излазну тачку за Ñваку функцију"
+-
+-#: config/mmix/mmix.opt:91
+-msgid "Do not generate a single exit point for each function"
+-msgstr "Ðе Ñтварај јединÑтвену излазну тачку за Ñваку функцију"
+-
+-#: config/mmix/mmix.opt:95
+-msgid "Set start-address of the program"
+-msgstr "ПоÑтави почетну адреÑу програма"
+-
+-#: config/mmix/mmix.opt:99
+-msgid "Set start-address of data"
+-msgstr "ПоÑтави почетну адреÑу података"
+-
+-#: config/iq2000/iq2000.opt:23 config/mt/mt.opt:55
+-msgid "Specify CPU for code generation purposes"
+-msgstr "Ðаведите ЦПУ у Ñврху Ñтварања кода"
+-
+-#: config/iq2000/iq2000.opt:27
+-msgid "Specify CPU for scheduling purposes"
+-msgstr "Одредите ЦПУ ради раÑпоређивања"
+-
+-#: config/iq2000/iq2000.opt:35
+-msgid "Use GP relative sdata/sbss sections"
+-msgstr "КориÑти одељке sdata/sbss релативне према GP"
+-
+-#: config/iq2000/iq2000.opt:40
+-msgid "No default crt0.o"
+-msgstr "Без подразумеване crt0.o"
+-
+ #: config/bfin/bfin.opt:31
+ msgid "Omit frame pointer for leaf functions"
+ msgstr "ИзоÑтави показивач оквира за функције-лиÑтове"
+@@ -14566,2071 +14517,2090 @@
+ msgid "Do stack checking using bounds in L1 scratch memory"
+ msgstr ""
+
+-#: config/mt/mt.opt:23
+-msgid "Use byte loads and stores when generating code."
+-msgstr "КориÑти учитавања и Ñкладиштења бајтова при Ñтварању кода."
++#: treelang/lang.opt:30
++msgid "Trace lexical analysis"
++msgstr "Прати лекÑичку анализу"
+
+-#: config/mt/mt.opt:31
+-msgid "Do not include crt0.o in the startup files"
+-msgstr "Ðе укључуј crt0.o у датотеке при покретању"
++#: treelang/lang.opt:34
++msgid "Trace the parsing process"
++msgstr "Прати поÑтупак рашчлањивања"
+
+-#: config/mt/mt.opt:35 config/mt/mt.opt:39 config/mt/mt.opt:43
+-#: config/mt/mt.opt:47 config/mt/mt.opt:51
+-msgid "Internal debug switch"
+-msgstr "Унутрашњи прекидач за иÑправљање"
++#: java/lang.opt:65
++msgid "Warn if a deprecated compiler feature, class, method, or field is used"
++msgstr "Упозори ако Ñе употреби превазиђена могућноÑÑ‚ компилатора, клаÑа, метод или поље"
+
+-#: config/vxworks.opt:24
+-msgid "Assume the VxWorks RTP environment"
+-msgstr "ПретпоÑтави ВикÑВоркÑово окружење РТП"
++#: java/lang.opt:69
++msgid "Warn if deprecated empty statements are found"
++msgstr "Упозори ако Ñе нађе превазиђена празна наредба"
+
+-#: config/vxworks.opt:31
+-msgid "Assume the VxWorks vThreads environment"
+-msgstr "ПретпоÑтави ВикÑВоркÑово окружење вТредÑ"
++#: java/lang.opt:73
++msgid "Warn if .class files are out of date"
++msgstr "Упозори ако Ñу клаÑне датотеке заÑтареле"
+
+-#: config/darwin.opt:23
+-msgid "Generate code suitable for fast turn around debugging"
+-msgstr "Створи кôд погодан за иÑправљање при брзим обртима"
++#: java/lang.opt:77
++msgid "Warn if modifiers are specified when not necessary"
++msgstr "Упозори ако Ñу модификатори задати када није неопходно"
+
+-#: config/darwin.opt:31
+-msgid "The earliest MacOS X version on which this program will run"
+-msgstr "Ðајранија верзија МекОСа X на којој ће овај програм радити"
++#: java/lang.opt:81
++msgid "Deprecated; use --classpath instead"
++msgstr "Превазиђено; кориÑтите --classpath"
+
+-#: config/darwin.opt:35
+-msgid "Set sizeof(bool) to 1"
+-msgstr "ПоÑтави sizeof(bool) на 1"
++#: java/lang.opt:88
++msgid "Permit the use of the assert keyword"
++msgstr "Дозволи употребу кључне речи assert"
+
+-#: config/darwin.opt:39
+-#, fuzzy
+-msgid "Generate code for darwin loadable kernel extensions"
+-msgstr "Створи кôд за проширења језгра Дарвин за учитавање"
++#: java/lang.opt:110
++msgid "Replace system path"
++msgstr "Замени ÑиÑтемÑку путању"
+
+-#: config/darwin.opt:43
+-#, fuzzy
+-msgid "Generate code for the kernel or loadable kernel extensions"
+-msgstr "Створи кôд за проширења језгра или проширења језгра за учитавање"
++#: java/lang.opt:114
++msgid "Generate checks for references to NULL"
++msgstr "Стварај провере за упућиваче на NULL"
+
+-#: config/darwin.opt:47
+-#, fuzzy
+-msgid "Add <dir> to the end of the system framework include path"
+-msgstr "Додај <dir> на крај главне путање укључивања радног оквира"
++#: java/lang.opt:118
++msgid "Set class path"
++msgstr "ПоÑтави клаÑну путању"
+
+-#: config/lynx.opt:23
+-msgid "Support legacy multi-threading"
+-msgstr "Подржи заÑтарелу вишенитноÑÑ‚"
++#: java/lang.opt:125
++msgid "Output a class file"
++msgstr "ИÑпиши клаÑну датотеку"
+
+-#: config/lynx.opt:27
+-msgid "Use shared libraries"
+-msgstr "КориÑти дељене библиотеке"
++#: java/lang.opt:129
++msgid "Alias for -femit-class-file"
++msgstr "Други назив за -femit-class-file"
+
+-#: config/lynx.opt:31
+-msgid "Support multi-threading"
+-msgstr "Подржи вишенитноÑÑ‚"
++#: java/lang.opt:133
++msgid "Choose input encoding (defaults from your locale)"
++msgstr "Изаберите улазно кодирање (подразумевано из локалитета)"
+
+-#: config/score/score.opt:31
+-msgid "Disable bcnz instruction"
+-msgstr "ИÑкључи инÑтрукцију bcnz"
++#: java/lang.opt:137
++msgid "Set the extension directory path"
++msgstr "ПоÑтави путању директоријума проширења"
+
+-#: config/score/score.opt:35
+-msgid "Enable unaligned load/store instruction"
+-msgstr "Укључи инÑтрукције непоравнатог учитавања/Ñкладиштења"
++#: java/lang.opt:144
++msgid "Input file is a file with a list of filenames to compile"
++msgstr "Улазна датотека је датотека Ñа лиÑтом имена за компиловање"
+
+-#: config/score/score.opt:39
+-msgid "Support SCORE 5 ISA"
+-msgstr "Подршка за СКОР 5 ИСÐ"
++#: java/lang.opt:151
++msgid "Always check for non gcj generated classes archives"
++msgstr "Увек проверавај да ли Ñу архиве клаÑа Ñтворене ГЦЈом"
+
+-#: config/score/score.opt:43
+-msgid "Support SCORE 5U ISA"
+-msgstr "Подршка за СКОР 5У ИСÐ"
++#: java/lang.opt:155
++msgid "Assume the runtime uses a hash table to map an object to its synchronization structure"
++msgstr "ПретпоÑтави да машина кориÑти хрпу да мапира објекат у Ñвоју Ñинхронизациону Ñтруктуру"
+
+-#: config/score/score.opt:47
+-msgid "Support SCORE 7 ISA"
+-msgstr "Подршка за СКОР 7 ИСÐ"
++#: java/lang.opt:159
++msgid "Generate instances of Class at runtime"
++msgstr "Стварај примерке Class при извршавању"
+
+-#: config/score/score.opt:51
+-msgid "Support SCORE 7D ISA"
+-msgstr "Подршка за СКОР 7Д ИСÐ"
++#: java/lang.opt:163
++msgid "Use offset tables for virtual method calls"
++msgstr "КориÑти табеле помака за позиве виртуелних метода"
+
+-#: config/score/score.opt:55
+-#, fuzzy
+-msgid "Support SCORE 3 ISA"
+-msgstr "Подршка за СКОР 5 ИСÐ"
++#: java/lang.opt:170
++msgid "Assume native functions are implemented using JNI"
++msgstr "ПретпоÑтави да Ñу урођене функције имплементиране ЈÐИјем"
+
+-#: config/score/score.opt:59
+-#, fuzzy
+-msgid "Support SCORE 3d ISA"
+-msgstr "Подршка за СКОР 5 ИСÐ"
++#: java/lang.opt:174
++msgid "Enable optimization of static class initialization code"
++msgstr "Укључи оптимизацију Ñтатичког кода за уÑпоÑтављање клаÑе"
+
+-#: config/linux.opt:24
+-msgid "Use uClibc instead of GNU libc"
+-msgstr "КориÑти уЦлибц умеÑто Глибц"
++#: java/lang.opt:181
++msgid "Reduce the amount of reflection meta-data generated"
++msgstr "Смањи количину Ñтворених метаподатака рефлекције"
+
+-#: config/linux.opt:28
+-msgid "Use GNU libc instead of uClibc"
+-msgstr "КориÑти Глибц умеÑто уЦлибц"
++#: java/lang.opt:185
++msgid "Enable assignability checks for stores into object arrays"
++msgstr "Укључи провере додељивоÑти за Ñладиштења у објектне низове"
+
+-#: c.opt:41
+-msgid "Assert the <answer> to <question>. Putting '-' before <question> disables the <answer> to <question>"
+-msgstr "Потврди да Ñе <answer> и <question> поклапају. Стављањем ‘-’ иÑпред <question> иÑкључује Ñе дати <answer> и <question>"
++#: java/lang.opt:189
++msgid "Generate code for the Boehm GC"
++msgstr "Створи кôд за ГЦ Боем"
+
+-#: c.opt:45
+-msgid "Do not discard comments"
+-msgstr "Ðе одбацуј коментаре"
++#: java/lang.opt:193
++msgid "Call a library routine to do integer divisions"
++msgstr "Зови библиотечку рутину за целобројна дељења"
+
+-#: c.opt:49
+-msgid "Do not discard comments in macro expansions"
+-msgstr "Ðе одбацуј коментаре при ширењу макроа"
++#: java/lang.opt:197
++msgid "Generated should be loaded by bootstrap loader"
++msgstr "Створено треба учитавати Ñамоуздижућим учитавачем"
+
+-#: c.opt:53
+-msgid "Define a <macro> with <val> as its value. If just <macro> is given, <val> is taken to be 1"
+-msgstr "Дефиниши <macro> чија је вредноÑÑ‚ <val>. Ðко је дат Ñамо <macro>, за <val> Ñе узима 1"
+-
+-#: c.opt:60
+-msgid "Add <dir> to the end of the main framework include path"
+-msgstr "Додај <dir> на крај главне путање укључивања радног оквира"
+-
+-#: c.opt:64
+-msgid "Print the name of header files as they are used"
+-msgstr "ИÑпиÑуј имена заглавља које Ñе кориÑте"
+-
+-#: c.opt:68 c.opt:859
+-msgid "Add <dir> to the end of the main include path"
+-msgstr "Додај <dir> на крај главне путање укључивања"
+-
+-#: c.opt:72
+-msgid "Generate make dependencies"
+-msgstr "Створи завиÑноÑти за Ñправљач"
+-
+-#: c.opt:76
+-msgid "Generate make dependencies and compile"
+-msgstr "Створи завиÑноÑти за Ñправљач и компилуј"
+-
+-#: c.opt:80
+-msgid "Write dependency output to the given file"
+-msgstr "ИÑпиши завиÑноÑти у дату датотеку"
+-
+-#: c.opt:84
+-msgid "Treat missing header files as generated files"
+-msgstr "Сматрај недоÑтајућа заглавља за изведене датотеке"
+-
+-#: c.opt:88
+-msgid "Like -M but ignore system header files"
+-msgstr "Као -M али игнориши ÑиÑтемÑка заглавља"
+-
+-#: c.opt:92
+-msgid "Like -MD but ignore system header files"
+-msgstr "Као -MD али игнориши ÑиÑтемÑка заглавља"
+-
+-#: c.opt:96
+-msgid "Generate phony targets for all headers"
+-msgstr "Створи лажне циљеве за Ñва заглавља"
+-
+-#: c.opt:100
+-msgid "Add a MAKE-quoted target"
+-msgstr "Додај циљ цитран за Ñправљач"
+-
+-#: c.opt:104
+-msgid "Add an unquoted target"
+-msgstr "Додај нецитиран циљ"
+-
+-#: c.opt:108
+-msgid "Do not generate #line directives"
+-msgstr "Ðе Ñтварај директиве #line"
+-
+-#: c.opt:112
+-msgid "Undefine <macro>"
+-msgstr "Оддефиниши <macro>"
+-
+-#: c.opt:116
+-msgid "Warn about things that will change when compiling with an ABI-compliant compiler"
+-msgstr "Упозори на Ñтвари које ће Ñе променити када Ñе компилује компилатором који поштује ÐБИ"
+-
+-#: c.opt:120
+-msgid "Warn about suspicious uses of memory addresses"
+-msgstr "Упозори на Ñумњиве употребе меморијÑких адреÑа"
+-
+-#: c.opt:124
+-msgid "Enable most warning messages"
+-msgstr "Укључи већину порука упозорења"
+-
+-#: c.opt:128
+-#, fuzzy
+-msgid "Warn if a comparison is always true or always false due to the limited range of the data type"
+-msgstr "поређење је увек нетачно уÑлед ограниченог опÑега типа"
+-
+-#: c.opt:132
+-msgid "Warn whenever an Objective-C assignment is being intercepted by the garbage collector"
+-msgstr "Упозори кад год Ñакупљач Ñмећа преÑретне доделу у објективном Ц-у"
+-
+-#: c.opt:136
+-msgid "Warn about casting functions to incompatible types"
+-msgstr "Упозори на претапање функција у неÑаглаÑне типове"
+-
+-#: c.opt:140
+-msgid "Warn about C constructs that are not in the common subset of C and C++"
+-msgstr "Упозори на Ц конÑтрукције које ниÑу у заједничком подÑкупу Ц-а и Ц++а"
+-
+-#: c.opt:144
+-#, fuzzy
+-msgid "Warn about C++ constructs whose meaning differs between ISO C++ 1998 and ISO C++ 200x"
+-msgstr "Упозори на Ц конÑтрукције које ниÑу у заједничком подÑкупу Ц-а и Ц++а"
+-
+-#: c.opt:148
+-msgid "Warn about casts which discard qualifiers"
+-msgstr "Упозори на претапања која одбацују одредбе"
+-
+-#: c.opt:152
+-msgid "Warn about subscripts whose type is \"char\""
+-msgstr "Упозори на индекÑе типа „char“"
+-
+-#: c.opt:156
+-#, fuzzy
+-msgid "Warn about variables that might be changed by \"longjmp\" or \"vfork\""
+-msgstr "променљива %q+D може бити продрмана Ñа %<longjmp%> или %<vfork%>"
+-
+-#: c.opt:160
+-msgid "Warn about possibly nested block comments, and C++ comments spanning more than one physical line"
+-msgstr "Упозори на могуће угњеждене блоковÑке коментаре, и Ц++ коментаре који премашују једну физичку линију"
+-
+-#: c.opt:164
+-msgid "Synonym for -Wcomment"
+-msgstr "Синоним за -Wcomment"
+-
+-#: c.opt:168
+-msgid "Warn for implicit type conversions that may change a value"
++#: java/lang.opt:201
++msgid "Set the source language version"
+ msgstr ""
+
+-#: c.opt:172
++#: java/lang.opt:205
+ #, fuzzy
+-msgid "Warn for implicit type conversions between signed and unsigned integers"
+-msgstr "поређење означених и неозначених целобројних израза"
++msgid "Set the target VM version"
++msgstr "ПоÑтави циљни тип ЦПУа"
+
+-#: c.opt:176
+-msgid "Warn when all constructors and destructors are private"
+-msgstr "Упозори када Ñу Ñви конÑтруктори и деÑтруктори приватни"
+-
+-#: c.opt:180
+-msgid "Warn when a declaration is found after a statement"
+-msgstr "Упозори када наиђе декларација поÑле наредбе"
+-
+-#: c.opt:184
+-msgid "Warn about deprecated compiler features"
+-msgstr "Упозори на превазиђене могућноÑти компилатора"
+-
+-#: c.opt:188
+-msgid "Warn about compile-time integer division by zero"
+-msgstr "Упозори на дељење нулом при компиловању"
+-
+-#: c.opt:192
+-msgid "Warn about violations of Effective C++ style rules"
+-msgstr "Упозори на кршења ÑтилÑких правила датих у Делотворном Ц++у"
+-
+-#: c.opt:196
+-#, fuzzy
+-msgid "Warn about an empty body in an if or else statement"
+-msgstr "%Hпразно тело у наредби else"
+-
+-#: c.opt:200
+-msgid "Warn about stray tokens after #elif and #endif"
+-msgstr "Упозори на залутале целине поÑле #elif и #endif"
+-
+-#: c.opt:208
+-#, fuzzy
+-msgid "This switch is deprecated; use -Werror=implicit-function-declaration instead"
+-msgstr "Овај прекидач је превазиђен; кориÑтите -Wextra"
+-
+-#: c.opt:212
+-msgid "Warn if testing floating point numbers for equality"
+-msgstr "Упозори на проверу једнакоÑти бројева у покретном зарезу"
+-
+-#: c.opt:216
+-msgid "Warn about printf/scanf/strftime/strfmon format string anomalies"
+-msgstr "Упозори на аномалије у формату за printf/scanf/strftime/strfmon"
+-
+-#: c.opt:220
+-msgid "Warn if passing too many arguments to a function for its format string"
+-msgstr "Упозори ако Ñе функцији проÑлеђује превише аргумената за форматирајућу ниÑку"
+-
+-#: c.opt:224
+-msgid "Warn about format strings that are not literals"
+-msgstr "Упозори на форматирајуће ниÑке које ниÑу доÑловне"
+-
+-#: c.opt:228
+-#, fuzzy
+-msgid "Warn about format strings that contain NUL bytes"
+-msgstr "Упозори на форматирајуће ниÑке које ниÑу доÑловне"
+-
+-#: c.opt:232
+-msgid "Warn about possible security problems with format functions"
+-msgstr "Упозори на могуће безбедноÑне проблеме Ñа форматÑким функцијама"
+-
+-#: c.opt:236
+-msgid "Warn about strftime formats yielding 2-digit years"
+-msgstr "Упозори на формате за strftime који дају двоцифрене године"
+-
+-#: c.opt:240
+-msgid "Warn about zero-length formats"
+-msgstr "Упозори на формате нулте дужине"
+-
+-#: c.opt:247
+-msgid "Warn about variables which are initialized to themselves"
+-msgstr "Упозори на променљиве које Ñе Ñаме уÑпоÑтављају"
+-
+-#: c.opt:254
+-msgid "Warn about implicit function declarations"
+-msgstr "Упозори на имплицитне декларације функција"
+-
+-#: c.opt:258
+-msgid "Warn when a declaration does not specify a type"
+-msgstr "Упозори када декларација не наводи тип"
+-
+-#: c.opt:262
+-msgid "Deprecated. This switch has no effect"
+-msgstr "Превазиђено. Овај прекидач нема ефекта"
+-
+-#: c.opt:266
+-msgid "Warn when there is a cast to a pointer from an integer of a different size"
+-msgstr "Упозори на претапање у показивач из целобројног различите величине"
+-
+-#: c.opt:270
+-msgid "Warn about invalid uses of the \"offsetof\" macro"
+-msgstr "Упозори на неиÑправне употребе макроа „offsetof“"
+-
+-#: c.opt:274
+-msgid "Warn about PCH files that are found but not used"
+-msgstr "Упозори на нађене ПЦХ датотеке које Ñе не кориÑте"
+-
+-#: c.opt:278
+-msgid "Do not warn about using \"long long\" when -pedantic"
+-msgstr "Ðе упозоравај на употребу „long long“ при -pedantic"
+-
+-#: c.opt:282
+-msgid "Warn about suspicious declarations of \"main\""
+-msgstr "Упозори на Ñумњиве декларације „main“"
+-
+-#: c.opt:286
+-msgid "Warn about possibly missing braces around initializers"
+-msgstr "Упозори на могуће недоÑтајуће витичаÑте заграде око уÑпоÑтављачâ"
+-
+-#: c.opt:290
+-msgid "Warn about global functions without previous declarations"
+-msgstr "Упозори на глобалне функције без претходне декларације"
+-
+-#: c.opt:294
+-msgid "Warn about missing fields in struct initializers"
+-msgstr "Упозори на недоÑтајућа поља у уÑпоÑтављачима Ñтруктура"
+-
+-#: c.opt:298
+-msgid "Warn about functions which might be candidates for format attributes"
+-msgstr "Упозори на функције које могу бити кандидати за форматÑке атрибуте"
+-
+-#: c.opt:302
+-msgid "Warn about user-specified include directories that do not exist"
+-msgstr "Упозори на непоÑтојеће директоријуме за укључивање које је кориÑник задао"
+-
+-#: c.opt:306
+-msgid "Warn about function parameters declared without a type specifier in K&R-style functions"
+-msgstr ""
+-
+-#: c.opt:310
+-msgid "Warn about global functions without prototypes"
+-msgstr "Упозори на глобалне функције без прототипа"
+-
+-#: c.opt:314
+-msgid "Warn about use of multi-character character constants"
+-msgstr "Упозори на употребу вишезнаковних знаковних конÑтанти"
+-
+-#: c.opt:318
+-msgid "Warn about \"extern\" declarations not at file scope"
+-msgstr "Упозори на декларације „extern“ ван доÑега датотеке"
+-
+-#: c.opt:322
+-msgid "Warn when non-templatized friend functions are declared within a template"
+-msgstr "Упозори када Ñе нешаблонÑке пријатељÑке функције декларишу унутар шаблона"
+-
+-#: c.opt:326
+-msgid "Warn about non-virtual destructors"
+-msgstr "Упозори на невиртуелне деÑтрукторе"
+-
+-#: c.opt:330
+-msgid "Warn about NULL being passed to argument slots marked as requiring non-NULL"
+-msgstr "Упозори на проÑлеђивање NULL на позицији аргумента за који Ñе захтева не-NULL"
+-
+-#: c.opt:334
+-msgid "Warn about non-normalised Unicode strings"
+-msgstr "Упозори на ненормализоване уникодÑке ниÑке"
+-
+-#: c.opt:338
+-msgid "Warn if a C-style cast is used in a program"
+-msgstr "Упозори на употребу претапања у Ñтилу Ц-а"
+-
+-#: c.opt:342
+-#, fuzzy
+-msgid "Warn for obsolescent usage in a declaration"
+-msgstr "Упозори на имплицитне декларације функција"
+-
+-#: c.opt:346
+-msgid "Warn if an old-style parameter definition is used"
+-msgstr "Упозори на ÑтаровремÑку дефиницију параметара"
+-
+-#: c.opt:350
+-msgid "Warn if a string is longer than the maximum portable length specified by the standard"
+-msgstr "Упозори када је ниÑка дужа од највеће преноÑиве дужине одређене Ñтандардом"
+-
+-#: c.opt:354
+-msgid "Warn about overloaded virtual function names"
+-msgstr "Упозори на препуњена имена виртуелних функција"
+-
+-#: c.opt:358
+-msgid "Warn about overriding initializers without side effects"
+-msgstr "Упозори на потиÑкивања уÑпоÑтављача без Ñпоредних ефеката"
+-
+-#: c.opt:362
+-msgid "Warn about possibly missing parentheses"
+-msgstr "Упозори на могуће недоÑтајуће заграде"
+-
+-#: c.opt:366
+-msgid "Warn when converting the type of pointers to member functions"
+-msgstr "Упозори када Ñе претварају типови показивача на чланÑке функције"
+-
+-#: c.opt:370
+-msgid "Warn about function pointer arithmetic"
+-msgstr "Упозори на аритметику Ñа функцијÑким показивачима"
+-
+-#: c.opt:374
+-msgid "Warn when a pointer is cast to an integer of a different size"
+-msgstr "Упозори када Ñе показивач претапа у целобројни различите величине"
+-
+-#: c.opt:378
+-msgid "Warn about misuses of pragmas"
+-msgstr "Упозори на злоупотребе прагми"
+-
+-#: c.opt:382
+-msgid "Warn if inherited methods are unimplemented"
+-msgstr "Упозори када наÑлеђени методи ниÑу имплементирани"
+-
+-#: c.opt:386
+-msgid "Warn about multiple declarations of the same object"
+-msgstr "Упозори на вишеÑтруке декларације иÑтог објекта"
+-
+-#: c.opt:390
+-msgid "Warn when the compiler reorders code"
+-msgstr "Упозори када компилатор преуреди кôд"
+-
+-#: c.opt:394
+-msgid "Warn whenever a function's return type defaults to \"int\" (C), or about inconsistent return types (C++)"
+-msgstr "Упозори када повратни тип функције Ñпадне на „int“ (Ц), или на неуÑаглашене повратне типове (Ц++)"
+-
+-#: c.opt:398
+-msgid "Warn if a selector has multiple methods"
+-msgstr "Упозори када Ñелектор има вишеÑтруке методе"
+-
+-#: c.opt:402
+-msgid "Warn about possible violations of sequence point rules"
+-msgstr "Упозори на могућа кршења правила Ñеквенцијалних тачака"
+-
+-#: c.opt:406
+-msgid "Warn about signed-unsigned comparisons"
+-msgstr "Упозори на поређење означеног и неозначеног"
+-
+-#: c.opt:410
+-msgid "Warn when overload promotes from unsigned to signed"
+-msgstr "Упозори када препуњавање прелази из неозначеног у означено"
+-
+-#: c.opt:414
+-msgid "Warn about uncasted NULL used as sentinel"
+-msgstr "Упозори на непретопљено NULL у улози Ñтражара"
+-
+-#: c.opt:418
+-msgid "Warn about unprototyped function declarations"
+-msgstr "Упозори на непрототипизиране декларације функција"
+-
+-#: c.opt:422
+-msgid "Warn if type signatures of candidate methods do not match exactly"
+-msgstr "Упозори аке Ñе типÑки потпиÑи кандидатÑких метода не поклапају тачно"
+-
+-#: c.opt:426
+-msgid "Warn when synthesis behavior differs from Cfront"
+-msgstr "Упозори када Ñе понашање Ñинтезе разликује од Цфронта"
+-
+-#: c.opt:430 common.opt:182
+-msgid "Do not suppress warnings from system headers"
+-msgstr "Ðе Ñузбијај упозорења из ÑиÑтемÑких заглавља"
+-
+-#: c.opt:434
+-msgid "Warn about features not present in traditional C"
+-msgstr "Упозори на могућноÑти које ниÑу приÑутне у традиционалном Ц-у"
+-
+-#: c.opt:438
+-msgid "Warn of prototypes causing type conversions different from what would happen in the absence of prototype"
+-msgstr ""
+-
+-#: c.opt:442
+-msgid "Warn if trigraphs are encountered that might affect the meaning of the program"
+-msgstr "Упозори када наиђу триграфи који могу утицати на значење програма"
+-
+-#: c.opt:446
+-msgid "Warn about @selector()s without previously declared methods"
+-msgstr "Упозори на Ñелекторе без претходно деклариÑаних метода"
+-
+-#: c.opt:450
+-msgid "Warn if an undefined macro is used in an #if directive"
+-msgstr "Упозори ако Ñе у директиви #if употреби недефиниÑани макро"
+-
+-#: c.opt:454
+-msgid "Warn about unrecognized pragmas"
+-msgstr "Упозори на непрепознате прагме"
+-
+-#: c.opt:458
+-msgid "Warn about macros defined in the main file that are not used"
+-msgstr "Упозори на макрое дефиниÑане у главној датотеци који ниÑу употребљени"
+-
+-#: c.opt:462
+-msgid "Do not warn about using variadic macros when -pedantic"
+-msgstr "Ðе упозоравај на употребу варијадичких макроа при -pedantic"
+-
+-#: c.opt:466
+-#, fuzzy
+-msgid "Warn if a variable length array is used"
+-msgstr "Упозори када Ñе променљива не кориÑти"
+-
+-#: c.opt:470
+-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 "У Ц++у, ненулта вредноÑÑ‚ значи упозоравање на превазиђено претварање из доÑловних ниÑки у ‘char *’. У Ц-у значи Ñлично упозорење, оÑим што претварање наравно није превазиђено по Ñтандарду ИСО Ц-а."
+-
+-#: c.opt:474
+-msgid "Warn when a pointer differs in signedness in an assignment"
+-msgstr "Упозори када Ñе показивач у додели разликује по означеноÑти"
+-
+-#: c.opt:478
+-msgid "A synonym for -std=c89 (for C) or -std=c++98 (for C++)"
+-msgstr "Синоним за -std=c89 (за Ц) или -std=c++98 (за Ц++)"
+-
+-#: c.opt:486
+-msgid "Enforce class member access control semantics"
+-msgstr "Спроведи Ñемантику контроле приÑтупа члановима клаÑе"
+-
+-#: c.opt:493
+-msgid "Change when template instances are emitted"
+-msgstr "Промени када Ñе емитују примерци шаблона"
+-
+-#: c.opt:497
+-msgid "Recognize the \"asm\" keyword"
+-msgstr "Препознај кључну реч „asm“"
+-
+-#: c.opt:501
+-msgid "Recognize built-in functions"
+-msgstr "Препознај уграђене функције"
+-
+-#: c.opt:508
+-msgid "Check the return value of new"
+-msgstr "Провери повратни тип за new"
+-
+-#: c.opt:512
+-msgid "Allow the arguments of the '?' operator to have different types"
+-msgstr "Дозволи да аргументи оператора ‘?’ имају различите типове"
+-
+-#: c.opt:516
+-msgid "Reduce the size of object files"
+-msgstr "Смањи величину објектних датотека"
+-
+-#: c.opt:520
+-msgid "Use class <name> for constant strings"
+-msgstr "КориÑти клаÑу <name> за конÑтантне ниÑке"
+-
+-#: c.opt:524
+-msgid "Inline member functions by default"
+-msgstr "Подразумевано уткивај чланÑке функције"
+-
+-#: c.opt:528
+-#, fuzzy
+-msgid "Preprocess directives only."
+-msgstr "Обради директиве #ident"
+-
+-#: c.opt:532
+-msgid "Permit '$' as an identifier character"
+-msgstr "Дозволи „$“ као знак у идентификатору"
+-
+-#: c.opt:539
+-msgid "Generate code to check exception specifications"
+-msgstr "Створи кôд за проверу одредница изузетака"
+-
+-#: c.opt:546
+-msgid "Convert all strings and character constants to character set <cset>"
+-msgstr "Претвори Ñве ниÑке и знаковне конÑтанте у Ñкуп знакова <cset>"
+-
+-#: c.opt:550
+-msgid "Permit universal character names (\\u and \\U) in identifiers"
+-msgstr "Дозволи универзална имена знакова (\\u и \\U) у идентификаторима"
+-
+-#: c.opt:554
+-msgid "Specify the default character set for source files"
+-msgstr "Ðаведи подразумевани Ñкуп знакова за изворне датотеке"
+-
+-#: c.opt:562
+-msgid "Scope of for-init-statement variables is local to the loop"
+-msgstr "ДоÑег променљивих у уÑпоÑтављачу петље је локалан за петљу"
+-
+-#: c.opt:566
+-msgid "Do not assume that standard C libraries and \"main\" exist"
+-msgstr "Ðе претпоÑтављај да Ñтандардне Ц библиотеке и „main“ поÑтоје"
+-
+-#: c.opt:570
+-msgid "Recognize GNU-defined keywords"
+-msgstr "Препознаје кључне речи које дефинише Гну"
+-
+-#: c.opt:574
+-msgid "Generate code for GNU runtime environment"
+-msgstr "Створи кôд за Гнуово извршно окружење"
+-
+-#: c.opt:578
+-msgid "Use traditional GNU semantics for inline functions"
+-msgstr "КориÑти традиционалну Гнуову Ñемантику за уткане функције"
+-
+-#: c.opt:591
+-msgid "Assume normal C execution environment"
+-msgstr "ПретпоÑтави нормално извршно окружење Ц-а"
+-
+-#: c.opt:595
+-msgid "Enable support for huge objects"
+-msgstr "Укључи подршку за огромне објекте"
+-
+-#: c.opt:599
+-msgid "Export functions even if they can be inlined"
+-msgstr "Извези функције чак и ако Ñе могу уткати"
+-
+-#: c.opt:603
+-msgid "Emit implicit instantiations of inline templates"
+-msgstr "Емитуј имплицитна извођења утканих шаблона"
+-
+-#: c.opt:607
+-msgid "Emit implicit instantiations of templates"
+-msgstr "Емитуј имплицитна извођења шаблона"
+-
+-#: c.opt:611
+-msgid "Inject friend functions into enclosing namespace"
+-msgstr "Убаци пријатељÑке функције у обухватајући именÑки проÑтор"
+-
+-#: c.opt:618
+-msgid "Allow implicit conversions between vectors with differing numbers of subparts and/or differing element types."
+-msgstr ""
+-
+-#: c.opt:622
+-msgid "Don't warn about uses of Microsoft extensions"
+-msgstr "Ðе упозоравај на употребе МајкроÑофтових проширења"
+-
+-#: c.opt:632
+-msgid "Generate code for NeXT (Apple Mac OS X) runtime environment"
+-msgstr "Створи кôд за извршно окружење ÐеКСТа (Еплов МекОС X)"
+-
+-#: c.opt:636
+-msgid "Assume that receivers of Objective-C messages may be nil"
+-msgstr "ПретпоÑтави да примаоци порука у објективном Ц-у могу бити нулти"
+-
+-#: c.opt:648
+-msgid "Generate special Objective-C methods to initialize/destroy non-POD C++ ivars, if needed"
+-msgstr "Стварај поÑебне методе у објективном Ц-у за уÑпоÑтављање/уништавање не-ПОД Ц++ и-променљивих, када је потребно"
+-
+-#: c.opt:652
+-msgid "Allow fast jumps to the message dispatcher"
+-msgstr "Дозволи брзе Ñкокове до отправника порука"
+-
+-#: c.opt:658
+-msgid "Enable Objective-C exception and synchronization syntax"
+-msgstr "Укључи ÑинтакÑу објективног Ц-а за изузетке и Ñинхронизацију"
+-
+-#: c.opt:662
+-msgid "Enable garbage collection (GC) in Objective-C/Objective-C++ programs"
+-msgstr "Укључи Ñакупљање Ñмећа (ГЦ) у програмима у објективном Ц-у/објективном Ц++у"
+-
+-#: c.opt:667
+-msgid "Enable Objective-C setjmp exception handling runtime"
+-msgstr "Укључи извршни део објективног Ц-а за руковање setjmp изузецима"
+-
+-#: c.opt:671
+-msgid "Enable OpenMP"
+-msgstr "Укључи ОпенМП"
+-
+-#: c.opt:675
+-msgid "Recognize C++ kewords like \"compl\" and \"xor\""
+-msgstr "Препознај кључне речи Ц++а као „compl“ и „xor“"
+-
+-#: c.opt:679
+-msgid "Enable optional diagnostics"
+-msgstr "Укључи опциону дијагоноÑтику"
+-
+-#: c.opt:686
+-msgid "Look for and use PCH files even when preprocessing"
+-msgstr "Тражи и кориÑти ПЦХ датотеке чак и током предобраде"
+-
+-#: c.opt:690
+-msgid "Downgrade conformance errors to warnings"
+-msgstr "Ражалуј грешке у поштовању на упозорења"
+-
+-#: c.opt:694
+-msgid "Treat the input file as already preprocessed"
+-msgstr "Сматрај улазну датотеку већ предобрађеном"
+-
+-#: c.opt:698
+-msgid "Used in Fix-and-Continue mode to indicate that object files may be swapped in at runtime"
+-msgstr "КориÑти Ñе у режиму фикÑирај-и-наÑтави за указивање да Ñе објектне датотеке могу размењивати при извршавању"
+-
+-#: c.opt:702
+-msgid "Enable automatic template instantiation"
+-msgstr "Укључи аутоматÑко извођење шаблона"
+-
+-#: c.opt:706
+-msgid "Generate run time type descriptor information"
+-msgstr "Стварај опиÑе типова при извршавању"
+-
+-#: c.opt:710
+-msgid "Use the same size for double as for float"
+-msgstr "КориÑти иÑту величину за double као за float"
+-
+-#: c.opt:718
+-msgid "Force the underlying type for \"wchar_t\" to be \"unsigned short\""
+-msgstr "Спроведи да „unsigned short“ буде подметнут за „wchar_t“"
+-
+-#: c.opt:722
+-msgid "When \"signed\" or \"unsigned\" is not given make the bitfield signed"
+-msgstr "Ðека битÑко поље буде означено када није дато ни „signed“ ни „unsigned“"
+-
+-#: c.opt:726
+-msgid "Make \"char\" signed by default"
+-msgstr "Ðека „char“ подразумевано буде означен"
+-
+-#: c.opt:733
+-msgid "Display statistics accumulated during compilation"
+-msgstr "Прикажи ÑтатиÑтику Ñрачунату током компилације"
+-
+-#: c.opt:740
+-msgid "Distance between tab stops for column reporting"
+-msgstr "Величина табулатора за пријављивање колона"
+-
+-#: c.opt:744
+-msgid "Specify maximum template instantiation depth"
+-msgstr "Одредите највећу дубину извођења шаблона"
+-
+-#: c.opt:751
+-msgid "Do not generate thread-safe code for initializing local statics"
+-msgstr "Ðе Ñтварај нитно-безбедан кôд за уÑпоÑтављање локалних Ñтатика"
+-
+-#: c.opt:755
+-msgid "When \"signed\" or \"unsigned\" is not given make the bitfield unsigned"
+-msgstr "Ðека битÑко поље буде неозначено када није дато ни „signed“ ни „unsigned“"
+-
+-#: c.opt:759
+-msgid "Make \"char\" unsigned by default"
+-msgstr "Ðека „char“ подразумевано буде неозначен"
+-
+-#: c.opt:763
+-msgid "Use __cxa_atexit to register destructors"
+-msgstr "КориÑти __cxa_atexit за региÑтрацију деÑтрукторâ"
+-
+-#: c.opt:767
+-msgid "Use __cxa_get_exception_ptr in exception handling"
+-msgstr "КориÑти __cxa_get_exception_ptr у руковању изузецима"
+-
+-#: c.opt:771
+-msgid "Marks all inlined methods as having hidden visibility"
+-msgstr "Означи Ñкривање видљивоÑти Ñвим утканим методима"
+-
+-#: c.opt:775
+-msgid "Changes visibility to match Microsoft Visual Studio by default"
+-msgstr ""
+-
+-#: c.opt:779
+-msgid "Discard unused virtual functions"
+-msgstr "Одбаци неупотребљене виртуелне функције"
+-
+-#: c.opt:783
+-msgid "Implement vtables using thunks"
+-msgstr "Имплементирај в-табеле кориÑтећи Ñмрзеве"
+-
+-#: c.opt:787
+-msgid "Emit common-like symbols as weak symbols"
+-msgstr "Емитуј наизглед заједничке Ñимболе као Ñлабе Ñимболе"
+-
+-#: c.opt:791
+-msgid "Convert all wide strings and character constants to character set <cset>"
+-msgstr "Претвори Ñве широке ниÑке и знаковне конÑтанте у Ñкуп знакова <cset>"
+-
+-#: c.opt:795
+-msgid "Generate a #line directive pointing at the current working directory"
+-msgstr "Створи директиву #line која показује на текући радни директоријум"
+-
+-#: c.opt:799
+-msgid "Emit cross referencing information"
+-msgstr "Емитуј информације о укрштеном упућивању"
+-
+-#: c.opt:803
+-msgid "Generate lazy class lookup (via objc_getClass()) for use in Zero-Link mode"
+-msgstr "Стварај лењу потрагу клаÑа (преко objc_getClass()) за употребу у режиму Зиро-Линка"
+-
+-#: c.opt:807
+-msgid "Dump declarations to a .decl file"
+-msgstr "Попиши декларације у .decl датотеку"
+-
+-#: c.opt:811
+-msgid "Aggressive reduced debug info for structs"
+-msgstr ""
+-
+-#: c.opt:815
+-msgid "Conservative reduced debug info for structs"
+-msgstr ""
+-
+-#: c.opt:819
+-msgid "Detailed reduced debug info for structs"
+-msgstr ""
+-
+-#: c.opt:823 c.opt:855
+-msgid "Add <dir> to the end of the system include path"
+-msgstr "Додај <dir> на крај ÑиÑтемÑке путање укључивања"
+-
+-#: c.opt:827
+-msgid "Accept definition of macros in <file>"
+-msgstr "Прихвати дефиниције макроа из <file>"
+-
+-#: c.opt:831
+-msgid "-imultilib <dir> Set <dir> to be the multilib include subdirectory"
+-msgstr "-imultilib <дир> ПоÑтави <дир> као поддиректоријум укључивања за вишебиба"
+-
+-#: c.opt:835
+-msgid "Include the contents of <file> before other files"
+-msgstr "Укључи Ñадржај <file> пре других датотека"
+-
+-#: c.opt:839
+-msgid "Specify <path> as a prefix for next two options"
+-msgstr "Одреди <path> као Ð¿Ñ€ÐµÑ„Ð¸ÐºÑ Ð·Ð° Ñледеће две опције"
+-
+-#: c.opt:843
+-msgid "Set <dir> to be the system root directory"
+-msgstr "ПоÑтави да <dir> буде корени директоријум ÑиÑтема"
+-
+-#: c.opt:847
+-msgid "Add <dir> to the start of the system include path"
+-msgstr "Додај <dir> на почетак ÑиÑтемÑке путање укључивања"
+-
+-#: c.opt:851
+-msgid "Add <dir> to the end of the quote include path"
+-msgstr "Додај <dir> на крај цитиране путање укључивања"
+-
+-#: c.opt:872
+-msgid "Do not search standard system include directories (those specified with -isystem will still be used)"
+-msgstr "Ðе тражи Ñтандардне ÑиÑтемÑке директоријуме укључивања (што је наведено помоћу -isystem ће и даље бити коришћено)"
+-
+-#: c.opt:876
+-msgid "Do not search standard system include directories for C++"
+-msgstr "Ðе тражи Ñтандардне ÑиÑтемÑке директоријуме укључивања за Ц++"
+-
+-#: c.opt:892
+-msgid "Generate C header of platform-specific features"
+-msgstr "Створи Ц заглавље Ñа оÑобинама поÑебним за платформу"
+-
+-#: c.opt:896
+-msgid "Print a checksum of the executable for PCH validity checking, and stop"
+-msgstr "ИÑпиши контролни збир извршне датотеке за проверу ПЦХа и Ñтани"
+-
+-#: c.opt:900
+-msgid "Remap file names when including files"
+-msgstr "Премапирај имена датотека при укључивању датотека"
+-
+-#: c.opt:904
+-msgid "Conform to the ISO 1998 C++ standard"
+-msgstr "Поштуј Ñтандард Ц++а ИСО 1998"
+-
+-#: c.opt:908
+-#, fuzzy
+-msgid "Conform to the ISO 1998 C++ standard, with extensions that are likely to"
+-msgstr "Поштуј Ñтандард Ц++а ИСО 1998, Ñа Гнуовим проширењима"
+-
+-#: c.opt:915 c.opt:950
+-msgid "Conform to the ISO 1990 C standard"
+-msgstr "Поштуј Ñтандард Ц-а ИСО 1990"
+-
+-#: c.opt:919 c.opt:958
+-msgid "Conform to the ISO 1999 C standard"
+-msgstr "Поштуј Ñтандард Ц-а ИСО 1999"
+-
+-#: c.opt:923
+-msgid "Deprecated in favor of -std=c99"
+-msgstr "Превазиђено, боље -std=c99"
+-
+-#: c.opt:927
+-msgid "Conform to the ISO 1998 C++ standard with GNU extensions"
+-msgstr "Поштуј Ñтандард Ц++а ИСО 1998, Ñа Гнуовим проширењима"
+-
+-#: c.opt:931
+-#, fuzzy
+-msgid "Conform to the ISO 1998 C++ standard, with GNU extensions and"
+-msgstr "Поштуј Ñтандард Ц++а ИСО 1998, Ñа Гнуовим проширењима"
+-
+-#: c.opt:938
+-msgid "Conform to the ISO 1990 C standard with GNU extensions"
+-msgstr "Поштуј Ñтандард Ц-а ИСО 1990, Ñа Гнуовим проширењима"
+-
+-#: c.opt:942
+-msgid "Conform to the ISO 1999 C standard with GNU extensions"
+-msgstr "Поштуј Ñтандард Ц-а ИСО 1999, Ñа Гнуовим проширењима"
+-
+-#: c.opt:946
+-msgid "Deprecated in favor of -std=gnu99"
+-msgstr "Превазиђено, боље -std=gnu99"
+-
+-#: c.opt:954
+-msgid "Conform to the ISO 1990 C standard as amended in 1994"
+-msgstr "Поштуј Ñтандард Ц-а ИСО 1990, Ñа допунама из 1994."
+-
+-#: c.opt:962
+-msgid "Deprecated in favor of -std=iso9899:1999"
+-msgstr "Превазиђено, боље -std=iso9899:1999"
+-
+-#: c.opt:966
+-msgid "Enable traditional preprocessing"
+-msgstr "Укључи традиционалну предобраду"
+-
+-#: c.opt:970
+-msgid "Support ISO C trigraphs"
+-msgstr "Подржи триграфе ИСО Ц-а"
+-
+-#: c.opt:974
+-msgid "Do not predefine system-specific and GCC-specific macros"
+-msgstr "Ðе предефиниши макрое поÑебне за ÑиÑтем и ГЦЦ"
+-
+-#: c.opt:978
+-msgid "Enable verbose output"
+-msgstr "Укључи опширан излаз"
+-
+-#: common.opt:27
++#: common.opt:28
+ msgid "Display this information"
+ msgstr "Прикажи ову информацију"
+
+-#: common.opt:31
++#: common.opt:32
+ msgid "Display descriptions of a specific class of options. <class> is one or more of optimizers, target, warnings, undocumented, params"
+ msgstr ""
+
+-#: common.opt:35
++#: common.opt:36
+ #, fuzzy
+ msgid "Alias for --help=target"
+ msgstr "Други назив за -mfloat-abi=hard"
+
+-#: common.opt:51
++#: common.opt:52
+ msgid "Set parameter <param> to value. See below for a complete list of parameters"
+ msgstr "ПоÑтави параметар <param> на вредноÑÑ‚. Види ниже целокупну лиÑту параметара"
+
+-#: common.opt:58
++#: common.opt:59
+ msgid "Put global and static data smaller than <number> bytes into a special section (on some targets)"
+ msgstr "Стави глобалне и Ñтатичке податке мање од <number> бајтова у поÑебан одељак (на неким циљевима)"
+
+-#: common.opt:62
++#: common.opt:63
+ msgid "Set optimization level to <number>"
+ msgstr "ПоÑтави ниво оптимизације на <number>"
+
+-#: common.opt:66
++#: common.opt:67
+ msgid "Optimize for space rather than speed"
+ msgstr "Оптимизуј величину пре него брзину"
+
+-#: common.opt:70
++#: common.opt:71
+ msgid "This switch is deprecated; use -Wextra instead"
+ msgstr "Овај прекидач је превазиђен; кориÑтите -Wextra"
+
+-#: common.opt:74
++#: common.opt:75
+ msgid "Warn about returning structures, unions or arrays"
+ msgstr "Упозори на враћање Ñтруктура, унија или низова"
+
+-#: common.opt:78
++#: common.opt:79
+ #, fuzzy
+ msgid "Warn if an array is accessed out of bounds"
+ msgstr "Упозори ако Ñу клаÑне датотеке заÑтареле"
+
+-#: common.opt:82
++#: common.opt:83
+ msgid "Warn about inappropriate attribute usage"
+ msgstr "Упозори на неприкладну употребу атрибута"
+
+-#: common.opt:86
++#: common.opt:87
+ msgid "Warn about pointer casts which increase alignment"
+ msgstr "Упозори на претапања показивача која увећавају равнање"
+
+-#: common.opt:90
++#: common.opt:91
+ msgid "Warn about uses of __attribute__((deprecated)) declarations"
+ msgstr "Упозори на употребе декларација __attribute__((deprecated))"
+
+-#: common.opt:94
++#: common.opt:95
+ msgid "Warn when an optimization pass is disabled"
+ msgstr "Упозори када је оптимизациони пролаз иÑкључен"
+
+-#: common.opt:98
++#: common.opt:99
+ msgid "Treat all warnings as errors"
+ msgstr "Сматрај Ñва упозорења грешкама"
+
+-#: common.opt:102
++#: common.opt:103
+ msgid "Treat specified warning as error"
+ msgstr "Сматрај наведено упозорење грешком"
+
+-#: common.opt:106
++#: common.opt:107
+ msgid "Print extra (possibly unwanted) warnings"
+ msgstr "ИÑпиÑуј додатна (могуће нежељена) упозорења"
+
+-#: common.opt:110
++#: common.opt:111
+ msgid "Exit on the first error occurred"
+ msgstr "Изађи код прве ÑуÑретнуте грешке"
+
+-#: common.opt:114
++#: common.opt:115
+ msgid "Warn when an inlined function cannot be inlined"
+ msgstr "Упозори када Ñе уткана функција не може уткати"
+
+-#: common.opt:118
++#: common.opt:119
+ msgid "Warn if an object is larger than <number> bytes"
+ msgstr "Упозори ако је објекат већи од <number> бајтова"
+
+-#: common.opt:122
++#: common.opt:123
+ msgid "Warn when a logical operator is suspicously always evaluating to true or false"
+ msgstr ""
+
+-#: common.opt:126
++#: common.opt:127
+ msgid "Warn if the loop cannot be optimized due to nontrivial assumptions."
+ msgstr "Упозори ако Ñе петља не може оптимизовати уÑлед нетривијалних претпоÑтавки."
+
+-#: common.opt:130
++#: common.opt:131
+ msgid "Warn about functions which might be candidates for __attribute__((noreturn))"
+ msgstr "Упозори на функције које могу бити кандидати за __attribute__((noreturn))"
+
+-#: common.opt:134
++#: common.opt:135
+ msgid "Warn about overflow in arithmetic expressions"
+ msgstr "Упозори на преливање у аритметичким изразима"
+
+-#: common.opt:138
++#: common.opt:139
+ msgid "Warn when the packed attribute has no effect on struct layout"
+ msgstr "Упозори када атрибут паковања нема ефекта на раÑпоред Ñтруктуре"
+
+-#: common.opt:142
++#: common.opt:143
+ msgid "Warn when padding is required to align structure members"
+ msgstr "Упозори када Ñе захтева уметање ради равнања чланова Ñтруктуре"
+
+-#: common.opt:146
++#: common.opt:147
+ msgid "Warn when one local variable shadows another"
+ msgstr "Упозори када једна локална променљива заклања другу"
+
+-#: common.opt:150
++#: common.opt:151
+ msgid "Warn when not issuing stack smashing protection for some reason"
+ msgstr "Упозори када Ñе из неког разлога не издаје заштита од разбијања Ñтека"
+
+-#: common.opt:154 common.opt:158
++#: common.opt:155 common.opt:159
+ msgid "Warn about code which might break strict aliasing rules"
+ msgstr "Упозори на кôд који може прекршити правила Ñтроге дволичноÑти"
+
+-#: common.opt:162 common.opt:166
++#: common.opt:163 common.opt:167
+ msgid "Warn about optimizations that assume that signed overflow is undefined"
+ msgstr "Упозори на оптимизације које претпоÑтављају да је означено преливање недефиниÑано"
+
+-#: common.opt:170
++#: common.opt:171
+ msgid "Warn about enumerated switches, with no default, missing a case"
+ msgstr "Упозори на набројиве прекидаче без подразумеване гране, којима недоÑтаје Ñлучај"
+
+-#: common.opt:174
++#: common.opt:175
+ msgid "Warn about enumerated switches missing a \"default:\" statement"
+ msgstr "Упозори на набројиве прекидаче којима недоÑтаје наредба „default:“"
+
+-#: common.opt:178
++#: common.opt:179
+ msgid "Warn about all enumerated switches missing a specific case"
+ msgstr "Упозори на Ñве набројиве прекидаче којима недоÑтаје одређени Ñлучај"
+
+-#: common.opt:186
++#: common.opt:183 c.opt:434
++msgid "Do not suppress warnings from system headers"
++msgstr "Ðе Ñузбијај упозорења из ÑиÑтемÑких заглавља"
++
++#: common.opt:187
+ msgid "Warn about uninitialized automatic variables"
+ msgstr "Упозори на неуÑпоÑтављене аутоматÑке променљиве"
+
+-#: common.opt:190
++#: common.opt:191
+ msgid "Warn about code that will never be executed"
+ msgstr "Упозори на кôд који Ñе никад не извршава"
+
+-#: common.opt:194
++#: common.opt:195
+ msgid "Enable all -Wunused- warnings"
+ msgstr "Укључи Ñва упозорења -Wunused-*"
+
+-#: common.opt:198
++#: common.opt:199
+ msgid "Warn when a function is unused"
+ msgstr "Упозори када Ñе функција не кориÑти"
+
+-#: common.opt:202
++#: common.opt:203
+ msgid "Warn when a label is unused"
+ msgstr "Упозори када Ñе етикета не кориÑти"
+
+-#: common.opt:206
++#: common.opt:207
+ msgid "Warn when a function parameter is unused"
+ msgstr "Упозори када Ñе параметар функције не кориÑти"
+
+-#: common.opt:210
++#: common.opt:211
+ msgid "Warn when an expression value is unused"
+ msgstr "Упозори када Ñе вредноÑÑ‚ израза не кориÑти"
+
+-#: common.opt:214
++#: common.opt:215
+ msgid "Warn when a variable is unused"
+ msgstr "Упозори када Ñе променљива не кориÑти"
+
+-#: common.opt:218
++#: common.opt:219
+ msgid "Warn when a register variable is declared volatile"
+ msgstr "Упозори када Ñе региÑтарÑка променљива проглаÑи непоÑтојаном"
+
+-#: common.opt:222
++#: common.opt:223
+ msgid "Warn instead of error in case profiles in -fprofile-use do not match"
+ msgstr ""
+
+-#: common.opt:226
++#: common.opt:227
+ msgid "Emit declaration information into <file>"
+ msgstr "Емитуј податке о декларацијама у <file>"
+
+-#: common.opt:239
++#: common.opt:240
+ msgid "Enable dumps from specific passes of the compiler"
+ msgstr "Укључи попиÑе из одређених пролаза компилатора"
+
+-#: common.opt:243
++#: common.opt:244
+ msgid "Set the file basename to be used for dumps"
+ msgstr "ПоÑтави оÑновно име датотека за попиÑе"
+
+-#: common.opt:263
++#: common.opt:264
+ msgid "Align the start of functions"
+ msgstr "Поравнај почетке функција"
+
+-#: common.opt:270
++#: common.opt:271
+ msgid "Align labels which are only reached by jumping"
+ msgstr "Поравнај етикете које Ñе доÑтижу једино Ñкакањем"
+
+-#: common.opt:277
++#: common.opt:278
+ msgid "Align all labels"
+ msgstr "Поравнај Ñве етикете"
+
+-#: common.opt:284
++#: common.opt:285
+ msgid "Align the start of loops"
+ msgstr "Поравнај почетке петљи"
+
+-#: common.opt:299
++#: common.opt:300
+ msgid "Specify that arguments may alias each other and globals"
+ msgstr "ПретпоÑтави да аргументи могу бити дволични, међуÑобно и Ñа глобалнима"
+
+-#: common.opt:303
++#: common.opt:304
+ msgid "Assume arguments may alias globals but not each other"
+ msgstr "ПретпоÑтави да аргументи могу бити дволични Ñа глобалнима, али не и међуÑобно"
+
+-#: common.opt:307
++#: common.opt:308
+ msgid "Assume arguments alias neither each other nor globals"
+ msgstr "ПретпоÑтави да аргументи не могу бити дволични, ни међуÑобно ни Ñа глобалнима"
+
+-#: common.opt:311
++#: common.opt:312
+ msgid "Assume arguments alias no other storage"
+ msgstr "ПретпоÑтави да аргументи ниÑу дволични Ñа било чим"
+
+-#: common.opt:315
++#: common.opt:316
+ msgid "Generate unwind tables that are exact at each instruction boundary"
+ msgstr "Стварај табеле одмотавања које Ñу тачне на Ñвакој граници инÑтрукција"
+
+-#: common.opt:319
++#: common.opt:320
+ #, fuzzy
+ msgid "Generate auto-inc/dec instructions"
+ msgstr "Стварај инÑтрукције isel"
+
+-#: common.opt:327
++#: common.opt:328
+ msgid "Generate code to check bounds before indexing arrays"
+ msgstr "Стварај кôд за проверу граница пре индекÑирања низова"
+
+-#: common.opt:331
++#: common.opt:332
+ msgid "Replace add, compare, branch with branch on count register"
+ msgstr "Замени додавање-упоређивање-гранање региÑтром за гранање-на-збир"
+
+-#: common.opt:335
++#: common.opt:336
+ msgid "Use profiling information for branch probabilities"
+ msgstr "КориÑти профилишуће информације за вероватноће гранања"
+
+-#: common.opt:339
++#: common.opt:340
+ msgid "Perform branch target load optimization before prologue / epilogue threading"
+ msgstr "Оптимизуј учитавање циља гранања пре плетења пролога или епилога"
+
+-#: common.opt:343
++#: common.opt:344
+ msgid "Perform branch target load optimization after prologue / epilogue threading"
+ msgstr "Оптимизуј учитавање циља гранања поÑле плетења пролога или епилога"
+
+-#: common.opt:347
++#: common.opt:348
+ msgid "Restrict target load migration not to re-use registers in any basic block"
+ msgstr "Спречи миграцију учитавања циља да кориÑти иÑте региÑтре у било којем оÑновном блоку"
+
+-#: common.opt:351
++#: common.opt:352
+ msgid "Mark <register> as being preserved across functions"
+ msgstr "Означи да Ñе <register> очувава преко функција"
+
+-#: common.opt:355
++#: common.opt:356
+ msgid "Mark <register> as being corrupted by function calls"
+ msgstr "Означи да Ñе <register> квари позивима функција"
+
+-#: common.opt:362
++#: common.opt:363
+ msgid "Save registers around function calls"
+ msgstr "Сачувавај региÑтре око позива функција"
+
+-#: common.opt:366
++#: common.opt:367
+ msgid "Compare the results of several data dependence analyzers."
+ msgstr ""
+
+-#: common.opt:370
++#: common.opt:371
+ msgid "Do not put uninitialized globals in the common section"
+ msgstr "Ðе Ñтављај неуÑпоÑтављене глобалне у заједнички одељак"
+
+-#: common.opt:374
++#: common.opt:375
+ msgid "Perform a register copy-propagation optimization pass"
+ msgstr "Изврши оптимизацију за раÑпроÑтирање копирања преко региÑтара"
+
+-#: common.opt:378
++#: common.opt:379
+ msgid "Perform cross-jumping optimization"
+ msgstr "Изврши оптимизацију за укрштање Ñкокова"
+
+-#: common.opt:382
++#: common.opt:383
+ msgid "When running CSE, follow jumps to their targets"
+ msgstr "При извршавању ЦСЕа прати Ñкокове до њихових циљева"
+
+-#: common.opt:386
++#: common.opt:387
+ msgid "When running CSE, follow conditional jumps"
+ msgstr "При извршавању ЦСЕа прати уÑловне Ñкокове"
+
+-#: common.opt:390
++#: common.opt:391
+ msgid "Omit range reduction step when performing complex division"
+ msgstr "ИзоÑтави корак Ñвођења опÑега при комплекÑним дељењима"
+
+-#: common.opt:394
++#: common.opt:395
+ msgid "Place data items into their own section"
+ msgstr "Стављај податке у њихов ÑопÑтвени одељак"
+
+-#: common.opt:398
++#: common.opt:399
+ msgid "List all available debugging counters with their limits and counts."
+ msgstr ""
+
+-#: common.opt:402
++#: common.opt:403
+ msgid "-fdbg-cnt=<counter>:<limit>[,<counter>:<limit>,...] Set the debug counter limit. "
+ msgstr ""
+
+-#: common.opt:406
++#: common.opt:407
+ msgid "Map one directory name to another in debug information"
+ msgstr ""
+
+-#: common.opt:412
++#: common.opt:413
+ msgid "Defer popping functions args from stack until later"
+ msgstr "Одложи за каÑније подизање аргумената Ñа Ñтека"
+
+-#: common.opt:416
++#: common.opt:417
+ msgid "Attempt to fill delay slots of branch instructions"
+ msgstr "Покушај да иÑпуниш жлебове заÑтоја за инÑтрукције гранања"
+
+-#: common.opt:420
++#: common.opt:421
+ msgid "Delete useless null pointer checks"
+ msgstr "Обриши беÑкориÑне провере нултог показивача"
+
+-#: common.opt:424
++#: common.opt:425
+ msgid "How often to emit source location at the beginning of line-wrapped diagnostics"
+ msgstr "Колико чеÑто емитовати локацију у извору на почетку дијагноÑтике преломљене у више линија"
+
+-#: common.opt:428
++#: common.opt:429
+ msgid "Amend appropriate diagnostic messages with the command line option that controls them"
+ msgstr "Допуни одговарајуће дијагноÑтичке поруке опцијом командне линије које их контролишу"
+
+-#: common.opt:432
++#: common.opt:433
+ msgid "Dump various compiler internals to a file"
+ msgstr "Попиши разне унутрашње Ñтвари компилатора у датотеку"
+
+-#: common.opt:436
++#: common.opt:437
+ msgid "Suppress output of addresses in debugging dumps"
+ msgstr "Сузбиј иÑÐ¿Ð¸Ñ Ð°Ð´Ñ€ÐµÑа у иÑправљачким попиÑима"
+
+-#: common.opt:440
++#: common.opt:441
+ msgid "Suppress output of instruction numbers, line number notes and addresses in debugging dumps"
+ msgstr "Сузбиј иÑÐ¿Ð¸Ñ Ð±Ñ€Ð¾Ñ˜ÐµÐ²Ð° инÑтрукција, бројева линија и адреÑа у иÑправљачким попиÑима"
+
+-#: common.opt:444
++#: common.opt:445
+ msgid "Perform early inlining"
+ msgstr "Изврши рано уткивање"
+
+-#: common.opt:448
++#: common.opt:449
+ msgid "Perform DWARF2 duplicate elimination"
+ msgstr "Изврши елиминацију дупликата ДВÐРФ 2"
+
+-#: common.opt:452 common.opt:456
++#: common.opt:453 common.opt:457
+ msgid "Perform unused type elimination in debug info"
+ msgstr "Елиминиши неупотребље типове у иÑправљачким информацијама"
+
+-#: common.opt:460
++#: common.opt:461
+ msgid "Do not suppress C++ class debug information."
+ msgstr "Ðе Ñузбијај иÑправљачке податке Ц++ клаÑа."
+
+-#: common.opt:464
++#: common.opt:465
+ msgid "Enable exception handling"
+ msgstr "Укључи руковање изузецима"
+
+-#: common.opt:468
++#: common.opt:469
+ msgid "Perform a number of minor, expensive optimizations"
+ msgstr "Изврши и неке мање, а Ñкупе оптимизације"
+
+-#: common.opt:475
++#: common.opt:476
+ msgid "Assume no NaNs or infinities are generated"
+ msgstr "ПретпоÑтави да Ñе не Ñтварају ни ÐаÐи ни беÑконачноÑти"
+
+-#: common.opt:479
++#: common.opt:480
+ msgid "Mark <register> as being unavailable to the compiler"
+ msgstr "Означи да <register> није доÑтупан компилатору"
+
+-#: common.opt:483
++#: common.opt:484
+ msgid "Don't allocate floats and doubles in extended-precision registers"
+ msgstr "Ðе резервиши једноÑтруке и двоÑтруке у региÑтрима проширене тачноÑти"
+
+-#: common.opt:489
+-msgid "Copy memory address constants into registers before use"
+-msgstr "Копирај конÑтантне меморијÑке адреÑе у региÑтре пре употребе"
++#: common.opt:488 common.opt:647 common.opt:855 common.opt:986 common.opt:1061
++msgid "Does nothing. Preserved for backward compatibility."
++msgstr "Ðе ради ништа. ОÑтављено ради ÑаглаÑноÑти уназад."
+
+-#: common.opt:493
++#: common.opt:492
+ #, fuzzy
+ msgid "Perform a forward propagation pass on RTL"
+ msgstr "Изврши раÑпроÑтирање опÑега вредноÑти на Ñтаблима"
+
+-#: common.opt:500
++#: common.opt:499
+ msgid "Allow function addresses to be held in registers"
+ msgstr "Дозволи држање адреÑа функција у региÑтрима"
+
+-#: common.opt:504
++#: common.opt:503
+ msgid "Place each function into its own section"
+ msgstr "Стави Ñваку функцију у њен ÑопÑтвени одељак"
+
+-#: common.opt:508
++#: common.opt:507
+ msgid "Perform global common subexpression elimination"
+ msgstr "Елиминиши глобалне заједничке подизразе"
+
+-#: common.opt:512
++#: common.opt:511
+ msgid "Perform enhanced load motion during global common subexpression elimination"
+ msgstr "Изврши побољшано кретање учитавања током елиминације глобалних заједничких подизраза"
+
+-#: common.opt:516
++#: common.opt:515
+ msgid "Perform store motion after global common subexpression elimination"
+ msgstr "Изврши кретање Ñкладиштења током елиминације глобалних заједничких подизраза"
+
+-#: common.opt:520
++#: common.opt:519
+ msgid "Perform redundant load after store elimination in global common subexpression"
+ msgstr "Елиминиши непотребно учитавање поÑле Ñкладиштења у глобалном заједничком подизразу"
+
+-#: common.opt:525
++#: common.opt:524
+ msgid "Perform global common subexpression elimination after register allocation"
+ msgstr "Елиминиши глобалне заједничке подизразе поÑле резервиÑања региÑтара"
+
+-#: common.opt:530
++#: common.opt:529
+ msgid "Enable guessing of branch probabilities"
+ msgstr "Укључи погађање вероватноћа гранања"
+
+-#: common.opt:538
++#: common.opt:537
+ msgid "Process #ident directives"
+ msgstr "Обради директиве #ident"
+
+-#: common.opt:542
++#: common.opt:541
+ msgid "Perform conversion of conditional jumps to branchless equivalents"
+ msgstr "Претвори уÑловне Ñкокове у безгране еквиваленте"
+
+-#: common.opt:546
++#: common.opt:545
+ msgid "Perform conversion of conditional jumps to conditional execution"
+ msgstr "Претвори уÑловне Ñкокове у уÑловно извршавање"
+
+-#: common.opt:554
++#: common.opt:553
+ msgid "Do not generate .size directives"
+ msgstr "Ðе Ñтварај директиве .size"
+
+-#: common.opt:563
++#: common.opt:562
+ msgid "Pay attention to the \"inline\" keyword"
+ msgstr "Обраћај пажњу на кључну реч „inline“"
+
+-#: common.opt:567
++#: common.opt:566
+ #, fuzzy
+ msgid "Integrate simple functions into their callers when code size is known to not growth"
+ msgstr "Интегриши једноÑтавне функције у њихове позиваче"
+
+-#: common.opt:571
++#: common.opt:570
+ msgid "Integrate simple functions into their callers"
+ msgstr "Интегриши једноÑтавне функције у њихове позиваче"
+
+-#: common.opt:575
++#: common.opt:574
+ msgid "Integrate functions called once into their callers"
+ msgstr "Интегриши функције једном позване у њихове позиваче"
+
+-#: common.opt:582
++#: common.opt:581
+ msgid "Limit the size of inlined functions to <number>"
+ msgstr "Ограничи број утканих функција на <number>"
+
+-#: common.opt:586
++#: common.opt:585
+ msgid "Instrument function entry and exit with profiling calls"
+ msgstr "Опреми улаз и излаз функција профилишућим позивима"
+
+-#: common.opt:590
++#: common.opt:589
+ msgid "-finstrument-functions-exclude-function-list=name,... Do not instrument listed functions"
+ msgstr ""
+
+-#: common.opt:594
++#: common.opt:593
+ msgid "-finstrument-functions-exclude-file-list=filename,... Do not instrument functions listed in files"
+ msgstr ""
+
+-#: common.opt:598
++#: common.opt:597
+ msgid "Perform Interprocedural constant propagation"
+ msgstr "Изврши међупроцедурално раÑпроÑтирање конÑтанти"
+
+-#: common.opt:602
++#: common.opt:601
+ msgid "Discover pure and const functions"
+ msgstr "Откривај чиÑте и конÑтантне функције"
+
+-#: common.opt:606
++#: common.opt:605
+ msgid "Perform interprocedural points-to analysis"
+ msgstr "Изврши међупроцедуралну анализу показује-на"
+
+-#: common.opt:610
++#: common.opt:609
+ msgid "Discover readonly and non addressable static variables"
+ msgstr "Откривај Ñтатичке променљиве које Ñу Ñамо за читање и не могу Ñе адреÑирати"
+
+-#: common.opt:614
++#: common.opt:613
+ msgid "Type based escape and alias analysis"
+ msgstr "Ðнализа бегова и дволичноÑти на оÑнову типова"
+
+-#: common.opt:618
++#: common.opt:617
+ msgid "Perform matrix layout flattening and transposing based"
+ msgstr ""
+
+-#: common.opt:623
++#: common.opt:622
+ #, fuzzy
+ msgid "Perform structure layout optimizations based"
+ msgstr "Изврши оптимизације плетења Ñкокова"
+
+-#: common.opt:628
++#: common.opt:627
+ msgid "Optimize induction variables on trees"
+ msgstr "Оптимизуј индукционе променљиве на Ñтаблима"
+
+-#: common.opt:632
++#: common.opt:631
+ msgid "Use jump tables for sufficiently large switch statements"
+ msgstr "КориÑти табеле Ñкокова за довољно велике наредбе прекидача"
+
+-#: common.opt:636
++#: common.opt:635
+ msgid "Generate code for functions even if they are fully inlined"
+ msgstr "Стварај кôд за функције чак и ако Ñу потпуно уткане"
+
+-#: common.opt:640
++#: common.opt:639
+ msgid "Emit static const variables even if they are not used"
+ msgstr "Емитуј Ñтатичке конÑтантне променљиве чак и ако Ñе не кориÑте"
+
+-#: common.opt:644
++#: common.opt:643
+ msgid "Give external symbols a leading underscore"
+ msgstr "Додај Ñпољашњим Ñимболима водећу подвлаку"
+
+-#: common.opt:648 common.opt:852 common.opt:983
+-msgid "Does nothing. Preserved for backward compatibility."
+-msgstr "Ðе ради ништа. ОÑтављено ради ÑаглаÑноÑти уназад."
+-
+-#: common.opt:652
++#: common.opt:651
+ msgid "Set errno after built-in math functions"
+ msgstr "ПоÑтави errno поÑле уграђених математичких фја"
+
+-#: common.opt:656
++#: common.opt:655
+ msgid "Report on permanent memory allocation"
+ msgstr "Извештавај о трајном резервиÑању меморије"
+
+-#: common.opt:663
++#: common.opt:662
+ msgid "Attempt to merge identical constants and constant variables"
+ msgstr "Покушај да Ñтопиш иÑтоветне конÑтанте и конÑтантне променљиве"
+
+-#: common.opt:667
++#: common.opt:666
+ msgid "Attempt to merge identical constants across compilation units"
+ msgstr "Покушај да Ñтопиш иÑтоветне конÑтанте преко компилационих јединица"
+
+-#: common.opt:671
++#: common.opt:670
++#, fuzzy
++msgid "Attempt to merge identical debug strings across compilation units"
++msgstr "Покушај да Ñтопиш иÑтоветне конÑтанте преко компилационих јединица"
++
++#: common.opt:674
+ msgid "Limit diagnostics to <number> characters per line. 0 suppresses line-wrapping"
+ msgstr "Ограничи дијагноÑтику на <number> знакова по линији. 0 Ñузбија преламање линија"
+
+-#: common.opt:675
++#: common.opt:678
+ msgid "Perform SMS based modulo scheduling before the first scheduling pass"
+ msgstr "Изврши окретно модуло-раÑпоређивање на оÑнову СМСа пре првог раÑпоређивачког пролаза"
+
+-#: common.opt:679
++#: common.opt:682
+ #, fuzzy
+ msgid "Perform SMS based modulo scheduling with register moves allowed"
+ msgstr "Изврши окретно модуло-раÑпоређивање на оÑнову СМСа пре првог раÑпоређивачког пролаза"
+
+-#: common.opt:683
++#: common.opt:686
+ msgid "Move loop invariant computations out of loops"
+ msgstr "ПремеÑти инваријантна рачунања изван петљи"
+
+-#: common.opt:687
++#: common.opt:690
+ msgid "Add mudflap bounds-checking instrumentation for single-threaded program"
+ msgstr "Додај блатобранÑку проверу граница за једнонитни програм"
+
+-#: common.opt:691
++#: common.opt:694
+ msgid "Add mudflap bounds-checking instrumentation for multi-threaded program"
+ msgstr "Додај блатобранÑку проверу граница за вишенитни програм"
+
+-#: common.opt:695
++#: common.opt:698
+ msgid "Ignore read operations when inserting mudflap instrumentation"
+ msgstr "Игнориши операције читања при опремању блатобраном"
+
+-#: common.opt:699
++#: common.opt:702
+ #, fuzzy
+ msgid "Use the RTL dead code elimination pass"
+ msgstr "Укључи елиминацију мртвих Ñкладиштења"
+
+-#: common.opt:703
++#: common.opt:706
+ #, fuzzy
+ msgid "Use the RTL dead store elimination pass"
+ msgstr "Укључи елиминацију мртвих Ñкладиштења"
+
+-#: common.opt:707
++#: common.opt:710
+ msgid "Enable/Disable the traditional scheduling in loops that already passed modulo scheduling"
+ msgstr "Укључи/иÑкључи традиционално раÑпоређивање у петљама које Ñу већ прошле кроз модуло-раÑпоређивање"
+
+-#: common.opt:711
++#: common.opt:714
+ msgid "Support synchronous non-call exceptions"
+ msgstr "Подржи Ñинхроне непозивне изузетке"
+
+-#: common.opt:715
++#: common.opt:718
+ msgid "When possible do not generate stack frames"
+ msgstr "Када је могуће не Ñтварај оквире Ñтека"
+
+-#: common.opt:719
++#: common.opt:722
+ msgid "Expand OpenMP operations on SSA form"
+ msgstr ""
+
+-#: common.opt:723
++#: common.opt:726
+ msgid "Do the full register move optimization pass"
+ msgstr "Изврши потпуни пролаз оптимизације померањем региÑтара"
+
+-#: common.opt:727
++#: common.opt:730
+ msgid "Optimize sibling and tail recursive calls"
+ msgstr "Оптимизуј Ñродничке и репно рекурзивне позиве"
+
+-#: common.opt:731 common.opt:735
++#: common.opt:734 common.opt:738
+ msgid "Report on memory allocation before interprocedural optimization"
+ msgstr ""
+
+-#: common.opt:739
++#: common.opt:742
+ msgid "Pack structure members together without holes"
+ msgstr "Пакуј чланове Ñтруктура заједно без рупа"
+
+-#: common.opt:743
++#: common.opt:746
+ msgid "Set initial maximum structure member alignment"
+ msgstr "ПоÑтави почетно највеће равнање чланова Ñтруктуре"
+
+-#: common.opt:747
++#: common.opt:750
+ msgid "Return small aggregates in memory, not registers"
+ msgstr "Враћај мале Ñкупине у меморији, не у региÑтрима"
+
+-#: common.opt:751
++#: common.opt:754
+ msgid "Perform loop peeling"
+ msgstr "Изврши љушћење петљи"
+
+-#: common.opt:755
++#: common.opt:758
+ msgid "Enable machine specific peephole optimizations"
+ msgstr "Укључи машинÑки-завиÑне окнаÑте оптимизације"
+
+-#: common.opt:759
++#: common.opt:762
+ msgid "Enable an RTL peephole pass before sched2"
+ msgstr "Укључи окнаÑти РТЛ пролаз пре sched2"
+
+-#: common.opt:763
++#: common.opt:766
+ msgid "Generate position-independent code if possible (large mode)"
+ msgstr "Стварај положајно-незавиÑни кôд ако је могуће (велики режим)"
+
+-#: common.opt:767
++#: common.opt:770
+ msgid "Generate position-independent code for executables if possible (large mode)"
+ msgstr "Стварај положајно-незавиÑни кôд за извршне ако је могуће (велики режим)"
+
+-#: common.opt:771
++#: common.opt:774
+ msgid "Generate position-independent code if possible (small mode)"
+ msgstr "Стварај положајно-незавиÑни кôд ако је могуће (мали режим)"
+
+-#: common.opt:775
++#: common.opt:778
+ msgid "Generate position-independent code for executables if possible (small mode)"
+ msgstr "Стварај положајно-незавиÑни кôд за извршне ако је могуће (мали режим)"
+
+-#: common.opt:779
++#: common.opt:782
+ #, fuzzy
+ msgid "Run predictive commoning optimization."
+ msgstr "Укључи оптимизацију померањем региÑтара"
+
+-#: common.opt:783
++#: common.opt:786
+ msgid "Generate prefetch instructions, if available, for arrays in loops"
+ msgstr "Стварај инÑтрукције предохватања, ако Ñу доÑтупне, за низове у петљама"
+
+-#: common.opt:787
++#: common.opt:790
+ msgid "Enable basic program profiling code"
+ msgstr "Укључи оÑновни кôд за профилиÑање програма"
+
+-#: common.opt:791
++#: common.opt:794
+ msgid "Insert arc-based program profiling code"
+ msgstr "Убаци кôд за профилиÑање програма на оÑнову лукова"
+
+-#: common.opt:795
++#: common.opt:798
+ msgid "Enable common options for generating profile info for profile feedback directed optimizations"
+ msgstr "Укључи уобичајене опције за Ñтварање профилних информација, ради оптимизација на оÑнову одзива профилиÑања"
+
+-#: common.opt:799
++#: common.opt:802
+ msgid "Enable common options for performing profile feedback directed optimizations"
+ msgstr "Укључи уобичајене опције за оптимизације на оÑнову одзива профилиÑања"
+
+-#: common.opt:803
++#: common.opt:806
+ msgid "Insert code to profile values of expressions"
+ msgstr "Умећи кôд за профилиÑање вредноÑти израза"
+
+-#: common.opt:810
++#: common.opt:813
+ msgid "Make compile reproducible using <string>"
+ msgstr "Учини компилацију поновљивом кориÑтећи <string>"
+
+-#: common.opt:820
++#: common.opt:823
+ msgid "Record gcc command line switches in the object file."
+ msgstr ""
+
+-#: common.opt:824
++#: common.opt:827
+ msgid "Return small aggregates in registers"
+ msgstr "Враћај мале Ñкупине у региÑтрима"
+
+-#: common.opt:828
++#: common.opt:831
+ msgid "Enables a register move optimization"
+ msgstr "Укључи оптимизацију померањем региÑтара"
+
+-#: common.opt:832
++#: common.opt:835
+ msgid "Perform a register renaming optimization pass"
+ msgstr "Изврши пролаз оптимизације преименовањем региÑтара"
+
+-#: common.opt:836
++#: common.opt:839
+ msgid "Reorder basic blocks to improve code placement"
+ msgstr "ПрераÑпореди оÑновне блокове ради побољшања поÑтављења кôда"
+
+-#: common.opt:840
++#: common.opt:843
+ msgid "Reorder basic blocks and partition into hot and cold sections"
+ msgstr "ПрераÑпореди оÑновне блокове и подели на вруће и хладне одељке"
+
+-#: common.opt:844
++#: common.opt:847
+ msgid "Reorder functions to improve code placement"
+ msgstr "ПрераÑпореди функције ради побољшања поÑтављења кôда"
+
+-#: common.opt:848
++#: common.opt:851
+ msgid "Add a common subexpression elimination pass after loop optimizations"
+ msgstr "Додај пролаз елиминације заједничких подизраза поÑле оптимизација петље"
+
+-#: common.opt:856
++#: common.opt:859
+ msgid "Disable optimizations that assume default FP rounding behavior"
+ msgstr "ИÑкључи оптимизације које претпоÑтављају подразумевано понашање ФП заокруживања"
+
+-#: common.opt:860
++#: common.opt:863
+ msgid "Enable scheduling across basic blocks"
+ msgstr "Укључи раÑпоређивање преко оÑновних блокова"
+
+-#: common.opt:864
++#: common.opt:867
+ msgid "Allow speculative motion of non-loads"
+ msgstr "Дозволи Ñпекулативно кретање не-учитавања"
+
+-#: common.opt:868
++#: common.opt:871
+ msgid "Allow speculative motion of some loads"
+ msgstr "Дозволи Ñпекулативно кретање неких учитавања"
+
+-#: common.opt:872
++#: common.opt:875
+ msgid "Allow speculative motion of more loads"
+ msgstr "Дозволи Ñпекулативно кретање више учитавања"
+
+-#: common.opt:876
++#: common.opt:879
+ msgid "Set the verbosity level of the scheduler"
+ msgstr "ПоÑтави ниво опширноÑти раÑпоређивача"
+
+-#: common.opt:880
++#: common.opt:883
+ msgid "If scheduling post reload, do superblock scheduling"
+ msgstr "Ðко Ñе раÑпоређује поÑле поновљеног учитавања, изврши ÑуперблоковÑко раÑпоређивање"
+
+-#: common.opt:884
++#: common.opt:887
+ msgid "If scheduling post reload, do trace scheduling"
+ msgstr "Ðко Ñе раÑпоређује поÑле поновљеног учитавања, изврши раÑпоређивање трага"
+
+-#: common.opt:888
++#: common.opt:891
+ msgid "Reschedule instructions before register allocation"
+ msgstr "ПрераÑпореди инÑтрукције пре резервиÑања региÑтара"
+
+-#: common.opt:892
++#: common.opt:895
+ msgid "Reschedule instructions after register allocation"
+ msgstr "ПрераÑпореди инÑтрукције поÑле резервиÑања региÑтара"
+
+-#: common.opt:898
++#: common.opt:901
+ msgid "Allow premature scheduling of queued insns"
+ msgstr "Дозволи прерано раÑпоређивање ија у реду"
+
+-#: common.opt:902
++#: common.opt:905
+ msgid "Set number of queued insns that can be prematurely scheduled"
+ msgstr "Број ија у реду које Ñе могу прерано раÑпоређивати"
+
+-#: common.opt:910 common.opt:914
++#: common.opt:913 common.opt:917
+ msgid "Set dependence distance checking in premature scheduling of queued insns"
+ msgstr "Провера раÑтојања завиÑноÑти у прераном раÑпоређивању ија у реду"
+
+-#: common.opt:918
++#: common.opt:921
+ msgid "Access data in the same section from shared anchor points"
+ msgstr "ПриÑтупај подацима у иÑтом одељку из дељених Ñидришних тачака"
+
+-#: common.opt:922
++#: common.opt:925
+ msgid "Perform sequence abstraction optimization on RTL"
+ msgstr "Изврши оптимизацију апÑтракције редоÑледа при РТЛу"
+
+-#: common.opt:926
++#: common.opt:929
+ msgid "Eliminate redundant sign extensions using LCM."
+ msgstr "Уклони Ñувишна проширења знака помоћу ЛЦМа."
+
+-#: common.opt:930
++#: common.opt:933
+ #, fuzzy
+ msgid "Show column numbers in diagnostics, when available. Default off"
+ msgstr "Приказуј бројеве колона у дијагноÑтици, ако Ñу доÑтупни. Подразумевано укључено."
+
+-#: common.opt:934
++#: common.opt:937
+ msgid "Disable optimizations observable by IEEE signaling NaNs"
+ msgstr "ИÑкључи оптимизације приметне при ИЕЕЕ издавању ÐаÐа"
+
+-#: common.opt:938
++#: common.opt:941
+ msgid "Disable floating point optimizations that ignore the IEEE signedness of zero"
+ msgstr ""
+
+-#: common.opt:942
++#: common.opt:945
+ msgid "Convert floating point constants to single precision constants"
+ msgstr "Претвори конÑтанте у покретном зарезу у једноÑтруку прецизноÑÑ‚"
+
+-#: common.opt:946
++#: common.opt:949
+ msgid "Split lifetimes of induction variables when loops are unrolled"
+ msgstr "Подели времена живота индукционих променљивих када Ñе петље одмотавају"
+
+-#: common.opt:950
++#: common.opt:953
+ msgid "Split wide types into independent registers"
+ msgstr ""
+
+-#: common.opt:954
++#: common.opt:957
+ msgid "Apply variable expansion when loops are unrolled"
+ msgstr "Примени ширење променљивих када Ñе петље одмотавају"
+
+-#: common.opt:960
++#: common.opt:963
+ msgid "Insert stack checking code into the program"
+ msgstr "Уметни кôд за проверу Ñтека у програм"
+
+-#: common.opt:967
++#: common.opt:970
+ msgid "Trap if the stack goes past <register>"
+ msgstr "Хватај ако Ñтек прође поред <register>"
+
+-#: common.opt:971
++#: common.opt:974
+ msgid "Trap if the stack goes past symbol <name>"
+ msgstr "Хватај ако Ñтек прође поред Ñимбола <name>"
+
+-#: common.opt:975
++#: common.opt:978
+ msgid "Use propolice as a stack protection method"
+ msgstr "КориÑти propolice као метод заштите Ñтека"
+
+-#: common.opt:979
++#: common.opt:982
+ msgid "Use a stack protection method for every function"
+ msgstr "КориÑти метод заштите Ñтека за Ñваку функцију"
+
+-#: common.opt:991
++#: common.opt:994
+ msgid "Assume strict aliasing rules apply"
+ msgstr "ПретпоÑтави правила Ñтроге дволичноÑти"
+
+-#: common.opt:995
++#: common.opt:998
+ msgid "Treat signed overflow as undefined"
+ msgstr "Сматрај означено преливање за недефиниÑано"
+
+-#: common.opt:999
++#: common.opt:1002
+ msgid "Check for syntax errors, then stop"
+ msgstr "Провери ÑинтакÑне грешке, па Ñтани"
+
+-#: common.opt:1003
++#: common.opt:1006
+ msgid "Create data files needed by \"gcov\""
+ msgstr "Створи датотеке потребне за „gcov“"
+
+-#: common.opt:1007
++#: common.opt:1010
+ msgid "Perform jump threading optimizations"
+ msgstr "Изврши оптимизације плетења Ñкокова"
+
+-#: common.opt:1011
++#: common.opt:1014
+ msgid "Report the time taken by each compiler pass"
+ msgstr "ИзвеÑти о времену потрошеном у Ñваком компилаторÑком пролазу"
+
+-#: common.opt:1015
++#: common.opt:1018
+ msgid "Set the default thread-local storage code generation model"
+ msgstr "Подразумевани модел Ñтварања кôда за нитно-локално Ñкладиштење"
+
+-#: common.opt:1019
++#: common.opt:1022
+ msgid "Reorder top level functions, variables, and asms"
+ msgstr "Преуреди редоÑлед функција, променљива и аÑмова највишег нивоа"
+
+-#: common.opt:1023
++#: common.opt:1026
+ msgid "Perform superblock formation via tail duplication"
+ msgstr "Формирај Ñуперблокове преко умножавања репа"
+
+-#: common.opt:1030
++#: common.opt:1033
+ msgid "Assume floating-point operations can trap"
+ msgstr "ПретпоÑтави да операције у покретном зарезу могу да хватају"
+
+-#: common.opt:1034
++#: common.opt:1037
+ msgid "Trap for signed overflow in addition, subtraction and multiplication"
+ msgstr "Хватај преливање означених при додавању, одузимању и множењу"
+
+-#: common.opt:1038
++#: common.opt:1041
+ msgid "Enable SSA-CCP optimization on trees"
+ msgstr "Укључи ССÐ-ЦЦП оптимизацију над Ñтаблима"
+
+-#: common.opt:1042
++#: common.opt:1045
+ msgid "Enable SSA-CCP optimization for stores and loads"
+ msgstr "Укључи ССÐ-ЦЦП оптимизацију за Ñкладиштења и учитавања"
+
+-#: common.opt:1046
++#: common.opt:1049
+ msgid "Enable loop header copying on trees"
+ msgstr "Укључи копирање заглавља петље на Ñтаблима"
+
+-#: common.opt:1050
++#: common.opt:1053
+ msgid "Replace SSA temporaries with better names in copies"
+ msgstr "Смени ССРпривремене бољим именима у копијама"
+
+-#: common.opt:1054
++#: common.opt:1057
+ msgid "Enable copy propagation on trees"
+ msgstr "Укључи раÑпроÑтирање копирања на Ñтаблима"
+
+-#: common.opt:1058
++#: common.opt:1065
+ #, fuzzy
+-msgid "This switch is obsolete"
+-msgstr "Овом прекидачу недоÑтаје документација"
+-
+-#: common.opt:1062
+-#, fuzzy
+ msgid "Transform condition stores into unconditional ones"
+ msgstr "Претвори уÑловне Ñкокове у уÑловно извршавање"
+
+-#: common.opt:1066
++#: common.opt:1069
+ msgid "Enable SSA dead code elimination optimization on trees"
+ msgstr "Укључи ССРоптимизацију елиминације мртвог кôда на Ñтаблима"
+
+-#: common.opt:1070
++#: common.opt:1073
+ msgid "Enable dominator optimizations"
+ msgstr "Укључи доминаторÑке оптимизације"
+
+-#: common.opt:1074
++#: common.opt:1077
+ msgid "Enable dead store elimination"
+ msgstr "Укључи елиминацију мртвих Ñкладиштења"
+
+-#: common.opt:1078
++#: common.opt:1081
+ msgid "Enable Full Redundancy Elimination (FRE) on trees"
+ msgstr "Укључи пуну елиминацију ÑувишноÑти (ФРЕ) на Ñтаблима"
+
+-#: common.opt:1082
++#: common.opt:1085
+ msgid "Enable loop invariant motion on trees"
+ msgstr "Укључи кретање инваријанти петље на Ñтаблима"
+
+-#: common.opt:1086
++#: common.opt:1089
+ msgid "Enable linear loop transforms on trees"
+ msgstr "Укључи линеарне транÑформације петљи на Ñтаблима"
+
+-#: common.opt:1090
++#: common.opt:1093
+ msgid "Create canonical induction variables in loops"
+ msgstr "Стварај каноничке индукционе променљиве у петљама"
+
+-#: common.opt:1094
++#: common.opt:1097
+ msgid "Enable loop optimizations on tree level"
+ msgstr "Укључи оптимизације петљи на нивоу Ñтабла"
+
+-#: common.opt:1098
++#: common.opt:1101
+ #, fuzzy
+ msgid "Enable automatic parallelization of loops"
+ msgstr "Укључи аутоматÑко извођење шаблона"
+
+-#: common.opt:1102
++#: common.opt:1105
+ msgid "Enable SSA-PRE optimization on trees"
+ msgstr "Укључи ССÐ-ПРЕ оптимизацију на Ñтаблима"
+
+-#: common.opt:1106
++#: common.opt:1109
+ #, fuzzy
+ msgid "Enable reassociation on tree level"
+ msgstr "Укључи оптимизације петљи на нивоу Ñтабла"
+
+-#: common.opt:1110
++#: common.opt:1113
+ msgid "Perform structural alias analysis"
+ msgstr "Изврши анализу Ñтруктурних дволичноÑти"
+
+-#: common.opt:1114
++#: common.opt:1117
+ msgid "Enable SSA code sinking on trees"
+ msgstr "Укључи ССРпотапање кôда на Ñтаблима"
+
+-#: common.opt:1118
++#: common.opt:1121
+ msgid "Perform scalar replacement of aggregates"
+ msgstr "Изврши Ñкаларну замену Ñкупина"
+
+-#: common.opt:1122
++#: common.opt:1125
+ msgid "Replace temporary expressions in the SSA->normal pass"
+ msgstr "Замени привремене изразе у пролазу ССÐ->нормално"
+
+-#: common.opt:1126
++#: common.opt:1129
+ msgid "Perform live range splitting during the SSA->normal pass"
+ msgstr "Изврши поделу опÑега уживо током пролаза ССÐ->нормално"
+
+-#: common.opt:1130
++#: common.opt:1133
+ msgid "Perform Value Range Propagation on trees"
+ msgstr "Изврши раÑпроÑтирање опÑега вредноÑти на Ñтаблима"
+
+-#: common.opt:1134
++#: common.opt:1137
+ msgid "Compile whole compilation unit at a time"
+ msgstr "Компилуј целу компилациону јединицу у једном тренутку"
+
+-#: common.opt:1138
++#: common.opt:1141
+ msgid "Perform loop unrolling when iteration count is known"
+ msgstr "Одмотај петљу када Ñе зна број итерација"
+
+-#: common.opt:1142
++#: common.opt:1145
+ msgid "Perform loop unrolling for all loops"
+ msgstr "Одмотај Ñве петље"
+
+-#: common.opt:1149
++#: common.opt:1152
+ msgid "Allow loop optimizations to assume that the loops behave in normal way"
+ msgstr "Дозволи да оптимизације петље претпоÑтаве да Ñе петље нормално понашају"
+
+-#: common.opt:1153
++#: common.opt:1156
+ msgid "Allow optimization for floating-point arithmetic which may change the"
+ msgstr ""
+
+-#: common.opt:1158
++#: common.opt:1161
+ msgid "Same as -fassociative-math for expressions which include division."
+ msgstr ""
+
+-#: common.opt:1166
++#: common.opt:1169
+ msgid "Allow math optimizations that may violate IEEE or ISO standards"
+ msgstr "Дозволи математичке оптимизације које могу прекршити ИЕЕЕ или ИСО Ñтандарде"
+
+-#: common.opt:1170
++#: common.opt:1173
+ msgid "Perform loop unswitching"
+ msgstr "Изврши одуÑловљавање петљи"
+
+-#: common.opt:1174
++#: common.opt:1177
+ msgid "Just generate unwind tables for exception handling"
+ msgstr "Само Ñтвори табеле одмотавања за руковање изузецима"
+
+-#: common.opt:1178
++#: common.opt:1181
+ msgid "Perform variable tracking"
+ msgstr "Изврши праћење променљивих"
+
+-#: common.opt:1182
++#: common.opt:1185
+ msgid "Perform variable tracking and also tag variables that are uninitialized"
+ msgstr ""
+
+-#: common.opt:1186
++#: common.opt:1189
+ msgid "Enable loop vectorization on trees"
+ msgstr "Укључи векторизацију петљи на Ñтаблима"
+
+-#: common.opt:1190
++#: common.opt:1193
+ #, fuzzy
+ msgid "Enable use of cost model in vectorization"
+ msgstr "Укључи употребу ДБ инÑтрукција"
+
+-#: common.opt:1194
++#: common.opt:1197
+ msgid "Enable loop versioning when doing loop vectorization on trees"
+ msgstr "Укључи верзиониÑање петље при векторизацији на Ñтаблима"
+
+-#: common.opt:1198
++#: common.opt:1201
+ msgid "Set the verbosity level of the vectorizer"
+ msgstr "ПоÑтави ниво опширноÑти векторизатора"
+
+-#: common.opt:1202
++#: common.opt:1205
+ #, fuzzy
+ msgid "Enable copy propagation of scalar-evolution information."
+ msgstr "Укључи раÑпроÑтирање копирања за Ñкладиштења и учитавања"
+
+-#: common.opt:1212
++#: common.opt:1215
+ msgid "Add extra commentary to assembler output"
+ msgstr "Додај допунÑке коментаре у иÑпиÑу аÑемблера"
+
+-#: common.opt:1216
++#: common.opt:1219
+ msgid "Set the default symbol visibility"
+ msgstr "ПоÑтави подразумевану видљивоÑÑ‚ Ñимбола"
+
+-#: common.opt:1221
++#: common.opt:1224
+ msgid "Use expression value profiles in optimizations"
+ msgstr "КориÑти профиле вредноÑти израза у оптимизацијама"
+
+-#: common.opt:1225
++#: common.opt:1228
+ msgid "Construct webs and split unrelated uses of single variable"
+ msgstr "КонÑтруиши мреже и подели неповезане употребе једне променљиве"
+
+-#: common.opt:1229
++#: common.opt:1232
+ msgid "Perform whole program optimizations"
+ msgstr "Изврши оптимизације целог програма"
+
+-#: common.opt:1233
++#: common.opt:1236
+ msgid "Assume signed arithmetic overflow wraps around"
+ msgstr "ПретпоÑтави да Ñе преливање означене аритметике омотава"
+
+-#: common.opt:1237
++#: common.opt:1240
+ msgid "Put zero initialized data in the bss section"
+ msgstr "Стави податке уÑпоÑтављене на нулу у одељак bss"
+
+-#: common.opt:1241
++#: common.opt:1244
+ msgid "Generate debug information in default format"
+ msgstr "Стварај иÑправљачке информације у подразумеваном формату"
+
+-#: common.opt:1245
++#: common.opt:1248
+ msgid "Generate debug information in COFF format"
+ msgstr "Стварај иÑправљачке информације у формату КОФФа"
+
+-#: common.opt:1249
++#: common.opt:1252
+ msgid "Generate debug information in DWARF v2 format"
+ msgstr "Стварај иÑправљачке информације у формату ДВÐРФа 2"
+
+-#: common.opt:1253
++#: common.opt:1256
+ msgid "Generate debug information in default extended format"
+ msgstr "Стварај иÑправљачке информације у подразумеваном проширеном формату"
+
+-#: common.opt:1257
++#: common.opt:1260
+ msgid "Generate debug information in STABS format"
+ msgstr "Стварај иÑправљачке информације у формату СТÐБСа"
+
+-#: common.opt:1261
++#: common.opt:1264
+ msgid "Generate debug information in extended STABS format"
+ msgstr "Стварај иÑправљачке информације у проширеном формату СТÐБСа"
+
+-#: common.opt:1265
++#: common.opt:1268
+ msgid "Generate debug information in VMS format"
+ msgstr "Стварај иÑправљачке информације у формату ВМСа"
+
+-#: common.opt:1269
++#: common.opt:1272
+ msgid "Generate debug information in XCOFF format"
+ msgstr "Стварај иÑправљачке информације у формату ИкÑКОФФа"
+
+-#: common.opt:1273
++#: common.opt:1276
+ msgid "Generate debug information in extended XCOFF format"
+ msgstr "Стварај иÑправљачке информације у проширеном формату ИкÑКОФФа"
+
+-#: common.opt:1277
++#: common.opt:1280
+ msgid "Place output into <file>"
+ msgstr "Стави излаз у <file>"
+
+-#: common.opt:1281
++#: common.opt:1284
+ msgid "Enable function profiling"
+ msgstr "Укључи профилиÑање функција"
+
+-#: common.opt:1285
++#: common.opt:1288
+ msgid "Issue warnings needed for strict compliance to the standard"
+ msgstr "Издај упозорења потребна за Ñтрого поштовање Ñтандарда"
+
+-#: common.opt:1289
++#: common.opt:1292
+ msgid "Like -pedantic but issue them as errors"
+ msgstr "Као -pedantic али их издај као грешке"
+
+-#: common.opt:1293
++#: common.opt:1296
+ msgid "Do not display functions compiled or elapsed time"
+ msgstr "Ðе приказуј компиловане функције или протекло време"
+
+-#: common.opt:1297
++#: common.opt:1300
+ msgid "Display the compiler's version"
+ msgstr "Прикажи верзију компилатора"
+
+-#: common.opt:1301
++#: common.opt:1304
+ msgid "Suppress warnings"
+ msgstr "Сузбиј упозорења"
+
+-#: common.opt:1305
++#: common.opt:1308
+ #, fuzzy
+ msgid "Create a shared library"
+ msgstr "Укључи дељене библиотеке на оÑнову ИДа"
+
+-#: common.opt:1309
++#: common.opt:1312
+ #, fuzzy
+ msgid "Create a position independent executable"
+ msgstr "Стварај положајно-незавиÑни кôд за извршне ако је могуће (велики режим)"
+
++#: c.opt:41
++msgid "Assert the <answer> to <question>. Putting '-' before <question> disables the <answer> to <question>"
++msgstr "Потврди да Ñе <answer> и <question> поклапају. Стављањем ‘-’ иÑпред <question> иÑкључује Ñе дати <answer> и <question>"
++
++#: c.opt:45
++msgid "Do not discard comments"
++msgstr "Ðе одбацуј коментаре"
++
++#: c.opt:49
++msgid "Do not discard comments in macro expansions"
++msgstr "Ðе одбацуј коментаре при ширењу макроа"
++
++#: c.opt:53
++msgid "Define a <macro> with <val> as its value. If just <macro> is given, <val> is taken to be 1"
++msgstr "Дефиниши <macro> чија је вредноÑÑ‚ <val>. Ðко је дат Ñамо <macro>, за <val> Ñе узима 1"
++
++#: c.opt:60
++msgid "Add <dir> to the end of the main framework include path"
++msgstr "Додај <dir> на крај главне путање укључивања радног оквира"
++
++#: c.opt:64
++msgid "Print the name of header files as they are used"
++msgstr "ИÑпиÑуј имена заглавља које Ñе кориÑте"
++
++#: c.opt:68 c.opt:863
++msgid "Add <dir> to the end of the main include path"
++msgstr "Додај <dir> на крај главне путање укључивања"
++
++#: c.opt:72
++msgid "Generate make dependencies"
++msgstr "Створи завиÑноÑти за Ñправљач"
++
++#: c.opt:76
++msgid "Generate make dependencies and compile"
++msgstr "Створи завиÑноÑти за Ñправљач и компилуј"
++
++#: c.opt:80
++msgid "Write dependency output to the given file"
++msgstr "ИÑпиши завиÑноÑти у дату датотеку"
++
++#: c.opt:84
++msgid "Treat missing header files as generated files"
++msgstr "Сматрај недоÑтајућа заглавља за изведене датотеке"
++
++#: c.opt:88
++msgid "Like -M but ignore system header files"
++msgstr "Као -M али игнориши ÑиÑтемÑка заглавља"
++
++#: c.opt:92
++msgid "Like -MD but ignore system header files"
++msgstr "Као -MD али игнориши ÑиÑтемÑка заглавља"
++
++#: c.opt:96
++msgid "Generate phony targets for all headers"
++msgstr "Створи лажне циљеве за Ñва заглавља"
++
++#: c.opt:100
++msgid "Add a MAKE-quoted target"
++msgstr "Додај циљ цитран за Ñправљач"
++
++#: c.opt:104
++msgid "Add an unquoted target"
++msgstr "Додај нецитиран циљ"
++
++#: c.opt:108
++msgid "Do not generate #line directives"
++msgstr "Ðе Ñтварај директиве #line"
++
++#: c.opt:112
++msgid "Undefine <macro>"
++msgstr "Оддефиниши <macro>"
++
++#: c.opt:116
++msgid "Warn about things that will change when compiling with an ABI-compliant compiler"
++msgstr "Упозори на Ñтвари које ће Ñе променити када Ñе компилује компилатором који поштује ÐБИ"
++
++#: c.opt:120
++msgid "Warn about suspicious uses of memory addresses"
++msgstr "Упозори на Ñумњиве употребе меморијÑких адреÑа"
++
++#: c.opt:124
++msgid "Enable most warning messages"
++msgstr "Укључи већину порука упозорења"
++
++#: c.opt:128
++#, fuzzy
++msgid "Warn if a comparison is always true or always false due to the limited range of the data type"
++msgstr "поређење је увек нетачно уÑлед ограниченог опÑега типа"
++
++#: c.opt:132
++msgid "Warn whenever an Objective-C assignment is being intercepted by the garbage collector"
++msgstr "Упозори кад год Ñакупљач Ñмећа преÑретне доделу у објективном Ц-у"
++
++#: c.opt:136
++msgid "Warn about casting functions to incompatible types"
++msgstr "Упозори на претапање функција у неÑаглаÑне типове"
++
++#: c.opt:140
++msgid "Warn about C constructs that are not in the common subset of C and C++"
++msgstr "Упозори на Ц конÑтрукције које ниÑу у заједничком подÑкупу Ц-а и Ц++а"
++
++#: c.opt:144
++#, fuzzy
++msgid "Warn about C++ constructs whose meaning differs between ISO C++ 1998 and ISO C++ 200x"
++msgstr "Упозори на Ц конÑтрукције које ниÑу у заједничком подÑкупу Ц-а и Ц++а"
++
++#: c.opt:148
++msgid "Warn about casts which discard qualifiers"
++msgstr "Упозори на претапања која одбацују одредбе"
++
++#: c.opt:152
++msgid "Warn about subscripts whose type is \"char\""
++msgstr "Упозори на индекÑе типа „char“"
++
++#: c.opt:156
++#, fuzzy
++msgid "Warn about variables that might be changed by \"longjmp\" or \"vfork\""
++msgstr "променљива %q+D може бити продрмана Ñа %<longjmp%> или %<vfork%>"
++
++#: c.opt:160
++msgid "Warn about possibly nested block comments, and C++ comments spanning more than one physical line"
++msgstr "Упозори на могуће угњеждене блоковÑке коментаре, и Ц++ коментаре који премашују једну физичку линију"
++
++#: c.opt:164
++msgid "Synonym for -Wcomment"
++msgstr "Синоним за -Wcomment"
++
++#: c.opt:168
++msgid "Warn for implicit type conversions that may change a value"
++msgstr ""
++
++#: c.opt:172
++#, fuzzy
++msgid "Warn for implicit type conversions between signed and unsigned integers"
++msgstr "поређење означених и неозначених целобројних израза"
++
++#: c.opt:176
++msgid "Warn when all constructors and destructors are private"
++msgstr "Упозори када Ñу Ñви конÑтруктори и деÑтруктори приватни"
++
++#: c.opt:180
++msgid "Warn when a declaration is found after a statement"
++msgstr "Упозори када наиђе декларација поÑле наредбе"
++
++#: c.opt:184
++msgid "Warn about deprecated compiler features"
++msgstr "Упозори на превазиђене могућноÑти компилатора"
++
++#: c.opt:188
++msgid "Warn about compile-time integer division by zero"
++msgstr "Упозори на дељење нулом при компиловању"
++
++#: c.opt:192
++msgid "Warn about violations of Effective C++ style rules"
++msgstr "Упозори на кршења ÑтилÑких правила датих у Делотворном Ц++у"
++
++#: c.opt:196
++#, fuzzy
++msgid "Warn about an empty body in an if or else statement"
++msgstr "%Hпразно тело у наредби else"
++
++#: c.opt:200
++msgid "Warn about stray tokens after #elif and #endif"
++msgstr "Упозори на залутале целине поÑле #elif и #endif"
++
++#: c.opt:208
++#, fuzzy
++msgid "This switch is deprecated; use -Werror=implicit-function-declaration instead"
++msgstr "Овај прекидач је превазиђен; кориÑтите -Wextra"
++
++#: c.opt:212
++msgid "Warn if testing floating point numbers for equality"
++msgstr "Упозори на проверу једнакоÑти бројева у покретном зарезу"
++
++#: c.opt:216
++msgid "Warn about printf/scanf/strftime/strfmon format string anomalies"
++msgstr "Упозори на аномалије у формату за printf/scanf/strftime/strfmon"
++
++#: c.opt:220
++msgid "Warn if passing too many arguments to a function for its format string"
++msgstr "Упозори ако Ñе функцији проÑлеђује превише аргумената за форматирајућу ниÑку"
++
++#: c.opt:224
++msgid "Warn about format strings that are not literals"
++msgstr "Упозори на форматирајуће ниÑке које ниÑу доÑловне"
++
++#: c.opt:228
++#, fuzzy
++msgid "Warn about format strings that contain NUL bytes"
++msgstr "Упозори на форматирајуће ниÑке које ниÑу доÑловне"
++
++#: c.opt:232
++msgid "Warn about possible security problems with format functions"
++msgstr "Упозори на могуће безбедноÑне проблеме Ñа форматÑким функцијама"
++
++#: c.opt:236
++msgid "Warn about strftime formats yielding 2-digit years"
++msgstr "Упозори на формате за strftime који дају двоцифрене године"
++
++#: c.opt:240
++msgid "Warn about zero-length formats"
++msgstr "Упозори на формате нулте дужине"
++
++#: c.opt:247
++msgid "Warn whenever type qualifiers are ignored."
++msgstr ""
++
++#: c.opt:251
++msgid "Warn about variables which are initialized to themselves"
++msgstr "Упозори на променљиве које Ñе Ñаме уÑпоÑтављају"
++
++#: c.opt:258
++msgid "Warn about implicit function declarations"
++msgstr "Упозори на имплицитне декларације функција"
++
++#: c.opt:262
++msgid "Warn when a declaration does not specify a type"
++msgstr "Упозори када декларација не наводи тип"
++
++#: c.opt:266
++msgid "Deprecated. This switch has no effect"
++msgstr "Превазиђено. Овај прекидач нема ефекта"
++
++#: c.opt:270
++msgid "Warn when there is a cast to a pointer from an integer of a different size"
++msgstr "Упозори на претапање у показивач из целобројног различите величине"
++
++#: c.opt:274
++msgid "Warn about invalid uses of the \"offsetof\" macro"
++msgstr "Упозори на неиÑправне употребе макроа „offsetof“"
++
++#: c.opt:278
++msgid "Warn about PCH files that are found but not used"
++msgstr "Упозори на нађене ПЦХ датотеке које Ñе не кориÑте"
++
++#: c.opt:282
++msgid "Do not warn about using \"long long\" when -pedantic"
++msgstr "Ðе упозоравај на употребу „long long“ при -pedantic"
++
++#: c.opt:286
++msgid "Warn about suspicious declarations of \"main\""
++msgstr "Упозори на Ñумњиве декларације „main“"
++
++#: c.opt:290
++msgid "Warn about possibly missing braces around initializers"
++msgstr "Упозори на могуће недоÑтајуће витичаÑте заграде око уÑпоÑтављачâ"
++
++#: c.opt:294
++msgid "Warn about global functions without previous declarations"
++msgstr "Упозори на глобалне функције без претходне декларације"
++
++#: c.opt:298
++msgid "Warn about missing fields in struct initializers"
++msgstr "Упозори на недоÑтајућа поља у уÑпоÑтављачима Ñтруктура"
++
++#: c.opt:302
++msgid "Warn about functions which might be candidates for format attributes"
++msgstr "Упозори на функције које могу бити кандидати за форматÑке атрибуте"
++
++#: c.opt:306
++msgid "Warn about user-specified include directories that do not exist"
++msgstr "Упозори на непоÑтојеће директоријуме за укључивање које је кориÑник задао"
++
++#: c.opt:310
++msgid "Warn about function parameters declared without a type specifier in K&R-style functions"
++msgstr ""
++
++#: c.opt:314
++msgid "Warn about global functions without prototypes"
++msgstr "Упозори на глобалне функције без прототипа"
++
++#: c.opt:318
++msgid "Warn about use of multi-character character constants"
++msgstr "Упозори на употребу вишезнаковних знаковних конÑтанти"
++
++#: c.opt:322
++msgid "Warn about \"extern\" declarations not at file scope"
++msgstr "Упозори на декларације „extern“ ван доÑега датотеке"
++
++#: c.opt:326
++msgid "Warn when non-templatized friend functions are declared within a template"
++msgstr "Упозори када Ñе нешаблонÑке пријатељÑке функције декларишу унутар шаблона"
++
++#: c.opt:330
++msgid "Warn about non-virtual destructors"
++msgstr "Упозори на невиртуелне деÑтрукторе"
++
++#: c.opt:334
++msgid "Warn about NULL being passed to argument slots marked as requiring non-NULL"
++msgstr "Упозори на проÑлеђивање NULL на позицији аргумента за који Ñе захтева не-NULL"
++
++#: c.opt:338
++msgid "Warn about non-normalised Unicode strings"
++msgstr "Упозори на ненормализоване уникодÑке ниÑке"
++
++#: c.opt:342
++msgid "Warn if a C-style cast is used in a program"
++msgstr "Упозори на употребу претапања у Ñтилу Ц-а"
++
++#: c.opt:346
++#, fuzzy
++msgid "Warn for obsolescent usage in a declaration"
++msgstr "Упозори на имплицитне декларације функција"
++
++#: c.opt:350
++msgid "Warn if an old-style parameter definition is used"
++msgstr "Упозори на ÑтаровремÑку дефиницију параметара"
++
++#: c.opt:354
++msgid "Warn if a string is longer than the maximum portable length specified by the standard"
++msgstr "Упозори када је ниÑка дужа од највеће преноÑиве дужине одређене Ñтандардом"
++
++#: c.opt:358
++msgid "Warn about overloaded virtual function names"
++msgstr "Упозори на препуњена имена виртуелних функција"
++
++#: c.opt:362
++msgid "Warn about overriding initializers without side effects"
++msgstr "Упозори на потиÑкивања уÑпоÑтављача без Ñпоредних ефеката"
++
++#: c.opt:366
++msgid "Warn about possibly missing parentheses"
++msgstr "Упозори на могуће недоÑтајуће заграде"
++
++#: c.opt:370
++msgid "Warn when converting the type of pointers to member functions"
++msgstr "Упозори када Ñе претварају типови показивача на чланÑке функције"
++
++#: c.opt:374
++msgid "Warn about function pointer arithmetic"
++msgstr "Упозори на аритметику Ñа функцијÑким показивачима"
++
++#: c.opt:378
++msgid "Warn when a pointer is cast to an integer of a different size"
++msgstr "Упозори када Ñе показивач претапа у целобројни различите величине"
++
++#: c.opt:382
++msgid "Warn about misuses of pragmas"
++msgstr "Упозори на злоупотребе прагми"
++
++#: c.opt:386
++msgid "Warn if inherited methods are unimplemented"
++msgstr "Упозори када наÑлеђени методи ниÑу имплементирани"
++
++#: c.opt:390
++msgid "Warn about multiple declarations of the same object"
++msgstr "Упозори на вишеÑтруке декларације иÑтог објекта"
++
++#: c.opt:394
++msgid "Warn when the compiler reorders code"
++msgstr "Упозори када компилатор преуреди кôд"
++
++#: c.opt:398
++msgid "Warn whenever a function's return type defaults to \"int\" (C), or about inconsistent return types (C++)"
++msgstr "Упозори када повратни тип функције Ñпадне на „int“ (Ц), или на неуÑаглашене повратне типове (Ц++)"
++
++#: c.opt:402
++msgid "Warn if a selector has multiple methods"
++msgstr "Упозори када Ñелектор има вишеÑтруке методе"
++
++#: c.opt:406
++msgid "Warn about possible violations of sequence point rules"
++msgstr "Упозори на могућа кршења правила Ñеквенцијалних тачака"
++
++#: c.opt:410
++msgid "Warn about signed-unsigned comparisons"
++msgstr "Упозори на поређење означеног и неозначеног"
++
++#: c.opt:414
++msgid "Warn when overload promotes from unsigned to signed"
++msgstr "Упозори када препуњавање прелази из неозначеног у означено"
++
++#: c.opt:418
++msgid "Warn about uncasted NULL used as sentinel"
++msgstr "Упозори на непретопљено NULL у улози Ñтражара"
++
++#: c.opt:422
++msgid "Warn about unprototyped function declarations"
++msgstr "Упозори на непрототипизиране декларације функција"
++
++#: c.opt:426
++msgid "Warn if type signatures of candidate methods do not match exactly"
++msgstr "Упозори аке Ñе типÑки потпиÑи кандидатÑких метода не поклапају тачно"
++
++#: c.opt:430
++msgid "Warn when synthesis behavior differs from Cfront"
++msgstr "Упозори када Ñе понашање Ñинтезе разликује од Цфронта"
++
++#: c.opt:438
++msgid "Warn about features not present in traditional C"
++msgstr "Упозори на могућноÑти које ниÑу приÑутне у традиционалном Ц-у"
++
++#: c.opt:442
++msgid "Warn of prototypes causing type conversions different from what would happen in the absence of prototype"
++msgstr ""
++
++#: c.opt:446
++msgid "Warn if trigraphs are encountered that might affect the meaning of the program"
++msgstr "Упозори када наиђу триграфи који могу утицати на значење програма"
++
++#: c.opt:450
++msgid "Warn about @selector()s without previously declared methods"
++msgstr "Упозори на Ñелекторе без претходно деклариÑаних метода"
++
++#: c.opt:454
++msgid "Warn if an undefined macro is used in an #if directive"
++msgstr "Упозори ако Ñе у директиви #if употреби недефиниÑани макро"
++
++#: c.opt:458
++msgid "Warn about unrecognized pragmas"
++msgstr "Упозори на непрепознате прагме"
++
++#: c.opt:462
++msgid "Warn about macros defined in the main file that are not used"
++msgstr "Упозори на макрое дефиниÑане у главној датотеци који ниÑу употребљени"
++
++#: c.opt:466
++msgid "Do not warn about using variadic macros when -pedantic"
++msgstr "Ðе упозоравај на употребу варијадичких макроа при -pedantic"
++
++#: c.opt:470
++#, fuzzy
++msgid "Warn if a variable length array is used"
++msgstr "Упозори када Ñе променљива не кориÑти"
++
++#: c.opt:474
++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 "У Ц++у, ненулта вредноÑÑ‚ значи упозоравање на превазиђено претварање из доÑловних ниÑки у ‘char *’. У Ц-у значи Ñлично упозорење, оÑим што претварање наравно није превазиђено по Ñтандарду ИСО Ц-а."
++
++#: c.opt:478
++msgid "Warn when a pointer differs in signedness in an assignment"
++msgstr "Упозори када Ñе показивач у додели разликује по означеноÑти"
++
++#: c.opt:482
++msgid "A synonym for -std=c89 (for C) or -std=c++98 (for C++)"
++msgstr "Синоним за -std=c89 (за Ц) или -std=c++98 (за Ц++)"
++
++#: c.opt:490
++msgid "Enforce class member access control semantics"
++msgstr "Спроведи Ñемантику контроле приÑтупа члановима клаÑе"
++
++#: c.opt:497
++msgid "Change when template instances are emitted"
++msgstr "Промени када Ñе емитују примерци шаблона"
++
++#: c.opt:501
++msgid "Recognize the \"asm\" keyword"
++msgstr "Препознај кључну реч „asm“"
++
++#: c.opt:505
++msgid "Recognize built-in functions"
++msgstr "Препознај уграђене функције"
++
++#: c.opt:512
++msgid "Check the return value of new"
++msgstr "Провери повратни тип за new"
++
++#: c.opt:516
++msgid "Allow the arguments of the '?' operator to have different types"
++msgstr "Дозволи да аргументи оператора ‘?’ имају различите типове"
++
++#: c.opt:520
++msgid "Reduce the size of object files"
++msgstr "Смањи величину објектних датотека"
++
++#: c.opt:524
++msgid "Use class <name> for constant strings"
++msgstr "КориÑти клаÑу <name> за конÑтантне ниÑке"
++
++#: c.opt:528
++msgid "Inline member functions by default"
++msgstr "Подразумевано уткивај чланÑке функције"
++
++#: c.opt:532
++#, fuzzy
++msgid "Preprocess directives only."
++msgstr "Обради директиве #ident"
++
++#: c.opt:536
++msgid "Permit '$' as an identifier character"
++msgstr "Дозволи „$“ као знак у идентификатору"
++
++#: c.opt:543
++msgid "Generate code to check exception specifications"
++msgstr "Створи кôд за проверу одредница изузетака"
++
++#: c.opt:550
++msgid "Convert all strings and character constants to character set <cset>"
++msgstr "Претвори Ñве ниÑке и знаковне конÑтанте у Ñкуп знакова <cset>"
++
++#: c.opt:554
++msgid "Permit universal character names (\\u and \\U) in identifiers"
++msgstr "Дозволи универзална имена знакова (\\u и \\U) у идентификаторима"
++
++#: c.opt:558
++msgid "Specify the default character set for source files"
++msgstr "Ðаведи подразумевани Ñкуп знакова за изворне датотеке"
++
++#: c.opt:566
++msgid "Scope of for-init-statement variables is local to the loop"
++msgstr "ДоÑег променљивих у уÑпоÑтављачу петље је локалан за петљу"
++
++#: c.opt:570
++msgid "Do not assume that standard C libraries and \"main\" exist"
++msgstr "Ðе претпоÑтављај да Ñтандардне Ц библиотеке и „main“ поÑтоје"
++
++#: c.opt:574
++msgid "Recognize GNU-defined keywords"
++msgstr "Препознаје кључне речи које дефинише Гну"
++
++#: c.opt:578
++msgid "Generate code for GNU runtime environment"
++msgstr "Створи кôд за Гнуово извршно окружење"
++
++#: c.opt:582
++msgid "Use traditional GNU semantics for inline functions"
++msgstr "КориÑти традиционалну Гнуову Ñемантику за уткане функције"
++
++#: c.opt:595
++msgid "Assume normal C execution environment"
++msgstr "ПретпоÑтави нормално извршно окружење Ц-а"
++
++#: c.opt:599
++msgid "Enable support for huge objects"
++msgstr "Укључи подршку за огромне објекте"
++
++#: c.opt:603
++msgid "Export functions even if they can be inlined"
++msgstr "Извези функције чак и ако Ñе могу уткати"
++
++#: c.opt:607
++msgid "Emit implicit instantiations of inline templates"
++msgstr "Емитуј имплицитна извођења утканих шаблона"
++
++#: c.opt:611
++msgid "Emit implicit instantiations of templates"
++msgstr "Емитуј имплицитна извођења шаблона"
++
++#: c.opt:615
++msgid "Inject friend functions into enclosing namespace"
++msgstr "Убаци пријатељÑке функције у обухватајући именÑки проÑтор"
++
++#: c.opt:622
++msgid "Allow implicit conversions between vectors with differing numbers of subparts and/or differing element types."
++msgstr ""
++
++#: c.opt:626
++msgid "Don't warn about uses of Microsoft extensions"
++msgstr "Ðе упозоравај на употребе МајкроÑофтових проширења"
++
++#: c.opt:636
++msgid "Generate code for NeXT (Apple Mac OS X) runtime environment"
++msgstr "Створи кôд за извршно окружење ÐеКСТа (Еплов МекОС X)"
++
++#: c.opt:640
++msgid "Assume that receivers of Objective-C messages may be nil"
++msgstr "ПретпоÑтави да примаоци порука у објективном Ц-у могу бити нулти"
++
++#: c.opt:652
++msgid "Generate special Objective-C methods to initialize/destroy non-POD C++ ivars, if needed"
++msgstr "Стварај поÑебне методе у објективном Ц-у за уÑпоÑтављање/уништавање не-ПОД Ц++ и-променљивих, када је потребно"
++
++#: c.opt:656
++msgid "Allow fast jumps to the message dispatcher"
++msgstr "Дозволи брзе Ñкокове до отправника порука"
++
++#: c.opt:662
++msgid "Enable Objective-C exception and synchronization syntax"
++msgstr "Укључи ÑинтакÑу објективног Ц-а за изузетке и Ñинхронизацију"
++
++#: c.opt:666
++msgid "Enable garbage collection (GC) in Objective-C/Objective-C++ programs"
++msgstr "Укључи Ñакупљање Ñмећа (ГЦ) у програмима у објективном Ц-у/објективном Ц++у"
++
++#: c.opt:671
++msgid "Enable Objective-C setjmp exception handling runtime"
++msgstr "Укључи извршни део објективног Ц-а за руковање setjmp изузецима"
++
++#: c.opt:675
++msgid "Enable OpenMP"
++msgstr "Укључи ОпенМП"
++
++#: c.opt:679
++msgid "Recognize C++ kewords like \"compl\" and \"xor\""
++msgstr "Препознај кључне речи Ц++а као „compl“ и „xor“"
++
++#: c.opt:683
++msgid "Enable optional diagnostics"
++msgstr "Укључи опциону дијагоноÑтику"
++
++#: c.opt:690
++msgid "Look for and use PCH files even when preprocessing"
++msgstr "Тражи и кориÑти ПЦХ датотеке чак и током предобраде"
++
++#: c.opt:694
++msgid "Downgrade conformance errors to warnings"
++msgstr "Ражалуј грешке у поштовању на упозорења"
++
++#: c.opt:698
++msgid "Treat the input file as already preprocessed"
++msgstr "Сматрај улазну датотеку већ предобрађеном"
++
++#: c.opt:702
++msgid "Used in Fix-and-Continue mode to indicate that object files may be swapped in at runtime"
++msgstr "КориÑти Ñе у режиму фикÑирај-и-наÑтави за указивање да Ñе објектне датотеке могу размењивати при извршавању"
++
++#: c.opt:706
++msgid "Enable automatic template instantiation"
++msgstr "Укључи аутоматÑко извођење шаблона"
++
++#: c.opt:710
++msgid "Generate run time type descriptor information"
++msgstr "Стварај опиÑе типова при извршавању"
++
++#: c.opt:714
++msgid "Use the same size for double as for float"
++msgstr "КориÑти иÑту величину за double као за float"
++
++#: c.opt:722
++msgid "Force the underlying type for \"wchar_t\" to be \"unsigned short\""
++msgstr "Спроведи да „unsigned short“ буде подметнут за „wchar_t“"
++
++#: c.opt:726
++msgid "When \"signed\" or \"unsigned\" is not given make the bitfield signed"
++msgstr "Ðека битÑко поље буде означено када није дато ни „signed“ ни „unsigned“"
++
++#: c.opt:730
++msgid "Make \"char\" signed by default"
++msgstr "Ðека „char“ подразумевано буде означен"
++
++#: c.opt:737
++msgid "Display statistics accumulated during compilation"
++msgstr "Прикажи ÑтатиÑтику Ñрачунату током компилације"
++
++#: c.opt:744
++msgid "Distance between tab stops for column reporting"
++msgstr "Величина табулатора за пријављивање колона"
++
++#: c.opt:748
++msgid "Specify maximum template instantiation depth"
++msgstr "Одредите највећу дубину извођења шаблона"
++
++#: c.opt:755
++msgid "Do not generate thread-safe code for initializing local statics"
++msgstr "Ðе Ñтварај нитно-безбедан кôд за уÑпоÑтављање локалних Ñтатика"
++
++#: c.opt:759
++msgid "When \"signed\" or \"unsigned\" is not given make the bitfield unsigned"
++msgstr "Ðека битÑко поље буде неозначено када није дато ни „signed“ ни „unsigned“"
++
++#: c.opt:763
++msgid "Make \"char\" unsigned by default"
++msgstr "Ðека „char“ подразумевано буде неозначен"
++
++#: c.opt:767
++msgid "Use __cxa_atexit to register destructors"
++msgstr "КориÑти __cxa_atexit за региÑтрацију деÑтрукторâ"
++
++#: c.opt:771
++msgid "Use __cxa_get_exception_ptr in exception handling"
++msgstr "КориÑти __cxa_get_exception_ptr у руковању изузецима"
++
++#: c.opt:775
++msgid "Marks all inlined methods as having hidden visibility"
++msgstr "Означи Ñкривање видљивоÑти Ñвим утканим методима"
++
++#: c.opt:779
++msgid "Changes visibility to match Microsoft Visual Studio by default"
++msgstr ""
++
++#: c.opt:783
++msgid "Discard unused virtual functions"
++msgstr "Одбаци неупотребљене виртуелне функције"
++
++#: c.opt:787
++msgid "Implement vtables using thunks"
++msgstr "Имплементирај в-табеле кориÑтећи Ñмрзеве"
++
++#: c.opt:791
++msgid "Emit common-like symbols as weak symbols"
++msgstr "Емитуј наизглед заједничке Ñимболе као Ñлабе Ñимболе"
++
++#: c.opt:795
++msgid "Convert all wide strings and character constants to character set <cset>"
++msgstr "Претвори Ñве широке ниÑке и знаковне конÑтанте у Ñкуп знакова <cset>"
++
++#: c.opt:799
++msgid "Generate a #line directive pointing at the current working directory"
++msgstr "Створи директиву #line која показује на текући радни директоријум"
++
++#: c.opt:803
++msgid "Emit cross referencing information"
++msgstr "Емитуј информације о укрштеном упућивању"
++
++#: c.opt:807
++msgid "Generate lazy class lookup (via objc_getClass()) for use in Zero-Link mode"
++msgstr "Стварај лењу потрагу клаÑа (преко objc_getClass()) за употребу у режиму Зиро-Линка"
++
++#: c.opt:811
++msgid "Dump declarations to a .decl file"
++msgstr "Попиши декларације у .decl датотеку"
++
++#: c.opt:815
++msgid "Aggressive reduced debug info for structs"
++msgstr ""
++
++#: c.opt:819
++msgid "Conservative reduced debug info for structs"
++msgstr ""
++
++#: c.opt:823
++msgid "Detailed reduced debug info for structs"
++msgstr ""
++
++#: c.opt:827 c.opt:859
++msgid "Add <dir> to the end of the system include path"
++msgstr "Додај <dir> на крај ÑиÑтемÑке путање укључивања"
++
++#: c.opt:831
++msgid "Accept definition of macros in <file>"
++msgstr "Прихвати дефиниције макроа из <file>"
++
++#: c.opt:835
++msgid "-imultilib <dir> Set <dir> to be the multilib include subdirectory"
++msgstr "-imultilib <дир> ПоÑтави <дир> као поддиректоријум укључивања за вишебиба"
++
++#: c.opt:839
++msgid "Include the contents of <file> before other files"
++msgstr "Укључи Ñадржај <file> пре других датотека"
++
++#: c.opt:843
++msgid "Specify <path> as a prefix for next two options"
++msgstr "Одреди <path> као Ð¿Ñ€ÐµÑ„Ð¸ÐºÑ Ð·Ð° Ñледеће две опције"
++
++#: c.opt:847
++msgid "Set <dir> to be the system root directory"
++msgstr "ПоÑтави да <dir> буде корени директоријум ÑиÑтема"
++
++#: c.opt:851
++msgid "Add <dir> to the start of the system include path"
++msgstr "Додај <dir> на почетак ÑиÑтемÑке путање укључивања"
++
++#: c.opt:855
++msgid "Add <dir> to the end of the quote include path"
++msgstr "Додај <dir> на крај цитиране путање укључивања"
++
++#: c.opt:876
++msgid "Do not search standard system include directories (those specified with -isystem will still be used)"
++msgstr "Ðе тражи Ñтандардне ÑиÑтемÑке директоријуме укључивања (што је наведено помоћу -isystem ће и даље бити коришћено)"
++
++#: c.opt:880
++msgid "Do not search standard system include directories for C++"
++msgstr "Ðе тражи Ñтандардне ÑиÑтемÑке директоријуме укључивања за Ц++"
++
++#: c.opt:896
++msgid "Generate C header of platform-specific features"
++msgstr "Створи Ц заглавље Ñа оÑобинама поÑебним за платформу"
++
++#: c.opt:900
++msgid "Print a checksum of the executable for PCH validity checking, and stop"
++msgstr "ИÑпиши контролни збир извршне датотеке за проверу ПЦХа и Ñтани"
++
++#: c.opt:904
++msgid "Remap file names when including files"
++msgstr "Премапирај имена датотека при укључивању датотека"
++
++#: c.opt:908
++msgid "Conform to the ISO 1998 C++ standard"
++msgstr "Поштуј Ñтандард Ц++а ИСО 1998"
++
++#: c.opt:912
++#, fuzzy
++msgid "Conform to the ISO 1998 C++ standard, with extensions that are likely to"
++msgstr "Поштуј Ñтандард Ц++а ИСО 1998, Ñа Гнуовим проширењима"
++
++#: c.opt:919 c.opt:954
++msgid "Conform to the ISO 1990 C standard"
++msgstr "Поштуј Ñтандард Ц-а ИСО 1990"
++
++#: c.opt:923 c.opt:962
++msgid "Conform to the ISO 1999 C standard"
++msgstr "Поштуј Ñтандард Ц-а ИСО 1999"
++
++#: c.opt:927
++msgid "Deprecated in favor of -std=c99"
++msgstr "Превазиђено, боље -std=c99"
++
++#: c.opt:931
++msgid "Conform to the ISO 1998 C++ standard with GNU extensions"
++msgstr "Поштуј Ñтандард Ц++а ИСО 1998, Ñа Гнуовим проширењима"
++
++#: c.opt:935
++#, fuzzy
++msgid "Conform to the ISO 1998 C++ standard, with GNU extensions and"
++msgstr "Поштуј Ñтандард Ц++а ИСО 1998, Ñа Гнуовим проширењима"
++
++#: c.opt:942
++msgid "Conform to the ISO 1990 C standard with GNU extensions"
++msgstr "Поштуј Ñтандард Ц-а ИСО 1990, Ñа Гнуовим проширењима"
++
++#: c.opt:946
++msgid "Conform to the ISO 1999 C standard with GNU extensions"
++msgstr "Поштуј Ñтандард Ц-а ИСО 1999, Ñа Гнуовим проширењима"
++
++#: c.opt:950
++msgid "Deprecated in favor of -std=gnu99"
++msgstr "Превазиђено, боље -std=gnu99"
++
++#: c.opt:958
++msgid "Conform to the ISO 1990 C standard as amended in 1994"
++msgstr "Поштуј Ñтандард Ц-а ИСО 1990, Ñа допунама из 1994."
++
++#: c.opt:966
++msgid "Deprecated in favor of -std=iso9899:1999"
++msgstr "Превазиђено, боље -std=iso9899:1999"
++
++#: c.opt:970
++msgid "Enable traditional preprocessing"
++msgstr "Укључи традиционалну предобраду"
++
++#: c.opt:974
++msgid "Support ISO C trigraphs"
++msgstr "Подржи триграфе ИСО Ц-а"
++
++#: c.opt:978
++msgid "Do not predefine system-specific and GCC-specific macros"
++msgstr "Ðе предефиниши макрое поÑебне за ÑиÑтем и ГЦЦ"
++
++#: c.opt:982
++msgid "Enable verbose output"
++msgstr "Укључи опширан излаз"
++
++#: ada/lang.opt:96
++msgid "Specify options to GNAT"
++msgstr "Ðаведите опције ГÐÐТу"
++
+ #: attribs.c:244
+ #, gcc-internal-format
+ msgid "%qs attribute directive ignored"
+@@ -16671,47 +16641,47 @@
+ msgid "offset outside bounds of constant string"
+ msgstr "померај ван граница конÑтантне ниÑке"
+
+-#: builtins.c:1001
++#: builtins.c:1015
+ #, gcc-internal-format
+ msgid "second argument to %<__builtin_prefetch%> must be a constant"
+ msgstr "други аргумент за %<__builtin_prefetch%> мора бити конÑтанта"
+
+-#: builtins.c:1008
++#: builtins.c:1022
+ #, gcc-internal-format
+ msgid "invalid second argument to %<__builtin_prefetch%>; using zero"
+ msgstr "неиÑправан други аргумент за %<__builtin_prefetch%>; кориÑтим нулу"
+
+-#: builtins.c:1016
++#: builtins.c:1030
+ #, gcc-internal-format
+ msgid "third argument to %<__builtin_prefetch%> must be a constant"
+ msgstr "трећи аргумент за %<__builtin_prefetch%> мора бити конÑтанта"
+
+-#: builtins.c:1023
++#: builtins.c:1037
+ #, gcc-internal-format
+ msgid "invalid third argument to %<__builtin_prefetch%>; using zero"
+ msgstr "неиÑправан трећи аргумент за %<__builtin_prefetch%>; кориÑтим нулу"
+
+-#: builtins.c:4592
++#: builtins.c:4608
+ #, gcc-internal-format
+ msgid "argument of %<__builtin_args_info%> must be constant"
+ msgstr "аргумент за %<__builtin_args_info%> мора бити конÑтанта"
+
+-#: builtins.c:4598
++#: builtins.c:4614
+ #, gcc-internal-format
+ msgid "argument of %<__builtin_args_info%> out of range"
+ msgstr "аргумент за %<__builtin_args_info%> ван опÑега"
+
+-#: builtins.c:4604
++#: builtins.c:4620
+ #, gcc-internal-format
+ msgid "missing argument in %<__builtin_args_info%>"
+ msgstr "недоÑтаје аргумент за %<__builtin_args_info%>"
+
+-#: builtins.c:4693 gimplify.c:2117
++#: builtins.c:4709 gimplify.c:2118
+ #, gcc-internal-format
+ msgid "too few arguments to function %<va_start%>"
+ msgstr "премало аргумената за функцију %<va_start%>"
+
+-#: builtins.c:4857
++#: builtins.c:4872
+ #, gcc-internal-format
+ msgid "first argument to %<va_arg%> not of type %<va_list%>"
+ msgstr "први аргумент за %<va_arg%> није типа %<va_list%>"
+@@ -16719,95 +16689,105 @@
+ #. Unfortunately, this is merely undefined, rather than a constraint
+ #. violation, so we cannot make this an error. If this call is never
+ #. executed, the program is still strictly conforming.
+-#: builtins.c:4871
++#: builtins.c:4886
+ #, gcc-internal-format
+ msgid "%qT is promoted to %qT when passed through %<...%>"
+ msgstr "%qT Ñе унапређује у %qT при проÑлеђивању кроз %<...%>"
+
+-#: builtins.c:4876
++#: builtins.c:4891
+ #, gcc-internal-format
+ msgid "(so you should pass %qT not %qT to %<va_arg%>)"
+ msgstr "(Ñтога би требало да проÑледите %qT умеÑто %qT за %<va_arg%>)"
+
+ #. We can, however, treat "undefined" any way we please.
+ #. Call abort to encourage the user to fix the program.
+-#: builtins.c:4882 c-typeck.c:2408
++#: builtins.c:4897 c-typeck.c:2419
+ #, gcc-internal-format
+ msgid "if this code is reached, the program will abort"
+ msgstr "ако Ñе овај кôд доÑегне, програм ће Ñе прекинути"
+
+-#: builtins.c:5000
++#: builtins.c:5015
+ #, gcc-internal-format
+ msgid "invalid argument to %<__builtin_frame_address%>"
+ msgstr "неиÑправан аргумент за %<__builtin_frame_address%>"
+
+-#: builtins.c:5002
++#: builtins.c:5017
+ #, gcc-internal-format
+ msgid "invalid argument to %<__builtin_return_address%>"
+ msgstr "неиÑправан аргумент за %<__builtin_return_address%>"
+
+-#: builtins.c:5015
++#: builtins.c:5030
+ #, gcc-internal-format
+ msgid "unsupported argument to %<__builtin_frame_address%>"
+ msgstr "неподржан аргумент за %<__builtin_frame_address%>"
+
+-#: builtins.c:5017
++#: builtins.c:5032
+ #, gcc-internal-format
+ msgid "unsupported argument to %<__builtin_return_address%>"
+ msgstr "неподржан аргумент за %<__builtin_return_address%>"
+
+-#: builtins.c:5564
++#: builtins.c:5579
+ #, fuzzy, gcc-internal-format
+ msgid "both arguments to %<__builtin___clear_cache%> must be pointers"
+ msgstr "трећи аргумент за %<__builtin_prefetch%> мора бити конÑтанта"
+
+ #. All valid uses of __builtin_va_arg_pack () are removed during
+ #. inlining.
+-#: builtins.c:6276 expr.c:8024
++#: builtins.c:6291 expr.c:8023
+ #, fuzzy
+ msgid "%Kinvalid use of %<__builtin_va_arg_pack ()%>"
+ msgstr "неиÑправан аргумент за %<__builtin_frame_address%>"
+
+ #. All valid uses of __builtin_va_arg_pack_len () are removed during
+ #. inlining.
+-#: builtins.c:6282
++#: builtins.c:6297
+ #, fuzzy
+ msgid "%Kinvalid use of %<__builtin_va_arg_pack_len ()%>"
+ msgstr "неиÑправан аргумент за %<__builtin_frame_address%>"
+
+-#: builtins.c:6578
++#: builtins.c:6593
+ #, gcc-internal-format
+ msgid "%<__builtin_longjmp%> second argument must be 1"
+ msgstr "%<__builtin_longjmp%> други аргумент мора бити 1"
+
+-#: builtins.c:7209
++#: builtins.c:7224
+ #, gcc-internal-format
+ msgid "target format does not support infinity"
+ msgstr "циљни формат не подржава беÑконачноÑÑ‚"
+
+-#: builtins.c:9623 builtins.c:9712
++#: builtins.c:9638 builtins.c:9727 builtins.c:10082
+ #, gcc-internal-format
+ msgid "non-floating-point argument to function %qs"
+ msgstr "аргумент који није у покретном зарезу за функцију %qs"
+
+-#: builtins.c:11303
++#: builtins.c:10446 builtins.c:10466
+ #, gcc-internal-format
++msgid "too few arguments to function %qs"
++msgstr "премало аргумената за функцију %qs"
++
++#: builtins.c:10452 builtins.c:10472
++#, gcc-internal-format
++msgid "too many arguments to function %qs"
++msgstr "превише аргумената за функцију %qs"
++
++#: builtins.c:11377
++#, gcc-internal-format
+ msgid "%<va_start%> used in function with fixed args"
+ msgstr "%<va_start%> употребљено у функцији Ñа фикÑним аргументима"
+
+-#: builtins.c:11311
++#: builtins.c:11385
+ #, fuzzy, gcc-internal-format
+ msgid "wrong number of arguments to function %<va_start%>"
+ msgstr "премало аргумената за функцију %<va_start%>"
+
+ #. Evidently an out of date version of <stdarg.h>; can't validate
+ #. va_start's second argument, but can still work as intended.
+-#: builtins.c:11324
++#: builtins.c:11398
+ #, gcc-internal-format
+ msgid "%<__builtin_next_arg%> called without an argument"
+ msgstr "%<__builtin_next_arg%> позвано без аргумената"
+
+-#: builtins.c:11329
++#: builtins.c:11403
+ #, fuzzy, gcc-internal-format
+ msgid "wrong number of arguments to function %<__builtin_next_arg%>"
+ msgstr "премало аргумената за функцију %<va_start%>"
+@@ -16817,27 +16797,27 @@
+ #. argument. We just warn and set the arg to be the last
+ #. argument so that we will get wrong-code because of
+ #. it.
+-#: builtins.c:11358
++#: builtins.c:11432
+ #, gcc-internal-format
+ msgid "second parameter of %<va_start%> not last named argument"
+ msgstr "други параметар за %<va_start%> није поÑледњи именовани аргумент"
+
+-#: builtins.c:11472
++#: builtins.c:11546
+ #, fuzzy
+ msgid "%Kfirst argument of %D must be a pointer, second integer constant"
+ msgstr "%Hпрви аргумент за %D мора бити показивач, а други целобројна конÑтанта"
+
+-#: builtins.c:11485
++#: builtins.c:11559
+ #, fuzzy
+ msgid "%Klast argument of %D is not integer constant between 0 and 3"
+ msgstr "%HпоÑледњи аргумент за %D није целобројна конÑтанта између 0 и 3"
+
+-#: builtins.c:11529 builtins.c:11693 builtins.c:11752
++#: builtins.c:11603 builtins.c:11767 builtins.c:11826
+ #, fuzzy
+ msgid "%Kcall to %D will always overflow destination buffer"
+ msgstr "%Hпозив за %D ће увек прелити одредишни бафер"
+
+-#: builtins.c:11683
++#: builtins.c:11757
+ #, fuzzy
+ msgid "%Kcall to %D might overflow destination buffer"
+ msgstr "%Hпозив за %D ће увек прелити одредишни бафер"
+@@ -16961,440 +16941,440 @@
+ msgid "conversion to %qT alters %qT constant value"
+ msgstr "двоÑмиÑлено претварање из %qT у %qT"
+
+-#: c-common.c:1296
++#: c-common.c:1299
+ #, fuzzy, gcc-internal-format
+ msgid "conversion to %qT from %qT may change the sign of the result"
+ msgstr "двоÑмиÑлено претварање %qE из %qT у %qT"
+
+-#: c-common.c:1325
++#: c-common.c:1328
+ #, fuzzy, gcc-internal-format
+ msgid "conversion to %qT from %qT may alter its value"
+ msgstr "двоÑмиÑлено претварање %qE из %qT у %qT"
+
+-#: c-common.c:1353
++#: c-common.c:1356
+ #, gcc-internal-format
+ msgid "large integer implicitly truncated to unsigned type"
+ msgstr "велики целобројни имплицитно подÑечен на неозначени тип"
+
+-#: c-common.c:1359 c-common.c:1366 c-common.c:1374
++#: c-common.c:1362 c-common.c:1369 c-common.c:1377
+ #, gcc-internal-format
+ msgid "overflow in implicit constant conversion"
+ msgstr "преливање у имплицитном претварању конÑтанте"
+
+-#: c-common.c:1528
++#: c-common.c:1531
+ #, gcc-internal-format
+ msgid "operation on %qE may be undefined"
+ msgstr "операција над %qE може бити недефиниÑана"
+
+-#: c-common.c:1821
++#: c-common.c:1824
+ #, gcc-internal-format
+ msgid "case label does not reduce to an integer constant"
+ msgstr "етикета Ñлучаја Ñе не Ñводи на целобројну конÑтанту"
+
+-#: c-common.c:1861
++#: c-common.c:1864
+ #, gcc-internal-format
+ msgid "case label value is less than minimum value for type"
+ msgstr "етикета Ñлучаја је мања од најмање вредноÑти типа"
+
+-#: c-common.c:1869
++#: c-common.c:1872
+ #, gcc-internal-format
+ msgid "case label value exceeds maximum value for type"
+ msgstr "етикета Ñлучаја премашује највећу вредноÑÑ‚ типа"
+
+-#: c-common.c:1877
++#: c-common.c:1880
+ #, gcc-internal-format
+ msgid "lower value in case label range less than minimum value for type"
+ msgstr "доња вредноÑÑ‚ у опÑегу етикета Ñлучаја мања од најмање вредноÑти типа"
+
+-#: c-common.c:1886
++#: c-common.c:1889
+ #, gcc-internal-format
+ msgid "upper value in case label range exceeds maximum value for type"
+ msgstr "горња вредноÑÑ‚ у опÑегу етикета Ñлучаја премашује највећу вредноÑÑ‚ типа"
+
+-#: c-common.c:1960
++#: c-common.c:1963
+ #, gcc-internal-format
+ msgid "GCC cannot support operators with integer types and fixed-point types that have too many integral and fractional bits together"
+ msgstr ""
+
+-#: c-common.c:2450
++#: c-common.c:2453
+ #, fuzzy, gcc-internal-format
+ msgid "invalid operands to binary %s (have %qT and %qT)"
+ msgstr "неиÑправни операнди за бинарно %s"
+
+-#: c-common.c:2686
++#: c-common.c:2689
+ #, gcc-internal-format
+ msgid "comparison is always false due to limited range of data type"
+ msgstr "поређење је увек нетачно уÑлед ограниченог опÑега типа"
+
+-#: c-common.c:2688
++#: c-common.c:2691
+ #, gcc-internal-format
+ msgid "comparison is always true due to limited range of data type"
+ msgstr "поређење је увек тачно уÑлед ограниченог опÑега типа"
+
+-#: c-common.c:2767
++#: c-common.c:2770
+ #, gcc-internal-format
+ msgid "comparison of unsigned expression >= 0 is always true"
+ msgstr "поређење неозначеног израза >= 0 је увек тачно"
+
+-#: c-common.c:2777
++#: c-common.c:2780
+ #, gcc-internal-format
+ msgid "comparison of unsigned expression < 0 is always false"
+ msgstr "поређење неозначеног израза < 0 је увек тачно"
+
+-#: c-common.c:2818
++#: c-common.c:2821
+ #, gcc-internal-format
+ msgid "pointer of type %<void *%> used in arithmetic"
+ msgstr "показивач типа %<void *%> употребљен у аритметици"
+
+-#: c-common.c:2824
++#: c-common.c:2827
+ #, gcc-internal-format
+ msgid "pointer to a function used in arithmetic"
+ msgstr "показивач на функцију употребљен у аритметици"
+
+-#: c-common.c:2830
++#: c-common.c:2833
+ #, gcc-internal-format
+ msgid "pointer to member function used in arithmetic"
+ msgstr "показивач на чланÑку функцију употребљен у аритметици"
+
+-#: c-common.c:2982
++#: c-common.c:2985
+ #, gcc-internal-format
+ msgid "the address of %qD will always evaluate as %<true%>"
+ msgstr "адреÑа за %qD ће увек бити израчуната као %<true%>"
+
+-#: c-common.c:3051 cp/semantics.c:596 cp/typeck.c:6411
++#: c-common.c:3054 cp/semantics.c:597 cp/typeck.c:6438
+ #, gcc-internal-format
+ msgid "suggest parentheses around assignment used as truth value"
+ msgstr "предлажем заграде око израза употребљеног као иÑтинитоÑна вредноÑÑ‚"
+
+-#: c-common.c:3123 c-typeck.c:8958
++#: c-common.c:3126 c-typeck.c:8969
+ #, gcc-internal-format
+ msgid "invalid use of %<restrict%>"
+ msgstr "неиÑправна употреба %<restrict%>"
+
+-#: c-common.c:3339
++#: c-common.c:3346
+ #, gcc-internal-format
+ msgid "invalid application of %<sizeof%> to a function type"
+ msgstr "неиÑправна примена %<sizeof%> на функцијÑки тип"
+
+-#: c-common.c:3349
++#: c-common.c:3356
+ #, gcc-internal-format
+ msgid "invalid application of %qs to a void type"
+ msgstr "неиÑправна примена %qs на празан тип"
+
+-#: c-common.c:3355
++#: c-common.c:3362
+ #, gcc-internal-format
+ msgid "invalid application of %qs to incomplete type %qT "
+ msgstr "неиÑправна примена %qs на непотпун тип %qT"
+
+-#: c-common.c:3396
++#: c-common.c:3403
+ #, gcc-internal-format
+ msgid "%<__alignof%> applied to a bit-field"
+ msgstr "%<__alignof%> примењено на битÑко поље"
+
+-#: c-common.c:3969
++#: c-common.c:3976
+ #, gcc-internal-format
+ msgid "cannot disable built-in function %qs"
+ msgstr "не могу да иÑкључим уграђену функцију %qs"
+
+-#: c-common.c:4172
++#: c-common.c:4179
+ #, gcc-internal-format
+ msgid "pointers are not permitted as case values"
+ msgstr "показивачи ниÑу дозвољени као вредноÑти Ñлучаја"
+
+-#: c-common.c:4178
++#: c-common.c:4185
+ #, gcc-internal-format
+ msgid "range expressions in switch statements are non-standard"
+ msgstr "изрази опÑега у наредбама прекидача ниÑу Ñтандардни"
+
+-#: c-common.c:4204
++#: c-common.c:4211
+ #, gcc-internal-format
+ msgid "empty range specified"
+ msgstr "наведен је празан опÑег"
+
+-#: c-common.c:4264
++#: c-common.c:4271
+ #, gcc-internal-format
+ msgid "duplicate (or overlapping) case value"
+ msgstr "удвоÑтручена (или преклапајућа) вредноÑÑ‚ Ñлучаја"
+
+-#: c-common.c:4265
++#: c-common.c:4272
+ #, gcc-internal-format
+ msgid "%Jthis is the first entry overlapping that value"
+ msgstr "%Jово је први ÑƒÐ½Ð¾Ñ ÐºÐ¾Ñ˜Ð¸ преклапа ту вредноÑÑ‚"
+
+-#: c-common.c:4269
++#: c-common.c:4276
+ #, gcc-internal-format
+ msgid "duplicate case value"
+ msgstr "удвоÑтручена вредноÑÑ‚ Ñлучаја"
+
+-#: c-common.c:4270
++#: c-common.c:4277
+ #, gcc-internal-format
+ msgid "%Jpreviously used here"
+ msgstr "%Jпретходно употребљена овде"
+
+-#: c-common.c:4274
++#: c-common.c:4281
+ #, gcc-internal-format
+ msgid "multiple default labels in one switch"
+ msgstr "вишеÑтруке етикете подразумеваног у иÑтом прекидачу"
+
+-#: c-common.c:4275
++#: c-common.c:4282
+ #, gcc-internal-format
+ msgid "%Jthis is the first default label"
+ msgstr "%Jово је прва етикета подразумеваног"
+
+-#: c-common.c:4324
++#: c-common.c:4331
+ #, gcc-internal-format
+ msgid "%Jcase value %qs not in enumerated type"
+ msgstr "%JвредноÑÑ‚ Ñлучаја %qs није у набројивом типу"
+
+-#: c-common.c:4327
++#: c-common.c:4334
+ #, gcc-internal-format
+ msgid "%Jcase value %qs not in enumerated type %qT"
+ msgstr "%JвредноÑÑ‚ Ñлучаја %qs није у набројивом типу %qT"
+
+-#: c-common.c:4385
++#: c-common.c:4392
+ #, gcc-internal-format
+ msgid "%Hswitch missing default case"
+ msgstr "%Hпрекидачу недоÑтаје подразумевани Ñлучај"
+
+-#: c-common.c:4448
++#: c-common.c:4455
+ #, gcc-internal-format
+ msgid "%Henumeration value %qE not handled in switch"
+ msgstr "%Hнабројива вредноÑÑ‚ %qE није обрађена у прекидачу"
+
+-#: c-common.c:4472
++#: c-common.c:4479
+ #, gcc-internal-format
+ msgid "taking the address of a label is non-standard"
+ msgstr "узимање адреÑе етикете није Ñтандардно"
+
+-#: c-common.c:4622
++#: c-common.c:4629
+ #, gcc-internal-format
+ msgid "%qE attribute ignored for field of type %qT"
+ msgstr "атрибут %qE Ñе игнорише за поље типа %qT"
+
+-#: c-common.c:4633 c-common.c:4652 c-common.c:4670 c-common.c:4697
+-#: c-common.c:4724 c-common.c:4750 c-common.c:4769 c-common.c:4793
+-#: c-common.c:4816 c-common.c:4839 c-common.c:4860 c-common.c:4881
+-#: c-common.c:4905 c-common.c:4931 c-common.c:4968 c-common.c:4995
+-#: c-common.c:5046 c-common.c:5130 c-common.c:5160 c-common.c:5179
+-#: c-common.c:5499 c-common.c:5559 c-common.c:5580 c-common.c:5644
+-#: c-common.c:5762 c-common.c:5828 c-common.c:5877 c-common.c:5923
+-#: c-common.c:5993 c-common.c:6017 c-common.c:6301 c-common.c:6324
++#: c-common.c:4640 c-common.c:4659 c-common.c:4677 c-common.c:4704
++#: c-common.c:4731 c-common.c:4757 c-common.c:4776 c-common.c:4800
++#: c-common.c:4823 c-common.c:4846 c-common.c:4867 c-common.c:4888
++#: c-common.c:4912 c-common.c:4938 c-common.c:4975 c-common.c:5002
++#: c-common.c:5045 c-common.c:5129 c-common.c:5159 c-common.c:5178
++#: c-common.c:5498 c-common.c:5558 c-common.c:5579 c-common.c:5643
++#: c-common.c:5761 c-common.c:5827 c-common.c:5876 c-common.c:5922
++#: c-common.c:5992 c-common.c:6016 c-common.c:6301 c-common.c:6324
+ #: c-common.c:6363
+ #, gcc-internal-format
+ msgid "%qE attribute ignored"
+ msgstr "атрибут %qE Ñе игнорише"
+
+-#: c-common.c:4715 c-common.c:4741
++#: c-common.c:4722 c-common.c:4748
+ #, fuzzy, gcc-internal-format
+ msgid "%qE attribute conflicts with attribute %s"
+ msgstr "Ðтрибут %s коÑи Ñе Ñа атрибутом %s код %L"
+
+-#: c-common.c:4962
++#: c-common.c:4969
+ #, gcc-internal-format
+ msgid "%qE attribute have effect only on public objects"
+ msgstr "атрибут %qE има утицаја Ñамо у јавним објектима"
+
+-#: c-common.c:5067
++#: c-common.c:5066
+ #, fuzzy, gcc-internal-format
+ msgid "destructor priorities are not supported"
+ msgstr "трамполине ниÑу подржане"
+
+-#: c-common.c:5069
++#: c-common.c:5068
+ #, fuzzy, gcc-internal-format
+ msgid "constructor priorities are not supported"
+ msgstr "трамполине ниÑу подржане"
+
+-#: c-common.c:5086
++#: c-common.c:5085
+ #, gcc-internal-format
+ msgid "destructor priorities from 0 to %d are reserved for the implementation"
+ msgstr ""
+
+-#: c-common.c:5091
++#: c-common.c:5090
+ #, gcc-internal-format
+ msgid "constructor priorities from 0 to %d are reserved for the implementation"
+ msgstr ""
+
+-#: c-common.c:5099
++#: c-common.c:5098
+ #, gcc-internal-format
+ msgid "destructor priorities must be integers from 0 to %d inclusive"
+ msgstr ""
+
+-#: c-common.c:5102
++#: c-common.c:5101
+ #, gcc-internal-format
+ msgid "constructor priorities must be integers from 0 to %d inclusive"
+ msgstr ""
+
+-#: c-common.c:5221
++#: c-common.c:5220
+ #, gcc-internal-format
+ msgid "unknown machine mode %qs"
+ msgstr "непознат машинÑки режим %qs"
+
+-#: c-common.c:5250
++#: c-common.c:5249
+ #, gcc-internal-format
+ msgid "specifying vector types with __attribute__ ((mode)) is deprecated"
+ msgstr "превазиђено задавање векторÑких типова помоћу __attribute__ ((режим))"
+
+-#: c-common.c:5253
++#: c-common.c:5252
+ #, gcc-internal-format
+ msgid "use __attribute__ ((vector_size)) instead"
+ msgstr "употребите __attribute__ ((величина_вектора)) умеÑто тога"
+
+-#: c-common.c:5262
++#: c-common.c:5261
+ #, gcc-internal-format
+ msgid "unable to emulate %qs"
+ msgstr "не могу да емулирам %qs"
+
+-#: c-common.c:5272
++#: c-common.c:5271
+ #, gcc-internal-format
+ msgid "invalid pointer mode %qs"
+ msgstr "неиÑправан режим показивача %qs"
+
+-#: c-common.c:5289
++#: c-common.c:5288
+ #, gcc-internal-format
+ msgid "signness of type and machine mode %qs don't match"
+ msgstr ""
+
+-#: c-common.c:5300
++#: c-common.c:5299
+ #, gcc-internal-format
+ msgid "no data type for mode %qs"
+ msgstr "нема типа података за режим %qs"
+
+-#: c-common.c:5310
++#: c-common.c:5309
+ #, gcc-internal-format
+ msgid "cannot use mode %qs for enumeral types"
+ msgstr "не могу да кориÑтим режим %qs за бројевне типове"
+
+-#: c-common.c:5337
++#: c-common.c:5336
+ #, gcc-internal-format
+ msgid "mode %qs applied to inappropriate type"
+ msgstr "режим %qs примењен на неодговарајући тип"
+
+-#: c-common.c:5368
++#: c-common.c:5367
+ #, gcc-internal-format
+ msgid "%Jsection attribute cannot be specified for local variables"
+ msgstr "%Jатрибут одељка Ñе не може навеÑти за локалне променљиве"
+
+-#: c-common.c:5379 config/bfin/bfin.c:4879 config/bfin/bfin.c:4930
++#: c-common.c:5378 config/bfin/bfin.c:4982 config/bfin/bfin.c:5033
+ #, gcc-internal-format
+ msgid "section of %q+D conflicts with previous declaration"
+ msgstr "одељак за %q+D коÑи Ñе Ñа претходном декларацијом"
+
+-#: c-common.c:5388
++#: c-common.c:5387
+ #, gcc-internal-format
+ msgid "section attribute not allowed for %q+D"
+ msgstr "атрибут одељка није допуштен за %q+D"
+
+-#: c-common.c:5394
++#: c-common.c:5393
+ #, gcc-internal-format
+ msgid "%Jsection attributes are not supported for this target"
+ msgstr "%Jатрибути одељка ниÑу подржани за овај циљ"
+
+-#: c-common.c:5426
++#: c-common.c:5425
+ #, gcc-internal-format
+ msgid "requested alignment is not a constant"
+ msgstr "захтевано равнање није конÑтанта"
+
+-#: c-common.c:5431
++#: c-common.c:5430
+ #, gcc-internal-format
+ msgid "requested alignment is not a power of 2"
+ msgstr "захтевано равнање није Ñтепен двојке"
+
+-#: c-common.c:5436
++#: c-common.c:5435
+ #, gcc-internal-format
+ msgid "requested alignment is too large"
+ msgstr "захтевано равнање је превелико"
+
+-#: c-common.c:5462
++#: c-common.c:5461
+ #, gcc-internal-format
+ msgid "alignment may not be specified for %q+D"
+ msgstr "равнање Ñе не може навеÑти за %q+D"
+
+-#: c-common.c:5469
++#: c-common.c:5468
+ #, gcc-internal-format
+ msgid "alignment for %q+D was previously specified as %d and may not be decreased"
+ msgstr ""
+
+-#: c-common.c:5473
++#: c-common.c:5472
+ #, fuzzy, gcc-internal-format
+ msgid "alignment for %q+D must be at least %d"
+ msgstr "Стварни аргумент за ‘%s’ код %L мора бити показивач"
+
+-#: c-common.c:5522
++#: c-common.c:5521
+ #, gcc-internal-format
+ msgid "%q+D defined both normally and as an alias"
+ msgstr "%q+D дефиниÑано и нормално и као алијаÑ"
+
+-#: c-common.c:5538
++#: c-common.c:5537
+ #, gcc-internal-format
+ msgid "alias argument not a string"
+ msgstr "аргумент алијаÑа није ниÑка"
+
+-#: c-common.c:5601
++#: c-common.c:5600
+ #, gcc-internal-format
+ msgid "%Jweakref attribute must appear before alias attribute"
+ msgstr "%Jатрибут Ñлабог упућивања мора Ñе јавити пре атрибута алијаÑа"
+
+-#: c-common.c:5631
++#: c-common.c:5630
+ #, gcc-internal-format
+ msgid "%qE attribute ignored on non-class types"
+ msgstr "атрибут %qE Ñе игнорише на не-клаÑним типовима"
+
+-#: c-common.c:5637
++#: c-common.c:5636
+ #, gcc-internal-format
+ msgid "%qE attribute ignored because %qT is already defined"
+ msgstr "атрибут %qE Ñе игнорише јер је %qT већ дефиниÑан"
+
+-#: c-common.c:5650
++#: c-common.c:5649
+ #, gcc-internal-format
+ msgid "visibility argument not a string"
+ msgstr "видљивоÑÑ‚ аргумента није ниÑка"
+
+-#: c-common.c:5662
++#: c-common.c:5661
+ #, gcc-internal-format
+ msgid "%qE attribute ignored on types"
+ msgstr "атрибут %qE Ñе игнорише на типовима"
+
+-#: c-common.c:5678
++#: c-common.c:5677
+ #, gcc-internal-format
+ msgid "visibility argument must be one of \"default\", \"hidden\", \"protected\" or \"internal\""
+ msgstr "аргумент видљивоÑти мора бити једно од „default“, „hidden“, „protected“ или „internal“"
+
+-#: c-common.c:5689
++#: c-common.c:5688
+ #, gcc-internal-format
+ msgid "%qD redeclared with different visibility"
+ msgstr "%qD поново деклариÑано Ñа другачијом видљивошћу"
+
+-#: c-common.c:5692 c-common.c:5696
++#: c-common.c:5691 c-common.c:5695
+ #, fuzzy, gcc-internal-format
+ msgid "%qD was declared %qs which implies default visibility"
+ msgstr "%qD поново деклариÑано Ñа другачијом видљивошћу"
+
+-#: c-common.c:5770
++#: c-common.c:5769
+ #, gcc-internal-format
+ msgid "tls_model argument not a string"
+ msgstr "аргумент за tls_model није ниÑка"
+
+-#: c-common.c:5783
++#: c-common.c:5782
+ #, gcc-internal-format
+ msgid "tls_model argument must be one of \"local-exec\", \"initial-exec\", \"local-dynamic\" or \"global-dynamic\""
+ msgstr "аргумент за tls_model мора бити једно од „local-exec“, „initial-exec“, „local-dynamic“ или „global-dynamic“"
+
+-#: c-common.c:5802 c-common.c:5897
++#: c-common.c:5801 c-common.c:5896
+ #, gcc-internal-format
+ msgid "%J%qE attribute applies only to functions"
+ msgstr "%Jатрибут %qE примењује Ñе Ñамо на функције"
+
+-#: c-common.c:5807 c-common.c:5902
++#: c-common.c:5806 c-common.c:5901
+ #, gcc-internal-format
+ msgid "%Jcan%'t set %qE attribute after definition"
+ msgstr "%Jатрибут %qE не може Ñе поÑтавити поÑле дефиниције"
+
+-#: c-common.c:5858
++#: c-common.c:5857
+ #, gcc-internal-format
+ msgid "alloc_size parameter outside range"
+ msgstr ""
+
+-#: c-common.c:5991
++#: c-common.c:5990
+ #, gcc-internal-format
+ msgid "%qE attribute ignored for %qE"
+ msgstr "атрибут %qE Ñе игнорише за %qE"
+@@ -17504,7 +17484,7 @@
+ msgid "cannot apply %<offsetof%> when %<operator[]%> is overloaded"
+ msgstr "не могу применити %<offsetof%> када је %<operator[]%> препуњен"
+
+-#: c-common.c:6818 cp/typeck.c:4525
++#: c-common.c:6818 cp/typeck.c:4533
+ #, gcc-internal-format
+ msgid "attempt to take address of bit-field structure member %qD"
+ msgstr "покушај узимања адреÑе битÑког поља %qD у Ñтруктури"
+@@ -17539,14 +17519,14 @@
+ msgid "size of array is too large"
+ msgstr "величина низа %qs је превелика"
+
+-#: c-common.c:7041 c-common.c:7090 c-typeck.c:2705
++#: c-common.c:7041 c-common.c:7090 c-typeck.c:2716
+ #, gcc-internal-format
+ msgid "too few arguments to function %qE"
+ msgstr "премало аргумената за функцију %qE"
+
+ #. ??? This should not be an error when inlining calls to
+ #. unprototyped functions.
+-#: c-common.c:7058 c-typeck.c:4374
++#: c-common.c:7058 c-typeck.c:4385
+ #, gcc-internal-format
+ msgid "incompatible type for argument %d of %qE"
+ msgstr "неÑаглаÑни тип за аргумент %d у %qE"
+@@ -17626,8 +17606,8 @@
+ #. an unprototyped function, it is compile-time undefined;
+ #. making it a constraint in that case was rejected in
+ #. DR#252.
+-#: c-convert.c:95 c-typeck.c:1775 c-typeck.c:4012 cp/typeck.c:1502
+-#: cp/typeck.c:5717 cp/typeck.c:6325 fortran/convert.c:88
++#: c-convert.c:95 c-typeck.c:1785 c-typeck.c:4023 cp/typeck.c:1548
++#: cp/typeck.c:5725 cp/typeck.c:6352 fortran/convert.c:88
+ #: treelang/tree-convert.c:79
+ #, gcc-internal-format
+ msgid "void value not ignored as it ought to be"
+@@ -17639,104 +17619,104 @@
+ msgid "conversion to non-scalar type requested"
+ msgstr "затражено је претварање у неÑкаларни тип"
+
+-#: c-decl.c:546
++#: c-decl.c:547
+ #, gcc-internal-format
+ msgid "array %q+D assumed to have one element"
+ msgstr "претпоÑтавља Ñе да низ %q+D има један елемент"
+
+-#: c-decl.c:651
++#: c-decl.c:652
+ #, gcc-internal-format
+ msgid "GCC supports only %u nested scopes"
+ msgstr "ГЦЦ подржава Ñамо %u угњеждених доÑега"
+
+-#: c-decl.c:737 cp/decl.c:358
++#: c-decl.c:738 cp/decl.c:359
+ #, gcc-internal-format
+ msgid "label %q+D used but not defined"
+ msgstr "етикета %q+D употребљена али недефиниÑана"
+
+-#: c-decl.c:778
++#: c-decl.c:779
+ #, gcc-internal-format
+ msgid "nested function %q+D declared but never defined"
+ msgstr "угњеждена функција %q+D деклариÑана али нигде дефиниÑана"
+
+-#: c-decl.c:788
++#: c-decl.c:789
+ #, fuzzy, gcc-internal-format
+ msgid "inline function %q+D declared but never defined"
+ msgstr "угњеждена функција %q+D деклариÑана али нигде дефиниÑана"
+
+-#: c-decl.c:801 cp/decl.c:608
++#: c-decl.c:802 cp/decl.c:609
+ #, gcc-internal-format
+ msgid "unused variable %q+D"
+ msgstr "неупотребљена променљива %q+D"
+
+-#: c-decl.c:805
++#: c-decl.c:806
+ #, gcc-internal-format
+ msgid "type of array %q+D completed incompatibly with implicit initialization"
+ msgstr "тип низа %q+D довршен неÑаглаÑно Ñа имплицитним уÑпоÑтављањем"
+
+-#: c-decl.c:1039
++#: c-decl.c:1040
+ #, gcc-internal-format
+ msgid "a parameter list with an ellipsis can%'t match an empty parameter name list declaration"
+ msgstr "лиÑта параметара Ñа тротачком не може поклопити декларацију празне лиÑте имена параметара"
+
+-#: c-decl.c:1046
++#: c-decl.c:1047
+ #, gcc-internal-format
+ msgid "an argument type that has a default promotion can%'t match an empty parameter name list declaration"
+ msgstr "тип аргумента који има подразумевано унапређење не може поклопити декларацију празне лиÑте имена параметара"
+
+-#: c-decl.c:1087
++#: c-decl.c:1088
+ #, gcc-internal-format
+ msgid "prototype for %q+D declares more arguments than previous old-style definition"
+ msgstr "протитип за %q+D декларише више аргумената од претходне ÑтаровремÑке дефиниције"
+
+-#: c-decl.c:1093
++#: c-decl.c:1094
+ #, gcc-internal-format
+ msgid "prototype for %q+D declares fewer arguments than previous old-style definition"
+ msgstr "протитип за %q+D декларише мање аргумената од претходне ÑтаровремÑке дефиниције"
+
+-#: c-decl.c:1102
++#: c-decl.c:1103
+ #, gcc-internal-format
+ msgid "prototype for %q+D declares argument %d with incompatible type"
+ msgstr "протитип за %q+D декларише %d Ñа неÑаглаÑним типом"
+
+ #. If we get here, no errors were found, but do issue a warning
+ #. for this poor-style construct.
+-#: c-decl.c:1115
++#: c-decl.c:1116
+ #, gcc-internal-format
+ msgid "prototype for %q+D follows non-prototype definition"
+ msgstr "протитип за %q+D прати непрототипÑку дефиницију"
+
+-#: c-decl.c:1130
++#: c-decl.c:1131
+ #, gcc-internal-format
+ msgid "previous definition of %q+D was here"
+ msgstr "претходна дефиниција %q+D беше овде"
+
+-#: c-decl.c:1132
++#: c-decl.c:1133
+ #, gcc-internal-format
+ msgid "previous implicit declaration of %q+D was here"
+ msgstr "претходна имплицитна декларација %q+D беше овде"
+
+-#: c-decl.c:1134
++#: c-decl.c:1135
+ #, gcc-internal-format
+ msgid "previous declaration of %q+D was here"
+ msgstr "претходна декларација %q+D беше овде"
+
+-#: c-decl.c:1174
++#: c-decl.c:1175
+ #, gcc-internal-format
+ msgid "%q+D redeclared as different kind of symbol"
+ msgstr "%q+D поново деклариÑано као различита врÑта Ñимбола"
+
+-#: c-decl.c:1178
++#: c-decl.c:1179
+ #, gcc-internal-format
+ msgid "built-in function %q+D declared as non-function"
+ msgstr "уграђена функција %q+D деклариÑана као нефункција"
+
+-#: c-decl.c:1181 c-decl.c:1298 c-decl.c:1983
++#: c-decl.c:1182 c-decl.c:1299 c-decl.c:1988
+ #, gcc-internal-format
+ msgid "declaration of %q+D shadows a built-in function"
+ msgstr "декларација %q+D заклања уграђену функцију"
+
+-#: c-decl.c:1190
++#: c-decl.c:1191
+ #, gcc-internal-format
+ msgid "redeclaration of enumerator %q+D"
+ msgstr "поновљена декларација набрајача %q+D"
+@@ -17744,274 +17724,274 @@
+ #. If types don't match for a built-in, throw away the
+ #. built-in. No point in calling locate_old_decl here, it
+ #. won't print anything.
+-#: c-decl.c:1211
++#: c-decl.c:1212
+ #, gcc-internal-format
+ msgid "conflicting types for built-in function %q+D"
+ msgstr "Ñукобљени типови за уграђену функцију %q+D"
+
+-#: c-decl.c:1235 c-decl.c:1248 c-decl.c:1258
++#: c-decl.c:1236 c-decl.c:1249 c-decl.c:1259
+ #, gcc-internal-format
+ msgid "conflicting types for %q+D"
+ msgstr "Ñукобљени типови за %q+D"
+
+-#: c-decl.c:1256
++#: c-decl.c:1257
+ #, gcc-internal-format
+ msgid "conflicting type qualifiers for %q+D"
+ msgstr "Ñукобљене одредбе типа за %q+D"
+
+ #. Allow OLDDECL to continue in use.
+-#: c-decl.c:1273
++#: c-decl.c:1274
+ #, gcc-internal-format
+ msgid "redefinition of typedef %q+D"
+ msgstr "поновљена дефиниција типа %q+D"
+
+-#: c-decl.c:1324 c-decl.c:1426
++#: c-decl.c:1325 c-decl.c:1427
+ #, gcc-internal-format
+ msgid "redefinition of %q+D"
+ msgstr "поновљена дефиниција %q+D"
+
+-#: c-decl.c:1359 c-decl.c:1464
++#: c-decl.c:1360 c-decl.c:1465
+ #, gcc-internal-format
+ msgid "static declaration of %q+D follows non-static declaration"
+ msgstr "Ñтатичка декларација %q+D прати неÑтатичку декларацију"
+
+-#: c-decl.c:1369 c-decl.c:1376 c-decl.c:1453 c-decl.c:1461
++#: c-decl.c:1370 c-decl.c:1377 c-decl.c:1454 c-decl.c:1462
+ #, gcc-internal-format
+ msgid "non-static declaration of %q+D follows static declaration"
+ msgstr "неÑтатичка декларација %q+D прати Ñтатичку декларацију"
+
+-#: c-decl.c:1393
++#: c-decl.c:1394
+ #, gcc-internal-format
+ msgid "%<gnu_inline%> attribute present on %q+D"
+ msgstr ""
+
+-#: c-decl.c:1395
++#: c-decl.c:1396
+ #, fuzzy, gcc-internal-format
+ msgid "%Jbut not here"
+ msgstr "%J први тип овде"
+
+-#: c-decl.c:1413
++#: c-decl.c:1414
+ #, gcc-internal-format
+ msgid "thread-local declaration of %q+D follows non-thread-local declaration"
+ msgstr "нитно-локална декларација %q+D прати не-нитно-локалну декларацију"
+
+-#: c-decl.c:1416
++#: c-decl.c:1417
+ #, gcc-internal-format
+ msgid "non-thread-local declaration of %q+D follows thread-local declaration"
+ msgstr "не-нитно-локална декларација %q+D прати нитно-локалну декларацију"
+
+-#: c-decl.c:1446
++#: c-decl.c:1447
+ #, gcc-internal-format
+ msgid "extern declaration of %q+D follows declaration with no linkage"
+ msgstr "декларација Ñпољашњег %q+D прати декларацију без повезивоÑти"
+
+-#: c-decl.c:1482
++#: c-decl.c:1483
+ #, gcc-internal-format
+ msgid "declaration of %q+D with no linkage follows extern declaration"
+ msgstr "декларација %q+D без повезивоÑти прати декларацију Ñпољашњег"
+
+-#: c-decl.c:1488
++#: c-decl.c:1489
+ #, gcc-internal-format
+ msgid "redeclaration of %q+D with no linkage"
+ msgstr "поновљена декларација %q+D без повезивоÑти"
+
+-#: c-decl.c:1502
++#: c-decl.c:1503
+ #, gcc-internal-format
+ msgid "redeclaration of %q+D with different visibility (old visibility preserved)"
+ msgstr "поновљена декларација %q+D Ñа различитом видљивошћу (чува Ñе Ñтара видљивоÑÑ‚)"
+
+-#: c-decl.c:1513
++#: c-decl.c:1514
+ #, gcc-internal-format
+ msgid "inline declaration of %qD follows declaration with attribute noinline"
+ msgstr "уткана декларација %q+D прати декларацију без атрибута noinline"
+
+-#: c-decl.c:1520
++#: c-decl.c:1521
+ #, gcc-internal-format
+ msgid "declaration of %q+D with attribute noinline follows inline declaration "
+ msgstr "декларација %q+D Ñа атрибутом noinline прати уткану декларацију "
+
+-#: c-decl.c:1539
++#: c-decl.c:1540
+ #, gcc-internal-format
+ msgid "%q+D declared inline after being called"
+ msgstr "%q+D деклариÑано уткано пошто је већ позвано"
+
+-#: c-decl.c:1544
++#: c-decl.c:1545
+ #, gcc-internal-format
+ msgid "%q+D declared inline after its definition"
+ msgstr "%q+D деклариÑано уткано поÑле Ñвоје дефиниције"
+
+-#: c-decl.c:1563
++#: c-decl.c:1564
+ #, gcc-internal-format
+ msgid "redefinition of parameter %q+D"
+ msgstr "поновљена дефиниција параметра %q+D"
+
+-#: c-decl.c:1590
++#: c-decl.c:1591
+ #, gcc-internal-format
+ msgid "redundant redeclaration of %q+D"
+ msgstr "Ñувишна поновљена декларација %q+D"
+
+-#: c-decl.c:1970
++#: c-decl.c:1975
+ #, gcc-internal-format
+ msgid "declaration of %q+D shadows previous non-variable"
+ msgstr "декларација %q+D заклања претходну не-променљиву"
+
+-#: c-decl.c:1975
++#: c-decl.c:1980
+ #, gcc-internal-format
+ msgid "declaration of %q+D shadows a parameter"
+ msgstr "декларација %q+D заклања параметар"
+
+-#: c-decl.c:1978
++#: c-decl.c:1983
+ #, gcc-internal-format
+ msgid "declaration of %q+D shadows a global declaration"
+ msgstr "декларација %q+D заклања глобалну декларацију"
+
+-#: c-decl.c:1988
++#: c-decl.c:1993
+ #, gcc-internal-format
+ msgid "declaration of %q+D shadows a previous local"
+ msgstr "декларација %q+D заклања претходну локалну"
+
+-#: c-decl.c:1991 cp/name-lookup.c:988 cp/name-lookup.c:1019
+-#: cp/name-lookup.c:1027
++#: c-decl.c:1996 cp/name-lookup.c:987 cp/name-lookup.c:1018
++#: cp/name-lookup.c:1026
+ #, gcc-internal-format
+ msgid "%Jshadowed declaration is here"
+ msgstr "%Jзаклоњена декларација је овде"
+
+-#: c-decl.c:2183
++#: c-decl.c:2188
+ #, gcc-internal-format
+ msgid "nested extern declaration of %qD"
+ msgstr "угњеждена декларација %qD"
+
+-#: c-decl.c:2346 c-decl.c:2349
++#: c-decl.c:2351 c-decl.c:2354
+ #, gcc-internal-format
+ msgid "implicit declaration of function %qE"
+ msgstr "имплицитна декларација функције %qE"
+
+-#: c-decl.c:2411
++#: c-decl.c:2416
+ #, gcc-internal-format
+ msgid "incompatible implicit declaration of built-in function %qD"
+ msgstr "неÑаглаÑна имплицитна декларација уграђене функције %qD"
+
+-#: c-decl.c:2420
++#: c-decl.c:2425
+ #, gcc-internal-format
+ msgid "incompatible implicit declaration of function %qD"
+ msgstr "неÑаглаÑна имплицитна декларација функције %qD"
+
+-#: c-decl.c:2473
++#: c-decl.c:2478
+ #, gcc-internal-format
+ msgid "%H%qE undeclared here (not in a function)"
+ msgstr "%H%qE недеклариÑано овде (не у функцији)"
+
+-#: c-decl.c:2478
++#: c-decl.c:2483
+ #, gcc-internal-format
+ msgid "%H%qE undeclared (first use in this function)"
+ msgstr "%H%qE недеклариÑано (прва употреба у овој функцији)"
+
+-#: c-decl.c:2482
++#: c-decl.c:2487
+ #, gcc-internal-format
+ msgid "%H(Each undeclared identifier is reported only once"
+ msgstr "%H(Сваки недеклариÑани идентификатор пријављен је Ñамо једном"
+
+-#: c-decl.c:2483
++#: c-decl.c:2488
+ #, gcc-internal-format
+ msgid "%Hfor each function it appears in.)"
+ msgstr "%Hза Ñваку функцију у којој Ñе јавља.)"
+
+-#: c-decl.c:2521 cp/decl.c:2397
++#: c-decl.c:2526 cp/decl.c:2404
+ #, gcc-internal-format
+ msgid "label %qE referenced outside of any function"
+ msgstr "на етикету %qE упућено ван било које функције"
+
+-#: c-decl.c:2563
++#: c-decl.c:2568
+ #, gcc-internal-format
+ msgid "duplicate label declaration %qE"
+ msgstr "УдвоÑтручена декларација етикете %qE"
+
+-#: c-decl.c:2599
++#: c-decl.c:2604
+ #, gcc-internal-format
+ msgid "%Hduplicate label %qD"
+ msgstr "%HудвоÑтручена етикета %qD"
+
+-#: c-decl.c:2609
++#: c-decl.c:2614
+ #, gcc-internal-format
+ msgid "%Jjump into statement expression"
+ msgstr "%JÑкок у наредбени израз"
+
+-#: c-decl.c:2611
++#: c-decl.c:2616
+ #, gcc-internal-format
+ msgid "%Jjump into scope of identifier with variably modified type"
+ msgstr "%JÑкок у доÑег идентификатора Ñа променљиво измењивим типом"
+
+-#: c-decl.c:2626
++#: c-decl.c:2631
+ #, gcc-internal-format
+ msgid "%Htraditional C lacks a separate namespace for labels, identifier %qE conflicts"
+ msgstr "%Hтрадиционалном Ц-у недоÑтаје одвојени именÑки проÑтор за етикете, те је идентификатор %qE у Ñукобу"
+
+-#: c-decl.c:2701
++#: c-decl.c:2706
+ #, gcc-internal-format
+ msgid "%H%qE defined as wrong kind of tag"
+ msgstr "%H%qE дефиниÑан као погрешна врÑта ознаке"
+
+-#: c-decl.c:2903
++#: c-decl.c:2908
+ #, gcc-internal-format
+ msgid "unnamed struct/union that defines no instances"
+ msgstr "неименована Ñтруктура/унија која не дефинише ниједан примерак"
+
+-#: c-decl.c:2911
++#: c-decl.c:2916
+ #, gcc-internal-format
+ msgid "empty declaration with storage class specifier does not redeclare tag"
+ msgstr "празна декларација Ñа наводиоцем Ñкладишне клаÑе која не редекларише ознаку"
+
+-#: c-decl.c:2922
++#: c-decl.c:2927
+ #, gcc-internal-format
+ msgid "empty declaration with type qualifier does not redeclare tag"
+ msgstr "празна декларација Ñа одредом типа која не редекларише ознаку"
+
+-#: c-decl.c:2943 c-decl.c:2950
++#: c-decl.c:2948 c-decl.c:2955
+ #, gcc-internal-format
+ msgid "useless type name in empty declaration"
+ msgstr "беÑкориÑно име типа у празној декларацији"
+
+-#: c-decl.c:2958
++#: c-decl.c:2963
+ #, gcc-internal-format
+ msgid "%<inline%> in empty declaration"
+ msgstr "%<inline%> у празној декларацији"
+
+-#: c-decl.c:2964
++#: c-decl.c:2969
+ #, gcc-internal-format
+ msgid "%<auto%> in file-scope empty declaration"
+ msgstr "%<auto%> у празној декларацији у доÑегу датотеке"
+
+-#: c-decl.c:2970
++#: c-decl.c:2975
+ #, gcc-internal-format
+ msgid "%<register%> in file-scope empty declaration"
+ msgstr "%<register%> у празној декларацији у доÑегу датотеке"
+
+-#: c-decl.c:2976
++#: c-decl.c:2981
+ #, gcc-internal-format
+ msgid "useless storage class specifier in empty declaration"
+ msgstr "беÑкориÑан наводилац Ñкладишне клаÑе у празној декларацији"
+
+-#: c-decl.c:2982
++#: c-decl.c:2987
+ #, gcc-internal-format
+ msgid "useless %<__thread%> in empty declaration"
+ msgstr "беÑкориÑно %<__thread%> у празној декларацији"
+
+-#: c-decl.c:2990
++#: c-decl.c:2995
+ #, gcc-internal-format
+ msgid "useless type qualifier in empty declaration"
+ msgstr "беÑкориÑна одредба типа у празној декларацији"
+
+-#: c-decl.c:2997
++#: c-decl.c:3002
+ #, gcc-internal-format
+ msgid "empty declaration"
+ msgstr "празна декларација"
+
+-#: c-decl.c:3063
++#: c-decl.c:3068
+ #, gcc-internal-format
+ msgid "ISO C90 does not support %<static%> or type qualifiers in parameter array declarators"
+ msgstr "ИСО Ц 90 не подржава %<static%> или одредбе типа у параметарÑким деклараторима низова"
+
+-#: c-decl.c:3066
++#: c-decl.c:3071
+ #, gcc-internal-format
+ msgid "ISO C90 does not support %<[*]%> array declarators"
+ msgstr "ИСО Ц 90 не подржава деклараторе низова %<[*]%>"
+@@ -18019,253 +17999,248 @@
+ #. C99 6.7.5.2p4
+ #. A function definition isn't function prototype scope C99 6.2.1p4.
+ #. C99 6.7.5.2p4
+-#: c-decl.c:3073 c-decl.c:5015
++#: c-decl.c:3078 c-decl.c:5014
+ #, gcc-internal-format
+ msgid "%<[*]%> not allowed in other than function prototype scope"
+ msgstr "%<[*]%> није дозвољено другде оÑим у доÑегу прототипа функције"
+
+-#: c-decl.c:3097
++#: c-decl.c:3181
+ #, gcc-internal-format
+-msgid "static or type qualifiers in abstract declarator"
+-msgstr "Ñтатичка или одредбе типова у апÑтрактном декларатору"
+-
+-#: c-decl.c:3183
+-#, gcc-internal-format
+ msgid "%q+D is usually a function"
+ msgstr "%q+D је обично функција"
+
+-#: c-decl.c:3192 cp/decl.c:3983 cp/decl2.c:773
++#: c-decl.c:3190 cp/decl.c:4003 cp/decl2.c:773
+ #, gcc-internal-format
+ msgid "typedef %qD is initialized (use __typeof__ instead)"
+ msgstr "дефиниција типа %qD је уÑпоÑтављена (употребите __typeof__)"
+
+-#: c-decl.c:3197
++#: c-decl.c:3195
+ #, gcc-internal-format
+ msgid "function %qD is initialized like a variable"
+ msgstr "функција %qD је уÑпоÑтављена као променљива"
+
+ #. DECL_INITIAL in a PARM_DECL is really DECL_ARG_TYPE.
+-#: c-decl.c:3203
++#: c-decl.c:3201
+ #, gcc-internal-format
+ msgid "parameter %qD is initialized"
+ msgstr "параметар %qD је уÑпоÑтављен"
+
+-#: c-decl.c:3228
++#: c-decl.c:3226
+ #, gcc-internal-format
+ msgid "variable %qD has initializer but incomplete type"
+ msgstr "променљива %qD има уÑпоÑтављач али је непотпуног типа"
+
+-#: c-decl.c:3316 c-decl.c:6108 cp/decl.c:4025 cp/decl.c:10985
++#: c-decl.c:3314 c-decl.c:6107 cp/decl.c:4045 cp/decl.c:11083
+ #, gcc-internal-format
+ msgid "inline function %q+D given attribute noinline"
+ msgstr "утканој функцији %q+D дат је атрибут noinline"
+
+-#: c-decl.c:3327
++#: c-decl.c:3326
+ #, gcc-internal-format
+ msgid "%q+D is static but declared in inline function %qD which is not static"
+ msgstr ""
+
+-#: c-decl.c:3418
++#: c-decl.c:3417
+ #, gcc-internal-format
+ msgid "initializer fails to determine size of %q+D"
+ msgstr "уÑпоÑтављач не одређује величину за %q+D"
+
+-#: c-decl.c:3423
++#: c-decl.c:3422
+ #, gcc-internal-format
+ msgid "array size missing in %q+D"
+ msgstr "недоÑтаје величина низа у %q+D"
+
+-#: c-decl.c:3435
++#: c-decl.c:3434
+ #, gcc-internal-format
+ msgid "zero or negative size array %q+D"
+ msgstr "нулта или негативна величина низа %q+D"
+
+-#: c-decl.c:3490 varasm.c:2067
++#: c-decl.c:3489 varasm.c:2067
+ #, gcc-internal-format
+ msgid "storage size of %q+D isn%'t known"
+ msgstr "величина Ñкладишта за %q+D није позната"
+
+-#: c-decl.c:3500
++#: c-decl.c:3499
+ #, gcc-internal-format
+ msgid "storage size of %q+D isn%'t constant"
+ msgstr "величина Ñкладишта за %q+D није конÑтантна"
+
+-#: c-decl.c:3545
++#: c-decl.c:3544
+ #, gcc-internal-format
+ msgid "ignoring asm-specifier for non-static local variable %q+D"
+ msgstr "игноришем наводилац asm за неÑтатичку локалну променљиву %q+D"
+
+-#: c-decl.c:3573 fortran/f95-lang.c:653
++#: c-decl.c:3572 fortran/f95-lang.c:655
+ #, gcc-internal-format
+ msgid "cannot put object with volatile field into register"
+ msgstr "не могу да Ñтавим објекат Ñа непоÑтојаним пољем у региÑтар"
+
+-#: c-decl.c:3702
++#: c-decl.c:3701
+ #, gcc-internal-format
+ msgid "ISO C forbids forward parameter declarations"
+ msgstr "ИСО Ц забрањује унапредне декларације параметара"
+
+-#: c-decl.c:3821
++#: c-decl.c:3820
+ #, gcc-internal-format
+ msgid "bit-field %qs width not an integer constant"
+ msgstr "ширина битÑког поља %qs није целобројна конÑтанта"
+
+-#: c-decl.c:3829
++#: c-decl.c:3828
+ #, gcc-internal-format
+ msgid "negative width in bit-field %qs"
+ msgstr "негативна ширина у битÑком пољу %qs"
+
+-#: c-decl.c:3834
++#: c-decl.c:3833
+ #, gcc-internal-format
+ msgid "zero width for bit-field %qs"
+ msgstr "нулта ширина за битÑко поље %qs"
+
+-#: c-decl.c:3844
++#: c-decl.c:3843
+ #, gcc-internal-format
+ msgid "bit-field %qs has invalid type"
+ msgstr "битÑко поље %qs има неиÑправан тип"
+
+-#: c-decl.c:3854
++#: c-decl.c:3853
+ #, gcc-internal-format
+ msgid "type of bit-field %qs is a GCC extension"
+ msgstr "тип битÑког поља %qs је проширење ГЦЦа"
+
+-#: c-decl.c:3860
++#: c-decl.c:3859
+ #, gcc-internal-format
+ msgid "width of %qs exceeds its type"
+ msgstr "ширина %qs премашује Ñвој тип"
+
+-#: c-decl.c:3873
++#: c-decl.c:3872
+ #, gcc-internal-format
+ msgid "%qs is narrower than values of its type"
+ msgstr "%qs је уже од вредноÑти Ñвог типа"
+
+-#: c-decl.c:3892
++#: c-decl.c:3891
+ #, gcc-internal-format
+ msgid "ISO C90 forbids array %qs whose size can%'t be evaluated"
+ msgstr "ИСО Ц 90 забрањује низ %qs чија Ñе величина не може израчунати"
+
+-#: c-decl.c:3896
++#: c-decl.c:3895
+ #, fuzzy, gcc-internal-format
+ msgid "ISO C90 forbids array whose size can%'t be evaluated"
+ msgstr "ИСО Ц 90 забрањује низ %qs чија Ñе величина не може израчунати"
+
+-#: c-decl.c:3902
++#: c-decl.c:3901
+ #, fuzzy, gcc-internal-format
+ msgid "ISO C90 forbids variable length array %qs"
+ msgstr "ИСО Ц 90 забрањује низ променљиве величине %qs"
+
+-#: c-decl.c:3905
++#: c-decl.c:3904
+ #, fuzzy, gcc-internal-format
+ msgid "ISO C90 forbids variable length array"
+ msgstr "ИСО Ц 90 забрањује низ променљиве величине %qs"
+
+-#: c-decl.c:3914
++#: c-decl.c:3913
+ #, fuzzy, gcc-internal-format
+ msgid "the size of array %qs can%'t be evaluated"
+ msgstr "ИСО Ц 90 забрањује низ %qs чија Ñе величина не може израчунати"
+
+-#: c-decl.c:3918
++#: c-decl.c:3917
+ #, fuzzy, gcc-internal-format
+ msgid "the size of array can %'t be evaluated"
+ msgstr "величина типа не може бити екÑплицитно израчуната"
+
+-#: c-decl.c:3924
++#: c-decl.c:3923
+ #, gcc-internal-format
+ msgid "variable length array %qs is used"
+ msgstr ""
+
+-#: c-decl.c:3928 cp/decl.c:7004
++#: c-decl.c:3927 cp/decl.c:7076
+ #, gcc-internal-format
+ msgid "variable length array is used"
+ msgstr ""
+
+-#: c-decl.c:4051 c-decl.c:4328
++#: c-decl.c:4050 c-decl.c:4327
+ #, gcc-internal-format
+ msgid "variably modified %qs at file scope"
+ msgstr "променљиво измењиво %qs у доÑегу датотеке"
+
+-#: c-decl.c:4069
++#: c-decl.c:4068
+ #, gcc-internal-format
+ msgid "type defaults to %<int%> in declaration of %qs"
+ msgstr "тип Ñпада на %<int%> у декларацији %qs"
+
+-#: c-decl.c:4097
++#: c-decl.c:4096
+ #, gcc-internal-format
+ msgid "duplicate %<const%>"
+ msgstr "удвоÑтручено %<const%>"
+
+-#: c-decl.c:4099
++#: c-decl.c:4098
+ #, gcc-internal-format
+ msgid "duplicate %<restrict%>"
+ msgstr "удвоÑтручено %<restrict%>"
+
+-#: c-decl.c:4101
++#: c-decl.c:4100
+ #, gcc-internal-format
+ msgid "duplicate %<volatile%>"
+ msgstr "удвоÑтручено %<volatile%>"
+
+-#: c-decl.c:4120
++#: c-decl.c:4119
+ #, gcc-internal-format
+ msgid "function definition declared %<auto%>"
+ msgstr "дефиниција функције деклариÑана као %<auto%>"
+
+-#: c-decl.c:4122
++#: c-decl.c:4121
+ #, gcc-internal-format
+ msgid "function definition declared %<register%>"
+ msgstr "дефиниција функције деклариÑана као %<register%>"
+
+-#: c-decl.c:4124
++#: c-decl.c:4123
+ #, gcc-internal-format
+ msgid "function definition declared %<typedef%>"
+ msgstr "дефиниција функције деклариÑана као %<typedef%>"
+
+-#: c-decl.c:4126
++#: c-decl.c:4125
+ #, gcc-internal-format
+ msgid "function definition declared %<__thread%>"
+ msgstr "дефиниција функције деклариÑана као %<__thread%>"
+
+-#: c-decl.c:4142
++#: c-decl.c:4141
+ #, gcc-internal-format
+ msgid "storage class specified for structure field %qs"
+ msgstr "Ñкладишна клаÑа наведена за поље Ñтруктуре %qs"
+
+-#: c-decl.c:4146 cp/decl.c:7874
++#: c-decl.c:4145 cp/decl.c:7946
+ #, gcc-internal-format
+ msgid "storage class specified for parameter %qs"
+ msgstr "Ñкладишна клаÑа наведена за параметар %qs"
+
+-#: c-decl.c:4149 cp/decl.c:7876
++#: c-decl.c:4148 cp/decl.c:7948
+ #, gcc-internal-format
+ msgid "storage class specified for typename"
+ msgstr "Ñкладишна клаÑа наведена за име типа"
+
+-#: c-decl.c:4166 cp/decl.c:7893
++#: c-decl.c:4165 cp/decl.c:7965
+ #, gcc-internal-format
+ msgid "%qs initialized and declared %<extern%>"
+ msgstr "%qs уÑпоÑтављено и деклариÑано као %<extern%>"
+
+-#: c-decl.c:4169 cp/decl.c:7896
++#: c-decl.c:4168 cp/decl.c:7968
+ #, gcc-internal-format
+ msgid "%qs has both %<extern%> and initializer"
+ msgstr "%qs има и %<extern%> и уÑпоÑтављач"
+
+-#: c-decl.c:4174
++#: c-decl.c:4173
+ #, gcc-internal-format
+ msgid "file-scope declaration of %qs specifies %<auto%>"
+ msgstr "декларација датотечног доÑега за %qs наводи %<auto%>"
+
+-#: c-decl.c:4176
++#: c-decl.c:4175
+ #, gcc-internal-format
+ msgid "file-scope declaration of %qs specifies %<register%>"
+ msgstr "декларација датотечног доÑега за %qs наводи %<register%>"
+
+-#: c-decl.c:4181 cp/decl.c:7900
++#: c-decl.c:4180 cp/decl.c:7972
+ #, gcc-internal-format
+ msgid "nested function %qs declared %<extern%>"
+ msgstr "угњеждена функција %qs деклариÑана као %<extern%>"
+
+-#: c-decl.c:4184 cp/decl.c:7910
++#: c-decl.c:4183 cp/decl.c:7982
+ #, gcc-internal-format
+ msgid "function-scope %qs implicitly auto and declared %<__thread%>"
+ msgstr "%qs доÑега функције имплицитно аутоматÑка и деклараÑина као %<__thread%>"
+@@ -18273,468 +18248,468 @@
+ #. Only the innermost declarator (making a parameter be of
+ #. array type which is converted to pointer type)
+ #. may have static or type qualifiers.
+-#: c-decl.c:4231 c-decl.c:4472
++#: c-decl.c:4230 c-decl.c:4471
+ #, gcc-internal-format
+ msgid "static or type qualifiers in non-parameter array declarator"
+ msgstr "Ñтатичка или одредба типа у непараметарÑком декларатору низа"
+
+-#: c-decl.c:4278
++#: c-decl.c:4277
+ #, gcc-internal-format
+ msgid "declaration of %qs as array of voids"
+ msgstr "декларација %qs као низа празних"
+
+-#: c-decl.c:4284
++#: c-decl.c:4283
+ #, gcc-internal-format
+ msgid "declaration of %qs as array of functions"
+ msgstr "декларација %qs као низа функција"
+
+-#: c-decl.c:4289
++#: c-decl.c:4288
+ #, gcc-internal-format
+ msgid "invalid use of structure with flexible array member"
+ msgstr "неиÑправна употреба Ñтруктуре Ñа флекÑибилним чланÑким низом"
+
+-#: c-decl.c:4309
++#: c-decl.c:4308
+ #, gcc-internal-format
+ msgid "size of array %qs has non-integer type"
+ msgstr "величина низа %qs има нецелобројни тип"
+
+-#: c-decl.c:4314
++#: c-decl.c:4313
+ #, gcc-internal-format
+ msgid "ISO C forbids zero-size array %qs"
+ msgstr "ИСО Ц забрањује нулту величину низа %qs"
+
+-#: c-decl.c:4321
++#: c-decl.c:4320
+ #, gcc-internal-format
+ msgid "size of array %qs is negative"
+ msgstr "величина низа %qs је негативна"
+
+-#: c-decl.c:4375 c-decl.c:4631 cp/decl.c:8375
++#: c-decl.c:4374 c-decl.c:4630 cp/decl.c:8447
+ #, gcc-internal-format
+ msgid "size of array %qs is too large"
+ msgstr "величина низа %qs је превелика"
+
+-#: c-decl.c:4386
++#: c-decl.c:4385
+ #, gcc-internal-format
+ msgid "ISO C90 does not support flexible array members"
+ msgstr "ИСО Ц 90 не подржава флекÑибилне чланÑке низове"
+
+ #. C99 6.7.5.2p4
+-#: c-decl.c:4399
++#: c-decl.c:4398
+ #, gcc-internal-format
+ msgid "%<[*]%> not allowed in other than a declaration"
+ msgstr "%<[*]%> није дозвољено другде оÑим у декларацији"
+
+-#: c-decl.c:4422
++#: c-decl.c:4421
+ #, gcc-internal-format
+ msgid "array type has incomplete element type"
+ msgstr "низовни тип има непотпун тип елемента"
+
+-#: c-decl.c:4504 cp/decl.c:8001
++#: c-decl.c:4503 cp/decl.c:8073
+ #, gcc-internal-format
+ msgid "%qs declared as function returning a function"
+ msgstr "%qs деклариÑано као функција која враћа функцију"
+
+-#: c-decl.c:4509 cp/decl.c:8006
++#: c-decl.c:4508 cp/decl.c:8078
+ #, gcc-internal-format
+ msgid "%qs declared as function returning an array"
+ msgstr "%qs деклариÑано као функција која враћа низ"
+
+-#: c-decl.c:4531
++#: c-decl.c:4530
+ #, gcc-internal-format
+ msgid "function definition has qualified void return type"
+ msgstr "дефиниција функције има одређен празан повратни тип"
+
+-#: c-decl.c:4534 cp/decl.c:7990 cp/pt.c:8568
++#: c-decl.c:4533 cp/decl.c:8062 cp/pt.c:8668
+ #, gcc-internal-format
+ msgid "type qualifiers ignored on function return type"
+ msgstr "одредбе типова Ñе игноришу на повратном типу функције"
+
+-#: c-decl.c:4563 c-decl.c:4644 c-decl.c:4732 c-decl.c:4825
++#: c-decl.c:4562 c-decl.c:4643 c-decl.c:4731 c-decl.c:4824
+ #, gcc-internal-format
+ msgid "ISO C forbids qualified function types"
+ msgstr "ИСО Ц забрањује одређене функцијÑке типове"
+
+-#: c-decl.c:4652
++#: c-decl.c:4651
+ #, gcc-internal-format
+ msgid "typedef %q+D declared %<inline%>"
+ msgstr "дефиниција типа %q+D деклариÑана као %<inline%>"
+
+-#: c-decl.c:4667
++#: c-decl.c:4666
+ #, gcc-internal-format
+ msgid "ISO C forbids const or volatile function types"
+ msgstr "ИСО Ц забрањује конÑтантне или непоÑтојане функцијÑке типове"
+
+ #. C99 6.7.2.1p8
+-#: c-decl.c:4677
++#: c-decl.c:4676
+ #, gcc-internal-format
+ msgid "a member of a structure or union cannot have a variably modified type"
+ msgstr "члан Ñтруктуре или уније не може имати променљиво измењив тип"
+
+-#: c-decl.c:4693
++#: c-decl.c:4692
+ #, gcc-internal-format
+ msgid "variable or field %qs declared void"
+ msgstr "променљива или поље %qs деклариÑано као празно"
+
+-#: c-decl.c:4725
++#: c-decl.c:4724
+ #, gcc-internal-format
+ msgid "attributes in parameter array declarator ignored"
+ msgstr "атрибути у параметарÑком декларатору низа игнориÑани"
+
+-#: c-decl.c:4760
++#: c-decl.c:4759
+ #, gcc-internal-format
+ msgid "parameter %q+D declared %<inline%>"
+ msgstr "параметар %q+D деклариÑан као %<inline%>"
+
+-#: c-decl.c:4773
++#: c-decl.c:4772
+ #, gcc-internal-format
+ msgid "field %qs declared as a function"
+ msgstr "поље %qs деклариÑано као функција"
+
+-#: c-decl.c:4779
++#: c-decl.c:4778
+ #, gcc-internal-format
+ msgid "field %qs has incomplete type"
+ msgstr "поље %qs има непотпун тип"
+
+-#: c-decl.c:4796 c-decl.c:4808 c-decl.c:4812
++#: c-decl.c:4795 c-decl.c:4807 c-decl.c:4811
+ #, gcc-internal-format
+ msgid "invalid storage class for function %qs"
+ msgstr "неиÑправна Ñкладишна клаÑа за функцију %qs"
+
+-#: c-decl.c:4831
++#: c-decl.c:4830
+ #, gcc-internal-format
+ msgid "%<noreturn%> function returns non-void value"
+ msgstr "функција Ñа %<noreturn%> враћа непразну вредноÑÑ‚"
+
+-#: c-decl.c:4867
++#: c-decl.c:4866
+ #, gcc-internal-format
+ msgid "cannot inline function %<main%>"
+ msgstr "функција %<main%> Ñе не може уткати"
+
+-#: c-decl.c:4910
++#: c-decl.c:4909
+ #, gcc-internal-format
+ msgid "variable previously declared %<static%> redeclared %<extern%>"
+ msgstr "променљива претходно деклариÑана као %<static%> поново деклариÑана као %<extern%>"
+
+-#: c-decl.c:4920
++#: c-decl.c:4919
+ #, gcc-internal-format
+ msgid "variable %q+D declared %<inline%>"
+ msgstr "променљива %q+D деклариÑана као %<inline%>"
+
+ #. C99 6.7.5.2p2
+-#: c-decl.c:4951
++#: c-decl.c:4950
+ #, gcc-internal-format
+ msgid "object with variably modified type must have no linkage"
+ msgstr "објекат променљиво измењивог типа не може имати повезивоÑÑ‚"
+
+-#: c-decl.c:5020 c-decl.c:6199
++#: c-decl.c:5019 c-decl.c:6198
+ #, gcc-internal-format
+ msgid "function declaration isn%'t a prototype"
+ msgstr "декларација функције није прототип"
+
+-#: c-decl.c:5028
++#: c-decl.c:5027
+ #, gcc-internal-format
+ msgid "parameter names (without types) in function declaration"
+ msgstr "имена параметара (без типова) у декларацији функције"
+
+-#: c-decl.c:5061
++#: c-decl.c:5060
+ #, gcc-internal-format
+ msgid "parameter %u (%q+D) has incomplete type"
+ msgstr "параметар %u (%q+D) има непотпун тип"
+
+-#: c-decl.c:5064
++#: c-decl.c:5063
+ #, gcc-internal-format
+ msgid "%Jparameter %u has incomplete type"
+ msgstr "%Jпараметар %u има непотпун тип"
+
+-#: c-decl.c:5073
++#: c-decl.c:5072
+ #, gcc-internal-format
+ msgid "parameter %u (%q+D) has void type"
+ msgstr "параметар %u (%q+D) има празан тип"
+
+-#: c-decl.c:5076
++#: c-decl.c:5075
+ #, gcc-internal-format
+ msgid "%Jparameter %u has void type"
+ msgstr "%Jпараметар %u има празан тип"
+
+-#: c-decl.c:5138
++#: c-decl.c:5137
+ #, gcc-internal-format
+ msgid "%<void%> as only parameter may not be qualified"
+ msgstr "%<void%> као једини параметар не може бити одређен"
+
+-#: c-decl.c:5142 c-decl.c:5176
++#: c-decl.c:5141 c-decl.c:5175
+ #, gcc-internal-format
+ msgid "%<void%> must be the only parameter"
+ msgstr "%<void%> мора бити једини параметар"
+
+-#: c-decl.c:5170
++#: c-decl.c:5169
+ #, gcc-internal-format
+ msgid "parameter %q+D has just a forward declaration"
+ msgstr "параметар %q+D има Ñамо унапредну декларацију"
+
+ #. The %s will be one of 'struct', 'union', or 'enum'.
+-#: c-decl.c:5215
++#: c-decl.c:5214
+ #, gcc-internal-format
+ msgid "%<%s %E%> declared inside parameter list"
+ msgstr "%<%s %E%> деклариÑано унутар параметарÑке лиÑте"
+
+ #. The %s will be one of 'struct', 'union', or 'enum'.
+-#: c-decl.c:5219
++#: c-decl.c:5218
+ #, gcc-internal-format
+ msgid "anonymous %s declared inside parameter list"
+ msgstr "анонимно %s деклариÑано унутар лиÑте"
+
+-#: c-decl.c:5224
++#: c-decl.c:5223
+ #, gcc-internal-format
+ msgid "its scope is only this definition or declaration, which is probably not what you want"
+ msgstr "има доÑег Ñамо у овој дефиницији или декларацији, што вероватно није оно што желите"
+
+-#: c-decl.c:5358
++#: c-decl.c:5357
+ #, gcc-internal-format
+ msgid "redefinition of %<union %E%>"
+ msgstr "поновна дефиниција %<union %E%>"
+
+-#: c-decl.c:5360
++#: c-decl.c:5359
+ #, gcc-internal-format
+ msgid "redefinition of %<struct %E%>"
+ msgstr "поновна дефиниција %<struct %E%>"
+
+-#: c-decl.c:5365
++#: c-decl.c:5364
+ #, gcc-internal-format
+ msgid "nested redefinition of %<union %E%>"
+ msgstr "угњеждена поновна дефиниција %<union %E%>"
+
+-#: c-decl.c:5367
++#: c-decl.c:5366
+ #, gcc-internal-format
+ msgid "nested redefinition of %<struct %E%>"
+ msgstr "угњеждена поновна дефиниција %<struct %E%>"
+
+-#: c-decl.c:5442 cp/decl.c:3780
++#: c-decl.c:5441 cp/decl.c:3796
+ #, gcc-internal-format
+ msgid "declaration does not declare anything"
+ msgstr "декларација ништа не декларише"
+
+-#: c-decl.c:5446
++#: c-decl.c:5445
+ #, gcc-internal-format
+ msgid "ISO C doesn%'t support unnamed structs/unions"
+ msgstr "ИСО Ц не подржава неименоване Ñтрукутре/уније"
+
+-#: c-decl.c:5490 c-decl.c:5506
++#: c-decl.c:5489 c-decl.c:5505
+ #, gcc-internal-format
+ msgid "duplicate member %q+D"
+ msgstr "удвоÑтручени члан %q+D"
+
+-#: c-decl.c:5545
++#: c-decl.c:5544
+ #, gcc-internal-format
+ msgid "union has no named members"
+ msgstr "унија нема именованих чланова"
+
+-#: c-decl.c:5547
++#: c-decl.c:5546
+ #, gcc-internal-format
+ msgid "union has no members"
+ msgstr "унија нема чланова"
+
+-#: c-decl.c:5552
++#: c-decl.c:5551
+ #, gcc-internal-format
+ msgid "struct has no named members"
+ msgstr "Ñтруктура нема именованих чланова"
+
+-#: c-decl.c:5554
++#: c-decl.c:5553
+ #, gcc-internal-format
+ msgid "struct has no members"
+ msgstr "Ñтруктура нема чланова"
+
+-#: c-decl.c:5616
++#: c-decl.c:5615
+ #, gcc-internal-format
+ msgid "%Jflexible array member in union"
+ msgstr "%JфлекÑибилан чланÑки низ у унији"
+
+-#: c-decl.c:5621
++#: c-decl.c:5620
+ #, gcc-internal-format
+ msgid "%Jflexible array member not at end of struct"
+ msgstr "%JфлекÑибилан чланÑки низ није на крају Ñтруктуре"
+
+-#: c-decl.c:5626
++#: c-decl.c:5625
+ #, gcc-internal-format
+ msgid "%Jflexible array member in otherwise empty struct"
+ msgstr "%JфлекÑибилан чланÑки низ у иначе празној Ñтруктури"
+
+-#: c-decl.c:5633
++#: c-decl.c:5632
+ #, gcc-internal-format
+ msgid "%Jinvalid use of structure with flexible array member"
+ msgstr "%JнеиÑправна употреба Ñтруктуре Ñа флекÑибилним чланÑким низом"
+
+-#: c-decl.c:5742
++#: c-decl.c:5741
+ #, gcc-internal-format
+ msgid "union cannot be made transparent"
+ msgstr "унија не може бити учињена провидном"
+
+-#: c-decl.c:5813
++#: c-decl.c:5812
+ #, gcc-internal-format
+ msgid "nested redefinition of %<enum %E%>"
+ msgstr "угњеждена поновна дефиниција %<enum %E%>"
+
+ #. This enum is a named one that has been declared already.
+-#: c-decl.c:5820
++#: c-decl.c:5819
+ #, gcc-internal-format
+ msgid "redeclaration of %<enum %E%>"
+ msgstr "поновљена декларација %<enum %E%>"
+
+-#: c-decl.c:5883
++#: c-decl.c:5882
+ #, gcc-internal-format
+ msgid "enumeration values exceed range of largest integer"
+ msgstr "вредноÑти у набрајању премашују опÑег највећег целог броја"
+
+-#: c-decl.c:5900
++#: c-decl.c:5899
+ #, gcc-internal-format
+ msgid "specified mode too small for enumeral values"
+ msgstr "наведени режим је премали за набројиве вредноÑти"
+
+-#: c-decl.c:5996
++#: c-decl.c:5995
+ #, gcc-internal-format
+ msgid "enumerator value for %qE is not an integer constant"
+ msgstr "вредноÑÑ‚ набрајача за %qE није целобројна конÑтанта"
+
+-#: c-decl.c:6013
++#: c-decl.c:6012
+ #, gcc-internal-format
+ msgid "overflow in enumeration values"
+ msgstr "преливање у вредноÑтима набрајача"
+
+-#: c-decl.c:6018
++#: c-decl.c:6017
+ #, gcc-internal-format
+ msgid "ISO C restricts enumerator values to range of %<int%>"
+ msgstr "ИСО Ц ограничава вредноÑти набрајача на опÑег %<int%>"
+
+-#: c-decl.c:6125
++#: c-decl.c:6124
+ #, gcc-internal-format
+ msgid "return type is an incomplete type"
+ msgstr "повратни тип је непотпун тип"
+
+-#: c-decl.c:6133
++#: c-decl.c:6132
+ #, gcc-internal-format
+ msgid "return type defaults to %<int%>"
+ msgstr "повратни тип Ñпада на %<int%>"
+
+-#: c-decl.c:6206
++#: c-decl.c:6205
+ #, gcc-internal-format
+ msgid "no previous prototype for %q+D"
+ msgstr "нема претходног прототипа за %q+D"
+
+-#: c-decl.c:6215
++#: c-decl.c:6214
+ #, gcc-internal-format
+ msgid "%q+D was used with no prototype before its definition"
+ msgstr "%q+D је употребљено без прототипа пре дефиниције"
+
+-#: c-decl.c:6221 cp/decl.c:11126
++#: c-decl.c:6220 cp/decl.c:11224
+ #, gcc-internal-format
+ msgid "no previous declaration for %q+D"
+ msgstr "нема претходне декларације за %q+D"
+
+-#: c-decl.c:6231
++#: c-decl.c:6230
+ #, gcc-internal-format
+ msgid "%q+D was used with no declaration before its definition"
+ msgstr "%q+D је употребљено без декларације пре дефиниције"
+
+-#: c-decl.c:6254 c-decl.c:6723
++#: c-decl.c:6253 c-decl.c:6722
+ #, gcc-internal-format
+ msgid "return type of %q+D is not %<int%>"
+ msgstr "повратни тип за %q+D није %<int%>"
+
+-#: c-decl.c:6259
++#: c-decl.c:6258
+ #, gcc-internal-format
+ msgid "%q+D is normally a non-static function"
+ msgstr "%q+D је обично неÑтатичка функција"
+
+-#: c-decl.c:6293
++#: c-decl.c:6292
+ #, gcc-internal-format
+ msgid "%Jold-style parameter declarations in prototyped function definition"
+ msgstr "%JÑтаровремÑка декларација параметара у дефиницији функције Ñа прототипом"
+
+-#: c-decl.c:6307
++#: c-decl.c:6306
+ #, gcc-internal-format
+ msgid "%Jtraditional C rejects ISO C style function definitions"
+ msgstr "%Jтрадиционални Ц одбија дефиниције функција у Ñтилу ИСО Ц-а"
+
+-#: c-decl.c:6323
++#: c-decl.c:6322
+ #, gcc-internal-format
+ msgid "%Jparameter name omitted"
+ msgstr "%JизоÑтављено име параметра"
+
+-#: c-decl.c:6357
++#: c-decl.c:6356
+ #, gcc-internal-format
+ msgid "%Jold-style function definition"
+ msgstr "%JÑтаровремÑка дефиниција функције"
+
+-#: c-decl.c:6366
++#: c-decl.c:6365
+ #, gcc-internal-format
+ msgid "%Jparameter name missing from parameter list"
+ msgstr "%JнедоÑтаје име параметра у лиÑти параметара"
+
+-#: c-decl.c:6377
++#: c-decl.c:6376
+ #, gcc-internal-format
+ msgid "%q+D declared as a non-parameter"
+ msgstr "%q+D деклариÑано као не-параметарÑко"
+
+-#: c-decl.c:6382
++#: c-decl.c:6381
+ #, gcc-internal-format
+ msgid "multiple parameters named %q+D"
+ msgstr "више параметара по имену %q+D"
+
+-#: c-decl.c:6390
++#: c-decl.c:6389
+ #, gcc-internal-format
+ msgid "parameter %q+D declared with void type"
+ msgstr "параметар %q+D деклариÑан Ñа празним типом"
+
+-#: c-decl.c:6407 c-decl.c:6409
++#: c-decl.c:6406 c-decl.c:6408
+ #, gcc-internal-format
+ msgid "type of %q+D defaults to %<int%>"
+ msgstr "тип за %q+D Ñпада на %<int%>"
+
+-#: c-decl.c:6428
++#: c-decl.c:6427
+ #, gcc-internal-format
+ msgid "parameter %q+D has incomplete type"
+ msgstr "параметар %q+D има непотпун тип"
+
+-#: c-decl.c:6434
++#: c-decl.c:6433
+ #, gcc-internal-format
+ msgid "declaration for parameter %q+D but no such parameter"
+ msgstr "декларација за параметар %q+D, али нема таквог"
+
+-#: c-decl.c:6484
++#: c-decl.c:6483
+ #, gcc-internal-format
+ msgid "number of arguments doesn%'t match built-in prototype"
+ msgstr "број аргумената не одговора уграђеном прототипу"
+
+-#: c-decl.c:6488
++#: c-decl.c:6487
+ #, gcc-internal-format
+ msgid "number of arguments doesn%'t match prototype"
+ msgstr "број аргумената не одговара прототипу"
+
+-#: c-decl.c:6489 c-decl.c:6529 c-decl.c:6542
++#: c-decl.c:6488 c-decl.c:6528 c-decl.c:6541
+ #, gcc-internal-format
+ msgid "%Hprototype declaration"
+ msgstr "%Hдекларација прототипа"
+
+-#: c-decl.c:6523
++#: c-decl.c:6522
+ #, gcc-internal-format
+ msgid "promoted argument %qD doesn%'t match built-in prototype"
+ msgstr "унапређени аргумент %qD не одговара уграђеном прототипу"
+
+-#: c-decl.c:6527
++#: c-decl.c:6526
+ #, gcc-internal-format
+ msgid "promoted argument %qD doesn%'t match prototype"
+ msgstr "унапређени аргумент %qD не одговара прототипу"
+
+-#: c-decl.c:6537
++#: c-decl.c:6536
+ #, gcc-internal-format
+ msgid "argument %qD doesn%'t match built-in prototype"
+ msgstr "аргумент %qD не одговара уграђеном прототипу"
+
+-#: c-decl.c:6541
++#: c-decl.c:6540
+ #, gcc-internal-format
+ msgid "argument %qD doesn%'t match prototype"
+ msgstr "аргумент %qD не одговара прототипу"
+
+-#: c-decl.c:6768 cp/decl.c:11820
++#: c-decl.c:6767 cp/decl.c:11918
+ #, gcc-internal-format
+ msgid "no return statement in function returning non-void"
+ msgstr "нема повратне наредбе у функцији која враћа непразан тип"
+@@ -18742,437 +18717,437 @@
+ #. If we get here, declarations have been used in a for loop without
+ #. the C99 for loop scope. This doesn't make much sense, so don't
+ #. allow it.
+-#: c-decl.c:6841
++#: c-decl.c:6840
+ #, gcc-internal-format
+ msgid "%<for%> loop initial declaration used outside C99 mode"
+ msgstr "Почетна декларација у %<for%> петљи употребљена ван режима Ц-а 99"
+
+-#: c-decl.c:6870
++#: c-decl.c:6869
+ #, gcc-internal-format
+ msgid "declaration of static variable %q+D in %<for%> loop initial declaration"
+ msgstr "декларација Ñтатичке променљиве %q+D у почетној декларацији %<for%> петље"
+
+-#: c-decl.c:6873
++#: c-decl.c:6872
+ #, gcc-internal-format
+ msgid "declaration of %<extern%> variable %q+D in %<for%> loop initial declaration"
+ msgstr "декларација Ñпољашње променљиве %q+D у почетној декларацији %<for%> петље"
+
+-#: c-decl.c:6878
++#: c-decl.c:6877
+ #, gcc-internal-format
+ msgid "%<struct %E%> declared in %<for%> loop initial declaration"
+ msgstr "%<struct %E%> деклариÑана у почетној декларацији %<for%> петље"
+
+-#: c-decl.c:6882
++#: c-decl.c:6881
+ #, gcc-internal-format
+ msgid "%<union %E%> declared in %<for%> loop initial declaration"
+ msgstr "%<union %E%> деклариÑана у почетној декларацији %<for%> петље"
+
+-#: c-decl.c:6886
++#: c-decl.c:6885
+ #, gcc-internal-format
+ msgid "%<enum %E%> declared in %<for%> loop initial declaration"
+ msgstr "%<enum %E%> деклариÑан у почетној декларацији %<for%> петље"
+
+-#: c-decl.c:6890
++#: c-decl.c:6889
+ #, gcc-internal-format
+ msgid "declaration of non-variable %q+D in %<for%> loop initial declaration"
+ msgstr "декларација не-променљиве %q+D у почетној декларацији %<for%> петље"
+
+-#: c-decl.c:7178 c-decl.c:7420 c-decl.c:7716
++#: c-decl.c:7177 c-decl.c:7419 c-decl.c:7715
+ #, gcc-internal-format
+ msgid "duplicate %qE"
+ msgstr "удвоÑтручено %qE"
+
+-#: c-decl.c:7201 c-decl.c:7430 c-decl.c:7617
++#: c-decl.c:7200 c-decl.c:7429 c-decl.c:7616
+ #, gcc-internal-format
+ msgid "two or more data types in declaration specifiers"
+ msgstr "два или више типова података у наводиоцима декларације"
+
+-#: c-decl.c:7213 cp/parser.c:2149
++#: c-decl.c:7212 cp/parser.c:2152
+ #, gcc-internal-format
+ msgid "%<long long long%> is too long for GCC"
+ msgstr "%<long long long%> је предуго за ГЦЦ"
+
+-#: c-decl.c:7220 c-decl.c:7520
++#: c-decl.c:7219 c-decl.c:7519
+ #, gcc-internal-format
+ msgid "both %<long long%> and %<double%> in declaration specifiers"
+ msgstr "и %<long long%> и %<double%> у наводиоцима декларације"
+
+-#: c-decl.c:7226
++#: c-decl.c:7225
+ #, gcc-internal-format
+ msgid "ISO C90 does not support %<long long%>"
+ msgstr "ИСО Ц 90 не подржава %<long long%>"
+
+-#: c-decl.c:7231 c-decl.c:7260
++#: c-decl.c:7230 c-decl.c:7259
+ #, gcc-internal-format
+ msgid "both %<long%> and %<short%> in declaration specifiers"
+ msgstr "и %<long%> и %<short%> у наводиоцима декларације"
+
+-#: c-decl.c:7234 c-decl.c:7437
++#: c-decl.c:7233 c-decl.c:7436
+ #, gcc-internal-format
+ msgid "both %<long%> and %<void%> in declaration specifiers"
+ msgstr "и %<long%> и %<void%> у наводиоцима декларације"
+
+-#: c-decl.c:7237 c-decl.c:7459
++#: c-decl.c:7236 c-decl.c:7458
+ #, gcc-internal-format
+ msgid "both %<long%> and %<_Bool%> in declaration specifiers"
+ msgstr "и %<long%> и %<_Bool%> у наводиоцима декларације"
+
+-#: c-decl.c:7240 c-decl.c:7481
++#: c-decl.c:7239 c-decl.c:7480
+ #, gcc-internal-format
+ msgid "both %<long%> and %<char%> in declaration specifiers"
+ msgstr "и %<long%> и %<char%> у наводиоцима декларације"
+
+-#: c-decl.c:7243 c-decl.c:7501
++#: c-decl.c:7242 c-decl.c:7500
+ #, gcc-internal-format
+ msgid "both %<long%> and %<float%> in declaration specifiers"
+ msgstr "и %<long%> и %<float%> у наводиоцима декларације"
+
+-#: c-decl.c:7246
++#: c-decl.c:7245
+ #, gcc-internal-format
+ msgid "both %<long%> and %<_Decimal32%> in declaration specifiers"
+ msgstr "и %<long%> и %<_Decimal32%> у наводиоцима декларације"
+
+-#: c-decl.c:7249
++#: c-decl.c:7248
+ #, gcc-internal-format
+ msgid "both %<long%> and %<_Decimal64%> in declaration specifiers"
+ msgstr "и %<long%> и %<_Decimal64%> у наводиоцима декларације"
+
+-#: c-decl.c:7252
++#: c-decl.c:7251
+ #, gcc-internal-format
+ msgid "both %<long%> and %<_Decimal128%> in declaration specifiers"
+ msgstr "и %<long%> и %<_Decimal128%> у наводиоцима декларације"
+
+-#: c-decl.c:7263 c-decl.c:7440
++#: c-decl.c:7262 c-decl.c:7439
+ #, gcc-internal-format
+ msgid "both %<short%> and %<void%> in declaration specifiers"
+ msgstr "и %<short%> и %<void%> у наводиоцима декларације"
+
+-#: c-decl.c:7266 c-decl.c:7462
++#: c-decl.c:7265 c-decl.c:7461
+ #, gcc-internal-format
+ msgid "both %<short%> and %<_Bool%> in declaration specifiers"
+ msgstr "и %<short%> и %<_Bool%> у наводиоцима декларације"
+
+-#: c-decl.c:7269 c-decl.c:7484
++#: c-decl.c:7268 c-decl.c:7483
+ #, gcc-internal-format
+ msgid "both %<short%> and %<char%> in declaration specifiers"
+ msgstr "и %<short%> и %<char%> у наводиоцима декларације"
+
+-#: c-decl.c:7272 c-decl.c:7504
++#: c-decl.c:7271 c-decl.c:7503
+ #, gcc-internal-format
+ msgid "both %<short%> and %<float%> in declaration specifiers"
+ msgstr "и %<short%> и %<float%> у наводиоцима декларације"
+
+-#: c-decl.c:7275 c-decl.c:7523
++#: c-decl.c:7274 c-decl.c:7522
+ #, gcc-internal-format
+ msgid "both %<short%> and %<double%> in declaration specifiers"
+ msgstr "и %<short%> и %<double%> у наводиоцима декларације"
+
+-#: c-decl.c:7278
++#: c-decl.c:7277
+ #, gcc-internal-format
+ msgid "both %<short%> and %<_Decimal32%> in declaration specifiers"
+ msgstr "и %<short%> и %<_Decimal32%> у наводиоцима декларације"
+
+-#: c-decl.c:7281
++#: c-decl.c:7280
+ #, gcc-internal-format
+ msgid "both %<short%> and %<_Decimal64%> in declaration specifiers"
+ msgstr "и %<short%> и %<_Decimal64%> у наводиоцима декларације"
+
+-#: c-decl.c:7284
++#: c-decl.c:7283
+ #, gcc-internal-format
+ msgid "both %<short%> and %<_Decimal128%> in declaration specifiers"
+ msgstr "и %<short%> и %<_Decimal128%> у наводиоцима декларације"
+
+-#: c-decl.c:7292 c-decl.c:7321
++#: c-decl.c:7291 c-decl.c:7320
+ #, gcc-internal-format
+ msgid "both %<signed%> and %<unsigned%> in declaration specifiers"
+ msgstr "и %<signed%> и %<unsigned%> у наводиоцима декларације"
+
+-#: c-decl.c:7295 c-decl.c:7443
++#: c-decl.c:7294 c-decl.c:7442
+ #, gcc-internal-format
+ msgid "both %<signed%> and %<void%> in declaration specifiers"
+ msgstr "и %<signed%> и %<void%> у наводиоцима декларације"
+
+-#: c-decl.c:7298 c-decl.c:7465
++#: c-decl.c:7297 c-decl.c:7464
+ #, gcc-internal-format
+ msgid "both %<signed%> and %<_Bool%> in declaration specifiers"
+ msgstr "и %<signed%> и %<_Bool%> у наводиоцима декларације"
+
+-#: c-decl.c:7301 c-decl.c:7507
++#: c-decl.c:7300 c-decl.c:7506
+ #, gcc-internal-format
+ msgid "both %<signed%> and %<float%> in declaration specifiers"
+ msgstr "и %<signed%> и %<float%> у наводиоцима декларације"
+
+-#: c-decl.c:7304 c-decl.c:7526
++#: c-decl.c:7303 c-decl.c:7525
+ #, gcc-internal-format
+ msgid "both %<signed%> and %<double%> in declaration specifiers"
+ msgstr "и %<signed%> и %<double%> у наводиоцима декларације"
+
+-#: c-decl.c:7307
++#: c-decl.c:7306
+ #, gcc-internal-format
+ msgid "both %<signed%> and %<_Decimal32%> in declaration specifiers"
+ msgstr "и %<signed%> и %<_Decimal32%> у наводиоцима декларације"
+
+-#: c-decl.c:7310
++#: c-decl.c:7309
+ #, gcc-internal-format
+ msgid "both %<signed%> and %<_Decimal64%> in declaration specifiers"
+ msgstr "и %<signed%> и %<_Decimal64%> у наводиоцима декларације"
+
+-#: c-decl.c:7313
++#: c-decl.c:7312
+ #, gcc-internal-format
+ msgid "both %<signed%> and %<_Decimal128%> in declaration specifiers"
+ msgstr "и %<signed%> и %<_Decimal128%> у наводиоцима декларације"
+
+-#: c-decl.c:7324 c-decl.c:7446
++#: c-decl.c:7323 c-decl.c:7445
+ #, gcc-internal-format
+ msgid "both %<unsigned%> and %<void%> in declaration specifiers"
+ msgstr "и %<unsigned%> и %<void%> у наводиоцима декларације"
+
+-#: c-decl.c:7327 c-decl.c:7468
++#: c-decl.c:7326 c-decl.c:7467
+ #, gcc-internal-format
+ msgid "both %<unsigned%> and %<_Bool%> in declaration specifiers"
+ msgstr "и %<unsigned%> и %<_Bool%> у наводиоцима декларације"
+
+-#: c-decl.c:7330 c-decl.c:7510
++#: c-decl.c:7329 c-decl.c:7509
+ #, gcc-internal-format
+ msgid "both %<unsigned%> and %<float%> in declaration specifiers"
+ msgstr "и %<unsigned%> и %<float%> у наводиоцима декларације"
+
+-#: c-decl.c:7333 c-decl.c:7529
++#: c-decl.c:7332 c-decl.c:7528
+ #, gcc-internal-format
+ msgid "both %<unsigned%> and %<double%> in declaration specifiers"
+ msgstr "и %<unsigned%> и %<double%> у наводиоцима декларације"
+
+-#: c-decl.c:7336
++#: c-decl.c:7335
+ #, gcc-internal-format
+ msgid "both %<unsigned%> and %<_Decimal32%> in declaration specifiers"
+ msgstr "и %<unsigned%> и %<_Decimal32%> у наводиоцима декларације"
+
+-#: c-decl.c:7339
++#: c-decl.c:7338
+ #, gcc-internal-format
+ msgid "both %<unsigned%> and %<_Decimal64%> in declaration specifiers"
+ msgstr "и %<unsigned%> и %<_Decimal64%> у наводиоцима декларације"
+
+-#: c-decl.c:7342
++#: c-decl.c:7341
+ #, gcc-internal-format
+ msgid "both %<unsigned%> and %<_Decimal128%> in declaration specifiers"
+ msgstr "и %<unsigned%> и %<_Decimal128%> у наводиоцима декларације"
+
+-#: c-decl.c:7350
++#: c-decl.c:7349
+ #, gcc-internal-format
+ msgid "ISO C90 does not support complex types"
+ msgstr "ИСО Ц 90 не подржава комплекÑне типове"
+
+-#: c-decl.c:7352 c-decl.c:7449
++#: c-decl.c:7351 c-decl.c:7448
+ #, gcc-internal-format
+ msgid "both %<complex%> and %<void%> in declaration specifiers"
+ msgstr "и %<complex%> и %<void%> у наводиоцима декларације"
+
+-#: c-decl.c:7355 c-decl.c:7471
++#: c-decl.c:7354 c-decl.c:7470
+ #, gcc-internal-format
+ msgid "both %<complex%> and %<_Bool%> in declaration specifiers"
+ msgstr "и %<complex%> и %<_Bool%> у наводиоцима декларације"
+
+-#: c-decl.c:7358
++#: c-decl.c:7357
+ #, gcc-internal-format
+ msgid "both %<complex%> and %<_Decimal32%> in declaration specifiers"
+ msgstr "и %<complex%> и %<_Decimal32%> у наводиоцима декларације"
+
+-#: c-decl.c:7361
++#: c-decl.c:7360
+ #, gcc-internal-format
+ msgid "both %<complex%> and %<_Decimal64%> in declaration specifiers"
+ msgstr "и %<complex%> и %<_Decimal64%> у наводиоцима декларације"
+
+-#: c-decl.c:7364
++#: c-decl.c:7363
+ #, gcc-internal-format
+ msgid "both %<complex%> and %<_Decimal128%> in declaration specifiers"
+ msgstr "и %<complex%> и %<_Decimal128%> у наводиоцима декларације"
+
+-#: c-decl.c:7367
++#: c-decl.c:7366
+ #, fuzzy, gcc-internal-format
+ msgid "both %<complex%> and %<_Fract%> in declaration specifiers"
+ msgstr "и %<complex%> и %<%s%> у наводиоцима декларације"
+
+-#: c-decl.c:7370
++#: c-decl.c:7369
+ #, fuzzy, gcc-internal-format
+ msgid "both %<complex%> and %<_Accum%> in declaration specifiers"
+ msgstr "и %<complex%> и %<%s%> у наводиоцима декларације"
+
+-#: c-decl.c:7373
++#: c-decl.c:7372
+ #, fuzzy, gcc-internal-format
+ msgid "both %<complex%> and %<_Sat%> in declaration specifiers"
+ msgstr "и %<complex%> и %<%s%> у наводиоцима декларације"
+
+-#: c-decl.c:7381
++#: c-decl.c:7380
+ #, fuzzy, gcc-internal-format
+ msgid "ISO C does not support saturating types"
+ msgstr "ИСО Ц не подржава комплекÑне целобројне типове"
+
+-#: c-decl.c:7383 c-decl.c:7452
++#: c-decl.c:7382 c-decl.c:7451
+ #, fuzzy, gcc-internal-format
+ msgid "both %<_Sat%> and %<void%> in declaration specifiers"
+ msgstr "и %<short%> и %<void%> у наводиоцима декларације"
+
+-#: c-decl.c:7386 c-decl.c:7474
++#: c-decl.c:7385 c-decl.c:7473
+ #, fuzzy, gcc-internal-format
+ msgid "both %<_Sat%> and %<_Bool%> in declaration specifiers"
+ msgstr "и %<short%> и %<_Bool%> у наводиоцима декларације"
+
+-#: c-decl.c:7389 c-decl.c:7487
++#: c-decl.c:7388 c-decl.c:7486
+ #, fuzzy, gcc-internal-format
+ msgid "both %<_Sat%> and %<char%> in declaration specifiers"
+ msgstr "и %<short%> и %<char%> у наводиоцима декларације"
+
+-#: c-decl.c:7392 c-decl.c:7494
++#: c-decl.c:7391 c-decl.c:7493
+ #, fuzzy, gcc-internal-format
+ msgid "both %<_Sat%> and %<int%> in declaration specifiers"
+ msgstr "и %<short%> и %<void%> у наводиоцима декларације"
+
+-#: c-decl.c:7395 c-decl.c:7513
++#: c-decl.c:7394 c-decl.c:7512
+ #, fuzzy, gcc-internal-format
+ msgid "both %<_Sat%> and %<float%> in declaration specifiers"
+ msgstr "и %<short%> и %<float%> у наводиоцима декларације"
+
+-#: c-decl.c:7398 c-decl.c:7532
++#: c-decl.c:7397 c-decl.c:7531
+ #, fuzzy, gcc-internal-format
+ msgid "both %<_Sat%> and %<double%> in declaration specifiers"
+ msgstr "и %<short%> и %<double%> у наводиоцима декларације"
+
+-#: c-decl.c:7401
++#: c-decl.c:7400
+ #, fuzzy, gcc-internal-format
+ msgid "both %<_Sat%> and %<_Decimal32%> in declaration specifiers"
+ msgstr "и %<short%> и %<_Decimal32%> у наводиоцима декларације"
+
+-#: c-decl.c:7404
++#: c-decl.c:7403
+ #, fuzzy, gcc-internal-format
+ msgid "both %<_Sat%> and %<_Decimal64%> in declaration specifiers"
+ msgstr "и %<short%> и %<_Decimal64%> у наводиоцима декларације"
+
+-#: c-decl.c:7407
++#: c-decl.c:7406
+ #, fuzzy, gcc-internal-format
+ msgid "both %<_Sat%> and %<_Decimal128%> in declaration specifiers"
+ msgstr "и %<short%> и %<_Decimal128%> у наводиоцима декларације"
+
+-#: c-decl.c:7410
++#: c-decl.c:7409
+ #, fuzzy, gcc-internal-format
+ msgid "both %<_Sat%> and %<complex%> in declaration specifiers"
+ msgstr "и %<short%> и %<double%> у наводиоцима декларације"
+
+-#: c-decl.c:7549
++#: c-decl.c:7548
+ #, gcc-internal-format
+ msgid "both %<long long%> and %<%s%> in declaration specifiers"
+ msgstr "и %<long long%> и %<%s%> у наводиоцима декларације"
+
+-#: c-decl.c:7552
++#: c-decl.c:7551
+ #, gcc-internal-format
+ msgid "both %<long%> and %<%s%> in declaration specifiers"
+ msgstr "и %<long%> и %<%s%> у наводиоцима декларације"
+
+-#: c-decl.c:7555
++#: c-decl.c:7554
+ #, gcc-internal-format
+ msgid "both %<short%> and %<%s%> in declaration specifiers"
+ msgstr "и %<short%> и %<%s%> у наводиоцима декларације"
+
+-#: c-decl.c:7558
++#: c-decl.c:7557
+ #, gcc-internal-format
+ msgid "both %<signed%> and %<%s%> in declaration specifiers"
+ msgstr "и %<signed%> и %<%s%> у наводиоцима декларације"
+
+-#: c-decl.c:7561
++#: c-decl.c:7560
+ #, gcc-internal-format
+ msgid "both %<unsigned%> and %<%s%> in declaration specifiers"
+ msgstr "и %<unsigned%> и %<%s%> у наводиоцима декларације"
+
+-#: c-decl.c:7564 c-decl.c:7590
++#: c-decl.c:7563 c-decl.c:7589
+ #, gcc-internal-format
+ msgid "both %<complex%> and %<%s%> in declaration specifiers"
+ msgstr "и %<complex%> и %<%s%> у наводиоцима декларације"
+
+-#: c-decl.c:7567
++#: c-decl.c:7566
+ #, fuzzy, gcc-internal-format
+ msgid "both %<_Sat%> and %<%s%> in declaration specifiers"
+ msgstr "и %<short%> и %<%s%> у наводиоцима декларације"
+
+-#: c-decl.c:7577
++#: c-decl.c:7576
+ #, gcc-internal-format
+ msgid "decimal floating point not supported for this target"
+ msgstr "децимални покретни зарез није подржан за овај циљ"
+
+-#: c-decl.c:7579
++#: c-decl.c:7578
+ #, gcc-internal-format
+ msgid "ISO C does not support decimal floating point"
+ msgstr "ИСО Ц не подржава децимални покретни зарез"
+
+-#: c-decl.c:7598
++#: c-decl.c:7597
+ #, fuzzy, gcc-internal-format
+ msgid "fixed-point types not supported for this target"
+ msgstr "-fdata-sections није подржано за овај циљ"
+
+-#: c-decl.c:7600
++#: c-decl.c:7599
+ #, fuzzy, gcc-internal-format
+ msgid "ISO C does not support fixed-point types"
+ msgstr "ИСО Ц не подржава комплекÑне целобројне типове"
+
+-#: c-decl.c:7634
++#: c-decl.c:7633
+ #, gcc-internal-format
+ msgid "%qE fails to be a typedef or built in type"
+ msgstr "%qE није ни по дефиницији типа ни уграђени тип"
+
+-#: c-decl.c:7667
++#: c-decl.c:7666
+ #, gcc-internal-format
+ msgid "%qE is not at beginning of declaration"
+ msgstr "%qE није на почетку декларације"
+
+-#: c-decl.c:7681
++#: c-decl.c:7680
+ #, gcc-internal-format
+ msgid "%<__thread%> used with %<auto%>"
+ msgstr "%<__thread%> употребљено уз %<auto%>"
+
+-#: c-decl.c:7683
++#: c-decl.c:7682
+ #, gcc-internal-format
+ msgid "%<__thread%> used with %<register%>"
+ msgstr "%<__thread%> употребљено уз %<register%>"
+
+-#: c-decl.c:7685
++#: c-decl.c:7684
+ #, gcc-internal-format
+ msgid "%<__thread%> used with %<typedef%>"
+ msgstr "%<__thread%> употребљено уз %<typedef%>"
+
+-#: c-decl.c:7696
++#: c-decl.c:7695
+ #, gcc-internal-format
+ msgid "%<__thread%> before %<extern%>"
+ msgstr "%<__thread%> пре %<extern%>"
+
+-#: c-decl.c:7705
++#: c-decl.c:7704
+ #, gcc-internal-format
+ msgid "%<__thread%> before %<static%>"
+ msgstr "%<__thread%> пре %<static%>"
+
+-#: c-decl.c:7721
++#: c-decl.c:7720
+ #, gcc-internal-format
+ msgid "multiple storage classes in declaration specifiers"
+ msgstr "вишеÑтруке Ñкладишне клаÑе у наводиоцима декларације"
+
+-#: c-decl.c:7728
++#: c-decl.c:7727
+ #, gcc-internal-format
+ msgid "%<__thread%> used with %qE"
+ msgstr "%<__thread%> употребљено уз %qE"
+
+-#: c-decl.c:7775
++#: c-decl.c:7774
+ #, fuzzy, gcc-internal-format
+ msgid "%<_Sat%> is used without %<_Fract%> or %<_Accum%>"
+ msgstr "%<@try%> без %<@catch%> или %<@finally%>"
+
+-#: c-decl.c:7787
++#: c-decl.c:7786
+ #, gcc-internal-format
+ msgid "ISO C does not support plain %<complex%> meaning %<double complex%>"
+ msgstr "ИСО Ц не подржава да обичан %<complex%> значи %<double complex%>"
+
+-#: c-decl.c:7832 c-decl.c:7858
++#: c-decl.c:7831 c-decl.c:7857
+ #, gcc-internal-format
+ msgid "ISO C does not support complex integer types"
+ msgstr "ИСО Ц не подржава комплекÑне целобројне типове"
+
+-#: c-decl.c:8008 toplev.c:847
++#: c-decl.c:8007 toplev.c:847
+ #, gcc-internal-format
+ msgid "%q+F used but never defined"
+ msgstr "%q+F употребљено али недефиниÑано"
+@@ -19584,37 +19559,37 @@
+ msgid "invalid expression type for %<#pragma omp atomic%>"
+ msgstr "неиÑправан тип израз за %<#pragma omp atomic%>"
+
+-#: c-omp.c:218
++#: c-omp.c:219
+ #, gcc-internal-format
+ msgid "%Hinvalid type for iteration variable %qE"
+ msgstr "%HнеиÑправан тип променљиве итерације %qE"
+
+-#: c-omp.c:222
++#: c-omp.c:223
+ #, gcc-internal-format
+ msgid "%Hiteration variable %qE is unsigned"
+ msgstr "%Hнеозначена променљива итерације %qE"
+
+-#: c-omp.c:233
++#: c-omp.c:234
+ #, gcc-internal-format
+ msgid "%H%qE is not initialized"
+ msgstr "%H%qE није уÑпоÑтављено"
+
+-#: c-omp.c:246 cp/semantics.c:3840
++#: c-omp.c:247 cp/semantics.c:3872
+ #, gcc-internal-format
+ msgid "%Hmissing controlling predicate"
+ msgstr "%HнедоÑтаје контролишући предикат"
+
+-#: c-omp.c:304
++#: c-omp.c:305
+ #, gcc-internal-format
+ msgid "%Hinvalid controlling predicate"
+ msgstr "%HнеиÑправан контролишући предикат"
+
+-#: c-omp.c:311 cp/semantics.c:3846
++#: c-omp.c:312 cp/semantics.c:3878
+ #, gcc-internal-format
+ msgid "%Hmissing increment expression"
+ msgstr "%HнедоÑтаје израз увећања"
+
+-#: c-omp.c:361
++#: c-omp.c:362
+ #, gcc-internal-format
+ msgid "%Hinvalid increment expression"
+ msgstr "%HнеиÑправан израз увећања"
+@@ -19659,152 +19634,152 @@
+ msgid "obsolete option -I- used, please use -iquote instead"
+ msgstr "употребљена заÑтарела опција -I-, кориÑтите -iquote умеÑто ње"
+
+-#: c-opts.c:508
++#: c-opts.c:510
+ #, gcc-internal-format
+ msgid "argument %qs to %<-Wnormalized%> not recognized"
+ msgstr "аргумент %qs за %<-Wnormalized%> није препознат"
+
+-#: c-opts.c:595
++#: c-opts.c:597
+ #, gcc-internal-format
+ msgid "switch %qs is no longer supported"
+ msgstr "прекидач %qs више није подржан"
+
+-#: c-opts.c:705
++#: c-opts.c:707
+ #, gcc-internal-format
+ msgid "-fhandle-exceptions has been renamed -fexceptions (and is now on by default)"
+ msgstr "-fhandle-exceptions је преименовано у -fexceptions (и Ñада је подразумевано укључено)"
+
+-#: c-opts.c:911
++#: c-opts.c:913
+ #, gcc-internal-format
+ msgid "output filename specified twice"
+ msgstr "излазна датотека наведена двапут"
+
+-#: c-opts.c:1051
++#: c-opts.c:1053
+ #, fuzzy, gcc-internal-format
+ msgid "-fno-gnu89-inline is only supported in GNU99 or C99 mode"
+ msgstr "-fno-gnu89-inline није подржано"
+
+-#: c-opts.c:1126
++#: c-opts.c:1142
+ #, gcc-internal-format
+ msgid "-Wformat-y2k ignored without -Wformat"
+ msgstr "-Wformat-y2k Ñе игнорише без -Wformat"
+
+-#: c-opts.c:1128
++#: c-opts.c:1144
+ #, gcc-internal-format
+ msgid "-Wformat-extra-args ignored without -Wformat"
+ msgstr "-Wformat-extra-args Ñе игнорише без -Wformat"
+
+-#: c-opts.c:1130
++#: c-opts.c:1146
+ #, gcc-internal-format
+ msgid "-Wformat-zero-length ignored without -Wformat"
+ msgstr "-Wformat-zero-length Ñе игнорише без -Wformat"
+
+-#: c-opts.c:1132
++#: c-opts.c:1148
+ #, gcc-internal-format
+ msgid "-Wformat-nonliteral ignored without -Wformat"
+ msgstr "-Wformat-nonliteral Ñе игнорише без -Wformat"
+
+-#: c-opts.c:1134
++#: c-opts.c:1150
+ #, fuzzy, gcc-internal-format
+ msgid "-Wformat-contains-nul ignored without -Wformat"
+ msgstr "-Wformat-nonliteral Ñе игнорише без -Wformat"
+
+-#: c-opts.c:1136
++#: c-opts.c:1152
+ #, gcc-internal-format
+ msgid "-Wformat-security ignored without -Wformat"
+ msgstr "-Wformat-security Ñе игнорише без -Wformat"
+
+-#: c-opts.c:1160
++#: c-opts.c:1176
+ #, gcc-internal-format
+ msgid "opening output file %s: %m"
+ msgstr "отварам улазну датотеку %s: %m"
+
+-#: c-opts.c:1165
++#: c-opts.c:1181
+ #, gcc-internal-format
+ msgid "too many filenames given. Type %s --help for usage"
+ msgstr "задато је превише датотека. Упишите %s --help за употребу"
+
+-#: c-opts.c:1249
++#: c-opts.c:1265
+ #, fuzzy, gcc-internal-format
+ msgid "The C parser does not support -dy, option ignored"
+ msgstr "Вишеулазни кôд ÐПЦСа није подржан, игноришем"
+
+-#: c-opts.c:1253
++#: c-opts.c:1269
+ #, gcc-internal-format
+ msgid "The Objective-C parser does not support -dy, option ignored"
+ msgstr ""
+
+-#: c-opts.c:1256
++#: c-opts.c:1272
+ #, fuzzy, gcc-internal-format
+ msgid "The C++ parser does not support -dy, option ignored"
+ msgstr "Вишеулазни кôд ÐПЦСа није подржан, игноришем"
+
+-#: c-opts.c:1260
++#: c-opts.c:1276
+ #, gcc-internal-format
+ msgid "The Objective-C++ parser does not support -dy, option ignored"
+ msgstr ""
+
+-#: c-opts.c:1309
++#: c-opts.c:1326
+ #, gcc-internal-format
+ msgid "opening dependency file %s: %m"
+ msgstr "отварам датотеку завиÑноÑти %s: %m"
+
+-#: c-opts.c:1319
++#: c-opts.c:1336
+ #, gcc-internal-format
+ msgid "closing dependency file %s: %m"
+ msgstr "затварам датотеку завиÑноÑти %s: %m"
+
+-#: c-opts.c:1322
++#: c-opts.c:1339
+ #, gcc-internal-format
+ msgid "when writing output to %s: %m"
+ msgstr "када упиÑујем излаз у %s: %m"
+
+-#: c-opts.c:1402
++#: c-opts.c:1419
+ #, gcc-internal-format
+ msgid "to generate dependencies you must specify either -M or -MM"
+ msgstr "да биÑте Ñтворили завиÑноÑти морате навеÑти или -M или -MM"
+
+-#: c-opts.c:1448
++#: c-opts.c:1469
+ #, fuzzy, gcc-internal-format
+ msgid "-fdirectives-only is incompatible with -Wunused_macros"
+ msgstr "-findirect-dispatch није ÑаглаÑно Ñа -freduced-reflection"
+
+-#: c-opts.c:1450
++#: c-opts.c:1471
+ #, fuzzy, gcc-internal-format
+ msgid "-fdirectives-only is incompatible with -traditional"
+ msgstr "-findirect-dispatch није ÑаглаÑно Ñа -freduced-reflection"
+
+-#: c-opts.c:1588
++#: c-opts.c:1609
+ #, gcc-internal-format
+ msgid "too late for # directive to set debug directory"
+ msgstr "прекаÑно за # директиву да поÑтави иÑправљачки директоријум"
+
+-#: c-parser.c:1070
++#: c-parser.c:1072
+ #, fuzzy, gcc-internal-format
+ msgid "%HISO C forbids an empty source file"
+ msgstr "ИСО Ц забрањује празну изворну датотеку"
+
+-#: c-parser.c:1156 c-parser.c:6091
++#: c-parser.c:1158 c-parser.c:6150
+ #, fuzzy, gcc-internal-format
+ msgid "%HISO C does not allow extra %<;%> outside of a function"
+ msgstr "ИСО Ц не дозвољава додатно %<;%> изван функције"
+
+-#: c-parser.c:1259 c-parser.c:6640
++#: c-parser.c:1261 c-parser.c:6699
+ #, gcc-internal-format
+ msgid "expected declaration specifiers"
+ msgstr "очекивани Ñу наводиоци декларације"
+
+-#: c-parser.c:1271
++#: c-parser.c:1273
+ #, fuzzy, gcc-internal-format
+ msgid "%Hempty declaration"
+ msgstr "празна декларација"
+
+-#: c-parser.c:1307
++#: c-parser.c:1309
+ #, fuzzy, gcc-internal-format
+ msgid "%Hdata definition has no type or storage class"
+ msgstr "дефиниција података нема тип или Ñкладишну клаÑу"
+
+-#: c-parser.c:1362
++#: c-parser.c:1364
+ #, gcc-internal-format
+ msgid "expected %<,%> or %<;%>"
+ msgstr "очекивано је %<,%> или %<;%>"
+@@ -19812,174 +19787,189 @@
+ #. This can appear in many cases looking nothing like a
+ #. function definition, so we don't give a more specific
+ #. error suggesting there was one.
+-#: c-parser.c:1369 c-parser.c:1386
++#: c-parser.c:1371 c-parser.c:1388
+ #, gcc-internal-format
+ msgid "expected %<=%>, %<,%>, %<;%>, %<asm%> or %<__attribute__%>"
+ msgstr "очекивано је %<=%>, %<,%>, %<;%>, %<asm%> или %<__attribute__%>"
+
+-#: c-parser.c:1378
++#: c-parser.c:1380
+ #, fuzzy, gcc-internal-format
+ msgid "%HISO C forbids nested functions"
+ msgstr "ИСО Ц забрањује угњеждене функције"
+
+-#: c-parser.c:1743 c-parser.c:2553 c-parser.c:3189 c-parser.c:3445
+-#: c-parser.c:4308 c-parser.c:4895 c-parser.c:5298 c-parser.c:5318
+-#: c-parser.c:5434 c-parser.c:5582 c-parser.c:5599 c-parser.c:5731
+-#: c-parser.c:5743 c-parser.c:5768 c-parser.c:5903 c-parser.c:5932
+-#: c-parser.c:5940 c-parser.c:5968 c-parser.c:5982 c-parser.c:6201
+-#: c-parser.c:6300 c-parser.c:6803 c-parser.c:7426
++#: c-parser.c:1745 c-parser.c:2555 c-parser.c:3191 c-parser.c:3447
++#: c-parser.c:4367 c-parser.c:4954 c-parser.c:5357 c-parser.c:5377
++#: c-parser.c:5493 c-parser.c:5641 c-parser.c:5658 c-parser.c:5790
++#: c-parser.c:5802 c-parser.c:5827 c-parser.c:5962 c-parser.c:5991
++#: c-parser.c:5999 c-parser.c:6027 c-parser.c:6041 c-parser.c:6260
++#: c-parser.c:6359 c-parser.c:6862 c-parser.c:7493
+ #, gcc-internal-format
+ msgid "expected identifier"
+ msgstr "очекиван је идентификатор"
+
+-#: c-parser.c:1773
++#: c-parser.c:1775
+ #, fuzzy, gcc-internal-format
+ msgid "%Hcomma at end of enumerator list"
+ msgstr "зарез на крају лиÑте набрајања"
+
+-#: c-parser.c:1779
++#: c-parser.c:1781
+ #, gcc-internal-format
+ msgid "expected %<,%> or %<}%>"
+ msgstr "очекивано је %<,%> или %<}%>"
+
+-#: c-parser.c:1793 c-parser.c:1977 c-parser.c:6058
++#: c-parser.c:1795 c-parser.c:1979 c-parser.c:6117
+ #, gcc-internal-format
+ msgid "expected %<{%>"
+ msgstr "очекивано је %<{%>"
+
+-#: c-parser.c:1804
++#: c-parser.c:1806
+ #, fuzzy, gcc-internal-format
+ msgid "%HISO C forbids forward references to %<enum%> types"
+ msgstr "ИСО Ц забрањује помињања унапред за %<enum%> типове"
+
+-#: c-parser.c:1911
++#: c-parser.c:1913
+ #, gcc-internal-format
+ msgid "expected class name"
+ msgstr "очекивано је име клаÑе"
+
+-#: c-parser.c:1930 c-parser.c:5835
++#: c-parser.c:1932 c-parser.c:5894
+ #, fuzzy, gcc-internal-format
+ msgid "%Hextra semicolon in struct or union specified"
+ msgstr "Ñувишна тачка-зарез у Ñтруктури или унији"
+
+-#: c-parser.c:1959
++#: c-parser.c:1961
+ #, fuzzy, gcc-internal-format
+ msgid "%Hno semicolon at end of struct or union"
+ msgstr "недоÑтаје тачка-зарез на крају Ñтруктуре или уније"
+
+-#: c-parser.c:1963
++#: c-parser.c:1965
+ #, gcc-internal-format
+ msgid "expected %<;%>"
+ msgstr "очекивано је %<;%>"
+
+-#: c-parser.c:2042 c-parser.c:3014
++#: c-parser.c:2044 c-parser.c:3016
+ #, gcc-internal-format
+ msgid "expected specifier-qualifier-list"
+ msgstr "очекивана је лиÑта наводилаца-одредби"
+
+-#: c-parser.c:2052
++#: c-parser.c:2054
+ #, fuzzy, gcc-internal-format
+ msgid "%HISO C forbids member declarations with no members"
+ msgstr "ИСО Ц забрањује чланÑке декларације без чланова"
+
+-#: c-parser.c:2126
++#: c-parser.c:2128
+ #, gcc-internal-format
+ msgid "expected %<,%>, %<;%> or %<}%>"
+ msgstr "очекивано је %<,%>, %<;%> или %<}%>"
+
+-#: c-parser.c:2133
++#: c-parser.c:2135
+ #, gcc-internal-format
+ msgid "expected %<:%>, %<,%>, %<;%>, %<}%> or %<__attribute__%>"
+ msgstr "очекивано је %<:%>, %<,%>, %<;%>, %<}%> или %<__attribute__%>"
+
+-#: c-parser.c:2184
++#: c-parser.c:2186
+ #, fuzzy, gcc-internal-format
+ msgid "%H%<typeof%> applied to a bit-field"
+ msgstr "%<typeof%> примењено на битÑко поље"
+
+-#: c-parser.c:2421
++#: c-parser.c:2423
+ #, gcc-internal-format
+ msgid "expected identifier or %<(%>"
+ msgstr "очекиван је идентификатор или %<(%>"
+
+-#: c-parser.c:2622
++#: c-parser.c:2624
+ #, fuzzy, gcc-internal-format
+ msgid "%HISO C requires a named argument before %<...%>"
+ msgstr "ИСО Ц захтева именовани аргумент пре %<...%>"
+
+-#: c-parser.c:2729
++#: c-parser.c:2731
+ #, gcc-internal-format
+ msgid "expected declaration specifiers or %<...%>"
+ msgstr "очекивани Ñу наводиоци декларације или %<...%>"
+
+-#: c-parser.c:2779
++#: c-parser.c:2781
+ #, fuzzy, gcc-internal-format
+ msgid "%Hwide string literal in %<asm%>"
+ msgstr "широка доÑловна ниÑка у %<asm%>"
+
+-#: c-parser.c:2786 c-parser.c:6695 cp/parser.c:20393
++#: c-parser.c:2788 c-parser.c:6754 cp/parser.c:20482
+ #, gcc-internal-format
+ msgid "expected string literal"
+ msgstr "очекивана је доÑловна ниÑка"
+
+-#: c-parser.c:3107
++#: c-parser.c:3109
+ #, fuzzy, gcc-internal-format
+ msgid "%HISO C forbids empty initializer braces"
+ msgstr "ИСО Ц забрањује празне витичаÑте заграде уÑпоÑтављача"
+
+ #. Use the colon as the error location.
+-#: c-parser.c:3154
++#: c-parser.c:3156
+ #, fuzzy, gcc-internal-format
+ msgid "%Hobsolete use of designated initializer with %<:%>"
+ msgstr "заÑтарела употреба утврђеног уÑпоÑтављача Ñа %<:%>"
+
+-#: c-parser.c:3285
++#: c-parser.c:3287
+ #, fuzzy, gcc-internal-format
+ msgid "%HISO C forbids specifying range of elements to initialize"
+ msgstr "ИСО Ц забрањује навођење опÑега елемената за уÑпоÑтављање"
+
+-#: c-parser.c:3298
++#: c-parser.c:3300
+ #, fuzzy, gcc-internal-format
+ msgid "%HISO C90 forbids specifying subobject to initialize"
+ msgstr "ИСО Ц 90 забрањује навођење подобјекта за уÑпоÑтављање"
+
+-#: c-parser.c:3307
++#: c-parser.c:3309
+ #, fuzzy, gcc-internal-format
+ msgid "%Hobsolete use of designated initializer without %<=%>"
+ msgstr "заÑтарела употреба утврђеног уÑпоÑтављача без %<=%>"
+
+-#: c-parser.c:3316
++#: c-parser.c:3318
+ #, gcc-internal-format
+ msgid "expected %<=%>"
+ msgstr "очекивано је %<=%>"
+
+-#: c-parser.c:3461
++#: c-parser.c:3463
+ #, fuzzy, gcc-internal-format
+ msgid "%HISO C forbids label declarations"
+ msgstr "ИСО Ц забрањује декларације етикета"
+
+-#: c-parser.c:3466 c-parser.c:3541
++#: c-parser.c:3468 c-parser.c:3543
+ #, gcc-internal-format
+ msgid "expected declaration or statement"
+ msgstr "очекивана је декларација или наредба"
+
+-#: c-parser.c:3494 c-parser.c:3522
++#: c-parser.c:3496 c-parser.c:3524
+ #, gcc-internal-format
+ msgid "%HISO C90 forbids mixed declarations and code"
+ msgstr "%HИСО Ц 90 забрањује мешање декларација и кода"
+
++#: c-parser.c:3550
++#, fuzzy, gcc-internal-format
++msgid "%Hexpected %<}%> before %<else%>"
++msgstr "очекивано је %<,%> или %<;%>"
++
+ #: c-parser.c:3555
++#, gcc-internal-format
++msgid "%H%<else%> without a previous %<if%>"
++msgstr ""
++
++#: c-parser.c:3571
+ #, fuzzy, gcc-internal-format
+ msgid "%Hlabel at end of compound statement"
+ msgstr "етикета на крају Ñложене наредбе"
+
+-#: c-parser.c:3598
++#: c-parser.c:3614
+ #, gcc-internal-format
+ msgid "expected %<:%> or %<...%>"
+ msgstr "очекивано је %<:%> или %<...%>"
+
+-#: c-parser.c:3779
++#: c-parser.c:3647
+ #, gcc-internal-format
++msgid "%Ha label can only be part of a statement and a declaration is not a statement"
++msgstr ""
++
++#: c-parser.c:3810
++#, gcc-internal-format
+ msgid "expected identifier or %<*%>"
+ msgstr "очекиван је идентификатор или %<*%>"
+
+@@ -19987,188 +19977,183 @@
+ #. 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-parser.c:3841
++#: c-parser.c:3872
+ #, gcc-internal-format
+ msgid "expected statement"
+ msgstr "очекивана је наредба"
+
+-#: c-parser.c:3851
+-#, gcc-internal-format
+-msgid "%Ha label can only be part of a statement and a declaration is not a statement"
+-msgstr ""
+-
+-#: c-parser.c:4036
++#: c-parser.c:4095
+ #, fuzzy, gcc-internal-format
+ msgid "%Hsuggest braces around empty body in %<do%> statement"
+ msgstr "%Hпразно тело у наредби if"
+
+-#: c-parser.c:4192
++#: c-parser.c:4251
+ #, fuzzy, gcc-internal-format
+ msgid "%H%E qualifier ignored on asm"
+ msgstr "одредба %E Ñе игнорише уз asm"
+
+-#: c-parser.c:4473
++#: c-parser.c:4532
+ #, fuzzy, gcc-internal-format
+ msgid "%HISO C forbids omitting the middle term of a ?: expression"
+ msgstr "ИСО Ц забрањује изоÑтављање Ñредњег члана ?: израза"
+
+-#: c-parser.c:4863
++#: c-parser.c:4922
+ #, fuzzy, gcc-internal-format
+ msgid "%Htraditional C rejects the unary plus operator"
+ msgstr "традиционални Ц одбија оператор унарни плуÑ"
+
+ #. C99 6.7.5.2p4
+-#: c-parser.c:4974
++#: c-parser.c:5033
+ #, fuzzy, gcc-internal-format
+ msgid "%H%<[*]%> not allowed in other than a declaration"
+ msgstr "%<[*]%> није дозвољено другде оÑим у декларацији"
+
+-#: c-parser.c:4988
++#: c-parser.c:5047
+ #, fuzzy, gcc-internal-format
+ msgid "%H%<sizeof%> applied to a bit-field"
+ msgstr "%<sizeof%> примењено на битÑко поље"
+
+-#: c-parser.c:5132 c-parser.c:5476 c-parser.c:5498
++#: c-parser.c:5191 c-parser.c:5535 c-parser.c:5557
+ #, gcc-internal-format
+ msgid "expected expression"
+ msgstr "очекиван је израз"
+
+-#: c-parser.c:5159
++#: c-parser.c:5218
+ #, fuzzy, gcc-internal-format
+ msgid "%Hbraced-group within expression allowed only inside a function"
+ msgstr "витичаÑто заграђена група унутар израза дозвољена је Ñамо у оквиру функције"
+
+-#: c-parser.c:5173
++#: c-parser.c:5232
+ #, fuzzy, gcc-internal-format
+ msgid "%HISO C forbids braced-groups within expressions"
+ msgstr "ИСО Ц забрањује витичаÑто заграђене групе унутар израза"
+
+-#: c-parser.c:5358
++#: c-parser.c:5417
+ #, fuzzy, gcc-internal-format
+ msgid "%Hfirst argument to %<__builtin_choose_expr%> not a constant"
+ msgstr "први аргумент за %<__builtin_choose_expr%> није конÑтанта"
+
+-#: c-parser.c:5527
++#: c-parser.c:5586
+ #, fuzzy, gcc-internal-format
+ msgid "%Hcompound literal has variable size"
+ msgstr "Ñложена доÑловна ниÑка има променљиву величину"
+
+-#: c-parser.c:5535
++#: c-parser.c:5594
+ #, fuzzy, gcc-internal-format
+ msgid "%HISO C90 forbids compound literals"
+ msgstr "ИСО Ц 90 забрањује Ñложене доÑловне ниÑке"
+
+-#: c-parser.c:6053
++#: c-parser.c:6112
+ #, fuzzy, gcc-internal-format
+ msgid "%Hextra semicolon in method definition specified"
+ msgstr "Ñувишна тачка-зарез у дефиницији метода"
+
+-#: c-parser.c:6600 cp/parser.c:20436
++#: c-parser.c:6659 cp/parser.c:20525
+ #, gcc-internal-format
+ msgid "%<#pragma omp barrier%> may only be used in compound statements"
+ msgstr "%<#pragma omp barrier%> може бити употребљено Ñамо у Ñложеним наредбама"
+
+-#: c-parser.c:6611 cp/parser.c:20451
++#: c-parser.c:6670 cp/parser.c:20540
+ #, gcc-internal-format
+ msgid "%<#pragma omp flush%> may only be used in compound statements"
+ msgstr "%<#pragma omp flush%> може бити употребљено Ñамо у Ñложеним наредбама"
+
+-#: c-parser.c:6623
++#: c-parser.c:6682
+ #, fuzzy, gcc-internal-format
+ msgid "%H%<#pragma omp section%> may only be used in %<#pragma omp sections%> construct"
+ msgstr "%<#pragma omp section%> може бити употребљено Ñамо у конÑтрукцији %<#pragma omp sections%>"
+
+-#: c-parser.c:6630 cp/parser.c:20426
++#: c-parser.c:6689 cp/parser.c:20515
+ #, gcc-internal-format
+ msgid "%<#pragma GCC pch_preprocess%> must be first"
+ msgstr "%<#pragma GCC pch_preprocess%> мора бити прво"
+
+-#: c-parser.c:6781 cp/parser.c:19277
++#: c-parser.c:6840 cp/parser.c:19359
+ #, gcc-internal-format
+ msgid "too many %qs clauses"
+ msgstr "превише %qs одредби"
+
+-#: c-parser.c:6906
++#: c-parser.c:6965
+ #, gcc-internal-format
+ msgid "expected %<none%> or %<shared%>"
+ msgstr "очекивано је %<none%> или %<shared%>"
+
+-#: c-parser.c:6949
++#: c-parser.c:7008
+ #, gcc-internal-format
+ msgid "expected %<(%>"
+ msgstr "очекивано је %<(%>"
+
+-#: c-parser.c:6993 c-parser.c:7170
++#: c-parser.c:7052 c-parser.c:7229
+ #, gcc-internal-format
+ msgid "expected integer expression"
+ msgstr "очекиван је целобројни израз"
+
+-#: c-parser.c:7002
++#: c-parser.c:7061
+ #, fuzzy, gcc-internal-format
+ msgid "%H%<num_threads%> value must be positive"
+ msgstr "вредноÑÑ‚ %<num_threads%> мора бити позитивна"
+
+-#: c-parser.c:7082
++#: c-parser.c:7141
+ #, gcc-internal-format
+ msgid "expected %<+%>, %<*%>, %<-%>, %<&%>, %<^%>, %<|%>, %<&&%>, or %<||%>"
+ msgstr "очекивано је %<+%>, %<*%>, %<-%>, %<&%>, %<^%>, %<|%>, %<&&%> или %<||%>"
+
+-#: c-parser.c:7165
++#: c-parser.c:7224
+ #, fuzzy, gcc-internal-format
+ msgid "%Hschedule %<runtime%> does not take a %<chunk_size%> parameter"
+ msgstr "раÑпоред %<runtime%> не узима параметар %<chunk_size%>"
+
+-#: c-parser.c:7183
++#: c-parser.c:7242
+ #, gcc-internal-format
+ msgid "invalid schedule kind"
+ msgstr "неиÑправна врÑта раÑпореда"
+
+-#: c-parser.c:7269
++#: c-parser.c:7336
+ #, gcc-internal-format
+ msgid "expected %<#pragma omp%> clause"
+ msgstr "очекивана је одредба %<#pragma omp%>"
+
+-#: c-parser.c:7278
++#: c-parser.c:7345
+ #, fuzzy, gcc-internal-format
+ msgid "%H%qs is not valid for %qs"
+ msgstr "%qs није иÑправно за %qs"
+
+-#: c-parser.c:7378
++#: c-parser.c:7445
+ #, gcc-internal-format
+ msgid "invalid operator for %<#pragma omp atomic%>"
+ msgstr "неиÑправан оператор за %<#pragma omp atomic%>"
+
+-#: c-parser.c:7429 c-parser.c:7449
++#: c-parser.c:7496 c-parser.c:7516
+ #, gcc-internal-format
+ msgid "expected %<(%> or end of line"
+ msgstr "очекивано је %<(%> или крај линије"
+
+-#: c-parser.c:7467
++#: c-parser.c:7534
+ #, gcc-internal-format
+ msgid "for statement expected"
+ msgstr "очекивана је наредба for"
+
+-#: c-parser.c:7540 cp/semantics.c:3826 cp/semantics.c:3870
++#: c-parser.c:7609 cp/semantics.c:3858 cp/semantics.c:3902
+ #, gcc-internal-format
+ msgid "expected iteration declaration or initialization"
+ msgstr "очекивано је уÑпоÑтављање или декларација итерације"
+
+-#: c-parser.c:7666
++#: c-parser.c:7735
+ #, fuzzy, gcc-internal-format
+ msgid "%Hexpected %<#pragma omp section%> or %<}%>"
+ msgstr "очекивано је %<#pragma omp section%> или %<}%>"
+
+-#: c-parser.c:7899 cp/semantics.c:3718
++#: c-parser.c:7968 cp/semantics.c:3750
+ #, gcc-internal-format
+ msgid "%qE declared %<threadprivate%> after first use"
+ msgstr "%qE деклариÑано као нитно-локално поÑле прве употребе"
+
+-#: c-parser.c:7901 cp/semantics.c:3720
++#: c-parser.c:7970 cp/semantics.c:3752
+ #, gcc-internal-format
+ msgid "automatic variable %qE cannot be %<threadprivate%>"
+ msgstr "аутоматÑка променљива %qE не може бити нитно-локална"
+
+-#: c-parser.c:7903 cp/semantics.c:3722
++#: c-parser.c:7972 cp/semantics.c:3754
+ #, gcc-internal-format
+ msgid "%<threadprivate%> %qE has incomplete type"
+ msgstr "нитно-локално %qE има непотпун тип"
+@@ -20333,122 +20318,122 @@
+ msgid "junk at end of %<#pragma pop_macro%>"
+ msgstr "Ñмеће на крају %<#pragma pack%>"
+
+-#: c-pragma.c:406
++#: c-pragma.c:407
+ #, gcc-internal-format
+ msgid "applying #pragma weak %q+D after first use results in unspecified behavior"
+ msgstr "примена #pragma weak %q+D поÑле прве употребе доводи до неодређеног понашања"
+
+-#: c-pragma.c:480 c-pragma.c:485
++#: c-pragma.c:481 c-pragma.c:486
+ #, gcc-internal-format
+ msgid "malformed #pragma weak, ignored"
+ msgstr "лоше формирано #pragma weak, игноришем"
+
+-#: c-pragma.c:489
++#: c-pragma.c:490
+ #, gcc-internal-format
+ msgid "junk at end of %<#pragma weak%>"
+ msgstr "Ñмеће на крају %<#pragma weak%>"
+
+-#: c-pragma.c:557 c-pragma.c:559
++#: c-pragma.c:558 c-pragma.c:560
+ #, gcc-internal-format
+ msgid "malformed #pragma redefine_extname, ignored"
+ msgstr "лоше формирано #pragma redefine_extname, игноришем"
+
+-#: c-pragma.c:562
++#: c-pragma.c:563
+ #, gcc-internal-format
+ msgid "junk at end of %<#pragma redefine_extname%>"
+ msgstr "Ñмеће на крају %<#pragma redefine_extname%>"
+
+-#: c-pragma.c:568
++#: c-pragma.c:569
+ #, gcc-internal-format
+ msgid "#pragma redefine_extname not supported on this target"
+ msgstr "#pragma redefine_extname није подржано на овом циљу"
+
+-#: c-pragma.c:585 c-pragma.c:672
++#: c-pragma.c:586 c-pragma.c:673
+ #, gcc-internal-format
+ msgid "#pragma redefine_extname ignored due to conflict with previous rename"
+ msgstr "#pragma redefine_extname игнориÑано уÑлед Ñукоба Ñа претходним преименовањем"
+
+-#: c-pragma.c:608
++#: c-pragma.c:609
+ #, gcc-internal-format
+ msgid "#pragma redefine_extname ignored due to conflict with previous #pragma redefine_extname"
+ msgstr "#pragma redefine_extname игнориÑано уÑлед Ñукоба Ñа претходним #pragma redefine_extname"
+
+-#: c-pragma.c:627
++#: c-pragma.c:628
+ #, gcc-internal-format
+ msgid "malformed #pragma extern_prefix, ignored"
+ msgstr "лоше формирано #pragma extern_prefix, игноришем"
+
+-#: c-pragma.c:630
++#: c-pragma.c:631
+ #, gcc-internal-format
+ msgid "junk at end of %<#pragma extern_prefix%>"
+ msgstr "Ñмеће на крају %<#pragma extern_prefix%>"
+
+-#: c-pragma.c:637
++#: c-pragma.c:638
+ #, gcc-internal-format
+ msgid "#pragma extern_prefix not supported on this target"
+ msgstr "#pragma extern_prefix није подржано на овом циљу"
+
+-#: c-pragma.c:663
++#: c-pragma.c:664
+ #, gcc-internal-format
+ msgid "asm declaration ignored due to conflict with previous rename"
+ msgstr "asm декларација игнориÑана уÑлед Ñукоба Ñа претходним преименовањем"
+
+-#: c-pragma.c:694
++#: c-pragma.c:695
+ #, gcc-internal-format
+ msgid "#pragma redefine_extname ignored due to conflict with __asm__ declaration"
+ msgstr "#pragma redefine_extname игнориÑано уÑлед Ñукоба Ñа декларацијом __asm__"
+
+-#: c-pragma.c:756
++#: c-pragma.c:757
+ #, gcc-internal-format
+ msgid "#pragma GCC visibility push() must specify default, internal, hidden or protected"
+ msgstr "#pragma GCC visibility push() мора задати default, internal, hidden или protected"
+
+-#: c-pragma.c:791
++#: c-pragma.c:792
+ #, gcc-internal-format
+ msgid "#pragma GCC visibility must be followed by push or pop"
+ msgstr "#pragma GCC visibility мора пратити push или pop"
+
+-#: c-pragma.c:797
++#: c-pragma.c:798
+ #, gcc-internal-format
+ msgid "no matching push for %<#pragma GCC visibility pop%>"
+ msgstr "нема поклапајућег push за %<#pragma GCC visibility pop%>"
+
+-#: c-pragma.c:804 c-pragma.c:811
++#: c-pragma.c:805 c-pragma.c:812
+ #, gcc-internal-format
+ msgid "missing %<(%> after %<#pragma GCC visibility push%> - ignored"
+ msgstr "недоÑтаје %<(%> поÑле %<#pragma GCC visibility push%> — игноришем"
+
+-#: c-pragma.c:807
++#: c-pragma.c:808
+ #, gcc-internal-format
+ msgid "malformed #pragma GCC visibility push"
+ msgstr "лоше формирано #pragma GCC visibility push"
+
+-#: c-pragma.c:815
++#: c-pragma.c:816
+ #, gcc-internal-format
+ msgid "junk at end of %<#pragma GCC visibility%>"
+ msgstr "Ñмеће на крају %<#pragma GCC visibility%>"
+
+-#: c-pragma.c:831
++#: c-pragma.c:832
+ #, gcc-internal-format
+ msgid "#pragma GCC diagnostic not allowed inside functions"
+ msgstr "#pragma GCC diagnostic није дозвољено унутар функција"
+
+-#: c-pragma.c:837
++#: c-pragma.c:838
+ #, gcc-internal-format
+ msgid "missing [error|warning|ignored] after %<#pragma GCC diagnostic%>"
+ msgstr "недоÑтаје [error|warning|ignored] поÑле %<#pragma GCC diagnostic%>"
+
+-#: c-pragma.c:846
++#: c-pragma.c:847
+ #, gcc-internal-format
+ msgid "expected [error|warning|ignored] after %<#pragma GCC diagnostic%>"
+ msgstr "очекивано је [error|warning|ignored] поÑле %<#pragma GCC diagnostic%>"
+
+-#: c-pragma.c:850
++#: c-pragma.c:851
+ #, gcc-internal-format
+ msgid "missing option after %<#pragma GCC diagnostic%> kind"
+ msgstr "недоÑтаје опција поÑле врÑте %<#pragma GCC diagnostic%>"
+
+-#: c-pragma.c:864
++#: c-pragma.c:865
+ #, gcc-internal-format
+ msgid "unknown option after %<#pragma GCC diagnostic%> kind"
+ msgstr "непозната опција поÑле врÑте %<#pragma GCC diagnostic%>"
+@@ -20458,7 +20443,7 @@
+ msgid "%qD has an incomplete type"
+ msgstr "%qD има непотпун тип"
+
+-#: c-typeck.c:195 cp/call.c:2785
++#: c-typeck.c:195 cp/call.c:2771
+ #, gcc-internal-format
+ msgid "invalid use of void expression"
+ msgstr "неиÑправна употреба израза празног типа"
+@@ -20489,92 +20474,92 @@
+ msgid "function types not truly compatible in ISO C"
+ msgstr "функцијÑки типови ниÑу иÑтинÑки ÑаглаÑни у ИСО Ц-у "
+
+-#: c-typeck.c:621
++#: c-typeck.c:627
+ #, gcc-internal-format
+ msgid "can%'t mix operands of decimal float and vector types"
+ msgstr "не могу Ñе мешати операнди децималног реалног и векторÑког типа"
+
+-#: c-typeck.c:626
++#: c-typeck.c:632
+ #, gcc-internal-format
+ msgid "can%'t mix operands of decimal float and complex types"
+ msgstr "не могу Ñе мешати операнди децималног реалног и комплекÑног типа"
+
+-#: c-typeck.c:631
++#: c-typeck.c:637
+ #, gcc-internal-format
+ msgid "can%'t mix operands of decimal float and other float types"
+ msgstr "не могу Ñе мешати операнди децималног реалног и других реалних типова"
+
+-#: c-typeck.c:1037
++#: c-typeck.c:1043
+ #, gcc-internal-format
+ msgid "types are not quite compatible"
+ msgstr "типови ниÑу ÑаÑвим ÑаглаÑни"
+
+-#: c-typeck.c:1356
++#: c-typeck.c:1366
+ #, gcc-internal-format
+ msgid "function return types not compatible due to %<volatile%>"
+ msgstr "повратни типови функција ниÑу ÑаглаÑни уÑлед %<volatile%>"
+
+-#: c-typeck.c:1515 c-typeck.c:2853
++#: c-typeck.c:1525 c-typeck.c:2864
+ #, gcc-internal-format
+ msgid "arithmetic on pointer to an incomplete type"
+ msgstr "аритметика Ñа показивачем на непотпун тип"
+
+-#: c-typeck.c:1912
++#: c-typeck.c:1922
+ #, gcc-internal-format
+ msgid "%qT has no member named %qE"
+ msgstr "%qT нема члан по имену %qE"
+
+-#: c-typeck.c:1953
++#: c-typeck.c:1963
+ #, gcc-internal-format
+ msgid "request for member %qE in something not a structure or union"
+ msgstr "захтев за члан %qE у нечему што није ни Ñтруктура ни унија"
+
+-#: c-typeck.c:1997
++#: c-typeck.c:2007
+ #, gcc-internal-format
+ msgid "dereferencing pointer to incomplete type"
+ msgstr "разрешавање показивача на непотпун тип"
+
+-#: c-typeck.c:2001
++#: c-typeck.c:2011
+ #, gcc-internal-format
+ msgid "dereferencing %<void *%> pointer"
+ msgstr "разрешавање %<void *%> показивача"
+
+-#: c-typeck.c:2018
++#: c-typeck.c:2028
+ #, fuzzy, gcc-internal-format
+ msgid "invalid type argument of %qs (have %qT)"
+ msgstr "неиÑправан аргумент типа за %qs"
+
+-#: c-typeck.c:2046 cp/typeck.c:2524
++#: c-typeck.c:2056 cp/typeck.c:2570
+ #, gcc-internal-format
+ msgid "subscripted value is neither array nor pointer"
+ msgstr "индекÑирана вредноÑÑ‚ није ни низ ни показивач"
+
+-#: c-typeck.c:2057 cp/typeck.c:2443 cp/typeck.c:2529
++#: c-typeck.c:2067 cp/typeck.c:2489 cp/typeck.c:2575
+ #, gcc-internal-format
+ msgid "array subscript is not an integer"
+ msgstr "Ð¸Ð½Ð´ÐµÐºÑ Ð½Ð¸Ð·Ð° није целобројан"
+
+-#: c-typeck.c:2063
++#: c-typeck.c:2073
+ #, gcc-internal-format
+ msgid "subscripted value is pointer to function"
+ msgstr "индекÑирана вредноÑÑ‚ је показивач на функцију"
+
+-#: c-typeck.c:2110
++#: c-typeck.c:2120
+ #, gcc-internal-format
+ msgid "ISO C forbids subscripting %<register%> array"
+ msgstr "ИСО Ц забрањује %<register%> низове"
+
+-#: c-typeck.c:2112
++#: c-typeck.c:2122
+ #, gcc-internal-format
+ msgid "ISO C90 forbids subscripting non-lvalue array"
+ msgstr "ИСО Ц 90 забрањује индекÑирање не-л-вредноÑног низа"
+
+-#: c-typeck.c:2228
++#: c-typeck.c:2239
+ #, gcc-internal-format
+ msgid "%H%qD is static but used in inline function %qD which is not static"
+ msgstr ""
+
+-#: c-typeck.c:2376
++#: c-typeck.c:2387
+ #, gcc-internal-format
+ msgid "called object %qE is not a function"
+ msgstr "позвани објекат %qE није функција"
+@@ -20582,795 +20567,795 @@
+ #. This situation leads to run-time undefined behavior. We can't,
+ #. therefore, simply error unless we can prove that all possible
+ #. executions of the program must execute the code.
+-#: c-typeck.c:2404
++#: c-typeck.c:2415
+ #, gcc-internal-format
+ msgid "function called through a non-compatible type"
+ msgstr "функција позвана кроз неÑаглаÑан тип"
+
+-#: c-typeck.c:2515
++#: c-typeck.c:2526
+ #, gcc-internal-format
+ msgid "too many arguments to function %qE"
+ msgstr "превише аргумената за функцију %qE"
+
+-#: c-typeck.c:2536
++#: c-typeck.c:2547
+ #, gcc-internal-format
+ msgid "type of formal parameter %d is incomplete"
+ msgstr "тип формалног параметра %d није потпун"
+
+-#: c-typeck.c:2549
++#: c-typeck.c:2560
+ #, gcc-internal-format
+ msgid "passing argument %d of %qE as integer rather than floating due to prototype"
+ msgstr "проÑлеђивање аргумента %d за %qE као целобројног умеÑто као реалног, због прототипа"
+
+-#: c-typeck.c:2554
++#: c-typeck.c:2565
+ #, gcc-internal-format
+ msgid "passing argument %d of %qE as integer rather than complex due to prototype"
+ msgstr "проÑлеђивање аргумента %d за %qE као целобројног умеÑто као комплекÑног, због прототипа"
+
+-#: c-typeck.c:2559
++#: c-typeck.c:2570
+ #, gcc-internal-format
+ msgid "passing argument %d of %qE as complex rather than floating due to prototype"
+ msgstr "проÑлеђивање аргумента %d за %qE као комплекÑног умеÑто као реалног, због прототипа"
+
+-#: c-typeck.c:2564
++#: c-typeck.c:2575
+ #, gcc-internal-format
+ msgid "passing argument %d of %qE as floating rather than integer due to prototype"
+ msgstr "проÑлеђивање аргумента %d за %qE као реалног умеÑто као целобројног, због прототипа"
+
+-#: c-typeck.c:2569
++#: c-typeck.c:2580
+ #, gcc-internal-format
+ msgid "passing argument %d of %qE as complex rather than integer due to prototype"
+ msgstr "проÑлеђивање аргумента %d за %qE као комплекÑног умеÑто као целобројног, због прототипа"
+
+-#: c-typeck.c:2574
++#: c-typeck.c:2585
+ #, gcc-internal-format
+ msgid "passing argument %d of %qE as floating rather than complex due to prototype"
+ msgstr "проÑлеђивање аргумента %d за %qE као реалног умеÑто као комплекÑног, због прототипа"
+
+-#: c-typeck.c:2587
++#: c-typeck.c:2598
+ #, gcc-internal-format
+ msgid "passing argument %d of %qE as %<float%> rather than %<double%> due to prototype"
+ msgstr "проÑлеђивање аргумента %d за %qE као %<float%> умеÑто као %<double%>, због прототипа"
+
+-#: c-typeck.c:2612
++#: c-typeck.c:2623
+ #, gcc-internal-format
+ msgid "passing argument %d of %qE as %qT rather than %qT due to prototype"
+ msgstr "проÑлеђивање аргумента %d за %qE као %qT умеÑто као %qT, због прототипа"
+
+-#: c-typeck.c:2633
++#: c-typeck.c:2644
+ #, gcc-internal-format
+ msgid "passing argument %d of %qE with different width due to prototype"
+ msgstr "проÑлеђивање аргумента %d за %qE Ñа различитом ширином, због прототипа"
+
+-#: c-typeck.c:2656
++#: c-typeck.c:2667
+ #, gcc-internal-format
+ msgid "passing argument %d of %qE as unsigned due to prototype"
+ msgstr "проÑлеђивање аргумента %d за %qE као неозначеног, због прототипа"
+
+-#: c-typeck.c:2660
++#: c-typeck.c:2671
+ #, gcc-internal-format
+ msgid "passing argument %d of %qE as signed due to prototype"
+ msgstr "проÑлеђивање аргумента %d за %qE као означеног, због прототипа"
+
+-#: c-typeck.c:2766 c-typeck.c:2770
++#: c-typeck.c:2777 c-typeck.c:2781
+ #, fuzzy, gcc-internal-format
+ msgid "comparison with string literal results in unspecified behavior"
+ msgstr "поређење Ñа доÑловном ниÑком резултује неодређеним понашањем"
+
+-#: c-typeck.c:2795
++#: c-typeck.c:2806
+ #, gcc-internal-format
+ msgid "pointer of type %<void *%> used in subtraction"
+ msgstr "показивачи типа %<void *%> употребљени у одузимању"
+
+-#: c-typeck.c:2797
++#: c-typeck.c:2808
+ #, gcc-internal-format
+ msgid "pointer to a function used in subtraction"
+ msgstr "показивач на функцију употребљен у одузимању"
+
+-#: c-typeck.c:2908
++#: c-typeck.c:2919
+ #, gcc-internal-format
+ msgid "wrong type argument to unary plus"
+ msgstr "погрешан тип аргумента уз унарно плуÑ"
+
+-#: c-typeck.c:2921
++#: c-typeck.c:2932
+ #, gcc-internal-format
+ msgid "wrong type argument to unary minus"
+ msgstr "погрешан тип аргумента уз унарно минуÑ"
+
+-#: c-typeck.c:2941
++#: c-typeck.c:2952
+ #, gcc-internal-format
+ msgid "ISO C does not support %<~%> for complex conjugation"
+ msgstr "ИСО Ц не подржава %<~%> за комплекÑну конјугацију"
+
+-#: c-typeck.c:2947
++#: c-typeck.c:2958
+ #, gcc-internal-format
+ msgid "wrong type argument to bit-complement"
+ msgstr "погрешан тип аргумента уз битÑки комплемент"
+
+-#: c-typeck.c:2955
++#: c-typeck.c:2966
+ #, gcc-internal-format
+ msgid "wrong type argument to abs"
+ msgstr "погрешан тип аргумента за abs"
+
+-#: c-typeck.c:2967
++#: c-typeck.c:2978
+ #, gcc-internal-format
+ msgid "wrong type argument to conjugation"
+ msgstr "погрешан тип аргумента за конјугацију"
+
+-#: c-typeck.c:2979
++#: c-typeck.c:2990
+ #, gcc-internal-format
+ msgid "wrong type argument to unary exclamation mark"
+ msgstr "погрешан тип аргумента уз унарни знак узвика"
+
+-#: c-typeck.c:3013
++#: c-typeck.c:3024
+ #, gcc-internal-format
+ msgid "ISO C does not support %<++%> and %<--%> on complex types"
+ msgstr "ИСО Ц не подржава %<++%> и %<--%> за комплекÑне типове"
+
+-#: c-typeck.c:3032 c-typeck.c:3064
++#: c-typeck.c:3043 c-typeck.c:3075
+ #, gcc-internal-format
+ msgid "wrong type argument to increment"
+ msgstr "погрешан тип аргумента уз увећање"
+
+-#: c-typeck.c:3034 c-typeck.c:3066
++#: c-typeck.c:3045 c-typeck.c:3077
+ #, gcc-internal-format
+ msgid "wrong type argument to decrement"
+ msgstr "погрешан тип аргумента уз умањење"
+
+-#: c-typeck.c:3055
++#: c-typeck.c:3066
+ #, gcc-internal-format
+ msgid "increment of pointer to unknown structure"
+ msgstr "увећање показивача на непознату Ñтруктуру"
+
+-#: c-typeck.c:3057
++#: c-typeck.c:3068
+ #, gcc-internal-format
+ msgid "decrement of pointer to unknown structure"
+ msgstr "умањење показивача на непознату Ñтруктуру"
+
+-#: c-typeck.c:3258
++#: c-typeck.c:3269
+ #, gcc-internal-format
+ msgid "assignment of read-only member %qD"
+ msgstr "додела Ñамо-за-читање члану %qD"
+
+-#: c-typeck.c:3259
++#: c-typeck.c:3270
+ #, gcc-internal-format
+ msgid "increment of read-only member %qD"
+ msgstr "увећање Ñамо-за-читање члана %qD"
+
+-#: c-typeck.c:3260
++#: c-typeck.c:3271
+ #, gcc-internal-format
+ msgid "decrement of read-only member %qD"
+ msgstr "умањење Ñамо-за-читање члана %qD"
+
+-#: c-typeck.c:3261
++#: c-typeck.c:3272
+ #, gcc-internal-format
+ msgid "read-only member %qD used as %<asm%> output"
+ msgstr "Ñамо-за-читање члан %qD употребљен као %<asm%> излаз"
+
+-#: c-typeck.c:3265
++#: c-typeck.c:3276
+ #, gcc-internal-format
+ msgid "assignment of read-only variable %qD"
+ msgstr "додела Ñамо-за-читање променљивој %qD"
+
+-#: c-typeck.c:3266
++#: c-typeck.c:3277
+ #, gcc-internal-format
+ msgid "increment of read-only variable %qD"
+ msgstr "увећање Ñамо-за-читање променљиве %qD"
+
+-#: c-typeck.c:3267
++#: c-typeck.c:3278
+ #, gcc-internal-format
+ msgid "decrement of read-only variable %qD"
+ msgstr "умањење Ñамо-за-читање променљиве %qD"
+
+-#: c-typeck.c:3268
++#: c-typeck.c:3279
+ #, gcc-internal-format
+ msgid "read-only variable %qD used as %<asm%> output"
+ msgstr "Ñамо-за-читање променљива %qD употребљена као %<asm%> излаз"
+
+-#: c-typeck.c:3271
++#: c-typeck.c:3282
+ #, fuzzy, gcc-internal-format
+ msgid "assignment of read-only location %qE"
+ msgstr "додела Ñамо-за-читање локацији"
+
+-#: c-typeck.c:3272
++#: c-typeck.c:3283
+ #, fuzzy, gcc-internal-format
+ msgid "increment of read-only location %qE"
+ msgstr "увећање Ñамо-за-читање локације"
+
+-#: c-typeck.c:3273
++#: c-typeck.c:3284
+ #, fuzzy, gcc-internal-format
+ msgid "decrement of read-only location %qE"
+ msgstr "умањење Ñамо-за-читање локације"
+
+-#: c-typeck.c:3274
++#: c-typeck.c:3285
+ #, fuzzy, gcc-internal-format
+ msgid "read-only location %qE used as %<asm%> output"
+ msgstr "Ñамо-за-читање локација употребљена као %<asm%> излаз"
+
+-#: c-typeck.c:3310
++#: c-typeck.c:3321
+ #, gcc-internal-format
+ msgid "cannot take address of bit-field %qD"
+ msgstr "не може Ñе узети адреÑа битÑког поља %qD"
+
+-#: c-typeck.c:3338
++#: c-typeck.c:3349
+ #, gcc-internal-format
+ msgid "global register variable %qD used in nested function"
+ msgstr "глобална региÑтарÑка променљива %qD употребљена у угњежденој функцији"
+
+-#: c-typeck.c:3341
++#: c-typeck.c:3352
+ #, gcc-internal-format
+ msgid "register variable %qD used in nested function"
+ msgstr "региÑтарÑка променљива %qD употребљена у угњежденој функцији"
+
+-#: c-typeck.c:3346
++#: c-typeck.c:3357
+ #, gcc-internal-format
+ msgid "address of global register variable %qD requested"
+ msgstr "затражена адреÑа глобалне региÑтарÑке променљиве %qD"
+
+-#: c-typeck.c:3348
++#: c-typeck.c:3359
+ #, gcc-internal-format
+ msgid "address of register variable %qD requested"
+ msgstr "затражена адреÑа региÑтарÑке променљиве %qD"
+
+-#: c-typeck.c:3394
++#: c-typeck.c:3405
+ #, gcc-internal-format
+ msgid "non-lvalue array in conditional expression"
+ msgstr "не-л-вредноÑни низ у уÑловном изразу"
+
+-#: c-typeck.c:3442
++#: c-typeck.c:3453
+ #, gcc-internal-format
+ msgid "signed and unsigned type in conditional expression"
+ msgstr "означени и неозначени типови у уÑловном изразу"
+
+-#: c-typeck.c:3449
++#: c-typeck.c:3460
+ #, gcc-internal-format
+ msgid "ISO C forbids conditional expr with only one void side"
+ msgstr "ИСО Ц забрањује уÑловне изразе Ñа Ñамо једном празном Ñтраном"
+
+-#: c-typeck.c:3463 c-typeck.c:3471
++#: c-typeck.c:3474 c-typeck.c:3482
+ #, gcc-internal-format
+ msgid "ISO C forbids conditional expr between %<void *%> and function pointer"
+ msgstr "ИСО Ц забрањује уÑловни израз између %<void *%> и функцијÑког показивача"
+
+-#: c-typeck.c:3478
++#: c-typeck.c:3489
+ #, gcc-internal-format
+ msgid "pointer type mismatch in conditional expression"
+ msgstr "неÑлагање показивачких типова у уÑловном изразу"
+
+-#: c-typeck.c:3485 c-typeck.c:3495
++#: c-typeck.c:3496 c-typeck.c:3506
+ #, gcc-internal-format
+ msgid "pointer/integer type mismatch in conditional expression"
+ msgstr "неÑлагање типова показивача или целобројних у уÑловном изразу"
+
+-#: c-typeck.c:3509 tree-cfg.c:3783
++#: c-typeck.c:3520 tree-cfg.c:3807
+ #, gcc-internal-format
+ msgid "type mismatch in conditional expression"
+ msgstr "неÑлагање типова у уÑловном изразу"
+
+-#: c-typeck.c:3552
++#: c-typeck.c:3563
+ #, gcc-internal-format
+ msgid "left-hand operand of comma expression has no effect"
+ msgstr "леви операнд зарез-израза нема ефекта"
+
+-#: c-typeck.c:3589
++#: c-typeck.c:3600
+ #, gcc-internal-format
+ msgid "cast specifies array type"
+ msgstr "претапање наводи низовни тип"
+
+-#: c-typeck.c:3595
++#: c-typeck.c:3606
+ #, gcc-internal-format
+ msgid "cast specifies function type"
+ msgstr "претапање наводи функцијÑки тип"
+
+-#: c-typeck.c:3612
++#: c-typeck.c:3623
+ #, gcc-internal-format
+ msgid "ISO C forbids casting nonscalar to the same type"
+ msgstr "ИСО Ц забрањује претапање неÑкалара у иÑти тип"
+
+-#: c-typeck.c:3629
++#: c-typeck.c:3640
+ #, gcc-internal-format
+ msgid "ISO C forbids casts to union type"
+ msgstr "ИСО Ц забрањује претапање у унијÑки тип"
+
+-#: c-typeck.c:3637
++#: c-typeck.c:3648
+ #, gcc-internal-format
+ msgid "cast to union type from type not present in union"
+ msgstr "претапање у унијÑки тип из типа који не чини унију"
+
+-#: c-typeck.c:3683
++#: c-typeck.c:3694
+ #, gcc-internal-format
+ msgid "cast adds new qualifiers to function type"
+ msgstr "претапање додаје нове одредбе функцијÑком типу"
+
+ #. There are qualifiers present in IN_OTYPE that are not
+ #. present in IN_TYPE.
+-#: c-typeck.c:3688
++#: c-typeck.c:3699
+ #, gcc-internal-format
+ msgid "cast discards qualifiers from pointer target type"
+ msgstr "претапање одбацује одредбе Ñа циљног типа показивача"
+
+-#: c-typeck.c:3704
++#: c-typeck.c:3715
+ #, gcc-internal-format
+ msgid "cast increases required alignment of target type"
+ msgstr "претапање увећава неопходно равнање циљног типа"
+
+-#: c-typeck.c:3715
++#: c-typeck.c:3726
+ #, gcc-internal-format
+ msgid "cast from pointer to integer of different size"
+ msgstr "претапање из показивача у целобројни различите величине"
+
+-#: c-typeck.c:3719
++#: c-typeck.c:3730
+ #, gcc-internal-format
+ msgid "cast from function call of type %qT to non-matching type %qT"
+ msgstr "претапање из функцијÑког позива типа %qT у непоклапајући тип %qT"
+
+-#: c-typeck.c:3727
++#: c-typeck.c:3738
+ #, gcc-internal-format
+ msgid "cast to pointer from integer of different size"
+ msgstr "претапање из целобројног у показивач различите величине"
+
+-#: c-typeck.c:3741
++#: c-typeck.c:3752
+ #, gcc-internal-format
+ msgid "ISO C forbids conversion of function pointer to object pointer type"
+ msgstr "ИСО Ц забрањује претварање показивача на функцију у показивач на објекат"
+
+-#: c-typeck.c:3749
++#: c-typeck.c:3760
+ #, gcc-internal-format
+ msgid "ISO C forbids conversion of object pointer to function pointer type"
+ msgstr "ИСО Ц забрањује претварање показивача на објекат у показивач на функцијÑки тип"
+
+-#: c-typeck.c:4026
++#: c-typeck.c:4037
+ #, gcc-internal-format
+ msgid "cannot pass rvalue to reference parameter"
+ msgstr "д-вредноÑÑ‚ Ñе не може проÑледити упућивачком параметру"
+
+-#: c-typeck.c:4139 c-typeck.c:4306
++#: c-typeck.c:4150 c-typeck.c:4317
+ #, gcc-internal-format
+ msgid "passing argument %d of %qE makes qualified function pointer from unqualified"
+ msgstr "проÑлеђивање аргумента %d од %qE прави одређени функцијÑки показивач од неодређеног"
+
+-#: c-typeck.c:4142 c-typeck.c:4309
++#: c-typeck.c:4153 c-typeck.c:4320
+ #, gcc-internal-format
+ msgid "assignment makes qualified function pointer from unqualified"
+ msgstr "додела прави одређени функцијÑки показивач од неодређеног"
+
+-#: c-typeck.c:4145 c-typeck.c:4311
++#: c-typeck.c:4156 c-typeck.c:4322
+ #, gcc-internal-format
+ msgid "initialization makes qualified function pointer from unqualified"
+ msgstr "уÑпоÑтављање прави одређени функцијÑки показивач од неодређеног"
+
+-#: c-typeck.c:4148 c-typeck.c:4313
++#: c-typeck.c:4159 c-typeck.c:4324
+ #, gcc-internal-format
+ msgid "return makes qualified function pointer from unqualified"
+ msgstr "повратак прави одређени функцијÑки показивач од неодређеног"
+
+-#: c-typeck.c:4152 c-typeck.c:4273
++#: c-typeck.c:4163 c-typeck.c:4284
+ #, gcc-internal-format
+ msgid "passing argument %d of %qE discards qualifiers from pointer target type"
+ msgstr "проÑлеђивање аргумента %d од %qE одбацује одредбе Ñа циљног типа показивача"
+
+-#: c-typeck.c:4154 c-typeck.c:4275
++#: c-typeck.c:4165 c-typeck.c:4286
+ #, gcc-internal-format
+ msgid "assignment discards qualifiers from pointer target type"
+ msgstr "додела одбацује одредбе Ñа циљног типа показивача"
+
+-#: c-typeck.c:4156 c-typeck.c:4277
++#: c-typeck.c:4167 c-typeck.c:4288
+ #, gcc-internal-format
+ msgid "initialization discards qualifiers from pointer target type"
+ msgstr "уÑпоÑтављање одбацује одредбе Ñа циљног типа показивача"
+
+-#: c-typeck.c:4158 c-typeck.c:4279
++#: c-typeck.c:4169 c-typeck.c:4290
+ #, gcc-internal-format
+ msgid "return discards qualifiers from pointer target type"
+ msgstr "повратак одбацује одредбе Ñа циљног типа показивача"
+
+-#: c-typeck.c:4165
++#: c-typeck.c:4176
+ #, gcc-internal-format
+ msgid "ISO C prohibits argument conversion to union type"
+ msgstr "ИСО Ц забрањује претварање аргумента у унијÑки тип"
+
+-#: c-typeck.c:4201
++#: c-typeck.c:4212
+ #, gcc-internal-format
+ msgid "request for implicit conversion from %qT to %qT not permitted in C++"
+ msgstr "захтев за имплицтно претварање из %qT у %qT није дозвољен у Ц++у"
+
+-#: c-typeck.c:4214
++#: c-typeck.c:4225
+ #, gcc-internal-format
+ msgid "argument %d of %qE might be a candidate for a format attribute"
+ msgstr "аргумент %d од %qE може бити кандидат за форматÑки атрибут"
+
+-#: c-typeck.c:4220
++#: c-typeck.c:4231
+ #, gcc-internal-format
+ msgid "assignment left-hand side might be a candidate for a format attribute"
+ msgstr "лева Ñтрана доделе може бити кандидат за форматÑки атрибут"
+
+-#: c-typeck.c:4225
++#: c-typeck.c:4236
+ #, gcc-internal-format
+ msgid "initialization left-hand side might be a candidate for a format attribute"
+ msgstr "лева Ñтрана уÑпоÑтављања може бити кандидат за форматÑки атрибут"
+
+-#: c-typeck.c:4230
++#: c-typeck.c:4241
+ #, gcc-internal-format
+ msgid "return type might be a candidate for a format attribute"
+ msgstr "повратни тип може бити кандидат за форматÑки атрибут"
+
+-#: c-typeck.c:4253
++#: c-typeck.c:4264
+ #, gcc-internal-format
+ msgid "ISO C forbids passing argument %d of %qE between function pointer and %<void *%>"
+ msgstr "ИСО Ц забрањује проÑлеђивање аргумента %d од %qE између функцијÑког показивача и %<void *%>"
+
+-#: c-typeck.c:4256
++#: c-typeck.c:4267
+ #, gcc-internal-format
+ msgid "ISO C forbids assignment between function pointer and %<void *%>"
+ msgstr "ИСО Ц забрањује доделу између функцијÑког показивача и %<void *%>"
+
+-#: c-typeck.c:4258
++#: c-typeck.c:4269
+ #, gcc-internal-format
+ msgid "ISO C forbids initialization between function pointer and %<void *%>"
+ msgstr "ИСО Ц забрањује уÑпоÑтављање између функцијÑког показивача и %<void *%>"
+
+-#: c-typeck.c:4260
++#: c-typeck.c:4271
+ #, gcc-internal-format
+ msgid "ISO C forbids return between function pointer and %<void *%>"
+ msgstr "ИСО Ц забрањује повратак између функцијÑког показивача и %<void *%>"
+
+-#: c-typeck.c:4289
++#: c-typeck.c:4300
+ #, gcc-internal-format
+ msgid "pointer targets in passing argument %d of %qE differ in signedness"
+ msgstr "циљеви показивача у проÑлеђивању аргумента %d за %qE разликују Ñе у означеноÑти"
+
+-#: c-typeck.c:4291
++#: c-typeck.c:4302
+ #, gcc-internal-format
+ msgid "pointer targets in assignment differ in signedness"
+ msgstr "циљеви показивача у додели разликују Ñе у означеноÑти"
+
+-#: c-typeck.c:4293
++#: c-typeck.c:4304
+ #, gcc-internal-format
+ msgid "pointer targets in initialization differ in signedness"
+ msgstr "циљеви показивача у уÑпоÑтављању разликују Ñе у означеноÑти"
+
+-#: c-typeck.c:4295
++#: c-typeck.c:4306
+ #, gcc-internal-format
+ msgid "pointer targets in return differ in signedness"
+ msgstr "циљеви показивача у повратку разликују Ñе у означеноÑти"
+
+-#: c-typeck.c:4320
++#: c-typeck.c:4331
+ #, gcc-internal-format
+ msgid "passing argument %d of %qE from incompatible pointer type"
+ msgstr "проÑлеђивање аргумента %d од %qE из неÑаглаÑног показивачког типа"
+
+-#: c-typeck.c:4322
++#: c-typeck.c:4333
+ #, gcc-internal-format
+ msgid "assignment from incompatible pointer type"
+ msgstr "додела из неÑаглаÑног показивачког типа"
+
+-#: c-typeck.c:4323
++#: c-typeck.c:4334
+ #, gcc-internal-format
+ msgid "initialization from incompatible pointer type"
+ msgstr "уÑпоÑтављање из неÑаглаÑног показивачког типа"
+
+-#: c-typeck.c:4325
++#: c-typeck.c:4336
+ #, gcc-internal-format
+ msgid "return from incompatible pointer type"
+ msgstr "повратак из неÑаглаÑног показивачког типа"
+
+-#: c-typeck.c:4342
++#: c-typeck.c:4353
+ #, gcc-internal-format
+ msgid "passing argument %d of %qE makes pointer from integer without a cast"
+ msgstr "проÑлеђивање аргумента %d од %qE прави показивач од целобројног без претапања"
+
+-#: c-typeck.c:4344
++#: c-typeck.c:4355
+ #, gcc-internal-format
+ msgid "assignment makes pointer from integer without a cast"
+ msgstr "додела прави показивач од целобројног без претапања"
+
+-#: c-typeck.c:4346
++#: c-typeck.c:4357
+ #, gcc-internal-format
+ msgid "initialization makes pointer from integer without a cast"
+ msgstr "уÑпоÑтављање прави показивач од целобројног без претапања"
+
+-#: c-typeck.c:4348
++#: c-typeck.c:4359
+ #, gcc-internal-format
+ msgid "return makes pointer from integer without a cast"
+ msgstr "повратак прави показивач од целобројног без претапања"
+
+-#: c-typeck.c:4355
++#: c-typeck.c:4366
+ #, gcc-internal-format
+ msgid "passing argument %d of %qE makes integer from pointer without a cast"
+ msgstr "проÑлеђивање аргумента %d од %qE прави целобројни од показивача без претапања"
+
+-#: c-typeck.c:4357
++#: c-typeck.c:4368
+ #, gcc-internal-format
+ msgid "assignment makes integer from pointer without a cast"
+ msgstr "додела прави целобројни од показивача без претапања"
+
+-#: c-typeck.c:4359
++#: c-typeck.c:4370
+ #, gcc-internal-format
+ msgid "initialization makes integer from pointer without a cast"
+ msgstr "уÑпоÑтављање прави целобројни од показивача без претапања"
+
+-#: c-typeck.c:4361
++#: c-typeck.c:4372
+ #, gcc-internal-format
+ msgid "return makes integer from pointer without a cast"
+ msgstr "повратак прави целобројни од показивача без претапања"
+
+-#: c-typeck.c:4377
++#: c-typeck.c:4388
+ #, gcc-internal-format
+ msgid "incompatible types in assignment"
+ msgstr "неÑаглаÑни типови у додели"
+
+-#: c-typeck.c:4380
++#: c-typeck.c:4391
+ #, gcc-internal-format
+ msgid "incompatible types in initialization"
+ msgstr "неÑаглаÑни типови у уÑпоÑтављању"
+
+-#: c-typeck.c:4383
++#: c-typeck.c:4394
+ #, gcc-internal-format
+ msgid "incompatible types in return"
+ msgstr "неÑаглаÑни типови у повратку"
+
+-#: c-typeck.c:4439
++#: c-typeck.c:4450
+ #, gcc-internal-format
+ msgid "traditional C rejects automatic aggregate initialization"
+ msgstr "традиционални Ц одбија аутоматÑку уÑпоÑтављање Ñкупина"
+
+-#: c-typeck.c:4610 c-typeck.c:4625 c-typeck.c:4640
++#: c-typeck.c:4621 c-typeck.c:4636 c-typeck.c:4651
+ #, gcc-internal-format
+ msgid "(near initialization for %qs)"
+ msgstr "(близу уÑпоÑтављања за %qs)"
+
+-#: c-typeck.c:5180 cp/decl.c:4975
++#: c-typeck.c:5191 cp/decl.c:4995
+ #, gcc-internal-format
+ msgid "opaque vector types cannot be initialized"
+ msgstr "непрозирни векторÑки типови не могу бити уÑпоÑтављени"
+
+-#: c-typeck.c:5803
++#: c-typeck.c:5814
+ #, gcc-internal-format
+ msgid "unknown field %qE specified in initializer"
+ msgstr "непознато поље %qE наведено у уÑпоÑтављачу"
+
+-#: c-typeck.c:6703
++#: c-typeck.c:6714
+ #, gcc-internal-format
+ msgid "traditional C rejects initialization of unions"
+ msgstr "традиционални Ц одбија уÑпоÑтављање унија"
+
+-#: c-typeck.c:7011
++#: c-typeck.c:7022
+ #, gcc-internal-format
+ msgid "jump into statement expression"
+ msgstr "Ñкок у наредбени израз"
+
+-#: c-typeck.c:7017
++#: c-typeck.c:7028
+ #, gcc-internal-format
+ msgid "jump into scope of identifier with variably modified type"
+ msgstr "Ñкок у доÑег идентификатора Ñа променљиво измењивим типом"
+
+-#: c-typeck.c:7054
++#: c-typeck.c:7065
+ #, gcc-internal-format
+ msgid "ISO C forbids %<goto *expr;%>"
+ msgstr "ИСО Ц забрањује %<goto *expr;%>"
+
+-#: c-typeck.c:7069 cp/typeck.c:6592
++#: c-typeck.c:7080 cp/typeck.c:6619
+ #, gcc-internal-format
+ msgid "function declared %<noreturn%> has a %<return%> statement"
+ msgstr "функција деклариÑана Ñа %<noreturn%> има наредбу %<return%>"
+
+-#: c-typeck.c:7077
++#: c-typeck.c:7088
+ #, gcc-internal-format
+ msgid "%<return%> with no value, in function returning non-void"
+ msgstr "%<return%> без вредноÑти у функцији која не враћа празан тип"
+
+-#: c-typeck.c:7086
++#: c-typeck.c:7097
+ #, gcc-internal-format
+ msgid "%<return%> with a value, in function returning void"
+ msgstr "%<return%> Ñа вредношћу у функцији која враћа празан тип"
+
+-#: c-typeck.c:7088
++#: c-typeck.c:7099
+ #, fuzzy, gcc-internal-format
+ msgid "ISO C forbids %<return%> with expression, in function returning void"
+ msgstr "%<return%> Ñа вредношћу у функцији која враћа празан тип"
+
+-#: c-typeck.c:7145
++#: c-typeck.c:7156
+ #, gcc-internal-format
+ msgid "function returns address of local variable"
+ msgstr "функција враћа адреÑу на локалну променљиву"
+
+-#: c-typeck.c:7217 cp/semantics.c:949
++#: c-typeck.c:7228 cp/semantics.c:952
+ #, gcc-internal-format
+ msgid "switch quantity not an integer"
+ msgstr "величина у прекидачу није целобројна"
+
+-#: c-typeck.c:7229
++#: c-typeck.c:7240
+ #, gcc-internal-format
+ msgid "%<long%> switch expression not converted to %<int%> in ISO C"
+ msgstr "%<long%> израз у прекидачу не претвара Ñе у %<int%> у ИСО Ц-у"
+
+-#: c-typeck.c:7269
++#: c-typeck.c:7280
+ #, gcc-internal-format
+ msgid "case label in statement expression not containing enclosing switch statement"
+ msgstr "етикета Ñлучаја у наредбеном изразу не Ñадржи обухватајућу наредбу прекидача"
+
+-#: c-typeck.c:7272
++#: c-typeck.c:7283
+ #, gcc-internal-format
+ msgid "%<default%> label in statement expression not containing enclosing switch statement"
+ msgstr "етикета %<default%> у наредбеном изразу не Ñадржи обухватајућу наредбу прекидача"
+
+-#: c-typeck.c:7278
++#: c-typeck.c:7289
+ #, gcc-internal-format
+ msgid "case label in scope of identifier with variably modified type not containing enclosing switch statement"
+ msgstr "етикета Ñлучаја у доÑегу идентификатора Ñа променљиво измењивим типом не Ñадржи обухватајућу наредбу прекидача"
+
+-#: c-typeck.c:7281
++#: c-typeck.c:7292
+ #, gcc-internal-format
+ msgid "%<default%> label in scope of identifier with variably modified type not containing enclosing switch statement"
+ msgstr "етикета %<default%> у доÑегу идентификатора Ñа променљиво измењивим типом не Ñадржи обухватајућу наредбу прекидача"
+
+-#: c-typeck.c:7285 cp/parser.c:6804
++#: c-typeck.c:7296 cp/parser.c:6810
+ #, gcc-internal-format
+ msgid "case label not within a switch statement"
+ msgstr "етикета Ñлучаја није у оквиру наредбе прекидача"
+
+-#: c-typeck.c:7287
++#: c-typeck.c:7298
+ #, gcc-internal-format
+ msgid "%<default%> label not within a switch statement"
+ msgstr "етикета %<default%> није у оквиру наредбе прекидача"
+
+-#: c-typeck.c:7364
++#: c-typeck.c:7375
+ #, gcc-internal-format
+ msgid "%Hsuggest explicit braces to avoid ambiguous %<else%>"
+ msgstr "%Hпредложи екÑплицитне витичаÑте заграде ради избегавања двоÑмиÑленог %<else%>"
+
+-#: c-typeck.c:7475 cp/cp-gimplify.c:97 cp/parser.c:7409
++#: c-typeck.c:7486 cp/cp-gimplify.c:97 cp/parser.c:7415
+ #, gcc-internal-format
+ msgid "break statement not within loop or switch"
+ msgstr "наредба иÑкакања није у оквиру петље или прекидача"
+
+-#: c-typeck.c:7477 cp/parser.c:7430
++#: c-typeck.c:7488 cp/parser.c:7436
+ #, gcc-internal-format
+ msgid "continue statement not within a loop"
+ msgstr "наредба наÑтављања није у оквиру петље"
+
+-#: c-typeck.c:7482 cp/parser.c:7420
++#: c-typeck.c:7493 cp/parser.c:7426
+ #, gcc-internal-format
+ msgid "break statement used with OpenMP for loop"
+ msgstr "наредба иÑкакања употребљена Ñа ОпенМПом за петљу"
+
+-#: c-typeck.c:7505
++#: c-typeck.c:7516
+ #, gcc-internal-format
+ msgid "%Hstatement with no effect"
+ msgstr "%Hнаредба без ефекта"
+
+-#: c-typeck.c:7527
++#: c-typeck.c:7538
+ #, gcc-internal-format
+ msgid "expression statement has incomplete type"
+ msgstr "наредба израза има непотпун тип"
+
+-#: c-typeck.c:8082 cp/typeck.c:3259
++#: c-typeck.c:8093 cp/typeck.c:3301
+ #, gcc-internal-format
+ msgid "right shift count is negative"
+ msgstr "негативан деÑни помак"
+
+-#: c-typeck.c:8089 cp/typeck.c:3265
++#: c-typeck.c:8100 cp/typeck.c:3305
+ #, gcc-internal-format
+ msgid "right shift count >= width of type"
+ msgstr "деÑни помак >= од ширине типа"
+
+-#: c-typeck.c:8111 cp/typeck.c:3284
++#: c-typeck.c:8122 cp/typeck.c:3324
+ #, gcc-internal-format
+ msgid "left shift count is negative"
+ msgstr "негативан леви помак"
+
+-#: c-typeck.c:8114 cp/typeck.c:3286
++#: c-typeck.c:8125 cp/typeck.c:3326
+ #, gcc-internal-format
+ msgid "left shift count >= width of type"
+ msgstr "леви помак >= од ширине типа"
+
+-#: c-typeck.c:8132 cp/typeck.c:3324
++#: c-typeck.c:8143 cp/typeck.c:3364
+ #, gcc-internal-format
+ msgid "comparing floating point with == or != is unsafe"
+ msgstr "поређење реалних помоћу == или != није безбедно"
+
+-#: c-typeck.c:8156 c-typeck.c:8163
++#: c-typeck.c:8167 c-typeck.c:8174
+ #, gcc-internal-format
+ msgid "ISO C forbids comparison of %<void *%> with function pointer"
+ msgstr "ИСО Ц забрањује поређење %<void *%> и функцијÑког показивача"
+
+-#: c-typeck.c:8169 c-typeck.c:8227
++#: c-typeck.c:8180 c-typeck.c:8238
+ #, gcc-internal-format
+ msgid "comparison of distinct pointer types lacks a cast"
+ msgstr "поређењу различитих показивачких типова недоÑтаје претапање"
+
+-#: c-typeck.c:8178 c-typeck.c:8186 cp/typeck.c:3344 cp/typeck.c:3353
++#: c-typeck.c:8189 c-typeck.c:8197 cp/typeck.c:3384 cp/typeck.c:3393
+ #, gcc-internal-format
+ msgid "the address of %qD will never be NULL"
+ msgstr "адреÑа за %qD никако не може бити NULL"
+
+-#: c-typeck.c:8193 c-typeck.c:8198 c-typeck.c:8245 c-typeck.c:8250
++#: c-typeck.c:8204 c-typeck.c:8209 c-typeck.c:8256 c-typeck.c:8261
+ #, gcc-internal-format
+ msgid "comparison between pointer and integer"
+ msgstr "поређење између показивача и целобројног"
+
+-#: c-typeck.c:8219
++#: c-typeck.c:8230
+ #, gcc-internal-format
+ msgid "comparison of complete and incomplete pointers"
+ msgstr "поређење потпуног и непотпуног показивача"
+
+-#: c-typeck.c:8222
++#: c-typeck.c:8233
+ #, gcc-internal-format
+ msgid "ISO C forbids ordered comparisons of pointers to functions"
+ msgstr "ИСО Ц забрањује поређена уређеноÑти показивача на функције"
+
+-#: c-typeck.c:8234 c-typeck.c:8240
++#: c-typeck.c:8245 c-typeck.c:8251
+ #, gcc-internal-format
+ msgid "ordered comparison of pointer with integer zero"
+ msgstr "поређење уређеноÑти показивача Ñа целобројном нулом"
+
+-#: c-typeck.c:8500
++#: c-typeck.c:8511
+ #, gcc-internal-format
+ msgid "comparison between signed and unsigned"
+ msgstr "поређење означеног и неозначеног"
+
+-#: c-typeck.c:8546 cp/typeck.c:3830
++#: c-typeck.c:8557 cp/typeck.c:3838
+ #, gcc-internal-format
+ msgid "comparison of promoted ~unsigned with constant"
+ msgstr "поређење унапређеног ~неозначеног Ñа конÑтантом"
+
+-#: c-typeck.c:8554 cp/typeck.c:3838
++#: c-typeck.c:8565 cp/typeck.c:3846
+ #, gcc-internal-format
+ msgid "comparison of promoted ~unsigned with unsigned"
+ msgstr "поређење унапређеног ~неозначеног Ñа неозначеним"
+
+-#: c-typeck.c:8612
++#: c-typeck.c:8623
+ #, gcc-internal-format
+ msgid "used array that cannot be converted to pointer where scalar is required"
+ msgstr "употребљен низ који Ñе не може претворити у показивач где Ñе захтева Ñкалар"
+
+-#: c-typeck.c:8616
++#: c-typeck.c:8627
+ #, gcc-internal-format
+ msgid "used struct type value where scalar is required"
+ msgstr "употребљена вредноÑÑ‚ Ñтруктурног типа где Ñе захтева Ñкалар"
+
+-#: c-typeck.c:8620
++#: c-typeck.c:8631
+ #, gcc-internal-format
+ msgid "used union type value where scalar is required"
+ msgstr "употребљена вредноÑÑ‚ унијÑког типа где Ñе захтева Ñкалар"
+
+-#: c-typeck.c:8725 cp/semantics.c:3523
++#: c-typeck.c:8736 cp/semantics.c:3555
+ #, gcc-internal-format
+ msgid "%qE has invalid type for %<reduction%>"
+ msgstr "%qE има неиÑправан тип за %<reduction%>"
+
+-#: c-typeck.c:8759 cp/semantics.c:3536
++#: c-typeck.c:8770 cp/semantics.c:3568
+ #, gcc-internal-format
+ msgid "%qE has invalid type for %<reduction(%s)%>"
+ msgstr "%qE има неиÑправан тип за %<reduction(%s)%>"
+
+-#: c-typeck.c:8775 cp/semantics.c:3546
++#: c-typeck.c:8786 cp/semantics.c:3578
+ #, gcc-internal-format
+ msgid "%qE must be %<threadprivate%> for %<copyin%>"
+ msgstr "%qE мора бити нитно-локално за %<copyin%>"
+
+-#: c-typeck.c:8784 cp/semantics.c:3351
++#: c-typeck.c:8795 cp/semantics.c:3383
+ #, gcc-internal-format
+ msgid "%qE is not a variable in clause %qs"
+ msgstr "%qE није променљива у одредби %qs"
+
+-#: c-typeck.c:8791 c-typeck.c:8811 c-typeck.c:8831 cp/semantics.c:3377
+-#: cp/semantics.c:3396
++#: c-typeck.c:8802 c-typeck.c:8822 c-typeck.c:8842 cp/semantics.c:3409
++#: cp/semantics.c:3428
+ #, gcc-internal-format
+ msgid "%qE appears more than once in data clauses"
+ msgstr "%qE Ñе појављује више од једном у одредбама података"
+
+-#: c-typeck.c:8805 cp/semantics.c:3371
++#: c-typeck.c:8816 cp/semantics.c:3403
+ #, gcc-internal-format
+ msgid "%qE is not a variable in clause %<firstprivate%>"
+ msgstr "%qE није променљива у одредби %<firstprivate%>"
+
+-#: c-typeck.c:8825 cp/semantics.c:3390
++#: c-typeck.c:8836 cp/semantics.c:3422
+ #, gcc-internal-format
+ msgid "%qE is not a variable in clause %<lastprivate%>"
+ msgstr "%qE није променљива у одредби %<lastprivate%>"
+
+-#: c-typeck.c:8883 cp/semantics.c:3587
++#: c-typeck.c:8894 cp/semantics.c:3619
+ #, gcc-internal-format
+ msgid "%qE is predetermined %qs for %qs"
+ msgstr "%qE је предодређено као %qs за %qs"
+@@ -21380,12 +21365,12 @@
+ msgid "function call has aggregate value"
+ msgstr "позив функције има ÑкупинÑку вредноÑÑ‚"
+
+-#: cfgexpand.c:1884
++#: cfgexpand.c:1887
+ #, gcc-internal-format
+ msgid "not protecting local variables: variable length buffer"
+ msgstr "не штитим локалне променљиве: бафер променљиве величине"
+
+-#: cfgexpand.c:1887
++#: cfgexpand.c:1890
+ #, gcc-internal-format
+ msgid "not protecting function: no buffer at least %d bytes long"
+ msgstr "не штитим функцију: нема бафера великог бар %d бајтова"
+@@ -21440,7 +21425,7 @@
+ msgid "verify_flow_info: Basic block %d succ edge is corrupted"
+ msgstr "verify_flow_info: ИÑкварена наÑледне ивица оÑновног блока %d"
+
+-#: cfghooks.c:184 cfgrtl.c:1840
++#: cfghooks.c:184 cfgrtl.c:1838
+ #, gcc-internal-format
+ msgid "wrong amount of branch edges after unconditional jump %i"
+ msgstr "погрешан број гранÑких ивица поÑле безуÑловног Ñкока %i"
+@@ -21650,252 +21635,252 @@
+ msgid "%d exits recorded for loop %d (having %d exits)"
+ msgstr "једноÑтруки излаз није забележен за петљу %d"
+
+-#: cfgrtl.c:1734
++#: cfgrtl.c:1732
+ #, gcc-internal-format
+ msgid "BB_RTL flag not set for block %d"
+ msgstr "заÑтавица BB_RTL није поÑтављена за блок %d"
+
+-#: cfgrtl.c:1741
++#: cfgrtl.c:1739
+ #, gcc-internal-format
+ msgid "insn %d basic block pointer is %d, should be %d"
+ msgstr ""
+
+-#: cfgrtl.c:1752
++#: cfgrtl.c:1750
+ #, gcc-internal-format
+ msgid "insn %d in header of bb %d has non-NULL basic block"
+ msgstr ""
+
+-#: cfgrtl.c:1760
++#: cfgrtl.c:1758
+ #, gcc-internal-format
+ msgid "insn %d in footer of bb %d has non-NULL basic block"
+ msgstr ""
+
+-#: cfgrtl.c:1782
++#: cfgrtl.c:1780
+ #, gcc-internal-format
+ msgid "verify_flow_info: REG_BR_PROB does not match cfg %wi %i"
+ msgstr "verify_flow_info: REG_BR_PROB Ñе не поклапа Ñа конф. %wi %i"
+
+-#: cfgrtl.c:1797
++#: cfgrtl.c:1795
+ #, gcc-internal-format
+ msgid "fallthru edge crosses section boundary (bb %i)"
+ msgstr "пропадна ивица преÑеца границе одељка (об. %i)"
+
+-#: cfgrtl.c:1822
++#: cfgrtl.c:1820
+ #, gcc-internal-format
+ msgid "missing REG_EH_REGION note in the end of bb %i"
+ msgstr "недоÑтаје REG_EH_REGION белешка на крају об. %i"
+
+-#: cfgrtl.c:1830
++#: cfgrtl.c:1828
+ #, gcc-internal-format
+ msgid "too many outgoing branch edges from bb %i"
+ msgstr "превише излазних гранÑких ивица из об. %i"
+
+-#: cfgrtl.c:1835
++#: cfgrtl.c:1833
+ #, gcc-internal-format
+ msgid "fallthru edge after unconditional jump %i"
+ msgstr "пропадна ивица поÑле безуÑловног Ñкока %i"
+
+-#: cfgrtl.c:1846
++#: cfgrtl.c:1844
+ #, gcc-internal-format
+ msgid "wrong amount of branch edges after conditional jump %i"
+ msgstr "погрешна количина гранÑких ивица поÑле безуÑловног Ñкока %i"
+
+-#: cfgrtl.c:1852
++#: cfgrtl.c:1850
+ #, gcc-internal-format
+ msgid "call edges for non-call insn in bb %i"
+ msgstr "позивне ивице за не-позивну ију у об. %i"
+
+-#: cfgrtl.c:1861
++#: cfgrtl.c:1859
+ #, gcc-internal-format
+ msgid "abnormal edges for no purpose in bb %i"
+ msgstr "абнормалне ивице без Ñврхе у об. %i"
+
+-#: cfgrtl.c:1873
++#: cfgrtl.c:1871
+ #, gcc-internal-format
+ msgid "insn %d inside basic block %d but block_for_insn is NULL"
+ msgstr "ија %d унутар оÑновног блока %d али block_for_insn јеÑте NULL"
+
+-#: cfgrtl.c:1877
++#: cfgrtl.c:1875
+ #, gcc-internal-format
+ msgid "insn %d inside basic block %d but block_for_insn is %i"
+ msgstr "ија %d унутар оÑновног блока %d али block_for_insn јеÑте %i"
+
+-#: cfgrtl.c:1891 cfgrtl.c:1901
++#: cfgrtl.c:1889 cfgrtl.c:1899
+ #, gcc-internal-format
+ msgid "NOTE_INSN_BASIC_BLOCK is missing for block %d"
+ msgstr "NOTE_INSN_BASIC_BLOCK недоÑтаје за блок %d"
+
+-#: cfgrtl.c:1914
++#: cfgrtl.c:1912
+ #, gcc-internal-format
+ msgid "NOTE_INSN_BASIC_BLOCK %d in middle of basic block %d"
+ msgstr "NOTE_INSN_BASIC_BLOCK %d уÑред оÑновног блока %d"
+
+-#: cfgrtl.c:1924
++#: cfgrtl.c:1922
+ #, gcc-internal-format
+ msgid "in basic block %d:"
+ msgstr "у оÑновном блоку %d:"
+
+-#: cfgrtl.c:1977 cfgrtl.c:2067
++#: cfgrtl.c:1975 cfgrtl.c:2065
+ #, fuzzy, gcc-internal-format
+ msgid "insn %d outside of basic blocks has non-NULL bb field"
+ msgstr "ија изван оÑновног блока"
+
+-#: cfgrtl.c:1985
++#: cfgrtl.c:1983
+ #, gcc-internal-format
+ msgid "end insn %d for block %d not found in the insn stream"
+ msgstr "крајња ија %d за блок %d није нађена у току ија"
+
+-#: cfgrtl.c:1998
++#: cfgrtl.c:1996
+ #, gcc-internal-format
+ msgid "insn %d is in multiple basic blocks (%d and %d)"
+ msgstr "ија %d је у више оÑновних блокова (%d и %d)"
+
+-#: cfgrtl.c:2010
++#: cfgrtl.c:2008
+ #, gcc-internal-format
+ msgid "head insn %d for block %d not found in the insn stream"
+ msgstr "заглавна ија %d за блок %d није нађена у току ија"
+
+-#: cfgrtl.c:2030
++#: cfgrtl.c:2028
+ #, gcc-internal-format
+ msgid "missing barrier after block %i"
+ msgstr "недоÑтаје баријера поÑле блока %i"
+
+-#: cfgrtl.c:2043
++#: cfgrtl.c:2041
+ #, gcc-internal-format
+ msgid "verify_flow_info: Incorrect blocks for fallthru %i->%i"
+ msgstr "verify_flow_info: нетачни блокови за пропад %i->%i"
+
+-#: cfgrtl.c:2052
++#: cfgrtl.c:2050
+ #, gcc-internal-format
+ msgid "verify_flow_info: Incorrect fallthru %i->%i"
+ msgstr "verify_flow_info: нетачан пропад %i->%i"
+
+-#: cfgrtl.c:2085
++#: cfgrtl.c:2083
+ #, gcc-internal-format
+ msgid "basic blocks not laid down consecutively"
+ msgstr "оÑновни блокови ниÑу положени надовезујуће"
+
+-#: cfgrtl.c:2124
++#: cfgrtl.c:2122
+ #, gcc-internal-format
+ msgid "number of bb notes in insn chain (%d) != n_basic_blocks (%d)"
+ msgstr "број об. белешки у ланцу ија (%d) != n_basic_blocks (%d)"
+
+-#: cgraph.c:794
++#: cgraph.c:840
+ #, gcc-internal-format
+ msgid "%D renamed after being referenced in assembly"
+ msgstr "%D преименован пошто је поменут у аÑемблеру"
+
+-#: cgraphunit.c:670
++#: cgraphunit.c:675
+ #, gcc-internal-format
+ msgid "aux field set for edge %s->%s"
+ msgstr "помоћно поље поÑтављено за ивицу %s->%s"
+
+-#: cgraphunit.c:676
++#: cgraphunit.c:681
+ #, gcc-internal-format
+ msgid "Execution count is negative"
+ msgstr "Број извршавања је негативан"
+
+-#: cgraphunit.c:683
++#: cgraphunit.c:688
+ #, gcc-internal-format
+ msgid "caller edge count is negative"
+ msgstr "број ивица позивача је негативан"
+
+-#: cgraphunit.c:688
++#: cgraphunit.c:693
+ #, fuzzy, gcc-internal-format
+ msgid "caller edge frequency is negative"
+ msgstr "број ивица позивача је негативан"
+
+-#: cgraphunit.c:693
++#: cgraphunit.c:698
+ #, fuzzy, gcc-internal-format
+ msgid "caller edge frequency is too large"
+ msgstr "број ивица позивача је негативан"
+
+-#: cgraphunit.c:702
++#: cgraphunit.c:707
+ #, gcc-internal-format
+ msgid "inlined_to pointer is wrong"
+ msgstr "показивач inlined_to је погрешан"
+
+-#: cgraphunit.c:707
++#: cgraphunit.c:712
+ #, gcc-internal-format
+ msgid "multiple inline callers"
+ msgstr "вишеÑтруки уткани позивачи"
+
+-#: cgraphunit.c:714
++#: cgraphunit.c:719
+ #, gcc-internal-format
+ msgid "inlined_to pointer set for noninline callers"
+ msgstr "показивач inlined_to поÑтављен за неуткане позиваче"
+
+-#: cgraphunit.c:720
++#: cgraphunit.c:725
+ #, gcc-internal-format
+ msgid "inlined_to pointer is set but no predecessors found"
+ msgstr "показивач inlined_to поÑтављен али нема претходника"
+
+-#: cgraphunit.c:725
++#: cgraphunit.c:730
+ #, gcc-internal-format
+ msgid "inlined_to pointer refers to itself"
+ msgstr "показивач inlined_to упућује на Ñамог Ñебе"
+
+-#: cgraphunit.c:735
++#: cgraphunit.c:740
+ #, gcc-internal-format
+ msgid "node not found in cgraph_hash"
+ msgstr "чвор није нађен у cgraph_hash"
+
+-#: cgraphunit.c:763
++#: cgraphunit.c:768
+ #, gcc-internal-format
+ msgid "shared call_stmt:"
+ msgstr "дељени call_stmt:"
+
+-#: cgraphunit.c:770
++#: cgraphunit.c:775
+ #, gcc-internal-format
+ msgid "edge points to wrong declaration:"
+ msgstr "ивица показује на погрешну декларацију:"
+
+-#: cgraphunit.c:779
++#: cgraphunit.c:784
+ #, gcc-internal-format
+ msgid "missing callgraph edge for call stmt:"
+ msgstr "недоÑтаје графпоз ивица за call_stmt:"
+
+-#: cgraphunit.c:795
++#: cgraphunit.c:800
+ #, gcc-internal-format
+ msgid "edge %s->%s has no corresponding call_stmt"
+ msgstr "ивица %s->%s нема одговарајући call_stmt"
+
+-#: cgraphunit.c:807
++#: cgraphunit.c:812
+ #, gcc-internal-format
+ msgid "verify_cgraph_node failed"
+ msgstr "verify_cgraph_node није уÑпело"
+
+-#: cgraphunit.c:909 cgraphunit.c:932
++#: cgraphunit.c:915 cgraphunit.c:938
+ #, gcc-internal-format
+ msgid "%J%<externally_visible%> attribute have effect only on public objects"
+ msgstr "%Jатрибут %<externally_visible%> има утицаја Ñамо на јавне објекте"
+
+-#: cgraphunit.c:1122
++#: cgraphunit.c:1128
+ #, gcc-internal-format
+ msgid "failed to reclaim unneeded function"
+ msgstr "ниÑам уÑпео да повратим непотребну функцију"
+
+-#: cgraphunit.c:1454
++#: cgraphunit.c:1460
+ #, gcc-internal-format
+ msgid "nodes with no released memory found"
+ msgstr "нађени чворови без оÑлобођене меморије"
+
+-#: collect2.c:1189
++#: collect2.c:1203
+ #, gcc-internal-format
+ msgid "unknown demangling style '%s'"
+ msgstr "непознат Ñтил раÑпетљавања „%s“"
+
+-#: collect2.c:1512
++#: collect2.c:1526
+ #, gcc-internal-format
+ msgid "%s terminated with signal %d [%s]%s"
+ msgstr "%s окончан Ñигналом %d [%s]%s"
+
+-#: collect2.c:1530
++#: collect2.c:1544
+ #, gcc-internal-format
+ msgid "%s returned %d exit status"
+ msgstr "%s врати излазни ÑÑ‚Ð°Ñ‚ÑƒÑ %d"
+
+-#: collect2.c:2242
++#: collect2.c:2256
+ #, gcc-internal-format
+ msgid "cannot find 'ldd'"
+ msgstr "не могу да нађем „ldd“"
+@@ -22050,27 +22035,27 @@
+ msgid "dominator of %d should be %d, not %d"
+ msgstr "доминатор %d треба да је %d, не %d"
+
+-#: dwarf2out.c:3634
++#: dwarf2out.c:3686
+ #, gcc-internal-format
+ msgid "DW_LOC_OP %s not implemented"
+ msgstr "DW_LOC_OP %s није имплементирано"
+
+-#: emit-rtl.c:2326
++#: emit-rtl.c:2262
+ #, gcc-internal-format
+ msgid "invalid rtl sharing found in the insn"
+ msgstr "неиÑправно rtl дељење нађено у ији"
+
+-#: emit-rtl.c:2328
++#: emit-rtl.c:2264
+ #, gcc-internal-format
+ msgid "shared rtx"
+ msgstr "дељено rtx"
+
+-#: emit-rtl.c:2330
++#: emit-rtl.c:2266
+ #, gcc-internal-format
+ msgid "internal consistency failure"
+ msgstr "неуÑпех уÑлед унутрашње неуÑаглашеноÑти"
+
+-#: emit-rtl.c:3417
++#: emit-rtl.c:3365
+ #, gcc-internal-format
+ msgid "ICE: emit_insn used where emit_jump_insn needed:\n"
+ msgstr "ИЦЕ: emit_insn употребљено где је потребно emit_jump_insn:\n"
+@@ -22130,17 +22115,17 @@
+ msgid "verify_eh_tree failed"
+ msgstr "verify_eh_tree није уÑпело"
+
+-#: explow.c:1281
++#: explow.c:1258
+ #, gcc-internal-format
+ msgid "stack limits not supported on this target"
+ msgstr "ограничења Ñтека ниÑу подржана на овом циљу"
+
+-#: expr.c:8031
++#: expr.c:8030
+ #, fuzzy
+ msgid "%Kcall to %qs declared with attribute error: %s"
+ msgstr "функција %q+D поново деклариÑана Ñа атрибутом неуткане"
+
+-#: expr.c:8037
++#: expr.c:8036
+ #, fuzzy
+ msgid "%Kcall to %qs declared with attribute warning: %s"
+ msgstr "функција %q+D поново деклариÑана Ñа атрибутом неуткане"
+@@ -22155,7 +22140,7 @@
+ msgid "large fixed-point constant implicitly truncated to fixed-point type"
+ msgstr "велики целобројни имплицитно подÑечен на неозначени тип"
+
+-#: fold-const.c:992 tree-ssa-loop-niter.c:1827 tree-vrp.c:5060
++#: fold-const.c:992 tree-ssa-loop-niter.c:1827 tree-vrp.c:5076
+ #, gcc-internal-format
+ msgid "%H%s"
+ msgstr "%H%s"
+@@ -22165,77 +22150,77 @@
+ msgid "assuming signed overflow does not occur when negating a division"
+ msgstr "претпоÑтављам да Ñе означено преливање не дешава при негирању дељења"
+
+-#: fold-const.c:3989 fold-const.c:4000
++#: fold-const.c:4003 fold-const.c:4014
+ #, gcc-internal-format
+ msgid "comparison is always %d due to width of bit-field"
+ msgstr "поређење је увек %d уÑлед ширине битÑког поља"
+
+-#: fold-const.c:5317
++#: fold-const.c:5331
+ #, gcc-internal-format
+ msgid "assuming signed overflow does not occur when simplifying range test"
+ msgstr "претпоÑтављам да Ñе означено преливање не дешава при упрошћавању пробе опÑега"
+
+-#: fold-const.c:5691 fold-const.c:5706
++#: fold-const.c:5705 fold-const.c:5720
+ #, gcc-internal-format
+ msgid "comparison is always %d"
+ msgstr "поређење је увек %d"
+
+-#: fold-const.c:5835
++#: fold-const.c:5849
+ #, gcc-internal-format
+ msgid "%<or%> of unmatched not-equal tests is always 1"
+ msgstr "%<or%> непоклопљених теÑтова неједнакоÑти је увек 1"
+
+-#: fold-const.c:5840
++#: fold-const.c:5854
+ #, gcc-internal-format
+ msgid "%<and%> of mutually exclusive equal-tests is always 0"
+ msgstr "%<and%> међуÑобно иÑкључивих теÑтова једнакоÑти је увек 0"
+
+-#: fold-const.c:8617
++#: fold-const.c:8641
+ #, fuzzy, gcc-internal-format
+ msgid "assuming signed overflow does not occur when reducing constant in comparison"
+ msgstr "претпоÑтављам да Ñе означено преливање не дешава при негирању дељења"
+
+-#: fold-const.c:8871
++#: fold-const.c:8895
+ #, fuzzy, gcc-internal-format
+ msgid "assuming signed overflow does not occur when combining constants around a comparison"
+ msgstr "претпоÑтављам да Ñе означено преливање не дешава при негирању дељења"
+
+-#: fold-const.c:13236
++#: fold-const.c:13433
+ #, gcc-internal-format
+ msgid "fold check: original tree changed by fold"
+ msgstr "провера Ñажимања: првобитно дрво измењено Ñажимањем"
+
+-#: function.c:377
++#: function.c:380
+ #, gcc-internal-format
+ msgid "%Jtotal size of local objects too large"
+ msgstr "%Jукупна величина локалних објеката је превелика"
+
+-#: function.c:837 varasm.c:2095
++#: function.c:840 varasm.c:2095
+ #, gcc-internal-format
+ msgid "size of variable %q+D is too large"
+ msgstr "величина променљиве %q+D је превелика"
+
+-#: function.c:1554 gimplify.c:4250
++#: function.c:1571 gimplify.c:4405
+ #, gcc-internal-format
+ msgid "impossible constraint in %<asm%>"
+ msgstr "немогуће ограничење у %<asm%>"
+
+-#: function.c:3538
++#: function.c:3557
+ #, gcc-internal-format
+ msgid "variable %q+D might be clobbered by %<longjmp%> or %<vfork%>"
+ msgstr "променљива %q+D може бити продрмана Ñа %<longjmp%> или %<vfork%>"
+
+-#: function.c:3559
++#: function.c:3578
+ #, gcc-internal-format
+ msgid "argument %q+D might be clobbered by %<longjmp%> or %<vfork%>"
+ msgstr "аргумент %q+D може бити продрман Ñа %<longjmp%> или %<vfork%>"
+
+-#: function.c:4004
++#: function.c:4027
+ #, gcc-internal-format
+ msgid "function returns an aggregate"
+ msgstr "функција враћа ÑкупинÑку вредноÑÑ‚"
+
+-#: function.c:4401
++#: function.c:4424
+ #, gcc-internal-format
+ msgid "unused parameter %q+D"
+ msgstr "неупотребљен параметар %q+D"
+@@ -22260,12 +22245,12 @@
+ msgid "extraneous argument to '%s' option"
+ msgstr "Ñувишан аргумент за опцију „%s“"
+
+-#: gcc.c:3987
++#: gcc.c:3981
+ #, gcc-internal-format
+ msgid "warning: -pipe ignored because -save-temps specified"
+ msgstr "упозорење: -pipe Ñе игнорише јер је задато -save-temps"
+
+-#: gcc.c:4276
++#: gcc.c:4270
+ #, gcc-internal-format
+ msgid "warning: '-x %s' after last input file has no effect"
+ msgstr "упозорење: „-x %s“ поÑле поÑледње улазне датотеке нема ефекта"
+@@ -22273,62 +22258,62 @@
+ #. Catch the case where a spec string contains something like
+ #. '%{foo:%*}'. i.e. there is no * in the pattern on the left
+ #. hand side of the :.
+-#: gcc.c:5314
++#: gcc.c:5308
+ #, gcc-internal-format
+ msgid "spec failure: '%%*' has not been initialized by pattern match"
+ msgstr "крах навода: „%%*“ није уÑпоÑтављено шематÑким поклапањем"
+
+-#: gcc.c:5323
++#: gcc.c:5317
+ #, gcc-internal-format
+ msgid "warning: use of obsolete %%[ operator in specs"
+ msgstr "упозорење: употреба заÑтарелог оператора %%[ у наводима"
+
+-#: gcc.c:5404
++#: gcc.c:5398
+ #, gcc-internal-format
+ msgid "spec failure: unrecognized spec option '%c'"
+ msgstr "крах навода: непрепозната опција навода „%c“"
+
+-#: gcc.c:6305
++#: gcc.c:6304
+ #, gcc-internal-format
+ msgid "spec failure: more than one arg to SYSROOT_SUFFIX_SPEC"
+ msgstr "крах навода: више од једног аргумента за SYSROOT_SUFFIX_SPEC"
+
+-#: gcc.c:6328
++#: gcc.c:6327
+ #, gcc-internal-format
+ msgid "spec failure: more than one arg to SYSROOT_HEADERS_SUFFIX_SPEC"
+ msgstr "крах навода: више од једног аргумента за SYSROOT_HEADERS_SUFFIX_SPEC"
+
+-#: gcc.c:6415
++#: gcc.c:6414
+ #, gcc-internal-format
+ msgid "unrecognized option '-%s'"
+ msgstr "непрепозната опција „-%s“"
+
+-#: gcc.c:6615 gcc.c:6678
++#: gcc.c:6614 gcc.c:6677
+ #, gcc-internal-format
+ msgid "%s: %s compiler not installed on this system"
+ msgstr "%s: компилатор за %s није инÑталиран на овом ÑиÑтему"
+
+-#: gcc.c:6778
++#: gcc.c:6777
+ #, gcc-internal-format
+ msgid "%s: linker input file unused because linking not done"
+ msgstr "%s: улазна датотека повезивача Ñе не кориÑти је Ñе повезивање не извршава"
+
+-#: gcc.c:6818
++#: gcc.c:6817
+ #, gcc-internal-format
+ msgid "language %s not recognized"
+ msgstr "језик %s није препознат"
+
+-#: gcc.c:6889
++#: gcc.c:6888
+ #, gcc-internal-format
+ msgid "%s: %s"
+ msgstr "%s: %s"
+
+-#: gcse.c:6660
++#: gcse.c:6644
+ #, gcc-internal-format
+ msgid "%s: %d basic blocks and %d edges/basic block"
+ msgstr "%s: %d оÑновних блокова и %d ивица по оÑновном блоку"
+
+-#: gcse.c:6673
++#: gcse.c:6657
+ #, gcc-internal-format
+ msgid "%s: %d basic blocks and %d registers"
+ msgstr "%s: %d оÑновних блокова и %d региÑтара"
+@@ -22381,52 +22366,52 @@
+ msgid "can't write PCH fle: %m"
+ msgstr "не могу да запишем ПЦХ датотеку: %m"
+
+-#: gimplify.c:4139
++#: gimplify.c:4294
+ #, gcc-internal-format
+ msgid "invalid lvalue in asm output %d"
+ msgstr "неиÑправна л-вредноÑÑ‚ у излазу аÑемблера %d"
+
+-#: gimplify.c:4251
++#: gimplify.c:4406
+ #, gcc-internal-format
+ msgid "non-memory input %d must stay in memory"
+ msgstr "немеморијÑки улаз %d мора оÑтати у меморији"
+
+-#: gimplify.c:4264
++#: gimplify.c:4419
+ #, gcc-internal-format
+ msgid "memory input %d is not directly addressable"
+ msgstr "меморијÑки улаз %d не може Ñе непоÑредно адреÑирати"
+
+-#: gimplify.c:4743
++#: gimplify.c:4898
+ #, gcc-internal-format
+ msgid "%qs not specified in enclosing parallel"
+ msgstr "%qs није наведено у обухватајућем паралелном"
+
+-#: gimplify.c:4745
++#: gimplify.c:4900
+ #, gcc-internal-format
+ msgid "%Henclosing parallel"
+ msgstr "%Hобухватајуће паралелно"
+
+-#: gimplify.c:4799
++#: gimplify.c:4954
+ #, gcc-internal-format
+ msgid "iteration variable %qs should be private"
+ msgstr "требало би да променљива итерације %qs буде приватна"
+
+-#: gimplify.c:4813
++#: gimplify.c:4968
+ #, gcc-internal-format
+ msgid "iteration variable %qs should not be firstprivate"
+ msgstr "не би требало да променљива итерације %qs буде firstprivate"
+
+-#: gimplify.c:4816
++#: gimplify.c:4971
+ #, gcc-internal-format
+ msgid "iteration variable %qs should not be reduction"
+ msgstr "не би требало да променљива итерације %qs буде Ñвођена"
+
+-#: gimplify.c:4940
++#: gimplify.c:5095
+ #, gcc-internal-format
+ msgid "%s variable %qs is private in outer context"
+ msgstr "%s променљива %qs је приватна у Ñпољашњем контекÑту"
+
+-#: gimplify.c:6108
++#: gimplify.c:6281
+ #, gcc-internal-format
+ msgid "gimplification failed"
+ msgstr "гимплификација није уÑпела"
+@@ -22436,7 +22421,7 @@
+ msgid "%s cannot be used in asm here"
+ msgstr "%s Ñе не може кориÑтити овде у аÑемблеру"
+
+-#: graph.c:401 java/jcf-parse.c:1757 java/jcf-parse.c:1897 objc/objc-act.c:500
++#: graph.c:401 java/jcf-parse.c:1759 java/jcf-parse.c:1899 objc/objc-act.c:500
+ #, gcc-internal-format
+ msgid "can't open %s: %m"
+ msgstr "не могу да отворим %s: %m"
+@@ -22446,158 +22431,163 @@
+ msgid "fix_sched_param: unknown param: %s"
+ msgstr "fix_sched_param: непознат параметар %s"
+
+-#: omp-low.c:1288
++#: omp-low.c:1289
+ #, gcc-internal-format
+ msgid "work-sharing region may not be closely nested inside of work-sharing, critical, ordered or master region"
+ msgstr "подељена облаÑÑ‚ не може бити блиÑко угњеждена унутар подељене, критичне, уређене или главне облаÑти"
+
+-#: omp-low.c:1304
++#: omp-low.c:1305
+ #, gcc-internal-format
+ msgid "master region may not be closely nested inside of work-sharing region"
+ msgstr "главна облаÑÑ‚ не може бити блиÑко угњеждена унутар дељене"
+
+-#: omp-low.c:1318
++#: omp-low.c:1319
+ #, gcc-internal-format
+ msgid "ordered region may not be closely nested inside of critical region"
+ msgstr "уређена облаÑÑ‚ не може бити блиÑко угњеждена унутар критичне"
+
+-#: omp-low.c:1324
++#: omp-low.c:1325
+ #, gcc-internal-format
+ msgid "ordered region must be closely nested inside a loop region with an ordered clause"
+ msgstr "уређена облаÑÑ‚ мора бити блиÑко угњеждена унутар петље Ñа одредбом уређеноÑти"
+
+-#: omp-low.c:1338
++#: omp-low.c:1339
+ #, gcc-internal-format
+ msgid "critical region may not be nested inside a critical region with the same name"
+ msgstr "критична облаÑÑ‚ не може бити угњеждена унутар иÑтоимене критичне облаÑти"
+
+-#: omp-low.c:5050 cp/decl.c:2660 cp/parser.c:7417 cp/parser.c:7437
++#: omp-low.c:5116 cp/decl.c:2667 cp/parser.c:7423 cp/parser.c:7443
+ #, gcc-internal-format
+ msgid "invalid exit from OpenMP structured block"
+ msgstr "неиÑправан излаз из Ñтруктуираног блока ОпенМПа"
+
+-#: omp-low.c:5052
++#: omp-low.c:5118
+ #, gcc-internal-format
+ msgid "invalid entry to OpenMP structured block"
+ msgstr "неиÑправан улаз у Ñтруктуирани блок ОпенМПа"
+
+-#: opts.c:173
++#: opts.c:165
+ #, fuzzy, gcc-internal-format
+ msgid "argument %qs to %<-femit-struct-debug-detailed%> not recognized"
+ msgstr "аргумент %qs за %<-Wnormalized%> није препознат"
+
+-#: opts.c:207
++#: opts.c:199
+ #, gcc-internal-format
+ msgid "argument %qs to %<-femit-struct-debug-detailed%> unknown"
+ msgstr ""
+
+-#: opts.c:213
++#: opts.c:205
+ #, gcc-internal-format
+ msgid "%<-femit-struct-debug-detailed=dir:...%> must allow at least as much as %<-femit-struct-debug-detailed=ind:...%>"
+ msgstr ""
+
+ #. Eventually this should become a hard error IMO.
+-#: opts.c:438
++#: opts.c:430
+ #, gcc-internal-format
+ msgid "command line option \"%s\" is valid for %s but not for %s"
+ msgstr "опција командне линије „%s“ иÑправна је за %s али не за %s"
+
+-#: opts.c:492
++#: opts.c:484
+ #, gcc-internal-format
+ msgid "command line option %qs is not supported by this configuration"
+ msgstr "опција командне линије %qs није подржана овом конфигурацијом"
+
+-#: opts.c:545
++#: opts.c:537
+ #, gcc-internal-format
+ msgid "missing argument to \"%s\""
+ msgstr "недоÑтаје аргумент за „%s“"
+
+-#: opts.c:555
++#: opts.c:547
+ #, gcc-internal-format
+ msgid "argument to \"%s\" should be a non-negative integer"
+ msgstr "аргумент за „%s“ треба да је ненегативан цео број"
+
+-#: opts.c:728
++#: opts.c:720
+ #, gcc-internal-format
+ msgid "unrecognized command line option \"%s\""
+ msgstr "непрепозната опција командне линије „%s“"
+
+-#: opts.c:947
++#: opts.c:939
+ #, gcc-internal-format
+ msgid "-Wuninitialized is not supported without -O"
+ msgstr "-Wuninitialized није подржано без -O"
+
+-#: opts.c:962
++#: opts.c:951
+ #, gcc-internal-format
++msgid "-funit-at-a-time is required for inlining of functions that are only called once"
++msgstr ""
++
++#: opts.c:964
++#, gcc-internal-format
+ msgid "-freorder-blocks-and-partition does not work with exceptions"
+ msgstr "-freorder-blocks-and-partition не ради Ñа изузецима"
+
+-#: opts.c:973
++#: opts.c:975
+ #, gcc-internal-format
+ msgid "-freorder-blocks-and-partition does not support unwind info"
+ msgstr "-freorder-blocks-and-partition не подржава податке одмотавања"
+
+-#: opts.c:987
++#: opts.c:989
+ #, gcc-internal-format
+ msgid "-freorder-blocks-and-partition does not work on this architecture"
+ msgstr "-freorder-blocks-and-partition не ради на овој архитектури"
+
+-#: opts.c:1263
++#: opts.c:1265
+ #, gcc-internal-format
+ msgid "unrecognized include_flags 0x%x passed to print_specific_help"
+ msgstr ""
+
+-#: opts.c:1593
++#: opts.c:1595
+ #, gcc-internal-format
+ msgid "structure alignment must be a small power of two, not %d"
+ msgstr "равнање Ñтруктуре мора бити мали Ñтепен двојке, не %d"
+
+-#: opts.c:1656
++#: opts.c:1658
+ #, gcc-internal-format
+ msgid "unrecognized visibility value \"%s\""
+ msgstr "непрепозната вредноÑÑ‚ видљивоÑти „%s“"
+
+-#: opts.c:1704
++#: opts.c:1706
+ #, gcc-internal-format
+ msgid "unrecognized register name \"%s\""
+ msgstr "непрепознато име региÑтра „%s“"
+
+-#: opts.c:1728
++#: opts.c:1730
+ #, gcc-internal-format
+ msgid "unknown tls-model \"%s\""
+ msgstr "непознат ТЛС модел „%s“"
+
+-#: opts.c:1803
++#: opts.c:1807
+ #, gcc-internal-format
+ msgid "%s: --param arguments should be of the form NAME=VALUE"
+ msgstr "%s: аргументи за --param треба да Ñу облика ИМЕ=ВРЕДÐОСТ"
+
+-#: opts.c:1808
++#: opts.c:1812
+ #, gcc-internal-format
+ msgid "invalid --param value %qs"
+ msgstr "неиÑправна вредноÑÑ‚ %qs за --param"
+
+-#: opts.c:1931
++#: opts.c:1934
+ #, gcc-internal-format
+ msgid "target system does not support debug output"
+ msgstr "циљни ÑиÑтем не подржава иÑправљачки излаз"
+
+-#: opts.c:1938
++#: opts.c:1941
+ #, gcc-internal-format
+ msgid "debug format \"%s\" conflicts with prior selection"
+ msgstr "иÑправљачки формат „%s“ коÑи Ñе Ñа претходним избором"
+
+-#: opts.c:1954
++#: opts.c:1957
+ #, gcc-internal-format
+ msgid "unrecognised debug output level \"%s\""
+ msgstr "непрепознат ниво иÑправљачког излаза „%s“"
+
+-#: opts.c:1956
++#: opts.c:1959
+ #, gcc-internal-format
+ msgid "debug output level %s is too high"
+ msgstr "ниво иÑправљачког излаза %s је превиÑок"
+
+-#: opts.c:2038
++#: opts.c:2041
+ #, gcc-internal-format
+ msgid "-Werror=%s: No option -%s"
+ msgstr "-Werror=%s: нема опције -%s"
+@@ -22673,9 +22663,9 @@
+ msgid "can't use '%s' as a %s register"
+ msgstr "„%s“ Ñе не може кориÑтити као %s региÑтар"
+
+-#: regclass.c:890 config/ia64/ia64.c:5138 config/ia64/ia64.c:5145
+-#: config/pa/pa.c:359 config/pa/pa.c:366 config/spu/spu.c:3886
+-#: config/spu/spu.c:3893
++#: regclass.c:890 config/ia64/ia64.c:5139 config/ia64/ia64.c:5146
++#: config/pa/pa.c:362 config/pa/pa.c:369 config/spu/spu.c:3875
++#: config/spu/spu.c:3882
+ #, gcc-internal-format
+ msgid "unknown register name: %s"
+ msgstr "непознато име региÑтра: %s"
+@@ -22715,22 +22705,22 @@
+ msgid "validate_value_data: [%u] Non-empty reg in chain (%s %u %i)"
+ msgstr "validate_value_data: [%u] Ðепразан рег. у ланцу (%s %u %i)"
+
+-#: reload.c:1252
++#: reload.c:1256
+ #, gcc-internal-format
+ msgid "cannot reload integer constant operand in %<asm%>"
+ msgstr "не може Ñе поново учитати целобројни конÑтантни операнд у %<asm%>"
+
+-#: reload.c:1266
++#: reload.c:1270
+ #, gcc-internal-format
+ msgid "impossible register constraint in %<asm%>"
+ msgstr "немогуће региÑтарÑко ограничење у %<asm%>"
+
+-#: reload.c:3564
++#: reload.c:3574
+ #, gcc-internal-format
+ msgid "%<&%> constraint used with no register class"
+ msgstr "%<&%> ограничење употребљено без региÑтарÑке клаÑе"
+
+-#: reload.c:3735 reload.c:3975
++#: reload.c:3745 reload.c:3991
+ #, gcc-internal-format
+ msgid "inconsistent operand constraints in an %<asm%>"
+ msgstr "неуÑаглашена ограничења операнда у %<asm%>"
+@@ -22955,49 +22945,49 @@
+ msgid "size of %q+D is larger than %wd bytes"
+ msgstr "величина %q+D је већа од %wd бајтова"
+
+-#: stor-layout.c:899
++#: stor-layout.c:888
+ #, gcc-internal-format
+ msgid "packed attribute causes inefficient alignment for %q+D"
+ msgstr "атрибут паковања доводи до неефикаÑног равнања за %q+D"
+
+-#: stor-layout.c:902
++#: stor-layout.c:891
+ #, gcc-internal-format
+ msgid "packed attribute is unnecessary for %q+D"
+ msgstr "атрибут паковања непотребан за %q+D"
+
+ #. No, we need to skip space before this field.
+ #. Bump the cumulative size to multiple of field alignment.
+-#: stor-layout.c:919
++#: stor-layout.c:908
+ #, gcc-internal-format
+ msgid "padding struct to align %q+D"
+ msgstr "убацујем уметак у Ñтруктуру ради равнања %q+D"
+
+-#: stor-layout.c:1270
++#: stor-layout.c:1259
+ #, gcc-internal-format
+ msgid "padding struct size to alignment boundary"
+ msgstr "убацујем уметак за величину Ñтруктуре до границе равнања"
+
+-#: stor-layout.c:1300
++#: stor-layout.c:1289
+ #, gcc-internal-format
+ msgid "packed attribute causes inefficient alignment for %qs"
+ msgstr "атрибут паковања доводи до неефикаÑног равнања за %qs"
+
+-#: stor-layout.c:1304
++#: stor-layout.c:1293
+ #, gcc-internal-format
+ msgid "packed attribute is unnecessary for %qs"
+ msgstr "атрибут паковања непотребан за %qs"
+
+-#: stor-layout.c:1310
++#: stor-layout.c:1299
+ #, gcc-internal-format
+ msgid "packed attribute causes inefficient alignment"
+ msgstr "атрибут паковања доводи до неефикаÑног равнања"
+
+-#: stor-layout.c:1312
++#: stor-layout.c:1301
+ #, gcc-internal-format
+ msgid "packed attribute is unnecessary"
+ msgstr "атрибут паковања непотребан"
+
+-#: stor-layout.c:1842
++#: stor-layout.c:1831
+ #, gcc-internal-format
+ msgid "alignment of array elements is greater than element size"
+ msgstr "равнање елемената низа је веће од величине елемента"
+@@ -23082,643 +23072,653 @@
+ msgid "unrecognized gcc debugging option: %c"
+ msgstr "непрепозната иÑправљачка опција: %c"
+
+-#: toplev.c:1411
++#: toplev.c:1413
+ #, gcc-internal-format
+ msgid "can%'t open %s for writing: %m"
+ msgstr "не могу да отворим %s за пиÑање: %m"
+
+-#: toplev.c:1432
++#: toplev.c:1434
+ #, fuzzy, gcc-internal-format
+ msgid "-frecord-gcc-switches is not supported by the current target"
+ msgstr "-fdata-sections није подржано за овај циљ"
+
+-#: toplev.c:1745
++#: toplev.c:1747
+ #, gcc-internal-format
+ msgid "this target does not support %qs"
+ msgstr "овај циљ не подржава %qs"
+
+-#: toplev.c:1794
++#: toplev.c:1796
+ #, gcc-internal-format
+ msgid "instruction scheduling not supported on this target machine"
+ msgstr "раÑпоређивање инÑтрукција није подржано на овој циљној машини"
+
+-#: toplev.c:1798
++#: toplev.c:1800
+ #, gcc-internal-format
+ msgid "this target machine does not have delayed branches"
+ msgstr "ова циљна машина нема одгођена гранања"
+
+-#: toplev.c:1812
++#: toplev.c:1814
+ #, gcc-internal-format
+ msgid "-f%sleading-underscore not supported on this target machine"
+ msgstr "-f%sleading-underscore није подржано на овој циљној машини"
+
+-#: toplev.c:1885
++#: toplev.c:1887
+ #, gcc-internal-format
+ msgid "target system does not support the \"%s\" debug format"
+ msgstr "циљни ÑиÑтем не подржава иÑправљачки формат „%s“"
+
+-#: toplev.c:1898
++#: toplev.c:1900
+ #, gcc-internal-format
+ msgid "variable tracking requested, but useless unless producing debug info"
+ msgstr "праћење променљивих затражено, али беÑкориÑно без Ñтварања иÑправљачких података"
+
+-#: toplev.c:1901
++#: toplev.c:1903
+ #, gcc-internal-format
+ msgid "variable tracking requested, but not supported by this debug format"
+ msgstr "праћење променљивих затражено, али неподржано овим иÑправљачким фоматом"
+
+-#: toplev.c:1935
++#: toplev.c:1937
+ #, gcc-internal-format
+ msgid "can%'t open %s: %m"
+ msgstr "не могу да отворим %s: %m"
+
+-#: toplev.c:1942
++#: toplev.c:1944
+ #, gcc-internal-format
+ msgid "-ffunction-sections not supported for this target"
+ msgstr "-ffunction-sections није подржано за овај циљ"
+
+-#: toplev.c:1947
++#: toplev.c:1949
+ #, gcc-internal-format
+ msgid "-fdata-sections not supported for this target"
+ msgstr "-fdata-sections није подржано за овај циљ"
+
+-#: toplev.c:1954
++#: toplev.c:1956
+ #, gcc-internal-format
+ msgid "-ffunction-sections disabled; it makes profiling impossible"
+ msgstr "-ffunction-sections иÑкључено јер би онемогућило профилиÑање"
+
+-#: toplev.c:1961
++#: toplev.c:1963
+ #, gcc-internal-format
+ msgid "-fprefetch-loop-arrays not supported for this target"
+ msgstr "-fprefetch-loop-arrays није подржано за овај циљ"
+
+-#: toplev.c:1967
++#: toplev.c:1969
+ #, gcc-internal-format
+ msgid "-fprefetch-loop-arrays not supported for this target (try -march switches)"
+ msgstr "-fprefetch-loop-arrays није подржано за овај циљ (покушајте нешто од -march)"
+
+-#: toplev.c:1976
++#: toplev.c:1978
+ #, gcc-internal-format
+ msgid "-fprefetch-loop-arrays is not supported with -Os"
+ msgstr "-fprefetch-loop-arrays није подржано уз -O варијанте"
+
+-#: toplev.c:1983
++#: toplev.c:1985
+ #, gcc-internal-format
+ msgid "-ffunction-sections may affect debugging on some targets"
+ msgstr "-ffunction-sections може утицати на иÑправљање на неком циљевима"
+
+-#: toplev.c:1999
++#: toplev.c:1996
+ #, gcc-internal-format
++msgid "-fassociative-math disabled; other options take precedence"
++msgstr ""
++
++#: toplev.c:2008
++#, gcc-internal-format
+ msgid "-fstack-protector not supported for this target"
+ msgstr "-fstack-protector није подржано за овај циљ"
+
+-#: toplev.c:2012
+-#, gcc-internal-format
+-msgid "unwind tables currently requires a frame pointer for correctness"
++#: toplev.c:2021
++#, fuzzy, gcc-internal-format
++msgid "unwind tables currently require a frame pointer for correctness"
+ msgstr "табеле одмотавања тренутно захтевају показивач оквира ради иÑправноÑти"
+
+-#: toplev.c:2198
++#: toplev.c:2207
+ #, gcc-internal-format
+ msgid "error writing to %s: %m"
+ msgstr "грешка при упиÑу у %s: %m"
+
+-#: toplev.c:2200 java/jcf-parse.c:1776
++#: toplev.c:2209 java/jcf-parse.c:1778
+ #, gcc-internal-format
+ msgid "error closing %s: %m"
+ msgstr "грешка при затварању %s: %m"
+
+-#: tree-cfg.c:1432 tree-cfg.c:2068 tree-cfg.c:2071
++#: tree-cfg.c:1451 tree-cfg.c:2087 tree-cfg.c:2090
+ #, gcc-internal-format
+ msgid "%Hwill never be executed"
+ msgstr "%Hникада неће бити извршено"
+
+-#: tree-cfg.c:3134
++#: tree-cfg.c:3153
+ #, gcc-internal-format
+ msgid "SSA name in freelist but still referenced"
+ msgstr "ССРиме у лиÑти Ñлободних, али Ñе упућује на Ñš"
+
+-#: tree-cfg.c:3143
++#: tree-cfg.c:3162
+ #, gcc-internal-format
+ msgid "ASSERT_EXPR with an always-false condition"
+ msgstr "ASSERT_EXPR Ñа увек нетачним уÑловом"
+
+-#: tree-cfg.c:3156
++#: tree-cfg.c:3175
+ #, gcc-internal-format
+ msgid "GIMPLE register modified with BIT_FIELD_REF"
+ msgstr "ГИМПЛЕ региÑтар измењен помоћу BIT_FIELD_REF"
+
+-#: tree-cfg.c:3191
++#: tree-cfg.c:3210
+ #, gcc-internal-format
+ msgid "invariant not recomputed when ADDR_EXPR changed"
+ msgstr "инваријанта није поново израчуната када Ñе ADDR_EXPR промени"
+
+-#: tree-cfg.c:3197
++#: tree-cfg.c:3216
+ #, gcc-internal-format
+ msgid "constant not recomputed when ADDR_EXPR changed"
+ msgstr "конÑтанта није поново израчуната када Ñе ADDR_EXPR промени"
+
+-#: tree-cfg.c:3202
++#: tree-cfg.c:3221
+ #, gcc-internal-format
+ msgid "side effects not recomputed when ADDR_EXPR changed"
+ msgstr "Ñпоредни ефекти ниÑу поново израчунати када Ñе ADDR_EXPR промени"
+
+-#: tree-cfg.c:3218
++#: tree-cfg.c:3237
+ #, gcc-internal-format
+ msgid "address taken, but ADDRESSABLE bit not set"
+ msgstr "адреÑа узета, али бит ADDRESSABLE није поÑтављен"
+
+-#: tree-cfg.c:3228
++#: tree-cfg.c:3252
+ #, fuzzy, gcc-internal-format
+ msgid "non-integral used in condition"
+ msgstr "не-логичка вредноÑÑ‚ употребљена у уÑлову"
+
+-#: tree-cfg.c:3233
++#: tree-cfg.c:3257
+ #, gcc-internal-format
+ msgid "invalid conditional operand"
+ msgstr "неиÑправан операнд уÑлова"
+
+-#: tree-cfg.c:3285
++#: tree-cfg.c:3309
+ #, gcc-internal-format
+ msgid "invalid reference prefix"
+ msgstr "неиÑправан Ð¿Ñ€ÐµÑ„Ð¸ÐºÑ ÑƒÐ¿ÑƒÑ›Ð¸Ð²Ð°Ñ‡Ð°"
+
+-#: tree-cfg.c:3296
++#: tree-cfg.c:3320
+ #, fuzzy, gcc-internal-format
+ msgid "invalid operand to plus/minus, type is a pointer"
+ msgstr "неиÑправан операнд у инÑтрукцији"
+
+-#: tree-cfg.c:3307
++#: tree-cfg.c:3331
+ #, gcc-internal-format
+ msgid "invalid operand to pointer plus, first operand is not a pointer"
+ msgstr ""
+
+-#: tree-cfg.c:3315
++#: tree-cfg.c:3339
+ #, gcc-internal-format
+ msgid "invalid operand to pointer plus, second operand is not an integer with type of sizetype."
+ msgstr ""
+
+-#: tree-cfg.c:3382 tree-cfg.c:3798
++#: tree-cfg.c:3406 tree-cfg.c:3822
+ #, fuzzy, gcc-internal-format
+ msgid "invalid operand in unary expression"
+ msgstr "неиÑправни операнди за бинарно %s"
+
+-#: tree-cfg.c:3392
++#: tree-cfg.c:3416
+ #, fuzzy, gcc-internal-format
+ msgid "type mismatch in unary expression"
+ msgstr "неÑлагање типова у уÑловном изразу"
+
+-#: tree-cfg.c:3413
++#: tree-cfg.c:3437
+ #, fuzzy, gcc-internal-format
+ msgid "invalid operands in binary expression"
+ msgstr "неиÑправни операнди за бинарно %s"
+
+-#: tree-cfg.c:3424
++#: tree-cfg.c:3448
+ #, fuzzy, gcc-internal-format
+ msgid "type mismatch in binary expression"
+ msgstr "неÑлагање типова у уÑловном изразу"
+
+-#: tree-cfg.c:3449
++#: tree-cfg.c:3473
+ #, fuzzy, gcc-internal-format
+ msgid "invalid expression for min lvalue"
+ msgstr "неиÑправан израз као операнд"
+
+-#: tree-cfg.c:3456
++#: tree-cfg.c:3480
+ #, fuzzy, gcc-internal-format
+ msgid "invalid operand in indirect reference"
+ msgstr "неиÑправан операнд у инÑтрукцији"
+
+-#: tree-cfg.c:3463
++#: tree-cfg.c:3487
+ #, fuzzy, gcc-internal-format
+ msgid "type mismatch in indirect reference"
+ msgstr "неÑлагање типова у уÑловном изразу"
+
+-#: tree-cfg.c:3491
++#: tree-cfg.c:3515
+ #, fuzzy, gcc-internal-format
+ msgid "invalid operands to array reference"
+ msgstr "ÐеиÑправан облик упућивача низа код %C"
+
+-#: tree-cfg.c:3502
++#: tree-cfg.c:3526
+ #, fuzzy, gcc-internal-format
+ msgid "type mismatch in array reference"
+ msgstr "ÐеÑлагање рангова у упућивачу низа код %L (%d/%d)"
+
+-#: tree-cfg.c:3511
++#: tree-cfg.c:3535
+ #, fuzzy, gcc-internal-format
+ msgid "type mismatch in array range reference"
+ msgstr "ÐеÑлагање рангова у упућивачу низа код %L (%d/%d)"
+
+-#: tree-cfg.c:3522
++#: tree-cfg.c:3546
+ #, fuzzy, gcc-internal-format
+ msgid "type mismatch in real/imagpart reference"
+ msgstr "неÑлагање типова у уÑловном изразу"
+
+-#: tree-cfg.c:3532
++#: tree-cfg.c:3556
+ #, fuzzy, gcc-internal-format
+ msgid "type mismatch in component reference"
+ msgstr "неÑлагање типова у уÑловном изразу"
+
+-#: tree-cfg.c:3586
++#: tree-cfg.c:3610
+ #, fuzzy, gcc-internal-format
+ msgid "invalid operand in conversion"
+ msgstr "неиÑправан операнд у инÑтрукцији"
+
+-#: tree-cfg.c:3614
++#: tree-cfg.c:3638
+ #, fuzzy, gcc-internal-format
+ msgid "invalid types in nop conversion"
+ msgstr "ÐеиÑправан типÑки израз"
+
+-#: tree-cfg.c:3628
++#: tree-cfg.c:3652
+ #, fuzzy, gcc-internal-format
+ msgid "invalid operand in int to float conversion"
+ msgstr "неиÑправан операнд у инÑтрукцији"
+
+-#: tree-cfg.c:3634
++#: tree-cfg.c:3658
+ #, fuzzy, gcc-internal-format
+ msgid "invalid types in conversion to floating point"
+ msgstr "неиÑправно претварање у %<__fpreg%>"
+
+-#: tree-cfg.c:3647
++#: tree-cfg.c:3671
+ #, fuzzy, gcc-internal-format
+ msgid "invalid operand in float to int conversion"
+ msgstr "неиÑправан операнд у инÑтрукцији"
+
+-#: tree-cfg.c:3653
++#: tree-cfg.c:3677
+ #, fuzzy, gcc-internal-format
+ msgid "invalid types in conversion to integer"
+ msgstr "неиÑправно претварање у %<__fpreg%>"
+
+-#: tree-cfg.c:3667
++#: tree-cfg.c:3691
+ #, fuzzy, gcc-internal-format
+ msgid "invalid operands in complex expression"
+ msgstr "%HнеиÑправан израз увећања"
+
+-#: tree-cfg.c:3680
++#: tree-cfg.c:3704
+ #, fuzzy, gcc-internal-format
+ msgid "type mismatch in complex expression"
+ msgstr "неÑлагање типова у уÑловном изразу"
+
+-#: tree-cfg.c:3694
++#: tree-cfg.c:3718
+ #, gcc-internal-format
+ msgid "constructor not allowed for non-vector types"
+ msgstr ""
+
+-#: tree-cfg.c:3711
++#: tree-cfg.c:3735
+ #, fuzzy, gcc-internal-format
+ msgid "invalid operands in shift expression"
+ msgstr "неиÑправан операнд у инÑтрукцији"
+
+-#: tree-cfg.c:3717
++#: tree-cfg.c:3741
+ #, fuzzy, gcc-internal-format
+ msgid "type mismatch in shift expression"
+ msgstr "неÑлагање типова у уÑловном изразу"
+
+-#: tree-cfg.c:3735
++#: tree-cfg.c:3759
+ #, fuzzy, gcc-internal-format
+ msgid "invalid (pointer) operands to plus/minus"
+ msgstr "неиÑправни операнди за бинарно %s"
+
+-#: tree-cfg.c:3748
++#: tree-cfg.c:3772
+ #, fuzzy, gcc-internal-format
+ msgid "invalid operands in pointer plus expression"
+ msgstr "неиÑправан операнд у инÑтрукцији"
+
+-#: tree-cfg.c:3755
++#: tree-cfg.c:3779
+ #, fuzzy, gcc-internal-format
+ msgid "type mismatch in pointer plus expression"
+ msgstr "неÑлагање типова у уÑловном изразу"
+
+-#: tree-cfg.c:3774
++#: tree-cfg.c:3798
+ #, fuzzy, gcc-internal-format
+ msgid "invalid operands in conditional expression"
+ msgstr "не-л-вредноÑни низ у уÑловном изразу"
+
+-#: tree-cfg.c:3807
++#: tree-cfg.c:3831
+ #, fuzzy, gcc-internal-format
+ msgid "type mismatch in address expression"
+ msgstr "неÑлагање типова у уÑловном изразу"
+
+-#: tree-cfg.c:3827
++#: tree-cfg.c:3851
+ #, fuzzy, gcc-internal-format
+ msgid "invalid operands in truth expression"
+ msgstr "неиÑправан операнд у инÑтрукцији"
+
+-#: tree-cfg.c:3836
++#: tree-cfg.c:3860
+ #, fuzzy, gcc-internal-format
+ msgid "type mismatch in binary truth expression"
+ msgstr "неÑлагање типова у уÑловном изразу"
+
+-#: tree-cfg.c:3852
++#: tree-cfg.c:3876
+ #, fuzzy, gcc-internal-format
+ msgid "invalid operand in unary not"
+ msgstr "неиÑправни операнди за бинарно %s"
+
+-#: tree-cfg.c:3861
++#: tree-cfg.c:3885
+ #, fuzzy, gcc-internal-format
+ msgid "type mismatch in not expression"
+ msgstr "неÑлагање типова у уÑловном изразу"
+
+-#: tree-cfg.c:3900
++#: tree-cfg.c:3924
+ #, fuzzy, gcc-internal-format
+ msgid "invalid operands in comparison expression"
+ msgstr "%HнеиÑправан израз увећања"
+
+-#: tree-cfg.c:3917
++#: tree-cfg.c:3941
+ #, fuzzy, gcc-internal-format
+ msgid "type mismatch in comparison expression"
+ msgstr "неÑлагање типова у уÑловном изразу"
+
+-#: tree-cfg.c:3947
++#: tree-cfg.c:3971
+ #, fuzzy, gcc-internal-format
+ msgid "non-trivial conversion at assignment"
+ msgstr "неÑаглаÑни типови у додели"
+
+-#: tree-cfg.c:3988 tree-cfg.c:4136
++#: tree-cfg.c:4012 tree-cfg.c:4160
+ #, gcc-internal-format
+ msgid "is not a valid GIMPLE statement"
+ msgstr "није иÑправна ГИМПЛЕ наредба"
+
+-#: tree-cfg.c:4015
++#: tree-cfg.c:4039
+ #, fuzzy, gcc-internal-format
+ msgid "invalid operand to switch statement"
+ msgstr "неиÑправан операнд за %%s кôд"
+
+-#: tree-cfg.c:4026
++#: tree-cfg.c:4050
+ #, fuzzy, gcc-internal-format
+ msgid "type error in return expression"
+ msgstr " у баченом изразу"
+
+-#: tree-cfg.c:4104
++#: tree-cfg.c:4128
+ #, fuzzy, gcc-internal-format
+ msgid "verify_gimple failed"
+ msgstr "verify_stmts није уÑпело"
+
+-#: tree-cfg.c:4156
++#: tree-cfg.c:4180
+ #, gcc-internal-format
+ msgid "statement marked for throw, but doesn%'t"
+ msgstr "наредба означена за бацање, али не чини то"
+
+-#: tree-cfg.c:4161
++#: tree-cfg.c:4185
+ #, gcc-internal-format
+ msgid "statement marked for throw in middle of block"
+ msgstr "наредба означена за бацање уÑред блока"
+
+-#: tree-cfg.c:4232
++#: tree-cfg.c:4256
+ #, fuzzy, gcc-internal-format
+ msgid "unexpected non-tuple"
+ msgstr "неочекиван операнд"
+
+-#: tree-cfg.c:4261
++#: tree-cfg.c:4285
+ #, gcc-internal-format
+ msgid "Dead STMT in EH table"
+ msgstr ""
+
+-#: tree-cfg.c:4295
++#: tree-cfg.c:4319
+ #, gcc-internal-format
+ msgid "bb_for_stmt (phi) is set to a wrong basic block"
+ msgstr "bb_for_stmt (phi) поÑтављено на погрешан оÑновни блок"
+
+-#: tree-cfg.c:4306
++#: tree-cfg.c:4330
+ #, fuzzy, gcc-internal-format
+ msgid "missing PHI def"
+ msgstr "недоÑтаје дефиниција"
+
+-#: tree-cfg.c:4317
++#: tree-cfg.c:4341
+ #, gcc-internal-format
+ msgid "PHI def is not a GIMPLE value"
+ msgstr "ПХИ дефиниција није ГИМПЛЕ вредноÑÑ‚"
+
+-#: tree-cfg.c:4333 tree-cfg.c:4359
++#: tree-cfg.c:4357 tree-cfg.c:4383
+ #, gcc-internal-format
+ msgid "incorrect sharing of tree nodes"
+ msgstr "нетачно дељење чворова Ñтабла"
+
+-#: tree-cfg.c:4350
++#: tree-cfg.c:4374
+ #, gcc-internal-format
+ msgid "bb_for_stmt (stmt) is set to a wrong basic block"
+ msgstr "bb_for_stmt (stmt) поÑтављено на погрешан оÑновни блок"
+
+-#: tree-cfg.c:4373
++#: tree-cfg.c:4397
+ #, gcc-internal-format
+ msgid "verify_stmts failed"
+ msgstr "verify_stmts није уÑпело"
+
+-#: tree-cfg.c:4396
++#: tree-cfg.c:4420
+ #, fuzzy, gcc-internal-format
+ msgid "ENTRY_BLOCK has IL associated with it"
+ msgstr "ENTRY_BLOCK има придружену лиÑту наредби"
+
+-#: tree-cfg.c:4402
++#: tree-cfg.c:4426
+ #, fuzzy, gcc-internal-format
+ msgid "EXIT_BLOCK has IL associated with it"
+ msgstr "EXIT_BLOCK има придружену лиÑту наредби"
+
+-#: tree-cfg.c:4409
++#: tree-cfg.c:4433
+ #, gcc-internal-format
+ msgid "fallthru to exit from bb %d"
+ msgstr "пропад до излаза из об. %d"
+
+-#: tree-cfg.c:4431
++#: tree-cfg.c:4455
+ #, gcc-internal-format
+ msgid "nonlocal label "
+ msgstr "нелокална етикета "
+
+-#: tree-cfg.c:4440 tree-cfg.c:4450 tree-cfg.c:4475
++#: tree-cfg.c:4464 tree-cfg.c:4474 tree-cfg.c:4499
+ #, gcc-internal-format
+ msgid "label "
+ msgstr "етикета "
+
+-#: tree-cfg.c:4465
++#: tree-cfg.c:4489
+ #, gcc-internal-format
+ msgid "control flow in the middle of basic block %d"
+ msgstr "контролни ток уÑред оÑновног блока %d"
+
+-#: tree-cfg.c:4495
++#: tree-cfg.c:4519
+ #, gcc-internal-format
+ msgid "fallthru edge after a control statement in bb %d"
+ msgstr "пропадна ивица поÑле контролне наредбе у об. %d"
+
+-#: tree-cfg.c:4508
++#: tree-cfg.c:4532
+ #, gcc-internal-format
+ msgid "true/false edge after a non-COND_EXPR in bb %d"
+ msgstr "ивица тачно/нетачно поÑле не-COND_EXPR у об. %d"
+
+-#: tree-cfg.c:4524
++#: tree-cfg.c:4548
+ #, fuzzy, gcc-internal-format
+ msgid "COND_EXPR with code in branches at the end of bb %d"
+ msgstr "Ñтруктуиран COND_EXPR на крају об. %d"
+
+-#: tree-cfg.c:4538 tree-cfg.c:4560 tree-cfg.c:4573 tree-cfg.c:4644
++#: tree-cfg.c:4562 tree-cfg.c:4584 tree-cfg.c:4597 tree-cfg.c:4668
+ #, gcc-internal-format
+ msgid "wrong outgoing edge flags at end of bb %d"
+ msgstr "погрешне заÑтавице излазне ивице на крају об. %d"
+
+-#: tree-cfg.c:4548
++#: tree-cfg.c:4572
+ #, gcc-internal-format
+ msgid "explicit goto at end of bb %d"
+ msgstr "екÑплицитно goto на крају об. %d"
+
+-#: tree-cfg.c:4578
++#: tree-cfg.c:4602
+ #, gcc-internal-format
+ msgid "return edge does not point to exit in bb %d"
+ msgstr "повратна ивица не показује на излаз у об. %d"
+
+-#: tree-cfg.c:4611
++#: tree-cfg.c:4635
+ #, gcc-internal-format
+ msgid "found default case not at end of case vector"
+ msgstr "нађен подразумевани Ñлучај који није на крају вектора Ñлучаја"
+
+-#: tree-cfg.c:4617
++#: tree-cfg.c:4641
+ #, gcc-internal-format
+ msgid "case labels not sorted: "
+ msgstr "етикете Ñлучајева ниÑу Ñортиране: "
+
+-#: tree-cfg.c:4628
++#: tree-cfg.c:4652
+ #, gcc-internal-format
+ msgid "no default case found at end of case vector"
+ msgstr "подразумевани Ñлучај није нађен на крају вектора Ñлучајева"
+
+-#: tree-cfg.c:4636
++#: tree-cfg.c:4660
+ #, gcc-internal-format
+ msgid "extra outgoing edge %d->%d"
+ msgstr "Ñувишна излазна ивица %d->%d"
+
+-#: tree-cfg.c:4658
++#: tree-cfg.c:4682
+ #, gcc-internal-format
+ msgid "missing edge %i->%i"
+ msgstr "недоÑтаје ивица %i->%i"
+
+-#: tree-cfg.c:6941 tree-cfg.c:6945
++#: tree-cfg.c:7025 tree-cfg.c:7029
+ #, gcc-internal-format
+ msgid "%H%<noreturn%> function does return"
+ msgstr "%H%<noreturn%> функција ипак враћа"
+
+-#: tree-cfg.c:6967 tree-cfg.c:6972
++#: tree-cfg.c:7051 tree-cfg.c:7056
+ #, gcc-internal-format
+ msgid "%Hcontrol reaches end of non-void function"
+ msgstr "%Hконтрола Ñтиже до краја функције непразног типа"
+
+-#: tree-cfg.c:7033
++#: tree-cfg.c:7117
+ #, gcc-internal-format
+ msgid "%Jfunction might be possible candidate for attribute %<noreturn%>"
+ msgstr "%Jфункција може бити кандидат за атрибут %<noreturn%>"
+
+-#: tree-dump.c:933
++#: tree-dump.c:932
+ #, gcc-internal-format
+ msgid "could not open dump file %qs: %s"
+ msgstr "ниÑам могао да отворим датотеку попиÑа %qs: %s"
+
+-#: tree-dump.c:1068
++#: tree-dump.c:1067
+ #, gcc-internal-format
+ msgid "ignoring unknown option %q.*s in %<-fdump-%s%>"
+ msgstr "игноришем непознату опцију %q.*s у %<-fdump-%s%>"
+
+-#: tree-eh.c:1788
++#: tree-eh.c:1805
+ #, gcc-internal-format
+ msgid "EH edge %i->%i is missing"
+ msgstr "недоÑтаје ЕХ ивица %i->%i"
+
+-#: tree-eh.c:1793
++#: tree-eh.c:1810
+ #, gcc-internal-format
+ msgid "EH edge %i->%i miss EH flag"
+ msgstr "ЕХ ивици %i->%i недоÑтаје ЕХ заÑтавица"
+
+ #. ??? might not be mistake.
+-#: tree-eh.c:1799
++#: tree-eh.c:1816
+ #, gcc-internal-format
+ msgid "EH edge %i->%i has duplicated regions"
+ msgstr "ЕХ ивица %i->%i има удвоÑтручене облаÑти"
+
+-#: tree-eh.c:1833
++#: tree-eh.c:1850
+ #, gcc-internal-format
+ msgid "BB %i can not throw but has EH edges"
+ msgstr "Об. %i не може да баци али има ЕХ ивице"
+
+-#: tree-eh.c:1840
++#: tree-eh.c:1857
+ #, gcc-internal-format
+ msgid "BB %i last statement has incorrectly set region"
+ msgstr "ПоÑледња наредба у об. %i има неиÑправно поÑтављену облаÑÑ‚"
+
+-#: tree-eh.c:1851
++#: tree-eh.c:1868
+ #, gcc-internal-format
+ msgid "unnecessary EH edge %i->%i"
+ msgstr "непотребна ЕХ ивица %i->%i"
+
+-#: tree-inline.c:1830
++#: tree-inline.c:1880
+ #, gcc-internal-format
+ msgid "function %q+F can never be inlined because it uses alloca (override using the always_inline attribute)"
+ msgstr "функција %q+F Ñе не може уткати јер кориÑти alloca (потиÑните атрибутом always_inline)"
+
+-#: tree-inline.c:1842
++#: tree-inline.c:1892
+ #, gcc-internal-format
+ msgid "function %q+F can never be inlined because it uses setjmp"
+ msgstr "функција %q+F Ñе не може уткати јер кориÑти setjmp"
+
+-#: tree-inline.c:1856
++#: tree-inline.c:1906
+ #, gcc-internal-format
+ msgid "function %q+F can never be inlined because it uses variable argument lists"
+ msgstr "функција %q+F Ñе не може уткати јер кориÑти променљиву лиÑту аргумената"
+
+-#: tree-inline.c:1867
++#: tree-inline.c:1917
+ #, gcc-internal-format
+ msgid "function %q+F can never be inlined because it uses setjmp-longjmp exception handling"
+ msgstr "функција %q+F Ñе не може уткати јер кориÑти јер кориÑти руковање изузецима типа setjmp-longjmp"
+
+-#: tree-inline.c:1874
++#: tree-inline.c:1924
+ #, gcc-internal-format
+ msgid "function %q+F can never be inlined because it uses non-local goto"
+ msgstr "функција %q+F Ñе не може уткати јер кориÑти нелокално goto"
+
+-#: tree-inline.c:1885
++#: tree-inline.c:1935
+ #, gcc-internal-format
+ msgid "function %q+F can never be inlined because it uses __builtin_return or __builtin_apply_args"
+ msgstr "функција %q+F Ñе не може уткати јер кориÑти __builtin_return или __builtin_apply_args"
+
+-#: tree-inline.c:1904
++#: tree-inline.c:1954
+ #, gcc-internal-format
+ msgid "function %q+F can never be inlined because it contains a computed goto"
+ msgstr "функција %q+F Ñе не може уткати јер кориÑти рачунÑко goto"
+
+-#: tree-inline.c:1918
++#: tree-inline.c:1968
+ #, gcc-internal-format
+ msgid "function %q+F can never be inlined because it receives a non-local goto"
+ msgstr "функција %q+F Ñе не може уткати јер прима нелокално goto"
+
+-#: tree-inline.c:1943
++#: tree-inline.c:1993
+ #, gcc-internal-format
+ msgid "function %q+F can never be inlined because it uses variable sized variables"
+ msgstr "функција %q+F Ñе не може уткати јер кориÑти променљиве променљиве величине"
+
+-#: tree-inline.c:2005
++#: tree-inline.c:2015
++#, fuzzy, gcc-internal-format
++msgid "function %q+F can never be inlined because it saves address of local label in a static variable"
++msgstr "функција %q+F Ñе не може уткати јер кориÑти променљиве променљиве величине"
++
++#: tree-inline.c:2091
+ #, gcc-internal-format
+ msgid "function %q+F can never be inlined because it is suppressed using -fno-inline"
+ msgstr "функција %q+F не може никако бити уткана јер је то Ñузбијено помоћу -fno-inline"
+
+-#: tree-inline.c:2019
++#: tree-inline.c:2105
+ #, gcc-internal-format
+ msgid "function %q+F can never be inlined because it uses attributes conflicting with inlining"
+ msgstr "функција %q+F не може никако бити уткана јер кориÑти атрибуте Ñукобљене Ñа уткивањем"
+
+-#: tree-inline.c:2588 tree-inline.c:2598
++#: tree-inline.c:2674 tree-inline.c:2684
+ #, gcc-internal-format
+ msgid "inlining failed in call to %q+F: %s"
+ msgstr "уткивање није уÑпело у позиву %q+F: %s"
+
+-#: tree-inline.c:2589 tree-inline.c:2600
++#: tree-inline.c:2675 tree-inline.c:2686
+ #, gcc-internal-format
+ msgid "called from here"
+ msgstr "позвано одавде"
+
+-#: tree-mudflap.c:860
++#: tree-mudflap.c:864
+ #, gcc-internal-format
+ msgid "mudflap checking not yet implemented for ARRAY_RANGE_REF"
+ msgstr "блатобранÑка провера још увек није имплементирана за ARRAY_RANGE_REF"
+
+-#: tree-mudflap.c:1044
++#: tree-mudflap.c:1050
+ #, gcc-internal-format
+ msgid "mudflap cannot track %qs in stub function"
+ msgstr "блатобран не може да прати %qs у клици функције"
+
+-#: tree-mudflap.c:1272
++#: tree-mudflap.c:1279
+ #, gcc-internal-format
+ msgid "mudflap cannot track unknown size extern %qs"
+ msgstr "блатобран не може да прати Ñпољашње %qs непознате величине"
+@@ -23738,33 +23738,33 @@
+ msgid "size of return value of %q+D is larger than %wd bytes"
+ msgstr "величина повратне вредноÑти %q+D је већа од %wd бајтова"
+
+-#: tree-outof-ssa.c:637 tree-outof-ssa.c:688 tree-ssa-coalesce.c:936
+-#: tree-ssa-coalesce.c:951 tree-ssa-coalesce.c:1163 tree-ssa-live.c:1043
++#: tree-outof-ssa.c:638 tree-outof-ssa.c:689 tree-ssa-coalesce.c:936
++#: tree-ssa-coalesce.c:951 tree-ssa-coalesce.c:1163 tree-ssa-live.c:1053
+ #, gcc-internal-format
+ msgid "SSA corruption"
+ msgstr "ССРиÑкварење"
+
+-#: tree-outof-ssa.c:1105
++#: tree-outof-ssa.c:1263
+ #, gcc-internal-format
+ msgid " Pending stmts not issued on PRED edge (%d, %d)\n"
+ msgstr " ÐаÑтупајуће наредбе ниÑу издате на претходној ивици (%d, %d)\n"
+
+-#: tree-outof-ssa.c:1111
++#: tree-outof-ssa.c:1269
+ #, gcc-internal-format
+ msgid " Pending stmts not issued on SUCC edge (%d, %d)\n"
+ msgstr " ÐаÑтупајуће наредбе ниÑу издате на наÑледној ивици (%d, %d)\n"
+
+-#: tree-outof-ssa.c:1118
++#: tree-outof-ssa.c:1276
+ #, gcc-internal-format
+ msgid " Pending stmts not issued on ENTRY edge (%d, %d)\n"
+ msgstr " ÐаÑтупајуће наредбе ниÑу издате на улазној ивици (%d, %d)\n"
+
+-#: tree-outof-ssa.c:1124
++#: tree-outof-ssa.c:1282
+ #, gcc-internal-format
+ msgid " Pending stmts not issued on EXIT edge (%d, %d)\n"
+ msgstr " ÐаÑтупајуће наредбе ниÑу издате на излазној ивици (%d, %d)\n"
+
+-#: tree-profile.c:351
++#: tree-profile.c:356
+ #, gcc-internal-format
+ msgid "unimplemented functionality"
+ msgstr "неимплементирана фунционалноÑÑ‚"
+@@ -23954,154 +23954,159 @@
+ msgid "verify_ssa failed"
+ msgstr "verify_ssa није уÑпело"
+
+-#: tree-ssa.c:1284
++#: tree-ssa.c:1293
+ #, gcc-internal-format
+ msgid "%J%qD was declared here"
+ msgstr "%J%qD деклариÑано овде"
+
+ #. We only do data flow with SSA_NAMEs, so that's all we
+ #. can warn about.
+-#: tree-ssa.c:1302
++#: tree-ssa.c:1311
+ #, gcc-internal-format
+ msgid "%H%qD is used uninitialized in this function"
+ msgstr "%H%qD у овој функцији кориÑти Ñе неуÑпоÑтављено"
+
+-#: tree-ssa.c:1340
++#: tree-ssa.c:1349
+ #, gcc-internal-format
+ msgid "%H%qD may be used uninitialized in this function"
+ msgstr "%H%qD у овој функцији може бити бити употребљено неуÑпоÑтављено"
+
+-#: tree-vrp.c:4374
++#: tree-vrp.c:4384
+ #, fuzzy, gcc-internal-format
+ msgid "%Harray subscript is outside array bounds"
+ msgstr "Ð¸Ð½Ð´ÐµÐºÑ Ð½Ð¸Ð·Ð° није целобројан"
+
+-#: tree-vrp.c:4388
++#: tree-vrp.c:4398
+ #, fuzzy, gcc-internal-format
+ msgid "%Harray subscript is above array bounds"
+ msgstr "Ð¸Ð½Ð´ÐµÐºÑ Ð½Ð¸Ð·Ð° није целобројан"
+
+-#: tree-vrp.c:4395
++#: tree-vrp.c:4405
+ #, fuzzy, gcc-internal-format
+ msgid "%Harray subscript is below array bounds"
+ msgstr "Ð¸Ð½Ð´ÐµÐºÑ Ð½Ð¸Ð·Ð° није целобројан"
+
+-#: tree-vrp.c:5042
++#: tree-vrp.c:5058
+ #, gcc-internal-format
+ msgid "assuming signed overflow does not occur when simplifying conditional to constant"
+ msgstr "претпоÑтављам да Ñе означено преливање не дешава при упрошћавању уÑлова до конÑтанте"
+
+-#: tree-vrp.c:5048
++#: tree-vrp.c:5064
+ #, gcc-internal-format
+ msgid "assuming signed overflow does not occur when simplifying conditional"
+ msgstr "претпоÑтављам да Ñе означено преливање не дешава при упрошћавању уÑлова"
+
+-#: tree.c:3951
++#: tree.c:3682
++#, fuzzy, gcc-internal-format
++msgid "ignoring attributes applied to %qT after definition"
++msgstr "атрибут %qE може Ñе применити Ñамо на дефиниције клаÑа"
++
++#: tree.c:3966
+ #, gcc-internal-format
+ msgid "%q+D already declared with dllexport attribute: dllimport ignored"
+ msgstr "%q+D већ деклариÑано Ñа атрибутом dllexport: dllimport Ñе игнорише"
+
+-#: tree.c:3963
++#: tree.c:3978
+ #, gcc-internal-format
+ msgid "%q+D redeclared without dllimport attribute after being referenced with dll linkage"
+ msgstr "%q+D поново деклариÑано без атрибута dllimport пошто је на Ñš упућено ДЛЛ повезивошћу"
+
+-#: tree.c:3979
++#: tree.c:3994
+ #, gcc-internal-format
+ msgid "%q+D redeclared without dllimport attribute: previous dllimport ignored"
+ msgstr "%q+D поново деклариÑано без атрибута dllimport: претходно dllimport Ñе игнорише"
+
+-#: tree.c:4038 tree.c:4050 config/darwin.c:1458 config/arm/arm.c:3099
+-#: config/arm/arm.c:3127 config/avr/avr.c:4598 config/h8300/h8300.c:5281
+-#: config/h8300/h8300.c:5305 config/i386/i386.c:3056 config/i386/i386.c:22515
++#: tree.c:4053 tree.c:4065 config/darwin.c:1460 config/arm/arm.c:3099
++#: config/arm/arm.c:3127 config/avr/avr.c:4638 config/h8300/h8300.c:5281
++#: config/h8300/h8300.c:5305 config/i386/i386.c:3087 config/i386/i386.c:22599
+ #: config/ia64/ia64.c:586 config/m68hc11/m68hc11.c:1118
+-#: config/rs6000/rs6000.c:19657 config/sh/symbian.c:408
++#: config/rs6000/rs6000.c:19874 config/sh/symbian.c:408
+ #: config/sh/symbian.c:415
+ #, gcc-internal-format
+ msgid "%qs attribute ignored"
+ msgstr "атрибут %qs Ñе игнорише"
+
+-#: tree.c:4066
++#: tree.c:4081
+ #, gcc-internal-format
+ msgid "inline function %q+D declared as dllimport: attribute ignored"
+ msgstr "уткана функција %q+D поново деклариÑана као dllimport: атрибут Ñе игнорише"
+
+-#: tree.c:4074
++#: tree.c:4089
+ #, gcc-internal-format
+ msgid "function %q+D definition is marked dllimport"
+ msgstr "дефиниција функције %q+D означена као dllimport"
+
+-#: tree.c:4082 config/sh/symbian.c:430
++#: tree.c:4097 config/sh/symbian.c:430
+ #, gcc-internal-format
+ msgid "variable %q+D definition is marked dllimport"
+ msgstr "дефиниција променљиве %q+D означена као dllimport"
+
+-#: tree.c:4105 config/sh/symbian.c:505
++#: tree.c:4120 config/sh/symbian.c:505
+ #, gcc-internal-format
+ msgid "external linkage required for symbol %q+D because of %qs attribute"
+ msgstr "Ñпољашња повезивоÑÑ‚ неопходна за Ñимбол %q+D због атрибута %qs"
+
+-#: tree.c:4119
++#: tree.c:4134
+ #, fuzzy, gcc-internal-format
+ msgid "%qs implies default visibility, but %qD has already been declared with a different visibility"
+ msgstr "%qD поново деклариÑано Ñа другачијом видљивошћу"
+
+-#: tree.c:5632
++#: tree.c:5648
+ #, gcc-internal-format
+ msgid "arrays of functions are not meaningful"
+ msgstr "низови функција немају ÑмиÑла"
+
+-#: tree.c:5785
++#: tree.c:5801
+ #, gcc-internal-format
+ msgid "function return type cannot be function"
+ msgstr "повратни тип функције не може бити функција"
+
+-#: tree.c:6802 tree.c:6887 tree.c:6948
++#: tree.c:6818 tree.c:6903 tree.c:6964
+ #, gcc-internal-format
+ msgid "tree check: %s, have %s in %s, at %s:%d"
+ msgstr "провера Ñтабла: %s, имам %s у %s, код %s:%d"
+
+-#: tree.c:6839
++#: tree.c:6855
+ #, gcc-internal-format
+ msgid "tree check: expected none of %s, have %s in %s, at %s:%d"
+ msgstr "провера Ñтабла: не очекивах ниједно од %s, имам %s у %s, код %s:%d"
+
+-#: tree.c:6852
++#: tree.c:6868
+ #, gcc-internal-format
+ msgid "tree check: expected class %qs, have %qs (%s) in %s, at %s:%d"
+ msgstr "провера Ñтабла: очекивах клаÑу %qs, имам %qs (%s) у %s, код %s:%d"
+
+-#: tree.c:6901
++#: tree.c:6917
+ #, gcc-internal-format
+ msgid "tree check: did not expect class %qs, have %qs (%s) in %s, at %s:%d"
+ msgstr "провера Ñтабла: ниÑам очекивао клаÑу %qs, имам %qs (%s) у %s, код %s:%d"
+
+-#: tree.c:6914
++#: tree.c:6930
+ #, gcc-internal-format
+ msgid "tree check: expected omp_clause %s, have %s in %s, at %s:%d"
+ msgstr "провера Ñтабла: очекивах omp_clause %s, имам %s у %s, код %s:%d"
+
+-#: tree.c:6974
++#: tree.c:6990
+ #, fuzzy, gcc-internal-format
+ msgid "tree check: expected tree that contains %qs structure, have %qs in %s, at %s:%d"
+ msgstr "провера Ñтабла: очекивах Ñтабло које Ñадржи Ñтруктуру %qs, имам %qs у %s, код %s:%d"
+
+-#: tree.c:6988
++#: tree.c:7004
+ #, gcc-internal-format
+ msgid "tree check: accessed elt %d of tree_vec with %d elts in %s, at %s:%d"
+ msgstr "провера Ñтабла: приÑтупих елту %d у tree_vec Ñа %d елтова у %s, код %s:%d"
+
+-#: tree.c:7000
++#: tree.c:7016
+ #, gcc-internal-format
+ msgid "tree check: accessed elt %d of phi_node with %d elts in %s, at %s:%d"
+ msgstr "провера Ñтабла: приÑтупих елту %d у phi_node Ñа %d елтова у %s, код %s:%d"
+
+-#: tree.c:7013
++#: tree.c:7029
+ #, gcc-internal-format
+ msgid "tree check: accessed operand %d of %s with %d operands in %s, at %s:%d"
+ msgstr "провера Ñтабла: приÑтупих операнду %d од %s Ñа %d операнада у %s, код %s:%d"
+
+-#: tree.c:7026
++#: tree.c:7042
+ #, gcc-internal-format
+ msgid "tree check: accessed operand %d of omp_clause %s with %d operands in %s, at %s:%d"
+ msgstr "провера Ñтабла: приÑтупих операнду %d од omp_clause %s Ñа %d операнада у %s, код %s:%d"
+@@ -24353,17 +24358,17 @@
+ msgid "Unknown value %qs of -mmacosx-version-min"
+ msgstr "Ðепозната вредноÑÑ‚ %qs за -mmacosx-version-min"
+
+-#: config/darwin.c:1431
++#: config/darwin.c:1433
+ #, fuzzy, gcc-internal-format
+ msgid "%<%s%> 2.95 vtable-compatibility attribute applies only when compiling a kext"
+ msgstr "%<%s%> атрибут ÑаглаÑноÑти в-табела Ñа 2.95 примењује Ñе Ñамо при компилацији у kext"
+
+-#: config/darwin.c:1438
++#: config/darwin.c:1440
+ #, fuzzy, gcc-internal-format
+ msgid "%<%s%> 2.95 vtable-compatibility attribute applies only to C++ classes"
+ msgstr "%<%s%> атрибут ÑаглаÑноÑти в-табела Ñа 2.95 примењује Ñе Ñамо на Ц++ клаÑе"
+
+-#: config/darwin.c:1563
++#: config/darwin.c:1565
+ #, gcc-internal-format
+ msgid "internal and protected visibility attributes not supported in this configuration; ignored"
+ msgstr "атрибути унутрашње и заштићене видљивоÑти ниÑу подржани у овој конфигурацији, игноришем"
+@@ -24459,7 +24464,7 @@
+ msgid "profiler support for WindISS"
+ msgstr "подршка профилиÑања за ВиндИСС"
+
+-#: config/alpha/alpha.c:232 config/rs6000/rs6000.c:1990
++#: config/alpha/alpha.c:232 config/rs6000/rs6000.c:2020
+ #, gcc-internal-format
+ msgid "bad value %qs for -mtls-size switch"
+ msgstr "лоша вредноÑÑ‚ %qs за прекидач -mtls-size"
+@@ -24534,18 +24539,18 @@
+ msgid "bad value %qs for -mmemory-latency"
+ msgstr "лоша вредноÑÑ‚ %qs за -mmemory-latency"
+
+-#: config/alpha/alpha.c:6514 config/alpha/alpha.c:6517 config/s390/s390.c:8279
+-#: config/s390/s390.c:8282
++#: config/alpha/alpha.c:6522 config/alpha/alpha.c:6525 config/s390/s390.c:8335
++#: config/s390/s390.c:8338
+ #, gcc-internal-format
+ msgid "bad builtin fcode"
+ msgstr "лош уграђени fcode"
+
+-#: config/arc/arc.c:388
++#: config/arc/arc.c:392
+ #, gcc-internal-format
+ msgid "argument of %qs attribute is not a string constant"
+ msgstr "аргумент атрибута %qs није конÑтантна ниÑка"
+
+-#: config/arc/arc.c:396
++#: config/arc/arc.c:400
+ #, gcc-internal-format
+ msgid "argument of %qs attribute is not \"ilink1\" or \"ilink2\""
+ msgstr "аргумент атрибута %qs није „ilink1“ или „ilink2“"
+@@ -24555,7 +24560,7 @@
+ msgid "switch -mcpu=%s conflicts with -march= switch"
+ msgstr "прекидач -mcpu=%s коÑи Ñе Ñа -march="
+
+-#: config/arm/arm.c:1060 config/rs6000/rs6000.c:1504 config/sparc/sparc.c:761
++#: config/arm/arm.c:1060 config/rs6000/rs6000.c:1522 config/sparc/sparc.c:764
+ #, gcc-internal-format
+ msgid "bad value (%s) for %s switch"
+ msgstr "лоша вредноÑÑ‚ (%s) за прекидач %s"
+@@ -24695,14 +24700,13 @@
+ msgid "unable to use '%s' for PIC register"
+ msgstr "не могу да кориÑтим „%s“ за ПИЦ региÑтар"
+
+-#: config/arm/arm.c:3067 config/arm/arm.c:3085 config/avr/avr.c:4618
+-#: config/avr/avr.c:4660 config/bfin/bfin.c:4778 config/c4x/c4x.c:4071
+-#: config/h8300/h8300.c:5257 config/i386/i386.c:3009
+-#: config/m68hc11/m68hc11.c:1155 config/m68k/m68k.c:741
+-#: config/mcore/mcore.c:3032 config/mips/mips.c:1151 config/mips/mips.c:1153
+-#: config/mt/mt.c:1275 config/rs6000/rs6000.c:19583 config/sh/sh.c:7984
+-#: config/sh/sh.c:8005 config/sh/sh.c:8028 config/stormy16/stormy16.c:2252
+-#: config/v850/v850.c:2048
++#: config/arm/arm.c:3067 config/arm/arm.c:3085 config/avr/avr.c:4658
++#: config/avr/avr.c:4700 config/bfin/bfin.c:4881 config/h8300/h8300.c:5257
++#: config/i386/i386.c:3040 config/m68hc11/m68hc11.c:1155
++#: config/m68k/m68k.c:741 config/mcore/mcore.c:3032 config/mips/mips.c:1151
++#: config/mips/mips.c:1153 config/mt/mt.c:1275 config/rs6000/rs6000.c:19800
++#: config/sh/sh.c:7987 config/sh/sh.c:8008 config/sh/sh.c:8031
++#: config/stormy16/stormy16.c:2225 config/v850/v850.c:2048
+ #, gcc-internal-format
+ msgid "%qs attribute only applies to functions"
+ msgstr "атрибут %qs примењује Ñе Ñамо на функције"
+@@ -24724,7 +24728,7 @@
+ msgstr "Ñелектор мора бити непоÑредни"
+
+ #. @@@ better error message
+-#: config/arm/arm.c:15839 config/i386/i386.c:20651 config/i386/i386.c:20685
++#: config/arm/arm.c:15839 config/i386/i386.c:20735 config/i386/i386.c:20769
+ #, gcc-internal-format
+ msgid "mask must be an immediate"
+ msgstr "маÑка мора бити непоÑредна"
+@@ -24749,222 +24753,187 @@
+ msgid "static variable %q+D is marked dllimport"
+ msgstr "Ñтатичка променљива %q+D означена је као dllimport"
+
+-#: config/avr/avr.c:690
++#: config/avr/avr.c:718
+ #, gcc-internal-format
+ msgid "large frame pointer change (%d) with -mtiny-stack"
+ msgstr "велика промена (%d) показивача оквира уз -mtiny-stack"
+
+-#: config/avr/avr.c:4591
++#: config/avr/avr.c:4631
+ #, gcc-internal-format
+ msgid "only initialized variables can be placed into program memory area"
+ msgstr "Ñамо уÑпоÑтављене променљиве могу Ñе ÑмеÑтити у меморијÑку облаÑÑ‚ програма"
+
+-#: config/avr/avr.c:4635
++#: config/avr/avr.c:4675
+ #, gcc-internal-format
+ msgid "%qs appears to be a misspelled interrupt handler"
+ msgstr "%qs изгледа као погрешно напиÑан руковалац прекидима"
+
+-#: config/avr/avr.c:4643
++#: config/avr/avr.c:4683
+ #, gcc-internal-format
+ msgid "%qs appears to be a misspelled signal handler"
+ msgstr "%qs изгледа као погрешно напиÑан руковалац Ñигналима"
+
+-#: config/avr/avr.c:4751
++#: config/avr/avr.c:4791
+ #, gcc-internal-format
+ msgid "only uninitialized variables can be placed in the .noinit section"
+ msgstr "Ñамо неуÑпоÑтављене променљиве могу Ñе ÑмеÑтити у одељак .noint"
+
+-#: config/avr/avr.c:4765
++#: config/avr/avr.c:4805
+ #, gcc-internal-format
+ msgid "MCU %qs supported for assembler only"
+ msgstr "МЦУ %qs подржан Ñамо за аÑемблер"
+
+-#: config/avr/avr.h:692
++#: config/avr/avr.h:731
+ #, gcc-internal-format
+ msgid "trampolines not supported"
+ msgstr "трамполине ниÑу подржане"
+
+-#: config/bfin/bfin.c:2259 config/m68k/m68k.c:488
++#: config/bfin/bfin.c:2352 config/m68k/m68k.c:488
+ #, gcc-internal-format
+ msgid "-mshared-library-id=%s is not between 0 and %d"
+ msgstr "-mshared-library-id=%s није између 0 и %d"
+
+-#: config/bfin/bfin.c:2279
++#: config/bfin/bfin.c:2372
+ #, fuzzy, gcc-internal-format
+ msgid "-mcpu=%s is not valid"
+ msgstr "%qs није иÑправно за %qs"
+
+-#: config/bfin/bfin.c:2315
++#: config/bfin/bfin.c:2410
+ #, gcc-internal-format
+ msgid "-mcpu=%s has invalid silicon revision"
+ msgstr ""
+
+-#: config/bfin/bfin.c:2332
++#: config/bfin/bfin.c:2427
+ #, fuzzy, gcc-internal-format
+ msgid "bf561 support is incomplete yet."
+ msgstr "поље %qs има непотпун тип"
+
+-#: config/bfin/bfin.c:2372
++#: config/bfin/bfin.c:2470
+ #, gcc-internal-format
+ msgid "-mshared-library-id= specified without -mid-shared-library"
+ msgstr "-mshared-library-id= наведено без -mid-shared-library"
+
+-#: config/bfin/bfin.c:2378
++#: config/bfin/bfin.c:2473
+ #, fuzzy, gcc-internal-format
+ msgid "Can't use multiple stack checking methods together."
+ msgstr "Уметни кôд за проверу Ñтека у програм"
+
+-#: config/bfin/bfin.c:2381
++#: config/bfin/bfin.c:2476
+ #, gcc-internal-format
+ msgid "ID shared libraries and FD-PIC mode can't be used together."
+ msgstr "дељене библиотеке Ñа ИДом и режим FD-PIC не могу бити употребљени заједно."
+
+-#: config/bfin/bfin.c:2386 config/m68k/m68k.c:582
++#: config/bfin/bfin.c:2481 config/m68k/m68k.c:582
+ #, gcc-internal-format
+ msgid "cannot specify both -msep-data and -mid-shared-library"
+ msgstr "не могу Ñе навеÑти и -msep-data и -mid-shared-library"
+
+-#: config/bfin/bfin.c:4783
++#: config/bfin/bfin.c:4886
+ #, gcc-internal-format
+ msgid "multiple function type attributes specified"
+ msgstr "наведени вишеÑтруки атрибути типа функције"
+
+-#: config/bfin/bfin.c:4839 config/bfin/bfin.c:4868 config/spu/spu.c:2976
++#: config/bfin/bfin.c:4942 config/bfin/bfin.c:4971 config/spu/spu.c:2965
+ #, gcc-internal-format
+ msgid "`%s' attribute only applies to functions"
+ msgstr "атрибут „%s“ примењив је Ñамо на функције"
+
+-#: config/bfin/bfin.c:4850
++#: config/bfin/bfin.c:4953
+ #, gcc-internal-format
+ msgid "can't apply both longcall and shortcall attributes to the same function"
+ msgstr "не могу Ñе на иÑту функцију применити атрибути и longcall и shortcall"
+
+-#: config/bfin/bfin.c:4900
++#: config/bfin/bfin.c:5003
+ #, fuzzy, gcc-internal-format
+ msgid "`%s' attribute only applies to variables"
+ msgstr "атрибут %qs примењује Ñе Ñамо на променљиве"
+
+-#: config/bfin/bfin.c:4907
++#: config/bfin/bfin.c:5010
+ #, fuzzy, gcc-internal-format
+ msgid "`%s' attribute cannot be specified for local variables"
+ msgstr "%Jатрибут одељка Ñе не може навеÑти за локалне променљиве"
+
+-#: config/c4x/c4x-c.c:68
+-#, gcc-internal-format
+-msgid "missing '(' after '#pragma %s' - ignored"
+-msgstr "недоÑтаје „(“ поÑле „#pragma %s“, игноришем"
+-
+-#: config/c4x/c4x-c.c:71
+-#, gcc-internal-format
+-msgid "missing function name in '#pragma %s' - ignored"
+-msgstr "недоÑтаје име функције у „#pragma %s“, игноришем"
+-
+-#: config/c4x/c4x-c.c:76
+-#, gcc-internal-format
+-msgid "malformed '#pragma %s' - ignored"
+-msgstr "лоше формирано „#pragma %s“, игноришем"
+-
+-#: config/c4x/c4x-c.c:78
+-#, gcc-internal-format
+-msgid "missing section name in '#pragma %s' - ignored"
+-msgstr "недоÑтаје име одељка у „#pragma %s“, игноришем"
+-
+-#: config/c4x/c4x-c.c:83
+-#, gcc-internal-format
+-msgid "missing ')' for '#pragma %s' - ignored"
+-msgstr "недоÑтаје „)“ за „#pragma %s“, игноришем"
+-
+-#: config/c4x/c4x-c.c:86
+-#, gcc-internal-format
+-msgid "junk at end of '#pragma %s'"
+-msgstr "Ñмеће на крају „#pragma %s“"
+-
+-#: config/c4x/c4x.c:859
+-#, gcc-internal-format
+-msgid "ISR %s requires %d words of local vars, max is 32767"
+-msgstr "ИСР %s захтева %d речи локалних променљивих, највише 32767"
+-
+ #. This function is for retrieving a part of an instruction name for
+ #. an operator, for immediate output. If that ever happens for
+ #. MULT, we need to apply TARGET_MUL_BUG in the caller. Make sure
+ #. we notice.
+-#: config/cris/cris.c:434
++#: config/cris/cris.c:447
+ #, gcc-internal-format
+ msgid "MULT case in cris_op_str"
+ msgstr "MULT Ñлучај у cris_op_str"
+
+-#: config/cris/cris.c:811
++#: config/cris/cris.c:837
+ #, gcc-internal-format
+ msgid "invalid use of ':' modifier"
+ msgstr "неиÑправна употреба модификатора „:“"
+
+-#: config/cris/cris.c:983
++#: config/cris/cris.c:1024
+ #, gcc-internal-format
+ msgid "internal error: bad register: %d"
+ msgstr "унутрашња грешка: лош региÑтар %d"
+
+-#: config/cris/cris.c:1524
++#: config/cris/cris.c:1586
+ #, gcc-internal-format
+ msgid "internal error: sideeffect-insn affecting main effect"
+ msgstr "унутрашња грешка: ија за Ñпоредни ефекат утиче на главни ефекат"
+
+-#: config/cris/cris.c:1548
++#: config/cris/cris.c:1683
+ #, gcc-internal-format
+ msgid "unknown cc_attr value"
+ msgstr "непозната вредноÑÑ‚ cc_attr"
+
+ #. If we get here, the caller got its initial tests wrong.
+-#: config/cris/cris.c:1901
++#: config/cris/cris.c:2040
+ #, gcc-internal-format
+ msgid "internal error: cris_side_effect_mode_ok with bad operands"
+ msgstr "унутрашња грешка: cris_side_effect_mode_ok Ñа лошим операндима"
+
+-#: config/cris/cris.c:2104
++#: config/cris/cris.c:2332
+ #, gcc-internal-format
+ msgid "-max-stackframe=%d is not usable, not between 0 and %d"
+ msgstr "-max-stackframe=%d није употребљиво, није између 0 и %d"
+
+-#: config/cris/cris.c:2132
++#: config/cris/cris.c:2360
+ #, gcc-internal-format
+ msgid "unknown CRIS version specification in -march= or -mcpu= : %s"
+ msgstr "непозната одредница верзије КРИСа у -march= или -mcpu= : %s"
+
+-#: config/cris/cris.c:2168
++#: config/cris/cris.c:2396
+ #, gcc-internal-format
+ msgid "unknown CRIS cpu version specification in -mtune= : %s"
+ msgstr "непозната одредница верзије КРИСа у -mtune= : %s"
+
+-#: config/cris/cris.c:2186
++#: config/cris/cris.c:2417
+ #, gcc-internal-format
+ msgid "-fPIC and -fpic are not supported in this configuration"
+ msgstr "-fPIC и -fpic ниÑу подржани у овој конфигурацији"
+
+-#: config/cris/cris.c:2201
++#: config/cris/cris.c:2432
+ #, gcc-internal-format
+ msgid "that particular -g option is invalid with -maout and -melinux"
+ msgstr "та конкретна опција -g није иÑправна уз -maout и -melinux"
+
+-#: config/cris/cris.c:2414
++#: config/cris/cris.c:2658
+ #, gcc-internal-format
+ msgid "Unknown src"
+ msgstr "Ðепознат извор"
+
+-#: config/cris/cris.c:2475
++#: config/cris/cris.c:2719
+ #, gcc-internal-format
+ msgid "Unknown dest"
+ msgstr "Ðепознато одредиште"
+
+-#: config/cris/cris.c:2760
++#: config/cris/cris.c:3004
+ #, gcc-internal-format
+ msgid "stackframe too big: %d bytes"
+ msgstr "оквир Ñтека превелик: %d бајтова"
+
+-#: config/cris/cris.c:3213 config/cris/cris.c:3240
++#: config/cris/cris.c:3498 config/cris/cris.c:3526
+ #, gcc-internal-format
+ msgid "expand_binop failed in movsi got"
+ msgstr "expand_binop није уÑпело у movsi got"
+
+-#: config/cris/cris.c:3321
++#: config/cris/cris.c:3607
+ #, gcc-internal-format
+ msgid "emitting PIC operand, but PIC register isn't set up"
+ msgstr "емитује Ñе ПИЦ операнд, али ПИЦ региÑтар није поÑтављен"
+@@ -25018,7 +24987,7 @@
+ #. See cris.c for TARGET_ASM_FUNCTION_PROLOGUE and
+ #. TARGET_ASM_FUNCTION_EPILOGUE.
+ #. Node: Profiling
+-#: config/cris/cris.h:868
++#: config/cris/cris.h:948
+ #, gcc-internal-format
+ msgid "no FUNCTION_PROFILER for CRIS"
+ msgstr "недоÑтаје FUNCTION_PROFILER за КРИС"
+@@ -25033,62 +25002,62 @@
+ msgid "Trampoline support for CRX"
+ msgstr "Подршка трамполина за ЦРИкÑ"
+
+-#: config/frv/frv.c:8622
++#: config/frv/frv.c:8626
+ #, gcc-internal-format
+ msgid "accumulator is not a constant integer"
+ msgstr "акумулатор није целобројна конÑтанта"
+
+-#: config/frv/frv.c:8627
++#: config/frv/frv.c:8631
+ #, gcc-internal-format
+ msgid "accumulator number is out of bounds"
+ msgstr "број акумулатора је ван граница"
+
+-#: config/frv/frv.c:8638
++#: config/frv/frv.c:8642
+ #, gcc-internal-format
+ msgid "inappropriate accumulator for %qs"
+ msgstr "неодговарајући акумулатор за %qs"
+
+-#: config/frv/frv.c:8715
++#: config/frv/frv.c:8719
+ #, gcc-internal-format
+ msgid "invalid IACC argument"
+ msgstr "неодговарајући аргумент за IACC"
+
+-#: config/frv/frv.c:8738
++#: config/frv/frv.c:8742
+ #, gcc-internal-format
+ msgid "%qs expects a constant argument"
+ msgstr "%qs очекује конÑтантан аргумент"
+
+-#: config/frv/frv.c:8743
++#: config/frv/frv.c:8747
+ #, gcc-internal-format
+ msgid "constant argument out of range for %qs"
+ msgstr "конÑтантан аргумент ван опÑега за %qs"
+
+-#: config/frv/frv.c:9224
++#: config/frv/frv.c:9228
+ #, gcc-internal-format
+ msgid "media functions are not available unless -mmedia is used"
+ msgstr "медијÑке функције ниÑу доÑтупне ако Ñе не укључи -mmedia"
+
+-#: config/frv/frv.c:9236
++#: config/frv/frv.c:9240
+ #, gcc-internal-format
+ msgid "this media function is only available on the fr500"
+ msgstr "ова медијÑка функција доÑтупна је Ñамо на Ñ„Ñ€500"
+
+-#: config/frv/frv.c:9264
++#: config/frv/frv.c:9268
+ #, gcc-internal-format
+ msgid "this media function is only available on the fr400 and fr550"
+ msgstr "ова медијÑка функција доÑтупна је Ñамо на Ñ„Ñ€400 и Ñ„Ñ€550"
+
+-#: config/frv/frv.c:9283
++#: config/frv/frv.c:9287
+ #, gcc-internal-format
+ msgid "this builtin function is only available on the fr405 and fr450"
+ msgstr "ова уграђена функција доÑтупна је Ñамо на Ñ„Ñ€405 и Ñ„Ñ€450"
+
+-#: config/frv/frv.c:9292
++#: config/frv/frv.c:9296
+ #, gcc-internal-format
+ msgid "this builtin function is only available on the fr500 and fr550"
+ msgstr "ова уграђена функција доÑтупна је Ñамо на Ñ„Ñ€500 и Ñ„Ñ€550"
+
+-#: config/frv/frv.c:9304
++#: config/frv/frv.c:9308
+ #, gcc-internal-format
+ msgid "this builtin function is only available on the fr450"
+ msgstr "ова уграђена функција доÑтупна је Ñамо на Ñ„Ñ€450"
+@@ -25113,311 +25082,316 @@
+ msgid "can't set position in PCH file: %m"
+ msgstr "не могу да поÑтавим положај у ПЦХ датотеци: %m"
+
+-#: config/i386/i386.c:2133 config/i386/i386.c:2333
++#: config/i386/i386.c:2158 config/i386/i386.c:2358
+ #, gcc-internal-format
+ msgid "bad value (%s) for -mtune= switch"
+ msgstr "лоша вредноÑÑ‚ (%s) за прекидач -mtune="
+
+-#: config/i386/i386.c:2174
++#: config/i386/i386.c:2199
+ #, fuzzy, gcc-internal-format
+ msgid "bad value (%s) for -mstringop-strategy= switch"
+ msgstr "лоша вредноÑÑ‚ (%s) за прекидач -mtune="
+
+-#: config/i386/i386.c:2177
++#: config/i386/i386.c:2202
+ #, 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.c:2186
++#: config/i386/i386.c:2211
+ #, gcc-internal-format
+ msgid "generic CPU can be used only for -mtune= switch"
+ msgstr "генерички ЦПУ може бити употребљен Ñамо за прекидач -mtune="
+
+-#: config/i386/i386.c:2188 config/i386/i386.c:2297 config/mt/mt.c:804
++#: config/i386/i386.c:2213 config/i386/i386.c:2322 config/mt/mt.c:804
+ #, gcc-internal-format
+ msgid "bad value (%s) for -march= switch"
+ msgstr "лоша вредноÑÑ‚ (%s) за прекидач -march="
+
+-#: config/i386/i386.c:2199
++#: config/i386/i386.c:2224
+ #, fuzzy, gcc-internal-format
+ msgid "code model %s does not support PIC mode"
+ msgstr "модела кôда %s није подржан у ПИЦ режиму"
+
+-#: config/i386/i386.c:2205 config/sparc/sparc.c:725
++#: config/i386/i386.c:2230 config/sparc/sparc.c:728
+ #, gcc-internal-format
+ msgid "bad value (%s) for -mcmodel= switch"
+ msgstr "лоша вредноÑÑ‚ (%s) за прекидач -mcmodel="
+
+-#: config/i386/i386.c:2228
++#: config/i386/i386.c:2253
+ #, gcc-internal-format
+ msgid "bad value (%s) for -masm= switch"
+ msgstr "лоша вредноÑÑ‚ (%s) за прекидач -masm="
+
+-#: config/i386/i386.c:2231
++#: config/i386/i386.c:2256
+ #, gcc-internal-format
+ msgid "code model %qs not supported in the %s bit mode"
+ msgstr "модела кôда %qs није подржан у %s-битном режиму"
+
+-#: config/i386/i386.c:2234
++#: config/i386/i386.c:2259
+ #, gcc-internal-format
+ msgid "%i-bit mode not compiled in"
+ msgstr "%i-битни режим није укомпилован"
+
+-#: config/i386/i386.c:2245 config/i386/i386.c:2319
++#: config/i386/i386.c:2270 config/i386/i386.c:2344
+ #, gcc-internal-format
+ msgid "CPU you selected does not support x86-64 instruction set"
+ msgstr "ЦПУ који Ñте изабрали не подржава Ñкуп инÑтрукција икÑ86-64"
+
+-#: config/i386/i386.c:2351
++#: config/i386/i386.c:2376
+ #, gcc-internal-format
+ msgid "-mregparm is ignored in 64-bit mode"
+ msgstr ""
+
+-#: config/i386/i386.c:2354
++#: config/i386/i386.c:2379
+ #, gcc-internal-format
+ msgid "-mregparm=%d is not between 0 and %d"
+ msgstr "-mregparm=%d није између 0 и %d"
+
+-#: config/i386/i386.c:2366
++#: config/i386/i386.c:2391
+ #, gcc-internal-format
+ msgid "-malign-loops is obsolete, use -falign-loops"
+ msgstr "-malign-loops је заÑтарело, кориÑтите -falign-loops"
+
+-#: config/i386/i386.c:2371 config/i386/i386.c:2384 config/i386/i386.c:2397
++#: config/i386/i386.c:2396 config/i386/i386.c:2409 config/i386/i386.c:2422
+ #, gcc-internal-format
+ msgid "-malign-loops=%d is not between 0 and %d"
+ msgstr "-malign-loops=%d није између 0 и %d"
+
+-#: config/i386/i386.c:2379
++#: config/i386/i386.c:2404
+ #, gcc-internal-format
+ msgid "-malign-jumps is obsolete, use -falign-jumps"
+ msgstr "-malign-jumps је заÑтарело, кориÑтите -falign-jumps"
+
+-#: config/i386/i386.c:2392
++#: config/i386/i386.c:2417
+ #, gcc-internal-format
+ msgid "-malign-functions is obsolete, use -falign-functions"
+ msgstr "-malign-functions је заÑтарело, кориÑтите -falign-functions"
+
+-#: config/i386/i386.c:2425
++#: config/i386/i386.c:2450
+ #, gcc-internal-format
+ msgid "-mbranch-cost=%d is not between 0 and 5"
+ msgstr "-mbranch-cost=%d није између 0 и 5"
+
+-#: config/i386/i386.c:2433
++#: config/i386/i386.c:2458
+ #, gcc-internal-format
+ msgid "-mlarge-data-threshold=%d is negative"
+ msgstr "-mlarge-data-threshold=%d је негативно"
+
+-#: config/i386/i386.c:2447
++#: config/i386/i386.c:2472
+ #, gcc-internal-format
+ msgid "bad value (%s) for -mtls-dialect= switch"
+ msgstr "лоша вредноÑÑ‚ (%s) за прекидач -mtls-dialect="
+
+-#: config/i386/i386.c:2455
++#: config/i386/i386.c:2480
+ #, gcc-internal-format
+ msgid "pc%d is not valid precision setting (32, 64 or 80)"
+ msgstr ""
+
+-#: config/i386/i386.c:2471
++#: config/i386/i386.c:2496
+ #, fuzzy, gcc-internal-format
+ msgid "-mrtd is ignored in 64bit mode"
+ msgstr "конвенција позивања -mrtd није подржана у 64-битном режиму"
+
+-#: config/i386/i386.c:2560
++#: config/i386/i386.c:2585
+ #, gcc-internal-format
+ msgid "-mpreferred-stack-boundary=%d is not between %d and 12"
+ msgstr "-mpreferred-stack-boundary=%d није између %d и 12"
+
+-#: config/i386/i386.c:2569
++#: config/i386/i386.c:2594
+ #, gcc-internal-format
+ msgid "-msseregparm used without SSE enabled"
+ msgstr "-msseregparm употребљено без укључених ССЕ инÑтрукција"
+
+-#: config/i386/i386.c:2580 config/i386/i386.c:2591
++#: config/i386/i386.c:2605 config/i386/i386.c:2616
+ #, gcc-internal-format
+ msgid "SSE instruction set disabled, using 387 arithmetics"
+ msgstr "Ñкуп ССЕ инÑтрукција иÑкључен, кориÑтим 387 аритметику"
+
+-#: config/i386/i386.c:2596
++#: config/i386/i386.c:2621
+ #, gcc-internal-format
+ msgid "387 instruction set disabled, using SSE arithmetics"
+ msgstr "Ñкуп 387 инÑтрукција иÑкључен, кориÑтим ССЕ аритметику"
+
+-#: config/i386/i386.c:2603
++#: config/i386/i386.c:2628
+ #, gcc-internal-format
+ msgid "bad value (%s) for -mfpmath= switch"
+ msgstr "лоша вредноÑÑ‚ (%s) за прекидач -mfpmath="
+
+-#: config/i386/i386.c:2616
++#: config/i386/i386.c:2641
+ #, gcc-internal-format
+ msgid "unknown vectorization library ABI type (%s) for -mveclibabi= switch"
+ msgstr ""
+
+-#: config/i386/i386.c:2635
++#: config/i386/i386.c:2660
+ #, gcc-internal-format
+ msgid "unwind tables currently require either a frame pointer or -maccumulate-outgoing-args for correctness"
+ msgstr "табеле одмотавања тренутно захтевају или показивач оквира или -maccumulate-outgoing-args за иÑправноÑÑ‚"
+
+-#: config/i386/i386.c:3022 config/i386/i386.c:3075
++#: config/i386/i386.c:3053 config/i386/i386.c:3106
+ #, gcc-internal-format
+ msgid "fastcall and regparm attributes are not compatible"
+ msgstr "атрибути fastcall и regparm ниÑу ÑаглаÑни"
+
+-#: config/i386/i386.c:3029
++#: config/i386/i386.c:3060
+ #, gcc-internal-format
+ msgid "%qs attribute requires an integer constant argument"
+ msgstr "атрибут %qs захтева целобројну конÑтанту као аргумент"
+
+-#: config/i386/i386.c:3035
++#: config/i386/i386.c:3066
+ #, gcc-internal-format
+ msgid "argument to %qs attribute larger than %d"
+ msgstr "аргумент за атрибут %qs већи од %d"
+
+-#: config/i386/i386.c:3045
++#: config/i386/i386.c:3076
+ #, gcc-internal-format
+ msgid "%s functions limited to %d register parameters"
+ msgstr "%s функције ограничене на %d региÑтарÑких параметара"
+
+-#: config/i386/i386.c:3067 config/i386/i386.c:3102
++#: config/i386/i386.c:3098 config/i386/i386.c:3133
+ #, gcc-internal-format
+ msgid "fastcall and cdecl attributes are not compatible"
+ msgstr "атрибути fastcall и cdecl ниÑу ÑаглаÑни"
+
+-#: config/i386/i386.c:3071
++#: config/i386/i386.c:3102
+ #, gcc-internal-format
+ msgid "fastcall and stdcall attributes are not compatible"
+ msgstr "атрибути fastcall и stdcall ниÑу ÑаглаÑни"
+
+-#: config/i386/i386.c:3085 config/i386/i386.c:3098
++#: config/i386/i386.c:3116 config/i386/i386.c:3129
+ #, gcc-internal-format
+ msgid "stdcall and cdecl attributes are not compatible"
+ msgstr "атрибути stdcall и cdecl ниÑу ÑаглаÑни"
+
+-#: config/i386/i386.c:3089
++#: config/i386/i386.c:3120
+ #, gcc-internal-format
+ msgid "stdcall and fastcall attributes are not compatible"
+ msgstr "атрибути stdcall и fastcall ниÑу ÑаглаÑни"
+
+-#: config/i386/i386.c:3236
++#: config/i386/i386.c:3271
+ #, gcc-internal-format
+ msgid "Calling %qD with attribute sseregparm without SSE/SSE2 enabled"
+ msgstr "Позивање %qD Ñа атрибутом sseregparm без укључених ССЕ/ССЕ2"
+
+-#: config/i386/i386.c:3239
++#: config/i386/i386.c:3274
+ #, gcc-internal-format
+ msgid "Calling %qT with attribute sseregparm without SSE/SSE2 enabled"
+ msgstr "Позивање %qT Ñа атрибутом sseregparm без укључених ССЕ/ССЕ2"
+
+-#: config/i386/i386.c:3925
++#: config/i386/i386.c:3971
+ #, gcc-internal-format
+ msgid "SSE register return with SSE disabled"
+ msgstr "ССЕ враћање региÑтра уз иÑкључене ССЕ"
+
+-#: config/i386/i386.c:3931
++#: config/i386/i386.c:3977
+ #, gcc-internal-format
+ msgid "SSE register argument with SSE disabled"
+ msgstr "ССЕ региÑтарÑки аргумент уз иÑкључене ССЕ"
+
+-#: config/i386/i386.c:3947
++#: config/i386/i386.c:3993
+ #, gcc-internal-format
+ msgid "x87 register return with x87 disabled"
+ msgstr "враћање из региÑтра x87 када је x87 иÑкључено"
+
+-#: config/i386/i386.c:4265
++#: config/i386/i386.c:4314
+ #, gcc-internal-format
+ msgid "SSE vector argument without SSE enabled changes the ABI"
+ msgstr "ССЕ векторÑки аргумент без укључених ССЕ мења ÐБИ"
+
+-#: config/i386/i386.c:4283
++#: config/i386/i386.c:4332
+ #, gcc-internal-format
+ msgid "MMX vector argument without MMX enabled changes the ABI"
+ msgstr "ÐœÐœÐ˜ÐºÑ Ð²ÐµÐºÑ‚Ð¾Ñ€Ñки аргумент без укључених ÐœÐœÐ˜ÐºÑ Ð¼ÐµÑšÐ° ÐБИ"
+
+-#: config/i386/i386.c:4810
++#: config/i386/i386.c:4859
+ #, gcc-internal-format
+ msgid "SSE vector return without SSE enabled changes the ABI"
+ msgstr "ССЕ векторÑко враћање без укључених ССЕ мења ÐБИ"
+
+-#: config/i386/i386.c:4820
++#: config/i386/i386.c:4869
+ #, gcc-internal-format
+ msgid "MMX vector return without MMX enabled changes the ABI"
+ msgstr "ÐœÐœÐ˜ÐºÑ Ð²ÐµÐºÑ‚Ð¾Ñ€Ñко враћање без укључених ÐœÐœÐ˜ÐºÑ Ð¼ÐµÑšÐ° ÐБИ"
+
+-#: config/i386/i386.c:6171
++#: config/i386/i386.c:6220
+ #, gcc-internal-format
+ msgid "-mstackrealign ignored for nested functions"
+ msgstr "-mstackrealign Ñе игнорише за угњеждене функције"
+
+-#: config/i386/i386.c:6173
++#: config/i386/i386.c:6222
+ #, gcc-internal-format
+ msgid "%s not supported for nested functions"
+ msgstr "%s није подржано за угњеждене функције"
+
+-#: config/i386/i386.c:8576
++#: config/i386/i386.c:8631
+ #, gcc-internal-format
+ msgid "extended registers have no high halves"
+ msgstr "проширени региÑтри немају виÑоке половине"
+
+-#: config/i386/i386.c:8591
++#: config/i386/i386.c:8646
+ #, gcc-internal-format
+ msgid "unsupported operand size for extended register"
+ msgstr "неподржана величина операнда за проширени региÑтар"
+
+-#: config/i386/i386.c:19610
++#: config/i386/i386.c:19694
+ #, fuzzy, gcc-internal-format
+ msgid "the third argument must be a 4-bit immediate"
+ msgstr "аргумент 3 мора бити четворобитна неозначена конÑтанта"
+
+-#: config/i386/i386.c:19614
++#: config/i386/i386.c:19698
+ #, fuzzy, gcc-internal-format
+ msgid "the third argument must be an 8-bit immediate"
+ msgstr "аргумент 1 мора бити петобитна означена конÑтанта"
+
+-#: config/i386/i386.c:19836
++#: config/i386/i386.c:19920
+ #, fuzzy, gcc-internal-format
+ msgid "last argument must be an immediate"
+ msgstr "маÑка мора бити непоÑредна"
+
+-#: config/i386/i386.c:19963
++#: config/i386/i386.c:20047
+ #, fuzzy, gcc-internal-format
+ msgid "the second argument must be a 4-bit immediate"
+ msgstr "аргумент 3 мора бити четворобитна неозначена конÑтанта"
+
+-#: config/i386/i386.c:20209
++#: config/i386/i386.c:20293
+ #, fuzzy, gcc-internal-format
+ msgid "the fifth argument must be a 8-bit immediate"
+ msgstr "аргумент 1 мора бити петобитна означена конÑтанта"
+
+-#: config/i386/i386.c:20304
++#: config/i386/i386.c:20388
+ #, fuzzy, gcc-internal-format
+ msgid "the third argument must be a 8-bit immediate"
+ msgstr "аргумент 1 мора бити петобитна означена конÑтанта"
+
+-#: config/i386/i386.c:20374 config/rs6000/rs6000.c:8133
++#: config/i386/i386.c:20458 config/rs6000/rs6000.c:8240
+ #, gcc-internal-format
+ msgid "selector must be an integer constant in the range 0..%wi"
+ msgstr "Ñелектор мора бити целобројна конÑтанта у опÑегу 0..%wi"
+
+-#: config/i386/i386.c:20774 config/i386/i386.c:20970
++#: config/i386/i386.c:20858 config/i386/i386.c:21054
+ #, gcc-internal-format
+ msgid "shift must be an immediate"
+ msgstr "помак мора бити непоÑредни"
+
+-#: config/i386/i386.c:21033 config/i386/i386.c:21075
++#: config/i386/i386.c:21117 config/i386/i386.c:21159
+ #, fuzzy, gcc-internal-format
+ msgid "index mask must be an immediate"
+ msgstr "маÑка мора бити непоÑредна"
+
+-#: config/i386/i386.c:21038 config/i386/i386.c:21080
++#: config/i386/i386.c:21122 config/i386/i386.c:21164
+ #, fuzzy, gcc-internal-format
+ msgid "length mask must be an immediate"
+ msgstr "маÑка мора бити непоÑредна"
+
+-#: config/i386/i386.c:22525 config/rs6000/rs6000.c:19666
++#: config/i386/i386.c:22609 config/rs6000/rs6000.c:19883
+ #, gcc-internal-format
+ msgid "%qs incompatible attribute ignored"
+ msgstr "%qs неÑаглаÑан атрибут игнориÑан"
+
++#: config/i386/netware.c:253
++#, fuzzy, gcc-internal-format
++msgid "-fPIC and -fpic are not supported for this target"
++msgstr "-fPIC и -fpic ниÑу подржани у овој конфигурацији"
++
+ #: config/i386/winnt-cxx.c:71 config/sh/symbian.c:172
+ #, gcc-internal-format
+ msgid "definition of static data member %q+D of dllimport'd class"
+@@ -25483,57 +25457,57 @@
+ msgid "%Jaddress area attribute cannot be specified for functions"
+ msgstr "%JадреÑна облаÑÑ‚ атрибута не може бити наведена за функције"
+
+-#: config/ia64/ia64.c:5126 config/pa/pa.c:347 config/spu/spu.c:3875
++#: config/ia64/ia64.c:5127 config/pa/pa.c:350 config/spu/spu.c:3864
+ #, gcc-internal-format
+ msgid "value of -mfixed-range must have form REG1-REG2"
+ msgstr "вредноÑÑ‚ уз -mfixed-range мора бити облика РЕГ1-РЕГ2"
+
+-#: config/ia64/ia64.c:5153 config/pa/pa.c:374 config/spu/spu.c:3901
++#: config/ia64/ia64.c:5154 config/pa/pa.c:377 config/spu/spu.c:3890
+ #, gcc-internal-format
+ msgid "%s-%s is an empty range"
+ msgstr "%s-%s је празан опÑег"
+
+-#: config/ia64/ia64.c:5181
++#: config/ia64/ia64.c:5182
+ #, gcc-internal-format
+ msgid "bad value %<%s%> for -mtls-size= switch"
+ msgstr "лоша вредноÑÑ‚ %<%s%> за прекидач -mtls-size="
+
+-#: config/ia64/ia64.c:5209
++#: config/ia64/ia64.c:5210
+ #, gcc-internal-format
+ msgid "bad value %<%s%> for -mtune= switch"
+ msgstr "лоша вредноÑÑ‚ %<%s%> за прекидач -mtune="
+
+-#: config/ia64/ia64.c:5228
++#: config/ia64/ia64.c:5229
+ #, gcc-internal-format
+ msgid "not yet implemented: latency-optimized inline square root"
+ msgstr "још није имплементирано: уткани квадратни корен оптимизован за кашњење"
+
+-#: config/ia64/ia64.c:9950
++#: config/ia64/ia64.c:9951
+ #, fuzzy, gcc-internal-format
+ msgid "version attribute is not a string"
+ msgstr "аргумент атрибута %qs није конÑтантна ниÑка"
+
+-#: config/iq2000/iq2000.c:1812
++#: config/iq2000/iq2000.c:1816
+ #, gcc-internal-format
+ msgid "gp_offset (%ld) or end_offset (%ld) is less than zero"
+ msgstr "gp_offset (%ld) или end_offset (%ld) мањи је од нуле"
+
+-#: config/iq2000/iq2000.c:2583
++#: config/iq2000/iq2000.c:2587
+ #, gcc-internal-format
+ msgid "argument %qd is not a constant"
+ msgstr "аргумент %qd није конÑтанта"
+
+-#: config/iq2000/iq2000.c:2885 config/mt/mt.c:349 config/xtensa/xtensa.c:2118
++#: config/iq2000/iq2000.c:2889 config/mt/mt.c:349 config/xtensa/xtensa.c:2124
+ #, gcc-internal-format
+ msgid "PRINT_OPERAND_ADDRESS, null pointer"
+ msgstr "PRINT_OPERAND_ADDRESS, нулти показивач"
+
+-#: config/iq2000/iq2000.c:3040
++#: config/iq2000/iq2000.c:3044
+ #, gcc-internal-format
+ msgid "PRINT_OPERAND: Unknown punctuation '%c'"
+ msgstr "PRINT_OPERAND: Ðепозната интерпункција „%c“"
+
+-#: config/iq2000/iq2000.c:3049 config/xtensa/xtensa.c:1972
++#: config/iq2000/iq2000.c:3053 config/xtensa/xtensa.c:1978
+ #, gcc-internal-format
+ msgid "PRINT_OPERAND null pointer"
+ msgstr "PRINT_OPERAND нулти показивач"
+@@ -25558,22 +25532,22 @@
+ msgid "invalid target memregs value '%d'"
+ msgstr "неиÑрпавна вредноÑÑ‚ „%d“ за memregs"
+
+-#: config/m32c/m32c.c:2759
++#: config/m32c/m32c.c:2766
+ #, fuzzy, gcc-internal-format
+ msgid "`%s' attribute is not supported for R8C target"
+ msgstr "%Jатрибути одељка ниÑу подржани за овај циљ"
+
+-#: config/m32c/m32c.c:2767
++#: config/m32c/m32c.c:2774
+ #, fuzzy, gcc-internal-format
+ msgid "`%s' attribute applies only to functions"
+ msgstr "%Jатрибут %qE примењује Ñе Ñамо на функције"
+
+-#: config/m32c/m32c.c:2775
++#: config/m32c/m32c.c:2782
+ #, fuzzy, gcc-internal-format
+ msgid "`%s' attribute argument not an integer constant"
+ msgstr "аргумент атрибута %qs није целобројна конÑтанта"
+
+-#: config/m32c/m32c.c:2784
++#: config/m32c/m32c.c:2791
+ #, fuzzy, gcc-internal-format
+ msgid "`%s' attribute argument should be between 18 to 255"
+ msgstr "аргумент атрибута %qs није целобројна конÑтанта"
+@@ -25623,7 +25597,7 @@
+ msgid "interrupt_thread is available only on fido"
+ msgstr ""
+
+-#: config/m68k/m68k.c:1072 config/rs6000/rs6000.c:15014
++#: config/m68k/m68k.c:1072 config/rs6000/rs6000.c:15226
+ #, gcc-internal-format
+ msgid "stack limit expression is not supported"
+ msgstr "израз ограничења Ñтека није подржан"
+@@ -25638,114 +25612,114 @@
+ msgid "%qs redeclared with conflicting %qs attributes"
+ msgstr "Ðтрибут %s коÑи Ñе Ñа атрибутом %s код %L"
+
+-#: config/mips/mips.c:2348
++#: config/mips/mips.c:2382
+ #, gcc-internal-format
+ msgid "MIPS16 TLS"
+ msgstr ""
+
+-#: config/mips/mips.c:5439
++#: config/mips/mips.c:5500
+ #, gcc-internal-format
+ msgid "cannot handle inconsistent calls to %qs"
+ msgstr "не могу да обрадим неуÑаглашене позиве за %qs"
+
+-#: config/mips/mips.c:10258
++#: config/mips/mips.c:10337
+ #, fuzzy, gcc-internal-format
+ msgid "invalid argument to built-in function"
+ msgstr "неиÑправан аргумент за уграђену функцију"
+
+-#: config/mips/mips.c:10530
++#: config/mips/mips.c:10609
+ #, fuzzy, gcc-internal-format
+ msgid "built-in function %qs not supported for MIPS16"
+ msgstr "Уткане функције Ц-а 99 ниÑу подржане; кориÑтим Гну 89"
+
+-#: config/mips/mips.c:11679 config/mips/mips.c:12065
++#: config/mips/mips.c:11751 config/mips/mips.c:12137
+ #, gcc-internal-format
+ msgid "MIPS16 PIC"
+ msgstr ""
+
+-#: config/mips/mips.c:11682
++#: config/mips/mips.c:11754
+ #, gcc-internal-format
+ msgid "hard-float MIPS16 code for ABIs other than o32 and o64"
+ msgstr ""
+
+-#: config/mips/mips.c:11810
++#: config/mips/mips.c:11882
+ #, fuzzy, gcc-internal-format
+ msgid "CPU names must be lower case"
+ msgstr "име ЦПУа мора бити малим Ñловима"
+
+-#: config/mips/mips.c:11938
++#: config/mips/mips.c:12010
+ #, fuzzy, gcc-internal-format
+ msgid "%<-%s%> conflicts with the other architecture options, which specify a %s processor"
+ msgstr "-%s Ñе коÑи Ñа оÑталим опцијама архитектуре, које наводе процеÑор %s"
+
+-#: config/mips/mips.c:11954
++#: config/mips/mips.c:12026
+ #, fuzzy, gcc-internal-format
+ msgid "%<-march=%s%> is not compatible with the selected ABI"
+ msgstr "-march=%s није ÑаглаÑно Ñа изабраним ÐБИјем"
+
+-#: config/mips/mips.c:11969
++#: config/mips/mips.c:12041
+ #, fuzzy, gcc-internal-format
+ msgid "%<-mgp64%> used with a 32-bit processor"
+ msgstr "-mgp64 употребљено Ñа 32-битним процеÑором"
+
+-#: config/mips/mips.c:11971
++#: config/mips/mips.c:12043
+ #, fuzzy, gcc-internal-format
+ msgid "%<-mgp32%> used with a 64-bit ABI"
+ msgstr "-mgp32 употребљено Ñа 64-битним ÐБИјем"
+
+-#: config/mips/mips.c:11973
++#: config/mips/mips.c:12045
+ #, fuzzy, gcc-internal-format
+ msgid "%<-mgp64%> used with a 32-bit ABI"
+ msgstr "-mgp64 употребљено Ñа 32-битним ÐБИјем"
+
+-#: config/mips/mips.c:11989 config/mips/mips.c:11991 config/mips/mips.c:12058
++#: config/mips/mips.c:12061 config/mips/mips.c:12063 config/mips/mips.c:12130
+ #, gcc-internal-format
+ msgid "unsupported combination: %s"
+ msgstr "неподржана комбинација: %s"
+
+-#: config/mips/mips.c:11995
++#: config/mips/mips.c:12067
+ #, gcc-internal-format
+ msgid "%<-mgp32%> and %<-mfp64%> can only be combined if the target supports the mfhc1 and mthc1 instructions"
+ msgstr ""
+
+-#: config/mips/mips.c:11998
++#: config/mips/mips.c:12070
+ #, gcc-internal-format
+ msgid "%<-mgp32%> and %<-mfp64%> can only be combined when using the o32 ABI"
+ msgstr ""
+
+-#: config/mips/mips.c:12052
++#: config/mips/mips.c:12124
+ #, fuzzy, gcc-internal-format
+ msgid "the %qs architecture does not support branch-likely instructions"
+ msgstr "циљни ЦПУ не подржава инÑтрукције Тамба"
+
+-#: config/mips/mips.c:12098
++#: config/mips/mips.c:12170
+ #, gcc-internal-format
+ msgid "%<-mno-gpopt%> needs %<-mexplicit-relocs%>"
+ msgstr ""
+
+-#: config/mips/mips.c:12106 config/mips/mips.c:12109
++#: config/mips/mips.c:12178 config/mips/mips.c:12181
+ #, gcc-internal-format
+ msgid "cannot use small-data accesses for %qs"
+ msgstr ""
+
+-#: config/mips/mips.c:12123
++#: config/mips/mips.c:12195
+ #, fuzzy, gcc-internal-format
+ msgid "%<-mips3d%> requires %<-mpaired-single%>"
+ msgstr "-mips3d захтева -mpaired-single"
+
+-#: config/mips/mips.c:12132
++#: config/mips/mips.c:12204
+ #, fuzzy, gcc-internal-format
+ msgid "%qs must be used with %qs"
+ msgstr "-frepo мора бити коришћено уз -c"
+
+-#: config/mips/mips.c:12139
++#: config/mips/mips.c:12211
+ #, fuzzy, gcc-internal-format
+ msgid "the %qs architecture does not support paired-single instructions"
+ msgstr "циљни ЦПУ не подржава инÑтрукције Тамба"
+
+ #. Output assembler code to FILE to increment profiler label # LABELNO
+ #. for profiling a function entry.
+-#: config/mips/mips.h:2110
++#: config/mips/mips.h:2111
+ #, gcc-internal-format
+ msgid "mips16 function profiling"
+ msgstr "профилиÑање функција мипÑа16"
+@@ -25775,28 +25749,28 @@
+ msgid "MMIX Internal: Last named vararg would not fit in a register"
+ msgstr "ММИИкÑ-унутрашње: ПоÑледње именовано варарг није могло да Ñтане у региÑтар"
+
+-#: config/mmix/mmix.c:1495 config/mmix/mmix.c:1519 config/mmix/mmix.c:1635
++#: config/mmix/mmix.c:1491 config/mmix/mmix.c:1515 config/mmix/mmix.c:1631
+ #, gcc-internal-format
+ msgid "MMIX Internal: Bad register: %d"
+ msgstr "ММИИкÑ-унутрашње: Лош региÑтар: %d"
+
+ #. Presumably there's a missing case above if we get here.
+-#: config/mmix/mmix.c:1627
++#: config/mmix/mmix.c:1623
+ #, gcc-internal-format
+ msgid "MMIX Internal: Missing %qc case in mmix_print_operand"
+ msgstr "ММИИкÑ-унутрашње: ÐедоÑтаје Ñлучај %qc у mmix_print_operand"
+
+-#: config/mmix/mmix.c:1913
++#: config/mmix/mmix.c:1909
+ #, gcc-internal-format
+ msgid "stack frame not a multiple of 8 bytes: %wd"
+ msgstr "оквир Ñтека није умножак 8 бајтова: %wd"
+
+-#: config/mmix/mmix.c:2149
++#: config/mmix/mmix.c:2145
+ #, gcc-internal-format
+ msgid "stack frame not a multiple of octabyte: %wd"
+ msgstr "оквир Ñтека није умножак октабајта: %wd"
+
+-#: config/mmix/mmix.c:2489 config/mmix/mmix.c:2553
++#: config/mmix/mmix.c:2485 config/mmix/mmix.c:2549
+ #, gcc-internal-format
+ msgid "MMIX Internal: %s is not a shiftable int"
+ msgstr "ММИИкÑ-унутрашње: %s није помицљив целобројни"
+@@ -25806,27 +25780,27 @@
+ msgid "info pointer NULL"
+ msgstr "инфопоказивач нулти"
+
+-#: config/pa/pa.c:479
++#: config/pa/pa.c:482
+ #, gcc-internal-format
+ msgid "PIC code generation is not supported in the portable runtime model"
+ msgstr "Ñтварање ПИЦ кôда није подржано преноÑивим моделом извршавања"
+
+-#: config/pa/pa.c:484
++#: config/pa/pa.c:487
+ #, gcc-internal-format
+ msgid "PIC code generation is not compatible with fast indirect calls"
+ msgstr "Ñтварање ПИЦ кôда није ÑаглаÑно Ñа брзим поÑредним позивима"
+
+-#: config/pa/pa.c:489
++#: config/pa/pa.c:492
+ #, gcc-internal-format
+ msgid "-g is only supported when using GAS on this processor,"
+ msgstr "-g је подржано Ñамо када Ñе кориÑти ГÐС на овом процеÑору,"
+
+-#: config/pa/pa.c:490
++#: config/pa/pa.c:493
+ #, gcc-internal-format
+ msgid "-g option disabled"
+ msgstr "опција -g иÑкључена"
+
+-#: config/pa/pa.c:8285
++#: config/pa/pa.c:8373
+ #, gcc-internal-format
+ msgid "alignment (%u) for %s exceeds maximum alignment for global common data. Using %u"
+ msgstr "равнање (%u) за %s премашује највеће равнање за глобалне заједничке податке. КориÑтим %u"
+@@ -25895,250 +25869,251 @@
+ msgid "junk at end of #pragma longcall"
+ msgstr "Ñмеће на крају #pragma longcall"
+
+-#: config/rs6000/rs6000-c.c:2550
++#: config/rs6000/rs6000-c.c:2553
+ #, gcc-internal-format
+ msgid "passing arg %d of %qE discards qualifiers frompointer target type"
+ msgstr "проÑлеђивање арга %d за %qE одбацује одредбе типа показивачког циља"
+
+-#: config/rs6000/rs6000-c.c:2593
++#: config/rs6000/rs6000-c.c:2596
+ #, gcc-internal-format
+ msgid "invalid parameter combination for AltiVec intrinsic"
+ msgstr "неиÑправна комбинација параметара за алтивек ÑопÑтвену"
+
+-#: config/rs6000/rs6000.c:1294
++#: config/rs6000/rs6000.c:1312
+ #, gcc-internal-format
+ msgid "-mdynamic-no-pic overrides -fpic or -fPIC"
+ msgstr "-mdynamic-no-pic потиÑкује -fpic и -fPIC"
+
+-#: config/rs6000/rs6000.c:1305
++#: config/rs6000/rs6000.c:1323
+ #, gcc-internal-format
+ msgid "-m64 requires PowerPC64 architecture, enabling"
+ msgstr "-m64 захтева архитектуру ПауерПЦ-64, укључујем"
+
+-#: config/rs6000/rs6000.c:1528
++#: config/rs6000/rs6000.c:1546
+ #, gcc-internal-format
+ msgid "-mmultiple is not supported on little endian systems"
+ msgstr "-mmultiple није подржано на ÑиÑтемима мале крајноÑти"
+
+-#: config/rs6000/rs6000.c:1535
++#: config/rs6000/rs6000.c:1553
+ #, gcc-internal-format
+ msgid "-mstring is not supported on little endian systems"
+ msgstr "-mstring није подржано на ÑиÑтемима мале крајноÑти"
+
+-#: config/rs6000/rs6000.c:1549
++#: config/rs6000/rs6000.c:1567
+ #, gcc-internal-format
+ msgid "unknown -mdebug-%s switch"
+ msgstr "непознат прекидач -mdebug-%s"
+
+-#: config/rs6000/rs6000.c:1561
++#: config/rs6000/rs6000.c:1579
+ #, gcc-internal-format
+ msgid "unknown -mtraceback arg %qs; expecting %<full%>, %<partial%> or %<none%>"
+ msgstr "непознат арг %qs за -mtraceback; очекивах %<full%>, %<partial%> или %<none%>"
+
+-#: config/rs6000/rs6000.c:1973
++#: config/rs6000/rs6000.c:2003
+ #, gcc-internal-format
+ msgid "unknown -m%s= option specified: '%s'"
+ msgstr "непозната опција типа -m%s=: „%s“"
+
+-#: config/rs6000/rs6000.c:2186
++#: config/rs6000/rs6000.c:2218
+ #, gcc-internal-format
+ msgid "not configured for ABI: '%s'"
+ msgstr "није подешено за ÐБИ: „%s“"
+
+-#: config/rs6000/rs6000.c:2199
++#: config/rs6000/rs6000.c:2231
+ #, gcc-internal-format
+ msgid "Using darwin64 ABI"
+ msgstr "КориÑтим ÐБИ Дарвина64"
+
+-#: config/rs6000/rs6000.c:2204
++#: config/rs6000/rs6000.c:2236
+ #, gcc-internal-format
+ msgid "Using old darwin ABI"
+ msgstr "КориÑтим Ñтари ÐБИ Дарвина"
+
+-#: config/rs6000/rs6000.c:2211
++#: config/rs6000/rs6000.c:2243
+ #, gcc-internal-format
+ msgid "Using IBM extended precision long double"
+ msgstr "КориÑтим ИБМов дугачки двоÑтруки проширене тачноÑти"
+
+-#: config/rs6000/rs6000.c:2217
++#: config/rs6000/rs6000.c:2249
+ #, gcc-internal-format
+ msgid "Using IEEE extended precision long double"
+ msgstr "КориÑтим ИЕЕЕ дугачки двоÑтруки проширене тачноÑти"
+
+-#: config/rs6000/rs6000.c:2222
++#: config/rs6000/rs6000.c:2254
+ #, gcc-internal-format
+ msgid "unknown ABI specified: '%s'"
+ msgstr "наведен непознат ÐБИ: „%s“"
+
+-#: config/rs6000/rs6000.c:2249
++#: config/rs6000/rs6000.c:2281
+ #, gcc-internal-format
+ msgid "invalid option for -mfloat-gprs: '%s'"
+ msgstr "неиÑправна опција за -mfloat-gprs: „%s“"
+
+-#: config/rs6000/rs6000.c:2259
++#: config/rs6000/rs6000.c:2291
+ #, gcc-internal-format
+ msgid "Unknown switch -mlong-double-%s"
+ msgstr "Ðепознат прекицач -mlong-double-%s"
+
+-#: config/rs6000/rs6000.c:2280
++#: config/rs6000/rs6000.c:2312
+ #, gcc-internal-format
+ msgid "-malign-power is not supported for 64-bit Darwin; it is incompatible with the installed C and C++ libraries"
+ msgstr "-malign-power није подржано на 64-битном Дарвину; није ÑаглаÑно Ñа инÑталираним Ц и Ц++ библиотекама"
+
+-#: config/rs6000/rs6000.c:2288
++#: config/rs6000/rs6000.c:2320
+ #, gcc-internal-format
+ msgid "unknown -malign-XXXXX option specified: '%s'"
+ msgstr "наведена непозната опција -malign-XXXXX: „%s“"
+
+-#: config/rs6000/rs6000.c:4989
++#: config/rs6000/rs6000.c:5087
+ #, gcc-internal-format
+ msgid "GCC vector returned by reference: non-standard ABI extension with no compatibility guarantee"
+ msgstr "ГЦЦ вектор враћен упућивачем: неÑтандарно проширење ÐБИја, без јемÑтва ÑаглаÑноÑти"
+
+-#: config/rs6000/rs6000.c:5062
++#: config/rs6000/rs6000.c:5160
+ #, gcc-internal-format
+ msgid "cannot return value in vector register because altivec instructions are disabled, use -maltivec to enable them"
+ msgstr "вредноÑÑ‚ Ñе не може вратити у векторÑком региÑтру јер Ñу алтивек инÑтрукције иÑкључене; употребите -maltivec да их укључите"
+
+-#: config/rs6000/rs6000.c:5320
++#: config/rs6000/rs6000.c:5418
+ #, gcc-internal-format
+ msgid "cannot pass argument in vector register because altivec instructions are disabled, use -maltivec to enable them"
+ msgstr "вредноÑÑ‚ Ñе не може проÑледити у векторÑком региÑтру јер Ñу алтивек инÑтрукције иÑкључене; употребите -maltivec да их укључите"
+
+-#: config/rs6000/rs6000.c:6221
++#: config/rs6000/rs6000.c:6322
+ #, gcc-internal-format
+ msgid "GCC vector passed by reference: non-standard ABI extension with no compatibility guarantee"
+ msgstr "ГЦЦ вектор проÑлеђен упућивачем: неÑтандарно проширење ÐБИја, без јемÑтва ÑаглаÑноÑти"
+
+-#: config/rs6000/rs6000.c:7461
++#: config/rs6000/rs6000.c:7568
+ #, gcc-internal-format
+ msgid "argument 1 must be a 5-bit signed literal"
+ msgstr "аргумент 1 мора бити петобитна означена конÑтанта"
+
+-#: config/rs6000/rs6000.c:7564 config/rs6000/rs6000.c:8475
++#: config/rs6000/rs6000.c:7671 config/rs6000/rs6000.c:8582
+ #, gcc-internal-format
+ msgid "argument 2 must be a 5-bit unsigned literal"
+ msgstr "аргумент 2 мора бити петобитна неозначена конÑтанта"
+
+-#: config/rs6000/rs6000.c:7604
++#: config/rs6000/rs6000.c:7711
+ #, gcc-internal-format
+ msgid "argument 1 of __builtin_altivec_predicate must be a constant"
+ msgstr "аргумент 1 за __builtin_altivec_predicate мора бити конÑтанта"
+
+-#: config/rs6000/rs6000.c:7657
++#: config/rs6000/rs6000.c:7764
+ #, gcc-internal-format
+ msgid "argument 1 of __builtin_altivec_predicate is out of range"
+ msgstr "аргумент 1 за __builtin_altivec_predicate ван опÑега"
+
+-#: config/rs6000/rs6000.c:7906
++#: config/rs6000/rs6000.c:8013
+ #, gcc-internal-format
+ msgid "argument 3 must be a 4-bit unsigned literal"
+ msgstr "аргумент 3 мора бити четворобитна неозначена конÑтанта"
+
+-#: config/rs6000/rs6000.c:8078
++#: config/rs6000/rs6000.c:8185
+ #, gcc-internal-format
+ msgid "argument to %qs must be a 2-bit unsigned literal"
+ msgstr "аргумент за %qs мора бити двобитна неозначена конÑтанта"
+
+-#: config/rs6000/rs6000.c:8220
++#: config/rs6000/rs6000.c:8327
+ #, gcc-internal-format
+ msgid "unresolved overload for Altivec builtin %qF"
+ msgstr "неразрешено препуњавање за алтивек уграђено %qF"
+
+-#: config/rs6000/rs6000.c:8302
++#: config/rs6000/rs6000.c:8409
+ #, gcc-internal-format
+ msgid "argument to dss must be a 2-bit unsigned literal"
+ msgstr "аргумент за dss мора бити двобитна неозначена конÑтанта"
+
+-#: config/rs6000/rs6000.c:8595
++#: config/rs6000/rs6000.c:8702
+ #, fuzzy, gcc-internal-format
+ msgid "argument 1 of __builtin_paired_predicate must be a constant"
+ msgstr "аргумент 1 за __builtin_spe_predicate мора бити конÑтанта"
+
+-#: config/rs6000/rs6000.c:8642
++#: config/rs6000/rs6000.c:8749
+ #, fuzzy, gcc-internal-format
+ msgid "argument 1 of __builtin_paired_predicate is out of range"
+ msgstr "аргумент 1 за __builtin_spe_predicate ван опÑега"
+
+-#: config/rs6000/rs6000.c:8667
++#: config/rs6000/rs6000.c:8774
+ #, gcc-internal-format
+ msgid "argument 1 of __builtin_spe_predicate must be a constant"
+ msgstr "аргумент 1 за __builtin_spe_predicate мора бити конÑтанта"
+
+-#: config/rs6000/rs6000.c:8739
++#: config/rs6000/rs6000.c:8846
+ #, gcc-internal-format
+ msgid "argument 1 of __builtin_spe_predicate is out of range"
+ msgstr "аргумент 1 за __builtin_spe_predicate ван опÑега"
+
+-#: config/rs6000/rs6000.c:14977
++#: config/rs6000/rs6000.c:15189
+ #, gcc-internal-format
+ msgid "stack frame too large"
+ msgstr "оквир Ñтека превелик"
+
+-#: config/rs6000/rs6000.c:17598
++#: config/rs6000/rs6000.c:17811
+ #, gcc-internal-format
+ msgid "no profiling of 64-bit code for this ABI"
+ msgstr "нема профилиÑања 64-битног кôда за овај ÐБИ"
+
+-#: config/rs6000/rs6000.c:19470
++#: config/rs6000/rs6000.c:19687
+ #, gcc-internal-format
+ msgid "use of %<long%> in AltiVec types is invalid for 64-bit code"
+ msgstr "употреба %<long%> у алтивек типовима није иÑправна у 64-битном кôду"
+
+-#: config/rs6000/rs6000.c:19472
++#: config/rs6000/rs6000.c:19689
+ #, gcc-internal-format
+ msgid "use of %<long%> in AltiVec types is deprecated; use %<int%>"
+ msgstr "превазиђена употреба %<long%> у алтивек; кориÑтите %<int%>"
+
+-#: config/rs6000/rs6000.c:19476
++#: config/rs6000/rs6000.c:19693
+ #, gcc-internal-format
+ msgid "use of %<long long%> in AltiVec types is invalid"
+ msgstr "употреба %<long long%> у алтивек типовима није иÑправна"
+
+-#: config/rs6000/rs6000.c:19478
++#: config/rs6000/rs6000.c:19695
+ #, gcc-internal-format
+ msgid "use of %<double%> in AltiVec types is invalid"
+ msgstr "употреба %<double%> у алтивек типовима није иÑправна"
+
+-#: config/rs6000/rs6000.c:19480
++#: config/rs6000/rs6000.c:19697
+ #, gcc-internal-format
+ msgid "use of %<long double%> in AltiVec types is invalid"
+ msgstr "употреба %<long double%> у алтивек типовима није иÑправна"
+
+-#: config/rs6000/rs6000.c:19482
++#: config/rs6000/rs6000.c:19699
+ #, gcc-internal-format
+ msgid "use of boolean types in AltiVec types is invalid"
+ msgstr "употреба логичких типова у алтивек типовима није иÑправна"
+
+-#: config/rs6000/rs6000.c:19484
++#: config/rs6000/rs6000.c:19701
+ #, gcc-internal-format
+ msgid "use of %<complex%> in AltiVec types is invalid"
+ msgstr "употреба %<complex%> у алтивек типовима није иÑправна"
+
+-#: config/rs6000/rs6000.c:19486
++#: config/rs6000/rs6000.c:19703
+ #, gcc-internal-format
+ msgid "use of decimal floating point types in AltiVec types is invalid"
+ msgstr "употреба децималних реалних типова у алтивек типовима није иÑправна"
+
+ #: config/rs6000/aix43.h:38 config/rs6000/aix51.h:37 config/rs6000/aix52.h:38
+-#: config/rs6000/aix53.h:38
++#: config/rs6000/aix53.h:38 config/rs6000/aix61.h:38
+ #, gcc-internal-format
+ msgid "-maix64 and POWER architecture are incompatible"
+ msgstr "-maix64 и архитектура Пауера ниÑу ÑаглаÑни"
+
+ #: config/rs6000/aix43.h:43 config/rs6000/aix51.h:42 config/rs6000/aix52.h:43
+-#: config/rs6000/aix53.h:43
++#: config/rs6000/aix53.h:43 config/rs6000/aix61.h:43
+ #, gcc-internal-format
+ msgid "-maix64 requires PowerPC64 architecture remain enabled"
+ msgstr "-maix64 захтева да архитектура ПауерПЦ-64 оÑтане укључена"
+
+ #: config/rs6000/aix43.h:49 config/rs6000/aix52.h:49 config/rs6000/aix53.h:49
++#: config/rs6000/aix61.h:49
+ #, gcc-internal-format
+ msgid "soft-float and long-double-128 are incompatible"
+ msgstr "soft-float и long-double-128 ниÑу ÑаглаÑни"
+
+ #: config/rs6000/aix43.h:53 config/rs6000/aix51.h:46 config/rs6000/aix52.h:53
+-#: config/rs6000/aix53.h:53
++#: config/rs6000/aix53.h:53 config/rs6000/aix61.h:53
+ #, gcc-internal-format
+ msgid "-maix64 required: 64-bit computation with 32-bit addressing not yet supported"
+ msgstr "потребно је -maix64: 64-битно рачунање Ñа 32-битним адреÑама још увек није подржано"
+@@ -26180,7 +26155,7 @@
+ #. Number of bytes into the frame return addresses can be found. See
+ #. rs6000_stack_info in rs6000.c for more information on how the different
+ #. abi's store the return address.
+-#: config/rs6000/rs6000.h:1560
++#: config/rs6000/rs6000.h:1569
+ #, gcc-internal-format
+ msgid "RETURN_ADDRESS_OFFSET not supported"
+ msgstr "RETURN_ADDRESS_OFFSET није подржано"
+@@ -26303,22 +26278,22 @@
+ msgid "-mstack-guard implies use of -mstack-size"
+ msgstr "-mstack-guard имплицира коришћење -mstack-size"
+
+-#: config/s390/s390.c:6640
++#: config/s390/s390.c:6679
+ #, gcc-internal-format
+ msgid "total size of local variables exceeds architecture limit"
+ msgstr "укупна величина локалних променљивих премашује ограничење архитектуре"
+
+-#: config/s390/s390.c:7298
++#: config/s390/s390.c:7349
+ #, fuzzy, gcc-internal-format
+ msgid "frame size of function %qs is "
+ msgstr "величина оквира за %qs је "
+
+-#: config/s390/s390.c:7328
++#: config/s390/s390.c:7379
+ #, gcc-internal-format
+ msgid "frame size of %qs is "
+ msgstr "величина оквира за %qs је "
+
+-#: config/s390/s390.c:7332
++#: config/s390/s390.c:7383
+ #, gcc-internal-format
+ msgid "%qs uses dynamic stack allocation"
+ msgstr "%qs кориÑти динамичко резервиÑање Ñтека"
+@@ -26328,44 +26303,44 @@
+ msgid "-fPIC and -G are incompatible"
+ msgstr "-fPIC и -G ниÑу ÑаглаÑни"
+
+-#: config/sh/sh.c:6894
++#: config/sh/sh.c:6897
+ #, gcc-internal-format
+ msgid "__builtin_saveregs not supported by this subtarget"
+ msgstr "__builtin_saveregs није подржано овим подциљем"
+
+-#: config/sh/sh.c:7904
++#: config/sh/sh.c:7907
+ #, gcc-internal-format
+ msgid "%qs attribute only applies to interrupt functions"
+ msgstr "атрибут %qs примењив је Ñамо на функције прекида"
+
+-#: config/sh/sh.c:7990
++#: config/sh/sh.c:7993
+ #, gcc-internal-format
+ msgid "attribute interrupt_handler is not compatible with -m5-compact"
+ msgstr "атрибут interrupt_handler није ÑаглаÑан Ñа -m5-compact"
+
+ #. The argument must be a constant string.
+-#: config/sh/sh.c:8012
++#: config/sh/sh.c:8015
+ #, gcc-internal-format
+ msgid "%qs attribute argument not a string constant"
+ msgstr "аргумент атрибута %qs није конÑтантна ниÑка"
+
+ #. The argument must be a constant integer.
+-#: config/sh/sh.c:8037
++#: config/sh/sh.c:8040
+ #, gcc-internal-format
+ msgid "%qs attribute argument not an integer constant"
+ msgstr "аргумент атрибута %qs није целобројна конÑтанта"
+
+-#: config/sh/sh.c:10085
++#: config/sh/sh.c:10084
+ #, gcc-internal-format
+ msgid "r0 needs to be available as a call-clobbered register"
+ msgstr "r0 мора бити доÑтупан као позивом продрман региÑтар"
+
+-#: config/sh/sh.c:10106
++#: config/sh/sh.c:10105
+ #, gcc-internal-format
+ msgid "Need a second call-clobbered general purpose register"
+ msgstr "Потребан је други позивом продрман региÑтар опште намене"
+
+-#: config/sh/sh.c:10114
++#: config/sh/sh.c:10113
+ #, gcc-internal-format
+ msgid "Need a call-clobbered target register"
+ msgstr "Потребан је позивом продрман циљни региÑтар"
+@@ -26395,7 +26370,7 @@
+ msgid "%s %q+D %s after being referenced with dllimport linkage"
+ msgstr "%s %q+D %s пошто је поменута Ñа dllimport повезивошћу"
+
+-#: config/sh/symbian.c:891 cp/tree.c:2737
++#: config/sh/symbian.c:891 cp/tree.c:2753
+ #, gcc-internal-format
+ msgid "lang_* check: failed in %s, at %s:%d"
+ msgstr "провера lang_*: крах у %s, код %s:%d"
+@@ -26438,17 +26413,17 @@
+ msgid "-mrelax is only supported for RTP PIC"
+ msgstr "static није подржано на ТПФ-ОСу"
+
+-#: config/sparc/sparc.c:698
++#: config/sparc/sparc.c:701
+ #, gcc-internal-format
+ msgid "%s is not supported by this configuration"
+ msgstr "%s није подржано овом конфигурацијом"
+
+-#: config/sparc/sparc.c:705
++#: config/sparc/sparc.c:708
+ #, gcc-internal-format
+ msgid "-mlong-double-64 not allowed with -m64"
+ msgstr "-mlong-double-64 није дозвољено уз -m64"
+
+-#: config/sparc/sparc.c:730
++#: config/sparc/sparc.c:733
+ #, gcc-internal-format
+ msgid "-mcmodel= is not supported on 32 bit systems"
+ msgstr "-mcmodel= није подржано на 32-битним ÑиÑтемима"
+@@ -26468,67 +26443,57 @@
+ msgid "parameter list does not match a valid signature for %s()"
+ msgstr ""
+
+-#: config/spu/spu.c:337 config/spu/spu.c:348
++#: config/spu/spu.c:341 config/spu/spu.c:352
+ #, fuzzy, gcc-internal-format
+ msgid "Unknown architecture '%s'"
+ msgstr "непознат машинÑки режим %qs"
+
+-#: config/spu/spu.c:3034
++#: config/spu/spu.c:3023
+ #, fuzzy, gcc-internal-format
+ msgid "`%s' attribute ignored"
+ msgstr "атрибут %qs Ñе игнорише"
+
+-#: config/spu/spu.c:5218
++#: config/spu/spu.c:5207
+ #, fuzzy, gcc-internal-format
+ msgid "%s expects an integer literal in the range [%d, %d]."
+ msgstr "Ñелектор мора бити целобројна конÑтанта у опÑегу 0..%wi"
+
+-#: config/spu/spu.c:5238
++#: config/spu/spu.c:5227
+ #, fuzzy, gcc-internal-format
+ msgid "%s expects an integer literal in the range [%d, %d]. ("
+ msgstr "Ñелектор мора бити целобројна конÑтанта у опÑегу 0..%wi"
+
+-#: config/spu/spu.c:5268
++#: config/spu/spu.c:5257
+ #, gcc-internal-format
+ msgid "%d least significant bits of %s are ignored."
+ msgstr ""
+
+-#: config/stormy16/stormy16.c:499
++#: config/stormy16/stormy16.c:1080
+ #, gcc-internal-format
+-msgid "constant halfword load operand out of range"
+-msgstr "конÑтантан операнд учитавања полу-речи ван опÑега"
+-
+-#: config/stormy16/stormy16.c:509
+-#, gcc-internal-format
+-msgid "constant arithmetic operand out of range"
+-msgstr "конÑтантан аритметички операнд ван опÑега"
+-
+-#: config/stormy16/stormy16.c:1108
+-#, gcc-internal-format
+ msgid "local variable memory requirements exceed capacity"
+ msgstr "потребна меморија за локалне променљиве премашује капацитете"
+
+-#: config/stormy16/stormy16.c:1274
++#: config/stormy16/stormy16.c:1246
+ #, gcc-internal-format
+ msgid "function_profiler support"
+ msgstr "function_profiler подршка"
+
+-#: config/stormy16/stormy16.c:1363
++#: config/stormy16/stormy16.c:1335
+ #, gcc-internal-format
+ msgid "cannot use va_start in interrupt function"
+ msgstr "не може Ñе кориÑтити va_start у функцији прекида"
+
+-#: config/stormy16/stormy16.c:1906
++#: config/stormy16/stormy16.c:1879
+ #, gcc-internal-format
+ msgid "switch statement of size %lu entries too large"
+ msgstr "наредба прекидача Ñа %lu уноÑа је превелика"
+
+-#: config/stormy16/stormy16.c:2274
++#: config/stormy16/stormy16.c:2247
+ #, gcc-internal-format
+ msgid "%<__BELOW100__%> attribute only applies to variables"
+ msgstr "атрибут %<__BELOW100__%> примењује Ñе Ñамо на променљиве"
+
+-#: config/stormy16/stormy16.c:2281
++#: config/stormy16/stormy16.c:2254
+ #, gcc-internal-format
+ msgid "__BELOW100__ attribute not allowed with auto storage class"
+ msgstr "атрибут __BELOW100__ није дозвољен Ñа аутом. Ñкладишном клаÑом"
+@@ -26653,345 +26618,345 @@
+ msgid "too much stack space to prepare: %d"
+ msgstr "превише проÑтора на Ñтеку за Ñпремити: %d"
+
+-#: config/xtensa/xtensa.c:1861
++#: config/xtensa/xtensa.c:1865
+ #, gcc-internal-format
+ msgid "boolean registers required for the floating-point option"
+ msgstr "потребни Ñу логички региÑтри за опцију покретног зареза"
+
+-#: config/xtensa/xtensa.c:1896
++#: config/xtensa/xtensa.c:1900
+ #, gcc-internal-format
+ msgid "-f%s is not supported with CONST16 instructions"
+ msgstr "-f%s није подржано КОÐСТ16 инÑтрукцијама"
+
+-#: config/xtensa/xtensa.c:1901
++#: config/xtensa/xtensa.c:1905
+ #, gcc-internal-format
+ msgid "PIC is required but not supported with CONST16 instructions"
+ msgstr "ПИЦ је потребан али није подржан КОÐСТ16 инÑтрукцијама"
+
+-#: config/xtensa/xtensa.c:2745 config/xtensa/xtensa.c:2765
++#: config/xtensa/xtensa.c:2770 config/xtensa/xtensa.c:2790
+ #, fuzzy, gcc-internal-format
+ msgid "bad builtin code"
+ msgstr "лош уграђени fcode"
+
+-#: config/xtensa/xtensa.c:2873
++#: config/xtensa/xtensa.c:2898
+ #, gcc-internal-format
+ msgid "only uninitialized variables can be placed in a .bss section"
+ msgstr "Ñамо неуÑпоÑтављене променљиве могу бити Ñмештене у одељак .bss"
+
+-#: ada/misc.c:261
++#: ada/misc.c:260
+ #, gcc-internal-format
+ msgid "missing argument to \"-%s\""
+ msgstr "недоÑтаје аргумент за -%s"
+
+-#: ada/misc.c:311
++#: ada/misc.c:310
+ #, gcc-internal-format
+ msgid "%<-gnat%> misspelled as %<-gant%>"
+ msgstr "%<-gnat%> погрешно упиÑано као %<-gant%>"
+
+-#: cp/call.c:2462
++#: cp/call.c:2448
+ #, gcc-internal-format
+ msgid "%s %D(%T, %T, %T) <built-in>"
+ msgstr "%s %D(%T, %T, %T) <уграђено>"
+
+-#: cp/call.c:2467
++#: cp/call.c:2453
+ #, gcc-internal-format
+ msgid "%s %D(%T, %T) <built-in>"
+ msgstr "%s %D(%T, %T) <уграђено>"
+
+-#: cp/call.c:2471
++#: cp/call.c:2457
+ #, gcc-internal-format
+ msgid "%s %D(%T) <built-in>"
+ msgstr "%s %D(%T) <уграђено>"
+
+-#: cp/call.c:2475
++#: cp/call.c:2461
+ #, gcc-internal-format
+ msgid "%s %T <conversion>"
+ msgstr "%s %T <претварање>"
+
+-#: cp/call.c:2477
++#: cp/call.c:2463
+ #, gcc-internal-format
+ msgid "%s %+#D <near match>"
+ msgstr "%s %+#D <приближно поклапање>"
+
+-#: cp/call.c:2479 cp/pt.c:1397
++#: cp/call.c:2465 cp/pt.c:1405
+ #, gcc-internal-format
+ msgid "%s %+#D"
+ msgstr "%s %+#D"
+
+-#: cp/call.c:2720
++#: cp/call.c:2706
+ #, gcc-internal-format
+ msgid "conversion from %qT to %qT is ambiguous"
+ msgstr "двоÑмиÑлено претварање из %qT у %qT"
+
+-#: cp/call.c:2873 cp/call.c:2891 cp/call.c:2954
++#: cp/call.c:2859 cp/call.c:2877 cp/call.c:2940
+ #, gcc-internal-format
+ msgid "no matching function for call to %<%D(%A)%>"
+ msgstr "нема одговарајуће функције за позив %<%D(%A)%>"
+
+-#: cp/call.c:2894 cp/call.c:2957
++#: cp/call.c:2880 cp/call.c:2943
+ #, gcc-internal-format
+ msgid "call of overloaded %<%D(%A)%> is ambiguous"
+ msgstr "двоÑмиÑлен позив препуњене %<%D(%A)%> "
+
+ #. It's no good looking for an overloaded operator() on a
+ #. pointer-to-member-function.
+-#: cp/call.c:3029
++#: cp/call.c:3015
+ #, gcc-internal-format
+ msgid "pointer-to-member function %E cannot be called without an object; consider using .* or ->*"
+ msgstr "показивач на чланÑку функцију %E не може бити позван без објекта; покушајте помоћу .* или ->*"
+
+-#: cp/call.c:3103
++#: cp/call.c:3089
+ #, gcc-internal-format
+ msgid "no match for call to %<(%T) (%A)%>"
+ msgstr "нема поклапања за позив %<(%T) (%A)%>"
+
+-#: cp/call.c:3112
++#: cp/call.c:3098
+ #, gcc-internal-format
+ msgid "call of %<(%T) (%A)%> is ambiguous"
+ msgstr "двоÑмиÑлен позив %<(%T) (%A)%>"
+
+-#: cp/call.c:3150
++#: cp/call.c:3136
+ #, gcc-internal-format
+ msgid "%s for ternary %<operator?:%> in %<%E ? %E : %E%>"
+ msgstr "%s за тернарно %<operator?:%> у %<%E ? %E : %E%>"
+
+-#: cp/call.c:3156
++#: cp/call.c:3142
+ #, gcc-internal-format
+ msgid "%s for %<operator%s%> in %<%E%s%>"
+ msgstr "%s за %<operator%s%> у %<%E%s%>"
+
+-#: cp/call.c:3160
++#: cp/call.c:3146
+ #, gcc-internal-format
+ msgid "%s for %<operator[]%> in %<%E[%E]%>"
+ msgstr "%s за %<operator[]%> у %<%E[%E]%>"
+
+-#: cp/call.c:3165
++#: cp/call.c:3151
+ #, gcc-internal-format
+ msgid "%s for %qs in %<%s %E%>"
+ msgstr "%s за %qs у %<%s %E%>"
+
+-#: cp/call.c:3170
++#: cp/call.c:3156
+ #, gcc-internal-format
+ msgid "%s for %<operator%s%> in %<%E %s %E%>"
+ msgstr "%s за %<operator%s%> у %<%E %s %E%>"
+
+-#: cp/call.c:3173
++#: cp/call.c:3159
+ #, gcc-internal-format
+ msgid "%s for %<operator%s%> in %<%s%E%>"
+ msgstr "%s за %<operator%s%> у %<%s%E%>"
+
+-#: cp/call.c:3265
++#: cp/call.c:3251
+ #, gcc-internal-format
+ msgid "ISO C++ forbids omitting the middle term of a ?: expression"
+ msgstr "ИСО Ц++ забрањује изоÑтављање Ñредњег члана израза ?:"
+
+-#: cp/call.c:3343
++#: cp/call.c:3329
+ #, gcc-internal-format
+ msgid "second operand to the conditional operator is of type %<void%>, but the third operand is neither a throw-expression nor of type %<void%>"
+ msgstr ""
+
+-#: cp/call.c:3348
++#: cp/call.c:3334
+ #, gcc-internal-format
+ msgid "third operand to the conditional operator is of type %<void%>, but the second operand is neither a throw-expression nor of type %<void%>"
+ msgstr ""
+
+-#: cp/call.c:3389 cp/call.c:3609
++#: cp/call.c:3375 cp/call.c:3595
+ #, gcc-internal-format
+ msgid "operands to ?: have different types %qT and %qT"
+ msgstr "операнди у ?: различитих Ñу типова %qT и %qT"
+
+-#: cp/call.c:3563
++#: cp/call.c:3549
+ #, gcc-internal-format
+ msgid "enumeral mismatch in conditional expression: %qT vs %qT"
+ msgstr "неÑлагање набројивих у уÑловном изразу: %qT пр. %qT"
+
+-#: cp/call.c:3570
++#: cp/call.c:3556
+ #, gcc-internal-format
+ msgid "enumeral and non-enumeral type in conditional expression"
+ msgstr "набројиви и ненабројиви тип у уÑловном изразу"
+
+-#: cp/call.c:3874
++#: cp/call.c:3860
+ #, gcc-internal-format
+ msgid "no %<%D(int)%> declared for postfix %qs, trying prefix operator instead"
+ msgstr "%<%D(int)%> није деклариÑано за поÑтфикÑно %qs, покушавам Ñмену префикÑним оператором"
+
+-#: cp/call.c:3947
++#: cp/call.c:3936
+ #, gcc-internal-format
+ msgid "comparison between %q#T and %q#T"
+ msgstr "поређење између %q#T и %q#T"
+
+-#: cp/call.c:4229
++#: cp/call.c:4218
+ #, gcc-internal-format
+ msgid "no corresponding deallocation function for `%D'"
+ msgstr "нема одговарајуће функције за оÑлобађање меморије за ‘%D’"
+
+-#: cp/call.c:4234
++#: cp/call.c:4223
+ #, gcc-internal-format
+ msgid "no suitable %<operator %s%> for %qT"
+ msgstr "нема погодног %<operator %s%> за %qT"
+
+-#: cp/call.c:4252
++#: cp/call.c:4241
+ #, gcc-internal-format
+ msgid "%q+#D is private"
+ msgstr "%q+#D је приватно"
+
+-#: cp/call.c:4254
++#: cp/call.c:4243
+ #, gcc-internal-format
+ msgid "%q+#D is protected"
+ msgstr "%q+#D је заштићено"
+
+-#: cp/call.c:4256
++#: cp/call.c:4245
+ #, gcc-internal-format
+ msgid "%q+#D is inaccessible"
+ msgstr "%q+#D није приÑтупно"
+
+-#: cp/call.c:4257
++#: cp/call.c:4246
+ #, gcc-internal-format
+ msgid "within this context"
+ msgstr "у овом контекÑту"
+
+-#: cp/call.c:4303
++#: cp/call.c:4292
+ #, gcc-internal-format
+ msgid "passing NULL to non-pointer argument %P of %qD"
+ msgstr "проÑлеђивање NULL непоказивачком аргументу %P од %qD"
+
+-#: cp/call.c:4306
++#: cp/call.c:4295
+ #, gcc-internal-format
+ msgid "converting to non-pointer type %qT from NULL"
+ msgstr "претварање у непоказивачки тип %qT из NULL"
+
+-#: cp/call.c:4312
++#: cp/call.c:4301
+ #, fuzzy, gcc-internal-format
+ msgid "converting %<false%> to pointer type for argument %P of %qD"
+ msgstr "не може Ñе претворити %qT у %qT као аргумент %qP за %qD"
+
+-#: cp/call.c:4356 cp/cvt.c:217
++#: cp/call.c:4346 cp/cvt.c:217
+ #, gcc-internal-format
+ msgid "invalid conversion from %qT to %qT"
+ msgstr "неиÑправно претварање из %qT у %qT"
+
+-#: cp/call.c:4358
++#: cp/call.c:4348
+ #, gcc-internal-format
+ msgid " initializing argument %P of %qD"
+ msgstr " уÑпоÑтављање аргумента %P од %qD"
+
+-#: cp/call.c:4491
++#: cp/call.c:4498
+ #, gcc-internal-format
+ msgid "cannot bind bitfield %qE to %qT"
+ msgstr "не може Ñе повезати битÑко поље %qE Ñа %qT"
+
+-#: cp/call.c:4494 cp/call.c:4510
++#: cp/call.c:4501 cp/call.c:4517
+ #, gcc-internal-format
+ msgid "cannot bind packed field %qE to %qT"
+ msgstr "не може Ñе повезати паковано поље %qE Ñа %qT"
+
+-#: cp/call.c:4497
++#: cp/call.c:4504
+ #, gcc-internal-format
+ msgid "cannot bind rvalue %qE to %qT"
+ msgstr "не може Ñе повезати д-вредноÑÑ‚ %qE Ñа %qT"
+
+-#: cp/call.c:4611
++#: cp/call.c:4620
+ #, gcc-internal-format
+ msgid "cannot pass objects of non-POD type %q#T through %<...%>; call will abort at runtime"
+ msgstr "не могу Ñе проÑледити објекти не-ПОД типа %q#T кроз %<...%>; позив ће иÑкочити при извршавању"
+
+ #. Undefined behavior [expr.call] 5.2.2/7.
+-#: cp/call.c:4639
++#: cp/call.c:4648
+ #, gcc-internal-format
+ msgid "cannot receive objects of non-POD type %q#T through %<...%>; call will abort at runtime"
+ msgstr "не могу Ñе примати објекти не-ПОД типа %q#T кроз %<...%>; позив ће иÑкочити при извршавању"
+
+-#: cp/call.c:4687
++#: cp/call.c:4696
+ #, gcc-internal-format
+ msgid "the default argument for parameter %d of %qD has not yet been parsed"
+ msgstr "подразумевани аргумент за параметер %d у %qD још увек није рашчлањен"
+
+-#: cp/call.c:4697
++#: cp/call.c:4706
+ #, fuzzy, gcc-internal-format
+ msgid "recursive evaluation of default argument for %q#D"
+ msgstr "поновљена дефиниција подразумеваног аргумента за %q#D"
+
+-#: cp/call.c:4802
++#: cp/call.c:4811
+ #, gcc-internal-format
+ msgid "argument of function call might be a candidate for a format attribute"
+ msgstr "аргумент позива функције може бити кандидат за форматÑки атрибут"
+
+-#: cp/call.c:4950
++#: cp/call.c:4959
+ #, gcc-internal-format
+ msgid "passing %qT as %<this%> argument of %q#D discards qualifiers"
+ msgstr "проÑлеђивање %qT као аргумента %<this%> у %q#D одбацује одредбе"
+
+-#: cp/call.c:4969
++#: cp/call.c:4978
+ #, gcc-internal-format
+ msgid "%qT is not an accessible base of %qT"
+ msgstr "%qT није приÑтупна оÑнова од %qT"
+
+-#: cp/call.c:5229
++#: cp/call.c:5238
+ #, gcc-internal-format
+ msgid "could not find class$ field in java interface type %qT"
+ msgstr "не могу да нађем поље class$ у јаванÑком типу Ñучеља %qT"
+
+-#: cp/call.c:5470
++#: cp/call.c:5479
+ #, gcc-internal-format
+ msgid "call to non-function %qD"
+ msgstr "позив не-функције %qD"
+
+-#: cp/call.c:5595
++#: cp/call.c:5604
+ #, gcc-internal-format
+ msgid "no matching function for call to %<%T::%s(%A)%#V%>"
+ msgstr "нема одговарајуће функције за позив %<%T::%s(%A)%#V%>"
+
+-#: cp/call.c:5613
++#: cp/call.c:5622
+ #, gcc-internal-format
+ msgid "call of overloaded %<%s(%A)%> is ambiguous"
+ msgstr "двоÑмиÑлен позив препуњене %<%s(%A)%>"
+
+-#: cp/call.c:5639
++#: cp/call.c:5648
+ #, gcc-internal-format
+ msgid "cannot call member function %qD without object"
+ msgstr "чланÑка функција %qD не може Ñе позвати без објекта"
+
+-#: cp/call.c:6283
++#: cp/call.c:6307
+ #, gcc-internal-format
+ msgid "passing %qT chooses %qT over %qT"
+ msgstr "проÑлеђивање %qT бира %qT пре него %qT"
+
+-#: cp/call.c:6285 cp/name-lookup.c:4320 cp/name-lookup.c:4753
++#: cp/call.c:6309 cp/name-lookup.c:4322 cp/name-lookup.c:4757
+ #, gcc-internal-format
+ msgid " in call to %qD"
+ msgstr " у позиву %qD"
+
+-#: cp/call.c:6342
++#: cp/call.c:6366
+ #, gcc-internal-format
+ msgid "choosing %qD over %qD"
+ msgstr "бирам %qD пре него %qD"
+
+-#: cp/call.c:6343
++#: cp/call.c:6367
+ #, gcc-internal-format
+ msgid " for conversion from %qT to %qT"
+ msgstr " за претварање из %qT у %qT"
+
+-#: cp/call.c:6345
++#: cp/call.c:6369
+ #, gcc-internal-format
+ msgid " because conversion sequence for the argument is better"
+ msgstr " зато што је редоÑлед претварања за аргумент бољи"
+
+-#: cp/call.c:6459
++#: cp/call.c:6483
+ #, 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.c:6603
++#: cp/call.c:6627
+ #, gcc-internal-format
+ msgid "could not convert %qE to %qT"
+ msgstr "не могу да претворим %qE у %qT"
+
+-#: cp/call.c:6737
++#: cp/call.c:6761
+ #, gcc-internal-format
+ msgid "invalid initialization of non-const reference of type %qT from a temporary of type %qT"
+ msgstr "неиÑправно уÑпоÑтављање неконÑтантног упућивача типа %qT привременим типа %qT"
+
+-#: cp/call.c:6741
++#: cp/call.c:6765
+ #, gcc-internal-format
+ msgid "invalid initialization of reference of type %qT from expression of type %qT"
+ msgstr "неиÑправно уÑпоÑтављање упућивача типа %qT изразом типа %qT"
+@@ -27001,343 +26966,343 @@
+ msgid "cannot convert from base %qT to derived type %qT via virtual base %qT"
+ msgstr "не може Ñе претворити из оÑнове %qT у изведени тип %qT преко виртуелне оÑнове %qT"
+
+-#: cp/class.c:961
++#: cp/class.c:971
+ #, gcc-internal-format
+ msgid "Java class %qT cannot have a destructor"
+ msgstr "јаванÑка клаÑа %qT не може имати деÑтруктор"
+
+-#: cp/class.c:963
++#: cp/class.c:973
+ #, gcc-internal-format
+ msgid "Java class %qT cannot have an implicit non-trivial destructor"
+ msgstr "јаванÑка клаÑа %qT не може имати имплицитни нетривијални деÑтруктор"
+
+-#: cp/class.c:1062
++#: cp/class.c:1074
+ #, gcc-internal-format
+ msgid "repeated using declaration %q+D"
+ msgstr "поновљена декларација коришћења %q+D"
+
+-#: cp/class.c:1064
++#: cp/class.c:1076
+ #, gcc-internal-format
+ msgid "using declaration %q+D conflicts with a previous using declaration"
+ msgstr "декларација коришћења %q+D коÑи Ñе Ñа претходном декларацијом коришћења"
+
+-#: cp/class.c:1069
++#: cp/class.c:1081
+ #, gcc-internal-format
+ msgid "%q+#D cannot be overloaded"
+ msgstr "%q+#D не може бити препуњено"
+
+-#: cp/class.c:1070
++#: cp/class.c:1082
+ #, gcc-internal-format
+ msgid "with %q+#D"
+ msgstr "Ñа %q+#D"
+
+-#: cp/class.c:1137
++#: cp/class.c:1149
+ #, gcc-internal-format
+ msgid "conflicting access specifications for method %q+D, ignored"
+ msgstr "Ñукобљене одреднице приÑтупа за метод %q+D, игноришем"
+
+-#: cp/class.c:1140
++#: cp/class.c:1152
+ #, gcc-internal-format
+ msgid "conflicting access specifications for field %qE, ignored"
+ msgstr "Ñукобљене одреднице приÑтупа за поље %qE, игноришем"
+
+-#: cp/class.c:1201 cp/class.c:1209
++#: cp/class.c:1213 cp/class.c:1221
+ #, gcc-internal-format
+ msgid "%q+D invalid in %q#T"
+ msgstr "%q+D неиÑправно у %q#T"
+
+-#: cp/class.c:1202
++#: cp/class.c:1214
+ #, gcc-internal-format
+ msgid " because of local method %q+#D with same name"
+ msgstr " због иÑтоименог локалног метода %q+#D"
+
+-#: cp/class.c:1210
++#: cp/class.c:1222
+ #, gcc-internal-format
+ msgid " because of local member %q+#D with same name"
+ msgstr " због иÑтоименог локалног члана %q+#D"
+
+-#: cp/class.c:1253
++#: cp/class.c:1265
+ #, gcc-internal-format
+ msgid "base class %q#T has a non-virtual destructor"
+ msgstr "оÑновна клаÑа %q#T има не-виртуелни деÑтруктор"
+
+-#: cp/class.c:1570
++#: cp/class.c:1582
+ #, gcc-internal-format
+ msgid "all member functions in class %qT are private"
+ msgstr "Ñве чланÑке функције у клаÑи %qT Ñу приватне"
+
+-#: cp/class.c:1582
++#: cp/class.c:1594
+ #, gcc-internal-format
+ msgid "%q#T only defines a private destructor and has no friends"
+ msgstr "%q#T дефинише Ñамо приватни деÑтруктор и нема пријатељâ"
+
+-#: cp/class.c:1626
++#: cp/class.c:1639
+ #, gcc-internal-format
+ msgid "%q#T only defines private constructors and has no friends"
+ msgstr "%q#T дефинише Ñамо приватне конÑтрукторе и нема пријатељâ"
+
+-#: cp/class.c:2019
++#: cp/class.c:2032
+ #, gcc-internal-format
+ msgid "no unique final overrider for %qD in %qT"
+ msgstr "нема јединÑтвеног коначног потиÑкивача за %qD у %qT"
+
+ #. Here we know it is a hider, and no overrider exists.
+-#: cp/class.c:2439
++#: cp/class.c:2452
+ #, gcc-internal-format
+ msgid "%q+D was hidden"
+ msgstr "%q+D је Ñакривено"
+
+-#: cp/class.c:2440
++#: cp/class.c:2453
+ #, gcc-internal-format
+ msgid " by %q+D"
+ msgstr " овим %q+D"
+
+-#: cp/class.c:2483 cp/decl2.c:1135
++#: cp/class.c:2496 cp/decl2.c:1178
+ #, gcc-internal-format
+ msgid "%q+#D invalid; an anonymous union can only have non-static data members"
+ msgstr "%q+#D није иÑправно; анонимна унија може имати Ñамо неÑтатичке чланÑке податке"
+
+-#: cp/class.c:2486
++#: cp/class.c:2499
+ #, fuzzy, gcc-internal-format
+ msgid "%q+#D invalid; an anonymous struct can only have non-static data members"
+ msgstr "%q+#D није иÑправно; анонимна унија може имати Ñамо неÑтатичке чланÑке податке"
+
+-#: cp/class.c:2494 cp/decl2.c:1141
++#: cp/class.c:2507 cp/decl2.c:1184
+ #, gcc-internal-format
+ msgid "private member %q+#D in anonymous union"
+ msgstr "приватни члан %q+#D у анонимној унији"
+
+-#: cp/class.c:2496
++#: cp/class.c:2509
+ #, fuzzy, gcc-internal-format
+ msgid "private member %q+#D in anonymous struct"
+ msgstr "приватни члан %q+#D у анонимној унији"
+
+-#: cp/class.c:2501 cp/decl2.c:1143
++#: cp/class.c:2514 cp/decl2.c:1186
+ #, gcc-internal-format
+ msgid "protected member %q+#D in anonymous union"
+ msgstr "заштићени члан %q+#D у анонимној унији"
+
+-#: cp/class.c:2503
++#: cp/class.c:2516
+ #, fuzzy, gcc-internal-format
+ msgid "protected member %q+#D in anonymous struct"
+ msgstr "заштићени члан %q+#D у анонимној унији"
+
+-#: cp/class.c:2677
++#: cp/class.c:2695
+ #, gcc-internal-format
+ msgid "bit-field %q+#D with non-integral type"
+ msgstr "битÑко поље %q+#D неинтегралног типа"
+
+-#: cp/class.c:2690
++#: cp/class.c:2708
+ #, gcc-internal-format
+ msgid "bit-field %q+D width not an integer constant"
+ msgstr "ширина битÑког поља %q+D није целобројна конÑтанта"
+
+-#: cp/class.c:2695
++#: cp/class.c:2713
+ #, gcc-internal-format
+ msgid "negative width in bit-field %q+D"
+ msgstr "негативна ширина у биÑтком пољу %q+D"
+
+-#: cp/class.c:2700
++#: cp/class.c:2718
+ #, gcc-internal-format
+ msgid "zero width for bit-field %q+D"
+ msgstr "нулта ширина за битÑко поље %q+D"
+
+-#: cp/class.c:2706
++#: cp/class.c:2724
+ #, gcc-internal-format
+ msgid "width of %q+D exceeds its type"
+ msgstr "ширина %q+D премашује Ñвој тип"
+
+-#: cp/class.c:2715
++#: cp/class.c:2733
+ #, gcc-internal-format
+ msgid "%q+D is too small to hold all values of %q#T"
+ msgstr "%q+D је премало да Ñадржи Ñве вредноÑти за %q#T"
+
+-#: cp/class.c:2772
++#: cp/class.c:2790
+ #, gcc-internal-format
+ msgid "member %q+#D with constructor not allowed in union"
+ msgstr "члан %q+#D Ñа конÑтруктором није дозвољен у унији"
+
+-#: cp/class.c:2775
++#: cp/class.c:2793
+ #, gcc-internal-format
+ msgid "member %q+#D with destructor not allowed in union"
+ msgstr "члан %q+#D Ñа деÑтруктором није дозвољен у унији"
+
+-#: cp/class.c:2777
++#: cp/class.c:2795
+ #, gcc-internal-format
+ msgid "member %q+#D with copy assignment operator not allowed in union"
+ msgstr "члан %q+#D Ñа оператором копирања-доделе није дозвољен у унији"
+
+-#: cp/class.c:2801
++#: cp/class.c:2819
+ #, gcc-internal-format
+ msgid "multiple fields in union %qT initialized"
+ msgstr "уÑпоÑтављена вишеÑтрука поља у унији %qT"
+
+-#: cp/class.c:2890
++#: cp/class.c:2908
+ #, gcc-internal-format
+ msgid "%q+D may not be static because it is a member of a union"
+ msgstr "%q+D не може бити Ñтатичко зато што је члан уније"
+
+-#: cp/class.c:2895
++#: cp/class.c:2913
+ #, gcc-internal-format
+ msgid "%q+D may not have reference type %qT because it is a member of a union"
+ msgstr "%q+D не може имати тип упућивача %qT зато што је члан уније"
+
+-#: cp/class.c:2906
++#: cp/class.c:2924
+ #, gcc-internal-format
+ msgid "field %q+D invalidly declared function type"
+ msgstr "поље %q+D неиÑправно деклариÑан функцијÑки тип"
+
+-#: cp/class.c:2912
++#: cp/class.c:2930
+ #, gcc-internal-format
+ msgid "field %q+D invalidly declared method type"
+ msgstr "поље %q+D неиÑправно деклариÑан методÑки тип"
+
+-#: cp/class.c:2944
++#: cp/class.c:2968
+ #, gcc-internal-format
+-msgid "non-static reference %q+#D in class without a constructor"
+-msgstr "неÑтатички упућивач %q+#D у клаÑи без конÑтруктора"
+-
+-#: cp/class.c:2955
+-#, gcc-internal-format
+ msgid "ignoring packed attribute because of unpacked non-POD field %q+#D"
+ msgstr "игноришем атрибут паковања због непакованог не-ПОД поља %q+#D"
+
+-#: cp/class.c:3022
++#: cp/class.c:3047
+ #, gcc-internal-format
+-msgid "non-static const member %q+#D in class without a constructor"
+-msgstr "неÑтатчики конÑтантни члан %q+#D у клаÑи без конÑтруктора"
+-
+-#: cp/class.c:3037
+-#, gcc-internal-format
+ msgid "field %q+#D with same name as class"
+ msgstr "поље %q+#D иÑтог имена као и клаÑа"
+
+-#: cp/class.c:3068
++#: cp/class.c:3078
+ #, gcc-internal-format
+ msgid "%q#T has pointer data members"
+ msgstr "%q#T има показивачке чланÑке податке"
+
+-#: cp/class.c:3073
++#: cp/class.c:3083
+ #, gcc-internal-format
+ msgid " but does not override %<%T(const %T&)%>"
+ msgstr " али не потиÑкује %<%T(const %T&)%>"
+
+-#: cp/class.c:3075
++#: cp/class.c:3085
+ #, gcc-internal-format
+ msgid " or %<operator=(const %T&)%>"
+ msgstr " или %<operator=(const %T&)%>"
+
+-#: cp/class.c:3079
++#: cp/class.c:3089
+ #, gcc-internal-format
+ msgid " but does not override %<operator=(const %T&)%>"
+ msgstr " али не потиÑкује %<operator=(const %T&)%>"
+
+-#: cp/class.c:3540
++#: cp/class.c:3550
+ #, gcc-internal-format
+ msgid "offset of empty base %qT may not be ABI-compliant and maychange in a future version of GCC"
+ msgstr "помак празне оÑнове %qT можда не поштује ÐБИ и може Ñе изменити у будућим верзијама ГЦЦа"
+
+-#: cp/class.c:3665
++#: cp/class.c:3675
+ #, gcc-internal-format
+ msgid "class %qT will be considered nearly empty in a future version of GCC"
+ msgstr "клаÑа %qT ће бити Ñматрана Ñкоро празном у будућим верзијама ГЦЦа"
+
+-#: cp/class.c:3747
++#: cp/class.c:3757
+ #, gcc-internal-format
+ msgid "initializer specified for non-virtual method %q+D"
+ msgstr "уÑпоÑтављач наведен за невиртуелни метод %q+D"
+
+-#: cp/class.c:4412
++#: cp/class.c:4228
+ #, gcc-internal-format
++msgid "non-static reference %q+#D in class without a constructor"
++msgstr "неÑтатички упућивач %q+#D у клаÑи без конÑтруктора"
++
++#: cp/class.c:4233
++#, gcc-internal-format
++msgid "non-static const member %q+#D in class without a constructor"
++msgstr "неÑтатчики конÑтантни члан %q+#D у клаÑи без конÑтруктора"
++
++#: cp/class.c:4488
++#, gcc-internal-format
+ msgid "offset of virtual base %qT is not ABI-compliant and may change in a future version of GCC"
+ msgstr "помак виртуелне оÑнове %qT не поштује ÐБИ и може Ñе изменити у будућим верзијама ГЦЦа"
+
+-#: cp/class.c:4513
++#: cp/class.c:4589
+ #, gcc-internal-format
+ msgid "direct base %qT inaccessible in %qT due to ambiguity"
+ msgstr "непоÑредна оÑнова %qT није доÑтупна у %qT уÑлед двоÑмиÑленоÑти"
+
+-#: cp/class.c:4525
++#: cp/class.c:4601
+ #, gcc-internal-format
+ msgid "virtual base %qT inaccessible in %qT due to ambiguity"
+ msgstr "виртуелна оÑнова %qT није доÑтупна у %qT уÑлед двоÑмиÑленоÑти"
+
+-#: cp/class.c:4704
++#: cp/class.c:4780
+ #, gcc-internal-format
+ msgid "size assigned to %qT may not be ABI-compliant and may change in a future version of GCC"
+ msgstr "величина додељена %qT можда не поштује ÐБИ и може Ñе изменити у будућим верзијама ГЦЦа"
+
+-#: cp/class.c:4744
++#: cp/class.c:4820
+ #, gcc-internal-format
+ msgid "the offset of %qD may not be ABI-compliant and may change in a future version of GCC"
+ msgstr "помак за %qD можда не поштује ÐБИ и може Ñе изменити у будућим верзијама ГЦЦа"
+
+-#: cp/class.c:4772
++#: cp/class.c:4848
+ #, gcc-internal-format
+ msgid "offset of %q+D is not ABI-compliant and may change in a future version of GCC"
+ msgstr "помак за %q+D можда не поштује ÐБИ и може Ñе изменити у будућим верзијама ГЦЦа"
+
+-#: cp/class.c:4781
++#: cp/class.c:4857
+ #, gcc-internal-format
+ msgid "%q+D contains empty classes which may cause base classes to be placed at different locations in a future version of GCC"
+ msgstr "%q+D Ñадржи празне клаÑе које могу довеÑти до Ñмештања оÑновних клаÑа на различитој локацији у будућим верзијама ГЦЦа"
+
+-#: cp/class.c:4864
++#: cp/class.c:4944
+ #, gcc-internal-format
+ msgid "layout of classes derived from empty class %qT may change in a future version of GCC"
+ msgstr "раÑпоред клаÑа изведених из празне клаÑе %qT може бити промењен у будућим верзијама ГЦЦа"
+
+-#: cp/class.c:5010 cp/parser.c:14608
++#: cp/class.c:5090 cp/parser.c:14688
+ #, gcc-internal-format
+ msgid "redefinition of %q#T"
+ msgstr "поновна дефиниција %q#T"
+
+-#: cp/class.c:5166
++#: cp/class.c:5246
+ #, fuzzy, gcc-internal-format
+ msgid "%q#T has virtual functions and accessible non-virtual destructor"
+ msgstr "%q#T има виртуелне функције, али невиртуелни деÑтруктор"
+
+-#: cp/class.c:5268
++#: cp/class.c:5348
+ #, gcc-internal-format
+ msgid "trying to finish struct, but kicked out due to previous parse errors"
+ msgstr "у покушају да довршим Ñтруктуру, али избачен уÑлед претходних грешака у рашчлањивању"
+
+-#: cp/class.c:5728
++#: cp/class.c:5808
+ #, gcc-internal-format
+ msgid "language string %<\"%E\"%> not recognized"
+ msgstr "језичка ниÑка %<\"%E\"%> није препозната"
+
+-#: cp/class.c:5817
++#: cp/class.c:5897
+ #, gcc-internal-format
+ msgid "cannot resolve overloaded function %qD based on conversion to type %qT"
+ msgstr "не могу да разрешим препуњену функцију %qD на оÑнову претварања у тип %qT"
+
+-#: cp/class.c:5946
++#: cp/class.c:6026
+ #, gcc-internal-format
+ msgid "no matches converting function %qD to type %q#T"
+ msgstr "нема поклапања за претварање функције %qD у тип %q#T"
+
+-#: cp/class.c:5969
++#: cp/class.c:6049
+ #, gcc-internal-format
+ msgid "converting overloaded function %qD to type %q#T is ambiguous"
+ msgstr "двоÑмиÑлено претварање препуњене функције %qD у тип %q#T"
+
+-#: cp/class.c:5995
++#: cp/class.c:6075
+ #, gcc-internal-format
+ msgid "assuming pointer to member %qD"
+ msgstr "претпоÑтављам показивач на члан %qD"
+
+-#: cp/class.c:5998
++#: cp/class.c:6078
+ #, gcc-internal-format
+ msgid "(a pointer to member can only be formed with %<&%E%>)"
+ msgstr "(показивач на члан може бити формиран Ñамо помоћу %<&%E%>)"
+
+-#: cp/class.c:6054 cp/class.c:6088
++#: cp/class.c:6134 cp/class.c:6168
+ #, gcc-internal-format
+ msgid "not enough type information"
+ msgstr "нема довољно података о типу"
+
+-#: cp/class.c:6071
++#: cp/class.c:6151
+ #, gcc-internal-format
+ msgid "argument of type %qT does not match %qT"
+ msgstr "аргумент типа %qT не поклапа Ñе Ñа %qT"
+@@ -27347,12 +27312,12 @@
+ #. A name N used in a class S shall refer to the same declaration
+ #. in its context and when re-evaluated in the completed scope of
+ #. S.
+-#: cp/class.c:6358 cp/decl.c:1199 cp/name-lookup.c:526
++#: cp/class.c:6438 cp/decl.c:1200 cp/name-lookup.c:525
+ #, gcc-internal-format
+ msgid "declaration of %q#D"
+ msgstr "декларација %q#D"
+
+-#: cp/class.c:6359
++#: cp/class.c:6439
+ #, gcc-internal-format
+ msgid "changes meaning of %qD from %q+#D"
+ msgstr "мења значење за %qD Ñа %q+#D"
+@@ -27387,7 +27352,7 @@
+ msgid "conversion from %qT to %qT discards qualifiers"
+ msgstr "претварање из %qT у %qT одбацује одредбе"
+
+-#: cp/cvt.c:470 cp/typeck.c:5257
++#: cp/cvt.c:470 cp/typeck.c:5265
+ #, gcc-internal-format
+ msgid "casting %qT to %qT does not dereference pointer"
+ msgstr "претапање %qT у %qT не разрешава показивач"
+@@ -27397,190 +27362,190 @@
+ msgid "cannot convert type %qT to type %qT"
+ msgstr "не може Ñе претворити из типа %qT у %qT"
+
+-#: cp/cvt.c:656
++#: cp/cvt.c:649
+ #, gcc-internal-format
+ msgid "conversion from %q#T to %q#T"
+ msgstr "претварање из %q#T у %q#T"
+
+-#: cp/cvt.c:668 cp/cvt.c:688
++#: cp/cvt.c:661 cp/cvt.c:681
+ #, gcc-internal-format
+ msgid "%q#T used where a %qT was expected"
+ msgstr "%q#T употребљено где је %qT очекивано"
+
+-#: cp/cvt.c:703
++#: cp/cvt.c:696
+ #, gcc-internal-format
+ msgid "%q#T used where a floating point value was expected"
+ msgstr "%q#T употребљено где је очекивана вредноÑÑ‚ у покретном зарезу"
+
+-#: cp/cvt.c:750
++#: cp/cvt.c:743
+ #, gcc-internal-format
+ msgid "conversion from %qT to non-scalar type %qT requested"
+ msgstr "захтевано претварање из %qT у неÑкаларни тип %qT"
+
+-#: cp/cvt.c:784
++#: cp/cvt.c:777
+ #, gcc-internal-format
+ msgid "pseudo-destructor is not called"
+ msgstr "пÑеудодеÑтруктор Ñе не позива"
+
+-#: cp/cvt.c:844
++#: cp/cvt.c:837
+ #, gcc-internal-format
+ msgid "object of incomplete type %qT will not be accessed in %s"
+ msgstr "објекту непотпуног типа %qT неће Ñе приÑтупити у %s"
+
+-#: cp/cvt.c:849
++#: cp/cvt.c:842
+ #, gcc-internal-format
+ msgid "object of type %qT will not be accessed in %s"
+ msgstr "објекту типа %qT неће Ñе приÑтупити у %s"
+
+-#: cp/cvt.c:865
++#: cp/cvt.c:858
+ #, gcc-internal-format
+ msgid "object %qE of incomplete type %qT will not be accessed in %s"
+ msgstr "објекту %qE непотпуног типа %qT неће Ñе приÑтупити у %s"
+
+ #. [over.over] enumerates the places where we can take the address
+ #. of an overloaded function, and this is not one of them.
+-#: cp/cvt.c:902
++#: cp/cvt.c:895
+ #, gcc-internal-format
+ msgid "%s cannot resolve address of overloaded function"
+ msgstr "%s не може да разреши адреÑу препуњене функције"
+
+ #. Only warn when there is no &.
+-#: cp/cvt.c:909
++#: cp/cvt.c:902
+ #, gcc-internal-format
+ msgid "%s is a reference, not call, to function %qE"
+ msgstr "%s је упућивач, а не позив, за функцију %qE"
+
+-#: cp/cvt.c:926
++#: cp/cvt.c:919
+ #, gcc-internal-format
+ msgid "%s has no effect"
+ msgstr "%s нема ефекта"
+
+-#: cp/cvt.c:958
++#: cp/cvt.c:951
+ #, gcc-internal-format
+ msgid "value computed is not used"
+ msgstr "израчуната вредноÑÑ‚ Ñе не кориÑти"
+
+-#: cp/cvt.c:1068
++#: cp/cvt.c:1061
+ #, gcc-internal-format
+ msgid "converting NULL to non-pointer type"
+ msgstr "претварање NULL у непоказивачки тип"
+
+-#: cp/cvt.c:1174
++#: cp/cvt.c:1167
+ #, gcc-internal-format
+ msgid "ambiguous default type conversion from %qT"
+ msgstr "двоÑмиÑлено подразумевано претварање типа из %qT"
+
+-#: cp/cvt.c:1176
++#: cp/cvt.c:1169
+ #, gcc-internal-format
+ msgid " candidate conversions include %qD and %qD"
+ msgstr " могућа претварања укључују %qD и %qD"
+
+-#: cp/decl.c:1062
++#: cp/decl.c:1063
+ #, gcc-internal-format
+ msgid "%qD was declared %<extern%> and later %<static%>"
+ msgstr "%qD је прво деклариÑано као %<extern%> а каÑније %<static%>"
+
+-#: cp/decl.c:1063 cp/decl.c:1618 objc/objc-act.c:2931 objc/objc-act.c:7503
++#: cp/decl.c:1064 cp/decl.c:1619 objc/objc-act.c:2931 objc/objc-act.c:7503
+ #, gcc-internal-format
+ msgid "previous declaration of %q+D"
+ msgstr "претходна декларација %q+D"
+
+-#: cp/decl.c:1096
++#: cp/decl.c:1097
+ #, gcc-internal-format
+ msgid "declaration of %qF throws different exceptions"
+ msgstr "декларација %qF баца различите изузетке"
+
+-#: cp/decl.c:1097
++#: cp/decl.c:1098
+ #, gcc-internal-format
+ msgid "from previous declaration %q+F"
+ msgstr "од претходне декларације %q+F"
+
+-#: cp/decl.c:1153
++#: cp/decl.c:1154
+ #, gcc-internal-format
+ msgid "function %q+D redeclared as inline"
+ msgstr "функција %q+D поново деклариÑана као уткана"
+
+-#: cp/decl.c:1155
++#: cp/decl.c:1156
+ #, gcc-internal-format
+ msgid "previous declaration of %q+D with attribute noinline"
+ msgstr "претходна декларација %q+D Ñа атрибутом неуткане"
+
+-#: cp/decl.c:1162
++#: cp/decl.c:1163
+ #, gcc-internal-format
+ msgid "function %q+D redeclared with attribute noinline"
+ msgstr "функција %q+D поново деклариÑана Ñа атрибутом неуткане"
+
+-#: cp/decl.c:1164
++#: cp/decl.c:1165
+ #, gcc-internal-format
+ msgid "previous declaration of %q+D was inline"
+ msgstr "претходна декларација %q+D била је уткано"
+
+-#: cp/decl.c:1186 cp/decl.c:1259
++#: cp/decl.c:1187 cp/decl.c:1260
+ #, gcc-internal-format
+ msgid "shadowing %s function %q#D"
+ msgstr "заклањање %s функције %q#D"
+
+-#: cp/decl.c:1195
++#: cp/decl.c:1196
+ #, gcc-internal-format
+ msgid "library function %q#D redeclared as non-function %q#D"
+ msgstr "библиотечка функција %q#D поново деклариÑана као не-функција %q#D"
+
+-#: cp/decl.c:1200
++#: cp/decl.c:1201
+ #, gcc-internal-format
+ msgid "conflicts with built-in declaration %q#D"
+ msgstr "коÑи Ñе Ñа декларацијом уграђеног %q#D"
+
+-#: cp/decl.c:1254 cp/decl.c:1380 cp/decl.c:1396
++#: cp/decl.c:1255 cp/decl.c:1381 cp/decl.c:1397
+ #, gcc-internal-format
+ msgid "new declaration %q#D"
+ msgstr "нова декларација %q#D"
+
+-#: cp/decl.c:1255
++#: cp/decl.c:1256
+ #, gcc-internal-format
+ msgid "ambiguates built-in declaration %q#D"
+ msgstr "чини декларацију уграђеног %q#D двоÑмиÑленом"
+
+-#: cp/decl.c:1344
++#: cp/decl.c:1345
+ #, gcc-internal-format
+ msgid "%q#D redeclared as different kind of symbol"
+ msgstr "%q#D поново деклариÑано као другачија врÑта Ñимбола"
+
+-#: cp/decl.c:1347
++#: cp/decl.c:1348
+ #, gcc-internal-format
+ msgid "previous declaration of %q+#D"
+ msgstr "претходна декларација %q+#D"
+
+-#: cp/decl.c:1366
++#: cp/decl.c:1367
+ #, gcc-internal-format
+ msgid "declaration of template %q#D"
+ msgstr "декларација шаблона %q#D"
+
+-#: cp/decl.c:1367 cp/name-lookup.c:527
++#: cp/decl.c:1368 cp/name-lookup.c:526
+ #, gcc-internal-format
+ msgid "conflicts with previous declaration %q+#D"
+ msgstr "коÑи Ñе Ñа претходном декларацијом %q+#D"
+
+-#: cp/decl.c:1381 cp/decl.c:1397
++#: cp/decl.c:1382 cp/decl.c:1398
+ #, gcc-internal-format
+ msgid "ambiguates old declaration %q+#D"
+ msgstr "чини Ñтару декларацију %q+#D двоÑмиÑленом"
+
+-#: cp/decl.c:1389
++#: cp/decl.c:1390
+ #, gcc-internal-format
+ msgid "declaration of C function %q#D conflicts with"
+ msgstr "декларација Ц функције %q#D коÑи Ñе Ñа"
+
+-#: cp/decl.c:1391
++#: cp/decl.c:1392
+ #, gcc-internal-format
+ msgid "previous declaration %q+#D here"
+ msgstr "претходном декларацијом %q+#D овде"
+
+-#: cp/decl.c:1405
++#: cp/decl.c:1406
+ #, gcc-internal-format
+ msgid "conflicting declaration %q#D"
+ msgstr "Ñукобљена декларација %q#D"
+
+-#: cp/decl.c:1406
++#: cp/decl.c:1407
+ #, gcc-internal-format
+ msgid "%q+D has a previous declaration as %q#D"
+ msgstr "%q+D има претходну декларацију као %q#D"
+@@ -27592,63 +27557,63 @@
+ #. A namespace-name defined at global scope shall not be
+ #. declared as the name of any other entity in any global scope
+ #. of the program.
+-#: cp/decl.c:1458
++#: cp/decl.c:1459
+ #, gcc-internal-format
+ msgid "declaration of namespace %qD conflicts with"
+ msgstr "декларација именÑког проÑтора %qD коÑи Ñе Ñа"
+
+-#: cp/decl.c:1459
++#: cp/decl.c:1460
+ #, gcc-internal-format
+ msgid "previous declaration of namespace %q+D here"
+ msgstr "претходном декларацијом именÑког проÑтора %q+D овде"
+
+-#: cp/decl.c:1470
++#: cp/decl.c:1471
+ #, gcc-internal-format
+ msgid "%q+#D previously defined here"
+ msgstr "%q+#D претходно дефиниÑано овде"
+
+ #. Prototype decl follows defn w/o prototype.
+-#: cp/decl.c:1480
++#: cp/decl.c:1481
+ #, gcc-internal-format
+ msgid "prototype for %q+#D"
+ msgstr "прототип за %q+#D"
+
+-#: cp/decl.c:1481
++#: cp/decl.c:1482
+ #, gcc-internal-format
+ msgid "%Jfollows non-prototype definition here"
+ msgstr "%Jпрати не-прототипÑку дефиницију овде"
+
+-#: cp/decl.c:1521
++#: cp/decl.c:1522
+ #, gcc-internal-format
+ msgid "previous declaration of %q+#D with %qL linkage"
+ msgstr "претходна декларација %q+#D Ñа повезивошћу %qL"
+
+-#: cp/decl.c:1523
++#: cp/decl.c:1524
+ #, gcc-internal-format
+ msgid "conflicts with new declaration with %qL linkage"
+ msgstr "коÑи Ñе Ñа новом декларацијом Ñа повезивошћу %qL"
+
+-#: cp/decl.c:1546 cp/decl.c:1552
++#: cp/decl.c:1547 cp/decl.c:1553
+ #, gcc-internal-format
+ msgid "default argument given for parameter %d of %q#D"
+ msgstr "подразумевани аргумент дат за параметар %d у %q#D"
+
+-#: cp/decl.c:1548 cp/decl.c:1554
++#: cp/decl.c:1549 cp/decl.c:1555
+ #, gcc-internal-format
+ msgid "after previous specification in %q+#D"
+ msgstr "поÑле претходног навода у %q+#D"
+
+-#: cp/decl.c:1563
++#: cp/decl.c:1564
+ #, gcc-internal-format
+ msgid "%q#D was used before it was declared inline"
+ msgstr "%q#D је употребљено пре него што је деклариÑано уткано"
+
+-#: cp/decl.c:1564
++#: cp/decl.c:1565
+ #, gcc-internal-format
+ msgid "%Jprevious non-inline declaration here"
+ msgstr "%Jпретходна неуткана декларација овде"
+
+-#: cp/decl.c:1617
++#: cp/decl.c:1618
+ #, gcc-internal-format
+ msgid "redundant redeclaration of %qD in same scope"
+ msgstr "Ñувишна поновна декларација %qD у иÑтом доÑегу"
+@@ -27661,313 +27626,319 @@
+ #. that specialization that would cause an implicit
+ #. instantiation to take place, in every translation unit in
+ #. which such a use occurs.
+-#: cp/decl.c:1932
++#: cp/decl.c:1939
+ #, gcc-internal-format
+ msgid "explicit specialization of %qD after first use"
+ msgstr "екÑплицитна Ñпецијализација %qD поÑле прве употребе"
+
+-#: cp/decl.c:2028
++#: cp/decl.c:2035
+ #, gcc-internal-format
+ msgid "%q+D: visibility attribute ignored because it"
+ msgstr "%q+D: атрибут видљивоÑти игнориÑан зато што"
+
+-#: cp/decl.c:2030
++#: cp/decl.c:2037
+ #, gcc-internal-format
+ msgid "%Jconflicts with previous declaration here"
+ msgstr "%JÑе коÑи Ñа претходном декларацијом овде"
+
+-#: cp/decl.c:2457
++#: cp/decl.c:2464
+ #, gcc-internal-format
+ msgid "jump to label %qD"
+ msgstr "Ñкок на етикету %qD"
+
+-#: cp/decl.c:2459
++#: cp/decl.c:2466
+ #, gcc-internal-format
+ msgid "jump to case label"
+ msgstr "Ñкок на етикету Ñлучаја"
+
+-#: cp/decl.c:2461
++#: cp/decl.c:2468
+ #, gcc-internal-format
+ msgid "%H from here"
+ msgstr "%H одавде"
+
+-#: cp/decl.c:2480 cp/decl.c:2643
++#: cp/decl.c:2487 cp/decl.c:2650
+ #, gcc-internal-format
+ msgid " exits OpenMP structured block"
+ msgstr " излази из Ñтруктуираног блока ОпенМПа"
+
+-#: cp/decl.c:2501
++#: cp/decl.c:2508
+ #, gcc-internal-format
+ msgid " crosses initialization of %q+#D"
+ msgstr " преÑеца уÑпоÑтављање %q+#D"
+
+-#: cp/decl.c:2503 cp/decl.c:2618
++#: cp/decl.c:2510 cp/decl.c:2625
+ #, gcc-internal-format
+ msgid " enters scope of non-POD %q+#D"
+ msgstr " улази у доÑег не-ПОД %q+#D"
+
+-#: cp/decl.c:2516 cp/decl.c:2622
++#: cp/decl.c:2523 cp/decl.c:2629
+ #, gcc-internal-format
+ msgid " enters try block"
+ msgstr " улази у блок покушаја"
+
+-#: cp/decl.c:2518 cp/decl.c:2624
++#: cp/decl.c:2525 cp/decl.c:2631
+ #, gcc-internal-format
+ msgid " enters catch block"
+ msgstr " улази у блок хватања"
+
+-#: cp/decl.c:2528 cp/decl.c:2627
++#: cp/decl.c:2535 cp/decl.c:2634
+ #, gcc-internal-format
+ msgid " enters OpenMP structured block"
+ msgstr " улази Ñтруктуирани блок ОпенМПа"
+
+-#: cp/decl.c:2599 cp/decl.c:2639
++#: cp/decl.c:2606 cp/decl.c:2646
+ #, gcc-internal-format
+ msgid "jump to label %q+D"
+ msgstr "Ñкок на етикету %q+D"
+
+-#: cp/decl.c:2600 cp/decl.c:2640
++#: cp/decl.c:2607 cp/decl.c:2647
+ #, gcc-internal-format
+ msgid " from here"
+ msgstr " одавде"
+
+ #. Can't skip init of __exception_info.
+-#: cp/decl.c:2612
++#: cp/decl.c:2619
+ #, gcc-internal-format
+ msgid "%J enters catch block"
+ msgstr "%J улази у блок хватања"
+
+-#: cp/decl.c:2616
++#: cp/decl.c:2623
+ #, gcc-internal-format
+ msgid " skips initialization of %q+#D"
+ msgstr " преÑкаче уÑпоÑтављање %q+#D"
+
+-#: cp/decl.c:2692
++#: cp/decl.c:2699
+ #, gcc-internal-format
+ msgid "label named wchar_t"
+ msgstr "етикета по имену wchar_t"
+
+-#: cp/decl.c:2696
++#: cp/decl.c:2703
+ #, gcc-internal-format
+ msgid "duplicate label %qD"
+ msgstr "удвоÑтручена етикета %qD"
+
+-#: cp/decl.c:2962
++#: cp/decl.c:2969
+ #, gcc-internal-format
+ msgid "%qD is not a type"
+ msgstr "%qD није тип"
+
+-#: cp/decl.c:2968 cp/parser.c:4033
++#: cp/decl.c:2975 cp/parser.c:4037
+ #, gcc-internal-format
+ msgid "%qD used without template parameters"
+ msgstr "%qD употребљено без параметара шаблона"
+
+-#: cp/decl.c:2983
++#: cp/decl.c:2990
+ #, gcc-internal-format
+ msgid "%q#T is not a class"
+ msgstr "%q#T није клаÑа"
+
+-#: cp/decl.c:2995 cp/decl.c:3063
++#: cp/decl.c:3002 cp/decl.c:3070
+ #, gcc-internal-format
+ msgid "no class template named %q#T in %q#T"
+ msgstr "нема шаблона клаÑе по имену %q#T у %q#T"
+
+-#: cp/decl.c:3003
++#: cp/decl.c:3010
+ #, gcc-internal-format
+ msgid "%<typename %T::%D%> names %q#T, which is not a class template"
+ msgstr "%<typename %T::%D%> именује %q#T, што није шаблон клаÑе"
+
+-#: cp/decl.c:3010
++#: cp/decl.c:3017
+ #, gcc-internal-format
+ msgid "%<typename %T::%D%> names %q#T, which is not a type"
+ msgstr "%<typename %T::%D%> именује %q#T, што није тип"
+
+-#: cp/decl.c:3072
++#: cp/decl.c:3079
+ #, gcc-internal-format
+ msgid "template parameters do not match template"
+ msgstr "параметри шаблона Ñе не поклапају Ñа шаблоном"
+
+-#: cp/decl.c:3073 cp/friend.c:321 cp/friend.c:329
++#: cp/decl.c:3080 cp/friend.c:321 cp/friend.c:329
+ #, gcc-internal-format
+ msgid "%q+D declared here"
+ msgstr "%q+D деклариÑано овде"
+
+-#: cp/decl.c:3711
++#: cp/decl.c:3727
+ #, fuzzy, gcc-internal-format
+ msgid "%Jan anonymous struct cannot have function members"
+ msgstr "%Jанонимна унија не може имати чланÑке функције"
+
+-#: cp/decl.c:3713
++#: cp/decl.c:3729
+ #, gcc-internal-format
+ msgid "%Jan anonymous union cannot have function members"
+ msgstr "%Jанонимна унија не може имати чланÑке функције"
+
+-#: cp/decl.c:3731
++#: cp/decl.c:3747
+ #, gcc-internal-format
+ msgid "member %q+#D with constructor not allowed in anonymous aggregate"
+ msgstr "члан %q+#D Ñа конÑтруктором није дозвољен у анонимној Ñкупини"
+
+-#: cp/decl.c:3734
++#: cp/decl.c:3750
+ #, gcc-internal-format
+ msgid "member %q+#D with destructor not allowed in anonymous aggregate"
+ msgstr "члан %q+#D Ñа деÑтруктором није дозвољен у анонимној Ñкупини"
+
+-#: cp/decl.c:3737
++#: cp/decl.c:3753
+ #, gcc-internal-format
+ msgid "member %q+#D with copy assignment operator not allowed in anonymous aggregate"
+ msgstr "члан %q+#D Ñа оператором копирања-доделе није дозвољен у анонимној Ñкупини"
+
+-#: cp/decl.c:3762
++#: cp/decl.c:3778
+ #, gcc-internal-format
+ msgid "multiple types in one declaration"
+ msgstr "вишеÑтруки типови у једној декларацији"
+
+-#: cp/decl.c:3766
++#: cp/decl.c:3782
+ #, gcc-internal-format
+ msgid "redeclaration of C++ built-in type %qT"
+ msgstr "поновљена декларација Ц++ уграђеног типа %qT"
+
+-#: cp/decl.c:3803
++#: cp/decl.c:3819
+ #, gcc-internal-format
+ msgid "missing type-name in typedef-declaration"
+ msgstr "недоÑтаје име типа у наредби typedef"
+
+-#: cp/decl.c:3811
++#: cp/decl.c:3827
+ #, gcc-internal-format
+ msgid "ISO C++ prohibits anonymous structs"
+ msgstr "ИСО Ц++ забрањује анонимне Ñтруктуре"
+
+-#: cp/decl.c:3818
++#: cp/decl.c:3834
+ #, gcc-internal-format
+ msgid "%qs can only be specified for functions"
+ msgstr "%qs може бити наведено Ñамо за функције"
+
+-#: cp/decl.c:3824
++#: cp/decl.c:3840
+ #, gcc-internal-format
+ msgid "%<friend%> can only be specified inside a class"
+ msgstr "%<friend%> може бити наведено Ñамо унутар клаÑе"
+
+-#: cp/decl.c:3826
++#: cp/decl.c:3842
+ #, gcc-internal-format
+ msgid "%<explicit%> can only be specified for constructors"
+ msgstr "%<explicit%> може бити наведено Ñамо за конÑтрукторе"
+
+-#: cp/decl.c:3828
++#: cp/decl.c:3844
+ #, gcc-internal-format
+ msgid "a storage class can only be specified for objects and functions"
+ msgstr "Ñкладишна клаÑа може бити наведена Ñамо за објекте и функције"
+
+-#: cp/decl.c:3834
++#: cp/decl.c:3850
+ #, gcc-internal-format
+ msgid "qualifiers can only be specified for objects and functions"
+ msgstr "одредбе могу бити наведене Ñамо за објекте и функције"
+
+-#: cp/decl.c:3837
++#: cp/decl.c:3853
+ #, fuzzy, gcc-internal-format
+ msgid "%<typedef%> was ignored in this declaration"
+ msgstr "декларација typedef није иÑправна у декларацији параметра"
+
+-#: cp/decl.c:3866
++#: cp/decl.c:3882
+ #, gcc-internal-format
+ msgid "attribute ignored in declaration of %q+#T"
+ msgstr "атрибут игнориÑан у декларацији %q+#T"
+
+-#: cp/decl.c:3867
++#: cp/decl.c:3883
+ #, gcc-internal-format
+ msgid "attribute for %q+#T must follow the %qs keyword"
+ msgstr "атрибут за %q+#T мора пратити кључну реч %qs"
+
+-#: cp/decl.c:3909
++#: cp/decl.c:3925
+ #, fuzzy, gcc-internal-format
+-msgid "ignoring attributes applied to class type outside of definition"
++msgid "ignoring attributes applied to class type %qT outside of definition"
+ msgstr "атрибут %qE може Ñе применити Ñамо на дефиниције клаÑа"
+
+-#: cp/decl.c:3987
++#. A template type parameter or other dependent type.
++#: cp/decl.c:3929
+ #, gcc-internal-format
++msgid "ignoring attributes applied to dependent type %qT without an associated declaration"
++msgstr ""
++
++#: cp/decl.c:4007
++#, gcc-internal-format
+ msgid "function %q#D is initialized like a variable"
+ msgstr "функција %q#D уÑпоÑтављена као променљива"
+
+-#: cp/decl.c:3998
++#: cp/decl.c:4018
+ #, gcc-internal-format
+ msgid "declaration of %q#D has %<extern%> and is initialized"
+ msgstr "декларација %q#D има %<extern%> и ипак је уÑпоÑтављена"
+
+-#: cp/decl.c:4014
++#: cp/decl.c:4034
+ #, gcc-internal-format
+ msgid "definition of %q#D is marked %<dllimport%>"
+ msgstr "дефиниција %q+D означена као %<dllimport%>"
+
+-#: cp/decl.c:4033
++#: cp/decl.c:4053
+ #, gcc-internal-format
+ msgid "%q#D is not a static member of %q#T"
+ msgstr "%q#D није Ñтатички члан у %q#T"
+
+-#: cp/decl.c:4039
++#: cp/decl.c:4059
+ #, gcc-internal-format
+ msgid "ISO C++ does not permit %<%T::%D%> to be defined as %<%T::%D%>"
+ msgstr "ИСО Ц++ не дозвољава да %<%T::%D%> буде дефиниÑано као %<%T::%D%>"
+
+-#: cp/decl.c:4048
++#: cp/decl.c:4068
+ #, gcc-internal-format
+ msgid "template header not allowed in member definition of explicitly specialized class"
+ msgstr "заглавље шаблона није дозвољено у дефиницији члана екÑплицитно Ñпецијализоване клаÑе"
+
+-#: cp/decl.c:4056
++#: cp/decl.c:4076
+ #, gcc-internal-format
+ msgid "duplicate initialization of %qD"
+ msgstr "удвоÑтручено уÑпоÑтављање %qD"
+
+-#: cp/decl.c:4095
++#: cp/decl.c:4115
+ #, gcc-internal-format
+ msgid "declaration of %q#D outside of class is not definition"
+ msgstr "декларација %q#D изван клаÑе није дефиниција"
+
+-#: cp/decl.c:4188
++#: cp/decl.c:4208
+ #, gcc-internal-format
+ msgid "variable %q#D has initializer but incomplete type"
+ msgstr "променљива %q#D има уÑпоÑтављач али је непотпуног типа"
+
+-#: cp/decl.c:4194 cp/decl.c:4906
++#: cp/decl.c:4214 cp/decl.c:4926
+ #, gcc-internal-format
+ msgid "elements of array %q#D have incomplete type"
+ msgstr "елементи низа %q#D имају непотпун тип"
+
+-#: cp/decl.c:4200
++#: cp/decl.c:4220
+ #, gcc-internal-format
+ msgid "aggregate %q#D has incomplete type and cannot be defined"
+ msgstr "Ñкупина %q#D има непотпун тип и не може Ñе дефиниÑати"
+
+-#: cp/decl.c:4236
++#: cp/decl.c:4256
+ #, gcc-internal-format
+ msgid "%qD declared as reference but not initialized"
+ msgstr "%qD деклариÑано као упућивач али није уÑпоÑтављено"
+
+-#: cp/decl.c:4242
++#: cp/decl.c:4262
+ #, gcc-internal-format
+ msgid "ISO C++ forbids use of initializer list to initialize reference %qD"
+ msgstr "ИСО Ц++ забрањује употребу лиÑте уÑпоÑтављача за уÑпоÑтављање упућивача %qD"
+
+-#: cp/decl.c:4268
++#: cp/decl.c:4288
+ #, gcc-internal-format
+ msgid "cannot initialize %qT from %qT"
+ msgstr "%qT Ñе не може уÑпоÑтавити из %qT"
+
+-#: cp/decl.c:4296
++#: cp/decl.c:4316
+ #, gcc-internal-format
+ msgid "name %qD used in a GNU-style designated initializer for an array"
+ msgstr "име %qD употребљено у уÑпоÑтављачу низа утврђеном као Гну-Ñтил"
+
+-#: cp/decl.c:4345
++#: cp/decl.c:4365
+ #, gcc-internal-format
+ msgid "initializer fails to determine size of %qD"
+ msgstr "уÑпоÑтављач не одређује величину %qD"
+
+-#: cp/decl.c:4352
++#: cp/decl.c:4372
+ #, gcc-internal-format
+ msgid "array size missing in %qD"
+ msgstr "недоÑтаје величина низа у %qD"
+
+-#: cp/decl.c:4364
++#: cp/decl.c:4384
+ #, gcc-internal-format
+ msgid "zero-size array %qD"
+ msgstr "низ %qD нулте величине"
+@@ -27975,240 +27946,250 @@
+ #. An automatic variable with an incomplete type: that is an error.
+ #. Don't talk about array types here, since we took care of that
+ #. message in grokdeclarator.
+-#: cp/decl.c:4407
++#: cp/decl.c:4427
+ #, gcc-internal-format
+ msgid "storage size of %qD isn't known"
+ msgstr "величина Ñкладиштења за %qD није позната"
+
+-#: cp/decl.c:4429
++#: cp/decl.c:4449
+ #, gcc-internal-format
+ msgid "storage size of %qD isn't constant"
+ msgstr "величина Ñкладиштења за %qD није конÑтанта"
+
+-#: cp/decl.c:4478
++#: cp/decl.c:4498
+ #, gcc-internal-format
+ msgid "sorry: semantics of inline function static data %q+#D are wrong (you'll wind up with multiple copies)"
+ msgstr "извините: Ñемантика Ñтатичких података уткане функције %q+#D је погрешна (доћи ће до вишеÑтруких копија)"
+
+-#: cp/decl.c:4481
++#: cp/decl.c:4501
+ #, gcc-internal-format
+ msgid "%J you can work around this by removing the initializer"
+ msgstr "%J можете ово заобићи уклањањем уÑпоÑтављача"
+
+-#: cp/decl.c:4508
++#: cp/decl.c:4528
+ #, gcc-internal-format
+ msgid "uninitialized const %qD"
+ msgstr "неуÑпоÑтављена конÑтанта %qD"
+
+-#: cp/decl.c:4620
++#: cp/decl.c:4640
+ #, gcc-internal-format
+ msgid "invalid type %qT as initializer for a vector of type %qT"
+ msgstr "неиÑправан тип %qT као уÑпоÑтављач за вектор типа %qT"
+
+-#: cp/decl.c:4662
++#: cp/decl.c:4682
+ #, gcc-internal-format
+ msgid "initializer for %qT must be brace-enclosed"
+ msgstr "уÑпоÑтављач за %qT мора бити у витичаÑтим заградама"
+
+-#: cp/decl.c:4680
++#: cp/decl.c:4700
+ #, gcc-internal-format
+ msgid "%qT has no non-static data member named %qD"
+ msgstr "%qT нема неÑтатички чланÑки податак по имену %qD"
+
+-#: cp/decl.c:4731
++#: cp/decl.c:4751
+ #, gcc-internal-format
+ msgid "braces around scalar initializer for type %qT"
+ msgstr "витичаÑте заграде око Ñкаларног уÑпоÑтављача за тип %qT"
+
+-#: cp/decl.c:4814
++#: cp/decl.c:4834
+ #, gcc-internal-format
+ msgid "missing braces around initializer for %qT"
+ msgstr "недоÑтају витичаÑте заграде око уÑпоÑтављача за %qT"
+
+-#: cp/decl.c:4871
++#: cp/decl.c:4891
+ #, gcc-internal-format
+ msgid "too many initializers for %qT"
+ msgstr "превише уÑпоÑтављача за %qT"
+
+-#: cp/decl.c:4914
++#: cp/decl.c:4934
+ #, gcc-internal-format
+ msgid "variable-sized object %qD may not be initialized"
+ msgstr "објекат %qD променљиве величине не може Ñе уÑпоÑтављати"
+
+-#: cp/decl.c:4920
++#: cp/decl.c:4940
+ #, gcc-internal-format
+ msgid "%qD has incomplete type"
+ msgstr "%qD има непотпун тип"
+
+-#: cp/decl.c:4935
++#: cp/decl.c:4955
+ #, gcc-internal-format
+ msgid "scalar object %qD requires one element in initializer"
+ msgstr "Ñкаларни објекат %qD захтева један елемент у уÑпоÑтављачу"
+
+ #. A non-aggregate that is not a scalar cannot be initialized
+ #. via an initializer-list in C++98.
+-#: cp/decl.c:4945
++#: cp/decl.c:4965
+ #, fuzzy, gcc-internal-format
+ msgid "braces around initializer for non-aggregate type %qT"
+ msgstr "витичаÑте заграде око Ñкаларног уÑпоÑтављача за тип %qT"
+
+-#: cp/decl.c:4995
++#: cp/decl.c:5015
+ #, gcc-internal-format
+ msgid "%qD must be initialized by constructor, not by %<{...}%>"
+ msgstr "%qD мора бити уÑпоÑтављен конÑтруктором, не помоћу %<{...}%>"
+
+-#: cp/decl.c:5031
++#: cp/decl.c:5051
+ #, gcc-internal-format
+ msgid "array %qD initialized by parenthesized string literal %qE"
+ msgstr "низ %qD уÑпоÑтављен заграђеном конÑтантном ниÑком %qE"
+
+-#: cp/decl.c:5046
++#: cp/decl.c:5066
+ #, gcc-internal-format
+ msgid "structure %qD with uninitialized const members"
+ msgstr "Ñтруктура %qD Ñа неуÑпоÑтављеним конÑтантним члановима"
+
+-#: cp/decl.c:5048
++#: cp/decl.c:5068
+ #, gcc-internal-format
+ msgid "structure %qD with uninitialized reference members"
+ msgstr "Ñтруктура %qD Ñа неуÑпоÑтављеним упућивачким члановима"
+
+-#: cp/decl.c:5330
++#: cp/decl.c:5364
+ #, gcc-internal-format
+ msgid "assignment (not initialization) in declaration"
+ msgstr "додела (не уÑпоÑтављање) у декларацији"
+
+-#: cp/decl.c:5420
++#: cp/decl.c:5460
+ #, gcc-internal-format
+ msgid "shadowing previous type declaration of %q#D"
+ msgstr "заклањање претходне декларације типа за %q#D"
+
+-#: cp/decl.c:5450
++#: cp/decl.c:5490
+ #, gcc-internal-format
+ msgid "%qD cannot be thread-local because it has non-POD type %qT"
+ msgstr "%qD не може бити нитно-локално зато што је не-ПОД типа %qT"
+
+-#: cp/decl.c:5485
++#: cp/decl.c:5522
+ #, gcc-internal-format
++msgid "Java object %qD not allocated with %<new%>"
++msgstr ""
++
++#: cp/decl.c:5539
++#, gcc-internal-format
+ msgid "%qD is thread-local and so cannot be dynamically initialized"
+ msgstr "%qD је нитно-локално и Ñтога Ñе не може динамички уÑпоÑтављати"
+
+-#: cp/decl.c:5503
++#: cp/decl.c:5557
+ #, gcc-internal-format
+ msgid "%qD cannot be initialized by a non-constant expression when being declared"
+ msgstr "%qD Ñе не може уÑпоÑтављати не-конÑтантним изразом када Ñе декларише"
+
+-#: cp/decl.c:6160
++#: cp/decl.c:5597
++#, fuzzy, gcc-internal-format
++msgid "non-static data member %qD has Java class type"
++msgstr "дефиниција Ñтатичког чланÑког податка %q+D dllimport клаÑе"
++
++#: cp/decl.c:6232
+ #, gcc-internal-format
+ msgid "destructor for alien class %qT cannot be a member"
+ msgstr "деÑтруктор за туђинÑку клаÑу %qT не може бити члан"
+
+-#: cp/decl.c:6162
++#: cp/decl.c:6234
+ #, gcc-internal-format
+ msgid "constructor for alien class %qT cannot be a member"
+ msgstr "конÑтруктор за туђинÑку клаÑу %qT не може бити члан"
+
+-#: cp/decl.c:6183
++#: cp/decl.c:6255
+ #, gcc-internal-format
+ msgid "%qD declared as a %<virtual%> %s"
+ msgstr "%qD деклариÑано као %<virtual%> %s"
+
+-#: cp/decl.c:6185
++#: cp/decl.c:6257
+ #, gcc-internal-format
+ msgid "%qD declared as an %<inline%> %s"
+ msgstr "%qD деклариÑано као %<inline%> %s"
+
+-#: cp/decl.c:6187
++#: cp/decl.c:6259
+ #, gcc-internal-format
+ msgid "%<const%> and %<volatile%> function specifiers on %qD invalid in %s declaration"
+ msgstr "наводиоци функције %<const%> и %<volatile%> за %qD ниÑу иÑправни у декларацији %s"
+
+-#: cp/decl.c:6191
++#: cp/decl.c:6263
+ #, gcc-internal-format
+ msgid "%q+D declared as a friend"
+ msgstr "%q+D деклариÑано као пријатељ"
+
+-#: cp/decl.c:6197
++#: cp/decl.c:6269
+ #, gcc-internal-format
+ msgid "%q+D declared with an exception specification"
+ msgstr "%q+D деклариÑано Ñа одредницом изузетака"
+
+-#: cp/decl.c:6231
++#: cp/decl.c:6303
+ #, gcc-internal-format
+ msgid "definition of %qD is not in namespace enclosing %qT"
+ msgstr "дефиниција %qD није у именÑком проÑтору који обухвата %qT"
+
+-#: cp/decl.c:6342
++#: cp/decl.c:6414
+ #, gcc-internal-format
+ msgid "defining explicit specialization %qD in friend declaration"
+ msgstr "дефиниција екÑплицитне Ñпецијализације %qD у декларацији пријатеља"
+
+ #. Something like `template <class T> friend void f<T>()'.
+-#: cp/decl.c:6352
++#: cp/decl.c:6424
+ #, gcc-internal-format
+ msgid "invalid use of template-id %qD in declaration of primary template"
+ msgstr "неиÑправна употреба ид. шаблона %qD у декларацији примарног шаблона"
+
+-#: cp/decl.c:6382
++#: cp/decl.c:6454
+ #, gcc-internal-format
+ msgid "default arguments are not allowed in declaration of friend template specialization %qD"
+ msgstr "подразумевани аргументи ниÑу дозвољени у декларацији пријатељÑке Ñпецијализације шаблона %qD"
+
+-#: cp/decl.c:6390
++#: cp/decl.c:6462
+ #, gcc-internal-format
+ msgid "%<inline%> is not allowed in declaration of friend template specialization %qD"
+ msgstr "%<inline%> није дозвољено у декларацији пријатељÑке Ñпецијализације шаблона %qD"
+
+-#: cp/decl.c:6433
++#: cp/decl.c:6505
+ #, gcc-internal-format
+ msgid "cannot declare %<::main%> to be a template"
+ msgstr "%<::main%> Ñе не може деклариÑати као шаблон"
+
+-#: cp/decl.c:6435
++#: cp/decl.c:6507
+ #, gcc-internal-format
+ msgid "cannot declare %<::main%> to be inline"
+ msgstr "%<::main%> Ñе не може деклариÑати као уткано"
+
+-#: cp/decl.c:6437
++#: cp/decl.c:6509
+ #, gcc-internal-format
+ msgid "cannot declare %<::main%> to be static"
+ msgstr "%<::main%> Ñе не може деклариÑати као Ñтатичко"
+
+-#: cp/decl.c:6465
++#: cp/decl.c:6537
+ #, gcc-internal-format
+ msgid "non-local function %q#D uses anonymous type"
+ msgstr "не-локална функција %q#D кориÑти анониман тип"
+
+-#: cp/decl.c:6468 cp/decl.c:6748
++#: cp/decl.c:6540 cp/decl.c:6820
+ #, gcc-internal-format
+ msgid "%q+#D does not refer to the unqualified type, so it is not used for linkage"
+ msgstr "%q+#D не упућује на неодређени тип, тако да Ñе не кориÑти за повезивоÑÑ‚"
+
+-#: cp/decl.c:6474
++#: cp/decl.c:6546
+ #, gcc-internal-format
+ msgid "non-local function %q#D uses local type %qT"
+ msgstr "не-локална функција %q#D кориÑти локални тип %qT"
+
+-#: cp/decl.c:6498
++#: cp/decl.c:6570
+ #, fuzzy, gcc-internal-format
+ msgid "static member function %qD cannot have cv-qualifier"
+ msgstr "%sчланÑка функција %qD не може имати кн-одредбу"
+
+-#: cp/decl.c:6499
++#: cp/decl.c:6571
+ #, fuzzy, gcc-internal-format
+ msgid "non-member function %qD cannot have cv-qualifier"
+ msgstr "%sчланÑка функција %qD не може имати кн-одредбу"
+
+-#: cp/decl.c:6547
++#: cp/decl.c:6619
+ #, gcc-internal-format
+ msgid "%<::main%> must return %<int%>"
+ msgstr "%<::main%> мора враћати %<int%>"
+
+-#: cp/decl.c:6586
++#: cp/decl.c:6658
+ #, gcc-internal-format
+ msgid "definition of implicitly-declared %qD"
+ msgstr "дефиниција имплицитно деклариÑаног %qD"
+
+-#: cp/decl.c:6603 cp/decl2.c:677
++#: cp/decl.c:6675 cp/decl2.c:677
+ #, gcc-internal-format
+ msgid "no %q#D member function declared in class %qT"
+ msgstr "чланÑка функција %q#D није деклариÑана у клаÑи %qT"
+@@ -28217,546 +28198,551 @@
+ #. 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/decl.c:6745
++#: cp/decl.c:6817
+ #, gcc-internal-format
+ msgid "non-local variable %q#D uses anonymous type"
+ msgstr "не-локална променљива %q#D кориÑти анониман тип"
+
+-#: cp/decl.c:6754
++#: cp/decl.c:6826
+ #, gcc-internal-format
+ msgid "non-local variable %q#D uses local type %qT"
+ msgstr "не-локална променљива %q#D кориÑти локални тип %qT"
+
+-#: cp/decl.c:6876
++#: cp/decl.c:6948
+ #, gcc-internal-format
+ msgid "invalid in-class initialization of static data member of non-integral type %qT"
+ msgstr "неиÑправно уÑпоÑтављање унутар клаÑе Ñтатичког чланÑког податка неинтегралног типа %qT"
+
+-#: cp/decl.c:6886
++#: cp/decl.c:6958
+ #, gcc-internal-format
+ msgid "ISO C++ forbids in-class initialization of non-const static member %qD"
+ msgstr "ИСО Ц++ забрањује уÑпоÑтављање унутар клаÑе неконÑтантног Ñтатичког члана %qD"
+
+-#: cp/decl.c:6890
++#: cp/decl.c:6962
+ #, gcc-internal-format
+ msgid "ISO C++ forbids initialization of member constant %qD of non-integral type %qT"
+ msgstr "ИСО Ц++ забрањује уÑпоÑтављање чланÑке конÑтанте %qD неинтегралног типа %qT"
+
+-#: cp/decl.c:6915
++#: cp/decl.c:6987
+ #, gcc-internal-format
+ msgid "size of array %qD has non-integral type %qT"
+ msgstr "величина низа %qD има неинтегрални тип %qT"
+
+-#: cp/decl.c:6917
++#: cp/decl.c:6989
+ #, gcc-internal-format
+ msgid "size of array has non-integral type %qT"
+ msgstr "величина низа има неинтегрални тип %qT"
+
+-#: cp/decl.c:6965
++#: cp/decl.c:7037
+ #, gcc-internal-format
+ msgid "size of array %qD is negative"
+ msgstr "негативна величина низа %qD"
+
+-#: cp/decl.c:6967
++#: cp/decl.c:7039
+ #, gcc-internal-format
+ msgid "size of array is negative"
+ msgstr "негативна величина низа"
+
+-#: cp/decl.c:6975
++#: cp/decl.c:7047
+ #, gcc-internal-format
+ msgid "ISO C++ forbids zero-size array %qD"
+ msgstr "ИСО Ц++ забрањује низ нулте величине %qD"
+
+-#: cp/decl.c:6977
++#: cp/decl.c:7049
+ #, gcc-internal-format
+ msgid "ISO C++ forbids zero-size array"
+ msgstr "ИСО Ц++ забрањује низ нулте величине"
+
+-#: cp/decl.c:6984
++#: cp/decl.c:7056
+ #, gcc-internal-format
+ msgid "size of array %qD is not an integral constant-expression"
+ msgstr "величина низа %qD није интегралан конÑтатан израз"
+
+-#: cp/decl.c:6987
++#: cp/decl.c:7059
+ #, gcc-internal-format
+ msgid "size of array is not an integral constant-expression"
+ msgstr "величина низа није интегралан конÑтатан израз"
+
+-#: cp/decl.c:6993
++#: cp/decl.c:7065
+ #, fuzzy, gcc-internal-format
+ msgid "ISO C++ forbids variable length array %qD"
+ msgstr "ИСО Ц++ забрањује низ променљиве величине %qD"
+
+-#: cp/decl.c:6995
++#: cp/decl.c:7067
+ #, fuzzy, gcc-internal-format
+ msgid "ISO C++ forbids variable length array"
+ msgstr "ИСО Ц++ забрањује низ променљиве величине"
+
+-#: cp/decl.c:7001
++#: cp/decl.c:7073
+ #, gcc-internal-format
+ msgid "variable length array %qD is used"
+ msgstr ""
+
+-#: cp/decl.c:7035
++#: cp/decl.c:7107
+ #, gcc-internal-format
+ msgid "overflow in array dimension"
+ msgstr "преливање у димензији низа"
+
+-#: cp/decl.c:7116
++#: cp/decl.c:7188
+ #, gcc-internal-format
+ msgid "declaration of %qD as %s"
+ msgstr "декларација %qD као %s"
+
+-#: cp/decl.c:7118
++#: cp/decl.c:7190
+ #, gcc-internal-format
+ msgid "creating %s"
+ msgstr "прави %s"
+
+-#: cp/decl.c:7130
++#: cp/decl.c:7202
+ #, gcc-internal-format
+ msgid "declaration of %qD as multidimensional array must have bounds for all dimensions except the first"
+ msgstr "декларација %qD као вишедимензионог низа мора имати границе за Ñве димензије оÑим прве"
+
+-#: cp/decl.c:7134
++#: cp/decl.c:7206
+ #, gcc-internal-format
+ msgid "multidimensional array must have bounds for all dimensions except the first"
+ msgstr "вишедимензиони низ мора имати границе за Ñве димензије оÑим прве"
+
+-#: cp/decl.c:7169
++#: cp/decl.c:7241
+ #, gcc-internal-format
+ msgid "return type specification for constructor invalid"
+ msgstr "навод повратног типа за конÑтруктор није иÑправан"
+
+-#: cp/decl.c:7179
++#: cp/decl.c:7251
+ #, gcc-internal-format
+ msgid "return type specification for destructor invalid"
+ msgstr "навод повратног типа за деÑтруктор није иÑправан"
+
+-#: cp/decl.c:7192
++#: cp/decl.c:7264
+ #, gcc-internal-format
+ msgid "return type specified for %<operator %T%>"
+ msgstr "наведен повратни тип за %<operator %T%>"
+
+-#: cp/decl.c:7214
++#: cp/decl.c:7286
+ #, gcc-internal-format
+ msgid "unnamed variable or field declared void"
+ msgstr "неименована променљива или поље деклариÑано празним"
+
+-#: cp/decl.c:7218
++#: cp/decl.c:7290
+ #, gcc-internal-format
+ msgid "variable or field %qE declared void"
+ msgstr "променљива или поље %qE деклариÑано празним"
+
+-#: cp/decl.c:7221
++#: cp/decl.c:7293
+ #, gcc-internal-format
+ msgid "variable or field declared void"
+ msgstr "променљива или поље деклариÑано празним"
+
+-#: cp/decl.c:7388
++#: cp/decl.c:7460
+ #, gcc-internal-format
+ msgid "invalid use of qualified-name %<::%D%>"
+ msgstr "неиÑправна употреба одређеног имена %<::%D%>"
+
+-#: cp/decl.c:7391
++#: cp/decl.c:7463
+ #, gcc-internal-format
+ msgid "invalid use of qualified-name %<%T::%D%>"
+ msgstr "неиÑправна употреба одређеног имена %<%T::%D%>"
+
+-#: cp/decl.c:7394
++#: cp/decl.c:7466
+ #, gcc-internal-format
+ msgid "invalid use of qualified-name %<%D::%D%>"
+ msgstr "неиÑправна употреба одређеног имена %<%D::%D%>"
+
+-#: cp/decl.c:7406
++#: cp/decl.c:7478
+ #, gcc-internal-format
+ msgid "type %qT is not derived from type %qT"
+ msgstr "тип %qT није изведен из типа %qT"
+
+-#: cp/decl.c:7422 cp/decl.c:7512 cp/decl.c:8660
++#: cp/decl.c:7494 cp/decl.c:7584 cp/decl.c:8732
+ #, gcc-internal-format
+ msgid "declaration of %qD as non-function"
+ msgstr "декларација %qD као не-функције"
+
+-#: cp/decl.c:7428
++#: cp/decl.c:7500
+ #, gcc-internal-format
+ msgid "declaration of %qD as non-member"
+ msgstr "декларација %qD као не-члана"
+
+-#: cp/decl.c:7457
++#: cp/decl.c:7529
+ #, gcc-internal-format
+ msgid "declarator-id missing; using reserved word %qD"
+ msgstr "недоÑтаје ид. декларатора; кориÑти Ñе резервиÑана реч %qD"
+
+-#: cp/decl.c:7504
++#: cp/decl.c:7576
+ #, gcc-internal-format
+ msgid "function definition does not declare parameters"
+ msgstr "дефиниција функције не декларише параметре"
+
+-#: cp/decl.c:7546
++#: cp/decl.c:7618
+ #, gcc-internal-format
+ msgid "two or more data types in declaration of %qs"
+ msgstr "два или више типова података у декларацији %qs"
+
+-#: cp/decl.c:7552
++#: cp/decl.c:7624
+ #, gcc-internal-format
+ msgid "conflicting specifiers in declaration of %qs"
+ msgstr "Ñукобљени наводиоци у декларацији %qs"
+
+-#: cp/decl.c:7623 cp/decl.c:7626
++#: cp/decl.c:7695 cp/decl.c:7698
+ #, gcc-internal-format
+ msgid "ISO C++ forbids declaration of %qs with no type"
+ msgstr "ИСО Ц++ забрањује декларацију %qs без типа"
+
+-#: cp/decl.c:7651
++#: cp/decl.c:7723
+ #, gcc-internal-format
+ msgid "%<signed%> or %<unsigned%> invalid for %qs"
+ msgstr "%<signed%> или %<unsigned%> неиÑправни за %qs"
+
+-#: cp/decl.c:7653
++#: cp/decl.c:7725
+ #, gcc-internal-format
+ msgid "%<signed%> and %<unsigned%> specified together for %qs"
+ msgstr "%<signed%> и %<unsigned%> наведени заједно за %qs"
+
+-#: cp/decl.c:7655
++#: cp/decl.c:7727
+ #, gcc-internal-format
+ msgid "%<long long%> invalid for %qs"
+ msgstr "%<long long%> неиÑправно за %qs"
+
+-#: cp/decl.c:7657
++#: cp/decl.c:7729
+ #, gcc-internal-format
+ msgid "%<long%> invalid for %qs"
+ msgstr "%<long%> неиÑправно за %qs"
+
+-#: cp/decl.c:7659
++#: cp/decl.c:7731
+ #, gcc-internal-format
+ msgid "%<short%> invalid for %qs"
+ msgstr "%<short%> неиÑправно за %qs"
+
+-#: cp/decl.c:7661
++#: cp/decl.c:7733
+ #, gcc-internal-format
+ msgid "%<long%> or %<short%> invalid for %qs"
+ msgstr "%<long%> или %<short%> неиÑправни за %qs"
+
+-#: cp/decl.c:7663
++#: cp/decl.c:7735
+ #, gcc-internal-format
+ msgid "%<long%> or %<short%> specified with char for %qs"
+ msgstr "%<long%> или %<short%> наведено уз char за %qs"
+
+-#: cp/decl.c:7665
++#: cp/decl.c:7737
+ #, gcc-internal-format
+ msgid "%<long%> and %<short%> specified together for %qs"
+ msgstr "%<long%> и %<short%> наведени заједно за %qs"
+
+-#: cp/decl.c:7671
++#: cp/decl.c:7743
+ #, gcc-internal-format
+ msgid "long, short, signed or unsigned used invalidly for %qs"
+ msgstr "long, short, signed или unsigned употребљени неиÑправно за %qs"
+
+-#: cp/decl.c:7735
++#: cp/decl.c:7807
+ #, gcc-internal-format
+ msgid "complex invalid for %qs"
+ msgstr "complex неиÑправно за %qs"
+
+-#: cp/decl.c:7764
++#: cp/decl.c:7836
+ #, gcc-internal-format
+ msgid "qualifiers are not allowed on declaration of %<operator %T%>"
+ msgstr "одредбе ниÑу дозвољене уз декларацију %<operator %T%>"
+
+-#: cp/decl.c:7776 cp/typeck.c:7011
++#: cp/decl.c:7848 cp/typeck.c:7039
+ #, gcc-internal-format
+ msgid "ignoring %qV qualifiers added to function type %qT"
+ msgstr "игнориÑање %qV одредбе додате функцијÑком типу %qT"
+
+-#: cp/decl.c:7799
++#: cp/decl.c:7871
+ #, gcc-internal-format
+ msgid "member %qD cannot be declared both virtual and static"
+ msgstr "члан %qD не може бити деклариÑан и као виртуелни и као Ñтатички"
+
+-#: cp/decl.c:7807
++#: cp/decl.c:7879
+ #, gcc-internal-format
+ msgid "%<%T::%D%> is not a valid declarator"
+ msgstr "%<%T::%D%> није иÑправан декларатор"
+
+-#: cp/decl.c:7816
++#: cp/decl.c:7888
+ #, gcc-internal-format
+ msgid "typedef declaration invalid in parameter declaration"
+ msgstr "декларација typedef није иÑправна у декларацији параметра"
+
+-#: cp/decl.c:7822
++#: cp/decl.c:7894
+ #, gcc-internal-format
+ msgid "storage class specifiers invalid in parameter declarations"
+ msgstr "наводиоци Ñкладишне клаÑе ниÑу иÑправни у декларацијама параметара"
+
+-#: cp/decl.c:7829
++#: cp/decl.c:7901
+ #, gcc-internal-format
+ msgid "virtual outside class declaration"
+ msgstr "virtual изван декларације клаÑе"
+
+-#: cp/decl.c:7847
++#: cp/decl.c:7919
+ #, gcc-internal-format
+ msgid "multiple storage classes in declaration of %qs"
+ msgstr "вишеÑтруке Ñкладишне клаÑе у декларацији %qs"
+
+-#: cp/decl.c:7870
++#: cp/decl.c:7942
+ #, gcc-internal-format
+ msgid "storage class specified for %qs"
+ msgstr "Ñкладишна клаÑа наведена за %qs"
+
+-#: cp/decl.c:7904
++#: cp/decl.c:7976
+ #, gcc-internal-format
+ msgid "top-level declaration of %qs specifies %<auto%>"
+ msgstr "декларација %qs на највишем нивоу наводи %<auto%>"
+
+-#: cp/decl.c:7916
++#: cp/decl.c:7988
+ #, gcc-internal-format
+ msgid "storage class specifiers invalid in friend function declarations"
+ msgstr "наводиоци Ñкладишне клаÑе ниÑу иÑправни у декларацијама пријатељÑких функција"
+
+-#: cp/decl.c:8043
++#: cp/decl.c:8115
+ #, gcc-internal-format
+ msgid "destructor cannot be static member function"
+ msgstr "деÑтруктор не може бити Ñтатичка чланÑка функција"
+
+-#: cp/decl.c:8048
++#: cp/decl.c:8120
+ #, gcc-internal-format
+ msgid "destructors may not be cv-qualified"
+ msgstr "деÑтруктори не могу бити кн-одређени"
+
+-#: cp/decl.c:8066
++#: cp/decl.c:8138
+ #, gcc-internal-format
+ msgid "constructors cannot be declared virtual"
+ msgstr "конÑтруктор не може бити виртуелан"
+
+-#: cp/decl.c:8079
++#: cp/decl.c:8151
+ #, gcc-internal-format
+ msgid "can't initialize friend function %qs"
+ msgstr "не може Ñе уÑпоÑтављати пријатељÑка функција %qs"
+
+ #. Cannot be both friend and virtual.
+-#: cp/decl.c:8083
++#: cp/decl.c:8155
+ #, gcc-internal-format
+ msgid "virtual functions cannot be friends"
+ msgstr "виртуелне функције не могу бити пријатељи"
+
+-#: cp/decl.c:8087
++#: cp/decl.c:8159
+ #, gcc-internal-format
+ msgid "friend declaration not in class definition"
+ msgstr "декларација пријатеља није у дефиницији клаÑе"
+
+-#: cp/decl.c:8089
++#: cp/decl.c:8161
+ #, gcc-internal-format
+ msgid "can't define friend function %qs in a local class definition"
+ msgstr "не може Ñе дефиниÑати пријатељÑка функција %qs у дефиницији локалне клаÑе"
+
+-#: cp/decl.c:8102
++#: cp/decl.c:8174
+ #, gcc-internal-format
+ msgid "destructors may not have parameters"
+ msgstr "деÑтруктори не могу имати параметре"
+
+-#: cp/decl.c:8121
++#: cp/decl.c:8193
+ #, gcc-internal-format
+ msgid "cannot declare pointer to %q#T"
+ msgstr "не може Ñе деклариÑати показивач на %q#T"
+
+-#: cp/decl.c:8134 cp/decl.c:8141
++#: cp/decl.c:8206 cp/decl.c:8213
+ #, gcc-internal-format
+ msgid "cannot declare reference to %q#T"
+ msgstr "не може Ñе деклариÑати упућивач на %q#T"
+
+-#: cp/decl.c:8143
++#: cp/decl.c:8215
+ #, gcc-internal-format
+ msgid "cannot declare pointer to %q#T member"
+ msgstr "не може Ñе деклариÑати показивач на члан %q#T"
+
+-#: cp/decl.c:8194
++#: cp/decl.c:8266
+ #, gcc-internal-format
+ msgid "cannot declare reference to %q#T, which is not a typedef or a template type argument"
+ msgstr ""
+
+-#: cp/decl.c:8238
++#: cp/decl.c:8310
+ #, gcc-internal-format
+ msgid "template-id %qD used as a declarator"
+ msgstr "ид. шаблона %qD употребљен као декларатор"
+
+-#: cp/decl.c:8289
++#: cp/decl.c:8361
+ #, gcc-internal-format
+ msgid "member functions are implicitly friends of their class"
+ msgstr "чланÑке функције Ñу имплицитно пријатељи Ñвојих клаÑа"
+
+-#: cp/decl.c:8293
++#: cp/decl.c:8365
+ #, gcc-internal-format
+ msgid "extra qualification %<%T::%> on member %qs"
+ msgstr "Ñувишна одредба %<%T::%> на члану %qs"
+
+-#: cp/decl.c:8325
++#: cp/decl.c:8397
+ #, gcc-internal-format
+ msgid "cannot define member function %<%T::%s%> within %<%T%>"
+ msgstr "не може Ñе дефиниÑати чланÑка функција %<%T::%s%> унутар %<%T%>"
+
+-#: cp/decl.c:8342
++#: cp/decl.c:8414
+ #, gcc-internal-format
+ msgid "cannot declare member %<%T::%s%> within %qT"
+ msgstr "не може Ñе деклариÑати члан %<%T::%s%> унутар %qT"
+
+-#: cp/decl.c:8365
++#: cp/decl.c:8437
+ #, fuzzy, gcc-internal-format
+ msgid "non-parameter %qs cannot be a parameter pack"
+ msgstr "чланÑки податак %qD не може бити чланÑки шаблон"
+
+-#: cp/decl.c:8386
++#: cp/decl.c:8458
+ #, gcc-internal-format
+ msgid "data member may not have variably modified type %qT"
+ msgstr "чланÑки податак не може имати променљиво измењив тип %qT"
+
+-#: cp/decl.c:8388
++#: cp/decl.c:8460
+ #, gcc-internal-format
+ msgid "parameter may not have variably modified type %qT"
+ msgstr "параметар не може имати променљиво измењив тип %qT"
+
+ #. [dcl.fct.spec] The explicit specifier shall only be used in
+ #. declarations of constructors within a class definition.
+-#: cp/decl.c:8396
++#: cp/decl.c:8468
+ #, gcc-internal-format
+ msgid "only declarations of constructors can be %<explicit%>"
+ msgstr "Ñамо декларације конÑтруктора могу имати %<explicit%>"
+
+-#: cp/decl.c:8404
++#: cp/decl.c:8476
+ #, gcc-internal-format
+ msgid "non-member %qs cannot be declared %<mutable%>"
+ msgstr "не-члан %qs не може бити деклариÑан %<mutable%>"
+
+-#: cp/decl.c:8409
++#: cp/decl.c:8481
+ #, gcc-internal-format
+ msgid "non-object member %qs cannot be declared %<mutable%>"
+ msgstr "не-објектни члан %qs не може бити деклариÑан %<mutable%>"
+
+-#: cp/decl.c:8415
++#: cp/decl.c:8487
+ #, gcc-internal-format
+ msgid "function %qs cannot be declared %<mutable%>"
+ msgstr "функција %qs не може бити деклариÑана %<mutable%>"
+
+-#: cp/decl.c:8420
++#: cp/decl.c:8492
+ #, gcc-internal-format
+ msgid "static %qs cannot be declared %<mutable%>"
+ msgstr "Ñтатичко %qs не може бити деклариÑано %<mutable%>"
+
+-#: cp/decl.c:8425
++#: cp/decl.c:8497
+ #, gcc-internal-format
+ msgid "const %qs cannot be declared %<mutable%>"
+ msgstr "конÑтантно %qs не може бити деклариÑано %<mutable%>"
+
+-#: cp/decl.c:8462
++#: cp/decl.c:8534
+ #, gcc-internal-format
+ msgid "%Jtypedef name may not be a nested-name-specifier"
+ msgstr "%Jиме за дефиницију типа не може бити угњеждени-именÑки-наводилац"
+
+-#: cp/decl.c:8478
++#: cp/decl.c:8550
+ #, gcc-internal-format
+ msgid "ISO C++ forbids nested type %qD with same name as enclosing class"
+ msgstr "ИСО Ц++ забрањује угњеждени тип %qD иÑтог имена као и обухватајућа клаÑа"
+
+-#: cp/decl.c:8564
++#: cp/decl.c:8636
+ #, fuzzy, gcc-internal-format
+ msgid "qualified function types cannot be used to declare static member functions"
+ msgstr "одређени функцијÑки типови не могу бити коришћени за декларацију %s функција"
+
+-#: cp/decl.c:8566
++#: cp/decl.c:8638
+ #, fuzzy, gcc-internal-format
+ msgid "qualified function types cannot be used to declare free functions"
+ msgstr "одређени функцијÑки типови не могу бити коришћени за декларацију %s функција"
+
+-#: cp/decl.c:8592
++#: cp/decl.c:8664
+ #, gcc-internal-format
+ msgid "type qualifiers specified for friend class declaration"
+ msgstr "одредбе типа наведене уз декларацију пријатељÑке клаÑе"
+
+-#: cp/decl.c:8597
++#: cp/decl.c:8669
+ #, gcc-internal-format
+ msgid "%<inline%> specified for friend class declaration"
+ msgstr "%<inline%> наведено уз декларацију пријатељÑке клаÑе"
+
+-#: cp/decl.c:8605
++#: cp/decl.c:8677
+ #, gcc-internal-format
+ msgid "template parameters cannot be friends"
+ msgstr "шаблонÑки параметри не могу бити пријатељи"
+
+-#: cp/decl.c:8607
++#: cp/decl.c:8679
+ #, gcc-internal-format
+ msgid "friend declaration requires class-key, i.e. %<friend class %T::%D%>"
+ msgstr "декларација пријатеља захтева реч class, тј. %<friend class %T::%D%>"
+
+-#: cp/decl.c:8611
++#: cp/decl.c:8683
+ #, gcc-internal-format
+ msgid "friend declaration requires class-key, i.e. %<friend %#T%>"
+ msgstr "декларација пријатеља захтева реч class, тј. %<friend %#T%>"
+
+-#: cp/decl.c:8624
++#: cp/decl.c:8696
+ #, gcc-internal-format
+ msgid "trying to make class %qT a friend of global scope"
+ msgstr "покушај да Ñе клаÑа %qT учини пријатељем глобалног доÑега"
+
+-#: cp/decl.c:8635
++#: cp/decl.c:8707
+ #, gcc-internal-format
+ msgid "invalid qualifiers on non-member function type"
+ msgstr "неиÑправне одредбе уз тип не-чланÑке функције"
+
+-#: cp/decl.c:8650
++#: cp/decl.c:8722
+ #, gcc-internal-format
+ msgid "abstract declarator %qT used as declaration"
+ msgstr "апÑтрактни декларатор %qT употребљен као декларација"
+
+-#: cp/decl.c:8679
++#: cp/decl.c:8751
+ #, gcc-internal-format
+ msgid "cannot use %<::%> in parameter declaration"
+ msgstr "не може Ñе кориÑтити %<::%> у декларацији параметра"
+
+ #. Something like struct S { int N::j; };
+-#: cp/decl.c:8725
++#: cp/decl.c:8797
+ #, gcc-internal-format
+ msgid "invalid use of %<::%>"
+ msgstr "неиÑправна употреба %<::%>"
+
+-#: cp/decl.c:8740
++#: cp/decl.c:8812
+ #, gcc-internal-format
+ msgid "can't make %qD into a method -- not in a class"
+ msgstr "%qD Ñе не може направити методом — није у клаÑи"
+
+-#: cp/decl.c:8749
++#: cp/decl.c:8821
+ #, gcc-internal-format
+ msgid "function %qD declared virtual inside a union"
+ msgstr "функција %qD деклариÑана виртуелном унутар уније"
+
+-#: cp/decl.c:8758
++#: cp/decl.c:8830
+ #, gcc-internal-format
+ msgid "%qD cannot be declared virtual, since it is always static"
+ msgstr "%qD не може бити деклариÑана виртуелном, јер је увек Ñтатичка"
+
+-#: cp/decl.c:8774
++#: cp/decl.c:8846
+ #, gcc-internal-format
+ msgid "expected qualified name in friend declaration for destructor %qD"
+ msgstr "очекивано одређено име у декларацији пријатеља за деÑтруктор %qD"
+
+-#: cp/decl.c:8784
++#: cp/decl.c:8856
+ #, gcc-internal-format
+ msgid "declaration of %qD as member of %qT"
+ msgstr "декларација %qD као члана %qT"
+
+-#: cp/decl.c:8860
++#: cp/decl.c:8863
++#, fuzzy, gcc-internal-format
++msgid "expected qualified name in friend declaration for constructor %qD"
++msgstr "очекивано одређено име у декларацији пријатеља за деÑтруктор %qD"
++
++#: cp/decl.c:8939
+ #, gcc-internal-format
+ msgid "field %qD has incomplete type"
+ msgstr "поље %qD има непотпун тип"
+
+-#: cp/decl.c:8862
++#: cp/decl.c:8941
+ #, gcc-internal-format
+ msgid "name %qT has incomplete type"
+ msgstr "име %qT има непотпун тип"
+
+-#: cp/decl.c:8871
++#: cp/decl.c:8950
+ #, gcc-internal-format
+ msgid " in instantiation of template %qT"
+ msgstr " у извођењу шаблона %qT"
+
+-#: cp/decl.c:8880
++#: cp/decl.c:8959
+ #, gcc-internal-format
+ msgid "%qE is neither function nor member function; cannot be declared friend"
+ msgstr "%qE није ни функција ни чланÑка функција; не може Ñе деклариÑати пријатељем"
+@@ -28773,103 +28759,108 @@
+ #. the rest of the compiler does not correctly
+ #. handle the initialization unless the member is
+ #. static so we make it static below.
+-#: cp/decl.c:8932
++#: cp/decl.c:9011
+ #, gcc-internal-format
+ msgid "ISO C++ forbids initialization of member %qD"
+ msgstr "ИСО Ц++ забрањује уÑпоÑтављање члана %qD"
+
+-#: cp/decl.c:8934
++#: cp/decl.c:9013
+ #, gcc-internal-format
+ msgid "making %qD static"
+ msgstr "чини %qD Ñтатичним"
+
+-#: cp/decl.c:8999
++#: cp/decl.c:9078
+ #, gcc-internal-format
+ msgid "storage class %<auto%> invalid for function %qs"
+ msgstr "Ñкладишна клаÑа %<auto%> неиÑправна за функцију %qs"
+
+-#: cp/decl.c:9001
++#: cp/decl.c:9080
+ #, gcc-internal-format
+ msgid "storage class %<register%> invalid for function %qs"
+ msgstr "Ñкладишна клаÑа %<register%> неиÑправна за функцију %qs"
+
+-#: cp/decl.c:9003
++#: cp/decl.c:9082
+ #, gcc-internal-format
+ msgid "storage class %<__thread%> invalid for function %qs"
+ msgstr "Ñкладишна клаÑа %<__thread%> неиÑправна за функцију %qs"
+
+-#: cp/decl.c:9014
++#: cp/decl.c:9093
+ #, gcc-internal-format
+ msgid "%<static%> specified invalid for function %qs declared out of global scope"
+ msgstr "%<static%> неиÑправно наведено за функцију %qs деклариÑану изван глобалног доÑега"
+
+-#: cp/decl.c:9017
++#: cp/decl.c:9096
+ #, gcc-internal-format
+ msgid "%<inline%> specifier invalid for function %qs declared out of global scope"
+ msgstr "наводилац %<inline%> није иÑправан за функцију %qs деклариÑану изван глобалног доÑега"
+
+-#: cp/decl.c:9025
++#: cp/decl.c:9104
+ #, gcc-internal-format
+ msgid "virtual non-class function %qs"
+ msgstr "виртуелна не-клаÑна функција %qs"
+
+-#: cp/decl.c:9056
++#: cp/decl.c:9135
+ #, gcc-internal-format
+ msgid "cannot declare member function %qD to have static linkage"
+ msgstr "не може Ñе деклариÑати Ñтатичка повезивоÑÑ‚ за чланÑку функцију %qD"
+
+ #. FIXME need arm citation
+-#: cp/decl.c:9063
++#: cp/decl.c:9142
+ #, gcc-internal-format
+ msgid "cannot declare static function inside another function"
+ msgstr "не може Ñе деклариÑати Ñтатичка функција унутар друге функције"
+
+-#: cp/decl.c:9093
++#: cp/decl.c:9172
+ #, gcc-internal-format
+ msgid "%<static%> may not be used when defining (as opposed to declaring) a static data member"
+ msgstr "%<static%> не може бити употребљено при дефиниÑању (наÑупрот деклариÑања) Ñтатичког чланÑког податка"
+
+-#: cp/decl.c:9100
++#: cp/decl.c:9179
+ #, gcc-internal-format
+ msgid "static member %qD declared %<register%>"
+ msgstr "Ñтатички члан %qD деклариÑан као %<register%>"
+
+-#: cp/decl.c:9105
++#: cp/decl.c:9184
+ #, gcc-internal-format
+ msgid "cannot explicitly declare member %q#D to have extern linkage"
+ msgstr "не може Ñе екÑплицитно деклариÑати Ñпољашња повезивоÑÑ‚ за члан %q#D"
+
+-#: cp/decl.c:9234
++#: cp/decl.c:9313
+ #, gcc-internal-format
+ msgid "default argument for %q#D has type %qT"
+ msgstr "подразумевани аргумент за %q#D има тип %qT"
+
+-#: cp/decl.c:9237
++#: cp/decl.c:9316
+ #, gcc-internal-format
+ msgid "default argument for parameter of type %qT has type %qT"
+ msgstr "подразумевани аргумент за параметар типа %qT има тип %qT"
+
+-#: cp/decl.c:9253
++#: cp/decl.c:9332
+ #, gcc-internal-format
+ msgid "default argument %qE uses local variable %qD"
+ msgstr "подразумевани аргумент %qE кориÑти локалну променљиву %qD"
+
+-#: cp/decl.c:9323
++#: cp/decl.c:9399
++#, fuzzy, gcc-internal-format
++msgid "parameter %qD has Java class type"
++msgstr "параметар %q+D има непотпун тип"
++
++#: cp/decl.c:9412
+ #, gcc-internal-format
+ msgid "parameter %qD invalidly declared method type"
+ msgstr "параметар %qD неиÑправно декларише тип метода"
+
+-#: cp/decl.c:9347
++#: cp/decl.c:9436
+ #, gcc-internal-format
+ msgid "parameter %qD includes %s to array of unknown bound %qT"
+ msgstr "параметар %qD укључује %s у низ непознатих граница %qT"
+
+-#: cp/decl.c:9361
++#: cp/decl.c:9450
+ #, fuzzy, gcc-internal-format
+ msgid "parameter packs must be at the end of the parameter list"
+ msgstr "%JнедоÑтаје име параметра у лиÑти параметара"
+
+-#: cp/decl.c:9366
++#: cp/decl.c:9455
+ #, fuzzy, gcc-internal-format
+ msgid "multiple parameters named %qE"
+ msgstr "више параметара по имену %q+D"
+@@ -28889,138 +28880,138 @@
+ #. or implicitly defined), there's no need to worry about their
+ #. existence. Theoretically, they should never even be
+ #. instantiated, but that's hard to forestall.
+-#: cp/decl.c:9581
++#: cp/decl.c:9672
+ #, gcc-internal-format
+ msgid "invalid constructor; you probably meant %<%T (const %T&)%>"
+ msgstr "неиÑправан конÑтруктор; вероватно Ñте миÑлили %<%T (const %T&)%>"
+
+-#: cp/decl.c:9703
++#: cp/decl.c:9794
+ #, gcc-internal-format
+ msgid "%qD may not be declared within a namespace"
+ msgstr "%qD не може бити деклариÑано унутар именÑког проÑтора"
+
+-#: cp/decl.c:9708
++#: cp/decl.c:9799
+ #, gcc-internal-format
+ msgid "%qD may not be declared as static"
+ msgstr "%qD не може бити деклариÑано Ñтатичко"
+
+-#: cp/decl.c:9731
++#: cp/decl.c:9825
+ #, gcc-internal-format
+ msgid "%qD must be a nonstatic member function"
+ msgstr "%qD мора бити неÑтатичка чланÑка функција"
+
+-#: cp/decl.c:9740
++#: cp/decl.c:9834
+ #, gcc-internal-format
+ msgid "%qD must be either a non-static member function or a non-member function"
+ msgstr "%qD мора бити или неÑтатичка чланÑка функција или не-чланÑка функција"
+
+-#: cp/decl.c:9761
++#: cp/decl.c:9855
+ #, gcc-internal-format
+ msgid "%qD must have an argument of class or enumerated type"
+ msgstr "%qD мора имати аргумент клаÑног или набројивог типа"
+
+-#: cp/decl.c:9802
++#: cp/decl.c:9896
+ #, gcc-internal-format
+ msgid "conversion to %s%s will never use a type conversion operator"
+ msgstr "претварање у %s%s никад неће кориÑтити оператор претварања типа"
+
+ #. 13.4.0.3
+-#: cp/decl.c:9810
++#: cp/decl.c:9904
+ #, gcc-internal-format
+ msgid "ISO C++ prohibits overloading operator ?:"
+ msgstr "ИСО Ц++ забрањује препуњавање оператора ?:"
+
+-#: cp/decl.c:9815
++#: cp/decl.c:9909
+ #, gcc-internal-format
+ msgid "%qD must not have variable number of arguments"
+ msgstr "%qD не може имати променљив број аргумената"
+
+-#: cp/decl.c:9866
++#: cp/decl.c:9960
+ #, gcc-internal-format
+ msgid "postfix %qD must take %<int%> as its argument"
+ msgstr "поÑтфикÑно %qD мора узимати %<int%> као аргумент"
+
+-#: cp/decl.c:9869
++#: cp/decl.c:9963
+ #, gcc-internal-format
+ msgid "postfix %qD must take %<int%> as its second argument"
+ msgstr "поÑтфикÑно %qD мора узимати %<int%> као други аргумент"
+
+-#: cp/decl.c:9877
++#: cp/decl.c:9971
+ #, gcc-internal-format
+ msgid "%qD must take either zero or one argument"
+ msgstr "%qD мора узимати ниједан или један аргумент"
+
+-#: cp/decl.c:9879
++#: cp/decl.c:9973
+ #, gcc-internal-format
+ msgid "%qD must take either one or two arguments"
+ msgstr "%qD мора узимати један или два аргумента"
+
+-#: cp/decl.c:9901
++#: cp/decl.c:9995
+ #, gcc-internal-format
+ msgid "prefix %qD should return %qT"
+ msgstr "префикÑно %qD треба да враћа %qT"
+
+-#: cp/decl.c:9907
++#: cp/decl.c:10001
+ #, gcc-internal-format
+ msgid "postfix %qD should return %qT"
+ msgstr "поÑтфикÑно %qD треба да враћа %qT"
+
+-#: cp/decl.c:9916
++#: cp/decl.c:10010
+ #, gcc-internal-format
+ msgid "%qD must take %<void%>"
+ msgstr "%qD мора узимати %<void%>"
+
+-#: cp/decl.c:9918 cp/decl.c:9927
++#: cp/decl.c:10012 cp/decl.c:10021
+ #, gcc-internal-format
+ msgid "%qD must take exactly one argument"
+ msgstr "%qD мора узимати тачно један аргумент"
+
+-#: cp/decl.c:9929
++#: cp/decl.c:10023
+ #, gcc-internal-format
+ msgid "%qD must take exactly two arguments"
+ msgstr "%qD мора узимати тачно два аргумента"
+
+-#: cp/decl.c:9938
++#: cp/decl.c:10032
+ #, gcc-internal-format
+ msgid "user-defined %qD always evaluates both arguments"
+ msgstr "кориÑнички дефиниÑано %qD увек израчунава оба аргумента"
+
+-#: cp/decl.c:9952
++#: cp/decl.c:10046
+ #, gcc-internal-format
+ msgid "%qD should return by value"
+ msgstr "%qD треба да враћа по вредноÑÑ‚"
+
+-#: cp/decl.c:9964 cp/decl.c:9968
++#: cp/decl.c:10058 cp/decl.c:10062
+ #, gcc-internal-format
+ msgid "%qD cannot have default arguments"
+ msgstr "%qD не може имати подразумеване аргументе"
+
+-#: cp/decl.c:10026
++#: cp/decl.c:10120
+ #, gcc-internal-format
+ msgid "using template type parameter %qT after %qs"
+ msgstr "употреба параметра шаблонÑког типа %qT поÑле %qs"
+
+-#: cp/decl.c:10041
++#: cp/decl.c:10135
+ #, gcc-internal-format
+ msgid "using typedef-name %qD after %qs"
+ msgstr "употреба typedef-имена %qD поÑле %qs"
+
+-#: cp/decl.c:10042
++#: cp/decl.c:10136
+ #, gcc-internal-format
+ msgid "%q+D has a previous declaration here"
+ msgstr "%q+D има претходну декларацију овде"
+
+-#: cp/decl.c:10050
++#: cp/decl.c:10144
+ #, gcc-internal-format
+ msgid "%qT referred to as %qs"
+ msgstr "%qT Ñе помиње као %qs"
+
+-#: cp/decl.c:10051 cp/decl.c:10058
++#: cp/decl.c:10145 cp/decl.c:10152
+ #, gcc-internal-format
+ msgid "%q+T has a previous declaration here"
+ msgstr "%q+T има претходну декларацију овде"
+
+-#: cp/decl.c:10057
++#: cp/decl.c:10151
+ #, gcc-internal-format
+ msgid "%qT referred to as enum"
+ msgstr "%qT Ñе помиње као набрајање"
+@@ -29032,73 +29023,73 @@
+ #. void f(class C); // No template header here
+ #.
+ #. then the required template argument is missing.
+-#: cp/decl.c:10072
++#: cp/decl.c:10166
+ #, gcc-internal-format
+ msgid "template argument required for %<%s %T%>"
+ msgstr "потребан шаблонÑки аргумент за %<%s %T%>"
+
+-#: cp/decl.c:10120 cp/name-lookup.c:2698
++#: cp/decl.c:10214 cp/name-lookup.c:2700
+ #, gcc-internal-format
+ msgid "%qD has the same name as the class in which it is declared"
+ msgstr "%qD има иÑто име као и клаÑа у којој је деклариÑано"
+
+-#: cp/decl.c:10150 cp/name-lookup.c:2207 cp/parser.c:4036 cp/parser.c:14029
+-#: cp/parser.c:16234
++#: cp/decl.c:10244 cp/name-lookup.c:2209 cp/parser.c:4040 cp/parser.c:14099
++#: cp/parser.c:16316
+ #, gcc-internal-format
+ msgid "reference to %qD is ambiguous"
+ msgstr "двоÑмиÑлено упућивање на %qD"
+
+-#: cp/decl.c:10264
++#: cp/decl.c:10358
+ #, gcc-internal-format
+ msgid "use of enum %q#D without previous declaration"
+ msgstr "употреба набрајања %q#D без претходне декларације"
+
+-#: cp/decl.c:10285
++#: cp/decl.c:10379
+ #, gcc-internal-format
+ msgid "redeclaration of %qT as a non-template"
+ msgstr "поновљена декларација %qT као не-шаблона"
+
+-#: cp/decl.c:10286 cp/pt.c:4154
++#: cp/decl.c:10380
+ #, gcc-internal-format
+ msgid "previous declaration %q+D"
+ msgstr "претходна декларација %q+D"
+
+-#: cp/decl.c:10397
++#: cp/decl.c:10491
+ #, gcc-internal-format
+ msgid "derived union %qT invalid"
+ msgstr "неиÑправна изведена унија %qT"
+
+-#: cp/decl.c:10406
++#: cp/decl.c:10500
+ #, gcc-internal-format
+ msgid "Java class %qT cannot have multiple bases"
+ msgstr "јаванÑка клаÑа %qT не може имати вишеÑтруке оÑнове"
+
+-#: cp/decl.c:10417
++#: cp/decl.c:10511
+ #, gcc-internal-format
+ msgid "Java class %qT cannot have virtual bases"
+ msgstr "јаванÑка клаÑа %qT не може имати виртуелне оÑнове"
+
+-#: cp/decl.c:10440
++#: cp/decl.c:10534
+ #, gcc-internal-format
+ msgid "base type %qT fails to be a struct or class type"
+ msgstr "тип оÑнове %qT није клаÑа или Ñтруктура"
+
+-#: cp/decl.c:10473
++#: cp/decl.c:10567
+ #, gcc-internal-format
+ msgid "recursive type %qT undefined"
+ msgstr "недефиниÑан рекурзивни тип %qT"
+
+-#: cp/decl.c:10475
++#: cp/decl.c:10569
+ #, gcc-internal-format
+ msgid "duplicate base type %qT invalid"
+ msgstr "неиÑправан удвоÑтручен тип оÑнове %qT"
+
+-#: cp/decl.c:10552
++#: cp/decl.c:10646
+ #, gcc-internal-format
+ msgid "multiple definition of %q#T"
+ msgstr "вишеÑтруке дефиниције %q#T"
+
+-#: cp/decl.c:10553
++#: cp/decl.c:10647
+ #, gcc-internal-format
+ msgid "%Jprevious definition here"
+ msgstr "%Jпретходна дефиниција је овде"
+@@ -29107,47 +29098,52 @@
+ #.
+ #. IF no integral type can represent all the enumerator values, the
+ #. enumeration is ill-formed.
+-#: cp/decl.c:10692
++#: cp/decl.c:10786
+ #, gcc-internal-format
+ msgid "no integral type can represent all of the enumerator values for %qT"
+ msgstr "ниједан интегрални тип не може предÑтављати Ñве вредноÑти набрајача за %qT"
+
+-#: cp/decl.c:10803
++#: cp/decl.c:10897
+ #, fuzzy, gcc-internal-format
+ msgid "enumerator value for %qD is not an integer constant"
+ msgstr "вредноÑÑ‚ набрајача за %qE није целобројна конÑтанта"
+
+-#: cp/decl.c:10831
++#: cp/decl.c:10925
+ #, gcc-internal-format
+ msgid "overflow in enumeration values at %qD"
+ msgstr "преливање у вредноÑтима набрајача код %qD"
+
+-#: cp/decl.c:10906
++#: cp/decl.c:11002
+ #, gcc-internal-format
+ msgid "return type %q#T is incomplete"
+ msgstr "повратни тип %q#T није потпун"
+
+-#: cp/decl.c:11031 cp/typeck.c:6711
++#: cp/decl.c:11004
++#, fuzzy, gcc-internal-format
++msgid "return type has Java class type %q#T"
++msgstr "повратни тип је непотпун тип"
++
++#: cp/decl.c:11129 cp/typeck.c:6739
+ #, gcc-internal-format
+ msgid "%<operator=%> should return a reference to %<*this%>"
+ msgstr "%<operator=%> треба да враћа упућивач на %<*this%>"
+
+-#: cp/decl.c:11420
++#: cp/decl.c:11518
+ #, gcc-internal-format
+ msgid "parameter %qD declared void"
+ msgstr "параметар %qD деклариÑан празним"
+
+-#: cp/decl.c:11908
++#: cp/decl.c:12006
+ #, gcc-internal-format
+ msgid "invalid member function declaration"
+ msgstr "неиÑправна декларација чланÑке функције"
+
+-#: cp/decl.c:11923
++#: cp/decl.c:12021
+ #, gcc-internal-format
+ msgid "%qD is already defined in class %qT"
+ msgstr "%qD је већ дефиниÑано у клаÑи %qT"
+
+-#: cp/decl.c:12170
++#: cp/decl.c:12268
+ #, gcc-internal-format
+ msgid "static member function %q#D declared with type qualifiers"
+ msgstr "Ñтатичка чланÑка функција %q#D деклариÑана Ñа одредбама типа"
+@@ -29187,7 +29183,7 @@
+ msgid "deleting %qT is undefined"
+ msgstr "бриÑање %qT није дефиниÑано"
+
+-#: cp/decl2.c:459 cp/pt.c:3828
++#: cp/decl2.c:459 cp/pt.c:3831
+ #, gcc-internal-format
+ msgid "template declaration of %q#D"
+ msgstr "декларација шаблона %q#D"
+@@ -29272,22 +29268,22 @@
+ msgid "static member %qD cannot be a bit-field"
+ msgstr "Ñтатички члан %qD не може бити битÑко поље"
+
+-#: cp/decl2.c:1122
++#: cp/decl2.c:1165
+ #, gcc-internal-format
+ msgid "anonymous struct not inside named type"
+ msgstr "анонимна Ñтруктура није унутар именованог типа"
+
+-#: cp/decl2.c:1206
++#: cp/decl2.c:1249
+ #, gcc-internal-format
+ msgid "namespace-scope anonymous aggregates must be static"
+ msgstr "анонимне Ñкупине у доÑегу именÑког проÑтора морају бити Ñтатичке"
+
+-#: cp/decl2.c:1215
++#: cp/decl2.c:1258
+ #, gcc-internal-format
+ msgid "anonymous union with no members"
+ msgstr "анонимна унија без чланова"
+
+-#: cp/decl2.c:1251
++#: cp/decl2.c:1294
+ #, gcc-internal-format
+ msgid "%<operator new%> must return type %qT"
+ msgstr "%<operator new%> мора враћати тип %qT"
+@@ -29296,52 +29292,52 @@
+ #.
+ #. The first parameter shall not have an associated default
+ #. argument.
+-#: cp/decl2.c:1262
++#: cp/decl2.c:1305
+ #, fuzzy, gcc-internal-format
+ msgid "the first parameter of %<operator new%> cannot have a default argument"
+ msgstr "други параметар за %<va_start%> није поÑледњи именовани аргумент"
+
+-#: cp/decl2.c:1278
++#: cp/decl2.c:1321
+ #, gcc-internal-format
+ msgid "%<operator new%> takes type %<size_t%> (%qT) as first parameter"
+ msgstr "%<operator new%> узима тип %<size_t%> (%qT) као први параметар"
+
+-#: cp/decl2.c:1307
++#: cp/decl2.c:1350
+ #, gcc-internal-format
+ msgid "%<operator delete%> must return type %qT"
+ msgstr "%<operator delete%> мора враћати тип %qT"
+
+-#: cp/decl2.c:1316
++#: cp/decl2.c:1359
+ #, gcc-internal-format
+ msgid "%<operator delete%> takes type %qT as first parameter"
+ msgstr "%<operator delete%> узима тип %<size_t%> (%qT) као први параметар"
+
+-#: cp/decl2.c:1985
++#: cp/decl2.c:2028
+ #, gcc-internal-format
+ msgid "%qT has a field %qD whose type uses the anonymous namespace"
+ msgstr "%qT има поље %qD чији тип кориÑти анонимни именÑки проÑтор"
+
+-#: cp/decl2.c:1992
++#: cp/decl2.c:2035
+ #, gcc-internal-format
+ msgid "%qT declared with greater visibility than the type of its field %qD"
+ msgstr "%qT деклариÑано Ñа већом видљивошћу од типа његовог поља %qD"
+
+-#: cp/decl2.c:2005
++#: cp/decl2.c:2048
+ #, gcc-internal-format
+ msgid "%qT has a base %qT whose type uses the anonymous namespace"
+ msgstr "%qT има оÑнову %qT чији тип кориÑти анонимни именÑки проÑтор"
+
+-#: cp/decl2.c:2011
++#: cp/decl2.c:2054
+ #, gcc-internal-format
+ msgid "%qT declared with greater visibility than its base %qT"
+ msgstr "%qT деклариÑано Ñа већом видљивошћу од Ñвоје оÑнове %qT"
+
+-#: cp/decl2.c:3395
++#: cp/decl2.c:3441
+ #, gcc-internal-format
+ msgid "inline function %q+D used but never defined"
+ msgstr "уткана функција %q+D употребљена али недефиниÑана"
+
+-#: cp/decl2.c:3543
++#: cp/decl2.c:3589
+ #, gcc-internal-format
+ msgid "default argument missing for parameter %P of %q+#D"
+ msgstr "недоÑтаје подразумевани аргумент за параметар %P од %q+#D"
+@@ -29349,7 +29345,7 @@
+ #. We really want to suppress this warning in system headers,
+ #. because libstdc++ uses variadic templates even when we aren't
+ #. in C++0x mode.
+-#: cp/error.c:2669
++#: cp/error.c:2712
+ #, fuzzy, gcc-internal-format
+ msgid "ISO C++ does not include variadic templates"
+ msgstr "ИСО Ц++ не дозвољава утврђене уÑпоÑтављаче"
+@@ -29381,7 +29377,7 @@
+ msgid "throwing NULL, which has integral, not pointer type"
+ msgstr "баца Ñе NULL, које има интегрални, а не показивачки тип"
+
+-#: cp/except.c:643 cp/init.c:1780
++#: cp/except.c:643 cp/init.c:1915
+ #, gcc-internal-format
+ msgid "%qD should never be overloaded"
+ msgstr "%qD не треба никада препуњавати"
+@@ -29480,232 +29476,247 @@
+ msgid "member %qD declared as friend before type %qT defined"
+ msgstr "члан %qD деклариÑан као пријатељ пре него што је тип %qT дефиниÑан"
+
+-#: cp/friend.c:550
++#: cp/friend.c:543
++#, fuzzy, gcc-internal-format
++msgid "friend declaration %qD in local class without prior declaration"
++msgstr "декларација коришћења %q+D коÑи Ñе Ñа претходном декларацијом коришћења"
++
++#: cp/friend.c:564
+ #, gcc-internal-format
+ msgid "friend declaration %q#D declares a non-template function"
+ msgstr "декларација пријатеља %q#D декларише нешаблонÑку функцију"
+
+-#: cp/friend.c:554
++#: cp/friend.c:568
+ #, fuzzy, 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 "(ако ниÑте ово намеравали, проверите да ли је шаблон функције већ деклариÑан, и додајте овде <> поÑле имена функције) -Wno-non-template-friend иÑкључује ово упозорење"
+
+-#: cp/init.c:334
++#: cp/init.c:374
++#, fuzzy, gcc-internal-format
++msgid "value-initialization of reference"
++msgstr "%Jподразумевано уÑпоÑтављање %q#D, које је упућивачког типа"
++
++#: cp/init.c:481
+ #, gcc-internal-format
+ msgid "%J%qD should be initialized in the member initialization list"
+ msgstr "%J%qD треба да Ñе уÑпоÑтави у лиÑти уÑпоÑтављања чланова"
+
+-#: cp/init.c:382
++#: cp/init.c:529
+ #, gcc-internal-format
+ msgid "%Jdefault-initialization of %q#D, which has reference type"
+ msgstr "%Jподразумевано уÑпоÑтављање %q#D, које је упућивачког типа"
+
+-#: cp/init.c:388
++#: cp/init.c:535
+ #, gcc-internal-format
+ msgid "%Juninitialized reference member %qD"
+ msgstr "%JнеуÑпоÑтављени упућивачки члан %qD"
+
+-#: cp/init.c:391
++#: cp/init.c:538
+ #, gcc-internal-format
+ msgid "%Juninitialized member %qD with %<const%> type %qT"
+ msgstr "%JнеуÑпоÑтављени члан %qD Ñа %<const%> типом %qT"
+
+-#: cp/init.c:534
++#: cp/init.c:681
+ #, gcc-internal-format
+ msgid "%q+D will be initialized after"
+ msgstr "%q+D ће бити уÑпоÑтављено поÑле"
+
+-#: cp/init.c:537
++#: cp/init.c:684
+ #, gcc-internal-format
+ msgid "base %qT will be initialized after"
+ msgstr "оÑновно %qT ће бити уÑпоÑтављено поÑле"
+
+-#: cp/init.c:540
++#: cp/init.c:687
+ #, gcc-internal-format
+ msgid " %q+#D"
+ msgstr " %q+#D"
+
+-#: cp/init.c:542
++#: cp/init.c:689
+ #, gcc-internal-format
+ msgid " base %qT"
+ msgstr " оÑновног %qT"
+
+-#: cp/init.c:543
++#: cp/init.c:690
+ #, gcc-internal-format
+ msgid "%J when initialized here"
+ msgstr "%J када Ñе уÑпоÑтави овде"
+
+-#: cp/init.c:559
++#: cp/init.c:706
+ #, gcc-internal-format
+ msgid "%Jmultiple initializations given for %qD"
+ msgstr "%JвишеÑтрука уÑпоÑтављања дата за %qD"
+
+-#: cp/init.c:562
++#: cp/init.c:709
+ #, gcc-internal-format
+ msgid "%Jmultiple initializations given for base %qT"
+ msgstr "%JвишеÑтрука уÑпоÑтављања дата за оÑновно %qT"
+
+-#: cp/init.c:629
++#: cp/init.c:776
+ #, gcc-internal-format
+ msgid "%Jinitializations for multiple members of %qT"
+ msgstr "%JуÑпоÑтављања за више чланова из %qT"
+
+-#: cp/init.c:691
++#: cp/init.c:839
+ #, gcc-internal-format
+ msgid "%Jbase class %q#T should be explicitly initialized in the copy constructor"
+ msgstr "%JоÑновна клаÑа %q#T треба да Ñе екÑплицитно уÑпоÑтави у копи-конÑтруктору"
+
+-#: cp/init.c:915 cp/init.c:934
++#: cp/init.c:1063 cp/init.c:1082
+ #, gcc-internal-format
+ msgid "class %qT does not have any field named %qD"
+ msgstr "клаÑа %qT нема поље по имену %qD"
+
+-#: cp/init.c:921
++#: cp/init.c:1069
+ #, gcc-internal-format
+ msgid "%q#D is a static data member; it can only be initialized at its definition"
+ msgstr "%q#D је Ñтатички чланÑки податак; може Ñе уÑпоÑтављати Ñамо при дефиниÑању"
+
+-#: cp/init.c:928
++#: cp/init.c:1076
+ #, gcc-internal-format
+ msgid "%q#D is not a non-static data member of %qT"
+ msgstr "%q#D је неÑтатички чланÑки податак у %qT"
+
+-#: cp/init.c:967
++#: cp/init.c:1115
+ #, gcc-internal-format
+ msgid "unnamed initializer for %qT, which has no base classes"
+ msgstr "неименовани уÑпоÑтављач за %qT, која нема оÑновних клаÑа"
+
+-#: cp/init.c:975
++#: cp/init.c:1123
+ #, gcc-internal-format
+ msgid "unnamed initializer for %qT, which uses multiple inheritance"
+ msgstr "неименовани уÑпоÑтављач за %qT, која кориÑти вишеÑтруко наÑлеђивање"
+
+-#: cp/init.c:1021
++#: cp/init.c:1169
+ #, gcc-internal-format
+ msgid "%qD is both a direct base and an indirect virtual base"
+ msgstr "%qD је и непоÑредна оÑнова и поÑредна виртуелна оÑнова"
+
+-#: cp/init.c:1029
++#: cp/init.c:1177
+ #, gcc-internal-format
+ msgid "type %qT is not a direct or virtual base of %qT"
+ msgstr "тип %qT није непоÑредна или виртуелна оÑнова од %qT"
+
+-#: cp/init.c:1032
++#: cp/init.c:1180
+ #, gcc-internal-format
+ msgid "type %qT is not a direct base of %qT"
+ msgstr "тип %qT није непоÑредна оÑнова од %qT"
+
+-#: cp/init.c:1112
++#: cp/init.c:1260
+ #, gcc-internal-format
+ msgid "bad array initializer"
+ msgstr "лош уÑпоÑтављач низа"
+
+-#: cp/init.c:1287
++#: cp/init.c:1435
+ #, gcc-internal-format
+ msgid "%qT is not an aggregate type"
+ msgstr "%qT није ÑкупинÑки тип"
+
+-#: cp/init.c:1341
++#: cp/init.c:1489
+ #, gcc-internal-format
+ msgid "incomplete type %qT does not have member %qD"
+ msgstr "непотпун тип %qT нема члан %qD"
+
+-#: cp/init.c:1354
++#: cp/init.c:1502
+ #, gcc-internal-format
+ msgid "invalid pointer to bit-field %qD"
+ msgstr "неиÑправан показивач на битÑко поље %qD"
+
+-#: cp/init.c:1431
++#: cp/init.c:1579
+ #, gcc-internal-format
+ msgid "invalid use of non-static member function %qD"
+ msgstr "неиÑправна употреба неÑтатичке чланÑке функције %qD"
+
+-#: cp/init.c:1437
++#: cp/init.c:1585
+ #, gcc-internal-format
+ msgid "invalid use of non-static data member %qD"
+ msgstr "неиÑправна употреба неÑтатичког чланÑког податка %qD"
+
+-#: cp/init.c:1714
++#: cp/init.c:1862
+ #, gcc-internal-format
+ msgid "invalid type %<void%> for new"
+ msgstr "неиÑправан тип %<void%> за new"
+
+-#: cp/init.c:1724
++#: cp/init.c:1872
+ #, gcc-internal-format
+ msgid "uninitialized const in %<new%> of %q#T"
+ msgstr "неуÑпоÑтављена конÑтанта у %<new%> за %q#T"
+
+-#: cp/init.c:1775
++#: cp/init.c:1910
+ #, gcc-internal-format
+ msgid "call to Java constructor with %qs undefined"
+ msgstr "позив јаванÑком конÑтруктору док је %qs недефиниÑано"
+
+-#: cp/init.c:1815
++#: cp/init.c:1926
++#, fuzzy, gcc-internal-format
++msgid "Java class %q#T object allocated using placement new"
++msgstr "јаванÑка клаÑа %qT не може имати вишеÑтруке оÑнове"
++
++#: cp/init.c:1955
+ #, gcc-internal-format
+ msgid "no suitable %qD found in class %qT"
+ msgstr "ниједно погодно %qD није нађено у клаÑи %qT"
+
+-#: cp/init.c:1820
++#: cp/init.c:1960
+ #, gcc-internal-format
+ msgid "request for member %qD is ambiguous"
+ msgstr "двоÑмиÑлен захтев за чланом %qD"
+
+-#: cp/init.c:1972
++#: cp/init.c:2134
+ #, gcc-internal-format
+ msgid "ISO C++ forbids initialization in array new"
+ msgstr "ИСО Ц++ забрањује уÑпоÑтављање у низовном new"
+
+-#: cp/init.c:2174
++#: cp/init.c:2336
+ #, gcc-internal-format
+ msgid "size in array new must have integral type"
+ msgstr "величина у низовном new мора бити интегралног типа"
+
+-#: cp/init.c:2183
++#: cp/init.c:2345
+ #, gcc-internal-format
+ msgid "new cannot be applied to a reference type"
+ msgstr "new Ñе не може применити на упућивачки тип"
+
+-#: cp/init.c:2189
++#: cp/init.c:2351
+ #, gcc-internal-format
+ msgid "new cannot be applied to a function type"
+ msgstr "new Ñе не може применити на функцијиÑки тип"
+
+-#: cp/init.c:2228
++#: cp/init.c:2390
+ #, gcc-internal-format
+ msgid "call to Java constructor, while %<jclass%> undefined"
+ msgstr "позив јаванÑком конÑтруктору док је %<jclass%> недефиниÑано"
+
+-#: cp/init.c:2246
++#: cp/init.c:2408
+ #, gcc-internal-format
+ msgid "can't find %<class$%> in %qT"
+ msgstr "не могу да нађем %<class$%> у %qT"
+
+-#: cp/init.c:2607
++#: cp/init.c:2769
+ #, gcc-internal-format
+ msgid "initializer ends prematurely"
+ msgstr "уÑпоÑтављач Ñе прерано окончава"
+
+-#: cp/init.c:2662
++#: cp/init.c:2824
+ #, gcc-internal-format
+ msgid "cannot initialize multi-dimensional array with initializer"
+ msgstr "у уÑпоÑтављачу Ñе не могу уÑпоÑтављати вишедимензиони низови"
+
+-#: cp/init.c:2799
++#: cp/init.c:2961
+ #, gcc-internal-format
+ msgid "possible problem detected in invocation of delete operator:"
+ msgstr "откривен могућ проблем у позиву оператора delete:"
+
+-#: cp/init.c:2802
++#: cp/init.c:2964
+ #, gcc-internal-format
+ msgid "neither the destructor nor the class-specific operator delete will be called, even if they are declared when the class is defined."
+ msgstr "ни деÑтруктор, ни клаÑи поÑебан оператор delete неће бити позван, чак и ако Ñу деклариÑани када Ñе клаÑа дефинише."
+
+-#: cp/init.c:2823
++#: cp/init.c:2985
+ #, gcc-internal-format
+ msgid "unknown array size in delete"
+ msgstr "непозната величина низа за delete"
+
+-#: cp/init.c:3070
++#: cp/init.c:3232
+ #, gcc-internal-format
+ msgid "type to vector delete is neither pointer or array type"
+ msgstr "тип уз векторÑко delete није ни показивачки ни низовни"
+@@ -29770,22 +29781,22 @@
+ msgid "mangling typeof, use decltype instead"
+ msgstr ""
+
+-#: cp/mangle.c:2208
++#: cp/mangle.c:2211
+ #, gcc-internal-format
+ msgid "call_expr cannot be mangled due to a defect in the C++ ABI"
+ msgstr "call_expr не може бити запетљано уÑлед мане у ÐБИју Ц++а"
+
+-#: cp/mangle.c:2216
++#: cp/mangle.c:2219
+ #, gcc-internal-format
+ msgid "zero-operand casts cannot be mangled due to a defect in the C++ ABI"
+ msgstr "претапања без операнада не могу бити запетљана уÑлед мане у ÐБИју Ц++а"
+
+-#: cp/mangle.c:2266
++#: cp/mangle.c:2269
+ #, gcc-internal-format
+ msgid "omitted middle operand to %<?:%> operand cannot be mangled"
+ msgstr "изоÑтављени Ñредњи операнд у %<?:%> не може бити запетљан"
+
+-#: cp/mangle.c:2584
++#: cp/mangle.c:2587
+ #, gcc-internal-format
+ msgid "the mangled name of %qD will change in a future version of GCC"
+ msgstr "запетљано име за %qD биће измењено у будућим верзијама ГЦЦа"
+@@ -29795,27 +29806,27 @@
+ msgid "generic thunk code fails for method %q#D which uses %<...%>"
+ msgstr "генерички кôд Ñмрза не пролази за метод %q#D који кориÑти %<...%>"
+
+-#: cp/method.c:697
++#: cp/method.c:698
+ #, gcc-internal-format
+ msgid "non-static const member %q#D, can't use default assignment operator"
+ msgstr "неÑтатички конÑтантни члан %q#D, не може Ñе кориÑтити подразумевани оператор доделе"
+
+-#: cp/method.c:703
++#: cp/method.c:704
+ #, gcc-internal-format
+ msgid "non-static reference member %q#D, can't use default assignment operator"
+ msgstr "неÑтатички упућивачки члан %q#D, не може Ñе кориÑтити подразумевани оператор доделе"
+
+-#: cp/method.c:815
++#: cp/method.c:816
+ #, gcc-internal-format
+ msgid "%Hsynthesized method %qD first required here "
+ msgstr "%HÑамоÑачињени метод %qD прво захтеван овде "
+
+-#: cp/method.c:1158
++#: cp/method.c:1159
+ #, gcc-internal-format
+ msgid "vtable layout for class %qT may not be ABI-compliantand may change in a future version of GCC due to implicit virtual destructor"
+ msgstr "раÑпоред в-табеле за клаÑу %qT можда не поштује ÐБИ, и може Ñе изменити у будућим верзијама ГЦЦа уÑлед имплицитног виртуелног деÑтруктора"
+
+-#: cp/name-lookup.c:728
++#: cp/name-lookup.c:727
+ #, gcc-internal-format
+ msgid "redeclaration of %<wchar_t%> as %qT"
+ msgstr "поновљена декларација %<wchar_t%> као %qT"
+@@ -29826,243 +29837,243 @@
+ #. [basic.start.main]
+ #.
+ #. This function shall not be overloaded.
+-#: cp/name-lookup.c:758
++#: cp/name-lookup.c:757
+ #, gcc-internal-format
+ msgid "invalid redeclaration of %q+D"
+ msgstr "неиÑправна поновљена декларација %q+D"
+
+-#: cp/name-lookup.c:759
++#: cp/name-lookup.c:758
+ #, gcc-internal-format
+ msgid "as %qD"
+ msgstr "као %qD"
+
+-#: cp/name-lookup.c:850
++#: cp/name-lookup.c:849
+ #, gcc-internal-format
+ msgid "type mismatch with previous external decl of %q#D"
+ msgstr "неÑлагање типа Ñа претходном Ñпољашњом декларацијом %q#D"
+
+-#: cp/name-lookup.c:851
++#: cp/name-lookup.c:850
+ #, gcc-internal-format
+ msgid "previous external decl of %q+#D"
+ msgstr "претходна Ñпољашња декларација %q+#D"
+
+-#: cp/name-lookup.c:942
++#: cp/name-lookup.c:941
+ #, gcc-internal-format
+ msgid "extern declaration of %q#D doesn't match"
+ msgstr "Ñпољашња декларација %q#D не Ñлаже Ñе"
+
+-#: cp/name-lookup.c:943
++#: cp/name-lookup.c:942
+ #, gcc-internal-format
+ msgid "global declaration %q+#D"
+ msgstr "глобална декларација %q+#D"
+
+-#: cp/name-lookup.c:980 cp/name-lookup.c:987
++#: cp/name-lookup.c:979 cp/name-lookup.c:986
+ #, gcc-internal-format
+ msgid "declaration of %q#D shadows a parameter"
+ msgstr "декларација %q#D заклања параметар"
+
+ #. Location of previous decl is not useful in this case.
+-#: cp/name-lookup.c:1012
++#: cp/name-lookup.c:1011
+ #, gcc-internal-format
+ msgid "declaration of %qD shadows a member of 'this'"
+ msgstr "декларација %qD заклања члан у „this“"
+
+-#: cp/name-lookup.c:1018
++#: cp/name-lookup.c:1017
+ #, gcc-internal-format
+ msgid "declaration of %qD shadows a previous local"
+ msgstr "декларација %qD заклања претходну локалну"
+
+-#: cp/name-lookup.c:1025
++#: cp/name-lookup.c:1024
+ #, gcc-internal-format
+ msgid "declaration of %qD shadows a global declaration"
+ msgstr "декларација %qD заклања глобалну декларацију"
+
+-#: cp/name-lookup.c:1148
++#: cp/name-lookup.c:1147
+ #, gcc-internal-format
+ msgid "name lookup of %qD changed"
+ msgstr "измењена потрага имена за %qD"
+
+-#: cp/name-lookup.c:1149
++#: cp/name-lookup.c:1148
+ #, gcc-internal-format
+ msgid " matches this %q+D under ISO standard rules"
+ msgstr " одговара овом %q+D по правилима ИСО Ñтандарда"
+
+-#: cp/name-lookup.c:1151
++#: cp/name-lookup.c:1150
+ #, gcc-internal-format
+ msgid " matches this %q+D under old rules"
+ msgstr " одговара овом %q+D по Ñтарим правилима"
+
+-#: cp/name-lookup.c:1169 cp/name-lookup.c:1177
++#: cp/name-lookup.c:1168 cp/name-lookup.c:1176
+ #, gcc-internal-format
+ msgid "name lookup of %qD changed for new ISO %<for%> scoping"
+ msgstr "измењена потрага %qD према новом доÑезању ИСО %<for%>"
+
+-#: cp/name-lookup.c:1171
++#: cp/name-lookup.c:1170
+ #, gcc-internal-format
+ msgid " cannot use obsolete binding at %q+D because it has a destructor"
+ msgstr " не може Ñе кориÑтити заÑтарело везивање код %q+D јер има деÑтруктор"
+
+-#: cp/name-lookup.c:1179
++#: cp/name-lookup.c:1178
+ #, gcc-internal-format
+ msgid " using obsolete binding at %q+D"
+ msgstr " кориÑти Ñе заÑтарело везивање код %q+D"
+
+-#: cp/name-lookup.c:1232
++#: cp/name-lookup.c:1231
+ #, gcc-internal-format
+ msgid "%s %s(%E) %p %d\n"
+ msgstr "%s %s(%E) %p %d\n"
+
+-#: cp/name-lookup.c:1235
++#: cp/name-lookup.c:1234
+ #, gcc-internal-format
+ msgid "%s %s %p %d\n"
+ msgstr "%s %s %p %d\n"
+
+-#: cp/name-lookup.c:1362
++#: cp/name-lookup.c:1361
+ #, gcc-internal-format
+ msgid "XXX is_class_level != (current_scope == class_scope)\n"
+ msgstr "XXX is_class_level != (current_scope == class_scope)\n"
+
+-#: cp/name-lookup.c:1920
++#: cp/name-lookup.c:1922
+ #, gcc-internal-format
+ msgid "%q#D hides constructor for %q#T"
+ msgstr "%q#D Ñкрива конÑтруктор за %q#T"
+
+-#: cp/name-lookup.c:1937
++#: cp/name-lookup.c:1939
+ #, gcc-internal-format
+ msgid "%q#D conflicts with previous using declaration %q#D"
+ msgstr "%q#D Ñе коÑи Ñа претходном декларацијом употребе %q#D"
+
+-#: cp/name-lookup.c:1960
++#: cp/name-lookup.c:1962
+ #, gcc-internal-format
+ msgid "previous non-function declaration %q+#D"
+ msgstr "претходна нефункцијÑка декларација %q+#D"
+
+-#: cp/name-lookup.c:1961
++#: cp/name-lookup.c:1963
+ #, gcc-internal-format
+ msgid "conflicts with function declaration %q#D"
+ msgstr "коÑи Ñе Ñа функцијÑком декларацијом %q#D"
+
+ #. It's a nested name with template parameter dependent scope.
+ #. This can only be using-declaration for class member.
+-#: cp/name-lookup.c:2039 cp/name-lookup.c:2064
++#: cp/name-lookup.c:2041 cp/name-lookup.c:2066
+ #, gcc-internal-format
+ msgid "%qT is not a namespace"
+ msgstr "%qT није именÑки проÑтор"
+
+ #. 7.3.3/5
+ #. A using-declaration shall not name a template-id.
+-#: cp/name-lookup.c:2049
++#: cp/name-lookup.c:2051
+ #, gcc-internal-format
+ msgid "a using-declaration cannot specify a template-id. Try %<using %D%>"
+ msgstr "декларација употребе не може навеÑти ид. шаблона. Покушајте %<using %D%>"
+
+-#: cp/name-lookup.c:2056
++#: cp/name-lookup.c:2058
+ #, gcc-internal-format
+ msgid "namespace %qD not allowed in using-declaration"
+ msgstr "именÑки проÑтор %qD није дозвоље у декларацији употребе"
+
+-#: cp/name-lookup.c:2092
++#: cp/name-lookup.c:2094
+ #, gcc-internal-format
+ msgid "%qD not declared"
+ msgstr "%qD није деклариÑано"
+
+-#: cp/name-lookup.c:2128 cp/name-lookup.c:2165 cp/name-lookup.c:2199
+-#: cp/name-lookup.c:2214
++#: cp/name-lookup.c:2130 cp/name-lookup.c:2167 cp/name-lookup.c:2201
++#: cp/name-lookup.c:2216
+ #, gcc-internal-format
+ msgid "%qD is already declared in this scope"
+ msgstr "%qD је већ деклариÑано у овом доÑегу"
+
+-#: cp/name-lookup.c:2817
++#: cp/name-lookup.c:2819
+ #, gcc-internal-format
+ msgid "using-declaration for non-member at class scope"
+ msgstr "декларација употребе за не-члан у доÑегу клаÑе"
+
+-#: cp/name-lookup.c:2824
++#: cp/name-lookup.c:2826
+ #, gcc-internal-format
+ msgid "%<%T::%D%> names destructor"
+ msgstr "%<%T::%D%> именује деÑтруктор"
+
+-#: cp/name-lookup.c:2829
++#: cp/name-lookup.c:2831
+ #, gcc-internal-format
+ msgid "%<%T::%D%> names constructor"
+ msgstr "%<%T::%D%> именује конÑтруктор"
+
+-#: cp/name-lookup.c:2834
++#: cp/name-lookup.c:2836
+ #, gcc-internal-format
+ msgid "%<%T::%D%> names constructor in %qT"
+ msgstr "%<%T::%D%> именује конÑтруктор у %qT"
+
+-#: cp/name-lookup.c:2884
++#: cp/name-lookup.c:2886
+ #, gcc-internal-format
+ msgid "no members matching %<%T::%D%> in %q#T"
+ msgstr "нема члана који одговара %<%T::%D%> у %q#T"
+
+-#: cp/name-lookup.c:2952
++#: cp/name-lookup.c:2954
+ #, gcc-internal-format
+ msgid "declaration of %qD not in a namespace surrounding %qD"
+ msgstr "декларација %qD није у именÑком проÑтору који окружује %qD"
+
+-#: cp/name-lookup.c:2960
++#: cp/name-lookup.c:2962
+ #, gcc-internal-format
+ msgid "explicit qualification in declaration of %qD"
+ msgstr "екÑплицитна одредба у декларацији %qD"
+
+-#: cp/name-lookup.c:3003
++#: cp/name-lookup.c:3005
+ #, gcc-internal-format
+ msgid "%qD should have been declared inside %qD"
+ msgstr "%qD треба да је деклариÑано унутар %qD"
+
+-#: cp/name-lookup.c:3048
++#: cp/name-lookup.c:3050
+ #, fuzzy, gcc-internal-format
+ msgid "%qD attribute requires a single NTBS argument"
+ msgstr "атрибут %qs захтева тачно један ÐТБС аргумент"
+
+-#: cp/name-lookup.c:3055
++#: cp/name-lookup.c:3057
+ #, gcc-internal-format
+ msgid "%qD attribute is meaningless since members of the anonymous namespace get local symbols"
+ msgstr ""
+
+-#: cp/name-lookup.c:3064 cp/name-lookup.c:3433
++#: cp/name-lookup.c:3066 cp/name-lookup.c:3435
+ #, gcc-internal-format
+ msgid "%qD attribute directive ignored"
+ msgstr "атрибутÑка директива %qD игнориÑана"
+
+-#: cp/name-lookup.c:3109
++#: cp/name-lookup.c:3111
+ #, gcc-internal-format
+ msgid "namespace alias %qD not allowed here, assuming %qD"
+ msgstr "Ð°Ð»Ð¸Ñ˜Ð°Ñ Ð¸Ð¼ÐµÐ½Ñког проÑтора %qD није дозвољен овде, претпоÑтављам %qD"
+
+-#: cp/name-lookup.c:3421
++#: cp/name-lookup.c:3423
+ #, gcc-internal-format
+ msgid "strong using only meaningful at namespace scope"
+ msgstr "јако using има ÑмиÑла Ñамо у доÑегу именÑког проÑтора"
+
+-#: cp/name-lookup.c:3425
++#: cp/name-lookup.c:3427
+ #, gcc-internal-format
+ msgid "current namespace %qD does not enclose strongly used namespace %qD"
+ msgstr "текући именÑки проÑтор %qD не обухвата јако употребљени именÑки проÑтор %qD"
+
+-#: cp/name-lookup.c:4318
++#: cp/name-lookup.c:4320
+ #, gcc-internal-format
+ msgid "%q+D is not a function,"
+ msgstr "%q+D није функција,"
+
+-#: cp/name-lookup.c:4319
++#: cp/name-lookup.c:4321
+ #, gcc-internal-format
+ msgid " conflict with %q+D"
+ msgstr " коÑи Ñе Ñа %q+D"
+
+-#: cp/name-lookup.c:4752
++#: cp/name-lookup.c:4756
+ #, gcc-internal-format
+ msgid "argument dependent lookup finds %q+D"
+ msgstr "потрага у завиÑноÑти од аргумента даје %q+D"
+
+-#: cp/name-lookup.c:5184
++#: cp/name-lookup.c:5188
+ #, gcc-internal-format
+ msgid "XXX entering pop_everything ()\n"
+ msgstr "XXX entering pop_everything ()\n"
+
+-#: cp/name-lookup.c:5193
++#: cp/name-lookup.c:5197
+ #, gcc-internal-format
+ msgid "XXX leaving pop_everything ()\n"
+ msgstr "XXX leaving pop_everything ()\n"
+@@ -30072,368 +30083,373 @@
+ msgid "identifier %<%s%> will become a keyword in C++0x"
+ msgstr ""
+
+-#: cp/parser.c:2066
++#: cp/parser.c:2069
+ #, gcc-internal-format
+ msgid "%<#pragma%> is not allowed here"
+ msgstr "%<#pragma%> није дозвољена овде"
+
+-#: cp/parser.c:2096
++#: cp/parser.c:2099
+ #, fuzzy, gcc-internal-format
+ msgid "%<%E::%E%> has not been declared"
+ msgstr "%<%D::%D%> није деклариÑано"
+
+-#: cp/parser.c:2099
++#: cp/parser.c:2102
+ #, fuzzy, gcc-internal-format
+ msgid "%<::%E%> has not been declared"
+ msgstr "%<::%D%> није деклариÑано"
+
+-#: cp/parser.c:2102
++#: cp/parser.c:2105
+ #, fuzzy, gcc-internal-format
+ msgid "request for member %qE in non-class type %qT"
+ msgstr "захтев за члан %qD у неклаÑном типу %qT"
+
+-#: cp/parser.c:2105
++#: cp/parser.c:2108
+ #, fuzzy, gcc-internal-format
+ msgid "%<%T::%E%> has not been declared"
+ msgstr "%<%T::%D%> није деклариÑано"
+
+-#: cp/parser.c:2108
++#: cp/parser.c:2111
+ #, fuzzy, gcc-internal-format
+ msgid "%qE has not been declared"
+ msgstr "%qD није деклариÑано"
+
+-#: cp/parser.c:2111
++#: cp/parser.c:2114
+ #, fuzzy, gcc-internal-format
+ msgid "%<%E::%E%> %s"
+ msgstr "%<%D::%D%> %s"
+
+-#: cp/parser.c:2113
++#: cp/parser.c:2116
+ #, fuzzy, gcc-internal-format
+ msgid "%<::%E%> %s"
+ msgstr "%<::%D%> %s"
+
+-#: cp/parser.c:2115
++#: cp/parser.c:2118
+ #, fuzzy, gcc-internal-format
+ msgid "%qE %s"
+ msgstr "%qD %s"
+
+-#: cp/parser.c:2151
+-#, gcc-internal-format
+-msgid "ISO C++ does not support %<long long%>"
++#: cp/parser.c:2155
++#, fuzzy, gcc-internal-format
++msgid "ISO C++ 1998 does not support %<long long%>"
+ msgstr "ИСО Ц++ не подржава %<long long%>"
+
+-#: cp/parser.c:2171
++#: cp/parser.c:2175
+ #, gcc-internal-format
+ msgid "duplicate %qs"
+ msgstr "удвоÑтручено %qs"
+
+-#: cp/parser.c:2214
++#: cp/parser.c:2218
+ #, gcc-internal-format
+ msgid "new types may not be defined in a return type"
+ msgstr "не могу Ñе дефиниÑати нови типови у повратном типу"
+
+-#: cp/parser.c:2215
++#: cp/parser.c:2219
+ #, gcc-internal-format
+ msgid "(perhaps a semicolon is missing after the definition of %qT)"
+ msgstr "(можда недоÑтаје тачка-зарез поÑле дефиниције %qT)"
+
+-#: cp/parser.c:2234 cp/parser.c:4077 cp/pt.c:5443
++#: cp/parser.c:2238 cp/parser.c:4081 cp/pt.c:5509
+ #, gcc-internal-format
+ msgid "%qT is not a template"
+ msgstr "%qT није шаблон"
+
+-#: cp/parser.c:2236
++#: cp/parser.c:2240
+ #, gcc-internal-format
+ msgid "%qE is not a template"
+ msgstr "%qE није шаблон"
+
+-#: cp/parser.c:2238
++#: cp/parser.c:2242
+ #, gcc-internal-format
+ msgid "invalid template-id"
+ msgstr "неиÑправан ид. шаблона"
+
+-#: cp/parser.c:2267
++#: cp/parser.c:2271
+ #, gcc-internal-format
+ msgid "%s cannot appear in a constant-expression"
+ msgstr "%s не може да Ñе јави у конÑтантном изразу"
+
+-#: cp/parser.c:2292
++#: cp/parser.c:2296
+ #, gcc-internal-format
+ msgid "invalid use of template-name %qE without an argument list"
+ msgstr "неиÑправна употреба шаблонÑког имена %qE без лиÑте аргумената"
+
+-#: cp/parser.c:2294
++#: cp/parser.c:2298
+ #, gcc-internal-format
+ msgid "invalid use of destructor %qD as a type"
+ msgstr "неиÑправна употреба деÑтруктора %qD као типа"
+
+ #. Something like 'unsigned A a;'
+-#: cp/parser.c:2297
++#: cp/parser.c:2301
+ #, gcc-internal-format
+ msgid "invalid combination of multiple type-specifiers"
+ msgstr "неиÑправна комбинација вишеÑтруких наводилаца типа"
+
+ #. Issue an error message.
+-#: cp/parser.c:2301
++#: cp/parser.c:2305
+ #, gcc-internal-format
+ msgid "%qE does not name a type"
+ msgstr "%qE не именује тип"
+
+-#: cp/parser.c:2333
++#: cp/parser.c:2337
+ #, gcc-internal-format
+ msgid "(perhaps %<typename %T::%E%> was intended)"
+ msgstr "(можда је намера била %<typename %T::%E%>)"
+
+-#: cp/parser.c:2348
++#: cp/parser.c:2352
+ #, gcc-internal-format
+ msgid "%qE in namespace %qE does not name a type"
+ msgstr "%qE у именÑком проÑтору %qE не именује тип"
+
+-#: cp/parser.c:2351
++#: cp/parser.c:2355
+ #, gcc-internal-format
+ msgid "%qE in class %qT does not name a type"
+ msgstr "%qE у клаÑи %qT не именује тип"
+
+-#: cp/parser.c:3160
++#: cp/parser.c:3164
+ #, gcc-internal-format
+ msgid "ISO C++ forbids braced-groups within expressions"
+ msgstr "ИСО Ц++ забрањује витичаÑто заграђене групе унутар израза"
+
+-#: cp/parser.c:3171
++#: cp/parser.c:3175
+ #, fuzzy, gcc-internal-format
+ msgid "statement-expressions are not allowed outside functions nor in template-argument lists"
+ msgstr "наредбени изрази дозвољени Ñу Ñамо унутар функција"
+
+-#: cp/parser.c:3229
++#: cp/parser.c:3233
+ #, gcc-internal-format
+ msgid "%<this%> may not be used in this context"
+ msgstr "%<this%> Ñе не може употребити у овом контекÑту"
+
+-#: cp/parser.c:3412
++#: cp/parser.c:3416
+ #, gcc-internal-format
+ msgid "local variable %qD may not appear in this context"
+ msgstr "локална променљива %qD не може Ñе појавити у овом контекÑту"
+
+-#: cp/parser.c:3711
++#: cp/parser.c:3715
+ #, gcc-internal-format
+ msgid "scope %qT before %<~%> is not a class-name"
+ msgstr "доÑег %qT пре %<~%> није име клаÑе"
+
+-#: cp/parser.c:3812
++#: cp/parser.c:3816
+ #, gcc-internal-format
+ msgid "declaration of %<~%T%> as member of %qT"
+ msgstr "декларација %<~%T%> као члана у %qT"
+
+-#: cp/parser.c:3826
++#: cp/parser.c:3830
+ #, gcc-internal-format
+ msgid "typedef-name %qD used as destructor declarator"
+ msgstr "typedef-име %qD употребљено као декларатор деÑтруктора"
+
+-#: cp/parser.c:4480
++#: cp/parser.c:4484
+ #, gcc-internal-format
+ msgid "ISO C++ forbids compound-literals"
+ msgstr "ИСО Ц++ забрањује Ñложене конÑтанте"
+
+-#: cp/parser.c:4837
++#: cp/parser.c:4841
+ #, gcc-internal-format
+ msgid "%qE does not have class type"
+ msgstr "%qE нема клаÑни тип"
+
+-#: cp/parser.c:4920 cp/typeck.c:1978
++#: cp/parser.c:4924 cp/typeck.c:2024
+ #, gcc-internal-format
+ msgid "invalid use of %qD"
+ msgstr "неиÑправна употреба %qD"
+
+-#: cp/parser.c:5480
++#: cp/parser.c:5486
+ #, gcc-internal-format
+ msgid "array bound forbidden after parenthesized type-id"
+ msgstr "граница низа забрањена је поÑле заграђеног ид. типа"
+
+-#: cp/parser.c:5481
++#: cp/parser.c:5487
+ #, gcc-internal-format
+ msgid "try removing the parentheses around the type-id"
+ msgstr "покушајте да уклоните заграде око ид. типа"
+
+-#: cp/parser.c:5671
++#: cp/parser.c:5677
+ #, gcc-internal-format
+ msgid "expression in new-declarator must have integral or enumeration type"
+ msgstr "израз у декларатору new мора имати интегрални или набројиви тип"
+
+-#: cp/parser.c:5860
++#: cp/parser.c:5866
+ #, gcc-internal-format
+ msgid "use of old-style cast"
+ msgstr "употреба ÑтаровремÑког претапања"
+
+-#: cp/parser.c:5986
++#: cp/parser.c:5992
+ #, gcc-internal-format
+ msgid "%H%<>>%> operator will be treated as two right angle brackets in C++0x"
+ msgstr ""
+
+-#: cp/parser.c:5989
++#: cp/parser.c:5995
+ #, fuzzy, gcc-internal-format
+ msgid "suggest parentheses around %<>>%> expression"
+ msgstr "предложи заграде око && унутар ||"
+
+-#: cp/parser.c:6793
++#: cp/parser.c:6799
+ #, gcc-internal-format
+ msgid "case label %qE not within a switch statement"
+ msgstr "етикета Ñлучаја %qE ван наредбе пребацивања"
+
+-#: cp/parser.c:6922
++#: cp/parser.c:6928
+ #, gcc-internal-format
+ msgid "%<else%> without a previous %<if%>"
+ msgstr ""
+
+-#: cp/parser.c:7208
++#: cp/parser.c:7214
+ #, gcc-internal-format
+ msgid "suggest a space before %<;%> or explicit braces around empty body in %<%s%> statement"
+ msgstr ""
+
+-#: cp/parser.c:7468
++#: cp/parser.c:7474
+ #, gcc-internal-format
+ msgid "ISO C++ forbids computed gotos"
+ msgstr "ИСО Ц++ забрањује рачунÑко goto"
+
+-#: cp/parser.c:7608
++#: cp/parser.c:7614
+ #, gcc-internal-format
+ msgid "extra %<;%>"
+ msgstr "Ñувишно %<;%>"
+
+-#: cp/parser.c:7825
++#: cp/parser.c:7831
+ #, gcc-internal-format
+ msgid "%<__label__%> not at the beginning of a block"
+ msgstr ""
+
+-#: cp/parser.c:7958
++#: cp/parser.c:7964
+ #, gcc-internal-format
+ msgid "mixing declarations and function-definitions is forbidden"
+ msgstr "забрањено је мешање декларација и дефиниција функција"
+
+-#: cp/parser.c:8090
++#: cp/parser.c:8096
+ #, gcc-internal-format
+ msgid "%<friend%> used outside of class"
+ msgstr "%<friend%> употребљено изван клаÑе"
+
+-#: cp/parser.c:8244
++#: cp/parser.c:8250
+ #, gcc-internal-format
+ msgid "class definition may not be declared a friend"
+ msgstr "дефиниција клаÑе не може бити деклариÑана пријатељем"
+
+-#: cp/parser.c:8308 cp/parser.c:15155
++#: cp/parser.c:8314 cp/parser.c:15235
+ #, gcc-internal-format
+ msgid "templates may not be %<virtual%>"
+ msgstr "шаблони не могу бити виртуелни"
+
+-#: cp/parser.c:8775
++#: cp/parser.c:8786
+ #, gcc-internal-format
+ msgid "only constructors take base initializers"
+ msgstr "Ñамо конÑтруктори узимају уÑпоÑтављаче оÑнове"
+
+-#: cp/parser.c:8795
++#: cp/parser.c:8806
+ #, fuzzy, gcc-internal-format
+ msgid "cannot expand initializer for member %<%D%>"
+ msgstr "недоÑтаје уÑпоÑтављач за члан %qD"
+
+-#: cp/parser.c:8847
++#: cp/parser.c:8858
+ #, gcc-internal-format
+ msgid "anachronistic old-style base class initializer"
+ msgstr "анахрониÑтични ÑтаровремÑки уÑпоÑтављач оÑновне клаÑе"
+
+-#: cp/parser.c:8892
++#: cp/parser.c:8903
+ #, gcc-internal-format
+ msgid "keyword %<typename%> not allowed in this context (a qualified member initializer is implicitly a type)"
+ msgstr "кључна реч %<typename%> није дозвољена у овом контекÑту (уÑпоÑтављач одређеног члана имплицитно је тип)"
+
+ #. Warn that we do not support `export'.
+-#: cp/parser.c:9237
++#: cp/parser.c:9248
+ #, gcc-internal-format
+ msgid "keyword %<export%> not implemented, and will be ignored"
+ msgstr "кључна реч %<export%> није имплементирана, игнорише Ñе"
+
+-#: cp/parser.c:9482 cp/parser.c:9583
++#: cp/parser.c:9419 cp/parser.c:9517 cp/parser.c:9618
+ #, fuzzy, gcc-internal-format
+ msgid "template parameter pack %qD cannot have a default argument"
+ msgstr "%qD не може имати подразумеване аргументе"
+
+-#: cp/parser.c:9485 cp/parser.c:9586
++#: cp/parser.c:9422
+ #, fuzzy, gcc-internal-format
++msgid "template parameter pack cannot have a default argument"
++msgstr "шаблонÑки параметри не могу бити пријатељи"
++
++#: cp/parser.c:9520 cp/parser.c:9621
++#, fuzzy, gcc-internal-format
+ msgid "template parameter packs cannot have default arguments"
+ msgstr "шаблонÑки параметри не могу бити пријатељи"
+
+ #. Otherwise, emit an error about the invalid digraph, but continue
+ #. parsing because we got our argument list.
+-#: cp/parser.c:9723
++#: cp/parser.c:9758
+ #, gcc-internal-format
+ msgid "%<<::%> cannot begin a template-argument list"
+ msgstr "%<<::%> не може започети лиÑту шаблонÑких аргумената"
+
+-#: cp/parser.c:9724
++#: cp/parser.c:9759
+ #, gcc-internal-format
+ msgid "%<<:%> is an alternate spelling for %<[%>. Insert whitespace between %<<%> and %<::%>"
+ msgstr "%<<:%> је другачије напиÑано %<[%>. Убаците размак између %<<%> и %<::%>"
+
+-#: cp/parser.c:9731
++#: cp/parser.c:9766
+ #, gcc-internal-format
+ msgid "(if you use -fpermissive G++ will accept your code)"
+ msgstr "(Г++ ће прихватити ово ако задате -fpermissive)"
+
+-#: cp/parser.c:9804
++#: cp/parser.c:9839
+ #, gcc-internal-format
+ msgid "parse error in template argument list"
+ msgstr "грешка у рашчлањивању лиÑте шаблонÑких аргумената"
+
+ #. Explain what went wrong.
+-#: cp/parser.c:9917
++#: cp/parser.c:9952
+ #, gcc-internal-format
+ msgid "non-template %qD used as template"
+ msgstr "%qD употребљено као шаблон, а није"
+
+-#: cp/parser.c:9918
++#: cp/parser.c:9953
+ #, gcc-internal-format
+ msgid "use %<%T::template %D%> to indicate that it is a template"
+ msgstr "употребите %<%T::template %D%> да назначите да је шаблон"
+
+-#: cp/parser.c:10441
++#: cp/parser.c:10476
+ #, gcc-internal-format
+ msgid "template specialization with C linkage"
+ msgstr "Ñпецијализација шаблона Ñа Ц повезивошћу"
+
+-#: cp/parser.c:11032
++#: cp/parser.c:11067
+ #, gcc-internal-format
+ msgid "using %<typename%> outside of template"
+ msgstr "употреба %<typename%> изван шаблона"
+
+-#: cp/parser.c:11191
++#: cp/parser.c:11226
+ #, fuzzy, gcc-internal-format
+ msgid "declaration %qD does not declare anything"
+ msgstr "декларација ништа не декларише"
+
+-#: cp/parser.c:11275
++#: cp/parser.c:11310
+ #, gcc-internal-format
+ msgid "attributes ignored on uninstantiated type"
+ msgstr "атрибут Ñе игнорише за клаÑе без примерака"
+
+-#: cp/parser.c:11279
++#: cp/parser.c:11314
+ #, gcc-internal-format
+ msgid "attributes ignored on template instantiation"
+ msgstr "атрибут Ñе игнорише при извођењу шаблона"
+
+-#: cp/parser.c:11284
++#: cp/parser.c:11319
+ #, gcc-internal-format
+ msgid "attributes ignored on elaborated-type-specifier that is not a forward declaration"
+ msgstr "атрибут Ñе игнорише при предоченом-наводиоцу-типа који није унапредна декларација"
+
+-#: cp/parser.c:11406
++#: cp/parser.c:11441
+ #, gcc-internal-format
+ msgid "comma at end of enumerator list"
+ msgstr "зарез на крају лиÑте набрајања"
+
+-#: cp/parser.c:11498
++#: cp/parser.c:11533
+ #, gcc-internal-format
+ msgid "%qD is not a namespace-name"
+ msgstr "%qD није име именÑког проÑтора"
+
+-#: cp/parser.c:11599
++#: cp/parser.c:11634
+ #, fuzzy, gcc-internal-format
+ msgid "%<namespace%> definition is not allowed here"
+ msgstr "%<#pragma%> није дозвољена овде"
+@@ -30441,142 +30457,157 @@
+ #. [namespace.udecl]
+ #.
+ #. A using declaration shall not name a template-id.
+-#: cp/parser.c:11738
++#: cp/parser.c:11773
+ #, gcc-internal-format
+ msgid "a template-id may not appear in a using-declaration"
+ msgstr "ид. шаблона не може да Ñе јави у декларацији употребе"
+
+-#: cp/parser.c:12094
++#: cp/parser.c:12135
+ #, gcc-internal-format
+ msgid "an asm-specification is not allowed on a function-definition"
+ msgstr "навод asm није дозвољен на дефиницији функције"
+
+-#: cp/parser.c:12096
++#: cp/parser.c:12137
+ #, gcc-internal-format
+ msgid "attributes are not allowed on a function-definition"
+ msgstr "атрибути ниÑу дозвољени на дефиницији функције"
+
+-#: cp/parser.c:12229
++#: cp/parser.c:12270
+ #, gcc-internal-format
+ msgid "initializer provided for function"
+ msgstr "уÑпоÑтављач дат за функцију"
+
+-#: cp/parser.c:12249
++#: cp/parser.c:12290
+ #, gcc-internal-format
+ msgid "attributes after parenthesized initializer ignored"
+ msgstr "игноришу Ñе атрибути поÑле заграђеног уÑпоÑтављача"
+
+-#: cp/parser.c:12630 cp/pt.c:8772
++#: cp/parser.c:12671 cp/pt.c:8893
+ #, gcc-internal-format
+ msgid "array bound is not an integer constant"
+ msgstr "граница низа није целобројна конÑтанта"
+
+-#: cp/parser.c:12739
++#: cp/parser.c:12780
+ #, fuzzy, gcc-internal-format
+ msgid "%<%T::%E%> is not a type"
+ msgstr "%<%T::%D%> није тип"
+
+-#: cp/parser.c:12765
++#: cp/parser.c:12806
+ #, gcc-internal-format
+ msgid "invalid use of constructor as a template"
+ msgstr "неиÑправна употреба конÑтруктора као шаблона"
+
+-#: cp/parser.c:12766
++#: cp/parser.c:12807
+ #, gcc-internal-format
+ msgid "use %<%T::%D%> instead of %<%T::%D%> to name the constructor in a qualified name"
+ msgstr "употреба %<%T::%D%> умеÑто %<%T::%D%> за именовање конÑтруктора у одређеном имену"
+
+-#: cp/parser.c:12938
++#: cp/parser.c:12979
+ #, gcc-internal-format
+ msgid "%qD is a namespace"
+ msgstr "%qD је именÑки проÑтор"
+
+-#: cp/parser.c:13013
++#: cp/parser.c:13054
+ #, gcc-internal-format
+ msgid "duplicate cv-qualifier"
+ msgstr "удвоÑтручена кн-одредба"
+
+-#: cp/parser.c:13600
++#: cp/parser.c:13640
+ #, gcc-internal-format
+ msgid "file ends in default argument"
+ msgstr "датотека Ñе завршава подразумеваним аргументом"
+
+-#: cp/parser.c:13673
++#: cp/parser.c:13683
+ #, gcc-internal-format
+ msgid "deprecated use of default argument for parameter of non-function"
+ msgstr "превазиђена употреба подразумеваног аргумента као параметра не-функције"
+
+-#: cp/parser.c:13676
++#: cp/parser.c:13686
+ #, gcc-internal-format
+ msgid "default arguments are only permitted for function parameters"
+ msgstr "подразумевани аргументи Ñу дозвољени Ñамо за параметре функција"
+
+-#: cp/parser.c:13877
++#: cp/parser.c:13702
++#, fuzzy, gcc-internal-format
++msgid "%sparameter pack %qD cannot have a default argument"
++msgstr "%qD не може имати подразумеване аргументе"
++
++#: cp/parser.c:13705
++#, fuzzy, gcc-internal-format
++msgid "%sparameter pack cannot have a default argument"
++msgstr "%qD не може имати подразумеване аргументе"
++
++#: cp/parser.c:13947
+ #, gcc-internal-format
+ msgid "ISO C++ does not allow designated initializers"
+ msgstr "ИСО Ц++ не дозвољава утврђене уÑпоÑтављаче"
+
+-#: cp/parser.c:14477
++#: cp/parser.c:14547
+ #, gcc-internal-format
+ msgid "invalid class name in declaration of %qD"
+ msgstr "неиÑправно име клаÑе у декларацији %qD"
+
+-#: cp/parser.c:14489
++#: cp/parser.c:14559
+ #, fuzzy, gcc-internal-format
+ msgid "declaration of %qD in namespace %qD which does not enclose %qD"
+ msgstr "декларација %qD у %qD која не обухвата %qD"
+
+-#: cp/parser.c:14492
++#: cp/parser.c:14562
+ #, gcc-internal-format
+ msgid "declaration of %qD in %qD which does not enclose %qD"
+ msgstr "декларација %qD у %qD која не обухвата %qD"
+
+-#: cp/parser.c:14505
++#: cp/parser.c:14575
+ #, gcc-internal-format
+ msgid "extra qualification ignored"
+ msgstr "Ñувишне одредбе Ñе игноришу"
+
+-#: cp/parser.c:14516
++#: cp/parser.c:14586
+ #, gcc-internal-format
+ msgid "an explicit specialization must be preceded by %<template <>%>"
+ msgstr "екÑплицитној Ñпецијализацији мора претходити %<template <>%>"
+
+-#: cp/parser.c:14609
++#: cp/parser.c:14613
++#, fuzzy, gcc-internal-format
++msgid "function template %qD redeclared as a class template"
++msgstr "%qD употребљено као шаблон, а није"
++
++#: cp/parser.c:14689
+ #, gcc-internal-format
+ msgid "previous definition of %q+#T"
+ msgstr "претходна дефиниција %q+#T"
+
+-#: cp/parser.c:14855
++#: cp/parser.c:14935
+ #, gcc-internal-format
+ msgid "%Hextra %<;%>"
+ msgstr "%HÑувишно %<;%>"
+
+-#: cp/parser.c:14873
++#: cp/parser.c:14953
+ #, gcc-internal-format
+ msgid "a class-key must be used when declaring a friend"
+ msgstr "при декларацији пријатеља мора бити употребљена кључна реч class"
+
+-#: cp/parser.c:14887
++#: cp/parser.c:14967
+ #, gcc-internal-format
+ msgid "friend declaration does not name a class or function"
+ msgstr "декларација пријатеља не именује ни клаÑу ни функцију"
+
+-#: cp/parser.c:15064
++#: cp/parser.c:15144
+ #, gcc-internal-format
+ msgid "pure-specifier on function-definition"
+ msgstr "наводилац pure на дефиницији функције"
+
+-#: cp/parser.c:15356
++#: cp/parser.c:15438
+ #, gcc-internal-format
+ msgid "keyword %<typename%> not allowed outside of templates"
+ msgstr "кључна реч %<typename%> није дозвољена изван шаблона"
+
+-#: cp/parser.c:15358
++#: cp/parser.c:15440
+ #, gcc-internal-format
+ msgid "keyword %<typename%> not allowed in this context (the base class is implicitly a type)"
+ msgstr "кључна реч %<typename%> није дозвољена у овом контекÑту (оÑновна клаÑа је имплицитно тип)"
+
+-#: cp/parser.c:16407
++#: cp/parser.c:16489
+ #, gcc-internal-format
+ msgid "too few template-parameter-lists"
+ msgstr "премало лиÑта параметара шаблона"
+@@ -30585,13 +30616,13 @@
+ #. something like:
+ #.
+ #. template <class T> template <class U> void S::f();
+-#: cp/parser.c:16422
++#: cp/parser.c:16504
+ #, gcc-internal-format
+ msgid "too many template-parameter-lists"
+ msgstr "превише лиÑта шаблонÑких параметера"
+
+ #. Issue an error message.
+-#: cp/parser.c:16694
++#: cp/parser.c:16776
+ #, gcc-internal-format
+ msgid "named return values are no longer supported"
+ msgstr "именоване повратне вредноÑти ниÑу више подржане"
+@@ -30599,234 +30630,234 @@
+ #. 14.5.2.2 [temp.mem]
+ #.
+ #. A local class shall not have member templates.
+-#: cp/parser.c:16766
++#: cp/parser.c:16848
+ #, gcc-internal-format
+ msgid "invalid declaration of member template in local class"
+ msgstr "неиÑправна декларација чланÑког шаблона у локалној клаÑи"
+
+-#: cp/parser.c:16775
++#: cp/parser.c:16857
+ #, gcc-internal-format
+ msgid "template with C linkage"
+ msgstr "шаблон Ñа Ц повезивошћу"
+
+-#: cp/parser.c:16919
++#: cp/parser.c:17001
+ #, gcc-internal-format
+ msgid "template declaration of %qs"
+ msgstr "декларација шаблона %qs"
+
+-#: cp/parser.c:16982
++#: cp/parser.c:17064
+ #, fuzzy, gcc-internal-format
+ msgid "explicit template specialization cannot have a storage class"
+ msgstr "екÑплицитна Ñпецијализација у не-именÑкопроÑторном доÑегу %qD"
+
+-#: cp/parser.c:17171
++#: cp/parser.c:17253
+ #, gcc-internal-format
+ msgid "%H%<>>%> should be %<> >%> within a nested template argument list"
+ msgstr "%H%<>>%> треба да је %<> >%> унутар угњеждене лиÑте шаблонÑких аргумената"
+
+-#: cp/parser.c:17184
++#: cp/parser.c:17266
+ #, gcc-internal-format
+ msgid "spurious %<>>%>, use %<>%> to terminate a template argument list"
+ msgstr "Ñувишно %<>>%>, кориÑтите %<>%> за затварање лиÑте шаблонÑких аргумената"
+
+-#: cp/parser.c:17519
++#: cp/parser.c:17601
+ #, gcc-internal-format
+ msgid "invalid use of %qD in linkage specification"
+ msgstr "неиÑправна употреба %qD у одредници повезивоÑти"
+
+-#: cp/parser.c:17532
++#: cp/parser.c:17614
+ #, gcc-internal-format
+ msgid "%<__thread%> before %qD"
+ msgstr "%<__thread%> пре %qD"
+
+-#: cp/parser.c:17847
++#: cp/parser.c:17929
+ #, gcc-internal-format
+ msgid "%qs tag used in naming %q#T"
+ msgstr "ознака %qs употребљена при именовању %q#T"
+
+-#: cp/parser.c:17868
++#: cp/parser.c:17950
+ #, gcc-internal-format
+ msgid "%qD redeclared with different access"
+ msgstr "%qD поново деклариÑано Ñа другачијим приÑтупом"
+
+-#: cp/parser.c:17885
++#: cp/parser.c:17967
+ #, gcc-internal-format
+ msgid "%<template%> (as a disambiguator) is only allowed within templates"
+ msgstr "%<template%> (као разјашњење двоÑмиÑленоÑти) дозвољено је Ñамо унутар шаблона"
+
+-#: cp/parser.c:18138 cp/parser.c:19061 cp/parser.c:19192
++#: cp/parser.c:18220 cp/parser.c:19143 cp/parser.c:19274
+ #, gcc-internal-format
+ msgid "misplaced %<@%D%> Objective-C++ construct"
+ msgstr "конÑтрукција %<@%D%> објективног Ц++а на погрешном меÑту"
+
+-#: cp/parser.c:18279
++#: cp/parser.c:18361
+ #, gcc-internal-format
+ msgid "%<@encode%> must specify a type as an argument"
+ msgstr "%<@encode%> мора навеÑти тип као аргумент"
+
+-#: cp/parser.c:18594
++#: cp/parser.c:18676
+ #, gcc-internal-format
+ msgid "invalid Objective-C++ selector name"
+ msgstr "неиÑправно име Ñелектора објективног Ц++а"
+
+-#: cp/parser.c:18925
++#: cp/parser.c:19007
+ #, gcc-internal-format
+ msgid "identifier expected after %<@protocol%>"
+ msgstr "очекиван је идентификатор поÑле %<@protocol%>"
+
+-#: cp/parser.c:19626
++#: cp/parser.c:19708
+ #, gcc-internal-format
+ msgid "schedule %<runtime%> does not take a %<chunk_size%> parameter"
+ msgstr "раÑпоред %<runtime%> не узима параметар %<chunk_size%>"
+
+-#: cp/parser.c:19735
++#: cp/parser.c:19824
+ #, gcc-internal-format
+ msgid "%qs is not valid for %qs"
+ msgstr "%qs није иÑправно за %qs"
+
+-#: cp/parser.c:20390
++#: cp/parser.c:20479
+ #, gcc-internal-format
+ msgid "junk at end of %<#pragma GCC pch_preprocess%>"
+ msgstr "Ñмеће на крају %<#pragma GCC pch_preprocess%>"
+
+-#: cp/parser.c:20477
++#: cp/parser.c:20566
+ #, gcc-internal-format
+ msgid "%<#pragma omp section%> may only be used in %<#pragma omp sections%> construct"
+ msgstr "%<#pragma omp section%> може бити употребљено Ñамо у конÑтрукцији %<#pragma omp sections%>"
+
+-#: cp/parser.c:20535
++#: cp/parser.c:20624
+ #, gcc-internal-format
+ msgid "inter-module optimizations not implemented for C++"
+ msgstr "унутармодулÑке оптимизације ниÑу имплеметиране за Ц++"
+
+-#: cp/pt.c:249
++#: cp/pt.c:252
+ #, gcc-internal-format
+ msgid "data member %qD cannot be a member template"
+ msgstr "чланÑки податак %qD не може бити чланÑки шаблон"
+
+-#: cp/pt.c:261
++#: cp/pt.c:264
+ #, gcc-internal-format
+ msgid "invalid member template declaration %qD"
+ msgstr "неиÑправна декларација чланÑког шаблона %qD"
+
+-#: cp/pt.c:609
++#: cp/pt.c:612
+ #, gcc-internal-format
+ msgid "explicit specialization in non-namespace scope %qD"
+ msgstr "екÑплицитна Ñпецијализација у не-именÑкопроÑторном доÑегу %qD"
+
+-#: cp/pt.c:623
++#: cp/pt.c:626
+ #, gcc-internal-format
+ msgid "enclosing class templates are not explicitly specialized"
+ msgstr "обухватајући шаблони клаÑа не бивају екÑплицитно Ñпецијализовани"
+
+-#: cp/pt.c:711
++#: cp/pt.c:714
+ #, gcc-internal-format
+ msgid "specialization of %qD in different namespace"
+ msgstr "Ñпецијализација %qD у различитом именÑком проÑтору"
+
+-#: cp/pt.c:712 cp/pt.c:809
++#: cp/pt.c:715 cp/pt.c:812
+ #, gcc-internal-format
+ msgid " from definition of %q+#D"
+ msgstr " из дефиниције %q+#D"
+
+-#: cp/pt.c:729
++#: cp/pt.c:732
+ #, gcc-internal-format
+ msgid "explicit instantiation of %qD in namespace %qD (which does not enclose namespace %qD)"
+ msgstr "екÑплицитно извођење %qD у именÑком проÑтору %qD (који не обухвата проÑтор %qD)"
+
+-#: cp/pt.c:747
++#: cp/pt.c:750
+ #, gcc-internal-format
+ msgid "name of class shadows template template parameter %qD"
+ msgstr "име клаÑе заклања шаблонÑки шаблонÑки параметар %qD"
+
+-#: cp/pt.c:776
++#: cp/pt.c:779
+ #, gcc-internal-format
+ msgid "specialization of %qT after instantiation"
+ msgstr "Ñпецијализација %qT поÑле извођења"
+
+-#: cp/pt.c:808
++#: cp/pt.c:811
+ #, gcc-internal-format
+ msgid "specializing %q#T in different namespace"
+ msgstr "Ñпецијализација %q#T у различитом именÑком проÑтору"
+
+-#: cp/pt.c:823
++#: cp/pt.c:826
+ #, gcc-internal-format
+ msgid "specialization %qT after instantiation %qT"
+ msgstr "Ñпецијализација %qT поÑле извођења %qT"
+
+-#: cp/pt.c:836
++#: cp/pt.c:839
+ #, gcc-internal-format
+ msgid "explicit specialization of non-template %qT"
+ msgstr "екÑплицитна Ñпецијализација не-шаблонÑког %qT"
+
+-#: cp/pt.c:1238
++#: cp/pt.c:1246
+ #, gcc-internal-format
+ msgid "specialization of %qD after instantiation"
+ msgstr "Ñпецијализација %qD поÑле извођења"
+
+-#: cp/pt.c:1464
++#: cp/pt.c:1472
+ #, gcc-internal-format
+ msgid "%qD is not a function template"
+ msgstr "%qD није шаблон функције"
+
+-#: cp/pt.c:1673
++#: cp/pt.c:1681
+ #, gcc-internal-format
+ msgid "template-id %qD for %q+D does not match any template declaration"
+ msgstr "ид. шаблона %qD за %q+D не одговара ниједној декларацији шаблона"
+
+-#: cp/pt.c:1681
++#: cp/pt.c:1689
+ #, gcc-internal-format
+ msgid "ambiguous template specialization %qD for %q+D"
+ msgstr "двоÑмиÑлена Ñпецијализација шаблона %qD за %q+D"
+
+ #. This case handles bogus declarations like template <>
+ #. template <class T> void f<int>();
+-#: cp/pt.c:1916 cp/pt.c:1970
++#: cp/pt.c:1924 cp/pt.c:1978
+ #, gcc-internal-format
+ msgid "template-id %qD in declaration of primary template"
+ msgstr "ид. шаблона %qD у декларацији примарног шаблона"
+
+-#: cp/pt.c:1929
++#: cp/pt.c:1937
+ #, gcc-internal-format
+ msgid "template parameter list used in explicit instantiation"
+ msgstr "лиÑта шаблонÑких параметара употребљена у екÑплицитном извођењу"
+
+-#: cp/pt.c:1935
++#: cp/pt.c:1943
+ #, gcc-internal-format
+ msgid "definition provided for explicit instantiation"
+ msgstr "дефиниција дата за екÑплицитно извођење"
+
+-#: cp/pt.c:1943
++#: cp/pt.c:1951
+ #, gcc-internal-format
+ msgid "too many template parameter lists in declaration of %qD"
+ msgstr "превише лиÑта шаблонÑких параметара у декларацији %qD"
+
+-#: cp/pt.c:1946
++#: cp/pt.c:1954
+ #, gcc-internal-format
+ msgid "too few template parameter lists in declaration of %qD"
+ msgstr "премало лиÑта шаблонÑких параметара у декларацији %qD"
+
+-#: cp/pt.c:1948
++#: cp/pt.c:1956
+ #, gcc-internal-format
+ msgid "explicit specialization of %qD must be introduced by %<template <>%>"
+ msgstr "екÑплицитна Ñпецијализација %qD мора бити уведена помоћу %<template <>%>"
+
+-#: cp/pt.c:1967
++#: cp/pt.c:1975
+ #, gcc-internal-format
+ msgid "function template partial specialization %qD is not allowed"
+ msgstr "делимична Ñпецијализација шаблона функције %qD није дозвољена"
+
+-#: cp/pt.c:1999
++#: cp/pt.c:2007
+ #, gcc-internal-format
+ msgid "default argument specified in explicit specialization"
+ msgstr "наведен подразумевани аргумент у екÑплицитној Ñпецијализацији"
+
+-#: cp/pt.c:2029
++#: cp/pt.c:2037
+ #, gcc-internal-format
+ msgid "%qD is not a template function"
+ msgstr "%qD није шаблонÑка функција"
+
+-#: cp/pt.c:2037
++#: cp/pt.c:2045
+ #, gcc-internal-format
+ msgid "%qD is not declared in %qD"
+ msgstr "%qD није деклариÑано у %qD"
+@@ -30839,100 +30870,110 @@
+ #. program is ill-formed.
+ #.
+ #. Similar language is found in [temp.explicit].
+-#: cp/pt.c:2099
++#: cp/pt.c:2107
+ #, gcc-internal-format
+ msgid "specialization of implicitly-declared special member function"
+ msgstr "Ñпецијализација имплицитно деклариÑане поÑебне чланÑке функције"
+
+-#: cp/pt.c:2143
++#: cp/pt.c:2151
+ #, gcc-internal-format
+ msgid "no member function %qD declared in %qT"
+ msgstr "нема чланÑке функције %qD деклариÑане у %qT"
+
+-#: cp/pt.c:2642
++#: cp/pt.c:2628
+ #, gcc-internal-format
+ msgid "base initializer expansion %<%T%> contains no parameter packs"
+ msgstr ""
+
+-#: cp/pt.c:2701
++#: cp/pt.c:2687
+ #, gcc-internal-format
+ msgid "expansion pattern %<%T%> contains no argument packs"
+ msgstr ""
+
+-#: cp/pt.c:2703
++#: cp/pt.c:2689
+ #, gcc-internal-format
+ msgid "expansion pattern %<%E%> contains no argument packs"
+ msgstr ""
+
+-#: cp/pt.c:2745
++#: cp/pt.c:2730
+ #, gcc-internal-format
+ msgid "parameter packs not expanded with `...':"
+ msgstr ""
+
+-#: cp/pt.c:2760 cp/pt.c:3383
++#: cp/pt.c:2745 cp/pt.c:3361
+ #, gcc-internal-format
+ msgid " %qD"
+ msgstr " %qD"
+
+-#: cp/pt.c:2762
++#: cp/pt.c:2747
+ #, fuzzy, gcc-internal-format
+ msgid " <anonymous>"
+ msgstr "<анонимно>"
+
+-#: cp/pt.c:2875
++#: cp/pt.c:2852
+ #, gcc-internal-format
+ msgid "declaration of %q+#D"
+ msgstr "декларација %q+#D"
+
+-#: cp/pt.c:2876
++#: cp/pt.c:2853
+ #, gcc-internal-format
+ msgid " shadows template parm %q+#D"
+ msgstr " заклања шаблонÑки параметар %q+#D"
+
+-#: cp/pt.c:3379
++#: cp/pt.c:3357
+ #, gcc-internal-format
+ msgid "template parameters not used in partial specialization:"
+ msgstr "шаблонÑки параметри неиÑкоришћени у делимичној Ñпецијализацији:"
+
+-#: cp/pt.c:3394
++#: cp/pt.c:3372
+ #, gcc-internal-format
+ msgid "partial specialization %qT does not specialize any template arguments"
+ msgstr "делимична Ñпецијализација %qT не Ñпецијализује ниједан шаблонÑки аргумент"
+
+-#: cp/pt.c:3439
++#: cp/pt.c:3417
+ #, gcc-internal-format
+ msgid "parameter pack argument %qE must be at the end of the template argument list"
+ msgstr ""
+
+-#: cp/pt.c:3441
++#: cp/pt.c:3419
+ #, gcc-internal-format
+ msgid "parameter pack argument %qT must be at the end of the template argument list"
+ msgstr ""
+
+-#: cp/pt.c:3462
++#: cp/pt.c:3440
+ #, gcc-internal-format
+ msgid "template argument %qE involves template parameter(s)"
+ msgstr "шаблонÑки аргумент %qE уплиће шаблонÑке параметре"
+
+-#: cp/pt.c:3505
++#: cp/pt.c:3484
+ #, gcc-internal-format
+ msgid "type %qT of template argument %qE depends on template parameter(s)"
+ msgstr "тип %qT шаблонÑког аргумента %qE завиÑи од шаблонÑких параметара"
+
+-#: cp/pt.c:3611
++#: cp/pt.c:3591
+ #, gcc-internal-format
+ msgid "no default argument for %qD"
+ msgstr "нема подразумеваног аргумента за %qD"
+
+-#: cp/pt.c:3796
++#: cp/pt.c:3609
+ #, gcc-internal-format
++msgid "parameter pack %qE must be at the end of the template parameter list"
++msgstr ""
++
++#: cp/pt.c:3612
++#, gcc-internal-format
++msgid "parameter pack %qT must be at the end of the template parameter list"
++msgstr ""
++
++#: cp/pt.c:3799
++#, gcc-internal-format
+ msgid "template class without a name"
+ msgstr "шаблонÑка клаÑа без имена"
+
+ #. [temp.mem]
+ #.
+ #. A destructor shall not be a member template.
+-#: cp/pt.c:3804
++#: cp/pt.c:3807
+ #, gcc-internal-format
+ msgid "destructor %qD declared as member template"
+ msgstr "деÑтруктор %qD деклариÑан као чланÑки шаблон"
+@@ -30942,77 +30983,72 @@
+ #. An allocation function can be a function
+ #. template. ... Template allocation functions shall
+ #. have two or more parameters.
+-#: cp/pt.c:3819
++#: cp/pt.c:3822
+ #, gcc-internal-format
+ msgid "invalid template declaration of %qD"
+ msgstr "неиÑправна декларација шаблона %qD"
+
+-#: cp/pt.c:3890
++#: cp/pt.c:3939
+ #, gcc-internal-format
+-msgid "parameter pack %qE must be at the end of the template parameter list"
+-msgstr ""
+-
+-#: cp/pt.c:3893
+-#, gcc-internal-format
+-msgid "parameter pack %qT must be at the end of the template parameter list"
+-msgstr ""
+-
+-#: cp/pt.c:3953
+-#, gcc-internal-format
+ msgid "template definition of non-template %q#D"
+ msgstr "шаблонÑка дефиниција нешаблонÑког %q#D"
+
+-#: cp/pt.c:3996
++#: cp/pt.c:3982
+ #, gcc-internal-format
+ msgid "expected %d levels of template parms for %q#D, got %d"
+ msgstr "очекивах %d нивоа шаблонÑких параметара за %q#D, добих %d"
+
+-#: cp/pt.c:4008
++#: cp/pt.c:3994
+ #, gcc-internal-format
+ msgid "got %d template parameters for %q#D"
+ msgstr "добих %d шаблонÑких параметара за %q#D"
+
+-#: cp/pt.c:4011
++#: cp/pt.c:3997
+ #, gcc-internal-format
+ msgid "got %d template parameters for %q#T"
+ msgstr "добих %d шаблонÑких параметара за %q#T"
+
+-#: cp/pt.c:4013
++#: cp/pt.c:3999
+ #, gcc-internal-format
+ msgid " but %d required"
+ msgstr " а потребно је %d"
+
+-#: cp/pt.c:4031
++#: cp/pt.c:4017
+ #, fuzzy, gcc-internal-format
+ msgid "template arguments to %qD do not match original template %qD"
+ msgstr "параметри шаблона Ñе не поклапају Ñа шаблоном"
+
+-#: cp/pt.c:4035
++#: cp/pt.c:4021
+ #, fuzzy, gcc-internal-format
+ msgid "use template<> for an explicit specialization"
+ msgstr "обухватајући шаблони клаÑа не бивају екÑплицитно Ñпецијализовани"
+
+-#: cp/pt.c:4131
++#: cp/pt.c:4117
+ #, gcc-internal-format
+ msgid "%qT is not a template type"
+ msgstr "%qT није шаблонÑки тип"
+
+-#: cp/pt.c:4144
++#: cp/pt.c:4130
+ #, gcc-internal-format
+ msgid "template specifiers not specified in declaration of %qD"
+ msgstr "наводиоци шаблона ниÑу задати у декларацији %qD"
+
+-#: cp/pt.c:4155
+-#, gcc-internal-format
+-msgid "used %d template parameter(s) instead of %d"
+-msgstr "употребљено је %d шаблонÑких параметара умеÑто %d"
++#: cp/pt.c:4140
++#, fuzzy, gcc-internal-format
++msgid "redeclared with %d template parameter(s)"
++msgstr "%qD употребљено без параметара шаблона"
+
+-#: cp/pt.c:4184
++#: cp/pt.c:4142
++#, fuzzy, gcc-internal-format
++msgid "previous declaration %q+D used %d template parameter(s)"
++msgstr "претходном декларацијом %q+#D овде"
++
++#: cp/pt.c:4176
+ #, gcc-internal-format
+ msgid "template parameter %q+#D"
+ msgstr "шаблонÑки параметар %q+#D"
+
+-#: cp/pt.c:4185
++#: cp/pt.c:4177
+ #, gcc-internal-format
+ msgid "redeclared here as %q#D"
+ msgstr "поново деклариÑано овде као %q#D"
+@@ -31021,182 +31057,182 @@
+ #.
+ #. A template-parameter may not be given default arguments
+ #. by two different declarations in the same scope.
+-#: cp/pt.c:4195
++#: cp/pt.c:4187
+ #, gcc-internal-format
+ msgid "redefinition of default argument for %q#D"
+ msgstr "поновљена дефиниција подразумеваног аргумента за %q#D"
+
+-#: cp/pt.c:4196
+-#, gcc-internal-format
+-msgid "%J original definition appeared here"
++#: cp/pt.c:4188
++#, fuzzy, gcc-internal-format
++msgid "%Joriginal definition appeared here"
+ msgstr "%J првобитна дефиниција налази Ñе овде"
+
+-#: cp/pt.c:4300
++#: cp/pt.c:4292
+ #, gcc-internal-format
+ msgid "%qE is not a valid template argument for type %qT because function %qD has not external linkage"
+ msgstr "%qE није иÑправан шаблонÑки аргумент за тип %qT јер функција %qD нема Ñпољашњу повезивоÑÑ‚"
+
+-#: cp/pt.c:4341
++#: cp/pt.c:4333
+ #, 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 "%qE није иÑправан шаблонÑки аргумент за тип %qT јер Ñе конÑтантне ниÑке не могу кориÑтити у овом контекÑту"
+
+-#: cp/pt.c:4418
++#: cp/pt.c:4410
+ #, gcc-internal-format
+ msgid "%qE is not a valid template argument for type %qT because it is a non-constant expression"
+ msgstr "%qE није иÑправан шаблонÑки аргумент за тип %qT јер није конÑтантан израз"
+
+-#: cp/pt.c:4462
++#: cp/pt.c:4454
+ #, gcc-internal-format
+ msgid "%qD is not a valid template argument because %qD is a variable, not the address of a variable"
+ msgstr "%qD није иÑправан шаблонÑки аргумент јер је %qD променљива, а не адреÑа неке променљиве"
+
+-#: cp/pt.c:4480
++#: cp/pt.c:4472
+ #, gcc-internal-format
+ msgid "%qE is not a valid template argument of type %qT because %qE is not a variable"
+ msgstr "%qE није иÑправан шаблонÑки аргумент типа %qT јер %qE није променљива"
+
+-#: cp/pt.c:4487
++#: cp/pt.c:4479
+ #, gcc-internal-format
+ msgid "%qE is not a valid template argument of type %qT because %qD does not have external linkage"
+ msgstr "%qE није иÑправан шаблонÑки аргумент типа %qT јер %qD нема Ñпољашњу повезивоÑÑ‚"
+
+-#: cp/pt.c:4517
++#: cp/pt.c:4509
+ #, gcc-internal-format
+ msgid "%qE is not a valid template argument for type %qT because of conflicts in cv-qualification"
+ msgstr "%qE није иÑправан шаблонÑки аргумент за тип %qT јер Ñе коÑи Ñа кн-одредбом"
+
+-#: cp/pt.c:4524
++#: cp/pt.c:4516
+ #, gcc-internal-format
+ msgid "%qE is not a valid template argument for type %qT because it is not an lvalue"
+ msgstr "%qE није иÑправан шаблонÑки аргумент за тип %qT јер није л-вредноÑÑ‚"
+
+-#: cp/pt.c:4537
++#: cp/pt.c:4529
+ #, gcc-internal-format
+ msgid "%qE is not a valid template argument for type %qT because object %qD has not external linkage"
+ msgstr "%qE није иÑправан шаблонÑки аргумент за тип %qT јер објекат %qD нема Ñпољашњу повезивоÑÑ‚"
+
+-#: cp/pt.c:4577
++#: cp/pt.c:4569
+ #, gcc-internal-format
+ msgid "%qE is not a valid template argument for type %qT because it is a pointer"
+ msgstr "%qE није иÑправан шаблонÑки аргумент за тип %qT јер је показивач"
+
+-#: cp/pt.c:4579
++#: cp/pt.c:4571
+ #, gcc-internal-format
+ msgid "try using %qE instead"
+ msgstr "покушајте Ñа %qE умеÑто тога"
+
+-#: cp/pt.c:4614
++#: cp/pt.c:4606
+ #, gcc-internal-format
+ msgid "%qE is not a valid template argument for type %qT because it is of type %qT"
+ msgstr "%qE није иÑправан шаблонÑки аргумент за тип %qT јер је типа %qT"
+
+-#: cp/pt.c:4617
++#: cp/pt.c:4609
+ #, gcc-internal-format
+ msgid "standard conversions are not allowed in this context"
+ msgstr "Ñтандардна претварања ниÑу дозвољена у овом контекÑту"
+
+-#: cp/pt.c:4797
++#: cp/pt.c:4860
+ #, gcc-internal-format
+ msgid "to refer to a type member of a template parameter, use %<typename %E%>"
+ msgstr "да упутите на тип шаблонÑког параметра, употребите %<typename %E%>"
+
+-#: cp/pt.c:4813 cp/pt.c:4832 cp/pt.c:4882
++#: cp/pt.c:4876 cp/pt.c:4895 cp/pt.c:4945
+ #, gcc-internal-format
+ msgid "type/value mismatch at argument %d in template parameter list for %qD"
+ msgstr "неÑлагање типа/вредноÑти код аргумента %d у лиÑти шаблонÑких параметара за %qD"
+
+-#: cp/pt.c:4817
++#: cp/pt.c:4880
+ #, gcc-internal-format
+ msgid " expected a constant of type %qT, got %qT"
+ msgstr " очекивах конÑтанту типа %qT, добих %qT"
+
+-#: cp/pt.c:4821
++#: cp/pt.c:4884
+ #, gcc-internal-format
+ msgid " expected a class template, got %qE"
+ msgstr " очекивах шаблон клаÑе, добих %qE"
+
+-#: cp/pt.c:4823
++#: cp/pt.c:4886
+ #, gcc-internal-format
+ msgid " expected a type, got %qE"
+ msgstr " очекивах тип, добих %qE"
+
+-#: cp/pt.c:4836
++#: cp/pt.c:4899
+ #, gcc-internal-format
+ msgid " expected a type, got %qT"
+ msgstr " очекивах тип, добих %qT"
+
+-#: cp/pt.c:4838
++#: cp/pt.c:4901
+ #, gcc-internal-format
+ msgid " expected a class template, got %qT"
+ msgstr " очекивах шаблон клаÑе, добих %qT"
+
+-#: cp/pt.c:4885
++#: cp/pt.c:4948
+ #, gcc-internal-format
+ msgid " expected a template of type %qD, got %qD"
+ msgstr " очекивах шаблон типа %qD, добих %qD"
+
+-#: cp/pt.c:4928
++#: cp/pt.c:4991
+ #, gcc-internal-format
+ msgid "could not convert template argument %qE to %qT"
+ msgstr "ниÑам могао да претворим шаблонÑки аргумент %qE у %qT"
+
+-#: cp/pt.c:4984
++#: cp/pt.c:5047
+ #, gcc-internal-format
+ msgid "wrong number of template arguments (%d, should be %d)"
+ msgstr "погрешан број шаблонÑких аргумената ((%d, а треба %d)"
+
+-#: cp/pt.c:5116
++#: cp/pt.c:5179
+ #, fuzzy, gcc-internal-format
+ msgid "wrong number of template arguments (%d, should be %d%s)"
+ msgstr "погрешан број шаблонÑких аргумената ((%d, а треба %d)"
+
+-#: cp/pt.c:5120
++#: cp/pt.c:5183
+ #, gcc-internal-format
+ msgid "provided for %q+D"
+ msgstr "дат за %q+D"
+
+-#: cp/pt.c:5177
++#: cp/pt.c:5242
+ #, gcc-internal-format
+ msgid "cannot expand %<%E%> into a fixed-length argument list"
+ msgstr ""
+
+-#: cp/pt.c:5180
++#: cp/pt.c:5245
+ #, gcc-internal-format
+ msgid "cannot expand %<%T%> into a fixed-length argument list"
+ msgstr ""
+
+-#: cp/pt.c:5195
++#: cp/pt.c:5261
+ #, gcc-internal-format
+ msgid "template argument %d is invalid"
+ msgstr "неиÑправан шаблонÑки аргумент %d"
+
+-#: cp/pt.c:5455
++#: cp/pt.c:5521
+ #, gcc-internal-format
+ msgid "non-template type %qT used as a template"
+ msgstr "нешаблонÑки тип %qT употребљен као шаблон"
+
+-#: cp/pt.c:5457
++#: cp/pt.c:5523
+ #, gcc-internal-format
+ msgid "for template declaration %q+D"
+ msgstr "за декларацију шаблона %q+D"
+
+-#: cp/pt.c:6132
++#: cp/pt.c:6221
+ #, gcc-internal-format
+ msgid "template instantiation depth exceeds maximum of %d (use -ftemplate-depth-NN to increase the maximum) instantiating %qD"
+ msgstr "дубина извођења шаблона премашује макÑимум од %d (употребите -ftemplate-depth-NN да повећате дубину) извођења %qD"
+
+-#: cp/pt.c:7237
++#: cp/pt.c:7333
+ #, gcc-internal-format
+ msgid "mismatched argument pack lengths while expanding %<%T%>"
+ msgstr ""
+
+-#: cp/pt.c:7241
++#: cp/pt.c:7337
+ #, gcc-internal-format
+ msgid "mismatched argument pack lengths while expanding %<%E%>"
+ msgstr ""
+
+-#: cp/pt.c:8189
++#: cp/pt.c:8289
+ #, gcc-internal-format
+ msgid "instantiation of %q+D as type %qT"
+ msgstr "извођење %q+D је типа %qT"
+@@ -31214,242 +31250,242 @@
+ #.
+ #. is an attempt to declare a variable with function
+ #. type.
+-#: cp/pt.c:8324
++#: cp/pt.c:8424
+ #, gcc-internal-format
+ msgid "variable %qD has function type"
+ msgstr "променљива %qD има функцијÑки тип"
+
+-#: cp/pt.c:8471
++#: cp/pt.c:8571
+ #, gcc-internal-format
+ msgid "invalid parameter type %qT"
+ msgstr "неиÑправан тип параметра %qT"
+
+-#: cp/pt.c:8473
++#: cp/pt.c:8573
+ #, gcc-internal-format
+ msgid "in declaration %q+D"
+ msgstr "у декларацији %q+D"
+
+-#: cp/pt.c:8550
++#: cp/pt.c:8650
+ #, gcc-internal-format
+ msgid "function returning an array"
+ msgstr "функција враћа низ"
+
+-#: cp/pt.c:8552
++#: cp/pt.c:8652
+ #, gcc-internal-format
+ msgid "function returning a function"
+ msgstr "функција враћа функцију"
+
+-#: cp/pt.c:8586
++#: cp/pt.c:8686
+ #, gcc-internal-format
+ msgid "creating pointer to member function of non-class type %qT"
+ msgstr "Ñтварање показивача на чланÑку функцију неклаÑног типа %qT"
+
+-#: cp/pt.c:8792
++#: cp/pt.c:8913
+ #, gcc-internal-format
+ msgid "creating array with negative size (%qE)"
+ msgstr "Ñтварање низа негативне величине (%qE)"
+
+-#: cp/pt.c:9047
++#: cp/pt.c:9168
+ #, gcc-internal-format
+ msgid "forming reference to void"
+ msgstr "обликовање упућивача на празно"
+
+-#: cp/pt.c:9049
++#: cp/pt.c:9170
+ #, gcc-internal-format
+ msgid "forming %s to reference type %qT"
+ msgstr "обликовање %s на тип упућивача %qT"
+
+-#: cp/pt.c:9100
++#: cp/pt.c:9221
+ #, gcc-internal-format
+ msgid "creating pointer to member of non-class type %qT"
+ msgstr "Ñтварање показивача на члан неклаÑног типа %qT"
+
+-#: cp/pt.c:9106
++#: cp/pt.c:9227
+ #, gcc-internal-format
+ msgid "creating pointer to member reference type %qT"
+ msgstr "Ñтварање показивача на члан упућивачког типа %qT"
+
+-#: cp/pt.c:9112
++#: cp/pt.c:9233
+ #, gcc-internal-format
+ msgid "creating pointer to member of type void"
+ msgstr "Ñтварање показивача на члан празног типа"
+
+-#: cp/pt.c:9179
++#: cp/pt.c:9300
+ #, gcc-internal-format
+ msgid "creating array of %qT"
+ msgstr "Ñтварање низа типа %qT"
+
+-#: cp/pt.c:9185
++#: cp/pt.c:9306
+ #, gcc-internal-format
+ msgid "creating array of %qT, which is an abstract class type"
+ msgstr "Ñтварање низа типа %qT, који је апÑтрактна клаÑа"
+
+-#: cp/pt.c:9236
++#: cp/pt.c:9357
+ #, gcc-internal-format
+ msgid "%qT is not a class, struct, or union type"
+ msgstr "%qT није тип клаÑе, Ñтруктуре, нити уније"
+
+-#: cp/pt.c:9271
++#: cp/pt.c:9392
+ #, gcc-internal-format
+ msgid "%qT resolves to %qT, which is not an enumeration type"
+ msgstr "%qT Ñе разрешава до %qT, што није набројиви тип"
+
+-#: cp/pt.c:9274
++#: cp/pt.c:9395
+ #, gcc-internal-format
+ msgid "%qT resolves to %qT, which is is not a class type"
+ msgstr "%qT Ñе разрешава до %qT, што није клаÑни тип"
+
+-#: cp/pt.c:9375
++#: cp/pt.c:9496
+ #, gcc-internal-format
+ msgid "use of %qs in template"
+ msgstr "употреба %qs у шаблону"
+
+-#: cp/pt.c:9512
++#: cp/pt.c:9633
+ #, gcc-internal-format
+ msgid "dependent-name %qE is parsed as a non-type, but instantiation yields a type"
+ msgstr "завиÑно име %qE рашчлањује Ñе као не-тип, али извођење производи тип"
+
+-#: cp/pt.c:9514
++#: cp/pt.c:9635
+ #, gcc-internal-format
+ msgid "say %<typename %E%> if a type is meant"
+ msgstr "Ñтавите %<typename %E%> ако миÑлите на тип"
+
+-#: cp/pt.c:9643
++#: cp/pt.c:9764
+ #, gcc-internal-format
+ msgid "using invalid field %qD"
+ msgstr "употреба неиÑправног поља %qD"
+
+-#: cp/pt.c:9952 cp/pt.c:10432
++#: cp/pt.c:10073 cp/pt.c:10553
+ #, fuzzy, gcc-internal-format
+ msgid "invalid use of pack expansion expression"
+ msgstr "неиÑправна употреба израза празног типа"
+
+-#: cp/pt.c:9956 cp/pt.c:10436
++#: cp/pt.c:10077 cp/pt.c:10557
+ #, fuzzy, gcc-internal-format
+ msgid "use %<...%> to expand argument pack"
+ msgstr "%<...%> за аргументе.)"
+
+-#: cp/pt.c:10594
++#: cp/pt.c:10715
+ #, gcc-internal-format
+ msgid "a cast to a type other than an integral or enumeration type cannot appear in a constant-expression"
+ msgstr "претапање у тип који није ни интегрални ни набројиви не може Ñе јавити у изразу конÑтанте"
+
+-#: cp/pt.c:11052
++#: cp/pt.c:11181
+ #, gcc-internal-format
+ msgid "%qT is not a class or namespace"
+ msgstr "%qT није ни клаÑа ни именÑки проÑтор"
+
+-#: cp/pt.c:11055
++#: cp/pt.c:11184
+ #, gcc-internal-format
+ msgid "%qD is not a class or namespace"
+ msgstr "%qD није ни клаÑа ни именÑки проÑтор"
+
+-#: cp/pt.c:11265
++#: cp/pt.c:11394
+ #, gcc-internal-format
+ msgid "%qT is/uses anonymous type"
+ msgstr "%qT јеÑте/кориÑти анонимни тип"
+
+-#: cp/pt.c:11267
++#: cp/pt.c:11396
+ #, gcc-internal-format
+ msgid "template argument for %qD uses local type %qT"
+ msgstr "шаблонÑки аргумент за %qD кориÑти локални тип %qT"
+
+-#: cp/pt.c:11277
++#: cp/pt.c:11406
+ #, gcc-internal-format
+ msgid "%qT is a variably modified type"
+ msgstr "%qT је променљиво измењив тип"
+
+-#: cp/pt.c:11288
++#: cp/pt.c:11417
+ #, gcc-internal-format
+ msgid "integral expression %qE is not constant"
+ msgstr "интегрални израз %qE није конÑтанта"
+
+-#: cp/pt.c:11293
++#: cp/pt.c:11422
+ #, gcc-internal-format
+ msgid " trying to instantiate %qD"
+ msgstr " покушај извођења %qD"
+
+-#: cp/pt.c:13959
++#: cp/pt.c:14173
+ #, gcc-internal-format
+ msgid "ambiguous class template instantiation for %q#T"
+ msgstr "двоÑмиÑлено извођење шаблона клаÑе за %q#T"
+
+-#: cp/pt.c:13962
++#: cp/pt.c:14176
+ #, gcc-internal-format
+ msgid "%s %+#T"
+ msgstr "%s %+#T"
+
+-#: cp/pt.c:13985 cp/pt.c:14068
++#: cp/pt.c:14199 cp/pt.c:14282
+ #, gcc-internal-format
+ msgid "explicit instantiation of non-template %q#D"
+ msgstr "екÑплицитно извођење не-шаблона %q#D"
+
+-#: cp/pt.c:14000
++#: cp/pt.c:14214
+ #, fuzzy, gcc-internal-format
+ msgid "%qD is not a static data member of a class template"
+ msgstr "%q#D је неÑтатички чланÑки податак у %qT"
+
+-#: cp/pt.c:14006 cp/pt.c:14063
++#: cp/pt.c:14220 cp/pt.c:14277
+ #, gcc-internal-format
+ msgid "no matching template for %qD found"
+ msgstr "поклапајући шаблон за %qD није нађен"
+
+-#: cp/pt.c:14011
++#: cp/pt.c:14225
+ #, fuzzy, gcc-internal-format
+ msgid "type %qT for explicit instantiation %qD does not match declared type %qT"
+ msgstr "екÑплицитно извођење нешаблонÑког типа %qT"
+
+-#: cp/pt.c:14019
++#: cp/pt.c:14233
+ #, gcc-internal-format
+ msgid "explicit instantiation of %q#D"
+ msgstr "екÑплицитно извођење %q#D"
+
+-#: cp/pt.c:14055
++#: cp/pt.c:14269
+ #, gcc-internal-format
+ msgid "duplicate explicit instantiation of %q#D"
+ msgstr "удвоÑтручено екÑплицитно извођење %q#D"
+
+-#: cp/pt.c:14077
++#: cp/pt.c:14291
+ #, gcc-internal-format
+ msgid "ISO C++ forbids the use of %<extern%> on explicit instantiations"
+ msgstr "ИСО Ц++ забрањује употребу %<extern%> на екÑплицитним извођењима"
+
+-#: cp/pt.c:14082 cp/pt.c:14175
++#: cp/pt.c:14296 cp/pt.c:14389
+ #, gcc-internal-format
+ msgid "storage class %qD applied to template instantiation"
+ msgstr "Ñкладишна клаÑа %qD примењена на извођење шаблона"
+
+-#: cp/pt.c:14147
++#: cp/pt.c:14361
+ #, gcc-internal-format
+ msgid "explicit instantiation of non-template type %qT"
+ msgstr "екÑплицитно извођење нешаблонÑког типа %qT"
+
+-#: cp/pt.c:14156
++#: cp/pt.c:14370
+ #, gcc-internal-format
+ msgid "explicit instantiation of %q#T before definition of template"
+ msgstr "екÑплицитно извођење %q#T пре дефиниције шаблона"
+
+-#: cp/pt.c:14164
++#: cp/pt.c:14378
+ #, gcc-internal-format
+ msgid "ISO C++ forbids the use of %qE on explicit instantiations"
+ msgstr "ИСО Ц++ забрањује употребу %qE на екÑплицитним извођењима"
+
+-#: cp/pt.c:14209
++#: cp/pt.c:14423
+ #, gcc-internal-format
+ msgid "duplicate explicit instantiation of %q#T"
+ msgstr "удвоÑтручено екÑплицитно извођење %q#T"
+
+-#: cp/pt.c:14657
++#: cp/pt.c:14871
+ #, gcc-internal-format
+ msgid "explicit instantiation of %qD but no definition available"
+ msgstr "екÑплицитно извођење %qD али дефиниција није доÑтупна"
+
+-#: cp/pt.c:14851
++#: cp/pt.c:15065
+ #, 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)"
+ msgstr "дубина извођења шаблона премашује макÑимум од %d извођења %q+D, могуће уÑлед Ñтварања виртуелних табела (употребите -ftemplate-depth-NN да повећате макÑимум)"
+
+-#: cp/pt.c:15193
++#: cp/pt.c:15419
+ #, gcc-internal-format
+ msgid "%q#T is not a valid type for a template constant parameter"
+ msgstr "%q#T није иÑправан тип за шаблонÑки конÑтантан параметар"
+@@ -31469,32 +31505,32 @@
+ msgid "can't create repository information file %qs"
+ msgstr "не могу да направим датотеку Ñа подацима Ñкладишта %qs"
+
+-#: cp/rtti.c:271
++#: cp/rtti.c:285
+ #, gcc-internal-format
+ msgid "cannot use typeid with -fno-rtti"
+ msgstr "не може Ñе кориÑтити ид. типова уз -fno-rtti"
+
+-#: cp/rtti.c:277
++#: cp/rtti.c:291
+ #, gcc-internal-format
+ msgid "must #include <typeinfo> before using typeid"
+ msgstr "пре коришћења ид. типова, мора Ñе #include <typeinfo>"
+
+-#: cp/rtti.c:360
++#: cp/rtti.c:374
+ #, gcc-internal-format
+ msgid "cannot create type information for type %qT because it involves types of variable size"
+ msgstr "не могу Ñе Ñтворити подаци о типу за %qT, јер укључује типове променљиве величине"
+
+-#: cp/rtti.c:615 cp/rtti.c:629
++#: cp/rtti.c:629 cp/rtti.c:643
+ #, gcc-internal-format
+ msgid "dynamic_cast of %q#D to %q#T can never succeed"
+ msgstr "динамичко претапање из %q#D у %q#T не може никако уÑпети"
+
+-#: cp/rtti.c:639
++#: cp/rtti.c:653
+ #, gcc-internal-format
+ msgid "%<dynamic_cast%> not permitted with -fno-rtti"
+ msgstr "%<dynamic_cast%> није дозвољено уз -fno-rtti"
+
+-#: cp/rtti.c:716
++#: cp/rtti.c:729
+ #, gcc-internal-format
+ msgid "cannot dynamic_cast %qE (of type %q#T) to type %q#T (%s)"
+ msgstr "не може Ñе динамички претопити %qE (типа %q#T) у тип %q#T (%s)"
+@@ -31556,551 +31592,551 @@
+ msgid " since %q+#D declared in base class"
+ msgstr " пошто је %q+#D деклариÑано у оÑновној клаÑи"
+
+-#: cp/semantics.c:762
++#: cp/semantics.c:764
+ #, fuzzy, gcc-internal-format
+ msgid "suggest explicit braces around empty body in %<do%> statement"
+ msgstr "%Hпредложи екÑплицитне витичаÑте заграде ради избегавања двоÑмиÑленог %<else%>"
+
+-#: cp/semantics.c:1290
++#: cp/semantics.c:1294
+ #, gcc-internal-format
+ msgid "type of asm operand %qE could not be determined"
+ msgstr "тип asm-операнда %qE не може бити одређен"
+
+-#: cp/semantics.c:1346
++#: cp/semantics.c:1350
+ #, fuzzy, gcc-internal-format
+ msgid "__label__ declarations are only allowed in function scopes"
+ msgstr "декларације објективног Ц-а могу Ñе јављати Ñамо у глобалном доÑегу"
+
+-#: cp/semantics.c:1433
++#: cp/semantics.c:1438
+ #, gcc-internal-format
+ msgid "invalid use of member %q+D in static member function"
+ msgstr "неиÑправна употреба члана %q+D у Ñтатичкој чланÑкој функцији"
+
+-#: cp/semantics.c:1435
++#: cp/semantics.c:1440
+ #, gcc-internal-format
+ msgid "invalid use of non-static data member %q+D"
+ msgstr "неиÑправна употреба неÑтатичког чланÑког податка %q+D"
+
+-#: cp/semantics.c:1436 cp/semantics.c:1475
++#: cp/semantics.c:1441 cp/semantics.c:1480
+ #, gcc-internal-format
+ msgid "from this location"
+ msgstr "на овој локацији"
+
+-#: cp/semantics.c:1474
++#: cp/semantics.c:1479
+ #, gcc-internal-format
+ msgid "object missing in reference to %q+D"
+ msgstr "недоÑтаје објекат у упућивачу на %q+D"
+
+-#: cp/semantics.c:1928
++#: cp/semantics.c:1951
+ #, gcc-internal-format
+ msgid "arguments to destructor are not allowed"
+ msgstr "аргументи ниÑу дозвољени у деÑтруктору"
+
+-#: cp/semantics.c:1978
++#: cp/semantics.c:2001
+ #, gcc-internal-format
+ msgid "%<this%> is unavailable for static member functions"
+ msgstr "%<this%> није доÑтупно за Ñтатичке чланÑке функције"
+
+-#: cp/semantics.c:1984
++#: cp/semantics.c:2007
+ #, gcc-internal-format
+ msgid "invalid use of %<this%> in non-member function"
+ msgstr "неиÑправна употреба %<this%> у нечланÑкој функцији"
+
+-#: cp/semantics.c:1986
++#: cp/semantics.c:2009
+ #, gcc-internal-format
+ msgid "invalid use of %<this%> at top level"
+ msgstr "неиÑправна употреба %<this%> на највишем нивоу"
+
+-#: cp/semantics.c:2010
++#: cp/semantics.c:2033
+ #, gcc-internal-format
+ msgid "invalid qualifying scope in pseudo-destructor name"
+ msgstr "неиÑправан одредбени доÑег у имену пÑеудодеÑтруктора"
+
+-#: cp/semantics.c:2015 cp/typeck.c:2004
++#: cp/semantics.c:2038 cp/typeck.c:2050
+ #, gcc-internal-format
+ msgid "qualified type %qT does not match destructor name ~%qT"
+ msgstr "одређени тип %qT не поклапа Ñе Ñа именом деÑтруктора ~%qT"
+
+-#: cp/semantics.c:2037
++#: cp/semantics.c:2060
+ #, gcc-internal-format
+ msgid "%qE is not of type %qT"
+ msgstr "%qE није типа %qT"
+
+-#: cp/semantics.c:2081
++#: cp/semantics.c:2104
+ #, gcc-internal-format
+ msgid "compound literal of non-object type %qT"
+ msgstr "Ñложени доÑловни необјектног типа %qT"
+
+-#: cp/semantics.c:2158
++#: cp/semantics.c:2181
+ #, gcc-internal-format
+ msgid "template type parameters must use the keyword %<class%> or %<typename%>"
+ msgstr "типÑки параметри шаблона морају кориÑтити кључну реч %<class%> или %<typename%>"
+
+-#: cp/semantics.c:2195
++#: cp/semantics.c:2222
+ #, gcc-internal-format
+ msgid "invalid use of type %qT as a default value for a template template-parameter"
+ msgstr "неиÑправна употреба типа %qT као подразумеване вредноÑти за шаблонÑки шаблонÑки параметар"
+
+-#: cp/semantics.c:2198
++#: cp/semantics.c:2225
+ #, gcc-internal-format
+ msgid "invalid default argument for a template template parameter"
+ msgstr "неиÑправан подразумевани аргумент за шаблонÑки шаблонÑки параметар"
+
+-#: cp/semantics.c:2215
++#: cp/semantics.c:2242
+ #, gcc-internal-format
+ msgid "definition of %q#T inside template parameter list"
+ msgstr "дефиниција %q#T унутар лиÑте шаблонÑких параметара"
+
+-#: cp/semantics.c:2226
++#: cp/semantics.c:2253
+ #, gcc-internal-format
+ msgid "invalid definition of qualified type %qT"
+ msgstr "неиÑправна дефиниција одређеног типа %qT"
+
+-#: cp/semantics.c:2437
++#: cp/semantics.c:2469
+ #, gcc-internal-format
+ msgid "invalid base-class specification"
+ msgstr "неиÑправан навод оÑновне клаÑе"
+
+-#: cp/semantics.c:2446
++#: cp/semantics.c:2478
+ #, gcc-internal-format
+ msgid "base class %qT has cv qualifiers"
+ msgstr "оÑновна клаÑа %qT има кн-одредбе"
+
+-#: cp/semantics.c:2468
++#: cp/semantics.c:2500
+ #, gcc-internal-format
+ msgid "incomplete type %qT used in nested name specifier"
+ msgstr "непотпун тип %qT употребљен у угњежденом наводиоцу имена"
+
+-#: cp/semantics.c:2471
++#: cp/semantics.c:2503
+ #, gcc-internal-format
+ msgid "reference to %<%T::%D%> is ambiguous"
+ msgstr "двоÑмиÑлено упућивање на %<%T::%D%>"
+
+-#: cp/semantics.c:2475 cp/typeck.c:1813
++#: cp/semantics.c:2507 cp/typeck.c:1859
+ #, gcc-internal-format
+ msgid "%qD is not a member of %qT"
+ msgstr "%qD није члан у %qT"
+
+-#: cp/semantics.c:2478
++#: cp/semantics.c:2510
+ #, gcc-internal-format
+ msgid "%qD is not a member of %qD"
+ msgstr "%qD није члан у %qD"
+
+-#: cp/semantics.c:2480
++#: cp/semantics.c:2512
+ #, gcc-internal-format
+ msgid "%<::%D%> has not been declared"
+ msgstr "%<::%D%> није деклариÑано"
+
+-#: cp/semantics.c:2621
++#: cp/semantics.c:2653
+ #, gcc-internal-format
+ msgid "use of %<auto%> variable from containing function"
+ msgstr "употреба %<auto%> променљиве из обухватајуће функције"
+
+-#: cp/semantics.c:2623
++#: cp/semantics.c:2655
+ #, gcc-internal-format
+ msgid " %q+#D declared here"
+ msgstr " %q+#D деклариÑано овде"
+
+-#: cp/semantics.c:2661
++#: cp/semantics.c:2693
+ #, gcc-internal-format
+ msgid "template parameter %qD of type %qT is not allowed in an integral constant expression because it is not of integral or enumeration type"
+ msgstr "шаблонÑки параметар %qD типа %qT није дозвољен у интегралном конÑтантном изразу јер није интегралног или набројивог типа"
+
+-#: cp/semantics.c:2830
++#: cp/semantics.c:2862
+ #, gcc-internal-format
+ msgid "%qD cannot appear in a constant-expression"
+ msgstr "%qD Ñе не може јавити у конÑтантном изразу"
+
+-#: cp/semantics.c:2838
++#: cp/semantics.c:2870
+ #, gcc-internal-format
+ msgid "use of namespace %qD as expression"
+ msgstr "употреба именÑког проÑтора %qD као израза"
+
+-#: cp/semantics.c:2843
++#: cp/semantics.c:2875
+ #, gcc-internal-format
+ msgid "use of class template %qT as expression"
+ msgstr "употреба шаблона клаÑе %qT као израза"
+
+ #. Ambiguous reference to base members.
+-#: cp/semantics.c:2849
++#: cp/semantics.c:2881
+ #, gcc-internal-format
+ msgid "request for member %qD is ambiguous in multiple inheritance lattice"
+ msgstr "захтев за члан %qD двоÑмиÑлен је у вишеÑтруком Ñнопу наÑлеђивања"
+
+-#: cp/semantics.c:2970 cp/semantics.c:4210
++#: cp/semantics.c:3002 cp/semantics.c:4259
+ #, gcc-internal-format
+ msgid "type of %qE is unknown"
+ msgstr "тип за %qE није познат"
+
+-#: cp/semantics.c:2985
++#: cp/semantics.c:3017
+ #, gcc-internal-format
+ msgid "cannot apply %<offsetof%> to destructor %<~%T%>"
+ msgstr "не може Ñе применити %<offsetof%> на деÑтруктор %<~%T%>"
+
+-#: cp/semantics.c:2996
++#: cp/semantics.c:3028
+ #, gcc-internal-format
+ msgid "cannot apply %<offsetof%> to member function %qD"
+ msgstr "не може Ñе применити %<offsetof%> на чланÑку функцију %qD"
+
+-#: cp/semantics.c:3349
++#: cp/semantics.c:3381
+ #, gcc-internal-format
+ msgid "%qD is not a variable in clause %qs"
+ msgstr "%qD није променљива у одредби %qs"
+
+-#: cp/semantics.c:3358
++#: cp/semantics.c:3390
+ #, gcc-internal-format
+ msgid "%qD appears more than once in data clauses"
+ msgstr "%qD Ñе појављује више од једном у одредбама података"
+
+-#: cp/semantics.c:3418
++#: cp/semantics.c:3450
+ #, gcc-internal-format
+ msgid "num_threads expression must be integral"
+ msgstr "израз за num_threads мора бити интегрални"
+
+-#: cp/semantics.c:3432
++#: cp/semantics.c:3464
+ #, gcc-internal-format
+ msgid "schedule chunk size expression must be integral"
+ msgstr "израз за величину одломка при раÑпоређивању мора бити интегрални"
+
+-#: cp/semantics.c:3562
++#: cp/semantics.c:3594
+ #, gcc-internal-format
+ msgid "%qE has reference type for %qs"
+ msgstr "%qE има упућивачки тип за %qs"
+
+-#: cp/semantics.c:3724
++#: cp/semantics.c:3756
+ #, gcc-internal-format
+ msgid "%<threadprivate%> %qE is not file, namespace or block scope variable"
+ msgstr "%<threadprivate%> %qE није датотека, именÑки проÑтор нити променљива блоковÑког доÑега"
+
+ #. Report the error.
+-#: cp/semantics.c:4033
++#: cp/semantics.c:4072
+ #, fuzzy, gcc-internal-format
+ msgid "static assertion failed: %E"
+ msgstr "Тврдња КРИС-порта није прошла: "
+
+-#: cp/semantics.c:4035
++#: cp/semantics.c:4074
+ #, fuzzy, gcc-internal-format
+ msgid "non-constant condition for static assertion"
+ msgstr "неÑтатичка декларација %q+D прати Ñтатичку декларацију"
+
+-#: cp/semantics.c:4097
++#: cp/semantics.c:4099 cp/semantics.c:4194
+ #, fuzzy, gcc-internal-format
+-msgid "%qE refers to a set of overloaded functions"
+-msgstr "%s не може да разреши адреÑу препуњене функције"
++msgid "argument to decltype must be an expression"
++msgstr "Ðргумент наредбе SELECT код %L мора бити Ñкаларни израз"
+
+ #: cp/semantics.c:4145
+ #, fuzzy, gcc-internal-format
+-msgid "argument to decltype must be an expression"
+-msgstr "Ðргумент наредбе SELECT код %L мора бити Ñкаларни израз"
++msgid "%qE refers to a set of overloaded functions"
++msgstr "%s не може да разреши адреÑу препуњене функције"
+
+-#: cp/semantics.c:4366
++#: cp/semantics.c:4415
+ #, gcc-internal-format
+ msgid "__is_convertible_to"
+ msgstr ""
+
+-#: cp/semantics.c:4395
++#: cp/semantics.c:4444
+ #, fuzzy, gcc-internal-format
+ msgid "incomplete type %qT not allowed"
+ msgstr "непотпун тип %qT нема члан %qD"
+
+-#: cp/tree.c:829
++#: cp/tree.c:827
+ #, gcc-internal-format
+ msgid "%qV qualifiers cannot be applied to %qT"
+ msgstr "%qV одредбе не могу Ñе применити на %qT"
+
+-#: cp/tree.c:2134
++#: cp/tree.c:2132
+ #, gcc-internal-format
+ msgid "%qE attribute can only be applied to Java class definitions"
+ msgstr "атрибут %qE може Ñе применити Ñамо на јаванÑке дефиниције клаÑа"
+
+-#: cp/tree.c:2163
++#: cp/tree.c:2161
+ #, gcc-internal-format
+ msgid "%qE attribute can only be applied to class definitions"
+ msgstr "атрибут %qE може Ñе применити Ñамо на дефиниције клаÑа"
+
+-#: cp/tree.c:2169
++#: cp/tree.c:2167
+ #, gcc-internal-format
+ msgid "%qE is obsolete; g++ vtables are now COM-compatible by default"
+ msgstr "%qE је заÑтарело; в-табеле Ñу Ñада подразумевано ÑаглаÑне Ñа КОМом"
+
+-#: cp/tree.c:2193
++#: cp/tree.c:2191
+ #, gcc-internal-format
+ msgid "requested init_priority is not an integer constant"
+ msgstr "захтевано init_priority није целобројна конÑтанта"
+
+-#: cp/tree.c:2214
++#: cp/tree.c:2212
+ #, gcc-internal-format
+ msgid "can only use %qE attribute on file-scope definitions of objects of class type"
+ msgstr "атрибут %qE може Ñе кориÑтити Ñамо уз дефиниције објеката клаÑног типа у датотечном доÑегу"
+
+-#: cp/tree.c:2222
++#: cp/tree.c:2220
+ #, gcc-internal-format
+ msgid "requested init_priority is out of range"
+ msgstr "захтевано init_priority је ван опÑега"
+
+-#: cp/tree.c:2232
++#: cp/tree.c:2230
+ #, gcc-internal-format
+ msgid "requested init_priority is reserved for internal use"
+ msgstr "захтевано init_priority резервиÑано је за унутрашњу употребу"
+
+-#: cp/tree.c:2243
++#: cp/tree.c:2241
+ #, gcc-internal-format
+ msgid "%qE attribute is not supported on this platform"
+ msgstr "атрибут %qE није подржан на овој платформи"
+
+-#: cp/typeck.c:431 cp/typeck.c:445 cp/typeck.c:545
++#: cp/typeck.c:432 cp/typeck.c:446 cp/typeck.c:546
+ #, gcc-internal-format
+ msgid "%s between distinct pointer types %qT and %qT lacks a cast"
+ msgstr "недоÑтаје претапање за %s између различитих типова показивача %qT и %qT"
+
+-#: cp/typeck.c:507
++#: cp/typeck.c:508
+ #, gcc-internal-format
+ msgid "ISO C++ forbids %s between pointer of type %<void *%> and pointer-to-function"
+ msgstr "ИСО Ц++ забрањује %s између показивача типа %<void *%> и показивача-на-функцију"
+
+-#: cp/typeck.c:565
++#: cp/typeck.c:566
+ #, gcc-internal-format
+ msgid "%s between distinct pointer-to-member types %qT and %qT lacks a cast"
+ msgstr "недоÑтаје претапање за %s између различитих типова показивача-на-члан %qT и %qT"
+
+-#: cp/typeck.c:1129
++#: cp/typeck.c:1166
+ #, fuzzy, gcc-internal-format
+ msgid "canonical types differ for identical types %T and %T"
+ msgstr "операнди у ?: различитих Ñу типова %qT и %qT"
+
+-#: cp/typeck.c:1136
++#: cp/typeck.c:1173
+ #, fuzzy, gcc-internal-format
+ msgid "same canonical type node for different types %T and %T"
+ msgstr "операнди у ?: различитих Ñу типова %qT и %qT"
+
+-#: cp/typeck.c:1248
++#: cp/typeck.c:1285
+ #, gcc-internal-format
+ msgid "invalid application of %qs to a member function"
+ msgstr "неиÑправна примена %qs на чланÑку функцију"
+
+-#: cp/typeck.c:1298
++#: cp/typeck.c:1335
+ #, gcc-internal-format
+ msgid "invalid application of %<sizeof%> to a bit-field"
+ msgstr "неиÑправна примена %<sizeof%> на битÑко поље"
+
+-#: cp/typeck.c:1303
++#: cp/typeck.c:1340
+ #, gcc-internal-format
+ msgid "ISO C++ forbids applying %<sizeof%> to an expression of function type"
+ msgstr "ИСО Ц++ забрањује примену %<sizeof%> на израз функцијÑког типа"
+
+-#: cp/typeck.c:1346
++#: cp/typeck.c:1383
+ #, gcc-internal-format
+ msgid "invalid application of %<__alignof%> to a bit-field"
+ msgstr "неиÑправна примена %<__alignof%> на битÑко поље"
+
+-#: cp/typeck.c:1354
++#: cp/typeck.c:1391
+ #, gcc-internal-format
+ msgid "ISO C++ forbids applying %<__alignof%> to an expression of function type"
+ msgstr "ИСО Ц++ забрањује примену %<__alignof%> на израз функцијÑког типа"
+
+-#: cp/typeck.c:1405
++#: cp/typeck.c:1442
+ #, gcc-internal-format
+ msgid "invalid use of non-static member function"
+ msgstr "неиÑправна употреба неÑтатичке чланÑке функције"
+
+-#: cp/typeck.c:1669
++#: cp/typeck.c:1715
+ #, gcc-internal-format
+ msgid "deprecated conversion from string constant to %qT"
+ msgstr "превазиђено претварање из конÑтантне ниÑке у %qT"
+
+-#: cp/typeck.c:1784 cp/typeck.c:2132
++#: cp/typeck.c:1830 cp/typeck.c:2178
+ #, gcc-internal-format
+ msgid "request for member %qD in %qE, which is of non-class type %qT"
+ msgstr "захтев за члан %qD у %qE, које је не-клаÑног типа %qT"
+
+-#: cp/typeck.c:1811
++#: cp/typeck.c:1857
+ #, gcc-internal-format
+ msgid "invalid use of nonstatic data member %qE"
+ msgstr "неиÑправна употреба неÑтатичког чланÑког податка %qE"
+
+-#: cp/typeck.c:1863 cp/typeck.c:1891
++#: cp/typeck.c:1909 cp/typeck.c:1937
+ #, gcc-internal-format
+ msgid "invalid access to non-static data member %qD of NULL object"
+ msgstr "неиÑправан приÑтуп неÑтатичком чланÑком податку %qD нултог објекта"
+
+-#: cp/typeck.c:1866 cp/typeck.c:1893
++#: cp/typeck.c:1912 cp/typeck.c:1939
+ #, gcc-internal-format
+ msgid "(perhaps the %<offsetof%> macro was used incorrectly)"
+ msgstr "(можда је макро %<offsetof%> погрешно употребљен)"
+
+-#: cp/typeck.c:2010
++#: cp/typeck.c:2056
+ #, gcc-internal-format
+ msgid "the type being destroyed is %qT, but the destructor refers to %qT"
+ msgstr "тип који Ñе уништава је %qT, али деÑтруктор упућује на %qT"
+
+-#: cp/typeck.c:2049 cp/typeck.c:2069
++#: cp/typeck.c:2095 cp/typeck.c:2115
+ #, gcc-internal-format
+ msgid "%qD is not a template"
+ msgstr "%qD није шаблон"
+
+-#: cp/typeck.c:2170
++#: cp/typeck.c:2216
+ #, gcc-internal-format
+ msgid "%<%D::%D%> is not a member of %qT"
+ msgstr "%<%D::%D%> није члан у %qT"
+
+-#: cp/typeck.c:2185
++#: cp/typeck.c:2231
+ #, gcc-internal-format
+ msgid "%qT is not a base of %qT"
+ msgstr "%qT није оÑнова за %qT"
+
+-#: cp/typeck.c:2204
++#: cp/typeck.c:2250
+ #, gcc-internal-format
+ msgid "%qD has no member named %qE"
+ msgstr "%qD нема члан по имену %qE"
+
+-#: cp/typeck.c:2219
++#: cp/typeck.c:2265
+ #, gcc-internal-format
+ msgid "%qD is not a member template function"
+ msgstr "%qD није чланÑка шаблонÑка функција"
+
+ #. A pointer to incomplete type (other than cv void) can be
+ #. dereferenced [expr.unary.op]/1
+-#: cp/typeck.c:2352
++#: cp/typeck.c:2398
+ #, gcc-internal-format
+ msgid "%qT is not a pointer-to-object type"
+ msgstr "%qT није типа показивач-на-објекат"
+
+-#: cp/typeck.c:2377
++#: cp/typeck.c:2423
+ #, gcc-internal-format
+ msgid "invalid use of %qs on pointer to member"
+ msgstr "неиÑправна употреба %qs на показивачу-на-члан"
+
+-#: cp/typeck.c:2381
++#: cp/typeck.c:2427
+ #, gcc-internal-format
+ msgid "invalid type argument of %qs"
+ msgstr "неиÑправан аргумент типа за %qs"
+
+-#: cp/typeck.c:2383
++#: cp/typeck.c:2429
+ #, gcc-internal-format
+ msgid "invalid type argument"
+ msgstr "неиÑправан типÑки аргумент"
+
+-#: cp/typeck.c:2406
++#: cp/typeck.c:2452
+ #, gcc-internal-format
+ msgid "subscript missing in array reference"
+ msgstr "недоÑтаје Ð¸Ð½Ð´ÐµÐºÑ Ñƒ упућивачу низа"
+
+-#: cp/typeck.c:2480
++#: cp/typeck.c:2526
+ #, gcc-internal-format
+ msgid "ISO C++ forbids subscripting non-lvalue array"
+ msgstr "ИСО Ц++ забрањује индекÑирање не-л-вредноÑног низа"
+
+-#: cp/typeck.c:2491
++#: cp/typeck.c:2537
+ #, gcc-internal-format
+ msgid "subscripting array declared %<register%>"
+ msgstr "индекÑирање низа деклариÑаног као %<register%>"
+
+-#: cp/typeck.c:2576
++#: cp/typeck.c:2622
+ #, gcc-internal-format
+ msgid "object missing in use of %qE"
+ msgstr "недоÑтаје објекат у употреби %qE"
+
+-#: cp/typeck.c:2693
++#: cp/typeck.c:2739
+ #, gcc-internal-format
+ msgid "ISO C++ forbids calling %<::main%> from within program"
+ msgstr "ИСО Ц++ забрањује звање %<::main%> унутар програма"
+
+-#: cp/typeck.c:2718
++#: cp/typeck.c:2764
+ #, gcc-internal-format
+ msgid "must use %<.*%> or %<->*%> to call pointer-to-member function in %<%E (...)%>"
+ msgstr "мора Ñе употребити или %<.*%> или %<->*%> за позив показивача на чланÑку функцију у %<%E (...)%>"
+
+-#: cp/typeck.c:2732
++#: cp/typeck.c:2778
+ #, gcc-internal-format
+ msgid "%qE cannot be used as a function"
+ msgstr "%qE не може бити употребљено као функција"
+
+-#: cp/typeck.c:2822
++#: cp/typeck.c:2868
+ #, gcc-internal-format
+ msgid "too many arguments to %s %q+#D"
+ msgstr "превише аргумената за %s %q+#D"
+
+-#: cp/typeck.c:2823 cp/typeck.c:2927
++#: cp/typeck.c:2869 cp/typeck.c:2973
+ #, gcc-internal-format
+ msgid "at this point in file"
+ msgstr "на овом меÑту у датотеци"
+
+-#: cp/typeck.c:2826
++#: cp/typeck.c:2872
+ #, gcc-internal-format
+ msgid "too many arguments to function"
+ msgstr "превише аргумената за функцију"
+
+-#: cp/typeck.c:2856
++#: cp/typeck.c:2902
+ #, gcc-internal-format
+ msgid "parameter %P of %qD has incomplete type %qT"
+ msgstr "параметар %P за %qD непотпуног је типа %qT"
+
+-#: cp/typeck.c:2859
++#: cp/typeck.c:2905
+ #, gcc-internal-format
+ msgid "parameter %P has incomplete type %qT"
+ msgstr "параметар %P непотпуног је типа %qT"
+
+-#: cp/typeck.c:2926
++#: cp/typeck.c:2972
+ #, gcc-internal-format
+ msgid "too few arguments to %s %q+#D"
+ msgstr "премало аргумената за %s %q+#D"
+
+-#: cp/typeck.c:2930
++#: cp/typeck.c:2976
+ #, gcc-internal-format
+ msgid "too few arguments to function"
+ msgstr "превише аргумената за функцију"
+
+-#: cp/typeck.c:3098 cp/typeck.c:3108
++#: cp/typeck.c:3140 cp/typeck.c:3150
+ #, gcc-internal-format
+ msgid "assuming cast to type %qT from overloaded function"
+ msgstr "претпоÑтавља Ñе претапање у тип %qT из препуњене функције"
+
+-#: cp/typeck.c:3306
++#: cp/typeck.c:3346
+ #, fuzzy, gcc-internal-format
+ msgid "left rotate count is negative"
+ msgstr "негативно ротирање %s"
+
+-#: cp/typeck.c:3307
++#: cp/typeck.c:3347
+ #, fuzzy, gcc-internal-format
+ msgid "right rotate count is negative"
+ msgstr "негативно ротирање %s"
+
+-#: cp/typeck.c:3310
++#: cp/typeck.c:3350
+ #, fuzzy, gcc-internal-format
+ msgid "left rotate count >= width of type"
+ msgstr "ротирање %s >= ширина типа"
+
+-#: cp/typeck.c:3311
++#: cp/typeck.c:3351
+ #, fuzzy, gcc-internal-format
+ msgid "right rotate count >= width of type"
+ msgstr "ротирање %s >= ширина типа"
+
+-#: cp/typeck.c:3327 cp/typeck.c:3502
++#: cp/typeck.c:3367 cp/typeck.c:3549
+ #, gcc-internal-format
+ msgid "comparison with string literal results in unspecified behaviour"
+ msgstr "поређење Ñа доÑловном ниÑком резултује неодређеним понашањем"
+
+-#: cp/typeck.c:3360 cp/typeck.c:3365 cp/typeck.c:3520 cp/typeck.c:3525
++#: cp/typeck.c:3400 cp/typeck.c:3405 cp/typeck.c:3567 cp/typeck.c:3572
+ #, gcc-internal-format
+ msgid "ISO C++ forbids comparison between pointer and integer"
+ msgstr "ИСО Ц++ забрањује поређење показивача и целобројног"
+
+-#: cp/typeck.c:3539
++#: cp/typeck.c:3586
+ #, gcc-internal-format
+ msgid "unordered comparison on non-floating point argument"
+ msgstr "неуређено поређење Ñа не-реалним аргументом"
+
+-#: cp/typeck.c:3577
++#: cp/typeck.c:3624
+ #, gcc-internal-format
+ msgid "invalid operands of types %qT and %qT to binary %qO"
+ msgstr "неиÑправни операнди типова %qT и %qT за бинарно %qO"
+
+-#: cp/typeck.c:3749
++#: cp/typeck.c:3757
+ #, gcc-internal-format
+ msgid "comparison between types %q#T and %q#T"
+ msgstr "поређење између типова %q#T и %q#T"
+
+-#: cp/typeck.c:3786
++#: cp/typeck.c:3794
+ #, gcc-internal-format
+ msgid "comparison between signed and unsigned integer expressions"
+ msgstr "поређење означених и неозначених целобројних израза"
+@@ -32109,154 +32145,154 @@
+ #. performed. Note that pointer-difference and pointer-addition
+ #. have already been handled above, and so we don't end up here in
+ #. that case.
+-#: cp/typeck.c:3858
++#: cp/typeck.c:3866
+ #, gcc-internal-format
+ msgid "NULL used in arithmetic"
+ msgstr "NULL употребљено аритметички"
+
+-#: cp/typeck.c:3927
++#: cp/typeck.c:3935
+ #, gcc-internal-format
+ msgid "ISO C++ forbids using pointer of type %<void *%> in subtraction"
+ msgstr "ИСО Ц++ забрањује употребу показивача типа %<void *%> у одузимању"
+
+-#: cp/typeck.c:3929
++#: cp/typeck.c:3937
+ #, gcc-internal-format
+ msgid "ISO C++ forbids using pointer to a function in subtraction"
+ msgstr "ИСО Ц++ забрањује употребу показивача на функцију у одузимању"
+
+-#: cp/typeck.c:3931
++#: cp/typeck.c:3939
+ #, gcc-internal-format
+ msgid "ISO C++ forbids using pointer to a method in subtraction"
+ msgstr "ИСО Ц++ забрањује употребу показивача на метод у одузимању"
+
+-#: cp/typeck.c:3943
++#: cp/typeck.c:3951
+ #, gcc-internal-format
+ msgid "invalid use of a pointer to an incomplete type in pointer arithmetic"
+ msgstr "неиÑправна употреба показивача на непотпун тип у аритметици Ñа показивачима"
+
+-#: cp/typeck.c:4003
++#: cp/typeck.c:4011
+ #, gcc-internal-format
+ msgid "invalid use of %qE to form a pointer-to-member-function"
+ msgstr "неиÑправна употреба %qE за добијање показивача-на-чланÑку-функцију"
+
+-#: cp/typeck.c:4006
++#: cp/typeck.c:4014
+ #, gcc-internal-format
+ msgid " a qualified-id is required"
+ msgstr " неопходан је одређен ид."
+
+-#: cp/typeck.c:4011
++#: cp/typeck.c:4019
+ #, gcc-internal-format
+ msgid "parentheses around %qE cannot be used to form a pointer-to-member-function"
+ msgstr "заграде око %qE не могу бити коришћене за добијање показивача-на-чланÑку-функцију"
+
+-#: cp/typeck.c:4034
++#: cp/typeck.c:4042
+ #, gcc-internal-format
+ msgid "taking address of temporary"
+ msgstr "узимање адреÑе привременог"
+
+-#: cp/typeck.c:4287
++#: cp/typeck.c:4295
+ #, fuzzy, gcc-internal-format
+ msgid "ISO C++ forbids incrementing an enum"
+ msgstr "ИСО Ц++ забрањује %s-вање набрајања"
+
+-#: cp/typeck.c:4288
++#: cp/typeck.c:4296
+ #, fuzzy, gcc-internal-format
+ msgid "ISO C++ forbids decrementing an enum"
+ msgstr "ИСО Ц++ забрањује %s-вање набрајања"
+
+-#: cp/typeck.c:4299
++#: cp/typeck.c:4307
+ #, fuzzy, gcc-internal-format
+ msgid "cannot increment a pointer to incomplete type %qT"
+ msgstr "не може Ñе %s показивач на непотпуни тип %qT"
+
+-#: cp/typeck.c:4300
++#: cp/typeck.c:4308
+ #, fuzzy, gcc-internal-format
+ msgid "cannot decrement a pointer to incomplete type %qT"
+ msgstr "не може Ñе %s показивач на непотпуни тип %qT"
+
+-#: cp/typeck.c:4306
++#: cp/typeck.c:4314
+ #, fuzzy, gcc-internal-format
+ msgid "ISO C++ forbids incrementing a pointer of type %qT"
+ msgstr "ИСО Ц++ забрањује %s-вање показивача типа %qT"
+
+-#: cp/typeck.c:4307
++#: cp/typeck.c:4315
+ #, fuzzy, gcc-internal-format
+ msgid "ISO C++ forbids decrementing a pointer of type %qT"
+ msgstr "ИСО Ц++ забрањује %s-вање показивача типа %qT"
+
+-#: cp/typeck.c:4327
++#: cp/typeck.c:4335
+ #, fuzzy, gcc-internal-format
+ msgid "invalid use of Boolean expression as operand to %<operator--%>"
+ msgstr "неиÑправан израз као операнд"
+
+ #. ARM $3.4
+-#: cp/typeck.c:4357
++#: cp/typeck.c:4365
+ #, gcc-internal-format
+ msgid "ISO C++ forbids taking address of function %<::main%>"
+ msgstr "ИСО Ц++ забрањује узимање адреÑе функције %<::main%>"
+
+ #. An expression like &memfn.
+-#: cp/typeck.c:4413
++#: cp/typeck.c:4421
+ #, gcc-internal-format
+ msgid "ISO C++ forbids taking the address of an unqualified or parenthesized non-static member function to form a pointer to member function. Say %<&%T::%D%>"
+ msgstr "ИСО Ц++ забрањује узимање адреÑе неодређене или заграћене неÑтатичке чланÑке функције, за добијање показивача на чланÑку функцију. Употребите %<&%T::%D%>"
+
+-#: cp/typeck.c:4418
++#: cp/typeck.c:4426
+ #, gcc-internal-format
+ msgid "ISO C++ forbids taking the address of a bound member function to form a pointer to member function. Say %<&%T::%D%>"
+ msgstr "ИСО Ц++ забрањује узимање адреÑе везане чланÑке функције за добијање показивача на чланÑку функцију. Употребите %<&%T::%D%>"
+
+-#: cp/typeck.c:4443
++#: cp/typeck.c:4451
+ #, gcc-internal-format
+ msgid "ISO C++ forbids taking the address of a cast to a non-lvalue expression"
+ msgstr "ИСО Ц++ забрањује узимање адреÑе претапања у не-л-вредноÑни израз"
+
+-#: cp/typeck.c:4467
++#: cp/typeck.c:4475
+ #, gcc-internal-format
+ msgid "cannot create pointer to reference member %qD"
+ msgstr "не може Ñе Ñтворити показивач на упућивачки члан %qD"
+
+-#: cp/typeck.c:4678
++#: cp/typeck.c:4686
+ #, gcc-internal-format
+ msgid "cannot take the address of %<this%>, which is an rvalue expression"
+ msgstr "не може Ñе узети адреÑа од %<this%>, јер је д-вредноÑни израз"
+
+-#: cp/typeck.c:4701
++#: cp/typeck.c:4709
+ #, gcc-internal-format
+ msgid "address of explicit register variable %qD requested"
+ msgstr "затражена је адреÑа екÑплицитне региÑтарÑке променљиве %qD"
+
+-#: cp/typeck.c:4706
++#: cp/typeck.c:4714
+ #, gcc-internal-format
+ msgid "address requested for %qD, which is declared %<register%>"
+ msgstr "затражена је адреÑа од %qD, а деклариÑано је као %<register%>"
+
+-#: cp/typeck.c:4772
++#: cp/typeck.c:4780
+ #, gcc-internal-format
+ msgid "%s expression list treated as compound expression"
+ msgstr "лиÑта израза %s узима Ñе као Ñложени израз"
+
+-#: cp/typeck.c:5175
++#: cp/typeck.c:5183
+ #, gcc-internal-format
+ msgid "invalid static_cast from type %qT to type %qT"
+ msgstr "неиÑправно Ñтатичко претапање из типа %qT у тип %qT"
+
+-#: cp/typeck.c:5197
++#: cp/typeck.c:5205
+ #, gcc-internal-format
+ msgid "converting from %qT to %qT"
+ msgstr "претварање из %qT у %qT"
+
+-#: cp/typeck.c:5245
++#: cp/typeck.c:5253
+ #, gcc-internal-format
+ msgid "invalid cast of an rvalue expression of type %qT to type %qT"
+ msgstr "неиÑправно претапање д-вредноÑног израза типа %qT у тип %qT"
+
+-#: cp/typeck.c:5304
++#: cp/typeck.c:5312
+ #, gcc-internal-format
+ msgid "cast from %qT to %qT loses precision"
+ msgstr "претапање из %qT у %qT губи на тачноÑти"
+
+-#: cp/typeck.c:5331
++#: cp/typeck.c:5339
+ #, gcc-internal-format
+ msgid "cast from %qT to %qT increases required alignment of target type"
+ msgstr "претапање из %qT у %qT повећава неопходно равнање циљног типа"
+@@ -32265,155 +32301,155 @@
+ #. where possible, and it is necessary in some cases. DR 195
+ #. addresses this issue, but as of 2004/10/26 is still in
+ #. drafting.
+-#: cp/typeck.c:5351
++#: cp/typeck.c:5359
+ #, gcc-internal-format
+ msgid "ISO C++ forbids casting between pointer-to-function and pointer-to-object"
+ msgstr "ИСО Ц++ забрањује претапање између показивача на функцију и показивача на објекат"
+
+-#: cp/typeck.c:5362
++#: cp/typeck.c:5370
+ #, gcc-internal-format
+ msgid "invalid cast from type %qT to type %qT"
+ msgstr "неиÑправно претапање из типа %qT у тип %qT"
+
+-#: cp/typeck.c:5418
++#: cp/typeck.c:5426
+ #, gcc-internal-format
+ msgid "invalid use of const_cast with type %qT, which is not a pointer, reference, nor a pointer-to-data-member type"
+ msgstr "неиÑправна употреба конÑтантног претапања Ñа типом %qT, који није показивач, нити показивач на чланÑки податак"
+
+-#: cp/typeck.c:5427
++#: cp/typeck.c:5435
+ #, gcc-internal-format
+ msgid "invalid use of const_cast with type %qT, which is a pointer or reference to a function type"
+ msgstr "неиÑправна употреба конÑтантног претапања Ñа типом %qT, који је показивач или упућивач на функцијÑки тип"
+
+-#: cp/typeck.c:5452
++#: cp/typeck.c:5460
+ #, gcc-internal-format
+ msgid "invalid const_cast of an rvalue of type %qT to type %qT"
+ msgstr "неиÑправно конÑтантно претапање д-вредноÑти типа %qT у тип %qT"
+
+-#: cp/typeck.c:5503
++#: cp/typeck.c:5511
+ #, gcc-internal-format
+ msgid "invalid const_cast from type %qT to type %qT"
+ msgstr "неиÑправно конÑтантно претапање из типа %qT у тип %qT"
+
+-#: cp/typeck.c:5571 cp/typeck.c:5576
++#: cp/typeck.c:5579 cp/typeck.c:5584
+ #, gcc-internal-format
+ msgid "ISO C++ forbids casting to an array type %qT"
+ msgstr "ИСО Ц++ забрањује претапање у низовни тип %qT"
+
+-#: cp/typeck.c:5584
++#: cp/typeck.c:5592
+ #, gcc-internal-format
+ msgid "invalid cast to function type %qT"
+ msgstr "неиÑправно претапање у функцијÑки тип %qT"
+
+-#: cp/typeck.c:5804
++#: cp/typeck.c:5812
+ #, gcc-internal-format
+ msgid " in evaluation of %<%Q(%#T, %#T)%>"
+ msgstr " у израчунавању %<%Q(%#T, %#T)%>"
+
+-#: cp/typeck.c:5873
++#: cp/typeck.c:5881
+ #, gcc-internal-format
+ msgid "incompatible types in assignment of %qT to %qT"
+ msgstr "неÑаглаÑни типови у додели %qT у %qT"
+
+-#: cp/typeck.c:5884
++#: cp/typeck.c:5892
+ #, gcc-internal-format
+ msgid "array used as initializer"
+ msgstr "низ употребљен као уÑпоÑтављач"
+
+-#: cp/typeck.c:5886
++#: cp/typeck.c:5894
+ #, gcc-internal-format
+ msgid "invalid array assignment"
+ msgstr "неиÑправна додела низа"
+
+-#: cp/typeck.c:5998
++#: cp/typeck.c:6006
+ #, gcc-internal-format
+ msgid " in pointer to member function conversion"
+ msgstr " у претварању показивача на чланÑку функцију"
+
+-#: cp/typeck.c:6009
++#: cp/typeck.c:6017
+ #, gcc-internal-format
+ msgid "pointer to member conversion via virtual base %qT"
+ msgstr "претварање показивача на члан преко виртуелне оÑнове %qT"
+
+-#: cp/typeck.c:6049 cp/typeck.c:6061
++#: cp/typeck.c:6057 cp/typeck.c:6069
+ #, gcc-internal-format
+ msgid " in pointer to member conversion"
+ msgstr " у претварању показивача на члан"
+
+-#: cp/typeck.c:6140
++#: cp/typeck.c:6148
+ #, gcc-internal-format
+ msgid "invalid conversion to type %qT from type %qT"
+ msgstr "неиÑправно претварање у тип %qT из типа %qT"
+
+-#: cp/typeck.c:6384
++#: cp/typeck.c:6411
+ #, gcc-internal-format
+ msgid "cannot convert %qT to %qT for argument %qP to %qD"
+ msgstr "не може Ñе претворити %qT у %qT као аргумент %qP за %qD"
+
+-#: cp/typeck.c:6387
++#: cp/typeck.c:6414
+ #, gcc-internal-format
+ msgid "cannot convert %qT to %qT in %s"
+ msgstr "не може Ñе претворити %qT у %qT у %s"
+
+-#: cp/typeck.c:6398
++#: cp/typeck.c:6425
+ #, gcc-internal-format
+ msgid "%s might be a candidate for a format attribute"
+ msgstr "%s може бити кандидат за форматÑки атрибут"
+
+-#: cp/typeck.c:6485 cp/typeck.c:6487
++#: cp/typeck.c:6512 cp/typeck.c:6514
+ #, gcc-internal-format
+ msgid "in passing argument %P of %q+D"
+ msgstr "у проÑлеђивању аргумента %P за %q+D"
+
+-#: cp/typeck.c:6537
++#: cp/typeck.c:6564
+ #, gcc-internal-format
+ msgid "returning reference to temporary"
+ msgstr "враћање упућивача на привремени"
+
+-#: cp/typeck.c:6544
++#: cp/typeck.c:6571
+ #, gcc-internal-format
+ msgid "reference to non-lvalue returned"
+ msgstr "враћање упућивача на не-л-вредноÑÑ‚"
+
+-#: cp/typeck.c:6560
++#: cp/typeck.c:6587
+ #, gcc-internal-format
+ msgid "reference to local variable %q+D returned"
+ msgstr "враћање упућивача на локалну променљиву %q+D"
+
+-#: cp/typeck.c:6563
++#: cp/typeck.c:6590
+ #, gcc-internal-format
+ msgid "address of local variable %q+D returned"
+ msgstr "враћање адреÑе локалне променљиве %q+D"
+
+-#: cp/typeck.c:6598
++#: cp/typeck.c:6625
+ #, gcc-internal-format
+ msgid "returning a value from a destructor"
+ msgstr "враћање вредноÑти из деÑтруктора"
+
+ #. If a return statement appears in a handler of the
+ #. function-try-block of a constructor, the program is ill-formed.
+-#: cp/typeck.c:6606
++#: cp/typeck.c:6633
+ #, gcc-internal-format
+ msgid "cannot return from a handler of a function-try-block of a constructor"
+ msgstr "не може Ñе враћати из руковаоца у блоку покушаја у конÑтруктору"
+
+ #. You can't return a value from a constructor.
+-#: cp/typeck.c:6609
++#: cp/typeck.c:6636
+ #, gcc-internal-format
+ msgid "returning a value from a constructor"
+ msgstr "враћање вредноÑти из конÑтруктора"
+
+-#: cp/typeck.c:6633
++#: cp/typeck.c:6661
+ #, gcc-internal-format
+ msgid "return-statement with no value, in function returning %qT"
+ msgstr "наредба враћања без вредноÑти, у функцији која враћа %qT"
+
+-#: cp/typeck.c:6654
++#: cp/typeck.c:6682
+ #, gcc-internal-format
+ msgid "return-statement with a value, in function returning 'void'"
+ msgstr "наредба враћања Ñа вредношћу, у функцији која враћа ‘void’"
+
+-#: cp/typeck.c:6685
++#: cp/typeck.c:6713
+ #, gcc-internal-format
+ msgid "%<operator new%> must not return NULL unless it is declared %<throw()%> (or -fcheck-new is in effect)"
+ msgstr "%<operator new%> не Ñме вратити NULL, оÑим ако је деклариÑан уз %<throw()%> (или је задато -fcheck-new)"
+@@ -32599,57 +32635,57 @@
+ msgid "pointer to member type %qT incompatible with object type %qT"
+ msgstr "тип показивача на члан %qT није ÑаглаÑан Ñа типом објекта %qT"
+
+-#: cp/typeck2.c:1495
++#: cp/typeck2.c:1508
+ #, gcc-internal-format
+ msgid "call to function %qD which throws incomplete type %q#T"
+ msgstr "позив функције %qD која баца непотпун тип %q#T"
+
+-#: cp/typeck2.c:1498
++#: cp/typeck2.c:1511
+ #, gcc-internal-format
+ msgid "call to function which throws incomplete type %q#T"
+ msgstr "позив функције која баца непотпун тип %q#T"
+
+-#: fortran/f95-lang.c:233
++#: fortran/f95-lang.c:235
+ #, gcc-internal-format
+ msgid "Unexpected type in truthvalue_conversion"
+ msgstr "Ðеочекивани тип у претварању иÑтинитоÑне вредноÑти"
+
+-#: fortran/f95-lang.c:289
++#: fortran/f95-lang.c:291
+ #, gcc-internal-format
+ msgid "can't open input file: %s"
+ msgstr "не могу да отворим улазну датотеку: %s"
+
+-#: fortran/f95-lang.c:629
++#: fortran/f95-lang.c:631
+ #, gcc-internal-format
+ msgid "global register variable %qs used in nested function"
+ msgstr "глобална региÑтарÑка променљива %qs употребљена у угњежденој функцији"
+
+-#: fortran/f95-lang.c:633
++#: fortran/f95-lang.c:635
+ #, gcc-internal-format
+ msgid "register variable %qs used in nested function"
+ msgstr "региÑтарÑка променљива %qs употребљена у угњежденој функцији"
+
+-#: fortran/f95-lang.c:640
++#: fortran/f95-lang.c:642
+ #, gcc-internal-format
+ msgid "address of global register variable %qs requested"
+ msgstr "затражена адреÑа глобалне региÑтарÑке променљиве %qs"
+
+-#: fortran/f95-lang.c:658
++#: fortran/f95-lang.c:660
+ #, gcc-internal-format
+ msgid "address of register variable %qs requested"
+ msgstr "затражена адреÑа региÑтарÑке променљиве %qs"
+
+-#: fortran/trans-array.c:3765
++#: fortran/trans-array.c:3805
+ #, gcc-internal-format
+ msgid "Possible frontend bug: array constructor not expanded"
+ msgstr "Могућа грешка у прочељу: конÑтруктор низа није проширен"
+
+-#: fortran/trans-array.c:5418
++#: fortran/trans-array.c:5499
+ #, gcc-internal-format
+ msgid "Possible frontend bug: Deferred array size without pointer, allocatable attribute or derived type without allocatable components."
+ msgstr "Могућа грешка у прочељу: Ðиз одложене величине без показивача, атрибута резервљивоÑти или изведеног типа без резервљивих компоненти."
+
+-#: fortran/trans-array.c:5894
++#: fortran/trans-array.c:5975
+ #, gcc-internal-format
+ msgid "bad expression type during walk (%d)"
+ msgstr "лош тип израза током хода (%d)"
+@@ -32659,27 +32695,27 @@
+ msgid "gfc_conv_constant_to_tree(): invalid type: %s"
+ msgstr "gfc_conv_constant_to_tree(): неиÑправан тип: %s"
+
+-#: fortran/trans-decl.c:966
++#: fortran/trans-decl.c:972
+ #, gcc-internal-format
+ msgid "intrinsic variable which isn't a procedure"
+ msgstr "ÑопÑтвена променљива која није процедура"
+
+-#: fortran/trans-decl.c:2639
++#: fortran/trans-decl.c:2644
+ #, gcc-internal-format
+ msgid "Function does not return a value"
+ msgstr "Функција не враћа вредноÑÑ‚"
+
+-#: fortran/trans-decl.c:2817
++#: fortran/trans-decl.c:2832
+ #, gcc-internal-format
+ msgid "backend decl for module variable %s already exists"
+ msgstr "декларација зачеља за модулÑку променљиву %s већ поÑтоји"
+
+-#: fortran/trans-decl.c:3351
++#: fortran/trans-decl.c:3314
+ #, gcc-internal-format
+ msgid "Function return value not set"
+ msgstr "Повратна вредноÑÑ‚ функције није поÑтављена"
+
+-#: fortran/trans-expr.c:1163
++#: fortran/trans-expr.c:1177
+ #, gcc-internal-format
+ msgid "Unknown intrinsic op"
+ msgstr "Ðепознат ÑопÑтвени оператор"
+@@ -32689,32 +32725,32 @@
+ msgid "Intrinsic function %s(%d) not recognized"
+ msgstr "СопÑтвена функција %s(%d) није препозната"
+
+-#: fortran/trans-io.c:1928
++#: fortran/trans-io.c:1929
+ #, gcc-internal-format
+ msgid "Bad IO basetype (%d)"
+ msgstr "Лош У/И оÑновни тип (%d)"
+
+-#: fortran/trans-types.c:386
++#: fortran/trans-types.c:387
+ #, gcc-internal-format
+ msgid "integer kind=8 not available for -fdefault-integer-8 option"
+ msgstr "целобројна врÑта =8 није доÑтупна уз опцију -fdefault-integer-8"
+
+-#: fortran/trans-types.c:409
++#: fortran/trans-types.c:410
+ #, gcc-internal-format
+ msgid "real kind=8 not available for -fdefault-real-8 option"
+ msgstr "реална врÑта =8 није доÑтупна уз опцију -fdefault-real-8"
+
+-#: fortran/trans-types.c:422
++#: fortran/trans-types.c:423
+ #, gcc-internal-format
+ msgid "Use of -fdefault-double-8 requires -fdefault-real-8"
+ msgstr "Употреба -fdefault-double-8 захтева и -fdefault-real-8"
+
+-#: fortran/trans-types.c:1181
++#: fortran/trans-types.c:1185
+ #, gcc-internal-format
+ msgid "Array element size too big"
+ msgstr "Величина елемента низа превелика"
+
+-#: fortran/trans.c:1150
++#: fortran/trans.c:1151
+ #, gcc-internal-format
+ msgid "gfc_trans_code(): Bad statement code"
+ msgstr "gfc_trans_code(): лош кôд наредбе"
+@@ -32774,88 +32810,88 @@
+ msgid "need to insert runtime check for %s"
+ msgstr "треба убацити проверу при извршавању за %s"
+
+-#: java/expr.c:505 java/expr.c:552
++#: java/expr.c:524 java/expr.c:571
+ #, gcc-internal-format
+ msgid "assert: %s is assign compatible with %s"
+ msgstr "тврдња: %s је доделом ÑаглаÑно Ñа %s"
+
+-#: java/expr.c:670
++#: java/expr.c:689
+ #, gcc-internal-format
+ msgid "stack underflow - dup* operation"
+ msgstr "подливање Ñтека - dup* операција"
+
+-#: java/expr.c:1657
++#: java/expr.c:1676
+ #, gcc-internal-format
+ msgid "reference %qs is ambiguous: appears in interface %qs and interface %qs"
+ msgstr "двоÑмиÑлен упућивач %qs: појављује Ñе у Ñучељу %qs и Ñучељу %qs"
+
+-#: java/expr.c:1685
++#: java/expr.c:1704
+ #, gcc-internal-format
+ msgid "field %qs not found"
+ msgstr "поље %qs није нађено"
+
+-#: java/expr.c:2224
++#: java/expr.c:2243
+ #, gcc-internal-format
+ msgid "method '%s' not found in class"
+ msgstr "метод ‘%s’ није нађен у клаÑи"
+
+-#: java/expr.c:2429
++#: java/expr.c:2448
+ #, gcc-internal-format
+ msgid "failed to find class '%s'"
+ msgstr "клаÑа ‘%s’ није нађена"
+
+-#: java/expr.c:2470
++#: java/expr.c:2489
+ #, gcc-internal-format
+ msgid "class '%s' has no method named '%s' matching signature '%s'"
+ msgstr "клаÑа ‘%s’ нема метод по имену ‘%s’ који одговара потпиÑу ‘%s’"
+
+-#: java/expr.c:2501
++#: java/expr.c:2520
+ #, gcc-internal-format
+ msgid "invokestatic on non static method"
+ msgstr "invokestatic на неÑтатичком методу"
+
+-#: java/expr.c:2506
++#: java/expr.c:2525
+ #, gcc-internal-format
+ msgid "invokestatic on abstract method"
+ msgstr "invokestatic на апÑтрактном методу"
+
+-#: java/expr.c:2514
++#: java/expr.c:2533
+ #, gcc-internal-format
+ msgid "invoke[non-static] on static method"
+ msgstr "invoke[non-static] на Ñтатичком методу"
+
+-#: java/expr.c:2865
++#: java/expr.c:2890
+ #, gcc-internal-format
+ msgid "missing field '%s' in '%s'"
+ msgstr "недоÑтаје поље ‘%s’ у ‘%s’"
+
+-#: java/expr.c:2872
++#: java/expr.c:2897
+ #, gcc-internal-format
+ msgid "mismatching signature for field '%s' in '%s'"
+ msgstr "неÑлагање потпиÑа за поље ‘%s’ у ‘%s’"
+
+-#: java/expr.c:2901
++#: java/expr.c:2926
+ #, gcc-internal-format
+ msgid "assignment to final field %q+D not in field's class"
+ msgstr "додела у коначно поље %q+D није у његовој клаÑи"
+
+-#: java/expr.c:3123
++#: java/expr.c:3148
+ #, gcc-internal-format
+ msgid "invalid PC in line number table"
+ msgstr "неиÑправан ПЦ у табели бројева линија"
+
+-#: java/expr.c:3173
++#: java/expr.c:3198
+ #, gcc-internal-format
+ msgid "unreachable bytecode from %d to before %d"
+ msgstr "недоÑтижан бајткод од %d до пре %d"
+
+-#: java/expr.c:3217
++#: java/expr.c:3242
+ #, gcc-internal-format
+ msgid "unreachable bytecode from %d to the end of the method"
+ msgstr "недоÑтижан бајткод од %d до краја метода"
+
+ #. duplicate code from LOAD macro
+-#: java/expr.c:3522
++#: java/expr.c:3547
+ #, gcc-internal-format
+ msgid "unrecogized wide sub-instruction"
+ msgstr "непрепозната широка подинÑтрукција"
+@@ -32921,27 +32957,27 @@
+ msgid "%Hduplicate class will only be compiled once"
+ msgstr "%HудвоÑтручена клаÑа ће бити компилована Ñамо једном"
+
+-#: java/jcf-parse.c:1636
++#: java/jcf-parse.c:1638
+ #, gcc-internal-format
+ msgid "missing Code attribute"
+ msgstr "недоÑтаје атрибут Code"
+
+-#: java/jcf-parse.c:1858
++#: java/jcf-parse.c:1860
+ #, gcc-internal-format
+ msgid "no input file specified"
+ msgstr "није наведена ниједна улазна датотека"
+
+-#: java/jcf-parse.c:1893
++#: java/jcf-parse.c:1895
+ #, gcc-internal-format
+ msgid "can't close input file %s: %m"
+ msgstr "не могу да затворим улазну датотеку %s: %m"
+
+-#: java/jcf-parse.c:1940
++#: java/jcf-parse.c:1942
+ #, gcc-internal-format
+ msgid "bad zip/jar file %s"
+ msgstr "лоша ЗИП/ЈÐР датотека %s"
+
+-#: java/jcf-parse.c:2145
++#: java/jcf-parse.c:2152
+ #, gcc-internal-format
+ msgid "error while reading %s from zip file"
+ msgstr "грешка при читању %s из ЗИП датотеке"
+@@ -32951,22 +32987,22 @@
+ msgid "warning: already-compiled .class files ignored with -C"
+ msgstr "упозорење: већ компиловане клаÑне датотеке игноришу Ñе при -C"
+
+-#: java/lang.c:590
++#: java/lang.c:594
+ #, gcc-internal-format
+ msgid "-findirect-dispatch is incompatible with -freduced-reflection"
+ msgstr "-findirect-dispatch није ÑаглаÑно Ñа -freduced-reflection"
+
+-#: java/lang.c:593
++#: java/lang.c:597
+ #, gcc-internal-format
+ msgid "-fjni is incompatible with -freduced-reflection"
+ msgstr "-fjni није ÑаглаÑно Ñа -freduced-reflection"
+
+-#: java/lang.c:604
++#: java/lang.c:608
+ #, gcc-internal-format
+ msgid "can't do dependency tracking with input from stdin"
+ msgstr "не могу Ñе пратити завиÑноÑти при уноÑу Ñа Ñтдул"
+
+-#: java/lang.c:620
++#: java/lang.c:624
+ #, gcc-internal-format
+ msgid "couldn't determine target name for dependency tracking"
+ msgstr "ниÑам могао да одредим име циља ради праћења завиÑноÑти"
+@@ -33466,6 +33502,63 @@
+ #~ msgid "Given N calls and V call-clobbered vars in a function. Use .GLOBAL_VAR if NxV is larger than this limit"
+ #~ msgstr "За датих N позива и V позивом продрманих променљивих у функцији, кориÑти .GLOBAL_VAR ако је NxV веће од овог ограничења"
+
++#~ msgid "using CONST_DOUBLE for address"
++#~ msgstr "кориÑти Ñе CONST_DOUBLE за адреÑу"
++
++#~ msgid "c4x_address_cost: Invalid addressing mode"
++#~ msgstr "c4x_address_cost: ÐеиÑправан адреÑни режим"
++
++#~ msgid "c4x_print_operand: %%L inconsistency"
++#~ msgstr "c4x_print_operand: %%L неÑаглаÑноÑÑ‚"
++
++#~ msgid "c4x_print_operand: %%N inconsistency"
++#~ msgstr "c4x_print_operand: %%N неÑаглаÑноÑÑ‚"
++
++#~ msgid "c4x_print_operand: %%O inconsistency"
++#~ msgstr "c4x_print_operand: %%O неÑаглаÑноÑÑ‚"
++
++#~ msgid "c4x_print_operand: Bad operand case"
++#~ msgstr "c4x_print_operand: Лош облик операнда"
++
++#~ msgid "c4x_print_operand_address: Bad post_modify"
++#~ msgstr "c4x_print_operand_address: Лош post_modify"
++
++#~ msgid "c4x_print_operand_address: Bad pre_modify"
++#~ msgstr "c4x_print_operand_address: Лош pre_modify"
++
++#~ msgid "c4x_print_operand_address: Bad operand case"
++#~ msgstr "c4x_print_operand_address: Лош облик операнда"
++
++#~ msgid "c4x_rptb_insert: Cannot find start label"
++#~ msgstr "c4x_rptb_insert: Ðе могу да нађем почетну етикету"
++
++#~ msgid "invalid indirect memory address"
++#~ msgstr "неиÑправна поÑредна меморијÑка адреÑа"
++
++#~ msgid "invalid indirect (S) memory address"
++#~ msgstr "неиÑправна поÑредна (S) меморијÑка адреÑа"
++
++#~ msgid "c4x_valid_operands: Internal error"
++#~ msgstr "c4x_valid_operands: Унутрашња грешка"
++
++#~ msgid "c4x_operand_subword: invalid mode"
++#~ msgstr "c4x_operand_subword: неиÑправан режим"
++
++#~ msgid "c4x_operand_subword: invalid operand"
++#~ msgstr "c4x_operand_subword: неиÑправан операнд"
++
++#~ msgid "c4x_operand_subword: invalid autoincrement"
++#~ msgstr "c4x_operand_subword: неиÑправно Ñамоувећање"
++
++#~ msgid "c4x_operand_subword: invalid address"
++#~ msgstr "c4x_operand_subword: неиÑправна адреÑа"
++
++#~ msgid "c4x_operand_subword: address not offsettable"
++#~ msgstr "c4x_operand_subword: адреÑи Ñе не може дати помак"
++
++#~ msgid "c4x_rptb_rpts_p: Repeat block top label moved"
++#~ msgstr "c4x_rptb_rpts_p: Померена горња етикета блока понављања"
++
+ #~ msgid "PRINT_OPERAND, invalid insn for %%C"
+ #~ msgstr "PRINT_OPERAND, неиÑправна ија за %%C"
+
+@@ -33496,6 +33589,9 @@
+ #~ msgid "Arithmetic overflow converting %s to %s at %L"
+ #~ msgstr "Ðритметичко преливање при претварању %s у %s код %L"
+
++#~ msgid "Missing DIM parameter in intrinsic '%s' at %L"
++#~ msgstr "ÐедоÑтаје параметар DIM у ÑопÑтвеном ‘%s’ код %L"
++
+ #~ msgid "Kind %d is not a CHARACTER kind at %C"
+ #~ msgstr "Ð’Ñ€Ñта %d није знаковна код %C"
+
+@@ -33523,6 +33619,18 @@
+ #~ msgid "Fortran 95 requires default INTEGER in IOSTAT tag at %L"
+ #~ msgstr "Фортран 95 захтева подразумевни цео број у ознаци IOSTAT код %L"
+
++#~ msgid "STAT variable '%s' of DEALLOCATE statement at %C cannot be INTENT(IN)"
++#~ msgstr "СтатуÑна променљива ‘%s’ у наредби DEALLOCATE код %C не може бити намере-у"
++
++#~ msgid "Illegal STAT variable in DEALLOCATE statement at %C for a PURE procedure"
++#~ msgstr "СтатуÑна променљива ‘%s’ у наредби DEALLOCATE код %C за чиÑту процедуру"
++
++#~ msgid "Previously initialized symbol '%s' in blank COMMON block at %C"
++#~ msgstr "Претходно уÑпоÑтављен Ñимбол ‘%s’ у празном заједничком блоку код %C"
++
++#~ msgid "Previously initialized symbol '%s' in COMMON block '%s' at %C"
++#~ msgstr "Претходно уÑпоÑтављен Ñимбол ‘%s’ у заједничком блоку ‘%s’ код %C"
++
+ #~ msgid "Assumed shape array '%s' in namelist '%s' at %C is an extension."
+ #~ msgstr "Ðиз претпоÑтављене величине ‘%s’ у лиÑти имена ‘%s’ код %C јеÑте проширење."
+
+@@ -33535,6 +33643,9 @@
+ #~ msgid "'%s' is array valued and directly recursive at %C , so the keyword RESULT must be specified in the FUNCTION statement"
+ #~ msgstr "‘%s’ има вредноÑÑ‚ низа и директно је рекурзивна код %C, тако да мора бити наведена кључна реч RESULT у наредби FUNCTION"
+
++#~ msgid "Expected VARIABLE at %C"
++#~ msgstr "Очекивано је VARIABLE код %C"
++
+ #~ msgid "Kind of by-value argument at %L is larger than default kind"
+ #~ msgstr "Ð’Ñ€Ñта аргумента-по-вредноÑти код %L већа је од подразумеване"
+
+@@ -33556,8 +33667,8 @@
+ #~ msgid "rhs of CHARACTER assignment at %L will be truncated (%d/%d)"
+ #~ msgstr "деÑна Ñтрана знаковне доделе код %L биће подÑечена (%d/%d)"
+
+-#~ msgid "Derived type variable '%s' at %L with default initializer cannot be an EQUIVALENCE object"
+-#~ msgstr "Променљива изведеног типа ‘%s’ код %L Ñа подразумеваним уÑпоÑтављачем не може бити објекат еквиваленције"
++#~ msgid "STAT tag in DEALLOCATE statement at %L must be of type INTEGER"
++#~ msgstr "Ознака STAT у наредби DEALLOCATE код %L мора бити целобројна"
+
+ #~ msgid "Initialized objects '%s' and '%s' cannot both be in the EQUIVALENCE statement at %L"
+ #~ msgstr "УÑпоÑтављени објекти ‘%s’ и ‘%s’ не могу оба бити у наредби еквиваленцији код %L"
+@@ -33856,6 +33967,87 @@
+ #~ msgid "Uninitialized locals in .bss"
+ #~ msgstr "ÐеуÑпоÑтављени локални у .bss"
+
++#~ msgid "Generate code for C30 CPU"
++#~ msgstr "Створи кôд за ЦПУ Ц30"
++
++#~ msgid "Generate code for C31 CPU"
++#~ msgstr "Створи кôд за Ц31"
++
++#~ msgid "Generate code for C32 CPU"
++#~ msgstr "Створи кôд за Ц32"
++
++#~ msgid "Generate code for C33 CPU"
++#~ msgstr "Створи кôд за Ц33"
++
++#~ msgid "Generate code for C40 CPU"
++#~ msgstr "Створи кôд за Ц40"
++
++#~ msgid "Generate code for C44 CPU"
++#~ msgstr "Створи кôд за Ц44"
++
++#~ msgid "Assume that pointers may be aliased"
++#~ msgstr "ПретпоÑтави да показивачи могу бити дволични"
++
++#~ msgid "Big memory model"
++#~ msgstr "Велики модел меморије"
++
++#~ msgid "Use the BK register as a general purpose register"
++#~ msgstr "КориÑти региÑтар BK као региÑтар опште намене"
++
++#~ msgid "Generate code for CPU"
++#~ msgstr "Створи кôд за ЦПУ"
++
++#~ msgid "Enable debugging"
++#~ msgstr "Укључи иÑправљање"
++
++#~ msgid "Enable new features under development"
++#~ msgstr "Укључи нове могућноÑти у развоју"
++
++#~ msgid "Use fast but approximate float to integer conversion"
++#~ msgstr "КориÑти брзо али приближно претварање реалног у целобројно"
++
++#~ msgid "Force RTL generation to emit valid 3 operand insns"
++#~ msgstr "Спроведи Ñтварање РТЛа да емитује важеће трооперандÑке ије"
++
++#~ msgid "Force constants into registers to improve hoisting"
++#~ msgstr "Спроведи конÑтанте у региÑтре ради побољшања подизања"
++
++#~ msgid "Save DP across ISR in small memory model"
++#~ msgstr "Снимај DP преко ИСРа у малом меморијÑком моделу"
++
++#~ msgid "Allow unsigned iteration counts for RPTB/DB"
++#~ msgstr "Дозволи неозначене бројаче итерација за RPTB/DB"
++
++#~ msgid "Pass arguments on the stack"
++#~ msgstr "ПроÑлеђуј аргументе на Ñтеку"
++
++#~ msgid "Use MPYI instruction for C3x"
++#~ msgstr "КориÑти инÑтрукцију MPYI за Ц3н"
++
++#~ msgid "Enable parallel instructions"
++#~ msgstr "Укључи паралелне инÑтрукције"
++
++#~ msgid "Enable MPY||ADD and MPY||SUB instructions"
++#~ msgstr "Укључи инÑтрукције MPY||ADD и MPY||SUB"
++
++#~ msgid "Preserve all 40 bits of FP reg across call"
++#~ msgstr "Сачувај Ñвих 40 битова ФП региÑтра преко позива"
++
++#~ msgid "Pass arguments in registers"
++#~ msgstr "ПроÑлеђуј Ñве аргументе у региÑтрима"
++
++#~ msgid "Enable use of RTPS instruction"
++#~ msgstr "Укључи употребу инÑтрукције RPTS"
++
++#~ msgid "Set the maximum number of iterations for RPTS to N"
++#~ msgstr "ПоÑтави највећи број итерација за RPTS на N"
++
++#~ msgid "Small memory model"
++#~ msgstr "Мали модел меморије"
++
++#~ msgid "Emit code compatible with TI tools"
++#~ msgstr "Емитуј кôд ÑаглаÑан Ñа ТИјевим алатима"
++
+ #~ msgid "Generate mips16 code"
+ #~ msgstr "Створи кôд за мипÑ16"
+
+@@ -33877,6 +34069,9 @@
+ #~ msgid "Don't generate code, just do syntax and semantics checking"
+ #~ msgstr "Ðе Ñтварај кôд, Ñамо провери ÑинтакÑу и Ñемантику"
+
++#~ msgid "Copy memory address constants into registers before use"
++#~ msgstr "Копирај конÑтантне меморијÑке адреÑе у региÑтре пре употребе"
++
+ #~ msgid "Copy memory operands into registers before use"
+ #~ msgstr "Копирај меморијÑке операнде у региÑтре пре употребе"
+
+@@ -33889,6 +34084,9 @@
+ #~ msgid "%<va_start%> used with too many arguments"
+ #~ msgstr "%<va_start%> употребљено Ñа превише аргумената"
+
++#~ msgid "static or type qualifiers in abstract declarator"
++#~ msgstr "Ñтатичка или одредбе типова у апÑтрактном декларатору"
++
+ #~ msgid "thread-local storage not supported for this target"
+ #~ msgstr "нитно-локално Ñкладиштење није подржано за овај циљ"
+
+@@ -33949,6 +34147,27 @@
+ #~ msgid "command line option %<-fapple-kext%> is only valid for C++"
+ #~ msgstr "опција командне линије %<-fapple-kext%> иÑправна је Ñамо за Ц++"
+
++#~ msgid "missing '(' after '#pragma %s' - ignored"
++#~ msgstr "недоÑтаје „(“ поÑле „#pragma %s“, игноришем"
++
++#~ msgid "missing function name in '#pragma %s' - ignored"
++#~ msgstr "недоÑтаје име функције у „#pragma %s“, игноришем"
++
++#~ msgid "malformed '#pragma %s' - ignored"
++#~ msgstr "лоше формирано „#pragma %s“, игноришем"
++
++#~ msgid "missing section name in '#pragma %s' - ignored"
++#~ msgstr "недоÑтаје име одељка у „#pragma %s“, игноришем"
++
++#~ msgid "missing ')' for '#pragma %s' - ignored"
++#~ msgstr "недоÑтаје „)“ за „#pragma %s“, игноришем"
++
++#~ msgid "junk at end of '#pragma %s'"
++#~ msgstr "Ñмеће на крају „#pragma %s“"
++
++#~ msgid "ISR %s requires %d words of local vars, max is 32767"
++#~ msgstr "ИСР %s захтева %d речи локалних променљивих, највише 32767"
++
+ #~ msgid "code model %<large%> not supported yet"
+ #~ msgstr "модела кôда %<large%> још увек није подржан"
+
+@@ -33997,6 +34216,9 @@
+ #~ msgid " bytes"
+ #~ msgstr " бајтова"
+
++#~ msgid "constant arithmetic operand out of range"
++#~ msgstr "конÑтантан аритметички операнд ван опÑега"
++
+ #~ msgid "%qE has type %<void%> and is not a throw-expression"
+ #~ msgstr "%qE је типа %<void%> и није израз у бацању"
+
+@@ -34048,6 +34270,9 @@
+ #~ msgid "%qD does not declare a template type"
+ #~ msgstr "%qD не декларише шаблонÑки тип"
+
++#~ msgid "used %d template parameter(s) instead of %d"
++#~ msgstr "употребљено је %d шаблонÑких параметара умеÑто %d"
++
+ #~ msgid "use of parameter from containing function"
+ #~ msgstr "употреба параметра из обухватајуће вункције"
+
+@@ -34209,9 +34434,6 @@
+ #~ "%s.\n"
+ #~ "%s"
+
+-#~ msgid "Missing return statement"
+-#~ msgstr "ÐедоÑтаје наредба повратка"
+-
+ #~ msgid "Unreachable statement"
+ #~ msgstr "ÐедоÑтижна наредба"
+
+Index: gcc/po/da.po
+===================================================================
+--- gcc/po/da.po (.../tags/gcc_4_3_0_release) (revision 133808)
++++ gcc/po/da.po (.../branches/gcc-4_3-branch) (revision 133808)
+@@ -128,7 +128,7 @@
+ msgstr ""
+ "Project-Id-Version: gcc 3.4-b20040206\n"
+ "Report-Msgid-Bugs-To: http://gcc.gnu.org/bugs.html\n"
+-"POT-Creation-Date: 2007-11-08 21:09+0000\n"
++"POT-Creation-Date: 2008-03-05 17:23+0100\n"
+ "PO-Revision-Date: 2004-10-03 19:17+0200\n"
+ "Last-Translator: Ole Laursen <olau@hardworking.dk>\n"
+ "Language-Team: Danish <dansk@klid.dk>\n"
+@@ -136,7 +136,7 @@
+ "Content-Type: text/plain; charset=ISO-8859-1\n"
+ "Content-Transfer-Encoding: 8bit\n"
+
+-#: c-decl.c:3814
++#: c-decl.c:3813
+ #, fuzzy
+ msgid "<anonymous>"
+ msgstr "<anonym %s>"
+@@ -460,57 +460,57 @@
+ msgid "End of search list.\n"
+ msgstr "Slut på søgningslisten.\n"
+
+-#: c-opts.c:1484
++#: c-opts.c:1505
+ msgid "<built-in>"
+ msgstr "<indbygget>"
+
+-#: c-opts.c:1502
++#: c-opts.c:1523
+ #, fuzzy
+ msgid "<command-line>"
+ msgstr "<kommandolinje>"
+
+-#: c-typeck.c:2448 c-typeck.c:4851 c-typeck.c:4853 c-typeck.c:4861
+-#: c-typeck.c:4891 c-typeck.c:6267
++#: c-typeck.c:2459 c-typeck.c:4862 c-typeck.c:4864 c-typeck.c:4872
++#: c-typeck.c:4902 c-typeck.c:6278
+ msgid "initializer element is not constant"
+ msgstr "startværdielement er ikke en konstant"
+
+-#: c-typeck.c:4654
++#: c-typeck.c:4665
+ #, fuzzy
+ msgid "array initialized from parenthesized string constant"
+ msgstr "char-tabel får tildelt startværdi fra en bred streng"
+
+-#: c-typeck.c:4715 cp/typeck2.c:677
++#: c-typeck.c:4726 cp/typeck2.c:677
+ #, gcc-internal-format
+ msgid "char-array initialized from wide string"
+ msgstr "char-tabel får tildelt startværdi fra en bred streng"
+
+-#: c-typeck.c:4720
++#: c-typeck.c:4731
+ #, fuzzy
+ msgid "wchar_t-array initialized from non-wide string"
+ msgstr "char-tabel får tildelt startværdi fra en bred streng"
+
+-#: c-typeck.c:4738 cp/typeck2.c:697
++#: c-typeck.c:4749 cp/typeck2.c:697
+ #, gcc-internal-format
+ msgid "initializer-string for array of chars is too long"
+ msgstr "startværdistrengen til char-tabellen er for lang"
+
+-#: c-typeck.c:4744
++#: c-typeck.c:4755
+ #, fuzzy
+ msgid "array of inappropriate type initialized from string constant"
+ msgstr "char-tabel får tildelt startværdi fra en bred streng"
+
+ #. ??? This should not be an error when inlining calls to
+ #. unprototyped functions.
+-#: c-typeck.c:4808 c-typeck.c:4333 cp/typeck.c:1528
++#: c-typeck.c:4819 c-typeck.c:4344 cp/typeck.c:1574
+ #, gcc-internal-format
+ msgid "invalid use of non-lvalue array"
+ msgstr "ugyldig brug af en tabel der ikke kan optræde som en venstreværdi"
+
+-#: c-typeck.c:4834
++#: c-typeck.c:4845
+ msgid "array initialized from non-constant array expression"
+ msgstr "tabel får tildelt en startværdi fra et tabeludtryk der ikke er konstant"
+
+-#: c-typeck.c:4898 c-typeck.c:6271
++#: c-typeck.c:4909 c-typeck.c:6282
+ #, gcc-internal-format
+ msgid "initializer element is not computable at load time"
+ msgstr "startværdielement kan ikke beregnes ved indlæsningstidspunktet"
+@@ -519,147 +519,147 @@
+ #. of VLAs themselves count as VLAs, it does not make
+ #. sense to permit them to be initialized given that
+ #. ordinary VLAs may not be initialized.
+-#: c-typeck.c:4909 c-decl.c:3222 c-decl.c:3237
++#: c-typeck.c:4920 c-decl.c:3220 c-decl.c:3235
+ #, gcc-internal-format
+ msgid "variable-sized object may not be initialized"
+ msgstr "et objekt af variabel størrelse må ikke tildeles en startværdi"
+
+-#: c-typeck.c:4913
++#: c-typeck.c:4924
+ msgid "invalid initializer"
+ msgstr "ugyldig startværdi"
+
+-#: c-typeck.c:5387
++#: c-typeck.c:5398
+ msgid "extra brace group at end of initializer"
+ msgstr "overskydende krøllede paranteser ved slutningen af startværdien"
+
+-#: c-typeck.c:5407
++#: c-typeck.c:5418
+ msgid "missing braces around initializer"
+ msgstr "krøllede paranteser mangler omkring startværdien"
+
+-#: c-typeck.c:5468
++#: c-typeck.c:5479
+ msgid "braces around scalar initializer"
+ msgstr "krøllede paranteser omkring skalarstartværdi"
+
+ # RETMIG: eller er det fleksibel tabel-medlem
+-#: c-typeck.c:5525
++#: c-typeck.c:5536
+ msgid "initialization of flexible array member in a nested context"
+ msgstr "klargøring af fleksibelt tabelmedlem i en indlejret kontekst"
+
+-#: c-typeck.c:5527
++#: c-typeck.c:5538
+ msgid "initialization of a flexible array member"
+ msgstr "klargøring af fleksibelt tabelmedlem"
+
+-#: c-typeck.c:5554
++#: c-typeck.c:5565
+ msgid "missing initializer"
+ msgstr "manglende startværdi"
+
+-#: c-typeck.c:5576
++#: c-typeck.c:5587
+ msgid "empty scalar initializer"
+ msgstr "tom skalarstartværdi"
+
+-#: c-typeck.c:5581
++#: c-typeck.c:5592
+ msgid "extra elements in scalar initializer"
+ msgstr "overskydende elementer i skalarstarværdi"
+
+-#: c-typeck.c:5678 c-typeck.c:5738
++#: c-typeck.c:5689 c-typeck.c:5749
+ msgid "array index in non-array initializer"
+ msgstr "tabelindeks i en startværdi der ikke er en tabel"
+
+ # RETMIG: record?
+-#: c-typeck.c:5683 c-typeck.c:5791
++#: c-typeck.c:5694 c-typeck.c:5802
+ msgid "field name not in record or union initializer"
+ msgstr "feltnavn ikke i struktur- eller union-startværdi"
+
+-#: c-typeck.c:5729
++#: c-typeck.c:5740
+ #, fuzzy
+ msgid "array index in initializer not of integer type"
+ msgstr "tabelindeks i startværdi overskrider tabelgrænser"
+
+-#: c-typeck.c:5734 c-typeck.c:5736
++#: c-typeck.c:5745 c-typeck.c:5747
+ msgid "nonconstant array index in initializer"
+ msgstr "tabelindekset i startværdien er ikke en konstant"
+
+-#: c-typeck.c:5740 c-typeck.c:5743
++#: c-typeck.c:5751 c-typeck.c:5754
+ msgid "array index in initializer exceeds array bounds"
+ msgstr "tabelindeks i startværdi overskrider tabelgrænser"
+
+-#: c-typeck.c:5754
++#: c-typeck.c:5765
+ msgid "empty index range in initializer"
+ msgstr "tomt indeksinterval i startværdi"
+
+-#: c-typeck.c:5763
++#: c-typeck.c:5774
+ msgid "array index range in initializer exceeds array bounds"
+ msgstr "tabelindeksinterval i startværdi overskrider tabelgrænser"
+
+-#: c-typeck.c:5838 c-typeck.c:5861 c-typeck.c:6335
++#: c-typeck.c:5849 c-typeck.c:5872 c-typeck.c:6346
+ msgid "initialized field with side-effects overwritten"
+ msgstr "klargjort felt med bivirkninger overskrevet"
+
+-#: c-typeck.c:5840 c-typeck.c:5863 c-typeck.c:6337
++#: c-typeck.c:5851 c-typeck.c:5874 c-typeck.c:6348
+ #, fuzzy
+ msgid "initialized field overwritten"
+ msgstr "klargjort felt med bivirkninger overskrevet"
+
+-#: c-typeck.c:6545
++#: c-typeck.c:6556
+ msgid "excess elements in char array initializer"
+ msgstr "for mange elementer i char-tabelstartværdien"
+
+-#: c-typeck.c:6552 c-typeck.c:6598
++#: c-typeck.c:6563 c-typeck.c:6609
+ msgid "excess elements in struct initializer"
+ msgstr "for mange elementer i struct-startværdi"
+
+-#: c-typeck.c:6613
++#: c-typeck.c:6624
+ msgid "non-static initialization of a flexible array member"
+ msgstr "ikke-statisk klargøring af fleksibelt tabelmedlem"
+
+-#: c-typeck.c:6681
++#: c-typeck.c:6692
+ msgid "excess elements in union initializer"
+ msgstr "for mange elementer i union-startværdi"
+
+-#: c-typeck.c:6768
++#: c-typeck.c:6779
+ msgid "excess elements in array initializer"
+ msgstr "for mange elementer i tabelstartværdi"
+
+-#: c-typeck.c:6798
++#: c-typeck.c:6809
+ msgid "excess elements in vector initializer"
+ msgstr "for mange elementer i vektorstartværdi"
+
+-#: c-typeck.c:6822
++#: c-typeck.c:6833
+ msgid "excess elements in scalar initializer"
+ msgstr "for mange elementer i skalarstartværdi"
+
+-#: cfgrtl.c:1925
++#: cfgrtl.c:1923
+ msgid "flow control insn inside a basic block"
+ msgstr "strømkontrolinstruktion inden i en basisblok"
+
+-#: cfgrtl.c:2054
++#: cfgrtl.c:2052
+ msgid "wrong insn in the fallthru edge"
+ msgstr "forkert instruktion i fald-gennem-kant"
+
+-#: cfgrtl.c:2110
++#: cfgrtl.c:2108
+ msgid "insn outside basic block"
+ msgstr "instruktion uden for basisblok"
+
+-#: cfgrtl.c:2117
++#: cfgrtl.c:2115
+ msgid "return not followed by barrier"
+ msgstr "returnering følges ikke af barriere"
+
+-#: cgraph.c:339 ipa-inline.c:417
++#: cgraph.c:340 ipa-inline.c:417
+ #, fuzzy
+ msgid "function body not available"
+ msgstr "funktion kan ikke indbygges"
+
+-#: cgraph.c:341 cgraphbuild.c:96
++#: cgraph.c:342 cgraphbuild.c:96
+ #, fuzzy
+ msgid "redefined extern inline functions are not considered for inlining"
+ msgstr "Advar når en inline funktion ikke kan indbygges"
+
+-#: cgraph.c:344 cgraphbuild.c:103
++#: cgraph.c:345 cgraphbuild.c:103
+ #, fuzzy
+ msgid "function not considered for inlining"
+ msgstr "funktion kan ikke indbygges"
+
+-#: cgraph.c:346 cgraphbuild.c:99
++#: cgraph.c:347 cgraphbuild.c:99
+ #, fuzzy
+ msgid "function not inlinable"
+ msgstr "funktion kan ikke indbygges"
+@@ -669,87 +669,87 @@
+ msgid "mismatched arguments"
+ msgstr "uafbalancerede krøllede paranteser i specifikationer"
+
+-#: collect2.c:378 gcc.c:6897
++#: collect2.c:382 gcc.c:6896
+ #, fuzzy, c-format
+ msgid "internal gcc abort in %s, at %s:%d"
+ msgstr "afbrudt i %s ved %s:%d"
+
+-#: collect2.c:889
++#: collect2.c:903
+ #, c-format
+ msgid "no arguments"
+ msgstr "ingen parametre"
+
+-#: collect2.c:1263 collect2.c:1411 collect2.c:1446
++#: collect2.c:1277 collect2.c:1425 collect2.c:1460
+ #, c-format
+ msgid "fopen %s"
+ msgstr "fopen %s"
+
+-#: collect2.c:1266 collect2.c:1416 collect2.c:1449
++#: collect2.c:1280 collect2.c:1430 collect2.c:1463
+ #, c-format
+ msgid "fclose %s"
+ msgstr "fclose %s"
+
+-#: collect2.c:1275
++#: collect2.c:1289
+ #, c-format
+ msgid "collect2 version %s"
+ msgstr "collect2 version %s"
+
+-#: collect2.c:1365
++#: collect2.c:1379
+ #, c-format
+ msgid "%d constructor(s) found\n"
+ msgstr "%d konstruktionsfunktion(er) fundet\n"
+
+-#: collect2.c:1366
++#: collect2.c:1380
+ #, c-format
+ msgid "%d destructor(s) found\n"
+ msgstr "%d destruktionsfunktion(er) fundet\n"
+
+-#: collect2.c:1367
++#: collect2.c:1381
+ #, c-format
+ msgid "%d frame table(s) found\n"
+ msgstr "%d rammetabel(ler) fundet\n"
+
+-#: collect2.c:1504
++#: collect2.c:1518
+ #, fuzzy, c-format
+ msgid "can't get program status"
+ msgstr "%s: %s: kan ikke finde ud af filens status: %s\n"
+
+-#: collect2.c:1573
++#: collect2.c:1587
+ #, fuzzy, c-format
+ msgid "could not open response file %s"
+ msgstr "Kunne ikke åbne kildefilen %s.\n"
+
+-#: collect2.c:1578
++#: collect2.c:1592
+ #, fuzzy, c-format
+ msgid "could not write to response file %s"
+ msgstr "kunne ikke finde specifikationsfilen %s\n"
+
+-#: collect2.c:1583
++#: collect2.c:1597
+ #, fuzzy, c-format
+ msgid "could not close response file %s"
+ msgstr "Kunne ikke åbne kildefilen %s.\n"
+
+-#: collect2.c:1601
++#: collect2.c:1615
+ #, c-format
+ msgid "[cannot find %s]"
+ msgstr "[kan ikke finde %s]"
+
+-#: collect2.c:1616
++#: collect2.c:1630
+ #, fuzzy, c-format
+ msgid "cannot find '%s'"
+ msgstr "kan ikke finde '%s'"
+
+-#: collect2.c:1620 collect2.c:2112 collect2.c:2267 gcc.c:2978
++#: collect2.c:1634 collect2.c:2126 collect2.c:2281 gcc.c:2974
+ #, c-format
+ msgid "pex_init failed"
+ msgstr ""
+
+-#: collect2.c:1658
++#: collect2.c:1672
+ #, c-format
+ msgid "[Leaving %s]\n"
+ msgstr "[Efterlader %s]\n"
+
+-#: collect2.c:1878
++#: collect2.c:1892
+ #, c-format
+ msgid ""
+ "\n"
+@@ -758,32 +758,32 @@
+ "\n"
+ "write_c_file - uddatanavnet er %s, præfikset er %s\n"
+
+-#: collect2.c:2086
++#: collect2.c:2100
+ #, fuzzy, c-format
+ msgid "cannot find 'nm'"
+ msgstr "kan ikke finde 'nm'"
+
+-#: collect2.c:2133
++#: collect2.c:2147
+ #, fuzzy, c-format
+ msgid "can't open nm output"
+ msgstr "kan ikke åbne uddatafilen '%s'"
+
+-#: collect2.c:2177
++#: collect2.c:2191
+ #, c-format
+ msgid "init function found in object %s"
+ msgstr "klargøringsfunktion fundet i objekt %s"
+
+-#: collect2.c:2185
++#: collect2.c:2199
+ #, c-format
+ msgid "fini function found in object %s"
+ msgstr "afslutningsfunktion fundet i objekt %s"
+
+-#: collect2.c:2288
++#: collect2.c:2302
+ #, fuzzy, c-format
+ msgid "can't open ldd output"
+ msgstr "kan ikke åbne uddatafilen '%s'"
+
+-#: collect2.c:2291
++#: collect2.c:2305
+ #, c-format
+ msgid ""
+ "\n"
+@@ -792,27 +792,27 @@
+ "\n"
+ "ldd-uddata med konstruktions-/destruktionsfunktioner.\n"
+
+-#: collect2.c:2306
++#: collect2.c:2320
+ #, c-format
+ msgid "dynamic dependency %s not found"
+ msgstr "dynamisk afhængighed %s ikke fundet"
+
+-#: collect2.c:2318
++#: collect2.c:2332
+ #, c-format
+ msgid "unable to open dynamic dependency '%s'"
+ msgstr "kan ikke åbne den dynamiske afhængighed '%s'"
+
+-#: collect2.c:2474
++#: collect2.c:2488
+ #, c-format
+ msgid "%s: not a COFF file"
+ msgstr "%s: ikke en COFF-fil"
+
+-#: collect2.c:2594
++#: collect2.c:2608
+ #, c-format
+ msgid "%s: cannot open as COFF file"
+ msgstr "%s: kan ikke åbnes som en COFF-fil"
+
+-#: collect2.c:2652
++#: collect2.c:2666
+ #, c-format
+ msgid "library lib%s not found"
+ msgstr "biblioteket lib%s ikke fundet"
+@@ -862,41 +862,41 @@
+ msgid "negative insn length"
+ msgstr "negativ instruktionslængde"
+
+-#: final.c:2609
++#: final.c:2615
+ msgid "could not split insn"
+ msgstr "kunne ikke dele instruktion"
+
+-#: final.c:2979
++#: final.c:2992
+ #, fuzzy
+ msgid "invalid 'asm': "
+ msgstr "ugyldig 'asm': "
+
+-#: final.c:3162
++#: final.c:3175
+ #, c-format
+ msgid "nested assembly dialect alternatives"
+ msgstr "indlejrede alternativer for maskinkodedialekter"
+
+-#: final.c:3179 final.c:3191
++#: final.c:3192 final.c:3204
+ #, c-format
+ msgid "unterminated assembly dialect alternative"
+ msgstr "uafsluttet alternativ for maskinkodedialekt"
+
+-#: final.c:3238
++#: final.c:3251
+ #, c-format
+ msgid "operand number missing after %%-letter"
+ msgstr "operandtal mangler efter %%-letter"
+
+-#: final.c:3241 final.c:3282
++#: final.c:3254 final.c:3295
+ #, c-format
+ msgid "operand number out of range"
+ msgstr "operandtal er uden for det gyldige interval"
+
+-#: final.c:3301
++#: final.c:3314
+ #, c-format
+ msgid "invalid %%-code"
+ msgstr "ugyldig %%-kode"
+
+-#: final.c:3331
++#: final.c:3344
+ #, fuzzy, c-format
+ msgid "'%%l' operand isn't a label"
+ msgstr "'%%l'-operand er ikke en etiket"
+@@ -907,13 +907,13 @@
+ #. handle them.
+ #. We can't handle floating point constants;
+ #. PRINT_OPERAND must handle them.
+-#: final.c:3433 vmsdbgout.c:487 config/i386/i386.c:8143
++#: final.c:3446 vmsdbgout.c:487 config/i386/i386.c:8198
+ #: config/pdp11/pdp11.c:1704
+ #, c-format
+ msgid "floating constant misused"
+ msgstr "kommatalskonstant misbrugt"
+
+-#: final.c:3493 vmsdbgout.c:544 config/i386/i386.c:8224
++#: final.c:3507 vmsdbgout.c:544 config/i386/i386.c:8279
+ #: config/pdp11/pdp11.c:1751
+ #, c-format
+ msgid "invalid expression as operand"
+@@ -924,7 +924,7 @@
+ msgid "Using built-in specs.\n"
+ msgstr "Benytter indbyggede specifikationer.\n"
+
+-#: gcc.c:1887
++#: gcc.c:1883
+ #, c-format
+ msgid ""
+ "Setting spec %s to '%s'\n"
+@@ -933,42 +933,42 @@
+ "Sætter specifikation %s til '%s'\n"
+ "\n"
+
+-#: gcc.c:2002
++#: gcc.c:1998
+ #, c-format
+ msgid "Reading specs from %s\n"
+ msgstr "Læser specifikationer fra %s\n"
+
+-#: gcc.c:2098 gcc.c:2117
++#: gcc.c:2094 gcc.c:2113
+ #, c-format
+ msgid "specs %%include syntax malformed after %ld characters"
+ msgstr "%%include-syntaks i specifikationer misdannet efter %ld tegn"
+
+-#: gcc.c:2125
++#: gcc.c:2121
+ #, c-format
+ msgid "could not find specs file %s\n"
+ msgstr "kunne ikke finde specifikationsfilen %s\n"
+
+-#: gcc.c:2142 gcc.c:2150 gcc.c:2159 gcc.c:2168
++#: gcc.c:2138 gcc.c:2146 gcc.c:2155 gcc.c:2164
+ #, c-format
+ msgid "specs %%rename syntax malformed after %ld characters"
+ msgstr "%%rename-syntaks i specifikationer misdannet efter %ld tegn"
+
+-#: gcc.c:2177
++#: gcc.c:2173
+ #, c-format
+ msgid "specs %s spec was not found to be renamed"
+ msgstr "%s-specifikation i specifikationer kunne ikke findes til omdøbelse"
+
+-#: gcc.c:2184
++#: gcc.c:2180
+ #, c-format
+ msgid "%s: attempt to rename spec '%s' to already defined spec '%s'"
+ msgstr "%s: forsøg på at omdøbe specifikation '%s' til allerede defineret specifikation '%s'"
+
+-#: gcc.c:2189
++#: gcc.c:2185
+ #, c-format
+ msgid "rename spec %s to %s\n"
+ msgstr "omdøb specifikation %s til %s\n"
+
+-#: gcc.c:2191
++#: gcc.c:2187
+ #, c-format
+ msgid ""
+ "spec is '%s'\n"
+@@ -977,37 +977,37 @@
+ "specifikation er '%s'\n"
+ "\n"
+
+-#: gcc.c:2204
++#: gcc.c:2200
+ #, c-format
+ msgid "specs unknown %% command after %ld characters"
+ msgstr "ukendt %%-kommando i specifikationer efter %ld tegn"
+
+-#: gcc.c:2215 gcc.c:2228
++#: gcc.c:2211 gcc.c:2224
+ #, c-format
+ msgid "specs file malformed after %ld characters"
+ msgstr "specifikationsfil misdannet efter %ld tegn"
+
+-#: gcc.c:2281
++#: gcc.c:2277
+ #, c-format
+ msgid "spec file has no spec for linking"
+ msgstr "specifikationsfil har ingen specifikation til sammenkædning"
+
+-#: gcc.c:2609 gcc.c:4751
++#: gcc.c:2605 gcc.c:4745
+ #, c-format
+ msgid "%s\n"
+ msgstr "%s\n"
+
+-#: gcc.c:2809
++#: gcc.c:2805
+ #, fuzzy, c-format
+ msgid "system path '%s' is not absolute"
+ msgstr "reservering '%s' bliver ikke benyttet"
+
+-#: gcc.c:2872
++#: gcc.c:2868
+ #, c-format
+ msgid "-pipe not supported"
+ msgstr "-pipe understøttes ikke"
+
+-#: gcc.c:2934
++#: gcc.c:2930
+ #, c-format
+ msgid ""
+ "\n"
+@@ -1016,17 +1016,17 @@
+ "\n"
+ "Fortsæt, ja (y) eller nej (n)?"
+
+-#: gcc.c:3017
++#: gcc.c:3013
+ #, fuzzy
+ msgid "failed to get exit status"
+ msgstr "ld returnerede afslutningskoden %d"
+
+-#: gcc.c:3023
++#: gcc.c:3019
+ #, fuzzy
+ msgid "failed to get process times"
+ msgstr "kunne ikke finde klassen '%s'"
+
+-#: gcc.c:3049
++#: gcc.c:3045
+ #, c-format
+ msgid ""
+ "Internal error: %s (program %s)\n"
+@@ -1037,78 +1037,78 @@
+ "Indsend venligst en komplet fejlrapport.\n"
+ "Se %s for instruktioner."
+
+-#: gcc.c:3075
++#: gcc.c:3071
+ #, c-format
+ msgid "# %s %.2f %.2f\n"
+ msgstr "# %s %.2f %.2f\n"
+
+-#: gcc.c:3211
++#: gcc.c:3205
+ #, c-format
+ msgid "Usage: %s [options] file...\n"
+ msgstr "Brug: %s [tilvalg] fil...\n"
+
+-#: gcc.c:3212
++#: gcc.c:3206
+ msgid "Options:\n"
+ msgstr "Tilvalg:\n"
+
+-#: gcc.c:3214
++#: gcc.c:3208
+ msgid " -pass-exit-codes Exit with highest error code from a phase\n"
+ msgstr " -pass-exit-codes Afslut med den højeste fejlkode fra en fase\n"
+
+-#: gcc.c:3215
++#: gcc.c:3209
+ msgid " --help Display this information\n"
+ msgstr " --help Vis disse oplysninger\n"
+
+-#: gcc.c:3216
++#: gcc.c:3210
+ msgid " --target-help Display target specific command line options\n"
+ msgstr " --target-help Vis målspecifikke kommandolinjetilvalg\n"
+
+-#: gcc.c:3217
++#: gcc.c:3211
+ msgid " --help={target|optimizers|warnings|undocumented|params}[,{[^]joined|[^]separate}]\n"
+ msgstr ""
+
+-#: gcc.c:3218
++#: gcc.c:3212
+ #, fuzzy
+ msgid " Display specific types of command line options\n"
+ msgstr " --target-help Vis målspecifikke kommandolinjetilvalg\n"
+
+-#: gcc.c:3220
++#: gcc.c:3214
+ msgid " (Use '-v --help' to display command line options of sub-processes)\n"
+ msgstr " (benyt '-v --help' for at vise kommandolinjetilvalg for underprocesser)\n"
+
+-#: gcc.c:3221
++#: gcc.c:3215
+ msgid " -dumpspecs Display all of the built in spec strings\n"
+ msgstr " -dumpspecs Vis alle de indbyggede specifikationsstrenge\n"
+
+-#: gcc.c:3222
++#: gcc.c:3216
+ msgid " -dumpversion Display the version of the compiler\n"
+ msgstr " -dumpversion Vis versionsnummeret af oversætteren\n"
+
+-#: gcc.c:3223
++#: gcc.c:3217
+ msgid " -dumpmachine Display the compiler's target processor\n"
+ msgstr " -dumpmachine Vis oversætterens målprocessor\n"
+
+-#: gcc.c:3224
++#: gcc.c:3218
+ msgid " -print-search-dirs Display the directories in the compiler's search path\n"
+ msgstr " -print-search-dirs Vis katalogerne i oversætterens søgesti\n"
+
+-#: gcc.c:3225
++#: gcc.c:3219
+ msgid " -print-libgcc-file-name Display the name of the compiler's companion library\n"
+ msgstr " -print-libgcc-file-name Vis navnet på oversætterens tilhørende bibliotek\n"
+
+-#: gcc.c:3226
++#: gcc.c:3220
+ msgid " -print-file-name=<lib> Display the full path to library <lib>\n"
+ msgstr " -print-file-name=<bibl> Vis den komplette sti til biblioteket <bibl>\n"
+
+-#: gcc.c:3227
++#: gcc.c:3221
+ msgid " -print-prog-name=<prog> Display the full path to compiler component <prog>\n"
+ msgstr " -print-prog-name=<prog> Vis den komplette sti til oversætterkomponenten <prog>\n"
+
+-#: gcc.c:3228
++#: gcc.c:3222
+ msgid " -print-multi-directory Display the root directory for versions of libgcc\n"
+ msgstr " -print-multi-directory Vis rodkataloget for versioner af libgcc\n"
+
+-#: gcc.c:3229
++#: gcc.c:3223
+ msgid ""
+ " -print-multi-lib Display the mapping between command line options and\n"
+ " multiple library search directories\n"
+@@ -1116,110 +1116,110 @@
+ " -print-multi-lib Vis afbildningen mellem kommandolinjetilvalg og\n"
+ " flere bibliotekssøgekataloger\n"
+
+-#: gcc.c:3232
++#: gcc.c:3226
+ msgid " -print-multi-os-directory Display the relative path to OS libraries\n"
+ msgstr " -print-multi-os-directory Vis den relative sti for OS-biblioteker\n"
+
+-#: gcc.c:3233
++#: gcc.c:3227
+ msgid " -print-sysroot-headers-suffix Display the sysroot suffix used to find headers\n"
+ msgstr ""
+
+-#: gcc.c:3234
++#: gcc.c:3228
+ msgid " -Wa,<options> Pass comma-separated <options> on to the assembler\n"
+ msgstr " -Wa,<tilvalg> Videregiv komma-adskilte <tilvalg> til maskinkodeoversætteren\n"
+
+-#: gcc.c:3235
++#: gcc.c:3229
+ msgid " -Wp,<options> Pass comma-separated <options> on to the preprocessor\n"
+ msgstr " -Wp,<tilvalg> Videregiv komma-adskilte <tilvalg> til præprocessoren\n"
+
+-#: gcc.c:3236
++#: gcc.c:3230
+ msgid " -Wl,<options> Pass comma-separated <options> on to the linker\n"
+ msgstr " -Wl,<tilvalg> Videregiv komma-adskilte <tilvalg> til sammenkæderen\n"
+
+-#: gcc.c:3237
++#: gcc.c:3231
+ #, fuzzy
+ msgid " -Xassembler <arg> Pass <arg> on to the assembler\n"
+ msgstr " -Xlinker <para> Videregiv <para> til sammenkæderen\n"
+
+-#: gcc.c:3238
++#: gcc.c:3232
+ #, fuzzy
+ msgid " -Xpreprocessor <arg> Pass <arg> on to the preprocessor\n"
+ msgstr " -Xlinker <para> Videregiv <para> til sammenkæderen\n"
+
+-#: gcc.c:3239
++#: gcc.c:3233
+ msgid " -Xlinker <arg> Pass <arg> on to the linker\n"
+ msgstr " -Xlinker <para> Videregiv <para> til sammenkæderen\n"
+
+-#: gcc.c:3240
++#: gcc.c:3234
+ #, fuzzy
+ msgid " -combine Pass multiple source files to compiler at once\n"
+ msgstr " -o <fil> Anbring uddataene i <fil>\n"
+
+-#: gcc.c:3241
++#: gcc.c:3235
+ msgid " -save-temps Do not delete intermediate files\n"
+ msgstr " -save-temps Slet ikke midlertidige filer\n"
+
+-#: gcc.c:3242
++#: gcc.c:3236
+ msgid " -pipe Use pipes rather than intermediate files\n"
+ msgstr " -pipe Brug datakanaler i stedet for midlertidige filer\n"
+
+-#: gcc.c:3243
++#: gcc.c:3237
+ msgid " -time Time the execution of each subprocess\n"
+ msgstr " -time Tag tid på udførslen af hver underproces\n"
+
+-#: gcc.c:3244
++#: gcc.c:3238
+ msgid " -specs=<file> Override built-in specs with the contents of <file>\n"
+ msgstr " -specs=<fil> Overskriv indbyggede specifikationer med indholdet af <fil>\n"
+
+-#: gcc.c:3245
++#: gcc.c:3239
+ msgid " -std=<standard> Assume that the input sources are for <standard>\n"
+ msgstr " -std=<standard> Antag at inddatakildekoden er skrevet til <standard>\n"
+
+-#: gcc.c:3246
++#: gcc.c:3240
+ msgid ""
+ " --sysroot=<directory> Use <directory> as the root directory for headers\n"
+ " and libraries\n"
+ msgstr ""
+
+-#: gcc.c:3249
++#: gcc.c:3243
+ msgid " -B <directory> Add <directory> to the compiler's search paths\n"
+ msgstr " -B <katalog> Tilføj katalog til oversætterens søgestier\n"
+
+-#: gcc.c:3250
++#: gcc.c:3244
+ msgid " -b <machine> Run gcc for target <machine>, if installed\n"
+ msgstr " -b <maskine> Kør GCC til målet <maskine>, hvis installeret\n"
+
+-#: gcc.c:3251
++#: gcc.c:3245
+ msgid " -V <version> Run gcc version number <version>, if installed\n"
+ msgstr " -V <version> Kør GCC med versionsnummeret <version>, hvis installeret\n"
+
+-#: gcc.c:3252
++#: gcc.c:3246
+ msgid " -v Display the programs invoked by the compiler\n"
+ msgstr " -v Vis de programmer der startes af oversætteren\n"
+
+-#: gcc.c:3253
++#: gcc.c:3247
+ msgid " -### Like -v but options quoted and commands not executed\n"
+ msgstr ""
+ " -### Som '-v', men tilvalg anbringes i anførselstegn\n"
+ " og kommandoerne udføres ikke\n"
+
+-#: gcc.c:3254
++#: gcc.c:3248
+ msgid " -E Preprocess only; do not compile, assemble or link\n"
+ msgstr " -E Forbehandl kun; oversæt og sammenkæd ikke\n"
+
+-#: gcc.c:3255
++#: gcc.c:3249
+ msgid " -S Compile only; do not assemble or link\n"
+ msgstr " -S Oversæt kun; maskinekodeoversæt og sammenkæd ikke\n"
+
+-#: gcc.c:3256
++#: gcc.c:3250
+ msgid " -c Compile and assemble, but do not link\n"
+ msgstr " -c Oversæt, også til maskinkode, men sammenkæd ikke\n"
+
+-#: gcc.c:3257
++#: gcc.c:3251
+ msgid " -o <file> Place the output into <file>\n"
+ msgstr " -o <fil> Anbring uddataene i <fil>\n"
+
+-#: gcc.c:3258
++#: gcc.c:3252
+ msgid ""
+ " -x <language> Specify the language of the following input files\n"
+ " Permissible languages include: c c++ assembler none\n"
+@@ -1231,7 +1231,7 @@
+ " 'none' betyder at standardopførslen med at gætte\n"
+ " sproget på filendelsen udføres\n"
+
+-#: gcc.c:3265
++#: gcc.c:3259
+ #, c-format
+ msgid ""
+ "\n"
+@@ -1245,27 +1245,27 @@
+ " videregive andre indstillinger til disse processer kan tilvalg på formen\n"
+ " '-W<bogstav>' bruges.\n"
+
+-#: gcc.c:3389
++#: gcc.c:3383
+ #, fuzzy, c-format
+ msgid "'-%c' option must have argument"
+ msgstr "tilvalget '-%c' skal have en parameter"
+
+-#: gcc.c:3411
++#: gcc.c:3405
+ #, fuzzy, c-format
+ msgid "couldn't run '%s': %s"
+ msgstr "kunne ikke køre '%s': %s"
+
+ #. translate_options () has turned --version into -fversion.
+-#: gcc.c:3612
++#: gcc.c:3606
+ #, fuzzy, c-format
+ msgid "%s %s%s\n"
+ msgstr "I %s '%s':"
+
+-#: gcc.c:3615 gcov.c:426 fortran/gfortranspec.c:380 java/jcf-dump.c:1168
++#: gcc.c:3609 gcov.c:427 fortran/gfortranspec.c:380 java/jcf-dump.c:1168
+ msgid "(C)"
+ msgstr ""
+
+-#: gcc.c:3616 java/jcf-dump.c:1169
++#: gcc.c:3610 java/jcf-dump.c:1169
+ #, c-format
+ msgid ""
+ "This is free software; see the source for copying conditions. There is NO\n"
+@@ -1275,160 +1275,160 @@
+ "Dette er et frit program; se kildekoden for kopieringsbetingelser. Der er\n"
+ "INGEN garanti; ikke engang for SALGBARHED eller BRUGBARHED TIL NOGET FORMÅL.\n"
+
+-#: gcc.c:3728
++#: gcc.c:3722
+ #, fuzzy, c-format
+ msgid "argument to '-Xlinker' is missing"
+ msgstr "der mangler en parameter til '-Xlinker'"
+
+-#: gcc.c:3736
++#: gcc.c:3730
+ #, fuzzy, c-format
+ msgid "argument to '-Xpreprocessor' is missing"
+ msgstr "der mangler en parameter til '-specs'"
+
+-#: gcc.c:3743
++#: gcc.c:3737
+ #, fuzzy, c-format
+ msgid "argument to '-Xassembler' is missing"
+ msgstr "der mangler en parameter til '-Xlinker'"
+
+-#: gcc.c:3750
++#: gcc.c:3744
+ #, fuzzy, c-format
+ msgid "argument to '-l' is missing"
+ msgstr "der mangler en parameter til '-l'"
+
+-#: gcc.c:3771
++#: gcc.c:3765
+ #, fuzzy, c-format
+ msgid "argument to '-specs' is missing"
+ msgstr "der mangler en parameter til '-specs'"
+
+-#: gcc.c:3785
++#: gcc.c:3779
+ #, fuzzy, c-format
+ msgid "argument to '-specs=' is missing"
+ msgstr "der mangler en parameter til '-specs='"
+
+-#: gcc.c:3826
++#: gcc.c:3820
+ #, fuzzy, c-format
+ msgid "'-%c' must come at the start of the command line"
+ msgstr "'-%c' skal være i begyndelsen af kommandolinjen"
+
+-#: gcc.c:3835
++#: gcc.c:3829
+ #, fuzzy, c-format
+ msgid "argument to '-B' is missing"
+ msgstr "der mangler en parameter til '-B'"
+
+-#: gcc.c:4185
++#: gcc.c:4179
+ #, fuzzy, c-format
+ msgid "argument to '-x' is missing"
+ msgstr "der mangler en parameter til '-x'"
+
+-#: gcc.c:4213
++#: gcc.c:4207
+ #, fuzzy, c-format
+ msgid "argument to '-%s' is missing"
+ msgstr "der mangler en parameter til '-%s'"
+
+-#: gcc.c:4541
++#: gcc.c:4535
+ #, c-format
+ msgid "switch '%s' does not start with '-'"
+ msgstr ""
+
+-#: gcc.c:4685
++#: gcc.c:4679
+ #, c-format
+ msgid "spec '%s' invalid"
+ msgstr ""
+
+-#: gcc.c:4824
++#: gcc.c:4818
+ #, fuzzy, c-format
+ msgid "spec '%s' has invalid '%%0%c'"
+ msgstr "bitfeltet '%s' er af en ufuldstændig type"
+
+-#: gcc.c:5053
++#: gcc.c:5047
+ #, fuzzy, c-format
+ msgid "could not open temporary response file %s"
+ msgstr "kunne ikke åbne dumpningsfilen '%s'"
+
+-#: gcc.c:5059
++#: gcc.c:5053
+ #, fuzzy, c-format
+ msgid "could not write to temporary response file %s"
+ msgstr "kan ikke oprette midlertidig fil"
+
+-#: gcc.c:5065
++#: gcc.c:5059
+ #, fuzzy, c-format
+ msgid "could not close temporary response file %s"
+ msgstr "kunne ikke åbne dumpningsfilen '%s'"
+
+-#: gcc.c:5099
++#: gcc.c:5093
+ #, fuzzy, c-format
+ msgid "spec '%s' has invalid '%%W%c"
+ msgstr "bitfeltet '%s' er af en ufuldstændig type"
+
+-#: gcc.c:5119
++#: gcc.c:5113
+ #, fuzzy, c-format
+ msgid "spec '%s' has invalid '%%x%c'"
+ msgstr "bitfeltet '%s' er af en ufuldstændig type"
+
+-#: gcc.c:5341
++#: gcc.c:5335
+ #, c-format
+ msgid "Processing spec %c%s%c, which is '%s'\n"
+ msgstr "Behandler specifikation %c%s%c, som er '%s'\n"
+
+-#: gcc.c:5465
++#: gcc.c:5459
+ #, fuzzy, c-format
+ msgid "unknown spec function '%s'"
+ msgstr "ukendt specifikationsfunktion '%s'"
+
+-#: gcc.c:5484
++#: gcc.c:5478
+ #, fuzzy, c-format
+ msgid "error in args to spec function '%s'"
+ msgstr "fejl i parametre til specifikationsfunktion '%s'"
+
+-#: gcc.c:5532
++#: gcc.c:5526
+ #, c-format
+ msgid "malformed spec function name"
+ msgstr "forkert udformet specifikationsfunktionsnavn"
+
+ #. )
+-#: gcc.c:5535
++#: gcc.c:5529
+ #, c-format
+ msgid "no arguments for spec function"
+ msgstr "ingen parametre til specifikationsfunktion"
+
+-#: gcc.c:5554
++#: gcc.c:5548
+ #, c-format
+ msgid "malformed spec function arguments"
+ msgstr "forkert udformede specifikationsfunktionsparametre"
+
+-#: gcc.c:5800
++#: gcc.c:5794
+ #, c-format
+ msgid "braced spec '%s' is invalid at '%c'"
+ msgstr ""
+
+-#: gcc.c:5888
++#: gcc.c:5882
+ #, c-format
+ msgid "braced spec body '%s' is invalid"
+ msgstr ""
+
+-#: gcc.c:6421
++#: gcc.c:6420
+ #, c-format
+ msgid "install: %s%s\n"
+ msgstr "installering: %s%s\n"
+
+-#: gcc.c:6424
++#: gcc.c:6423
+ #, c-format
+ msgid "programs: %s\n"
+ msgstr "programmer: %s\n"
+
+-#: gcc.c:6426
++#: gcc.c:6425
+ #, c-format
+ msgid "libraries: %s\n"
+ msgstr "biblioteker: %s\n"
+
+ #. The error status indicates that only one set of fixed
+ #. headers should be built.
+-#: gcc.c:6480
++#: gcc.c:6479
+ #, c-format
+ msgid "not configured with sysroot headers suffix"
+ msgstr ""
+
+-#: gcc.c:6489
++#: gcc.c:6488
+ #, c-format
+ msgid ""
+ "\n"
+@@ -1437,47 +1437,47 @@
+ "\n"
+ "For fejlrapporteringsinstruktioner, se:\n"
+
+-#: gcc.c:6505
++#: gcc.c:6504
+ #, fuzzy, c-format
+ msgid "Target: %s\n"
+ msgstr "biblioteker: %s\n"
+
+-#: gcc.c:6506
++#: gcc.c:6505
+ #, c-format
+ msgid "Configured with: %s\n"
+ msgstr "Konfigureret med: %s\n"
+
+-#: gcc.c:6520
++#: gcc.c:6519
+ #, c-format
+ msgid "Thread model: %s\n"
+ msgstr "Trådmodel: %s\n"
+
+-#: gcc.c:6531
++#: gcc.c:6530
+ #, fuzzy, c-format
+ msgid "gcc version %s %s\n"
+ msgstr "GCC version %s\n"
+
+-#: gcc.c:6533
++#: gcc.c:6532
+ #, fuzzy, c-format
+ msgid "gcc driver version %s %sexecuting gcc version %s\n"
+ msgstr "GCC-styringsprogram version %s kører GCCc version %s\n"
+
+-#: gcc.c:6541
++#: gcc.c:6540
+ #, c-format
+ msgid "no input files"
+ msgstr "ingen inddatafiler"
+
+-#: gcc.c:6590
++#: gcc.c:6589
+ #, fuzzy, c-format
+ msgid "cannot specify -o with -c or -S with multiple files"
+ msgstr "kan ikke angive -o med -c eller -S og flere oversættelser"
+
+-#: gcc.c:6624
++#: gcc.c:6623
+ #, fuzzy, c-format
+ msgid "spec '%s' is invalid"
+ msgstr "typedef '%s' bliver tildelt en startværdi"
+
+-#: gcc.c:6760
++#: gcc.c:6759
+ #, c-format
+ msgid ""
+ "\n"
+@@ -1486,59 +1486,59 @@
+ "\n"
+ msgstr ""
+
+-#: gcc.c:6761
++#: gcc.c:6760
+ #, c-format
+ msgid ""
+ "Use \"-Wl,OPTION\" to pass \"OPTION\" to the linker.\n"
+ "\n"
+ msgstr ""
+
+-#: gcc.c:7112
++#: gcc.c:7111
+ #, fuzzy, c-format
+ msgid "multilib spec '%s' is invalid"
+ msgstr "typedef '%s' bliver tildelt en startværdi"
+
+-#: gcc.c:7303
++#: gcc.c:7302
+ #, fuzzy, c-format
+ msgid "multilib exclusions '%s' is invalid"
+ msgstr "flere felter i union '%T' tildeles startværdi"
+
+-#: gcc.c:7361 gcc.c:7502
++#: gcc.c:7360 gcc.c:7501
+ #, fuzzy, c-format
+ msgid "multilib select '%s' is invalid"
+ msgstr "skabelonsparameter %d er ugyldig"
+
+-#: gcc.c:7540
++#: gcc.c:7539
+ #, fuzzy, c-format
+ msgid "multilib exclusion '%s' is invalid"
+ msgstr "flere felter i union '%T' tildeles startværdi"
+
+-#: gcc.c:7746
++#: gcc.c:7745
+ #, fuzzy, c-format
+ msgid "environment variable \"%s\" not defined"
+ msgstr "miljøvariablen DJGPP er ikke defineret"
+
+-#: gcc.c:7837 gcc.c:7842
++#: gcc.c:7836 gcc.c:7841
+ #, fuzzy, c-format
+ msgid "invalid version number `%s'"
+ msgstr "ugyldigt versionsnummerformat"
+
+-#: gcc.c:7885
++#: gcc.c:7884
+ #, fuzzy, c-format
+ msgid "too few arguments to %%:version-compare"
+ msgstr "for få parametre til funktionen"
+
+-#: gcc.c:7891
++#: gcc.c:7890
+ #, fuzzy, c-format
+ msgid "too many arguments to %%:version-compare"
+ msgstr "for mange parametre til funktionen"
+
+-#: gcc.c:7932
++#: gcc.c:7931
+ #, c-format
+ msgid "unknown operator '%s' in %%:version-compare"
+ msgstr ""
+
+-#: gcc.c:7966
++#: gcc.c:7965
+ #, c-format
+ msgid ""
+ "Assembler options\n"
+@@ -1546,14 +1546,14 @@
+ "\n"
+ msgstr ""
+
+-#: gcc.c:7967
++#: gcc.c:7966
+ #, c-format
+ msgid ""
+ "Use \"-Wa,OPTION\" to pass \"OPTION\" to the assembler.\n"
+ "\n"
+ msgstr ""
+
+-#: gcov.c:399
++#: gcov.c:400
+ #, fuzzy, c-format
+ msgid ""
+ "Usage: gcov [OPTION]... SOURCEFILE...\n"
+@@ -1562,7 +1562,7 @@
+ "Brug: gcov [TILVALG]... KILDEFIL\n"
+ "\n"
+
+-#: gcov.c:400
++#: gcov.c:401
+ #, c-format
+ msgid ""
+ "Print code coverage information.\n"
+@@ -1571,66 +1571,66 @@
+ "Udskriv kodedækningsoplysninger.\n"
+ "\n"
+
+-#: gcov.c:401
++#: gcov.c:402
+ #, c-format
+ msgid " -h, --help Print this help, then exit\n"
+ msgstr " -h, --help Udskriv denne hjælp og afslut\n"
+
+-#: gcov.c:402
++#: gcov.c:403
+ #, c-format
+ msgid " -v, --version Print version number, then exit\n"
+ msgstr " -v, --version Udskriv versionsnummeret og afslut\n"
+
+-#: gcov.c:403
++#: gcov.c:404
+ #, c-format
+ msgid " -a, --all-blocks Show information for every basic block\n"
+ msgstr " -a, --all-blocks Vis oplysninger for alle basisblokke\n"
+
+-#: gcov.c:404
++#: gcov.c:405
+ #, c-format
+ msgid " -b, --branch-probabilities Include branch probabilities in output\n"
+ msgstr " -b, --branch-probabilities Medtag forgreningssandsynligheder i uddata\n"
+
+-#: gcov.c:405
++#: gcov.c:406
+ #, c-format
+ msgid ""
+ " -c, --branch-counts Given counts of branches taken\n"
+ " rather than percentages\n"
+ msgstr " -c, --branch-counts Antal forgreninger taget i stedet for procenter\n"
+
+-#: gcov.c:407
++#: gcov.c:408
+ #, c-format
+ msgid " -n, --no-output Do not create an output file\n"
+ msgstr " -n, --no-output Opret ikke en uddatafil\n"
+
+-#: gcov.c:408
++#: gcov.c:409
+ #, c-format
+ msgid ""
+ " -l, --long-file-names Use long output file names for included\n"
+ " source files\n"
+ msgstr " -l, --long-file-names Brug lange filnavne til inkluderede kildefiler\n"
+
+-#: gcov.c:410
++#: gcov.c:411
+ #, c-format
+ msgid " -f, --function-summaries Output summaries for each function\n"
+ msgstr " -f, --function-summaries Udskriv sammendrag for hver funktion\n"
+
+-#: gcov.c:411
++#: gcov.c:412
+ #, c-format
+ msgid " -o, --object-directory DIR|FILE Search for object files in DIR or called FILE\n"
+ msgstr " -o, --object-directory KAT|FIL Søg efter objektfiler i KAT eller kaldt FIL\n"
+
+-#: gcov.c:412
++#: gcov.c:413
+ #, c-format
+ msgid " -p, --preserve-paths Preserve all pathname components\n"
+ msgstr " -p, --preserve-paths Bevar alle stinavnskomponenter\n"
+
+-#: gcov.c:413
++#: gcov.c:414
+ #, c-format
+ msgid " -u, --unconditional-branches Show unconditional branch counts too\n"
+ msgstr " -u, --unconditional-branches Vis ubetingede forgreningstal også\n"
+
+-#: gcov.c:414
++#: gcov.c:415
+ #, c-format
+ msgid ""
+ "\n"
+@@ -1641,12 +1641,12 @@
+ "For fejlrapporteringsinstruktioner, se:\n"
+ "%s.\n"
+
+-#: gcov.c:424
++#: gcov.c:425
+ #, fuzzy, c-format
+ msgid "gcov %s%s\n"
+ msgstr "gcov (GCC) %s\n"
+
+-#: gcov.c:428
++#: gcov.c:429
+ #, fuzzy, c-format
+ msgid ""
+ "This is free software; see the source for copying conditions.\n"
+@@ -1657,206 +1657,206 @@
+ "Dette er et frit program; se kildekoden for kopieringsbetingelser. Der er\n"
+ "INGEN garanti; ikke engang for SALGBARHED eller BRUGBARHED TIL NOGET FORMÅL.\n"
+
+-#: gcov.c:524
++#: gcov.c:525
+ #, fuzzy, c-format
+ msgid "%s:no functions found\n"
+ msgstr "ingen cmd_strings fundet"
+
+-#: gcov.c:556 gcov.c:584 fortran/dump-parse-tree.c:63
++#: gcov.c:557 gcov.c:585 fortran/dump-parse-tree.c:63
+ #, fuzzy, c-format
+ msgid "\n"
+ msgstr ":\n"
+
+-#: gcov.c:571
++#: gcov.c:572
+ #, fuzzy, c-format
+ msgid "%s:creating '%s'\n"
+ msgstr "opretter %s"
+
+-#: gcov.c:575
++#: gcov.c:576
+ #, fuzzy, c-format
+ msgid "%s:error writing output file '%s'\n"
+ msgstr "Fejl ved skrivning af uddatafilen %s.\n"
+
+-#: gcov.c:580
++#: gcov.c:581
+ #, fuzzy, c-format
+ msgid "%s:could not open output file '%s'\n"
+ msgstr "Kunne ikke åbne uddatafilen %s.\n"
+
+-#: gcov.c:729
++#: gcov.c:730
+ #, fuzzy, c-format
+ msgid "%s:source file is newer than graph file '%s'\n"
+ msgstr "Advarsel: kildefil %s er nyere end %s\n"
+
+-#: gcov.c:734
++#: gcov.c:735
+ #, c-format
+ msgid "(the message is only displayed one per source file)\n"
+ msgstr ""
+
+-#: gcov.c:758
++#: gcov.c:759
+ #, fuzzy, c-format
+ msgid "%s:cannot open graph file\n"
+ msgstr "%s: kan ikke åbnes som en COFF-fil"
+
+-#: gcov.c:764
++#: gcov.c:765
+ #, fuzzy, c-format
+ msgid "%s:not a gcov graph file\n"
+ msgstr "%s: ikke en COFF-fil"
+
+-#: gcov.c:777
++#: gcov.c:778
+ #, fuzzy, c-format
+ msgid "%s:version '%.4s', prefer '%.4s'\n"
+ msgstr "%s:version `%.4s', foretræk '%.4s'\n"
+
+-#: gcov.c:829
++#: gcov.c:830
+ #, fuzzy, c-format
+ msgid "%s:already seen blocks for '%s'\n"
+ msgstr "%s:allerede set blokke for '%s'\n"
+
+-#: gcov.c:947
++#: gcov.c:948
+ #, c-format
+ msgid "%s:corrupted\n"
+ msgstr "%s:ødelagt\n"
+
+-#: gcov.c:1023
++#: gcov.c:1024
+ #, fuzzy, c-format
+ msgid "%s:cannot open data file, assuming not executed\n"
+ msgstr "%s: kan ikke åbne datafil\n"
+
+-#: gcov.c:1030
++#: gcov.c:1031
+ #, fuzzy, c-format
+ msgid "%s:not a gcov data file\n"
+ msgstr "%s:ikke en gcov-datafil\n"
+
+-#: gcov.c:1043
++#: gcov.c:1044
+ #, fuzzy, c-format
+ msgid "%s:version '%.4s', prefer version '%.4s'\n"
+ msgstr "%s:version `%.4s', foretræk version `%.4s'\n"
+
+-#: gcov.c:1049
++#: gcov.c:1050
+ #, c-format
+ msgid "%s:stamp mismatch with graph file\n"
+ msgstr ""
+
+-#: gcov.c:1078
++#: gcov.c:1079
+ #, fuzzy, c-format
+ msgid "%s:unknown function '%u'\n"
+ msgstr "%s:ukendt funktion '%u'\n"
+
+-#: gcov.c:1091
++#: gcov.c:1092
+ #, fuzzy, c-format
+ msgid "%s:profile mismatch for '%s'\n"
+ msgstr "%s før '%s'"
+
+-#: gcov.c:1110
++#: gcov.c:1111
+ #, fuzzy, c-format
+ msgid "%s:overflowed\n"
+ msgstr "%s: overløbsintervalfejl"
+
+-#: gcov.c:1134
++#: gcov.c:1135
+ #, c-format
+ msgid "%s:'%s' lacks entry and/or exit blocks\n"
+ msgstr ""
+
+-#: gcov.c:1139
++#: gcov.c:1140
+ #, c-format
+ msgid "%s:'%s' has arcs to entry block\n"
+ msgstr ""
+
+-#: gcov.c:1147
++#: gcov.c:1148
+ #, c-format
+ msgid "%s:'%s' has arcs from exit block\n"
+ msgstr ""
+
+-#: gcov.c:1355
++#: gcov.c:1356
+ #, fuzzy, c-format
+ msgid "%s:graph is unsolvable for '%s'\n"
+ msgstr "%s før '%s'"
+
+-#: gcov.c:1435
++#: gcov.c:1436
+ #, fuzzy, c-format
+ msgid "%s '%s'\n"
+ msgstr "I %s '%s':"
+
+-#: gcov.c:1438
++#: gcov.c:1439
+ #, fuzzy, c-format
+ msgid "Lines executed:%s of %d\n"
+ msgstr "%s af %d linjer udført i %s %s\n"
+
+-#: gcov.c:1442
++#: gcov.c:1443
+ #, fuzzy, c-format
+ msgid "No executable lines\n"
+ msgstr "Ingen kørbare linjer i %s %s\n"
+
+-#: gcov.c:1448
++#: gcov.c:1449
+ #, fuzzy, c-format
+ msgid "Branches executed:%s of %d\n"
+ msgstr "%s af %d forgreninger udført i %s %s\n"
+
+-#: gcov.c:1452
++#: gcov.c:1453
+ #, fuzzy, c-format
+ msgid "Taken at least once:%s of %d\n"
+ msgstr "%s af %d forgreninger valgt mindst én gang i %s %s\n"
+
+-#: gcov.c:1458
++#: gcov.c:1459
+ #, fuzzy, c-format
+ msgid "No branches\n"
+ msgstr "Ingen forgreninger i %s %s\n"
+
+-#: gcov.c:1460
++#: gcov.c:1461
+ #, fuzzy, c-format
+ msgid "Calls executed:%s of %d\n"
+ msgstr "%s af %d kald udført i %s %s\n"
+
+-#: gcov.c:1464
++#: gcov.c:1465
+ #, fuzzy, c-format
+ msgid "No calls\n"
+ msgstr "Ingen kald i %s %s\n"
+
+-#: gcov.c:1611
++#: gcov.c:1612
+ #, fuzzy, c-format
+ msgid "%s:no lines for '%s'\n"
+ msgstr "%s før '%s'"
+
+-#: gcov.c:1806
++#: gcov.c:1807
+ #, fuzzy, c-format
+ msgid "call %2d returned %s\n"
+ msgstr "kald %2d returnerer %s\n"
+
+-#: gcov.c:1811
++#: gcov.c:1812
+ #, c-format
+ msgid "call %2d never executed\n"
+ msgstr "kald %2d aldrig udført\n"
+
+-#: gcov.c:1816
++#: gcov.c:1817
+ #, fuzzy, c-format
+ msgid "branch %2d taken %s%s\n"
+ msgstr "forgrening %2d valgt %s\n"
+
+-#: gcov.c:1820
++#: gcov.c:1821
+ #, c-format
+ msgid "branch %2d never executed\n"
+ msgstr "forgrening %2d aldrig udført\n"
+
+-#: gcov.c:1825
++#: gcov.c:1826
+ #, c-format
+ msgid "unconditional %2d taken %s\n"
+ msgstr "ubetinget %2d valgt %s\n"
+
+-#: gcov.c:1828
++#: gcov.c:1829
+ #, c-format
+ msgid "unconditional %2d never executed\n"
+ msgstr "ubetinget %2d aldrig udført\n"
+
+-#: gcov.c:1864
++#: gcov.c:1865
+ #, c-format
+ msgid "%s:cannot open source file\n"
+ msgstr "%s:kan ikke åbne kildefil\n"
+
+-#: gcse.c:685
++#: gcse.c:679
+ msgid "GCSE disabled"
+ msgstr "GCSE deaktiveret"
+
+-#: gcse.c:6600
++#: gcse.c:6584
+ #, fuzzy
+ msgid "jump bypassing disabled"
+ msgstr "tilvalget -g deaktiveret"
+@@ -1941,92 +1941,92 @@
+ msgid " inlined from %qs"
+ msgstr "I filen inkluderet af %s:%u"
+
+-#: loop-iv.c:2805 tree-ssa-loop-niter.c:1818
++#: loop-iv.c:2806 tree-ssa-loop-niter.c:1818
+ msgid "assuming that the loop is not infinite"
+ msgstr ""
+
+-#: loop-iv.c:2806 tree-ssa-loop-niter.c:1819
++#: loop-iv.c:2807 tree-ssa-loop-niter.c:1819
+ msgid "cannot optimize possibly infinite loops"
+ msgstr ""
+
+-#: loop-iv.c:2814 tree-ssa-loop-niter.c:1823
++#: loop-iv.c:2815 tree-ssa-loop-niter.c:1823
+ msgid "assuming that the loop counter does not overflow"
+ msgstr ""
+
+-#: loop-iv.c:2815 tree-ssa-loop-niter.c:1824
++#: loop-iv.c:2816 tree-ssa-loop-niter.c:1824
+ msgid "cannot optimize loop, the loop counter may overflow"
+ msgstr ""
+
+ #. What to print when a switch has no documentation.
+-#: opts.c:348
++#: opts.c:340
+ msgid "This switch lacks documentation"
+ msgstr "Denne switch mangler dokumentation"
+
+-#: opts.c:1159
++#: opts.c:1161
+ msgid "[enabled]"
+ msgstr ""
+
+-#: opts.c:1159
++#: opts.c:1161
+ #, fuzzy
+ msgid "[disabled]"
+ msgstr "GCSE deaktiveret"
+
+-#: opts.c:1170
++#: opts.c:1172
+ #, c-format
+ msgid " No options with the desired characteristics were found\n"
+ msgstr ""
+
+-#: opts.c:1172
++#: opts.c:1174
+ #, c-format
+ msgid " All options with the desired characteristics have already been displayed\n"
+ msgstr ""
+
+-#: opts.c:1226
++#: opts.c:1228
+ #, fuzzy
+ msgid "The following options are target specific"
+ msgstr "De følgende tilvalg er sproguafhængige:\n"
+
+-#: opts.c:1229
++#: opts.c:1231
+ #, fuzzy
+ msgid "The following options control compiler warning messages"
+ msgstr "De følgende tilvalg er sproguafhængige:\n"
+
+-#: opts.c:1232
++#: opts.c:1234
+ #, fuzzy
+ msgid "The following options control optimizations"
+ msgstr "Udfør løkkeoptimeringerne"
+
+-#: opts.c:1235 opts.c:1273
++#: opts.c:1237 opts.c:1275
+ #, fuzzy
+ msgid "The following options are language-independent"
+ msgstr "De følgende tilvalg er sproguafhængige:\n"
+
+-#: opts.c:1238
++#: opts.c:1240
+ #, fuzzy
+ msgid "The --param option recognizes the following as parameters"
+ msgstr "Tilvalget --param genkender følgende som parametre:\n"
+
+-#: opts.c:1245
++#: opts.c:1247
+ #, fuzzy
+ msgid "The following options are specific to the language "
+ msgstr "De følgende tilvalg er sproguafhængige:\n"
+
+-#: opts.c:1249
++#: opts.c:1251
+ #, fuzzy
+ msgid "The following options are supported by the language "
+ msgstr "De følgende tilvalg er sproguafhængige:\n"
+
+-#: opts.c:1260
++#: opts.c:1262
+ #, fuzzy
+ msgid "The following options are not documented"
+ msgstr "De følgende tilvalg er sproguafhængige:\n"
+
+-#: opts.c:1271
++#: opts.c:1273
+ #, fuzzy
+ msgid "The following options are language-related"
+ msgstr "De følgende tilvalg er sproguafhængige:\n"
+
+-#: opts.c:1403
++#: opts.c:1405
+ #, c-format
+ msgid "warning: unrecognized argument to --help= switch: %.*s\n"
+ msgstr ""
+@@ -2342,7 +2342,7 @@
+ msgid "%s: input file names must have .c suffixes: %s\n"
+ msgstr "%s: inddatafilnavn skal have '.c'-endelser: %s\n"
+
+-#: reload.c:3734
++#: reload.c:3744
+ msgid "unable to generate reloads for:"
+ msgstr "kunne ikke generere genindlæsninger for:"
+
+@@ -2448,7 +2448,7 @@
+
+ #: toplev.c:1188
+ #, c-format
+-msgid "warning: %s header version %s differs from library version %s.\n"
++msgid "%s%swarning: %s header version %s differs from library version %s.\n"
+ msgstr ""
+
+ #: toplev.c:1190
+@@ -2456,32 +2456,32 @@
+ msgid "%s%sGGC heuristics: --param ggc-min-expand=%d --param ggc-min-heapsize=%d\n"
+ msgstr "%s%sGGC-heuristikker: --param ggc-min-expand=%d --param ggc-min-heapsize=%d\n"
+
+-#: toplev.c:1340
++#: toplev.c:1342
+ msgid "options passed: "
+ msgstr "tilvalg overbragt: "
+
+-#: toplev.c:1374
++#: toplev.c:1376
+ msgid "options enabled: "
+ msgstr "tilvalg slået til: "
+
+-#: toplev.c:1509
++#: toplev.c:1511
+ #, fuzzy, c-format
+ msgid "created and used with differing settings of '%s'"
+ msgstr "oprettet og brugt med en anden indstilling af '-m%s'"
+
+-#: toplev.c:1511
++#: toplev.c:1513
+ msgid "out of memory"
+ msgstr "løbet tør for hukommelse"
+
+-#: toplev.c:1526
++#: toplev.c:1528
+ msgid "created and used with different settings of -fpic"
+ msgstr ""
+
+-#: toplev.c:1528
++#: toplev.c:1530
+ msgid "created and used with different settings of -fpie"
+ msgstr ""
+
+-#: tree-inline.c:2571
++#: tree-inline.c:2657
+ #, fuzzy
+ msgid "originally indirect function call not considered for inlining"
+ msgstr "Advar når en inline funktion ikke kan indbygges"
+@@ -2542,7 +2542,7 @@
+ msgstr ""
+
+ #: params.def:93
+-msgid "The threshold ratio between current and hotest structure counts"
++msgid "The threshold ratio between current and hottest structure counts"
+ msgstr ""
+
+ #: params.def:110
+@@ -2970,114 +2970,122 @@
+ msgid "Maximum length of partial antic set when performing tree pre optimization"
+ msgstr ""
+
+-#: config/alpha/alpha.c:5015
++#: params.def:723
++msgid "Maximum size of a SCC before SCCVN stops processing a function"
++msgstr ""
++
++#: params.def:729
++msgid "Multiplier used for determining the double-queueing threshold"
++msgstr ""
++
++#: config/alpha/alpha.c:5023
+ #, c-format
+ msgid "invalid %%H value"
+ msgstr "ugyldig %%H-værdi"
+
+-#: config/alpha/alpha.c:5036 config/bfin/bfin.c:1423
++#: config/alpha/alpha.c:5044 config/bfin/bfin.c:1516
+ #, c-format
+ msgid "invalid %%J value"
+ msgstr "ugyldig %%J-værdi"
+
+-#: config/alpha/alpha.c:5066 config/ia64/ia64.c:4718
++#: config/alpha/alpha.c:5074 config/ia64/ia64.c:4719
+ #, c-format
+ msgid "invalid %%r value"
+ msgstr "ugyldig %%r-værdi"
+
+-#: config/alpha/alpha.c:5076 config/ia64/ia64.c:4672
+-#: config/rs6000/rs6000.c:11670 config/xtensa/xtensa.c:2036
++#: config/alpha/alpha.c:5084 config/ia64/ia64.c:4673
++#: config/rs6000/rs6000.c:11881 config/xtensa/xtensa.c:2042
+ #, c-format
+ msgid "invalid %%R value"
+ msgstr "ugyldig %%R-værdi"
+
+-#: config/alpha/alpha.c:5082 config/rs6000/rs6000.c:11589
+-#: config/xtensa/xtensa.c:2003
++#: config/alpha/alpha.c:5090 config/rs6000/rs6000.c:11800
++#: config/xtensa/xtensa.c:2009
+ #, c-format
+ msgid "invalid %%N value"
+ msgstr "ugyldig %%N-værdi"
+
+-#: config/alpha/alpha.c:5090 config/rs6000/rs6000.c:11617
++#: config/alpha/alpha.c:5098 config/rs6000/rs6000.c:11828
+ #, c-format
+ msgid "invalid %%P value"
+ msgstr "ugyldig %%P-værdi"
+
+-#: config/alpha/alpha.c:5098
++#: config/alpha/alpha.c:5106
+ #, c-format
+ msgid "invalid %%h value"
+ msgstr "ugyldig %%h-værdi"
+
+-#: config/alpha/alpha.c:5106 config/xtensa/xtensa.c:2029
++#: config/alpha/alpha.c:5114 config/xtensa/xtensa.c:2035
+ #, c-format
+ msgid "invalid %%L value"
+ msgstr "ugyldig %%L-værdi"
+
+-#: config/alpha/alpha.c:5145 config/rs6000/rs6000.c:11571
++#: config/alpha/alpha.c:5153 config/rs6000/rs6000.c:11782
+ #, c-format
+ msgid "invalid %%m value"
+ msgstr "ugyldig %%m-værdi"
+
+-#: config/alpha/alpha.c:5153 config/rs6000/rs6000.c:11579
++#: config/alpha/alpha.c:5161 config/rs6000/rs6000.c:11790
+ #, c-format
+ msgid "invalid %%M value"
+ msgstr "ugyldig %%M-værdi"
+
+-#: config/alpha/alpha.c:5197
++#: config/alpha/alpha.c:5205
+ #, c-format
+ msgid "invalid %%U value"
+ msgstr "ugyldig %%U-værdi"
+
+-#: config/alpha/alpha.c:5209 config/alpha/alpha.c:5223
+-#: config/rs6000/rs6000.c:11678
++#: config/alpha/alpha.c:5217 config/alpha/alpha.c:5231
++#: config/rs6000/rs6000.c:11889
+ #, c-format
+ msgid "invalid %%s value"
+ msgstr "ugyldig %%s-værdi"
+
+-#: config/alpha/alpha.c:5246
++#: config/alpha/alpha.c:5254
+ #, c-format
+ msgid "invalid %%C value"
+ msgstr "ugyldig %%C-værdi"
+
+-#: config/alpha/alpha.c:5283 config/rs6000/rs6000.c:11406
+-#: config/rs6000/rs6000.c:11425
++#: config/alpha/alpha.c:5291 config/rs6000/rs6000.c:11617
++#: config/rs6000/rs6000.c:11636
+ #, c-format
+ msgid "invalid %%E value"
+ msgstr "ugyldig %%E-værdi"
+
+-#: config/alpha/alpha.c:5308 config/alpha/alpha.c:5356
++#: config/alpha/alpha.c:5316 config/alpha/alpha.c:5364
+ #, c-format
+ msgid "unknown relocation unspec"
+ msgstr "ukendt relokaliserings-unspec"
+
+-#: config/alpha/alpha.c:5317 config/crx/crx.c:1081
+-#: config/rs6000/rs6000.c:12005 config/spu/spu.c:1492
++#: config/alpha/alpha.c:5325 config/crx/crx.c:1081
++#: config/rs6000/rs6000.c:12216 config/spu/spu.c:1482
+ #, c-format
+ msgid "invalid %%xn code"
+ msgstr "ugyldig %%xn-kode"
+
+-#: config/arc/arc.c:1724 config/m32r/m32r.c:1805
++#: config/arc/arc.c:1728 config/m32r/m32r.c:1805
+ #, c-format
+ msgid "invalid operand to %%R code"
+ msgstr "ugyldig operand til %%R-koden"
+
+-#: config/arc/arc.c:1756 config/m32r/m32r.c:1828
++#: config/arc/arc.c:1760 config/m32r/m32r.c:1828
+ #, c-format
+ msgid "invalid operand to %%H/%%L code"
+ msgstr "ugyldig operand til %%H/%%L-koden"
+
+-#: config/arc/arc.c:1778 config/m32r/m32r.c:1899
++#: config/arc/arc.c:1782 config/m32r/m32r.c:1899
+ #, c-format
+ msgid "invalid operand to %%U code"
+ msgstr "ugyldig operand til %%U-koden"
+
+-#: config/arc/arc.c:1789
++#: config/arc/arc.c:1793
+ #, c-format
+ msgid "invalid operand to %%V code"
+ msgstr "ugyldig operand til %%V-koden"
+
+ #. Unknown flag.
+ #. Undocumented flag.
+-#: config/arc/arc.c:1796 config/m32r/m32r.c:1926 config/sparc/sparc.c:6995
++#: config/arc/arc.c:1800 config/m32r/m32r.c:1926 config/sparc/sparc.c:6998
+ #, c-format
+ msgid "invalid operand output code"
+ msgstr "ugyldig operand-uddatakode"
+@@ -3102,9 +3110,9 @@
+ #: config/arm/arm.c:12830 config/arm/arm.c:12865 config/arm/arm.c:12884
+ #: config/arm/arm.c:12899 config/arm/arm.c:12927 config/arm/arm.c:12934
+ #: config/arm/arm.c:12942 config/arm/arm.c:12963 config/arm/arm.c:12970
+-#: config/bfin/bfin.c:1436 config/bfin/bfin.c:1443 config/bfin/bfin.c:1450
+-#: config/bfin/bfin.c:1457 config/bfin/bfin.c:1466 config/bfin/bfin.c:1473
+-#: config/bfin/bfin.c:1480 config/bfin/bfin.c:1487
++#: config/bfin/bfin.c:1529 config/bfin/bfin.c:1536 config/bfin/bfin.c:1543
++#: config/bfin/bfin.c:1550 config/bfin/bfin.c:1559 config/bfin/bfin.c:1566
++#: config/bfin/bfin.c:1573 config/bfin/bfin.c:1580
+ #, fuzzy, c-format
+ msgid "invalid operand for code '%c'"
+ msgstr "ugyldig operandkode '%c'"
+@@ -3119,244 +3127,162 @@
+ msgid "missing operand"
+ msgstr "manglende startparantes"
+
+-#: config/avr/avr.c:1022
++#: config/avr/avr.c:1062
+ #, fuzzy, c-format
+ msgid "address operand requires constraint for X, Y, or Z register"
+ msgstr "hexadecimal tegnkonstant kan ikke være i en byte"
+
+-#: config/avr/avr.c:1129
++#: config/avr/avr.c:1169
+ msgid "bad address, not (reg+disp):"
+ msgstr "ugyldig adresse, ikke (reg+disp):"
+
+-#: config/avr/avr.c:1136
++#: config/avr/avr.c:1176
+ #, fuzzy
+ msgid "bad address, not post_inc or pre_dec:"
+ msgstr "ugyldig adresse, ikke (reg+disp):"
+
+-#: config/avr/avr.c:1147
++#: config/avr/avr.c:1187
+ msgid "internal compiler error. Bad address:"
+ msgstr "intern oversætterfejl - ugyldig adresse:"
+
+-#: config/avr/avr.c:1160
++#: config/avr/avr.c:1200
+ msgid "internal compiler error. Unknown mode:"
+ msgstr "intern oversætterfejl - ugyldig tilstand:"
+
+-#: config/avr/avr.c:1775 config/avr/avr.c:2463
++#: config/avr/avr.c:1815 config/avr/avr.c:2503
+ msgid "invalid insn:"
+ msgstr "ugyldig instruktion:"
+
+-#: config/avr/avr.c:1814 config/avr/avr.c:1900 config/avr/avr.c:1949
+-#: config/avr/avr.c:1977 config/avr/avr.c:2072 config/avr/avr.c:2241
+-#: config/avr/avr.c:2502 config/avr/avr.c:2614
++#: config/avr/avr.c:1854 config/avr/avr.c:1940 config/avr/avr.c:1989
++#: config/avr/avr.c:2017 config/avr/avr.c:2112 config/avr/avr.c:2281
++#: config/avr/avr.c:2542 config/avr/avr.c:2654
+ msgid "incorrect insn:"
+ msgstr "ukorrekt instruktion:"
+
+-#: config/avr/avr.c:1996 config/avr/avr.c:2157 config/avr/avr.c:2312
+-#: config/avr/avr.c:2680
++#: config/avr/avr.c:2036 config/avr/avr.c:2197 config/avr/avr.c:2352
++#: config/avr/avr.c:2720
+ msgid "unknown move insn:"
+ msgstr "ukendt flytteinstruktion:"
+
+-#: config/avr/avr.c:2910
++#: config/avr/avr.c:2950
+ msgid "bad shift insn:"
+ msgstr "ugyldig skifteinstruktion:"
+
+-#: config/avr/avr.c:3026 config/avr/avr.c:3446 config/avr/avr.c:3804
++#: config/avr/avr.c:3066 config/avr/avr.c:3486 config/avr/avr.c:3844
+ msgid "internal compiler error. Incorrect shift:"
+ msgstr "intern oversætterfejl - ukorrekt skift:"
+
+-#: config/bfin/bfin.c:1385
++#: config/bfin/bfin.c:1478
+ #, c-format
+ msgid "invalid %%j value"
+ msgstr "ugyldig %%j-værdi"
+
+-#: config/bfin/bfin.c:1578
++#: config/bfin/bfin.c:1671
+ #, fuzzy, c-format
+ msgid "invalid const_double operand"
+ msgstr "ugyldige begrænsninger for operand"
+
+-#: config/c4x/c4x.c:1583
+-msgid "using CONST_DOUBLE for address"
+-msgstr "bruger CONST_DOUBLE til adresse"
+-
+-#: config/c4x/c4x.c:1721
+-msgid "c4x_address_cost: Invalid addressing mode"
+-msgstr "c4x_address_cost: Ugyldig adresseringstilstand"
+-
+-#: config/c4x/c4x.c:1856
+-#, c-format
+-msgid "c4x_print_operand: %%L inconsistency"
+-msgstr "c4x_print_operand: %%L-inkonsistens"
+-
+-#: config/c4x/c4x.c:1862
+-#, c-format
+-msgid "c4x_print_operand: %%N inconsistency"
+-msgstr "c4x_print_operand: %%N-inkonsistens"
+-
+-#: config/c4x/c4x.c:1903
+-#, c-format
+-msgid "c4x_print_operand: %%O inconsistency"
+-msgstr "c4x_print_operand: %%O-inkonsistens"
+-
+-#: config/c4x/c4x.c:1998
+-msgid "c4x_print_operand: Bad operand case"
+-msgstr "c4x_print_operand: Ugyldig operand-case"
+-
+-#: config/c4x/c4x.c:2039
+-msgid "c4x_print_operand_address: Bad post_modify"
+-msgstr "c4x_print_operand_address: Ugyldig post_modify"
+-
+-#: config/c4x/c4x.c:2061
+-msgid "c4x_print_operand_address: Bad pre_modify"
+-msgstr "c4x_print_operand_address: Ugyldig pre_modify"
+-
+-#: config/c4x/c4x.c:2109 config/c4x/c4x.c:2121 config/c4x/c4x.c:2136
+-msgid "c4x_print_operand_address: Bad operand case"
+-msgstr "c4x_print_operand_address: Ugyldig operand-case"
+-
+-#: config/c4x/c4x.c:2387
+-msgid "c4x_rptb_insert: Cannot find start label"
+-msgstr "c4x_rptb_insert: Kan ikke finde startetiket"
+-
+-#: config/c4x/c4x.c:2985
+-msgid "invalid indirect memory address"
+-msgstr "ugyldig indirekte hukommelsesadresse"
+-
+-#: config/c4x/c4x.c:3074
+-msgid "invalid indirect (S) memory address"
+-msgstr "ugyldig indirekte (S) hukommelsesadresse"
+-
+-#: config/c4x/c4x.c:3409
+-msgid "c4x_valid_operands: Internal error"
+-msgstr "c4x_valid_operands: Intern fejl"
+-
+-#: config/c4x/c4x.c:3848
+-msgid "c4x_operand_subword: invalid mode"
+-msgstr "c4x_operand_subword: ugyldig tilstand"
+-
+-#: config/c4x/c4x.c:3851
+-msgid "c4x_operand_subword: invalid operand"
+-msgstr "c4x_operand_subword: ugyldig operand"
+-
+-#. We could handle these with some difficulty.
+-#. e.g., *p-- => *(p-=2); *(p+1).
+-#: config/c4x/c4x.c:3877
+-msgid "c4x_operand_subword: invalid autoincrement"
+-msgstr "c4x_operand_subword: ugyldig selvforøgelse"
+-
+-#: config/c4x/c4x.c:3883
+-msgid "c4x_operand_subword: invalid address"
+-msgstr "c4x_operand_subword: ugyldig adresse"
+-
+-#: config/c4x/c4x.c:3894
+-msgid "c4x_operand_subword: address not offsettable"
+-msgstr "c4x_operand_subword: adresse kan ikke tilføjes et offset"
+-
+-#: config/c4x/c4x.c:4096
+-#, fuzzy
+-msgid "c4x_rptb_rpts_p: Repeat block top label moved"
+-msgstr "c4x_rptb_rpts_p: Topetiket til gentagelsesblok flyttet\n"
+-
+ #. Use `%s' to print the string in case there are any escape
+ #. characters in the message.
+-#: config/cris/cris.c:491 fortran/dump-parse-tree.c:78
+-#: fortran/dump-parse-tree.c:430 fortran/dump-parse-tree.c:776
+-#: fortran/dump-parse-tree.c:821 c-typeck.c:4607 c-typeck.c:4622
+-#: c-typeck.c:4637 final.c:2984 final.c:2986 gcc.c:4737 loop-iv.c:2807
+-#: loop-iv.c:2816 rtl-error.c:112 toplev.c:610 tree-ssa-loop-niter.c:1829
+-#: cp/parser.c:2188 cp/typeck.c:4559 java/expr.c:409
++#: config/cris/cris.c:504 fortran/dump-parse-tree.c:78
++#: fortran/dump-parse-tree.c:430 fortran/dump-parse-tree.c:798
++#: fortran/dump-parse-tree.c:843 c-typeck.c:4618 c-typeck.c:4633
++#: c-typeck.c:4648 final.c:2997 final.c:2999 gcc.c:4731 loop-iv.c:2808
++#: loop-iv.c:2817 rtl-error.c:112 toplev.c:610 tree-ssa-loop-niter.c:1829
++#: cp/parser.c:2192 cp/typeck.c:4567 java/expr.c:409
+ #, gcc-internal-format
+ msgid "%s"
+ msgstr "%s"
+
+-#: config/cris/cris.c:542
++#: config/cris/cris.c:555
+ msgid "unexpected index-type in cris_print_index"
+ msgstr "uventet indekstype i cris_print_index"
+
+-#: config/cris/cris.c:556
++#: config/cris/cris.c:572
+ msgid "unexpected base-type in cris_print_base"
+ msgstr "uventet grundtype in cris_print_base"
+
+-#: config/cris/cris.c:672
++#: config/cris/cris.c:688
+ msgid "invalid operand for 'b' modifier"
+ msgstr "ugyldig operand til 'b'-ændring"
+
+-#: config/cris/cris.c:689
++#: config/cris/cris.c:705
+ #, fuzzy
+ msgid "invalid operand for 'o' modifier"
+ msgstr "ugyldig operand til 'b'-ændring"
+
+-#: config/cris/cris.c:708
++#: config/cris/cris.c:724
+ #, fuzzy
+ msgid "invalid operand for 'O' modifier"
+ msgstr "ugyldig operand til 'b'-ændring"
+
+-#: config/cris/cris.c:741
++#: config/cris/cris.c:757
+ msgid "invalid operand for 'p' modifier"
+ msgstr "ugyldig operand til 'p'-ændring"
+
+-#: config/cris/cris.c:780
++#: config/cris/cris.c:796
+ msgid "invalid operand for 'z' modifier"
+ msgstr "ugyldig operand til 'z'-ændring"
+
+-#: config/cris/cris.c:834 config/cris/cris.c:864
++#: config/cris/cris.c:860 config/cris/cris.c:894
+ msgid "invalid operand for 'H' modifier"
+ msgstr "ugyldig operand til 'H'-ændring"
+
+-#: config/cris/cris.c:840
++#: config/cris/cris.c:870
+ msgid "bad register"
+ msgstr "ugyldigt register"
+
+-#: config/cris/cris.c:884
++#: config/cris/cris.c:914
+ msgid "invalid operand for 'e' modifier"
+ msgstr "ugyldig operand til 'e'-ændring"
+
+-#: config/cris/cris.c:901
++#: config/cris/cris.c:931
+ msgid "invalid operand for 'm' modifier"
+ msgstr "ugyldig operand til 'm'-ændring"
+
+-#: config/cris/cris.c:926
++#: config/cris/cris.c:956
+ msgid "invalid operand for 'A' modifier"
+ msgstr "ugyldig operand til 'A'-ændring"
+
+-#: config/cris/cris.c:949
++#: config/cris/cris.c:979
+ msgid "invalid operand for 'D' modifier"
+ msgstr "ugyldig operand til 'D'-ændring"
+
+-#: config/cris/cris.c:963
++#: config/cris/cris.c:993
+ msgid "invalid operand for 'T' modifier"
+ msgstr "ugyldig operand til 'T'-ændring"
+
+-#: config/cris/cris.c:972
++#: config/cris/cris.c:1013
+ msgid "invalid operand modifier letter"
+ msgstr "ugyldigt operandændringsbogstav"
+
+-#: config/cris/cris.c:1029
++#: config/cris/cris.c:1070
+ msgid "unexpected multiplicative operand"
+ msgstr "uventet multiplikativ operand"
+
+-#: config/cris/cris.c:1049
++#: config/cris/cris.c:1090
+ msgid "unexpected operand"
+ msgstr "uventet operand"
+
+-#: config/cris/cris.c:1082 config/cris/cris.c:1092
++#: config/cris/cris.c:1123 config/cris/cris.c:1133
+ msgid "unrecognized address"
+ msgstr "ukendt adresse"
+
+-#: config/cris/cris.c:2019
++#: config/cris/cris.c:2209
+ msgid "unrecognized supposed constant"
+ msgstr "ukendt formodet konstant"
+
+-#: config/cris/cris.c:2394 config/cris/cris.c:2458
++#: config/cris/cris.c:2638 config/cris/cris.c:2702
+ msgid "unexpected side-effects in address"
+ msgstr "uventede bivirkninger i adresse"
+
+ #. Can't possibly get a GOT-needing-fixup for a function-call,
+ #. right?
+-#: config/cris/cris.c:3253
++#: config/cris/cris.c:3539
+ msgid "Unidentifiable call op"
+ msgstr ""
+
+-#: config/cris/cris.c:3304
++#: config/cris/cris.c:3590
+ #, c-format
+ msgid "PIC register isn't set up"
+ msgstr "PIC-register er ikke sat op"
+@@ -3407,97 +3333,97 @@
+ msgid "fr30_print_operand: unhandled MEM"
+ msgstr "fr30_print_operand: ikke-håndteret MEM"
+
+-#: config/frv/frv.c:2542
++#: config/frv/frv.c:2546
+ #, fuzzy
+ msgid "bad insn to frv_print_operand_address:"
+ msgstr "Ugyldig instruktion til frv_print_operand_address:"
+
+-#: config/frv/frv.c:2553
++#: config/frv/frv.c:2557
+ #, fuzzy
+ msgid "bad register to frv_print_operand_memory_reference_reg:"
+ msgstr "Ugyldigt register til frv_print_operand_memory_reference_reg:"
+
+-#: config/frv/frv.c:2592 config/frv/frv.c:2602 config/frv/frv.c:2611
+-#: config/frv/frv.c:2632 config/frv/frv.c:2637
++#: config/frv/frv.c:2596 config/frv/frv.c:2606 config/frv/frv.c:2615
++#: config/frv/frv.c:2636 config/frv/frv.c:2641
+ #, fuzzy
+ msgid "bad insn to frv_print_operand_memory_reference:"
+ msgstr "Ugyldig instruktion til frv_print_operand_memory_reference:"
+
+-#: config/frv/frv.c:2723
++#: config/frv/frv.c:2727
+ #, fuzzy, c-format
+ msgid "bad condition code"
+ msgstr "ugyldig indbygget fcode"
+
+-#: config/frv/frv.c:2798
++#: config/frv/frv.c:2802
+ #, fuzzy
+ msgid "bad insn in frv_print_operand, bad const_double"
+ msgstr "Ugyldig instruktion i frv_print_operand, ugyldig const_double"
+
+-#: config/frv/frv.c:2859
++#: config/frv/frv.c:2863
+ #, fuzzy
+ msgid "bad insn to frv_print_operand, 'e' modifier:"
+ msgstr "Ugyldig instruktion til frv_print_operand, 'e'-modifikation:"
+
+-#: config/frv/frv.c:2867
++#: config/frv/frv.c:2871
+ #, fuzzy
+ msgid "bad insn to frv_print_operand, 'F' modifier:"
+ msgstr "Ugyldig instruktion til frv_print_operand, 'F'-modifikation:"
+
+-#: config/frv/frv.c:2883
++#: config/frv/frv.c:2887
+ #, fuzzy
+ msgid "bad insn to frv_print_operand, 'f' modifier:"
+ msgstr "Ugyldig instruktion til frv_print_operand, 'f'-modifikation:"
+
+-#: config/frv/frv.c:2897
++#: config/frv/frv.c:2901
+ #, fuzzy
+ msgid "bad insn to frv_print_operand, 'g' modifier:"
+ msgstr "Ugyldig instruktionen til frv_print_operand, 'C'-modifikation:"
+
+-#: config/frv/frv.c:2945
++#: config/frv/frv.c:2949
+ #, fuzzy
+ msgid "bad insn to frv_print_operand, 'L' modifier:"
+ msgstr "Ugyldig instruktion til frv_print_operand, 'L'-modifikation:"
+
+-#: config/frv/frv.c:2958
++#: config/frv/frv.c:2962
+ #, fuzzy
+ msgid "bad insn to frv_print_operand, 'M/N' modifier:"
+ msgstr "Ugyldig instruktion til frv_print_operand, 'M/N'-modifikation:"
+
+-#: config/frv/frv.c:2979
++#: config/frv/frv.c:2983
+ #, fuzzy
+ msgid "bad insn to frv_print_operand, 'O' modifier:"
+ msgstr "Ugyldig instruktion til frv_print_operand, 'O'-modifikation:"
+
+-#: config/frv/frv.c:2997
++#: config/frv/frv.c:3001
+ #, fuzzy
+ msgid "bad insn to frv_print_operand, P modifier:"
+ msgstr "Ugyldig instruktion til frv_print_operand, P-modifikation:"
+
+-#: config/frv/frv.c:3017
++#: config/frv/frv.c:3021
+ #, fuzzy
+ msgid "bad insn in frv_print_operand, z case"
+ msgstr "Ugyldig instruktion i frv_print_operand, tilfældet z"
+
+-#: config/frv/frv.c:3048
++#: config/frv/frv.c:3052
+ #, fuzzy
+ msgid "bad insn in frv_print_operand, 0 case"
+ msgstr "Ugyldig instruktion i frv_print_operand, tilfældet 0"
+
+-#: config/frv/frv.c:3053
++#: config/frv/frv.c:3057
+ msgid "frv_print_operand: unknown code"
+ msgstr "fr_print_operand: ukendt kode"
+
+-#: config/frv/frv.c:4422
++#: config/frv/frv.c:4426
+ #, fuzzy
+ msgid "bad output_move_single operand"
+ msgstr "Ugyldig output_move_single-operand"
+
+-#: config/frv/frv.c:4549
++#: config/frv/frv.c:4553
+ #, fuzzy
+ msgid "bad output_move_double operand"
+ msgstr "Ugyldig output_move_double-operand"
+
+-#: config/frv/frv.c:4691
++#: config/frv/frv.c:4695
+ #, fuzzy
+ msgid "bad output_condmove_single operand"
+ msgstr "Ugyldig output_condmove_single-operand"
+@@ -3516,27 +3442,27 @@
+ msgid " (frv)"
+ msgstr " (frv)"
+
+-#: config/i386/i386.c:8218
++#: config/i386/i386.c:8273
+ #, c-format
+ msgid "invalid UNSPEC as operand"
+ msgstr "ugyldig UNSPEC som operand"
+
+-#: config/i386/i386.c:8924
++#: config/i386/i386.c:8979
+ #, c-format
+ msgid "operand is neither a constant nor a condition code, invalid operand code 'c'"
+ msgstr "operand er hverken en konstant eller en betingelseskode, ugyldig operandkode 'c'"
+
+-#: config/i386/i386.c:9040
++#: config/i386/i386.c:9095
+ #, fuzzy, c-format
+ msgid "invalid operand code '%c'"
+ msgstr "ugyldig operandkode '%c'"
+
+-#: config/i386/i386.c:9089
++#: config/i386/i386.c:9144
+ #, c-format
+ msgid "invalid constraints for operand"
+ msgstr "ugyldige begrænsninger for operand"
+
+-#: config/i386/i386.c:16348
++#: config/i386/i386.c:16423
+ msgid "unknown insn mode"
+ msgstr "ukendt instruktionstilstand"
+
+@@ -3557,37 +3483,37 @@
+ msgid "environment variable DJGPP points to corrupt file '%s'"
+ msgstr "miljøvariablen DJGPP peger på den ødelagte fil '%s'"
+
+-#: config/ia64/ia64.c:4770
++#: config/ia64/ia64.c:4771
+ #, c-format
+ msgid "ia64_print_operand: unknown code"
+ msgstr "ia64_print_operand: ukendt kode"
+
+-#: config/ia64/ia64.c:9889
++#: config/ia64/ia64.c:9890
+ #, fuzzy
+ msgid "invalid conversion from %<__fpreg%>"
+ msgstr "ugyldig konvertering fra '%T' til '%T'"
+
+-#: config/ia64/ia64.c:9892
++#: config/ia64/ia64.c:9893
+ #, fuzzy
+ msgid "invalid conversion to %<__fpreg%>"
+ msgstr "ugyldig omdannelse til typen '%T' fra typen '%T'"
+
+-#: config/ia64/ia64.c:9905 config/ia64/ia64.c:9916
++#: config/ia64/ia64.c:9906 config/ia64/ia64.c:9917
+ #, fuzzy
+ msgid "invalid operation on %<__fpreg%>"
+ msgstr "ugyldig operand til %%p-koden"
+
+-#: config/iq2000/iq2000.c:3118
++#: config/iq2000/iq2000.c:3122
+ #, c-format
+ msgid "invalid %%P operand"
+ msgstr "ugyldig %%P-operand"
+
+-#: config/iq2000/iq2000.c:3126 config/rs6000/rs6000.c:11607
++#: config/iq2000/iq2000.c:3130 config/rs6000/rs6000.c:11818
+ #, c-format
+ msgid "invalid %%p value"
+ msgstr "ugyldig %%p-værdi"
+
+-#: config/iq2000/iq2000.c:3182
++#: config/iq2000/iq2000.c:3186
+ #, c-format
+ msgid "invalid use of %%d, %%x, or %%X"
+ msgstr "ugyldigt brug af %%d, %%x eller %%X"
+@@ -3629,7 +3555,7 @@
+ msgstr "postfiks forøgelsesadresse er ikke et register"
+
+ #: config/m32r/m32r.c:2030 config/m32r/m32r.c:2044
+-#: config/rs6000/rs6000.c:19870
++#: config/rs6000/rs6000.c:20087
+ msgid "bad address"
+ msgstr "ugyldig adresse"
+
+@@ -3675,59 +3601,59 @@
+ msgid "invalid Z register replacement for insn"
+ msgstr "ugyldig Z-registererstatning for instruktion"
+
+-#: config/mips/mips.c:6313 config/mips/mips.c:6334 config/mips/mips.c:6438
++#: config/mips/mips.c:6371 config/mips/mips.c:6392 config/mips/mips.c:6496
+ #, fuzzy, c-format
+ msgid "'%%%c' is not a valid operand prefix"
+ msgstr "'%T' er ikke et gyldigt udtryk"
+
+-#: config/mips/mips.c:6382 config/mips/mips.c:6389 config/mips/mips.c:6396
+-#: config/mips/mips.c:6456
++#: config/mips/mips.c:6440 config/mips/mips.c:6447 config/mips/mips.c:6454
++#: config/mips/mips.c:6514
+ #, fuzzy, c-format
+ msgid "invalid use of '%%%c'"
+ msgstr "ugyldig brug af '%D"
+
+-#: config/mips/mips.c:6701
++#: config/mips/mips.c:6761
+ msgid "mips_debugger_offset called with non stack/frame/arg pointer"
+ msgstr ""
+
+-#: config/mmix/mmix.c:1487 config/mmix/mmix.c:1617
++#: config/mmix/mmix.c:1483 config/mmix/mmix.c:1613
+ msgid "MMIX Internal: Expected a CONST_INT, not this"
+ msgstr "MMIX-intern: Forventede en CONST_INT, ikke dette"
+
+-#: config/mmix/mmix.c:1566
++#: config/mmix/mmix.c:1562
+ msgid "MMIX Internal: Bad value for 'm', not a CONST_INT"
+ msgstr "MMIX-intern: Ugyldigt værdi for 'm', ikke en CONST_INT"
+
+-#: config/mmix/mmix.c:1585
++#: config/mmix/mmix.c:1581
+ msgid "MMIX Internal: Expected a register, not this"
+ msgstr "MMIX-intern: Forventede et register, ikke dette"
+
+-#: config/mmix/mmix.c:1595
++#: config/mmix/mmix.c:1591
+ msgid "MMIX Internal: Expected a constant, not this"
+ msgstr "MMIX-intern: Forventede en konstant, ikke dette"
+
+ #. We need the original here.
+-#: config/mmix/mmix.c:1679
++#: config/mmix/mmix.c:1675
+ msgid "MMIX Internal: Cannot decode this operand"
+ msgstr "MMIX-intern: Kan ikke dekode denne operand"
+
+-#: config/mmix/mmix.c:1736
++#: config/mmix/mmix.c:1732
+ msgid "MMIX Internal: This is not a recognized address"
+ msgstr "MMIX-intern: Dette er ikke en genkendt adresse"
+
+-#: config/mmix/mmix.c:2669
++#: config/mmix/mmix.c:2665
+ msgid "MMIX Internal: Trying to output invalidly reversed condition:"
+ msgstr "MMIX-intern: Forsøger at udskrive ugyldigt omvendt betingelse:"
+
+-#: config/mmix/mmix.c:2676
++#: config/mmix/mmix.c:2672
+ msgid "MMIX Internal: What's the CC of this?"
+ msgstr "MMIX-intern: Hvad er CC af dette?"
+
+-#: config/mmix/mmix.c:2680
++#: config/mmix/mmix.c:2676
+ msgid "MMIX Internal: What is the CC of this?"
+ msgstr "MMIX-intern: Hvad er CC af dette?"
+
+-#: config/mmix/mmix.c:2744
++#: config/mmix/mmix.c:2740
+ msgid "MMIX Internal: This is not a constant:"
+ msgstr "MMIX-intern: Dette er ikke en konstant:"
+
+@@ -3755,82 +3681,82 @@
+ msgid "Try running '%s' in the shell to raise its limit.\n"
+ msgstr ""
+
+-#: config/rs6000/rs6000.c:11434
++#: config/rs6000/rs6000.c:11645
+ #, c-format
+ msgid "invalid %%f value"
+ msgstr "ugyldig %%f-værdi"
+
+-#: config/rs6000/rs6000.c:11443
++#: config/rs6000/rs6000.c:11654
+ #, c-format
+ msgid "invalid %%F value"
+ msgstr "ugyldig %%F-værdi"
+
+-#: config/rs6000/rs6000.c:11452
++#: config/rs6000/rs6000.c:11663
+ #, c-format
+ msgid "invalid %%G value"
+ msgstr "ugyldig %%G-værdi"
+
+-#: config/rs6000/rs6000.c:11487
++#: config/rs6000/rs6000.c:11698
+ #, c-format
+ msgid "invalid %%j code"
+ msgstr "ugyldig %%j-kode"
+
+-#: config/rs6000/rs6000.c:11497
++#: config/rs6000/rs6000.c:11708
+ #, c-format
+ msgid "invalid %%J code"
+ msgstr "ugyldig %%J-kode"
+
+-#: config/rs6000/rs6000.c:11507
++#: config/rs6000/rs6000.c:11718
+ #, c-format
+ msgid "invalid %%k value"
+ msgstr "ugyldig %%k-værdi"
+
+-#: config/rs6000/rs6000.c:11527 config/xtensa/xtensa.c:2022
++#: config/rs6000/rs6000.c:11738 config/xtensa/xtensa.c:2028
+ #, c-format
+ msgid "invalid %%K value"
+ msgstr "ugyldig %%K-værdi"
+
+-#: config/rs6000/rs6000.c:11597
++#: config/rs6000/rs6000.c:11808
+ #, c-format
+ msgid "invalid %%O value"
+ msgstr "ugyldig %%O-værdi"
+
+-#: config/rs6000/rs6000.c:11644
++#: config/rs6000/rs6000.c:11855
+ #, c-format
+ msgid "invalid %%q value"
+ msgstr "ugyldig %%q-værdi"
+
+-#: config/rs6000/rs6000.c:11688
++#: config/rs6000/rs6000.c:11899
+ #, c-format
+ msgid "invalid %%S value"
+ msgstr "ugyldig %%S-værdi"
+
+-#: config/rs6000/rs6000.c:11728
++#: config/rs6000/rs6000.c:11939
+ #, c-format
+ msgid "invalid %%T value"
+ msgstr "ugyldig %%T-værdi"
+
+-#: config/rs6000/rs6000.c:11738
++#: config/rs6000/rs6000.c:11949
+ #, c-format
+ msgid "invalid %%u value"
+ msgstr "ugyldig %%u-værdi"
+
+-#: config/rs6000/rs6000.c:11747 config/xtensa/xtensa.c:1992
++#: config/rs6000/rs6000.c:11958 config/xtensa/xtensa.c:1998
+ #, c-format
+ msgid "invalid %%v value"
+ msgstr "ugyldig %%v-værdi"
+
+-#: config/rs6000/rs6000.c:21768
++#: config/rs6000/rs6000.c:21946
+ #, fuzzy
+ msgid "AltiVec argument passed to unprototyped function"
+ msgstr "for få parametre til funktionen"
+
+-#: config/s390/s390.c:4561
++#: config/s390/s390.c:4560
+ #, fuzzy, c-format
+ msgid "cannot decompose address"
+ msgstr "Kan ikke adskille adresse."
+
+-#: config/s390/s390.c:4771
++#: config/s390/s390.c:4770
+ msgid "UNKNOWN in print_operand !?"
+ msgstr "UNKNOWN i print_operand !?"
+
+@@ -3840,92 +3766,92 @@
+ msgid "invalid operand for code: '%c'"
+ msgstr "ugyldig operandkode '%c'"
+
+-#: config/sh/sh.c:746
++#: config/sh/sh.c:749
+ #, fuzzy, c-format
+ msgid "invalid operand to %%R"
+ msgstr "ugyldig operand til %%R-koden"
+
+-#: config/sh/sh.c:773
++#: config/sh/sh.c:776
+ #, fuzzy, c-format
+ msgid "invalid operand to %%S"
+ msgstr "ugyldig operand til %%R-koden"
+
+-#: config/sh/sh.c:8095
++#: config/sh/sh.c:8098
+ #, fuzzy
+ msgid "created and used with different architectures / ABIs"
+ msgstr "oprettet og brugt med en anden indstilling af '-m%s'"
+
+-#: config/sh/sh.c:8097
++#: config/sh/sh.c:8100
+ #, fuzzy
+ msgid "created and used with different ABIs"
+ msgstr "oprettet og brugt med en anden indstilling af '-m%s'"
+
+-#: config/sh/sh.c:8099
++#: config/sh/sh.c:8102
+ #, fuzzy
+ msgid "created and used with different endianness"
+ msgstr "oprettet og brugt med en anden indstilling af '-m%s'"
+
+-#: config/sparc/sparc.c:6803 config/sparc/sparc.c:6809
++#: config/sparc/sparc.c:6806 config/sparc/sparc.c:6812
+ #, c-format
+ msgid "invalid %%Y operand"
+ msgstr "ugyldig %%Y-operand"
+
+-#: config/sparc/sparc.c:6879
++#: config/sparc/sparc.c:6882
+ #, c-format
+ msgid "invalid %%A operand"
+ msgstr "ugyldig %%A-operand"
+
+-#: config/sparc/sparc.c:6889
++#: config/sparc/sparc.c:6892
+ #, c-format
+ msgid "invalid %%B operand"
+ msgstr "ugyldig %%B-operand"
+
+-#: config/sparc/sparc.c:6928
++#: config/sparc/sparc.c:6931
+ #, c-format
+ msgid "invalid %%c operand"
+ msgstr "ugyldig %%c-operand"
+
+-#: config/sparc/sparc.c:6950
++#: config/sparc/sparc.c:6953
+ #, c-format
+ msgid "invalid %%d operand"
+ msgstr "ugyldig %%d-operand"
+
+-#: config/sparc/sparc.c:6967
++#: config/sparc/sparc.c:6970
+ #, c-format
+ msgid "invalid %%f operand"
+ msgstr "ugyldig %%f-operand"
+
+-#: config/sparc/sparc.c:6981
++#: config/sparc/sparc.c:6984
+ #, c-format
+ msgid "invalid %%s operand"
+ msgstr "ugyldig %%s-operand"
+
+-#: config/sparc/sparc.c:7035
++#: config/sparc/sparc.c:7038
+ #, c-format
+ msgid "long long constant not a valid immediate operand"
+ msgstr "long long-konstant er ikke en gyldig umiddelbar operand"
+
+-#: config/sparc/sparc.c:7038
++#: config/sparc/sparc.c:7041
+ #, c-format
+ msgid "floating point constant not a valid immediate operand"
+ msgstr "kommatalskonstant er ikke en gyldig umiddelbar operand"
+
+-#: config/stormy16/stormy16.c:1775 config/stormy16/stormy16.c:1846
++#: config/stormy16/stormy16.c:1748 config/stormy16/stormy16.c:1819
+ #, fuzzy, c-format
+ msgid "'B' operand is not constant"
+ msgstr "'B'-operanden er ikke konstant"
+
+-#: config/stormy16/stormy16.c:1802
++#: config/stormy16/stormy16.c:1775
+ #, fuzzy, c-format
+ msgid "'B' operand has multiple bits set"
+ msgstr "'B'-operanden har flere bit sat"
+
+-#: config/stormy16/stormy16.c:1828
++#: config/stormy16/stormy16.c:1801
+ #, fuzzy, c-format
+ msgid "'o' operand is not constant"
+ msgstr "'o'-operanden er ikke konstant"
+
+-#: config/stormy16/stormy16.c:1860
++#: config/stormy16/stormy16.c:1833
+ #, c-format
+ msgid "xstormy16_print_operand: unknown code"
+ msgstr "xstormy16_print_operand: ukendt kode"
+@@ -3938,58 +3864,58 @@
+ msgid "output_move_single:"
+ msgstr "output_move_single:"
+
+-#: config/xtensa/xtensa.c:652 config/xtensa/xtensa.c:684
+-#: config/xtensa/xtensa.c:693
++#: config/xtensa/xtensa.c:656 config/xtensa/xtensa.c:688
++#: config/xtensa/xtensa.c:697
+ msgid "bad test"
+ msgstr "ugyldig test"
+
+-#: config/xtensa/xtensa.c:1980
++#: config/xtensa/xtensa.c:1986
+ #, c-format
+ msgid "invalid %%D value"
+ msgstr "ugyldig %%D-værdi"
+
+-#: config/xtensa/xtensa.c:2017
++#: config/xtensa/xtensa.c:2023
+ msgid "invalid mask"
+ msgstr "ugyldig maske"
+
+-#: config/xtensa/xtensa.c:2043
++#: config/xtensa/xtensa.c:2049
+ #, fuzzy, c-format
+ msgid "invalid %%x value"
+ msgstr "ugyldig %%x/X-værdi"
+
+-#: config/xtensa/xtensa.c:2050
++#: config/xtensa/xtensa.c:2056
+ #, fuzzy, c-format
+ msgid "invalid %%d value"
+ msgstr "ugyldig %%V-værdi"
+
+-#: config/xtensa/xtensa.c:2071 config/xtensa/xtensa.c:2081
++#: config/xtensa/xtensa.c:2077 config/xtensa/xtensa.c:2087
+ #, fuzzy, c-format
+ msgid "invalid %%t/%%b value"
+ msgstr "ugyldig %%b-værdi"
+
+-#: config/xtensa/xtensa.c:2123
++#: config/xtensa/xtensa.c:2129
+ msgid "invalid address"
+ msgstr "ugyldig adresse"
+
+-#: config/xtensa/xtensa.c:2148
++#: config/xtensa/xtensa.c:2154
+ msgid "no register in address"
+ msgstr "ingen registre i adresse"
+
+-#: config/xtensa/xtensa.c:2156
++#: config/xtensa/xtensa.c:2162
+ msgid "address offset not a constant"
+ msgstr "adresseafsæt er ikke en konstant"
+
+-#: cp/call.c:2514
++#: cp/call.c:2500
+ #, fuzzy
+ msgid "candidates are:"
+ msgstr "candidate%s: %+#D"
+
+-#: cp/call.c:6463
++#: cp/call.c:6487
+ #, fuzzy
+ msgid "candidate 1:"
+ msgstr "candidate%s: %+#D"
+
+-#: cp/call.c:6464
++#: cp/call.c:6488
+ #, fuzzy
+ msgid "candidate 2:"
+ msgstr "candidate%s: %+#D"
+@@ -4038,52 +3964,52 @@
+ msgid "Integer outside symmetric range implied by Standard Fortran at %L"
+ msgstr ""
+
+-#: fortran/arith.c:1425
++#: fortran/arith.c:1472
+ #, fuzzy
+ msgid "elemental binary operation"
+ msgstr "manglende binær operator"
+
+-#: fortran/arith.c:1997
++#: fortran/arith.c:2044
+ #, fuzzy, no-c-format
+ msgid "Arithmetic OK converting %s to %s at %L"
+ msgstr "kunne ikke konvertere '%E' til '%T'"
+
+-#: fortran/arith.c:2001
++#: fortran/arith.c:2048
+ #, no-c-format
+ msgid "Arithmetic overflow converting %s to %s at %L. This check can be disabled with the option -fno-range-check"
+ msgstr ""
+
+-#: fortran/arith.c:2006
++#: fortran/arith.c:2053
+ #, no-c-format
+ msgid "Arithmetic underflow converting %s to %s at %L"
+ msgstr ""
+
+-#: fortran/arith.c:2010
++#: fortran/arith.c:2057
+ #, no-c-format
+ msgid "Arithmetic NaN converting %s to %s at %L"
+ msgstr ""
+
+-#: fortran/arith.c:2014
++#: fortran/arith.c:2061
+ #, fuzzy, no-c-format
+ msgid "Division by zero converting %s to %s at %L"
+ msgstr "division med nul i '%E %% 0'"
+
+-#: fortran/arith.c:2018
++#: fortran/arith.c:2065
+ #, no-c-format
+ msgid "Array operands are incommensurate converting %s to %s at %L"
+ msgstr ""
+
+-#: fortran/arith.c:2022
++#: fortran/arith.c:2069
+ #, no-c-format
+ msgid "Integer outside symmetric range implied by Standard Fortran converting %s to %s at %L"
+ msgstr ""
+
+-#: fortran/arith.c:2355
++#: fortran/arith.c:2402
+ #, fuzzy, no-c-format
+ msgid "The Hollerith constant at %L is too long to convert to %s"
+ msgstr "Tenkonstant ved %0 har ingen afsluttende apostrof ved %1"
+
+-#: fortran/arith.c:2513
++#: fortran/arith.c:2560
+ #, no-c-format
+ msgid "Enumerator exceeds the C integer type at %C"
+ msgstr ""
+@@ -4113,72 +4039,72 @@
+ msgid "Variable '%s' at %L in this context must be constant"
+ msgstr ""
+
+-#: fortran/array.c:299
++#: fortran/array.c:314
+ #, no-c-format
+ msgid "Expected expression in array specification at %C"
+ msgstr ""
+
+-#: fortran/array.c:386
++#: fortran/array.c:392
+ #, no-c-format
+ msgid "Bad array specification for an explicitly shaped array at %C"
+ msgstr ""
+
+-#: fortran/array.c:396
++#: fortran/array.c:402
+ #, no-c-format
+ msgid "Bad array specification for assumed shape array at %C"
+ msgstr ""
+
+-#: fortran/array.c:410
++#: fortran/array.c:416
+ #, fuzzy, no-c-format
+ msgid "Bad specification for deferred shape array at %C"
+ msgstr "Ingen angivelse af underforstået DO-iterator '%A' ved %0"
+
+-#: fortran/array.c:414
++#: fortran/array.c:420
+ #, fuzzy, no-c-format
+ msgid "Bad specification for assumed size array at %C"
+ msgstr "Ingen angivelse af underforstået DO-iterator '%A' ved %0"
+
+-#: fortran/array.c:423
++#: fortran/array.c:429
+ #, fuzzy, no-c-format
+ msgid "Expected another dimension in array declaration at %C"
+ msgstr "Kan ikke angive tabeldimension i en erklæring"
+
+-#: fortran/array.c:429
++#: fortran/array.c:435
+ #, no-c-format
+ msgid "Array specification at %C has more than %d dimensions"
+ msgstr ""
+
+-#: fortran/array.c:635
++#: fortran/array.c:641
+ #, fuzzy, no-c-format
+ msgid "duplicated initializer"
+ msgstr "tabelindeks i startværdi optræder mere end én gang"
+
+-#: fortran/array.c:727
++#: fortran/array.c:733
+ #, no-c-format
+ msgid "DO-iterator '%s' at %L is inside iterator of the same name"
+ msgstr ""
+
+-#: fortran/array.c:829 fortran/array.c:938
++#: fortran/array.c:835 fortran/array.c:944
+ #, fuzzy, no-c-format
+ msgid "Syntax error in array constructor at %C"
+ msgstr "\"%s\" må ikke optræde i makroparameterliste"
+
+-#: fortran/array.c:884
++#: fortran/array.c:890
+ #, no-c-format
+ msgid "Fortran 2003: [...] style array constructors at %C"
+ msgstr ""
+
+-#: fortran/array.c:898
++#: fortran/array.c:904
+ #, fuzzy, no-c-format
+ msgid "Empty array constructor at %C is not allowed"
+ msgstr "Min/max-instruktioner ikke tilladt"
+
+-#: fortran/array.c:982
++#: fortran/array.c:988
+ #, no-c-format
+ msgid "Element in %s array constructor at %L is %s"
+ msgstr ""
+
+-#: fortran/array.c:1309
++#: fortran/array.c:1315
+ #, no-c-format
+ msgid "Iterator step at %L cannot be zero"
+ msgstr ""
+@@ -4198,7 +4124,7 @@
+ msgid "'%s' argument of '%s' intrinsic at %L must be a numeric type"
+ msgstr ""
+
+-#: fortran/check.c:101 fortran/check.c:817 fortran/check.c:827
++#: fortran/check.c:101 fortran/check.c:810 fortran/check.c:820
+ #, no-c-format
+ msgid "'%s' argument of '%s' intrinsic at %L must be INTEGER or REAL"
+ msgstr ""
+@@ -4263,220 +4189,215 @@
+ msgid "'%s' argument of '%s' intrinsic at %L must be a variable"
+ msgstr ""
+
+-#: fortran/check.c:320
++#: fortran/check.c:356
+ #, no-c-format
+-msgid "Missing DIM parameter in intrinsic '%s' at %L"
+-msgstr ""
+-
+-#: fortran/check.c:363
+-#, no-c-format
+ msgid "'dim' argument of '%s' intrinsic at %L is not a valid dimension index"
+ msgstr ""
+
+-#: fortran/check.c:433
++#: fortran/check.c:426
+ #, no-c-format
+ msgid "Unequal character lengths (%ld and %ld) in %s intrinsic at %L"
+ msgstr ""
+
+-#: fortran/check.c:535 fortran/check.c:1938 fortran/check.c:1953
++#: fortran/check.c:528 fortran/check.c:1932 fortran/check.c:1947
+ #, no-c-format
+ msgid "'%s' argument of '%s' intrinsic at %L must be ALLOCATABLE"
+ msgstr ""
+
+-#: fortran/check.c:559 fortran/check.c:3703
++#: fortran/check.c:552 fortran/check.c:3697
+ #, no-c-format
+ msgid "'%s' and '%s' arguments of '%s' intrinsic at %L must have the same type"
+ msgstr ""
+
+-#: fortran/check.c:568 fortran/check.c:1143 fortran/check.c:1286
+-#: fortran/check.c:1360 fortran/check.c:1616
++#: fortran/check.c:561 fortran/check.c:1137 fortran/check.c:1280
++#: fortran/check.c:1354 fortran/check.c:1610
+ #, no-c-format
+ msgid "Extension: Different type kinds at %L"
+ msgstr ""
+
+-#: fortran/check.c:608 fortran/check.c:2022
++#: fortran/check.c:601 fortran/check.c:2016
+ #, no-c-format
+ msgid "'%s' argument of '%s' intrinsic at %L must be a POINTER"
+ msgstr ""
+
+-#: fortran/check.c:628
++#: fortran/check.c:621
+ #, no-c-format
+ msgid "'%s' argument of '%s' intrinsic at %L must be a pointer or target VARIABLE or FUNCTION"
+ msgstr ""
+
+-#: fortran/check.c:636
++#: fortran/check.c:629
+ #, no-c-format
+ msgid "'%s' argument of '%s' intrinsic at %L must be a POINTER or a TARGET"
+ msgstr ""
+
+-#: fortran/check.c:652
++#: fortran/check.c:645
+ #, no-c-format
+ msgid "Array section with a vector subscript at %L shall not be the target of a pointer"
+ msgstr ""
+
+-#: fortran/check.c:663
++#: fortran/check.c:656
+ #, no-c-format
+ msgid "NULL pointer at %L is not permitted as actual argument of '%s' intrinsic function"
+ msgstr ""
+
+-#: fortran/check.c:798 fortran/check.c:915
++#: fortran/check.c:791 fortran/check.c:910
+ #, no-c-format
+ msgid "'%s' argument of '%s' intrinsic at %L must not be present if 'x' is COMPLEX"
+ msgstr ""
+
+-#: fortran/check.c:848 fortran/check.c:1205 fortran/check.c:1308
+-#: fortran/check.c:1467 fortran/check.c:1484 fortran/check.c:2318
+-#: fortran/check.c:2444 fortran/check.c:2779 fortran/check.c:2821
++#: fortran/check.c:841 fortran/check.c:1199 fortran/check.c:1302
++#: fortran/check.c:1461 fortran/check.c:1478 fortran/check.c:2312
++#: fortran/check.c:2438 fortran/check.c:2773 fortran/check.c:2815
+ #, no-c-format
+ msgid "Fortran 2003: '%s' intrinsic with KIND argument at %L"
+ msgstr ""
+
+-#: fortran/check.c:964 fortran/check.c:1712 fortran/check.c:1720
++#: fortran/check.c:959 fortran/check.c:1706 fortran/check.c:1714
+ #, no-c-format
+ msgid "'%s' argument of '%s' intrinsic at %L must be numeric or LOGICAL"
+ msgstr ""
+
+-#: fortran/check.c:978
++#: fortran/check.c:973
+ #, no-c-format
+ msgid "Different shape for arguments '%s' and '%s' at %L for intrinsic 'dot_product'"
+ msgstr ""
+
+-#: fortran/check.c:997 fortran/check.c:1005
++#: fortran/check.c:992 fortran/check.c:1000
+ #, fuzzy, no-c-format
+ msgid "'%s' argument of '%s' intrinsic at %L must be default real"
+ msgstr "parameter til '%s' skal være en 2 bit-konstant"
+
+-#: fortran/check.c:1256
++#: fortran/check.c:1250
+ #, fuzzy, no-c-format
+ msgid "Argument of %s at %L must be of length one"
+ msgstr "parameter til '%s' skal være en 2 bit-konstant"
+
+-#: fortran/check.c:1315
++#: fortran/check.c:1309
+ #, no-c-format
+ msgid "'%s' argument of '%s' intrinsic at %L must be the same kind as '%s'"
+ msgstr ""
+
+-#: fortran/check.c:1440
++#: fortran/check.c:1434
+ #, no-c-format
+ msgid "'%s' argument of '%s' intrinsic at %L must be a non-derived type"
+ msgstr ""
+
+-#: fortran/check.c:1589
++#: fortran/check.c:1583
+ #, fuzzy, no-c-format
+ msgid "Intrinsic '%s' at %L must have at least two arguments"
+ msgstr "'%s' skal tage mod to parametre"
+
+-#: fortran/check.c:1622
++#: fortran/check.c:1616
+ #, no-c-format
+ msgid "'a%d' argument of '%s' intrinsic at %L must be %s(%d)"
+ msgstr ""
+
+-#: fortran/check.c:1655
++#: fortran/check.c:1649
+ #, no-c-format
+ msgid "Fortran 2003: '%s' intrinsic with CHARACTER argument at %L"
+ msgstr ""
+
+-#: fortran/check.c:1662
++#: fortran/check.c:1656
+ #, no-c-format
+ msgid "'a1' argument of '%s' intrinsic at %L must be INTEGER, REAL or CHARACTER"
+ msgstr ""
+
+-#: fortran/check.c:1734
++#: fortran/check.c:1728
+ #, no-c-format
+ msgid "Different shape on dimension 1 for arguments '%s' and '%s' at %L for intrinsic matmul"
+ msgstr ""
+
+-#: fortran/check.c:1753
++#: fortran/check.c:1747
+ #, no-c-format
+ msgid "Different shape on dimension 2 for argument '%s' and dimension 1 for argument '%s' at %L for intrinsic matmul"
+ msgstr ""
+
+-#: fortran/check.c:1762
++#: fortran/check.c:1756
+ #, no-c-format
+ msgid "'%s' argument of '%s' intrinsic at %L must be of rank 1 or 2"
+ msgstr ""
+
+-#: fortran/check.c:1964
++#: fortran/check.c:1958
+ #, no-c-format
+ msgid "the '%s' and '%s' arguments of '%s' intrinsic at %L must have the same rank %d/%d"
+ msgstr ""
+
+-#: fortran/check.c:1973
++#: fortran/check.c:1967
+ #, no-c-format
+ msgid "the '%s' and '%s' arguments of '%s' intrinsic at %L must be of the same kind %d/%d"
+ msgstr ""
+
+-#: fortran/check.c:2069
++#: fortran/check.c:2063
+ #, no-c-format
+ msgid "'%s' argument of '%s' intrinsic at %L must be of type REAL or COMPLEX"
+ msgstr ""
+
+-#: fortran/check.c:2090
++#: fortran/check.c:2084
+ #, no-c-format
+ msgid "'%s' argument of '%s' intrinsic at %L must be of a dummy variable"
+ msgstr ""
+
+-#: fortran/check.c:2098
++#: fortran/check.c:2092
+ #, no-c-format
+ msgid "'%s' argument of '%s' intrinsic at %L must be of an OPTIONAL dummy variable"
+ msgstr ""
+
+-#: fortran/check.c:2114
++#: fortran/check.c:2108
+ #, no-c-format
+ msgid "'%s' argument of '%s' intrinsic at %L must not be a subobject of '%s'"
+ msgstr ""
+
+-#: fortran/check.c:2231
++#: fortran/check.c:2225
+ #, no-c-format
+ msgid "'shape' argument of 'reshape' intrinsic at %L must be an array of constant size"
+ msgstr ""
+
+-#: fortran/check.c:2241
++#: fortran/check.c:2235
+ #, no-c-format
+ msgid "'shape' argument of 'reshape' intrinsic at %L has more than %d elements"
+ msgstr ""
+
+-#: fortran/check.c:2279
++#: fortran/check.c:2273
+ #, no-c-format
+ msgid "Without padding, there are not enough elements in the intrinsic RESHAPE source at %L to match the shape"
+ msgstr ""
+
+-#: fortran/check.c:2364
++#: fortran/check.c:2358
+ #, fuzzy, no-c-format
+ msgid "Missing arguments to %s intrinsic at %L"
+ msgstr "der mangler en parameter til tilvalget '%s'"
+
+-#: fortran/check.c:2405
++#: fortran/check.c:2399
+ #, no-c-format
+ msgid "'source' argument of 'shape' intrinsic at %L must not be an assumed size array"
+ msgstr ""
+
+-#: fortran/check.c:2479
++#: fortran/check.c:2473
+ #, fuzzy, no-c-format
+ msgid "'%s' argument of '%s' intrinsic at %L must be less than rank %d"
+ msgstr "parameter til egenskaben '%s' er større end %d"
+
+-#: fortran/check.c:2731
++#: fortran/check.c:2725
+ #, no-c-format
+ msgid "'MOLD' argument of 'TRANSFER' intrinsic at %L must not be %s"
+ msgstr ""
+
+-#: fortran/check.c:3050
++#: fortran/check.c:3044
+ #, fuzzy, no-c-format
+ msgid "Too many arguments to %s at %L"
+ msgstr "for mange parametre til %s '%+#D'"
+
+-#: fortran/check.c:3162 fortran/check.c:3616 fortran/check.c:3640
++#: fortran/check.c:3156 fortran/check.c:3610 fortran/check.c:3634
+ #, no-c-format
+ msgid "'%s' argument of '%s' intrinsic at %L must be INTEGER or PROCEDURE"
+ msgstr ""
+
+-#: fortran/check.c:3338
++#: fortran/check.c:3332
+ #, no-c-format
+ msgid "'%s' argument of '%s' intrinsic at %L must be of a kind not wider than the default kind (%d)"
+ msgstr ""
+
+-#: fortran/check.c:3687 fortran/check.c:3695
++#: fortran/check.c:3681 fortran/check.c:3689
+ #, no-c-format
+ msgid "'%s' argument of '%s' intrinsic at %L must be INTEGER or LOGICAL"
+ msgstr ""
+@@ -4501,890 +4422,926 @@
+ msgid "'%s' at %L already is initialized at %L"
+ msgstr "stamklassen '%T' er allerede klargjort"
+
+-#: fortran/data.c:412
++#: fortran/data.c:317
++#, no-c-format
++msgid "Data element below array lower bound at %L"
++msgstr ""
++
++#: fortran/data.c:329
+ #, fuzzy, no-c-format
++msgid "Data element above array upper bound at %L"
++msgstr "Nulelement ved %0 for tabelreference ved %1"
++
++#: fortran/data.c:435
++#, fuzzy, no-c-format
+ msgid "Extension: re-initialization of '%s' at %L"
+ msgstr " springer over klargøring af '%#D'"
+
+-#: fortran/decl.c:254
++#: fortran/decl.c:253
+ #, no-c-format
+ msgid "Host associated variable '%s' may not be in the DATA statement at %C"
+ msgstr ""
+
+-#: fortran/decl.c:261
++#: fortran/decl.c:260
+ #, no-c-format
+ msgid "Extension: initialization of common block variable '%s' in DATA statement at %C"
+ msgstr ""
+
+-#: fortran/decl.c:366
++#: fortran/decl.c:365
+ #, no-c-format
+ msgid "Symbol '%s' must be a PARAMETER in DATA statement at %C"
+ msgstr ""
+
+-#: fortran/decl.c:470
++#: fortran/decl.c:390
++#, fuzzy, no-c-format
++msgid "Invalid initializer %s in Data statement at %C"
++msgstr "ugyldig startværdi til virtuel medlemsfunktion '%D'"
++
++#: fortran/decl.c:493
+ #, no-c-format
+ msgid "Initialization at %C is not allowed in a PURE procedure"
+ msgstr ""
+
+-#: fortran/decl.c:529
++#: fortran/decl.c:552
+ #, no-c-format
+ msgid "DATA statement at %C is not allowed in a PURE procedure"
+ msgstr ""
+
+-#: fortran/decl.c:558
++#: fortran/decl.c:581
+ #, no-c-format
+ msgid "Bad INTENT specification at %C"
+ msgstr ""
+
+-#: fortran/decl.c:600
++#: fortran/decl.c:623
+ #, no-c-format
+ msgid "Conflict in attributes of function argument at %C"
+ msgstr ""
+
+-#: fortran/decl.c:647
++#: fortran/decl.c:676
+ #, fuzzy, no-c-format
+ msgid "Syntax error in character length specification at %C"
+ msgstr "tolkningsfejl i medlemsfunktionsangivelsen"
+
+-#: fortran/decl.c:757
++#: fortran/decl.c:795
+ #, fuzzy, no-c-format
+ msgid "Procedure '%s' at %C is already defined at %L"
+ msgstr "'%D' er allerede defineret i '%T'"
+
+-#: fortran/decl.c:765
++#: fortran/decl.c:803
+ #, fuzzy, no-c-format
+ msgid "Name '%s' at %C is already defined as a generic interface at %L"
+ msgstr "Etiket %A er allerede defineret ved %1 ved omdefinering ved %0"
+
+-#: fortran/decl.c:778
++#: fortran/decl.c:816
+ #, no-c-format
+ msgid "Procedure '%s' at %C has an explicit interface and must not have attributes declared at %L"
+ msgstr ""
+
+-#: fortran/decl.c:850
++#: fortran/decl.c:888
+ #, no-c-format
+ msgid "Procedure '%s' at %L must have the BIND(C) attribute to be C interoperable"
+ msgstr ""
+
+-#: fortran/decl.c:880
++#: fortran/decl.c:918
+ #, no-c-format
+ msgid "Type '%s' at %L is a parameter to the BIND(C) procedure '%s' but is not C interoperable because derived type '%s' is not C interoperable"
+ msgstr ""
+
+-#: fortran/decl.c:887
++#: fortran/decl.c:925
+ #, no-c-format
+ msgid "Variable '%s' at %L is a parameter to the BIND(C) procedure '%s' but may not be C interoperable"
+ msgstr ""
+
+-#: fortran/decl.c:902
++#: fortran/decl.c:940
+ #, no-c-format
+ msgid "Character argument '%s' at %L must be length 1 because procedure '%s' is BIND(C)"
+ msgstr ""
+
+-#: fortran/decl.c:916
++#: fortran/decl.c:954
+ #, no-c-format
+ msgid "Variable '%s' at %L cannot have the ALLOCATABLE attribute because procedure '%s' is BIND(C)"
+ msgstr ""
+
+-#: fortran/decl.c:925
++#: fortran/decl.c:963
+ #, no-c-format
+ msgid "Variable '%s' at %L cannot have the POINTER attribute because procedure '%s' is BIND(C)"
+ msgstr ""
+
+-#: fortran/decl.c:934
++#: fortran/decl.c:972
+ #, no-c-format
+ msgid "Variable '%s' at %L cannot have the OPTIONAL attribute because procedure '%s' is BIND(C)"
+ msgstr ""
+
+-#: fortran/decl.c:947
++#: fortran/decl.c:985
+ #, no-c-format
+ msgid "Assumed-shape array '%s' at %L cannot be an argument to the procedure '%s' at %L because the procedure is BIND(C)"
+ msgstr ""
+
+-#: fortran/decl.c:957
++#: fortran/decl.c:995
+ #, no-c-format
+ msgid "Deferred-shape array '%s' at %L cannot be an argument to the procedure '%s' at %L because the procedure is BIND(C)"
+ msgstr ""
+
+-#: fortran/decl.c:1033
++#: fortran/decl.c:1071
+ #, no-c-format
+ msgid "Variable '%s' in common block '%s' at %C must be declared with a C interoperable kind since common block '%s' is BIND(C)"
+ msgstr ""
+
+-#: fortran/decl.c:1069
++#: fortran/decl.c:1107
+ #, no-c-format
+ msgid "CHARACTER expression at %L is being truncated (%d/%d)"
+ msgstr ""
+
+-#: fortran/decl.c:1075
++#: fortran/decl.c:1113
+ #, no-c-format
+ msgid "The CHARACTER elements of the array constructor at %L must have the same length (%d/%d)"
+ msgstr ""
+
+-#: fortran/decl.c:1165
++#: fortran/decl.c:1203
+ #, no-c-format
+ msgid "Initializer not allowed for PARAMETER '%s' at %C"
+ msgstr ""
+
+-#: fortran/decl.c:1174
+-#, no-c-format
+-msgid "Initializer not allowed for COMMON variable '%s' at %C"
+-msgstr ""
+-
+-#: fortran/decl.c:1184
++#: fortran/decl.c:1213
+ #, fuzzy, no-c-format
+ msgid "PARAMETER at %L is missing an initializer"
+ msgstr "manglende startværdi"
+
+-#: fortran/decl.c:1194
++#: fortran/decl.c:1223
+ #, no-c-format
+ msgid "Variable '%s' at %C with an initializer already appears in a DATA statement"
+ msgstr ""
+
+-#: fortran/decl.c:1344
++#: fortran/decl.c:1373
+ #, no-c-format
+ msgid "Component at %C must have the POINTER attribute"
+ msgstr ""
+
+-#: fortran/decl.c:1352
++#: fortran/decl.c:1381
+ #, no-c-format
+ msgid "Array component of structure at %C must have explicit or deferred shape"
+ msgstr ""
+
+-#: fortran/decl.c:1378
++#: fortran/decl.c:1425
+ #, no-c-format
+ msgid "Allocatable component at %C must be an array"
+ msgstr ""
+
+-#: fortran/decl.c:1389
++#: fortran/decl.c:1436
+ #, no-c-format
+ msgid "Pointer array component of structure at %C must have a deferred shape"
+ msgstr ""
+
+-#: fortran/decl.c:1398
++#: fortran/decl.c:1445
+ #, no-c-format
+ msgid "Allocatable component of structure at %C must have a deferred shape"
+ msgstr ""
+
+-#: fortran/decl.c:1407
++#: fortran/decl.c:1454
+ #, no-c-format
+ msgid "Array component of structure at %C must have an explicit shape"
+ msgstr ""
+
+-#: fortran/decl.c:1433
++#: fortran/decl.c:1480
+ #, no-c-format
+ msgid "NULL() initialization at %C is ambiguous"
+ msgstr ""
+
+-#: fortran/decl.c:1556 fortran/decl.c:5197
++#: fortran/decl.c:1603 fortran/decl.c:5395
+ #, no-c-format
+ msgid "Duplicate array spec for Cray pointee at %C"
+ msgstr ""
+
+-#: fortran/decl.c:1616
++#: fortran/decl.c:1663
+ #, no-c-format
+ msgid "the type of '%s' at %C has not been declared within the interface"
+ msgstr ""
+
+-#: fortran/decl.c:1632
++#: fortran/decl.c:1679
+ #, fuzzy, no-c-format
+ msgid "Function name '%s' not allowed at %C"
+ msgstr "sektionsegenskaben er ikke tilladt for '%s'"
+
+-#: fortran/decl.c:1648
++#: fortran/decl.c:1695
+ #, no-c-format
+ msgid "Extension: Old-style initialization at %C"
+ msgstr ""
+
+-#: fortran/decl.c:1663
++#: fortran/decl.c:1710
+ #, no-c-format
+ msgid "Initialization at %C isn't for a pointer variable"
+ msgstr ""
+
+-#: fortran/decl.c:1671
++#: fortran/decl.c:1718
+ #, no-c-format
+ msgid "Pointer initialization requires a NULL() at %C"
+ msgstr ""
+
+-#: fortran/decl.c:1677
++#: fortran/decl.c:1724
+ #, no-c-format
+ msgid "Initialization of pointer at %C is not allowed in a PURE procedure"
+ msgstr ""
+
+-#: fortran/decl.c:1690
++#: fortran/decl.c:1737
+ #, no-c-format
+ msgid "Pointer initialization at %C requires '=>', not '='"
+ msgstr ""
+
+-#: fortran/decl.c:1699 fortran/decl.c:6129
++#: fortran/decl.c:1746 fortran/decl.c:6361
+ #, fuzzy, no-c-format
+ msgid "Expected an initialization expression at %C"
+ msgstr "tildeling af startværdi til new-udtryk med '='"
+
+-#: fortran/decl.c:1705
++#: fortran/decl.c:1752
+ #, no-c-format
+ msgid "Initialization of variable at %C is not allowed in a PURE procedure"
+ msgstr ""
+
+-#: fortran/decl.c:1718
++#: fortran/decl.c:1765
+ #, no-c-format
+ msgid "Initialization of allocatable component at %C is not allowed"
+ msgstr ""
+
+-#: fortran/decl.c:1772 fortran/decl.c:1781
++#: fortran/decl.c:1819 fortran/decl.c:1828
+ #, fuzzy, no-c-format
+ msgid "Old-style type declaration %s*%d not supported at %C"
+ msgstr "%Jsvag erklæring af '%D' ikke understøttet"
+
+-#: fortran/decl.c:1786
++#: fortran/decl.c:1833
+ #, fuzzy, no-c-format
+ msgid "Nonstandard type declaration %s*%d at %C"
+ msgstr "indlejret extern-erklæring af '%s'"
+
+-#: fortran/decl.c:1838 fortran/decl.c:1897
++#: fortran/decl.c:1884 fortran/decl.c:1948
+ #, fuzzy, no-c-format
+ msgid "Missing right parenthesis at %C"
+ msgstr "Manglende formel parameterterm"
+
+-#: fortran/decl.c:1853 fortran/decl.c:1931
++#: fortran/decl.c:1897 fortran/decl.c:1993
+ #, fuzzy, no-c-format
+ msgid "Expected initialization expression at %C"
+ msgstr "tildeling af startværdi til new-udtryk med '='"
+
+-#: fortran/decl.c:1861 fortran/decl.c:1937
++#: fortran/decl.c:1905 fortran/decl.c:1999
+ #, fuzzy, no-c-format
+ msgid "Expected scalar initialization expression at %C"
+ msgstr "tildeling af startværdi til new-udtryk med '='"
+
+-#: fortran/decl.c:1891
++#: fortran/decl.c:1936
+ #, fuzzy, no-c-format
+ msgid "Kind %d not supported for type %s at %C"
+ msgstr "afrundingstilstand er ikke understøttet for VAX-kommatal"
+
+-#: fortran/decl.c:1957
++#: fortran/decl.c:1946
++#, no-c-format
++msgid "Missing right parenthesis or comma at %C"
++msgstr ""
++
++#: fortran/decl.c:2019
+ #, fuzzy, no-c-format
+ msgid "Kind %d is not supported for CHARACTER at %C"
+ msgstr "afrundingstilstand er ikke understøttet for VAX-kommatal"
+
+-#: fortran/decl.c:2086
++#: fortran/decl.c:2148
+ #, no-c-format
+ msgid "Syntax error in CHARACTER declaration at %C"
+ msgstr ""
+
+-#: fortran/decl.c:2156
++#: fortran/decl.c:2233
+ #, no-c-format
+ msgid "Extension: BYTE type at %C"
+ msgstr ""
+
+-#: fortran/decl.c:2162
++#: fortran/decl.c:2239
+ #, no-c-format
+ msgid "BYTE type used at %C is not available on the target machine"
+ msgstr ""
+
+-#: fortran/decl.c:2211
++#: fortran/decl.c:2288
+ #, no-c-format
+ msgid "DOUBLE COMPLEX at %C does not conform to the Fortran 95 standard"
+ msgstr ""
+
+-#: fortran/decl.c:2245 fortran/decl.c:2252 fortran/decl.c:2558
+-#: fortran/decl.c:2566
++#: fortran/decl.c:2328 fortran/decl.c:2337 fortran/decl.c:2649
++#: fortran/decl.c:2657
+ #, fuzzy, no-c-format
+ msgid "Type name '%s' at %C is ambiguous"
+ msgstr "brug af '%D' er tvetydigt"
+
+-#: fortran/decl.c:2321
++#: fortran/decl.c:2412
+ #, no-c-format
+ msgid "Missing character range in IMPLICIT at %C"
+ msgstr ""
+
+-#: fortran/decl.c:2367
++#: fortran/decl.c:2458
+ #, no-c-format
+ msgid "Letters must be in alphabetic order in IMPLICIT statement at %C"
+ msgstr ""
+
+-#: fortran/decl.c:2421
++#: fortran/decl.c:2512
+ #, fuzzy, no-c-format
+ msgid "Empty IMPLICIT statement at %C"
+ msgstr "Ikke-understøttet VXT-sætning ved %0"
+
+-#: fortran/decl.c:2524
++#: fortran/decl.c:2615
+ #, no-c-format
+ msgid "IMPORT statement at %C only permitted in an INTERFACE body"
+ msgstr ""
+
+-#: fortran/decl.c:2529
++#: fortran/decl.c:2620
+ #, fuzzy, no-c-format
+ msgid "Fortran 2003: IMPORT statement at %C"
+ msgstr "Ekstra komma i FORMAT-sætning ved %0"
+
+-#: fortran/decl.c:2544
++#: fortran/decl.c:2635
+ #, no-c-format
+ msgid "Expecting list of named entities at %C"
+ msgstr ""
+
+-#: fortran/decl.c:2572
++#: fortran/decl.c:2663
+ #, no-c-format
+ msgid "Cannot IMPORT '%s' from host scoping unit at %C - does not exist."
+ msgstr ""
+
+-#: fortran/decl.c:2579
++#: fortran/decl.c:2670
+ #, no-c-format
+ msgid "'%s' is already IMPORTed from host scoping unit at %C."
+ msgstr ""
+
+-#: fortran/decl.c:2608
++#: fortran/decl.c:2699
+ #, fuzzy, no-c-format
+ msgid "Syntax error in IMPORT statement at %C"
+ msgstr "Mystisk tal i FORMAT-sætning ved %0"
+
+-#: fortran/decl.c:2850
++#: fortran/decl.c:2941
+ #, fuzzy, no-c-format
+ msgid "Missing dimension specification at %C"
+ msgstr "Manglende %A-angivelse i sætning ved %0"
+
+-#: fortran/decl.c:2924
++#: fortran/decl.c:3015
+ #, fuzzy, no-c-format
+ msgid "Duplicate %s attribute at %L"
+ msgstr "mere end én ConstantValue-egenskab for feltet '%s'"
+
+-#: fortran/decl.c:2943
++#: fortran/decl.c:3034
+ #, no-c-format
+ msgid "Fortran 2003: ALLOCATABLE attribute at %C in a TYPE definition"
+ msgstr ""
+
+-#: fortran/decl.c:2953
++#: fortran/decl.c:3044
+ #, fuzzy, no-c-format
+ msgid "Attribute at %L is not allowed in a TYPE definition"
+ msgstr "en global registervariabel følger en funktionsdefinition"
+
+-#: fortran/decl.c:2971
++#: fortran/decl.c:3062
+ #, no-c-format
+ msgid "Fortran 2003: Attribute %s at %L in a TYPE definition"
+ msgstr ""
+
+-#: fortran/decl.c:2982
++#: fortran/decl.c:3073
+ #, no-c-format
+ msgid "%s attribute at %L is not allowed outside of the specification part of a module"
+ msgstr ""
+
+-#: fortran/decl.c:3034 fortran/decl.c:5437
++#: fortran/decl.c:3125 fortran/decl.c:5635
+ #, no-c-format
+ msgid "PROTECTED at %C only allowed in specification part of a module"
+ msgstr ""
+
+-#: fortran/decl.c:3040
++#: fortran/decl.c:3131
+ #, no-c-format
+ msgid "Fortran 2003: PROTECTED attribute at %C"
+ msgstr ""
+
+-#: fortran/decl.c:3071
++#: fortran/decl.c:3162
+ #, no-c-format
+ msgid "Fortran 2003: VALUE attribute at %C"
+ msgstr ""
+
+-#: fortran/decl.c:3081
++#: fortran/decl.c:3172
+ #, no-c-format
+ msgid "Fortran 2003: VOLATILE attribute at %C"
+ msgstr ""
+
+-#: fortran/decl.c:3121
++#: fortran/decl.c:3212
+ #, no-c-format
+ msgid "Multiple identifiers provided with single NAME= specifier at %C"
+ msgstr ""
+
+ #. Print an error, but continue parsing line.
+-#: fortran/decl.c:3171
++#: fortran/decl.c:3261
+ #, no-c-format
+ msgid "C kind parameter is for type %s but symbol '%s' at %L is of type %s"
+ msgstr ""
+
+-#: fortran/decl.c:3235
++#: fortran/decl.c:3325
+ #, no-c-format
+ msgid "Implicitly declared BIND(C) function '%s' at %L may not be C interoperable"
+ msgstr ""
+
+-#: fortran/decl.c:3257
++#: fortran/decl.c:3347
+ #, no-c-format
+ msgid "Variable '%s' in common block '%s' at %L may not be a C interoperable kind though common block '%s' is BIND(C)"
+ msgstr ""
+
+-#: fortran/decl.c:3266
++#: fortran/decl.c:3356
+ #, no-c-format
+ msgid "Type declaration '%s' at %L is not C interoperable but it is BIND(C)"
+ msgstr ""
+
+-#: fortran/decl.c:3270
++#: fortran/decl.c:3360
+ #, no-c-format
+ msgid "Variable '%s' at %L may not be a C interoperable kind but it is bind(c)"
+ msgstr ""
+
+-#: fortran/decl.c:3282
++#: fortran/decl.c:3372
+ #, no-c-format
+ msgid "Variable '%s' in common block '%s' at %L cannot be declared with BIND(C) since it is not a global"
+ msgstr ""
+
+-#: fortran/decl.c:3296
++#: fortran/decl.c:3386
+ #, no-c-format
+ msgid "Variable '%s' at %L cannot have both the POINTER and BIND(C) attributes"
+ msgstr ""
+
+-#: fortran/decl.c:3304
++#: fortran/decl.c:3394
+ #, no-c-format
+ msgid "Variable '%s' at %L cannot have both the ALLOCATABLE and BIND(C) attributes"
+ msgstr ""
+
+-#: fortran/decl.c:3314
++#: fortran/decl.c:3404
+ #, no-c-format
+ msgid "Return type of BIND(C) function '%s' at %L cannot be an array"
+ msgstr ""
+
+-#: fortran/decl.c:3322
++#: fortran/decl.c:3412
+ #, no-c-format
+ msgid "Return type of BIND(C) function '%s' at %L cannot be a character string"
+ msgstr ""
+
+ #. Use gfc_warning_now because we won't say that the symbol fails
+ #. just because of this.
+-#: fortran/decl.c:3334
++#: fortran/decl.c:3424
+ #, no-c-format
+ msgid "Symbol '%s' at %L is marked PRIVATE but has been given the binding label '%s'"
+ msgstr ""
+
+-#: fortran/decl.c:3409
++#: fortran/decl.c:3499
+ #, no-c-format
+ msgid "Need either entity or common block name for attribute specification statement at %C"
+ msgstr ""
+
+-#: fortran/decl.c:3456
++#: fortran/decl.c:3546
+ #, no-c-format
+ msgid "Missing entity or common block name for attribute specification statement at %C"
+ msgstr ""
+
+ #. Now we have an error, which we signal, and then fix up
+ #. because the knock-on is plain and simple confusing.
+-#: fortran/decl.c:3563
++#: fortran/decl.c:3653
+ #, no-c-format
+ msgid "Derived type at %C has not been previously defined and so cannot appear in a derived type definition"
+ msgstr ""
+
+-#: fortran/decl.c:3595
++#: fortran/decl.c:3685
+ #, fuzzy, no-c-format
+ msgid "Syntax error in data declaration at %C"
+ msgstr "\"%s\" må ikke optræde i makroparameterliste"
+
+-#: fortran/decl.c:3742
++#: fortran/decl.c:3832
+ #, no-c-format
+ msgid "Name '%s' at %C is the name of the procedure"
+ msgstr ""
+
+-#: fortran/decl.c:3754
++#: fortran/decl.c:3844
+ #, no-c-format
+ msgid "Unexpected junk in formal argument list at %C"
+ msgstr ""
+
+-#: fortran/decl.c:3771
++#: fortran/decl.c:3861
+ #, no-c-format
+ msgid "Duplicate symbol '%s' in formal argument list at %C"
+ msgstr ""
+
+-#: fortran/decl.c:3822
++#: fortran/decl.c:3912
+ #, no-c-format
+ msgid "RESULT variable at %C must be different than function name"
+ msgstr ""
+
+-#: fortran/decl.c:3892
++#: fortran/decl.c:3990
+ #, fuzzy, no-c-format
+ msgid "Unexpected junk after function declaration at %C"
+ msgstr "strider mod funktionserklæring '%#D'"
+
+-#: fortran/decl.c:3951
++#: fortran/decl.c:4000 fortran/decl.c:4734
++#, fuzzy, no-c-format
++msgid "Extension: BIND(C) attribute at %L may not be specified for an internal procedure"
++msgstr "sektionsegenskaben kan ikke angives for lokale variabler"
++
++#: fortran/decl.c:4066
+ #, no-c-format
+ msgid "Interface '%s' at %C may not be generic"
+ msgstr ""
+
+-#: fortran/decl.c:3956
++#: fortran/decl.c:4071
+ #, fuzzy, no-c-format
+ msgid "Interface '%s' at %C may not be a statement function"
+ msgstr "konstruktionsfunktionen kan ikke være en statisk medlemsfunktion"
+
+-#: fortran/decl.c:3967
++#: fortran/decl.c:4082
+ #, no-c-format
+ msgid "Intrinsic procedure '%s' not allowed in PROCEDURE statement at %C"
+ msgstr ""
+
+-#: fortran/decl.c:3975
++#: fortran/decl.c:4118
+ #, no-c-format
+-msgid "Fortran 2003: Support for intrinsic procedure '%s' in PROCEDURE statement at %C not yet implemented in gfortran"
+-msgstr ""
+-
+-#: fortran/decl.c:4014
+-#, no-c-format
+ msgid "BIND(C) attribute at %C requires an interface with BIND(C)"
+ msgstr ""
+
+-#: fortran/decl.c:4021
++#: fortran/decl.c:4125
+ #, no-c-format
+ msgid "BIND(C) procedure with NAME may not have POINTER attribute at %C"
+ msgstr ""
+
+-#: fortran/decl.c:4027
++#: fortran/decl.c:4131
+ #, no-c-format
+ msgid "Dummy procedure at %C may not have BIND(C) attribute with NAME"
+ msgstr ""
+
+-#: fortran/decl.c:4060 fortran/decl.c:4103
++#: fortran/decl.c:4167 fortran/decl.c:4210
+ #, fuzzy, no-c-format
+ msgid "Syntax error in PROCEDURE statement at %C"
+ msgstr "Mystisk tal i FORMAT-sætning ved %0"
+
+-#: fortran/decl.c:4077
++#: fortran/decl.c:4184
+ #, no-c-format
+ msgid "PROCEDURE at %C must be in a generic interface"
+ msgstr ""
+
+-#: fortran/decl.c:4128
++#: fortran/decl.c:4235
+ #, no-c-format
+ msgid "Fortran 2003: Procedure components at %C are not yet implemented in gfortran"
+ msgstr ""
+
+-#: fortran/decl.c:4138
++#: fortran/decl.c:4245
+ #, no-c-format
+ msgid "Fortran 2003: PROCEDURE statement at %C"
+ msgstr ""
+
+-#: fortran/decl.c:4186
++#: fortran/decl.c:4293
+ #, no-c-format
+ msgid "Expected formal argument list in function definition at %C"
+ msgstr ""
+
+-#: fortran/decl.c:4210 fortran/decl.c:4214 fortran/decl.c:4536
+-#: fortran/decl.c:4540 fortran/symbol.c:1402
++#: fortran/decl.c:4317 fortran/decl.c:4321 fortran/decl.c:4520
++#: fortran/decl.c:4524 fortran/decl.c:4702 fortran/decl.c:4706
++#: fortran/symbol.c:1402
+ #, no-c-format
+ msgid "BIND(C) attribute at %L can only be used for variables or common blocks"
+ msgstr ""
+
+-#: fortran/decl.c:4246
++#: fortran/decl.c:4353
+ #, fuzzy, no-c-format
+ msgid "Function '%s' at %C already has a type of %s"
+ msgstr "Funktionsbegyndelser justeres til denne potens af 2"
+
+-#: fortran/decl.c:4322
++#: fortran/decl.c:4441
+ #, no-c-format
+ msgid "ENTRY statement at %C cannot appear within a PROGRAM"
+ msgstr ""
+
+-#: fortran/decl.c:4325
++#: fortran/decl.c:4444
+ #, no-c-format
+ msgid "ENTRY statement at %C cannot appear within a MODULE"
+ msgstr ""
+
+-#: fortran/decl.c:4328
++#: fortran/decl.c:4447
+ #, no-c-format
+ msgid "ENTRY statement at %C cannot appear within a BLOCK DATA"
+ msgstr ""
+
+-#: fortran/decl.c:4332
++#: fortran/decl.c:4451
+ #, no-c-format
+ msgid "ENTRY statement at %C cannot appear within an INTERFACE"
+ msgstr ""
+
+-#: fortran/decl.c:4336
++#: fortran/decl.c:4455
+ #, no-c-format
+ msgid "ENTRY statement at %C cannot appear within a DERIVED TYPE block"
+ msgstr ""
+
+-#: fortran/decl.c:4340
++#: fortran/decl.c:4459
+ #, no-c-format
+ msgid "ENTRY statement at %C cannot appear within an IF-THEN block"
+ msgstr ""
+
+-#: fortran/decl.c:4344
++#: fortran/decl.c:4463
+ #, fuzzy, no-c-format
+ msgid "ENTRY statement at %C cannot appear within a DO block"
+ msgstr "RETURN-sætning ved %0 ugyldig inden i en hovedprogramenhed"
+
+-#: fortran/decl.c:4348
++#: fortran/decl.c:4467
+ #, no-c-format
+ msgid "ENTRY statement at %C cannot appear within a SELECT block"
+ msgstr ""
+
+-#: fortran/decl.c:4352
++#: fortran/decl.c:4471
+ #, no-c-format
+ msgid "ENTRY statement at %C cannot appear within a FORALL block"
+ msgstr ""
+
+-#: fortran/decl.c:4356
++#: fortran/decl.c:4475
+ #, no-c-format
+ msgid "ENTRY statement at %C cannot appear within a WHERE block"
+ msgstr ""
+
+-#: fortran/decl.c:4360
++#: fortran/decl.c:4479
+ #, fuzzy, no-c-format
+ msgid "ENTRY statement at %C cannot appear within a contained subprogram"
+ msgstr "RETURN-sætning ved %0 ugyldig inden i en hovedprogramenhed"
+
+-#: fortran/decl.c:4378
++#: fortran/decl.c:4497
+ #, fuzzy, no-c-format
+ msgid "ENTRY statement at %C cannot appear in a contained procedure"
+ msgstr "overløb i konstant udtryk"
+
+-#: fortran/decl.c:4560
++#: fortran/decl.c:4552 fortran/decl.c:4742
+ #, no-c-format
+ msgid "Missing required parentheses before BIND(C) at %C"
+ msgstr ""
+
+-#: fortran/decl.c:4618 fortran/decl.c:4634
++#: fortran/decl.c:4801 fortran/decl.c:4817
+ #, no-c-format
+ msgid "Syntax error in NAME= specifier for binding label at %C"
+ msgstr ""
+
+-#: fortran/decl.c:4649
++#: fortran/decl.c:4832
+ #, no-c-format
+ msgid "Missing closing quote '\"' for binding label at %C"
+ msgstr ""
+
+-#: fortran/decl.c:4658
++#: fortran/decl.c:4841
+ #, no-c-format
+ msgid "Missing closing quote ''' for binding label at %C"
+ msgstr ""
+
+-#: fortran/decl.c:4668
++#: fortran/decl.c:4851
+ #, fuzzy, no-c-format
+ msgid "Missing closing paren for binding label at %C"
+ msgstr "Manglende første operand for binær operator ved %0"
+
+-#: fortran/decl.c:4703
++#: fortran/decl.c:4857
+ #, no-c-format
++msgid "No binding name is allowed in BIND(C) at %C"
++msgstr ""
++
++#: fortran/decl.c:4863
++#, no-c-format
++msgid "For dummy procedure %s, no binding name is allowed in BIND(C) at %C"
++msgstr ""
++
++#: fortran/decl.c:4894
++#, no-c-format
+ msgid "NAME not allowed on BIND(C) for ABSTRACT INTERFACE at %C"
+ msgstr ""
+
+-#: fortran/decl.c:4876
++#: fortran/decl.c:5066
+ #, fuzzy, no-c-format
+ msgid "Unexpected END statement at %C"
+ msgstr "Ikke-understøttet VXT-sætning ved %0"
+
+ #. We would have required END [something].
+-#: fortran/decl.c:4885
++#: fortran/decl.c:5075
+ #, no-c-format
+ msgid "%s statement expected at %L"
+ msgstr ""
+
+-#: fortran/decl.c:4896
++#: fortran/decl.c:5086
+ #, fuzzy, no-c-format
+ msgid "Expecting %s statement at %C"
+ msgstr "Ekstra komma i FORMAT-sætning ved %0"
+
+-#: fortran/decl.c:4911
++#: fortran/decl.c:5101
+ #, fuzzy, no-c-format
+ msgid "Expected block name of '%s' in %s statement at %C"
+ msgstr "mere end én '%s'-etiket i switch-sætningen"
+
+-#: fortran/decl.c:4928
++#: fortran/decl.c:5118
+ #, no-c-format
+ msgid "Expected terminating name at %C"
+ msgstr ""
+
+-#: fortran/decl.c:4937
++#: fortran/decl.c:5127
+ #, fuzzy, no-c-format
+ msgid "Expected label '%s' for %s statement at %C"
+ msgstr "mere end én '%s'-etiket i switch-sætningen"
+
+-#: fortran/decl.c:4991
++#: fortran/decl.c:5181
+ #, fuzzy, no-c-format
+ msgid "Missing array specification at %L in DIMENSION statement"
+ msgstr "Manglende %A-angivelse i sætning ved %0"
+
+-#: fortran/decl.c:5000
++#: fortran/decl.c:5189
+ #, no-c-format
++msgid "Dimensions specified for %s at %L after its initialisation"
++msgstr ""
++
++#: fortran/decl.c:5198
++#, no-c-format
+ msgid "Array specification must be deferred at %L"
+ msgstr ""
+
+-#: fortran/decl.c:5077
++#: fortran/decl.c:5275
+ #, no-c-format
+ msgid "Unexpected character in variable list at %C"
+ msgstr ""
+
+-#: fortran/decl.c:5114
++#: fortran/decl.c:5312
+ #, no-c-format
+ msgid "Expected '(' at %C"
+ msgstr ""
+
+-#: fortran/decl.c:5128 fortran/decl.c:5168
++#: fortran/decl.c:5326 fortran/decl.c:5366
+ #, no-c-format
+ msgid "Expected variable name at %C"
+ msgstr ""
+
+-#: fortran/decl.c:5144
++#: fortran/decl.c:5342
+ #, fuzzy, no-c-format
+ msgid "Cray pointer at %C must be an integer"
+ msgstr "udsagn skal være et kaldenavn"
+
+-#: fortran/decl.c:5148
++#: fortran/decl.c:5346
+ #, no-c-format
+ msgid "Cray pointer at %C has %d bytes of precision; memory addresses require %d bytes"
+ msgstr ""
+
+-#: fortran/decl.c:5154
++#: fortran/decl.c:5352
+ #, no-c-format
+ msgid "Expected \",\" at %C"
+ msgstr ""
+
+-#: fortran/decl.c:5217
++#: fortran/decl.c:5415
+ #, no-c-format
+ msgid "Expected \")\" at %C"
+ msgstr ""
+
+-#: fortran/decl.c:5229
++#: fortran/decl.c:5427
+ #, fuzzy, no-c-format
+ msgid "Expected \",\" or end of statement at %C"
+ msgstr "Ikke-understøttet VXT-sætning ved %0"
+
+-#: fortran/decl.c:5293
++#: fortran/decl.c:5491
+ #, no-c-format
+ msgid "Cray pointer declaration at %C requires -fcray-pointer flag"
+ msgstr ""
+
+-#: fortran/decl.c:5388
++#: fortran/decl.c:5586
+ #, no-c-format
+ msgid "Access specification of the %s operator at %C has already been specified"
+ msgstr ""
+
+-#: fortran/decl.c:5405
++#: fortran/decl.c:5603
+ #, no-c-format
+ msgid "Access specification of the .%s. operator at %C has already been specified"
+ msgstr ""
+
+-#: fortran/decl.c:5443
++#: fortran/decl.c:5641
+ #, no-c-format
+ msgid "Fortran 2003: PROTECTED statement at %C"
+ msgstr ""
+
+-#: fortran/decl.c:5483
++#: fortran/decl.c:5681
+ #, fuzzy, no-c-format
+ msgid "Syntax error in PROTECTED statement at %C"
+ msgstr "Mystisk tal i FORMAT-sætning ved %0"
+
+-#: fortran/decl.c:5504
++#: fortran/decl.c:5702
+ #, fuzzy, no-c-format
+ msgid "PRIVATE statement at %C is only allowed in the specification part of a module"
+ msgstr "Tilgangsangivelse eller PRIVATE-sætning ved %0 er ugyldig for nedarvet typedefinition som ikke er i specifikationsdelen af et modul"
+
+-#: fortran/decl.c:5541
++#: fortran/decl.c:5739
+ #, fuzzy, no-c-format
+ msgid "PUBLIC statement at %C is only allowed in the specification part of a module"
+ msgstr "Tilgangsangivelse eller PRIVATE-sætning ved %0 er ugyldig for nedarvet typedefinition som ikke er i specifikationsdelen af et modul"
+
+-#: fortran/decl.c:5568
++#: fortran/decl.c:5766
+ #, no-c-format
+ msgid "Expected variable name at %C in PARAMETER statement"
+ msgstr ""
+
+-#: fortran/decl.c:5575
++#: fortran/decl.c:5773
+ #, fuzzy, no-c-format
+ msgid "Expected = sign in PARAMETER statement at %C"
+ msgstr "Mystisk fortegn i FORMAT-sætning ved %0"
+
+-#: fortran/decl.c:5581
++#: fortran/decl.c:5779
+ #, no-c-format
+ msgid "Expected expression at %C in PARAMETER statement"
+ msgstr ""
+
+-#: fortran/decl.c:5639
++#: fortran/decl.c:5799
+ #, fuzzy, no-c-format
++msgid "Initializing already initialized variable at %C"
++msgstr "klargør tabel med en parameterliste"
++
++#: fortran/decl.c:5844
++#, fuzzy, no-c-format
+ msgid "Unexpected characters in PARAMETER statement at %C"
+ msgstr "Ekstra komma i FORMAT-sætning ved %0"
+
+-#: fortran/decl.c:5663
++#: fortran/decl.c:5868
+ #, no-c-format
+ msgid "Blanket SAVE statement at %C follows previous SAVE statement"
+ msgstr ""
+
+-#: fortran/decl.c:5675
++#: fortran/decl.c:5880
+ #, no-c-format
+ msgid "SAVE statement at %C follows blanket SAVE statement"
+ msgstr ""
+
+-#: fortran/decl.c:5722
++#: fortran/decl.c:5927
+ #, fuzzy, no-c-format
+ msgid "Syntax error in SAVE statement at %C"
+ msgstr "Mystisk tal i FORMAT-sætning ved %0"
+
+-#: fortran/decl.c:5733
++#: fortran/decl.c:5938
+ #, fuzzy, no-c-format
+ msgid "Fortran 2003: VALUE statement at %C"
+ msgstr "Ikke-understøttet VXT-sætning ved %0"
+
+-#: fortran/decl.c:5773
++#: fortran/decl.c:5978
+ #, fuzzy, no-c-format
+ msgid "Syntax error in VALUE statement at %C"
+ msgstr "Mystisk tal i FORMAT-sætning ved %0"
+
+-#: fortran/decl.c:5784
++#: fortran/decl.c:5989
+ #, fuzzy, no-c-format
+ msgid "Fortran 2003: VOLATILE statement at %C"
+ msgstr "Ikke-understøttet VXT-sætning ved %0"
+
+-#: fortran/decl.c:5826
++#: fortran/decl.c:6031
+ #, fuzzy, no-c-format
+ msgid "Syntax error in VOLATILE statement at %C"
+ msgstr "Mystisk tal i FORMAT-sætning ved %0"
+
+-#: fortran/decl.c:5848
++#: fortran/decl.c:6054
+ #, no-c-format
+ msgid "MODULE PROCEDURE at %C must be in a generic module interface"
+ msgstr ""
+
+-#: fortran/decl.c:5910
++#: fortran/decl.c:6142
+ #, no-c-format
+ msgid "Derived type at %C can only be PRIVATE in the specification part of a module"
+ msgstr ""
+
+-#: fortran/decl.c:5922
++#: fortran/decl.c:6154
+ #, no-c-format
+ msgid "Derived type at %C can only be PUBLIC in the specification part of a module"
+ msgstr ""
+
+-#: fortran/decl.c:5979
++#: fortran/decl.c:6211
+ #, no-c-format
+ msgid "Expected :: in TYPE definition at %C"
+ msgstr ""
+
+-#: fortran/decl.c:5990
++#: fortran/decl.c:6222
+ #, fuzzy, no-c-format
+ msgid "Type name '%s' at %C cannot be the same as an intrinsic type"
+ msgstr "Typenavn ved %0 er ikke det samme som navn ved %1"
+
+-#: fortran/decl.c:6000
++#: fortran/decl.c:6232
+ #, no-c-format
+ msgid "Derived type name '%s' at %C already has a basic type of %s"
+ msgstr ""
+
+-#: fortran/decl.c:6016
++#: fortran/decl.c:6248
+ #, no-c-format
+ msgid "Derived type definition of '%s' at %C has already been defined"
+ msgstr ""
+
+-#: fortran/decl.c:6054
++#: fortran/decl.c:6286
+ #, no-c-format
+ msgid "Cray Pointee at %C cannot be assumed shape array"
+ msgstr ""
+
+-#: fortran/decl.c:6074
++#: fortran/decl.c:6306
+ #, no-c-format
+ msgid "Fortran 2003: ENUM and ENUMERATOR at %C"
+ msgstr ""
+
+-#: fortran/decl.c:6146
++#: fortran/decl.c:6378
+ #, no-c-format
+ msgid "ENUMERATOR %L not initialized with integer expression"
+ msgstr ""
+
+-#: fortran/decl.c:6195
++#: fortran/decl.c:6427
+ #, fuzzy, no-c-format
+ msgid "ENUM definition statement expected before %C"
+ msgstr "der forventedes et typenavn før '*'"
+
+-#: fortran/decl.c:6228
++#: fortran/decl.c:6460
+ #, no-c-format
+ msgid "Syntax error in ENUMERATOR definition at %C"
+ msgstr ""
+@@ -5399,21 +5356,21 @@
+ msgid " "
+ msgstr " '%D'"
+
+-#: fortran/dump-parse-tree.c:73 fortran/dump-parse-tree.c:626
++#: fortran/dump-parse-tree.c:73 fortran/dump-parse-tree.c:637
+ #, fuzzy, c-format
+ msgid "(%s "
+ msgstr "%s "
+
+-#: fortran/dump-parse-tree.c:86 fortran/dump-parse-tree.c:1069
+-#: fortran/dump-parse-tree.c:1113 fortran/dump-parse-tree.c:1123
++#: fortran/dump-parse-tree.c:86 fortran/dump-parse-tree.c:1091
++#: fortran/dump-parse-tree.c:1135 fortran/dump-parse-tree.c:1145
+ #, c-format
+ msgid "%d"
+ msgstr ""
+
+ #: fortran/dump-parse-tree.c:90 fortran/dump-parse-tree.c:116
+ #: fortran/dump-parse-tree.c:159 fortran/dump-parse-tree.c:395
+-#: fortran/dump-parse-tree.c:518 fortran/dump-parse-tree.c:613
+-#: fortran/dump-parse-tree.c:636
++#: fortran/dump-parse-tree.c:518 fortran/dump-parse-tree.c:624
++#: fortran/dump-parse-tree.c:647
+ #, c-format
+ msgid ")"
+ msgstr ""
+@@ -5551,7 +5508,7 @@
+ msgid "%.2x"
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:429 fortran/dump-parse-tree.c:732
++#: fortran/dump-parse-tree.c:429 fortran/dump-parse-tree.c:754
+ #, fuzzy, c-format
+ msgid "%s:"
+ msgstr "%s"
+@@ -5666,750 +5623,755 @@
+ msgid "%s[["
+ msgstr "%s"
+
+-#: fortran/dump-parse-tree.c:551
++#: fortran/dump-parse-tree.c:560
+ #, fuzzy, c-format
+ msgid "(%s %s %s %s %s"
+ msgstr "%s: %s: "
+
+-#: fortran/dump-parse-tree.c:558
++#: fortran/dump-parse-tree.c:567
+ #, c-format
+ msgid " ALLOCATABLE"
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:560 fortran/dump-parse-tree.c:631
++#: fortran/dump-parse-tree.c:569 fortran/dump-parse-tree.c:642
+ #, c-format
+ msgid " DIMENSION"
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:562
++#: fortran/dump-parse-tree.c:571
+ #, c-format
+ msgid " EXTERNAL"
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:564
++#: fortran/dump-parse-tree.c:573
+ #, c-format
+ msgid " INTRINSIC"
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:566
++#: fortran/dump-parse-tree.c:575
+ #, c-format
+ msgid " OPTIONAL"
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:568 fortran/dump-parse-tree.c:629
++#: fortran/dump-parse-tree.c:577 fortran/dump-parse-tree.c:640
+ #, c-format
+ msgid " POINTER"
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:570
++#: fortran/dump-parse-tree.c:579
+ #, c-format
+ msgid " PROTECTED"
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:572
++#: fortran/dump-parse-tree.c:581
+ #, c-format
+ msgid " VALUE"
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:574
++#: fortran/dump-parse-tree.c:583
+ #, c-format
+ msgid " VOLATILE"
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:576
++#: fortran/dump-parse-tree.c:585
+ #, c-format
+ msgid " THREADPRIVATE"
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:578
++#: fortran/dump-parse-tree.c:587
+ #, c-format
+ msgid " TARGET"
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:580
++#: fortran/dump-parse-tree.c:589
+ #, c-format
+ msgid " DUMMY"
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:582
++#: fortran/dump-parse-tree.c:591
+ #, c-format
+ msgid " RESULT"
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:584
++#: fortran/dump-parse-tree.c:593
+ #, c-format
+ msgid " ENTRY"
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:587
++#: fortran/dump-parse-tree.c:595
+ #, c-format
++msgid " BIND(C)"
++msgstr ""
++
++#: fortran/dump-parse-tree.c:598
++#, c-format
+ msgid " DATA"
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:589
++#: fortran/dump-parse-tree.c:600
+ #, c-format
+ msgid " USE-ASSOC"
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:591
++#: fortran/dump-parse-tree.c:602
+ #, c-format
+ msgid " IN-NAMELIST"
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:593
++#: fortran/dump-parse-tree.c:604
+ #, c-format
+ msgid " IN-COMMON"
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:596
++#: fortran/dump-parse-tree.c:607
+ #, c-format
+ msgid " ABSTRACT INTERFACE"
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:598
++#: fortran/dump-parse-tree.c:609
+ #, c-format
+ msgid " FUNCTION"
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:600
++#: fortran/dump-parse-tree.c:611
+ #, c-format
+ msgid " SUBROUTINE"
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:602
++#: fortran/dump-parse-tree.c:613
+ #, c-format
+ msgid " IMPLICIT-TYPE"
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:605
++#: fortran/dump-parse-tree.c:616
+ #, c-format
+ msgid " SEQUENCE"
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:607
++#: fortran/dump-parse-tree.c:618
+ #, c-format
+ msgid " ELEMENTAL"
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:609
++#: fortran/dump-parse-tree.c:620
+ #, c-format
+ msgid " PURE"
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:611
++#: fortran/dump-parse-tree.c:622
+ #, c-format
+ msgid " RECURSIVE"
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:635 fortran/dump-parse-tree.c:682
+-#: fortran/dump-parse-tree.c:706 fortran/dump-parse-tree.c:735
+-#: fortran/dump-parse-tree.c:1276 fortran/dump-parse-tree.c:1282
+-#: fortran/dump-parse-tree.c:1784
++#: fortran/dump-parse-tree.c:646 fortran/dump-parse-tree.c:693
++#: fortran/dump-parse-tree.c:717 fortran/dump-parse-tree.c:757
++#: fortran/dump-parse-tree.c:1298 fortran/dump-parse-tree.c:1304
++#: fortran/dump-parse-tree.c:1806
+ #, c-format
+ msgid " %s"
+ msgstr " %s"
+
+-#: fortran/dump-parse-tree.c:659
++#: fortran/dump-parse-tree.c:670
+ #, c-format
+ msgid "symbol %s "
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:666
++#: fortran/dump-parse-tree.c:677
+ #, c-format
+ msgid "value: "
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:673
++#: fortran/dump-parse-tree.c:684
+ #, c-format
+ msgid "Array spec:"
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:680
++#: fortran/dump-parse-tree.c:691
+ #, fuzzy, c-format
+ msgid "Generic interfaces:"
+ msgstr "Benyt Cygwin-grænseflade"
+
+-#: fortran/dump-parse-tree.c:688
++#: fortran/dump-parse-tree.c:699
+ #, fuzzy, c-format
+ msgid "result: %s"
+ msgstr "%s: %s"
+
+-#: fortran/dump-parse-tree.c:694
++#: fortran/dump-parse-tree.c:705
+ #, c-format
+ msgid "components: "
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:701
++#: fortran/dump-parse-tree.c:712
+ #, c-format
+ msgid "Formal arglist:"
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:708
++#: fortran/dump-parse-tree.c:719
+ #, c-format
+ msgid " [Alt Return]"
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:715
++#: fortran/dump-parse-tree.c:726
+ #, fuzzy, c-format
+ msgid "Formal namespace"
+ msgstr "'%D' er et navnerum"
+
+-#: fortran/dump-parse-tree.c:771
++#: fortran/dump-parse-tree.c:793
+ #, c-format
+ msgid "common: /%s/ "
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:779 fortran/dump-parse-tree.c:1720
++#: fortran/dump-parse-tree.c:801 fortran/dump-parse-tree.c:1742
+ #, c-format
+ msgid ", "
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:791
++#: fortran/dump-parse-tree.c:813
+ #, c-format
+ msgid "symtree: %s Ambig %d"
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:794
++#: fortran/dump-parse-tree.c:816
+ #, fuzzy, c-format
+ msgid " from namespace %s"
+ msgstr "ukendt navnerum '%D'"
+
+-#: fortran/dump-parse-tree.c:820
++#: fortran/dump-parse-tree.c:842
+ #, fuzzy, c-format
+ msgid "%s,"
+ msgstr "%s"
+
+-#: fortran/dump-parse-tree.c:852
++#: fortran/dump-parse-tree.c:874
+ #, c-format
+ msgid "!$OMP %s"
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:867 fortran/dump-parse-tree.c:1010
++#: fortran/dump-parse-tree.c:889 fortran/dump-parse-tree.c:1032
+ #, fuzzy, c-format
+ msgid " (%s)"
+ msgstr " %s"
+
+-#: fortran/dump-parse-tree.c:872
++#: fortran/dump-parse-tree.c:894
+ #, c-format
+ msgid " ("
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:888
++#: fortran/dump-parse-tree.c:910
+ #, c-format
+ msgid " IF("
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:894
++#: fortran/dump-parse-tree.c:916
+ #, c-format
+ msgid " NUM_THREADS("
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:910
++#: fortran/dump-parse-tree.c:932
+ #, c-format
+ msgid " SCHEDULE (%s"
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:930
++#: fortran/dump-parse-tree.c:952
+ #, c-format
+ msgid " DEFAULT(%s)"
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:933
++#: fortran/dump-parse-tree.c:955
+ #, c-format
+ msgid " ORDERED"
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:958
++#: fortran/dump-parse-tree.c:980
+ #, c-format
+ msgid " REDUCTION(%s:"
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:972
++#: fortran/dump-parse-tree.c:994
+ #, fuzzy, c-format
+ msgid " %s("
+ msgstr " %s"
+
+-#: fortran/dump-parse-tree.c:988
++#: fortran/dump-parse-tree.c:1010
+ #, c-format
+ msgid "!$OMP SECTION\n"
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:997
++#: fortran/dump-parse-tree.c:1019
+ #, c-format
+ msgid "!$OMP END %s"
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:1002
++#: fortran/dump-parse-tree.c:1024
+ #, c-format
+ msgid " COPYPRIVATE("
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:1007
++#: fortran/dump-parse-tree.c:1029
+ #, c-format
+ msgid " NOWAIT"
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:1034
++#: fortran/dump-parse-tree.c:1056
+ #, c-format
+ msgid "NOP"
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:1038
++#: fortran/dump-parse-tree.c:1060
+ #, c-format
+ msgid "CONTINUE"
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:1042
++#: fortran/dump-parse-tree.c:1064
+ #, c-format
+ msgid "ENTRY %s"
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:1047
++#: fortran/dump-parse-tree.c:1069
+ #, c-format
+ msgid "ASSIGN "
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:1054
++#: fortran/dump-parse-tree.c:1076
+ #, c-format
+ msgid "LABEL ASSIGN "
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:1056
++#: fortran/dump-parse-tree.c:1078
+ #, fuzzy, c-format
+ msgid " %d"
+ msgstr " %s"
+
+-#: fortran/dump-parse-tree.c:1060
++#: fortran/dump-parse-tree.c:1082
+ #, c-format
+ msgid "POINTER ASSIGN "
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:1067
++#: fortran/dump-parse-tree.c:1089
+ #, c-format
+ msgid "GOTO "
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:1076
++#: fortran/dump-parse-tree.c:1098
+ #, c-format
+ msgid ", ("
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:1092 fortran/dump-parse-tree.c:1094
++#: fortran/dump-parse-tree.c:1114 fortran/dump-parse-tree.c:1116
+ #, c-format
+ msgid "CALL %s "
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:1096
++#: fortran/dump-parse-tree.c:1118
+ #, c-format
+ msgid "CALL ?? "
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:1102
++#: fortran/dump-parse-tree.c:1124
+ #, c-format
+ msgid "RETURN "
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:1108
++#: fortran/dump-parse-tree.c:1130
+ #, c-format
+ msgid "PAUSE "
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:1118
++#: fortran/dump-parse-tree.c:1140
+ #, c-format
+ msgid "STOP "
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:1128 fortran/dump-parse-tree.c:1136
++#: fortran/dump-parse-tree.c:1150 fortran/dump-parse-tree.c:1158
+ #, c-format
+ msgid "IF "
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:1130
++#: fortran/dump-parse-tree.c:1152
+ #, fuzzy, c-format
+ msgid " %d, %d, %d"
+ msgstr "%s: %s: "
+
+-#: fortran/dump-parse-tree.c:1147
++#: fortran/dump-parse-tree.c:1169
+ #, c-format
+ msgid "ELSE\n"
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:1150
++#: fortran/dump-parse-tree.c:1172
+ #, c-format
+ msgid "ELSE IF "
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:1160
++#: fortran/dump-parse-tree.c:1182
+ #, c-format
+ msgid "ENDIF"
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:1165
++#: fortran/dump-parse-tree.c:1187
+ #, c-format
+ msgid "SELECT CASE "
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:1173
++#: fortran/dump-parse-tree.c:1195
+ #, c-format
+ msgid "CASE "
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:1189
++#: fortran/dump-parse-tree.c:1211
+ #, c-format
+ msgid "END SELECT"
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:1193
++#: fortran/dump-parse-tree.c:1215
+ #, c-format
+ msgid "WHERE "
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:1204
++#: fortran/dump-parse-tree.c:1226
+ #, c-format
+ msgid "ELSE WHERE "
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:1211
++#: fortran/dump-parse-tree.c:1233
+ #, c-format
+ msgid "END WHERE"
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:1216
++#: fortran/dump-parse-tree.c:1238
+ #, c-format
+ msgid "FORALL "
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:1241
++#: fortran/dump-parse-tree.c:1263
+ #, c-format
+ msgid "END FORALL"
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:1245
++#: fortran/dump-parse-tree.c:1267
+ #, c-format
+ msgid "DO "
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:1259 fortran/dump-parse-tree.c:1270
++#: fortran/dump-parse-tree.c:1281 fortran/dump-parse-tree.c:1292
+ #, c-format
+ msgid "END DO"
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:1263
++#: fortran/dump-parse-tree.c:1285
+ #, c-format
+ msgid "DO WHILE "
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:1274
++#: fortran/dump-parse-tree.c:1296
+ #, c-format
+ msgid "CYCLE"
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:1280
++#: fortran/dump-parse-tree.c:1302
+ #, c-format
+ msgid "EXIT"
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:1286
++#: fortran/dump-parse-tree.c:1308
+ #, c-format
+ msgid "ALLOCATE "
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:1289 fortran/dump-parse-tree.c:1305
++#: fortran/dump-parse-tree.c:1311 fortran/dump-parse-tree.c:1327
+ #, c-format
+ msgid " STAT="
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:1302
++#: fortran/dump-parse-tree.c:1324
+ #, c-format
+ msgid "DEALLOCATE "
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:1318
++#: fortran/dump-parse-tree.c:1340
+ #, c-format
+ msgid "OPEN"
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:1323 fortran/dump-parse-tree.c:1402
+-#: fortran/dump-parse-tree.c:1444 fortran/dump-parse-tree.c:1467
+-#: fortran/dump-parse-tree.c:1619
++#: fortran/dump-parse-tree.c:1345 fortran/dump-parse-tree.c:1424
++#: fortran/dump-parse-tree.c:1466 fortran/dump-parse-tree.c:1489
++#: fortran/dump-parse-tree.c:1641
+ #, c-format
+ msgid " UNIT="
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:1328 fortran/dump-parse-tree.c:1407
+-#: fortran/dump-parse-tree.c:1449 fortran/dump-parse-tree.c:1478
+-#: fortran/dump-parse-tree.c:1636
++#: fortran/dump-parse-tree.c:1350 fortran/dump-parse-tree.c:1429
++#: fortran/dump-parse-tree.c:1471 fortran/dump-parse-tree.c:1500
++#: fortran/dump-parse-tree.c:1658
+ #, c-format
+ msgid " IOMSG="
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:1333 fortran/dump-parse-tree.c:1412
+-#: fortran/dump-parse-tree.c:1454 fortran/dump-parse-tree.c:1483
+-#: fortran/dump-parse-tree.c:1641
++#: fortran/dump-parse-tree.c:1355 fortran/dump-parse-tree.c:1434
++#: fortran/dump-parse-tree.c:1476 fortran/dump-parse-tree.c:1505
++#: fortran/dump-parse-tree.c:1663
+ #, c-format
+ msgid " IOSTAT="
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:1338 fortran/dump-parse-tree.c:1472
++#: fortran/dump-parse-tree.c:1360 fortran/dump-parse-tree.c:1494
+ #, c-format
+ msgid " FILE="
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:1343 fortran/dump-parse-tree.c:1417
++#: fortran/dump-parse-tree.c:1365 fortran/dump-parse-tree.c:1439
+ #, c-format
+ msgid " STATUS="
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:1348 fortran/dump-parse-tree.c:1513
++#: fortran/dump-parse-tree.c:1370 fortran/dump-parse-tree.c:1535
+ #, c-format
+ msgid " ACCESS="
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:1353 fortran/dump-parse-tree.c:1529
++#: fortran/dump-parse-tree.c:1375 fortran/dump-parse-tree.c:1551
+ #, c-format
+ msgid " FORM="
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:1358 fortran/dump-parse-tree.c:1544
++#: fortran/dump-parse-tree.c:1380 fortran/dump-parse-tree.c:1566
+ #, c-format
+ msgid " RECL="
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:1363 fortran/dump-parse-tree.c:1554
++#: fortran/dump-parse-tree.c:1385 fortran/dump-parse-tree.c:1576
+ #, c-format
+ msgid " BLANK="
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:1368 fortran/dump-parse-tree.c:1559
++#: fortran/dump-parse-tree.c:1390 fortran/dump-parse-tree.c:1581
+ #, c-format
+ msgid " POSITION="
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:1373 fortran/dump-parse-tree.c:1564
++#: fortran/dump-parse-tree.c:1395 fortran/dump-parse-tree.c:1586
+ #, c-format
+ msgid " ACTION="
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:1378 fortran/dump-parse-tree.c:1584
++#: fortran/dump-parse-tree.c:1400 fortran/dump-parse-tree.c:1606
+ #, c-format
+ msgid " DELIM="
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:1383 fortran/dump-parse-tree.c:1589
++#: fortran/dump-parse-tree.c:1405 fortran/dump-parse-tree.c:1611
+ #, c-format
+ msgid " PAD="
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:1388 fortran/dump-parse-tree.c:1594
++#: fortran/dump-parse-tree.c:1410 fortran/dump-parse-tree.c:1616
+ #, c-format
+ msgid " CONVERT="
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:1392 fortran/dump-parse-tree.c:1421
+-#: fortran/dump-parse-tree.c:1458 fortran/dump-parse-tree.c:1599
+-#: fortran/dump-parse-tree.c:1676
++#: fortran/dump-parse-tree.c:1414 fortran/dump-parse-tree.c:1443
++#: fortran/dump-parse-tree.c:1480 fortran/dump-parse-tree.c:1621
++#: fortran/dump-parse-tree.c:1698
+ #, c-format
+ msgid " ERR=%d"
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:1397
++#: fortran/dump-parse-tree.c:1419
+ #, c-format
+ msgid "CLOSE"
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:1425
++#: fortran/dump-parse-tree.c:1447
+ #, c-format
+ msgid "BACKSPACE"
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:1429
++#: fortran/dump-parse-tree.c:1451
+ #, c-format
+ msgid "ENDFILE"
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:1433
++#: fortran/dump-parse-tree.c:1455
+ #, c-format
+ msgid "REWIND"
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:1437
++#: fortran/dump-parse-tree.c:1459
+ #, c-format
+ msgid "FLUSH"
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:1462
++#: fortran/dump-parse-tree.c:1484
+ #, c-format
+ msgid "INQUIRE"
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:1488
++#: fortran/dump-parse-tree.c:1510
+ #, c-format
+ msgid " EXIST="
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:1493
++#: fortran/dump-parse-tree.c:1515
+ #, c-format
+ msgid " OPENED="
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:1498
++#: fortran/dump-parse-tree.c:1520
+ #, c-format
+ msgid " NUMBER="
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:1503
++#: fortran/dump-parse-tree.c:1525
+ #, c-format
+ msgid " NAMED="
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:1508
++#: fortran/dump-parse-tree.c:1530
+ #, c-format
+ msgid " NAME="
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:1518
++#: fortran/dump-parse-tree.c:1540
+ #, c-format
+ msgid " SEQUENTIAL="
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:1524
++#: fortran/dump-parse-tree.c:1546
+ #, c-format
+ msgid " DIRECT="
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:1534
++#: fortran/dump-parse-tree.c:1556
+ #, c-format
+ msgid " FORMATTED"
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:1539
++#: fortran/dump-parse-tree.c:1561
+ #, c-format
+ msgid " UNFORMATTED="
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:1549
++#: fortran/dump-parse-tree.c:1571
+ #, c-format
+ msgid " NEXTREC="
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:1569
++#: fortran/dump-parse-tree.c:1591
+ #, c-format
+ msgid " READ="
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:1574
++#: fortran/dump-parse-tree.c:1596
+ #, c-format
+ msgid " WRITE="
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:1579
++#: fortran/dump-parse-tree.c:1601
+ #, c-format
+ msgid " READWRITE="
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:1603
++#: fortran/dump-parse-tree.c:1625
+ #, c-format
+ msgid "IOLENGTH "
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:1609
++#: fortran/dump-parse-tree.c:1631
+ #, c-format
+ msgid "READ"
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:1613
++#: fortran/dump-parse-tree.c:1635
+ #, c-format
+ msgid "WRITE"
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:1625
++#: fortran/dump-parse-tree.c:1647
+ #, c-format
+ msgid " FMT="
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:1630
++#: fortran/dump-parse-tree.c:1652
+ #, c-format
+ msgid " FMT=%d"
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:1632
++#: fortran/dump-parse-tree.c:1654
+ #, fuzzy, c-format
+ msgid " NML=%s"
+ msgstr " %s"
+
+-#: fortran/dump-parse-tree.c:1646
++#: fortran/dump-parse-tree.c:1668
+ #, c-format
+ msgid " SIZE="
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:1651
++#: fortran/dump-parse-tree.c:1673
+ #, c-format
+ msgid " REC="
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:1656
++#: fortran/dump-parse-tree.c:1678
+ #, c-format
+ msgid " ADVANCE="
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:1667
++#: fortran/dump-parse-tree.c:1689
+ #, c-format
+ msgid "TRANSFER "
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:1672
++#: fortran/dump-parse-tree.c:1694
+ #, c-format
+ msgid "DT_END"
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:1678
++#: fortran/dump-parse-tree.c:1700
+ #, c-format
+ msgid " END=%d"
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:1680
++#: fortran/dump-parse-tree.c:1702
+ #, c-format
+ msgid " EOR=%d"
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:1714
++#: fortran/dump-parse-tree.c:1736
+ #, c-format
+ msgid "Equivalence: "
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:1740
++#: fortran/dump-parse-tree.c:1762
+ #, c-format
+ msgid "Namespace:"
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:1754
++#: fortran/dump-parse-tree.c:1776
+ #, c-format
+ msgid " %c-%c: "
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:1756
++#: fortran/dump-parse-tree.c:1778
+ #, c-format
+ msgid " %c: "
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:1765
++#: fortran/dump-parse-tree.c:1787
+ #, c-format
+ msgid "procedure name = %s"
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:1781
++#: fortran/dump-parse-tree.c:1803
+ #, fuzzy, c-format
+ msgid "Operator interfaces for %s:"
+ msgstr ""
+ "\n"
+ " Tilvalg til %s:\n"
+
+-#: fortran/dump-parse-tree.c:1790
++#: fortran/dump-parse-tree.c:1812
+ #, fuzzy, c-format
+ msgid "User operators:\n"
+ msgstr "ikke-registreret operator %s"
+
+-#: fortran/dump-parse-tree.c:1806
++#: fortran/dump-parse-tree.c:1828
+ #, c-format
+ msgid "CONTAINS\n"
+ msgstr ""
+@@ -6429,312 +6391,352 @@
+ msgid "Error count reached limit of %d."
+ msgstr ""
+
+-#: fortran/error.c:670 fortran/error.c:725 fortran/error.c:762
++#: fortran/error.c:670 fortran/error.c:724 fortran/error.c:761
+ #, fuzzy
+ msgid "Warning:"
+ msgstr "advarsel: "
+
+-#: fortran/error.c:727 fortran/error.c:810 fortran/error.c:836
++#: fortran/error.c:726 fortran/error.c:809 fortran/error.c:835
+ #, fuzzy
+ msgid "Error:"
+ msgstr "fejl: "
+
+-#: fortran/error.c:860
++#: fortran/error.c:859
+ #, fuzzy
+ msgid "Fatal Error:"
+ msgstr "fatal fejl: "
+
+-#: fortran/error.c:879
++#: fortran/error.c:878
+ #, fuzzy, no-c-format
+ msgid "Internal Error at (1):"
+ msgstr "intern fejl: "
+
+-#: fortran/expr.c:252
++#: fortran/expr.c:253
+ #, c-format
+ msgid "Constant expression required at %C"
+ msgstr ""
+
+-#: fortran/expr.c:255
++#: fortran/expr.c:256
+ #, c-format
+ msgid "Integer expression required at %C"
+ msgstr ""
+
+-#: fortran/expr.c:260
++#: fortran/expr.c:261
+ #, fuzzy, c-format
+ msgid "Integer value too large in expression at %C"
+ msgstr "heltalsoverløb i udtryk"
+
+-#: fortran/expr.c:1018 fortran/expr.c:1189 fortran/expr.c:1240
++#: fortran/expr.c:1037
+ #, no-c-format
++msgid "Index in dimension %d is out of bounds at %L"
++msgstr ""
++
++#: fortran/expr.c:1208 fortran/expr.c:1259
++#, no-c-format
+ msgid "index in dimension %d is out of bounds at %L"
+ msgstr ""
+
+-#: fortran/expr.c:1789
++#: fortran/expr.c:1808
+ #, no-c-format
+ msgid "elemental function arguments at %C are not compliant"
+ msgstr ""
+
+-#: fortran/expr.c:1833
++#: fortran/expr.c:1852
+ #, no-c-format
+ msgid "Numeric or CHARACTER operands are required in expression at %L"
+ msgstr ""
+
+-#: fortran/expr.c:1853
++#: fortran/expr.c:1872
+ #, no-c-format
+ msgid "Fortran 2003: Noninteger exponent in an initialization expression at %L"
+ msgstr ""
+
+-#: fortran/expr.c:1868
++#: fortran/expr.c:1887
+ #, no-c-format
+ msgid "Concatenation operator in expression at %L must have two CHARACTER operands"
+ msgstr ""
+
+-#: fortran/expr.c:1875
++#: fortran/expr.c:1894
+ #, no-c-format
+ msgid "Concat operator at %L must concatenate strings of the same kind"
+ msgstr ""
+
+-#: fortran/expr.c:1885
++#: fortran/expr.c:1904
+ #, no-c-format
+ msgid ".NOT. operator in expression at %L must have a LOGICAL operand"
+ msgstr ""
+
+-#: fortran/expr.c:1901
++#: fortran/expr.c:1920
+ #, no-c-format
+ msgid "LOGICAL operands are required in expression at %L"
+ msgstr ""
+
+-#: fortran/expr.c:1912
++#: fortran/expr.c:1931
+ #, fuzzy, no-c-format
+ msgid "Only intrinsic operators can be used in expression at %L"
+ msgstr "Manglende operand for operator ved %1 i slutningen af udtryk ved %0"
+
+-#: fortran/expr.c:1920
++#: fortran/expr.c:1939
+ #, fuzzy, no-c-format
+ msgid "Numeric operands are required in expression at %L"
+ msgstr "Manglende operand for operator ved %1 i slutningen af udtryk ved %0"
+
+-#: fortran/expr.c:1985
++#: fortran/expr.c:2030
+ #, no-c-format
+-msgid "Inquiry function '%s' at %L is not permitted in an initialization expression"
+-msgstr ""
+-
+-#: fortran/expr.c:2015
+-#, no-c-format
+ msgid "Assumed character length variable '%s' in constant expression at %L"
+ msgstr ""
+
+-#: fortran/expr.c:2061 fortran/expr.c:2067
++#: fortran/expr.c:2076 fortran/expr.c:2082
+ #, no-c-format
+ msgid "transformational intrinsic '%s' at %L is not permitted in an initialization expression"
+ msgstr ""
+
+-#: fortran/expr.c:2098
++#: fortran/expr.c:2114
+ #, no-c-format
+ msgid "Extension: Evaluation of nonstandard initialization expression at %L"
+ msgstr ""
+
+-#: fortran/expr.c:2151
++#: fortran/expr.c:2167
+ #, no-c-format
+ msgid "Function '%s' in initialization expression at %L must be an intrinsic or a specification function"
+ msgstr ""
+
+-#: fortran/expr.c:2163
++#: fortran/expr.c:2179
+ #, no-c-format
+ msgid "Intrinsic function '%s' at %L is not permitted in an initialization expression"
+ msgstr ""
+
+-#: fortran/expr.c:2207
++#: fortran/expr.c:2214
++#, no-c-format
++msgid "PARAMETER '%s' is used at %L before its definition is complete"
++msgstr ""
++
++#: fortran/expr.c:2234
+ #, fuzzy, no-c-format
+ msgid "Assumed size array '%s' at %L is not permitted in an initialization expression"
+ msgstr "størrelsen af tabellen '%D' er ikke af et heltalligt konstantudtryk"
+
+-#: fortran/expr.c:2213
++#: fortran/expr.c:2240
+ #, no-c-format
+ msgid "Assumed shape array '%s' at %L is not permitted in an initialization expression"
+ msgstr ""
+
+-#: fortran/expr.c:2219
++#: fortran/expr.c:2246
+ #, no-c-format
+ msgid "Deferred array '%s' at %L is not permitted in an initialization expression"
+ msgstr ""
+
+-#: fortran/expr.c:2229
++#: fortran/expr.c:2252
+ #, no-c-format
++msgid "Array '%s' at %L is a variable, which does not reduce to a constant expression"
++msgstr ""
++
++#: fortran/expr.c:2262
++#, no-c-format
+ msgid "Parameter '%s' at %L has not been declared or is a variable, which does not reduce to a constant expression"
+ msgstr ""
+
+-#: fortran/expr.c:2317
++#: fortran/expr.c:2350
+ #, fuzzy, no-c-format
+ msgid "Initialization expression didn't reduce %C"
+ msgstr "tildeling af startværdi til new-udtryk med '='"
+
+-#: fortran/expr.c:2360
++#: fortran/expr.c:2393
+ #, fuzzy, no-c-format
+ msgid "Specification function '%s' at %L cannot be a statement function"
+ msgstr "konstruktionsfunktionen kan ikke være en statisk medlemsfunktion"
+
+-#: fortran/expr.c:2367
++#: fortran/expr.c:2400
+ #, fuzzy, no-c-format
+ msgid "Specification function '%s' at %L cannot be an internal function"
+ msgstr "den indbyggede funktion '%s' er erklæret som noget der ikke er en funktion"
+
+-#: fortran/expr.c:2374
++#: fortran/expr.c:2407
+ #, no-c-format
+ msgid "Specification function '%s' at %L must be PURE"
+ msgstr ""
+
+-#: fortran/expr.c:2381
++#: fortran/expr.c:2414
+ #, no-c-format
+ msgid "Specification function '%s' at %L cannot be RECURSIVE"
+ msgstr ""
+
+-#: fortran/expr.c:2443
++#: fortran/expr.c:2476
+ #, fuzzy, no-c-format
+ msgid "Dummy argument '%s' not allowed in expression at %L"
+ msgstr "strenge med dobbelte anførselstegn er ikke tilladte i #if-udtryk"
+
+-#: fortran/expr.c:2450
++#: fortran/expr.c:2483
+ #, no-c-format
+ msgid "Dummy argument '%s' at %L cannot be OPTIONAL"
+ msgstr ""
+
+-#: fortran/expr.c:2457
++#: fortran/expr.c:2490
+ #, no-c-format
+ msgid "Dummy argument '%s' at %L cannot be INTENT(OUT)"
+ msgstr ""
+
+-#: fortran/expr.c:2479
++#: fortran/expr.c:2513
+ #, fuzzy, no-c-format
+ msgid "Variable '%s' cannot appear in the expression at %L"
+ msgstr "overløb i konstant udtryk"
+
+-#: fortran/expr.c:2528
++#: fortran/expr.c:2562
+ #, no-c-format
+ msgid "Expression at %L must be of INTEGER type"
+ msgstr ""
+
+-#: fortran/expr.c:2537
++#: fortran/expr.c:2571
+ #, no-c-format
+ msgid "Function '%s' at %L must be PURE"
+ msgstr ""
+
+-#: fortran/expr.c:2546
++#: fortran/expr.c:2580
+ #, no-c-format
+ msgid "Expression at %L must be scalar"
+ msgstr ""
+
+-#: fortran/expr.c:2573
++#: fortran/expr.c:2607
+ #, no-c-format
+ msgid "Incompatible ranks in %s (%d and %d) at %L"
+ msgstr ""
+
+-#: fortran/expr.c:2587
++#: fortran/expr.c:2621
+ #, no-c-format
+ msgid "Different shape for %s at %L on dimension %d (%d and %d)"
+ msgstr ""
+
+-#: fortran/expr.c:2633 fortran/expr.c:2800
++#: fortran/expr.c:2667 fortran/expr.c:2884
+ #, no-c-format
+ msgid "Cannot assign to INTENT(IN) variable '%s' at %L"
+ msgstr ""
+
+-#: fortran/expr.c:2676
++#: fortran/expr.c:2719
+ #, no-c-format
+ msgid "'%s' at %L is not a VALUE"
+ msgstr ""
+
+-#: fortran/expr.c:2683
++#: fortran/expr.c:2726
+ #, fuzzy, no-c-format
+ msgid "Incompatible ranks %d and %d in assignment at %L"
+ msgstr "uforenelige typer i tildeling af '%T' til '%T'"
+
+-#: fortran/expr.c:2690
++#: fortran/expr.c:2733
+ #, fuzzy, no-c-format
+ msgid "Variable type is UNKNOWN in assignment at %L"
+ msgstr "uforenelige typer i tildeling af '%T' til '%T'"
+
+-#: fortran/expr.c:2702
++#: fortran/expr.c:2745
+ #, no-c-format
+ msgid "NULL appears on right-hand side in assignment at %L"
+ msgstr ""
+
+-#: fortran/expr.c:2713
++#: fortran/expr.c:2756
+ #, no-c-format
+ msgid "Vector assignment to assumed-size Cray Pointee at %L is illegal"
+ msgstr ""
+
+-#: fortran/expr.c:2722
++#: fortran/expr.c:2765
+ #, no-c-format
+ msgid "POINTER valued function appears on right-hand side of assignment at %L"
+ msgstr ""
+
+-#: fortran/expr.c:2727
++#: fortran/expr.c:2770
+ #, fuzzy
+ msgid "array assignment"
+ msgstr "tildeling"
+
+-#: fortran/expr.c:2744
++#: fortran/expr.c:2775
++#, no-c-format
++msgid "Extension: BOZ literal at %L used to initialize non-integer variable '%s'"
++msgstr ""
++
++#: fortran/expr.c:2781 fortran/resolve.c:6058
++#, no-c-format
++msgid "Extension: BOZ literal at %L outside a DATA statement and outside INT/REAL/DBLE/CMPLX"
++msgstr ""
++
++#: fortran/expr.c:2791 fortran/resolve.c:6068
++#, no-c-format
++msgid "BOZ literal at %L is bitwise transferred non-integer symbol '%s'"
++msgstr ""
++
++#: fortran/expr.c:2799 fortran/resolve.c:6077
++#, no-c-format
++msgid "Arithmetic underflow of bit-wise transferred BOZ at %L. This check can be disabled with the option -fno-range-check"
++msgstr ""
++
++#: fortran/expr.c:2803 fortran/resolve.c:6081
++#, no-c-format
++msgid "Arithmetic overflow of bit-wise transferred BOZ at %L. This check can be disabled with the option -fno-range-check"
++msgstr ""
++
++#: fortran/expr.c:2807 fortran/resolve.c:6085
++#, no-c-format
++msgid "Arithmetic NaN of bit-wise transferred BOZ at %L. This check can be disabled with the option -fno-range-check"
++msgstr ""
++
++#: fortran/expr.c:2828
+ #, fuzzy, no-c-format
+ msgid "Incompatible types in assignment at %L, %s to %s"
+ msgstr "uforenelige typer i tildeling af '%T' til '%T'"
+
+-#: fortran/expr.c:2769
++#: fortran/expr.c:2853
+ #, no-c-format
+ msgid "Pointer assignment target is not a POINTER at %L"
+ msgstr ""
+
+-#: fortran/expr.c:2777
++#: fortran/expr.c:2861
+ #, no-c-format
+ msgid "'%s' in the pointer assignment at %L cannot be an l-value since it is a procedure"
+ msgstr ""
+
+-#: fortran/expr.c:2807
++#: fortran/expr.c:2891
+ #, no-c-format
+ msgid "Pointer assignment to non-POINTER at %L"
+ msgstr ""
+
+-#: fortran/expr.c:2816
++#: fortran/expr.c:2900
+ #, no-c-format
+ msgid "Bad pointer object in PURE procedure at %L"
+ msgstr ""
+
+-#: fortran/expr.c:2828
++#: fortran/expr.c:2912
+ #, no-c-format
+ msgid "Different types in pointer assignment at %L"
+ msgstr ""
+
+-#: fortran/expr.c:2835
++#: fortran/expr.c:2919
+ #, no-c-format
+ msgid "Different kind type parameters in pointer assignment at %L"
+ msgstr ""
+
+-#: fortran/expr.c:2842
++#: fortran/expr.c:2926
+ #, no-c-format
+ msgid "Different ranks in pointer assignment at %L"
+ msgstr ""
+
+-#: fortran/expr.c:2857
++#: fortran/expr.c:2941
+ #, no-c-format
+ msgid "Different character lengths in pointer assignment at %L"
+ msgstr ""
+
+-#: fortran/expr.c:2868
++#: fortran/expr.c:2952
+ #, no-c-format
+ msgid "Pointer assignment target is neither TARGET nor POINTER at %L"
+ msgstr ""
+
+-#: fortran/expr.c:2875
++#: fortran/expr.c:2959
+ #, no-c-format
+ msgid "Bad target in pointer assignment in PURE procedure at %L"
+ msgstr ""
+
+-#: fortran/expr.c:2881
++#: fortran/expr.c:2965
+ #, no-c-format
+ msgid "Pointer assignment with vector subscript on rhs at %L"
+ msgstr ""
+
+-#: fortran/expr.c:2888
++#: fortran/expr.c:2972
+ #, no-c-format
+ msgid "Pointer assigment target has PROTECTED attribute at %L"
+ msgstr ""
+@@ -6824,292 +6826,317 @@
+ msgid "Expecting 'END INTERFACE %s' at %C"
+ msgstr ""
+
+-#: fortran/interface.c:551
++#: fortran/interface.c:563
+ #, no-c-format
+ msgid "Alternate return cannot appear in operator interface at %L"
+ msgstr ""
+
+-#: fortran/interface.c:581
++#: fortran/interface.c:593
+ #, no-c-format
+ msgid "Operator interface at %L has the wrong number of arguments"
+ msgstr ""
+
+-#: fortran/interface.c:592
++#: fortran/interface.c:604
+ #, no-c-format
+ msgid "Assignment operator interface at %L must be a SUBROUTINE"
+ msgstr ""
+
+-#: fortran/interface.c:598
++#: fortran/interface.c:610
+ #, no-c-format
+ msgid "Assignment operator interface at %L must have two arguments"
+ msgstr ""
+
+-#: fortran/interface.c:608
++#: fortran/interface.c:620
+ #, no-c-format
+ msgid "Assignment operator interface at %L must not redefine an INTRINSIC type assignment"
+ msgstr ""
+
+-#: fortran/interface.c:617
++#: fortran/interface.c:629
+ #, no-c-format
+ msgid "Intrinsic operator interface at %L must be a FUNCTION"
+ msgstr ""
+
+-#: fortran/interface.c:627
++#: fortran/interface.c:639
+ #, no-c-format
+ msgid "First argument of defined assignment at %L must be INTENT(IN) or INTENT(INOUT)"
+ msgstr ""
+
+-#: fortran/interface.c:631
++#: fortran/interface.c:643
+ #, no-c-format
+ msgid "Second argument of defined assignment at %L must be INTENT(IN)"
+ msgstr ""
+
+-#: fortran/interface.c:637 fortran/resolve.c:8807
++#: fortran/interface.c:649 fortran/resolve.c:8998
+ #, no-c-format
+ msgid "First argument of operator interface at %L must be INTENT(IN)"
+ msgstr ""
+
+-#: fortran/interface.c:641 fortran/resolve.c:8819
++#: fortran/interface.c:653 fortran/resolve.c:9010
+ #, no-c-format
+ msgid "Second argument of operator interface at %L must be INTENT(IN)"
+ msgstr ""
+
+-#: fortran/interface.c:744
++#: fortran/interface.c:756
+ #, no-c-format
+ msgid "Operator interface at %L conflicts with intrinsic interface"
+ msgstr ""
+
+-#: fortran/interface.c:1044
++#: fortran/interface.c:1117
+ #, no-c-format
+ msgid "Procedure '%s' in %s at %L has no explicit interface"
+ msgstr ""
+
+-#: fortran/interface.c:1047
++#: fortran/interface.c:1120
+ #, no-c-format
+ msgid "Procedure '%s' in %s at %L is neither function nor subroutine"
+ msgstr ""
+
+-#: fortran/interface.c:1102 fortran/interface.c:1108
++#: fortran/interface.c:1175 fortran/interface.c:1181
+ #, no-c-format
+ msgid "Ambiguous interfaces '%s' and '%s' in %s at %L"
+ msgstr ""
+
+-#: fortran/interface.c:1144
++#: fortran/interface.c:1217
+ #, no-c-format
+ msgid "'%s' at %L is not a module procedure"
+ msgstr ""
+
+-#: fortran/interface.c:1676
++#: fortran/interface.c:1465 fortran/interface.c:2411
+ #, no-c-format
++msgid "Type/rank mismatch in argument '%s' at %L"
++msgstr ""
++
++#: fortran/interface.c:1474
++#, fuzzy, no-c-format
++msgid "Type mismatch in argument '%s' at %L; passed %s to %s"
++msgstr "type/værdi-konflikt ved %d. parameter i skabelonsparameterliste for '%D'"
++
++#: fortran/interface.c:1492 fortran/interface.c:1532
++#, no-c-format
++msgid "Rank mismatch in argument '%s' at %L (%d and %d)"
++msgstr ""
++
++#: fortran/interface.c:1519
++#, no-c-format
++msgid "Fortran 2003: Scalar CHARACTER actual argument with array dummy argument '%s' at %L"
++msgstr ""
++
++#: fortran/interface.c:1544
++#, no-c-format
++msgid "Element of assumed-shaped array passed to dummy argument '%s' at %L"
++msgstr ""
++
++#: fortran/interface.c:1861
++#, no-c-format
+ msgid "Keyword argument '%s' at %L is not in the procedure"
+ msgstr ""
+
+-#: fortran/interface.c:1684
++#: fortran/interface.c:1869
+ #, no-c-format
+ msgid "Keyword argument '%s' at %L is already associated with another actual argument"
+ msgstr ""
+
+-#: fortran/interface.c:1694
++#: fortran/interface.c:1879
+ #, no-c-format
+ msgid "More actual than formal arguments in procedure call at %L"
+ msgstr ""
+
+-#: fortran/interface.c:1706 fortran/interface.c:1935
++#: fortran/interface.c:1891 fortran/interface.c:2110
+ #, no-c-format
+ msgid "Missing alternate return spec in subroutine call at %L"
+ msgstr ""
+
+-#: fortran/interface.c:1714
++#: fortran/interface.c:1899
+ #, no-c-format
+ msgid "Unexpected alternate return spec in subroutine call at %L"
+ msgstr ""
+
+-#: fortran/interface.c:1729
++#: fortran/interface.c:1922
+ #, no-c-format
+-msgid "Fortran 2003: Scalar CHARACTER actual argument with array dummy argument '%s' at %L"
++msgid "Character length mismatch (%ld/%ld) between actual argument and pointer or allocatable dummy argument '%s' at %L"
+ msgstr ""
+
+-#: fortran/interface.c:1742
++#: fortran/interface.c:1929
+ #, no-c-format
+-msgid "Type/rank mismatch in argument '%s' at %L"
++msgid "Character length mismatch (%ld/%ld) between actual argument and assumed-shape dummy argument '%s' at %L"
+ msgstr ""
+
+-#: fortran/interface.c:1758
++#: fortran/interface.c:1943
+ #, no-c-format
+-msgid "Character length mismatch between actual argument and pointer or allocatable dummy argument '%s' at %L"
+-msgstr ""
+-
+-#: fortran/interface.c:1771
+-#, no-c-format
+ msgid "Character length of actual argument shorter than of dummy argument '%s' (%lu/%lu) at %L"
+ msgstr ""
+
+-#: fortran/interface.c:1776
++#: fortran/interface.c:1948
+ #, no-c-format
+ msgid "Actual argument contains too few elements for dummy argument '%s' (%lu/%lu) at %L"
+ msgstr ""
+
+-#: fortran/interface.c:1790
++#: fortran/interface.c:1962
+ #, no-c-format
+ msgid "Expected a procedure for argument '%s' at %L"
+ msgstr ""
+
+-#: fortran/interface.c:1800
++#: fortran/interface.c:1972
+ #, no-c-format
+ msgid "Expected a PURE procedure for argument '%s' at %L"
+ msgstr ""
+
+-#: fortran/interface.c:1814
++#: fortran/interface.c:1986
+ #, no-c-format
+ msgid "Actual argument for '%s' cannot be an assumed-size array at %L"
+ msgstr ""
+
+-#: fortran/interface.c:1823
++#: fortran/interface.c:1995
+ #, fuzzy, no-c-format
+ msgid "Actual argument for '%s' must be a pointer at %L"
+ msgstr "parameter til '%s' skal være en 2 bit-konstant"
+
+-#: fortran/interface.c:1832
++#: fortran/interface.c:2004
+ #, no-c-format
+ msgid "Actual argument for '%s' must be ALLOCATABLE at %L"
+ msgstr ""
+
+-#: fortran/interface.c:1843
++#: fortran/interface.c:2017
+ #, no-c-format
+-msgid "Actual argument at %L must be definable to match dummy INTENT = OUT/INOUT"
++msgid "Actual argument at %L must be definable as the dummy argument '%s' is INTENT = OUT/INOUT"
+ msgstr ""
+
+-#: fortran/interface.c:1851
++#: fortran/interface.c:2026
+ #, no-c-format
+ msgid "Actual argument at %L is use-associated with PROTECTED attribute and dummy argument '%s' is INTENT = OUT/INOUT"
+ msgstr ""
+
+-#: fortran/interface.c:1864
++#: fortran/interface.c:2039
+ #, no-c-format
+-msgid "Array-section actual argument with vector subscripts at %L is incompatible with INTENT(IN), 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) or VOLATILE attribute of the dummy argument '%s'"
+ msgstr ""
+
+-#: fortran/interface.c:1881
++#: fortran/interface.c:2056
+ #, no-c-format
+ msgid "Assumed-shape actual argument at %L is incompatible with the non-assumed-shape dummy argument '%s' due to VOLATILE attribute"
+ msgstr ""
+
+-#: fortran/interface.c:1893
++#: fortran/interface.c:2068
+ #, no-c-format
+ msgid "Array-section actual argument at %L is incompatible with the non-assumed-shape dummy argument '%s' due to VOLATILE attribute"
+ msgstr ""
+
+-#: fortran/interface.c:1912
++#: fortran/interface.c:2087
+ #, no-c-format
+ msgid "Pointer-array actual argument at %L requires an assumed-shape or pointer-array dummy argument '%s' due to VOLATILE attribute"
+ msgstr ""
+
+-#: fortran/interface.c:1942
++#: fortran/interface.c:2117
+ #, no-c-format
+ msgid "Missing actual argument for argument '%s' at %L"
+ msgstr ""
+
+-#: fortran/interface.c:2128
++#: fortran/interface.c:2303
+ #, no-c-format
+ msgid "Same actual argument associated with INTENT(%s) argument '%s' and INTENT(%s) argument '%s' at %L"
+ msgstr ""
+
+-#: fortran/interface.c:2184
++#: fortran/interface.c:2359
+ #, no-c-format
+ msgid "Procedure argument at %L is INTENT(IN) while interface specifies INTENT(%s)"
+ msgstr ""
+
+-#: fortran/interface.c:2194
++#: fortran/interface.c:2369
+ #, no-c-format
+ msgid "Procedure argument at %L is local to a PURE procedure and is passed to an INTENT(%s) argument"
+ msgstr ""
+
+-#: fortran/interface.c:2202
++#: fortran/interface.c:2377
+ #, no-c-format
+ msgid "Procedure argument at %L is local to a PURE procedure and has the POINTER attribute"
+ msgstr ""
+
+-#: fortran/interface.c:2225
++#: fortran/interface.c:2400
+ #, no-c-format
+ msgid "Procedure '%s' called with an implicit interface at %L"
+ msgstr ""
+
+-#: fortran/interface.c:2440
++#: fortran/interface.c:2629
+ #, no-c-format
+ msgid "Function '%s' called in lieu of an operator at %L must be PURE"
+ msgstr ""
+
+-#: fortran/interface.c:2519
++#: fortran/interface.c:2708
+ #, no-c-format
+ msgid "Entity '%s' at %C is already present in the interface"
+ msgstr ""
+
+-#: fortran/intrinsic.c:2918
++#: fortran/intrinsic.c:2923
+ #, fuzzy, no-c-format
+ msgid "Too many arguments in call to '%s' at %L"
+ msgstr "for mange parametre til %s '%+#D'"
+
+-#: fortran/intrinsic.c:2933
++#: fortran/intrinsic.c:2938
+ #, no-c-format
+ msgid "The argument list functions %%VAL, %%LOC or %%REF are not allowed in this context at %L"
+ msgstr ""
+
+-#: fortran/intrinsic.c:2936
++#: fortran/intrinsic.c:2941
+ #, no-c-format
+ msgid "Can't find keyword named '%s' in call to '%s' at %L"
+ msgstr ""
+
+-#: fortran/intrinsic.c:2943
++#: fortran/intrinsic.c:2948
+ #, no-c-format
+ msgid "Argument '%s' is appears twice in call to '%s' at %L"
+ msgstr ""
+
+-#: fortran/intrinsic.c:2957
++#: fortran/intrinsic.c:2962
+ #, no-c-format
+ msgid "Missing actual argument '%s' in call to '%s' at %L"
+ msgstr ""
+
+-#: fortran/intrinsic.c:2972
++#: fortran/intrinsic.c:2977
+ #, no-c-format
+ msgid "ALTERNATE RETURN not permitted at %L"
+ msgstr ""
+
+-#: fortran/intrinsic.c:3021
++#: fortran/intrinsic.c:3026
+ #, no-c-format
+ msgid "Type of argument '%s' in call to '%s' at %L should be %s, not %s"
+ msgstr ""
+
+-#: fortran/intrinsic.c:3337
++#: fortran/intrinsic.c:3342
+ #, no-c-format
+ msgid "Intrinsic '%s' at %L is not included in the selected standard"
+ msgstr ""
+
+-#: fortran/intrinsic.c:3450
++#: fortran/intrinsic.c:3398
+ #, no-c-format
++msgid "Fortran 2003: Function '%s' as initialization expression at %L"
++msgstr ""
++
++#: fortran/intrinsic.c:3463
++#, no-c-format
+ msgid "Fortran 2003: Elemental function as initialization expression with non-integer/non-character arguments at %L"
+ msgstr ""
+
+-#: fortran/intrinsic.c:3508
++#: fortran/intrinsic.c:3524
+ #, no-c-format
+ msgid "Subroutine call to intrinsic '%s' at %L is not PURE"
+ msgstr ""
+
+-#: fortran/intrinsic.c:3579
++#: fortran/intrinsic.c:3595
+ #, fuzzy, no-c-format
+ msgid "Extension: Conversion from %s to %s at %L"
+ msgstr "ugyldig konvertering fra '%T' til '%T'"
+
+-#: fortran/intrinsic.c:3582
++#: fortran/intrinsic.c:3598
+ #, fuzzy, no-c-format
+ msgid "Conversion from %s to %s at %L"
+ msgstr "konvertering fra NaN til int"
+
+-#: fortran/intrinsic.c:3629
++#: fortran/intrinsic.c:3645
+ #, fuzzy, no-c-format
+ msgid "Can't convert %s to %s at %L"
+ msgstr "kunne ikke konvertere '%E' til '%T'"
+
+-#: fortran/io.c:156 fortran/primary.c:738
++#: fortran/io.c:156 fortran/primary.c:750
+ #, no-c-format
+ msgid "Extension: backslash character at %C"
+ msgstr ""
+@@ -7317,7 +7344,7 @@
+ msgid "CLOSE statement not allowed in PURE procedure at %C"
+ msgstr ""
+
+-#: fortran/io.c:1955 fortran/match.c:1841
++#: fortran/io.c:1955 fortran/match.c:1911
+ #, no-c-format
+ msgid "%s statement not allowed in PURE procedure at %C"
+ msgstr ""
+@@ -7332,516 +7359,491 @@
+ msgid "Duplicate UNIT specification at %C"
+ msgstr ""
+
+-#: fortran/io.c:2128
++#: fortran/io.c:2132
+ #, fuzzy, no-c-format
+ msgid "Duplicate format specification at %C"
+ msgstr "tolkningsfejl i medlemsfunktionsangivelsen"
+
+-#: fortran/io.c:2145
++#: fortran/io.c:2149
+ #, no-c-format
+ msgid "Symbol '%s' in namelist '%s' is INTENT(IN) at %C"
+ msgstr ""
+
+-#: fortran/io.c:2181
++#: fortran/io.c:2185
+ #, fuzzy, no-c-format
+ msgid "Duplicate NML specification at %C"
+ msgstr "%D tildelt startværdi mere end én gang"
+
+-#: fortran/io.c:2190
++#: fortran/io.c:2194
+ #, no-c-format
+ msgid "Symbol '%s' at %C must be a NAMELIST group name"
+ msgstr ""
+
+-#: fortran/io.c:2231
++#: fortran/io.c:2235
+ #, no-c-format
+ msgid "END tag at %C not allowed in output statement"
+ msgstr ""
+
+-#: fortran/io.c:2288
++#: fortran/io.c:2292
+ #, no-c-format
+ msgid "UNIT specification at %L must be an INTEGER expression or a CHARACTER variable"
+ msgstr ""
+
+-#: fortran/io.c:2297
++#: fortran/io.c:2301
+ #, no-c-format
+ msgid "Internal unit with vector subscript at %L"
+ msgstr ""
+
+-#: fortran/io.c:2304
++#: fortran/io.c:2308
+ #, no-c-format
+ msgid "External IO UNIT cannot be an array at %L"
+ msgstr ""
+
+-#: fortran/io.c:2314
++#: fortran/io.c:2318
+ #, fuzzy, no-c-format
+ msgid "ERR tag label %d at %L not defined"
+ msgstr "etiketten '%D' er benyttet, men ikke defineret"
+
+-#: fortran/io.c:2326
++#: fortran/io.c:2330
+ #, fuzzy, no-c-format
+ msgid "END tag label %d at %L not defined"
+ msgstr "etiketten '%D' er benyttet, men ikke defineret"
+
+-#: fortran/io.c:2338
++#: fortran/io.c:2342
+ #, fuzzy, no-c-format
+ msgid "EOR tag label %d at %L not defined"
+ msgstr "etiketten '%D' er benyttet, men ikke defineret"
+
+-#: fortran/io.c:2348
++#: fortran/io.c:2352
+ #, fuzzy, no-c-format
+ msgid "FORMAT label %d at %L not defined"
+ msgstr "etiketten '%D' er benyttet, men ikke defineret"
+
+-#: fortran/io.c:2469
++#: fortran/io.c:2473
+ #, fuzzy, no-c-format
+ msgid "Syntax error in I/O iterator at %C"
+ msgstr "\"%s\" må ikke optræde i makroparameterliste"
+
+-#: fortran/io.c:2500
++#: fortran/io.c:2504
+ #, fuzzy, no-c-format
+ msgid "Expected variable in READ statement at %C"
+ msgstr "Ekstra komma i FORMAT-sætning ved %0"
+
+-#: fortran/io.c:2506
++#: fortran/io.c:2510
+ #, fuzzy, no-c-format
+ msgid "Expected expression in %s statement at %C"
+ msgstr "Ugyldig udtrykssætning"
+
+-#: fortran/io.c:2516
++#: fortran/io.c:2520
+ #, no-c-format
+ msgid "Variable '%s' in input list at %C cannot be INTENT(IN)"
+ msgstr ""
+
+-#: fortran/io.c:2525
++#: fortran/io.c:2529
+ #, no-c-format
+ msgid "Cannot read to variable '%s' in PURE procedure at %C"
+ msgstr ""
+
+-#: fortran/io.c:2541
++#: fortran/io.c:2545
+ #, no-c-format
+ msgid "Cannot write to internal file unit '%s' at %C inside a PURE procedure"
+ msgstr ""
+
+ #. A general purpose syntax error.
+-#: fortran/io.c:2602 fortran/io.c:3004 fortran/gfortran.h:1998
++#: fortran/io.c:2606 fortran/io.c:3013 fortran/gfortran.h:2002
+ #, fuzzy, no-c-format
+ msgid "Syntax error in %s statement at %C"
+ msgstr "syntaksfejl ved symbolet '%s'"
+
+-#: fortran/io.c:2670
++#: fortran/io.c:2679
+ #, no-c-format
+ msgid "Fortran 2003: Internal file at %L with namelist"
+ msgstr ""
+
+-#: fortran/io.c:2833
++#: fortran/io.c:2842
+ #, no-c-format
+ msgid "PRINT namelist at %C is an extension"
+ msgstr ""
+
+-#: fortran/io.c:2965
++#: fortran/io.c:2974
+ #, no-c-format
+ msgid "Extension: Comma before i/o item list at %C"
+ msgstr ""
+
+-#: fortran/io.c:2974
++#: fortran/io.c:2983
+ #, fuzzy, no-c-format
+ msgid "Expected comma in I/O list at %C"
+ msgstr "Ekstra komma i FORMAT-sætning ved %0"
+
+-#: fortran/io.c:3036
++#: fortran/io.c:3045
+ #, fuzzy, no-c-format
+ msgid "PRINT statement at %C not allowed within PURE procedure"
+ msgstr "RETURN-sætning ved %0 ugyldig inden i en hovedprogramenhed"
+
+-#: fortran/io.c:3176 fortran/io.c:3227
++#: fortran/io.c:3185 fortran/io.c:3236
+ #, no-c-format
+ msgid "INQUIRE statement not allowed in PURE procedure at %C"
+ msgstr ""
+
+-#: fortran/io.c:3203
++#: fortran/io.c:3212
+ #, no-c-format
+ msgid "IOLENGTH tag invalid in INQUIRE statement at %C"
+ msgstr ""
+
+-#: fortran/io.c:3213 fortran/trans-io.c:1144
++#: fortran/io.c:3222 fortran/trans-io.c:1145
+ #, no-c-format
+ msgid "INQUIRE statement at %L cannot contain both FILE and UNIT specifiers"
+ msgstr ""
+
+-#: fortran/io.c:3220
++#: fortran/io.c:3229
+ #, no-c-format
+ msgid "INQUIRE statement at %L requires either FILE or UNIT specifier"
+ msgstr ""
+
+-#: fortran/match.c:270
++#: fortran/match.c:156
+ #, fuzzy, no-c-format
++msgid "Missing ')' in statement before %L"
++msgstr "Manglende komma i FORMAT-sætning ved %0"
++
++#: fortran/match.c:161
++#, fuzzy, no-c-format
++msgid "Missing '(' in statement before %L"
++msgstr "Manglende komma i FORMAT-sætning ved %0"
++
++#: fortran/match.c:332
++#, fuzzy, no-c-format
+ msgid "Integer too large at %C"
+ msgstr "Heltal ved %0 for stort"
+
+-#: fortran/match.c:363 fortran/parse.c:442
++#: fortran/match.c:425 fortran/parse.c:589
+ #, no-c-format
+ msgid "Too many digits in statement label at %C"
+ msgstr ""
+
+-#: fortran/match.c:369
++#: fortran/match.c:431
+ #, no-c-format
+ msgid "Statement label at %C is zero"
+ msgstr ""
+
+-#: fortran/match.c:402
++#: fortran/match.c:464
+ #, fuzzy, no-c-format
+ msgid "Label name '%s' at %C is ambiguous"
+ msgstr "brug af '%D' er tvetydigt"
+
+-#: fortran/match.c:408
++#: fortran/match.c:470
+ #, fuzzy, no-c-format
+ msgid "Duplicate construct label '%s' at %C"
+ msgstr "etiketten '%D' optræder mere end én gang"
+
+-#: fortran/match.c:438
++#: fortran/match.c:500
+ #, fuzzy, no-c-format
+ msgid "Invalid character in name at %C"
+ msgstr "ugyldigt tegn '%c' i #if"
+
+-#: fortran/match.c:451 fortran/match.c:523
++#: fortran/match.c:513 fortran/match.c:585
+ #, no-c-format
+ msgid "Name at %C is too long"
+ msgstr ""
+
+-#: fortran/match.c:506 fortran/match.c:552
++#: fortran/match.c:568 fortran/match.c:614
+ #, no-c-format
+ msgid "Invalid C name in NAME= specifier at %C"
+ msgstr ""
+
+-#: fortran/match.c:543
++#: fortran/match.c:605
+ #, no-c-format
+ msgid "Embedded space in NAME= specifier at %C"
+ msgstr ""
+
+-#: fortran/match.c:868
++#: fortran/match.c:930
+ #, no-c-format
+ msgid "Loop variable at %C cannot be a sub-component"
+ msgstr ""
+
+-#: fortran/match.c:874
++#: fortran/match.c:936
+ #, no-c-format
+ msgid "Loop variable '%s' at %C cannot be INTENT(IN)"
+ msgstr ""
+
+-#: fortran/match.c:907
++#: fortran/match.c:969
+ #, no-c-format
+ msgid "Expected a step value in iterator at %C"
+ msgstr ""
+
+-#: fortran/match.c:919
++#: fortran/match.c:981
+ #, fuzzy, no-c-format
+ msgid "Syntax error in iterator at %C"
+ msgstr "\"%s\" må ikke optræde i makroparameterliste"
+
+-#: fortran/match.c:1155
++#: fortran/match.c:1217
+ #, fuzzy, no-c-format
+ msgid "Invalid form of PROGRAM statement at %C"
+ msgstr "Manglende komma i FORMAT-sætning ved %0"
+
+-#: fortran/match.c:1196
++#: fortran/match.c:1258
+ #, no-c-format
+ msgid "Setting value of PROTECTED variable at %C"
+ msgstr ""
+
+-#: fortran/match.c:1249
++#: fortran/match.c:1311
+ #, no-c-format
+ msgid "Assigning to a PROTECTED pointer at %C"
+ msgstr ""
+
+-#: fortran/match.c:1292 fortran/match.c:1365
++#: fortran/match.c:1354 fortran/match.c:1435
+ #, no-c-format
+ msgid "Obsolescent: arithmetic IF statement at %C"
+ msgstr ""
+
+-#: fortran/match.c:1340
++#: fortran/match.c:1410
+ #, fuzzy, no-c-format
+ msgid "Syntax error in IF-expression at %C"
+ msgstr "heltalsoverløb i udtryk"
+
+-#: fortran/match.c:1351
++#: fortran/match.c:1421
+ #, no-c-format
+ msgid "Block label not appropriate for arithmetic IF statement at %C"
+ msgstr ""
+
+-#: fortran/match.c:1389
++#: fortran/match.c:1459
+ #, fuzzy, no-c-format
+-msgid "Block label is not appropriate IF statement at %C"
++msgid "Block label is not appropriate for IF statement at %C"
+ msgstr "Ingen etiketdefinition for FORMAT-sætning ved %0"
+
+-#: fortran/match.c:1468 fortran/primary.c:2522
++#: fortran/match.c:1538 fortran/primary.c:2559
+ #, no-c-format
+ msgid "Cannot assign to a named constant at %C"
+ msgstr ""
+
+-#: fortran/match.c:1478
++#: fortran/match.c:1548
+ #, no-c-format
+ msgid "Unclassifiable statement in IF-clause at %C"
+ msgstr ""
+
+-#: fortran/match.c:1485
++#: fortran/match.c:1555
+ #, no-c-format
+ msgid "Syntax error in IF-clause at %C"
+ msgstr ""
+
+-#: fortran/match.c:1529
++#: fortran/match.c:1599
+ #, fuzzy, no-c-format
+ msgid "Unexpected junk after ELSE statement at %C"
+ msgstr "Ikke-understøttet VXT-sætning ved %0"
+
+-#: fortran/match.c:1535 fortran/match.c:1570
++#: fortran/match.c:1605 fortran/match.c:1640
+ #, no-c-format
+ msgid "Label '%s' at %C doesn't match IF label '%s'"
+ msgstr ""
+
+-#: fortran/match.c:1564
++#: fortran/match.c:1634
+ #, no-c-format
+ msgid "Unexpected junk after ELSE IF statement at %C"
+ msgstr ""
+
+-#: fortran/match.c:1727
++#: fortran/match.c:1797
+ #, no-c-format
+ msgid "Name '%s' in %s statement at %C is not a loop name"
+ msgstr ""
+
+-#: fortran/match.c:1743
++#: fortran/match.c:1813
+ #, fuzzy, no-c-format
+ msgid "%s statement at %C is not within a loop"
+ msgstr "continue-sætning befinder sig ikke i en løkke"
+
+-#: fortran/match.c:1746
++#: fortran/match.c:1816
+ #, fuzzy, no-c-format
+ msgid "%s statement at %C is not within loop '%s'"
+ msgstr "break-sætning befinder sig ikke i en løkke- eller switch-konstruktion"
+
+-#: fortran/match.c:1754
++#: fortran/match.c:1824
+ #, no-c-format
+ msgid "%s statement at %C leaving OpenMP structured block"
+ msgstr ""
+
+-#: fortran/match.c:1767
++#: fortran/match.c:1837
+ #, no-c-format
+ msgid "EXIT statement at %C terminating !$OMP DO loop"
+ msgstr ""
+
+-#: fortran/match.c:1819
++#: fortran/match.c:1889
+ #, no-c-format
+ msgid "Too many digits in STOP code at %C"
+ msgstr ""
+
+-#: fortran/match.c:1872
++#: fortran/match.c:1942
+ #, no-c-format
+ msgid "Deleted feature: PAUSE statement at %C"
+ msgstr ""
+
+-#: fortran/match.c:1920
++#: fortran/match.c:1990
+ #, no-c-format
+ msgid "Deleted feature: ASSIGN statement at %C"
+ msgstr ""
+
+-#: fortran/match.c:1966
++#: fortran/match.c:2036
+ #, no-c-format
+ msgid "Deleted feature: Assigned GOTO statement at %C"
+ msgstr ""
+
+-#: fortran/match.c:2013 fortran/match.c:2065
++#: fortran/match.c:2083 fortran/match.c:2135
+ #, no-c-format
+ msgid "Statement label list in GOTO at %C cannot be empty"
+ msgstr ""
+
+-#: fortran/match.c:2149
++#: fortran/match.c:2219
+ #, no-c-format
+ msgid "Bad allocate-object in ALLOCATE statement at %C for a PURE procedure"
+ msgstr ""
+
+-#: fortran/match.c:2173
++#: fortran/match.c:2287
+ #, no-c-format
+-msgid "STAT variable '%s' of ALLOCATE statement at %C cannot be INTENT(IN)"
+-msgstr ""
+-
+-#: fortran/match.c:2180
+-#, no-c-format
+-msgid "Illegal STAT variable in ALLOCATE statement at %C for a PURE procedure"
+-msgstr ""
+-
+-#: fortran/match.c:2218 fortran/match.c:2382
+-#, no-c-format
+-msgid "STAT expression at %C must be a variable"
+-msgstr ""
+-
+-#: fortran/match.c:2272
+-#, no-c-format
+ msgid "Illegal variable in NULLIFY at %C for a PURE procedure"
+ msgstr ""
+
+-#: fortran/match.c:2349
++#: fortran/match.c:2364
+ #, no-c-format
+ msgid "Illegal deallocate-expression in DEALLOCATE at %C for a PURE procedure"
+ msgstr ""
+
+-#: fortran/match.c:2368
++#: fortran/match.c:2417
+ #, no-c-format
+-msgid "STAT variable '%s' of DEALLOCATE statement at %C cannot be INTENT(IN)"
+-msgstr ""
+-
+-#: fortran/match.c:2375
+-#, no-c-format
+-msgid "Illegal STAT variable in DEALLOCATE statement at %C for a PURE procedure"
+-msgstr ""
+-
+-#: fortran/match.c:2424
+-#, no-c-format
+ msgid "Alternate RETURN statement at %C is only allowed within a SUBROUTINE"
+ msgstr ""
+
+-#: fortran/match.c:2455
++#: fortran/match.c:2448
+ #, fuzzy, no-c-format
+ msgid "Extension: RETURN statement in main program at %C"
+ msgstr "RETURN-sætning ved %0 ugyldig inden i en hovedprogramenhed"
+
+-#: fortran/match.c:2665
++#: fortran/match.c:2658
+ #, fuzzy, no-c-format
+ msgid "Syntax error in common block name at %C"
+ msgstr "\"%s\" må ikke optræde i makroparameterliste"
+
+-#: fortran/match.c:2701
++#: fortran/match.c:2694
+ #, no-c-format
+ msgid "Symbol '%s' at %C is already an external symbol that is not COMMON"
+ msgstr ""
+
+-#: fortran/match.c:2719
+-#, no-c-format
+-msgid "BLOCK DATA unit cannot contain blank COMMON at %C"
+-msgstr ""
+-
+ #. If we find an error, just print it and continue,
+ #. cause it's just semantic, and we can see if there
+ #. are more errors.
+-#: fortran/match.c:2765
++#: fortran/match.c:2753
+ #, no-c-format
+ msgid "Variable '%s' at %L in common block '%s' at %C must be declared with a C interoperable kind since common block '%s' is bind(c)"
+ msgstr ""
+
+-#: fortran/match.c:2774
++#: fortran/match.c:2762
+ #, no-c-format
+ msgid "Variable '%s' in common block '%s' at %C can not be bind(c) since it is not global"
+ msgstr ""
+
+-#: fortran/match.c:2781
++#: fortran/match.c:2769
+ #, no-c-format
+ msgid "Symbol '%s' at %C is already in a COMMON block"
+ msgstr ""
+
+-#: fortran/match.c:2793
++#: fortran/match.c:2777
+ #, no-c-format
+-msgid "Previously initialized symbol '%s' in blank COMMON block at %C"
++msgid "Initialized symbol '%s' at %C can only be COMMON in BLOCK DATA"
+ msgstr ""
+
+-#: fortran/match.c:2796
++#: fortran/match.c:2804
+ #, no-c-format
+-msgid "Previously initialized symbol '%s' in COMMON block '%s' at %C"
+-msgstr ""
+-
+-#: fortran/match.c:2821
+-#, no-c-format
+ msgid "Array specification for symbol '%s' in COMMON at %C must be explicit"
+ msgstr ""
+
+-#: fortran/match.c:2831
++#: fortran/match.c:2814
+ #, no-c-format
+ msgid "Symbol '%s' in COMMON at %C cannot be a POINTER array"
+ msgstr ""
+
+-#: fortran/match.c:2863
++#: fortran/match.c:2846
+ #, no-c-format
+ msgid "Symbol '%s', in COMMON block '%s' at %C is being indirectly equivalenced to another COMMON block '%s'"
+ msgstr ""
+
+-#: fortran/match.c:2971
++#: fortran/match.c:2954
+ #, no-c-format
+ msgid "Namelist group name '%s' at %C already has a basic type of %s"
+ msgstr ""
+
+-#: fortran/match.c:2979
++#: fortran/match.c:2962
+ #, no-c-format
+ msgid "Namelist group name '%s' at %C already is USE associated and cannot be respecified."
+ msgstr ""
+
+-#: fortran/match.c:3006
++#: fortran/match.c:2989
+ #, no-c-format
+ msgid "Assumed size array '%s' in namelist '%s' at %C is not allowed"
+ msgstr ""
+
+-#: fortran/match.c:3013
++#: fortran/match.c:2996
+ #, no-c-format
+ msgid "Assumed character length '%s' in namelist '%s' at %C is not allowed"
+ msgstr ""
+
+-#: fortran/match.c:3140
++#: fortran/match.c:3123
+ #, no-c-format
+ msgid "Derived type component %C is not a permitted EQUIVALENCE member"
+ msgstr ""
+
+-#: fortran/match.c:3148
++#: fortran/match.c:3131
+ #, no-c-format
+ msgid "Array reference in EQUIVALENCE at %C cannot be an array section"
+ msgstr ""
+
+-#: fortran/match.c:3176
++#: fortran/match.c:3159
+ #, no-c-format
+ msgid "EQUIVALENCE at %C requires two or more objects"
+ msgstr ""
+
+-#: fortran/match.c:3190
++#: fortran/match.c:3173
+ #, fuzzy, no-c-format
+ msgid "Attempt to indirectly overlap COMMON blocks %s and %s by EQUIVALENCE at %C"
+ msgstr "Forsøg på at udvide COMMON-område over dets begyndelsespunkt vha. EQUIVALENCE '%A'"
+
+-#: fortran/match.c:3351
++#: fortran/match.c:3299
+ #, fuzzy, no-c-format
+ msgid "Statement function at %L is recursive"
+ msgstr "Sætningsfunktion '%A' defineret ved %0, men er ikke brugt"
+
+-#: fortran/match.c:3439
++#: fortran/match.c:3387
+ #, fuzzy, no-c-format
+ msgid "Expected initialization expression in CASE at %C"
+ msgstr "tildeling af startværdi til new-udtryk med '='"
+
+-#: fortran/match.c:3462
++#: fortran/match.c:3410
+ #, no-c-format
+ msgid "Expected the name of the SELECT CASE construct at %C"
+ msgstr ""
+
+-#: fortran/match.c:3474
++#: fortran/match.c:3422
+ #, no-c-format
+ msgid "Expected case name of '%s' at %C"
+ msgstr ""
+
+-#: fortran/match.c:3518
++#: fortran/match.c:3466
+ #, fuzzy, no-c-format
+ msgid "Unexpected CASE statement at %C"
+ msgstr "Ikke-understøttet VXT-sætning ved %0"
+
+-#: fortran/match.c:3570
++#: fortran/match.c:3518
+ #, fuzzy, no-c-format
+ msgid "Syntax error in CASE-specification at %C"
+ msgstr "tolkningsfejl i medlemsfunktionsangivelsen"
+
+-#: fortran/match.c:3690
++#: fortran/match.c:3638
+ #, no-c-format
+ msgid "ELSEWHERE statement at %C not enclosed in WHERE block"
+ msgstr ""
+
+-#: fortran/match.c:3728
++#: fortran/match.c:3676
+ #, no-c-format
+ msgid "Label '%s' at %C doesn't match WHERE label '%s'"
+ msgstr ""
+
+-#: fortran/match.c:3828
++#: fortran/match.c:3776
+ #, fuzzy, no-c-format
+ msgid "Syntax error in FORALL iterator at %C"
+ msgstr "\"%s\" må ikke optræde i makroparameterliste"
+@@ -7871,7 +7873,8 @@
+ msgid "Expected exponent in expression at %C"
+ msgstr "Forventede binær operator mellem udtryk ved %0 og ved %1"
+
+-#: fortran/matchexp.c:348 fortran/matchexp.c:452
++#: fortran/matchexp.c:350 fortran/matchexp.c:355 fortran/matchexp.c:459
++#: fortran/matchexp.c:464
+ #, no-c-format
+ msgid "Extension: Unary operator following arithmetic operator (use parentheses) at %C"
+ msgstr ""
+@@ -8006,127 +8009,127 @@
+ msgid "Expected real string"
+ msgstr "uafsluttet formateringsstreng"
+
+-#: fortran/module.c:2722
++#: fortran/module.c:2730
+ #, fuzzy
+ msgid "Expected expression type"
+ msgstr "uventet adresseudtryk"
+
+-#: fortran/module.c:2776
++#: fortran/module.c:2784
+ #, fuzzy
+ msgid "Bad operator"
+ msgstr "ugyldig operand"
+
+-#: fortran/module.c:2861
++#: fortran/module.c:2869
+ #, fuzzy
+ msgid "Bad type in constant expression"
+ msgstr "overløb i konstant udtryk"
+
+-#: fortran/module.c:2898
++#: fortran/module.c:2906
+ #, no-c-format
+ msgid "Namelist %s cannot be renamed by USE association to %s"
+ msgstr ""
+
+-#: fortran/module.c:3723
++#: fortran/module.c:3847
+ #, no-c-format
+ msgid "Symbol '%s' referenced at %L not found in module '%s'"
+ msgstr ""
+
+-#: fortran/module.c:3730
++#: fortran/module.c:3854
+ #, no-c-format
+ msgid "User operator '%s' referenced at %L not found in module '%s'"
+ msgstr ""
+
+-#: fortran/module.c:3735
++#: fortran/module.c:3859
+ #, no-c-format
+ msgid "Intrinsic operator '%s' referenced at %L not found in module '%s'"
+ msgstr ""
+
+-#: fortran/module.c:4213
++#: fortran/module.c:4400
+ #, fuzzy, no-c-format
+ msgid "Can't open module file '%s' for writing at %C: %s"
+ msgstr "kan ikke åbne %s til skrivning: %m"
+
+-#: fortran/module.c:4251
++#: fortran/module.c:4438
+ #, fuzzy, no-c-format
+ msgid "Error writing module file '%s' for writing: %s"
+ msgstr "%s: fejl ved skrivning til filen '%s': %s\n"
+
+-#: fortran/module.c:4281 fortran/module.c:4363
++#: fortran/module.c:4468 fortran/module.c:4550
+ #, no-c-format
+ msgid "Symbol '%s' referenced at %L does not exist in intrinsic module ISO_C_BINDING."
+ msgstr ""
+
+-#: fortran/module.c:4394
++#: fortran/module.c:4581
+ #, no-c-format
+ msgid "Symbol '%s' referenced at %L not found in intrinsic module ISO_C_BINDING"
+ msgstr ""
+
+-#: fortran/module.c:4416
++#: fortran/module.c:4603
+ #, fuzzy, no-c-format
+ msgid "Symbol '%s' already declared"
+ msgstr "Symboler har en indledende understreg"
+
+-#: fortran/module.c:4471
++#: fortran/module.c:4658
+ #, no-c-format
+ msgid "Use of intrinsic module '%s' at %C conflicts with non-intrinsic module name used previously"
+ msgstr ""
+
+-#: fortran/module.c:4484
++#: fortran/module.c:4671
+ #, no-c-format
+ msgid "Symbol '%s' referenced at %L does not exist in intrinsic module ISO_FORTRAN_ENV"
+ msgstr ""
+
+-#: fortran/module.c:4492
++#: fortran/module.c:4679
+ #, no-c-format
+ msgid "Use of the NUMERIC_STORAGE_SIZE named constant from intrinsic module ISO_FORTRAN_ENV at %L is incompatible with option %s"
+ msgstr ""
+
+-#: fortran/module.c:4520
++#: fortran/module.c:4707
+ #, no-c-format
+ msgid "Use of the NUMERIC_STORAGE_SIZE named constant from intrinsic module ISO_FORTRAN_ENV at %C is incompatible with option %s"
+ msgstr ""
+
+-#: fortran/module.c:4536
++#: fortran/module.c:4723
+ #, no-c-format
+ msgid "Symbol '%s' referenced at %L not found in intrinsic module ISO_FORTRAN_ENV"
+ msgstr ""
+
+-#: fortran/module.c:4569
++#: fortran/module.c:4756
+ #, no-c-format
+ msgid "Fortran 2003: ISO_FORTRAN_ENV intrinsic module at %C"
+ msgstr ""
+
+-#: fortran/module.c:4577
++#: fortran/module.c:4764
+ #, no-c-format
+ msgid "Fortran 2003: ISO_C_BINDING module at %C"
+ msgstr ""
+
+-#: fortran/module.c:4587
++#: fortran/module.c:4774
+ #, no-c-format
+ msgid "Can't find an intrinsic module named '%s' at %C"
+ msgstr ""
+
+-#: fortran/module.c:4592
++#: fortran/module.c:4779
+ #, fuzzy, no-c-format
+ msgid "Can't open module file '%s' for reading at %C: %s"
+ msgstr "%s: kan ikke åbne filen '%s' til at læse fra: %s\n"
+
+-#: fortran/module.c:4600
++#: fortran/module.c:4787
+ #, no-c-format
+ msgid "Use of non-intrinsic module '%s' at %C conflicts with intrinsic module name used previously"
+ msgstr ""
+
+-#: fortran/module.c:4615
++#: fortran/module.c:4802
+ #, fuzzy
+ msgid "Unexpected end of module"
+ msgstr "uventet PIC-symbol"
+
+-#: fortran/module.c:4620
++#: fortran/module.c:4807
+ #, no-c-format
+ msgid "File '%s' opened at %C is not a GFORTRAN module file"
+ msgstr ""
+
+-#: fortran/module.c:4630
++#: fortran/module.c:4817
+ #, no-c-format
+ msgid "Can't USE the same module we're building!"
+ msgstr ""
+@@ -8156,7 +8159,7 @@
+ msgid "Syntax error in !$OMP THREADPRIVATE list at %C"
+ msgstr ""
+
+-#: fortran/openmp.c:696 fortran/resolve.c:5822 fortran/resolve.c:6133
++#: fortran/openmp.c:696 fortran/resolve.c:5970 fortran/resolve.c:6317
+ #, no-c-format
+ msgid "IF clause at %L requires a scalar LOGICAL expression"
+ msgstr ""
+@@ -8452,303 +8455,303 @@
+ msgid "Maximum subrecord length cannot exceed %d"
+ msgstr ""
+
+-#: fortran/parse.c:304
++#: fortran/parse.c:451
+ #, fuzzy, no-c-format
+ msgid "Unclassifiable statement at %C"
+ msgstr "Ikke-understøttet VXT-sætning ved %0"
+
+-#: fortran/parse.c:328
++#: fortran/parse.c:475
+ #, no-c-format
+ msgid "OpenMP directives at %C may not appear in PURE or ELEMENTAL procedures"
+ msgstr ""
+
+-#: fortran/parse.c:406
++#: fortran/parse.c:553
+ #, no-c-format
+ msgid "Unclassifiable OpenMP directive at %C"
+ msgstr ""
+
+-#: fortran/parse.c:445 fortran/parse.c:586
++#: fortran/parse.c:592 fortran/parse.c:733
+ #, fuzzy, no-c-format
+ msgid "Zero is not a valid statement label at %C"
+ msgstr "'%E' er ikke en gyldig skabelonsparameter"
+
+-#: fortran/parse.c:452 fortran/parse.c:578
++#: fortran/parse.c:599 fortran/parse.c:725
+ #, fuzzy, no-c-format
+ msgid "Non-numeric character in statement label at %C"
+ msgstr "Tegn der ikke er tal ved %0 i etiketfelt [info -f g77 M LEX]"
+
+-#: fortran/parse.c:464 fortran/parse.c:500 fortran/parse.c:626
++#: fortran/parse.c:611 fortran/parse.c:647 fortran/parse.c:773
+ #, no-c-format
+ msgid "Semicolon at %C needs to be preceded by statement"
+ msgstr ""
+
+-#: fortran/parse.c:472 fortran/parse.c:638
++#: fortran/parse.c:619 fortran/parse.c:785
+ #, no-c-format
+ msgid "Ignoring statement label in empty statement at %C"
+ msgstr ""
+
+-#: fortran/parse.c:565 fortran/parse.c:605
++#: fortran/parse.c:712 fortran/parse.c:752
+ #, fuzzy, no-c-format
+ msgid "Bad continuation line at %C"
+ msgstr "Tom almen tildelt startværdi ved %0"
+
+-#: fortran/parse.c:664
++#: fortran/parse.c:811
+ #, no-c-format
+ msgid "Line truncated at %C"
+ msgstr ""
+
+-#: fortran/parse.c:841
++#: fortran/parse.c:997
+ #, no-c-format
+ msgid "FORMAT statement at %L does not have a statement label"
+ msgstr ""
+
+-#: fortran/parse.c:913
++#: fortran/parse.c:1069
+ msgid "arithmetic IF"
+ msgstr ""
+
+-#: fortran/parse.c:919
++#: fortran/parse.c:1075
+ #, fuzzy
+ msgid "attribute declaration"
+ msgstr "Ugyldig erklæring"
+
+-#: fortran/parse.c:949
++#: fortran/parse.c:1105
+ #, fuzzy
+ msgid "data declaration"
+ msgstr "tom erklæring"
+
+-#: fortran/parse.c:958
++#: fortran/parse.c:1114
+ #, fuzzy
+ msgid "derived type declaration"
+ msgstr "tom erklæring"
+
+-#: fortran/parse.c:1037
++#: fortran/parse.c:1193
+ msgid "block IF"
+ msgstr ""
+
+-#: fortran/parse.c:1046
++#: fortran/parse.c:1202
+ msgid "implied END DO"
+ msgstr ""
+
+-#: fortran/parse.c:1119
++#: fortran/parse.c:1275
+ msgid "assignment"
+ msgstr "tildeling"
+
+-#: fortran/parse.c:1122
++#: fortran/parse.c:1278
+ #, fuzzy
+ msgid "pointer assignment"
+ msgstr "tildeling"
+
+-#: fortran/parse.c:1131
++#: fortran/parse.c:1287
+ msgid "simple IF"
+ msgstr ""
+
+-#: fortran/parse.c:1347
++#: fortran/parse.c:1503
+ #, fuzzy, no-c-format
+ msgid "Unexpected %s statement at %C"
+ msgstr "Ikke-understøttet VXT-sætning ved %0"
+
+-#: fortran/parse.c:1486
++#: fortran/parse.c:1642
+ #, fuzzy, no-c-format
+ msgid "%s statement at %C cannot follow %s statement at %L"
+ msgstr "Sætning ved %0 er ugyldig i den kontekst der er etableret af sætning ved %1"
+
+-#: fortran/parse.c:1503
++#: fortran/parse.c:1659
+ #, fuzzy, no-c-format
+ msgid "Unexpected end of file in '%s'"
+ msgstr "Stødt på slutningen af kildefilen %s tidligere end forventet.\n"
+
+-#: fortran/parse.c:1558
++#: fortran/parse.c:1714
+ #, no-c-format
+ msgid "Fortran 2003: Derived type definition at %C without components"
+ msgstr ""
+
+-#: fortran/parse.c:1569
++#: fortran/parse.c:1725
+ #, no-c-format
+ msgid "PRIVATE statement in TYPE at %C must be inside a MODULE"
+ msgstr ""
+
+-#: fortran/parse.c:1577
++#: fortran/parse.c:1733
+ #, no-c-format
+ msgid "PRIVATE statement at %C must precede structure components"
+ msgstr ""
+
+-#: fortran/parse.c:1585
++#: fortran/parse.c:1741
+ #, fuzzy, no-c-format
+ msgid "Duplicate PRIVATE statement at %C"
+ msgstr "Ikke-understøttet VXT-sætning ved %0"
+
+-#: fortran/parse.c:1597
++#: fortran/parse.c:1753
+ #, no-c-format
+ msgid "SEQUENCE statement at %C must precede structure components"
+ msgstr ""
+
+-#: fortran/parse.c:1604
++#: fortran/parse.c:1760
+ #, no-c-format
+ msgid "SEQUENCE attribute at %C already specified in TYPE statement"
+ msgstr ""
+
+-#: fortran/parse.c:1609
++#: fortran/parse.c:1765
+ #, fuzzy, no-c-format
+ msgid "Duplicate SEQUENCE statement at %C"
+ msgstr "Ikke-understøttet VXT-sætning ved %0"
+
+-#: fortran/parse.c:1700
++#: fortran/parse.c:1856
+ #, no-c-format
+ msgid "ENUM declaration at %C has no ENUMERATORS"
+ msgstr ""
+
+-#: fortran/parse.c:1778
++#: fortran/parse.c:1934
+ #, no-c-format
+ msgid "Unexpected %s statement in INTERFACE block at %C"
+ msgstr ""
+
+-#: fortran/parse.c:1804
++#: fortran/parse.c:1960
+ #, no-c-format
+ msgid "SUBROUTINE at %C does not belong in a generic function interface"
+ msgstr ""
+
+-#: fortran/parse.c:1808
++#: fortran/parse.c:1964
+ #, no-c-format
+ msgid "FUNCTION at %C does not belong in a generic subroutine interface"
+ msgstr ""
+
+-#: fortran/parse.c:1818
++#: fortran/parse.c:1974
+ #, no-c-format
+ msgid "Name '%s' of ABSTRACT INTERFACE at %C cannot be the same as an intrinsic type"
+ msgstr ""
+
+-#: fortran/parse.c:1849
++#: fortran/parse.c:2005
+ #, no-c-format
+ msgid "Unexpected %s statement at %C in INTERFACE body"
+ msgstr ""
+
+-#: fortran/parse.c:1863
++#: fortran/parse.c:2019
+ #, no-c-format
+ msgid "INTERFACE procedure '%s' at %L has the same name as the enclosing procedure"
+ msgstr ""
+
+-#: fortran/parse.c:1958
++#: fortran/parse.c:2134
+ #, no-c-format
+ msgid "%s statement must appear in a MODULE"
+ msgstr ""
+
+-#: fortran/parse.c:1965
++#: fortran/parse.c:2141
+ #, no-c-format
+ msgid "%s statement at %C follows another accessibility specification"
+ msgstr ""
+
+-#: fortran/parse.c:2015
++#: fortran/parse.c:2191
+ #, fuzzy, no-c-format
+ msgid "Bad kind expression for function '%s' at %L"
+ msgstr "ugyldig lagringsklasse for funktion '%s'"
+
+-#: fortran/parse.c:2018
++#: fortran/parse.c:2195
+ #, no-c-format
+ msgid "The type for function '%s' at %L is not accessible"
+ msgstr ""
+
+-#: fortran/parse.c:2070
++#: fortran/parse.c:2253
+ #, no-c-format
+ msgid "ELSEWHERE statement at %C follows previous unmasked ELSEWHERE"
+ msgstr ""
+
+-#: fortran/parse.c:2091
++#: fortran/parse.c:2274
+ #, no-c-format
+ msgid "Unexpected %s statement in WHERE block at %C"
+ msgstr ""
+
+-#: fortran/parse.c:2150
++#: fortran/parse.c:2333
+ #, no-c-format
+ msgid "Unexpected %s statement in FORALL block at %C"
+ msgstr ""
+
+-#: fortran/parse.c:2201
++#: fortran/parse.c:2384
+ #, fuzzy, no-c-format
+ msgid "ELSE IF statement at %C cannot follow ELSE statement at %L"
+ msgstr "PUBLIC- eller PRIVATE-sætning ved %1 kan ikke angives sammen med PUBLIC- eller PRIVATE-sætning ved %0"
+
+-#: fortran/parse.c:2219
++#: fortran/parse.c:2402
+ #, no-c-format
+ msgid "Duplicate ELSE statements at %L and %C"
+ msgstr ""
+
+-#: fortran/parse.c:2280
++#: fortran/parse.c:2463
+ #, no-c-format
+ msgid "Expected a CASE or END SELECT statement following SELECT CASE at %C"
+ msgstr ""
+
+-#: fortran/parse.c:2338
++#: fortran/parse.c:2521
+ #, no-c-format
+ msgid "Variable '%s' at %C cannot be redefined inside loop beginning at %L"
+ msgstr ""
+
+-#: fortran/parse.c:2372
++#: fortran/parse.c:2555
+ #, no-c-format
+ msgid "End of nonblock DO statement at %C is within another block"
+ msgstr ""
+
+-#: fortran/parse.c:2381
++#: fortran/parse.c:2564
+ #, no-c-format
+ msgid "End of nonblock DO statement at %C is interwoven with another DO loop"
+ msgstr ""
+
+-#: fortran/parse.c:2430
++#: fortran/parse.c:2613
+ #, no-c-format
+ msgid "Statement label in ENDDO at %C doesn't match DO label"
+ msgstr ""
+
+-#: fortran/parse.c:2446
++#: fortran/parse.c:2629
+ #, no-c-format
+ msgid "named block DO at %L requires matching ENDDO name"
+ msgstr ""
+
+-#: fortran/parse.c:2702
++#: fortran/parse.c:2885
+ #, no-c-format
+ msgid "Name after !$omp critical and !$omp end critical does not match at %C"
+ msgstr ""
+
+-#: fortran/parse.c:2758
++#: fortran/parse.c:2941
+ #, no-c-format
+ msgid "%s statement at %C cannot terminate a non-block DO loop"
+ msgstr ""
+
+-#: fortran/parse.c:2943
++#: fortran/parse.c:3126
+ #, no-c-format
+ msgid "Contained procedure '%s' at %C is already ambiguous"
+ msgstr ""
+
+-#: fortran/parse.c:2993
++#: fortran/parse.c:3176
+ #, no-c-format
+ msgid "Unexpected %s statement in CONTAINS section at %C"
+ msgstr ""
+
+ #. This is valid in Fortran 2008.
+-#: fortran/parse.c:3018
++#: fortran/parse.c:3201
+ #, no-c-format
+ msgid "Extension: CONTAINS statement without FUNCTION or SUBROUTINE statement at %C"
+ msgstr ""
+
+-#: fortran/parse.c:3089
++#: fortran/parse.c:3272
+ #, fuzzy, no-c-format
+ msgid "CONTAINS statement at %C is already in a contained program unit"
+ msgstr "RETURN-sætning ved %0 ugyldig inden i en hovedprogramenhed"
+
+-#: fortran/parse.c:3138
++#: fortran/parse.c:3321
+ #, no-c-format
+ msgid "Global name '%s' at %L is already being used as a %s at %L"
+ msgstr ""
+
+-#: fortran/parse.c:3159
++#: fortran/parse.c:3342
+ #, no-c-format
+ msgid "Blank BLOCK DATA at %C conflicts with prior BLOCK DATA at %L"
+ msgstr ""
+
+-#: fortran/parse.c:3185
++#: fortran/parse.c:3368
+ #, no-c-format
+ msgid "Unexpected %s statement in BLOCK DATA at %C"
+ msgstr ""
+
+-#: fortran/parse.c:3228
++#: fortran/parse.c:3411
+ #, fuzzy, no-c-format
+ msgid "Unexpected %s statement in MODULE at %C"
+ msgstr "Ikke-understøttet VXT-sætning ved %0"
+@@ -8756,7 +8759,7 @@
+ #. If we see a duplicate main program, shut down. If the second
+ #. instance is an implied main program, ie data decls or executable
+ #. statements, we're in for lots of errors.
+-#: fortran/parse.c:3416
++#: fortran/parse.c:3594
+ #, no-c-format
+ msgid "Two main PROGRAMs at %L and %C"
+ msgstr ""
+@@ -8793,7 +8796,7 @@
+
+ #: fortran/primary.c:353
+ #, no-c-format
+-msgid "Extension: Hexadecimal constant at %C uses non-standard syntax."
++msgid "Extension: Hexadecimal constant at %C uses non-standard syntax"
+ msgstr ""
+
+ #: fortran/primary.c:363
+@@ -8806,995 +8809,1040 @@
+ msgid "Illegal character in BOZ constant at %C"
+ msgstr "Nul-længde tegnkonstant ved %0"
+
+-#: fortran/primary.c:391
++#: fortran/primary.c:392
+ #, no-c-format
+-msgid "Extension: BOZ constant at %C uses non-standard postfix syntax."
++msgid "Extension: BOZ constant at %C uses non-standard postfix syntax"
+ msgstr ""
+
+-#: fortran/primary.c:417
++#: fortran/primary.c:423
+ #, no-c-format
+ msgid "Integer too big for integer kind %i at %C"
+ msgstr ""
+
+-#: fortran/primary.c:517
++#: fortran/primary.c:429
++#, no-c-format
++msgid "Fortran 2003: BOZ used outside a DATA statement at %C"
++msgstr ""
++
++#: fortran/primary.c:529
+ #, fuzzy, no-c-format
+ msgid "Missing exponent in real number at %C"
+ msgstr "Manglende værdi ved %1 for reel eksponent ved %0"
+
+-#: fortran/primary.c:573
++#: fortran/primary.c:585
+ #, no-c-format
+ msgid "Real number at %C has a 'd' exponent and an explicit kind"
+ msgstr ""
+
+-#: fortran/primary.c:586
++#: fortran/primary.c:598
+ #, no-c-format
+ msgid "Invalid real kind %d at %C"
+ msgstr ""
+
+-#: fortran/primary.c:600
++#: fortran/primary.c:612
+ #, no-c-format
+ msgid "Real constant overflows its kind at %C"
+ msgstr ""
+
+-#: fortran/primary.c:605
++#: fortran/primary.c:617
+ #, no-c-format
+ msgid "Real constant underflows its kind at %C"
+ msgstr ""
+
+-#: fortran/primary.c:697
++#: fortran/primary.c:709
+ #, fuzzy, no-c-format
+ msgid "Syntax error in SUBSTRING specification at %C"
+ msgstr "tolkningsfejl i medlemsfunktionsangivelsen"
+
+-#: fortran/primary.c:902
++#: fortran/primary.c:914
+ #, no-c-format
+ msgid "Invalid kind %d for CHARACTER constant at %C"
+ msgstr ""
+
+-#: fortran/primary.c:923
++#: fortran/primary.c:935
+ #, fuzzy, no-c-format
+ msgid "Unterminated character constant beginning at %C"
+ msgstr "uafsluttet streng- eller tegnkonstant"
+
+-#: fortran/primary.c:1035
++#: fortran/primary.c:1047
+ #, no-c-format
+ msgid "Bad kind for logical constant at %C"
+ msgstr ""
+
+-#: fortran/primary.c:1074
++#: fortran/primary.c:1086
+ #, no-c-format
+ msgid "Expected PARAMETER symbol in complex constant at %C"
+ msgstr ""
+
+-#: fortran/primary.c:1080
++#: fortran/primary.c:1092
+ #, no-c-format
+ msgid "Numeric PARAMETER required in complex constant at %C"
+ msgstr ""
+
+-#: fortran/primary.c:1086
++#: fortran/primary.c:1098
+ #, no-c-format
+ msgid "Scalar PARAMETER required in complex constant at %C"
+ msgstr ""
+
+-#: fortran/primary.c:1090
++#: fortran/primary.c:1102
+ #, no-c-format
+ msgid "Fortran 2003: PARAMETER symbol in complex constant at %C"
+ msgstr ""
+
+-#: fortran/primary.c:1120
++#: fortran/primary.c:1132
+ #, no-c-format
+ msgid "Error converting PARAMETER constant in complex constant at %C"
+ msgstr ""
+
+-#: fortran/primary.c:1249
++#: fortran/primary.c:1261
+ #, no-c-format
+ msgid "Syntax error in COMPLEX constant at %C"
+ msgstr ""
+
+-#: fortran/primary.c:1430
++#: fortran/primary.c:1442
+ #, no-c-format
+ msgid "Keyword '%s' at %C has already appeared in the current argument list"
+ msgstr ""
+
+-#: fortran/primary.c:1494
++#: fortran/primary.c:1506
+ #, fuzzy, no-c-format
+ msgid "Extension: argument list function at %C"
+ msgstr "for mange parametre til funktionen '%s'"
+
+-#: fortran/primary.c:1561
++#: fortran/primary.c:1573
+ #, no-c-format
+ msgid "Expected alternate return label at %C"
+ msgstr ""
+
+-#: fortran/primary.c:1579
++#: fortran/primary.c:1591
+ #, fuzzy, no-c-format
+ msgid "Missing keyword name in actual argument list at %C"
+ msgstr "umuligt symbol i makroparameterlisten"
+
+-#: fortran/primary.c:1624
++#: fortran/primary.c:1636
+ #, fuzzy, no-c-format
+ msgid "Syntax error in argument list at %C"
+ msgstr "\"%s\" må ikke optræde i makroparameterliste"
+
+-#: fortran/primary.c:1708
++#: fortran/primary.c:1723
+ #, no-c-format
+ msgid "Expected structure component name at %C"
+ msgstr ""
+
+-#: fortran/primary.c:1961
++#: fortran/primary.c:1980
+ #, no-c-format
+ msgid "Too many components in structure constructor at %C"
+ msgstr ""
+
+-#: fortran/primary.c:1974
++#: fortran/primary.c:1993
+ #, no-c-format
+ msgid "Structure constructor for '%s' at %C has PRIVATE components"
+ msgstr ""
+
+-#: fortran/primary.c:1984
++#: fortran/primary.c:2003
+ #, no-c-format
+ msgid "Too few components in structure constructor at %C"
+ msgstr ""
+
+-#: fortran/primary.c:2002
++#: fortran/primary.c:2021
+ #, no-c-format
+ msgid "Syntax error in structure constructor at %C"
+ msgstr ""
+
+-#: fortran/primary.c:2086
++#: fortran/primary.c:2105
+ #, no-c-format
+ msgid "'%s' 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.c:2188
++#: fortran/primary.c:2207
+ #, no-c-format
+ msgid "Unexpected use of subroutine name '%s' at %C"
+ msgstr ""
+
+-#: fortran/primary.c:2219
++#: fortran/primary.c:2238
+ #, fuzzy, no-c-format
+ msgid "Statement function '%s' requires argument list at %C"
+ msgstr "Sætningsfunktion '%A' defineret ved %0, men er ikke brugt"
+
+-#: fortran/primary.c:2222
++#: fortran/primary.c:2241
+ #, fuzzy, no-c-format
+ msgid "Function '%s' requires an argument list at %C"
+ msgstr "%s: tilvalget '%s' skal have en parameter\n"
+
+-#: fortran/primary.c:2267
++#: fortran/primary.c:2286
+ #, fuzzy, no-c-format
+ msgid "Missing argument to '%s' at %C"
+ msgstr "der mangler en parameter til tilvalget '%s'"
+
+-#: fortran/primary.c:2408
++#: fortran/primary.c:2427
+ #, fuzzy, no-c-format
+ msgid "Missing argument list in function '%s' at %C"
+ msgstr "der mangler en parameter til tilvalget '%s'"
+
+-#: fortran/primary.c:2436
++#: fortran/primary.c:2455
+ #, fuzzy, no-c-format
+ msgid "Symbol at %C is not appropriate for an expression"
+ msgstr "kommatalsoverløb i udtryk"
+
+-#: fortran/primary.c:2504
++#: fortran/primary.c:2523
+ #, no-c-format
+ msgid "Assigning to PROTECTED variable at %C"
+ msgstr ""
+
+-#: fortran/primary.c:2520
++#: fortran/primary.c:2557
+ #, no-c-format
+ msgid "Named constant at %C in an EQUIVALENCE"
+ msgstr ""
+
+-#: fortran/primary.c:2543
+-#, no-c-format
+-msgid "Expected VARIABLE at %C"
+-msgstr ""
++#: fortran/primary.c:2579
++#, fuzzy, no-c-format
++msgid "'%s' at %C is not a variable"
++msgstr "\"%s\" er ikke et ugyldigt filnavn"
+
+-#: fortran/resolve.c:120
++#: fortran/resolve.c:121
+ #, fuzzy, no-c-format
+ msgid "Alternate return specifier in elemental subroutine '%s' at %L is not allowed"
+ msgstr "Alternativ returangivelse ved %0 er ugyldig inden i en funktion"
+
+-#: fortran/resolve.c:124
++#: fortran/resolve.c:125
+ #, fuzzy, no-c-format
+ msgid "Alternate return specifier in function '%s' at %L is not allowed"
+ msgstr "Alternativ returangivelse ved %0 er ugyldig inden i en funktion"
+
+-#: fortran/resolve.c:137
++#: fortran/resolve.c:138
+ #, no-c-format
+ msgid "Dummy procedure '%s' of PURE procedure at %L must also be PURE"
+ msgstr ""
+
+-#: fortran/resolve.c:144
++#: fortran/resolve.c:145
+ #, no-c-format
+ msgid "Dummy procedure at %L not allowed in ELEMENTAL procedure"
+ msgstr ""
+
+-#: fortran/resolve.c:157 fortran/resolve.c:1080
++#: fortran/resolve.c:158 fortran/resolve.c:1138
+ #, no-c-format
+ msgid "Unable to find a specific INTRINSIC procedure for the reference '%s' at %L"
+ msgstr ""
+
+-#: fortran/resolve.c:201
++#: fortran/resolve.c:202
+ #, no-c-format
+ msgid "Argument '%s' of pure function '%s' at %L must be INTENT(IN)"
+ msgstr ""
+
+-#: fortran/resolve.c:206
++#: fortran/resolve.c:207
+ #, no-c-format
+ msgid "Argument '%s' of pure subroutine '%s' at %L must have its INTENT specified"
+ msgstr ""
+
+-#: fortran/resolve.c:215
++#: fortran/resolve.c:216
+ #, no-c-format
+ msgid "Argument '%s' of elemental procedure at %L must be scalar"
+ msgstr ""
+
+-#: fortran/resolve.c:222
++#: fortran/resolve.c:223
+ #, no-c-format
+ msgid "Argument '%s' of elemental procedure at %L cannot have the POINTER attribute"
+ msgstr ""
+
+-#: fortran/resolve.c:234
++#: fortran/resolve.c:231
++#, no-c-format
++msgid "Dummy procedure '%s' not allowed in elemental procedure '%s' at %L"
++msgstr ""
++
++#: fortran/resolve.c:243
+ #, fuzzy, no-c-format
+ msgid "Argument '%s' of statement function at %L must be scalar"
+ msgstr "Nulparameter ved %0 for sætningsfunktionsreference ved %1"
+
+-#: fortran/resolve.c:244
++#: fortran/resolve.c:253
+ #, no-c-format
+ msgid "Character-valued argument '%s' of statement function at %L must have constant length"
+ msgstr ""
+
+-#: fortran/resolve.c:299
++#: fortran/resolve.c:310
+ #, no-c-format
+ msgid "Contained function '%s' at %L has no IMPLICIT type"
+ msgstr ""
+
+-#: fortran/resolve.c:302
++#: fortran/resolve.c:313
+ #, no-c-format
+ msgid "Result '%s' of contained function '%s' at %L has no IMPLICIT type"
+ msgstr ""
+
+-#: fortran/resolve.c:319
++#: fortran/resolve.c:330
+ #, no-c-format
+ msgid "Character-valued internal function '%s' at %L must not be assumed length"
+ msgstr ""
+
+-#: fortran/resolve.c:490
++#: fortran/resolve.c:501
++#, fuzzy, no-c-format
++msgid "Function %s at %L has entries with mismatched array specifications"
++msgstr "inkonsistent instansvariabelangivelse"
++
++#: fortran/resolve.c:518
+ #, no-c-format
+-msgid "Procedure %s at %L has entries with mismatched array specifications"
++msgid "Extension: Function %s at %L with entries returning variables of different string lengths"
+ msgstr ""
+
+-#: fortran/resolve.c:516
++#: fortran/resolve.c:545
+ #, no-c-format
+ msgid "FUNCTION result %s can't be an array in FUNCTION %s at %L"
+ msgstr ""
+
+-#: fortran/resolve.c:520
++#: fortran/resolve.c:549
+ #, no-c-format
+ msgid "ENTRY result %s can't be an array in FUNCTION %s at %L"
+ msgstr ""
+
+-#: fortran/resolve.c:527
++#: fortran/resolve.c:556
+ #, no-c-format
+ msgid "FUNCTION result %s can't be a POINTER in FUNCTION %s at %L"
+ msgstr ""
+
+-#: fortran/resolve.c:531
++#: fortran/resolve.c:560
+ #, no-c-format
+ msgid "ENTRY result %s can't be a POINTER in FUNCTION %s at %L"
+ msgstr ""
+
+-#: fortran/resolve.c:569
++#: fortran/resolve.c:598
+ #, no-c-format
+ msgid "FUNCTION result %s can't be of type %s in FUNCTION %s at %L"
+ msgstr ""
+
+-#: fortran/resolve.c:574
++#: fortran/resolve.c:603
+ #, no-c-format
+ msgid "ENTRY result %s can't be of type %s in FUNCTION %s at %L"
+ msgstr ""
+
+-#: fortran/resolve.c:643
++#: fortran/resolve.c:661
+ #, no-c-format
++msgid "Variable '%s' at %L is in COMMON but only in BLOCK DATA initialization is allowed"
++msgstr ""
++
++#: fortran/resolve.c:665
++#, no-c-format
++msgid "Initialized variable '%s' at %L is in a blank COMMON but initialization is only allowed in named common blocks"
++msgstr ""
++
++#: fortran/resolve.c:676
++#, no-c-format
+ msgid "Derived type variable '%s' in COMMON at %L has neither the SEQUENCE nor the BIND(C) attribute"
+ msgstr ""
+
+-#: fortran/resolve.c:647
++#: fortran/resolve.c:680
+ #, no-c-format
+ msgid "Derived type variable '%s' in COMMON at %L has an ultimate component that is allocatable"
+ msgstr ""
+
+-#: fortran/resolve.c:651
++#: fortran/resolve.c:684
+ #, no-c-format
+ msgid "Derived type variable '%s' in COMMON at %L may not have default initializer"
+ msgstr ""
+
+-#: fortran/resolve.c:661
++#: fortran/resolve.c:711
+ #, no-c-format
+ msgid "COMMON block '%s' at %L is used as PARAMETER at %L"
+ msgstr ""
+
+-#: fortran/resolve.c:665
++#: fortran/resolve.c:715
+ #, no-c-format
+ msgid "COMMON block '%s' at %L is also an intrinsic procedure"
+ msgstr ""
+
+-#: fortran/resolve.c:669
++#: fortran/resolve.c:719
+ #, no-c-format
+ msgid "Fortran 2003: COMMON block '%s' at %L that is also a function result"
+ msgstr ""
+
+-#: fortran/resolve.c:674
++#: fortran/resolve.c:724
+ #, no-c-format
+ msgid "Fortran 2003: COMMON block '%s' at %L that is also a global procedure"
+ msgstr ""
+
+-#: fortran/resolve.c:736
++#: fortran/resolve.c:786
+ #, no-c-format
+ msgid "Components of structure constructor '%s' at %L are PRIVATE"
+ msgstr ""
+
+-#: fortran/resolve.c:756
++#: fortran/resolve.c:808
+ #, no-c-format
+ msgid "The rank of the element in the derived type constructor at %L does not match that of the component (%d/%d)"
+ msgstr ""
+
+-#: fortran/resolve.c:769
++#: fortran/resolve.c:821
+ #, no-c-format
+ msgid "The element in the derived type constructor at %L, for pointer component '%s', is %s but should be %s"
+ msgstr ""
+
+-#: fortran/resolve.c:786
++#: fortran/resolve.c:838
+ #, no-c-format
+ msgid "The element in the derived type constructor at %L, for pointer component '%s' should be a POINTER or a TARGET"
+ msgstr ""
+
+-#: fortran/resolve.c:913
++#: fortran/resolve.c:965
+ #, no-c-format
+ msgid "The upper bound in the last dimension must appear in the reference to the assumed size array '%s' at %L"
+ msgstr ""
+
+-#: fortran/resolve.c:976 fortran/resolve.c:5434 fortran/resolve.c:6098
++#: fortran/resolve.c:1029 fortran/resolve.c:5576 fortran/resolve.c:6282
+ #, fuzzy, no-c-format
+ msgid "Label %d referenced at %L is never defined"
+ msgstr "Etiket %A er allerede defineret ved %1 ved omdefinering ved %0"
+
+-#: fortran/resolve.c:986
++#: fortran/resolve.c:1039
+ #, fuzzy, no-c-format
+ msgid "'%s' at %L is ambiguous"
+ msgstr "brug af '%D' er tvetydigt"
+
+-#: fortran/resolve.c:1018
++#: fortran/resolve.c:1075
+ #, fuzzy, no-c-format
+ msgid "Statement function '%s' at %L is not allowed as an actual argument"
+ msgstr "Sætningsfunktion '%A' defineret ved %0, men er ikke brugt"
+
+-#: fortran/resolve.c:1026
++#: fortran/resolve.c:1083
+ #, no-c-format
+ msgid "Intrinsic '%s' at %L is not allowed as an actual argument"
+ msgstr ""
+
+-#: fortran/resolve.c:1033
++#: fortran/resolve.c:1090
+ #, fuzzy, no-c-format
+ msgid "Internal procedure '%s' is not allowed 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.c:1039
++#: fortran/resolve.c:1096
+ #, no-c-format
+ msgid "ELEMENTAL non-INTRINSIC procedure '%s' is not allowed as an actual argument at %L"
+ msgstr ""
+
+-#: fortran/resolve.c:1059
++#: fortran/resolve.c:1116
+ #, no-c-format
+ msgid "GENERIC procedure '%s' is not allowed as an actual argument at %L"
+ msgstr ""
+
+-#: fortran/resolve.c:1098
++#: fortran/resolve.c:1157
+ #, fuzzy, no-c-format
+ msgid "Symbol '%s' at %L is ambiguous"
+ msgstr "brug af '%D' er tvetydigt"
+
+-#: fortran/resolve.c:1143
++#: fortran/resolve.c:1206
+ #, no-c-format
+ msgid "By-value argument at %L is not of numeric type"
+ msgstr ""
+
+-#: fortran/resolve.c:1150
++#: fortran/resolve.c:1213
+ #, no-c-format
+ msgid "By-value argument at %L cannot be an array or an array section"
+ msgstr ""
+
+-#: fortran/resolve.c:1164
++#: fortran/resolve.c:1227
+ #, fuzzy, no-c-format
+ msgid "By-value argument at %L is not allowed in this context"
+ msgstr "Sætning ved %0 er ugyldig i denne kontekst"
+
+-#: fortran/resolve.c:1176
++#: fortran/resolve.c:1239
+ #, no-c-format
+ msgid "Passing internal procedure at %L by location not allowed"
+ msgstr ""
+
+-#: fortran/resolve.c:1293
++#: fortran/resolve.c:1356
+ #, no-c-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)"
+ msgstr ""
+
+-#: fortran/resolve.c:1315
++#: fortran/resolve.c:1378
+ msgid "elemental procedure"
+ msgstr ""
+
+-#: fortran/resolve.c:1332
++#: fortran/resolve.c:1395
+ #, no-c-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"
+ msgstr ""
+
+-#: fortran/resolve.c:1466
++#: fortran/resolve.c:1531
+ #, no-c-format
+ msgid "There is no specific function for the generic '%s' at %L"
+ msgstr ""
+
+-#: fortran/resolve.c:1475
++#: fortran/resolve.c:1540
+ #, no-c-format
+ msgid "Generic function '%s' at %L is not consistent with a specific intrinsic interface"
+ msgstr ""
+
+-#: fortran/resolve.c:1513
++#: fortran/resolve.c:1594
+ #, no-c-format
+ msgid "Function '%s' at %L is INTRINSIC but is not compatible with an intrinsic"
+ msgstr ""
+
+-#: fortran/resolve.c:1559
++#: fortran/resolve.c:1640
+ #, no-c-format
+ msgid "Unable to resolve the specific function '%s' at %L"
+ msgstr ""
+
+-#: fortran/resolve.c:1615 fortran/resolve.c:8740
++#: fortran/resolve.c:1696 fortran/resolve.c:8931
+ #, no-c-format
+ msgid "Function '%s' at %L has no IMPLICIT type"
+ msgstr ""
+
+-#: fortran/resolve.c:1799
++#: fortran/resolve.c:1907
+ #, fuzzy, no-c-format
+ msgid "Argument to '%s' at %L is not a variable"
+ msgstr "parameteren til egenskaben '%s er ikke en strengkonstant"
+
+-#: fortran/resolve.c:1871
++#: fortran/resolve.c:1979
+ #, no-c-format
+ msgid "More actual than formal arguments in '%s' call at %L"
+ msgstr ""
+
+-#: fortran/resolve.c:1883
++#: fortran/resolve.c:1991
+ #, no-c-format
+ msgid "Parameter '%s' to '%s' at %L must be either a TARGET or an associated pointer"
+ msgstr ""
+
+-#: fortran/resolve.c:1909
++#: fortran/resolve.c:2017
+ #, no-c-format
+ msgid "Allocatable variable '%s' used as a parameter to '%s' at %L must not be an array of zero size"
+ msgstr ""
+
+-#: fortran/resolve.c:1926
++#: fortran/resolve.c:2034
+ #, no-c-format
+ msgid "Assumed-shape array '%s' at %L cannot be an argument to the procedure '%s' because it is not C interoperable"
+ msgstr ""
+
+-#: fortran/resolve.c:1936
++#: fortran/resolve.c:2044
+ #, no-c-format
+ msgid "Deferred-shape array '%s' at %L cannot be an argument to the procedure '%s' because it is not C interoperable"
+ msgstr ""
+
+-#: fortran/resolve.c:1959 fortran/resolve.c:1998
++#: fortran/resolve.c:2067 fortran/resolve.c:2106
+ #, no-c-format
+ msgid "CHARACTER argument '%s' to '%s' at %L must have a length of 1"
+ msgstr ""
+
+ #. Case 1c, section 15.1.2.5, J3/04-007: an associated
+ #. scalar pointer.
+-#: fortran/resolve.c:1974
++#: fortran/resolve.c:2082
+ #, no-c-format
+ msgid "Argument '%s' to '%s' at %L must be an associated scalar POINTER"
+ msgstr ""
+
+-#: fortran/resolve.c:1990
++#: fortran/resolve.c:2098
+ #, no-c-format
+ msgid "Parameter '%s' to '%s' at %L must be a scalar"
+ msgstr ""
+
+ #. TODO: Update this error message to allow for procedure
+ #. pointers once they are implemented.
+-#: fortran/resolve.c:2012
++#: fortran/resolve.c:2120
+ #, no-c-format
+ msgid "Parameter '%s' to '%s' at %L must be a procedure"
+ msgstr ""
+
+-#: fortran/resolve.c:2020
++#: fortran/resolve.c:2128
+ #, no-c-format
+ msgid "Parameter '%s' to '%s' at %L must be BIND(C)"
+ msgstr ""
+
+-#: fortran/resolve.c:2062
++#: fortran/resolve.c:2170
+ #, fuzzy, no-c-format
+ msgid "'%s' at %L is not a function"
+ msgstr "'%s' er ikke en funktion,"
+
+-#: fortran/resolve.c:2068
++#: fortran/resolve.c:2176
+ #, no-c-format
+ msgid "ABSTRACT INTERFACE '%s' must not be referenced at %L"
+ msgstr ""
+
+ #. Internal procedures are taken care of in resolve_contained_fntype.
+-#: fortran/resolve.c:2111
++#: fortran/resolve.c:2219
+ #, no-c-format
+ msgid "Function '%s' is declared CHARACTER(*) and cannot be used at %L since it is not a dummy argument"
+ msgstr ""
+
+-#: fortran/resolve.c:2164
++#: fortran/resolve.c:2272
+ #, no-c-format
+ msgid "User defined non-ELEMENTAL function '%s' at %L not allowed in WORKSHARE construct"
+ msgstr ""
+
+-#: fortran/resolve.c:2213
++#: fortran/resolve.c:2321
+ #, no-c-format
+ msgid "reference to non-PURE function '%s' at %L inside a FORALL %s"
+ msgstr ""
+
+-#: fortran/resolve.c:2220
++#: fortran/resolve.c:2328
+ #, no-c-format
+ msgid "Function reference to '%s' at %L is to a non-PURE procedure within a PURE procedure"
+ msgstr ""
+
+-#: fortran/resolve.c:2235
++#: fortran/resolve.c:2343
+ #, no-c-format
+ msgid "Function '%s' at %L cannot call itself, as it is not RECURSIVE"
+ msgstr ""
+
+-#: fortran/resolve.c:2243
++#: fortran/resolve.c:2351
+ #, no-c-format
+ msgid "Call to ENTRY '%s' at %L is recursive, but function '%s' is not declared as RECURSIVE"
+ msgstr ""
+
+-#: fortran/resolve.c:2285
++#: fortran/resolve.c:2393
+ #, no-c-format
+ msgid "Subroutine call to '%s' in FORALL block at %L is not PURE"
+ msgstr ""
+
+-#: fortran/resolve.c:2288
++#: fortran/resolve.c:2396
+ #, no-c-format
+ msgid "Subroutine call to '%s' at %L is not PURE"
+ msgstr ""
+
+-#: fortran/resolve.c:2351
++#: fortran/resolve.c:2459
+ #, no-c-format
+ msgid "There is no specific subroutine for the generic '%s' at %L"
+ msgstr ""
+
+-#: fortran/resolve.c:2360
++#: fortran/resolve.c:2468
+ #, no-c-format
+ msgid "Generic subroutine '%s' at %L is not consistent with an intrinsic subroutine interface"
+ msgstr ""
+
+-#: fortran/resolve.c:2468
++#: fortran/resolve.c:2576
+ #, no-c-format
+ msgid "Missing SHAPE parameter for call to %s at %L"
+ msgstr ""
+
+-#: fortran/resolve.c:2476
++#: fortran/resolve.c:2584
+ #, no-c-format
+ msgid "SHAPE parameter for call to %s at %L must be a rank 1 INTEGER array"
+ msgstr ""
+
+-#: fortran/resolve.c:2543
++#: fortran/resolve.c:2667
+ #, no-c-format
+ msgid "Subroutine '%s' at %L is INTRINSIC but is not compatible with an intrinsic"
+ msgstr ""
+
+-#: fortran/resolve.c:2587
++#: fortran/resolve.c:2711
+ #, no-c-format
+ msgid "Unable to resolve the specific subroutine '%s' at %L"
+ msgstr ""
+
+-#: fortran/resolve.c:2644
++#: fortran/resolve.c:2768
+ #, no-c-format
+ msgid "'%s' at %L has a type, which is not consistent with the CALL at %L"
+ msgstr ""
+
+-#: fortran/resolve.c:2663
++#: fortran/resolve.c:2787
+ #, no-c-format
+ msgid "SUBROUTINE '%s' at %L cannot call itself, as it is not RECURSIVE"
+ msgstr ""
+
+-#: fortran/resolve.c:2671
++#: fortran/resolve.c:2795
+ #, no-c-format
+ msgid "Call to ENTRY '%s' at %L is recursive, but subroutine '%s' is not declared as RECURSIVE"
+ msgstr ""
+
+-#: fortran/resolve.c:2741
++#: fortran/resolve.c:2865
+ #, fuzzy, no-c-format
+ msgid "Shapes for operands at %L and %L are not conformable"
+ msgstr "shared og mdll er indbyrdes uforenelige"
+
+-#: fortran/resolve.c:2792
++#: fortran/resolve.c:2916
+ #, c-format
+ msgid "Invalid context for NULL() pointer at %%L"
+ msgstr ""
+
+-#: fortran/resolve.c:2808
++#: fortran/resolve.c:2932
+ #, c-format
+ msgid "Operand of unary numeric operator '%s' at %%L is %s"
+ msgstr ""
+
+-#: fortran/resolve.c:2824
++#: fortran/resolve.c:2948
+ #, c-format
+ msgid "Operands of binary numeric operator '%s' at %%L are %s/%s"
+ msgstr ""
+
+-#: fortran/resolve.c:2838
++#: fortran/resolve.c:2962
+ #, c-format
+ msgid "Operands of string concatenation operator at %%L are %s/%s"
+ msgstr ""
+
+-#: fortran/resolve.c:2857
++#: fortran/resolve.c:2981
+ #, c-format
+ msgid "Operands of logical operator '%s' at %%L are %s/%s"
+ msgstr ""
+
+-#: fortran/resolve.c:2871
++#: fortran/resolve.c:2995
+ #, c-format
+ msgid "Operand of .not. operator at %%L is %s"
+ msgstr ""
+
+-#: fortran/resolve.c:2885
++#: fortran/resolve.c:3009
+ #, fuzzy
+ msgid "COMPLEX quantities cannot be compared at %L"
+ msgstr "modifikationerne '%V' kan ikke anvendes på '%T'"
+
+-#: fortran/resolve.c:2913
++#: fortran/resolve.c:3037
+ #, c-format
+ msgid "Logicals at %%L must be compared with %s instead of %s"
+ msgstr ""
+
+-#: fortran/resolve.c:2919
++#: fortran/resolve.c:3043
+ #, c-format
+ msgid "Operands of comparison operator '%s' at %%L are %s/%s"
+ msgstr ""
+
+-#: fortran/resolve.c:2927
++#: fortran/resolve.c:3051
+ #, c-format
+ msgid "Unknown operator '%s' at %%L"
+ msgstr ""
+
+-#: fortran/resolve.c:2929
++#: fortran/resolve.c:3053
+ #, c-format
+ msgid "Operand of user operator '%s' at %%L is %s"
+ msgstr ""
+
+-#: fortran/resolve.c:2932
++#: fortran/resolve.c:3056
+ #, c-format
+ msgid "Operands of user operator '%s' at %%L are %s/%s"
+ msgstr ""
+
+-#: fortran/resolve.c:3018
++#: fortran/resolve.c:3142
+ #, c-format
+ msgid "Inconsistent ranks for operator at %%L and %%L"
+ msgstr ""
+
+-#: fortran/resolve.c:3212
++#: fortran/resolve.c:3339
+ #, no-c-format
+ msgid "Array reference at %L is out of bounds (%ld < %ld) in dimension %d"
+ msgstr ""
+
+-#: fortran/resolve.c:3220
++#: fortran/resolve.c:3347
+ #, no-c-format
+ msgid "Array reference at %L is out of bounds (%ld > %ld) in dimension %d"
+ msgstr ""
+
+-#: fortran/resolve.c:3239
++#: fortran/resolve.c:3366
+ #, no-c-format
+ msgid "Illegal stride of zero at %L"
+ msgstr ""
+
+-#: fortran/resolve.c:3256
++#: fortran/resolve.c:3383
+ #, no-c-format
+ msgid "Lower array reference at %L is out of bounds (%ld < %ld) in dimension %d"
+ msgstr ""
+
+-#: fortran/resolve.c:3264
++#: fortran/resolve.c:3391
+ #, no-c-format
+ msgid "Lower array reference at %L is out of bounds (%ld > %ld) in dimension %d"
+ msgstr ""
+
+-#: fortran/resolve.c:3280
++#: fortran/resolve.c:3407
+ #, no-c-format
+ msgid "Upper array reference at %L is out of bounds (%ld < %ld) in dimension %d"
+ msgstr ""
+
+-#: fortran/resolve.c:3289
++#: fortran/resolve.c:3416
+ #, no-c-format
+ msgid "Upper array reference at %L is out of bounds (%ld > %ld) in dimension %d"
+ msgstr ""
+
+-#: fortran/resolve.c:3328
++#: fortran/resolve.c:3455
+ #, no-c-format
+ msgid "Rightmost upper bound of assumed size array section not specified at %L"
+ msgstr ""
+
+-#: fortran/resolve.c:3338
++#: fortran/resolve.c:3465
+ #, no-c-format
+ msgid "Rank mismatch in array reference at %L (%d/%d)"
+ msgstr ""
+
+-#: fortran/resolve.c:3366
++#: fortran/resolve.c:3493
+ #, no-c-format
+ msgid "Array index at %L must be scalar"
+ msgstr ""
+
+-#: fortran/resolve.c:3372
++#: fortran/resolve.c:3499
+ #, no-c-format
+ msgid "Array index at %L must be of INTEGER type"
+ msgstr ""
+
+-#: fortran/resolve.c:3378
++#: fortran/resolve.c:3505
+ #, no-c-format
+ msgid "Extension: REAL array index at %L"
+ msgstr ""
+
+-#: fortran/resolve.c:3408
++#: fortran/resolve.c:3535
+ #, fuzzy, no-c-format
+ msgid "Argument dim at %L must be scalar"
+ msgstr "parameter til '%s' skal være en 2 bit-konstant"
+
+-#: fortran/resolve.c:3414
++#: fortran/resolve.c:3542
+ #, no-c-format
+ msgid "Argument dim at %L must be of INTEGER type"
+ msgstr ""
+
+-#: fortran/resolve.c:3534
++#: fortran/resolve.c:3663
+ #, fuzzy, no-c-format
+ 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.c:3571
++#: fortran/resolve.c:3700
+ #, no-c-format
+ msgid "Substring start index at %L must be of type INTEGER"
+ msgstr ""
+
+-#: fortran/resolve.c:3578
++#: fortran/resolve.c:3707
+ #, no-c-format
+ msgid "Substring start index at %L must be scalar"
+ msgstr ""
+
+-#: fortran/resolve.c:3587
++#: fortran/resolve.c:3716
+ #, no-c-format
+ msgid "Substring start index at %L is less than one"
+ msgstr ""
+
+-#: fortran/resolve.c:3600
++#: fortran/resolve.c:3729
+ #, no-c-format
+ msgid "Substring end index at %L must be of type INTEGER"
+ msgstr ""
+
+-#: fortran/resolve.c:3607
++#: fortran/resolve.c:3736
+ #, fuzzy, no-c-format
+ msgid "Substring end index at %L must be scalar"
+ msgstr "Understrengs begyndelses-/slutpunkt ved %0 er uden for det definerede interval"
+
+-#: fortran/resolve.c:3617
++#: fortran/resolve.c:3746
+ #, no-c-format
+ msgid "Substring end index at %L exceeds the string length"
+ msgstr ""
+
+-#: fortran/resolve.c:3755
++#: fortran/resolve.c:3884
+ #, no-c-format
+ msgid "Component to the right of a part reference with nonzero rank must not have the POINTER attribute at %L"
+ msgstr ""
+
+-#: fortran/resolve.c:3762
++#: fortran/resolve.c:3891
+ #, no-c-format
+ msgid "Component to the right of a part reference with nonzero rank must not have the ALLOCATABLE attribute at %L"
+ msgstr ""
+
+-#: fortran/resolve.c:3781
++#: fortran/resolve.c:3910
+ #, no-c-format
+ msgid "Two or more part references with nonzero rank must not be specified at %L"
+ msgstr ""
+
+-#: fortran/resolve.c:3956
++#: fortran/resolve.c:4085
+ #, no-c-format
+ msgid "Variable '%s', used in a specification expression, is referenced at %L before the ENTRY statement in which it is a parameter"
+ msgstr ""
+
+-#: fortran/resolve.c:3961
++#: fortran/resolve.c:4090
+ #, no-c-format
+ msgid "Variable '%s' is used at %L before the ENTRY statement in which it is a parameter"
+ msgstr ""
+
+-#: fortran/resolve.c:4238
++#: fortran/resolve.c:4367
+ #, no-c-format
+ msgid "%s at %L must be a scalar"
+ msgstr ""
+
+-#: fortran/resolve.c:4248
++#: fortran/resolve.c:4377
+ #, no-c-format
+ msgid "Deleted feature: %s at %L must be integer"
+ msgstr ""
+
+-#: fortran/resolve.c:4252 fortran/resolve.c:4259
++#: fortran/resolve.c:4381 fortran/resolve.c:4388
+ #, no-c-format
+ msgid "%s at %L must be INTEGER"
+ msgstr ""
+
+-#: fortran/resolve.c:4279
++#: fortran/resolve.c:4408
+ #, no-c-format
+ msgid "Cannot assign to loop variable in PURE procedure at %L"
+ msgstr ""
+
+-#: fortran/resolve.c:4303
++#: fortran/resolve.c:4432
+ #, no-c-format
+ msgid "Step expression in DO loop at %L cannot be zero"
+ msgstr ""
+
+-#: fortran/resolve.c:4378
++#: fortran/resolve.c:4508
+ #, no-c-format
+ msgid "FORALL index-name at %L must be a scalar INTEGER"
+ msgstr ""
+
+-#: fortran/resolve.c:4383
++#: fortran/resolve.c:4513
+ #, no-c-format
+ msgid "FORALL start expression at %L must be a scalar INTEGER"
+ msgstr ""
+
+-#: fortran/resolve.c:4390
++#: fortran/resolve.c:4520
+ #, no-c-format
+ msgid "FORALL end expression at %L must be a scalar INTEGER"
+ msgstr ""
+
+-#: fortran/resolve.c:4398
++#: fortran/resolve.c:4528
+ #, no-c-format
+ msgid "FORALL stride expression at %L must be a scalar %s"
+ msgstr ""
+
+-#: fortran/resolve.c:4403
++#: fortran/resolve.c:4533
+ #, no-c-format
+ msgid "FORALL stride expression at %L cannot be zero"
+ msgstr ""
+
+-#: fortran/resolve.c:4419
++#: fortran/resolve.c:4549
+ #, no-c-format
+ msgid "FORALL index '%s' may not appear in triplet specification at %L"
+ msgstr ""
+
+-#: fortran/resolve.c:4499
++#: fortran/resolve.c:4629
+ #, no-c-format
+ msgid "Expression in DEALLOCATE statement at %L must be ALLOCATABLE or a POINTER"
+ msgstr ""
+
+-#: fortran/resolve.c:4506
++#: fortran/resolve.c:4636
+ #, no-c-format
+ msgid "Cannot deallocate INTENT(IN) variable '%s' at %L"
+ msgstr ""
+
+-#: fortran/resolve.c:4675
++#: fortran/resolve.c:4740
+ #, no-c-format
+ msgid "The STAT variable '%s' in an ALLOCATE statement must not be allocated in the same statement at %L"
+ msgstr ""
+
+-#: fortran/resolve.c:4711
++#: fortran/resolve.c:4776
+ #, no-c-format
+ msgid "Expression in ALLOCATE statement at %L must be ALLOCATABLE or a POINTER"
+ msgstr ""
+
+-#: fortran/resolve.c:4719
++#: fortran/resolve.c:4784
+ #, no-c-format
+ msgid "Cannot allocate INTENT(IN) variable '%s' at %L"
+ msgstr ""
+
+-#: fortran/resolve.c:4743
++#: fortran/resolve.c:4808
+ #, fuzzy, no-c-format
+ 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.c:4773
++#: fortran/resolve.c:4838
+ #, fuzzy, no-c-format
+ msgid "Bad array specification in ALLOCATE statement at %L"
+ msgstr "Ingen etiketdefinition for FORMAT-sætning ved %0"
+
+-#: fortran/resolve.c:4791
++#: fortran/resolve.c:4856
+ #, no-c-format
+ msgid "'%s' must not appear an the array specification at %L in the same ALLOCATE statement where it is itself allocated"
+ msgstr ""
+
++#: fortran/resolve.c:4880
++#, no-c-format
++msgid "STAT variable '%s' of %s statement at %C cannot be INTENT(IN)"
++msgstr ""
++
++#: fortran/resolve.c:4884
++#, no-c-format
++msgid "Illegal STAT variable in %s statement at %C for a PURE procedure"
++msgstr ""
++
++#: fortran/resolve.c:4922
++#, no-c-format
++msgid "STAT tag in %s statement at %L must be a variable"
++msgstr ""
++
++#: fortran/resolve.c:4928
++#, no-c-format
++msgid "STAT tag in %s statement at %L must be of type INTEGER"
++msgstr ""
++
+ #. The cases overlap, or they are the same
+ #. 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.c:4949
++#: fortran/resolve.c:5091
+ #, no-c-format
+ msgid "CASE label at %L overlaps with CASE label at %L"
+ msgstr ""
+
+-#: fortran/resolve.c:5000
++#: fortran/resolve.c:5142
+ #, fuzzy, no-c-format
+ msgid "Expression in CASE statement at %L must be of type %s"
+ msgstr "udtrykket er af en ufuldstændig type"
+
+-#: fortran/resolve.c:5011
++#: fortran/resolve.c:5153
+ #, no-c-format
+ msgid "Expression in CASE statement at %L must be kind %d"
+ msgstr ""
+
+-#: fortran/resolve.c:5023
++#: fortran/resolve.c:5165
+ #, no-c-format
+ msgid "Expression in CASE statement at %L must be scalar"
+ msgstr ""
+
+-#: fortran/resolve.c:5069
++#: fortran/resolve.c:5211
+ #, no-c-format
+ msgid "Selection expression in computed GOTO statement at %L must be a scalar integer expression"
+ msgstr ""
+
+-#: fortran/resolve.c:5087
++#: fortran/resolve.c:5229
+ #, no-c-format
+ msgid "Argument of SELECT statement at %L cannot be %s"
+ msgstr ""
+
+-#: fortran/resolve.c:5096
++#: fortran/resolve.c:5238
+ #, no-c-format
+ msgid "Argument of SELECT statement at %L must be a scalar expression"
+ msgstr ""
+
+-#: fortran/resolve.c:5161
++#: fortran/resolve.c:5303
+ #, no-c-format
+ msgid "The DEFAULT CASE at %L cannot be followed by a second DEFAULT CASE at %L"
+ msgstr ""
+
+-#: fortran/resolve.c:5187
++#: fortran/resolve.c:5329
+ #, no-c-format
+ msgid "Logical range in CASE statement at %L is not allowed"
+ msgstr ""
+
+-#: fortran/resolve.c:5199
++#: fortran/resolve.c:5341
+ #, no-c-format
+ msgid "constant logical value in CASE statement is repeated at %L"
+ msgstr ""
+
+-#: fortran/resolve.c:5213
++#: fortran/resolve.c:5355
+ #, no-c-format
+ msgid "Range specification at %L can never be matched"
+ msgstr ""
+
+-#: fortran/resolve.c:5316
++#: fortran/resolve.c:5458
+ #, no-c-format
+ msgid "Logical SELECT CASE block at %L has more that two cases"
+ msgstr ""
+
+-#: fortran/resolve.c:5354
++#: fortran/resolve.c:5496
+ #, no-c-format
+ msgid "Data transfer element at %L cannot have POINTER components"
+ msgstr ""
+
+-#: fortran/resolve.c:5361
++#: fortran/resolve.c:5503
+ #, no-c-format
+ msgid "Data transfer element at %L cannot have ALLOCATABLE components"
+ msgstr ""
+
+-#: fortran/resolve.c:5368
++#: fortran/resolve.c:5510
+ #, no-c-format
+ msgid "Data transfer element at %L cannot have PRIVATE components"
+ msgstr ""
+
+-#: fortran/resolve.c:5377
++#: fortran/resolve.c:5519
+ #, no-c-format
+ msgid "Data transfer element at %L cannot be a full reference to an assumed-size array"
+ msgstr ""
+
+-#: fortran/resolve.c:5441
++#: fortran/resolve.c:5583
+ #, fuzzy, no-c-format
+ 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.c:5450
++#: fortran/resolve.c:5592
+ #, no-c-format
+ msgid "Branch at %L causes an infinite loop"
+ msgstr ""
+@@ -9802,647 +9850,657 @@
+ #. 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.c:5463
++#: fortran/resolve.c:5605
+ #, fuzzy, no-c-format
+ 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.c:5478 fortran/resolve.c:5492
++#: fortran/resolve.c:5620 fortran/resolve.c:5634
+ #, no-c-format
+ msgid "Deleted feature: GOTO at %L jumps to END of construct at %L"
+ msgstr ""
+
+-#: fortran/resolve.c:5569
++#: fortran/resolve.c:5711
+ #, no-c-format
+ msgid "WHERE mask at %L has inconsistent shape"
+ msgstr ""
+
+-#: fortran/resolve.c:5585
++#: fortran/resolve.c:5727
+ #, no-c-format
+ msgid "WHERE assignment target at %L has inconsistent shape"
+ msgstr ""
+
+-#: fortran/resolve.c:5600 fortran/resolve.c:5682
++#: fortran/resolve.c:5735 fortran/resolve.c:5820
++#, no-c-format
++msgid "Non-ELEMENTAL user-defined assignment in WHERE at %L"
++msgstr ""
++
++#: fortran/resolve.c:5745 fortran/resolve.c:5830
+ #, fuzzy, no-c-format
+ msgid "Unsupported statement inside WHERE at %L"
+ msgstr "Ikke-understøttet VXT-sætning ved %0"
+
+-#: fortran/resolve.c:5631
++#: fortran/resolve.c:5776
+ #, no-c-format
+ msgid "Assignment to a FORALL index variable at %L"
+ msgstr ""
+
+-#: fortran/resolve.c:5639
++#: fortran/resolve.c:5784
+ #, no-c-format
+ msgid "The FORALL with index '%s' cause more than one assignment to this object at %L"
+ msgstr ""
+
+-#: fortran/resolve.c:5774
++#: fortran/resolve.c:5922
+ #, no-c-format
+ msgid "An outer FORALL construct already has an index with this name %L"
+ msgstr ""
+
+-#: fortran/resolve.c:5830
++#: fortran/resolve.c:5978
+ #, no-c-format
+ msgid "WHERE/ELSEWHERE clause at %L requires a LOGICAL array"
+ msgstr ""
+
+-#: fortran/resolve.c:5890
++#: fortran/resolve.c:6037
+ #, no-c-format
+ msgid "Subroutine '%s' called instead of assignment at %L must be PURE"
+ msgstr ""
+
+-#: fortran/resolve.c:5927
++#: fortran/resolve.c:6110
+ #, no-c-format
+ msgid "CHARACTER expression will be truncated in assignment (%d/%d) at %L"
+ msgstr ""
+
+-#: fortran/resolve.c:5950
++#: fortran/resolve.c:6135
+ #, no-c-format
+ msgid "Cannot assign to variable '%s' in PURE procedure at %L"
+ msgstr ""
+
+-#: fortran/resolve.c:5962
++#: fortran/resolve.c:6147
+ #, no-c-format
+ msgid "The impure variable at %L is assigned to a derived type variable with a POINTER component in a PURE procedure (12.6)"
+ msgstr ""
+
+-#: fortran/resolve.c:6066
++#: fortran/resolve.c:6250
+ #, no-c-format
+ msgid "ASSIGNED GOTO statement at %L requires an INTEGER variable"
+ msgstr ""
+
+-#: fortran/resolve.c:6069
++#: fortran/resolve.c:6253
+ #, no-c-format
+ msgid "Variable '%s' has not been assigned a target label at %L"
+ msgstr ""
+
+-#: fortran/resolve.c:6080
++#: fortran/resolve.c:6264
+ #, no-c-format
+ msgid "Alternate RETURN statement at %L requires a SCALAR-INTEGER return specifier"
+ msgstr ""
+
+-#: fortran/resolve.c:6106
++#: fortran/resolve.c:6290
+ #, no-c-format
+ msgid "ASSIGN statement at %L requires a scalar default INTEGER variable"
+ msgstr ""
+
+-#: fortran/resolve.c:6121
++#: fortran/resolve.c:6305
+ #, no-c-format
+ msgid "Arithmetic IF statement at %L requires a numeric expression"
+ msgstr ""
+
+-#: fortran/resolve.c:6163
++#: fortran/resolve.c:6347
+ #, no-c-format
+ msgid "Exit condition of DO WHILE loop at %L must be a scalar LOGICAL expression"
+ msgstr ""
+
+-#: fortran/resolve.c:6170
++#: fortran/resolve.c:6420
+ #, no-c-format
+-msgid "STAT tag in ALLOCATE statement at %L must be of type INTEGER"
+-msgstr ""
+-
+-#: fortran/resolve.c:6182
+-#, no-c-format
+-msgid "STAT tag in DEALLOCATE statement at %L must be of type INTEGER"
+-msgstr ""
+-
+-#: fortran/resolve.c:6247
+-#, no-c-format
+ msgid "FORALL mask clause at %L requires a LOGICAL expression"
+ msgstr ""
+
+-#: fortran/resolve.c:6317 fortran/resolve.c:6373
++#: fortran/resolve.c:6490 fortran/resolve.c:6546
+ #, no-c-format
+ msgid "Binding label '%s' for common block '%s' at %L collides with the global entity '%s' at %L"
+ msgstr ""
+
+ #. Common block names match but binding labels do not.
+-#: fortran/resolve.c:6338
++#: fortran/resolve.c:6511
+ #, no-c-format
+ msgid "Binding label '%s' for common block '%s' at %L does not match the binding label '%s' for common block '%s' at %L"
+ msgstr ""
+
+-#: fortran/resolve.c:6385
++#: fortran/resolve.c:6558
+ #, no-c-format
+ msgid "Binding label '%s' for common block '%s' at %L collides with global entity '%s' at %L"
+ msgstr ""
+
+ #. Make sure global procedures don't collide with anything.
+-#: fortran/resolve.c:6437
++#: fortran/resolve.c:6610
+ #, no-c-format
+ msgid "Binding label '%s' at %L collides with the global entity '%s' at %L"
+ msgstr ""
+
+ #. Make sure procedures in interface bodies don't collide.
+-#: fortran/resolve.c:6450
++#: fortran/resolve.c:6623
+ #, no-c-format
+ msgid "Binding label '%s' in interface body at %L collides with the global entity '%s' at %L"
+ msgstr ""
+
+-#: fortran/resolve.c:6463
++#: fortran/resolve.c:6636
+ #, no-c-format
+ msgid "Binding label '%s' at %L collides with global entity '%s' at %L"
+ msgstr ""
+
+-#: fortran/resolve.c:6540
++#: fortran/resolve.c:6713
+ #, no-c-format
+ msgid "CHARACTER variable has zero length at %L"
+ msgstr ""
+
+-#: fortran/resolve.c:6828
++#: fortran/resolve.c:7001
+ #, no-c-format
+ msgid "Allocatable array '%s' at %L must have a deferred shape"
+ msgstr ""
+
+-#: fortran/resolve.c:6831
++#: fortran/resolve.c:7004
+ #, no-c-format
+ msgid "Scalar object '%s' at %L may not be ALLOCATABLE"
+ msgstr ""
+
+-#: fortran/resolve.c:6838
++#: fortran/resolve.c:7011
+ #, no-c-format
+ msgid "Array pointer '%s' at %L must have a deferred shape"
+ msgstr ""
+
+-#: fortran/resolve.c:6849
++#: fortran/resolve.c:7022
+ #, no-c-format
+ msgid "Array '%s' at %L cannot have a deferred shape"
+ msgstr ""
+
+-#: fortran/resolve.c:6878
++#: fortran/resolve.c:7051
+ #, no-c-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"
+ msgstr ""
+
+-#: fortran/resolve.c:6901
++#: fortran/resolve.c:7074
+ #, no-c-format
+ msgid "Object '%s' at %L must have the SAVE attribute for default initialization of a component"
+ msgstr ""
+
+ #. The shape of a main program or module array needs to be
+ #. constant.
+-#: fortran/resolve.c:6948
++#: fortran/resolve.c:7121
+ #, no-c-format
+ msgid "The module or main program array '%s' at %L must have constant shape"
+ msgstr ""
+
+-#: fortran/resolve.c:6961
++#: fortran/resolve.c:7134
+ #, no-c-format
+ msgid "Entity with assumed character length at %L must be a dummy argument or a PARAMETER"
+ msgstr ""
+
+-#: fortran/resolve.c:6980
++#: fortran/resolve.c:7153
+ #, no-c-format
+ msgid "'%s' at %L must have constant character length in this context"
+ msgstr ""
+
+-#: fortran/resolve.c:7012
++#: fortran/resolve.c:7185
+ #, fuzzy, no-c-format
+ msgid "Allocatable '%s' at %L cannot have an initializer"
+ msgstr "slutfeltet '%s' bliver måske ikke klargjort"
+
+-#: fortran/resolve.c:7015
++#: fortran/resolve.c:7188
+ #, fuzzy, no-c-format
+ msgid "External '%s' at %L cannot have an initializer"
+ msgstr "slutfeltet '%s' bliver måske ikke klargjort"
+
+-#: fortran/resolve.c:7019
++#: fortran/resolve.c:7192
+ #, fuzzy, no-c-format
+ msgid "Dummy '%s' at %L cannot have an initializer"
+ msgstr "'%s' er erklæret 'extern', men bliver tildelt en startværdi"
+
+-#: fortran/resolve.c:7022
++#: fortran/resolve.c:7195
+ #, fuzzy, no-c-format
+ msgid "Intrinsic '%s' at %L cannot have an initializer"
+ msgstr "slutfeltet '%s' bliver måske ikke klargjort"
+
+-#: fortran/resolve.c:7025
++#: fortran/resolve.c:7198
+ #, fuzzy, no-c-format
+ msgid "Function result '%s' at %L cannot have an initializer"
+ msgstr "slutfeltet '%s' bliver måske ikke klargjort"
+
+-#: fortran/resolve.c:7028
++#: fortran/resolve.c:7201
+ #, no-c-format
+ msgid "Automatic array '%s' at %L cannot have an initializer"
+ msgstr ""
+
+-#: fortran/resolve.c:7051
++#: fortran/resolve.c:7224
+ #, no-c-format
+ msgid "Although not referenced, '%s' at %L has ambiguous interfaces"
+ msgstr ""
+
+-#: fortran/resolve.c:7070
++#: fortran/resolve.c:7243
+ #, no-c-format
+ msgid "Character-valued statement function '%s' at %L must have constant length"
+ msgstr ""
+
+-#: fortran/resolve.c:7078
++#: fortran/resolve.c:7251
+ #, no-c-format
+ msgid "Automatic character length function '%s' at %L must have an explicit interface"
+ msgstr ""
+
+-#: fortran/resolve.c:7103
++#: fortran/resolve.c:7276
+ #, no-c-format
+ msgid "Fortran 2003: '%s' is of a PRIVATE type and cannot be a dummy argument of '%s', which is PUBLIC at %L"
+ msgstr ""
+
+-#: fortran/resolve.c:7126 fortran/resolve.c:7151
++#: fortran/resolve.c:7299 fortran/resolve.c:7324
+ #, no-c-format
+ msgid "Fortran 2003: Procedure '%s' in PUBLIC interface '%s' at %L takes dummy arguments of '%s' which is PRIVATE"
+ msgstr ""
+
+-#: fortran/resolve.c:7168
++#: fortran/resolve.c:7341
+ #, fuzzy, no-c-format
+ msgid "Function '%s' at %L cannot have an initializer"
+ msgstr "slutfeltet '%s' bliver måske ikke klargjort"
+
+-#: fortran/resolve.c:7177
++#: fortran/resolve.c:7350
+ #, fuzzy, no-c-format
+ msgid "External object '%s' at %L may not have an initializer"
+ msgstr "slutfeltet '%s' bliver måske ikke klargjort"
+
+-#: fortran/resolve.c:7185
++#: fortran/resolve.c:7358
+ #, no-c-format
+ msgid "ELEMENTAL function '%s' at %L must have a scalar result"
+ msgstr ""
+
+-#: fortran/resolve.c:7206
++#: fortran/resolve.c:7379
+ #, no-c-format
+ msgid "CHARACTER(*) function '%s' at %L cannot be array-valued"
+ msgstr ""
+
+-#: fortran/resolve.c:7210
++#: fortran/resolve.c:7383
+ #, no-c-format
+ msgid "CHARACTER(*) function '%s' at %L cannot be pointer-valued"
+ msgstr ""
+
+-#: fortran/resolve.c:7214
++#: fortran/resolve.c:7387
+ #, no-c-format
+ msgid "CHARACTER(*) function '%s' at %L cannot be pure"
+ msgstr ""
+
+-#: fortran/resolve.c:7218
++#: fortran/resolve.c:7391
+ #, no-c-format
+ msgid "CHARACTER(*) function '%s' at %L cannot be recursive"
+ msgstr ""
+
+-#: fortran/resolve.c:7227
++#: fortran/resolve.c:7400
+ #, no-c-format
+ msgid "CHARACTER(*) function '%s' at %L is obsolescent in fortran 95"
+ msgstr ""
+
+-#: fortran/resolve.c:7299
++#: fortran/resolve.c:7472
+ #, no-c-format
+ msgid "Character length of component '%s' needs to be a constant specification expression at %L"
+ msgstr ""
+
+-#: fortran/resolve.c:7314
++#: fortran/resolve.c:7487
+ #, no-c-format
+ msgid "The component '%s' is a PRIVATE type and cannot be a component of '%s', which is PUBLIC at %L"
+ msgstr ""
+
+-#: fortran/resolve.c:7324
++#: fortran/resolve.c:7497
+ #, no-c-format
+ msgid "Component %s of SEQUENCE type declared at %L does not have the SEQUENCE attribute"
+ msgstr ""
+
+-#: fortran/resolve.c:7334
++#: fortran/resolve.c:7507
+ #, no-c-format
+ msgid "The pointer component '%s' of '%s' at %L is a type that has not been declared"
+ msgstr ""
+
+-#: fortran/resolve.c:7352
++#: fortran/resolve.c:7525
+ #, no-c-format
+ msgid "Component '%s' of '%s' at %L must have constant array bounds"
+ msgstr ""
+
+-#: fortran/resolve.c:7395
++#: fortran/resolve.c:7568
+ #, no-c-format
+ msgid "NAMELIST object '%s' was declared PRIVATE and cannot be member of PUBLIC namelist '%s' at %L"
+ msgstr ""
+
+-#: fortran/resolve.c:7405
++#: fortran/resolve.c:7578
+ #, no-c-format
+ msgid "NAMELIST object '%s' has use-associated PRIVATE components and cannot be member of namelist '%s' at %L"
+ msgstr ""
+
+-#: fortran/resolve.c:7418
++#: fortran/resolve.c:7591
+ #, no-c-format
+ msgid "NAMELIST object '%s' has PRIVATE components and cannot be a member of PUBLIC namelist '%s' at %L"
+ msgstr ""
+
+-#: fortran/resolve.c:7430
++#: fortran/resolve.c:7603
+ #, no-c-format
+ msgid "NAMELIST array object '%s' must not have assumed shape in namelist '%s' at %L"
+ msgstr ""
+
+-#: fortran/resolve.c:7439
++#: fortran/resolve.c:7612
+ #, no-c-format
+ msgid "NAMELIST array object '%s' must have constant shape in namelist '%s' at %L"
+ msgstr ""
+
+-#: fortran/resolve.c:7451
++#: fortran/resolve.c:7624
+ #, no-c-format
+ msgid "NAMELIST object '%s' in namelist '%s' at %L cannot have ALLOCATABLE components"
+ msgstr ""
+
+-#: fortran/resolve.c:7459
++#: fortran/resolve.c:7632
+ #, no-c-format
+ msgid "NAMELIST object '%s' in namelist '%s' at %L cannot have POINTER components"
+ msgstr ""
+
+-#: fortran/resolve.c:7485
++#: fortran/resolve.c:7658
+ #, no-c-format
+ msgid "PROCEDURE attribute conflicts with NAMELIST attribute in '%s' at %L"
+ msgstr ""
+
+-#: fortran/resolve.c:7504
++#: fortran/resolve.c:7677
+ #, no-c-format
+ msgid "Parameter array '%s' at %L cannot be automatic or of deferred shape"
+ msgstr ""
+
+-#: fortran/resolve.c:7515
++#: fortran/resolve.c:7688
+ #, no-c-format
+ msgid "Implicitly typed PARAMETER '%s' at %L doesn't match a later IMPLICIT type"
+ msgstr ""
+
+-#: fortran/resolve.c:7526
++#: fortran/resolve.c:7699
+ #, fuzzy, no-c-format
+ msgid "Incompatible derived type in PARAMETER at %L"
+ msgstr "uforenelige typer i %s"
+
+-#: fortran/resolve.c:7597
++#: fortran/resolve.c:7758
+ #, no-c-format
++msgid "Interface '%s', used by procedure '%s' at %L, is declared in a later PROCEDURE statement"
++msgstr ""
++
++#: fortran/resolve.c:7772
++#, no-c-format
+ msgid "Interface '%s' of procedure '%s' at %L must be explicit"
+ msgstr ""
+
+-#: fortran/resolve.c:7622
++#: fortran/resolve.c:7797
+ #, no-c-format
+ msgid "Type specified for intrinsic function '%s' at %L is ignored"
+ msgstr ""
+
+-#: fortran/resolve.c:7629
++#: fortran/resolve.c:7804
+ #, no-c-format
+ msgid "Intrinsic subroutine '%s' at %L shall not have a type specifier"
+ msgstr ""
+
+-#: fortran/resolve.c:7636
++#: fortran/resolve.c:7811
+ #, no-c-format
+ msgid "Intrinsic '%s' at %L does not exist"
+ msgstr ""
+
+-#: fortran/resolve.c:7676
++#: fortran/resolve.c:7851
+ #, no-c-format
+ msgid "Assumed size array at %L must be a dummy argument"
+ msgstr ""
+
+-#: fortran/resolve.c:7679
++#: fortran/resolve.c:7854
+ #, no-c-format
+ msgid "Assumed shape array at %L must be a dummy argument"
+ msgstr ""
+
+-#: fortran/resolve.c:7691
++#: fortran/resolve.c:7866
+ #, no-c-format
+ msgid "Symbol at %L is not a DUMMY variable"
+ msgstr ""
+
+-#: fortran/resolve.c:7697
++#: fortran/resolve.c:7872
+ #, no-c-format
+ msgid "'%s' at %L cannot have the VALUE attribute because it is not a dummy argument"
+ msgstr ""
+
+-#: fortran/resolve.c:7707
++#: fortran/resolve.c:7882
+ #, no-c-format
+ msgid "Character dummy variable '%s' at %L with VALUE attribute must have constant length"
+ msgstr ""
+
+-#: fortran/resolve.c:7716
++#: fortran/resolve.c:7891
+ #, no-c-format
+ msgid "C interoperable character dummy variable '%s' at %L with VALUE attribute must have length one"
+ msgstr ""
+
+-#: fortran/resolve.c:7742
++#: fortran/resolve.c:7917
+ #, no-c-format
+ msgid "Variable '%s' at %L cannot be BIND(C) because it is neither a COMMON block nor declared at the module level scope"
+ msgstr ""
+
+-#: fortran/resolve.c:7795
++#: fortran/resolve.c:7970
+ #, no-c-format
+ msgid "The derived type '%s' at %L is of type '%s', which has not been defined"
+ msgstr ""
+
+-#: fortran/resolve.c:7811
++#: fortran/resolve.c:7987
+ #, no-c-format
+ msgid "Fortran 2003: PUBLIC %s '%s' at %L of PRIVATE derived type '%s'"
+ msgstr ""
+
+-#: fortran/resolve.c:7830
++#: fortran/resolve.c:8006
+ #, no-c-format
+ msgid "The INTENT(OUT) dummy argument '%s' at %L is ASSUMED SIZE and so cannot have a default initializer"
+ msgstr ""
+
+-#: fortran/resolve.c:7889
++#: fortran/resolve.c:8065
+ #, no-c-format
+ msgid "Threadprivate at %L isn't SAVEd"
+ msgstr ""
+
+-#: fortran/resolve.c:7967
++#: fortran/resolve.c:8143
+ #, no-c-format
+ msgid "BLOCK DATA element '%s' at %L must be in COMMON"
+ msgstr ""
+
+-#: fortran/resolve.c:8011
++#: fortran/resolve.c:8149
+ #, no-c-format
++msgid "DATA array '%s' at %L must be specified in a previous declaration"
++msgstr ""
++
++#: fortran/resolve.c:8194
++#, no-c-format
+ msgid "Nonconstant array section at %L in DATA statement"
+ msgstr ""
+
+-#: fortran/resolve.c:8024
++#: fortran/resolve.c:8207
+ #, no-c-format
+ msgid "DATA statement at %L has more variables than values"
+ msgstr ""
+
+-#: fortran/resolve.c:8118
++#: fortran/resolve.c:8301
+ #, no-c-format
+ msgid "iterator start at %L does not simplify"
+ msgstr ""
+
+-#: fortran/resolve.c:8125
++#: fortran/resolve.c:8308
+ #, no-c-format
+ msgid "iterator end at %L does not simplify"
+ msgstr ""
+
+-#: fortran/resolve.c:8132
++#: fortran/resolve.c:8315
+ #, no-c-format
+ msgid "iterator step at %L does not simplify"
+ msgstr ""
+
+-#: fortran/resolve.c:8258
++#: fortran/resolve.c:8441
+ #, no-c-format
+ msgid "DATA statement at %L has more values than variables"
+ msgstr ""
+
+-#: fortran/resolve.c:8349
++#: fortran/resolve.c:8532
+ #, fuzzy, no-c-format
+ msgid "Label %d at %L defined but not used"
+ msgstr "etiketten '%D' er defineret, men ikke benyttet"
+
+-#: fortran/resolve.c:8354
++#: fortran/resolve.c:8537
+ #, fuzzy, no-c-format
+ msgid "Label %d at %L defined but cannot be used"
+ msgstr "etiketten '%D' er defineret, men ikke benyttet"
+
+-#: fortran/resolve.c:8439
++#: fortran/resolve.c:8622
+ #, no-c-format
+ msgid "Derived type variable '%s' at %L must have SEQUENCE attribute to be an EQUIVALENCE object"
+ msgstr ""
+
+-#: fortran/resolve.c:8448
++#: fortran/resolve.c:8631
+ #, no-c-format
+ msgid "Derived type variable '%s' at %L cannot have ALLOCATABLE components to be an EQUIVALENCE object"
+ msgstr ""
+
+-#: fortran/resolve.c:8465
++#: fortran/resolve.c:8639
+ #, no-c-format
++msgid "Derived type variable '%s' at %L with default initialization cannot be in EQUIVALENCE with a variable in COMMON"
++msgstr ""
++
++#: fortran/resolve.c:8656
++#, no-c-format
+ msgid "Derived type variable '%s' at %L with pointer component(s) cannot be an EQUIVALENCE object"
+ msgstr ""
+
+-#: fortran/resolve.c:8570
++#: fortran/resolve.c:8761
+ #, no-c-format
+ msgid "Syntax error in EQUIVALENCE statement at %L"
+ msgstr ""
+
+-#: fortran/resolve.c:8585
++#: fortran/resolve.c:8776
+ #, no-c-format
+ msgid "Either all or none of the objects in the EQUIVALENCE set at %L shall have the PROTECTED attribute"
+ msgstr ""
+
+-#: fortran/resolve.c:8597
++#: fortran/resolve.c:8788
+ #, no-c-format
+ msgid "Common block member '%s' at %L cannot be an EQUIVALENCE object in the pure procedure '%s'"
+ msgstr ""
+
+-#: fortran/resolve.c:8606
++#: fortran/resolve.c:8797
+ #, no-c-format
+ msgid "Named constant '%s' at %L cannot be an EQUIVALENCE object"
+ msgstr ""
+
+-#: fortran/resolve.c:8685
++#: fortran/resolve.c:8876
+ #, no-c-format
+ msgid "Array '%s' at %L with non-constant bounds cannot be an EQUIVALENCE object"
+ msgstr ""
+
+-#: fortran/resolve.c:8696
++#: fortran/resolve.c:8887
+ #, no-c-format
+ msgid "Structure component '%s' at %L cannot be an EQUIVALENCE object"
+ msgstr ""
+
+-#: fortran/resolve.c:8707
++#: fortran/resolve.c:8898
+ #, no-c-format
+ msgid "Substring at %L has length zero"
+ msgstr ""
+
+-#: fortran/resolve.c:8750
++#: fortran/resolve.c:8941
+ #, no-c-format
+ msgid "PUBLIC function '%s' at %L cannot be of PRIVATE type '%s'"
+ msgstr ""
+
+-#: fortran/resolve.c:8762
++#: fortran/resolve.c:8953
+ #, no-c-format
+ msgid "ENTRY '%s' at %L has no IMPLICIT type"
+ msgstr ""
+
+-#: fortran/resolve.c:8788
++#: fortran/resolve.c:8979
+ #, no-c-format
+ msgid "User operator procedure '%s' at %L must be a FUNCTION"
+ msgstr ""
+
+-#: fortran/resolve.c:8795
++#: fortran/resolve.c:8986
+ #, no-c-format
+ msgid "User operator procedure '%s' at %L cannot be assumed character length"
+ msgstr ""
+
+-#: fortran/resolve.c:8801
++#: fortran/resolve.c:8992
+ #, no-c-format
+ msgid "User operator procedure '%s' at %L must have at least one argument"
+ msgstr ""
+
+-#: fortran/resolve.c:8811
++#: fortran/resolve.c:9002
+ #, no-c-format
+ msgid "First argument of operator interface at %L cannot be optional"
+ msgstr ""
+
+-#: fortran/resolve.c:8823
++#: fortran/resolve.c:9014
+ #, no-c-format
+ msgid "Second argument of operator interface at %L cannot be optional"
+ msgstr ""
+
+-#: fortran/resolve.c:8827
++#: fortran/resolve.c:9018
+ #, no-c-format
+ msgid "Operator interface at %L must have, at most, two arguments"
+ msgstr ""
+
+-#: fortran/resolve.c:8867
++#: fortran/resolve.c:9059
+ #, no-c-format
+ msgid "Contained procedure '%s' at %L of a PURE procedure must also be PURE"
+ msgstr ""
+
+-#: fortran/scanner.c:526
++#: fortran/scanner.c:530
+ #, no-c-format
+ msgid "!$OMP at %C starts a commented line as it neither is followed by a space nor is a continuation line"
+ msgstr ""
+
+-#: fortran/scanner.c:816 fortran/scanner.c:937
++#: fortran/scanner.c:820 fortran/scanner.c:941
+ #, no-c-format
+ msgid "Limit of %d continuations exceeded in statement at %C"
+ msgstr ""
+
+-#: fortran/scanner.c:861
++#: fortran/scanner.c:865
+ #, fuzzy, no-c-format
+ msgid "Missing '&' in continued character constant at %C"
+ msgstr "Nul-længde tegnkonstant ved %0"
+
+-#: fortran/scanner.c:1071
++#: fortran/scanner.c:1075
+ #, no-c-format
+ msgid "Nonconforming tab character at %C"
+ msgstr ""
+
+-#: fortran/scanner.c:1153 fortran/scanner.c:1156
++#: fortran/scanner.c:1158 fortran/scanner.c:1161
+ #, no-c-format
+ msgid "'&' not allowed by itself in line %d"
+ msgstr ""
+
+-#: fortran/scanner.c:1189
++#: fortran/scanner.c:1207
+ #, no-c-format
+-msgid "Nonconforming tab character in column 1 of line %d"
++msgid "Nonconforming tab character in column %d of line %d"
+ msgstr ""
+
+-#: fortran/scanner.c:1387
++#: fortran/scanner.c:1405
+ #, no-c-format
+ msgid "%s:%d: file %s left but not entered"
+ msgstr ""
+
+-#: fortran/scanner.c:1419
++#: fortran/scanner.c:1438
+ #, fuzzy, no-c-format
+ msgid "%s:%d: Illegal preprocessor directive"
+ msgstr "%s i præprocessordirektiv"
+
+-#: fortran/scanner.c:1514
++#: fortran/scanner.c:1533
+ #, no-c-format
+ msgid "File '%s' is being included recursively"
+ msgstr ""
+
+-#: fortran/scanner.c:1529
++#: fortran/scanner.c:1548
+ #, fuzzy, no-c-format
+ msgid "Can't open file '%s'"
+ msgstr "kunne ikke åbne filen '%s'"
+
+-#: fortran/scanner.c:1538
++#: fortran/scanner.c:1557
+ #, fuzzy, no-c-format
+ msgid "Can't open included file '%s'"
+ msgstr "kan ikke åbne uddatafilen '%s'"
+
+-#: fortran/scanner.c:1676
++#: fortran/scanner.c:1701
+ #, fuzzy, c-format
+ msgid "%s:%3d %s\n"
+ msgstr "%s: %s"
+@@ -10512,134 +10570,134 @@
+ msgid "Argument of CHAR function at %L outside of range [0,255]"
+ msgstr ""
+
+-#: fortran/simplify.c:1247
++#: fortran/simplify.c:1293
+ #, no-c-format
+ msgid "Argument of IACHAR at %L must be of length one"
+ msgstr ""
+
+-#: fortran/simplify.c:1254
++#: fortran/simplify.c:1300
+ #, no-c-format
+ msgid "Argument of IACHAR function at %L outside of range 0..127"
+ msgstr ""
+
+-#: fortran/simplify.c:1293
++#: fortran/simplify.c:1339
+ #, fuzzy, no-c-format
+ msgid "Invalid second argument of IBCLR at %L"
+ msgstr "ugyldig typeparameter '%s'"
+
+-#: fortran/simplify.c:1301
++#: fortran/simplify.c:1347
+ #, no-c-format
+ msgid "Second argument of IBCLR exceeds bit size at %L"
+ msgstr ""
+
+-#: fortran/simplify.c:1335
++#: fortran/simplify.c:1381
+ #, fuzzy, no-c-format
+ msgid "Invalid second argument of IBITS at %L"
+ msgstr "ugyldig typeparameter '%s'"
+
+-#: fortran/simplify.c:1341
++#: fortran/simplify.c:1387
+ #, fuzzy, no-c-format
+ msgid "Invalid third argument of IBITS at %L"
+ msgstr "ugyldig typeparameter '%s'"
+
+-#: fortran/simplify.c:1351
++#: fortran/simplify.c:1397
+ #, no-c-format
+ msgid "Sum of second and third arguments of IBITS exceeds bit size at %L"
+ msgstr ""
+
+-#: fortran/simplify.c:1393
++#: fortran/simplify.c:1439
+ #, fuzzy, no-c-format
+ msgid "Invalid second argument of IBSET at %L"
+ msgstr "ugyldig typeparameter '%s'"
+
+-#: fortran/simplify.c:1401
++#: fortran/simplify.c:1447
+ #, no-c-format
+ msgid "Second argument of IBSET exceeds bit size at %L"
+ msgstr ""
+
+-#: fortran/simplify.c:1431
++#: fortran/simplify.c:1477
+ #, no-c-format
+ msgid "Argument of ICHAR at %L must be of length one"
+ msgstr ""
+
+-#: fortran/simplify.c:1646
++#: fortran/simplify.c:1692
+ #, fuzzy, no-c-format
+ msgid "Argument of INT at %L is not a valid type"
+ msgstr "parameteren til 'asm' er ikke en konstant streng"
+
+-#: fortran/simplify.c:1688
++#: fortran/simplify.c:1734
+ #, fuzzy, no-c-format
+ msgid "Argument of %s at %L is not a valid type"
+ msgstr "parameteren til egenskaben '%s er ikke en strengkonstant"
+
+-#: fortran/simplify.c:1786
++#: fortran/simplify.c:1832
+ #, fuzzy, no-c-format
+ msgid "Invalid second argument of ISHFT at %L"
+ msgstr "ugyldig typeparameter '%s'"
+
+-#: fortran/simplify.c:1801
++#: fortran/simplify.c:1847
+ #, no-c-format
+ msgid "Magnitude of second argument of ISHFT exceeds bit size at %L"
+ msgstr ""
+
+-#: fortran/simplify.c:1865
++#: fortran/simplify.c:1911
+ #, fuzzy, no-c-format
+ msgid "Invalid second argument of ISHFTC at %L"
+ msgstr "ugyldig typeparameter '%s'"
+
+-#: fortran/simplify.c:1879
++#: fortran/simplify.c:1925
+ #, fuzzy, no-c-format
+ msgid "Invalid third argument of ISHFTC at %L"
+ msgstr "ugyldig typeparameter '%s'"
+
+-#: fortran/simplify.c:1885
++#: fortran/simplify.c:1931
+ #, no-c-format
+ msgid "Magnitude of third argument of ISHFTC exceeds BIT_SIZE of first argument at %L"
+ msgstr ""
+
+-#: fortran/simplify.c:1901
++#: fortran/simplify.c:1947
+ #, no-c-format
+ msgid "Magnitude of second argument of ISHFTC exceeds third argument at %L"
+ msgstr ""
+
+-#: fortran/simplify.c:1904
++#: fortran/simplify.c:1950
+ #, no-c-format
+ msgid "Magnitude of second argument of ISHFTC exceeds BIT_SIZE of first argument at %L"
+ msgstr ""
+
+-#: fortran/simplify.c:1975
++#: fortran/simplify.c:2021
+ #, no-c-format
+ msgid "Argument of KIND at %L is a DERIVED type"
+ msgstr ""
+
+-#: fortran/simplify.c:2163
++#: fortran/simplify.c:2209
+ #, fuzzy, no-c-format
+ msgid "DIM argument at %L is out of bounds"
+ msgstr "akkumulatortal er uden for det gyldig interval"
+
+-#: fortran/simplify.c:2318
++#: fortran/simplify.c:2364
+ #, no-c-format
+ msgid "Argument of LOG at %L cannot be less than or equal to zero"
+ msgstr ""
+
+-#: fortran/simplify.c:2331
++#: fortran/simplify.c:2377
+ #, no-c-format
+ msgid "Complex argument of LOG at %L cannot be zero"
+ msgstr ""
+
+-#: fortran/simplify.c:2374
++#: fortran/simplify.c:2420
+ #, no-c-format
+ msgid "Argument of LOG10 at %L cannot be less than or equal to zero"
+ msgstr ""
+
+ #. Result is processor-dependent.
+-#: fortran/simplify.c:2579
++#: fortran/simplify.c:2628
+ #, no-c-format
+ msgid "Second argument MOD at %L is zero"
+ msgstr ""
+
+ #. Result is processor-dependent.
+-#: fortran/simplify.c:2590
++#: fortran/simplify.c:2639
+ #, no-c-format
+ msgid "Second argument of MOD at %L is zero"
+ msgstr ""
+@@ -10647,82 +10705,87 @@
+ #. Result is processor-dependent. This processor just opts
+ #. to not handle it at all.
+ #. Result is processor-dependent.
+-#: fortran/simplify.c:2638 fortran/simplify.c:2650
++#: fortran/simplify.c:2687 fortran/simplify.c:2699
+ #, no-c-format
+ msgid "Second argument of MODULO at %L is zero"
+ msgstr ""
+
+-#: fortran/simplify.c:2702
++#: fortran/simplify.c:2751
+ #, no-c-format
+ msgid "Second argument of NEAREST at %L shall not be zero"
+ msgstr ""
+
+-#: fortran/simplify.c:2977
++#: fortran/simplify.c:2787
+ #, no-c-format
++msgid "Result of NEAREST is NaN at %L"
++msgstr ""
++
++#: fortran/simplify.c:3062
++#, no-c-format
+ msgid "Argument NCOPIES of REPEAT intrinsic is negative at %L"
+ msgstr ""
+
+-#: fortran/simplify.c:3032
++#: fortran/simplify.c:3117
+ #, no-c-format
+ msgid "Argument NCOPIES of REPEAT intrinsic is too large at %L"
+ msgstr ""
+
+-#: fortran/simplify.c:3122
++#: fortran/simplify.c:3232
+ #, fuzzy, no-c-format
+ msgid "Integer too large in shape specification at %L"
+ msgstr "efter tidligere specifikation i '%#D'"
+
+-#: fortran/simplify.c:3132
++#: fortran/simplify.c:3242
+ #, no-c-format
+ msgid "Too many dimensions in shape specification for RESHAPE at %L"
+ msgstr ""
+
+-#: fortran/simplify.c:3140
++#: fortran/simplify.c:3250
+ #, no-c-format
+ msgid "Shape specification at %L cannot be negative"
+ msgstr ""
+
+-#: fortran/simplify.c:3150
++#: fortran/simplify.c:3260
+ #, no-c-format
+ msgid "Shape specification at %L cannot be the null array"
+ msgstr ""
+
+-#: fortran/simplify.c:3171
++#: fortran/simplify.c:3281
+ #, no-c-format
+ msgid "ORDER parameter of RESHAPE at %L is not the same size as SHAPE parameter"
+ msgstr ""
+
+-#: fortran/simplify.c:3178
++#: fortran/simplify.c:3288
+ #, no-c-format
+ msgid "Error in ORDER parameter of RESHAPE at %L"
+ msgstr ""
+
+-#: fortran/simplify.c:3188
++#: fortran/simplify.c:3298
+ #, no-c-format
+ msgid "ORDER parameter of RESHAPE at %L is out of range"
+ msgstr ""
+
+-#: fortran/simplify.c:3197
++#: fortran/simplify.c:3307
+ #, no-c-format
+ msgid "Invalid permutation in ORDER parameter at %L"
+ msgstr ""
+
+-#: fortran/simplify.c:3253
++#: fortran/simplify.c:3363
+ #, no-c-format
+ msgid "PAD parameter required for short SOURCE parameter at %L"
+ msgstr ""
+
+-#: fortran/simplify.c:3372
++#: fortran/simplify.c:3482
+ #, no-c-format
+ msgid "Result of SCALE overflows its kind at %L"
+ msgstr ""
+
+-#: fortran/simplify.c:3942
++#: fortran/simplify.c:4056
+ #, fuzzy, no-c-format
+ msgid "Argument of SQRT at %L has a negative value"
+ msgstr "funktionskald har en sammensat værdi"
+
+-#: fortran/simplify.c:4069
++#: fortran/simplify.c:4190
+ #, no-c-format
+ msgid "Intrinsic TRANSFER at %L has partly undefined result: source size %ld < result size %ld"
+ msgstr ""
+@@ -10951,29 +11014,29 @@
+ msgid "Symbol '%s' at %C has already been host associated"
+ msgstr ""
+
+-#: fortran/symbol.c:3162
++#: fortran/symbol.c:3189
+ #, no-c-format
+ msgid "Derived type '%s' declared at %L must have the BIND attribute to be C interoperable"
+ msgstr ""
+
+-#: fortran/symbol.c:3173
++#: fortran/symbol.c:3200
+ #, fuzzy, no-c-format
+ msgid "Derived type '%s' at %L is empty"
+ msgstr "udsagnets svar et tomt"
+
+-#: fortran/symbol.c:3190
++#: fortran/symbol.c:3217
+ #, no-c-format
+ msgid "Component '%s' at %L cannot have the POINTER attribute because it is a member of the BIND(C) derived type '%s' at %L"
+ msgstr ""
+
+-#: fortran/symbol.c:3202
++#: fortran/symbol.c:3229
+ #, no-c-format
+ msgid "Component '%s' at %L cannot have the ALLOCATABLE attribute because it is a member of the BIND(C) derived type '%s' at %L"
+ msgstr ""
+
+ #. If the derived type is bind(c), all fields must be
+ #. interop.
+-#: fortran/symbol.c:3241
++#: fortran/symbol.c:3268
+ #, no-c-format
+ msgid "Component '%s' in derived type '%s' at %L may not be C interoperable, even though derived type '%s' is BIND(C)"
+ msgstr ""
+@@ -10981,17 +11044,17 @@
+ #. If derived type is param to bind(c) routine, or to one
+ #. of the iso_c_binding procs, it must be interoperable, so
+ #. all fields must interop too.
+-#: fortran/symbol.c:3250
++#: fortran/symbol.c:3277
+ #, no-c-format
+ msgid "Component '%s' in derived type '%s' at %L may not be C interoperable"
+ msgstr ""
+
+-#: fortran/symbol.c:3264
++#: fortran/symbol.c:3291
+ #, no-c-format
+ msgid "Derived type '%s' at %L cannot be declared with both PRIVATE and BIND(C) attributes"
+ msgstr ""
+
+-#: fortran/symbol.c:3272
++#: fortran/symbol.c:3299
+ #, no-c-format
+ msgid "Derived type '%s' at %L cannot have the SEQUENCE attribute because it is BIND(C)"
+ msgstr ""
+@@ -11001,38 +11064,43 @@
+ msgid "Overlapping unequal initializers in EQUIVALENCE at %L"
+ msgstr ""
+
+-#: fortran/trans-common.c:396
++#: fortran/target-memory.c:635
+ #, no-c-format
++msgid "BOZ constant at %L is too large (%ld vs %ld bits)"
++msgstr ""
++
++#: fortran/trans-common.c:399
++#, no-c-format
+ msgid "Named COMMON block '%s' at %L shall be of the same size"
+ msgstr ""
+
+-#: fortran/trans-common.c:817
++#: fortran/trans-common.c:833
+ #, fuzzy, no-c-format
+ msgid "Bad array reference at %L"
+ msgstr "Nulelement ved %0 for tabelreference ved %1"
+
+-#: fortran/trans-common.c:825
++#: fortran/trans-common.c:841
+ #, no-c-format
+ msgid "Illegal reference type at %L as EQUIVALENCE object"
+ msgstr ""
+
+-#: fortran/trans-common.c:865
++#: fortran/trans-common.c:881
+ #, no-c-format
+ msgid "Inconsistent equivalence rules involving '%s' at %L and '%s' at %L"
+ msgstr ""
+
+ #. Aligning this field would misalign a previous field.
+-#: fortran/trans-common.c:998
++#: fortran/trans-common.c:1014
+ #, no-c-format
+ msgid "The equivalence set for variable '%s' declared at %L violates alignment requirements"
+ msgstr ""
+
+-#: fortran/trans-common.c:1063
++#: fortran/trans-common.c:1079
+ #, no-c-format
+ msgid "Equivalence for '%s' does not match ordering of COMMON '%s' at %L"
+ msgstr ""
+
+-#: fortran/trans-common.c:1078
++#: fortran/trans-common.c:1094
+ #, no-c-format
+ msgid "The equivalence set for '%s' cause an invalid extension to COMMON '%s' at %L"
+ msgstr ""
+@@ -11040,42 +11108,42 @@
+ #. The required offset conflicts with previous alignment
+ #. requirements. Insert padding immediately before this
+ #. segment.
+-#: fortran/trans-common.c:1089
++#: fortran/trans-common.c:1105
+ #, no-c-format
+ msgid "Padding of %d bytes required before '%s' in COMMON '%s' at %L"
+ msgstr ""
+
+-#: fortran/trans-common.c:1115
++#: fortran/trans-common.c:1131
+ #, no-c-format
+ msgid "COMMON '%s' at %L does not exist"
+ msgstr ""
+
+-#: fortran/trans-common.c:1122
++#: fortran/trans-common.c:1138
+ #, no-c-format
+ msgid "COMMON '%s' at %L requires %d bytes of padding at start"
+ msgstr ""
+
+-#: fortran/trans-decl.c:3016
++#: fortran/trans-decl.c:2979
+ #, no-c-format
+ msgid "Dummy argument '%s' at %L was declared INTENT(OUT) but was not set"
+ msgstr ""
+
+-#: fortran/trans-decl.c:3020
++#: fortran/trans-decl.c:2983
+ #, no-c-format
+ msgid "Unused dummy argument '%s' at %L"
+ msgstr ""
+
+-#: fortran/trans-decl.c:3026
++#: fortran/trans-decl.c:2989
+ #, fuzzy, no-c-format
+ msgid "Unused variable '%s' declared at %L"
+ msgstr "instansvariablen '%s' er erklæret '%s'"
+
+-#: fortran/trans-decl.c:3052
++#: fortran/trans-decl.c:3015
+ #, fuzzy, no-c-format
+ msgid "Unused parameter '%s' declared at %L"
+ msgstr "parameteren '%s' erklæret void"
+
+-#: fortran/trans-expr.c:2036
++#: fortran/trans-expr.c:2199
+ #, fuzzy, no-c-format
+ msgid "Unknown argument list function at %L"
+ msgstr "for få parametre til funktionen '%s'"
+@@ -11085,12 +11153,12 @@
+ msgid "'dim' argument of %s intrinsic at %L is not a valid dimension index"
+ msgstr ""
+
+-#: fortran/trans-io.c:1850
++#: fortran/trans-io.c:1851
+ #, no-c-format
+ msgid "Derived type '%s' at %L has PRIVATE components"
+ msgstr ""
+
+-#: fortran/trans-stmt.c:438
++#: fortran/trans-stmt.c:436
+ #, fuzzy, no-c-format
+ msgid "An alternate return at %L without a * dummy argument"
+ msgstr "Alternativ returangivelse ved %0 er ugyldig inden i en hovedprogramenhed"
+@@ -11317,62 +11385,38 @@
+ msgid "cannot specify 'main' class when not linking"
+ msgstr "kan ikke angive 'main'-klassen når der ikke sammenkædes"
+
+-#: config/i386/nwld.h:34
+-#, fuzzy
+-msgid "Static linking is not supported.\n"
+-msgstr "stakgrænseudtryk understøttes ikke"
+-
+-#: java/jvspec.c:80 gcc.c:820 ada/lang-specs.h:33
+-msgid "-pg and -fomit-frame-pointer are incompatible"
+-msgstr "-pg og -fomit-frame-pointer er indbyrdes uforenelige"
+-
+ #: config/vax/netbsd-elf.h:41
+ #, fuzzy
+ msgid "the -shared option is not currently supported for VAX ELF"
+ msgstr "Tilvalget -shared understøttes i øjeblikket ikke for VAX ELF."
+
+-#: config/sparc/sol2-gld-bi.h:17 config/sparc/sol2-gld-bi.h:22
+-#: config/sparc/sol2-bi.h:189 config/sparc/sol2-bi.h:194
+-#, fuzzy
+-msgid "does not support multilib"
+-msgstr "%s understøtter ikke %s"
+-
+ #: config/vax/vax.h:49 config/vax/vax.h:50
+ msgid "profiling not supported with -mg\n"
+ msgstr "profilgenerering understøttes ikke med -mg\n"
+
+-#: config/rs6000/linux64.h:347 config/rs6000/linux64.h:349 config/linux.h:106
+-#: config/linux.h:108 config/rs6000/sysv4.h:897 config/rs6000/sysv4.h:899
++#: config/sh/sh.h:461
++#, fuzzy
++msgid "SH2a does not support little-endian"
++msgstr "%s understøtter ikke %s"
++
++#: config/s390/tpf.h:119
++#, fuzzy
++msgid "static is not supported on TPF-OS"
++msgstr "-traditional understøttes ikke i C++"
++
+ #: config/alpha/linux-elf.h:33 config/alpha/linux-elf.h:35
++#: config/rs6000/sysv4.h:897 config/rs6000/sysv4.h:899
+ #: config/sparc/linux.h:126 config/sparc/linux.h:128
+-#: config/sparc/linux64.h:152 config/sparc/linux64.h:154
++#: config/sparc/linux64.h:152 config/sparc/linux64.h:154 config/linux.h:106
++#: config/linux.h:108 config/rs6000/linux64.h:347 config/rs6000/linux64.h:349
+ #, fuzzy
+ msgid "-mglibc and -muclibc used together"
+ msgstr "-mapcs-26 og -mapcs-32 kan ikke bruges på samme tid"
+
+-#: config/i386/cygwin.h:28
+-msgid "mno-cygwin and mno-win32 are not compatible"
+-msgstr "-mno-cygwin og -mnowin32 er indbyrdes uforenelige"
++#: java/jvspec.c:80 gcc.c:820 ada/lang-specs.h:33
++msgid "-pg and -fomit-frame-pointer are incompatible"
++msgstr "-pg og -fomit-frame-pointer er indbyrdes uforenelige"
+
+-#: config/i386/cygwin.h:74 config/i386/mingw32.h:74
+-msgid "shared and mdll are not compatible"
+-msgstr "shared og mdll er indbyrdes uforenelige"
+-
+-#: config/i386/sco5.h:188
+-#, fuzzy
+-msgid "-pg not supported on this platform"
+-msgstr "egenskaben '%s' er ikke understøttet på denne platform"
+-
+-#: config/i386/sco5.h:189
+-#, fuzzy
+-msgid "-p and -pp specified - pick one"
+-msgstr "-I- er angivet to gange"
+-
+-#: config/i386/sco5.h:258
+-#, fuzzy
+-msgid "-G and -static are mutually exclusive"
+-msgstr "-pedantic og -traditional er indbyrdes uforenelige"
+-
+ #: gcc.c:792
+ #, fuzzy
+ msgid "GCC does not support -C or -CC without -E"
+@@ -11383,61 +11427,14 @@
+ msgid "-E or -x required when input is from standard input"
+ msgstr "-E påkrævet når inddata kommer fra standardind"
+
+-#: java/lang-specs.h:33
+-msgid "-fjni and -femit-class-files are incompatible"
+-msgstr "-fjni og -femit-class-files er indbyrdes uforenelige"
+-
+-#: java/lang-specs.h:34
+-msgid "-fjni and -femit-class-file are incompatible"
+-msgstr "-fjni og -femit-class-file er indbyrdes uforenelige"
+-
+-#: java/lang-specs.h:35 java/lang-specs.h:36
+-msgid "-femit-class-file should used along with -fsyntax-only"
+-msgstr "-femit-class-file skal bruges sammen med -fsyntax-only"
+-
+ #: config/mcore/mcore.h:56
+ msgid "the m210 does not have little endian support"
+ msgstr "m210 har ikke understøttelse for lilleendet"
+
+-#: config/lynx.h:70
+-msgid "cannot use mthreads and mlegacy-threads together"
+-msgstr ""
+-
+-#: config/lynx.h:95
+-msgid "cannot use mshared and static together"
+-msgstr ""
+-
+-#: config/sh/sh.h:461
+-#, fuzzy
+-msgid "SH2a does not support little-endian"
+-msgstr "%s understøtter ikke %s"
+-
+-#: config/mips/mips.h:1042 config/arc/arc.h:61
++#: config/arc/arc.h:61 config/mips/mips.h:1042
+ msgid "may not use both -EB and -EL"
+ msgstr "kan ikke bruge både -EB og -EL"
+
+-#: config/s390/tpf.h:119
+-#, fuzzy
+-msgid "static is not supported on TPF-OS"
+-msgstr "-traditional understøttes ikke i C++"
+-
+-#: config/rs6000/darwin.h:95
+-msgid " conflicting code gen style switches are used"
+-msgstr " konfliktende kodegenereringstilvalg er benyttet"
+-
+-#: ada/lang-specs.h:34
+-msgid "-c or -S required for Ada"
+-msgstr "-c eller -S kræves til Ada"
+-
+-#: config/mips/r3900.h:34
+-msgid "-mhard-float not supported"
+-msgstr "-mhard-float understøttes ikke"
+-
+-#: config/mips/r3900.h:36
+-#, fuzzy
+-msgid "-msingle-float and -msoft-float cannot both be specified"
+-msgstr "-msingle-float og -msoft-float er indbyrdes uforenelige"
+-
+ #: config/vxworks.h:71
+ #, fuzzy
+ msgid "-Xbind-now and -Xbind-lazy are incompatible"
+@@ -11475,12 +11472,25 @@
+ msgid "-private_bundle not allowed with -dynamiclib"
+ msgstr "-private_bundle er ikke tilladt med -dynamiclib"
+
++#: config/mips/r3900.h:34
++msgid "-mhard-float not supported"
++msgstr "-mhard-float understøttes ikke"
++
++#: config/mips/r3900.h:36
++#, fuzzy
++msgid "-msingle-float and -msoft-float cannot both be specified"
++msgstr "-msingle-float og -msoft-float er indbyrdes uforenelige"
++
+ #: config/sparc/linux64.h:211 config/sparc/linux64.h:222
+ #: config/sparc/netbsd-elf.h:125 config/sparc/netbsd-elf.h:144
+ #: config/sparc/sol2-bi.h:217 config/sparc/sol2-bi.h:227
+ msgid "may not use both -m32 and -m64"
+ msgstr "-m32 og -m64 er indbyrdes uforenelige"
+
++#: config/i386/mingw32.h:74 config/i386/cygwin.h:74
++msgid "shared and mdll are not compatible"
++msgstr "shared og mdll er indbyrdes uforenelige"
++
+ #: config/arm/arm.h:147
+ msgid "-msoft-float and -mhard_float may not be used together"
+ msgstr "-msoft-float og -mhard_float kan ikke bruges på samme tid"
+@@ -11489,127 +11499,69 @@
+ msgid "-mbig-endian and -mlittle-endian may not be used together"
+ msgstr "-mbig-endian og -mlittle-endian kan ikke bruges på samme tid"
+
+-#: java/lang.opt:65
+-#, fuzzy
+-msgid "Warn if a deprecated compiler feature, class, method, or field is used"
+-msgstr "Advar hvis forældede tomme sætninger bliver fundet"
++#: config/rs6000/darwin.h:95
++msgid " conflicting code gen style switches are used"
++msgstr " konfliktende kodegenereringstilvalg er benyttet"
+
+-#: java/lang.opt:69
+-msgid "Warn if deprecated empty statements are found"
+-msgstr "Advar hvis forældede tomme sætninger bliver fundet"
++#: ada/lang-specs.h:34
++msgid "-c or -S required for Ada"
++msgstr "-c eller -S kræves til Ada"
+
+-#: java/lang.opt:73
+-msgid "Warn if .class files are out of date"
+-msgstr "Advar hvis .class-filer er forældede"
++#: config/sparc/sol2-bi.h:189 config/sparc/sol2-bi.h:194
++#: config/sparc/sol2-gld-bi.h:17 config/sparc/sol2-gld-bi.h:22
++#, fuzzy
++msgid "does not support multilib"
++msgstr "%s understøtter ikke %s"
+
+-#: java/lang.opt:77
+-msgid "Warn if modifiers are specified when not necessary"
+-msgstr "Advar hvis modifikationer angives når det ikke er nødvendigt"
+-
+-#: java/lang.opt:81
++#: config/i386/nwld.h:34
+ #, fuzzy
+-msgid "Deprecated; use --classpath instead"
+-msgstr "Angiv klassesti (forældet: benyt --classpath i stedet)"
++msgid "Static linking is not supported.\n"
++msgstr "stakgrænseudtryk understøttes ikke"
+
+-#: java/lang.opt:88
+-msgid "Permit the use of the assert keyword"
+-msgstr ""
++#: config/i386/cygwin.h:28
++msgid "mno-cygwin and mno-win32 are not compatible"
++msgstr "-mno-cygwin og -mnowin32 er indbyrdes uforenelige"
+
+-#: java/lang.opt:110
++#: config/i386/sco5.h:188
+ #, fuzzy
+-msgid "Replace system path"
+-msgstr "Erstat systemsti"
++msgid "-pg not supported on this platform"
++msgstr "egenskaben '%s' er ikke understøttet på denne platform"
+
+-#: java/lang.opt:114
++#: config/i386/sco5.h:189
+ #, fuzzy
+-msgid "Generate checks for references to NULL"
+-msgstr "Generér kode til en DLL"
++msgid "-p and -pp specified - pick one"
++msgstr "-I- er angivet to gange"
+
+-#: java/lang.opt:118
+-msgid "Set class path"
+-msgstr "Angiv klassesti"
+-
+-#: java/lang.opt:125
+-msgid "Output a class file"
+-msgstr ""
+-
+-#: java/lang.opt:129
+-msgid "Alias for -femit-class-file"
+-msgstr ""
+-
+-#: java/lang.opt:133
++#: config/i386/sco5.h:258
+ #, fuzzy
+-msgid "Choose input encoding (defaults from your locale)"
+-msgstr "Vælg inddatakodning (standardværdi kommer fra regionalindstillinger)"
++msgid "-G and -static are mutually exclusive"
++msgstr "-pedantic og -traditional er indbyrdes uforenelige"
+
+-#: java/lang.opt:137
+-msgid "Set the extension directory path"
+-msgstr ""
++#: java/lang-specs.h:33
++msgid "-fjni and -femit-class-files are incompatible"
++msgstr "-fjni og -femit-class-files er indbyrdes uforenelige"
+
+-#: java/lang.opt:144
+-msgid "Input file is a file with a list of filenames to compile"
+-msgstr ""
++#: java/lang-specs.h:34
++msgid "-fjni and -femit-class-file are incompatible"
++msgstr "-fjni og -femit-class-file er indbyrdes uforenelige"
+
+-#: java/lang.opt:151
+-msgid "Always check for non gcj generated classes archives"
+-msgstr "Kontrollér altid for ikke-GCJ-genererede klassearkiver"
++#: java/lang-specs.h:35 java/lang-specs.h:36
++msgid "-femit-class-file should used along with -fsyntax-only"
++msgstr "-femit-class-file skal bruges sammen med -fsyntax-only"
+
+-#: java/lang.opt:155
+-msgid "Assume the runtime uses a hash table to map an object to its synchronization structure"
+-msgstr ""
+-
+-#: java/lang.opt:159
+-msgid "Generate instances of Class at runtime"
+-msgstr ""
+-
+-#: java/lang.opt:163
+-msgid "Use offset tables for virtual method calls"
+-msgstr "Benyt afsætstabeller til virtuelle metodekald"
+-
+-#: java/lang.opt:170
+-msgid "Assume native functions are implemented using JNI"
+-msgstr "Antag at indfødte funktioner er implementeret vha. JNI"
+-
+-#: java/lang.opt:174
++#: config/cris/cris.h:207
+ #, fuzzy
+-msgid "Enable optimization of static class initialization code"
+-msgstr "Optimér aldrig statiske klassers klargøringskode"
++msgid "Do not specify both -march=... and -mcpu=..."
++msgstr "-C og -o er indbyrdes uforenelige"
+
+-#: java/lang.opt:181
+-msgid "Reduce the amount of reflection meta-data generated"
++#: config/lynx.h:70
++msgid "cannot use mthreads and mlegacy-threads together"
+ msgstr ""
+
+-#: java/lang.opt:185
+-#, fuzzy
+-msgid "Enable assignability checks for stores into object arrays"
+-msgstr "Deaktivér tildelingstjek for lagringer i objekttabeller"
+-
+-#: java/lang.opt:189
+-#, fuzzy
+-msgid "Generate code for the Boehm GC"
+-msgstr "Generér kode til en C400"
+-
+-#: java/lang.opt:193
+-msgid "Call a library routine to do integer divisions"
++#: config/lynx.h:95
++msgid "cannot use mshared and static together"
+ msgstr ""
+
+-#: java/lang.opt:197
+-msgid "Generated should be loaded by bootstrap loader"
+-msgstr ""
+-
+-#: java/lang.opt:201
+-msgid "Set the source language version"
+-msgstr ""
+-
+-#: java/lang.opt:205
+-#, fuzzy
+-msgid "Set the target VM version"
+-msgstr "ugyldig version af hovedet"
+-
+-#: ada/lang.opt:96
+-msgid "Specify options to GNAT"
+-msgstr ""
+-
+ #: fortran/lang.opt:29
+ #, fuzzy
+ msgid "Add a directory for INCLUDE and MODULE searching"
+@@ -11871,7 +11823,7 @@
+ msgid "Append a second underscore if the name already contains an underscore"
+ msgstr ""
+
+-#: fortran/lang.opt:277 c.opt:714
++#: fortran/lang.opt:277 c.opt:718
+ msgid "Use the narrowest integer type possible for enumeration types"
+ msgstr ""
+
+@@ -11904,16 +11856,69 @@
+ msgid "Accept extensions to support legacy code"
+ msgstr ""
+
+-#: treelang/lang.opt:30
++#: config/mcore/mcore.opt:23
+ #, fuzzy
+-msgid "Trace lexical analysis"
+-msgstr "(fejlretning) følg lexikalsk analyse"
++msgid "Generate code for the M*Core M210"
++msgstr "Generér kode til en M*Core M340"
+
+-#: treelang/lang.opt:34
++#: config/mcore/mcore.opt:27
++msgid "Generate code for the M*Core M340"
++msgstr "Generér kode til en M*Core M340"
++
++#: config/mcore/mcore.opt:31
++msgid "Set maximum alignment to 4"
++msgstr "Sæt maksimal justering til 4"
++
++#: config/mcore/mcore.opt:35
++msgid "Force functions to be aligned to a 4 byte boundary"
++msgstr "Tving funktioner til at blive justeret til en 4 byte-grænse"
++
++#: config/mcore/mcore.opt:39
++msgid "Set maximum alignment to 8"
++msgstr "Sæt maksimal justering til 8"
++
++#: config/mcore/mcore.opt:43 config/score/score.opt:23
+ #, fuzzy
+-msgid "Trace the parsing process"
+-msgstr "(fejlretning) følg fortolkningsprocessen"
++msgid "Generate big-endian code"
++msgstr "Generér storendet kode"
+
++#: config/mcore/mcore.opt:47
++msgid "Emit call graph information"
++msgstr "Udsend kaldegrafinfo"
++
++#: config/mcore/mcore.opt:51
++#, fuzzy
++msgid "Use the divide instruction"
++msgstr "Benyt ikke divisionsinstruktionen"
++
++#: config/mcore/mcore.opt:55
++msgid "Inline constants if it can be done in 2 insns or less"
++msgstr "Indlejr konstanter hvis det kan gøres med 2 instruktioner eller mindre"
++
++#: config/mcore/mcore.opt:59 config/score/score.opt:27
++#, fuzzy
++msgid "Generate little-endian code"
++msgstr "Generér lilleendet kode"
++
++#: config/mcore/mcore.opt:67
++#, fuzzy
++msgid "Use arbitrary sized immediates in bit operations"
++msgstr "Benyt ikke vilkårlige størrelsers umiddelbare værdier i bitoperationer"
++
++#: config/mcore/mcore.opt:71
++msgid "Prefer word accesses over byte accesses"
++msgstr "Foretræk ord-tilgange frem for byte-tilgange"
++
++#: config/mcore/mcore.opt:75
++#, fuzzy
++msgid "Set the maximum amount for a single stack increment operation"
++msgstr "Maksimalt antal for en enkelt stakforøgelsesoperation"
++
++#: config/mcore/mcore.opt:79
++#, fuzzy
++msgid "Always treat bitfields as int-sized"
++msgstr "Behandl altid bitfelter som af størrelsen int"
++
+ #: config/alpha/alpha.opt:23 config/i386/i386.opt:155
+ msgid "Do not use hardware fp"
+ msgstr "Brug ikke hardwarekommatal"
+@@ -12033,296 +12038,6 @@
+ msgid "Specify bit size of immediate TLS offsets"
+ msgstr "Angiv bitstørrelse for umiddelbar TLS-afsæt"
+
+-# hvad så det er...
+-#: config/frv/frv.opt:23
+-#, fuzzy
+-msgid "Use 4 media accumulators"
+-msgstr "Benyt multiplikationsakkumulering"
+-
+-# hvad så det er...
+-#: config/frv/frv.opt:27
+-#, fuzzy
+-msgid "Use 8 media accumulators"
+-msgstr "Benyt multiplikationsakkumulering"
+-
+-#: config/frv/frv.opt:31
+-#, fuzzy
+-msgid "Enable label alignment optimizations"
+-msgstr "Aktivér sammenkæderoptimeringer"
+-
+-#: config/frv/frv.opt:35
+-#, fuzzy
+-msgid "Dynamically allocate cc registers"
+-msgstr "Allokér ikke BK-registeret"
+-
+-#: config/frv/frv.opt:42
+-msgid "Set the cost of branches"
+-msgstr ""
+-
+-#: config/frv/frv.opt:46
+-msgid "Enable conditional execution other than moves/scc"
+-msgstr ""
+-
+-#: config/frv/frv.opt:50
+-#, fuzzy
+-msgid "Change the maximum length of conditionally-executed sequences"
+-msgstr "Den maksimale længde af planlæggerens liste over ventende operationer"
+-
+-#: config/frv/frv.opt:54
+-msgid "Change the number of temporary registers that are available to conditionally-executed sequences"
+-msgstr ""
+-
+-#: config/frv/frv.opt:58
+-#, fuzzy
+-msgid "Enable conditional moves"
+-msgstr "Aktivér brug af betingede flytteinstruktioner"
+-
+-#: config/frv/frv.opt:62
+-#, fuzzy
+-msgid "Set the target CPU type"
+-msgstr "Angiv navnet på målprocessoren"
+-
+-#: config/frv/frv.opt:84
+-#, fuzzy
+-msgid "Use fp double instructions"
+-msgstr "Benyt AltiVec-instruktioner"
+-
+-#: config/frv/frv.opt:88
+-msgid "Change the ABI to allow double word insns"
+-msgstr ""
+-
+-#: config/frv/frv.opt:92 config/bfin/bfin.opt:73
+-#, fuzzy
+-msgid "Enable Function Descriptor PIC mode"
+-msgstr "MIPS16-funktionsprofilering"
+-
+-#: config/frv/frv.opt:96
+-msgid "Just use icc0/fcc0"
+-msgstr ""
+-
+-#: config/frv/frv.opt:100
+-msgid "Only use 32 FPRs"
+-msgstr ""
+-
+-#: config/frv/frv.opt:104
+-msgid "Use 64 FPRs"
+-msgstr ""
+-
+-#: config/frv/frv.opt:108
+-msgid "Only use 32 GPRs"
+-msgstr ""
+-
+-#: config/frv/frv.opt:112
+-msgid "Use 64 GPRs"
+-msgstr ""
+-
+-#: config/frv/frv.opt:116
+-msgid "Enable use of GPREL for read-only data in FDPIC"
+-msgstr ""
+-
+-#: config/frv/frv.opt:120 config/rs6000/rs6000.opt:112
+-#: config/pdp11/pdp11.opt:71
+-msgid "Use hardware floating point"
+-msgstr "Benyt hardware-kommatal"
+-
+-#: config/frv/frv.opt:124 config/bfin/bfin.opt:77
+-#, fuzzy
+-msgid "Enable inlining of PLT in function calls"
+-msgstr "Aktivér brug af RTPS-instruktionen"
+-
+-#: config/frv/frv.opt:128
+-#, fuzzy
+-msgid "Enable PIC support for building libraries"
+-msgstr "Aktivér understøttelse af enorme objekter"
+-
+-#: config/frv/frv.opt:132
+-msgid "Follow the EABI linkage requirements"
+-msgstr ""
+-
+-#: config/frv/frv.opt:136
+-#, fuzzy
+-msgid "Disallow direct calls to global functions"
+-msgstr "Udelad rammehenvisningen i de yderste funktioner"
+-
+-#: config/frv/frv.opt:140
+-#, fuzzy
+-msgid "Use media instructions"
+-msgstr "Benyt bitfeltinstruktioner"
+-
+-#: config/frv/frv.opt:144
+-#, fuzzy
+-msgid "Use multiply add/subtract instructions"
+-msgstr "Benyt kommatalsinstruktioner til multiplikationsakkumulering"
+-
+-#: config/frv/frv.opt:148
+-#, fuzzy
+-msgid "Enable optimizing &&/|| in conditional execution"
+-msgstr "Optimér aldrig statiske klassers klargøringskode"
+-
+-#: config/frv/frv.opt:152
+-#, fuzzy
+-msgid "Enable nested conditional execution optimizations"
+-msgstr "Aktivér brug af betingede flytteinstruktioner"
+-
+-#: config/frv/frv.opt:157
+-msgid "Do not mark ABI switches in e_flags"
+-msgstr ""
+-
+-#: config/frv/frv.opt:161
+-msgid "Remove redundant membars"
+-msgstr ""
+-
+-#: config/frv/frv.opt:165
+-#, fuzzy
+-msgid "Pack VLIW instructions"
+-msgstr "Benyt AltiVec-instruktioner"
+-
+-#: config/frv/frv.opt:169
+-msgid "Enable setting GPRs to the result of comparisons"
+-msgstr ""
+-
+-#: config/frv/frv.opt:173
+-msgid "Change the amount of scheduler lookahead"
+-msgstr ""
+-
+-#: config/frv/frv.opt:177 config/pa/pa.opt:104
+-msgid "Use software floating point"
+-msgstr "Benyt softwarekommatal"
+-
+-#: config/frv/frv.opt:181
+-msgid "Assume a large TLS segment"
+-msgstr ""
+-
+-#: config/frv/frv.opt:185
+-#, fuzzy
+-msgid "Do not assume a large TLS segment"
+-msgstr "Antag ikke GAS"
+-
+-#: config/frv/frv.opt:190
+-msgid "Cause gas to print tomcat statistics"
+-msgstr ""
+-
+-#: config/frv/frv.opt:195
+-msgid "Link with the library-pic libraries"
+-msgstr ""
+-
+-#: config/frv/frv.opt:199
+-msgid "Allow branches to be packed with other instructions"
+-msgstr ""
+-
+-#: config/mn10300/mn10300.opt:23
+-msgid "Target the AM33 processor"
+-msgstr "Målret mod AM33-processoren"
+-
+-#: config/mn10300/mn10300.opt:27
+-#, fuzzy
+-msgid "Target the AM33/2.0 processor"
+-msgstr "Målret mod AM33-processoren"
+-
+-#: config/mn10300/mn10300.opt:31
+-msgid "Work around hardware multiply bug"
+-msgstr "Arbejd omkring hardware-multiplikationsfejl"
+-
+-#: config/mn10300/mn10300.opt:36
+-msgid "Enable linker relaxations"
+-msgstr "Aktivér tolerant sammenkædning"
+-
+-#: config/mn10300/mn10300.opt:40
+-msgid "Return pointers in both a0 and d0"
+-msgstr ""
+-
+-#: config/s390/tpf.opt:23
+-msgid "Enable TPF-OS tracing code"
+-msgstr ""
+-
+-#: config/s390/tpf.opt:27
+-#, fuzzy
+-msgid "Specify main object for TPF-OS"
+-msgstr "Angiv maksimalt antal iterationer for RPTS"
+-
+-#: config/s390/s390.opt:23
+-#, fuzzy
+-msgid "31 bit ABI"
+-msgstr "Benyt 64 bit-API"
+-
+-#: config/s390/s390.opt:27
+-#, fuzzy
+-msgid "64 bit ABI"
+-msgstr "Benyt 64 bit-API"
+-
+-#: config/s390/s390.opt:31 config/i386/i386.opt:59 config/spu/spu.opt:60
+-msgid "Generate code for given CPU"
+-msgstr "Generér kode til en given processor"
+-
+-#: config/s390/s390.opt:35
+-msgid "Maintain backchain pointer"
+-msgstr ""
+-
+-#: config/s390/s390.opt:39
+-msgid "Additional debug prints"
+-msgstr "Udskriv ekstra fejlanalyseringsinfo"
+-
+-#: config/s390/s390.opt:43
+-msgid "ESA/390 architecture"
+-msgstr ""
+-
+-#: config/s390/s390.opt:47
+-#, fuzzy
+-msgid "Enable fused multiply/add instructions"
+-msgstr "Generér sammensatte gang/addér-instruktioner"
+-
+-#: config/s390/s390.opt:51
+-#, fuzzy
+-msgid "Enable decimal floating point hardware support"
+-msgstr "hexadecimal kommatalskonstant skal have en eksponent"
+-
+-#: config/s390/s390.opt:55
+-#, fuzzy
+-msgid "Enable hardware floating point"
+-msgstr "Benyt hardware-kommatal"
+-
+-#: config/s390/s390.opt:67
+-msgid "Use packed stack layout"
+-msgstr ""
+-
+-#: config/s390/s390.opt:71
+-msgid "Use bras for executable < 64k"
+-msgstr "Benyt bras til kørbar fil < 64k"
+-
+-#: config/s390/s390.opt:75
+-#, fuzzy
+-msgid "Disable hardware floating point"
+-msgstr "Benyt hardware-kommatal"
+-
+-#: config/s390/s390.opt:79
+-msgid "Set the max. number of bytes which has to be left to stack size before a trap instruction is triggered"
+-msgstr ""
+-
+-#: config/s390/s390.opt:83
+-msgid "Emit extra code in the function prologue in order to trap if the stack size exceeds the given limit"
+-msgstr ""
+-
+-#: config/s390/s390.opt:87 config/ia64/ia64.opt:97 config/sparc/sparc.opt:95
+-#: config/i386/i386.opt:183 config/rs6000/rs6000.opt:226 config/spu/spu.opt:64
+-msgid "Schedule code for given CPU"
+-msgstr "Planlæg koden til en given processor"
+-
+-#: config/s390/s390.opt:91
+-msgid "mvcle use"
+-msgstr "Benyt mvcle"
+-
+-#: config/s390/s390.opt:95
+-msgid "Warn if a function uses alloca or creates an array with dynamic size"
+-msgstr ""
+-
+-#: config/s390/s390.opt:99
+-msgid "Warn if a single function's framesize exceeds the given framesize"
+-msgstr ""
+-
+-#: config/s390/s390.opt:103
+-msgid "z/Architecture"
+-msgstr ""
+-
+ #: config/ia64/ilp32.opt:3
+ #, fuzzy
+ msgid "Generate ILP32 code"
+@@ -12417,10 +12132,16 @@
+ msgid "Enable earlier placing stop bits for better scheduling"
+ msgstr ""
+
+-#: config/ia64/ia64.opt:89 config/spu/spu.opt:56 config/pa/pa.opt:51
++#: config/ia64/ia64.opt:89 config/pa/pa.opt:51 config/spu/spu.opt:56
+ msgid "Specify range of registers to make fixed"
+ msgstr "Angiv interval af registre der skal gøres faste"
+
++#: config/ia64/ia64.opt:97 config/i386/i386.opt:183
++#: config/rs6000/rs6000.opt:226 config/spu/spu.opt:64 config/s390/s390.opt:87
++#: config/sparc/sparc.opt:95
++msgid "Schedule code for given CPU"
++msgstr "Planlæg koden til en given processor"
++
+ #: config/ia64/ia64.opt:101
+ #, fuzzy
+ msgid "Use data speculation before reload"
+@@ -12471,366 +12192,320 @@
+ msgid "Count speculative dependencies while calculating priority of instructions"
+ msgstr ""
+
+-#: config/m32c/m32c.opt:24 config/bfin/bfin.opt:23 config/mt/mt.opt:27
+-msgid "Use simulator runtime"
+-msgstr ""
+-
+-#: config/m32c/m32c.opt:28
++#: config/xtensa/xtensa.opt:23
+ #, fuzzy
+-msgid "Compile code for R8C variants"
+-msgstr "Oversæt for 64 bit-henvisninger"
++msgid "Use CONST16 instruction to load constants"
++msgstr "Brug push-instruktioner til at gemme udgående parametre"
+
+-#: config/m32c/m32c.opt:32
+-#, fuzzy
+-msgid "Compile code for M16C variants"
+-msgstr "Oversæt for 64 bit-henvisninger"
++#: config/xtensa/xtensa.opt:27
++msgid "Enable fused multiply/add and multiply/subtract FP instructions"
++msgstr "Aktivér sammensatte gang/addér- og gang/subtrahér-kommatalsinstruktioner"
+
+-#: config/m32c/m32c.opt:36
+-#, fuzzy
+-msgid "Compile code for M32CM variants"
+-msgstr "Oversæt for 32 bit-henvisninger"
++#: config/xtensa/xtensa.opt:31
++msgid "Use indirect CALLXn instructions for large programs"
++msgstr "Benyt indirekte CALLXn-instruktioner for store programmer"
+
+-#: config/m32c/m32c.opt:40
+-#, fuzzy
+-msgid "Compile code for M32C variants"
+-msgstr "Oversæt for 32 bit-henvisninger"
++#: config/xtensa/xtensa.opt:35
++msgid "Automatically align branch targets to reduce branch penalties"
++msgstr "Justér automatisk forgreningsmål for at reducere forgreningsstraffe"
+
+-#: config/m32c/m32c.opt:44
+-msgid "Number of memreg bytes (default: 16, range: 0..16)"
+-msgstr ""
++#: config/xtensa/xtensa.opt:39
++msgid "Intersperse literal pools with code in the text section"
++msgstr "Fordel konstanter med kode i tekstsektionen"
+
+-#: config/sparc/little-endian.opt:23
+-#, fuzzy
+-msgid "Generate code for little-endian"
+-msgstr "Generér kode til lilleendet"
++#: config/pa/pa.opt:23 config/pa/pa.opt:76 config/pa/pa.opt:84
++msgid "Generate PA1.0 code"
++msgstr "Generér PA1.0-kode"
+
+-#: config/sparc/little-endian.opt:27
+-#, fuzzy
+-msgid "Generate code for big-endian"
+-msgstr "Generér kode til storendet"
++#: config/pa/pa.opt:27 config/pa/pa.opt:88 config/pa/pa.opt:108
++msgid "Generate PA1.1 code"
++msgstr "Generér PA1.1-kode"
+
+-#: config/sparc/sparc.opt:23 config/sparc/sparc.opt:27
+-#, fuzzy
+-msgid "Use hardware FP"
+-msgstr "Brug hardwarekommatal"
++#: config/pa/pa.opt:31 config/pa/pa.opt:92
++msgid "Generate PA2.0 code (requires binutils 2.10 or later)"
++msgstr "Generér PA2.0-kode (kræver binutils 2.10 eller nyere)"
+
+-#: config/sparc/sparc.opt:31
+-#, fuzzy
+-msgid "Do not use hardware FP"
+-msgstr "Brug ikke hardwarekommatal"
++#: config/pa/pa.opt:35
++msgid "Generate code for huge switch statements"
++msgstr "Generér kode til store switch-sætninger"
+
+-#: config/sparc/sparc.opt:35
+-msgid "Assume possible double misalignment"
+-msgstr "Antag at double-variabler kan være ujusterede"
++#: config/pa/pa.opt:39
++msgid "Disable FP regs"
++msgstr "Deaktivér kommatalsregistre"
+
+-#: config/sparc/sparc.opt:39
+-msgid "Pass -assert pure-text to linker"
+-msgstr "Overbring -assert pure-text til sammenkæderen"
++#: config/pa/pa.opt:43
++msgid "Disable indexed addressing"
++msgstr "Deaktivér indekseret adressering"
+
+-#: config/sparc/sparc.opt:43
+-msgid "Use ABI reserved registers"
+-msgstr "Benyt ABI-reserverede registre"
++#: config/pa/pa.opt:47
++msgid "Generate fast indirect calls"
++msgstr "Generér hurtige indirekte kald"
+
+-#: config/sparc/sparc.opt:47
+-#, fuzzy
+-msgid "Use hardware quad FP instructions"
+-msgstr "Benyt hardware quad-kommatalsinstruktioner"
++#: config/pa/pa.opt:55
++msgid "Assume code will be assembled by GAS"
++msgstr "Antag at koden bliver oversat af GAS"
+
+-#: config/sparc/sparc.opt:51
+-msgid "Do not use hardware quad fp instructions"
+-msgstr "Benyt ikke hardware quad-kommatalsinstruktioner"
++#: config/pa/pa.opt:59
++msgid "Put jumps in call delay slots"
++msgstr "Anbring spring på kaldeventetidspladser"
+
+-#: config/sparc/sparc.opt:55
+-#, fuzzy
+-msgid "Compile for V8+ ABI"
+-msgstr "Oversæt for v8plus-ABI"
++#: config/pa/pa.opt:64
++msgid "Enable linker optimizations"
++msgstr "Aktivér sammenkæderoptimeringer"
+
+-#: config/sparc/sparc.opt:59
+-#, fuzzy
+-msgid "Use UltraSPARC Visual Instruction Set extensions"
+-msgstr "Benyt Visual Instruction Set"
++#: config/pa/pa.opt:68
++msgid "Always generate long calls"
++msgstr "Generér altid lange kalde"
+
+-#: config/sparc/sparc.opt:63
+-msgid "Pointers are 64-bit"
+-msgstr "Henvisninger er 64 bit"
++#: config/pa/pa.opt:72
++msgid "Emit long load/store sequences"
++msgstr "Udsend lange load/store-sekvenser"
+
+-#: config/sparc/sparc.opt:67
+-msgid "Pointers are 32-bit"
+-msgstr "Henvisninger er 32 bit"
++#: config/pa/pa.opt:80
++msgid "Disable space regs"
++msgstr "Deaktivér pladsregistre"
+
+-#: config/sparc/sparc.opt:71
+-msgid "Use 64-bit ABI"
+-msgstr "Benyt 64 bit-API"
++#: config/pa/pa.opt:96
++msgid "Use portable calling conventions"
++msgstr "Benyt portable kaldekonventioner"
+
+-#: config/sparc/sparc.opt:75
+-msgid "Use 32-bit ABI"
+-msgstr "Benyt 32 bit-API"
++#: config/pa/pa.opt:100
++#, fuzzy
++msgid "Specify CPU for scheduling purposes. Valid arguments are 700, 7100, 7100LC, 7200, 7300, and 8000"
++msgstr ""
++"ukendt parameter til -mschedule= (%s).\n"
++"Gyldige parametre er 700, 7100, 7100LC, 7200, 7300 og 8000\n"
+
+-#: config/sparc/sparc.opt:79
+-msgid "Use stack bias"
+-msgstr "Benyt stakafsæt"
++#: config/pa/pa.opt:104 config/frv/frv.opt:177
++msgid "Use software floating point"
++msgstr "Benyt softwarekommatal"
+
+-#: config/sparc/sparc.opt:83
+-msgid "Use structs on stronger alignment for double-word copies"
+-msgstr "Benyt strukturer på stærkere justering til dobbelt-ord kopier"
++#: config/pa/pa.opt:112
++msgid "Do not disable space regs"
++msgstr "Deaktivér ikke pladsregistre"
+
+-#: config/sparc/sparc.opt:87
+-msgid "Optimize tail call instructions in assembler and linker"
+-msgstr "Optimér halekaldsinstruktioner i maskinkodeoversætteren og sammenkæderen"
++#: config/pa/pa-hpux1111.opt:23 config/pa/pa-hpux1010.opt:23
++#: config/pa/pa-hpux.opt:27
++msgid "Specify UNIX standard for predefines and linking"
++msgstr ""
+
+-#: config/sparc/sparc.opt:91 config/rs6000/rs6000.opt:222
+-msgid "Use features of and schedule code for given CPU"
+-msgstr "Benyt faciliteter fra og planlæg koden til en given processor"
++#: config/pa/pa64-hpux.opt:23
++msgid "Assume code will be linked by GNU ld"
++msgstr "Antag at kode vil blive sammenkædet med GNU ld"
+
+-#: config/sparc/sparc.opt:99
+-#, fuzzy
+-msgid "Use given SPARC-V9 code model"
+-msgstr "Benyt given SPARC-kodemodel"
++#: config/pa/pa64-hpux.opt:27
++msgid "Assume code will be linked by HP ld"
++msgstr "Antag at kode vil blive sammenkædet med HP ld"
+
+-#: config/sparc/sparc.opt:103
+-msgid "Enable strict 32-bit psABI struct return checking."
+-msgstr ""
++#: config/pa/pa-hpux.opt:23
++msgid "Generate cpp defines for server IO"
++msgstr "Generér CPP-defineringer til server-IO"
+
+-#: config/m32r/m32r.opt:23
+-#, fuzzy
+-msgid "Compile for the m32rx"
+-msgstr "Oversæt til en 68HC12"
++#: config/pa/pa-hpux.opt:31
++msgid "Generate cpp defines for workstation IO"
++msgstr "Generér CPP-defineringer til arbejdsstation-IO"
+
+-#: config/m32r/m32r.opt:27
++# hvad så det er...
++#: config/frv/frv.opt:23
+ #, fuzzy
+-msgid "Compile for the m32r2"
+-msgstr "Oversæt til en 68HC12"
++msgid "Use 4 media accumulators"
++msgstr "Benyt multiplikationsakkumulering"
+
+-#: config/m32r/m32r.opt:31
++# hvad så det er...
++#: config/frv/frv.opt:27
+ #, fuzzy
+-msgid "Compile for the m32r"
+-msgstr "Oversæt til en 68HC12"
++msgid "Use 8 media accumulators"
++msgstr "Benyt multiplikationsakkumulering"
+
+-#: config/m32r/m32r.opt:35
+-msgid "Align all loops to 32 byte boundary"
+-msgstr "Justér alle løkker til 32 byte-grænserne"
+-
+-#: config/m32r/m32r.opt:39
+-msgid "Prefer branches over conditional execution"
+-msgstr "Foretræk forgrening frem for betinget udførelse"
+-
+-#: config/m32r/m32r.opt:43
+-msgid "Give branches their default cost"
+-msgstr ""
+-
+-#: config/m32r/m32r.opt:47
+-msgid "Display compile time statistics"
+-msgstr "Vis oversættelsesstatistikker"
+-
+-#: config/m32r/m32r.opt:51
+-msgid "Specify cache flush function"
+-msgstr "Angiv mellemlagertømningsfunktion"
+-
+-#: config/m32r/m32r.opt:55
++#: config/frv/frv.opt:31
+ #, fuzzy
+-msgid "Specify cache flush trap number"
+-msgstr "Angiv mellemlagertømningsfunktion"
++msgid "Enable label alignment optimizations"
++msgstr "Aktivér sammenkæderoptimeringer"
+
+-#: config/m32r/m32r.opt:59
+-msgid "Only issue one instruction per cycle"
+-msgstr "Udfør kun én instruktion pr. cyklus"
+-
+-#: config/m32r/m32r.opt:63
++#: config/frv/frv.opt:35
+ #, fuzzy
+-msgid "Allow two instructions to be issued per cycle"
+-msgstr "Udfør kun én instruktion pr. cyklus"
++msgid "Dynamically allocate cc registers"
++msgstr "Allokér ikke BK-registeret"
+
+-#: config/m32r/m32r.opt:67
+-msgid "Code size: small, medium or large"
+-msgstr "Kodestørrelse: small, medium eller large"
++#: config/frv/frv.opt:42
++msgid "Set the cost of branches"
++msgstr ""
+
+-#: config/m32r/m32r.opt:71
+-msgid "Don't call any cache flush functions"
+-msgstr "Kald ikke nogen mellemlagertømningsfunktion"
++#: config/frv/frv.opt:46
++msgid "Enable conditional execution other than moves/scc"
++msgstr ""
+
+-#: config/m32r/m32r.opt:75
++#: config/frv/frv.opt:50
+ #, fuzzy
+-msgid "Don't call any cache flush trap"
+-msgstr "Kald ikke nogen mellemlagertømningsfunktion"
++msgid "Change the maximum length of conditionally-executed sequences"
++msgstr "Den maksimale længde af planlæggerens liste over ventende operationer"
+
+-#: config/m32r/m32r.opt:82
+-msgid "Small data area: none, sdata, use"
+-msgstr "Område til små data: none, sdata, use"
++#: config/frv/frv.opt:54
++msgid "Change the number of temporary registers that are available to conditionally-executed sequences"
++msgstr ""
+
+-#: config/m68k/m68k.opt:23
+-msgid "Generate code for a 520X"
+-msgstr "Generér kode til en 520X"
+-
+-#: config/m68k/m68k.opt:27
++#: config/frv/frv.opt:58
+ #, fuzzy
+-msgid "Generate code for a 5206e"
+-msgstr "Generér kode til en 520X"
++msgid "Enable conditional moves"
++msgstr "Aktivér brug af betingede flytteinstruktioner"
+
+-#: config/m68k/m68k.opt:31
++#: config/frv/frv.opt:62
+ #, fuzzy
+-msgid "Generate code for a 528x"
+-msgstr "Generér kode til en 520X"
++msgid "Set the target CPU type"
++msgstr "Angiv navnet på målprocessoren"
+
+-#: config/m68k/m68k.opt:35
++#: config/frv/frv.opt:84
+ #, fuzzy
+-msgid "Generate code for a 5307"
+-msgstr "Generér kode til en 520X"
++msgid "Use fp double instructions"
++msgstr "Benyt AltiVec-instruktioner"
+
+-#: config/m68k/m68k.opt:39
+-#, fuzzy
+-msgid "Generate code for a 5407"
+-msgstr "Generér kode til en 520X"
++#: config/frv/frv.opt:88
++msgid "Change the ABI to allow double word insns"
++msgstr ""
+
+-#: config/m68k/m68k.opt:43 config/m68k/m68k.opt:104
+-msgid "Generate code for a 68000"
+-msgstr "Generér kode til en 68000"
+-
+-#: config/m68k/m68k.opt:47
++#: config/frv/frv.opt:92 config/bfin/bfin.opt:73
+ #, fuzzy
+-msgid "Generate code for a 68010"
+-msgstr "Generér kode til en 68020"
++msgid "Enable Function Descriptor PIC mode"
++msgstr "MIPS16-funktionsprofilering"
+
+-#: config/m68k/m68k.opt:51 config/m68k/m68k.opt:108
+-msgid "Generate code for a 68020"
+-msgstr "Generér kode til en 68020"
++#: config/frv/frv.opt:96
++msgid "Just use icc0/fcc0"
++msgstr ""
+
+-#: config/m68k/m68k.opt:55
+-msgid "Generate code for a 68040, without any new instructions"
+-msgstr "Generér kode til en 68040 uden nogen nye instruktioner"
++#: config/frv/frv.opt:100
++msgid "Only use 32 FPRs"
++msgstr ""
+
+-#: config/m68k/m68k.opt:59
+-msgid "Generate code for a 68060, without any new instructions"
+-msgstr "Generér kode til en 68060 uden nogen nye instruktioner"
++#: config/frv/frv.opt:104
++msgid "Use 64 FPRs"
++msgstr ""
+
+-#: config/m68k/m68k.opt:63
+-msgid "Generate code for a 68030"
+-msgstr "Generér kode til en 68030"
++#: config/frv/frv.opt:108
++msgid "Only use 32 GPRs"
++msgstr ""
+
+-#: config/m68k/m68k.opt:67
+-msgid "Generate code for a 68040"
+-msgstr "Generér kode til en 68040"
++#: config/frv/frv.opt:112
++msgid "Use 64 GPRs"
++msgstr ""
+
+-#: config/m68k/m68k.opt:71
+-msgid "Generate code for a 68060"
+-msgstr "Generér kode til en 68060"
++#: config/frv/frv.opt:116
++msgid "Enable use of GPREL for read-only data in FDPIC"
++msgstr ""
+
+-#: config/m68k/m68k.opt:75
+-msgid "Generate code for a 68302"
+-msgstr "Generér kode til en 68302"
++#: config/frv/frv.opt:120 config/rs6000/rs6000.opt:112
++#: config/pdp11/pdp11.opt:71
++msgid "Use hardware floating point"
++msgstr "Benyt hardware-kommatal"
+
+-#: config/m68k/m68k.opt:79
+-msgid "Generate code for a 68332"
+-msgstr "Generér kode til en 68332"
++#: config/frv/frv.opt:124 config/bfin/bfin.opt:77
++#, fuzzy
++msgid "Enable inlining of PLT in function calls"
++msgstr "Aktivér brug af RTPS-instruktionen"
+
+-#: config/m68k/m68k.opt:84
+-msgid "Generate code for a 68851"
+-msgstr "Generér kode til en 68851"
+-
+-#: config/m68k/m68k.opt:88
++#: config/frv/frv.opt:128
+ #, fuzzy
+-msgid "Generate code that uses 68881 floating-point instructions"
+-msgstr "Benyt hardware-kommatalsinstruktioner"
++msgid "Enable PIC support for building libraries"
++msgstr "Aktivér understøttelse af enorme objekter"
+
+-#: config/m68k/m68k.opt:92
+-msgid "Align variables on a 32-bit boundary"
+-msgstr "Justér variabler til 32 bit-grænserne"
++#: config/frv/frv.opt:132
++msgid "Follow the EABI linkage requirements"
++msgstr ""
+
+-#: config/m68k/m68k.opt:96 config/arm/arm.opt:49 config/score/score.opt:63
+-msgid "Specify the name of the target architecture"
+-msgstr "Angiv navnet på målarkitekturen"
++#: config/frv/frv.opt:136
++#, fuzzy
++msgid "Disallow direct calls to global functions"
++msgstr "Udelad rammehenvisningen i de yderste funktioner"
+
+-#: config/m68k/m68k.opt:100
+-msgid "Use the bit-field instructions"
+-msgstr "Benyt bitfeltinstruktionerne"
+-
+-#: config/m68k/m68k.opt:112
++#: config/frv/frv.opt:140
+ #, fuzzy
+-msgid "Generate code for a ColdFire v4e"
+-msgstr "Generér kode til en M*Core M340"
++msgid "Use media instructions"
++msgstr "Benyt bitfeltinstruktioner"
+
+-#: config/m68k/m68k.opt:116
++#: config/frv/frv.opt:144
+ #, fuzzy
+-msgid "Specify the target CPU"
+-msgstr "Angiv navnet på målprocessoren"
++msgid "Use multiply add/subtract instructions"
++msgstr "Benyt kommatalsinstruktioner til multiplikationsakkumulering"
+
+-#: config/m68k/m68k.opt:120
+-msgid "Generate code for a cpu32"
+-msgstr "Generér kode til en cpu32"
+-
+-#: config/m68k/m68k.opt:124
++#: config/frv/frv.opt:148
+ #, fuzzy
+-msgid "Use hardware division instructions on ColdFire"
+-msgstr "Benyt hardware quad-kommatalsinstruktioner"
++msgid "Enable optimizing &&/|| in conditional execution"
++msgstr "Optimér aldrig statiske klassers klargøringskode"
+
+-#: config/m68k/m68k.opt:128
++#: config/frv/frv.opt:152
+ #, fuzzy
+-msgid "Generate code for a Fido A"
+-msgstr "Generér kode til en Sun FPA"
++msgid "Enable nested conditional execution optimizations"
++msgstr "Aktivér brug af betingede flytteinstruktioner"
+
+-#: config/m68k/m68k.opt:132
++#: config/frv/frv.opt:157
++msgid "Do not mark ABI switches in e_flags"
++msgstr ""
++
++#: config/frv/frv.opt:161
++msgid "Remove redundant membars"
++msgstr ""
++
++#: config/frv/frv.opt:165
+ #, fuzzy
+-msgid "Generate code which uses hardware floating point instructions"
+-msgstr "Benyt hardware-kommatalsinstruktioner"
++msgid "Pack VLIW instructions"
++msgstr "Benyt AltiVec-instruktioner"
+
+-#: config/m68k/m68k.opt:136
+-msgid "Enable ID based shared library"
++#: config/frv/frv.opt:169
++msgid "Enable setting GPRs to the result of comparisons"
+ msgstr ""
+
+-#: config/m68k/m68k.opt:140
+-msgid "Do not use the bit-field instructions"
+-msgstr "Benyt ikke bitfeltinstruktionerne"
++#: config/frv/frv.opt:173
++msgid "Change the amount of scheduler lookahead"
++msgstr ""
+
+-#: config/m68k/m68k.opt:144
+-msgid "Use normal calling convention"
+-msgstr "Brug normal kaldekonvention"
++#: config/frv/frv.opt:181
++msgid "Assume a large TLS segment"
++msgstr ""
+
+-#: config/m68k/m68k.opt:148
++#: config/frv/frv.opt:185
+ #, fuzzy
+-msgid "Consider type 'int' to be 32 bits wide"
+-msgstr "Lad typen 'int' være 32 bit bred"
++msgid "Do not assume a large TLS segment"
++msgstr "Antag ikke GAS"
+
+-#: config/m68k/m68k.opt:152
+-msgid "Generate pc-relative code"
+-msgstr "Generér pc-relativ kode"
++#: config/frv/frv.opt:190
++msgid "Cause gas to print tomcat statistics"
++msgstr ""
+
+-#: config/m68k/m68k.opt:156
+-msgid "Use different calling convention using 'rtd'"
+-msgstr "Benyt anden kaldekonvention vha. 'rtd'"
+-
+-#: config/m68k/m68k.opt:160 config/bfin/bfin.opt:61
+-msgid "Enable separate data segment"
++#: config/frv/frv.opt:195
++msgid "Link with the library-pic libraries"
+ msgstr ""
+
+-#: config/m68k/m68k.opt:164 config/bfin/bfin.opt:57
+-msgid "ID of shared library to build"
++#: config/frv/frv.opt:199
++msgid "Allow branches to be packed with other instructions"
+ msgstr ""
+
+-#: config/m68k/m68k.opt:168
+-#, fuzzy
+-msgid "Consider type 'int' to be 16 bits wide"
+-msgstr "Lad typen 'int' være 16 bit bred"
++#: config/i386/cygming.opt:23
++msgid "Create console application"
++msgstr "Opret konsolprogram"
+
+-#: config/m68k/m68k.opt:172
+-msgid "Generate code with library calls for floating point"
+-msgstr "Generér kode med bibliotekskald for kommatalsoperationer"
++#: config/i386/cygming.opt:27
++msgid "Use the Cygwin interface"
++msgstr "Benyt Cygwin-grænsefladen"
+
+-#: config/m68k/m68k.opt:176
+-msgid "Do not use unaligned memory references"
+-msgstr "Benyt ikke ikke-justerede hukommelsesreferencer"
++#: config/i386/cygming.opt:31
++msgid "Generate code for a DLL"
++msgstr "Generér kode til en DLL"
+
+-#: config/m68k/m68k.opt:180
+-#, fuzzy
+-msgid "Tune for the specified target CPU or architecture"
+-msgstr "Angiv navnet på målarkitekturen"
++#: config/i386/cygming.opt:35
++msgid "Ignore dllimport for functions"
++msgstr "Ignorér dllimport til funktioner"
+
+-#: config/m68k/ieee.opt:24 config/i386/i386.opt:95
+-msgid "Use IEEE math for fp comparisons"
+-msgstr "Brug IEEE-matematik til kommatalssammenligninger"
++#: config/i386/cygming.opt:39
++msgid "Use Mingw-specific thread support"
++msgstr "Benyt Mingw-specifik trådunderstøttelse"
+
+-#: config/i386/djgpp.opt:25
+-msgid "Ignored (obsolete)"
+-msgstr ""
++#: config/i386/cygming.opt:43
++msgid "Set Windows defines"
++msgstr "Angiv Windows-definitioner"
+
++#: config/i386/cygming.opt:47
++msgid "Create GUI application"
++msgstr "Opret grafisk program"
++
+ #: config/i386/i386.opt:23
+ msgid "sizeof(long double) is 16"
+ msgstr "sizeof(long double) er 16"
+@@ -12867,6 +12542,10 @@
+ msgid "Align destination of the string operations"
+ msgstr "Justér strengoperationernes destination"
+
++#: config/i386/i386.opt:59 config/spu/spu.opt:60 config/s390/s390.opt:31
++msgid "Generate code for given CPU"
++msgstr "Generér kode til en given processor"
++
+ #: config/i386/i386.opt:63
+ msgid "Use given assembler dialect"
+ msgstr "Benyt den givne maskinkodedialekt"
+@@ -12895,6 +12574,10 @@
+ msgid "Generate floating point mathematics using given instruction set"
+ msgstr "Generér kommatalsmatematik vha. givent instruktionssæt"
+
++#: config/i386/i386.opt:95 config/m68k/ieee.opt:24
++msgid "Use IEEE math for fp comparisons"
++msgstr "Brug IEEE-matematik til kommatalssammenligninger"
++
+ #: config/i386/i386.opt:99
+ msgid "Inline all known string operations"
+ msgstr "Indbyg alle kendte strengoperationer"
+@@ -13060,60 +12743,414 @@
+ msgid "Enable automatic generation of fused floating point multiply-add instructions"
+ msgstr "Generér ikke sammensatte gang/addér-instruktioner"
+
+-#: config/i386/cygming.opt:23
+-msgid "Create console application"
+-msgstr "Opret konsolprogram"
++#: config/i386/sco5.opt:24
++msgid "Generate ELF output"
++msgstr "Generér ELF-uddata"
+
+-#: config/i386/cygming.opt:27
+-msgid "Use the Cygwin interface"
+-msgstr "Benyt Cygwin-grænsefladen"
++#: config/i386/djgpp.opt:25
++msgid "Ignored (obsolete)"
++msgstr ""
+
+-#: config/i386/cygming.opt:31
+-msgid "Generate code for a DLL"
+-msgstr "Generér kode til en DLL"
++#: config/iq2000/iq2000.opt:23 config/mt/mt.opt:55
++msgid "Specify CPU for code generation purposes"
++msgstr "Angiv processor til kodegenereringsformål"
+
+-#: config/i386/cygming.opt:35
+-msgid "Ignore dllimport for functions"
+-msgstr "Ignorér dllimport til funktioner"
++#: config/iq2000/iq2000.opt:27
++msgid "Specify CPU for scheduling purposes"
++msgstr "Angiv processor til planlægningsformål"
+
+-#: config/i386/cygming.opt:39
+-msgid "Use Mingw-specific thread support"
+-msgstr "Benyt Mingw-specifik trådunderstøttelse"
++#: config/iq2000/iq2000.opt:31 config/mips/mips.opt:97
++msgid "Use ROM instead of RAM"
++msgstr "Benyt ROM i stedet for RAM"
+
+-#: config/i386/cygming.opt:43
+-msgid "Set Windows defines"
+-msgstr "Angiv Windows-definitioner"
++#: config/iq2000/iq2000.opt:35
++msgid "Use GP relative sdata/sbss sections"
++msgstr "Benyt GP-relative sdata/sbss-sektioner"
+
+-#: config/i386/cygming.opt:47
+-msgid "Create GUI application"
+-msgstr "Opret grafisk program"
++#: config/iq2000/iq2000.opt:40
++msgid "No default crt0.o"
++msgstr "Ingen standard crt0.o"
+
+-#: config/i386/sco5.opt:24
+-msgid "Generate ELF output"
+-msgstr "Generér ELF-uddata"
++#: config/iq2000/iq2000.opt:44 config/mips/mips.opt:265
++msgid "Put uninitialized constants in ROM (needs -membedded-data)"
++msgstr "Anbring konstanter uden startværdi i ROM (behøver -membedded-data)"
+
+-#: config/rs6000/aix41.opt:24 config/rs6000/aix64.opt:32
+-msgid "Support message passing with the Parallel Environment"
+-msgstr "Understøt meddelelsesoverbringelse med Parallel Environment"
++#: config/arm/arm.opt:23
++msgid "Specify an ABI"
++msgstr "Angiv en ABI"
+
+-#: config/rs6000/aix.opt:24 config/rs6000/rs6000.opt:147
+-msgid "Conform more closely to IBM XLC semantics"
++#: config/arm/arm.opt:27
++msgid "Generate a call to abort if a noreturn function returns"
++msgstr "Generér et kald til abort hvis en noreturn-funktion returnerer"
++
++#: config/arm/arm.opt:34
++msgid "Pass FP arguments in FP registers"
++msgstr "Videregiv kommatalsparametre i kommatalsregistre"
++
++#: config/arm/arm.opt:38
++msgid "Generate APCS conformant stack frames"
++msgstr "Generér APCS-overholdende stakrammer"
++
++#: config/arm/arm.opt:42
++msgid "Generate re-entrant, PIC code"
++msgstr "Generér genindtrædelig PIC-kode"
++
++#: config/arm/arm.opt:49 config/m68k/m68k.opt:96 config/score/score.opt:63
++msgid "Specify the name of the target architecture"
++msgstr "Angiv navnet på målarkitekturen"
++
++#: config/arm/arm.opt:56
++msgid "Assume target CPU is configured as big endian"
++msgstr "Antag at målprocessoren er konfigureret som storendet"
++
++#: config/arm/arm.opt:60
++msgid "Thumb: Assume non-static functions may be called from ARM code"
++msgstr "Thumb: Antag at ikke-statiske funktioner kan kaldes fra ARM-kode"
++
++#: config/arm/arm.opt:64
++msgid "Thumb: Assume function pointers may go to non-Thumb aware code"
++msgstr "Thumb: Antag at funktionshenvisninger kan gå til kode der ikke er opmærksom på Thumb"
++
++#: config/arm/arm.opt:68
++msgid "Cirrus: Place NOPs to avoid invalid instruction combinations"
+ msgstr ""
+
+-#: config/rs6000/darwin.opt:24 config/rs6000/sysv4.opt:132
++#: config/arm/arm.opt:72 config/bfin/bfin.opt:27
++msgid "Specify the name of the target CPU"
++msgstr "Angiv navnet på målprocessoren"
++
++#: config/arm/arm.opt:76
+ #, fuzzy
++msgid "Specify if floating point hardware should be used"
++msgstr "Angiv versionen af kommatalsemulatoren"
++
++#: config/arm/arm.opt:90
++#, fuzzy
++msgid "Specify the name of the target floating point hardware/format"
++msgstr "Angiv versionen af kommatalsemulatoren"
++
++#: config/arm/arm.opt:94
++msgid "Alias for -mfloat-abi=hard"
++msgstr ""
++
++#: config/arm/arm.opt:98
++msgid "Assume target CPU is configured as little endian"
++msgstr "Antag at målprocessoren er konfigureret som lilleendet"
++
++#: config/arm/arm.opt:102
++msgid "Generate call insns as indirect calls, if necessary"
++msgstr "Generér kaldeinstruktioner som indirekte kald, om nødvendigt"
++
++#: config/arm/arm.opt:106
++msgid "Specify the register to be used for PIC addressing"
++msgstr "Angiv det register der skal bruges til PIC-adressering"
++
++#: config/arm/arm.opt:110
++msgid "Store function names in object code"
++msgstr "Gem funktionsnavne i objektkode"
++
++#: config/arm/arm.opt:114
++#, fuzzy
++msgid "Permit scheduling of a function's prologue sequence"
++msgstr "Benyt stubbe til funktionsindledninger"
++
++#: config/arm/arm.opt:118
++msgid "Do not load the PIC register in function prologues"
++msgstr "Indlæs ikke PIC-registeret i funktionsbegyndelser"
++
++#: config/arm/arm.opt:122
++msgid "Alias for -mfloat-abi=soft"
++msgstr ""
++
++#: config/arm/arm.opt:126
++msgid "Specify the minimum bit alignment of structures"
++msgstr "Angiv den mindste bitjustering af strukturer"
++
++#: config/arm/arm.opt:130
++msgid "Compile for the Thumb not the ARM"
++msgstr "Oversæt til Thymb, ikke til ARM"
++
++#: config/arm/arm.opt:134
++msgid "Support calls between Thumb and ARM instruction sets"
++msgstr "Understøt kald mellem Thumb- og ARM-instruktionssættene"
++
++#: config/arm/arm.opt:138
++#, fuzzy
++msgid "Specify how to access the thread pointer"
++msgstr "Angiv navnet på målarkitekturen"
++
++#: config/arm/arm.opt:142
++msgid "Thumb: Generate (non-leaf) stack frames even if not needed"
++msgstr "Thumb: Generér (ikke-yderste) stakrammer selv hvis det ikke er nødvendigt"
++
++#: config/arm/arm.opt:146
++msgid "Thumb: Generate (leaf) stack frames even if not needed"
++msgstr "Thumb: Generér (yderste) stakrammer selv hvis det ikke er nødvendigt"
++
++#: config/arm/arm.opt:150
++#, fuzzy
++msgid "Tune code for the given processor"
++msgstr "Oversæt for v850-processoren"
++
++#: config/arm/arm.opt:154
++msgid "Assume big endian bytes, little endian words"
++msgstr "Antag storendede byte og lilleendede word"
++
++#: config/arm/arm.opt:158
++msgid "Use Neon quad-word (rather than double-word) registers for vectorization"
++msgstr ""
++
++#: config/arm/pe.opt:23
++msgid "Ignore dllimport attribute for functions"
++msgstr "Ignorér dllimport-egenskaben for funktioner"
++
++#: config/cris/linux.opt:27
++msgid "Together with -fpic and -fPIC, do not use GOTPLT references"
++msgstr "Benyt ikke GOTPLT-referencer sammen med -fpic og -fPIC"
++
++#: config/cris/aout.opt:27
++msgid "Compile for the MMU-less Etrax 100-based elinux system"
++msgstr "Oversæt for det Etrax 100-baserede elinux-system uden MMU"
++
++#: config/cris/aout.opt:33
++msgid "For elinux, request a specified stack-size for this program"
++msgstr "For elinux; forespørg en angivet stakstørrelse for dette program"
++
++#: config/cris/cris.opt:45
++#, fuzzy
++msgid "Work around bug in multiplication instruction"
++msgstr "Benyt ikke kommatalsinstruktioner til multiplikationsakkumulering"
++
++#: config/cris/cris.opt:51
++msgid "Compile for ETRAX 4 (CRIS v3)"
++msgstr "Oversæt for ETRAX 4 (CRIS v3)"
++
++#: config/cris/cris.opt:56
++msgid "Compile for ETRAX 100 (CRIS v8)"
++msgstr "Oversæt for ETRAX 100 (CRIS v8)"
++
++#: config/cris/cris.opt:64
++msgid "Emit verbose debug information in assembly code"
++msgstr "Udsend fejlanalyseringsinfo i maskinkode"
++
++#: config/cris/cris.opt:71
++msgid "Do not use condition codes from normal instructions"
++msgstr "Benyt ikke betingelseskoder fra normale instruktioner"
++
++#: config/cris/cris.opt:80
++msgid "Do not emit addressing modes with side-effect assignment"
++msgstr "Udsend ikke adresseringstilstande med bivirkningstildeling"
++
++#: config/cris/cris.opt:89
++msgid "Do not tune stack alignment"
++msgstr "Finjustér ikke stakjustering"
++
++#: config/cris/cris.opt:98
++msgid "Do not tune writable data alignment"
++msgstr "Finjustér ikke justering af skrivbare data"
++
++#: config/cris/cris.opt:107
++msgid "Do not tune code and read-only data alignment"
++msgstr "Finjustér ikke justering af kode og skrivebeskyttet data"
++
++#: config/cris/cris.opt:116
++msgid "Align code and data to 32 bits"
++msgstr "Justér kode og data til 32 bit"
++
++#: config/cris/cris.opt:133
++msgid "Don't align items in code or data"
++msgstr "Justér ikke elementer i kode eller data"
++
++#: config/cris/cris.opt:142
++msgid "Do not emit function prologue or epilogue"
++msgstr "Udsend ikke funktionsindledning eller -afslutning"
++
++#: config/cris/cris.opt:149
++msgid "Use the most feature-enabling options allowed by other options"
++msgstr "Benyt de tilvalg der giver de fleste faciliteter tilladt af andre tilvalg"
++
++#: config/cris/cris.opt:158
++msgid "Override -mbest-lib-options"
++msgstr "Overskriv -mbest-lib-options"
++
++#: config/cris/cris.opt:165
++msgid "Generate code for the specified chip or CPU version"
++msgstr "Generér kode til en given chip- eller processorversion"
++
++#: config/cris/cris.opt:169
++msgid "Tune alignment for the specified chip or CPU version"
++msgstr "Finjustér justering til en given chip- eller processorversion"
++
++#: config/cris/cris.opt:173
++msgid "Warn when a stackframe is larger than the specified size"
++msgstr "Advar når en stakramme er større end den angivne størrelse"
++
++#: config/avr/avr.opt:23
++#, fuzzy
++msgid "Use subroutines for function prologues and epilogues"
++msgstr "Benyt subrutiner for funktionsindledning/-afslutninger"
++
++#: config/avr/avr.opt:27
++#, fuzzy
++msgid "Select the target MCU"
++msgstr "Angiv navnet på målprocessoren"
++
++#: config/avr/avr.opt:34
++#, fuzzy
++msgid "Use an 8-bit 'int' type"
++msgstr "Benyt 64 bit int-type"
++
++#: config/avr/avr.opt:38
++msgid "Change the stack pointer without disabling interrupts"
++msgstr "Ændr stakhenvisningen uden at deaktivere afbrydelser"
++
++#: config/avr/avr.opt:42
++msgid "Do not generate tablejump insns"
++msgstr "Generér ikke tabelspringsinstruktioner"
++
++#: config/avr/avr.opt:52
++msgid "Use rjmp/rcall (limited range) on >8K devices"
++msgstr "Benyt rjmp/rcall (begrænset omfang) på >8K-enheder"
++
++#: config/avr/avr.opt:56
++msgid "Output instruction sizes to the asm file"
++msgstr "Anbring instruktionsstørrelser i asm-filen"
++
++#: config/avr/avr.opt:60
++msgid "Change only the low 8 bits of the stack pointer"
++msgstr "Ændr kun de laveste 8 bit af stakhenvisningen"
++
++#: config/avr/avr.opt:64
++#, fuzzy
++msgid "Relax branches"
++msgstr "Ingen forgreninger i %s %s\n"
++
++#: config/avr/avr.opt:68
++msgid "Make the linker relaxation machine assume that a program counter wrap-around occures."
++msgstr ""
++
++#: config/linux.opt:24
++#, fuzzy
++msgid "Use uClibc instead of GNU libc"
++msgstr "Benyt ROM i stedet for RAM"
++
++#: config/linux.opt:28
++#, fuzzy
++msgid "Use GNU libc instead of uClibc"
++msgstr "Benyt ROM i stedet for RAM"
++
++#: config/rs6000/sysv4.opt:24
++msgid "Select ABI calling convention"
++msgstr "Angiv ABI-kaldekonvention"
++
++#: config/rs6000/sysv4.opt:28
++msgid "Select method for sdata handling"
++msgstr "Angiv metode for sdata-håndtering"
++
++#: config/rs6000/sysv4.opt:36 config/rs6000/sysv4.opt:40
++msgid "Align to the base type of the bit-field"
++msgstr "Justér til grundtypen for bitfeltet"
++
++#: config/rs6000/sysv4.opt:45 config/rs6000/sysv4.opt:49
++msgid "Produce code relocatable at runtime"
++msgstr "Generér kode som kan flyttes på kørselstidspunktet"
++
++#: config/rs6000/sysv4.opt:53 config/rs6000/sysv4.opt:57
++msgid "Produce little endian code"
++msgstr "Generér lilleendet kode"
++
++#: config/rs6000/sysv4.opt:61 config/rs6000/sysv4.opt:65
++msgid "Produce big endian code"
++msgstr "Generér storendet kode"
++
++#: config/rs6000/sysv4.opt:70 config/rs6000/sysv4.opt:74
++#: config/rs6000/sysv4.opt:83 config/rs6000/sysv4.opt:100
++#: config/rs6000/sysv4.opt:128 config/rs6000/sysv4.opt:140
++msgid "no description yet"
++msgstr "ingen beskrivelse endnu"
++
++#: config/rs6000/sysv4.opt:78
++msgid "Assume all variable arg functions are prototyped"
++msgstr ""
++
++#: config/rs6000/sysv4.opt:87
++msgid "Use EABI"
++msgstr "Benyt EABI"
++
++#: config/rs6000/sysv4.opt:91
++#, fuzzy
++msgid "Allow bit-fields to cross word boundaries"
++msgstr "Tillad ikke bitfelter at krydse ordgrænser"
++
++#: config/rs6000/sysv4.opt:95
++msgid "Use alternate register names"
++msgstr "Benyt alternative registernavne"
++
++#: config/rs6000/sysv4.opt:104
++msgid "Link with libsim.a, libc.a and sim-crt0.o"
++msgstr "Sammenkæd med libsim.a, libc.a og sim-crt0.o"
++
++#: config/rs6000/sysv4.opt:108
++msgid "Link with libads.a, libc.a and crt0.o"
++msgstr "Sammenkæd med libads.a, libc.a og crt0.o"
++
++#: config/rs6000/sysv4.opt:112
++msgid "Link with libyk.a, libc.a and crt0.o"
++msgstr "Sammenkæd med libyk.a, libc.a og crt0.o"
++
++#: config/rs6000/sysv4.opt:116
++msgid "Link with libmvme.a, libc.a and crt0.o"
++msgstr "Sammenkæd med libmvme.a, libc.a og crt0.o"
++
++#: config/rs6000/sysv4.opt:120
++msgid "Set the PPC_EMB bit in the ELF flags header"
++msgstr "Sæt PPC_EMB-bitten i ELF-tilvalgshovedet"
++
++#: config/rs6000/sysv4.opt:124
++msgid "Use the WindISS simulator"
++msgstr "Benyt WindISS-simulatoren"
++
++#: config/rs6000/sysv4.opt:132 config/rs6000/darwin.opt:24
++#, fuzzy
+ msgid "Generate 64-bit code"
+ msgstr "Generér 64 bit x86-64-kode"
+
+-#: config/rs6000/darwin.opt:28 config/rs6000/sysv4.opt:136
++#: config/rs6000/sysv4.opt:136 config/rs6000/darwin.opt:28
+ #, fuzzy
+ msgid "Generate 32-bit code"
+ msgstr "Generér 64 bit i386-kode"
+
++#: config/rs6000/sysv4.opt:144
++#, fuzzy
++msgid "Generate code to use a non-exec PLT and GOT"
++msgstr "Generér kode til et Sun Sky-kort"
++
++#: config/rs6000/sysv4.opt:148
++#, fuzzy
++msgid "Generate code for old exec BSS PLT"
++msgstr "Generér kode til en Sun FPA"
++
++#: config/rs6000/linux64.opt:24
++#, fuzzy
++msgid "Call mcount for profiling before a function prologue"
++msgstr "Flyt ikke instruktioner til en funktions begyndelse"
++
+ #: config/rs6000/darwin.opt:32
+ msgid "Generate code suitable for executables (NOT shared libs)"
+ msgstr ""
+
++#: config/rs6000/aix64.opt:24
++msgid "Compile for 64-bit pointers"
++msgstr "Oversæt for 64 bit-henvisninger"
++
++#: config/rs6000/aix64.opt:28
++msgid "Compile for 32-bit pointers"
++msgstr "Oversæt for 32 bit-henvisninger"
++
++#: config/rs6000/aix64.opt:32 config/rs6000/aix41.opt:24
++msgid "Support message passing with the Parallel Environment"
++msgstr "Understøt meddelelsesoverbringelse med Parallel Environment"
++
+ #: config/rs6000/rs6000.opt:24
+ msgid "Use POWER instruction set"
+ msgstr "Benyt POWER-instruktionssættet"
+@@ -13240,6 +13277,10 @@
+ msgid "Return small structures in registers (SVR4 default)"
+ msgstr "Returnér små strukturer i registre (SVR4-standard)"
+
++#: config/rs6000/rs6000.opt:147 config/rs6000/aix.opt:24
++msgid "Conform more closely to IBM XLC semantics"
++msgstr ""
++
+ #: config/rs6000/rs6000.opt:151
+ #, fuzzy
+ msgid "Generate software reciprocal sqrt for better throughput"
+@@ -13311,6 +13352,10 @@
+ msgid "Specify ABI to use"
+ msgstr "Angiv ABI der skal bruges"
+
++#: config/rs6000/rs6000.opt:222 config/sparc/sparc.opt:91
++msgid "Use features of and schedule code for given CPU"
++msgstr "Benyt faciliteter fra og planlæg koden til en given processor"
++
+ #: config/rs6000/rs6000.opt:230
+ msgid "Select full, part, or no traceback table"
+ msgstr "Vælg komplet, partiel eller ingen tilbagesporingstabel"
+@@ -13349,100 +13394,77 @@
+ msgid "Specify scheduling priority for dispatch slot restricted insns"
+ msgstr ""
+
+-#: config/rs6000/aix64.opt:24
+-msgid "Compile for 64-bit pointers"
+-msgstr "Oversæt for 64 bit-henvisninger"
+-
+-#: config/rs6000/aix64.opt:28
+-msgid "Compile for 32-bit pointers"
+-msgstr "Oversæt for 32 bit-henvisninger"
+-
+-#: config/rs6000/linux64.opt:24
++#: config/v850/v850.opt:23
+ #, fuzzy
+-msgid "Call mcount for profiling before a function prologue"
+-msgstr "Flyt ikke instruktioner til en funktions begyndelse"
++msgid "Use registers r2 and r5"
++msgstr "Benyt ikke registrene r2 og r5"
+
+-#: config/rs6000/sysv4.opt:24
+-msgid "Select ABI calling convention"
+-msgstr "Angiv ABI-kaldekonvention"
++#: config/v850/v850.opt:27
++msgid "Use 4 byte entries in switch tables"
++msgstr "Benyt 4 byte-elementer i switch-tabeller"
+
+-#: config/rs6000/sysv4.opt:28
+-msgid "Select method for sdata handling"
+-msgstr "Angiv metode for sdata-håndtering"
++#: config/v850/v850.opt:31
++msgid "Enable backend debugging"
++msgstr "Aktivér bagendefejlanalyseringsinfo"
+
+-#: config/rs6000/sysv4.opt:36 config/rs6000/sysv4.opt:40
+-msgid "Align to the base type of the bit-field"
+-msgstr "Justér til grundtypen for bitfeltet"
++#: config/v850/v850.opt:35
++msgid "Do not use the callt instruction"
++msgstr "Benyt ikke callt-instruktionen"
+
+-#: config/rs6000/sysv4.opt:45 config/rs6000/sysv4.opt:49
+-msgid "Produce code relocatable at runtime"
+-msgstr "Generér kode som kan flyttes på kørselstidspunktet"
++#: config/v850/v850.opt:39
++msgid "Reuse r30 on a per function basis"
++msgstr "Genbrug r30 på et pr. funktionsgrundlag"
+
+-#: config/rs6000/sysv4.opt:53 config/rs6000/sysv4.opt:57
+-msgid "Produce little endian code"
+-msgstr "Generér lilleendet kode"
++#: config/v850/v850.opt:43
++msgid "Support Green Hills ABI"
++msgstr "Understøt Green Hills-ABI"
+
+-#: config/rs6000/sysv4.opt:61 config/rs6000/sysv4.opt:65
+-msgid "Produce big endian code"
+-msgstr "Generér storendet kode"
++#: config/v850/v850.opt:47
++msgid "Prohibit PC relative function calls"
++msgstr "Forbyd PC-relative funktionskald"
+
+-#: config/rs6000/sysv4.opt:70 config/rs6000/sysv4.opt:74
+-#: config/rs6000/sysv4.opt:83 config/rs6000/sysv4.opt:100
+-#: config/rs6000/sysv4.opt:128 config/rs6000/sysv4.opt:140
+-msgid "no description yet"
+-msgstr "ingen beskrivelse endnu"
++#: config/v850/v850.opt:51
++msgid "Use stubs for function prologues"
++msgstr "Benyt stubbe til funktionsindledninger"
+
+-#: config/rs6000/sysv4.opt:78
+-msgid "Assume all variable arg functions are prototyped"
+-msgstr ""
++#: config/v850/v850.opt:55
++msgid "Set the max size of data eligible for the SDA area"
++msgstr "Angiv den maks. størrelse af data til SDA-området"
+
+-#: config/rs6000/sysv4.opt:87
+-msgid "Use EABI"
+-msgstr "Benyt EABI"
++#: config/v850/v850.opt:59
++msgid "Enable the use of the short load instructions"
++msgstr "Aktivér brug af short load-instruktioner"
+
+-#: config/rs6000/sysv4.opt:91
+-#, fuzzy
+-msgid "Allow bit-fields to cross word boundaries"
+-msgstr "Tillad ikke bitfelter at krydse ordgrænser"
++#: config/v850/v850.opt:63
++msgid "Same as: -mep -mprolog-function"
++msgstr "Samme som: -mep -mprolog-function"
+
+-#: config/rs6000/sysv4.opt:95
+-msgid "Use alternate register names"
+-msgstr "Benyt alternative registernavne"
++#: config/v850/v850.opt:67
++msgid "Set the max size of data eligible for the TDA area"
++msgstr "Angiv den maks. størrelse af data til TDA-området"
+
+-#: config/rs6000/sysv4.opt:104
+-msgid "Link with libsim.a, libc.a and sim-crt0.o"
+-msgstr "Sammenkæd med libsim.a, libc.a og sim-crt0.o"
++#: config/v850/v850.opt:71
++msgid "Enforce strict alignment"
++msgstr "Gennemtving streng justering"
+
+-#: config/rs6000/sysv4.opt:108
+-msgid "Link with libads.a, libc.a and crt0.o"
+-msgstr "Sammenkæd med libads.a, libc.a og crt0.o"
++#: config/v850/v850.opt:78
++msgid "Compile for the v850 processor"
++msgstr "Oversæt for v850-processoren"
+
+-#: config/rs6000/sysv4.opt:112
+-msgid "Link with libyk.a, libc.a and crt0.o"
+-msgstr "Sammenkæd med libyk.a, libc.a og crt0.o"
+-
+-#: config/rs6000/sysv4.opt:116
+-msgid "Link with libmvme.a, libc.a and crt0.o"
+-msgstr "Sammenkæd med libmvme.a, libc.a og crt0.o"
+-
+-#: config/rs6000/sysv4.opt:120
+-msgid "Set the PPC_EMB bit in the ELF flags header"
+-msgstr "Sæt PPC_EMB-bitten i ELF-tilvalgshovedet"
+-
+-#: config/rs6000/sysv4.opt:124
+-msgid "Use the WindISS simulator"
+-msgstr "Benyt WindISS-simulatoren"
+-
+-#: config/rs6000/sysv4.opt:144
++#: config/v850/v850.opt:82
+ #, fuzzy
+-msgid "Generate code to use a non-exec PLT and GOT"
+-msgstr "Generér kode til et Sun Sky-kort"
++msgid "Compile for the v850e processor"
++msgstr "Oversæt for v850-processoren"
+
+-#: config/rs6000/sysv4.opt:148
++#: config/v850/v850.opt:86
+ #, fuzzy
+-msgid "Generate code for old exec BSS PLT"
+-msgstr "Generér kode til en Sun FPA"
++msgid "Compile for the v850e1 processor"
++msgstr "Oversæt for v850-processoren"
+
++#: config/v850/v850.opt:90
++msgid "Set the max size of data eligible for the ZDA area"
++msgstr "Angiv den maks. størrelse af data til ZDA-området"
++
+ #: config/spu/spu.opt:20
+ msgid "Emit warnings when run-time relocations are generated"
+ msgstr ""
+@@ -13484,69 +13506,286 @@
+ msgid "Generate code for 32 bit addressing"
+ msgstr "Generér kode til storendet"
+
+-#: config/mcore/mcore.opt:23
++#: config/vax/vax.opt:23 config/vax/vax.opt:27
++msgid "Target DFLOAT double precision code"
++msgstr ""
++
++#: config/vax/vax.opt:31 config/vax/vax.opt:35
+ #, fuzzy
+-msgid "Generate code for the M*Core M210"
+-msgstr "Generér kode til en M*Core M340"
++msgid "Generate GFLOAT double precision code"
++msgstr "Generér lilleendet kode"
+
+-#: config/mcore/mcore.opt:27
+-msgid "Generate code for the M*Core M340"
+-msgstr "Generér kode til en M*Core M340"
++#: config/vax/vax.opt:39
++#, fuzzy
++msgid "Generate code for GNU assembler (gas)"
++msgstr "Generér kode til GNU as"
+
+-#: config/mcore/mcore.opt:31
+-msgid "Set maximum alignment to 4"
+-msgstr "Sæt maksimal justering til 4"
++#: config/vax/vax.opt:43
++#, fuzzy
++msgid "Generate code for UNIX assembler"
++msgstr "Generér kode til GNU as"
+
+-#: config/mcore/mcore.opt:35
+-msgid "Force functions to be aligned to a 4 byte boundary"
+-msgstr "Tving funktioner til at blive justeret til en 4 byte-grænse"
++#: config/vax/vax.opt:47
++#, fuzzy
++msgid "Use VAXC structure conventions"
++msgstr "Benyt portable kaldekonventioner"
+
+-#: config/mcore/mcore.opt:39
+-msgid "Set maximum alignment to 8"
+-msgstr "Sæt maksimal justering til 8"
++#: config/lynx.opt:23
++msgid "Support legacy multi-threading"
++msgstr ""
+
+-#: config/mcore/mcore.opt:43 config/score/score.opt:23
++#: config/lynx.opt:27
+ #, fuzzy
+-msgid "Generate big-endian code"
+-msgstr "Generér storendet kode"
++msgid "Use shared libraries"
++msgstr "Brug hardwarekommatal"
+
+-#: config/mcore/mcore.opt:47
+-msgid "Emit call graph information"
+-msgstr "Udsend kaldegrafinfo"
++#: config/lynx.opt:31
++msgid "Support multi-threading"
++msgstr ""
+
+-#: config/mcore/mcore.opt:51
++#: config/stormy16/stormy16.opt:24
++msgid "Provide libraries for the simulator"
++msgstr ""
++
++#: config/h8300/h8300.opt:23
++msgid "Generate H8S code"
++msgstr "Generér H8S-kode"
++
++#: config/h8300/h8300.opt:27
+ #, fuzzy
+-msgid "Use the divide instruction"
+-msgstr "Benyt ikke divisionsinstruktionen"
++msgid "Generate H8SX code"
++msgstr "Generér H8S-kode"
+
+-#: config/mcore/mcore.opt:55
+-msgid "Inline constants if it can be done in 2 insns or less"
+-msgstr "Indlejr konstanter hvis det kan gøres med 2 instruktioner eller mindre"
++#: config/h8300/h8300.opt:31
++msgid "Generate H8S/2600 code"
++msgstr "Generér H8S/2600-kode"
+
+-#: config/mcore/mcore.opt:59 config/score/score.opt:27
++#: config/h8300/h8300.opt:35
++msgid "Make integers 32 bits wide"
++msgstr "Gør heltal 32 bit brede"
++
++#: config/h8300/h8300.opt:42
++msgid "Use registers for argument passing"
++msgstr "Benyt registre til parameteroverbringning"
++
++#: config/h8300/h8300.opt:46
++msgid "Consider access to byte sized memory slow"
++msgstr "Betragt tilgang til bytestørrelseshukommelse som langsomt"
++
++#: config/h8300/h8300.opt:50
++msgid "Enable linker relaxing"
++msgstr "Aktivér tolerant sammenkædning"
++
++#: config/h8300/h8300.opt:54
++msgid "Generate H8/300H code"
++msgstr "Generér H8/300H-kode"
++
++#: config/h8300/h8300.opt:58
++msgid "Enable the normal mode"
++msgstr "Aktivér den normale tilstand"
++
++#: config/h8300/h8300.opt:62
++msgid "Use H8/300 alignment rules"
++msgstr "Benyt H8/300-justeringsregler"
++
++#: config/s390/s390.opt:23
+ #, fuzzy
+-msgid "Generate little-endian code"
+-msgstr "Generér lilleendet kode"
++msgid "31 bit ABI"
++msgstr "Benyt 64 bit-API"
+
+-#: config/mcore/mcore.opt:67
++#: config/s390/s390.opt:27
+ #, fuzzy
+-msgid "Use arbitrary sized immediates in bit operations"
+-msgstr "Benyt ikke vilkårlige størrelsers umiddelbare værdier i bitoperationer"
++msgid "64 bit ABI"
++msgstr "Benyt 64 bit-API"
+
+-#: config/mcore/mcore.opt:71
+-msgid "Prefer word accesses over byte accesses"
+-msgstr "Foretræk ord-tilgange frem for byte-tilgange"
++#: config/s390/s390.opt:35
++msgid "Maintain backchain pointer"
++msgstr ""
+
+-#: config/mcore/mcore.opt:75
++#: config/s390/s390.opt:39
++msgid "Additional debug prints"
++msgstr "Udskriv ekstra fejlanalyseringsinfo"
++
++#: config/s390/s390.opt:43
++msgid "ESA/390 architecture"
++msgstr ""
++
++#: config/s390/s390.opt:47
+ #, fuzzy
+-msgid "Set the maximum amount for a single stack increment operation"
+-msgstr "Maksimalt antal for en enkelt stakforøgelsesoperation"
++msgid "Enable fused multiply/add instructions"
++msgstr "Generér sammensatte gang/addér-instruktioner"
+
+-#: config/mcore/mcore.opt:79
++#: config/s390/s390.opt:51
+ #, fuzzy
+-msgid "Always treat bitfields as int-sized"
+-msgstr "Behandl altid bitfelter som af størrelsen int"
++msgid "Enable decimal floating point hardware support"
++msgstr "hexadecimal kommatalskonstant skal have en eksponent"
+
++#: config/s390/s390.opt:55
++#, fuzzy
++msgid "Enable hardware floating point"
++msgstr "Benyt hardware-kommatal"
++
++#: config/s390/s390.opt:67
++msgid "Use packed stack layout"
++msgstr ""
++
++#: config/s390/s390.opt:71
++msgid "Use bras for executable < 64k"
++msgstr "Benyt bras til kørbar fil < 64k"
++
++#: config/s390/s390.opt:75
++#, fuzzy
++msgid "Disable hardware floating point"
++msgstr "Benyt hardware-kommatal"
++
++#: config/s390/s390.opt:79
++msgid "Set the max. number of bytes which has to be left to stack size before a trap instruction is triggered"
++msgstr ""
++
++#: config/s390/s390.opt:83
++msgid "Emit extra code in the function prologue in order to trap if the stack size exceeds the given limit"
++msgstr ""
++
++#: config/s390/s390.opt:91
++msgid "mvcle use"
++msgstr "Benyt mvcle"
++
++#: config/s390/s390.opt:95
++msgid "Warn if a function uses alloca or creates an array with dynamic size"
++msgstr ""
++
++#: config/s390/s390.opt:99
++msgid "Warn if a single function's framesize exceeds the given framesize"
++msgstr ""
++
++#: config/s390/s390.opt:103
++msgid "z/Architecture"
++msgstr ""
++
++#: config/s390/tpf.opt:23
++msgid "Enable TPF-OS tracing code"
++msgstr ""
++
++#: config/s390/tpf.opt:27
++#, fuzzy
++msgid "Specify main object for TPF-OS"
++msgstr "Angiv maksimalt antal iterationer for RPTS"
++
++#: config/darwin.opt:23
++#, fuzzy
++msgid "Generate code suitable for fast turn around debugging"
++msgstr "Generér kode til et Sun Sky-kort"
++
++#: config/darwin.opt:31
++msgid "The earliest MacOS X version on which this program will run"
++msgstr ""
++
++#: config/darwin.opt:35
++#, fuzzy
++msgid "Set sizeof(bool) to 1"
++msgstr "sizeof(long double) er 16"
++
++#: config/darwin.opt:39
++#, fuzzy
++msgid "Generate code for darwin loadable kernel extensions"
++msgstr "Generér kode til lilleendet"
++
++#: config/darwin.opt:43
++#, fuzzy
++msgid "Generate code for the kernel or loadable kernel extensions"
++msgstr "Generér kode til en given chip- eller processorversion"
++
++#: config/darwin.opt:47
++msgid "Add <dir> to the end of the system framework include path"
++msgstr ""
++
++#: config/mn10300/mn10300.opt:23
++msgid "Target the AM33 processor"
++msgstr "Målret mod AM33-processoren"
++
++#: config/mn10300/mn10300.opt:27
++#, fuzzy
++msgid "Target the AM33/2.0 processor"
++msgstr "Målret mod AM33-processoren"
++
++#: config/mn10300/mn10300.opt:31
++msgid "Work around hardware multiply bug"
++msgstr "Arbejd omkring hardware-multiplikationsfejl"
++
++#: config/mn10300/mn10300.opt:36
++msgid "Enable linker relaxations"
++msgstr "Aktivér tolerant sammenkædning"
++
++#: config/mn10300/mn10300.opt:40
++msgid "Return pointers in both a0 and d0"
++msgstr ""
++
++#: config/m32r/m32r.opt:23
++#, fuzzy
++msgid "Compile for the m32rx"
++msgstr "Oversæt til en 68HC12"
++
++#: config/m32r/m32r.opt:27
++#, fuzzy
++msgid "Compile for the m32r2"
++msgstr "Oversæt til en 68HC12"
++
++#: config/m32r/m32r.opt:31
++#, fuzzy
++msgid "Compile for the m32r"
++msgstr "Oversæt til en 68HC12"
++
++#: config/m32r/m32r.opt:35
++msgid "Align all loops to 32 byte boundary"
++msgstr "Justér alle løkker til 32 byte-grænserne"
++
++#: config/m32r/m32r.opt:39
++msgid "Prefer branches over conditional execution"
++msgstr "Foretræk forgrening frem for betinget udførelse"
++
++#: config/m32r/m32r.opt:43
++msgid "Give branches their default cost"
++msgstr ""
++
++#: config/m32r/m32r.opt:47
++msgid "Display compile time statistics"
++msgstr "Vis oversættelsesstatistikker"
++
++#: config/m32r/m32r.opt:51
++msgid "Specify cache flush function"
++msgstr "Angiv mellemlagertømningsfunktion"
++
++#: config/m32r/m32r.opt:55
++#, fuzzy
++msgid "Specify cache flush trap number"
++msgstr "Angiv mellemlagertømningsfunktion"
++
++#: config/m32r/m32r.opt:59
++msgid "Only issue one instruction per cycle"
++msgstr "Udfør kun én instruktion pr. cyklus"
++
++#: config/m32r/m32r.opt:63
++#, fuzzy
++msgid "Allow two instructions to be issued per cycle"
++msgstr "Udfør kun én instruktion pr. cyklus"
++
++#: config/m32r/m32r.opt:67
++msgid "Code size: small, medium or large"
++msgstr "Kodestørrelse: small, medium eller large"
++
++#: config/m32r/m32r.opt:71
++msgid "Don't call any cache flush functions"
++msgstr "Kald ikke nogen mellemlagertømningsfunktion"
++
++#: config/m32r/m32r.opt:75
++#, fuzzy
++msgid "Don't call any cache flush trap"
++msgstr "Kald ikke nogen mellemlagertømningsfunktion"
++
++#: config/m32r/m32r.opt:82
++msgid "Small data area: none, sdata, use"
++msgstr "Område til små data: none, sdata, use"
++
+ #: config/arc/arc.opt:32
+ msgid "Prepend the name of the cpu to all public symbol names"
+ msgstr ""
+@@ -13568,6 +13807,554 @@
+ msgid "Put read-only data in SECTION"
+ msgstr ""
+
++#: config/m32c/m32c.opt:24 config/mt/mt.opt:27 config/bfin/bfin.opt:23
++msgid "Use simulator runtime"
++msgstr ""
++
++#: config/m32c/m32c.opt:28
++#, fuzzy
++msgid "Compile code for R8C variants"
++msgstr "Oversæt for 64 bit-henvisninger"
++
++#: config/m32c/m32c.opt:32
++#, fuzzy
++msgid "Compile code for M16C variants"
++msgstr "Oversæt for 64 bit-henvisninger"
++
++#: config/m32c/m32c.opt:36
++#, fuzzy
++msgid "Compile code for M32CM variants"
++msgstr "Oversæt for 32 bit-henvisninger"
++
++#: config/m32c/m32c.opt:40
++#, fuzzy
++msgid "Compile code for M32C variants"
++msgstr "Oversæt for 32 bit-henvisninger"
++
++#: config/m32c/m32c.opt:44
++msgid "Number of memreg bytes (default: 16, range: 0..16)"
++msgstr ""
++
++#: config/pdp11/pdp11.opt:23
++msgid "Generate code for an 11/10"
++msgstr "Generér kode til en 11/10"
++
++#: config/pdp11/pdp11.opt:27
++msgid "Generate code for an 11/40"
++msgstr "Generér kode til en 11/40"
++
++#: config/pdp11/pdp11.opt:31
++msgid "Generate code for an 11/45"
++msgstr "Generér kode til en 11/45"
++
++#: config/pdp11/pdp11.opt:35
++#, fuzzy
++msgid "Use 16-bit abs patterns"
++msgstr "Benyt 64 bit-kommatalsregistre"
++
++#: config/pdp11/pdp11.opt:39
++#, fuzzy
++msgid "Return floating-point results in ac0 (fr0 in Unix assembler syntax)"
++msgstr "Returnér kommatalsresultater i ac0"
++
++#: config/pdp11/pdp11.opt:43
++msgid "Do not use inline patterns for copying memory"
++msgstr ""
++
++#: config/pdp11/pdp11.opt:47
++msgid "Use inline patterns for copying memory"
++msgstr ""
++
++#: config/pdp11/pdp11.opt:51
++msgid "Do not pretend that branches are expensive"
++msgstr ""
++
++#: config/pdp11/pdp11.opt:55
++msgid "Pretend that branches are expensive"
++msgstr ""
++
++#: config/pdp11/pdp11.opt:59
++#, fuzzy
++msgid "Use the DEC assembler syntax"
++msgstr "Benyt DEC-maskinkodesyntaks"
++
++#: config/pdp11/pdp11.opt:63
++msgid "Use 32 bit float"
++msgstr "Benyt 32 bit float"
++
++#: config/pdp11/pdp11.opt:67
++msgid "Use 64 bit float"
++msgstr "Benyt 64 bit float"
++
++#: config/pdp11/pdp11.opt:75
++msgid "Use 16 bit int"
++msgstr "Benyt 16 bit int"
++
++#: config/pdp11/pdp11.opt:79
++msgid "Use 32 bit int"
++msgstr "Benyt 32 bit int"
++
++#: config/pdp11/pdp11.opt:87
++msgid "Target has split I&D"
++msgstr "Målarkitektur har delt I&D"
++
++#: config/pdp11/pdp11.opt:91
++msgid "Use UNIX assembler syntax"
++msgstr "Benyt UNIX-maskinkodesyntaks"
++
++#: config/m68k/m68k.opt:23
++msgid "Generate code for a 520X"
++msgstr "Generér kode til en 520X"
++
++#: config/m68k/m68k.opt:27
++#, fuzzy
++msgid "Generate code for a 5206e"
++msgstr "Generér kode til en 520X"
++
++#: config/m68k/m68k.opt:31
++#, fuzzy
++msgid "Generate code for a 528x"
++msgstr "Generér kode til en 520X"
++
++#: config/m68k/m68k.opt:35
++#, fuzzy
++msgid "Generate code for a 5307"
++msgstr "Generér kode til en 520X"
++
++#: config/m68k/m68k.opt:39
++#, fuzzy
++msgid "Generate code for a 5407"
++msgstr "Generér kode til en 520X"
++
++#: config/m68k/m68k.opt:43 config/m68k/m68k.opt:104
++msgid "Generate code for a 68000"
++msgstr "Generér kode til en 68000"
++
++#: config/m68k/m68k.opt:47
++#, fuzzy
++msgid "Generate code for a 68010"
++msgstr "Generér kode til en 68020"
++
++#: config/m68k/m68k.opt:51 config/m68k/m68k.opt:108
++msgid "Generate code for a 68020"
++msgstr "Generér kode til en 68020"
++
++#: config/m68k/m68k.opt:55
++msgid "Generate code for a 68040, without any new instructions"
++msgstr "Generér kode til en 68040 uden nogen nye instruktioner"
++
++#: config/m68k/m68k.opt:59
++msgid "Generate code for a 68060, without any new instructions"
++msgstr "Generér kode til en 68060 uden nogen nye instruktioner"
++
++#: config/m68k/m68k.opt:63
++msgid "Generate code for a 68030"
++msgstr "Generér kode til en 68030"
++
++#: config/m68k/m68k.opt:67
++msgid "Generate code for a 68040"
++msgstr "Generér kode til en 68040"
++
++#: config/m68k/m68k.opt:71
++msgid "Generate code for a 68060"
++msgstr "Generér kode til en 68060"
++
++#: config/m68k/m68k.opt:75
++msgid "Generate code for a 68302"
++msgstr "Generér kode til en 68302"
++
++#: config/m68k/m68k.opt:79
++msgid "Generate code for a 68332"
++msgstr "Generér kode til en 68332"
++
++#: config/m68k/m68k.opt:84
++msgid "Generate code for a 68851"
++msgstr "Generér kode til en 68851"
++
++#: config/m68k/m68k.opt:88
++#, fuzzy
++msgid "Generate code that uses 68881 floating-point instructions"
++msgstr "Benyt hardware-kommatalsinstruktioner"
++
++#: config/m68k/m68k.opt:92
++msgid "Align variables on a 32-bit boundary"
++msgstr "Justér variabler til 32 bit-grænserne"
++
++#: config/m68k/m68k.opt:100
++msgid "Use the bit-field instructions"
++msgstr "Benyt bitfeltinstruktionerne"
++
++#: config/m68k/m68k.opt:112
++#, fuzzy
++msgid "Generate code for a ColdFire v4e"
++msgstr "Generér kode til en M*Core M340"
++
++#: config/m68k/m68k.opt:116
++#, fuzzy
++msgid "Specify the target CPU"
++msgstr "Angiv navnet på målprocessoren"
++
++#: config/m68k/m68k.opt:120
++msgid "Generate code for a cpu32"
++msgstr "Generér kode til en cpu32"
++
++#: config/m68k/m68k.opt:124
++#, fuzzy
++msgid "Use hardware division instructions on ColdFire"
++msgstr "Benyt hardware quad-kommatalsinstruktioner"
++
++#: config/m68k/m68k.opt:128
++#, fuzzy
++msgid "Generate code for a Fido A"
++msgstr "Generér kode til en Sun FPA"
++
++#: config/m68k/m68k.opt:132
++#, fuzzy
++msgid "Generate code which uses hardware floating point instructions"
++msgstr "Benyt hardware-kommatalsinstruktioner"
++
++#: config/m68k/m68k.opt:136
++msgid "Enable ID based shared library"
++msgstr ""
++
++#: config/m68k/m68k.opt:140
++msgid "Do not use the bit-field instructions"
++msgstr "Benyt ikke bitfeltinstruktionerne"
++
++#: config/m68k/m68k.opt:144
++msgid "Use normal calling convention"
++msgstr "Brug normal kaldekonvention"
++
++#: config/m68k/m68k.opt:148
++#, fuzzy
++msgid "Consider type 'int' to be 32 bits wide"
++msgstr "Lad typen 'int' være 32 bit bred"
++
++#: config/m68k/m68k.opt:152
++msgid "Generate pc-relative code"
++msgstr "Generér pc-relativ kode"
++
++#: config/m68k/m68k.opt:156
++msgid "Use different calling convention using 'rtd'"
++msgstr "Benyt anden kaldekonvention vha. 'rtd'"
++
++#: config/m68k/m68k.opt:160 config/bfin/bfin.opt:61
++msgid "Enable separate data segment"
++msgstr ""
++
++#: config/m68k/m68k.opt:164 config/bfin/bfin.opt:57
++msgid "ID of shared library to build"
++msgstr ""
++
++#: config/m68k/m68k.opt:168
++#, fuzzy
++msgid "Consider type 'int' to be 16 bits wide"
++msgstr "Lad typen 'int' være 16 bit bred"
++
++#: config/m68k/m68k.opt:172
++msgid "Generate code with library calls for floating point"
++msgstr "Generér kode med bibliotekskald for kommatalsoperationer"
++
++#: config/m68k/m68k.opt:176
++msgid "Do not use unaligned memory references"
++msgstr "Benyt ikke ikke-justerede hukommelsesreferencer"
++
++#: config/m68k/m68k.opt:180
++#, fuzzy
++msgid "Tune for the specified target CPU or architecture"
++msgstr "Angiv navnet på målarkitekturen"
++
++#: config/mmix/mmix.opt:24
++msgid "For intrinsics library: pass all parameters in registers"
++msgstr "For indbyggede biblioteker: overbring alle parametre i registre"
++
++#: config/mmix/mmix.opt:28
++msgid "Use register stack for parameters and return value"
++msgstr "Benyt registerstakken til parametre og returværdier"
++
++#: config/mmix/mmix.opt:32
++msgid "Use call-clobbered registers for parameters and return value"
++msgstr "Benyt kaldeoptagne registre til parametre og returværdier"
++
++#: config/mmix/mmix.opt:37
++msgid "Use epsilon-respecting floating point compare instructions"
++msgstr "Benyt epsilon-respekterende instruktioner til kommatalssammenligning"
++
++#: config/mmix/mmix.opt:41
++msgid "Use zero-extending memory loads, not sign-extending ones"
++msgstr "Benyt nul-udvidende hukommelsesindlæsninger, ikke fortegnsudvidende"
++
++#: config/mmix/mmix.opt:45
++msgid "Generate divide results with reminder having the same sign as the divisor (not the dividend)"
++msgstr "Generér divisionsresultater med rest som har det samme fortegn som nævneren (ikke tælleren)"
++
++#: config/mmix/mmix.opt:49
++msgid "Prepend global symbols with \":\" (for use with PREFIX)"
++msgstr "Tilføj \":\" til starten af globale symboler (til brug sammen med PREFIX)"
++
++#: config/mmix/mmix.opt:53
++msgid "Do not provide a default start-address 0x100 of the program"
++msgstr "Tilbyd ikke standardstartadressen 0x100 for programmet"
++
++#: config/mmix/mmix.opt:57
++msgid "Link to emit program in ELF format (rather than mmo)"
++msgstr "Lad sammenkædningen udsende programmet i ELF-format (i stedet for mmo)"
++
++#: config/mmix/mmix.opt:61
++msgid "Use P-mnemonics for branches statically predicted as taken"
++msgstr "Benyt P-aliaser for forgreninger som statistisk forudses at blive taget"
++
++#: config/mmix/mmix.opt:65
++msgid "Don't use P-mnemonics for branches"
++msgstr "Benyt ikke P-aliaser for forgreninger"
++
++#: config/mmix/mmix.opt:79
++msgid "Use addresses that allocate global registers"
++msgstr "Benyt adresser der allokerer globale registre"
++
++#: config/mmix/mmix.opt:83
++msgid "Do not use addresses that allocate global registers"
++msgstr "Benyt ikke adresser der allokerer globale registre"
++
++#: config/mmix/mmix.opt:87
++msgid "Generate a single exit point for each function"
++msgstr "Generér et enkelt afslutningspunkt for hver funktion"
++
++#: config/mmix/mmix.opt:91
++msgid "Do not generate a single exit point for each function"
++msgstr "Generér ikke et enkelt afslutningspunkt for hver funktion"
++
++#: config/mmix/mmix.opt:95
++msgid "Set start-address of the program"
++msgstr "Angiv startadressen for programmet"
++
++#: config/mmix/mmix.opt:99
++msgid "Set start-address of data"
++msgstr "Angiv startadressen for data"
++
++#: config/score/score.opt:31
++#, fuzzy
++msgid "Disable bcnz instruction"
++msgstr "Deaktivér brug af DB-instruktioner"
++
++#: config/score/score.opt:35
++#, fuzzy
++msgid "Enable unaligned load/store instruction"
++msgstr "Aktivér brug af DB-instruktioner"
++
++#: config/score/score.opt:39
++msgid "Support SCORE 5 ISA"
++msgstr ""
++
++#: config/score/score.opt:43
++msgid "Support SCORE 5U ISA"
++msgstr ""
++
++#: config/score/score.opt:47
++msgid "Support SCORE 7 ISA"
++msgstr ""
++
++#: config/score/score.opt:51
++msgid "Support SCORE 7D ISA"
++msgstr ""
++
++#: config/score/score.opt:55
++msgid "Support SCORE 3 ISA"
++msgstr ""
++
++#: config/score/score.opt:59
++msgid "Support SCORE 3d ISA"
++msgstr ""
++
++#: config/crx/crx.opt:23
++#, fuzzy
++msgid "Support multiply accumulate instructions"
++msgstr "Benyt kommatalsinstruktioner til multiplikationsakkumulering"
++
++#: config/crx/crx.opt:27
++#, fuzzy
++msgid "Do not use push to store function arguments"
++msgstr "Brug ikke push-instruktioner til at gemme udgående parametre"
++
++#: config/crx/crx.opt:31
++msgid "Restrict doloop to the given nesting level"
++msgstr ""
++
++#: config/mt/mt.opt:23
++msgid "Use byte loads and stores when generating code."
++msgstr ""
++
++#: config/mt/mt.opt:31
++msgid "Do not include crt0.o in the startup files"
++msgstr ""
++
++#: config/mt/mt.opt:35 config/mt/mt.opt:39 config/mt/mt.opt:43
++#: config/mt/mt.opt:47 config/mt/mt.opt:51
++#, fuzzy
++msgid "Internal debug switch"
++msgstr "ukendt tilvalg -mdebug-%s"
++
++#: config/m68hc11/m68hc11.opt:23 config/m68hc11/m68hc11.opt:31
++msgid "Compile for a 68HC11"
++msgstr "Oversæt til en 68HC11"
++
++#: config/m68hc11/m68hc11.opt:27 config/m68hc11/m68hc11.opt:35
++msgid "Compile for a 68HC12"
++msgstr "Oversæt til en 68HC12"
++
++#: config/m68hc11/m68hc11.opt:41 config/m68hc11/m68hc11.opt:45
++msgid "Compile for a 68HCS12"
++msgstr "Oversæt til en 68HCS12"
++
++#: config/m68hc11/m68hc11.opt:49
++msgid "Auto pre/post decrement increment allowed"
++msgstr "Selvformindskelse tilladt"
++
++#: config/m68hc11/m68hc11.opt:53
++msgid "Min/max instructions allowed"
++msgstr "Min/max-instruktioner tilladt"
++
++#: config/m68hc11/m68hc11.opt:57
++msgid "Use call and rtc for function calls and returns"
++msgstr "Benyt call og rtc til funktionskald og returneringer"
++
++#: config/m68hc11/m68hc11.opt:61
++msgid "Auto pre/post decrement increment not allowed"
++msgstr "Selvforøgelse ikke tilladt"
++
++#: config/m68hc11/m68hc11.opt:65
++msgid "Use jsr and rts for function calls and returns"
++msgstr "Benyt jsr og rts til funktionskald og returneringer"
++
++#: config/m68hc11/m68hc11.opt:69
++msgid "Min/max instructions not allowed"
++msgstr "Min/max-instruktioner ikke tilladt"
++
++#: config/m68hc11/m68hc11.opt:73
++msgid "Use direct addressing mode for soft registers"
++msgstr "Benyt direkte adresseringstilstand til bløde registre"
++
++#: config/m68hc11/m68hc11.opt:77
++msgid "Compile with 32-bit integer mode"
++msgstr "Oversæt med 32 bit-heltalstilstand"
++
++#: config/m68hc11/m68hc11.opt:82
++msgid "Specify the register allocation order"
++msgstr "Angiv registerallokeringsordnen"
++
++#: config/m68hc11/m68hc11.opt:86
++msgid "Do not use direct addressing mode for soft registers"
++msgstr "Benyt ikke direkte adresseringstilstand til bløde registre"
++
++#: config/m68hc11/m68hc11.opt:90
++msgid "Compile with 16-bit integer mode"
++msgstr "Oversæt med 16 bit-heltalstilstand"
++
++#: config/m68hc11/m68hc11.opt:94
++msgid "Indicate the number of soft registers available"
++msgstr "Angiv antallet af bløde registre der er til rådighed"
++
++#: config/fr30/fr30.opt:23
++msgid "Assume small address space"
++msgstr "Antag lille adresserum"
++
++#: config/sparc/little-endian.opt:23
++#, fuzzy
++msgid "Generate code for little-endian"
++msgstr "Generér kode til lilleendet"
++
++#: config/sparc/little-endian.opt:27
++#, fuzzy
++msgid "Generate code for big-endian"
++msgstr "Generér kode til storendet"
++
++#: config/sparc/sparc.opt:23 config/sparc/sparc.opt:27
++#, fuzzy
++msgid "Use hardware FP"
++msgstr "Brug hardwarekommatal"
++
++#: config/sparc/sparc.opt:31
++#, fuzzy
++msgid "Do not use hardware FP"
++msgstr "Brug ikke hardwarekommatal"
++
++#: config/sparc/sparc.opt:35
++msgid "Assume possible double misalignment"
++msgstr "Antag at double-variabler kan være ujusterede"
++
++#: config/sparc/sparc.opt:39
++msgid "Pass -assert pure-text to linker"
++msgstr "Overbring -assert pure-text til sammenkæderen"
++
++#: config/sparc/sparc.opt:43
++msgid "Use ABI reserved registers"
++msgstr "Benyt ABI-reserverede registre"
++
++#: config/sparc/sparc.opt:47
++#, fuzzy
++msgid "Use hardware quad FP instructions"
++msgstr "Benyt hardware quad-kommatalsinstruktioner"
++
++#: config/sparc/sparc.opt:51
++msgid "Do not use hardware quad fp instructions"
++msgstr "Benyt ikke hardware quad-kommatalsinstruktioner"
++
++#: config/sparc/sparc.opt:55
++#, fuzzy
++msgid "Compile for V8+ ABI"
++msgstr "Oversæt for v8plus-ABI"
++
++#: config/sparc/sparc.opt:59
++#, fuzzy
++msgid "Use UltraSPARC Visual Instruction Set extensions"
++msgstr "Benyt Visual Instruction Set"
++
++#: config/sparc/sparc.opt:63
++msgid "Pointers are 64-bit"
++msgstr "Henvisninger er 64 bit"
++
++#: config/sparc/sparc.opt:67
++msgid "Pointers are 32-bit"
++msgstr "Henvisninger er 32 bit"
++
++#: config/sparc/sparc.opt:71
++msgid "Use 64-bit ABI"
++msgstr "Benyt 64 bit-API"
++
++#: config/sparc/sparc.opt:75
++msgid "Use 32-bit ABI"
++msgstr "Benyt 32 bit-API"
++
++#: config/sparc/sparc.opt:79
++msgid "Use stack bias"
++msgstr "Benyt stakafsæt"
++
++#: config/sparc/sparc.opt:83
++msgid "Use structs on stronger alignment for double-word copies"
++msgstr "Benyt strukturer på stærkere justering til dobbelt-ord kopier"
++
++#: config/sparc/sparc.opt:87
++msgid "Optimize tail call instructions in assembler and linker"
++msgstr "Optimér halekaldsinstruktioner i maskinkodeoversætteren og sammenkæderen"
++
++#: config/sparc/sparc.opt:99
++#, fuzzy
++msgid "Use given SPARC-V9 code model"
++msgstr "Benyt given SPARC-kodemodel"
++
++#: config/sparc/sparc.opt:103
++msgid "Enable strict 32-bit psABI struct return checking."
++msgstr ""
++
++#: config/sh/superh.opt:6
++msgid "Board name [and memory region]."
++msgstr ""
++
++#: config/sh/superh.opt:10
++#, fuzzy
++msgid "Runtime name."
++msgstr "Intet inddatafilnavn."
++
+ #: config/sh/sh.opt:44
+ #, fuzzy
+ msgid "Generate SH1 code"
+@@ -13886,489 +14673,21 @@
+ msgid "Pretend a branch-around-a-move is a conditional move."
+ msgstr ""
+
+-#: config/sh/superh.opt:6
+-msgid "Board name [and memory region]."
+-msgstr ""
+-
+-#: config/sh/superh.opt:10
++#: config/vxworks.opt:24
+ #, fuzzy
+-msgid "Runtime name."
+-msgstr "Intet inddatafilnavn."
++msgid "Assume the VxWorks RTP environment"
++msgstr "Antag normalt C-kørselsmiljø"
+
+-#: config/arm/arm.opt:23
+-msgid "Specify an ABI"
+-msgstr "Angiv en ABI"
+-
+-#: config/arm/arm.opt:27
+-msgid "Generate a call to abort if a noreturn function returns"
+-msgstr "Generér et kald til abort hvis en noreturn-funktion returnerer"
+-
+-#: config/arm/arm.opt:34
+-msgid "Pass FP arguments in FP registers"
+-msgstr "Videregiv kommatalsparametre i kommatalsregistre"
+-
+-#: config/arm/arm.opt:38
+-msgid "Generate APCS conformant stack frames"
+-msgstr "Generér APCS-overholdende stakrammer"
+-
+-#: config/arm/arm.opt:42
+-msgid "Generate re-entrant, PIC code"
+-msgstr "Generér genindtrædelig PIC-kode"
+-
+-#: config/arm/arm.opt:56
+-msgid "Assume target CPU is configured as big endian"
+-msgstr "Antag at målprocessoren er konfigureret som storendet"
+-
+-#: config/arm/arm.opt:60
+-msgid "Thumb: Assume non-static functions may be called from ARM code"
+-msgstr "Thumb: Antag at ikke-statiske funktioner kan kaldes fra ARM-kode"
+-
+-#: config/arm/arm.opt:64
+-msgid "Thumb: Assume function pointers may go to non-Thumb aware code"
+-msgstr "Thumb: Antag at funktionshenvisninger kan gå til kode der ikke er opmærksom på Thumb"
+-
+-#: config/arm/arm.opt:68
+-msgid "Cirrus: Place NOPs to avoid invalid instruction combinations"
+-msgstr ""
+-
+-#: config/arm/arm.opt:72 config/bfin/bfin.opt:27
+-msgid "Specify the name of the target CPU"
+-msgstr "Angiv navnet på målprocessoren"
+-
+-#: config/arm/arm.opt:76
++#: config/vxworks.opt:31
+ #, fuzzy
+-msgid "Specify if floating point hardware should be used"
+-msgstr "Angiv versionen af kommatalsemulatoren"
++msgid "Assume the VxWorks vThreads environment"
++msgstr "Antag normalt C-kørselsmiljø"
+
+-#: config/arm/arm.opt:90
++#: config/mips/sdemtk.opt:23
+ #, fuzzy
+-msgid "Specify the name of the target floating point hardware/format"
+-msgstr "Angiv versionen af kommatalsemulatoren"
++msgid "Prevent the use of all floating-point operations"
++msgstr "booleske registre er påkrævet til kommatalsindstillingen"
+
+-#: config/arm/arm.opt:94
+-msgid "Alias for -mfloat-abi=hard"
+-msgstr ""
+-
+-#: config/arm/arm.opt:98
+-msgid "Assume target CPU is configured as little endian"
+-msgstr "Antag at målprocessoren er konfigureret som lilleendet"
+-
+-#: config/arm/arm.opt:102
+-msgid "Generate call insns as indirect calls, if necessary"
+-msgstr "Generér kaldeinstruktioner som indirekte kald, om nødvendigt"
+-
+-#: config/arm/arm.opt:106
+-msgid "Specify the register to be used for PIC addressing"
+-msgstr "Angiv det register der skal bruges til PIC-adressering"
+-
+-#: config/arm/arm.opt:110
+-msgid "Store function names in object code"
+-msgstr "Gem funktionsnavne i objektkode"
+-
+-#: config/arm/arm.opt:114
+-#, fuzzy
+-msgid "Permit scheduling of a function's prologue sequence"
+-msgstr "Benyt stubbe til funktionsindledninger"
+-
+-#: config/arm/arm.opt:118
+-msgid "Do not load the PIC register in function prologues"
+-msgstr "Indlæs ikke PIC-registeret i funktionsbegyndelser"
+-
+-#: config/arm/arm.opt:122
+-msgid "Alias for -mfloat-abi=soft"
+-msgstr ""
+-
+-#: config/arm/arm.opt:126
+-msgid "Specify the minimum bit alignment of structures"
+-msgstr "Angiv den mindste bitjustering af strukturer"
+-
+-#: config/arm/arm.opt:130
+-msgid "Compile for the Thumb not the ARM"
+-msgstr "Oversæt til Thymb, ikke til ARM"
+-
+-#: config/arm/arm.opt:134
+-msgid "Support calls between Thumb and ARM instruction sets"
+-msgstr "Understøt kald mellem Thumb- og ARM-instruktionssættene"
+-
+-#: config/arm/arm.opt:138
+-#, fuzzy
+-msgid "Specify how to access the thread pointer"
+-msgstr "Angiv navnet på målarkitekturen"
+-
+-#: config/arm/arm.opt:142
+-msgid "Thumb: Generate (non-leaf) stack frames even if not needed"
+-msgstr "Thumb: Generér (ikke-yderste) stakrammer selv hvis det ikke er nødvendigt"
+-
+-#: config/arm/arm.opt:146
+-msgid "Thumb: Generate (leaf) stack frames even if not needed"
+-msgstr "Thumb: Generér (yderste) stakrammer selv hvis det ikke er nødvendigt"
+-
+-#: config/arm/arm.opt:150
+-#, fuzzy
+-msgid "Tune code for the given processor"
+-msgstr "Oversæt for v850-processoren"
+-
+-#: config/arm/arm.opt:154
+-msgid "Assume big endian bytes, little endian words"
+-msgstr "Antag storendede byte og lilleendede word"
+-
+-#: config/arm/arm.opt:158
+-msgid "Use Neon quad-word (rather than double-word) registers for vectorization"
+-msgstr ""
+-
+-#: config/arm/pe.opt:23
+-msgid "Ignore dllimport attribute for functions"
+-msgstr "Ignorér dllimport-egenskaben for funktioner"
+-
+-#: config/pdp11/pdp11.opt:23
+-msgid "Generate code for an 11/10"
+-msgstr "Generér kode til en 11/10"
+-
+-#: config/pdp11/pdp11.opt:27
+-msgid "Generate code for an 11/40"
+-msgstr "Generér kode til en 11/40"
+-
+-#: config/pdp11/pdp11.opt:31
+-msgid "Generate code for an 11/45"
+-msgstr "Generér kode til en 11/45"
+-
+-#: config/pdp11/pdp11.opt:35
+-#, fuzzy
+-msgid "Use 16-bit abs patterns"
+-msgstr "Benyt 64 bit-kommatalsregistre"
+-
+-#: config/pdp11/pdp11.opt:39
+-#, fuzzy
+-msgid "Return floating-point results in ac0 (fr0 in Unix assembler syntax)"
+-msgstr "Returnér kommatalsresultater i ac0"
+-
+-#: config/pdp11/pdp11.opt:43
+-msgid "Do not use inline patterns for copying memory"
+-msgstr ""
+-
+-#: config/pdp11/pdp11.opt:47
+-msgid "Use inline patterns for copying memory"
+-msgstr ""
+-
+-#: config/pdp11/pdp11.opt:51
+-msgid "Do not pretend that branches are expensive"
+-msgstr ""
+-
+-#: config/pdp11/pdp11.opt:55
+-msgid "Pretend that branches are expensive"
+-msgstr ""
+-
+-#: config/pdp11/pdp11.opt:59
+-#, fuzzy
+-msgid "Use the DEC assembler syntax"
+-msgstr "Benyt DEC-maskinkodesyntaks"
+-
+-#: config/pdp11/pdp11.opt:63
+-msgid "Use 32 bit float"
+-msgstr "Benyt 32 bit float"
+-
+-#: config/pdp11/pdp11.opt:67
+-msgid "Use 64 bit float"
+-msgstr "Benyt 64 bit float"
+-
+-#: config/pdp11/pdp11.opt:75
+-msgid "Use 16 bit int"
+-msgstr "Benyt 16 bit int"
+-
+-#: config/pdp11/pdp11.opt:79
+-msgid "Use 32 bit int"
+-msgstr "Benyt 32 bit int"
+-
+-#: config/pdp11/pdp11.opt:87
+-msgid "Target has split I&D"
+-msgstr "Målarkitektur har delt I&D"
+-
+-#: config/pdp11/pdp11.opt:91
+-msgid "Use UNIX assembler syntax"
+-msgstr "Benyt UNIX-maskinkodesyntaks"
+-
+-#: config/avr/avr.opt:23
+-#, fuzzy
+-msgid "Use subroutines for function prologues and epilogues"
+-msgstr "Benyt subrutiner for funktionsindledning/-afslutninger"
+-
+-#: config/avr/avr.opt:27
+-#, fuzzy
+-msgid "Select the target MCU"
+-msgstr "Angiv navnet på målprocessoren"
+-
+-#: config/avr/avr.opt:34
+-#, fuzzy
+-msgid "Use an 8-bit 'int' type"
+-msgstr "Benyt 64 bit int-type"
+-
+-#: config/avr/avr.opt:38
+-msgid "Change the stack pointer without disabling interrupts"
+-msgstr "Ændr stakhenvisningen uden at deaktivere afbrydelser"
+-
+-#: config/avr/avr.opt:42
+-msgid "Do not generate tablejump insns"
+-msgstr "Generér ikke tabelspringsinstruktioner"
+-
+-#: config/avr/avr.opt:52
+-msgid "Use rjmp/rcall (limited range) on >8K devices"
+-msgstr "Benyt rjmp/rcall (begrænset omfang) på >8K-enheder"
+-
+-#: config/avr/avr.opt:56
+-msgid "Output instruction sizes to the asm file"
+-msgstr "Anbring instruktionsstørrelser i asm-filen"
+-
+-#: config/avr/avr.opt:60
+-msgid "Change only the low 8 bits of the stack pointer"
+-msgstr "Ændr kun de laveste 8 bit af stakhenvisningen"
+-
+-#: config/crx/crx.opt:23
+-#, fuzzy
+-msgid "Support multiply accumulate instructions"
+-msgstr "Benyt kommatalsinstruktioner til multiplikationsakkumulering"
+-
+-#: config/crx/crx.opt:27
+-#, fuzzy
+-msgid "Do not use push to store function arguments"
+-msgstr "Brug ikke push-instruktioner til at gemme udgående parametre"
+-
+-#: config/crx/crx.opt:31
+-msgid "Restrict doloop to the given nesting level"
+-msgstr ""
+-
+-#: config/c4x/c4x.opt:23
+-msgid "Generate code for C30 CPU"
+-msgstr "Generér kode til en C30-processor"
+-
+-#: config/c4x/c4x.opt:27
+-msgid "Generate code for C31 CPU"
+-msgstr "Generér kode til en C31-processor"
+-
+-#: config/c4x/c4x.opt:31
+-msgid "Generate code for C32 CPU"
+-msgstr "Generér kode til en C32-processor"
+-
+-#: config/c4x/c4x.opt:35
+-msgid "Generate code for C33 CPU"
+-msgstr "Generér kode til en C33-processor"
+-
+-#: config/c4x/c4x.opt:39
+-msgid "Generate code for C40 CPU"
+-msgstr "Generér kode til en C40-processor"
+-
+-#: config/c4x/c4x.opt:43
+-msgid "Generate code for C44 CPU"
+-msgstr "Generér kode til en C44-processor"
+-
+-#: config/c4x/c4x.opt:47
+-msgid "Assume that pointers may be aliased"
+-msgstr "Antag at henvisninger kan være aliaser"
+-
+-#: config/c4x/c4x.opt:51
+-msgid "Big memory model"
+-msgstr "Stor hukommelsesmodel"
+-
+-#: config/c4x/c4x.opt:55
+-msgid "Use the BK register as a general purpose register"
+-msgstr "Benyt BK-registeret som et alment register"
+-
+-#: config/c4x/c4x.opt:59
+-#, fuzzy
+-msgid "Generate code for CPU"
+-msgstr "Generér kode til en C30-processor"
+-
+-#: config/c4x/c4x.opt:63
+-msgid "Enable use of DB instruction"
+-msgstr "Aktivér brug af DB-instruktioner"
+-
+-#: config/c4x/c4x.opt:67
+-msgid "Enable debugging"
+-msgstr "Aktivér fejlanalyseringsinfo"
+-
+-#: config/c4x/c4x.opt:71
+-msgid "Enable new features under development"
+-msgstr "Aktivér nye faciliteter under udvikling"
+-
+-#: config/c4x/c4x.opt:75
+-msgid "Use fast but approximate float to integer conversion"
+-msgstr "Benyt hurtig, men approksimativ konvertering fra komma- til heltal"
+-
+-#: config/c4x/c4x.opt:79
+-msgid "Force RTL generation to emit valid 3 operand insns"
+-msgstr "Tving RTL-generering til at udsende gyldig 3-operandinstruktioner"
+-
+-# RETMIG: hvad betyder hoisting? (det har noget med jage indlæsning af dem ud af registre)
+-#: config/c4x/c4x.opt:83
+-msgid "Force constants into registers to improve hoisting"
+-msgstr "Tving konstanter ind i registre for at forbedre hoisting"
+-
+-# RETMIG: hvad står ISR for?
+-#: config/c4x/c4x.opt:87 config/c4x/c4x.opt:111
+-msgid "Save DP across ISR in small memory model"
+-msgstr "Gem DP over ISR i lille hukommelsesmodel"
+-
+-#: config/c4x/c4x.opt:91
+-msgid "Allow unsigned iteration counts for RPTB/DB"
+-msgstr "Tillad iterationstællere uden fortegn for RPTB/DB"
+-
+-#: config/c4x/c4x.opt:95
+-msgid "Pass arguments on the stack"
+-msgstr "Overbring parametre på stakken"
+-
+-#: config/c4x/c4x.opt:99
+-msgid "Use MPYI instruction for C3x"
+-msgstr "Benyt MPYI-instruktionen til C3x"
+-
+-#: config/c4x/c4x.opt:103
+-msgid "Enable parallel instructions"
+-msgstr "Aktivér parallelle instruktioner"
+-
+-#: config/c4x/c4x.opt:107
+-msgid "Enable MPY||ADD and MPY||SUB instructions"
+-msgstr "Aktivér instruktionerne MPY||ADD og MPY||SUB"
+-
+-#: config/c4x/c4x.opt:115
+-msgid "Preserve all 40 bits of FP reg across call"
+-msgstr "Bevar alle 40 bit af kommatalsregisteret på tværs af kald"
+-
+-#: config/c4x/c4x.opt:119
+-msgid "Pass arguments in registers"
+-msgstr "Overbring parametre i registre"
+-
+-#: config/c4x/c4x.opt:123
+-msgid "Enable use of RTPB instruction"
+-msgstr "Aktivér brug af RTPB-instruktionen"
+-
+-#: config/c4x/c4x.opt:127
+-msgid "Enable use of RTPS instruction"
+-msgstr "Aktivér brug af RTPS-instruktionen"
+-
+-#: config/c4x/c4x.opt:131
+-#, fuzzy
+-msgid "Set the maximum number of iterations for RPTS to N"
+-msgstr "Angiv maksimalt antal iterationer for RPTS"
+-
+-#: config/c4x/c4x.opt:135
+-msgid "Small memory model"
+-msgstr "Lille hukommelsesmodel"
+-
+-#: config/c4x/c4x.opt:139
+-msgid "Emit code compatible with TI tools"
+-msgstr "Udsend kode der er kompatibel med TI-værktøjer"
+-
+-#: config/pa/pa-hpux.opt:23
+-msgid "Generate cpp defines for server IO"
+-msgstr "Generér CPP-defineringer til server-IO"
+-
+-#: config/pa/pa-hpux.opt:27 config/pa/pa-hpux1010.opt:23
+-#: config/pa/pa-hpux1111.opt:23
+-msgid "Specify UNIX standard for predefines and linking"
+-msgstr ""
+-
+-#: config/pa/pa-hpux.opt:31
+-msgid "Generate cpp defines for workstation IO"
+-msgstr "Generér CPP-defineringer til arbejdsstation-IO"
+-
+-#: config/pa/pa.opt:23 config/pa/pa.opt:76 config/pa/pa.opt:84
+-msgid "Generate PA1.0 code"
+-msgstr "Generér PA1.0-kode"
+-
+-#: config/pa/pa.opt:27 config/pa/pa.opt:88 config/pa/pa.opt:108
+-msgid "Generate PA1.1 code"
+-msgstr "Generér PA1.1-kode"
+-
+-#: config/pa/pa.opt:31 config/pa/pa.opt:92
+-msgid "Generate PA2.0 code (requires binutils 2.10 or later)"
+-msgstr "Generér PA2.0-kode (kræver binutils 2.10 eller nyere)"
+-
+-#: config/pa/pa.opt:35
+-msgid "Generate code for huge switch statements"
+-msgstr "Generér kode til store switch-sætninger"
+-
+-#: config/pa/pa.opt:39
+-msgid "Disable FP regs"
+-msgstr "Deaktivér kommatalsregistre"
+-
+-#: config/pa/pa.opt:43
+-msgid "Disable indexed addressing"
+-msgstr "Deaktivér indekseret adressering"
+-
+-#: config/pa/pa.opt:47
+-msgid "Generate fast indirect calls"
+-msgstr "Generér hurtige indirekte kald"
+-
+-#: config/pa/pa.opt:55
+-msgid "Assume code will be assembled by GAS"
+-msgstr "Antag at koden bliver oversat af GAS"
+-
+-#: config/pa/pa.opt:59
+-msgid "Put jumps in call delay slots"
+-msgstr "Anbring spring på kaldeventetidspladser"
+-
+-#: config/pa/pa.opt:64
+-msgid "Enable linker optimizations"
+-msgstr "Aktivér sammenkæderoptimeringer"
+-
+-#: config/pa/pa.opt:68
+-msgid "Always generate long calls"
+-msgstr "Generér altid lange kalde"
+-
+-#: config/pa/pa.opt:72
+-msgid "Emit long load/store sequences"
+-msgstr "Udsend lange load/store-sekvenser"
+-
+-#: config/pa/pa.opt:80
+-msgid "Disable space regs"
+-msgstr "Deaktivér pladsregistre"
+-
+-#: config/pa/pa.opt:96
+-msgid "Use portable calling conventions"
+-msgstr "Benyt portable kaldekonventioner"
+-
+-#: config/pa/pa.opt:100
+-#, fuzzy
+-msgid "Specify CPU for scheduling purposes. Valid arguments are 700, 7100, 7100LC, 7200, 7300, and 8000"
+-msgstr ""
+-"ukendt parameter til -mschedule= (%s).\n"
+-"Gyldige parametre er 700, 7100, 7100LC, 7200, 7300 og 8000\n"
+-
+-#: config/pa/pa.opt:112
+-msgid "Do not disable space regs"
+-msgstr "Deaktivér ikke pladsregistre"
+-
+-#: config/pa/pa64-hpux.opt:23
+-msgid "Assume code will be linked by GNU ld"
+-msgstr "Antag at kode vil blive sammenkædet med GNU ld"
+-
+-#: config/pa/pa64-hpux.opt:27
+-msgid "Assume code will be linked by HP ld"
+-msgstr "Antag at kode vil blive sammenkædet med HP ld"
+-
+-#: config/xtensa/xtensa.opt:23
+-#, fuzzy
+-msgid "Use CONST16 instruction to load constants"
+-msgstr "Brug push-instruktioner til at gemme udgående parametre"
+-
+-#: config/xtensa/xtensa.opt:27
+-msgid "Enable fused multiply/add and multiply/subtract FP instructions"
+-msgstr "Aktivér sammensatte gang/addér- og gang/subtrahér-kommatalsinstruktioner"
+-
+-#: config/xtensa/xtensa.opt:31
+-msgid "Use indirect CALLXn instructions for large programs"
+-msgstr "Benyt indirekte CALLXn-instruktioner for store programmer"
+-
+-#: config/xtensa/xtensa.opt:35
+-msgid "Automatically align branch targets to reduce branch penalties"
+-msgstr "Justér automatisk forgreningsmål for at reducere forgreningsstraffe"
+-
+-#: config/xtensa/xtensa.opt:39
+-msgid "Intersperse literal pools with code in the text section"
+-msgstr "Fordel konstanter med kode i tekstsektionen"
+-
+-#: config/stormy16/stormy16.opt:24
+-msgid "Provide libraries for the simulator"
+-msgstr ""
+-
+ #: config/mips/mips.opt:23
+ #, fuzzy
+ msgid "Generate code that conforms to the given ABI"
+@@ -14446,10 +14765,6 @@
+ msgid "Use little-endian byte order"
+ msgstr "Benyt lilleendet byteordning"
+
+-#: config/mips/mips.opt:97 config/iq2000/iq2000.opt:31
+-msgid "Use ROM instead of RAM"
+-msgstr "Benyt ROM i stedet for RAM"
+-
+ #: config/mips/mips.opt:101
+ msgid "Use NewABI-style %reloc() assembly operators"
+ msgstr ""
+@@ -14638,10 +14953,6 @@
+ msgid "Optimize the output for PROCESSOR"
+ msgstr ""
+
+-#: config/mips/mips.opt:265 config/iq2000/iq2000.opt:44
+-msgid "Put uninitialized constants in ROM (needs -membedded-data)"
+-msgstr "Anbring konstanter uden startværdi i ROM (behøver -membedded-data)"
+-
+ #: config/mips/mips.opt:269
+ #, fuzzy
+ msgid "Perform VR4130-specific alignment optimizations"
+@@ -14651,376 +14962,6 @@
+ msgid "Lift restrictions on GOT size"
+ msgstr ""
+
+-#: config/mips/sdemtk.opt:23
+-#, fuzzy
+-msgid "Prevent the use of all floating-point operations"
+-msgstr "booleske registre er påkrævet til kommatalsindstillingen"
+-
+-#: config/fr30/fr30.opt:23
+-msgid "Assume small address space"
+-msgstr "Antag lille adresserum"
+-
+-#: config/m68hc11/m68hc11.opt:23 config/m68hc11/m68hc11.opt:31
+-msgid "Compile for a 68HC11"
+-msgstr "Oversæt til en 68HC11"
+-
+-#: config/m68hc11/m68hc11.opt:27 config/m68hc11/m68hc11.opt:35
+-msgid "Compile for a 68HC12"
+-msgstr "Oversæt til en 68HC12"
+-
+-#: config/m68hc11/m68hc11.opt:41 config/m68hc11/m68hc11.opt:45
+-msgid "Compile for a 68HCS12"
+-msgstr "Oversæt til en 68HCS12"
+-
+-#: config/m68hc11/m68hc11.opt:49
+-msgid "Auto pre/post decrement increment allowed"
+-msgstr "Selvformindskelse tilladt"
+-
+-#: config/m68hc11/m68hc11.opt:53
+-msgid "Min/max instructions allowed"
+-msgstr "Min/max-instruktioner tilladt"
+-
+-#: config/m68hc11/m68hc11.opt:57
+-msgid "Use call and rtc for function calls and returns"
+-msgstr "Benyt call og rtc til funktionskald og returneringer"
+-
+-#: config/m68hc11/m68hc11.opt:61
+-msgid "Auto pre/post decrement increment not allowed"
+-msgstr "Selvforøgelse ikke tilladt"
+-
+-#: config/m68hc11/m68hc11.opt:65
+-msgid "Use jsr and rts for function calls and returns"
+-msgstr "Benyt jsr og rts til funktionskald og returneringer"
+-
+-#: config/m68hc11/m68hc11.opt:69
+-msgid "Min/max instructions not allowed"
+-msgstr "Min/max-instruktioner ikke tilladt"
+-
+-#: config/m68hc11/m68hc11.opt:73
+-msgid "Use direct addressing mode for soft registers"
+-msgstr "Benyt direkte adresseringstilstand til bløde registre"
+-
+-#: config/m68hc11/m68hc11.opt:77
+-msgid "Compile with 32-bit integer mode"
+-msgstr "Oversæt med 32 bit-heltalstilstand"
+-
+-#: config/m68hc11/m68hc11.opt:82
+-msgid "Specify the register allocation order"
+-msgstr "Angiv registerallokeringsordnen"
+-
+-#: config/m68hc11/m68hc11.opt:86
+-msgid "Do not use direct addressing mode for soft registers"
+-msgstr "Benyt ikke direkte adresseringstilstand til bløde registre"
+-
+-#: config/m68hc11/m68hc11.opt:90
+-msgid "Compile with 16-bit integer mode"
+-msgstr "Oversæt med 16 bit-heltalstilstand"
+-
+-#: config/m68hc11/m68hc11.opt:94
+-msgid "Indicate the number of soft registers available"
+-msgstr "Angiv antallet af bløde registre der er til rådighed"
+-
+-#: config/vax/vax.opt:23 config/vax/vax.opt:27
+-msgid "Target DFLOAT double precision code"
+-msgstr ""
+-
+-#: config/vax/vax.opt:31 config/vax/vax.opt:35
+-#, fuzzy
+-msgid "Generate GFLOAT double precision code"
+-msgstr "Generér lilleendet kode"
+-
+-#: config/vax/vax.opt:39
+-#, fuzzy
+-msgid "Generate code for GNU assembler (gas)"
+-msgstr "Generér kode til GNU as"
+-
+-#: config/vax/vax.opt:43
+-#, fuzzy
+-msgid "Generate code for UNIX assembler"
+-msgstr "Generér kode til GNU as"
+-
+-#: config/vax/vax.opt:47
+-#, fuzzy
+-msgid "Use VAXC structure conventions"
+-msgstr "Benyt portable kaldekonventioner"
+-
+-#: config/cris/linux.opt:27
+-msgid "Together with -fpic and -fPIC, do not use GOTPLT references"
+-msgstr "Benyt ikke GOTPLT-referencer sammen med -fpic og -fPIC"
+-
+-#: config/cris/cris.opt:45
+-#, fuzzy
+-msgid "Work around bug in multiplication instruction"
+-msgstr "Benyt ikke kommatalsinstruktioner til multiplikationsakkumulering"
+-
+-#: config/cris/cris.opt:51
+-msgid "Compile for ETRAX 4 (CRIS v3)"
+-msgstr "Oversæt for ETRAX 4 (CRIS v3)"
+-
+-#: config/cris/cris.opt:56
+-msgid "Compile for ETRAX 100 (CRIS v8)"
+-msgstr "Oversæt for ETRAX 100 (CRIS v8)"
+-
+-#: config/cris/cris.opt:64
+-msgid "Emit verbose debug information in assembly code"
+-msgstr "Udsend fejlanalyseringsinfo i maskinkode"
+-
+-#: config/cris/cris.opt:71
+-msgid "Do not use condition codes from normal instructions"
+-msgstr "Benyt ikke betingelseskoder fra normale instruktioner"
+-
+-#: config/cris/cris.opt:80
+-msgid "Do not emit addressing modes with side-effect assignment"
+-msgstr "Udsend ikke adresseringstilstande med bivirkningstildeling"
+-
+-#: config/cris/cris.opt:89
+-msgid "Do not tune stack alignment"
+-msgstr "Finjustér ikke stakjustering"
+-
+-#: config/cris/cris.opt:98
+-msgid "Do not tune writable data alignment"
+-msgstr "Finjustér ikke justering af skrivbare data"
+-
+-#: config/cris/cris.opt:107
+-msgid "Do not tune code and read-only data alignment"
+-msgstr "Finjustér ikke justering af kode og skrivebeskyttet data"
+-
+-#: config/cris/cris.opt:116
+-msgid "Align code and data to 32 bits"
+-msgstr "Justér kode og data til 32 bit"
+-
+-#: config/cris/cris.opt:133
+-msgid "Don't align items in code or data"
+-msgstr "Justér ikke elementer i kode eller data"
+-
+-#: config/cris/cris.opt:142
+-msgid "Do not emit function prologue or epilogue"
+-msgstr "Udsend ikke funktionsindledning eller -afslutning"
+-
+-#: config/cris/cris.opt:149
+-msgid "Use the most feature-enabling options allowed by other options"
+-msgstr "Benyt de tilvalg der giver de fleste faciliteter tilladt af andre tilvalg"
+-
+-#: config/cris/cris.opt:158
+-msgid "Override -mbest-lib-options"
+-msgstr "Overskriv -mbest-lib-options"
+-
+-#: config/cris/cris.opt:165
+-msgid "Generate code for the specified chip or CPU version"
+-msgstr "Generér kode til en given chip- eller processorversion"
+-
+-#: config/cris/cris.opt:169
+-msgid "Tune alignment for the specified chip or CPU version"
+-msgstr "Finjustér justering til en given chip- eller processorversion"
+-
+-#: config/cris/cris.opt:173
+-msgid "Warn when a stackframe is larger than the specified size"
+-msgstr "Advar når en stakramme er større end den angivne størrelse"
+-
+-#: config/cris/aout.opt:27
+-msgid "Compile for the MMU-less Etrax 100-based elinux system"
+-msgstr "Oversæt for det Etrax 100-baserede elinux-system uden MMU"
+-
+-#: config/cris/aout.opt:33
+-msgid "For elinux, request a specified stack-size for this program"
+-msgstr "For elinux; forespørg en angivet stakstørrelse for dette program"
+-
+-#: config/h8300/h8300.opt:23
+-msgid "Generate H8S code"
+-msgstr "Generér H8S-kode"
+-
+-#: config/h8300/h8300.opt:27
+-#, fuzzy
+-msgid "Generate H8SX code"
+-msgstr "Generér H8S-kode"
+-
+-#: config/h8300/h8300.opt:31
+-msgid "Generate H8S/2600 code"
+-msgstr "Generér H8S/2600-kode"
+-
+-#: config/h8300/h8300.opt:35
+-msgid "Make integers 32 bits wide"
+-msgstr "Gør heltal 32 bit brede"
+-
+-#: config/h8300/h8300.opt:42
+-msgid "Use registers for argument passing"
+-msgstr "Benyt registre til parameteroverbringning"
+-
+-#: config/h8300/h8300.opt:46
+-msgid "Consider access to byte sized memory slow"
+-msgstr "Betragt tilgang til bytestørrelseshukommelse som langsomt"
+-
+-#: config/h8300/h8300.opt:50
+-msgid "Enable linker relaxing"
+-msgstr "Aktivér tolerant sammenkædning"
+-
+-#: config/h8300/h8300.opt:54
+-msgid "Generate H8/300H code"
+-msgstr "Generér H8/300H-kode"
+-
+-#: config/h8300/h8300.opt:58
+-msgid "Enable the normal mode"
+-msgstr "Aktivér den normale tilstand"
+-
+-#: config/h8300/h8300.opt:62
+-msgid "Use H8/300 alignment rules"
+-msgstr "Benyt H8/300-justeringsregler"
+-
+-#: config/v850/v850.opt:23
+-#, fuzzy
+-msgid "Use registers r2 and r5"
+-msgstr "Benyt ikke registrene r2 og r5"
+-
+-#: config/v850/v850.opt:27
+-msgid "Use 4 byte entries in switch tables"
+-msgstr "Benyt 4 byte-elementer i switch-tabeller"
+-
+-#: config/v850/v850.opt:31
+-msgid "Enable backend debugging"
+-msgstr "Aktivér bagendefejlanalyseringsinfo"
+-
+-#: config/v850/v850.opt:35
+-msgid "Do not use the callt instruction"
+-msgstr "Benyt ikke callt-instruktionen"
+-
+-#: config/v850/v850.opt:39
+-msgid "Reuse r30 on a per function basis"
+-msgstr "Genbrug r30 på et pr. funktionsgrundlag"
+-
+-#: config/v850/v850.opt:43
+-msgid "Support Green Hills ABI"
+-msgstr "Understøt Green Hills-ABI"
+-
+-#: config/v850/v850.opt:47
+-msgid "Prohibit PC relative function calls"
+-msgstr "Forbyd PC-relative funktionskald"
+-
+-#: config/v850/v850.opt:51
+-msgid "Use stubs for function prologues"
+-msgstr "Benyt stubbe til funktionsindledninger"
+-
+-#: config/v850/v850.opt:55
+-msgid "Set the max size of data eligible for the SDA area"
+-msgstr "Angiv den maks. størrelse af data til SDA-området"
+-
+-#: config/v850/v850.opt:59
+-msgid "Enable the use of the short load instructions"
+-msgstr "Aktivér brug af short load-instruktioner"
+-
+-#: config/v850/v850.opt:63
+-msgid "Same as: -mep -mprolog-function"
+-msgstr "Samme som: -mep -mprolog-function"
+-
+-#: config/v850/v850.opt:67
+-msgid "Set the max size of data eligible for the TDA area"
+-msgstr "Angiv den maks. størrelse af data til TDA-området"
+-
+-#: config/v850/v850.opt:71
+-msgid "Enforce strict alignment"
+-msgstr "Gennemtving streng justering"
+-
+-#: config/v850/v850.opt:78
+-msgid "Compile for the v850 processor"
+-msgstr "Oversæt for v850-processoren"
+-
+-#: config/v850/v850.opt:82
+-#, fuzzy
+-msgid "Compile for the v850e processor"
+-msgstr "Oversæt for v850-processoren"
+-
+-#: config/v850/v850.opt:86
+-#, fuzzy
+-msgid "Compile for the v850e1 processor"
+-msgstr "Oversæt for v850-processoren"
+-
+-#: config/v850/v850.opt:90
+-msgid "Set the max size of data eligible for the ZDA area"
+-msgstr "Angiv den maks. størrelse af data til ZDA-området"
+-
+-#: config/mmix/mmix.opt:24
+-msgid "For intrinsics library: pass all parameters in registers"
+-msgstr "For indbyggede biblioteker: overbring alle parametre i registre"
+-
+-#: config/mmix/mmix.opt:28
+-msgid "Use register stack for parameters and return value"
+-msgstr "Benyt registerstakken til parametre og returværdier"
+-
+-#: config/mmix/mmix.opt:32
+-msgid "Use call-clobbered registers for parameters and return value"
+-msgstr "Benyt kaldeoptagne registre til parametre og returværdier"
+-
+-#: config/mmix/mmix.opt:37
+-msgid "Use epsilon-respecting floating point compare instructions"
+-msgstr "Benyt epsilon-respekterende instruktioner til kommatalssammenligning"
+-
+-#: config/mmix/mmix.opt:41
+-msgid "Use zero-extending memory loads, not sign-extending ones"
+-msgstr "Benyt nul-udvidende hukommelsesindlæsninger, ikke fortegnsudvidende"
+-
+-#: config/mmix/mmix.opt:45
+-msgid "Generate divide results with reminder having the same sign as the divisor (not the dividend)"
+-msgstr "Generér divisionsresultater med rest som har det samme fortegn som nævneren (ikke tælleren)"
+-
+-#: config/mmix/mmix.opt:49
+-msgid "Prepend global symbols with \":\" (for use with PREFIX)"
+-msgstr "Tilføj \":\" til starten af globale symboler (til brug sammen med PREFIX)"
+-
+-#: config/mmix/mmix.opt:53
+-msgid "Do not provide a default start-address 0x100 of the program"
+-msgstr "Tilbyd ikke standardstartadressen 0x100 for programmet"
+-
+-#: config/mmix/mmix.opt:57
+-msgid "Link to emit program in ELF format (rather than mmo)"
+-msgstr "Lad sammenkædningen udsende programmet i ELF-format (i stedet for mmo)"
+-
+-#: config/mmix/mmix.opt:61
+-msgid "Use P-mnemonics for branches statically predicted as taken"
+-msgstr "Benyt P-aliaser for forgreninger som statistisk forudses at blive taget"
+-
+-#: config/mmix/mmix.opt:65
+-msgid "Don't use P-mnemonics for branches"
+-msgstr "Benyt ikke P-aliaser for forgreninger"
+-
+-#: config/mmix/mmix.opt:79
+-msgid "Use addresses that allocate global registers"
+-msgstr "Benyt adresser der allokerer globale registre"
+-
+-#: config/mmix/mmix.opt:83
+-msgid "Do not use addresses that allocate global registers"
+-msgstr "Benyt ikke adresser der allokerer globale registre"
+-
+-#: config/mmix/mmix.opt:87
+-msgid "Generate a single exit point for each function"
+-msgstr "Generér et enkelt afslutningspunkt for hver funktion"
+-
+-#: config/mmix/mmix.opt:91
+-msgid "Do not generate a single exit point for each function"
+-msgstr "Generér ikke et enkelt afslutningspunkt for hver funktion"
+-
+-#: config/mmix/mmix.opt:95
+-msgid "Set start-address of the program"
+-msgstr "Angiv startadressen for programmet"
+-
+-#: config/mmix/mmix.opt:99
+-msgid "Set start-address of data"
+-msgstr "Angiv startadressen for data"
+-
+-#: config/iq2000/iq2000.opt:23 config/mt/mt.opt:55
+-msgid "Specify CPU for code generation purposes"
+-msgstr "Angiv processor til kodegenereringsformål"
+-
+-#: config/iq2000/iq2000.opt:27
+-msgid "Specify CPU for scheduling purposes"
+-msgstr "Angiv processor til planlægningsformål"
+-
+-#: config/iq2000/iq2000.opt:35
+-msgid "Use GP relative sdata/sbss sections"
+-msgstr "Benyt GP-relative sdata/sbss-sektioner"
+-
+-#: config/iq2000/iq2000.opt:40
+-msgid "No default crt0.o"
+-msgstr "Ingen standard crt0.o"
+-
+ #: config/bfin/bfin.opt:31
+ #, fuzzy
+ msgid "Omit frame pointer for leaf functions"
+@@ -15059,2264 +15000,2286 @@
+ msgid "Do stack checking using bounds in L1 scratch memory"
+ msgstr ""
+
+-#: config/mt/mt.opt:23
+-msgid "Use byte loads and stores when generating code."
+-msgstr ""
+-
+-#: config/mt/mt.opt:31
+-msgid "Do not include crt0.o in the startup files"
+-msgstr ""
+-
+-#: config/mt/mt.opt:35 config/mt/mt.opt:39 config/mt/mt.opt:43
+-#: config/mt/mt.opt:47 config/mt/mt.opt:51
++#: treelang/lang.opt:30
+ #, fuzzy
+-msgid "Internal debug switch"
+-msgstr "ukendt tilvalg -mdebug-%s"
++msgid "Trace lexical analysis"
++msgstr "(fejlretning) følg lexikalsk analyse"
+
+-#: config/vxworks.opt:24
++#: treelang/lang.opt:34
+ #, fuzzy
+-msgid "Assume the VxWorks RTP environment"
+-msgstr "Antag normalt C-kørselsmiljø"
++msgid "Trace the parsing process"
++msgstr "(fejlretning) følg fortolkningsprocessen"
+
+-#: config/vxworks.opt:31
++#: java/lang.opt:65
+ #, fuzzy
+-msgid "Assume the VxWorks vThreads environment"
+-msgstr "Antag normalt C-kørselsmiljø"
++msgid "Warn if a deprecated compiler feature, class, method, or field is used"
++msgstr "Advar hvis forældede tomme sætninger bliver fundet"
+
+-#: config/darwin.opt:23
+-#, fuzzy
+-msgid "Generate code suitable for fast turn around debugging"
+-msgstr "Generér kode til et Sun Sky-kort"
++#: java/lang.opt:69
++msgid "Warn if deprecated empty statements are found"
++msgstr "Advar hvis forældede tomme sætninger bliver fundet"
+
+-#: config/darwin.opt:31
+-msgid "The earliest MacOS X version on which this program will run"
+-msgstr ""
++#: java/lang.opt:73
++msgid "Warn if .class files are out of date"
++msgstr "Advar hvis .class-filer er forældede"
+
+-#: config/darwin.opt:35
+-#, fuzzy
+-msgid "Set sizeof(bool) to 1"
+-msgstr "sizeof(long double) er 16"
++#: java/lang.opt:77
++msgid "Warn if modifiers are specified when not necessary"
++msgstr "Advar hvis modifikationer angives når det ikke er nødvendigt"
+
+-#: config/darwin.opt:39
++#: java/lang.opt:81
+ #, fuzzy
+-msgid "Generate code for darwin loadable kernel extensions"
+-msgstr "Generér kode til lilleendet"
+-
+-#: config/darwin.opt:43
+-#, fuzzy
+-msgid "Generate code for the kernel or loadable kernel extensions"
+-msgstr "Generér kode til en given chip- eller processorversion"
+-
+-#: config/darwin.opt:47
+-msgid "Add <dir> to the end of the system framework include path"
+-msgstr ""
+-
+-#: config/lynx.opt:23
+-msgid "Support legacy multi-threading"
+-msgstr ""
+-
+-#: config/lynx.opt:27
+-#, fuzzy
+-msgid "Use shared libraries"
+-msgstr "Brug hardwarekommatal"
+-
+-#: config/lynx.opt:31
+-msgid "Support multi-threading"
+-msgstr ""
+-
+-#: config/score/score.opt:31
+-#, fuzzy
+-msgid "Disable bcnz instruction"
+-msgstr "Deaktivér brug af DB-instruktioner"
+-
+-#: config/score/score.opt:35
+-#, fuzzy
+-msgid "Enable unaligned load/store instruction"
+-msgstr "Aktivér brug af DB-instruktioner"
+-
+-#: config/score/score.opt:39
+-msgid "Support SCORE 5 ISA"
+-msgstr ""
+-
+-#: config/score/score.opt:43
+-msgid "Support SCORE 5U ISA"
+-msgstr ""
+-
+-#: config/score/score.opt:47
+-msgid "Support SCORE 7 ISA"
+-msgstr ""
+-
+-#: config/score/score.opt:51
+-msgid "Support SCORE 7D ISA"
+-msgstr ""
+-
+-#: config/score/score.opt:55
+-msgid "Support SCORE 3 ISA"
+-msgstr ""
+-
+-#: config/score/score.opt:59
+-msgid "Support SCORE 3d ISA"
+-msgstr ""
+-
+-#: config/linux.opt:24
+-#, fuzzy
+-msgid "Use uClibc instead of GNU libc"
+-msgstr "Benyt ROM i stedet for RAM"
+-
+-#: config/linux.opt:28
+-#, fuzzy
+-msgid "Use GNU libc instead of uClibc"
+-msgstr "Benyt ROM i stedet for RAM"
+-
+-#: c.opt:41
+-msgid "Assert the <answer> to <question>. Putting '-' before <question> disables the <answer> to <question>"
+-msgstr ""
+-
+-#: c.opt:45
+-#, fuzzy
+-msgid "Do not discard comments"
+-msgstr "Deaktivér ikke pladsregistre"
+-
+-#: c.opt:49
+-msgid "Do not discard comments in macro expansions"
+-msgstr ""
+-
+-#: c.opt:53
+-msgid "Define a <macro> with <val> as its value. If just <macro> is given, <val> is taken to be 1"
+-msgstr ""
+-
+-#: c.opt:60
+-msgid "Add <dir> to the end of the main framework include path"
+-msgstr ""
+-
+-#: c.opt:64
+-#, fuzzy
+-msgid "Print the name of header files as they are used"
+-msgstr "Udskriv navne på programenheder efterhånden som de oversættes"
+-
+-#: c.opt:68 c.opt:859
+-msgid "Add <dir> to the end of the main include path"
+-msgstr ""
+-
+-#: c.opt:72
+-#, fuzzy
+-msgid "Generate make dependencies"
+-msgstr "Generér lilleendet kode"
+-
+-#: c.opt:76
+-#, fuzzy
+-msgid "Generate make dependencies and compile"
+-msgstr "Generér lilleendet kode"
+-
+-#: c.opt:80
+-msgid "Write dependency output to the given file"
+-msgstr ""
+-
+-#: c.opt:84
+-msgid "Treat missing header files as generated files"
+-msgstr ""
+-
+-#: c.opt:88
+-msgid "Like -M but ignore system header files"
+-msgstr ""
+-
+-#: c.opt:92
+-msgid "Like -MD but ignore system header files"
+-msgstr ""
+-
+-#: c.opt:96
+-#, fuzzy
+-msgid "Generate phony targets for all headers"
+-msgstr "Generér kode til Intel as"
+-
+-#: c.opt:100
+-msgid "Add a MAKE-quoted target"
+-msgstr ""
+-
+-#: c.opt:104
+-msgid "Add an unquoted target"
+-msgstr ""
+-
+-#: c.opt:108
+-#, fuzzy
+-msgid "Do not generate #line directives"
+-msgstr "Generér ikke .size-direktiver"
+-
+-#: c.opt:112
+-msgid "Undefine <macro>"
+-msgstr ""
+-
+-#: c.opt:116
+-msgid "Warn about things that will change when compiling with an ABI-compliant compiler"
+-msgstr ""
+-
+-#: c.opt:120
+-#, fuzzy
+-msgid "Warn about suspicious uses of memory addresses"
+-msgstr "Advar om mistænkelige erklæringer af main"
+-
+-#: c.opt:124
+-msgid "Enable most warning messages"
+-msgstr "Aktivér de fleste advarselsbeskeder"
+-
+-#: c.opt:128
+-#, fuzzy
+-msgid "Warn if a comparison is always true or always false due to the limited range of the data type"
+-msgstr "sammenligning er altid falsk på grund af den begrænsede rækkevidde af datatypen"
+-
+-#: c.opt:132
+-msgid "Warn whenever an Objective-C assignment is being intercepted by the garbage collector"
+-msgstr ""
+-
+-#: c.opt:136
+-msgid "Warn about casting functions to incompatible types"
+-msgstr "Advar om omtvingning af funktioner til ikke-kompatible typer"
+-
+-#: c.opt:140
+-msgid "Warn about C constructs that are not in the common subset of C and C++"
+-msgstr ""
+-
+-#: c.opt:144
+-#, fuzzy
+-msgid "Warn about C++ constructs whose meaning differs between ISO C++ 1998 and ISO C++ 200x"
+-msgstr "Advar om konstruktioner hvis betydning er ændret i ISO C"
+-
+-#: c.opt:148
+-msgid "Warn about casts which discard qualifiers"
+-msgstr "Advar om typeomtvingninger som forkaster modifikationer"
+-
+-#: c.opt:152
+-#, fuzzy
+-msgid "Warn about subscripts whose type is \"char\""
+-msgstr "Advar som tabelindeksering hvis type er 'char'"
+-
+-#: c.opt:156
+-#, fuzzy
+-msgid "Warn about variables that might be changed by \"longjmp\" or \"vfork\""
+-msgstr "variablen '%s' bliver måske overskrevet af 'longjmp' eller 'vfork'"
+-
+-#: c.opt:160
+-msgid "Warn about possibly nested block comments, and C++ comments spanning more than one physical line"
+-msgstr ""
+-
+-#: c.opt:164
+-msgid "Synonym for -Wcomment"
+-msgstr ""
+-
+-#: c.opt:168
+-msgid "Warn for implicit type conversions that may change a value"
+-msgstr ""
+-
+-#: c.opt:172
+-#, fuzzy
+-msgid "Warn for implicit type conversions between signed and unsigned integers"
+-msgstr "sammenlign mellem signed og unsigned heltalsudtryk"
+-
+-#: c.opt:176
+-#, fuzzy
+-msgid "Warn when all constructors and destructors are private"
+-msgstr "Advar ikke når alle konstruktions-/destruktionsfunktioner er private"
+-
+-#: c.opt:180
+-#, fuzzy
+-msgid "Warn when a declaration is found after a statement"
+-msgstr "Advar når en erklæring ikke angiver en type"
+-
+-#: c.opt:184
+-#, fuzzy
+-msgid "Warn about deprecated compiler features"
+-msgstr "Annoncér ikke forældelse af oversætterfaciliteter"
+-
+-#: c.opt:188
+-#, fuzzy
+-msgid "Warn about compile-time integer division by zero"
+-msgstr "Advar ikke om heltalsdivision på oversættelsestidspunktet med nul"
+-
+-#: c.opt:192
+-msgid "Warn about violations of Effective C++ style rules"
+-msgstr "Advar om overtrædelser af stilreglerne fra Effective C++"
+-
+-#: c.opt:196
+-#, fuzzy
+-msgid "Warn about an empty body in an if or else statement"
+-msgstr "tom krop i en else-sætning"
+-
+-#: c.opt:200
+-msgid "Warn about stray tokens after #elif and #endif"
+-msgstr ""
+-
+-#: c.opt:208
+-#, fuzzy
+-msgid "This switch is deprecated; use -Werror=implicit-function-declaration instead"
++msgid "Deprecated; use --classpath instead"
+ msgstr "Angiv klassesti (forældet: benyt --classpath i stedet)"
+
+-#: c.opt:212
+-#, fuzzy
+-msgid "Warn if testing floating point numbers for equality"
+-msgstr "Advar om lighedssammenligninger mellem kommatal"
+-
+-#: c.opt:216
+-#, fuzzy
+-msgid "Warn about printf/scanf/strftime/strfmon format string anomalies"
+-msgstr "Advar om printf/scanf/strftime/strfmon-formateringsanormaliteter"
+-
+-#: c.opt:220
+-#, fuzzy
+-msgid "Warn if passing too many arguments to a function for its format string"
+-msgstr "for mange parametre til funktionen 'va_start'"
+-
+-#: c.opt:224
+-#, fuzzy
+-msgid "Warn about format strings that are not literals"
+-msgstr "Advar om brug af multitegnskonstanter"
+-
+-#: c.opt:228
+-#, fuzzy
+-msgid "Warn about format strings that contain NUL bytes"
+-msgstr "Advar om brug af multitegnskonstanter"
+-
+-#: c.opt:232
+-msgid "Warn about possible security problems with format functions"
+-msgstr "Advar om mulige sikkerhedsproblemer i forbindelse med formateringsfunktioner"
+-
+-#: c.opt:236
+-#, fuzzy
+-msgid "Warn about strftime formats yielding 2-digit years"
+-msgstr "Advar ikke om strftime-formateringer med 2-cifres år"
+-
+-#: c.opt:240
+-#, fuzzy
+-msgid "Warn about zero-length formats"
+-msgstr "formateringsstreng %s med længden nul"
+-
+-#: c.opt:247
+-msgid "Warn about variables which are initialized to themselves"
++#: java/lang.opt:88
++msgid "Permit the use of the assert keyword"
+ msgstr ""
+
+-#: c.opt:254
+-msgid "Warn about implicit function declarations"
+-msgstr "Advar om underforståede funktionserklæringer"
+-
+-#: c.opt:258
+-msgid "Warn when a declaration does not specify a type"
+-msgstr "Advar når en erklæring ikke angiver en type"
+-
+-#: c.opt:262
+-msgid "Deprecated. This switch has no effect"
+-msgstr ""
+-
+-#: c.opt:266
++#: java/lang.opt:110
+ #, fuzzy
+-msgid "Warn when there is a cast to a pointer from an integer of a different size"
+-msgstr "typeomtvingelse fra heltal til henvisning af en anden størrelse"
++msgid "Replace system path"
++msgstr "Erstat systemsti"
+
+-#: c.opt:270
++#: java/lang.opt:114
+ #, fuzzy
+-msgid "Warn about invalid uses of the \"offsetof\" macro"
+-msgstr "Advar om brug af #import-direktivet"
++msgid "Generate checks for references to NULL"
++msgstr "Generér kode til en DLL"
+
+-#: c.opt:274
+-msgid "Warn about PCH files that are found but not used"
+-msgstr ""
++#: java/lang.opt:118
++msgid "Set class path"
++msgstr "Angiv klassesti"
+
+-#: c.opt:278
+-#, fuzzy
+-msgid "Do not warn about using \"long long\" when -pedantic"
+-msgstr "Advar ikke om brug af 'long long' når -pedantic benyttes"
+-
+-#: c.opt:282
+-#, fuzzy
+-msgid "Warn about suspicious declarations of \"main\""
+-msgstr "Advar om mistænkelige erklæringer af main"
+-
+-#: c.opt:286
+-msgid "Warn about possibly missing braces around initializers"
+-msgstr "Advar om mulige manglende krøllede paranteser omkring startværdier"
+-
+-#: c.opt:290
+-#, fuzzy
+-msgid "Warn about global functions without previous declarations"
+-msgstr "Advar om globale funktioner uden tidligere erklæringer"
+-
+-#: c.opt:294
+-#, fuzzy
+-msgid "Warn about missing fields in struct initializers"
+-msgstr "Advar om mulige manglende krøllede paranteser omkring startværdier"
+-
+-#: c.opt:298
+-msgid "Warn about functions which might be candidates for format attributes"
+-msgstr "Advar om funktioner som kan være kandidater til formateringsegenskaber"
+-
+-#: c.opt:302
+-msgid "Warn about user-specified include directories that do not exist"
++#: java/lang.opt:125
++msgid "Output a class file"
+ msgstr ""
+
+-#: c.opt:306
+-msgid "Warn about function parameters declared without a type specifier in K&R-style functions"
++#: java/lang.opt:129
++msgid "Alias for -femit-class-file"
+ msgstr ""
+
+-#: c.opt:310
++#: java/lang.opt:133
+ #, fuzzy
+-msgid "Warn about global functions without prototypes"
+-msgstr "Advar om globale funktioner uden prototyper"
++msgid "Choose input encoding (defaults from your locale)"
++msgstr "Vælg inddatakodning (standardværdi kommer fra regionalindstillinger)"
+
+-#: c.opt:314
+-#, fuzzy
+-msgid "Warn about use of multi-character character constants"
+-msgstr "Advar om brug af multitegnskonstanter"
+-
+-#: c.opt:318
+-#, fuzzy
+-msgid "Warn about \"extern\" declarations not at file scope"
+-msgstr "Advar om extern-erklæringer som ikke er ved filvirkefeltsniveauet"
+-
+-#: c.opt:322
+-#, fuzzy
+-msgid "Warn when non-templatized friend functions are declared within a template"
+-msgstr "Advar ikke når ikke-skabelonsvennefunktioner erklæres inde i en skabelon"
+-
+-#: c.opt:326
+-#, fuzzy
+-msgid "Warn about non-virtual destructors"
+-msgstr "Advar om ikke-virtuelle destruktionsfunktioner"
+-
+-#: c.opt:330
+-msgid "Warn about NULL being passed to argument slots marked as requiring non-NULL"
++#: java/lang.opt:137
++msgid "Set the extension directory path"
+ msgstr ""
+
+-#: c.opt:334
+-#, fuzzy
+-msgid "Warn about non-normalised Unicode strings"
+-msgstr "Advar om formateringsstrenge der ikke er strengkonstanter"
+-
+-#: c.opt:338
+-#, fuzzy
+-msgid "Warn if a C-style cast is used in a program"
+-msgstr "Advar hvis en typeomtvingning i C-stil benyttes"
+-
+-#: c.opt:342
+-#, fuzzy
+-msgid "Warn for obsolescent usage in a declaration"
+-msgstr "Advar om underforståede funktionserklæringer"
+-
+-#: c.opt:346
+-#, fuzzy
+-msgid "Warn if an old-style parameter definition is used"
+-msgstr "Advar når en funktionsparameter ikke benyttes"
+-
+-#: c.opt:350
+-msgid "Warn if a string is longer than the maximum portable length specified by the standard"
++#: java/lang.opt:144
++msgid "Input file is a file with a list of filenames to compile"
+ msgstr ""
+
+-#: c.opt:354
+-msgid "Warn about overloaded virtual function names"
+-msgstr "Advar om flertydige virtuelle funktionsnavne"
++#: java/lang.opt:151
++msgid "Always check for non gcj generated classes archives"
++msgstr "Kontrollér altid for ikke-GCJ-genererede klassearkiver"
+
+-#: c.opt:358
+-#, fuzzy
+-msgid "Warn about overriding initializers without side effects"
+-msgstr "Advar om ikke-klargjorte automatiske variabler"
+-
+-#: c.opt:362
+-#, fuzzy
+-msgid "Warn about possibly missing parentheses"
+-msgstr "Advar om mulige manglende paranteser"
+-
+-#: c.opt:366
+-#, fuzzy
+-msgid "Warn when converting the type of pointers to member functions"
+-msgstr "Advar ikke ved typeomdannelse af henvisninger til medlemsfunktioner"
+-
+-#: c.opt:370
+-msgid "Warn about function pointer arithmetic"
+-msgstr "Advar om beregninger på funktionshenvisninger"
+-
+-#: c.opt:374
+-#, fuzzy
+-msgid "Warn when a pointer is cast to an integer of a different size"
+-msgstr "typeomtvingelse fra henvisning til heltal af en anden størrelse"
+-
+-#: c.opt:378
+-#, fuzzy
+-msgid "Warn about misuses of pragmas"
+-msgstr "Advar om ukendte pragmaer"
+-
+-#: c.opt:382
+-#, fuzzy
+-msgid "Warn if inherited methods are unimplemented"
+-msgstr "Advar ikk hvis nedarvede metoder ikke implementeres"
+-
+-#: c.opt:386
+-msgid "Warn about multiple declarations of the same object"
+-msgstr "Advar om flere erklæring af det samme objekt"
+-
+-#: c.opt:390
+-msgid "Warn when the compiler reorders code"
+-msgstr "Advar når oversætteren ændrer på ordenen af kode"
+-
+-#: c.opt:394
+-#, fuzzy
+-msgid "Warn whenever a function's return type defaults to \"int\" (C), or about inconsistent return types (C++)"
+-msgstr "Advar når en funktions returtype antages at være int"
+-
+-#: c.opt:398
+-msgid "Warn if a selector has multiple methods"
+-msgstr "Advar hvis en vælger har flere metoder"
+-
+-#: c.opt:402
+-msgid "Warn about possible violations of sequence point rules"
+-msgstr "Advar om mulige brud på sekvenspunktreglerne"
+-
+-#: c.opt:406
+-#, fuzzy
+-msgid "Warn about signed-unsigned comparisons"
+-msgstr "Advar om sammenligninger mellem typer med og uden fortegn"
+-
+-#: c.opt:410
+-msgid "Warn when overload promotes from unsigned to signed"
+-msgstr "Advar når flertydiggørelse forfremmer fra unsigned til signed"
+-
+-#: c.opt:414
+-msgid "Warn about uncasted NULL used as sentinel"
++#: java/lang.opt:155
++msgid "Assume the runtime uses a hash table to map an object to its synchronization structure"
+ msgstr ""
+
+-#: c.opt:418
+-#, fuzzy
+-msgid "Warn about unprototyped function declarations"
+-msgstr "Advar om funktionserklæringer uden prototype"
+-
+-#: c.opt:422
+-msgid "Warn if type signatures of candidate methods do not match exactly"
++#: java/lang.opt:159
++msgid "Generate instances of Class at runtime"
+ msgstr ""
+
+-#: c.opt:426
+-msgid "Warn when synthesis behavior differs from Cfront"
+-msgstr "Advar når synteseopførslen adskiller sig fra Cfront"
++#: java/lang.opt:163
++msgid "Use offset tables for virtual method calls"
++msgstr "Benyt afsætstabeller til virtuelle metodekald"
+
+-#: c.opt:430 common.opt:182
+-msgid "Do not suppress warnings from system headers"
+-msgstr "Undertryk ikke advarsler fra systeminkluderingsfiler"
++#: java/lang.opt:170
++msgid "Assume native functions are implemented using JNI"
++msgstr "Antag at indfødte funktioner er implementeret vha. JNI"
+
+-#: c.opt:434
++#: java/lang.opt:174
+ #, fuzzy
+-msgid "Warn about features not present in traditional C"
+-msgstr "foreslår undladelse af brug af #elif i traditionel C"
++msgid "Enable optimization of static class initialization code"
++msgstr "Optimér aldrig statiske klassers klargøringskode"
+
+-#: c.opt:438
+-msgid "Warn of prototypes causing type conversions different from what would happen in the absence of prototype"
++#: java/lang.opt:181
++msgid "Reduce the amount of reflection meta-data generated"
+ msgstr ""
+
+-#: c.opt:442
+-msgid "Warn if trigraphs are encountered that might affect the meaning of the program"
+-msgstr ""
+-
+-#: c.opt:446
++#: java/lang.opt:185
+ #, fuzzy
+-msgid "Warn about @selector()s without previously declared methods"
+-msgstr "Advar om globale funktioner uden tidligere erklæringer"
++msgid "Enable assignability checks for stores into object arrays"
++msgstr "Deaktivér tildelingstjek for lagringer i objekttabeller"
+
+-#: c.opt:450
++#: java/lang.opt:189
+ #, fuzzy
+-msgid "Warn if an undefined macro is used in an #if directive"
+-msgstr "ugyldigt eller ikke-defineret #-direktiv"
++msgid "Generate code for the Boehm GC"
++msgstr "Generér kode til en C400"
+
+-#: c.opt:454
+-msgid "Warn about unrecognized pragmas"
+-msgstr "Advar om ukendte pragmaer"
+-
+-#: c.opt:458
+-msgid "Warn about macros defined in the main file that are not used"
++#: java/lang.opt:193
++msgid "Call a library routine to do integer divisions"
+ msgstr ""
+
+-#: c.opt:462
+-#, fuzzy
+-msgid "Do not warn about using variadic macros when -pedantic"
+-msgstr "Advar ikke om brug af 'long long' når -pedantic benyttes"
+-
+-#: c.opt:466
+-#, fuzzy
+-msgid "Warn if a variable length array is used"
+-msgstr "Advar når en variabel ikke benyttes"
+-
+-#: c.opt:470
+-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."
++#: java/lang.opt:197
++msgid "Generated should be loaded by bootstrap loader"
+ msgstr ""
+
+-#: c.opt:474
+-#, fuzzy
+-msgid "Warn when a pointer differs in signedness in an assignment"
+-msgstr "Advar når flertydiggørelse forfremmer fra unsigned til signed"
+-
+-#: c.opt:478
+-msgid "A synonym for -std=c89 (for C) or -std=c++98 (for C++)"
++#: java/lang.opt:201
++msgid "Set the source language version"
+ msgstr ""
+
+-#: c.opt:486
++#: java/lang.opt:205
+ #, fuzzy
+-msgid "Enforce class member access control semantics"
+-msgstr "Adlyd ikke tilgangskontrolsemantikker"
++msgid "Set the target VM version"
++msgstr "ugyldig version af hovedet"
+
+-#: c.opt:493
+-msgid "Change when template instances are emitted"
+-msgstr "Skift hvornår skabelonsinstanser udsendes"
+-
+-#: c.opt:497
++#: common.opt:28
+ #, fuzzy
+-msgid "Recognize the \"asm\" keyword"
+-msgstr "Genkend ikke det reserverede ord 'asm'"
+-
+-#: c.opt:501
+-#, fuzzy
+-msgid "Recognize built-in functions"
+-msgstr "Genkend ikke nogen indbyggede funktioner"
+-
+-#: c.opt:508
+-msgid "Check the return value of new"
+-msgstr "Kontrollér returværdien for new"
+-
+-#: c.opt:512
+-#, fuzzy
+-msgid "Allow the arguments of the '?' operator to have different types"
+-msgstr "operander til ?: har forskellige typer"
+-
+-#: c.opt:516
+-#, fuzzy
+-msgid "Reduce the size of object files"
+-msgstr "Reducér størrelsen af objektfiler"
+-
+-#: c.opt:520
+-#, fuzzy
+-msgid "Use class <name> for constant strings"
+-msgstr "Angiv alternativt navn til konstantsektionen"
+-
+-#: c.opt:524
+-#, fuzzy
+-msgid "Inline member functions by default"
+-msgstr "Integrér ikke medlemsfunktioner som standard"
+-
+-#: c.opt:528
+-#, fuzzy
+-msgid "Preprocess directives only."
+-msgstr "Behandl #ident-direktiver"
+-
+-#: c.opt:532
+-#, fuzzy
+-msgid "Permit '$' as an identifier character"
+-msgstr "formatering er en bredtegnsstreng"
+-
+-#: c.opt:539
+-#, fuzzy
+-msgid "Generate code to check exception specifications"
+-msgstr "Generér ikke kode til at kontrollere undtagelsesspecifikationer"
+-
+-#: c.opt:546
+-msgid "Convert all strings and character constants to character set <cset>"
+-msgstr ""
+-
+-#: c.opt:550
+-#, fuzzy
+-msgid "Permit universal character names (\\u and \\U) in identifiers"
+-msgstr "universelt tegn '\\u%04x' er ikke gyldigt i kaldenavne"
+-
+-#: c.opt:554
+-msgid "Specify the default character set for source files"
+-msgstr ""
+-
+-#: c.opt:562
+-#, fuzzy
+-msgid "Scope of for-init-statement variables is local to the loop"
+-msgstr "Udvid virkefeltet for variabler i for-klargøringssætninger"
+-
+-#: c.opt:566
+-#, fuzzy
+-msgid "Do not assume that standard C libraries and \"main\" exist"
+-msgstr "Antag at standardbibliotekerne og main måske ikke eksisterer"
+-
+-#: c.opt:570
+-#, fuzzy
+-msgid "Recognize GNU-defined keywords"
+-msgstr "Genkend ikke GNU-definerede reserverede ord"
+-
+-#: c.opt:574
+-msgid "Generate code for GNU runtime environment"
+-msgstr "Generér kode til GNU-kørselmiljø"
+-
+-#: c.opt:578
+-#, fuzzy
+-msgid "Use traditional GNU semantics for inline functions"
+-msgstr "traditionel C forbyder tildeling af startværdi til unioner"
+-
+-#: c.opt:591
+-msgid "Assume normal C execution environment"
+-msgstr "Antag normalt C-kørselsmiljø"
+-
+-#: c.opt:595
+-msgid "Enable support for huge objects"
+-msgstr "Aktivér understøttelse af enorme objekter"
+-
+-#: c.opt:599
+-msgid "Export functions even if they can be inlined"
+-msgstr "Eksportér funktioner også selvom de kan integreres"
+-
+-#: c.opt:603
+-#, fuzzy
+-msgid "Emit implicit instantiations of inline templates"
+-msgstr "Udsend kun eksplicitte instatieringer af indlejrede skabeloner"
+-
+-#: c.opt:607
+-#, fuzzy
+-msgid "Emit implicit instantiations of templates"
+-msgstr "Udsend kun eksplicitte instatieringer af indlejrede skabeloner"
+-
+-#: c.opt:611
+-#, fuzzy
+-msgid "Inject friend functions into enclosing namespace"
+-msgstr "Integrér simple funktioner i deres kaldere"
+-
+-#: c.opt:618
+-msgid "Allow implicit conversions between vectors with differing numbers of subparts and/or differing element types."
+-msgstr ""
+-
+-#: c.opt:622
+-#, fuzzy
+-msgid "Don't warn about uses of Microsoft extensions"
+-msgstr "Udsend ikke pedantiske advarsler om brug af Microsoft-udvidelser"
+-
+-#: c.opt:632
+-#, fuzzy
+-msgid "Generate code for NeXT (Apple Mac OS X) runtime environment"
+-msgstr "Generér kode til NeXT-kørselmiljø"
+-
+-#: c.opt:636
+-msgid "Assume that receivers of Objective-C messages may be nil"
+-msgstr ""
+-
+-#: c.opt:648
+-msgid "Generate special Objective-C methods to initialize/destroy non-POD C++ ivars, if needed"
+-msgstr ""
+-
+-#: c.opt:652
+-msgid "Allow fast jumps to the message dispatcher"
+-msgstr ""
+-
+-#: c.opt:658
+-msgid "Enable Objective-C exception and synchronization syntax"
+-msgstr ""
+-
+-#: c.opt:662
+-msgid "Enable garbage collection (GC) in Objective-C/Objective-C++ programs"
+-msgstr ""
+-
+-#: c.opt:667
+-#, fuzzy
+-msgid "Enable Objective-C setjmp exception handling runtime"
+-msgstr "Aktivér undtagelseshåndtering"
+-
+-#: c.opt:671
+-#, fuzzy
+-msgid "Enable OpenMP"
+-msgstr "Aktivér fejlanalyseringsinfo"
+-
+-#: c.opt:675
+-msgid "Recognize C++ kewords like \"compl\" and \"xor\""
+-msgstr ""
+-
+-#: c.opt:679
+-#, fuzzy
+-msgid "Enable optional diagnostics"
+-msgstr "Deaktivér valgfrie diagnosticeringer"
+-
+-#: c.opt:686
+-msgid "Look for and use PCH files even when preprocessing"
+-msgstr ""
+-
+-#: c.opt:690
+-msgid "Downgrade conformance errors to warnings"
+-msgstr "Nedgradér standardoverholdelsesfejl til advarsler"
+-
+-#: c.opt:694
+-msgid "Treat the input file as already preprocessed"
+-msgstr ""
+-
+-#: c.opt:698
+-msgid "Used in Fix-and-Continue mode to indicate that object files may be swapped in at runtime"
+-msgstr ""
+-
+-#: c.opt:702
+-msgid "Enable automatic template instantiation"
+-msgstr "Aktivér automatisk skabelonsinstantiering"
+-
+-#: c.opt:706
+-#, fuzzy
+-msgid "Generate run time type descriptor information"
+-msgstr "Generér ikke typebeskrivelsesoplysninger til kørselstidspunktet"
+-
+-#: c.opt:710
+-msgid "Use the same size for double as for float"
+-msgstr "Benyt den samme størrelse til double som til float"
+-
+-#: c.opt:718
+-#, fuzzy
+-msgid "Force the underlying type for \"wchar_t\" to be \"unsigned short\""
+-msgstr "Overskriv den underliggende type af wchar_t til 'unsigned short'"
+-
+-#: c.opt:722
+-msgid "When \"signed\" or \"unsigned\" is not given make the bitfield signed"
+-msgstr ""
+-
+-#: c.opt:726
+-#, fuzzy
+-msgid "Make \"char\" signed by default"
+-msgstr "Lad 'char' være med fortegn som standard"
+-
+-#: c.opt:733
+-msgid "Display statistics accumulated during compilation"
+-msgstr "Vis statistik som indsamles under oversættelsen"
+-
+-#: c.opt:740
+-msgid "Distance between tab stops for column reporting"
+-msgstr ""
+-
+-#: c.opt:744
+-#, fuzzy
+-msgid "Specify maximum template instantiation depth"
+-msgstr "Angiv maksimal skabelonsinstantieringsdybde"
+-
+-#: c.opt:751
+-#, fuzzy
+-msgid "Do not generate thread-safe code for initializing local statics"
+-msgstr "Generér ikke kode til nære kald"
+-
+-#: c.opt:755
+-msgid "When \"signed\" or \"unsigned\" is not given make the bitfield unsigned"
+-msgstr ""
+-
+-#: c.opt:759
+-#, fuzzy
+-msgid "Make \"char\" unsigned by default"
+-msgstr "Lad 'char' være uden fortegn som standard"
+-
+-#: c.opt:763
+-msgid "Use __cxa_atexit to register destructors"
+-msgstr "Benyt __cxa_atexit til at registrere destruktionsfunktioner"
+-
+-#: c.opt:767
+-msgid "Use __cxa_get_exception_ptr in exception handling"
+-msgstr ""
+-
+-#: c.opt:771
+-msgid "Marks all inlined methods as having hidden visibility"
+-msgstr ""
+-
+-#: c.opt:775
+-msgid "Changes visibility to match Microsoft Visual Studio by default"
+-msgstr ""
+-
+-#: c.opt:779
+-msgid "Discard unused virtual functions"
+-msgstr "Kassér ubrugte virtuelle funktioner"
+-
+-#: c.opt:783
+-msgid "Implement vtables using thunks"
+-msgstr "Implementér virtuelle tabeller vha. thunk-kode"
+-
+-#: c.opt:787
+-msgid "Emit common-like symbols as weak symbols"
+-msgstr "Udsend almindelige symboler som svage symboler"
+-
+-#: c.opt:791
+-msgid "Convert all wide strings and character constants to character set <cset>"
+-msgstr ""
+-
+-#: c.opt:795
+-msgid "Generate a #line directive pointing at the current working directory"
+-msgstr ""
+-
+-#: c.opt:799
+-msgid "Emit cross referencing information"
+-msgstr "Udsend krydsreferenceoplysninger"
+-
+-#: c.opt:803
+-msgid "Generate lazy class lookup (via objc_getClass()) for use in Zero-Link mode"
+-msgstr ""
+-
+-#: c.opt:807
+-#, fuzzy
+-msgid "Dump declarations to a .decl file"
+-msgstr "Udskriv erklæringer i en .decl-fil"
+-
+-#: c.opt:811
+-msgid "Aggressive reduced debug info for structs"
+-msgstr ""
+-
+-#: c.opt:815
+-msgid "Conservative reduced debug info for structs"
+-msgstr ""
+-
+-#: c.opt:819
+-msgid "Detailed reduced debug info for structs"
+-msgstr ""
+-
+-#: c.opt:823 c.opt:855
+-msgid "Add <dir> to the end of the system include path"
+-msgstr ""
+-
+-#: c.opt:827
+-#, fuzzy
+-msgid "Accept definition of macros in <file>"
+-msgstr "cyklus i definering af reservering '%s'"
+-
+-#: c.opt:831
+-msgid "-imultilib <dir> Set <dir> to be the multilib include subdirectory"
+-msgstr ""
+-
+-#: c.opt:835
+-msgid "Include the contents of <file> before other files"
+-msgstr ""
+-
+-#: c.opt:839
+-#, fuzzy
+-msgid "Specify <path> as a prefix for next two options"
+-msgstr "Angiv alternativt navn til tekstsektionen"
+-
+-#: c.opt:843
+-msgid "Set <dir> to be the system root directory"
+-msgstr ""
+-
+-#: c.opt:847
+-msgid "Add <dir> to the start of the system include path"
+-msgstr ""
+-
+-#: c.opt:851
+-msgid "Add <dir> to the end of the quote include path"
+-msgstr ""
+-
+-#: c.opt:872
+-msgid "Do not search standard system include directories (those specified with -isystem will still be used)"
+-msgstr ""
+-
+-#: c.opt:876
+-msgid "Do not search standard system include directories for C++"
+-msgstr ""
+-
+-#: c.opt:892
+-#, fuzzy
+-msgid "Generate C header of platform-specific features"
+-msgstr "Generér C-inkluderingsfil med platformspecifikke faciliteter"
+-
+-#: c.opt:896
+-msgid "Print a checksum of the executable for PCH validity checking, and stop"
+-msgstr ""
+-
+-#: c.opt:900
+-#, fuzzy
+-msgid "Remap file names when including files"
+-msgstr "tomt filnavn i #%s"
+-
+-#: c.opt:904
+-msgid "Conform to the ISO 1998 C++ standard"
+-msgstr ""
+-
+-#: c.opt:908
+-msgid "Conform to the ISO 1998 C++ standard, with extensions that are likely to"
+-msgstr ""
+-
+-#: c.opt:915 c.opt:950
+-msgid "Conform to the ISO 1990 C standard"
+-msgstr ""
+-
+-#: c.opt:919 c.opt:958
+-msgid "Conform to the ISO 1999 C standard"
+-msgstr ""
+-
+-#: c.opt:923
+-msgid "Deprecated in favor of -std=c99"
+-msgstr ""
+-
+-#: c.opt:927
+-msgid "Conform to the ISO 1998 C++ standard with GNU extensions"
+-msgstr ""
+-
+-#: c.opt:931
+-msgid "Conform to the ISO 1998 C++ standard, with GNU extensions and"
+-msgstr ""
+-
+-#: c.opt:938
+-msgid "Conform to the ISO 1990 C standard with GNU extensions"
+-msgstr ""
+-
+-#: c.opt:942
+-msgid "Conform to the ISO 1999 C standard with GNU extensions"
+-msgstr ""
+-
+-#: c.opt:946
+-msgid "Deprecated in favor of -std=gnu99"
+-msgstr ""
+-
+-#: c.opt:954
+-msgid "Conform to the ISO 1990 C standard as amended in 1994"
+-msgstr ""
+-
+-#: c.opt:962
+-msgid "Deprecated in favor of -std=iso9899:1999"
+-msgstr ""
+-
+-#: c.opt:966
+-#, fuzzy
+-msgid "Enable traditional preprocessing"
+-msgstr "Aktivér stakprøvning"
+-
+-#: c.opt:970
+-msgid "Support ISO C trigraphs"
+-msgstr ""
+-
+-#: c.opt:974
+-msgid "Do not predefine system-specific and GCC-specific macros"
+-msgstr ""
+-
+-#: c.opt:978
+-#, fuzzy
+-msgid "Enable verbose output"
+-msgstr "Aktivér fejlanalyseringsuddata"
+-
+-#: common.opt:27
+-#, fuzzy
+ msgid "Display this information"
+ msgstr " --help Vis disse oplysninger\n"
+
+-#: common.opt:31
++#: common.opt:32
+ msgid "Display descriptions of a specific class of options. <class> is one or more of optimizers, target, warnings, undocumented, params"
+ msgstr ""
+
+-#: common.opt:35
++#: common.opt:36
+ msgid "Alias for --help=target"
+ msgstr ""
+
+-#: common.opt:51
++#: common.opt:52
+ msgid "Set parameter <param> to value. See below for a complete list of parameters"
+ msgstr ""
+
+-#: common.opt:58
++#: common.opt:59
+ #, fuzzy
+ msgid "Put global and static data smaller than <number> bytes into a special section (on some targets)"
+ msgstr " -G <str> Anbring globale og statiske data mindre end <tal> byte i en specialsektion (på nogle målarkitekturer)\n"
+
+-#: common.opt:62
++#: common.opt:63
+ #, fuzzy
+ msgid "Set optimization level to <number>"
+ msgstr " -O[tal] Sæt optimeringsniveauet til [tal]\n"
+
+-#: common.opt:66
++#: common.opt:67
+ #, fuzzy
+ msgid "Optimize for space rather than speed"
+ msgstr " -Os Optimér mht. plads i stedet for hastighed\n"
+
+-#: common.opt:70
++#: common.opt:71
+ #, fuzzy
+ msgid "This switch is deprecated; use -Wextra instead"
+ msgstr "Angiv klassesti (forældet: benyt --classpath i stedet)"
+
+-#: common.opt:74
++#: common.opt:75
+ msgid "Warn about returning structures, unions or arrays"
+ msgstr "Advar om returnering af struct, union og tabeller"
+
+-#: common.opt:78
++#: common.opt:79
+ #, fuzzy
+ msgid "Warn if an array is accessed out of bounds"
+ msgstr "Advar hvis .class-filer er forældede"
+
+-#: common.opt:82
++#: common.opt:83
+ #, fuzzy
+ msgid "Warn about inappropriate attribute usage"
+ msgstr "Advar om beregninger på funktionshenvisninger"
+
+-#: common.opt:86
++#: common.opt:87
+ msgid "Warn about pointer casts which increase alignment"
+ msgstr "Advar om typeomtvingning af henvisninger som forøger justeringen"
+
+-#: common.opt:90
++#: common.opt:91
+ msgid "Warn about uses of __attribute__((deprecated)) declarations"
+ msgstr "Advar om brug af __attribute__((deprecated))-erklæringer"
+
+-#: common.opt:94
++#: common.opt:95
+ msgid "Warn when an optimization pass is disabled"
+ msgstr "Advar når en optimeringsfase deaktiveres"
+
+-#: common.opt:98
++#: common.opt:99
+ msgid "Treat all warnings as errors"
+ msgstr "Behandl alle advarsler som fejl"
+
+-#: common.opt:102
++#: common.opt:103
+ #, fuzzy
+ msgid "Treat specified warning as error"
+ msgstr "Behandl alle advarsler som fejl"
+
+-#: common.opt:106
++#: common.opt:107
+ msgid "Print extra (possibly unwanted) warnings"
+ msgstr ""
+
+-#: common.opt:110
++#: common.opt:111
+ msgid "Exit on the first error occurred"
+ msgstr ""
+
+-#: common.opt:114
++#: common.opt:115
+ msgid "Warn when an inlined function cannot be inlined"
+ msgstr "Advar når en inline funktion ikke kan indbygges"
+
+-#: common.opt:118
++#: common.opt:119
+ #, fuzzy
+ msgid "Warn if an object is larger than <number> bytes"
+ msgstr " -Wlarger-than-<tal> Advar hvis et objekt er større end <tal> byte\n"
+
+-#: common.opt:122
++#: common.opt:123
+ msgid "Warn when a logical operator is suspicously always evaluating to true or false"
+ msgstr ""
+
+-#: common.opt:126
++#: common.opt:127
+ msgid "Warn if the loop cannot be optimized due to nontrivial assumptions."
+ msgstr ""
+
+-#: common.opt:130
++#: common.opt:131
+ #, fuzzy
+ msgid "Warn about functions which might be candidates for __attribute__((noreturn))"
+ msgstr "Advar om funktioner som kan være kandidater til egenskaben noreturn"
+
+-#: common.opt:134
++#: common.opt:135
+ #, fuzzy
+ msgid "Warn about overflow in arithmetic expressions"
+ msgstr "kommatalsoverløb i udtryk"
+
+-#: common.opt:138
++#: common.opt:139
+ msgid "Warn when the packed attribute has no effect on struct layout"
+ msgstr "Advar når packed-egenskaben ikke har nogen effekt på struct-layoutet"
+
+-#: common.opt:142
++#: common.opt:143
+ #, fuzzy
+ msgid "Warn when padding is required to align structure members"
+ msgstr "Advar når udfyldning er påkrævet for at justere struct-medlemmer"
+
+-#: common.opt:146
++#: common.opt:147
+ msgid "Warn when one local variable shadows another"
+ msgstr "Advar når en lokal variabel skygger for en anden"
+
+-#: common.opt:150
++#: common.opt:151
+ msgid "Warn when not issuing stack smashing protection for some reason"
+ msgstr ""
+
+-#: common.opt:154 common.opt:158
++#: common.opt:155 common.opt:159
+ #, fuzzy
+ msgid "Warn about code which might break strict aliasing rules"
+ msgstr "Advar om kode som kan bryde strenge aliasregler"
+
+-#: common.opt:162 common.opt:166
++#: common.opt:163 common.opt:167
+ msgid "Warn about optimizations that assume that signed overflow is undefined"
+ msgstr ""
+
+-#: common.opt:170
++#: common.opt:171
+ msgid "Warn about enumerated switches, with no default, missing a case"
+ msgstr "Advar om switch-sætninger over enum-typer som mangler et tilfælde og ikke har default"
+
+-#: common.opt:174
++#: common.opt:175
+ #, fuzzy
+ msgid "Warn about enumerated switches missing a \"default:\" statement"
+ msgstr "Advar om switch-sætninger over enum-typer som mangler default"
+
+-#: common.opt:178
++#: common.opt:179
+ msgid "Warn about all enumerated switches missing a specific case"
+ msgstr "Advar om alle switch-sætninger over enum-typer som mangler et bestemt tilfælde"
+
+-#: common.opt:186
++#: common.opt:183 c.opt:434
++msgid "Do not suppress warnings from system headers"
++msgstr "Undertryk ikke advarsler fra systeminkluderingsfiler"
++
++#: common.opt:187
+ msgid "Warn about uninitialized automatic variables"
+ msgstr "Advar om ikke-klargjorte automatiske variabler"
+
+-#: common.opt:190
++#: common.opt:191
+ msgid "Warn about code that will never be executed"
+ msgstr "Advar om kode som aldrig bliver udført"
+
+-#: common.opt:194
++#: common.opt:195
+ msgid "Enable all -Wunused- warnings"
+ msgstr ""
+
+-#: common.opt:198
++#: common.opt:199
+ msgid "Warn when a function is unused"
+ msgstr "Advar når en funktion ikke benyttes"
+
+-#: common.opt:202
++#: common.opt:203
+ msgid "Warn when a label is unused"
+ msgstr "Advar når en etiket ikke benyttes"
+
+-#: common.opt:206
++#: common.opt:207
+ msgid "Warn when a function parameter is unused"
+ msgstr "Advar når en funktionsparameter ikke benyttes"
+
+-#: common.opt:210
++#: common.opt:211
+ msgid "Warn when an expression value is unused"
+ msgstr "Advar når værdien af et udtryk ikke benyttes"
+
+-#: common.opt:214
++#: common.opt:215
+ msgid "Warn when a variable is unused"
+ msgstr "Advar når en variabel ikke benyttes"
+
+-#: common.opt:218
++#: common.opt:219
+ #, fuzzy
+ msgid "Warn when a register variable is declared volatile"
+ msgstr "instansvariablen '%s' er erklæret privat"
+
+-#: common.opt:222
++#: common.opt:223
+ msgid "Warn instead of error in case profiles in -fprofile-use do not match"
+ msgstr ""
+
+-#: common.opt:226
++#: common.opt:227
+ #, fuzzy
+ msgid "Emit declaration information into <file>"
+ msgstr " -aux-info <fil> Udskriv erklæringsoplysninger til <fil>\n"
+
+-#: common.opt:239
++#: common.opt:240
+ #, fuzzy
+ msgid "Enable dumps from specific passes of the compiler"
+ msgstr " -d[bogstaver] Aktivér dump fra specifikke faser i oversætteren\n"
+
+-#: common.opt:243
++#: common.opt:244
+ #, fuzzy
+ msgid "Set the file basename to be used for dumps"
+ msgstr " -dumpbase <fil> Basisnavn til brug for dump fra specifikke faser\n"
+
+-#: common.opt:263
++#: common.opt:264
+ msgid "Align the start of functions"
+ msgstr "Justér begyndelsen af funktioner"
+
+-#: common.opt:270
++#: common.opt:271
+ msgid "Align labels which are only reached by jumping"
+ msgstr "Justér etiketter som kun nås ved spring"
+
+-#: common.opt:277
++#: common.opt:278
+ msgid "Align all labels"
+ msgstr "Justér alle etiketter"
+
+-#: common.opt:284
++#: common.opt:285
+ msgid "Align the start of loops"
+ msgstr "Justér begyndelsen af løkker"
+
+-#: common.opt:299
++#: common.opt:300
+ #, fuzzy
+ msgid "Specify that arguments may alias each other and globals"
+ msgstr "Angiv at parametre kan være aliaser for hinanden og for globale variable"
+
+-#: common.opt:303
++#: common.opt:304
+ msgid "Assume arguments may alias globals but not each other"
+ msgstr "Antag at parametre kan være aliaser for globale variable, men ikke for hinanden"
+
+-#: common.opt:307
++#: common.opt:308
+ #, fuzzy
+ msgid "Assume arguments alias neither each other nor globals"
+ msgstr "Antag at parametre ikke er aliaser for hinanden eller for globale variable"
+
+-#: common.opt:311
++#: common.opt:312
+ #, fuzzy
+ msgid "Assume arguments alias no other storage"
+ msgstr "Antag at parametre ikke er aliaser for hinanden eller for globale variable"
+
+-#: common.opt:315
++#: common.opt:316
+ #, fuzzy
+ msgid "Generate unwind tables that are exact at each instruction boundary"
+ msgstr "Generér afvindingstabeller eksakt for hver instruktionsgrænse"
+
+-#: common.opt:319
++#: common.opt:320
+ #, fuzzy
+ msgid "Generate auto-inc/dec instructions"
+ msgstr "Generér char-instruktioner"
+
+-#: common.opt:327
++#: common.opt:328
+ msgid "Generate code to check bounds before indexing arrays"
+ msgstr "Generér kode til at kontrollere grænserne før tabeller indekseres"
+
+ # RETMIG: rigtig?
+-#: common.opt:331
++#: common.opt:332
+ #, fuzzy
+ msgid "Replace add, compare, branch with branch on count register"
+ msgstr "Erstat tilføj,sammenlign,forgrening med forgrening på tælleregister"
+
+-#: common.opt:335
++#: common.opt:336
+ msgid "Use profiling information for branch probabilities"
+ msgstr "Benyt profileringsoplysninger til forgreningssandsynligheder"
+
+-#: common.opt:339
++#: common.opt:340
+ msgid "Perform branch target load optimization before prologue / epilogue threading"
+ msgstr ""
+
+-#: common.opt:343
++#: common.opt:344
+ msgid "Perform branch target load optimization after prologue / epilogue threading"
+ msgstr ""
+
+-#: common.opt:347
++#: common.opt:348
+ msgid "Restrict target load migration not to re-use registers in any basic block"
+ msgstr ""
+
+-#: common.opt:351
++#: common.opt:352
+ #, fuzzy
+ msgid "Mark <register> as being preserved across functions"
+ msgstr " -fcall-saved-<register> Markér <register> som værende bevaret over funktioner\n"
+
+-#: common.opt:355
++#: common.opt:356
+ #, fuzzy
+ msgid "Mark <register> as being corrupted by function calls"
+ msgstr " -fcall-used-<register> Markér <register> som værende benyttet af funktionskald\n"
+
+-#: common.opt:362
++#: common.opt:363
+ #, fuzzy
+ msgid "Save registers around function calls"
+ msgstr "Aktivér gemning af registrer omkring funktionskald"
+
+-#: common.opt:366
++#: common.opt:367
+ msgid "Compare the results of several data dependence analyzers."
+ msgstr ""
+
+-#: common.opt:370
++#: common.opt:371
+ msgid "Do not put uninitialized globals in the common section"
+ msgstr "Anbring ikke uklargjorte globale variabler i den fælles sektion"
+
+-#: common.opt:374
++#: common.opt:375
+ #, fuzzy
+ msgid "Perform a register copy-propagation optimization pass"
+ msgstr "Foretag registerkopipropageringsoptimering"
+
+-#: common.opt:378
++#: common.opt:379
+ msgid "Perform cross-jumping optimization"
+ msgstr "Udfør krydsspringsoptimering"
+
+ # RETMIG: hvad er CSE?
+-#: common.opt:382
++#: common.opt:383
+ msgid "When running CSE, follow jumps to their targets"
+ msgstr "Ved kørsel af CSE følg spring til deres mål"
+
+-#: common.opt:386
++#: common.opt:387
+ msgid "When running CSE, follow conditional jumps"
+ msgstr "Ved kørsel af CSE følg betingede spring"
+
+-#: common.opt:390
++#: common.opt:391
+ msgid "Omit range reduction step when performing complex division"
+ msgstr ""
+
+-#: common.opt:394
++#: common.opt:395
+ #, fuzzy
+ msgid "Place data items into their own section"
+ msgstr "placér dataelementer i deres egen sektion"
+
+-#: common.opt:398
++#: common.opt:399
+ msgid "List all available debugging counters with their limits and counts."
+ msgstr ""
+
+-#: common.opt:402
++#: common.opt:403
+ msgid "-fdbg-cnt=<counter>:<limit>[,<counter>:<limit>,...] Set the debug counter limit. "
+ msgstr ""
+
+-#: common.opt:406
++#: common.opt:407
+ msgid "Map one directory name to another in debug information"
+ msgstr ""
+
+-#: common.opt:412
++#: common.opt:413
+ msgid "Defer popping functions args from stack until later"
+ msgstr "Vent med fjernelse af funktionsparametre fra stakken til senere"
+
+-#: common.opt:416
++#: common.opt:417
+ msgid "Attempt to fill delay slots of branch instructions"
+ msgstr "Forsøg at udfylde ventepladser med forgreningsinstruktioner"
+
+-#: common.opt:420
++#: common.opt:421
+ msgid "Delete useless null pointer checks"
+ msgstr "Fjern ubrugelige nul-henvisningstjek"
+
+-#: common.opt:424
++#: common.opt:425
+ #, fuzzy
+ msgid "How often to emit source location at the beginning of line-wrapped diagnostics"
+ msgstr " -fdiagnostics-show-location=[once | every-line] Indikerer hvor ofte kildeplaceringsoplysninger skal udsendes som præfiks til begyndelsen af meddelelserne ved linjeombrydning\n"
+
+-#: common.opt:428
++#: common.opt:429
+ msgid "Amend appropriate diagnostic messages with the command line option that controls them"
+ msgstr ""
+
+-#: common.opt:432
++#: common.opt:433
+ msgid "Dump various compiler internals to a file"
+ msgstr ""
+
+-#: common.opt:436
++#: common.opt:437
+ #, fuzzy
+ msgid "Suppress output of addresses in debugging dumps"
+ msgstr "Undtryk udskrift af instruktionstal og linjenummernoter i fejlfindingsdump"
+
+-#: common.opt:440
++#: common.opt:441
+ #, fuzzy
+ msgid "Suppress output of instruction numbers, line number notes and addresses in debugging dumps"
+ msgstr "Undtryk udskrift af instruktionstal og linjenummernoter i fejlfindingsdump"
+
+-#: common.opt:444
++#: common.opt:445
+ #, fuzzy
+ msgid "Perform early inlining"
+ msgstr "Udfør løkkeoptimeringerne"
+
+-#: common.opt:448
++#: common.opt:449
+ msgid "Perform DWARF2 duplicate elimination"
+ msgstr "Udfør DWARF2-eliminering af dubletter"
+
+-#: common.opt:452 common.opt:456
++#: common.opt:453 common.opt:457
+ msgid "Perform unused type elimination in debug info"
+ msgstr ""
+
+-#: common.opt:460
++#: common.opt:461
+ msgid "Do not suppress C++ class debug information."
+ msgstr ""
+
+-#: common.opt:464
++#: common.opt:465
+ msgid "Enable exception handling"
+ msgstr "Aktivér undtagelseshåndtering"
+
+-#: common.opt:468
++#: common.opt:469
+ msgid "Perform a number of minor, expensive optimizations"
+ msgstr "Udfør et antal mindre, dyre optimeringer"
+
+-#: common.opt:475
++#: common.opt:476
+ #, fuzzy
+ msgid "Assume no NaNs or infinities are generated"
+ msgstr "Antag at ingen NaN eller +-Inf bliver genereret"
+
+-#: common.opt:479
++#: common.opt:480
+ #, fuzzy
+ msgid "Mark <register> as being unavailable to the compiler"
+ msgstr " -ffixed-<register> Markér <register> som værende utilgængeligt for oversætteren\n"
+
+-#: common.opt:483
++#: common.opt:484
+ #, fuzzy
+ msgid "Don't allocate floats and doubles in extended-precision registers"
+ msgstr "Kontrollér tildelingsordenen for heltalsregistrene"
+
+-#: common.opt:489
+-#, fuzzy
+-msgid "Copy memory address constants into registers before use"
+-msgstr "Kopiér hukommelsesadressekonstanter ind i registre før brug"
++#: common.opt:488 common.opt:647 common.opt:855 common.opt:986 common.opt:1061
++msgid "Does nothing. Preserved for backward compatibility."
++msgstr ""
+
+-#: common.opt:493
++#: common.opt:492
+ #, fuzzy
+ msgid "Perform a forward propagation pass on RTL"
+ msgstr "Foretag registerkopipropageringsoptimering"
+
+-#: common.opt:500
++#: common.opt:499
+ msgid "Allow function addresses to be held in registers"
+ msgstr "Tillad funktionsadresser at blive opbevaret i registre"
+
+-#: common.opt:504
++#: common.opt:503
+ #, fuzzy
+ msgid "Place each function into its own section"
+ msgstr "placér hver funktion i dens egen sektion"
+
+-#: common.opt:508
++#: common.opt:507
+ #, fuzzy
+ msgid "Perform global common subexpression elimination"
+ msgstr "Udfør global eliminering af fælles underudtryk"
+
+-#: common.opt:512
++#: common.opt:511
+ #, fuzzy
+ msgid "Perform enhanced load motion during global common subexpression elimination"
+ msgstr "Udfør forbedret indlæsningsbevægelse under eliminering af fælles underudtryk"
+
+-#: common.opt:516
++#: common.opt:515
+ #, fuzzy
+ msgid "Perform store motion after global common subexpression elimination"
+ msgstr "Udfør lagringsbevægelse efter eliminering af fælles underudtryk"
+
+-#: common.opt:520
++#: common.opt:519
+ #, fuzzy
+ msgid "Perform redundant load after store elimination in global common subexpression"
+ msgstr "Udfør forbedret indlæsningsbevægelse under eliminering af fælles underudtryk"
+
+-#: common.opt:525
++#: common.opt:524
+ #, fuzzy
+ msgid "Perform global common subexpression elimination after register allocation"
+ msgstr "Udfør global eliminering af fælles underudtryk"
+
+-#: common.opt:530
++#: common.opt:529
+ #, fuzzy
+ msgid "Enable guessing of branch probabilities"
+ msgstr "Aktivér gæt af forgreningssandsynligheder"
+
+-#: common.opt:538
++#: common.opt:537
+ msgid "Process #ident directives"
+ msgstr "Behandl #ident-direktiver"
+
+-#: common.opt:542
++#: common.opt:541
+ msgid "Perform conversion of conditional jumps to branchless equivalents"
+ msgstr "Udfør konvertering af betingede spring til forgreningsløse ækvivalenter"
+
+-#: common.opt:546
++#: common.opt:545
+ msgid "Perform conversion of conditional jumps to conditional execution"
+ msgstr "Udfør konvertering af betingede spring til betinget udførsel"
+
+-#: common.opt:554
++#: common.opt:553
+ msgid "Do not generate .size directives"
+ msgstr "Generér ikke .size-direktiver"
+
+-#: common.opt:563
++#: common.opt:562
+ #, fuzzy
+ msgid "Pay attention to the \"inline\" keyword"
+ msgstr "Læg mærke til 'inline'-nøgleordet"
+
+-#: common.opt:567
++#: common.opt:566
+ #, fuzzy
+ msgid "Integrate simple functions into their callers when code size is known to not growth"
+ msgstr "Integrér simple funktioner i deres kaldere"
+
+-#: common.opt:571
++#: common.opt:570
+ msgid "Integrate simple functions into their callers"
+ msgstr "Integrér simple funktioner i deres kaldere"
+
+-#: common.opt:575
++#: common.opt:574
+ #, fuzzy
+ msgid "Integrate functions called once into their callers"
+ msgstr "Integrér simple funktioner i deres kaldere"
+
+-#: common.opt:582
++#: common.opt:581
+ #, fuzzy
+ msgid "Limit the size of inlined functions to <number>"
+ msgstr " -finline-limit=<str> Begræns størrelsen af inlie funktion til <str>\n"
+
+-#: common.opt:586
++#: common.opt:585
+ #, fuzzy
+ msgid "Instrument function entry and exit with profiling calls"
+ msgstr "Instrumentér funktionsindgange/-afslutninger med profileringskald"
+
+-#: common.opt:590
++#: common.opt:589
+ msgid "-finstrument-functions-exclude-function-list=name,... Do not instrument listed functions"
+ msgstr ""
+
+-#: common.opt:594
++#: common.opt:593
+ msgid "-finstrument-functions-exclude-file-list=filename,... Do not instrument functions listed in files"
+ msgstr ""
+
+-#: common.opt:598
++#: common.opt:597
+ #, fuzzy
+ msgid "Perform Interprocedural constant propagation"
+ msgstr "Aktivér betinget konstant SSA-propagering"
+
+-#: common.opt:602
++#: common.opt:601
+ #, fuzzy
+ msgid "Discover pure and const functions"
+ msgstr "Kassér ubrugte virtuelle funktioner"
+
+-#: common.opt:606
++#: common.opt:605
+ msgid "Perform interprocedural points-to analysis"
+ msgstr ""
+
+-#: common.opt:610
++#: common.opt:609
+ msgid "Discover readonly and non addressable static variables"
+ msgstr ""
+
+-#: common.opt:614
++#: common.opt:613
+ msgid "Type based escape and alias analysis"
+ msgstr ""
+
+-#: common.opt:618
++#: common.opt:617
+ msgid "Perform matrix layout flattening and transposing based"
+ msgstr ""
+
+-#: common.opt:623
++#: common.opt:622
+ #, fuzzy
+ msgid "Perform structure layout optimizations based"
+ msgstr "Udfør styrkereduceringsoptimeringer"
+
+-#: common.opt:628
++#: common.opt:627
+ msgid "Optimize induction variables on trees"
+ msgstr ""
+
+-#: common.opt:632
++#: common.opt:631
+ #, fuzzy
+ msgid "Use jump tables for sufficiently large switch statements"
+ msgstr "case-etiket befinder sig ikke inden i en switch-sætning"
+
+-#: common.opt:636
++#: common.opt:635
+ #, fuzzy
+ msgid "Generate code for functions even if they are fully inlined"
+ msgstr "Generér kode for funktioner selv hvis de indlejres helt"
+
+-#: common.opt:640
++#: common.opt:639
+ msgid "Emit static const variables even if they are not used"
+ msgstr "Konstruér statiske, konstante variabler selv hvis de ikke bruges"
+
+-#: common.opt:644
++#: common.opt:643
+ #, fuzzy
+ msgid "Give external symbols a leading underscore"
+ msgstr "Eksterne symboler har indledende understreg"
+
+-#: common.opt:648 common.opt:852 common.opt:983
+-msgid "Does nothing. Preserved for backward compatibility."
+-msgstr ""
+-
+-#: common.opt:652
++#: common.opt:651
+ msgid "Set errno after built-in math functions"
+ msgstr "Sæt errno efter indbyggede matematikfunktioner"
+
+-#: common.opt:656
++#: common.opt:655
+ #, fuzzy
+ msgid "Report on permanent memory allocation"
+ msgstr "Rapportér om permanente hukommelsesallokering ved afslutningen af kørslen"
+
+-#: common.opt:663
++#: common.opt:662
+ msgid "Attempt to merge identical constants and constant variables"
+ msgstr "Forsøg at forene identiske konstanter og konstante variabler"
+
+-#: common.opt:667
++#: common.opt:666
+ msgid "Attempt to merge identical constants across compilation units"
+ msgstr "Forsøg at forene identiske konstanter over forskellige oversættelsesenheder"
+
+-#: common.opt:671
++#: common.opt:670
+ #, fuzzy
++msgid "Attempt to merge identical debug strings across compilation units"
++msgstr "Forsøg at forene identiske konstanter over forskellige oversættelsesenheder"
++
++#: common.opt:674
++#, fuzzy
+ msgid "Limit diagnostics to <number> characters per line. 0 suppresses line-wrapping"
+ msgstr " -fmessage-length=<antal> Begræns længden af diagnosticeringmeddelelser til længden <antal> tegn/linje. 0 undertrykker linjeombrydning\n"
+
+-#: common.opt:675
++#: common.opt:678
+ msgid "Perform SMS based modulo scheduling before the first scheduling pass"
+ msgstr ""
+
+-#: common.opt:679
++#: common.opt:682
+ msgid "Perform SMS based modulo scheduling with register moves allowed"
+ msgstr ""
+
+-#: common.opt:683
++#: common.opt:686
+ #, fuzzy
+ msgid "Move loop invariant computations out of loops"
+ msgstr "Tving alle løkkeinvariansberegninger ud af løkker"
+
+-#: common.opt:687
++#: common.opt:690
+ msgid "Add mudflap bounds-checking instrumentation for single-threaded program"
+ msgstr ""
+
+-#: common.opt:691
++#: common.opt:694
+ msgid "Add mudflap bounds-checking instrumentation for multi-threaded program"
+ msgstr ""
+
+-#: common.opt:695
++#: common.opt:698
+ msgid "Ignore read operations when inserting mudflap instrumentation"
+ msgstr ""
+
+-#: common.opt:699
++#: common.opt:702
+ #, fuzzy
+ msgid "Use the RTL dead code elimination pass"
+ msgstr "Aktivér aggressiv SSA-eliminering af ubrugt kode"
+
+-#: common.opt:703
++#: common.opt:706
+ #, fuzzy
+ msgid "Use the RTL dead store elimination pass"
+ msgstr "Foretag en komplet registerflytningsoptimering"
+
+-#: common.opt:707
++#: common.opt:710
+ msgid "Enable/Disable the traditional scheduling in loops that already passed modulo scheduling"
+ msgstr ""
+
+-#: common.opt:711
++#: common.opt:714
+ msgid "Support synchronous non-call exceptions"
+ msgstr "Understøt synkrone ikke-kaldende undtagelser"
+
+-#: common.opt:715
++#: common.opt:718
+ msgid "When possible do not generate stack frames"
+ msgstr "Generér ikke stakrammer når det kan undgås"
+
+-#: common.opt:719
++#: common.opt:722
+ msgid "Expand OpenMP operations on SSA form"
+ msgstr ""
+
+-#: common.opt:723
++#: common.opt:726
+ #, fuzzy
+ msgid "Do the full register move optimization pass"
+ msgstr "Foretag en komplet registerflytningsoptimering"
+
+-#: common.opt:727
++#: common.opt:730
+ msgid "Optimize sibling and tail recursive calls"
+ msgstr "Optimér søskende- og halerekursive kald"
+
+-#: common.opt:731 common.opt:735
++#: common.opt:734 common.opt:738
+ msgid "Report on memory allocation before interprocedural optimization"
+ msgstr ""
+
+-#: common.opt:739
++#: common.opt:742
+ msgid "Pack structure members together without holes"
+ msgstr "Pak strukturmedlemmer sammen uden mellemrum"
+
+-#: common.opt:743
++#: common.opt:746
+ msgid "Set initial maximum structure member alignment"
+ msgstr ""
+
+-#: common.opt:747
++#: common.opt:750
+ #, fuzzy
+ msgid "Return small aggregates in memory, not registers"
+ msgstr "Returnér små sammensatte værdier i hukommelsen, ikke i registre"
+
+-#: common.opt:751
++#: common.opt:754
+ #, fuzzy
+ msgid "Perform loop peeling"
+ msgstr "Udfør løkkeoptimeringerne"
+
+-#: common.opt:755
++#: common.opt:758
+ msgid "Enable machine specific peephole optimizations"
+ msgstr "Aktivér maskinspecifikke kighulsoptimeringer"
+
+-#: common.opt:759
++#: common.opt:762
+ #, fuzzy
+ msgid "Enable an RTL peephole pass before sched2"
+ msgstr "Aktivér en RTL-kikhulsfase før sched2"
+
+-#: common.opt:763
++#: common.opt:766
+ #, fuzzy
+ msgid "Generate position-independent code if possible (large mode)"
+ msgstr "Generér placeringsuafhængig kode, om muligt"
+
+-#: common.opt:767
++#: common.opt:770
+ #, fuzzy
+ msgid "Generate position-independent code for executables if possible (large mode)"
+ msgstr "Generér placeringsuafhængig kode, om muligt"
+
+-#: common.opt:771
++#: common.opt:774
+ #, fuzzy
+ msgid "Generate position-independent code if possible (small mode)"
+ msgstr "Generér placeringsuafhængig kode, om muligt"
+
+-#: common.opt:775
++#: common.opt:778
+ #, fuzzy
+ msgid "Generate position-independent code for executables if possible (small mode)"
+ msgstr "Generér placeringsuafhængig kode, om muligt"
+
+-#: common.opt:779
++#: common.opt:782
+ #, fuzzy
+ msgid "Run predictive commoning optimization."
+ msgstr "Aktivér en registerflytningsoptimering"
+
+-#: common.opt:783
++#: common.opt:786
+ msgid "Generate prefetch instructions, if available, for arrays in loops"
+ msgstr "Generér præhentningsinstruktioner, hvis tilgængelige, for tabeller i løkker"
+
+-#: common.opt:787
++#: common.opt:790
+ msgid "Enable basic program profiling code"
+ msgstr "Aktivér basal programprofileringskode"
+
+-#: common.opt:791
++#: common.opt:794
+ #, fuzzy
+ msgid "Insert arc-based program profiling code"
+ msgstr "Indsæt buebaseret programprofileringskode"
+
+-#: common.opt:795
++#: common.opt:798
+ msgid "Enable common options for generating profile info for profile feedback directed optimizations"
+ msgstr ""
+
+-#: common.opt:799
++#: common.opt:802
+ msgid "Enable common options for performing profile feedback directed optimizations"
+ msgstr ""
+
+-#: common.opt:803
++#: common.opt:806
+ msgid "Insert code to profile values of expressions"
+ msgstr ""
+
+-#: common.opt:810
++#: common.opt:813
+ msgid "Make compile reproducible using <string>"
+ msgstr ""
+
+-#: common.opt:820
++#: common.opt:823
+ msgid "Record gcc command line switches in the object file."
+ msgstr ""
+
+-#: common.opt:824
++#: common.opt:827
+ #, fuzzy
+ msgid "Return small aggregates in registers"
+ msgstr "Returnér små sammensatte værdier i registre"
+
+-#: common.opt:828
++#: common.opt:831
+ msgid "Enables a register move optimization"
+ msgstr "Aktivér en registerflytningsoptimering"
+
+-#: common.opt:832
++#: common.opt:835
+ #, fuzzy
+ msgid "Perform a register renaming optimization pass"
+ msgstr "Foretag registeromdøbningsoptimering"
+
+-#: common.opt:836
++#: common.opt:839
+ msgid "Reorder basic blocks to improve code placement"
+ msgstr "Omordn basisblokke for at forbedre kodeplacering"
+
+-#: common.opt:840
++#: common.opt:843
+ #, fuzzy
+ msgid "Reorder basic blocks and partition into hot and cold sections"
+ msgstr "Omordn basisblokke for at forbedre kodeplacering"
+
+-#: common.opt:844
++#: common.opt:847
+ msgid "Reorder functions to improve code placement"
+ msgstr "Omordn funktioner for at forbedre kodeplacering"
+
+-#: common.opt:848
++#: common.opt:851
+ #, fuzzy
+ msgid "Add a common subexpression elimination pass after loop optimizations"
+ msgstr "Kør CSE-fase efter løkkeoptimeringer"
+
+-#: common.opt:856
++#: common.opt:859
+ msgid "Disable optimizations that assume default FP rounding behavior"
+ msgstr ""
+
+-#: common.opt:860
++#: common.opt:863
+ msgid "Enable scheduling across basic blocks"
+ msgstr "Aktivér planlægning over basisblokke"
+
+-#: common.opt:864
++#: common.opt:867
+ msgid "Allow speculative motion of non-loads"
+ msgstr "Tillad spekulativ bevægelse af ikke-indlæsninger"
+
+-#: common.opt:868
++#: common.opt:871
+ msgid "Allow speculative motion of some loads"
+ msgstr "Tillad spekulativ bevægelse af nogle indlæsninger"
+
+-#: common.opt:872
++#: common.opt:875
+ msgid "Allow speculative motion of more loads"
+ msgstr "Tillad spekulativ bevægelse af flere indlæsninger"
+
+-#: common.opt:876
++#: common.opt:879
+ #, fuzzy
+ msgid "Set the verbosity level of the scheduler"
+ msgstr " -fsched-verbose=<tal> Angiv hvor meget planlæggeren skal fortælle\n"
+
+-#: common.opt:880
++#: common.opt:883
+ msgid "If scheduling post reload, do superblock scheduling"
+ msgstr ""
+
+-#: common.opt:884
++#: common.opt:887
+ msgid "If scheduling post reload, do trace scheduling"
+ msgstr ""
+
+-#: common.opt:888
++#: common.opt:891
+ msgid "Reschedule instructions before register allocation"
+ msgstr "Omplanlæg instruktioner før registerallokering"
+
+-#: common.opt:892
++#: common.opt:895
+ msgid "Reschedule instructions after register allocation"
+ msgstr "Omplanlæg instruktioner efter registerallokering"
+
+-#: common.opt:898
++#: common.opt:901
+ msgid "Allow premature scheduling of queued insns"
+ msgstr ""
+
+-#: common.opt:902
++#: common.opt:905
+ msgid "Set number of queued insns that can be prematurely scheduled"
+ msgstr ""
+
+-#: common.opt:910 common.opt:914
++#: common.opt:913 common.opt:917
+ msgid "Set dependence distance checking in premature scheduling of queued insns"
+ msgstr ""
+
+-#: common.opt:918
++#: common.opt:921
+ msgid "Access data in the same section from shared anchor points"
+ msgstr ""
+
+-#: common.opt:922
++#: common.opt:925
+ #, fuzzy
+ msgid "Perform sequence abstraction optimization on RTL"
+ msgstr "Udfør styrkereduceringsoptimeringer"
+
+-#: common.opt:926
++#: common.opt:929
+ msgid "Eliminate redundant sign extensions using LCM."
+ msgstr ""
+
+-#: common.opt:930
++#: common.opt:933
+ msgid "Show column numbers in diagnostics, when available. Default off"
+ msgstr ""
+
+-#: common.opt:934
++#: common.opt:937
+ msgid "Disable optimizations observable by IEEE signaling NaNs"
+ msgstr "Deaktivér optimeringer som kan opdages ved IEEE-signalerende NaN'er"
+
+-#: common.opt:938
++#: common.opt:941
+ msgid "Disable floating point optimizations that ignore the IEEE signedness of zero"
+ msgstr ""
+
+-#: common.opt:942
++#: common.opt:945
+ #, fuzzy
+ msgid "Convert floating point constants to single precision constants"
+ msgstr "Konvertér kommatalskonstanter til enkeltpræcisionskonstanter"
+
+-#: common.opt:946
++#: common.opt:949
+ msgid "Split lifetimes of induction variables when loops are unrolled"
+ msgstr ""
+
+-#: common.opt:950
++#: common.opt:953
+ msgid "Split wide types into independent registers"
+ msgstr ""
+
+-#: common.opt:954
++#: common.opt:957
+ msgid "Apply variable expansion when loops are unrolled"
+ msgstr ""
+
+-#: common.opt:960
++#: common.opt:963
+ msgid "Insert stack checking code into the program"
+ msgstr "Indsæt stakkontrolleringskode i programmet"
+
+-#: common.opt:967
++#: common.opt:970
+ msgid "Trap if the stack goes past <register>"
+ msgstr ""
+
+-#: common.opt:971
++#: common.opt:974
+ msgid "Trap if the stack goes past symbol <name>"
+ msgstr ""
+
+-#: common.opt:975
++#: common.opt:978
+ msgid "Use propolice as a stack protection method"
+ msgstr ""
+
+-#: common.opt:979
++#: common.opt:982
+ msgid "Use a stack protection method for every function"
+ msgstr ""
+
+-#: common.opt:991
++#: common.opt:994
+ msgid "Assume strict aliasing rules apply"
+ msgstr "Antag at strenge aliasregler skal anvendes"
+
+-#: common.opt:995
++#: common.opt:998
+ #, fuzzy
+ msgid "Treat signed overflow as undefined"
+ msgstr "Angiv Windows-definitioner"
+
+-#: common.opt:999
++#: common.opt:1002
+ msgid "Check for syntax errors, then stop"
+ msgstr "Kontrollér syntaks og stop derefter"
+
+-#: common.opt:1003
++#: common.opt:1006
+ #, fuzzy
+ msgid "Create data files needed by \"gcov\""
+ msgstr "Opret datafiler som gcov har brug for"
+
+-#: common.opt:1007
++#: common.opt:1010
+ msgid "Perform jump threading optimizations"
+ msgstr "Udfør springtrådningsoptimeringer"
+
+-#: common.opt:1011
++#: common.opt:1014
+ #, fuzzy
+ msgid "Report the time taken by each compiler pass"
+ msgstr "Rapportér den tid det tager for hver oversættelsesfase ved afslutningen af kørslen"
+
+-#: common.opt:1015
++#: common.opt:1018
+ #, fuzzy
+ msgid "Set the default thread-local storage code generation model"
+ msgstr " -ftls-model=[global-dynamic | local-dynamic | initial-exec | local-exec] Indikerer den forvalgte tråd-lokale lagringsmodel for kodegenerering\n"
+
+-#: common.opt:1019
++#: common.opt:1022
+ msgid "Reorder top level functions, variables, and asms"
+ msgstr ""
+
+-#: common.opt:1023
++#: common.opt:1026
+ msgid "Perform superblock formation via tail duplication"
+ msgstr "Udfør superbloksformering vha. haleduplikering"
+
+-#: common.opt:1030
++#: common.opt:1033
+ #, fuzzy
+ msgid "Assume floating-point operations can trap"
+ msgstr "Kommatalsoperationer kan fange"
+
+-#: common.opt:1034
++#: common.opt:1037
+ #, fuzzy
+ msgid "Trap for signed overflow in addition, subtraction and multiplication"
+ msgstr "Opsæt fælde for overløb med fortegn i addition/subtraktion/multiplikation"
+
+-#: common.opt:1038
++#: common.opt:1041
+ #, fuzzy
+ msgid "Enable SSA-CCP optimization on trees"
+ msgstr "Aktivér SSA-optimeringer"
+
+-#: common.opt:1042
++#: common.opt:1045
+ #, fuzzy
+ msgid "Enable SSA-CCP optimization for stores and loads"
+ msgstr "Aktivér SSA-optimeringer"
+
+-#: common.opt:1046
++#: common.opt:1049
+ msgid "Enable loop header copying on trees"
+ msgstr ""
+
+-#: common.opt:1050
++#: common.opt:1053
+ msgid "Replace SSA temporaries with better names in copies"
+ msgstr ""
+
+-#: common.opt:1054
++#: common.opt:1057
+ msgid "Enable copy propagation on trees"
+ msgstr ""
+
+-#: common.opt:1058
++#: common.opt:1065
+ #, fuzzy
+-msgid "This switch is obsolete"
+-msgstr "Denne switch mangler dokumentation"
+-
+-#: common.opt:1062
+-#, fuzzy
+ msgid "Transform condition stores into unconditional ones"
+ msgstr "Udfør konvertering af betingede spring til betinget udførsel"
+
+-#: common.opt:1066
++#: common.opt:1069
+ #, fuzzy
+ msgid "Enable SSA dead code elimination optimization on trees"
+ msgstr "Aktivér aggressiv SSA-eliminering af ubrugt kode"
+
+-#: common.opt:1070
++#: common.opt:1073
+ #, fuzzy
+ msgid "Enable dominator optimizations"
+ msgstr "Aktivér sammenkæderoptimeringer"
+
+-#: common.opt:1074
++#: common.opt:1077
+ #, fuzzy
+ msgid "Enable dead store elimination"
+ msgstr "Aktivér aggressiv SSA-eliminering af ubrugt kode"
+
+-#: common.opt:1078
++#: common.opt:1081
+ msgid "Enable Full Redundancy Elimination (FRE) on trees"
+ msgstr ""
+
+-#: common.opt:1082
++#: common.opt:1085
+ #, fuzzy
+ msgid "Enable loop invariant motion on trees"
+ msgstr "Tving alle løkkeinvariansberegninger ud af løkker"
+
+-#: common.opt:1086
++#: common.opt:1089
+ #, fuzzy
+ msgid "Enable linear loop transforms on trees"
+ msgstr "Aktivér sammenkæderoptimeringer"
+
+-#: common.opt:1090
++#: common.opt:1093
+ #, fuzzy
+ msgid "Create canonical induction variables in loops"
+ msgstr "Styrkereducér alle generelle løkkeinduktionsvariabler"
+
+-#: common.opt:1094
++#: common.opt:1097
+ #, fuzzy
+ msgid "Enable loop optimizations on tree level"
+ msgstr "Aktivér sammenkæderoptimeringer"
+
+-#: common.opt:1098
++#: common.opt:1101
+ #, fuzzy
+ msgid "Enable automatic parallelization of loops"
+ msgstr "Aktivér automatisk skabelonsinstantiering"
+
+-#: common.opt:1102
++#: common.opt:1105
+ #, fuzzy
+ msgid "Enable SSA-PRE optimization on trees"
+ msgstr "Aktivér SSA-optimeringer"
+
+-#: common.opt:1106
++#: common.opt:1109
+ msgid "Enable reassociation on tree level"
+ msgstr ""
+
+-#: common.opt:1110
++#: common.opt:1113
+ msgid "Perform structural alias analysis"
+ msgstr ""
+
+-#: common.opt:1114
++#: common.opt:1117
+ #, fuzzy
+ msgid "Enable SSA code sinking on trees"
+ msgstr "Aktivér SSA-optimeringer"
+
+-#: common.opt:1118
++#: common.opt:1121
+ msgid "Perform scalar replacement of aggregates"
+ msgstr ""
+
+-#: common.opt:1122
++#: common.opt:1125
+ msgid "Replace temporary expressions in the SSA->normal pass"
+ msgstr ""
+
+-#: common.opt:1126
++#: common.opt:1129
+ msgid "Perform live range splitting during the SSA->normal pass"
+ msgstr ""
+
+-#: common.opt:1130
++#: common.opt:1133
+ #, fuzzy
+ msgid "Perform Value Range Propagation on trees"
+ msgstr "Foretag registerkopipropageringsoptimering"
+
+-#: common.opt:1134
++#: common.opt:1137
+ #, fuzzy
+ msgid "Compile whole compilation unit at a time"
+ msgstr "Anbring hele oversættelsesenheden i en fil"
+
+-#: common.opt:1138
++#: common.opt:1141
+ msgid "Perform loop unrolling when iteration count is known"
+ msgstr "Udfør løkkeudrulning når iterationsantallet er kendt"
+
+-#: common.opt:1142
++#: common.opt:1145
+ msgid "Perform loop unrolling for all loops"
+ msgstr "Udfør løkkeudrulning for alle løkker"
+
+-#: common.opt:1149
++#: common.opt:1152
+ msgid "Allow loop optimizations to assume that the loops behave in normal way"
+ msgstr ""
+
+-#: common.opt:1153
++#: common.opt:1156
+ msgid "Allow optimization for floating-point arithmetic which may change the"
+ msgstr ""
+
+-#: common.opt:1158
++#: common.opt:1161
+ msgid "Same as -fassociative-math for expressions which include division."
+ msgstr ""
+
+-#: common.opt:1166
++#: common.opt:1169
+ #, fuzzy
+ msgid "Allow math optimizations that may violate IEEE or ISO standards"
+ msgstr "Tillad matematikoptimeringer der kan overtræde IEEE- eller ANSI-standarderne"
+
+-#: common.opt:1170
++#: common.opt:1173
+ #, fuzzy
+ msgid "Perform loop unswitching"
+ msgstr "Udfør løkkeoptimeringerne"
+
+-#: common.opt:1174
++#: common.opt:1177
+ msgid "Just generate unwind tables for exception handling"
+ msgstr "Generér blot afvindingstabeller for undtagelseshåndtering"
+
+-#: common.opt:1178
++#: common.opt:1181
+ #, fuzzy
+ msgid "Perform variable tracking"
+ msgstr "Udfør halekaldsoptimering"
+
+-#: common.opt:1182
++#: common.opt:1185
+ msgid "Perform variable tracking and also tag variables that are uninitialized"
+ msgstr ""
+
+-#: common.opt:1186
++#: common.opt:1189
+ #, fuzzy
+ msgid "Enable loop vectorization on trees"
+ msgstr "Aktivér sammenkæderoptimeringer"
+
+-#: common.opt:1190
++#: common.opt:1193
+ #, fuzzy
+ msgid "Enable use of cost model in vectorization"
+ msgstr "Aktivér brug af betingede flytteinstruktioner"
+
+-#: common.opt:1194
++#: common.opt:1197
+ msgid "Enable loop versioning when doing loop vectorization on trees"
+ msgstr ""
+
+-#: common.opt:1198
++#: common.opt:1201
+ #, fuzzy
+ msgid "Set the verbosity level of the vectorizer"
+ msgstr " -fsched-verbose=<tal> Angiv hvor meget planlæggeren skal fortælle\n"
+
+-#: common.opt:1202
++#: common.opt:1205
+ msgid "Enable copy propagation of scalar-evolution information."
+ msgstr ""
+
+-#: common.opt:1212
++#: common.opt:1215
+ msgid "Add extra commentary to assembler output"
+ msgstr "Tilføj ekstra kommentarer til menneskeligt læsbar maskinkodeuddata"
+
+-#: common.opt:1216
++#: common.opt:1219
+ msgid "Set the default symbol visibility"
+ msgstr ""
+
+-#: common.opt:1221
++#: common.opt:1224
+ #, fuzzy
+ msgid "Use expression value profiles in optimizations"
+ msgstr "Aktivér sammenkæderoptimeringer"
+
+-#: common.opt:1225
++#: common.opt:1228
+ msgid "Construct webs and split unrelated uses of single variable"
+ msgstr ""
+
+-#: common.opt:1229
++#: common.opt:1232
+ #, fuzzy
+ msgid "Perform whole program optimizations"
+ msgstr "Udfør løkkeoptimeringerne"
+
+-#: common.opt:1233
++#: common.opt:1236
+ msgid "Assume signed arithmetic overflow wraps around"
+ msgstr ""
+
+-#: common.opt:1237
++#: common.opt:1240
+ msgid "Put zero initialized data in the bss section"
+ msgstr "Anbring nul-klargjorte data i bss-sektionen"
+
+-#: common.opt:1241
++#: common.opt:1244
+ #, fuzzy
+ msgid "Generate debug information in default format"
+ msgstr "Generér fejlfindingsinfo i standardformat"
+
+-#: common.opt:1245
++#: common.opt:1248
+ #, fuzzy
+ msgid "Generate debug information in COFF format"
+ msgstr "Generér fejlfindingsinfo i standardformat"
+
+-#: common.opt:1249
++#: common.opt:1252
+ #, fuzzy
+ msgid "Generate debug information in DWARF v2 format"
+ msgstr "Generér fejlfindingsinfo i standardformat"
+
+-#: common.opt:1253
++#: common.opt:1256
+ #, fuzzy
+ msgid "Generate debug information in default extended format"
+ msgstr "Generér fejlfindingsinfo i udvidet standardformat"
+
+-#: common.opt:1257
++#: common.opt:1260
+ #, fuzzy
+ msgid "Generate debug information in STABS format"
+ msgstr "Generér fejlfindingsinfo i standardformat"
+
+-#: common.opt:1261
++#: common.opt:1264
+ #, fuzzy
+ msgid "Generate debug information in extended STABS format"
+ msgstr "Generér fejlfindingsinfo i udvidet standardformat"
+
+-#: common.opt:1265
++#: common.opt:1268
+ #, fuzzy
+ msgid "Generate debug information in VMS format"
+ msgstr "Generér fejlfindingsinfo i standardformat"
+
+-#: common.opt:1269
++#: common.opt:1272
+ #, fuzzy
+ msgid "Generate debug information in XCOFF format"
+ msgstr "Generér fejlfindingsinfo i standardformat"
+
+-#: common.opt:1273
++#: common.opt:1276
+ #, fuzzy
+ msgid "Generate debug information in extended XCOFF format"
+ msgstr "Generér fejlfindingsinfo i udvidet standardformat"
+
+-#: common.opt:1277
++#: common.opt:1280
+ #, fuzzy
+ msgid "Place output into <file>"
+ msgstr " -o <fil> Anbring uddata i <fil>\n"
+
+-#: common.opt:1281
++#: common.opt:1284
+ #, fuzzy
+ msgid "Enable function profiling"
+ msgstr "MIPS16-funktionsprofilering"
+
+-#: common.opt:1285
++#: common.opt:1288
+ #, fuzzy
+ msgid "Issue warnings needed for strict compliance to the standard"
+ msgstr " -pedantic Udsend advarsler som er nødvendige for streng overholdelse af ISO C\n"
+
+-#: common.opt:1289
++#: common.opt:1292
+ msgid "Like -pedantic but issue them as errors"
+ msgstr ""
+
+-#: common.opt:1293
++#: common.opt:1296
+ #, fuzzy
+ msgid "Do not display functions compiled or elapsed time"
+ msgstr " -quiet Vis ikke funktioner der oversættes eller forløbet tid\n"
+
+-#: common.opt:1297
++#: common.opt:1300
+ #, fuzzy
+ msgid "Display the compiler's version"
+ msgstr " -version Udskriv oversætterens version\n"
+
+-#: common.opt:1301
++#: common.opt:1304
+ #, fuzzy
+ msgid "Suppress warnings"
+ msgstr "%s: advarsel: "
+
+-#: common.opt:1305
++#: common.opt:1308
+ msgid "Create a shared library"
+ msgstr ""
+
+-#: common.opt:1309
++#: common.opt:1312
+ #, fuzzy
+ msgid "Create a position independent executable"
+ msgstr "Generér placeringsuafhængig kode, om muligt"
+
++#: c.opt:41
++msgid "Assert the <answer> to <question>. Putting '-' before <question> disables the <answer> to <question>"
++msgstr ""
++
++#: c.opt:45
++#, fuzzy
++msgid "Do not discard comments"
++msgstr "Deaktivér ikke pladsregistre"
++
++#: c.opt:49
++msgid "Do not discard comments in macro expansions"
++msgstr ""
++
++#: c.opt:53
++msgid "Define a <macro> with <val> as its value. If just <macro> is given, <val> is taken to be 1"
++msgstr ""
++
++#: c.opt:60
++msgid "Add <dir> to the end of the main framework include path"
++msgstr ""
++
++#: c.opt:64
++#, fuzzy
++msgid "Print the name of header files as they are used"
++msgstr "Udskriv navne på programenheder efterhånden som de oversættes"
++
++#: c.opt:68 c.opt:863
++msgid "Add <dir> to the end of the main include path"
++msgstr ""
++
++#: c.opt:72
++#, fuzzy
++msgid "Generate make dependencies"
++msgstr "Generér lilleendet kode"
++
++#: c.opt:76
++#, fuzzy
++msgid "Generate make dependencies and compile"
++msgstr "Generér lilleendet kode"
++
++#: c.opt:80
++msgid "Write dependency output to the given file"
++msgstr ""
++
++#: c.opt:84
++msgid "Treat missing header files as generated files"
++msgstr ""
++
++#: c.opt:88
++msgid "Like -M but ignore system header files"
++msgstr ""
++
++#: c.opt:92
++msgid "Like -MD but ignore system header files"
++msgstr ""
++
++#: c.opt:96
++#, fuzzy
++msgid "Generate phony targets for all headers"
++msgstr "Generér kode til Intel as"
++
++#: c.opt:100
++msgid "Add a MAKE-quoted target"
++msgstr ""
++
++#: c.opt:104
++msgid "Add an unquoted target"
++msgstr ""
++
++#: c.opt:108
++#, fuzzy
++msgid "Do not generate #line directives"
++msgstr "Generér ikke .size-direktiver"
++
++#: c.opt:112
++msgid "Undefine <macro>"
++msgstr ""
++
++#: c.opt:116
++msgid "Warn about things that will change when compiling with an ABI-compliant compiler"
++msgstr ""
++
++#: c.opt:120
++#, fuzzy
++msgid "Warn about suspicious uses of memory addresses"
++msgstr "Advar om mistænkelige erklæringer af main"
++
++#: c.opt:124
++msgid "Enable most warning messages"
++msgstr "Aktivér de fleste advarselsbeskeder"
++
++#: c.opt:128
++#, fuzzy
++msgid "Warn if a comparison is always true or always false due to the limited range of the data type"
++msgstr "sammenligning er altid falsk på grund af den begrænsede rækkevidde af datatypen"
++
++#: c.opt:132
++msgid "Warn whenever an Objective-C assignment is being intercepted by the garbage collector"
++msgstr ""
++
++#: c.opt:136
++msgid "Warn about casting functions to incompatible types"
++msgstr "Advar om omtvingning af funktioner til ikke-kompatible typer"
++
++#: c.opt:140
++msgid "Warn about C constructs that are not in the common subset of C and C++"
++msgstr ""
++
++#: c.opt:144
++#, fuzzy
++msgid "Warn about C++ constructs whose meaning differs between ISO C++ 1998 and ISO C++ 200x"
++msgstr "Advar om konstruktioner hvis betydning er ændret i ISO C"
++
++#: c.opt:148
++msgid "Warn about casts which discard qualifiers"
++msgstr "Advar om typeomtvingninger som forkaster modifikationer"
++
++#: c.opt:152
++#, fuzzy
++msgid "Warn about subscripts whose type is \"char\""
++msgstr "Advar som tabelindeksering hvis type er 'char'"
++
++#: c.opt:156
++#, fuzzy
++msgid "Warn about variables that might be changed by \"longjmp\" or \"vfork\""
++msgstr "variablen '%s' bliver måske overskrevet af 'longjmp' eller 'vfork'"
++
++#: c.opt:160
++msgid "Warn about possibly nested block comments, and C++ comments spanning more than one physical line"
++msgstr ""
++
++#: c.opt:164
++msgid "Synonym for -Wcomment"
++msgstr ""
++
++#: c.opt:168
++msgid "Warn for implicit type conversions that may change a value"
++msgstr ""
++
++#: c.opt:172
++#, fuzzy
++msgid "Warn for implicit type conversions between signed and unsigned integers"
++msgstr "sammenlign mellem signed og unsigned heltalsudtryk"
++
++#: c.opt:176
++#, fuzzy
++msgid "Warn when all constructors and destructors are private"
++msgstr "Advar ikke når alle konstruktions-/destruktionsfunktioner er private"
++
++#: c.opt:180
++#, fuzzy
++msgid "Warn when a declaration is found after a statement"
++msgstr "Advar når en erklæring ikke angiver en type"
++
++#: c.opt:184
++#, fuzzy
++msgid "Warn about deprecated compiler features"
++msgstr "Annoncér ikke forældelse af oversætterfaciliteter"
++
++#: c.opt:188
++#, fuzzy
++msgid "Warn about compile-time integer division by zero"
++msgstr "Advar ikke om heltalsdivision på oversættelsestidspunktet med nul"
++
++#: c.opt:192
++msgid "Warn about violations of Effective C++ style rules"
++msgstr "Advar om overtrædelser af stilreglerne fra Effective C++"
++
++#: c.opt:196
++#, fuzzy
++msgid "Warn about an empty body in an if or else statement"
++msgstr "tom krop i en else-sætning"
++
++#: c.opt:200
++msgid "Warn about stray tokens after #elif and #endif"
++msgstr ""
++
++#: c.opt:208
++#, fuzzy
++msgid "This switch is deprecated; use -Werror=implicit-function-declaration instead"
++msgstr "Angiv klassesti (forældet: benyt --classpath i stedet)"
++
++#: c.opt:212
++#, fuzzy
++msgid "Warn if testing floating point numbers for equality"
++msgstr "Advar om lighedssammenligninger mellem kommatal"
++
++#: c.opt:216
++#, fuzzy
++msgid "Warn about printf/scanf/strftime/strfmon format string anomalies"
++msgstr "Advar om printf/scanf/strftime/strfmon-formateringsanormaliteter"
++
++#: c.opt:220
++#, fuzzy
++msgid "Warn if passing too many arguments to a function for its format string"
++msgstr "for mange parametre til funktionen 'va_start'"
++
++#: c.opt:224
++#, fuzzy
++msgid "Warn about format strings that are not literals"
++msgstr "Advar om brug af multitegnskonstanter"
++
++#: c.opt:228
++#, fuzzy
++msgid "Warn about format strings that contain NUL bytes"
++msgstr "Advar om brug af multitegnskonstanter"
++
++#: c.opt:232
++msgid "Warn about possible security problems with format functions"
++msgstr "Advar om mulige sikkerhedsproblemer i forbindelse med formateringsfunktioner"
++
++#: c.opt:236
++#, fuzzy
++msgid "Warn about strftime formats yielding 2-digit years"
++msgstr "Advar ikke om strftime-formateringer med 2-cifres år"
++
++#: c.opt:240
++#, fuzzy
++msgid "Warn about zero-length formats"
++msgstr "formateringsstreng %s med længden nul"
++
++#: c.opt:247
++#, fuzzy
++msgid "Warn whenever type qualifiers are ignored."
++msgstr "Advar når trigrafer mødes"
++
++#: c.opt:251
++msgid "Warn about variables which are initialized to themselves"
++msgstr ""
++
++#: c.opt:258
++msgid "Warn about implicit function declarations"
++msgstr "Advar om underforståede funktionserklæringer"
++
++#: c.opt:262
++msgid "Warn when a declaration does not specify a type"
++msgstr "Advar når en erklæring ikke angiver en type"
++
++#: c.opt:266
++msgid "Deprecated. This switch has no effect"
++msgstr ""
++
++#: c.opt:270
++#, fuzzy
++msgid "Warn when there is a cast to a pointer from an integer of a different size"
++msgstr "typeomtvingelse fra heltal til henvisning af en anden størrelse"
++
++#: c.opt:274
++#, fuzzy
++msgid "Warn about invalid uses of the \"offsetof\" macro"
++msgstr "Advar om brug af #import-direktivet"
++
++#: c.opt:278
++msgid "Warn about PCH files that are found but not used"
++msgstr ""
++
++#: c.opt:282
++#, fuzzy
++msgid "Do not warn about using \"long long\" when -pedantic"
++msgstr "Advar ikke om brug af 'long long' når -pedantic benyttes"
++
++#: c.opt:286
++#, fuzzy
++msgid "Warn about suspicious declarations of \"main\""
++msgstr "Advar om mistænkelige erklæringer af main"
++
++#: c.opt:290
++msgid "Warn about possibly missing braces around initializers"
++msgstr "Advar om mulige manglende krøllede paranteser omkring startværdier"
++
++#: c.opt:294
++#, fuzzy
++msgid "Warn about global functions without previous declarations"
++msgstr "Advar om globale funktioner uden tidligere erklæringer"
++
++#: c.opt:298
++#, fuzzy
++msgid "Warn about missing fields in struct initializers"
++msgstr "Advar om mulige manglende krøllede paranteser omkring startværdier"
++
++#: c.opt:302
++msgid "Warn about functions which might be candidates for format attributes"
++msgstr "Advar om funktioner som kan være kandidater til formateringsegenskaber"
++
++#: c.opt:306
++msgid "Warn about user-specified include directories that do not exist"
++msgstr ""
++
++#: c.opt:310
++msgid "Warn about function parameters declared without a type specifier in K&R-style functions"
++msgstr ""
++
++#: c.opt:314
++#, fuzzy
++msgid "Warn about global functions without prototypes"
++msgstr "Advar om globale funktioner uden prototyper"
++
++#: c.opt:318
++#, fuzzy
++msgid "Warn about use of multi-character character constants"
++msgstr "Advar om brug af multitegnskonstanter"
++
++#: c.opt:322
++#, fuzzy
++msgid "Warn about \"extern\" declarations not at file scope"
++msgstr "Advar om extern-erklæringer som ikke er ved filvirkefeltsniveauet"
++
++#: c.opt:326
++#, fuzzy
++msgid "Warn when non-templatized friend functions are declared within a template"
++msgstr "Advar ikke når ikke-skabelonsvennefunktioner erklæres inde i en skabelon"
++
++#: c.opt:330
++#, fuzzy
++msgid "Warn about non-virtual destructors"
++msgstr "Advar om ikke-virtuelle destruktionsfunktioner"
++
++#: c.opt:334
++msgid "Warn about NULL being passed to argument slots marked as requiring non-NULL"
++msgstr ""
++
++#: c.opt:338
++#, fuzzy
++msgid "Warn about non-normalised Unicode strings"
++msgstr "Advar om formateringsstrenge der ikke er strengkonstanter"
++
++#: c.opt:342
++#, fuzzy
++msgid "Warn if a C-style cast is used in a program"
++msgstr "Advar hvis en typeomtvingning i C-stil benyttes"
++
++#: c.opt:346
++#, fuzzy
++msgid "Warn for obsolescent usage in a declaration"
++msgstr "Advar om underforståede funktionserklæringer"
++
++#: c.opt:350
++#, fuzzy
++msgid "Warn if an old-style parameter definition is used"
++msgstr "Advar når en funktionsparameter ikke benyttes"
++
++#: c.opt:354
++msgid "Warn if a string is longer than the maximum portable length specified by the standard"
++msgstr ""
++
++#: c.opt:358
++msgid "Warn about overloaded virtual function names"
++msgstr "Advar om flertydige virtuelle funktionsnavne"
++
++#: c.opt:362
++#, fuzzy
++msgid "Warn about overriding initializers without side effects"
++msgstr "Advar om ikke-klargjorte automatiske variabler"
++
++#: c.opt:366
++#, fuzzy
++msgid "Warn about possibly missing parentheses"
++msgstr "Advar om mulige manglende paranteser"
++
++#: c.opt:370
++#, fuzzy
++msgid "Warn when converting the type of pointers to member functions"
++msgstr "Advar ikke ved typeomdannelse af henvisninger til medlemsfunktioner"
++
++#: c.opt:374
++msgid "Warn about function pointer arithmetic"
++msgstr "Advar om beregninger på funktionshenvisninger"
++
++#: c.opt:378
++#, fuzzy
++msgid "Warn when a pointer is cast to an integer of a different size"
++msgstr "typeomtvingelse fra henvisning til heltal af en anden størrelse"
++
++#: c.opt:382
++#, fuzzy
++msgid "Warn about misuses of pragmas"
++msgstr "Advar om ukendte pragmaer"
++
++#: c.opt:386
++#, fuzzy
++msgid "Warn if inherited methods are unimplemented"
++msgstr "Advar ikk hvis nedarvede metoder ikke implementeres"
++
++#: c.opt:390
++msgid "Warn about multiple declarations of the same object"
++msgstr "Advar om flere erklæring af det samme objekt"
++
++#: c.opt:394
++msgid "Warn when the compiler reorders code"
++msgstr "Advar når oversætteren ændrer på ordenen af kode"
++
++#: c.opt:398
++#, fuzzy
++msgid "Warn whenever a function's return type defaults to \"int\" (C), or about inconsistent return types (C++)"
++msgstr "Advar når en funktions returtype antages at være int"
++
++#: c.opt:402
++msgid "Warn if a selector has multiple methods"
++msgstr "Advar hvis en vælger har flere metoder"
++
++#: c.opt:406
++msgid "Warn about possible violations of sequence point rules"
++msgstr "Advar om mulige brud på sekvenspunktreglerne"
++
++#: c.opt:410
++#, fuzzy
++msgid "Warn about signed-unsigned comparisons"
++msgstr "Advar om sammenligninger mellem typer med og uden fortegn"
++
++#: c.opt:414
++msgid "Warn when overload promotes from unsigned to signed"
++msgstr "Advar når flertydiggørelse forfremmer fra unsigned til signed"
++
++#: c.opt:418
++msgid "Warn about uncasted NULL used as sentinel"
++msgstr ""
++
++#: c.opt:422
++#, fuzzy
++msgid "Warn about unprototyped function declarations"
++msgstr "Advar om funktionserklæringer uden prototype"
++
++#: c.opt:426
++msgid "Warn if type signatures of candidate methods do not match exactly"
++msgstr ""
++
++#: c.opt:430
++msgid "Warn when synthesis behavior differs from Cfront"
++msgstr "Advar når synteseopførslen adskiller sig fra Cfront"
++
++#: c.opt:438
++#, fuzzy
++msgid "Warn about features not present in traditional C"
++msgstr "foreslår undladelse af brug af #elif i traditionel C"
++
++#: c.opt:442
++msgid "Warn of prototypes causing type conversions different from what would happen in the absence of prototype"
++msgstr ""
++
++#: c.opt:446
++msgid "Warn if trigraphs are encountered that might affect the meaning of the program"
++msgstr ""
++
++#: c.opt:450
++#, fuzzy
++msgid "Warn about @selector()s without previously declared methods"
++msgstr "Advar om globale funktioner uden tidligere erklæringer"
++
++#: c.opt:454
++#, fuzzy
++msgid "Warn if an undefined macro is used in an #if directive"
++msgstr "ugyldigt eller ikke-defineret #-direktiv"
++
++#: c.opt:458
++msgid "Warn about unrecognized pragmas"
++msgstr "Advar om ukendte pragmaer"
++
++#: c.opt:462
++msgid "Warn about macros defined in the main file that are not used"
++msgstr ""
++
++#: c.opt:466
++#, fuzzy
++msgid "Do not warn about using variadic macros when -pedantic"
++msgstr "Advar ikke om brug af 'long long' når -pedantic benyttes"
++
++#: c.opt:470
++#, fuzzy
++msgid "Warn if a variable length array is used"
++msgstr "Advar når en variabel ikke benyttes"
++
++#: c.opt:474
++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.opt:478
++#, fuzzy
++msgid "Warn when a pointer differs in signedness in an assignment"
++msgstr "Advar når flertydiggørelse forfremmer fra unsigned til signed"
++
++#: c.opt:482
++msgid "A synonym for -std=c89 (for C) or -std=c++98 (for C++)"
++msgstr ""
++
++#: c.opt:490
++#, fuzzy
++msgid "Enforce class member access control semantics"
++msgstr "Adlyd ikke tilgangskontrolsemantikker"
++
++#: c.opt:497
++msgid "Change when template instances are emitted"
++msgstr "Skift hvornår skabelonsinstanser udsendes"
++
++#: c.opt:501
++#, fuzzy
++msgid "Recognize the \"asm\" keyword"
++msgstr "Genkend ikke det reserverede ord 'asm'"
++
++#: c.opt:505
++#, fuzzy
++msgid "Recognize built-in functions"
++msgstr "Genkend ikke nogen indbyggede funktioner"
++
++#: c.opt:512
++msgid "Check the return value of new"
++msgstr "Kontrollér returværdien for new"
++
++#: c.opt:516
++#, fuzzy
++msgid "Allow the arguments of the '?' operator to have different types"
++msgstr "operander til ?: har forskellige typer"
++
++#: c.opt:520
++#, fuzzy
++msgid "Reduce the size of object files"
++msgstr "Reducér størrelsen af objektfiler"
++
++#: c.opt:524
++#, fuzzy
++msgid "Use class <name> for constant strings"
++msgstr "Angiv alternativt navn til konstantsektionen"
++
++#: c.opt:528
++#, fuzzy
++msgid "Inline member functions by default"
++msgstr "Integrér ikke medlemsfunktioner som standard"
++
++#: c.opt:532
++#, fuzzy
++msgid "Preprocess directives only."
++msgstr "Behandl #ident-direktiver"
++
++#: c.opt:536
++#, fuzzy
++msgid "Permit '$' as an identifier character"
++msgstr "formatering er en bredtegnsstreng"
++
++#: c.opt:543
++#, fuzzy
++msgid "Generate code to check exception specifications"
++msgstr "Generér ikke kode til at kontrollere undtagelsesspecifikationer"
++
++#: c.opt:550
++msgid "Convert all strings and character constants to character set <cset>"
++msgstr ""
++
++#: c.opt:554
++#, fuzzy
++msgid "Permit universal character names (\\u and \\U) in identifiers"
++msgstr "universelt tegn '\\u%04x' er ikke gyldigt i kaldenavne"
++
++#: c.opt:558
++msgid "Specify the default character set for source files"
++msgstr ""
++
++#: c.opt:566
++#, fuzzy
++msgid "Scope of for-init-statement variables is local to the loop"
++msgstr "Udvid virkefeltet for variabler i for-klargøringssætninger"
++
++#: c.opt:570
++#, fuzzy
++msgid "Do not assume that standard C libraries and \"main\" exist"
++msgstr "Antag at standardbibliotekerne og main måske ikke eksisterer"
++
++#: c.opt:574
++#, fuzzy
++msgid "Recognize GNU-defined keywords"
++msgstr "Genkend ikke GNU-definerede reserverede ord"
++
++#: c.opt:578
++msgid "Generate code for GNU runtime environment"
++msgstr "Generér kode til GNU-kørselmiljø"
++
++#: c.opt:582
++#, fuzzy
++msgid "Use traditional GNU semantics for inline functions"
++msgstr "traditionel C forbyder tildeling af startværdi til unioner"
++
++#: c.opt:595
++msgid "Assume normal C execution environment"
++msgstr "Antag normalt C-kørselsmiljø"
++
++#: c.opt:599
++msgid "Enable support for huge objects"
++msgstr "Aktivér understøttelse af enorme objekter"
++
++#: c.opt:603
++msgid "Export functions even if they can be inlined"
++msgstr "Eksportér funktioner også selvom de kan integreres"
++
++#: c.opt:607
++#, fuzzy
++msgid "Emit implicit instantiations of inline templates"
++msgstr "Udsend kun eksplicitte instatieringer af indlejrede skabeloner"
++
++#: c.opt:611
++#, fuzzy
++msgid "Emit implicit instantiations of templates"
++msgstr "Udsend kun eksplicitte instatieringer af indlejrede skabeloner"
++
++#: c.opt:615
++#, fuzzy
++msgid "Inject friend functions into enclosing namespace"
++msgstr "Integrér simple funktioner i deres kaldere"
++
++#: c.opt:622
++msgid "Allow implicit conversions between vectors with differing numbers of subparts and/or differing element types."
++msgstr ""
++
++#: c.opt:626
++#, fuzzy
++msgid "Don't warn about uses of Microsoft extensions"
++msgstr "Udsend ikke pedantiske advarsler om brug af Microsoft-udvidelser"
++
++#: c.opt:636
++#, fuzzy
++msgid "Generate code for NeXT (Apple Mac OS X) runtime environment"
++msgstr "Generér kode til NeXT-kørselmiljø"
++
++#: c.opt:640
++msgid "Assume that receivers of Objective-C messages may be nil"
++msgstr ""
++
++#: c.opt:652
++msgid "Generate special Objective-C methods to initialize/destroy non-POD C++ ivars, if needed"
++msgstr ""
++
++#: c.opt:656
++msgid "Allow fast jumps to the message dispatcher"
++msgstr ""
++
++#: c.opt:662
++msgid "Enable Objective-C exception and synchronization syntax"
++msgstr ""
++
++#: c.opt:666
++msgid "Enable garbage collection (GC) in Objective-C/Objective-C++ programs"
++msgstr ""
++
++#: c.opt:671
++#, fuzzy
++msgid "Enable Objective-C setjmp exception handling runtime"
++msgstr "Aktivér undtagelseshåndtering"
++
++#: c.opt:675
++#, fuzzy
++msgid "Enable OpenMP"
++msgstr "Aktivér fejlanalyseringsinfo"
++
++#: c.opt:679
++msgid "Recognize C++ kewords like \"compl\" and \"xor\""
++msgstr ""
++
++#: c.opt:683
++#, fuzzy
++msgid "Enable optional diagnostics"
++msgstr "Deaktivér valgfrie diagnosticeringer"
++
++#: c.opt:690
++msgid "Look for and use PCH files even when preprocessing"
++msgstr ""
++
++#: c.opt:694
++msgid "Downgrade conformance errors to warnings"
++msgstr "Nedgradér standardoverholdelsesfejl til advarsler"
++
++#: c.opt:698
++msgid "Treat the input file as already preprocessed"
++msgstr ""
++
++#: c.opt:702
++msgid "Used in Fix-and-Continue mode to indicate that object files may be swapped in at runtime"
++msgstr ""
++
++#: c.opt:706
++msgid "Enable automatic template instantiation"
++msgstr "Aktivér automatisk skabelonsinstantiering"
++
++#: c.opt:710
++#, fuzzy
++msgid "Generate run time type descriptor information"
++msgstr "Generér ikke typebeskrivelsesoplysninger til kørselstidspunktet"
++
++#: c.opt:714
++msgid "Use the same size for double as for float"
++msgstr "Benyt den samme størrelse til double som til float"
++
++#: c.opt:722
++#, fuzzy
++msgid "Force the underlying type for \"wchar_t\" to be \"unsigned short\""
++msgstr "Overskriv den underliggende type af wchar_t til 'unsigned short'"
++
++#: c.opt:726
++msgid "When \"signed\" or \"unsigned\" is not given make the bitfield signed"
++msgstr ""
++
++#: c.opt:730
++#, fuzzy
++msgid "Make \"char\" signed by default"
++msgstr "Lad 'char' være med fortegn som standard"
++
++#: c.opt:737
++msgid "Display statistics accumulated during compilation"
++msgstr "Vis statistik som indsamles under oversættelsen"
++
++#: c.opt:744
++msgid "Distance between tab stops for column reporting"
++msgstr ""
++
++#: c.opt:748
++#, fuzzy
++msgid "Specify maximum template instantiation depth"
++msgstr "Angiv maksimal skabelonsinstantieringsdybde"
++
++#: c.opt:755
++#, fuzzy
++msgid "Do not generate thread-safe code for initializing local statics"
++msgstr "Generér ikke kode til nære kald"
++
++#: c.opt:759
++msgid "When \"signed\" or \"unsigned\" is not given make the bitfield unsigned"
++msgstr ""
++
++#: c.opt:763
++#, fuzzy
++msgid "Make \"char\" unsigned by default"
++msgstr "Lad 'char' være uden fortegn som standard"
++
++#: c.opt:767
++msgid "Use __cxa_atexit to register destructors"
++msgstr "Benyt __cxa_atexit til at registrere destruktionsfunktioner"
++
++#: c.opt:771
++msgid "Use __cxa_get_exception_ptr in exception handling"
++msgstr ""
++
++#: c.opt:775
++msgid "Marks all inlined methods as having hidden visibility"
++msgstr ""
++
++#: c.opt:779
++msgid "Changes visibility to match Microsoft Visual Studio by default"
++msgstr ""
++
++#: c.opt:783
++msgid "Discard unused virtual functions"
++msgstr "Kassér ubrugte virtuelle funktioner"
++
++#: c.opt:787
++msgid "Implement vtables using thunks"
++msgstr "Implementér virtuelle tabeller vha. thunk-kode"
++
++#: c.opt:791
++msgid "Emit common-like symbols as weak symbols"
++msgstr "Udsend almindelige symboler som svage symboler"
++
++#: c.opt:795
++msgid "Convert all wide strings and character constants to character set <cset>"
++msgstr ""
++
++#: c.opt:799
++msgid "Generate a #line directive pointing at the current working directory"
++msgstr ""
++
++#: c.opt:803
++msgid "Emit cross referencing information"
++msgstr "Udsend krydsreferenceoplysninger"
++
++#: c.opt:807
++msgid "Generate lazy class lookup (via objc_getClass()) for use in Zero-Link mode"
++msgstr ""
++
++#: c.opt:811
++#, fuzzy
++msgid "Dump declarations to a .decl file"
++msgstr "Udskriv erklæringer i en .decl-fil"
++
++#: c.opt:815
++msgid "Aggressive reduced debug info for structs"
++msgstr ""
++
++#: c.opt:819
++msgid "Conservative reduced debug info for structs"
++msgstr ""
++
++#: c.opt:823
++msgid "Detailed reduced debug info for structs"
++msgstr ""
++
++#: c.opt:827 c.opt:859
++msgid "Add <dir> to the end of the system include path"
++msgstr ""
++
++#: c.opt:831
++#, fuzzy
++msgid "Accept definition of macros in <file>"
++msgstr "cyklus i definering af reservering '%s'"
++
++#: c.opt:835
++msgid "-imultilib <dir> Set <dir> to be the multilib include subdirectory"
++msgstr ""
++
++#: c.opt:839
++msgid "Include the contents of <file> before other files"
++msgstr ""
++
++#: c.opt:843
++#, fuzzy
++msgid "Specify <path> as a prefix for next two options"
++msgstr "Angiv alternativt navn til tekstsektionen"
++
++#: c.opt:847
++msgid "Set <dir> to be the system root directory"
++msgstr ""
++
++#: c.opt:851
++msgid "Add <dir> to the start of the system include path"
++msgstr ""
++
++#: c.opt:855
++msgid "Add <dir> to the end of the quote include path"
++msgstr ""
++
++#: c.opt:876
++msgid "Do not search standard system include directories (those specified with -isystem will still be used)"
++msgstr ""
++
++#: c.opt:880
++msgid "Do not search standard system include directories for C++"
++msgstr ""
++
++#: c.opt:896
++#, fuzzy
++msgid "Generate C header of platform-specific features"
++msgstr "Generér C-inkluderingsfil med platformspecifikke faciliteter"
++
++#: c.opt:900
++msgid "Print a checksum of the executable for PCH validity checking, and stop"
++msgstr ""
++
++#: c.opt:904
++#, fuzzy
++msgid "Remap file names when including files"
++msgstr "tomt filnavn i #%s"
++
++#: c.opt:908
++msgid "Conform to the ISO 1998 C++ standard"
++msgstr ""
++
++#: c.opt:912
++msgid "Conform to the ISO 1998 C++ standard, with extensions that are likely to"
++msgstr ""
++
++#: c.opt:919 c.opt:954
++msgid "Conform to the ISO 1990 C standard"
++msgstr ""
++
++#: c.opt:923 c.opt:962
++msgid "Conform to the ISO 1999 C standard"
++msgstr ""
++
++#: c.opt:927
++msgid "Deprecated in favor of -std=c99"
++msgstr ""
++
++#: c.opt:931
++msgid "Conform to the ISO 1998 C++ standard with GNU extensions"
++msgstr ""
++
++#: c.opt:935
++msgid "Conform to the ISO 1998 C++ standard, with GNU extensions and"
++msgstr ""
++
++#: c.opt:942
++msgid "Conform to the ISO 1990 C standard with GNU extensions"
++msgstr ""
++
++#: c.opt:946
++msgid "Conform to the ISO 1999 C standard with GNU extensions"
++msgstr ""
++
++#: c.opt:950
++msgid "Deprecated in favor of -std=gnu99"
++msgstr ""
++
++#: c.opt:958
++msgid "Conform to the ISO 1990 C standard as amended in 1994"
++msgstr ""
++
++#: c.opt:966
++msgid "Deprecated in favor of -std=iso9899:1999"
++msgstr ""
++
++#: c.opt:970
++#, fuzzy
++msgid "Enable traditional preprocessing"
++msgstr "Aktivér stakprøvning"
++
++#: c.opt:974
++msgid "Support ISO C trigraphs"
++msgstr ""
++
++#: c.opt:978
++msgid "Do not predefine system-specific and GCC-specific macros"
++msgstr ""
++
++#: c.opt:982
++#, fuzzy
++msgid "Enable verbose output"
++msgstr "Aktivér fejlanalyseringsuddata"
++
++#: ada/lang.opt:96
++msgid "Specify options to GNAT"
++msgstr ""
++
+ #: attribs.c:244
+ #, fuzzy, gcc-internal-format
+ msgid "%qs attribute directive ignored"
+@@ -17357,47 +17320,47 @@
+ msgid "offset outside bounds of constant string"
+ msgstr "forskydning udenfor grænserne af konstant streng"
+
+-#: builtins.c:1001
++#: builtins.c:1015
+ #, fuzzy, gcc-internal-format
+ msgid "second argument to %<__builtin_prefetch%> must be a constant"
+ msgstr "den anden parameter til '__builtin_prefetch' skal være en konstant"
+
+-#: builtins.c:1008
++#: builtins.c:1022
+ #, fuzzy, gcc-internal-format
+ msgid "invalid second argument to %<__builtin_prefetch%>; using zero"
+ msgstr "ugyldig anden parameter til '__builtin_prefetch'; benytter nul"
+
+-#: builtins.c:1016
++#: builtins.c:1030
+ #, fuzzy, gcc-internal-format
+ msgid "third argument to %<__builtin_prefetch%> must be a constant"
+ msgstr "en tredje parameter til '__builtin_prefetch' skal være en konstant"
+
+-#: builtins.c:1023
++#: builtins.c:1037
+ #, fuzzy, gcc-internal-format
+ msgid "invalid third argument to %<__builtin_prefetch%>; using zero"
+ msgstr "ugyldig tredje parameter til '__builtin_prefetch'; benytter nul"
+
+-#: builtins.c:4592
++#: builtins.c:4608
+ #, fuzzy, gcc-internal-format
+ msgid "argument of %<__builtin_args_info%> must be constant"
+ msgstr "parameteren til '__builtin_args_info' skal være konstant"
+
+-#: builtins.c:4598
++#: builtins.c:4614
+ #, fuzzy, gcc-internal-format
+ msgid "argument of %<__builtin_args_info%> out of range"
+ msgstr "parameteren til '__builtin_args_info' er uden for det gyldige interval"
+
+-#: builtins.c:4604
++#: builtins.c:4620
+ #, fuzzy, gcc-internal-format
+ msgid "missing argument in %<__builtin_args_info%>"
+ msgstr "manglende parameter i '__builtin_args_info'"
+
+-#: builtins.c:4693 gimplify.c:2117
++#: builtins.c:4709 gimplify.c:2118
+ #, fuzzy, gcc-internal-format
+ msgid "too few arguments to function %<va_start%>"
+ msgstr "for mange parametre til funktionen 'va_start'"
+
+-#: builtins.c:4857
++#: builtins.c:4872
+ #, fuzzy, gcc-internal-format
+ msgid "first argument to %<va_arg%> not of type %<va_list%>"
+ msgstr "den første parameter til 'va_arg' er ikke af typen 'va_list'"
+@@ -17405,93 +17368,103 @@
+ #. Unfortunately, this is merely undefined, rather than a constraint
+ #. violation, so we cannot make this an error. If this call is never
+ #. executed, the program is still strictly conforming.
+-#: builtins.c:4871
++#: builtins.c:4886
+ #, fuzzy, gcc-internal-format
+ msgid "%qT is promoted to %qT when passed through %<...%>"
+ msgstr "'%s' forfremmes til '%s' ved overbringelse gennem '...'"
+
+-#: builtins.c:4876
++#: builtins.c:4891
+ #, fuzzy, gcc-internal-format
+ msgid "(so you should pass %qT not %qT to %<va_arg%>)"
+ msgstr "(så du skal overbring '%s' ikke '%s' til 'va_arg')"
+
+ #. We can, however, treat "undefined" any way we please.
+ #. Call abort to encourage the user to fix the program.
+-#: builtins.c:4882 c-typeck.c:2408
++#: builtins.c:4897 c-typeck.c:2419
+ #, gcc-internal-format
+ msgid "if this code is reached, the program will abort"
+ msgstr ""
+
+-#: builtins.c:5000
++#: builtins.c:5015
+ #, fuzzy, gcc-internal-format
+ msgid "invalid argument to %<__builtin_frame_address%>"
+ msgstr "ugyldig parameter til '__builtin_frame_address'"
+
+-#: builtins.c:5002
++#: builtins.c:5017
+ #, fuzzy, gcc-internal-format
+ msgid "invalid argument to %<__builtin_return_address%>"
+ msgstr "ugyldig parameter til '__builtin_return_address'"
+
+-#: builtins.c:5015
++#: builtins.c:5030
+ #, fuzzy, gcc-internal-format
+ msgid "unsupported argument to %<__builtin_frame_address%>"
+ msgstr "ikke-understøttet parameter til '__builtin_frame_address'"
+
+-#: builtins.c:5017
++#: builtins.c:5032
+ #, fuzzy, gcc-internal-format
+ msgid "unsupported argument to %<__builtin_return_address%>"
+ msgstr "ikke-understøttet parameter til '__builtin_return_address'"
+
+-#: builtins.c:5564
++#: builtins.c:5579
+ #, fuzzy, gcc-internal-format
+ msgid "both arguments to %<__builtin___clear_cache%> must be pointers"
+ msgstr "parameteren til '__builtin_eh_return_regno' skal være konstant"
+
+ #. All valid uses of __builtin_va_arg_pack () are removed during
+ #. inlining.
+-#: builtins.c:6276 expr.c:8024
++#: builtins.c:6291 expr.c:8023
+ msgid "%Kinvalid use of %<__builtin_va_arg_pack ()%>"
+ msgstr ""
+
+ #. All valid uses of __builtin_va_arg_pack_len () are removed during
+ #. inlining.
+-#: builtins.c:6282
++#: builtins.c:6297
+ msgid "%Kinvalid use of %<__builtin_va_arg_pack_len ()%>"
+ msgstr ""
+
+-#: builtins.c:6578
++#: builtins.c:6593
+ #, fuzzy, gcc-internal-format
+ msgid "%<__builtin_longjmp%> second argument must be 1"
+ msgstr "den anden paramter til '__builtin_longjmp' skal være 1"
+
+-#: builtins.c:7209
++#: builtins.c:7224
+ #, gcc-internal-format
+ msgid "target format does not support infinity"
+ msgstr "målprocessoren understøtter ikke uendelig"
+
+-#: builtins.c:9623 builtins.c:9712
++#: builtins.c:9638 builtins.c:9727 builtins.c:10082
+ #, fuzzy, gcc-internal-format
+ msgid "non-floating-point argument to function %qs"
+ msgstr "parameter der ikke er et kommatal, til funktionen '%s'"
+
+-#: builtins.c:11303
++#: builtins.c:10446 builtins.c:10466
+ #, fuzzy, gcc-internal-format
++msgid "too few arguments to function %qs"
++msgstr "for få parametre til funktionen '%s'"
++
++#: builtins.c:10452 builtins.c:10472
++#, fuzzy, gcc-internal-format
++msgid "too many arguments to function %qs"
++msgstr "for mange parametre til funktionen '%s'"
++
++#: builtins.c:11377
++#, fuzzy, gcc-internal-format
+ msgid "%<va_start%> used in function with fixed args"
+ msgstr "`va_start' benyttet i en funktion med fast antal parametre"
+
+-#: builtins.c:11311
++#: builtins.c:11385
+ #, fuzzy, gcc-internal-format
+ msgid "wrong number of arguments to function %<va_start%>"
+ msgstr "for mange parametre til funktionen 'va_start'"
+
+ #. Evidently an out of date version of <stdarg.h>; can't validate
+ #. va_start's second argument, but can still work as intended.
+-#: builtins.c:11324
++#: builtins.c:11398
+ #, fuzzy, gcc-internal-format
+ msgid "%<__builtin_next_arg%> called without an argument"
+ msgstr "`__builtin_next_arg' kaldt uden en parameter"
+
+-#: builtins.c:11329
++#: builtins.c:11403
+ #, fuzzy, gcc-internal-format
+ msgid "wrong number of arguments to function %<__builtin_next_arg%>"
+ msgstr "forkert antal parametre angivet til egenskaben '%s'"
+@@ -17501,26 +17474,26 @@
+ #. argument. We just warn and set the arg to be the last
+ #. argument so that we will get wrong-code because of
+ #. it.
+-#: builtins.c:11358
++#: builtins.c:11432
+ #, fuzzy, gcc-internal-format
+ msgid "second parameter of %<va_start%> not last named argument"
+ msgstr "den anden parameter til 'va_start' er ikke den sidste navngivne parameter"
+
+-#: builtins.c:11472
++#: builtins.c:11546
+ #, fuzzy
+ msgid "%Kfirst argument of %D must be a pointer, second integer constant"
+ msgstr "parameteren til egenskaben '%s' er ikke en heltalskonstant"
+
+-#: builtins.c:11485
++#: builtins.c:11559
+ #, fuzzy
+ msgid "%Klast argument of %D is not integer constant between 0 and 3"
+ msgstr "parameteren til 'asm' er ikke en konstant streng"
+
+-#: builtins.c:11529 builtins.c:11693 builtins.c:11752
++#: builtins.c:11603 builtins.c:11767 builtins.c:11826
+ msgid "%Kcall to %D will always overflow destination buffer"
+ msgstr ""
+
+-#: builtins.c:11683
++#: builtins.c:11757
+ msgid "%Kcall to %D might overflow destination buffer"
+ msgstr ""
+
+@@ -17643,440 +17616,440 @@
+ msgid "conversion to %qT alters %qT constant value"
+ msgstr ""
+
+-#: c-common.c:1296
++#: c-common.c:1299
+ #, gcc-internal-format
+ msgid "conversion to %qT from %qT may change the sign of the result"
+ msgstr ""
+
+-#: c-common.c:1325
++#: c-common.c:1328
+ #, fuzzy, gcc-internal-format
+ msgid "conversion to %qT from %qT may alter its value"
+ msgstr "konvertering af '%E' fra '%T' til '%T' er tvetydigt"
+
+-#: c-common.c:1353
++#: c-common.c:1356
+ #, gcc-internal-format
+ msgid "large integer implicitly truncated to unsigned type"
+ msgstr "stort heltal forkortes underforstået til type uden fortegn"
+
+-#: c-common.c:1359 c-common.c:1366 c-common.c:1374
++#: c-common.c:1362 c-common.c:1369 c-common.c:1377
+ #, gcc-internal-format
+ msgid "overflow in implicit constant conversion"
+ msgstr "overløb i underforstået konstant konvertering"
+
+-#: c-common.c:1528
++#: c-common.c:1531
+ #, fuzzy, gcc-internal-format
+ msgid "operation on %qE may be undefined"
+ msgstr "brug af '%s' er muligvis ikke defineret"
+
+-#: c-common.c:1821
++#: c-common.c:1824
+ #, gcc-internal-format
+ msgid "case label does not reduce to an integer constant"
+ msgstr "case-etiketten kan ikke reduceres til en heltalskonstant"
+
+-#: c-common.c:1861
++#: c-common.c:1864
+ #, fuzzy, gcc-internal-format
+ msgid "case label value is less than minimum value for type"
+ msgstr "heltalskonstant er større end den maksimale værdi for dens type"
+
+-#: c-common.c:1869
++#: c-common.c:1872
+ #, fuzzy, gcc-internal-format
+ msgid "case label value exceeds maximum value for type"
+ msgstr "heltalskonstant er større end den maksimale værdi for dens type"
+
+-#: c-common.c:1877
++#: c-common.c:1880
+ #, fuzzy, gcc-internal-format
+ msgid "lower value in case label range less than minimum value for type"
+ msgstr "heltalskonstant er større end den maksimale værdi for dens type"
+
+-#: c-common.c:1886
++#: c-common.c:1889
+ #, fuzzy, gcc-internal-format
+ msgid "upper value in case label range exceeds maximum value for type"
+ msgstr "heltalskonstant er større end den maksimale værdi for dens type"
+
+-#: c-common.c:1960
++#: c-common.c:1963
+ #, gcc-internal-format
+ msgid "GCC cannot support operators with integer types and fixed-point types that have too many integral and fractional bits together"
+ msgstr ""
+
+-#: c-common.c:2450
++#: c-common.c:2453
+ #, fuzzy, gcc-internal-format
+ msgid "invalid operands to binary %s (have %qT and %qT)"
+ msgstr "ugyldige operander til binær %s"
+
+-#: c-common.c:2686
++#: c-common.c:2689
+ #, gcc-internal-format
+ msgid "comparison is always false due to limited range of data type"
+ msgstr "sammenligning er altid falsk på grund af den begrænsede rækkevidde af datatypen"
+
+-#: c-common.c:2688
++#: c-common.c:2691
+ #, gcc-internal-format
+ msgid "comparison is always true due to limited range of data type"
+ msgstr "sammenligning er altid sand på grund af den begrænsede rækkevidde af datatypen"
+
+-#: c-common.c:2767
++#: c-common.c:2770
+ #, gcc-internal-format
+ msgid "comparison of unsigned expression >= 0 is always true"
+ msgstr "sammenligning med unsigned udtryk >= 0 er altid sand"
+
+-#: c-common.c:2777
++#: c-common.c:2780
+ #, gcc-internal-format
+ msgid "comparison of unsigned expression < 0 is always false"
+ msgstr "sammenligning med unsigned udtryk < 0 er altid falsk"
+
+-#: c-common.c:2818
++#: c-common.c:2821
+ #, fuzzy, gcc-internal-format
+ msgid "pointer of type %<void *%> used in arithmetic"
+ msgstr "henvisning af typen 'void *' benyttet i udregning"
+
+-#: c-common.c:2824
++#: c-common.c:2827
+ #, gcc-internal-format
+ msgid "pointer to a function used in arithmetic"
+ msgstr "henvisning til en funktion benyttet i udregning"
+
+-#: c-common.c:2830
++#: c-common.c:2833
+ #, gcc-internal-format
+ msgid "pointer to member function used in arithmetic"
+ msgstr "henvisning til en medlemsfunktion benyttet i udregning"
+
+-#: c-common.c:2982
++#: c-common.c:2985
+ #, fuzzy, gcc-internal-format
+ msgid "the address of %qD will always evaluate as %<true%>"
+ msgstr "adressen af '%D' vil altid være 'true'"
+
+-#: c-common.c:3051 cp/semantics.c:596 cp/typeck.c:6411
++#: c-common.c:3054 cp/semantics.c:597 cp/typeck.c:6438
+ #, gcc-internal-format
+ msgid "suggest parentheses around assignment used as truth value"
+ msgstr "foreslår paranteser omkring tildeling der er benyttet som boolsk værdi"
+
+-#: c-common.c:3123 c-typeck.c:8958
++#: c-common.c:3126 c-typeck.c:8969
+ #, fuzzy, gcc-internal-format
+ msgid "invalid use of %<restrict%>"
+ msgstr "ugyldig brug af 'restrict'"
+
+-#: c-common.c:3339
++#: c-common.c:3346
+ #, fuzzy, gcc-internal-format
+ msgid "invalid application of %<sizeof%> to a function type"
+ msgstr "ugyldig anvendelse af 'sizeof' på en funktionstype"
+
+-#: c-common.c:3349
++#: c-common.c:3356
+ #, fuzzy, gcc-internal-format
+ msgid "invalid application of %qs to a void type"
+ msgstr "ugyldig anvendelse af '%s' på en void-type"
+
+-#: c-common.c:3355
++#: c-common.c:3362
+ #, fuzzy, gcc-internal-format
+ msgid "invalid application of %qs to incomplete type %qT "
+ msgstr "ugyldig anvendelse af '%s' på en ufuldstændig type"
+
+-#: c-common.c:3396
++#: c-common.c:3403
+ #, fuzzy, gcc-internal-format
+ msgid "%<__alignof%> applied to a bit-field"
+ msgstr "'__alignof' benyttet på et bitfelt"
+
+-#: c-common.c:3969
++#: c-common.c:3976
+ #, fuzzy, gcc-internal-format
+ msgid "cannot disable built-in function %qs"
+ msgstr "kan ikke deaktivere den indbyggede funktion '%s'"
+
+-#: c-common.c:4172
++#: c-common.c:4179
+ #, gcc-internal-format
+ msgid "pointers are not permitted as case values"
+ msgstr "henvisningsvariabler er ikke tilladt som case-værdier"
+
+-#: c-common.c:4178
++#: c-common.c:4185
+ #, fuzzy, gcc-internal-format
+ msgid "range expressions in switch statements are non-standard"
+ msgstr "ISO C forbyder intervaludtryk i switch-sætninger"
+
+-#: c-common.c:4204
++#: c-common.c:4211
+ #, gcc-internal-format
+ msgid "empty range specified"
+ msgstr "tomt interval angivet"
+
+-#: c-common.c:4264
++#: c-common.c:4271
+ #, gcc-internal-format
+ msgid "duplicate (or overlapping) case value"
+ msgstr "case-værdi optræder mere end én gang (måske pga. intervalsammenfald)"
+
+-#: c-common.c:4265
++#: c-common.c:4272
+ #, gcc-internal-format
+ msgid "%Jthis is the first entry overlapping that value"
+ msgstr "%Jdette er det første punkt som falder sammen med den værdi"
+
+-#: c-common.c:4269
++#: c-common.c:4276
+ #, gcc-internal-format
+ msgid "duplicate case value"
+ msgstr "case-værdi optræder mere end én gang"
+
+-#: c-common.c:4270
++#: c-common.c:4277
+ #, gcc-internal-format
+ msgid "%Jpreviously used here"
+ msgstr "%Jtidligere benyttet her"
+
+-#: c-common.c:4274
++#: c-common.c:4281
+ #, gcc-internal-format
+ msgid "multiple default labels in one switch"
+ msgstr "flere default-etiketter i én switch-konstruktion"
+
+-#: c-common.c:4275
++#: c-common.c:4282
+ #, gcc-internal-format
+ msgid "%Jthis is the first default label"
+ msgstr "%Jdette er den første default-etiket"
+
+-#: c-common.c:4324
++#: c-common.c:4331
+ #, fuzzy, gcc-internal-format
+ msgid "%Jcase value %qs not in enumerated type"
+ msgstr "case-værdien '%ld' eksisterer ikke i enum-type"
+
+-#: c-common.c:4327
++#: c-common.c:4334
+ #, fuzzy, gcc-internal-format
+ msgid "%Jcase value %qs not in enumerated type %qT"
+ msgstr "case-værdien '%ld' eksisterer ikke i enum-type"
+
+-#: c-common.c:4385
++#: c-common.c:4392
+ #, fuzzy, gcc-internal-format
+ msgid "%Hswitch missing default case"
+ msgstr "switch-konstruktion mangler default"
+
+-#: c-common.c:4448
++#: c-common.c:4455
+ #, fuzzy, gcc-internal-format
+ msgid "%Henumeration value %qE not handled in switch"
+ msgstr "enum-værdien '%s' håndteres ikke i switch-sætning"
+
+-#: c-common.c:4472
++#: c-common.c:4479
+ #, gcc-internal-format
+ msgid "taking the address of a label is non-standard"
+ msgstr "at tage adressen af en etiket følger ikke standarden"
+
+-#: c-common.c:4622
++#: c-common.c:4629
+ #, fuzzy, gcc-internal-format
+ msgid "%qE attribute ignored for field of type %qT"
+ msgstr "'%s'-egenskaben ignoreret for '%s'"
+
+-#: c-common.c:4633 c-common.c:4652 c-common.c:4670 c-common.c:4697
+-#: c-common.c:4724 c-common.c:4750 c-common.c:4769 c-common.c:4793
+-#: c-common.c:4816 c-common.c:4839 c-common.c:4860 c-common.c:4881
+-#: c-common.c:4905 c-common.c:4931 c-common.c:4968 c-common.c:4995
+-#: c-common.c:5046 c-common.c:5130 c-common.c:5160 c-common.c:5179
+-#: c-common.c:5499 c-common.c:5559 c-common.c:5580 c-common.c:5644
+-#: c-common.c:5762 c-common.c:5828 c-common.c:5877 c-common.c:5923
+-#: c-common.c:5993 c-common.c:6017 c-common.c:6301 c-common.c:6324
++#: c-common.c:4640 c-common.c:4659 c-common.c:4677 c-common.c:4704
++#: c-common.c:4731 c-common.c:4757 c-common.c:4776 c-common.c:4800
++#: c-common.c:4823 c-common.c:4846 c-common.c:4867 c-common.c:4888
++#: c-common.c:4912 c-common.c:4938 c-common.c:4975 c-common.c:5002
++#: c-common.c:5045 c-common.c:5129 c-common.c:5159 c-common.c:5178
++#: c-common.c:5498 c-common.c:5558 c-common.c:5579 c-common.c:5643
++#: c-common.c:5761 c-common.c:5827 c-common.c:5876 c-common.c:5922
++#: c-common.c:5992 c-common.c:6016 c-common.c:6301 c-common.c:6324
+ #: c-common.c:6363
+ #, fuzzy, gcc-internal-format
+ msgid "%qE attribute ignored"
+ msgstr "egenskaben '%s' ignoreret"
+
+-#: c-common.c:4715 c-common.c:4741
++#: c-common.c:4722 c-common.c:4748
+ #, fuzzy, gcc-internal-format
+ msgid "%qE attribute conflicts with attribute %s"
+ msgstr "egenskaben '%s' kan kun anvendes på variabler"
+
+-#: c-common.c:4962
++#: c-common.c:4969
+ #, fuzzy, gcc-internal-format
+ msgid "%qE attribute have effect only on public objects"
+ msgstr "'%s'-egenskaben kan kun anvendes sammen med funktioner"
+
+-#: c-common.c:5067
++#: c-common.c:5066
+ #, fuzzy, gcc-internal-format
+ msgid "destructor priorities are not supported"
+ msgstr "trampoliner understøttes ikke"
+
+-#: c-common.c:5069
++#: c-common.c:5068
+ #, fuzzy, gcc-internal-format
+ msgid "constructor priorities are not supported"
+ msgstr "trampoliner understøttes ikke"
+
+-#: c-common.c:5086
++#: c-common.c:5085
+ #, gcc-internal-format
+ msgid "destructor priorities from 0 to %d are reserved for the implementation"
+ msgstr ""
+
+-#: c-common.c:5091
++#: c-common.c:5090
+ #, gcc-internal-format
+ msgid "constructor priorities from 0 to %d are reserved for the implementation"
+ msgstr ""
+
+-#: c-common.c:5099
++#: c-common.c:5098
+ #, gcc-internal-format
+ msgid "destructor priorities must be integers from 0 to %d inclusive"
+ msgstr ""
+
+-#: c-common.c:5102
++#: c-common.c:5101
+ #, gcc-internal-format
+ msgid "constructor priorities must be integers from 0 to %d inclusive"
+ msgstr ""
+
+-#: c-common.c:5221
++#: c-common.c:5220
+ #, fuzzy, gcc-internal-format
+ msgid "unknown machine mode %qs"
+ msgstr "ukendt maskintilstand '%s'"
+
+-#: c-common.c:5250
++#: c-common.c:5249
+ #, gcc-internal-format
+ msgid "specifying vector types with __attribute__ ((mode)) is deprecated"
+ msgstr ""
+
+-#: c-common.c:5253
++#: c-common.c:5252
+ #, fuzzy, gcc-internal-format
+ msgid "use __attribute__ ((vector_size)) instead"
+ msgstr "egenskabsdirektivet '%s' ignoreret"
+
+-#: c-common.c:5262
++#: c-common.c:5261
+ #, fuzzy, gcc-internal-format
+ msgid "unable to emulate %qs"
+ msgstr "kunne ikke emulere '%s'"
+
+-#: c-common.c:5272
++#: c-common.c:5271
+ #, fuzzy, gcc-internal-format
+ msgid "invalid pointer mode %qs"
+ msgstr "ugyldig henvisningstilstand '%s'"
+
+-#: c-common.c:5289
++#: c-common.c:5288
+ #, fuzzy, gcc-internal-format
+ msgid "signness of type and machine mode %qs don't match"
+ msgstr "#-linjer til at træde ind og ud af filer passer ikke"
+
+-#: c-common.c:5300
++#: c-common.c:5299
+ #, fuzzy, gcc-internal-format
+ msgid "no data type for mode %qs"
+ msgstr "ingen datatype til tilstanden '%s'"
+
+-#: c-common.c:5310
++#: c-common.c:5309
+ #, fuzzy, gcc-internal-format
+ msgid "cannot use mode %qs for enumeral types"
+ msgstr "kan ikke konverteres til en henvisningstype"
+
+-#: c-common.c:5337
++#: c-common.c:5336
+ #, fuzzy, gcc-internal-format
+ msgid "mode %qs applied to inappropriate type"
+ msgstr "'sigof' benyttet på en type der ikke er sammensat"
+
+-#: c-common.c:5368
++#: c-common.c:5367
+ #, fuzzy, gcc-internal-format
+ msgid "%Jsection attribute cannot be specified for local variables"
+ msgstr "sektionsegenskaben kan ikke angives for lokale variabler"
+
+-#: c-common.c:5379 config/bfin/bfin.c:4879 config/bfin/bfin.c:4930
++#: c-common.c:5378 config/bfin/bfin.c:4982 config/bfin/bfin.c:5033
+ #, fuzzy, gcc-internal-format
+ msgid "section of %q+D conflicts with previous declaration"
+ msgstr "sektionen '%s' strider mod tidligere erklæring"
+
+-#: c-common.c:5388
++#: c-common.c:5387
+ #, fuzzy, gcc-internal-format
+ msgid "section attribute not allowed for %q+D"
+ msgstr "sektionsegenskaben er ikke tilladt for '%s'"
+
+-#: c-common.c:5394
++#: c-common.c:5393
+ #, fuzzy, gcc-internal-format
+ msgid "%Jsection attributes are not supported for this target"
+ msgstr "sektionsegenskaber understøttes ikke på denne målarkitektur"
+
+-#: c-common.c:5426
++#: c-common.c:5425
+ #, gcc-internal-format
+ msgid "requested alignment is not a constant"
+ msgstr "angivet justering er ikke en konstant"
+
+-#: c-common.c:5431
++#: c-common.c:5430
+ #, gcc-internal-format
+ msgid "requested alignment is not a power of 2"
+ msgstr "angivet justering er ikke en potens af 2"
+
+-#: c-common.c:5436
++#: c-common.c:5435
+ #, gcc-internal-format
+ msgid "requested alignment is too large"
+ msgstr "angivet justering er for stor"
+
+-#: c-common.c:5462
++#: c-common.c:5461
+ #, fuzzy, gcc-internal-format
+ msgid "alignment may not be specified for %q+D"
+ msgstr "justering må ikke angives for '%s'"
+
+-#: c-common.c:5469
++#: c-common.c:5468
+ #, gcc-internal-format
+ msgid "alignment for %q+D was previously specified as %d and may not be decreased"
+ msgstr ""
+
+-#: c-common.c:5473
++#: c-common.c:5472
+ #, fuzzy, gcc-internal-format
+ msgid "alignment for %q+D must be at least %d"
+ msgstr "parameter til '%s' skal være en 2 bit-konstant"
+
+-#: c-common.c:5522
++#: c-common.c:5521
+ #, fuzzy, gcc-internal-format
+ msgid "%q+D defined both normally and as an alias"
+ msgstr "'%s' er defineret både normalt og som et alias"
+
+-#: c-common.c:5538
++#: c-common.c:5537
+ #, fuzzy, gcc-internal-format
+ msgid "alias argument not a string"
+ msgstr "aliasparameter er ikke en streng"
+
+-#: c-common.c:5601
++#: c-common.c:5600
+ #, gcc-internal-format
+ msgid "%Jweakref attribute must appear before alias attribute"
+ msgstr ""
+
+-#: c-common.c:5631
++#: c-common.c:5630
+ #, fuzzy, gcc-internal-format
+ msgid "%qE attribute ignored on non-class types"
+ msgstr "'%s'-egenskaben ignoreret for '%s'"
+
+-#: c-common.c:5637
++#: c-common.c:5636
+ #, fuzzy, gcc-internal-format
+ msgid "%qE attribute ignored because %qT is already defined"
+ msgstr "'%s' brugt, men aldrig defineret"
+
+-#: c-common.c:5650
++#: c-common.c:5649
+ #, fuzzy, gcc-internal-format
+ msgid "visibility argument not a string"
+ msgstr "synlighedsparameter er ikke en streng"
+
+-#: c-common.c:5662
++#: c-common.c:5661
+ #, fuzzy, gcc-internal-format
+ msgid "%qE attribute ignored on types"
+ msgstr "'%s'-egenskaben ignoreret for '%s'"
+
+-#: c-common.c:5678
++#: c-common.c:5677
+ #, fuzzy, gcc-internal-format
+ msgid "visibility argument must be one of \"default\", \"hidden\", \"protected\" or \"internal\""
+ msgstr "synlighedsparameter skal være en af \"default\", \"hidden\", \"protected\" eller \"internal\""
+
+-#: c-common.c:5689
++#: c-common.c:5688
+ #, fuzzy, gcc-internal-format
+ msgid "%qD redeclared with different visibility"
+ msgstr "'%#D' omerklæret som en anden form for symbol"
+
+-#: c-common.c:5692 c-common.c:5696
++#: c-common.c:5691 c-common.c:5695
+ #, gcc-internal-format
+ msgid "%qD was declared %qs which implies default visibility"
+ msgstr ""
+
+-#: c-common.c:5770
++#: c-common.c:5769
+ #, fuzzy, gcc-internal-format
+ msgid "tls_model argument not a string"
+ msgstr "tls_model-parameter er ikke en streng"
+
+-#: c-common.c:5783
++#: c-common.c:5782
+ #, fuzzy, gcc-internal-format
+ msgid "tls_model argument must be one of \"local-exec\", \"initial-exec\", \"local-dynamic\" or \"global-dynamic\""
+ msgstr "tls_model-parameter skal være en af \"local-exec\", \"initial-exec\", \"local-dynamic\" eller \"global-dynamic\""
+
+-#: c-common.c:5802 c-common.c:5897
++#: c-common.c:5801 c-common.c:5896
+ #, fuzzy, gcc-internal-format
+ msgid "%J%qE attribute applies only to functions"
+ msgstr "'%s'-egenskaben kan kun anvendes sammen med funktioner"
+
+-#: c-common.c:5807 c-common.c:5902
++#: c-common.c:5806 c-common.c:5901
+ #, fuzzy, gcc-internal-format
+ msgid "%Jcan%'t set %qE attribute after definition"
+ msgstr "kan ikke angive '%s'-egenskaben efter definitionen"
+
+-#: c-common.c:5858
++#: c-common.c:5857
+ #, gcc-internal-format
+ msgid "alloc_size parameter outside range"
+ msgstr ""
+
+-#: c-common.c:5991
++#: c-common.c:5990
+ #, fuzzy, gcc-internal-format
+ msgid "%qE attribute ignored for %qE"
+ msgstr "'%s'-egenskaben ignoreret for '%s'"
+@@ -18186,7 +18159,7 @@
+ msgid "cannot apply %<offsetof%> when %<operator[]%> is overloaded"
+ msgstr ""
+
+-#: c-common.c:6818 cp/typeck.c:4525
++#: c-common.c:6818 cp/typeck.c:4533
+ #, fuzzy, gcc-internal-format
+ msgid "attempt to take address of bit-field structure member %qD"
+ msgstr "forsøg på at finde adressen af bitfeltstrukturmedlemmet '%D'"
+@@ -18221,14 +18194,14 @@
+ msgid "size of array is too large"
+ msgstr "størrelsen af tabellen '%s' er for stor"
+
+-#: c-common.c:7041 c-common.c:7090 c-typeck.c:2705
++#: c-common.c:7041 c-common.c:7090 c-typeck.c:2716
+ #, fuzzy, gcc-internal-format
+ msgid "too few arguments to function %qE"
+ msgstr "for få parametre til funktionen"
+
+ #. ??? This should not be an error when inlining calls to
+ #. unprototyped functions.
+-#: c-common.c:7058 c-typeck.c:4374
++#: c-common.c:7058 c-typeck.c:4385
+ #, fuzzy, gcc-internal-format
+ msgid "incompatible type for argument %d of %qE"
+ msgstr "typen af den %d. parameter i '%s' passer ikke"
+@@ -18308,8 +18281,8 @@
+ #. an unprototyped function, it is compile-time undefined;
+ #. making it a constraint in that case was rejected in
+ #. DR#252.
+-#: c-convert.c:95 c-typeck.c:1775 c-typeck.c:4012 cp/typeck.c:1502
+-#: cp/typeck.c:5717 cp/typeck.c:6325 fortran/convert.c:88
++#: c-convert.c:95 c-typeck.c:1785 c-typeck.c:4023 cp/typeck.c:1548
++#: cp/typeck.c:5725 cp/typeck.c:6352 fortran/convert.c:88
+ #: treelang/tree-convert.c:79
+ #, gcc-internal-format
+ msgid "void value not ignored as it ought to be"
+@@ -18321,104 +18294,104 @@
+ msgid "conversion to non-scalar type requested"
+ msgstr "konvertering til ikke-skalartype udbedt"
+
+-#: c-decl.c:546
++#: c-decl.c:547
+ #, fuzzy, gcc-internal-format
+ msgid "array %q+D assumed to have one element"
+ msgstr "tabellen '%s' antages kun at have ét element"
+
+-#: c-decl.c:651
++#: c-decl.c:652
+ #, gcc-internal-format
+ msgid "GCC supports only %u nested scopes"
+ msgstr ""
+
+-#: c-decl.c:737 cp/decl.c:358
++#: c-decl.c:738 cp/decl.c:359
+ #, fuzzy, gcc-internal-format
+ msgid "label %q+D used but not defined"
+ msgstr "etiketten '%D' er benyttet, men ikke defineret"
+
+-#: c-decl.c:778
++#: c-decl.c:779
+ #, fuzzy, gcc-internal-format
+ msgid "nested function %q+D declared but never defined"
+ msgstr "indbygget funktion '%D' benyttet, men aldrig defineret"
+
+-#: c-decl.c:788
++#: c-decl.c:789
+ #, fuzzy, gcc-internal-format
+ msgid "inline function %q+D declared but never defined"
+ msgstr "indbygget funktion '%D' benyttet, men aldrig defineret"
+
+-#: c-decl.c:801 cp/decl.c:608
++#: c-decl.c:802 cp/decl.c:609
+ #, fuzzy, gcc-internal-format
+ msgid "unused variable %q+D"
+ msgstr "ubrugt variabel '%s'"
+
+-#: c-decl.c:805
++#: c-decl.c:806
+ #, gcc-internal-format
+ msgid "type of array %q+D completed incompatibly with implicit initialization"
+ msgstr ""
+
+-#: c-decl.c:1039
++#: c-decl.c:1040
+ #, fuzzy, gcc-internal-format
+ msgid "a parameter list with an ellipsis can%'t match an empty parameter name list declaration"
+ msgstr "en parameterliste med '...' passer ikke til en erklæring med en tom parameterliste"
+
+-#: c-decl.c:1046
++#: c-decl.c:1047
+ #, fuzzy, gcc-internal-format
+ msgid "an argument type that has a default promotion can%'t match an empty parameter name list declaration"
+ msgstr "en parametertype med automatisk forfremmelse passer ikke til en erklæring med en tom parameterliste"
+
+-#: c-decl.c:1087
++#: c-decl.c:1088
+ #, fuzzy, gcc-internal-format
+ msgid "prototype for %q+D declares more arguments than previous old-style definition"
+ msgstr "følger definition uden prototype her"
+
+-#: c-decl.c:1093
++#: c-decl.c:1094
+ #, fuzzy, gcc-internal-format
+ msgid "prototype for %q+D declares fewer arguments than previous old-style definition"
+ msgstr "følger definition uden prototype her"
+
+-#: c-decl.c:1102
++#: c-decl.c:1103
+ #, fuzzy, gcc-internal-format
+ msgid "prototype for %q+D declares argument %d with incompatible type"
+ msgstr "prototypen for '%s' følger og den %d. parameter passer ikke"
+
+ #. If we get here, no errors were found, but do issue a warning
+ #. for this poor-style construct.
+-#: c-decl.c:1115
++#: c-decl.c:1116
+ #, fuzzy, gcc-internal-format
+ msgid "prototype for %q+D follows non-prototype definition"
+ msgstr "følger definition uden prototype her"
+
+-#: c-decl.c:1130
++#: c-decl.c:1131
+ #, fuzzy, gcc-internal-format
+ msgid "previous definition of %q+D was here"
+ msgstr "tidligere definition her"
+
+-#: c-decl.c:1132
++#: c-decl.c:1133
+ #, fuzzy, gcc-internal-format
+ msgid "previous implicit declaration of %q+D was here"
+ msgstr "tidligere underforstået erklæring af '%s'"
+
+-#: c-decl.c:1134
++#: c-decl.c:1135
+ #, fuzzy, gcc-internal-format
+ msgid "previous declaration of %q+D was here"
+ msgstr "tidligere erklæring af '%#D' her"
+
+-#: c-decl.c:1174
++#: c-decl.c:1175
+ #, fuzzy, gcc-internal-format
+ msgid "%q+D redeclared as different kind of symbol"
+ msgstr "'%#D' omerklæret som en anden form for symbol"
+
+-#: c-decl.c:1178
++#: c-decl.c:1179
+ #, fuzzy, gcc-internal-format
+ msgid "built-in function %q+D declared as non-function"
+ msgstr "den indbyggede funktion '%s' er erklæret som noget der ikke er en funktion"
+
+-#: c-decl.c:1181 c-decl.c:1298 c-decl.c:1983
++#: c-decl.c:1182 c-decl.c:1299 c-decl.c:1988
+ #, fuzzy, gcc-internal-format
+ msgid "declaration of %q+D shadows a built-in function"
+ msgstr "erklæring af '%s' skygger for en global erklæring"
+
+-#: c-decl.c:1190
++#: c-decl.c:1191
+ #, fuzzy, gcc-internal-format
+ msgid "redeclaration of enumerator %q+D"
+ msgstr "omerklæring af 'enum %s'"
+@@ -18426,275 +18399,275 @@
+ #. If types don't match for a built-in, throw away the
+ #. built-in. No point in calling locate_old_decl here, it
+ #. won't print anything.
+-#: c-decl.c:1211
++#: c-decl.c:1212
+ #, fuzzy, gcc-internal-format
+ msgid "conflicting types for built-in function %q+D"
+ msgstr "modstridende typer for den indbyggede funktion '%s'"
+
+-#: c-decl.c:1235 c-decl.c:1248 c-decl.c:1258
++#: c-decl.c:1236 c-decl.c:1249 c-decl.c:1259
+ #, fuzzy, gcc-internal-format
+ msgid "conflicting types for %q+D"
+ msgstr "modstridende typer for '%#D'"
+
+-#: c-decl.c:1256
++#: c-decl.c:1257
+ #, fuzzy, gcc-internal-format
+ msgid "conflicting type qualifiers for %q+D"
+ msgstr "modstridende typer for '%#D'"
+
+ #. Allow OLDDECL to continue in use.
+-#: c-decl.c:1273
++#: c-decl.c:1274
+ #, fuzzy, gcc-internal-format
+ msgid "redefinition of typedef %q+D"
+ msgstr "omdefinering af '%s'"
+
+-#: c-decl.c:1324 c-decl.c:1426
++#: c-decl.c:1325 c-decl.c:1427
+ #, fuzzy, gcc-internal-format
+ msgid "redefinition of %q+D"
+ msgstr "omdefinering af '%s'"
+
+ # anden 'declaration' er underforstået i engelsk original
+-#: c-decl.c:1359 c-decl.c:1464
++#: c-decl.c:1360 c-decl.c:1465
+ #, fuzzy, gcc-internal-format
+ msgid "static declaration of %q+D follows non-static declaration"
+ msgstr "static-erklæring af '%s' følger erklæring uden static"
+
+-#: c-decl.c:1369 c-decl.c:1376 c-decl.c:1453 c-decl.c:1461
++#: c-decl.c:1370 c-decl.c:1377 c-decl.c:1454 c-decl.c:1462
+ #, fuzzy, gcc-internal-format
+ msgid "non-static declaration of %q+D follows static declaration"
+ msgstr "erklæring uden static af '%s' følger static-erklæring"
+
+-#: c-decl.c:1393
++#: c-decl.c:1394
+ #, gcc-internal-format
+ msgid "%<gnu_inline%> attribute present on %q+D"
+ msgstr ""
+
+-#: c-decl.c:1395
++#: c-decl.c:1396
+ #, fuzzy, gcc-internal-format
+ msgid "%Jbut not here"
+ msgstr " første type her"
+
+-#: c-decl.c:1413
++#: c-decl.c:1414
+ #, fuzzy, gcc-internal-format
+ msgid "thread-local declaration of %q+D follows non-thread-local declaration"
+ msgstr "trådlokal erklæring af '%s' følger ikke-trådlokal erklæring"
+
+-#: c-decl.c:1416
++#: c-decl.c:1417
+ #, fuzzy, gcc-internal-format
+ msgid "non-thread-local declaration of %q+D follows thread-local declaration"
+ msgstr "ikke-trådlokal erklæring af '%s' følger trådlokal erklæring"
+
+-#: c-decl.c:1446
++#: c-decl.c:1447
+ #, fuzzy, gcc-internal-format
+ msgid "extern declaration of %q+D follows declaration with no linkage"
+ msgstr "extern-erklæring af '%s' passer ikke med den globale"
+
+-#: c-decl.c:1482
++#: c-decl.c:1483
+ #, fuzzy, gcc-internal-format
+ msgid "declaration of %q+D with no linkage follows extern declaration"
+ msgstr "erklæring af '%F' kaster forskellige undtagelser"
+
+-#: c-decl.c:1488
++#: c-decl.c:1489
+ #, fuzzy, gcc-internal-format
+ msgid "redeclaration of %q+D with no linkage"
+ msgstr "tidligere erklæring af '%#D' med %L-kædning"
+
+-#: c-decl.c:1502
++#: c-decl.c:1503
+ #, gcc-internal-format
+ msgid "redeclaration of %q+D with different visibility (old visibility preserved)"
+ msgstr ""
+
+-#: c-decl.c:1513
++#: c-decl.c:1514
+ #, fuzzy, gcc-internal-format
+ msgid "inline declaration of %qD follows declaration with attribute noinline"
+ msgstr "tidligere erklæring af funktionen '%s' med egenskaben noinline"
+
+-#: c-decl.c:1520
++#: c-decl.c:1521
+ #, fuzzy, gcc-internal-format
+ msgid "declaration of %q+D with attribute noinline follows inline declaration "
+ msgstr "erklæring af '%s' der er en statisk variabel, i begyndelseserklæring i 'for'-løkke"
+
+-#: c-decl.c:1539
++#: c-decl.c:1540
+ #, fuzzy, gcc-internal-format
+ msgid "%q+D declared inline after being called"
+ msgstr "'%s' er erklæret inline efter at være blevet kaldt"
+
+-#: c-decl.c:1544
++#: c-decl.c:1545
+ #, fuzzy, gcc-internal-format
+ msgid "%q+D declared inline after its definition"
+ msgstr "'%s' er erklæret inline efter dens definition"
+
+-#: c-decl.c:1563
++#: c-decl.c:1564
+ #, fuzzy, gcc-internal-format
+ msgid "redefinition of parameter %q+D"
+ msgstr "omdefinering af '%s'"
+
+-#: c-decl.c:1590
++#: c-decl.c:1591
+ #, fuzzy, gcc-internal-format
+ msgid "redundant redeclaration of %q+D"
+ msgstr "overflødig omerklæring af '%D' i samme virkefelt"
+
+-#: c-decl.c:1970
++#: c-decl.c:1975
+ #, fuzzy, gcc-internal-format
+ msgid "declaration of %q+D shadows previous non-variable"
+ msgstr "erklæring af '%s' skygger for en tidligere lokal variabel"
+
+-#: c-decl.c:1975
++#: c-decl.c:1980
+ #, fuzzy, gcc-internal-format
+ msgid "declaration of %q+D shadows a parameter"
+ msgstr "erklæring af '%#D' skygger for en parameter"
+
+-#: c-decl.c:1978
++#: c-decl.c:1983
+ #, fuzzy, gcc-internal-format
+ msgid "declaration of %q+D shadows a global declaration"
+ msgstr "erklæring af '%s' skygger for en global erklæring"
+
+-#: c-decl.c:1988
++#: c-decl.c:1993
+ #, fuzzy, gcc-internal-format
+ msgid "declaration of %q+D shadows a previous local"
+ msgstr "erklæring af '%s' skygger for en tidligere lokal variabel"
+
+-#: c-decl.c:1991 cp/name-lookup.c:988 cp/name-lookup.c:1019
+-#: cp/name-lookup.c:1027
++#: c-decl.c:1996 cp/name-lookup.c:987 cp/name-lookup.c:1018
++#: cp/name-lookup.c:1026
+ #, gcc-internal-format
+ msgid "%Jshadowed declaration is here"
+ msgstr "%Jskygget erklæring er her"
+
+-#: c-decl.c:2183
++#: c-decl.c:2188
+ #, fuzzy, gcc-internal-format
+ msgid "nested extern declaration of %qD"
+ msgstr "indlejret extern-erklæring af '%s'"
+
+-#: c-decl.c:2346 c-decl.c:2349
++#: c-decl.c:2351 c-decl.c:2354
+ #, fuzzy, gcc-internal-format
+ msgid "implicit declaration of function %qE"
+ msgstr "underforstået erklæring af funktionen '%s'"
+
+-#: c-decl.c:2411
++#: c-decl.c:2416
+ #, fuzzy, gcc-internal-format
+ msgid "incompatible implicit declaration of built-in function %qD"
+ msgstr "underforstået erklæring af funktionen '%#D'"
+
+-#: c-decl.c:2420
++#: c-decl.c:2425
+ #, fuzzy, gcc-internal-format
+ msgid "incompatible implicit declaration of function %qD"
+ msgstr "underforstået erklæring af funktionen '%#D'"
+
+-#: c-decl.c:2473
++#: c-decl.c:2478
+ #, fuzzy, gcc-internal-format
+ msgid "%H%qE undeclared here (not in a function)"
+ msgstr "'%s' ikke erklæret her (ikke i en funktion)"
+
+-#: c-decl.c:2478
++#: c-decl.c:2483
+ #, fuzzy, gcc-internal-format
+ msgid "%H%qE undeclared (first use in this function)"
+ msgstr "'%s' er ikke erklæret (først benyttet i denne funktion)"
+
+-#: c-decl.c:2482
++#: c-decl.c:2487
+ #, fuzzy, gcc-internal-format
+ msgid "%H(Each undeclared identifier is reported only once"
+ msgstr "(et kaldenavn der ikke er erklæret, rapporteres kun én gang"
+
+-#: c-decl.c:2483
++#: c-decl.c:2488
+ #, fuzzy, gcc-internal-format
+ msgid "%Hfor each function it appears in.)"
+ msgstr "per funktion)"
+
+-#: c-decl.c:2521 cp/decl.c:2397
++#: c-decl.c:2526 cp/decl.c:2404
+ #, fuzzy, gcc-internal-format
+ msgid "label %qE referenced outside of any function"
+ msgstr "der er blevet henvist til etiketten '%s' uden for en funktion"
+
+-#: c-decl.c:2563
++#: c-decl.c:2568
+ #, fuzzy, gcc-internal-format
+ msgid "duplicate label declaration %qE"
+ msgstr "etiketten '%s' er blevet erklæret mere end én gang"
+
+-#: c-decl.c:2599
++#: c-decl.c:2604
+ #, fuzzy, gcc-internal-format
+ msgid "%Hduplicate label %qD"
+ msgstr "etiketten '%D' optræder mere end én gang"
+
+-#: c-decl.c:2609
++#: c-decl.c:2614
+ #, fuzzy, gcc-internal-format
+ msgid "%Jjump into statement expression"
+ msgstr "ragelse efter slutningen af udtryk"
+
+-#: c-decl.c:2611
++#: c-decl.c:2616
+ #, fuzzy, gcc-internal-format
+ msgid "%Jjump into scope of identifier with variably modified type"
+ msgstr "skabelonsparameter '%T' er en variabelt ændret type"
+
+-#: c-decl.c:2626
++#: c-decl.c:2631
+ #, gcc-internal-format
+ msgid "%Htraditional C lacks a separate namespace for labels, identifier %qE conflicts"
+ msgstr ""
+
+-#: c-decl.c:2701
++#: c-decl.c:2706
+ #, fuzzy, gcc-internal-format
+ msgid "%H%qE defined as wrong kind of tag"
+ msgstr "'%s' omerklæret som en anden form for symbol"
+
+-#: c-decl.c:2903
++#: c-decl.c:2908
+ #, gcc-internal-format
+ msgid "unnamed struct/union that defines no instances"
+ msgstr "unavngiven struct/union som ikke definerer nogen instanser"
+
+-#: c-decl.c:2911
++#: c-decl.c:2916
+ #, fuzzy, gcc-internal-format
+ msgid "empty declaration with storage class specifier does not redeclare tag"
+ msgstr "lagringsklasseanvisning i tabelerklæring"
+
+-#: c-decl.c:2922
++#: c-decl.c:2927
+ #, fuzzy, gcc-internal-format
+ msgid "empty declaration with type qualifier does not redeclare tag"
+ msgstr "erklæring erklærer ikke noget"
+
+-#: c-decl.c:2943 c-decl.c:2950
++#: c-decl.c:2948 c-decl.c:2955
+ #, fuzzy, gcc-internal-format
+ msgid "useless type name in empty declaration"
+ msgstr "ubrugeligt reserveret ord eller typenavn i tom erklæring"
+
+-#: c-decl.c:2958
++#: c-decl.c:2963
+ #, fuzzy, gcc-internal-format
+ msgid "%<inline%> in empty declaration"
+ msgstr "tom erklæring"
+
+-#: c-decl.c:2964
++#: c-decl.c:2969
+ #, fuzzy, gcc-internal-format
+ msgid "%<auto%> in file-scope empty declaration"
+ msgstr "to typer angivet i én tom erklæring"
+
+-#: c-decl.c:2970
++#: c-decl.c:2975
+ #, fuzzy, gcc-internal-format
+ msgid "%<register%> in file-scope empty declaration"
+ msgstr "to typer angivet i én tom erklæring"
+
+-#: c-decl.c:2976
++#: c-decl.c:2981
+ #, fuzzy, gcc-internal-format
+ msgid "useless storage class specifier in empty declaration"
+ msgstr "lagringsklasseanvisning i tabelerklæring"
+
+-#: c-decl.c:2982
++#: c-decl.c:2987
+ #, fuzzy, gcc-internal-format
+ msgid "useless %<__thread%> in empty declaration"
+ msgstr "ubrugeligt reserveret ord eller typenavn i tom erklæring"
+
+-#: c-decl.c:2990
++#: c-decl.c:2995
+ #, fuzzy, gcc-internal-format
+ msgid "useless type qualifier in empty declaration"
+ msgstr "dobbelte typemodifikationer i %s-erklæring"
+
+-#: c-decl.c:2997
++#: c-decl.c:3002
+ #, gcc-internal-format
+ msgid "empty declaration"
+ msgstr "tom erklæring"
+
+-#: c-decl.c:3063
++#: c-decl.c:3068
+ #, fuzzy, gcc-internal-format
+ msgid "ISO C90 does not support %<static%> or type qualifiers in parameter array declarators"
+ msgstr "ISO C90 understøtter ikke 'static' eller typemodifikationer i parametertabelerklæringer"
+
+-#: c-decl.c:3066
++#: c-decl.c:3071
+ #, fuzzy, gcc-internal-format
+ msgid "ISO C90 does not support %<[*]%> array declarators"
+ msgstr "ISO C90 understøtter ikke tabelerklæringer med '[*]'"
+@@ -18702,255 +18675,250 @@
+ #. C99 6.7.5.2p4
+ #. A function definition isn't function prototype scope C99 6.2.1p4.
+ #. C99 6.7.5.2p4
+-#: c-decl.c:3073 c-decl.c:5015
++#: c-decl.c:3078 c-decl.c:5014
+ #, gcc-internal-format
+ msgid "%<[*]%> not allowed in other than function prototype scope"
+ msgstr ""
+
+-#: c-decl.c:3097
+-#, gcc-internal-format
+-msgid "static or type qualifiers in abstract declarator"
+-msgstr "static eller typemodifikationer i abstrakt erklæring"
+-
+-#: c-decl.c:3183
++#: c-decl.c:3181
+ #, fuzzy, gcc-internal-format
+ msgid "%q+D is usually a function"
+ msgstr "'%s' er sædvanligvis en funktion"
+
+ # init dækker over værditildeling her - samme for de næste mange
+-#: c-decl.c:3192 cp/decl.c:3983 cp/decl2.c:773
++#: c-decl.c:3190 cp/decl.c:4003 cp/decl2.c:773
+ #, fuzzy, gcc-internal-format
+ msgid "typedef %qD is initialized (use __typeof__ instead)"
+ msgstr "typedef '%D' bliver tildelt en værdi (benyt __typeof__ i stedet)"
+
+-#: c-decl.c:3197
++#: c-decl.c:3195
+ #, fuzzy, gcc-internal-format
+ msgid "function %qD is initialized like a variable"
+ msgstr "funktionen '%#D' bliver tildelt en startværdi som en variabel"
+
+ #. DECL_INITIAL in a PARM_DECL is really DECL_ARG_TYPE.
+-#: c-decl.c:3203
++#: c-decl.c:3201
+ #, fuzzy, gcc-internal-format
+ msgid "parameter %qD is initialized"
+ msgstr "parameteren '%s' bliver tildelt en startværdi"
+
+-#: c-decl.c:3228
++#: c-decl.c:3226
+ #, fuzzy, gcc-internal-format
+ msgid "variable %qD has initializer but incomplete type"
+ msgstr "variablen '%#D' bliver tildelt en startværdi, men er af en ufuldstændig type"
+
+-#: c-decl.c:3316 c-decl.c:6108 cp/decl.c:4025 cp/decl.c:10985
++#: c-decl.c:3314 c-decl.c:6107 cp/decl.c:4045 cp/decl.c:11083
+ #, fuzzy, gcc-internal-format
+ msgid "inline function %q+D given attribute noinline"
+ msgstr "inline funktion '%s' givet egenskaben noinline"
+
+-#: c-decl.c:3327
++#: c-decl.c:3326
+ #, gcc-internal-format
+ msgid "%q+D is static but declared in inline function %qD which is not static"
+ msgstr ""
+
+-#: c-decl.c:3418
++#: c-decl.c:3417
+ #, fuzzy, gcc-internal-format
+ msgid "initializer fails to determine size of %q+D"
+ msgstr "startværdien giver ikke størrelsen af '%D'"
+
+-#: c-decl.c:3423
++#: c-decl.c:3422
+ #, fuzzy, gcc-internal-format
+ msgid "array size missing in %q+D"
+ msgstr "tabelstørrelsen mangler i '%D'"
+
+-#: c-decl.c:3435
++#: c-decl.c:3434
+ #, fuzzy, gcc-internal-format
+ msgid "zero or negative size array %q+D"
+ msgstr "nul eller negativ størrelse for tabellen '%s'"
+
+-#: c-decl.c:3490 varasm.c:2067
++#: c-decl.c:3489 varasm.c:2067
+ #, fuzzy, gcc-internal-format
+ msgid "storage size of %q+D isn%'t known"
+ msgstr "lagringsstørrelsen af '%D' er ikke kendt"
+
+-#: c-decl.c:3500
++#: c-decl.c:3499
+ #, fuzzy, gcc-internal-format
+ msgid "storage size of %q+D isn%'t constant"
+ msgstr "lagringsstørrelsen af '%D' er ikke konstant"
+
+-#: c-decl.c:3545
++#: c-decl.c:3544
+ #, fuzzy, gcc-internal-format
+ msgid "ignoring asm-specifier for non-static local variable %q+D"
+ msgstr "ignorerer asm-anvisning til den ikke-statiske, lokale variabel '%s'"
+
+-#: c-decl.c:3573 fortran/f95-lang.c:653
++#: c-decl.c:3572 fortran/f95-lang.c:655
+ #, gcc-internal-format
+ msgid "cannot put object with volatile field into register"
+ msgstr "kan ikke anbringe et objekt med et volatile-felt i et register"
+
+-#: c-decl.c:3702
++#: c-decl.c:3701
+ #, gcc-internal-format
+ msgid "ISO C forbids forward parameter declarations"
+ msgstr "ISO C forbyder forhåndsparametererklæringer"
+
+-#: c-decl.c:3821
++#: c-decl.c:3820
+ #, fuzzy, gcc-internal-format
+ msgid "bit-field %qs width not an integer constant"
+ msgstr "bredden af bitfeltet '%s' er ikke en heltalskonstant"
+
+-#: c-decl.c:3829
++#: c-decl.c:3828
+ #, fuzzy, gcc-internal-format
+ msgid "negative width in bit-field %qs"
+ msgstr "negativ bredde i bitfeltet '%s'"
+
+-#: c-decl.c:3834
++#: c-decl.c:3833
+ #, fuzzy, gcc-internal-format
+ msgid "zero width for bit-field %qs"
+ msgstr "en bredde på nul for bitfeltet '%s'"
+
+-#: c-decl.c:3844
++#: c-decl.c:3843
+ #, fuzzy, gcc-internal-format
+ msgid "bit-field %qs has invalid type"
+ msgstr "bitfeltet '%s' er af en ufuldstændig type"
+
+-#: c-decl.c:3854
++#: c-decl.c:3853
+ #, fuzzy, gcc-internal-format
+ msgid "type of bit-field %qs is a GCC extension"
+ msgstr "linjestilsdirektiv er en GCC-udvidelse"
+
+-#: c-decl.c:3860
++#: c-decl.c:3859
+ #, fuzzy, gcc-internal-format
+ msgid "width of %qs exceeds its type"
+ msgstr "bredden af '%s' overstiger typen"
+
+ # RETMIG: find på et eller andet med præcisionen
+-#: c-decl.c:3873
++#: c-decl.c:3872
+ #, fuzzy, gcc-internal-format
+ msgid "%qs is narrower than values of its type"
+ msgstr "'%s' er smallere end værdier af dens type"
+
+-#: c-decl.c:3892
++#: c-decl.c:3891
+ #, fuzzy, gcc-internal-format
+ msgid "ISO C90 forbids array %qs whose size can%'t be evaluated"
+ msgstr "ISO C90 forbyder tabellen '%s' hvis størrelse ikke kan bestemmes"
+
+-#: c-decl.c:3896
++#: c-decl.c:3895
+ #, fuzzy, gcc-internal-format
+ msgid "ISO C90 forbids array whose size can%'t be evaluated"
+ msgstr "ISO C90 forbyder tabellen '%s' hvis størrelse ikke kan bestemmes"
+
+-#: c-decl.c:3902
++#: c-decl.c:3901
+ #, fuzzy, gcc-internal-format
+ msgid "ISO C90 forbids variable length array %qs"
+ msgstr "ISO C90 forbyder tabellen '%s' med variabel størrelse"
+
+-#: c-decl.c:3905
++#: c-decl.c:3904
+ #, fuzzy, gcc-internal-format
+ msgid "ISO C90 forbids variable length array"
+ msgstr "ISO C++ forbyder tabel med variabel størrelse"
+
+-#: c-decl.c:3914
++#: c-decl.c:3913
+ #, fuzzy, gcc-internal-format
+ msgid "the size of array %qs can%'t be evaluated"
+ msgstr "det er ikke muligt eksplicit at finde typens størrelse"
+
+-#: c-decl.c:3918
++#: c-decl.c:3917
+ #, fuzzy, gcc-internal-format
+ msgid "the size of array can %'t be evaluated"
+ msgstr "det er ikke muligt eksplicit at finde typens størrelse"
+
+-#: c-decl.c:3924
++#: c-decl.c:3923
+ #, gcc-internal-format
+ msgid "variable length array %qs is used"
+ msgstr ""
+
+-#: c-decl.c:3928 cp/decl.c:7004
++#: c-decl.c:3927 cp/decl.c:7076
+ #, gcc-internal-format
+ msgid "variable length array is used"
+ msgstr ""
+
+-#: c-decl.c:4051 c-decl.c:4328
++#: c-decl.c:4050 c-decl.c:4327
+ #, fuzzy, gcc-internal-format
+ msgid "variably modified %qs at file scope"
+ msgstr "skabelonsparameter '%T' er en variabelt ændret type"
+
+-#: c-decl.c:4069
++#: c-decl.c:4068
+ #, fuzzy, gcc-internal-format
+ msgid "type defaults to %<int%> in declaration of %qs"
+ msgstr "typen antages at være 'int' i erklæringen af '%s'"
+
+-#: c-decl.c:4097
++#: c-decl.c:4096
+ #, fuzzy, gcc-internal-format
+ msgid "duplicate %<const%>"
+ msgstr "'const' optræder mere end én gang"
+
+-#: c-decl.c:4099
++#: c-decl.c:4098
+ #, fuzzy, gcc-internal-format
+ msgid "duplicate %<restrict%>"
+ msgstr "'restrict' optræder mere end én gang"
+
+-#: c-decl.c:4101
++#: c-decl.c:4100
+ #, fuzzy, gcc-internal-format
+ msgid "duplicate %<volatile%>"
+ msgstr "'volatile' optræder mere end én gang"
+
+-#: c-decl.c:4120
++#: c-decl.c:4119
+ #, fuzzy, gcc-internal-format
+ msgid "function definition declared %<auto%>"
+ msgstr "'auto' er påhæftet funktionsdefinitionen"
+
+-#: c-decl.c:4122
++#: c-decl.c:4121
+ #, fuzzy, gcc-internal-format
+ msgid "function definition declared %<register%>"
+ msgstr "'register' er påhæftet funktionsdefinitionen"
+
+-#: c-decl.c:4124
++#: c-decl.c:4123
+ #, fuzzy, gcc-internal-format
+ msgid "function definition declared %<typedef%>"
+ msgstr "'typedef' er påhæftet funktionsdefinitionen"
+
+-#: c-decl.c:4126
++#: c-decl.c:4125
+ #, fuzzy, gcc-internal-format
+ msgid "function definition declared %<__thread%>"
+ msgstr "'__thread' er påhæftet funktionsdefinitionen"
+
+-#: c-decl.c:4142
++#: c-decl.c:4141
+ #, fuzzy, gcc-internal-format
+ msgid "storage class specified for structure field %qs"
+ msgstr "lagringsklasse angivet for strukturfelt '%s'"
+
+-#: c-decl.c:4146 cp/decl.c:7874
++#: c-decl.c:4145 cp/decl.c:7946
+ #, fuzzy, gcc-internal-format
+ msgid "storage class specified for parameter %qs"
+ msgstr "lagringsklasse angivet for parameter '%s'"
+
+-#: c-decl.c:4149 cp/decl.c:7876
++#: c-decl.c:4148 cp/decl.c:7948
+ #, gcc-internal-format
+ msgid "storage class specified for typename"
+ msgstr "lagringsklasse angivet for typenavn"
+
+-#: c-decl.c:4166 cp/decl.c:7893
++#: c-decl.c:4165 cp/decl.c:7965
+ #, fuzzy, gcc-internal-format
+ msgid "%qs initialized and declared %<extern%>"
+ msgstr "'%s' bliver tildelt en startværdi og er samtidig erklæret 'extern'"
+
+-#: c-decl.c:4169 cp/decl.c:7896
++#: c-decl.c:4168 cp/decl.c:7968
+ #, fuzzy, gcc-internal-format
+ msgid "%qs has both %<extern%> and initializer"
+ msgstr "'%s' er erklæret 'extern', men bliver tildelt en startværdi"
+
+-#: c-decl.c:4174
++#: c-decl.c:4173
+ #, fuzzy, gcc-internal-format
+ msgid "file-scope declaration of %qs specifies %<auto%>"
+ msgstr "erklæring af '%s' på øverste niveau angiver 'auto'"
+
+-#: c-decl.c:4176
++#: c-decl.c:4175
+ #, fuzzy, gcc-internal-format
+ msgid "file-scope declaration of %qs specifies %<register%>"
+ msgstr "erklæring af '%s' på øverste niveau angiver 'auto'"
+
+-#: c-decl.c:4181 cp/decl.c:7900
++#: c-decl.c:4180 cp/decl.c:7972
+ #, fuzzy, gcc-internal-format
+ msgid "nested function %qs declared %<extern%>"
+ msgstr "indlejret funktion '%s' er erklæret 'extern'"
+
+-#: c-decl.c:4184 cp/decl.c:7910
++#: c-decl.c:4183 cp/decl.c:7982
+ #, fuzzy, gcc-internal-format
+ msgid "function-scope %qs implicitly auto and declared %<__thread%>"
+ msgstr "'%s' i funktionsvirkefelt underforstået auto og erklæret '__thread'"
+@@ -18958,469 +18926,469 @@
+ #. Only the innermost declarator (making a parameter be of
+ #. array type which is converted to pointer type)
+ #. may have static or type qualifiers.
+-#: c-decl.c:4231 c-decl.c:4472
++#: c-decl.c:4230 c-decl.c:4471
+ #, gcc-internal-format
+ msgid "static or type qualifiers in non-parameter array declarator"
+ msgstr "static eller typemodifikationer i ikke-parametertabelerklæring"
+
+-#: c-decl.c:4278
++#: c-decl.c:4277
+ #, fuzzy, gcc-internal-format
+ msgid "declaration of %qs as array of voids"
+ msgstr "'%s' erklæret som en tabel af void"
+
+-#: c-decl.c:4284
++#: c-decl.c:4283
+ #, fuzzy, gcc-internal-format
+ msgid "declaration of %qs as array of functions"
+ msgstr "'%s' erklæret som en tabel af funktioner"
+
+-#: c-decl.c:4289
++#: c-decl.c:4288
+ #, gcc-internal-format
+ msgid "invalid use of structure with flexible array member"
+ msgstr "ugyldig brug af struktur med fleksibelt tabelmedlem"
+
+-#: c-decl.c:4309
++#: c-decl.c:4308
+ #, fuzzy, gcc-internal-format
+ msgid "size of array %qs has non-integer type"
+ msgstr "størrelsen af tabellen '%s' er ikke af en heltalstype"
+
+-#: c-decl.c:4314
++#: c-decl.c:4313
+ #, fuzzy, gcc-internal-format
+ msgid "ISO C forbids zero-size array %qs"
+ msgstr "ISO C forbyder tabellen '%s' med størrelsen nul"
+
+-#: c-decl.c:4321
++#: c-decl.c:4320
+ #, fuzzy, gcc-internal-format
+ msgid "size of array %qs is negative"
+ msgstr "størrelsen af tabellen '%s' er negativ"
+
+-#: c-decl.c:4375 c-decl.c:4631 cp/decl.c:8375
++#: c-decl.c:4374 c-decl.c:4630 cp/decl.c:8447
+ #, fuzzy, gcc-internal-format
+ msgid "size of array %qs is too large"
+ msgstr "størrelsen af tabellen '%s' er for stor"
+
+-#: c-decl.c:4386
++#: c-decl.c:4385
+ #, gcc-internal-format
+ msgid "ISO C90 does not support flexible array members"
+ msgstr "ISO C90 understøtter ikke fleksible tabelmedlemmer"
+
+ #. C99 6.7.5.2p4
+-#: c-decl.c:4399
++#: c-decl.c:4398
+ #, fuzzy, gcc-internal-format
+ msgid "%<[*]%> not allowed in other than a declaration"
+ msgstr "navnerum '%D' ikke tilladt i using-erklæring"
+
+-#: c-decl.c:4422
++#: c-decl.c:4421
+ #, gcc-internal-format
+ msgid "array type has incomplete element type"
+ msgstr "tabeltypen er af en ufuldstændig type"
+
+-#: c-decl.c:4504 cp/decl.c:8001
++#: c-decl.c:4503 cp/decl.c:8073
+ #, fuzzy, gcc-internal-format
+ msgid "%qs declared as function returning a function"
+ msgstr "'%s' er erklæret som en funktion der returnerer en funktion"
+
+-#: c-decl.c:4509 cp/decl.c:8006
++#: c-decl.c:4508 cp/decl.c:8078
+ #, fuzzy, gcc-internal-format
+ msgid "%qs declared as function returning an array"
+ msgstr "'%s' er erklæret som en funktion der returnerer en tabel"
+
+-#: c-decl.c:4531
++#: c-decl.c:4530
+ #, fuzzy, gcc-internal-format
+ msgid "function definition has qualified void return type"
+ msgstr "ugyldig definition af modificeret type '%T'"
+
+-#: c-decl.c:4534 cp/decl.c:7990 cp/pt.c:8568
++#: c-decl.c:4533 cp/decl.c:8062 cp/pt.c:8668
+ #, gcc-internal-format
+ msgid "type qualifiers ignored on function return type"
+ msgstr "typemodifikationer ignoreret i funktionsreturtypen"
+
+-#: c-decl.c:4563 c-decl.c:4644 c-decl.c:4732 c-decl.c:4825
++#: c-decl.c:4562 c-decl.c:4643 c-decl.c:4731 c-decl.c:4824
+ #, gcc-internal-format
+ msgid "ISO C forbids qualified function types"
+ msgstr "ISO C forbyder funktionsreturtype med modifikationer"
+
+-#: c-decl.c:4652
++#: c-decl.c:4651
+ #, fuzzy, gcc-internal-format
+ msgid "typedef %q+D declared %<inline%>"
+ msgstr "variablen '%s' er erklæret 'inline'"
+
+-#: c-decl.c:4667
++#: c-decl.c:4666
+ #, gcc-internal-format
+ msgid "ISO C forbids const or volatile function types"
+ msgstr "ISO C forbyder const eller volatile funktionstyper"
+
+ #. C99 6.7.2.1p8
+-#: c-decl.c:4677
++#: c-decl.c:4676
+ #, fuzzy, gcc-internal-format
+ msgid "a member of a structure or union cannot have a variably modified type"
+ msgstr "datamedlem må ikke have variabelt ændret type '%T'"
+
+-#: c-decl.c:4693
++#: c-decl.c:4692
+ #, fuzzy, gcc-internal-format
+ msgid "variable or field %qs declared void"
+ msgstr "variabel eller felt '%s' erklæret void"
+
+-#: c-decl.c:4725
++#: c-decl.c:4724
+ #, gcc-internal-format
+ msgid "attributes in parameter array declarator ignored"
+ msgstr "egenskaber i parametertabelerklæring ignoreret"
+
+-#: c-decl.c:4760
++#: c-decl.c:4759
+ #, fuzzy, gcc-internal-format
+ msgid "parameter %q+D declared %<inline%>"
+ msgstr "parameteren '%D' erklæret void"
+
+-#: c-decl.c:4773
++#: c-decl.c:4772
+ #, fuzzy, gcc-internal-format
+ msgid "field %qs declared as a function"
+ msgstr "feltet '%s' er erklæret som en funktion"
+
+-#: c-decl.c:4779
++#: c-decl.c:4778
+ #, fuzzy, gcc-internal-format
+ msgid "field %qs has incomplete type"
+ msgstr "feltet '%s' er af en ufuldstændig type"
+
+-#: c-decl.c:4796 c-decl.c:4808 c-decl.c:4812
++#: c-decl.c:4795 c-decl.c:4807 c-decl.c:4811
+ #, fuzzy, gcc-internal-format
+ msgid "invalid storage class for function %qs"
+ msgstr "ugyldig lagringsklasse for funktion '%s'"
+
+-#: c-decl.c:4831
++#: c-decl.c:4830
+ #, fuzzy, gcc-internal-format
+ msgid "%<noreturn%> function returns non-void value"
+ msgstr "en funktion uden returtype returnerer en ikke-tom værdi"
+
+ # at oversætte inline med et udsagnsord her bliver vist for tvetydigt
+-#: c-decl.c:4867
++#: c-decl.c:4866
+ #, fuzzy, gcc-internal-format
+ msgid "cannot inline function %<main%>"
+ msgstr "funktionen 'main' kan ikke være inline"
+
+-#: c-decl.c:4910
++#: c-decl.c:4909
+ #, fuzzy, gcc-internal-format
+ msgid "variable previously declared %<static%> redeclared %<extern%>"
+ msgstr "variabel eller felt '%s' erklæret void"
+
+-#: c-decl.c:4920
++#: c-decl.c:4919
+ #, fuzzy, gcc-internal-format
+ msgid "variable %q+D declared %<inline%>"
+ msgstr "variablen '%s' er erklæret 'inline'"
+
+ #. C99 6.7.5.2p2
+-#: c-decl.c:4951
++#: c-decl.c:4950
+ #, gcc-internal-format
+ msgid "object with variably modified type must have no linkage"
+ msgstr ""
+
+-#: c-decl.c:5020 c-decl.c:6199
++#: c-decl.c:5019 c-decl.c:6198
+ #, fuzzy, gcc-internal-format
+ msgid "function declaration isn%'t a prototype"
+ msgstr "funktionserklæringen er ikke en prototype"
+
+-#: c-decl.c:5028
++#: c-decl.c:5027
+ #, gcc-internal-format
+ msgid "parameter names (without types) in function declaration"
+ msgstr "parameternavne (uden typer) i funktionserklæringen"
+
+-#: c-decl.c:5061
++#: c-decl.c:5060
+ #, fuzzy, gcc-internal-format
+ msgid "parameter %u (%q+D) has incomplete type"
+ msgstr "parameteren er af en ufuldstændig type"
+
+-#: c-decl.c:5064
++#: c-decl.c:5063
+ #, fuzzy, gcc-internal-format
+ msgid "%Jparameter %u has incomplete type"
+ msgstr "parameteren er af en ufuldstændig type"
+
+-#: c-decl.c:5073
++#: c-decl.c:5072
+ #, fuzzy, gcc-internal-format
+ msgid "parameter %u (%q+D) has void type"
+ msgstr "parameteren er af en ufuldstændig type"
+
+-#: c-decl.c:5076
++#: c-decl.c:5075
+ #, fuzzy, gcc-internal-format
+ msgid "%Jparameter %u has void type"
+ msgstr "parameteren er af en ufuldstændig type"
+
+-#: c-decl.c:5138
++#: c-decl.c:5137
+ #, fuzzy, gcc-internal-format
+ msgid "%<void%> as only parameter may not be qualified"
+ msgstr "typedef-navn kan ikke klassemodificeres"
+
+-#: c-decl.c:5142 c-decl.c:5176
++#: c-decl.c:5141 c-decl.c:5175
+ #, fuzzy, gcc-internal-format
+ msgid "%<void%> must be the only parameter"
+ msgstr "ugyldig brug af skabelonstypeparameter"
+
+-#: c-decl.c:5170
++#: c-decl.c:5169
+ #, fuzzy, gcc-internal-format
+ msgid "parameter %q+D has just a forward declaration"
+ msgstr "parameteren '%s' har kun en forhåndserklæring"
+
+ #. The %s will be one of 'struct', 'union', or 'enum'.
+-#: c-decl.c:5215
++#: c-decl.c:5214
+ #, fuzzy, gcc-internal-format
+ msgid "%<%s %E%> declared inside parameter list"
+ msgstr "'struct %s' erklæret inde i en parameterliste"
+
+ #. The %s will be one of 'struct', 'union', or 'enum'.
+-#: c-decl.c:5219
++#: c-decl.c:5218
+ #, fuzzy, gcc-internal-format
+ msgid "anonymous %s declared inside parameter list"
+ msgstr "anonym struct erklæret inde i en parameterliste"
+
+-#: c-decl.c:5224
++#: c-decl.c:5223
+ #, gcc-internal-format
+ msgid "its scope is only this definition or declaration, which is probably not what you want"
+ msgstr "dens virkefelt er kun denne definition eller erklæring hvilket sandsynligvis ikke er hvad du ønsker."
+
+-#: c-decl.c:5358
++#: c-decl.c:5357
+ #, fuzzy, gcc-internal-format
+ msgid "redefinition of %<union %E%>"
+ msgstr "omdefinering af 'union %s'"
+
+-#: c-decl.c:5360
++#: c-decl.c:5359
+ #, fuzzy, gcc-internal-format
+ msgid "redefinition of %<struct %E%>"
+ msgstr "omdefinering af 'struct %s'"
+
+-#: c-decl.c:5365
++#: c-decl.c:5364
+ #, fuzzy, gcc-internal-format
+ msgid "nested redefinition of %<union %E%>"
+ msgstr "indlejret omdefinering af '%s'"
+
+-#: c-decl.c:5367
++#: c-decl.c:5366
+ #, fuzzy, gcc-internal-format
+ msgid "nested redefinition of %<struct %E%>"
+ msgstr "indlejret omdefinering af '%s'"
+
+-#: c-decl.c:5442 cp/decl.c:3780
++#: c-decl.c:5441 cp/decl.c:3796
+ #, gcc-internal-format
+ msgid "declaration does not declare anything"
+ msgstr "erklæring erklærer ikke noget"
+
+-#: c-decl.c:5446
++#: c-decl.c:5445
+ #, fuzzy, gcc-internal-format
+ msgid "ISO C doesn%'t support unnamed structs/unions"
+ msgstr "ISO C understøtter ikke unavngivne struct/union-konstruktioner"
+
+-#: c-decl.c:5490 c-decl.c:5506
++#: c-decl.c:5489 c-decl.c:5505
+ #, fuzzy, gcc-internal-format
+ msgid "duplicate member %q+D"
+ msgstr "medlemmet '%D' optræder mere end én gang"
+
+-#: c-decl.c:5545
++#: c-decl.c:5544
+ #, fuzzy, gcc-internal-format
+ msgid "union has no named members"
+ msgstr "navngivne medlemmer"
+
+-#: c-decl.c:5547
++#: c-decl.c:5546
+ #, fuzzy, gcc-internal-format
+ msgid "union has no members"
+ msgstr "anonym sammensat type uden medlemmer"
+
+-#: c-decl.c:5552
++#: c-decl.c:5551
+ #, fuzzy, gcc-internal-format
+ msgid "struct has no named members"
+ msgstr "navngivne medlemmer"
+
+-#: c-decl.c:5554
++#: c-decl.c:5553
+ #, fuzzy, gcc-internal-format
+ msgid "struct has no members"
+ msgstr "%s har intet medlem ved navn '%s'"
+
+-#: c-decl.c:5616
++#: c-decl.c:5615
+ #, fuzzy, gcc-internal-format
+ msgid "%Jflexible array member in union"
+ msgstr "fleksibelt tabelmedlem i union"
+
+-#: c-decl.c:5621
++#: c-decl.c:5620
+ #, fuzzy, gcc-internal-format
+ msgid "%Jflexible array member not at end of struct"
+ msgstr "fleksibelt tabelmedlem ikke i slutningen af struktur"
+
+-#: c-decl.c:5626
++#: c-decl.c:5625
+ #, fuzzy, gcc-internal-format
+ msgid "%Jflexible array member in otherwise empty struct"
+ msgstr "fleksibelt tabelmedlem i ellers tom struktur"
+
+-#: c-decl.c:5633
++#: c-decl.c:5632
+ #, fuzzy, gcc-internal-format
+ msgid "%Jinvalid use of structure with flexible array member"
+ msgstr "ugyldig brug af struktur med fleksibelt tabelmedlem"
+
+-#: c-decl.c:5742
++#: c-decl.c:5741
+ #, gcc-internal-format
+ msgid "union cannot be made transparent"
+ msgstr "union kan ikke ikke gøres gennemsigtig"
+
+-#: c-decl.c:5813
++#: c-decl.c:5812
+ #, fuzzy, gcc-internal-format
+ msgid "nested redefinition of %<enum %E%>"
+ msgstr "indlejret omdefinering af '%s'"
+
+ #. This enum is a named one that has been declared already.
+-#: c-decl.c:5820
++#: c-decl.c:5819
+ #, fuzzy, gcc-internal-format
+ msgid "redeclaration of %<enum %E%>"
+ msgstr "omerklæring af 'enum %s'"
+
+-#: c-decl.c:5883
++#: c-decl.c:5882
+ #, gcc-internal-format
+ msgid "enumeration values exceed range of largest integer"
+ msgstr "enum-værdier overstige rækkevidden af det største heltal"
+
+-#: c-decl.c:5900
++#: c-decl.c:5899
+ #, gcc-internal-format
+ msgid "specified mode too small for enumeral values"
+ msgstr ""
+
+-#: c-decl.c:5996
++#: c-decl.c:5995
+ #, fuzzy, gcc-internal-format
+ msgid "enumerator value for %qE is not an integer constant"
+ msgstr "enum-værdien for '%s' er ikke en heltalskonstant"
+
+-#: c-decl.c:6013
++#: c-decl.c:6012
+ #, gcc-internal-format
+ msgid "overflow in enumeration values"
+ msgstr "enum-værdier for store"
+
+-#: c-decl.c:6018
++#: c-decl.c:6017
+ #, fuzzy, gcc-internal-format
+ msgid "ISO C restricts enumerator values to range of %<int%>"
+ msgstr "ISO C begrænser enum-værdier til rækkevidden af 'int'"
+
+-#: c-decl.c:6125
++#: c-decl.c:6124
+ #, gcc-internal-format
+ msgid "return type is an incomplete type"
+ msgstr "returtypen er en ufuldstændig type"
+
+-#: c-decl.c:6133
++#: c-decl.c:6132
+ #, fuzzy, gcc-internal-format
+ msgid "return type defaults to %<int%>"
+ msgstr "returtypen antages at være 'int'"
+
+-#: c-decl.c:6206
++#: c-decl.c:6205
+ #, fuzzy, gcc-internal-format
+ msgid "no previous prototype for %q+D"
+ msgstr "ingen tidligere prototype for '%s'"
+
+-#: c-decl.c:6215
++#: c-decl.c:6214
+ #, fuzzy, gcc-internal-format
+ msgid "%q+D was used with no prototype before its definition"
+ msgstr "'%s' blev brugt uden en prototype før dens definition"
+
+-#: c-decl.c:6221 cp/decl.c:11126
++#: c-decl.c:6220 cp/decl.c:11224
+ #, fuzzy, gcc-internal-format
+ msgid "no previous declaration for %q+D"
+ msgstr "ingen tidligere erklæring af '%s'"
+
+-#: c-decl.c:6231
++#: c-decl.c:6230
+ #, fuzzy, gcc-internal-format
+ msgid "%q+D was used with no declaration before its definition"
+ msgstr "'%s' blev brugt uden en erklæring før dens definition"
+
+-#: c-decl.c:6254 c-decl.c:6723
++#: c-decl.c:6253 c-decl.c:6722
+ #, fuzzy, gcc-internal-format
+ msgid "return type of %q+D is not %<int%>"
+ msgstr "returtypen til '%s' er ikke 'int'"
+
+-#: c-decl.c:6259
++#: c-decl.c:6258
+ #, fuzzy, gcc-internal-format
+ msgid "%q+D is normally a non-static function"
+ msgstr "'%s' er normalt en ikke-statisk funktion"
+
+-#: c-decl.c:6293
++#: c-decl.c:6292
+ #, gcc-internal-format
+ msgid "%Jold-style parameter declarations in prototyped function definition"
+ msgstr ""
+
+-#: c-decl.c:6307
++#: c-decl.c:6306
+ #, fuzzy, gcc-internal-format
+ msgid "%Jtraditional C rejects ISO C style function definitions"
+ msgstr "traditionel C tillader ikke ISO C-functionsdefinitioner"
+
+-#: c-decl.c:6323
++#: c-decl.c:6322
+ #, fuzzy, gcc-internal-format
+ msgid "%Jparameter name omitted"
+ msgstr "parameternavn udeladt"
+
+-#: c-decl.c:6357
++#: c-decl.c:6356
+ #, fuzzy, gcc-internal-format
+ msgid "%Jold-style function definition"
+ msgstr "%s: funktionsdefinitionen er ikke omdannet\n"
+
+-#: c-decl.c:6366
++#: c-decl.c:6365
+ #, fuzzy, gcc-internal-format
+ msgid "%Jparameter name missing from parameter list"
+ msgstr "parameternavn mangler fra parameterliste"
+
+-#: c-decl.c:6377
++#: c-decl.c:6376
+ #, fuzzy, gcc-internal-format
+ msgid "%q+D declared as a non-parameter"
+ msgstr "'%D' er erklæret som en ven"
+
+-#: c-decl.c:6382
++#: c-decl.c:6381
+ #, fuzzy, gcc-internal-format
+ msgid "multiple parameters named %q+D"
+ msgstr "flere parametre ved navn '%s'"
+
+-#: c-decl.c:6390
++#: c-decl.c:6389
+ #, fuzzy, gcc-internal-format
+ msgid "parameter %q+D declared with void type"
+ msgstr "parameteren '%D' erklæret void"
+
+-#: c-decl.c:6407 c-decl.c:6409
++#: c-decl.c:6406 c-decl.c:6408
+ #, fuzzy, gcc-internal-format
+ msgid "type of %q+D defaults to %<int%>"
+ msgstr "typen til '%s' antages at være 'int'"
+
+-#: c-decl.c:6428
++#: c-decl.c:6427
+ #, fuzzy, gcc-internal-format
+ msgid "parameter %q+D has incomplete type"
+ msgstr "parameteren er af en ufuldstændig type"
+
+-#: c-decl.c:6434
++#: c-decl.c:6433
+ #, fuzzy, gcc-internal-format
+ msgid "declaration for parameter %q+D but no such parameter"
+ msgstr "erklæring af parameteren '%s', men ingen sådan parameter"
+
+-#: c-decl.c:6484
++#: c-decl.c:6483
+ #, fuzzy, gcc-internal-format
+ msgid "number of arguments doesn%'t match built-in prototype"
+ msgstr "antallet af parametre passer ikke til prototypen"
+
+-#: c-decl.c:6488
++#: c-decl.c:6487
+ #, fuzzy, gcc-internal-format
+ msgid "number of arguments doesn%'t match prototype"
+ msgstr "antallet af parametre passer ikke til prototypen"
+
+-#: c-decl.c:6489 c-decl.c:6529 c-decl.c:6542
++#: c-decl.c:6488 c-decl.c:6528 c-decl.c:6541
+ #, fuzzy, gcc-internal-format
+ msgid "%Hprototype declaration"
+ msgstr "tom erklæring"
+
+-#: c-decl.c:6523
++#: c-decl.c:6522
+ #, fuzzy, gcc-internal-format
+ msgid "promoted argument %qD doesn%'t match built-in prototype"
+ msgstr "den forfremmede parameter '%s' passer ikke til prototypen"
+
+-#: c-decl.c:6527
++#: c-decl.c:6526
+ #, fuzzy, gcc-internal-format
+ msgid "promoted argument %qD doesn%'t match prototype"
+ msgstr "den forfremmede parameter '%s' passer ikke til prototypen"
+
+-#: c-decl.c:6537
++#: c-decl.c:6536
+ #, fuzzy, gcc-internal-format
+ msgid "argument %qD doesn%'t match built-in prototype"
+ msgstr "parameteren '%s' passer ikke til prototypen"
+
+-#: c-decl.c:6541
++#: c-decl.c:6540
+ #, fuzzy, gcc-internal-format
+ msgid "argument %qD doesn%'t match prototype"
+ msgstr "parameteren '%s' passer ikke til prototypen"
+
+-#: c-decl.c:6768 cp/decl.c:11820
++#: c-decl.c:6767 cp/decl.c:11918
+ #, gcc-internal-format
+ msgid "no return statement in function returning non-void"
+ msgstr "ingen return-sætning i en funktion der ikke returnerer void"
+@@ -19428,437 +19396,437 @@
+ #. If we get here, declarations have been used in a for loop without
+ #. the C99 for loop scope. This doesn't make much sense, so don't
+ #. allow it.
+-#: c-decl.c:6841
++#: c-decl.c:6840
+ #, fuzzy, gcc-internal-format
+ msgid "%<for%> loop initial declaration used outside C99 mode"
+ msgstr "begyndelseserklæring i 'for'-løkke benyttet uden for C99-tilstand"
+
+-#: c-decl.c:6870
++#: c-decl.c:6869
+ #, fuzzy, gcc-internal-format
+ msgid "declaration of static variable %q+D in %<for%> loop initial declaration"
+ msgstr "erklæring af '%s' der er en statisk variabel, i begyndelseserklæring i 'for'-løkke"
+
+-#: c-decl.c:6873
++#: c-decl.c:6872
+ #, fuzzy, gcc-internal-format
+ msgid "declaration of %<extern%> variable %q+D in %<for%> loop initial declaration"
+ msgstr "erklæring af '%s' der er en 'extern'-variabel, i begyndelseserklæring i 'for'-løkke"
+
+-#: c-decl.c:6878
++#: c-decl.c:6877
+ #, fuzzy, gcc-internal-format
+ msgid "%<struct %E%> declared in %<for%> loop initial declaration"
+ msgstr "'struct %s' erklæret i begyndelseserklæring i 'for'-løkke"
+
+-#: c-decl.c:6882
++#: c-decl.c:6881
+ #, fuzzy, gcc-internal-format
+ msgid "%<union %E%> declared in %<for%> loop initial declaration"
+ msgstr "'union %s' erklæret i begyndelseserklæring i 'for'-løkke"
+
+-#: c-decl.c:6886
++#: c-decl.c:6885
+ #, fuzzy, gcc-internal-format
+ msgid "%<enum %E%> declared in %<for%> loop initial declaration"
+ msgstr "'enum %s' erklæret i begyndelseserklæring i 'for'-løkke"
+
+-#: c-decl.c:6890
++#: c-decl.c:6889
+ #, fuzzy, gcc-internal-format
+ msgid "declaration of non-variable %q+D in %<for%> loop initial declaration"
+ msgstr "erklæring af '%s' der ikke er en variabel, i begyndelseserklæring i 'for'-løkke"
+
+-#: c-decl.c:7178 c-decl.c:7420 c-decl.c:7716
++#: c-decl.c:7177 c-decl.c:7419 c-decl.c:7715
+ #, fuzzy, gcc-internal-format
+ msgid "duplicate %qE"
+ msgstr "'%s' optræder mere end én gang"
+
+-#: c-decl.c:7201 c-decl.c:7430 c-decl.c:7617
++#: c-decl.c:7200 c-decl.c:7429 c-decl.c:7616
+ #, fuzzy, gcc-internal-format
+ msgid "two or more data types in declaration specifiers"
+ msgstr "mere end én datatype i erklæringen af '%s'"
+
+-#: c-decl.c:7213 cp/parser.c:2149
++#: c-decl.c:7212 cp/parser.c:2152
+ #, fuzzy, gcc-internal-format
+ msgid "%<long long long%> is too long for GCC"
+ msgstr "'long long long' er for langt for GCC"
+
+-#: c-decl.c:7220 c-decl.c:7520
++#: c-decl.c:7219 c-decl.c:7519
+ #, gcc-internal-format
+ msgid "both %<long long%> and %<double%> in declaration specifiers"
+ msgstr ""
+
+-#: c-decl.c:7226
++#: c-decl.c:7225
+ #, fuzzy, gcc-internal-format
+ msgid "ISO C90 does not support %<long long%>"
+ msgstr "ISO C90 understøtter ikke 'long long'"
+
+-#: c-decl.c:7231 c-decl.c:7260
++#: c-decl.c:7230 c-decl.c:7259
+ #, fuzzy, gcc-internal-format
+ msgid "both %<long%> and %<short%> in declaration specifiers"
+ msgstr "både long og short er angivet for '%s'"
+
+-#: c-decl.c:7234 c-decl.c:7437
++#: c-decl.c:7233 c-decl.c:7436
+ #, fuzzy, gcc-internal-format
+ msgid "both %<long%> and %<void%> in declaration specifiers"
+ msgstr "både long og short er angivet for '%s'"
+
+-#: c-decl.c:7237 c-decl.c:7459
++#: c-decl.c:7236 c-decl.c:7458
+ #, fuzzy, gcc-internal-format
+ msgid "both %<long%> and %<_Bool%> in declaration specifiers"
+ msgstr "både long og short er angivet for '%s'"
+
+-#: c-decl.c:7240 c-decl.c:7481
++#: c-decl.c:7239 c-decl.c:7480
+ #, fuzzy, gcc-internal-format
+ msgid "both %<long%> and %<char%> in declaration specifiers"
+ msgstr "både long og short er angivet for '%s'"
+
+-#: c-decl.c:7243 c-decl.c:7501
++#: c-decl.c:7242 c-decl.c:7500
+ #, fuzzy, gcc-internal-format
+ msgid "both %<long%> and %<float%> in declaration specifiers"
+ msgstr "både long og short er angivet for '%s'"
+
+-#: c-decl.c:7246
++#: c-decl.c:7245
+ #, gcc-internal-format
+ msgid "both %<long%> and %<_Decimal32%> in declaration specifiers"
+ msgstr ""
+
+-#: c-decl.c:7249
++#: c-decl.c:7248
+ #, gcc-internal-format
+ msgid "both %<long%> and %<_Decimal64%> in declaration specifiers"
+ msgstr ""
+
+-#: c-decl.c:7252
++#: c-decl.c:7251
+ #, gcc-internal-format
+ msgid "both %<long%> and %<_Decimal128%> in declaration specifiers"
+ msgstr ""
+
+-#: c-decl.c:7263 c-decl.c:7440
++#: c-decl.c:7262 c-decl.c:7439
+ #, gcc-internal-format
+ msgid "both %<short%> and %<void%> in declaration specifiers"
+ msgstr ""
+
+-#: c-decl.c:7266 c-decl.c:7462
++#: c-decl.c:7265 c-decl.c:7461
+ #, gcc-internal-format
+ msgid "both %<short%> and %<_Bool%> in declaration specifiers"
+ msgstr ""
+
+-#: c-decl.c:7269 c-decl.c:7484
++#: c-decl.c:7268 c-decl.c:7483
+ #, gcc-internal-format
+ msgid "both %<short%> and %<char%> in declaration specifiers"
+ msgstr ""
+
+-#: c-decl.c:7272 c-decl.c:7504
++#: c-decl.c:7271 c-decl.c:7503
+ #, gcc-internal-format
+ msgid "both %<short%> and %<float%> in declaration specifiers"
+ msgstr ""
+
+-#: c-decl.c:7275 c-decl.c:7523
++#: c-decl.c:7274 c-decl.c:7522
+ #, gcc-internal-format
+ msgid "both %<short%> and %<double%> in declaration specifiers"
+ msgstr ""
+
+-#: c-decl.c:7278
++#: c-decl.c:7277
+ #, gcc-internal-format
+ msgid "both %<short%> and %<_Decimal32%> in declaration specifiers"
+ msgstr ""
+
+-#: c-decl.c:7281
++#: c-decl.c:7280
+ #, gcc-internal-format
+ msgid "both %<short%> and %<_Decimal64%> in declaration specifiers"
+ msgstr ""
+
+-#: c-decl.c:7284
++#: c-decl.c:7283
+ #, gcc-internal-format
+ msgid "both %<short%> and %<_Decimal128%> in declaration specifiers"
+ msgstr ""
+
+-#: c-decl.c:7292 c-decl.c:7321
++#: c-decl.c:7291 c-decl.c:7320
+ #, fuzzy, gcc-internal-format
+ msgid "both %<signed%> and %<unsigned%> in declaration specifiers"
+ msgstr "både signed og unsigned er angivet for '%s'"
+
+-#: c-decl.c:7295 c-decl.c:7443
++#: c-decl.c:7294 c-decl.c:7442
+ #, fuzzy, gcc-internal-format
+ msgid "both %<signed%> and %<void%> in declaration specifiers"
+ msgstr "både signed og unsigned er angivet for '%s'"
+
+-#: c-decl.c:7298 c-decl.c:7465
++#: c-decl.c:7297 c-decl.c:7464
+ #, fuzzy, gcc-internal-format
+ msgid "both %<signed%> and %<_Bool%> in declaration specifiers"
+ msgstr "både signed og unsigned er angivet for '%s'"
+
+-#: c-decl.c:7301 c-decl.c:7507
++#: c-decl.c:7300 c-decl.c:7506
+ #, fuzzy, gcc-internal-format
+ msgid "both %<signed%> and %<float%> in declaration specifiers"
+ msgstr "både signed og unsigned er angivet for '%s'"
+
+-#: c-decl.c:7304 c-decl.c:7526
++#: c-decl.c:7303 c-decl.c:7525
+ #, fuzzy, gcc-internal-format
+ msgid "both %<signed%> and %<double%> in declaration specifiers"
+ msgstr "både signed og unsigned er angivet for '%s'"
+
+-#: c-decl.c:7307
++#: c-decl.c:7306
+ #, gcc-internal-format
+ msgid "both %<signed%> and %<_Decimal32%> in declaration specifiers"
+ msgstr ""
+
+-#: c-decl.c:7310
++#: c-decl.c:7309
+ #, gcc-internal-format
+ msgid "both %<signed%> and %<_Decimal64%> in declaration specifiers"
+ msgstr ""
+
+-#: c-decl.c:7313
++#: c-decl.c:7312
+ #, gcc-internal-format
+ msgid "both %<signed%> and %<_Decimal128%> in declaration specifiers"
+ msgstr ""
+
+-#: c-decl.c:7324 c-decl.c:7446
++#: c-decl.c:7323 c-decl.c:7445
+ #, fuzzy, gcc-internal-format
+ msgid "both %<unsigned%> and %<void%> in declaration specifiers"
+ msgstr "både signed og unsigned er angivet for '%s'"
+
+-#: c-decl.c:7327 c-decl.c:7468
++#: c-decl.c:7326 c-decl.c:7467
+ #, fuzzy, gcc-internal-format
+ msgid "both %<unsigned%> and %<_Bool%> in declaration specifiers"
+ msgstr "både signed og unsigned er angivet for '%s'"
+
+-#: c-decl.c:7330 c-decl.c:7510
++#: c-decl.c:7329 c-decl.c:7509
+ #, fuzzy, gcc-internal-format
+ msgid "both %<unsigned%> and %<float%> in declaration specifiers"
+ msgstr "både signed og unsigned er angivet for '%s'"
+
+-#: c-decl.c:7333 c-decl.c:7529
++#: c-decl.c:7332 c-decl.c:7528
+ #, fuzzy, gcc-internal-format
+ msgid "both %<unsigned%> and %<double%> in declaration specifiers"
+ msgstr "både signed og unsigned er angivet for '%s'"
+
+-#: c-decl.c:7336
++#: c-decl.c:7335
+ #, gcc-internal-format
+ msgid "both %<unsigned%> and %<_Decimal32%> in declaration specifiers"
+ msgstr ""
+
+-#: c-decl.c:7339
++#: c-decl.c:7338
+ #, gcc-internal-format
+ msgid "both %<unsigned%> and %<_Decimal64%> in declaration specifiers"
+ msgstr ""
+
+-#: c-decl.c:7342
++#: c-decl.c:7341
+ #, gcc-internal-format
+ msgid "both %<unsigned%> and %<_Decimal128%> in declaration specifiers"
+ msgstr ""
+
+-#: c-decl.c:7350
++#: c-decl.c:7349
+ #, gcc-internal-format
+ msgid "ISO C90 does not support complex types"
+ msgstr "ISO C90 understøtter ikke komplekse typer"
+
+-#: c-decl.c:7352 c-decl.c:7449
++#: c-decl.c:7351 c-decl.c:7448
+ #, gcc-internal-format
+ msgid "both %<complex%> and %<void%> in declaration specifiers"
+ msgstr ""
+
+-#: c-decl.c:7355 c-decl.c:7471
++#: c-decl.c:7354 c-decl.c:7470
+ #, gcc-internal-format
+ msgid "both %<complex%> and %<_Bool%> in declaration specifiers"
+ msgstr ""
+
+-#: c-decl.c:7358
++#: c-decl.c:7357
+ #, gcc-internal-format
+ msgid "both %<complex%> and %<_Decimal32%> in declaration specifiers"
+ msgstr ""
+
+-#: c-decl.c:7361
++#: c-decl.c:7360
+ #, gcc-internal-format
+ msgid "both %<complex%> and %<_Decimal64%> in declaration specifiers"
+ msgstr ""
+
+-#: c-decl.c:7364
++#: c-decl.c:7363
+ #, gcc-internal-format
+ msgid "both %<complex%> and %<_Decimal128%> in declaration specifiers"
+ msgstr ""
+
+-#: c-decl.c:7367
++#: c-decl.c:7366
+ #, gcc-internal-format
+ msgid "both %<complex%> and %<_Fract%> in declaration specifiers"
+ msgstr ""
+
+-#: c-decl.c:7370
++#: c-decl.c:7369
+ #, gcc-internal-format
+ msgid "both %<complex%> and %<_Accum%> in declaration specifiers"
+ msgstr ""
+
+-#: c-decl.c:7373
++#: c-decl.c:7372
+ #, gcc-internal-format
+ msgid "both %<complex%> and %<_Sat%> in declaration specifiers"
+ msgstr ""
+
+-#: c-decl.c:7381
++#: c-decl.c:7380
+ #, fuzzy, gcc-internal-format
+ msgid "ISO C does not support saturating types"
+ msgstr "ISO C understøtter ikke komplekse heltalstyper"
+
+-#: c-decl.c:7383 c-decl.c:7452
++#: c-decl.c:7382 c-decl.c:7451
+ #, gcc-internal-format
+ msgid "both %<_Sat%> and %<void%> in declaration specifiers"
+ msgstr ""
+
+-#: c-decl.c:7386 c-decl.c:7474
++#: c-decl.c:7385 c-decl.c:7473
+ #, gcc-internal-format
+ msgid "both %<_Sat%> and %<_Bool%> in declaration specifiers"
+ msgstr ""
+
+-#: c-decl.c:7389 c-decl.c:7487
++#: c-decl.c:7388 c-decl.c:7486
+ #, gcc-internal-format
+ msgid "both %<_Sat%> and %<char%> in declaration specifiers"
+ msgstr ""
+
+-#: c-decl.c:7392 c-decl.c:7494
++#: c-decl.c:7391 c-decl.c:7493
+ #, gcc-internal-format
+ msgid "both %<_Sat%> and %<int%> in declaration specifiers"
+ msgstr ""
+
+-#: c-decl.c:7395 c-decl.c:7513
++#: c-decl.c:7394 c-decl.c:7512
+ #, gcc-internal-format
+ msgid "both %<_Sat%> and %<float%> in declaration specifiers"
+ msgstr ""
+
+-#: c-decl.c:7398 c-decl.c:7532
++#: c-decl.c:7397 c-decl.c:7531
+ #, gcc-internal-format
+ msgid "both %<_Sat%> and %<double%> in declaration specifiers"
+ msgstr ""
+
+-#: c-decl.c:7401
++#: c-decl.c:7400
+ #, gcc-internal-format
+ msgid "both %<_Sat%> and %<_Decimal32%> in declaration specifiers"
+ msgstr ""
+
+-#: c-decl.c:7404
++#: c-decl.c:7403
+ #, gcc-internal-format
+ msgid "both %<_Sat%> and %<_Decimal64%> in declaration specifiers"
+ msgstr ""
+
+-#: c-decl.c:7407
++#: c-decl.c:7406
+ #, gcc-internal-format
+ msgid "both %<_Sat%> and %<_Decimal128%> in declaration specifiers"
+ msgstr ""
+
+-#: c-decl.c:7410
++#: c-decl.c:7409
+ #, gcc-internal-format
+ msgid "both %<_Sat%> and %<complex%> in declaration specifiers"
+ msgstr ""
+
+-#: c-decl.c:7549
++#: c-decl.c:7548
+ #, fuzzy, gcc-internal-format
+ msgid "both %<long long%> and %<%s%> in declaration specifiers"
+ msgstr "både long og short er angivet for '%s'"
+
+-#: c-decl.c:7552
++#: c-decl.c:7551
+ #, fuzzy, gcc-internal-format
+ msgid "both %<long%> and %<%s%> in declaration specifiers"
+ msgstr "både long og short er angivet for '%s'"
+
+-#: c-decl.c:7555
++#: c-decl.c:7554
+ #, gcc-internal-format
+ msgid "both %<short%> and %<%s%> in declaration specifiers"
+ msgstr ""
+
+-#: c-decl.c:7558
++#: c-decl.c:7557
+ #, fuzzy, gcc-internal-format
+ msgid "both %<signed%> and %<%s%> in declaration specifiers"
+ msgstr "både signed og unsigned er angivet for '%s'"
+
+-#: c-decl.c:7561
++#: c-decl.c:7560
+ #, fuzzy, gcc-internal-format
+ msgid "both %<unsigned%> and %<%s%> in declaration specifiers"
+ msgstr "både signed og unsigned er angivet for '%s'"
+
+-#: c-decl.c:7564 c-decl.c:7590
++#: c-decl.c:7563 c-decl.c:7589
+ #, gcc-internal-format
+ msgid "both %<complex%> and %<%s%> in declaration specifiers"
+ msgstr ""
+
+-#: c-decl.c:7567
++#: c-decl.c:7566
+ #, gcc-internal-format
+ msgid "both %<_Sat%> and %<%s%> in declaration specifiers"
+ msgstr ""
+
+-#: c-decl.c:7577
++#: c-decl.c:7576
+ #, fuzzy, gcc-internal-format
+ msgid "decimal floating point not supported for this target"
+ msgstr "-fdata-sections understøttes ikke på målarkitekturen"
+
+-#: c-decl.c:7579
++#: c-decl.c:7578
+ #, fuzzy, gcc-internal-format
+ msgid "ISO C does not support decimal floating point"
+ msgstr "ISO C90 understøtter ikke 'long long'"
+
+-#: c-decl.c:7598
++#: c-decl.c:7597
+ #, fuzzy, gcc-internal-format
+ msgid "fixed-point types not supported for this target"
+ msgstr "-fdata-sections understøttes ikke på målarkitekturen"
+
+-#: c-decl.c:7600
++#: c-decl.c:7599
+ #, fuzzy, gcc-internal-format
+ msgid "ISO C does not support fixed-point types"
+ msgstr "ISO C understøtter ikke komplekse heltalstyper"
+
+-#: c-decl.c:7634
++#: c-decl.c:7633
+ #, fuzzy, gcc-internal-format
+ msgid "%qE fails to be a typedef or built in type"
+ msgstr "'%s' er hverken en typedef eller en indbygget type"
+
+-#: c-decl.c:7667
++#: c-decl.c:7666
+ #, fuzzy, gcc-internal-format
+ msgid "%qE is not at beginning of declaration"
+ msgstr "'%s' er ikke ved begyndelsen af erklæringen"
+
+-#: c-decl.c:7681
++#: c-decl.c:7680
+ #, gcc-internal-format
+ msgid "%<__thread%> used with %<auto%>"
+ msgstr ""
+
+-#: c-decl.c:7683
++#: c-decl.c:7682
+ #, gcc-internal-format
+ msgid "%<__thread%> used with %<register%>"
+ msgstr ""
+
+-#: c-decl.c:7685
++#: c-decl.c:7684
+ #, gcc-internal-format
+ msgid "%<__thread%> used with %<typedef%>"
+ msgstr ""
+
+-#: c-decl.c:7696
++#: c-decl.c:7695
+ #, fuzzy, gcc-internal-format
+ msgid "%<__thread%> before %<extern%>"
+ msgstr "'__thread' før 'extern'"
+
+-#: c-decl.c:7705
++#: c-decl.c:7704
+ #, fuzzy, gcc-internal-format
+ msgid "%<__thread%> before %<static%>"
+ msgstr "'__thread' før 'static'"
+
+-#: c-decl.c:7721
++#: c-decl.c:7720
+ #, fuzzy, gcc-internal-format
+ msgid "multiple storage classes in declaration specifiers"
+ msgstr "flere lagringsklasser optræder i erklæringen af '%s'"
+
+-#: c-decl.c:7728
++#: c-decl.c:7727
+ #, gcc-internal-format
+ msgid "%<__thread%> used with %qE"
+ msgstr ""
+
+-#: c-decl.c:7775
++#: c-decl.c:7774
+ #, gcc-internal-format
+ msgid "%<_Sat%> is used without %<_Fract%> or %<_Accum%>"
+ msgstr ""
+
+-#: c-decl.c:7787
++#: c-decl.c:7786
+ #, fuzzy, gcc-internal-format
+ msgid "ISO C does not support plain %<complex%> meaning %<double complex%>"
+ msgstr "ISO C understøtter ikke at blot 'complex' betyder 'double complex'"
+
+-#: c-decl.c:7832 c-decl.c:7858
++#: c-decl.c:7831 c-decl.c:7857
+ #, gcc-internal-format
+ msgid "ISO C does not support complex integer types"
+ msgstr "ISO C understøtter ikke komplekse heltalstyper"
+
+-#: c-decl.c:8008 toplev.c:847
++#: c-decl.c:8007 toplev.c:847
+ #, fuzzy, gcc-internal-format
+ msgid "%q+F used but never defined"
+ msgstr "%J'%F' brugt, men aldrig defineret"
+@@ -20270,37 +20238,37 @@
+ msgid "invalid expression type for %<#pragma omp atomic%>"
+ msgstr "ugyldigt udtryk som operand"
+
+-#: c-omp.c:218
++#: c-omp.c:219
+ #, fuzzy, gcc-internal-format
+ msgid "%Hinvalid type for iteration variable %qE"
+ msgstr "ugyldig vektortype for egenskaben '%s'"
+
+-#: c-omp.c:222
++#: c-omp.c:223
+ #, fuzzy, gcc-internal-format
+ msgid "%Hiteration variable %qE is unsigned"
+ msgstr "instansvariablen '%s' er erklæret '%s'"
+
+-#: c-omp.c:233
++#: c-omp.c:234
+ #, fuzzy, gcc-internal-format
+ msgid "%H%qE is not initialized"
+ msgstr "manglende startværdi"
+
+-#: c-omp.c:246 cp/semantics.c:3840
++#: c-omp.c:247 cp/semantics.c:3872
+ #, fuzzy, gcc-internal-format
+ msgid "%Hmissing controlling predicate"
+ msgstr "manglende '(' efter udsagn"
+
+-#: c-omp.c:304
++#: c-omp.c:305
+ #, fuzzy, gcc-internal-format
+ msgid "%Hinvalid controlling predicate"
+ msgstr "Ugyldigt kontroludtryk"
+
+-#: c-omp.c:311 cp/semantics.c:3846
++#: c-omp.c:312 cp/semantics.c:3878
+ #, fuzzy, gcc-internal-format
+ msgid "%Hmissing increment expression"
+ msgstr "manglende ')' i udtryk"
+
+-#: c-omp.c:361
++#: c-omp.c:362
+ #, fuzzy, gcc-internal-format
+ msgid "%Hinvalid increment expression"
+ msgstr "Ugyldigt kontroludtryk"
+@@ -20345,152 +20313,152 @@
+ msgid "obsolete option -I- used, please use -iquote instead"
+ msgstr ""
+
+-#: c-opts.c:508
++#: c-opts.c:510
+ #, fuzzy, gcc-internal-format
+ msgid "argument %qs to %<-Wnormalized%> not recognized"
+ msgstr "sproget %s ikke genkendt"
+
+-#: c-opts.c:595
++#: c-opts.c:597
+ #, fuzzy, gcc-internal-format
+ msgid "switch %qs is no longer supported"
+ msgstr "tilvalget '%s' understøttes ikke længere"
+
+-#: c-opts.c:705
++#: c-opts.c:707
+ #, fuzzy, gcc-internal-format
+ msgid "-fhandle-exceptions has been renamed -fexceptions (and is now on by default)"
+ msgstr "-fhandle-exceptions er blevet omdøbt til -fexceptions (og er nu til som standard)"
+
+-#: c-opts.c:911
++#: c-opts.c:913
+ #, gcc-internal-format
+ msgid "output filename specified twice"
+ msgstr "uddatafilnavnet er angivet to gange"
+
+-#: c-opts.c:1051
++#: c-opts.c:1053
+ #, fuzzy, gcc-internal-format
+ msgid "-fno-gnu89-inline is only supported in GNU99 or C99 mode"
+ msgstr "-g er kun understøttet ved brug af GAS på denne processor,"
+
+-#: c-opts.c:1126
++#: c-opts.c:1142
+ #, gcc-internal-format
+ msgid "-Wformat-y2k ignored without -Wformat"
+ msgstr "-Wformat-y2k ignoreret uden -Wformat"
+
+-#: c-opts.c:1128
++#: c-opts.c:1144
+ #, gcc-internal-format
+ msgid "-Wformat-extra-args ignored without -Wformat"
+ msgstr "-Wformat-extra-args ignoreret uden -Wformat"
+
+-#: c-opts.c:1130
++#: c-opts.c:1146
+ #, gcc-internal-format
+ msgid "-Wformat-zero-length ignored without -Wformat"
+ msgstr "-Wformat-zero-length ignoreret uden -Wformat"
+
+-#: c-opts.c:1132
++#: c-opts.c:1148
+ #, gcc-internal-format
+ msgid "-Wformat-nonliteral ignored without -Wformat"
+ msgstr "-Wformat-nonliteral ignoreret uden -Wformat"
+
+-#: c-opts.c:1134
++#: c-opts.c:1150
+ #, fuzzy, gcc-internal-format
+ msgid "-Wformat-contains-nul ignored without -Wformat"
+ msgstr "-Wformat-nonliteral ignoreret uden -Wformat"
+
+-#: c-opts.c:1136
++#: c-opts.c:1152
+ #, gcc-internal-format
+ msgid "-Wformat-security ignored without -Wformat"
+ msgstr "-Wformat-security ignoreret uden -Wformat"
+
+-#: c-opts.c:1160
++#: c-opts.c:1176
+ #, fuzzy, gcc-internal-format
+ msgid "opening output file %s: %m"
+ msgstr "åbner uddatafilen %s"
+
+-#: c-opts.c:1165
++#: c-opts.c:1181
+ #, gcc-internal-format
+ msgid "too many filenames given. Type %s --help for usage"
+ msgstr "for mange filnavne angivet - vejledning i brug kan fås med '%s --help'"
+
+-#: c-opts.c:1249
++#: c-opts.c:1265
+ #, fuzzy, gcc-internal-format
+ msgid "The C parser does not support -dy, option ignored"
+ msgstr "APCS-genindtrædelig kode er ikke understøttet - ignoreret"
+
+-#: c-opts.c:1253
++#: c-opts.c:1269
+ #, gcc-internal-format
+ msgid "The Objective-C parser does not support -dy, option ignored"
+ msgstr ""
+
+-#: c-opts.c:1256
++#: c-opts.c:1272
+ #, fuzzy, gcc-internal-format
+ msgid "The C++ parser does not support -dy, option ignored"
+ msgstr "APCS-genindtrædelig kode er ikke understøttet - ignoreret"
+
+-#: c-opts.c:1260
++#: c-opts.c:1276
+ #, gcc-internal-format
+ msgid "The Objective-C++ parser does not support -dy, option ignored"
+ msgstr ""
+
+-#: c-opts.c:1309
++#: c-opts.c:1326
+ #, fuzzy, gcc-internal-format
+ msgid "opening dependency file %s: %m"
+ msgstr "åbner afhængighedsfilen %s"
+
+-#: c-opts.c:1319
++#: c-opts.c:1336
+ #, fuzzy, gcc-internal-format
+ msgid "closing dependency file %s: %m"
+ msgstr "lukker afhængighedsfilen %s"
+
+-#: c-opts.c:1322
++#: c-opts.c:1339
+ #, fuzzy, gcc-internal-format
+ msgid "when writing output to %s: %m"
+ msgstr "ved skrivning af uddata til %s"
+
+-#: c-opts.c:1402
++#: c-opts.c:1419
+ #, gcc-internal-format
+ msgid "to generate dependencies you must specify either -M or -MM"
+ msgstr "for at generere afhængigheder skal du angive enten -M eller -MM"
+
+-#: c-opts.c:1448
++#: c-opts.c:1469
+ #, gcc-internal-format
+ msgid "-fdirectives-only is incompatible with -Wunused_macros"
+ msgstr ""
+
+-#: c-opts.c:1450
++#: c-opts.c:1471
+ #, gcc-internal-format
+ msgid "-fdirectives-only is incompatible with -traditional"
+ msgstr ""
+
+-#: c-opts.c:1588
++#: c-opts.c:1609
+ #, gcc-internal-format
+ msgid "too late for # directive to set debug directory"
+ msgstr ""
+
+-#: c-parser.c:1070
++#: c-parser.c:1072
+ #, fuzzy, gcc-internal-format
+ msgid "%HISO C forbids an empty source file"
+ msgstr "ISO C forbyder en tom kildefil"
+
+-#: c-parser.c:1156 c-parser.c:6091
++#: c-parser.c:1158 c-parser.c:6150
+ #, fuzzy, gcc-internal-format
+ msgid "%HISO C does not allow extra %<;%> outside of a function"
+ msgstr "ISO C tillader ikke ekstra ';' uden for funktioner"
+
+-#: c-parser.c:1259 c-parser.c:6640
++#: c-parser.c:1261 c-parser.c:6699
+ #, fuzzy, gcc-internal-format
+ msgid "expected declaration specifiers"
+ msgstr "gentaget erklæring af enheden '%s'"
+
+-#: c-parser.c:1271
++#: c-parser.c:1273
+ #, fuzzy, gcc-internal-format
+ msgid "%Hempty declaration"
+ msgstr "tom erklæring"
+
+-#: c-parser.c:1307
++#: c-parser.c:1309
+ #, fuzzy, gcc-internal-format
+ msgid "%Hdata definition has no type or storage class"
+ msgstr "definition af data uden angivelse af type eller lagringsklasse"
+
+-#: c-parser.c:1362
++#: c-parser.c:1364
+ #, gcc-internal-format
+ msgid "expected %<,%> or %<;%>"
+ msgstr ""
+@@ -20498,175 +20466,190 @@
+ #. This can appear in many cases looking nothing like a
+ #. function definition, so we don't give a more specific
+ #. error suggesting there was one.
+-#: c-parser.c:1369 c-parser.c:1386
++#: c-parser.c:1371 c-parser.c:1388
+ #, gcc-internal-format
+ msgid "expected %<=%>, %<,%>, %<;%>, %<asm%> or %<__attribute__%>"
+ msgstr ""
+
+-#: c-parser.c:1378
++#: c-parser.c:1380
+ #, fuzzy, gcc-internal-format
+ msgid "%HISO C forbids nested functions"
+ msgstr "ISO C forbyder indlejrede funktioner"
+
+-#: c-parser.c:1743 c-parser.c:2553 c-parser.c:3189 c-parser.c:3445
+-#: c-parser.c:4308 c-parser.c:4895 c-parser.c:5298 c-parser.c:5318
+-#: c-parser.c:5434 c-parser.c:5582 c-parser.c:5599 c-parser.c:5731
+-#: c-parser.c:5743 c-parser.c:5768 c-parser.c:5903 c-parser.c:5932
+-#: c-parser.c:5940 c-parser.c:5968 c-parser.c:5982 c-parser.c:6201
+-#: c-parser.c:6300 c-parser.c:6803 c-parser.c:7426
++#: c-parser.c:1745 c-parser.c:2555 c-parser.c:3191 c-parser.c:3447
++#: c-parser.c:4367 c-parser.c:4954 c-parser.c:5357 c-parser.c:5377
++#: c-parser.c:5493 c-parser.c:5641 c-parser.c:5658 c-parser.c:5790
++#: c-parser.c:5802 c-parser.c:5827 c-parser.c:5962 c-parser.c:5991
++#: c-parser.c:5999 c-parser.c:6027 c-parser.c:6041 c-parser.c:6260
++#: c-parser.c:6359 c-parser.c:6862 c-parser.c:7493
+ #, fuzzy, gcc-internal-format
+ msgid "expected identifier"
+ msgstr "uventet operand"
+
+-#: c-parser.c:1773
++#: c-parser.c:1775
+ #, fuzzy, gcc-internal-format
+ msgid "%Hcomma at end of enumerator list"
+ msgstr "komma i slutningen af enum-liste"
+
+-#: c-parser.c:1779
++#: c-parser.c:1781
+ #, gcc-internal-format
+ msgid "expected %<,%> or %<}%>"
+ msgstr ""
+
+-#: c-parser.c:1793 c-parser.c:1977 c-parser.c:6058
++#: c-parser.c:1795 c-parser.c:1979 c-parser.c:6117
+ #, fuzzy, gcc-internal-format
+ msgid "expected %<{%>"
+ msgstr "';' forventet"
+
+-#: c-parser.c:1804
++#: c-parser.c:1806
+ #, fuzzy, gcc-internal-format
+ msgid "%HISO C forbids forward references to %<enum%> types"
+ msgstr "ISO C forbyder forhåndsreferencer til 'enum'-typer"
+
+-#: c-parser.c:1911
++#: c-parser.c:1913
+ #, fuzzy, gcc-internal-format
+ msgid "expected class name"
+ msgstr "uventet operand"
+
+-#: c-parser.c:1930 c-parser.c:5835
++#: c-parser.c:1932 c-parser.c:5894
+ #, fuzzy, gcc-internal-format
+ msgid "%Hextra semicolon in struct or union specified"
+ msgstr "ekstra semikolon angivet i struct eller union"
+
+-#: c-parser.c:1959
++#: c-parser.c:1961
+ #, fuzzy, gcc-internal-format
+ msgid "%Hno semicolon at end of struct or union"
+ msgstr "intet semikolon i slutningen af struct eller union"
+
+-#: c-parser.c:1963
++#: c-parser.c:1965
+ #, fuzzy, gcc-internal-format
+ msgid "expected %<;%>"
+ msgstr "';' forventet"
+
+-#: c-parser.c:2042 c-parser.c:3014
++#: c-parser.c:2044 c-parser.c:3016
+ #, gcc-internal-format
+ msgid "expected specifier-qualifier-list"
+ msgstr ""
+
+-#: c-parser.c:2052
++#: c-parser.c:2054
+ #, fuzzy, gcc-internal-format
+ msgid "%HISO C forbids member declarations with no members"
+ msgstr "ISO C forbyder medlemserklæringer uden medlemmer"
+
+-#: c-parser.c:2126
++#: c-parser.c:2128
+ #, gcc-internal-format
+ msgid "expected %<,%>, %<;%> or %<}%>"
+ msgstr ""
+
+-#: c-parser.c:2133
++#: c-parser.c:2135
+ #, gcc-internal-format
+ msgid "expected %<:%>, %<,%>, %<;%>, %<}%> or %<__attribute__%>"
+ msgstr ""
+
+-#: c-parser.c:2184
++#: c-parser.c:2186
+ #, fuzzy, gcc-internal-format
+ msgid "%H%<typeof%> applied to a bit-field"
+ msgstr "'sizeof' benyttet på et bitfelt"
+
+-#: c-parser.c:2421
++#: c-parser.c:2423
+ #, gcc-internal-format
+ msgid "expected identifier or %<(%>"
+ msgstr ""
+
+-#: c-parser.c:2622
++#: c-parser.c:2624
+ #, fuzzy, gcc-internal-format
+ msgid "%HISO C requires a named argument before %<...%>"
+ msgstr "ISO C påkræver en navngiven parameter før '...'"
+
+-#: c-parser.c:2729
++#: c-parser.c:2731
+ #, fuzzy, gcc-internal-format
+ msgid "expected declaration specifiers or %<...%>"
+ msgstr "erklæring af '%s' på øverste niveau angiver 'auto'"
+
+-#: c-parser.c:2779
++#: c-parser.c:2781
+ #, gcc-internal-format
+ msgid "%Hwide string literal in %<asm%>"
+ msgstr ""
+
+-#: c-parser.c:2786 c-parser.c:6695 cp/parser.c:20393
++#: c-parser.c:2788 c-parser.c:6754 cp/parser.c:20482
+ #, fuzzy, gcc-internal-format
+ msgid "expected string literal"
+ msgstr "_Pragma tager en strengkonstant med paranteser omkring"
+
+-#: c-parser.c:3107
++#: c-parser.c:3109
+ #, fuzzy, gcc-internal-format
+ msgid "%HISO C forbids empty initializer braces"
+ msgstr "ISO C forbyder tom startværdiblok"
+
+ #. Use the colon as the error location.
+-#: c-parser.c:3154
++#: c-parser.c:3156
+ #, fuzzy, gcc-internal-format
+ msgid "%Hobsolete use of designated initializer with %<:%>"
+ msgstr "forældet brug af udpeget startværdi med ':'"
+
+-#: c-parser.c:3285
++#: c-parser.c:3287
+ #, fuzzy, gcc-internal-format
+ msgid "%HISO C forbids specifying range of elements to initialize"
+ msgstr "ISO C forbyder angivelse af interval af elementer til klargøring"
+
+-#: c-parser.c:3298
++#: c-parser.c:3300
+ #, fuzzy, gcc-internal-format
+ msgid "%HISO C90 forbids specifying subobject to initialize"
+ msgstr "ISO C89 forbyder angivelse af underobjekt til klargøring"
+
+ # RETMIG: hm, gad vide om dette er rigtigt
+-#: c-parser.c:3307
++#: c-parser.c:3309
+ #, fuzzy, gcc-internal-format
+ msgid "%Hobsolete use of designated initializer without %<=%>"
+ msgstr "forældet brug af udpeget startværdi uden '='"
+
+-#: c-parser.c:3316
++#: c-parser.c:3318
+ #, fuzzy, gcc-internal-format
+ msgid "expected %<=%>"
+ msgstr "';' forventet"
+
+-#: c-parser.c:3461
++#: c-parser.c:3463
+ #, fuzzy, gcc-internal-format
+ msgid "%HISO C forbids label declarations"
+ msgstr "ISO C forbyder etiketerklæringer"
+
+-#: c-parser.c:3466 c-parser.c:3541
++#: c-parser.c:3468 c-parser.c:3543
+ #, fuzzy, gcc-internal-format
+ msgid "expected declaration or statement"
+ msgstr "gentaget erklæring af automaten '%s'"
+
+-#: c-parser.c:3494 c-parser.c:3522
++#: c-parser.c:3496 c-parser.c:3524
+ #, fuzzy, gcc-internal-format
+ msgid "%HISO C90 forbids mixed declarations and code"
+ msgstr "ISO C89 forbyder blandede erklæringer og kode"
+
++#: c-parser.c:3550
++#, gcc-internal-format
++msgid "%Hexpected %<}%> before %<else%>"
++msgstr ""
++
+ #: c-parser.c:3555
++#, gcc-internal-format
++msgid "%H%<else%> without a previous %<if%>"
++msgstr ""
++
++#: c-parser.c:3571
+ #, fuzzy, gcc-internal-format
+ msgid "%Hlabel at end of compound statement"
+ msgstr "forældet brug af etiket i slutningen af sammensat sætning"
+
+-#: c-parser.c:3598
++#: c-parser.c:3614
+ #, gcc-internal-format
+ msgid "expected %<:%> or %<...%>"
+ msgstr ""
+
+-#: c-parser.c:3779
++#: c-parser.c:3647
+ #, gcc-internal-format
++msgid "%Ha label can only be part of a statement and a declaration is not a statement"
++msgstr ""
++
++#: c-parser.c:3810
++#, gcc-internal-format
+ msgid "expected identifier or %<*%>"
+ msgstr ""
+
+@@ -20674,188 +20657,183 @@
+ #. 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-parser.c:3841
++#: c-parser.c:3872
+ #, fuzzy, gcc-internal-format
+ msgid "expected statement"
+ msgstr "uventet operand"
+
+-#: c-parser.c:3851
+-#, gcc-internal-format
+-msgid "%Ha label can only be part of a statement and a declaration is not a statement"
+-msgstr ""
+-
+-#: c-parser.c:4036
++#: c-parser.c:4095
+ #, fuzzy, gcc-internal-format
+ msgid "%Hsuggest braces around empty body in %<do%> statement"
+ msgstr "tom krop i en else-sætning"
+
+-#: c-parser.c:4192
++#: c-parser.c:4251
+ #, fuzzy, gcc-internal-format
+ msgid "%H%E qualifier ignored on asm"
+ msgstr "%s-modifikation ignoreret ved asm"
+
+-#: c-parser.c:4473
++#: c-parser.c:4532
+ #, fuzzy, gcc-internal-format
+ msgid "%HISO C forbids omitting the middle term of a ?: expression"
+ msgstr "ISO C forbyder udeladelse af den midterste del af et '?:'-udtryk"
+
+-#: c-parser.c:4863
++#: c-parser.c:4922
+ #, fuzzy, gcc-internal-format
+ msgid "%Htraditional C rejects the unary plus operator"
+ msgstr "traditionel C tillader ikke operatoren unær plus"
+
+ #. C99 6.7.5.2p4
+-#: c-parser.c:4974
++#: c-parser.c:5033
+ #, fuzzy, gcc-internal-format
+ msgid "%H%<[*]%> not allowed in other than a declaration"
+ msgstr "navnerum '%D' ikke tilladt i using-erklæring"
+
+-#: c-parser.c:4988
++#: c-parser.c:5047
+ #, fuzzy, gcc-internal-format
+ msgid "%H%<sizeof%> applied to a bit-field"
+ msgstr "'sizeof' benyttet på et bitfelt"
+
+-#: c-parser.c:5132 c-parser.c:5476 c-parser.c:5498
++#: c-parser.c:5191 c-parser.c:5535 c-parser.c:5557
+ #, fuzzy, gcc-internal-format
+ msgid "expected expression"
+ msgstr "uventet adresseudtryk"
+
+-#: c-parser.c:5159
++#: c-parser.c:5218
+ #, fuzzy, gcc-internal-format
+ msgid "%Hbraced-group within expression allowed only inside a function"
+ msgstr "sætningsblokke i udtryk er kun tilladt inde i en funktion"
+
+-#: c-parser.c:5173
++#: c-parser.c:5232
+ #, fuzzy, gcc-internal-format
+ msgid "%HISO C forbids braced-groups within expressions"
+ msgstr "ISO C forbyder sætningsblokke inden i udtryk"
+
+-#: c-parser.c:5358
++#: c-parser.c:5417
+ #, fuzzy, gcc-internal-format
+ msgid "%Hfirst argument to %<__builtin_choose_expr%> not a constant"
+ msgstr "første parameter til '__builtin_choose_expr' skal være en konstant"
+
+-#: c-parser.c:5527
++#: c-parser.c:5586
+ #, gcc-internal-format
+ msgid "%Hcompound literal has variable size"
+ msgstr ""
+
+-#: c-parser.c:5535
++#: c-parser.c:5594
+ #, fuzzy, gcc-internal-format
+ msgid "%HISO C90 forbids compound literals"
+ msgstr "ISO C89 forbyder sammensatte konstanter"
+
+-#: c-parser.c:6053
++#: c-parser.c:6112
+ #, fuzzy, gcc-internal-format
+ msgid "%Hextra semicolon in method definition specified"
+ msgstr "ekstra semikolon angivet i struct eller union"
+
+-#: c-parser.c:6600 cp/parser.c:20436
++#: c-parser.c:6659 cp/parser.c:20525
+ #, gcc-internal-format
+ msgid "%<#pragma omp barrier%> may only be used in compound statements"
+ msgstr ""
+
+-#: c-parser.c:6611 cp/parser.c:20451
++#: c-parser.c:6670 cp/parser.c:20540
+ #, gcc-internal-format
+ msgid "%<#pragma omp flush%> may only be used in compound statements"
+ msgstr ""
+
+-#: c-parser.c:6623
++#: c-parser.c:6682
+ #, gcc-internal-format
+ msgid "%H%<#pragma omp section%> may only be used in %<#pragma omp sections%> construct"
+ msgstr ""
+
+-#: c-parser.c:6630 cp/parser.c:20426
++#: c-parser.c:6689 cp/parser.c:20515
+ #, gcc-internal-format
+ msgid "%<#pragma GCC pch_preprocess%> must be first"
+ msgstr ""
+
+-#: c-parser.c:6781 cp/parser.c:19277
++#: c-parser.c:6840 cp/parser.c:19359
+ #, fuzzy, gcc-internal-format
+ msgid "too many %qs clauses"
+ msgstr "for mange inddatafiler"
+
+-#: c-parser.c:6906
++#: c-parser.c:6965
+ #, gcc-internal-format
+ msgid "expected %<none%> or %<shared%>"
+ msgstr ""
+
+-#: c-parser.c:6949
++#: c-parser.c:7008
+ #, fuzzy, gcc-internal-format
+ msgid "expected %<(%>"
+ msgstr "';' forventet"
+
+-#: c-parser.c:6993 c-parser.c:7170
++#: c-parser.c:7052 c-parser.c:7229
+ #, fuzzy, gcc-internal-format
+ msgid "expected integer expression"
+ msgstr "uventet adresseudtryk"
+
+-#: c-parser.c:7002
++#: c-parser.c:7061
+ #, gcc-internal-format
+ msgid "%H%<num_threads%> value must be positive"
+ msgstr ""
+
+-#: c-parser.c:7082
++#: c-parser.c:7141
+ #, gcc-internal-format
+ msgid "expected %<+%>, %<*%>, %<-%>, %<&%>, %<^%>, %<|%>, %<&&%>, or %<||%>"
+ msgstr ""
+
+-#: c-parser.c:7165
++#: c-parser.c:7224
+ #, gcc-internal-format
+ msgid "%Hschedule %<runtime%> does not take a %<chunk_size%> parameter"
+ msgstr ""
+
+-#: c-parser.c:7183
++#: c-parser.c:7242
+ #, fuzzy, gcc-internal-format
+ msgid "invalid schedule kind"
+ msgstr "ugyldig roteringsinstruktion"
+
+-#: c-parser.c:7269
++#: c-parser.c:7336
+ #, gcc-internal-format
+ msgid "expected %<#pragma omp%> clause"
+ msgstr ""
+
+-#: c-parser.c:7278
++#: c-parser.c:7345
+ #, fuzzy, gcc-internal-format
+ msgid "%H%qs is not valid for %qs"
+ msgstr "%s understøtter ikke %s"
+
+-#: c-parser.c:7378
++#: c-parser.c:7445
+ #, fuzzy, gcc-internal-format
+ msgid "invalid operator for %<#pragma omp atomic%>"
+ msgstr "ugyldig operand til 'p'-ændring"
+
+-#: c-parser.c:7429 c-parser.c:7449
++#: c-parser.c:7496 c-parser.c:7516
+ #, gcc-internal-format
+ msgid "expected %<(%> or end of line"
+ msgstr ""
+
+-#: c-parser.c:7467
++#: c-parser.c:7534
+ #, fuzzy, gcc-internal-format
+ msgid "for statement expected"
+ msgstr "')' eller term forventet"
+
+-#: c-parser.c:7540 cp/semantics.c:3826 cp/semantics.c:3870
++#: c-parser.c:7609 cp/semantics.c:3858 cp/semantics.c:3902
+ #, fuzzy, gcc-internal-format
+ msgid "expected iteration declaration or initialization"
+ msgstr "gentaget erklæring af automaten '%s'"
+
+-#: c-parser.c:7666
++#: c-parser.c:7735
+ #, gcc-internal-format
+ msgid "%Hexpected %<#pragma omp section%> or %<}%>"
+ msgstr ""
+
+-#: c-parser.c:7899 cp/semantics.c:3718
++#: c-parser.c:7968 cp/semantics.c:3750
+ #, gcc-internal-format
+ msgid "%qE declared %<threadprivate%> after first use"
+ msgstr ""
+
+-#: c-parser.c:7901 cp/semantics.c:3720
++#: c-parser.c:7970 cp/semantics.c:3752
+ #, gcc-internal-format
+ msgid "automatic variable %qE cannot be %<threadprivate%>"
+ msgstr ""
+
+-#: c-parser.c:7903 cp/semantics.c:3722
++#: c-parser.c:7972 cp/semantics.c:3754
+ #, fuzzy, gcc-internal-format
+ msgid "%<threadprivate%> %qE has incomplete type"
+ msgstr "parameteren er af en ufuldstændig type"
+@@ -21020,122 +20998,122 @@
+ msgid "junk at end of %<#pragma pop_macro%>"
+ msgstr "ragelse i slutningen af #pragma map"
+
+-#: c-pragma.c:406
++#: c-pragma.c:407
+ #, fuzzy, gcc-internal-format
+ msgid "applying #pragma weak %q+D after first use results in unspecified behavior"
+ msgstr "anvendelse af #pragma weak '%s' efter første brug resulterer i ikke-defineret opførsel"
+
+-#: c-pragma.c:480 c-pragma.c:485
++#: c-pragma.c:481 c-pragma.c:486
+ #, gcc-internal-format
+ msgid "malformed #pragma weak, ignored"
+ msgstr "forkert udformet '#pragma weak' - ignoreret"
+
+-#: c-pragma.c:489
++#: c-pragma.c:490
+ #, fuzzy, gcc-internal-format
+ msgid "junk at end of %<#pragma weak%>"
+ msgstr "ragelse i slutningen af '#pragma weak'"
+
+-#: c-pragma.c:557 c-pragma.c:559
++#: c-pragma.c:558 c-pragma.c:560
+ #, gcc-internal-format
+ msgid "malformed #pragma redefine_extname, ignored"
+ msgstr "forkert udformet '#pragma redefine_extname' - ignoreret"
+
+-#: c-pragma.c:562
++#: c-pragma.c:563
+ #, fuzzy, gcc-internal-format
+ msgid "junk at end of %<#pragma redefine_extname%>"
+ msgstr "ragelse i slutningen af '#pragma redefine_extname'"
+
+-#: c-pragma.c:568
++#: c-pragma.c:569
+ #, fuzzy, gcc-internal-format
+ msgid "#pragma redefine_extname not supported on this target"
+ msgstr "__builtin_eh_return understøttes ikke på målarkitekturen"
+
+-#: c-pragma.c:585 c-pragma.c:672
++#: c-pragma.c:586 c-pragma.c:673
+ #, fuzzy, gcc-internal-format
+ msgid "#pragma redefine_extname ignored due to conflict with previous rename"
+ msgstr "#pragma redefine_extname er i konflikt med erklæring"
+
+-#: c-pragma.c:608
++#: c-pragma.c:609
+ #, fuzzy, gcc-internal-format
+ msgid "#pragma redefine_extname ignored due to conflict with previous #pragma redefine_extname"
+ msgstr "#pragma redefine_extname er i konflikt med erklæring"
+
+-#: c-pragma.c:627
++#: c-pragma.c:628
+ #, gcc-internal-format
+ msgid "malformed #pragma extern_prefix, ignored"
+ msgstr "forkert udformet '#pragma extern_prefix' - ignoreret"
+
+-#: c-pragma.c:630
++#: c-pragma.c:631
+ #, fuzzy, gcc-internal-format
+ msgid "junk at end of %<#pragma extern_prefix%>"
+ msgstr "ragelse i slutningen af '#pragma extern_prefix'"
+
+-#: c-pragma.c:637
++#: c-pragma.c:638
+ #, fuzzy, gcc-internal-format
+ msgid "#pragma extern_prefix not supported on this target"
+ msgstr "Profilering er ikke understøttet på målarkitekturen."
+
+-#: c-pragma.c:663
++#: c-pragma.c:664
+ #, fuzzy, gcc-internal-format
+ msgid "asm declaration ignored due to conflict with previous rename"
+ msgstr "asm-erklæring er i konflikt med tidligere omdøbelse"
+
+-#: c-pragma.c:694
++#: c-pragma.c:695
+ #, fuzzy, gcc-internal-format
+ msgid "#pragma redefine_extname ignored due to conflict with __asm__ declaration"
+ msgstr "#pragma redefine_extname er i konflikt med erklæring"
+
+-#: c-pragma.c:756
++#: c-pragma.c:757
+ #, gcc-internal-format
+ msgid "#pragma GCC visibility push() must specify default, internal, hidden or protected"
+ msgstr ""
+
+-#: c-pragma.c:791
++#: c-pragma.c:792
+ #, gcc-internal-format
+ msgid "#pragma GCC visibility must be followed by push or pop"
+ msgstr ""
+
+-#: c-pragma.c:797
++#: c-pragma.c:798
+ #, gcc-internal-format
+ msgid "no matching push for %<#pragma GCC visibility pop%>"
+ msgstr ""
+
+-#: c-pragma.c:804 c-pragma.c:811
++#: c-pragma.c:805 c-pragma.c:812
+ #, fuzzy, gcc-internal-format
+ msgid "missing %<(%> after %<#pragma GCC visibility push%> - ignored"
+ msgstr "manglende '(' efter '#pragma %s' - ignoreret"
+
+-#: c-pragma.c:807
++#: c-pragma.c:808
+ #, fuzzy, gcc-internal-format
+ msgid "malformed #pragma GCC visibility push"
+ msgstr "forkert udformet '#pragma builtin'"
+
+-#: c-pragma.c:815
++#: c-pragma.c:816
+ #, fuzzy, gcc-internal-format
+ msgid "junk at end of %<#pragma GCC visibility%>"
+ msgstr "ragelse i slutningen 'af #pragma %s'"
+
+-#: c-pragma.c:831
++#: c-pragma.c:832
+ #, fuzzy, gcc-internal-format
+ msgid "#pragma GCC diagnostic not allowed inside functions"
+ msgstr "ISO C tillader ikke ekstra ';' uden for funktioner"
+
+-#: c-pragma.c:837
++#: c-pragma.c:838
+ #, gcc-internal-format
+ msgid "missing [error|warning|ignored] after %<#pragma GCC diagnostic%>"
+ msgstr ""
+
+-#: c-pragma.c:846
++#: c-pragma.c:847
+ #, gcc-internal-format
+ msgid "expected [error|warning|ignored] after %<#pragma GCC diagnostic%>"
+ msgstr ""
+
+-#: c-pragma.c:850
++#: c-pragma.c:851
+ #, fuzzy, gcc-internal-format
+ msgid "missing option after %<#pragma GCC diagnostic%> kind"
+ msgstr "manglende '(' efter '#pragma %s' - ignoreret"
+
+-#: c-pragma.c:864
++#: c-pragma.c:865
+ #, fuzzy, gcc-internal-format
+ msgid "unknown option after %<#pragma GCC diagnostic%> kind"
+ msgstr "ukendt handling '%s' for '#pragma pack' - ignoreret"
+@@ -21145,7 +21123,7 @@
+ msgid "%qD has an incomplete type"
+ msgstr "'%s' er af en ufuldstændig type"
+
+-#: c-typeck.c:195 cp/call.c:2785
++#: c-typeck.c:195 cp/call.c:2771
+ #, gcc-internal-format
+ msgid "invalid use of void expression"
+ msgstr "ugyldig brug af void-udtryk"
+@@ -21176,92 +21154,92 @@
+ msgid "function types not truly compatible in ISO C"
+ msgstr "funktionstyper ikke er fuldt ud forenelige i ISO C"
+
+-#: c-typeck.c:621
++#: c-typeck.c:627
+ #, gcc-internal-format
+ msgid "can%'t mix operands of decimal float and vector types"
+ msgstr ""
+
+-#: c-typeck.c:626
++#: c-typeck.c:632
+ #, gcc-internal-format
+ msgid "can%'t mix operands of decimal float and complex types"
+ msgstr ""
+
+-#: c-typeck.c:631
++#: c-typeck.c:637
+ #, gcc-internal-format
+ msgid "can%'t mix operands of decimal float and other float types"
+ msgstr ""
+
+-#: c-typeck.c:1037
++#: c-typeck.c:1043
+ #, gcc-internal-format
+ msgid "types are not quite compatible"
+ msgstr "typer er ikke helt forenelige"
+
+-#: c-typeck.c:1356
++#: c-typeck.c:1366
+ #, fuzzy, gcc-internal-format
+ msgid "function return types not compatible due to %<volatile%>"
+ msgstr "en funktions returtype kan ikke være en funktion"
+
+-#: c-typeck.c:1515 c-typeck.c:2853
++#: c-typeck.c:1525 c-typeck.c:2864
+ #, gcc-internal-format
+ msgid "arithmetic on pointer to an incomplete type"
+ msgstr "beregninger udført på en henvisning til en ufuldstændig type"
+
+-#: c-typeck.c:1912
++#: c-typeck.c:1922
+ #, fuzzy, gcc-internal-format
+ msgid "%qT has no member named %qE"
+ msgstr "'%D' har intet medlem ved navn '%E'"
+
+-#: c-typeck.c:1953
++#: c-typeck.c:1963
+ #, fuzzy, gcc-internal-format
+ msgid "request for member %qE in something not a structure or union"
+ msgstr "forespørgsel efter medlemmet '%s' i noget der hverken er en union eller en struktur"
+
+-#: c-typeck.c:1997
++#: c-typeck.c:2007
+ #, gcc-internal-format
+ msgid "dereferencing pointer to incomplete type"
+ msgstr "forsøg på at følge en henvisning til en variabel af en ufuldstændig type"
+
+-#: c-typeck.c:2001
++#: c-typeck.c:2011
+ #, fuzzy, gcc-internal-format
+ msgid "dereferencing %<void *%> pointer"
+ msgstr "forsøg på at følge en 'void *'-henvisning"
+
+-#: c-typeck.c:2018
++#: c-typeck.c:2028
+ #, fuzzy, gcc-internal-format
+ msgid "invalid type argument of %qs (have %qT)"
+ msgstr "ugyldig typeparameter '%s'"
+
+-#: c-typeck.c:2046 cp/typeck.c:2524
++#: c-typeck.c:2056 cp/typeck.c:2570
+ #, gcc-internal-format
+ msgid "subscripted value is neither array nor pointer"
+ msgstr "værdien der er påført et indeks, er hverken en tabel eller en henvisningsvariabel"
+
+-#: c-typeck.c:2057 cp/typeck.c:2443 cp/typeck.c:2529
++#: c-typeck.c:2067 cp/typeck.c:2489 cp/typeck.c:2575
+ #, gcc-internal-format
+ msgid "array subscript is not an integer"
+ msgstr "tabelindeks er ikke et heltal"
+
+-#: c-typeck.c:2063
++#: c-typeck.c:2073
+ #, fuzzy, gcc-internal-format
+ msgid "subscripted value is pointer to function"
+ msgstr "videregiver parameter af henvisning til funktion"
+
+-#: c-typeck.c:2110
++#: c-typeck.c:2120
+ #, fuzzy, gcc-internal-format
+ msgid "ISO C forbids subscripting %<register%> array"
+ msgstr "ISO C forbyder opslag i 'register'-tabel"
+
+-#: c-typeck.c:2112
++#: c-typeck.c:2122
+ #, gcc-internal-format
+ msgid "ISO C90 forbids subscripting non-lvalue array"
+ msgstr "ISO C90 forbyder opslag i tabel der ikke er venstreværdi"
+
+-#: c-typeck.c:2228
++#: c-typeck.c:2239
+ #, gcc-internal-format
+ msgid "%H%qD is static but used in inline function %qD which is not static"
+ msgstr ""
+
+-#: c-typeck.c:2376
++#: c-typeck.c:2387
+ #, fuzzy, gcc-internal-format
+ msgid "called object %qE is not a function"
+ msgstr "det kaldte objekt er ikke en funktion"
+@@ -21269,802 +21247,802 @@
+ #. This situation leads to run-time undefined behavior. We can't,
+ #. therefore, simply error unless we can prove that all possible
+ #. executions of the program must execute the code.
+-#: c-typeck.c:2404
++#: c-typeck.c:2415
+ #, fuzzy, gcc-internal-format
+ msgid "function called through a non-compatible type"
+ msgstr "sizeof benyttet på en ufuldstændig type"
+
+-#: c-typeck.c:2515
++#: c-typeck.c:2526
+ #, fuzzy, gcc-internal-format
+ msgid "too many arguments to function %qE"
+ msgstr "for mange parametre til funktionen"
+
+-#: c-typeck.c:2536
++#: c-typeck.c:2547
+ #, gcc-internal-format
+ msgid "type of formal parameter %d is incomplete"
+ msgstr "typen af den formelle parameter %d er ufuldstændig"
+
+-#: c-typeck.c:2549
++#: c-typeck.c:2560
+ #, fuzzy, gcc-internal-format
+ msgid "passing argument %d of %qE as integer rather than floating due to prototype"
+ msgstr "%s som heltal i stedet for kommatal på grund af prototypen"
+
+-#: c-typeck.c:2554
++#: c-typeck.c:2565
+ #, fuzzy, gcc-internal-format
+ msgid "passing argument %d of %qE as integer rather than complex due to prototype"
+ msgstr "%s som heltal i stedet for complex på grund af prototypen"
+
+-#: c-typeck.c:2559
++#: c-typeck.c:2570
+ #, fuzzy, gcc-internal-format
+ msgid "passing argument %d of %qE as complex rather than floating due to prototype"
+ msgstr "%s som complex i stedet for kommatal på grund af prototypen"
+
+-#: c-typeck.c:2564
++#: c-typeck.c:2575
+ #, fuzzy, gcc-internal-format
+ msgid "passing argument %d of %qE as floating rather than integer due to prototype"
+ msgstr "%s som kommatal i stedet for heltal på grund af prototypen"
+
+-#: c-typeck.c:2569
++#: c-typeck.c:2580
+ #, fuzzy, gcc-internal-format
+ msgid "passing argument %d of %qE as complex rather than integer due to prototype"
+ msgstr "%s som complex i stedet for heltal på grund af prototypen"
+
+-#: c-typeck.c:2574
++#: c-typeck.c:2585
+ #, fuzzy, gcc-internal-format
+ msgid "passing argument %d of %qE as floating rather than complex due to prototype"
+ msgstr "%s som kommatal i stedet for complex på grund af prototypen"
+
+-#: c-typeck.c:2587
++#: c-typeck.c:2598
+ #, fuzzy, gcc-internal-format
+ msgid "passing argument %d of %qE as %<float%> rather than %<double%> due to prototype"
+ msgstr "%s som float i stedet for double på grund af prototypen"
+
+-#: c-typeck.c:2612
++#: c-typeck.c:2623
+ #, fuzzy, gcc-internal-format
+ msgid "passing argument %d of %qE as %qT rather than %qT due to prototype"
+ msgstr "%s som heltal i stedet for complex på grund af prototypen"
+
+-#: c-typeck.c:2633
++#: c-typeck.c:2644
+ #, fuzzy, gcc-internal-format
+ msgid "passing argument %d of %qE with different width due to prototype"
+ msgstr "%s med anderledes bredde på grund af prototypen"
+
+-#: c-typeck.c:2656
++#: c-typeck.c:2667
+ #, fuzzy, gcc-internal-format
+ msgid "passing argument %d of %qE as unsigned due to prototype"
+ msgstr "%s som unsigned på grund af prototypen"
+
+-#: c-typeck.c:2660
++#: c-typeck.c:2671
+ #, fuzzy, gcc-internal-format
+ msgid "passing argument %d of %qE as signed due to prototype"
+ msgstr "%s som signed på grund af prototypen"
+
+-#: c-typeck.c:2766 c-typeck.c:2770
++#: c-typeck.c:2777 c-typeck.c:2781
+ #, fuzzy, gcc-internal-format
+ msgid "comparison with string literal results in unspecified behavior"
+ msgstr "%Jsvag erklæring af '%D' efter første brug resulterer i ikke-defineret opførsel"
+
+-#: c-typeck.c:2795
++#: c-typeck.c:2806
+ #, fuzzy, gcc-internal-format
+ msgid "pointer of type %<void *%> used in subtraction"
+ msgstr "henvisning af typen 'void *' benyttet i subtraktion"
+
+-#: c-typeck.c:2797
++#: c-typeck.c:2808
+ #, gcc-internal-format
+ msgid "pointer to a function used in subtraction"
+ msgstr "henvisning til en funktion benyttet i subtraktion"
+
+-#: c-typeck.c:2908
++#: c-typeck.c:2919
+ #, gcc-internal-format
+ msgid "wrong type argument to unary plus"
+ msgstr "forkert parametertype til unært plus"
+
+-#: c-typeck.c:2921
++#: c-typeck.c:2932
+ #, gcc-internal-format
+ msgid "wrong type argument to unary minus"
+ msgstr "forkert parametertype til unært minus"
+
+-#: c-typeck.c:2941
++#: c-typeck.c:2952
+ #, fuzzy, gcc-internal-format
+ msgid "ISO C does not support %<~%> for complex conjugation"
+ msgstr "ISO C understøtter ikke '~' til compleks-konjugering"
+
+-#: c-typeck.c:2947
++#: c-typeck.c:2958
+ #, gcc-internal-format
+ msgid "wrong type argument to bit-complement"
+ msgstr "forkert parametertype til bitkomplement"
+
+-#: c-typeck.c:2955
++#: c-typeck.c:2966
+ #, gcc-internal-format
+ msgid "wrong type argument to abs"
+ msgstr "forkert parametertype til abs"
+
+-#: c-typeck.c:2967
++#: c-typeck.c:2978
+ #, gcc-internal-format
+ msgid "wrong type argument to conjugation"
+ msgstr "forkert parametertype til konjugation"
+
+-#: c-typeck.c:2979
++#: c-typeck.c:2990
+ #, gcc-internal-format
+ msgid "wrong type argument to unary exclamation mark"
+ msgstr "forkert parametertype til unært udråbstegn"
+
+-#: c-typeck.c:3013
++#: c-typeck.c:3024
+ #, fuzzy, gcc-internal-format
+ msgid "ISO C does not support %<++%> and %<--%> on complex types"
+ msgstr "ISO C understøtter ikke '++' og '--' for complex-typer"
+
+ # man kan ikke stikke en forøgelse (++) en type som parameter, 'type
+ # argument' skal opfattes på en anden måde
+-#: c-typeck.c:3032 c-typeck.c:3064
++#: c-typeck.c:3043 c-typeck.c:3075
+ #, gcc-internal-format
+ msgid "wrong type argument to increment"
+ msgstr "forkert parametertype til forøgelse"
+
+-#: c-typeck.c:3034 c-typeck.c:3066
++#: c-typeck.c:3045 c-typeck.c:3077
+ #, gcc-internal-format
+ msgid "wrong type argument to decrement"
+ msgstr "forkert parametertype til formindskelse"
+
+-#: c-typeck.c:3055
++#: c-typeck.c:3066
+ #, gcc-internal-format
+ msgid "increment of pointer to unknown structure"
+ msgstr "forøgelse af henvisning til en ukendt struktur"
+
+-#: c-typeck.c:3057
++#: c-typeck.c:3068
+ #, gcc-internal-format
+ msgid "decrement of pointer to unknown structure"
+ msgstr "formindskelse af henvisning til en ukendt struktur"
+
+ # RETMIG: lettere klodset konstruktion
+-#: c-typeck.c:3258
++#: c-typeck.c:3269
+ #, fuzzy, gcc-internal-format
+ msgid "assignment of read-only member %qD"
+ msgstr "%s af medlemmet '%s' der kun må læses"
+
+ # RETMIG: lettere klodset konstruktion
+-#: c-typeck.c:3259
++#: c-typeck.c:3270
+ #, fuzzy, gcc-internal-format
+ msgid "increment of read-only member %qD"
+ msgstr "%s af medlemmet '%s' der kun må læses"
+
+ # RETMIG: lettere klodset konstruktion
+-#: c-typeck.c:3260
++#: c-typeck.c:3271
+ #, fuzzy, gcc-internal-format
+ msgid "decrement of read-only member %qD"
+ msgstr "%s af medlemmet '%s' der kun må læses"
+
+-#: c-typeck.c:3261
++#: c-typeck.c:3272
+ #, gcc-internal-format
+ msgid "read-only member %qD used as %<asm%> output"
+ msgstr ""
+
+-#: c-typeck.c:3265
++#: c-typeck.c:3276
+ #, fuzzy, gcc-internal-format
+ msgid "assignment of read-only variable %qD"
+ msgstr "%s af variablen '%s' der kun må læses"
+
+-#: c-typeck.c:3266
++#: c-typeck.c:3277
+ #, fuzzy, gcc-internal-format
+ msgid "increment of read-only variable %qD"
+ msgstr "%s af variablen '%s' der kun må læses"
+
+-#: c-typeck.c:3267
++#: c-typeck.c:3278
+ #, fuzzy, gcc-internal-format
+ msgid "decrement of read-only variable %qD"
+ msgstr "%s af variablen '%s' der kun må læses"
+
+-#: c-typeck.c:3268
++#: c-typeck.c:3279
+ #, gcc-internal-format
+ msgid "read-only variable %qD used as %<asm%> output"
+ msgstr ""
+
+-#: c-typeck.c:3271
++#: c-typeck.c:3282
+ #, fuzzy, gcc-internal-format
+ msgid "assignment of read-only location %qE"
+ msgstr "%s af placering der kun må læses"
+
+-#: c-typeck.c:3272
++#: c-typeck.c:3283
+ #, fuzzy, gcc-internal-format
+ msgid "increment of read-only location %qE"
+ msgstr "%s af placering der kun må læses"
+
+-#: c-typeck.c:3273
++#: c-typeck.c:3284
+ #, fuzzy, gcc-internal-format
+ msgid "decrement of read-only location %qE"
+ msgstr "%s af placering der kun må læses"
+
+-#: c-typeck.c:3274
++#: c-typeck.c:3285
+ #, gcc-internal-format
+ msgid "read-only location %qE used as %<asm%> output"
+ msgstr ""
+
+-#: c-typeck.c:3310
++#: c-typeck.c:3321
+ #, fuzzy, gcc-internal-format
+ msgid "cannot take address of bit-field %qD"
+ msgstr "kan ikke finde adressen af bitfeltet '%s'"
+
+-#: c-typeck.c:3338
++#: c-typeck.c:3349
+ #, fuzzy, gcc-internal-format
+ msgid "global register variable %qD used in nested function"
+ msgstr "global registervariabel '%s' benyttet i indlejret funktion"
+
+-#: c-typeck.c:3341
++#: c-typeck.c:3352
+ #, fuzzy, gcc-internal-format
+ msgid "register variable %qD used in nested function"
+ msgstr "registervariabel '%s' benyttet i indlejret funktion"
+
+-#: c-typeck.c:3346
++#: c-typeck.c:3357
+ #, fuzzy, gcc-internal-format
+ msgid "address of global register variable %qD requested"
+ msgstr "forespørgsel efter adressen af den globale registervariabel '%s'"
+
+-#: c-typeck.c:3348
++#: c-typeck.c:3359
+ #, fuzzy, gcc-internal-format
+ msgid "address of register variable %qD requested"
+ msgstr "forespørgsel efter adressen af registervariablen '%s'"
+
+-#: c-typeck.c:3394
++#: c-typeck.c:3405
+ #, fuzzy, gcc-internal-format
+ msgid "non-lvalue array in conditional expression"
+ msgstr "typerne i betingelsesudtrykket passer ikke sammen"
+
+-#: c-typeck.c:3442
++#: c-typeck.c:3453
+ #, gcc-internal-format
+ msgid "signed and unsigned type in conditional expression"
+ msgstr "signed og unsigned type i betinget udtryk"
+
+-#: c-typeck.c:3449
++#: c-typeck.c:3460
+ #, gcc-internal-format
+ msgid "ISO C forbids conditional expr with only one void side"
+ msgstr "ISO C forbyder betingede udtryk med kun én tom side"
+
+-#: c-typeck.c:3463 c-typeck.c:3471
++#: c-typeck.c:3474 c-typeck.c:3482
+ #, fuzzy, gcc-internal-format
+ msgid "ISO C forbids conditional expr between %<void *%> and function pointer"
+ msgstr "ISO C++ forbyder betinget udtryk mellem 'void *' og funktionshenvisning"
+
+-#: c-typeck.c:3478
++#: c-typeck.c:3489
+ #, gcc-internal-format
+ msgid "pointer type mismatch in conditional expression"
+ msgstr "henvisningstyperne i betingelsesudtrykket passer ikke sammen"
+
+-#: c-typeck.c:3485 c-typeck.c:3495
++#: c-typeck.c:3496 c-typeck.c:3506
+ #, gcc-internal-format
+ msgid "pointer/integer type mismatch in conditional expression"
+ msgstr "henvisnings- og heltalstype i betingelsesudtrykket passer ikke sammen"
+
+-#: c-typeck.c:3509 tree-cfg.c:3783
++#: c-typeck.c:3520 tree-cfg.c:3807
+ #, gcc-internal-format
+ msgid "type mismatch in conditional expression"
+ msgstr "typerne i betingelsesudtrykket passer ikke sammen"
+
+-#: c-typeck.c:3552
++#: c-typeck.c:3563
+ #, gcc-internal-format
+ msgid "left-hand operand of comma expression has no effect"
+ msgstr "venstreoperanden til kommaudtrykket har ingen virkning"
+
+-#: c-typeck.c:3589
++#: c-typeck.c:3600
+ #, gcc-internal-format
+ msgid "cast specifies array type"
+ msgstr "typetildelingen angiver en tabeltype"
+
+-#: c-typeck.c:3595
++#: c-typeck.c:3606
+ #, gcc-internal-format
+ msgid "cast specifies function type"
+ msgstr "typetildelingen angiver en funktionstype"
+
+-#: c-typeck.c:3612
++#: c-typeck.c:3623
+ #, gcc-internal-format
+ msgid "ISO C forbids casting nonscalar to the same type"
+ msgstr "ISO C forbyder omtvingelse af ikke-skalar til den samme type"
+
+-#: c-typeck.c:3629
++#: c-typeck.c:3640
+ #, gcc-internal-format
+ msgid "ISO C forbids casts to union type"
+ msgstr "ISO C forbyder omtvingelse til uniontype"
+
+-#: c-typeck.c:3637
++#: c-typeck.c:3648
+ #, gcc-internal-format
+ msgid "cast to union type from type not present in union"
+ msgstr "typetildeling til en uniontype fra en type der ikke findes i union'en"
+
+-#: c-typeck.c:3683
++#: c-typeck.c:3694
+ #, gcc-internal-format
+ msgid "cast adds new qualifiers to function type"
+ msgstr "typeomtvingning tilføjer modifikationer til en funktionstype"
+
+ #. There are qualifiers present in IN_OTYPE that are not
+ #. present in IN_TYPE.
+-#: c-typeck.c:3688
++#: c-typeck.c:3699
+ #, gcc-internal-format
+ msgid "cast discards qualifiers from pointer target type"
+ msgstr "typeomtvingelse kasserer modifikationer på henvisningsmålets type"
+
+-#: c-typeck.c:3704
++#: c-typeck.c:3715
+ #, gcc-internal-format
+ msgid "cast increases required alignment of target type"
+ msgstr "typeomtvingelse forøger den påkrævne justering af måltypen"
+
+-#: c-typeck.c:3715
++#: c-typeck.c:3726
+ #, gcc-internal-format
+ msgid "cast from pointer to integer of different size"
+ msgstr "typeomtvingelse fra henvisning til heltal af en anden størrelse"
+
+-#: c-typeck.c:3719
++#: c-typeck.c:3730
+ #, gcc-internal-format
+ msgid "cast from function call of type %qT to non-matching type %qT"
+ msgstr ""
+
+-#: c-typeck.c:3727
++#: c-typeck.c:3738
+ #, gcc-internal-format
+ msgid "cast to pointer from integer of different size"
+ msgstr "typeomtvingelse fra heltal til henvisning af en anden størrelse"
+
+-#: c-typeck.c:3741
++#: c-typeck.c:3752
+ #, fuzzy, gcc-internal-format
+ msgid "ISO C forbids conversion of function pointer to object pointer type"
+ msgstr "ISO C forbyder sammenligning af 'void *' med funktionshenvisning"
+
+-#: c-typeck.c:3749
++#: c-typeck.c:3760
+ #, fuzzy, gcc-internal-format
+ msgid "ISO C forbids conversion of object pointer to function pointer type"
+ msgstr "ISO C forbyder sammenligning af 'void *' med funktionshenvisning"
+
+-#: c-typeck.c:4026
++#: c-typeck.c:4037
+ #, gcc-internal-format
+ msgid "cannot pass rvalue to reference parameter"
+ msgstr "kan ikke videregive højreværdi til referenceparameter"
+
+-#: c-typeck.c:4139 c-typeck.c:4306
++#: c-typeck.c:4150 c-typeck.c:4317
+ #, fuzzy, gcc-internal-format
+ msgid "passing argument %d of %qE makes qualified function pointer from unqualified"
+ msgstr "%s opretter en funktionshenvisning med modifikationer fra én uden"
+
+-#: c-typeck.c:4142 c-typeck.c:4309
++#: c-typeck.c:4153 c-typeck.c:4320
+ #, fuzzy, gcc-internal-format
+ msgid "assignment makes qualified function pointer from unqualified"
+ msgstr "%s opretter en funktionshenvisning med modifikationer fra én uden"
+
+-#: c-typeck.c:4145 c-typeck.c:4311
++#: c-typeck.c:4156 c-typeck.c:4322
+ #, fuzzy, gcc-internal-format
+ msgid "initialization makes qualified function pointer from unqualified"
+ msgstr "%s opretter en funktionshenvisning med modifikationer fra én uden"
+
+-#: c-typeck.c:4148 c-typeck.c:4313
++#: c-typeck.c:4159 c-typeck.c:4324
+ #, fuzzy, gcc-internal-format
+ msgid "return makes qualified function pointer from unqualified"
+ msgstr "%s opretter en funktionshenvisning med modifikationer fra én uden"
+
+-#: c-typeck.c:4152 c-typeck.c:4273
++#: c-typeck.c:4163 c-typeck.c:4284
+ #, fuzzy, gcc-internal-format
+ msgid "passing argument %d of %qE discards qualifiers from pointer target type"
+ msgstr "typeomtvingning fra '%T' til '%T' kasserer modifikationer på henvisningsmålets type"
+
+-#: c-typeck.c:4154 c-typeck.c:4275
++#: c-typeck.c:4165 c-typeck.c:4286
+ #, fuzzy, gcc-internal-format
+ msgid "assignment discards qualifiers from pointer target type"
+ msgstr "typeomtvingelse kasserer modifikationer på henvisningsmålets type"
+
+-#: c-typeck.c:4156 c-typeck.c:4277
++#: c-typeck.c:4167 c-typeck.c:4288
+ #, fuzzy, gcc-internal-format
+ msgid "initialization discards qualifiers from pointer target type"
+ msgstr "typeomtvingelse kasserer modifikationer på henvisningsmålets type"
+
+-#: c-typeck.c:4158 c-typeck.c:4279
++#: c-typeck.c:4169 c-typeck.c:4290
+ #, fuzzy, gcc-internal-format
+ msgid "return discards qualifiers from pointer target type"
+ msgstr "typeomtvingelse kasserer modifikationer på henvisningsmålets type"
+
+-#: c-typeck.c:4165
++#: c-typeck.c:4176
+ #, gcc-internal-format
+ msgid "ISO C prohibits argument conversion to union type"
+ msgstr "ISO C forbyder parameterkonvertering til uniontype"
+
+-#: c-typeck.c:4201
++#: c-typeck.c:4212
+ #, fuzzy, gcc-internal-format
+ msgid "request for implicit conversion from %qT to %qT not permitted in C++"
+ msgstr "konvertering fra NaN til unsigned int"
+
+-#: c-typeck.c:4214
++#: c-typeck.c:4225
+ #, fuzzy, gcc-internal-format
+ msgid "argument %d of %qE might be a candidate for a format attribute"
+ msgstr "funktion er en mulig kandidat til '%s'-formateringsegenskab"
+
+-#: c-typeck.c:4220
++#: c-typeck.c:4231
+ #, fuzzy, gcc-internal-format
+ msgid "assignment left-hand side might be a candidate for a format attribute"
+ msgstr "Advar om funktioner som kan være kandidater til formateringsegenskaber"
+
+-#: c-typeck.c:4225
++#: c-typeck.c:4236
+ #, fuzzy, gcc-internal-format
+ msgid "initialization left-hand side might be a candidate for a format attribute"
+ msgstr "funktion er en mulig kandidat til '%s'-formateringsegenskab"
+
+-#: c-typeck.c:4230
++#: c-typeck.c:4241
+ #, fuzzy, gcc-internal-format
+ msgid "return type might be a candidate for a format attribute"
+ msgstr "funktion er en mulig kandidat til '%s'-formateringsegenskab"
+
+-#: c-typeck.c:4253
++#: c-typeck.c:4264
+ #, fuzzy, gcc-internal-format
+ msgid "ISO C forbids passing argument %d of %qE between function pointer and %<void *%>"
+ msgstr "ISO C forbyder %s mellem funktionshenvisning og 'void *'"
+
+-#: c-typeck.c:4256
++#: c-typeck.c:4267
+ #, fuzzy, gcc-internal-format
+ msgid "ISO C forbids assignment between function pointer and %<void *%>"
+ msgstr "ISO C forbyder %s mellem funktionshenvisning og 'void *'"
+
+-#: c-typeck.c:4258
++#: c-typeck.c:4269
+ #, fuzzy, gcc-internal-format
+ msgid "ISO C forbids initialization between function pointer and %<void *%>"
+ msgstr "ISO C forbyder %s mellem funktionshenvisning og 'void *'"
+
+-#: c-typeck.c:4260
++#: c-typeck.c:4271
+ #, fuzzy, gcc-internal-format
+ msgid "ISO C forbids return between function pointer and %<void *%>"
+ msgstr "ISO C forbyder %s mellem funktionshenvisning og 'void *'"
+
+-#: c-typeck.c:4289
++#: c-typeck.c:4300
+ #, fuzzy, gcc-internal-format
+ msgid "pointer targets in passing argument %d of %qE differ in signedness"
+ msgstr "fortegnene i henvisningsmål i %s er forskellige"
+
+-#: c-typeck.c:4291
++#: c-typeck.c:4302
+ #, fuzzy, gcc-internal-format
+ msgid "pointer targets in assignment differ in signedness"
+ msgstr "fortegnene i henvisningsmål i %s er forskellige"
+
+-#: c-typeck.c:4293
++#: c-typeck.c:4304
+ #, fuzzy, gcc-internal-format
+ msgid "pointer targets in initialization differ in signedness"
+ msgstr "fortegnene i henvisningsmål i %s er forskellige"
+
+-#: c-typeck.c:4295
++#: c-typeck.c:4306
+ #, fuzzy, gcc-internal-format
+ msgid "pointer targets in return differ in signedness"
+ msgstr "fortegnene i henvisningsmål i %s er forskellige"
+
+-#: c-typeck.c:4320
++#: c-typeck.c:4331
+ #, fuzzy, gcc-internal-format
+ msgid "passing argument %d of %qE from incompatible pointer type"
+ msgstr "%s fra en henvisningstype der ikke er forenelig med målets"
+
+-#: c-typeck.c:4322
++#: c-typeck.c:4333
+ #, fuzzy, gcc-internal-format
+ msgid "assignment from incompatible pointer type"
+ msgstr "%s fra en henvisningstype der ikke er forenelig med målets"
+
+-#: c-typeck.c:4323
++#: c-typeck.c:4334
+ #, fuzzy, gcc-internal-format
+ msgid "initialization from incompatible pointer type"
+ msgstr "%s fra en henvisningstype der ikke er forenelig med målets"
+
+-#: c-typeck.c:4325
++#: c-typeck.c:4336
+ #, fuzzy, gcc-internal-format
+ msgid "return from incompatible pointer type"
+ msgstr "%s fra en henvisningstype der ikke er forenelig med målets"
+
+-#: c-typeck.c:4342
++#: c-typeck.c:4353
+ #, fuzzy, gcc-internal-format
+ msgid "passing argument %d of %qE makes pointer from integer without a cast"
+ msgstr "%s opretter en henvisningsvariabel ud fra et heltal uden en typeomtvingning"
+
+-#: c-typeck.c:4344
++#: c-typeck.c:4355
+ #, fuzzy, gcc-internal-format
+ msgid "assignment makes pointer from integer without a cast"
+ msgstr "%s opretter en henvisningsvariabel ud fra et heltal uden en typeomtvingning"
+
+-#: c-typeck.c:4346
++#: c-typeck.c:4357
+ #, fuzzy, gcc-internal-format
+ msgid "initialization makes pointer from integer without a cast"
+ msgstr "%s opretter en henvisningsvariabel ud fra et heltal uden en typeomtvingning"
+
+-#: c-typeck.c:4348
++#: c-typeck.c:4359
+ #, fuzzy, gcc-internal-format
+ msgid "return makes pointer from integer without a cast"
+ msgstr "%s opretter en henvisningsvariabel ud fra et heltal uden en typeomtvingning"
+
+-#: c-typeck.c:4355
++#: c-typeck.c:4366
+ #, fuzzy, gcc-internal-format
+ msgid "passing argument %d of %qE makes integer from pointer without a cast"
+ msgstr "%s opretter et heltal ud fra en henvisningsvariabel uden en typeomtvingning"
+
+-#: c-typeck.c:4357
++#: c-typeck.c:4368
+ #, fuzzy, gcc-internal-format
+ msgid "assignment makes integer from pointer without a cast"
+ msgstr "%s opretter et heltal ud fra en henvisningsvariabel uden en typeomtvingning"
+
+-#: c-typeck.c:4359
++#: c-typeck.c:4370
+ #, fuzzy, gcc-internal-format
+ msgid "initialization makes integer from pointer without a cast"
+ msgstr "%s opretter et heltal ud fra en henvisningsvariabel uden en typeomtvingning"
+
+-#: c-typeck.c:4361
++#: c-typeck.c:4372
+ #, fuzzy, gcc-internal-format
+ msgid "return makes integer from pointer without a cast"
+ msgstr "%s opretter et heltal ud fra en henvisningsvariabel uden en typeomtvingning"
+
+-#: c-typeck.c:4377
++#: c-typeck.c:4388
+ #, fuzzy, gcc-internal-format
+ msgid "incompatible types in assignment"
+ msgstr "uforenelige typer i %s"
+
+-#: c-typeck.c:4380
++#: c-typeck.c:4391
+ #, fuzzy, gcc-internal-format
+ msgid "incompatible types in initialization"
+ msgstr "uforenelige typer i %s"
+
+-#: c-typeck.c:4383
++#: c-typeck.c:4394
+ #, fuzzy, gcc-internal-format
+ msgid "incompatible types in return"
+ msgstr "uforenelige typer i %s"
+
+ # 'automatic aggregate' betyder automatisk allokerede variabler, dvs.
+ # ganske almindelige lokale variabler (kan evt. erklæres med 'auto')
+-#: c-typeck.c:4439
++#: c-typeck.c:4450
+ #, gcc-internal-format
+ msgid "traditional C rejects automatic aggregate initialization"
+ msgstr "traditionel C forbyder klargøring af auto-variabler af sammensatte typer"
+
+-#: c-typeck.c:4610 c-typeck.c:4625 c-typeck.c:4640
++#: c-typeck.c:4621 c-typeck.c:4636 c-typeck.c:4651
+ #, fuzzy, gcc-internal-format
+ msgid "(near initialization for %qs)"
+ msgstr "(i nærheden af klargøringen af '%s')"
+
+-#: c-typeck.c:5180 cp/decl.c:4975
++#: c-typeck.c:5191 cp/decl.c:4995
+ #, 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"
+
+-#: c-typeck.c:5803
++#: c-typeck.c:5814
+ #, fuzzy, gcc-internal-format
+ msgid "unknown field %qE specified in initializer"
+ msgstr "ukendt felt '%s' angivet i startværdi"
+
+-#: c-typeck.c:6703
++#: c-typeck.c:6714
+ #, gcc-internal-format
+ msgid "traditional C rejects initialization of unions"
+ msgstr "traditionel C forbyder tildeling af startværdi til unioner"
+
+-#: c-typeck.c:7011
++#: c-typeck.c:7022
+ #, fuzzy, gcc-internal-format
+ msgid "jump into statement expression"
+ msgstr "overløb i konstant udtryk"
+
+-#: c-typeck.c:7017
++#: c-typeck.c:7028
+ #, fuzzy, gcc-internal-format
+ msgid "jump into scope of identifier with variably modified type"
+ msgstr "skabelonsparameter '%T' er en variabelt ændret type"
+
+-#: c-typeck.c:7054
++#: c-typeck.c:7065
+ #, fuzzy, gcc-internal-format
+ msgid "ISO C forbids %<goto *expr;%>"
+ msgstr "ISO C forbyder 'goto *udtryk;'"
+
+-#: c-typeck.c:7069 cp/typeck.c:6592
++#: c-typeck.c:7080 cp/typeck.c:6619
+ #, fuzzy, gcc-internal-format
+ msgid "function declared %<noreturn%> has a %<return%> statement"
+ msgstr "funktion der er erklæret 'noreturn' har en 'return'-sætning"
+
+-#: c-typeck.c:7077
++#: c-typeck.c:7088
+ #, fuzzy, gcc-internal-format
+ msgid "%<return%> with no value, in function returning non-void"
+ msgstr "'return' uden nogen værdi i en funktion der ikke returnerer void"
+
+-#: c-typeck.c:7086
++#: c-typeck.c:7097
+ #, fuzzy, gcc-internal-format
+ msgid "%<return%> with a value, in function returning void"
+ msgstr "'return' med en værdi i en funktion der returnerer void"
+
+-#: c-typeck.c:7088
++#: c-typeck.c:7099
+ #, fuzzy, gcc-internal-format
+ msgid "ISO C forbids %<return%> with expression, in function returning void"
+ msgstr "'return' med en værdi i en funktion der returnerer void"
+
+-#: c-typeck.c:7145
++#: c-typeck.c:7156
+ #, gcc-internal-format
+ msgid "function returns address of local variable"
+ msgstr "funktion returnerer adressen på en lokal variabel"
+
+-#: c-typeck.c:7217 cp/semantics.c:949
++#: c-typeck.c:7228 cp/semantics.c:952
+ #, gcc-internal-format
+ msgid "switch quantity not an integer"
+ msgstr "switch-størrelsen er ikke et heltal"
+
+-#: c-typeck.c:7229
++#: c-typeck.c:7240
+ #, fuzzy, gcc-internal-format
+ msgid "%<long%> switch expression not converted to %<int%> in ISO C"
+ msgstr "'long'-udtryk i switch konverteres ikke til 'int' i ISO C"
+
+-#: c-typeck.c:7269
++#: c-typeck.c:7280
+ #, fuzzy, gcc-internal-format
+ msgid "case label in statement expression not containing enclosing switch statement"
+ msgstr "case-etiket befinder sig ikke inden i en switch-sætning"
+
+-#: c-typeck.c:7272
++#: c-typeck.c:7283
+ #, fuzzy, gcc-internal-format
+ msgid "%<default%> label in statement expression not containing enclosing switch statement"
+ msgstr "'default'-etiket befinder sig ikke inden i en switch-sætning"
+
+-#: c-typeck.c:7278
++#: c-typeck.c:7289
+ #, gcc-internal-format
+ msgid "case label in scope of identifier with variably modified type not containing enclosing switch statement"
+ msgstr ""
+
+-#: c-typeck.c:7281
++#: c-typeck.c:7292
+ #, gcc-internal-format
+ msgid "%<default%> label in scope of identifier with variably modified type not containing enclosing switch statement"
+ msgstr ""
+
+-#: c-typeck.c:7285 cp/parser.c:6804
++#: c-typeck.c:7296 cp/parser.c:6810
+ #, gcc-internal-format
+ msgid "case label not within a switch statement"
+ msgstr "case-etiket befinder sig ikke inden i en switch-sætning"
+
+-#: c-typeck.c:7287
++#: c-typeck.c:7298
+ #, fuzzy, gcc-internal-format
+ msgid "%<default%> label not within a switch statement"
+ msgstr "'default'-etiket befinder sig ikke inden i en switch-sætning"
+
+-#: c-typeck.c:7364
++#: c-typeck.c:7375
+ #, fuzzy, gcc-internal-format
+ msgid "%Hsuggest explicit braces to avoid ambiguous %<else%>"
+ msgstr "%Hforeslår eksplicitte krøllede paranteser for at undgå tvetydig 'else'"
+
+-#: c-typeck.c:7475 cp/cp-gimplify.c:97 cp/parser.c:7409
++#: c-typeck.c:7486 cp/cp-gimplify.c:97 cp/parser.c:7415
+ #, gcc-internal-format
+ msgid "break statement not within loop or switch"
+ msgstr "break-sætning befinder sig ikke i en løkke- eller switch-konstruktion"
+
+-#: c-typeck.c:7477 cp/parser.c:7430
++#: c-typeck.c:7488 cp/parser.c:7436
+ #, gcc-internal-format
+ msgid "continue statement not within a loop"
+ msgstr "continue-sætning befinder sig ikke i en løkke"
+
+-#: c-typeck.c:7482 cp/parser.c:7420
++#: c-typeck.c:7493 cp/parser.c:7426
+ #, fuzzy, gcc-internal-format
+ msgid "break statement used with OpenMP for loop"
+ msgstr "break-sætning befinder sig ikke i en løkke- eller switch-konstruktion"
+
+-#: c-typeck.c:7505
++#: c-typeck.c:7516
+ #, gcc-internal-format
+ msgid "%Hstatement with no effect"
+ msgstr "%Hsætning uden nogen virkning"
+
+-#: c-typeck.c:7527
++#: c-typeck.c:7538
+ #, gcc-internal-format
+ msgid "expression statement has incomplete type"
+ msgstr "udtrykket er af en ufuldstændig type"
+
+-#: c-typeck.c:8082 cp/typeck.c:3259
++#: c-typeck.c:8093 cp/typeck.c:3301
+ #, gcc-internal-format
+ msgid "right shift count is negative"
+ msgstr "højreskiftsantal er negativ"
+
+-#: c-typeck.c:8089 cp/typeck.c:3265
++#: c-typeck.c:8100 cp/typeck.c:3305
+ #, gcc-internal-format
+ msgid "right shift count >= width of type"
+ msgstr "højreskiftsantal er større end bredden af typen"
+
+-#: c-typeck.c:8111 cp/typeck.c:3284
++#: c-typeck.c:8122 cp/typeck.c:3324
+ #, gcc-internal-format
+ msgid "left shift count is negative"
+ msgstr "venstreskiftsantal er negativ"
+
+-#: c-typeck.c:8114 cp/typeck.c:3286
++#: c-typeck.c:8125 cp/typeck.c:3326
+ #, gcc-internal-format
+ msgid "left shift count >= width of type"
+ msgstr "venstreskiftsantal er større end bredden af typen"
+
+-#: c-typeck.c:8132 cp/typeck.c:3324
++#: c-typeck.c:8143 cp/typeck.c:3364
+ #, gcc-internal-format
+ msgid "comparing floating point with == or != is unsafe"
+ msgstr "sammenligning af kommatal med == eller != er ikke sikkert"
+
+-#: c-typeck.c:8156 c-typeck.c:8163
++#: c-typeck.c:8167 c-typeck.c:8174
+ #, fuzzy, gcc-internal-format
+ msgid "ISO C forbids comparison of %<void *%> with function pointer"
+ msgstr "ISO C forbyder sammenligning af 'void *' med funktionshenvisning"
+
+-#: c-typeck.c:8169 c-typeck.c:8227
++#: c-typeck.c:8180 c-typeck.c:8238
+ #, gcc-internal-format
+ msgid "comparison of distinct pointer types lacks a cast"
+ msgstr "sammenligning med forskellige henvisningstyper mangler en typeomtvingelse"
+
+-#: c-typeck.c:8178 c-typeck.c:8186 cp/typeck.c:3344 cp/typeck.c:3353
++#: c-typeck.c:8189 c-typeck.c:8197 cp/typeck.c:3384 cp/typeck.c:3393
+ #, fuzzy, gcc-internal-format
+ msgid "the address of %qD will never be NULL"
+ msgstr "adressen af '%D' vil altid være 'true'"
+
+-#: c-typeck.c:8193 c-typeck.c:8198 c-typeck.c:8245 c-typeck.c:8250
++#: c-typeck.c:8204 c-typeck.c:8209 c-typeck.c:8256 c-typeck.c:8261
+ #, gcc-internal-format
+ msgid "comparison between pointer and integer"
+ msgstr "sammenligning mellem henvisningsvariabel og heltal"
+
+-#: c-typeck.c:8219
++#: c-typeck.c:8230
+ #, gcc-internal-format
+ msgid "comparison of complete and incomplete pointers"
+ msgstr "sammenligning mellem en fuldstændig og ufuldstændig henvisning"
+
+-#: c-typeck.c:8222
++#: c-typeck.c:8233
+ #, gcc-internal-format
+ msgid "ISO C forbids ordered comparisons of pointers to functions"
+ msgstr "ISO C forbyder ordnede sammenligninger af henvisninger til funktioner"
+
+-#: c-typeck.c:8234 c-typeck.c:8240
++#: c-typeck.c:8245 c-typeck.c:8251
+ #, gcc-internal-format
+ msgid "ordered comparison of pointer with integer zero"
+ msgstr "ordnet sammenligning af henvisning med heltallet nul"
+
+-#: c-typeck.c:8500
++#: c-typeck.c:8511
+ #, gcc-internal-format
+ msgid "comparison between signed and unsigned"
+ msgstr "sammenligning mellem signed og unsigned"
+
+-#: c-typeck.c:8546 cp/typeck.c:3830
++#: c-typeck.c:8557 cp/typeck.c:3838
+ #, gcc-internal-format
+ msgid "comparison of promoted ~unsigned with constant"
+ msgstr "sammenligning af forfremmet ~unsigned med konstant"
+
+-#: c-typeck.c:8554 cp/typeck.c:3838
++#: c-typeck.c:8565 cp/typeck.c:3846
+ #, gcc-internal-format
+ msgid "comparison of promoted ~unsigned with unsigned"
+ msgstr "sammenligning af forfremmet ~unsigned med unsigned"
+
+-#: c-typeck.c:8612
++#: c-typeck.c:8623
+ #, fuzzy, gcc-internal-format
+ msgid "used array that cannot be converted to pointer where scalar is required"
+ msgstr "værdi af tabeltype angivet hvor skalar er påkrævet"
+
+-#: c-typeck.c:8616
++#: c-typeck.c:8627
+ #, fuzzy, gcc-internal-format
+ msgid "used struct type value where scalar is required"
+ msgstr "værdi af struct-type angivet hvor skalar er påkrævet"
+
+-#: c-typeck.c:8620
++#: c-typeck.c:8631
+ #, fuzzy, gcc-internal-format
+ msgid "used union type value where scalar is required"
+ msgstr "værdi af union-type angivet hvor skalar er påkrævet"
+
+-#: c-typeck.c:8725 cp/semantics.c:3523
++#: c-typeck.c:8736 cp/semantics.c:3555
+ #, fuzzy, gcc-internal-format
+ msgid "%qE has invalid type for %<reduction%>"
+ msgstr "ugyldig returtype for funktionen '%#D'"
+
+-#: c-typeck.c:8759 cp/semantics.c:3536
++#: c-typeck.c:8770 cp/semantics.c:3568
+ #, fuzzy, gcc-internal-format
+ msgid "%qE has invalid type for %<reduction(%s)%>"
+ msgstr "ugyldig returtype for funktionen '%#D'"
+
+-#: c-typeck.c:8775 cp/semantics.c:3546
++#: c-typeck.c:8786 cp/semantics.c:3578
+ #, gcc-internal-format
+ msgid "%qE must be %<threadprivate%> for %<copyin%>"
+ msgstr ""
+
+-#: c-typeck.c:8784 cp/semantics.c:3351
++#: c-typeck.c:8795 cp/semantics.c:3383
+ #, fuzzy, gcc-internal-format
+ msgid "%qE is not a variable in clause %qs"
+ msgstr "'%s' er et ugyldigt klassenavn"
+
+-#: c-typeck.c:8791 c-typeck.c:8811 c-typeck.c:8831 cp/semantics.c:3377
+-#: cp/semantics.c:3396
++#: c-typeck.c:8802 c-typeck.c:8822 c-typeck.c:8842 cp/semantics.c:3409
++#: cp/semantics.c:3428
+ #, gcc-internal-format
+ msgid "%qE appears more than once in data clauses"
+ msgstr ""
+
+-#: c-typeck.c:8805 cp/semantics.c:3371
++#: c-typeck.c:8816 cp/semantics.c:3403
+ #, fuzzy, gcc-internal-format
+ msgid "%qE is not a variable in clause %<firstprivate%>"
+ msgstr "instansvariablen '%s' er erklæret privat"
+
+-#: c-typeck.c:8825 cp/semantics.c:3390
++#: c-typeck.c:8836 cp/semantics.c:3422
+ #, fuzzy, gcc-internal-format
+ msgid "%qE is not a variable in clause %<lastprivate%>"
+ msgstr "instansvariablen '%s' er erklæret privat"
+
+-#: c-typeck.c:8883 cp/semantics.c:3587
++#: c-typeck.c:8894 cp/semantics.c:3619
+ #, gcc-internal-format
+ msgid "%qE is predetermined %qs for %qs"
+ msgstr ""
+@@ -22074,12 +22052,12 @@
+ msgid "function call has aggregate value"
+ msgstr "funktionskald har en sammensat værdi"
+
+-#: cfgexpand.c:1884
++#: cfgexpand.c:1887
+ #, gcc-internal-format
+ msgid "not protecting local variables: variable length buffer"
+ msgstr ""
+
+-#: cfgexpand.c:1887
++#: cfgexpand.c:1890
+ #, gcc-internal-format
+ msgid "not protecting function: no buffer at least %d bytes long"
+ msgstr ""
+@@ -22134,7 +22112,7 @@
+ msgid "verify_flow_info: Basic block %d succ edge is corrupted"
+ msgstr "verify_flow_info: Efterfølgende kant til basisblok %d er ødelagt"
+
+-#: cfghooks.c:184 cfgrtl.c:1840
++#: cfghooks.c:184 cfgrtl.c:1838
+ #, fuzzy, gcc-internal-format
+ msgid "wrong amount of branch edges after unconditional jump %i"
+ msgstr "Forkert antal forgreningskanter efter ubetinget spring %i"
+@@ -22344,252 +22322,252 @@
+ msgid "%d exits recorded for loop %d (having %d exits)"
+ msgstr ""
+
+-#: cfgrtl.c:1734
++#: cfgrtl.c:1732
+ #, gcc-internal-format
+ msgid "BB_RTL flag not set for block %d"
+ msgstr ""
+
+-#: cfgrtl.c:1741
++#: cfgrtl.c:1739
+ #, gcc-internal-format
+ msgid "insn %d basic block pointer is %d, should be %d"
+ msgstr ""
+
+-#: cfgrtl.c:1752
++#: cfgrtl.c:1750
+ #, gcc-internal-format
+ msgid "insn %d in header of bb %d has non-NULL basic block"
+ msgstr ""
+
+-#: cfgrtl.c:1760
++#: cfgrtl.c:1758
+ #, gcc-internal-format
+ msgid "insn %d in footer of bb %d has non-NULL basic block"
+ msgstr ""
+
+-#: cfgrtl.c:1782
++#: cfgrtl.c:1780
+ #, fuzzy, gcc-internal-format
+ msgid "verify_flow_info: REG_BR_PROB does not match cfg %wi %i"
+ msgstr "verify_flow_info: REG_BR_PROB passer ikke til konf. %i %i"
+
+-#: cfgrtl.c:1797
++#: cfgrtl.c:1795
+ #, gcc-internal-format
+ msgid "fallthru edge crosses section boundary (bb %i)"
+ msgstr ""
+
+-#: cfgrtl.c:1822
++#: cfgrtl.c:1820
+ #, fuzzy, gcc-internal-format
+ msgid "missing REG_EH_REGION note in the end of bb %i"
+ msgstr "Mangler REG_EH_REGION-note i slutningen af basisblok %i"
+
+-#: cfgrtl.c:1830
++#: cfgrtl.c:1828
+ #, fuzzy, gcc-internal-format
+ msgid "too many outgoing branch edges from bb %i"
+ msgstr "For mange udgående forgreningskanter fra basisblok %i"
+
+-#: cfgrtl.c:1835
++#: cfgrtl.c:1833
+ #, fuzzy, gcc-internal-format
+ msgid "fallthru edge after unconditional jump %i"
+ msgstr "Fald gennem-kant efter ubetinget spring %i"
+
+-#: cfgrtl.c:1846
++#: cfgrtl.c:1844
+ #, fuzzy, gcc-internal-format
+ msgid "wrong amount of branch edges after conditional jump %i"
+ msgstr "Forkert antal forgreningskanter efter betinget spring %i"
+
+-#: cfgrtl.c:1852
++#: cfgrtl.c:1850
+ #, fuzzy, gcc-internal-format
+ msgid "call edges for non-call insn in bb %i"
+ msgstr "Kaldekanter for ikke-kaldsinstruktion i basisblok %i"
+
+-#: cfgrtl.c:1861
++#: cfgrtl.c:1859
+ #, fuzzy, gcc-internal-format
+ msgid "abnormal edges for no purpose in bb %i"
+ msgstr "Unormale kanter uden noget formål i basisblok %i"
+
+-#: cfgrtl.c:1873
++#: cfgrtl.c:1871
+ #, gcc-internal-format
+ msgid "insn %d inside basic block %d but block_for_insn is NULL"
+ msgstr "instruktion %d inden i basisblok %d, men block_for_insn er NULL"
+
+-#: cfgrtl.c:1877
++#: cfgrtl.c:1875
+ #, gcc-internal-format
+ msgid "insn %d inside basic block %d but block_for_insn is %i"
+ msgstr "instruktion %d inden i basisblok %d, men block_for_insn er %i"
+
+-#: cfgrtl.c:1891 cfgrtl.c:1901
++#: cfgrtl.c:1889 cfgrtl.c:1899
+ #, gcc-internal-format
+ msgid "NOTE_INSN_BASIC_BLOCK is missing for block %d"
+ msgstr "NOTE_INSN_BASIC_BLOCK mangler for blok %d"
+
+-#: cfgrtl.c:1914
++#: cfgrtl.c:1912
+ #, gcc-internal-format
+ msgid "NOTE_INSN_BASIC_BLOCK %d in middle of basic block %d"
+ msgstr "NOTE_INSN_BASIC_BLOCK %d i midten af basisblok %d"
+
+-#: cfgrtl.c:1924
++#: cfgrtl.c:1922
+ #, gcc-internal-format
+ msgid "in basic block %d:"
+ msgstr "i basisblok %d:"
+
+-#: cfgrtl.c:1977 cfgrtl.c:2067
++#: cfgrtl.c:1975 cfgrtl.c:2065
+ #, fuzzy, gcc-internal-format
+ msgid "insn %d outside of basic blocks has non-NULL bb field"
+ msgstr "instruktion uden for basisblok"
+
+-#: cfgrtl.c:1985
++#: cfgrtl.c:1983
+ #, gcc-internal-format
+ msgid "end insn %d for block %d not found in the insn stream"
+ msgstr "slutinstruktion %d for blok %d ikke fundet i instruktionsstrømmen"
+
+-#: cfgrtl.c:1998
++#: cfgrtl.c:1996
+ #, gcc-internal-format
+ msgid "insn %d is in multiple basic blocks (%d and %d)"
+ msgstr "instruktion %d er i flere basisblokke (%d og %d)"
+
+-#: cfgrtl.c:2010
++#: cfgrtl.c:2008
+ #, gcc-internal-format
+ msgid "head insn %d for block %d not found in the insn stream"
+ msgstr "hovedinstruktion %d for blok %d ikke fundet i instruktionsstrømmen"
+
+-#: cfgrtl.c:2030
++#: cfgrtl.c:2028
+ #, gcc-internal-format
+ msgid "missing barrier after block %i"
+ msgstr "manglende barriere efter blok %i"
+
+-#: cfgrtl.c:2043
++#: cfgrtl.c:2041
+ #, gcc-internal-format
+ msgid "verify_flow_info: Incorrect blocks for fallthru %i->%i"
+ msgstr "verify_flow_info: Ukorrekte blokke til fald-gennem %i->%i"
+
+-#: cfgrtl.c:2052
++#: cfgrtl.c:2050
+ #, gcc-internal-format
+ msgid "verify_flow_info: Incorrect fallthru %i->%i"
+ msgstr "verify_flow_info: Ukorrekt fald-gennem %i->%i"
+
+-#: cfgrtl.c:2085
++#: cfgrtl.c:2083
+ #, fuzzy, gcc-internal-format
+ msgid "basic blocks not laid down consecutively"
+ msgstr "basisblokkene er ikke nummeret i rækkefølge"
+
+-#: cfgrtl.c:2124
++#: cfgrtl.c:2122
+ #, gcc-internal-format
+ msgid "number of bb notes in insn chain (%d) != n_basic_blocks (%d)"
+ msgstr "antallet af basisbloknoter i instruktionskæden (%d) != n_basic_blocks (%d)"
+
+-#: cgraph.c:794
++#: cgraph.c:840
+ #, gcc-internal-format
+ msgid "%D renamed after being referenced in assembly"
+ msgstr ""
+
+-#: cgraphunit.c:670
++#: cgraphunit.c:675
+ #, gcc-internal-format
+ msgid "aux field set for edge %s->%s"
+ msgstr ""
+
+-#: cgraphunit.c:676
++#: cgraphunit.c:681
+ #, fuzzy, gcc-internal-format
+ msgid "Execution count is negative"
+ msgstr "venstreskiftsantal er negativ"
+
+-#: cgraphunit.c:683
++#: cgraphunit.c:688
+ #, fuzzy, gcc-internal-format
+ msgid "caller edge count is negative"
+ msgstr "venstreskiftsantal er negativ"
+
+-#: cgraphunit.c:688
++#: cgraphunit.c:693
+ #, gcc-internal-format
+ msgid "caller edge frequency is negative"
+ msgstr ""
+
+-#: cgraphunit.c:693
++#: cgraphunit.c:698
+ #, gcc-internal-format
+ msgid "caller edge frequency is too large"
+ msgstr ""
+
+-#: cgraphunit.c:702
++#: cgraphunit.c:707
+ #, fuzzy, gcc-internal-format
+ msgid "inlined_to pointer is wrong"
+ msgstr "sektionshenvisning mangler"
+
+-#: cgraphunit.c:707
++#: cgraphunit.c:712
+ #, fuzzy, gcc-internal-format
+ msgid "multiple inline callers"
+ msgstr "mere end én 'virtual'-angivelse"
+
+-#: cgraphunit.c:714
++#: cgraphunit.c:719
+ #, gcc-internal-format
+ msgid "inlined_to pointer set for noninline callers"
+ msgstr ""
+
+-#: cgraphunit.c:720
++#: cgraphunit.c:725
+ #, gcc-internal-format
+ msgid "inlined_to pointer is set but no predecessors found"
+ msgstr ""
+
+-#: cgraphunit.c:725
++#: cgraphunit.c:730
+ #, fuzzy, gcc-internal-format
+ msgid "inlined_to pointer refers to itself"
+ msgstr "ugyldig henvisning til bitfeltet '%D'"
+
+-#: cgraphunit.c:735
++#: cgraphunit.c:740
+ #, fuzzy, gcc-internal-format
+ msgid "node not found in cgraph_hash"
+ msgstr "metoden '%s' ikke fundet i klassen"
+
+-#: cgraphunit.c:763
++#: cgraphunit.c:768
+ #, gcc-internal-format
+ msgid "shared call_stmt:"
+ msgstr ""
+
+-#: cgraphunit.c:770
++#: cgraphunit.c:775
+ #, fuzzy, gcc-internal-format
+ msgid "edge points to wrong declaration:"
+ msgstr "'%s' benyttes før erklæringen"
+
+-#: cgraphunit.c:779
++#: cgraphunit.c:784
+ #, gcc-internal-format
+ msgid "missing callgraph edge for call stmt:"
+ msgstr ""
+
+-#: cgraphunit.c:795
++#: cgraphunit.c:800
+ #, gcc-internal-format
+ msgid "edge %s->%s has no corresponding call_stmt"
+ msgstr ""
+
+-#: cgraphunit.c:807
++#: cgraphunit.c:812
+ #, fuzzy, gcc-internal-format
+ msgid "verify_cgraph_node failed"
+ msgstr "verify_flow_info mislykkedes"
+
+-#: cgraphunit.c:909 cgraphunit.c:932
++#: cgraphunit.c:915 cgraphunit.c:938
+ #, gcc-internal-format
+ msgid "%J%<externally_visible%> attribute have effect only on public objects"
+ msgstr ""
+
+-#: cgraphunit.c:1122
++#: cgraphunit.c:1128
+ #, fuzzy, gcc-internal-format
+ msgid "failed to reclaim unneeded function"
+ msgstr "feltet '%s' er erklæret som en funktion"
+
+-#: cgraphunit.c:1454
++#: cgraphunit.c:1460
+ #, gcc-internal-format
+ msgid "nodes with no released memory found"
+ msgstr ""
+
+-#: collect2.c:1189
++#: collect2.c:1203
+ #, fuzzy, gcc-internal-format
+ msgid "unknown demangling style '%s'"
+ msgstr "ukendt maskintilstand '%s'"
+
+-#: collect2.c:1512
++#: collect2.c:1526
+ #, gcc-internal-format
+ msgid "%s terminated with signal %d [%s]%s"
+ msgstr "%s afsluttet af signal %d [%s]%s"
+
+-#: collect2.c:1530
++#: collect2.c:1544
+ #, gcc-internal-format
+ msgid "%s returned %d exit status"
+ msgstr "%s returnerede afslutningskoden %d"
+
+-#: collect2.c:2242
++#: collect2.c:2256
+ #, fuzzy, gcc-internal-format
+ msgid "cannot find 'ldd'"
+ msgstr "kan ikke finde 'ldd'"
+@@ -22744,27 +22722,27 @@
+ msgid "dominator of %d should be %d, not %d"
+ msgstr "dominator for %d burde være %d, ikke %d"
+
+-#: dwarf2out.c:3634
++#: dwarf2out.c:3686
+ #, fuzzy, gcc-internal-format
+ msgid "DW_LOC_OP %s not implemented"
+ msgstr "DW_LOC_OP %s understøttes ikke\n"
+
+-#: emit-rtl.c:2326
++#: emit-rtl.c:2262
+ #, fuzzy, gcc-internal-format
+ msgid "invalid rtl sharing found in the insn"
+ msgstr "ugyldig operand i instruktionen"
+
+-#: emit-rtl.c:2328
++#: emit-rtl.c:2264
+ #, gcc-internal-format
+ msgid "shared rtx"
+ msgstr ""
+
+-#: emit-rtl.c:2330
++#: emit-rtl.c:2266
+ #, fuzzy, gcc-internal-format
+ msgid "internal consistency failure"
+ msgstr "intern GCC-afbrydelse"
+
+-#: emit-rtl.c:3417
++#: emit-rtl.c:3365
+ #, gcc-internal-format
+ msgid "ICE: emit_insn used where emit_jump_insn needed:\n"
+ msgstr "ICE: emit_insn brugt hvor emit_jump_insn behøves:\n"
+@@ -22824,17 +22802,17 @@
+ msgid "verify_eh_tree failed"
+ msgstr "verify_flow_info mislykkedes"
+
+-#: explow.c:1281
++#: explow.c:1258
+ #, gcc-internal-format
+ msgid "stack limits not supported on this target"
+ msgstr "stakgrænser understøttes ikke på målarkitekturen"
+
+-#: expr.c:8031
++#: expr.c:8030
+ #, fuzzy
+ msgid "%Kcall to %qs declared with attribute error: %s"
+ msgstr "funktionen '%s' omerklæret med egenskaben noinline"
+
+-#: expr.c:8037
++#: expr.c:8036
+ #, fuzzy
+ msgid "%Kcall to %qs declared with attribute warning: %s"
+ msgstr "funktionen '%s' omerklæret med egenskaben noinline"
+@@ -22849,7 +22827,7 @@
+ msgid "large fixed-point constant implicitly truncated to fixed-point type"
+ msgstr "stort heltal forkortes underforstået til type uden fortegn"
+
+-#: fold-const.c:992 tree-ssa-loop-niter.c:1827 tree-vrp.c:5060
++#: fold-const.c:992 tree-ssa-loop-niter.c:1827 tree-vrp.c:5076
+ #, fuzzy, gcc-internal-format
+ msgid "%H%s"
+ msgstr "%s"
+@@ -22859,78 +22837,78 @@
+ msgid "assuming signed overflow does not occur when negating a division"
+ msgstr ""
+
+-#: fold-const.c:3989 fold-const.c:4000
++#: fold-const.c:4003 fold-const.c:4014
+ #, gcc-internal-format
+ 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.c:5317
++#: fold-const.c:5331
+ #, gcc-internal-format
+ msgid "assuming signed overflow does not occur when simplifying range test"
+ msgstr ""
+
+-#: fold-const.c:5691 fold-const.c:5706
++#: fold-const.c:5705 fold-const.c:5720
+ #, gcc-internal-format
+ msgid "comparison is always %d"
+ msgstr "sammenligning er altid %d"
+
+ # RETMIG: det giver ikke mening
+-#: fold-const.c:5835
++#: fold-const.c:5849
+ #, fuzzy, gcc-internal-format
+ msgid "%<or%> of unmatched not-equal tests is always 1"
+ msgstr "'or' af uafbalancerede sammenligninger med forskellig fra er altid 1"
+
+-#: fold-const.c:5840
++#: fold-const.c:5854
+ #, fuzzy, gcc-internal-format
+ msgid "%<and%> of mutually exclusive equal-tests is always 0"
+ msgstr "'and' af udtryk der hver for sig udelukker hinanden, er altid 0"
+
+-#: fold-const.c:8617
++#: fold-const.c:8641
+ #, gcc-internal-format
+ msgid "assuming signed overflow does not occur when reducing constant in comparison"
+ msgstr ""
+
+-#: fold-const.c:8871
++#: fold-const.c:8895
+ #, gcc-internal-format
+ msgid "assuming signed overflow does not occur when combining constants around a comparison"
+ msgstr ""
+
+-#: fold-const.c:13236
++#: fold-const.c:13433
+ #, gcc-internal-format
+ msgid "fold check: original tree changed by fold"
+ msgstr ""
+
+-#: function.c:377
++#: function.c:380
+ #, fuzzy, gcc-internal-format
+ msgid "%Jtotal size of local objects too large"
+ msgstr "størrelsen af variablen '%s' er for stor"
+
+-#: function.c:837 varasm.c:2095
++#: function.c:840 varasm.c:2095
+ #, fuzzy, gcc-internal-format
+ msgid "size of variable %q+D is too large"
+ msgstr "størrelsen af variablen '%s' er for stor"
+
+-#: function.c:1554 gimplify.c:4250
++#: function.c:1571 gimplify.c:4405
+ #, fuzzy, gcc-internal-format
+ msgid "impossible constraint in %<asm%>"
+ msgstr "umulig begrænsing i 'asm'"
+
+-#: function.c:3538
++#: function.c:3557
+ #, fuzzy, gcc-internal-format
+ msgid "variable %q+D might be clobbered by %<longjmp%> or %<vfork%>"
+ msgstr "variablen '%s' bliver måske overskrevet af 'longjmp' eller 'vfork'"
+
+-#: function.c:3559
++#: function.c:3578
+ #, fuzzy, gcc-internal-format
+ msgid "argument %q+D might be clobbered by %<longjmp%> or %<vfork%>"
+ msgstr "parameteren '%s' bliver måske overskrevet af 'longjmp' eller 'vfork'"
+
+-#: function.c:4004
++#: function.c:4027
+ #, gcc-internal-format
+ msgid "function returns an aggregate"
+ msgstr "funktion returnerer en værdi af en sammensat type"
+
+-#: function.c:4401
++#: function.c:4424
+ #, fuzzy, gcc-internal-format
+ msgid "unused parameter %q+D"
+ msgstr "ubenyttet parameter '%s'"
+@@ -22955,12 +22933,12 @@
+ msgid "extraneous argument to '%s' option"
+ msgstr "der er en parameter for meget til tilvalget '%s'"
+
+-#: gcc.c:3987
++#: gcc.c:3981
+ #, gcc-internal-format
+ msgid "warning: -pipe ignored because -save-temps specified"
+ msgstr "advarsel: -pipe ignoreret fordi -save-temps er angivet"
+
+-#: gcc.c:4276
++#: gcc.c:4270
+ #, fuzzy, gcc-internal-format
+ msgid "warning: '-x %s' after last input file has no effect"
+ msgstr "advarsel: '-x %s' efter den sidste inddatafil har ingen effekt"
+@@ -22968,62 +22946,62 @@
+ #. Catch the case where a spec string contains something like
+ #. '%{foo:%*}'. i.e. there is no * in the pattern on the left
+ #. hand side of the :.
+-#: gcc.c:5314
++#: gcc.c:5308
+ #, gcc-internal-format
+ msgid "spec failure: '%%*' has not been initialized by pattern match"
+ msgstr "specifikationsfejl: '%%*' er ikke blevet klargjort af mønstersøgning"
+
+-#: gcc.c:5323
++#: gcc.c:5317
+ #, gcc-internal-format
+ msgid "warning: use of obsolete %%[ operator in specs"
+ msgstr "advarsel: forældet '%%['-operator benyttet i specifikationer"
+
+-#: gcc.c:5404
++#: gcc.c:5398
+ #, gcc-internal-format
+ msgid "spec failure: unrecognized spec option '%c'"
+ msgstr "specifikationsfejl: ukendt specifikationstilvalg '%c'"
+
+-#: gcc.c:6305
++#: gcc.c:6304
+ #, gcc-internal-format
+ msgid "spec failure: more than one arg to SYSROOT_SUFFIX_SPEC"
+ msgstr ""
+
+-#: gcc.c:6328
++#: gcc.c:6327
+ #, gcc-internal-format
+ msgid "spec failure: more than one arg to SYSROOT_HEADERS_SUFFIX_SPEC"
+ msgstr ""
+
+-#: gcc.c:6415
++#: gcc.c:6414
+ #, fuzzy, gcc-internal-format
+ msgid "unrecognized option '-%s'"
+ msgstr "ukendt tilvalg '-%s'"
+
+-#: gcc.c:6615 gcc.c:6678
++#: gcc.c:6614 gcc.c:6677
+ #, gcc-internal-format
+ msgid "%s: %s compiler not installed on this system"
+ msgstr "%s: %s-oversætter ikke installeret på dette system"
+
+-#: gcc.c:6778
++#: gcc.c:6777
+ #, gcc-internal-format
+ msgid "%s: linker input file unused because linking not done"
+ msgstr "%s: sammenkæderinddatafil ikke benyttet eftersom sammenkædning ikke blev foretaget"
+
+-#: gcc.c:6818
++#: gcc.c:6817
+ #, gcc-internal-format
+ msgid "language %s not recognized"
+ msgstr "sproget %s ikke genkendt"
+
+-#: gcc.c:6889
++#: gcc.c:6888
+ #, gcc-internal-format
+ msgid "%s: %s"
+ msgstr "%s: %s"
+
+-#: gcse.c:6660
++#: gcse.c:6644
+ #, fuzzy, gcc-internal-format
+ msgid "%s: %d basic blocks and %d edges/basic block"
+ msgstr "GCSE deaktiveret: %d > 1000 basisblokke og %d >= 20 kanter/basisblok"
+
+-#: gcse.c:6673
++#: gcse.c:6657
+ #, fuzzy, gcc-internal-format
+ msgid "%s: %d basic blocks and %d registers"
+ msgstr "GCSE deaktiveret: %d basisblokke og %d registre"
+@@ -23076,52 +23054,52 @@
+ msgid "can't write PCH fle: %m"
+ msgstr "kan ikke skrive i uddatafil"
+
+-#: gimplify.c:4139
++#: gimplify.c:4294
+ #, fuzzy, gcc-internal-format
+ msgid "invalid lvalue in asm output %d"
+ msgstr "ugyldig venstreværdi i asm-sætning"
+
+-#: gimplify.c:4251
++#: gimplify.c:4406
+ #, gcc-internal-format
+ msgid "non-memory input %d must stay in memory"
+ msgstr ""
+
+-#: gimplify.c:4264
++#: gimplify.c:4419
+ #, fuzzy, gcc-internal-format
+ msgid "memory input %d is not directly addressable"
+ msgstr "uddata nr. %d kan ikke adresseres direkte"
+
+-#: gimplify.c:4743
++#: gimplify.c:4898
+ #, gcc-internal-format
+ msgid "%qs not specified in enclosing parallel"
+ msgstr ""
+
+-#: gimplify.c:4745
++#: gimplify.c:4900
+ #, gcc-internal-format
+ msgid "%Henclosing parallel"
+ msgstr ""
+
+-#: gimplify.c:4799
++#: gimplify.c:4954
+ #, fuzzy, gcc-internal-format
+ msgid "iteration variable %qs should be private"
+ msgstr "instansvariablen '%s' er erklæret privat"
+
+-#: gimplify.c:4813
++#: gimplify.c:4968
+ #, fuzzy, gcc-internal-format
+ msgid "iteration variable %qs should not be firstprivate"
+ msgstr "instansvariablen '%s' er erklæret privat"
+
+-#: gimplify.c:4816
++#: gimplify.c:4971
+ #, fuzzy, gcc-internal-format
+ msgid "iteration variable %qs should not be reduction"
+ msgstr "registervariabel '%s' benyttet i indlejret funktion"
+
+-#: gimplify.c:4940
++#: gimplify.c:5095
+ #, fuzzy, gcc-internal-format
+ msgid "%s variable %qs is private in outer context"
+ msgstr "'%D' blev ikke erklæret i dette virkefelt"
+
+-#: gimplify.c:6108
++#: gimplify.c:6281
+ #, gcc-internal-format
+ msgid "gimplification failed"
+ msgstr ""
+@@ -23131,7 +23109,7 @@
+ msgid "%s cannot be used in asm here"
+ msgstr "%s kan ikke bruges i asm her"
+
+-#: graph.c:401 java/jcf-parse.c:1757 java/jcf-parse.c:1897 objc/objc-act.c:500
++#: graph.c:401 java/jcf-parse.c:1759 java/jcf-parse.c:1899 objc/objc-act.c:500
+ #, gcc-internal-format
+ msgid "can't open %s: %m"
+ msgstr "kan ikke åbne %s: %m"
+@@ -23141,158 +23119,163 @@
+ msgid "fix_sched_param: unknown param: %s"
+ msgstr "fix_sched_param: ukendt parameter: %s"
+
+-#: omp-low.c:1288
++#: omp-low.c:1289
+ #, gcc-internal-format
+ msgid "work-sharing region may not be closely nested inside of work-sharing, critical, ordered or master region"
+ msgstr ""
+
+-#: omp-low.c:1304
++#: omp-low.c:1305
+ #, gcc-internal-format
+ msgid "master region may not be closely nested inside of work-sharing region"
+ msgstr ""
+
+-#: omp-low.c:1318
++#: omp-low.c:1319
+ #, gcc-internal-format
+ msgid "ordered region may not be closely nested inside of critical region"
+ msgstr ""
+
+-#: omp-low.c:1324
++#: omp-low.c:1325
+ #, gcc-internal-format
+ msgid "ordered region must be closely nested inside a loop region with an ordered clause"
+ msgstr ""
+
+-#: omp-low.c:1338
++#: omp-low.c:1339
+ #, gcc-internal-format
+ msgid "critical region may not be nested inside a critical region with the same name"
+ msgstr ""
+
+-#: omp-low.c:5050 cp/decl.c:2660 cp/parser.c:7417 cp/parser.c:7437
++#: omp-low.c:5116 cp/decl.c:2667 cp/parser.c:7423 cp/parser.c:7443
+ #, gcc-internal-format
+ msgid "invalid exit from OpenMP structured block"
+ msgstr ""
+
+-#: omp-low.c:5052
++#: omp-low.c:5118
+ #, gcc-internal-format
+ msgid "invalid entry to OpenMP structured block"
+ msgstr ""
+
+-#: opts.c:173
++#: opts.c:165
+ #, gcc-internal-format
+ msgid "argument %qs to %<-femit-struct-debug-detailed%> not recognized"
+ msgstr ""
+
+-#: opts.c:207
++#: opts.c:199
+ #, gcc-internal-format
+ msgid "argument %qs to %<-femit-struct-debug-detailed%> unknown"
+ msgstr ""
+
+-#: opts.c:213
++#: opts.c:205
+ #, gcc-internal-format
+ msgid "%<-femit-struct-debug-detailed=dir:...%> must allow at least as much as %<-femit-struct-debug-detailed=ind:...%>"
+ msgstr ""
+
+ #. Eventually this should become a hard error IMO.
+-#: opts.c:438
++#: opts.c:430
+ #, fuzzy, gcc-internal-format
+ msgid "command line option \"%s\" is valid for %s but not for %s"
+ msgstr "'-%s' er gyldigt for %s, men ikke for %s"
+
+-#: opts.c:492
++#: opts.c:484
+ #, fuzzy, gcc-internal-format
+ msgid "command line option %qs is not supported by this configuration"
+ msgstr "%s understøttes ikke af denne konfiguration"
+
+-#: opts.c:545
++#: opts.c:537
+ #, fuzzy, gcc-internal-format
+ msgid "missing argument to \"%s\""
+ msgstr "der mangler en parameter til tilvalget '-%s'"
+
+-#: opts.c:555
++#: opts.c:547
+ #, fuzzy, gcc-internal-format
+ msgid "argument to \"%s\" should be a non-negative integer"
+ msgstr "parameter til '%s' skal være en 2 bit-konstant uden fortegn"
+
+-#: opts.c:728
++#: opts.c:720
+ #, fuzzy, gcc-internal-format
+ msgid "unrecognized command line option \"%s\""
+ msgstr "ignorerer kommandolinjetilvalget '%s'"
+
+-#: opts.c:947
++#: opts.c:939
+ #, gcc-internal-format
+ msgid "-Wuninitialized is not supported without -O"
+ msgstr "-Wuninitialized understøttes ikke uden -O"
+
+-#: opts.c:962
++#: opts.c:951
+ #, gcc-internal-format
++msgid "-funit-at-a-time is required for inlining of functions that are only called once"
++msgstr ""
++
++#: opts.c:964
++#, gcc-internal-format
+ msgid "-freorder-blocks-and-partition does not work with exceptions"
+ msgstr ""
+
+-#: opts.c:973
++#: opts.c:975
+ #, gcc-internal-format
+ msgid "-freorder-blocks-and-partition does not support unwind info"
+ msgstr ""
+
+-#: opts.c:987
++#: opts.c:989
+ #, gcc-internal-format
+ msgid "-freorder-blocks-and-partition does not work on this architecture"
+ msgstr ""
+
+-#: opts.c:1263
++#: opts.c:1265
+ #, gcc-internal-format
+ msgid "unrecognized include_flags 0x%x passed to print_specific_help"
+ msgstr ""
+
+-#: opts.c:1593
++#: opts.c:1595
+ #, fuzzy, gcc-internal-format
+ msgid "structure alignment must be a small power of two, not %d"
+ msgstr "justering skal være en lille potens af to, ikke %d"
+
+-#: opts.c:1656
++#: opts.c:1658
+ #, fuzzy, gcc-internal-format
+ msgid "unrecognized visibility value \"%s\""
+ msgstr "ukendt registernavn '%s'"
+
+-#: opts.c:1704
++#: opts.c:1706
+ #, fuzzy, gcc-internal-format
+ msgid "unrecognized register name \"%s\""
+ msgstr "ukendt registernavn '%s'"
+
+-#: opts.c:1728
++#: opts.c:1730
+ #, fuzzy, gcc-internal-format
+ msgid "unknown tls-model \"%s\""
+ msgstr "'%s': ukendt tls-model-tilvalg"
+
+-#: opts.c:1803
++#: opts.c:1807
+ #, gcc-internal-format
+ msgid "%s: --param arguments should be of the form NAME=VALUE"
+ msgstr "%s: '--param'-parametre skal være på formen NAVN=VÆRDI"
+
+-#: opts.c:1808
++#: opts.c:1812
+ #, fuzzy, gcc-internal-format
+ msgid "invalid --param value %qs"
+ msgstr "ugyldig '--param'-værdi '%s'"
+
+-#: opts.c:1931
++#: opts.c:1934
+ #, gcc-internal-format
+ msgid "target system does not support debug output"
+ msgstr "målsystemet understøtter ikke fejlfindingsuddata"
+
+-#: opts.c:1938
++#: opts.c:1941
+ #, gcc-internal-format
+ msgid "debug format \"%s\" conflicts with prior selection"
+ msgstr "fejlfindingsformatet \"%s\" er i modstrid med tidligere valg"
+
+-#: opts.c:1954
++#: opts.c:1957
+ #, gcc-internal-format
+ msgid "unrecognised debug output level \"%s\""
+ msgstr "ukendt fejlfindingsuddataniveau \"%s\""
+
+-#: opts.c:1956
++#: opts.c:1959
+ #, gcc-internal-format
+ msgid "debug output level %s is too high"
+ msgstr "fejlfindingsuddataniveau %s er for højt"
+
+-#: opts.c:2038
++#: opts.c:2041
+ #, gcc-internal-format
+ msgid "-Werror=%s: No option -%s"
+ msgstr ""
+@@ -23368,9 +23351,9 @@
+ msgid "can't use '%s' as a %s register"
+ msgstr "kan ikke bruge '%s' som et %s-register"
+
+-#: regclass.c:890 config/ia64/ia64.c:5138 config/ia64/ia64.c:5145
+-#: config/pa/pa.c:359 config/pa/pa.c:366 config/spu/spu.c:3886
+-#: config/spu/spu.c:3893
++#: regclass.c:890 config/ia64/ia64.c:5139 config/ia64/ia64.c:5146
++#: config/pa/pa.c:362 config/pa/pa.c:369 config/spu/spu.c:3875
++#: config/spu/spu.c:3882
+ #, gcc-internal-format
+ msgid "unknown register name: %s"
+ msgstr "ukendt registernavn: %s"
+@@ -23410,22 +23393,22 @@
+ msgid "validate_value_data: [%u] Non-empty reg in chain (%s %u %i)"
+ msgstr "validate_value_data: [%u] Ikke-tomt register i kæde (%s %u %i)"
+
+-#: reload.c:1252
++#: reload.c:1256
+ #, fuzzy, gcc-internal-format
+ msgid "cannot reload integer constant operand in %<asm%>"
+ msgstr "kan ikke genindlæse heltalskonstantoperand i 'asm'"
+
+-#: reload.c:1266
++#: reload.c:1270
+ #, fuzzy, gcc-internal-format
+ msgid "impossible register constraint in %<asm%>"
+ msgstr "umulig registerbegrænsing i 'asm'"
+
+-#: reload.c:3564
++#: reload.c:3574
+ #, fuzzy, gcc-internal-format
+ msgid "%<&%> constraint used with no register class"
+ msgstr "'&'-begrænsning brugt uden registerklasse"
+
+-#: reload.c:3735 reload.c:3975
++#: reload.c:3745 reload.c:3991
+ #, fuzzy, gcc-internal-format
+ msgid "inconsistent operand constraints in an %<asm%>"
+ msgstr "inkonsistente operandbegræsninger i 'asm'"
+@@ -23650,49 +23633,49 @@
+ msgid "size of %q+D is larger than %wd bytes"
+ msgstr "%Jstørrelsen af '%D' er større end %d byte"
+
+-#: stor-layout.c:899
++#: stor-layout.c:888
+ #, fuzzy, gcc-internal-format
+ msgid "packed attribute causes inefficient alignment for %q+D"
+ msgstr "%Jpacked-egenskab forårsager ineffektiv justering af '%D'"
+
+-#: stor-layout.c:902
++#: stor-layout.c:891
+ #, fuzzy, gcc-internal-format
+ msgid "packed attribute is unnecessary for %q+D"
+ msgstr "%Jpacked-egenskab er unødvendig for '%D'"
+
+ #. No, we need to skip space before this field.
+ #. Bump the cumulative size to multiple of field alignment.
+-#: stor-layout.c:919
++#: stor-layout.c:908
+ #, fuzzy, gcc-internal-format
+ msgid "padding struct to align %q+D"
+ msgstr "%Judfylder struct for at justere '%D'"
+
+-#: stor-layout.c:1270
++#: stor-layout.c:1259
+ #, gcc-internal-format
+ msgid "padding struct size to alignment boundary"
+ msgstr "udfylder struct-størrelse til justeringskant"
+
+-#: stor-layout.c:1300
++#: stor-layout.c:1289
+ #, fuzzy, gcc-internal-format
+ msgid "packed attribute causes inefficient alignment for %qs"
+ msgstr "packed-egenskab forårsager ineffektiv justering af '%s'"
+
+-#: stor-layout.c:1304
++#: stor-layout.c:1293
+ #, fuzzy, gcc-internal-format
+ msgid "packed attribute is unnecessary for %qs"
+ msgstr "packed-egenskab er unødvendig for '%s'"
+
+-#: stor-layout.c:1310
++#: stor-layout.c:1299
+ #, gcc-internal-format
+ msgid "packed attribute causes inefficient alignment"
+ msgstr "packed-egenskab forårsager ineffektiv justering"
+
+-#: stor-layout.c:1312
++#: stor-layout.c:1301
+ #, gcc-internal-format
+ msgid "packed attribute is unnecessary"
+ msgstr "packed-egenskab er unødvendig"
+
+-#: stor-layout.c:1842
++#: stor-layout.c:1831
+ #, fuzzy, gcc-internal-format
+ msgid "alignment of array elements is greater than element size"
+ msgstr "%Jjustering af '%D' er større end den maksimale objektfilsjustering - bruger %d"
+@@ -23777,644 +23760,654 @@
+ msgid "unrecognized gcc debugging option: %c"
+ msgstr "ukendt GCC-fejlfindingstilvalg: %c"
+
+-#: toplev.c:1411
++#: toplev.c:1413
+ #, fuzzy, gcc-internal-format
+ msgid "can%'t open %s for writing: %m"
+ msgstr "kan ikke åbne %s til skrivning: %m"
+
+-#: toplev.c:1432
++#: toplev.c:1434
+ #, fuzzy, gcc-internal-format
+ msgid "-frecord-gcc-switches is not supported by the current target"
+ msgstr "-fdata-sections understøttes ikke på målarkitekturen"
+
+-#: toplev.c:1745
++#: toplev.c:1747
+ #, fuzzy, gcc-internal-format
+ msgid "this target does not support %qs"
+ msgstr "denne målarkitektur understøtter ikke tilvalget -mabi"
+
+-#: toplev.c:1794
++#: toplev.c:1796
+ #, gcc-internal-format
+ msgid "instruction scheduling not supported on this target machine"
+ msgstr "instruktionsplanlægning understøttes ikke på målarkitekturen"
+
+-#: toplev.c:1798
++#: toplev.c:1800
+ #, gcc-internal-format
+ msgid "this target machine does not have delayed branches"
+ msgstr "målarkitekturen har ikke forsinkede forgreninger"
+
+-#: toplev.c:1812
++#: toplev.c:1814
+ #, gcc-internal-format
+ msgid "-f%sleading-underscore not supported on this target machine"
+ msgstr "-f%sleading-underscore understøttes ikke på målarkitekturen"
+
+-#: toplev.c:1885
++#: toplev.c:1887
+ #, fuzzy, gcc-internal-format
+ msgid "target system does not support the \"%s\" debug format"
+ msgstr "%s understøtter ikke '%%%s%c' %s-formateringen"
+
+-#: toplev.c:1898
++#: toplev.c:1900
+ #, gcc-internal-format
+ msgid "variable tracking requested, but useless unless producing debug info"
+ msgstr ""
+
+-#: toplev.c:1901
++#: toplev.c:1903
+ #, fuzzy, gcc-internal-format
+ msgid "variable tracking requested, but not supported by this debug format"
+ msgstr "%s understøtter ikke '%%%s%c' %s-formateringen"
+
+-#: toplev.c:1935
++#: toplev.c:1937
+ #, fuzzy, gcc-internal-format
+ msgid "can%'t open %s: %m"
+ msgstr "kan ikke åbne %s: %m"
+
+-#: toplev.c:1942
++#: toplev.c:1944
+ #, gcc-internal-format
+ msgid "-ffunction-sections not supported for this target"
+ msgstr "-ffunction-sections understøttes ikke på målarkitekturen"
+
+-#: toplev.c:1947
++#: toplev.c:1949
+ #, gcc-internal-format
+ msgid "-fdata-sections not supported for this target"
+ msgstr "-fdata-sections understøttes ikke på målarkitekturen"
+
+-#: toplev.c:1954
++#: toplev.c:1956
+ #, gcc-internal-format
+ msgid "-ffunction-sections disabled; it makes profiling impossible"
+ msgstr "-ffunction-sections deaktiveret; dette gør profilering umulig"
+
+-#: toplev.c:1961
++#: toplev.c:1963
+ #, gcc-internal-format
+ msgid "-fprefetch-loop-arrays not supported for this target"
+ msgstr "-fprefetch-loop-arrays understøttes ikke på målarkitekturen"
+
+-#: toplev.c:1967
++#: toplev.c:1969
+ #, gcc-internal-format
+ msgid "-fprefetch-loop-arrays not supported for this target (try -march switches)"
+ msgstr "-fprefetch-loop-arrays understøttes ikke på målarkitekturen (prøv '-march'-tilvalgene)"
+
+-#: toplev.c:1976
++#: toplev.c:1978
+ #, gcc-internal-format
+ msgid "-fprefetch-loop-arrays is not supported with -Os"
+ msgstr "-fprefetch-loop-arrays understøttes ikke med -Os"
+
+-#: toplev.c:1983
++#: toplev.c:1985
+ #, gcc-internal-format
+ msgid "-ffunction-sections may affect debugging on some targets"
+ msgstr "-ffunction-sections kan have indflydelse på fejlfinding på nogle målarkitekturer"
+
+-#: toplev.c:1999
++#: toplev.c:1996
++#, gcc-internal-format
++msgid "-fassociative-math disabled; other options take precedence"
++msgstr ""
++
++#: toplev.c:2008
+ #, fuzzy, gcc-internal-format
+ msgid "-fstack-protector not supported for this target"
+ msgstr "-fdata-sections understøttes ikke på målarkitekturen"
+
+-#: toplev.c:2012
++#: toplev.c:2021
+ #, gcc-internal-format
+-msgid "unwind tables currently requires a frame pointer for correctness"
++msgid "unwind tables currently require a frame pointer for correctness"
+ msgstr ""
+
+-#: toplev.c:2198
++#: toplev.c:2207
+ #, fuzzy, gcc-internal-format
+ msgid "error writing to %s: %m"
+ msgstr "fejl ved skrivning til %s"
+
+-#: toplev.c:2200 java/jcf-parse.c:1776
++#: toplev.c:2209 java/jcf-parse.c:1778
+ #, fuzzy, gcc-internal-format
+ msgid "error closing %s: %m"
+ msgstr "fejl ved lukning af %s"
+
+-#: tree-cfg.c:1432 tree-cfg.c:2068 tree-cfg.c:2071
++#: tree-cfg.c:1451 tree-cfg.c:2087 tree-cfg.c:2090
+ #, gcc-internal-format
+ msgid "%Hwill never be executed"
+ msgstr "%Hvil aldrig blive udført"
+
+-#: tree-cfg.c:3134
++#: tree-cfg.c:3153
+ #, gcc-internal-format
+ msgid "SSA name in freelist but still referenced"
+ msgstr ""
+
+-#: tree-cfg.c:3143
++#: tree-cfg.c:3162
+ #, gcc-internal-format
+ msgid "ASSERT_EXPR with an always-false condition"
+ msgstr ""
+
+-#: tree-cfg.c:3156
++#: tree-cfg.c:3175
+ #, gcc-internal-format
+ msgid "GIMPLE register modified with BIT_FIELD_REF"
+ msgstr ""
+
+-#: tree-cfg.c:3191
++#: tree-cfg.c:3210
+ #, gcc-internal-format
+ msgid "invariant not recomputed when ADDR_EXPR changed"
+ msgstr ""
+
+-#: tree-cfg.c:3197
++#: tree-cfg.c:3216
+ #, gcc-internal-format
+ msgid "constant not recomputed when ADDR_EXPR changed"
+ msgstr ""
+
+-#: tree-cfg.c:3202
++#: tree-cfg.c:3221
+ #, gcc-internal-format
+ msgid "side effects not recomputed when ADDR_EXPR changed"
+ msgstr ""
+
+-#: tree-cfg.c:3218
++#: tree-cfg.c:3237
+ #, gcc-internal-format
+ msgid "address taken, but ADDRESSABLE bit not set"
+ msgstr ""
+
+-#: tree-cfg.c:3228
++#: tree-cfg.c:3252
+ #, fuzzy, gcc-internal-format
+ msgid "non-integral used in condition"
+ msgstr "uafsluttet #%s-betingelse"
+
+-#: tree-cfg.c:3233
++#: tree-cfg.c:3257
+ #, fuzzy, gcc-internal-format
+ msgid "invalid conditional operand"
+ msgstr "ugyldige begrænsninger for operand"
+
+-#: tree-cfg.c:3285
++#: tree-cfg.c:3309
+ #, fuzzy, gcc-internal-format
+ msgid "invalid reference prefix"
+ msgstr "Ugyldig referencetype"
+
+-#: tree-cfg.c:3296
++#: tree-cfg.c:3320
+ #, fuzzy, gcc-internal-format
+ msgid "invalid operand to plus/minus, type is a pointer"
+ msgstr "ugyldig operand i instruktionen"
+
+-#: tree-cfg.c:3307
++#: tree-cfg.c:3331
+ #, fuzzy, gcc-internal-format
+ msgid "invalid operand to pointer plus, first operand is not a pointer"
+ msgstr "grundoperanden til '->' er ikke en henvisning"
+
+-#: tree-cfg.c:3315
++#: tree-cfg.c:3339
+ #, gcc-internal-format
+ msgid "invalid operand to pointer plus, second operand is not an integer with type of sizetype."
+ msgstr ""
+
+-#: tree-cfg.c:3382 tree-cfg.c:3798
++#: tree-cfg.c:3406 tree-cfg.c:3822
+ #, fuzzy, gcc-internal-format
+ msgid "invalid operand in unary expression"
+ msgstr "ugyldigt symbol udtryk"
+
+-#: tree-cfg.c:3392
++#: tree-cfg.c:3416
+ #, fuzzy, gcc-internal-format
+ msgid "type mismatch in unary expression"
+ msgstr "typerne i betingelsesudtrykket passer ikke sammen"
+
+-#: tree-cfg.c:3413
++#: tree-cfg.c:3437
+ #, fuzzy, gcc-internal-format
+ msgid "invalid operands in binary expression"
+ msgstr "ugyldige operander til binær %s"
+
+-#: tree-cfg.c:3424
++#: tree-cfg.c:3448
+ #, fuzzy, gcc-internal-format
+ msgid "type mismatch in binary expression"
+ msgstr "typerne i betingelsesudtrykket passer ikke sammen"
+
+-#: tree-cfg.c:3449
++#: tree-cfg.c:3473
+ #, fuzzy, gcc-internal-format
+ msgid "invalid expression for min lvalue"
+ msgstr "ugyldigt udtryk som operand"
+
+-#: tree-cfg.c:3456
++#: tree-cfg.c:3480
+ #, fuzzy, gcc-internal-format
+ msgid "invalid operand in indirect reference"
+ msgstr "ugyldig operand i instruktionen"
+
+-#: tree-cfg.c:3463
++#: tree-cfg.c:3487
+ #, fuzzy, gcc-internal-format
+ msgid "type mismatch in indirect reference"
+ msgstr "typerne i betingelsesudtrykket passer ikke sammen"
+
+-#: tree-cfg.c:3491
++#: tree-cfg.c:3515
+ #, fuzzy, gcc-internal-format
+ msgid "invalid operands to array reference"
+ msgstr "ugyldige operander til binær %s"
+
+-#: tree-cfg.c:3502
++#: tree-cfg.c:3526
+ #, fuzzy, gcc-internal-format
+ msgid "type mismatch in array reference"
+ msgstr "indeks mangler i tabelopslag"
+
+-#: tree-cfg.c:3511
++#: tree-cfg.c:3535
+ #, fuzzy, gcc-internal-format
+ msgid "type mismatch in array range reference"
+ msgstr "indeks mangler i tabelopslag"
+
+-#: tree-cfg.c:3522
++#: tree-cfg.c:3546
+ #, fuzzy, gcc-internal-format
+ msgid "type mismatch in real/imagpart reference"
+ msgstr "typerne i betingelsesudtrykket passer ikke sammen"
+
+-#: tree-cfg.c:3532
++#: tree-cfg.c:3556
+ #, fuzzy, gcc-internal-format
+ msgid "type mismatch in component reference"
+ msgstr "typerne i betingelsesudtrykket passer ikke sammen"
+
+-#: tree-cfg.c:3586
++#: tree-cfg.c:3610
+ #, fuzzy, gcc-internal-format
+ msgid "invalid operand in conversion"
+ msgstr "ugyldig operand i instruktionen"
+
+-#: tree-cfg.c:3614
++#: tree-cfg.c:3638
+ #, fuzzy, gcc-internal-format
+ msgid "invalid types in nop conversion"
+ msgstr "ugyldigt symbol udtryk"
+
+-#: tree-cfg.c:3628
++#: tree-cfg.c:3652
+ #, fuzzy, gcc-internal-format
+ msgid "invalid operand in int to float conversion"
+ msgstr "ugyldig operand i instruktionen"
+
+-#: tree-cfg.c:3634
++#: tree-cfg.c:3658
+ #, fuzzy, gcc-internal-format
+ msgid "invalid types in conversion to floating point"
+ msgstr "ugyldig endelse \"%.*s\" i kommatalskonstant"
+
+-#: tree-cfg.c:3647
++#: tree-cfg.c:3671
+ #, fuzzy, gcc-internal-format
+ msgid "invalid operand in float to int conversion"
+ msgstr "ugyldig operand i instruktionen"
+
+-#: tree-cfg.c:3653
++#: tree-cfg.c:3677
+ #, fuzzy, gcc-internal-format
+ msgid "invalid types in conversion to integer"
+ msgstr "ugyldig type 'void' til new"
+
+-#: tree-cfg.c:3667
++#: tree-cfg.c:3691
+ #, fuzzy, gcc-internal-format
+ msgid "invalid operands in complex expression"
+ msgstr "ugyldigt symbol udtryk"
+
+-#: tree-cfg.c:3680
++#: tree-cfg.c:3704
+ #, fuzzy, gcc-internal-format
+ msgid "type mismatch in complex expression"
+ msgstr "typerne i betingelsesudtrykket passer ikke sammen"
+
+-#: tree-cfg.c:3694
++#: tree-cfg.c:3718
+ #, gcc-internal-format
+ msgid "constructor not allowed for non-vector types"
+ msgstr ""
+
+-#: tree-cfg.c:3711
++#: tree-cfg.c:3735
+ #, fuzzy, gcc-internal-format
+ msgid "invalid operands in shift expression"
+ msgstr "ugyldigt tal i #if-udtryk"
+
+-#: tree-cfg.c:3717
++#: tree-cfg.c:3741
+ #, fuzzy, gcc-internal-format
+ msgid "type mismatch in shift expression"
+ msgstr "typerne i betingelsesudtrykket passer ikke sammen"
+
+-#: tree-cfg.c:3735
++#: tree-cfg.c:3759
+ #, fuzzy, gcc-internal-format
+ msgid "invalid (pointer) operands to plus/minus"
+ msgstr "ugyldige operander til binær %s"
+
+-#: tree-cfg.c:3748
++#: tree-cfg.c:3772
+ #, fuzzy, gcc-internal-format
+ msgid "invalid operands in pointer plus expression"
+ msgstr "ugyldigt symbol udtryk"
+
+-#: tree-cfg.c:3755
++#: tree-cfg.c:3779
+ #, fuzzy, gcc-internal-format
+ msgid "type mismatch in pointer plus expression"
+ msgstr "typerne i betingelsesudtrykket passer ikke sammen"
+
+-#: tree-cfg.c:3774
++#: tree-cfg.c:3798
+ #, fuzzy, gcc-internal-format
+ msgid "invalid operands in conditional expression"
+ msgstr "signed og unsigned type i betinget udtryk"
+
+-#: tree-cfg.c:3807
++#: tree-cfg.c:3831
+ #, fuzzy, gcc-internal-format
+ msgid "type mismatch in address expression"
+ msgstr "typerne i betingelsesudtrykket passer ikke sammen"
+
+-#: tree-cfg.c:3827
++#: tree-cfg.c:3851
+ #, fuzzy, gcc-internal-format
+ msgid "invalid operands in truth expression"
+ msgstr "ugyldigt symbol udtryk"
+
+-#: tree-cfg.c:3836
++#: tree-cfg.c:3860
+ #, fuzzy, gcc-internal-format
+ msgid "type mismatch in binary truth expression"
+ msgstr "typerne i betingelsesudtrykket passer ikke sammen"
+
+-#: tree-cfg.c:3852
++#: tree-cfg.c:3876
+ #, fuzzy, gcc-internal-format
+ msgid "invalid operand in unary not"
+ msgstr "ugyldige operander til binær %s"
+
+-#: tree-cfg.c:3861
++#: tree-cfg.c:3885
+ #, fuzzy, gcc-internal-format
+ msgid "type mismatch in not expression"
+ msgstr "typerne i betingelsesudtrykket passer ikke sammen"
+
+-#: tree-cfg.c:3900
++#: tree-cfg.c:3924
+ #, fuzzy, gcc-internal-format
+ msgid "invalid operands in comparison expression"
+ msgstr "ugyldigt symbol udtryk"
+
+-#: tree-cfg.c:3917
++#: tree-cfg.c:3941
+ #, fuzzy, gcc-internal-format
+ msgid "type mismatch in comparison expression"
+ msgstr "typerne i betingelsesudtrykket passer ikke sammen"
+
+-#: tree-cfg.c:3947
++#: tree-cfg.c:3971
+ #, fuzzy, gcc-internal-format
+ msgid "non-trivial conversion at assignment"
+ msgstr "ugyldig venstreværdi i tildeling"
+
+-#: tree-cfg.c:3988 tree-cfg.c:4136
++#: tree-cfg.c:4012 tree-cfg.c:4160
+ #, fuzzy, gcc-internal-format
+ msgid "is not a valid GIMPLE statement"
+ msgstr "'%E' er ikke en gyldig skabelonsparameter"
+
+-#: tree-cfg.c:4015
++#: tree-cfg.c:4039
+ #, fuzzy, gcc-internal-format
+ msgid "invalid operand to switch statement"
+ msgstr "ugyldig operand til %%s-koden"
+
+-#: tree-cfg.c:4026
++#: tree-cfg.c:4050
+ #, fuzzy, gcc-internal-format
+ msgid "type error in return expression"
+ msgstr " i kastet udtryk"
+
+-#: tree-cfg.c:4104
++#: tree-cfg.c:4128
+ #, fuzzy, gcc-internal-format
+ msgid "verify_gimple failed"
+ msgstr "verify_flow_info mislykkedes"
+
+-#: tree-cfg.c:4156
++#: tree-cfg.c:4180
+ #, gcc-internal-format
+ msgid "statement marked for throw, but doesn%'t"
+ msgstr ""
+
+-#: tree-cfg.c:4161
++#: tree-cfg.c:4185
+ #, gcc-internal-format
+ msgid "statement marked for throw in middle of block"
+ msgstr ""
+
+-#: tree-cfg.c:4232
++#: tree-cfg.c:4256
+ #, fuzzy, gcc-internal-format
+ msgid "unexpected non-tuple"
+ msgstr "uventet operand"
+
+-#: tree-cfg.c:4261
++#: tree-cfg.c:4285
+ #, gcc-internal-format
+ msgid "Dead STMT in EH table"
+ msgstr ""
+
+-#: tree-cfg.c:4295
++#: tree-cfg.c:4319
+ #, gcc-internal-format
+ msgid "bb_for_stmt (phi) is set to a wrong basic block"
+ msgstr ""
+
+-#: tree-cfg.c:4306
++#: tree-cfg.c:4330
+ #, fuzzy, gcc-internal-format
+ msgid "missing PHI def"
+ msgstr "manglende tal"
+
+-#: tree-cfg.c:4317
++#: tree-cfg.c:4341
+ #, gcc-internal-format
+ msgid "PHI def is not a GIMPLE value"
+ msgstr ""
+
+-#: tree-cfg.c:4333 tree-cfg.c:4359
++#: tree-cfg.c:4357 tree-cfg.c:4383
+ #, gcc-internal-format
+ msgid "incorrect sharing of tree nodes"
+ msgstr ""
+
+-#: tree-cfg.c:4350
++#: tree-cfg.c:4374
+ #, gcc-internal-format
+ msgid "bb_for_stmt (stmt) is set to a wrong basic block"
+ msgstr ""
+
+-#: tree-cfg.c:4373
++#: tree-cfg.c:4397
+ #, fuzzy, gcc-internal-format
+ msgid "verify_stmts failed"
+ msgstr "verify_flow_info mislykkedes"
+
+-#: tree-cfg.c:4396
++#: tree-cfg.c:4420
+ #, gcc-internal-format
+ msgid "ENTRY_BLOCK has IL associated with it"
+ msgstr ""
+
+-#: tree-cfg.c:4402
++#: tree-cfg.c:4426
+ #, gcc-internal-format
+ msgid "EXIT_BLOCK has IL associated with it"
+ msgstr ""
+
+-#: tree-cfg.c:4409
++#: tree-cfg.c:4433
+ #, gcc-internal-format
+ msgid "fallthru to exit from bb %d"
+ msgstr ""
+
+-#: tree-cfg.c:4431
++#: tree-cfg.c:4455
+ #, gcc-internal-format
+ msgid "nonlocal label "
+ msgstr ""
+
+-#: tree-cfg.c:4440 tree-cfg.c:4450 tree-cfg.c:4475
++#: tree-cfg.c:4464 tree-cfg.c:4474 tree-cfg.c:4499
+ #, gcc-internal-format
+ msgid "label "
+ msgstr ""
+
+-#: tree-cfg.c:4465
++#: tree-cfg.c:4489
+ #, fuzzy, gcc-internal-format
+ msgid "control flow in the middle of basic block %d"
+ msgstr "strømkontrolinstruktion inden i en basisblok"
+
+-#: tree-cfg.c:4495
++#: tree-cfg.c:4519
+ #, fuzzy, gcc-internal-format
+ msgid "fallthru edge after a control statement in bb %d"
+ msgstr "Fald gennem-kant efter ubetinget spring %i"
+
+-#: tree-cfg.c:4508
++#: tree-cfg.c:4532
+ #, gcc-internal-format
+ msgid "true/false edge after a non-COND_EXPR in bb %d"
+ msgstr ""
+
+-#: tree-cfg.c:4524
++#: tree-cfg.c:4548
+ #, gcc-internal-format
+ msgid "COND_EXPR with code in branches at the end of bb %d"
+ msgstr ""
+
+-#: tree-cfg.c:4538 tree-cfg.c:4560 tree-cfg.c:4573 tree-cfg.c:4644
++#: tree-cfg.c:4562 tree-cfg.c:4584 tree-cfg.c:4597 tree-cfg.c:4668
+ #, gcc-internal-format
+ msgid "wrong outgoing edge flags at end of bb %d"
+ msgstr ""
+
+-#: tree-cfg.c:4548
++#: tree-cfg.c:4572
+ #, fuzzy, gcc-internal-format
+ msgid "explicit goto at end of bb %d"
+ msgstr "eksplicit instantiering af '%#D'"
+
+-#: tree-cfg.c:4578
++#: tree-cfg.c:4602
+ #, gcc-internal-format
+ msgid "return edge does not point to exit in bb %d"
+ msgstr ""
+
+-#: tree-cfg.c:4611
++#: tree-cfg.c:4635
+ #, gcc-internal-format
+ msgid "found default case not at end of case vector"
+ msgstr ""
+
+-#: tree-cfg.c:4617
++#: tree-cfg.c:4641
+ #, fuzzy, gcc-internal-format
+ msgid "case labels not sorted: "
+ msgstr "trampoliner understøttes ikke"
+
+-#: tree-cfg.c:4628
++#: tree-cfg.c:4652
+ #, gcc-internal-format
+ msgid "no default case found at end of case vector"
+ msgstr ""
+
+-#: tree-cfg.c:4636
++#: tree-cfg.c:4660
+ #, gcc-internal-format
+ msgid "extra outgoing edge %d->%d"
+ msgstr ""
+
+-#: tree-cfg.c:4658
++#: tree-cfg.c:4682
+ #, fuzzy, gcc-internal-format
+ msgid "missing edge %i->%i"
+ msgstr "manglende felt '%s' i '%s'"
+
+-#: tree-cfg.c:6941 tree-cfg.c:6945
++#: tree-cfg.c:7025 tree-cfg.c:7029
+ #, fuzzy, gcc-internal-format
+ msgid "%H%<noreturn%> function does return"
+ msgstr "funktion med egenskaben 'noreturn' returnerer"
+
+ # RETMIG: dette må kunne gøres bedre
+-#: tree-cfg.c:6967 tree-cfg.c:6972
++#: tree-cfg.c:7051 tree-cfg.c:7056
+ #, fuzzy, gcc-internal-format
+ msgid "%Hcontrol reaches end of non-void function"
+ msgstr "kontrol når til slutningen af ikke-void funktion"
+
+-#: tree-cfg.c:7033
++#: tree-cfg.c:7117
+ #, fuzzy, gcc-internal-format
+ msgid "%Jfunction might be possible candidate for attribute %<noreturn%>"
+ msgstr "funktion er muligvis en kandidat til egenskaben 'noreturn'"
+
+-#: tree-dump.c:933
++#: tree-dump.c:932
+ #, fuzzy, gcc-internal-format
+ msgid "could not open dump file %qs: %s"
+ msgstr "kunne ikke åbne dumpningsfilen '%s'"
+
+-#: tree-dump.c:1068
++#: tree-dump.c:1067
+ #, fuzzy, gcc-internal-format
+ msgid "ignoring unknown option %q.*s in %<-fdump-%s%>"
+ msgstr "ignorerer ukendt tilvalg '%.*s' i '-f%s'"
+
+-#: tree-eh.c:1788
++#: tree-eh.c:1805
+ #, fuzzy, gcc-internal-format
+ msgid "EH edge %i->%i is missing"
+ msgstr "der mangler en parameter til '-%s'"
+
+-#: tree-eh.c:1793
++#: tree-eh.c:1810
+ #, gcc-internal-format
+ msgid "EH edge %i->%i miss EH flag"
+ msgstr ""
+
+ #. ??? might not be mistake.
+-#: tree-eh.c:1799
++#: tree-eh.c:1816
+ #, gcc-internal-format
+ msgid "EH edge %i->%i has duplicated regions"
+ msgstr ""
+
+-#: tree-eh.c:1833
++#: tree-eh.c:1850
+ #, gcc-internal-format
+ msgid "BB %i can not throw but has EH edges"
+ msgstr ""
+
+-#: tree-eh.c:1840
++#: tree-eh.c:1857
+ #, gcc-internal-format
+ msgid "BB %i last statement has incorrectly set region"
+ msgstr ""
+
+-#: tree-eh.c:1851
++#: tree-eh.c:1868
+ #, gcc-internal-format
+ msgid "unnecessary EH edge %i->%i"
+ msgstr ""
+
+-#: tree-inline.c:1830
++#: tree-inline.c:1880
+ #, gcc-internal-format
+ msgid "function %q+F can never be inlined because it uses alloca (override using the always_inline attribute)"
+ msgstr ""
+
+-#: tree-inline.c:1842
++#: tree-inline.c:1892
+ #, gcc-internal-format
+ msgid "function %q+F can never be inlined because it uses setjmp"
+ msgstr ""
+
+-#: tree-inline.c:1856
++#: tree-inline.c:1906
+ #, gcc-internal-format
+ msgid "function %q+F can never be inlined because it uses variable argument lists"
+ msgstr ""
+
+-#: tree-inline.c:1867
++#: tree-inline.c:1917
+ #, gcc-internal-format
+ msgid "function %q+F can never be inlined because it uses setjmp-longjmp exception handling"
+ msgstr ""
+
+-#: tree-inline.c:1874
++#: tree-inline.c:1924
+ #, gcc-internal-format
+ msgid "function %q+F can never be inlined because it uses non-local goto"
+ msgstr ""
+
+-#: tree-inline.c:1885
++#: tree-inline.c:1935
+ #, gcc-internal-format
+ msgid "function %q+F can never be inlined because it uses __builtin_return or __builtin_apply_args"
+ msgstr ""
+
+-#: tree-inline.c:1904
++#: tree-inline.c:1954
+ #, gcc-internal-format
+ msgid "function %q+F can never be inlined because it contains a computed goto"
+ msgstr ""
+
+-#: tree-inline.c:1918
++#: tree-inline.c:1968
+ #, gcc-internal-format
+ msgid "function %q+F can never be inlined because it receives a non-local goto"
+ msgstr ""
+
+-#: tree-inline.c:1943
++#: tree-inline.c:1993
+ #, gcc-internal-format
+ msgid "function %q+F can never be inlined because it uses variable sized variables"
+ msgstr ""
+
+-#: tree-inline.c:2005
++#: tree-inline.c:2015
+ #, gcc-internal-format
++msgid "function %q+F can never be inlined because it saves address of local label in a static variable"
++msgstr ""
++
++#: tree-inline.c:2091
++#, gcc-internal-format
+ msgid "function %q+F can never be inlined because it is suppressed using -fno-inline"
+ msgstr ""
+
+-#: tree-inline.c:2019
++#: tree-inline.c:2105
+ #, gcc-internal-format
+ msgid "function %q+F can never be inlined because it uses attributes conflicting with inlining"
+ msgstr ""
+
+-#: tree-inline.c:2588 tree-inline.c:2598
++#: tree-inline.c:2674 tree-inline.c:2684
+ #, fuzzy, gcc-internal-format
+ msgid "inlining failed in call to %q+F: %s"
+ msgstr "%Jindlejring mislykkedes i kald til '%F': %s"
+
+-#: tree-inline.c:2589 tree-inline.c:2600
++#: tree-inline.c:2675 tree-inline.c:2686
+ #, gcc-internal-format
+ msgid "called from here"
+ msgstr "kaldt herfra"
+
+-#: tree-mudflap.c:860
++#: tree-mudflap.c:864
+ #, gcc-internal-format
+ msgid "mudflap checking not yet implemented for ARRAY_RANGE_REF"
+ msgstr ""
+
+-#: tree-mudflap.c:1044
++#: tree-mudflap.c:1050
+ #, gcc-internal-format
+ msgid "mudflap cannot track %qs in stub function"
+ msgstr ""
+
+-#: tree-mudflap.c:1272
++#: tree-mudflap.c:1279
+ #, gcc-internal-format
+ msgid "mudflap cannot track unknown size extern %qs"
+ msgstr ""
+@@ -24434,33 +24427,33 @@
+ msgid "size of return value of %q+D is larger than %wd bytes"
+ msgstr "%Jstørrelsen af returtypen til '%D' er større end %wd byte"
+
+-#: tree-outof-ssa.c:637 tree-outof-ssa.c:688 tree-ssa-coalesce.c:936
+-#: tree-ssa-coalesce.c:951 tree-ssa-coalesce.c:1163 tree-ssa-live.c:1043
++#: tree-outof-ssa.c:638 tree-outof-ssa.c:689 tree-ssa-coalesce.c:936
++#: tree-ssa-coalesce.c:951 tree-ssa-coalesce.c:1163 tree-ssa-live.c:1053
+ #, gcc-internal-format
+ msgid "SSA corruption"
+ msgstr ""
+
+-#: tree-outof-ssa.c:1105
++#: tree-outof-ssa.c:1263
+ #, gcc-internal-format
+ msgid " Pending stmts not issued on PRED edge (%d, %d)\n"
+ msgstr ""
+
+-#: tree-outof-ssa.c:1111
++#: tree-outof-ssa.c:1269
+ #, gcc-internal-format
+ msgid " Pending stmts not issued on SUCC edge (%d, %d)\n"
+ msgstr ""
+
+-#: tree-outof-ssa.c:1118
++#: tree-outof-ssa.c:1276
+ #, gcc-internal-format
+ msgid " Pending stmts not issued on ENTRY edge (%d, %d)\n"
+ msgstr ""
+
+-#: tree-outof-ssa.c:1124
++#: tree-outof-ssa.c:1282
+ #, gcc-internal-format
+ msgid " Pending stmts not issued on EXIT edge (%d, %d)\n"
+ msgstr ""
+
+-#: tree-profile.c:351
++#: tree-profile.c:356
+ #, fuzzy, gcc-internal-format
+ msgid "unimplemented functionality"
+ msgstr "I sætningsfunktion"
+@@ -24650,154 +24643,159 @@
+ msgid "verify_ssa failed"
+ msgstr "verify_flow_info mislykkedes"
+
+-#: tree-ssa.c:1284
++#: tree-ssa.c:1293
+ #, fuzzy, gcc-internal-format
+ msgid "%J%qD was declared here"
+ msgstr "'%#D' tidligere erklæret her"
+
+ #. We only do data flow with SSA_NAMEs, so that's all we
+ #. can warn about.
+-#: tree-ssa.c:1302
++#: tree-ssa.c:1311
+ #, fuzzy, gcc-internal-format
+ msgid "%H%qD is used uninitialized in this function"
+ msgstr "'%s' bliver måske brugt uden at have en startværdi i denne funktion"
+
+-#: tree-ssa.c:1340
++#: tree-ssa.c:1349
+ #, fuzzy, gcc-internal-format
+ msgid "%H%qD may be used uninitialized in this function"
+ msgstr "'%s' bliver måske brugt uden at have en startværdi i denne funktion"
+
+-#: tree-vrp.c:4374
++#: tree-vrp.c:4384
+ #, fuzzy, gcc-internal-format
+ msgid "%Harray subscript is outside array bounds"
+ msgstr "tabelindeks er ikke et heltal"
+
+-#: tree-vrp.c:4388
++#: tree-vrp.c:4398
+ #, fuzzy, gcc-internal-format
+ msgid "%Harray subscript is above array bounds"
+ msgstr "tabelindeks er ikke et heltal"
+
+-#: tree-vrp.c:4395
++#: tree-vrp.c:4405
+ #, fuzzy, gcc-internal-format
+ msgid "%Harray subscript is below array bounds"
+ msgstr "tabelindeks er ikke et heltal"
+
+-#: tree-vrp.c:5042
++#: tree-vrp.c:5058
+ #, gcc-internal-format
+ msgid "assuming signed overflow does not occur when simplifying conditional to constant"
+ msgstr ""
+
+-#: tree-vrp.c:5048
++#: tree-vrp.c:5064
+ #, gcc-internal-format
+ msgid "assuming signed overflow does not occur when simplifying conditional"
+ msgstr ""
+
+-#: tree.c:3951
++#: tree.c:3682
++#, fuzzy, gcc-internal-format
++msgid "ignoring attributes applied to %qT after definition"
++msgstr "egenskaben '%s' kan kun anvendes med klassedefinitioner"
++
++#: tree.c:3966
+ #, gcc-internal-format
+ msgid "%q+D already declared with dllexport attribute: dllimport ignored"
+ msgstr ""
+
+-#: tree.c:3963
++#: tree.c:3978
+ #, gcc-internal-format
+ msgid "%q+D redeclared without dllimport attribute after being referenced with dll linkage"
+ msgstr ""
+
+-#: tree.c:3979
++#: tree.c:3994
+ #, gcc-internal-format
+ msgid "%q+D redeclared without dllimport attribute: previous dllimport ignored"
+ msgstr ""
+
+-#: tree.c:4038 tree.c:4050 config/darwin.c:1458 config/arm/arm.c:3099
+-#: config/arm/arm.c:3127 config/avr/avr.c:4598 config/h8300/h8300.c:5281
+-#: config/h8300/h8300.c:5305 config/i386/i386.c:3056 config/i386/i386.c:22515
++#: tree.c:4053 tree.c:4065 config/darwin.c:1460 config/arm/arm.c:3099
++#: config/arm/arm.c:3127 config/avr/avr.c:4638 config/h8300/h8300.c:5281
++#: config/h8300/h8300.c:5305 config/i386/i386.c:3087 config/i386/i386.c:22599
+ #: config/ia64/ia64.c:586 config/m68hc11/m68hc11.c:1118
+-#: config/rs6000/rs6000.c:19657 config/sh/symbian.c:408
++#: config/rs6000/rs6000.c:19874 config/sh/symbian.c:408
+ #: config/sh/symbian.c:415
+ #, fuzzy, gcc-internal-format
+ msgid "%qs attribute ignored"
+ msgstr "egenskaben '%s' ignoreret"
+
+-#: tree.c:4066
++#: tree.c:4081
+ #, fuzzy, gcc-internal-format
+ msgid "inline function %q+D declared as dllimport: attribute ignored"
+ msgstr "funktionen '%s' omerklæret med egenskaben noinline"
+
+-#: tree.c:4074
++#: tree.c:4089
+ #, fuzzy, gcc-internal-format
+ msgid "function %q+D definition is marked dllimport"
+ msgstr "'auto' er påhæftet funktionsdefinitionen"
+
+-#: tree.c:4082 config/sh/symbian.c:430
++#: tree.c:4097 config/sh/symbian.c:430
+ #, fuzzy, gcc-internal-format
+ msgid "variable %q+D definition is marked dllimport"
+ msgstr "statisk variabel '%s' er markeret dllimport"
+
+-#: tree.c:4105 config/sh/symbian.c:505
++#: tree.c:4120 config/sh/symbian.c:505
+ #, gcc-internal-format
+ msgid "external linkage required for symbol %q+D because of %qs attribute"
+ msgstr ""
+
+-#: tree.c:4119
++#: tree.c:4134
+ #, gcc-internal-format
+ msgid "%qs implies default visibility, but %qD has already been declared with a different visibility"
+ msgstr ""
+
+-#: tree.c:5632
++#: tree.c:5648
+ #, gcc-internal-format
+ msgid "arrays of functions are not meaningful"
+ msgstr "en tabel af funktioner giver ikke mening"
+
+-#: tree.c:5785
++#: tree.c:5801
+ #, gcc-internal-format
+ msgid "function return type cannot be function"
+ msgstr "en funktions returtype kan ikke være en funktion"
+
+-#: tree.c:6802 tree.c:6887 tree.c:6948
++#: tree.c:6818 tree.c:6903 tree.c:6964
+ #, fuzzy, gcc-internal-format
+ msgid "tree check: %s, have %s in %s, at %s:%d"
+ msgstr "træ-kontrol: forventede %s, har %s i %s, ved %s:%d"
+
+-#: tree.c:6839
++#: tree.c:6855
+ #, fuzzy, gcc-internal-format
+ msgid "tree check: expected none of %s, have %s in %s, at %s:%d"
+ msgstr "træ-kontrol: forventede %s, har %s i %s, ved %s:%d"
+
+-#: tree.c:6852
++#: tree.c:6868
+ #, fuzzy, gcc-internal-format
+ msgid "tree check: expected class %qs, have %qs (%s) in %s, at %s:%d"
+ msgstr "træ-kontrol: forventede klasse '%c', har '%c' (%s) i %s, ved %s:%d"
+
+-#: tree.c:6901
++#: tree.c:6917
+ #, fuzzy, gcc-internal-format
+ msgid "tree check: did not expect class %qs, have %qs (%s) in %s, at %s:%d"
+ msgstr "træ-kontrol: forventede klasse '%c', har '%c' (%s) i %s, ved %s:%d"
+
+-#: tree.c:6914
++#: tree.c:6930
+ #, fuzzy, gcc-internal-format
+ msgid "tree check: expected omp_clause %s, have %s in %s, at %s:%d"
+ msgstr "træ-kontrol: forventede %s, har %s i %s, ved %s:%d"
+
+-#: tree.c:6974
++#: tree.c:6990
+ #, fuzzy, gcc-internal-format
+ msgid "tree check: expected tree that contains %qs structure, have %qs in %s, at %s:%d"
+ msgstr "træ-kontrol: forventede %s, har %s i %s, ved %s:%d"
+
+-#: tree.c:6988
++#: tree.c:7004
+ #, gcc-internal-format
+ msgid "tree check: accessed elt %d of tree_vec with %d elts in %s, at %s:%d"
+ msgstr "trækontrol: tilgik udtrykstræ %d af tree_vec med %d udtrykstræer i %s, ved %s:%d"
+
+-#: tree.c:7000
++#: tree.c:7016
+ #, fuzzy, gcc-internal-format
+ msgid "tree check: accessed elt %d of phi_node with %d elts in %s, at %s:%d"
+ msgstr "trækontrol: tilgik udtrykstræ %d af tree_vec med %d udtrykstræer i %s, ved %s:%d"
+
+-#: tree.c:7013
++#: tree.c:7029
+ #, fuzzy, gcc-internal-format
+ msgid "tree check: accessed operand %d of %s with %d operands in %s, at %s:%d"
+ msgstr "trækontrol: tilgik operand %d af %s med %d operander i %s, ved %s:%d"
+
+-#: tree.c:7026
++#: tree.c:7042
+ #, fuzzy, gcc-internal-format
+ msgid "tree check: accessed operand %d of omp_clause %s with %d operands in %s, at %s:%d"
+ msgstr "trækontrol: tilgik operand %d af %s med %d operander i %s, ved %s:%d"
+@@ -25049,17 +25047,17 @@
+ msgid "Unknown value %qs of -mmacosx-version-min"
+ msgstr ""
+
+-#: config/darwin.c:1431
++#: config/darwin.c:1433
+ #, gcc-internal-format
+ msgid "%<%s%> 2.95 vtable-compatibility attribute applies only when compiling a kext"
+ msgstr ""
+
+-#: config/darwin.c:1438
++#: config/darwin.c:1440
+ #, gcc-internal-format
+ msgid "%<%s%> 2.95 vtable-compatibility attribute applies only to C++ classes"
+ msgstr ""
+
+-#: config/darwin.c:1563
++#: config/darwin.c:1565
+ #, fuzzy, gcc-internal-format
+ msgid "internal and protected visibility attributes not supported in this configuration; ignored"
+ msgstr "synlighedsegenskab er ikke understøttet i denne konfiguration; ignoreret"
+@@ -25155,7 +25153,7 @@
+ msgid "profiler support for WindISS"
+ msgstr "function_profiler-understøttelse for MMIX"
+
+-#: config/alpha/alpha.c:232 config/rs6000/rs6000.c:1990
++#: config/alpha/alpha.c:232 config/rs6000/rs6000.c:2020
+ #, fuzzy, gcc-internal-format
+ msgid "bad value %qs for -mtls-size switch"
+ msgstr "ugyldig værdi '%s' til tilvalget -mtls-size"
+@@ -25230,18 +25228,18 @@
+ msgid "bad value %qs for -mmemory-latency"
+ msgstr "ugyldig værdi '%s' for -mmemory-latency"
+
+-#: config/alpha/alpha.c:6514 config/alpha/alpha.c:6517 config/s390/s390.c:8279
+-#: config/s390/s390.c:8282
++#: config/alpha/alpha.c:6522 config/alpha/alpha.c:6525 config/s390/s390.c:8335
++#: config/s390/s390.c:8338
+ #, gcc-internal-format
+ msgid "bad builtin fcode"
+ msgstr "ugyldig indbygget fcode"
+
+-#: config/arc/arc.c:388
++#: config/arc/arc.c:392
+ #, fuzzy, gcc-internal-format
+ msgid "argument of %qs attribute is not a string constant"
+ msgstr "parameteren til egenskaben '%s er ikke en strengkonstant"
+
+-#: config/arc/arc.c:396
++#: config/arc/arc.c:400
+ #, fuzzy, gcc-internal-format
+ msgid "argument of %qs attribute is not \"ilink1\" or \"ilink2\""
+ msgstr "parameteren til egenskaben '%s er ikke \"ilink1\" eller \"ilink2\""
+@@ -25251,7 +25249,7 @@
+ msgid "switch -mcpu=%s conflicts with -march= switch"
+ msgstr "tilvalget -mcpu=%s er i konflikt med tilvalget -march="
+
+-#: config/arm/arm.c:1060 config/rs6000/rs6000.c:1504 config/sparc/sparc.c:761
++#: config/arm/arm.c:1060 config/rs6000/rs6000.c:1522 config/sparc/sparc.c:764
+ #, gcc-internal-format
+ msgid "bad value (%s) for %s switch"
+ msgstr "ugyldig værdi (%s) til tilvalget %s"
+@@ -25391,14 +25389,13 @@
+ msgid "unable to use '%s' for PIC register"
+ msgstr "kan ikke bruge '%s' til PIC-register"
+
+-#: config/arm/arm.c:3067 config/arm/arm.c:3085 config/avr/avr.c:4618
+-#: config/avr/avr.c:4660 config/bfin/bfin.c:4778 config/c4x/c4x.c:4071
+-#: config/h8300/h8300.c:5257 config/i386/i386.c:3009
+-#: config/m68hc11/m68hc11.c:1155 config/m68k/m68k.c:741
+-#: config/mcore/mcore.c:3032 config/mips/mips.c:1151 config/mips/mips.c:1153
+-#: config/mt/mt.c:1275 config/rs6000/rs6000.c:19583 config/sh/sh.c:7984
+-#: config/sh/sh.c:8005 config/sh/sh.c:8028 config/stormy16/stormy16.c:2252
+-#: config/v850/v850.c:2048
++#: config/arm/arm.c:3067 config/arm/arm.c:3085 config/avr/avr.c:4658
++#: config/avr/avr.c:4700 config/bfin/bfin.c:4881 config/h8300/h8300.c:5257
++#: config/i386/i386.c:3040 config/m68hc11/m68hc11.c:1155
++#: config/m68k/m68k.c:741 config/mcore/mcore.c:3032 config/mips/mips.c:1151
++#: config/mips/mips.c:1153 config/mt/mt.c:1275 config/rs6000/rs6000.c:19800
++#: config/sh/sh.c:7987 config/sh/sh.c:8008 config/sh/sh.c:8031
++#: config/stormy16/stormy16.c:2225 config/v850/v850.c:2048
+ #, fuzzy, gcc-internal-format
+ msgid "%qs attribute only applies to functions"
+ msgstr "egenskaben '%s' kan kun anvendes sammen med funktioner"
+@@ -25420,7 +25417,7 @@
+ msgstr "vælger skal være en umiddelbar værdi"
+
+ #. @@@ better error message
+-#: config/arm/arm.c:15839 config/i386/i386.c:20651 config/i386/i386.c:20685
++#: config/arm/arm.c:15839 config/i386/i386.c:20735 config/i386/i386.c:20769
+ #, gcc-internal-format
+ msgid "mask must be an immediate"
+ msgstr "maske skal være en umiddelbar værdi"
+@@ -25445,222 +25442,187 @@
+ msgid "static variable %q+D is marked dllimport"
+ msgstr "%Jstatisk variabel '%D' er markeret dllimport"
+
+-#: config/avr/avr.c:690
++#: config/avr/avr.c:718
+ #, gcc-internal-format
+ msgid "large frame pointer change (%d) with -mtiny-stack"
+ msgstr "stor rammehenvisningsændring (%d) med -mtiny-stack"
+
+-#: config/avr/avr.c:4591
++#: config/avr/avr.c:4631
+ #, gcc-internal-format
+ msgid "only initialized variables can be placed into program memory area"
+ msgstr "kun variabler med startværdi kan placeres i programhukommelsesområdet"
+
+-#: config/avr/avr.c:4635
++#: config/avr/avr.c:4675
+ #, gcc-internal-format
+ msgid "%qs appears to be a misspelled interrupt handler"
+ msgstr ""
+
+-#: config/avr/avr.c:4643
++#: config/avr/avr.c:4683
+ #, gcc-internal-format
+ msgid "%qs appears to be a misspelled signal handler"
+ msgstr ""
+
+-#: config/avr/avr.c:4751
++#: config/avr/avr.c:4791
+ #, gcc-internal-format
+ msgid "only uninitialized variables can be placed in the .noinit section"
+ msgstr "kun variabler uden startværdi kan placeres i .noinit-sektionen"
+
+-#: config/avr/avr.c:4765
++#: config/avr/avr.c:4805
+ #, fuzzy, gcc-internal-format
+ msgid "MCU %qs supported for assembler only"
+ msgstr "MCU '%s' understøttes kun for maskinkode"
+
+-#: config/avr/avr.h:692
++#: config/avr/avr.h:731
+ #, gcc-internal-format
+ msgid "trampolines not supported"
+ msgstr "trampoliner understøttes ikke"
+
+-#: config/bfin/bfin.c:2259 config/m68k/m68k.c:488
++#: config/bfin/bfin.c:2352 config/m68k/m68k.c:488
+ #, fuzzy, gcc-internal-format
+ msgid "-mshared-library-id=%s is not between 0 and %d"
+ msgstr "-mregparm=%d er ikke mellem 0 og %d"
+
+-#: config/bfin/bfin.c:2279
++#: config/bfin/bfin.c:2372
+ #, fuzzy, gcc-internal-format
+ msgid "-mcpu=%s is not valid"
+ msgstr "-mcpu=%s understøtter ikke -mips%d"
+
+-#: config/bfin/bfin.c:2315
++#: config/bfin/bfin.c:2410
+ #, gcc-internal-format
+ msgid "-mcpu=%s has invalid silicon revision"
+ msgstr ""
+
+-#: config/bfin/bfin.c:2332
++#: config/bfin/bfin.c:2427
+ #, fuzzy, gcc-internal-format
+ msgid "bf561 support is incomplete yet."
+ msgstr "parameteren er af en ufuldstændig type"
+
+-#: config/bfin/bfin.c:2372
++#: config/bfin/bfin.c:2470
+ #, gcc-internal-format
+ msgid "-mshared-library-id= specified without -mid-shared-library"
+ msgstr ""
+
+-#: config/bfin/bfin.c:2378
++#: config/bfin/bfin.c:2473
+ #, fuzzy, gcc-internal-format
+ msgid "Can't use multiple stack checking methods together."
+ msgstr "Indsæt stakkontrolleringskode i programmet"
+
+-#: config/bfin/bfin.c:2381
++#: config/bfin/bfin.c:2476
+ #, gcc-internal-format
+ msgid "ID shared libraries and FD-PIC mode can't be used together."
+ msgstr ""
+
+-#: config/bfin/bfin.c:2386 config/m68k/m68k.c:582
++#: config/bfin/bfin.c:2481 config/m68k/m68k.c:582
+ #, fuzzy, gcc-internal-format
+ msgid "cannot specify both -msep-data and -mid-shared-library"
+ msgstr "-C og -o er indbyrdes uforenelige"
+
+-#: config/bfin/bfin.c:4783
++#: config/bfin/bfin.c:4886
+ #, fuzzy, gcc-internal-format
+ msgid "multiple function type attributes specified"
+ msgstr "inline funktion '%s' givet egenskaben noinline"
+
+-#: config/bfin/bfin.c:4839 config/bfin/bfin.c:4868 config/spu/spu.c:2976
++#: config/bfin/bfin.c:4942 config/bfin/bfin.c:4971 config/spu/spu.c:2965
+ #, gcc-internal-format
+ msgid "`%s' attribute only applies to functions"
+ msgstr "egenskaben '%s' kan kun anvendes sammen med funktioner"
+
+-#: config/bfin/bfin.c:4850
++#: config/bfin/bfin.c:4953
+ #, gcc-internal-format
+ msgid "can't apply both longcall and shortcall attributes to the same function"
+ msgstr ""
+
+-#: config/bfin/bfin.c:4900
++#: config/bfin/bfin.c:5003
+ #, gcc-internal-format
+ msgid "`%s' attribute only applies to variables"
+ msgstr "egenskaben '%s' kan kun anvendes på variabler"
+
+-#: config/bfin/bfin.c:4907
++#: config/bfin/bfin.c:5010
+ #, fuzzy, gcc-internal-format
+ msgid "`%s' attribute cannot be specified for local variables"
+ msgstr "sektionsegenskaben kan ikke angives for lokale variabler"
+
+-#: config/c4x/c4x-c.c:68
+-#, gcc-internal-format
+-msgid "missing '(' after '#pragma %s' - ignored"
+-msgstr "manglende '(' efter '#pragma %s' - ignoreret"
+-
+-#: config/c4x/c4x-c.c:71
+-#, gcc-internal-format
+-msgid "missing function name in '#pragma %s' - ignored"
+-msgstr "manglende funktionsnavn i '#pragma %s' - ignoreret"
+-
+-#: config/c4x/c4x-c.c:76
+-#, gcc-internal-format
+-msgid "malformed '#pragma %s' - ignored"
+-msgstr "forkert udformet '#pragma %s' - ignoreret"
+-
+-#: config/c4x/c4x-c.c:78
+-#, gcc-internal-format
+-msgid "missing section name in '#pragma %s' - ignored"
+-msgstr "manglende sektionsnavn i '#pragma %s' - ignoreret"
+-
+-#: config/c4x/c4x-c.c:83
+-#, gcc-internal-format
+-msgid "missing ')' for '#pragma %s' - ignored"
+-msgstr "manglende '(' for '#pragma %s' - ignoreret"
+-
+-#: config/c4x/c4x-c.c:86
+-#, gcc-internal-format
+-msgid "junk at end of '#pragma %s'"
+-msgstr "ragelse i slutningen af '#pragma %s'"
+-
+-#: config/c4x/c4x.c:859
+-#, gcc-internal-format
+-msgid "ISR %s requires %d words of local vars, max is 32767"
+-msgstr "ISR %s kræver %d ord af lokale variable, maks. er 32767"
+-
+ #. This function is for retrieving a part of an instruction name for
+ #. an operator, for immediate output. If that ever happens for
+ #. MULT, we need to apply TARGET_MUL_BUG in the caller. Make sure
+ #. we notice.
+-#: config/cris/cris.c:434
++#: config/cris/cris.c:447
+ #, gcc-internal-format
+ msgid "MULT case in cris_op_str"
+ msgstr ""
+
+-#: config/cris/cris.c:811
++#: config/cris/cris.c:837
+ #, fuzzy, gcc-internal-format
+ msgid "invalid use of ':' modifier"
+ msgstr "ugyldig operand til 'b'-ændring"
+
+-#: config/cris/cris.c:983
++#: config/cris/cris.c:1024
+ #, gcc-internal-format
+ msgid "internal error: bad register: %d"
+ msgstr "intern fejl: ugyldigt register: %d"
+
+-#: config/cris/cris.c:1524
++#: config/cris/cris.c:1586
+ #, gcc-internal-format
+ msgid "internal error: sideeffect-insn affecting main effect"
+ msgstr "intern fejl: bivirkningsinstruktion påvirker hovedvirkning"
+
+-#: config/cris/cris.c:1548
++#: config/cris/cris.c:1683
+ #, fuzzy, gcc-internal-format
+ msgid "unknown cc_attr value"
+ msgstr "ukendt relokaliserings-unspec"
+
+ #. If we get here, the caller got its initial tests wrong.
+-#: config/cris/cris.c:1901
++#: config/cris/cris.c:2040
+ #, gcc-internal-format
+ msgid "internal error: cris_side_effect_mode_ok with bad operands"
+ msgstr "intern fejl: cris_side_effect_mode_ok med ugyldige operander"
+
+-#: config/cris/cris.c:2104
++#: config/cris/cris.c:2332
+ #, gcc-internal-format
+ msgid "-max-stackframe=%d is not usable, not between 0 and %d"
+ msgstr "-max-stackframe=%d er ikke brugbar mellem 0 og %d"
+
+-#: config/cris/cris.c:2132
++#: config/cris/cris.c:2360
+ #, gcc-internal-format
+ msgid "unknown CRIS version specification in -march= or -mcpu= : %s"
+ msgstr "ukendt CRIS-versionsspecifikation i -march= eller -mcpu=: %s"
+
+-#: config/cris/cris.c:2168
++#: config/cris/cris.c:2396
+ #, gcc-internal-format
+ msgid "unknown CRIS cpu version specification in -mtune= : %s"
+ msgstr "ukendt CRIS-versionsspecifikation i -mtune=: %s"
+
+-#: config/cris/cris.c:2186
++#: config/cris/cris.c:2417
+ #, gcc-internal-format
+ msgid "-fPIC and -fpic are not supported in this configuration"
+ msgstr "-fPIC og -fpic understøttes ikke af denne konfiguration"
+
+-#: config/cris/cris.c:2201
++#: config/cris/cris.c:2432
+ #, gcc-internal-format
+ msgid "that particular -g option is invalid with -maout and -melinux"
+ msgstr "det bestemte '-g'-tilvalg er ugyldigt med -maout og -melinux"
+
+-#: config/cris/cris.c:2414
++#: config/cris/cris.c:2658
+ #, gcc-internal-format
+ msgid "Unknown src"
+ msgstr ""
+
+-#: config/cris/cris.c:2475
++#: config/cris/cris.c:2719
+ #, fuzzy, gcc-internal-format
+ msgid "Unknown dest"
+ msgstr "ukendt instruktionstilstand"
+
+-#: config/cris/cris.c:2760
++#: config/cris/cris.c:3004
+ #, gcc-internal-format
+ msgid "stackframe too big: %d bytes"
+ msgstr "stakramme for stor: %d byte"
+
+-#: config/cris/cris.c:3213 config/cris/cris.c:3240
++#: config/cris/cris.c:3498 config/cris/cris.c:3526
+ #, gcc-internal-format
+ msgid "expand_binop failed in movsi got"
+ msgstr ""
+
+-#: config/cris/cris.c:3321
++#: config/cris/cris.c:3607
+ #, gcc-internal-format
+ msgid "emitting PIC operand, but PIC register isn't set up"
+ msgstr "udsender PIC-operand, men PIC-register er ikke sat op"
+@@ -25714,7 +25676,7 @@
+ #. See cris.c for TARGET_ASM_FUNCTION_PROLOGUE and
+ #. TARGET_ASM_FUNCTION_EPILOGUE.
+ #. Node: Profiling
+-#: config/cris/cris.h:868
++#: config/cris/cris.h:948
+ #, gcc-internal-format
+ msgid "no FUNCTION_PROFILER for CRIS"
+ msgstr "ingen FUNCTION_PROFILER for CRIS"
+@@ -25729,62 +25691,62 @@
+ msgid "Trampoline support for CRX"
+ msgstr "trampoliner understøttes ikke"
+
+-#: config/frv/frv.c:8622
++#: config/frv/frv.c:8626
+ #, gcc-internal-format
+ msgid "accumulator is not a constant integer"
+ msgstr "akkumulator er ikke et konstant heltal"
+
+-#: config/frv/frv.c:8627
++#: config/frv/frv.c:8631
+ #, gcc-internal-format
+ msgid "accumulator number is out of bounds"
+ msgstr "akkumulatortal er uden for det gyldig interval"
+
+-#: config/frv/frv.c:8638
++#: config/frv/frv.c:8642
+ #, fuzzy, gcc-internal-format
+ msgid "inappropriate accumulator for %qs"
+ msgstr "forkert akkumulator for '%s'"
+
+-#: config/frv/frv.c:8715
++#: config/frv/frv.c:8719
+ #, fuzzy, gcc-internal-format
+ msgid "invalid IACC argument"
+ msgstr "ugyldig typeparameter"
+
+-#: config/frv/frv.c:8738
++#: config/frv/frv.c:8742
+ #, fuzzy, gcc-internal-format
+ msgid "%qs expects a constant argument"
+ msgstr "'%s' forventer en konstant parameter"
+
+-#: config/frv/frv.c:8743
++#: config/frv/frv.c:8747
+ #, fuzzy, gcc-internal-format
+ msgid "constant argument out of range for %qs"
+ msgstr "konstant parameter uden for det gyldige interval for '%s'"
+
+-#: config/frv/frv.c:9224
++#: config/frv/frv.c:9228
+ #, gcc-internal-format
+ msgid "media functions are not available unless -mmedia is used"
+ msgstr "mediafunktioner er ikke tilgængelige medmindre -mmedia benyttes"
+
+-#: config/frv/frv.c:9236
++#: config/frv/frv.c:9240
+ #, gcc-internal-format
+ msgid "this media function is only available on the fr500"
+ msgstr "denne mediafunktion er kun tilgængelig på fr500"
+
+-#: config/frv/frv.c:9264
++#: config/frv/frv.c:9268
+ #, fuzzy, gcc-internal-format
+ msgid "this media function is only available on the fr400 and fr550"
+ msgstr "denne mediafunktion er kun tilgængelig på fr400"
+
+-#: config/frv/frv.c:9283
++#: config/frv/frv.c:9287
+ #, fuzzy, gcc-internal-format
+ msgid "this builtin function is only available on the fr405 and fr450"
+ msgstr "denne mediafunktion er kun tilgængelig på fr400"
+
+-#: config/frv/frv.c:9292
++#: config/frv/frv.c:9296
+ #, fuzzy, gcc-internal-format
+ msgid "this builtin function is only available on the fr500 and fr550"
+ msgstr "denne mediafunktion er kun tilgængelig på fr500"
+
+-#: config/frv/frv.c:9304
++#: config/frv/frv.c:9308
+ #, fuzzy, gcc-internal-format
+ msgid "this builtin function is only available on the fr450"
+ msgstr "denne mediafunktion er kun tilgængelig på fr500"
+@@ -25809,311 +25771,316 @@
+ msgid "can't set position in PCH file: %m"
+ msgstr "kan ikke oprette informationsfilen '%s' til opbevaringssted"
+
+-#: config/i386/i386.c:2133 config/i386/i386.c:2333
++#: config/i386/i386.c:2158 config/i386/i386.c:2358
+ #, gcc-internal-format
+ msgid "bad value (%s) for -mtune= switch"
+ msgstr "ugyldig værdi (%s) til tilvalget -mcpu="
+
+-#: config/i386/i386.c:2174
++#: config/i386/i386.c:2199
+ #, fuzzy, gcc-internal-format
+ msgid "bad value (%s) for -mstringop-strategy= switch"
+ msgstr "ugyldig værdi (%s) til tilvalget -mcpu="
+
+-#: config/i386/i386.c:2177
++#: config/i386/i386.c:2202
+ #, gcc-internal-format
+ msgid "-mtune=x86-64 is deprecated. Use -mtune=k8 or -mtune=generic instead as appropriate."
+ msgstr ""
+
+-#: config/i386/i386.c:2186
++#: config/i386/i386.c:2211
+ #, fuzzy, gcc-internal-format
+ msgid "generic CPU can be used only for -mtune= switch"
+ msgstr "ugyldig værdi (%s) til tilvalget -mcpu="
+
+-#: config/i386/i386.c:2188 config/i386/i386.c:2297 config/mt/mt.c:804
++#: config/i386/i386.c:2213 config/i386/i386.c:2322 config/mt/mt.c:804
+ #, gcc-internal-format
+ msgid "bad value (%s) for -march= switch"
+ msgstr "ugyldig værdi (%s) til tilvalget -march="
+
+-#: config/i386/i386.c:2199
++#: config/i386/i386.c:2224
+ #, fuzzy, gcc-internal-format
+ msgid "code model %s does not support PIC mode"
+ msgstr "kodemodellen %s er ikke understøttet i PIC-tilstand"
+
+-#: config/i386/i386.c:2205 config/sparc/sparc.c:725
++#: config/i386/i386.c:2230 config/sparc/sparc.c:728
+ #, gcc-internal-format
+ msgid "bad value (%s) for -mcmodel= switch"
+ msgstr "ugyldig værdi (%s) til tilvalget -mcmodel="
+
+-#: config/i386/i386.c:2228
++#: config/i386/i386.c:2253
+ #, gcc-internal-format
+ msgid "bad value (%s) for -masm= switch"
+ msgstr "ugyldig værdi (%s) til tilvalget -masm="
+
+-#: config/i386/i386.c:2231
++#: config/i386/i386.c:2256
+ #, fuzzy, gcc-internal-format
+ msgid "code model %qs not supported in the %s bit mode"
+ msgstr "kodemodellen %s er ikke understøttet i %s bit-tilstand"
+
+-#: config/i386/i386.c:2234
++#: config/i386/i386.c:2259
+ #, gcc-internal-format
+ msgid "%i-bit mode not compiled in"
+ msgstr "%i bit-tilstand er ikke oversat med ind"
+
+-#: config/i386/i386.c:2245 config/i386/i386.c:2319
++#: config/i386/i386.c:2270 config/i386/i386.c:2344
+ #, 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.c:2351
++#: config/i386/i386.c:2376
+ #, gcc-internal-format
+ msgid "-mregparm is ignored in 64-bit mode"
+ msgstr ""
+
+-#: config/i386/i386.c:2354
++#: config/i386/i386.c:2379
+ #, gcc-internal-format
+ msgid "-mregparm=%d is not between 0 and %d"
+ msgstr "-mregparm=%d er ikke mellem 0 og %d"
+
+-#: config/i386/i386.c:2366
++#: config/i386/i386.c:2391
+ #, gcc-internal-format
+ msgid "-malign-loops is obsolete, use -falign-loops"
+ msgstr "-malign-loops er forældet, benyt -falign-loops"
+
+-#: config/i386/i386.c:2371 config/i386/i386.c:2384 config/i386/i386.c:2397
++#: config/i386/i386.c:2396 config/i386/i386.c:2409 config/i386/i386.c:2422
+ #, gcc-internal-format
+ msgid "-malign-loops=%d is not between 0 and %d"
+ msgstr "-malign-loops=%d er ikke mellem 0 og %d"
+
+-#: config/i386/i386.c:2379
++#: config/i386/i386.c:2404
+ #, gcc-internal-format
+ msgid "-malign-jumps is obsolete, use -falign-jumps"
+ msgstr "-malign-jumps er forældet, benyt -falign-jumps"
+
+-#: config/i386/i386.c:2392
++#: config/i386/i386.c:2417
+ #, gcc-internal-format
+ msgid "-malign-functions is obsolete, use -falign-functions"
+ msgstr "-malign-functions er forældet, benyt -falign-functions"
+
+-#: config/i386/i386.c:2425
++#: config/i386/i386.c:2450
+ #, gcc-internal-format
+ msgid "-mbranch-cost=%d is not between 0 and 5"
+ msgstr "-mbranch-cost=%d er ikke mellem 0 og 5"
+
+-#: config/i386/i386.c:2433
++#: config/i386/i386.c:2458
+ #, gcc-internal-format
+ msgid "-mlarge-data-threshold=%d is negative"
+ msgstr ""
+
+-#: config/i386/i386.c:2447
++#: config/i386/i386.c:2472
+ #, gcc-internal-format
+ msgid "bad value (%s) for -mtls-dialect= switch"
+ msgstr "ugyldig værdi (%s) til tilvalget -mtls-dialect"
+
+-#: config/i386/i386.c:2455
++#: config/i386/i386.c:2480
+ #, gcc-internal-format
+ msgid "pc%d is not valid precision setting (32, 64 or 80)"
+ msgstr ""
+
+-#: config/i386/i386.c:2471
++#: config/i386/i386.c:2496
+ #, fuzzy, gcc-internal-format
+ msgid "-mrtd is ignored in 64bit mode"
+ msgstr "kaldekonventionen -mrtd er ikke understøttet i 64 bit-tilstand"
+
+-#: config/i386/i386.c:2560
++#: config/i386/i386.c:2585
+ #, gcc-internal-format
+ msgid "-mpreferred-stack-boundary=%d is not between %d and 12"
+ msgstr "-mpreferred-stack-boundary=%d er ikke mellem %d og 12"
+
+-#: config/i386/i386.c:2569
++#: config/i386/i386.c:2594
+ #, gcc-internal-format
+ msgid "-msseregparm used without SSE enabled"
+ msgstr ""
+
+-#: config/i386/i386.c:2580 config/i386/i386.c:2591
++#: config/i386/i386.c:2605 config/i386/i386.c:2616
+ #, gcc-internal-format
+ msgid "SSE instruction set disabled, using 387 arithmetics"
+ msgstr "SSE-instruktionssæt deaktiveret, bruger 387-beregninger"
+
+-#: config/i386/i386.c:2596
++#: config/i386/i386.c:2621
+ #, gcc-internal-format
+ msgid "387 instruction set disabled, using SSE arithmetics"
+ msgstr "387-instruktionssæt deaktiveret, bruger SSE-beregninger"
+
+-#: config/i386/i386.c:2603
++#: config/i386/i386.c:2628
+ #, gcc-internal-format
+ msgid "bad value (%s) for -mfpmath= switch"
+ msgstr "ugyldig værdi (%s) til tilvalget -mfpmath="
+
+-#: config/i386/i386.c:2616
++#: config/i386/i386.c:2641
+ #, gcc-internal-format
+ msgid "unknown vectorization library ABI type (%s) for -mveclibabi= switch"
+ msgstr ""
+
+-#: config/i386/i386.c:2635
++#: config/i386/i386.c:2660
+ #, gcc-internal-format
+ msgid "unwind tables currently require either a frame pointer or -maccumulate-outgoing-args for correctness"
+ msgstr ""
+
+-#: config/i386/i386.c:3022 config/i386/i386.c:3075
++#: config/i386/i386.c:3053 config/i386/i386.c:3106
+ #, gcc-internal-format
+ msgid "fastcall and regparm attributes are not compatible"
+ msgstr "fastcall og regparm er indbyrdes uforenelige"
+
+-#: config/i386/i386.c:3029
++#: config/i386/i386.c:3060
+ #, fuzzy, gcc-internal-format
+ msgid "%qs attribute requires an integer constant argument"
+ msgstr "egenskaben '%s' kræver en heltalskonstant som parameter"
+
+-#: config/i386/i386.c:3035
++#: config/i386/i386.c:3066
+ #, fuzzy, gcc-internal-format
+ msgid "argument to %qs attribute larger than %d"
+ msgstr "parameter til egenskaben '%s' er større end %d"
+
+-#: config/i386/i386.c:3045
++#: config/i386/i386.c:3076
+ #, gcc-internal-format
+ msgid "%s functions limited to %d register parameters"
+ msgstr ""
+
+-#: config/i386/i386.c:3067 config/i386/i386.c:3102
++#: config/i386/i386.c:3098 config/i386/i386.c:3133
+ #, fuzzy, gcc-internal-format
+ msgid "fastcall and cdecl attributes are not compatible"
+ msgstr "fastcall og stdcall er indbyrdes uforenelige"
+
+-#: config/i386/i386.c:3071
++#: config/i386/i386.c:3102
+ #, gcc-internal-format
+ msgid "fastcall and stdcall attributes are not compatible"
+ msgstr "fastcall og stdcall er indbyrdes uforenelige"
+
+-#: config/i386/i386.c:3085 config/i386/i386.c:3098
++#: config/i386/i386.c:3116 config/i386/i386.c:3129
+ #, fuzzy, gcc-internal-format
+ msgid "stdcall and cdecl attributes are not compatible"
+ msgstr "fastcall og stdcall er indbyrdes uforenelige"
+
+-#: config/i386/i386.c:3089
++#: config/i386/i386.c:3120
+ #, fuzzy, gcc-internal-format
+ msgid "stdcall and fastcall attributes are not compatible"
+ msgstr "fastcall og stdcall er indbyrdes uforenelige"
+
+-#: config/i386/i386.c:3236
++#: config/i386/i386.c:3271
+ #, gcc-internal-format
+ msgid "Calling %qD with attribute sseregparm without SSE/SSE2 enabled"
+ msgstr ""
+
+-#: config/i386/i386.c:3239
++#: config/i386/i386.c:3274
+ #, gcc-internal-format
+ msgid "Calling %qT with attribute sseregparm without SSE/SSE2 enabled"
+ msgstr ""
+
+-#: config/i386/i386.c:3925
++#: config/i386/i386.c:3971
+ #, gcc-internal-format
+ msgid "SSE register return with SSE disabled"
+ msgstr ""
+
+-#: config/i386/i386.c:3931
++#: config/i386/i386.c:3977
+ #, gcc-internal-format
+ msgid "SSE register argument with SSE disabled"
+ msgstr ""
+
+-#: config/i386/i386.c:3947
++#: config/i386/i386.c:3993
+ #, gcc-internal-format
+ msgid "x87 register return with x87 disabled"
+ msgstr ""
+
+-#: config/i386/i386.c:4265
++#: config/i386/i386.c:4314
+ #, gcc-internal-format
+ msgid "SSE vector argument without SSE enabled changes the ABI"
+ msgstr ""
+
+-#: config/i386/i386.c:4283
++#: config/i386/i386.c:4332
+ #, gcc-internal-format
+ msgid "MMX vector argument without MMX enabled changes the ABI"
+ msgstr ""
+
+-#: config/i386/i386.c:4810
++#: config/i386/i386.c:4859
+ #, gcc-internal-format
+ msgid "SSE vector return without SSE enabled changes the ABI"
+ msgstr ""
+
+-#: config/i386/i386.c:4820
++#: config/i386/i386.c:4869
+ #, gcc-internal-format
+ msgid "MMX vector return without MMX enabled changes the ABI"
+ msgstr ""
+
+-#: config/i386/i386.c:6171
++#: config/i386/i386.c:6220
+ #, fuzzy, gcc-internal-format
+ msgid "-mstackrealign ignored for nested functions"
+ msgstr "ISO C forbyder indlejrede funktioner"
+
+-#: config/i386/i386.c:6173
++#: config/i386/i386.c:6222
+ #, fuzzy, gcc-internal-format
+ msgid "%s not supported for nested functions"
+ msgstr "Understøt ikke indbyggede MMX-funktioner"
+
+-#: config/i386/i386.c:8576
++#: config/i386/i386.c:8631
+ #, gcc-internal-format
+ msgid "extended registers have no high halves"
+ msgstr "udvidede registre har ikke høje halvdele"
+
+-#: config/i386/i386.c:8591
++#: config/i386/i386.c:8646
+ #, gcc-internal-format
+ msgid "unsupported operand size for extended register"
+ msgstr "ikke-understøttet operandstørrelse for udvidede registre"
+
+-#: config/i386/i386.c:19610
++#: config/i386/i386.c:19694
+ #, fuzzy, gcc-internal-format
+ msgid "the third argument must be a 4-bit immediate"
+ msgstr "3. parameter skal være en 4 bit-konstant uden fortegn"
+
+-#: config/i386/i386.c:19614
++#: config/i386/i386.c:19698
+ #, fuzzy, gcc-internal-format
+ msgid "the third argument must be an 8-bit immediate"
+ msgstr "1. parameter skal være en 5 bit-konstant med fortegn"
+
+-#: config/i386/i386.c:19836
++#: config/i386/i386.c:19920
+ #, fuzzy, gcc-internal-format
+ msgid "last argument must be an immediate"
+ msgstr "maske skal være en umiddelbar værdi"
+
+-#: config/i386/i386.c:19963
++#: config/i386/i386.c:20047
+ #, fuzzy, gcc-internal-format
+ msgid "the second argument must be a 4-bit immediate"
+ msgstr "3. parameter skal være en 4 bit-konstant uden fortegn"
+
+-#: config/i386/i386.c:20209
++#: config/i386/i386.c:20293
+ #, fuzzy, gcc-internal-format
+ msgid "the fifth argument must be a 8-bit immediate"
+ msgstr "1. parameter skal være en 5 bit-konstant med fortegn"
+
+-#: config/i386/i386.c:20304
++#: config/i386/i386.c:20388
+ #, fuzzy, gcc-internal-format
+ msgid "the third argument must be a 8-bit immediate"
+ msgstr "1. parameter skal være en 5 bit-konstant med fortegn"
+
+-#: config/i386/i386.c:20374 config/rs6000/rs6000.c:8133
++#: config/i386/i386.c:20458 config/rs6000/rs6000.c:8240
+ #, gcc-internal-format
+ msgid "selector must be an integer constant in the range 0..%wi"
+ msgstr ""
+
+-#: config/i386/i386.c:20774 config/i386/i386.c:20970
++#: config/i386/i386.c:20858 config/i386/i386.c:21054
+ #, gcc-internal-format
+ msgid "shift must be an immediate"
+ msgstr "skifteværdi skal være en umiddelbar værdi"
+
+-#: config/i386/i386.c:21033 config/i386/i386.c:21075
++#: config/i386/i386.c:21117 config/i386/i386.c:21159
+ #, fuzzy, gcc-internal-format
+ msgid "index mask must be an immediate"
+ msgstr "maske skal være en umiddelbar værdi"
+
+-#: config/i386/i386.c:21038 config/i386/i386.c:21080
++#: config/i386/i386.c:21122 config/i386/i386.c:21164
+ #, fuzzy, gcc-internal-format
+ msgid "length mask must be an immediate"
+ msgstr "maske skal være en umiddelbar værdi"
+
+-#: config/i386/i386.c:22525 config/rs6000/rs6000.c:19666
++#: config/i386/i386.c:22609 config/rs6000/rs6000.c:19883
+ #, fuzzy, gcc-internal-format
+ msgid "%qs incompatible attribute ignored"
+ msgstr "uforenelig egenskab '%s' ignoreret"
+
++#: config/i386/netware.c:253
++#, fuzzy, gcc-internal-format
++msgid "-fPIC and -fpic are not supported for this target"
++msgstr "-fPIC og -fpic understøttes ikke af denne konfiguration"
++
+ #: config/i386/winnt-cxx.c:71 config/sh/symbian.c:172
+ #, gcc-internal-format
+ msgid "definition of static data member %q+D of dllimport'd class"
+@@ -26179,57 +26146,57 @@
+ msgid "%Jaddress area attribute cannot be specified for functions"
+ msgstr "en dataområdeegenskab kan ikke angives for lokale variable"
+
+-#: config/ia64/ia64.c:5126 config/pa/pa.c:347 config/spu/spu.c:3875
++#: config/ia64/ia64.c:5127 config/pa/pa.c:350 config/spu/spu.c:3864
+ #, gcc-internal-format
+ msgid "value of -mfixed-range must have form REG1-REG2"
+ msgstr "værdien af -mfixed-range skal være på formen REG1-REG2"
+
+-#: config/ia64/ia64.c:5153 config/pa/pa.c:374 config/spu/spu.c:3901
++#: config/ia64/ia64.c:5154 config/pa/pa.c:377 config/spu/spu.c:3890
+ #, gcc-internal-format
+ msgid "%s-%s is an empty range"
+ msgstr "%s-%s er et tomt interval"
+
+-#: config/ia64/ia64.c:5181
++#: config/ia64/ia64.c:5182
+ #, fuzzy, gcc-internal-format
+ msgid "bad value %<%s%> for -mtls-size= switch"
+ msgstr "ugyldig værdi (%s) for tilvalget -mtls-size="
+
+-#: config/ia64/ia64.c:5209
++#: config/ia64/ia64.c:5210
+ #, fuzzy, gcc-internal-format
+ msgid "bad value %<%s%> for -mtune= switch"
+ msgstr "ugyldig værdi (%s) til tilvalget -mcpu="
+
+-#: config/ia64/ia64.c:5228
++#: config/ia64/ia64.c:5229
+ #, gcc-internal-format
+ msgid "not yet implemented: latency-optimized inline square root"
+ msgstr ""
+
+-#: config/ia64/ia64.c:9950
++#: config/ia64/ia64.c:9951
+ #, fuzzy, gcc-internal-format
+ msgid "version attribute is not a string"
+ msgstr "det andet symbol efter #line er ikke en streng"
+
+-#: config/iq2000/iq2000.c:1812
++#: config/iq2000/iq2000.c:1816
+ #, fuzzy, gcc-internal-format
+ msgid "gp_offset (%ld) or end_offset (%ld) is less than zero"
+ msgstr "gp_offset (%ld) eller end_offset (%ld) er mindre end nul"
+
+-#: config/iq2000/iq2000.c:2583
++#: config/iq2000/iq2000.c:2587
+ #, fuzzy, gcc-internal-format
+ msgid "argument %qd is not a constant"
+ msgstr "parameteren til 'asm' er ikke en konstant streng"
+
+-#: config/iq2000/iq2000.c:2885 config/mt/mt.c:349 config/xtensa/xtensa.c:2118
++#: config/iq2000/iq2000.c:2889 config/mt/mt.c:349 config/xtensa/xtensa.c:2124
+ #, gcc-internal-format
+ msgid "PRINT_OPERAND_ADDRESS, null pointer"
+ msgstr "PRINT_OPERAND_ADDRESS, nul-henvisning"
+
+-#: config/iq2000/iq2000.c:3040
++#: config/iq2000/iq2000.c:3044
+ #, fuzzy, gcc-internal-format
+ msgid "PRINT_OPERAND: Unknown punctuation '%c'"
+ msgstr "PRINT_OPERAND: ukendt tegnsætning '%c'"
+
+-#: config/iq2000/iq2000.c:3049 config/xtensa/xtensa.c:1972
++#: config/iq2000/iq2000.c:3053 config/xtensa/xtensa.c:1978
+ #, gcc-internal-format
+ msgid "PRINT_OPERAND null pointer"
+ msgstr "PRINT_OPERAND nul-henvisning"
+@@ -26254,22 +26221,22 @@
+ msgid "invalid target memregs value '%d'"
+ msgstr "ugyldig '--param'-værdi '%s'"
+
+-#: config/m32c/m32c.c:2759
++#: config/m32c/m32c.c:2766
+ #, fuzzy, gcc-internal-format
+ msgid "`%s' attribute is not supported for R8C target"
+ msgstr "egenskaben '%s' er ikke understøttet på denne platform"
+
+-#: config/m32c/m32c.c:2767
++#: config/m32c/m32c.c:2774
+ #, fuzzy, gcc-internal-format
+ msgid "`%s' attribute applies only to functions"
+ msgstr "'%s'-egenskaben kan kun anvendes sammen med funktioner"
+
+-#: config/m32c/m32c.c:2775
++#: config/m32c/m32c.c:2782
+ #, gcc-internal-format
+ msgid "`%s' attribute argument not an integer constant"
+ msgstr "parameteren til egenskaben '%s' er ikke en heltalskonstant"
+
+-#: config/m32c/m32c.c:2784
++#: config/m32c/m32c.c:2791
+ #, fuzzy, gcc-internal-format
+ msgid "`%s' attribute argument should be between 18 to 255"
+ msgstr "parameteren til egenskaben '%s' er ikke en heltalskonstant"
+@@ -26319,7 +26286,7 @@
+ msgid "interrupt_thread is available only on fido"
+ msgstr ""
+
+-#: config/m68k/m68k.c:1072 config/rs6000/rs6000.c:15014
++#: config/m68k/m68k.c:1072 config/rs6000/rs6000.c:15226
+ #, gcc-internal-format
+ msgid "stack limit expression is not supported"
+ msgstr "stakgrænseudtryk understøttes ikke"
+@@ -26334,114 +26301,114 @@
+ msgid "%qs redeclared with conflicting %qs attributes"
+ msgstr ""
+
+-#: config/mips/mips.c:2348
++#: config/mips/mips.c:2382
+ #, gcc-internal-format
+ msgid "MIPS16 TLS"
+ msgstr ""
+
+-#: config/mips/mips.c:5439
++#: config/mips/mips.c:5500
+ #, fuzzy, gcc-internal-format
+ msgid "cannot handle inconsistent calls to %qs"
+ msgstr "kan ikke håndtere inkonsistente kald af '%s'"
+
+-#: config/mips/mips.c:10258
++#: config/mips/mips.c:10337
+ #, fuzzy, gcc-internal-format
+ msgid "invalid argument to built-in function"
+ msgstr "for mange parametre til funktionen"
+
+-#: config/mips/mips.c:10530
++#: config/mips/mips.c:10609
+ #, fuzzy, gcc-internal-format
+ msgid "built-in function %qs not supported for MIPS16"
+ msgstr "den indbyggede funktion '%s' understøttes i øjeblikket ikke"
+
+-#: config/mips/mips.c:11679 config/mips/mips.c:12065
++#: config/mips/mips.c:11751 config/mips/mips.c:12137
+ #, gcc-internal-format
+ msgid "MIPS16 PIC"
+ msgstr ""
+
+-#: config/mips/mips.c:11682
++#: config/mips/mips.c:11754
+ #, gcc-internal-format
+ msgid "hard-float MIPS16 code for ABIs other than o32 and o64"
+ msgstr ""
+
+-#: config/mips/mips.c:11810
++#: config/mips/mips.c:11882
+ #, fuzzy, gcc-internal-format
+ msgid "CPU names must be lower case"
+ msgstr "processornavnet skal staves med små bogstaver"
+
+-#: config/mips/mips.c:11938
++#: config/mips/mips.c:12010
+ #, fuzzy, gcc-internal-format
+ msgid "%<-%s%> conflicts with the other architecture options, which specify a %s processor"
+ msgstr "-mips%d er i konflikt med de andre arkitekturtilvalg som angiver en MIPS%d-processor"
+
+-#: config/mips/mips.c:11954
++#: config/mips/mips.c:12026
+ #, fuzzy, gcc-internal-format
+ msgid "%<-march=%s%> is not compatible with the selected ABI"
+ msgstr "-march=%s er ikke forenelig med den valgte ABI"
+
+-#: config/mips/mips.c:11969
++#: config/mips/mips.c:12041
+ #, fuzzy, gcc-internal-format
+ msgid "%<-mgp64%> used with a 32-bit processor"
+ msgstr "-mgp64 benyttet med en 32 bit-processor"
+
+-#: config/mips/mips.c:11971
++#: config/mips/mips.c:12043
+ #, fuzzy, gcc-internal-format
+ msgid "%<-mgp32%> used with a 64-bit ABI"
+ msgstr "-mgp32 benyttet med et 64 bit-ABI"
+
+-#: config/mips/mips.c:11973
++#: config/mips/mips.c:12045
+ #, fuzzy, gcc-internal-format
+ msgid "%<-mgp64%> used with a 32-bit ABI"
+ msgstr "-mgp64 benyttet med et 32 bit-ABI"
+
+-#: config/mips/mips.c:11989 config/mips/mips.c:11991 config/mips/mips.c:12058
++#: config/mips/mips.c:12061 config/mips/mips.c:12063 config/mips/mips.c:12130
+ #, gcc-internal-format
+ msgid "unsupported combination: %s"
+ msgstr "ikke-understøttet kombination: %s"
+
+-#: config/mips/mips.c:11995
++#: config/mips/mips.c:12067
+ #, gcc-internal-format
+ msgid "%<-mgp32%> and %<-mfp64%> can only be combined if the target supports the mfhc1 and mthc1 instructions"
+ msgstr ""
+
+-#: config/mips/mips.c:11998
++#: config/mips/mips.c:12070
+ #, gcc-internal-format
+ msgid "%<-mgp32%> and %<-mfp64%> can only be combined when using the o32 ABI"
+ msgstr ""
+
+-#: config/mips/mips.c:12052
++#: config/mips/mips.c:12124
+ #, fuzzy, gcc-internal-format
+ msgid "the %qs architecture does not support branch-likely instructions"
+ msgstr "målprocessoren understøtter ikke THUMB-instruktioner"
+
+-#: config/mips/mips.c:12098
++#: config/mips/mips.c:12170
+ #, gcc-internal-format
+ msgid "%<-mno-gpopt%> needs %<-mexplicit-relocs%>"
+ msgstr ""
+
+-#: config/mips/mips.c:12106 config/mips/mips.c:12109
++#: config/mips/mips.c:12178 config/mips/mips.c:12181
+ #, gcc-internal-format
+ msgid "cannot use small-data accesses for %qs"
+ msgstr ""
+
+-#: config/mips/mips.c:12123
++#: config/mips/mips.c:12195
+ #, gcc-internal-format
+ msgid "%<-mips3d%> requires %<-mpaired-single%>"
+ msgstr ""
+
+-#: config/mips/mips.c:12132
++#: config/mips/mips.c:12204
+ #, fuzzy, gcc-internal-format
+ msgid "%qs must be used with %qs"
+ msgstr "-frepo skal bruges med -c"
+
+-#: config/mips/mips.c:12139
++#: config/mips/mips.c:12211
+ #, fuzzy, gcc-internal-format
+ msgid "the %qs architecture does not support paired-single instructions"
+ msgstr "målprocessoren understøtter ikke THUMB-instruktioner"
+
+ #. Output assembler code to FILE to increment profiler label # LABELNO
+ #. for profiling a function entry.
+-#: config/mips/mips.h:2110
++#: config/mips/mips.h:2111
+ #, gcc-internal-format
+ msgid "mips16 function profiling"
+ msgstr "MIPS16-funktionsprofilering"
+@@ -26471,28 +26438,28 @@
+ msgid "MMIX Internal: Last named vararg would not fit in a register"
+ msgstr "MMIX-intern: Sidst navngivne variabel parameter kan ikke passes i et register"
+
+-#: config/mmix/mmix.c:1495 config/mmix/mmix.c:1519 config/mmix/mmix.c:1635
++#: config/mmix/mmix.c:1491 config/mmix/mmix.c:1515 config/mmix/mmix.c:1631
+ #, gcc-internal-format
+ msgid "MMIX Internal: Bad register: %d"
+ msgstr "MMIX-intern: Ugyldigt register: %d"
+
+ #. Presumably there's a missing case above if we get here.
+-#: config/mmix/mmix.c:1627
++#: config/mmix/mmix.c:1623
+ #, fuzzy, gcc-internal-format
+ msgid "MMIX Internal: Missing %qc case in mmix_print_operand"
+ msgstr "MMIX-intern: Mangler '%c'-case i mmix_print_operand"
+
+-#: config/mmix/mmix.c:1913
++#: config/mmix/mmix.c:1909
+ #, fuzzy, gcc-internal-format
+ msgid "stack frame not a multiple of 8 bytes: %wd"
+ msgstr "stakramme ikke et produkt af 8 byte: %d"
+
+-#: config/mmix/mmix.c:2149
++#: config/mmix/mmix.c:2145
+ #, fuzzy, gcc-internal-format
+ msgid "stack frame not a multiple of octabyte: %wd"
+ msgstr "stakramme ikke et produkt af 8 byte: %d"
+
+-#: config/mmix/mmix.c:2489 config/mmix/mmix.c:2553
++#: config/mmix/mmix.c:2485 config/mmix/mmix.c:2549
+ #, gcc-internal-format
+ msgid "MMIX Internal: %s is not a shiftable int"
+ msgstr "MMIX-intern: %s er ikke en int der kan skiftes"
+@@ -26502,27 +26469,27 @@
+ msgid "info pointer NULL"
+ msgstr ""
+
+-#: config/pa/pa.c:479
++#: config/pa/pa.c:482
+ #, fuzzy, gcc-internal-format
+ msgid "PIC code generation is not supported in the portable runtime model"
+ msgstr "PIC-kodegenerering er ikke understøttet i den portable kørselsmodel\n"
+
+-#: config/pa/pa.c:484
++#: config/pa/pa.c:487
+ #, fuzzy, gcc-internal-format
+ msgid "PIC code generation is not compatible with fast indirect calls"
+ msgstr "PIC-kodegenerering er ikke kompatibel med hurtige indirekte kald\n"
+
+-#: config/pa/pa.c:489
++#: config/pa/pa.c:492
+ #, gcc-internal-format
+ msgid "-g is only supported when using GAS on this processor,"
+ msgstr "-g er kun understøttet ved brug af GAS på denne processor,"
+
+-#: config/pa/pa.c:490
++#: config/pa/pa.c:493
+ #, gcc-internal-format
+ msgid "-g option disabled"
+ msgstr "tilvalget -g deaktiveret"
+
+-#: config/pa/pa.c:8285
++#: config/pa/pa.c:8373
+ #, gcc-internal-format
+ msgid "alignment (%u) for %s exceeds maximum alignment for global common data. Using %u"
+ msgstr ""
+@@ -26591,250 +26558,251 @@
+ msgid "junk at end of #pragma longcall"
+ msgstr "ragelse i slutningen af #pragma longcall"
+
+-#: config/rs6000/rs6000-c.c:2550
++#: config/rs6000/rs6000-c.c:2553
+ #, fuzzy, gcc-internal-format
+ msgid "passing arg %d of %qE discards qualifiers frompointer target type"
+ msgstr "typeomtvingning fra '%T' til '%T' kasserer modifikationer på henvisningsmålets type"
+
+-#: config/rs6000/rs6000-c.c:2593
++#: config/rs6000/rs6000-c.c:2596
+ #, fuzzy, gcc-internal-format
+ msgid "invalid parameter combination for AltiVec intrinsic"
+ msgstr "ugyldigt register i instruktionen"
+
+-#: config/rs6000/rs6000.c:1294
++#: config/rs6000/rs6000.c:1312
+ #, gcc-internal-format
+ msgid "-mdynamic-no-pic overrides -fpic or -fPIC"
+ msgstr ""
+
+-#: config/rs6000/rs6000.c:1305
++#: config/rs6000/rs6000.c:1323
+ #, fuzzy, gcc-internal-format
+ msgid "-m64 requires PowerPC64 architecture, enabling"
+ msgstr "-maix64 kræver at PowerPC64-arkitekturen forbliver aktiveret"
+
+-#: config/rs6000/rs6000.c:1528
++#: config/rs6000/rs6000.c:1546
+ #, gcc-internal-format
+ msgid "-mmultiple is not supported on little endian systems"
+ msgstr "-mmultiple er ikke understøttet på lilleendede systemer"
+
+-#: config/rs6000/rs6000.c:1535
++#: config/rs6000/rs6000.c:1553
+ #, gcc-internal-format
+ msgid "-mstring is not supported on little endian systems"
+ msgstr "-mstring er ikke understøttet på lilleendede systemer"
+
+-#: config/rs6000/rs6000.c:1549
++#: config/rs6000/rs6000.c:1567
+ #, gcc-internal-format
+ msgid "unknown -mdebug-%s switch"
+ msgstr "ukendt tilvalg -mdebug-%s"
+
+-#: config/rs6000/rs6000.c:1561
++#: config/rs6000/rs6000.c:1579
+ #, fuzzy, gcc-internal-format
+ msgid "unknown -mtraceback arg %qs; expecting %<full%>, %<partial%> or %<none%>"
+ msgstr "ukendt parameter '%s' til -mtraceback; forventer 'full', 'partial' eller 'none'"
+
+-#: config/rs6000/rs6000.c:1973
++#: config/rs6000/rs6000.c:2003
+ #, fuzzy, gcc-internal-format
+ msgid "unknown -m%s= option specified: '%s'"
+ msgstr "ukendt tilvalg til -misel= angivet: '%s'"
+
+-#: config/rs6000/rs6000.c:2186
++#: config/rs6000/rs6000.c:2218
+ #, gcc-internal-format
+ msgid "not configured for ABI: '%s'"
+ msgstr ""
+
+-#: config/rs6000/rs6000.c:2199
++#: config/rs6000/rs6000.c:2231
+ #, gcc-internal-format
+ msgid "Using darwin64 ABI"
+ msgstr ""
+
+-#: config/rs6000/rs6000.c:2204
++#: config/rs6000/rs6000.c:2236
+ #, gcc-internal-format
+ msgid "Using old darwin ABI"
+ msgstr ""
+
+-#: config/rs6000/rs6000.c:2211
++#: config/rs6000/rs6000.c:2243
+ #, gcc-internal-format
+ msgid "Using IBM extended precision long double"
+ msgstr ""
+
+-#: config/rs6000/rs6000.c:2217
++#: config/rs6000/rs6000.c:2249
+ #, gcc-internal-format
+ msgid "Using IEEE extended precision long double"
+ msgstr ""
+
+-#: config/rs6000/rs6000.c:2222
++#: config/rs6000/rs6000.c:2254
+ #, gcc-internal-format
+ msgid "unknown ABI specified: '%s'"
+ msgstr "ukendt ABI angivet: '%s'"
+
+-#: config/rs6000/rs6000.c:2249
++#: config/rs6000/rs6000.c:2281
+ #, fuzzy, gcc-internal-format
+ msgid "invalid option for -mfloat-gprs: '%s'"
+ msgstr "ugyldigt tilvalg '-mshort-data-%s'"
+
+-#: config/rs6000/rs6000.c:2259
++#: config/rs6000/rs6000.c:2291
+ #, gcc-internal-format
+ msgid "Unknown switch -mlong-double-%s"
+ msgstr "Ukendt tilvalg -mlong-double-%s"
+
+-#: config/rs6000/rs6000.c:2280
++#: config/rs6000/rs6000.c:2312
+ #, gcc-internal-format
+ msgid "-malign-power is not supported for 64-bit Darwin; it is incompatible with the installed C and C++ libraries"
+ msgstr ""
+
+-#: config/rs6000/rs6000.c:2288
++#: config/rs6000/rs6000.c:2320
+ #, fuzzy, gcc-internal-format
+ msgid "unknown -malign-XXXXX option specified: '%s'"
+ msgstr "ukendt tilvalg til -misel= angivet: '%s'"
+
+-#: config/rs6000/rs6000.c:4989
++#: config/rs6000/rs6000.c:5087
+ #, gcc-internal-format
+ msgid "GCC vector returned by reference: non-standard ABI extension with no compatibility guarantee"
+ msgstr ""
+
+-#: config/rs6000/rs6000.c:5062
++#: config/rs6000/rs6000.c:5160
+ #, gcc-internal-format
+ msgid "cannot return value in vector register because altivec instructions are disabled, use -maltivec to enable them"
+ msgstr ""
+
+-#: config/rs6000/rs6000.c:5320
++#: config/rs6000/rs6000.c:5418
+ #, gcc-internal-format
+ msgid "cannot pass argument in vector register because altivec instructions are disabled, use -maltivec to enable them"
+ msgstr ""
+
+-#: config/rs6000/rs6000.c:6221
++#: config/rs6000/rs6000.c:6322
+ #, gcc-internal-format
+ msgid "GCC vector passed by reference: non-standard ABI extension with no compatibility guarantee"
+ msgstr ""
+
+-#: config/rs6000/rs6000.c:7461
++#: config/rs6000/rs6000.c:7568
+ #, gcc-internal-format
+ msgid "argument 1 must be a 5-bit signed literal"
+ msgstr "1. parameter skal være en 5 bit-konstant med fortegn"
+
+-#: config/rs6000/rs6000.c:7564 config/rs6000/rs6000.c:8475
++#: config/rs6000/rs6000.c:7671 config/rs6000/rs6000.c:8582
+ #, gcc-internal-format
+ msgid "argument 2 must be a 5-bit unsigned literal"
+ msgstr "2. parameter skal være en 5 bit-konstant uden fortegn"
+
+-#: config/rs6000/rs6000.c:7604
++#: config/rs6000/rs6000.c:7711
+ #, gcc-internal-format
+ msgid "argument 1 of __builtin_altivec_predicate must be a constant"
+ msgstr "1. parameter til __builtin_altivec_predicate skal være en konstant"
+
+-#: config/rs6000/rs6000.c:7657
++#: config/rs6000/rs6000.c:7764
+ #, gcc-internal-format
+ msgid "argument 1 of __builtin_altivec_predicate is out of range"
+ msgstr "1. parameter til __builtin_altivec_predicate er uden for det gyldige interval"
+
+-#: config/rs6000/rs6000.c:7906
++#: config/rs6000/rs6000.c:8013
+ #, gcc-internal-format
+ msgid "argument 3 must be a 4-bit unsigned literal"
+ msgstr "3. parameter skal være en 4 bit-konstant uden fortegn"
+
+-#: config/rs6000/rs6000.c:8078
++#: config/rs6000/rs6000.c:8185
+ #, fuzzy, gcc-internal-format
+ msgid "argument to %qs must be a 2-bit unsigned literal"
+ msgstr "parameter til '%s' skal være en 2 bit-konstant uden fortegn"
+
+-#: config/rs6000/rs6000.c:8220
++#: config/rs6000/rs6000.c:8327
+ #, gcc-internal-format
+ msgid "unresolved overload for Altivec builtin %qF"
+ msgstr ""
+
+-#: config/rs6000/rs6000.c:8302
++#: config/rs6000/rs6000.c:8409
+ #, gcc-internal-format
+ msgid "argument to dss must be a 2-bit unsigned literal"
+ msgstr "parameter til dss skal være en 2 bit-konstant uden fortegn"
+
+-#: config/rs6000/rs6000.c:8595
++#: config/rs6000/rs6000.c:8702
+ #, fuzzy, gcc-internal-format
+ msgid "argument 1 of __builtin_paired_predicate must be a constant"
+ msgstr "1. parameter til __builtin_spe_predicate skal være en konstant"
+
+-#: config/rs6000/rs6000.c:8642
++#: config/rs6000/rs6000.c:8749
+ #, fuzzy, gcc-internal-format
+ msgid "argument 1 of __builtin_paired_predicate is out of range"
+ msgstr "1. parameter til __builtin_spe_predicate er uden for det gyldige interval"
+
+-#: config/rs6000/rs6000.c:8667
++#: config/rs6000/rs6000.c:8774
+ #, gcc-internal-format
+ msgid "argument 1 of __builtin_spe_predicate must be a constant"
+ msgstr "1. parameter til __builtin_spe_predicate skal være en konstant"
+
+-#: config/rs6000/rs6000.c:8739
++#: config/rs6000/rs6000.c:8846
+ #, gcc-internal-format
+ msgid "argument 1 of __builtin_spe_predicate is out of range"
+ msgstr "1. parameter til __builtin_spe_predicate er uden for det gyldige interval"
+
+-#: config/rs6000/rs6000.c:14977
++#: config/rs6000/rs6000.c:15189
+ #, fuzzy, gcc-internal-format
+ msgid "stack frame too large"
+ msgstr "stakramme for stor"
+
+-#: config/rs6000/rs6000.c:17598
++#: config/rs6000/rs6000.c:17811
+ #, 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.c:19470
++#: config/rs6000/rs6000.c:19687
+ #, gcc-internal-format
+ msgid "use of %<long%> in AltiVec types is invalid for 64-bit code"
+ msgstr ""
+
+-#: config/rs6000/rs6000.c:19472
++#: config/rs6000/rs6000.c:19689
+ #, gcc-internal-format
+ msgid "use of %<long%> in AltiVec types is deprecated; use %<int%>"
+ msgstr ""
+
+-#: config/rs6000/rs6000.c:19476
++#: config/rs6000/rs6000.c:19693
+ #, gcc-internal-format
+ msgid "use of %<long long%> in AltiVec types is invalid"
+ msgstr ""
+
+-#: config/rs6000/rs6000.c:19478
++#: config/rs6000/rs6000.c:19695
+ #, gcc-internal-format
+ msgid "use of %<double%> in AltiVec types is invalid"
+ msgstr ""
+
+-#: config/rs6000/rs6000.c:19480
++#: config/rs6000/rs6000.c:19697
+ #, gcc-internal-format
+ msgid "use of %<long double%> in AltiVec types is invalid"
+ msgstr ""
+
+-#: config/rs6000/rs6000.c:19482
++#: config/rs6000/rs6000.c:19699
+ #, gcc-internal-format
+ msgid "use of boolean types in AltiVec types is invalid"
+ msgstr ""
+
+-#: config/rs6000/rs6000.c:19484
++#: config/rs6000/rs6000.c:19701
+ #, gcc-internal-format
+ msgid "use of %<complex%> in AltiVec types is invalid"
+ msgstr ""
+
+-#: config/rs6000/rs6000.c:19486
++#: config/rs6000/rs6000.c:19703
+ #, gcc-internal-format
+ msgid "use of decimal floating point types in AltiVec types is invalid"
+ msgstr ""
+
+ #: config/rs6000/aix43.h:38 config/rs6000/aix51.h:37 config/rs6000/aix52.h:38
+-#: config/rs6000/aix53.h:38
++#: config/rs6000/aix53.h:38 config/rs6000/aix61.h:38
+ #, gcc-internal-format
+ msgid "-maix64 and POWER architecture are incompatible"
+ msgstr "-maix64 og POWER-arkitekturen er indbyrdes uforenelige"
+
+ #: config/rs6000/aix43.h:43 config/rs6000/aix51.h:42 config/rs6000/aix52.h:43
+-#: config/rs6000/aix53.h:43
++#: config/rs6000/aix53.h:43 config/rs6000/aix61.h:43
+ #, gcc-internal-format
+ msgid "-maix64 requires PowerPC64 architecture remain enabled"
+ msgstr "-maix64 kræver at PowerPC64-arkitekturen forbliver aktiveret"
+
+ #: config/rs6000/aix43.h:49 config/rs6000/aix52.h:49 config/rs6000/aix53.h:49
++#: config/rs6000/aix61.h:49
+ #, fuzzy, gcc-internal-format
+ msgid "soft-float and long-double-128 are incompatible"
+ msgstr "-mrelocatable og -mcall-%s er indbyrdes uforenelige"
+
+ #: config/rs6000/aix43.h:53 config/rs6000/aix51.h:46 config/rs6000/aix52.h:53
+-#: config/rs6000/aix53.h:53
++#: config/rs6000/aix53.h:53 config/rs6000/aix61.h:53
+ #, gcc-internal-format
+ msgid "-maix64 required: 64-bit computation with 32-bit addressing not yet supported"
+ msgstr "-maix64 påkrævet: 64 bit-beregninger med 32 bit-adressering understøttes endnu ikke"
+@@ -26876,7 +26844,7 @@
+ #. Number of bytes into the frame return addresses can be found. See
+ #. rs6000_stack_info in rs6000.c for more information on how the different
+ #. abi's store the return address.
+-#: config/rs6000/rs6000.h:1560
++#: config/rs6000/rs6000.h:1569
+ #, gcc-internal-format
+ msgid "RETURN_ADDRESS_OFFSET not supported"
+ msgstr "RETURN_ADDRESS_OFFSET er ikke understøttet"
+@@ -26999,22 +26967,22 @@
+ msgid "-mstack-guard implies use of -mstack-size"
+ msgstr ""
+
+-#: config/s390/s390.c:6640
++#: config/s390/s390.c:6679
+ #, fuzzy, gcc-internal-format
+ msgid "total size of local variables exceeds architecture limit"
+ msgstr "Total størrelse af lokale variable overstiger arkitekturgrænsen."
+
+-#: config/s390/s390.c:7298
++#: config/s390/s390.c:7349
+ #, gcc-internal-format
+ msgid "frame size of function %qs is "
+ msgstr ""
+
+-#: config/s390/s390.c:7328
++#: config/s390/s390.c:7379
+ #, fuzzy, gcc-internal-format
+ msgid "frame size of %qs is "
+ msgstr "lagringsstørrelsen af '%s' er ikke kendt"
+
+-#: config/s390/s390.c:7332
++#: config/s390/s390.c:7383
+ #, gcc-internal-format
+ msgid "%qs uses dynamic stack allocation"
+ msgstr ""
+@@ -27024,44 +26992,44 @@
+ msgid "-fPIC and -G are incompatible"
+ msgstr "-fPIC og -mcall-%s er indbyrdes uforenelige"
+
+-#: config/sh/sh.c:6894
++#: config/sh/sh.c:6897
+ #, gcc-internal-format
+ msgid "__builtin_saveregs not supported by this subtarget"
+ msgstr "__builtin_saveregs understøttes ikke af denne undermålarkitektur"
+
+-#: config/sh/sh.c:7904
++#: config/sh/sh.c:7907
+ #, fuzzy, gcc-internal-format
+ msgid "%qs attribute only applies to interrupt functions"
+ msgstr "egenskaben '%s' kan kun anvendes sammen med afbrydelsesfunktioner"
+
+-#: config/sh/sh.c:7990
++#: config/sh/sh.c:7993
+ #, gcc-internal-format
+ msgid "attribute interrupt_handler is not compatible with -m5-compact"
+ msgstr "egenskaben interrupt_handler er ikke forenelig med -m5-compact"
+
+ #. The argument must be a constant string.
+-#: config/sh/sh.c:8012
++#: config/sh/sh.c:8015
+ #, fuzzy, gcc-internal-format
+ msgid "%qs attribute argument not a string constant"
+ msgstr "parameteren til egenskaben '%s' er ikke en strengkonstant"
+
+ #. The argument must be a constant integer.
+-#: config/sh/sh.c:8037
++#: config/sh/sh.c:8040
+ #, fuzzy, gcc-internal-format
+ msgid "%qs attribute argument not an integer constant"
+ msgstr "parameteren til egenskaben '%s' er ikke en heltalskonstant"
+
+-#: config/sh/sh.c:10085
++#: config/sh/sh.c:10084
+ #, gcc-internal-format
+ msgid "r0 needs to be available as a call-clobbered register"
+ msgstr ""
+
+-#: config/sh/sh.c:10106
++#: config/sh/sh.c:10105
+ #, fuzzy, gcc-internal-format
+ msgid "Need a second call-clobbered general purpose register"
+ msgstr "Benyt BK-registeret som et alment register"
+
+-#: config/sh/sh.c:10114
++#: config/sh/sh.c:10113
+ #, gcc-internal-format
+ msgid "Need a call-clobbered target register"
+ msgstr ""
+@@ -27091,7 +27059,7 @@
+ msgid "%s %q+D %s after being referenced with dllimport linkage"
+ msgstr ""
+
+-#: config/sh/symbian.c:891 cp/tree.c:2737
++#: config/sh/symbian.c:891 cp/tree.c:2753
+ #, gcc-internal-format
+ msgid "lang_* check: failed in %s, at %s:%d"
+ msgstr "lang_*-kontrol: mislykkedes i %s, ved %s:%d"
+@@ -27134,17 +27102,17 @@
+ msgid "-mrelax is only supported for RTP PIC"
+ msgstr "-g er kun understøttet ved brug af GAS på denne processor,"
+
+-#: config/sparc/sparc.c:698
++#: config/sparc/sparc.c:701
+ #, gcc-internal-format
+ msgid "%s is not supported by this configuration"
+ msgstr "%s understøttes ikke af denne konfiguration"
+
+-#: config/sparc/sparc.c:705
++#: config/sparc/sparc.c:708
+ #, gcc-internal-format
+ msgid "-mlong-double-64 not allowed with -m64"
+ msgstr "-mlong-double-64 er ikke tilladt med -m64"
+
+-#: config/sparc/sparc.c:730
++#: config/sparc/sparc.c:733
+ #, gcc-internal-format
+ msgid "-mcmodel= is not supported on 32 bit systems"
+ msgstr "-mcmodel= understøttes ikke på 32 bit-systemer"
+@@ -27164,67 +27132,57 @@
+ msgid "parameter list does not match a valid signature for %s()"
+ msgstr ""
+
+-#: config/spu/spu.c:337 config/spu/spu.c:348
++#: config/spu/spu.c:341 config/spu/spu.c:352
+ #, fuzzy, gcc-internal-format
+ msgid "Unknown architecture '%s'"
+ msgstr "ukendt maskintilstand '%s'"
+
+-#: config/spu/spu.c:3034
++#: config/spu/spu.c:3023
+ #, gcc-internal-format
+ msgid "`%s' attribute ignored"
+ msgstr "egenskaben '%s' ignoreret"
+
+-#: config/spu/spu.c:5218
++#: config/spu/spu.c:5207
+ #, gcc-internal-format
+ msgid "%s expects an integer literal in the range [%d, %d]."
+ msgstr ""
+
+-#: config/spu/spu.c:5238
++#: config/spu/spu.c:5227
+ #, gcc-internal-format
+ msgid "%s expects an integer literal in the range [%d, %d]. ("
+ msgstr ""
+
+-#: config/spu/spu.c:5268
++#: config/spu/spu.c:5257
+ #, gcc-internal-format
+ msgid "%d least significant bits of %s are ignored."
+ msgstr ""
+
+-#: config/stormy16/stormy16.c:499
+-#, fuzzy, gcc-internal-format
+-msgid "constant halfword load operand out of range"
+-msgstr "konstant parameter uden for det gyldige interval for '%s'"
+-
+-#: config/stormy16/stormy16.c:509
+-#, fuzzy, gcc-internal-format
+-msgid "constant arithmetic operand out of range"
+-msgstr "konstant parameter uden for det gyldige interval for '%s'"
+-
+-#: config/stormy16/stormy16.c:1108
++#: config/stormy16/stormy16.c:1080
+ #, gcc-internal-format
+ msgid "local variable memory requirements exceed capacity"
+ msgstr ""
+
+-#: config/stormy16/stormy16.c:1274
++#: config/stormy16/stormy16.c:1246
+ #, fuzzy, gcc-internal-format
+ msgid "function_profiler support"
+ msgstr "function_profiler-understøttelse for MMIX"
+
+-#: config/stormy16/stormy16.c:1363
++#: config/stormy16/stormy16.c:1335
+ #, gcc-internal-format
+ msgid "cannot use va_start in interrupt function"
+ msgstr "kan ikke bruge va_start i afbrydelsesfunktion"
+
+-#: config/stormy16/stormy16.c:1906
++#: config/stormy16/stormy16.c:1879
+ #, gcc-internal-format
+ msgid "switch statement of size %lu entries too large"
+ msgstr "switch-sætning med %lu elementer er for stor"
+
+-#: config/stormy16/stormy16.c:2274
++#: config/stormy16/stormy16.c:2247
+ #, fuzzy, gcc-internal-format
+ msgid "%<__BELOW100__%> attribute only applies to variables"
+ msgstr "egenskaben '%s' kan kun anvendes på variabler"
+
+-#: config/stormy16/stormy16.c:2281
++#: config/stormy16/stormy16.c:2254
+ #, gcc-internal-format
+ msgid "__BELOW100__ attribute not allowed with auto storage class"
+ msgstr ""
+@@ -27349,346 +27307,346 @@
+ msgid "too much stack space to prepare: %d"
+ msgstr "For meget stakplads at forberede: %d"
+
+-#: config/xtensa/xtensa.c:1861
++#: config/xtensa/xtensa.c:1865
+ #, gcc-internal-format
+ msgid "boolean registers required for the floating-point option"
+ msgstr "booleske registre er påkrævet til kommatalsindstillingen"
+
+-#: config/xtensa/xtensa.c:1896
++#: config/xtensa/xtensa.c:1900
+ #, fuzzy, gcc-internal-format
+ msgid "-f%s is not supported with CONST16 instructions"
+ msgstr "%s understøttes ikke af denne konfiguration"
+
+-#: config/xtensa/xtensa.c:1901
++#: config/xtensa/xtensa.c:1905
+ #, gcc-internal-format
+ msgid "PIC is required but not supported with CONST16 instructions"
+ msgstr ""
+
+-#: config/xtensa/xtensa.c:2745 config/xtensa/xtensa.c:2765
++#: config/xtensa/xtensa.c:2770 config/xtensa/xtensa.c:2790
+ #, fuzzy, gcc-internal-format
+ msgid "bad builtin code"
+ msgstr "ugyldig indbygget fcode"
+
+-#: config/xtensa/xtensa.c:2873
++#: config/xtensa/xtensa.c:2898
+ #, gcc-internal-format
+ msgid "only uninitialized variables can be placed in a .bss section"
+ msgstr "kun variabler uden startværdi kan placeres i .bss-sektionen"
+
+-#: ada/misc.c:261
++#: ada/misc.c:260
+ #, gcc-internal-format
+ msgid "missing argument to \"-%s\""
+ msgstr "der mangler en parameter til tilvalget '-%s'"
+
+-#: ada/misc.c:311
++#: ada/misc.c:310
+ #, fuzzy, gcc-internal-format
+ msgid "%<-gnat%> misspelled as %<-gant%>"
+ msgstr "'-gnat' stavet forkert som '-gant'"
+
+-#: cp/call.c:2462
++#: cp/call.c:2448
+ #, gcc-internal-format
+ msgid "%s %D(%T, %T, %T) <built-in>"
+ msgstr "%s %D(%T, %T, %T) <indbygget>"
+
+-#: cp/call.c:2467
++#: cp/call.c:2453
+ #, gcc-internal-format
+ msgid "%s %D(%T, %T) <built-in>"
+ msgstr "%s %D(%T, %T) <indbygget>"
+
+-#: cp/call.c:2471
++#: cp/call.c:2457
+ #, gcc-internal-format
+ msgid "%s %D(%T) <built-in>"
+ msgstr "%s %D(%T) <indbygget>"
+
+-#: cp/call.c:2475
++#: cp/call.c:2461
+ #, gcc-internal-format
+ msgid "%s %T <conversion>"
+ msgstr "%s %T <konvertering>"
+
+-#: cp/call.c:2477
++#: cp/call.c:2463
+ #, gcc-internal-format
+ msgid "%s %+#D <near match>"
+ msgstr ""
+
+-#: cp/call.c:2479 cp/pt.c:1397
++#: cp/call.c:2465 cp/pt.c:1405
+ #, gcc-internal-format
+ msgid "%s %+#D"
+ msgstr "%s %+#D"
+
+-#: cp/call.c:2720
++#: cp/call.c:2706
+ #, fuzzy, gcc-internal-format
+ msgid "conversion from %qT to %qT is ambiguous"
+ msgstr "konvertering fra '%T' til '%T' er tvetydigt"
+
+-#: cp/call.c:2873 cp/call.c:2891 cp/call.c:2954
++#: cp/call.c:2859 cp/call.c:2877 cp/call.c:2940
+ #, fuzzy, gcc-internal-format
+ msgid "no matching function for call to %<%D(%A)%>"
+ msgstr "ingen passende funktion for kald til '%D(%A)'"
+
+-#: cp/call.c:2894 cp/call.c:2957
++#: cp/call.c:2880 cp/call.c:2943
+ #, fuzzy, gcc-internal-format
+ msgid "call of overloaded %<%D(%A)%> is ambiguous"
+ msgstr "kald af flertydig '%D(%A)' er tvetydigt"
+
+ #. It's no good looking for an overloaded operator() on a
+ #. pointer-to-member-function.
+-#: cp/call.c:3029
++#: cp/call.c:3015
+ #, gcc-internal-format
+ msgid "pointer-to-member function %E cannot be called without an object; consider using .* or ->*"
+ msgstr "henvisning til medlemsfunktionen %E kan ikke kaldes uden et objekt; overvej at benytte .* eller ->*"
+
+-#: cp/call.c:3103
++#: cp/call.c:3089
+ #, fuzzy, gcc-internal-format
+ msgid "no match for call to %<(%T) (%A)%>"
+ msgstr "ingen passende fundet for kald til '(%T) (%A)'"
+
+-#: cp/call.c:3112
++#: cp/call.c:3098
+ #, fuzzy, gcc-internal-format
+ msgid "call of %<(%T) (%A)%> is ambiguous"
+ msgstr "kald af '(%T) (%A)' er tvetydigt"
+
+-#: cp/call.c:3150
++#: cp/call.c:3136
+ #, gcc-internal-format
+ msgid "%s for ternary %<operator?:%> in %<%E ? %E : %E%>"
+ msgstr ""
+
+-#: cp/call.c:3156
++#: cp/call.c:3142
+ #, fuzzy, gcc-internal-format
+ msgid "%s for %<operator%s%> in %<%E%s%>"
+ msgstr "%s for operatoren '%T %s' "
+
+-#: cp/call.c:3160
++#: cp/call.c:3146
+ #, fuzzy, gcc-internal-format
+ msgid "%s for %<operator[]%> in %<%E[%E]%>"
+ msgstr "%s for operatoren '%T %s' "
+
+-#: cp/call.c:3165
++#: cp/call.c:3151
+ #, fuzzy, gcc-internal-format
+ msgid "%s for %qs in %<%s %E%>"
+ msgstr "manglende felt '%s' i '%s'"
+
+-#: cp/call.c:3170
++#: cp/call.c:3156
+ #, fuzzy, gcc-internal-format
+ msgid "%s for %<operator%s%> in %<%E %s %E%>"
+ msgstr "%s for operatoren '%T %s' "
+
+-#: cp/call.c:3173
++#: cp/call.c:3159
+ #, fuzzy, gcc-internal-format
+ msgid "%s for %<operator%s%> in %<%s%E%>"
+ msgstr "%s for operatoren '%T %s' "
+
+-#: cp/call.c:3265
++#: cp/call.c:3251
+ #, gcc-internal-format
+ msgid "ISO C++ forbids omitting the middle term of a ?: expression"
+ msgstr "ISO C++ forbyder udeladelse af den mellemste del af et ?:-udtryk"
+
+-#: cp/call.c:3343
++#: cp/call.c:3329
+ #, gcc-internal-format
+ msgid "second operand to the conditional operator is of type %<void%>, but the third operand is neither a throw-expression nor of type %<void%>"
+ msgstr ""
+
+-#: cp/call.c:3348
++#: cp/call.c:3334
+ #, gcc-internal-format
+ msgid "third operand to the conditional operator is of type %<void%>, but the second operand is neither a throw-expression nor of type %<void%>"
+ msgstr ""
+
+-#: cp/call.c:3389 cp/call.c:3609
++#: cp/call.c:3375 cp/call.c:3595
+ #, fuzzy, gcc-internal-format
+ msgid "operands to ?: have different types %qT and %qT"
+ msgstr "operander til ?: har forskellige typer"
+
+-#: cp/call.c:3563
++#: cp/call.c:3549
+ #, fuzzy, gcc-internal-format
+ msgid "enumeral mismatch in conditional expression: %qT vs %qT"
+ msgstr "enum-typer passer ikke sammen i betinget udtryk: '%T' og '%T'"
+
+-#: cp/call.c:3570
++#: cp/call.c:3556
+ #, gcc-internal-format
+ msgid "enumeral and non-enumeral type in conditional expression"
+ msgstr "enum- og ikke enum-type i betinget udtryk"
+
+-#: cp/call.c:3874
++#: cp/call.c:3860
+ #, fuzzy, gcc-internal-format
+ msgid "no %<%D(int)%> declared for postfix %qs, trying prefix operator instead"
+ msgstr "ingen '%D(int)' erklæret for suffiks '%s', prøver præfiksoperatoren i stedet"
+
+-#: cp/call.c:3947
++#: cp/call.c:3936
+ #, fuzzy, gcc-internal-format
+ msgid "comparison between %q#T and %q#T"
+ msgstr "sammenligning mellem '%#T' og '%#T'"
+
+-#: cp/call.c:4229
++#: cp/call.c:4218
+ #, gcc-internal-format
+ msgid "no corresponding deallocation function for `%D'"
+ msgstr ""
+
+-#: cp/call.c:4234
++#: cp/call.c:4223
+ #, fuzzy, gcc-internal-format
+ msgid "no suitable %<operator %s%> for %qT"
+ msgstr "ingen passende 'operator delete' for '%T'"
+
+-#: cp/call.c:4252
++#: cp/call.c:4241
+ #, fuzzy, gcc-internal-format
+ msgid "%q+#D is private"
+ msgstr "'%+#D' er privat"
+
+-#: cp/call.c:4254
++#: cp/call.c:4243
+ #, fuzzy, gcc-internal-format
+ msgid "%q+#D is protected"
+ msgstr "'%+#D' er beskyttet"
+
+-#: cp/call.c:4256
++#: cp/call.c:4245
+ #, fuzzy, gcc-internal-format
+ msgid "%q+#D is inaccessible"
+ msgstr "'%+#D' er ikke tilgængelig"
+
+-#: cp/call.c:4257
++#: cp/call.c:4246
+ #, gcc-internal-format
+ msgid "within this context"
+ msgstr "i denne kontekst"
+
+ # %s bliver til returnering eller tildeling eller noget i den retning
+-#: cp/call.c:4303
++#: cp/call.c:4292
+ #, fuzzy, gcc-internal-format
+ msgid "passing NULL to non-pointer argument %P of %qD"
+ msgstr "overbringelse af NULL benyttet for ikke-henvisnings%s %P af '%D'"
+
+-#: cp/call.c:4306
++#: cp/call.c:4295
+ #, fuzzy, gcc-internal-format
+ msgid "converting to non-pointer type %qT from NULL"
+ msgstr "%s til ikke-henvisningstypen '%T' fra NULL"
+
+-#: cp/call.c:4312
++#: cp/call.c:4301
+ #, fuzzy, gcc-internal-format
+ msgid "converting %<false%> to pointer type for argument %P of %qD"
+ msgstr "typen af den %d. parameter i '%s' passer ikke"
+
+-#: cp/call.c:4356 cp/cvt.c:217
++#: cp/call.c:4346 cp/cvt.c:217
+ #, fuzzy, gcc-internal-format
+ msgid "invalid conversion from %qT to %qT"
+ msgstr "ugyldig konvertering fra '%T' til '%T'"
+
+-#: cp/call.c:4358
++#: cp/call.c:4348
+ #, fuzzy, gcc-internal-format
+ msgid " initializing argument %P of %qD"
+ msgstr " ved klargøring af parameteren %P til '%D'"
+
+-#: cp/call.c:4491
++#: cp/call.c:4498
+ #, fuzzy, gcc-internal-format
+ msgid "cannot bind bitfield %qE to %qT"
+ msgstr "kan ikke klargøre '%T' fra %T'"
+
+-#: cp/call.c:4494 cp/call.c:4510
++#: cp/call.c:4501 cp/call.c:4517
+ #, fuzzy, gcc-internal-format
+ msgid "cannot bind packed field %qE to %qT"
+ msgstr "kan ikke erklære feltet '%D' til at være af typen '%T'"
+
+-#: cp/call.c:4497
++#: cp/call.c:4504
+ #, fuzzy, gcc-internal-format
+ msgid "cannot bind rvalue %qE to %qT"
+ msgstr "kan ikke klargøre '%T' fra %T'"
+
+-#: cp/call.c:4611
++#: cp/call.c:4620
+ #, fuzzy, gcc-internal-format
+ msgid "cannot pass objects of non-POD type %q#T through %<...%>; call will abort at runtime"
+ msgstr "kan ikke videregive objekter af en ikke-POD type '%#T' gennem '...'; kald vil afbryde på kørselstidspunktet"
+
+ #. Undefined behavior [expr.call] 5.2.2/7.
+-#: cp/call.c:4639
++#: cp/call.c:4648
+ #, fuzzy, gcc-internal-format
+ msgid "cannot receive objects of non-POD type %q#T through %<...%>; call will abort at runtime"
+ msgstr "kan ikke videregive objekter af en ikke-POD type '%#T' gennem '...'; kald vil afbryde på kørselstidspunktet"
+
+-#: cp/call.c:4687
++#: cp/call.c:4696
+ #, fuzzy, gcc-internal-format
+ msgid "the default argument for parameter %d of %qD has not yet been parsed"
+ msgstr "standardparameter for parameter af typen '%T' har typen '%T'"
+
+-#: cp/call.c:4697
++#: cp/call.c:4706
+ #, fuzzy, gcc-internal-format
+ msgid "recursive evaluation of default argument for %q#D"
+ msgstr "omdefinering af standardparameter for '%#D'"
+
+-#: cp/call.c:4802
++#: cp/call.c:4811
+ #, fuzzy, gcc-internal-format
+ msgid "argument of function call might be a candidate for a format attribute"
+ msgstr "Advar om funktioner som kan være kandidater til formateringsegenskaber"
+
+-#: cp/call.c:4950
++#: cp/call.c:4959
+ #, fuzzy, gcc-internal-format
+ msgid "passing %qT as %<this%> argument of %q#D discards qualifiers"
+ msgstr "videregivelse af '%T' som 'this'-parameteren til '%#D' forkaster modifikationer"
+
+-#: cp/call.c:4969
++#: cp/call.c:4978
+ #, fuzzy, gcc-internal-format
+ msgid "%qT is not an accessible base of %qT"
+ msgstr "'%T' er en utilgængelig stamklasse til '%T'"
+
+-#: cp/call.c:5229
++#: cp/call.c:5238
+ #, fuzzy, gcc-internal-format
+ msgid "could not find class$ field in java interface type %qT"
+ msgstr "kunne ikke finde et class$-felt i Java-grænsefladetypen '%T'"
+
+-#: cp/call.c:5470
++#: cp/call.c:5479
+ #, fuzzy, gcc-internal-format
+ msgid "call to non-function %qD"
+ msgstr "kald af ikke-funktion '%D'"
+
+-#: cp/call.c:5595
++#: cp/call.c:5604
+ #, fuzzy, gcc-internal-format
+ msgid "no matching function for call to %<%T::%s(%A)%#V%>"
+ msgstr "ingen passende funktion for kald til '%T::%D(%A)%#V'"
+
+-#: cp/call.c:5613
++#: cp/call.c:5622
+ #, fuzzy, gcc-internal-format
+ msgid "call of overloaded %<%s(%A)%> is ambiguous"
+ msgstr "kald af flertydig '%D(%A)' er tvetydigt"
+
+-#: cp/call.c:5639
++#: cp/call.c:5648
+ #, fuzzy, gcc-internal-format
+ msgid "cannot call member function %qD without object"
+ msgstr "kan ikke kalde medlemsfunktionen '%D' uden et objekt"
+
+-#: cp/call.c:6283
++#: cp/call.c:6307
+ #, fuzzy, gcc-internal-format
+ msgid "passing %qT chooses %qT over %qT"
+ msgstr "videregivelse af '%T' vælger '%T' frem for '%T'"
+
+-#: cp/call.c:6285 cp/name-lookup.c:4320 cp/name-lookup.c:4753
++#: cp/call.c:6309 cp/name-lookup.c:4322 cp/name-lookup.c:4757
+ #, fuzzy, gcc-internal-format
+ msgid " in call to %qD"
+ msgstr " i kald af '%D'"
+
+-#: cp/call.c:6342
++#: cp/call.c:6366
+ #, fuzzy, gcc-internal-format
+ msgid "choosing %qD over %qD"
+ msgstr "vælger '%D' frem for '%D'"
+
+-#: cp/call.c:6343
++#: cp/call.c:6367
+ #, fuzzy, gcc-internal-format
+ msgid " for conversion from %qT to %qT"
+ msgstr " for konvertering fra '%T' til '%T'"
+
+-#: cp/call.c:6345
++#: cp/call.c:6369
+ #, gcc-internal-format
+ msgid " because conversion sequence for the argument is better"
+ msgstr " fordi konverteringssekvensen for parameteren er bedre"
+
+-#: cp/call.c:6459
++#: cp/call.c:6483
+ #, fuzzy, 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 "ifølge ISO C++ er '%D' og '%D' tvetydigt selvom den værste konvertering for førstnævnte er bedre end den værste konvertering for den sidstnævnte"
+
+-#: cp/call.c:6603
++#: cp/call.c:6627
+ #, fuzzy, gcc-internal-format
+ msgid "could not convert %qE to %qT"
+ msgstr "kunne ikke konvertere '%E' til '%T'"
+
+-#: cp/call.c:6737
++#: cp/call.c:6761
+ #, fuzzy, gcc-internal-format
+ msgid "invalid initialization of non-const reference of type %qT from a temporary of type %qT"
+ msgstr "ugyldig const_cast af en højreværdi fra typen '%T' til typen '%T'"
+
+-#: cp/call.c:6741
++#: cp/call.c:6765
+ #, fuzzy, gcc-internal-format
+ msgid "invalid initialization of reference of type %qT from expression of type %qT"
+ msgstr "ugyldig omdannelse til typen '%T' fra typen '%T'"
+@@ -27698,344 +27656,344 @@
+ msgid "cannot convert from base %qT to derived type %qT via virtual base %qT"
+ msgstr "kan ikke konvertere fra stamklassen '%T' til den nedarvede type '%T' via den virtuelle stamklasse '%T'"
+
+-#: cp/class.c:961
++#: cp/class.c:971
+ #, fuzzy, gcc-internal-format
+ msgid "Java class %qT cannot have a destructor"
+ msgstr "stamklassen '%#T' har en ikke-virtuel destruktionsfunktion"
+
+-#: cp/class.c:963
++#: cp/class.c:973
+ #, fuzzy, gcc-internal-format
+ msgid "Java class %qT cannot have an implicit non-trivial destructor"
+ msgstr "stamklassen '%#T' har en ikke-virtuel destruktionsfunktion"
+
+-#: cp/class.c:1062
++#: cp/class.c:1074
+ #, fuzzy, gcc-internal-format
+ msgid "repeated using declaration %q+D"
+ msgstr "til skabelonserklæring '%D'"
+
+-#: cp/class.c:1064
++#: cp/class.c:1076
+ #, fuzzy, gcc-internal-format
+ msgid "using declaration %q+D conflicts with a previous using declaration"
+ msgstr "sektionen '%s' strider mod tidligere erklæring"
+
+-#: cp/class.c:1069
++#: cp/class.c:1081
+ #, fuzzy, gcc-internal-format
+ msgid "%q+#D cannot be overloaded"
+ msgstr "'%#D' og '%#D' kan ikke flertydiggøres"
+
+-#: cp/class.c:1070
++#: cp/class.c:1082
+ #, gcc-internal-format
+ msgid "with %q+#D"
+ msgstr ""
+
+-#: cp/class.c:1137
++#: cp/class.c:1149
+ #, fuzzy, gcc-internal-format
+ msgid "conflicting access specifications for method %q+D, ignored"
+ msgstr "modstridende tilgangsanvisninger til metoden '%D', ignoreret"
+
+-#: cp/class.c:1140
++#: cp/class.c:1152
+ #, fuzzy, gcc-internal-format
+ msgid "conflicting access specifications for field %qE, ignored"
+ msgstr "modstridende tilgangsanvisninger til feltet '%s', ignoreret"
+
+-#: cp/class.c:1201 cp/class.c:1209
++#: cp/class.c:1213 cp/class.c:1221
+ #, fuzzy, gcc-internal-format
+ msgid "%q+D invalid in %q#T"
+ msgstr "'%D' ugyldig i '%#T'"
+
+-#: cp/class.c:1202
++#: cp/class.c:1214
+ #, fuzzy, gcc-internal-format
+ msgid " because of local method %q+#D with same name"
+ msgstr " på grund af den lokale metode '%#D' med det samme navn"
+
+-#: cp/class.c:1210
++#: cp/class.c:1222
+ #, fuzzy, gcc-internal-format
+ msgid " because of local member %q+#D with same name"
+ msgstr " på grund af det lokale medlem '%#D' med det samme navn"
+
+-#: cp/class.c:1253
++#: cp/class.c:1265
+ #, fuzzy, gcc-internal-format
+ msgid "base class %q#T has a non-virtual destructor"
+ msgstr "stamklassen '%#T' har en ikke-virtuel destruktionsfunktion"
+
+-#: cp/class.c:1570
++#: cp/class.c:1582
+ #, fuzzy, gcc-internal-format
+ msgid "all member functions in class %qT are private"
+ msgstr "alle medlemsfunktioner i klassen '%T' er private"
+
+-#: cp/class.c:1582
++#: cp/class.c:1594
+ #, fuzzy, gcc-internal-format
+ msgid "%q#T only defines a private destructor and has no friends"
+ msgstr "'%#T' definerer kun en privat destruktionsfunktion og har ingen venner"
+
+-#: cp/class.c:1626
++#: cp/class.c:1639
+ #, fuzzy, gcc-internal-format
+ msgid "%q#T only defines private constructors and has no friends"
+ msgstr "'%#T' definerer kun private konstruktionsfunktioner og har ingen venner"
+
+ # %D er en funktion
+-#: cp/class.c:2019
++#: cp/class.c:2032
+ #, fuzzy, gcc-internal-format
+ msgid "no unique final overrider for %qD in %qT"
+ msgstr "ingen unik endelig overskrivning af '%D' i '%T'"
+
+ #. Here we know it is a hider, and no overrider exists.
+-#: cp/class.c:2439
++#: cp/class.c:2452
+ #, fuzzy, gcc-internal-format
+ msgid "%q+D was hidden"
+ msgstr "'%D' var skjult"
+
+-#: cp/class.c:2440
++#: cp/class.c:2453
+ #, fuzzy, gcc-internal-format
+ msgid " by %q+D"
+ msgstr " af '%D'"
+
+-#: cp/class.c:2483 cp/decl2.c:1135
++#: cp/class.c:2496 cp/decl2.c:1178
+ #, fuzzy, gcc-internal-format
+ msgid "%q+#D invalid; an anonymous union can only have non-static data members"
+ msgstr "'%#D' er ugyldig; en anonym union kan kun have ikke-statiske datamedlemmer"
+
+-#: cp/class.c:2486
++#: cp/class.c:2499
+ #, fuzzy, gcc-internal-format
+ msgid "%q+#D invalid; an anonymous struct can only have non-static data members"
+ msgstr "'%#D' er ugyldig; en anonym union kan kun have ikke-statiske datamedlemmer"
+
+-#: cp/class.c:2494 cp/decl2.c:1141
++#: cp/class.c:2507 cp/decl2.c:1184
+ #, fuzzy, gcc-internal-format
+ msgid "private member %q+#D in anonymous union"
+ msgstr "privat medlem '%#D' i en anonym union"
+
+-#: cp/class.c:2496
++#: cp/class.c:2509
+ #, fuzzy, gcc-internal-format
+ msgid "private member %q+#D in anonymous struct"
+ msgstr "privat medlem '%#D' i en anonym union"
+
+-#: cp/class.c:2501 cp/decl2.c:1143
++#: cp/class.c:2514 cp/decl2.c:1186
+ #, fuzzy, gcc-internal-format
+ msgid "protected member %q+#D in anonymous union"
+ msgstr "beskyttet medlem '%#D' i en anonym union"
+
+-#: cp/class.c:2503
++#: cp/class.c:2516
+ #, fuzzy, gcc-internal-format
+ msgid "protected member %q+#D in anonymous struct"
+ msgstr "beskyttet medlem '%#D' i en anonym union"
+
+-#: cp/class.c:2677
++#: cp/class.c:2695
+ #, fuzzy, gcc-internal-format
+ msgid "bit-field %q+#D with non-integral type"
+ msgstr "bitfelt '%#D' med en ikke-heltalstype"
+
+-#: cp/class.c:2690
++#: cp/class.c:2708
+ #, fuzzy, gcc-internal-format
+ msgid "bit-field %q+D width not an integer constant"
+ msgstr "bredden af bitfeltet '%D' er ikke en heltalskonstant"
+
+-#: cp/class.c:2695
++#: cp/class.c:2713
+ #, fuzzy, gcc-internal-format
+ msgid "negative width in bit-field %q+D"
+ msgstr "negativ bredde i bitfeltet '%D'"
+
+-#: cp/class.c:2700
++#: cp/class.c:2718
+ #, fuzzy, gcc-internal-format
+ msgid "zero width for bit-field %q+D"
+ msgstr "en bredde på nul for bitfeltet '%D'"
+
+-#: cp/class.c:2706
++#: cp/class.c:2724
+ #, fuzzy, gcc-internal-format
+ msgid "width of %q+D exceeds its type"
+ msgstr "bredden af '%D' overstiger typen"
+
+-#: cp/class.c:2715
++#: cp/class.c:2733
+ #, fuzzy, gcc-internal-format
+ msgid "%q+D is too small to hold all values of %q#T"
+ msgstr "'%D' er for lille til at indeholde alle værdierne af '%#T'"
+
+-#: cp/class.c:2772
++#: cp/class.c:2790
+ #, fuzzy, gcc-internal-format
+ msgid "member %q+#D with constructor not allowed in union"
+ msgstr "medlemmet '%#D' med en konstruktionsfunktion er ikke tilladt i en union"
+
+-#: cp/class.c:2775
++#: cp/class.c:2793
+ #, fuzzy, gcc-internal-format
+ msgid "member %q+#D with destructor not allowed in union"
+ msgstr "medlemmet '%#D' med en destruktionsfunktion er ikke tilladt i en union"
+
+-#: cp/class.c:2777
++#: cp/class.c:2795
+ #, fuzzy, gcc-internal-format
+ msgid "member %q+#D with copy assignment operator not allowed in union"
+ msgstr "medlemmet '%#D' med en kopitildelingsoperator er ikke tilladt i en union"
+
+-#: cp/class.c:2801
++#: cp/class.c:2819
+ #, fuzzy, gcc-internal-format
+ msgid "multiple fields in union %qT initialized"
+ msgstr "flere felter i union '%T' tildeles startværdi"
+
+-#: cp/class.c:2890
++#: cp/class.c:2908
+ #, fuzzy, gcc-internal-format
+ msgid "%q+D may not be static because it is a member of a union"
+ msgstr "'%D' skal være en ikke-statisk medlemsfunktion"
+
+-#: cp/class.c:2895
++#: cp/class.c:2913
+ #, gcc-internal-format
+ msgid "%q+D may not have reference type %qT because it is a member of a union"
+ msgstr ""
+
+-#: cp/class.c:2906
++#: cp/class.c:2924
+ #, fuzzy, gcc-internal-format
+ msgid "field %q+D invalidly declared function type"
+ msgstr "feltet '%D' er på ugyldig vis erklæret som en funktionstype"
+
+-#: cp/class.c:2912
++#: cp/class.c:2930
+ #, fuzzy, gcc-internal-format
+ msgid "field %q+D invalidly declared method type"
+ msgstr "feltet '%D' er på ugyldig vis erklæret som en medlemsfunktionstype"
+
+-#: cp/class.c:2944
+-#, fuzzy, gcc-internal-format
+-msgid "non-static reference %q+#D in class without a constructor"
+-msgstr "ikke-statisk reference '%#D' i klasse uden en konstruktionsfunktion"
+-
+-#: cp/class.c:2955
++#: cp/class.c:2968
+ #, gcc-internal-format
+ msgid "ignoring packed attribute because of unpacked non-POD field %q+#D"
+ msgstr ""
+
+-#: cp/class.c:3022
++#: cp/class.c:3047
+ #, fuzzy, gcc-internal-format
+-msgid "non-static const member %q+#D in class without a constructor"
+-msgstr "ikke-statisk konstant medlem '%#D' i klasse uden en konstruktionsfunktion"
+-
+-#: cp/class.c:3037
+-#, fuzzy, gcc-internal-format
+ msgid "field %q+#D with same name as class"
+ msgstr "felt '%#D' med samme navn som klassen"
+
+-#: cp/class.c:3068
++#: cp/class.c:3078
+ #, fuzzy, gcc-internal-format
+ msgid "%q#T has pointer data members"
+ msgstr "'%#T' har henvisningsdatamedlemmer"
+
+-#: cp/class.c:3073
++#: cp/class.c:3083
+ #, fuzzy, gcc-internal-format
+ msgid " but does not override %<%T(const %T&)%>"
+ msgstr " men overskriver ikke '%T(const %T&)'"
+
+-#: cp/class.c:3075
++#: cp/class.c:3085
+ #, fuzzy, gcc-internal-format
+ msgid " or %<operator=(const %T&)%>"
+ msgstr " eller 'operator=(const %T&)'"
+
+-#: cp/class.c:3079
++#: cp/class.c:3089
+ #, fuzzy, gcc-internal-format
+ msgid " but does not override %<operator=(const %T&)%>"
+ msgstr " men overskriver ikke 'operator=(const %T&)'"
+
+-#: cp/class.c:3540
++#: cp/class.c:3550
+ #, fuzzy, gcc-internal-format
+ msgid "offset of empty base %qT may not be ABI-compliant and maychange in a future version of GCC"
+ msgstr "afsættet for tom stamklasse '%T' følger ikke nødvendigvis ABI'en og kan ændre sig i en fremtidig version af GCC"
+
+-#: cp/class.c:3665
++#: cp/class.c:3675
+ #, fuzzy, gcc-internal-format
+ msgid "class %qT will be considered nearly empty in a future version of GCC"
+ msgstr "klassen '%T' vil blive betragtet som næsten tom i en fremtidig version af GCC"
+
+-#: cp/class.c:3747
++#: cp/class.c:3757
+ #, fuzzy, gcc-internal-format
+ msgid "initializer specified for non-virtual method %q+D"
+ msgstr "startværdi angivet for ikke-virtuel medlemsfunktion '%D'"
+
+-#: cp/class.c:4412
++#: cp/class.c:4228
+ #, fuzzy, gcc-internal-format
++msgid "non-static reference %q+#D in class without a constructor"
++msgstr "ikke-statisk reference '%#D' i klasse uden en konstruktionsfunktion"
++
++#: cp/class.c:4233
++#, fuzzy, gcc-internal-format
++msgid "non-static const member %q+#D in class without a constructor"
++msgstr "ikke-statisk konstant medlem '%#D' i klasse uden en konstruktionsfunktion"
++
++#: cp/class.c:4488
++#, fuzzy, gcc-internal-format
+ msgid "offset of virtual base %qT is not ABI-compliant and may change in a future version of GCC"
+ msgstr "afsættet for virtuel stamklasse '%T' følger ikke ABI'en og kan ændre sig i en fremtidig version af GCC"
+
+-#: cp/class.c:4513
++#: cp/class.c:4589
+ #, fuzzy, gcc-internal-format
+ msgid "direct base %qT inaccessible in %qT due to ambiguity"
+ msgstr "direkte stamklasse '%T' er ikke tilgængelig i '%T' på grund af tvetydighed"
+
+-#: cp/class.c:4525
++#: cp/class.c:4601
+ #, fuzzy, gcc-internal-format
+ msgid "virtual base %qT inaccessible in %qT due to ambiguity"
+ msgstr "virtuel stamklasse '%T' er ikke tilgængelig i '%T' på grund af tvetydighed"
+
+-#: cp/class.c:4704
++#: cp/class.c:4780
+ #, fuzzy, gcc-internal-format
+ msgid "size assigned to %qT may not be ABI-compliant and may change in a future version of GCC"
+ msgstr "størrelsen der bliver tildelt '%T' følger ikke nødvendigvis ABI'en og kan ændre sig i en fremtidig version af GCC"
+
+-#: cp/class.c:4744
++#: cp/class.c:4820
+ #, fuzzy, gcc-internal-format
+ msgid "the offset of %qD may not be ABI-compliant and may change in a future version of GCC"
+ msgstr "afsættet for '%D' følger ikke ABI'en og kan ændre sig i en fremtidig version af GCC"
+
+-#: cp/class.c:4772
++#: cp/class.c:4848
+ #, fuzzy, gcc-internal-format
+ msgid "offset of %q+D is not ABI-compliant and may change in a future version of GCC"
+ msgstr "afsættet for '%D' følger ikke ABI'en og kan ændre sig i en fremtidig version af GCC"
+
+-#: cp/class.c:4781
++#: cp/class.c:4857
+ #, fuzzy, gcc-internal-format
+ msgid "%q+D contains empty classes which may cause base classes to be placed at different locations in a future version of GCC"
+ msgstr "'%D' indeholder tomme klasser hvad der kan få stamklasser til at blive placeret andre steder i en fremtidig version af GCC"
+
+-#: cp/class.c:4864
++#: cp/class.c:4944
+ #, fuzzy, gcc-internal-format
+ msgid "layout of classes derived from empty class %qT may change in a future version of GCC"
+ msgstr "layoutet af klasser der nedarver fra den tomme klasse '%T' kan ændre sig i en fremtidig version af GCC"
+
+-#: cp/class.c:5010 cp/parser.c:14608
++#: cp/class.c:5090 cp/parser.c:14688
+ #, fuzzy, gcc-internal-format
+ msgid "redefinition of %q#T"
+ msgstr "omdefinering af '%#T'"
+
+-#: cp/class.c:5166
++#: cp/class.c:5246
+ #, fuzzy, gcc-internal-format
+ msgid "%q#T has virtual functions and accessible non-virtual destructor"
+ msgstr "'%#T' har virtuelle funktioner, men ikke-virtuel destruktionsfunktion"
+
+-#: cp/class.c:5268
++#: cp/class.c:5348
+ #, gcc-internal-format
+ msgid "trying to finish struct, but kicked out due to previous parse errors"
+ msgstr "forsøgte at afslutte struct, men blev stoppet af tidligere fortolkningsfejl"
+
+-#: cp/class.c:5728
++#: cp/class.c:5808
+ #, fuzzy, gcc-internal-format
+ msgid "language string %<\"%E\"%> not recognized"
+ msgstr "sprogstrengen '\"%s\"' ikke genkendt"
+
+-#: cp/class.c:5817
++#: cp/class.c:5897
+ #, fuzzy, gcc-internal-format
+ msgid "cannot resolve overloaded function %qD based on conversion to type %qT"
+ msgstr "kan ikke benytte den flertydiggjorte funktion '%D' baseret på konvertering til typen '%T'"
+
+-#: cp/class.c:5946
++#: cp/class.c:6026
+ #, fuzzy, gcc-internal-format
+ msgid "no matches converting function %qD to type %q#T"
+ msgstr "ingen passende ved konvertering af funktionen '%D' til typen '%#T'"
+
+-#: cp/class.c:5969
++#: cp/class.c:6049
+ #, fuzzy, gcc-internal-format
+ msgid "converting overloaded function %qD to type %q#T is ambiguous"
+ msgstr "konvertering af den flertydiggjorte funktion '%D' til typen '%T' er tvetydig"
+
+-#: cp/class.c:5995
++#: cp/class.c:6075
+ #, fuzzy, gcc-internal-format
+ msgid "assuming pointer to member %qD"
+ msgstr "antager henvisning til medlemmet '%D'"
+
+-#: cp/class.c:5998
++#: cp/class.c:6078
+ #, fuzzy, gcc-internal-format
+ msgid "(a pointer to member can only be formed with %<&%E%>)"
+ msgstr "(en henvisning til medlem kan kun dannes med '&%E')"
+
+-#: cp/class.c:6054 cp/class.c:6088
++#: cp/class.c:6134 cp/class.c:6168
+ #, gcc-internal-format
+ msgid "not enough type information"
+ msgstr "ikke tilstrækkelig information om typen"
+
+-#: cp/class.c:6071
++#: cp/class.c:6151
+ #, fuzzy, gcc-internal-format
+ msgid "argument of type %qT does not match %qT"
+ msgstr "parameter af typen '%T' passer ikke til '%T'"
+@@ -28045,12 +28003,12 @@
+ #. A name N used in a class S shall refer to the same declaration
+ #. in its context and when re-evaluated in the completed scope of
+ #. S.
+-#: cp/class.c:6358 cp/decl.c:1199 cp/name-lookup.c:526
++#: cp/class.c:6438 cp/decl.c:1200 cp/name-lookup.c:525
+ #, fuzzy, gcc-internal-format
+ msgid "declaration of %q#D"
+ msgstr "omerklæring af '%#D'"
+
+-#: cp/class.c:6359
++#: cp/class.c:6439
+ #, fuzzy, gcc-internal-format
+ msgid "changes meaning of %qD from %q+#D"
+ msgstr "skifter betydningen af '%D' fra '%+#D'"
+@@ -28085,7 +28043,7 @@
+ msgid "conversion from %qT to %qT discards qualifiers"
+ msgstr "konvertering fra '%T' til '%T' forkaster modifikationer"
+
+-#: cp/cvt.c:470 cp/typeck.c:5257
++#: cp/cvt.c:470 cp/typeck.c:5265
+ #, fuzzy, gcc-internal-format
+ msgid "casting %qT to %qT does not dereference pointer"
+ msgstr "typeomtvingning af '%T' til '%T' følger ikke henvisning"
+@@ -28095,191 +28053,191 @@
+ msgid "cannot convert type %qT to type %qT"
+ msgstr "kan ikke konvertere typen '%T' til typen '%T'"
+
+-#: cp/cvt.c:656
++#: cp/cvt.c:649
+ #, fuzzy, gcc-internal-format
+ msgid "conversion from %q#T to %q#T"
+ msgstr "konvertering fra '%#T' til '%#T'"
+
+-#: cp/cvt.c:668 cp/cvt.c:688
++#: cp/cvt.c:661 cp/cvt.c:681
+ #, fuzzy, gcc-internal-format
+ msgid "%q#T used where a %qT was expected"
+ msgstr "'%#T' benyttet hvor '%T' var forventet"
+
+-#: cp/cvt.c:703
++#: cp/cvt.c:696
+ #, fuzzy, gcc-internal-format
+ msgid "%q#T used where a floating point value was expected"
+ msgstr "'%#T' benyttet hvor der forventedes en kommatalsværdi"
+
+-#: cp/cvt.c:750
++#: cp/cvt.c:743
+ #, fuzzy, gcc-internal-format
+ msgid "conversion from %qT to non-scalar type %qT requested"
+ msgstr "konvertering fra '%T' til en ikke-skalartype '%T' udbedt"
+
+-#: cp/cvt.c:784
++#: cp/cvt.c:777
+ #, fuzzy, gcc-internal-format
+ msgid "pseudo-destructor is not called"
+ msgstr "parameter til egenskaben '%s' er større end %d"
+
+-#: cp/cvt.c:844
++#: cp/cvt.c:837
+ #, fuzzy, gcc-internal-format
+ msgid "object of incomplete type %qT will not be accessed in %s"
+ msgstr "objekt af den ufuldstændige type '%T' vil ikke blive tilgået i %s"
+
+-#: cp/cvt.c:849
++#: cp/cvt.c:842
+ #, fuzzy, gcc-internal-format
+ msgid "object of type %qT will not be accessed in %s"
+ msgstr "objekt af typen '%T' vil ikke blive tilgået i %s"
+
+-#: cp/cvt.c:865
++#: cp/cvt.c:858
+ #, fuzzy, gcc-internal-format
+ msgid "object %qE of incomplete type %qT will not be accessed in %s"
+ msgstr "objektet '%E' af den ufuldstændige type '%T' vil ikke blive tilgået i %s"
+
+ #. [over.over] enumerates the places where we can take the address
+ #. of an overloaded function, and this is not one of them.
+-#: cp/cvt.c:902
++#: cp/cvt.c:895
+ #, gcc-internal-format
+ msgid "%s cannot resolve address of overloaded function"
+ msgstr "%s kan ikke finde adressen af flertydiggjort funktion"
+
+ #. Only warn when there is no &.
+-#: cp/cvt.c:909
++#: cp/cvt.c:902
+ #, fuzzy, gcc-internal-format
+ msgid "%s is a reference, not call, to function %qE"
+ msgstr "%s er en reference til og ikke et kald af funktionen '%E'"
+
+-#: cp/cvt.c:926
++#: cp/cvt.c:919
+ #, fuzzy, gcc-internal-format
+ msgid "%s has no effect"
+ msgstr "%s har ingen %s"
+
+-#: cp/cvt.c:958
++#: cp/cvt.c:951
+ #, fuzzy, gcc-internal-format
+ msgid "value computed is not used"
+ msgstr "%Hberegnet værdi benyttes ikke"
+
+-#: cp/cvt.c:1068
++#: cp/cvt.c:1061
+ #, gcc-internal-format
+ msgid "converting NULL to non-pointer type"
+ msgstr "konverterer NULL til en ikke-henvisningstype"
+
+-#: cp/cvt.c:1174
++#: cp/cvt.c:1167
+ #, fuzzy, gcc-internal-format
+ msgid "ambiguous default type conversion from %qT"
+ msgstr "tvetydig standardtypekonvertering fra '%T'"
+
+-#: cp/cvt.c:1176
++#: cp/cvt.c:1169
+ #, fuzzy, gcc-internal-format
+ msgid " candidate conversions include %qD and %qD"
+ msgstr " kandidater til konverteringen inkluderer '%D' og '%D'"
+
+-#: cp/decl.c:1062
++#: cp/decl.c:1063
+ #, fuzzy, gcc-internal-format
+ msgid "%qD was declared %<extern%> and later %<static%>"
+ msgstr "'%s' blev erklæret 'extern' og derefter 'static'"
+
+-#: cp/decl.c:1063 cp/decl.c:1618 objc/objc-act.c:2931 objc/objc-act.c:7503
++#: cp/decl.c:1064 cp/decl.c:1619 objc/objc-act.c:2931 objc/objc-act.c:7503
+ #, fuzzy, gcc-internal-format
+ msgid "previous declaration of %q+D"
+ msgstr "'%D' er tidligere erklæret"
+
+-#: cp/decl.c:1096
++#: cp/decl.c:1097
+ #, fuzzy, gcc-internal-format
+ msgid "declaration of %qF throws different exceptions"
+ msgstr "erklæring af '%F' kaster forskellige undtagelser"
+
+-#: cp/decl.c:1097
++#: cp/decl.c:1098
+ #, fuzzy, gcc-internal-format
+ msgid "from previous declaration %q+F"
+ msgstr "end tidligere erklæring '%F'"
+
+-#: cp/decl.c:1153
++#: cp/decl.c:1154
+ #, fuzzy, gcc-internal-format
+ msgid "function %q+D redeclared as inline"
+ msgstr "funktionen '%s' omerklæret som inline"
+
+-#: cp/decl.c:1155
++#: cp/decl.c:1156
+ #, fuzzy, gcc-internal-format
+ msgid "previous declaration of %q+D with attribute noinline"
+ msgstr "tidligere erklæring af funktionen '%s' med egenskaben noinline"
+
+-#: cp/decl.c:1162
++#: cp/decl.c:1163
+ #, fuzzy, gcc-internal-format
+ msgid "function %q+D redeclared with attribute noinline"
+ msgstr "funktionen '%s' omerklæret med egenskaben noinline"
+
+-#: cp/decl.c:1164
++#: cp/decl.c:1165
+ #, fuzzy, gcc-internal-format
+ msgid "previous declaration of %q+D was inline"
+ msgstr "tidligere erklæring af funktionen '%s' var inline"
+
+-#: cp/decl.c:1186 cp/decl.c:1259
++#: cp/decl.c:1187 cp/decl.c:1260
+ #, fuzzy, gcc-internal-format
+ msgid "shadowing %s function %q#D"
+ msgstr "skygger for en %s-funktion '%#D'"
+
+-#: cp/decl.c:1195
++#: cp/decl.c:1196
+ #, fuzzy, gcc-internal-format
+ msgid "library function %q#D redeclared as non-function %q#D"
+ msgstr "biblioteksfunktionen '%#D' er omerklæret som '%#D' der ikke er en funktion"
+
+-#: cp/decl.c:1200
++#: cp/decl.c:1201
+ #, fuzzy, gcc-internal-format
+ msgid "conflicts with built-in declaration %q#D"
+ msgstr "strider mod indbygget erklæring '%#D'"
+
+ # følges af næste tekst
+-#: cp/decl.c:1254 cp/decl.c:1380 cp/decl.c:1396
++#: cp/decl.c:1255 cp/decl.c:1381 cp/decl.c:1397
+ #, fuzzy, gcc-internal-format
+ msgid "new declaration %q#D"
+ msgstr "ny erklæring af '%#D'"
+
+-#: cp/decl.c:1255
++#: cp/decl.c:1256
+ #, fuzzy, gcc-internal-format
+ msgid "ambiguates built-in declaration %q#D"
+ msgstr "tvetydiggør indbygget erklæring '%#D'"
+
+-#: cp/decl.c:1344
++#: cp/decl.c:1345
+ #, fuzzy, gcc-internal-format
+ msgid "%q#D redeclared as different kind of symbol"
+ msgstr "'%#D' omerklæret som en anden form for symbol"
+
+-#: cp/decl.c:1347
++#: cp/decl.c:1348
+ #, fuzzy, gcc-internal-format
+ msgid "previous declaration of %q+#D"
+ msgstr "tidligere erklæring af '%#D'"
+
+-#: cp/decl.c:1366
++#: cp/decl.c:1367
+ #, fuzzy, gcc-internal-format
+ msgid "declaration of template %q#D"
+ msgstr "erklæring af skabelon '%#D'"
+
+-#: cp/decl.c:1367 cp/name-lookup.c:527
++#: cp/decl.c:1368 cp/name-lookup.c:526
+ #, fuzzy, gcc-internal-format
+ msgid "conflicts with previous declaration %q+#D"
+ msgstr "strider mod tidligere erklæring '%#D'"
+
+-#: cp/decl.c:1381 cp/decl.c:1397
++#: cp/decl.c:1382 cp/decl.c:1398
+ #, fuzzy, gcc-internal-format
+ msgid "ambiguates old declaration %q+#D"
+ msgstr "tvetydiggør tidligere erklæring '%#D'"
+
+-#: cp/decl.c:1389
++#: cp/decl.c:1390
+ #, fuzzy, gcc-internal-format
+ msgid "declaration of C function %q#D conflicts with"
+ msgstr "erklæring af C-funktionen '%#D' strider mod"
+
+-#: cp/decl.c:1391
++#: cp/decl.c:1392
+ #, fuzzy, gcc-internal-format
+ msgid "previous declaration %q+#D here"
+ msgstr "tidligere erklæring af '%#D' her"
+
+-#: cp/decl.c:1405
++#: cp/decl.c:1406
+ #, fuzzy, gcc-internal-format
+ msgid "conflicting declaration %q#D"
+ msgstr "modstridende erklæringer af '%s'"
+
+-#: cp/decl.c:1406
++#: cp/decl.c:1407
+ #, fuzzy, gcc-internal-format
+ msgid "%q+D has a previous declaration as %q#D"
+ msgstr "tidligere erklæring som '%#D'"
+@@ -28291,63 +28249,63 @@
+ #. A namespace-name defined at global scope shall not be
+ #. declared as the name of any other entity in any global scope
+ #. of the program.
+-#: cp/decl.c:1458
++#: cp/decl.c:1459
+ #, fuzzy, gcc-internal-format
+ msgid "declaration of namespace %qD conflicts with"
+ msgstr "erklæring af C-funktionen '%#D' strider mod"
+
+-#: cp/decl.c:1459
++#: cp/decl.c:1460
+ #, fuzzy, gcc-internal-format
+ msgid "previous declaration of namespace %q+D here"
+ msgstr "tidligere erklæring af '%#D' her"
+
+-#: cp/decl.c:1470
++#: cp/decl.c:1471
+ #, fuzzy, gcc-internal-format
+ msgid "%q+#D previously defined here"
+ msgstr "'%#D' tidligere defineret her"
+
+ #. Prototype decl follows defn w/o prototype.
+-#: cp/decl.c:1480
++#: cp/decl.c:1481
+ #, fuzzy, gcc-internal-format
+ msgid "prototype for %q+#D"
+ msgstr "prototypen for '%#D'"
+
+-#: cp/decl.c:1481
++#: cp/decl.c:1482
+ #, fuzzy, gcc-internal-format
+ msgid "%Jfollows non-prototype definition here"
+ msgstr "følger definition uden prototype her"
+
+-#: cp/decl.c:1521
++#: cp/decl.c:1522
+ #, fuzzy, gcc-internal-format
+ msgid "previous declaration of %q+#D with %qL linkage"
+ msgstr "tidligere erklæring af '%#D' med %L-kædning"
+
+-#: cp/decl.c:1523
++#: cp/decl.c:1524
+ #, fuzzy, gcc-internal-format
+ msgid "conflicts with new declaration with %qL linkage"
+ msgstr "strider mod ny erklæring af med %L-kædning"
+
+-#: cp/decl.c:1546 cp/decl.c:1552
++#: cp/decl.c:1547 cp/decl.c:1553
+ #, fuzzy, gcc-internal-format
+ msgid "default argument given for parameter %d of %q#D"
+ msgstr "standardparameter givet til %d. parameter for '%#D'"
+
+-#: cp/decl.c:1548 cp/decl.c:1554
++#: cp/decl.c:1549 cp/decl.c:1555
+ #, fuzzy, gcc-internal-format
+ msgid "after previous specification in %q+#D"
+ msgstr "efter tidligere specifikation i '%#D'"
+
+-#: cp/decl.c:1563
++#: cp/decl.c:1564
+ #, fuzzy, gcc-internal-format
+ msgid "%q#D was used before it was declared inline"
+ msgstr "'%#D' blev brugt før erklæring som inline"
+
+-#: cp/decl.c:1564
++#: cp/decl.c:1565
+ #, fuzzy, gcc-internal-format
+ msgid "%Jprevious non-inline declaration here"
+ msgstr "tidligere ikke-inline erklæring her"
+
+-#: cp/decl.c:1617
++#: cp/decl.c:1618
+ #, fuzzy, gcc-internal-format
+ msgid "redundant redeclaration of %qD in same scope"
+ msgstr "overflødig omerklæring af '%D' i samme virkefelt"
+@@ -28360,313 +28318,319 @@
+ #. that specialization that would cause an implicit
+ #. instantiation to take place, in every translation unit in
+ #. which such a use occurs.
+-#: cp/decl.c:1932
++#: cp/decl.c:1939
+ #, fuzzy, gcc-internal-format
+ msgid "explicit specialization of %qD after first use"
+ msgstr "eksplicit specialisering af %D efter første brug"
+
+-#: cp/decl.c:2028
++#: cp/decl.c:2035
+ #, fuzzy, gcc-internal-format
+ msgid "%q+D: visibility attribute ignored because it"
+ msgstr "uforenelig egenskab '%s' ignoreret"
+
+-#: cp/decl.c:2030
++#: cp/decl.c:2037
+ #, fuzzy, gcc-internal-format
+ msgid "%Jconflicts with previous declaration here"
+ msgstr "strider mod tidligere erklæring '%#D'"
+
+-#: cp/decl.c:2457
++#: cp/decl.c:2464
+ #, fuzzy, gcc-internal-format
+ msgid "jump to label %qD"
+ msgstr "spring til etiketten '%D' "
+
+-#: cp/decl.c:2459
++#: cp/decl.c:2466
+ #, gcc-internal-format
+ msgid "jump to case label"
+ msgstr "spring til case-etiket"
+
+-#: cp/decl.c:2461
++#: cp/decl.c:2468
+ #, fuzzy, gcc-internal-format
+ msgid "%H from here"
+ msgstr " herfra"
+
+-#: cp/decl.c:2480 cp/decl.c:2643
++#: cp/decl.c:2487 cp/decl.c:2650
+ #, gcc-internal-format
+ msgid " exits OpenMP structured block"
+ msgstr ""
+
+-#: cp/decl.c:2501
++#: cp/decl.c:2508
+ #, fuzzy, gcc-internal-format
+ msgid " crosses initialization of %q+#D"
+ msgstr " krydser klargøring af '%#D'"
+
+-#: cp/decl.c:2503 cp/decl.c:2618
++#: cp/decl.c:2510 cp/decl.c:2625
+ #, fuzzy, gcc-internal-format
+ msgid " enters scope of non-POD %q+#D"
+ msgstr " går ind i virkefelt af ikke-POD '%#D'"
+
+-#: cp/decl.c:2516 cp/decl.c:2622
++#: cp/decl.c:2523 cp/decl.c:2629
+ #, gcc-internal-format
+ msgid " enters try block"
+ msgstr " går ind i try-blok"
+
+-#: cp/decl.c:2518 cp/decl.c:2624
++#: cp/decl.c:2525 cp/decl.c:2631
+ #, gcc-internal-format
+ msgid " enters catch block"
+ msgstr " går ind i catch-blok"
+
+-#: cp/decl.c:2528 cp/decl.c:2627
++#: cp/decl.c:2535 cp/decl.c:2634
+ #, fuzzy, gcc-internal-format
+ msgid " enters OpenMP structured block"
+ msgstr " går ind i try-blok"
+
+-#: cp/decl.c:2599 cp/decl.c:2639
++#: cp/decl.c:2606 cp/decl.c:2646
+ #, fuzzy, gcc-internal-format
+ msgid "jump to label %q+D"
+ msgstr "spring til etiketten '%D' "
+
+-#: cp/decl.c:2600 cp/decl.c:2640
++#: cp/decl.c:2607 cp/decl.c:2647
+ #, gcc-internal-format
+ msgid " from here"
+ msgstr " herfra"
+
+ #. Can't skip init of __exception_info.
+-#: cp/decl.c:2612
++#: cp/decl.c:2619
+ #, fuzzy, gcc-internal-format
+ msgid "%J enters catch block"
+ msgstr " går ind i catch-blok"
+
+-#: cp/decl.c:2616
++#: cp/decl.c:2623
+ #, fuzzy, gcc-internal-format
+ msgid " skips initialization of %q+#D"
+ msgstr " springer over klargøring af '%#D'"
+
+-#: cp/decl.c:2692
++#: cp/decl.c:2699
+ #, gcc-internal-format
+ msgid "label named wchar_t"
+ msgstr "etiket med navnet wchar_t"
+
+-#: cp/decl.c:2696
++#: cp/decl.c:2703
+ #, fuzzy, gcc-internal-format
+ msgid "duplicate label %qD"
+ msgstr "etiketten '%D' optræder mere end én gang"
+
+-#: cp/decl.c:2962
++#: cp/decl.c:2969
+ #, fuzzy, gcc-internal-format
+ msgid "%qD is not a type"
+ msgstr "'%T' er ikke en skabelon"
+
+-#: cp/decl.c:2968 cp/parser.c:4033
++#: cp/decl.c:2975 cp/parser.c:4037
+ #, fuzzy, gcc-internal-format
+ msgid "%qD used without template parameters"
+ msgstr "'%D' benyttet uden skabelonsparametre"
+
+-#: cp/decl.c:2983
++#: cp/decl.c:2990
+ #, fuzzy, gcc-internal-format
+ msgid "%q#T is not a class"
+ msgstr "'%#T' er ikke en skabelon"
+
+-#: cp/decl.c:2995 cp/decl.c:3063
++#: cp/decl.c:3002 cp/decl.c:3070
+ #, fuzzy, gcc-internal-format
+ msgid "no class template named %q#T in %q#T"
+ msgstr "ingen klasseskabelon ved navn '%#T' i '%#T'"
+
+-#: cp/decl.c:3003
++#: cp/decl.c:3010
+ #, gcc-internal-format
+ msgid "%<typename %T::%D%> names %q#T, which is not a class template"
+ msgstr ""
+
+-#: cp/decl.c:3010
++#: cp/decl.c:3017
+ #, gcc-internal-format
+ msgid "%<typename %T::%D%> names %q#T, which is not a type"
+ msgstr ""
+
+-#: cp/decl.c:3072
++#: cp/decl.c:3079
+ #, fuzzy, gcc-internal-format
+ msgid "template parameters do not match template"
+ msgstr "skabelonsparametre kan ikke være venner"
+
+-#: cp/decl.c:3073 cp/friend.c:321 cp/friend.c:329
++#: cp/decl.c:3080 cp/friend.c:321 cp/friend.c:329
+ #, fuzzy, gcc-internal-format
+ msgid "%q+D declared here"
+ msgstr " '%#D' erklæret her"
+
+-#: cp/decl.c:3711
++#: cp/decl.c:3727
+ #, fuzzy, gcc-internal-format
+ msgid "%Jan anonymous struct cannot have function members"
+ msgstr "en anonym union kan ikke have funktionsmedlemmer"
+
+-#: cp/decl.c:3713
++#: cp/decl.c:3729
+ #, fuzzy, gcc-internal-format
+ msgid "%Jan anonymous union cannot have function members"
+ msgstr "en anonym union kan ikke have funktionsmedlemmer"
+
+-#: cp/decl.c:3731
++#: cp/decl.c:3747
+ #, fuzzy, gcc-internal-format
+ 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.c:3734
++#: cp/decl.c:3750
+ #, fuzzy, gcc-internal-format
+ 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.c:3737
++#: cp/decl.c:3753
+ #, fuzzy, gcc-internal-format
+ 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.c:3762
++#: cp/decl.c:3778
+ #, gcc-internal-format
+ msgid "multiple types in one declaration"
+ msgstr "flere typer i én erklæring"
+
+-#: cp/decl.c:3766
++#: cp/decl.c:3782
+ #, fuzzy, gcc-internal-format
+ msgid "redeclaration of C++ built-in type %qT"
+ msgstr "omerklæring af indbygget type i C++ '%T'"
+
+-#: cp/decl.c:3803
++#: cp/decl.c:3819
+ #, gcc-internal-format
+ msgid "missing type-name in typedef-declaration"
+ msgstr "manglende typenavn i typedef-erklæring"
+
+-#: cp/decl.c:3811
++#: cp/decl.c:3827
+ #, gcc-internal-format
+ msgid "ISO C++ prohibits anonymous structs"
+ msgstr "ISO C++ forbyder anonyme strukturer"
+
+-#: cp/decl.c:3818
++#: cp/decl.c:3834
+ #, fuzzy, gcc-internal-format
+ msgid "%qs can only be specified for functions"
+ msgstr "'%D' kan kun angives for funktioner"
+
+-#: cp/decl.c:3824
++#: cp/decl.c:3840
+ #, fuzzy, gcc-internal-format
+ msgid "%<friend%> can only be specified inside a class"
+ msgstr "'%D' kan kun angives inden i en klasse"
+
+-#: cp/decl.c:3826
++#: cp/decl.c:3842
+ #, fuzzy, gcc-internal-format
+ msgid "%<explicit%> can only be specified for constructors"
+ msgstr "'%D' kan kun angives for konstruktionsfunktioner"
+
+-#: cp/decl.c:3828
++#: cp/decl.c:3844
+ #, fuzzy, gcc-internal-format
+ msgid "a storage class can only be specified for objects and functions"
+ msgstr "'%D' kan kun angives for objekter og funktioner"
+
+-#: cp/decl.c:3834
++#: cp/decl.c:3850
+ #, fuzzy, gcc-internal-format
+ msgid "qualifiers can only be specified for objects and functions"
+ msgstr "'%D' kan kun angives for objekter og funktioner"
+
+-#: cp/decl.c:3837
++#: cp/decl.c:3853
+ #, fuzzy, gcc-internal-format
+ msgid "%<typedef%> was ignored in this declaration"
+ msgstr "typen antages at være 'int' i erklæringen af '%s'"
+
+-#: cp/decl.c:3866
++#: cp/decl.c:3882
+ #, fuzzy, gcc-internal-format
+ msgid "attribute ignored in declaration of %q+#T"
+ msgstr "forhåndserklæring af '%#T'"
+
+-#: cp/decl.c:3867
++#: cp/decl.c:3883
+ #, gcc-internal-format
+ msgid "attribute for %q+#T must follow the %qs keyword"
+ msgstr ""
+
+-#: cp/decl.c:3909
++#: cp/decl.c:3925
+ #, fuzzy, gcc-internal-format
+-msgid "ignoring attributes applied to class type outside of definition"
++msgid "ignoring attributes applied to class type %qT outside of definition"
+ msgstr "egenskaben '%s' kan kun anvendes med klassedefinitioner"
+
+-#: cp/decl.c:3987
++#. A template type parameter or other dependent type.
++#: cp/decl.c:3929
++#, gcc-internal-format
++msgid "ignoring attributes applied to dependent type %qT without an associated declaration"
++msgstr ""
++
++#: cp/decl.c:4007
+ #, fuzzy, gcc-internal-format
+ msgid "function %q#D is initialized like a variable"
+ msgstr "funktionen '%#D' bliver tildelt en startværdi som en variabel"
+
+-#: cp/decl.c:3998
++#: cp/decl.c:4018
+ #, fuzzy, gcc-internal-format
+ msgid "declaration of %q#D has %<extern%> and is initialized"
+ msgstr "erklæringen af '%#D' indeholder 'extern' og variablen bliver tildelt en startværdi"
+
+-#: cp/decl.c:4014
++#: cp/decl.c:4034
+ #, fuzzy, gcc-internal-format
+ msgid "definition of %q#D is marked %<dllimport%>"
+ msgstr "'auto' er påhæftet funktionsdefinitionen"
+
+-#: cp/decl.c:4033
++#: cp/decl.c:4053
+ #, fuzzy, gcc-internal-format
+ msgid "%q#D is not a static member of %q#T"
+ msgstr "'%#D' er ikke et statisk medlem af '%#T'"
+
+-#: cp/decl.c:4039
++#: cp/decl.c:4059
+ #, fuzzy, gcc-internal-format
+ 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.c:4048
++#: cp/decl.c:4068
+ #, gcc-internal-format
+ msgid "template header not allowed in member definition of explicitly specialized class"
+ msgstr ""
+
+-#: cp/decl.c:4056
++#: cp/decl.c:4076
+ #, fuzzy, gcc-internal-format
+ msgid "duplicate initialization of %qD"
+ msgstr "%D tildelt startværdi mere end én gang"
+
+-#: cp/decl.c:4095
++#: cp/decl.c:4115
+ #, fuzzy, gcc-internal-format
+ 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.c:4188
++#: cp/decl.c:4208
+ #, fuzzy, gcc-internal-format
+ 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.c:4194 cp/decl.c:4906
++#: cp/decl.c:4214 cp/decl.c:4926
+ #, fuzzy, gcc-internal-format
+ msgid "elements of array %q#D have incomplete type"
+ msgstr "elementer i tabellen '%#D' er af en ufuldstændig type"
+
+-#: cp/decl.c:4200
++#: cp/decl.c:4220
+ #, fuzzy, gcc-internal-format
+ 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.c:4236
++#: cp/decl.c:4256
+ #, fuzzy, gcc-internal-format
+ msgid "%qD declared as reference but not initialized"
+ msgstr "'%D' erklæret som en reference, men bliver ikke tildelt en startværdi"
+
+-#: cp/decl.c:4242
++#: cp/decl.c:4262
+ #, fuzzy, gcc-internal-format
+ msgid "ISO C++ forbids use of initializer list to initialize reference %qD"
+ msgstr "ISO C++ forbyder brug af en startværdiliste til at klargøre referencen '%D'"
+
+-#: cp/decl.c:4268
++#: cp/decl.c:4288
+ #, fuzzy, gcc-internal-format
+ msgid "cannot initialize %qT from %qT"
+ msgstr "kan ikke klargøre '%T' fra %T'"
+
+-#: cp/decl.c:4296
++#: cp/decl.c:4316
+ #, gcc-internal-format
+ msgid "name %qD used in a GNU-style designated initializer for an array"
+ msgstr ""
+
+-#: cp/decl.c:4345
++#: cp/decl.c:4365
+ #, fuzzy, gcc-internal-format
+ msgid "initializer fails to determine size of %qD"
+ msgstr "startværdien giver ikke størrelsen af '%D'"
+
+-#: cp/decl.c:4352
++#: cp/decl.c:4372
+ #, fuzzy, gcc-internal-format
+ msgid "array size missing in %qD"
+ msgstr "tabelstørrelsen mangler i '%D'"
+
+-#: cp/decl.c:4364
++#: cp/decl.c:4384
+ #, fuzzy, gcc-internal-format
+ msgid "zero-size array %qD"
+ msgstr "nulstørrelsestabel '%D'"
+@@ -28674,241 +28638,251 @@
+ #. An automatic variable with an incomplete type: that is an error.
+ #. Don't talk about array types here, since we took care of that
+ #. message in grokdeclarator.
+-#: cp/decl.c:4407
++#: cp/decl.c:4427
+ #, fuzzy, gcc-internal-format
+ msgid "storage size of %qD isn't known"
+ msgstr "lagringsstørrelsen af '%D' er ikke kendt"
+
+-#: cp/decl.c:4429
++#: cp/decl.c:4449
+ #, fuzzy, gcc-internal-format
+ msgid "storage size of %qD isn't constant"
+ msgstr "lagringsstørrelsen af '%D' er ikke konstant"
+
+-#: cp/decl.c:4478
++#: cp/decl.c:4498
+ #, fuzzy, gcc-internal-format
+ 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.c:4481
++#: cp/decl.c:4501
+ #, fuzzy, gcc-internal-format
+ msgid "%J you can work around this by removing the initializer"
+ msgstr " du kan arbejde dig rundt om dette ved at fjerne startværdien"
+
+-#: cp/decl.c:4508
++#: cp/decl.c:4528
+ #, fuzzy, gcc-internal-format
+ msgid "uninitialized const %qD"
+ msgstr "konstant '%D' uden startværdi"
+
+-#: cp/decl.c:4620
++#: cp/decl.c:4640
+ #, fuzzy, gcc-internal-format
+ msgid "invalid type %qT as initializer for a vector of type %qT"
+ msgstr "ugyldig startværdi til virtuel medlemsfunktion '%D'"
+
+-#: cp/decl.c:4662
++#: cp/decl.c:4682
+ #, fuzzy, gcc-internal-format
+ msgid "initializer for %qT must be brace-enclosed"
+ msgstr "startværdi for '%T' skal være indesluttet i krøllede paranteser"
+
+-#: cp/decl.c:4680
++#: cp/decl.c:4700
+ #, fuzzy, gcc-internal-format
+ msgid "%qT has no non-static data member named %qD"
+ msgstr "'%T' har intet ikke-statisk medlem ved navn '%D'"
+
+-#: cp/decl.c:4731
++#: cp/decl.c:4751
+ #, fuzzy, gcc-internal-format
+ msgid "braces around scalar initializer for type %qT"
+ msgstr "krøllede paranteser omkring skalarstartværdi for '%T'"
+
+-#: cp/decl.c:4814
++#: cp/decl.c:4834
+ #, fuzzy, gcc-internal-format
+ msgid "missing braces around initializer for %qT"
+ msgstr "krøllede paranteser mangler omkring startværdien"
+
+-#: cp/decl.c:4871
++#: cp/decl.c:4891
+ #, fuzzy, gcc-internal-format
+ msgid "too many initializers for %qT"
+ msgstr "for mange startværdier for '%T'"
+
+-#: cp/decl.c:4914
++#: cp/decl.c:4934
+ #, fuzzy, gcc-internal-format
+ msgid "variable-sized object %qD may not be initialized"
+ msgstr "objektet '%D' af variabel størrelse må ikke tildeles en startværdi"
+
+-#: cp/decl.c:4920
++#: cp/decl.c:4940
+ #, fuzzy, gcc-internal-format
+ msgid "%qD has incomplete type"
+ msgstr "'%D' er af en ufuldstændig type"
+
+-#: cp/decl.c:4935
++#: cp/decl.c:4955
+ #, fuzzy, gcc-internal-format
+ msgid "scalar object %qD requires one element in initializer"
+ msgstr "for mange elementer i union-startværdi"
+
+ #. A non-aggregate that is not a scalar cannot be initialized
+ #. via an initializer-list in C++98.
+-#: cp/decl.c:4945
++#: cp/decl.c:4965
+ #, fuzzy, gcc-internal-format
+ msgid "braces around initializer for non-aggregate type %qT"
+ msgstr "krøllede paranteser omkring skalarstartværdi for '%T'"
+
+-#: cp/decl.c:4995
++#: cp/decl.c:5015
+ #, fuzzy, gcc-internal-format
+ msgid "%qD must be initialized by constructor, not by %<{...}%>"
+ msgstr "'%D' skal klargøres af en konstruktionsfunktion, ikke af '{...}'"
+
+-#: cp/decl.c:5031
++#: cp/decl.c:5051
+ #, fuzzy, gcc-internal-format
+ msgid "array %qD initialized by parenthesized string literal %qE"
+ msgstr "_Pragma tager en strengkonstant med paranteser omkring"
+
+-#: cp/decl.c:5046
++#: cp/decl.c:5066
+ #, fuzzy, gcc-internal-format
+ msgid "structure %qD with uninitialized const members"
+ msgstr "struktur '%D' med konstante medlemmer uden startværdi"
+
+-#: cp/decl.c:5048
++#: cp/decl.c:5068
+ #, fuzzy, gcc-internal-format
+ msgid "structure %qD with uninitialized reference members"
+ msgstr "struktur '%D' med referencemedlemmer uden startværdi"
+
+-#: cp/decl.c:5330
++#: cp/decl.c:5364
+ #, gcc-internal-format
+ msgid "assignment (not initialization) in declaration"
+ msgstr "tildeling (ikke klargøring) i erklæring"
+
+-#: cp/decl.c:5420
++#: cp/decl.c:5460
+ #, fuzzy, gcc-internal-format
+ msgid "shadowing previous type declaration of %q#D"
+ msgstr "skygger for tidligere typeerklæring af '%#D'"
+
+-#: cp/decl.c:5450
++#: cp/decl.c:5490
+ #, fuzzy, gcc-internal-format
+ msgid "%qD cannot be thread-local because it has non-POD type %qT"
+ msgstr "'%D' kan ikke være trådlokal eftersom den er af en ikke-POD type '%T'"
+
+-#: cp/decl.c:5485
++#: cp/decl.c:5522
++#, gcc-internal-format
++msgid "Java object %qD not allocated with %<new%>"
++msgstr ""
++
++#: cp/decl.c:5539
+ #, fuzzy, gcc-internal-format
+ msgid "%qD is thread-local and so cannot be dynamically initialized"
+ msgstr "'%D' er trådlokal og kan derfor ikke blive tildelt en startværdi dynamisk"
+
+-#: cp/decl.c:5503
++#: cp/decl.c:5557
+ #, fuzzy, gcc-internal-format
+ msgid "%qD cannot be initialized by a non-constant expression when being declared"
+ msgstr "tabel får tildelt en startværdi fra et tabeludtryk der ikke er konstant"
+
+-#: cp/decl.c:6160
++#: cp/decl.c:5597
++#, gcc-internal-format
++msgid "non-static data member %qD has Java class type"
++msgstr ""
++
++#: cp/decl.c:6232
+ #, fuzzy, gcc-internal-format
+ 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.c:6162
++#: cp/decl.c:6234
+ #, fuzzy, gcc-internal-format
+ 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.c:6183
++#: cp/decl.c:6255
+ #, fuzzy, gcc-internal-format
+ msgid "%qD declared as a %<virtual%> %s"
+ msgstr "'%D' erklæret som 'virtual' %s"
+
+-#: cp/decl.c:6185
++#: cp/decl.c:6257
+ #, fuzzy, gcc-internal-format
+ msgid "%qD declared as an %<inline%> %s"
+ msgstr "'%D' erklæret som 'inline' %s"
+
+ # %s bliver omsat til typen
+-#: cp/decl.c:6187
++#: cp/decl.c:6259
+ #, fuzzy, gcc-internal-format
+ msgid "%<const%> and %<volatile%> function specifiers on %qD invalid in %s declaration"
+ msgstr "'const'- og 'volatile'-funktionsangivelser til '%D' er ugyldigt i erklæring af %s"
+
+-#: cp/decl.c:6191
++#: cp/decl.c:6263
+ #, fuzzy, gcc-internal-format
+ msgid "%q+D declared as a friend"
+ msgstr "'%D' er erklæret som en ven"
+
+-#: cp/decl.c:6197
++#: cp/decl.c:6269
+ #, fuzzy, gcc-internal-format
+ msgid "%q+D declared with an exception specification"
+ msgstr "'%D' erklæret med en undtagelsesspecifikation"
+
+-#: cp/decl.c:6231
++#: cp/decl.c:6303
+ #, fuzzy, gcc-internal-format
+ 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.c:6342
++#: cp/decl.c:6414
+ #, fuzzy, gcc-internal-format
+ msgid "defining explicit specialization %qD in friend declaration"
+ msgstr "definering af eksplicit specialisering '%D' i friend-erklæring"
+
+ #. Something like `template <class T> friend void f<T>()'.
+-#: cp/decl.c:6352
++#: cp/decl.c:6424
+ #, fuzzy, gcc-internal-format
+ 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.c:6382
++#: cp/decl.c:6454
+ #, fuzzy, gcc-internal-format
+ 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.c:6390
++#: cp/decl.c:6462
+ #, fuzzy, gcc-internal-format
+ msgid "%<inline%> is not allowed in declaration of friend template specialization %qD"
+ msgstr "'inline' er ikke tilladt i erklæring venneskabelonsspecialisering '%D'"
+
+-#: cp/decl.c:6433
++#: cp/decl.c:6505
+ #, fuzzy, gcc-internal-format
+ msgid "cannot declare %<::main%> to be a template"
+ msgstr "kan ikke erklære '::main' som en skabelon"
+
+-#: cp/decl.c:6435
++#: cp/decl.c:6507
+ #, fuzzy, gcc-internal-format
+ msgid "cannot declare %<::main%> to be inline"
+ msgstr "kan ikke erklære '::main' som indlejret"
+
+-#: cp/decl.c:6437
++#: cp/decl.c:6509
+ #, fuzzy, gcc-internal-format
+ msgid "cannot declare %<::main%> to be static"
+ msgstr "kan ikke erklære '::main' som statisk"
+
+-#: cp/decl.c:6465
++#: cp/decl.c:6537
+ #, fuzzy, gcc-internal-format
+ msgid "non-local function %q#D uses anonymous type"
+ msgstr "ikke-lokal funktion '%#D' bruger anonym type"
+
+-#: cp/decl.c:6468 cp/decl.c:6748
++#: cp/decl.c:6540 cp/decl.c:6820
+ #, fuzzy, gcc-internal-format
+ msgid "%q+#D does not refer to the unqualified type, so it is not used for linkage"
+ msgstr "'%#D' refererer ikke til den ikkemodificerede type, so den bruges ikke til sammenkædning"
+
+-#: cp/decl.c:6474
++#: cp/decl.c:6546
+ #, fuzzy, gcc-internal-format
+ msgid "non-local function %q#D uses local type %qT"
+ msgstr "ikke-lokal funktion '%#D' bruger lokal type '%T'"
+
+-#: cp/decl.c:6498
++#: cp/decl.c:6570
+ #, fuzzy, gcc-internal-format
+ msgid "static member function %qD cannot have cv-qualifier"
+ msgstr "%smedlemsfunktion '%D' kan ikke have metodemodifikationen '%T'"
+
+-#: cp/decl.c:6499
++#: cp/decl.c:6571
+ #, fuzzy, gcc-internal-format
+ msgid "non-member function %qD cannot have cv-qualifier"
+ msgstr "%smedlemsfunktion '%D' kan ikke have metodemodifikationen '%T'"
+
+-#: cp/decl.c:6547
++#: cp/decl.c:6619
+ #, fuzzy, gcc-internal-format
+ msgid "%<::main%> must return %<int%>"
+ msgstr "'main' skal returnere typen 'int'"
+
+-#: cp/decl.c:6586
++#: cp/decl.c:6658
+ #, fuzzy, gcc-internal-format
+ msgid "definition of implicitly-declared %qD"
+ msgstr "definition af underforstået-erklæret '%D'"
+
+-#: cp/decl.c:6603 cp/decl2.c:677
++#: cp/decl.c:6675 cp/decl2.c:677
+ #, fuzzy, gcc-internal-format
+ msgid "no %q#D member function declared in class %qT"
+ msgstr "ingen medlemsfunktion '%#D' erklæret i klassen '%T'"
+@@ -28917,546 +28891,551 @@
+ #. 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/decl.c:6745
++#: cp/decl.c:6817
+ #, fuzzy, gcc-internal-format
+ msgid "non-local variable %q#D uses anonymous type"
+ msgstr "ikke-lokal funktion '%#D' bruger anonym type"
+
+-#: cp/decl.c:6754
++#: cp/decl.c:6826
+ #, fuzzy, gcc-internal-format
+ msgid "non-local variable %q#D uses local type %qT"
+ msgstr "ikke-lokal variabel '%#D' bruger lokal type '%T'"
+
+-#: cp/decl.c:6876
++#: cp/decl.c:6948
+ #, fuzzy, gcc-internal-format
+ 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.c:6886
++#: cp/decl.c:6958
+ #, fuzzy, gcc-internal-format
+ 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.c:6890
++#: cp/decl.c:6962
+ #, fuzzy, gcc-internal-format
+ 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.c:6915
++#: cp/decl.c:6987
+ #, 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.c:6917
++#: cp/decl.c:6989
+ #, 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.c:6965
++#: cp/decl.c:7037
+ #, fuzzy, gcc-internal-format
+ msgid "size of array %qD is negative"
+ msgstr "størrelsen af tabellen '%D' er negativ"
+
+-#: cp/decl.c:6967
++#: cp/decl.c:7039
+ #, gcc-internal-format
+ msgid "size of array is negative"
+ msgstr "størrelsen af tabel er negativ"
+
+-#: cp/decl.c:6975
++#: cp/decl.c:7047
+ #, fuzzy, gcc-internal-format
+ msgid "ISO C++ forbids zero-size array %qD"
+ msgstr "ISO C++ forbyder tabellen '%D' med størrelsen nul"
+
+-#: cp/decl.c:6977
++#: cp/decl.c:7049
+ #, gcc-internal-format
+ msgid "ISO C++ forbids zero-size array"
+ msgstr "ISO C++ forbyder tabel med størrelsen nul"
+
+-#: cp/decl.c:6984
++#: cp/decl.c:7056
+ #, fuzzy, gcc-internal-format
+ 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.c:6987
++#: cp/decl.c:7059
+ #, 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.c:6993
++#: cp/decl.c:7065
+ #, fuzzy, gcc-internal-format
+ msgid "ISO C++ forbids variable length array %qD"
+ msgstr "ISO C++ forbyder tabellen '%D' med variabel størrelse"
+
+-#: cp/decl.c:6995
++#: cp/decl.c:7067
+ #, fuzzy, gcc-internal-format
+ msgid "ISO C++ forbids variable length array"
+ msgstr "ISO C++ forbyder tabel med variabel størrelse"
+
+-#: cp/decl.c:7001
++#: cp/decl.c:7073
+ #, gcc-internal-format
+ msgid "variable length array %qD is used"
+ msgstr ""
+
+-#: cp/decl.c:7035
++#: cp/decl.c:7107
+ #, gcc-internal-format
+ msgid "overflow in array dimension"
+ msgstr "tabeldimension for stor"
+
+-#: cp/decl.c:7116
++#: cp/decl.c:7188
+ #, fuzzy, gcc-internal-format
+ msgid "declaration of %qD as %s"
+ msgstr "erklæring af '%D' som %s"
+
+-#: cp/decl.c:7118
++#: cp/decl.c:7190
+ #, gcc-internal-format
+ msgid "creating %s"
+ msgstr "opretter %s"
+
+-#: cp/decl.c:7130
++#: cp/decl.c:7202
+ #, fuzzy, gcc-internal-format
+ 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.c:7134
++#: cp/decl.c:7206
+ #, 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.c:7169
++#: cp/decl.c:7241
+ #, gcc-internal-format
+ msgid "return type specification for constructor invalid"
+ msgstr "angivelse af returneringstypen til konstruktionsfunktion er ugyldigt"
+
+-#: cp/decl.c:7179
++#: cp/decl.c:7251
+ #, gcc-internal-format
+ msgid "return type specification for destructor invalid"
+ msgstr "angivelse af returneringstypen til destruktionsfunktion er ugyldigt"
+
+-#: cp/decl.c:7192
++#: cp/decl.c:7264
+ #, fuzzy, gcc-internal-format
+ msgid "return type specified for %<operator %T%>"
+ msgstr "returtype angivet for 'operator %T'"
+
+-#: cp/decl.c:7214
++#: cp/decl.c:7286
+ #, gcc-internal-format
+ msgid "unnamed variable or field declared void"
+ msgstr "unavngiven variabel eller felt erklæret void"
+
+-#: cp/decl.c:7218
++#: cp/decl.c:7290
+ #, fuzzy, gcc-internal-format
+ msgid "variable or field %qE declared void"
+ msgstr "variabel eller felt erklæret void"
+
+-#: cp/decl.c:7221
++#: cp/decl.c:7293
+ #, gcc-internal-format
+ msgid "variable or field declared void"
+ msgstr "variabel eller felt erklæret void"
+
+-#: cp/decl.c:7388
++#: cp/decl.c:7460
+ #, fuzzy, gcc-internal-format
+ msgid "invalid use of qualified-name %<::%D%>"
+ msgstr "ugyldig brug af medlemmet '%D'"
+
+-#: cp/decl.c:7391
++#: cp/decl.c:7463
+ #, fuzzy, gcc-internal-format
+ msgid "invalid use of qualified-name %<%T::%D%>"
+ msgstr "ugyldig definition af modificeret type '%T'"
+
+-#: cp/decl.c:7394
++#: cp/decl.c:7466
+ #, fuzzy, gcc-internal-format
+ msgid "invalid use of qualified-name %<%D::%D%>"
+ msgstr "ugyldig brug af medlemmet '%D'"
+
+-#: cp/decl.c:7406
++#: cp/decl.c:7478
+ #, fuzzy, gcc-internal-format
+ msgid "type %qT is not derived from type %qT"
+ msgstr "typen '%T' er ikke nedarvet fra typen '%T'"
+
+-#: cp/decl.c:7422 cp/decl.c:7512 cp/decl.c:8660
++#: cp/decl.c:7494 cp/decl.c:7584 cp/decl.c:8732
+ #, fuzzy, gcc-internal-format
+ msgid "declaration of %qD as non-function"
+ msgstr "erklæring af '%D' som ikke-funktion"
+
+-#: cp/decl.c:7428
++#: cp/decl.c:7500
+ #, fuzzy, gcc-internal-format
+ msgid "declaration of %qD as non-member"
+ msgstr "erklæring af '%D' som ikke-funktion"
+
+-#: cp/decl.c:7457
++#: cp/decl.c:7529
+ #, fuzzy, gcc-internal-format
+ msgid "declarator-id missing; using reserved word %qD"
+ msgstr "erklærer-id mangler; bruger reserveret ord '%D'"
+
+-#: cp/decl.c:7504
++#: cp/decl.c:7576
+ #, fuzzy, gcc-internal-format
+ msgid "function definition does not declare parameters"
+ msgstr "'register' er påhæftet funktionsdefinitionen"
+
+-#: cp/decl.c:7546
++#: cp/decl.c:7618
+ #, fuzzy, gcc-internal-format
+ msgid "two or more data types in declaration of %qs"
+ msgstr "mere end én datatype i erklæringen af '%s'"
+
+-#: cp/decl.c:7552
++#: cp/decl.c:7624
+ #, fuzzy, gcc-internal-format
+ msgid "conflicting specifiers in declaration of %qs"
+ msgstr "modstridende erklæringer af '%s'"
+
+-#: cp/decl.c:7623 cp/decl.c:7626
++#: cp/decl.c:7695 cp/decl.c:7698
+ #, fuzzy, gcc-internal-format
+ msgid "ISO C++ forbids declaration of %qs with no type"
+ msgstr "ISO C++ forbyder erklæring af '%s' uden en type"
+
+-#: cp/decl.c:7651
++#: cp/decl.c:7723
+ #, fuzzy, gcc-internal-format
+ msgid "%<signed%> or %<unsigned%> invalid for %qs"
+ msgstr "short, signed eller unsigned er ugyldig for '%s'"
+
+-#: cp/decl.c:7653
++#: cp/decl.c:7725
+ #, fuzzy, gcc-internal-format
+ msgid "%<signed%> and %<unsigned%> specified together for %qs"
+ msgstr "signed og unsigned er begge angivet for '%s'"
+
+-#: cp/decl.c:7655
++#: cp/decl.c:7727
+ #, fuzzy, gcc-internal-format
+ msgid "%<long long%> invalid for %qs"
+ msgstr "complex ugyldig for '%s'"
+
+-#: cp/decl.c:7657
++#: cp/decl.c:7729
+ #, fuzzy, gcc-internal-format
+ msgid "%<long%> invalid for %qs"
+ msgstr "complex ugyldig for '%s'"
+
+-#: cp/decl.c:7659
++#: cp/decl.c:7731
+ #, fuzzy, gcc-internal-format
+ msgid "%<short%> invalid for %qs"
+ msgstr "complex ugyldig for '%s'"
+
+-#: cp/decl.c:7661
++#: cp/decl.c:7733
+ #, fuzzy, gcc-internal-format
+ msgid "%<long%> or %<short%> invalid for %qs"
+ msgstr "long, short, signed og unsigned er ugyldige for '%s'"
+
+-#: cp/decl.c:7663
++#: cp/decl.c:7735
+ #, fuzzy, gcc-internal-format
+ msgid "%<long%> or %<short%> specified with char for %qs"
+ msgstr "long eller short angivet samtidig med char for '%s'"
+
+-#: cp/decl.c:7665
++#: cp/decl.c:7737
+ #, fuzzy, gcc-internal-format
+ msgid "%<long%> and %<short%> specified together for %qs"
+ msgstr "long og short er begge angivet for '%s'"
+
+-#: cp/decl.c:7671
++#: cp/decl.c:7743
+ #, fuzzy, gcc-internal-format
+ msgid "long, short, signed or unsigned used invalidly for %qs"
+ msgstr "long, short, signed og unsigned er benyttet på ugyldig vis for '%s'"
+
+-#: cp/decl.c:7735
++#: cp/decl.c:7807
+ #, fuzzy, gcc-internal-format
+ msgid "complex invalid for %qs"
+ msgstr "complex ugyldig for '%s'"
+
+-#: cp/decl.c:7764
++#: cp/decl.c:7836
+ #, fuzzy, gcc-internal-format
+ msgid "qualifiers are not allowed on declaration of %<operator %T%>"
+ msgstr "modifikationer er ikke tilladt i erklæring af 'operator %T'"
+
+-#: cp/decl.c:7776 cp/typeck.c:7011
++#: cp/decl.c:7848 cp/typeck.c:7039
+ #, fuzzy, gcc-internal-format
+ msgid "ignoring %qV qualifiers added to function type %qT"
+ msgstr "ignorerer modifikationerne '%V' til '%T'"
+
+-#: cp/decl.c:7799
++#: cp/decl.c:7871
+ #, fuzzy, gcc-internal-format
+ msgid "member %qD cannot be declared both virtual and static"
+ msgstr "medlemmet '%D' kan ikke afklæres både virtual og static"
+
+-#: cp/decl.c:7807
++#: cp/decl.c:7879
+ #, fuzzy, gcc-internal-format
+ msgid "%<%T::%D%> is not a valid declarator"
+ msgstr "'%T::%D' er ikke en gyldig erklærer"
+
+-#: cp/decl.c:7816
++#: cp/decl.c:7888
+ #, gcc-internal-format
+ msgid "typedef declaration invalid in parameter declaration"
+ msgstr "typedef-erklæringer er ugyldig i parametererklæringer"
+
+-#: cp/decl.c:7822
++#: cp/decl.c:7894
+ #, gcc-internal-format
+ msgid "storage class specifiers invalid in parameter declarations"
+ msgstr "lagringsklasseanvisninger er ugyldige i parametererklæringer"
+
+-#: cp/decl.c:7829
++#: cp/decl.c:7901
+ #, gcc-internal-format
+ msgid "virtual outside class declaration"
+ msgstr "virtual angivet uden for klasseerklæring"
+
+-#: cp/decl.c:7847
++#: cp/decl.c:7919
+ #, fuzzy, gcc-internal-format
+ msgid "multiple storage classes in declaration of %qs"
+ msgstr "flere lagringsklasser optræder i erklæringen af '%s'"
+
+-#: cp/decl.c:7870
++#: cp/decl.c:7942
+ #, fuzzy, gcc-internal-format
+ msgid "storage class specified for %qs"
+ msgstr "lagringsklasse angivet for %s '%s'"
+
+-#: cp/decl.c:7904
++#: cp/decl.c:7976
+ #, fuzzy, gcc-internal-format
+ msgid "top-level declaration of %qs specifies %<auto%>"
+ msgstr "erklæring af '%s' på øverste niveau angiver 'auto'"
+
+-#: cp/decl.c:7916
++#: cp/decl.c:7988
+ #, gcc-internal-format
+ msgid "storage class specifiers invalid in friend function declarations"
+ msgstr "lagringsklasseanvisninger er ugyldige i vennefunktionserklæringer"
+
+-#: cp/decl.c:8043
++#: cp/decl.c:8115
+ #, gcc-internal-format
+ msgid "destructor cannot be static member function"
+ msgstr "destruktionsfunktionen kan ikke være en statisk medlemsfunktion"
+
+-#: cp/decl.c:8048
++#: cp/decl.c:8120
+ #, fuzzy, gcc-internal-format
+ msgid "destructors may not be cv-qualified"
+ msgstr "destruktionsfunktioner må ikke være '%s'"
+
+-#: cp/decl.c:8066
++#: cp/decl.c:8138
+ #, gcc-internal-format
+ msgid "constructors cannot be declared virtual"
+ msgstr "konstruktionsfunktioner kan ikke erklæres virtual"
+
+-#: cp/decl.c:8079
++#: cp/decl.c:8151
+ #, fuzzy, gcc-internal-format
+ msgid "can't initialize friend function %qs"
+ msgstr "kan ikke tildele en startværdi til vennefunktionen '%s'"
+
+ #. Cannot be both friend and virtual.
+-#: cp/decl.c:8083
++#: cp/decl.c:8155
+ #, gcc-internal-format
+ msgid "virtual functions cannot be friends"
+ msgstr "en virtuel funktion kan ikke erklæres som friend"
+
+-#: cp/decl.c:8087
++#: cp/decl.c:8159
+ #, gcc-internal-format
+ msgid "friend declaration not in class definition"
+ msgstr "friend-erklæringen er ikke i klassedefinitionen"
+
+-#: cp/decl.c:8089
++#: cp/decl.c:8161
+ #, fuzzy, gcc-internal-format
+ msgid "can't define friend function %qs in a local class definition"
+ msgstr "kan ikke definere vennefunktion '%s' i en lokal klassedefinition"
+
+-#: cp/decl.c:8102
++#: cp/decl.c:8174
+ #, gcc-internal-format
+ msgid "destructors may not have parameters"
+ msgstr "destruktionsfunktioner må ikke have parametre"
+
+-#: cp/decl.c:8121
++#: cp/decl.c:8193
+ #, fuzzy, gcc-internal-format
+ msgid "cannot declare pointer to %q#T"
+ msgstr "kan ikke erklære henvisning til '%#T'"
+
+-#: cp/decl.c:8134 cp/decl.c:8141
++#: cp/decl.c:8206 cp/decl.c:8213
+ #, fuzzy, gcc-internal-format
+ msgid "cannot declare reference to %q#T"
+ msgstr "kan ikke erklære reference til '%#T'"
+
+-#: cp/decl.c:8143
++#: cp/decl.c:8215
+ #, fuzzy, gcc-internal-format
+ msgid "cannot declare pointer to %q#T member"
+ msgstr "kan ikke erklære henvisning til medlemmet '%#T'"
+
+-#: cp/decl.c:8194
++#: cp/decl.c:8266
+ #, gcc-internal-format
+ msgid "cannot declare reference to %q#T, which is not a typedef or a template type argument"
+ msgstr ""
+
+-#: cp/decl.c:8238
++#: cp/decl.c:8310
+ #, fuzzy, gcc-internal-format
+ msgid "template-id %qD used as a declarator"
+ msgstr "skabelons-id '%D' benyttet som erklærer"
+
+-#: cp/decl.c:8289
++#: cp/decl.c:8361
+ #, gcc-internal-format
+ msgid "member functions are implicitly friends of their class"
+ msgstr "medlemsfunktioner er underforstået venner af deres klasse"
+
+-#: cp/decl.c:8293
++#: cp/decl.c:8365
+ #, fuzzy, gcc-internal-format
+ msgid "extra qualification %<%T::%> on member %qs"
+ msgstr "ekstra modifikation '%T::' af medlemmet '%s' ignoreret"
+
+-#: cp/decl.c:8325
++#: cp/decl.c:8397
+ #, fuzzy, gcc-internal-format
+ msgid "cannot define member function %<%T::%s%> within %<%T%>"
+ msgstr "kan ikke erklære medlemsfunktion '%T::%s' inde i '%T'"
+
+-#: cp/decl.c:8342
++#: cp/decl.c:8414
+ #, fuzzy, gcc-internal-format
+ msgid "cannot declare member %<%T::%s%> within %qT"
+ msgstr "kan ikke erklære medlem '%T::%s' inde i '%T'"
+
+-#: cp/decl.c:8365
++#: cp/decl.c:8437
+ #, fuzzy, gcc-internal-format
+ msgid "non-parameter %qs cannot be a parameter pack"
+ msgstr "datamedlem '%D' kan ikke være en medlemsskabelon"
+
+-#: cp/decl.c:8386
++#: cp/decl.c:8458
+ #, fuzzy, gcc-internal-format
+ msgid "data member may not have variably modified type %qT"
+ msgstr "datamedlem må ikke have variabelt ændret type '%T'"
+
+-#: cp/decl.c:8388
++#: cp/decl.c:8460
+ #, fuzzy, gcc-internal-format
+ msgid "parameter may not have variably modified type %qT"
+ msgstr "parameter må ikke have variabelt ændret type '%T'"
+
+ #. [dcl.fct.spec] The explicit specifier shall only be used in
+ #. declarations of constructors within a class definition.
+-#: cp/decl.c:8396
++#: cp/decl.c:8468
+ #, fuzzy, gcc-internal-format
+ msgid "only declarations of constructors can be %<explicit%>"
+ msgstr "kun erklæringer af konstruktionsfunktioner kan være 'explicit'"
+
+-#: cp/decl.c:8404
++#: cp/decl.c:8476
+ #, fuzzy, gcc-internal-format
+ msgid "non-member %qs cannot be declared %<mutable%>"
+ msgstr "'%s' som ikke er medlem, kan ikke erklæres 'mutable'"
+
+-#: cp/decl.c:8409
++#: cp/decl.c:8481
+ #, fuzzy, gcc-internal-format
+ msgid "non-object member %qs cannot be declared %<mutable%>"
+ msgstr "'%s' som ikke er objektmedlem, kan ikke erklæres 'mutable'"
+
+-#: cp/decl.c:8415
++#: cp/decl.c:8487
+ #, fuzzy, gcc-internal-format
+ msgid "function %qs cannot be declared %<mutable%>"
+ msgstr "funktionen '%s' kan ikke erklæres 'mutable'"
+
+-#: cp/decl.c:8420
++#: cp/decl.c:8492
+ #, fuzzy, gcc-internal-format
+ msgid "static %qs cannot be declared %<mutable%>"
+ msgstr "static '%s' kan ikke erklæres 'mutable'"
+
+-#: cp/decl.c:8425
++#: cp/decl.c:8497
+ #, fuzzy, gcc-internal-format
+ msgid "const %qs cannot be declared %<mutable%>"
+ msgstr "const '%s' kan ikke erklæres 'mutable'"
+
+-#: cp/decl.c:8462
++#: cp/decl.c:8534
+ #, fuzzy, gcc-internal-format
+ msgid "%Jtypedef name may not be a nested-name-specifier"
+ msgstr "typedef-navn kan ikke klassemodificeres"
+
+-#: cp/decl.c:8478
++#: cp/decl.c:8550
+ #, fuzzy, gcc-internal-format
+ msgid "ISO C++ forbids nested type %qD with same name as enclosing class"
+ msgstr "ISO C++ forbyder indlejret type '%D' med samme navn som den omgivende klasse"
+
+-#: cp/decl.c:8564
++#: cp/decl.c:8636
+ #, fuzzy, gcc-internal-format
+ msgid "qualified function types cannot be used to declare static member functions"
+ msgstr "destruktionsfunktionen kan ikke være en statisk medlemsfunktion"
+
+-#: cp/decl.c:8566
++#: cp/decl.c:8638
+ #, fuzzy, gcc-internal-format
+ msgid "qualified function types cannot be used to declare free functions"
+ msgstr "en funktions returtype kan ikke være en funktion"
+
+-#: cp/decl.c:8592
++#: cp/decl.c:8664
+ #, gcc-internal-format
+ msgid "type qualifiers specified for friend class declaration"
+ msgstr "typemodifikationer angivet for friend class-erklæring"
+
+-#: cp/decl.c:8597
++#: cp/decl.c:8669
+ #, fuzzy, gcc-internal-format
+ msgid "%<inline%> specified for friend class declaration"
+ msgstr "'inline' angivet for friend class-erklæring"
+
+-#: cp/decl.c:8605
++#: cp/decl.c:8677
+ #, gcc-internal-format
+ msgid "template parameters cannot be friends"
+ msgstr "skabelonsparametre kan ikke være venner"
+
+-#: cp/decl.c:8607
++#: cp/decl.c:8679
+ #, fuzzy, gcc-internal-format
+ msgid "friend declaration requires class-key, i.e. %<friend class %T::%D%>"
+ msgstr "friend-erklæring kræver klasseangivelse, dvs. 'friend class %T::%D'"
+
+-#: cp/decl.c:8611
++#: cp/decl.c:8683
+ #, fuzzy, gcc-internal-format
+ msgid "friend declaration requires class-key, i.e. %<friend %#T%>"
+ msgstr "friend-erklæring kræver klasseangivelse, dvs. 'friend %#T'"
+
+-#: cp/decl.c:8624
++#: cp/decl.c:8696
+ #, fuzzy, gcc-internal-format
+ msgid "trying to make class %qT a friend of global scope"
+ msgstr "forsøg på at gøre klassen '%T' til ven af det globale virkningsfelt"
+
+-#: cp/decl.c:8635
++#: cp/decl.c:8707
+ #, gcc-internal-format
+ msgid "invalid qualifiers on non-member function type"
+ msgstr "ugyldige modifikationer for ikke-medlemsfunktionstype"
+
+-#: cp/decl.c:8650
++#: cp/decl.c:8722
+ #, fuzzy, gcc-internal-format
+ msgid "abstract declarator %qT used as declaration"
+ msgstr "abstrakt erklærer '%T' benyttet som erklæring"
+
+-#: cp/decl.c:8679
++#: cp/decl.c:8751
+ #, fuzzy, gcc-internal-format
+ msgid "cannot use %<::%> in parameter declaration"
+ msgstr "kan ikke bruge '::' i parametererklæring"
+
+ #. Something like struct S { int N::j; };
+-#: cp/decl.c:8725
++#: cp/decl.c:8797
+ #, fuzzy, gcc-internal-format
+ msgid "invalid use of %<::%>"
+ msgstr "ugyldig brug af '::'"
+
+-#: cp/decl.c:8740
++#: cp/decl.c:8812
+ #, fuzzy, gcc-internal-format
+ msgid "can't make %qD into a method -- not in a class"
+ msgstr "kan ikke gøre '%D' til en metode - er ikke i en klasse"
+
+-#: cp/decl.c:8749
++#: cp/decl.c:8821
+ #, fuzzy, gcc-internal-format
+ msgid "function %qD declared virtual inside a union"
+ msgstr "funktionen '%D' erklæret virtual inden i en union"
+
+-#: cp/decl.c:8758
++#: cp/decl.c:8830
+ #, fuzzy, gcc-internal-format
+ msgid "%qD cannot be declared virtual, since it is always static"
+ msgstr "'%D' kan ikke erklæres virtual eftersom den altid er statisk"
+
+-#: cp/decl.c:8774
++#: cp/decl.c:8846
+ #, fuzzy, gcc-internal-format
+ msgid "expected qualified name in friend declaration for destructor %qD"
+ msgstr "modifikationer er ikke tilladt i erklæring af 'operator %T'"
+
+-#: cp/decl.c:8784
++#: cp/decl.c:8856
+ #, fuzzy, gcc-internal-format
+ msgid "declaration of %qD as member of %qT"
+ msgstr "erklæring af '%s' skygger for et medlem af 'this'"
+
+-#: cp/decl.c:8860
++#: cp/decl.c:8863
+ #, fuzzy, gcc-internal-format
++msgid "expected qualified name in friend declaration for constructor %qD"
++msgstr "modifikationer er ikke tilladt i erklæring af 'operator %T'"
++
++#: cp/decl.c:8939
++#, fuzzy, gcc-internal-format
+ msgid "field %qD has incomplete type"
+ msgstr "feltet '%D' er af en ufuldstændig type"
+
+-#: cp/decl.c:8862
++#: cp/decl.c:8941
+ #, fuzzy, gcc-internal-format
+ msgid "name %qT has incomplete type"
+ msgstr "navnet '%T' er af en ufuldstændig type"
+
+-#: cp/decl.c:8871
++#: cp/decl.c:8950
+ #, fuzzy, gcc-internal-format
+ msgid " in instantiation of template %qT"
+ msgstr " i instantiering af skabelonen '%T'"
+
+-#: cp/decl.c:8880
++#: cp/decl.c:8959
+ #, fuzzy, gcc-internal-format
+ 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"
+@@ -29473,103 +29452,108 @@
+ #. the rest of the compiler does not correctly
+ #. handle the initialization unless the member is
+ #. static so we make it static below.
+-#: cp/decl.c:8932
++#: cp/decl.c:9011
+ #, fuzzy, gcc-internal-format
+ msgid "ISO C++ forbids initialization of member %qD"
+ msgstr "ISO C++ forbyder tildeling af startværdi til medlemmet '%D'"
+
+-#: cp/decl.c:8934
++#: cp/decl.c:9013
+ #, fuzzy, gcc-internal-format
+ msgid "making %qD static"
+ msgstr "gør '%D' statisk"
+
+-#: cp/decl.c:8999
++#: cp/decl.c:9078
+ #, fuzzy, gcc-internal-format
+ msgid "storage class %<auto%> invalid for function %qs"
+ msgstr "lagringsklassen 'auto' er ugyldig for funktionen '%s'"
+
+-#: cp/decl.c:9001
++#: cp/decl.c:9080
+ #, fuzzy, gcc-internal-format
+ msgid "storage class %<register%> invalid for function %qs"
+ msgstr "lagringsklassen 'register' er ugyldig for funktionen '%s'"
+
+-#: cp/decl.c:9003
++#: cp/decl.c:9082
+ #, fuzzy, gcc-internal-format
+ msgid "storage class %<__thread%> invalid for function %qs"
+ msgstr "lagringsklassen '__thread' er ugyldig for funktionen '%s'"
+
+-#: cp/decl.c:9014
++#: cp/decl.c:9093
+ #, fuzzy, gcc-internal-format
+ msgid "%<static%> specified 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.c:9017
++#: cp/decl.c:9096
+ #, fuzzy, gcc-internal-format
+ msgid "%<inline%> 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.c:9025
++#: cp/decl.c:9104
+ #, fuzzy, gcc-internal-format
+ msgid "virtual non-class function %qs"
+ msgstr "virtuel funktion '%s' tilhører ikke en klasse"
+
+-#: cp/decl.c:9056
++#: cp/decl.c:9135
+ #, fuzzy, gcc-internal-format
+ msgid "cannot declare member function %qD to have static linkage"
+ msgstr "kan ikke erklære medlemsfunktion '%D' til at have statisk kædning"
+
+ #. FIXME need arm citation
+-#: cp/decl.c:9063
++#: cp/decl.c:9142
+ #, 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.c:9093
++#: cp/decl.c:9172
+ #, fuzzy, gcc-internal-format
+ msgid "%<static%> 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.c:9100
++#: cp/decl.c:9179
+ #, fuzzy, gcc-internal-format
+ msgid "static member %qD declared %<register%>"
+ msgstr "statisk medlem '%D' erklæret 'register'"
+
+-#: cp/decl.c:9105
++#: cp/decl.c:9184
+ #, fuzzy, gcc-internal-format
+ 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.c:9234
++#: cp/decl.c:9313
+ #, fuzzy, gcc-internal-format
+ msgid "default argument for %q#D has type %qT"
+ msgstr "standardparameter for '%#D' har typen '%T'"
+
+-#: cp/decl.c:9237
++#: cp/decl.c:9316
+ #, fuzzy, gcc-internal-format
+ msgid "default argument for parameter of type %qT has type %qT"
+ msgstr "standardparameter for parameter af typen '%T' har typen '%T'"
+
+-#: cp/decl.c:9253
++#: cp/decl.c:9332
+ #, fuzzy, gcc-internal-format
+ msgid "default argument %qE uses local variable %qD"
+ msgstr "standardparameter '%E' bruger lokal variabel '%D'"
+
+-#: cp/decl.c:9323
++#: cp/decl.c:9399
+ #, fuzzy, gcc-internal-format
++msgid "parameter %qD has Java class type"
++msgstr "parameteren er af en ufuldstændig type"
++
++#: cp/decl.c:9412
++#, fuzzy, gcc-internal-format
+ msgid "parameter %qD invalidly declared method type"
+ msgstr "parameteren '%D' er på ugyldig vis erklæret som af en medlemsfunktionstype"
+
+-#: cp/decl.c:9347
++#: cp/decl.c:9436
+ #, fuzzy, gcc-internal-format
+ msgid "parameter %qD includes %s to array of unknown bound %qT"
+ msgstr "parameteren '%D' inkluderer %s til tabel med ukendt grænse '%T'"
+
+-#: cp/decl.c:9361
++#: cp/decl.c:9450
+ #, fuzzy, gcc-internal-format
+ msgid "parameter packs must be at the end of the parameter list"
+ msgstr "'void' i en parameterliste skal udgøre hele listen"
+
+-#: cp/decl.c:9366
++#: cp/decl.c:9455
+ #, fuzzy, gcc-internal-format
+ msgid "multiple parameters named %qE"
+ msgstr "flere parametre ved navn '%s'"
+@@ -29589,138 +29573,138 @@
+ #. or implicitly defined), there's no need to worry about their
+ #. existence. Theoretically, they should never even be
+ #. instantiated, but that's hard to forestall.
+-#: cp/decl.c:9581
++#: cp/decl.c:9672
+ #, fuzzy, gcc-internal-format
+ msgid "invalid constructor; you probably meant %<%T (const %T&)%>"
+ msgstr "ugyldig konstruktionsfunktion; du mente sandsynligvis '%T (const %T&)'"
+
+-#: cp/decl.c:9703
++#: cp/decl.c:9794
+ #, fuzzy, gcc-internal-format
+ msgid "%qD may not be declared within a namespace"
+ msgstr "'%D' blev ikke erklæret i dette virkefelt"
+
+-#: cp/decl.c:9708
++#: cp/decl.c:9799
+ #, fuzzy, gcc-internal-format
+ msgid "%qD may not be declared as static"
+ msgstr "'%#D' kan ikke erklæres"
+
+-#: cp/decl.c:9731
++#: cp/decl.c:9825
+ #, fuzzy, gcc-internal-format
+ msgid "%qD must be a nonstatic member function"
+ msgstr "'%D' skal være en ikke-statisk medlemsfunktion"
+
+-#: cp/decl.c:9740
++#: cp/decl.c:9834
+ #, fuzzy, gcc-internal-format
+ 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.c:9761
++#: cp/decl.c:9855
+ #, fuzzy, gcc-internal-format
+ msgid "%qD must have an argument of class or enumerated type"
+ msgstr "'%D' skal have en parameter af en klasse- eller enum-type"
+
+-#: cp/decl.c:9802
++#: cp/decl.c:9896
+ #, gcc-internal-format
+ msgid "conversion to %s%s will never use a type conversion operator"
+ msgstr "konvertering til %s%s vil aldrig bruge en typekonverteringsoperator"
+
+ #. 13.4.0.3
+-#: cp/decl.c:9810
++#: cp/decl.c:9904
+ #, gcc-internal-format
+ msgid "ISO C++ prohibits overloading operator ?:"
+ msgstr "ISO C++ forbyder flertydiggørelse af operatoren ?:"
+
+-#: cp/decl.c:9815
++#: cp/decl.c:9909
+ #, fuzzy, gcc-internal-format
+ msgid "%qD must not have variable number of arguments"
+ msgstr "'%D' skal tage mod én eller to parametre"
+
+-#: cp/decl.c:9866
++#: cp/decl.c:9960
+ #, fuzzy, gcc-internal-format
+ msgid "postfix %qD must take %<int%> as its argument"
+ msgstr "postfiks '%D' skal tage mod 'int' som parameter"
+
+-#: cp/decl.c:9869
++#: cp/decl.c:9963
+ #, fuzzy, gcc-internal-format
+ msgid "postfix %qD must take %<int%> as its second argument"
+ msgstr "postfiks '%D' skal tage mod 'int' som den anden parameter"
+
+-#: cp/decl.c:9877
++#: cp/decl.c:9971
+ #, fuzzy, gcc-internal-format
+ msgid "%qD must take either zero or one argument"
+ msgstr "'%D' skal tage mod nul eller én parameter"
+
+-#: cp/decl.c:9879
++#: cp/decl.c:9973
+ #, fuzzy, gcc-internal-format
+ msgid "%qD must take either one or two arguments"
+ msgstr "'%D' skal tage mod én eller to parametre"
+
+-#: cp/decl.c:9901
++#: cp/decl.c:9995
+ #, fuzzy, gcc-internal-format
+ msgid "prefix %qD should return %qT"
+ msgstr "præfiks '%D' skal returnere '%T'"
+
+-#: cp/decl.c:9907
++#: cp/decl.c:10001
+ #, fuzzy, gcc-internal-format
+ msgid "postfix %qD should return %qT"
+ msgstr "postfiks '%D' skal returnere '%T'"
+
+-#: cp/decl.c:9916
++#: cp/decl.c:10010
+ #, fuzzy, gcc-internal-format
+ msgid "%qD must take %<void%>"
+ msgstr "'%D' skal tage mod 'void'"
+
+-#: cp/decl.c:9918 cp/decl.c:9927
++#: cp/decl.c:10012 cp/decl.c:10021
+ #, fuzzy, gcc-internal-format
+ msgid "%qD must take exactly one argument"
+ msgstr "'%s' skal tage mod én parameter"
+
+-#: cp/decl.c:9929
++#: cp/decl.c:10023
+ #, fuzzy, gcc-internal-format
+ msgid "%qD must take exactly two arguments"
+ msgstr "'%s' skal tage mod to parametre"
+
+-#: cp/decl.c:9938
++#: cp/decl.c:10032
+ #, fuzzy, gcc-internal-format
+ msgid "user-defined %qD always evaluates both arguments"
+ msgstr "brugerdefineret '%D' evaluerer altid begge parametre"
+
+-#: cp/decl.c:9952
++#: cp/decl.c:10046
+ #, fuzzy, gcc-internal-format
+ msgid "%qD should return by value"
+ msgstr "'%D' skal returnere pr. værdi (ikke reference)"
+
+-#: cp/decl.c:9964 cp/decl.c:9968
++#: cp/decl.c:10058 cp/decl.c:10062
+ #, fuzzy, gcc-internal-format
+ msgid "%qD cannot have default arguments"
+ msgstr "'%D' kan ikke have standardparametre"
+
+-#: cp/decl.c:10026
++#: cp/decl.c:10120
+ #, fuzzy, gcc-internal-format
+ msgid "using template type parameter %qT after %qs"
+ msgstr "bruger skabelonstypeparameter '%D' efter '%s'"
+
+-#: cp/decl.c:10041
++#: cp/decl.c:10135
+ #, fuzzy, gcc-internal-format
+ msgid "using typedef-name %qD after %qs"
+ msgstr "bruger typedef-navn '%D' efter '%s'"
+
+-#: cp/decl.c:10042
++#: cp/decl.c:10136
+ #, fuzzy, gcc-internal-format
+ msgid "%q+D has a previous declaration here"
+ msgstr "tidligere erklæring som '%#D'"
+
+-#: cp/decl.c:10050
++#: cp/decl.c:10144
+ #, fuzzy, gcc-internal-format
+ msgid "%qT referred to as %qs"
+ msgstr "'%#D' omerklæret som %C"
+
+-#: cp/decl.c:10051 cp/decl.c:10058
++#: cp/decl.c:10145 cp/decl.c:10152
+ #, fuzzy, gcc-internal-format
+ msgid "%q+T has a previous declaration here"
+ msgstr "dette er en tidligere erklæring"
+
+-#: cp/decl.c:10057
++#: cp/decl.c:10151
+ #, fuzzy, gcc-internal-format
+ msgid "%qT referred to as enum"
+ msgstr "'%#D' omerklæret som %C"
+@@ -29732,74 +29716,74 @@
+ #. void f(class C); // No template header here
+ #.
+ #. then the required template argument is missing.
+-#: cp/decl.c:10072
++#: cp/decl.c:10166
+ #, fuzzy, gcc-internal-format
+ msgid "template argument required for %<%s %T%>"
+ msgstr "skabelonsparameter er påkrævet for '%T'"
+
+-#: cp/decl.c:10120 cp/name-lookup.c:2698
++#: cp/decl.c:10214 cp/name-lookup.c:2700
+ #, gcc-internal-format
+ msgid "%qD has the same name as the class in which it is declared"
+ msgstr ""
+
+-#: cp/decl.c:10150 cp/name-lookup.c:2207 cp/parser.c:4036 cp/parser.c:14029
+-#: cp/parser.c:16234
++#: cp/decl.c:10244 cp/name-lookup.c:2209 cp/parser.c:4040 cp/parser.c:14099
++#: cp/parser.c:16316
+ #, fuzzy, gcc-internal-format
+ msgid "reference to %qD is ambiguous"
+ msgstr "brug af '%D' er tvetydigt"
+
+-#: cp/decl.c:10264
++#: cp/decl.c:10358
+ #, fuzzy, gcc-internal-format
+ msgid "use of enum %q#D without previous declaration"
+ msgstr "brug af enum '%#D' uden tidligere erklæring"
+
+-#: cp/decl.c:10285
++#: cp/decl.c:10379
+ #, fuzzy, gcc-internal-format
+ msgid "redeclaration of %qT as a non-template"
+ msgstr "friend-erklæring '%#D' erklærer en ikke-skabelonsfunktion"
+
+ # hænger sammen med næste tekst
+-#: cp/decl.c:10286 cp/pt.c:4154
++#: cp/decl.c:10380
+ #, fuzzy, gcc-internal-format
+ msgid "previous declaration %q+D"
+ msgstr "tidligere erklæring '%D'"
+
+-#: cp/decl.c:10397
++#: cp/decl.c:10491
+ #, fuzzy, gcc-internal-format
+ msgid "derived union %qT invalid"
+ msgstr "nedarvet union '%T' ugyldig"
+
+-#: cp/decl.c:10406
++#: cp/decl.c:10500
+ #, fuzzy, gcc-internal-format
+ msgid "Java class %qT cannot have multiple bases"
+ msgstr "stamklassen '%#T' har en ikke-virtuel destruktionsfunktion"
+
+-#: cp/decl.c:10417
++#: cp/decl.c:10511
+ #, fuzzy, gcc-internal-format
+ msgid "Java class %qT cannot have virtual bases"
+ msgstr "stamklassen '%#T' har en ikke-virtuel destruktionsfunktion"
+
+-#: cp/decl.c:10440
++#: cp/decl.c:10534
+ #, fuzzy, gcc-internal-format
+ msgid "base type %qT fails to be a struct or class type"
+ msgstr "stamklassetype '%T' er hverken en struct- eller class-type"
+
+-#: cp/decl.c:10473
++#: cp/decl.c:10567
+ #, fuzzy, gcc-internal-format
+ msgid "recursive type %qT undefined"
+ msgstr "rekursiv type '%T' ikke defineret"
+
+-#: cp/decl.c:10475
++#: cp/decl.c:10569
+ #, fuzzy, gcc-internal-format
+ msgid "duplicate base type %qT invalid"
+ msgstr "stamklassetype '%T' optræder mere end én gang"
+
+-#: cp/decl.c:10552
++#: cp/decl.c:10646
+ #, fuzzy, gcc-internal-format
+ msgid "multiple definition of %q#T"
+ msgstr "flere definitioner af '%#T'"
+
+-#: cp/decl.c:10553
++#: cp/decl.c:10647
+ #, fuzzy, gcc-internal-format
+ msgid "%Jprevious definition here"
+ msgstr "tidligere definition her"
+@@ -29808,47 +29792,52 @@
+ #.
+ #. IF no integral type can represent all the enumerator values, the
+ #. enumeration is ill-formed.
+-#: cp/decl.c:10692
++#: cp/decl.c:10786
+ #, gcc-internal-format
+ msgid "no integral type can represent all of the enumerator values for %qT"
+ msgstr ""
+
+-#: cp/decl.c:10803
++#: cp/decl.c:10897
+ #, fuzzy, gcc-internal-format
+ msgid "enumerator value for %qD is not an integer constant"
+ msgstr "enum-værdien for '%s' er ikke en heltalskonstant"
+
+-#: cp/decl.c:10831
++#: cp/decl.c:10925
+ #, fuzzy, gcc-internal-format
+ msgid "overflow in enumeration values at %qD"
+ msgstr "enum-værdier for store ved '%D'"
+
+-#: cp/decl.c:10906
++#: cp/decl.c:11002
+ #, fuzzy, gcc-internal-format
+ msgid "return type %q#T is incomplete"
+ msgstr "returtype '%#T' er ufuldstændig"
+
+-#: cp/decl.c:11031 cp/typeck.c:6711
++#: cp/decl.c:11004
+ #, fuzzy, gcc-internal-format
++msgid "return type has Java class type %q#T"
++msgstr "returtypen er en ufuldstændig type"
++
++#: cp/decl.c:11129 cp/typeck.c:6739
++#, fuzzy, gcc-internal-format
+ msgid "%<operator=%> should return a reference to %<*this%>"
+ msgstr "'operator=' bør returnere en reference til '*this'"
+
+-#: cp/decl.c:11420
++#: cp/decl.c:11518
+ #, fuzzy, gcc-internal-format
+ msgid "parameter %qD declared void"
+ msgstr "parameteren '%D' erklæret void"
+
+-#: cp/decl.c:11908
++#: cp/decl.c:12006
+ #, fuzzy, gcc-internal-format
+ msgid "invalid member function declaration"
+ msgstr "ugyldig medlemsskabelonerklæring '%D'"
+
+-#: cp/decl.c:11923
++#: cp/decl.c:12021
+ #, fuzzy, gcc-internal-format
+ msgid "%qD is already defined in class %qT"
+ msgstr "'%D' er allerede defineret i klassen '%T'"
+
+-#: cp/decl.c:12170
++#: cp/decl.c:12268
+ #, fuzzy, gcc-internal-format
+ msgid "static member function %q#D declared with type qualifiers"
+ msgstr "statisk medlemsfunktion '%#D' erklæret med typemodifikationer"
+@@ -29888,7 +29877,7 @@
+ msgid "deleting %qT is undefined"
+ msgstr "benyttelse af delete på '%T' er ikke defineret"
+
+-#: cp/decl2.c:459 cp/pt.c:3828
++#: cp/decl2.c:459 cp/pt.c:3831
+ #, fuzzy, gcc-internal-format
+ msgid "template declaration of %q#D"
+ msgstr "skabelonserklæring af '%#D'"
+@@ -29973,22 +29962,22 @@
+ msgid "static member %qD cannot be a bit-field"
+ msgstr "statisk medlem '%D' kan ikke være et bitfelt"
+
+-#: cp/decl2.c:1122
++#: cp/decl2.c:1165
+ #, gcc-internal-format
+ msgid "anonymous struct not inside named type"
+ msgstr "anonym struct er ikke inden i en navngiven type"
+
+-#: cp/decl2.c:1206
++#: cp/decl2.c:1249
+ #, gcc-internal-format
+ msgid "namespace-scope anonymous aggregates must be static"
+ msgstr "anonyme variabler af sammensatte typer i navnerumsvirkefelt skal erklæres static"
+
+-#: cp/decl2.c:1215
++#: cp/decl2.c:1258
+ #, fuzzy, gcc-internal-format
+ msgid "anonymous union with no members"
+ msgstr "anonym sammensat type uden medlemmer"
+
+-#: cp/decl2.c:1251
++#: cp/decl2.c:1294
+ #, fuzzy, gcc-internal-format
+ msgid "%<operator new%> must return type %qT"
+ msgstr "'operator new' skal returnere typen '%T'"
+@@ -29997,52 +29986,52 @@
+ #.
+ #. The first parameter shall not have an associated default
+ #. argument.
+-#: cp/decl2.c:1262
++#: cp/decl2.c:1305
+ #, gcc-internal-format
+ msgid "the first parameter of %<operator new%> cannot have a default argument"
+ msgstr ""
+
+-#: cp/decl2.c:1278
++#: cp/decl2.c:1321
+ #, fuzzy, gcc-internal-format
+ msgid "%<operator new%> takes type %<size_t%> (%qT) as first parameter"
+ msgstr "den første parameter til 'operator new' skal være af typen 'size_t' ('%T')"
+
+-#: cp/decl2.c:1307
++#: cp/decl2.c:1350
+ #, fuzzy, gcc-internal-format
+ msgid "%<operator delete%> must return type %qT"
+ msgstr "'operator delete' skal returnere typen '%T'"
+
+-#: cp/decl2.c:1316
++#: cp/decl2.c:1359
+ #, fuzzy, gcc-internal-format
+ msgid "%<operator delete%> takes type %qT as first parameter"
+ msgstr "den første parameter til 'operator delete' skal være af typen '%T'"
+
+-#: cp/decl2.c:1985
++#: cp/decl2.c:2028
+ #, gcc-internal-format
+ msgid "%qT has a field %qD whose type uses the anonymous namespace"
+ msgstr ""
+
+-#: cp/decl2.c:1992
++#: cp/decl2.c:2035
+ #, gcc-internal-format
+ msgid "%qT declared with greater visibility than the type of its field %qD"
+ msgstr ""
+
+-#: cp/decl2.c:2005
++#: cp/decl2.c:2048
+ #, gcc-internal-format
+ msgid "%qT has a base %qT whose type uses the anonymous namespace"
+ msgstr ""
+
+-#: cp/decl2.c:2011
++#: cp/decl2.c:2054
+ #, gcc-internal-format
+ msgid "%qT declared with greater visibility than its base %qT"
+ msgstr ""
+
+-#: cp/decl2.c:3395
++#: cp/decl2.c:3441
+ #, fuzzy, gcc-internal-format
+ msgid "inline function %q+D used but never defined"
+ msgstr "indbygget funktion '%D' benyttet, men aldrig defineret"
+
+-#: cp/decl2.c:3543
++#: cp/decl2.c:3589
+ #, fuzzy, gcc-internal-format
+ msgid "default argument missing for parameter %P of %q+#D"
+ msgstr "standardparameter mangler for parameter %P i '%+#D'"
+@@ -30050,7 +30039,7 @@
+ #. We really want to suppress this warning in system headers,
+ #. because libstdc++ uses variadic templates even when we aren't
+ #. in C++0x mode.
+-#: cp/error.c:2669
++#: cp/error.c:2712
+ #, fuzzy, gcc-internal-format
+ msgid "ISO C++ does not include variadic templates"
+ msgstr "ISO C tillader ikke navngivne makroer med vilkårligt antal parametre"
+@@ -30082,7 +30071,7 @@
+ msgid "throwing NULL, which has integral, not pointer type"
+ msgstr "kaster NULL som har en heltals-, ikke en henvisningstype"
+
+-#: cp/except.c:643 cp/init.c:1780
++#: cp/except.c:643 cp/init.c:1915
+ #, fuzzy, gcc-internal-format
+ msgid "%qD should never be overloaded"
+ msgstr "'%D' skal returnere pr. værdi (ikke reference)"
+@@ -30181,232 +30170,247 @@
+ msgid "member %qD declared as friend before type %qT defined"
+ msgstr "medlemmet '%D' erklæret som friend før typen '%T' er defineret"
+
+-#: cp/friend.c:550
++#: cp/friend.c:543
+ #, fuzzy, gcc-internal-format
++msgid "friend declaration %qD in local class without prior declaration"
++msgstr "friend-erklæringen er ikke i klassedefinitionen"
++
++#: cp/friend.c:564
++#, fuzzy, gcc-internal-format
+ msgid "friend declaration %q#D declares a non-template function"
+ msgstr "friend-erklæring '%#D' erklærer en ikke-skabelonsfunktion"
+
+-#: cp/friend.c:554
++#: cp/friend.c:568
+ #, fuzzy, 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 "(hvis dette er hvad du ønsker, så sikr dig at funktionsskabelonen allerede er blevet erklæret og tilføj <> efter funktionsnavnet her) -Wno-non-template-friend deaktiverer denne advarsel"
+
+-#: cp/init.c:334
++#: cp/init.c:374
+ #, fuzzy, gcc-internal-format
++msgid "value-initialization of reference"
++msgstr "standardklargøring af '%#D' som er af en referencetype"
++
++#: cp/init.c:481
++#, fuzzy, gcc-internal-format
+ msgid "%J%qD should be initialized in the member initialization list"
+ msgstr "'%D' bør blive klargjort i medlemsklargøringslisten"
+
+-#: cp/init.c:382
++#: cp/init.c:529
+ #, fuzzy, gcc-internal-format
+ msgid "%Jdefault-initialization of %q#D, which has reference type"
+ msgstr "standardklargøring af '%#D' som er af en referencetype"
+
+-#: cp/init.c:388
++#: cp/init.c:535
+ #, fuzzy, gcc-internal-format
+ msgid "%Juninitialized reference member %qD"
+ msgstr "referencemedlem '%D' uden startværdi"
+
+-#: cp/init.c:391
++#: cp/init.c:538
+ #, gcc-internal-format
+ msgid "%Juninitialized member %qD with %<const%> type %qT"
+ msgstr ""
+
+-#: cp/init.c:534
++#: cp/init.c:681
+ #, fuzzy, gcc-internal-format
+ msgid "%q+D will be initialized after"
+ msgstr "'%D' vil blive klargjort efter"
+
+-#: cp/init.c:537
++#: cp/init.c:684
+ #, fuzzy, gcc-internal-format
+ msgid "base %qT will be initialized after"
+ msgstr "stamklasse '%T' vil blive klargjort efter"
+
+-#: cp/init.c:540
++#: cp/init.c:687
+ #, fuzzy, gcc-internal-format
+ msgid " %q+#D"
+ msgstr " '%#D'"
+
+-#: cp/init.c:542
++#: cp/init.c:689
+ #, fuzzy, gcc-internal-format
+ msgid " base %qT"
+ msgstr " stamklasse '%T'"
+
+-#: cp/init.c:543
++#: cp/init.c:690
+ #, fuzzy, gcc-internal-format
+ msgid "%J when initialized here"
+ msgstr "'%D' vil blive klargjort efter"
+
+-#: cp/init.c:559
++#: cp/init.c:706
+ #, fuzzy, gcc-internal-format
+ msgid "%Jmultiple initializations given for %qD"
+ msgstr "flere startværdier angivet for '%D'"
+
+-#: cp/init.c:562
++#: cp/init.c:709
+ #, fuzzy, gcc-internal-format
+ msgid "%Jmultiple initializations given for base %qT"
+ msgstr "flere startværdier angivet for stamklassen '%T'"
+
+-#: cp/init.c:629
++#: cp/init.c:776
+ #, fuzzy, gcc-internal-format
+ msgid "%Jinitializations for multiple members of %qT"
+ msgstr "startværdier for flere medlemmer af '%T'"
+
+-#: cp/init.c:691
++#: cp/init.c:839
+ #, fuzzy, gcc-internal-format
+ msgid "%Jbase class %q#T should be explicitly initialized in the copy constructor"
+ msgstr "stamklassen '%#T' bør eksplicit blive klargjort i kopikonstruktionsfunktionen"
+
+-#: cp/init.c:915 cp/init.c:934
++#: cp/init.c:1063 cp/init.c:1082
+ #, fuzzy, gcc-internal-format
+ msgid "class %qT does not have any field named %qD"
+ msgstr "klassen '%T' har ikke et felt ved navn '%D'"
+
+-#: cp/init.c:921
++#: cp/init.c:1069
+ #, fuzzy, gcc-internal-format
+ msgid "%q#D is a static data member; it can only be initialized at its definition"
+ msgstr "feltet '%#D' er statisk; det eneste sted det kan klargøres er ved dets definition"
+
+-#: cp/init.c:928
++#: cp/init.c:1076
+ #, fuzzy, gcc-internal-format
+ msgid "%q#D is not a non-static data member of %qT"
+ msgstr "'%#D' er ikke et statisk medlem af '%#T'"
+
+-#: cp/init.c:967
++#: cp/init.c:1115
+ #, fuzzy, gcc-internal-format
+ msgid "unnamed initializer for %qT, which has no base classes"
+ msgstr "unavngiven klargøring af '%T' som ikke har nogen stamklasser"
+
+-#: cp/init.c:975
++#: cp/init.c:1123
+ #, fuzzy, gcc-internal-format
+ msgid "unnamed initializer for %qT, which uses multiple inheritance"
+ msgstr "unavngiven klargøring af '%T' som benytter multipel nedarvning"
+
+-#: cp/init.c:1021
++#: cp/init.c:1169
+ #, fuzzy, gcc-internal-format
+ msgid "%qD is both a direct base and an indirect virtual base"
+ msgstr "typen '%D' er ikke en direkte eller en virtuel stamklasse til '%T'"
+
+-#: cp/init.c:1029
++#: cp/init.c:1177
+ #, fuzzy, gcc-internal-format
+ msgid "type %qT is not a direct or virtual base of %qT"
+ msgstr "typen '%D' er ikke en direkte eller en virtuel stamklasse til '%T'"
+
+-#: cp/init.c:1032
++#: cp/init.c:1180
+ #, fuzzy, gcc-internal-format
+ msgid "type %qT is not a direct base of %qT"
+ msgstr "typen '%D' er ikke en direkte stamklasse til '%T'"
+
+-#: cp/init.c:1112
++#: cp/init.c:1260
+ #, gcc-internal-format
+ msgid "bad array initializer"
+ msgstr "ugyldig tildeling af startværdi til tabel"
+
+-#: cp/init.c:1287
++#: cp/init.c:1435
+ #, fuzzy, gcc-internal-format
+ msgid "%qT is not an aggregate type"
+ msgstr "'%T' er ikke en sammensat type"
+
+-#: cp/init.c:1341
++#: cp/init.c:1489
+ #, fuzzy, gcc-internal-format
+ msgid "incomplete type %qT does not have member %qD"
+ msgstr "ufuldstændig type '%T' har ikke medlemmet '%D'"
+
+-#: cp/init.c:1354
++#: cp/init.c:1502
+ #, fuzzy, gcc-internal-format
+ msgid "invalid pointer to bit-field %qD"
+ msgstr "ugyldig henvisning til bitfeltet '%D'"
+
+-#: cp/init.c:1431
++#: cp/init.c:1579
+ #, fuzzy, gcc-internal-format
+ msgid "invalid use of non-static member function %qD"
+ msgstr "ugyldig brug af ikke-statisk felt '%D'"
+
+-#: cp/init.c:1437
++#: cp/init.c:1585
+ #, fuzzy, gcc-internal-format
+ msgid "invalid use of non-static data member %qD"
+ msgstr "ugyldig brug af ikke-statisk felt '%D'"
+
+-#: cp/init.c:1714
++#: cp/init.c:1862
+ #, fuzzy, gcc-internal-format
+ msgid "invalid type %<void%> for new"
+ msgstr "ugyldig type 'void' til new"
+
+-#: cp/init.c:1724
++#: cp/init.c:1872
+ #, fuzzy, gcc-internal-format
+ msgid "uninitialized const in %<new%> of %q#T"
+ msgstr "konstant uden startværdi i 'new' af '%#T'"
+
+-#: cp/init.c:1775
++#: cp/init.c:1910
+ #, fuzzy, gcc-internal-format
+ msgid "call to Java constructor with %qs undefined"
+ msgstr "kald af Java-konstruktionsfunktion mens '%s' ikke er defineret"
+
+-#: cp/init.c:1815
++#: cp/init.c:1926
++#, gcc-internal-format
++msgid "Java class %q#T object allocated using placement new"
++msgstr ""
++
++#: cp/init.c:1955
+ #, fuzzy, gcc-internal-format
+ msgid "no suitable %qD found in class %qT"
+ msgstr "feltet '%s' blev ikke fundet i klassen"
+
+-#: cp/init.c:1820
++#: cp/init.c:1960
+ #, fuzzy, gcc-internal-format
+ msgid "request for member %qD is ambiguous"
+ msgstr "forespørgsel efter medlemmet '%D' er tvetydigt"
+
+-#: cp/init.c:1972
++#: cp/init.c:2134
+ #, gcc-internal-format
+ msgid "ISO C++ forbids initialization in array new"
+ msgstr "ISO C++ forbyder startværdier i tabel-new"
+
+-#: cp/init.c:2174
++#: cp/init.c:2336
+ #, gcc-internal-format
+ msgid "size in array new must have integral type"
+ msgstr "størrelse i tabel-new skal være en heltalstype"
+
+-#: cp/init.c:2183
++#: cp/init.c:2345
+ #, gcc-internal-format
+ msgid "new cannot be applied to a reference type"
+ msgstr "new kan ikke bruges på en referencetype"
+
+-#: cp/init.c:2189
++#: cp/init.c:2351
+ #, gcc-internal-format
+ msgid "new cannot be applied to a function type"
+ msgstr "new kan ikke bruges på en funktionstype"
+
+-#: cp/init.c:2228
++#: cp/init.c:2390
+ #, fuzzy, gcc-internal-format
+ msgid "call to Java constructor, while %<jclass%> undefined"
+ msgstr "kald af Java-konstruktionsfunktion mens 'jclass' ikke er defineret"
+
+-#: cp/init.c:2246
++#: cp/init.c:2408
+ #, fuzzy, gcc-internal-format
+ msgid "can't find %<class$%> in %qT"
+ msgstr "kan ikke finde class$"
+
+-#: cp/init.c:2607
++#: cp/init.c:2769
+ #, gcc-internal-format
+ msgid "initializer ends prematurely"
+ msgstr "startværdien slutter for tidligt"
+
+-#: cp/init.c:2662
++#: cp/init.c:2824
+ #, gcc-internal-format
+ msgid "cannot initialize multi-dimensional array with initializer"
+ msgstr "kan ikke klargøre multidimensional tabel med startværdi"
+
+-#: cp/init.c:2799
++#: cp/init.c:2961
+ #, gcc-internal-format
+ msgid "possible problem detected in invocation of delete operator:"
+ msgstr ""
+
+-#: cp/init.c:2802
++#: cp/init.c:2964
+ #, gcc-internal-format
+ msgid "neither the destructor nor the class-specific operator delete will be called, even if they are declared when the class is defined."
+ msgstr ""
+
+-#: cp/init.c:2823
++#: cp/init.c:2985
+ #, gcc-internal-format
+ msgid "unknown array size in delete"
+ msgstr "ukendt tabelstørrelse i delete"
+
+-#: cp/init.c:3070
++#: cp/init.c:3232
+ #, gcc-internal-format
+ msgid "type to vector delete is neither pointer or array type"
+ msgstr "variablen til tabel-delete er hverken af en henvisnings- eller en tabeltype"
+@@ -30471,22 +30475,22 @@
+ msgid "mangling typeof, use decltype instead"
+ msgstr ""
+
+-#: cp/mangle.c:2208
++#: cp/mangle.c:2211
+ #, fuzzy, gcc-internal-format
+ msgid "call_expr cannot be mangled due to a defect in the C++ ABI"
+ msgstr "new kan ikke bruges på en funktionstype"
+
+-#: cp/mangle.c:2216
++#: cp/mangle.c:2219
+ #, fuzzy, gcc-internal-format
+ msgid "zero-operand casts cannot be mangled due to a defect in the C++ ABI"
+ msgstr "new kan ikke bruges på en funktionstype"
+
+-#: cp/mangle.c:2266
++#: cp/mangle.c:2269
+ #, gcc-internal-format
+ msgid "omitted middle operand to %<?:%> operand cannot be mangled"
+ msgstr ""
+
+-#: cp/mangle.c:2584
++#: cp/mangle.c:2587
+ #, fuzzy, gcc-internal-format
+ msgid "the mangled name of %qD will change in a future version of GCC"
+ msgstr "det ABI-navnet for '%D' vil ændre sig i en fremtidig version af GCC"
+@@ -30496,27 +30500,27 @@
+ msgid "generic thunk code fails for method %q#D which uses %<...%>"
+ msgstr "generel thunk-kode mislykkes for metoden '%#D' som bruger '...'"
+
+-#: cp/method.c:697
++#: cp/method.c:698
+ #, fuzzy, gcc-internal-format
+ msgid "non-static const member %q#D, can't use default assignment operator"
+ msgstr "ikke-statisk konstant medlem '%#D' kan ikke bruge standardtildelingsoperatoren"
+
+-#: cp/method.c:703
++#: cp/method.c:704
+ #, fuzzy, gcc-internal-format
+ msgid "non-static reference member %q#D, can't use default assignment operator"
+ msgstr "ikke-statisk referencemedlem '%#D' kan ikke bruge standardtildelingsoperatoren"
+
+-#: cp/method.c:815
++#: cp/method.c:816
+ #, gcc-internal-format
+ msgid "%Hsynthesized method %qD first required here "
+ msgstr ""
+
+-#: cp/method.c:1158
++#: cp/method.c:1159
+ #, fuzzy, gcc-internal-format
+ msgid "vtable layout for class %qT may not be ABI-compliantand may change in a future version of GCC due to implicit virtual destructor"
+ msgstr "vtable-layout for klassen '%T' følger ikke nødvendigvis ABI'et og kan ændre sig i en fremtidig version af GCC pga. underforstået virtuel destruktionsfunktion"
+
+-#: cp/name-lookup.c:728
++#: cp/name-lookup.c:727
+ #, fuzzy, gcc-internal-format
+ msgid "redeclaration of %<wchar_t%> as %qT"
+ msgstr "omerklæring af 'wchar_t' som '%T'"
+@@ -30527,243 +30531,243 @@
+ #. [basic.start.main]
+ #.
+ #. This function shall not be overloaded.
+-#: cp/name-lookup.c:758
++#: cp/name-lookup.c:757
+ #, fuzzy, gcc-internal-format
+ msgid "invalid redeclaration of %q+D"
+ msgstr "ugyldig omerklæring af '%D'"
+
+-#: cp/name-lookup.c:759
++#: cp/name-lookup.c:758
+ #, fuzzy, gcc-internal-format
+ msgid "as %qD"
+ msgstr "som '%D'"
+
+-#: cp/name-lookup.c:850
++#: cp/name-lookup.c:849
+ #, fuzzy, gcc-internal-format
+ msgid "type mismatch with previous external decl of %q#D"
+ msgstr "typen passer ikke med tidligere ekstern erklæring"
+
+-#: cp/name-lookup.c:851
++#: cp/name-lookup.c:850
+ #, fuzzy, gcc-internal-format
+ msgid "previous external decl of %q+#D"
+ msgstr "tidligere ekstern erklæring af '%#D'"
+
+-#: cp/name-lookup.c:942
++#: cp/name-lookup.c:941
+ #, fuzzy, gcc-internal-format
+ msgid "extern declaration of %q#D doesn't match"
+ msgstr "extern-erklæring af '%#D' passer ikke med"
+
+-#: cp/name-lookup.c:943
++#: cp/name-lookup.c:942
+ #, fuzzy, gcc-internal-format
+ msgid "global declaration %q+#D"
+ msgstr "global erklæring '%#D'"
+
+-#: cp/name-lookup.c:980 cp/name-lookup.c:987
++#: cp/name-lookup.c:979 cp/name-lookup.c:986
+ #, fuzzy, gcc-internal-format
+ msgid "declaration of %q#D shadows a parameter"
+ msgstr "erklæring af '%#D' skygger for en parameter"
+
+ #. Location of previous decl is not useful in this case.
+-#: cp/name-lookup.c:1012
++#: cp/name-lookup.c:1011
+ #, fuzzy, gcc-internal-format
+ msgid "declaration of %qD shadows a member of 'this'"
+ msgstr "erklæring af '%s' skygger for et medlem af 'this'"
+
+-#: cp/name-lookup.c:1018
++#: cp/name-lookup.c:1017
+ #, fuzzy, gcc-internal-format
+ msgid "declaration of %qD shadows a previous local"
+ msgstr "erklæring af '%s' skygger for en tidligere lokal variabel"
+
+-#: cp/name-lookup.c:1025
++#: cp/name-lookup.c:1024
+ #, fuzzy, gcc-internal-format
+ msgid "declaration of %qD shadows a global declaration"
+ msgstr "erklæring af '%s' skygger for en global erklæring"
+
+-#: cp/name-lookup.c:1148
++#: cp/name-lookup.c:1147
+ #, fuzzy, gcc-internal-format
+ msgid "name lookup of %qD changed"
+ msgstr "navneopslag for '%D' ændret"
+
+-#: cp/name-lookup.c:1149
++#: cp/name-lookup.c:1148
+ #, fuzzy, gcc-internal-format
+ msgid " matches this %q+D under ISO standard rules"
+ msgstr " passer med '%D' under ISO-standardreglerne"
+
+-#: cp/name-lookup.c:1151
++#: cp/name-lookup.c:1150
+ #, fuzzy, gcc-internal-format
+ msgid " matches this %q+D under old rules"
+ msgstr " passer med '%D' under tidligere regler"
+
+-#: cp/name-lookup.c:1169 cp/name-lookup.c:1177
++#: cp/name-lookup.c:1168 cp/name-lookup.c:1176
+ #, fuzzy, gcc-internal-format
+ msgid "name lookup of %qD changed for new ISO %<for%> scoping"
+ msgstr "navneopslaget af '%D' er ændret til ISO 'for'-virkefelt"
+
+-#: cp/name-lookup.c:1171
++#: cp/name-lookup.c:1170
+ #, fuzzy, gcc-internal-format
+ msgid " cannot use obsolete binding at %q+D because it has a destructor"
+ msgstr " kan ikke bruge forældet binding til '%D' fordi den har en destruktionsfunktion"
+
+-#: cp/name-lookup.c:1179
++#: cp/name-lookup.c:1178
+ #, fuzzy, gcc-internal-format
+ msgid " using obsolete binding at %q+D"
+ msgstr " bruger forældet binding til '%D'"
+
+-#: cp/name-lookup.c:1232
++#: cp/name-lookup.c:1231
+ #, gcc-internal-format
+ msgid "%s %s(%E) %p %d\n"
+ msgstr ""
+
+-#: cp/name-lookup.c:1235
++#: cp/name-lookup.c:1234
+ #, fuzzy, gcc-internal-format
+ msgid "%s %s %p %d\n"
+ msgstr "%s: %s: "
+
+-#: cp/name-lookup.c:1362
++#: cp/name-lookup.c:1361
+ #, gcc-internal-format
+ msgid "XXX is_class_level != (current_scope == class_scope)\n"
+ msgstr ""
+
+-#: cp/name-lookup.c:1920
++#: cp/name-lookup.c:1922
+ #, fuzzy, gcc-internal-format
+ msgid "%q#D hides constructor for %q#T"
+ msgstr "'%#D' skjuler konstruktionsfunktion for '%#T'"
+
+-#: cp/name-lookup.c:1937
++#: cp/name-lookup.c:1939
+ #, fuzzy, gcc-internal-format
+ msgid "%q#D conflicts with previous using declaration %q#D"
+ msgstr "'%#D' strider mod tidligere using-erklæring '%#D'"
+
+-#: cp/name-lookup.c:1960
++#: cp/name-lookup.c:1962
+ #, fuzzy, gcc-internal-format
+ msgid "previous non-function declaration %q+#D"
+ msgstr "tidligere ikke-funktionserklæring '%#D'"
+
+-#: cp/name-lookup.c:1961
++#: cp/name-lookup.c:1963
+ #, fuzzy, gcc-internal-format
+ msgid "conflicts with function declaration %q#D"
+ msgstr "strider mod funktionserklæring '%#D'"
+
+ #. It's a nested name with template parameter dependent scope.
+ #. This can only be using-declaration for class member.
+-#: cp/name-lookup.c:2039 cp/name-lookup.c:2064
++#: cp/name-lookup.c:2041 cp/name-lookup.c:2066
+ #, fuzzy, gcc-internal-format
+ msgid "%qT is not a namespace"
+ msgstr "'%T' er ikke et navnerum"
+
+ #. 7.3.3/5
+ #. A using-declaration shall not name a template-id.
+-#: cp/name-lookup.c:2049
++#: cp/name-lookup.c:2051
+ #, fuzzy, gcc-internal-format
+ msgid "a using-declaration cannot specify a template-id. Try %<using %D%>"
+ msgstr "en using-erklæring kan ikke angive en skabelons-id; prøv 'using %D'"
+
+-#: cp/name-lookup.c:2056
++#: cp/name-lookup.c:2058
+ #, fuzzy, gcc-internal-format
+ msgid "namespace %qD not allowed in using-declaration"
+ msgstr "navnerum '%D' ikke tilladt i using-erklæring"
+
+-#: cp/name-lookup.c:2092
++#: cp/name-lookup.c:2094
+ #, fuzzy, gcc-internal-format
+ msgid "%qD not declared"
+ msgstr "'%D' ikke erklæret"
+
+-#: cp/name-lookup.c:2128 cp/name-lookup.c:2165 cp/name-lookup.c:2199
+-#: cp/name-lookup.c:2214
++#: cp/name-lookup.c:2130 cp/name-lookup.c:2167 cp/name-lookup.c:2201
++#: cp/name-lookup.c:2216
+ #, fuzzy, gcc-internal-format
+ msgid "%qD is already declared in this scope"
+ msgstr "'%D' er allerede erklæret i dette navnerum"
+
+-#: cp/name-lookup.c:2817
++#: cp/name-lookup.c:2819
+ #, gcc-internal-format
+ msgid "using-declaration for non-member at class scope"
+ msgstr "using-erklæring for ikke-medlem ved klassevirkefelt"
+
+-#: cp/name-lookup.c:2824
++#: cp/name-lookup.c:2826
+ #, fuzzy, gcc-internal-format
+ msgid "%<%T::%D%> names destructor"
+ msgstr "'%D' navngiver en konstruktionsfunktion"
+
+-#: cp/name-lookup.c:2829
++#: cp/name-lookup.c:2831
+ #, fuzzy, gcc-internal-format
+ msgid "%<%T::%D%> names constructor"
+ msgstr "'%D' navngiver en konstruktionsfunktion"
+
+-#: cp/name-lookup.c:2834
++#: cp/name-lookup.c:2836
+ #, fuzzy, gcc-internal-format
+ msgid "%<%T::%D%> names constructor in %qT"
+ msgstr "'%D' navngiver en konstruktionsfunktion"
+
+-#: cp/name-lookup.c:2884
++#: cp/name-lookup.c:2886
+ #, fuzzy, gcc-internal-format
+ msgid "no members matching %<%T::%D%> in %q#T"
+ msgstr "ingen medlemmer passer til '%D' i '%#T'"
+
+-#: cp/name-lookup.c:2952
++#: cp/name-lookup.c:2954
+ #, fuzzy, gcc-internal-format
+ msgid "declaration of %qD not in a namespace surrounding %qD"
+ msgstr "erklæring af '%D' er ikke i et navnerum der omgiver '%D'"
+
+-#: cp/name-lookup.c:2960
++#: cp/name-lookup.c:2962
+ #, fuzzy, gcc-internal-format
+ msgid "explicit qualification in declaration of %qD"
+ msgstr "dobbelte typemodifikationer i %s-erklæring"
+
+-#: cp/name-lookup.c:3003
++#: cp/name-lookup.c:3005
+ #, fuzzy, gcc-internal-format
+ msgid "%qD should have been declared inside %qD"
+ msgstr "'%D' skulle have været erklæret inden i '%D'"
+
+-#: cp/name-lookup.c:3048
++#: cp/name-lookup.c:3050
+ #, fuzzy, gcc-internal-format
+ msgid "%qD attribute requires a single NTBS argument"
+ msgstr "egenskaben '%s' kræver en heltalskonstant som parameter"
+
+-#: cp/name-lookup.c:3055
++#: cp/name-lookup.c:3057
+ #, gcc-internal-format
+ msgid "%qD attribute is meaningless since members of the anonymous namespace get local symbols"
+ msgstr ""
+
+-#: cp/name-lookup.c:3064 cp/name-lookup.c:3433
++#: cp/name-lookup.c:3066 cp/name-lookup.c:3435
+ #, fuzzy, gcc-internal-format
+ msgid "%qD attribute directive ignored"
+ msgstr "egenskabsdirektivet '%s' ignoreret"
+
+-#: cp/name-lookup.c:3109
++#: cp/name-lookup.c:3111
+ #, fuzzy, gcc-internal-format
+ msgid "namespace alias %qD not allowed here, assuming %qD"
+ msgstr "navnerumsalias '%D' er ikke tilladt her, antager '%D'"
+
+-#: cp/name-lookup.c:3421
++#: cp/name-lookup.c:3423
+ #, gcc-internal-format
+ msgid "strong using only meaningful at namespace scope"
+ msgstr ""
+
+-#: cp/name-lookup.c:3425
++#: cp/name-lookup.c:3427
+ #, gcc-internal-format
+ msgid "current namespace %qD does not enclose strongly used namespace %qD"
+ msgstr ""
+
+-#: cp/name-lookup.c:4318
++#: cp/name-lookup.c:4320
+ #, fuzzy, gcc-internal-format
+ msgid "%q+D is not a function,"
+ msgstr "'%s' er ikke en funktion,"
+
+-#: cp/name-lookup.c:4319
++#: cp/name-lookup.c:4321
+ #, fuzzy, gcc-internal-format
+ msgid " conflict with %q+D"
+ msgstr " konflikt med '%D'"
+
+-#: cp/name-lookup.c:4752
++#: cp/name-lookup.c:4756
+ #, gcc-internal-format
+ msgid "argument dependent lookup finds %q+D"
+ msgstr ""
+
+-#: cp/name-lookup.c:5184
++#: cp/name-lookup.c:5188
+ #, gcc-internal-format
+ msgid "XXX entering pop_everything ()\n"
+ msgstr ""
+
+-#: cp/name-lookup.c:5193
++#: cp/name-lookup.c:5197
+ #, gcc-internal-format
+ msgid "XXX leaving pop_everything ()\n"
+ msgstr ""
+@@ -30773,368 +30777,373 @@
+ msgid "identifier %<%s%> will become a keyword in C++0x"
+ msgstr ""
+
+-#: cp/parser.c:2066
++#: cp/parser.c:2069
+ #, fuzzy, gcc-internal-format
+ msgid "%<#pragma%> is not allowed here"
+ msgstr "#pragma %s er allerede registreret"
+
+-#: cp/parser.c:2096
++#: cp/parser.c:2099
+ #, fuzzy, gcc-internal-format
+ msgid "%<%E::%E%> has not been declared"
+ msgstr "'%#D' kan ikke erklæres"
+
+-#: cp/parser.c:2099
++#: cp/parser.c:2102
+ #, fuzzy, gcc-internal-format
+ msgid "%<::%E%> has not been declared"
+ msgstr "'%#D' kan ikke erklæres"
+
+-#: cp/parser.c:2102
++#: cp/parser.c:2105
+ #, fuzzy, gcc-internal-format
+ msgid "request for member %qE in non-class type %qT"
+ msgstr "forespørgsel efter medlemmet '%D' i '%E' som er af en ikke-klassetype '%T'"
+
+-#: cp/parser.c:2105
++#: cp/parser.c:2108
+ #, fuzzy, gcc-internal-format
+ msgid "%<%T::%E%> has not been declared"
+ msgstr "'%#D' kan ikke erklæres"
+
+-#: cp/parser.c:2108
++#: cp/parser.c:2111
+ #, fuzzy, gcc-internal-format
+ msgid "%qE has not been declared"
+ msgstr "'%#D' kan ikke erklæres"
+
+-#: cp/parser.c:2111
++#: cp/parser.c:2114
+ #, gcc-internal-format
+ msgid "%<%E::%E%> %s"
+ msgstr ""
+
+-#: cp/parser.c:2113
++#: cp/parser.c:2116
+ #, fuzzy, gcc-internal-format
+ msgid "%<::%E%> %s"
+ msgstr "'%D'-tilgang"
+
+-#: cp/parser.c:2115
++#: cp/parser.c:2118
+ #, fuzzy, gcc-internal-format
+ msgid "%qE %s"
+ msgstr "%s: %s"
+
+-#: cp/parser.c:2151
++#: cp/parser.c:2155
+ #, fuzzy, gcc-internal-format
+-msgid "ISO C++ does not support %<long long%>"
++msgid "ISO C++ 1998 does not support %<long long%>"
+ msgstr "ISO C++ understøtter ikke 'long long'"
+
+-#: cp/parser.c:2171
++#: cp/parser.c:2175
+ #, fuzzy, gcc-internal-format
+ msgid "duplicate %qs"
+ msgstr "'%s' optræder mere end én gang"
+
+-#: cp/parser.c:2214
++#: cp/parser.c:2218
+ #, fuzzy, gcc-internal-format
+ msgid "new types may not be defined in a return type"
+ msgstr "new kan ikke bruges på en referencetype"
+
+-#: cp/parser.c:2215
++#: cp/parser.c:2219
+ #, fuzzy, gcc-internal-format
+ msgid "(perhaps a semicolon is missing after the definition of %qT)"
+ msgstr "semikolon mangler efter erklæring af '%T'"
+
+-#: cp/parser.c:2234 cp/parser.c:4077 cp/pt.c:5443
++#: cp/parser.c:2238 cp/parser.c:4081 cp/pt.c:5509
+ #, fuzzy, gcc-internal-format
+ msgid "%qT is not a template"
+ msgstr "'%T' er ikke en skabelon"
+
+-#: cp/parser.c:2236
++#: cp/parser.c:2240
+ #, fuzzy, gcc-internal-format
+ msgid "%qE is not a template"
+ msgstr "'%T' er ikke en skabelon"
+
+-#: cp/parser.c:2238
++#: cp/parser.c:2242
+ #, fuzzy, gcc-internal-format
+ msgid "invalid template-id"
+ msgstr "ugyldig roteringsinstruktion"
+
+-#: cp/parser.c:2267
++#: cp/parser.c:2271
+ #, fuzzy, gcc-internal-format
+ msgid "%s cannot appear in a constant-expression"
+ msgstr "overløb i konstant udtryk"
+
+-#: cp/parser.c:2292
++#: cp/parser.c:2296
+ #, fuzzy, gcc-internal-format
+ msgid "invalid use of template-name %qE without an argument list"
+ msgstr "ugyldig brug af skabelonsnavn '%E' i erklæring"
+
+-#: cp/parser.c:2294
++#: cp/parser.c:2298
+ #, fuzzy, gcc-internal-format
+ msgid "invalid use of destructor %qD as a type"
+ msgstr "ugyldig brug af 'restrict'"
+
+ #. Something like 'unsigned A a;'
+-#: cp/parser.c:2297
++#: cp/parser.c:2301
+ #, fuzzy, gcc-internal-format
+ msgid "invalid combination of multiple type-specifiers"
+ msgstr "ugyldig definition af modificeret type '%T'"
+
+ #. Issue an error message.
+-#: cp/parser.c:2301
++#: cp/parser.c:2305
+ #, fuzzy, gcc-internal-format
+ msgid "%qE does not name a type"
+ msgstr "'%D' erklærer ikke en skabelonstype"
+
+-#: cp/parser.c:2333
++#: cp/parser.c:2337
+ #, fuzzy, gcc-internal-format
+ msgid "(perhaps %<typename %T::%E%> was intended)"
+ msgstr " (benyt 'typename %T::%D' hvis det er hvad du mener)"
+
+-#: cp/parser.c:2348
++#: cp/parser.c:2352
+ #, fuzzy, gcc-internal-format
+ msgid "%qE in namespace %qE does not name a type"
+ msgstr "'%D' erklærer ikke en skabelonstype"
+
+-#: cp/parser.c:2351
++#: cp/parser.c:2355
+ #, fuzzy, gcc-internal-format
+ msgid "%qE in class %qT does not name a type"
+ msgstr "'%D' erklærer ikke en skabelonstype"
+
+-#: cp/parser.c:3160
++#: cp/parser.c:3164
+ #, gcc-internal-format
+ msgid "ISO C++ forbids braced-groups within expressions"
+ msgstr "ISO C++ forbyder krøllet parantes-grupper inden i udtryk"
+
+-#: cp/parser.c:3171
++#: cp/parser.c:3175
+ #, fuzzy, gcc-internal-format
+ msgid "statement-expressions are not allowed outside functions nor in template-argument lists"
+ msgstr "sætningsblokke i udtryk er kun tilladt inde i en funktion"
+
+-#: cp/parser.c:3229
++#: cp/parser.c:3233
+ #, fuzzy, gcc-internal-format
+ msgid "%<this%> may not be used in this context"
+ msgstr "'%D' blev ikke erklæret i dette virkefelt"
+
+-#: cp/parser.c:3412
++#: cp/parser.c:3416
+ #, fuzzy, gcc-internal-format
+ msgid "local variable %qD may not appear in this context"
+ msgstr "'%D' blev ikke erklæret i dette virkefelt"
+
+-#: cp/parser.c:3711
++#: cp/parser.c:3715
+ #, gcc-internal-format
+ msgid "scope %qT before %<~%> is not a class-name"
+ msgstr ""
+
+-#: cp/parser.c:3812
++#: cp/parser.c:3816
+ #, fuzzy, gcc-internal-format
+ msgid "declaration of %<~%T%> as member of %qT"
+ msgstr "erklæring af '%s' skygger for et medlem af 'this'"
+
+-#: cp/parser.c:3826
++#: cp/parser.c:3830
+ #, fuzzy, gcc-internal-format
+ msgid "typedef-name %qD used as destructor declarator"
+ msgstr "skabelons-id '%D' benyttet som erklærer"
+
+-#: cp/parser.c:4480
++#: cp/parser.c:4484
+ #, fuzzy, gcc-internal-format
+ msgid "ISO C++ forbids compound-literals"
+ msgstr "ISO C++ forbyder sammensatte konstanter"
+
+-#: cp/parser.c:4837
++#: cp/parser.c:4841
+ #, fuzzy, gcc-internal-format
+ msgid "%qE does not have class type"
+ msgstr "'%D' erklærer ikke en skabelonstype"
+
+-#: cp/parser.c:4920 cp/typeck.c:1978
++#: cp/parser.c:4924 cp/typeck.c:2024
+ #, fuzzy, gcc-internal-format
+ msgid "invalid use of %qD"
+ msgstr "ugyldig brug af '%D"
+
+-#: cp/parser.c:5480
++#: cp/parser.c:5486
+ #, fuzzy, gcc-internal-format
+ msgid "array bound forbidden after parenthesized type-id"
+ msgstr "egenskaber i parametertabelerklæring ignoreret"
+
+-#: cp/parser.c:5481
++#: cp/parser.c:5487
+ #, gcc-internal-format
+ msgid "try removing the parentheses around the type-id"
+ msgstr ""
+
+-#: cp/parser.c:5671
++#: cp/parser.c:5677
+ #, fuzzy, gcc-internal-format
+ msgid "expression in new-declarator must have integral or enumeration type"
+ msgstr "størrelse i tabel-new skal være en heltalstype"
+
+-#: cp/parser.c:5860
++#: cp/parser.c:5866
+ #, gcc-internal-format
+ msgid "use of old-style cast"
+ msgstr "brug af ældre type typeomtvingning"
+
+-#: cp/parser.c:5986
++#: cp/parser.c:5992
+ #, gcc-internal-format
+ msgid "%H%<>>%> operator will be treated as two right angle brackets in C++0x"
+ msgstr ""
+
+-#: cp/parser.c:5989
++#: cp/parser.c:5995
+ #, fuzzy, gcc-internal-format
+ msgid "suggest parentheses around %<>>%> expression"
+ msgstr "foreslår paranteser omkring && inden i ||"
+
+-#: cp/parser.c:6793
++#: cp/parser.c:6799
+ #, fuzzy, gcc-internal-format
+ msgid "case label %qE not within a switch statement"
+ msgstr "case-etiket '%E' befinder sig ikke inden i en switch-sætning"
+
+-#: cp/parser.c:6922
++#: cp/parser.c:6928
+ #, gcc-internal-format
+ msgid "%<else%> without a previous %<if%>"
+ msgstr ""
+
+-#: cp/parser.c:7208
++#: cp/parser.c:7214
+ #, gcc-internal-format
+ msgid "suggest a space before %<;%> or explicit braces around empty body in %<%s%> statement"
+ msgstr ""
+
+-#: cp/parser.c:7468
++#: cp/parser.c:7474
+ #, gcc-internal-format
+ msgid "ISO C++ forbids computed gotos"
+ msgstr "ISO C++ forbyder beregnede goto'er"
+
+-#: cp/parser.c:7608
++#: cp/parser.c:7614
+ #, gcc-internal-format
+ msgid "extra %<;%>"
+ msgstr ""
+
+-#: cp/parser.c:7825
++#: cp/parser.c:7831
+ #, gcc-internal-format
+ msgid "%<__label__%> not at the beginning of a block"
+ msgstr ""
+
+-#: cp/parser.c:7958
++#: cp/parser.c:7964
+ #, gcc-internal-format
+ msgid "mixing declarations and function-definitions is forbidden"
+ msgstr ""
+
+-#: cp/parser.c:8090
++#: cp/parser.c:8096
+ #, gcc-internal-format
+ msgid "%<friend%> used outside of class"
+ msgstr ""
+
+-#: cp/parser.c:8244
++#: cp/parser.c:8250
+ #, fuzzy, gcc-internal-format
+ msgid "class definition may not be declared a friend"
+ msgstr "funktionen '%D' kan ikke erklæres friend"
+
+-#: cp/parser.c:8308 cp/parser.c:15155
++#: cp/parser.c:8314 cp/parser.c:15235
+ #, gcc-internal-format
+ msgid "templates may not be %<virtual%>"
+ msgstr ""
+
+-#: cp/parser.c:8775
++#: cp/parser.c:8786
+ #, gcc-internal-format
+ msgid "only constructors take base initializers"
+ msgstr "kun konstruktionsfunktioner har stamklasseklargøringer"
+
+-#: cp/parser.c:8795
++#: cp/parser.c:8806
+ #, fuzzy, gcc-internal-format
+ msgid "cannot expand initializer for member %<%D%>"
+ msgstr "manglende startværdi for medlemmet '%D'"
+
+-#: cp/parser.c:8847
++#: cp/parser.c:8858
+ #, fuzzy, gcc-internal-format
+ msgid "anachronistic old-style base class initializer"
+ msgstr "forældet stamklasseklargøring"
+
+-#: cp/parser.c:8892
++#: cp/parser.c:8903
+ #, gcc-internal-format
+ msgid "keyword %<typename%> not allowed in this context (a qualified member initializer is implicitly a type)"
+ msgstr ""
+
+ #. Warn that we do not support `export'.
+-#: cp/parser.c:9237
++#: cp/parser.c:9248
+ #, fuzzy, gcc-internal-format
+ msgid "keyword %<export%> not implemented, and will be ignored"
+ msgstr "det reserverede ord 'export' er ikke implementeret og vil blive ignoreret"
+
+-#: cp/parser.c:9482 cp/parser.c:9583
++#: cp/parser.c:9419 cp/parser.c:9517 cp/parser.c:9618
+ #, fuzzy, gcc-internal-format
+ msgid "template parameter pack %qD cannot have a default argument"
+ msgstr "'%D' kan ikke have standardparametre"
+
+-#: cp/parser.c:9485 cp/parser.c:9586
++#: cp/parser.c:9422
+ #, fuzzy, gcc-internal-format
++msgid "template parameter pack cannot have a default argument"
++msgstr "skabelonsparametre kan ikke være venner"
++
++#: cp/parser.c:9520 cp/parser.c:9621
++#, fuzzy, gcc-internal-format
+ msgid "template parameter packs cannot have default arguments"
+ msgstr "skabelonsparametre kan ikke være venner"
+
+ #. Otherwise, emit an error about the invalid digraph, but continue
+ #. parsing because we got our argument list.
+-#: cp/parser.c:9723
++#: cp/parser.c:9758
+ #, fuzzy, gcc-internal-format
+ msgid "%<<::%> cannot begin a template-argument list"
+ msgstr "objektet '%E' kan ikke bruges som skabelonsparameter"
+
+-#: cp/parser.c:9724
++#: cp/parser.c:9759
+ #, gcc-internal-format
+ msgid "%<<:%> is an alternate spelling for %<[%>. Insert whitespace between %<<%> and %<::%>"
+ msgstr ""
+
+-#: cp/parser.c:9731
++#: cp/parser.c:9766
+ #, gcc-internal-format
+ msgid "(if you use -fpermissive G++ will accept your code)"
+ msgstr ""
+
+-#: cp/parser.c:9804
++#: cp/parser.c:9839
+ #, fuzzy, gcc-internal-format
+ msgid "parse error in template argument list"
+ msgstr "objektet '%E' kan ikke bruges som skabelonsparameter"
+
+ #. Explain what went wrong.
+-#: cp/parser.c:9917
++#: cp/parser.c:9952
+ #, fuzzy, gcc-internal-format
+ msgid "non-template %qD used as template"
+ msgstr "ikke-skabelon benyttet som skabelon"
+
+-#: cp/parser.c:9918
++#: cp/parser.c:9953
+ #, fuzzy, gcc-internal-format
+ msgid "use %<%T::template %D%> to indicate that it is a template"
+ msgstr "skabelons-id '%D' i erklæring af primær skabelon"
+
+-#: cp/parser.c:10441
++#: cp/parser.c:10476
+ #, gcc-internal-format
+ msgid "template specialization with C linkage"
+ msgstr "skabelonsspecialisering med C-kædning"
+
+-#: cp/parser.c:11032
++#: cp/parser.c:11067
+ #, fuzzy, gcc-internal-format
+ msgid "using %<typename%> outside of template"
+ msgstr "bruger 'typename' uden for en skabelon"
+
+-#: cp/parser.c:11191
++#: cp/parser.c:11226
+ #, fuzzy, gcc-internal-format
+ msgid "declaration %qD does not declare anything"
+ msgstr "erklæring erklærer ikke noget"
+
+-#: cp/parser.c:11275
++#: cp/parser.c:11310
+ #, fuzzy, gcc-internal-format
+ msgid "attributes ignored on uninstantiated type"
+ msgstr "ugyldig operation på uudskiftet type"
+
+-#: cp/parser.c:11279
++#: cp/parser.c:11314
+ #, fuzzy, gcc-internal-format
+ msgid "attributes ignored on template instantiation"
+ msgstr "lagringsklasse '%D' anvendt på skabelonsinstantiering"
+
+-#: cp/parser.c:11284
++#: cp/parser.c:11319
+ #, gcc-internal-format
+ msgid "attributes ignored on elaborated-type-specifier that is not a forward declaration"
+ msgstr ""
+
+-#: cp/parser.c:11406
++#: cp/parser.c:11441
+ #, gcc-internal-format
+ msgid "comma at end of enumerator list"
+ msgstr "komma i slutningen af enum-liste"
+
+-#: cp/parser.c:11498
++#: cp/parser.c:11533
+ #, fuzzy, gcc-internal-format
+ msgid "%qD is not a namespace-name"
+ msgstr "'%D' er ikke et navnerum"
+
+-#: cp/parser.c:11599
++#: cp/parser.c:11634
+ #, fuzzy, gcc-internal-format
+ msgid "%<namespace%> definition is not allowed here"
+ msgstr "Min/max-instruktioner ikke tilladt"
+@@ -31142,142 +31151,157 @@
+ #. [namespace.udecl]
+ #.
+ #. A using declaration shall not name a template-id.
+-#: cp/parser.c:11738
++#: cp/parser.c:11773
+ #, fuzzy, gcc-internal-format
+ msgid "a template-id may not appear in a using-declaration"
+ msgstr "navnerum '%D' ikke tilladt i using-erklæring"
+
+-#: cp/parser.c:12094
++#: cp/parser.c:12135
+ #, gcc-internal-format
+ msgid "an asm-specification is not allowed on a function-definition"
+ msgstr ""
+
+-#: cp/parser.c:12096
++#: cp/parser.c:12137
+ #, fuzzy, gcc-internal-format
+ msgid "attributes are not allowed on a function-definition"
+ msgstr "en global registervariabel følger en funktionsdefinition"
+
+-#: cp/parser.c:12229
++#: cp/parser.c:12270
+ #, fuzzy, gcc-internal-format
+ msgid "initializer provided for function"
+ msgstr "startværdi angivet for ikke-medlemsfunktion '%D'"
+
+-#: cp/parser.c:12249
++#: cp/parser.c:12290
+ #, fuzzy, gcc-internal-format
+ msgid "attributes after parenthesized initializer ignored"
+ msgstr "egenskaber i parametertabelerklæring ignoreret"
+
+-#: cp/parser.c:12630 cp/pt.c:8772
++#: cp/parser.c:12671 cp/pt.c:8893
+ #, fuzzy, gcc-internal-format
+ msgid "array bound is not an integer constant"
+ msgstr "tabelindeks er ikke et heltal"
+
+-#: cp/parser.c:12739
++#: cp/parser.c:12780
+ #, fuzzy, gcc-internal-format
+ msgid "%<%T::%E%> is not a type"
+ msgstr "'%D::%D' er ikke en skabelon"
+
+-#: cp/parser.c:12765
++#: cp/parser.c:12806
+ #, fuzzy, gcc-internal-format
+ msgid "invalid use of constructor as a template"
+ msgstr "ugyldig brug af ikke-statisk felt '%D'"
+
+-#: cp/parser.c:12766
++#: cp/parser.c:12807
+ #, gcc-internal-format
+ msgid "use %<%T::%D%> instead of %<%T::%D%> to name the constructor in a qualified name"
+ msgstr ""
+
+-#: cp/parser.c:12938
++#: cp/parser.c:12979
+ #, fuzzy, gcc-internal-format
+ msgid "%qD is a namespace"
+ msgstr "'%D' er et navnerum"
+
+-#: cp/parser.c:13013
++#: cp/parser.c:13054
+ #, fuzzy, gcc-internal-format
+ msgid "duplicate cv-qualifier"
+ msgstr "case-værdi optræder mere end én gang"
+
+-#: cp/parser.c:13600
++#: cp/parser.c:13640
+ #, fuzzy, gcc-internal-format
+ msgid "file ends in default argument"
+ msgstr "%Hslutningen af filen læst inden i standardparameter"
+
+-#: cp/parser.c:13673
++#: cp/parser.c:13683
+ #, fuzzy, gcc-internal-format
+ msgid "deprecated use of default argument for parameter of non-function"
+ msgstr "standardparameter givet til %d. parameter for '%#D'"
+
+-#: cp/parser.c:13676
++#: cp/parser.c:13686
+ #, fuzzy, gcc-internal-format
+ msgid "default arguments are only permitted for function parameters"
+ msgstr "standardparameter givet til %d. parameter for '%#D'"
+
+-#: cp/parser.c:13877
++#: cp/parser.c:13702
++#, fuzzy, gcc-internal-format
++msgid "%sparameter pack %qD cannot have a default argument"
++msgstr "'%D' kan ikke have standardparametre"
++
++#: cp/parser.c:13705
++#, fuzzy, gcc-internal-format
++msgid "%sparameter pack cannot have a default argument"
++msgstr "'%D' kan ikke have standardparametre"
++
++#: cp/parser.c:13947
+ #, gcc-internal-format
+ msgid "ISO C++ does not allow designated initializers"
+ msgstr "ISO C++ tillader ikke udpegede startværdier"
+
+-#: cp/parser.c:14477
++#: cp/parser.c:14547
+ #, fuzzy, gcc-internal-format
+ msgid "invalid class name in declaration of %qD"
+ msgstr "ugyldig omerklæring af '%D'"
+
+-#: cp/parser.c:14489
++#: cp/parser.c:14559
+ #, fuzzy, gcc-internal-format
+ msgid "declaration of %qD in namespace %qD which does not enclose %qD"
+ msgstr "erklæring af '%D' i '%D' som ikke omgiver '%D'"
+
+-#: cp/parser.c:14492
++#: cp/parser.c:14562
+ #, fuzzy, gcc-internal-format
+ msgid "declaration of %qD in %qD which does not enclose %qD"
+ msgstr "erklæring af '%D' i '%D' som ikke omgiver '%D'"
+
+-#: cp/parser.c:14505
++#: cp/parser.c:14575
+ #, fuzzy, gcc-internal-format
+ msgid "extra qualification ignored"
+ msgstr "ekstra modifikation '%T::' af medlemmet '%D' ignoreret"
+
+-#: cp/parser.c:14516
++#: cp/parser.c:14586
+ #, fuzzy, gcc-internal-format
+ msgid "an explicit specialization must be preceded by %<template <>%>"
+ msgstr "eksplicit specialisering følger ikke efter 'template <>'"
+
+-#: cp/parser.c:14609
++#: cp/parser.c:14613
+ #, fuzzy, gcc-internal-format
++msgid "function template %qD redeclared as a class template"
++msgstr "ikke-skabelon benyttet som skabelon"
++
++#: cp/parser.c:14689
++#, fuzzy, gcc-internal-format
+ msgid "previous definition of %q+#T"
+ msgstr "tidligere definition af '%#T'"
+
+-#: cp/parser.c:14855
++#: cp/parser.c:14935
+ #, gcc-internal-format
+ msgid "%Hextra %<;%>"
+ msgstr ""
+
+-#: cp/parser.c:14873
++#: cp/parser.c:14953
+ #, gcc-internal-format
+ msgid "a class-key must be used when declaring a friend"
+ msgstr ""
+
+-#: cp/parser.c:14887
++#: cp/parser.c:14967
+ #, fuzzy, gcc-internal-format
+ msgid "friend declaration does not name a class or function"
+ msgstr "friend-erklæringen er ikke i klassedefinitionen"
+
+-#: cp/parser.c:15064
++#: cp/parser.c:15144
+ #, gcc-internal-format
+ msgid "pure-specifier on function-definition"
+ msgstr ""
+
+-#: cp/parser.c:15356
++#: cp/parser.c:15438
+ #, fuzzy, gcc-internal-format
+ msgid "keyword %<typename%> not allowed outside of templates"
+ msgstr "bruger 'typename' uden for en skabelon"
+
+-#: cp/parser.c:15358
++#: cp/parser.c:15440
+ #, fuzzy, gcc-internal-format
+ msgid "keyword %<typename%> not allowed in this context (the base class is implicitly a type)"
+ msgstr "bruger 'typename' uden for en skabelon"
+
+-#: cp/parser.c:16407
++#: cp/parser.c:16489
+ #, fuzzy, gcc-internal-format
+ msgid "too few template-parameter-lists"
+ msgstr "for få skabelonsparameterlister angivet i erklæring af '%D'"
+@@ -31286,13 +31310,13 @@
+ #. something like:
+ #.
+ #. template <class T> template <class U> void S::f();
+-#: cp/parser.c:16422
++#: cp/parser.c:16504
+ #, fuzzy, gcc-internal-format
+ msgid "too many template-parameter-lists"
+ msgstr "for mange skabelonsparameterlister angivet i erklæring af '%D'"
+
+ #. Issue an error message.
+-#: cp/parser.c:16694
++#: cp/parser.c:16776
+ #, fuzzy, gcc-internal-format
+ msgid "named return values are no longer supported"
+ msgstr "--driver understøttes ikke længere"
+@@ -31300,235 +31324,235 @@
+ #. 14.5.2.2 [temp.mem]
+ #.
+ #. A local class shall not have member templates.
+-#: cp/parser.c:16766
++#: cp/parser.c:16848
+ #, fuzzy, gcc-internal-format
+ msgid "invalid declaration of member template in local class"
+ msgstr "ugyldig erklæring af medlemsskabelon '%#D' i lokal klasse"
+
+-#: cp/parser.c:16775
++#: cp/parser.c:16857
+ #, gcc-internal-format
+ msgid "template with C linkage"
+ msgstr "skabelon med C-kædning"
+
+-#: cp/parser.c:16919
++#: cp/parser.c:17001
+ #, fuzzy, gcc-internal-format
+ msgid "template declaration of %qs"
+ msgstr "skabelonserklæring af '%#D'"
+
+-#: cp/parser.c:16982
++#: cp/parser.c:17064
+ #, fuzzy, gcc-internal-format
+ msgid "explicit template specialization cannot have a storage class"
+ msgstr "eksplicit specialisering her"
+
+-#: cp/parser.c:17171
++#: cp/parser.c:17253
+ #, fuzzy, gcc-internal-format
+ msgid "%H%<>>%> should be %<> >%> within a nested template argument list"
+ msgstr "'>>' skulle have været '> >' i skabelonsklassenavn"
+
+-#: cp/parser.c:17184
++#: cp/parser.c:17266
+ #, fuzzy, gcc-internal-format
+ msgid "spurious %<>>%>, use %<>%> to terminate a template argument list"
+ msgstr "'>>' skulle have været '> >' i skabelonsklassenavn"
+
+-#: cp/parser.c:17519
++#: cp/parser.c:17601
+ #, fuzzy, gcc-internal-format
+ msgid "invalid use of %qD in linkage specification"
+ msgstr "ugyldig stamklasseangivelse"
+
+-#: cp/parser.c:17532
++#: cp/parser.c:17614
+ #, fuzzy, gcc-internal-format
+ msgid "%<__thread%> before %qD"
+ msgstr "'__thread' før 'extern'"
+
+-#: cp/parser.c:17847
++#: cp/parser.c:17929
+ #, fuzzy, gcc-internal-format
+ msgid "%qs tag used in naming %q#T"
+ msgstr "'%s'-mærke benyttet i navngivning af '%#T'"
+
+-#: cp/parser.c:17868
++#: cp/parser.c:17950
+ #, fuzzy, gcc-internal-format
+ msgid "%qD redeclared with different access"
+ msgstr "'%#D' omerklæret som en anden form for symbol"
+
+-#: cp/parser.c:17885
++#: cp/parser.c:17967
+ #, gcc-internal-format
+ msgid "%<template%> (as a disambiguator) is only allowed within templates"
+ msgstr ""
+
+-#: cp/parser.c:18138 cp/parser.c:19061 cp/parser.c:19192
++#: cp/parser.c:18220 cp/parser.c:19143 cp/parser.c:19274
+ #, gcc-internal-format
+ msgid "misplaced %<@%D%> Objective-C++ construct"
+ msgstr ""
+
+-#: cp/parser.c:18279
++#: cp/parser.c:18361
+ #, gcc-internal-format
+ msgid "%<@encode%> must specify a type as an argument"
+ msgstr ""
+
+-#: cp/parser.c:18594
++#: cp/parser.c:18676
+ #, gcc-internal-format
+ msgid "invalid Objective-C++ selector name"
+ msgstr ""
+
+-#: cp/parser.c:18925
++#: cp/parser.c:19007
+ #, fuzzy, gcc-internal-format
+ msgid "identifier expected after %<@protocol%>"
+ msgstr "Kaldenavn forventet"
+
+-#: cp/parser.c:19626
++#: cp/parser.c:19708
+ #, gcc-internal-format
+ msgid "schedule %<runtime%> does not take a %<chunk_size%> parameter"
+ msgstr ""
+
+-#: cp/parser.c:19735
++#: cp/parser.c:19824
+ #, fuzzy, gcc-internal-format
+ msgid "%qs is not valid for %qs"
+ msgstr "%s understøtter ikke %s"
+
+-#: cp/parser.c:20390
++#: cp/parser.c:20479
+ #, fuzzy, gcc-internal-format
+ msgid "junk at end of %<#pragma GCC pch_preprocess%>"
+ msgstr "ragelse i slutningen af #pragma GCC java_exceptions"
+
+-#: cp/parser.c:20477
++#: cp/parser.c:20566
+ #, gcc-internal-format
+ msgid "%<#pragma omp section%> may only be used in %<#pragma omp sections%> construct"
+ msgstr ""
+
+-#: cp/parser.c:20535
++#: cp/parser.c:20624
+ #, fuzzy, gcc-internal-format
+ msgid "inter-module optimizations not implemented for C++"
+ msgstr "profilering understøttes ikke endnu"
+
+-#: cp/pt.c:249
++#: cp/pt.c:252
+ #, fuzzy, gcc-internal-format
+ msgid "data member %qD cannot be a member template"
+ msgstr "datamedlem '%D' kan ikke være en medlemsskabelon"
+
+-#: cp/pt.c:261
++#: cp/pt.c:264
+ #, fuzzy, gcc-internal-format
+ msgid "invalid member template declaration %qD"
+ msgstr "ugyldig medlemsskabelonerklæring '%D'"
+
+-#: cp/pt.c:609
++#: cp/pt.c:612
+ #, fuzzy, gcc-internal-format
+ msgid "explicit specialization in non-namespace scope %qD"
+ msgstr "eksplicit specialisering i virkefeltet '%D' der ikke er et navnerum"
+
+-#: cp/pt.c:623
++#: cp/pt.c:626
+ #, gcc-internal-format
+ msgid "enclosing class templates are not explicitly specialized"
+ msgstr "omgivende klasseskabeloner er ikke eksplicit specialiserede"
+
+-#: cp/pt.c:711
++#: cp/pt.c:714
+ #, fuzzy, gcc-internal-format
+ msgid "specialization of %qD in different namespace"
+ msgstr "specialiserer '%#T' i andet navnerum"
+
+ # hænger sammen med foregående tekst, derfor ikke 'fra'
+-#: cp/pt.c:712 cp/pt.c:809
++#: cp/pt.c:715 cp/pt.c:812
+ #, fuzzy, gcc-internal-format
+ msgid " from definition of %q+#D"
+ msgstr " i forhold til definition af '%#D'"
+
+-#: cp/pt.c:729
++#: cp/pt.c:732
+ #, fuzzy, gcc-internal-format
+ msgid "explicit instantiation of %qD in namespace %qD (which does not enclose namespace %qD)"
+ msgstr "erklæring af '%D' i '%D' som ikke omgiver '%D'"
+
+-#: cp/pt.c:747
++#: cp/pt.c:750
+ #, fuzzy, gcc-internal-format
+ msgid "name of class shadows template template parameter %qD"
+ msgstr "ugyldig brug af skabelonstypeparameter"
+
+-#: cp/pt.c:776
++#: cp/pt.c:779
+ #, fuzzy, gcc-internal-format
+ msgid "specialization of %qT after instantiation"
+ msgstr "specialisering af '%T' efter instantiering"
+
+-#: cp/pt.c:808
++#: cp/pt.c:811
+ #, fuzzy, gcc-internal-format
+ msgid "specializing %q#T in different namespace"
+ msgstr "specialiserer '%#T' i andet navnerum"
+
+-#: cp/pt.c:823
++#: cp/pt.c:826
+ #, fuzzy, gcc-internal-format
+ msgid "specialization %qT after instantiation %qT"
+ msgstr "specialisering af '%T' efter instantiering '%T'"
+
+-#: cp/pt.c:836
++#: cp/pt.c:839
+ #, fuzzy, gcc-internal-format
+ msgid "explicit specialization of non-template %qT"
+ msgstr "eksplicit specialisering af '%T' der ikke er en skabelon"
+
+-#: cp/pt.c:1238
++#: cp/pt.c:1246
+ #, fuzzy, gcc-internal-format
+ msgid "specialization of %qD after instantiation"
+ msgstr "specialisering af '%D' efter instantiering"
+
+-#: cp/pt.c:1464
++#: cp/pt.c:1472
+ #, fuzzy, gcc-internal-format
+ msgid "%qD is not a function template"
+ msgstr "'%D' er ikke en funktionsskabelon"
+
+-#: cp/pt.c:1673
++#: cp/pt.c:1681
+ #, fuzzy, gcc-internal-format
+ msgid "template-id %qD for %q+D does not match any template declaration"
+ msgstr "skabelons-id '%D' for '%+D' passer ikke til nogen skabelonserklæring"
+
+-#: cp/pt.c:1681
++#: cp/pt.c:1689
+ #, fuzzy, gcc-internal-format
+ msgid "ambiguous template specialization %qD for %q+D"
+ msgstr "tvetydig skabelonsspecialisering '%D' for '%+D'"
+
+ #. This case handles bogus declarations like template <>
+ #. template <class T> void f<int>();
+-#: cp/pt.c:1916 cp/pt.c:1970
++#: cp/pt.c:1924 cp/pt.c:1978
+ #, fuzzy, gcc-internal-format
+ msgid "template-id %qD in declaration of primary template"
+ msgstr "skabelons-id '%D' i erklæring af primær skabelon"
+
+-#: cp/pt.c:1929
++#: cp/pt.c:1937
+ #, gcc-internal-format
+ msgid "template parameter list used in explicit instantiation"
+ msgstr "skabelonsparameterliste benyttet i eksplicit instantiering"
+
+-#: cp/pt.c:1935
++#: cp/pt.c:1943
+ #, gcc-internal-format
+ msgid "definition provided for explicit instantiation"
+ msgstr "definition angivet for eksplicit instantiering"
+
+-#: cp/pt.c:1943
++#: cp/pt.c:1951
+ #, fuzzy, gcc-internal-format
+ msgid "too many template parameter lists in declaration of %qD"
+ msgstr "for mange skabelonsparameterlister angivet i erklæring af '%D'"
+
+-#: cp/pt.c:1946
++#: cp/pt.c:1954
+ #, fuzzy, gcc-internal-format
+ msgid "too few template parameter lists in declaration of %qD"
+ msgstr "for få skabelonsparameterlister angivet i erklæring af '%D'"
+
+-#: cp/pt.c:1948
++#: cp/pt.c:1956
+ #, fuzzy, gcc-internal-format
+ msgid "explicit specialization of %qD must be introduced by %<template <>%>"
+ msgstr "eksplicit specialisering følger ikke efter 'template <>'"
+
+-#: cp/pt.c:1967
++#: cp/pt.c:1975
+ #, gcc-internal-format
+ msgid "function template partial specialization %qD is not allowed"
+ msgstr ""
+
+-#: cp/pt.c:1999
++#: cp/pt.c:2007
+ #, gcc-internal-format
+ msgid "default argument specified in explicit specialization"
+ msgstr "standardparameter angivet i eksplicit specialisering"
+
+-#: cp/pt.c:2029
++#: cp/pt.c:2037
+ #, fuzzy, gcc-internal-format
+ msgid "%qD is not a template function"
+ msgstr "'%D' er ikke en medlemsskabelonfunktion"
+
+-#: cp/pt.c:2037
++#: cp/pt.c:2045
+ #, fuzzy, gcc-internal-format
+ msgid "%qD is not declared in %qD"
+ msgstr "'%D' ikke erklæret"
+@@ -31541,102 +31565,112 @@
+ #. program is ill-formed.
+ #.
+ #. Similar language is found in [temp.explicit].
+-#: cp/pt.c:2099
++#: cp/pt.c:2107
+ #, gcc-internal-format
+ msgid "specialization of implicitly-declared special member function"
+ msgstr "specialisering af underforstået erklæret speciel medlemsfunktion"
+
+-#: cp/pt.c:2143
++#: cp/pt.c:2151
+ #, fuzzy, gcc-internal-format
+ msgid "no member function %qD declared in %qT"
+ msgstr "ingen medlemsfunktion '%D' erklæret i '%T'"
+
+-#: cp/pt.c:2642
++#: cp/pt.c:2628
+ #, gcc-internal-format
+ msgid "base initializer expansion %<%T%> contains no parameter packs"
+ msgstr ""
+
+-#: cp/pt.c:2701
++#: cp/pt.c:2687
+ #, gcc-internal-format
+ msgid "expansion pattern %<%T%> contains no argument packs"
+ msgstr ""
+
+-#: cp/pt.c:2703
++#: cp/pt.c:2689
+ #, gcc-internal-format
+ msgid "expansion pattern %<%E%> contains no argument packs"
+ msgstr ""
+
+-#: cp/pt.c:2745
++#: cp/pt.c:2730
+ #, gcc-internal-format
+ msgid "parameter packs not expanded with `...':"
+ msgstr ""
+
+-#: cp/pt.c:2760 cp/pt.c:3383
++#: cp/pt.c:2745 cp/pt.c:3361
+ #, fuzzy, gcc-internal-format
+ msgid " %qD"
+ msgstr " '%D'"
+
+-#: cp/pt.c:2762
++#: cp/pt.c:2747
+ #, fuzzy, gcc-internal-format
+ msgid " <anonymous>"
+ msgstr "<anonym %s>"
+
+-#: cp/pt.c:2875
++#: cp/pt.c:2852
+ #, fuzzy, gcc-internal-format
+ msgid "declaration of %q+#D"
+ msgstr "omerklæring af '%#D'"
+
+-#: cp/pt.c:2876
++#: cp/pt.c:2853
+ #, fuzzy, gcc-internal-format
+ msgid " shadows template parm %q+#D"
+ msgstr " skygger for skabelonsparameter '%#D'"
+
+-#: cp/pt.c:3379
++#: cp/pt.c:3357
+ #, gcc-internal-format
+ msgid "template parameters not used in partial specialization:"
+ msgstr "skabelonsparametre der ikke bruges i partiel specialisering:"
+
+-#: cp/pt.c:3394
++#: cp/pt.c:3372
+ #, fuzzy, gcc-internal-format
+ msgid "partial specialization %qT does not specialize any template arguments"
+ msgstr "den partielle specialisering '%T' specialiserer ikke nogen skabelonsparametre"
+
+-#: cp/pt.c:3439
++#: cp/pt.c:3417
+ #, gcc-internal-format
+ msgid "parameter pack argument %qE must be at the end of the template argument list"
+ msgstr ""
+
+-#: cp/pt.c:3441
++#: cp/pt.c:3419
+ #, gcc-internal-format
+ msgid "parameter pack argument %qT must be at the end of the template argument list"
+ msgstr ""
+
+ # flertalsform unødvendig
+-#: cp/pt.c:3462
++#: cp/pt.c:3440
+ #, fuzzy, gcc-internal-format
+ msgid "template argument %qE involves template parameter(s)"
+ msgstr "skabelonsparameter '%E' involverer skabelonsparameter"
+
+ # flertalsform unødvendig
+-#: cp/pt.c:3505
++#: cp/pt.c:3484
+ #, fuzzy, gcc-internal-format
+ msgid "type %qT of template argument %qE depends on template parameter(s)"
+ msgstr "typen '%T' af skabelonsparameteren '%E' afhænger af skabelonsparameter"
+
+-#: cp/pt.c:3611
++#: cp/pt.c:3591
+ #, fuzzy, gcc-internal-format
+ msgid "no default argument for %qD"
+ msgstr "ingen standardparameter til '%D'"
+
+-#: cp/pt.c:3796
++#: cp/pt.c:3609
+ #, gcc-internal-format
++msgid "parameter pack %qE must be at the end of the template parameter list"
++msgstr ""
++
++#: cp/pt.c:3612
++#, gcc-internal-format
++msgid "parameter pack %qT must be at the end of the template parameter list"
++msgstr ""
++
++#: cp/pt.c:3799
++#, gcc-internal-format
+ msgid "template class without a name"
+ msgstr "skabelonsklasse uden et navn"
+
+ #. [temp.mem]
+ #.
+ #. A destructor shall not be a member template.
+-#: cp/pt.c:3804
++#: cp/pt.c:3807
+ #, fuzzy, gcc-internal-format
+ msgid "destructor %qD declared as member template"
+ msgstr "datamedlem '%D' kan ikke være en medlemsskabelon"
+@@ -31646,77 +31680,72 @@
+ #. An allocation function can be a function
+ #. template. ... Template allocation functions shall
+ #. have two or more parameters.
+-#: cp/pt.c:3819
++#: cp/pt.c:3822
+ #, fuzzy, gcc-internal-format
+ msgid "invalid template declaration of %qD"
+ msgstr "ugyldig medlemsskabelonerklæring '%D'"
+
+-#: cp/pt.c:3890
+-#, gcc-internal-format
+-msgid "parameter pack %qE must be at the end of the template parameter list"
+-msgstr ""
+-
+-#: cp/pt.c:3893
+-#, gcc-internal-format
+-msgid "parameter pack %qT must be at the end of the template parameter list"
+-msgstr ""
+-
+-#: cp/pt.c:3953
++#: cp/pt.c:3939
+ #, fuzzy, gcc-internal-format
+ msgid "template definition of non-template %q#D"
+ msgstr "skabelonsdefinition af ikke-skabelon '%#D'"
+
+-#: cp/pt.c:3996
++#: cp/pt.c:3982
+ #, fuzzy, gcc-internal-format
+ msgid "expected %d levels of template parms for %q#D, got %d"
+ msgstr "forvented %d niveauer af skabelonsparametre for '%#D', modtog %d"
+
+-#: cp/pt.c:4008
++#: cp/pt.c:3994
+ #, fuzzy, gcc-internal-format
+ msgid "got %d template parameters for %q#D"
+ msgstr "modtog %d skabelonsparametre for '%#D'"
+
+-#: cp/pt.c:4011
++#: cp/pt.c:3997
+ #, fuzzy, gcc-internal-format
+ msgid "got %d template parameters for %q#T"
+ msgstr "modtog %d skabelonsparametre for '%#T'"
+
+-#: cp/pt.c:4013
++#: cp/pt.c:3999
+ #, gcc-internal-format
+ msgid " but %d required"
+ msgstr " men %d påkrævet"
+
+-#: cp/pt.c:4031
++#: cp/pt.c:4017
+ #, fuzzy, gcc-internal-format
+ msgid "template arguments to %qD do not match original template %qD"
+ msgstr "skabelons-id '%D' for '%+D' passer ikke til nogen skabelonserklæring"
+
+-#: cp/pt.c:4035
++#: cp/pt.c:4021
+ #, fuzzy, gcc-internal-format
+ msgid "use template<> for an explicit specialization"
+ msgstr "omgivende klasseskabeloner er ikke eksplicit specialiserede"
+
+-#: cp/pt.c:4131
++#: cp/pt.c:4117
+ #, fuzzy, gcc-internal-format
+ msgid "%qT is not a template type"
+ msgstr "'%T' er ikke en skabelonstype"
+
+-#: cp/pt.c:4144
++#: cp/pt.c:4130
+ #, fuzzy, gcc-internal-format
+ msgid "template specifiers not specified in declaration of %qD"
+ msgstr "for få skabelonsparameterlister angivet i erklæring af '%D'"
+
+-#: cp/pt.c:4155
++#: cp/pt.c:4140
+ #, fuzzy, gcc-internal-format
+-msgid "used %d template parameter(s) instead of %d"
+-msgstr "benyttede %d skabelonsparameter%s i stedet for %d"
++msgid "redeclared with %d template parameter(s)"
++msgstr "'%D' benyttet uden skabelonsparametre"
+
+-#: cp/pt.c:4184
++#: cp/pt.c:4142
+ #, fuzzy, gcc-internal-format
++msgid "previous declaration %q+D used %d template parameter(s)"
++msgstr "tidligere erklæring af '%#D' her"
++
++#: cp/pt.c:4176
++#, fuzzy, gcc-internal-format
+ msgid "template parameter %q+#D"
+ msgstr "skabelonsparameter '%#D'"
+
+-#: cp/pt.c:4185
++#: cp/pt.c:4177
+ #, fuzzy, gcc-internal-format
+ msgid "redeclared here as %q#D"
+ msgstr "omerklæret her som '%#D'"
+@@ -31725,182 +31754,182 @@
+ #.
+ #. A template-parameter may not be given default arguments
+ #. by two different declarations in the same scope.
+-#: cp/pt.c:4195
++#: cp/pt.c:4187
+ #, fuzzy, gcc-internal-format
+ msgid "redefinition of default argument for %q#D"
+ msgstr "omdefinering af standardparameter for '%#D'"
+
+-#: cp/pt.c:4196
++#: cp/pt.c:4188
+ #, fuzzy, gcc-internal-format
+-msgid "%J original definition appeared here"
++msgid "%Joriginal definition appeared here"
+ msgstr " oprindelig definition er her"
+
+-#: cp/pt.c:4300
++#: cp/pt.c:4292
+ #, fuzzy, gcc-internal-format
+ msgid "%qE is not a valid template argument for type %qT because function %qD has not external linkage"
+ msgstr "strengkonstanten %E er ikke en gyldig skabelonsparameter fordi den er adressen af et objekt med statisk kædning"
+
+-#: cp/pt.c:4341
++#: cp/pt.c:4333
+ #, fuzzy, 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 "strengkonstanten %E er ikke en gyldig skabelonsparameter fordi den er adressen af et objekt med statisk kædning"
+
+-#: cp/pt.c:4418
++#: cp/pt.c:4410
+ #, fuzzy, gcc-internal-format
+ msgid "%qE is not a valid template argument for type %qT because it is a non-constant expression"
+ msgstr "strengkonstanten %E er ikke en gyldig skabelonsparameter fordi den er adressen af et objekt med statisk kædning"
+
+-#: cp/pt.c:4462
++#: cp/pt.c:4454
+ #, fuzzy, gcc-internal-format
+ msgid "%qD is not a valid template argument because %qD is a variable, not the address of a variable"
+ msgstr "strengkonstanten %E er ikke en gyldig skabelonsparameter fordi den er adressen af et objekt med statisk kædning"
+
+-#: cp/pt.c:4480
++#: cp/pt.c:4472
+ #, fuzzy, gcc-internal-format
+ msgid "%qE is not a valid template argument of type %qT because %qE is not a variable"
+ msgstr "strengkonstanten %E er ikke en gyldig skabelonsparameter fordi den er adressen af et objekt med statisk kædning"
+
+-#: cp/pt.c:4487
++#: cp/pt.c:4479
+ #, fuzzy, gcc-internal-format
+ msgid "%qE is not a valid template argument of type %qT because %qD does not have external linkage"
+ msgstr "strengkonstanten %E er ikke en gyldig skabelonsparameter fordi den er adressen af et objekt med statisk kædning"
+
+-#: cp/pt.c:4517
++#: cp/pt.c:4509
+ #, gcc-internal-format
+ msgid "%qE is not a valid template argument for type %qT because of conflicts in cv-qualification"
+ msgstr ""
+
+-#: cp/pt.c:4524
++#: cp/pt.c:4516
+ #, fuzzy, gcc-internal-format
+ msgid "%qE is not a valid template argument for type %qT because it is not an lvalue"
+ msgstr "strengkonstanten %E er ikke en gyldig skabelonsparameter fordi den er adressen af et objekt med statisk kædning"
+
+-#: cp/pt.c:4537
++#: cp/pt.c:4529
+ #, fuzzy, gcc-internal-format
+ msgid "%qE is not a valid template argument for type %qT because object %qD has not external linkage"
+ msgstr "strengkonstanten %E er ikke en gyldig skabelonsparameter fordi den er adressen af et objekt med statisk kædning"
+
+-#: cp/pt.c:4577
++#: cp/pt.c:4569
+ #, fuzzy, gcc-internal-format
+ msgid "%qE is not a valid template argument for type %qT because it is a pointer"
+ msgstr "'%E' er ikke en gyldig skabelonsparameter"
+
+-#: cp/pt.c:4579
++#: cp/pt.c:4571
+ #, gcc-internal-format
+ msgid "try using %qE instead"
+ msgstr ""
+
+-#: cp/pt.c:4614
++#: cp/pt.c:4606
+ #, fuzzy, gcc-internal-format
+ msgid "%qE is not a valid template argument for type %qT because it is of type %qT"
+ msgstr "'%E' er ikke en gyldig skabelonsparameter"
+
+-#: cp/pt.c:4617
++#: cp/pt.c:4609
+ #, fuzzy, gcc-internal-format
+ msgid "standard conversions are not allowed in this context"
+ msgstr "'%D' blev ikke erklæret i dette virkefelt"
+
+-#: cp/pt.c:4797
++#: cp/pt.c:4860
+ #, fuzzy, gcc-internal-format
+ msgid "to refer to a type member of a template parameter, use %<typename %E%>"
+ msgstr "benyt 'typename %E' for at referere til et typemedlem af en skabelonsparameter"
+
+-#: cp/pt.c:4813 cp/pt.c:4832 cp/pt.c:4882
++#: cp/pt.c:4876 cp/pt.c:4895 cp/pt.c:4945
+ #, fuzzy, gcc-internal-format
+ msgid "type/value mismatch at argument %d in template parameter list for %qD"
+ msgstr "type/værdi-konflikt ved %d. parameter i skabelonsparameterliste for '%D'"
+
+-#: cp/pt.c:4817
++#: cp/pt.c:4880
+ #, fuzzy, gcc-internal-format
+ msgid " expected a constant of type %qT, got %qT"
+ msgstr " forventede en konstant af typen '%T', modtog '%T'"
+
+-#: cp/pt.c:4821
++#: cp/pt.c:4884
+ #, fuzzy, gcc-internal-format
+ msgid " expected a class template, got %qE"
+ msgstr " forventede en klasseskabelon, modtog '%T'"
+
+-#: cp/pt.c:4823
++#: cp/pt.c:4886
+ #, fuzzy, gcc-internal-format
+ msgid " expected a type, got %qE"
+ msgstr " forventede en type, modtog '%E'"
+
+-#: cp/pt.c:4836
++#: cp/pt.c:4899
+ #, fuzzy, gcc-internal-format
+ msgid " expected a type, got %qT"
+ msgstr " forventede en type, modtog '%T'"
+
+-#: cp/pt.c:4838
++#: cp/pt.c:4901
+ #, fuzzy, gcc-internal-format
+ msgid " expected a class template, got %qT"
+ msgstr " forventede en klasseskabelon, modtog '%T'"
+
+-#: cp/pt.c:4885
++#: cp/pt.c:4948
+ #, fuzzy, gcc-internal-format
+ msgid " expected a template of type %qD, got %qD"
+ msgstr " forventede en skabelon af typen '%D', modtog '%D'"
+
+-#: cp/pt.c:4928
++#: cp/pt.c:4991
+ #, fuzzy, gcc-internal-format
+ msgid "could not convert template argument %qE to %qT"
+ msgstr "kunne ikke konvertere skabelonsparameteren '%E' til '%T'"
+
+-#: cp/pt.c:4984
++#: cp/pt.c:5047
+ #, gcc-internal-format
+ msgid "wrong number of template arguments (%d, should be %d)"
+ msgstr "forkert antal skabelonsparametre (%d, skulle være %d)"
+
+-#: cp/pt.c:5116
++#: cp/pt.c:5179
+ #, fuzzy, gcc-internal-format
+ msgid "wrong number of template arguments (%d, should be %d%s)"
+ msgstr "forkert antal skabelonsparametre (%d, skulle være %d)"
+
+-#: cp/pt.c:5120
++#: cp/pt.c:5183
+ #, fuzzy, gcc-internal-format
+ msgid "provided for %q+D"
+ msgstr "angivet for '%D'"
+
+-#: cp/pt.c:5177
++#: cp/pt.c:5242
+ #, gcc-internal-format
+ msgid "cannot expand %<%E%> into a fixed-length argument list"
+ msgstr ""
+
+-#: cp/pt.c:5180
++#: cp/pt.c:5245
+ #, gcc-internal-format
+ msgid "cannot expand %<%T%> into a fixed-length argument list"
+ msgstr ""
+
+-#: cp/pt.c:5195
++#: cp/pt.c:5261
+ #, gcc-internal-format
+ msgid "template argument %d is invalid"
+ msgstr "skabelonsparameter %d er ugyldig"
+
+-#: cp/pt.c:5455
++#: cp/pt.c:5521
+ #, fuzzy, gcc-internal-format
+ msgid "non-template type %qT used as a template"
+ msgstr "ikke-skabelonstype '%T' benyttet som skabelon"
+
+-#: cp/pt.c:5457
++#: cp/pt.c:5523
+ #, fuzzy, gcc-internal-format
+ msgid "for template declaration %q+D"
+ msgstr "til skabelonserklæring '%D'"
+
+-#: cp/pt.c:6132
++#: cp/pt.c:6221
+ #, fuzzy, gcc-internal-format
+ msgid "template instantiation depth exceeds maximum of %d (use -ftemplate-depth-NN to increase the maximum) instantiating %qD"
+ msgstr "skabelonsinstantieringsdybden overskrider maksimum på %d (benyt -ftemplate-depth-NN for at forøge maksimum) ved instantiering af '%D'"
+
+-#: cp/pt.c:7237
++#: cp/pt.c:7333
+ #, gcc-internal-format
+ msgid "mismatched argument pack lengths while expanding %<%T%>"
+ msgstr ""
+
+-#: cp/pt.c:7241
++#: cp/pt.c:7337
+ #, gcc-internal-format
+ msgid "mismatched argument pack lengths while expanding %<%E%>"
+ msgstr ""
+
+-#: cp/pt.c:8189
++#: cp/pt.c:8289
+ #, fuzzy, gcc-internal-format
+ msgid "instantiation of %q+D as type %qT"
+ msgstr "instantiering af '%D' som typen '%T'"
+@@ -31918,242 +31947,242 @@
+ #.
+ #. is an attempt to declare a variable with function
+ #. type.
+-#: cp/pt.c:8324
++#: cp/pt.c:8424
+ #, fuzzy, gcc-internal-format
+ msgid "variable %qD has function type"
+ msgstr "sizeof benyttet på en funktionstype"
+
+-#: cp/pt.c:8471
++#: cp/pt.c:8571
+ #, fuzzy, gcc-internal-format
+ msgid "invalid parameter type %qT"
+ msgstr "ugyldig parametertype '%T'"
+
+-#: cp/pt.c:8473
++#: cp/pt.c:8573
+ #, fuzzy, gcc-internal-format
+ msgid "in declaration %q+D"
+ msgstr "i erklæringen '%D'"
+
+-#: cp/pt.c:8550
++#: cp/pt.c:8650
+ #, fuzzy, gcc-internal-format
+ msgid "function returning an array"
+ msgstr "funktion returnerer en værdi af en sammensat type"
+
+-#: cp/pt.c:8552
++#: cp/pt.c:8652
+ #, fuzzy, gcc-internal-format
+ msgid "function returning a function"
+ msgstr "'%s' er erklæret som en funktion der returnerer en funktion"
+
+-#: cp/pt.c:8586
++#: cp/pt.c:8686
+ #, fuzzy, gcc-internal-format
+ msgid "creating pointer to member function of non-class type %qT"
+ msgstr "opretter henvisning til medlemsfunktion af typen '%T' der ikke er en klasse"
+
+-#: cp/pt.c:8792
++#: cp/pt.c:8913
+ #, fuzzy, gcc-internal-format
+ msgid "creating array with negative size (%qE)"
+ msgstr "opretter tabel med størrelsen nul ('%E')"
+
+-#: cp/pt.c:9047
++#: cp/pt.c:9168
+ #, gcc-internal-format
+ msgid "forming reference to void"
+ msgstr "danner reference til void"
+
+-#: cp/pt.c:9049
++#: cp/pt.c:9170
+ #, fuzzy, gcc-internal-format
+ msgid "forming %s to reference type %qT"
+ msgstr "danner %s til referencetypen '%T'"
+
+-#: cp/pt.c:9100
++#: cp/pt.c:9221
+ #, fuzzy, gcc-internal-format
+ 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.c:9106
++#: cp/pt.c:9227
+ #, fuzzy, gcc-internal-format
+ msgid "creating pointer to member reference type %qT"
+ msgstr "opretter henvisning til medlemsreference af typen '%T'"
+
+-#: cp/pt.c:9112
++#: cp/pt.c:9233
+ #, fuzzy, gcc-internal-format
+ msgid "creating pointer to member of type void"
+ msgstr "opretter henvisning til medlemsreference af typen '%T'"
+
+-#: cp/pt.c:9179
++#: cp/pt.c:9300
+ #, fuzzy, gcc-internal-format
+ msgid "creating array of %qT"
+ msgstr "opretter tabel af '%T'"
+
+-#: cp/pt.c:9185
++#: cp/pt.c:9306
+ #, fuzzy, gcc-internal-format
+ msgid "creating array of %qT, which is an abstract class type"
+ msgstr "unavngiven klargøring af '%T' som ikke har nogen stamklasser"
+
+-#: cp/pt.c:9236
++#: cp/pt.c:9357
+ #, fuzzy, gcc-internal-format
+ msgid "%qT is not a class, struct, or union type"
+ msgstr "'%T' er ikke en class-, struct- eller union-type"
+
+-#: cp/pt.c:9271
++#: cp/pt.c:9392
+ #, gcc-internal-format
+ msgid "%qT resolves to %qT, which is not an enumeration type"
+ msgstr ""
+
+-#: cp/pt.c:9274
++#: cp/pt.c:9395
+ #, fuzzy, gcc-internal-format
+ msgid "%qT resolves to %qT, which is is not a class type"
+ msgstr "unavngiven klargøring af '%T' som ikke har nogen stamklasser"
+
+-#: cp/pt.c:9375
++#: cp/pt.c:9496
+ #, fuzzy, gcc-internal-format
+ msgid "use of %qs in template"
+ msgstr "brug af '%s' i skabelon"
+
+-#: cp/pt.c:9512
++#: cp/pt.c:9633
+ #, 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.c:9514
++#: cp/pt.c:9635
+ #, fuzzy, gcc-internal-format
+ msgid "say %<typename %E%> if a type is meant"
+ msgstr " (benyt 'typename %T::%D' hvis det er hvad du mener)"
+
+-#: cp/pt.c:9643
++#: cp/pt.c:9764
+ #, fuzzy, gcc-internal-format
+ msgid "using invalid field %qD"
+ msgstr "manglende statisk felt '%s'"
+
+-#: cp/pt.c:9952 cp/pt.c:10432
++#: cp/pt.c:10073 cp/pt.c:10553
+ #, fuzzy, gcc-internal-format
+ msgid "invalid use of pack expansion expression"
+ msgstr "ugyldig brug af void-udtryk"
+
+-#: cp/pt.c:9956 cp/pt.c:10436
++#: cp/pt.c:10077 cp/pt.c:10557
+ #, gcc-internal-format
+ msgid "use %<...%> to expand argument pack"
+ msgstr ""
+
+-#: cp/pt.c:10594
++#: cp/pt.c:10715
+ #, gcc-internal-format
+ msgid "a cast to a type other than an integral or enumeration type cannot appear in a constant-expression"
+ msgstr ""
+
+-#: cp/pt.c:11052
++#: cp/pt.c:11181
+ #, fuzzy, gcc-internal-format
+ msgid "%qT is not a class or namespace"
+ msgstr "'%T' er ikke en klasse eller et navnerum"
+
+-#: cp/pt.c:11055
++#: cp/pt.c:11184
+ #, fuzzy, gcc-internal-format
+ msgid "%qD is not a class or namespace"
+ msgstr "'%T' er ikke en klasse eller et navnerum"
+
+-#: cp/pt.c:11265
++#: cp/pt.c:11394
+ #, fuzzy, gcc-internal-format
+ msgid "%qT is/uses anonymous type"
+ msgstr "skabelonsparameter '%T' benytter anonym type"
+
+-#: cp/pt.c:11267
++#: cp/pt.c:11396
+ #, fuzzy, gcc-internal-format
+ msgid "template argument for %qD uses local type %qT"
+ msgstr "standardparameter for '%#D' har typen '%T'"
+
+-#: cp/pt.c:11277
++#: cp/pt.c:11406
+ #, fuzzy, gcc-internal-format
+ msgid "%qT is a variably modified type"
+ msgstr "skabelonsparameter '%T' er en variabelt ændret type"
+
+-#: cp/pt.c:11288
++#: cp/pt.c:11417
+ #, fuzzy, gcc-internal-format
+ msgid "integral expression %qE is not constant"
+ msgstr "størrelsen af medlemmet '%D' er ikke konstant"
+
+-#: cp/pt.c:11293
++#: cp/pt.c:11422
+ #, fuzzy, gcc-internal-format
+ msgid " trying to instantiate %qD"
+ msgstr " ved forsøg på at instantiere '%D'"
+
+-#: cp/pt.c:13959
++#: cp/pt.c:14173
+ #, fuzzy, gcc-internal-format
+ msgid "ambiguous class template instantiation for %q#T"
+ msgstr "tvetydig klasseskabelonsinstantiering for '%#T'"
+
+-#: cp/pt.c:13962
++#: cp/pt.c:14176
+ #, gcc-internal-format
+ msgid "%s %+#T"
+ msgstr "%s %+#T"
+
+-#: cp/pt.c:13985 cp/pt.c:14068
++#: cp/pt.c:14199 cp/pt.c:14282
+ #, fuzzy, gcc-internal-format
+ msgid "explicit instantiation of non-template %q#D"
+ msgstr "eksplicit instantiering af ikke-skabelon '%#D'"
+
+-#: cp/pt.c:14000
++#: cp/pt.c:14214
+ #, 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.c:14006 cp/pt.c:14063
++#: cp/pt.c:14220 cp/pt.c:14277
+ #, fuzzy, gcc-internal-format
+ msgid "no matching template for %qD found"
+ msgstr "ingen passende skabelon for '%D' fundet"
+
+-#: cp/pt.c:14011
++#: cp/pt.c:14225
+ #, fuzzy, gcc-internal-format
+ 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.c:14019
++#: cp/pt.c:14233
+ #, fuzzy, gcc-internal-format
+ msgid "explicit instantiation of %q#D"
+ msgstr "eksplicit instantiering af '%#D'"
+
+-#: cp/pt.c:14055
++#: cp/pt.c:14269
+ #, fuzzy, gcc-internal-format
+ msgid "duplicate explicit instantiation of %q#D"
+ msgstr "'%#D' er blevet eksplicit instantieret mere end én gang"
+
+-#: cp/pt.c:14077
++#: cp/pt.c:14291
+ #, fuzzy, gcc-internal-format
+ msgid "ISO C++ forbids the use of %<extern%> on explicit instantiations"
+ msgstr "ISO C++ forbyder brugen af 'extern' ved eksplicitte instantieringer"
+
+-#: cp/pt.c:14082 cp/pt.c:14175
++#: cp/pt.c:14296 cp/pt.c:14389
+ #, fuzzy, gcc-internal-format
+ msgid "storage class %qD applied to template instantiation"
+ msgstr "lagringsklasse '%D' anvendt på skabelonsinstantiering"
+
+-#: cp/pt.c:14147
++#: cp/pt.c:14361
+ #, fuzzy, gcc-internal-format
+ msgid "explicit instantiation of non-template type %qT"
+ msgstr "eksplicit instantiering af '%T' der ikke er en skabelonstype"
+
+-#: cp/pt.c:14156
++#: cp/pt.c:14370
+ #, fuzzy, gcc-internal-format
+ msgid "explicit instantiation of %q#T before definition of template"
+ msgstr "eksplicit instantiering af '%T' før definering af skabelonen"
+
+-#: cp/pt.c:14164
++#: cp/pt.c:14378
+ #, fuzzy, gcc-internal-format
+ msgid "ISO C++ forbids the use of %qE on explicit instantiations"
+ msgstr "ISO C++ forbyder brugen af '%s ved eksplicitte instantieringer"
+
+-#: cp/pt.c:14209
++#: cp/pt.c:14423
+ #, fuzzy, gcc-internal-format
+ msgid "duplicate explicit instantiation of %q#T"
+ msgstr "'%#T' er blevet eksplicit instantieret mere end én gang"
+
+-#: cp/pt.c:14657
++#: cp/pt.c:14871
+ #, fuzzy, gcc-internal-format
+ msgid "explicit instantiation of %qD but no definition available"
+ msgstr "eksplicit instantiering af '%D', men ingen definition tilgængelig"
+
+-#: cp/pt.c:14851
++#: cp/pt.c:15065
+ #, 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)"
+ msgstr "skabelonsinstantieringsdybden overskrider maksimum på %d (benyt -ftemplate-depth-NN for at forøge maksimum) ved instantiering af '%D'"
+
+-#: cp/pt.c:15193
++#: cp/pt.c:15419
+ #, fuzzy, gcc-internal-format
+ msgid "%q#T is not a valid type for a template constant parameter"
+ msgstr "'%#T' er ikke en gyldig type for en skabelonsparameterkonstant "
+@@ -32173,32 +32202,32 @@
+ msgid "can't create repository information file %qs"
+ msgstr "kan ikke oprette informationsfilen '%s' til opbevaringssted"
+
+-#: cp/rtti.c:271
++#: cp/rtti.c:285
+ #, gcc-internal-format
+ msgid "cannot use typeid with -fno-rtti"
+ msgstr "kan ikke bruge typeid med -fno-rtti"
+
+-#: cp/rtti.c:277
++#: cp/rtti.c:291
+ #, gcc-internal-format
+ msgid "must #include <typeinfo> before using typeid"
+ msgstr "'#include <typeinfo>' er nødvendig før typeid kan benyttes"
+
+-#: cp/rtti.c:360
++#: cp/rtti.c:374
+ #, fuzzy, gcc-internal-format
+ msgid "cannot create type information for type %qT because it involves types of variable size"
+ msgstr "kan ikke oprette typeinformation for typen '%T' fordi dens størrelse er variabel"
+
+-#: cp/rtti.c:615 cp/rtti.c:629
++#: cp/rtti.c:629 cp/rtti.c:643
+ #, fuzzy, gcc-internal-format
+ msgid "dynamic_cast of %q#D to %q#T can never succeed"
+ msgstr "dynamic_cast af '%#D' til '%#T' kan aldrig lykkes"
+
+-#: cp/rtti.c:639
++#: cp/rtti.c:653
+ #, fuzzy, gcc-internal-format
+ msgid "%<dynamic_cast%> not permitted with -fno-rtti"
+ msgstr "kan ikke bruge typeid med -fno-rtti"
+
+-#: cp/rtti.c:716
++#: cp/rtti.c:729
+ #, fuzzy, gcc-internal-format
+ msgid "cannot dynamic_cast %qE (of type %q#T) to type %q#T (%s)"
+ msgstr "kan ikke anvende dynamic_cast på '%E' (af typen '%#T') til typen '%#T' (%s)"
+@@ -32260,551 +32289,551 @@
+ msgid " since %q+#D declared in base class"
+ msgstr " eftersom '%#D' er erklæret i stamklassen"
+
+-#: cp/semantics.c:762
++#: cp/semantics.c:764
+ #, fuzzy, gcc-internal-format
+ msgid "suggest explicit braces around empty body in %<do%> statement"
+ msgstr "%Hforeslår eksplicitte krøllede paranteser for at undgå tvetydig 'else'"
+
+-#: cp/semantics.c:1290
++#: cp/semantics.c:1294
+ #, fuzzy, gcc-internal-format
+ msgid "type of asm operand %qE could not be determined"
+ msgstr "typen af asm-operanden '%E' kunne ikke afgøres"
+
+-#: cp/semantics.c:1346
++#: cp/semantics.c:1350
+ #, gcc-internal-format
+ msgid "__label__ declarations are only allowed in function scopes"
+ msgstr ""
+
+-#: cp/semantics.c:1433
++#: cp/semantics.c:1438
+ #, fuzzy, gcc-internal-format
+ msgid "invalid use of member %q+D in static member function"
+ msgstr "ugyldig brug af medlemmet '%D' i statisk medlemsfunktion"
+
+-#: cp/semantics.c:1435
++#: cp/semantics.c:1440
+ #, fuzzy, gcc-internal-format
+ msgid "invalid use of non-static data member %q+D"
+ msgstr "ugyldig brug af ikke-statisk felt '%D'"
+
+-#: cp/semantics.c:1436 cp/semantics.c:1475
++#: cp/semantics.c:1441 cp/semantics.c:1480
+ #, gcc-internal-format
+ msgid "from this location"
+ msgstr ""
+
+-#: cp/semantics.c:1474
++#: cp/semantics.c:1479
+ #, fuzzy, gcc-internal-format
+ msgid "object missing in reference to %q+D"
+ msgstr "objekt mangler i brug af '%E'"
+
+-#: cp/semantics.c:1928
++#: cp/semantics.c:1951
+ #, fuzzy, gcc-internal-format
+ msgid "arguments to destructor are not allowed"
+ msgstr "parameter til egenskaben '%s' er større end %d"
+
+-#: cp/semantics.c:1978
++#: cp/semantics.c:2001
+ #, fuzzy, gcc-internal-format
+ msgid "%<this%> is unavailable for static member functions"
+ msgstr "'this' er ikke tilgængelig for statiske medlemsfunktioner"
+
+-#: cp/semantics.c:1984
++#: cp/semantics.c:2007
+ #, fuzzy, gcc-internal-format
+ msgid "invalid use of %<this%> in non-member function"
+ msgstr "ugyldig brug af 'this' i ikke-medlemsfunktion"
+
+-#: cp/semantics.c:1986
++#: cp/semantics.c:2009
+ #, fuzzy, gcc-internal-format
+ msgid "invalid use of %<this%> at top level"
+ msgstr "ugyldig brug af 'this' ved øverste niveau"
+
+-#: cp/semantics.c:2010
++#: cp/semantics.c:2033
+ #, fuzzy, gcc-internal-format
+ msgid "invalid qualifying scope in pseudo-destructor name"
+ msgstr "ugyldige modifikationer for ikke-medlemsfunktionstype"
+
+-#: cp/semantics.c:2015 cp/typeck.c:2004
++#: cp/semantics.c:2038 cp/typeck.c:2050
+ #, fuzzy, gcc-internal-format
+ msgid "qualified type %qT does not match destructor name ~%qT"
+ msgstr "den modificerede type '%T' passer ikke til destruktionsfunktionsnavnet '~%T'"
+
+-#: cp/semantics.c:2037
++#: cp/semantics.c:2060
+ #, fuzzy, gcc-internal-format
+ msgid "%qE is not of type %qT"
+ msgstr "'%E' er ikke af typen '%T'"
+
+-#: cp/semantics.c:2081
++#: cp/semantics.c:2104
+ #, gcc-internal-format
+ msgid "compound literal of non-object type %qT"
+ msgstr ""
+
+-#: cp/semantics.c:2158
++#: cp/semantics.c:2181
+ #, fuzzy, gcc-internal-format
+ msgid "template type parameters must use the keyword %<class%> or %<typename%>"
+ msgstr "skabelonstypeparametre skal begynde med 'class' eller 'typename'"
+
+-#: cp/semantics.c:2195
++#: cp/semantics.c:2222
+ #, fuzzy, gcc-internal-format
+ msgid "invalid use of type %qT as a default value for a template template-parameter"
+ msgstr "ugyldig brug af skabelonstypeparameter"
+
+-#: cp/semantics.c:2198
++#: cp/semantics.c:2225
+ #, fuzzy, gcc-internal-format
+ msgid "invalid default argument for a template template parameter"
+ msgstr "ugyldig brug af skabelonstypeparameter"
+
+-#: cp/semantics.c:2215
++#: cp/semantics.c:2242
+ #, fuzzy, gcc-internal-format
+ msgid "definition of %q#T inside template parameter list"
+ msgstr "definition af '%#T' inden i skabelonsparameterliste"
+
+-#: cp/semantics.c:2226
++#: cp/semantics.c:2253
+ #, fuzzy, gcc-internal-format
+ msgid "invalid definition of qualified type %qT"
+ msgstr "ugyldig definition af modificeret type '%T'"
+
+-#: cp/semantics.c:2437
++#: cp/semantics.c:2469
+ #, gcc-internal-format
+ msgid "invalid base-class specification"
+ msgstr "ugyldig stamklasseangivelse"
+
+-#: cp/semantics.c:2446
++#: cp/semantics.c:2478
+ #, fuzzy, gcc-internal-format
+ msgid "base class %qT has cv qualifiers"
+ msgstr "stamklassen '%T' har const/volatile-modifikationer"
+
+-#: cp/semantics.c:2468
++#: cp/semantics.c:2500
+ #, fuzzy, gcc-internal-format
+ msgid "incomplete type %qT used in nested name specifier"
+ msgstr "ufuldstændig type '%T' kan ikke bruges til at navngive et virkefelt"
+
+-#: cp/semantics.c:2471
++#: cp/semantics.c:2503
+ #, fuzzy, gcc-internal-format
+ msgid "reference to %<%T::%D%> is ambiguous"
+ msgstr "brug af '%D' er tvetydigt"
+
+-#: cp/semantics.c:2475 cp/typeck.c:1813
++#: cp/semantics.c:2507 cp/typeck.c:1859
+ #, fuzzy, gcc-internal-format
+ msgid "%qD is not a member of %qT"
+ msgstr "'%D' er ikke et medlem af '%T'"
+
+-#: cp/semantics.c:2478
++#: cp/semantics.c:2510
+ #, fuzzy, gcc-internal-format
+ msgid "%qD is not a member of %qD"
+ msgstr "'%D' er ikke et medlem af '%T'"
+
+-#: cp/semantics.c:2480
++#: cp/semantics.c:2512
+ #, fuzzy, gcc-internal-format
+ msgid "%<::%D%> has not been declared"
+ msgstr "'%#D' kan ikke erklæres"
+
+-#: cp/semantics.c:2621
++#: cp/semantics.c:2653
+ #, fuzzy, gcc-internal-format
+ msgid "use of %<auto%> variable from containing function"
+ msgstr "brug af %s fra indeholdende funktion"
+
+-#: cp/semantics.c:2623
++#: cp/semantics.c:2655
+ #, fuzzy, gcc-internal-format
+ msgid " %q+#D declared here"
+ msgstr " '%#D' erklæret her"
+
+-#: cp/semantics.c:2661
++#: cp/semantics.c:2693
+ #, gcc-internal-format
+ msgid "template parameter %qD of type %qT is not allowed in an integral constant expression because it is not of integral or enumeration type"
+ msgstr ""
+
+-#: cp/semantics.c:2830
++#: cp/semantics.c:2862
+ #, fuzzy, gcc-internal-format
+ msgid "%qD cannot appear in a constant-expression"
+ msgstr "størrelsen af tabellen '%D' er ikke af et heltalligt konstantudtryk"
+
+-#: cp/semantics.c:2838
++#: cp/semantics.c:2870
+ #, fuzzy, gcc-internal-format
+ msgid "use of namespace %qD as expression"
+ msgstr "brug af navnerummet '%D' som udtryk"
+
+-#: cp/semantics.c:2843
++#: cp/semantics.c:2875
+ #, fuzzy, gcc-internal-format
+ msgid "use of class template %qT as expression"
+ msgstr "brug af klasseskabelonen '%T' som udtryk"
+
+ #. Ambiguous reference to base members.
+-#: cp/semantics.c:2849
++#: cp/semantics.c:2881
+ #, fuzzy, gcc-internal-format
+ msgid "request for member %qD is ambiguous in multiple inheritance lattice"
+ msgstr "forespørgsel efter medlemmet '%D' er tvetydigt i det multiple nedarvningsnet"
+
+-#: cp/semantics.c:2970 cp/semantics.c:4210
++#: cp/semantics.c:3002 cp/semantics.c:4259
+ #, fuzzy, gcc-internal-format
+ msgid "type of %qE is unknown"
+ msgstr "typen af '%E' er ukendt"
+
+-#: cp/semantics.c:2985
++#: cp/semantics.c:3017
+ #, gcc-internal-format
+ msgid "cannot apply %<offsetof%> to destructor %<~%T%>"
+ msgstr ""
+
+-#: cp/semantics.c:2996
++#: cp/semantics.c:3028
+ #, fuzzy, gcc-internal-format
+ msgid "cannot apply %<offsetof%> to member function %qD"
+ msgstr "ugyldig brug af ikke-statisk felt '%D'"
+
+-#: cp/semantics.c:3349
++#: cp/semantics.c:3381
+ #, fuzzy, gcc-internal-format
+ msgid "%qD is not a variable in clause %qs"
+ msgstr "'%s' er et ugyldigt klassenavn"
+
+-#: cp/semantics.c:3358
++#: cp/semantics.c:3390
+ #, gcc-internal-format
+ msgid "%qD appears more than once in data clauses"
+ msgstr ""
+
+-#: cp/semantics.c:3418
++#: cp/semantics.c:3450
+ #, gcc-internal-format
+ msgid "num_threads expression must be integral"
+ msgstr ""
+
+-#: cp/semantics.c:3432
++#: cp/semantics.c:3464
+ #, gcc-internal-format
+ msgid "schedule chunk size expression must be integral"
+ msgstr ""
+
+-#: cp/semantics.c:3562
++#: cp/semantics.c:3594
+ #, fuzzy, gcc-internal-format
+ msgid "%qE has reference type for %qs"
+ msgstr "Ugyldig referencetype"
+
+-#: cp/semantics.c:3724
++#: cp/semantics.c:3756
+ #, gcc-internal-format
+ msgid "%<threadprivate%> %qE is not file, namespace or block scope variable"
+ msgstr ""
+
+ #. Report the error.
+-#: cp/semantics.c:4033
++#: cp/semantics.c:4072
+ #, gcc-internal-format
+ msgid "static assertion failed: %E"
+ msgstr ""
+
+-#: cp/semantics.c:4035
++#: cp/semantics.c:4074
+ #, fuzzy, gcc-internal-format
+ msgid "non-constant condition for static assertion"
+ msgstr "erklæring uden static af '%s' følger static-erklæring"
+
+-#: cp/semantics.c:4097
++#: cp/semantics.c:4099 cp/semantics.c:4194
+ #, fuzzy, gcc-internal-format
+-msgid "%qE refers to a set of overloaded functions"
+-msgstr "%s kan ikke finde adressen af flertydiggjort funktion"
++msgid "argument to decltype must be an expression"
++msgstr "brug af klasseskabelonen '%T' som udtryk"
+
+ #: cp/semantics.c:4145
+ #, fuzzy, gcc-internal-format
+-msgid "argument to decltype must be an expression"
+-msgstr "brug af klasseskabelonen '%T' som udtryk"
++msgid "%qE refers to a set of overloaded functions"
++msgstr "%s kan ikke finde adressen af flertydiggjort funktion"
+
+-#: cp/semantics.c:4366
++#: cp/semantics.c:4415
+ #, gcc-internal-format
+ msgid "__is_convertible_to"
+ msgstr ""
+
+-#: cp/semantics.c:4395
++#: cp/semantics.c:4444
+ #, fuzzy, gcc-internal-format
+ msgid "incomplete type %qT not allowed"
+ msgstr "ufuldstændig typeforening"
+
+-#: cp/tree.c:829
++#: cp/tree.c:827
+ #, fuzzy, gcc-internal-format
+ msgid "%qV qualifiers cannot be applied to %qT"
+ msgstr "modifikationerne '%V' kan ikke anvendes på '%T'"
+
+-#: cp/tree.c:2134
++#: cp/tree.c:2132
+ #, fuzzy, gcc-internal-format
+ msgid "%qE attribute can only be applied to Java class definitions"
+ msgstr "egenskaben '%s' kan kun anvendes med Java-klassedefinitioner"
+
+-#: cp/tree.c:2163
++#: cp/tree.c:2161
+ #, fuzzy, gcc-internal-format
+ msgid "%qE attribute can only be applied to class definitions"
+ msgstr "egenskaben '%s' kan kun anvendes med klassedefinitioner"
+
+-#: cp/tree.c:2169
++#: cp/tree.c:2167
+ #, fuzzy, gcc-internal-format
+ msgid "%qE is obsolete; g++ vtables are now COM-compatible by default"
+ msgstr "'%s' er forældet; virtuelle tabeller i g++ er nu COM-kompatible som standard"
+
+-#: cp/tree.c:2193
++#: cp/tree.c:2191
+ #, gcc-internal-format
+ msgid "requested init_priority is not an integer constant"
+ msgstr "den udbedte init_priority er ikke en heltalskonstant"
+
+-#: cp/tree.c:2214
++#: cp/tree.c:2212
+ #, fuzzy, gcc-internal-format
+ msgid "can only use %qE attribute on file-scope definitions of objects of class type"
+ msgstr "kan kun bruge egenskaben '%s' på filvirkefeltsdefinitioner af objekter af klassetype"
+
+-#: cp/tree.c:2222
++#: cp/tree.c:2220
+ #, gcc-internal-format
+ msgid "requested init_priority is out of range"
+ msgstr "den udbedte init_priority er uden for det gyldige interval"
+
+-#: cp/tree.c:2232
++#: cp/tree.c:2230
+ #, gcc-internal-format
+ msgid "requested init_priority is reserved for internal use"
+ msgstr "den udbedte init_priority er reserveret til intern brug"
+
+-#: cp/tree.c:2243
++#: cp/tree.c:2241
+ #, fuzzy, gcc-internal-format
+ msgid "%qE attribute is not supported on this platform"
+ msgstr "egenskaben '%s' er ikke understøttet på denne platform"
+
+-#: cp/typeck.c:431 cp/typeck.c:445 cp/typeck.c:545
++#: cp/typeck.c:432 cp/typeck.c:446 cp/typeck.c:546
+ #, fuzzy, gcc-internal-format
+ msgid "%s between distinct pointer types %qT and %qT lacks a cast"
+ msgstr "%s mellem forskellige henvisningstyper '%T' og '%T' mangler en typeomtvingelse"
+
+-#: cp/typeck.c:507
++#: cp/typeck.c:508
+ #, fuzzy, gcc-internal-format
+ msgid "ISO C++ forbids %s between pointer of type %<void *%> and pointer-to-function"
+ msgstr "ISO C++ forbyder %s mellem henvisning af typen 'void *' og henvisning til funktion"
+
+-#: cp/typeck.c:565
++#: cp/typeck.c:566
+ #, fuzzy, gcc-internal-format
+ msgid "%s between distinct pointer-to-member types %qT and %qT lacks a cast"
+ msgstr "%s mellem forskellige henvisningstyper '%T' og '%T' mangler en typeomtvingelse"
+
+-#: cp/typeck.c:1129
++#: cp/typeck.c:1166
+ #, gcc-internal-format
+ msgid "canonical types differ for identical types %T and %T"
+ msgstr ""
+
+-#: cp/typeck.c:1136
++#: cp/typeck.c:1173
+ #, gcc-internal-format
+ msgid "same canonical type node for different types %T and %T"
+ msgstr ""
+
+-#: cp/typeck.c:1248
++#: cp/typeck.c:1285
+ #, fuzzy, gcc-internal-format
+ msgid "invalid application of %qs to a member function"
+ msgstr "ugyldig brug af '%s' på en medlemsfunktion"
+
+-#: cp/typeck.c:1298
++#: cp/typeck.c:1335
+ #, fuzzy, gcc-internal-format
+ msgid "invalid application of %<sizeof%> to a bit-field"
+ msgstr "ugyldig anvendelse af '%s' på en void-type"
+
+-#: cp/typeck.c:1303
++#: cp/typeck.c:1340
+ #, fuzzy, gcc-internal-format
+ msgid "ISO C++ forbids applying %<sizeof%> to an expression of function type"
+ msgstr "ISO C++ forbyder anvendelse af 'sizeof' på et udtryk af en funktionstype"
+
+-#: cp/typeck.c:1346
++#: cp/typeck.c:1383
+ #, fuzzy, gcc-internal-format
+ msgid "invalid application of %<__alignof%> to a bit-field"
+ msgstr "ugyldig anvendelse af '%s' på en void-type"
+
+-#: cp/typeck.c:1354
++#: cp/typeck.c:1391
+ #, fuzzy, gcc-internal-format
+ msgid "ISO C++ forbids applying %<__alignof%> to an expression of function type"
+ msgstr "ISO C++ forbyder anvendelse af 'sizeof' på et udtryk af en funktionstype"
+
+-#: cp/typeck.c:1405
++#: cp/typeck.c:1442
+ #, fuzzy, gcc-internal-format
+ msgid "invalid use of non-static member function"
+ msgstr "ugyldig brug af medlemmet '%D' i statisk medlemsfunktion"
+
+-#: cp/typeck.c:1669
++#: cp/typeck.c:1715
+ #, fuzzy, gcc-internal-format
+ msgid "deprecated conversion from string constant to %qT"
+ msgstr "forældet konvertering fra strengkonstant til '%T'"
+
+-#: cp/typeck.c:1784 cp/typeck.c:2132
++#: cp/typeck.c:1830 cp/typeck.c:2178
+ #, fuzzy, gcc-internal-format
+ msgid "request for member %qD in %qE, which is of non-class type %qT"
+ msgstr "forespørgsel efter medlemmet '%D' i '%E' som er af en ikke-klassetype '%T'"
+
+-#: cp/typeck.c:1811
++#: cp/typeck.c:1857
+ #, fuzzy, gcc-internal-format
+ msgid "invalid use of nonstatic data member %qE"
+ msgstr "ugyldig brug af ikke-statisk felt '%D'"
+
+-#: cp/typeck.c:1863 cp/typeck.c:1891
++#: cp/typeck.c:1909 cp/typeck.c:1937
+ #, fuzzy, gcc-internal-format
+ msgid "invalid access to non-static data member %qD of NULL object"
+ msgstr "ugyldig tilgang til ikke-statisk datamedlem '%D' af NULL-objekt"
+
+-#: cp/typeck.c:1866 cp/typeck.c:1893
++#: cp/typeck.c:1912 cp/typeck.c:1939
+ #, fuzzy, gcc-internal-format
+ msgid "(perhaps the %<offsetof%> macro was used incorrectly)"
+ msgstr "(måske blev 'offsetof'-makroen benyttet forkert)"
+
+-#: cp/typeck.c:2010
++#: cp/typeck.c:2056
+ #, gcc-internal-format
+ msgid "the type being destroyed is %qT, but the destructor refers to %qT"
+ msgstr ""
+
+-#: cp/typeck.c:2049 cp/typeck.c:2069
++#: cp/typeck.c:2095 cp/typeck.c:2115
+ #, fuzzy, gcc-internal-format
+ msgid "%qD is not a template"
+ msgstr "'%T' er ikke en skabelon"
+
+-#: cp/typeck.c:2170
++#: cp/typeck.c:2216
+ #, fuzzy, gcc-internal-format
+ msgid "%<%D::%D%> is not a member of %qT"
+ msgstr "'%D::%D' er ikke et medlem af '%T'"
+
+-#: cp/typeck.c:2185
++#: cp/typeck.c:2231
+ #, fuzzy, gcc-internal-format
+ msgid "%qT is not a base of %qT"
+ msgstr "'%D' er ikke et medlem af '%T'"
+
+-#: cp/typeck.c:2204
++#: cp/typeck.c:2250
+ #, fuzzy, gcc-internal-format
+ msgid "%qD has no member named %qE"
+ msgstr "'%D' har intet medlem ved navn '%E'"
+
+-#: cp/typeck.c:2219
++#: cp/typeck.c:2265
+ #, fuzzy, gcc-internal-format
+ msgid "%qD is not a member template function"
+ msgstr "'%D' er ikke en medlemsskabelonfunktion"
+
+ #. A pointer to incomplete type (other than cv void) can be
+ #. dereferenced [expr.unary.op]/1
+-#: cp/typeck.c:2352
++#: cp/typeck.c:2398
+ #, fuzzy, gcc-internal-format
+ msgid "%qT is not a pointer-to-object type"
+ msgstr "'%T' er ikke af en henvisning til objekt-type"
+
+-#: cp/typeck.c:2377
++#: cp/typeck.c:2423
+ #, fuzzy, gcc-internal-format
+ msgid "invalid use of %qs on pointer to member"
+ msgstr "ugyldig brug af '%s' på henvisning til medlem"
+
+-#: cp/typeck.c:2381
++#: cp/typeck.c:2427
+ #, fuzzy, gcc-internal-format
+ msgid "invalid type argument of %qs"
+ msgstr "ugyldig typeparameter '%s'"
+
+-#: cp/typeck.c:2383
++#: cp/typeck.c:2429
+ #, gcc-internal-format
+ msgid "invalid type argument"
+ msgstr "ugyldig typeparameter"
+
+-#: cp/typeck.c:2406
++#: cp/typeck.c:2452
+ #, gcc-internal-format
+ msgid "subscript missing in array reference"
+ msgstr "indeks mangler i tabelopslag"
+
+-#: cp/typeck.c:2480
++#: cp/typeck.c:2526
+ #, gcc-internal-format
+ msgid "ISO C++ forbids subscripting non-lvalue array"
+ msgstr "ISO C++ forbyder indeksering af en ikke-venstreværdis tabel"
+
+-#: cp/typeck.c:2491
++#: cp/typeck.c:2537
+ #, fuzzy, gcc-internal-format
+ msgid "subscripting array declared %<register%>"
+ msgstr "indeksering af tabel som er erklæret 'register'"
+
+-#: cp/typeck.c:2576
++#: cp/typeck.c:2622
+ #, fuzzy, gcc-internal-format
+ msgid "object missing in use of %qE"
+ msgstr "objekt mangler i brug af '%E'"
+
+-#: cp/typeck.c:2693
++#: cp/typeck.c:2739
+ #, fuzzy, gcc-internal-format
+ msgid "ISO C++ forbids calling %<::main%> from within program"
+ msgstr "ISO C++ forbyder kald af '::main' inde fra programmet"
+
+-#: cp/typeck.c:2718
++#: cp/typeck.c:2764
+ #, fuzzy, gcc-internal-format
+ msgid "must use %<.*%> or %<->*%> to call pointer-to-member function in %<%E (...)%>"
+ msgstr "brug .* eller ->* i kald af henvisning til medlemsfunktion i '%E (...)'"
+
+-#: cp/typeck.c:2732
++#: cp/typeck.c:2778
+ #, fuzzy, gcc-internal-format
+ msgid "%qE cannot be used as a function"
+ msgstr "'%E' kan ikke bruges som en funktion"
+
+-#: cp/typeck.c:2822
++#: cp/typeck.c:2868
+ #, fuzzy, gcc-internal-format
+ msgid "too many arguments to %s %q+#D"
+ msgstr "for mange parametre til %s '%+#D'"
+
+-#: cp/typeck.c:2823 cp/typeck.c:2927
++#: cp/typeck.c:2869 cp/typeck.c:2973
+ #, gcc-internal-format
+ msgid "at this point in file"
+ msgstr "ved dette sted i filen"
+
+-#: cp/typeck.c:2826
++#: cp/typeck.c:2872
+ #, gcc-internal-format
+ msgid "too many arguments to function"
+ msgstr "for mange parametre til funktionen"
+
+-#: cp/typeck.c:2856
++#: cp/typeck.c:2902
+ #, fuzzy, gcc-internal-format
+ msgid "parameter %P of %qD has incomplete type %qT"
+ msgstr "parameteren '%s' er af en ufuldstændig type"
+
+-#: cp/typeck.c:2859
++#: cp/typeck.c:2905
+ #, fuzzy, gcc-internal-format
+ msgid "parameter %P has incomplete type %qT"
+ msgstr "parameteren er af en ufuldstændig type"
+
+-#: cp/typeck.c:2926
++#: cp/typeck.c:2972
+ #, fuzzy, gcc-internal-format
+ msgid "too few arguments to %s %q+#D"
+ msgstr "for få parametre til %s '%+#D'"
+
+-#: cp/typeck.c:2930
++#: cp/typeck.c:2976
+ #, gcc-internal-format
+ msgid "too few arguments to function"
+ msgstr "for få parametre til funktionen"
+
+-#: cp/typeck.c:3098 cp/typeck.c:3108
++#: cp/typeck.c:3140 cp/typeck.c:3150
+ #, fuzzy, gcc-internal-format
+ msgid "assuming cast to type %qT from overloaded function"
+ msgstr "antager typeomtvingning til typen '%T' fra flertydig funktion"
+
+-#: cp/typeck.c:3306
++#: cp/typeck.c:3346
+ #, fuzzy, gcc-internal-format
+ msgid "left rotate count is negative"
+ msgstr "%s-roteringsantal er negativt"
+
+-#: cp/typeck.c:3307
++#: cp/typeck.c:3347
+ #, fuzzy, gcc-internal-format
+ msgid "right rotate count is negative"
+ msgstr "%s-roteringsantal er negativt"
+
+-#: cp/typeck.c:3310
++#: cp/typeck.c:3350
+ #, fuzzy, gcc-internal-format
+ msgid "left rotate count >= width of type"
+ msgstr "%s-roteringsantal >= bredden af typen"
+
+-#: cp/typeck.c:3311
++#: cp/typeck.c:3351
+ #, fuzzy, gcc-internal-format
+ msgid "right rotate count >= width of type"
+ msgstr "%s-roteringsantal >= bredden af typen"
+
+-#: cp/typeck.c:3327 cp/typeck.c:3502
++#: cp/typeck.c:3367 cp/typeck.c:3549
+ #, fuzzy, gcc-internal-format
+ msgid "comparison with string literal results in unspecified behaviour"
+ msgstr "%Jsvag erklæring af '%D' efter første brug resulterer i ikke-defineret opførsel"
+
+-#: cp/typeck.c:3360 cp/typeck.c:3365 cp/typeck.c:3520 cp/typeck.c:3525
++#: cp/typeck.c:3400 cp/typeck.c:3405 cp/typeck.c:3567 cp/typeck.c:3572
+ #, gcc-internal-format
+ msgid "ISO C++ forbids comparison between pointer and integer"
+ msgstr "ISO C++ forbyder sammenligning mellem henvisningsvariabel og heltal"
+
+-#: cp/typeck.c:3539
++#: cp/typeck.c:3586
+ #, gcc-internal-format
+ msgid "unordered comparison on non-floating point argument"
+ msgstr "uordnet sammenligning af ikke-kommatalsparameter"
+
+-#: cp/typeck.c:3577
++#: cp/typeck.c:3624
+ #, fuzzy, gcc-internal-format
+ msgid "invalid operands of types %qT and %qT to binary %qO"
+ msgstr "ugyldige operander af typerne '%T' og '%T' til binær '%O'"
+
+-#: cp/typeck.c:3749
++#: cp/typeck.c:3757
+ #, fuzzy, gcc-internal-format
+ msgid "comparison between types %q#T and %q#T"
+ msgstr "sammenligning mellem typerne '%#T' og '%#T'"
+
+-#: cp/typeck.c:3786
++#: cp/typeck.c:3794
+ #, gcc-internal-format
+ msgid "comparison between signed and unsigned integer expressions"
+ msgstr "sammenlign mellem signed og unsigned heltalsudtryk"
+@@ -32813,154 +32842,154 @@
+ #. performed. Note that pointer-difference and pointer-addition
+ #. have already been handled above, and so we don't end up here in
+ #. that case.
+-#: cp/typeck.c:3858
++#: cp/typeck.c:3866
+ #, gcc-internal-format
+ msgid "NULL used in arithmetic"
+ msgstr "NULL benyttet i udregning"
+
+-#: cp/typeck.c:3927
++#: cp/typeck.c:3935
+ #, fuzzy, gcc-internal-format
+ msgid "ISO C++ forbids using pointer of type %<void *%> in subtraction"
+ msgstr "ISO C++ forbyder brug af henvisning af typen 'void *' i fratrækning"
+
+-#: cp/typeck.c:3929
++#: cp/typeck.c:3937
+ #, gcc-internal-format
+ msgid "ISO C++ forbids using pointer to a function in subtraction"
+ msgstr "ISO C++ forbyder brug af henvisning til funktion i fratrækning"
+
+-#: cp/typeck.c:3931
++#: cp/typeck.c:3939
+ #, gcc-internal-format
+ msgid "ISO C++ forbids using pointer to a method in subtraction"
+ msgstr "ISO C++ forbyder brug af henvisning til medlemsfunktion i fratrækning"
+
+-#: cp/typeck.c:3943
++#: cp/typeck.c:3951
+ #, gcc-internal-format
+ msgid "invalid use of a pointer to an incomplete type in pointer arithmetic"
+ msgstr "ugyldig brug af en henvisning til en ufuldstændig type i henvisningsberegning"
+
+-#: cp/typeck.c:4003
++#: cp/typeck.c:4011
+ #, fuzzy, gcc-internal-format
+ msgid "invalid use of %qE to form a pointer-to-member-function"
+ msgstr "ugyldig brug af '%E' til at danne en henvisning til medlemsfunktion; benyt et kaldenavn med klassepræfiks"
+
+-#: cp/typeck.c:4006
++#: cp/typeck.c:4014
+ #, gcc-internal-format
+ msgid " a qualified-id is required"
+ msgstr ""
+
+-#: cp/typeck.c:4011
++#: cp/typeck.c:4019
+ #, fuzzy, gcc-internal-format
+ msgid "parentheses around %qE cannot be used to form a pointer-to-member-function"
+ msgstr "paranteser omkring '%E' kan ikke bruges til at danne en henvisning til medlemsfunktion"
+
+-#: cp/typeck.c:4034
++#: cp/typeck.c:4042
+ #, gcc-internal-format
+ msgid "taking address of temporary"
+ msgstr "tager adressen på midlertidig variabel"
+
+-#: cp/typeck.c:4287
++#: cp/typeck.c:4295
+ #, fuzzy, gcc-internal-format
+ msgid "ISO C++ forbids incrementing an enum"
+ msgstr "ISO C++ forbyder %s af en enum"
+
+-#: cp/typeck.c:4288
++#: cp/typeck.c:4296
+ #, fuzzy, gcc-internal-format
+ msgid "ISO C++ forbids decrementing an enum"
+ msgstr "ISO C++ forbyder %s af en enum"
+
+-#: cp/typeck.c:4299
++#: cp/typeck.c:4307
+ #, fuzzy, gcc-internal-format
+ msgid "cannot increment a pointer to incomplete type %qT"
+ msgstr "kan ikke %s en henvisning til en ufuldstændig type '%T'"
+
+-#: cp/typeck.c:4300
++#: cp/typeck.c:4308
+ #, fuzzy, gcc-internal-format
+ msgid "cannot decrement a pointer to incomplete type %qT"
+ msgstr "kan ikke %s en henvisning til en ufuldstændig type '%T'"
+
+-#: cp/typeck.c:4306
++#: cp/typeck.c:4314
+ #, fuzzy, gcc-internal-format
+ msgid "ISO C++ forbids incrementing a pointer of type %qT"
+ msgstr "ISO C++ forbyder %s af en henvisning af typen '%T'"
+
+-#: cp/typeck.c:4307
++#: cp/typeck.c:4315
+ #, fuzzy, gcc-internal-format
+ msgid "ISO C++ forbids decrementing a pointer of type %qT"
+ msgstr "ISO C++ forbyder %s af en henvisning af typen '%T'"
+
+-#: cp/typeck.c:4327
++#: cp/typeck.c:4335
+ #, fuzzy, gcc-internal-format
+ msgid "invalid use of Boolean expression as operand to %<operator--%>"
+ msgstr "ugyldigt udtryk som operand"
+
+ #. ARM $3.4
+-#: cp/typeck.c:4357
++#: cp/typeck.c:4365
+ #, fuzzy, gcc-internal-format
+ msgid "ISO C++ forbids taking address of function %<::main%>"
+ msgstr "ISO C++ forbyder at tage adressen på funktionen '::main'"
+
+ #. An expression like &memfn.
+-#: cp/typeck.c:4413
++#: cp/typeck.c:4421
+ #, fuzzy, gcc-internal-format
+ msgid "ISO C++ forbids taking the address of an unqualified or parenthesized non-static member function to form a pointer to member function. Say %<&%T::%D%>"
+ msgstr "ISO C++ forbyder at tage adressen på en ikke-modificeret, ikke-statisk medlemsfunktion for at danne en henvisning til medlemsfunktion; brug '&%T::%D'"
+
+-#: cp/typeck.c:4418
++#: cp/typeck.c:4426
+ #, fuzzy, gcc-internal-format
+ msgid "ISO C++ forbids taking the address of a bound member function to form a pointer to member function. Say %<&%T::%D%>"
+ msgstr "ISO C++ forbyder at tage adressen på en bundet medlemsfunktion for at danne en henvisning til medlemsfunktion; brug '&%T::%D'"
+
+-#: cp/typeck.c:4443
++#: cp/typeck.c:4451
+ #, gcc-internal-format
+ msgid "ISO C++ forbids taking the address of a cast to a non-lvalue expression"
+ msgstr "ISO C++ forbyder at tage adressen på en typeomtvingning til et udtryk der ikke er en venstreværdi"
+
+-#: cp/typeck.c:4467
++#: cp/typeck.c:4475
+ #, fuzzy, gcc-internal-format
+ msgid "cannot create pointer to reference member %qD"
+ msgstr "kan ikke oprette henvisning til reference medlemmet '%D'"
+
+-#: cp/typeck.c:4678
++#: cp/typeck.c:4686
+ #, fuzzy, gcc-internal-format
+ msgid "cannot take the address of %<this%>, which is an rvalue expression"
+ msgstr "kan ikke tage adressen af 'this' som er et højreværdiudtryk"
+
+-#: cp/typeck.c:4701
++#: cp/typeck.c:4709
+ #, fuzzy, gcc-internal-format
+ msgid "address of explicit register variable %qD requested"
+ msgstr "forespørgsel efter adressen af registervariablen '%s'"
+
+-#: cp/typeck.c:4706
++#: cp/typeck.c:4714
+ #, fuzzy, gcc-internal-format
+ msgid "address requested for %qD, which is declared %<register%>"
+ msgstr "adresse forespurgt for '%D' som er erklæret 'register'"
+
+-#: cp/typeck.c:4772
++#: cp/typeck.c:4780
+ #, fuzzy, gcc-internal-format
+ msgid "%s expression list treated as compound expression"
+ msgstr "klargøringsliste behandlet som et sammensat udtryk"
+
+-#: cp/typeck.c:5175
++#: cp/typeck.c:5183
+ #, fuzzy, gcc-internal-format
+ msgid "invalid static_cast from type %qT to type %qT"
+ msgstr "ugyldig static_cast fra typen '%T' til typen '%T'"
+
+-#: cp/typeck.c:5197
++#: cp/typeck.c:5205
+ #, fuzzy, gcc-internal-format
+ msgid "converting from %qT to %qT"
+ msgstr "konvertering fra '%T' til '%T'"
+
+-#: cp/typeck.c:5245
++#: cp/typeck.c:5253
+ #, fuzzy, gcc-internal-format
+ msgid "invalid cast of an rvalue expression of type %qT to type %qT"
+ msgstr "ugyldig reinterpret_cast af et højreværdiudtryk fra typen '%T' til typen '%T'"
+
+-#: cp/typeck.c:5304
++#: cp/typeck.c:5312
+ #, fuzzy, gcc-internal-format
+ msgid "cast from %qT to %qT loses precision"
+ msgstr "reinterpret_cast fra '%T' til '%T' mister præcision"
+
+-#: cp/typeck.c:5331
++#: cp/typeck.c:5339
+ #, fuzzy, gcc-internal-format
+ msgid "cast from %qT to %qT increases required alignment of target type"
+ msgstr "typeomtvingning fra '%T' til '%T' forøger den påkrævede justering af målets type"
+@@ -32969,155 +32998,155 @@
+ #. where possible, and it is necessary in some cases. DR 195
+ #. addresses this issue, but as of 2004/10/26 is still in
+ #. drafting.
+-#: cp/typeck.c:5351
++#: cp/typeck.c:5359
+ #, gcc-internal-format
+ msgid "ISO C++ forbids casting between pointer-to-function and pointer-to-object"
+ msgstr "ISO C++ forbyder sammenligninger mellem henvisning til funktion og henvisning til objekt"
+
+-#: cp/typeck.c:5362
++#: cp/typeck.c:5370
+ #, fuzzy, gcc-internal-format
+ msgid "invalid cast from type %qT to type %qT"
+ msgstr "ugyldig const_cast fra typen '%T' til typen '%T'"
+
+-#: cp/typeck.c:5418
++#: cp/typeck.c:5426
+ #, fuzzy, gcc-internal-format
+ msgid "invalid use of const_cast with type %qT, which is not a pointer, reference, nor a pointer-to-data-member type"
+ msgstr "ugyldig brug af const_cast med typen '%T' som ikke er en henvisnings-, reference- eller en henvisning til datamedlem-type"
+
+-#: cp/typeck.c:5427
++#: cp/typeck.c:5435
+ #, fuzzy, gcc-internal-format
+ msgid "invalid use of const_cast with type %qT, which is a pointer or reference to a function type"
+ msgstr "ugyldig brug af const_cast med typen '%T' som er en henvisning eller reference til funktion"
+
+-#: cp/typeck.c:5452
++#: cp/typeck.c:5460
+ #, fuzzy, gcc-internal-format
+ msgid "invalid const_cast of an rvalue of type %qT to type %qT"
+ msgstr "ugyldig const_cast af en højreværdi fra typen '%T' til typen '%T'"
+
+-#: cp/typeck.c:5503
++#: cp/typeck.c:5511
+ #, fuzzy, gcc-internal-format
+ msgid "invalid const_cast from type %qT to type %qT"
+ msgstr "ugyldig const_cast fra typen '%T' til typen '%T'"
+
+-#: cp/typeck.c:5571 cp/typeck.c:5576
++#: cp/typeck.c:5579 cp/typeck.c:5584
+ #, fuzzy, gcc-internal-format
+ msgid "ISO C++ forbids casting to an array type %qT"
+ msgstr "ISO C++ forbyder omtvingelse af typen til en tabeltype '%T'"
+
+-#: cp/typeck.c:5584
++#: cp/typeck.c:5592
+ #, fuzzy, gcc-internal-format
+ msgid "invalid cast to function type %qT"
+ msgstr "ugyldig omtvingelse til funktionstypen '%T'"
+
+-#: cp/typeck.c:5804
++#: cp/typeck.c:5812
+ #, fuzzy, gcc-internal-format
+ msgid " in evaluation of %<%Q(%#T, %#T)%>"
+ msgstr " i evaluering af '%Q(%#T, %#T)'"
+
+-#: cp/typeck.c:5873
++#: cp/typeck.c:5881
+ #, fuzzy, gcc-internal-format
+ msgid "incompatible types in assignment of %qT to %qT"
+ msgstr "uforenelige typer i tildeling af '%T' til '%T'"
+
+-#: cp/typeck.c:5884
++#: cp/typeck.c:5892
+ #, fuzzy, gcc-internal-format
+ msgid "array used as initializer"
+ msgstr "ugyldig tildeling af startværdi til tabel"
+
+-#: cp/typeck.c:5886
++#: cp/typeck.c:5894
+ #, fuzzy, gcc-internal-format
+ msgid "invalid array assignment"
+ msgstr "ugyldig venstreværdi i tildeling"
+
+-#: cp/typeck.c:5998
++#: cp/typeck.c:6006
+ #, gcc-internal-format
+ msgid " in pointer to member function conversion"
+ msgstr " i henvisning til medlemsfunktion-omdannelse"
+
+-#: cp/typeck.c:6009
++#: cp/typeck.c:6017
+ #, fuzzy, gcc-internal-format
+ msgid "pointer to member conversion via virtual base %qT"
+ msgstr "henvisning til medlem-omdannelse via den virtuelle stamklasse '%T' af '%T'"
+
+-#: cp/typeck.c:6049 cp/typeck.c:6061
++#: cp/typeck.c:6057 cp/typeck.c:6069
+ #, gcc-internal-format
+ msgid " in pointer to member conversion"
+ msgstr " i henvisning til medlem-omdannelse"
+
+-#: cp/typeck.c:6140
++#: cp/typeck.c:6148
+ #, fuzzy, gcc-internal-format
+ msgid "invalid conversion to type %qT from type %qT"
+ msgstr "ugyldig omdannelse til typen '%T' fra typen '%T'"
+
+-#: cp/typeck.c:6384
++#: cp/typeck.c:6411
+ #, fuzzy, gcc-internal-format
+ msgid "cannot convert %qT to %qT for argument %qP to %qD"
+ msgstr "kan ikke konvertere '%T' til '%T' for parameter '%P' til '%D'"
+
+-#: cp/typeck.c:6387
++#: cp/typeck.c:6414
+ #, fuzzy, gcc-internal-format
+ msgid "cannot convert %qT to %qT in %s"
+ msgstr "kan ikke konvertere '%T' til '%T' i %s"
+
+-#: cp/typeck.c:6398
++#: cp/typeck.c:6425
+ #, fuzzy, gcc-internal-format
+ msgid "%s might be a candidate for a format attribute"
+ msgstr "funktion er en mulig kandidat til '%s'-formateringsegenskab"
+
+-#: cp/typeck.c:6485 cp/typeck.c:6487
++#: cp/typeck.c:6512 cp/typeck.c:6514
+ #, fuzzy, gcc-internal-format
+ msgid "in passing argument %P of %q+D"
+ msgstr "i overbringelse af parameter %P af '%+D'"
+
+-#: cp/typeck.c:6537
++#: cp/typeck.c:6564
+ #, gcc-internal-format
+ msgid "returning reference to temporary"
+ msgstr "returnerer reference til midlertidig variabel"
+
+-#: cp/typeck.c:6544
++#: cp/typeck.c:6571
+ #, gcc-internal-format
+ msgid "reference to non-lvalue returned"
+ msgstr "reference til ikke-venstreværdi returneret"
+
+-#: cp/typeck.c:6560
++#: cp/typeck.c:6587
+ #, fuzzy, gcc-internal-format
+ msgid "reference to local variable %q+D returned"
+ msgstr "reference til den lokale variabel '%D' returneret"
+
+-#: cp/typeck.c:6563
++#: cp/typeck.c:6590
+ #, fuzzy, gcc-internal-format
+ msgid "address of local variable %q+D returned"
+ msgstr "adresse af den lokale variabel '%D' returneret"
+
+-#: cp/typeck.c:6598
++#: cp/typeck.c:6625
+ #, gcc-internal-format
+ msgid "returning a value from a destructor"
+ msgstr "returnerer en værdi fra en destruktionsfunktion"
+
+ #. If a return statement appears in a handler of the
+ #. function-try-block of a constructor, the program is ill-formed.
+-#: cp/typeck.c:6606
++#: cp/typeck.c:6633
+ #, gcc-internal-format
+ msgid "cannot return from a handler of a function-try-block of a constructor"
+ msgstr "kan ikke returnere fra en håndtering af en funktions-try-blok i en konstruktionsfunktion"
+
+ #. You can't return a value from a constructor.
+-#: cp/typeck.c:6609
++#: cp/typeck.c:6636
+ #, gcc-internal-format
+ msgid "returning a value from a constructor"
+ msgstr "returnerer en værdi fra en konstruktionsfunktion"
+
+-#: cp/typeck.c:6633
++#: cp/typeck.c:6661
+ #, fuzzy, gcc-internal-format
+ msgid "return-statement with no value, in function returning %qT"
+ msgstr "'return' uden nogen værdi i en funktion der ikke returnerer void"
+
+-#: cp/typeck.c:6654
++#: cp/typeck.c:6682
+ #, fuzzy, gcc-internal-format
+ msgid "return-statement with a value, in function returning 'void'"
+ msgstr "'return' med en værdi i en funktion der returnerer void"
+
+-#: cp/typeck.c:6685
++#: cp/typeck.c:6713
+ #, fuzzy, gcc-internal-format
+ msgid "%<operator new%> must not return NULL unless it is declared %<throw()%> (or -fcheck-new is in effect)"
+ msgstr "'operator new' må ikke returnere NULL medmindre den er erklæret 'throw()' (eller -fcheck-new er benyttet)"
+@@ -33305,57 +33334,57 @@
+ msgid "pointer to member type %qT incompatible with object type %qT"
+ msgstr "medlemstypen '%T::' uforenelige med objekttypen '%T'"
+
+-#: cp/typeck2.c:1495
++#: cp/typeck2.c:1508
+ #, fuzzy, gcc-internal-format
+ 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.c:1498
++#: cp/typeck2.c:1511
+ #, fuzzy, gcc-internal-format
+ msgid "call to function which throws incomplete type %q#T"
+ msgstr "kald af en funktion som kaster en ufuldstændig type '%#T'"
+
+-#: fortran/f95-lang.c:233
++#: fortran/f95-lang.c:235
+ #, gcc-internal-format
+ msgid "Unexpected type in truthvalue_conversion"
+ msgstr ""
+
+-#: fortran/f95-lang.c:289
++#: fortran/f95-lang.c:291
+ #, fuzzy, gcc-internal-format
+ msgid "can't open input file: %s"
+ msgstr "kan ikke åbne uddatafilen '%s'"
+
+-#: fortran/f95-lang.c:629
++#: fortran/f95-lang.c:631
+ #, fuzzy, gcc-internal-format
+ msgid "global register variable %qs used in nested function"
+ msgstr "global registervariabel '%s' benyttet i indlejret funktion"
+
+-#: fortran/f95-lang.c:633
++#: fortran/f95-lang.c:635
+ #, fuzzy, gcc-internal-format
+ msgid "register variable %qs used in nested function"
+ msgstr "registervariabel '%s' benyttet i indlejret funktion"
+
+-#: fortran/f95-lang.c:640
++#: fortran/f95-lang.c:642
+ #, fuzzy, gcc-internal-format
+ msgid "address of global register variable %qs requested"
+ msgstr "forespørgsel efter adressen af den globale registervariabel '%s'"
+
+-#: fortran/f95-lang.c:658
++#: fortran/f95-lang.c:660
+ #, fuzzy, gcc-internal-format
+ msgid "address of register variable %qs requested"
+ msgstr "forespørgsel efter adressen af registervariablen '%s'"
+
+-#: fortran/trans-array.c:3765
++#: fortran/trans-array.c:3805
+ #, gcc-internal-format
+ msgid "Possible frontend bug: array constructor not expanded"
+ msgstr ""
+
+-#: fortran/trans-array.c:5418
++#: fortran/trans-array.c:5499
+ #, gcc-internal-format
+ msgid "Possible frontend bug: Deferred array size without pointer, allocatable attribute or derived type without allocatable components."
+ msgstr ""
+
+-#: fortran/trans-array.c:5894
++#: fortran/trans-array.c:5975
+ #, gcc-internal-format
+ msgid "bad expression type during walk (%d)"
+ msgstr ""
+@@ -33365,27 +33394,27 @@
+ msgid "gfc_conv_constant_to_tree(): invalid type: %s"
+ msgstr ""
+
+-#: fortran/trans-decl.c:966
++#: fortran/trans-decl.c:972
+ #, gcc-internal-format
+ msgid "intrinsic variable which isn't a procedure"
+ msgstr ""
+
+-#: fortran/trans-decl.c:2639
++#: fortran/trans-decl.c:2644
+ #, fuzzy, gcc-internal-format
+ msgid "Function does not return a value"
+ msgstr "funktionen returnerer ikke en strengtype"
+
+-#: fortran/trans-decl.c:2817
++#: fortran/trans-decl.c:2832
+ #, gcc-internal-format
+ msgid "backend decl for module variable %s already exists"
+ msgstr ""
+
+-#: fortran/trans-decl.c:3351
++#: fortran/trans-decl.c:3314
+ #, fuzzy, gcc-internal-format
+ msgid "Function return value not set"
+ msgstr "funktion returnerer en værdi af en sammensat type"
+
+-#: fortran/trans-expr.c:1163
++#: fortran/trans-expr.c:1177
+ #, fuzzy, gcc-internal-format
+ msgid "Unknown intrinsic op"
+ msgstr "ukendt instruktionstilstand"
+@@ -33395,32 +33424,32 @@
+ msgid "Intrinsic function %s(%d) not recognized"
+ msgstr "sproget %s ikke genkendt"
+
+-#: fortran/trans-io.c:1928
++#: fortran/trans-io.c:1929
+ #, gcc-internal-format
+ msgid "Bad IO basetype (%d)"
+ msgstr ""
+
+-#: fortran/trans-types.c:386
++#: fortran/trans-types.c:387
+ #, gcc-internal-format
+ msgid "integer kind=8 not available for -fdefault-integer-8 option"
+ msgstr ""
+
+-#: fortran/trans-types.c:409
++#: fortran/trans-types.c:410
+ #, gcc-internal-format
+ msgid "real kind=8 not available for -fdefault-real-8 option"
+ msgstr ""
+
+-#: fortran/trans-types.c:422
++#: fortran/trans-types.c:423
+ #, gcc-internal-format
+ msgid "Use of -fdefault-double-8 requires -fdefault-real-8"
+ msgstr ""
+
+-#: fortran/trans-types.c:1181
++#: fortran/trans-types.c:1185
+ #, fuzzy, gcc-internal-format
+ msgid "Array element size too big"
+ msgstr "Tabelelementværdi ved %0 er uden for det definerede interval"
+
+-#: fortran/trans.c:1150
++#: fortran/trans.c:1151
+ #, gcc-internal-format
+ msgid "gfc_trans_code(): Bad statement code"
+ msgstr ""
+@@ -33480,88 +33509,88 @@
+ msgid "need to insert runtime check for %s"
+ msgstr ""
+
+-#: java/expr.c:505 java/expr.c:552
++#: java/expr.c:524 java/expr.c:571
+ #, fuzzy, gcc-internal-format
+ msgid "assert: %s is assign compatible with %s"
+ msgstr "-march=%s er ikke forenelig med den valgte ABI"
+
+-#: java/expr.c:670
++#: java/expr.c:689
+ #, gcc-internal-format
+ msgid "stack underflow - dup* operation"
+ msgstr "stakunderløb - dup*-operation"
+
+-#: java/expr.c:1657
++#: java/expr.c:1676
+ #, fuzzy, gcc-internal-format
+ msgid "reference %qs is ambiguous: appears in interface %qs and interface %qs"
+ msgstr "reference '%s' er tvetydig: den optræder i grænsefladen '%s' og grænsefladen '%s'"
+
+-#: java/expr.c:1685
++#: java/expr.c:1704
+ #, fuzzy, gcc-internal-format
+ msgid "field %qs not found"
+ msgstr "feltet '%s' ikke fundet"
+
+-#: java/expr.c:2224
++#: java/expr.c:2243
+ #, gcc-internal-format
+ msgid "method '%s' not found in class"
+ msgstr "metoden '%s' ikke fundet i klassen"
+
+-#: java/expr.c:2429
++#: java/expr.c:2448
+ #, gcc-internal-format
+ msgid "failed to find class '%s'"
+ msgstr "kunne ikke finde klassen '%s'"
+
+-#: java/expr.c:2470
++#: java/expr.c:2489
+ #, gcc-internal-format
+ msgid "class '%s' has no method named '%s' matching signature '%s'"
+ msgstr "klassen '%s' har ingen metode ved navn '%s' der passer med signaturen '%s'"
+
+-#: java/expr.c:2501
++#: java/expr.c:2520
+ #, gcc-internal-format
+ msgid "invokestatic on non static method"
+ msgstr "invokestatic på en ikke-statisk metode"
+
+-#: java/expr.c:2506
++#: java/expr.c:2525
+ #, gcc-internal-format
+ msgid "invokestatic on abstract method"
+ msgstr "invokestatic på en abstrakt metode"
+
+-#: java/expr.c:2514
++#: java/expr.c:2533
+ #, gcc-internal-format
+ msgid "invoke[non-static] on static method"
+ msgstr "invoke[non-static] på en statisk metode"
+
+-#: java/expr.c:2865
++#: java/expr.c:2890
+ #, gcc-internal-format
+ msgid "missing field '%s' in '%s'"
+ msgstr "manglende felt '%s' i '%s'"
+
+-#: java/expr.c:2872
++#: java/expr.c:2897
+ #, gcc-internal-format
+ msgid "mismatching signature for field '%s' in '%s'"
+ msgstr "signatur passer ikke med feltet '%s' i '%s'"
+
+-#: java/expr.c:2901
++#: java/expr.c:2926
+ #, fuzzy, gcc-internal-format
+ msgid "assignment to final field %q+D not in field's class"
+ msgstr "tildeling til endeligt felt '%s' er ikke i feltets klasse"
+
+-#: java/expr.c:3123
++#: java/expr.c:3148
+ #, gcc-internal-format
+ msgid "invalid PC in line number table"
+ msgstr "ugyldig PC i linjetalstabel"
+
+-#: java/expr.c:3173
++#: java/expr.c:3198
+ #, gcc-internal-format
+ msgid "unreachable bytecode from %d to before %d"
+ msgstr "kan ikke nå bytekode fra %d til før %d"
+
+-#: java/expr.c:3217
++#: java/expr.c:3242
+ #, gcc-internal-format
+ msgid "unreachable bytecode from %d to the end of the method"
+ msgstr "kan ikke nå bytekode fra %d til slutningen af metoden"
+
+ #. duplicate code from LOAD macro
+-#: java/expr.c:3522
++#: java/expr.c:3547
+ #, gcc-internal-format
+ msgid "unrecogized wide sub-instruction"
+ msgstr "ukendt bred underinstruktion"
+@@ -33627,27 +33656,27 @@
+ msgid "%Hduplicate class will only be compiled once"
+ msgstr ""
+
+-#: java/jcf-parse.c:1636
++#: java/jcf-parse.c:1638
+ #, gcc-internal-format
+ msgid "missing Code attribute"
+ msgstr "manglende Code-egenskab"
+
+-#: java/jcf-parse.c:1858
++#: java/jcf-parse.c:1860
+ #, gcc-internal-format
+ msgid "no input file specified"
+ msgstr "ingen inddatafiler angivet"
+
+-#: java/jcf-parse.c:1893
++#: java/jcf-parse.c:1895
+ #, fuzzy, gcc-internal-format
+ msgid "can't close input file %s: %m"
+ msgstr "kan ikke lukke inddatafilen %s"
+
+-#: java/jcf-parse.c:1940
++#: java/jcf-parse.c:1942
+ #, gcc-internal-format
+ msgid "bad zip/jar file %s"
+ msgstr "ødelagt zip/jar-fil %s"
+
+-#: java/jcf-parse.c:2145
++#: java/jcf-parse.c:2152
+ #, fuzzy, gcc-internal-format
+ msgid "error while reading %s from zip file"
+ msgstr "fejl ved tolkning af felter"
+@@ -33657,22 +33686,22 @@
+ msgid "warning: already-compiled .class files ignored with -C"
+ msgstr "advarsel: allerede oversatte .class-filer ignoreret med -C"
+
+-#: java/lang.c:590
++#: java/lang.c:594
+ #, gcc-internal-format
+ msgid "-findirect-dispatch is incompatible with -freduced-reflection"
+ msgstr ""
+
+-#: java/lang.c:593
++#: java/lang.c:597
+ #, fuzzy, gcc-internal-format
+ msgid "-fjni is incompatible with -freduced-reflection"
+ msgstr "-G er uforenelig med PIC-kode som genereres som standard"
+
+-#: java/lang.c:604
++#: java/lang.c:608
+ #, gcc-internal-format
+ msgid "can't do dependency tracking with input from stdin"
+ msgstr "kan ikke udføre afhængighedsfølgning med inddata fra standard-ind"
+
+-#: java/lang.c:620
++#: java/lang.c:624
+ #, gcc-internal-format
+ msgid "couldn't determine target name for dependency tracking"
+ msgstr "kunne ikke bestemme målnavn for afhængighedsfølgning"
+@@ -34211,6 +34240,9 @@
+ #~ msgid "GCC does not yet properly implement `[*]' array declarators"
+ #~ msgstr "GCC understøtter endnu ikke ordentligt tabelerklæringer med '[*]'"
+
++#~ msgid "static or type qualifiers in abstract declarator"
++#~ msgstr "static eller typemodifikationer i abstrakt erklæring"
++
+ # init dækker over værditildeling her - samme for de næste mange
+ #~ msgid "typedef `%s' is initialized (use __typeof__ instead)"
+ #~ msgstr "typedef '%s' bliver tildelt en værdi (benyt __typeof__ i stedet)"
+@@ -35167,54 +35199,188 @@
+ #~ msgid "Specify the MCU name"
+ #~ msgstr "Angiv MCU-navnet"
+
++#~ msgid "missing function name in '#pragma %s' - ignored"
++#~ msgstr "manglende funktionsnavn i '#pragma %s' - ignoreret"
++
++#~ msgid "malformed '#pragma %s' - ignored"
++#~ msgstr "forkert udformet '#pragma %s' - ignoreret"
++
++#~ msgid "missing ')' for '#pragma %s' - ignored"
++#~ msgstr "manglende '(' for '#pragma %s' - ignoreret"
++
+ #~ msgid "unknown CPU version %d, using 40.\n"
+ #~ msgstr "ukendt processorversion %d, bruger 40.\n"
+
++#~ msgid "ISR %s requires %d words of local vars, max is 32767"
++#~ msgstr "ISR %s kræver %d ord af lokale variable, maks. er 32767"
++
++#~ msgid "using CONST_DOUBLE for address"
++#~ msgstr "bruger CONST_DOUBLE til adresse"
++
++#~ msgid "c4x_address_cost: Invalid addressing mode"
++#~ msgstr "c4x_address_cost: Ugyldig adresseringstilstand"
++
++#~ msgid "c4x_print_operand: %%L inconsistency"
++#~ msgstr "c4x_print_operand: %%L-inkonsistens"
++
++#~ msgid "c4x_print_operand: %%N inconsistency"
++#~ msgstr "c4x_print_operand: %%N-inkonsistens"
++
++#~ msgid "c4x_print_operand: %%O inconsistency"
++#~ msgstr "c4x_print_operand: %%O-inkonsistens"
++
++#~ msgid "c4x_print_operand: Bad operand case"
++#~ msgstr "c4x_print_operand: Ugyldig operand-case"
++
++#~ msgid "c4x_print_operand_address: Bad post_modify"
++#~ msgstr "c4x_print_operand_address: Ugyldig post_modify"
++
++#~ msgid "c4x_print_operand_address: Bad pre_modify"
++#~ msgstr "c4x_print_operand_address: Ugyldig pre_modify"
++
++#~ msgid "c4x_print_operand_address: Bad operand case"
++#~ msgstr "c4x_print_operand_address: Ugyldig operand-case"
++
++#~ msgid "c4x_rptb_insert: Cannot find start label"
++#~ msgstr "c4x_rptb_insert: Kan ikke finde startetiket"
++
+ #~ msgid "mode not QImode"
+ #~ msgstr "tilstand ikke QImode"
+
++#~ msgid "invalid indirect memory address"
++#~ msgstr "ugyldig indirekte hukommelsesadresse"
++
++#~ msgid "invalid indirect (S) memory address"
++#~ msgstr "ugyldig indirekte (S) hukommelsesadresse"
++
++#~ msgid "c4x_valid_operands: Internal error"
++#~ msgstr "c4x_valid_operands: Intern fejl"
++
++#~ msgid "c4x_operand_subword: invalid mode"
++#~ msgstr "c4x_operand_subword: ugyldig tilstand"
++
++#~ msgid "c4x_operand_subword: invalid operand"
++#~ msgstr "c4x_operand_subword: ugyldig operand"
++
++#~ msgid "c4x_operand_subword: invalid autoincrement"
++#~ msgstr "c4x_operand_subword: ugyldig selvforøgelse"
++
++#~ msgid "c4x_operand_subword: invalid address"
++#~ msgstr "c4x_operand_subword: ugyldig adresse"
++
++#~ msgid "c4x_operand_subword: address not offsettable"
++#~ msgstr "c4x_operand_subword: adresse kan ikke tilføjes et offset"
++
++#~ msgid "c4x_rptb_rpts_p: Repeat block top label moved\n"
++#~ msgstr "c4x_rptb_rpts_p: Topetiket til gentagelsesblok flyttet\n"
++
++#~ msgid "Small memory model"
++#~ msgstr "Lille hukommelsesmodel"
++
++#~ msgid "Big memory model"
++#~ msgstr "Stor hukommelsesmodel"
++
++#~ msgid "Use MPYI instruction for C3x"
++#~ msgstr "Benyt MPYI-instruktionen til C3x"
++
+ #~ msgid "Do not use MPYI instruction for C3x"
+ #~ msgstr "Benyt ikke MPYI-instruktionen til C3x"
+
++#~ msgid "Use fast but approximate float to integer conversion"
++#~ msgstr "Benyt hurtig, men approksimativ konvertering fra komma- til heltal"
++
+ #~ msgid "Use slow but accurate float to integer conversion"
+ #~ msgstr "Benyt langsom, men nøjagtig konvertering fra komma- til heltal"
+
+ #~ msgid "Disable use of RTPS instruction"
+ #~ msgstr "Deaktivér brug af RTPS-instruktionen"
+
++#~ msgid "Enable use of RTPB instruction"
++#~ msgstr "Aktivér brug af RTPB-instruktionen"
++
+ #~ msgid "Disable use of RTPB instruction"
+ #~ msgstr "Deaktivér brug af RTPB-instruktionen"
+
++#~ msgid "Generate code for C31 CPU"
++#~ msgstr "Generér kode til en C31-processor"
++
++#~ msgid "Generate code for C32 CPU"
++#~ msgstr "Generér kode til en C32-processor"
++
++#~ msgid "Generate code for C33 CPU"
++#~ msgstr "Generér kode til en C33-processor"
++
++#~ msgid "Generate code for C44 CPU"
++#~ msgstr "Generér kode til en C44-processor"
++
++#~ msgid "Emit code compatible with TI tools"
++#~ msgstr "Udsend kode der er kompatibel med TI-værktøjer"
++
+ #~ msgid "Emit code to use GAS extensions"
+ #~ msgstr "Udsend kode der bruger GAS-udvidelser"
+
++# RETMIG: hvad står ISR for?
++#~ msgid "Save DP across ISR in small memory model"
++#~ msgstr "Gem DP over ISR i lille hukommelsesmodel"
++
+ #~ msgid "Don't save DP across ISR in small memory model"
+ #~ msgstr "Gem ikke DP over ISR i lille hukommelsesmodel"
+
++#~ msgid "Pass arguments on the stack"
++#~ msgstr "Overbring parametre på stakken"
++
++#~ msgid "Pass arguments in registers"
++#~ msgstr "Overbring parametre i registre"
++
++#~ msgid "Enable new features under development"
++#~ msgstr "Aktivér nye faciliteter under udvikling"
++
+ #~ msgid "Disable new features under development"
+ #~ msgstr "Deaktivér nye faciliteter under udvikling"
+
+ #~ msgid "Disable debugging"
+ #~ msgstr "Deaktivér fejlanalyseringsinfo"
+
++# RETMIG: hvad betyder hoisting? (det har noget med jage indlæsning af dem ud af registre)
++#~ msgid "Force constants into registers to improve hoisting"
++#~ msgstr "Tving konstanter ind i registre for at forbedre hoisting"
++
+ #~ msgid "Don't force constants into registers"
+ #~ msgstr "Tving ikke konstanter ind i registre"
+
++#~ msgid "Force RTL generation to emit valid 3 operand insns"
++#~ msgstr "Tving RTL-generering til at udsende gyldig 3-operandinstruktioner"
++
+ #~ msgid "Allow RTL generation to emit invalid 3 operand insns"
+ #~ msgstr "Tillad RTL-generering at udsende ugyldig 3-operandinstruktioner"
+
++#~ msgid "Allow unsigned iteration counts for RPTB/DB"
++#~ msgstr "Tillad iterationstællere uden fortegn for RPTB/DB"
++
+ #~ msgid "Disallow unsigned iteration counts for RPTB/DB"
+ #~ msgstr "Tillad ikke iterationstællere uden fortegn for RPTB/DB"
+
++#~ msgid "Preserve all 40 bits of FP reg across call"
++#~ msgstr "Bevar alle 40 bit af kommatalsregisteret på tværs af kald"
++
+ #~ msgid "Only preserve 32 bits of FP reg across call"
+ #~ msgstr "Bevar kun 32 bit af kommatalsregisteret på tværs af kald"
+
++#~ msgid "Enable parallel instructions"
++#~ msgstr "Aktivér parallelle instruktioner"
++
+ #~ msgid "Disable parallel instructions"
+ #~ msgstr "Deaktivér parallelle instruktioner"
+
++#~ msgid "Enable MPY||ADD and MPY||SUB instructions"
++#~ msgstr "Aktivér instruktionerne MPY||ADD og MPY||SUB"
++
+ #~ msgid "Disable MPY||ADD and MPY||SUB instructions"
+ #~ msgstr "Deaktivér instruktionerne MPY||ADD og MPY||SUB"
+
++#~ msgid "Assume that pointers may be aliased"
++#~ msgstr "Antag at henvisninger kan være aliaser"
++
+ #~ msgid "Select CPU to generate code for"
+ #~ msgstr "Vælg den processor der skal genereres kode til"
+
+@@ -36068,6 +36234,14 @@
+ #~ msgid "Do not optimize tail call instructions in assembler or linker"
+ #~ msgstr "Optimér ikke halekaldsinstruktioner i maskinkodeoversætteren og sammenkæderen"
+
++#, fuzzy
++#~ msgid "Constant halfword load operand out of range."
++#~ msgstr "konstant parameter uden for det gyldige interval for '%s'"
++
++#, fuzzy
++#~ msgid "Constant arithmetic operand out of range."
++#~ msgstr "konstant parameter uden for det gyldige interval for '%s'"
++
+ #~ msgid "%s=%s is not numeric"
+ #~ msgstr "%s=%s er ikke et tal"
+
+@@ -36324,6 +36498,9 @@
+ #~ msgid "`%D' does not declare a template type"
+ #~ msgstr "'%D' erklærer ikke en skabelonstype"
+
++#~ msgid "used %d template parameter%s instead of %d"
++#~ msgstr "benyttede %d skabelonsparameter%s i stedet for %d"
++
+ #~ msgid "it must be the address of a function with external linkage"
+ #~ msgstr "den skal være adressen af en funktion med ekstern kædning"
+
+@@ -36430,9 +36607,6 @@
+ #~ msgid "%s of negative value `%E' to `%T'"
+ #~ msgstr "%s af negativ værdi '%E' til `%T'"
+
+-#~ msgid "initializing array with parameter list"
+-#~ msgstr "klargør tabel med en parameterliste"
+-
+ #~ msgid "initializer for scalar variable requires one element"
+ #~ msgstr "startværdien for en skalarvariabel kan kun bestå af ét element"
+
+@@ -37423,6 +37597,10 @@
+ #~ msgstr "Lagr ikke kommatal i registre"
+
+ #, fuzzy
++#~ msgid "Copy memory address constants into registers before use"
++#~ msgstr "Kopiér hukommelsesadressekonstanter ind i registre før brug"
++
++#, fuzzy
+ #~ msgid "Copy memory operands into registers before use"
+ #~ msgstr "Kopiér hukommelsesoperander ind i registre før brug"
+
+@@ -38322,9 +38500,6 @@
+ #~ msgid "Don't warn about too many arguments to format functions"
+ #~ msgstr "Advar ikke om for mange parametre til formateringsfunktioner"
+
+-#~ msgid "Warn when trigraphs are encountered"
+-#~ msgstr "Advar når trigrafer mødes"
+-
+ #~ msgid "Mark strings as 'const char *'"
+ #~ msgstr "Markér strenge som 'const char *'"
+
+Index: gcc/po/tr.po
+===================================================================
+--- gcc/po/tr.po (.../tags/gcc_4_3_0_release) (revision 133808)
++++ gcc/po/tr.po (.../branches/gcc-4_3-branch) (revision 133808)
+@@ -6,7 +6,7 @@
+ msgstr ""
+ "Project-Id-Version: gcc 4.1.1\n"
+ "Report-Msgid-Bugs-To: http://gcc.gnu.org/bugs.html\n"
+-"POT-Creation-Date: 2007-11-08 21:09+0000\n"
++"POT-Creation-Date: 2008-03-05 17:23+0100\n"
+ "PO-Revision-Date: 2006-11-16 10:10+0200\n"
+ "Last-Translator: Nilgün Belma Bugüner <nilgun@buguner.name.tr>\n"
+ "Language-Team: Turkish <gnu-tr-u12a@lists.sourceforge.net>\n"
+@@ -16,7 +16,7 @@
+ "X-Generator: KBabel 1.11.1\n"
+ "Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+-#: c-decl.c:3814
++#: c-decl.c:3813
+ msgid "<anonymous>"
+ msgstr "<anonim>"
+
+@@ -299,54 +299,54 @@
+ msgid "End of search list.\n"
+ msgstr "Arama listesi sonu.\n"
+
+-#: c-opts.c:1484
++#: c-opts.c:1505
+ msgid "<built-in>"
+ msgstr "<yerleÅŸik>"
+
+-#: c-opts.c:1502
++#: c-opts.c:1523
+ #, fuzzy
+ msgid "<command-line>"
+ msgstr "<komut satırı>"
+
+-#: c-typeck.c:2448 c-typeck.c:4851 c-typeck.c:4853 c-typeck.c:4861
+-#: c-typeck.c:4891 c-typeck.c:6267
++#: c-typeck.c:2459 c-typeck.c:4862 c-typeck.c:4864 c-typeck.c:4872
++#: c-typeck.c:4902 c-typeck.c:6278
+ msgid "initializer element is not constant"
+ msgstr "ilklendirici öğe bir sabit değil"
+
+-#: c-typeck.c:4654
++#: c-typeck.c:4665
+ msgid "array initialized from parenthesized string constant"
+ msgstr "parantezli dizge sabitten ilklendirmeli dizi"
+
+-#: c-typeck.c:4715 cp/typeck2.c:677
++#: c-typeck.c:4726 cp/typeck2.c:677
+ #, gcc-internal-format
+ msgid "char-array initialized from wide string"
+ msgstr "karakter dizisinin ilklendiricisi olarak geniş dizge kullanılmış"
+
+-#: c-typeck.c:4720
++#: c-typeck.c:4731
+ msgid "wchar_t-array initialized from non-wide string"
+ msgstr "geniÅŸ karakterli olmayan dizgeden ilklendirmeli wchar_t-array"
+
+-#: c-typeck.c:4738 cp/typeck2.c:697
++#: c-typeck.c:4749 cp/typeck2.c:697
+ #, gcc-internal-format
+ msgid "initializer-string for array of chars is too long"
+ msgstr "karakter dizisi için dizge ilklendirici çok uzun"
+
+-#: c-typeck.c:4744
++#: c-typeck.c:4755
+ msgid "array of inappropriate type initialized from string constant"
+ msgstr "dizge sabitten ilgisiz türde ilklendirilmiş dizi"
+
+ #. ??? This should not be an error when inlining calls to
+ #. unprototyped functions.
+-#: c-typeck.c:4808 c-typeck.c:4333 cp/typeck.c:1528
++#: c-typeck.c:4819 c-typeck.c:4344 cp/typeck.c:1574
+ #, gcc-internal-format
+ msgid "invalid use of non-lvalue array"
+ msgstr "sol değersiz dizi kullanımı geçersiz"
+
+-#: c-typeck.c:4834
++#: c-typeck.c:4845
+ msgid "array initialized from non-constant array expression"
+ msgstr "dizi sabit olmayan dizi ifadesinden ilklendirilmiÅŸ"
+
+-#: c-typeck.c:4898 c-typeck.c:6271
++#: c-typeck.c:4909 c-typeck.c:6282
+ #, gcc-internal-format
+ msgid "initializer element is not computable at load time"
+ msgstr "ilkledirici öğe yükleme sırasında hesaplanabilir değil"
+@@ -355,141 +355,141 @@
+ #. of VLAs themselves count as VLAs, it does not make
+ #. sense to permit them to be initialized given that
+ #. ordinary VLAs may not be initialized.
+-#: c-typeck.c:4909 c-decl.c:3222 c-decl.c:3237
++#: c-typeck.c:4920 c-decl.c:3220 c-decl.c:3235
+ #, gcc-internal-format
+ msgid "variable-sized object may not be initialized"
+ msgstr "deÄŸiÅŸken uzunluklu nesne ilklendirilemeyebilir"
+
+-#: c-typeck.c:4913
++#: c-typeck.c:4924
+ msgid "invalid initializer"
+ msgstr "geçersiz ilklendirici"
+
+-#: c-typeck.c:5387
++#: c-typeck.c:5398
+ msgid "extra brace group at end of initializer"
+ msgstr "ilklendiricinin sonunda fazladan parantezli grup"
+
+-#: c-typeck.c:5407
++#: c-typeck.c:5418
+ msgid "missing braces around initializer"
+ msgstr "ilklendiriciyi çevreleyen parantezler yok"
+
+-#: c-typeck.c:5468
++#: c-typeck.c:5479
+ msgid "braces around scalar initializer"
+ msgstr "skalar ilklendiriciyi kuÅŸatan parantezler"
+
+-#: c-typeck.c:5525
++#: c-typeck.c:5536
+ msgid "initialization of flexible array member in a nested context"
+ msgstr "iç içe bağlam içinde esnek dizi üyesi ilklendirmesi"
+
+-#: c-typeck.c:5527
++#: c-typeck.c:5538
+ msgid "initialization of a flexible array member"
+ msgstr "esnek dizi üyesi ilklendirmesi"
+
+-#: c-typeck.c:5554
++#: c-typeck.c:5565
+ msgid "missing initializer"
+ msgstr "ilklendirici yok"
+
+-#: c-typeck.c:5576
++#: c-typeck.c:5587
+ msgid "empty scalar initializer"
+ msgstr "skalar ilklendirici boÅŸ"
+
+-#: c-typeck.c:5581
++#: c-typeck.c:5592
+ msgid "extra elements in scalar initializer"
+ msgstr "skalar ilklendiricide fazladan öğeler"
+
+-#: c-typeck.c:5678 c-typeck.c:5738
++#: c-typeck.c:5689 c-typeck.c:5749
+ msgid "array index in non-array initializer"
+ msgstr "dizi olmayan ilklendiricide dizi indisi"
+
+-#: c-typeck.c:5683 c-typeck.c:5791
++#: c-typeck.c:5694 c-typeck.c:5802
+ msgid "field name not in record or union initializer"
+ msgstr "alan ismi kayıt ya da union ilklendiricisinde kullanılmamış"
+
+-#: c-typeck.c:5729
++#: c-typeck.c:5740
+ msgid "array index in initializer not of integer type"
+ msgstr "ilklendiricideki dizi indisi tamsayı türünde değil"
+
+-#: c-typeck.c:5734 c-typeck.c:5736
++#: c-typeck.c:5745 c-typeck.c:5747
+ msgid "nonconstant array index in initializer"
+ msgstr "ilklendiricide sabit olmayan dizi indisi"
+
+-#: c-typeck.c:5740 c-typeck.c:5743
++#: c-typeck.c:5751 c-typeck.c:5754
+ msgid "array index in initializer exceeds array bounds"
+ msgstr "ilklendiricideki dizi indisi dizi sınırlarının dışında"
+
+-#: c-typeck.c:5754
++#: c-typeck.c:5765
+ msgid "empty index range in initializer"
+ msgstr "ilklendiricide indis aralığı boş"
+
+-#: c-typeck.c:5763
++#: c-typeck.c:5774
+ msgid "array index range in initializer exceeds array bounds"
+ msgstr "ilklendiricideki dizi indisi aralığı dizi sınırlarını aşıyor"
+
+-#: c-typeck.c:5838 c-typeck.c:5861 c-typeck.c:6335
++#: c-typeck.c:5849 c-typeck.c:5872 c-typeck.c:6346
+ msgid "initialized field with side-effects overwritten"
+ msgstr "yan etkili ilklendirilmiş alanın üzerine yazıldı"
+
+-#: c-typeck.c:5840 c-typeck.c:5863 c-typeck.c:6337
++#: c-typeck.c:5851 c-typeck.c:5874 c-typeck.c:6348
+ #, fuzzy
+ msgid "initialized field overwritten"
+ msgstr "yan etkili ilklendirilmiş alanın üzerine yazıldı"
+
+-#: c-typeck.c:6545
++#: c-typeck.c:6556
+ msgid "excess elements in char array initializer"
+ msgstr "karakter dizisi ilklendiricide gereğinden fazla öğe"
+
+-#: c-typeck.c:6552 c-typeck.c:6598
++#: c-typeck.c:6563 c-typeck.c:6609
+ msgid "excess elements in struct initializer"
+ msgstr "struct ilklendiricide gereğinden fazla öğe"
+
+-#: c-typeck.c:6613
++#: c-typeck.c:6624
+ msgid "non-static initialization of a flexible array member"
+ msgstr "esnek dizi üyesinin statik olmayan ilklendirmesi"
+
+-#: c-typeck.c:6681
++#: c-typeck.c:6692
+ msgid "excess elements in union initializer"
+ msgstr "union ilklendiricide gereğinden fazla öğe"
+
+-#: c-typeck.c:6768
++#: c-typeck.c:6779
+ msgid "excess elements in array initializer"
+ msgstr "dizi ilklendiricide gereğinden fazla öğe"
+
+-#: c-typeck.c:6798
++#: c-typeck.c:6809
+ msgid "excess elements in vector initializer"
+ msgstr "vektör ilklendiricide gereğinden fazla öğe"
+
+-#: c-typeck.c:6822
++#: c-typeck.c:6833
+ msgid "excess elements in scalar initializer"
+ msgstr "skalar ilklendiricide gereğinden fazla öğe"
+
+-#: cfgrtl.c:1925
++#: cfgrtl.c:1923
+ msgid "flow control insn inside a basic block"
+ msgstr "akış kontrol komutu bir temel blokun içinde"
+
+-#: cfgrtl.c:2054
++#: cfgrtl.c:2052
+ msgid "wrong insn in the fallthru edge"
+ msgstr "düşen ayrıtta yanlış komut"
+
+-#: cfgrtl.c:2110
++#: cfgrtl.c:2108
+ msgid "insn outside basic block"
+ msgstr "komut temel blokun dışında"
+
+-#: cfgrtl.c:2117
++#: cfgrtl.c:2115
+ msgid "return not followed by barrier"
+ msgstr "return'den sonra engel gelmiyor"
+
+-#: cgraph.c:339 ipa-inline.c:417
++#: cgraph.c:340 ipa-inline.c:417
+ msgid "function body not available"
+ msgstr "işlev gövdesi yok"
+
+-#: cgraph.c:341 cgraphbuild.c:96
++#: cgraph.c:342 cgraphbuild.c:96
+ msgid "redefined extern inline functions are not considered for inlining"
+ msgstr "yeniden tanımlanmış extern inline işlevler satıriçine alınma sırasında görmezden gelinir"
+
+-#: cgraph.c:344 cgraphbuild.c:103
++#: cgraph.c:345 cgraphbuild.c:103
+ msgid "function not considered for inlining"
+ msgstr "işlev satıriçine alınma sırasında görmezden gelinir"
+
+-#: cgraph.c:346 cgraphbuild.c:99
++#: cgraph.c:347 cgraphbuild.c:99
+ msgid "function not inlinable"
+ msgstr "işlev satıriçine alınabilir değil"
+
+@@ -498,87 +498,87 @@
+ msgid "mismatched arguments"
+ msgstr "tür argümanı geçersiz"
+
+-#: collect2.c:378 gcc.c:6897
++#: collect2.c:382 gcc.c:6896
+ #, c-format
+ msgid "internal gcc abort in %s, at %s:%d"
+ msgstr "%2$s dosyasının %3$d. satırındaki %1$s işlevinde dahili gcc çıkışı"
+
+-#: collect2.c:889
++#: collect2.c:903
+ #, c-format
+ msgid "no arguments"
+ msgstr "argüman yok"
+
+-#: collect2.c:1263 collect2.c:1411 collect2.c:1446
++#: collect2.c:1277 collect2.c:1425 collect2.c:1460
+ #, c-format
+ msgid "fopen %s"
+ msgstr "fopen %s"
+
+-#: collect2.c:1266 collect2.c:1416 collect2.c:1449
++#: collect2.c:1280 collect2.c:1430 collect2.c:1463
+ #, c-format
+ msgid "fclose %s"
+ msgstr "fclose %s"
+
+-#: collect2.c:1275
++#: collect2.c:1289
+ #, c-format
+ msgid "collect2 version %s"
+ msgstr "collect2 %s sürümü"
+
+-#: collect2.c:1365
++#: collect2.c:1379
+ #, c-format
+ msgid "%d constructor(s) found\n"
+ msgstr "%d kurucu bulundu\n"
+
+-#: collect2.c:1366
++#: collect2.c:1380
+ #, c-format
+ msgid "%d destructor(s) found\n"
+ msgstr "%d serbestleÅŸtirici bulundu\n"
+
+-#: collect2.c:1367
++#: collect2.c:1381
+ #, c-format
+ msgid "%d frame table(s) found\n"
+ msgstr "%d çerçeve tablosu bulundu\n"
+
+-#: collect2.c:1504
++#: collect2.c:1518
+ #, c-format
+ msgid "can't get program status"
+ msgstr "program durumu alınamıyor"
+
+-#: collect2.c:1573
++#: collect2.c:1587
+ #, fuzzy, c-format
+ msgid "could not open response file %s"
+ msgstr "belirtim dosyası %s bulunamadı\n"
+
+-#: collect2.c:1578
++#: collect2.c:1592
+ #, fuzzy, c-format
+ msgid "could not write to response file %s"
+ msgstr "belirtim dosyası %s bulunamadı\n"
+
+-#: collect2.c:1583
++#: collect2.c:1597
+ #, fuzzy, c-format
+ msgid "could not close response file %s"
+ msgstr "belirtim dosyası %s bulunamadı\n"
+
+-#: collect2.c:1601
++#: collect2.c:1615
+ #, c-format
+ msgid "[cannot find %s]"
+ msgstr "[%s bulunamıyor]"
+
+-#: collect2.c:1616
++#: collect2.c:1630
+ #, c-format
+ msgid "cannot find '%s'"
+ msgstr "'%s' bulunamıyor"
+
+-#: collect2.c:1620 collect2.c:2112 collect2.c:2267 gcc.c:2978
++#: collect2.c:1634 collect2.c:2126 collect2.c:2281 gcc.c:2974
+ #, c-format
+ msgid "pex_init failed"
+ msgstr "pex_init başarısız"
+
+-#: collect2.c:1658
++#: collect2.c:1672
+ #, c-format
+ msgid "[Leaving %s]\n"
+ msgstr "[%s bırakılıyor]\n"
+
+-#: collect2.c:1878
++#: collect2.c:1892
+ #, c-format
+ msgid ""
+ "\n"
+@@ -587,32 +587,32 @@
+ "\n"
+ "write_c_file - çıktı ismi %s, önek %s\n"
+
+-#: collect2.c:2086
++#: collect2.c:2100
+ #, c-format
+ msgid "cannot find 'nm'"
+ msgstr "'nm' bulunamıyor"
+
+-#: collect2.c:2133
++#: collect2.c:2147
+ #, c-format
+ msgid "can't open nm output"
+ msgstr "nm çıktısı açılamıyor"
+
+-#: collect2.c:2177
++#: collect2.c:2191
+ #, c-format
+ msgid "init function found in object %s"
+ msgstr "%s nesnesinde init iÅŸlevi bulundu"
+
+-#: collect2.c:2185
++#: collect2.c:2199
+ #, c-format
+ msgid "fini function found in object %s"
+ msgstr "%s nesnesinde fini iÅŸlevi bulundu"
+
+-#: collect2.c:2288
++#: collect2.c:2302
+ #, c-format
+ msgid "can't open ldd output"
+ msgstr "ldd çıktısı açılamıyor"
+
+-#: collect2.c:2291
++#: collect2.c:2305
+ #, c-format
+ msgid ""
+ "\n"
+@@ -621,27 +621,27 @@
+ "\n"
+ "kuruculu/yıkıcılı ldd çıktısı.\n"
+
+-#: collect2.c:2306
++#: collect2.c:2320
+ #, c-format
+ msgid "dynamic dependency %s not found"
+ msgstr "%s özdevimli bağımlılığı yok"
+
+-#: collect2.c:2318
++#: collect2.c:2332
+ #, c-format
+ msgid "unable to open dynamic dependency '%s'"
+ msgstr "'%s' özdevimli bağımlılığı açılamıyor"
+
+-#: collect2.c:2474
++#: collect2.c:2488
+ #, c-format
+ msgid "%s: not a COFF file"
+ msgstr "%s: bir COFF dosyası değil"
+
+-#: collect2.c:2594
++#: collect2.c:2608
+ #, c-format
+ msgid "%s: cannot open as COFF file"
+ msgstr "%s: bir COFF dosyası olarak açılamıyor"
+
+-#: collect2.c:2652
++#: collect2.c:2666
+ #, c-format
+ msgid "library lib%s not found"
+ msgstr "lib%s kitaplığı bulunamadı"
+@@ -691,40 +691,40 @@
+ msgid "negative insn length"
+ msgstr "negatif komut uzunluÄŸu"
+
+-#: final.c:2609
++#: final.c:2615
+ msgid "could not split insn"
+ msgstr "komut çatallanamadı"
+
+-#: final.c:2979
++#: final.c:2992
+ msgid "invalid 'asm': "
+ msgstr "geçersiz 'asm': "
+
+-#: final.c:3162
++#: final.c:3175
+ #, c-format
+ msgid "nested assembly dialect alternatives"
+ msgstr "iç içe çevirici aksan alternatifleri"
+
+-#: final.c:3179 final.c:3191
++#: final.c:3192 final.c:3204
+ #, c-format
+ msgid "unterminated assembly dialect alternative"
+ msgstr "sonlandırılmamış çevirici aksan alternatifi"
+
+-#: final.c:3238
++#: final.c:3251
+ #, c-format
+ msgid "operand number missing after %%-letter"
+ msgstr "%%-harf'ten sonraki terim numarası eksik"
+
+-#: final.c:3241 final.c:3282
++#: final.c:3254 final.c:3295
+ #, c-format
+ msgid "operand number out of range"
+ msgstr "terim numarası aralık dışında"
+
+-#: final.c:3301
++#: final.c:3314
+ #, c-format
+ msgid "invalid %%-code"
+ msgstr "%% kodu geçersiz"
+
+-#: final.c:3331
++#: final.c:3344
+ #, c-format
+ msgid "'%%l' operand isn't a label"
+ msgstr "'%%l' terimi bir yafta deÄŸil"
+@@ -735,13 +735,13 @@
+ #. handle them.
+ #. We can't handle floating point constants;
+ #. PRINT_OPERAND must handle them.
+-#: final.c:3433 vmsdbgout.c:487 config/i386/i386.c:8143
++#: final.c:3446 vmsdbgout.c:487 config/i386/i386.c:8198
+ #: config/pdp11/pdp11.c:1704
+ #, c-format
+ msgid "floating constant misused"
+ msgstr "gerçel sayı sabit yanlış kullanılmış"
+
+-#: final.c:3493 vmsdbgout.c:544 config/i386/i386.c:8224
++#: final.c:3507 vmsdbgout.c:544 config/i386/i386.c:8279
+ #: config/pdp11/pdp11.c:1751
+ #, c-format
+ msgid "invalid expression as operand"
+@@ -752,7 +752,7 @@
+ msgid "Using built-in specs.\n"
+ msgstr "Yerleşik özellikler kullanılıyor.\n"
+
+-#: gcc.c:1887
++#: gcc.c:1883
+ #, c-format
+ msgid ""
+ "Setting spec %s to '%s'\n"
+@@ -761,42 +761,42 @@
+ "Özelik %s '%s' e ayarlanıyor\n"
+ "\n"
+
+-#: gcc.c:2002
++#: gcc.c:1998
+ #, c-format
+ msgid "Reading specs from %s\n"
+ msgstr "Özellikler %s'den okunuyor\n"
+
+-#: gcc.c:2098 gcc.c:2117
++#: gcc.c:2094 gcc.c:2113
+ #, c-format
+ msgid "specs %%include syntax malformed after %ld characters"
+ msgstr "specs %%include sözdizimi %ld karakterden sonra bozuk"
+
+-#: gcc.c:2125
++#: gcc.c:2121
+ #, c-format
+ msgid "could not find specs file %s\n"
+ msgstr "belirtim dosyası %s bulunamadı\n"
+
+-#: gcc.c:2142 gcc.c:2150 gcc.c:2159 gcc.c:2168
++#: gcc.c:2138 gcc.c:2146 gcc.c:2155 gcc.c:2164
+ #, c-format
+ msgid "specs %%rename syntax malformed after %ld characters"
+ msgstr "specs %%rename sözdizimi %ld karakterden sonra bozuk"
+
+-#: gcc.c:2177
++#: gcc.c:2173
+ #, c-format
+ msgid "specs %s spec was not found to be renamed"
+ msgstr "ismi değişecek specs %s özelliği yok"
+
+-#: gcc.c:2184
++#: gcc.c:2180
+ #, c-format
+ msgid "%s: attempt to rename spec '%s' to already defined spec '%s'"
+ msgstr "%s: '%s' belirtiminin ismi zaten '%s' belirtiminde kullanılmış"
+
+-#: gcc.c:2189
++#: gcc.c:2185
+ #, c-format
+ msgid "rename spec %s to %s\n"
+ msgstr "spec %s ismi %s yapılıyor\n"
+
+-#: gcc.c:2191
++#: gcc.c:2187
+ #, c-format
+ msgid ""
+ "spec is '%s'\n"
+@@ -805,37 +805,37 @@
+ "özellik '%s'\n"
+ "\n"
+
+-#: gcc.c:2204
++#: gcc.c:2200
+ #, c-format
+ msgid "specs unknown %% command after %ld characters"
+ msgstr "%ld. karakterden sonra bilinmeyen specs %% komutu"
+
+-#: gcc.c:2215 gcc.c:2228
++#: gcc.c:2211 gcc.c:2224
+ #, c-format
+ msgid "specs file malformed after %ld characters"
+ msgstr "%ld. karakterden sonra belirtimler dosyası bozuk"
+
+-#: gcc.c:2281
++#: gcc.c:2277
+ #, c-format
+ msgid "spec file has no spec for linking"
+ msgstr "belirtim dosyası ilintilenecek özellik içermiyor"
+
+-#: gcc.c:2609 gcc.c:4751
++#: gcc.c:2605 gcc.c:4745
+ #, c-format
+ msgid "%s\n"
+ msgstr "%s\n"
+
+-#: gcc.c:2809
++#: gcc.c:2805
+ #, c-format
+ msgid "system path '%s' is not absolute"
+ msgstr "sistem yolu '%s' mutlak deÄŸil"
+
+-#: gcc.c:2872
++#: gcc.c:2868
+ #, c-format
+ msgid "-pipe not supported"
+ msgstr "-pipe desteklenmiyor"
+
+-#: gcc.c:2934
++#: gcc.c:2930
+ #, c-format
+ msgid ""
+ "\n"
+@@ -844,15 +844,15 @@
+ "\n"
+ "Haydi!? (e / h) "
+
+-#: gcc.c:3017
++#: gcc.c:3013
+ msgid "failed to get exit status"
+ msgstr "çıkış durumunu almada başarısızlık"
+
+-#: gcc.c:3023
++#: gcc.c:3019
+ msgid "failed to get process times"
+ msgstr "süreç zamanlarını almada başarısızlık"
+
+-#: gcc.c:3049
++#: gcc.c:3045
+ #, c-format
+ msgid ""
+ "Internal error: %s (program %s)\n"
+@@ -863,78 +863,78 @@
+ "Lütfen ayrıntılı bir hata raporu hazırlayın.\n"
+ "İşlemler için %s adresine bakın."
+
+-#: gcc.c:3075
++#: gcc.c:3071
+ #, c-format
+ msgid "# %s %.2f %.2f\n"
+ msgstr "# %s %.2f %.2f\n"
+
+-#: gcc.c:3211
++#: gcc.c:3205
+ #, c-format
+ msgid "Usage: %s [options] file...\n"
+ msgstr "Kullanımı: %s [seçenekler] DOSYA...\n"
+
+-#: gcc.c:3212
++#: gcc.c:3206
+ msgid "Options:\n"
+ msgstr "Seçenekler:\n"
+
+-#: gcc.c:3214
++#: gcc.c:3208
+ msgid " -pass-exit-codes Exit with highest error code from a phase\n"
+ msgstr " -pass-exit-codes Bir safhadan en yüksek hata kodu ile çıkar\n"
+
+-#: gcc.c:3215
++#: gcc.c:3209
+ msgid " --help Display this information\n"
+ msgstr " --help Bu yardım iletisini gösterir\n"
+
+-#: gcc.c:3216
++#: gcc.c:3210
+ msgid " --target-help Display target specific command line options\n"
+ msgstr " --target-help Hedefe özel komut satırı seçeneklerini gösterir\n"
+
+-#: gcc.c:3217
++#: gcc.c:3211
+ msgid " --help={target|optimizers|warnings|undocumented|params}[,{[^]joined|[^]separate}]\n"
+ msgstr ""
+
+-#: gcc.c:3218
++#: gcc.c:3212
+ #, fuzzy
+ msgid " Display specific types of command line options\n"
+ msgstr " --target-help Hedefe özel komut satırı seçeneklerini gösterir\n"
+
+-#: gcc.c:3220
++#: gcc.c:3214
+ msgid " (Use '-v --help' to display command line options of sub-processes)\n"
+ msgstr " (Alt süreçlerin komut satırı seçenekleri için '-v --help' kullanın)\n"
+
+-#: gcc.c:3221
++#: gcc.c:3215
+ msgid " -dumpspecs Display all of the built in spec strings\n"
+ msgstr " -dumpspecs Bütün yerleşik belirtim dizgelerini gösterir\n"
+
+-#: gcc.c:3222
++#: gcc.c:3216
+ msgid " -dumpversion Display the version of the compiler\n"
+ msgstr " -dumpversion Derleyicinin sürümünü gösterir\n"
+
+-#: gcc.c:3223
++#: gcc.c:3217
+ msgid " -dumpmachine Display the compiler's target processor\n"
+ msgstr " -dumpmachine Derleyicilerin hedef işlemcisini gösterir\n"
+
+-#: gcc.c:3224
++#: gcc.c:3218
+ msgid " -print-search-dirs Display the directories in the compiler's search path\n"
+ msgstr " -print-search-dirs Derleyicinin arama yolundaki dizinleri gösterir\n"
+
+-#: gcc.c:3225
++#: gcc.c:3219
+ msgid " -print-libgcc-file-name Display the name of the compiler's companion library\n"
+ msgstr " -print-libgcc-file-name Derleyicinin birlikte çalıştığı kitaplığın ismini gösterir\n"
+
+-#: gcc.c:3226
++#: gcc.c:3220
+ msgid " -print-file-name=<lib> Display the full path to library <lib>\n"
+ msgstr " -print-file-name=<lib> <lib> kitaplığının tam dosya yolunu gösterir\n"
+
+-#: gcc.c:3227
++#: gcc.c:3221
+ msgid " -print-prog-name=<prog> Display the full path to compiler component <prog>\n"
+ msgstr " -print-prog-name=<prog> Derleyici elemanı <prog>un tam dosya yolunu gösterir\n"
+
+-#: gcc.c:3228
++#: gcc.c:3222
+ msgid " -print-multi-directory Display the root directory for versions of libgcc\n"
+ msgstr " -print-multi-directory libgcc sürümünün kök dizinini gösterir\n"
+
+-#: gcc.c:3229
++#: gcc.c:3223
+ msgid ""
+ " -print-multi-lib Display the mapping between command line options and\n"
+ " multiple library search directories\n"
+@@ -942,69 +942,69 @@
+ " -print-multi-lib Komut satırı seçenekleri ile kitaplık arama\n"
+ " dizinleri arasındaki eşleşmeleri gösterir\n"
+
+-#: gcc.c:3232
++#: gcc.c:3226
+ msgid " -print-multi-os-directory Display the relative path to OS libraries\n"
+ msgstr " -print-multi-os-directory IS kitaplıklarının göreli dosya yolunu gösterir\n"
+
+-#: gcc.c:3233
++#: gcc.c:3227
+ msgid " -print-sysroot-headers-suffix Display the sysroot suffix used to find headers\n"
+ msgstr ""
+
+-#: gcc.c:3234
++#: gcc.c:3228
+ msgid " -Wa,<options> Pass comma-separated <options> on to the assembler\n"
+ msgstr ""
+ " -Wa,<seçenekler> Virgül ayraçlı <seçenekler> listesini çeviriciye\n"
+ " gönderir\n"
+
+-#: gcc.c:3235
++#: gcc.c:3229
+ msgid " -Wp,<options> Pass comma-separated <options> on to the preprocessor\n"
+ msgstr " -Wp,<seçenekler> Virgül ayraçlı <seçenekler> listesini önişlemciye gönderir\n"
+
+-#: gcc.c:3236
++#: gcc.c:3230
+ msgid " -Wl,<options> Pass comma-separated <options> on to the linker\n"
+ msgstr " -Wl,<seçenekler> Virgül ayraçlı <seçenekler>i bağlayıcıya gönderir\n"
+
+-#: gcc.c:3237
++#: gcc.c:3231
+ msgid " -Xassembler <arg> Pass <arg> on to the assembler\n"
+ msgstr " -Xassembler <arg> Çeviriciye <arg>ümanı gönderir\n"
+
+-#: gcc.c:3238
++#: gcc.c:3232
+ msgid " -Xpreprocessor <arg> Pass <arg> on to the preprocessor\n"
+ msgstr " -Xpreprocessor <arg> Önişlemciye <arg>ümanı gönderir\n"
+
+-#: gcc.c:3239
++#: gcc.c:3233
+ msgid " -Xlinker <arg> Pass <arg> on to the linker\n"
+ msgstr " -Xlinker <arg> Bağlayıcıya <arg>ümanı gönderir\n"
+
+-#: gcc.c:3240
++#: gcc.c:3234
+ msgid " -combine Pass multiple source files to compiler at once\n"
+ msgstr ""
+ " -combine Çok sayıda kaynak dosyasını derleyiciye bir defada\n"
+ " aktarır\n"
+
+-#: gcc.c:3241
++#: gcc.c:3235
+ msgid " -save-temps Do not delete intermediate files\n"
+ msgstr " -save-temps Aracı dosyaları silmez\n"
+
+-#: gcc.c:3242
++#: gcc.c:3236
+ msgid " -pipe Use pipes rather than intermediate files\n"
+ msgstr " -pipe Aracı dosyalardan ziyade veri yolları kullanılır\n"
+
+-#: gcc.c:3243
++#: gcc.c:3237
+ msgid " -time Time the execution of each subprocess\n"
+ msgstr " -time Altsüreçlerin çalıştırılma zamanlaması\n"
+
+-#: gcc.c:3244
++#: gcc.c:3238
+ msgid " -specs=<file> Override built-in specs with the contents of <file>\n"
+ msgstr " -specs=<dosya> Yerleşik özellikler yerine <dosya>dakilere zorlar\n"
+
+-#: gcc.c:3245
++#: gcc.c:3239
+ msgid " -std=<standard> Assume that the input sources are for <standard>\n"
+ msgstr ""
+ " -std=<standart> Girdi kaynaklarının bu <standart>da olduğu\n"
+ " varsayılır\n"
+
+-#: gcc.c:3246
++#: gcc.c:3240
+ #, fuzzy
+ msgid ""
+ " --sysroot=<directory> Use <directory> as the root directory for headers\n"
+@@ -1013,43 +1013,43 @@
+ " --sysroot=<dizin> <dizin> başlık dosyaları ve kütüphaneler için\n"
+ " başlık dosyalarının kök dizini olarak kullanılır\n"
+
+-#: gcc.c:3249
++#: gcc.c:3243
+ msgid " -B <directory> Add <directory> to the compiler's search paths\n"
+ msgstr " -B <dizin> Derleyicilerin arama dosya yoluna <dizin>i ekler\n"
+
+-#: gcc.c:3250
++#: gcc.c:3244
+ msgid " -b <machine> Run gcc for target <machine>, if installed\n"
+ msgstr " -b <makina> gcc kurulmuşsa hedef <makina> için çalıştırılır\n"
+
+-#: gcc.c:3251
++#: gcc.c:3245
+ msgid " -V <version> Run gcc version number <version>, if installed\n"
+ msgstr " -V <sürüm> gcc'nin kurulmuşsa <sürüm> sürümü çalıştırılır\n"
+
+-#: gcc.c:3252
++#: gcc.c:3246
+ msgid " -v Display the programs invoked by the compiler\n"
+ msgstr " -v Derleyicinin çalıştırdığı programları gösterir\n"
+
+-#: gcc.c:3253
++#: gcc.c:3247
+ msgid " -### Like -v but options quoted and commands not executed\n"
+ msgstr " -### tırnaklı seçenekler dışında -v gibi ve komutlar çalıştırılmaz\n"
+
+-#: gcc.c:3254
++#: gcc.c:3248
+ msgid " -E Preprocess only; do not compile, assemble or link\n"
+ msgstr " -E Sadece önişlem; derleme, çeviri ve ilintileme yapılmaz\n"
+
+-#: gcc.c:3255
++#: gcc.c:3249
+ msgid " -S Compile only; do not assemble or link\n"
+ msgstr " -S Sadece derleme; çevirme ve bağlama yapılmaz\n"
+
+-#: gcc.c:3256
++#: gcc.c:3250
+ msgid " -c Compile and assemble, but do not link\n"
+ msgstr " -c Derler ve çevirir ancak bağlamaz\n"
+
+-#: gcc.c:3257
++#: gcc.c:3251
+ msgid " -o <file> Place the output into <file>\n"
+ msgstr " -o <dosya> Çıktıyı <dosya>ya yazar\n"
+
+-#: gcc.c:3258
++#: gcc.c:3252
+ msgid ""
+ " -x <language> Specify the language of the following input files\n"
+ " Permissible languages include: c c++ assembler none\n"
+@@ -1061,7 +1061,7 @@
+ " 'none' ile dilin girdi dosyasının uzantısından\n"
+ " saptanacağı öntanımlı durum belirtilmiş olur\n"
+
+-#: gcc.c:3265
++#: gcc.c:3259
+ #, c-format
+ msgid ""
+ "\n"
+@@ -1077,27 +1077,27 @@
+ "Çeviri hatalarını <gnu-tr@belgeler.org> adresine bildiriniz.\n"
+ "\n"
+
+-#: gcc.c:3389
++#: gcc.c:3383
+ #, c-format
+ msgid "'-%c' option must have argument"
+ msgstr "'-%c' seçeneğinde argüman eksik"
+
+-#: gcc.c:3411
++#: gcc.c:3405
+ #, c-format
+ msgid "couldn't run '%s': %s"
+ msgstr "'%s' çalıştırılamadı: %s"
+
+ #. translate_options () has turned --version into -fversion.
+-#: gcc.c:3612
++#: gcc.c:3606
+ #, fuzzy, c-format
+ msgid "%s %s%s\n"
+ msgstr "%s '%s'\n"
+
+-#: gcc.c:3615 gcov.c:426 fortran/gfortranspec.c:380 java/jcf-dump.c:1168
++#: gcc.c:3609 gcov.c:427 fortran/gfortranspec.c:380 java/jcf-dump.c:1168
+ msgid "(C)"
+ msgstr "©"
+
+-#: gcc.c:3616 java/jcf-dump.c:1169
++#: gcc.c:3610 java/jcf-dump.c:1169
+ #, c-format
+ msgid ""
+ "This is free software; see the source for copying conditions. There is NO\n"
+@@ -1108,160 +1108,160 @@
+ "Hiçbir garantisi yoktur; hatta SATILABiLiRLiĞi veya ŞAHSi KULLANIMINIZA\n"
+ "UYGUNLUĞU için bile garanti verilmez.\n"
+
+-#: gcc.c:3728
++#: gcc.c:3722
+ #, c-format
+ msgid "argument to '-Xlinker' is missing"
+ msgstr "'-Xlinker' için argüman belirtilmemiş"
+
+-#: gcc.c:3736
++#: gcc.c:3730
+ #, c-format
+ msgid "argument to '-Xpreprocessor' is missing"
+ msgstr "'-Xpreprocessor' için argüman belirtilmemiş"
+
+-#: gcc.c:3743
++#: gcc.c:3737
+ #, c-format
+ msgid "argument to '-Xassembler' is missing"
+ msgstr "'-Xassembler' için argüman belirtilmemiş"
+
+-#: gcc.c:3750
++#: gcc.c:3744
+ #, c-format
+ msgid "argument to '-l' is missing"
+ msgstr "'-l' için argüman belirtilmemiş"
+
+-#: gcc.c:3771
++#: gcc.c:3765
+ #, c-format
+ msgid "argument to '-specs' is missing"
+ msgstr "'-specs' için argüman belirtilmemiş"
+
+-#: gcc.c:3785
++#: gcc.c:3779
+ #, c-format
+ msgid "argument to '-specs=' is missing"
+ msgstr "'-specs=' için argüman belirtilmemiş"
+
+-#: gcc.c:3826
++#: gcc.c:3820
+ #, c-format
+ msgid "'-%c' must come at the start of the command line"
+ msgstr "'-%c' komut satırının basında olmalı"
+
+-#: gcc.c:3835
++#: gcc.c:3829
+ #, c-format
+ msgid "argument to '-B' is missing"
+ msgstr "'-B' için argüman belirtilmemiş"
+
+-#: gcc.c:4185
++#: gcc.c:4179
+ #, c-format
+ msgid "argument to '-x' is missing"
+ msgstr "'-x' için argüman belirtilmemiş"
+
+-#: gcc.c:4213
++#: gcc.c:4207
+ #, c-format
+ msgid "argument to '-%s' is missing"
+ msgstr "'-%s' için argüman belirtilmemiş"
+
+-#: gcc.c:4541
++#: gcc.c:4535
+ #, c-format
+ msgid "switch '%s' does not start with '-'"
+ msgstr "switch '%s' '-' ile başlamıyor"
+
+-#: gcc.c:4685
++#: gcc.c:4679
+ #, c-format
+ msgid "spec '%s' invalid"
+ msgstr "spec '%s' geçersiz"
+
+-#: gcc.c:4824
++#: gcc.c:4818
+ #, c-format
+ msgid "spec '%s' has invalid '%%0%c'"
+ msgstr "spec '%s' geçersiz '%%0%c' içeriyor"
+
+-#: gcc.c:5053
++#: gcc.c:5047
+ #, fuzzy, c-format
+ msgid "could not open temporary response file %s"
+ msgstr "döküm dosyası %qs açılamadı: %s"
+
+-#: gcc.c:5059
++#: gcc.c:5053
+ #, fuzzy, c-format
+ msgid "could not write to temporary response file %s"
+ msgstr "geçici dosya oluşturulamıyor"
+
+-#: gcc.c:5065
++#: gcc.c:5059
+ #, fuzzy, c-format
+ msgid "could not close temporary response file %s"
+ msgstr "geçici dosya oluşturulamıyor"
+
+-#: gcc.c:5099
++#: gcc.c:5093
+ #, c-format
+ msgid "spec '%s' has invalid '%%W%c"
+ msgstr "spec '%s' geçersiz '%%W%c içeriyor"
+
+-#: gcc.c:5119
++#: gcc.c:5113
+ #, c-format
+ msgid "spec '%s' has invalid '%%x%c'"
+ msgstr "spec '%s' geçersiz '%%x%c' içeriyor"
+
+-#: gcc.c:5341
++#: gcc.c:5335
+ #, c-format
+ msgid "Processing spec %c%s%c, which is '%s'\n"
+ msgstr "'%4$s' %1$c%2$s%3$c özelliği işleniyor\n"
+
+-#: gcc.c:5465
++#: gcc.c:5459
+ #, c-format
+ msgid "unknown spec function '%s'"
+ msgstr "bilinmeyen '%s' spec iÅŸlevi"
+
+-#: gcc.c:5484
++#: gcc.c:5478
+ #, c-format
+ msgid "error in args to spec function '%s'"
+ msgstr "'%s' spec işlevi için argümanlar hatalı"
+
+-#: gcc.c:5532
++#: gcc.c:5526
+ #, c-format
+ msgid "malformed spec function name"
+ msgstr "bozuk spec iÅŸlevi ismi"
+
+ #. )
+-#: gcc.c:5535
++#: gcc.c:5529
+ #, c-format
+ msgid "no arguments for spec function"
+ msgstr "spec işlevi için argüman belirtilmedi"
+
+-#: gcc.c:5554
++#: gcc.c:5548
+ #, c-format
+ msgid "malformed spec function arguments"
+ msgstr "belirtim işlevinin argümanları bozuk"
+
+-#: gcc.c:5800
++#: gcc.c:5794
+ #, c-format
+ msgid "braced spec '%s' is invalid at '%c'"
+ msgstr "kaşlı ayraçlı spec '%s' '%c'de geçersiz"
+
+-#: gcc.c:5888
++#: gcc.c:5882
+ #, c-format
+ msgid "braced spec body '%s' is invalid"
+ msgstr "kaşlı ayraçlı spec gövdesi '%s' geçersiz"
+
+-#: gcc.c:6421
++#: gcc.c:6420
+ #, c-format
+ msgid "install: %s%s\n"
+ msgstr "kurulum: %s%s\n"
+
+-#: gcc.c:6424
++#: gcc.c:6423
+ #, c-format
+ msgid "programs: %s\n"
+ msgstr "programlar: %s\n"
+
+-#: gcc.c:6426
++#: gcc.c:6425
+ #, c-format
+ msgid "libraries: %s\n"
+ msgstr "kitaplıklar: %s\n"
+
+ #. The error status indicates that only one set of fixed
+ #. headers should be built.
+-#: gcc.c:6480
++#: gcc.c:6479
+ #, c-format
+ msgid "not configured with sysroot headers suffix"
+ msgstr ""
+
+-#: gcc.c:6489
++#: gcc.c:6488
+ #, c-format
+ msgid ""
+ "\n"
+@@ -1270,49 +1270,49 @@
+ "\n"
+ "Hata raporlama işlemleri için:\n"
+
+-#: gcc.c:6505
++#: gcc.c:6504
+ #, c-format
+ msgid "Target: %s\n"
+ msgstr "Hedef: %s\n"
+
+-#: gcc.c:6506
++#: gcc.c:6505
+ #, c-format
+ msgid "Configured with: %s\n"
+ msgstr ""
+ "%s\n"
+ "seçenekleriyle yapılandırıldı.\n"
+
+-#: gcc.c:6520
++#: gcc.c:6519
+ #, c-format
+ msgid "Thread model: %s\n"
+ msgstr "Evre modeli: %s\n"
+
+-#: gcc.c:6531
++#: gcc.c:6530
+ #, fuzzy, c-format
+ msgid "gcc version %s %s\n"
+ msgstr "gcc %s sürümü\n"
+
+-#: gcc.c:6533
++#: gcc.c:6532
+ #, fuzzy, c-format
+ msgid "gcc driver version %s %sexecuting gcc version %s\n"
+ msgstr "gcc sürücüsü %s sürümü gcc %s sürümünü çalıştırıyor\n"
+
+-#: gcc.c:6541
++#: gcc.c:6540
+ #, c-format
+ msgid "no input files"
+ msgstr "girdi dosyası yok"
+
+-#: gcc.c:6590
++#: gcc.c:6589
+ #, c-format
+ msgid "cannot specify -o with -c or -S with multiple files"
+ msgstr "çok sayıda dosya -o seçeneğinin -c veya -S ile birlikte kullanımı ile belirtilemez"
+
+-#: gcc.c:6624
++#: gcc.c:6623
+ #, c-format
+ msgid "spec '%s' is invalid"
+ msgstr "spec '%s' geçersiz"
+
+-#: gcc.c:6760
++#: gcc.c:6759
+ #, c-format
+ msgid ""
+ "\n"
+@@ -1321,59 +1321,59 @@
+ "\n"
+ msgstr ""
+
+-#: gcc.c:6761
++#: gcc.c:6760
+ #, c-format
+ msgid ""
+ "Use \"-Wl,OPTION\" to pass \"OPTION\" to the linker.\n"
+ "\n"
+ msgstr ""
+
+-#: gcc.c:7112
++#: gcc.c:7111
+ #, c-format
+ msgid "multilib spec '%s' is invalid"
+ msgstr "multilib spec '%s' geçersiz"
+
+-#: gcc.c:7303
++#: gcc.c:7302
+ #, c-format
+ msgid "multilib exclusions '%s' is invalid"
+ msgstr "multilib dışlaması olarak '%s' geçersiz"
+
+-#: gcc.c:7361 gcc.c:7502
++#: gcc.c:7360 gcc.c:7501
+ #, c-format
+ msgid "multilib select '%s' is invalid"
+ msgstr "multilib seçimi '%s' geçersiz"
+
+-#: gcc.c:7540
++#: gcc.c:7539
+ #, c-format
+ msgid "multilib exclusion '%s' is invalid"
+ msgstr "multilib dışlaması olarak '%s' geçersiz"
+
+-#: gcc.c:7746
++#: gcc.c:7745
+ #, fuzzy, c-format
+ msgid "environment variable \"%s\" not defined"
+ msgstr "ortam değişkeni DJGPP atanmamış"
+
+-#: gcc.c:7837 gcc.c:7842
++#: gcc.c:7836 gcc.c:7841
+ #, c-format
+ msgid "invalid version number `%s'"
+ msgstr "geçersiz sürüm numarası `%s'"
+
+-#: gcc.c:7885
++#: gcc.c:7884
+ #, c-format
+ msgid "too few arguments to %%:version-compare"
+ msgstr "%%:version-compare için çok az argüman belirtildi"
+
+-#: gcc.c:7891
++#: gcc.c:7890
+ #, c-format
+ msgid "too many arguments to %%:version-compare"
+ msgstr "%%:version-compare için çok fazla argüman belirtildi"
+
+-#: gcc.c:7932
++#: gcc.c:7931
+ #, c-format
+ msgid "unknown operator '%s' in %%:version-compare"
+ msgstr "%%:version-compare içindeki '%s' işleci bilinmiyor"
+
+-#: gcc.c:7966
++#: gcc.c:7965
+ #, c-format
+ msgid ""
+ "Assembler options\n"
+@@ -1381,14 +1381,14 @@
+ "\n"
+ msgstr ""
+
+-#: gcc.c:7967
++#: gcc.c:7966
+ #, c-format
+ msgid ""
+ "Use \"-Wa,OPTION\" to pass \"OPTION\" to the assembler.\n"
+ "\n"
+ msgstr ""
+
+-#: gcov.c:399
++#: gcov.c:400
+ #, fuzzy, c-format
+ msgid ""
+ "Usage: gcov [OPTION]... SOURCEFILE...\n"
+@@ -1397,7 +1397,7 @@
+ "Kullanımı: gcov [SEÇENEK]... KAYNAKDOSYASI\n"
+ "\n"
+
+-#: gcov.c:400
++#: gcov.c:401
+ #, c-format
+ msgid ""
+ "Print code coverage information.\n"
+@@ -1406,39 +1406,39 @@
+ "Kodu çevreleyen bilgileri gösterir\n"
+ "\n"
+
+-#: gcov.c:401
++#: gcov.c:402
+ #, c-format
+ msgid " -h, --help Print this help, then exit\n"
+ msgstr " -h, --help Bu yardım iletisini gösterir ve çıkar\n"
+
+-#: gcov.c:402
++#: gcov.c:403
+ #, c-format
+ msgid " -v, --version Print version number, then exit\n"
+ msgstr " -v, --version Sürüm bilgilerini gösterir ve çıkar\n"
+
+-#: gcov.c:403
++#: gcov.c:404
+ #, c-format
+ msgid " -a, --all-blocks Show information for every basic block\n"
+ msgstr " -a, --all-blocks Her temel blok için bilgi verilir\n"
+
+-#: gcov.c:404
++#: gcov.c:405
+ #, c-format
+ msgid " -b, --branch-probabilities Include branch probabilities in output\n"
+ msgstr " -b, --branch-probabilities Çıktıda dallanma olasılıkları da içerilir\n"
+
+-#: gcov.c:405
++#: gcov.c:406
+ #, c-format
+ msgid ""
+ " -c, --branch-counts Given counts of branches taken\n"
+ " rather than percentages\n"
+ msgstr " -c, --branch-counts Yüzde yerine dallanma sayısı alınır\n"
+
+-#: gcov.c:407
++#: gcov.c:408
+ #, c-format
+ msgid " -n, --no-output Do not create an output file\n"
+ msgstr " -n, --no-output Bir çıktı dosyası üretilmez\n"
+
+-#: gcov.c:408
++#: gcov.c:409
+ #, c-format
+ msgid ""
+ " -l, --long-file-names Use long output file names for included\n"
+@@ -1447,29 +1447,29 @@
+ " -l, --long-file-names İçerilen kaynak dosyaları için uzun çıktı\n"
+ " dosyası isimleri kullanılır\n"
+
+-#: gcov.c:410
++#: gcov.c:411
+ #, c-format
+ msgid " -f, --function-summaries Output summaries for each function\n"
+ msgstr " -f, --function-summaries Her işlev için özet çıktılar\n"
+
+-#: gcov.c:411
++#: gcov.c:412
+ #, c-format
+ msgid " -o, --object-directory DIR|FILE Search for object files in DIR or called FILE\n"
+ msgstr ""
+ " -o, --object-directory DZN|DSY Nesne dosyaları DZN içinde ya da DSY\n"
+ " dosyasında belirtilen yerlerde aranır\n"
+
+-#: gcov.c:412
++#: gcov.c:413
+ #, c-format
+ msgid " -p, --preserve-paths Preserve all pathname components\n"
+ msgstr " -p, --preserve-paths Tüm dosya yolu elemanları saklanır\n"
+
+-#: gcov.c:413
++#: gcov.c:414
+ #, c-format
+ msgid " -u, --unconditional-branches Show unconditional branch counts too\n"
+ msgstr " -u, --unconditional-branches Koşulsuz dallanma sayısı da gösterilir\n"
+
+-#: gcov.c:414
++#: gcov.c:415
+ #, c-format
+ msgid ""
+ "\n"
+@@ -1480,12 +1480,12 @@
+ "Hata raporlama işlemleri için:\n"
+ "%s.\n"
+
+-#: gcov.c:424
++#: gcov.c:425
+ #, fuzzy, c-format
+ msgid "gcov %s%s\n"
+ msgstr "gcov (GCC) %s\n"
+
+-#: gcov.c:428
++#: gcov.c:429
+ #, c-format
+ msgid ""
+ "This is free software; see the source for copying conditions.\n"
+@@ -1498,206 +1498,206 @@
+ "UYGUNLUĞU için bile garanti verilmez.\n"
+ "\n"
+
+-#: gcov.c:524
++#: gcov.c:525
+ #, c-format
+ msgid "%s:no functions found\n"
+ msgstr "%s: hiç işlev yok\n"
+
+-#: gcov.c:556 gcov.c:584 fortran/dump-parse-tree.c:63
++#: gcov.c:557 gcov.c:585 fortran/dump-parse-tree.c:63
+ #, c-format
+ msgid "\n"
+ msgstr "\n"
+
+-#: gcov.c:571
++#: gcov.c:572
+ #, c-format
+ msgid "%s:creating '%s'\n"
+ msgstr "%s: '%s' oluÅŸturuluyor\n"
+
+-#: gcov.c:575
++#: gcov.c:576
+ #, c-format
+ msgid "%s:error writing output file '%s'\n"
+ msgstr "%s: çıktı dosyası '%s' yazılırken hata.\n"
+
+-#: gcov.c:580
++#: gcov.c:581
+ #, c-format
+ msgid "%s:could not open output file '%s'\n"
+ msgstr "%s: çıktı dosyası '%s' açılamadı\n"
+
+-#: gcov.c:729
++#: gcov.c:730
+ #, c-format
+ msgid "%s:source file is newer than graph file '%s'\n"
+ msgstr "%s: kaynak dosya, '%s' çizge dosyasından daha yeni\n"
+
+-#: gcov.c:734
++#: gcov.c:735
+ #, c-format
+ msgid "(the message is only displayed one per source file)\n"
+ msgstr ""
+
+-#: gcov.c:758
++#: gcov.c:759
+ #, c-format
+ msgid "%s:cannot open graph file\n"
+ msgstr "%s: graph dosyası açılamıyor\n"
+
+-#: gcov.c:764
++#: gcov.c:765
+ #, c-format
+ msgid "%s:not a gcov graph file\n"
+ msgstr "%s: bir gcov graph dosyası değil\n"
+
+-#: gcov.c:777
++#: gcov.c:778
+ #, c-format
+ msgid "%s:version '%.4s', prefer '%.4s'\n"
+ msgstr "%s: '%.4s' sürümü, tercih edilen ise '%.4s'\n"
+
+-#: gcov.c:829
++#: gcov.c:830
+ #, c-format
+ msgid "%s:already seen blocks for '%s'\n"
+ msgstr "%s: '%s' için bloklar zaten görüldü\n"
+
+-#: gcov.c:947
++#: gcov.c:948
+ #, c-format
+ msgid "%s:corrupted\n"
+ msgstr "%s: bozulmuÅŸ\n"
+
+-#: gcov.c:1023
++#: gcov.c:1024
+ #, fuzzy, c-format
+ msgid "%s:cannot open data file, assuming not executed\n"
+ msgstr "%s: veri dosyası açılamıyor\n"
+
+-#: gcov.c:1030
++#: gcov.c:1031
+ #, c-format
+ msgid "%s:not a gcov data file\n"
+ msgstr "%s: bir gcov veri dosyası değil\n"
+
+-#: gcov.c:1043
++#: gcov.c:1044
+ #, c-format
+ msgid "%s:version '%.4s', prefer version '%.4s'\n"
+ msgstr "%s: '%.4s' sürümü, tercih edilen sürüm '%.4s'\n"
+
+-#: gcov.c:1049
++#: gcov.c:1050
+ #, c-format
+ msgid "%s:stamp mismatch with graph file\n"
+ msgstr "%s: zaman damgası çizge dosyası ile çelişiyor\n"
+
+-#: gcov.c:1078
++#: gcov.c:1079
+ #, c-format
+ msgid "%s:unknown function '%u'\n"
+ msgstr "%s: bilinmeyen iÅŸlev '%u'\n"
+
+-#: gcov.c:1091
++#: gcov.c:1092
+ #, c-format
+ msgid "%s:profile mismatch for '%s'\n"
+ msgstr "%s: '%s' için profil uyumsuz\n"
+
+-#: gcov.c:1110
++#: gcov.c:1111
+ #, c-format
+ msgid "%s:overflowed\n"
+ msgstr "%s: taşma hatası\n"
+
+-#: gcov.c:1134
++#: gcov.c:1135
+ #, c-format
+ msgid "%s:'%s' lacks entry and/or exit blocks\n"
+ msgstr "%s: '%s' girdiye ya da çıkış bloklarına ihtiyaç duyuyor\n"
+
+-#: gcov.c:1139
++#: gcov.c:1140
+ #, c-format
+ msgid "%s:'%s' has arcs to entry block\n"
+ msgstr "%s: '%s' girdi bloklarına arc'lara sahip\n"
+
+-#: gcov.c:1147
++#: gcov.c:1148
+ #, c-format
+ msgid "%s:'%s' has arcs from exit block\n"
+ msgstr "%s: '%s' çıkış bloklarından arc'lara sahip\n"
+
+-#: gcov.c:1355
++#: gcov.c:1356
+ #, c-format
+ msgid "%s:graph is unsolvable for '%s'\n"
+ msgstr "%s: çizge '%s' için çözümlenebilir değil\n"
+
+-#: gcov.c:1435
++#: gcov.c:1436
+ #, c-format
+ msgid "%s '%s'\n"
+ msgstr "%s '%s'\n"
+
+-#: gcov.c:1438
++#: gcov.c:1439
+ #, c-format
+ msgid "Lines executed:%s of %d\n"
+ msgstr "Çalıştırılan satırlar:%s / %d\n"
+
+-#: gcov.c:1442
++#: gcov.c:1443
+ #, c-format
+ msgid "No executable lines\n"
+ msgstr "Çalıştırılacak satır yok\n"
+
+-#: gcov.c:1448
++#: gcov.c:1449
+ #, c-format
+ msgid "Branches executed:%s of %d\n"
+ msgstr "Çalıştırılan dallar:%s / %d\n"
+
+-#: gcov.c:1452
++#: gcov.c:1453
+ #, c-format
+ msgid "Taken at least once:%s of %d\n"
+ msgstr "En az bir kere alındı:%s / %d\n"
+
+-#: gcov.c:1458
++#: gcov.c:1459
+ #, c-format
+ msgid "No branches\n"
+ msgstr "Dal yok\n"
+
+-#: gcov.c:1460
++#: gcov.c:1461
+ #, c-format
+ msgid "Calls executed:%s of %d\n"
+ msgstr "Çalıştırılan çağrılar: %s / %d\n"
+
+-#: gcov.c:1464
++#: gcov.c:1465
+ #, c-format
+ msgid "No calls\n"
+ msgstr "Çağrı yok\n"
+
+-#: gcov.c:1611
++#: gcov.c:1612
+ #, c-format
+ msgid "%s:no lines for '%s'\n"
+ msgstr "%s: '%s' için satır yok\n"
+
+-#: gcov.c:1806
++#: gcov.c:1807
+ #, c-format
+ msgid "call %2d returned %s\n"
+ msgstr "çağrı %2d %s döndürdü\n"
+
+-#: gcov.c:1811
++#: gcov.c:1812
+ #, c-format
+ msgid "call %2d never executed\n"
+ msgstr "%2d. çağrı hiç çalıştırılmadı\n"
+
+-#: gcov.c:1816
++#: gcov.c:1817
+ #, c-format
+ msgid "branch %2d taken %s%s\n"
+ msgstr "%2d. dal %s%s kere alındı\n"
+
+-#: gcov.c:1820
++#: gcov.c:1821
+ #, c-format
+ msgid "branch %2d never executed\n"
+ msgstr "%2d. dal hiç çalıştırılmadı\n"
+
+-#: gcov.c:1825
++#: gcov.c:1826
+ #, c-format
+ msgid "unconditional %2d taken %s\n"
+ msgstr "%2d. mutlak %s kere alındı\n"
+
+-#: gcov.c:1828
++#: gcov.c:1829
+ #, c-format
+ msgid "unconditional %2d never executed\n"
+ msgstr "%2d. mutlak hiç çalıştırılmadı\n"
+
+-#: gcov.c:1864
++#: gcov.c:1865
+ #, c-format
+ msgid "%s:cannot open source file\n"
+ msgstr "%s: kaynak dosyası açılamıyor\n"
+
+-#: gcse.c:685
++#: gcse.c:679
+ msgid "GCSE disabled"
+ msgstr "GCSE iptal edildi"
+
+-#: gcse.c:6600
++#: gcse.c:6584
+ msgid "jump bypassing disabled"
+ msgstr "jump kestirmesi iptal edildi"
+
+@@ -1786,92 +1786,92 @@
+ msgid " inlined from %qs"
+ msgstr "%qs için complex geçersiz"
+
+-#: loop-iv.c:2805 tree-ssa-loop-niter.c:1818
++#: loop-iv.c:2806 tree-ssa-loop-niter.c:1818
+ msgid "assuming that the loop is not infinite"
+ msgstr "döngünün sonsuz olmadığı varsayılıyor"
+
+-#: loop-iv.c:2806 tree-ssa-loop-niter.c:1819
++#: loop-iv.c:2807 tree-ssa-loop-niter.c:1819
+ msgid "cannot optimize possibly infinite loops"
+ msgstr "olası sonsuz döngüler en iyilenemez"
+
+-#: loop-iv.c:2814 tree-ssa-loop-niter.c:1823
++#: loop-iv.c:2815 tree-ssa-loop-niter.c:1823
+ msgid "assuming that the loop counter does not overflow"
+ msgstr "döngü sayacının taşmaya sebep olmayacağı var sayılıyor"
+
+-#: loop-iv.c:2815 tree-ssa-loop-niter.c:1824
++#: loop-iv.c:2816 tree-ssa-loop-niter.c:1824
+ msgid "cannot optimize loop, the loop counter may overflow"
+ msgstr "döngü en iyilenemez, döngü sayacının taşma olasılığı var"
+
+ #. What to print when a switch has no documentation.
+-#: opts.c:348
++#: opts.c:340
+ msgid "This switch lacks documentation"
+ msgstr "Bu seçenek belgelenmedi"
+
+-#: opts.c:1159
++#: opts.c:1161
+ msgid "[enabled]"
+ msgstr ""
+
+-#: opts.c:1159
++#: opts.c:1161
+ #, fuzzy
+ msgid "[disabled]"
+ msgstr "GCSE iptal edildi"
+
+-#: opts.c:1170
++#: opts.c:1172
+ #, c-format
+ msgid " No options with the desired characteristics were found\n"
+ msgstr ""
+
+-#: opts.c:1172
++#: opts.c:1174
+ #, c-format
+ msgid " All options with the desired characteristics have already been displayed\n"
+ msgstr ""
+
+-#: opts.c:1226
++#: opts.c:1228
+ #, fuzzy
+ msgid "The following options are target specific"
+ msgstr "Bu seçenekler dile bağımlıdir:\n"
+
+-#: opts.c:1229
++#: opts.c:1231
+ #, fuzzy
+ msgid "The following options control compiler warning messages"
+ msgstr "Bu seçenekler dile bağımlıdir:\n"
+
+-#: opts.c:1232
++#: opts.c:1234
+ #, fuzzy
+ msgid "The following options control optimizations"
+ msgstr "Döngü eniyilemeleri uygulanır"
+
+-#: opts.c:1235 opts.c:1273
++#: opts.c:1237 opts.c:1275
+ #, fuzzy
+ msgid "The following options are language-independent"
+ msgstr "Bu seçenekler dile bağımlıdir:\n"
+
+-#: opts.c:1238
++#: opts.c:1240
+ #, fuzzy
+ msgid "The --param option recognizes the following as parameters"
+ msgstr "--param seçeneğinde belirtilebilecek parametreler:\n"
+
+-#: opts.c:1245
++#: opts.c:1247
+ #, fuzzy
+ msgid "The following options are specific to the language "
+ msgstr "Bu seçenekler dile bağımlıdir:\n"
+
+-#: opts.c:1249
++#: opts.c:1251
+ #, fuzzy
+ msgid "The following options are supported by the language "
+ msgstr "Bu seçenekler dile bağımlıdir:\n"
+
+-#: opts.c:1260
++#: opts.c:1262
+ #, fuzzy
+ msgid "The following options are not documented"
+ msgstr "Bu seçenekler dile bağımlıdir:\n"
+
+-#: opts.c:1271
++#: opts.c:1273
+ #, fuzzy
+ msgid "The following options are language-related"
+ msgstr "Bu seçenekler dile bağımlıdir:\n"
+
+-#: opts.c:1403
++#: opts.c:1405
+ #, c-format
+ msgid "warning: unrecognized argument to --help= switch: %.*s\n"
+ msgstr ""
+@@ -2187,7 +2187,7 @@
+ msgid "%s: input file names must have .c suffixes: %s\n"
+ msgstr "%s: girdi dosyası isimlerinin soneki .c olmalıdır: %s\n"
+
+-#: reload.c:3734
++#: reload.c:3744
+ msgid "unable to generate reloads for:"
+ msgstr "aşağıdakiler için yeniden yüklemeler üretilemiyor:"
+
+@@ -2290,41 +2290,43 @@
+ msgstr "%s: '%.4s' sürümü, tercih edilen sürüm '%.4s'\n"
+
+ #: toplev.c:1188
+-#, c-format
+-msgid "warning: %s header version %s differs from library version %s.\n"
++#, fuzzy, c-format
++msgid "%s%swarning: %s header version %s differs from library version %s.\n"
+ msgstr ""
++"%s%s%s sürüm %s (%s)\n"
++"%s\tGNU C sürüm %s ile derlendi.\n"
+
+ #: toplev.c:1190
+ #, c-format
+ msgid "%s%sGGC heuristics: --param ggc-min-expand=%d --param ggc-min-heapsize=%d\n"
+ msgstr "%s%sGGC yaklaşımları: --param ggc-min-expand=%d --param ggc-min-heapsize=%d\n"
+
+-#: toplev.c:1340
++#: toplev.c:1342
+ msgid "options passed: "
+ msgstr "aktarılan seçenekler: "
+
+-#: toplev.c:1374
++#: toplev.c:1376
+ msgid "options enabled: "
+ msgstr "etkin seçenekler: "
+
+-#: toplev.c:1509
++#: toplev.c:1511
+ #, c-format
+ msgid "created and used with differing settings of '%s'"
+ msgstr "`%s''in farklı ayarları ile oluşturulup kullanılmış"
+
+-#: toplev.c:1511
++#: toplev.c:1513
+ msgid "out of memory"
+ msgstr "bellek yetersiz"
+
+-#: toplev.c:1526
++#: toplev.c:1528
+ msgid "created and used with different settings of -fpic"
+ msgstr "-fpic'in farklı ayarları ile oluşturulup kullanıldı"
+
+-#: toplev.c:1528
++#: toplev.c:1530
+ msgid "created and used with different settings of -fpie"
+ msgstr "-fpie'in farklı ayarları ile oluşturulup kullanıldı"
+
+-#: tree-inline.c:2571
++#: tree-inline.c:2657
+ msgid "originally indirect function call not considered for inlining"
+ msgstr "aslen dolaylı işlev çağrıları satır içine almaya konu olmaz"
+
+@@ -2384,7 +2386,7 @@
+
+ #: params.def:93
+ #, fuzzy
+-msgid "The threshold ratio between current and hotest structure counts"
++msgid "The threshold ratio between current and hottest structure counts"
+ msgstr "Yapının toplam boyutu ile alanları arasındaki eşik oran"
+
+ #: params.def:110
+@@ -2804,114 +2806,122 @@
+ msgid "Maximum length of partial antic set when performing tree pre optimization"
+ msgstr ""
+
+-#: config/alpha/alpha.c:5015
++#: params.def:723
++msgid "Maximum size of a SCC before SCCVN stops processing a function"
++msgstr ""
++
++#: params.def:729
++msgid "Multiplier used for determining the double-queueing threshold"
++msgstr ""
++
++#: config/alpha/alpha.c:5023
+ #, c-format
+ msgid "invalid %%H value"
+ msgstr "%%H değeri geçersiz"
+
+-#: config/alpha/alpha.c:5036 config/bfin/bfin.c:1423
++#: config/alpha/alpha.c:5044 config/bfin/bfin.c:1516
+ #, c-format
+ msgid "invalid %%J value"
+ msgstr "%%J değeri geçersiz"
+
+-#: config/alpha/alpha.c:5066 config/ia64/ia64.c:4718
++#: config/alpha/alpha.c:5074 config/ia64/ia64.c:4719
+ #, c-format
+ msgid "invalid %%r value"
+ msgstr "%%r değeri geçersiz"
+
+-#: config/alpha/alpha.c:5076 config/ia64/ia64.c:4672
+-#: config/rs6000/rs6000.c:11670 config/xtensa/xtensa.c:2036
++#: config/alpha/alpha.c:5084 config/ia64/ia64.c:4673
++#: config/rs6000/rs6000.c:11881 config/xtensa/xtensa.c:2042
+ #, c-format
+ msgid "invalid %%R value"
+ msgstr "%%R değeri geçersiz"
+
+-#: config/alpha/alpha.c:5082 config/rs6000/rs6000.c:11589
+-#: config/xtensa/xtensa.c:2003
++#: config/alpha/alpha.c:5090 config/rs6000/rs6000.c:11800
++#: config/xtensa/xtensa.c:2009
+ #, c-format
+ msgid "invalid %%N value"
+ msgstr "%%N değeri geçersiz"
+
+-#: config/alpha/alpha.c:5090 config/rs6000/rs6000.c:11617
++#: config/alpha/alpha.c:5098 config/rs6000/rs6000.c:11828
+ #, c-format
+ msgid "invalid %%P value"
+ msgstr "%%P değeri geçersiz"
+
+-#: config/alpha/alpha.c:5098
++#: config/alpha/alpha.c:5106
+ #, c-format
+ msgid "invalid %%h value"
+ msgstr "%%h değeri geçersiz"
+
+-#: config/alpha/alpha.c:5106 config/xtensa/xtensa.c:2029
++#: config/alpha/alpha.c:5114 config/xtensa/xtensa.c:2035
+ #, c-format
+ msgid "invalid %%L value"
+ msgstr "%%L değeri geçersiz"
+
+-#: config/alpha/alpha.c:5145 config/rs6000/rs6000.c:11571
++#: config/alpha/alpha.c:5153 config/rs6000/rs6000.c:11782
+ #, c-format
+ msgid "invalid %%m value"
+ msgstr "%%m değeri geçersiz"
+
+-#: config/alpha/alpha.c:5153 config/rs6000/rs6000.c:11579
++#: config/alpha/alpha.c:5161 config/rs6000/rs6000.c:11790
+ #, c-format
+ msgid "invalid %%M value"
+ msgstr "%%M değeri geçersiz"
+
+-#: config/alpha/alpha.c:5197
++#: config/alpha/alpha.c:5205
+ #, c-format
+ msgid "invalid %%U value"
+ msgstr "%%U değeri geçersiz"
+
+-#: config/alpha/alpha.c:5209 config/alpha/alpha.c:5223
+-#: config/rs6000/rs6000.c:11678
++#: config/alpha/alpha.c:5217 config/alpha/alpha.c:5231
++#: config/rs6000/rs6000.c:11889
+ #, c-format
+ msgid "invalid %%s value"
+ msgstr "%%s değeri geçersiz"
+
+-#: config/alpha/alpha.c:5246
++#: config/alpha/alpha.c:5254
+ #, c-format
+ msgid "invalid %%C value"
+ msgstr "%%C değeri geçersiz"
+
+-#: config/alpha/alpha.c:5283 config/rs6000/rs6000.c:11406
+-#: config/rs6000/rs6000.c:11425
++#: config/alpha/alpha.c:5291 config/rs6000/rs6000.c:11617
++#: config/rs6000/rs6000.c:11636
+ #, c-format
+ msgid "invalid %%E value"
+ msgstr "%%E değeri geçersiz"
+
+-#: config/alpha/alpha.c:5308 config/alpha/alpha.c:5356
++#: config/alpha/alpha.c:5316 config/alpha/alpha.c:5364
+ #, c-format
+ msgid "unknown relocation unspec"
+ msgstr "bilinmeyen yerdeÄŸiÅŸim unspec"
+
+-#: config/alpha/alpha.c:5317 config/crx/crx.c:1081
+-#: config/rs6000/rs6000.c:12005 config/spu/spu.c:1492
++#: config/alpha/alpha.c:5325 config/crx/crx.c:1081
++#: config/rs6000/rs6000.c:12216 config/spu/spu.c:1482
+ #, c-format
+ msgid "invalid %%xn code"
+ msgstr "%%xn kodu geçersiz"
+
+-#: config/arc/arc.c:1724 config/m32r/m32r.c:1805
++#: config/arc/arc.c:1728 config/m32r/m32r.c:1805
+ #, c-format
+ msgid "invalid operand to %%R code"
+ msgstr "%%R kodu için terim geçersiz"
+
+-#: config/arc/arc.c:1756 config/m32r/m32r.c:1828
++#: config/arc/arc.c:1760 config/m32r/m32r.c:1828
+ #, c-format
+ msgid "invalid operand to %%H/%%L code"
+ msgstr "%%H/%%L kodu için terim geçersiz"
+
+-#: config/arc/arc.c:1778 config/m32r/m32r.c:1899
++#: config/arc/arc.c:1782 config/m32r/m32r.c:1899
+ #, c-format
+ msgid "invalid operand to %%U code"
+ msgstr "%%U kodu için terim geçersiz"
+
+-#: config/arc/arc.c:1789
++#: config/arc/arc.c:1793
+ #, c-format
+ msgid "invalid operand to %%V code"
+ msgstr "%%V kodu için terim geçersiz"
+
+ #. Unknown flag.
+ #. Undocumented flag.
+-#: config/arc/arc.c:1796 config/m32r/m32r.c:1926 config/sparc/sparc.c:6995
++#: config/arc/arc.c:1800 config/m32r/m32r.c:1926 config/sparc/sparc.c:6998
+ #, c-format
+ msgid "invalid operand output code"
+ msgstr "geçersiz terim çıktı kodu"
+@@ -2936,9 +2946,9 @@
+ #: config/arm/arm.c:12830 config/arm/arm.c:12865 config/arm/arm.c:12884
+ #: config/arm/arm.c:12899 config/arm/arm.c:12927 config/arm/arm.c:12934
+ #: config/arm/arm.c:12942 config/arm/arm.c:12963 config/arm/arm.c:12970
+-#: config/bfin/bfin.c:1436 config/bfin/bfin.c:1443 config/bfin/bfin.c:1450
+-#: config/bfin/bfin.c:1457 config/bfin/bfin.c:1466 config/bfin/bfin.c:1473
+-#: config/bfin/bfin.c:1480 config/bfin/bfin.c:1487
++#: config/bfin/bfin.c:1529 config/bfin/bfin.c:1536 config/bfin/bfin.c:1543
++#: config/bfin/bfin.c:1550 config/bfin/bfin.c:1559 config/bfin/bfin.c:1566
++#: config/bfin/bfin.c:1573 config/bfin/bfin.c:1580
+ #, c-format
+ msgid "invalid operand for code '%c'"
+ msgstr "terim, kod `%c' için geçersiz"
+@@ -2953,240 +2963,159 @@
+ msgid "missing operand"
+ msgstr "terim eksik"
+
+-#: config/avr/avr.c:1022
++#: config/avr/avr.c:1062
+ #, c-format
+ msgid "address operand requires constraint for X, Y, or Z register"
+ msgstr ""
+
+-#: config/avr/avr.c:1129
++#: config/avr/avr.c:1169
+ msgid "bad address, not (reg+disp):"
+ msgstr "hatalı adres, (reg+disp) değil:"
+
+-#: config/avr/avr.c:1136
++#: config/avr/avr.c:1176
+ msgid "bad address, not post_inc or pre_dec:"
+ msgstr "hatalı adres, post_inc veya pre_dec değil:"
+
+-#: config/avr/avr.c:1147
++#: config/avr/avr.c:1187
+ msgid "internal compiler error. Bad address:"
+ msgstr "derleyici iç hatası. Hatalı adres:"
+
+-#: config/avr/avr.c:1160
++#: config/avr/avr.c:1200
+ msgid "internal compiler error. Unknown mode:"
+ msgstr "Derleyici iç hatası. Bilinmeyen kip:"
+
+-#: config/avr/avr.c:1775 config/avr/avr.c:2463
++#: config/avr/avr.c:1815 config/avr/avr.c:2503
+ msgid "invalid insn:"
+ msgstr "geçersiz komut:"
+
+-#: config/avr/avr.c:1814 config/avr/avr.c:1900 config/avr/avr.c:1949
+-#: config/avr/avr.c:1977 config/avr/avr.c:2072 config/avr/avr.c:2241
+-#: config/avr/avr.c:2502 config/avr/avr.c:2614
++#: config/avr/avr.c:1854 config/avr/avr.c:1940 config/avr/avr.c:1989
++#: config/avr/avr.c:2017 config/avr/avr.c:2112 config/avr/avr.c:2281
++#: config/avr/avr.c:2542 config/avr/avr.c:2654
+ msgid "incorrect insn:"
+ msgstr "yanlış komut:"
+
+-#: config/avr/avr.c:1996 config/avr/avr.c:2157 config/avr/avr.c:2312
+-#: config/avr/avr.c:2680
++#: config/avr/avr.c:2036 config/avr/avr.c:2197 config/avr/avr.c:2352
++#: config/avr/avr.c:2720
+ msgid "unknown move insn:"
+ msgstr "bilinmeyen taşıma komutu:"
+
+-#: config/avr/avr.c:2910
++#: config/avr/avr.c:2950
+ msgid "bad shift insn:"
+ msgstr "hatalı kaydırma komutu:"
+
+-#: config/avr/avr.c:3026 config/avr/avr.c:3446 config/avr/avr.c:3804
++#: config/avr/avr.c:3066 config/avr/avr.c:3486 config/avr/avr.c:3844
+ msgid "internal compiler error. Incorrect shift:"
+ msgstr "derleyici iç hatası. Yanlış kaydırma:"
+
+-#: config/bfin/bfin.c:1385
++#: config/bfin/bfin.c:1478
+ #, c-format
+ msgid "invalid %%j value"
+ msgstr "%%j değeri geçersiz"
+
+-#: config/bfin/bfin.c:1578
++#: config/bfin/bfin.c:1671
+ #, c-format
+ msgid "invalid const_double operand"
+ msgstr "const_double terim geçersiz"
+
+-#: config/c4x/c4x.c:1583
+-msgid "using CONST_DOUBLE for address"
+-msgstr "adres için CONST_DOUBLE kullanılıyor"
+-
+-#: config/c4x/c4x.c:1721
+-msgid "c4x_address_cost: Invalid addressing mode"
+-msgstr "c4x_address_cost: Adresleme kipi geçersiz"
+-
+-#: config/c4x/c4x.c:1856
+-#, c-format
+-msgid "c4x_print_operand: %%L inconsistency"
+-msgstr "c4x_print_operand: %%L uyumsuzlugu"
+-
+-#: config/c4x/c4x.c:1862
+-#, c-format
+-msgid "c4x_print_operand: %%N inconsistency"
+-msgstr "c4x_print_operand: %%N uyumsuzlugu"
+-
+-#: config/c4x/c4x.c:1903
+-#, c-format
+-msgid "c4x_print_operand: %%O inconsistency"
+-msgstr "c4x_print_operand: %%O uyumsuzlugu"
+-
+-#: config/c4x/c4x.c:1998
+-msgid "c4x_print_operand: Bad operand case"
+-msgstr "c4x_print_operand: Hatalı terim case"
+-
+-#: config/c4x/c4x.c:2039
+-msgid "c4x_print_operand_address: Bad post_modify"
+-msgstr "c4x_print_operand_address: Hatalı post_modify"
+-
+-#: config/c4x/c4x.c:2061
+-msgid "c4x_print_operand_address: Bad pre_modify"
+-msgstr "c4x_print_operand_address: Hatalı pre_modify"
+-
+-#: config/c4x/c4x.c:2109 config/c4x/c4x.c:2121 config/c4x/c4x.c:2136
+-msgid "c4x_print_operand_address: Bad operand case"
+-msgstr "c4x_print_operand_address: Hatalı terim case"
+-
+-#: config/c4x/c4x.c:2387
+-msgid "c4x_rptb_insert: Cannot find start label"
+-msgstr "c4x_rptb_insert: Başlangic etiketi bulunamıyor"
+-
+-#: config/c4x/c4x.c:2985
+-msgid "invalid indirect memory address"
+-msgstr "geçersiz dolaylı bellek adresi"
+-
+-#: config/c4x/c4x.c:3074
+-msgid "invalid indirect (S) memory address"
+-msgstr "dolaylı (S) bellek adresi geçersiz"
+-
+-#: config/c4x/c4x.c:3409
+-msgid "c4x_valid_operands: Internal error"
+-msgstr "c4x_valid_operands: İç hata"
+-
+-#: config/c4x/c4x.c:3848
+-msgid "c4x_operand_subword: invalid mode"
+-msgstr "c4x_operand_subword: geçersiz kip"
+-
+-#: config/c4x/c4x.c:3851
+-msgid "c4x_operand_subword: invalid operand"
+-msgstr "c4x_operand_subword: geçersiz terim"
+-
+-#. We could handle these with some difficulty.
+-#. e.g., *p-- => *(p-=2); *(p+1).
+-#: config/c4x/c4x.c:3877
+-msgid "c4x_operand_subword: invalid autoincrement"
+-msgstr "c4x_operand_subword: otomatik arttırma geçersiz"
+-
+-#: config/c4x/c4x.c:3883
+-msgid "c4x_operand_subword: invalid address"
+-msgstr "c4x_operand_subword: geçersiz adres"
+-
+-#: config/c4x/c4x.c:3894
+-msgid "c4x_operand_subword: address not offsettable"
+-msgstr "c4x_operand_subword: adres konumlanabilir deÄŸil"
+-
+-#: config/c4x/c4x.c:4096
+-msgid "c4x_rptb_rpts_p: Repeat block top label moved"
+-msgstr "c4x_rptb_rpts_p: Tekrar bloku tepe etiketi taşındı"
+-
+ #. Use `%s' to print the string in case there are any escape
+ #. characters in the message.
+-#: config/cris/cris.c:491 fortran/dump-parse-tree.c:78
+-#: fortran/dump-parse-tree.c:430 fortran/dump-parse-tree.c:776
+-#: fortran/dump-parse-tree.c:821 c-typeck.c:4607 c-typeck.c:4622
+-#: c-typeck.c:4637 final.c:2984 final.c:2986 gcc.c:4737 loop-iv.c:2807
+-#: loop-iv.c:2816 rtl-error.c:112 toplev.c:610 tree-ssa-loop-niter.c:1829
+-#: cp/parser.c:2188 cp/typeck.c:4559 java/expr.c:409
++#: config/cris/cris.c:504 fortran/dump-parse-tree.c:78
++#: fortran/dump-parse-tree.c:430 fortran/dump-parse-tree.c:798
++#: fortran/dump-parse-tree.c:843 c-typeck.c:4618 c-typeck.c:4633
++#: c-typeck.c:4648 final.c:2997 final.c:2999 gcc.c:4731 loop-iv.c:2808
++#: loop-iv.c:2817 rtl-error.c:112 toplev.c:610 tree-ssa-loop-niter.c:1829
++#: cp/parser.c:2192 cp/typeck.c:4567 java/expr.c:409
+ #, gcc-internal-format
+ msgid "%s"
+ msgstr "%s"
+
+-#: config/cris/cris.c:542
++#: config/cris/cris.c:555
+ msgid "unexpected index-type in cris_print_index"
+ msgstr "cris_print_index içinde umulmayan indis türü"
+
+-#: config/cris/cris.c:556
++#: config/cris/cris.c:572
+ msgid "unexpected base-type in cris_print_base"
+ msgstr "cris_print_base içinde beklenmeyen taban türü"
+
+-#: config/cris/cris.c:672
++#: config/cris/cris.c:688
+ msgid "invalid operand for 'b' modifier"
+ msgstr "'b' değiştirici için terim geçersiz"
+
+-#: config/cris/cris.c:689
++#: config/cris/cris.c:705
+ msgid "invalid operand for 'o' modifier"
+ msgstr "'o' değiştiricisi için terim geçersiz"
+
+-#: config/cris/cris.c:708
++#: config/cris/cris.c:724
+ msgid "invalid operand for 'O' modifier"
+ msgstr "'O' değiştiricisi için terim geçersiz"
+
+-#: config/cris/cris.c:741
++#: config/cris/cris.c:757
+ msgid "invalid operand for 'p' modifier"
+ msgstr "'p' değiştirici için terim geçersiz"
+
+-#: config/cris/cris.c:780
++#: config/cris/cris.c:796
+ msgid "invalid operand for 'z' modifier"
+ msgstr "'z' değiştirici için terim geçersiz"
+
+-#: config/cris/cris.c:834 config/cris/cris.c:864
++#: config/cris/cris.c:860 config/cris/cris.c:894
+ msgid "invalid operand for 'H' modifier"
+ msgstr "'H' değiştirici için terim geçersiz"
+
+-#: config/cris/cris.c:840
++#: config/cris/cris.c:870
+ msgid "bad register"
+ msgstr "yazmaç hatalı"
+
+-#: config/cris/cris.c:884
++#: config/cris/cris.c:914
+ msgid "invalid operand for 'e' modifier"
+ msgstr "'e' değiştirici için terim geçersiz"
+
+-#: config/cris/cris.c:901
++#: config/cris/cris.c:931
+ msgid "invalid operand for 'm' modifier"
+ msgstr "'m' değiştirici için terim geçersiz"
+
+-#: config/cris/cris.c:926
++#: config/cris/cris.c:956
+ msgid "invalid operand for 'A' modifier"
+ msgstr "'A' değiştirici için terim geçersiz"
+
+-#: config/cris/cris.c:949
++#: config/cris/cris.c:979
+ msgid "invalid operand for 'D' modifier"
+ msgstr "'D' değiştirici için terim geçersiz"
+
+-#: config/cris/cris.c:963
++#: config/cris/cris.c:993
+ msgid "invalid operand for 'T' modifier"
+ msgstr "'T' değiştirici için terim geçersiz"
+
+-#: config/cris/cris.c:972
++#: config/cris/cris.c:1013
+ msgid "invalid operand modifier letter"
+ msgstr "terim değiştirici harfi geçersiz"
+
+-#: config/cris/cris.c:1029
++#: config/cris/cris.c:1070
+ msgid "unexpected multiplicative operand"
+ msgstr "umulmayan çarpımsal terim"
+
+-#: config/cris/cris.c:1049
++#: config/cris/cris.c:1090
+ msgid "unexpected operand"
+ msgstr "beklenmeyen terim"
+
+-#: config/cris/cris.c:1082 config/cris/cris.c:1092
++#: config/cris/cris.c:1123 config/cris/cris.c:1133
+ msgid "unrecognized address"
+ msgstr "tanınmayan adres"
+
+-#: config/cris/cris.c:2019
++#: config/cris/cris.c:2209
+ msgid "unrecognized supposed constant"
+ msgstr "tanınmayan tahmini sabit"
+
+-#: config/cris/cris.c:2394 config/cris/cris.c:2458
++#: config/cris/cris.c:2638 config/cris/cris.c:2702
+ msgid "unexpected side-effects in address"
+ msgstr "adreste beklenmeyen yan etkiler"
+
+ #. Can't possibly get a GOT-needing-fixup for a function-call,
+ #. right?
+-#: config/cris/cris.c:3253
++#: config/cris/cris.c:3539
+ msgid "Unidentifiable call op"
+ msgstr "Tanımlanamayabilen çağrı işlemi"
+
+-#: config/cris/cris.c:3304
++#: config/cris/cris.c:3590
+ #, c-format
+ msgid "PIC register isn't set up"
+ msgstr "PIC yazmacı ayarlı değil"
+@@ -3237,81 +3166,81 @@
+ msgid "fr30_print_operand: unhandled MEM"
+ msgstr "fr30_print_operand: çalışılamayan MEM"
+
+-#: config/frv/frv.c:2542
++#: config/frv/frv.c:2546
+ msgid "bad insn to frv_print_operand_address:"
+ msgstr "frv_print_operand_address için hatalı komut:"
+
+-#: config/frv/frv.c:2553
++#: config/frv/frv.c:2557
+ msgid "bad register to frv_print_operand_memory_reference_reg:"
+ msgstr "frv_print_operand_memory_reference_reg için hatalı yazmaç:"
+
+-#: config/frv/frv.c:2592 config/frv/frv.c:2602 config/frv/frv.c:2611
+-#: config/frv/frv.c:2632 config/frv/frv.c:2637
++#: config/frv/frv.c:2596 config/frv/frv.c:2606 config/frv/frv.c:2615
++#: config/frv/frv.c:2636 config/frv/frv.c:2641
+ msgid "bad insn to frv_print_operand_memory_reference:"
+ msgstr "frv_print_operand_memory_reference için hatalı komut:"
+
+-#: config/frv/frv.c:2723
++#: config/frv/frv.c:2727
+ #, c-format
+ msgid "bad condition code"
+ msgstr "hatalı koşul kodu"
+
+-#: config/frv/frv.c:2798
++#: config/frv/frv.c:2802
+ msgid "bad insn in frv_print_operand, bad const_double"
+ msgstr "frv_print_operand içinde hatalı komut, const_double hatalı"
+
+-#: config/frv/frv.c:2859
++#: config/frv/frv.c:2863
+ msgid "bad insn to frv_print_operand, 'e' modifier:"
+ msgstr "frv_print_operand, 'e' değiştiricisi için hatalı komut:"
+
+-#: config/frv/frv.c:2867
++#: config/frv/frv.c:2871
+ msgid "bad insn to frv_print_operand, 'F' modifier:"
+ msgstr "frv_print_operand, 'F' değiştiricisi için hatalı komut:"
+
+-#: config/frv/frv.c:2883
++#: config/frv/frv.c:2887
+ msgid "bad insn to frv_print_operand, 'f' modifier:"
+ msgstr "frv_print_operand, 'f' değiştiricisi için hatalı komut:"
+
+-#: config/frv/frv.c:2897
++#: config/frv/frv.c:2901
+ msgid "bad insn to frv_print_operand, 'g' modifier:"
+ msgstr "frv_print_operand, 'g' değiştiricisi için hatalı komut:"
+
+-#: config/frv/frv.c:2945
++#: config/frv/frv.c:2949
+ msgid "bad insn to frv_print_operand, 'L' modifier:"
+ msgstr "frv_print_operand, 'L' değiştiricisi için hatalı komut:"
+
+-#: config/frv/frv.c:2958
++#: config/frv/frv.c:2962
+ msgid "bad insn to frv_print_operand, 'M/N' modifier:"
+ msgstr "frv_print_operand, 'M/N' değiştiricisi için hatalı komut:"
+
+-#: config/frv/frv.c:2979
++#: config/frv/frv.c:2983
+ msgid "bad insn to frv_print_operand, 'O' modifier:"
+ msgstr "frv_print_operand, 'O' değiştiricisi için hatalı komut:"
+
+-#: config/frv/frv.c:2997
++#: config/frv/frv.c:3001
+ msgid "bad insn to frv_print_operand, P modifier:"
+ msgstr "frv_print_operand, P değiştiricisi için hatalı komut:"
+
+-#: config/frv/frv.c:3017
++#: config/frv/frv.c:3021
+ msgid "bad insn in frv_print_operand, z case"
+ msgstr "frv_print_operand, z case içinde hatalı komut"
+
+-#: config/frv/frv.c:3048
++#: config/frv/frv.c:3052
+ msgid "bad insn in frv_print_operand, 0 case"
+ msgstr "frv_print_operand, 0 case içinde hatalı komut"
+
+-#: config/frv/frv.c:3053
++#: config/frv/frv.c:3057
+ msgid "frv_print_operand: unknown code"
+ msgstr "frv_print_operand: bilinmeyen kod"
+
+-#: config/frv/frv.c:4422
++#: config/frv/frv.c:4426
+ msgid "bad output_move_single operand"
+ msgstr "output_move_single terimi hatalı"
+
+-#: config/frv/frv.c:4549
++#: config/frv/frv.c:4553
+ msgid "bad output_move_double operand"
+ msgstr "output_move_double terimi hatalı"
+
+-#: config/frv/frv.c:4691
++#: config/frv/frv.c:4695
+ msgid "bad output_condmove_single operand"
+ msgstr "output_condmove_single terimi hatalı"
+
+@@ -3329,27 +3258,27 @@
+ msgid " (frv)"
+ msgstr " (frv)"
+
+-#: config/i386/i386.c:8218
++#: config/i386/i386.c:8273
+ #, c-format
+ msgid "invalid UNSPEC as operand"
+ msgstr "terim olarak UNSPEC geçersiz"
+
+-#: config/i386/i386.c:8924
++#: config/i386/i386.c:8979
+ #, c-format
+ msgid "operand is neither a constant nor 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.c:9040
++#: config/i386/i386.c:9095
+ #, c-format
+ msgid "invalid operand code '%c'"
+ msgstr "terim kodu `%c' geçersiz"
+
+-#: config/i386/i386.c:9089
++#: config/i386/i386.c:9144
+ #, c-format
+ msgid "invalid constraints for operand"
+ msgstr "kısıtlar terim için geçersiz"
+
+-#: config/i386/i386.c:16348
++#: config/i386/i386.c:16423
+ msgid "unknown insn mode"
+ msgstr "bilinmeyen komut kipi"
+
+@@ -3370,34 +3299,34 @@
+ msgid "environment variable DJGPP points to corrupt file '%s'"
+ msgstr "ortam değişkeni DJGPP bozuk '%s' dosyasını gösteriyor"
+
+-#: config/ia64/ia64.c:4770
++#: config/ia64/ia64.c:4771
+ #, c-format
+ msgid "ia64_print_operand: unknown code"
+ msgstr "ia64_print_operand: bilinmeyen kod"
+
+-#: config/ia64/ia64.c:9889
++#: config/ia64/ia64.c:9890
+ msgid "invalid conversion from %<__fpreg%>"
+ msgstr "%<__fpreg%> türünden dönüşüm geçersiz"
+
+-#: config/ia64/ia64.c:9892
++#: config/ia64/ia64.c:9893
+ msgid "invalid conversion to %<__fpreg%>"
+ msgstr "%<__fpreg%> türüne dönüşüm geçersiz"
+
+-#: config/ia64/ia64.c:9905 config/ia64/ia64.c:9916
++#: config/ia64/ia64.c:9906 config/ia64/ia64.c:9917
+ msgid "invalid operation on %<__fpreg%>"
+ msgstr "%<__fpreg%> üzerinde geçersiz işlem"
+
+-#: config/iq2000/iq2000.c:3118
++#: config/iq2000/iq2000.c:3122
+ #, c-format
+ msgid "invalid %%P operand"
+ msgstr "%%P terimi geçersiz"
+
+-#: config/iq2000/iq2000.c:3126 config/rs6000/rs6000.c:11607
++#: config/iq2000/iq2000.c:3130 config/rs6000/rs6000.c:11818
+ #, c-format
+ msgid "invalid %%p value"
+ msgstr "%%p değeri geçersiz"
+
+-#: config/iq2000/iq2000.c:3182
++#: config/iq2000/iq2000.c:3186
+ #, c-format
+ msgid "invalid use of %%d, %%x, or %%X"
+ msgstr "%%d, %%x, ya da %%X kullanımı geçersiz"
+@@ -3439,7 +3368,7 @@
+ msgstr "sonradan arttırımlı adres bir yazmaç değil"
+
+ #: config/m32r/m32r.c:2030 config/m32r/m32r.c:2044
+-#: config/rs6000/rs6000.c:19870
++#: config/rs6000/rs6000.c:20087
+ msgid "bad address"
+ msgstr "hatalı adres"
+
+@@ -3485,59 +3414,59 @@
+ msgid "invalid Z register replacement for insn"
+ msgstr "komut için Z yazmaç yer değiştirmesi geçersiz"
+
+-#: config/mips/mips.c:6313 config/mips/mips.c:6334 config/mips/mips.c:6438
++#: config/mips/mips.c:6371 config/mips/mips.c:6392 config/mips/mips.c:6496
+ #, fuzzy, c-format
+ msgid "'%%%c' is not a valid operand prefix"
+ msgstr "'%s' geçerli bir sınıf ismi değil"
+
+-#: config/mips/mips.c:6382 config/mips/mips.c:6389 config/mips/mips.c:6396
+-#: config/mips/mips.c:6456
++#: config/mips/mips.c:6440 config/mips/mips.c:6447 config/mips/mips.c:6454
++#: config/mips/mips.c:6514
+ #, fuzzy, c-format
+ msgid "invalid use of '%%%c'"
+ msgstr "%qD kullanımı geçersiz"
+
+-#: config/mips/mips.c:6701
++#: config/mips/mips.c:6761
+ msgid "mips_debugger_offset called with non stack/frame/arg pointer"
+ msgstr "stack/frame/arg göstericisi olmadan mips_debugger_offset çağrısı"
+
+-#: config/mmix/mmix.c:1487 config/mmix/mmix.c:1617
++#: config/mmix/mmix.c:1483 config/mmix/mmix.c:1613
+ msgid "MMIX Internal: Expected a CONST_INT, not this"
+ msgstr "MMIX Dahili: Bu deÄŸil, bir CONST_INT bekleniyor"
+
+-#: config/mmix/mmix.c:1566
++#: config/mmix/mmix.c:1562
+ msgid "MMIX Internal: Bad value for 'm', not a CONST_INT"
+ msgstr "MMIX Dahili: 'm' için hatalı değer, bu bir CONST_INT değil"
+
+-#: config/mmix/mmix.c:1585
++#: config/mmix/mmix.c:1581
+ msgid "MMIX Internal: Expected a register, not this"
+ msgstr "MMIX Dahili: Bu değil, bir yazmaç bekleniyor"
+
+-#: config/mmix/mmix.c:1595
++#: config/mmix/mmix.c:1591
+ msgid "MMIX Internal: Expected a constant, not this"
+ msgstr "MMIX Dahili: Bu deÄŸil, bir sabit bekleniyor"
+
+ #. We need the original here.
+-#: config/mmix/mmix.c:1679
++#: config/mmix/mmix.c:1675
+ msgid "MMIX Internal: Cannot decode this operand"
+ msgstr "MMIX Dahili: Bu terim iÅŸlenemez"
+
+-#: config/mmix/mmix.c:1736
++#: config/mmix/mmix.c:1732
+ msgid "MMIX Internal: This is not a recognized address"
+ msgstr "MMIX Dahili: Bu bilinen bir adres deÄŸil"
+
+-#: config/mmix/mmix.c:2669
++#: config/mmix/mmix.c:2665
+ msgid "MMIX Internal: Trying to output invalidly reversed condition:"
+ msgstr "MMIX Dahili: Geçersiz olarak ters çeviren koşul çıktılanmaya çalışılıyor:"
+
+-#: config/mmix/mmix.c:2676
++#: config/mmix/mmix.c:2672
+ msgid "MMIX Internal: What's the CC of this?"
+ msgstr "MMIX Dahili: Bunun CC'si nedir?"
+
+-#: config/mmix/mmix.c:2680
++#: config/mmix/mmix.c:2676
+ msgid "MMIX Internal: What is the CC of this?"
+ msgstr "MMIX Dahili: Bunun CC'si nedir?"
+
+-#: config/mmix/mmix.c:2744
++#: config/mmix/mmix.c:2740
+ msgid "MMIX Internal: This is not a constant:"
+ msgstr "MMIX Dahili: Bu bir sabit deÄŸil:"
+
+@@ -3563,81 +3492,81 @@
+ msgid "Try running '%s' in the shell to raise its limit.\n"
+ msgstr "Sınırını belirlemek için kabukta `%s' çalıştırmayı deneyin.\n"
+
+-#: config/rs6000/rs6000.c:11434
++#: config/rs6000/rs6000.c:11645
+ #, c-format
+ msgid "invalid %%f value"
+ msgstr "%%f değeri geçersiz"
+
+-#: config/rs6000/rs6000.c:11443
++#: config/rs6000/rs6000.c:11654
+ #, c-format
+ msgid "invalid %%F value"
+ msgstr "%%F değeri geçersiz"
+
+-#: config/rs6000/rs6000.c:11452
++#: config/rs6000/rs6000.c:11663
+ #, c-format
+ msgid "invalid %%G value"
+ msgstr "%%G değeri geçersiz"
+
+-#: config/rs6000/rs6000.c:11487
++#: config/rs6000/rs6000.c:11698
+ #, c-format
+ msgid "invalid %%j code"
+ msgstr "%%j kodu geçersiz"
+
+-#: config/rs6000/rs6000.c:11497
++#: config/rs6000/rs6000.c:11708
+ #, c-format
+ msgid "invalid %%J code"
+ msgstr "%%J kodu geçersiz"
+
+-#: config/rs6000/rs6000.c:11507
++#: config/rs6000/rs6000.c:11718
+ #, c-format
+ msgid "invalid %%k value"
+ msgstr "%%k değeri geçersiz"
+
+-#: config/rs6000/rs6000.c:11527 config/xtensa/xtensa.c:2022
++#: config/rs6000/rs6000.c:11738 config/xtensa/xtensa.c:2028
+ #, c-format
+ msgid "invalid %%K value"
+ msgstr "%%K değeri geçersiz"
+
+-#: config/rs6000/rs6000.c:11597
++#: config/rs6000/rs6000.c:11808
+ #, c-format
+ msgid "invalid %%O value"
+ msgstr "%%O değeri geçersiz"
+
+-#: config/rs6000/rs6000.c:11644
++#: config/rs6000/rs6000.c:11855
+ #, c-format
+ msgid "invalid %%q value"
+ msgstr "%%q değeri geçersiz"
+
+-#: config/rs6000/rs6000.c:11688
++#: config/rs6000/rs6000.c:11899
+ #, c-format
+ msgid "invalid %%S value"
+ msgstr "%%S değeri geçersiz"
+
+-#: config/rs6000/rs6000.c:11728
++#: config/rs6000/rs6000.c:11939
+ #, c-format
+ msgid "invalid %%T value"
+ msgstr "%%T değeri geçersiz"
+
+-#: config/rs6000/rs6000.c:11738
++#: config/rs6000/rs6000.c:11949
+ #, c-format
+ msgid "invalid %%u value"
+ msgstr "%%u değeri geçersiz"
+
+-#: config/rs6000/rs6000.c:11747 config/xtensa/xtensa.c:1992
++#: config/rs6000/rs6000.c:11958 config/xtensa/xtensa.c:1998
+ #, c-format
+ msgid "invalid %%v value"
+ msgstr "%%v değeri geçersiz"
+
+-#: config/rs6000/rs6000.c:21768
++#: config/rs6000/rs6000.c:21946
+ msgid "AltiVec argument passed to unprototyped function"
+ msgstr "AltiVec argümanı prototipsiz işleve aktarıldı"
+
+-#: config/s390/s390.c:4561
++#: config/s390/s390.c:4560
+ #, c-format
+ msgid "cannot decompose address"
+ msgstr "adres çözümlenemez"
+
+-#: config/s390/s390.c:4771
++#: config/s390/s390.c:4770
+ msgid "UNKNOWN in print_operand !?"
+ msgstr "print_operand da BiLiNMEYEN !?"
+
+@@ -3647,89 +3576,89 @@
+ msgid "invalid operand for code: '%c'"
+ msgstr "terim, kod `%c' için geçersiz"
+
+-#: config/sh/sh.c:746
++#: config/sh/sh.c:749
+ #, c-format
+ msgid "invalid operand to %%R"
+ msgstr "%%R için terim geçersiz"
+
+-#: config/sh/sh.c:773
++#: config/sh/sh.c:776
+ #, c-format
+ msgid "invalid operand to %%S"
+ msgstr "%%S için terim geçersiz"
+
+-#: config/sh/sh.c:8095
++#: config/sh/sh.c:8098
+ msgid "created and used with different architectures / ABIs"
+ msgstr "farklı ABI/mimarilerle oluşturulup kullanılmış"
+
+-#: config/sh/sh.c:8097
++#: config/sh/sh.c:8100
+ msgid "created and used with different ABIs"
+ msgstr "farklı ABI'lerle oluşturulup kullanılmış"
+
+-#: config/sh/sh.c:8099
++#: config/sh/sh.c:8102
+ msgid "created and used with different endianness"
+ msgstr "farklı bayt sıralaması ile oluşturulup kullanılmış"
+
+-#: config/sparc/sparc.c:6803 config/sparc/sparc.c:6809
++#: config/sparc/sparc.c:6806 config/sparc/sparc.c:6812
+ #, c-format
+ msgid "invalid %%Y operand"
+ msgstr "geçersiz %%Y terimi"
+
+-#: config/sparc/sparc.c:6879
++#: config/sparc/sparc.c:6882
+ #, c-format
+ msgid "invalid %%A operand"
+ msgstr "geçersiz %%A terimi"
+
+-#: config/sparc/sparc.c:6889
++#: config/sparc/sparc.c:6892
+ #, c-format
+ msgid "invalid %%B operand"
+ msgstr "geçersiz %%B terimi"
+
+-#: config/sparc/sparc.c:6928
++#: config/sparc/sparc.c:6931
+ #, c-format
+ msgid "invalid %%c operand"
+ msgstr "geçersiz %%c terimi"
+
+-#: config/sparc/sparc.c:6950
++#: config/sparc/sparc.c:6953
+ #, c-format
+ msgid "invalid %%d operand"
+ msgstr "geçersiz %%d terimi"
+
+-#: config/sparc/sparc.c:6967
++#: config/sparc/sparc.c:6970
+ #, c-format
+ msgid "invalid %%f operand"
+ msgstr "geçersiz %%f terimi"
+
+-#: config/sparc/sparc.c:6981
++#: config/sparc/sparc.c:6984
+ #, c-format
+ msgid "invalid %%s operand"
+ msgstr "geçersiz %%s terimi"
+
+-#: config/sparc/sparc.c:7035
++#: config/sparc/sparc.c:7038
+ #, c-format
+ msgid "long long constant not a valid immediate operand"
+ msgstr "long long sabit geçerli bir anlık terim değil"
+
+-#: config/sparc/sparc.c:7038
++#: config/sparc/sparc.c:7041
+ #, c-format
+ msgid "floating point constant not a valid immediate operand"
+ msgstr "gerçel sayı sabit geçerli bir anlık terim değil"
+
+-#: config/stormy16/stormy16.c:1775 config/stormy16/stormy16.c:1846
++#: config/stormy16/stormy16.c:1748 config/stormy16/stormy16.c:1819
+ #, c-format
+ msgid "'B' operand is not constant"
+ msgstr "`B' terimi sabit deÄŸil"
+
+-#: config/stormy16/stormy16.c:1802
++#: config/stormy16/stormy16.c:1775
+ #, c-format
+ msgid "'B' operand has multiple bits set"
+ msgstr "`B' terimi çoklu bit kümesi içeriyor"
+
+-#: config/stormy16/stormy16.c:1828
++#: config/stormy16/stormy16.c:1801
+ #, c-format
+ msgid "'o' operand is not constant"
+ msgstr "`o' terimi sabit deÄŸil"
+
+-#: config/stormy16/stormy16.c:1860
++#: config/stormy16/stormy16.c:1833
+ #, c-format
+ msgid "xstormy16_print_operand: unknown code"
+ msgstr "xstormy16_print_operand: kod bilinmiyor"
+@@ -3742,56 +3671,56 @@
+ msgid "output_move_single:"
+ msgstr "output_move_single:"
+
+-#: config/xtensa/xtensa.c:652 config/xtensa/xtensa.c:684
+-#: config/xtensa/xtensa.c:693
++#: config/xtensa/xtensa.c:656 config/xtensa/xtensa.c:688
++#: config/xtensa/xtensa.c:697
+ msgid "bad test"
+ msgstr "hatalı test"
+
+-#: config/xtensa/xtensa.c:1980
++#: config/xtensa/xtensa.c:1986
+ #, c-format
+ msgid "invalid %%D value"
+ msgstr "%%D değeri geçersiz"
+
+-#: config/xtensa/xtensa.c:2017
++#: config/xtensa/xtensa.c:2023
+ msgid "invalid mask"
+ msgstr "mask geçersiz"
+
+-#: config/xtensa/xtensa.c:2043
++#: config/xtensa/xtensa.c:2049
+ #, c-format
+ msgid "invalid %%x value"
+ msgstr "%%x değeri geçersiz"
+
+-#: config/xtensa/xtensa.c:2050
++#: config/xtensa/xtensa.c:2056
+ #, c-format
+ msgid "invalid %%d value"
+ msgstr "%%d değeri geçersiz"
+
+-#: config/xtensa/xtensa.c:2071 config/xtensa/xtensa.c:2081
++#: config/xtensa/xtensa.c:2077 config/xtensa/xtensa.c:2087
+ #, c-format
+ msgid "invalid %%t/%%b value"
+ msgstr "%%t/%%b değeri geçersiz"
+
+-#: config/xtensa/xtensa.c:2123
++#: config/xtensa/xtensa.c:2129
+ msgid "invalid address"
+ msgstr "adres geçersiz"
+
+-#: config/xtensa/xtensa.c:2148
++#: config/xtensa/xtensa.c:2154
+ msgid "no register in address"
+ msgstr "adreste yazmaç yok"
+
+-#: config/xtensa/xtensa.c:2156
++#: config/xtensa/xtensa.c:2162
+ msgid "address offset not a constant"
+ msgstr "adres mesafesi bir sabit deÄŸil"
+
+-#: cp/call.c:2514
++#: cp/call.c:2500
+ msgid "candidates are:"
+ msgstr "adaylar:"
+
+-#: cp/call.c:6463
++#: cp/call.c:6487
+ msgid "candidate 1:"
+ msgstr "1. aday:"
+
+-#: cp/call.c:6464
++#: cp/call.c:6488
+ msgid "candidate 2:"
+ msgstr "2. aday:"
+
+@@ -3836,52 +3765,52 @@
+ msgid "Integer outside symmetric range implied by Standard Fortran at %L"
+ msgstr "%L'de tamsayı Standart Fortran tarafından belirtilmiş simetrik aralığın dışında"
+
+-#: fortran/arith.c:1425
++#: fortran/arith.c:1472
+ #, fuzzy
+ msgid "elemental binary operation"
+ msgstr "Öğesel ikilik işlem"
+
+-#: fortran/arith.c:1997
++#: fortran/arith.c:2044
+ #, no-c-format
+ msgid "Arithmetic OK converting %s to %s at %L"
+ msgstr "%s ile %s arasındaki dönüşümde %L için aritmetik olumlama"
+
+-#: fortran/arith.c:2001
++#: fortran/arith.c:2048
+ #, no-c-format
+ msgid "Arithmetic overflow converting %s to %s at %L. This check can be disabled with the option -fno-range-check"
+ msgstr ""
+
+-#: fortran/arith.c:2006
++#: fortran/arith.c:2053
+ #, no-c-format
+ msgid "Arithmetic underflow converting %s to %s at %L"
+ msgstr "%s ile %s arasındaki dönüşümde %L için aritmetik alttan taşma"
+
+-#: fortran/arith.c:2010
++#: fortran/arith.c:2057
+ #, no-c-format
+ msgid "Arithmetic NaN converting %s to %s at %L"
+ msgstr "%s ile %s arasındaki dönüşümde %L için aritmetik NaN"
+
+-#: fortran/arith.c:2014
++#: fortran/arith.c:2061
+ #, no-c-format
+ msgid "Division by zero converting %s to %s at %L"
+ msgstr "%s ile %s arasındaki dönüşümde %L için sıfırla bölme"
+
+-#: fortran/arith.c:2018
++#: fortran/arith.c:2065
+ #, no-c-format
+ msgid "Array operands are incommensurate converting %s to %s at %L"
+ msgstr "%s ile %s arasındaki dönüşümde %L için dizi terimleri kıyas kabul etmez"
+
+-#: fortran/arith.c:2022
++#: fortran/arith.c:2069
+ #, no-c-format
+ msgid "Integer outside symmetric range implied by Standard Fortran converting %s to %s at %L"
+ msgstr "%s ile %s arasındaki dönüşümde, %L'de Standart Fortran tarafından belirtilmiş simetrik aralığın dışında tamsayı"
+
+-#: fortran/arith.c:2355
++#: fortran/arith.c:2402
+ #, no-c-format
+ msgid "The Hollerith constant at %L is too long to convert to %s"
+ msgstr "%L'deki Hollerith sabiti %s'e dönüşüm için çok uzun"
+
+-#: fortran/arith.c:2513
++#: fortran/arith.c:2560
+ #, no-c-format
+ msgid "Enumerator exceeds the C integer type at %C"
+ msgstr "Sayısal sabitler %C'de C tamsayı türünü aşıyor"
+@@ -3911,72 +3840,72 @@
+ msgid "Variable '%s' at %L in this context must be constant"
+ msgstr "Bu bağlamda '%s' değişkeni %L'de bir sabit olmalı"
+
+-#: fortran/array.c:299
++#: fortran/array.c:314
+ #, no-c-format
+ msgid "Expected expression in array specification at %C"
+ msgstr "%C'deki dizi belirtiminde ifade umuluyor"
+
+-#: fortran/array.c:386
++#: fortran/array.c:392
+ #, no-c-format
+ msgid "Bad array specification for an explicitly shaped array at %C"
+ msgstr "%C'de alenen biçimlenmiş dizi için dizi belirtimi geçersiz"
+
+-#: fortran/array.c:396
++#: fortran/array.c:402
+ #, no-c-format
+ msgid "Bad array specification for assumed shape array at %C"
+ msgstr "%C'deki tahmini biçimli dizi için dizi belirtimi hatalı"
+
+-#: fortran/array.c:410
++#: fortran/array.c:416
+ #, no-c-format
+ msgid "Bad specification for deferred shape array at %C"
+ msgstr "%C'deki ertelenmiş biçimli dizi için belirtim hatalı"
+
+-#: fortran/array.c:414
++#: fortran/array.c:420
+ #, no-c-format
+ msgid "Bad specification for assumed size array at %C"
+ msgstr "%C'deki tahmini boyutlu dizi için belirtim hatalı"
+
+-#: fortran/array.c:423
++#: fortran/array.c:429
+ #, no-c-format
+ msgid "Expected another dimension in array declaration at %C"
+ msgstr "%C'deki dizi bildiriminde farklı bir boyut umuluyordu"
+
+-#: fortran/array.c:429
++#: fortran/array.c:435
+ #, no-c-format
+ msgid "Array specification at %C has more than %d dimensions"
+ msgstr "%C'deki dizi belirtimi %d boyuttan fazlasına sahip"
+
+-#: fortran/array.c:635
++#: fortran/array.c:641
+ #, no-c-format
+ msgid "duplicated initializer"
+ msgstr "yinelenmiÅŸ ilklendirici"
+
+-#: fortran/array.c:727
++#: fortran/array.c:733
+ #, no-c-format
+ msgid "DO-iterator '%s' at %L is inside iterator of the same name"
+ msgstr "DO yineleyicisi '%s' %L'de aynı isimli yineleyicinin içinde"
+
+-#: fortran/array.c:829 fortran/array.c:938
++#: fortran/array.c:835 fortran/array.c:944
+ #, no-c-format
+ msgid "Syntax error in array constructor at %C"
+ msgstr "%C'deki dizi kurucuda sözdizimi hatası"
+
+-#: fortran/array.c:884
++#: fortran/array.c:890
+ #, fuzzy, no-c-format
+ msgid "Fortran 2003: [...] style array constructors at %C"
+ msgstr "Fortran 2003'te yeni: %C'de [...] tarzı dizi kurucular"
+
+-#: fortran/array.c:898
++#: fortran/array.c:904
+ #, no-c-format
+ msgid "Empty array constructor at %C is not allowed"
+ msgstr "%C'de boÅŸ dizi kurucuya izin verilmiyor"
+
+-#: fortran/array.c:982
++#: fortran/array.c:988
+ #, no-c-format
+ msgid "Element in %s array constructor at %L is %s"
+ msgstr "%s dizi kurucudaki öğe (%L'deki) %s"
+
+-#: fortran/array.c:1309
++#: fortran/array.c:1315
+ #, no-c-format
+ msgid "Iterator step at %L cannot be zero"
+ msgstr "%L'deki yineleyici adımı sıfır olamaz"
+@@ -3996,7 +3925,7 @@
+ msgid "'%s' argument of '%s' intrinsic at %L must be a numeric type"
+ msgstr "`%s' argümanı `%s' yerleşiği için (%L'de) sayısal bir tür olmalı"
+
+-#: fortran/check.c:101 fortran/check.c:817 fortran/check.c:827
++#: fortran/check.c:101 fortran/check.c:810 fortran/check.c:820
+ #, no-c-format
+ msgid "'%s' argument of '%s' intrinsic at %L must be INTEGER or REAL"
+ msgstr "`%s' argümanı `%s' yerleşiği için (%L'de) INTEGER veya REAL olmalı"
+@@ -4061,220 +3990,215 @@
+ msgid "'%s' argument of '%s' intrinsic at %L must be a variable"
+ msgstr "`%s' argümanı `%s' yerleşiği için (%L'de) bir değişken olmalı"
+
+-#: fortran/check.c:320
++#: fortran/check.c:356
+ #, no-c-format
+-msgid "Missing DIM parameter in intrinsic '%s' at %L"
+-msgstr "'%s' yerleÅŸiÄŸindeki DIM parametresi eksik (%L'de)"
+-
+-#: fortran/check.c:363
+-#, no-c-format
+ msgid "'dim' argument of '%s' intrinsic at %L is not a valid dimension index"
+ msgstr "`dim' argümanı `%s' yerleşiği için (%L'de) geçerli bir boyut indisi değil"
+
+-#: fortran/check.c:433
++#: fortran/check.c:426
+ #, fuzzy, no-c-format
+ msgid "Unequal character lengths (%ld and %ld) in %s intrinsic at %L"
+ msgstr "%L'deki gösterici atamasında farklı karakter uzunlukları"
+
+-#: fortran/check.c:535 fortran/check.c:1938 fortran/check.c:1953
++#: fortran/check.c:528 fortran/check.c:1932 fortran/check.c:1947
+ #, no-c-format
+ msgid "'%s' argument of '%s' intrinsic at %L must be ALLOCATABLE"
+ msgstr "`%s' argümanı `%s' yerleşiği için (%L'de) ALLOCATABLE olmalı"
+
+-#: fortran/check.c:559 fortran/check.c:3703
++#: fortran/check.c:552 fortran/check.c:3697
+ #, no-c-format
+ msgid "'%s' and '%s' arguments of '%s' intrinsic at %L must have the same type"
+ msgstr "`%s' ve '%s' argümanları `%s' yerleşiği için (%L'de) aynı türde olmalı"
+
+-#: fortran/check.c:568 fortran/check.c:1143 fortran/check.c:1286
+-#: fortran/check.c:1360 fortran/check.c:1616
++#: fortran/check.c:561 fortran/check.c:1137 fortran/check.c:1280
++#: fortran/check.c:1354 fortran/check.c:1610
+ #, no-c-format
+ msgid "Extension: Different type kinds at %L"
+ msgstr "Ek: %L'de farklı tür çeşitleri"
+
+-#: fortran/check.c:608 fortran/check.c:2022
++#: fortran/check.c:601 fortran/check.c:2016
+ #, no-c-format
+ msgid "'%s' argument of '%s' intrinsic at %L must be a POINTER"
+ msgstr "`%s' argümanı `%s' yerleşiği için (%L'de) bir POINTER olmalı"
+
+-#: fortran/check.c:628
++#: fortran/check.c:621
+ #, fuzzy, no-c-format
+ msgid "'%s' argument of '%s' intrinsic at %L must be a pointer or target VARIABLE or FUNCTION"
+ msgstr "`%s' argümanı `%s' yerleşiği için (%L'de) REAL ya da COMPLEX türünde olmalı"
+
+-#: fortran/check.c:636
++#: fortran/check.c:629
+ #, no-c-format
+ msgid "'%s' argument of '%s' intrinsic at %L must be a POINTER or a TARGET"
+ msgstr "`%s' argümanı `%s' yerleşiği için (%L'de) bir POINTER veya bir TARGET olmalı"
+
+-#: fortran/check.c:652
++#: fortran/check.c:645
+ #, no-c-format
+ msgid "Array section with a vector subscript at %L shall not be the target of a pointer"
+ msgstr "%L'deki vektör indisli dizi parçası bir göstericinin hedefi olmamalı"
+
+-#: fortran/check.c:663
++#: fortran/check.c:656
+ #, no-c-format
+ msgid "NULL pointer at %L is not permitted as actual argument of '%s' intrinsic function"
+ msgstr "%L'deki NULL gösterici '%s' yerleşik işlevinin fiili argümanı olamaz"
+
+-#: fortran/check.c:798 fortran/check.c:915
++#: fortran/check.c:791 fortran/check.c:910
+ #, no-c-format
+ msgid "'%s' argument of '%s' intrinsic at %L must not be present if 'x' is COMPLEX"
+ msgstr "`%s' argümanı `%s' yerleşiği için (%L'de) eğer 'x' COMPLEX ise mevcut olmamalı"
+
+-#: fortran/check.c:848 fortran/check.c:1205 fortran/check.c:1308
+-#: fortran/check.c:1467 fortran/check.c:1484 fortran/check.c:2318
+-#: fortran/check.c:2444 fortran/check.c:2779 fortran/check.c:2821
++#: fortran/check.c:841 fortran/check.c:1199 fortran/check.c:1302
++#: fortran/check.c:1461 fortran/check.c:1478 fortran/check.c:2312
++#: fortran/check.c:2438 fortran/check.c:2773 fortran/check.c:2815
+ #, fuzzy, no-c-format
+ msgid "Fortran 2003: '%s' intrinsic with KIND argument at %L"
+ msgstr "Fortran 2003: %C'de FLUSH deyimi"
+
+-#: fortran/check.c:964 fortran/check.c:1712 fortran/check.c:1720
++#: fortran/check.c:959 fortran/check.c:1706 fortran/check.c:1714
+ #, no-c-format
+ msgid "'%s' argument of '%s' intrinsic at %L must be numeric or LOGICAL"
+ msgstr "`%s' argümanı `%s' yerleşiği için (%L'de) sayısal ya da LOGICAL olmalı"
+
+-#: fortran/check.c:978
++#: fortran/check.c:973
+ #, fuzzy, no-c-format
+ msgid "Different shape for arguments '%s' and '%s' at %L for intrinsic 'dot_product'"
+ msgstr "'%s' ve '%s' argümanları 'dot_product' yerleşiği için (%L'de) farklı biçimde"
+
+-#: fortran/check.c:997 fortran/check.c:1005
++#: fortran/check.c:992 fortran/check.c:1000
+ #, fuzzy, no-c-format
+ msgid "'%s' argument of '%s' intrinsic at %L must be default real"
+ msgstr "`%s' argümanı `%s' yerleşiği için (%L'de) bir değişken olmalı"
+
+-#: fortran/check.c:1256
++#: fortran/check.c:1250
+ #, no-c-format
+ msgid "Argument of %s at %L must be of length one"
+ msgstr "`%s' argümanı (%L'de) tek uzunluk olmalı"
+
+-#: fortran/check.c:1315
++#: fortran/check.c:1309
+ #, no-c-format
+ msgid "'%s' argument of '%s' intrinsic at %L must be the same kind as '%s'"
+ msgstr "`%s' argümanı `%s' yerleşiği için (%L'de) %s ile aynı çeşit olmalı"
+
+-#: fortran/check.c:1440
++#: fortran/check.c:1434
+ #, no-c-format
+ msgid "'%s' argument of '%s' intrinsic at %L must be a non-derived type"
+ msgstr "`%s' argümanı `%s' yerleşiği için (%L'de) türetilmemiş bir türde olmalı"
+
+-#: fortran/check.c:1589
++#: fortran/check.c:1583
+ #, no-c-format
+ msgid "Intrinsic '%s' at %L must have at least two arguments"
+ msgstr "yerleşik `%s' için (%L'de) en az iki argüman olmalı"
+
+-#: fortran/check.c:1622
++#: fortran/check.c:1616
+ #, no-c-format
+ msgid "'a%d' argument of '%s' intrinsic at %L must be %s(%d)"
+ msgstr "`a%d' argümanı `%s' yerleşiği için (%L'de) %s(%d) olmalı"
+
+-#: fortran/check.c:1655
++#: fortran/check.c:1649
+ #, no-c-format
+ msgid "Fortran 2003: '%s' intrinsic with CHARACTER argument at %L"
+ msgstr ""
+
+-#: fortran/check.c:1662
++#: fortran/check.c:1656
+ #, fuzzy, no-c-format
+ msgid "'a1' argument of '%s' intrinsic at %L must be INTEGER, REAL or CHARACTER"
+ msgstr "`a1' argümanı `%s' yerleşiği için (%L'de) INTEGER ya da REAL olmalı"
+
+-#: fortran/check.c:1734
++#: fortran/check.c:1728
+ #, fuzzy, no-c-format
+ msgid "Different shape on dimension 1 for arguments '%s' and '%s' at %L for intrinsic matmul"
+ msgstr "'matmul' yerleşiği için 1. boyuttaki '%s' ve '%s' argümanları (%L'de) farklı biçimde"
+
+-#: fortran/check.c:1753
++#: fortran/check.c:1747
+ #, fuzzy, no-c-format
+ msgid "Different shape on dimension 2 for argument '%s' and dimension 1 for argument '%s' at %L for intrinsic matmul"
+ msgstr "'matmul' yerleşiği için 2. boyutta '%s' ve 1. boyutta '%s' argümanları (%L'de) farklı biçimde"
+
+-#: fortran/check.c:1762
++#: fortran/check.c:1756
+ #, no-c-format
+ msgid "'%s' argument of '%s' intrinsic at %L must be of rank 1 or 2"
+ msgstr "`%s' argümanı `%s' yerleşiği için (%L'de) 1. veya 2. sırada olmalı"
+
+-#: fortran/check.c:1964
++#: fortran/check.c:1958
+ #, fuzzy, no-c-format
+ msgid "the '%s' and '%s' arguments of '%s' intrinsic at %L must have the same rank %d/%d"
+ msgstr "`%s' ve '%s' argümanları `%s' yerleşiği için (%L'de) aynı türde olmalı"
+
+-#: fortran/check.c:1973
++#: fortran/check.c:1967
+ #, fuzzy, no-c-format
+ msgid "the '%s' and '%s' arguments of '%s' intrinsic at %L must be of the same kind %d/%d"
+ msgstr "`%s' ve '%s' argümanları `%s' yerleşiği için (%L'de) aynı türde olmalı"
+
+-#: fortran/check.c:2069
++#: fortran/check.c:2063
+ #, no-c-format
+ msgid "'%s' argument of '%s' intrinsic at %L must be of type REAL or COMPLEX"
+ msgstr "`%s' argümanı `%s' yerleşiği için (%L'de) REAL ya da COMPLEX türünde olmalı"
+
+-#: fortran/check.c:2090
++#: fortran/check.c:2084
+ #, no-c-format
+ msgid "'%s' argument of '%s' intrinsic at %L must be of a dummy variable"
+ msgstr "`%s' argümanı `%s' yerleşiği için (%L'de) bir sözde değişken olmalı"
+
+-#: fortran/check.c:2098
++#: fortran/check.c:2092
+ #, no-c-format
+ msgid "'%s' argument of '%s' intrinsic at %L must be of an OPTIONAL dummy variable"
+ msgstr "`%s' argümanı `%s' yerleşiği için (%L'de) bir OPTIONAL sözde değişken olmalı"
+
+-#: fortran/check.c:2114
++#: fortran/check.c:2108
+ #, fuzzy, no-c-format
+ msgid "'%s' argument of '%s' intrinsic at %L must not be a subobject of '%s'"
+ msgstr "`%s' argümanı `%s' yerleşiği için (%L'de) %s olmalı"
+
+-#: fortran/check.c:2231
++#: fortran/check.c:2225
+ #, no-c-format
+ msgid "'shape' argument of 'reshape' intrinsic at %L must be an array of constant size"
+ msgstr "%L'de 'reshape' yerleşiğinin 'shape' argümanı sabit boyutlu bir dizi olmalı"
+
+-#: fortran/check.c:2241
++#: fortran/check.c:2235
+ #, no-c-format
+ msgid "'shape' argument of 'reshape' intrinsic at %L has more than %d elements"
+ msgstr "%L'de 'reshape' yerleşiğinin 'shape' argümanı d elemandan fazlasını içeriyor"
+
+-#: fortran/check.c:2279
++#: fortran/check.c:2273
+ #, no-c-format
+ msgid "Without padding, there are not enough elements in the intrinsic RESHAPE source at %L to match the shape"
+ msgstr ""
+
+-#: fortran/check.c:2364
++#: fortran/check.c:2358
+ #, no-c-format
+ msgid "Missing arguments to %s intrinsic at %L"
+ msgstr "`%s' yerleşiği için (%L'de) argümanlar eksik"
+
+-#: fortran/check.c:2405
++#: fortran/check.c:2399
+ #, no-c-format
+ msgid "'source' argument of 'shape' intrinsic at %L must not be an assumed size array"
+ msgstr "%L'de 'shape' yerleşiğinin 'source' argümanı tahmini boyutlu bir dizi olmalı"
+
+-#: fortran/check.c:2479
++#: fortran/check.c:2473
+ #, no-c-format
+ msgid "'%s' argument of '%s' intrinsic at %L must be less than rank %d"
+ msgstr "`%s' argümanı `%s' yerleşiği için (%L'de) %d. sıradan önce olmalı"
+
+-#: fortran/check.c:2731
++#: fortran/check.c:2725
+ #, fuzzy, no-c-format
+ msgid "'MOLD' argument of 'TRANSFER' intrinsic at %L must not be %s"
+ msgstr "`%s' argümanı `%s' yerleşiği için (%L'de) %s olmalı"
+
+-#: fortran/check.c:3050
++#: fortran/check.c:3044
+ #, no-c-format
+ msgid "Too many arguments to %s at %L"
+ msgstr "%s için argümanlar %L'de çok fazla"
+
+-#: fortran/check.c:3162 fortran/check.c:3616 fortran/check.c:3640
++#: fortran/check.c:3156 fortran/check.c:3610 fortran/check.c:3634
+ #, no-c-format
+ msgid "'%s' argument of '%s' intrinsic at %L must be INTEGER or PROCEDURE"
+ msgstr "`%s' argümanı `%s' yerleşiği için (%L'de) INTEGER veya PROCEDURE olmalı"
+
+-#: fortran/check.c:3338
++#: fortran/check.c:3332
+ #, fuzzy, no-c-format
+ msgid "'%s' argument of '%s' intrinsic at %L must be of a kind not wider than the default kind (%d)"
+ msgstr "`%s' argümanı `%s' yerleşiği için (%L'de) %d. sırada olmalı"
+
+-#: fortran/check.c:3687 fortran/check.c:3695
++#: fortran/check.c:3681 fortran/check.c:3689
+ #, no-c-format
+ msgid "'%s' argument of '%s' intrinsic at %L must be INTEGER or LOGICAL"
+ msgstr "`%s' argümanı `%s' yerleşiği için (%L'de) INTEGER veya LOGICAL olmalı"
+@@ -4299,890 +4223,926 @@
+ msgid "'%s' at %L already is initialized at %L"
+ msgstr "işlev `%s' (%C'deki) zaten %L'de tanımlı"
+
+-#: fortran/data.c:412
++#: fortran/data.c:317
+ #, no-c-format
++msgid "Data element below array lower bound at %L"
++msgstr ""
++
++#: fortran/data.c:329
++#, no-c-format
++msgid "Data element above array upper bound at %L"
++msgstr ""
++
++#: fortran/data.c:435
++#, no-c-format
+ msgid "Extension: re-initialization of '%s' at %L"
+ msgstr "Ek:`%s' için (%L'de) yeniden ilklendirme"
+
+-#: fortran/decl.c:254
++#: fortran/decl.c:253
+ #, fuzzy, no-c-format
+ msgid "Host associated variable '%s' may not be in the DATA statement at %C"
+ msgstr "Konak ilişkili değişken '%s' %C'de DATA deyiminin içinde olmamalı."
+
+-#: fortran/decl.c:261
++#: fortran/decl.c:260
+ #, no-c-format
+ msgid "Extension: initialization of common block variable '%s' in DATA statement at %C"
+ msgstr "Ek: bildik blok deÄŸiÅŸkeni '%s'in %C'de DATA deyiminde ilklendirilmesi"
+
+-#: fortran/decl.c:366
++#: fortran/decl.c:365
+ #, no-c-format
+ msgid "Symbol '%s' must be a PARAMETER in DATA statement at %C"
+ msgstr "Sembol '%s' %C'deki DATA deyiminde bir PARAMETER olmalı"
+
+-#: fortran/decl.c:470
++#: fortran/decl.c:390
++#, fuzzy, no-c-format
++msgid "Invalid initializer %s in Data statement at %C"
++msgstr "asm deyiminde geçersiz sol taraf"
++
++#: fortran/decl.c:493
+ #, no-c-format
+ msgid "Initialization at %C is not allowed in a PURE procedure"
+ msgstr "%C'de ilklendirmeye bir PURE iÅŸlevinde izin verilmez"
+
+-#: fortran/decl.c:529
++#: fortran/decl.c:552
+ #, no-c-format
+ msgid "DATA statement at %C is not allowed in a PURE procedure"
+ msgstr "%C'de DATA deyimi için bir PURE işlevinde izin verilmez"
+
+-#: fortran/decl.c:558
++#: fortran/decl.c:581
+ #, no-c-format
+ msgid "Bad INTENT specification at %C"
+ msgstr "%C'deki INTENT belirtimi hatalı"
+
+-#: fortran/decl.c:600
++#: fortran/decl.c:623
+ #, no-c-format
+ msgid "Conflict in attributes of function argument at %C"
+ msgstr ""
+
+-#: fortran/decl.c:647
++#: fortran/decl.c:676
+ #, no-c-format
+ msgid "Syntax error in character length specification at %C"
+ msgstr "%C'deki karakter uzunluğu belirtiminde sözdizimi hatası"
+
+-#: fortran/decl.c:757
++#: fortran/decl.c:795
+ #, no-c-format
+ msgid "Procedure '%s' at %C is already defined at %L"
+ msgstr "işlev `%s' (%C'deki) zaten %L'de tanımlı"
+
+-#: fortran/decl.c:765
++#: fortran/decl.c:803
+ #, fuzzy, no-c-format
+ msgid "Name '%s' at %C is already defined as a generic interface at %L"
+ msgstr "Genel isim '%s' (%L'de), zaten %s (%L'de) olarak kullanılıyor"
+
+-#: fortran/decl.c:778
++#: fortran/decl.c:816
+ #, no-c-format
+ msgid "Procedure '%s' at %C has an explicit interface and must not have attributes declared at %L"
+ msgstr "işlev '%s' (%C'deki) bir dolaysız arayüze sahip ve %L'de bildirilmiş özniteliklere sahip olmamalı"
+
+-#: fortran/decl.c:850
++#: fortran/decl.c:888
+ #, fuzzy, no-c-format
+ msgid "Procedure '%s' at %L must have the BIND(C) attribute to be C interoperable"
+ msgstr "Türetilmiş tür değişkeni '%s' %L'de bir EQUIVALENCE nesnesi olarak SEQUENCE özniteliğine sahip olmalı"
+
+-#: fortran/decl.c:880
++#: fortran/decl.c:918
+ #, no-c-format
+ msgid "Type '%s' at %L is a parameter to the BIND(C) procedure '%s' but is not C interoperable because derived type '%s' is not C interoperable"
+ msgstr ""
+
+-#: fortran/decl.c:887
++#: fortran/decl.c:925
+ #, no-c-format
+ msgid "Variable '%s' at %L is a parameter to the BIND(C) procedure '%s' but may not be C interoperable"
+ msgstr ""
+
+-#: fortran/decl.c:902
++#: fortran/decl.c:940
+ #, fuzzy, no-c-format
+ msgid "Character argument '%s' at %L must be length 1 because procedure '%s' is BIND(C)"
+ msgstr "Anahtar kelime argümanı '%s' (%L'de) yordam içinde değil"
+
+-#: fortran/decl.c:916
++#: fortran/decl.c:954
+ #, no-c-format
+ msgid "Variable '%s' at %L cannot have the ALLOCATABLE attribute because procedure '%s' is BIND(C)"
+ msgstr ""
+
+-#: fortran/decl.c:925
++#: fortran/decl.c:963
+ #, fuzzy, no-c-format
+ msgid "Variable '%s' at %L cannot have the POINTER attribute because procedure '%s' is BIND(C)"
+ msgstr "%C'deki döngü değişkeni POINTER özniteliğinde olamaz"
+
+-#: fortran/decl.c:934
++#: fortran/decl.c:972
+ #, no-c-format
+ msgid "Variable '%s' at %L cannot have the OPTIONAL attribute because procedure '%s' is BIND(C)"
+ msgstr ""
+
+-#: fortran/decl.c:947
++#: fortran/decl.c:985
+ #, no-c-format
+ msgid "Assumed-shape array '%s' at %L cannot be an argument to the procedure '%s' at %L because the procedure is BIND(C)"
+ msgstr ""
+
+-#: fortran/decl.c:957
++#: fortran/decl.c:995
+ #, no-c-format
+ msgid "Deferred-shape array '%s' at %L cannot be an argument to the procedure '%s' at %L because the procedure is BIND(C)"
+ msgstr ""
+
+-#: fortran/decl.c:1033
++#: fortran/decl.c:1071
+ #, no-c-format
+ msgid "Variable '%s' in common block '%s' at %C must be declared with a C interoperable kind since common block '%s' is BIND(C)"
+ msgstr ""
+
+-#: fortran/decl.c:1069
++#: fortran/decl.c:1107
+ #, no-c-format
+ msgid "CHARACTER expression at %L is being truncated (%d/%d)"
+ msgstr ""
+
+-#: fortran/decl.c:1075
++#: fortran/decl.c:1113
+ #, no-c-format
+ msgid "The CHARACTER elements of the array constructor at %L must have the same length (%d/%d)"
+ msgstr ""
+
+-#: fortran/decl.c:1165
++#: fortran/decl.c:1203
+ #, no-c-format
+ msgid "Initializer not allowed for PARAMETER '%s' at %C"
+ msgstr "PARAMETER `%s' için %C'de ilklendirme yapılamaz"
+
+-#: fortran/decl.c:1174
++#: fortran/decl.c:1213
+ #, no-c-format
+-msgid "Initializer not allowed for COMMON variable '%s' at %C"
+-msgstr "COMMON değişkeni `%s' için %C'de ilklendirme yapılamaz"
+-
+-#: fortran/decl.c:1184
+-#, no-c-format
+ msgid "PARAMETER at %L is missing an initializer"
+ msgstr "%L'deki PARAMETER bir ilklendirici kaybediyor"
+
+-#: fortran/decl.c:1194
++#: fortran/decl.c:1223
+ #, no-c-format
+ msgid "Variable '%s' at %C with an initializer already appears in a DATA statement"
+ msgstr "Değişken '%s' %C'de bir ilklendirici ile zaten bir DATA deyiminde görünüyor"
+
+-#: fortran/decl.c:1344
++#: fortran/decl.c:1373
+ #, no-c-format
+ msgid "Component at %C must have the POINTER attribute"
+ msgstr "%C'deki bileşen POINTER özniteliğinde olmalı"
+
+-#: fortran/decl.c:1352
++#: fortran/decl.c:1381
+ #, no-c-format
+ msgid "Array component of structure at %C must have explicit or deferred shape"
+ msgstr "Yapının dizi bileşeni %C'de dolaysız ya da ertelenmiş durumda olmalı"
+
+-#: fortran/decl.c:1378
++#: fortran/decl.c:1425
+ #, fuzzy, no-c-format
+ msgid "Allocatable component at %C must be an array"
+ msgstr "%C'deki Cray göstericisi bir tamsayı olmalı."
+
+-#: fortran/decl.c:1389
++#: fortran/decl.c:1436
+ #, no-c-format
+ msgid "Pointer array component of structure at %C must have a deferred shape"
+ msgstr "Yapının gösterici dizisi bileşeni %C'de ertelenmiş durumda olmalı"
+
+-#: fortran/decl.c:1398
++#: fortran/decl.c:1445
+ #, fuzzy, no-c-format
+ msgid "Allocatable component of structure at %C must have a deferred shape"
+ msgstr "Yapının gösterici dizisi bileşeni %C'de ertelenmiş durumda olmalı"
+
+-#: fortran/decl.c:1407
++#: fortran/decl.c:1454
+ #, no-c-format
+ msgid "Array component of structure at %C must have an explicit shape"
+ msgstr "Yapının dizi bileşeni %C'de dolaysız durumda olmalı"
+
+-#: fortran/decl.c:1433
++#: fortran/decl.c:1480
+ #, no-c-format
+ msgid "NULL() initialization at %C is ambiguous"
+ msgstr "NULL() ilklendirme %C'de belirsiz"
+
+-#: fortran/decl.c:1556 fortran/decl.c:5197
++#: fortran/decl.c:1603 fortran/decl.c:5395
+ #, fuzzy, no-c-format
+ msgid "Duplicate array spec for Cray pointee at %C"
+ msgstr "Cray göstericileri için dizi belirtimi %C'de yinelenmiş"
+
+-#: fortran/decl.c:1616
++#: fortran/decl.c:1663
+ #, fuzzy, no-c-format
+ msgid "the type of '%s' at %C has not been declared within the interface"
+ msgstr "'%s' öğesi (%C'de) zaten arayüzde mevcut"
+
+-#: fortran/decl.c:1632
++#: fortran/decl.c:1679
+ #, no-c-format
+ msgid "Function name '%s' not allowed at %C"
+ msgstr "'%s' işlev ismi olarak %C'de kullanılamaz"
+
+-#: fortran/decl.c:1648
++#: fortran/decl.c:1695
+ #, no-c-format
+ msgid "Extension: Old-style initialization at %C"
+ msgstr "GeniÅŸletme: %C'de eski tarz ilklendirme"
+
+-#: fortran/decl.c:1663
++#: fortran/decl.c:1710
+ #, no-c-format
+ msgid "Initialization at %C isn't for a pointer variable"
+ msgstr "%C'deki ilklendirme bir gösterici değişkeni için değil"
+
+-#: fortran/decl.c:1671
++#: fortran/decl.c:1718
+ #, no-c-format
+ msgid "Pointer initialization requires a NULL() at %C"
+ msgstr "Gösterici ilklendirmesi %C'de bir NULL() gerektirir"
+
+-#: fortran/decl.c:1677
++#: fortran/decl.c:1724
+ #, no-c-format
+ msgid "Initialization of pointer at %C is not allowed in a PURE procedure"
+ msgstr "%C'deki gösterici ilklendirmesi bir PURE yordamında olamaz"
+
+-#: fortran/decl.c:1690
++#: fortran/decl.c:1737
+ #, no-c-format
+ msgid "Pointer initialization at %C requires '=>', not '='"
+ msgstr "%C'deki gösterici ilklendirmesi bir '=>' gerektirir, '=' değil"
+
+-#: fortran/decl.c:1699 fortran/decl.c:6129
++#: fortran/decl.c:1746 fortran/decl.c:6361
+ #, no-c-format
+ msgid "Expected an initialization expression at %C"
+ msgstr "%C'de bir ilklendirme ifadesi umuluyordu"
+
+-#: fortran/decl.c:1705
++#: fortran/decl.c:1752
+ #, no-c-format
+ msgid "Initialization of variable at %C is not allowed in a PURE procedure"
+ msgstr "%C'deki değişken ilklendirmesi bir PURE yordamında olamaz"
+
+-#: fortran/decl.c:1718
++#: fortran/decl.c:1765
+ #, fuzzy, no-c-format
+ msgid "Initialization of allocatable component at %C is not allowed"
+ msgstr "%C'deki değişken ilklendirmesi bir PURE yordamında olamaz"
+
+-#: fortran/decl.c:1772 fortran/decl.c:1781
++#: fortran/decl.c:1819 fortran/decl.c:1828
+ #, no-c-format
+ msgid "Old-style type declaration %s*%d not supported at %C"
+ msgstr "Eski tarz tür bildirimi %s*%d %C'de desteklenmiyor"
+
+-#: fortran/decl.c:1786
++#: fortran/decl.c:1833
+ #, no-c-format
+ msgid "Nonstandard type declaration %s*%d at %C"
+ msgstr "%s*%d %C'de standartdısı tür bildirimi"
+
+-#: fortran/decl.c:1838 fortran/decl.c:1897
++#: fortran/decl.c:1884 fortran/decl.c:1948
+ #, fuzzy, no-c-format
+ msgid "Missing right parenthesis at %C"
+ msgstr "%C'de saÄŸ parantez eksik"
+
+-#: fortran/decl.c:1853 fortran/decl.c:1931
++#: fortran/decl.c:1897 fortran/decl.c:1993
+ #, no-c-format
+ msgid "Expected initialization expression at %C"
+ msgstr "%C'de ilklendirme ifadesi umuluyordu"
+
+-#: fortran/decl.c:1861 fortran/decl.c:1937
++#: fortran/decl.c:1905 fortran/decl.c:1999
+ #, no-c-format
+ msgid "Expected scalar initialization expression at %C"
+ msgstr "%C'deki ilklendirme ifadesinin değişmez olması umuluyordu"
+
+-#: fortran/decl.c:1891
++#: fortran/decl.c:1936
+ #, no-c-format
+ msgid "Kind %d not supported for type %s at %C"
+ msgstr "%d. çeşit, %s türü için (%C'de) desteklenmiyor"
+
+-#: fortran/decl.c:1957
++#: fortran/decl.c:1946
+ #, fuzzy, no-c-format
++msgid "Missing right parenthesis or comma at %C"
++msgstr "%C'de saÄŸ parantez eksik"
++
++#: fortran/decl.c:2019
++#, fuzzy, no-c-format
+ msgid "Kind %d is not supported for CHARACTER at %C"
+ msgstr "%d. çeşit, %s türü için (%C'de) desteklenmiyor"
+
+-#: fortran/decl.c:2086
++#: fortran/decl.c:2148
+ #, no-c-format
+ msgid "Syntax error in CHARACTER declaration at %C"
+ msgstr "%C'deki CHARACTER bildiriminde sözdizimi hatası"
+
+-#: fortran/decl.c:2156
++#: fortran/decl.c:2233
+ #, no-c-format
+ msgid "Extension: BYTE type at %C"
+ msgstr "Genişletme: %C'de BYTE türü"
+
+-#: fortran/decl.c:2162
++#: fortran/decl.c:2239
+ #, no-c-format
+ msgid "BYTE type used at %C is not available on the target machine"
+ msgstr "%C'de hedef makinede desteklenmeyen BYTE türü kullanılmış"
+
+-#: fortran/decl.c:2211
++#: fortran/decl.c:2288
+ #, no-c-format
+ msgid "DOUBLE COMPLEX at %C does not conform to the Fortran 95 standard"
+ msgstr "%C'de DOUBLE COMPLEX Fortran 95 standardına uyumlu değildir"
+
+-#: fortran/decl.c:2245 fortran/decl.c:2252 fortran/decl.c:2558
+-#: fortran/decl.c:2566
++#: fortran/decl.c:2328 fortran/decl.c:2337 fortran/decl.c:2649
++#: fortran/decl.c:2657
+ #, no-c-format
+ msgid "Type name '%s' at %C is ambiguous"
+ msgstr "Tür ismi '%s' %C'de belirsiz"
+
+-#: fortran/decl.c:2321
++#: fortran/decl.c:2412
+ #, no-c-format
+ msgid "Missing character range in IMPLICIT at %C"
+ msgstr "%C'deki IMPLICIT içinde karakter aralığı eksik"
+
+-#: fortran/decl.c:2367
++#: fortran/decl.c:2458
+ #, no-c-format
+ msgid "Letters must be in alphabetic order in IMPLICIT statement at %C"
+ msgstr "%C'deki IMPLICIT deyiminde harfler alfabetik sırada olmalı"
+
+-#: fortran/decl.c:2421
++#: fortran/decl.c:2512
+ #, no-c-format
+ msgid "Empty IMPLICIT statement at %C"
+ msgstr "%C'deki IMPLICIT deyimi boÅŸ"
+
+-#: fortran/decl.c:2524
++#: fortran/decl.c:2615
+ #, fuzzy, no-c-format
+ msgid "IMPORT statement at %C only permitted in an INTERFACE body"
+ msgstr "%C'deki ENTRY deyimi bir INTERFACE bloku içindeymiş gibi görünmüyor"
+
+-#: fortran/decl.c:2529
++#: fortran/decl.c:2620
+ #, fuzzy, no-c-format
+ msgid "Fortran 2003: IMPORT statement at %C"
+ msgstr "Fortran 2003: %C'de FLUSH deyimi"
+
+-#: fortran/decl.c:2544
++#: fortran/decl.c:2635
+ #, fuzzy, no-c-format
+ msgid "Expecting list of named entities at %C"
+ msgstr "%s deyimi umuluyordu (%C'de)"
+
+-#: fortran/decl.c:2572
++#: fortran/decl.c:2663
+ #, no-c-format
+ msgid "Cannot IMPORT '%s' from host scoping unit at %C - does not exist."
+ msgstr ""
+
+-#: fortran/decl.c:2579
++#: fortran/decl.c:2670
+ #, no-c-format
+ msgid "'%s' is already IMPORTed from host scoping unit at %C."
+ msgstr ""
+
+-#: fortran/decl.c:2608
++#: fortran/decl.c:2699
+ #, fuzzy, no-c-format
+ msgid "Syntax error in IMPORT statement at %C"
+ msgstr "%s deyiminde sözdizimi hatası (%C'de)"
+
+-#: fortran/decl.c:2850
++#: fortran/decl.c:2941
+ #, no-c-format
+ msgid "Missing dimension specification at %C"
+ msgstr "%C'de boyut belirtimi eksik"
+
+-#: fortran/decl.c:2924
++#: fortran/decl.c:3015
+ #, no-c-format
+ msgid "Duplicate %s attribute at %L"
+ msgstr "%s özniteliği %L'de yinelenmiş"
+
+-#: fortran/decl.c:2943
++#: fortran/decl.c:3034
+ #, fuzzy, no-c-format
+ msgid "Fortran 2003: ALLOCATABLE attribute at %C in a TYPE definition"
+ msgstr "%L'deki öznitelik bir TYPE tanımında kullanılamaz"
+
+-#: fortran/decl.c:2953
++#: fortran/decl.c:3044
+ #, no-c-format
+ msgid "Attribute at %L is not allowed in a TYPE definition"
+ msgstr "%L'deki öznitelik bir TYPE tanımında kullanılamaz"
+
+-#: fortran/decl.c:2971
++#: fortran/decl.c:3062
+ #, fuzzy, no-c-format
+ msgid "Fortran 2003: Attribute %s at %L in a TYPE definition"
+ msgstr "%L'deki öznitelik bir TYPE tanımında kullanılamaz"
+
+-#: fortran/decl.c:2982
++#: fortran/decl.c:3073
+ #, fuzzy, no-c-format
+ msgid "%s attribute at %L is not allowed outside of the specification part of a module"
+ msgstr "%s özniteliği ('%L'de) bir MODULE dışında kullanılamaz"
+
+-#: fortran/decl.c:3034 fortran/decl.c:5437
++#: fortran/decl.c:3125 fortran/decl.c:5635
+ #, no-c-format
+ msgid "PROTECTED at %C only allowed in specification part of a module"
+ msgstr ""
+
+-#: fortran/decl.c:3040
++#: fortran/decl.c:3131
+ #, fuzzy, no-c-format
+ msgid "Fortran 2003: PROTECTED attribute at %C"
+ msgstr "Fortran 2003: %C'de FLUSH deyimi"
+
+-#: fortran/decl.c:3071
++#: fortran/decl.c:3162
+ #, fuzzy, no-c-format
+ msgid "Fortran 2003: VALUE attribute at %C"
+ msgstr "Fortran 2003: %C'de FLUSH deyimi"
+
+-#: fortran/decl.c:3081
++#: fortran/decl.c:3172
+ #, fuzzy, no-c-format
+ msgid "Fortran 2003: VOLATILE attribute at %C"
+ msgstr "Fortran 2003: %C'de FLUSH deyimi"
+
+-#: fortran/decl.c:3121
++#: fortran/decl.c:3212
+ #, no-c-format
+ msgid "Multiple identifiers provided with single NAME= specifier at %C"
+ msgstr ""
+
+ #. Print an error, but continue parsing line.
+-#: fortran/decl.c:3171
++#: fortran/decl.c:3261
+ #, no-c-format
+ msgid "C kind parameter is for type %s but symbol '%s' at %L is of type %s"
+ msgstr ""
+
+-#: fortran/decl.c:3235
++#: fortran/decl.c:3325
+ #, fuzzy, no-c-format
+ msgid "Implicitly declared BIND(C) function '%s' at %L may not be C interoperable"
+ msgstr "Belirtim iÅŸlevi '%s' (%L'de) dahili bir iÅŸlev olamaz"
+
+-#: fortran/decl.c:3257
++#: fortran/decl.c:3347
+ #, no-c-format
+ msgid "Variable '%s' in common block '%s' at %L may not be a C interoperable kind though common block '%s' is BIND(C)"
+ msgstr ""
+
+-#: fortran/decl.c:3266
++#: fortran/decl.c:3356
+ #, no-c-format
+ msgid "Type declaration '%s' at %L is not C interoperable but it is BIND(C)"
+ msgstr ""
+
+-#: fortran/decl.c:3270
++#: fortran/decl.c:3360
+ #, fuzzy, no-c-format
+ msgid "Variable '%s' at %L may not be a C interoperable kind but it is bind(c)"
+ msgstr "'%s' değişkeni (%L'de) bir biçim yaftası atamamış"
+
+-#: fortran/decl.c:3282
++#: fortran/decl.c:3372
+ #, no-c-format
+ msgid "Variable '%s' in common block '%s' at %L cannot be declared with BIND(C) since it is not a global"
+ msgstr ""
+
+-#: fortran/decl.c:3296
++#: fortran/decl.c:3386
+ #, fuzzy, no-c-format
+ msgid "Variable '%s' at %L cannot have both the POINTER and BIND(C) attributes"
+ msgstr "%C'deki döngü değişkeni POINTER özniteliğinde olamaz"
+
+-#: fortran/decl.c:3304
++#: fortran/decl.c:3394
+ #, fuzzy, no-c-format
+ msgid "Variable '%s' at %L cannot have both the ALLOCATABLE and BIND(C) attributes"
+ msgstr "%C'deki döngü değişkeni POINTER özniteliğinde olamaz"
+
+-#: fortran/decl.c:3314
++#: fortran/decl.c:3404
+ #, fuzzy, no-c-format
+ msgid "Return type of BIND(C) function '%s' at %L cannot be an array"
+ msgstr "CHARACTER(*) iÅŸlevi '%s' %L'de dizi deÄŸerli olamaz"
+
+-#: fortran/decl.c:3322
++#: fortran/decl.c:3412
+ #, fuzzy, no-c-format
+ msgid "Return type of BIND(C) function '%s' at %L cannot be a character string"
+ msgstr "Belirtim iÅŸlevi '%s' (%L'de) bir deyim iÅŸlevi olamaz"
+
+ #. Use gfc_warning_now because we won't say that the symbol fails
+ #. just because of this.
+-#: fortran/decl.c:3334
++#: fortran/decl.c:3424
+ #, no-c-format
+ msgid "Symbol '%s' at %L is marked PRIVATE but has been given the binding label '%s'"
+ msgstr ""
+
+-#: fortran/decl.c:3409
++#: fortran/decl.c:3499
+ #, no-c-format
+ msgid "Need either entity or common block name for attribute specification statement at %C"
+ msgstr ""
+
+-#: fortran/decl.c:3456
++#: fortran/decl.c:3546
+ #, fuzzy, no-c-format
+ msgid "Missing entity or common block name for attribute specification statement at %C"
+ msgstr "%C'deki USE deyiminde soysal belirtim eksik"
+
+ #. Now we have an error, which we signal, and then fix up
+ #. because the knock-on is plain and simple confusing.
+-#: fortran/decl.c:3563
++#: fortran/decl.c:3653
+ #, fuzzy, no-c-format
+ msgid "Derived type at %C has not been previously defined and so cannot appear in a derived type definition"
+ msgstr "%C'deki türetilmiş tür evvelce tanımlanmış olmamalıydı, bu durumda bir türetilmiş tür tanımı içinde görünemez"
+
+-#: fortran/decl.c:3595
++#: fortran/decl.c:3685
+ #, no-c-format
+ msgid "Syntax error in data declaration at %C"
+ msgstr "%C'deki veri bildiriminde sözdizimi hatası"
+
+-#: fortran/decl.c:3742
++#: fortran/decl.c:3832
+ #, no-c-format
+ msgid "Name '%s' at %C is the name of the procedure"
+ msgstr "Ä°sim '%s' %C'de iÅŸlev ismidir"
+
+-#: fortran/decl.c:3754
++#: fortran/decl.c:3844
+ #, no-c-format
+ msgid "Unexpected junk in formal argument list at %C"
+ msgstr "%C'deki biçimsel argüman listesinde umulmadık döküntü"
+
+-#: fortran/decl.c:3771
++#: fortran/decl.c:3861
+ #, no-c-format
+ msgid "Duplicate symbol '%s' in formal argument list at %C"
+ msgstr "Sembol '%s' %C'deki biçimsel argüman listesinde yinelenmiş"
+
+-#: fortran/decl.c:3822
++#: fortran/decl.c:3912
+ #, no-c-format
+ msgid "RESULT variable at %C must be different than function name"
+ msgstr "%C'deki RESULT değişkeninin ismi işlev isminden farklı olmalı"
+
+-#: fortran/decl.c:3892
++#: fortran/decl.c:3990
+ #, no-c-format
+ msgid "Unexpected junk after function declaration at %C"
+ msgstr "%C'deki işlev bildiriminden sonra umulmayan döküntü"
+
+-#: fortran/decl.c:3951
++#: fortran/decl.c:4000 fortran/decl.c:4734
+ #, fuzzy, no-c-format
++msgid "Extension: BIND(C) attribute at %L may not be specified for an internal procedure"
++msgstr "%L'deki SAVE özniteliği bir PURE yordamında belirtilemez"
++
++#: fortran/decl.c:4066
++#, fuzzy, no-c-format
+ msgid "Interface '%s' at %C may not be generic"
+ msgstr "%L'deki yineleyici adımı sıfır olamaz"
+
+-#: fortran/decl.c:3956
++#: fortran/decl.c:4071
+ #, fuzzy, no-c-format
+ msgid "Interface '%s' at %C may not be a statement function"
+ msgstr "Belirtim iÅŸlevi '%s' (%L'de) bir deyim iÅŸlevi olamaz"
+
+-#: fortran/decl.c:3967
++#: fortran/decl.c:4082
+ #, fuzzy, no-c-format
+ msgid "Intrinsic procedure '%s' not allowed in PROCEDURE statement at %C"
+ msgstr "'%s' iç yordamına %L'de bir fiili argüman olarak izin verilmez."
+
+-#: fortran/decl.c:3975
++#: fortran/decl.c:4118
+ #, no-c-format
+-msgid "Fortran 2003: Support for intrinsic procedure '%s' in PROCEDURE statement at %C not yet implemented in gfortran"
+-msgstr ""
+-
+-#: fortran/decl.c:4014
+-#, no-c-format
+ msgid "BIND(C) attribute at %C requires an interface with BIND(C)"
+ msgstr ""
+
+-#: fortran/decl.c:4021
++#: fortran/decl.c:4125
+ #, no-c-format
+ msgid "BIND(C) procedure with NAME may not have POINTER attribute at %C"
+ msgstr ""
+
+-#: fortran/decl.c:4027
++#: fortran/decl.c:4131
+ #, no-c-format
+ msgid "Dummy procedure at %C may not have BIND(C) attribute with NAME"
+ msgstr ""
+
+-#: fortran/decl.c:4060 fortran/decl.c:4103
++#: fortran/decl.c:4167 fortran/decl.c:4210
+ #, fuzzy, no-c-format
+ msgid "Syntax error in PROCEDURE statement at %C"
+ msgstr "%C'deki SAVE deyiminde sözdizimi hatası"
+
+-#: fortran/decl.c:4077
++#: fortran/decl.c:4184
+ #, fuzzy, no-c-format
+ msgid "PROCEDURE at %C must be in a generic interface"
+ msgstr "%C'deki MODULE PROCEDURE bir soysal modül arayüzü olmalı"
+
+-#: fortran/decl.c:4128
++#: fortran/decl.c:4235
+ #, no-c-format
+ msgid "Fortran 2003: Procedure components at %C are not yet implemented in gfortran"
+ msgstr ""
+
+-#: fortran/decl.c:4138
++#: fortran/decl.c:4245
+ #, fuzzy, no-c-format
+ msgid "Fortran 2003: PROCEDURE statement at %C"
+ msgstr "Fortran 2003: %C'de FLUSH deyimi"
+
+-#: fortran/decl.c:4186
++#: fortran/decl.c:4293
+ #, no-c-format
+ msgid "Expected formal argument list in function definition at %C"
+ msgstr "%C'deki işlev tanımında biçimsel argüman listesi umuluyordu"
+
+-#: fortran/decl.c:4210 fortran/decl.c:4214 fortran/decl.c:4536
+-#: fortran/decl.c:4540 fortran/symbol.c:1402
++#: fortran/decl.c:4317 fortran/decl.c:4321 fortran/decl.c:4520
++#: fortran/decl.c:4524 fortran/decl.c:4702 fortran/decl.c:4706
++#: fortran/symbol.c:1402
+ #, no-c-format
+ msgid "BIND(C) attribute at %L can only be used for variables or common blocks"
+ msgstr ""
+
+-#: fortran/decl.c:4246
++#: fortran/decl.c:4353
+ #, no-c-format
+ msgid "Function '%s' at %C already has a type of %s"
+ msgstr "'%s' işlevi (%C'de) zaten %s türünde"
+
+-#: fortran/decl.c:4322
++#: fortran/decl.c:4441
+ #, no-c-format
+ msgid "ENTRY statement at %C cannot appear within a PROGRAM"
+ msgstr "%C'deki ENTRY deyimi bir PROGRAM içindeymiş gibi görünmüyor"
+
+-#: fortran/decl.c:4325
++#: fortran/decl.c:4444
+ #, no-c-format
+ msgid "ENTRY statement at %C cannot appear within a MODULE"
+ msgstr "%C'deki ENTRY deyimi bir MODULE içindeymiş gibi görünmüyor"
+
+-#: fortran/decl.c:4328
++#: fortran/decl.c:4447
+ #, no-c-format
+ msgid "ENTRY statement at %C cannot appear within a BLOCK DATA"
+ msgstr "%C'deki ENTRY deyimi bir BLOCK DATA içindeymiş gibi görünmüyor"
+
+-#: fortran/decl.c:4332
++#: fortran/decl.c:4451
+ #, no-c-format
+ msgid "ENTRY statement at %C cannot appear within an INTERFACE"
+ msgstr "%C'deki ENTRY deyimi bir INTERFACE bloku içindeymiş gibi görünmüyor"
+
+-#: fortran/decl.c:4336
++#: fortran/decl.c:4455
+ #, no-c-format
+ msgid "ENTRY statement at %C cannot appear within a DERIVED TYPE block"
+ msgstr "%C'deki ENTRY deyimi bir DERIVED TYPE bloku içindeymiş gibi görünmüyor"
+
+-#: fortran/decl.c:4340
++#: fortran/decl.c:4459
+ #, no-c-format
+ msgid "ENTRY statement at %C cannot appear within an IF-THEN block"
+ msgstr "%C'deki ENTRY deyimi bir IF-THEN bloku içindeymiş gibi görünmüyor"
+
+-#: fortran/decl.c:4344
++#: fortran/decl.c:4463
+ #, no-c-format
+ msgid "ENTRY statement at %C cannot appear within a DO block"
+ msgstr "%C'deki ENTRY deyimi bir DO bloku içinde görünemez"
+
+-#: fortran/decl.c:4348
++#: fortran/decl.c:4467
+ #, no-c-format
+ msgid "ENTRY statement at %C cannot appear within a SELECT block"
+ msgstr "%C'deki ENTRY deyimi bir SELECT bloku içindeymiş gibi görünmüyor"
+
+-#: fortran/decl.c:4352
++#: fortran/decl.c:4471
+ #, no-c-format
+ msgid "ENTRY statement at %C cannot appear within a FORALL block"
+ msgstr "%C'deki ENTRY deyimi bir FORALL bloku içindeymiş gibi görünmüyor"
+
+-#: fortran/decl.c:4356
++#: fortran/decl.c:4475
+ #, no-c-format
+ msgid "ENTRY statement at %C cannot appear within a WHERE block"
+ msgstr "%C'deki ENTRY deyimi bir WHERE bloku içindeymiş gibi görünmüyor"
+
+-#: fortran/decl.c:4360
++#: fortran/decl.c:4479
+ #, no-c-format
+ msgid "ENTRY statement at %C cannot appear within a contained subprogram"
+ msgstr "%C'deki ENTRY deyimi bir içerilmiş altyordamın içinde görünemez"
+
+-#: fortran/decl.c:4378
++#: fortran/decl.c:4497
+ #, no-c-format
+ msgid "ENTRY statement at %C cannot appear in a contained procedure"
+ msgstr "%C'deki ENTRY deyimi bir içerilmiş işlevde görünemez"
+
+-#: fortran/decl.c:4560
++#: fortran/decl.c:4552 fortran/decl.c:4742
+ #, no-c-format
+ msgid "Missing required parentheses before BIND(C) at %C"
+ msgstr ""
+
+-#: fortran/decl.c:4618 fortran/decl.c:4634
++#: fortran/decl.c:4801 fortran/decl.c:4817
+ #, fuzzy, no-c-format
+ msgid "Syntax error in NAME= specifier for binding label at %C"
+ msgstr "%C'deki CASE belirtiminde sözdizimi hatası"
+
+-#: fortran/decl.c:4649
++#: fortran/decl.c:4832
+ #, fuzzy, no-c-format
+ msgid "Missing closing quote '\"' for binding label at %C"
+ msgstr "%C'de biçim yaftası eksik"
+
+-#: fortran/decl.c:4658
++#: fortran/decl.c:4841
+ #, fuzzy, no-c-format
+ msgid "Missing closing quote ''' for binding label at %C"
+ msgstr "%C'de biçim yaftası eksik"
+
+-#: fortran/decl.c:4668
++#: fortran/decl.c:4851
+ #, fuzzy, no-c-format
+ msgid "Missing closing paren for binding label at %C"
+ msgstr "%C'de biçim yaftası eksik"
+
+-#: fortran/decl.c:4703
++#: fortran/decl.c:4857
++#, fuzzy, no-c-format
++msgid "No binding name is allowed in BIND(C) at %C"
++msgstr "'%s' işlev ismi olarak %C'de kullanılamaz"
++
++#: fortran/decl.c:4863
+ #, no-c-format
++msgid "For dummy procedure %s, no binding name is allowed in BIND(C) at %C"
++msgstr ""
++
++#: fortran/decl.c:4894
++#, no-c-format
+ msgid "NAME not allowed on BIND(C) for ABSTRACT INTERFACE at %C"
+ msgstr ""
+
+-#: fortran/decl.c:4876
++#: fortran/decl.c:5066
+ #, no-c-format
+ msgid "Unexpected END statement at %C"
+ msgstr "%C'de beklenmeyen END deyimi"
+
+ #. We would have required END [something].
+-#: fortran/decl.c:4885
++#: fortran/decl.c:5075
+ #, no-c-format
+ msgid "%s statement expected at %L"
+ msgstr "%s deyimi %L'de umuluyordu"
+
+-#: fortran/decl.c:4896
++#: fortran/decl.c:5086
+ #, no-c-format
+ msgid "Expecting %s statement at %C"
+ msgstr "%s deyimi umuluyordu (%C'de)"
+
+-#: fortran/decl.c:4911
++#: fortran/decl.c:5101
+ #, no-c-format
+ msgid "Expected block name of '%s' in %s statement at %C"
+ msgstr "'%s' için %s deyiminde (%C'de) blok ismi umuluyordu"
+
+-#: fortran/decl.c:4928
++#: fortran/decl.c:5118
+ #, no-c-format
+ msgid "Expected terminating name at %C"
+ msgstr "%C'de sonlandıran isim umuluyordu"
+
+-#: fortran/decl.c:4937
++#: fortran/decl.c:5127
+ #, no-c-format
+ msgid "Expected label '%s' for %s statement at %C"
+ msgstr "'%s' etiketi umuluyordu (%s deyiminde, %C'de)"
+
+-#: fortran/decl.c:4991
++#: fortran/decl.c:5181
+ #, no-c-format
+ msgid "Missing array specification at %L in DIMENSION statement"
+ msgstr "DIMENSION deyiminde %L'de dizi belirtimi eksik"
+
+-#: fortran/decl.c:5000
++#: fortran/decl.c:5189
+ #, no-c-format
++msgid "Dimensions specified for %s at %L after its initialisation"
++msgstr ""
++
++#: fortran/decl.c:5198
++#, no-c-format
+ msgid "Array specification must be deferred at %L"
+ msgstr "Dizi belirtimi %L'de ertelenmiş olmalı"
+
+-#: fortran/decl.c:5077
++#: fortran/decl.c:5275
+ #, no-c-format
+ msgid "Unexpected character in variable list at %C"
+ msgstr "%C'deki değişken listesinde umulmadık karakter"
+
+-#: fortran/decl.c:5114
++#: fortran/decl.c:5312
+ #, no-c-format
+ msgid "Expected '(' at %C"
+ msgstr "%C'de '(' umuluyordu"
+
+-#: fortran/decl.c:5128 fortran/decl.c:5168
++#: fortran/decl.c:5326 fortran/decl.c:5366
+ #, no-c-format
+ msgid "Expected variable name at %C"
+ msgstr "%C'de deÄŸiÅŸken ismi umuluyordu"
+
+-#: fortran/decl.c:5144
++#: fortran/decl.c:5342
+ #, fuzzy, no-c-format
+ msgid "Cray pointer at %C must be an integer"
+ msgstr "%C'deki Cray göstericisi bir tamsayı olmalı."
+
+-#: fortran/decl.c:5148
++#: fortran/decl.c:5346
+ #, fuzzy, no-c-format
+ msgid "Cray pointer at %C has %d bytes of precision; memory addresses require %d bytes"
+ msgstr "%C'deki Cray göstericisi %d baytlık hassasiyete sahip ancak bellek adresi %d bayt gerektiriyor"
+
+-#: fortran/decl.c:5154
++#: fortran/decl.c:5352
+ #, no-c-format
+ msgid "Expected \",\" at %C"
+ msgstr "%C'de \",\" umuluyordu"
+
+-#: fortran/decl.c:5217
++#: fortran/decl.c:5415
+ #, no-c-format
+ msgid "Expected \")\" at %C"
+ msgstr "%C'de \")\" umuluyordu"
+
+-#: fortran/decl.c:5229
++#: fortran/decl.c:5427
+ #, no-c-format
+ msgid "Expected \",\" or end of statement at %C"
+ msgstr "%C'de \",\" veya deyim sonu umuluyordu"
+
+-#: fortran/decl.c:5293
++#: fortran/decl.c:5491
+ #, fuzzy, no-c-format
+ msgid "Cray pointer declaration at %C requires -fcray-pointer flag"
+ msgstr "%C'deki Cray göstericisi bildirimi -fcray-pointer seçeneğini gerektiriyor"
+
+-#: fortran/decl.c:5388
++#: fortran/decl.c:5586
+ #, no-c-format
+ msgid "Access specification of the %s operator at %C has already been specified"
+ msgstr "%s iÅŸlecinin eriÅŸim belirtimi %C'de zaten belirtilmiÅŸti"
+
+-#: fortran/decl.c:5405
++#: fortran/decl.c:5603
+ #, no-c-format
+ msgid "Access specification of the .%s. operator at %C has already been specified"
+ msgstr ".%s. iÅŸlecinin eriÅŸim belirtimi %C'de zaten belirtilmiÅŸti"
+
+-#: fortran/decl.c:5443
++#: fortran/decl.c:5641
+ #, fuzzy, no-c-format
+ msgid "Fortran 2003: PROTECTED statement at %C"
+ msgstr "Fortran 2003: %C'de FLUSH deyimi"
+
+-#: fortran/decl.c:5483
++#: fortran/decl.c:5681
+ #, fuzzy, no-c-format
+ msgid "Syntax error in PROTECTED statement at %C"
+ msgstr "%C'deki SAVE deyiminde sözdizimi hatası"
+
+-#: fortran/decl.c:5504
++#: fortran/decl.c:5702
+ #, fuzzy, no-c-format
+ msgid "PRIVATE statement at %C is only allowed in the specification part of a module"
+ msgstr "%C'de DATA deyimi için bir PURE işlevinde izin verilmez"
+
+-#: fortran/decl.c:5541
++#: fortran/decl.c:5739
+ #, fuzzy, no-c-format
+ msgid "PUBLIC statement at %C is only allowed in the specification part of a module"
+ msgstr "%C'de DATA deyimi için bir PURE işlevinde izin verilmez"
+
+-#: fortran/decl.c:5568
++#: fortran/decl.c:5766
+ #, no-c-format
+ msgid "Expected variable name at %C in PARAMETER statement"
+ msgstr "%C'de PARAMETER deyiminde deÄŸiÅŸken ismi umuluyordu"
+
+-#: fortran/decl.c:5575
++#: fortran/decl.c:5773
+ #, no-c-format
+ msgid "Expected = sign in PARAMETER statement at %C"
+ msgstr "%C'deki PARAMETER deyiminde = iÅŸareti umuluyordu"
+
+-#: fortran/decl.c:5581
++#: fortran/decl.c:5779
+ #, no-c-format
+ msgid "Expected expression at %C in PARAMETER statement"
+ msgstr "%C'deki PARAMETER deyiminde ifade umuluyordu"
+
+-#: fortran/decl.c:5639
++#: fortran/decl.c:5799
++#, fuzzy, no-c-format
++msgid "Initializing already initialized variable at %C"
++msgstr "COMMON değişkeni `%s' için %C'de ilklendirme yapılamaz"
++
++#: fortran/decl.c:5844
+ #, no-c-format
+ msgid "Unexpected characters in PARAMETER statement at %C"
+ msgstr "%C'deki PARAMETER deyiminde umulmayan karakterler"
+
+-#: fortran/decl.c:5663
++#: fortran/decl.c:5868
+ #, no-c-format
+ msgid "Blanket SAVE statement at %C follows previous SAVE statement"
+ msgstr "%C'deki kapsamlı SAVE deyiminden önce bir SAVE deyimi var"
+
+-#: fortran/decl.c:5675
++#: fortran/decl.c:5880
+ #, no-c-format
+ msgid "SAVE statement at %C follows blanket SAVE statement"
+ msgstr "%C'deki SAVE deyiminden önce bir kapsamlı SAVE deyimi var"
+
+-#: fortran/decl.c:5722
++#: fortran/decl.c:5927
+ #, no-c-format
+ msgid "Syntax error in SAVE statement at %C"
+ msgstr "%C'deki SAVE deyiminde sözdizimi hatası"
+
+-#: fortran/decl.c:5733
++#: fortran/decl.c:5938
+ #, fuzzy, no-c-format
+ msgid "Fortran 2003: VALUE statement at %C"
+ msgstr "Fortran 2003: %C'de FLUSH deyimi"
+
+-#: fortran/decl.c:5773
++#: fortran/decl.c:5978
+ #, fuzzy, no-c-format
+ msgid "Syntax error in VALUE statement at %C"
+ msgstr "%C'deki SAVE deyiminde sözdizimi hatası"
+
+-#: fortran/decl.c:5784
++#: fortran/decl.c:5989
+ #, fuzzy, no-c-format
+ msgid "Fortran 2003: VOLATILE statement at %C"
+ msgstr "Fortran 2003: %C'de FLUSH deyimi"
+
+-#: fortran/decl.c:5826
++#: fortran/decl.c:6031
+ #, fuzzy, no-c-format
+ msgid "Syntax error in VOLATILE statement at %C"
+ msgstr "%C'deki SAVE deyiminde sözdizimi hatası"
+
+-#: fortran/decl.c:5848
++#: fortran/decl.c:6054
+ #, no-c-format
+ msgid "MODULE PROCEDURE at %C must be in a generic module interface"
+ msgstr "%C'deki MODULE PROCEDURE bir soysal modül arayüzü olmalı"
+
+-#: fortran/decl.c:5910
++#: fortran/decl.c:6142
+ #, fuzzy, no-c-format
+ msgid "Derived type at %C can only be PRIVATE in the specification part of a module"
+ msgstr "%C'deki türetilmiş tür sadece bir MODULE içinde PRIVATE olabilir"
+
+-#: fortran/decl.c:5922
++#: fortran/decl.c:6154
+ #, fuzzy, no-c-format
+ msgid "Derived type at %C can only be PUBLIC in the specification part of a module"
+ msgstr "%C'deki türetilmiş tür sadece bir MODULE içinde PUBLIC olabilir"
+
+-#: fortran/decl.c:5979
++#: fortran/decl.c:6211
+ #, no-c-format
+ msgid "Expected :: in TYPE definition at %C"
+ msgstr "%C'deki TYPE tanımında :: umuluyordu"
+
+-#: fortran/decl.c:5990
++#: fortran/decl.c:6222
+ #, no-c-format
+ msgid "Type name '%s' at %C cannot be the same as an intrinsic type"
+ msgstr "Tür ismi '%s' (%C'de) bir yerleşik türle aynı olamaz"
+
+-#: fortran/decl.c:6000
++#: fortran/decl.c:6232
+ #, no-c-format
+ msgid "Derived type name '%s' at %C already has a basic type of %s"
+ msgstr "Türetilmiş tür ismi '%s' %C'de zaten temel %s türünde"
+
+-#: fortran/decl.c:6016
++#: fortran/decl.c:6248
+ #, no-c-format
+ msgid "Derived type definition of '%s' at %C has already been defined"
+ msgstr "'%s' için türetilmiş tür tanımı %C'de zaten tanımlı"
+
+-#: fortran/decl.c:6054
++#: fortran/decl.c:6286
+ #, no-c-format
+ msgid "Cray Pointee at %C cannot be assumed shape array"
+ msgstr "%C'deki Cray göstericileri tahmini biçimli dizi olamaz"
+
+-#: fortran/decl.c:6074
++#: fortran/decl.c:6306
+ #, fuzzy, no-c-format
+ msgid "Fortran 2003: ENUM and ENUMERATOR at %C"
+ msgstr "Fortran 2003'te yeni: %C'de ENUM AND ENUMERATOR"
+
+-#: fortran/decl.c:6146
++#: fortran/decl.c:6378
+ #, no-c-format
+ msgid "ENUMERATOR %L not initialized with integer expression"
+ msgstr "bir tamsayı ifadesi ile ilklendirilmemiş ENUMERATOR %L"
+
+-#: fortran/decl.c:6195
++#: fortran/decl.c:6427
+ #, no-c-format
+ msgid "ENUM definition statement expected before %C"
+ msgstr "%C öncesinde ENUM tanım deyimi umuluyordu"
+
+-#: fortran/decl.c:6228
++#: fortran/decl.c:6460
+ #, no-c-format
+ msgid "Syntax error in ENUMERATOR definition at %C"
+ msgstr "%C'deki ENUMERATOR tanımında sözdizimi hatası"
+@@ -5197,21 +5157,21 @@
+ msgid " "
+ msgstr " "
+
+-#: fortran/dump-parse-tree.c:73 fortran/dump-parse-tree.c:626
++#: fortran/dump-parse-tree.c:73 fortran/dump-parse-tree.c:637
+ #, c-format
+ msgid "(%s "
+ msgstr "(%s "
+
+-#: fortran/dump-parse-tree.c:86 fortran/dump-parse-tree.c:1069
+-#: fortran/dump-parse-tree.c:1113 fortran/dump-parse-tree.c:1123
++#: fortran/dump-parse-tree.c:86 fortran/dump-parse-tree.c:1091
++#: fortran/dump-parse-tree.c:1135 fortran/dump-parse-tree.c:1145
+ #, c-format
+ msgid "%d"
+ msgstr "%d"
+
+ #: fortran/dump-parse-tree.c:90 fortran/dump-parse-tree.c:116
+ #: fortran/dump-parse-tree.c:159 fortran/dump-parse-tree.c:395
+-#: fortran/dump-parse-tree.c:518 fortran/dump-parse-tree.c:613
+-#: fortran/dump-parse-tree.c:636
++#: fortran/dump-parse-tree.c:518 fortran/dump-parse-tree.c:624
++#: fortran/dump-parse-tree.c:647
+ #, c-format
+ msgid ")"
+ msgstr ")"
+@@ -5349,7 +5309,7 @@
+ msgid "%.2x"
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:429 fortran/dump-parse-tree.c:732
++#: fortran/dump-parse-tree.c:429 fortran/dump-parse-tree.c:754
+ #, c-format
+ msgid "%s:"
+ msgstr "%s:"
+@@ -5464,748 +5424,753 @@
+ msgid "%s[["
+ msgstr "%s[["
+
+-#: fortran/dump-parse-tree.c:551
++#: fortran/dump-parse-tree.c:560
+ #, fuzzy, c-format
+ msgid "(%s %s %s %s %s"
+ msgstr "(%s %s %s %s"
+
+-#: fortran/dump-parse-tree.c:558
++#: fortran/dump-parse-tree.c:567
+ #, c-format
+ msgid " ALLOCATABLE"
+ msgstr " AYRILABÄ°LÄ°R"
+
+-#: fortran/dump-parse-tree.c:560 fortran/dump-parse-tree.c:631
++#: fortran/dump-parse-tree.c:569 fortran/dump-parse-tree.c:642
+ #, c-format
+ msgid " DIMENSION"
+ msgstr " BOYUT"
+
+-#: fortran/dump-parse-tree.c:562
++#: fortran/dump-parse-tree.c:571
+ #, c-format
+ msgid " EXTERNAL"
+ msgstr " HARÄ°CÄ°"
+
+-#: fortran/dump-parse-tree.c:564
++#: fortran/dump-parse-tree.c:573
+ #, c-format
+ msgid " INTRINSIC"
+ msgstr " YERLEŞİK"
+
+-#: fortran/dump-parse-tree.c:566
++#: fortran/dump-parse-tree.c:575
+ #, c-format
+ msgid " OPTIONAL"
+ msgstr " SEÇİMLİK"
+
+-#: fortran/dump-parse-tree.c:568 fortran/dump-parse-tree.c:629
++#: fortran/dump-parse-tree.c:577 fortran/dump-parse-tree.c:640
+ #, c-format
+ msgid " POINTER"
+ msgstr " GÖSTERİCİ"
+
+-#: fortran/dump-parse-tree.c:570
++#: fortran/dump-parse-tree.c:579
+ #, fuzzy, c-format
+ msgid " PROTECTED"
+ msgstr " BiÇiMLi"
+
+-#: fortran/dump-parse-tree.c:572
++#: fortran/dump-parse-tree.c:581
+ #, c-format
+ msgid " VALUE"
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:574
++#: fortran/dump-parse-tree.c:583
+ #, c-format
+ msgid " VOLATILE"
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:576
++#: fortran/dump-parse-tree.c:585
+ #, fuzzy, c-format
+ msgid " THREADPRIVATE"
+ msgstr " OKUYAZ="
+
+-#: fortran/dump-parse-tree.c:578
++#: fortran/dump-parse-tree.c:587
+ #, c-format
+ msgid " TARGET"
+ msgstr " HEDEF"
+
+-#: fortran/dump-parse-tree.c:580
++#: fortran/dump-parse-tree.c:589
+ #, c-format
+ msgid " DUMMY"
+ msgstr " SÖZDE"
+
+-#: fortran/dump-parse-tree.c:582
++#: fortran/dump-parse-tree.c:591
+ #, c-format
+ msgid " RESULT"
+ msgstr " SONUÇ"
+
+-#: fortran/dump-parse-tree.c:584
++#: fortran/dump-parse-tree.c:593
+ #, c-format
+ msgid " ENTRY"
+ msgstr " GÄ°RDÄ°"
+
+-#: fortran/dump-parse-tree.c:587
++#: fortran/dump-parse-tree.c:595
+ #, c-format
++msgid " BIND(C)"
++msgstr ""
++
++#: fortran/dump-parse-tree.c:598
++#, c-format
+ msgid " DATA"
+ msgstr " VERÄ°"
+
+-#: fortran/dump-parse-tree.c:589
++#: fortran/dump-parse-tree.c:600
+ #, c-format
+ msgid " USE-ASSOC"
+ msgstr " Ä°LÄ°ÅžKÄ°LÄ°"
+
+-#: fortran/dump-parse-tree.c:591
++#: fortran/dump-parse-tree.c:602
+ #, c-format
+ msgid " IN-NAMELIST"
+ msgstr " ADLÄ°STESÄ°NDE"
+
+-#: fortran/dump-parse-tree.c:593
++#: fortran/dump-parse-tree.c:604
+ #, c-format
+ msgid " IN-COMMON"
+ msgstr " ORTAK"
+
+-#: fortran/dump-parse-tree.c:596
++#: fortran/dump-parse-tree.c:607
+ #, c-format
+ msgid " ABSTRACT INTERFACE"
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:598
++#: fortran/dump-parse-tree.c:609
+ #, c-format
+ msgid " FUNCTION"
+ msgstr " Ä°ÅžLEV"
+
+-#: fortran/dump-parse-tree.c:600
++#: fortran/dump-parse-tree.c:611
+ #, c-format
+ msgid " SUBROUTINE"
+ msgstr " ALTÄ°ÅžLEV"
+
+-#: fortran/dump-parse-tree.c:602
++#: fortran/dump-parse-tree.c:613
+ #, c-format
+ msgid " IMPLICIT-TYPE"
+ msgstr " ÖRTÜK-TÜR"
+
+-#: fortran/dump-parse-tree.c:605
++#: fortran/dump-parse-tree.c:616
+ #, c-format
+ msgid " SEQUENCE"
+ msgstr " SIRA"
+
+-#: fortran/dump-parse-tree.c:607
++#: fortran/dump-parse-tree.c:618
+ #, c-format
+ msgid " ELEMENTAL"
+ msgstr " ÖĞESEL"
+
+-#: fortran/dump-parse-tree.c:609
++#: fortran/dump-parse-tree.c:620
+ #, c-format
+ msgid " PURE"
+ msgstr " ARI"
+
+-#: fortran/dump-parse-tree.c:611
++#: fortran/dump-parse-tree.c:622
+ #, c-format
+ msgid " RECURSIVE"
+ msgstr " İÇ_İÇE"
+
+-#: fortran/dump-parse-tree.c:635 fortran/dump-parse-tree.c:682
+-#: fortran/dump-parse-tree.c:706 fortran/dump-parse-tree.c:735
+-#: fortran/dump-parse-tree.c:1276 fortran/dump-parse-tree.c:1282
+-#: fortran/dump-parse-tree.c:1784
++#: fortran/dump-parse-tree.c:646 fortran/dump-parse-tree.c:693
++#: fortran/dump-parse-tree.c:717 fortran/dump-parse-tree.c:757
++#: fortran/dump-parse-tree.c:1298 fortran/dump-parse-tree.c:1304
++#: fortran/dump-parse-tree.c:1806
+ #, c-format
+ msgid " %s"
+ msgstr " %s"
+
+-#: fortran/dump-parse-tree.c:659
++#: fortran/dump-parse-tree.c:670
+ #, c-format
+ msgid "symbol %s "
+ msgstr "sembol %s "
+
+-#: fortran/dump-parse-tree.c:666
++#: fortran/dump-parse-tree.c:677
+ #, c-format
+ msgid "value: "
+ msgstr "deÄŸer: "
+
+-#: fortran/dump-parse-tree.c:673
++#: fortran/dump-parse-tree.c:684
+ #, c-format
+ msgid "Array spec:"
+ msgstr "Dizi belirtimi:"
+
+-#: fortran/dump-parse-tree.c:680
++#: fortran/dump-parse-tree.c:691
+ #, c-format
+ msgid "Generic interfaces:"
+ msgstr "Soysal arayüzler:"
+
+-#: fortran/dump-parse-tree.c:688
++#: fortran/dump-parse-tree.c:699
+ #, c-format
+ msgid "result: %s"
+ msgstr "sonuç: %s"
+
+-#: fortran/dump-parse-tree.c:694
++#: fortran/dump-parse-tree.c:705
+ #, c-format
+ msgid "components: "
+ msgstr "bileÅŸenler: "
+
+-#: fortran/dump-parse-tree.c:701
++#: fortran/dump-parse-tree.c:712
+ #, c-format
+ msgid "Formal arglist:"
+ msgstr "Biçimsel arg listesi:"
+
+-#: fortran/dump-parse-tree.c:708
++#: fortran/dump-parse-tree.c:719
+ #, c-format
+ msgid " [Alt Return]"
+ msgstr " [Alt Enter]"
+
+-#: fortran/dump-parse-tree.c:715
++#: fortran/dump-parse-tree.c:726
+ #, c-format
+ msgid "Formal namespace"
+ msgstr "Biçimsel isim alanı"
+
+-#: fortran/dump-parse-tree.c:771
++#: fortran/dump-parse-tree.c:793
+ #, c-format
+ msgid "common: /%s/ "
+ msgstr "ortak: /%s/ "
+
+-#: fortran/dump-parse-tree.c:779 fortran/dump-parse-tree.c:1720
++#: fortran/dump-parse-tree.c:801 fortran/dump-parse-tree.c:1742
+ #, c-format
+ msgid ", "
+ msgstr ", "
+
+-#: fortran/dump-parse-tree.c:791
++#: fortran/dump-parse-tree.c:813
+ #, c-format
+ msgid "symtree: %s Ambig %d"
+ msgstr "symtree: %s Tuhaf %d"
+
+-#: fortran/dump-parse-tree.c:794
++#: fortran/dump-parse-tree.c:816
+ #, c-format
+ msgid " from namespace %s"
+ msgstr " %s isimalanından"
+
+-#: fortran/dump-parse-tree.c:820
++#: fortran/dump-parse-tree.c:842
+ #, fuzzy, c-format
+ msgid "%s,"
+ msgstr "%s"
+
+-#: fortran/dump-parse-tree.c:852
++#: fortran/dump-parse-tree.c:874
+ #, c-format
+ msgid "!$OMP %s"
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:867 fortran/dump-parse-tree.c:1010
++#: fortran/dump-parse-tree.c:889 fortran/dump-parse-tree.c:1032
+ #, fuzzy, c-format
+ msgid " (%s)"
+ msgstr " %s"
+
+-#: fortran/dump-parse-tree.c:872
++#: fortran/dump-parse-tree.c:894
+ #, fuzzy, c-format
+ msgid " ("
+ msgstr ", ("
+
+-#: fortran/dump-parse-tree.c:888
++#: fortran/dump-parse-tree.c:910
+ #, c-format
+ msgid " IF("
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:894
++#: fortran/dump-parse-tree.c:916
+ #, c-format
+ msgid " NUM_THREADS("
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:910
++#: fortran/dump-parse-tree.c:932
+ #, c-format
+ msgid " SCHEDULE (%s"
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:930
++#: fortran/dump-parse-tree.c:952
+ #, c-format
+ msgid " DEFAULT(%s)"
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:933
++#: fortran/dump-parse-tree.c:955
+ #, fuzzy, c-format
+ msgid " ORDERED"
+ msgstr " AÇIK="
+
+-#: fortran/dump-parse-tree.c:958
++#: fortran/dump-parse-tree.c:980
+ #, fuzzy, c-format
+ msgid " REDUCTION(%s:"
+ msgstr " Ä°ÅžLEV"
+
+-#: fortran/dump-parse-tree.c:972
++#: fortran/dump-parse-tree.c:994
+ #, fuzzy, c-format
+ msgid " %s("
+ msgstr "%s("
+
+-#: fortran/dump-parse-tree.c:988
++#: fortran/dump-parse-tree.c:1010
+ #, c-format
+ msgid "!$OMP SECTION\n"
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:997
++#: fortran/dump-parse-tree.c:1019
+ #, c-format
+ msgid "!$OMP END %s"
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:1002
++#: fortran/dump-parse-tree.c:1024
+ #, c-format
+ msgid " COPYPRIVATE("
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:1007
++#: fortran/dump-parse-tree.c:1029
+ #, fuzzy, c-format
+ msgid " NOWAIT"
+ msgstr " BiRiM="
+
+-#: fortran/dump-parse-tree.c:1034
++#: fortran/dump-parse-tree.c:1056
+ #, c-format
+ msgid "NOP"
+ msgstr "SORUN-YOK"
+
+-#: fortran/dump-parse-tree.c:1038
++#: fortran/dump-parse-tree.c:1060
+ #, c-format
+ msgid "CONTINUE"
+ msgstr "DEVAM"
+
+-#: fortran/dump-parse-tree.c:1042
++#: fortran/dump-parse-tree.c:1064
+ #, c-format
+ msgid "ENTRY %s"
+ msgstr "GiRDi %s"
+
+-#: fortran/dump-parse-tree.c:1047
++#: fortran/dump-parse-tree.c:1069
+ #, c-format
+ msgid "ASSIGN "
+ msgstr "ATAMA "
+
+-#: fortran/dump-parse-tree.c:1054
++#: fortran/dump-parse-tree.c:1076
+ #, c-format
+ msgid "LABEL ASSIGN "
+ msgstr "YAFTA ATAMA "
+
+-#: fortran/dump-parse-tree.c:1056
++#: fortran/dump-parse-tree.c:1078
+ #, c-format
+ msgid " %d"
+ msgstr " %d"
+
+-#: fortran/dump-parse-tree.c:1060
++#: fortran/dump-parse-tree.c:1082
+ #, c-format
+ msgid "POINTER ASSIGN "
+ msgstr "GÖSERİCİ ATAMA "
+
+-#: fortran/dump-parse-tree.c:1067
++#: fortran/dump-parse-tree.c:1089
+ #, c-format
+ msgid "GOTO "
+ msgstr "GÄ°T "
+
+-#: fortran/dump-parse-tree.c:1076
++#: fortran/dump-parse-tree.c:1098
+ #, c-format
+ msgid ", ("
+ msgstr ", ("
+
+-#: fortran/dump-parse-tree.c:1092 fortran/dump-parse-tree.c:1094
++#: fortran/dump-parse-tree.c:1114 fortran/dump-parse-tree.c:1116
+ #, c-format
+ msgid "CALL %s "
+ msgstr "%s ÇAĞRISI"
+
+-#: fortran/dump-parse-tree.c:1096
++#: fortran/dump-parse-tree.c:1118
+ #, fuzzy, c-format
+ msgid "CALL ?? "
+ msgstr "%s ÇAĞRISI"
+
+-#: fortran/dump-parse-tree.c:1102
++#: fortran/dump-parse-tree.c:1124
+ #, c-format
+ msgid "RETURN "
+ msgstr "DÖN "
+
+-#: fortran/dump-parse-tree.c:1108
++#: fortran/dump-parse-tree.c:1130
+ #, c-format
+ msgid "PAUSE "
+ msgstr "BEKLET "
+
+-#: fortran/dump-parse-tree.c:1118
++#: fortran/dump-parse-tree.c:1140
+ #, c-format
+ msgid "STOP "
+ msgstr "DUR "
+
+-#: fortran/dump-parse-tree.c:1128 fortran/dump-parse-tree.c:1136
++#: fortran/dump-parse-tree.c:1150 fortran/dump-parse-tree.c:1158
+ #, c-format
+ msgid "IF "
+ msgstr "EÄžER "
+
+-#: fortran/dump-parse-tree.c:1130
++#: fortran/dump-parse-tree.c:1152
+ #, c-format
+ msgid " %d, %d, %d"
+ msgstr " %d, %d, %d"
+
+-#: fortran/dump-parse-tree.c:1147
++#: fortran/dump-parse-tree.c:1169
+ #, c-format
+ msgid "ELSE\n"
+ msgstr "DEĞİLSE\n"
+
+-#: fortran/dump-parse-tree.c:1150
++#: fortran/dump-parse-tree.c:1172
+ #, c-format
+ msgid "ELSE IF "
+ msgstr "DEĞİLSE EĞER"
+
+-#: fortran/dump-parse-tree.c:1160
++#: fortran/dump-parse-tree.c:1182
+ #, c-format
+ msgid "ENDIF"
+ msgstr "EÄžERSONU"
+
+-#: fortran/dump-parse-tree.c:1165
++#: fortran/dump-parse-tree.c:1187
+ #, c-format
+ msgid "SELECT CASE "
+ msgstr "DURUM SEÇİMİ "
+
+-#: fortran/dump-parse-tree.c:1173
++#: fortran/dump-parse-tree.c:1195
+ #, c-format
+ msgid "CASE "
+ msgstr "DURUM "
+
+-#: fortran/dump-parse-tree.c:1189
++#: fortran/dump-parse-tree.c:1211
+ #, c-format
+ msgid "END SELECT"
+ msgstr "SEÇİM SONU"
+
+-#: fortran/dump-parse-tree.c:1193
++#: fortran/dump-parse-tree.c:1215
+ #, c-format
+ msgid "WHERE "
+ msgstr "OLDUÄžUNDA"
+
+-#: fortran/dump-parse-tree.c:1204
++#: fortran/dump-parse-tree.c:1226
+ #, c-format
+ msgid "ELSE WHERE "
+ msgstr "OLMADIÄžINDA"
+
+-#: fortran/dump-parse-tree.c:1211
++#: fortran/dump-parse-tree.c:1233
+ #, c-format
+ msgid "END WHERE"
+ msgstr "OLDUSONU"
+
+-#: fortran/dump-parse-tree.c:1216
++#: fortran/dump-parse-tree.c:1238
+ #, c-format
+ msgid "FORALL "
+ msgstr "TÜMÜİÇİN "
+
+-#: fortran/dump-parse-tree.c:1241
++#: fortran/dump-parse-tree.c:1263
+ #, c-format
+ msgid "END FORALL"
+ msgstr "TÜMÜİÇİN SONU"
+
+-#: fortran/dump-parse-tree.c:1245
++#: fortran/dump-parse-tree.c:1267
+ #, c-format
+ msgid "DO "
+ msgstr "YAP "
+
+-#: fortran/dump-parse-tree.c:1259 fortran/dump-parse-tree.c:1270
++#: fortran/dump-parse-tree.c:1281 fortran/dump-parse-tree.c:1292
+ #, c-format
+ msgid "END DO"
+ msgstr "YAP SONU"
+
+-#: fortran/dump-parse-tree.c:1263
++#: fortran/dump-parse-tree.c:1285
+ #, c-format
+ msgid "DO WHILE "
+ msgstr "OLANA KADAR"
+
+-#: fortran/dump-parse-tree.c:1274
++#: fortran/dump-parse-tree.c:1296
+ #, c-format
+ msgid "CYCLE"
+ msgstr "DONGU"
+
+-#: fortran/dump-parse-tree.c:1280
++#: fortran/dump-parse-tree.c:1302
+ #, c-format
+ msgid "EXIT"
+ msgstr "ÇIK"
+
+-#: fortran/dump-parse-tree.c:1286
++#: fortran/dump-parse-tree.c:1308
+ #, c-format
+ msgid "ALLOCATE "
+ msgstr "AYIR "
+
+-#: fortran/dump-parse-tree.c:1289 fortran/dump-parse-tree.c:1305
++#: fortran/dump-parse-tree.c:1311 fortran/dump-parse-tree.c:1327
+ #, c-format
+ msgid " STAT="
+ msgstr " DURUM="
+
+-#: fortran/dump-parse-tree.c:1302
++#: fortran/dump-parse-tree.c:1324
+ #, c-format
+ msgid "DEALLOCATE "
+ msgstr "YERAÇ "
+
+-#: fortran/dump-parse-tree.c:1318
++#: fortran/dump-parse-tree.c:1340
+ #, c-format
+ msgid "OPEN"
+ msgstr "AÇIK"
+
+-#: fortran/dump-parse-tree.c:1323 fortran/dump-parse-tree.c:1402
+-#: fortran/dump-parse-tree.c:1444 fortran/dump-parse-tree.c:1467
+-#: fortran/dump-parse-tree.c:1619
++#: fortran/dump-parse-tree.c:1345 fortran/dump-parse-tree.c:1424
++#: fortran/dump-parse-tree.c:1466 fortran/dump-parse-tree.c:1489
++#: fortran/dump-parse-tree.c:1641
+ #, c-format
+ msgid " UNIT="
+ msgstr " BiRiM="
+
+-#: fortran/dump-parse-tree.c:1328 fortran/dump-parse-tree.c:1407
+-#: fortran/dump-parse-tree.c:1449 fortran/dump-parse-tree.c:1478
+-#: fortran/dump-parse-tree.c:1636
++#: fortran/dump-parse-tree.c:1350 fortran/dump-parse-tree.c:1429
++#: fortran/dump-parse-tree.c:1471 fortran/dump-parse-tree.c:1500
++#: fortran/dump-parse-tree.c:1658
+ #, c-format
+ msgid " IOMSG="
+ msgstr " G/Ç iLETiSi="
+
+-#: fortran/dump-parse-tree.c:1333 fortran/dump-parse-tree.c:1412
+-#: fortran/dump-parse-tree.c:1454 fortran/dump-parse-tree.c:1483
+-#: fortran/dump-parse-tree.c:1641
++#: fortran/dump-parse-tree.c:1355 fortran/dump-parse-tree.c:1434
++#: fortran/dump-parse-tree.c:1476 fortran/dump-parse-tree.c:1505
++#: fortran/dump-parse-tree.c:1663
+ #, c-format
+ msgid " IOSTAT="
+ msgstr " G/Ç DURUMU="
+
+-#: fortran/dump-parse-tree.c:1338 fortran/dump-parse-tree.c:1472
++#: fortran/dump-parse-tree.c:1360 fortran/dump-parse-tree.c:1494
+ #, c-format
+ msgid " FILE="
+ msgstr " DOSYA="
+
+-#: fortran/dump-parse-tree.c:1343 fortran/dump-parse-tree.c:1417
++#: fortran/dump-parse-tree.c:1365 fortran/dump-parse-tree.c:1439
+ #, c-format
+ msgid " STATUS="
+ msgstr " DURUM="
+
+-#: fortran/dump-parse-tree.c:1348 fortran/dump-parse-tree.c:1513
++#: fortran/dump-parse-tree.c:1370 fortran/dump-parse-tree.c:1535
+ #, c-format
+ msgid " ACCESS="
+ msgstr " ERiÅžiM="
+
+-#: fortran/dump-parse-tree.c:1353 fortran/dump-parse-tree.c:1529
++#: fortran/dump-parse-tree.c:1375 fortran/dump-parse-tree.c:1551
+ #, c-format
+ msgid " FORM="
+ msgstr " BİÇİM="
+
+-#: fortran/dump-parse-tree.c:1358 fortran/dump-parse-tree.c:1544
++#: fortran/dump-parse-tree.c:1380 fortran/dump-parse-tree.c:1566
+ #, c-format
+ msgid " RECL="
+ msgstr " GERÄ°AL="
+
+-#: fortran/dump-parse-tree.c:1363 fortran/dump-parse-tree.c:1554
++#: fortran/dump-parse-tree.c:1385 fortran/dump-parse-tree.c:1576
+ #, c-format
+ msgid " BLANK="
+ msgstr " BOÅž="
+
+-#: fortran/dump-parse-tree.c:1368 fortran/dump-parse-tree.c:1559
++#: fortran/dump-parse-tree.c:1390 fortran/dump-parse-tree.c:1581
+ #, c-format
+ msgid " POSITION="
+ msgstr " KONUM="
+
+-#: fortran/dump-parse-tree.c:1373 fortran/dump-parse-tree.c:1564
++#: fortran/dump-parse-tree.c:1395 fortran/dump-parse-tree.c:1586
+ #, c-format
+ msgid " ACTION="
+ msgstr " EYLEM="
+
+-#: fortran/dump-parse-tree.c:1378 fortran/dump-parse-tree.c:1584
++#: fortran/dump-parse-tree.c:1400 fortran/dump-parse-tree.c:1606
+ #, c-format
+ msgid " DELIM="
+ msgstr " AYRAÇ="
+
+-#: fortran/dump-parse-tree.c:1383 fortran/dump-parse-tree.c:1589
++#: fortran/dump-parse-tree.c:1405 fortran/dump-parse-tree.c:1611
+ #, c-format
+ msgid " PAD="
+ msgstr " ADIM="
+
+-#: fortran/dump-parse-tree.c:1388 fortran/dump-parse-tree.c:1594
++#: fortran/dump-parse-tree.c:1410 fortran/dump-parse-tree.c:1616
+ #, c-format
+ msgid " CONVERT="
+ msgstr " ÇEViR="
+
+-#: fortran/dump-parse-tree.c:1392 fortran/dump-parse-tree.c:1421
+-#: fortran/dump-parse-tree.c:1458 fortran/dump-parse-tree.c:1599
+-#: fortran/dump-parse-tree.c:1676
++#: fortran/dump-parse-tree.c:1414 fortran/dump-parse-tree.c:1443
++#: fortran/dump-parse-tree.c:1480 fortran/dump-parse-tree.c:1621
++#: fortran/dump-parse-tree.c:1698
+ #, c-format
+ msgid " ERR=%d"
+ msgstr " HATA=%d"
+
+-#: fortran/dump-parse-tree.c:1397
++#: fortran/dump-parse-tree.c:1419
+ #, c-format
+ msgid "CLOSE"
+ msgstr "KAPALI"
+
+-#: fortran/dump-parse-tree.c:1425
++#: fortran/dump-parse-tree.c:1447
+ #, c-format
+ msgid "BACKSPACE"
+ msgstr "GERiSiL"
+
+-#: fortran/dump-parse-tree.c:1429
++#: fortran/dump-parse-tree.c:1451
+ #, c-format
+ msgid "ENDFILE"
+ msgstr "DOSYASONU"
+
+-#: fortran/dump-parse-tree.c:1433
++#: fortran/dump-parse-tree.c:1455
+ #, c-format
+ msgid "REWIND"
+ msgstr "BAÅžA_SAR"
+
+-#: fortran/dump-parse-tree.c:1437
++#: fortran/dump-parse-tree.c:1459
+ #, c-format
+ msgid "FLUSH"
+ msgstr "BOÅžALT"
+
+-#: fortran/dump-parse-tree.c:1462
++#: fortran/dump-parse-tree.c:1484
+ #, c-format
+ msgid "INQUIRE"
+ msgstr "SOR"
+
+-#: fortran/dump-parse-tree.c:1488
++#: fortran/dump-parse-tree.c:1510
+ #, c-format
+ msgid " EXIST="
+ msgstr " MEVCUT="
+
+-#: fortran/dump-parse-tree.c:1493
++#: fortran/dump-parse-tree.c:1515
+ #, c-format
+ msgid " OPENED="
+ msgstr " AÇIK="
+
+-#: fortran/dump-parse-tree.c:1498
++#: fortran/dump-parse-tree.c:1520
+ #, c-format
+ msgid " NUMBER="
+ msgstr " SAYI="
+
+-#: fortran/dump-parse-tree.c:1503
++#: fortran/dump-parse-tree.c:1525
+ #, c-format
+ msgid " NAMED="
+ msgstr " ADLI="
+
+-#: fortran/dump-parse-tree.c:1508
++#: fortran/dump-parse-tree.c:1530
+ #, c-format
+ msgid " NAME="
+ msgstr " AD="
+
+-#: fortran/dump-parse-tree.c:1518
++#: fortran/dump-parse-tree.c:1540
+ #, c-format
+ msgid " SEQUENTIAL="
+ msgstr " SIRALI="
+
+-#: fortran/dump-parse-tree.c:1524
++#: fortran/dump-parse-tree.c:1546
+ #, c-format
+ msgid " DIRECT="
+ msgstr " DOÄžRUDAN="
+
+-#: fortran/dump-parse-tree.c:1534
++#: fortran/dump-parse-tree.c:1556
+ #, c-format
+ msgid " FORMATTED"
+ msgstr " BiÇiMLi"
+
+-#: fortran/dump-parse-tree.c:1539
++#: fortran/dump-parse-tree.c:1561
+ #, c-format
+ msgid " UNFORMATTED="
+ msgstr " BiÇiMSiZ="
+
+-#: fortran/dump-parse-tree.c:1549
++#: fortran/dump-parse-tree.c:1571
+ #, c-format
+ msgid " NEXTREC="
+ msgstr " SONRAKÄ°="
+
+-#: fortran/dump-parse-tree.c:1569
++#: fortran/dump-parse-tree.c:1591
+ #, c-format
+ msgid " READ="
+ msgstr " OKU="
+
+-#: fortran/dump-parse-tree.c:1574
++#: fortran/dump-parse-tree.c:1596
+ #, c-format
+ msgid " WRITE="
+ msgstr " YAZ="
+
+-#: fortran/dump-parse-tree.c:1579
++#: fortran/dump-parse-tree.c:1601
+ #, c-format
+ msgid " READWRITE="
+ msgstr " OKUYAZ="
+
+-#: fortran/dump-parse-tree.c:1603
++#: fortran/dump-parse-tree.c:1625
+ #, c-format
+ msgid "IOLENGTH "
+ msgstr "G/Ç-UZUNLUĞU "
+
+-#: fortran/dump-parse-tree.c:1609
++#: fortran/dump-parse-tree.c:1631
+ #, c-format
+ msgid "READ"
+ msgstr "OKU"
+
+-#: fortran/dump-parse-tree.c:1613
++#: fortran/dump-parse-tree.c:1635
+ #, c-format
+ msgid "WRITE"
+ msgstr "YAZ"
+
+-#: fortran/dump-parse-tree.c:1625
++#: fortran/dump-parse-tree.c:1647
+ #, c-format
+ msgid " FMT="
+ msgstr " BÇM="
+
+-#: fortran/dump-parse-tree.c:1630
++#: fortran/dump-parse-tree.c:1652
+ #, c-format
+ msgid " FMT=%d"
+ msgstr " BÇM=%d"
+
+-#: fortran/dump-parse-tree.c:1632
++#: fortran/dump-parse-tree.c:1654
+ #, c-format
+ msgid " NML=%s"
+ msgstr " NML=%s"
+
+-#: fortran/dump-parse-tree.c:1646
++#: fortran/dump-parse-tree.c:1668
+ #, c-format
+ msgid " SIZE="
+ msgstr " BOYUT="
+
+-#: fortran/dump-parse-tree.c:1651
++#: fortran/dump-parse-tree.c:1673
+ #, c-format
+ msgid " REC="
+ msgstr " KYT="
+
+-#: fortran/dump-parse-tree.c:1656
++#: fortran/dump-parse-tree.c:1678
+ #, c-format
+ msgid " ADVANCE="
+ msgstr " Ä°LERÄ°="
+
+-#: fortran/dump-parse-tree.c:1667
++#: fortran/dump-parse-tree.c:1689
+ #, c-format
+ msgid "TRANSFER "
+ msgstr "AKTARIM "
+
+-#: fortran/dump-parse-tree.c:1672
++#: fortran/dump-parse-tree.c:1694
+ #, c-format
+ msgid "DT_END"
+ msgstr "DT_SONU"
+
+-#: fortran/dump-parse-tree.c:1678
++#: fortran/dump-parse-tree.c:1700
+ #, c-format
+ msgid " END=%d"
+ msgstr " SON=%d"
+
+-#: fortran/dump-parse-tree.c:1680
++#: fortran/dump-parse-tree.c:1702
+ #, c-format
+ msgid " EOR=%d"
+ msgstr " EOR=%d"
+
+-#: fortran/dump-parse-tree.c:1714
++#: fortran/dump-parse-tree.c:1736
+ #, c-format
+ msgid "Equivalence: "
+ msgstr "EÅŸdeÄŸeri: "
+
+-#: fortran/dump-parse-tree.c:1740
++#: fortran/dump-parse-tree.c:1762
+ #, c-format
+ msgid "Namespace:"
+ msgstr "İsimalanı:"
+
+-#: fortran/dump-parse-tree.c:1754
++#: fortran/dump-parse-tree.c:1776
+ #, c-format
+ msgid " %c-%c: "
+ msgstr " %c-%c: "
+
+-#: fortran/dump-parse-tree.c:1756
++#: fortran/dump-parse-tree.c:1778
+ #, c-format
+ msgid " %c: "
+ msgstr " %c: "
+
+-#: fortran/dump-parse-tree.c:1765
++#: fortran/dump-parse-tree.c:1787
+ #, c-format
+ msgid "procedure name = %s"
+ msgstr "yordam ismi = %s"
+
+-#: fortran/dump-parse-tree.c:1781
++#: fortran/dump-parse-tree.c:1803
+ #, c-format
+ msgid "Operator interfaces for %s:"
+ msgstr "%s için işleç arayüzleri:"
+
+-#: fortran/dump-parse-tree.c:1790
++#: fortran/dump-parse-tree.c:1812
+ #, c-format
+ msgid "User operators:\n"
+ msgstr "Kullanıcı işleçleri:\n"
+
+-#: fortran/dump-parse-tree.c:1806
++#: fortran/dump-parse-tree.c:1828
+ #, c-format
+ msgid "CONTAINS\n"
+ msgstr "İÇEREREK\n"
+@@ -6227,309 +6192,349 @@
+ msgid "Error count reached limit of %d."
+ msgstr ""
+
+-#: fortran/error.c:670 fortran/error.c:725 fortran/error.c:762
++#: fortran/error.c:670 fortran/error.c:724 fortran/error.c:761
+ msgid "Warning:"
+ msgstr "UYARI:"
+
+-#: fortran/error.c:727 fortran/error.c:810 fortran/error.c:836
++#: fortran/error.c:726 fortran/error.c:809 fortran/error.c:835
+ msgid "Error:"
+ msgstr "Hata:"
+
+-#: fortran/error.c:860
++#: fortran/error.c:859
+ msgid "Fatal Error:"
+ msgstr "Yasamsal Hata:"
+
+-#: fortran/error.c:879
++#: fortran/error.c:878
+ #, no-c-format
+ msgid "Internal Error at (1):"
+ msgstr "Dahili Hata (1):"
+
+-#: fortran/expr.c:252
++#: fortran/expr.c:253
+ #, c-format
+ msgid "Constant expression required at %C"
+ msgstr "%C'de sabit ifadesi gerekir"
+
+-#: fortran/expr.c:255
++#: fortran/expr.c:256
+ #, c-format
+ msgid "Integer expression required at %C"
+ msgstr "%C'de tamsayı ifadesi gerekir"
+
+-#: fortran/expr.c:260
++#: fortran/expr.c:261
+ #, c-format
+ msgid "Integer value too large in expression at %C"
+ msgstr "%C'deki ifade içindeki tamsayı değer çok büyük"
+
+-#: fortran/expr.c:1018 fortran/expr.c:1189 fortran/expr.c:1240
++#: fortran/expr.c:1037
+ #, fuzzy, no-c-format
++msgid "Index in dimension %d is out of bounds at %L"
++msgstr "%L'de DIM'in argümanı sınırların dışında"
++
++#: fortran/expr.c:1208 fortran/expr.c:1259
++#, fuzzy, no-c-format
+ msgid "index in dimension %d is out of bounds at %L"
+ msgstr "%L'deki altdizge son indisi sınırların dışında"
+
+-#: fortran/expr.c:1789
++#: fortran/expr.c:1808
+ #, no-c-format
+ msgid "elemental function arguments at %C are not compliant"
+ msgstr ""
+
+-#: fortran/expr.c:1833
++#: fortran/expr.c:1852
+ #, no-c-format
+ msgid "Numeric or CHARACTER operands are required in expression at %L"
+ msgstr "%L'deki ifade içinde sayısal terimler ya da CHARACTER terimleri gerekiyor"
+
+-#: fortran/expr.c:1853
++#: fortran/expr.c:1872
+ #, fuzzy, no-c-format
+ msgid "Fortran 2003: Noninteger exponent in an initialization expression at %L"
+ msgstr "%C'de bir ilklendirme ifadesi umuluyordu"
+
+-#: fortran/expr.c:1868
++#: fortran/expr.c:1887
+ #, no-c-format
+ msgid "Concatenation operator in expression at %L must have two CHARACTER operands"
+ msgstr "%L'deki ifade içindeki ardarda ekleme işleçleri iki CHARACTER terimine sahip olmalıdır"
+
+-#: fortran/expr.c:1875
++#: fortran/expr.c:1894
+ #, no-c-format
+ msgid "Concat operator at %L must concatenate strings of the same kind"
+ msgstr "%L'deki ardarda ekleme işleci aynı cins dizgeleri eklemeli"
+
+-#: fortran/expr.c:1885
++#: fortran/expr.c:1904
+ #, no-c-format
+ msgid ".NOT. operator in expression at %L must have a LOGICAL operand"
+ msgstr "%L'deki ifade içindeki .NOT. işleci bir LOGICAL terime sahip olmalıdır"
+
+-#: fortran/expr.c:1901
++#: fortran/expr.c:1920
+ #, no-c-format
+ msgid "LOGICAL operands are required in expression at %L"
+ msgstr "%L'deki ifadede LOGICAL terimler gerekiyor"
+
+-#: fortran/expr.c:1912
++#: fortran/expr.c:1931
+ #, no-c-format
+ msgid "Only intrinsic operators can be used in expression at %L"
+ msgstr "%L'deki ifadede sadece yerleşik işleçler kullanılabilir"
+
+-#: fortran/expr.c:1920
++#: fortran/expr.c:1939
+ #, no-c-format
+ msgid "Numeric operands are required in expression at %L"
+ msgstr "%L'deki ifade içinde sayısal terimler gerekiyor"
+
+-#: fortran/expr.c:1985
++#: fortran/expr.c:2030
+ #, fuzzy, no-c-format
+-msgid "Inquiry function '%s' at %L is not permitted in an initialization expression"
+-msgstr "%s'in KIND parametresi %L'de bir ilklendirme ifadesi olmalıdır"
+-
+-#: fortran/expr.c:2015
+-#, fuzzy, no-c-format
+ msgid "Assumed character length variable '%s' in constant expression at %L"
+ msgstr "F95, '%s' varsayılan karakter uzunluğu değişkenine %L'deki sabit ifadesi içinde izin vermez"
+
+-#: fortran/expr.c:2061 fortran/expr.c:2067
++#: fortran/expr.c:2076 fortran/expr.c:2082
+ #, fuzzy, no-c-format
+ msgid "transformational intrinsic '%s' at %L is not permitted in an initialization expression"
+ msgstr "%s'in KIND parametresi %L'de bir ilklendirme ifadesi olmalıdır"
+
+-#: fortran/expr.c:2098
++#: fortran/expr.c:2114
+ #, no-c-format
+ msgid "Extension: Evaluation of nonstandard initialization expression at %L"
+ msgstr "Ek: %L'de standartdışı ilklendirme ifadesinin değerlenimi"
+
+-#: fortran/expr.c:2151
++#: fortran/expr.c:2167
+ #, fuzzy, no-c-format
+ msgid "Function '%s' in initialization expression at %L must be an intrinsic or a specification function"
+ msgstr "'%s' işlevi (%L'deki ilklendirme ifadesindeki) bir yerleşik işlev olmalı"
+
+-#: fortran/expr.c:2163
++#: fortran/expr.c:2179
+ #, fuzzy, no-c-format
+ msgid "Intrinsic function '%s' at %L is not permitted in an initialization expression"
+ msgstr "%s'in KIND parametresi %L'de bir ilklendirme ifadesi olmalıdır"
+
+-#: fortran/expr.c:2207
++#: fortran/expr.c:2214
++#, no-c-format
++msgid "PARAMETER '%s' is used at %L before its definition is complete"
++msgstr ""
++
++#: fortran/expr.c:2234
+ #, fuzzy, no-c-format
+ msgid "Assumed size array '%s' at %L is not permitted in an initialization expression"
+ msgstr "%s'in KIND parametresi %L'de bir ilklendirme ifadesi olmalıdır"
+
+-#: fortran/expr.c:2213
++#: fortran/expr.c:2240
+ #, fuzzy, no-c-format
+ msgid "Assumed shape array '%s' at %L is not permitted in an initialization expression"
+ msgstr "%s'in KIND parametresi %L'de bir ilklendirme ifadesi olmalıdır"
+
+-#: fortran/expr.c:2219
++#: fortran/expr.c:2246
+ #, fuzzy, no-c-format
+ msgid "Deferred array '%s' at %L is not permitted in an initialization expression"
+ msgstr "%s'in KIND parametresi %L'de bir ilklendirme ifadesi olmalıdır"
+
+-#: fortran/expr.c:2229
++#: fortran/expr.c:2252
++#, fuzzy, no-c-format
++msgid "Array '%s' at %L is a variable, which does not reduce to a constant expression"
++msgstr "Bir sabit ifadesine indirgenmeyen '%s' parametresi %L'de ya bildirilmemiÅŸ ya da deÄŸiÅŸken deÄŸil"
++
++#: fortran/expr.c:2262
+ #, no-c-format
+ msgid "Parameter '%s' at %L has not been declared or is a variable, which does not reduce to a constant expression"
+ msgstr "Bir sabit ifadesine indirgenmeyen '%s' parametresi %L'de ya bildirilmemiÅŸ ya da deÄŸiÅŸken deÄŸil"
+
+-#: fortran/expr.c:2317
++#: fortran/expr.c:2350
+ #, no-c-format
+ msgid "Initialization expression didn't reduce %C"
+ msgstr "Ä°lklendirme ifadesi %C indirgemedi"
+
+-#: fortran/expr.c:2360
++#: fortran/expr.c:2393
+ #, no-c-format
+ msgid "Specification function '%s' at %L cannot be a statement function"
+ msgstr "Belirtim iÅŸlevi '%s' (%L'de) bir deyim iÅŸlevi olamaz"
+
+-#: fortran/expr.c:2367
++#: fortran/expr.c:2400
+ #, no-c-format
+ msgid "Specification function '%s' at %L cannot be an internal function"
+ msgstr "Belirtim iÅŸlevi '%s' (%L'de) dahili bir iÅŸlev olamaz"
+
+-#: fortran/expr.c:2374
++#: fortran/expr.c:2407
+ #, no-c-format
+ msgid "Specification function '%s' at %L must be PURE"
+ msgstr "Belirtim işlevi '%s' (%L'de) PURE olmalı"
+
+-#: fortran/expr.c:2381
++#: fortran/expr.c:2414
+ #, no-c-format
+ msgid "Specification function '%s' at %L cannot be RECURSIVE"
+ msgstr "Belirtim iÅŸlevi '%s' (%L'de) RECURSIVE olamaz"
+
+-#: fortran/expr.c:2443
++#: fortran/expr.c:2476
+ #, fuzzy, no-c-format
+ msgid "Dummy argument '%s' not allowed in expression at %L"
+ msgstr "Değişken '%s' (%L'de) ifade içinde görünemez"
+
+-#: fortran/expr.c:2450
++#: fortran/expr.c:2483
+ #, no-c-format
+ msgid "Dummy argument '%s' at %L cannot be OPTIONAL"
+ msgstr "Sözde argüman '%s' (%L'de) OPTIONAL olamaz"
+
+-#: fortran/expr.c:2457
++#: fortran/expr.c:2490
+ #, no-c-format
+ msgid "Dummy argument '%s' at %L cannot be INTENT(OUT)"
+ msgstr "Sözde argüman '%s' (%L'de) INTENT(OUT) olamaz"
+
+-#: fortran/expr.c:2479
++#: fortran/expr.c:2513
+ #, no-c-format
+ msgid "Variable '%s' cannot appear in the expression at %L"
+ msgstr "Değişken '%s' (%L'de) ifade içinde görünemez"
+
+-#: fortran/expr.c:2528
++#: fortran/expr.c:2562
+ #, no-c-format
+ msgid "Expression at %L must be of INTEGER type"
+ msgstr "%L'deki ifade INTEGER türünde olmalı"
+
+-#: fortran/expr.c:2537
++#: fortran/expr.c:2571
+ #, fuzzy, no-c-format
+ msgid "Function '%s' at %L must be PURE"
+ msgstr "Belirtim işlevi '%s' (%L'de) PURE olmalı"
+
+-#: fortran/expr.c:2546
++#: fortran/expr.c:2580
+ #, no-c-format
+ msgid "Expression at %L must be scalar"
+ msgstr "%L'deki ifade değişmez olmalı"
+
+-#: fortran/expr.c:2573
++#: fortran/expr.c:2607
+ #, fuzzy, no-c-format
+ msgid "Incompatible ranks in %s (%d and %d) at %L"
+ msgstr "%s (%L'de) içindeki sıra uyumsuz"
+
+-#: fortran/expr.c:2587
++#: fortran/expr.c:2621
+ #, fuzzy, no-c-format
+ msgid "Different shape for %s at %L on dimension %d (%d and %d)"
+ msgstr "%s için %L'de %d. boyutta biçim farklı (%d/%d)"
+
+-#: fortran/expr.c:2633 fortran/expr.c:2800
++#: fortran/expr.c:2667 fortran/expr.c:2884
+ #, fuzzy, no-c-format
+ msgid "Cannot assign to INTENT(IN) variable '%s' at %L"
+ msgstr "INTENT(IN) deÄŸiÅŸkeni '%s' %L'de atanamaz"
+
+-#: fortran/expr.c:2676
++#: fortran/expr.c:2719
+ #, no-c-format
+ msgid "'%s' at %L is not a VALUE"
+ msgstr "'%s' %L'de bir VALUE deÄŸil"
+
+-#: fortran/expr.c:2683
++#: fortran/expr.c:2726
+ #, no-c-format
+ msgid "Incompatible ranks %d and %d in assignment at %L"
+ msgstr "%d ve %d sıraları uyumsuz (%L'deki atamada)"
+
+-#: fortran/expr.c:2690
++#: fortran/expr.c:2733
+ #, no-c-format
+ msgid "Variable type is UNKNOWN in assignment at %L"
+ msgstr "%L'deki atamada değişken UNKNOWN türünde"
+
+-#: fortran/expr.c:2702
++#: fortran/expr.c:2745
+ #, no-c-format
+ msgid "NULL appears on right-hand side in assignment at %L"
+ msgstr "NULL %L'deki atamanın sağ tarafında görünüyor"
+
+-#: fortran/expr.c:2713
++#: fortran/expr.c:2756
+ #, fuzzy, no-c-format
+ msgid "Vector assignment to assumed-size Cray Pointee at %L is illegal"
+ msgstr "%L'deki tahmini boyutlu Cray göstericisine vektör ataması kuraldışı."
+
+-#: fortran/expr.c:2722
++#: fortran/expr.c:2765
+ #, no-c-format
+ msgid "POINTER valued function appears on right-hand side of assignment at %L"
+ msgstr "POINTER değerli işlev %L'deki atamanın sağ tarafında görünüyor"
+
+-#: fortran/expr.c:2727
++#: fortran/expr.c:2770
+ #, fuzzy
+ msgid "array assignment"
+ msgstr "Dizi ataması"
+
+-#: fortran/expr.c:2744
++#: fortran/expr.c:2775
+ #, no-c-format
++msgid "Extension: BOZ literal at %L used to initialize non-integer variable '%s'"
++msgstr ""
++
++#: fortran/expr.c:2781 fortran/resolve.c:6058
++#, no-c-format
++msgid "Extension: BOZ literal at %L outside a DATA statement and outside INT/REAL/DBLE/CMPLX"
++msgstr ""
++
++#: fortran/expr.c:2791 fortran/resolve.c:6068
++#, no-c-format
++msgid "BOZ literal at %L is bitwise transferred non-integer symbol '%s'"
++msgstr ""
++
++#: fortran/expr.c:2799 fortran/resolve.c:6077
++#, no-c-format
++msgid "Arithmetic underflow of bit-wise transferred BOZ at %L. This check can be disabled with the option -fno-range-check"
++msgstr ""
++
++#: fortran/expr.c:2803 fortran/resolve.c:6081
++#, no-c-format
++msgid "Arithmetic overflow of bit-wise transferred BOZ at %L. This check can be disabled with the option -fno-range-check"
++msgstr ""
++
++#: fortran/expr.c:2807 fortran/resolve.c:6085
++#, no-c-format
++msgid "Arithmetic NaN of bit-wise transferred BOZ at %L. This check can be disabled with the option -fno-range-check"
++msgstr ""
++
++#: fortran/expr.c:2828
++#, no-c-format
+ msgid "Incompatible types in assignment at %L, %s to %s"
+ msgstr "%L'deki atamada uyumsuz türler, %s den %s'e"
+
+-#: fortran/expr.c:2769
++#: fortran/expr.c:2853
+ #, no-c-format
+ msgid "Pointer assignment target is not a POINTER at %L"
+ msgstr "%L'deki gösterici atamasının hedefi bir POINTER değil"
+
+-#: fortran/expr.c:2777
++#: fortran/expr.c:2861
+ #, no-c-format
+ msgid "'%s' in the pointer assignment at %L cannot be an l-value since it is a procedure"
+ msgstr "'%s' (%L'deki gösterici atamasındaki) bir yordam olduğundan bir sol taraf değeri olamaz"
+
+-#: fortran/expr.c:2807
++#: fortran/expr.c:2891
+ #, no-c-format
+ msgid "Pointer assignment to non-POINTER at %L"
+ msgstr "%L'de POINTER olmayana gösterici ataması"
+
+-#: fortran/expr.c:2816
++#: fortran/expr.c:2900
+ #, no-c-format
+ msgid "Bad pointer object in PURE procedure at %L"
+ msgstr "%L'deki PURE yordamında hatalı gösterici nesnesi"
+
+-#: fortran/expr.c:2828
++#: fortran/expr.c:2912
+ #, no-c-format
+ msgid "Different types in pointer assignment at %L"
+ msgstr "%L'deki gösterici atamasında farklı türler"
+
+-#: fortran/expr.c:2835
++#: fortran/expr.c:2919
+ #, no-c-format
+ msgid "Different kind type parameters in pointer assignment at %L"
+ msgstr "%L'deki gösterici atamasında parametreler farklı çeşit türlerinde"
+
+-#: fortran/expr.c:2842
++#: fortran/expr.c:2926
+ #, no-c-format
+ msgid "Different ranks in pointer assignment at %L"
+ msgstr "%L'deki gösterici atamasında farklı sıralamalar"
+
+-#: fortran/expr.c:2857
++#: fortran/expr.c:2941
+ #, no-c-format
+ msgid "Different character lengths in pointer assignment at %L"
+ msgstr "%L'deki gösterici atamasında farklı karakter uzunlukları"
+
+-#: fortran/expr.c:2868
++#: fortran/expr.c:2952
+ #, no-c-format
+ msgid "Pointer assignment target is neither TARGET nor POINTER at %L"
+ msgstr "%L'deki gösterici atamasının hedefi ne TARGET ne de POINTER"
+
+-#: fortran/expr.c:2875
++#: fortran/expr.c:2959
+ #, no-c-format
+ msgid "Bad target in pointer assignment in PURE procedure at %L"
+ msgstr "%L'deki PURE yordamdaki gösterici atamasında hedef berbat"
+
+-#: fortran/expr.c:2881
++#: fortran/expr.c:2965
+ #, no-c-format
+ msgid "Pointer assignment with vector subscript on rhs at %L"
+ msgstr "%L'de sağ tarafta vektör indisli gösterici ataması"
+
+-#: fortran/expr.c:2888
++#: fortran/expr.c:2972
+ #, fuzzy, no-c-format
+ msgid "Pointer assigment target has PROTECTED attribute at %L"
+ msgstr "%L'deki gösterici atamasının hedefi bir POINTER değil"
+@@ -6624,292 +6629,317 @@
+ msgid "Expecting 'END INTERFACE %s' at %C"
+ msgstr "END INTERFACE %s' umuluyordu (%C'de)"
+
+-#: fortran/interface.c:551
++#: fortran/interface.c:563
+ #, fuzzy, no-c-format
+ msgid "Alternate return cannot appear in operator interface at %L"
+ msgstr "%L'deki altyordam çağrısında diğer return belirtimi eksik"
+
+-#: fortran/interface.c:581
++#: fortran/interface.c:593
+ #, no-c-format
+ msgid "Operator interface at %L has the wrong number of arguments"
+ msgstr "%L'deki işleç arayüzü yanlış sayıda argüman içeriyor"
+
+-#: fortran/interface.c:592
++#: fortran/interface.c:604
+ #, no-c-format
+ msgid "Assignment operator interface at %L must be a SUBROUTINE"
+ msgstr "%L'deki atama işleci arayüzü bir SUBROUTINE olmalıdır"
+
+-#: fortran/interface.c:598
++#: fortran/interface.c:610
+ #, fuzzy, no-c-format
+ msgid "Assignment operator interface at %L must have two arguments"
+ msgstr "%L'deki işleç arayüzünün en fazla iki argümanı olmalı"
+
+-#: fortran/interface.c:608
++#: fortran/interface.c:620
+ #, fuzzy, no-c-format
+ msgid "Assignment operator interface at %L must not redefine an INTRINSIC type assignment"
+ msgstr "%L'deki atama işleci arayüzü bir SUBROUTINE olmalıdır"
+
+-#: fortran/interface.c:617
++#: fortran/interface.c:629
+ #, no-c-format
+ msgid "Intrinsic operator interface at %L must be a FUNCTION"
+ msgstr "%L'deki yerleşik işleç arayüzü bir FUNCTION olmalıdır"
+
+-#: fortran/interface.c:627
++#: fortran/interface.c:639
+ #, no-c-format
+ msgid "First argument of defined assignment at %L must be INTENT(IN) or INTENT(INOUT)"
+ msgstr "%L'de tanımlanmış atamanın ilk argümanı INTENT(IN) veya INTENT(INOUT) olmalıdır"
+
+-#: fortran/interface.c:631
++#: fortran/interface.c:643
+ #, no-c-format
+ 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.c:637 fortran/resolve.c:8807
++#: fortran/interface.c:649 fortran/resolve.c:8998
+ #, no-c-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.c:641 fortran/resolve.c:8819
++#: fortran/interface.c:653 fortran/resolve.c:9010
+ #, no-c-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"
+
+-#: fortran/interface.c:744
++#: fortran/interface.c:756
+ #, no-c-format
+ msgid "Operator interface at %L conflicts with intrinsic interface"
+ msgstr "%L'deki işleç arayüzü yerleşik arayüz ile çelişiyor"
+
+-#: fortran/interface.c:1044
++#: fortran/interface.c:1117
+ #, fuzzy, no-c-format
+ msgid "Procedure '%s' in %s at %L has no explicit interface"
+ msgstr "'%s' simgesi %L'de zaten bir aleni arayüze sahip"
+
+-#: fortran/interface.c:1047
++#: fortran/interface.c:1120
+ #, no-c-format
+ msgid "Procedure '%s' in %s at %L is neither function nor subroutine"
+ msgstr "'%s' yordamı (%s içinde, %L'de) be işlev ne de altyordam"
+
+-#: fortran/interface.c:1102 fortran/interface.c:1108
++#: fortran/interface.c:1175 fortran/interface.c:1181
+ #, no-c-format
+ msgid "Ambiguous interfaces '%s' and '%s' in %s at %L"
+ msgstr "'%s' ve '%s' arayüzleri (%s içinde, %L'de) belirsiz"
+
+-#: fortran/interface.c:1144
++#: fortran/interface.c:1217
+ #, fuzzy, no-c-format
+ msgid "'%s' at %L is not a module procedure"
+ msgstr "Ä°sim '%s' %C'de iÅŸlev ismidir"
+
+-#: fortran/interface.c:1676
++#: fortran/interface.c:1465 fortran/interface.c:2411
+ #, no-c-format
++msgid "Type/rank mismatch in argument '%s' at %L"
++msgstr "Argüman '%s' için tür/sira uyumsuzluğu (%L'de)"
++
++#: fortran/interface.c:1474
++#, fuzzy, no-c-format
++msgid "Type mismatch in argument '%s' at %L; passed %s to %s"
++msgstr "Argüman '%s' için tür/sira uyumsuzluğu (%L'de)"
++
++#: fortran/interface.c:1492 fortran/interface.c:1532
++#, fuzzy, no-c-format
++msgid "Rank mismatch in argument '%s' at %L (%d and %d)"
++msgstr "Argüman '%s' için tür/sira uyumsuzluğu (%L'de)"
++
++#: fortran/interface.c:1519
++#, fuzzy, no-c-format
++msgid "Fortran 2003: Scalar CHARACTER actual argument with array dummy argument '%s' at %L"
++msgstr "Argüman '%s' için fiili argüman eksik (%L'de)"
++
++#: fortran/interface.c:1544
++#, fuzzy, no-c-format
++msgid "Element of assumed-shaped array passed to dummy argument '%s' at %L"
++msgstr "Tahmini boyutlu dizi bir sözde argüman olmalı"
++
++#: fortran/interface.c:1861
++#, no-c-format
+ msgid "Keyword argument '%s' at %L is not in the procedure"
+ msgstr "Anahtar kelime argümanı '%s' (%L'de) yordam içinde değil"
+
+-#: fortran/interface.c:1684
++#: fortran/interface.c:1869
+ #, no-c-format
+ msgid "Keyword argument '%s' 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.c:1694
++#: fortran/interface.c:1879
+ #, no-c-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.c:1706 fortran/interface.c:1935
++#: fortran/interface.c:1891 fortran/interface.c:2110
+ #, no-c-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.c:1714
++#: fortran/interface.c:1899
+ #, no-c-format
+ msgid "Unexpected alternate return spec in subroutine call at %L"
+ msgstr "%L'deki altyordam çağrısında umulmadık diğer return belirtimi"
+
+-#: fortran/interface.c:1729
+-#, fuzzy, no-c-format
+-msgid "Fortran 2003: Scalar CHARACTER actual argument with array dummy argument '%s' at %L"
+-msgstr "Argüman '%s' için fiili argüman eksik (%L'de)"
+-
+-#: fortran/interface.c:1742
++#: fortran/interface.c:1922
+ #, no-c-format
+-msgid "Type/rank mismatch in argument '%s' at %L"
+-msgstr "Argüman '%s' için tür/sira uyumsuzluğu (%L'de)"
++msgid "Character length mismatch (%ld/%ld) between actual argument and pointer or allocatable dummy argument '%s' at %L"
++msgstr ""
+
+-#: fortran/interface.c:1758
++#: fortran/interface.c:1929
+ #, no-c-format
+-msgid "Character length mismatch between actual argument and pointer or allocatable dummy argument '%s' at %L"
++msgid "Character length mismatch (%ld/%ld) between actual argument and assumed-shape dummy argument '%s' at %L"
+ msgstr ""
+
+-#: fortran/interface.c:1771
++#: fortran/interface.c:1943
+ #, fuzzy, no-c-format
+ msgid "Character length of actual argument shorter than of dummy argument '%s' (%lu/%lu) at %L"
+ msgstr "Argüman '%s' için fiili argüman eksik (%L'de)"
+
+-#: fortran/interface.c:1776
++#: fortran/interface.c:1948
+ #, no-c-format
+ msgid "Actual argument contains too few elements for dummy argument '%s' (%lu/%lu) at %L"
+ msgstr ""
+
+-#: fortran/interface.c:1790
++#: fortran/interface.c:1962
+ #, fuzzy, no-c-format
+ msgid "Expected a procedure for argument '%s' at %L"
+ msgstr "Argüman '%s' için fiili argüman eksik (%L'de)"
+
+-#: fortran/interface.c:1800
++#: fortran/interface.c:1972
+ #, fuzzy, no-c-format
+ msgid "Expected a PURE procedure for argument '%s' at %L"
+ msgstr "Argüman '%s' için fiili argüman eksik (%L'de)"
+
+-#: fortran/interface.c:1814
++#: fortran/interface.c:1986
+ #, no-c-format
+ msgid "Actual argument for '%s' cannot be an assumed-size array at %L"
+ msgstr "'%s' için fiili argüman (%L'de) bir tahmini boyutlu dizi olamaz"
+
+-#: fortran/interface.c:1823
++#: fortran/interface.c:1995
+ #, no-c-format
+ msgid "Actual argument for '%s' must be a pointer at %L"
+ msgstr "`%s' için fiili argüman bir gösterici olmalı (%L'de)"
+
+-#: fortran/interface.c:1832
++#: fortran/interface.c:2004
+ #, fuzzy, no-c-format
+ msgid "Actual argument for '%s' must be ALLOCATABLE at %L"
+ msgstr "`%s' için fiili argüman bir gösterici olmalı (%L'de)"
+
+-#: fortran/interface.c:1843
+-#, no-c-format
+-msgid "Actual argument at %L must be definable to match dummy INTENT = OUT/INOUT"
++#: fortran/interface.c:2017
++#, fuzzy, no-c-format
++msgid "Actual argument at %L must be definable as the dummy argument '%s' is INTENT = OUT/INOUT"
+ msgstr "%L'deki fiili argüman sözde INTENT = OUT/INOUT eşleşmesine tanımlanabilir olmalıdır"
+
+-#: fortran/interface.c:1851
++#: fortran/interface.c:2026
+ #, fuzzy, no-c-format
+ msgid "Actual argument at %L is use-associated with PROTECTED attribute and dummy argument '%s' is INTENT = OUT/INOUT"
+ msgstr "%L'deki fiili argüman sözde INTENT = OUT/INOUT eşleşmesine tanımlanabilir olmalıdır"
+
+-#: fortran/interface.c:1864
++#: fortran/interface.c:2039
+ #, no-c-format
+-msgid "Array-section actual argument with vector subscripts at %L is incompatible with INTENT(IN), 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) or VOLATILE attribute of the dummy argument '%s'"
+ msgstr ""
+
+-#: fortran/interface.c:1881
++#: fortran/interface.c:2056
+ #, no-c-format
+ msgid "Assumed-shape actual argument at %L is incompatible with the non-assumed-shape dummy argument '%s' due to VOLATILE attribute"
+ msgstr ""
+
+-#: fortran/interface.c:1893
++#: fortran/interface.c:2068
+ #, no-c-format
+ msgid "Array-section actual argument at %L is incompatible with the non-assumed-shape dummy argument '%s' due to VOLATILE attribute"
+ msgstr ""
+
+-#: fortran/interface.c:1912
++#: fortran/interface.c:2087
+ #, no-c-format
+ msgid "Pointer-array actual argument at %L requires an assumed-shape or pointer-array dummy argument '%s' due to VOLATILE attribute"
+ msgstr ""
+
+-#: fortran/interface.c:1942
++#: fortran/interface.c:2117
+ #, no-c-format
+ msgid "Missing actual argument for argument '%s' at %L"
+ msgstr "Argüman '%s' için fiili argüman eksik (%L'de)"
+
+-#: fortran/interface.c:2128
++#: fortran/interface.c:2303
+ #, no-c-format
+ msgid "Same actual argument associated with INTENT(%s) argument '%s' and INTENT(%s) argument '%s' 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.c:2184
++#: fortran/interface.c:2359
+ #, no-c-format
+ msgid "Procedure argument at %L is INTENT(IN) while interface specifies INTENT(%s)"
+ msgstr "%L'deki yordam argümanı arayüz INTENT(%s) belirttiği halde INTENT(IN)'dir"
+
+-#: fortran/interface.c:2194
++#: fortran/interface.c:2369
+ #, no-c-format
+ msgid "Procedure argument at %L is local to a PURE procedure and 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.c:2202
++#: fortran/interface.c:2377
+ #, no-c-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.c:2225
++#: fortran/interface.c:2400
+ #, no-c-format
+ msgid "Procedure '%s' called with an implicit interface at %L"
+ msgstr "Yordam '%s' bir örtük arayüz ile çağrılmış (%L'de)"
+
+-#: fortran/interface.c:2440
++#: fortran/interface.c:2629
+ #, no-c-format
+ msgid "Function '%s' called in lieu of an operator at %L must be PURE"
+ msgstr "Bir işleç yerine çağrılan '%s' işlevi (%L'de) PURE olmalıdır "
+
+-#: fortran/interface.c:2519
++#: fortran/interface.c:2708
+ #, no-c-format
+ msgid "Entity '%s' at %C is already present in the interface"
+ msgstr "'%s' öğesi (%C'de) zaten arayüzde mevcut"
+
+-#: fortran/intrinsic.c:2918
++#: fortran/intrinsic.c:2923
+ #, no-c-format
+ msgid "Too many arguments in call to '%s' at %L"
+ msgstr "`%s' çağrısındaki argümanlar çok fazla (%L'de)"
+
+-#: fortran/intrinsic.c:2933
++#: fortran/intrinsic.c:2938
+ #, no-c-format
+ msgid "The argument list functions %%VAL, %%LOC or %%REF are not allowed in this context at %L"
+ msgstr ""
+
+-#: fortran/intrinsic.c:2936
++#: fortran/intrinsic.c:2941
+ #, no-c-format
+ msgid "Can't find keyword named '%s' in call to '%s' at %L"
+ msgstr "'%s' isimli anahtar sözcük '%s' çağrısında bulunamadı (%L'de)"
+
+-#: fortran/intrinsic.c:2943
++#: fortran/intrinsic.c:2948
+ #, no-c-format
+ msgid "Argument '%s' is appears twice in call to '%s' at %L"
+ msgstr "'%s' argümanı '%s' çağrısında (%L'de) iki kere görünüyor"
+
+-#: fortran/intrinsic.c:2957
++#: fortran/intrinsic.c:2962
+ #, no-c-format
+ msgid "Missing actual argument '%s' in call to '%s' at %L"
+ msgstr "Fiili argüman `%s' %s çağrısında eksik (%L'de)"
+
+-#: fortran/intrinsic.c:2972
++#: fortran/intrinsic.c:2977
+ #, no-c-format
+ msgid "ALTERNATE RETURN not permitted at %L"
+ msgstr ""
+
+-#: fortran/intrinsic.c:3021
++#: fortran/intrinsic.c:3026
+ #, no-c-format
+ msgid "Type of argument '%s' in call to '%s' at %L should be %s, not %s"
+ msgstr "Argüman türü `%s' %s çağrısında (%L'de) %s olmalı, %s değil"
+
+-#: fortran/intrinsic.c:3337
++#: fortran/intrinsic.c:3342
+ #, no-c-format
+ msgid "Intrinsic '%s' at %L is not included in the selected standard"
+ msgstr "%L'deki yerleşik '%s' seçilmiş standartta bulunmuyor"
+
+-#: fortran/intrinsic.c:3450
++#: fortran/intrinsic.c:3398
++#, fuzzy, no-c-format
++msgid "Fortran 2003: Function '%s' as initialization expression at %L"
++msgstr "Ek: %L'de standartdışı ilklendirme ifadesinin değerlenimi"
++
++#: fortran/intrinsic.c:3463
+ #, no-c-format
+ msgid "Fortran 2003: Elemental function as initialization expression with non-integer/non-character arguments at %L"
+ msgstr ""
+
+-#: fortran/intrinsic.c:3508
++#: fortran/intrinsic.c:3524
+ #, no-c-format
+ msgid "Subroutine call to intrinsic '%s' at %L is not PURE"
+ msgstr "'%s' yerleşiğine altyordam çağrısı %L'de PURE değil"
+
+-#: fortran/intrinsic.c:3579
++#: fortran/intrinsic.c:3595
+ #, no-c-format
+ msgid "Extension: Conversion from %s to %s at %L"
+ msgstr "Ek: %s den %s e dönüşüm (%L'de)"
+
+-#: fortran/intrinsic.c:3582
++#: fortran/intrinsic.c:3598
+ #, no-c-format
+ msgid "Conversion from %s to %s at %L"
+ msgstr "%s den %s e dönüşüm (%L'de)"
+
+-#: fortran/intrinsic.c:3629
++#: fortran/intrinsic.c:3645
+ #, no-c-format
+ msgid "Can't convert %s to %s at %L"
+ msgstr "%s den %s e dönüşüm yapılamaz (%L'de)"
+
+-#: fortran/io.c:156 fortran/primary.c:738
++#: fortran/io.c:156 fortran/primary.c:750
+ #, fuzzy, no-c-format
+ msgid "Extension: backslash character at %C"
+ msgstr "Ek: %C'de $ tanımlayıcı"
+@@ -7112,7 +7142,7 @@
+ msgid "CLOSE statement not allowed in PURE procedure at %C"
+ msgstr "%C'deki PURE yordamda CLOSE deyimine izin verilmez"
+
+-#: fortran/io.c:1955 fortran/match.c:1841
++#: fortran/io.c:1955 fortran/match.c:1911
+ #, no-c-format
+ msgid "%s statement not allowed in PURE procedure at %C"
+ msgstr "PURE yordamda %s deyimine izin verilmez (%C'de)"
+@@ -7127,516 +7157,491 @@
+ msgid "Duplicate UNIT specification at %C"
+ msgstr "%C'de UNIT belirtimi yinelenmiÅŸ"
+
+-#: fortran/io.c:2128
++#: fortran/io.c:2132
+ #, no-c-format
+ msgid "Duplicate format specification at %C"
+ msgstr "%C'de biçim belirtimi yinelenmiş"
+
+-#: fortran/io.c:2145
++#: fortran/io.c:2149
+ #, no-c-format
+ msgid "Symbol '%s' in namelist '%s' is INTENT(IN) at %C"
+ msgstr "'%s' simgesi '%s' isim alanında INTENT(IN)'dir (%C'de)"
+
+-#: fortran/io.c:2181
++#: fortran/io.c:2185
+ #, no-c-format
+ msgid "Duplicate NML specification at %C"
+ msgstr "%C'de NML belirtimi yinelenmiÅŸ"
+
+-#: fortran/io.c:2190
++#: fortran/io.c:2194
+ #, no-c-format
+ msgid "Symbol '%s' at %C must be a NAMELIST group name"
+ msgstr "'%s' simgesi %C'de bir NAMELIST grup ismi olmalıdır"
+
+-#: fortran/io.c:2231
++#: fortran/io.c:2235
+ #, no-c-format
+ msgid "END tag at %C not allowed in output statement"
+ msgstr "%C'deki END etiketine çıktı deyiminde izin verilmez"
+
+-#: fortran/io.c:2288
++#: fortran/io.c:2292
+ #, no-c-format
+ msgid "UNIT specification at %L must be an INTEGER expression or a CHARACTER variable"
+ msgstr "%L'deki UNIT belirtimi ya bir INTEGER ifadesi ya da bir CHARACTER değişkeni olmalıdır"
+
+-#: fortran/io.c:2297
++#: fortran/io.c:2301
+ #, no-c-format
+ msgid "Internal unit with vector subscript at %L"
+ msgstr "%L'de vektör indisli iç birim"
+
+-#: fortran/io.c:2304
++#: fortran/io.c:2308
+ #, no-c-format
+ msgid "External IO UNIT cannot be an array at %L"
+ msgstr "Harici IO UNIT %L'de bir dizi olamaz"
+
+-#: fortran/io.c:2314
++#: fortran/io.c:2318
+ #, no-c-format
+ msgid "ERR tag label %d at %L not defined"
+ msgstr "ERR etiketi %d. yaftada (%L'de) tanımsız"
+
+-#: fortran/io.c:2326
++#: fortran/io.c:2330
+ #, no-c-format
+ msgid "END tag label %d at %L not defined"
+ msgstr "END etiketi %d. yaftada (%L'de) tanımsız"
+
+-#: fortran/io.c:2338
++#: fortran/io.c:2342
+ #, no-c-format
+ msgid "EOR tag label %d at %L not defined"
+ msgstr "EOR etiketi %d. yaftada (%L'de) tanımsız"
+
+-#: fortran/io.c:2348
++#: fortran/io.c:2352
+ #, no-c-format
+ msgid "FORMAT label %d at %L not defined"
+ msgstr "FORMAT etiketi %d. yaftada (%L'de) tanımsız"
+
+-#: fortran/io.c:2469
++#: fortran/io.c:2473
+ #, no-c-format
+ msgid "Syntax error in I/O iterator at %C"
+ msgstr "%C'deki G/C yineleyicide sözdizimi hatası"
+
+-#: fortran/io.c:2500
++#: fortran/io.c:2504
+ #, no-c-format
+ msgid "Expected variable in READ statement at %C"
+ msgstr "%C'deki READ deyiminde deÄŸiÅŸken umuluyordu"
+
+-#: fortran/io.c:2506
++#: fortran/io.c:2510
+ #, no-c-format
+ msgid "Expected expression in %s statement at %C"
+ msgstr "%s deyiminde ifade umuluyordu (%C'de)"
+
+-#: fortran/io.c:2516
++#: fortran/io.c:2520
+ #, no-c-format
+ msgid "Variable '%s' in input list at %C cannot be INTENT(IN)"
+ msgstr "girdi listesindeki '%s' deÄŸiÅŸkeni INTENT(IN) olamaz (%C'de)"
+
+-#: fortran/io.c:2525
++#: fortran/io.c:2529
+ #, no-c-format
+ msgid "Cannot read to variable '%s' in PURE procedure at %C"
+ msgstr "PURE yordamı içindeki '%s' değişkeni okunamıyor (%C'de)"
+
+-#: fortran/io.c:2541
++#: fortran/io.c:2545
+ #, no-c-format
+ msgid "Cannot write to internal file unit '%s' at %C inside a PURE procedure"
+ msgstr "PURE yordamının içinde dahili dosya birimi '%s' yazılamıyor (%C'de)"
+
+ #. A general purpose syntax error.
+-#: fortran/io.c:2602 fortran/io.c:3004 fortran/gfortran.h:1998
++#: fortran/io.c:2606 fortran/io.c:3013 fortran/gfortran.h:2002
+ #, no-c-format
+ msgid "Syntax error in %s statement at %C"
+ msgstr "%s deyiminde sözdizimi hatası (%C'de)"
+
+-#: fortran/io.c:2670
++#: fortran/io.c:2679
+ #, fuzzy, no-c-format
+ msgid "Fortran 2003: Internal file at %L with namelist"
+ msgstr "Fortran 2003: %L'de IOMSG etiketi"
+
+-#: fortran/io.c:2833
++#: fortran/io.c:2842
+ #, no-c-format
+ msgid "PRINT namelist at %C is an extension"
+ msgstr "%C'de PRINT isim listesi bir ifadedir"
+
+-#: fortran/io.c:2965
++#: fortran/io.c:2974
+ #, fuzzy, no-c-format
+ msgid "Extension: Comma before i/o item list at %C"
+ msgstr "EK: %C'deki çıktı öğe listesinden önceki virgül bir ifadedir"
+
+-#: fortran/io.c:2974
++#: fortran/io.c:2983
+ #, no-c-format
+ msgid "Expected comma in I/O list at %C"
+ msgstr "%C'deki G/C listesinde virgül umuluyordu"
+
+-#: fortran/io.c:3036
++#: fortran/io.c:3045
+ #, no-c-format
+ msgid "PRINT statement at %C not allowed within PURE procedure"
+ msgstr "%C'deki PRINT deyimi PURE yordamı içinde olamaz"
+
+-#: fortran/io.c:3176 fortran/io.c:3227
++#: fortran/io.c:3185 fortran/io.c:3236
+ #, no-c-format
+ msgid "INQUIRE statement not allowed in PURE procedure at %C"
+ msgstr "%C'deki INQUIRE deyimi PURE yordamı içinde olamaz"
+
+-#: fortran/io.c:3203
++#: fortran/io.c:3212
+ #, no-c-format
+ msgid "IOLENGTH tag invalid in INQUIRE statement at %C"
+ msgstr "%C'deki IOLENGTH etiketi INQUIRE deyimi içinde geçersiz"
+
+-#: fortran/io.c:3213 fortran/trans-io.c:1144
++#: fortran/io.c:3222 fortran/trans-io.c:1145
+ #, no-c-format
+ msgid "INQUIRE statement at %L cannot contain both FILE and UNIT specifiers"
+ msgstr "%L'deki INQUIRE deyimi hem FILE hem de UNIT belirtecini içeremez"
+
+-#: fortran/io.c:3220
++#: fortran/io.c:3229
+ #, no-c-format
+ msgid "INQUIRE statement at %L requires either FILE or UNIT specifier"
+ msgstr "%L'deki INQUIRE deyimi ya FILE ya da UNIT belirteci gerektir"
+
+-#: fortran/match.c:270
++#: fortran/match.c:156
++#, fuzzy, no-c-format
++msgid "Missing ')' in statement before %L"
++msgstr "%C öncesinde ENUM tanım deyimi umuluyordu"
++
++#: fortran/match.c:161
++#, fuzzy, no-c-format
++msgid "Missing '(' in statement before %L"
++msgstr "%C öncesinde ENUM tanım deyimi umuluyordu"
++
++#: fortran/match.c:332
+ #, no-c-format
+ msgid "Integer too large at %C"
+ msgstr "%C'deki tamsayı çok büyük"
+
+-#: fortran/match.c:363 fortran/parse.c:442
++#: fortran/match.c:425 fortran/parse.c:589
+ #, no-c-format
+ msgid "Too many digits in statement label at %C"
+ msgstr "%C'deki deyim etiketinde çok fazla rakam var"
+
+-#: fortran/match.c:369
++#: fortran/match.c:431
+ #, no-c-format
+ msgid "Statement label at %C is zero"
+ msgstr "%C'deki deyim etiketi sıfırdır"
+
+-#: fortran/match.c:402
++#: fortran/match.c:464
+ #, no-c-format
+ msgid "Label name '%s' at %C is ambiguous"
+ msgstr "Yafta ismi '%s' (%C'de) belirsiz"
+
+-#: fortran/match.c:408
++#: fortran/match.c:470
+ #, no-c-format
+ msgid "Duplicate construct label '%s' at %C"
+ msgstr "OluÅŸum yaftasi '%s' (%C'de) yinelenmiÅŸ"
+
+-#: fortran/match.c:438
++#: fortran/match.c:500
+ #, fuzzy, no-c-format
+ msgid "Invalid character in name at %C"
+ msgstr "OPERATOR isminde '%c' karakteri geçersiz (%C'de)"
+
+-#: fortran/match.c:451 fortran/match.c:523
++#: fortran/match.c:513 fortran/match.c:585
+ #, no-c-format
+ msgid "Name at %C is too long"
+ msgstr "%C'de isim çok uzun"
+
+-#: fortran/match.c:506 fortran/match.c:552
++#: fortran/match.c:568 fortran/match.c:614
+ #, no-c-format
+ msgid "Invalid C name in NAME= specifier at %C"
+ msgstr ""
+
+-#: fortran/match.c:543
++#: fortran/match.c:605
+ #, no-c-format
+ msgid "Embedded space in NAME= specifier at %C"
+ msgstr ""
+
+-#: fortran/match.c:868
++#: fortran/match.c:930
+ #, no-c-format
+ msgid "Loop variable at %C cannot be a sub-component"
+ msgstr "%C'deki döngü değişkeni bir alt bileşen olamaz"
+
+-#: fortran/match.c:874
++#: fortran/match.c:936
+ #, no-c-format
+ msgid "Loop variable '%s' at %C cannot be INTENT(IN)"
+ msgstr "'%s' döngü değişkeni INTENT(IN) olamaz (%C'de)"
+
+-#: fortran/match.c:907
++#: fortran/match.c:969
+ #, no-c-format
+ msgid "Expected a step value in iterator at %C"
+ msgstr "%C'deki yineleyicide bir adım değeri umuluyordu"
+
+-#: fortran/match.c:919
++#: fortran/match.c:981
+ #, no-c-format
+ msgid "Syntax error in iterator at %C"
+ msgstr "%C'deki yineleyicide sözdizimi hatası"
+
+-#: fortran/match.c:1155
++#: fortran/match.c:1217
+ #, no-c-format
+ msgid "Invalid form of PROGRAM statement at %C"
+ msgstr "%C'deki PROGRAM deyiminin biçimi geçersiz"
+
+-#: fortran/match.c:1196
++#: fortran/match.c:1258
+ #, fuzzy, no-c-format
+ msgid "Setting value of PROTECTED variable at %C"
+ msgstr "%C'de bir PARAMETER deÄŸiÅŸken atanamaz"
+
+-#: fortran/match.c:1249
++#: fortran/match.c:1311
+ #, fuzzy, no-c-format
+ msgid "Assigning to a PROTECTED pointer at %C"
+ msgstr "%C'de bir PARAMETER deÄŸiÅŸken atanamaz"
+
+-#: fortran/match.c:1292 fortran/match.c:1365
++#: fortran/match.c:1354 fortran/match.c:1435
+ #, fuzzy, no-c-format
+ msgid "Obsolescent: arithmetic IF statement at %C"
+ msgstr "Atıl: %C'deki aritmetik IF deyimi"
+
+-#: fortran/match.c:1340
++#: fortran/match.c:1410
+ #, no-c-format
+ msgid "Syntax error in IF-expression at %C"
+ msgstr "%C'deki IF ifadesinde sözdizimi hatası"
+
+-#: fortran/match.c:1351
++#: fortran/match.c:1421
+ #, no-c-format
+ msgid "Block label not appropriate for arithmetic IF statement at %C"
+ msgstr "Blok yaftası %C'deki aritmetik IF deyimi için uygun değil"
+
+-#: fortran/match.c:1389
+-#, no-c-format
+-msgid "Block label is not appropriate IF statement at %C"
++#: fortran/match.c:1459
++#, fuzzy, no-c-format
++msgid "Block label is not appropriate for IF statement at %C"
+ msgstr "Blok yaftası %C'deki IF deyimi için uygun değil"
+
+-#: fortran/match.c:1468 fortran/primary.c:2522
++#: fortran/match.c:1538 fortran/primary.c:2559
+ #, fuzzy, no-c-format
+ msgid "Cannot assign to a named constant at %C"
+ msgstr "%C'de bir PARAMETER deÄŸiÅŸken atanamaz"
+
+-#: fortran/match.c:1478
++#: fortran/match.c:1548
+ #, no-c-format
+ msgid "Unclassifiable statement in IF-clause at %C"
+ msgstr "%C'deki IF deyiminde tasnif edilemeyen deyim"
+
+-#: fortran/match.c:1485
++#: fortran/match.c:1555
+ #, no-c-format
+ msgid "Syntax error in IF-clause at %C"
+ msgstr "%C'deki IF deyiminde sözdizimi hatası"
+
+-#: fortran/match.c:1529
++#: fortran/match.c:1599
+ #, no-c-format
+ msgid "Unexpected junk after ELSE statement at %C"
+ msgstr "%C'deki ELSE deyiminden sonra umulmadık döküntü"
+
+-#: fortran/match.c:1535 fortran/match.c:1570
++#: fortran/match.c:1605 fortran/match.c:1640
+ #, no-c-format
+ msgid "Label '%s' at %C doesn't match IF label '%s'"
+ msgstr "Yafta '%s' IF yaftası '%s' ile eşleşmiyor (%C'de)"
+
+-#: fortran/match.c:1564
++#: fortran/match.c:1634
+ #, no-c-format
+ msgid "Unexpected junk after ELSE IF statement at %C"
+ msgstr "%C'deki ELSE IF deyiminden sonra umulmadık dotuntu"
+
+-#: fortran/match.c:1727
++#: fortran/match.c:1797
+ #, no-c-format
+ msgid "Name '%s' in %s statement at %C is not a loop name"
+ msgstr "İsim '%s' %s deyimi içindeki bir döngü ismi değil (%C'de)"
+
+-#: fortran/match.c:1743
++#: fortran/match.c:1813
+ #, no-c-format
+ msgid "%s statement at %C is not within a loop"
+ msgstr "%s deyimi bir döngü içinde değil (%C'de)"
+
+-#: fortran/match.c:1746
++#: fortran/match.c:1816
+ #, no-c-format
+ msgid "%s statement at %C is not within loop '%s'"
+ msgstr "%s deyimi '%s' döngüsü içinde değil (%C'de)"
+
+-#: fortran/match.c:1754
++#: fortran/match.c:1824
+ #, fuzzy, no-c-format
+ msgid "%s statement at %C leaving OpenMP structured block"
+ msgstr "%s deyimi (%C'deki), bir bloksuz DO döngüsünü sonlandıramaz"
+
+-#: fortran/match.c:1767
++#: fortran/match.c:1837
+ #, fuzzy, no-c-format
+ msgid "EXIT statement at %C terminating !$OMP DO loop"
+ msgstr "%s deyimi (%C'deki), bir bloksuz DO döngüsünü sonlandıramaz"
+
+-#: fortran/match.c:1819
++#: fortran/match.c:1889
+ #, no-c-format
+ msgid "Too many digits in STOP code at %C"
+ msgstr "%C'deki STOP kodunda çok fazla rakam"
+
+-#: fortran/match.c:1872
++#: fortran/match.c:1942
+ #, fuzzy, no-c-format
+ msgid "Deleted feature: PAUSE statement at %C"
+ msgstr "Atıl: %C'deki PAUSE deyimi"
+
+-#: fortran/match.c:1920
++#: fortran/match.c:1990
+ #, fuzzy, no-c-format
+ msgid "Deleted feature: ASSIGN statement at %C"
+ msgstr "Atıl: %C'deki ASSIGN deyimi"
+
+-#: fortran/match.c:1966
++#: fortran/match.c:2036
+ #, fuzzy, no-c-format
+ msgid "Deleted feature: Assigned GOTO statement at %C"
+ msgstr "Atıl: %C'deki atanmış GOTO deyimi"
+
+-#: fortran/match.c:2013 fortran/match.c:2065
++#: fortran/match.c:2083 fortran/match.c:2135
+ #, no-c-format
+ msgid "Statement label list in GOTO at %C cannot be empty"
+ msgstr "%C'de GOTOdaki deyim yaftası listesi boş olamaz"
+
+-#: fortran/match.c:2149
++#: fortran/match.c:2219
+ #, no-c-format
+ msgid "Bad allocate-object in ALLOCATE statement at %C for a PURE procedure"
+ msgstr "PURE yordam için ALLOCATE deyiminde hatalı yer ayırma nesnesi (%C'de)"
+
+-#: fortran/match.c:2173
++#: fortran/match.c:2287
+ #, no-c-format
+-msgid "STAT variable '%s' of ALLOCATE statement at %C cannot be INTENT(IN)"
+-msgstr "ALLOCATE deyiminin '%s' STAT deÄŸiÅŸkeni INTENT(IN) olamaz (%L'de)"
+-
+-#: fortran/match.c:2180
+-#, no-c-format
+-msgid "Illegal STAT variable in ALLOCATE statement at %C for a PURE procedure"
+-msgstr "%C'deki ALLOCATE deyiminde PURE yordamı için kuraldışı STAT değişkeni"
+-
+-#: fortran/match.c:2218 fortran/match.c:2382
+-#, no-c-format
+-msgid "STAT expression at %C must be a variable"
+-msgstr "%C'deki STAT ifadesi bir değişken olmalıdır"
+-
+-#: fortran/match.c:2272
+-#, no-c-format
+ msgid "Illegal variable in NULLIFY at %C for a PURE procedure"
+ msgstr "%C'deki NULLIFYda PURE yordamı için kuraldışı değişken"
+
+-#: fortran/match.c:2349
++#: fortran/match.c:2364
+ #, no-c-format
+ msgid "Illegal deallocate-expression in DEALLOCATE at %C for a PURE procedure"
+ msgstr "%C'deki DEALLOCATEde PURE yordamı için kuraldışı yer açma ifadesi"
+
+-#: fortran/match.c:2368
++#: fortran/match.c:2417
+ #, no-c-format
+-msgid "STAT variable '%s' of DEALLOCATE statement at %C cannot be INTENT(IN)"
+-msgstr "DEALLOCATE deyiminin '%s' STAT deÄŸiÅŸkeni INTENT(IN) olamaz (%L'de)"
+-
+-#: fortran/match.c:2375
+-#, no-c-format
+-msgid "Illegal STAT variable in DEALLOCATE statement at %C for a PURE procedure"
+-msgstr "%C'deki DEALLOCATE deyiminde PURE yordamı için kuraldışı STAT değişkeni"
+-
+-#: fortran/match.c:2424
+-#, no-c-format
+ msgid "Alternate RETURN statement at %C is only allowed within a SUBROUTINE"
+ msgstr "%C'deki diğer RETURN deyimine sadece bir SUBROUTINE içinde izin verilir"
+
+-#: fortran/match.c:2455
++#: fortran/match.c:2448
+ #, no-c-format
+ msgid "Extension: RETURN statement in main program at %C"
+ msgstr "Ek: %C'deki main programı içinde RETURN deyimi"
+
+-#: fortran/match.c:2665
++#: fortran/match.c:2658
+ #, no-c-format
+ msgid "Syntax error in common block name at %C"
+ msgstr "%C'deki ortak blok isminde sözdizimi hatası"
+
+-#: fortran/match.c:2701
++#: fortran/match.c:2694
+ #, no-c-format
+ msgid "Symbol '%s' at %C is already an external symbol that is not COMMON"
+ msgstr "'%s' simgesi (%C'deki) zaten bir COMMON olmayan harici simgedir"
+
+-#: fortran/match.c:2719
+-#, no-c-format
+-msgid "BLOCK DATA unit cannot contain blank COMMON at %C"
+-msgstr ""
+-
+ #. If we find an error, just print it and continue,
+ #. cause it's just semantic, and we can see if there
+ #. are more errors.
+-#: fortran/match.c:2765
++#: fortran/match.c:2753
+ #, no-c-format
+ msgid "Variable '%s' at %L in common block '%s' at %C must be declared with a C interoperable kind since common block '%s' is bind(c)"
+ msgstr ""
+
+-#: fortran/match.c:2774
++#: fortran/match.c:2762
+ #, no-c-format
+ msgid "Variable '%s' in common block '%s' at %C can not be bind(c) since it is not global"
+ msgstr ""
+
+-#: fortran/match.c:2781
++#: fortran/match.c:2769
+ #, no-c-format
+ msgid "Symbol '%s' at %C is already in a COMMON block"
+ msgstr "'%s' simgesi (%C'deki) zaten bir COMMON blokundadır"
+
+-#: fortran/match.c:2793
++#: fortran/match.c:2777
+ #, no-c-format
+-msgid "Previously initialized symbol '%s' in blank COMMON block at %C"
+-msgstr "Boş COMMON bloku içinde evvelce ilklendirilmiş '%s' simgesi (%C'de)"
++msgid "Initialized symbol '%s' at %C can only be COMMON in BLOCK DATA"
++msgstr ""
+
+-#: fortran/match.c:2796
++#: fortran/match.c:2804
+ #, no-c-format
+-msgid "Previously initialized symbol '%s' in COMMON block '%s' at %C"
+-msgstr "Evvelce ilklendirilmiş '%s' simgesi '%s' COMMON blokunun içinde (%C'de)"
+-
+-#: fortran/match.c:2821
+-#, no-c-format
+ msgid "Array specification for symbol '%s' in COMMON at %C must be explicit"
+ msgstr "COMMON içindeki '%s' simgesi için dizi belirtimi örtük olmamalıdır (%C'de)"
+
+-#: fortran/match.c:2831
++#: fortran/match.c:2814
+ #, no-c-format
+ msgid "Symbol '%s' in COMMON at %C cannot be a POINTER array"
+ msgstr "COMMON içindeki '%s' simgesi bir POINTER dizisi olamaz (%C'de)"
+
+-#: fortran/match.c:2863
++#: fortran/match.c:2846
+ #, no-c-format
+ msgid "Symbol '%s', in COMMON block '%s' at %C is being indirectly equivalenced to another COMMON block '%s'"
+ msgstr "'%s' simgesi, '%s' COMMON blokunda dolaylı olarak başka bir '%s' COMMON blokuna eşdeğer oluyor (%C'de)"
+
+-#: fortran/match.c:2971
++#: fortran/match.c:2954
+ #, no-c-format
+ msgid "Namelist group name '%s' at %C already has a basic type of %s"
+ msgstr "'%s' isim listesi grup ismi (%C'de) zaten bir temel %s türüne sahip"
+
+-#: fortran/match.c:2979
++#: fortran/match.c:2962
+ #, no-c-format
+ msgid "Namelist group name '%s' at %C already is USE associated and cannot be respecified."
+ msgstr "'%s' isim listesi grup ismi (%C'de) zaten USE ile iliÅŸkili olup yeniden iliÅŸkilendirilemez"
+
+-#: fortran/match.c:3006
++#: fortran/match.c:2989
+ #, fuzzy, no-c-format
+ msgid "Assumed size array '%s' in namelist '%s' at %C is not allowed"
+ msgstr "'%s' tahmini boyutlu dizisine '%s' isim listesinde izin verilmiyor (%C'de)."
+
+-#: fortran/match.c:3013
++#: fortran/match.c:2996
+ #, fuzzy, no-c-format
+ msgid "Assumed character length '%s' in namelist '%s' at %C is not allowed"
+ msgstr "'%s' tahmini boyutlu dizisine '%s' isim listesinde izin verilmiyor (%C'de)."
+
+-#: fortran/match.c:3140
++#: fortran/match.c:3123
+ #, no-c-format
+ msgid "Derived type component %C is not a permitted EQUIVALENCE member"
+ msgstr "%C'deki türetilmiş tür bileşeni izin verilmiş bir EQUIVALENCE üyesi değildir"
+
+-#: fortran/match.c:3148
++#: fortran/match.c:3131
+ #, no-c-format
+ msgid "Array reference in EQUIVALENCE at %C cannot be an array section"
+ msgstr "EQUIVALENCE içindeki dizi başvurusu bir dizi bölümü olamaz (%C'de)"
+
+-#: fortran/match.c:3176
++#: fortran/match.c:3159
+ #, no-c-format
+ msgid "EQUIVALENCE at %C requires two or more objects"
+ msgstr "%C'deki EQUIVALENCE iki veya daha fazla nesne gerektirir"
+
+-#: fortran/match.c:3190
++#: fortran/match.c:3173
+ #, no-c-format
+ msgid "Attempt to indirectly overlap COMMON blocks %s and %s by EQUIVALENCE at %C"
+ msgstr "COMMON blokları %s ve %s, EQUIVALENCE tarafından %C'de dolaylı olarak üstüste bindirilmeye çalışılıyor"
+
+-#: fortran/match.c:3351
++#: fortran/match.c:3299
+ #, no-c-format
+ msgid "Statement function at %L is recursive"
+ msgstr "%L'deki deyim işlevi iç içe"
+
+-#: fortran/match.c:3439
++#: fortran/match.c:3387
+ #, no-c-format
+ msgid "Expected initialization expression in CASE at %C"
+ msgstr "%C'deki CASE'de ilklendime ifadesi umuluyordu"
+
+-#: fortran/match.c:3462
++#: fortran/match.c:3410
+ #, fuzzy, no-c-format
+ msgid "Expected the name of the SELECT CASE construct at %C"
+ msgstr "'%s' isminde bir case umuluyordu (%C'de)"
+
+-#: fortran/match.c:3474
++#: fortran/match.c:3422
+ #, no-c-format
+ msgid "Expected case name of '%s' at %C"
+ msgstr "'%s' isminde bir case umuluyordu (%C'de)"
+
+-#: fortran/match.c:3518
++#: fortran/match.c:3466
+ #, no-c-format
+ msgid "Unexpected CASE statement at %C"
+ msgstr "%C'de umulmadık CASE deyimi"
+
+-#: fortran/match.c:3570
++#: fortran/match.c:3518
+ #, no-c-format
+ msgid "Syntax error in CASE-specification at %C"
+ msgstr "%C'deki CASE belirtiminde sözdizimi hatası"
+
+-#: fortran/match.c:3690
++#: fortran/match.c:3638
+ #, no-c-format
+ msgid "ELSEWHERE statement at %C not enclosed in WHERE block"
+ msgstr "%C'deki ELSEWHERE deyimi WHERE bloku içinde değil"
+
+-#: fortran/match.c:3728
++#: fortran/match.c:3676
+ #, no-c-format
+ msgid "Label '%s' at %C doesn't match WHERE label '%s'"
+ msgstr "Yafta '%s' (%C'de) WHERE yaftası '%s' ile eşleşmiyor"
+
+-#: fortran/match.c:3828
++#: fortran/match.c:3776
+ #, no-c-format
+ msgid "Syntax error in FORALL iterator at %C"
+ msgstr "%C'deki FORALL yineleyicisinde sözdizimi hatası"
+@@ -7666,7 +7671,8 @@
+ msgid "Expected exponent in expression at %C"
+ msgstr "%C'deki ifadede bir üs umuluyordu"
+
+-#: fortran/matchexp.c:348 fortran/matchexp.c:452
++#: fortran/matchexp.c:350 fortran/matchexp.c:355 fortran/matchexp.c:459
++#: fortran/matchexp.c:464
+ #, no-c-format
+ msgid "Extension: Unary operator following arithmetic operator (use parentheses) at %C"
+ msgstr "Ek: Tek terimli işleci %C'de aritmetik işleç izliyor (parantez kullanın)"
+@@ -7791,123 +7797,123 @@
+ msgid "Expected real string"
+ msgstr "Gerçel sayı dizgesi umuluyordu"
+
+-#: fortran/module.c:2722
++#: fortran/module.c:2730
+ msgid "Expected expression type"
+ msgstr "İfade türü umuluyordu"
+
+-#: fortran/module.c:2776
++#: fortran/module.c:2784
+ msgid "Bad operator"
+ msgstr "Hatalı işleç"
+
+-#: fortran/module.c:2861
++#: fortran/module.c:2869
+ msgid "Bad type in constant expression"
+ msgstr "Sabit ifadesinde tür hatalı"
+
+-#: fortran/module.c:2898
++#: fortran/module.c:2906
+ #, fuzzy, no-c-format
+ msgid "Namelist %s cannot be renamed by USE association to %s"
+ msgstr "İsim listesinin ismi %s USE ilişkisiyle %s yapılamaz"
+
+-#: fortran/module.c:3723
++#: fortran/module.c:3847
+ #, no-c-format
+ msgid "Symbol '%s' referenced at %L not found in module '%s'"
+ msgstr "Başvurulan '%s' simgesi (%L'de), '%s' modülünde yok"
+
+-#: fortran/module.c:3730
++#: fortran/module.c:3854
+ #, no-c-format
+ msgid "User operator '%s' referenced at %L not found in module '%s'"
+ msgstr "Başvurulan '%s' işleci (%L'de), '%s' modülünde yok"
+
+-#: fortran/module.c:3735
++#: fortran/module.c:3859
+ #, no-c-format
+ msgid "Intrinsic operator '%s' referenced at %L not found in module '%s'"
+ msgstr "Başvurulan '%s' yerleşik işleci (%L'de), '%s' modülünde yok"
+
+-#: fortran/module.c:4213
++#: fortran/module.c:4400
+ #, no-c-format
+ msgid "Can't open module file '%s' for writing at %C: %s"
+ msgstr "Modül dosyası`%s' yazmak için açılamıyor (%C'de): %s"
+
+-#: fortran/module.c:4251
++#: fortran/module.c:4438
+ #, no-c-format
+ msgid "Error writing module file '%s' for writing: %s"
+ msgstr "Modül dosyası `%s' yazmak için açılırken hata: %s"
+
+-#: fortran/module.c:4281 fortran/module.c:4363
++#: fortran/module.c:4468 fortran/module.c:4550
+ #, fuzzy, no-c-format
+ msgid "Symbol '%s' referenced at %L does not exist in intrinsic module ISO_C_BINDING."
+ msgstr "Başvurulan '%s' simgesi (%L'de), '%s' modülünde yok"
+
+-#: fortran/module.c:4394
++#: fortran/module.c:4581
+ #, fuzzy, no-c-format
+ msgid "Symbol '%s' referenced at %L not found in intrinsic module ISO_C_BINDING"
+ msgstr "Başvurulan '%s' simgesi (%L'de), '%s' modülünde yok"
+
+-#: fortran/module.c:4416
++#: fortran/module.c:4603
+ #, fuzzy, no-c-format
+ msgid "Symbol '%s' already declared"
+ msgstr "'%s' bileÅŸeni (%C'deki) zaten %L'de bildirilmiÅŸ"
+
+-#: fortran/module.c:4471
++#: fortran/module.c:4658
+ #, no-c-format
+ msgid "Use of intrinsic module '%s' at %C conflicts with non-intrinsic module name used previously"
+ msgstr ""
+
+-#: fortran/module.c:4484
++#: fortran/module.c:4671
+ #, fuzzy, no-c-format
+ msgid "Symbol '%s' referenced at %L does not exist in intrinsic module ISO_FORTRAN_ENV"
+ msgstr "Başvurulan '%s' simgesi (%L'de), '%s' modülünde yok"
+
+-#: fortran/module.c:4492
++#: fortran/module.c:4679
+ #, no-c-format
+ msgid "Use of the NUMERIC_STORAGE_SIZE named constant from intrinsic module ISO_FORTRAN_ENV at %L is incompatible with option %s"
+ msgstr ""
+
+-#: fortran/module.c:4520
++#: fortran/module.c:4707
+ #, no-c-format
+ msgid "Use of the NUMERIC_STORAGE_SIZE named constant from intrinsic module ISO_FORTRAN_ENV at %C is incompatible with option %s"
+ msgstr ""
+
+-#: fortran/module.c:4536
++#: fortran/module.c:4723
+ #, fuzzy, no-c-format
+ msgid "Symbol '%s' referenced at %L not found in intrinsic module ISO_FORTRAN_ENV"
+ msgstr "Başvurulan '%s' simgesi (%L'de), '%s' modülünde yok"
+
+-#: fortran/module.c:4569
++#: fortran/module.c:4756
+ #, no-c-format
+ msgid "Fortran 2003: ISO_FORTRAN_ENV intrinsic module at %C"
+ msgstr ""
+
+-#: fortran/module.c:4577
++#: fortran/module.c:4764
+ #, fuzzy, no-c-format
+ msgid "Fortran 2003: ISO_C_BINDING module at %C"
+ msgstr "Fortran 2003: %L'de IOMSG etiketi"
+
+-#: fortran/module.c:4587
++#: fortran/module.c:4774
+ #, no-c-format
+ msgid "Can't find an intrinsic module named '%s' at %C"
+ msgstr ""
+
+-#: fortran/module.c:4592
++#: fortran/module.c:4779
+ #, no-c-format
+ msgid "Can't open module file '%s' for reading at %C: %s"
+ msgstr "Modül dosyası`%s' okumak için açılamıyor (%C'de): %s"
+
+-#: fortran/module.c:4600
++#: fortran/module.c:4787
+ #, no-c-format
+ msgid "Use of non-intrinsic module '%s' at %C conflicts with intrinsic module name used previously"
+ msgstr ""
+
+-#: fortran/module.c:4615
++#: fortran/module.c:4802
+ msgid "Unexpected end of module"
+ msgstr "Beklenmeyen modül sonu"
+
+-#: fortran/module.c:4620
++#: fortran/module.c:4807
+ #, no-c-format
+ msgid "File '%s' opened at %C is not a GFORTRAN module file"
+ msgstr ""
+
+-#: fortran/module.c:4630
++#: fortran/module.c:4817
+ #, no-c-format
+ msgid "Can't USE the same module we're building!"
+ msgstr "Bizim oluşturduğumuz modülün aynısı (USE olamaz)/kullanılamaz!?"
+@@ -7937,7 +7943,7 @@
+ msgid "Syntax error in !$OMP THREADPRIVATE list at %C"
+ msgstr "%C'deki CHARACTER bildiriminde sözdizimi hatası"
+
+-#: fortran/openmp.c:696 fortran/resolve.c:5822 fortran/resolve.c:6133
++#: fortran/openmp.c:696 fortran/resolve.c:5970 fortran/resolve.c:6317
+ #, no-c-format
+ msgid "IF clause at %L requires a scalar LOGICAL expression"
+ msgstr "%L'deki IF deyimi bir sabit LOGICAL ifadesi gerektirir"
+@@ -8233,299 +8239,299 @@
+ msgid "Maximum subrecord length cannot exceed %d"
+ msgstr ""
+
+-#: fortran/parse.c:304
++#: fortran/parse.c:451
+ #, no-c-format
+ msgid "Unclassifiable statement at %C"
+ msgstr "%C'de tasnif edilemeyen deyim"
+
+-#: fortran/parse.c:328
++#: fortran/parse.c:475
+ #, fuzzy, no-c-format
+ msgid "OpenMP directives at %C may not appear in PURE or ELEMENTAL procedures"
+ msgstr "%L'deki sözde yordama ELEMENTAL yordamında izin verilmez"
+
+-#: fortran/parse.c:406
++#: fortran/parse.c:553
+ #, fuzzy, no-c-format
+ msgid "Unclassifiable OpenMP directive at %C"
+ msgstr "%C'de tasnif edilemeyen deyim"
+
+-#: fortran/parse.c:445 fortran/parse.c:586
++#: fortran/parse.c:592 fortran/parse.c:733
+ #, no-c-format
+ msgid "Zero is not a valid statement label at %C"
+ msgstr "Sıfır (Zero), %C'de geçerli bir deyim yaftası değil"
+
+-#: fortran/parse.c:452 fortran/parse.c:578
++#: fortran/parse.c:599 fortran/parse.c:725
+ #, no-c-format
+ msgid "Non-numeric character in statement label at %C"
+ msgstr "%C'deki deyim yaftasında sayısal olmayan karakter"
+
+-#: fortran/parse.c:464 fortran/parse.c:500 fortran/parse.c:626
++#: fortran/parse.c:611 fortran/parse.c:647 fortran/parse.c:773
+ #, no-c-format
+ msgid "Semicolon at %C needs to be preceded by statement"
+ msgstr ""
+
+-#: fortran/parse.c:472 fortran/parse.c:638
++#: fortran/parse.c:619 fortran/parse.c:785
+ #, no-c-format
+ msgid "Ignoring statement label in empty statement at %C"
+ msgstr "%C'de boş deyimdeki deyim yaftası yok sayılıyor"
+
+-#: fortran/parse.c:565 fortran/parse.c:605
++#: fortran/parse.c:712 fortran/parse.c:752
+ #, no-c-format
+ msgid "Bad continuation line at %C"
+ msgstr "%C'deki devam satırı hatalı"
+
+-#: fortran/parse.c:664
++#: fortran/parse.c:811
+ #, no-c-format
+ msgid "Line truncated at %C"
+ msgstr "%C'deki satır kırpıldı"
+
+-#: fortran/parse.c:841
++#: fortran/parse.c:997
+ #, no-c-format
+ msgid "FORMAT statement at %L does not have a statement label"
+ msgstr "%L'deki FORMAT deyimi bir deyim yaftası içermiyor"
+
+-#: fortran/parse.c:913
++#: fortran/parse.c:1069
+ msgid "arithmetic IF"
+ msgstr "aritmetik IF"
+
+-#: fortran/parse.c:919
++#: fortran/parse.c:1075
+ msgid "attribute declaration"
+ msgstr "öznitelik bildirimi"
+
+-#: fortran/parse.c:949
++#: fortran/parse.c:1105
+ msgid "data declaration"
+ msgstr "veri bildirimi"
+
+-#: fortran/parse.c:958
++#: fortran/parse.c:1114
+ msgid "derived type declaration"
+ msgstr "türetilmiş tür bildirimi"
+
+-#: fortran/parse.c:1037
++#: fortran/parse.c:1193
+ msgid "block IF"
+ msgstr "blok IF"
+
+-#: fortran/parse.c:1046
++#: fortran/parse.c:1202
+ msgid "implied END DO"
+ msgstr "örtük END DO"
+
+-#: fortran/parse.c:1119
++#: fortran/parse.c:1275
+ msgid "assignment"
+ msgstr "atama"
+
+-#: fortran/parse.c:1122
++#: fortran/parse.c:1278
+ msgid "pointer assignment"
+ msgstr "gösterici ataması"
+
+-#: fortran/parse.c:1131
++#: fortran/parse.c:1287
+ msgid "simple IF"
+ msgstr "basit IF"
+
+-#: fortran/parse.c:1347
++#: fortran/parse.c:1503
+ #, no-c-format
+ msgid "Unexpected %s statement at %C"
+ msgstr "Umulmadık %s deyimi (%C'de)"
+
+-#: fortran/parse.c:1486
++#: fortran/parse.c:1642
+ #, no-c-format
+ msgid "%s statement at %C cannot follow %s statement at %L"
+ msgstr "%s deyimi (%C'deki), %s deyimini (%L'deki) izlemiyor"
+
+-#: fortran/parse.c:1503
++#: fortran/parse.c:1659
+ #, no-c-format
+ msgid "Unexpected end of file in '%s'"
+ msgstr "'%s' de umulmadık dosya sonu"
+
+-#: fortran/parse.c:1558
++#: fortran/parse.c:1714
+ #, fuzzy, no-c-format
+ msgid "Fortran 2003: Derived type definition at %C without components"
+ msgstr "%C'deki türetilmiş tür tanımının hiç bileşeni yok"
+
+-#: fortran/parse.c:1569
++#: fortran/parse.c:1725
+ #, no-c-format
+ msgid "PRIVATE statement in TYPE at %C must be inside a MODULE"
+ msgstr "%C'de TYPEdeki PRIVATE deyimi bir MODULE içinde olmalı"
+
+-#: fortran/parse.c:1577
++#: fortran/parse.c:1733
+ #, no-c-format
+ msgid "PRIVATE statement at %C must precede structure components"
+ msgstr "%C'deki PRIVATE deyimi yapı elemanlarını öncelemelidir"
+
+-#: fortran/parse.c:1585
++#: fortran/parse.c:1741
+ #, no-c-format
+ msgid "Duplicate PRIVATE statement at %C"
+ msgstr "%C'de PRIVATE deyimi yinelenmiÅŸ"
+
+-#: fortran/parse.c:1597
++#: fortran/parse.c:1753
+ #, no-c-format
+ msgid "SEQUENCE statement at %C must precede structure components"
+ msgstr "%C'de SEQUENCE deyimi yapı bileşenlerini öncelemelidir"
+
+-#: fortran/parse.c:1604
++#: fortran/parse.c:1760
+ #, no-c-format
+ msgid "SEQUENCE attribute at %C already specified in TYPE statement"
+ msgstr "%C'de SEQUENCE deyimi zaten TYPE deyiminde belirtilmiÅŸ"
+
+-#: fortran/parse.c:1609
++#: fortran/parse.c:1765
+ #, no-c-format
+ msgid "Duplicate SEQUENCE statement at %C"
+ msgstr "%C'de SEQUENCE deyimi yinelenmiÅŸ"
+
+-#: fortran/parse.c:1700
++#: fortran/parse.c:1856
+ #, no-c-format
+ msgid "ENUM declaration at %C has no ENUMERATORS"
+ msgstr "%C'de ENUM bildirimi hiç ENUMERATORS içermiyor"
+
+-#: fortran/parse.c:1778
++#: fortran/parse.c:1934
+ #, no-c-format
+ msgid "Unexpected %s statement in INTERFACE block at %C"
+ msgstr "INTERFACE blokunda umulmadık %s deyimi (%C'de)"
+
+-#: fortran/parse.c:1804
++#: fortran/parse.c:1960
+ #, no-c-format
+ msgid "SUBROUTINE at %C does not belong in a generic function interface"
+ msgstr "%C'deki SUBROUTINE bir soysal işlev arayüzüne uygun olmaz"
+
+-#: fortran/parse.c:1808
++#: fortran/parse.c:1964
+ #, no-c-format
+ msgid "FUNCTION at %C does not belong in a generic subroutine interface"
+ msgstr "%C'deki FUNCTION bir soysal altyordam arayüzüne uygun olmaz"
+
+-#: fortran/parse.c:1818
++#: fortran/parse.c:1974
+ #, fuzzy, no-c-format
+ msgid "Name '%s' of ABSTRACT INTERFACE at %C cannot be the same as an intrinsic type"
+ msgstr "Tür ismi '%s' (%C'de) bir yerleşik türle aynı olamaz"
+
+-#: fortran/parse.c:1849
++#: fortran/parse.c:2005
+ #, no-c-format
+ msgid "Unexpected %s statement at %C in INTERFACE body"
+ msgstr "INTERFACE gövdesinde umulmadık %s deyimi (%C'de)"
+
+-#: fortran/parse.c:1863
++#: fortran/parse.c:2019
+ #, fuzzy, no-c-format
+ msgid "INTERFACE procedure '%s' at %L has the same name as the enclosing procedure"
+ msgstr "Ä°sim '%s' %C'de iÅŸlev ismidir"
+
+-#: fortran/parse.c:1958
++#: fortran/parse.c:2134
+ #, no-c-format
+ msgid "%s statement must appear in a MODULE"
+ msgstr "%S deyimi bir MODULE'de görünmemeli"
+
+-#: fortran/parse.c:1965
++#: fortran/parse.c:2141
+ #, no-c-format
+ msgid "%s statement at %C follows another accessibility specification"
+ msgstr "%s deyimi baÅŸka eriÅŸilebilirlik belirtimini izliyor (%C'de)"
+
+-#: fortran/parse.c:2015
++#: fortran/parse.c:2191
+ #, fuzzy, no-c-format
+ msgid "Bad kind expression for function '%s' at %L"
+ msgstr "'%s' özel işlevi (%L'de) çözümlenemiyor"
+
+-#: fortran/parse.c:2018
++#: fortran/parse.c:2195
+ #, fuzzy, no-c-format
+ msgid "The type for function '%s' at %L is not accessible"
+ msgstr "'%s' iÅŸlevinde diÄŸer return belirtecine %L'de izin verilmiyor"
+
+-#: fortran/parse.c:2070
++#: fortran/parse.c:2253
+ #, no-c-format
+ msgid "ELSEWHERE statement at %C follows previous unmasked ELSEWHERE"
+ msgstr "ELSEWHERE deyimi önceki masksız ELSEWHERE'i izliyor (%C'de)"
+
+-#: fortran/parse.c:2091
++#: fortran/parse.c:2274
+ #, no-c-format
+ msgid "Unexpected %s statement in WHERE block at %C"
+ msgstr "WHERE blokunda umulmadık %s deyimi (%C'de)"
+
+-#: fortran/parse.c:2150
++#: fortran/parse.c:2333
+ #, no-c-format
+ msgid "Unexpected %s statement in FORALL block at %C"
+ msgstr "FORALL blokunda umulmadık %s deyimi (%C'de)"
+
+-#: fortran/parse.c:2201
++#: fortran/parse.c:2384
+ #, no-c-format
+ msgid "ELSE IF statement at %C cannot follow ELSE statement at %L"
+ msgstr "%C'deki ELSE IF deyimi %L'deki ELSE deyimini izleyemez"
+
+-#: fortran/parse.c:2219
++#: fortran/parse.c:2402
+ #, no-c-format
+ msgid "Duplicate ELSE statements at %L and %C"
+ msgstr "%L ve %C'de yinelenmiÅŸ ELSE deyimi"
+
+-#: fortran/parse.c:2280
++#: fortran/parse.c:2463
+ #, no-c-format
+ msgid "Expected a CASE or END SELECT statement following SELECT CASE at %C"
+ msgstr "%C'deki SELECT CASE'i umulmadık bir CASE veya END SELECT deyimi izliyor"
+
+-#: fortran/parse.c:2338
++#: fortran/parse.c:2521
+ #, no-c-format
+ msgid "Variable '%s' at %C cannot be redefined inside loop beginning at %L"
+ msgstr "'%s' değişkeni (%C'deki), %L'de başlayan döngünün içinde yeniden tanımlanamaz"
+
+-#: fortran/parse.c:2372
++#: fortran/parse.c:2555
+ #, no-c-format
+ msgid "End of nonblock DO statement at %C is within another block"
+ msgstr "%C'de bloksuz DO deyiminin sonu diğer bloğun içindedir"
+
+-#: fortran/parse.c:2381
++#: fortran/parse.c:2564
+ #, no-c-format
+ msgid "End of nonblock DO statement at %C is interwoven with another DO loop"
+ msgstr "%C'de bloksuz DO deyiminin sonu diğer DO döngüsü ile arabağlantılıdır"
+
+-#: fortran/parse.c:2430
++#: fortran/parse.c:2613
+ #, no-c-format
+ msgid "Statement label in ENDDO at %C doesn't match DO label"
+ msgstr "%C'de ENDDO'daki deyim yaftası DO yaftası ile uyuşmuyor"
+
+-#: fortran/parse.c:2446
++#: fortran/parse.c:2629
+ #, no-c-format
+ msgid "named block DO at %L requires matching ENDDO name"
+ msgstr ""
+
+-#: fortran/parse.c:2702
++#: fortran/parse.c:2885
+ #, no-c-format
+ msgid "Name after !$omp critical and !$omp end critical does not match at %C"
+ msgstr ""
+
+-#: fortran/parse.c:2758
++#: fortran/parse.c:2941
+ #, no-c-format
+ msgid "%s statement at %C cannot terminate a non-block DO loop"
+ msgstr "%s deyimi (%C'deki), bir bloksuz DO döngüsünü sonlandıramaz"
+
+-#: fortran/parse.c:2943
++#: fortran/parse.c:3126
+ #, no-c-format
+ msgid "Contained procedure '%s' at %C is already ambiguous"
+ msgstr "İçerilmiş yordam '%s' zaten belirsiz (%C'de)"
+
+-#: fortran/parse.c:2993
++#: fortran/parse.c:3176
+ #, no-c-format
+ msgid "Unexpected %s statement in CONTAINS section at %C"
+ msgstr "CONTAINS bölümünde umulmadık %s deyimi (%C'de)"
+
+ #. This is valid in Fortran 2008.
+-#: fortran/parse.c:3018
++#: fortran/parse.c:3201
+ #, no-c-format
+ msgid "Extension: CONTAINS statement without FUNCTION or SUBROUTINE statement at %C"
+ msgstr ""
+
+-#: fortran/parse.c:3089
++#: fortran/parse.c:3272
+ #, no-c-format
+ msgid "CONTAINS statement at %C is already in a contained program unit"
+ msgstr "%C'deki CONTAINS bölümü zaken içerilmiş bir program birimidir"
+
+-#: fortran/parse.c:3138
++#: fortran/parse.c:3321
+ #, no-c-format
+ msgid "Global name '%s' at %L is already being used as a %s at %L"
+ msgstr "Genel isim '%s' (%L'de), zaten %s (%L'de) olarak kullanılıyor"
+
+-#: fortran/parse.c:3159
++#: fortran/parse.c:3342
+ #, no-c-format
+ msgid "Blank BLOCK DATA at %C conflicts with prior BLOCK DATA at %L"
+ msgstr "%C'deki boş BLOCK DATA %L'deki önceki BLOCK DATA ile çelişiyor"
+
+-#: fortran/parse.c:3185
++#: fortran/parse.c:3368
+ #, no-c-format
+ msgid "Unexpected %s statement in BLOCK DATA at %C"
+ msgstr "BLOCK DATA içinde umulmadık %s deyimi (%C'de)"
+
+-#: fortran/parse.c:3228
++#: fortran/parse.c:3411
+ #, no-c-format
+ msgid "Unexpected %s statement in MODULE at %C"
+ msgstr "MODULE içinde umulmadık %s deyimi (%C'de)"
+@@ -8533,7 +8539,7 @@
+ #. If we see a duplicate main program, shut down. If the second
+ #. instance is an implied main program, ie data decls or executable
+ #. statements, we're in for lots of errors.
+-#: fortran/parse.c:3416
++#: fortran/parse.c:3594
+ #, no-c-format
+ msgid "Two main PROGRAMs at %L and %C"
+ msgstr "%L ve %C'de iki ana PROGRAM"
+@@ -8569,8 +8575,8 @@
+ msgstr "Geçersiz Hollerith sabiti: %L%deki tamsayı çeşidi öntanımlı olmalıydı"
+
+ #: fortran/primary.c:353
+-#, no-c-format
+-msgid "Extension: Hexadecimal constant at %C uses non-standard syntax."
++#, fuzzy, no-c-format
++msgid "Extension: Hexadecimal constant at %C uses non-standard syntax"
+ msgstr "Ek: %C'deki onaltılık sabit standartdışı sözdizimi kullanıyor."
+
+ #: fortran/primary.c:363
+@@ -8583,995 +8589,1040 @@
+ msgid "Illegal character in BOZ constant at %C"
+ msgstr "%C'de BOZ sabitinde kuraldışı karakter"
+
+-#: fortran/primary.c:391
+-#, no-c-format
+-msgid "Extension: BOZ constant at %C uses non-standard postfix syntax."
++#: fortran/primary.c:392
++#, fuzzy, no-c-format
++msgid "Extension: BOZ constant at %C uses non-standard postfix syntax"
+ msgstr "Ek: %C'de BOZ sabiti standartdışı postfix sözdizimi kullanıyor"
+
+-#: fortran/primary.c:417
++#: fortran/primary.c:423
+ #, no-c-format
+ msgid "Integer too big for integer kind %i at %C"
+ msgstr "Tamsayı, tamsayı çeşidi %i için çok büyük (%C'de)"
+
+-#: fortran/primary.c:517
++#: fortran/primary.c:429
++#, fuzzy, no-c-format
++msgid "Fortran 2003: BOZ used outside a DATA statement at %C"
++msgstr "Fortran 2003: %C'de FLUSH deyimi"
++
++#: fortran/primary.c:529
+ #, no-c-format
+ msgid "Missing exponent in real number at %C"
+ msgstr "%C'deki gerçel sayıda üstel değer eksik"
+
+-#: fortran/primary.c:573
++#: fortran/primary.c:585
+ #, no-c-format
+ msgid "Real number at %C has a 'd' exponent and an explicit kind"
+ msgstr "%C'deki gerçel sayı bir 'd' üssü ve aleni çeşit içeriyor"
+
+-#: fortran/primary.c:586
++#: fortran/primary.c:598
+ #, no-c-format
+ msgid "Invalid real kind %d at %C"
+ msgstr "%d gerçel çeşidi geçersiz (%C'de)"
+
+-#: fortran/primary.c:600
++#: fortran/primary.c:612
+ #, no-c-format
+ msgid "Real constant overflows its kind at %C"
+ msgstr "%C'de gerçel sabit çeşidini üstten taşırıyor"
+
+-#: fortran/primary.c:605
++#: fortran/primary.c:617
+ #, no-c-format
+ msgid "Real constant underflows its kind at %C"
+ msgstr "%C'de gerçel sabit çeşidini alttan taşırıyor"
+
+-#: fortran/primary.c:697
++#: fortran/primary.c:709
+ #, no-c-format
+ msgid "Syntax error in SUBSTRING specification at %C"
+ msgstr "%C'de SUBSTRING belirtiminde söz dizimi hatası"
+
+-#: fortran/primary.c:902
++#: fortran/primary.c:914
+ #, no-c-format
+ msgid "Invalid kind %d for CHARACTER constant at %C"
+ msgstr "CHARACTER sabiti için %d çeşidi geçersiz (%C'de)"
+
+-#: fortran/primary.c:923
++#: fortran/primary.c:935
+ #, no-c-format
+ msgid "Unterminated character constant beginning at %C"
+ msgstr "%C'de sonlandırılmamış karakter sabiti başlangıcı"
+
+-#: fortran/primary.c:1035
++#: fortran/primary.c:1047
+ #, no-c-format
+ msgid "Bad kind for logical constant at %C"
+ msgstr "%C'deki mantıksal sabit için kötü çeşit"
+
+-#: fortran/primary.c:1074
++#: fortran/primary.c:1086
+ #, no-c-format
+ msgid "Expected PARAMETER symbol in complex constant at %C"
+ msgstr "%C'deki karmaşık sabit içinde PARAMETER sembolü umuluyordu"
+
+-#: fortran/primary.c:1080
++#: fortran/primary.c:1092
+ #, no-c-format
+ msgid "Numeric PARAMETER required in complex constant at %C"
+ msgstr "%C'deki karmaşık sabit içinde sayısal PARAMETER gerekli"
+
+-#: fortran/primary.c:1086
++#: fortran/primary.c:1098
+ #, no-c-format
+ msgid "Scalar PARAMETER required in complex constant at %C"
+ msgstr "%C'deki karmaşık sabit içinde değişmez PARAMETER gerekli"
+
+-#: fortran/primary.c:1090
++#: fortran/primary.c:1102
+ #, fuzzy, no-c-format
+ msgid "Fortran 2003: PARAMETER symbol in complex constant at %C"
+ msgstr "%C'deki karmaşık sabit içinde PARAMETER sembolü umuluyordu"
+
+-#: fortran/primary.c:1120
++#: fortran/primary.c:1132
+ #, no-c-format
+ msgid "Error converting PARAMETER constant in complex constant at %C"
+ msgstr "%C'deki karmaşık sabitte PARAMETER sabitini dönüştürürken hata"
+
+-#: fortran/primary.c:1249
++#: fortran/primary.c:1261
+ #, no-c-format
+ msgid "Syntax error in COMPLEX constant at %C"
+ msgstr "%C'deki COMPLEX sabit içinde sözdizimi hatası"
+
+-#: fortran/primary.c:1430
++#: fortran/primary.c:1442
+ #, no-c-format
+ msgid "Keyword '%s' at %C has already appeared in the current argument list"
+ msgstr "'%s' anahtar sözcüğü (%C'de) zaten şu an ki argüman listesinde görünüyordu"
+
+-#: fortran/primary.c:1494
++#: fortran/primary.c:1506
+ #, fuzzy, no-c-format
+ msgid "Extension: argument list function at %C"
+ msgstr "'%s' işlevinde argüman listesi eksik (%C'de)"
+
+-#: fortran/primary.c:1561
++#: fortran/primary.c:1573
+ #, no-c-format
+ msgid "Expected alternate return label at %C"
+ msgstr "%C'de diğer return yaftası umuluyordu"
+
+-#: fortran/primary.c:1579
++#: fortran/primary.c:1591
+ #, no-c-format
+ msgid "Missing keyword name in actual argument list at %C"
+ msgstr "%C'de fiili argüman listesinde anahtar sözcük ismi eksik"
+
+-#: fortran/primary.c:1624
++#: fortran/primary.c:1636
+ #, no-c-format
+ msgid "Syntax error in argument list at %C"
+ msgstr "%C'deki argüman listesinde söz dizimi hatası"
+
+-#: fortran/primary.c:1708
++#: fortran/primary.c:1723
+ #, no-c-format
+ msgid "Expected structure component name at %C"
+ msgstr "%C'de yapı bileşeni ismi umuluyordu"
+
+-#: fortran/primary.c:1961
++#: fortran/primary.c:1980
+ #, no-c-format
+ msgid "Too many components in structure constructor at %C"
+ msgstr "%C'deki yapı kurucuda çok fazla bileşen"
+
+-#: fortran/primary.c:1974
++#: fortran/primary.c:1993
+ #, fuzzy, no-c-format
+ msgid "Structure constructor for '%s' at %C has PRIVATE components"
+ msgstr "'%s' bileÅŸeni (%C'deki) '%s'nin bir PRIVATE bileÅŸenidir"
+
+-#: fortran/primary.c:1984
++#: fortran/primary.c:2003
+ #, no-c-format
+ msgid "Too few components in structure constructor at %C"
+ msgstr "%C'deki yapı kurucuda çok az bileşen"
+
+-#: fortran/primary.c:2002
++#: fortran/primary.c:2021
+ #, no-c-format
+ msgid "Syntax error in structure constructor at %C"
+ msgstr "%C'deki yapı kurucuda söz dizimi hatası"
+
+-#: fortran/primary.c:2086
++#: fortran/primary.c:2105
+ #, no-c-format
+ msgid "'%s' 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.c:2188
++#: fortran/primary.c:2207
+ #, no-c-format
+ msgid "Unexpected use of subroutine name '%s' at %C"
+ msgstr "'%s' altyordam isminin beklenmedik kullanımı (%C'de)"
+
+-#: fortran/primary.c:2219
++#: fortran/primary.c:2238
+ #, no-c-format
+ msgid "Statement function '%s' requires argument list at %C"
+ msgstr "'%s' deyim işlevi %C'de argüman listesi gerektiriyor"
+
+-#: fortran/primary.c:2222
++#: fortran/primary.c:2241
+ #, no-c-format
+ msgid "Function '%s' requires an argument list at %C"
+ msgstr "'%s' işlevi %C'de bir argüman listesi gerektiriyor"
+
+-#: fortran/primary.c:2267
++#: fortran/primary.c:2286
+ #, fuzzy, no-c-format
+ msgid "Missing argument to '%s' at %C"
+ msgstr "'%s' seçeneğinin argümanı eksik"
+
+-#: fortran/primary.c:2408
++#: fortran/primary.c:2427
+ #, no-c-format
+ msgid "Missing argument list in function '%s' at %C"
+ msgstr "'%s' işlevinde argüman listesi eksik (%C'de)"
+
+-#: fortran/primary.c:2436
++#: fortran/primary.c:2455
+ #, no-c-format
+ msgid "Symbol at %C is not appropriate for an expression"
+ msgstr "%C'deki simge bir ifade için uygun değil"
+
+-#: fortran/primary.c:2504
++#: fortran/primary.c:2523
+ #, fuzzy, no-c-format
+ msgid "Assigning to PROTECTED variable at %C"
+ msgstr "%C'de bir PARAMETER deÄŸiÅŸken atanamaz"
+
+-#: fortran/primary.c:2520
++#: fortran/primary.c:2557
+ #, fuzzy, no-c-format
+ msgid "Named constant at %C in an EQUIVALENCE"
+ msgstr "'%s' isimli sabiti %L'de bir EQUIVALENCE nesnesi olamaz"
+
+-#: fortran/primary.c:2543
+-#, no-c-format
+-msgid "Expected VARIABLE at %C"
+-msgstr "%C'de VARIABLE umuluyordu"
++#: fortran/primary.c:2579
++#, fuzzy, no-c-format
++msgid "'%s' at %C is not a variable"
++msgstr "%L'deki simge bir DUMMY deÄŸiÅŸken deÄŸil"
+
+-#: fortran/resolve.c:120
++#: fortran/resolve.c:121
+ #, no-c-format
+ msgid "Alternate return specifier in elemental subroutine '%s' at %L is not allowed"
+ msgstr "'%s' öğesel altyordamında diğer return belirtecine %L'de izin verilmiyor"
+
+-#: fortran/resolve.c:124
++#: fortran/resolve.c:125
+ #, no-c-format
+ msgid "Alternate return specifier in function '%s' at %L is not allowed"
+ msgstr "'%s' iÅŸlevinde diÄŸer return belirtecine %L'de izin verilmiyor"
+
+-#: fortran/resolve.c:137
++#: fortran/resolve.c:138
+ #, no-c-format
+ msgid "Dummy procedure '%s' of PURE procedure at %L must also be PURE"
+ msgstr "PURE yordamının '%s' sözde yordamı da ayrıca PURE olmalı"
+
+-#: fortran/resolve.c:144
++#: fortran/resolve.c:145
+ #, no-c-format
+ msgid "Dummy procedure at %L not allowed in ELEMENTAL procedure"
+ msgstr "%L'deki sözde yordama ELEMENTAL yordamında izin verilmez"
+
+-#: fortran/resolve.c:157 fortran/resolve.c:1080
++#: fortran/resolve.c:158 fortran/resolve.c:1138
+ #, fuzzy, no-c-format
+ msgid "Unable to find a specific INTRINSIC procedure for the reference '%s' at %L"
+ msgstr "Özel altyordam '%s' %L'de çözümlenemiyor"
+
+-#: fortran/resolve.c:201
++#: fortran/resolve.c:202
+ #, no-c-format
+ msgid "Argument '%s' of pure function '%s' at %L must be INTENT(IN)"
+ msgstr "'%s' ('%s' pure işlevinin) argümanı INTENT(IN) olmalıdır (%L'de) INTENT(IN)"
+
+-#: fortran/resolve.c:206
++#: fortran/resolve.c:207
+ #, no-c-format
+ msgid "Argument '%s' of pure subroutine '%s' at %L must have its INTENT specified"
+ msgstr "'%s' ('%s' pure altyordamının) argümanında INTENT belirtilmiş olmalıdır (%L'de)"
+
+-#: fortran/resolve.c:215
++#: fortran/resolve.c:216
+ #, no-c-format
+ msgid "Argument '%s' of elemental procedure at %L must be scalar"
+ msgstr "Öğesel yordamın '%s' argümanı değişmez olmalı (%L'de)"
+
+-#: fortran/resolve.c:222
++#: fortran/resolve.c:223
+ #, no-c-format
+ msgid "Argument '%s' of elemental procedure at %L cannot have the POINTER attribute"
+ msgstr "Öğesel yordamın '%s' argümanı POINTER özniteliğine sahip olamaz (%L'de)"
+
+-#: fortran/resolve.c:234
++#: fortran/resolve.c:231
++#, fuzzy, no-c-format
++msgid "Dummy procedure '%s' not allowed in elemental procedure '%s' at %L"
++msgstr "%L'deki sözde yordama ELEMENTAL yordamında izin verilmez"
++
++#: fortran/resolve.c:243
+ #, no-c-format
+ msgid "Argument '%s' of statement function at %L must be scalar"
+ msgstr "Deyim işlevinin '%s' argümanı değişmez olmalı (%L'de)"
+
+-#: fortran/resolve.c:244
++#: fortran/resolve.c:253
+ #, fuzzy, no-c-format
+ msgid "Character-valued argument '%s' of statement function at %L must have constant length"
+ msgstr "Deyim işlevinin karakter değerli '%s' argümanı sabit uzunlukta olmalı (%L'de)"
+
+-#: fortran/resolve.c:299
++#: fortran/resolve.c:310
+ #, no-c-format
+ msgid "Contained function '%s' at %L has no IMPLICIT type"
+ msgstr "İçerilmiş işlev '%s' hiç IMPLICIT tür içermiyor (%L'de)"
+
+-#: fortran/resolve.c:302
++#: fortran/resolve.c:313
+ #, fuzzy, no-c-format
+ msgid "Result '%s' of contained function '%s' at %L has no IMPLICIT type"
+ msgstr "İçerilmiş işlev '%s' hiç IMPLICIT tür içermiyor (%L'de)"
+
+-#: fortran/resolve.c:319
++#: fortran/resolve.c:330
+ #, no-c-format
+ msgid "Character-valued internal function '%s' at %L must not be assumed length"
+ msgstr "Karakter değerli iç işlev '%s' tahmini uzunlukta olmamalı (%L'de)"
+
+-#: fortran/resolve.c:490
++#: fortran/resolve.c:501
++#, fuzzy, no-c-format
++msgid "Function %s at %L has entries with mismatched array specifications"
++msgstr "çeliskili gerçekleme değişkeni özelliği"
++
++#: fortran/resolve.c:518
+ #, no-c-format
+-msgid "Procedure %s at %L has entries with mismatched array specifications"
++msgid "Extension: Function %s at %L with entries returning variables of different string lengths"
+ msgstr ""
+
+-#: fortran/resolve.c:516
++#: fortran/resolve.c:545
+ #, no-c-format
+ msgid "FUNCTION result %s can't be an array in FUNCTION %s at %L"
+ msgstr "FUNCTION sonucu %s FUNCTION %s içinde bir dizi olamaz (%L'de)"
+
+-#: fortran/resolve.c:520
++#: fortran/resolve.c:549
+ #, no-c-format
+ msgid "ENTRY result %s can't be an array in FUNCTION %s at %L"
+ msgstr "ENTRY sonucu %s FUNCTION %s içinde bir dizi olamaz (%L'de)"
+
+-#: fortran/resolve.c:527
++#: fortran/resolve.c:556
+ #, no-c-format
+ msgid "FUNCTION result %s can't be a POINTER in FUNCTION %s at %L"
+ msgstr "FUNCTION sonucu %s FUNCTION %s içinde bir POINTER olamaz (%L'de)"
+
+-#: fortran/resolve.c:531
++#: fortran/resolve.c:560
+ #, no-c-format
+ msgid "ENTRY result %s can't be a POINTER in FUNCTION %s at %L"
+ msgstr "ENTRY sonucu %s FUNCTION %s içinde bir POINTER olamaz (%L'de)"
+
+-#: fortran/resolve.c:569
++#: fortran/resolve.c:598
+ #, no-c-format
+ msgid "FUNCTION result %s can't 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.c:574
++#: fortran/resolve.c:603
+ #, no-c-format
+ msgid "ENTRY result %s can't 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.c:643
++#: fortran/resolve.c:661
++#, no-c-format
++msgid "Variable '%s' at %L is in COMMON but only in BLOCK DATA initialization is allowed"
++msgstr ""
++
++#: fortran/resolve.c:665
++#, no-c-format
++msgid "Initialized variable '%s' at %L is in a blank COMMON but initialization is only allowed in named common blocks"
++msgstr ""
++
++#: fortran/resolve.c:676
+ #, fuzzy, no-c-format
+ msgid "Derived type variable '%s' 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.c:647
++#: fortran/resolve.c:680
+ #, fuzzy, no-c-format
+ msgid "Derived type variable '%s' 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.c:651
++#: fortran/resolve.c:684
+ #, fuzzy, no-c-format
+ msgid "Derived type variable '%s' 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.c:661
++#: fortran/resolve.c:711
+ #, fuzzy, no-c-format
+ msgid "COMMON block '%s' at %L is used as PARAMETER at %L"
+ msgstr "İsimli COMMON blok '%s' %L'de aynı boyutta olmalı"
+
+-#: fortran/resolve.c:665
++#: fortran/resolve.c:715
+ #, fuzzy, no-c-format
+ msgid "COMMON block '%s' at %L is also an intrinsic procedure"
+ msgstr "Soysal iÅŸlev '%s' (%L'de) bir yerleÅŸik altyordam deÄŸil"
+
+-#: fortran/resolve.c:669
++#: fortran/resolve.c:719
+ #, no-c-format
+ msgid "Fortran 2003: COMMON block '%s' at %L that is also a function result"
+ msgstr ""
+
+-#: fortran/resolve.c:674
++#: fortran/resolve.c:724
+ #, no-c-format
+ msgid "Fortran 2003: COMMON block '%s' at %L that is also a global procedure"
+ msgstr ""
+
+-#: fortran/resolve.c:736
++#: fortran/resolve.c:786
+ #, fuzzy, no-c-format
+ msgid "Components of structure constructor '%s' at %L are PRIVATE"
+ msgstr "%C'deki yapı kurucuda çok az bileşen"
+
+-#: fortran/resolve.c:756
++#: fortran/resolve.c:808
+ #, fuzzy, no-c-format
+ msgid "The rank of the element in the derived type constructor at %L does not match that of the component (%d/%d)"
+ msgstr "%L'de türetilmiş tür kurucusundaki öğe, gösterici bileşeni '%s' için %s'tir fakat %s olmalıydı"
+
+-#: fortran/resolve.c:769
++#: fortran/resolve.c:821
+ #, no-c-format
+ msgid "The element in the derived type constructor at %L, for pointer component '%s', 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.c:786
++#: fortran/resolve.c:838
+ #, fuzzy, no-c-format
+ msgid "The element in the derived type constructor at %L, for pointer component '%s' 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.c:913
++#: fortran/resolve.c:965
+ #, fuzzy, no-c-format
+ msgid "The upper bound in the last dimension must appear in the reference to the assumed size array '%s' at %L"
+ msgstr "Son boyuttaki üst sınır tahmini boyutlu '%s' dizisine başvuru içinde görünmelidir (%L'de)."
+
+-#: fortran/resolve.c:976 fortran/resolve.c:5434 fortran/resolve.c:6098
++#: fortran/resolve.c:1029 fortran/resolve.c:5576 fortran/resolve.c:6282
+ #, no-c-format
+ msgid "Label %d referenced at %L is never defined"
+ msgstr "Yafta %d (%L'de başvurulu) hiç tanımlanmamış"
+
+-#: fortran/resolve.c:986
++#: fortran/resolve.c:1039
+ #, fuzzy, no-c-format
+ msgid "'%s' at %L is ambiguous"
+ msgstr "'%s' simgesi (%L'de) belirsiz"
+
+-#: fortran/resolve.c:1018
++#: fortran/resolve.c:1075
+ #, no-c-format
+ msgid "Statement function '%s' 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.c:1026
++#: fortran/resolve.c:1083
+ #, fuzzy, no-c-format
+ msgid "Intrinsic '%s' 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.c:1033
++#: fortran/resolve.c:1090
+ #, no-c-format
+ msgid "Internal procedure '%s' 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.c:1039
++#: fortran/resolve.c:1096
+ #, no-c-format
+ msgid "ELEMENTAL non-INTRINSIC procedure '%s' 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.c:1059
++#: fortran/resolve.c:1116
+ #, fuzzy, no-c-format
+ msgid "GENERIC procedure '%s' 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.c:1098
++#: fortran/resolve.c:1157
+ #, no-c-format
+ msgid "Symbol '%s' at %L is ambiguous"
+ msgstr "'%s' simgesi (%L'de) belirsiz"
+
+-#: fortran/resolve.c:1143
++#: fortran/resolve.c:1206
+ #, fuzzy, no-c-format
+ 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.c:1150
++#: fortran/resolve.c:1213
+ #, no-c-format
+ msgid "By-value argument at %L cannot be an array or an array section"
+ msgstr ""
+
+-#: fortran/resolve.c:1164
++#: fortran/resolve.c:1227
+ #, fuzzy, no-c-format
+ 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.c:1176
++#: fortran/resolve.c:1239
+ #, no-c-format
+ msgid "Passing internal procedure at %L by location not allowed"
+ msgstr ""
+
+-#: fortran/resolve.c:1293
++#: fortran/resolve.c:1356
+ #, no-c-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)"
+ msgstr ""
+
+-#: fortran/resolve.c:1315
++#: fortran/resolve.c:1378
+ #, fuzzy
+ msgid "elemental procedure"
+ msgstr "öğesel altyordam"
+
+-#: fortran/resolve.c:1332
++#: fortran/resolve.c:1395
+ #, no-c-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"
+ msgstr ""
+
+-#: fortran/resolve.c:1466
++#: fortran/resolve.c:1531
+ #, fuzzy, no-c-format
+ msgid "There is no specific function for the generic '%s' at %L"
+ msgstr "'%s' özel işlevi (%L'de) çözümlenemiyor"
+
+-#: fortran/resolve.c:1475
++#: fortran/resolve.c:1540
+ #, no-c-format
+ msgid "Generic function '%s' 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.c:1513
++#: fortran/resolve.c:1594
+ #, no-c-format
+ msgid "Function '%s' 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.c:1559
++#: fortran/resolve.c:1640
+ #, no-c-format
+ msgid "Unable to resolve the specific function '%s' at %L"
+ msgstr "'%s' özel işlevi (%L'de) çözümlenemiyor"
+
+-#: fortran/resolve.c:1615 fortran/resolve.c:8740
++#: fortran/resolve.c:1696 fortran/resolve.c:8931
+ #, no-c-format
+ msgid "Function '%s' at %L has no IMPLICIT type"
+ msgstr "'%s' işlevi (%L'de) hiç IMPLICIT tür içermiyor"
+
+-#: fortran/resolve.c:1799
++#: fortran/resolve.c:1907
+ #, fuzzy, no-c-format
+ msgid "Argument to '%s' at %L is not a variable"
+ msgstr "%L'de INT'in argümanı geçerli bir tür değil"
+
+-#: fortran/resolve.c:1871
++#: fortran/resolve.c:1979
+ #, fuzzy, no-c-format
+ msgid "More actual than formal arguments in '%s' call at %L"
+ msgstr "%L'deki yordam çağrısında biçimselden daha gerçekçi argümanlar"
+
+-#: fortran/resolve.c:1883
++#: fortran/resolve.c:1991
+ #, no-c-format
+ msgid "Parameter '%s' to '%s' at %L must be either a TARGET or an associated pointer"
+ msgstr ""
+
+-#: fortran/resolve.c:1909
++#: fortran/resolve.c:2017
+ #, no-c-format
+ msgid "Allocatable variable '%s' used as a parameter to '%s' at %L must not be an array of zero size"
+ msgstr ""
+
+-#: fortran/resolve.c:1926
++#: fortran/resolve.c:2034
+ #, no-c-format
+ msgid "Assumed-shape array '%s' at %L cannot be an argument to the procedure '%s' because it is not C interoperable"
+ msgstr ""
+
+-#: fortran/resolve.c:1936
++#: fortran/resolve.c:2044
+ #, no-c-format
+ msgid "Deferred-shape array '%s' at %L cannot be an argument to the procedure '%s' because it is not C interoperable"
+ msgstr ""
+
+-#: fortran/resolve.c:1959 fortran/resolve.c:1998
++#: fortran/resolve.c:2067 fortran/resolve.c:2106
+ #, fuzzy, no-c-format
+ msgid "CHARACTER argument '%s' to '%s' at %L must have a length of 1"
+ msgstr "`%s' argümanı (%L'de) tek uzunluk olmalı"
+
+ #. Case 1c, section 15.1.2.5, J3/04-007: an associated
+ #. scalar pointer.
+-#: fortran/resolve.c:1974
++#: fortran/resolve.c:2082
+ #, fuzzy, no-c-format
+ msgid "Argument '%s' to '%s' at %L must be an associated scalar POINTER"
+ msgstr "`%s' argümanı `%s' yerleşiği için (%L'de) bir POINTER olmalı"
+
+-#: fortran/resolve.c:1990
++#: fortran/resolve.c:2098
+ #, fuzzy, no-c-format
+ msgid "Parameter '%s' to '%s' at %L must be a scalar"
+ msgstr "`%s' argümanı `%s' yerleşiği için %L'de bir değişmez olmalı"
+
+ #. TODO: Update this error message to allow for procedure
+ #. pointers once they are implemented.
+-#: fortran/resolve.c:2012
++#: fortran/resolve.c:2120
+ #, fuzzy, no-c-format
+ msgid "Parameter '%s' to '%s' at %L must be a procedure"
+ msgstr "Ä°sim '%s' %C'de iÅŸlev ismidir"
+
+-#: fortran/resolve.c:2020
++#: fortran/resolve.c:2128
+ #, fuzzy, no-c-format
+ msgid "Parameter '%s' to '%s' at %L must be BIND(C)"
+ msgstr "'%s' ('%s' pure işlevinin) argümanı INTENT(IN) olmalıdır (%L'de) INTENT(IN)"
+
+-#: fortran/resolve.c:2062
++#: fortran/resolve.c:2170
+ #, fuzzy, no-c-format
+ msgid "'%s' at %L is not a function"
+ msgstr "'%s' %L'de bir VALUE deÄŸil"
+
+-#: fortran/resolve.c:2068
++#: fortran/resolve.c:2176
+ #, no-c-format
+ msgid "ABSTRACT INTERFACE '%s' must not be referenced at %L"
+ msgstr ""
+
+ #. Internal procedures are taken care of in resolve_contained_fntype.
+-#: fortran/resolve.c:2111
++#: fortran/resolve.c:2219
+ #, no-c-format
+ msgid "Function '%s' 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.c:2164
++#: fortran/resolve.c:2272
+ #, no-c-format
+ msgid "User defined non-ELEMENTAL function '%s' at %L not allowed in WORKSHARE construct"
+ msgstr ""
+
+-#: fortran/resolve.c:2213
++#: fortran/resolve.c:2321
+ #, fuzzy, no-c-format
+ msgid "reference to non-PURE function '%s' at %L inside a FORALL %s"
+ msgstr "'%s' için işlev başvurusu %L'de bir FORALL blokunun içindedir"
+
+-#: fortran/resolve.c:2220
++#: fortran/resolve.c:2328
+ #, no-c-format
+ msgid "Function reference to '%s' at %L is to a non-PURE procedure within a PURE procedure"
+ msgstr "'%s' için işlev başvurusu %L'de bir PURE yordam içindeki bir PURE olmayan yordama başvuruyor"
+
+-#: fortran/resolve.c:2235
++#: fortran/resolve.c:2343
+ #, fuzzy, no-c-format
+ msgid "Function '%s' at %L cannot call itself, as it is not RECURSIVE"
+ msgstr "Belirtim iÅŸlevi '%s' (%L'de) RECURSIVE olamaz"
+
+-#: fortran/resolve.c:2243
++#: fortran/resolve.c:2351
+ #, no-c-format
+ msgid "Call to ENTRY '%s' at %L is recursive, but function '%s' is not declared as RECURSIVE"
+ msgstr ""
+
+-#: fortran/resolve.c:2285
++#: fortran/resolve.c:2393
+ #, no-c-format
+ msgid "Subroutine call to '%s' 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.c:2288
++#: fortran/resolve.c:2396
+ #, no-c-format
+ msgid "Subroutine call to '%s' at %L is not PURE"
+ msgstr "'%s' (%L'de) için altyordam başvurusu PURE değil"
+
+-#: fortran/resolve.c:2351
++#: fortran/resolve.c:2459
+ #, fuzzy, no-c-format
+ msgid "There is no specific subroutine for the generic '%s' at %L"
+ msgstr "Özel altyordam '%s' %L'de çözümlenemiyor"
+
+-#: fortran/resolve.c:2360
++#: fortran/resolve.c:2468
+ #, no-c-format
+ msgid "Generic subroutine '%s' 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.c:2468
++#: fortran/resolve.c:2576
+ #, fuzzy, no-c-format
+ msgid "Missing SHAPE parameter for call to %s at %L"
+ msgstr "Fiili argüman `%s' %s çağrısında eksik (%L'de)"
+
+-#: fortran/resolve.c:2476
++#: fortran/resolve.c:2584
+ #, no-c-format
+ msgid "SHAPE parameter for call to %s at %L must be a rank 1 INTEGER array"
+ msgstr ""
+
+-#: fortran/resolve.c:2543
++#: fortran/resolve.c:2667
+ #, no-c-format
+ msgid "Subroutine '%s' 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.c:2587
++#: fortran/resolve.c:2711
+ #, no-c-format
+ msgid "Unable to resolve the specific subroutine '%s' at %L"
+ msgstr "Özel altyordam '%s' %L'de çözümlenemiyor"
+
+-#: fortran/resolve.c:2644
++#: fortran/resolve.c:2768
+ #, no-c-format
+ msgid "'%s' 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.c:2663
++#: fortran/resolve.c:2787
+ #, no-c-format
+ msgid "SUBROUTINE '%s' at %L cannot call itself, as it is not RECURSIVE"
+ msgstr ""
+
+-#: fortran/resolve.c:2671
++#: fortran/resolve.c:2795
+ #, no-c-format
+ msgid "Call to ENTRY '%s' at %L is recursive, but subroutine '%s' is not declared as RECURSIVE"
+ msgstr ""
+
+-#: fortran/resolve.c:2741
++#: fortran/resolve.c:2865
+ #, no-c-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.c:2792
++#: fortran/resolve.c:2916
+ #, fuzzy, c-format
+ msgid "Invalid context for NULL() pointer at %%L"
+ msgstr "%s için %L'deki çeşit geçersiz"
+
+-#: fortran/resolve.c:2808
++#: fortran/resolve.c:2932
+ #, c-format
+ 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.c:2824
++#: fortran/resolve.c:2948
+ #, c-format
+ 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.c:2838
++#: fortran/resolve.c:2962
+ #, 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.c:2857
++#: fortran/resolve.c:2981
+ #, c-format
+ msgid "Operands of logical operator '%s' at %%L are %s/%s"
+ msgstr "%%L'deki mantıksal '%s' işlecinin terimleri %s/%s"
+
+-#: fortran/resolve.c:2871
++#: fortran/resolve.c:2995
+ #, fuzzy, c-format
+ msgid "Operand of .not. operator at %%L is %s"
+ msgstr "%%L'deki .NOT. iÅŸlecinin terimi %s"
+
+-#: fortran/resolve.c:2885
++#: fortran/resolve.c:3009
+ msgid "COMPLEX quantities cannot be compared at %L"
+ msgstr "%L'de COMPLEX nicelikler karşılaştırılamıyor"
+
+-#: fortran/resolve.c:2913
++#: fortran/resolve.c:3037
+ #, 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.c:2919
++#: fortran/resolve.c:3043
+ #, c-format
+ 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.c:2927
++#: fortran/resolve.c:3051
+ #, fuzzy, c-format
+ msgid "Unknown operator '%s' at %%L"
+ msgstr "%%:version-compare içindeki '%s' işleci bilinmiyor"
+
+-#: fortran/resolve.c:2929
++#: fortran/resolve.c:3053
+ #, c-format
+ msgid "Operand of user operator '%s' at %%L is %s"
+ msgstr "%%L'deki '%s' kullanıcı işlecinin terimi %s"
+
+-#: fortran/resolve.c:2932
++#: fortran/resolve.c:3056
+ #, c-format
+ msgid "Operands of user operator '%s' at %%L are %s/%s"
+ msgstr "%%L'deki '%s' kullanıcı işlecinin terimleri %s/%s"
+
+-#: fortran/resolve.c:3018
++#: fortran/resolve.c:3142
+ #, fuzzy, c-format
+ msgid "Inconsistent ranks for operator at %%L and %%L"
+ msgstr "%L ve %L'de işliçler için sıralar uyumsuz"
+
+-#: fortran/resolve.c:3212
++#: fortran/resolve.c:3339
+ #, fuzzy, no-c-format
+ 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.c:3220
++#: fortran/resolve.c:3347
+ #, fuzzy, no-c-format
+ 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.c:3239
++#: fortran/resolve.c:3366
+ #, no-c-format
+ msgid "Illegal stride of zero at %L"
+ msgstr "%L'de sıfır adım uzunluğu kuraldışı"
+
+-#: fortran/resolve.c:3256
++#: fortran/resolve.c:3383
+ #, fuzzy, no-c-format
+ 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.c:3264
++#: fortran/resolve.c:3391
+ #, fuzzy, no-c-format
+ 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.c:3280
++#: fortran/resolve.c:3407
+ #, fuzzy, no-c-format
+ 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.c:3289
++#: fortran/resolve.c:3416
+ #, fuzzy, no-c-format
+ 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.c:3328
++#: fortran/resolve.c:3455
+ #, no-c-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.c:3338
++#: fortran/resolve.c:3465
+ #, no-c-format
+ msgid "Rank mismatch in array reference at %L (%d/%d)"
+ msgstr "%L'de dizi başvurusunda sıra uyumsuz (%d/%d)"
+
+-#: fortran/resolve.c:3366
++#: fortran/resolve.c:3493
+ #, no-c-format
+ msgid "Array index at %L must be scalar"
+ msgstr "%L'de dizi indisi değişmez olmalıdır"
+
+-#: fortran/resolve.c:3372
++#: fortran/resolve.c:3499
+ #, no-c-format
+ msgid "Array index at %L must be of INTEGER type"
+ msgstr "%L'de dizi indisi INTEGER türünde olmalıdır"
+
+-#: fortran/resolve.c:3378
++#: fortran/resolve.c:3505
+ #, no-c-format
+ msgid "Extension: REAL array index at %L"
+ msgstr "Ek: %L'de REAL dizi indisi"
+
+-#: fortran/resolve.c:3408
++#: fortran/resolve.c:3535
+ #, no-c-format
+ msgid "Argument dim at %L must be scalar"
+ msgstr "%L'de boyut argümanı değişmez olmalı"
+
+-#: fortran/resolve.c:3414
++#: fortran/resolve.c:3542
+ #, no-c-format
+ msgid "Argument dim at %L must be of INTEGER type"
+ msgstr "%L'de boyut argümanı INTEGER türünde olmalı"
+
+-#: fortran/resolve.c:3534
++#: fortran/resolve.c:3663
+ #, no-c-format
+ msgid "Array index at %L is an array of rank %d"
+ msgstr "%L'deki dizi indisi %d. mertebeden bir dizidir"
+
+-#: fortran/resolve.c:3571
++#: fortran/resolve.c:3700
+ #, no-c-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.c:3578
++#: fortran/resolve.c:3707
+ #, no-c-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.c:3587
++#: fortran/resolve.c:3716
+ #, no-c-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/resolve.c:3600
++#: fortran/resolve.c:3729
+ #, no-c-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.c:3607
++#: fortran/resolve.c:3736
+ #, no-c-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.c:3617
++#: fortran/resolve.c:3746
+ #, fuzzy, no-c-format
+ msgid "Substring end index at %L exceeds the string length"
+ msgstr "%L'deki altdizge son indisi bir değişmez olmalıdır"
+
+-#: fortran/resolve.c:3755
++#: fortran/resolve.c:3884
+ #, no-c-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.c:3762
++#: fortran/resolve.c:3891
+ #, fuzzy, no-c-format
+ 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.c:3781
++#: fortran/resolve.c:3910
+ #, no-c-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.c:3956
++#: fortran/resolve.c:4085
+ #, no-c-format
+ msgid "Variable '%s', used in a specification expression, is referenced at %L before the ENTRY statement in which it is a parameter"
+ msgstr ""
+
+-#: fortran/resolve.c:3961
++#: fortran/resolve.c:4090
+ #, no-c-format
+ msgid "Variable '%s' is used at %L before the ENTRY statement in which it is a parameter"
+ msgstr ""
+
+-#: fortran/resolve.c:4238
++#: fortran/resolve.c:4367
+ #, no-c-format
+ msgid "%s at %L must be a scalar"
+ msgstr "%s' (%L'de) bir değişmez olmalıdır"
+
+-#: fortran/resolve.c:4248
++#: fortran/resolve.c:4377
+ #, fuzzy, no-c-format
+ msgid "Deleted feature: %s at %L must be integer"
+ msgstr "%C'deki Cray göstericisi bir tamsayı olmalı."
+
+-#: fortran/resolve.c:4252 fortran/resolve.c:4259
++#: fortran/resolve.c:4381 fortran/resolve.c:4388
+ #, no-c-format
+ msgid "%s at %L must be INTEGER"
+ msgstr "%s' (%L'de) bir INTEGER olmalıdır"
+
+-#: fortran/resolve.c:4279
++#: fortran/resolve.c:4408
+ #, no-c-format
+ msgid "Cannot assign to loop variable in PURE procedure at %L"
+ msgstr "%L'de PURE yordam içindeki döngü değişkenine atama yapılamaz"
+
+-#: fortran/resolve.c:4303
++#: fortran/resolve.c:4432
+ #, no-c-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.c:4378
++#: fortran/resolve.c:4508
+ #, no-c-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.c:4383
++#: fortran/resolve.c:4513
+ #, no-c-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.c:4390
++#: fortran/resolve.c:4520
+ #, no-c-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.c:4398
++#: fortran/resolve.c:4528
+ #, no-c-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.c:4403
++#: fortran/resolve.c:4533
+ #, no-c-format
+ msgid "FORALL stride expression at %L cannot be zero"
+ msgstr "%L'deki FORALL adım ifadesi sıfır olamaz"
+
+-#: fortran/resolve.c:4419
++#: fortran/resolve.c:4549
+ #, fuzzy, no-c-format
+ msgid "FORALL index '%s' may not appear in triplet specification at %L"
+ msgstr "Değişken '%s' (%L'de) ifade içinde görünemez"
+
+-#: fortran/resolve.c:4499
++#: fortran/resolve.c:4629
+ #, no-c-format
+ msgid "Expression in DEALLOCATE statement at %L must be ALLOCATABLE or a POINTER"
+ msgstr "%L'de DEALLOCATE deyimindeki ifade ya bir POINTER ya da ALLOCATABLE olmalı"
+
+-#: fortran/resolve.c:4506
++#: fortran/resolve.c:4636
+ #, fuzzy, no-c-format
+ msgid "Cannot deallocate INTENT(IN) variable '%s' at %L"
+ msgstr "INTENT(IN) deÄŸiÅŸkeni '%s' %L'de atanamaz"
+
+-#: fortran/resolve.c:4675
++#: fortran/resolve.c:4740
+ #, no-c-format
+ msgid "The STAT variable '%s' in an ALLOCATE statement must not be allocated in the same statement at %L"
+ msgstr ""
+
+-#: fortran/resolve.c:4711
++#: fortran/resolve.c:4776
+ #, no-c-format
+ msgid "Expression in ALLOCATE statement at %L must be ALLOCATABLE or a POINTER"
+ msgstr "%L'de ALLOCATE deyimindeki ifade ya bir POINTER ya da ALLOCATABLE olmalı"
+
+-#: fortran/resolve.c:4719
++#: fortran/resolve.c:4784
+ #, fuzzy, no-c-format
+ msgid "Cannot allocate INTENT(IN) variable '%s' at %L"
+ msgstr "INTENT(IN) deÄŸiÅŸkeni '%s' %L'de atanamaz"
+
+-#: fortran/resolve.c:4743
++#: fortran/resolve.c:4808
+ #, no-c-format
+ msgid "Array specification required in ALLOCATE statement at %L"
+ msgstr "%L'deki ALLOCATE deyimde dizi belirtimi gerekli "
+
+-#: fortran/resolve.c:4773
++#: fortran/resolve.c:4838
+ #, no-c-format
+ msgid "Bad array specification in ALLOCATE statement at %L"
+ msgstr "%L'deki ALLOCATE deyimde dizi belirtimi hatalı"
+
+-#: fortran/resolve.c:4791
++#: fortran/resolve.c:4856
+ #, no-c-format
+ msgid "'%s' must not appear an the array specification at %L in the same ALLOCATE statement where it is itself allocated"
+ msgstr ""
+
++#: fortran/resolve.c:4880
++#, fuzzy, no-c-format
++msgid "STAT variable '%s' of %s statement at %C cannot be INTENT(IN)"
++msgstr "ALLOCATE deyiminin '%s' STAT deÄŸiÅŸkeni INTENT(IN) olamaz (%L'de)"
++
++#: fortran/resolve.c:4884
++#, fuzzy, no-c-format
++msgid "Illegal STAT variable in %s statement at %C for a PURE procedure"
++msgstr "%C'deki ALLOCATE deyiminde PURE yordamı için kuraldışı STAT değişkeni"
++
++#: fortran/resolve.c:4922
++#, fuzzy, no-c-format
++msgid "STAT tag in %s statement at %L must be a variable"
++msgstr "%C'deki STAT ifadesi bir değişken olmalıdır"
++
++#: fortran/resolve.c:4928
++#, fuzzy, no-c-format
++msgid "STAT tag in %s statement at %L must be of type INTEGER"
++msgstr "%L'de ALLOCATE deyimindeki STAT etiketi INTEGER türde olmalı"
++
+ #. The cases overlap, or they are the same
+ #. 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.c:4949
++#: fortran/resolve.c:5091
+ #, no-c-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.c:5000
++#: fortran/resolve.c:5142
+ #, no-c-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.c:5011
++#: fortran/resolve.c:5153
+ #, no-c-format
+ msgid "Expression in CASE statement at %L must be kind %d"
+ msgstr "%L'de CASE deyimindeki ifade %d. çeşit olmalı"
+
+-#: fortran/resolve.c:5023
++#: fortran/resolve.c:5165
+ #, no-c-format
+ msgid "Expression in CASE statement at %L must be scalar"
+ msgstr "%L'de CASE deyimindeki ifade bir değişmez olmalı"
+
+-#: fortran/resolve.c:5069
++#: fortran/resolve.c:5211
+ #, no-c-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.c:5087
++#: fortran/resolve.c:5229
+ #, no-c-format
+ msgid "Argument of SELECT statement at %L cannot be %s"
+ msgstr "%L'deki SELECT deyiminin argümanı %s olamaz"
+
+-#: fortran/resolve.c:5096
++#: fortran/resolve.c:5238
+ #, no-c-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.c:5161
++#: fortran/resolve.c:5303
+ #, no-c-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.c:5187
++#: fortran/resolve.c:5329
+ #, no-c-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.c:5199
++#: fortran/resolve.c:5341
+ #, fuzzy, no-c-format
+ msgid "constant logical value in CASE statement is repeated at %L"
+ msgstr "%L'deki CASE deyiminde mantıksal aralığa izin verilmez"
+
+-#: fortran/resolve.c:5213
++#: fortran/resolve.c:5355
+ #, no-c-format
+ msgid "Range specification at %L can never be matched"
+ msgstr "%L'deki aralık belirtimi asla eşleşmeyebilir"
+
+-#: fortran/resolve.c:5316
++#: fortran/resolve.c:5458
+ #, no-c-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.c:5354
++#: fortran/resolve.c:5496
+ #, no-c-format
+ msgid "Data transfer element at %L cannot have POINTER components"
+ msgstr "%L'deki veri aktarım elemanının POINTER bileşenleri olamaz"
+
+-#: fortran/resolve.c:5361
++#: fortran/resolve.c:5503
+ #, fuzzy, no-c-format
+ msgid "Data transfer element at %L cannot have ALLOCATABLE components"
+ msgstr "%L'deki veri aktarım elemanının POINTER bileşenleri olamaz"
+
+-#: fortran/resolve.c:5368
++#: fortran/resolve.c:5510
+ #, no-c-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.c:5377
++#: fortran/resolve.c:5519
+ #, no-c-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.c:5441
++#: fortran/resolve.c:5583
+ #, no-c-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.c:5450
++#: fortran/resolve.c:5592
+ #, no-c-format
+ msgid "Branch at %L causes an infinite loop"
+ msgstr "%L'deki dallanma bir sonsuz döngüye sebep oluyor"
+@@ -9579,647 +9630,657 @@
+ #. 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.c:5463
++#: fortran/resolve.c:5605
+ #, no-c-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.c:5478 fortran/resolve.c:5492
++#: fortran/resolve.c:5620 fortran/resolve.c:5634
+ #, fuzzy, no-c-format
+ msgid "Deleted feature: GOTO at %L jumps to END of construct at %L"
+ msgstr "Atıl: %L'deki GOTO %L'deki oluşumun END'ine atlıyor"
+
+-#: fortran/resolve.c:5569
++#: fortran/resolve.c:5711
+ #, no-c-format
+ msgid "WHERE mask at %L has inconsistent shape"
+ msgstr "%L'deki WHERE maskesi uyumsuz biçimde"
+
+-#: fortran/resolve.c:5585
++#: fortran/resolve.c:5727
+ #, no-c-format
+ msgid "WHERE assignment target at %L has inconsistent shape"
+ msgstr "%L'deki WHERE atama hedefi uyumsuz biçimde"
+
+-#: fortran/resolve.c:5600 fortran/resolve.c:5682
++#: fortran/resolve.c:5735 fortran/resolve.c:5820
+ #, no-c-format
++msgid "Non-ELEMENTAL user-defined assignment in WHERE at %L"
++msgstr ""
++
++#: fortran/resolve.c:5745 fortran/resolve.c:5830
++#, no-c-format
+ msgid "Unsupported statement inside WHERE at %L"
+ msgstr "%L'deki WHERE içinde desteklenmeyen deyim"
+
+-#: fortran/resolve.c:5631
++#: fortran/resolve.c:5776
+ #, no-c-format
+ msgid "Assignment to a FORALL index variable at %L"
+ msgstr "%L'de bir FORALL indis deÄŸiÅŸkenine atama"
+
+-#: fortran/resolve.c:5639
++#: fortran/resolve.c:5784
+ #, no-c-format
+ msgid "The FORALL with index '%s' cause more than one assignment to this object at %L"
+ msgstr "'%s' indisli FORALL %L'de bu nesneye birden fazla atamaya sebep oluyor"
+
+-#: fortran/resolve.c:5774
++#: fortran/resolve.c:5922
+ #, no-c-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.c:5830
++#: fortran/resolve.c:5978
+ #, no-c-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.c:5890
++#: fortran/resolve.c:6037
+ #, no-c-format
+ msgid "Subroutine '%s' called instead of assignment at %L must be PURE"
+ msgstr "'%s' altyordamı %L'deki atamanın yerine çağrıldığında PURE olmalıdır"
+
+-#: fortran/resolve.c:5927
++#: fortran/resolve.c:6110
+ #, no-c-format
+ msgid "CHARACTER expression will be truncated in assignment (%d/%d) at %L"
+ msgstr ""
+
+-#: fortran/resolve.c:5950
++#: fortran/resolve.c:6135
+ #, no-c-format
+ msgid "Cannot assign to variable '%s' in PURE procedure at %L"
+ msgstr "'%s' değişkenine %L'deki PURE yordamında atama yapılamaz"
+
+-#: fortran/resolve.c:5962
++#: fortran/resolve.c:6147
+ #, fuzzy, no-c-format
+ msgid "The impure variable at %L is assigned to a derived type variable with a POINTER component in a PURE procedure (12.6)"
+ msgstr "%L'deki atamanın sağ tarafı bir PURE yordamda bir POINTER içeren türetilmiş bir türdür"
+
+-#: fortran/resolve.c:6066
++#: fortran/resolve.c:6250
+ #, no-c-format
+ msgid "ASSIGNED GOTO statement at %L requires an INTEGER variable"
+ msgstr "%L'deki ASSIGNED GOTO deyimi bir INTEGER deÄŸiÅŸken gerektirir"
+
+-#: fortran/resolve.c:6069
++#: fortran/resolve.c:6253
+ #, no-c-format
+ msgid "Variable '%s' has not been assigned a target label at %L"
+ msgstr "'%s' değişkenine %L'de bir hedef etiketi atanmış olmamalıydı"
+
+-#: fortran/resolve.c:6080
++#: fortran/resolve.c:6264
+ #, fuzzy, no-c-format
+ 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.c:6106
++#: fortran/resolve.c:6290
+ #, no-c-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.c:6121
++#: fortran/resolve.c:6305
+ #, no-c-format
+ msgid "Arithmetic IF statement at %L requires a numeric expression"
+ msgstr "%L'deki aritmetik IF deyimi bir sayısal ifade gerektirir"
+
+-#: fortran/resolve.c:6163
++#: fortran/resolve.c:6347
+ #, no-c-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.c:6170
++#: fortran/resolve.c:6420
+ #, no-c-format
+-msgid "STAT tag in ALLOCATE statement at %L must be of type INTEGER"
+-msgstr "%L'de ALLOCATE deyimindeki STAT etiketi INTEGER türde olmalı"
+-
+-#: fortran/resolve.c:6182
+-#, no-c-format
+-msgid "STAT tag in DEALLOCATE statement at %L must be of type INTEGER"
+-msgstr "%L'de DEALLOCATE deyimindeki STAT etiketi INTEGER türde olmalı"
+-
+-#: fortran/resolve.c:6247
+-#, no-c-format
+ msgid "FORALL mask clause at %L requires a LOGICAL expression"
+ msgstr "%L'deki FORALL maske deyimi bir LOGICAL ifadesi gerektirir"
+
+-#: fortran/resolve.c:6317 fortran/resolve.c:6373
++#: fortran/resolve.c:6490 fortran/resolve.c:6546
+ #, no-c-format
+ msgid "Binding label '%s' for common block '%s' at %L collides with the global entity '%s' at %L"
+ msgstr ""
+
+ #. Common block names match but binding labels do not.
+-#: fortran/resolve.c:6338
++#: fortran/resolve.c:6511
+ #, no-c-format
+ msgid "Binding label '%s' for common block '%s' at %L does not match the binding label '%s' for common block '%s' at %L"
+ msgstr ""
+
+-#: fortran/resolve.c:6385
++#: fortran/resolve.c:6558
+ #, no-c-format
+ msgid "Binding label '%s' for common block '%s' at %L collides with global entity '%s' at %L"
+ msgstr ""
+
+ #. Make sure global procedures don't collide with anything.
+-#: fortran/resolve.c:6437
++#: fortran/resolve.c:6610
+ #, no-c-format
+ msgid "Binding label '%s' at %L collides with the global entity '%s' at %L"
+ msgstr ""
+
+ #. Make sure procedures in interface bodies don't collide.
+-#: fortran/resolve.c:6450
++#: fortran/resolve.c:6623
+ #, no-c-format
+ msgid "Binding label '%s' in interface body at %L collides with the global entity '%s' at %L"
+ msgstr ""
+
+-#: fortran/resolve.c:6463
++#: fortran/resolve.c:6636
+ #, no-c-format
+ msgid "Binding label '%s' at %L collides with global entity '%s' at %L"
+ msgstr ""
+
+-#: fortran/resolve.c:6540
++#: fortran/resolve.c:6713
+ #, no-c-format
+ msgid "CHARACTER variable has zero length at %L"
+ msgstr ""
+
+-#: fortran/resolve.c:6828
++#: fortran/resolve.c:7001
+ #, no-c-format
+ msgid "Allocatable array '%s' at %L must have a deferred shape"
+ msgstr "Ayrılabilir '%s' dizisi %L'de ertelenmiş bir biçimde olmalı"
+
+-#: fortran/resolve.c:6831
++#: fortran/resolve.c:7004
+ #, no-c-format
+ msgid "Scalar object '%s' at %L may not be ALLOCATABLE"
+ msgstr "'%s' sabit nesnesi %L'de ALLOCATABLE olmayabilir"
+
+-#: fortran/resolve.c:6838
++#: fortran/resolve.c:7011
+ #, no-c-format
+ msgid "Array pointer '%s' at %L must have a deferred shape"
+ msgstr "'%s' dizi göstericisi %L'de ertelenmiş bir biçimde olmalı"
+
+-#: fortran/resolve.c:6849
++#: fortran/resolve.c:7022
+ #, no-c-format
+ msgid "Array '%s' at %L cannot have a deferred shape"
+ msgstr "'%s' dizisi %L'de ertelenmiş bir biçimde olamaz"
+
+-#: fortran/resolve.c:6878
++#: fortran/resolve.c:7051
+ #, no-c-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"
+ msgstr ""
+
+-#: fortran/resolve.c:6901
++#: fortran/resolve.c:7074
+ #, fuzzy, no-c-format
+ msgid "Object '%s' at %L must have the SAVE attribute for default initialization of a component"
+ msgstr "Nesne '%s' (%L'de), %s SAVE özniteliğine sahip olmalı"
+
+ #. The shape of a main program or module array needs to be
+ #. constant.
+-#: fortran/resolve.c:6948
++#: fortran/resolve.c:7121
+ #, no-c-format
+ msgid "The module or main program array '%s' at %L must have constant shape"
+ msgstr "Modül veya ana program dizisi '%s' %L'de sabit biçimde olmalı"
+
+-#: fortran/resolve.c:6961
++#: fortran/resolve.c:7134
+ #, no-c-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.c:6980
++#: fortran/resolve.c:7153
+ #, no-c-format
+ msgid "'%s' 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.c:7012
++#: fortran/resolve.c:7185
+ #, no-c-format
+ msgid "Allocatable '%s' at %L cannot have an initializer"
+ msgstr "Ayrılabilir '%s' %L'de bir ilklendiriciye sahip olamaz"
+
+-#: fortran/resolve.c:7015
++#: fortran/resolve.c:7188
+ #, no-c-format
+ msgid "External '%s' at %L cannot have an initializer"
+ msgstr "Harici '%s' %L'de bir ilklendiriciye sahip olamaz"
+
+-#: fortran/resolve.c:7019
++#: fortran/resolve.c:7192
+ #, no-c-format
+ msgid "Dummy '%s' at %L cannot have an initializer"
+ msgstr "Sözde '%s' %L'de bir ilklendiriciye sahip olamaz"
+
+-#: fortran/resolve.c:7022
++#: fortran/resolve.c:7195
+ #, no-c-format
+ msgid "Intrinsic '%s' at %L cannot have an initializer"
+ msgstr "YerleÅŸik '%s' %L'de bir ilklendiriciye sahip olamaz"
+
+-#: fortran/resolve.c:7025
++#: fortran/resolve.c:7198
+ #, no-c-format
+ msgid "Function result '%s' at %L cannot have an initializer"
+ msgstr "iÅŸlev sonucu '%s' %L'de bir ilklendiriciye sahip olamaz"
+
+-#: fortran/resolve.c:7028
++#: fortran/resolve.c:7201
+ #, no-c-format
+ msgid "Automatic array '%s' at %L cannot have an initializer"
+ msgstr "Özdevinimli dizi '%s' %L'de bir ilklendiriciye sahip olamaz"
+
+-#: fortran/resolve.c:7051
++#: fortran/resolve.c:7224
+ #, no-c-format
+ msgid "Although not referenced, '%s' at %L has ambiguous interfaces"
+ msgstr ""
+
+-#: fortran/resolve.c:7070
++#: fortran/resolve.c:7243
+ #, no-c-format
+ msgid "Character-valued statement function '%s' at %L must have constant length"
+ msgstr "Karakter değerli deyim işlevi '%s' %L'de sabit uzunlukta olmalı"
+
+-#: fortran/resolve.c:7078
++#: fortran/resolve.c:7251
+ #, fuzzy, no-c-format
+ msgid "Automatic character length function '%s' at %L must have an explicit interface"
+ msgstr "Karakter değerli deyim işlevi '%s' %L'de sabit uzunlukta olmalı"
+
+-#: fortran/resolve.c:7103
++#: fortran/resolve.c:7276
+ #, fuzzy, no-c-format
+ msgid "Fortran 2003: '%s' is of a PRIVATE type and cannot be a dummy argument of '%s', 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.c:7126 fortran/resolve.c:7151
++#: fortran/resolve.c:7299 fortran/resolve.c:7324
+ #, no-c-format
+ msgid "Fortran 2003: Procedure '%s' in PUBLIC interface '%s' at %L takes dummy arguments of '%s' which is PRIVATE"
+ msgstr ""
+
+-#: fortran/resolve.c:7168
++#: fortran/resolve.c:7341
+ #, fuzzy, no-c-format
+ msgid "Function '%s' at %L cannot have an initializer"
+ msgstr "iÅŸlev sonucu '%s' %L'de bir ilklendiriciye sahip olamaz"
+
+-#: fortran/resolve.c:7177
++#: fortran/resolve.c:7350
+ #, no-c-format
+ msgid "External object '%s' at %L may not have an initializer"
+ msgstr "Harici nesne '%s' %L'de bir ilklendiriciye sahip olamayabilir"
+
+-#: fortran/resolve.c:7185
++#: fortran/resolve.c:7358
+ #, fuzzy, no-c-format
+ msgid "ELEMENTAL function '%s' at %L must have a scalar result"
+ msgstr "yerleşik `%s' için (%L'de) en az iki argüman olmalı"
+
+-#: fortran/resolve.c:7206
++#: fortran/resolve.c:7379
+ #, no-c-format
+ msgid "CHARACTER(*) function '%s' at %L cannot be array-valued"
+ msgstr "CHARACTER(*) iÅŸlevi '%s' %L'de dizi deÄŸerli olamaz"
+
+-#: fortran/resolve.c:7210
++#: fortran/resolve.c:7383
+ #, no-c-format
+ msgid "CHARACTER(*) function '%s' at %L cannot be pointer-valued"
+ msgstr "CHARACTER(*) işlevi '%s' %L'de gösterici değerli olamaz"
+
+-#: fortran/resolve.c:7214
++#: fortran/resolve.c:7387
+ #, no-c-format
+ msgid "CHARACTER(*) function '%s' at %L cannot be pure"
+ msgstr "CHARACTER(*) işlevi '%s' %L'de katıksız olamaz"
+
+-#: fortran/resolve.c:7218
++#: fortran/resolve.c:7391
+ #, no-c-format
+ msgid "CHARACTER(*) function '%s' at %L cannot be recursive"
+ msgstr "CHARACTER(*) işlevi '%s' %L'de iç içe olamaz"
+
+-#: fortran/resolve.c:7227
++#: fortran/resolve.c:7400
+ #, no-c-format
+ msgid "CHARACTER(*) function '%s' at %L is obsolescent in fortran 95"
+ msgstr "CHARACTER(*) işlevi '%s' (%L'deki) fortran 95'de kullanılmamalıdır (atıl)"
+
+-#: fortran/resolve.c:7299
++#: fortran/resolve.c:7472
+ #, fuzzy, no-c-format
+ msgid "Character length of component '%s' 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.c:7314
++#: fortran/resolve.c:7487
+ #, no-c-format
+ msgid "The component '%s' is a PRIVATE type and cannot be a component of '%s', 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.c:7324
++#: fortran/resolve.c:7497
+ #, fuzzy, no-c-format
+ 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.c:7334
++#: fortran/resolve.c:7507
+ #, fuzzy, no-c-format
+ msgid "The pointer component '%s' of '%s' at %L is a type that has not been declared"
+ msgstr "Türetilmiş '%s' türü (%L'de) tanımlanmamış olan '%s' türündedir."
+
+-#: fortran/resolve.c:7352
++#: fortran/resolve.c:7525
+ #, fuzzy, no-c-format
+ msgid "Component '%s' of '%s' at %L must have constant array bounds"
+ msgstr "'%s' ('%s'in bileşeni) %L'de sabit dizi sınırlarına sahip olmalı"
+
+-#: fortran/resolve.c:7395
++#: fortran/resolve.c:7568
+ #, fuzzy, no-c-format
+ msgid "NAMELIST object '%s' was declared PRIVATE and cannot be member of PUBLIC namelist '%s' at %L"
+ msgstr "'%s' PRIVATE simgesi %L'de PUBLIC isim listesi üyesi olamaz"
+
+-#: fortran/resolve.c:7405
++#: fortran/resolve.c:7578
+ #, no-c-format
+ msgid "NAMELIST object '%s' has use-associated PRIVATE components and cannot be member of namelist '%s' at %L"
+ msgstr ""
+
+-#: fortran/resolve.c:7418
++#: fortran/resolve.c:7591
+ #, fuzzy, no-c-format
+ msgid "NAMELIST object '%s' has PRIVATE components and cannot be a member of PUBLIC namelist '%s' at %L"
+ msgstr "'%s' PRIVATE simgesi %L'de PUBLIC isim listesi üyesi olamaz"
+
+-#: fortran/resolve.c:7430
++#: fortran/resolve.c:7603
+ #, no-c-format
+ msgid "NAMELIST array object '%s' must not have assumed shape in namelist '%s' at %L"
+ msgstr ""
+
+-#: fortran/resolve.c:7439
++#: fortran/resolve.c:7612
+ #, fuzzy, no-c-format
+ msgid "NAMELIST array object '%s' must have constant shape in namelist '%s' at %L"
+ msgstr "'%s' dizisi %L'de bir NAMELIST nesnesi olarak sabit biçimde olmalı"
+
+-#: fortran/resolve.c:7451
++#: fortran/resolve.c:7624
+ #, fuzzy, no-c-format
+ msgid "NAMELIST object '%s' in namelist '%s' at %L cannot have ALLOCATABLE components"
+ msgstr "'%s' sabit nesnesi %L'de ALLOCATABLE olmayabilir"
+
+-#: fortran/resolve.c:7459
++#: fortran/resolve.c:7632
+ #, fuzzy, no-c-format
+ msgid "NAMELIST object '%s' in namelist '%s' at %L cannot have POINTER components"
+ msgstr "%L'deki veri aktarım elemanının POINTER bileşenleri olamaz"
+
+-#: fortran/resolve.c:7485
++#: fortran/resolve.c:7658
+ #, no-c-format
+ msgid "PROCEDURE attribute conflicts with NAMELIST attribute in '%s' at %L"
+ msgstr "PROCEDURE özniteliği '%s' içinde NAMELIST özniteliği ile çelişiyor (%L'de)"
+
+-#: fortran/resolve.c:7504
++#: fortran/resolve.c:7677
+ #, fuzzy, no-c-format
+ msgid "Parameter array '%s' at %L cannot be automatic or of deferred shape"
+ msgstr "Parametre dizisi '%s' %L'de özdevinimli veya tahmini biçimli olamaz"
+
+-#: fortran/resolve.c:7515
++#: fortran/resolve.c:7688
+ #, no-c-format
+ msgid "Implicitly typed PARAMETER '%s' 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.c:7526
++#: fortran/resolve.c:7699
+ #, no-c-format
+ msgid "Incompatible derived type in PARAMETER at %L"
+ msgstr "%L'de PARAMETER içindeki türetilmiş tür uyumsuz"
+
+-#: fortran/resolve.c:7597
++#: fortran/resolve.c:7758
++#, no-c-format
++msgid "Interface '%s', used by procedure '%s' at %L, is declared in a later PROCEDURE statement"
++msgstr ""
++
++#: fortran/resolve.c:7772
+ #, fuzzy, no-c-format
+ msgid "Interface '%s' of procedure '%s' at %L must be explicit"
+ msgstr "Öğesel yordamın '%s' argümanı değişmez olmalı (%L'de)"
+
+-#: fortran/resolve.c:7622
++#: fortran/resolve.c:7797
+ #, fuzzy, no-c-format
+ msgid "Type specified for intrinsic function '%s' at %L is ignored"
+ msgstr "'%s' iÅŸlevinde diÄŸer return belirtecine %L'de izin verilmiyor"
+
+-#: fortran/resolve.c:7629
++#: fortran/resolve.c:7804
+ #, fuzzy, no-c-format
+ msgid "Intrinsic subroutine '%s' at %L shall not have a type specifier"
+ msgstr "YerleÅŸik '%s' %L'de bir ilklendiriciye sahip olamaz"
+
+-#: fortran/resolve.c:7636
++#: fortran/resolve.c:7811
+ #, fuzzy, no-c-format
+ msgid "Intrinsic '%s' at %L does not exist"
+ msgstr "%L'deki yerleÅŸik mevcut deÄŸil"
+
+-#: fortran/resolve.c:7676
++#: fortran/resolve.c:7851
+ #, no-c-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.c:7679
++#: fortran/resolve.c:7854
+ #, no-c-format
+ msgid "Assumed shape array at %L must be a dummy argument"
+ msgstr "Tahmini boyutlu dizi bir sözde argüman olmalı"
+
+-#: fortran/resolve.c:7691
++#: fortran/resolve.c:7866
+ #, no-c-format
+ msgid "Symbol at %L is not a DUMMY variable"
+ msgstr "%L'deki simge bir DUMMY deÄŸiÅŸken deÄŸil"
+
+-#: fortran/resolve.c:7697
++#: fortran/resolve.c:7872
+ #, no-c-format
+ msgid "'%s' at %L cannot have the VALUE attribute because it is not a dummy argument"
+ msgstr ""
+
+-#: fortran/resolve.c:7707
++#: fortran/resolve.c:7882
+ #, fuzzy, no-c-format
+ msgid "Character dummy variable '%s' at %L with VALUE attribute must have constant length"
+ msgstr "Karakter değerli deyim işlevi '%s' %L'de sabit uzunlukta olmalı"
+
+-#: fortran/resolve.c:7716
++#: fortran/resolve.c:7891
+ #, no-c-format
+ msgid "C interoperable character dummy variable '%s' at %L with VALUE attribute must have length one"
+ msgstr ""
+
+-#: fortran/resolve.c:7742
++#: fortran/resolve.c:7917
+ #, no-c-format
+ msgid "Variable '%s' at %L cannot be BIND(C) because it is neither a COMMON block nor declared at the module level scope"
+ msgstr ""
+
+-#: fortran/resolve.c:7795
++#: fortran/resolve.c:7970
+ #, fuzzy, no-c-format
+ msgid "The derived type '%s' at %L is of type '%s', which has not been defined"
+ msgstr "Türetilmiş '%s' türü (%L'de) tanımlanmamış olan '%s' türündedir."
+
+-#: fortran/resolve.c:7811
++#: fortran/resolve.c:7987
+ #, fuzzy, no-c-format
+ msgid "Fortran 2003: PUBLIC %s '%s' at %L of PRIVATE derived type '%s'"
+ msgstr "PUBLIC işlev '%s' %L'de PRIVATE '%s' türünde olamaz"
+
+-#: fortran/resolve.c:7830
++#: fortran/resolve.c:8006
+ #, no-c-format
+ msgid "The INTENT(OUT) dummy argument '%s' at %L is ASSUMED SIZE and so cannot 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/resolve.c:7889
++#: fortran/resolve.c:8065
+ #, no-c-format
+ msgid "Threadprivate at %L isn't SAVEd"
+ msgstr ""
+
+-#: fortran/resolve.c:7967
++#: fortran/resolve.c:8143
+ #, no-c-format
+ msgid "BLOCK DATA element '%s' at %L must be in COMMON"
+ msgstr "BLOCK DATA öğesi '%s' %L'de COMMON içinde olmalıdır"
+
+-#: fortran/resolve.c:8011
++#: fortran/resolve.c:8149
+ #, no-c-format
++msgid "DATA array '%s' at %L must be specified in a previous declaration"
++msgstr ""
++
++#: fortran/resolve.c:8194
++#, no-c-format
+ msgid "Nonconstant array section at %L in DATA statement"
+ msgstr "DATA deyiminde %L'de sabit olmayan dizi bölümü"
+
+-#: fortran/resolve.c:8024
++#: fortran/resolve.c:8207
+ #, no-c-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.c:8118
++#: fortran/resolve.c:8301
+ #, no-c-format
+ msgid "iterator start at %L does not simplify"
+ msgstr ""
+
+-#: fortran/resolve.c:8125
++#: fortran/resolve.c:8308
+ #, fuzzy, no-c-format
+ msgid "iterator end at %L does not simplify"
+ msgstr "%L'deki yerleÅŸik mevcut deÄŸil"
+
+-#: fortran/resolve.c:8132
++#: fortran/resolve.c:8315
+ #, fuzzy, no-c-format
+ msgid "iterator step at %L does not simplify"
+ msgstr "%L'deki yineleyici adımı sıfır olamaz"
+
+-#: fortran/resolve.c:8258
++#: fortran/resolve.c:8441
+ #, no-c-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.c:8349
++#: fortran/resolve.c:8532
+ #, no-c-format
+ msgid "Label %d at %L defined but not used"
+ msgstr "%d yaftası %L'de tanımlanmış ama kullanılmamış"
+
+-#: fortran/resolve.c:8354
++#: fortran/resolve.c:8537
+ #, no-c-format
+ msgid "Label %d at %L defined but cannot be used"
+ msgstr "%d yaftası %L'de tanımlanmış ama kullanılamıyor"
+
+-#: fortran/resolve.c:8439
++#: fortran/resolve.c:8622
+ #, no-c-format
+ msgid "Derived type variable '%s' at %L must have SEQUENCE attribute to be an EQUIVALENCE object"
+ msgstr "Türetilmiş tür değişkeni '%s' %L'de bir EQUIVALENCE nesnesi olarak SEQUENCE özniteliğine sahip olmalı"
+
+-#: fortran/resolve.c:8448
++#: fortran/resolve.c:8631
+ #, fuzzy, no-c-format
+ msgid "Derived type variable '%s' 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.c:8465
++#: fortran/resolve.c:8639
++#, fuzzy, no-c-format
++msgid "Derived type variable '%s' 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.c:8656
+ #, no-c-format
+ msgid "Derived type variable '%s' at %L with pointer component(s) cannot 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.c:8570
++#: fortran/resolve.c:8761
+ #, no-c-format
+ msgid "Syntax error in EQUIVALENCE statement at %L"
+ msgstr "%L'deki EQUIVALENCE deyiminde söz dizimi hatası"
+
+-#: fortran/resolve.c:8585
++#: fortran/resolve.c:8776
+ #, no-c-format
+ msgid "Either all or none of the objects in the EQUIVALENCE set at %L shall have the PROTECTED attribute"
+ msgstr ""
+
+-#: fortran/resolve.c:8597
++#: fortran/resolve.c:8788
+ #, no-c-format
+ msgid "Common block member '%s' at %L cannot be an EQUIVALENCE object in the pure procedure '%s'"
+ msgstr "Ortak blok üyesi '%s' (%L'de), '%s' pure yordamındaki bir EQUIVALENCE nesnesi olamaz"
+
+-#: fortran/resolve.c:8606
++#: fortran/resolve.c:8797
+ #, no-c-format
+ msgid "Named constant '%s' at %L cannot be an EQUIVALENCE object"
+ msgstr "'%s' isimli sabiti %L'de bir EQUIVALENCE nesnesi olamaz"
+
+-#: fortran/resolve.c:8685
++#: fortran/resolve.c:8876
+ #, no-c-format
+ msgid "Array '%s' at %L with non-constant bounds cannot be an EQUIVALENCE object"
+ msgstr "Sınırları sabit olmayan '%s' dizisi (%L'de) bir EQUIVALENCE nesnesi olamaz"
+
+-#: fortran/resolve.c:8696
++#: fortran/resolve.c:8887
+ #, no-c-format
+ msgid "Structure component '%s' at %L cannot be an EQUIVALENCE object"
+ msgstr "Yapı bileşeni '%s' %L'de bir EQUIVALENCE nesnesi olamaz"
+
+-#: fortran/resolve.c:8707
++#: fortran/resolve.c:8898
+ #, no-c-format
+ msgid "Substring at %L has length zero"
+ msgstr "%L'deki altdizge sıfır uzunlukta"
+
+-#: fortran/resolve.c:8750
++#: fortran/resolve.c:8941
+ #, no-c-format
+ msgid "PUBLIC function '%s' at %L cannot be of PRIVATE type '%s'"
+ msgstr "PUBLIC işlev '%s' %L'de PRIVATE '%s' türünde olamaz"
+
+-#: fortran/resolve.c:8762
++#: fortran/resolve.c:8953
+ #, no-c-format
+ msgid "ENTRY '%s' at %L has no IMPLICIT type"
+ msgstr "ENTRY '%s' %L'de hiç IMPLICIT tür içermiyor"
+
+-#: fortran/resolve.c:8788
++#: fortran/resolve.c:8979
+ #, no-c-format
+ msgid "User operator procedure '%s' at %L must be a FUNCTION"
+ msgstr "Yerleşik işleç arayüzü '%s' %L'de bir FUNCTION olmalı"
+
+-#: fortran/resolve.c:8795
++#: fortran/resolve.c:8986
+ #, no-c-format
+ msgid "User operator procedure '%s' at %L cannot be assumed character length"
+ msgstr "Kullanıcı işleci yordamı '%s' %L'de tahmini karakter uzunluğunda olamaz"
+
+-#: fortran/resolve.c:8801
++#: fortran/resolve.c:8992
+ #, no-c-format
+ msgid "User operator procedure '%s' 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.c:8811
++#: fortran/resolve.c:9002
+ #, no-c-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.c:8823
++#: fortran/resolve.c:9014
+ #, no-c-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.c:8827
++#: fortran/resolve.c:9018
+ #, no-c-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.c:8867
++#: fortran/resolve.c:9059
+ #, no-c-format
+ msgid "Contained procedure '%s' at %L of a PURE procedure must also be PURE"
+ msgstr "Bir PURE yordamında içerilmiş '%s' yordamının kendisi de PURE olmalı"
+
+-#: fortran/scanner.c:526
++#: fortran/scanner.c:530
+ #, no-c-format
+ msgid "!$OMP at %C starts a commented line as it neither is followed by a space nor is a continuation line"
+ msgstr ""
+
+-#: fortran/scanner.c:816 fortran/scanner.c:937
++#: fortran/scanner.c:820 fortran/scanner.c:941
+ #, fuzzy, no-c-format
+ msgid "Limit of %d continuations exceeded in statement at %C"
+ msgstr "%C'deki devam satırı hatalı"
+
+-#: fortran/scanner.c:861
++#: fortran/scanner.c:865
+ #, no-c-format
+ msgid "Missing '&' in continued character constant at %C"
+ msgstr "%C'deki devamlı karakter sabitinde '&' eksik"
+
+-#: fortran/scanner.c:1071
++#: fortran/scanner.c:1075
+ #, no-c-format
+ msgid "Nonconforming tab character at %C"
+ msgstr ""
+
+-#: fortran/scanner.c:1153 fortran/scanner.c:1156
++#: fortran/scanner.c:1158 fortran/scanner.c:1161
+ #, no-c-format
+ msgid "'&' not allowed by itself in line %d"
+ msgstr ""
+
+-#: fortran/scanner.c:1189
++#: fortran/scanner.c:1207
+ #, no-c-format
+-msgid "Nonconforming tab character in column 1 of line %d"
++msgid "Nonconforming tab character in column %d of line %d"
+ msgstr ""
+
+-#: fortran/scanner.c:1387
++#: fortran/scanner.c:1405
+ #, no-c-format
+ msgid "%s:%d: file %s left but not entered"
+ msgstr "%s:%d: %s dosyası solda ama girilmemiş"
+
+-#: fortran/scanner.c:1419
++#: fortran/scanner.c:1438
+ #, no-c-format
+ msgid "%s:%d: Illegal preprocessor directive"
+ msgstr "%s:%d: önişlemci yönergesi kuraldışı"
+
+-#: fortran/scanner.c:1514
++#: fortran/scanner.c:1533
+ #, no-c-format
+ msgid "File '%s' is being included recursively"
+ msgstr "'%s' dosyası iç içe içeriliyor"
+
+-#: fortran/scanner.c:1529
++#: fortran/scanner.c:1548
+ #, no-c-format
+ msgid "Can't open file '%s'"
+ msgstr "`%s' dosyası açılamıyor"
+
+-#: fortran/scanner.c:1538
++#: fortran/scanner.c:1557
+ #, no-c-format
+ msgid "Can't open included file '%s'"
+ msgstr "İçerilmiş '%s' dosyası açılamıyor"
+
+-#: fortran/scanner.c:1676
++#: fortran/scanner.c:1701
+ #, c-format
+ msgid "%s:%3d %s\n"
+ msgstr "%s:%3d %s\n"
+@@ -10289,134 +10350,134 @@
+ msgid "Argument of CHAR function at %L outside of range [0,255]"
+ msgstr "%L'de ICHAR'ın argümanı bu işlemcinin kapsamı dışında"
+
+-#: fortran/simplify.c:1247
++#: fortran/simplify.c:1293
+ #, no-c-format
+ msgid "Argument of IACHAR at %L must be of length one"
+ msgstr "%L'deki IACHAR'ın argümanı bir uzunlukta olmalı"
+
+-#: fortran/simplify.c:1254
++#: fortran/simplify.c:1300
+ #, fuzzy, no-c-format
+ msgid "Argument of IACHAR function at %L outside of range 0..127"
+ msgstr "%L'deki IACHAR'ın argümanı bir uzunlukta olmalı"
+
+-#: fortran/simplify.c:1293
++#: fortran/simplify.c:1339
+ #, no-c-format
+ msgid "Invalid second argument of IBCLR at %L"
+ msgstr "%L'de IBCLR'nin ikinci argümanı geçersiz"
+
+-#: fortran/simplify.c:1301
++#: fortran/simplify.c:1347
+ #, no-c-format
+ msgid "Second argument of IBCLR exceeds bit size at %L"
+ msgstr "%L'de IBCLR'nin ikinci argümanı bit boyutunu aşıyor"
+
+-#: fortran/simplify.c:1335
++#: fortran/simplify.c:1381
+ #, no-c-format
+ msgid "Invalid second argument of IBITS at %L"
+ msgstr "%L'de IBITS'in ikinci argümanı geçersiz"
+
+-#: fortran/simplify.c:1341
++#: fortran/simplify.c:1387
+ #, no-c-format
+ msgid "Invalid third argument of IBITS at %L"
+ msgstr "%L'de IBITS'in üçüncü argümanı geçersiz"
+
+-#: fortran/simplify.c:1351
++#: fortran/simplify.c:1397
+ #, no-c-format
+ msgid "Sum of second and third arguments of IBITS exceeds bit size at %L"
+ msgstr "%L'de IBITS'in ikinci ve üçüncü argümanının toplamı bit boyutunu aşıyor"
+
+-#: fortran/simplify.c:1393
++#: fortran/simplify.c:1439
+ #, no-c-format
+ msgid "Invalid second argument of IBSET at %L"
+ msgstr "%L'de IBSET'in ikinci argümanı geçersiz"
+
+-#: fortran/simplify.c:1401
++#: fortran/simplify.c:1447
+ #, no-c-format
+ msgid "Second argument of IBSET exceeds bit size at %L"
+ msgstr "%L'de IBSET'in ikinci argümanı bit boyutunu aşıyor"
+
+-#: fortran/simplify.c:1431
++#: fortran/simplify.c:1477
+ #, no-c-format
+ msgid "Argument of ICHAR at %L must be of length one"
+ msgstr "%L'de ICHAR'ın argümanı bir uzunlukta olmalı"
+
+-#: fortran/simplify.c:1646
++#: fortran/simplify.c:1692
+ #, no-c-format
+ msgid "Argument of INT at %L is not a valid type"
+ msgstr "%L'de INT'in argümanı geçerli bir tür değil"
+
+-#: fortran/simplify.c:1688
++#: fortran/simplify.c:1734
+ #, fuzzy, no-c-format
+ msgid "Argument of %s at %L is not a valid type"
+ msgstr "%L'de INT'in argümanı geçerli bir tür değil"
+
+-#: fortran/simplify.c:1786
++#: fortran/simplify.c:1832
+ #, no-c-format
+ msgid "Invalid second argument of ISHFT at %L"
+ msgstr "%L'de ISHFT'in ikinci argümanı geçersiz"
+
+-#: fortran/simplify.c:1801
++#: fortran/simplify.c:1847
+ #, no-c-format
+ msgid "Magnitude of second argument of ISHFT exceeds bit size at %L"
+ msgstr "%L'de ISHFT'in ikinci argümanının genliği bit boyutunu aşıyor"
+
+-#: fortran/simplify.c:1865
++#: fortran/simplify.c:1911
+ #, no-c-format
+ msgid "Invalid second argument of ISHFTC at %L"
+ msgstr "%L'de ISHFTC'nin ikinci argümanı geçersiz"
+
+-#: fortran/simplify.c:1879
++#: fortran/simplify.c:1925
+ #, no-c-format
+ msgid "Invalid third argument of ISHFTC at %L"
+ msgstr "%L'de ISHFTC'nin üçüncü argümanı geçersiz"
+
+-#: fortran/simplify.c:1885
++#: fortran/simplify.c:1931
+ #, fuzzy, no-c-format
+ msgid "Magnitude of third argument of ISHFTC exceeds BIT_SIZE of first argument at %L"
+ msgstr "%L'de ISHFTC'nin ikinci argümanının genliği üçüncü argümanı aşıyor"
+
+-#: fortran/simplify.c:1901
++#: fortran/simplify.c:1947
+ #, no-c-format
+ msgid "Magnitude of second argument of ISHFTC exceeds third argument at %L"
+ msgstr "%L'de ISHFTC'nin ikinci argümanının genliği üçüncü argümanı aşıyor"
+
+-#: fortran/simplify.c:1904
++#: fortran/simplify.c:1950
+ #, fuzzy, no-c-format
+ msgid "Magnitude of second argument of ISHFTC exceeds BIT_SIZE of first argument at %L"
+ msgstr "%L'de ISHFTC'nin ikinci argümanının genliği üçüncü argümanı aşıyor"
+
+-#: fortran/simplify.c:1975
++#: fortran/simplify.c:2021
+ #, no-c-format
+ msgid "Argument of KIND at %L is a DERIVED type"
+ msgstr "%L'de KIND'in argümanı bir DERIVED türdür"
+
+-#: fortran/simplify.c:2163
++#: fortran/simplify.c:2209
+ #, no-c-format
+ msgid "DIM argument at %L is out of bounds"
+ msgstr "%L'de DIM'in argümanı sınırların dışında"
+
+-#: fortran/simplify.c:2318
++#: fortran/simplify.c:2364
+ #, no-c-format
+ msgid "Argument of LOG at %L cannot be less than or equal to zero"
+ msgstr "%L'de LOG'un argümanı sıfır veya sıfırdan küçük olamaz"
+
+-#: fortran/simplify.c:2331
++#: fortran/simplify.c:2377
+ #, no-c-format
+ msgid "Complex argument of LOG at %L cannot be zero"
+ msgstr "%L'de LOG'un karmaşık argümanı sıfır olamaz"
+
+-#: fortran/simplify.c:2374
++#: fortran/simplify.c:2420
+ #, no-c-format
+ msgid "Argument of LOG10 at %L cannot be less than or equal to zero"
+ msgstr "%L'de LOG10'un argümanı sıfır veya sıfırdan küçük olamaz"
+
+ #. Result is processor-dependent.
+-#: fortran/simplify.c:2579
++#: fortran/simplify.c:2628
+ #, no-c-format
+ msgid "Second argument MOD at %L is zero"
+ msgstr "%L'de ikinci MOD argümanı sıfırdır"
+
+ #. Result is processor-dependent.
+-#: fortran/simplify.c:2590
++#: fortran/simplify.c:2639
+ #, no-c-format
+ msgid "Second argument of MOD at %L is zero"
+ msgstr "%L'de MOD'un ikinci argümanı sıfırdır"
+@@ -10424,82 +10485,87 @@
+ #. Result is processor-dependent. This processor just opts
+ #. to not handle it at all.
+ #. Result is processor-dependent.
+-#: fortran/simplify.c:2638 fortran/simplify.c:2650
++#: fortran/simplify.c:2687 fortran/simplify.c:2699
+ #, no-c-format
+ msgid "Second argument of MODULO at %L is zero"
+ msgstr "%L'de MODULO'nun ikinci argümanı sıfırdır"
+
+-#: fortran/simplify.c:2702
++#: fortran/simplify.c:2751
+ #, fuzzy, no-c-format
+ msgid "Second argument of NEAREST at %L shall not be zero"
+ msgstr "%L'de NEAREST'ın ikinci argümanı sıfır olmayabilir"
+
+-#: fortran/simplify.c:2977
++#: fortran/simplify.c:2787
++#, fuzzy, no-c-format
++msgid "Result of NEAREST is NaN at %L"
++msgstr "%L'de SCALE sonucu kendi çeşidini üstten taşırıyor"
++
++#: fortran/simplify.c:3062
+ #, no-c-format
+ msgid "Argument NCOPIES of REPEAT intrinsic is negative at %L"
+ msgstr ""
+
+-#: fortran/simplify.c:3032
++#: fortran/simplify.c:3117
+ #, no-c-format
+ msgid "Argument NCOPIES of REPEAT intrinsic is too large at %L"
+ msgstr ""
+
+-#: fortran/simplify.c:3122
++#: fortran/simplify.c:3232
+ #, no-c-format
+ msgid "Integer too large in shape specification at %L"
+ msgstr "%L'de biçim belirtimindeki tamsayı çok büyük"
+
+-#: fortran/simplify.c:3132
++#: fortran/simplify.c:3242
+ #, no-c-format
+ msgid "Too many dimensions in shape specification for RESHAPE at %L"
+ msgstr "%L'de RESHAPE için biçim belirtiminde boyutlar çok fazla"
+
+-#: fortran/simplify.c:3140
++#: fortran/simplify.c:3250
+ #, no-c-format
+ msgid "Shape specification at %L cannot be negative"
+ msgstr "%L'de biçim belirtimi negatif olamaz"
+
+-#: fortran/simplify.c:3150
++#: fortran/simplify.c:3260
+ #, no-c-format
+ msgid "Shape specification at %L cannot be the null array"
+ msgstr "%L'de biçim belirtimi boş dizi olamaz"
+
+-#: fortran/simplify.c:3171
++#: fortran/simplify.c:3281
+ #, no-c-format
+ msgid "ORDER parameter of RESHAPE at %L is not the same size as SHAPE parameter"
+ msgstr "%L'de RESHAPE'in ORDER parametresi SHAPE parametresi ile aynı boyutta değil"
+
+-#: fortran/simplify.c:3178
++#: fortran/simplify.c:3288
+ #, no-c-format
+ msgid "Error in ORDER parameter of RESHAPE at %L"
+ msgstr "%L'de RESHAPE'in ORDER parametresinde hata"
+
+-#: fortran/simplify.c:3188
++#: fortran/simplify.c:3298
+ #, no-c-format
+ msgid "ORDER parameter of RESHAPE at %L is out of range"
+ msgstr "%L'de RESHAPE'in ORDER parametresi aralık dışında"
+
+-#: fortran/simplify.c:3197
++#: fortran/simplify.c:3307
+ #, no-c-format
+ msgid "Invalid permutation in ORDER parameter at %L"
+ msgstr "%L'de ORDER parametresindeki değiş tokuş geçersiz"
+
+-#: fortran/simplify.c:3253
++#: fortran/simplify.c:3363
+ #, no-c-format
+ msgid "PAD parameter required for short SOURCE parameter at %L"
+ msgstr "%L'de kısa SOURCE parametresi için PAD parametresi gerekli"
+
+-#: fortran/simplify.c:3372
++#: fortran/simplify.c:3482
+ #, no-c-format
+ msgid "Result of SCALE overflows its kind at %L"
+ msgstr "%L'de SCALE sonucu kendi çeşidini üstten taşırıyor"
+
+-#: fortran/simplify.c:3942
++#: fortran/simplify.c:4056
+ #, no-c-format
+ msgid "Argument of SQRT at %L has a negative value"
+ msgstr "%L'de SQRT'nin argümanı negatif değer içeriyor"
+
+-#: fortran/simplify.c:4069
++#: fortran/simplify.c:4190
+ #, no-c-format
+ msgid "Intrinsic TRANSFER at %L has partly undefined result: source size %ld < result size %ld"
+ msgstr ""
+@@ -10728,29 +10794,29 @@
+ msgid "Symbol '%s' at %C has already been host associated"
+ msgstr "'%s' simgesi (%C'deki) zaten konakla iliÅŸkiliymiÅŸ"
+
+-#: fortran/symbol.c:3162
++#: fortran/symbol.c:3189
+ #, fuzzy, no-c-format
+ msgid "Derived type '%s' declared at %L must have the BIND attribute to be C interoperable"
+ msgstr "Türetilmiş tür değişkeni '%s' %L'de bir EQUIVALENCE nesnesi olarak SEQUENCE özniteliğine sahip olmalı"
+
+-#: fortran/symbol.c:3173
++#: fortran/symbol.c:3200
+ #, fuzzy, no-c-format
+ msgid "Derived type '%s' at %L is empty"
+ msgstr "Türetilmiş '%s' türü (%C'deki) tanımından önce kullanılıyor"
+
+-#: fortran/symbol.c:3190
++#: fortran/symbol.c:3217
+ #, no-c-format
+ msgid "Component '%s' at %L cannot have the POINTER attribute because it is a member of the BIND(C) derived type '%s' at %L"
+ msgstr ""
+
+-#: fortran/symbol.c:3202
++#: fortran/symbol.c:3229
+ #, no-c-format
+ msgid "Component '%s' at %L cannot have the ALLOCATABLE attribute because it is a member of the BIND(C) derived type '%s' at %L"
+ msgstr ""
+
+ #. If the derived type is bind(c), all fields must be
+ #. interop.
+-#: fortran/symbol.c:3241
++#: fortran/symbol.c:3268
+ #, no-c-format
+ msgid "Component '%s' in derived type '%s' at %L may not be C interoperable, even though derived type '%s' is BIND(C)"
+ msgstr ""
+@@ -10758,17 +10824,17 @@
+ #. If derived type is param to bind(c) routine, or to one
+ #. of the iso_c_binding procs, it must be interoperable, so
+ #. all fields must interop too.
+-#: fortran/symbol.c:3250
++#: fortran/symbol.c:3277
+ #, no-c-format
+ msgid "Component '%s' in derived type '%s' at %L may not be C interoperable"
+ msgstr ""
+
+-#: fortran/symbol.c:3264
++#: fortran/symbol.c:3291
+ #, no-c-format
+ msgid "Derived type '%s' at %L cannot be declared with both PRIVATE and BIND(C) attributes"
+ msgstr ""
+
+-#: fortran/symbol.c:3272
++#: fortran/symbol.c:3299
+ #, fuzzy, no-c-format
+ msgid "Derived type '%s' at %L cannot have the SEQUENCE attribute because it is BIND(C)"
+ msgstr "Türetilmiş tür değişkeni '%s' %L'de bir EQUIVALENCE nesnesi olarak SEQUENCE özniteliğine sahip olmalı"
+@@ -10778,38 +10844,43 @@
+ msgid "Overlapping unequal initializers in EQUIVALENCE at %L"
+ msgstr ""
+
+-#: fortran/trans-common.c:396
++#: fortran/target-memory.c:635
+ #, no-c-format
++msgid "BOZ constant at %L is too large (%ld vs %ld bits)"
++msgstr ""
++
++#: fortran/trans-common.c:399
++#, no-c-format
+ msgid "Named COMMON block '%s' at %L shall be of the same size"
+ msgstr "İsimli COMMON blok '%s' %L'de aynı boyutta olmalı"
+
+-#: fortran/trans-common.c:817
++#: fortran/trans-common.c:833
+ #, no-c-format
+ msgid "Bad array reference at %L"
+ msgstr "%L'de hatalı dizi başvurusu"
+
+-#: fortran/trans-common.c:825
++#: fortran/trans-common.c:841
+ #, no-c-format
+ msgid "Illegal reference type at %L as EQUIVALENCE object"
+ msgstr "EQUIVALENCE nesne olarak %L'deki başvuru türü kuraldışı"
+
+-#: fortran/trans-common.c:865
++#: fortran/trans-common.c:881
+ #, no-c-format
+ msgid "Inconsistent equivalence rules involving '%s' at %L and '%s' at %L"
+ msgstr "Uyumsuz eşdeğerlik kuralları '%s' (%L'deki) ve '%s' (%L'deki) ilişkilendiriliyor"
+
+ #. Aligning this field would misalign a previous field.
+-#: fortran/trans-common.c:998
++#: fortran/trans-common.c:1014
+ #, fuzzy, no-c-format
+ msgid "The equivalence set for variable '%s' declared at %L violates alignment requirements"
+ msgstr "'%s' değişkeni için bildirilen eşdeğerlik kümesi hizalama gereksinimleriyle çelişiyor (%L'de)"
+
+-#: fortran/trans-common.c:1063
++#: fortran/trans-common.c:1079
+ #, no-c-format
+ msgid "Equivalence for '%s' does not match ordering of COMMON '%s' at %L"
+ msgstr "'%s'nin eÅŸdeÄŸerliÄŸi ile COMMON '%s'nin mertebesi uyuÅŸmuyor (%L'de)"
+
+-#: fortran/trans-common.c:1078
++#: fortran/trans-common.c:1094
+ #, no-c-format
+ msgid "The equivalence set for '%s' cause an invalid extension to COMMON '%s' at %L"
+ msgstr "'%s'nin eşdeğerliği COMMON '%s'ye geçersiz eklemeye sebep oluyor (%L'de)"
+@@ -10817,7 +10888,7 @@
+ #. The required offset conflicts with previous alignment
+ #. requirements. Insert padding immediately before this
+ #. segment.
+-#: fortran/trans-common.c:1089
++#: fortran/trans-common.c:1105
+ #, no-c-format
+ msgid "Padding of %d bytes required before '%s' in COMMON '%s' at %L"
+ msgstr ""
+@@ -10826,37 +10897,37 @@
+ "COMMON '%s' içinde\n"
+ "%L'de (tam ÅŸiir gibi olsun bari)"
+
+-#: fortran/trans-common.c:1115
++#: fortran/trans-common.c:1131
+ #, fuzzy, no-c-format
+ msgid "COMMON '%s' at %L does not exist"
+ msgstr "%L'deki yerleÅŸik mevcut deÄŸil"
+
+-#: fortran/trans-common.c:1122
++#: fortran/trans-common.c:1138
+ #, no-c-format
+ msgid "COMMON '%s' at %L requires %d bytes of padding at start"
+ msgstr "COMMON '%s' (%L'de) başlangıçta %d baytlık adımlama gerektiriyor"
+
+-#: fortran/trans-decl.c:3016
++#: fortran/trans-decl.c:2979
+ #, fuzzy, no-c-format
+ msgid "Dummy argument '%s' at %L was declared INTENT(OUT) but was not set"
+ msgstr "Sözde argüman '%s' (%L'de) INTENT(OUT) olamaz"
+
+-#: fortran/trans-decl.c:3020
++#: fortran/trans-decl.c:2983
+ #, fuzzy, no-c-format
+ msgid "Unused dummy argument '%s' at %L"
+ msgstr "%s için argümanlar %L'de çok fazla"
+
+-#: fortran/trans-decl.c:3026
++#: fortran/trans-decl.c:2989
+ #, fuzzy, no-c-format
+ msgid "Unused variable '%s' declared at %L"
+ msgstr "gerçekleme değişkeni %qs %s olarak bildirilmiş"
+
+-#: fortran/trans-decl.c:3052
++#: fortran/trans-decl.c:3015
+ #, fuzzy, no-c-format
+ msgid "Unused parameter '%s' declared at %L"
+ msgstr "parametre %qD void olarak bildirilmiÅŸ"
+
+-#: fortran/trans-expr.c:2036
++#: fortran/trans-expr.c:2199
+ #, fuzzy, no-c-format
+ msgid "Unknown argument list function at %L"
+ msgstr "'%s' işlevinde argüman listesi eksik (%C'de)"
+@@ -10866,12 +10937,12 @@
+ msgid "'dim' argument of %s intrinsic at %L is not a valid dimension index"
+ msgstr "`dim' argümanı `%s' yerleşiği için (%L'de) geçerli bir boyut indisi değil"
+
+-#: fortran/trans-io.c:1850
++#: fortran/trans-io.c:1851
+ #, fuzzy, no-c-format
+ msgid "Derived type '%s' at %L has PRIVATE components"
+ msgstr "%C'deki türetilmiş tür tanımının hiç bileşeni yok"
+
+-#: fortran/trans-stmt.c:438
++#: fortran/trans-stmt.c:436
+ #, no-c-format
+ msgid "An alternate return at %L without a * dummy argument"
+ msgstr "%L'de * sözde argümanı olmaksızın diğer return"
+@@ -11096,56 +11167,35 @@
+ msgid "cannot specify 'main' class when not linking"
+ msgstr "ilintileme yapılmayacaksa 'main' sınıfı belirtilemez"
+
+-#: config/i386/nwld.h:34
+-msgid "Static linking is not supported.\n"
+-msgstr "DuraÄŸan ilintileme desteklenmiyor.\n"
+-
+-#: java/jvspec.c:80 gcc.c:820 ada/lang-specs.h:33
+-msgid "-pg and -fomit-frame-pointer are incompatible"
+-msgstr "-pg ve -fomit-frame-pointer uyumsuz"
+-
+ #: config/vax/netbsd-elf.h:41
+ msgid "the -shared option is not currently supported for VAX ELF"
+ msgstr "-shared seçeneği VAX ELF için şu an desteklenmiyor."
+
+-#: config/sparc/sol2-gld-bi.h:17 config/sparc/sol2-gld-bi.h:22
+-#: config/sparc/sol2-bi.h:189 config/sparc/sol2-bi.h:194
+-msgid "does not support multilib"
+-msgstr "multilib desteklenmiyor"
+-
+ #: config/vax/vax.h:49 config/vax/vax.h:50
+ msgid "profiling not supported with -mg\n"
+ msgstr "-mg ile ayrımsama desteklenmiyor\n"
+
+-#: config/rs6000/linux64.h:347 config/rs6000/linux64.h:349 config/linux.h:106
+-#: config/linux.h:108 config/rs6000/sysv4.h:897 config/rs6000/sysv4.h:899
++#: config/sh/sh.h:461
++msgid "SH2a does not support little-endian"
++msgstr "SH2a kıymetsiz baytın başta olduğu sıralamayı desteklemiyor"
++
++#: config/s390/tpf.h:119
++msgid "static is not supported on TPF-OS"
++msgstr "static TPF-OS'da desteklenmiyor"
++
+ #: config/alpha/linux-elf.h:33 config/alpha/linux-elf.h:35
++#: config/rs6000/sysv4.h:897 config/rs6000/sysv4.h:899
+ #: config/sparc/linux.h:126 config/sparc/linux.h:128
+-#: config/sparc/linux64.h:152 config/sparc/linux64.h:154
++#: config/sparc/linux64.h:152 config/sparc/linux64.h:154 config/linux.h:106
++#: config/linux.h:108 config/rs6000/linux64.h:347 config/rs6000/linux64.h:349
+ #, fuzzy
+ msgid "-mglibc and -muclibc used together"
+ msgstr "-mips16 ve -mdsp birlikte kullanılamaz"
+
+-#: config/i386/cygwin.h:28
+-msgid "mno-cygwin and mno-win32 are not compatible"
+-msgstr "mno-cygwin ve mno-win32 uyumsuz"
++#: java/jvspec.c:80 gcc.c:820 ada/lang-specs.h:33
++msgid "-pg and -fomit-frame-pointer are incompatible"
++msgstr "-pg ve -fomit-frame-pointer uyumsuz"
+
+-#: config/i386/cygwin.h:74 config/i386/mingw32.h:74
+-msgid "shared and mdll are not compatible"
+-msgstr "shared ve mdll uyumsuz"
+-
+-#: config/i386/sco5.h:188
+-msgid "-pg not supported on this platform"
+-msgstr "-pg bu platformda desteklenmiyor"
+-
+-#: config/i386/sco5.h:189
+-msgid "-p and -pp specified - pick one"
+-msgstr "-p ve -pp belirtilmiş - birini seçin"
+-
+-#: config/i386/sco5.h:258
+-msgid "-G and -static are mutually exclusive"
+-msgstr "-G ve -static birlikte kullanılamaz"
+-
+ #: gcc.c:792
+ msgid "GCC does not support -C or -CC without -E"
+ msgstr "GCC -E olmaksızın -C veya -CC desteklemez"
+@@ -11154,58 +11204,14 @@
+ msgid "-E or -x required when input is from standard input"
+ msgstr "Girdi standart girdiden alınırken -E veya -x gerekir"
+
+-#: java/lang-specs.h:33
+-msgid "-fjni and -femit-class-files are incompatible"
+-msgstr "-fjni ve -femit-class-files uyumsuz"
+-
+-#: java/lang-specs.h:34
+-msgid "-fjni and -femit-class-file are incompatible"
+-msgstr "-fjni ve -femit-class-file uyumsuz"
+-
+-#: java/lang-specs.h:35 java/lang-specs.h:36
+-msgid "-femit-class-file should used along with -fsyntax-only"
+-msgstr "-femit-class-file ile -fsyntax-only birlikte kullanılmalı"
+-
+ #: config/mcore/mcore.h:56
+ msgid "the m210 does not have little endian support"
+ msgstr "m210 kıymetli baytın sonda olduğu sıralamayı desteklemez"
+
+-#: config/lynx.h:70
+-msgid "cannot use mthreads and mlegacy-threads together"
+-msgstr "mthreads ve mlegacy-threads birlikte kullanılamaz."
+-
+-#: config/lynx.h:95
+-msgid "cannot use mshared and static together"
+-msgstr "mshared ve static birlikte kullanılamaz."
+-
+-#: config/sh/sh.h:461
+-msgid "SH2a does not support little-endian"
+-msgstr "SH2a kıymetsiz baytın başta olduğu sıralamayı desteklemiyor"
+-
+-#: config/mips/mips.h:1042 config/arc/arc.h:61
++#: config/arc/arc.h:61 config/mips/mips.h:1042
+ msgid "may not use both -EB and -EL"
+ msgstr "-EB ve -EL birlikte kullanılamayabilir"
+
+-#: config/s390/tpf.h:119
+-msgid "static is not supported on TPF-OS"
+-msgstr "static TPF-OS'da desteklenmiyor"
+-
+-#: config/rs6000/darwin.h:95
+-msgid " conflicting code gen style switches are used"
+-msgstr " çelişen code gen tarzı switch'ler kullanılmış"
+-
+-#: ada/lang-specs.h:34
+-msgid "-c or -S required for Ada"
+-msgstr "Ada için -c ya da -S gerekli"
+-
+-#: config/mips/r3900.h:34
+-msgid "-mhard-float not supported"
+-msgstr "-mhard-float desteklenmiyor"
+-
+-#: config/mips/r3900.h:36
+-msgid "-msingle-float and -msoft-float cannot both be specified"
+-msgstr "-msingle-float ve -msoft-float birlikte belirtilemez."
+-
+ #: config/vxworks.h:71
+ msgid "-Xbind-now and -Xbind-lazy are incompatible"
+ msgstr "-Xbind-now ile -Xbind-lazy uyumsuz"
+@@ -11242,12 +11248,24 @@
+ msgid "-private_bundle not allowed with -dynamiclib"
+ msgstr "-private_bundle ile -dynamiclib birarada olmaz"
+
++#: config/mips/r3900.h:34
++msgid "-mhard-float not supported"
++msgstr "-mhard-float desteklenmiyor"
++
++#: config/mips/r3900.h:36
++msgid "-msingle-float and -msoft-float cannot both be specified"
++msgstr "-msingle-float ve -msoft-float birlikte belirtilemez."
++
+ #: config/sparc/linux64.h:211 config/sparc/linux64.h:222
+ #: config/sparc/netbsd-elf.h:125 config/sparc/netbsd-elf.h:144
+ #: config/sparc/sol2-bi.h:217 config/sparc/sol2-bi.h:227
+ msgid "may not use both -m32 and -m64"
+ msgstr "-m32 ve -m64 birlikte kullanılamayabilir"
+
++#: config/i386/mingw32.h:74 config/i386/cygwin.h:74
++msgid "shared and mdll are not compatible"
++msgstr "shared ve mdll uyumsuz"
++
+ #: config/arm/arm.h:147
+ msgid "-msoft-float and -mhard_float may not be used together"
+ msgstr "-msoft-float ve -mhard_float birlikte kullanılamayabilir"
+@@ -11256,119 +11274,64 @@
+ msgid "-mbig-endian and -mlittle-endian may not be used together"
+ msgstr "-mbig-endian ve -mlittle-endian birlikte kullanılamayabilir"
+
+-#: java/lang.opt:65
+-msgid "Warn if a deprecated compiler feature, class, method, or field is used"
+-msgstr "Önerilmeyen özellik, sınıf, yöntem ya da alan bulunduğunda uyarır"
++#: config/rs6000/darwin.h:95
++msgid " conflicting code gen style switches are used"
++msgstr " çelişen code gen tarzı switch'ler kullanılmış"
+
+-#: java/lang.opt:69
+-msgid "Warn if deprecated empty statements are found"
+-msgstr "Önerilmeyen boş deyimler bulunduğunda uyarır"
++#: ada/lang-specs.h:34
++msgid "-c or -S required for Ada"
++msgstr "Ada için -c ya da -S gerekli"
+
+-#: java/lang.opt:73
+-msgid "Warn if .class files are out of date"
+-msgstr ".class dosyaları güncel değilse uyarır"
++#: config/sparc/sol2-bi.h:189 config/sparc/sol2-bi.h:194
++#: config/sparc/sol2-gld-bi.h:17 config/sparc/sol2-gld-bi.h:22
++msgid "does not support multilib"
++msgstr "multilib desteklenmiyor"
+
+-#: java/lang.opt:77
+-msgid "Warn if modifiers are specified when not necessary"
+-msgstr "Değistiriciler gereksizken belirtilmişse uyarır"
++#: config/i386/nwld.h:34
++msgid "Static linking is not supported.\n"
++msgstr "DuraÄŸan ilintileme desteklenmiyor.\n"
+
+-#: java/lang.opt:81
+-msgid "Deprecated; use --classpath instead"
+-msgstr "Artık önerilmiyor; yerine --classpath kullanın"
++#: config/i386/cygwin.h:28
++msgid "mno-cygwin and mno-win32 are not compatible"
++msgstr "mno-cygwin ve mno-win32 uyumsuz"
+
+-#: java/lang.opt:88
+-msgid "Permit the use of the assert keyword"
+-msgstr "assert anahtar sözcüğünün kullanımına izin verir"
++#: config/i386/sco5.h:188
++msgid "-pg not supported on this platform"
++msgstr "-pg bu platformda desteklenmiyor"
+
+-#: java/lang.opt:110
+-msgid "Replace system path"
+-msgstr "Sistem dosya yolunu deÄŸiÅŸtirir"
++#: config/i386/sco5.h:189
++msgid "-p and -pp specified - pick one"
++msgstr "-p ve -pp belirtilmiş - birini seçin"
+
+-#: java/lang.opt:114
+-msgid "Generate checks for references to NULL"
+-msgstr "NULL değerli başvurular için sınamalar üretir"
++#: config/i386/sco5.h:258
++msgid "-G and -static are mutually exclusive"
++msgstr "-G ve -static birlikte kullanılamaz"
+
+-#: java/lang.opt:118
+-msgid "Set class path"
+-msgstr "Sınıf dosya yolu ayarlanır"
++#: java/lang-specs.h:33
++msgid "-fjni and -femit-class-files are incompatible"
++msgstr "-fjni ve -femit-class-files uyumsuz"
+
+-#: java/lang.opt:125
+-msgid "Output a class file"
+-msgstr "Bir sınıf dosyası çıktılar"
++#: java/lang-specs.h:34
++msgid "-fjni and -femit-class-file are incompatible"
++msgstr "-fjni ve -femit-class-file uyumsuz"
+
+-#: java/lang.opt:129
+-msgid "Alias for -femit-class-file"
+-msgstr "-femit-class-file ile aynı"
++#: java/lang-specs.h:35 java/lang-specs.h:36
++msgid "-femit-class-file should used along with -fsyntax-only"
++msgstr "-femit-class-file ile -fsyntax-only birlikte kullanılmalı"
+
+-#: java/lang.opt:133
+-msgid "Choose input encoding (defaults from your locale)"
+-msgstr "Girdi kodlaması seçilir (öntanımlısı yerelden gelir)"
++#: config/cris/cris.h:207
++#, fuzzy
++msgid "Do not specify both -march=... and -mcpu=..."
++msgstr "hem -C hem de -o belirtilemez"
+
+-#: java/lang.opt:137
+-msgid "Set the extension directory path"
+-msgstr "Eklenti arama yolu belirtilir"
++#: config/lynx.h:70
++msgid "cannot use mthreads and mlegacy-threads together"
++msgstr "mthreads ve mlegacy-threads birlikte kullanılamaz."
+
+-#: java/lang.opt:144
+-msgid "Input file is a file with a list of filenames to compile"
+-msgstr "Girdi dosyası derlenecek dosyaların listesini içeren bir dosyadır"
++#: config/lynx.h:95
++msgid "cannot use mshared and static together"
++msgstr "mshared ve static birlikte kullanılamaz."
+
+-#: java/lang.opt:151
+-msgid "Always check for non gcj generated classes archives"
+-msgstr "gcj üretimi olmayan sınıfların arsivleri için daima sınama yapılır"
+-
+-#: java/lang.opt:155
+-msgid "Assume the runtime uses a hash table to map an object to its synchronization structure"
+-msgstr "Çalışma anında bir nesneyi kendi eşzamanlama yapısıyla eşlemede bir çittirme tablosu kullanıldığı varsayılır"
+-
+-#: java/lang.opt:159
+-msgid "Generate instances of Class at runtime"
+-msgstr ""
+-
+-#: java/lang.opt:163
+-msgid "Use offset tables for virtual method calls"
+-msgstr "Sanal yöntem çağrıları için adresleme tabloları kullanılır"
+-
+-#: java/lang.opt:170
+-msgid "Assume native functions are implemented using JNI"
+-msgstr "Yerli işlevlerin JNI kullanarak gerçeklendiği varsayılır"
+-
+-#: java/lang.opt:174
+-msgid "Enable optimization of static class initialization code"
+-msgstr "Statik sınıf ilklendirme kodunun eniyilemesi etkin olur"
+-
+-#: java/lang.opt:181
+-msgid "Reduce the amount of reflection meta-data generated"
+-msgstr ""
+-
+-#: java/lang.opt:185
+-msgid "Enable assignability checks for stores into object arrays"
+-msgstr "Nesne dizileri içinde saklamalar için atanabilirlik sınamaları etkin olur"
+-
+-#: java/lang.opt:189
+-msgid "Generate code for the Boehm GC"
+-msgstr "Kod Boehm GC için üretilir"
+-
+-#: java/lang.opt:193
+-msgid "Call a library routine to do integer divisions"
+-msgstr "Tamsayı bölme yapacak bir kütüphane işlevi çağrılır"
+-
+-#: java/lang.opt:197
+-msgid "Generated should be loaded by bootstrap loader"
+-msgstr "Üretilen önyükleyici tarafından yüklenmelidir"
+-
+-#: java/lang.opt:201
+-msgid "Set the source language version"
+-msgstr ""
+-
+-#: java/lang.opt:205
+-#, fuzzy
+-msgid "Set the target VM version"
+-msgstr "Hedef işlemcinin türü belirtilir"
+-
+-#: ada/lang.opt:96
+-msgid "Specify options to GNAT"
+-msgstr "GNAT'a özgü seçenekler"
+-
+ #: fortran/lang.opt:29
+ msgid "Add a directory for INCLUDE and MODULE searching"
+ msgstr "INCLUDE ve MODULE araması için bir dizin eklenir"
+@@ -11614,7 +11577,7 @@
+ msgid "Append a second underscore if the name already contains an underscore"
+ msgstr "İsim zaten bir altçizgi içeriyorsa bir ikinci altçizgi ekler"
+
+-#: fortran/lang.opt:277 c.opt:714
++#: fortran/lang.opt:277 c.opt:718
+ msgid "Use the narrowest integer type possible for enumeration types"
+ msgstr "Sıralı sabit türleri için olası en dar tamsayı türü kullanılır"
+
+@@ -11647,14 +11610,62 @@
+ msgid "Accept extensions to support legacy code"
+ msgstr "Geleneksel kodu destekleyecek eklentiler kabul edilir"
+
+-#: treelang/lang.opt:30
+-msgid "Trace lexical analysis"
+-msgstr "Sözdizimsel çözümleme izlenir"
++#: config/mcore/mcore.opt:23
++msgid "Generate code for the M*Core M210"
++msgstr "M*Core M210 için kod üretilir"
+
+-#: treelang/lang.opt:34
+-msgid "Trace the parsing process"
+-msgstr "Ayırma işlemi izlenir"
++#: config/mcore/mcore.opt:27
++msgid "Generate code for the M*Core M340"
++msgstr "Kod M*Core M340 için üretilir"
+
++#: config/mcore/mcore.opt:31
++msgid "Set maximum alignment to 4"
++msgstr "Azami hizalama 4 e ayarlanır"
++
++#: config/mcore/mcore.opt:35
++msgid "Force functions to be aligned to a 4 byte boundary"
++msgstr "İşlevler 4 baytlık sınıra hizalanmaya çalışılır"
++
++#: config/mcore/mcore.opt:39
++msgid "Set maximum alignment to 8"
++msgstr "Azami hizalama 8 e ayarlanır"
++
++#: config/mcore/mcore.opt:43 config/score/score.opt:23
++msgid "Generate big-endian code"
++msgstr "Kıymetli baytın başta olduğu kod üretilir"
++
++#: config/mcore/mcore.opt:47
++msgid "Emit call graph information"
++msgstr "Çağrı çizge bilgisi üretir"
++
++#: config/mcore/mcore.opt:51
++msgid "Use the divide instruction"
++msgstr "Bölme komutu kullanılır"
++
++#: config/mcore/mcore.opt:55
++msgid "Inline constants if it can be done in 2 insns or less"
++msgstr "2 komut ya da daha azı ile yapılabiliyorsa, sabitler satıriçi olur"
++
++#: config/mcore/mcore.opt:59 config/score/score.opt:27
++msgid "Generate little-endian code"
++msgstr "Kıymetsiz baytın başta olduğu kod üretilir"
++
++#: config/mcore/mcore.opt:67
++msgid "Use arbitrary sized immediates in bit operations"
++msgstr "Bit işlemlerinde herhangi bir boyda anlık değerler kullanılır"
++
++#: config/mcore/mcore.opt:71
++msgid "Prefer word accesses over byte accesses"
++msgstr "Word eriÅŸimleri bayt eriÅŸimlerine tercih edilir"
++
++#: config/mcore/mcore.opt:75
++msgid "Set the maximum amount for a single stack increment operation"
++msgstr "Tek yığıt artış işleminde kullanılacak azami miktar belirtilir"
++
++#: config/mcore/mcore.opt:79
++msgid "Always treat bitfields as int-sized"
++msgstr "Bit alanlarıı daima int boyutlu işlenir"
++
+ #: config/alpha/alpha.opt:23 config/i386/i386.opt:155
+ msgid "Do not use hardware fp"
+ msgstr "Donanim aritmetik işlemcisi kullanılmaz"
+@@ -11770,271 +11781,6 @@
+ msgid "Specify bit size of immediate TLS offsets"
+ msgstr "Dolaysız TLS konumlarının bit genişliği belirtilir"
+
+-#: config/frv/frv.opt:23
+-msgid "Use 4 media accumulators"
+-msgstr "4 ortam biriktirici kullanılır"
+-
+-#: config/frv/frv.opt:27
+-msgid "Use 8 media accumulators"
+-msgstr "8 ortam biriktirici kullanılır"
+-
+-#: config/frv/frv.opt:31
+-msgid "Enable label alignment optimizations"
+-msgstr "Yafta hizalama eniyilemesi etkin olur"
+-
+-#: config/frv/frv.opt:35
+-msgid "Dynamically allocate cc registers"
+-msgstr "cc yazmaçları özdevimli olarak ayrılmaz"
+-
+-#: config/frv/frv.opt:42
+-msgid "Set the cost of branches"
+-msgstr "Dallanmalara maliyet atanır"
+-
+-#: config/frv/frv.opt:46
+-msgid "Enable conditional execution other than moves/scc"
+-msgstr "moves/scc'den farklı bir koşullu çalıştırma etkin olur"
+-
+-#: config/frv/frv.opt:50
+-msgid "Change the maximum length of conditionally-executed sequences"
+-msgstr "Koşullu olarak çalıştırılan dizilimlerin azami uzunluğunu değiştirir"
+-
+-#: config/frv/frv.opt:54
+-msgid "Change the number of temporary registers that are available to conditionally-executed sequences"
+-msgstr "Koşullu olarak çalıştırılan dizilimlere elverişli geçici yazmaçların sayısını değiştirir"
+-
+-#: config/frv/frv.opt:58
+-msgid "Enable conditional moves"
+-msgstr "Koşullu taşımalar etkin olur"
+-
+-#: config/frv/frv.opt:62
+-msgid "Set the target CPU type"
+-msgstr "Hedef işlemcinin türü belirtilir"
+-
+-#: config/frv/frv.opt:84
+-msgid "Use fp double instructions"
+-msgstr "fp double komutları kullanılır"
+-
+-#: config/frv/frv.opt:88
+-msgid "Change the ABI to allow double word insns"
+-msgstr "ABI'yi çift kelimelik komutlara izin verecek şekilde değiştirir"
+-
+-#: config/frv/frv.opt:92 config/bfin/bfin.opt:73
+-msgid "Enable Function Descriptor PIC mode"
+-msgstr "İşlev Açıklayıcı PIC kipi etkin olur"
+-
+-#: config/frv/frv.opt:96
+-msgid "Just use icc0/fcc0"
+-msgstr "Sadece icc0/fcc0 kullanılır"
+-
+-#: config/frv/frv.opt:100
+-msgid "Only use 32 FPRs"
+-msgstr "Sadece 32 FPR kullanılır"
+-
+-#: config/frv/frv.opt:104
+-msgid "Use 64 FPRs"
+-msgstr "64 FPR kullanılır"
+-
+-#: config/frv/frv.opt:108
+-msgid "Only use 32 GPRs"
+-msgstr "Sadece 32 GPR kullanılır"
+-
+-#: config/frv/frv.opt:112
+-msgid "Use 64 GPRs"
+-msgstr "64 GPR kullanılır"
+-
+-#: config/frv/frv.opt:116
+-msgid "Enable use of GPREL for read-only data in FDPIC"
+-msgstr "FDPIC'te salt okunur veri için GPREL kullanımı etkin olur"
+-
+-#: config/frv/frv.opt:120 config/rs6000/rs6000.opt:112
+-#: config/pdp11/pdp11.opt:71
+-msgid "Use hardware floating point"
+-msgstr "Donanım kayan nokta aritmetiği kullanılır"
+-
+-#: config/frv/frv.opt:124 config/bfin/bfin.opt:77
+-msgid "Enable inlining of PLT in function calls"
+-msgstr "İşlev çağrılarında PLT türü satıriçine alma etkin olur"
+-
+-#: config/frv/frv.opt:128
+-msgid "Enable PIC support for building libraries"
+-msgstr "Kütüphaneler için PIC desteği etkin olur"
+-
+-#: config/frv/frv.opt:132
+-msgid "Follow the EABI linkage requirements"
+-msgstr "EABI ilintileme gereksinimleri izlenir"
+-
+-#: config/frv/frv.opt:136
+-msgid "Disallow direct calls to global functions"
+-msgstr "Genel işlevlere doğrudan dallanmalar yapılamaz"
+-
+-#: config/frv/frv.opt:140
+-msgid "Use media instructions"
+-msgstr "Ortam komutları kullanılır"
+-
+-#: config/frv/frv.opt:144
+-msgid "Use multiply add/subtract instructions"
+-msgstr "Çarpma toplama/çıkarma komutları kullanılır"
+-
+-#: config/frv/frv.opt:148
+-msgid "Enable optimizing &&/|| in conditional execution"
+-msgstr "Koşullu çalıştırmada &&/|| eniyilemesi etkin olur"
+-
+-#: config/frv/frv.opt:152
+-msgid "Enable nested conditional execution optimizations"
+-msgstr "Gömülü koşullu çalıştırma en iyilemeleri etkin olur"
+-
+-#: config/frv/frv.opt:157
+-msgid "Do not mark ABI switches in e_flags"
+-msgstr "e_flags içinde ASI seçenekleri imlenmez"
+-
+-#: config/frv/frv.opt:161
+-msgid "Remove redundant membars"
+-msgstr "Fazlalık üyeler silinir"
+-
+-#: config/frv/frv.opt:165
+-msgid "Pack VLIW instructions"
+-msgstr "VLIW tomutlarını paketler"
+-
+-#: config/frv/frv.opt:169
+-msgid "Enable setting GPRs to the result of comparisons"
+-msgstr "Karşılaştırma sonuçlarına GPR'lerin atanması etkin olur"
+-
+-#: config/frv/frv.opt:173
+-msgid "Change the amount of scheduler lookahead"
+-msgstr ""
+-
+-#: config/frv/frv.opt:177 config/pa/pa.opt:104
+-msgid "Use software floating point"
+-msgstr "Yazılım kayan nokta kodu kullanılır"
+-
+-#: config/frv/frv.opt:181
+-msgid "Assume a large TLS segment"
+-msgstr "Büyükçe bir TLS bölütü var sayılır"
+-
+-#: config/frv/frv.opt:185
+-msgid "Do not assume a large TLS segment"
+-msgstr "Büyükçe bir TLS bölütü var sayılmaz"
+-
+-#: config/frv/frv.opt:190
+-msgid "Cause gas to print tomcat statistics"
+-msgstr "gas'ın tomcat istatistikleri basmasına sebep olur"
+-
+-#: config/frv/frv.opt:195
+-msgid "Link with the library-pic libraries"
+-msgstr "library-pic kütüphaneleri ile ilintiler"
+-
+-#: config/frv/frv.opt:199
+-msgid "Allow branches to be packed with other instructions"
+-msgstr "Dallanmaların diğer komutlarla paketlenmesine izin verir"
+-
+-#: config/mn10300/mn10300.opt:23
+-msgid "Target the AM33 processor"
+-msgstr "AM33 iÅŸlemci hedeflenir"
+-
+-#: config/mn10300/mn10300.opt:27
+-msgid "Target the AM33/2.0 processor"
+-msgstr "AM33/2.0 iÅŸlemci hedeflenir"
+-
+-#: config/mn10300/mn10300.opt:31
+-msgid "Work around hardware multiply bug"
+-msgstr "Donanım çarpma hatasının olurunu bulur"
+-
+-#: config/mn10300/mn10300.opt:36
+-msgid "Enable linker relaxations"
+-msgstr "Ä°lintileyici esnekleÅŸtiriciler etkin olur"
+-
+-#: config/mn10300/mn10300.opt:40
+-msgid "Return pointers in both a0 and d0"
+-msgstr "a0 ve d0, her ikisindeki göstericiler döner"
+-
+-#: config/s390/tpf.opt:23
+-msgid "Enable TPF-OS tracing code"
+-msgstr "TPF-OS izleme kodu etkin olur"
+-
+-#: config/s390/tpf.opt:27
+-msgid "Specify main object for TPF-OS"
+-msgstr "TPF-OS için ana nesne belirtir"
+-
+-#: config/s390/s390.opt:23
+-msgid "31 bit ABI"
+-msgstr "31 bitlik ABI"
+-
+-#: config/s390/s390.opt:27
+-msgid "64 bit ABI"
+-msgstr "64 bitlik ABI"
+-
+-#: config/s390/s390.opt:31 config/i386/i386.opt:59 config/spu/spu.opt:60
+-msgid "Generate code for given CPU"
+-msgstr "Verilen işlemci için kod üretir"
+-
+-#: config/s390/s390.opt:35
+-msgid "Maintain backchain pointer"
+-msgstr ""
+-
+-#: config/s390/s390.opt:39
+-msgid "Additional debug prints"
+-msgstr "Ek hata ayıklama iletileri çıktılar"
+-
+-#: config/s390/s390.opt:43
+-msgid "ESA/390 architecture"
+-msgstr "ESA/390 mimarisi"
+-
+-#: config/s390/s390.opt:47
+-msgid "Enable fused multiply/add instructions"
+-msgstr "Birleşik çarpma/toplama komutları etkinleştirilir"
+-
+-#: config/s390/s390.opt:51
+-#, fuzzy
+-msgid "Enable decimal floating point hardware support"
+-msgstr "Eğer kayan nokta donanımı kulanılmalıysa belirtilir"
+-
+-#: config/s390/s390.opt:55
+-#, fuzzy
+-msgid "Enable hardware floating point"
+-msgstr "Donanım kayan nokta aritmetiği kullanılır"
+-
+-#: config/s390/s390.opt:67
+-msgid "Use packed stack layout"
+-msgstr "Paketlenmiş yığıt yerleşimi kullanılır"
+-
+-#: config/s390/s390.opt:71
+-msgid "Use bras for executable < 64k"
+-msgstr "64k'dan küçük çalıştırılabilirler için bras kullanılır"
+-
+-#: config/s390/s390.opt:75
+-#, fuzzy
+-msgid "Disable hardware floating point"
+-msgstr "Donanım kayan nokta aritmetiği kullanılır"
+-
+-#: config/s390/s390.opt:79
+-msgid "Set the max. number of bytes which has to be left to stack size before a trap instruction is triggered"
+-msgstr "Bir yakalama komutu tetiklenmeden önce yığıt boyutuna kalan azami bayt sayısını belirler"
+-
+-#: config/s390/s390.opt:83
+-msgid "Emit extra code in the function prologue in order to trap if the stack size exceeds the given limit"
+-msgstr "Yığıt boyutu için verilen sınırın aşıldığı saptandığı sırada işlev önbilgisindeki ek kodu çıktılar"
+-
+-#: config/s390/s390.opt:87 config/ia64/ia64.opt:97 config/sparc/sparc.opt:95
+-#: config/i386/i386.opt:183 config/rs6000/rs6000.opt:226 config/spu/spu.opt:64
+-msgid "Schedule code for given CPU"
+-msgstr "Verilen işlemci için kodu zamanlar"
+-
+-#: config/s390/s390.opt:91
+-msgid "mvcle use"
+-msgstr "mvcle kullanımı"
+-
+-#: config/s390/s390.opt:95
+-msgid "Warn if a function uses alloca or creates an array with dynamic size"
+-msgstr "Bir işlev alloca kullanırsa ya da değişken boyutlu dizi oluşturursa uyarır"
+-
+-#: config/s390/s390.opt:99
+-msgid "Warn if a single function's framesize exceeds the given framesize"
+-msgstr "Tek işlevlik çalışma çerçevesi belirtileni aşarsa uyarır"
+-
+-#: config/s390/s390.opt:103
+-msgid "z/Architecture"
+-msgstr "z/Mimari"
+-
+ #: config/ia64/ilp32.opt:3
+ msgid "Generate ILP32 code"
+ msgstr "ILP32 kodu üretilir"
+@@ -12123,10 +11869,16 @@
+ msgid "Enable earlier placing stop bits for better scheduling"
+ msgstr "Daha iyi zamanlama için stop bitlerinin daha önce yerleştirilmesi etkin olur"
+
+-#: config/ia64/ia64.opt:89 config/spu/spu.opt:56 config/pa/pa.opt:51
++#: config/ia64/ia64.opt:89 config/pa/pa.opt:51 config/spu/spu.opt:56
+ msgid "Specify range of registers to make fixed"
+ msgstr "Sabitlemek için yazmaç aralığı belirtilir"
+
++#: config/ia64/ia64.opt:97 config/i386/i386.opt:183
++#: config/rs6000/rs6000.opt:226 config/spu/spu.opt:64 config/s390/s390.opt:87
++#: config/sparc/sparc.opt:95
++msgid "Schedule code for given CPU"
++msgstr "Verilen işlemci için kodu zamanlar"
++
+ #: config/ia64/ia64.opt:101
+ #, fuzzy
+ msgid "Use data speculation before reload"
+@@ -12177,341 +11929,296 @@
+ msgid "Count speculative dependencies while calculating priority of instructions"
+ msgstr ""
+
+-#: config/m32c/m32c.opt:24 config/bfin/bfin.opt:23 config/mt/mt.opt:27
+-msgid "Use simulator runtime"
+-msgstr "Benzeştirici çalışma anı kullanılır"
++#: config/xtensa/xtensa.opt:23
++msgid "Use CONST16 instruction to load constants"
++msgstr "Sabitleri yüklemede CONST16 komutları kullanılır"
+
+-#: config/m32c/m32c.opt:28
+-msgid "Compile code for R8C variants"
+-msgstr "R8C modelleri için derleme yapılır"
++#: config/xtensa/xtensa.opt:27
++msgid "Enable fused multiply/add and multiply/subtract FP instructions"
++msgstr "Birleşik çarpma/toplama ve çarpma/çıkarma FP komutları üretilir"
+
+-#: config/m32c/m32c.opt:32
+-msgid "Compile code for M16C variants"
+-msgstr "M16C modelleri için derleme yapılır"
++#: config/xtensa/xtensa.opt:31
++msgid "Use indirect CALLXn instructions for large programs"
++msgstr "Büyük programlar için dolaylı CALLXn komutları kullanılır"
+
+-#: config/m32c/m32c.opt:36
+-msgid "Compile code for M32CM variants"
+-msgstr "M32CM modelleri için derleme yapılır"
++#: config/xtensa/xtensa.opt:35
++msgid "Automatically align branch targets to reduce branch penalties"
++msgstr "Dallanma sorunlarını azaltmak için dal hedefleri otomatik olarak hizalanır."
+
+-#: config/m32c/m32c.opt:40
+-msgid "Compile code for M32C variants"
+-msgstr "M32C modelleri için derleme yapılır"
++#: config/xtensa/xtensa.opt:39
++msgid "Intersperse literal pools with code in the text section"
++msgstr "Sabit kümeleri metin bölümündeki kodun arasına serpiştirilir"
+
+-#: config/m32c/m32c.opt:44
+-msgid "Number of memreg bytes (default: 16, range: 0..16)"
+-msgstr "memreg bayt sayısı (öntanımlı: 16, aralık: 0..16)"
++#: config/pa/pa.opt:23 config/pa/pa.opt:76 config/pa/pa.opt:84
++msgid "Generate PA1.0 code"
++msgstr "PA1.0 kodu üretilir"
+
+-#: config/sparc/little-endian.opt:23
+-msgid "Generate code for little-endian"
+-msgstr "Kıymetsiz baytın başta olduğu kod üretilir"
++#: config/pa/pa.opt:27 config/pa/pa.opt:88 config/pa/pa.opt:108
++msgid "Generate PA1.1 code"
++msgstr "PA1.1 kodu üretilir"
+
+-#: config/sparc/little-endian.opt:27
+-msgid "Generate code for big-endian"
+-msgstr "Kıymetli baytın başta olduğu kod üretilir"
++#: config/pa/pa.opt:31 config/pa/pa.opt:92
++msgid "Generate PA2.0 code (requires binutils 2.10 or later)"
++msgstr "PA2.0 kodu üretilir (binutils 2.10 veya üstü gerekir)"
+
+-#: config/sparc/sparc.opt:23 config/sparc/sparc.opt:27
+-msgid "Use hardware FP"
+-msgstr "Donanım aritmetik işlemcisi kullanılır"
++#: config/pa/pa.opt:35
++msgid "Generate code for huge switch statements"
++msgstr "huge switch deyimleri için kod üretilir"
+
+-#: config/sparc/sparc.opt:31
+-msgid "Do not use hardware FP"
+-msgstr "Donanım aritmetik işlemcisi kullanılmaz"
++#: config/pa/pa.opt:39
++msgid "Disable FP regs"
++msgstr "FP yazmaçları kapatılır"
+
+-#: config/sparc/sparc.opt:35
+-msgid "Assume possible double misalignment"
+-msgstr "double'ların yanlış hizalanmış olabilecekleri varsayılır"
++#: config/pa/pa.opt:43
++msgid "Disable indexed addressing"
++msgstr "İndisli adresleme kapatılır"
+
+-#: config/sparc/sparc.opt:39
+-msgid "Pass -assert pure-text to linker"
+-msgstr "İlintileyiciye -assert salt-metin gönderir"
++#: config/pa/pa.opt:47
++msgid "Generate fast indirect calls"
++msgstr "Hızlı dolaylı çağrılar üretilir"
+
+-#: config/sparc/sparc.opt:43
+-msgid "Use ABI reserved registers"
+-msgstr "Ayrılmış ABI yazmaçları kullanılır"
++#: config/pa/pa.opt:55
++msgid "Assume code will be assembled by GAS"
++msgstr "Kodun makina koduna GAS tarafından çevrileceği varsayılır"
+
+-#: config/sparc/sparc.opt:47
+-msgid "Use hardware quad FP instructions"
+-msgstr "Donanım bazlı quad fp komutları kullanılır"
++#: config/pa/pa.opt:59
++msgid "Put jumps in call delay slots"
++msgstr "jump'lar çağrı geciktirme yuvalarına konur"
+
+-#: config/sparc/sparc.opt:51
+-msgid "Do not use hardware quad fp instructions"
+-msgstr "Donanım bazlı quad fp komutları kullanılmaz"
++#: config/pa/pa.opt:64
++msgid "Enable linker optimizations"
++msgstr "Ä°lintileyici en iyilemesi etkinleÅŸtirilir"
+
+-#: config/sparc/sparc.opt:55
+-msgid "Compile for V8+ ABI"
+-msgstr "V8+ ABI için derleme yapılır"
++#: config/pa/pa.opt:68
++msgid "Always generate long calls"
++msgstr "long çağrıları daima üretilir"
+
+-#: config/sparc/sparc.opt:59
+-msgid "Use UltraSPARC Visual Instruction Set extensions"
+-msgstr "UltraSPARC Görsel Komut Kümesi eklentileri kullanılır"
++#: config/pa/pa.opt:72
++msgid "Emit long load/store sequences"
++msgstr "Uzun yükleme/saklama dizileri üretilir"
+
+-#: config/sparc/sparc.opt:63
+-msgid "Pointers are 64-bit"
+-msgstr "Göstericiler 64 bittir"
++#: config/pa/pa.opt:80
++msgid "Disable space regs"
++msgstr "space yazmaçları kapatılır"
+
+-#: config/sparc/sparc.opt:67
+-msgid "Pointers are 32-bit"
+-msgstr "Göstericiler 32 bittir"
++#: config/pa/pa.opt:96
++msgid "Use portable calling conventions"
++msgstr "Taşınabilir çağrı uzlaşımı kullanılır"
+
+-#: config/sparc/sparc.opt:71
+-msgid "Use 64-bit ABI"
+-msgstr "64-bit ABI kullanılır"
++#: config/pa/pa.opt:100
++msgid "Specify CPU for scheduling purposes. Valid arguments are 700, 7100, 7100LC, 7200, 7300, and 8000"
++msgstr "Zamanlama amacıyla işlemci belirtilir. Geçerli seçenekler: 700, 7100, 7100LC, 7200, 7300 ve 8000"
+
+-#: config/sparc/sparc.opt:75
+-msgid "Use 32-bit ABI"
+-msgstr "32-bit ABI kullanılır"
++#: config/pa/pa.opt:104 config/frv/frv.opt:177
++msgid "Use software floating point"
++msgstr "Yazılım kayan nokta kodu kullanılır"
+
+-#: config/sparc/sparc.opt:79
+-msgid "Use stack bias"
+-msgstr "Yığıt sapması kullanır"
++#: config/pa/pa.opt:112
++msgid "Do not disable space regs"
++msgstr "space yazmaçları kapatılmaz"
+
+-#: config/sparc/sparc.opt:83
+-msgid "Use structs on stronger alignment for double-word copies"
+-msgstr "Çift-sözcüklü kopyalarda daha kuvvetli hizalama için struct (yapı) kullanılır"
++#: config/pa/pa-hpux1111.opt:23 config/pa/pa-hpux1010.opt:23
++#: config/pa/pa-hpux.opt:27
++msgid "Specify UNIX standard for predefines and linking"
++msgstr "Önceden tanımlamalar ve ilintileme için UNIX standardı belirtilir"
+
+-#: config/sparc/sparc.opt:87
+-msgid "Optimize tail call instructions in assembler and linker"
+-msgstr "Çevirici ve ilintileyicide kuyruk çağrı komutlarını eniyiler"
++#: config/pa/pa64-hpux.opt:23
++msgid "Assume code will be linked by GNU ld"
++msgstr "Kodun GNU ld tarafından ilintileneceği varsayılır"
+
+-#: config/sparc/sparc.opt:91 config/rs6000/rs6000.opt:222
+-msgid "Use features of and schedule code for given CPU"
+-msgstr "Verilen işlemcinin özellikleri ve zamanlama kodu kullanılır"
++#: config/pa/pa64-hpux.opt:27
++msgid "Assume code will be linked by HP ld"
++msgstr "Kodun HP ld tarafından ilintileneceği varsayılır"
+
+-#: config/sparc/sparc.opt:99
+-msgid "Use given SPARC-V9 code model"
+-msgstr "Belirtilen SPARC-V9 kod modeli kullanılır"
++#: config/pa/pa-hpux.opt:23
++msgid "Generate cpp defines for server IO"
++msgstr "Sunucu G/Ç için cpp tanımları üretilir"
+
+-#: config/sparc/sparc.opt:103
+-msgid "Enable strict 32-bit psABI struct return checking."
+-msgstr ""
++#: config/pa/pa-hpux.opt:31
++msgid "Generate cpp defines for workstation IO"
++msgstr "İstemci G/Ç için cpp tanımları üretilir"
+
+-#: config/m32r/m32r.opt:23
+-msgid "Compile for the m32rx"
+-msgstr "m32rx için derleme yapılır"
++#: config/frv/frv.opt:23
++msgid "Use 4 media accumulators"
++msgstr "4 ortam biriktirici kullanılır"
+
+-#: config/m32r/m32r.opt:27
+-msgid "Compile for the m32r2"
+-msgstr "m32r2 için derleme yapılır"
++#: config/frv/frv.opt:27
++msgid "Use 8 media accumulators"
++msgstr "8 ortam biriktirici kullanılır"
+
+-#: config/m32r/m32r.opt:31
+-msgid "Compile for the m32r"
+-msgstr "m32r için derleme yapılır"
++#: config/frv/frv.opt:31
++msgid "Enable label alignment optimizations"
++msgstr "Yafta hizalama eniyilemesi etkin olur"
+
+-#: config/m32r/m32r.opt:35
+-msgid "Align all loops to 32 byte boundary"
+-msgstr "Tüm döngüler 32 bitlik sınıra hizalanır"
++#: config/frv/frv.opt:35
++msgid "Dynamically allocate cc registers"
++msgstr "cc yazmaçları özdevimli olarak ayrılmaz"
+
+-#: config/m32r/m32r.opt:39
+-msgid "Prefer branches over conditional execution"
+-msgstr "Dallanmalar koşullu çalıştırmaya tercih edilir"
++#: config/frv/frv.opt:42
++msgid "Set the cost of branches"
++msgstr "Dallanmalara maliyet atanır"
+
+-#: config/m32r/m32r.opt:43
+-msgid "Give branches their default cost"
+-msgstr "Dallanmaları öntanımlı maliyetine verir"
++#: config/frv/frv.opt:46
++msgid "Enable conditional execution other than moves/scc"
++msgstr "moves/scc'den farklı bir koşullu çalıştırma etkin olur"
+
+-#: config/m32r/m32r.opt:47
+-msgid "Display compile time statistics"
+-msgstr "Derleme anı istatistikleri gösterilir"
++#: config/frv/frv.opt:50
++msgid "Change the maximum length of conditionally-executed sequences"
++msgstr "Koşullu olarak çalıştırılan dizilimlerin azami uzunluğunu değiştirir"
+
+-#: config/m32r/m32r.opt:51
+-msgid "Specify cache flush function"
+-msgstr "Arabellek boÅŸaltma iÅŸlevi belirtilir"
++#: config/frv/frv.opt:54
++msgid "Change the number of temporary registers that are available to conditionally-executed sequences"
++msgstr "Koşullu olarak çalıştırılan dizilimlere elverişli geçici yazmaçların sayısını değiştirir"
+
+-#: config/m32r/m32r.opt:55
+-msgid "Specify cache flush trap number"
+-msgstr "Arabellek boşaltma kapan numarası belirtilir"
++#: config/frv/frv.opt:58
++msgid "Enable conditional moves"
++msgstr "Koşullu taşımalar etkin olur"
+
+-#: config/m32r/m32r.opt:59
+-msgid "Only issue one instruction per cycle"
+-msgstr "Her çevrimde sadece bir komut işlenir"
++#: config/frv/frv.opt:62
++msgid "Set the target CPU type"
++msgstr "Hedef işlemcinin türü belirtilir"
+
+-#: config/m32r/m32r.opt:63
+-msgid "Allow two instructions to be issued per cycle"
+-msgstr "Her çevrimde iki komut işlemeye izin verilir"
++#: config/frv/frv.opt:84
++msgid "Use fp double instructions"
++msgstr "fp double komutları kullanılır"
+
+-#: config/m32r/m32r.opt:67
+-msgid "Code size: small, medium or large"
+-msgstr "Kod boyutu: small, medium veya large"
++#: config/frv/frv.opt:88
++msgid "Change the ABI to allow double word insns"
++msgstr "ABI'yi çift kelimelik komutlara izin verecek şekilde değiştirir"
+
+-#: config/m32r/m32r.opt:71
+-msgid "Don't call any cache flush functions"
+-msgstr "Hiçbir arabellek boşaltma işlevi çağrılmaz"
++#: config/frv/frv.opt:92 config/bfin/bfin.opt:73
++msgid "Enable Function Descriptor PIC mode"
++msgstr "İşlev Açıklayıcı PIC kipi etkin olur"
+
+-#: config/m32r/m32r.opt:75
+-msgid "Don't call any cache flush trap"
+-msgstr "Hiçbir arabellek boşaltma kapanı çağrılmaz"
++#: config/frv/frv.opt:96
++msgid "Just use icc0/fcc0"
++msgstr "Sadece icc0/fcc0 kullanılır"
+
+-#: config/m32r/m32r.opt:82
+-msgid "Small data area: none, sdata, use"
+-msgstr "Küçük veri alanı: none, sdata, use"
++#: config/frv/frv.opt:100
++msgid "Only use 32 FPRs"
++msgstr "Sadece 32 FPR kullanılır"
+
+-#: config/m68k/m68k.opt:23
+-msgid "Generate code for a 520X"
+-msgstr "520X için kod üretilir"
++#: config/frv/frv.opt:104
++msgid "Use 64 FPRs"
++msgstr "64 FPR kullanılır"
+
+-#: config/m68k/m68k.opt:27
+-msgid "Generate code for a 5206e"
+-msgstr "5206e için kod üretilir"
++#: config/frv/frv.opt:108
++msgid "Only use 32 GPRs"
++msgstr "Sadece 32 GPR kullanılır"
+
+-#: config/m68k/m68k.opt:31
+-msgid "Generate code for a 528x"
+-msgstr "528x için kod üretilir"
++#: config/frv/frv.opt:112
++msgid "Use 64 GPRs"
++msgstr "64 GPR kullanılır"
+
+-#: config/m68k/m68k.opt:35
+-msgid "Generate code for a 5307"
+-msgstr "5307 için kod üretilir"
++#: config/frv/frv.opt:116
++msgid "Enable use of GPREL for read-only data in FDPIC"
++msgstr "FDPIC'te salt okunur veri için GPREL kullanımı etkin olur"
+
+-#: config/m68k/m68k.opt:39
+-msgid "Generate code for a 5407"
+-msgstr "5407 için kod üretilir"
++#: config/frv/frv.opt:120 config/rs6000/rs6000.opt:112
++#: config/pdp11/pdp11.opt:71
++msgid "Use hardware floating point"
++msgstr "Donanım kayan nokta aritmetiği kullanılır"
+
+-#: config/m68k/m68k.opt:43 config/m68k/m68k.opt:104
+-msgid "Generate code for a 68000"
+-msgstr "68000 için kod üretilir"
++#: config/frv/frv.opt:124 config/bfin/bfin.opt:77
++msgid "Enable inlining of PLT in function calls"
++msgstr "İşlev çağrılarında PLT türü satıriçine alma etkin olur"
+
+-#: config/m68k/m68k.opt:47
+-#, fuzzy
+-msgid "Generate code for a 68010"
+-msgstr "68000 için kod üretilir"
++#: config/frv/frv.opt:128
++msgid "Enable PIC support for building libraries"
++msgstr "Kütüphaneler için PIC desteği etkin olur"
+
+-#: config/m68k/m68k.opt:51 config/m68k/m68k.opt:108
+-msgid "Generate code for a 68020"
+-msgstr "68020 için kod üretilir"
++#: config/frv/frv.opt:132
++msgid "Follow the EABI linkage requirements"
++msgstr "EABI ilintileme gereksinimleri izlenir"
+
+-#: config/m68k/m68k.opt:55
+-msgid "Generate code for a 68040, without any new instructions"
+-msgstr "Hiçbir yeni komut olmaksızın 68040 için kod üretilir"
++#: config/frv/frv.opt:136
++msgid "Disallow direct calls to global functions"
++msgstr "Genel işlevlere doğrudan dallanmalar yapılamaz"
+
+-#: config/m68k/m68k.opt:59
+-msgid "Generate code for a 68060, without any new instructions"
+-msgstr "Hiçbir yeni komut olmaksızın 68060 için kod üretilir"
++#: config/frv/frv.opt:140
++msgid "Use media instructions"
++msgstr "Ortam komutları kullanılır"
+
+-#: config/m68k/m68k.opt:63
+-msgid "Generate code for a 68030"
+-msgstr "68030 için kod üretilir"
++#: config/frv/frv.opt:144
++msgid "Use multiply add/subtract instructions"
++msgstr "Çarpma toplama/çıkarma komutları kullanılır"
+
+-#: config/m68k/m68k.opt:67
+-msgid "Generate code for a 68040"
+-msgstr "68040 için kod üretilir"
++#: config/frv/frv.opt:148
++msgid "Enable optimizing &&/|| in conditional execution"
++msgstr "Koşullu çalıştırmada &&/|| eniyilemesi etkin olur"
+
+-#: config/m68k/m68k.opt:71
+-msgid "Generate code for a 68060"
+-msgstr "68060 için kod üretilir"
++#: config/frv/frv.opt:152
++msgid "Enable nested conditional execution optimizations"
++msgstr "Gömülü koşullu çalıştırma en iyilemeleri etkin olur"
+
+-#: config/m68k/m68k.opt:75
+-msgid "Generate code for a 68302"
+-msgstr "68302 için kod üretilir"
++#: config/frv/frv.opt:157
++msgid "Do not mark ABI switches in e_flags"
++msgstr "e_flags içinde ASI seçenekleri imlenmez"
+
+-#: config/m68k/m68k.opt:79
+-msgid "Generate code for a 68332"
+-msgstr "68332 için kod üretilir"
++#: config/frv/frv.opt:161
++msgid "Remove redundant membars"
++msgstr "Fazlalık üyeler silinir"
+
+-#: config/m68k/m68k.opt:84
+-msgid "Generate code for a 68851"
+-msgstr "68851 için kod üretilir"
++#: config/frv/frv.opt:165
++msgid "Pack VLIW instructions"
++msgstr "VLIW tomutlarını paketler"
+
+-#: config/m68k/m68k.opt:88
+-msgid "Generate code that uses 68881 floating-point instructions"
+-msgstr "68881 kayan nokta komutlarını kullanan kod üretilir"
++#: config/frv/frv.opt:169
++msgid "Enable setting GPRs to the result of comparisons"
++msgstr "Karşılaştırma sonuçlarına GPR'lerin atanması etkin olur"
+
+-#: config/m68k/m68k.opt:92
+-msgid "Align variables on a 32-bit boundary"
+-msgstr "Değişkenler 32 bitlik sınıra hizalanır"
++#: config/frv/frv.opt:173
++msgid "Change the amount of scheduler lookahead"
++msgstr ""
+
+-#: config/m68k/m68k.opt:96 config/arm/arm.opt:49 config/score/score.opt:63
+-msgid "Specify the name of the target architecture"
+-msgstr "Hedef mimarinin ismi belirtilir"
++#: config/frv/frv.opt:181
++msgid "Assume a large TLS segment"
++msgstr "Büyükçe bir TLS bölütü var sayılır"
+
+-#: config/m68k/m68k.opt:100
+-msgid "Use the bit-field instructions"
+-msgstr "Bit alanı komutları kullanılır"
++#: config/frv/frv.opt:185
++msgid "Do not assume a large TLS segment"
++msgstr "Büyükçe bir TLS bölütü var sayılmaz"
+
+-#: config/m68k/m68k.opt:112
+-#, fuzzy
+-msgid "Generate code for a ColdFire v4e"
+-msgstr "Kod M*Core M340 için üretilir"
++#: config/frv/frv.opt:190
++msgid "Cause gas to print tomcat statistics"
++msgstr "gas'ın tomcat istatistikleri basmasına sebep olur"
+
+-#: config/m68k/m68k.opt:116
+-#, fuzzy
+-msgid "Specify the target CPU"
+-msgstr "Hedef MCU ismi belirtilir"
++#: config/frv/frv.opt:195
++msgid "Link with the library-pic libraries"
++msgstr "library-pic kütüphaneleri ile ilintiler"
+
+-#: config/m68k/m68k.opt:120
+-msgid "Generate code for a cpu32"
+-msgstr "Bir cpu32 için kod üretilir"
++#: config/frv/frv.opt:199
++msgid "Allow branches to be packed with other instructions"
++msgstr "Dallanmaların diğer komutlarla paketlenmesine izin verir"
+
+-#: config/m68k/m68k.opt:124
+-#, fuzzy
+-msgid "Use hardware division instructions on ColdFire"
+-msgstr "Donanım bazlı quad fp komutları kullanılır"
++#: config/i386/cygming.opt:23
++msgid "Create console application"
++msgstr "Konsol uygulaması oluşturulur"
+
+-#: config/m68k/m68k.opt:128
+-#, fuzzy
+-msgid "Generate code for a Fido A"
++#: config/i386/cygming.opt:27
++msgid "Use the Cygwin interface"
++msgstr "Cygwin arayüzü kullanılır"
++
++#: config/i386/cygming.opt:31
++msgid "Generate code for a DLL"
+ msgstr "Bir DLL için kod üretilir"
+
+-#: config/m68k/m68k.opt:132
+-#, fuzzy
+-msgid "Generate code which uses hardware floating point instructions"
+-msgstr "68881 kayan nokta komutlarını kullanan kod üretilir"
++#: config/i386/cygming.opt:35
++msgid "Ignore dllimport for functions"
++msgstr "İşlevler için dllimport yoksayılır"
+
+-#: config/m68k/m68k.opt:136
+-msgid "Enable ID based shared library"
+-msgstr "ID tabanlı paylaşımlı kütüphane etkin olur"
++#: config/i386/cygming.opt:39
++msgid "Use Mingw-specific thread support"
++msgstr "Mingw'ye özgü evre desteği kullanılır"
+
+-#: config/m68k/m68k.opt:140
+-msgid "Do not use the bit-field instructions"
+-msgstr "Bit alanı komutları kullanılmaz"
++#: config/i386/cygming.opt:43
++msgid "Set Windows defines"
++msgstr "Windows atamaları ayarlanır"
+
+-#: config/m68k/m68k.opt:144
+-msgid "Use normal calling convention"
+-msgstr "Normal çağrı uzlaşımı kullanılır"
++#: config/i386/cygming.opt:47
++msgid "Create GUI application"
++msgstr "GKA uygulaması oluşturur"
+
+-#: config/m68k/m68k.opt:148
+-msgid "Consider type 'int' to be 32 bits wide"
+-msgstr "`int' tür 32 bit genişlikte varsayılır"
+-
+-#: config/m68k/m68k.opt:152
+-msgid "Generate pc-relative code"
+-msgstr "PC'ye göre kod üretilir"
+-
+-#: config/m68k/m68k.opt:156
+-msgid "Use different calling convention using 'rtd'"
+-msgstr "'rtd' kullanılan farklı çağrı uzlaşımı kullanılır"
+-
+-#: config/m68k/m68k.opt:160 config/bfin/bfin.opt:61
+-msgid "Enable separate data segment"
+-msgstr "Ayrı veri bölütü etkin olur"
+-
+-#: config/m68k/m68k.opt:164 config/bfin/bfin.opt:57
+-msgid "ID of shared library to build"
+-msgstr "derlenecek paylaşımlı kütüphane kimligi"
+-
+-#: config/m68k/m68k.opt:168
+-msgid "Consider type 'int' to be 16 bits wide"
+-msgstr "`int' tür 16 bit genişlikte varsayılır"
+-
+-#: config/m68k/m68k.opt:172
+-msgid "Generate code with library calls for floating point"
+-msgstr "Gerçel sayılar için kitaplık çağrılarıyla kod üretilir"
+-
+-#: config/m68k/m68k.opt:176
+-msgid "Do not use unaligned memory references"
+-msgstr "Hizalamasız bellek referansları kullanılmaz"
+-
+-#: config/m68k/m68k.opt:180
+-#, fuzzy
+-msgid "Tune for the specified target CPU or architecture"
+-msgstr "Hedef mimarinin ismi belirtilir"
+-
+-#: config/m68k/ieee.opt:24 config/i386/i386.opt:95
+-msgid "Use IEEE math for fp comparisons"
+-msgstr "fp karşılaştırmaları için IEEE aritmetiği kullanılır"
+-
+-#: config/i386/djgpp.opt:25
+-msgid "Ignored (obsolete)"
+-msgstr "Yoksayılır (atıl)"
+-
+ #: config/i386/i386.opt:23
+ msgid "sizeof(long double) is 16"
+ msgstr "sizeof(long double) -> 16"
+@@ -12548,6 +12255,10 @@
+ msgid "Align destination of the string operations"
+ msgstr "Dizge işlemleri hedefi hizalanır"
+
++#: config/i386/i386.opt:59 config/spu/spu.opt:60 config/s390/s390.opt:31
++msgid "Generate code for given CPU"
++msgstr "Verilen işlemci için kod üretir"
++
+ #: config/i386/i386.opt:63
+ msgid "Use given assembler dialect"
+ msgstr "Verilen çevirici aksanı kullanılır"
+@@ -12576,6 +12287,10 @@
+ msgid "Generate floating point mathematics using given instruction set"
+ msgstr "Belirtilen komut kümesini kullanan kayan nokta aritmetiği üretilir"
+
++#: config/i386/i386.opt:95 config/m68k/ieee.opt:24
++msgid "Use IEEE math for fp comparisons"
++msgstr "fp karşılaştırmaları için IEEE aritmetiği kullanılır"
++
+ #: config/i386/i386.opt:99
+ msgid "Inline all known string operations"
+ msgstr "Bilinen tüm dizge işlemleri satıriçi olur"
+@@ -12734,58 +12449,399 @@
+ msgid "Enable automatic generation of fused floating point multiply-add instructions"
+ msgstr "Kayan noktalı çarpma/toplama komutları üretilir"
+
+-#: config/i386/cygming.opt:23
+-msgid "Create console application"
+-msgstr "Konsol uygulaması oluşturulur"
++#: config/i386/sco5.opt:24
++msgid "Generate ELF output"
++msgstr "ELF çıktı üretilir"
+
+-#: config/i386/cygming.opt:27
+-msgid "Use the Cygwin interface"
+-msgstr "Cygwin arayüzü kullanılır"
++#: config/i386/djgpp.opt:25
++msgid "Ignored (obsolete)"
++msgstr "Yoksayılır (atıl)"
+
+-#: config/i386/cygming.opt:31
+-msgid "Generate code for a DLL"
+-msgstr "Bir DLL için kod üretilir"
++#: config/iq2000/iq2000.opt:23 config/mt/mt.opt:55
++msgid "Specify CPU for code generation purposes"
++msgstr "Kod üretim amacına yönelik işlemci belirtilir"
+
+-#: config/i386/cygming.opt:35
+-msgid "Ignore dllimport for functions"
+-msgstr "İşlevler için dllimport yoksayılır"
++#: config/iq2000/iq2000.opt:27
++msgid "Specify CPU for scheduling purposes"
++msgstr "Zamanlama kullanımı için işlemci belirtilir"
+
+-#: config/i386/cygming.opt:39
+-msgid "Use Mingw-specific thread support"
+-msgstr "Mingw'ye özgü evre desteği kullanılır"
++#: config/iq2000/iq2000.opt:31 config/mips/mips.opt:97
++msgid "Use ROM instead of RAM"
++msgstr "RAM yerine ROM kullanılır"
+
+-#: config/i386/cygming.opt:43
+-msgid "Set Windows defines"
+-msgstr "Windows atamaları ayarlanır"
++#: config/iq2000/iq2000.opt:35
++msgid "Use GP relative sdata/sbss sections"
++msgstr "GP göreli sdata/sbss bolumleri kullanılır"
+
+-#: config/i386/cygming.opt:47
+-msgid "Create GUI application"
+-msgstr "GKA uygulaması oluşturur"
++#: config/iq2000/iq2000.opt:40
++msgid "No default crt0.o"
++msgstr "Ontanımlı crt0.o yok"
+
+-#: config/i386/sco5.opt:24
+-msgid "Generate ELF output"
+-msgstr "ELF çıktı üretilir"
++#: config/iq2000/iq2000.opt:44 config/mips/mips.opt:265
++msgid "Put uninitialized constants in ROM (needs -membedded-data)"
++msgstr "Ä°lklenmemiÅŸ sabitler ROM'a konur (-membedded-data gerektirir)"
+
+-#: config/rs6000/aix41.opt:24 config/rs6000/aix64.opt:32
+-msgid "Support message passing with the Parallel Environment"
+-msgstr "Koşut Ortam ile ileti aktarımi desteklenir"
++#: config/arm/arm.opt:23
++msgid "Specify an ABI"
++msgstr "Bir ABI belirtilir"
+
+-#: config/rs6000/aix.opt:24 config/rs6000/rs6000.opt:147
+-msgid "Conform more closely to IBM XLC semantics"
+-msgstr "IBM XLC anlambilimine uyumluluk arttırılır"
++#: config/arm/arm.opt:27
++msgid "Generate a call to abort if a noreturn function returns"
++msgstr "Değer döndürmeyen işlev değer döndürürse çıkış için çağrı üretilir"
+
+-#: config/rs6000/darwin.opt:24 config/rs6000/sysv4.opt:132
++#: config/arm/arm.opt:34
++msgid "Pass FP arguments in FP registers"
++msgstr "FP argümanları FP yazmaçlarında aktarılır"
++
++#: config/arm/arm.opt:38
++msgid "Generate APCS conformant stack frames"
++msgstr "APCS uyumlu yığıt çerçeveleri üretilir"
++
++#: config/arm/arm.opt:42
++msgid "Generate re-entrant, PIC code"
++msgstr "Yeniden girişli PIC kodu üretilir"
++
++#: config/arm/arm.opt:49 config/m68k/m68k.opt:96 config/score/score.opt:63
++msgid "Specify the name of the target architecture"
++msgstr "Hedef mimarinin ismi belirtilir"
++
++#: config/arm/arm.opt:56
++msgid "Assume target CPU is configured as big endian"
++msgstr "Hedef işlemci kıymetli baytın başta olduğu yapılandırmaya sahip kabul edilir"
++
++#: config/arm/arm.opt:60
++msgid "Thumb: Assume non-static functions may be called from ARM code"
++msgstr "Thumb: Statik olmayan işlevlerin ARM kodundan çağrılabileceğini varsayar"
++
++#: config/arm/arm.opt:64
++msgid "Thumb: Assume function pointers may go to non-Thumb aware code"
++msgstr "Thumb: İşlev göstericilerinin Thumb'dan habersiz kodu imleyebileceğini varsayar."
++
++#: config/arm/arm.opt:68
++msgid "Cirrus: Place NOPs to avoid invalid instruction combinations"
++msgstr "Cirrus: Geçersiz komut birleşimlerinden kaçınmak için NOPlar yerleştirilir"
++
++#: config/arm/arm.opt:72 config/bfin/bfin.opt:27
++msgid "Specify the name of the target CPU"
++msgstr "Hedef iÅŸlemcinin ismi belirtilir"
++
++#: config/arm/arm.opt:76
++msgid "Specify if floating point hardware should be used"
++msgstr "Eğer kayan nokta donanımı kulanılmalıysa belirtilir"
++
++#: config/arm/arm.opt:90
++msgid "Specify the name of the target floating point hardware/format"
++msgstr "Hedef kayan noktalı donanım/biçim ismi belirtilir"
++
++#: config/arm/arm.opt:94
++msgid "Alias for -mfloat-abi=hard"
++msgstr "-mfloat-abi=hard için takma isim"
++
++#: config/arm/arm.opt:98
++msgid "Assume target CPU is configured as little endian"
++msgstr "Hedef işlemci kıymetsiz baytın başta olduğu yapılandırmaya sahip kabul edilir"
++
++#: config/arm/arm.opt:102
++msgid "Generate call insns as indirect calls, if necessary"
++msgstr "Gerekliyse, çağrı komutları dolaylı çağrılar olarak üretilir"
++
++#: config/arm/arm.opt:106
++msgid "Specify the register to be used for PIC addressing"
++msgstr "PIC adresleme için kullanılacak yazmaç belirtilir"
++
++#: config/arm/arm.opt:110
++msgid "Store function names in object code"
++msgstr "İşlev isimleri nesne kodunda saklanır"
++
++#: config/arm/arm.opt:114
++msgid "Permit scheduling of a function's prologue sequence"
++msgstr "İşlev önbilgisi ardıllığının zamanlanmasına izin verilir"
++
++#: config/arm/arm.opt:118
++msgid "Do not load the PIC register in function prologues"
++msgstr "İşlev önbilgisinde PIC yazmacı yüklenmez"
++
++#: config/arm/arm.opt:122
++msgid "Alias for -mfloat-abi=soft"
++msgstr "-mfloat-abi=soft için takma isim"
++
++#: config/arm/arm.opt:126
++msgid "Specify the minimum bit alignment of structures"
++msgstr "Yapıların asgari bit hizalaması belirtilir"
++
++#: config/arm/arm.opt:130
++msgid "Compile for the Thumb not the ARM"
++msgstr "Thumb için derler, ARM için değil"
++
++#: config/arm/arm.opt:134
++msgid "Support calls between Thumb and ARM instruction sets"
++msgstr "Thumb ve ARM komut kümeleri arasındaki çağrılar desteklenir"
++
++#: config/arm/arm.opt:138
++msgid "Specify how to access the thread pointer"
++msgstr "Evre göstericisine nasıl erişileceği belirtilir"
++
++#: config/arm/arm.opt:142
++msgid "Thumb: Generate (non-leaf) stack frames even if not needed"
++msgstr "Thumb: Gerekmese dahi (uç olmayan) yığıt çerçeveleri üretilir "
++
++#: config/arm/arm.opt:146
++msgid "Thumb: Generate (leaf) stack frames even if not needed"
++msgstr "Thumb: Gerekmese dahi (uç) yığıt çerçeveleri üretilir"
++
++#: config/arm/arm.opt:150
++msgid "Tune code for the given processor"
++msgstr "Kod belirtilen işlemci için ayarlanır"
++
++#: config/arm/arm.opt:154
++msgid "Assume big endian bytes, little endian words"
++msgstr "Bayt sıralamasında kıymetli baytın başta, word sıralamasında ise sonda olduğu varsayılır"
++
++#: config/arm/arm.opt:158
++msgid "Use Neon quad-word (rather than double-word) registers for vectorization"
++msgstr ""
++
++#: config/arm/pe.opt:23
++msgid "Ignore dllimport attribute for functions"
++msgstr "İşlevler için dllimport özniteliği yoksayılır"
++
++#: config/cris/linux.opt:27
++msgid "Together with -fpic and -fPIC, do not use GOTPLT references"
++msgstr "-fpic ve -fPIC ile birlikte GOTPLT başvurularını kullanmayın"
++
++#: config/cris/aout.opt:27
++msgid "Compile for the MMU-less Etrax 100-based elinux system"
++msgstr "MMU-suz Etrax 100-tabanlı elinux sistemi için derler"
++
++#: config/cris/aout.opt:33
++msgid "For elinux, request a specified stack-size for this program"
++msgstr "elinux için, bu programa belirli bir yığıt boyutu istenir"
++
++#: config/cris/cris.opt:45
++msgid "Work around bug in multiplication instruction"
++msgstr "Çarpma komutundaki hatanın oluru bulunur"
++
++#: config/cris/cris.opt:51
++msgid "Compile for ETRAX 4 (CRIS v3)"
++msgstr "ETRAX 4 (CRIS v3) için derleme yapılır"
++
++#: config/cris/cris.opt:56
++msgid "Compile for ETRAX 100 (CRIS v8)"
++msgstr "ETRAX 100 (CRIS v8) için derleme yapılır"
++
++#: config/cris/cris.opt:64
++msgid "Emit verbose debug information in assembly code"
++msgstr "Çevirici kodunda ayrıntılı hata ayıklama bilgisi üretilir"
++
++#: config/cris/cris.opt:71
++msgid "Do not use condition codes from normal instructions"
++msgstr "Normal komutlardaki koşul kodları kullanılmaz"
++
++#: config/cris/cris.opt:80
++msgid "Do not emit addressing modes with side-effect assignment"
++msgstr "Yan etki atamalı adresleme kipleri üretilmez"
++
++#: config/cris/cris.opt:89
++msgid "Do not tune stack alignment"
++msgstr "Yığıt hizalaması ayarlanmaz"
++
++#: config/cris/cris.opt:98
++msgid "Do not tune writable data alignment"
++msgstr "Yazılabilir veri hizalaması ayarlanmaz"
++
++#: config/cris/cris.opt:107
++msgid "Do not tune code and read-only data alignment"
++msgstr "Kod ve salt-okunur veri hizalaması ayarlanmaz"
++
++#: config/cris/cris.opt:116
++msgid "Align code and data to 32 bits"
++msgstr "Kod ve veri 32 bite hizalanır"
++
++#: config/cris/cris.opt:133
++msgid "Don't align items in code or data"
++msgstr "Kod ve verideki öğeler hizalanmaz"
++
++#: config/cris/cris.opt:142
++msgid "Do not emit function prologue or epilogue"
++msgstr "İşlev ön veya son bilgisi üretilmez"
++
++#: config/cris/cris.opt:149
++msgid "Use the most feature-enabling options allowed by other options"
++msgstr "Diğer seçenekler tarafından izin verilen çoğu özellik-etkinleştirme seçeneği kullanılır"
++
++#: config/cris/cris.opt:158
++msgid "Override -mbest-lib-options"
++msgstr "-mbest-lib-options geçersizleştirilir"
++
++#: config/cris/cris.opt:165
++msgid "Generate code for the specified chip or CPU version"
++msgstr "Verilen işlemci ya da yonga sürümü için kod üretir"
++
++#: config/cris/cris.opt:169
++msgid "Tune alignment for the specified chip or CPU version"
++msgstr "Belirtilen yonga veya işlemci sürümü için hizalama ayarlanır"
++
++#: config/cris/cris.opt:173
++msgid "Warn when a stackframe is larger than the specified size"
++msgstr "Bir yığıt bağlamı belirtilen boyuttan büyük olduğunda uyarır"
++
++#: config/avr/avr.opt:23
++msgid "Use subroutines for function prologues and epilogues"
++msgstr "İşlev önbilgisi/sonbilgisi için altyordamlar kullanılır"
++
++#: config/avr/avr.opt:27
++msgid "Select the target MCU"
++msgstr "Hedef MCU ismi belirtilir"
++
++#: config/avr/avr.opt:34
++msgid "Use an 8-bit 'int' type"
++msgstr "8 bitlik int kullanılır"
++
++#: config/avr/avr.opt:38
++msgid "Change the stack pointer without disabling interrupts"
++msgstr "Yığıt göstericisi kesmeler etkisizleştirilmeden değiştirilir"
++
++#: config/avr/avr.opt:42
++msgid "Do not generate tablejump insns"
++msgstr "Tablejump komutları üretilmez"
++
++#: config/avr/avr.opt:52
++msgid "Use rjmp/rcall (limited range) on >8K devices"
++msgstr ">8k aygıtlarda rjmp/rcall (sınırlı aralık) kullanılır"
++
++#: config/avr/avr.opt:56
++msgid "Output instruction sizes to the asm file"
++msgstr "Komut boyutlarını asm dosyasına çıktılar"
++
++#: config/avr/avr.opt:60
++msgid "Change only the low 8 bits of the stack pointer"
++msgstr "Yığıt göstericisinin sadece düşük 8 biti değiştirilir"
++
++#: config/avr/avr.opt:64
++#, fuzzy
++msgid "Relax branches"
++msgstr "Dal yok\n"
++
++#: config/avr/avr.opt:68
++msgid "Make the linker relaxation machine assume that a program counter wrap-around occures."
++msgstr ""
++
++#: config/linux.opt:24
++#, fuzzy
++msgid "Use uClibc instead of GNU libc"
++msgstr "RAM yerine ROM kullanılır"
++
++#: config/linux.opt:28
++#, fuzzy
++msgid "Use GNU libc instead of uClibc"
++msgstr "RAM yerine ROM kullanılır"
++
++#: config/rs6000/sysv4.opt:24
++msgid "Select ABI calling convention"
++msgstr "ABI çağrı uzlaşımı seçilir"
++
++#: config/rs6000/sysv4.opt:28
++msgid "Select method for sdata handling"
++msgstr "sdata eldesi için yöntem seçilir"
++
++#: config/rs6000/sysv4.opt:36 config/rs6000/sysv4.opt:40
++msgid "Align to the base type of the bit-field"
++msgstr "Bit alanlı taban türüne hizalama yapılır"
++
++#: config/rs6000/sysv4.opt:45 config/rs6000/sysv4.opt:49
++msgid "Produce code relocatable at runtime"
++msgstr "Çalışma anında kod yer değiştirilebilirliği sağlanır"
++
++#: config/rs6000/sysv4.opt:53 config/rs6000/sysv4.opt:57
++msgid "Produce little endian code"
++msgstr "Kıymetsiz baytın başta olduğu kod üretilir"
++
++#: config/rs6000/sysv4.opt:61 config/rs6000/sysv4.opt:65
++msgid "Produce big endian code"
++msgstr "Kıymetli baytın başta olduğu kod üretilir"
++
++#: config/rs6000/sysv4.opt:70 config/rs6000/sysv4.opt:74
++#: config/rs6000/sysv4.opt:83 config/rs6000/sysv4.opt:100
++#: config/rs6000/sysv4.opt:128 config/rs6000/sysv4.opt:140
++msgid "no description yet"
++msgstr "henüz bir açıklama yok"
++
++#: config/rs6000/sysv4.opt:78
++msgid "Assume all variable arg functions are prototyped"
++msgstr "Tüm değişken argümanlı işlevlerin prototipli olduğu varsayılır"
++
++#: config/rs6000/sysv4.opt:87
++msgid "Use EABI"
++msgstr "EABI kullanılır"
++
++#: config/rs6000/sysv4.opt:91
++msgid "Allow bit-fields to cross word boundaries"
++msgstr "word sınırlarına karşı düşen bit alanlarına izin verilir"
++
++#: config/rs6000/sysv4.opt:95
++msgid "Use alternate register names"
++msgstr "Diğer yazmaç isimleri kullanılır"
++
++#: config/rs6000/sysv4.opt:104
++msgid "Link with libsim.a, libc.a and sim-crt0.o"
++msgstr "libsim.a, libc.a ve sim-crt0.o ile ilintiler"
++
++#: config/rs6000/sysv4.opt:108
++msgid "Link with libads.a, libc.a and crt0.o"
++msgstr "libads.a, libc.a ve crt0.o ile ilintiler"
++
++#: config/rs6000/sysv4.opt:112
++msgid "Link with libyk.a, libc.a and crt0.o"
++msgstr "libyk.a, libc.a ve crt0.o ile ilintiler"
++
++#: config/rs6000/sysv4.opt:116
++msgid "Link with libmvme.a, libc.a and crt0.o"
++msgstr "libmvme.a, libc.a ve crt0.o ile ilintiler"
++
++#: config/rs6000/sysv4.opt:120
++msgid "Set the PPC_EMB bit in the ELF flags header"
++msgstr "ELF seçenekleri başlığı içindeki PPC_EMB bitini 1 yapar"
++
++#: config/rs6000/sysv4.opt:124
++msgid "Use the WindISS simulator"
++msgstr "WindISS benzeticisi kullanılır"
++
++#: config/rs6000/sysv4.opt:132 config/rs6000/darwin.opt:24
+ msgid "Generate 64-bit code"
+ msgstr "64 bitlik kod üretilir"
+
+-#: config/rs6000/darwin.opt:28 config/rs6000/sysv4.opt:136
++#: config/rs6000/sysv4.opt:136 config/rs6000/darwin.opt:28
+ msgid "Generate 32-bit code"
+ msgstr "32 bitlik kod üretilir"
+
++#: config/rs6000/sysv4.opt:144
++msgid "Generate code to use a non-exec PLT and GOT"
++msgstr "Çalıştırılmayan bir PLT ve GOT kullanacak kod üretilir"
++
++#: config/rs6000/sysv4.opt:148
++msgid "Generate code for old exec BSS PLT"
++msgstr "Eski çalıştırılabilir BSS PLT için kod üretilir"
++
++#: config/rs6000/linux64.opt:24
++msgid "Call mcount for profiling before a function prologue"
++msgstr "Bir işlevin önbilgisinden önce profilleme için mcount çağrılır"
++
+ #: config/rs6000/darwin.opt:32
+ msgid "Generate code suitable for executables (NOT shared libs)"
+ msgstr "Çalıştırılabilirler için uygun kod üretilir (paylaşımlı kütüphane değil)"
+
++#: config/rs6000/aix64.opt:24
++msgid "Compile for 64-bit pointers"
++msgstr "64 bitlik göstericiler için derleme yapılır"
++
++#: config/rs6000/aix64.opt:28
++msgid "Compile for 32-bit pointers"
++msgstr "32 bitlik göstericiler için derleme yapılır"
++
++#: config/rs6000/aix64.opt:32 config/rs6000/aix41.opt:24
++msgid "Support message passing with the Parallel Environment"
++msgstr "Koşut Ortam ile ileti aktarımi desteklenir"
++
+ #: config/rs6000/rs6000.opt:24
+ msgid "Use POWER instruction set"
+ msgstr "POWER komut kümesi kullanılır"
+@@ -12907,6 +12963,10 @@
+ msgid "Return small structures in registers (SVR4 default)"
+ msgstr "Yazmaçlardaki küçük veri yapıları döndürülür (SVR4 öntanımlı)"
+
++#: config/rs6000/rs6000.opt:147 config/rs6000/aix.opt:24
++msgid "Conform more closely to IBM XLC semantics"
++msgstr "IBM XLC anlambilimine uyumluluk arttırılır"
++
+ #: config/rs6000/rs6000.opt:151
+ #, fuzzy
+ msgid "Generate software reciprocal sqrt for better throughput"
+@@ -12973,6 +13033,10 @@
+ msgid "Specify ABI to use"
+ msgstr "Kullanılacak ABI belirtilir"
+
++#: config/rs6000/rs6000.opt:222 config/sparc/sparc.opt:91
++msgid "Use features of and schedule code for given CPU"
++msgstr "Verilen işlemcinin özellikleri ve zamanlama kodu kullanılır"
++
+ #: config/rs6000/rs6000.opt:230
+ msgid "Select full, part, or no traceback table"
+ msgstr "Ya full veya part seçilir ya da hiçbir traceback tablosu seçilmez"
+@@ -13009,96 +13073,74 @@
+ msgid "Specify scheduling priority for dispatch slot restricted insns"
+ msgstr "Yuva kısıtlı komutları sevketmek için zamanlama önceliği belirtilir"
+
+-#: config/rs6000/aix64.opt:24
+-msgid "Compile for 64-bit pointers"
+-msgstr "64 bitlik göstericiler için derleme yapılır"
++#: config/v850/v850.opt:23
++msgid "Use registers r2 and r5"
++msgstr "r2 ve r5 yazmaçları kullanılır"
+
+-#: config/rs6000/aix64.opt:28
+-msgid "Compile for 32-bit pointers"
+-msgstr "32 bitlik göstericiler için derleme yapılır"
++#: config/v850/v850.opt:27
++msgid "Use 4 byte entries in switch tables"
++msgstr "Switch tablolarında 4 baytlık girdiler kullanılır"
+
+-#: config/rs6000/linux64.opt:24
+-msgid "Call mcount for profiling before a function prologue"
+-msgstr "Bir işlevin önbilgisinden önce profilleme için mcount çağrılır"
++#: config/v850/v850.opt:31
++msgid "Enable backend debugging"
++msgstr "Arkayüz hata ayıklamasını etkin olur"
+
+-#: config/rs6000/sysv4.opt:24
+-msgid "Select ABI calling convention"
+-msgstr "ABI çağrı uzlaşımı seçilir"
++#: config/v850/v850.opt:35
++msgid "Do not use the callt instruction"
++msgstr "callt komutu kullanılmaz"
+
+-#: config/rs6000/sysv4.opt:28
+-msgid "Select method for sdata handling"
+-msgstr "sdata eldesi için yöntem seçilir"
++#: config/v850/v850.opt:39
++msgid "Reuse r30 on a per function basis"
++msgstr "Her işlev için r30 yeniden kullanılır"
+
+-#: config/rs6000/sysv4.opt:36 config/rs6000/sysv4.opt:40
+-msgid "Align to the base type of the bit-field"
+-msgstr "Bit alanlı taban türüne hizalama yapılır"
++#: config/v850/v850.opt:43
++msgid "Support Green Hills ABI"
++msgstr "Green Hills ABI desteklenir"
+
+-#: config/rs6000/sysv4.opt:45 config/rs6000/sysv4.opt:49
+-msgid "Produce code relocatable at runtime"
+-msgstr "Çalışma anında kod yer değiştirilebilirliği sağlanır"
++#: config/v850/v850.opt:47
++msgid "Prohibit PC relative function calls"
++msgstr "PC göreli işlev çağrılarını engeller"
+
+-#: config/rs6000/sysv4.opt:53 config/rs6000/sysv4.opt:57
+-msgid "Produce little endian code"
+-msgstr "Kıymetsiz baytın başta olduğu kod üretilir"
++#: config/v850/v850.opt:51
++msgid "Use stubs for function prologues"
++msgstr "İşlev önbilgisi için koçan kullanılır"
+
+-#: config/rs6000/sysv4.opt:61 config/rs6000/sysv4.opt:65
+-msgid "Produce big endian code"
+-msgstr "Kıymetli baytın başta olduğu kod üretilir"
++#: config/v850/v850.opt:55
++msgid "Set the max size of data eligible for the SDA area"
++msgstr "SDA alanı için uygun verinin azami boyunu belirler"
+
+-#: config/rs6000/sysv4.opt:70 config/rs6000/sysv4.opt:74
+-#: config/rs6000/sysv4.opt:83 config/rs6000/sysv4.opt:100
+-#: config/rs6000/sysv4.opt:128 config/rs6000/sysv4.opt:140
+-msgid "no description yet"
+-msgstr "henüz bir açıklama yok"
++#: config/v850/v850.opt:59
++msgid "Enable the use of the short load instructions"
++msgstr "short yükleme komutlarının kullanımı etkinleştirilir"
+
+-#: config/rs6000/sysv4.opt:78
+-msgid "Assume all variable arg functions are prototyped"
+-msgstr "Tüm değişken argümanlı işlevlerin prototipli olduğu varsayılır"
++#: config/v850/v850.opt:63
++msgid "Same as: -mep -mprolog-function"
++msgstr "Bunlarla aynı: -mep -mprolog-function"
+
+-#: config/rs6000/sysv4.opt:87
+-msgid "Use EABI"
+-msgstr "EABI kullanılır"
++#: config/v850/v850.opt:67
++msgid "Set the max size of data eligible for the TDA area"
++msgstr "TDA alanı için uygun verinin azami boyunu belirler"
+
+-#: config/rs6000/sysv4.opt:91
+-msgid "Allow bit-fields to cross word boundaries"
+-msgstr "word sınırlarına karşı düşen bit alanlarına izin verilir"
++#: config/v850/v850.opt:71
++msgid "Enforce strict alignment"
++msgstr "Kesin hizalamaya zorlar"
+
+-#: config/rs6000/sysv4.opt:95
+-msgid "Use alternate register names"
+-msgstr "Diğer yazmaç isimleri kullanılır"
++#: config/v850/v850.opt:78
++msgid "Compile for the v850 processor"
++msgstr "v850 işlemci için derleme yapılır"
+
+-#: config/rs6000/sysv4.opt:104
+-msgid "Link with libsim.a, libc.a and sim-crt0.o"
+-msgstr "libsim.a, libc.a ve sim-crt0.o ile ilintiler"
++#: config/v850/v850.opt:82
++msgid "Compile for the v850e processor"
++msgstr "v850e işlemci için derleme yapılır"
+
+-#: config/rs6000/sysv4.opt:108
+-msgid "Link with libads.a, libc.a and crt0.o"
+-msgstr "libads.a, libc.a ve crt0.o ile ilintiler"
++#: config/v850/v850.opt:86
++msgid "Compile for the v850e1 processor"
++msgstr "v850e1 işlemci için derleme yapılır"
+
+-#: config/rs6000/sysv4.opt:112
+-msgid "Link with libyk.a, libc.a and crt0.o"
+-msgstr "libyk.a, libc.a ve crt0.o ile ilintiler"
++#: config/v850/v850.opt:90
++msgid "Set the max size of data eligible for the ZDA area"
++msgstr "ZDA alanı için uygun verinin azami boyunu belirler"
+
+-#: config/rs6000/sysv4.opt:116
+-msgid "Link with libmvme.a, libc.a and crt0.o"
+-msgstr "libmvme.a, libc.a ve crt0.o ile ilintiler"
+-
+-#: config/rs6000/sysv4.opt:120
+-msgid "Set the PPC_EMB bit in the ELF flags header"
+-msgstr "ELF seçenekleri başlığı içindeki PPC_EMB bitini 1 yapar"
+-
+-#: config/rs6000/sysv4.opt:124
+-msgid "Use the WindISS simulator"
+-msgstr "WindISS benzeticisi kullanılır"
+-
+-#: config/rs6000/sysv4.opt:144
+-msgid "Generate code to use a non-exec PLT and GOT"
+-msgstr "Çalıştırılmayan bir PLT ve GOT kullanacak kod üretilir"
+-
+-#: config/rs6000/sysv4.opt:148
+-msgid "Generate code for old exec BSS PLT"
+-msgstr "Eski çalıştırılabilir BSS PLT için kod üretilir"
+-
+ #: config/spu/spu.opt:20
+ msgid "Emit warnings when run-time relocations are generated"
+ msgstr ""
+@@ -13141,62 +13183,268 @@
+ msgid "Generate code for 32 bit addressing"
+ msgstr "Kıymetli baytın başta olduğu kod üretilir"
+
+-#: config/mcore/mcore.opt:23
+-msgid "Generate code for the M*Core M210"
+-msgstr "M*Core M210 için kod üretilir"
++#: config/vax/vax.opt:23 config/vax/vax.opt:27
++msgid "Target DFLOAT double precision code"
++msgstr "DFLOAT çift duyarlıklı kod hedeflenir"
+
+-#: config/mcore/mcore.opt:27
+-msgid "Generate code for the M*Core M340"
+-msgstr "Kod M*Core M340 için üretilir"
++#: config/vax/vax.opt:31 config/vax/vax.opt:35
++msgid "Generate GFLOAT double precision code"
++msgstr "GFLOAT çift duyarlıklı kodu üretilir"
+
+-#: config/mcore/mcore.opt:31
+-msgid "Set maximum alignment to 4"
+-msgstr "Azami hizalama 4 e ayarlanır"
++#: config/vax/vax.opt:39
++msgid "Generate code for GNU assembler (gas)"
++msgstr "Kod GNU as (gas) için üretilir"
+
+-#: config/mcore/mcore.opt:35
+-msgid "Force functions to be aligned to a 4 byte boundary"
+-msgstr "İşlevler 4 baytlık sınıra hizalanmaya çalışılır"
++#: config/vax/vax.opt:43
++msgid "Generate code for UNIX assembler"
++msgstr "Kod UNIX asm için üretilir"
+
+-#: config/mcore/mcore.opt:39
+-msgid "Set maximum alignment to 8"
+-msgstr "Azami hizalama 8 e ayarlanır"
++#: config/vax/vax.opt:47
++msgid "Use VAXC structure conventions"
++msgstr "VAXC yapı uzlaşımları kullanılır"
+
+-#: config/mcore/mcore.opt:43 config/score/score.opt:23
+-msgid "Generate big-endian code"
+-msgstr "Kıymetli baytın başta olduğu kod üretilir"
++#: config/lynx.opt:23
++msgid "Support legacy multi-threading"
++msgstr "Geleneksel çok evrelilik desteği"
+
+-#: config/mcore/mcore.opt:47
+-msgid "Emit call graph information"
+-msgstr "Çağrı çizge bilgisi üretir"
++#: config/lynx.opt:27
++msgid "Use shared libraries"
++msgstr "Paylaşımlı kütüphaneler kullanılır"
+
+-#: config/mcore/mcore.opt:51
+-msgid "Use the divide instruction"
+-msgstr "Bölme komutu kullanılır"
++#: config/lynx.opt:31
++msgid "Support multi-threading"
++msgstr "Çok evrelilik desteklenir"
+
+-#: config/mcore/mcore.opt:55
+-msgid "Inline constants if it can be done in 2 insns or less"
+-msgstr "2 komut ya da daha azı ile yapılabiliyorsa, sabitler satıriçi olur"
++#: config/stormy16/stormy16.opt:24
++msgid "Provide libraries for the simulator"
++msgstr "Kütüphaneler benzeştirici için üretilir"
+
+-#: config/mcore/mcore.opt:59 config/score/score.opt:27
+-msgid "Generate little-endian code"
+-msgstr "Kıymetsiz baytın başta olduğu kod üretilir"
++#: config/h8300/h8300.opt:23
++msgid "Generate H8S code"
++msgstr "H8S kodu üretilir"
+
+-#: config/mcore/mcore.opt:67
+-msgid "Use arbitrary sized immediates in bit operations"
+-msgstr "Bit işlemlerinde herhangi bir boyda anlık değerler kullanılır"
++#: config/h8300/h8300.opt:27
++msgid "Generate H8SX code"
++msgstr "H8SX kodu üretilir"
+
+-#: config/mcore/mcore.opt:71
+-msgid "Prefer word accesses over byte accesses"
+-msgstr "Word eriÅŸimleri bayt eriÅŸimlerine tercih edilir"
++#: config/h8300/h8300.opt:31
++msgid "Generate H8S/2600 code"
++msgstr "H8S/2600 kodu üretilir"
+
+-#: config/mcore/mcore.opt:75
+-msgid "Set the maximum amount for a single stack increment operation"
+-msgstr "Tek yığıt artış işleminde kullanılacak azami miktar belirtilir"
++#: config/h8300/h8300.opt:35
++msgid "Make integers 32 bits wide"
++msgstr "Tamsayılar 32 bitlik yapılır"
+
+-#: config/mcore/mcore.opt:79
+-msgid "Always treat bitfields as int-sized"
+-msgstr "Bit alanlarıı daima int boyutlu işlenir"
++#: config/h8300/h8300.opt:42
++msgid "Use registers for argument passing"
++msgstr "Arguman aktarımı için yazmaçlar kullanılır"
+
++#: config/h8300/h8300.opt:46
++msgid "Consider access to byte sized memory slow"
++msgstr "Bayt bayt erişilen belleğin yavaş olduğu varsayılır"
++
++#: config/h8300/h8300.opt:50
++msgid "Enable linker relaxing"
++msgstr "Ä°lintileyici esnekliÄŸi etkin olur"
++
++#: config/h8300/h8300.opt:54
++msgid "Generate H8/300H code"
++msgstr "H8/300H kodu üretilir"
++
++#: config/h8300/h8300.opt:58
++msgid "Enable the normal mode"
++msgstr "Normal kip etkin olur"
++
++#: config/h8300/h8300.opt:62
++msgid "Use H8/300 alignment rules"
++msgstr "H8/300 hizalama kuralları kullanılır"
++
++#: config/s390/s390.opt:23
++msgid "31 bit ABI"
++msgstr "31 bitlik ABI"
++
++#: config/s390/s390.opt:27
++msgid "64 bit ABI"
++msgstr "64 bitlik ABI"
++
++#: config/s390/s390.opt:35
++msgid "Maintain backchain pointer"
++msgstr ""
++
++#: config/s390/s390.opt:39
++msgid "Additional debug prints"
++msgstr "Ek hata ayıklama iletileri çıktılar"
++
++#: config/s390/s390.opt:43
++msgid "ESA/390 architecture"
++msgstr "ESA/390 mimarisi"
++
++#: config/s390/s390.opt:47
++msgid "Enable fused multiply/add instructions"
++msgstr "Birleşik çarpma/toplama komutları etkinleştirilir"
++
++#: config/s390/s390.opt:51
++#, fuzzy
++msgid "Enable decimal floating point hardware support"
++msgstr "Eğer kayan nokta donanımı kulanılmalıysa belirtilir"
++
++#: config/s390/s390.opt:55
++#, fuzzy
++msgid "Enable hardware floating point"
++msgstr "Donanım kayan nokta aritmetiği kullanılır"
++
++#: config/s390/s390.opt:67
++msgid "Use packed stack layout"
++msgstr "Paketlenmiş yığıt yerleşimi kullanılır"
++
++#: config/s390/s390.opt:71
++msgid "Use bras for executable < 64k"
++msgstr "64k'dan küçük çalıştırılabilirler için bras kullanılır"
++
++#: config/s390/s390.opt:75
++#, fuzzy
++msgid "Disable hardware floating point"
++msgstr "Donanım kayan nokta aritmetiği kullanılır"
++
++#: config/s390/s390.opt:79
++msgid "Set the max. number of bytes which has to be left to stack size before a trap instruction is triggered"
++msgstr "Bir yakalama komutu tetiklenmeden önce yığıt boyutuna kalan azami bayt sayısını belirler"
++
++#: config/s390/s390.opt:83
++msgid "Emit extra code in the function prologue in order to trap if the stack size exceeds the given limit"
++msgstr "Yığıt boyutu için verilen sınırın aşıldığı saptandığı sırada işlev önbilgisindeki ek kodu çıktılar"
++
++#: config/s390/s390.opt:91
++msgid "mvcle use"
++msgstr "mvcle kullanımı"
++
++#: config/s390/s390.opt:95
++msgid "Warn if a function uses alloca or creates an array with dynamic size"
++msgstr "Bir işlev alloca kullanırsa ya da değişken boyutlu dizi oluşturursa uyarır"
++
++#: config/s390/s390.opt:99
++msgid "Warn if a single function's framesize exceeds the given framesize"
++msgstr "Tek işlevlik çalışma çerçevesi belirtileni aşarsa uyarır"
++
++#: config/s390/s390.opt:103
++msgid "z/Architecture"
++msgstr "z/Mimari"
++
++#: config/s390/tpf.opt:23
++msgid "Enable TPF-OS tracing code"
++msgstr "TPF-OS izleme kodu etkin olur"
++
++#: config/s390/tpf.opt:27
++msgid "Specify main object for TPF-OS"
++msgstr "TPF-OS için ana nesne belirtir"
++
++#: config/darwin.opt:23
++msgid "Generate code suitable for fast turn around debugging"
++msgstr "Hatanın etrafından dolanan hızlı hata ayıklama için uygun kod üretilir"
++
++#: config/darwin.opt:31
++msgid "The earliest MacOS X version on which this program will run"
++msgstr "Bu programın çalışacağı en eski MacOS X sürümü"
++
++#: config/darwin.opt:35
++msgid "Set sizeof(bool) to 1"
++msgstr "sizeof(bool) 1'e ayarlanır"
++
++#: config/darwin.opt:39
++#, fuzzy
++msgid "Generate code for darwin loadable kernel extensions"
++msgstr "Hiçbir yeni komut olmaksızın 68040 için kod üretilir"
++
++#: config/darwin.opt:43
++#, fuzzy
++msgid "Generate code for the kernel or loadable kernel extensions"
++msgstr "Verilen işlemci ya da yonga sürümü için kod üretir"
++
++#: config/darwin.opt:47
++#, fuzzy
++msgid "Add <dir> to the end of the system framework include path"
++msgstr "<dizin> ana çerçeve başlık dosyaları arama yolunun sonuna eklenir"
++
++#: config/mn10300/mn10300.opt:23
++msgid "Target the AM33 processor"
++msgstr "AM33 iÅŸlemci hedeflenir"
++
++#: config/mn10300/mn10300.opt:27
++msgid "Target the AM33/2.0 processor"
++msgstr "AM33/2.0 iÅŸlemci hedeflenir"
++
++#: config/mn10300/mn10300.opt:31
++msgid "Work around hardware multiply bug"
++msgstr "Donanım çarpma hatasının olurunu bulur"
++
++#: config/mn10300/mn10300.opt:36
++msgid "Enable linker relaxations"
++msgstr "Ä°lintileyici esnekleÅŸtiriciler etkin olur"
++
++#: config/mn10300/mn10300.opt:40
++msgid "Return pointers in both a0 and d0"
++msgstr "a0 ve d0, her ikisindeki göstericiler döner"
++
++#: config/m32r/m32r.opt:23
++msgid "Compile for the m32rx"
++msgstr "m32rx için derleme yapılır"
++
++#: config/m32r/m32r.opt:27
++msgid "Compile for the m32r2"
++msgstr "m32r2 için derleme yapılır"
++
++#: config/m32r/m32r.opt:31
++msgid "Compile for the m32r"
++msgstr "m32r için derleme yapılır"
++
++#: config/m32r/m32r.opt:35
++msgid "Align all loops to 32 byte boundary"
++msgstr "Tüm döngüler 32 bitlik sınıra hizalanır"
++
++#: config/m32r/m32r.opt:39
++msgid "Prefer branches over conditional execution"
++msgstr "Dallanmalar koşullu çalıştırmaya tercih edilir"
++
++#: config/m32r/m32r.opt:43
++msgid "Give branches their default cost"
++msgstr "Dallanmaları öntanımlı maliyetine verir"
++
++#: config/m32r/m32r.opt:47
++msgid "Display compile time statistics"
++msgstr "Derleme anı istatistikleri gösterilir"
++
++#: config/m32r/m32r.opt:51
++msgid "Specify cache flush function"
++msgstr "Arabellek boÅŸaltma iÅŸlevi belirtilir"
++
++#: config/m32r/m32r.opt:55
++msgid "Specify cache flush trap number"
++msgstr "Arabellek boşaltma kapan numarası belirtilir"
++
++#: config/m32r/m32r.opt:59
++msgid "Only issue one instruction per cycle"
++msgstr "Her çevrimde sadece bir komut işlenir"
++
++#: config/m32r/m32r.opt:63
++msgid "Allow two instructions to be issued per cycle"
++msgstr "Her çevrimde iki komut işlemeye izin verilir"
++
++#: config/m32r/m32r.opt:67
++msgid "Code size: small, medium or large"
++msgstr "Kod boyutu: small, medium veya large"
++
++#: config/m32r/m32r.opt:71
++msgid "Don't call any cache flush functions"
++msgstr "Hiçbir arabellek boşaltma işlevi çağrılmaz"
++
++#: config/m32r/m32r.opt:75
++msgid "Don't call any cache flush trap"
++msgstr "Hiçbir arabellek boşaltma kapanı çağrılmaz"
++
++#: config/m32r/m32r.opt:82
++msgid "Small data area: none, sdata, use"
++msgstr "Küçük veri alanı: none, sdata, use"
++
+ #: config/arc/arc.opt:32
+ msgid "Prepend the name of the cpu to all public symbol names"
+ msgstr "Tüm genel simge isimlerinin başına işlemci ismi getirilir"
+@@ -13217,6 +13465,528 @@
+ msgid "Put read-only data in SECTION"
+ msgstr "SECTION'daki salt okunur veriyi koyar"
+
++#: config/m32c/m32c.opt:24 config/mt/mt.opt:27 config/bfin/bfin.opt:23
++msgid "Use simulator runtime"
++msgstr "Benzeştirici çalışma anı kullanılır"
++
++#: config/m32c/m32c.opt:28
++msgid "Compile code for R8C variants"
++msgstr "R8C modelleri için derleme yapılır"
++
++#: config/m32c/m32c.opt:32
++msgid "Compile code for M16C variants"
++msgstr "M16C modelleri için derleme yapılır"
++
++#: config/m32c/m32c.opt:36
++msgid "Compile code for M32CM variants"
++msgstr "M32CM modelleri için derleme yapılır"
++
++#: config/m32c/m32c.opt:40
++msgid "Compile code for M32C variants"
++msgstr "M32C modelleri için derleme yapılır"
++
++#: config/m32c/m32c.opt:44
++msgid "Number of memreg bytes (default: 16, range: 0..16)"
++msgstr "memreg bayt sayısı (öntanımlı: 16, aralık: 0..16)"
++
++#: config/pdp11/pdp11.opt:23
++msgid "Generate code for an 11/10"
++msgstr "Kod bir 11/10 için üretilir"
++
++#: config/pdp11/pdp11.opt:27
++msgid "Generate code for an 11/40"
++msgstr "Kod bir 11/40 için üretilir"
++
++#: config/pdp11/pdp11.opt:31
++msgid "Generate code for an 11/45"
++msgstr "Kod bir 11/45 için üretilir"
++
++#: config/pdp11/pdp11.opt:35
++msgid "Use 16-bit abs patterns"
++msgstr "16 bitlik abs kalıpları kullanılır"
++
++#: config/pdp11/pdp11.opt:39
++msgid "Return floating-point results in ac0 (fr0 in Unix assembler syntax)"
++msgstr "ac0 (Unix çevirici sözdiziminde fr0)'daki kayan noktalı sonuçlar döner"
++
++#: config/pdp11/pdp11.opt:43
++msgid "Do not use inline patterns for copying memory"
++msgstr "Bellek kopyalama için satıriçi kalıplar kullanılmaz"
++
++#: config/pdp11/pdp11.opt:47
++msgid "Use inline patterns for copying memory"
++msgstr "Bellek kopyalama için satıriçi kalıplar kullanılır"
++
++#: config/pdp11/pdp11.opt:51
++msgid "Do not pretend that branches are expensive"
++msgstr "Dallanmalar pahalıymış gibi yapılmaz"
++
++#: config/pdp11/pdp11.opt:55
++msgid "Pretend that branches are expensive"
++msgstr "Dallanmalar pahalıymış gibi yapılır"
++
++#: config/pdp11/pdp11.opt:59
++msgid "Use the DEC assembler syntax"
++msgstr "DEC çevirici sözdizimi kullanılır"
++
++#: config/pdp11/pdp11.opt:63
++msgid "Use 32 bit float"
++msgstr "32 bitlik float kullanılır"
++
++#: config/pdp11/pdp11.opt:67
++msgid "Use 64 bit float"
++msgstr "64 bitlik float kullanılır"
++
++#: config/pdp11/pdp11.opt:75
++msgid "Use 16 bit int"
++msgstr "16 bitlik int kullanılır"
++
++#: config/pdp11/pdp11.opt:79
++msgid "Use 32 bit int"
++msgstr "32 bitlik int kullanılır"
++
++#: config/pdp11/pdp11.opt:87
++msgid "Target has split I&D"
++msgstr "Hedef ayrı işlem ve veri belleğine sahip olur"
++
++#: config/pdp11/pdp11.opt:91
++msgid "Use UNIX assembler syntax"
++msgstr "UNIX çevirici sözdizimi kullanılır"
++
++#: config/m68k/m68k.opt:23
++msgid "Generate code for a 520X"
++msgstr "520X için kod üretilir"
++
++#: config/m68k/m68k.opt:27
++msgid "Generate code for a 5206e"
++msgstr "5206e için kod üretilir"
++
++#: config/m68k/m68k.opt:31
++msgid "Generate code for a 528x"
++msgstr "528x için kod üretilir"
++
++#: config/m68k/m68k.opt:35
++msgid "Generate code for a 5307"
++msgstr "5307 için kod üretilir"
++
++#: config/m68k/m68k.opt:39
++msgid "Generate code for a 5407"
++msgstr "5407 için kod üretilir"
++
++#: config/m68k/m68k.opt:43 config/m68k/m68k.opt:104
++msgid "Generate code for a 68000"
++msgstr "68000 için kod üretilir"
++
++#: config/m68k/m68k.opt:47
++#, fuzzy
++msgid "Generate code for a 68010"
++msgstr "68000 için kod üretilir"
++
++#: config/m68k/m68k.opt:51 config/m68k/m68k.opt:108
++msgid "Generate code for a 68020"
++msgstr "68020 için kod üretilir"
++
++#: config/m68k/m68k.opt:55
++msgid "Generate code for a 68040, without any new instructions"
++msgstr "Hiçbir yeni komut olmaksızın 68040 için kod üretilir"
++
++#: config/m68k/m68k.opt:59
++msgid "Generate code for a 68060, without any new instructions"
++msgstr "Hiçbir yeni komut olmaksızın 68060 için kod üretilir"
++
++#: config/m68k/m68k.opt:63
++msgid "Generate code for a 68030"
++msgstr "68030 için kod üretilir"
++
++#: config/m68k/m68k.opt:67
++msgid "Generate code for a 68040"
++msgstr "68040 için kod üretilir"
++
++#: config/m68k/m68k.opt:71
++msgid "Generate code for a 68060"
++msgstr "68060 için kod üretilir"
++
++#: config/m68k/m68k.opt:75
++msgid "Generate code for a 68302"
++msgstr "68302 için kod üretilir"
++
++#: config/m68k/m68k.opt:79
++msgid "Generate code for a 68332"
++msgstr "68332 için kod üretilir"
++
++#: config/m68k/m68k.opt:84
++msgid "Generate code for a 68851"
++msgstr "68851 için kod üretilir"
++
++#: config/m68k/m68k.opt:88
++msgid "Generate code that uses 68881 floating-point instructions"
++msgstr "68881 kayan nokta komutlarını kullanan kod üretilir"
++
++#: config/m68k/m68k.opt:92
++msgid "Align variables on a 32-bit boundary"
++msgstr "Değişkenler 32 bitlik sınıra hizalanır"
++
++#: config/m68k/m68k.opt:100
++msgid "Use the bit-field instructions"
++msgstr "Bit alanı komutları kullanılır"
++
++#: config/m68k/m68k.opt:112
++#, fuzzy
++msgid "Generate code for a ColdFire v4e"
++msgstr "Kod M*Core M340 için üretilir"
++
++#: config/m68k/m68k.opt:116
++#, fuzzy
++msgid "Specify the target CPU"
++msgstr "Hedef MCU ismi belirtilir"
++
++#: config/m68k/m68k.opt:120
++msgid "Generate code for a cpu32"
++msgstr "Bir cpu32 için kod üretilir"
++
++#: config/m68k/m68k.opt:124
++#, fuzzy
++msgid "Use hardware division instructions on ColdFire"
++msgstr "Donanım bazlı quad fp komutları kullanılır"
++
++#: config/m68k/m68k.opt:128
++#, fuzzy
++msgid "Generate code for a Fido A"
++msgstr "Bir DLL için kod üretilir"
++
++#: config/m68k/m68k.opt:132
++#, fuzzy
++msgid "Generate code which uses hardware floating point instructions"
++msgstr "68881 kayan nokta komutlarını kullanan kod üretilir"
++
++#: config/m68k/m68k.opt:136
++msgid "Enable ID based shared library"
++msgstr "ID tabanlı paylaşımlı kütüphane etkin olur"
++
++#: config/m68k/m68k.opt:140
++msgid "Do not use the bit-field instructions"
++msgstr "Bit alanı komutları kullanılmaz"
++
++#: config/m68k/m68k.opt:144
++msgid "Use normal calling convention"
++msgstr "Normal çağrı uzlaşımı kullanılır"
++
++#: config/m68k/m68k.opt:148
++msgid "Consider type 'int' to be 32 bits wide"
++msgstr "`int' tür 32 bit genişlikte varsayılır"
++
++#: config/m68k/m68k.opt:152
++msgid "Generate pc-relative code"
++msgstr "PC'ye göre kod üretilir"
++
++#: config/m68k/m68k.opt:156
++msgid "Use different calling convention using 'rtd'"
++msgstr "'rtd' kullanılan farklı çağrı uzlaşımı kullanılır"
++
++#: config/m68k/m68k.opt:160 config/bfin/bfin.opt:61
++msgid "Enable separate data segment"
++msgstr "Ayrı veri bölütü etkin olur"
++
++#: config/m68k/m68k.opt:164 config/bfin/bfin.opt:57
++msgid "ID of shared library to build"
++msgstr "derlenecek paylaşımlı kütüphane kimligi"
++
++#: config/m68k/m68k.opt:168
++msgid "Consider type 'int' to be 16 bits wide"
++msgstr "`int' tür 16 bit genişlikte varsayılır"
++
++#: config/m68k/m68k.opt:172
++msgid "Generate code with library calls for floating point"
++msgstr "Gerçel sayılar için kitaplık çağrılarıyla kod üretilir"
++
++#: config/m68k/m68k.opt:176
++msgid "Do not use unaligned memory references"
++msgstr "Hizalamasız bellek referansları kullanılmaz"
++
++#: config/m68k/m68k.opt:180
++#, fuzzy
++msgid "Tune for the specified target CPU or architecture"
++msgstr "Hedef mimarinin ismi belirtilir"
++
++#: config/mmix/mmix.opt:24
++msgid "For intrinsics library: pass all parameters in registers"
++msgstr "Yerleşikler kitaplığı için: yazmaçlardaki tüm parametreler aktarılır"
++
++#: config/mmix/mmix.opt:28
++msgid "Use register stack for parameters and return value"
++msgstr "Parametreler ve dönüş değeri için yazmaç yığıtı kullanılır"
++
++#: config/mmix/mmix.opt:32
++msgid "Use call-clobbered registers for parameters and return value"
++msgstr "Parametreler ve dönüş değeri için çağrı taşırmalı yazmaçlar kullanılır"
++
++#: config/mmix/mmix.opt:37
++msgid "Use epsilon-respecting floating point compare instructions"
++msgstr "Epsilona ilişkin kayan nokta karşılaştırma komutları kullanılır"
++
++#: config/mmix/mmix.opt:41
++msgid "Use zero-extending memory loads, not sign-extending ones"
++msgstr "Uzunluğu değişmeyen bellek yükleri kullanılır"
++
++#: config/mmix/mmix.opt:45
++msgid "Generate divide results with reminder having the same sign as the divisor (not the dividend)"
++msgstr "Bölen (bölünen değil) ile aynı işarete sahip kalanlı bölme sonuçları üretilir"
++
++#: config/mmix/mmix.opt:49
++msgid "Prepend global symbols with \":\" (for use with PREFIX)"
++msgstr "Genel semboller \":\" ile öne eklenir (ÖNEK ile kullanmak için)"
++
++#: config/mmix/mmix.opt:53
++msgid "Do not provide a default start-address 0x100 of the program"
++msgstr "Programa bir öntanımlı başlatma adresi 0x100 sağlanmaz"
++
++#: config/mmix/mmix.opt:57
++msgid "Link to emit program in ELF format (rather than mmo)"
++msgstr "ELF biçimli program üretimine ilintiler (mmo dan baska)"
++
++#: config/mmix/mmix.opt:61
++msgid "Use P-mnemonics for branches statically predicted as taken"
++msgstr "Statik olarak alınmış olduğu önceden tahmin edilen dallanmalar için P-mnemonikleri kullanılır"
++
++#: config/mmix/mmix.opt:65
++msgid "Don't use P-mnemonics for branches"
++msgstr "Dallar için P-mnemonikleri kullanılmaz"
++
++#: config/mmix/mmix.opt:79
++msgid "Use addresses that allocate global registers"
++msgstr "Genel yazmaçları tahsis eden adresler kullanılır"
++
++#: config/mmix/mmix.opt:83
++msgid "Do not use addresses that allocate global registers"
++msgstr "Genel yazmaçları tahsis eden adresler kullanılmaz"
++
++#: config/mmix/mmix.opt:87
++msgid "Generate a single exit point for each function"
++msgstr "Her işlev için tek çıkış noktası üretilir"
++
++#: config/mmix/mmix.opt:91
++msgid "Do not generate a single exit point for each function"
++msgstr "Her işlev için tek çıkış noktası üretilmez"
++
++#: config/mmix/mmix.opt:95
++msgid "Set start-address of the program"
++msgstr "Programın başlangıç adresi belirtilir"
++
++#: config/mmix/mmix.opt:99
++msgid "Set start-address of data"
++msgstr "Verinin başlangıç adresi belirlenir"
++
++#: config/score/score.opt:31
++#, fuzzy
++msgid "Disable bcnz instruction"
++msgstr "AltiVec komutları kullanılır"
++
++#: config/score/score.opt:35
++#, fuzzy
++msgid "Enable unaligned load/store instruction"
++msgstr "DB komutunun kullanımı etkin olur"
++
++#: config/score/score.opt:39
++msgid "Support SCORE 5 ISA"
++msgstr ""
++
++#: config/score/score.opt:43
++msgid "Support SCORE 5U ISA"
++msgstr ""
++
++#: config/score/score.opt:47
++msgid "Support SCORE 7 ISA"
++msgstr ""
++
++#: config/score/score.opt:51
++msgid "Support SCORE 7D ISA"
++msgstr ""
++
++#: config/score/score.opt:55
++msgid "Support SCORE 3 ISA"
++msgstr ""
++
++#: config/score/score.opt:59
++msgid "Support SCORE 3d ISA"
++msgstr ""
++
++#: config/crx/crx.opt:23
++msgid "Support multiply accumulate instructions"
++msgstr "Çarpma-biriktirme komutları desteklenir"
++
++#: config/crx/crx.opt:27
++msgid "Do not use push to store function arguments"
++msgstr "İşlev argümanlarını saklamak için push kullanılmaz"
++
++#: config/crx/crx.opt:31
++msgid "Restrict doloop to the given nesting level"
++msgstr "doloop belirtilen iç içelik seviyesiyle sınırlanır"
++
++#: config/mt/mt.opt:23
++msgid "Use byte loads and stores when generating code."
++msgstr "Bayt yükleme ve saklama işlemleri kod üretilirken yapılır"
++
++#: config/mt/mt.opt:31
++msgid "Do not include crt0.o in the startup files"
++msgstr "Başlatma dosyalarında crt0.o içerilmez"
++
++#: config/mt/mt.opt:35 config/mt/mt.opt:39 config/mt/mt.opt:43
++#: config/mt/mt.opt:47 config/mt/mt.opt:51
++msgid "Internal debug switch"
++msgstr "Dahili hata ayıklama seçeneği"
++
++#: config/m68hc11/m68hc11.opt:23 config/m68hc11/m68hc11.opt:31
++msgid "Compile for a 68HC11"
++msgstr "68HC11 için derleme yapılır"
++
++#: config/m68hc11/m68hc11.opt:27 config/m68hc11/m68hc11.opt:35
++msgid "Compile for a 68HC12"
++msgstr "68HC12 için derleme yapılır"
++
++#: config/m68hc11/m68hc11.opt:41 config/m68hc11/m68hc11.opt:45
++msgid "Compile for a 68HCS12"
++msgstr "68HCS12 için derleme yapılır"
++
++#: config/m68hc11/m68hc11.opt:49
++msgid "Auto pre/post decrement increment allowed"
++msgstr "Özdevinimli önce/sonra eksiltme/arttırmaya izin verilir"
++
++#: config/m68hc11/m68hc11.opt:53
++msgid "Min/max instructions allowed"
++msgstr "Min/max komutlarına izin verilir"
++
++#: config/m68hc11/m68hc11.opt:57
++msgid "Use call and rtc for function calls and returns"
++msgstr "İşlev çağrıları ve dönüşleri için call ve rtc kullanılır"
++
++#: config/m68hc11/m68hc11.opt:61
++msgid "Auto pre/post decrement increment not allowed"
++msgstr "Özdevinimli önce/sonra eksiltme/arttırmaya izin verilmez"
++
++#: config/m68hc11/m68hc11.opt:65
++msgid "Use jsr and rts for function calls and returns"
++msgstr "İşlev çağrıları ve dönüşleri için jsr ve rts kullanılır"
++
++#: config/m68hc11/m68hc11.opt:69
++msgid "Min/max instructions not allowed"
++msgstr "Min/max komutlarına izin verilmez"
++
++#: config/m68hc11/m68hc11.opt:73
++msgid "Use direct addressing mode for soft registers"
++msgstr "Soft yazmaçlar için doğrudan adresleme kipi kullanılır"
++
++#: config/m68hc11/m68hc11.opt:77
++msgid "Compile with 32-bit integer mode"
++msgstr "32 bitlik tamsayı kiple derleme yapılır"
++
++#: config/m68hc11/m68hc11.opt:82
++msgid "Specify the register allocation order"
++msgstr "Yazmaç ayırma sırası belirtilir"
++
++#: config/m68hc11/m68hc11.opt:86
++msgid "Do not use direct addressing mode for soft registers"
++msgstr "Soft yazmaçlar için doğrudan adresleme kipi kullanılmaz"
++
++#: config/m68hc11/m68hc11.opt:90
++msgid "Compile with 16-bit integer mode"
++msgstr "16 bitlik tamsayı kiple derleme yapılır"
++
++#: config/m68hc11/m68hc11.opt:94
++msgid "Indicate the number of soft registers available"
++msgstr "Elverişli yazılım bazlı (soft) yazmaçları belirtir"
++
++#: config/fr30/fr30.opt:23
++msgid "Assume small address space"
++msgstr "Küçük adres alanı varsayılır"
++
++#: config/sparc/little-endian.opt:23
++msgid "Generate code for little-endian"
++msgstr "Kıymetsiz baytın başta olduğu kod üretilir"
++
++#: config/sparc/little-endian.opt:27
++msgid "Generate code for big-endian"
++msgstr "Kıymetli baytın başta olduğu kod üretilir"
++
++#: config/sparc/sparc.opt:23 config/sparc/sparc.opt:27
++msgid "Use hardware FP"
++msgstr "Donanım aritmetik işlemcisi kullanılır"
++
++#: config/sparc/sparc.opt:31
++msgid "Do not use hardware FP"
++msgstr "Donanım aritmetik işlemcisi kullanılmaz"
++
++#: config/sparc/sparc.opt:35
++msgid "Assume possible double misalignment"
++msgstr "double'ların yanlış hizalanmış olabilecekleri varsayılır"
++
++#: config/sparc/sparc.opt:39
++msgid "Pass -assert pure-text to linker"
++msgstr "İlintileyiciye -assert salt-metin gönderir"
++
++#: config/sparc/sparc.opt:43
++msgid "Use ABI reserved registers"
++msgstr "Ayrılmış ABI yazmaçları kullanılır"
++
++#: config/sparc/sparc.opt:47
++msgid "Use hardware quad FP instructions"
++msgstr "Donanım bazlı quad fp komutları kullanılır"
++
++#: config/sparc/sparc.opt:51
++msgid "Do not use hardware quad fp instructions"
++msgstr "Donanım bazlı quad fp komutları kullanılmaz"
++
++#: config/sparc/sparc.opt:55
++msgid "Compile for V8+ ABI"
++msgstr "V8+ ABI için derleme yapılır"
++
++#: config/sparc/sparc.opt:59
++msgid "Use UltraSPARC Visual Instruction Set extensions"
++msgstr "UltraSPARC Görsel Komut Kümesi eklentileri kullanılır"
++
++#: config/sparc/sparc.opt:63
++msgid "Pointers are 64-bit"
++msgstr "Göstericiler 64 bittir"
++
++#: config/sparc/sparc.opt:67
++msgid "Pointers are 32-bit"
++msgstr "Göstericiler 32 bittir"
++
++#: config/sparc/sparc.opt:71
++msgid "Use 64-bit ABI"
++msgstr "64-bit ABI kullanılır"
++
++#: config/sparc/sparc.opt:75
++msgid "Use 32-bit ABI"
++msgstr "32-bit ABI kullanılır"
++
++#: config/sparc/sparc.opt:79
++msgid "Use stack bias"
++msgstr "Yığıt sapması kullanır"
++
++#: config/sparc/sparc.opt:83
++msgid "Use structs on stronger alignment for double-word copies"
++msgstr "Çift-sözcüklü kopyalarda daha kuvvetli hizalama için struct (yapı) kullanılır"
++
++#: config/sparc/sparc.opt:87
++msgid "Optimize tail call instructions in assembler and linker"
++msgstr "Çevirici ve ilintileyicide kuyruk çağrı komutlarını eniyiler"
++
++#: config/sparc/sparc.opt:99
++msgid "Use given SPARC-V9 code model"
++msgstr "Belirtilen SPARC-V9 kod modeli kullanılır"
++
++#: config/sparc/sparc.opt:103
++msgid "Enable strict 32-bit psABI struct return checking."
++msgstr ""
++
++#: config/sh/superh.opt:6
++msgid "Board name [and memory region]."
++msgstr ""
++
++#: config/sh/superh.opt:10
++msgid "Runtime name."
++msgstr ""
++
+ #: config/sh/sh.opt:44
+ msgid "Generate SH1 code"
+ msgstr "SH1 kodu üretilir"
+@@ -13507,467 +14277,19 @@
+ msgid "Pretend a branch-around-a-move is a conditional move."
+ msgstr ""
+
+-#: config/sh/superh.opt:6
+-msgid "Board name [and memory region]."
+-msgstr ""
++#: config/vxworks.opt:24
++msgid "Assume the VxWorks RTP environment"
++msgstr "VxWorks RTP ortamı var sayılır"
+
+-#: config/sh/superh.opt:10
+-msgid "Runtime name."
+-msgstr ""
++#: config/vxworks.opt:31
++msgid "Assume the VxWorks vThreads environment"
++msgstr "VxWorks vThreads ortamı var sayılır"
+
+-#: config/arm/arm.opt:23
+-msgid "Specify an ABI"
+-msgstr "Bir ABI belirtilir"
++#: config/mips/sdemtk.opt:23
++#, fuzzy
++msgid "Prevent the use of all floating-point operations"
++msgstr "Tamamen donanım kayan nokta komutları kullanımını engeller"
+
+-#: config/arm/arm.opt:27
+-msgid "Generate a call to abort if a noreturn function returns"
+-msgstr "Değer döndürmeyen işlev değer döndürürse çıkış için çağrı üretilir"
+-
+-#: config/arm/arm.opt:34
+-msgid "Pass FP arguments in FP registers"
+-msgstr "FP argümanları FP yazmaçlarında aktarılır"
+-
+-#: config/arm/arm.opt:38
+-msgid "Generate APCS conformant stack frames"
+-msgstr "APCS uyumlu yığıt çerçeveleri üretilir"
+-
+-#: config/arm/arm.opt:42
+-msgid "Generate re-entrant, PIC code"
+-msgstr "Yeniden girişli PIC kodu üretilir"
+-
+-#: config/arm/arm.opt:56
+-msgid "Assume target CPU is configured as big endian"
+-msgstr "Hedef işlemci kıymetli baytın başta olduğu yapılandırmaya sahip kabul edilir"
+-
+-#: config/arm/arm.opt:60
+-msgid "Thumb: Assume non-static functions may be called from ARM code"
+-msgstr "Thumb: Statik olmayan işlevlerin ARM kodundan çağrılabileceğini varsayar"
+-
+-#: config/arm/arm.opt:64
+-msgid "Thumb: Assume function pointers may go to non-Thumb aware code"
+-msgstr "Thumb: İşlev göstericilerinin Thumb'dan habersiz kodu imleyebileceğini varsayar."
+-
+-#: config/arm/arm.opt:68
+-msgid "Cirrus: Place NOPs to avoid invalid instruction combinations"
+-msgstr "Cirrus: Geçersiz komut birleşimlerinden kaçınmak için NOPlar yerleştirilir"
+-
+-#: config/arm/arm.opt:72 config/bfin/bfin.opt:27
+-msgid "Specify the name of the target CPU"
+-msgstr "Hedef iÅŸlemcinin ismi belirtilir"
+-
+-#: config/arm/arm.opt:76
+-msgid "Specify if floating point hardware should be used"
+-msgstr "Eğer kayan nokta donanımı kulanılmalıysa belirtilir"
+-
+-#: config/arm/arm.opt:90
+-msgid "Specify the name of the target floating point hardware/format"
+-msgstr "Hedef kayan noktalı donanım/biçim ismi belirtilir"
+-
+-#: config/arm/arm.opt:94
+-msgid "Alias for -mfloat-abi=hard"
+-msgstr "-mfloat-abi=hard için takma isim"
+-
+-#: config/arm/arm.opt:98
+-msgid "Assume target CPU is configured as little endian"
+-msgstr "Hedef işlemci kıymetsiz baytın başta olduğu yapılandırmaya sahip kabul edilir"
+-
+-#: config/arm/arm.opt:102
+-msgid "Generate call insns as indirect calls, if necessary"
+-msgstr "Gerekliyse, çağrı komutları dolaylı çağrılar olarak üretilir"
+-
+-#: config/arm/arm.opt:106
+-msgid "Specify the register to be used for PIC addressing"
+-msgstr "PIC adresleme için kullanılacak yazmaç belirtilir"
+-
+-#: config/arm/arm.opt:110
+-msgid "Store function names in object code"
+-msgstr "İşlev isimleri nesne kodunda saklanır"
+-
+-#: config/arm/arm.opt:114
+-msgid "Permit scheduling of a function's prologue sequence"
+-msgstr "İşlev önbilgisi ardıllığının zamanlanmasına izin verilir"
+-
+-#: config/arm/arm.opt:118
+-msgid "Do not load the PIC register in function prologues"
+-msgstr "İşlev önbilgisinde PIC yazmacı yüklenmez"
+-
+-#: config/arm/arm.opt:122
+-msgid "Alias for -mfloat-abi=soft"
+-msgstr "-mfloat-abi=soft için takma isim"
+-
+-#: config/arm/arm.opt:126
+-msgid "Specify the minimum bit alignment of structures"
+-msgstr "Yapıların asgari bit hizalaması belirtilir"
+-
+-#: config/arm/arm.opt:130
+-msgid "Compile for the Thumb not the ARM"
+-msgstr "Thumb için derler, ARM için değil"
+-
+-#: config/arm/arm.opt:134
+-msgid "Support calls between Thumb and ARM instruction sets"
+-msgstr "Thumb ve ARM komut kümeleri arasındaki çağrılar desteklenir"
+-
+-#: config/arm/arm.opt:138
+-msgid "Specify how to access the thread pointer"
+-msgstr "Evre göstericisine nasıl erişileceği belirtilir"
+-
+-#: config/arm/arm.opt:142
+-msgid "Thumb: Generate (non-leaf) stack frames even if not needed"
+-msgstr "Thumb: Gerekmese dahi (uç olmayan) yığıt çerçeveleri üretilir "
+-
+-#: config/arm/arm.opt:146
+-msgid "Thumb: Generate (leaf) stack frames even if not needed"
+-msgstr "Thumb: Gerekmese dahi (uç) yığıt çerçeveleri üretilir"
+-
+-#: config/arm/arm.opt:150
+-msgid "Tune code for the given processor"
+-msgstr "Kod belirtilen işlemci için ayarlanır"
+-
+-#: config/arm/arm.opt:154
+-msgid "Assume big endian bytes, little endian words"
+-msgstr "Bayt sıralamasında kıymetli baytın başta, word sıralamasında ise sonda olduğu varsayılır"
+-
+-#: config/arm/arm.opt:158
+-msgid "Use Neon quad-word (rather than double-word) registers for vectorization"
+-msgstr ""
+-
+-#: config/arm/pe.opt:23
+-msgid "Ignore dllimport attribute for functions"
+-msgstr "İşlevler için dllimport özniteliği yoksayılır"
+-
+-#: config/pdp11/pdp11.opt:23
+-msgid "Generate code for an 11/10"
+-msgstr "Kod bir 11/10 için üretilir"
+-
+-#: config/pdp11/pdp11.opt:27
+-msgid "Generate code for an 11/40"
+-msgstr "Kod bir 11/40 için üretilir"
+-
+-#: config/pdp11/pdp11.opt:31
+-msgid "Generate code for an 11/45"
+-msgstr "Kod bir 11/45 için üretilir"
+-
+-#: config/pdp11/pdp11.opt:35
+-msgid "Use 16-bit abs patterns"
+-msgstr "16 bitlik abs kalıpları kullanılır"
+-
+-#: config/pdp11/pdp11.opt:39
+-msgid "Return floating-point results in ac0 (fr0 in Unix assembler syntax)"
+-msgstr "ac0 (Unix çevirici sözdiziminde fr0)'daki kayan noktalı sonuçlar döner"
+-
+-#: config/pdp11/pdp11.opt:43
+-msgid "Do not use inline patterns for copying memory"
+-msgstr "Bellek kopyalama için satıriçi kalıplar kullanılmaz"
+-
+-#: config/pdp11/pdp11.opt:47
+-msgid "Use inline patterns for copying memory"
+-msgstr "Bellek kopyalama için satıriçi kalıplar kullanılır"
+-
+-#: config/pdp11/pdp11.opt:51
+-msgid "Do not pretend that branches are expensive"
+-msgstr "Dallanmalar pahalıymış gibi yapılmaz"
+-
+-#: config/pdp11/pdp11.opt:55
+-msgid "Pretend that branches are expensive"
+-msgstr "Dallanmalar pahalıymış gibi yapılır"
+-
+-#: config/pdp11/pdp11.opt:59
+-msgid "Use the DEC assembler syntax"
+-msgstr "DEC çevirici sözdizimi kullanılır"
+-
+-#: config/pdp11/pdp11.opt:63
+-msgid "Use 32 bit float"
+-msgstr "32 bitlik float kullanılır"
+-
+-#: config/pdp11/pdp11.opt:67
+-msgid "Use 64 bit float"
+-msgstr "64 bitlik float kullanılır"
+-
+-#: config/pdp11/pdp11.opt:75
+-msgid "Use 16 bit int"
+-msgstr "16 bitlik int kullanılır"
+-
+-#: config/pdp11/pdp11.opt:79
+-msgid "Use 32 bit int"
+-msgstr "32 bitlik int kullanılır"
+-
+-#: config/pdp11/pdp11.opt:87
+-msgid "Target has split I&D"
+-msgstr "Hedef ayrı işlem ve veri belleğine sahip olur"
+-
+-#: config/pdp11/pdp11.opt:91
+-msgid "Use UNIX assembler syntax"
+-msgstr "UNIX çevirici sözdizimi kullanılır"
+-
+-#: config/avr/avr.opt:23
+-msgid "Use subroutines for function prologues and epilogues"
+-msgstr "İşlev önbilgisi/sonbilgisi için altyordamlar kullanılır"
+-
+-#: config/avr/avr.opt:27
+-msgid "Select the target MCU"
+-msgstr "Hedef MCU ismi belirtilir"
+-
+-#: config/avr/avr.opt:34
+-msgid "Use an 8-bit 'int' type"
+-msgstr "8 bitlik int kullanılır"
+-
+-#: config/avr/avr.opt:38
+-msgid "Change the stack pointer without disabling interrupts"
+-msgstr "Yığıt göstericisi kesmeler etkisizleştirilmeden değiştirilir"
+-
+-#: config/avr/avr.opt:42
+-msgid "Do not generate tablejump insns"
+-msgstr "Tablejump komutları üretilmez"
+-
+-#: config/avr/avr.opt:52
+-msgid "Use rjmp/rcall (limited range) on >8K devices"
+-msgstr ">8k aygıtlarda rjmp/rcall (sınırlı aralık) kullanılır"
+-
+-#: config/avr/avr.opt:56
+-msgid "Output instruction sizes to the asm file"
+-msgstr "Komut boyutlarını asm dosyasına çıktılar"
+-
+-#: config/avr/avr.opt:60
+-msgid "Change only the low 8 bits of the stack pointer"
+-msgstr "Yığıt göstericisinin sadece düşük 8 biti değiştirilir"
+-
+-#: config/crx/crx.opt:23
+-msgid "Support multiply accumulate instructions"
+-msgstr "Çarpma-biriktirme komutları desteklenir"
+-
+-#: config/crx/crx.opt:27
+-msgid "Do not use push to store function arguments"
+-msgstr "İşlev argümanlarını saklamak için push kullanılmaz"
+-
+-#: config/crx/crx.opt:31
+-msgid "Restrict doloop to the given nesting level"
+-msgstr "doloop belirtilen iç içelik seviyesiyle sınırlanır"
+-
+-#: config/c4x/c4x.opt:23
+-msgid "Generate code for C30 CPU"
+-msgstr "Kod C30 için üretilir"
+-
+-#: config/c4x/c4x.opt:27
+-msgid "Generate code for C31 CPU"
+-msgstr "Kod C31 için üretilir"
+-
+-#: config/c4x/c4x.opt:31
+-msgid "Generate code for C32 CPU"
+-msgstr "Kod C32 için üretilir"
+-
+-#: config/c4x/c4x.opt:35
+-msgid "Generate code for C33 CPU"
+-msgstr "Kod C33 için üretilir"
+-
+-#: config/c4x/c4x.opt:39
+-msgid "Generate code for C40 CPU"
+-msgstr "Kod C40 için üretilir"
+-
+-#: config/c4x/c4x.opt:43
+-msgid "Generate code for C44 CPU"
+-msgstr "Kod C44 için üretilir"
+-
+-#: config/c4x/c4x.opt:47
+-msgid "Assume that pointers may be aliased"
+-msgstr "Göstericilerin rumuzlu olabilecekleri varsayılır"
+-
+-#: config/c4x/c4x.opt:51
+-msgid "Big memory model"
+-msgstr "Büyük bellek modeli"
+-
+-#: config/c4x/c4x.opt:55
+-msgid "Use the BK register as a general purpose register"
+-msgstr "BK yazmacı genel amaçlı yazmaç olarak kullanılır"
+-
+-#: config/c4x/c4x.opt:59
+-msgid "Generate code for CPU"
+-msgstr "İşlemci için kod üretilir"
+-
+-#: config/c4x/c4x.opt:63
+-msgid "Enable use of DB instruction"
+-msgstr "DB komutunun kullanımı etkin olur"
+-
+-#: config/c4x/c4x.opt:67
+-msgid "Enable debugging"
+-msgstr "Hata ayıklama etkin olur"
+-
+-#: config/c4x/c4x.opt:71
+-msgid "Enable new features under development"
+-msgstr "Geliştirilmekte olan yeni özellikler etkin olur"
+-
+-#: config/c4x/c4x.opt:75
+-msgid "Use fast but approximate float to integer conversion"
+-msgstr "Kayan noktadan tamsayıya dönüşümler hızlı fakat sonuç yaklaşık olur"
+-
+-#: config/c4x/c4x.opt:79
+-msgid "Force RTL generation to emit valid 3 operand insns"
+-msgstr "RTL üretiminde geçerli 3 terimli komut üretmeye zorlar"
+-
+-#: config/c4x/c4x.opt:83
+-msgid "Force constants into registers to improve hoisting"
+-msgstr "Kaldırmayı iyileştirmek için sabitleri yazmaçlarda saklar"
+-
+-#: config/c4x/c4x.opt:87 config/c4x/c4x.opt:111
+-msgid "Save DP across ISR in small memory model"
+-msgstr "Küçük bellek modelinde DP'yi ISR'da saklar"
+-
+-#: config/c4x/c4x.opt:91
+-msgid "Allow unsigned iteration counts for RPTB/DB"
+-msgstr "RPTB/DB için yineleme sayılarının unsigned olmasına izin verir"
+-
+-#: config/c4x/c4x.opt:95
+-msgid "Pass arguments on the stack"
+-msgstr "Yığıttaki argümanlar aktarılır"
+-
+-#: config/c4x/c4x.opt:99
+-msgid "Use MPYI instruction for C3x"
+-msgstr "C3x için MPYI komutu kullanılır"
+-
+-#: config/c4x/c4x.opt:103
+-msgid "Enable parallel instructions"
+-msgstr "KoÅŸut komutlar etkin olur"
+-
+-#: config/c4x/c4x.opt:107
+-msgid "Enable MPY||ADD and MPY||SUB instructions"
+-msgstr "MPY||ADD ve MPY||SUB komutları etkin olur"
+-
+-#: config/c4x/c4x.opt:115
+-msgid "Preserve all 40 bits of FP reg across call"
+-msgstr "Çağrıda FP yazmacının bütün 40 bitini korur"
+-
+-#: config/c4x/c4x.opt:119
+-msgid "Pass arguments in registers"
+-msgstr "Yazmaçlardaki argümanlar aktarılır"
+-
+-#: config/c4x/c4x.opt:123
+-msgid "Enable use of RTPB instruction"
+-msgstr "RTPB komutunun kullanımı etkin olur"
+-
+-#: config/c4x/c4x.opt:127
+-msgid "Enable use of RTPS instruction"
+-msgstr "RTPS komutunun kullanımı etkin olur"
+-
+-#: config/c4x/c4x.opt:131
+-msgid "Set the maximum number of iterations for RPTS to N"
+-msgstr "RPTS için azami yineleme sayısını N yapar"
+-
+-#: config/c4x/c4x.opt:135
+-msgid "Small memory model"
+-msgstr "Küçük bellek modeli"
+-
+-#: config/c4x/c4x.opt:139
+-msgid "Emit code compatible with TI tools"
+-msgstr "TI araçları ile uyumlu kod üretilir"
+-
+-#: config/pa/pa-hpux.opt:23
+-msgid "Generate cpp defines for server IO"
+-msgstr "Sunucu G/Ç için cpp tanımları üretilir"
+-
+-#: config/pa/pa-hpux.opt:27 config/pa/pa-hpux1010.opt:23
+-#: config/pa/pa-hpux1111.opt:23
+-msgid "Specify UNIX standard for predefines and linking"
+-msgstr "Önceden tanımlamalar ve ilintileme için UNIX standardı belirtilir"
+-
+-#: config/pa/pa-hpux.opt:31
+-msgid "Generate cpp defines for workstation IO"
+-msgstr "İstemci G/Ç için cpp tanımları üretilir"
+-
+-#: config/pa/pa.opt:23 config/pa/pa.opt:76 config/pa/pa.opt:84
+-msgid "Generate PA1.0 code"
+-msgstr "PA1.0 kodu üretilir"
+-
+-#: config/pa/pa.opt:27 config/pa/pa.opt:88 config/pa/pa.opt:108
+-msgid "Generate PA1.1 code"
+-msgstr "PA1.1 kodu üretilir"
+-
+-#: config/pa/pa.opt:31 config/pa/pa.opt:92
+-msgid "Generate PA2.0 code (requires binutils 2.10 or later)"
+-msgstr "PA2.0 kodu üretilir (binutils 2.10 veya üstü gerekir)"
+-
+-#: config/pa/pa.opt:35
+-msgid "Generate code for huge switch statements"
+-msgstr "huge switch deyimleri için kod üretilir"
+-
+-#: config/pa/pa.opt:39
+-msgid "Disable FP regs"
+-msgstr "FP yazmaçları kapatılır"
+-
+-#: config/pa/pa.opt:43
+-msgid "Disable indexed addressing"
+-msgstr "İndisli adresleme kapatılır"
+-
+-#: config/pa/pa.opt:47
+-msgid "Generate fast indirect calls"
+-msgstr "Hızlı dolaylı çağrılar üretilir"
+-
+-#: config/pa/pa.opt:55
+-msgid "Assume code will be assembled by GAS"
+-msgstr "Kodun makina koduna GAS tarafından çevrileceği varsayılır"
+-
+-#: config/pa/pa.opt:59
+-msgid "Put jumps in call delay slots"
+-msgstr "jump'lar çağrı geciktirme yuvalarına konur"
+-
+-#: config/pa/pa.opt:64
+-msgid "Enable linker optimizations"
+-msgstr "Ä°lintileyici en iyilemesi etkinleÅŸtirilir"
+-
+-#: config/pa/pa.opt:68
+-msgid "Always generate long calls"
+-msgstr "long çağrıları daima üretilir"
+-
+-#: config/pa/pa.opt:72
+-msgid "Emit long load/store sequences"
+-msgstr "Uzun yükleme/saklama dizileri üretilir"
+-
+-#: config/pa/pa.opt:80
+-msgid "Disable space regs"
+-msgstr "space yazmaçları kapatılır"
+-
+-#: config/pa/pa.opt:96
+-msgid "Use portable calling conventions"
+-msgstr "Taşınabilir çağrı uzlaşımı kullanılır"
+-
+-#: config/pa/pa.opt:100
+-msgid "Specify CPU for scheduling purposes. Valid arguments are 700, 7100, 7100LC, 7200, 7300, and 8000"
+-msgstr "Zamanlama amacıyla işlemci belirtilir. Geçerli seçenekler: 700, 7100, 7100LC, 7200, 7300 ve 8000"
+-
+-#: config/pa/pa.opt:112
+-msgid "Do not disable space regs"
+-msgstr "space yazmaçları kapatılmaz"
+-
+-#: config/pa/pa64-hpux.opt:23
+-msgid "Assume code will be linked by GNU ld"
+-msgstr "Kodun GNU ld tarafından ilintileneceği varsayılır"
+-
+-#: config/pa/pa64-hpux.opt:27
+-msgid "Assume code will be linked by HP ld"
+-msgstr "Kodun HP ld tarafından ilintileneceği varsayılır"
+-
+-#: config/xtensa/xtensa.opt:23
+-msgid "Use CONST16 instruction to load constants"
+-msgstr "Sabitleri yüklemede CONST16 komutları kullanılır"
+-
+-#: config/xtensa/xtensa.opt:27
+-msgid "Enable fused multiply/add and multiply/subtract FP instructions"
+-msgstr "Birleşik çarpma/toplama ve çarpma/çıkarma FP komutları üretilir"
+-
+-#: config/xtensa/xtensa.opt:31
+-msgid "Use indirect CALLXn instructions for large programs"
+-msgstr "Büyük programlar için dolaylı CALLXn komutları kullanılır"
+-
+-#: config/xtensa/xtensa.opt:35
+-msgid "Automatically align branch targets to reduce branch penalties"
+-msgstr "Dallanma sorunlarını azaltmak için dal hedefleri otomatik olarak hizalanır."
+-
+-#: config/xtensa/xtensa.opt:39
+-msgid "Intersperse literal pools with code in the text section"
+-msgstr "Sabit kümeleri metin bölümündeki kodun arasına serpiştirilir"
+-
+-#: config/stormy16/stormy16.opt:24
+-msgid "Provide libraries for the simulator"
+-msgstr "Kütüphaneler benzeştirici için üretilir"
+-
+ #: config/mips/mips.opt:23
+ msgid "Generate code that conforms to the given ABI"
+ msgstr "Verilen ABI'ye uyumlu kod üretilir"
+@@ -14039,10 +14361,6 @@
+ msgid "Use little-endian byte order"
+ msgstr "Kıymetsiz baytın başta olduğu bayt sıralaması kullanılır"
+
+-#: config/mips/mips.opt:97 config/iq2000/iq2000.opt:31
+-msgid "Use ROM instead of RAM"
+-msgstr "RAM yerine ROM kullanılır"
+-
+ #: config/mips/mips.opt:101
+ msgid "Use NewABI-style %reloc() assembly operators"
+ msgstr "NewABI tarzi %reloc() asm işleçleri kullanılır"
+@@ -14213,10 +14531,6 @@
+ msgid "Optimize the output for PROCESSOR"
+ msgstr "Çıktı İŞLEMCİ için eniyilenir"
+
+-#: config/mips/mips.opt:265 config/iq2000/iq2000.opt:44
+-msgid "Put uninitialized constants in ROM (needs -membedded-data)"
+-msgstr "Ä°lklenmemiÅŸ sabitler ROM'a konur (-membedded-data gerektirir)"
+-
+ #: config/mips/mips.opt:269
+ msgid "Perform VR4130-specific alignment optimizations"
+ msgstr "VR4130'a özgü hizalama eniyilemeleri uygulanır"
+@@ -14225,367 +14539,6 @@
+ msgid "Lift restrictions on GOT size"
+ msgstr "GOT boyutlu sınırlamalar yükseltilir"
+
+-#: config/mips/sdemtk.opt:23
+-#, fuzzy
+-msgid "Prevent the use of all floating-point operations"
+-msgstr "Tamamen donanım kayan nokta komutları kullanımını engeller"
+-
+-#: config/fr30/fr30.opt:23
+-msgid "Assume small address space"
+-msgstr "Küçük adres alanı varsayılır"
+-
+-#: config/m68hc11/m68hc11.opt:23 config/m68hc11/m68hc11.opt:31
+-msgid "Compile for a 68HC11"
+-msgstr "68HC11 için derleme yapılır"
+-
+-#: config/m68hc11/m68hc11.opt:27 config/m68hc11/m68hc11.opt:35
+-msgid "Compile for a 68HC12"
+-msgstr "68HC12 için derleme yapılır"
+-
+-#: config/m68hc11/m68hc11.opt:41 config/m68hc11/m68hc11.opt:45
+-msgid "Compile for a 68HCS12"
+-msgstr "68HCS12 için derleme yapılır"
+-
+-#: config/m68hc11/m68hc11.opt:49
+-msgid "Auto pre/post decrement increment allowed"
+-msgstr "Özdevinimli önce/sonra eksiltme/arttırmaya izin verilir"
+-
+-#: config/m68hc11/m68hc11.opt:53
+-msgid "Min/max instructions allowed"
+-msgstr "Min/max komutlarına izin verilir"
+-
+-#: config/m68hc11/m68hc11.opt:57
+-msgid "Use call and rtc for function calls and returns"
+-msgstr "İşlev çağrıları ve dönüşleri için call ve rtc kullanılır"
+-
+-#: config/m68hc11/m68hc11.opt:61
+-msgid "Auto pre/post decrement increment not allowed"
+-msgstr "Özdevinimli önce/sonra eksiltme/arttırmaya izin verilmez"
+-
+-#: config/m68hc11/m68hc11.opt:65
+-msgid "Use jsr and rts for function calls and returns"
+-msgstr "İşlev çağrıları ve dönüşleri için jsr ve rts kullanılır"
+-
+-#: config/m68hc11/m68hc11.opt:69
+-msgid "Min/max instructions not allowed"
+-msgstr "Min/max komutlarına izin verilmez"
+-
+-#: config/m68hc11/m68hc11.opt:73
+-msgid "Use direct addressing mode for soft registers"
+-msgstr "Soft yazmaçlar için doğrudan adresleme kipi kullanılır"
+-
+-#: config/m68hc11/m68hc11.opt:77
+-msgid "Compile with 32-bit integer mode"
+-msgstr "32 bitlik tamsayı kiple derleme yapılır"
+-
+-#: config/m68hc11/m68hc11.opt:82
+-msgid "Specify the register allocation order"
+-msgstr "Yazmaç ayırma sırası belirtilir"
+-
+-#: config/m68hc11/m68hc11.opt:86
+-msgid "Do not use direct addressing mode for soft registers"
+-msgstr "Soft yazmaçlar için doğrudan adresleme kipi kullanılmaz"
+-
+-#: config/m68hc11/m68hc11.opt:90
+-msgid "Compile with 16-bit integer mode"
+-msgstr "16 bitlik tamsayı kiple derleme yapılır"
+-
+-#: config/m68hc11/m68hc11.opt:94
+-msgid "Indicate the number of soft registers available"
+-msgstr "Elverişli yazılım bazlı (soft) yazmaçları belirtir"
+-
+-#: config/vax/vax.opt:23 config/vax/vax.opt:27
+-msgid "Target DFLOAT double precision code"
+-msgstr "DFLOAT çift duyarlıklı kod hedeflenir"
+-
+-#: config/vax/vax.opt:31 config/vax/vax.opt:35
+-msgid "Generate GFLOAT double precision code"
+-msgstr "GFLOAT çift duyarlıklı kodu üretilir"
+-
+-#: config/vax/vax.opt:39
+-msgid "Generate code for GNU assembler (gas)"
+-msgstr "Kod GNU as (gas) için üretilir"
+-
+-#: config/vax/vax.opt:43
+-msgid "Generate code for UNIX assembler"
+-msgstr "Kod UNIX asm için üretilir"
+-
+-#: config/vax/vax.opt:47
+-msgid "Use VAXC structure conventions"
+-msgstr "VAXC yapı uzlaşımları kullanılır"
+-
+-#: config/cris/linux.opt:27
+-msgid "Together with -fpic and -fPIC, do not use GOTPLT references"
+-msgstr "-fpic ve -fPIC ile birlikte GOTPLT başvurularını kullanmayın"
+-
+-#: config/cris/cris.opt:45
+-msgid "Work around bug in multiplication instruction"
+-msgstr "Çarpma komutundaki hatanın oluru bulunur"
+-
+-#: config/cris/cris.opt:51
+-msgid "Compile for ETRAX 4 (CRIS v3)"
+-msgstr "ETRAX 4 (CRIS v3) için derleme yapılır"
+-
+-#: config/cris/cris.opt:56
+-msgid "Compile for ETRAX 100 (CRIS v8)"
+-msgstr "ETRAX 100 (CRIS v8) için derleme yapılır"
+-
+-#: config/cris/cris.opt:64
+-msgid "Emit verbose debug information in assembly code"
+-msgstr "Çevirici kodunda ayrıntılı hata ayıklama bilgisi üretilir"
+-
+-#: config/cris/cris.opt:71
+-msgid "Do not use condition codes from normal instructions"
+-msgstr "Normal komutlardaki koşul kodları kullanılmaz"
+-
+-#: config/cris/cris.opt:80
+-msgid "Do not emit addressing modes with side-effect assignment"
+-msgstr "Yan etki atamalı adresleme kipleri üretilmez"
+-
+-#: config/cris/cris.opt:89
+-msgid "Do not tune stack alignment"
+-msgstr "Yığıt hizalaması ayarlanmaz"
+-
+-#: config/cris/cris.opt:98
+-msgid "Do not tune writable data alignment"
+-msgstr "Yazılabilir veri hizalaması ayarlanmaz"
+-
+-#: config/cris/cris.opt:107
+-msgid "Do not tune code and read-only data alignment"
+-msgstr "Kod ve salt-okunur veri hizalaması ayarlanmaz"
+-
+-#: config/cris/cris.opt:116
+-msgid "Align code and data to 32 bits"
+-msgstr "Kod ve veri 32 bite hizalanır"
+-
+-#: config/cris/cris.opt:133
+-msgid "Don't align items in code or data"
+-msgstr "Kod ve verideki öğeler hizalanmaz"
+-
+-#: config/cris/cris.opt:142
+-msgid "Do not emit function prologue or epilogue"
+-msgstr "İşlev ön veya son bilgisi üretilmez"
+-
+-#: config/cris/cris.opt:149
+-msgid "Use the most feature-enabling options allowed by other options"
+-msgstr "Diğer seçenekler tarafından izin verilen çoğu özellik-etkinleştirme seçeneği kullanılır"
+-
+-#: config/cris/cris.opt:158
+-msgid "Override -mbest-lib-options"
+-msgstr "-mbest-lib-options geçersizleştirilir"
+-
+-#: config/cris/cris.opt:165
+-msgid "Generate code for the specified chip or CPU version"
+-msgstr "Verilen işlemci ya da yonga sürümü için kod üretir"
+-
+-#: config/cris/cris.opt:169
+-msgid "Tune alignment for the specified chip or CPU version"
+-msgstr "Belirtilen yonga veya işlemci sürümü için hizalama ayarlanır"
+-
+-#: config/cris/cris.opt:173
+-msgid "Warn when a stackframe is larger than the specified size"
+-msgstr "Bir yığıt bağlamı belirtilen boyuttan büyük olduğunda uyarır"
+-
+-#: config/cris/aout.opt:27
+-msgid "Compile for the MMU-less Etrax 100-based elinux system"
+-msgstr "MMU-suz Etrax 100-tabanlı elinux sistemi için derler"
+-
+-#: config/cris/aout.opt:33
+-msgid "For elinux, request a specified stack-size for this program"
+-msgstr "elinux için, bu programa belirli bir yığıt boyutu istenir"
+-
+-#: config/h8300/h8300.opt:23
+-msgid "Generate H8S code"
+-msgstr "H8S kodu üretilir"
+-
+-#: config/h8300/h8300.opt:27
+-msgid "Generate H8SX code"
+-msgstr "H8SX kodu üretilir"
+-
+-#: config/h8300/h8300.opt:31
+-msgid "Generate H8S/2600 code"
+-msgstr "H8S/2600 kodu üretilir"
+-
+-#: config/h8300/h8300.opt:35
+-msgid "Make integers 32 bits wide"
+-msgstr "Tamsayılar 32 bitlik yapılır"
+-
+-#: config/h8300/h8300.opt:42
+-msgid "Use registers for argument passing"
+-msgstr "Arguman aktarımı için yazmaçlar kullanılır"
+-
+-#: config/h8300/h8300.opt:46
+-msgid "Consider access to byte sized memory slow"
+-msgstr "Bayt bayt erişilen belleğin yavaş olduğu varsayılır"
+-
+-#: config/h8300/h8300.opt:50
+-msgid "Enable linker relaxing"
+-msgstr "Ä°lintileyici esnekliÄŸi etkin olur"
+-
+-#: config/h8300/h8300.opt:54
+-msgid "Generate H8/300H code"
+-msgstr "H8/300H kodu üretilir"
+-
+-#: config/h8300/h8300.opt:58
+-msgid "Enable the normal mode"
+-msgstr "Normal kip etkin olur"
+-
+-#: config/h8300/h8300.opt:62
+-msgid "Use H8/300 alignment rules"
+-msgstr "H8/300 hizalama kuralları kullanılır"
+-
+-#: config/v850/v850.opt:23
+-msgid "Use registers r2 and r5"
+-msgstr "r2 ve r5 yazmaçları kullanılır"
+-
+-#: config/v850/v850.opt:27
+-msgid "Use 4 byte entries in switch tables"
+-msgstr "Switch tablolarında 4 baytlık girdiler kullanılır"
+-
+-#: config/v850/v850.opt:31
+-msgid "Enable backend debugging"
+-msgstr "Arkayüz hata ayıklamasını etkin olur"
+-
+-#: config/v850/v850.opt:35
+-msgid "Do not use the callt instruction"
+-msgstr "callt komutu kullanılmaz"
+-
+-#: config/v850/v850.opt:39
+-msgid "Reuse r30 on a per function basis"
+-msgstr "Her işlev için r30 yeniden kullanılır"
+-
+-#: config/v850/v850.opt:43
+-msgid "Support Green Hills ABI"
+-msgstr "Green Hills ABI desteklenir"
+-
+-#: config/v850/v850.opt:47
+-msgid "Prohibit PC relative function calls"
+-msgstr "PC göreli işlev çağrılarını engeller"
+-
+-#: config/v850/v850.opt:51
+-msgid "Use stubs for function prologues"
+-msgstr "İşlev önbilgisi için koçan kullanılır"
+-
+-#: config/v850/v850.opt:55
+-msgid "Set the max size of data eligible for the SDA area"
+-msgstr "SDA alanı için uygun verinin azami boyunu belirler"
+-
+-#: config/v850/v850.opt:59
+-msgid "Enable the use of the short load instructions"
+-msgstr "short yükleme komutlarının kullanımı etkinleştirilir"
+-
+-#: config/v850/v850.opt:63
+-msgid "Same as: -mep -mprolog-function"
+-msgstr "Bunlarla aynı: -mep -mprolog-function"
+-
+-#: config/v850/v850.opt:67
+-msgid "Set the max size of data eligible for the TDA area"
+-msgstr "TDA alanı için uygun verinin azami boyunu belirler"
+-
+-#: config/v850/v850.opt:71
+-msgid "Enforce strict alignment"
+-msgstr "Kesin hizalamaya zorlar"
+-
+-#: config/v850/v850.opt:78
+-msgid "Compile for the v850 processor"
+-msgstr "v850 işlemci için derleme yapılır"
+-
+-#: config/v850/v850.opt:82
+-msgid "Compile for the v850e processor"
+-msgstr "v850e işlemci için derleme yapılır"
+-
+-#: config/v850/v850.opt:86
+-msgid "Compile for the v850e1 processor"
+-msgstr "v850e1 işlemci için derleme yapılır"
+-
+-#: config/v850/v850.opt:90
+-msgid "Set the max size of data eligible for the ZDA area"
+-msgstr "ZDA alanı için uygun verinin azami boyunu belirler"
+-
+-#: config/mmix/mmix.opt:24
+-msgid "For intrinsics library: pass all parameters in registers"
+-msgstr "Yerleşikler kitaplığı için: yazmaçlardaki tüm parametreler aktarılır"
+-
+-#: config/mmix/mmix.opt:28
+-msgid "Use register stack for parameters and return value"
+-msgstr "Parametreler ve dönüş değeri için yazmaç yığıtı kullanılır"
+-
+-#: config/mmix/mmix.opt:32
+-msgid "Use call-clobbered registers for parameters and return value"
+-msgstr "Parametreler ve dönüş değeri için çağrı taşırmalı yazmaçlar kullanılır"
+-
+-#: config/mmix/mmix.opt:37
+-msgid "Use epsilon-respecting floating point compare instructions"
+-msgstr "Epsilona ilişkin kayan nokta karşılaştırma komutları kullanılır"
+-
+-#: config/mmix/mmix.opt:41
+-msgid "Use zero-extending memory loads, not sign-extending ones"
+-msgstr "Uzunluğu değişmeyen bellek yükleri kullanılır"
+-
+-#: config/mmix/mmix.opt:45
+-msgid "Generate divide results with reminder having the same sign as the divisor (not the dividend)"
+-msgstr "Bölen (bölünen değil) ile aynı işarete sahip kalanlı bölme sonuçları üretilir"
+-
+-#: config/mmix/mmix.opt:49
+-msgid "Prepend global symbols with \":\" (for use with PREFIX)"
+-msgstr "Genel semboller \":\" ile öne eklenir (ÖNEK ile kullanmak için)"
+-
+-#: config/mmix/mmix.opt:53
+-msgid "Do not provide a default start-address 0x100 of the program"
+-msgstr "Programa bir öntanımlı başlatma adresi 0x100 sağlanmaz"
+-
+-#: config/mmix/mmix.opt:57
+-msgid "Link to emit program in ELF format (rather than mmo)"
+-msgstr "ELF biçimli program üretimine ilintiler (mmo dan baska)"
+-
+-#: config/mmix/mmix.opt:61
+-msgid "Use P-mnemonics for branches statically predicted as taken"
+-msgstr "Statik olarak alınmış olduğu önceden tahmin edilen dallanmalar için P-mnemonikleri kullanılır"
+-
+-#: config/mmix/mmix.opt:65
+-msgid "Don't use P-mnemonics for branches"
+-msgstr "Dallar için P-mnemonikleri kullanılmaz"
+-
+-#: config/mmix/mmix.opt:79
+-msgid "Use addresses that allocate global registers"
+-msgstr "Genel yazmaçları tahsis eden adresler kullanılır"
+-
+-#: config/mmix/mmix.opt:83
+-msgid "Do not use addresses that allocate global registers"
+-msgstr "Genel yazmaçları tahsis eden adresler kullanılmaz"
+-
+-#: config/mmix/mmix.opt:87
+-msgid "Generate a single exit point for each function"
+-msgstr "Her işlev için tek çıkış noktası üretilir"
+-
+-#: config/mmix/mmix.opt:91
+-msgid "Do not generate a single exit point for each function"
+-msgstr "Her işlev için tek çıkış noktası üretilmez"
+-
+-#: config/mmix/mmix.opt:95
+-msgid "Set start-address of the program"
+-msgstr "Programın başlangıç adresi belirtilir"
+-
+-#: config/mmix/mmix.opt:99
+-msgid "Set start-address of data"
+-msgstr "Verinin başlangıç adresi belirlenir"
+-
+-#: config/iq2000/iq2000.opt:23 config/mt/mt.opt:55
+-msgid "Specify CPU for code generation purposes"
+-msgstr "Kod üretim amacına yönelik işlemci belirtilir"
+-
+-#: config/iq2000/iq2000.opt:27
+-msgid "Specify CPU for scheduling purposes"
+-msgstr "Zamanlama kullanımı için işlemci belirtilir"
+-
+-#: config/iq2000/iq2000.opt:35
+-msgid "Use GP relative sdata/sbss sections"
+-msgstr "GP göreli sdata/sbss bolumleri kullanılır"
+-
+-#: config/iq2000/iq2000.opt:40
+-msgid "No default crt0.o"
+-msgstr "Ontanımlı crt0.o yok"
+-
+ #: config/bfin/bfin.opt:31
+ msgid "Omit frame pointer for leaf functions"
+ msgstr "Alt düzey işlevlerde çerçeve göstericisi ihmal edilir"
+@@ -14623,2086 +14576,2103 @@
+ msgid "Do stack checking using bounds in L1 scratch memory"
+ msgstr ""
+
+-#: config/mt/mt.opt:23
+-msgid "Use byte loads and stores when generating code."
+-msgstr "Bayt yükleme ve saklama işlemleri kod üretilirken yapılır"
++#: treelang/lang.opt:30
++msgid "Trace lexical analysis"
++msgstr "Sözdizimsel çözümleme izlenir"
+
+-#: config/mt/mt.opt:31
+-msgid "Do not include crt0.o in the startup files"
+-msgstr "Başlatma dosyalarında crt0.o içerilmez"
++#: treelang/lang.opt:34
++msgid "Trace the parsing process"
++msgstr "Ayırma işlemi izlenir"
+
+-#: config/mt/mt.opt:35 config/mt/mt.opt:39 config/mt/mt.opt:43
+-#: config/mt/mt.opt:47 config/mt/mt.opt:51
+-msgid "Internal debug switch"
+-msgstr "Dahili hata ayıklama seçeneği"
++#: java/lang.opt:65
++msgid "Warn if a deprecated compiler feature, class, method, or field is used"
++msgstr "Önerilmeyen özellik, sınıf, yöntem ya da alan bulunduğunda uyarır"
+
+-#: config/vxworks.opt:24
+-msgid "Assume the VxWorks RTP environment"
+-msgstr "VxWorks RTP ortamı var sayılır"
++#: java/lang.opt:69
++msgid "Warn if deprecated empty statements are found"
++msgstr "Önerilmeyen boş deyimler bulunduğunda uyarır"
+
+-#: config/vxworks.opt:31
+-msgid "Assume the VxWorks vThreads environment"
+-msgstr "VxWorks vThreads ortamı var sayılır"
++#: java/lang.opt:73
++msgid "Warn if .class files are out of date"
++msgstr ".class dosyaları güncel değilse uyarır"
+
+-#: config/darwin.opt:23
+-msgid "Generate code suitable for fast turn around debugging"
+-msgstr "Hatanın etrafından dolanan hızlı hata ayıklama için uygun kod üretilir"
++#: java/lang.opt:77
++msgid "Warn if modifiers are specified when not necessary"
++msgstr "Değistiriciler gereksizken belirtilmişse uyarır"
+
+-#: config/darwin.opt:31
+-msgid "The earliest MacOS X version on which this program will run"
+-msgstr "Bu programın çalışacağı en eski MacOS X sürümü"
++#: java/lang.opt:81
++msgid "Deprecated; use --classpath instead"
++msgstr "Artık önerilmiyor; yerine --classpath kullanın"
+
+-#: config/darwin.opt:35
+-msgid "Set sizeof(bool) to 1"
+-msgstr "sizeof(bool) 1'e ayarlanır"
++#: java/lang.opt:88
++msgid "Permit the use of the assert keyword"
++msgstr "assert anahtar sözcüğünün kullanımına izin verir"
+
+-#: config/darwin.opt:39
+-#, fuzzy
+-msgid "Generate code for darwin loadable kernel extensions"
+-msgstr "Hiçbir yeni komut olmaksızın 68040 için kod üretilir"
++#: java/lang.opt:110
++msgid "Replace system path"
++msgstr "Sistem dosya yolunu deÄŸiÅŸtirir"
+
+-#: config/darwin.opt:43
+-#, fuzzy
+-msgid "Generate code for the kernel or loadable kernel extensions"
+-msgstr "Verilen işlemci ya da yonga sürümü için kod üretir"
++#: java/lang.opt:114
++msgid "Generate checks for references to NULL"
++msgstr "NULL değerli başvurular için sınamalar üretir"
+
+-#: config/darwin.opt:47
+-#, fuzzy
+-msgid "Add <dir> to the end of the system framework include path"
+-msgstr "<dizin> ana çerçeve başlık dosyaları arama yolunun sonuna eklenir"
++#: java/lang.opt:118
++msgid "Set class path"
++msgstr "Sınıf dosya yolu ayarlanır"
+
+-#: config/lynx.opt:23
+-msgid "Support legacy multi-threading"
+-msgstr "Geleneksel çok evrelilik desteği"
++#: java/lang.opt:125
++msgid "Output a class file"
++msgstr "Bir sınıf dosyası çıktılar"
+
+-#: config/lynx.opt:27
+-msgid "Use shared libraries"
+-msgstr "Paylaşımlı kütüphaneler kullanılır"
++#: java/lang.opt:129
++msgid "Alias for -femit-class-file"
++msgstr "-femit-class-file ile aynı"
+
+-#: config/lynx.opt:31
+-msgid "Support multi-threading"
+-msgstr "Çok evrelilik desteklenir"
++#: java/lang.opt:133
++msgid "Choose input encoding (defaults from your locale)"
++msgstr "Girdi kodlaması seçilir (öntanımlısı yerelden gelir)"
+
+-#: config/score/score.opt:31
+-#, fuzzy
+-msgid "Disable bcnz instruction"
+-msgstr "AltiVec komutları kullanılır"
++#: java/lang.opt:137
++msgid "Set the extension directory path"
++msgstr "Eklenti arama yolu belirtilir"
+
+-#: config/score/score.opt:35
+-#, fuzzy
+-msgid "Enable unaligned load/store instruction"
+-msgstr "DB komutunun kullanımı etkin olur"
++#: java/lang.opt:144
++msgid "Input file is a file with a list of filenames to compile"
++msgstr "Girdi dosyası derlenecek dosyaların listesini içeren bir dosyadır"
+
+-#: config/score/score.opt:39
+-msgid "Support SCORE 5 ISA"
+-msgstr ""
++#: java/lang.opt:151
++msgid "Always check for non gcj generated classes archives"
++msgstr "gcj üretimi olmayan sınıfların arsivleri için daima sınama yapılır"
+
+-#: config/score/score.opt:43
+-msgid "Support SCORE 5U ISA"
+-msgstr ""
++#: java/lang.opt:155
++msgid "Assume the runtime uses a hash table to map an object to its synchronization structure"
++msgstr "Çalışma anında bir nesneyi kendi eşzamanlama yapısıyla eşlemede bir çittirme tablosu kullanıldığı varsayılır"
+
+-#: config/score/score.opt:47
+-msgid "Support SCORE 7 ISA"
++#: java/lang.opt:159
++msgid "Generate instances of Class at runtime"
+ msgstr ""
+
+-#: config/score/score.opt:51
+-msgid "Support SCORE 7D ISA"
+-msgstr ""
++#: java/lang.opt:163
++msgid "Use offset tables for virtual method calls"
++msgstr "Sanal yöntem çağrıları için adresleme tabloları kullanılır"
+
+-#: config/score/score.opt:55
+-msgid "Support SCORE 3 ISA"
+-msgstr ""
++#: java/lang.opt:170
++msgid "Assume native functions are implemented using JNI"
++msgstr "Yerli işlevlerin JNI kullanarak gerçeklendiği varsayılır"
+
+-#: config/score/score.opt:59
+-msgid "Support SCORE 3d ISA"
+-msgstr ""
++#: java/lang.opt:174
++msgid "Enable optimization of static class initialization code"
++msgstr "Statik sınıf ilklendirme kodunun eniyilemesi etkin olur"
+
+-#: config/linux.opt:24
+-#, fuzzy
+-msgid "Use uClibc instead of GNU libc"
+-msgstr "RAM yerine ROM kullanılır"
+-
+-#: config/linux.opt:28
+-#, fuzzy
+-msgid "Use GNU libc instead of uClibc"
+-msgstr "RAM yerine ROM kullanılır"
+-
+-#: c.opt:41
+-msgid "Assert the <answer> to <question>. Putting '-' before <question> disables the <answer> to <question>"
+-msgstr "<soru>ya <yanıt> olumlanır. <soru>dan önce '-' konursa <soru>ya <yanıt> iptal edilir"
+-
+-#: c.opt:45
+-msgid "Do not discard comments"
+-msgstr "Açıklamalar iptal edilmez"
+-
+-#: c.opt:49
+-msgid "Do not discard comments in macro expansions"
+-msgstr "Makro yorumlamalarında açıklamalar iptal edilmez"
+-
+-#: c.opt:53
+-msgid "Define a <macro> with <val> as its value. If just <macro> is given, <val> is taken to be 1"
+-msgstr "<makro>, <değer> değeriyle tanımlanır. Değer verilmezse 1 kabul edilir"
+-
+-#: c.opt:60
+-msgid "Add <dir> to the end of the main framework include path"
+-msgstr "<dizin> ana çerçeve başlık dosyaları arama yolunun sonuna eklenir"
+-
+-#: c.opt:64
+-msgid "Print the name of header files as they are used"
+-msgstr "Başlık dosyalarının isimleri kullanılmış gibi basılır"
+-
+-#: c.opt:68 c.opt:859
+-msgid "Add <dir> to the end of the main include path"
+-msgstr "<dizin> ana başlık dosyaları arama yolunun sonuna eklenir"
+-
+-#: c.opt:72
+-msgid "Generate make dependencies"
+-msgstr "make bağımlılıkları üretilir"
+-
+-#: c.opt:76
+-msgid "Generate make dependencies and compile"
+-msgstr "Make bağımlılıklarını üretir ve derler"
+-
+-#: c.opt:80
+-msgid "Write dependency output to the given file"
+-msgstr "Bağımlılık çıktısı belirtilen dosyaya yazılır"
+-
+-#: c.opt:84
+-msgid "Treat missing header files as generated files"
+-msgstr "Kayıp başlık dosyaları üretilen dosyalar olarak ele alınır"
+-
+-#: c.opt:88
+-msgid "Like -M but ignore system header files"
+-msgstr "-M gibi, ancak sistem başlık dosyaları yoksayılır"
+-
+-#: c.opt:92
+-msgid "Like -MD but ignore system header files"
+-msgstr "-MD gibi, ancak sistem başlık dosyaları yoksayılır"
+-
+-#: c.opt:96
+-msgid "Generate phony targets for all headers"
+-msgstr "Tüm başlıklar için sahte hedefler üretilir"
+-
+-#: c.opt:100
+-msgid "Add a MAKE-quoted target"
+-msgstr "MAKE tırnaklı hedef ekler"
+-
+-#: c.opt:104
+-msgid "Add an unquoted target"
+-msgstr "Tırnaklı hedef ekler"
+-
+-#: c.opt:108
+-msgid "Do not generate #line directives"
+-msgstr "#'li satır yönergeleri üretilmez"
+-
+-#: c.opt:112
+-msgid "Undefine <macro>"
+-msgstr "<makro> tanımsız yapılır"
+-
+-#: c.opt:116
+-msgid "Warn about things that will change when compiling with an ABI-compliant compiler"
+-msgstr "Bir ABI uyumlu derleyici ile derlerlerken değişecek herşey için uyarır"
+-
+-#: c.opt:120
+-#, fuzzy
+-msgid "Warn about suspicious uses of memory addresses"
+-msgstr "Kuşkulu \"main\" bildirimleri hakkında uyarır"
+-
+-#: c.opt:124
+-msgid "Enable most warning messages"
+-msgstr "Başlıca uyarı iletileri etkinleştirilir"
+-
+-#: c.opt:128
+-#, fuzzy
+-msgid "Warn if a comparison is always true or always false due to the limited range of the data type"
+-msgstr "veri türünün aralığı sınırlı olduğundan karşılaştırma sonucu daima yanlıştır"
+-
+-#: c.opt:132
+-msgid "Warn whenever an Objective-C assignment is being intercepted by the garbage collector"
+-msgstr "Bir nesnel-C ataması çöp toplayıcı tarafından her durduruluşta uyarır"
+-
+-#: c.opt:136
+-msgid "Warn about casting functions to incompatible types"
+-msgstr "İşlevlerin uyumsuz türlere dönüştürülmesi durumunda uyarır"
+-
+-#: c.opt:140
+-msgid "Warn about C constructs that are not in the common subset of C and C++"
+-msgstr "C ve C++'nın ortak altkümesinde olmayan C oluşumlarında uyarır"
+-
+-#: c.opt:144
+-#, fuzzy
+-msgid "Warn about C++ constructs whose meaning differs between ISO C++ 1998 and ISO C++ 200x"
+-msgstr "C ve C++'nın ortak altkümesinde olmayan C oluşumlarında uyarır"
+-
+-#: c.opt:148
+-msgid "Warn about casts which discard qualifiers"
+-msgstr "Niteleyicileri iptal eden tür dönüşümlerinde uyarır"
+-
+-#: c.opt:152
+-msgid "Warn about subscripts whose type is \"char\""
+-msgstr "Türü \"char\" olan dizi indislerinde uyarır"
+-
+-#: c.opt:156
+-#, fuzzy
+-msgid "Warn about variables that might be changed by \"longjmp\" or \"vfork\""
+-msgstr "değişken %q+D %<longjmp%> ya da %<vfork%> tarafından taşırılmış olabilir"
+-
+-#: c.opt:160
+-msgid "Warn about possibly nested block comments, and C++ comments spanning more than one physical line"
+-msgstr "İç içe açıklama satırları ile bir fiziksel satırdan fazla olan C++ açıklamalarında uyarır"
+-
+-#: c.opt:164
+-msgid "Synonym for -Wcomment"
+-msgstr "-Wcomment ile aynı"
+-
+-#: c.opt:168
+-msgid "Warn for implicit type conversions that may change a value"
++#: java/lang.opt:181
++msgid "Reduce the amount of reflection meta-data generated"
+ msgstr ""
+
+-#: c.opt:172
+-#, fuzzy
+-msgid "Warn for implicit type conversions between signed and unsigned integers"
+-msgstr "işaretli ve işaretsiz tamsayı ifadeler arasında karşılaştırma"
++#: java/lang.opt:185
++msgid "Enable assignability checks for stores into object arrays"
++msgstr "Nesne dizileri içinde saklamalar için atanabilirlik sınamaları etkin olur"
+
+-#: c.opt:176
+-msgid "Warn when all constructors and destructors are private"
+-msgstr "Tüm kurucu ve yıkıcılar private olduğunda uyarır"
++#: java/lang.opt:189
++msgid "Generate code for the Boehm GC"
++msgstr "Kod Boehm GC için üretilir"
+
+-#: c.opt:180
+-msgid "Warn when a declaration is found after a statement"
+-msgstr "Bir deyimden sonra gelen bir bildirimde uyarır"
++#: java/lang.opt:193
++msgid "Call a library routine to do integer divisions"
++msgstr "Tamsayı bölme yapacak bir kütüphane işlevi çağrılır"
+
+-#: c.opt:184
+-msgid "Warn about deprecated compiler features"
+-msgstr "Önerilmeyen derleyici özelliklerinde uyarır"
++#: java/lang.opt:197
++msgid "Generated should be loaded by bootstrap loader"
++msgstr "Üretilen önyükleyici tarafından yüklenmelidir"
+
+-#: c.opt:188
+-msgid "Warn about compile-time integer division by zero"
+-msgstr "Derleme anı sıfırla tamsayı bölme taşması için uyarır"
+-
+-#: c.opt:192
+-msgid "Warn about violations of Effective C++ style rules"
+-msgstr "Effective C++ tarzı kuralların çelişkilerinde uyarır"
+-
+-#: c.opt:196
+-#, fuzzy
+-msgid "Warn about an empty body in an if or else statement"
+-msgstr "%Helse gövdesi boş"
+-
+-#: c.opt:200
+-msgid "Warn about stray tokens after #elif and #endif"
+-msgstr "#elif ve #endif'ten sonraki serseri sözcüklerde uyarır"
+-
+-#: c.opt:208
+-#, fuzzy
+-msgid "This switch is deprecated; use -Werror=implicit-function-declaration instead"
+-msgstr "Önerilmiyor; yerine -Wextra kullanın"
+-
+-#: c.opt:212
+-msgid "Warn if testing floating point numbers for equality"
+-msgstr "Gerçek sayıların eşitlik sınamalarında uyarır"
+-
+-#: c.opt:216
+-msgid "Warn about printf/scanf/strftime/strfmon format string anomalies"
+-msgstr "printf/scanf/strftime/strfmon biçim dizgesi bozukluklarında uyarır"
+-
+-#: c.opt:220
+-msgid "Warn if passing too many arguments to a function for its format string"
+-msgstr "Bir işleve biçim dizgesinde çok fazla argüman aktarılırsa uyarır"
+-
+-#: c.opt:224
+-msgid "Warn about format strings that are not literals"
+-msgstr "Birer sabit olmayan biçim dizgelerinde uyarır"
+-
+-#: c.opt:228
+-#, fuzzy
+-msgid "Warn about format strings that contain NUL bytes"
+-msgstr "Birer sabit olmayan biçim dizgelerinde uyarır"
+-
+-#: c.opt:232
+-msgid "Warn about possible security problems with format functions"
+-msgstr "Biçimleme işlevleriyle ilgili olası güvenlik sorunları hakkında uyarır"
+-
+-#: c.opt:236
+-msgid "Warn about strftime formats yielding 2-digit years"
+-msgstr "2 haneli yıllara yer veren strftime biçimlerde uyarır"
+-
+-#: c.opt:240
+-msgid "Warn about zero-length formats"
+-msgstr "Sıfır uzunluklu biçimlerde uyarır"
+-
+-#: c.opt:247
+-msgid "Warn about variables which are initialized to themselves"
+-msgstr "Kendileriyle ilklendirilmiş değişkenlerde uyarır"
+-
+-#: c.opt:254
+-msgid "Warn about implicit function declarations"
+-msgstr "İşlevlerin örtük bildirimlerinde uyarır"
+-
+-#: c.opt:258
+-msgid "Warn when a declaration does not specify a type"
+-msgstr "Bir bildirimde tür belirtilmemişse uyarır"
+-
+-#: c.opt:262
+-msgid "Deprecated. This switch has no effect"
+-msgstr "Önerilmiyor. Bu seçenek etkisizdir."
+-
+-#: c.opt:266
+-msgid "Warn when there is a cast to a pointer from an integer of a different size"
+-msgstr "Farklı boyuttaki tamsayı türden göstericiye dönüşümde uyarır"
+-
+-#: c.opt:270
+-msgid "Warn about invalid uses of the \"offsetof\" macro"
+-msgstr "\"offsetof\" makrosunun geçersiz kullanımlarında uyarır"
+-
+-#: c.opt:274
+-msgid "Warn about PCH files that are found but not used"
+-msgstr "Kullanılmayan PCH dosyaları bulunduğunda uyarır"
+-
+-#: c.opt:278
+-msgid "Do not warn about using \"long long\" when -pedantic"
+-msgstr "-pedantic varken \"long long\" kullanımı hakkında uyarmaz"
+-
+-#: c.opt:282
+-msgid "Warn about suspicious declarations of \"main\""
+-msgstr "Kuşkulu \"main\" bildirimleri hakkında uyarır"
+-
+-#: c.opt:286
+-msgid "Warn about possibly missing braces around initializers"
+-msgstr "İlklendiricileri çevreleyen parantezler yoksa uyarır"
+-
+-#: c.opt:290
+-msgid "Warn about global functions without previous declarations"
+-msgstr "Önceden bildirilmemiş genel işlevler hakkında uyarır"
+-
+-#: c.opt:294
+-msgid "Warn about missing fields in struct initializers"
+-msgstr "Yapı ilklendiricilerinde eksik alanlar hakkında uyarır"
+-
+-#: c.opt:298
+-msgid "Warn about functions which might be candidates for format attributes"
+-msgstr "Biçim öznitelikleri için aday olabilecek işlevler hakkında uyarır"
+-
+-#: c.opt:302
+-msgid "Warn about user-specified include directories that do not exist"
+-msgstr "Kullanıcı tarafından belirtilen başlık dizinleri bulunamazsa uyarır"
+-
+-#: c.opt:306
+-msgid "Warn about function parameters declared without a type specifier in K&R-style functions"
++#: java/lang.opt:201
++msgid "Set the source language version"
+ msgstr ""
+
+-#: c.opt:310
+-msgid "Warn about global functions without prototypes"
+-msgstr "Prototipsiz genel işlevler hakkında uyarır"
+-
+-#: c.opt:314
+-msgid "Warn about use of multi-character character constants"
+-msgstr "Çok karakterli karakter sabitlerinin kullanımında uyarır"
+-
+-#: c.opt:318
+-msgid "Warn about \"extern\" declarations not at file scope"
+-msgstr "Dosya etki alanı içinde olmayan \"extern\" bildirimlerinde uyarır"
+-
+-#: c.opt:322
+-msgid "Warn when non-templatized friend functions are declared within a template"
+-msgstr "Şablonlanmamış kardeş işlevler bir şablonla bildirildiğinde uyarır"
+-
+-#: c.opt:326
+-msgid "Warn about non-virtual destructors"
+-msgstr "Sanal olmayan yıkıcılar hakkında uyarır"
+-
+-#: c.opt:330
+-msgid "Warn about NULL being passed to argument slots marked as requiring non-NULL"
+-msgstr "NULL olmama gerekliliği ile imlenmiş argüman yuvalarına NULL aktarılıyorsa uyarır"
+-
+-#: c.opt:334
+-msgid "Warn about non-normalised Unicode strings"
+-msgstr "Normalleştirilmemiş Unicode dizgelerinde uyarır"
+-
+-#: c.opt:338
+-msgid "Warn if a C-style cast is used in a program"
+-msgstr "Bir yazılımda C tarzı tür dönüşümü kullanılmışsa uyarır"
+-
+-#: c.opt:342
++#: java/lang.opt:205
+ #, fuzzy
+-msgid "Warn for obsolescent usage in a declaration"
+-msgstr "İşlevlerin örtük bildirimlerinde uyarır"
++msgid "Set the target VM version"
++msgstr "Hedef işlemcinin türü belirtilir"
+
+-#: c.opt:346
+-msgid "Warn if an old-style parameter definition is used"
+-msgstr "Eski tarz parametre tanımı kullanılmamışsa uyarır"
+-
+-#: c.opt:350
+-msgid "Warn if a string is longer than the maximum portable length specified by the standard"
+-msgstr ""
+-
+-#: c.opt:354
+-msgid "Warn about overloaded virtual function names"
+-msgstr "Aşırı yüklü sanal işlev isimleri hakkında uyarır"
+-
+-#: c.opt:358
+-#, fuzzy
+-msgid "Warn about overriding initializers without side effects"
+-msgstr "Kendileriyle ilklendirilmiş değişkenlerde uyarır"
+-
+-#: c.opt:362
+-msgid "Warn about possibly missing parentheses"
+-msgstr "Olası eksik parantezler hakkında uyarır"
+-
+-#: c.opt:366
+-msgid "Warn when converting the type of pointers to member functions"
+-msgstr "Üye işlev göstericilerinin tür dönüşümlerinde uyarır"
+-
+-#: c.opt:370
+-msgid "Warn about function pointer arithmetic"
+-msgstr "İşlev gösterici aritmetiği hakkında uyarır"
+-
+-#: c.opt:374
+-msgid "Warn when a pointer is cast to an integer of a different size"
+-msgstr "Bir göstericiden farklı tamsayı türlere dönüşümde uyarır"
+-
+-#: c.opt:378
+-msgid "Warn about misuses of pragmas"
+-msgstr "Pragmaların yanlış kullanımı hakkında uyarır"
+-
+-#: c.opt:382
+-msgid "Warn if inherited methods are unimplemented"
+-msgstr "Kalıt yöntemler gerçeklenmemişse uyarır"
+-
+-#: c.opt:386
+-msgid "Warn about multiple declarations of the same object"
+-msgstr "Aynı nesne birden fazla bildirilmişse uyarır"
+-
+-#: c.opt:390
+-msgid "Warn when the compiler reorders code"
+-msgstr "Derleyici kodu yeniden sıralarken uyarır"
+-
+-#: c.opt:394
+-msgid "Warn whenever a function's return type defaults to \"int\" (C), or about inconsistent return types (C++)"
+-msgstr "Bir işlevin dönüş türü öntanımlı \"int\" ise (C'de) ya da uyumsuz dönüş türlerinde (C++'da) uyarır"
+-
+-#: c.opt:398
+-msgid "Warn if a selector has multiple methods"
+-msgstr "Bir seçici çok sayıda yönteme sahipse uyarır"
+-
+-#: c.opt:402
+-msgid "Warn about possible violations of sequence point rules"
+-msgstr "Ardışık nokta kurallarının olası çelişkileri hakkında uyarır"
+-
+-#: c.opt:406
+-msgid "Warn about signed-unsigned comparisons"
+-msgstr "signed/unsigned karşılaştırmalarında uyarır"
+-
+-#: c.opt:410
+-msgid "Warn when overload promotes from unsigned to signed"
+-msgstr "unsigned'dan signed'a yükseltmeler aşırı yüklendiğinde uyarır"
+-
+-#: c.opt:414
+-msgid "Warn about uncasted NULL used as sentinel"
+-msgstr "Nöbetçi olarak dönüşümsüz NULL kullanımında uyarır"
+-
+-#: c.opt:418
+-msgid "Warn about unprototyped function declarations"
+-msgstr "Prototipsiz işlev bildirimlerinde uyarır"
+-
+-#: c.opt:422
+-msgid "Warn if type signatures of candidate methods do not match exactly"
+-msgstr "Aday yöntemlerin tür imzaları uyuşmadığında uyarır"
+-
+-#: c.opt:426
+-msgid "Warn when synthesis behavior differs from Cfront"
+-msgstr "Sentezleme davranışı Cfront'dan farklıysa uyarır"
+-
+-#: c.opt:430 common.opt:182
+-msgid "Do not suppress warnings from system headers"
+-msgstr "Sistem başlık dosyalarındaki uyarılar engellenmez"
+-
+-#: c.opt:434
+-msgid "Warn about features not present in traditional C"
+-msgstr "Geleneksel C'de olmayan özelliklerde uyarır"
+-
+-#: c.opt:438
+-msgid "Warn of prototypes causing type conversions different from what would happen in the absence of prototype"
+-msgstr ""
+-
+-#: c.opt:442
+-msgid "Warn if trigraphs are encountered that might affect the meaning of the program"
+-msgstr "Yazılımın anlamını etkileyebilecek üçlü harfler saptanırsa uyarır"
+-
+-#: c.opt:446
+-msgid "Warn about @selector()s without previously declared methods"
+-msgstr "Evvelce bildirilmiş yöntemler olmaksızın @selector()'ler varsa uyarır"
+-
+-#: c.opt:450
+-msgid "Warn if an undefined macro is used in an #if directive"
+-msgstr "#if yönergesinde tanımsız makro kullanılmışsa uyarır"
+-
+-#: c.opt:454
+-msgid "Warn about unrecognized pragmas"
+-msgstr "Tanınmayan pragmalar hakkında uyarır"
+-
+-#: c.opt:458
+-msgid "Warn about macros defined in the main file that are not used"
+-msgstr "Kullanılmayan ana dosyada tanımlı makro hakkında uyarır"
+-
+-#: c.opt:462
+-msgid "Do not warn about using variadic macros when -pedantic"
+-msgstr "-pedantic varken değişkin makroların kullanımı durumunda uyarır"
+-
+-#: c.opt:466
+-#, fuzzy
+-msgid "Warn if a variable length array is used"
+-msgstr "Bir değişken kullanılmamışsa uyarır"
+-
+-#: c.opt:470
+-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.opt:474
+-msgid "Warn when a pointer differs in signedness in an assignment"
+-msgstr "Bir atamada bir göstericinin türü farklı sign'lı ise uyarır."
+-
+-#: c.opt:478
+-msgid "A synonym for -std=c89 (for C) or -std=c++98 (for C++)"
+-msgstr "-std=c89 (C için) veya -std=c++98 (C++ için) ile aynı."
+-
+-#: c.opt:486
+-msgid "Enforce class member access control semantics"
+-msgstr "Sınıf üyesi erişim denetimi kurallarına uyulur"
+-
+-#: c.opt:493
+-msgid "Change when template instances are emitted"
+-msgstr "Şablon örneklemeleri çıktılanırken değiştirilir"
+-
+-#: c.opt:497
+-msgid "Recognize the \"asm\" keyword"
+-msgstr "\"asm\" anahtar sözcüğü tanınır"
+-
+-#: c.opt:501
+-msgid "Recognize built-in functions"
+-msgstr "Yerleşik işlevler tanınır"
+-
+-#: c.opt:508
+-msgid "Check the return value of new"
+-msgstr "new için dönüş değeri sınanır"
+-
+-#: c.opt:512
+-msgid "Allow the arguments of the '?' operator to have different types"
+-msgstr "? işlecinin argümanlarında farklı türlere izin verilir"
+-
+-#: c.opt:516
+-msgid "Reduce the size of object files"
+-msgstr "Nesne dosyalarını küçültür"
+-
+-#: c.opt:520
+-msgid "Use class <name> for constant strings"
+-msgstr "Sabit dizgeleri için <isim> sınıfı kullanılır"
+-
+-#: c.opt:524
+-msgid "Inline member functions by default"
+-msgstr "Öntanımlı olarak üye işlevler satıriçi yapılır"
+-
+-#: c.opt:528
+-#, fuzzy
+-msgid "Preprocess directives only."
+-msgstr "#ident yönergeleri işlenir"
+-
+-#: c.opt:532
+-msgid "Permit '$' as an identifier character"
+-msgstr "Betimleyici karakter olarak '$' kullanılabilir"
+-
+-#: c.opt:539
+-msgid "Generate code to check exception specifications"
+-msgstr "Olağan dışılık belirtimlerini sınayacak kod üretilir"
+-
+-#: c.opt:546
+-msgid "Convert all strings and character constants to character set <cset>"
+-msgstr "Tüm dizgeler ve karakter sabitleri <kküme> karakter kümesine dönüştürülür"
+-
+-#: c.opt:550
+-msgid "Permit universal character names (\\u and \\U) in identifiers"
+-msgstr "Betimleyicilerde evrensel karakter isimleri (\\u ve \\U) kullanılabilir"
+-
+-#: c.opt:554
+-msgid "Specify the default character set for source files"
+-msgstr "Kaynak dosyaları için öntanımlı karakter kümesi belirtilir."
+-
+-#: c.opt:562
+-msgid "Scope of for-init-statement variables is local to the loop"
+-msgstr "For döngüsü ilklendirme deyimi değişkenlerinin etki alanı döngüye yereldir"
+-
+-#: c.opt:566
+-msgid "Do not assume that standard C libraries and \"main\" exist"
+-msgstr "Standart kitaplıklarının ve \"main\" işlevinin varolduğu varsayılmaz"
+-
+-#: c.opt:570
+-msgid "Recognize GNU-defined keywords"
+-msgstr "GNU tanımlı anahtar sözcükler tanınır"
+-
+-#: c.opt:574
+-msgid "Generate code for GNU runtime environment"
+-msgstr "Kod GNU çalışma anı ortamı için üretilir"
+-
+-#: c.opt:578
+-#, fuzzy
+-msgid "Use traditional GNU semantics for inline functions"
+-msgstr "geleneksel C union ilklendirmesini reddeder"
+-
+-#: c.opt:591
+-msgid "Assume normal C execution environment"
+-msgstr "Normal C çalıştırma ortamı var sayılır"
+-
+-#: c.opt:595
+-msgid "Enable support for huge objects"
+-msgstr "Dev nesneler için destek etkinleştirilir"
+-
+-#: c.opt:599
+-msgid "Export functions even if they can be inlined"
+-msgstr "Satıriçine alınmış olsalar bile işlevler ihraç edilir"
+-
+-#: c.opt:603
+-msgid "Emit implicit instantiations of inline templates"
+-msgstr "Satıriçi şablonların örtük örneklenimleri çıktılanır"
+-
+-#: c.opt:607
+-msgid "Emit implicit instantiations of templates"
+-msgstr "Şablonlarının örtük örneklenimleri çıktılanır"
+-
+-#: c.opt:611
+-msgid "Inject friend functions into enclosing namespace"
+-msgstr "Kardeş işlevler kapsayan isi alanına gömülür"
+-
+-#: c.opt:618
+-msgid "Allow implicit conversions between vectors with differing numbers of subparts and/or differing element types."
+-msgstr ""
+-
+-#: c.opt:622
+-msgid "Don't warn about uses of Microsoft extensions"
+-msgstr "Microsoft oluşumlarının kullanımında uyarmaz"
+-
+-#: c.opt:632
+-msgid "Generate code for NeXT (Apple Mac OS X) runtime environment"
+-msgstr "Kod NeXT (Apple Mac OS X) çalışma ortamı için üretilir"
+-
+-#: c.opt:636
+-msgid "Assume that receivers of Objective-C messages may be nil"
+-msgstr "Nesnel-C iletileri alıcılarının nil olabileceği varsayılır"
+-
+-#: c.opt:648
+-msgid "Generate special Objective-C methods to initialize/destroy non-POD C++ ivars, if needed"
+-msgstr "Gerekirse, POD-dışı C++ ivar'ları ilklendirecek/yıkacak özel Nesnel-C yöntemleri üretilir"
+-
+-#: c.opt:652
+-msgid "Allow fast jumps to the message dispatcher"
+-msgstr "İleti dağıtıcıya hızlı jump'lara izin verilir"
+-
+-#: c.opt:658
+-msgid "Enable Objective-C exception and synchronization syntax"
+-msgstr "Nesnel-C olağan dışılık ve eşzamanlama söz dizimi etkinleştirilir"
+-
+-#: c.opt:662
+-msgid "Enable garbage collection (GC) in Objective-C/Objective-C++ programs"
+-msgstr "Nesnel-C/Nesnel-C++ yazılımlarda çöp toplayıcı (GC) etkin olur"
+-
+-#: c.opt:667
+-msgid "Enable Objective-C setjmp exception handling runtime"
+-msgstr "Nesnel-C setjmp olağan dışılığını yakalama çalışma anı etkin olur"
+-
+-#: c.opt:671
+-#, fuzzy
+-msgid "Enable OpenMP"
+-msgstr "Hata ayıklama etkin olur"
+-
+-#: c.opt:675
+-msgid "Recognize C++ kewords like \"compl\" and \"xor\""
+-msgstr "\"compl\" ve \"xor\" benzeri C++ anahtar sözcükleri tanınır"
+-
+-#: c.opt:679
+-msgid "Enable optional diagnostics"
+-msgstr "Seçimlik teşhisler etkin olur"
+-
+-#: c.opt:686
+-msgid "Look for and use PCH files even when preprocessing"
+-msgstr "Önişlem yaparken bile PCH dosyalarına bakılır ve kullanılır"
+-
+-#: c.opt:690
+-msgid "Downgrade conformance errors to warnings"
+-msgstr "Uyumluluk hatalarını uyarılara indirger"
+-
+-#: c.opt:694
+-msgid "Treat the input file as already preprocessed"
+-msgstr "Girdi dosyaları evvelce önişlemden geçirilmiş kabul edilir"
+-
+-#: c.opt:698
+-msgid "Used in Fix-and-Continue mode to indicate that object files may be swapped in at runtime"
+-msgstr "Nesne dosyalarının çalışma anında takaslanabileceğini belirten Fix-and-Continue kipi kullanılır"
+-
+-#: c.opt:702
+-msgid "Enable automatic template instantiation"
+-msgstr "Özdevinimli şablon örneklenimi etkin olur"
+-
+-#: c.opt:706
+-msgid "Generate run time type descriptor information"
+-msgstr "Çalışma anı tür tanımlayıcı bilgisi üretilir"
+-
+-#: c.opt:710
+-msgid "Use the same size for double as for float"
+-msgstr "double türler için de float tür genişliği kullanılır"
+-
+-#: c.opt:718
+-msgid "Force the underlying type for \"wchar_t\" to be \"unsigned short\""
+-msgstr "\"wchar_t\" için temel türün \"unsigned short\" olmasını sağlar"
+-
+-#: c.opt:722
+-msgid "When \"signed\" or \"unsigned\" is not given make the bitfield signed"
+-msgstr "\"signed\" veya \"unsigned\" verilmezse bit alanı sign'lı yapılır"
+-
+-#: c.opt:726
+-msgid "Make \"char\" signed by default"
+-msgstr "Öntanımlı olarak \"char\" sign'lı yapılır"
+-
+-#: c.opt:733
+-msgid "Display statistics accumulated during compilation"
+-msgstr "Derleme sırasında toplanan istatistikler gösterilir"
+-
+-#: c.opt:740
+-msgid "Distance between tab stops for column reporting"
+-msgstr "Sütunlu raporlama için sekme durakları arası mesafe"
+-
+-#: c.opt:744
+-msgid "Specify maximum template instantiation depth"
+-msgstr "Azami şablon örnekleme derinliği belirtilir"
+-
+-#: c.opt:751
+-msgid "Do not generate thread-safe code for initializing local statics"
+-msgstr "Yerel istatistiklerin ilklendirilmesi için evrece güvenli kod üretilmez"
+-
+-#: c.opt:755
+-msgid "When \"signed\" or \"unsigned\" is not given make the bitfield unsigned"
+-msgstr "\"signed\" veya \"unsigned\" verilmediğinde bit alanı unsigned olur"
+-
+-#: c.opt:759
+-msgid "Make \"char\" unsigned by default"
+-msgstr "\"char\" öntanımlı olarak unsigned yapılır"
+-
+-#: c.opt:763
+-msgid "Use __cxa_atexit to register destructors"
+-msgstr "Yazmaç yıkıcılara __cxa_atexit kullanılır"
+-
+-#: c.opt:767
+-msgid "Use __cxa_get_exception_ptr in exception handling"
+-msgstr ""
+-
+-#: c.opt:771
+-msgid "Marks all inlined methods as having hidden visibility"
+-msgstr "Tüm satıriçine alınmış yöntemler gizli görünürlüğe sahip olarak imlenir"
+-
+-#: c.opt:775
+-msgid "Changes visibility to match Microsoft Visual Studio by default"
+-msgstr ""
+-
+-#: c.opt:779
+-msgid "Discard unused virtual functions"
+-msgstr "Kullanılmayan sanal işlevler iptal edilir"
+-
+-#: c.opt:783
+-msgid "Implement vtables using thunks"
+-msgstr "Sanal tablolar 16/32 bit dönüştürücülerle gerçeklenir"
+-
+-#: c.opt:787
+-msgid "Emit common-like symbols as weak symbols"
+-msgstr "Benzer semboller zayıf semboller olarak ele alınir"
+-
+-#: c.opt:791
+-msgid "Convert all wide strings and character constants to character set <cset>"
+-msgstr "Tüm geniş karakterli dizgeler ve sabitler <kküme> karakter kümesine dönüştürülür"
+-
+-#: c.opt:795
+-msgid "Generate a #line directive pointing at the current working directory"
+-msgstr "O anki çalışma dizinini betimleyen bir #line yönergesi üretilir"
+-
+-#: c.opt:799
+-msgid "Emit cross referencing information"
+-msgstr "Çapraz atıflama bilgisi yayınlanır"
+-
+-#: c.opt:803
+-msgid "Generate lazy class lookup (via objc_getClass()) for use in Zero-Link mode"
+-msgstr "Zero-Link kipinde kullanmak için çılgın sınıf araması (objc_getClass() üzerinden) üretilir"
+-
+-#: c.opt:807
+-msgid "Dump declarations to a .decl file"
+-msgstr "Bildirimler bir .decl dosyasına dökümlenir"
+-
+-#: c.opt:811
+-msgid "Aggressive reduced debug info for structs"
+-msgstr ""
+-
+-#: c.opt:815
+-msgid "Conservative reduced debug info for structs"
+-msgstr ""
+-
+-#: c.opt:819
+-msgid "Detailed reduced debug info for structs"
+-msgstr ""
+-
+-#: c.opt:823 c.opt:855
+-msgid "Add <dir> to the end of the system include path"
+-msgstr "<dizin> sistem başlık dosyaları arama yolunun sonuna eklenir"
+-
+-#: c.opt:827
+-msgid "Accept definition of macros in <file>"
+-msgstr "<dosya>daki makro tanımları kabul edilir"
+-
+-#: c.opt:831
+-msgid "-imultilib <dir> Set <dir> to be the multilib include subdirectory"
+-msgstr ""
+-
+-#: c.opt:835
+-msgid "Include the contents of <file> before other files"
+-msgstr "<dosya>nın içeriği diğer dosyaların başlangıcına eklenir"
+-
+-#: c.opt:839
+-msgid "Specify <path> as a prefix for next two options"
+-msgstr "<yol> sonraki iki seçenek için önek olur"
+-
+-#: c.opt:843
+-msgid "Set <dir> to be the system root directory"
+-msgstr "<dizin> sistemin kök dizini olur"
+-
+-#: c.opt:847
+-msgid "Add <dir> to the start of the system include path"
+-msgstr "<dizin> sistem başlık dosyaları arama yolunun başına eklenir"
+-
+-#: c.opt:851
+-msgid "Add <dir> to the end of the quote include path"
+-msgstr "<dizin> tırnaklı başlık dosyaları arama yolunun sonuna eklenir"
+-
+-#: c.opt:872
+-msgid "Do not search standard system include directories (those specified with -isystem will still be used)"
+-msgstr "Standart sistem başlık dosyaları dizinleri aranmaz (-isystem ile belirtilenler yine de kullanılır) "
+-
+-#: c.opt:876
+-msgid "Do not search standard system include directories for C++"
+-msgstr "C++ için standart sistem başlık dosyaları dizinleri aranmaz"
+-
+-#: c.opt:892
+-msgid "Generate C header of platform-specific features"
+-msgstr "Platforma özel niteliklerin C başlıklarını üretir"
+-
+-#: c.opt:896
+-msgid "Print a checksum of the executable for PCH validity checking, and stop"
+-msgstr "PCH doğrulama sınaması için bir çalıştırılabilir sağlaması basar ve durur"
+-
+-#: c.opt:900
+-msgid "Remap file names when including files"
+-msgstr "Dosyalar içerildiğinde dosya isimleri yeniden eşlenir"
+-
+-#: c.opt:904
+-msgid "Conform to the ISO 1998 C++ standard"
+-msgstr "ISO 1998 C++ standardına uyulur"
+-
+-#: c.opt:908
+-#, fuzzy
+-msgid "Conform to the ISO 1998 C++ standard, with extensions that are likely to"
+-msgstr "GNU oluşumlu ISO 1998 C++ standardına uyulur"
+-
+-#: c.opt:915 c.opt:950
+-msgid "Conform to the ISO 1990 C standard"
+-msgstr "ISO 1990 C standardına uyulur"
+-
+-#: c.opt:919 c.opt:958
+-msgid "Conform to the ISO 1999 C standard"
+-msgstr "ISO 1999 C standardına uyulur"
+-
+-#: c.opt:923
+-msgid "Deprecated in favor of -std=c99"
+-msgstr "-std=c99 lehine kullanımı önerilmiyor"
+-
+-#: c.opt:927
+-msgid "Conform to the ISO 1998 C++ standard with GNU extensions"
+-msgstr "GNU oluşumlu ISO 1998 C++ standardına uyulur"
+-
+-#: c.opt:931
+-#, fuzzy
+-msgid "Conform to the ISO 1998 C++ standard, with GNU extensions and"
+-msgstr "GNU oluşumlu ISO 1998 C++ standardına uyulur"
+-
+-#: c.opt:938
+-msgid "Conform to the ISO 1990 C standard with GNU extensions"
+-msgstr "GNU oluşumlu ISO 1990 C standardına uyulur"
+-
+-#: c.opt:942
+-msgid "Conform to the ISO 1999 C standard with GNU extensions"
+-msgstr "GNU oluşumlu ISO 1999 C standardına uyulur"
+-
+-#: c.opt:946
+-msgid "Deprecated in favor of -std=gnu99"
+-msgstr "-std=gnu99 lehine kullanımı önerilmiyor"
+-
+-#: c.opt:954
+-msgid "Conform to the ISO 1990 C standard as amended in 1994"
+-msgstr "ISO 1990 C standardına 1994 düzeltmesiyle uyulur"
+-
+-#: c.opt:962
+-msgid "Deprecated in favor of -std=iso9899:1999"
+-msgstr "-std=iso9899:1999 lehine kullanımı önerilmiyor"
+-
+-#: c.opt:966
+-msgid "Enable traditional preprocessing"
+-msgstr "Geleneksel önişlem etkin olur"
+-
+-#: c.opt:970
+-msgid "Support ISO C trigraphs"
+-msgstr "ISO C üçlü harfleri desteklenir"
+-
+-#: c.opt:974
+-msgid "Do not predefine system-specific and GCC-specific macros"
+-msgstr "Sisteme özgü ve GCCye özgü makrolar önceden tanımlanmaz"
+-
+-#: c.opt:978
+-msgid "Enable verbose output"
+-msgstr "Ayrıntılı çıktı verilir"
+-
+-#: common.opt:27
++#: common.opt:28
+ msgid "Display this information"
+ msgstr "Bu yardım iletisi gösterilir"
+
+-#: common.opt:31
++#: common.opt:32
+ msgid "Display descriptions of a specific class of options. <class> is one or more of optimizers, target, warnings, undocumented, params"
+ msgstr ""
+
+-#: common.opt:35
++#: common.opt:36
+ #, fuzzy
+ msgid "Alias for --help=target"
+ msgstr "-mfloat-abi=hard için takma isim"
+
+-#: common.opt:51
++#: common.opt:52
+ msgid "Set parameter <param> to value. See below for a complete list of parameters"
+ msgstr "<param> parametresine değer atanır. Parametrelerin tam listesi aşağıdadır"
+
+-#: common.opt:58
++#: common.opt:59
+ msgid "Put global and static data smaller than <number> bytes into a special section (on some targets)"
+ msgstr "Global ve static verileri <sayı> bayttan küçükse bir özel bölüme (bazı hedeflerdeki) koyar"
+
+-#: common.opt:62
++#: common.opt:63
+ msgid "Set optimization level to <number>"
+ msgstr "Eniyileme seviyesi <sayı> olarak ayarlanır"
+
+-#: common.opt:66
++#: common.opt:67
+ msgid "Optimize for space rather than speed"
+ msgstr "Hızdan çok boyut eniyilemesi yapılır"
+
+-#: common.opt:70
++#: common.opt:71
+ msgid "This switch is deprecated; use -Wextra instead"
+ msgstr "Önerilmiyor; yerine -Wextra kullanın"
+
+-#: common.opt:74
++#: common.opt:75
+ msgid "Warn about returning structures, unions or arrays"
+ msgstr "Yapı, birleşim veya diziler dönerse uyarır"
+
+-#: common.opt:78
++#: common.opt:79
+ #, fuzzy
+ msgid "Warn if an array is accessed out of bounds"
+ msgstr ".class dosyaları güncel değilse uyarır"
+
+-#: common.opt:82
++#: common.opt:83
+ msgid "Warn about inappropriate attribute usage"
+ msgstr "Uyumsuz öznitelik kullanımı hakkında uyarır"
+
+-#: common.opt:86
++#: common.opt:87
+ msgid "Warn about pointer casts which increase alignment"
+ msgstr "Hizalamayı arttıran gösterici tür dönüşümlerinde uyarır"
+
+-#: common.opt:90
++#: common.opt:91
+ msgid "Warn about uses of __attribute__((deprecated)) declarations"
+ msgstr "__attribute__((deprecated)) bildirimlerinin kullanımlarında uyarır"
+
+-#: common.opt:94
++#: common.opt:95
+ msgid "Warn when an optimization pass is disabled"
+ msgstr "Bir eniyileme aşaması iptal edildiğinde uyarır"
+
+-#: common.opt:98
++#: common.opt:99
+ msgid "Treat all warnings as errors"
+ msgstr "Tüm uyarılar hata olarak ele alınır"
+
+-#: common.opt:102
++#: common.opt:103
+ #, fuzzy
+ msgid "Treat specified warning as error"
+ msgstr "Tüm uyarılar hata olarak ele alınır"
+
+-#: common.opt:106
++#: common.opt:107
+ msgid "Print extra (possibly unwanted) warnings"
+ msgstr "Fazladan (muhtemelen istenmeyen) uyarılar basılır"
+
+-#: common.opt:110
++#: common.opt:111
+ msgid "Exit on the first error occurred"
+ msgstr "İlk hatada çıkar"
+
+-#: common.opt:114
++#: common.opt:115
+ msgid "Warn when an inlined function cannot be inlined"
+ msgstr "Bir satıriçi işlev satıriçi olamadığında uyarır"
+
+-#: common.opt:118
++#: common.opt:119
+ msgid "Warn if an object is larger than <number> bytes"
+ msgstr "Bir nesne <sayı> bayttan büyükse uyarır"
+
+-#: common.opt:122
++#: common.opt:123
+ msgid "Warn when a logical operator is suspicously always evaluating to true or false"
+ msgstr ""
+
+-#: common.opt:126
++#: common.opt:127
+ msgid "Warn if the loop cannot be optimized due to nontrivial assumptions."
+ msgstr "Önemsiz olmayan varsayımlardan dolayı döngü eniyilenemezse uyarır"
+
+-#: common.opt:130
++#: common.opt:131
+ msgid "Warn about functions which might be candidates for __attribute__((noreturn))"
+ msgstr "__attribute__((noreturn)) için aday olabilecek işlevler hakkında uyarır"
+
+-#: common.opt:134
++#: common.opt:135
+ #, fuzzy
+ msgid "Warn about overflow in arithmetic expressions"
+ msgstr "Sayısal sabit ifadelerinin alttan taşması halinde uyarır"
+
+-#: common.opt:138
++#: common.opt:139
+ msgid "Warn when the packed attribute has no effect on struct layout"
+ msgstr "Paketli öznitelik yapı yerleşiminde etkisizse uyarır"
+
+-#: common.opt:142
++#: common.opt:143
+ msgid "Warn when padding is required to align structure members"
+ msgstr "Yapı üyelerini hizalamak için adımlama gerektiğinde uyarır"
+
+-#: common.opt:146
++#: common.opt:147
+ msgid "Warn when one local variable shadows another"
+ msgstr "Bir yerel değişken bir diğerini gölgeliyorsa uyarır"
+
+-#: common.opt:150
++#: common.opt:151
+ msgid "Warn when not issuing stack smashing protection for some reason"
+ msgstr "Bir sebeple yığıt parçalanma koruması yapılamadığında uyarır"
+
+-#: common.opt:154 common.opt:158
++#: common.opt:155 common.opt:159
+ msgid "Warn about code which might break strict aliasing rules"
+ msgstr "Adlandırma kurallarının değişmezliğini bozabilen kod varsa uyarır"
+
+-#: common.opt:162 common.opt:166
++#: common.opt:163 common.opt:167
+ #, fuzzy
+ msgid "Warn about optimizations that assume that signed overflow is undefined"
+ msgstr "Kayan nokta yuvarlama davranışını öntanımlı varsayan eniyilemeler yapılmaz"
+
+-#: common.opt:170
++#: common.opt:171
+ msgid "Warn about enumerated switches, with no default, missing a case"
+ msgstr "Numaralı switch'lerde bir case eksikse veya default yoksa uyarır"
+
+-#: common.opt:174
++#: common.opt:175
+ msgid "Warn about enumerated switches missing a \"default:\" statement"
+ msgstr "Numaralı switch'lerde \"default:\" deyimi yoksa uyarır"
+
+-#: common.opt:178
++#: common.opt:179
+ msgid "Warn about all enumerated switches missing a specific case"
+ msgstr "Numaralı switch'lerde belirli bir case eksikse uyarır"
+
+-#: common.opt:186
++#: common.opt:183 c.opt:434
++msgid "Do not suppress warnings from system headers"
++msgstr "Sistem başlık dosyalarındaki uyarılar engellenmez"
++
++#: common.opt:187
+ msgid "Warn about uninitialized automatic variables"
+ msgstr "İlklendirilmemiş özdevinimli değişkenler hakkında uyarır"
+
+-#: common.opt:190
++#: common.opt:191
+ msgid "Warn about code that will never be executed"
+ msgstr "Hiç çalışmayacak kod hakkında uyarır"
+
+-#: common.opt:194
++#: common.opt:195
+ msgid "Enable all -Wunused- warnings"
+ msgstr "-Wunused- uyarılarının tamamı etkin olur"
+
+-#: common.opt:198
++#: common.opt:199
+ msgid "Warn when a function is unused"
+ msgstr "Bir işlev kullanılmamışsa uyarır"
+
+-#: common.opt:202
++#: common.opt:203
+ msgid "Warn when a label is unused"
+ msgstr "Bir yafta kullanılmadığında uyarır"
+
+-#: common.opt:206
++#: common.opt:207
+ msgid "Warn when a function parameter is unused"
+ msgstr "Bir işlev parametresi kullanılmamışsa uyarır"
+
+-#: common.opt:210
++#: common.opt:211
+ msgid "Warn when an expression value is unused"
+ msgstr "Bir ifade değeri kullanılmamışsa uyarır"
+
+-#: common.opt:214
++#: common.opt:215
+ msgid "Warn when a variable is unused"
+ msgstr "Bir değişken kullanılmamışsa uyarır"
+
+-#: common.opt:218
++#: common.opt:219
+ msgid "Warn when a register variable is declared volatile"
+ msgstr "Bir yazmaç değişkeni volatile olarak bildirildiğinde uyarır"
+
+-#: common.opt:222
++#: common.opt:223
+ msgid "Warn instead of error in case profiles in -fprofile-use do not match"
+ msgstr ""
+
+-#: common.opt:226
++#: common.opt:227
+ msgid "Emit declaration information into <file>"
+ msgstr "Bildirim bilgileri <dosya>da gösterilir"
+
+-#: common.opt:239
++#: common.opt:240
+ msgid "Enable dumps from specific passes of the compiler"
+ msgstr "Belirli derleyici aşamalarının dökümlenmesi etkin olur"
+
+-#: common.opt:243
++#: common.opt:244
+ msgid "Set the file basename to be used for dumps"
+ msgstr "Dökümleme için kullanılacak dosyanın salt ismi belirtilir"
+
+-#: common.opt:263
++#: common.opt:264
+ msgid "Align the start of functions"
+ msgstr "İşlevlerin başlangıcı hizalanır"
+
+-#: common.opt:270
++#: common.opt:271
+ msgid "Align labels which are only reached by jumping"
+ msgstr "Sadece atlanarak ulaşılabilen yaftalara hizalanır"
+
+-#: common.opt:277
++#: common.opt:278
+ msgid "Align all labels"
+ msgstr "Tum yaftalara hizalanır"
+
+-#: common.opt:284
++#: common.opt:285
+ msgid "Align the start of loops"
+ msgstr "Döngü başlangıcına hizalanır"
+
+-#: common.opt:299
++#: common.opt:300
+ msgid "Specify that arguments may alias each other and globals"
+ msgstr "Bir diğerinin ya da globallerin takma adı olabilen argümanlar belirtilir"
+
+-#: common.opt:303
++#: common.opt:304
+ msgid "Assume arguments may alias globals but not each other"
+ msgstr "Argümanların globallerin bir kısmına takma ad olabileceği varsayılır"
+
+-#: common.opt:307
++#: common.opt:308
+ msgid "Assume arguments alias neither each other nor globals"
+ msgstr "Argümanların ne başkasına ne de globallere takma ad olduğu varsayılır"
+
+-#: common.opt:311
++#: common.opt:312
+ #, fuzzy
+ msgid "Assume arguments alias no other storage"
+ msgstr "Argümanların ne başkasına ne de globallere takma ad olduğu varsayılır"
+
+-#: common.opt:315
++#: common.opt:316
+ msgid "Generate unwind tables that are exact at each instruction boundary"
+ msgstr "Birbirlerini etkilemeyenlerin tablosu her komutun tam sınırında oluşturulur"
+
+-#: common.opt:319
++#: common.opt:320
+ #, fuzzy
+ msgid "Generate auto-inc/dec instructions"
+ msgstr "isel komutları üretilir"
+
+-#: common.opt:327
++#: common.opt:328
+ msgid "Generate code to check bounds before indexing arrays"
+ msgstr "Diziler indislenmeden önce sınırlarını sınayacak kod üretilir"
+
+-#: common.opt:331
++#: common.opt:332
+ msgid "Replace add, compare, branch with branch on count register"
+ msgstr "Ekleme, karşılaştırma, dallanma sayaç yazmacı üzerinden dallanma ile değiştirilir"
+
+-#: common.opt:335
++#: common.opt:336
+ msgid "Use profiling information for branch probabilities"
+ msgstr "Dallanma olasılıkları için ayrımlama bilgileri kullanılır"
+
+-#: common.opt:339
++#: common.opt:340
+ msgid "Perform branch target load optimization before prologue / epilogue threading"
+ msgstr "Ön ve ard evreleme öncesi dal hedefli yük eniyilemesi uygulanır"
+
+-#: common.opt:343
++#: common.opt:344
+ msgid "Perform branch target load optimization after prologue / epilogue threading"
+ msgstr "Ön ve ard evreleme sonrası dal hedefli yük eniyilemesi uygulanır"
+
+-#: common.opt:347
++#: common.opt:348
+ msgid "Restrict target load migration not to re-use registers in any basic block"
+ msgstr "Hedef yük göçü hiçbir temel bloktaki yazmaçlar yeniden kullanılmayacak şekilde sınırlanır"
+
+-#: common.opt:351
++#: common.opt:352
+ msgid "Mark <register> as being preserved across functions"
+ msgstr "<yazmaç> işlevlere karşı korunmuş olarak imlenir"
+
+-#: common.opt:355
++#: common.opt:356
+ msgid "Mark <register> as being corrupted by function calls"
+ msgstr "<yazmaç> işlev çağrıları tarafından bozulmuş olarak imlenir"
+
+-#: common.opt:362
++#: common.opt:363
+ msgid "Save registers around function calls"
+ msgstr "İşlev çağrıları civarındaki yazmaçlar saklanır"
+
+-#: common.opt:366
++#: common.opt:367
+ msgid "Compare the results of several data dependence analyzers."
+ msgstr ""
+
+-#: common.opt:370
++#: common.opt:371
+ msgid "Do not put uninitialized globals in the common section"
+ msgstr "İlklendirilmemiş global'ler ortak bölüme konmaz"
+
+-#: common.opt:374
++#: common.opt:375
+ msgid "Perform a register copy-propagation optimization pass"
+ msgstr "Yazmaç kopyalama girişimi eniyileme geçişi uygulanır"
+
+-#: common.opt:378
++#: common.opt:379
+ msgid "Perform cross-jumping optimization"
+ msgstr "Çapraz atlama eniyilemesi uygulanır"
+
+-#: common.opt:382
++#: common.opt:383
+ msgid "When running CSE, follow jumps to their targets"
+ msgstr "Ortak alt ifade elemesi sırasında hedeflerine dallanmalar izlenir"
+
+-#: common.opt:386
++#: common.opt:387
+ msgid "When running CSE, follow conditional jumps"
+ msgstr "Ortak alt ifade elemesi sırasında koşullu dallanmalar izlenir"
+
+-#: common.opt:390
++#: common.opt:391
+ msgid "Omit range reduction step when performing complex division"
+ msgstr "Karmaşık bölme sırasında aralık arttırma adımı atlanır"
+
+-#: common.opt:394
++#: common.opt:395
+ msgid "Place data items into their own section"
+ msgstr "Veri öğelerini kendi bölümlerine yerleştirir"
+
+-#: common.opt:398
++#: common.opt:399
+ msgid "List all available debugging counters with their limits and counts."
+ msgstr ""
+
+-#: common.opt:402
++#: common.opt:403
+ msgid "-fdbg-cnt=<counter>:<limit>[,<counter>:<limit>,...] Set the debug counter limit. "
+ msgstr ""
+
+-#: common.opt:406
++#: common.opt:407
+ msgid "Map one directory name to another in debug information"
+ msgstr ""
+
+-#: common.opt:412
++#: common.opt:413
+ msgid "Defer popping functions args from stack until later"
+ msgstr "Yığıttan işlev argümanlarının çekilmesini erteler"
+
+-#: common.opt:416
++#: common.opt:417
+ msgid "Attempt to fill delay slots of branch instructions"
+ msgstr "Dallanma komutlarının gecikme yuvalarını doldurmaya çalışır"
+
+-#: common.opt:420
++#: common.opt:421
+ msgid "Delete useless null pointer checks"
+ msgstr "Kullanışsız boş gösterici sınamalarını siler"
+
+-#: common.opt:424
++#: common.opt:425
+ msgid "How often to emit source location at the beginning of line-wrapped diagnostics"
+ msgstr "Satır sarmalamalı teşhislerin başlangıcında kaynak konumunun ne sıklıkta gösterileceği belirtilir. once: bir kere, every-line: her satırda"
+
+-#: common.opt:428
++#: common.opt:429
+ msgid "Amend appropriate diagnostic messages with the command line option that controls them"
+ msgstr "İlgili teşhis iletileri onları denetleyen komut satırı seçenekleri ile iyileştirilir"
+
+-#: common.opt:432
++#: common.opt:433
+ msgid "Dump various compiler internals to a file"
+ msgstr "Çeşitli derleyici iç oluşumları bir dosyaya dökümlenir"
+
+-#: common.opt:436
++#: common.opt:437
+ #, fuzzy
+ msgid "Suppress output of addresses in debugging dumps"
+ msgstr "Hata ayıklama dökümlerinde satır numarası ve komut numarası bilgilerinin çıktılanması engellenir"
+
+-#: common.opt:440
++#: common.opt:441
+ #, fuzzy
+ msgid "Suppress output of instruction numbers, line number notes and addresses in debugging dumps"
+ msgstr "Hata ayıklama dökümlerinde satır numarası ve komut numarası bilgilerinin çıktılanması engellenir"
+
+-#: common.opt:444
++#: common.opt:445
+ msgid "Perform early inlining"
+ msgstr "Erken satıriçine alma uygulanır"
+
+-#: common.opt:448
++#: common.opt:449
+ msgid "Perform DWARF2 duplicate elimination"
+ msgstr "DWARF2 yinelenmiş elemesi uygulanır"
+
+-#: common.opt:452 common.opt:456
++#: common.opt:453 common.opt:457
+ msgid "Perform unused type elimination in debug info"
+ msgstr "Hata ayıklama bilgilerinde kullanılmamış tür elemesi uygulanır"
+
+-#: common.opt:460
++#: common.opt:461
+ msgid "Do not suppress C++ class debug information."
+ msgstr ""
+
+-#: common.opt:464
++#: common.opt:465
+ msgid "Enable exception handling"
+ msgstr "Olağan dışılıkların yakalanması etkinleştirilir"
+
+-#: common.opt:468
++#: common.opt:469
+ msgid "Perform a number of minor, expensive optimizations"
+ msgstr "Masraflı eniyilemelerden birkaçını uygular"
+
+-#: common.opt:475
++#: common.opt:476
+ msgid "Assume no NaNs or infinities are generated"
+ msgstr "NaNların ya da sonsuzların üretilmediği varsayılır"
+
+-#: common.opt:479
++#: common.opt:480
+ msgid "Mark <register> as being unavailable to the compiler"
+ msgstr "<yazmaç> derleyici için elverişsiz olarak imlenir"
+
+-#: common.opt:483
++#: common.opt:484
+ msgid "Don't allocate floats and doubles in extended-precision registers"
+ msgstr "Ek duyarlık yazmaçlarında float'lar ve double'lar ayrılmaz"
+
+-#: common.opt:489
+-msgid "Copy memory address constants into registers before use"
+-msgstr "Kullanmadan önce bellek adres sabitlerini yazmaçlara kopyalar"
++#: common.opt:488 common.opt:647 common.opt:855 common.opt:986 common.opt:1061
++msgid "Does nothing. Preserved for backward compatibility."
++msgstr ""
+
+-#: common.opt:493
++#: common.opt:492
+ #, fuzzy
+ msgid "Perform a forward propagation pass on RTL"
+ msgstr "Ağaçlarda Değer Aralığı Girişimi uygulanır"
+
+-#: common.opt:500
++#: common.opt:499
+ msgid "Allow function addresses to be held in registers"
+ msgstr "Yazmaçlarda tutulan işlev adreslerine izin verilir"
+
+-#: common.opt:504
++#: common.opt:503
+ msgid "Place each function into its own section"
+ msgstr "Her işlev kendi bölümüne yerleştirilir"
+
+-#: common.opt:508
++#: common.opt:507
+ msgid "Perform global common subexpression elimination"
+ msgstr "Global ortak alt ifade elemesi uygulanır"
+
+-#: common.opt:512
++#: common.opt:511
+ msgid "Perform enhanced load motion during global common subexpression elimination"
+ msgstr "Global ortak alt ifade elemesi sırasında genişletilmiş yük hareketi uygulanır"
+
+-#: common.opt:516
++#: common.opt:515
+ msgid "Perform store motion after global common subexpression elimination"
+ msgstr "Global ortak alt ifade elemesinden sonra saklama hareketi uygulanır"
+
+-#: common.opt:520
++#: common.opt:519
+ msgid "Perform redundant load after store elimination in global common subexpression"
+ msgstr "Genel ortak alt ifade içindeki saklama elemesinden sonra gereğinden fazla yük uygulanır"
+
+-#: common.opt:525
++#: common.opt:524
+ msgid "Perform global common subexpression elimination after register allocation"
+ msgstr "Global ortak alt ifade elemesi yazmaç ayırmasından sonra uygulanır"
+
+-#: common.opt:530
++#: common.opt:529
+ msgid "Enable guessing of branch probabilities"
+ msgstr "Dallanma olasılıklarının tahmini etkinleştirilir"
+
+-#: common.opt:538
++#: common.opt:537
+ msgid "Process #ident directives"
+ msgstr "#ident yönergeleri işlenir"
+
+-#: common.opt:542
++#: common.opt:541
+ msgid "Perform conversion of conditional jumps to branchless equivalents"
+ msgstr "Dallanmasız karşılıklara koşullu atlama dönüşümü uygulanır"
+
+-#: common.opt:546
++#: common.opt:545
+ msgid "Perform conversion of conditional jumps to conditional execution"
+ msgstr "Koşullu çalıştırmaya koşullu atlama dönüşümü uygulanır"
+
+-#: common.opt:554
++#: common.opt:553
+ msgid "Do not generate .size directives"
+ msgstr ".size yönergeleri üretilmez"
+
+-#: common.opt:563
++#: common.opt:562
+ msgid "Pay attention to the \"inline\" keyword"
+ msgstr "\"inline\" anahtar sözcüğüne dikkat edilir"
+
+-#: common.opt:567
++#: common.opt:566
+ #, fuzzy
+ msgid "Integrate simple functions into their callers when code size is known to not growth"
+ msgstr "Basit işlevler onları çağıranların içine gömülür"
+
+-#: common.opt:571
++#: common.opt:570
+ msgid "Integrate simple functions into their callers"
+ msgstr "Basit işlevler onları çağıranların içine gömülür"
+
+-#: common.opt:575
++#: common.opt:574
+ msgid "Integrate functions called once into their callers"
+ msgstr "İşlevler onları çağıranların içine bir defa gömülür"
+
+-#: common.opt:582
++#: common.opt:581
+ msgid "Limit the size of inlined functions to <number>"
+ msgstr "Satıriçine alınacak işlevlerin uzunluğu <sayı> ile sınırlanır"
+
+-#: common.opt:586
++#: common.opt:585
+ msgid "Instrument function entry and exit with profiling calls"
+ msgstr "İşlevi giriş ve çıkışı ayrımlama çağrılarıyla yapılır"
+
+-#: common.opt:590
++#: common.opt:589
+ msgid "-finstrument-functions-exclude-function-list=name,... Do not instrument listed functions"
+ msgstr ""
+
+-#: common.opt:594
++#: common.opt:593
+ msgid "-finstrument-functions-exclude-file-list=filename,... Do not instrument functions listed in files"
+ msgstr ""
+
+-#: common.opt:598
++#: common.opt:597
+ msgid "Perform Interprocedural constant propagation"
+ msgstr "Yordamlar arası sabit girişim uygulanır"
+
+-#: common.opt:602
++#: common.opt:601
+ msgid "Discover pure and const functions"
+ msgstr "Saf ve sabit iÅŸlevler keÅŸfedilir"
+
+-#: common.opt:606
++#: common.opt:605
+ #, fuzzy
+ msgid "Perform interprocedural points-to analysis"
+ msgstr "Yordamlar arası sabit girişim uygulanır"
+
+-#: common.opt:610
++#: common.opt:609
+ msgid "Discover readonly and non addressable static variables"
+ msgstr "Salt okunur ve adreslenemeyen duraÄŸan deÄŸiÅŸkenler keÅŸfedilir"
+
+-#: common.opt:614
++#: common.opt:613
+ msgid "Type based escape and alias analysis"
+ msgstr "Tür bazlı önceleme ve takma ad çözümlemesi"
+
+-#: common.opt:618
++#: common.opt:617
+ msgid "Perform matrix layout flattening and transposing based"
+ msgstr ""
+
+-#: common.opt:623
++#: common.opt:622
+ #, fuzzy
+ msgid "Perform structure layout optimizations based"
+ msgstr "Güç azaltma eniyilemesi uygulanır"
+
+-#: common.opt:628
++#: common.opt:627
+ msgid "Optimize induction variables on trees"
+ msgstr "Ağaçlarda tümevarım değişkenleri eniyilenir"
+
+-#: common.opt:632
++#: common.opt:631
+ msgid "Use jump tables for sufficiently large switch statements"
+ msgstr "Yeterince büyük switch deyimleri için sıçrama tabloları kullanılır"
+
+-#: common.opt:636
++#: common.opt:635
+ msgid "Generate code for functions even if they are fully inlined"
+ msgstr "Tamamen satıriçi olsalar bile işlevler için kod üretilir"
+
+-#: common.opt:640
++#: common.opt:639
+ msgid "Emit static const variables even if they are not used"
+ msgstr "Kullanılmamış bile olsa statik sabit değişkenler içerilir"
+
+-#: common.opt:644
++#: common.opt:643
+ msgid "Give external symbols a leading underscore"
+ msgstr "Alt çizgi ile başlayan harici simgeler verilir"
+
+-#: common.opt:648 common.opt:852 common.opt:983
+-msgid "Does nothing. Preserved for backward compatibility."
+-msgstr ""
+-
+-#: common.opt:652
++#: common.opt:651
+ msgid "Set errno after built-in math functions"
+ msgstr "Yerleşik matematik işlevlerinden sonra errno kullanılır"
+
+-#: common.opt:656
++#: common.opt:655
+ msgid "Report on permanent memory allocation"
+ msgstr "Ayrılan kalıcı bellek miktarı raporlanır"
+
+-#: common.opt:663
++#: common.opt:662
+ msgid "Attempt to merge identical constants and constant variables"
+ msgstr "Özdeş sabitler ve sabit değişkenleri katıştırılmaya çalışılır"
+
+-#: common.opt:667
++#: common.opt:666
+ msgid "Attempt to merge identical constants across compilation units"
+ msgstr "Özdeş sabitler derleme birimlerine karşın katıştırılmaya çalışılır"
+
+-#: common.opt:671
++#: common.opt:670
++#, fuzzy
++msgid "Attempt to merge identical debug strings across compilation units"
++msgstr "Özdeş sabitler derleme birimlerine karşın katıştırılmaya çalışılır"
++
++#: common.opt:674
+ msgid "Limit diagnostics to <number> characters per line. 0 suppresses line-wrapping"
+ msgstr "Teşhis iletilerinin uzunluğu her satırda <sayı> karakterle sınırlanır. 0 satır sarmalamayı engeller"
+
+-#: common.opt:675
++#: common.opt:678
+ msgid "Perform SMS based modulo scheduling before the first scheduling pass"
+ msgstr "İlk zamanlama geçişinden önce SMS tabanlı artanlı zamanlama uygular"
+
+-#: common.opt:679
++#: common.opt:682
+ #, fuzzy
+ msgid "Perform SMS based modulo scheduling with register moves allowed"
+ msgstr "İlk zamanlama geçişinden önce SMS tabanlı artanlı zamanlama uygular"
+
+-#: common.opt:683
++#: common.opt:686
+ msgid "Move loop invariant computations out of loops"
+ msgstr "Döngü ile değişmeyen hesaplamalar döngü dışına taşınır"
+
+-#: common.opt:687
++#: common.opt:690
+ msgid "Add mudflap bounds-checking instrumentation for single-threaded program"
+ msgstr "Tek evreli yazılımlar için mudflap sınırları-sınayan araç taksimi eklenir"
+
+-#: common.opt:691
++#: common.opt:694
+ msgid "Add mudflap bounds-checking instrumentation for multi-threaded program"
+ msgstr "Çok evreli yazılımlar için mudflap sınırları-sınayan araç taksimi eklenir"
+
+-#: common.opt:695
++#: common.opt:698
+ msgid "Ignore read operations when inserting mudflap instrumentation"
+ msgstr "Mudflap araç taksimi eklenirken okuma işlemleri yoksayılır"
+
+-#: common.opt:699
++#: common.opt:702
+ #, fuzzy
+ msgid "Use the RTL dead code elimination pass"
+ msgstr "Ölü saklama elemesi etkin olur"
+
+-#: common.opt:703
++#: common.opt:706
+ #, fuzzy
+ msgid "Use the RTL dead store elimination pass"
+ msgstr "Ölü saklama elemesi etkin olur"
+
+-#: common.opt:707
++#: common.opt:710
+ msgid "Enable/Disable the traditional scheduling in loops that already passed modulo scheduling"
+ msgstr "Zaten artanlı zamanlamaya tabi tutulmuş döngülerde geleneksel zamanlama etkin olur/iptal edilir"
+
+-#: common.opt:711
++#: common.opt:714
+ msgid "Support synchronous non-call exceptions"
+ msgstr "Eşzamanlı çağrısız olağandışılıklar desteklenir"
+
+-#: common.opt:715
++#: common.opt:718
+ msgid "When possible do not generate stack frames"
+ msgstr "Mümkün olduğunca yığıt çerçeveleri üretilmez"
+
+-#: common.opt:719
++#: common.opt:722
+ msgid "Expand OpenMP operations on SSA form"
+ msgstr ""
+
+-#: common.opt:723
++#: common.opt:726
+ msgid "Do the full register move optimization pass"
+ msgstr "Tam yazmaç hareketi eniyilemesi yapar"
+
+-#: common.opt:727
++#: common.opt:730
+ msgid "Optimize sibling and tail recursive calls"
+ msgstr "Kardeş ve kuyruk özyinelemeli çağrıları eniyilenir"
+
+-#: common.opt:731 common.opt:735
++#: common.opt:734 common.opt:738
+ msgid "Report on memory allocation before interprocedural optimization"
+ msgstr ""
+
+-#: common.opt:739
++#: common.opt:742
+ msgid "Pack structure members together without holes"
+ msgstr "Yapı üyelerini birlikte deliksiz paketler"
+
+-#: common.opt:743
++#: common.opt:746
+ msgid "Set initial maximum structure member alignment"
+ msgstr "İlk azami yapı üyesi hizalaması belirtilir"
+
+-#: common.opt:747
++#: common.opt:750
+ msgid "Return small aggregates in memory, not registers"
+ msgstr "Yazmaçlardaki değil bellekteki küçük kümeler döndürülür"
+
+-#: common.opt:751
++#: common.opt:754
+ msgid "Perform loop peeling"
+ msgstr "Döngü soyması uygulanır"
+
+-#: common.opt:755
++#: common.opt:758
+ msgid "Enable machine specific peephole optimizations"
+ msgstr "Makineye özel gözlem deliği eniyilemesi etkinleştirilir"
+
+-#: common.opt:759
++#: common.opt:762
+ msgid "Enable an RTL peephole pass before sched2"
+ msgstr "sched2 öncesi bir rtl gözlem deliği aşaması etkin olur"
+
+-#: common.opt:763
++#: common.opt:766
+ msgid "Generate position-independent code if possible (large mode)"
+ msgstr "Mümkünse, konumdan bağımsız kod üretilir (büyük kip)"
+
+-#: common.opt:767
++#: common.opt:770
+ msgid "Generate position-independent code for executables if possible (large mode)"
+ msgstr "Mümkünse, çalıştırılabilirler için konumdan bağımsız kod üretilir (büyük kip)"
+
+-#: common.opt:771
++#: common.opt:774
+ msgid "Generate position-independent code if possible (small mode)"
+ msgstr "Mümkünse, konumdan bağımsız kod üretilir (küçük kip)"
+
+-#: common.opt:775
++#: common.opt:778
+ msgid "Generate position-independent code for executables if possible (small mode)"
+ msgstr "Mümkünse, çalıştırılabilirler için konumdan bağımsız kod üretilir (küçük kip)"
+
+-#: common.opt:779
++#: common.opt:782
+ #, fuzzy
+ msgid "Run predictive commoning optimization."
+ msgstr "Yazmaç taşıma eniyilemesi etkinleştirilir"
+
+-#: common.opt:783
++#: common.opt:786
+ msgid "Generate prefetch instructions, if available, for arrays in loops"
+ msgstr "Mümkünse, döngülerdeki diziler için önalım komutları üretilir"
+
+-#: common.opt:787
++#: common.opt:790
+ msgid "Enable basic program profiling code"
+ msgstr "Temel program profil çıkarma kodu etkinleştirilir"
+
+-#: common.opt:791
++#: common.opt:794
+ msgid "Insert arc-based program profiling code"
+ msgstr "arc-tabanlı yazılım ayrımlama kodu eklenir"
+
+-#: common.opt:795
++#: common.opt:798
+ msgid "Enable common options for generating profile info for profile feedback directed optimizations"
+ msgstr "Ayrımlama geribesleme yönlendirmeli eniyilemelerin ayrımlama bilgileri üretimi için ortak seçenekler etkinleştirilir"
+
+-#: common.opt:799
++#: common.opt:802
+ msgid "Enable common options for performing profile feedback directed optimizations"
+ msgstr "Ayrımlama geribesleme yönlendirmeli eniyilemelerin uygulanması için ortak seçenekler etkinleştirilir"
+
+-#: common.opt:803
++#: common.opt:806
+ msgid "Insert code to profile values of expressions"
+ msgstr "Kod, ifade ayrımlama değerlerine yerleştirilir"
+
+-#: common.opt:810
++#: common.opt:813
+ msgid "Make compile reproducible using <string>"
+ msgstr "<dizge> kullanılarak derleme yeniden türetilebilir yapılır"
+
+-#: common.opt:820
++#: common.opt:823
+ msgid "Record gcc command line switches in the object file."
+ msgstr ""
+
+-#: common.opt:824
++#: common.opt:827
+ msgid "Return small aggregates in registers"
+ msgstr "Yazmaçlardaki küçük kümeler döndürülür"
+
+-#: common.opt:828
++#: common.opt:831
+ msgid "Enables a register move optimization"
+ msgstr "Yazmaç taşıma eniyilemesi etkinleştirilir"
+
+-#: common.opt:832
++#: common.opt:835
+ msgid "Perform a register renaming optimization pass"
+ msgstr "Yazmaç isimlendirme eniyileme aşaması uygulanır"
+
+-#: common.opt:836
++#: common.opt:839
+ msgid "Reorder basic blocks to improve code placement"
+ msgstr "Kod yerleşimini iyileştirecek temel blokları yeniden sıralar"
+
+-#: common.opt:840
++#: common.opt:843
+ msgid "Reorder basic blocks and partition into hot and cold sections"
+ msgstr "Temel blokları ve parçaları sıcak ve soğuk bölümler halinde yeniden sıralar"
+
+-#: common.opt:844
++#: common.opt:847
+ msgid "Reorder functions to improve code placement"
+ msgstr "Kod yerleşimini iyileştirecek işlevleri yeniden sıralar"
+
+-#: common.opt:848
++#: common.opt:851
+ msgid "Add a common subexpression elimination pass after loop optimizations"
+ msgstr "Döngü eniyilemesinden sonra bir ortak alt ifade elemesi aşaması eklenir"
+
+-#: common.opt:856
++#: common.opt:859
+ msgid "Disable optimizations that assume default FP rounding behavior"
+ msgstr "Kayan nokta yuvarlama davranışını öntanımlı varsayan eniyilemeler yapılmaz"
+
+-#: common.opt:860
++#: common.opt:863
+ msgid "Enable scheduling across basic blocks"
+ msgstr "Temel bloklar arasında zamanlama etkinleştirilir"
+
+-#: common.opt:864
++#: common.opt:867
+ msgid "Allow speculative motion of non-loads"
+ msgstr "Yük oluşturmayanların tahmini hareketine izin verilir"
+
+-#: common.opt:868
++#: common.opt:871
+ msgid "Allow speculative motion of some loads"
+ msgstr "Bazı yüklerin tahmini hareketine izin verilir"
+
+-#: common.opt:872
++#: common.opt:875
+ msgid "Allow speculative motion of more loads"
+ msgstr "Fazla yüklerin tahmini hareketine izin verilir"
+
+-#: common.opt:876
++#: common.opt:879
+ msgid "Set the verbosity level of the scheduler"
+ msgstr "Zamanlama için ayrıntı düzeyi belirtilir"
+
+-#: common.opt:880
++#: common.opt:883
+ msgid "If scheduling post reload, do superblock scheduling"
+ msgstr "Sonradan yeniden yükleme zamanlaması varsa süper blok zamanlaması yapılır"
+
+-#: common.opt:884
++#: common.opt:887
+ msgid "If scheduling post reload, do trace scheduling"
+ msgstr "Sonradan yeniden yükleme zamanlaması varsa izleme zamanlaması yapılır"
+
+-#: common.opt:888
++#: common.opt:891
+ msgid "Reschedule instructions before register allocation"
+ msgstr "Yazmaç tahsisinden önce komutları yeniden zamanlar"
+
+-#: common.opt:892
++#: common.opt:895
+ msgid "Reschedule instructions after register allocation"
+ msgstr "Yazmaç tahsisinden sonra komutları yeniden zamanlar"
+
+-#: common.opt:898
++#: common.opt:901
+ msgid "Allow premature scheduling of queued insns"
+ msgstr "Kuyruklanmış komutların erken zamanlanmasına izin verilir"
+
+-#: common.opt:902
++#: common.opt:905
+ msgid "Set number of queued insns that can be prematurely scheduled"
+ msgstr "Erken zamanlanabilen kuyruklanmış komutların sayısı belirtilir"
+
+-#: common.opt:910 common.opt:914
++#: common.opt:913 common.opt:917
+ msgid "Set dependence distance checking in premature scheduling of queued insns"
+ msgstr "Kuyruklanmış komutların erken zamanlanmasında bağımlılık aralığı denetimi yapılır"
+
+-#: common.opt:918
++#: common.opt:921
+ msgid "Access data in the same section from shared anchor points"
+ msgstr ""
+
+-#: common.opt:922
++#: common.opt:925
+ #, fuzzy
+ msgid "Perform sequence abstraction optimization on RTL"
+ msgstr "Güç azaltma eniyilemesi uygulanır"
+
+-#: common.opt:926
++#: common.opt:929
+ msgid "Eliminate redundant sign extensions using LCM."
+ msgstr ""
+
+-#: common.opt:930
++#: common.opt:933
+ #, fuzzy
+ msgid "Show column numbers in diagnostics, when available. Default off"
+ msgstr "Mümkünse, teşhiste sütun numaralarını gösterir. Öntanımlı"
+
+-#: common.opt:934
++#: common.opt:937
+ msgid "Disable optimizations observable by IEEE signaling NaNs"
+ msgstr "IEEE sinyalleme NaNları tarafından farkedilebilen eniyilemeler iptal edilir"
+
+-#: common.opt:938
++#: common.opt:941
+ msgid "Disable floating point optimizations that ignore the IEEE signedness of zero"
+ msgstr ""
+
+-#: common.opt:942
++#: common.opt:945
+ msgid "Convert floating point constants to single precision constants"
+ msgstr "Kayan noktalı sabitler tek duyarlıklı sabitlere dönüştürülür"
+
+-#: common.opt:946
++#: common.opt:949
+ msgid "Split lifetimes of induction variables when loops are unrolled"
+ msgstr "Döngüler geri sarılırken tümevarım ömrü bölünür"
+
+-#: common.opt:950
++#: common.opt:953
+ msgid "Split wide types into independent registers"
+ msgstr ""
+
+-#: common.opt:954
++#: common.opt:957
+ msgid "Apply variable expansion when loops are unrolled"
+ msgstr "Döngüler geri sarılırken değişken yorumlaması uygulanır"
+
+-#: common.opt:960
++#: common.opt:963
+ msgid "Insert stack checking code into the program"
+ msgstr "Programa yığıt sınama kodu yerleştirilir"
+
+-#: common.opt:967
++#: common.opt:970
+ msgid "Trap if the stack goes past <register>"
+ msgstr "Yığıt <yazmaç> geçmişine giderse yakalanır"
+
+-#: common.opt:971
++#: common.opt:974
+ msgid "Trap if the stack goes past symbol <name>"
+ msgstr "Yığıt <isim> simgesinin geçmişine giderse yakalanır"
+
+-#: common.opt:975
++#: common.opt:978
+ msgid "Use propolice as a stack protection method"
+ msgstr "Yığıt koruma yöntemi olarak propolice kullanılır"
+
+-#: common.opt:979
++#: common.opt:982
+ msgid "Use a stack protection method for every function"
+ msgstr "Her işlev için bir yığıt koruma yöntemi kullanılır"
+
+-#: common.opt:991
++#: common.opt:994
+ msgid "Assume strict aliasing rules apply"
+ msgstr "Sıkı takma ad kuralları uygulanacağı varsayılır"
+
+-#: common.opt:995
++#: common.opt:998
+ #, fuzzy
+ msgid "Treat signed overflow as undefined"
+ msgstr "Kayıp başlık dosyaları üretilen dosyalar olarak ele alınır"
+
+-#: common.opt:999
++#: common.opt:1002
+ msgid "Check for syntax errors, then stop"
+ msgstr "Sözdizimi denetimi yaptıktan sonra durur"
+
+-#: common.opt:1003
++#: common.opt:1006
+ msgid "Create data files needed by \"gcov\""
+ msgstr "\"gcov\" için gereken veri dosyaları oluşturulur"
+
+-#: common.opt:1007
++#: common.opt:1010
+ msgid "Perform jump threading optimizations"
+ msgstr "Atlama evreleme eniyilemesi uygulanır"
+
+-#: common.opt:1011
++#: common.opt:1014
+ msgid "Report the time taken by each compiler pass"
+ msgstr "Her derleme aşaması için harcanan zaman raporlanır"
+
+-#: common.opt:1015
++#: common.opt:1018
+ msgid "Set the default thread-local storage code generation model"
+ msgstr "Öntanımlı yerel-evreli saklama kodu üretim modeli belirtilir"
+
+-#: common.opt:1019
++#: common.opt:1022
+ msgid "Reorder top level functions, variables, and asms"
+ msgstr ""
+
+-#: common.opt:1023
++#: common.opt:1026
+ msgid "Perform superblock formation via tail duplication"
+ msgstr "Kuyruk tekrarı üzerinden süper blok oluşumu uygulanır"
+
+-#: common.opt:1030
++#: common.opt:1033
+ msgid "Assume floating-point operations can trap"
+ msgstr "Kayan nokta işlemlerinin yakalanabileceği varsayılır"
+
+-#: common.opt:1034
++#: common.opt:1037
+ msgid "Trap for signed overflow in addition, subtraction and multiplication"
+ msgstr "Toplama, çıkartma, çarpmada signed taşması için kapan kurulur"
+
+-#: common.opt:1038
++#: common.opt:1041
+ msgid "Enable SSA-CCP optimization on trees"
+ msgstr "Ağaçlarda SSA-CCP eniyilemesi etkinleştirilir"
+
+-#: common.opt:1042
++#: common.opt:1045
+ msgid "Enable SSA-CCP optimization for stores and loads"
+ msgstr "Saklama ve yükleme için SSA-CCP eniyilemesi etkinleştirilir"
+
+-#: common.opt:1046
++#: common.opt:1049
+ msgid "Enable loop header copying on trees"
+ msgstr "Ağaçlarda döngü başlığı kopyalaması etkin olur"
+
+-#: common.opt:1050
++#: common.opt:1053
+ msgid "Replace SSA temporaries with better names in copies"
+ msgstr "SSA geçicilerini kopyalarda daha iyi isimlerle değiştirir"
+
+-#: common.opt:1054
++#: common.opt:1057
+ msgid "Enable copy propagation on trees"
+ msgstr "Ağaçlarda kopyalama girişimi etkinleştirilir"
+
+-#: common.opt:1058
++#: common.opt:1065
+ #, fuzzy
+-msgid "This switch is obsolete"
+-msgstr "Bu seçenek belgelenmedi"
+-
+-#: common.opt:1062
+-#, fuzzy
+ msgid "Transform condition stores into unconditional ones"
+ msgstr "Koşullu çalıştırmaya koşullu atlama dönüşümü uygulanır"
+
+-#: common.opt:1066
++#: common.opt:1069
+ msgid "Enable SSA dead code elimination optimization on trees"
+ msgstr "Ağaçlarda SSA ölü kod eleme eniyilemesi etkin olur"
+
+-#: common.opt:1070
++#: common.opt:1073
+ msgid "Enable dominator optimizations"
+ msgstr "Baskınlık eniyilemeleri etkin olur"
+
+-#: common.opt:1074
++#: common.opt:1077
+ msgid "Enable dead store elimination"
+ msgstr "Ölü saklama elemesi etkin olur"
+
+-#: common.opt:1078
++#: common.opt:1081
+ msgid "Enable Full Redundancy Elimination (FRE) on trees"
+ msgstr "Ağaçlarda Tam Artıklık Elemesi (TAE) etkin olur"
+
+-#: common.opt:1082
++#: common.opt:1085
+ msgid "Enable loop invariant motion on trees"
+ msgstr "Ağaçlarda döngü içinde değişmez hareket etkin olur"
+
+-#: common.opt:1086
++#: common.opt:1089
+ msgid "Enable linear loop transforms on trees"
+ msgstr "Ağaçlarda doğrusal döngü dönüşümü etkin olur"
+
+-#: common.opt:1090
++#: common.opt:1093
+ msgid "Create canonical induction variables in loops"
+ msgstr "Döngülerde meşru tümevarım değişkenleri oluşturulur"
+
+-#: common.opt:1094
++#: common.opt:1097
+ msgid "Enable loop optimizations on tree level"
+ msgstr "Ağaç seviyesinde döngü eniyilemeleri etkinleştirilir"
+
+-#: common.opt:1098
++#: common.opt:1101
+ #, fuzzy
+ msgid "Enable automatic parallelization of loops"
+ msgstr "Özdevinimli şablon örneklenimi etkin olur"
+
+-#: common.opt:1102
++#: common.opt:1105
+ msgid "Enable SSA-PRE optimization on trees"
+ msgstr "Ağaçlarda SSA-PRE eniyilemesi etkinleştirilir"
+
+-#: common.opt:1106
++#: common.opt:1109
+ #, fuzzy
+ msgid "Enable reassociation on tree level"
+ msgstr "Ağaç seviyesinde döngü eniyilemeleri etkinleştirilir"
+
+-#: common.opt:1110
++#: common.opt:1113
+ msgid "Perform structural alias analysis"
+ msgstr "Yapısal takma ad çözümlemesi yapılır"
+
+-#: common.opt:1114
++#: common.opt:1117
+ msgid "Enable SSA code sinking on trees"
+ msgstr "Ağaçlarda SSA kod soğurumu etkinleştirilir"
+
+-#: common.opt:1118
++#: common.opt:1121
+ msgid "Perform scalar replacement of aggregates"
+ msgstr "Ortak değerlerde sabit yer değiştirmesi yapılır"
+
+-#: common.opt:1122
++#: common.opt:1125
+ msgid "Replace temporary expressions in the SSA->normal pass"
+ msgstr "Geçici ifadeler SSA->normal geçişine yerleştirilir"
+
+-#: common.opt:1126
++#: common.opt:1129
+ msgid "Perform live range splitting during the SSA->normal pass"
+ msgstr "SSA->normal aşamasında canlı aralık ayırması yapılır"
+
+-#: common.opt:1130
++#: common.opt:1133
+ msgid "Perform Value Range Propagation on trees"
+ msgstr "Ağaçlarda Değer Aralığı Girişimi uygulanır"
+
+-#: common.opt:1134
++#: common.opt:1137
+ msgid "Compile whole compilation unit at a time"
+ msgstr "Derleme biriminin tamamı bir defada derlenir"
+
+-#: common.opt:1138
++#: common.opt:1141
+ msgid "Perform loop unrolling when iteration count is known"
+ msgstr "Yineleme sayısı bilindiğinde döngü tersine uygulanır"
+
+-#: common.opt:1142
++#: common.opt:1145
+ msgid "Perform loop unrolling for all loops"
+ msgstr "Tüm döngüler tersine uygulanır"
+
+-#: common.opt:1149
++#: common.opt:1152
+ msgid "Allow loop optimizations to assume that the loops behave in normal way"
+ msgstr "Döngülerin normal davrandığı kabulüyle döngü eniyilemelerine izin verilir"
+
+-#: common.opt:1153
++#: common.opt:1156
+ msgid "Allow optimization for floating-point arithmetic which may change the"
+ msgstr ""
+
+-#: common.opt:1158
++#: common.opt:1161
+ msgid "Same as -fassociative-math for expressions which include division."
+ msgstr ""
+
+-#: common.opt:1166
++#: common.opt:1169
+ msgid "Allow math optimizations that may violate IEEE or ISO standards"
+ msgstr "IEEE veya ISO standartlarını bozabilen matematiksel eniyilemelere izin verilir"
+
+-#: common.opt:1170
++#: common.opt:1173
+ msgid "Perform loop unswitching"
+ msgstr "Döngü anahtarlamaması uygulanır"
+
+-#: common.opt:1174
++#: common.opt:1177
+ msgid "Just generate unwind tables for exception handling"
+ msgstr "Olağandışılıkların yakalanması için birbirlerini etkilemeyenlerin tablosu oluşturulur"
+
+-#: common.opt:1178
++#: common.opt:1181
+ msgid "Perform variable tracking"
+ msgstr "Değişken izleme uygulanır"
+
+-#: common.opt:1182
++#: common.opt:1185
+ msgid "Perform variable tracking and also tag variables that are uninitialized"
+ msgstr ""
+
+-#: common.opt:1186
++#: common.opt:1189
+ msgid "Enable loop vectorization on trees"
+ msgstr "Ağaçlarda döngü vektörleştirimi etkin olur"
+
+-#: common.opt:1190
++#: common.opt:1193
+ #, fuzzy
+ msgid "Enable use of cost model in vectorization"
+ msgstr "DB komutunun kullanımı etkin olur"
+
+-#: common.opt:1194
++#: common.opt:1197
+ msgid "Enable loop versioning when doing loop vectorization on trees"
+ msgstr "Ağaçlarda döngü vektörleştirimi yapılırken döngü uyarlama etkin olur"
+
+-#: common.opt:1198
++#: common.opt:1201
+ msgid "Set the verbosity level of the vectorizer"
+ msgstr "Vektörcünün ayrıntı seviyesi belirtilir"
+
+-#: common.opt:1202
++#: common.opt:1205
+ #, fuzzy
+ msgid "Enable copy propagation of scalar-evolution information."
+ msgstr "Saklama ve yüklemelerde kopyalama girişimi etkinleştirilir"
+
+-#: common.opt:1212
++#: common.opt:1215
+ msgid "Add extra commentary to assembler output"
+ msgstr "Çevirici çıktısına fazladan açıklama ekler"
+
+-#: common.opt:1216
++#: common.opt:1219
+ msgid "Set the default symbol visibility"
+ msgstr "Öntanımlı simge görünürlüğü belirtilir"
+
+-#: common.opt:1221
++#: common.opt:1224
+ msgid "Use expression value profiles in optimizations"
+ msgstr "Eniyilemelerde ifade değeri ayrımlaması kullanılır"
+
+-#: common.opt:1225
++#: common.opt:1228
+ msgid "Construct webs and split unrelated uses of single variable"
+ msgstr "Izgara oluşturur ve tek bir değişkenin ilgisiz kullanımlarını ayırır"
+
+-#: common.opt:1229
++#: common.opt:1232
+ msgid "Perform whole program optimizations"
+ msgstr "Bütün yazılım eniyilemeleri uygulanır"
+
+-#: common.opt:1233
++#: common.opt:1236
+ msgid "Assume signed arithmetic overflow wraps around"
+ msgstr "İşaretli aritmetik taşmaların olurunun bulunduğu varsayılır"
+
+-#: common.opt:1237
++#: common.opt:1240
+ msgid "Put zero initialized data in the bss section"
+ msgstr "bss bölümüne sıfır ilklendirmeli veri yerleştirilir"
+
+-#: common.opt:1241
++#: common.opt:1244
+ msgid "Generate debug information in default format"
+ msgstr "Öntanımlı biçimde hata ayıklama bilgisi üretir"
+
+-#: common.opt:1245
++#: common.opt:1248
+ msgid "Generate debug information in COFF format"
+ msgstr "COFF biçiminde hata ayıklama bilgisi üretir"
+
+-#: common.opt:1249
++#: common.opt:1252
+ msgid "Generate debug information in DWARF v2 format"
+ msgstr "DWARF v2 biçiminde hata ayıklama bilgisi üretir"
+
+-#: common.opt:1253
++#: common.opt:1256
+ msgid "Generate debug information in default extended format"
+ msgstr "Öntanımlı gelişmiş biçimde hata ayıklama bilgisi üretir"
+
+-#: common.opt:1257
++#: common.opt:1260
+ msgid "Generate debug information in STABS format"
+ msgstr "STABS biçiminde hata ayıklama bilgisi üretir"
+
+-#: common.opt:1261
++#: common.opt:1264
+ msgid "Generate debug information in extended STABS format"
+ msgstr "Gelişmiş STABS biçiminde hata ayıklama bilgisi üretir"
+
+-#: common.opt:1265
++#: common.opt:1268
+ msgid "Generate debug information in VMS format"
+ msgstr "VMS biçiminde hata ayıklama bilgisi üretir"
+
+-#: common.opt:1269
++#: common.opt:1272
+ msgid "Generate debug information in XCOFF format"
+ msgstr "XCOFF biçiminde hata ayıklama bilgisi üretir"
+
+-#: common.opt:1273
++#: common.opt:1276
+ msgid "Generate debug information in extended XCOFF format"
+ msgstr "Gelişmiş XCOFF biçiminde hata ayıklama bilgisi üretir"
+
+-#: common.opt:1277
++#: common.opt:1280
+ msgid "Place output into <file>"
+ msgstr "Çıktı <dosya>ya yazılır"
+
+-#: common.opt:1281
++#: common.opt:1284
+ msgid "Enable function profiling"
+ msgstr "İşlev ayrımlama etkinleştirilir"
+
+-#: common.opt:1285
++#: common.opt:1288
+ msgid "Issue warnings needed for strict compliance to the standard"
+ msgstr "Standarda tam uyum için gereken uyarılar üretilir"
+
+-#: common.opt:1289
++#: common.opt:1292
+ msgid "Like -pedantic but issue them as errors"
+ msgstr "-pedantic gibidir ancak uyarılar hata olarak ele alınır"
+
+-#: common.opt:1293
++#: common.opt:1296
+ msgid "Do not display functions compiled or elapsed time"
+ msgstr "Derlenen işlevler ve geçen zaman gösterilmez"
+
+-#: common.opt:1297
++#: common.opt:1300
+ msgid "Display the compiler's version"
+ msgstr "Derleyici sürümünü gösterir."
+
+-#: common.opt:1301
++#: common.opt:1304
+ msgid "Suppress warnings"
+ msgstr "Uyarılar engellenir"
+
+-#: common.opt:1305
++#: common.opt:1308
+ #, fuzzy
+ msgid "Create a shared library"
+ msgstr "ID tabanlı paylaşımlı kütüphane etkin olur"
+
+-#: common.opt:1309
++#: common.opt:1312
+ #, fuzzy
+ msgid "Create a position independent executable"
+ msgstr "Mümkünse, çalıştırılabilirler için konumdan bağımsız kod üretilir (büyük kip)"
+
++#: c.opt:41
++msgid "Assert the <answer> to <question>. Putting '-' before <question> disables the <answer> to <question>"
++msgstr "<soru>ya <yanıt> olumlanır. <soru>dan önce '-' konursa <soru>ya <yanıt> iptal edilir"
++
++#: c.opt:45
++msgid "Do not discard comments"
++msgstr "Açıklamalar iptal edilmez"
++
++#: c.opt:49
++msgid "Do not discard comments in macro expansions"
++msgstr "Makro yorumlamalarında açıklamalar iptal edilmez"
++
++#: c.opt:53
++msgid "Define a <macro> with <val> as its value. If just <macro> is given, <val> is taken to be 1"
++msgstr "<makro>, <değer> değeriyle tanımlanır. Değer verilmezse 1 kabul edilir"
++
++#: c.opt:60
++msgid "Add <dir> to the end of the main framework include path"
++msgstr "<dizin> ana çerçeve başlık dosyaları arama yolunun sonuna eklenir"
++
++#: c.opt:64
++msgid "Print the name of header files as they are used"
++msgstr "Başlık dosyalarının isimleri kullanılmış gibi basılır"
++
++#: c.opt:68 c.opt:863
++msgid "Add <dir> to the end of the main include path"
++msgstr "<dizin> ana başlık dosyaları arama yolunun sonuna eklenir"
++
++#: c.opt:72
++msgid "Generate make dependencies"
++msgstr "make bağımlılıkları üretilir"
++
++#: c.opt:76
++msgid "Generate make dependencies and compile"
++msgstr "Make bağımlılıklarını üretir ve derler"
++
++#: c.opt:80
++msgid "Write dependency output to the given file"
++msgstr "Bağımlılık çıktısı belirtilen dosyaya yazılır"
++
++#: c.opt:84
++msgid "Treat missing header files as generated files"
++msgstr "Kayıp başlık dosyaları üretilen dosyalar olarak ele alınır"
++
++#: c.opt:88
++msgid "Like -M but ignore system header files"
++msgstr "-M gibi, ancak sistem başlık dosyaları yoksayılır"
++
++#: c.opt:92
++msgid "Like -MD but ignore system header files"
++msgstr "-MD gibi, ancak sistem başlık dosyaları yoksayılır"
++
++#: c.opt:96
++msgid "Generate phony targets for all headers"
++msgstr "Tüm başlıklar için sahte hedefler üretilir"
++
++#: c.opt:100
++msgid "Add a MAKE-quoted target"
++msgstr "MAKE tırnaklı hedef ekler"
++
++#: c.opt:104
++msgid "Add an unquoted target"
++msgstr "Tırnaklı hedef ekler"
++
++#: c.opt:108
++msgid "Do not generate #line directives"
++msgstr "#'li satır yönergeleri üretilmez"
++
++#: c.opt:112
++msgid "Undefine <macro>"
++msgstr "<makro> tanımsız yapılır"
++
++#: c.opt:116
++msgid "Warn about things that will change when compiling with an ABI-compliant compiler"
++msgstr "Bir ABI uyumlu derleyici ile derlerlerken değişecek herşey için uyarır"
++
++#: c.opt:120
++#, fuzzy
++msgid "Warn about suspicious uses of memory addresses"
++msgstr "Kuşkulu \"main\" bildirimleri hakkında uyarır"
++
++#: c.opt:124
++msgid "Enable most warning messages"
++msgstr "Başlıca uyarı iletileri etkinleştirilir"
++
++#: c.opt:128
++#, fuzzy
++msgid "Warn if a comparison is always true or always false due to the limited range of the data type"
++msgstr "veri türünün aralığı sınırlı olduğundan karşılaştırma sonucu daima yanlıştır"
++
++#: c.opt:132
++msgid "Warn whenever an Objective-C assignment is being intercepted by the garbage collector"
++msgstr "Bir nesnel-C ataması çöp toplayıcı tarafından her durduruluşta uyarır"
++
++#: c.opt:136
++msgid "Warn about casting functions to incompatible types"
++msgstr "İşlevlerin uyumsuz türlere dönüştürülmesi durumunda uyarır"
++
++#: c.opt:140
++msgid "Warn about C constructs that are not in the common subset of C and C++"
++msgstr "C ve C++'nın ortak altkümesinde olmayan C oluşumlarında uyarır"
++
++#: c.opt:144
++#, fuzzy
++msgid "Warn about C++ constructs whose meaning differs between ISO C++ 1998 and ISO C++ 200x"
++msgstr "C ve C++'nın ortak altkümesinde olmayan C oluşumlarında uyarır"
++
++#: c.opt:148
++msgid "Warn about casts which discard qualifiers"
++msgstr "Niteleyicileri iptal eden tür dönüşümlerinde uyarır"
++
++#: c.opt:152
++msgid "Warn about subscripts whose type is \"char\""
++msgstr "Türü \"char\" olan dizi indislerinde uyarır"
++
++#: c.opt:156
++#, fuzzy
++msgid "Warn about variables that might be changed by \"longjmp\" or \"vfork\""
++msgstr "değişken %q+D %<longjmp%> ya da %<vfork%> tarafından taşırılmış olabilir"
++
++#: c.opt:160
++msgid "Warn about possibly nested block comments, and C++ comments spanning more than one physical line"
++msgstr "İç içe açıklama satırları ile bir fiziksel satırdan fazla olan C++ açıklamalarında uyarır"
++
++#: c.opt:164
++msgid "Synonym for -Wcomment"
++msgstr "-Wcomment ile aynı"
++
++#: c.opt:168
++msgid "Warn for implicit type conversions that may change a value"
++msgstr ""
++
++#: c.opt:172
++#, fuzzy
++msgid "Warn for implicit type conversions between signed and unsigned integers"
++msgstr "işaretli ve işaretsiz tamsayı ifadeler arasında karşılaştırma"
++
++#: c.opt:176
++msgid "Warn when all constructors and destructors are private"
++msgstr "Tüm kurucu ve yıkıcılar private olduğunda uyarır"
++
++#: c.opt:180
++msgid "Warn when a declaration is found after a statement"
++msgstr "Bir deyimden sonra gelen bir bildirimde uyarır"
++
++#: c.opt:184
++msgid "Warn about deprecated compiler features"
++msgstr "Önerilmeyen derleyici özelliklerinde uyarır"
++
++#: c.opt:188
++msgid "Warn about compile-time integer division by zero"
++msgstr "Derleme anı sıfırla tamsayı bölme taşması için uyarır"
++
++#: c.opt:192
++msgid "Warn about violations of Effective C++ style rules"
++msgstr "Effective C++ tarzı kuralların çelişkilerinde uyarır"
++
++#: c.opt:196
++#, fuzzy
++msgid "Warn about an empty body in an if or else statement"
++msgstr "%Helse gövdesi boş"
++
++#: c.opt:200
++msgid "Warn about stray tokens after #elif and #endif"
++msgstr "#elif ve #endif'ten sonraki serseri sözcüklerde uyarır"
++
++#: c.opt:208
++#, fuzzy
++msgid "This switch is deprecated; use -Werror=implicit-function-declaration instead"
++msgstr "Önerilmiyor; yerine -Wextra kullanın"
++
++#: c.opt:212
++msgid "Warn if testing floating point numbers for equality"
++msgstr "Gerçek sayıların eşitlik sınamalarında uyarır"
++
++#: c.opt:216
++msgid "Warn about printf/scanf/strftime/strfmon format string anomalies"
++msgstr "printf/scanf/strftime/strfmon biçim dizgesi bozukluklarında uyarır"
++
++#: c.opt:220
++msgid "Warn if passing too many arguments to a function for its format string"
++msgstr "Bir işleve biçim dizgesinde çok fazla argüman aktarılırsa uyarır"
++
++#: c.opt:224
++msgid "Warn about format strings that are not literals"
++msgstr "Birer sabit olmayan biçim dizgelerinde uyarır"
++
++#: c.opt:228
++#, fuzzy
++msgid "Warn about format strings that contain NUL bytes"
++msgstr "Birer sabit olmayan biçim dizgelerinde uyarır"
++
++#: c.opt:232
++msgid "Warn about possible security problems with format functions"
++msgstr "Biçimleme işlevleriyle ilgili olası güvenlik sorunları hakkında uyarır"
++
++#: c.opt:236
++msgid "Warn about strftime formats yielding 2-digit years"
++msgstr "2 haneli yıllara yer veren strftime biçimlerde uyarır"
++
++#: c.opt:240
++msgid "Warn about zero-length formats"
++msgstr "Sıfır uzunluklu biçimlerde uyarır"
++
++#: c.opt:247
++msgid "Warn whenever type qualifiers are ignored."
++msgstr ""
++
++#: c.opt:251
++msgid "Warn about variables which are initialized to themselves"
++msgstr "Kendileriyle ilklendirilmiş değişkenlerde uyarır"
++
++#: c.opt:258
++msgid "Warn about implicit function declarations"
++msgstr "İşlevlerin örtük bildirimlerinde uyarır"
++
++#: c.opt:262
++msgid "Warn when a declaration does not specify a type"
++msgstr "Bir bildirimde tür belirtilmemişse uyarır"
++
++#: c.opt:266
++msgid "Deprecated. This switch has no effect"
++msgstr "Önerilmiyor. Bu seçenek etkisizdir."
++
++#: c.opt:270
++msgid "Warn when there is a cast to a pointer from an integer of a different size"
++msgstr "Farklı boyuttaki tamsayı türden göstericiye dönüşümde uyarır"
++
++#: c.opt:274
++msgid "Warn about invalid uses of the \"offsetof\" macro"
++msgstr "\"offsetof\" makrosunun geçersiz kullanımlarında uyarır"
++
++#: c.opt:278
++msgid "Warn about PCH files that are found but not used"
++msgstr "Kullanılmayan PCH dosyaları bulunduğunda uyarır"
++
++#: c.opt:282
++msgid "Do not warn about using \"long long\" when -pedantic"
++msgstr "-pedantic varken \"long long\" kullanımı hakkında uyarmaz"
++
++#: c.opt:286
++msgid "Warn about suspicious declarations of \"main\""
++msgstr "Kuşkulu \"main\" bildirimleri hakkında uyarır"
++
++#: c.opt:290
++msgid "Warn about possibly missing braces around initializers"
++msgstr "İlklendiricileri çevreleyen parantezler yoksa uyarır"
++
++#: c.opt:294
++msgid "Warn about global functions without previous declarations"
++msgstr "Önceden bildirilmemiş genel işlevler hakkında uyarır"
++
++#: c.opt:298
++msgid "Warn about missing fields in struct initializers"
++msgstr "Yapı ilklendiricilerinde eksik alanlar hakkında uyarır"
++
++#: c.opt:302
++msgid "Warn about functions which might be candidates for format attributes"
++msgstr "Biçim öznitelikleri için aday olabilecek işlevler hakkında uyarır"
++
++#: c.opt:306
++msgid "Warn about user-specified include directories that do not exist"
++msgstr "Kullanıcı tarafından belirtilen başlık dizinleri bulunamazsa uyarır"
++
++#: c.opt:310
++msgid "Warn about function parameters declared without a type specifier in K&R-style functions"
++msgstr ""
++
++#: c.opt:314
++msgid "Warn about global functions without prototypes"
++msgstr "Prototipsiz genel işlevler hakkında uyarır"
++
++#: c.opt:318
++msgid "Warn about use of multi-character character constants"
++msgstr "Çok karakterli karakter sabitlerinin kullanımında uyarır"
++
++#: c.opt:322
++msgid "Warn about \"extern\" declarations not at file scope"
++msgstr "Dosya etki alanı içinde olmayan \"extern\" bildirimlerinde uyarır"
++
++#: c.opt:326
++msgid "Warn when non-templatized friend functions are declared within a template"
++msgstr "Şablonlanmamış kardeş işlevler bir şablonla bildirildiğinde uyarır"
++
++#: c.opt:330
++msgid "Warn about non-virtual destructors"
++msgstr "Sanal olmayan yıkıcılar hakkında uyarır"
++
++#: c.opt:334
++msgid "Warn about NULL being passed to argument slots marked as requiring non-NULL"
++msgstr "NULL olmama gerekliliği ile imlenmiş argüman yuvalarına NULL aktarılıyorsa uyarır"
++
++#: c.opt:338
++msgid "Warn about non-normalised Unicode strings"
++msgstr "Normalleştirilmemiş Unicode dizgelerinde uyarır"
++
++#: c.opt:342
++msgid "Warn if a C-style cast is used in a program"
++msgstr "Bir yazılımda C tarzı tür dönüşümü kullanılmışsa uyarır"
++
++#: c.opt:346
++#, fuzzy
++msgid "Warn for obsolescent usage in a declaration"
++msgstr "İşlevlerin örtük bildirimlerinde uyarır"
++
++#: c.opt:350
++msgid "Warn if an old-style parameter definition is used"
++msgstr "Eski tarz parametre tanımı kullanılmamışsa uyarır"
++
++#: c.opt:354
++msgid "Warn if a string is longer than the maximum portable length specified by the standard"
++msgstr ""
++
++#: c.opt:358
++msgid "Warn about overloaded virtual function names"
++msgstr "Aşırı yüklü sanal işlev isimleri hakkında uyarır"
++
++#: c.opt:362
++#, fuzzy
++msgid "Warn about overriding initializers without side effects"
++msgstr "Kendileriyle ilklendirilmiş değişkenlerde uyarır"
++
++#: c.opt:366
++msgid "Warn about possibly missing parentheses"
++msgstr "Olası eksik parantezler hakkında uyarır"
++
++#: c.opt:370
++msgid "Warn when converting the type of pointers to member functions"
++msgstr "Üye işlev göstericilerinin tür dönüşümlerinde uyarır"
++
++#: c.opt:374
++msgid "Warn about function pointer arithmetic"
++msgstr "İşlev gösterici aritmetiği hakkında uyarır"
++
++#: c.opt:378
++msgid "Warn when a pointer is cast to an integer of a different size"
++msgstr "Bir göstericiden farklı tamsayı türlere dönüşümde uyarır"
++
++#: c.opt:382
++msgid "Warn about misuses of pragmas"
++msgstr "Pragmaların yanlış kullanımı hakkında uyarır"
++
++#: c.opt:386
++msgid "Warn if inherited methods are unimplemented"
++msgstr "Kalıt yöntemler gerçeklenmemişse uyarır"
++
++#: c.opt:390
++msgid "Warn about multiple declarations of the same object"
++msgstr "Aynı nesne birden fazla bildirilmişse uyarır"
++
++#: c.opt:394
++msgid "Warn when the compiler reorders code"
++msgstr "Derleyici kodu yeniden sıralarken uyarır"
++
++#: c.opt:398
++msgid "Warn whenever a function's return type defaults to \"int\" (C), or about inconsistent return types (C++)"
++msgstr "Bir işlevin dönüş türü öntanımlı \"int\" ise (C'de) ya da uyumsuz dönüş türlerinde (C++'da) uyarır"
++
++#: c.opt:402
++msgid "Warn if a selector has multiple methods"
++msgstr "Bir seçici çok sayıda yönteme sahipse uyarır"
++
++#: c.opt:406
++msgid "Warn about possible violations of sequence point rules"
++msgstr "Ardışık nokta kurallarının olası çelişkileri hakkında uyarır"
++
++#: c.opt:410
++msgid "Warn about signed-unsigned comparisons"
++msgstr "signed/unsigned karşılaştırmalarında uyarır"
++
++#: c.opt:414
++msgid "Warn when overload promotes from unsigned to signed"
++msgstr "unsigned'dan signed'a yükseltmeler aşırı yüklendiğinde uyarır"
++
++#: c.opt:418
++msgid "Warn about uncasted NULL used as sentinel"
++msgstr "Nöbetçi olarak dönüşümsüz NULL kullanımında uyarır"
++
++#: c.opt:422
++msgid "Warn about unprototyped function declarations"
++msgstr "Prototipsiz işlev bildirimlerinde uyarır"
++
++#: c.opt:426
++msgid "Warn if type signatures of candidate methods do not match exactly"
++msgstr "Aday yöntemlerin tür imzaları uyuşmadığında uyarır"
++
++#: c.opt:430
++msgid "Warn when synthesis behavior differs from Cfront"
++msgstr "Sentezleme davranışı Cfront'dan farklıysa uyarır"
++
++#: c.opt:438
++msgid "Warn about features not present in traditional C"
++msgstr "Geleneksel C'de olmayan özelliklerde uyarır"
++
++#: c.opt:442
++msgid "Warn of prototypes causing type conversions different from what would happen in the absence of prototype"
++msgstr ""
++
++#: c.opt:446
++msgid "Warn if trigraphs are encountered that might affect the meaning of the program"
++msgstr "Yazılımın anlamını etkileyebilecek üçlü harfler saptanırsa uyarır"
++
++#: c.opt:450
++msgid "Warn about @selector()s without previously declared methods"
++msgstr "Evvelce bildirilmiş yöntemler olmaksızın @selector()'ler varsa uyarır"
++
++#: c.opt:454
++msgid "Warn if an undefined macro is used in an #if directive"
++msgstr "#if yönergesinde tanımsız makro kullanılmışsa uyarır"
++
++#: c.opt:458
++msgid "Warn about unrecognized pragmas"
++msgstr "Tanınmayan pragmalar hakkında uyarır"
++
++#: c.opt:462
++msgid "Warn about macros defined in the main file that are not used"
++msgstr "Kullanılmayan ana dosyada tanımlı makro hakkında uyarır"
++
++#: c.opt:466
++msgid "Do not warn about using variadic macros when -pedantic"
++msgstr "-pedantic varken değişkin makroların kullanımı durumunda uyarır"
++
++#: c.opt:470
++#, fuzzy
++msgid "Warn if a variable length array is used"
++msgstr "Bir değişken kullanılmamışsa uyarır"
++
++#: c.opt:474
++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.opt:478
++msgid "Warn when a pointer differs in signedness in an assignment"
++msgstr "Bir atamada bir göstericinin türü farklı sign'lı ise uyarır."
++
++#: c.opt:482
++msgid "A synonym for -std=c89 (for C) or -std=c++98 (for C++)"
++msgstr "-std=c89 (C için) veya -std=c++98 (C++ için) ile aynı."
++
++#: c.opt:490
++msgid "Enforce class member access control semantics"
++msgstr "Sınıf üyesi erişim denetimi kurallarına uyulur"
++
++#: c.opt:497
++msgid "Change when template instances are emitted"
++msgstr "Şablon örneklemeleri çıktılanırken değiştirilir"
++
++#: c.opt:501
++msgid "Recognize the \"asm\" keyword"
++msgstr "\"asm\" anahtar sözcüğü tanınır"
++
++#: c.opt:505
++msgid "Recognize built-in functions"
++msgstr "Yerleşik işlevler tanınır"
++
++#: c.opt:512
++msgid "Check the return value of new"
++msgstr "new için dönüş değeri sınanır"
++
++#: c.opt:516
++msgid "Allow the arguments of the '?' operator to have different types"
++msgstr "? işlecinin argümanlarında farklı türlere izin verilir"
++
++#: c.opt:520
++msgid "Reduce the size of object files"
++msgstr "Nesne dosyalarını küçültür"
++
++#: c.opt:524
++msgid "Use class <name> for constant strings"
++msgstr "Sabit dizgeleri için <isim> sınıfı kullanılır"
++
++#: c.opt:528
++msgid "Inline member functions by default"
++msgstr "Öntanımlı olarak üye işlevler satıriçi yapılır"
++
++#: c.opt:532
++#, fuzzy
++msgid "Preprocess directives only."
++msgstr "#ident yönergeleri işlenir"
++
++#: c.opt:536
++msgid "Permit '$' as an identifier character"
++msgstr "Betimleyici karakter olarak '$' kullanılabilir"
++
++#: c.opt:543
++msgid "Generate code to check exception specifications"
++msgstr "Olağan dışılık belirtimlerini sınayacak kod üretilir"
++
++#: c.opt:550
++msgid "Convert all strings and character constants to character set <cset>"
++msgstr "Tüm dizgeler ve karakter sabitleri <kküme> karakter kümesine dönüştürülür"
++
++#: c.opt:554
++msgid "Permit universal character names (\\u and \\U) in identifiers"
++msgstr "Betimleyicilerde evrensel karakter isimleri (\\u ve \\U) kullanılabilir"
++
++#: c.opt:558
++msgid "Specify the default character set for source files"
++msgstr "Kaynak dosyaları için öntanımlı karakter kümesi belirtilir."
++
++#: c.opt:566
++msgid "Scope of for-init-statement variables is local to the loop"
++msgstr "For döngüsü ilklendirme deyimi değişkenlerinin etki alanı döngüye yereldir"
++
++#: c.opt:570
++msgid "Do not assume that standard C libraries and \"main\" exist"
++msgstr "Standart kitaplıklarının ve \"main\" işlevinin varolduğu varsayılmaz"
++
++#: c.opt:574
++msgid "Recognize GNU-defined keywords"
++msgstr "GNU tanımlı anahtar sözcükler tanınır"
++
++#: c.opt:578
++msgid "Generate code for GNU runtime environment"
++msgstr "Kod GNU çalışma anı ortamı için üretilir"
++
++#: c.opt:582
++#, fuzzy
++msgid "Use traditional GNU semantics for inline functions"
++msgstr "geleneksel C union ilklendirmesini reddeder"
++
++#: c.opt:595
++msgid "Assume normal C execution environment"
++msgstr "Normal C çalıştırma ortamı var sayılır"
++
++#: c.opt:599
++msgid "Enable support for huge objects"
++msgstr "Dev nesneler için destek etkinleştirilir"
++
++#: c.opt:603
++msgid "Export functions even if they can be inlined"
++msgstr "Satıriçine alınmış olsalar bile işlevler ihraç edilir"
++
++#: c.opt:607
++msgid "Emit implicit instantiations of inline templates"
++msgstr "Satıriçi şablonların örtük örneklenimleri çıktılanır"
++
++#: c.opt:611
++msgid "Emit implicit instantiations of templates"
++msgstr "Şablonlarının örtük örneklenimleri çıktılanır"
++
++#: c.opt:615
++msgid "Inject friend functions into enclosing namespace"
++msgstr "Kardeş işlevler kapsayan isi alanına gömülür"
++
++#: c.opt:622
++msgid "Allow implicit conversions between vectors with differing numbers of subparts and/or differing element types."
++msgstr ""
++
++#: c.opt:626
++msgid "Don't warn about uses of Microsoft extensions"
++msgstr "Microsoft oluşumlarının kullanımında uyarmaz"
++
++#: c.opt:636
++msgid "Generate code for NeXT (Apple Mac OS X) runtime environment"
++msgstr "Kod NeXT (Apple Mac OS X) çalışma ortamı için üretilir"
++
++#: c.opt:640
++msgid "Assume that receivers of Objective-C messages may be nil"
++msgstr "Nesnel-C iletileri alıcılarının nil olabileceği varsayılır"
++
++#: c.opt:652
++msgid "Generate special Objective-C methods to initialize/destroy non-POD C++ ivars, if needed"
++msgstr "Gerekirse, POD-dışı C++ ivar'ları ilklendirecek/yıkacak özel Nesnel-C yöntemleri üretilir"
++
++#: c.opt:656
++msgid "Allow fast jumps to the message dispatcher"
++msgstr "İleti dağıtıcıya hızlı jump'lara izin verilir"
++
++#: c.opt:662
++msgid "Enable Objective-C exception and synchronization syntax"
++msgstr "Nesnel-C olağan dışılık ve eşzamanlama söz dizimi etkinleştirilir"
++
++#: c.opt:666
++msgid "Enable garbage collection (GC) in Objective-C/Objective-C++ programs"
++msgstr "Nesnel-C/Nesnel-C++ yazılımlarda çöp toplayıcı (GC) etkin olur"
++
++#: c.opt:671
++msgid "Enable Objective-C setjmp exception handling runtime"
++msgstr "Nesnel-C setjmp olağan dışılığını yakalama çalışma anı etkin olur"
++
++#: c.opt:675
++#, fuzzy
++msgid "Enable OpenMP"
++msgstr "Hata ayıklama etkin olur"
++
++#: c.opt:679
++msgid "Recognize C++ kewords like \"compl\" and \"xor\""
++msgstr "\"compl\" ve \"xor\" benzeri C++ anahtar sözcükleri tanınır"
++
++#: c.opt:683
++msgid "Enable optional diagnostics"
++msgstr "Seçimlik teşhisler etkin olur"
++
++#: c.opt:690
++msgid "Look for and use PCH files even when preprocessing"
++msgstr "Önişlem yaparken bile PCH dosyalarına bakılır ve kullanılır"
++
++#: c.opt:694
++msgid "Downgrade conformance errors to warnings"
++msgstr "Uyumluluk hatalarını uyarılara indirger"
++
++#: c.opt:698
++msgid "Treat the input file as already preprocessed"
++msgstr "Girdi dosyaları evvelce önişlemden geçirilmiş kabul edilir"
++
++#: c.opt:702
++msgid "Used in Fix-and-Continue mode to indicate that object files may be swapped in at runtime"
++msgstr "Nesne dosyalarının çalışma anında takaslanabileceğini belirten Fix-and-Continue kipi kullanılır"
++
++#: c.opt:706
++msgid "Enable automatic template instantiation"
++msgstr "Özdevinimli şablon örneklenimi etkin olur"
++
++#: c.opt:710
++msgid "Generate run time type descriptor information"
++msgstr "Çalışma anı tür tanımlayıcı bilgisi üretilir"
++
++#: c.opt:714
++msgid "Use the same size for double as for float"
++msgstr "double türler için de float tür genişliği kullanılır"
++
++#: c.opt:722
++msgid "Force the underlying type for \"wchar_t\" to be \"unsigned short\""
++msgstr "\"wchar_t\" için temel türün \"unsigned short\" olmasını sağlar"
++
++#: c.opt:726
++msgid "When \"signed\" or \"unsigned\" is not given make the bitfield signed"
++msgstr "\"signed\" veya \"unsigned\" verilmezse bit alanı sign'lı yapılır"
++
++#: c.opt:730
++msgid "Make \"char\" signed by default"
++msgstr "Öntanımlı olarak \"char\" sign'lı yapılır"
++
++#: c.opt:737
++msgid "Display statistics accumulated during compilation"
++msgstr "Derleme sırasında toplanan istatistikler gösterilir"
++
++#: c.opt:744
++msgid "Distance between tab stops for column reporting"
++msgstr "Sütunlu raporlama için sekme durakları arası mesafe"
++
++#: c.opt:748
++msgid "Specify maximum template instantiation depth"
++msgstr "Azami şablon örnekleme derinliği belirtilir"
++
++#: c.opt:755
++msgid "Do not generate thread-safe code for initializing local statics"
++msgstr "Yerel istatistiklerin ilklendirilmesi için evrece güvenli kod üretilmez"
++
++#: c.opt:759
++msgid "When \"signed\" or \"unsigned\" is not given make the bitfield unsigned"
++msgstr "\"signed\" veya \"unsigned\" verilmediğinde bit alanı unsigned olur"
++
++#: c.opt:763
++msgid "Make \"char\" unsigned by default"
++msgstr "\"char\" öntanımlı olarak unsigned yapılır"
++
++#: c.opt:767
++msgid "Use __cxa_atexit to register destructors"
++msgstr "Yazmaç yıkıcılara __cxa_atexit kullanılır"
++
++#: c.opt:771
++msgid "Use __cxa_get_exception_ptr in exception handling"
++msgstr ""
++
++#: c.opt:775
++msgid "Marks all inlined methods as having hidden visibility"
++msgstr "Tüm satıriçine alınmış yöntemler gizli görünürlüğe sahip olarak imlenir"
++
++#: c.opt:779
++msgid "Changes visibility to match Microsoft Visual Studio by default"
++msgstr ""
++
++#: c.opt:783
++msgid "Discard unused virtual functions"
++msgstr "Kullanılmayan sanal işlevler iptal edilir"
++
++#: c.opt:787
++msgid "Implement vtables using thunks"
++msgstr "Sanal tablolar 16/32 bit dönüştürücülerle gerçeklenir"
++
++#: c.opt:791
++msgid "Emit common-like symbols as weak symbols"
++msgstr "Benzer semboller zayıf semboller olarak ele alınir"
++
++#: c.opt:795
++msgid "Convert all wide strings and character constants to character set <cset>"
++msgstr "Tüm geniş karakterli dizgeler ve sabitler <kküme> karakter kümesine dönüştürülür"
++
++#: c.opt:799
++msgid "Generate a #line directive pointing at the current working directory"
++msgstr "O anki çalışma dizinini betimleyen bir #line yönergesi üretilir"
++
++#: c.opt:803
++msgid "Emit cross referencing information"
++msgstr "Çapraz atıflama bilgisi yayınlanır"
++
++#: c.opt:807
++msgid "Generate lazy class lookup (via objc_getClass()) for use in Zero-Link mode"
++msgstr "Zero-Link kipinde kullanmak için çılgın sınıf araması (objc_getClass() üzerinden) üretilir"
++
++#: c.opt:811
++msgid "Dump declarations to a .decl file"
++msgstr "Bildirimler bir .decl dosyasına dökümlenir"
++
++#: c.opt:815
++msgid "Aggressive reduced debug info for structs"
++msgstr ""
++
++#: c.opt:819
++msgid "Conservative reduced debug info for structs"
++msgstr ""
++
++#: c.opt:823
++msgid "Detailed reduced debug info for structs"
++msgstr ""
++
++#: c.opt:827 c.opt:859
++msgid "Add <dir> to the end of the system include path"
++msgstr "<dizin> sistem başlık dosyaları arama yolunun sonuna eklenir"
++
++#: c.opt:831
++msgid "Accept definition of macros in <file>"
++msgstr "<dosya>daki makro tanımları kabul edilir"
++
++#: c.opt:835
++msgid "-imultilib <dir> Set <dir> to be the multilib include subdirectory"
++msgstr ""
++
++#: c.opt:839
++msgid "Include the contents of <file> before other files"
++msgstr "<dosya>nın içeriği diğer dosyaların başlangıcına eklenir"
++
++#: c.opt:843
++msgid "Specify <path> as a prefix for next two options"
++msgstr "<yol> sonraki iki seçenek için önek olur"
++
++#: c.opt:847
++msgid "Set <dir> to be the system root directory"
++msgstr "<dizin> sistemin kök dizini olur"
++
++#: c.opt:851
++msgid "Add <dir> to the start of the system include path"
++msgstr "<dizin> sistem başlık dosyaları arama yolunun başına eklenir"
++
++#: c.opt:855
++msgid "Add <dir> to the end of the quote include path"
++msgstr "<dizin> tırnaklı başlık dosyaları arama yolunun sonuna eklenir"
++
++#: c.opt:876
++msgid "Do not search standard system include directories (those specified with -isystem will still be used)"
++msgstr "Standart sistem başlık dosyaları dizinleri aranmaz (-isystem ile belirtilenler yine de kullanılır) "
++
++#: c.opt:880
++msgid "Do not search standard system include directories for C++"
++msgstr "C++ için standart sistem başlık dosyaları dizinleri aranmaz"
++
++#: c.opt:896
++msgid "Generate C header of platform-specific features"
++msgstr "Platforma özel niteliklerin C başlıklarını üretir"
++
++#: c.opt:900
++msgid "Print a checksum of the executable for PCH validity checking, and stop"
++msgstr "PCH doğrulama sınaması için bir çalıştırılabilir sağlaması basar ve durur"
++
++#: c.opt:904
++msgid "Remap file names when including files"
++msgstr "Dosyalar içerildiğinde dosya isimleri yeniden eşlenir"
++
++#: c.opt:908
++msgid "Conform to the ISO 1998 C++ standard"
++msgstr "ISO 1998 C++ standardına uyulur"
++
++#: c.opt:912
++#, fuzzy
++msgid "Conform to the ISO 1998 C++ standard, with extensions that are likely to"
++msgstr "GNU oluşumlu ISO 1998 C++ standardına uyulur"
++
++#: c.opt:919 c.opt:954
++msgid "Conform to the ISO 1990 C standard"
++msgstr "ISO 1990 C standardına uyulur"
++
++#: c.opt:923 c.opt:962
++msgid "Conform to the ISO 1999 C standard"
++msgstr "ISO 1999 C standardına uyulur"
++
++#: c.opt:927
++msgid "Deprecated in favor of -std=c99"
++msgstr "-std=c99 lehine kullanımı önerilmiyor"
++
++#: c.opt:931
++msgid "Conform to the ISO 1998 C++ standard with GNU extensions"
++msgstr "GNU oluşumlu ISO 1998 C++ standardına uyulur"
++
++#: c.opt:935
++#, fuzzy
++msgid "Conform to the ISO 1998 C++ standard, with GNU extensions and"
++msgstr "GNU oluşumlu ISO 1998 C++ standardına uyulur"
++
++#: c.opt:942
++msgid "Conform to the ISO 1990 C standard with GNU extensions"
++msgstr "GNU oluşumlu ISO 1990 C standardına uyulur"
++
++#: c.opt:946
++msgid "Conform to the ISO 1999 C standard with GNU extensions"
++msgstr "GNU oluşumlu ISO 1999 C standardına uyulur"
++
++#: c.opt:950
++msgid "Deprecated in favor of -std=gnu99"
++msgstr "-std=gnu99 lehine kullanımı önerilmiyor"
++
++#: c.opt:958
++msgid "Conform to the ISO 1990 C standard as amended in 1994"
++msgstr "ISO 1990 C standardına 1994 düzeltmesiyle uyulur"
++
++#: c.opt:966
++msgid "Deprecated in favor of -std=iso9899:1999"
++msgstr "-std=iso9899:1999 lehine kullanımı önerilmiyor"
++
++#: c.opt:970
++msgid "Enable traditional preprocessing"
++msgstr "Geleneksel önişlem etkin olur"
++
++#: c.opt:974
++msgid "Support ISO C trigraphs"
++msgstr "ISO C üçlü harfleri desteklenir"
++
++#: c.opt:978
++msgid "Do not predefine system-specific and GCC-specific macros"
++msgstr "Sisteme özgü ve GCCye özgü makrolar önceden tanımlanmaz"
++
++#: c.opt:982
++msgid "Enable verbose output"
++msgstr "Ayrıntılı çıktı verilir"
++
++#: ada/lang.opt:96
++msgid "Specify options to GNAT"
++msgstr "GNAT'a özgü seçenekler"
++
+ #: attribs.c:244
+ #, gcc-internal-format
+ msgid "%qs attribute directive ignored"
+@@ -16743,47 +16713,47 @@
+ msgid "offset outside bounds of constant string"
+ msgstr "göreli konum sabit dizgenin sınırlarının dışında"
+
+-#: builtins.c:1001
++#: builtins.c:1015
+ #, gcc-internal-format
+ msgid "second argument to %<__builtin_prefetch%> must be a constant"
+ msgstr "%<__builtin_prefetch%> için 2. argüman bir sabit olmalı"
+
+-#: builtins.c:1008
++#: builtins.c:1022
+ #, gcc-internal-format
+ msgid "invalid second argument to %<__builtin_prefetch%>; using zero"
+ msgstr "%<__builtin_prefetch%> için 2. argüman geçersiz; sıfır kullanılıyor"
+
+-#: builtins.c:1016
++#: builtins.c:1030
+ #, gcc-internal-format
+ msgid "third argument to %<__builtin_prefetch%> must be a constant"
+ msgstr "%<__builtin_prefetch%> için 3. argüman bir sabit olmalı"
+
+-#: builtins.c:1023
++#: builtins.c:1037
+ #, gcc-internal-format
+ msgid "invalid third argument to %<__builtin_prefetch%>; using zero"
+ msgstr "%<__builtin_prefetch%> için 3. argüman geçersiz; sıfır kullanılıyor"
+
+-#: builtins.c:4592
++#: builtins.c:4608
+ #, gcc-internal-format
+ msgid "argument of %<__builtin_args_info%> must be constant"
+ msgstr "%<__builtin_args_info%>'nun argümanı bir sabit olmalıdır"
+
+-#: builtins.c:4598
++#: builtins.c:4614
+ #, gcc-internal-format
+ msgid "argument of %<__builtin_args_info%> out of range"
+ msgstr "%<__builtin_args_info%>'nun argümanı aralık dışında"
+
+-#: builtins.c:4604
++#: builtins.c:4620
+ #, gcc-internal-format
+ msgid "missing argument in %<__builtin_args_info%>"
+ msgstr "%<__builtin_args_info%>'da argüman eksik"
+
+-#: builtins.c:4693 gimplify.c:2117
++#: builtins.c:4709 gimplify.c:2118
+ #, gcc-internal-format
+ msgid "too few arguments to function %<va_start%>"
+ msgstr "%<va_start%> işlevine çok az argüman verilmiş"
+
+-#: builtins.c:4857
++#: builtins.c:4872
+ #, gcc-internal-format
+ msgid "first argument to %<va_arg%> not of type %<va_list%>"
+ msgstr "%<va_arg%>'ın ilk argümanının türü %<va_list%> değil"
+@@ -16791,95 +16761,105 @@
+ #. Unfortunately, this is merely undefined, rather than a constraint
+ #. violation, so we cannot make this an error. If this call is never
+ #. executed, the program is still strictly conforming.
+-#: builtins.c:4871
++#: builtins.c:4886
+ #, gcc-internal-format
+ msgid "%qT is promoted to %qT when passed through %<...%>"
+ msgstr "%qT %<...%> üzerinden aktarılırken %qT'ye yükseltgenir"
+
+-#: builtins.c:4876
++#: builtins.c:4891
+ #, gcc-internal-format
+ msgid "(so you should pass %qT not %qT to %<va_arg%>)"
+ msgstr "(bu durumda %<va_arg%>'a %qT değil %qT akarılmalı)"
+
+ #. We can, however, treat "undefined" any way we please.
+ #. Call abort to encourage the user to fix the program.
+-#: builtins.c:4882 c-typeck.c:2408
++#: builtins.c:4897 c-typeck.c:2419
+ #, gcc-internal-format
+ msgid "if this code is reached, the program will abort"
+ msgstr "Bu kodun bitiminde uygulama çıkacak"
+
+-#: builtins.c:5000
++#: builtins.c:5015
+ #, gcc-internal-format
+ msgid "invalid argument to %<__builtin_frame_address%>"
+ msgstr "%<__builtin_frame_address%>'e aktarılan argüman geçersiz"
+
+-#: builtins.c:5002
++#: builtins.c:5017
+ #, gcc-internal-format
+ msgid "invalid argument to %<__builtin_return_address%>"
+ msgstr "%<__builtin_return_address%>'e aktarılan argüman geçersiz"
+
+-#: builtins.c:5015
++#: builtins.c:5030
+ #, gcc-internal-format
+ msgid "unsupported argument to %<__builtin_frame_address%>"
+ msgstr "%<__builtin_frame_address%>'e aktarılan argüman desteklenmiyor"
+
+-#: builtins.c:5017
++#: builtins.c:5032
+ #, gcc-internal-format
+ msgid "unsupported argument to %<__builtin_return_address%>"
+ msgstr "%<__builtin_return_address%>'e aktarılan argüman desteklenmiyor"
+
+-#: builtins.c:5564
++#: builtins.c:5579
+ #, fuzzy, gcc-internal-format
+ msgid "both arguments to %<__builtin___clear_cache%> must be pointers"
+ msgstr "%<__builtin_prefetch%> için 3. argüman bir sabit olmalı"
+
+ #. All valid uses of __builtin_va_arg_pack () are removed during
+ #. inlining.
+-#: builtins.c:6276 expr.c:8024
++#: builtins.c:6291 expr.c:8023
+ #, fuzzy
+ msgid "%Kinvalid use of %<__builtin_va_arg_pack ()%>"
+ msgstr "%<__builtin_frame_address%>'e aktarılan argüman geçersiz"
+
+ #. All valid uses of __builtin_va_arg_pack_len () are removed during
+ #. inlining.
+-#: builtins.c:6282
++#: builtins.c:6297
+ #, fuzzy
+ msgid "%Kinvalid use of %<__builtin_va_arg_pack_len ()%>"
+ msgstr "%<__builtin_frame_address%>'e aktarılan argüman geçersiz"
+
+-#: builtins.c:6578
++#: builtins.c:6593
+ #, gcc-internal-format
+ msgid "%<__builtin_longjmp%> second argument must be 1"
+ msgstr "%<__builtin_longjmp%>'in ikinci argümanı 1 olmalı"
+
+-#: builtins.c:7209
++#: builtins.c:7224
+ #, gcc-internal-format
+ msgid "target format does not support infinity"
+ msgstr "hedef biçim sonsuzu desteklemiyor"
+
+-#: builtins.c:9623 builtins.c:9712
++#: builtins.c:9638 builtins.c:9727 builtins.c:10082
+ #, gcc-internal-format
+ msgid "non-floating-point argument to function %qs"
+ msgstr "%qs işlevine kayan noktalı olmayan argüman"
+
+-#: builtins.c:11303
++#: builtins.c:10446 builtins.c:10466
+ #, gcc-internal-format
++msgid "too few arguments to function %qs"
++msgstr "%qs işlevi için argümanlar çok az"
++
++#: builtins.c:10452 builtins.c:10472
++#, gcc-internal-format
++msgid "too many arguments to function %qs"
++msgstr "%qs işlevi için argümanlar çok fazla"
++
++#: builtins.c:11377
++#, gcc-internal-format
+ msgid "%<va_start%> used in function with fixed args"
+ msgstr "%<va_start%> işlev içinde sabit sayıda argümanla kullanılmış"
+
+-#: builtins.c:11311
++#: builtins.c:11385
+ #, fuzzy, gcc-internal-format
+ msgid "wrong number of arguments to function %<va_start%>"
+ msgstr "%<va_start%> işlevine çok az argüman verilmiş"
+
+ #. Evidently an out of date version of <stdarg.h>; can't validate
+ #. va_start's second argument, but can still work as intended.
+-#: builtins.c:11324
++#: builtins.c:11398
+ #, gcc-internal-format
+ msgid "%<__builtin_next_arg%> called without an argument"
+ msgstr "%<__builtin_next_arg%> argümansız çağrılmış"
+
+-#: builtins.c:11329
++#: builtins.c:11403
+ #, fuzzy, gcc-internal-format
+ msgid "wrong number of arguments to function %<__builtin_next_arg%>"
+ msgstr "%<va_start%> işlevine çok az argüman verilmiş"
+@@ -16889,27 +16869,27 @@
+ #. argument. We just warn and set the arg to be the last
+ #. argument so that we will get wrong-code because of
+ #. it.
+-#: builtins.c:11358
++#: builtins.c:11432
+ #, gcc-internal-format
+ msgid "second parameter of %<va_start%> not last named argument"
+ msgstr "%<va_start%>'in ikinci parametresi isimli son argüman değil"
+
+-#: builtins.c:11472
++#: builtins.c:11546
+ #, fuzzy
+ msgid "%Kfirst argument of %D must be a pointer, second integer constant"
+ msgstr "%H%D için ilk argüman bir gösterici, ikinci argüman sabit olmalıdır"
+
+-#: builtins.c:11485
++#: builtins.c:11559
+ #, fuzzy
+ msgid "%Klast argument of %D is not integer constant between 0 and 3"
+ msgstr "%H%D için son argüman 0 .. 3 arasında bir tamsayı sabit değil"
+
+-#: builtins.c:11529 builtins.c:11693 builtins.c:11752
++#: builtins.c:11603 builtins.c:11767 builtins.c:11826
+ #, fuzzy
+ msgid "%Kcall to %D will always overflow destination buffer"
+ msgstr "%H%D çağrısı hedef tamponu daima üstten taşırır"
+
+-#: builtins.c:11683
++#: builtins.c:11757
+ #, fuzzy
+ msgid "%Kcall to %D might overflow destination buffer"
+ msgstr "%H%D çağrısı hedef tamponu daima üstten taşırır"
+@@ -17033,440 +17013,440 @@
+ msgid "conversion to %qT alters %qT constant value"
+ msgstr "%qT türünden %qT türüne dönüşüm belirsiz"
+
+-#: c-common.c:1296
++#: c-common.c:1299
+ #, fuzzy, gcc-internal-format
+ msgid "conversion to %qT from %qT may change the sign of the result"
+ msgstr "%qE ifadesinin %qT türünden %qT türüne dönüşümü belirsiz"
+
+-#: c-common.c:1325
++#: c-common.c:1328
+ #, fuzzy, gcc-internal-format
+ msgid "conversion to %qT from %qT may alter its value"
+ msgstr "%qE ifadesinin %qT türünden %qT türüne dönüşümü belirsiz"
+
+-#: c-common.c:1353
++#: c-common.c:1356
+ #, gcc-internal-format
+ msgid "large integer implicitly truncated to unsigned type"
+ msgstr "büyük tamsayı örtük olarak unsigned türe indirgendi"
+
+-#: c-common.c:1359 c-common.c:1366 c-common.c:1374
++#: c-common.c:1362 c-common.c:1369 c-common.c:1377
+ #, gcc-internal-format
+ msgid "overflow in implicit constant conversion"
+ msgstr "örtük sabit dönüşümünde üstten taşma"
+
+-#: c-common.c:1528
++#: c-common.c:1531
+ #, gcc-internal-format
+ msgid "operation on %qE may be undefined"
+ msgstr "%qE ifadesinde işlem tanımsız olabilir"
+
+-#: c-common.c:1821
++#: c-common.c:1824
+ #, gcc-internal-format
+ msgid "case label does not reduce to an integer constant"
+ msgstr "case yaftası bir tamsayı sabite indirgenmez"
+
+-#: c-common.c:1861
++#: c-common.c:1864
+ #, gcc-internal-format
+ msgid "case label value is less than minimum value for type"
+ msgstr "case yaftasının değeri veri türünün izin verdiği değerden küçük"
+
+-#: c-common.c:1869
++#: c-common.c:1872
+ #, gcc-internal-format
+ msgid "case label value exceeds maximum value for type"
+ msgstr "case yaftasının değeri veri türünün izin verdiği değerden büyük"
+
+-#: c-common.c:1877
++#: c-common.c:1880
+ #, gcc-internal-format
+ msgid "lower value in case label range less than minimum value for type"
+ msgstr "case yafta aralığının alt değeri veri türünün izin verdiği değerden küçük"
+
+-#: c-common.c:1886
++#: c-common.c:1889
+ #, gcc-internal-format
+ msgid "upper value in case label range exceeds maximum value for type"
+ msgstr "case yafta aralığının üst değeri veri türünün izin verdiği değerden büyük"
+
+-#: c-common.c:1960
++#: c-common.c:1963
+ #, gcc-internal-format
+ msgid "GCC cannot support operators with integer types and fixed-point types that have too many integral and fractional bits together"
+ msgstr ""
+
+-#: c-common.c:2450
++#: c-common.c:2453
+ #, fuzzy, gcc-internal-format
+ msgid "invalid operands to binary %s (have %qT and %qT)"
+ msgstr "iki terimli %s için terimler geçersiz"
+
+-#: c-common.c:2686
++#: c-common.c:2689
+ #, gcc-internal-format
+ msgid "comparison is always false due to limited range of data type"
+ msgstr "veri türünün aralığı sınırlı olduğundan karşılaştırma sonucu daima yanlıştır"
+
+-#: c-common.c:2688
++#: c-common.c:2691
+ #, gcc-internal-format
+ msgid "comparison is always true due to limited range of data type"
+ msgstr "veri türünün aralığı sınırlı olduğundan karşılaştırma sonucu daima doğrudur"
+
+-#: c-common.c:2767
++#: c-common.c:2770
+ #, gcc-internal-format
+ msgid "comparison of unsigned expression >= 0 is always true"
+ msgstr "unsigned ifade >=0 karşılaştırması daima doğrudur"
+
+-#: c-common.c:2777
++#: c-common.c:2780
+ #, gcc-internal-format
+ msgid "comparison of unsigned expression < 0 is always false"
+ msgstr "unsigned ifade < 0 karşılaştırması daima yanlıştır"
+
+-#: c-common.c:2818
++#: c-common.c:2821
+ #, gcc-internal-format
+ msgid "pointer of type %<void *%> used in arithmetic"
+ msgstr "aritmetikte %<void *%> türünde gösterici kullanılmış"
+
+-#: c-common.c:2824
++#: c-common.c:2827
+ #, gcc-internal-format
+ msgid "pointer to a function used in arithmetic"
+ msgstr "aritmetikte işlev göstericisi kullanılmış"
+
+-#: c-common.c:2830
++#: c-common.c:2833
+ #, gcc-internal-format
+ msgid "pointer to member function used in arithmetic"
+ msgstr "aritmetikte üye işlev göstericisi kullanılmış"
+
+-#: c-common.c:2982
++#: c-common.c:2985
+ #, fuzzy, gcc-internal-format
+ msgid "the address of %qD will always evaluate as %<true%>"
+ msgstr "%qD adresi, daima %<true%> olarak deÄŸerlendirilecek"
+
+-#: c-common.c:3051 cp/semantics.c:596 cp/typeck.c:6411
++#: c-common.c:3054 cp/semantics.c:597 cp/typeck.c:6438
+ #, gcc-internal-format
+ msgid "suggest parentheses around assignment used as truth value"
+ msgstr "atamayı sarmalayan parantezler muhtemelen doğruluk değeri olarak kullanılmış"
+
+-#: c-common.c:3123 c-typeck.c:8958
++#: c-common.c:3126 c-typeck.c:8969
+ #, gcc-internal-format
+ msgid "invalid use of %<restrict%>"
+ msgstr "%<restrict%> kullanımı geçersiz"
+
+-#: c-common.c:3339
++#: c-common.c:3346
+ #, gcc-internal-format
+ msgid "invalid application of %<sizeof%> to a function type"
+ msgstr "bir işlev türüne %<sizeof%> uygulanması geçersiz"
+
+-#: c-common.c:3349
++#: c-common.c:3356
+ #, gcc-internal-format
+ msgid "invalid application of %qs to a void type"
+ msgstr "bir void türe %qs uygulanması geçersiz"
+
+-#: c-common.c:3355
++#: c-common.c:3362
+ #, fuzzy, gcc-internal-format
+ msgid "invalid application of %qs to incomplete type %qT "
+ msgstr "%2$qT tamamlanmamış türüne %1$qs uygulanması geçersiz"
+
+-#: c-common.c:3396
++#: c-common.c:3403
+ #, gcc-internal-format
+ msgid "%<__alignof%> applied to a bit-field"
+ msgstr "%<__alignof%> bir bit-alanına uygulanmış"
+
+-#: c-common.c:3969
++#: c-common.c:3976
+ #, gcc-internal-format
+ msgid "cannot disable built-in function %qs"
+ msgstr "%qs yerleÅŸik iÅŸlevi iptal edilemez"
+
+-#: c-common.c:4172
++#: c-common.c:4179
+ #, gcc-internal-format
+ msgid "pointers are not permitted as case values"
+ msgstr "case değeri olarak göstericiler kullanılamaz"
+
+-#: c-common.c:4178
++#: c-common.c:4185
+ #, gcc-internal-format
+ msgid "range expressions in switch statements are non-standard"
+ msgstr "switch deyimlerinde aralık ifadeleri standartdışıdır"
+
+-#: c-common.c:4204
++#: c-common.c:4211
+ #, gcc-internal-format
+ msgid "empty range specified"
+ msgstr "boş aralık belirtilmiş"
+
+-#: c-common.c:4264
++#: c-common.c:4271
+ #, gcc-internal-format
+ msgid "duplicate (or overlapping) case value"
+ msgstr "yinelenmiÅŸ (ya da birbirini kapsayan) case deÄŸerleri"
+
+-#: c-common.c:4265
++#: c-common.c:4272
+ #, gcc-internal-format
+ msgid "%Jthis is the first entry overlapping that value"
+ msgstr "%Jbu, aynı değeri kapsayan ilk girdi"
+
+-#: c-common.c:4269
++#: c-common.c:4276
+ #, gcc-internal-format
+ msgid "duplicate case value"
+ msgstr "yinelenmiÅŸ case deÄŸeri"
+
+-#: c-common.c:4270
++#: c-common.c:4277
+ #, gcc-internal-format
+ msgid "%Jpreviously used here"
+ msgstr "%Jönce burada kullanılmış"
+
+-#: c-common.c:4274
++#: c-common.c:4281
+ #, gcc-internal-format
+ msgid "multiple default labels in one switch"
+ msgstr "tek switch'te çok sayıda default"
+
+-#: c-common.c:4275
++#: c-common.c:4282
+ #, gcc-internal-format
+ msgid "%Jthis is the first default label"
+ msgstr "%Jbu, ilk default"
+
+-#: c-common.c:4324
++#: c-common.c:4331
+ #, gcc-internal-format
+ msgid "%Jcase value %qs not in enumerated type"
+ msgstr "%Jcase değeri %qs sembolik sabit türünde değil"
+
+-#: c-common.c:4327
++#: c-common.c:4334
+ #, gcc-internal-format
+ msgid "%Jcase value %qs not in enumerated type %qT"
+ msgstr "%Jcase değeri %qs, %qT sembolik sabit türünde değil"
+
+-#: c-common.c:4385
++#: c-common.c:4392
+ #, gcc-internal-format
+ msgid "%Hswitch missing default case"
+ msgstr "%Hswitch içinde default eksik"
+
+-#: c-common.c:4448
++#: c-common.c:4455
+ #, gcc-internal-format
+ msgid "%Henumeration value %qE not handled in switch"
+ msgstr "%Hsembolik sabit deÄŸeri %qE switch deyiminde elde edilemedi"
+
+-#: c-common.c:4472
++#: c-common.c:4479
+ #, gcc-internal-format
+ msgid "taking the address of a label is non-standard"
+ msgstr "bir yafta adresinin alınması standartdışıdır"
+
+-#: c-common.c:4622
++#: c-common.c:4629
+ #, fuzzy, gcc-internal-format
+ msgid "%qE attribute ignored for field of type %qT"
+ msgstr "%2$qT türünde alan için %1$qE özniteliği yoksayıldı"
+
+-#: c-common.c:4633 c-common.c:4652 c-common.c:4670 c-common.c:4697
+-#: c-common.c:4724 c-common.c:4750 c-common.c:4769 c-common.c:4793
+-#: c-common.c:4816 c-common.c:4839 c-common.c:4860 c-common.c:4881
+-#: c-common.c:4905 c-common.c:4931 c-common.c:4968 c-common.c:4995
+-#: c-common.c:5046 c-common.c:5130 c-common.c:5160 c-common.c:5179
+-#: c-common.c:5499 c-common.c:5559 c-common.c:5580 c-common.c:5644
+-#: c-common.c:5762 c-common.c:5828 c-common.c:5877 c-common.c:5923
+-#: c-common.c:5993 c-common.c:6017 c-common.c:6301 c-common.c:6324
++#: c-common.c:4640 c-common.c:4659 c-common.c:4677 c-common.c:4704
++#: c-common.c:4731 c-common.c:4757 c-common.c:4776 c-common.c:4800
++#: c-common.c:4823 c-common.c:4846 c-common.c:4867 c-common.c:4888
++#: c-common.c:4912 c-common.c:4938 c-common.c:4975 c-common.c:5002
++#: c-common.c:5045 c-common.c:5129 c-common.c:5159 c-common.c:5178
++#: c-common.c:5498 c-common.c:5558 c-common.c:5579 c-common.c:5643
++#: c-common.c:5761 c-common.c:5827 c-common.c:5876 c-common.c:5922
++#: c-common.c:5992 c-common.c:6016 c-common.c:6301 c-common.c:6324
+ #: c-common.c:6363
+ #, gcc-internal-format
+ msgid "%qE attribute ignored"
+ msgstr "%qE özniteliği yoksayıldı"
+
+-#: c-common.c:4715 c-common.c:4741
++#: c-common.c:4722 c-common.c:4748
+ #, fuzzy, gcc-internal-format
+ msgid "%qE attribute conflicts with attribute %s"
+ msgstr "%s özniteliği ile %s özniteliği %L'de çelişiyor"
+
+-#: c-common.c:4962
++#: c-common.c:4969
+ #, gcc-internal-format
+ msgid "%qE attribute have effect only on public objects"
+ msgstr "%qE özniteliği sadece genel nesnelerde etkilidir"
+
+-#: c-common.c:5067
++#: c-common.c:5066
+ #, fuzzy, gcc-internal-format
+ msgid "destructor priorities are not supported"
+ msgstr "trampolines desteklenmiyor"
+
+-#: c-common.c:5069
++#: c-common.c:5068
+ #, fuzzy, gcc-internal-format
+ msgid "constructor priorities are not supported"
+ msgstr "trampolines desteklenmiyor"
+
+-#: c-common.c:5086
++#: c-common.c:5085
+ #, gcc-internal-format
+ msgid "destructor priorities from 0 to %d are reserved for the implementation"
+ msgstr ""
+
+-#: c-common.c:5091
++#: c-common.c:5090
+ #, gcc-internal-format
+ msgid "constructor priorities from 0 to %d are reserved for the implementation"
+ msgstr ""
+
+-#: c-common.c:5099
++#: c-common.c:5098
+ #, gcc-internal-format
+ msgid "destructor priorities must be integers from 0 to %d inclusive"
+ msgstr ""
+
+-#: c-common.c:5102
++#: c-common.c:5101
+ #, gcc-internal-format
+ msgid "constructor priorities must be integers from 0 to %d inclusive"
+ msgstr ""
+
+-#: c-common.c:5221
++#: c-common.c:5220
+ #, gcc-internal-format
+ msgid "unknown machine mode %qs"
+ msgstr "%qs makine kipi bilinmiyor"
+
+-#: c-common.c:5250
++#: c-common.c:5249
+ #, gcc-internal-format
+ msgid "specifying vector types with __attribute__ ((mode)) is deprecated"
+ msgstr "vektör türlerin __attribute__ ((kip)) ile belirtilmesi artık önerilmiyor"
+
+-#: c-common.c:5253
++#: c-common.c:5252
+ #, gcc-internal-format
+ msgid "use __attribute__ ((vector_size)) instead"
+ msgstr "onun yerine __attribute__ ((vektör_boyutu)) kullanın"
+
+-#: c-common.c:5262
++#: c-common.c:5261
+ #, gcc-internal-format
+ msgid "unable to emulate %qs"
+ msgstr "%qs öykünümü mümkün değil"
+
+-#: c-common.c:5272
++#: c-common.c:5271
+ #, gcc-internal-format
+ msgid "invalid pointer mode %qs"
+ msgstr "gösterici kipi olarak %qs geçersiz"
+
+-#: c-common.c:5289
++#: c-common.c:5288
+ #, gcc-internal-format
+ msgid "signness of type and machine mode %qs don't match"
+ msgstr ""
+
+-#: c-common.c:5300
++#: c-common.c:5299
+ #, gcc-internal-format
+ msgid "no data type for mode %qs"
+ msgstr "%qs kipi için bir veri türü yok"
+
+-#: c-common.c:5310
++#: c-common.c:5309
+ #, gcc-internal-format
+ msgid "cannot use mode %qs for enumeral types"
+ msgstr "%qs kipi sembolik sabit türler için kullanılamaz"
+
+-#: c-common.c:5337
++#: c-common.c:5336
+ #, gcc-internal-format
+ msgid "mode %qs applied to inappropriate type"
+ msgstr "%qs kipi ilgisiz türe uygulanmış"
+
+-#: c-common.c:5368
++#: c-common.c:5367
+ #, gcc-internal-format
+ msgid "%Jsection attribute cannot be specified for local variables"
+ msgstr "%Jbölüm özniteliği yerel değişkenler için belirtilmiş olamaz"
+
+-#: c-common.c:5379 config/bfin/bfin.c:4879 config/bfin/bfin.c:4930
++#: c-common.c:5378 config/bfin/bfin.c:4982 config/bfin/bfin.c:5033
+ #, gcc-internal-format
+ msgid "section of %q+D conflicts with previous declaration"
+ msgstr "%q+D bölümü önceki bildirimle çelişiyor"
+
+-#: c-common.c:5388
++#: c-common.c:5387
+ #, gcc-internal-format
+ msgid "section attribute not allowed for %q+D"
+ msgstr "bölüm özniteliğine %q+D için izin verilmez"
+
+-#: c-common.c:5394
++#: c-common.c:5393
+ #, gcc-internal-format
+ msgid "%Jsection attributes are not supported for this target"
+ msgstr "%Jbölüm öznitelikleri bu hedef için desteklenmiyor"
+
+-#: c-common.c:5426
++#: c-common.c:5425
+ #, gcc-internal-format
+ msgid "requested alignment is not a constant"
+ msgstr "istenen hizalama bir sabit deÄŸil"
+
+-#: c-common.c:5431
++#: c-common.c:5430
+ #, gcc-internal-format
+ msgid "requested alignment is not a power of 2"
+ msgstr "istenen hizalama 2 nin kuvveti deÄŸil"
+
+-#: c-common.c:5436
++#: c-common.c:5435
+ #, gcc-internal-format
+ msgid "requested alignment is too large"
+ msgstr "istenen hizalama çok büyük"
+
+-#: c-common.c:5462
++#: c-common.c:5461
+ #, gcc-internal-format
+ msgid "alignment may not be specified for %q+D"
+ msgstr "hizalama, %q+D için belirtilmiş olmayabilir"
+
+-#: c-common.c:5469
++#: c-common.c:5468
+ #, gcc-internal-format
+ msgid "alignment for %q+D was previously specified as %d and may not be decreased"
+ msgstr ""
+
+-#: c-common.c:5473
++#: c-common.c:5472
+ #, fuzzy, gcc-internal-format
+ msgid "alignment for %q+D must be at least %d"
+ msgstr "`%s' için fiili argüman bir gösterici olmalı (%L'de)"
+
+-#: c-common.c:5522
++#: c-common.c:5521
+ #, gcc-internal-format
+ msgid "%q+D defined both normally and as an alias"
+ msgstr "%q+D hem normal hem de bir rumuz olarak tanımlanmış"
+
+-#: c-common.c:5538
++#: c-common.c:5537
+ #, gcc-internal-format
+ msgid "alias argument not a string"
+ msgstr "alias argümanı bir dizge değil"
+
+-#: c-common.c:5601
++#: c-common.c:5600
+ #, gcc-internal-format
+ msgid "%Jweakref attribute must appear before alias attribute"
+ msgstr "%Jweakref özniteliği alias özniteliğinden önce olmalı"
+
+-#: c-common.c:5631
++#: c-common.c:5630
+ #, gcc-internal-format
+ msgid "%qE attribute ignored on non-class types"
+ msgstr "%qE özniteliği sınıf türleri dışında yoksayılır"
+
+-#: c-common.c:5637
++#: c-common.c:5636
+ #, fuzzy, gcc-internal-format
+ msgid "%qE attribute ignored because %qT is already defined"
+ msgstr "%qE özniteliği sınıf türleri dışında yoksayılır"
+
+-#: c-common.c:5650
++#: c-common.c:5649
+ #, gcc-internal-format
+ msgid "visibility argument not a string"
+ msgstr "visibility argümanı bir dizge değil"
+
+-#: c-common.c:5662
++#: c-common.c:5661
+ #, gcc-internal-format
+ msgid "%qE attribute ignored on types"
+ msgstr "%qE özniteliği veri türlerinde yoksayılır"
+
+-#: c-common.c:5678
++#: c-common.c:5677
+ #, gcc-internal-format
+ msgid "visibility argument must be one of \"default\", \"hidden\", \"protected\" or \"internal\""
+ msgstr "visibility argümanı \"default\", \"hidden\", \"protected\" veya \"internal\" değerlerinden biri olmalıdır"
+
+-#: c-common.c:5689
++#: c-common.c:5688
+ #, fuzzy, gcc-internal-format
+ msgid "%qD redeclared with different visibility"
+ msgstr "%qD farklı erişimle tekrar bildirilmiş"
+
+-#: c-common.c:5692 c-common.c:5696
++#: c-common.c:5691 c-common.c:5695
+ #, gcc-internal-format
+ msgid "%qD was declared %qs which implies default visibility"
+ msgstr ""
+
+-#: c-common.c:5770
++#: c-common.c:5769
+ #, gcc-internal-format
+ msgid "tls_model argument not a string"
+ msgstr "tls_model argümanı bir dizge değil"
+
+-#: c-common.c:5783
++#: c-common.c:5782
+ #, gcc-internal-format
+ msgid "tls_model argument must be one of \"local-exec\", \"initial-exec\", \"local-dynamic\" or \"global-dynamic\""
+ msgstr "tls_model argümanı \"local-exec\", \"initial-exec\", \"local-dynamic\" veya \"global-dynamic\" değerlerinden biri olmalı"
+
+-#: c-common.c:5802 c-common.c:5897
++#: c-common.c:5801 c-common.c:5896
+ #, gcc-internal-format
+ msgid "%J%qE attribute applies only to functions"
+ msgstr "%J%qE özniteliği sadece işlevlere uygulanır"
+
+-#: c-common.c:5807 c-common.c:5902
++#: c-common.c:5806 c-common.c:5901
+ #, gcc-internal-format
+ msgid "%Jcan%'t set %qE attribute after definition"
+ msgstr "%J%qE özniteliği tanımdan sonra atanamaz"
+
+-#: c-common.c:5858
++#: c-common.c:5857
+ #, gcc-internal-format
+ msgid "alloc_size parameter outside range"
+ msgstr ""
+
+-#: c-common.c:5991
++#: c-common.c:5990
+ #, gcc-internal-format
+ msgid "%qE attribute ignored for %qE"
+ msgstr "%qE özniteliği %qE için yoksayıldı"
+@@ -17576,7 +17556,7 @@
+ msgid "cannot apply %<offsetof%> when %<operator[]%> is overloaded"
+ msgstr ""
+
+-#: c-common.c:6818 cp/typeck.c:4525
++#: c-common.c:6818 cp/typeck.c:4533
+ #, gcc-internal-format
+ msgid "attempt to take address of bit-field structure member %qD"
+ msgstr "bit-alanı yapısının %qD üyesinin adresi alınmaya çalışılıyor"
+@@ -17611,14 +17591,14 @@
+ msgid "size of array is too large"
+ msgstr "%qs dizisinin boyutu çok büyük"
+
+-#: c-common.c:7041 c-common.c:7090 c-typeck.c:2705
++#: c-common.c:7041 c-common.c:7090 c-typeck.c:2716
+ #, gcc-internal-format
+ msgid "too few arguments to function %qE"
+ msgstr "%qE işlevi için çok az argüman belirtildi"
+
+ #. ??? This should not be an error when inlining calls to
+ #. unprototyped functions.
+-#: c-common.c:7058 c-typeck.c:4374
++#: c-common.c:7058 c-typeck.c:4385
+ #, fuzzy, gcc-internal-format
+ msgid "incompatible type for argument %d of %qE"
+ msgstr "%2$qE işlevinin %1$d. argümanı için tür uyumsuz"
+@@ -17698,8 +17678,8 @@
+ #. an unprototyped function, it is compile-time undefined;
+ #. making it a constraint in that case was rejected in
+ #. DR#252.
+-#: c-convert.c:95 c-typeck.c:1775 c-typeck.c:4012 cp/typeck.c:1502
+-#: cp/typeck.c:5717 cp/typeck.c:6325 fortran/convert.c:88
++#: c-convert.c:95 c-typeck.c:1785 c-typeck.c:4023 cp/typeck.c:1548
++#: cp/typeck.c:5725 cp/typeck.c:6352 fortran/convert.c:88
+ #: treelang/tree-convert.c:79
+ #, gcc-internal-format
+ msgid "void value not ignored as it ought to be"
+@@ -17711,104 +17691,104 @@
+ msgid "conversion to non-scalar type requested"
+ msgstr "sabit türe dönüşüm istendi"
+
+-#: c-decl.c:546
++#: c-decl.c:547
+ #, gcc-internal-format
+ msgid "array %q+D assumed to have one element"
+ msgstr "%q+D dizisi tek elemanlı kabul edildi"
+
+-#: c-decl.c:651
++#: c-decl.c:652
+ #, gcc-internal-format
+ msgid "GCC supports only %u nested scopes"
+ msgstr "GCC iç içe sadece %u etki alanını destekler"
+
+-#: c-decl.c:737 cp/decl.c:358
++#: c-decl.c:738 cp/decl.c:359
+ #, gcc-internal-format
+ msgid "label %q+D used but not defined"
+ msgstr "%q+D yaftası tanımlanmadan kullanılmış"
+
+-#: c-decl.c:778
++#: c-decl.c:779
+ #, gcc-internal-format
+ msgid "nested function %q+D declared but never defined"
+ msgstr "iç işlev %q+D tanımlanmadan bildirilmiş"
+
+-#: c-decl.c:788
++#: c-decl.c:789
+ #, fuzzy, gcc-internal-format
+ msgid "inline function %q+D declared but never defined"
+ msgstr "iç işlev %q+D tanımlanmadan bildirilmiş"
+
+-#: c-decl.c:801 cp/decl.c:608
++#: c-decl.c:802 cp/decl.c:609
+ #, gcc-internal-format
+ msgid "unused variable %q+D"
+ msgstr "%q+D değişkeni kullanılmamış"
+
+-#: c-decl.c:805
++#: c-decl.c:806
+ #, gcc-internal-format
+ msgid "type of array %q+D completed incompatibly with implicit initialization"
+ msgstr "%q+D dizisinin türü örtük ilklendirme ile uyumsuz olarak tamamlanmış"
+
+-#: c-decl.c:1039
++#: c-decl.c:1040
+ #, gcc-internal-format
+ msgid "a parameter list with an ellipsis can%'t match an empty parameter name list declaration"
+ msgstr "Üç nokta imli bir parametre listesi bir boş parametre isim listesi bildirimi ile eşleşemez"
+
+-#: c-decl.c:1046
++#: c-decl.c:1047
+ #, gcc-internal-format
+ msgid "an argument type that has a default promotion can%'t match an empty parameter name list declaration"
+ msgstr "Bir öntanımlı yükseltme içeren bir argüman türü, bir boş parametre isim listesi bildirimi ile eşleşemez"
+
+-#: c-decl.c:1087
++#: c-decl.c:1088
+ #, gcc-internal-format
+ msgid "prototype for %q+D declares more arguments than previous old-style definition"
+ msgstr "%q+D prototipi önceki eski tarz tanımdan daha fazla argüman bildiriyor"
+
+-#: c-decl.c:1093
++#: c-decl.c:1094
+ #, gcc-internal-format
+ msgid "prototype for %q+D declares fewer arguments than previous old-style definition"
+ msgstr "%q+D prototipi önceki eski tarz tanımdan daha az argüman bildiriyor"
+
+-#: c-decl.c:1102
++#: c-decl.c:1103
+ #, gcc-internal-format
+ msgid "prototype for %q+D declares argument %d with incompatible type"
+ msgstr "%q+D prototipi %d. argümanı uyumsuz türde bildiriyor"
+
+ #. If we get here, no errors were found, but do issue a warning
+ #. for this poor-style construct.
+-#: c-decl.c:1115
++#: c-decl.c:1116
+ #, gcc-internal-format
+ msgid "prototype for %q+D follows non-prototype definition"
+ msgstr "%q+D prototipinden sonraki tanım bir prototip değil"
+
+-#: c-decl.c:1130
++#: c-decl.c:1131
+ #, gcc-internal-format
+ msgid "previous definition of %q+D was here"
+ msgstr "%q+D'nin önceki tanımı buradaydı"
+
+-#: c-decl.c:1132
++#: c-decl.c:1133
+ #, gcc-internal-format
+ msgid "previous implicit declaration of %q+D was here"
+ msgstr "%qD'nin önceki örtük bildirimi buradaydı"
+
+-#: c-decl.c:1134
++#: c-decl.c:1135
+ #, gcc-internal-format
+ msgid "previous declaration of %q+D was here"
+ msgstr "%qD'nin önceki bildirimi buradaydı"
+
+-#: c-decl.c:1174
++#: c-decl.c:1175
+ #, gcc-internal-format
+ msgid "%q+D redeclared as different kind of symbol"
+ msgstr "%q+D farklı bir simge çeşidi olarak tekrar bildirilmiş"
+
+-#: c-decl.c:1178
++#: c-decl.c:1179
+ #, gcc-internal-format
+ msgid "built-in function %q+D declared as non-function"
+ msgstr "yerleÅŸik iÅŸlev `%q+D iÅŸlev olarak bildirilmemiÅŸ"
+
+-#: c-decl.c:1181 c-decl.c:1298 c-decl.c:1983
++#: c-decl.c:1182 c-decl.c:1299 c-decl.c:1988
+ #, gcc-internal-format
+ msgid "declaration of %q+D shadows a built-in function"
+ msgstr "%q+D bildirimi bir yerleşik işlevi gölgeliyor"
+
+-#: c-decl.c:1190
++#: c-decl.c:1191
+ #, gcc-internal-format
+ msgid "redeclaration of enumerator %q+D"
+ msgstr "enumerator %q+D yeniden bildirilmiÅŸ"
+@@ -17816,274 +17796,274 @@
+ #. If types don't match for a built-in, throw away the
+ #. built-in. No point in calling locate_old_decl here, it
+ #. won't print anything.
+-#: c-decl.c:1211
++#: c-decl.c:1212
+ #, gcc-internal-format
+ msgid "conflicting types for built-in function %q+D"
+ msgstr "yerleşik işlev %q+D için tür çelişkisi"
+
+-#: c-decl.c:1235 c-decl.c:1248 c-decl.c:1258
++#: c-decl.c:1236 c-decl.c:1249 c-decl.c:1259
+ #, gcc-internal-format
+ msgid "conflicting types for %q+D"
+ msgstr "%q+D için çelişen türler"
+
+-#: c-decl.c:1256
++#: c-decl.c:1257
+ #, gcc-internal-format
+ msgid "conflicting type qualifiers for %q+D"
+ msgstr "%q+D için çelişen tür niteleyiciler"
+
+ #. Allow OLDDECL to continue in use.
+-#: c-decl.c:1273
++#: c-decl.c:1274
+ #, gcc-internal-format
+ msgid "redefinition of typedef %q+D"
+ msgstr "typedef %q+D için yeniden tanımlama"
+
+-#: c-decl.c:1324 c-decl.c:1426
++#: c-decl.c:1325 c-decl.c:1427
+ #, gcc-internal-format
+ msgid "redefinition of %q+D"
+ msgstr "%q+D için yeniden tanımlama"
+
+-#: c-decl.c:1359 c-decl.c:1464
++#: c-decl.c:1360 c-decl.c:1465
+ #, gcc-internal-format
+ msgid "static declaration of %q+D follows non-static declaration"
+ msgstr "%q+D statik bildirimi statik olmayan bildirimi izliyor"
+
+-#: c-decl.c:1369 c-decl.c:1376 c-decl.c:1453 c-decl.c:1461
++#: c-decl.c:1370 c-decl.c:1377 c-decl.c:1454 c-decl.c:1462
+ #, gcc-internal-format
+ msgid "non-static declaration of %q+D follows static declaration"
+ msgstr "%q+D statik olmayan bildirim statik bildirimi izliyor"
+
+-#: c-decl.c:1393
++#: c-decl.c:1394
+ #, gcc-internal-format
+ msgid "%<gnu_inline%> attribute present on %q+D"
+ msgstr ""
+
+-#: c-decl.c:1395
++#: c-decl.c:1396
+ #, fuzzy, gcc-internal-format
+ msgid "%Jbut not here"
+ msgstr "%J ilk tür burada"
+
+-#: c-decl.c:1413
++#: c-decl.c:1414
+ #, gcc-internal-format
+ msgid "thread-local declaration of %q+D follows non-thread-local declaration"
+ msgstr "%q+D'nin yerel-evreli bildirimi yerel-olmayan-evreli bildirimi izliyor"
+
+-#: c-decl.c:1416
++#: c-decl.c:1417
+ #, gcc-internal-format
+ msgid "non-thread-local declaration of %q+D follows thread-local declaration"
+ msgstr "%q+D'nin yerel-olmayan-evreli bildirimi yerel-evreli bildirimi izliyor"
+
+-#: c-decl.c:1446
++#: c-decl.c:1447
+ #, gcc-internal-format
+ msgid "extern declaration of %q+D follows declaration with no linkage"
+ msgstr "%q+D extern bildirimi ilintisiz bildirimi izliyor"
+
+-#: c-decl.c:1482
++#: c-decl.c:1483
+ #, gcc-internal-format
+ msgid "declaration of %q+D with no linkage follows extern declaration"
+ msgstr "ilintisiz %qD bildirimi extern bildirimini izliyor"
+
+-#: c-decl.c:1488
++#: c-decl.c:1489
+ #, gcc-internal-format
+ msgid "redeclaration of %q+D with no linkage"
+ msgstr "ilintisiz %q+D yeniden bildirimi"
+
+-#: c-decl.c:1502
++#: c-decl.c:1503
+ #, gcc-internal-format
+ msgid "redeclaration of %q+D with different visibility (old visibility preserved)"
+ msgstr "%q+D için farklı görünürlükle yeniden bildirim (eski görünürlük saklı)"
+
+-#: c-decl.c:1513
++#: c-decl.c:1514
+ #, gcc-internal-format
+ msgid "inline declaration of %qD follows declaration with attribute noinline"
+ msgstr "%qD satıriçi bildirimi satıriçi öznitelikli olmayan bildirimi izliyor"
+
+-#: c-decl.c:1520
++#: c-decl.c:1521
+ #, gcc-internal-format
+ msgid "declaration of %q+D with attribute noinline follows inline declaration "
+ msgstr "%qD satıriçi öznitelikli olmayan bildirimi satıriçi bildirimi izliyor"
+
+-#: c-decl.c:1539
++#: c-decl.c:1540
+ #, gcc-internal-format
+ msgid "%q+D declared inline after being called"
+ msgstr "%q+D çağrıdan sonra satıriçi bildirilmiş"
+
+-#: c-decl.c:1544
++#: c-decl.c:1545
+ #, gcc-internal-format
+ msgid "%q+D declared inline after its definition"
+ msgstr "%q+D tanımlandıktan sonra satıriçi bildirilmiş"
+
+-#: c-decl.c:1563
++#: c-decl.c:1564
+ #, gcc-internal-format
+ msgid "redefinition of parameter %q+D"
+ msgstr "%q+D parametresinin yeniden tanımlanması"
+
+-#: c-decl.c:1590
++#: c-decl.c:1591
+ #, gcc-internal-format
+ msgid "redundant redeclaration of %q+D"
+ msgstr "%q+D'nin gereksiz yeniden bildirimi"
+
+-#: c-decl.c:1970
++#: c-decl.c:1975
+ #, gcc-internal-format
+ msgid "declaration of %q+D shadows previous non-variable"
+ msgstr "%qD bildirimi bir önceki değişken olmayan bildirimi gölgeliyor"
+
+-#: c-decl.c:1975
++#: c-decl.c:1980
+ #, gcc-internal-format
+ msgid "declaration of %q+D shadows a parameter"
+ msgstr "%q+D bildirimi bir parametreyi gölgeliyor"
+
+-#: c-decl.c:1978
++#: c-decl.c:1983
+ #, gcc-internal-format
+ msgid "declaration of %q+D shadows a global declaration"
+ msgstr "%q+D bildirimi bir genel bildirimi gölgeliyor"
+
+-#: c-decl.c:1988
++#: c-decl.c:1993
+ #, gcc-internal-format
+ msgid "declaration of %q+D shadows a previous local"
+ msgstr "%q+D bildirimi önceki yerel bildirimi gölgeliyor"
+
+-#: c-decl.c:1991 cp/name-lookup.c:988 cp/name-lookup.c:1019
+-#: cp/name-lookup.c:1027
++#: c-decl.c:1996 cp/name-lookup.c:987 cp/name-lookup.c:1018
++#: cp/name-lookup.c:1026
+ #, gcc-internal-format
+ msgid "%Jshadowed declaration is here"
+ msgstr "%Jgölgeli bildirim burada"
+
+-#: c-decl.c:2183
++#: c-decl.c:2188
+ #, gcc-internal-format
+ msgid "nested extern declaration of %qD"
+ msgstr "%qD için iç içe 'extern' bildirimi"
+
+-#: c-decl.c:2346 c-decl.c:2349
++#: c-decl.c:2351 c-decl.c:2354
+ #, gcc-internal-format
+ msgid "implicit declaration of function %qE"
+ msgstr "%qE işlevinin örtük bildirimi"
+
+-#: c-decl.c:2411
++#: c-decl.c:2416
+ #, gcc-internal-format
+ msgid "incompatible implicit declaration of built-in function %qD"
+ msgstr "%qD yerleşik işlevinin uyumsuz örtük bildirimi"
+
+-#: c-decl.c:2420
++#: c-decl.c:2425
+ #, gcc-internal-format
+ msgid "incompatible implicit declaration of function %qD"
+ msgstr "%qD işlevinin uyumsuz örtük bildirimi"
+
+-#: c-decl.c:2473
++#: c-decl.c:2478
+ #, gcc-internal-format
+ msgid "%H%qE undeclared here (not in a function)"
+ msgstr "%H%qE burada bildirilmemiş (bir işlev içinde değil)"
+
+-#: c-decl.c:2478
++#: c-decl.c:2483
+ #, gcc-internal-format
+ msgid "%H%qE undeclared (first use in this function)"
+ msgstr "%H%qE bildirilmemiş (bu işlevde ilk kullanımı)"
+
+-#: c-decl.c:2482
++#: c-decl.c:2487
+ #, gcc-internal-format
+ msgid "%H(Each undeclared identifier is reported only once"
+ msgstr "%H(Bildirilmemiş her betimleyici görüldüğü her işlev"
+
+-#: c-decl.c:2483
++#: c-decl.c:2488
+ #, gcc-internal-format
+ msgid "%Hfor each function it appears in.)"
+ msgstr "%Hiçin sadece bir kez raporlanır.)"
+
+-#: c-decl.c:2521 cp/decl.c:2397
++#: c-decl.c:2526 cp/decl.c:2404
+ #, gcc-internal-format
+ msgid "label %qE referenced outside of any function"
+ msgstr "%qE yaftası işlev dışına başvuruyor"
+
+-#: c-decl.c:2563
++#: c-decl.c:2568
+ #, gcc-internal-format
+ msgid "duplicate label declaration %qE"
+ msgstr "%qE yaftası bildirimi yinelenmiş"
+
+-#: c-decl.c:2599
++#: c-decl.c:2604
+ #, gcc-internal-format
+ msgid "%Hduplicate label %qD"
+ msgstr "%Hyinelenmiş %qD yaftası"
+
+-#: c-decl.c:2609
++#: c-decl.c:2614
+ #, gcc-internal-format
+ msgid "%Jjump into statement expression"
+ msgstr "%Jdeyim ifadesine jump"
+
+-#: c-decl.c:2611
++#: c-decl.c:2616
+ #, gcc-internal-format
+ msgid "%Jjump into scope of identifier with variably modified type"
+ msgstr "%Jdeğişkene göre değişen türde betimleyici etki alanına jump"
+
+-#: c-decl.c:2626
++#: c-decl.c:2631
+ #, gcc-internal-format
+ msgid "%Htraditional C lacks a separate namespace for labels, identifier %qE conflicts"
+ msgstr "%Hgeleneksel C yaftalar için ayrı bir isim alanından yoksundur, %qE betimleyici çelişiyor"
+
+-#: c-decl.c:2701
++#: c-decl.c:2706
+ #, gcc-internal-format
+ msgid "%H%qE defined as wrong kind of tag"
+ msgstr "%H%qEyanlış etiket çeşidi olarak tanımlı"
+
+-#: c-decl.c:2903
++#: c-decl.c:2908
+ #, gcc-internal-format
+ msgid "unnamed struct/union that defines no instances"
+ msgstr "ilk tanımı olmayan adsız struct/union"
+
+-#: c-decl.c:2911
++#: c-decl.c:2916
+ #, gcc-internal-format
+ msgid "empty declaration with storage class specifier does not redeclare tag"
+ msgstr "saklatım sınıfı belirteçli boş bildirim yeniden etiket bildirmez"
+
+-#: c-decl.c:2922
++#: c-decl.c:2927
+ #, gcc-internal-format
+ msgid "empty declaration with type qualifier does not redeclare tag"
+ msgstr "tür niteleyicili boş bildirim yeniden etiket bildirmez"
+
+-#: c-decl.c:2943 c-decl.c:2950
++#: c-decl.c:2948 c-decl.c:2955
+ #, gcc-internal-format
+ msgid "useless type name in empty declaration"
+ msgstr "boş bildirimde kullanışsız tür ismi"
+
+-#: c-decl.c:2958
++#: c-decl.c:2963
+ #, gcc-internal-format
+ msgid "%<inline%> in empty declaration"
+ msgstr "boÅŸ bildirimde %<inline%>"
+
+-#: c-decl.c:2964
++#: c-decl.c:2969
+ #, gcc-internal-format
+ msgid "%<auto%> in file-scope empty declaration"
+ msgstr "dosya etki alanı boş bildiriminde %<auto%>"
+
+-#: c-decl.c:2970
++#: c-decl.c:2975
+ #, gcc-internal-format
+ msgid "%<register%> in file-scope empty declaration"
+ msgstr "dosya etki alanı boş bildiriminde %<register%>"
+
+-#: c-decl.c:2976
++#: c-decl.c:2981
+ #, gcc-internal-format
+ msgid "useless storage class specifier in empty declaration"
+ msgstr "boş bildirimde kullanışsız saklatım sınıfı belirteci"
+
+-#: c-decl.c:2982
++#: c-decl.c:2987
+ #, gcc-internal-format
+ msgid "useless %<__thread%> in empty declaration"
+ msgstr "boş bildirimde kullanışsız %<__thread%>"
+
+-#: c-decl.c:2990
++#: c-decl.c:2995
+ #, gcc-internal-format
+ msgid "useless type qualifier in empty declaration"
+ msgstr "boş bildirimde kullanışsız tür niteleyici"
+
+-#: c-decl.c:2997
++#: c-decl.c:3002
+ #, gcc-internal-format
+ msgid "empty declaration"
+ msgstr "boÅŸ bildirim"
+
+-#: c-decl.c:3063
++#: c-decl.c:3068
+ #, gcc-internal-format
+ msgid "ISO C90 does not support %<static%> or type qualifiers in parameter array declarators"
+ msgstr "ISO C90, parametre dizisi bildirimlerinde `%<static%> veya tür niteleyicileri desteklemez"
+
+-#: c-decl.c:3066
++#: c-decl.c:3071
+ #, gcc-internal-format
+ msgid "ISO C90 does not support %<[*]%> array declarators"
+ msgstr "ISO C90 %<[*]%> dizi bildirimlerini desteklemez"
+@@ -18091,253 +18071,248 @@
+ #. C99 6.7.5.2p4
+ #. A function definition isn't function prototype scope C99 6.2.1p4.
+ #. C99 6.7.5.2p4
+-#: c-decl.c:3073 c-decl.c:5015
++#: c-decl.c:3078 c-decl.c:5014
+ #, gcc-internal-format
+ msgid "%<[*]%> not allowed in other than function prototype scope"
+ msgstr ""
+
+-#: c-decl.c:3097
++#: c-decl.c:3181
+ #, gcc-internal-format
+-msgid "static or type qualifiers in abstract declarator"
+-msgstr "kuramsal bildirimde 'static' ya da tür niteleyiciler"
+-
+-#: c-decl.c:3183
+-#, gcc-internal-format
+ msgid "%q+D is usually a function"
+ msgstr "%q+D çoğu kez bir işlevdir"
+
+-#: c-decl.c:3192 cp/decl.c:3983 cp/decl2.c:773
++#: c-decl.c:3190 cp/decl.c:4003 cp/decl2.c:773
+ #, gcc-internal-format
+ msgid "typedef %qD is initialized (use __typeof__ instead)"
+ msgstr "typedef %qD ilklendirilmiş (yerine __typeof__ kullanın)"
+
+-#: c-decl.c:3197
++#: c-decl.c:3195
+ #, gcc-internal-format
+ msgid "function %qD is initialized like a variable"
+ msgstr "%qD iÅŸlevi bir deÄŸiÅŸken gibi ilklendirilmiÅŸ"
+
+ #. DECL_INITIAL in a PARM_DECL is really DECL_ARG_TYPE.
+-#: c-decl.c:3203
++#: c-decl.c:3201
+ #, gcc-internal-format
+ msgid "parameter %qD is initialized"
+ msgstr "%qD parametresi ilklendirilmiÅŸ"
+
+-#: c-decl.c:3228
++#: c-decl.c:3226
+ #, gcc-internal-format
+ msgid "variable %qD has initializer but incomplete type"
+ msgstr "%qD değişkeni ilklendiricili ama içi boş türde"
+
+-#: c-decl.c:3316 c-decl.c:6108 cp/decl.c:4025 cp/decl.c:10985
++#: c-decl.c:3314 c-decl.c:6107 cp/decl.c:4045 cp/decl.c:11083
+ #, gcc-internal-format
+ msgid "inline function %q+D given attribute noinline"
+ msgstr "satıriçi %q+D işlevine satıriçi olmayan öznitelik verilmiş"
+
+-#: c-decl.c:3327
++#: c-decl.c:3326
+ #, gcc-internal-format
+ msgid "%q+D is static but declared in inline function %qD which is not static"
+ msgstr ""
+
+-#: c-decl.c:3418
++#: c-decl.c:3417
+ #, gcc-internal-format
+ msgid "initializer fails to determine size of %q+D"
+ msgstr "ilklendirici %q+D'nin boyutunu saptayamıyor"
+
+-#: c-decl.c:3423
++#: c-decl.c:3422
+ #, gcc-internal-format
+ msgid "array size missing in %q+D"
+ msgstr "%q+D de dizi boyutu eksik"
+
+-#: c-decl.c:3435
++#: c-decl.c:3434
+ #, gcc-internal-format
+ msgid "zero or negative size array %q+D"
+ msgstr "%q+D dizisi sıfır ya da negatif uzunlukta"
+
+-#: c-decl.c:3490 varasm.c:2067
++#: c-decl.c:3489 varasm.c:2067
+ #, gcc-internal-format
+ msgid "storage size of %q+D isn%'t known"
+ msgstr "%q+D nin saklama uzunluÄŸu bilinmiyor"
+
+-#: c-decl.c:3500
++#: c-decl.c:3499
+ #, gcc-internal-format
+ msgid "storage size of %q+D isn%'t constant"
+ msgstr "%q+D nin saklama geniÅŸligi sabit deÄŸil"
+
+-#: c-decl.c:3545
++#: c-decl.c:3544
+ #, gcc-internal-format
+ msgid "ignoring asm-specifier for non-static local variable %q+D"
+ msgstr "static olmayan yerel değişken %q+D için asm-belirteci yoksayılıyor"
+
+-#: c-decl.c:3573 fortran/f95-lang.c:653
++#: c-decl.c:3572 fortran/f95-lang.c:655
+ #, gcc-internal-format
+ msgid "cannot put object with volatile field into register"
+ msgstr "oynak alanlı nesne yazmaça konulamaz"
+
+-#: c-decl.c:3702
++#: c-decl.c:3701
+ #, gcc-internal-format
+ msgid "ISO C forbids forward parameter declarations"
+ msgstr "ISO C ileriye dönük parametre bildirimlerine izin vermez"
+
+-#: c-decl.c:3821
++#: c-decl.c:3820
+ #, gcc-internal-format
+ msgid "bit-field %qs width not an integer constant"
+ msgstr "%qs bit alanı genişliği bir tamsayı sabit değil"
+
+-#: c-decl.c:3829
++#: c-decl.c:3828
+ #, gcc-internal-format
+ msgid "negative width in bit-field %qs"
+ msgstr "%qs bit alanının genişliği negatif"
+
+-#: c-decl.c:3834
++#: c-decl.c:3833
+ #, gcc-internal-format
+ msgid "zero width for bit-field %qs"
+ msgstr "bit alanı %qs için sıfır genişlik"
+
+-#: c-decl.c:3844
++#: c-decl.c:3843
+ #, gcc-internal-format
+ msgid "bit-field %qs has invalid type"
+ msgstr "%qs bit alanı geçersiz tür içeriyor"
+
+-#: c-decl.c:3854
++#: c-decl.c:3853
+ #, gcc-internal-format
+ msgid "type of bit-field %qs is a GCC extension"
+ msgstr "%qs bit alanı türü bir GCC oluşumudur"
+
+-#: c-decl.c:3860
++#: c-decl.c:3859
+ #, gcc-internal-format
+ msgid "width of %qs exceeds its type"
+ msgstr "%qs in genişliği türünü aşıyor"
+
+-#: c-decl.c:3873
++#: c-decl.c:3872
+ #, gcc-internal-format
+ msgid "%qs is narrower than values of its type"
+ msgstr "%qs genişliği türününkinden daha dar"
+
+-#: c-decl.c:3892
++#: c-decl.c:3891
+ #, gcc-internal-format
+ msgid "ISO C90 forbids array %qs whose size can%'t be evaluated"
+ msgstr "ISO C90 deÄŸerlendirilemeyen boyutlu %qs dizisini yasaklar"
+
+-#: c-decl.c:3896
++#: c-decl.c:3895
+ #, fuzzy, gcc-internal-format
+ msgid "ISO C90 forbids array whose size can%'t be evaluated"
+ msgstr "ISO C90 deÄŸerlendirilemeyen boyutlu %qs dizisini yasaklar"
+
+-#: c-decl.c:3902
++#: c-decl.c:3901
+ #, fuzzy, gcc-internal-format
+ msgid "ISO C90 forbids variable length array %qs"
+ msgstr "ISO C90 deÄŸiÅŸken boyutlu %qs dizisini yasaklar"
+
+-#: c-decl.c:3905
++#: c-decl.c:3904
+ #, fuzzy, gcc-internal-format
+ msgid "ISO C90 forbids variable length array"
+ msgstr "ISO C90 deÄŸiÅŸken boyutlu %qs dizisini yasaklar"
+
+-#: c-decl.c:3914
++#: c-decl.c:3913
+ #, fuzzy, gcc-internal-format
+ msgid "the size of array %qs can%'t be evaluated"
+ msgstr "ISO C90 deÄŸerlendirilemeyen boyutlu %qs dizisini yasaklar"
+
+-#: c-decl.c:3918
++#: c-decl.c:3917
+ #, fuzzy, gcc-internal-format
+ msgid "the size of array can %'t be evaluated"
+ msgstr "tür boyutu doğrudan değerlendirilemez"
+
+-#: c-decl.c:3924
++#: c-decl.c:3923
+ #, gcc-internal-format
+ msgid "variable length array %qs is used"
+ msgstr ""
+
+-#: c-decl.c:3928 cp/decl.c:7004
++#: c-decl.c:3927 cp/decl.c:7076
+ #, gcc-internal-format
+ msgid "variable length array is used"
+ msgstr ""
+
+-#: c-decl.c:4051 c-decl.c:4328
++#: c-decl.c:4050 c-decl.c:4327
+ #, fuzzy, gcc-internal-format
+ msgid "variably modified %qs at file scope"
+ msgstr "%qT değişkene göre değişen türde"
+
+-#: c-decl.c:4069
++#: c-decl.c:4068
+ #, gcc-internal-format
+ msgid "type defaults to %<int%> in declaration of %qs"
+ msgstr "%qs bildiriminde tür öntanımlı olarak %<int%>"
+
+-#: c-decl.c:4097
++#: c-decl.c:4096
+ #, gcc-internal-format
+ msgid "duplicate %<const%>"
+ msgstr "%<const%> yinelenmiÅŸ"
+
+-#: c-decl.c:4099
++#: c-decl.c:4098
+ #, gcc-internal-format
+ msgid "duplicate %<restrict%>"
+ msgstr "%<restrict%> yinelenmiÅŸ"
+
+-#: c-decl.c:4101
++#: c-decl.c:4100
+ #, gcc-internal-format
+ msgid "duplicate %<volatile%>"
+ msgstr "%<volatile%> yinelenmiÅŸ"
+
+-#: c-decl.c:4120
++#: c-decl.c:4119
+ #, gcc-internal-format
+ msgid "function definition declared %<auto%>"
+ msgstr "%<auto%> bildirimli işlev tanımı"
+
+-#: c-decl.c:4122
++#: c-decl.c:4121
+ #, gcc-internal-format
+ msgid "function definition declared %<register%>"
+ msgstr "%<register%> bildirimli işlev tanımı"
+
+-#: c-decl.c:4124
++#: c-decl.c:4123
+ #, gcc-internal-format
+ msgid "function definition declared %<typedef%>"
+ msgstr "%<typedef%> bildirimli işlev tanımı"
+
+-#: c-decl.c:4126
++#: c-decl.c:4125
+ #, gcc-internal-format
+ msgid "function definition declared %<__thread%>"
+ msgstr "%<__thread%> bildirimli işlev tanımı"
+
+-#: c-decl.c:4142
++#: c-decl.c:4141
+ #, gcc-internal-format
+ msgid "storage class specified for structure field %qs"
+ msgstr "%qs yapı alan için saklama sınıfı belirtilmiş"
+
+-#: c-decl.c:4146 cp/decl.c:7874
++#: c-decl.c:4145 cp/decl.c:7946
+ #, gcc-internal-format
+ msgid "storage class specified for parameter %qs"
+ msgstr "%qs parametresi için saklama sınıfı belirtilmiş"
+
+-#: c-decl.c:4149 cp/decl.c:7876
++#: c-decl.c:4148 cp/decl.c:7948
+ #, gcc-internal-format
+ msgid "storage class specified for typename"
+ msgstr "veri türü ismi için saklama sınıfı belirtildi"
+
+-#: c-decl.c:4166 cp/decl.c:7893
++#: c-decl.c:4165 cp/decl.c:7965
+ #, gcc-internal-format
+ msgid "%qs initialized and declared %<extern%>"
+ msgstr "%qs ilklendirilmiÅŸ ve %<extern%> bildirilmiÅŸ"
+
+-#: c-decl.c:4169 cp/decl.c:7896
++#: c-decl.c:4168 cp/decl.c:7968
+ #, gcc-internal-format
+ msgid "%qs has both %<extern%> and initializer"
+ msgstr "%qs hem %<extern%> olarak bildirilmiÅŸ hem de ilklendrilmiÅŸ"
+
+-#: c-decl.c:4174
++#: c-decl.c:4173
+ #, gcc-internal-format
+ msgid "file-scope declaration of %qs specifies %<auto%>"
+ msgstr "%qs için dosya etki alanı bildirimi %<auto%> belirtiyor"
+
+-#: c-decl.c:4176
++#: c-decl.c:4175
+ #, gcc-internal-format
+ msgid "file-scope declaration of %qs specifies %<register%>"
+ msgstr "%qs için dosya etki alanı bildirimi %<register%> belirtiyor"
+
+-#: c-decl.c:4181 cp/decl.c:7900
++#: c-decl.c:4180 cp/decl.c:7972
+ #, gcc-internal-format
+ msgid "nested function %qs declared %<extern%>"
+ msgstr "iç işlev %qs %<extern%> olarak bildirilmiş"
+
+-#: c-decl.c:4184 cp/decl.c:7910
++#: c-decl.c:4183 cp/decl.c:7982
+ #, gcc-internal-format
+ msgid "function-scope %qs implicitly auto and declared %<__thread%>"
+ msgstr "%qs işlevinin etki alanı dolaylı olarak auto ve %<__thread%> bildirimli"
+@@ -18345,468 +18320,468 @@
+ #. Only the innermost declarator (making a parameter be of
+ #. array type which is converted to pointer type)
+ #. may have static or type qualifiers.
+-#: c-decl.c:4231 c-decl.c:4472
++#: c-decl.c:4230 c-decl.c:4471
+ #, gcc-internal-format
+ msgid "static or type qualifiers in non-parameter array declarator"
+ msgstr "parametresiz dizi bildirimi içinde 'static' veya tür niteleyiciler"
+
+-#: c-decl.c:4278
++#: c-decl.c:4277
+ #, gcc-internal-format
+ msgid "declaration of %qs as array of voids"
+ msgstr "void dizisi olarak %qs bildirimi"
+
+-#: c-decl.c:4284
++#: c-decl.c:4283
+ #, gcc-internal-format
+ msgid "declaration of %qs as array of functions"
+ msgstr "iÅŸlev dizisi olarak %qs bildirimi"
+
+-#: c-decl.c:4289
++#: c-decl.c:4288
+ #, gcc-internal-format
+ msgid "invalid use of structure with flexible array member"
+ msgstr "esnek dizi üyeli yapı kullanımı geçersiz"
+
+-#: c-decl.c:4309
++#: c-decl.c:4308
+ #, gcc-internal-format
+ msgid "size of array %qs has non-integer type"
+ msgstr "%qs dizisinin boyutu tamsayı tür değil"
+
+-#: c-decl.c:4314
++#: c-decl.c:4313
+ #, gcc-internal-format
+ msgid "ISO C forbids zero-size array %qs"
+ msgstr "ISO C sıfır boyutlu %qs dizisini yasaklar"
+
+-#: c-decl.c:4321
++#: c-decl.c:4320
+ #, gcc-internal-format
+ msgid "size of array %qs is negative"
+ msgstr "%qs dizisinin boyutu negatif"
+
+-#: c-decl.c:4375 c-decl.c:4631 cp/decl.c:8375
++#: c-decl.c:4374 c-decl.c:4630 cp/decl.c:8447
+ #, gcc-internal-format
+ msgid "size of array %qs is too large"
+ msgstr "%qs dizisinin boyutu çok büyük"
+
+-#: c-decl.c:4386
++#: c-decl.c:4385
+ #, gcc-internal-format
+ msgid "ISO C90 does not support flexible array members"
+ msgstr "ISO C90 esnek dizi üyelerini desteklemez"
+
+ #. C99 6.7.5.2p4
+-#: c-decl.c:4399
++#: c-decl.c:4398
+ #, fuzzy, gcc-internal-format
+ msgid "%<[*]%> not allowed in other than a declaration"
+ msgstr "using bildiriminde isim alanı %qD kullanılamaz"
+
+-#: c-decl.c:4422
++#: c-decl.c:4421
+ #, gcc-internal-format
+ msgid "array type has incomplete element type"
+ msgstr "dizi türü içi boş öğe türü içeriyor"
+
+-#: c-decl.c:4504 cp/decl.c:8001
++#: c-decl.c:4503 cp/decl.c:8073
+ #, gcc-internal-format
+ msgid "%qs declared as function returning a function"
+ msgstr "%qs işlevle dönen işlev olarak bildirilmiş"
+
+-#: c-decl.c:4509 cp/decl.c:8006
++#: c-decl.c:4508 cp/decl.c:8078
+ #, gcc-internal-format
+ msgid "%qs declared as function returning an array"
+ msgstr "%qs dizi ile dönen işlev olarak bildirilmiş"
+
+-#: c-decl.c:4531
++#: c-decl.c:4530
+ #, gcc-internal-format
+ msgid "function definition has qualified void return type"
+ msgstr "işlev tanımı nitelikli void dönüş türü içeriyor"
+
+-#: c-decl.c:4534 cp/decl.c:7990 cp/pt.c:8568
++#: c-decl.c:4533 cp/decl.c:8062 cp/pt.c:8668
+ #, 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ı"
+
+-#: c-decl.c:4563 c-decl.c:4644 c-decl.c:4732 c-decl.c:4825
++#: c-decl.c:4562 c-decl.c:4643 c-decl.c:4731 c-decl.c:4824
+ #, gcc-internal-format
+ msgid "ISO C forbids qualified function types"
+ msgstr "ISO C nitelikli işlev türlerini yasaklar"
+
+-#: c-decl.c:4652
++#: c-decl.c:4651
+ #, gcc-internal-format
+ msgid "typedef %q+D declared %<inline%>"
+ msgstr "%<inline%> bildirimli typedef %q+D"
+
+-#: c-decl.c:4667
++#: c-decl.c:4666
+ #, gcc-internal-format
+ msgid "ISO C forbids const or volatile function types"
+ msgstr "ISO C 'const' ya da 'volatile' işlev türlerini yasaklar"
+
+ #. C99 6.7.2.1p8
+-#: c-decl.c:4677
++#: c-decl.c:4676
+ #, fuzzy, gcc-internal-format
+ 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-decl.c:4693
++#: c-decl.c:4692
+ #, gcc-internal-format
+ msgid "variable or field %qs declared void"
+ msgstr "%qs değişkeni ya da alanı void bildirimli"
+
+-#: c-decl.c:4725
++#: c-decl.c:4724
+ #, gcc-internal-format
+ msgid "attributes in parameter array declarator ignored"
+ msgstr "parametre dizisi bildirimindeki öznitelikler yoksayıldı"
+
+-#: c-decl.c:4760
++#: c-decl.c:4759
+ #, gcc-internal-format
+ msgid "parameter %q+D declared %<inline%>"
+ msgstr "%<inline%> bildirimli %q+D parametresi"
+
+-#: c-decl.c:4773
++#: c-decl.c:4772
+ #, gcc-internal-format
+ msgid "field %qs declared as a function"
+ msgstr "%qs alanı bir işlev olarak bildirilmiş"
+
+-#: c-decl.c:4779
++#: c-decl.c:4778
+ #, gcc-internal-format
+ msgid "field %qs has incomplete type"
+ msgstr "%qs alanı tamamlanmamış türde"
+
+-#: c-decl.c:4796 c-decl.c:4808 c-decl.c:4812
++#: c-decl.c:4795 c-decl.c:4807 c-decl.c:4811
+ #, gcc-internal-format
+ msgid "invalid storage class for function %qs"
+ msgstr "%qs işlevi için geçersiz saklama sınıfı"
+
+-#: c-decl.c:4831
++#: c-decl.c:4830
+ #, gcc-internal-format
+ msgid "%<noreturn%> function returns non-void value"
+ msgstr "%<noreturn%> işlevinin dönüşü void değil"
+
+-#: c-decl.c:4867
++#: c-decl.c:4866
+ #, gcc-internal-format
+ msgid "cannot inline function %<main%>"
+ msgstr "%<main%> satıriçi işlev olamaz"
+
+-#: c-decl.c:4910
++#: c-decl.c:4909
+ #, gcc-internal-format
+ msgid "variable previously declared %<static%> redeclared %<extern%>"
+ msgstr "evvelce %<static%> bildirilmiÅŸ deÄŸiÅŸken %<extern%> olarak yeniden bildirilmiÅŸ"
+
+-#: c-decl.c:4920
++#: c-decl.c:4919
+ #, gcc-internal-format
+ msgid "variable %q+D declared %<inline%>"
+ msgstr "%<inline%> bildirimli %q+D deÄŸiÅŸkeni"
+
+ #. C99 6.7.5.2p2
+-#: c-decl.c:4951
++#: c-decl.c:4950
+ #, gcc-internal-format
+ msgid "object with variably modified type must have no linkage"
+ msgstr ""
+
+-#: c-decl.c:5020 c-decl.c:6199
++#: c-decl.c:5019 c-decl.c:6198
+ #, gcc-internal-format
+ msgid "function declaration isn%'t a prototype"
+ msgstr "iÅŸlev bildirimi bir prototip deÄŸil"
+
+-#: c-decl.c:5028
++#: c-decl.c:5027
+ #, gcc-internal-format
+ msgid "parameter names (without types) in function declaration"
+ msgstr "işlev bildiriminde (türleri belirtmeksizin) parametre isimleri"
+
+-#: c-decl.c:5061
++#: c-decl.c:5060
+ #, gcc-internal-format
+ msgid "parameter %u (%q+D) has incomplete type"
+ msgstr "%u. parametre (%q+D) tamamlanmamış türde"
+
+-#: c-decl.c:5064
++#: c-decl.c:5063
+ #, gcc-internal-format
+ msgid "%Jparameter %u has incomplete type"
+ msgstr "%J%u. parametre tamamlanmamış türde"
+
+-#: c-decl.c:5073
++#: c-decl.c:5072
+ #, gcc-internal-format
+ msgid "parameter %u (%q+D) has void type"
+ msgstr "%u. parametre (%q+D) void türde"
+
+-#: c-decl.c:5076
++#: c-decl.c:5075
+ #, gcc-internal-format
+ msgid "%Jparameter %u has void type"
+ msgstr "%J%u. parametre void türde"
+
+-#: c-decl.c:5138
++#: c-decl.c:5137
+ #, gcc-internal-format
+ msgid "%<void%> as only parameter may not be qualified"
+ msgstr "tek parametre olarak %<void%> yeterli olmayabilir"
+
+-#: c-decl.c:5142 c-decl.c:5176
++#: c-decl.c:5141 c-decl.c:5175
+ #, gcc-internal-format
+ msgid "%<void%> must be the only parameter"
+ msgstr "%<void%> tek parametre olmalıdır"
+
+-#: c-decl.c:5170
++#: c-decl.c:5169
+ #, gcc-internal-format
+ msgid "parameter %q+D has just a forward declaration"
+ msgstr "%q+D parametresi tam bir ilerletme bildirimine sahip"
+
+ #. The %s will be one of 'struct', 'union', or 'enum'.
+-#: c-decl.c:5215
++#: c-decl.c:5214
+ #, gcc-internal-format
+ msgid "%<%s %E%> declared inside parameter list"
+ msgstr "%<%s %E%> parametre listesinin içinde bildirilmiş"
+
+ #. The %s will be one of 'struct', 'union', or 'enum'.
+-#: c-decl.c:5219
++#: c-decl.c:5218
+ #, gcc-internal-format
+ msgid "anonymous %s declared inside parameter list"
+ msgstr "anonim %s parametre listesinin içinde bildirilmiş"
+
+-#: c-decl.c:5224
++#: c-decl.c:5223
+ #, gcc-internal-format
+ msgid "its scope is only this definition or declaration, which is probably not what you want"
+ msgstr "sadece bu tanım ya da bildirim onun etki alanında, sizin istediğiniz bu olmayabilir"
+
+-#: c-decl.c:5358
++#: c-decl.c:5357
+ #, gcc-internal-format
+ msgid "redefinition of %<union %E%>"
+ msgstr "%<union %E%> yeniden tanımlanmış"
+
+-#: c-decl.c:5360
++#: c-decl.c:5359
+ #, gcc-internal-format
+ msgid "redefinition of %<struct %E%>"
+ msgstr "%<struct %E%> yeniden tanımlanmış"
+
+-#: c-decl.c:5365
++#: c-decl.c:5364
+ #, gcc-internal-format
+ msgid "nested redefinition of %<union %E%>"
+ msgstr "%<union %E%> iç içe yeniden tanımlanmış"
+
+-#: c-decl.c:5367
++#: c-decl.c:5366
+ #, gcc-internal-format
+ msgid "nested redefinition of %<struct %E%>"
+ msgstr "%<struct %E%> iç içe yeniden tanımlanmış"
+
+-#: c-decl.c:5442 cp/decl.c:3780
++#: c-decl.c:5441 cp/decl.c:3796
+ #, gcc-internal-format
+ msgid "declaration does not declare anything"
+ msgstr "bildirim hiçbir şey bildirmiyor"
+
+-#: c-decl.c:5446
++#: c-decl.c:5445
+ #, gcc-internal-format
+ msgid "ISO C doesn%'t support unnamed structs/unions"
+ msgstr "ISO C isimsiz struct/union'lara izin vermez"
+
+-#: c-decl.c:5490 c-decl.c:5506
++#: c-decl.c:5489 c-decl.c:5505
+ #, gcc-internal-format
+ msgid "duplicate member %q+D"
+ msgstr "yinelenmiş üye %q+D"
+
+-#: c-decl.c:5545
++#: c-decl.c:5544
+ #, gcc-internal-format
+ msgid "union has no named members"
+ msgstr "union hiç isimli üye içermiyor"
+
+-#: c-decl.c:5547
++#: c-decl.c:5546
+ #, gcc-internal-format
+ msgid "union has no members"
+ msgstr "union hiç üye içermiyor"
+
+-#: c-decl.c:5552
++#: c-decl.c:5551
+ #, gcc-internal-format
+ msgid "struct has no named members"
+ msgstr "yapı hiç isimli üye içermiyor"
+
+-#: c-decl.c:5554
++#: c-decl.c:5553
+ #, gcc-internal-format
+ msgid "struct has no members"
+ msgstr "yapı hiç üye içermiyor"
+
+-#: c-decl.c:5616
++#: c-decl.c:5615
+ #, gcc-internal-format
+ msgid "%Jflexible array member in union"
+ msgstr "%Junion içinde esnek dizi üye"
+
+-#: c-decl.c:5621
++#: c-decl.c:5620
+ #, gcc-internal-format
+ msgid "%Jflexible array member not at end of struct"
+ msgstr "%Jesnek dizi yapının son üyesi değil"
+
+-#: c-decl.c:5626
++#: c-decl.c:5625
+ #, gcc-internal-format
+ msgid "%Jflexible array member in otherwise empty struct"
+ msgstr "%Jbaşka bir boş yapı içinde esnek dizi"
+
+-#: c-decl.c:5633
++#: c-decl.c:5632
+ #, gcc-internal-format
+ msgid "%Jinvalid use of structure with flexible array member"
+ msgstr "%J esnek dizi üyeli yapının geçersiz kullanımı"
+
+-#: c-decl.c:5742
++#: c-decl.c:5741
+ #, gcc-internal-format
+ msgid "union cannot be made transparent"
+ msgstr "birleşik yapı şeffaf olamaz"
+
+-#: c-decl.c:5813
++#: c-decl.c:5812
+ #, gcc-internal-format
+ msgid "nested redefinition of %<enum %E%>"
+ msgstr "%<enum %E%> iç içe yeniden tanımlanmış"
+
+ #. This enum is a named one that has been declared already.
+-#: c-decl.c:5820
++#: c-decl.c:5819
+ #, gcc-internal-format
+ msgid "redeclaration of %<enum %E%>"
+ msgstr "%<enum %E%> yeniden bildirilmiÅŸ"
+
+-#: c-decl.c:5883
++#: c-decl.c:5882
+ #, gcc-internal-format
+ msgid "enumeration values exceed range of largest integer"
+ msgstr "sembolik sabit grubunun değerleri en büyük tamsayı aralığını aşıyor."
+
+-#: c-decl.c:5900
++#: c-decl.c:5899
+ #, gcc-internal-format
+ msgid "specified mode too small for enumeral values"
+ msgstr "belirtilen kip sırali sayısal değerler için çok küçük"
+
+-#: c-decl.c:5996
++#: c-decl.c:5995
+ #, gcc-internal-format
+ msgid "enumerator value for %qE is not an integer constant"
+ msgstr "%qE için sembolik sabit değeri bir tamsayı sabit değil"
+
+-#: c-decl.c:6013
++#: c-decl.c:6012
+ #, gcc-internal-format
+ msgid "overflow in enumeration values"
+ msgstr "sembolik sabit listesi deÄŸerlerinde taÅŸma"
+
+-#: c-decl.c:6018
++#: c-decl.c:6017
+ #, gcc-internal-format
+ msgid "ISO C restricts enumerator values to range of %<int%>"
+ msgstr "ISO C sembolik sabit grubunun değerlerini %<int%> kapsamında sınırlar"
+
+-#: c-decl.c:6125
++#: c-decl.c:6124
+ #, gcc-internal-format
+ msgid "return type is an incomplete type"
+ msgstr "dönüş türü, bir içi boş tür"
+
+-#: c-decl.c:6133
++#: c-decl.c:6132
+ #, gcc-internal-format
+ msgid "return type defaults to %<int%>"
+ msgstr "dönen tür %<int%> türüne öntanımlıdir"
+
+-#: c-decl.c:6206
++#: c-decl.c:6205
+ #, gcc-internal-format
+ msgid "no previous prototype for %q+D"
+ msgstr "%q+D için önceki prototip yok"
+
+-#: c-decl.c:6215
++#: c-decl.c:6214
+ #, gcc-internal-format
+ msgid "%q+D was used with no prototype before its definition"
+ msgstr "%q+D tanımlanmadan önce prototipsiz kullanılmış"
+
+-#: c-decl.c:6221 cp/decl.c:11126
++#: c-decl.c:6220 cp/decl.c:11224
+ #, gcc-internal-format
+ msgid "no previous declaration for %q+D"
+ msgstr "%q+D için evvelce bildirim yok"
+
+-#: c-decl.c:6231
++#: c-decl.c:6230
+ #, gcc-internal-format
+ msgid "%q+D was used with no declaration before its definition"
+ msgstr "%q+D tanımından önce bildirimsiz kullanılmış"
+
+-#: c-decl.c:6254 c-decl.c:6723
++#: c-decl.c:6253 c-decl.c:6722
+ #, gcc-internal-format
+ msgid "return type of %q+D is not %<int%>"
+ msgstr "%q+D için dönüş türü %<int%> değil"
+
+-#: c-decl.c:6259
++#: c-decl.c:6258
+ #, gcc-internal-format
+ msgid "%q+D is normally a non-static function"
+ msgstr "%q+D normalde bir static olmayan iÅŸlevdir"
+
+-#: c-decl.c:6293
++#: c-decl.c:6292
+ #, gcc-internal-format
+ msgid "%Jold-style parameter declarations in prototyped function definition"
+ msgstr "%Jprototipli işlev tanımında eski tarz parametre bildirimi"
+
+-#: c-decl.c:6307
++#: c-decl.c:6306
+ #, gcc-internal-format
+ msgid "%Jtraditional C rejects ISO C style function definitions"
+ msgstr "%Jgeleneksel C, ISO C tarzı işlev tanımlarına izin vermez"
+
+-#: c-decl.c:6323
++#: c-decl.c:6322
+ #, gcc-internal-format
+ msgid "%Jparameter name omitted"
+ msgstr "%Jparametre ismi atlandı"
+
+-#: c-decl.c:6357
++#: c-decl.c:6356
+ #, gcc-internal-format
+ msgid "%Jold-style function definition"
+ msgstr "%Jeski tarz işlev tanımı"
+
+-#: c-decl.c:6366
++#: c-decl.c:6365
+ #, gcc-internal-format
+ msgid "%Jparameter name missing from parameter list"
+ msgstr "%Jparametre ismi parametre listesinde yok"
+
+-#: c-decl.c:6377
++#: c-decl.c:6376
+ #, gcc-internal-format
+ msgid "%q+D declared as a non-parameter"
+ msgstr "%q+D bir parametre olarak bildirilmemiÅŸ"
+
+-#: c-decl.c:6382
++#: c-decl.c:6381
+ #, gcc-internal-format
+ msgid "multiple parameters named %q+D"
+ msgstr "%q+D isimli çok sayıda parametre"
+
+-#: c-decl.c:6390
++#: c-decl.c:6389
+ #, gcc-internal-format
+ msgid "parameter %q+D declared with void type"
+ msgstr "%q+D parametresi void olarak bildirilmiÅŸ"
+
+-#: c-decl.c:6407 c-decl.c:6409
++#: c-decl.c:6406 c-decl.c:6408
+ #, gcc-internal-format
+ msgid "type of %q+D defaults to %<int%>"
+ msgstr "%q+D için tür öntanımlı olarak %<int%>"
+
+-#: c-decl.c:6428
++#: c-decl.c:6427
+ #, gcc-internal-format
+ msgid "parameter %q+D has incomplete type"
+ msgstr "%q+D parametresi tamamlanmamış türde"
+
+-#: c-decl.c:6434
++#: c-decl.c:6433
+ #, gcc-internal-format
+ msgid "declaration for parameter %q+D but no such parameter"
+ msgstr "%q+D parametresi için bildirim var ama böyle bir parametre yok"
+
+-#: c-decl.c:6484
++#: c-decl.c:6483
+ #, gcc-internal-format
+ msgid "number of arguments doesn%'t match built-in prototype"
+ msgstr "argüman sayısı yerleşik prototiple uyumsuz"
+
+-#: c-decl.c:6488
++#: c-decl.c:6487
+ #, gcc-internal-format
+ msgid "number of arguments doesn%'t match prototype"
+ msgstr "argüman sayısı prototiple uyumsuz"
+
+-#: c-decl.c:6489 c-decl.c:6529 c-decl.c:6542
++#: c-decl.c:6488 c-decl.c:6528 c-decl.c:6541
+ #, gcc-internal-format
+ msgid "%Hprototype declaration"
+ msgstr "%Hprototip bildirimi"
+
+-#: c-decl.c:6523
++#: c-decl.c:6522
+ #, gcc-internal-format
+ msgid "promoted argument %qD doesn%'t match built-in prototype"
+ msgstr "yükseltgenmiş argüman %qD yerleşik prototiple uyumsuz"
+
+-#: c-decl.c:6527
++#: c-decl.c:6526
+ #, gcc-internal-format
+ msgid "promoted argument %qD doesn%'t match prototype"
+ msgstr "yükseltgenmiş argüman %qD prototiple uyumsuz"
+
+-#: c-decl.c:6537
++#: c-decl.c:6536
+ #, gcc-internal-format
+ msgid "argument %qD doesn%'t match built-in prototype"
+ msgstr "%qD argümanı yerleşik prototiple eslesmiyor"
+
+-#: c-decl.c:6541
++#: c-decl.c:6540
+ #, gcc-internal-format
+ msgid "argument %qD doesn%'t match prototype"
+ msgstr "%qD argümanı prototiple uyumsuz"
+
+-#: c-decl.c:6768 cp/decl.c:11820
++#: c-decl.c:6767 cp/decl.c:11918
+ #, gcc-internal-format
+ msgid "no return statement in function returning non-void"
+ msgstr "void olmayan dönüşlü işlevde `return' deyimi yok"
+@@ -18814,437 +18789,437 @@
+ #. If we get here, declarations have been used in a for loop without
+ #. the C99 for loop scope. This doesn't make much sense, so don't
+ #. allow it.
+-#: c-decl.c:6841
++#: c-decl.c:6840
+ #, gcc-internal-format
+ msgid "%<for%> loop initial declaration used outside C99 mode"
+ msgstr "%<for%> döngüsünün ilk bildirimi C99 kipinin dışında kullanılmış"
+
+-#: c-decl.c:6870
++#: c-decl.c:6869
+ #, gcc-internal-format
+ msgid "declaration of static variable %q+D in %<for%> loop initial declaration"
+ msgstr "%<for%> döngüsünün ilk bildiriminde statik değişken %q+D bildirimi"
+
+-#: c-decl.c:6873
++#: c-decl.c:6872
+ #, gcc-internal-format
+ msgid "declaration of %<extern%> variable %q+D in %<for%> loop initial declaration"
+ msgstr "%<for%> döngüsünün ilk bildiriminde %<extern%> değişken %q+D bildirimi"
+
+-#: c-decl.c:6878
++#: c-decl.c:6877
+ #, gcc-internal-format
+ msgid "%<struct %E%> declared in %<for%> loop initial declaration"
+ msgstr "%<struct %E%> %<for%> döngüsünün ilk bildiriminde bildirilmiş"
+
+-#: c-decl.c:6882
++#: c-decl.c:6881
+ #, gcc-internal-format
+ msgid "%<union %E%> declared in %<for%> loop initial declaration"
+ msgstr "%<union %E%> %<for%> döngüsünün ilk bildiriminde bildirilmiş"
+
+-#: c-decl.c:6886
++#: c-decl.c:6885
+ #, gcc-internal-format
+ msgid "%<enum %E%> declared in %<for%> loop initial declaration"
+ msgstr "%<enum %E%> %<for%> döngüsünün ilk bildiriminde bildirilmiş"
+
+-#: c-decl.c:6890
++#: c-decl.c:6889
+ #, gcc-internal-format
+ msgid "declaration of non-variable %q+D in %<for%> loop initial declaration"
+ msgstr "%<for%> döngüsünün ilk bildiriminde değişken olmayan %q+D bildirimi"
+
+-#: c-decl.c:7178 c-decl.c:7420 c-decl.c:7716
++#: c-decl.c:7177 c-decl.c:7419 c-decl.c:7715
+ #, gcc-internal-format
+ msgid "duplicate %qE"
+ msgstr "%qE yinelenmiÅŸ"
+
+-#: c-decl.c:7201 c-decl.c:7430 c-decl.c:7617
++#: c-decl.c:7200 c-decl.c:7429 c-decl.c:7616
+ #, gcc-internal-format
+ msgid "two or more data types in declaration specifiers"
+ msgstr "bildirim belirteçleri içinde iki veya daha fazla veri türü"
+
+-#: c-decl.c:7213 cp/parser.c:2149
++#: c-decl.c:7212 cp/parser.c:2152
+ #, gcc-internal-format
+ msgid "%<long long long%> is too long for GCC"
+ msgstr "%<long long long%> GCC için çok uzun"
+
+-#: c-decl.c:7220 c-decl.c:7520
++#: c-decl.c:7219 c-decl.c:7519
+ #, gcc-internal-format
+ msgid "both %<long long%> and %<double%> in declaration specifiers"
+ msgstr "bildirim belirteçlerinde hem %<long long%> hem de %<double%>"
+
+-#: c-decl.c:7226
++#: c-decl.c:7225
+ #, gcc-internal-format
+ msgid "ISO C90 does not support %<long long%>"
+ msgstr "ISO C90 %<long long%>'u desteklemez"
+
+-#: c-decl.c:7231 c-decl.c:7260
++#: c-decl.c:7230 c-decl.c:7259
+ #, gcc-internal-format
+ msgid "both %<long%> and %<short%> in declaration specifiers"
+ msgstr "bildirim belirteçlerinde hem %<long%> hem de %<short%>"
+
+-#: c-decl.c:7234 c-decl.c:7437
++#: c-decl.c:7233 c-decl.c:7436
+ #, gcc-internal-format
+ msgid "both %<long%> and %<void%> in declaration specifiers"
+ msgstr "bildirim belirteçlerinde hem %<long%> hem de %<void%>"
+
+-#: c-decl.c:7237 c-decl.c:7459
++#: c-decl.c:7236 c-decl.c:7458
+ #, gcc-internal-format
+ msgid "both %<long%> and %<_Bool%> in declaration specifiers"
+ msgstr "bildirim belirteçlerinde hem %<long%> hem de %<_Bool%>"
+
+-#: c-decl.c:7240 c-decl.c:7481
++#: c-decl.c:7239 c-decl.c:7480
+ #, gcc-internal-format
+ msgid "both %<long%> and %<char%> in declaration specifiers"
+ msgstr "bildirim belirteçlerinde hem %<long%> hem de %<char%>"
+
+-#: c-decl.c:7243 c-decl.c:7501
++#: c-decl.c:7242 c-decl.c:7500
+ #, gcc-internal-format
+ msgid "both %<long%> and %<float%> in declaration specifiers"
+ msgstr "bildirim belirteçlerinde hem %<long%> hem de %<float%>"
+
+-#: c-decl.c:7246
++#: c-decl.c:7245
+ #, fuzzy, gcc-internal-format
+ msgid "both %<long%> and %<_Decimal32%> in declaration specifiers"
+ msgstr "bildirim belirteçlerinde hem %<long%> hem de %<char%>"
+
+-#: c-decl.c:7249
++#: c-decl.c:7248
+ #, fuzzy, gcc-internal-format
+ msgid "both %<long%> and %<_Decimal64%> in declaration specifiers"
+ msgstr "bildirim belirteçlerinde hem %<long%> hem de %<char%>"
+
+-#: c-decl.c:7252
++#: c-decl.c:7251
+ #, fuzzy, gcc-internal-format
+ msgid "both %<long%> and %<_Decimal128%> in declaration specifiers"
+ msgstr "bildirim belirteçlerinde hem %<long%> hem de %<char%>"
+
+-#: c-decl.c:7263 c-decl.c:7440
++#: c-decl.c:7262 c-decl.c:7439
+ #, gcc-internal-format
+ msgid "both %<short%> and %<void%> in declaration specifiers"
+ msgstr "bildirim belirteçlerinde hem %<short%> hem de %<void%>"
+
+-#: c-decl.c:7266 c-decl.c:7462
++#: c-decl.c:7265 c-decl.c:7461
+ #, gcc-internal-format
+ msgid "both %<short%> and %<_Bool%> in declaration specifiers"
+ msgstr "bildirim belirteçlerinde hem %<short%> hem de %<_Bool%>"
+
+-#: c-decl.c:7269 c-decl.c:7484
++#: c-decl.c:7268 c-decl.c:7483
+ #, gcc-internal-format
+ msgid "both %<short%> and %<char%> in declaration specifiers"
+ msgstr "bildirim belirteçlerinde hem %<short%> hem de %<char%>"
+
+-#: c-decl.c:7272 c-decl.c:7504
++#: c-decl.c:7271 c-decl.c:7503
+ #, gcc-internal-format
+ msgid "both %<short%> and %<float%> in declaration specifiers"
+ msgstr "bildirim belirteçlerinde hem %<short%> hem de %<float%>"
+
+-#: c-decl.c:7275 c-decl.c:7523
++#: c-decl.c:7274 c-decl.c:7522
+ #, gcc-internal-format
+ msgid "both %<short%> and %<double%> in declaration specifiers"
+ msgstr "bildirim belirtieçlerinde hem %<short%> hem de %<double%>"
+
+-#: c-decl.c:7278
++#: c-decl.c:7277
+ #, fuzzy, gcc-internal-format
+ msgid "both %<short%> and %<_Decimal32%> in declaration specifiers"
+ msgstr "bildirim belirteçlerinde hem %<short%> hem de %<char%>"
+
+-#: c-decl.c:7281
++#: c-decl.c:7280
+ #, fuzzy, gcc-internal-format
+ msgid "both %<short%> and %<_Decimal64%> in declaration specifiers"
+ msgstr "bildirim belirteçlerinde hem %<short%> hem de %<char%>"
+
+-#: c-decl.c:7284
++#: c-decl.c:7283
+ #, fuzzy, gcc-internal-format
+ msgid "both %<short%> and %<_Decimal128%> in declaration specifiers"
+ msgstr "bildirim belirteçlerinde hem %<short%> hem de %<char%>"
+
+-#: c-decl.c:7292 c-decl.c:7321
++#: c-decl.c:7291 c-decl.c:7320
+ #, gcc-internal-format
+ msgid "both %<signed%> and %<unsigned%> in declaration specifiers"
+ msgstr "bildirim belirteçlerinde hem %<signed%> hem de %<unsigned%>"
+
+-#: c-decl.c:7295 c-decl.c:7443
++#: c-decl.c:7294 c-decl.c:7442
+ #, gcc-internal-format
+ msgid "both %<signed%> and %<void%> in declaration specifiers"
+ msgstr "bildirim belirteçlerinde hem %<signed%> hem de %<void%>"
+
+-#: c-decl.c:7298 c-decl.c:7465
++#: c-decl.c:7297 c-decl.c:7464
+ #, gcc-internal-format
+ msgid "both %<signed%> and %<_Bool%> in declaration specifiers"
+ msgstr "bildirim belirteçlerinde hem %<signed%> hem de %<_Bool%>"
+
+-#: c-decl.c:7301 c-decl.c:7507
++#: c-decl.c:7300 c-decl.c:7506
+ #, gcc-internal-format
+ msgid "both %<signed%> and %<float%> in declaration specifiers"
+ msgstr "bildirim belirteçlerinde hem %<signed%> hem de %<float%>"
+
+-#: c-decl.c:7304 c-decl.c:7526
++#: c-decl.c:7303 c-decl.c:7525
+ #, gcc-internal-format
+ msgid "both %<signed%> and %<double%> in declaration specifiers"
+ msgstr "bildirim belirteçlerinde hem %<signed%> hem de %<double%>"
+
+-#: c-decl.c:7307
++#: c-decl.c:7306
+ #, fuzzy, gcc-internal-format
+ msgid "both %<signed%> and %<_Decimal32%> in declaration specifiers"
+ msgstr "bildirim belirteçlerinde hem %<signed%> hem de %<_Bool%>"
+
+-#: c-decl.c:7310
++#: c-decl.c:7309
+ #, fuzzy, gcc-internal-format
+ msgid "both %<signed%> and %<_Decimal64%> in declaration specifiers"
+ msgstr "bildirim belirteçlerinde hem %<signed%> hem de %<_Bool%>"
+
+-#: c-decl.c:7313
++#: c-decl.c:7312
+ #, fuzzy, gcc-internal-format
+ msgid "both %<signed%> and %<_Decimal128%> in declaration specifiers"
+ msgstr "bildirim belirteçlerinde hem %<signed%> hem de %<_Bool%>"
+
+-#: c-decl.c:7324 c-decl.c:7446
++#: c-decl.c:7323 c-decl.c:7445
+ #, gcc-internal-format
+ msgid "both %<unsigned%> and %<void%> in declaration specifiers"
+ msgstr "bildirim belirteçlerinde hem %<unsigned%> hem de %<void%>"
+
+-#: c-decl.c:7327 c-decl.c:7468
++#: c-decl.c:7326 c-decl.c:7467
+ #, gcc-internal-format
+ msgid "both %<unsigned%> and %<_Bool%> in declaration specifiers"
+ msgstr "bildirim belirteçlerinde hem %<unsigned%> hem de %<_Bool%>"
+
+-#: c-decl.c:7330 c-decl.c:7510
++#: c-decl.c:7329 c-decl.c:7509
+ #, gcc-internal-format
+ msgid "both %<unsigned%> and %<float%> in declaration specifiers"
+ msgstr "bildirim belirteçlerinde hem %<unsigned%> hem de %<float%>"
+
+-#: c-decl.c:7333 c-decl.c:7529
++#: c-decl.c:7332 c-decl.c:7528
+ #, gcc-internal-format
+ msgid "both %<unsigned%> and %<double%> in declaration specifiers"
+ msgstr "bildirim belirteçlerinde hem %<unsigned%> hem de %<double%>"
+
+-#: c-decl.c:7336
++#: c-decl.c:7335
+ #, fuzzy, gcc-internal-format
+ msgid "both %<unsigned%> and %<_Decimal32%> in declaration specifiers"
+ msgstr "bildirim belirteçlerinde hem %<unsigned%> hem de %<_Bool%>"
+
+-#: c-decl.c:7339
++#: c-decl.c:7338
+ #, fuzzy, gcc-internal-format
+ msgid "both %<unsigned%> and %<_Decimal64%> in declaration specifiers"
+ msgstr "bildirim belirteçlerinde hem %<unsigned%> hem de %<_Bool%>"
+
+-#: c-decl.c:7342
++#: c-decl.c:7341
+ #, fuzzy, gcc-internal-format
+ msgid "both %<unsigned%> and %<_Decimal128%> in declaration specifiers"
+ msgstr "bildirim belirteçlerinde hem %<unsigned%> hem de %<_Bool%>"
+
+-#: c-decl.c:7350
++#: c-decl.c:7349
+ #, gcc-internal-format
+ msgid "ISO C90 does not support complex types"
+ msgstr "ISO C90 karmaşık türleri desteklemez"
+
+-#: c-decl.c:7352 c-decl.c:7449
++#: c-decl.c:7351 c-decl.c:7448
+ #, gcc-internal-format
+ msgid "both %<complex%> and %<void%> in declaration specifiers"
+ msgstr "bildirim belirteçlerinde hem %<complex%> hem de %<void%>"
+
+-#: c-decl.c:7355 c-decl.c:7471
++#: c-decl.c:7354 c-decl.c:7470
+ #, gcc-internal-format
+ msgid "both %<complex%> and %<_Bool%> in declaration specifiers"
+ msgstr "bildirim belirteçlerinde hem %<complex%> hem de %<_Bool%>"
+
+-#: c-decl.c:7358
++#: c-decl.c:7357
+ #, fuzzy, gcc-internal-format
+ msgid "both %<complex%> and %<_Decimal32%> in declaration specifiers"
+ msgstr "bildirim belirteçlerinde hem %<complex%> hem de %<_Bool%>"
+
+-#: c-decl.c:7361
++#: c-decl.c:7360
+ #, fuzzy, gcc-internal-format
+ msgid "both %<complex%> and %<_Decimal64%> in declaration specifiers"
+ msgstr "bildirim belirteçlerinde hem %<complex%> hem de %<_Bool%>"
+
+-#: c-decl.c:7364
++#: c-decl.c:7363
+ #, fuzzy, gcc-internal-format
+ msgid "both %<complex%> and %<_Decimal128%> in declaration specifiers"
+ msgstr "bildirim belirteçlerinde hem %<complex%> hem de %<_Bool%>"
+
+-#: c-decl.c:7367
++#: c-decl.c:7366
+ #, fuzzy, gcc-internal-format
+ msgid "both %<complex%> and %<_Fract%> in declaration specifiers"
+ msgstr "bildirim belirteçlerinde hem %<complex%> hem de %<_Bool%>"
+
+-#: c-decl.c:7370
++#: c-decl.c:7369
+ #, fuzzy, gcc-internal-format
+ msgid "both %<complex%> and %<_Accum%> in declaration specifiers"
+ msgstr "bildirim belirteçlerinde hem %<complex%> hem de %<_Bool%>"
+
+-#: c-decl.c:7373
++#: c-decl.c:7372
+ #, fuzzy, gcc-internal-format
+ msgid "both %<complex%> and %<_Sat%> in declaration specifiers"
+ msgstr "bildirim belirteçlerinde hem %<complex%> hem de %<_Bool%>"
+
+-#: c-decl.c:7381
++#: c-decl.c:7380
+ #, fuzzy, gcc-internal-format
+ msgid "ISO C does not support saturating types"
+ msgstr "ISO C karmaşık tamsayı türleri desteklemez"
+
+-#: c-decl.c:7383 c-decl.c:7452
++#: c-decl.c:7382 c-decl.c:7451
+ #, fuzzy, gcc-internal-format
+ msgid "both %<_Sat%> and %<void%> in declaration specifiers"
+ msgstr "bildirim belirteçlerinde hem %<short%> hem de %<void%>"
+
+-#: c-decl.c:7386 c-decl.c:7474
++#: c-decl.c:7385 c-decl.c:7473
+ #, fuzzy, gcc-internal-format
+ msgid "both %<_Sat%> and %<_Bool%> in declaration specifiers"
+ msgstr "bildirim belirteçlerinde hem %<short%> hem de %<_Bool%>"
+
+-#: c-decl.c:7389 c-decl.c:7487
++#: c-decl.c:7388 c-decl.c:7486
+ #, fuzzy, gcc-internal-format
+ msgid "both %<_Sat%> and %<char%> in declaration specifiers"
+ msgstr "bildirim belirteçlerinde hem %<short%> hem de %<char%>"
+
+-#: c-decl.c:7392 c-decl.c:7494
++#: c-decl.c:7391 c-decl.c:7493
+ #, fuzzy, gcc-internal-format
+ msgid "both %<_Sat%> and %<int%> in declaration specifiers"
+ msgstr "bildirim belirteçlerinde hem %<short%> hem de %<void%>"
+
+-#: c-decl.c:7395 c-decl.c:7513
++#: c-decl.c:7394 c-decl.c:7512
+ #, fuzzy, gcc-internal-format
+ msgid "both %<_Sat%> and %<float%> in declaration specifiers"
+ msgstr "bildirim belirteçlerinde hem %<short%> hem de %<float%>"
+
+-#: c-decl.c:7398 c-decl.c:7532
++#: c-decl.c:7397 c-decl.c:7531
+ #, fuzzy, gcc-internal-format
+ msgid "both %<_Sat%> and %<double%> in declaration specifiers"
+ msgstr "bildirim belirtieçlerinde hem %<short%> hem de %<double%>"
+
+-#: c-decl.c:7401
++#: c-decl.c:7400
+ #, fuzzy, gcc-internal-format
+ msgid "both %<_Sat%> and %<_Decimal32%> in declaration specifiers"
+ msgstr "bildirim belirteçlerinde hem %<short%> hem de %<char%>"
+
+-#: c-decl.c:7404
++#: c-decl.c:7403
+ #, fuzzy, gcc-internal-format
+ msgid "both %<_Sat%> and %<_Decimal64%> in declaration specifiers"
+ msgstr "bildirim belirteçlerinde hem %<short%> hem de %<char%>"
+
+-#: c-decl.c:7407
++#: c-decl.c:7406
+ #, fuzzy, gcc-internal-format
+ msgid "both %<_Sat%> and %<_Decimal128%> in declaration specifiers"
+ msgstr "bildirim belirteçlerinde hem %<short%> hem de %<char%>"
+
+-#: c-decl.c:7410
++#: c-decl.c:7409
+ #, fuzzy, gcc-internal-format
+ msgid "both %<_Sat%> and %<complex%> in declaration specifiers"
+ msgstr "bildirim belirtieçlerinde hem %<short%> hem de %<double%>"
+
+-#: c-decl.c:7549
++#: c-decl.c:7548
+ #, fuzzy, gcc-internal-format
+ msgid "both %<long long%> and %<%s%> in declaration specifiers"
+ msgstr "bildirim belirteçlerinde hem %<long long%> hem de %<double%>"
+
+-#: c-decl.c:7552
++#: c-decl.c:7551
+ #, fuzzy, gcc-internal-format
+ msgid "both %<long%> and %<%s%> in declaration specifiers"
+ msgstr "bildirim belirteçlerinde hem %<long%> hem de %<short%>"
+
+-#: c-decl.c:7555
++#: c-decl.c:7554
+ #, fuzzy, gcc-internal-format
+ msgid "both %<short%> and %<%s%> in declaration specifiers"
+ msgstr "bildirim belirteçlerinde hem %<short%> hem de %<void%>"
+
+-#: c-decl.c:7558
++#: c-decl.c:7557
+ #, fuzzy, gcc-internal-format
+ msgid "both %<signed%> and %<%s%> in declaration specifiers"
+ msgstr "bildirim belirteçlerinde hem %<signed%> hem de %<void%>"
+
+-#: c-decl.c:7561
++#: c-decl.c:7560
+ #, fuzzy, gcc-internal-format
+ msgid "both %<unsigned%> and %<%s%> in declaration specifiers"
+ msgstr "bildirim belirteçlerinde hem %<unsigned%> hem de %<void%>"
+
+-#: c-decl.c:7564 c-decl.c:7590
++#: c-decl.c:7563 c-decl.c:7589
+ #, fuzzy, gcc-internal-format
+ msgid "both %<complex%> and %<%s%> in declaration specifiers"
+ msgstr "bildirim belirteçlerinde hem %<complex%> hem de %<void%>"
+
+-#: c-decl.c:7567
++#: c-decl.c:7566
+ #, fuzzy, gcc-internal-format
+ msgid "both %<_Sat%> and %<%s%> in declaration specifiers"
+ msgstr "bildirim belirteçlerinde hem %<long%> hem de %<short%>"
+
+-#: c-decl.c:7577
++#: c-decl.c:7576
+ #, fuzzy, gcc-internal-format
+ msgid "decimal floating point not supported for this target"
+ msgstr "bu hedefte -fdata-sections desteklenmiyor"
+
+-#: c-decl.c:7579
++#: c-decl.c:7578
+ #, fuzzy, gcc-internal-format
+ msgid "ISO C does not support decimal floating point"
+ msgstr "ISO C90 %<long long%>'u desteklemez"
+
+-#: c-decl.c:7598
++#: c-decl.c:7597
+ #, fuzzy, gcc-internal-format
+ msgid "fixed-point types not supported for this target"
+ msgstr "bu hedefte -fdata-sections desteklenmiyor"
+
+-#: c-decl.c:7600
++#: c-decl.c:7599
+ #, fuzzy, gcc-internal-format
+ msgid "ISO C does not support fixed-point types"
+ msgstr "ISO C karmaşık tamsayı türleri desteklemez"
+
+-#: c-decl.c:7634
++#: c-decl.c:7633
+ #, gcc-internal-format
+ msgid "%qE fails to be a typedef or built in type"
+ msgstr "%qE bir typedef veya yerleşik veri türü olarak başarısız"
+
+-#: c-decl.c:7667
++#: c-decl.c:7666
+ #, gcc-internal-format
+ msgid "%qE is not at beginning of declaration"
+ msgstr "%qE bildirimin başlangıcında değil"
+
+-#: c-decl.c:7681
++#: c-decl.c:7680
+ #, gcc-internal-format
+ msgid "%<__thread%> used with %<auto%>"
+ msgstr "%<__thread%> %<auto%> ile kullanılmış"
+
+-#: c-decl.c:7683
++#: c-decl.c:7682
+ #, gcc-internal-format
+ msgid "%<__thread%> used with %<register%>"
+ msgstr "%<__thread%> %<register%> ile kullanılmış"
+
+-#: c-decl.c:7685
++#: c-decl.c:7684
+ #, gcc-internal-format
+ msgid "%<__thread%> used with %<typedef%>"
+ msgstr "%<__thread%> %<typedef%> ile kullanılmış"
+
+-#: c-decl.c:7696
++#: c-decl.c:7695
+ #, gcc-internal-format
+ msgid "%<__thread%> before %<extern%>"
+ msgstr "%<extern%> öncesinde %<__thread%>"
+
+-#: c-decl.c:7705
++#: c-decl.c:7704
+ #, gcc-internal-format
+ msgid "%<__thread%> before %<static%>"
+ msgstr "%<static%> öncesinde %<__thread%>"
+
+-#: c-decl.c:7721
++#: c-decl.c:7720
+ #, gcc-internal-format
+ msgid "multiple storage classes in declaration specifiers"
+ msgstr "bildirim belirteçlerinde çok sayıda saklama sınıfı"
+
+-#: c-decl.c:7728
++#: c-decl.c:7727
+ #, gcc-internal-format
+ msgid "%<__thread%> used with %qE"
+ msgstr "%<__thread%> %qE ile kullanılmış"
+
+-#: c-decl.c:7775
++#: c-decl.c:7774
+ #, fuzzy, gcc-internal-format
+ msgid "%<_Sat%> is used without %<_Fract%> or %<_Accum%>"
+ msgstr "%<@catch%> veya %<@finally%> olmaksızın %<@try%>"
+
+-#: c-decl.c:7787
++#: c-decl.c:7786
+ #, gcc-internal-format
+ msgid "ISO C does not support plain %<complex%> meaning %<double complex%>"
+ msgstr "ISO C salt %<complex%>i %<double complex%> anlamında desteklemez"
+
+-#: c-decl.c:7832 c-decl.c:7858
++#: c-decl.c:7831 c-decl.c:7857
+ #, gcc-internal-format
+ msgid "ISO C does not support complex integer types"
+ msgstr "ISO C karmaşık tamsayı türleri desteklemez"
+
+-#: c-decl.c:8008 toplev.c:847
++#: c-decl.c:8007 toplev.c:847
+ #, gcc-internal-format
+ msgid "%q+F used but never defined"
+ msgstr "%q+F işlevi tanımlanmadan kullanılmış"
+@@ -19656,37 +19631,37 @@
+ msgid "invalid expression type for %<#pragma omp atomic%>"
+ msgstr "terim olarak ifade geçersiz"
+
+-#: c-omp.c:218
++#: c-omp.c:219
+ #, fuzzy, gcc-internal-format
+ msgid "%Hinvalid type for iteration variable %qE"
+ msgstr "%qE özniteliği için vektör türü geçersiz"
+
+-#: c-omp.c:222
++#: c-omp.c:223
+ #, fuzzy, gcc-internal-format
+ msgid "%Hiteration variable %qE is unsigned"
+ msgstr "gerçeklenim değişkeni %qs bilinmeyen boyutta"
+
+-#: c-omp.c:233
++#: c-omp.c:234
+ #, fuzzy, gcc-internal-format
+ msgid "%H%qE is not initialized"
+ msgstr "%qD parametresi ilklendirilmiÅŸ"
+
+-#: c-omp.c:246 cp/semantics.c:3840
++#: c-omp.c:247 cp/semantics.c:3872
+ #, gcc-internal-format
+ msgid "%Hmissing controlling predicate"
+ msgstr ""
+
+-#: c-omp.c:304
++#: c-omp.c:305
+ #, fuzzy, gcc-internal-format
+ msgid "%Hinvalid controlling predicate"
+ msgstr "koşullu terim geçersiz"
+
+-#: c-omp.c:311 cp/semantics.c:3846
++#: c-omp.c:312 cp/semantics.c:3878
+ #, fuzzy, gcc-internal-format
+ msgid "%Hmissing increment expression"
+ msgstr "atama engelleme"
+
+-#: c-omp.c:361
++#: c-omp.c:362
+ #, fuzzy, gcc-internal-format
+ msgid "%Hinvalid increment expression"
+ msgstr "doğruluk-değeri ifadesi geçersiz"
+@@ -19731,152 +19706,152 @@
+ msgid "obsolete option -I- used, please use -iquote instead"
+ msgstr "atıl seçenek -I- kullanılmış, yerine lütfen -iquote kullanın"
+
+-#: c-opts.c:508
++#: c-opts.c:510
+ #, gcc-internal-format
+ msgid "argument %qs to %<-Wnormalized%> not recognized"
+ msgstr "%<-Wnormalized%> için %qs argümanı tanınmıyor"
+
+-#: c-opts.c:595
++#: c-opts.c:597
+ #, gcc-internal-format
+ msgid "switch %qs is no longer supported"
+ msgstr "switch %qs artık desteklenmiyor"
+
+-#: c-opts.c:705
++#: c-opts.c:707
+ #, gcc-internal-format
+ msgid "-fhandle-exceptions has been renamed -fexceptions (and is now on by default)"
+ msgstr "-fhandle-exceptions, -fexceptions olarak değiştirilmişti (ve şimdi öntanımlı olarak böyle)"
+
+-#: c-opts.c:911
++#: c-opts.c:913
+ #, gcc-internal-format
+ msgid "output filename specified twice"
+ msgstr "çıktı dosyasının ismi iki kere belirtilmiş"
+
+-#: c-opts.c:1051
++#: c-opts.c:1053
+ #, gcc-internal-format
+ msgid "-fno-gnu89-inline is only supported in GNU99 or C99 mode"
+ msgstr ""
+
+-#: c-opts.c:1126
++#: c-opts.c:1142
+ #, gcc-internal-format
+ msgid "-Wformat-y2k ignored without -Wformat"
+ msgstr "-Wformat-y2k -Wformat'sız yoksayıldı"
+
+-#: c-opts.c:1128
++#: c-opts.c:1144
+ #, gcc-internal-format
+ msgid "-Wformat-extra-args ignored without -Wformat"
+ msgstr "-Wformat-extra-args -Wformat'sız yoksayıldı"
+
+-#: c-opts.c:1130
++#: c-opts.c:1146
+ #, gcc-internal-format
+ msgid "-Wformat-zero-length ignored without -Wformat"
+ msgstr "-Wformat-zero-length -Wformat'sız yoksayıldı"
+
+-#: c-opts.c:1132
++#: c-opts.c:1148
+ #, gcc-internal-format
+ msgid "-Wformat-nonliteral ignored without -Wformat"
+ msgstr "-Wformat-nonliteral -Wformat'sız yoksayıldı"
+
+-#: c-opts.c:1134
++#: c-opts.c:1150
+ #, fuzzy, gcc-internal-format
+ msgid "-Wformat-contains-nul ignored without -Wformat"
+ msgstr "-Wformat-nonliteral -Wformat'sız yoksayıldı"
+
+-#: c-opts.c:1136
++#: c-opts.c:1152
+ #, gcc-internal-format
+ msgid "-Wformat-security ignored without -Wformat"
+ msgstr "-Wformat-security -Wformat'sız yoksayıldı"
+
+-#: c-opts.c:1160
++#: c-opts.c:1176
+ #, gcc-internal-format
+ msgid "opening output file %s: %m"
+ msgstr "`%s' çıktı dosyasının açılması: %m"
+
+-#: c-opts.c:1165
++#: c-opts.c:1181
+ #, gcc-internal-format
+ msgid "too many filenames given. Type %s --help for usage"
+ msgstr "çok fazla dosyaismi verildi. Kullanım bilgileri için %s --help yazınız"
+
+-#: c-opts.c:1249
++#: c-opts.c:1265
+ #, fuzzy, gcc-internal-format
+ msgid "The C parser does not support -dy, option ignored"
+ msgstr "APCS yeniden girişli kod desteklenmiyor. Yoksayıldi"
+
+-#: c-opts.c:1253
++#: c-opts.c:1269
+ #, gcc-internal-format
+ msgid "The Objective-C parser does not support -dy, option ignored"
+ msgstr ""
+
+-#: c-opts.c:1256
++#: c-opts.c:1272
+ #, fuzzy, gcc-internal-format
+ msgid "The C++ parser does not support -dy, option ignored"
+ msgstr "APCS yeniden girişli kod desteklenmiyor. Yoksayıldi"
+
+-#: c-opts.c:1260
++#: c-opts.c:1276
+ #, gcc-internal-format
+ msgid "The Objective-C++ parser does not support -dy, option ignored"
+ msgstr ""
+
+-#: c-opts.c:1309
++#: c-opts.c:1326
+ #, gcc-internal-format
+ msgid "opening dependency file %s: %m"
+ msgstr "%s bağımlılık dosyasının açılması: %m"
+
+-#: c-opts.c:1319
++#: c-opts.c:1336
+ #, gcc-internal-format
+ msgid "closing dependency file %s: %m"
+ msgstr "%s bağımlılık dosyasının kapatılması: %m"
+
+-#: c-opts.c:1322
++#: c-opts.c:1339
+ #, gcc-internal-format
+ msgid "when writing output to %s: %m"
+ msgstr "çıktı %s e yazılırken: %m"
+
+-#: c-opts.c:1402
++#: c-opts.c:1419
+ #, gcc-internal-format
+ msgid "to generate dependencies you must specify either -M or -MM"
+ msgstr "bağımlılıkları üretmek için ya -M ya da -MM belirtmelisiniz"
+
+-#: c-opts.c:1448
++#: c-opts.c:1469
+ #, gcc-internal-format
+ msgid "-fdirectives-only is incompatible with -Wunused_macros"
+ msgstr ""
+
+-#: c-opts.c:1450
++#: c-opts.c:1471
+ #, gcc-internal-format
+ msgid "-fdirectives-only is incompatible with -traditional"
+ msgstr ""
+
+-#: c-opts.c:1588
++#: c-opts.c:1609
+ #, gcc-internal-format
+ msgid "too late for # directive to set debug directory"
+ msgstr "hata ayıklama dizinini belirten # yönergesi için çok gec"
+
+-#: c-parser.c:1070
++#: c-parser.c:1072
+ #, fuzzy, gcc-internal-format
+ msgid "%HISO C forbids an empty source file"
+ msgstr "ISO C boş kaynak dosyalarına izin vermez"
+
+-#: c-parser.c:1156 c-parser.c:6091
++#: c-parser.c:1158 c-parser.c:6150
+ #, fuzzy, gcc-internal-format
+ msgid "%HISO C does not allow extra %<;%> outside of a function"
+ msgstr "ISO C işlevler dışında fazladan %<;%> kullanımına izin vermez"
+
+-#: c-parser.c:1259 c-parser.c:6640
++#: c-parser.c:1261 c-parser.c:6699
+ #, gcc-internal-format
+ msgid "expected declaration specifiers"
+ msgstr "bildirim belirteçleri umuluyordu"
+
+-#: c-parser.c:1271
++#: c-parser.c:1273
+ #, fuzzy, gcc-internal-format
+ msgid "%Hempty declaration"
+ msgstr "boÅŸ bildirim"
+
+-#: c-parser.c:1307
++#: c-parser.c:1309
+ #, fuzzy, gcc-internal-format
+ msgid "%Hdata definition has no type or storage class"
+ msgstr "veri tanımı tür ya da saklama sınıfı içermiyor"
+
+-#: c-parser.c:1362
++#: c-parser.c:1364
+ #, gcc-internal-format
+ msgid "expected %<,%> or %<;%>"
+ msgstr "%<,%> veya %<;%> umuluyordu"
+@@ -19884,174 +19859,189 @@
+ #. This can appear in many cases looking nothing like a
+ #. function definition, so we don't give a more specific
+ #. error suggesting there was one.
+-#: c-parser.c:1369 c-parser.c:1386
++#: c-parser.c:1371 c-parser.c:1388
+ #, gcc-internal-format
+ msgid "expected %<=%>, %<,%>, %<;%>, %<asm%> or %<__attribute__%>"
+ msgstr "%<=%>, %<,%>, %<;%>, %<asm%> veya %<__attribute__%> umuluyordu"
+
+-#: c-parser.c:1378
++#: c-parser.c:1380
+ #, fuzzy, gcc-internal-format
+ msgid "%HISO C forbids nested functions"
+ msgstr "ISO C iç içe işlevlere izin vermez"
+
+-#: c-parser.c:1743 c-parser.c:2553 c-parser.c:3189 c-parser.c:3445
+-#: c-parser.c:4308 c-parser.c:4895 c-parser.c:5298 c-parser.c:5318
+-#: c-parser.c:5434 c-parser.c:5582 c-parser.c:5599 c-parser.c:5731
+-#: c-parser.c:5743 c-parser.c:5768 c-parser.c:5903 c-parser.c:5932
+-#: c-parser.c:5940 c-parser.c:5968 c-parser.c:5982 c-parser.c:6201
+-#: c-parser.c:6300 c-parser.c:6803 c-parser.c:7426
++#: c-parser.c:1745 c-parser.c:2555 c-parser.c:3191 c-parser.c:3447
++#: c-parser.c:4367 c-parser.c:4954 c-parser.c:5357 c-parser.c:5377
++#: c-parser.c:5493 c-parser.c:5641 c-parser.c:5658 c-parser.c:5790
++#: c-parser.c:5802 c-parser.c:5827 c-parser.c:5962 c-parser.c:5991
++#: c-parser.c:5999 c-parser.c:6027 c-parser.c:6041 c-parser.c:6260
++#: c-parser.c:6359 c-parser.c:6862 c-parser.c:7493
+ #, gcc-internal-format
+ msgid "expected identifier"
+ msgstr "betimleyici umuluyordu"
+
+-#: c-parser.c:1773
++#: c-parser.c:1775
+ #, fuzzy, gcc-internal-format
+ msgid "%Hcomma at end of enumerator list"
+ msgstr "sembolik sabitler listesinin sonunda virgul"
+
+-#: c-parser.c:1779
++#: c-parser.c:1781
+ #, gcc-internal-format
+ msgid "expected %<,%> or %<}%>"
+ msgstr "%<,%> veya %<}%> umuluyordu"
+
+-#: c-parser.c:1793 c-parser.c:1977 c-parser.c:6058
++#: c-parser.c:1795 c-parser.c:1979 c-parser.c:6117
+ #, gcc-internal-format
+ msgid "expected %<{%>"
+ msgstr "%<{%> umuluyordu"
+
+-#: c-parser.c:1804
++#: c-parser.c:1806
+ #, fuzzy, gcc-internal-format
+ msgid "%HISO C forbids forward references to %<enum%> types"
+ msgstr "ISO C sonradan bildirilmiş %<enum%> türlerine ileri başvuruya izin vermez"
+
+-#: c-parser.c:1911
++#: c-parser.c:1913
+ #, gcc-internal-format
+ msgid "expected class name"
+ msgstr "sınıf ismi umuluyordu"
+
+-#: c-parser.c:1930 c-parser.c:5835
++#: c-parser.c:1932 c-parser.c:5894
+ #, fuzzy, gcc-internal-format
+ msgid "%Hextra semicolon in struct or union specified"
+ msgstr "struct ya da union'da fazladan ; var"
+
+-#: c-parser.c:1959
++#: c-parser.c:1961
+ #, fuzzy, gcc-internal-format
+ msgid "%Hno semicolon at end of struct or union"
+ msgstr "struct ya da union tanımının sonunda ; yok"
+
+-#: c-parser.c:1963
++#: c-parser.c:1965
+ #, gcc-internal-format
+ msgid "expected %<;%>"
+ msgstr "%<;%> umuluyordu"
+
+-#: c-parser.c:2042 c-parser.c:3014
++#: c-parser.c:2044 c-parser.c:3016
+ #, gcc-internal-format
+ msgid "expected specifier-qualifier-list"
+ msgstr "belirteç niteleyici listesi umuluyordu"
+
+-#: c-parser.c:2052
++#: c-parser.c:2054
+ #, fuzzy, gcc-internal-format
+ msgid "%HISO C forbids member declarations with no members"
+ msgstr "ISO C üyesiz üye bildirimlerine izin vermez"
+
+-#: c-parser.c:2126
++#: c-parser.c:2128
+ #, gcc-internal-format
+ msgid "expected %<,%>, %<;%> or %<}%>"
+ msgstr "%<,%>, %<;%> veya %<}%> umuluyordu"
+
+-#: c-parser.c:2133
++#: c-parser.c:2135
+ #, gcc-internal-format
+ msgid "expected %<:%>, %<,%>, %<;%>, %<}%> or %<__attribute__%>"
+ msgstr "%<:%>, %<,%>, %<;%>, %<}%> veya %<__attribute__%> umuluyordu"
+
+-#: c-parser.c:2184
++#: c-parser.c:2186
+ #, fuzzy, gcc-internal-format
+ msgid "%H%<typeof%> applied to a bit-field"
+ msgstr "%<typeof%> bir bit-alanına uygulanmış"
+
+-#: c-parser.c:2421
++#: c-parser.c:2423
+ #, gcc-internal-format
+ msgid "expected identifier or %<(%>"
+ msgstr "betimleyici veya %<(%> umuluyordu"
+
+-#: c-parser.c:2622
++#: c-parser.c:2624
+ #, fuzzy, gcc-internal-format
+ msgid "%HISO C requires a named argument before %<...%>"
+ msgstr "ISO C %<...%> dan önce bir isimli argüman gerektirir"
+
+-#: c-parser.c:2729
++#: c-parser.c:2731
+ #, gcc-internal-format
+ msgid "expected declaration specifiers or %<...%>"
+ msgstr "bildirim belirteçleri veya %<...%> umuluyordu"
+
+-#: c-parser.c:2779
++#: c-parser.c:2781
+ #, fuzzy, gcc-internal-format
+ msgid "%Hwide string literal in %<asm%>"
+ msgstr "%<asm%> de geniÅŸ dizge sabit"
+
+-#: c-parser.c:2786 c-parser.c:6695 cp/parser.c:20393
++#: c-parser.c:2788 c-parser.c:6754 cp/parser.c:20482
+ #, gcc-internal-format
+ msgid "expected string literal"
+ msgstr "dizge sabiti umuluyordu"
+
+-#: c-parser.c:3107
++#: c-parser.c:3109
+ #, fuzzy, gcc-internal-format
+ msgid "%HISO C forbids empty initializer braces"
+ msgstr "ISO C boÅŸ ilklendirme parantezlerine izin vermez"
+
+ #. Use the colon as the error location.
+-#: c-parser.c:3154
++#: c-parser.c:3156
+ #, fuzzy, gcc-internal-format
+ msgid "%Hobsolete use of designated initializer with %<:%>"
+ msgstr "%<:%> ile tasarlanmış ilklendirici kullanımını artık geçersiz"
+
+-#: c-parser.c:3285
++#: c-parser.c:3287
+ #, fuzzy, gcc-internal-format
+ msgid "%HISO C forbids specifying range of elements to initialize"
+ msgstr "ISO C ilklendirici olarak öğe aralığı belirtilmesine izin vermez."
+
+-#: c-parser.c:3298
++#: c-parser.c:3300
+ #, fuzzy, gcc-internal-format
+ msgid "%HISO C90 forbids specifying subobject to initialize"
+ msgstr "ISO C90 ilklendirici olarak alt nesnelerin belirtilmesine izin vermez."
+
+-#: c-parser.c:3307
++#: c-parser.c:3309
+ #, fuzzy, gcc-internal-format
+ msgid "%Hobsolete use of designated initializer without %<=%>"
+ msgstr "%<=%> olmaksızın tasarlanmış ilklendirici kullanımı artık geçersiz"
+
+-#: c-parser.c:3316
++#: c-parser.c:3318
+ #, gcc-internal-format
+ msgid "expected %<=%>"
+ msgstr "%<=%> umuluyordu"
+
+-#: c-parser.c:3461
++#: c-parser.c:3463
+ #, fuzzy, gcc-internal-format
+ msgid "%HISO C forbids label declarations"
+ msgstr "ISO C yafta bildirimlerine izin vermez"
+
+-#: c-parser.c:3466 c-parser.c:3541
++#: c-parser.c:3468 c-parser.c:3543
+ #, gcc-internal-format
+ msgid "expected declaration or statement"
+ msgstr "bildirim veya deyim umuluyordu"
+
+-#: c-parser.c:3494 c-parser.c:3522
++#: c-parser.c:3496 c-parser.c:3524
+ #, gcc-internal-format
+ msgid "%HISO C90 forbids mixed declarations and code"
+ msgstr "%HISO C90 kod ve bildirimlerin karışmasına izin vermez"
+
++#: c-parser.c:3550
++#, fuzzy, gcc-internal-format
++msgid "%Hexpected %<}%> before %<else%>"
++msgstr "%<,%> veya %<;%> umuluyordu"
++
+ #: c-parser.c:3555
++#, gcc-internal-format
++msgid "%H%<else%> without a previous %<if%>"
++msgstr ""
++
++#: c-parser.c:3571
+ #, fuzzy, gcc-internal-format
+ msgid "%Hlabel at end of compound statement"
+ msgstr "bileşik ifadenin sonunda yafta kullanımı"
+
+-#: c-parser.c:3598
++#: c-parser.c:3614
+ #, gcc-internal-format
+ msgid "expected %<:%> or %<...%>"
+ msgstr "%<:%> veya %<...%> umuluyordu"
+
+-#: c-parser.c:3779
++#: c-parser.c:3647
+ #, gcc-internal-format
++msgid "%Ha label can only be part of a statement and a declaration is not a statement"
++msgstr ""
++
++#: c-parser.c:3810
++#, gcc-internal-format
+ msgid "expected identifier or %<*%>"
+ msgstr "betimleyici veya %<*%> umuluyordu"
+
+@@ -20059,188 +20049,183 @@
+ #. 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-parser.c:3841
++#: c-parser.c:3872
+ #, gcc-internal-format
+ msgid "expected statement"
+ msgstr "deyim umuluyordu"
+
+-#: c-parser.c:3851
+-#, gcc-internal-format
+-msgid "%Ha label can only be part of a statement and a declaration is not a statement"
+-msgstr ""
+-
+-#: c-parser.c:4036
++#: c-parser.c:4095
+ #, fuzzy, gcc-internal-format
+ msgid "%Hsuggest braces around empty body in %<do%> statement"
+ msgstr "%Hif deyiminin gövdesi boş"
+
+-#: c-parser.c:4192
++#: c-parser.c:4251
+ #, fuzzy, gcc-internal-format
+ msgid "%H%E qualifier ignored on asm"
+ msgstr "asm'de %E niteleyicisi yoksayıldı"
+
+-#: c-parser.c:4473
++#: c-parser.c:4532
+ #, fuzzy, gcc-internal-format
+ msgid "%HISO C forbids omitting the middle term of a ?: expression"
+ msgstr "ISO C ?: üç terimlisinin orta teriminin atlanmasına izin vermez"
+
+-#: c-parser.c:4863
++#: c-parser.c:4922
+ #, fuzzy, gcc-internal-format
+ msgid "%Htraditional C rejects the unary plus operator"
+ msgstr "geleneksel C tek terimli artı işlecine izin vermez"
+
+ #. C99 6.7.5.2p4
+-#: c-parser.c:4974
++#: c-parser.c:5033
+ #, fuzzy, gcc-internal-format
+ msgid "%H%<[*]%> not allowed in other than a declaration"
+ msgstr "using bildiriminde isim alanı %qD kullanılamaz"
+
+-#: c-parser.c:4988
++#: c-parser.c:5047
+ #, fuzzy, gcc-internal-format
+ msgid "%H%<sizeof%> applied to a bit-field"
+ msgstr "%<sizeof%> bir bit alanına uygulandı"
+
+-#: c-parser.c:5132 c-parser.c:5476 c-parser.c:5498
++#: c-parser.c:5191 c-parser.c:5535 c-parser.c:5557
+ #, gcc-internal-format
+ msgid "expected expression"
+ msgstr "ifade umuluyordu"
+
+-#: c-parser.c:5159
++#: c-parser.c:5218
+ #, fuzzy, gcc-internal-format
+ msgid "%Hbraced-group within expression allowed only inside a function"
+ msgstr "ifade içinde parantezli gruplamalara sadece bir işlevin içinde izin verilir"
+
+-#: c-parser.c:5173
++#: c-parser.c:5232
+ #, fuzzy, gcc-internal-format
+ msgid "%HISO C forbids braced-groups within expressions"
+ msgstr "ISO C ifadelerde parantezli gruplamalara izin vermez"
+
+-#: c-parser.c:5358
++#: c-parser.c:5417
+ #, fuzzy, gcc-internal-format
+ msgid "%Hfirst argument to %<__builtin_choose_expr%> not a constant"
+ msgstr "%<__builtin_choose_expr%> için ilk argüman bir sabit değil"
+
+-#: c-parser.c:5527
++#: c-parser.c:5586
+ #, fuzzy, gcc-internal-format
+ msgid "%Hcompound literal has variable size"
+ msgstr "bileÅŸik sabit deÄŸiÅŸken boyuta sahip"
+
+-#: c-parser.c:5535
++#: c-parser.c:5594
+ #, fuzzy, gcc-internal-format
+ msgid "%HISO C90 forbids compound literals"
+ msgstr "ISO C90 bileÅŸik sabitlere izin vermez"
+
+-#: c-parser.c:6053
++#: c-parser.c:6112
+ #, fuzzy, gcc-internal-format
+ msgid "%Hextra semicolon in method definition specified"
+ msgstr "yöntem tanımında fazladan ; belirtilmiş"
+
+-#: c-parser.c:6600 cp/parser.c:20436
++#: c-parser.c:6659 cp/parser.c:20525
+ #, gcc-internal-format
+ msgid "%<#pragma omp barrier%> may only be used in compound statements"
+ msgstr ""
+
+-#: c-parser.c:6611 cp/parser.c:20451
++#: c-parser.c:6670 cp/parser.c:20540
+ #, gcc-internal-format
+ msgid "%<#pragma omp flush%> may only be used in compound statements"
+ msgstr ""
+
+-#: c-parser.c:6623
++#: c-parser.c:6682
+ #, gcc-internal-format
+ msgid "%H%<#pragma omp section%> may only be used in %<#pragma omp sections%> construct"
+ msgstr ""
+
+-#: c-parser.c:6630 cp/parser.c:20426
++#: c-parser.c:6689 cp/parser.c:20515
+ #, fuzzy, gcc-internal-format
+ msgid "%<#pragma GCC pch_preprocess%> must be first"
+ msgstr "#pragma GCC pch_preprocess bozuk, yoksayıldı"
+
+-#: c-parser.c:6781 cp/parser.c:19277
++#: c-parser.c:6840 cp/parser.c:19359
+ #, fuzzy, gcc-internal-format
+ msgid "too many %qs clauses"
+ msgstr "girdi dosyası sayısı çok fazla"
+
+-#: c-parser.c:6906
++#: c-parser.c:6965
+ #, fuzzy, gcc-internal-format
+ msgid "expected %<none%> or %<shared%>"
+ msgstr "%<,%> veya %<;%> umuluyordu"
+
+-#: c-parser.c:6949
++#: c-parser.c:7008
+ #, fuzzy, gcc-internal-format
+ msgid "expected %<(%>"
+ msgstr "%<{%> umuluyordu"
+
+-#: c-parser.c:6993 c-parser.c:7170
++#: c-parser.c:7052 c-parser.c:7229
+ #, fuzzy, gcc-internal-format
+ msgid "expected integer expression"
+ msgstr "ifade umuluyordu"
+
+-#: c-parser.c:7002
++#: c-parser.c:7061
+ #, gcc-internal-format
+ msgid "%H%<num_threads%> value must be positive"
+ msgstr ""
+
+-#: c-parser.c:7082
++#: c-parser.c:7141
+ #, fuzzy, gcc-internal-format
+ msgid "expected %<+%>, %<*%>, %<-%>, %<&%>, %<^%>, %<|%>, %<&&%>, or %<||%>"
+ msgstr "%<:%>, %<,%>, %<;%>, %<}%> veya %<__attribute__%> umuluyordu"
+
+-#: c-parser.c:7165
++#: c-parser.c:7224
+ #, gcc-internal-format
+ msgid "%Hschedule %<runtime%> does not take a %<chunk_size%> parameter"
+ msgstr ""
+
+-#: c-parser.c:7183
++#: c-parser.c:7242
+ #, fuzzy, gcc-internal-format
+ msgid "invalid schedule kind"
+ msgstr "const_double terim geçersiz"
+
+-#: c-parser.c:7269
++#: c-parser.c:7336
+ #, gcc-internal-format
+ msgid "expected %<#pragma omp%> clause"
+ msgstr ""
+
+-#: c-parser.c:7278
++#: c-parser.c:7345
+ #, fuzzy, gcc-internal-format
+ msgid "%H%qs is not valid for %qs"
+ msgstr "%qs geçerli bir çıktı dosyası değil"
+
+-#: c-parser.c:7378
++#: c-parser.c:7445
+ #, fuzzy, gcc-internal-format
+ msgid "invalid operator for %<#pragma omp atomic%>"
+ msgstr "%<__fpreg%> üzerinde geçersiz işlem"
+
+-#: c-parser.c:7429 c-parser.c:7449
++#: c-parser.c:7496 c-parser.c:7516
+ #, fuzzy, gcc-internal-format
+ msgid "expected %<(%> or end of line"
+ msgstr "Beklenmeyen modül sonu"
+
+-#: c-parser.c:7467
++#: c-parser.c:7534
+ #, fuzzy, gcc-internal-format
+ msgid "for statement expected"
+ msgstr "%s deyimi %L'de umuluyordu"
+
+-#: c-parser.c:7540 cp/semantics.c:3826 cp/semantics.c:3870
++#: c-parser.c:7609 cp/semantics.c:3858 cp/semantics.c:3902
+ #, fuzzy, gcc-internal-format
+ msgid "expected iteration declaration or initialization"
+ msgstr "bildirim veya deyim umuluyordu"
+
+-#: c-parser.c:7666
++#: c-parser.c:7735
+ #, fuzzy, gcc-internal-format
+ msgid "%Hexpected %<#pragma omp section%> or %<}%>"
+ msgstr "%<,%> veya %<}%> umuluyordu"
+
+-#: c-parser.c:7899 cp/semantics.c:3718
++#: c-parser.c:7968 cp/semantics.c:3750
+ #, fuzzy, gcc-internal-format
+ msgid "%qE declared %<threadprivate%> after first use"
+ msgstr "%<static%> olarak bildirilen `%q+F hiç tanımlanmamış"
+
+-#: c-parser.c:7901 cp/semantics.c:3720
++#: c-parser.c:7970 cp/semantics.c:3752
+ #, fuzzy, gcc-internal-format
+ msgid "automatic variable %qE cannot be %<threadprivate%>"
+ msgstr "gerçeklenim değişkeni %qs private olarak bildirilmiş"
+
+-#: c-parser.c:7903 cp/semantics.c:3722
++#: c-parser.c:7972 cp/semantics.c:3754
+ #, fuzzy, gcc-internal-format
+ msgid "%<threadprivate%> %qE has incomplete type"
+ msgstr "%J%u. parametre tamamlanmamış türde"
+@@ -20405,122 +20390,122 @@
+ msgid "junk at end of %<#pragma pop_macro%>"
+ msgstr "%<#pragma pack%> sonunda döküntü"
+
+-#: c-pragma.c:406
++#: c-pragma.c:407
+ #, gcc-internal-format
+ msgid "applying #pragma weak %q+D after first use results in unspecified behavior"
+ msgstr "ilk kullanımdan sonra #pragma weak %q+D uygulamak belirsiz davranışa yol açar"
+
+-#: c-pragma.c:480 c-pragma.c:485
++#: c-pragma.c:481 c-pragma.c:486
+ #, gcc-internal-format
+ msgid "malformed #pragma weak, ignored"
+ msgstr "bozuk #pragma weak - yoksayıldı"
+
+-#: c-pragma.c:489
++#: c-pragma.c:490
+ #, fuzzy, gcc-internal-format
+ msgid "junk at end of %<#pragma weak%>"
+ msgstr "%<#pragma pack%> sonunda döküntü"
+
+-#: c-pragma.c:557 c-pragma.c:559
++#: c-pragma.c:558 c-pragma.c:560
+ #, gcc-internal-format
+ msgid "malformed #pragma redefine_extname, ignored"
+ msgstr "bozuk #pragma redefine_extname - yoksayıldı"
+
+-#: c-pragma.c:562
++#: c-pragma.c:563
+ #, fuzzy, gcc-internal-format
+ msgid "junk at end of %<#pragma redefine_extname%>"
+ msgstr "#pragma redefine_extname sonunda döküntü"
+
+-#: c-pragma.c:568
++#: c-pragma.c:569
+ #, gcc-internal-format
+ msgid "#pragma redefine_extname not supported on this target"
+ msgstr "#pragma redefine_extname bu hedefte desteklenmiyor"
+
+-#: c-pragma.c:585 c-pragma.c:672
++#: c-pragma.c:586 c-pragma.c:673
+ #, gcc-internal-format
+ msgid "#pragma redefine_extname ignored due to conflict with previous rename"
+ msgstr "#pragma redefine_extname önceki isimlendirme ile çeliştiğinden yoksayıldı"
+
+-#: c-pragma.c:608
++#: c-pragma.c:609
+ #, gcc-internal-format
+ msgid "#pragma redefine_extname ignored due to conflict with previous #pragma redefine_extname"
+ msgstr "#pragma redefine_extname önceki #pragma redefine_extname ile çeliştiğinden yoksayıldı"
+
+-#: c-pragma.c:627
++#: c-pragma.c:628
+ #, gcc-internal-format
+ msgid "malformed #pragma extern_prefix, ignored"
+ msgstr "#pragma extern_prefix bozuk, yoksayıldı"
+
+-#: c-pragma.c:630
++#: c-pragma.c:631
+ #, fuzzy, gcc-internal-format
+ msgid "junk at end of %<#pragma extern_prefix%>"
+ msgstr "#pragma extern_prefix sonunda döküntü"
+
+-#: c-pragma.c:637
++#: c-pragma.c:638
+ #, gcc-internal-format
+ msgid "#pragma extern_prefix not supported on this target"
+ msgstr "#pragma extern_prefix bu hedefte desteklenmiyor"
+
+-#: c-pragma.c:663
++#: c-pragma.c:664
+ #, gcc-internal-format
+ msgid "asm declaration ignored due to conflict with previous rename"
+ msgstr "asm bildirimi önceki isim değişikliği ile çeliştiğinden yoksayıldı"
+
+-#: c-pragma.c:694
++#: c-pragma.c:695
+ #, gcc-internal-format
+ msgid "#pragma redefine_extname ignored due to conflict with __asm__ declaration"
+ msgstr "#pragma redefine_extname, __asm__ bildirimi ile çeliştiğinden yoksayıldı"
+
+-#: c-pragma.c:756
++#: c-pragma.c:757
+ #, gcc-internal-format
+ msgid "#pragma GCC visibility push() must specify default, internal, hidden or protected"
+ msgstr "#pragma GCC visibility push(), default, internal, hidden veya protected olarak belirtilmeli"
+
+-#: c-pragma.c:791
++#: c-pragma.c:792
+ #, gcc-internal-format
+ msgid "#pragma GCC visibility must be followed by push or pop"
+ msgstr "#pragma GCC visibility'yi push veya pop izlemeli"
+
+-#: c-pragma.c:797
++#: c-pragma.c:798
+ #, gcc-internal-format
+ msgid "no matching push for %<#pragma GCC visibility pop%>"
+ msgstr "%<#pragma GCC visibility pop%> ile eÅŸleÅŸen push yok"
+
+-#: c-pragma.c:804 c-pragma.c:811
++#: c-pragma.c:805 c-pragma.c:812
+ #, gcc-internal-format
+ msgid "missing %<(%> after %<#pragma GCC visibility push%> - ignored"
+ msgstr "%<#pragma GCC visibility push%> sonrasında %<(%> yok - yoksayıldı"
+
+-#: c-pragma.c:807
++#: c-pragma.c:808
+ #, gcc-internal-format
+ msgid "malformed #pragma GCC visibility push"
+ msgstr "#pragma GCC visibility push bozuk"
+
+-#: c-pragma.c:815
++#: c-pragma.c:816
+ #, gcc-internal-format
+ msgid "junk at end of %<#pragma GCC visibility%>"
+ msgstr "%<#pragma GCC visibility%> sonunda döküntü"
+
+-#: c-pragma.c:831
++#: c-pragma.c:832
+ #, fuzzy, gcc-internal-format
+ msgid "#pragma GCC diagnostic not allowed inside functions"
+ msgstr "#pragma GCC memregs bir işlev bildirimi ile öncelenmeli"
+
+-#: c-pragma.c:837
++#: c-pragma.c:838
+ #, gcc-internal-format
+ msgid "missing [error|warning|ignored] after %<#pragma GCC diagnostic%>"
+ msgstr ""
+
+-#: c-pragma.c:846
++#: c-pragma.c:847
+ #, gcc-internal-format
+ msgid "expected [error|warning|ignored] after %<#pragma GCC diagnostic%>"
+ msgstr ""
+
+-#: c-pragma.c:850
++#: c-pragma.c:851
+ #, fuzzy, gcc-internal-format
+ msgid "missing option after %<#pragma GCC diagnostic%> kind"
+ msgstr "%<#pragma pack%> sonrasında %<(%> eksik - yoksayıldı"
+
+-#: c-pragma.c:864
++#: c-pragma.c:865
+ #, fuzzy, gcc-internal-format
+ msgid "unknown option after %<#pragma GCC diagnostic%> kind"
+ msgstr " %<#pragma pack%> için %qs eylemi bilinmiyor - yoksayıldı"
+@@ -20530,7 +20515,7 @@
+ msgid "%qD has an incomplete type"
+ msgstr "%qD bir tamamlanmamış tür içeriyor"
+
+-#: c-typeck.c:195 cp/call.c:2785
++#: c-typeck.c:195 cp/call.c:2771
+ #, gcc-internal-format
+ msgid "invalid use of void expression"
+ msgstr "void ifade kullanımı geçersiz"
+@@ -20561,92 +20546,92 @@
+ msgid "function types not truly compatible in ISO C"
+ msgstr "işlev türleri ISO C'de tam uyumlu değil"
+
+-#: c-typeck.c:621
++#: c-typeck.c:627
+ #, gcc-internal-format
+ msgid "can%'t mix operands of decimal float and vector types"
+ msgstr ""
+
+-#: c-typeck.c:626
++#: c-typeck.c:632
+ #, gcc-internal-format
+ msgid "can%'t mix operands of decimal float and complex types"
+ msgstr ""
+
+-#: c-typeck.c:631
++#: c-typeck.c:637
+ #, gcc-internal-format
+ msgid "can%'t mix operands of decimal float and other float types"
+ msgstr ""
+
+-#: c-typeck.c:1037
++#: c-typeck.c:1043
+ #, gcc-internal-format
+ msgid "types are not quite compatible"
+ msgstr "türler tam uyumlu değil"
+
+-#: c-typeck.c:1356
++#: c-typeck.c:1366
+ #, gcc-internal-format
+ msgid "function return types not compatible due to %<volatile%>"
+ msgstr "işlevin dönüş türü %<volatile%> den dolayı uyumsuz"
+
+-#: c-typeck.c:1515 c-typeck.c:2853
++#: c-typeck.c:1525 c-typeck.c:2864
+ #, gcc-internal-format
+ msgid "arithmetic on pointer to an incomplete type"
+ msgstr "bir içi boş tür göstericisi üzerinde aritmetik"
+
+-#: c-typeck.c:1912
++#: c-typeck.c:1922
+ #, gcc-internal-format
+ msgid "%qT has no member named %qE"
+ msgstr "%qT türü %qE isimli üye içermiyor"
+
+-#: c-typeck.c:1953
++#: c-typeck.c:1963
+ #, gcc-internal-format
+ msgid "request for member %qE in something not a structure or union"
+ msgstr "bir struct veya union olmayan şeyin %qE üyesi için istek"
+
+-#: c-typeck.c:1997
++#: c-typeck.c:2007
+ #, gcc-internal-format
+ msgid "dereferencing pointer to incomplete type"
+ msgstr "içi boş ture gösterici ilişkilendirme"
+
+-#: c-typeck.c:2001
++#: c-typeck.c:2011
+ #, gcc-internal-format
+ msgid "dereferencing %<void *%> pointer"
+ msgstr "%<void *%> gösterici ilişkilendirmesi"
+
+-#: c-typeck.c:2018
++#: c-typeck.c:2028
+ #, fuzzy, gcc-internal-format
+ msgid "invalid type argument of %qs (have %qT)"
+ msgstr "%qs için tür argümanı geçersiz"
+
+-#: c-typeck.c:2046 cp/typeck.c:2524
++#: c-typeck.c:2056 cp/typeck.c:2570
+ #, gcc-internal-format
+ msgid "subscripted value is neither array nor pointer"
+ msgstr "indisli değer ne dizi ne de bir gösterici"
+
+-#: c-typeck.c:2057 cp/typeck.c:2443 cp/typeck.c:2529
++#: c-typeck.c:2067 cp/typeck.c:2489 cp/typeck.c:2575
+ #, gcc-internal-format
+ msgid "array subscript is not an integer"
+ msgstr "dizi indisi bir tamsayı değil"
+
+-#: c-typeck.c:2063
++#: c-typeck.c:2073
+ #, gcc-internal-format
+ msgid "subscripted value is pointer to function"
+ msgstr "indisli değer, işleve göstericidir"
+
+-#: c-typeck.c:2110
++#: c-typeck.c:2120
+ #, gcc-internal-format
+ msgid "ISO C forbids subscripting %<register%> array"
+ msgstr "ISO C %<register%> dizisi indislemesine izin vermez"
+
+-#: c-typeck.c:2112
++#: c-typeck.c:2122
+ #, gcc-internal-format
+ msgid "ISO C90 forbids subscripting non-lvalue array"
+ msgstr "ISO C90 sol tarafsız dizi indislemesine izin vermez"
+
+-#: c-typeck.c:2228
++#: c-typeck.c:2239
+ #, gcc-internal-format
+ msgid "%H%qD is static but used in inline function %qD which is not static"
+ msgstr ""
+
+-#: c-typeck.c:2376
++#: c-typeck.c:2387
+ #, gcc-internal-format
+ msgid "called object %qE is not a function"
+ msgstr "çağrılan nesne %qE bir işlev değil"
+@@ -20654,795 +20639,795 @@
+ #. This situation leads to run-time undefined behavior. We can't,
+ #. therefore, simply error unless we can prove that all possible
+ #. executions of the program must execute the code.
+-#: c-typeck.c:2404
++#: c-typeck.c:2415
+ #, gcc-internal-format
+ msgid "function called through a non-compatible type"
+ msgstr "uyumlu olmayan türde işlev çağrısı"
+
+-#: c-typeck.c:2515
++#: c-typeck.c:2526
+ #, gcc-internal-format
+ msgid "too many arguments to function %qE"
+ msgstr "%qE işlevi için çok fazla argüman belirtildi"
+
+-#: c-typeck.c:2536
++#: c-typeck.c:2547
+ #, gcc-internal-format
+ msgid "type of formal parameter %d is incomplete"
+ msgstr "%d biçimsel parametre türü tamamlanmayan türde"
+
+-#: c-typeck.c:2549
++#: c-typeck.c:2560
+ #, fuzzy, gcc-internal-format
+ msgid "passing argument %d of %qE as integer rather than floating due to prototype"
+ msgstr "%2$qE işlevinin %1$d. argümanına prototipten dolayı gerçel sayı değil tamsayı aktarılması"
+
+-#: c-typeck.c:2554
++#: c-typeck.c:2565
+ #, fuzzy, gcc-internal-format
+ msgid "passing argument %d of %qE as integer rather than complex due to prototype"
+ msgstr "%2$qE işlevinin %1$d. argümanına prototipten dolayı karmaşık sayı değil tamsayı aktarılması"
+
+-#: c-typeck.c:2559
++#: c-typeck.c:2570
+ #, fuzzy, gcc-internal-format
+ msgid "passing argument %d of %qE as complex rather than floating due to prototype"
+ msgstr "%2$qE işlevinin %1$d. argümanına prototipten dolayı gercel sayı değil karmaşık sayı aktarılması"
+
+-#: c-typeck.c:2564
++#: c-typeck.c:2575
+ #, fuzzy, gcc-internal-format
+ msgid "passing argument %d of %qE as floating rather than integer due to prototype"
+ msgstr "%2$qE işlevinin %1$d. argümanına prototipten dolayı tamsayı değil gercel sayı aktarılması"
+
+-#: c-typeck.c:2569
++#: c-typeck.c:2580
+ #, fuzzy, gcc-internal-format
+ msgid "passing argument %d of %qE as complex rather than integer due to prototype"
+ msgstr "%2$qE işlevinin %1$d. argümanına prototipten dolayı tamsayı değil karmaşık sayı aktarılması"
+
+-#: c-typeck.c:2574
++#: c-typeck.c:2585
+ #, fuzzy, gcc-internal-format
+ msgid "passing argument %d of %qE as floating rather than complex due to prototype"
+ msgstr "%2$qE işlevinin %1$d. argümanına prototipten dolayı karmaşık sayı değil gerçel sayı aktarılması"
+
+-#: c-typeck.c:2587
++#: c-typeck.c:2598
+ #, fuzzy, gcc-internal-format
+ msgid "passing argument %d of %qE as %<float%> rather than %<double%> due to prototype"
+ msgstr "%2$qE işlevinin %1$d. argümanına prototipten dolayı %<double%> değil %<float%> aktarılması"
+
+-#: c-typeck.c:2612
++#: c-typeck.c:2623
+ #, fuzzy, gcc-internal-format
+ msgid "passing argument %d of %qE as %qT rather than %qT due to prototype"
+ msgstr "%2$qE işlevinin %1$d. argümanına prototipten dolayı karmaşık sayı değil tamsayı aktarılması"
+
+-#: c-typeck.c:2633
++#: c-typeck.c:2644
+ #, fuzzy, gcc-internal-format
+ msgid "passing argument %d of %qE with different width due to prototype"
+ msgstr "%2$qE işlevinin %1$d. argümanına prototipten dolayı farklı genişlikte değer aktarılması"
+
+-#: c-typeck.c:2656
++#: c-typeck.c:2667
+ #, fuzzy, gcc-internal-format
+ msgid "passing argument %d of %qE as unsigned due to prototype"
+ msgstr "%2$qE işlevinin %1$d. argümanına prototipten dolayı işaretsiz tamsayı aktarılması"
+
+-#: c-typeck.c:2660
++#: c-typeck.c:2671
+ #, fuzzy, gcc-internal-format
+ msgid "passing argument %d of %qE as signed due to prototype"
+ msgstr "%2$qE işlevinin %1$d. argümanına prototipten dolayı işaretli tamsayı aktarılması"
+
+-#: c-typeck.c:2766 c-typeck.c:2770
++#: c-typeck.c:2777 c-typeck.c:2781
+ #, fuzzy, gcc-internal-format
+ msgid "comparison with string literal results in unspecified behavior"
+ msgstr "%q+D zayıf bildirimi ilk kullanımdan sonra belirsiz davranışla sonuçlanıyor"
+
+-#: c-typeck.c:2795
++#: c-typeck.c:2806
+ #, gcc-internal-format
+ msgid "pointer of type %<void *%> used in subtraction"
+ msgstr "çıkartmada %<void *%> türünde gösterici kullanılmış"
+
+-#: c-typeck.c:2797
++#: c-typeck.c:2808
+ #, gcc-internal-format
+ msgid "pointer to a function used in subtraction"
+ msgstr "çıkartmada işlev göstericisi kullanılmış"
+
+-#: c-typeck.c:2908
++#: c-typeck.c:2919
+ #, gcc-internal-format
+ msgid "wrong type argument to unary plus"
+ msgstr "tek terimli artıya yanlış türde argüman"
+
+-#: c-typeck.c:2921
++#: c-typeck.c:2932
+ #, gcc-internal-format
+ msgid "wrong type argument to unary minus"
+ msgstr "tek terimli eksiye yanlış türde argüman"
+
+-#: c-typeck.c:2941
++#: c-typeck.c:2952
+ #, gcc-internal-format
+ msgid "ISO C does not support %<~%> for complex conjugation"
+ msgstr "ISO C karmaşık sayıların mantıksal çarpımında %<~%> desteklemez"
+
+-#: c-typeck.c:2947
++#: c-typeck.c:2958
+ #, gcc-internal-format
+ msgid "wrong type argument to bit-complement"
+ msgstr "bit-tümler için yanlış türde argüman"
+
+-#: c-typeck.c:2955
++#: c-typeck.c:2966
+ #, gcc-internal-format
+ msgid "wrong type argument to abs"
+ msgstr "abs'a yanlış türde argüman"
+
+-#: c-typeck.c:2967
++#: c-typeck.c:2978
+ #, gcc-internal-format
+ msgid "wrong type argument to conjugation"
+ msgstr "mantıksal çarpım için yanlış türde argüman"
+
+-#: c-typeck.c:2979
++#: c-typeck.c:2990
+ #, gcc-internal-format
+ msgid "wrong type argument to unary exclamation mark"
+ msgstr "tek terimli tümleyen için yanlış türde argüman"
+
+-#: c-typeck.c:3013
++#: c-typeck.c:3024
+ #, gcc-internal-format
+ msgid "ISO C does not support %<++%> and %<--%> on complex types"
+ msgstr "ISO C karmaşık sayı türlerinde %<++%> ve %<--%> desteklemez"
+
+-#: c-typeck.c:3032 c-typeck.c:3064
++#: c-typeck.c:3043 c-typeck.c:3075
+ #, gcc-internal-format
+ msgid "wrong type argument to increment"
+ msgstr "arttırımda yanlış türde argüman"
+
+-#: c-typeck.c:3034 c-typeck.c:3066
++#: c-typeck.c:3045 c-typeck.c:3077
+ #, gcc-internal-format
+ msgid "wrong type argument to decrement"
+ msgstr "eksiltmede yanlış türde argüman"
+
+-#: c-typeck.c:3055
++#: c-typeck.c:3066
+ #, gcc-internal-format
+ msgid "increment of pointer to unknown structure"
+ msgstr "bilinmeyen yapı göstericisinde arttırma"
+
+-#: c-typeck.c:3057
++#: c-typeck.c:3068
+ #, gcc-internal-format
+ msgid "decrement of pointer to unknown structure"
+ msgstr "bilinmeyen yapı göstericisinde eksiltme"
+
+-#: c-typeck.c:3258
++#: c-typeck.c:3269
+ #, gcc-internal-format
+ msgid "assignment of read-only member %qD"
+ msgstr "salt-okunur üye %qD için atama"
+
+-#: c-typeck.c:3259
++#: c-typeck.c:3270
+ #, gcc-internal-format
+ msgid "increment of read-only member %qD"
+ msgstr "salt-okunur üye %qD için eksiltme"
+
+-#: c-typeck.c:3260
++#: c-typeck.c:3271
+ #, gcc-internal-format
+ msgid "decrement of read-only member %qD"
+ msgstr "salt-okunur üye %qD için arttırım"
+
+-#: c-typeck.c:3261
++#: c-typeck.c:3272
+ #, gcc-internal-format
+ msgid "read-only member %qD used as %<asm%> output"
+ msgstr "salt-okunur üye %qD %<asm%> çıktısı olarak kullanılmış"
+
+-#: c-typeck.c:3265
++#: c-typeck.c:3276
+ #, gcc-internal-format
+ msgid "assignment of read-only variable %qD"
+ msgstr "salt-okunur değişken %qD için atama"
+
+-#: c-typeck.c:3266
++#: c-typeck.c:3277
+ #, gcc-internal-format
+ msgid "increment of read-only variable %qD"
+ msgstr "salt-okunur değişken %qD için eksiltme"
+
+-#: c-typeck.c:3267
++#: c-typeck.c:3278
+ #, gcc-internal-format
+ msgid "decrement of read-only variable %qD"
+ msgstr "salt-okunur değişken %qD için arttırım"
+
+-#: c-typeck.c:3268
++#: c-typeck.c:3279
+ #, gcc-internal-format
+ msgid "read-only variable %qD used as %<asm%> output"
+ msgstr "salt-okunur değişken %qD %<asm%> çıktısı olarak kullanılmış"
+
+-#: c-typeck.c:3271
++#: c-typeck.c:3282
+ #, fuzzy, gcc-internal-format
+ msgid "assignment of read-only location %qE"
+ msgstr "salt-okunur konuma atama"
+
+-#: c-typeck.c:3272
++#: c-typeck.c:3283
+ #, fuzzy, gcc-internal-format
+ msgid "increment of read-only location %qE"
+ msgstr "salt-okunur konuma eksiltim"
+
+-#: c-typeck.c:3273
++#: c-typeck.c:3284
+ #, fuzzy, gcc-internal-format
+ msgid "decrement of read-only location %qE"
+ msgstr "salt-okunur konuma arttırım"
+
+-#: c-typeck.c:3274
++#: c-typeck.c:3285
+ #, fuzzy, gcc-internal-format
+ msgid "read-only location %qE used as %<asm%> output"
+ msgstr "salt-okunur konum %<asm%> çıktısı olarak kullanılmış"
+
+-#: c-typeck.c:3310
++#: c-typeck.c:3321
+ #, gcc-internal-format
+ msgid "cannot take address of bit-field %qD"
+ msgstr "%qD bit-alanının adresi alınamaz"
+
+-#: c-typeck.c:3338
++#: c-typeck.c:3349
+ #, gcc-internal-format
+ msgid "global register variable %qD used in nested function"
+ msgstr "genel yazmaç değişkeni %qD iç işlevde kullanılmış"
+
+-#: c-typeck.c:3341
++#: c-typeck.c:3352
+ #, gcc-internal-format
+ msgid "register variable %qD used in nested function"
+ msgstr "yazmaç değişkeni %qD iç işlevde kullanılmış"
+
+-#: c-typeck.c:3346
++#: c-typeck.c:3357
+ #, gcc-internal-format
+ msgid "address of global register variable %qD requested"
+ msgstr "%qD genel yazmaç değişkeninin adresi istenmiş"
+
+-#: c-typeck.c:3348
++#: c-typeck.c:3359
+ #, gcc-internal-format
+ msgid "address of register variable %qD requested"
+ msgstr "%qD yazmaç değişkeninin adresi istendi"
+
+-#: c-typeck.c:3394
++#: c-typeck.c:3405
+ #, gcc-internal-format
+ msgid "non-lvalue array in conditional expression"
+ msgstr "koÅŸullu ifadede sol deÄŸersiz dizi"
+
+-#: c-typeck.c:3442
++#: c-typeck.c:3453
+ #, gcc-internal-format
+ msgid "signed and unsigned type in conditional expression"
+ msgstr "koşullu ifadede signed ve unsigned türler"
+
+-#: c-typeck.c:3449
++#: c-typeck.c:3460
+ #, gcc-internal-format
+ msgid "ISO C forbids conditional expr with only one void side"
+ msgstr "ISO C tek taraflı void tür içeren koşullu ifadelere izin vermez"
+
+-#: c-typeck.c:3463 c-typeck.c:3471
++#: c-typeck.c:3474 c-typeck.c:3482
+ #, gcc-internal-format
+ msgid "ISO C forbids conditional expr between %<void *%> and function pointer"
+ msgstr "ISO C %<void *%> ve işlev göstericisi arasında koşullu ifadelere izin vermez"
+
+-#: c-typeck.c:3478
++#: c-typeck.c:3489
+ #, gcc-internal-format
+ msgid "pointer type mismatch in conditional expression"
+ msgstr "koşullu ifadede gösterici türü uyumsuzluğu"
+
+-#: c-typeck.c:3485 c-typeck.c:3495
++#: c-typeck.c:3496 c-typeck.c:3506
+ #, gcc-internal-format
+ msgid "pointer/integer type mismatch in conditional expression"
+ msgstr "koşullu ifadede gösterici/tamsayı tür uyumsuzluğu"
+
+-#: c-typeck.c:3509 tree-cfg.c:3783
++#: c-typeck.c:3520 tree-cfg.c:3807
+ #, gcc-internal-format
+ msgid "type mismatch in conditional expression"
+ msgstr "koşullu ifadede tür uyumsuzluğu"
+
+-#: c-typeck.c:3552
++#: c-typeck.c:3563
+ #, gcc-internal-format
+ msgid "left-hand operand of comma expression has no effect"
+ msgstr "virgüllü ifadenin sol terimi etkisiz"
+
+-#: c-typeck.c:3589
++#: c-typeck.c:3600
+ #, gcc-internal-format
+ msgid "cast specifies array type"
+ msgstr "tür dönüşümü dizi belirtiyor"
+
+-#: c-typeck.c:3595
++#: c-typeck.c:3606
+ #, gcc-internal-format
+ msgid "cast specifies function type"
+ msgstr "tür dönüşümü işlev belirtiyor"
+
+-#: c-typeck.c:3612
++#: c-typeck.c:3623
+ #, gcc-internal-format
+ msgid "ISO C forbids casting nonscalar to the same type"
+ msgstr "ISO C skalar olmayandan aynı türe dönüşüme izin vermez"
+
+-#: c-typeck.c:3629
++#: c-typeck.c:3640
+ #, gcc-internal-format
+ msgid "ISO C forbids casts to union type"
+ msgstr "ISO C union türe dönüşüme izin vermez"
+
+-#: c-typeck.c:3637
++#: c-typeck.c:3648
+ #, gcc-internal-format
+ msgid "cast to union type from type not present in union"
+ msgstr "union içinde mevcut olmayan türden union türe dönüşüm"
+
+-#: c-typeck.c:3683
++#: c-typeck.c:3694
+ #, gcc-internal-format
+ msgid "cast adds new qualifiers to function type"
+ msgstr "tür dönüşümü, işlev türüne yeni niteleyiciler ekliyor"
+
+ #. There are qualifiers present in IN_OTYPE that are not
+ #. present in IN_TYPE.
+-#: c-typeck.c:3688
++#: c-typeck.c:3699
+ #, gcc-internal-format
+ msgid "cast discards qualifiers from pointer target type"
+ msgstr "tür dönüşümü, gösterici hedef türünden niteleyicileri iptal ediyor"
+
+-#: c-typeck.c:3704
++#: c-typeck.c:3715
+ #, gcc-internal-format
+ msgid "cast increases required alignment of target type"
+ msgstr "tür dönüşümü hedef türün gerekli hizalamasını azaltıyor"
+
+-#: c-typeck.c:3715
++#: c-typeck.c:3726
+ #, gcc-internal-format
+ msgid "cast from pointer to integer of different size"
+ msgstr "göstericiden farklı tamsayı türlere dönüşüm"
+
+-#: c-typeck.c:3719
++#: c-typeck.c:3730
+ #, gcc-internal-format
+ msgid "cast from function call of type %qT to non-matching type %qT"
+ msgstr "%qT türündeki işlev çağrısından eşleşmeyen %qT türüne dönüşüm"
+
+-#: c-typeck.c:3727
++#: c-typeck.c:3738
+ #, gcc-internal-format
+ msgid "cast to pointer from integer of different size"
+ msgstr "farklı boyuttaki tamsayı türden göstericiye dönüşüm"
+
+-#: c-typeck.c:3741
++#: c-typeck.c:3752
+ #, gcc-internal-format
+ msgid "ISO C forbids conversion of function pointer to object pointer type"
+ msgstr "ISO C işlev göstericisinin nesne göstericisine dönüştürülmesini yasaklar"
+
+-#: c-typeck.c:3749
++#: c-typeck.c:3760
+ #, gcc-internal-format
+ msgid "ISO C forbids conversion of object pointer to function pointer type"
+ msgstr "ISO C nesne göstericisinin işlev göstericisine dönüştürülmesini yasaklar"
+
+-#: c-typeck.c:4026
++#: c-typeck.c:4037
+ #, gcc-internal-format
+ msgid "cannot pass rvalue to reference parameter"
+ msgstr "sağ taraf değeri, başvuru parametresine aktarılamaz"
+
+-#: c-typeck.c:4139 c-typeck.c:4306
++#: c-typeck.c:4150 c-typeck.c:4317
+ #, fuzzy, gcc-internal-format
+ msgid "passing argument %d of %qE makes qualified function pointer from unqualified"
+ msgstr "%2$qE işlevinin %1$d. argümanına aktarım niteliksiz göstericiyi nitelikli yapıyor"
+
+-#: c-typeck.c:4142 c-typeck.c:4309
++#: c-typeck.c:4153 c-typeck.c:4320
+ #, gcc-internal-format
+ msgid "assignment makes qualified function pointer from unqualified"
+ msgstr "atama niteliksiz işlev göstericisini nitelikli yapıyor"
+
+-#: c-typeck.c:4145 c-typeck.c:4311
++#: c-typeck.c:4156 c-typeck.c:4322
+ #, gcc-internal-format
+ msgid "initialization makes qualified function pointer from unqualified"
+ msgstr "ilklendirme niteliksiz işlev göstericisini nitelikli yapıyor"
+
+-#: c-typeck.c:4148 c-typeck.c:4313
++#: c-typeck.c:4159 c-typeck.c:4324
+ #, gcc-internal-format
+ msgid "return makes qualified function pointer from unqualified"
+ msgstr "dönüş değeri niteliksiz işlev göstericisini nitelikli yapıyor"
+
+-#: c-typeck.c:4152 c-typeck.c:4273
++#: c-typeck.c:4163 c-typeck.c:4284
+ #, fuzzy, gcc-internal-format
+ msgid "passing argument %d of %qE discards qualifiers from pointer target type"
+ msgstr "%2$qE işlevinin %1$d. argümanına aktarım gösterici hedef türündeki niteleyicileri iptal ediyor"
+
+-#: c-typeck.c:4154 c-typeck.c:4275
++#: c-typeck.c:4165 c-typeck.c:4286
+ #, gcc-internal-format
+ msgid "assignment discards qualifiers from pointer target type"
+ msgstr "atama gösterici hedef türündeki niteleyicileri iptal ediyor"
+
+-#: c-typeck.c:4156 c-typeck.c:4277
++#: c-typeck.c:4167 c-typeck.c:4288
+ #, gcc-internal-format
+ msgid "initialization discards qualifiers from pointer target type"
+ msgstr "ilklendirme gösterici hedef türündeki niteleyicileri iptal ediyor"
+
+-#: c-typeck.c:4158 c-typeck.c:4279
++#: c-typeck.c:4169 c-typeck.c:4290
+ #, gcc-internal-format
+ msgid "return discards qualifiers from pointer target type"
+ msgstr "dönüş değeri gösterici hedef türündeki niteleyicileri iptal ediyor"
+
+-#: c-typeck.c:4165
++#: c-typeck.c:4176
+ #, gcc-internal-format
+ msgid "ISO C prohibits argument conversion to union type"
+ msgstr "ISO C union türe argüman dönüşümünü yasaklar"
+
+-#: c-typeck.c:4201
++#: c-typeck.c:4212
+ #, gcc-internal-format
+ msgid "request for implicit conversion from %qT to %qT not permitted in C++"
+ msgstr "%qT türünden %qT türüne örtük dönüşüme C++'da izin verilmez"
+
+-#: c-typeck.c:4214
++#: c-typeck.c:4225
+ #, fuzzy, gcc-internal-format
+ msgid "argument %d of %qE might be a candidate for a format attribute"
+ msgstr "%2$qE işlevinin %1$d. argümanı bir biçim özniteliği adayı olabilir"
+
+-#: c-typeck.c:4220
++#: c-typeck.c:4231
+ #, gcc-internal-format
+ msgid "assignment left-hand side might be a candidate for a format attribute"
+ msgstr "atamada sol taraf bir biçim özniteliği adayı olabilir"
+
+-#: c-typeck.c:4225
++#: c-typeck.c:4236
+ #, gcc-internal-format
+ msgid "initialization left-hand side might be a candidate for a format attribute"
+ msgstr "ilklendirmede sol taraf bir biçim özniteliği adayı olabilir"
+
+-#: c-typeck.c:4230
++#: c-typeck.c:4241
+ #, gcc-internal-format
+ msgid "return type might be a candidate for a format attribute"
+ msgstr "dönüş türü bir biçim özniteliği adayı olabilir"
+
+-#: c-typeck.c:4253
++#: c-typeck.c:4264
+ #, fuzzy, gcc-internal-format
+ msgid "ISO C forbids passing argument %d of %qE between function pointer and %<void *%>"
+ msgstr "ISO C işlev göstericisi ile %<void *%> arasında %2$qE işlevinin %1$d. argümanının aktarımına izin vermez"
+
+-#: c-typeck.c:4256
++#: c-typeck.c:4267
+ #, gcc-internal-format
+ msgid "ISO C forbids assignment between function pointer and %<void *%>"
+ msgstr "ISO C de işlev göstericisi ile %<void *%> arasında atama yasaktır"
+
+-#: c-typeck.c:4258
++#: c-typeck.c:4269
+ #, gcc-internal-format
+ msgid "ISO C forbids initialization between function pointer and %<void *%>"
+ msgstr "ISO C de işlev göstericisi ile %<void *%> arasında ilklendirme yasaktır"
+
+-#: c-typeck.c:4260
++#: c-typeck.c:4271
+ #, gcc-internal-format
+ msgid "ISO C forbids return between function pointer and %<void *%>"
+ msgstr "ISO C de işlev göstericisi ile %<void *%> arasında return yasaktır"
+
+-#: c-typeck.c:4289
++#: c-typeck.c:4300
+ #, fuzzy, gcc-internal-format
+ msgid "pointer targets in passing argument %d of %qE differ in signedness"
+ msgstr "%2$qE işlevinin %1$d. argümanının aktarımında gösterici hedefleri farklı sign'lıkta"
+
+-#: c-typeck.c:4291
++#: c-typeck.c:4302
+ #, gcc-internal-format
+ msgid "pointer targets in assignment differ in signedness"
+ msgstr "atama sırasında gösterici hedefleri farklı signed'lıkta"
+
+-#: c-typeck.c:4293
++#: c-typeck.c:4304
+ #, gcc-internal-format
+ msgid "pointer targets in initialization differ in signedness"
+ msgstr "ilklendirmede gösterici hedefleri farklı signed'lıkta"
+
+-#: c-typeck.c:4295
++#: c-typeck.c:4306
+ #, gcc-internal-format
+ msgid "pointer targets in return differ in signedness"
+ msgstr "dönüş değerinde gösterici hedefleri farklı signed'lıkta"
+
+-#: c-typeck.c:4320
++#: c-typeck.c:4331
+ #, fuzzy, gcc-internal-format
+ msgid "passing argument %d of %qE from incompatible pointer type"
+ msgstr "%2$qE işlevinin %1$d. argümanına uyumsuz gösterici türünde aktarım"
+
+-#: c-typeck.c:4322
++#: c-typeck.c:4333
+ #, gcc-internal-format
+ msgid "assignment from incompatible pointer type"
+ msgstr "uyumsuz gösterici türünde atama"
+
+-#: c-typeck.c:4323
++#: c-typeck.c:4334
+ #, gcc-internal-format
+ msgid "initialization from incompatible pointer type"
+ msgstr "uyumsuz gösterici türünde ilklendirme"
+
+-#: c-typeck.c:4325
++#: c-typeck.c:4336
+ #, gcc-internal-format
+ msgid "return from incompatible pointer type"
+ msgstr "uyumsuz gösterici türünde dönüş değeri"
+
+-#: c-typeck.c:4342
++#: c-typeck.c:4353
+ #, fuzzy, gcc-internal-format
+ msgid "passing argument %d of %qE makes pointer from integer without a cast"
+ msgstr "%2$qE işlevinin %1$d. argümanının aktarımı sırasında bir tür dönüşümü olmaksızın tamsayıdan gösterici yapılıyor"
+
+-#: c-typeck.c:4344
++#: c-typeck.c:4355
+ #, gcc-internal-format
+ msgid "assignment makes pointer from integer without a cast"
+ msgstr "atama bir tür dönüşümü olmaksızın tamsayıdan gösterici yapıyor"
+
+-#: c-typeck.c:4346
++#: c-typeck.c:4357
+ #, gcc-internal-format
+ msgid "initialization makes pointer from integer without a cast"
+ msgstr "ilklendirme bir tür dönüşümü olmaksızın tamsayıdan gösterici yapıyor"
+
+-#: c-typeck.c:4348
++#: c-typeck.c:4359
+ #, gcc-internal-format
+ msgid "return makes pointer from integer without a cast"
+ msgstr "dönüş değeri bir tür dönüşümü olmaksızın tamsayıdan gösterici yapıyor"
+
+-#: c-typeck.c:4355
++#: c-typeck.c:4366
+ #, fuzzy, gcc-internal-format
+ msgid "passing argument %d of %qE makes integer from pointer without a cast"
+ msgstr "%2$qE işlevinin %1$d. argümanının aktarımı sırasında bir tür dönüşümü olmaksızın göstericiden tamsayı yapılıyor"
+
+-#: c-typeck.c:4357
++#: c-typeck.c:4368
+ #, gcc-internal-format
+ msgid "assignment makes integer from pointer without a cast"
+ msgstr "atamada bir tür dönüşümü olmaksızın göstericiden tamsayı yapılıyor"
+
+-#: c-typeck.c:4359
++#: c-typeck.c:4370
+ #, gcc-internal-format
+ msgid "initialization makes integer from pointer without a cast"
+ msgstr "ilklendirmede bir tür dönüşümü olmaksızın göstericiden tamsayı yapılıyor"
+
+-#: c-typeck.c:4361
++#: c-typeck.c:4372
+ #, gcc-internal-format
+ msgid "return makes integer from pointer without a cast"
+ msgstr "dönüş değerinde bir tür dönüşümü olmaksızın göstericiden tamsayı yapılıyor"
+
+-#: c-typeck.c:4377
++#: c-typeck.c:4388
+ #, gcc-internal-format
+ msgid "incompatible types in assignment"
+ msgstr "atamada uyumsuz türler"
+
+-#: c-typeck.c:4380
++#: c-typeck.c:4391
+ #, gcc-internal-format
+ msgid "incompatible types in initialization"
+ msgstr "ilklendirmede uyumsuz türler"
+
+-#: c-typeck.c:4383
++#: c-typeck.c:4394
+ #, gcc-internal-format
+ msgid "incompatible types in return"
+ msgstr "dönüş değerinde uyumsuz türler"
+
+-#: c-typeck.c:4439
++#: c-typeck.c:4450
+ #, gcc-internal-format
+ msgid "traditional C rejects automatic aggregate initialization"
+ msgstr "geleneksel C özdevinimli ortak değer ilklendirmesini reddeder"
+
+-#: c-typeck.c:4610 c-typeck.c:4625 c-typeck.c:4640
++#: c-typeck.c:4621 c-typeck.c:4636 c-typeck.c:4651
+ #, gcc-internal-format
+ msgid "(near initialization for %qs)"
+ msgstr "(%qs için near ilklendirme)"
+
+-#: c-typeck.c:5180 cp/decl.c:4975
++#: c-typeck.c:5191 cp/decl.c:4995
+ #, gcc-internal-format
+ msgid "opaque vector types cannot be initialized"
+ msgstr "opak vektör türleri ilklendirilemez"
+
+-#: c-typeck.c:5803
++#: c-typeck.c:5814
+ #, gcc-internal-format
+ msgid "unknown field %qE specified in initializer"
+ msgstr "ilklendiricide bilinmeyen %qE alanı belirtilmiş"
+
+-#: c-typeck.c:6703
++#: c-typeck.c:6714
+ #, gcc-internal-format
+ msgid "traditional C rejects initialization of unions"
+ msgstr "geleneksel C union ilklendirmesini reddeder"
+
+-#: c-typeck.c:7011
++#: c-typeck.c:7022
+ #, gcc-internal-format
+ msgid "jump into statement expression"
+ msgstr "deyim ifadesine jump"
+
+-#: c-typeck.c:7017
++#: c-typeck.c:7028
+ #, gcc-internal-format
+ msgid "jump into scope of identifier with variably modified type"
+ msgstr "değişkene göre değişen türde betimleyici etki alanına jump"
+
+-#: c-typeck.c:7054
++#: c-typeck.c:7065
+ #, gcc-internal-format
+ msgid "ISO C forbids %<goto *expr;%>"
+ msgstr "ISO C %<goto *expr;%> kullanımına izin vermez"
+
+-#: c-typeck.c:7069 cp/typeck.c:6592
++#: c-typeck.c:7080 cp/typeck.c:6619
+ #, gcc-internal-format
+ msgid "function declared %<noreturn%> has a %<return%> statement"
+ msgstr "%<noreturn%> olarak bildirilmiş işlev %<return%> deyimi içeriyor"
+
+-#: c-typeck.c:7077
++#: c-typeck.c:7088
+ #, gcc-internal-format
+ msgid "%<return%> with no value, in function returning non-void"
+ msgstr "dönüş değeri void olmayan işlevde %<return%> değer içermiyor"
+
+-#: c-typeck.c:7086
++#: c-typeck.c:7097
+ #, gcc-internal-format
+ msgid "%<return%> with a value, in function returning void"
+ msgstr "void dönüşlü işlevde %<return%> değer içeriyor"
+
+-#: c-typeck.c:7088
++#: c-typeck.c:7099
+ #, fuzzy, gcc-internal-format
+ msgid "ISO C forbids %<return%> with expression, in function returning void"
+ msgstr "void dönüşlü işlevde %<return%> değer içeriyor"
+
+-#: c-typeck.c:7145
++#: c-typeck.c:7156
+ #, gcc-internal-format
+ msgid "function returns address of local variable"
+ msgstr "işlev yerel değişkenin adresi ile dönüyor"
+
+-#: c-typeck.c:7217 cp/semantics.c:949
++#: c-typeck.c:7228 cp/semantics.c:952
+ #, gcc-internal-format
+ msgid "switch quantity not an integer"
+ msgstr "switch miktarı bir tamsayı değil"
+
+-#: c-typeck.c:7229
++#: c-typeck.c:7240
+ #, gcc-internal-format
+ msgid "%<long%> switch expression not converted to %<int%> in ISO C"
+ msgstr "ISO C'de %<long%> switch ifadesi %<int%> türüne dönüştürülmez"
+
+-#: c-typeck.c:7269
++#: c-typeck.c:7280
+ #, gcc-internal-format
+ msgid "case label in statement expression not containing enclosing switch statement"
+ msgstr "deyim ifadesindeki case yaftası bir switch deyimi içinde değil"
+
+-#: c-typeck.c:7272
++#: c-typeck.c:7283
+ #, gcc-internal-format
+ msgid "%<default%> label in statement expression not containing enclosing switch statement"
+ msgstr "deyim ifadesindeki %<default%> yaftası bir switch deyimi içinde değil"
+
+-#: c-typeck.c:7278
++#: c-typeck.c:7289
+ #, gcc-internal-format
+ msgid "case label in scope of identifier with variably modified type not containing enclosing switch statement"
+ msgstr "değişkene göre değişen türde betimleyici etki alanındaki case yaftası bir switch deyimi içinde değil"
+
+-#: c-typeck.c:7281
++#: c-typeck.c:7292
+ #, gcc-internal-format
+ msgid "%<default%> label in scope of identifier with variably modified type not containing enclosing switch statement"
+ msgstr "değişkene göre değişen türde betimleyici etki alanındaki %<default%> yaftası bir switch deyimi içinde değil"
+
+-#: c-typeck.c:7285 cp/parser.c:6804
++#: c-typeck.c:7296 cp/parser.c:6810
+ #, gcc-internal-format
+ msgid "case label not within a switch statement"
+ msgstr "case etiketi bir switch deyimi içinde değil"
+
+-#: c-typeck.c:7287
++#: c-typeck.c:7298
+ #, gcc-internal-format
+ msgid "%<default%> label not within a switch statement"
+ msgstr "%<default%> etiketi bir switch deyimi içinde değil"
+
+-#: c-typeck.c:7364
++#: c-typeck.c:7375
+ #, gcc-internal-format
+ msgid "%Hsuggest explicit braces to avoid ambiguous %<else%>"
+ msgstr "%Hanlamca belirsiz %<else%>den kaçınmak için kaşlı ayraçlar önerilir"
+
+-#: c-typeck.c:7475 cp/cp-gimplify.c:97 cp/parser.c:7409
++#: c-typeck.c:7486 cp/cp-gimplify.c:97 cp/parser.c:7415
+ #, gcc-internal-format
+ msgid "break statement not within loop or switch"
+ msgstr "break deyimi switch ya da döngü içinde değil"
+
+-#: c-typeck.c:7477 cp/parser.c:7430
++#: c-typeck.c:7488 cp/parser.c:7436
+ #, gcc-internal-format
+ msgid "continue statement not within a loop"
+ msgstr "continue deyimi bir döngü içinde değil"
+
+-#: c-typeck.c:7482 cp/parser.c:7420
++#: c-typeck.c:7493 cp/parser.c:7426
+ #, fuzzy, gcc-internal-format
+ msgid "break statement used with OpenMP for loop"
+ msgstr "break deyimi switch ya da döngü içinde değil"
+
+-#: c-typeck.c:7505
++#: c-typeck.c:7516
+ #, gcc-internal-format
+ msgid "%Hstatement with no effect"
+ msgstr "%Hdeyim etkisiz"
+
+-#: c-typeck.c:7527
++#: c-typeck.c:7538
+ #, gcc-internal-format
+ msgid "expression statement has incomplete type"
+ msgstr "ifade deyimi boş tür içeriyor"
+
+-#: c-typeck.c:8082 cp/typeck.c:3259
++#: c-typeck.c:8093 cp/typeck.c:3301
+ #, gcc-internal-format
+ msgid "right shift count is negative"
+ msgstr "sağa kaydırma sayısı negatif"
+
+-#: c-typeck.c:8089 cp/typeck.c:3265
++#: c-typeck.c:8100 cp/typeck.c:3305
+ #, gcc-internal-format
+ msgid "right shift count >= width of type"
+ msgstr "sağa kaydırma sayısı tür genişliğinden büyük ya da eşit"
+
+-#: c-typeck.c:8111 cp/typeck.c:3284
++#: c-typeck.c:8122 cp/typeck.c:3324
+ #, gcc-internal-format
+ msgid "left shift count is negative"
+ msgstr "sola kaydırma sayısı negatif"
+
+-#: c-typeck.c:8114 cp/typeck.c:3286
++#: c-typeck.c:8125 cp/typeck.c:3326
+ #, gcc-internal-format
+ msgid "left shift count >= width of type"
+ msgstr "sola kaydırma sayısı tür genişliğinden büyük ya da eşit"
+
+-#: c-typeck.c:8132 cp/typeck.c:3324
++#: c-typeck.c:8143 cp/typeck.c:3364
+ #, gcc-internal-format
+ msgid "comparing floating point with == or != is unsafe"
+ msgstr "== veya != ile karşılaştırma gerçel sayılarda güvenli değil"
+
+-#: c-typeck.c:8156 c-typeck.c:8163
++#: c-typeck.c:8167 c-typeck.c:8174
+ #, gcc-internal-format
+ msgid "ISO C forbids comparison of %<void *%> with function pointer"
+ msgstr "ISO C %<void *%> ile işlev göstericisinin karşılaştırılmasına izin vermez"
+
+-#: c-typeck.c:8169 c-typeck.c:8227
++#: c-typeck.c:8180 c-typeck.c:8238
+ #, gcc-internal-format
+ msgid "comparison of distinct pointer types lacks a cast"
+ msgstr "bir tür dönüşümü olmaksızın ayrı gösterici türlerinin karşılaştırması"
+
+-#: c-typeck.c:8178 c-typeck.c:8186 cp/typeck.c:3344 cp/typeck.c:3353
++#: c-typeck.c:8189 c-typeck.c:8197 cp/typeck.c:3384 cp/typeck.c:3393
+ #, fuzzy, gcc-internal-format
+ msgid "the address of %qD will never be NULL"
+ msgstr "%qD adresi, daima %<true%> olarak deÄŸerlendirilecek"
+
+-#: c-typeck.c:8193 c-typeck.c:8198 c-typeck.c:8245 c-typeck.c:8250
++#: c-typeck.c:8204 c-typeck.c:8209 c-typeck.c:8256 c-typeck.c:8261
+ #, gcc-internal-format
+ msgid "comparison between pointer and integer"
+ msgstr "gösterici ile tamsayı arasında karşılaştırma"
+
+-#: c-typeck.c:8219
++#: c-typeck.c:8230
+ #, gcc-internal-format
+ msgid "comparison of complete and incomplete pointers"
+ msgstr "tamamlanmış ve içi boş göstericilerin karşılaştırılması"
+
+-#: c-typeck.c:8222
++#: c-typeck.c:8233
+ #, gcc-internal-format
+ msgid "ISO C forbids ordered comparisons of pointers to functions"
+ msgstr "ISO C işlev göstericilerinin sıralı karşılaştırmalarına izin vermez"
+
+-#: c-typeck.c:8234 c-typeck.c:8240
++#: c-typeck.c:8245 c-typeck.c:8251
+ #, gcc-internal-format
+ msgid "ordered comparison of pointer with integer zero"
+ msgstr "tamsayı sıfır ile sıralı gösterici karşılaştırması"
+
+-#: c-typeck.c:8500
++#: c-typeck.c:8511
+ #, gcc-internal-format
+ msgid "comparison between signed and unsigned"
+ msgstr "signed ile unsigned arasında karşılaştırma"
+
+-#: c-typeck.c:8546 cp/typeck.c:3830
++#: c-typeck.c:8557 cp/typeck.c:3838
+ #, gcc-internal-format
+ msgid "comparison of promoted ~unsigned with constant"
+ msgstr "sabitle yükseltgenmiş ~unsigned karşılaştırması"
+
+-#: c-typeck.c:8554 cp/typeck.c:3838
++#: c-typeck.c:8565 cp/typeck.c:3846
+ #, gcc-internal-format
+ msgid "comparison of promoted ~unsigned with unsigned"
+ msgstr "unsigned ile ~unsigned'a yükseltgenmiş türlerin karşılaştırması"
+
+-#: c-typeck.c:8612
++#: c-typeck.c:8623
+ #, gcc-internal-format
+ msgid "used array that cannot be converted to pointer where scalar is required"
+ msgstr "doğrudan değer gereken yerde göstericiye dönüştürülemeyen dizi kullanılmış"
+
+-#: c-typeck.c:8616
++#: c-typeck.c:8627
+ #, gcc-internal-format
+ msgid "used struct type value where scalar is required"
+ msgstr "doğrudan değer gereken yerde yapı türünde değer kullanılmış"
+
+-#: c-typeck.c:8620
++#: c-typeck.c:8631
+ #, gcc-internal-format
+ msgid "used union type value where scalar is required"
+ msgstr "doğrudan değer gereken yerde union türünde değer kullanılmış"
+
+-#: c-typeck.c:8725 cp/semantics.c:3523
++#: c-typeck.c:8736 cp/semantics.c:3555
+ #, fuzzy, gcc-internal-format
+ msgid "%qE has invalid type for %<reduction%>"
+ msgstr "%<restrict%> kullanımı geçersiz"
+
+-#: c-typeck.c:8759 cp/semantics.c:3536
++#: c-typeck.c:8770 cp/semantics.c:3568
+ #, gcc-internal-format
+ msgid "%qE has invalid type for %<reduction(%s)%>"
+ msgstr ""
+
+-#: c-typeck.c:8775 cp/semantics.c:3546
++#: c-typeck.c:8786 cp/semantics.c:3578
+ #, gcc-internal-format
+ msgid "%qE must be %<threadprivate%> for %<copyin%>"
+ msgstr ""
+
+-#: c-typeck.c:8784 cp/semantics.c:3351
++#: c-typeck.c:8795 cp/semantics.c:3383
+ #, fuzzy, gcc-internal-format
+ msgid "%qE is not a variable in clause %qs"
+ msgstr "%qT erişilebilir bir %qT tabanı değil"
+
+-#: c-typeck.c:8791 c-typeck.c:8811 c-typeck.c:8831 cp/semantics.c:3377
+-#: cp/semantics.c:3396
++#: c-typeck.c:8802 c-typeck.c:8822 c-typeck.c:8842 cp/semantics.c:3409
++#: cp/semantics.c:3428
+ #, gcc-internal-format
+ msgid "%qE appears more than once in data clauses"
+ msgstr ""
+
+-#: c-typeck.c:8805 cp/semantics.c:3371
++#: c-typeck.c:8816 cp/semantics.c:3403
+ #, fuzzy, gcc-internal-format
+ msgid "%qE is not a variable in clause %<firstprivate%>"
+ msgstr "gerçeklenim değişkeni %qs private olarak bildirilmiş"
+
+-#: c-typeck.c:8825 cp/semantics.c:3390
++#: c-typeck.c:8836 cp/semantics.c:3422
+ #, fuzzy, gcc-internal-format
+ msgid "%qE is not a variable in clause %<lastprivate%>"
+ msgstr "gerçeklenim değişkeni %qs private olarak bildirilmiş"
+
+-#: c-typeck.c:8883 cp/semantics.c:3587
++#: c-typeck.c:8894 cp/semantics.c:3619
+ #, gcc-internal-format
+ msgid "%qE is predetermined %qs for %qs"
+ msgstr ""
+@@ -21452,12 +21437,12 @@
+ msgid "function call has aggregate value"
+ msgstr "işlev çağrısı küme değeri içeriyor"
+
+-#: cfgexpand.c:1884
++#: cfgexpand.c:1887
+ #, gcc-internal-format
+ msgid "not protecting local variables: variable length buffer"
+ msgstr "korunmayan yerel deÄŸiÅŸkenler: deÄŸiÅŸken uzunlukta tampon"
+
+-#: cfgexpand.c:1887
++#: cfgexpand.c:1890
+ #, gcc-internal-format
+ msgid "not protecting function: no buffer at least %d bytes long"
+ msgstr "korunmayan işlev: en azından %d baytlık tampon yok"
+@@ -21512,7 +21497,7 @@
+ msgid "verify_flow_info: Basic block %d succ edge is corrupted"
+ msgstr "verify_flow_info: %d. temel blokun ardıl ayrıtı bozuk"
+
+-#: cfghooks.c:184 cfgrtl.c:1840
++#: cfghooks.c:184 cfgrtl.c:1838
+ #, gcc-internal-format
+ msgid "wrong amount of branch edges after unconditional jump %i"
+ msgstr "Koşulsuz jump %i den sonraki dal ayrıtlarının miktarı yanlış"
+@@ -21722,252 +21707,252 @@
+ msgid "%d exits recorded for loop %d (having %d exits)"
+ msgstr "%d. döngü için tek çıkış kayıtlı değil"
+
+-#: cfgrtl.c:1734
++#: cfgrtl.c:1732
+ #, gcc-internal-format
+ msgid "BB_RTL flag not set for block %d"
+ msgstr "BB_RTL bayrağı blok %d için etkin değil"
+
+-#: cfgrtl.c:1741
++#: cfgrtl.c:1739
+ #, gcc-internal-format
+ msgid "insn %d basic block pointer is %d, should be %d"
+ msgstr ""
+
+-#: cfgrtl.c:1752
++#: cfgrtl.c:1750
+ #, gcc-internal-format
+ msgid "insn %d in header of bb %d has non-NULL basic block"
+ msgstr ""
+
+-#: cfgrtl.c:1760
++#: cfgrtl.c:1758
+ #, gcc-internal-format
+ msgid "insn %d in footer of bb %d has non-NULL basic block"
+ msgstr ""
+
+-#: cfgrtl.c:1782
++#: cfgrtl.c:1780
+ #, gcc-internal-format
+ msgid "verify_flow_info: REG_BR_PROB does not match cfg %wi %i"
+ msgstr "verify_flow_info: REG_BR_PROB ile cfg %wi %i eÅŸleÅŸmiyor"
+
+-#: cfgrtl.c:1797
++#: cfgrtl.c:1795
+ #, gcc-internal-format
+ msgid "fallthru edge crosses section boundary (bb %i)"
+ msgstr "Düşen ayrıt bölüm sınırını kesiyor (bb %i)"
+
+-#: cfgrtl.c:1822
++#: cfgrtl.c:1820
+ #, gcc-internal-format
+ msgid "missing REG_EH_REGION note in the end of bb %i"
+ msgstr "bb %i'nin sonunda REG_EH_REGION bilgisi eksik"
+
+-#: cfgrtl.c:1830
++#: cfgrtl.c:1828
+ #, gcc-internal-format
+ msgid "too many outgoing branch edges from bb %i"
+ msgstr "bb %i'den çıkan dal ayrıtı çok fazla"
+
+-#: cfgrtl.c:1835
++#: cfgrtl.c:1833
+ #, gcc-internal-format
+ msgid "fallthru edge after unconditional jump %i"
+ msgstr "koşulsuz jump %i sonrası ayrıt düşüyor"
+
+-#: cfgrtl.c:1846
++#: cfgrtl.c:1844
+ #, gcc-internal-format
+ msgid "wrong amount of branch edges after conditional jump %i"
+ msgstr "koşullu jump %i sonrası dal ayrıtlarının miktarı yanlış"
+
+-#: cfgrtl.c:1852
++#: cfgrtl.c:1850
+ #, gcc-internal-format
+ msgid "call edges for non-call insn in bb %i"
+ msgstr "bb %i içindeki çağrı olmayan komut için çağrı ayrıtları"
+
+-#: cfgrtl.c:1861
++#: cfgrtl.c:1859
+ #, gcc-internal-format
+ msgid "abnormal edges for no purpose in bb %i"
+ msgstr "bb %i içinde normaldışı amaçsız ayrıt"
+
+-#: cfgrtl.c:1873
++#: cfgrtl.c:1871
+ #, gcc-internal-format
+ msgid "insn %d inside basic block %d but block_for_insn is NULL"
+ msgstr "komut %d %d. temel blokun içinde ama block_for_insn NULL"
+
+-#: cfgrtl.c:1877
++#: cfgrtl.c:1875
+ #, gcc-internal-format
+ msgid "insn %d inside basic block %d but block_for_insn is %i"
+ msgstr "komut %d %d. temel blokun içinde ama block_for_insn %i"
+
+-#: cfgrtl.c:1891 cfgrtl.c:1901
++#: cfgrtl.c:1889 cfgrtl.c:1899
+ #, gcc-internal-format
+ msgid "NOTE_INSN_BASIC_BLOCK is missing for block %d"
+ msgstr "%d. blok için NOTE_INSN_BASIC_BLOCK eksik"
+
+-#: cfgrtl.c:1914
++#: cfgrtl.c:1912
+ #, fuzzy, gcc-internal-format
+ msgid "NOTE_INSN_BASIC_BLOCK %d in middle of basic block %d"
+ msgstr "%2$d. temel blokun ortasında NOTE_INSN_BASIC_BLOCK %1$d"
+
+-#: cfgrtl.c:1924
++#: cfgrtl.c:1922
+ #, gcc-internal-format
+ msgid "in basic block %d:"
+ msgstr "%d. temel blokta:"
+
+-#: cfgrtl.c:1977 cfgrtl.c:2067
++#: cfgrtl.c:1975 cfgrtl.c:2065
+ #, fuzzy, gcc-internal-format
+ msgid "insn %d outside of basic blocks has non-NULL bb field"
+ msgstr "komut temel blokun dışında"
+
+-#: cfgrtl.c:1985
++#: cfgrtl.c:1983
+ #, fuzzy, gcc-internal-format
+ msgid "end insn %d for block %d not found in the insn stream"
+ msgstr "%2$d. blokun son komutu %1$d komut akımı içinde yok"
+
+-#: cfgrtl.c:1998
++#: cfgrtl.c:1996
+ #, gcc-internal-format
+ msgid "insn %d is in multiple basic blocks (%d and %d)"
+ msgstr "komut %d çok sayıda temel blokun içinde (%d ve %d)"
+
+-#: cfgrtl.c:2010
++#: cfgrtl.c:2008
+ #, fuzzy, gcc-internal-format
+ msgid "head insn %d for block %d not found in the insn stream"
+ msgstr "%2$d. blokun ilk komutu %1$d komut akımı içinde yok"
+
+-#: cfgrtl.c:2030
++#: cfgrtl.c:2028
+ #, gcc-internal-format
+ msgid "missing barrier after block %i"
+ msgstr "%i. bloktan sonraki sınır eksik"
+
+-#: cfgrtl.c:2043
++#: cfgrtl.c:2041
+ #, gcc-internal-format
+ msgid "verify_flow_info: Incorrect blocks for fallthru %i->%i"
+ msgstr "verify_flow_info: %i->%i düşümü için blok sayısı yanlış"
+
+-#: cfgrtl.c:2052
++#: cfgrtl.c:2050
+ #, gcc-internal-format
+ msgid "verify_flow_info: Incorrect fallthru %i->%i"
+ msgstr "verify_flow_info: %i->%i düşümü yanlış"
+
+-#: cfgrtl.c:2085
++#: cfgrtl.c:2083
+ #, gcc-internal-format
+ msgid "basic blocks not laid down consecutively"
+ msgstr "temel bloklar ardışık numaralı değil"
+
+-#: cfgrtl.c:2124
++#: cfgrtl.c:2122
+ #, gcc-internal-format
+ msgid "number of bb notes in insn chain (%d) != n_basic_blocks (%d)"
+ msgstr "komut zinciri (%d) içindeki bb notlarının sayısı != n_basic_blocks (%d)"
+
+-#: cgraph.c:794
++#: cgraph.c:840
+ #, gcc-internal-format
+ msgid "%D renamed after being referenced in assembly"
+ msgstr "makina dilinde referanslandıktan sonra %D yeniden isimlendirilmiş."
+
+-#: cgraphunit.c:670
++#: cgraphunit.c:675
+ #, gcc-internal-format
+ msgid "aux field set for edge %s->%s"
+ msgstr "ayrıt %s->%s için yardımcı alan belirtilmiş"
+
+-#: cgraphunit.c:676
++#: cgraphunit.c:681
+ #, gcc-internal-format
+ msgid "Execution count is negative"
+ msgstr "Çalıştırma sayısı negatif"
+
+-#: cgraphunit.c:683
++#: cgraphunit.c:688
+ #, gcc-internal-format
+ msgid "caller edge count is negative"
+ msgstr "çağrıcı ayrıt sayısı negatif"
+
+-#: cgraphunit.c:688
++#: cgraphunit.c:693
+ #, fuzzy, gcc-internal-format
+ msgid "caller edge frequency is negative"
+ msgstr "çağrıcı ayrıt sayısı negatif"
+
+-#: cgraphunit.c:693
++#: cgraphunit.c:698
+ #, fuzzy, gcc-internal-format
+ msgid "caller edge frequency is too large"
+ msgstr "çağrıcı ayrıt sayısı negatif"
+
+-#: cgraphunit.c:702
++#: cgraphunit.c:707
+ #, gcc-internal-format
+ msgid "inlined_to pointer is wrong"
+ msgstr "inlined_to göstericisi yanlış"
+
+-#: cgraphunit.c:707
++#: cgraphunit.c:712
+ #, gcc-internal-format
+ msgid "multiple inline callers"
+ msgstr "çok sayıda satıriçi çağrısı"
+
+-#: cgraphunit.c:714
++#: cgraphunit.c:719
+ #, gcc-internal-format
+ msgid "inlined_to pointer set for noninline callers"
+ msgstr "Inlined_to göstericisi satıriçi olmayan çağrıcılar için belirtilmiş"
+
+-#: cgraphunit.c:720
++#: cgraphunit.c:725
+ #, fuzzy, gcc-internal-format
+ msgid "inlined_to pointer is set but no predecessors found"
+ msgstr "inlined_to göstericisi var ama bir öncül yok"
+
+-#: cgraphunit.c:725
++#: cgraphunit.c:730
+ #, gcc-internal-format
+ msgid "inlined_to pointer refers to itself"
+ msgstr "Inlined_to göstericisi kendini gösteriyor"
+
+-#: cgraphunit.c:735
++#: cgraphunit.c:740
+ #, fuzzy, gcc-internal-format
+ msgid "node not found in cgraph_hash"
+ msgstr "DECL_ASSEMBLER_NAME çırpısında düğüm yok"
+
+-#: cgraphunit.c:763
++#: cgraphunit.c:768
+ #, gcc-internal-format
+ msgid "shared call_stmt:"
+ msgstr "paylaşımlı call_stmt:"
+
+-#: cgraphunit.c:770
++#: cgraphunit.c:775
+ #, gcc-internal-format
+ msgid "edge points to wrong declaration:"
+ msgstr "yanlış bildirimin köşeleri:"
+
+-#: cgraphunit.c:779
++#: cgraphunit.c:784
+ #, gcc-internal-format
+ msgid "missing callgraph edge for call stmt:"
+ msgstr "çağrı deyimi için çağrı çizgesi ayrıtı eksik"
+
+-#: cgraphunit.c:795
++#: cgraphunit.c:800
+ #, gcc-internal-format
+ msgid "edge %s->%s has no corresponding call_stmt"
+ msgstr "ayrıt %s->%s için karşılığı olan çağrı deyimi yok"
+
+-#: cgraphunit.c:807
++#: cgraphunit.c:812
+ #, gcc-internal-format
+ msgid "verify_cgraph_node failed"
+ msgstr "verify_cgraph_node başarısız"
+
+-#: cgraphunit.c:909 cgraphunit.c:932
++#: cgraphunit.c:915 cgraphunit.c:938
+ #, fuzzy, gcc-internal-format
+ msgid "%J%<externally_visible%> attribute have effect only on public objects"
+ msgstr "%qE özniteliği sadece genel nesnelerde etkilidir"
+
+-#: cgraphunit.c:1122
++#: cgraphunit.c:1128
+ #, gcc-internal-format
+ msgid "failed to reclaim unneeded function"
+ msgstr "gereksiz işlev geri kazanılamadı"
+
+-#: cgraphunit.c:1454
++#: cgraphunit.c:1460
+ #, gcc-internal-format
+ msgid "nodes with no released memory found"
+ msgstr "serbest bırakılmamış bellek düğümleri bulundu"
+
+-#: collect2.c:1189
++#: collect2.c:1203
+ #, gcc-internal-format
+ msgid "unknown demangling style '%s'"
+ msgstr "cendereleme tarzı %s bilinmiyor"
+
+-#: collect2.c:1512
++#: collect2.c:1526
+ #, gcc-internal-format
+ msgid "%s terminated with signal %d [%s]%s"
+ msgstr "%s %d sinyali ile sonlandırıldı [%s]%s"
+
+-#: collect2.c:1530
++#: collect2.c:1544
+ #, gcc-internal-format
+ msgid "%s returned %d exit status"
+ msgstr "%s %d çıkış durumu ile döndü"
+
+-#: collect2.c:2242
++#: collect2.c:2256
+ #, gcc-internal-format
+ msgid "cannot find 'ldd'"
+ msgstr "'ldd' bulunamıyor"
+@@ -22122,27 +22107,27 @@
+ msgid "dominator of %d should be %d, not %d"
+ msgstr "%d nin baskını %d olmalı, %d değil"
+
+-#: dwarf2out.c:3634
++#: dwarf2out.c:3686
+ #, gcc-internal-format
+ msgid "DW_LOC_OP %s not implemented"
+ msgstr "DW_LOC_OP %s gerçeklenmedi"
+
+-#: emit-rtl.c:2326
++#: emit-rtl.c:2262
+ #, gcc-internal-format
+ msgid "invalid rtl sharing found in the insn"
+ msgstr "komutta geçersiz rtl paylaşımı bulundu"
+
+-#: emit-rtl.c:2328
++#: emit-rtl.c:2264
+ #, gcc-internal-format
+ msgid "shared rtx"
+ msgstr "paylaşımlı rtx"
+
+-#: emit-rtl.c:2330
++#: emit-rtl.c:2266
+ #, gcc-internal-format
+ msgid "internal consistency failure"
+ msgstr "dahili tutarlılık hatası"
+
+-#: emit-rtl.c:3417
++#: emit-rtl.c:3365
+ #, gcc-internal-format
+ msgid "ICE: emit_insn used where emit_jump_insn needed:\n"
+ msgstr "ICE: emit_jump_insn gereken yerde emit_insn kullanılmış:\n"
+@@ -22202,17 +22187,17 @@
+ msgid "verify_eh_tree failed"
+ msgstr "verify_eh_tree başarısız"
+
+-#: explow.c:1281
++#: explow.c:1258
+ #, gcc-internal-format
+ msgid "stack limits not supported on this target"
+ msgstr "bu hedefte yığıt sınırları desteklenmiyor"
+
+-#: expr.c:8031
++#: expr.c:8030
+ #, fuzzy
+ msgid "%Kcall to %qs declared with attribute error: %s"
+ msgstr "%q+D işlevinin yeniden bildirimi inline öznitelikli değil"
+
+-#: expr.c:8037
++#: expr.c:8036
+ #, fuzzy
+ msgid "%Kcall to %qs declared with attribute warning: %s"
+ msgstr "%q+D işlevinin yeniden bildirimi inline öznitelikli değil"
+@@ -22227,7 +22212,7 @@
+ msgid "large fixed-point constant implicitly truncated to fixed-point type"
+ msgstr "büyük tamsayı örtük olarak unsigned türe indirgendi"
+
+-#: fold-const.c:992 tree-ssa-loop-niter.c:1827 tree-vrp.c:5060
++#: fold-const.c:992 tree-ssa-loop-niter.c:1827 tree-vrp.c:5076
+ #, gcc-internal-format
+ msgid "%H%s"
+ msgstr "%H%s"
+@@ -22237,77 +22222,77 @@
+ msgid "assuming signed overflow does not occur when negating a division"
+ msgstr ""
+
+-#: fold-const.c:3989 fold-const.c:4000
++#: fold-const.c:4003 fold-const.c:4014
+ #, gcc-internal-format
+ 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.c:5317
++#: fold-const.c:5331
+ #, gcc-internal-format
+ msgid "assuming signed overflow does not occur when simplifying range test"
+ msgstr ""
+
+-#: fold-const.c:5691 fold-const.c:5706
++#: fold-const.c:5705 fold-const.c:5720
+ #, gcc-internal-format
+ msgid "comparison is always %d"
+ msgstr "karşılaştırma sonucu daima %d"
+
+-#: fold-const.c:5835
++#: fold-const.c:5849
+ #, gcc-internal-format
+ msgid "%<or%> of unmatched not-equal tests is always 1"
+ msgstr "eşleşmeyenlerin farklılık sınamalarının %<or%> sonucu daima 1 dir"
+
+-#: fold-const.c:5840
++#: fold-const.c:5854
+ #, gcc-internal-format
+ msgid "%<and%> of mutually exclusive equal-tests is always 0"
+ msgstr "bağdaşmayanların eşitlik sınamalarının %<and%> sonucu daima 0 dir"
+
+-#: fold-const.c:8617
++#: fold-const.c:8641
+ #, gcc-internal-format
+ msgid "assuming signed overflow does not occur when reducing constant in comparison"
+ msgstr ""
+
+-#: fold-const.c:8871
++#: fold-const.c:8895
+ #, gcc-internal-format
+ msgid "assuming signed overflow does not occur when combining constants around a comparison"
+ msgstr ""
+
+-#: fold-const.c:13236
++#: fold-const.c:13433
+ #, gcc-internal-format
+ msgid "fold check: original tree changed by fold"
+ msgstr "fold sınaması: özgün ağac fold tarafından değiştirildi"
+
+-#: function.c:377
++#: function.c:380
+ #, gcc-internal-format
+ msgid "%Jtotal size of local objects too large"
+ msgstr "%Jyerel nesnelerin toplam boyutu çok büyük"
+
+-#: function.c:837 varasm.c:2095
++#: function.c:840 varasm.c:2095
+ #, gcc-internal-format
+ msgid "size of variable %q+D is too large"
+ msgstr "%q+D değişkeninin boyutu çok geniş"
+
+-#: function.c:1554 gimplify.c:4250
++#: function.c:1571 gimplify.c:4405
+ #, gcc-internal-format
+ msgid "impossible constraint in %<asm%>"
+ msgstr "%<asm%> içindeki kısıt imnkansız"
+
+-#: function.c:3538
++#: function.c:3557
+ #, gcc-internal-format
+ msgid "variable %q+D might be clobbered by %<longjmp%> or %<vfork%>"
+ msgstr "değişken %q+D %<longjmp%> ya da %<vfork%> tarafından taşırılmış olabilir"
+
+-#: function.c:3559
++#: function.c:3578
+ #, gcc-internal-format
+ msgid "argument %q+D might be clobbered by %<longjmp%> or %<vfork%>"
+ msgstr "argüman %q+D `%<longjmp%> ya da %<vfork%> tarafından taşırılmış olabilir"
+
+-#: function.c:4004
++#: function.c:4027
+ #, gcc-internal-format
+ msgid "function returns an aggregate"
+ msgstr "işlev bir küme ile dönüyor"
+
+-#: function.c:4401
++#: function.c:4424
+ #, gcc-internal-format
+ msgid "unused parameter %q+D"
+ msgstr "parametre %q+D kullanılmamış"
+@@ -22332,12 +22317,12 @@
+ msgid "extraneous argument to '%s' option"
+ msgstr "'%s' seçeneğinde fazladan argüman"
+
+-#: gcc.c:3987
++#: gcc.c:3981
+ #, gcc-internal-format
+ msgid "warning: -pipe ignored because -save-temps specified"
+ msgstr "UYARI: -save-temps belirtildiğinden -pipe yoksayıldı"
+
+-#: gcc.c:4276
++#: gcc.c:4270
+ #, gcc-internal-format
+ msgid "warning: '-x %s' after last input file has no effect"
+ msgstr "UYARI: son girdi dosyasından sonraki '-x %s' etkisiz"
+@@ -22345,62 +22330,62 @@
+ #. Catch the case where a spec string contains something like
+ #. '%{foo:%*}'. i.e. there is no * in the pattern on the left
+ #. hand side of the :.
+-#: gcc.c:5314
++#: gcc.c:5308
+ #, gcc-internal-format
+ msgid "spec failure: '%%*' has not been initialized by pattern match"
+ msgstr "belirtim aksaması: '%%*' kalıp eşleştirerek ilklendirilemedi"
+
+-#: gcc.c:5323
++#: gcc.c:5317
+ #, gcc-internal-format
+ msgid "warning: use of obsolete %%[ operator in specs"
+ msgstr "UYARI: belirtimlerde %%[ işleci artik kullanılmıyor"
+
+-#: gcc.c:5404
++#: gcc.c:5398
+ #, gcc-internal-format
+ msgid "spec failure: unrecognized spec option '%c'"
+ msgstr "belirtim aksaması: belirtim seçeneği '%c' anlaşılamadı"
+
+-#: gcc.c:6305
++#: gcc.c:6304
+ #, gcc-internal-format
+ msgid "spec failure: more than one arg to SYSROOT_SUFFIX_SPEC"
+ msgstr "belirtim aksaması: SYSROOT_SUFFIX_SPEC için argüman sayısı birden fazla"
+
+-#: gcc.c:6328
++#: gcc.c:6327
+ #, gcc-internal-format
+ msgid "spec failure: more than one arg to SYSROOT_HEADERS_SUFFIX_SPEC"
+ msgstr "belirtim aksaması: SYSROOT_HEADERS_SUFFIX_SPEC için argüman sayısı birden fazla.."
+
+-#: gcc.c:6415
++#: gcc.c:6414
+ #, gcc-internal-format
+ msgid "unrecognized option '-%s'"
+ msgstr "'-%s' seçeneği bilinmiyor"
+
+-#: gcc.c:6615 gcc.c:6678
++#: gcc.c:6614 gcc.c:6677
+ #, gcc-internal-format
+ msgid "%s: %s compiler not installed on this system"
+ msgstr "%s: %s derleyici bu sistemde kurulu deÄŸil"
+
+-#: gcc.c:6778
++#: gcc.c:6777
+ #, gcc-internal-format
+ msgid "%s: linker input file unused because linking not done"
+ msgstr "%s: ilintileme yapılmadığından ilintileyici girdi dosyası kullanılmadı"
+
+-#: gcc.c:6818
++#: gcc.c:6817
+ #, gcc-internal-format
+ msgid "language %s not recognized"
+ msgstr "%s dili tanınmıyor"
+
+-#: gcc.c:6889
++#: gcc.c:6888
+ #, gcc-internal-format
+ msgid "%s: %s"
+ msgstr "%s: %s"
+
+-#: gcse.c:6660
++#: gcse.c:6644
+ #, gcc-internal-format
+ msgid "%s: %d basic blocks and %d edges/basic block"
+ msgstr "%s: %d temel blok ve %d ayrıt/temel blok"
+
+-#: gcse.c:6673
++#: gcse.c:6657
+ #, gcc-internal-format
+ msgid "%s: %d basic blocks and %d registers"
+ msgstr "%s: %d temel blok ve %d yazmaç"
+@@ -22453,52 +22438,52 @@
+ msgid "can't write PCH fle: %m"
+ msgstr "PCH dosyası yazılamıyor: %m"
+
+-#: gimplify.c:4139
++#: gimplify.c:4294
+ #, gcc-internal-format
+ msgid "invalid lvalue in asm output %d"
+ msgstr "asm çıktısı %d içinde geçersiz sol değer"
+
+-#: gimplify.c:4251
++#: gimplify.c:4406
+ #, gcc-internal-format
+ msgid "non-memory input %d must stay in memory"
+ msgstr ""
+
+-#: gimplify.c:4264
++#: gimplify.c:4419
+ #, gcc-internal-format
+ msgid "memory input %d is not directly addressable"
+ msgstr "bellek girdisi %d doÄŸrudan adreslenebilir deÄŸil"
+
+-#: gimplify.c:4743
++#: gimplify.c:4898
+ #, gcc-internal-format
+ msgid "%qs not specified in enclosing parallel"
+ msgstr ""
+
+-#: gimplify.c:4745
++#: gimplify.c:4900
+ #, gcc-internal-format
+ msgid "%Henclosing parallel"
+ msgstr ""
+
+-#: gimplify.c:4799
++#: gimplify.c:4954
+ #, fuzzy, gcc-internal-format
+ msgid "iteration variable %qs should be private"
+ msgstr "gerçeklenim değişkeni %qs private olarak bildirilmiş"
+
+-#: gimplify.c:4813
++#: gimplify.c:4968
+ #, fuzzy, gcc-internal-format
+ msgid "iteration variable %qs should not be firstprivate"
+ msgstr "gerçeklenim değişkeni %qs private olarak bildirilmiş"
+
+-#: gimplify.c:4816
++#: gimplify.c:4971
+ #, fuzzy, gcc-internal-format
+ msgid "iteration variable %qs should not be reduction"
+ msgstr "yazmaç değişkeni %qs yuvalanmış işlevde kullanılmış"
+
+-#: gimplify.c:4940
++#: gimplify.c:5095
+ #, fuzzy, gcc-internal-format
+ msgid "%s variable %qs is private in outer context"
+ msgstr "yerel değişken %qD bu kapsamda görünemez"
+
+-#: gimplify.c:6108
++#: gimplify.c:6281
+ #, gcc-internal-format
+ msgid "gimplification failed"
+ msgstr "gimpleme başarısız"
+@@ -22508,7 +22493,7 @@
+ msgid "%s cannot be used in asm here"
+ msgstr "%s burada asm içinde kullanılamaz"
+
+-#: graph.c:401 java/jcf-parse.c:1757 java/jcf-parse.c:1897 objc/objc-act.c:500
++#: graph.c:401 java/jcf-parse.c:1759 java/jcf-parse.c:1899 objc/objc-act.c:500
+ #, gcc-internal-format
+ msgid "can't open %s: %m"
+ msgstr "%s açılamıyor: %m"
+@@ -22518,158 +22503,163 @@
+ msgid "fix_sched_param: unknown param: %s"
+ msgstr "fix_sched_param: bilinmeyen parametre: %s"
+
+-#: omp-low.c:1288
++#: omp-low.c:1289
+ #, gcc-internal-format
+ msgid "work-sharing region may not be closely nested inside of work-sharing, critical, ordered or master region"
+ msgstr ""
+
+-#: omp-low.c:1304
++#: omp-low.c:1305
+ #, gcc-internal-format
+ msgid "master region may not be closely nested inside of work-sharing region"
+ msgstr ""
+
+-#: omp-low.c:1318
++#: omp-low.c:1319
+ #, gcc-internal-format
+ msgid "ordered region may not be closely nested inside of critical region"
+ msgstr ""
+
+-#: omp-low.c:1324
++#: omp-low.c:1325
+ #, gcc-internal-format
+ msgid "ordered region must be closely nested inside a loop region with an ordered clause"
+ msgstr ""
+
+-#: omp-low.c:1338
++#: omp-low.c:1339
+ #, gcc-internal-format
+ msgid "critical region may not be nested inside a critical region with the same name"
+ msgstr ""
+
+-#: omp-low.c:5050 cp/decl.c:2660 cp/parser.c:7417 cp/parser.c:7437
++#: omp-low.c:5116 cp/decl.c:2667 cp/parser.c:7423 cp/parser.c:7443
+ #, gcc-internal-format
+ msgid "invalid exit from OpenMP structured block"
+ msgstr ""
+
+-#: omp-low.c:5052
++#: omp-low.c:5118
+ #, gcc-internal-format
+ msgid "invalid entry to OpenMP structured block"
+ msgstr ""
+
+-#: opts.c:173
++#: opts.c:165
+ #, fuzzy, gcc-internal-format
+ msgid "argument %qs to %<-femit-struct-debug-detailed%> not recognized"
+ msgstr "%<-Wnormalized%> için %qs argümanı tanınmıyor"
+
+-#: opts.c:207
++#: opts.c:199
+ #, gcc-internal-format
+ msgid "argument %qs to %<-femit-struct-debug-detailed%> unknown"
+ msgstr ""
+
+-#: opts.c:213
++#: opts.c:205
+ #, gcc-internal-format
+ msgid "%<-femit-struct-debug-detailed=dir:...%> must allow at least as much as %<-femit-struct-debug-detailed=ind:...%>"
+ msgstr ""
+
+ #. Eventually this should become a hard error IMO.
+-#: opts.c:438
++#: opts.c:430
+ #, gcc-internal-format
+ msgid "command line option \"%s\" is valid for %s but not for %s"
+ msgstr "\"%s\" komut satırı seçeneği %s için geçerli ama %s için değil"
+
+-#: opts.c:492
++#: opts.c:484
+ #, gcc-internal-format
+ 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.c:545
++#: opts.c:537
+ #, gcc-internal-format
+ msgid "missing argument to \"%s\""
+ msgstr "\"%s\" için argüman eksik"
+
+-#: opts.c:555
++#: opts.c:547
+ #, gcc-internal-format
+ msgid "argument to \"%s\" should be a non-negative integer"
+ msgstr "\"%s\" için argüman sıfır ya da pozitif bir tamsayı olmalı"
+
+-#: opts.c:728
++#: opts.c:720
+ #, gcc-internal-format
+ msgid "unrecognized command line option \"%s\""
+ msgstr "komut satırı seçeneği \"%s\" tanınmıyor"
+
+-#: opts.c:947
++#: opts.c:939
+ #, gcc-internal-format
+ msgid "-Wuninitialized is not supported without -O"
+ msgstr "-Wuninitialized seçeneği -O olmaksızın desteklenmiyor"
+
+-#: opts.c:962
++#: opts.c:951
+ #, gcc-internal-format
++msgid "-funit-at-a-time is required for inlining of functions that are only called once"
++msgstr ""
++
++#: opts.c:964
++#, gcc-internal-format
+ msgid "-freorder-blocks-and-partition does not work with exceptions"
+ msgstr "-freorder-blocks-and-partition olağandışılıklarla çalışmaz"
+
+-#: opts.c:973
++#: opts.c:975
+ #, gcc-internal-format
+ msgid "-freorder-blocks-and-partition does not support unwind info"
+ msgstr "-freorder-blocks-and-partition birbirlerini etkilemeyenler bilgisini desteklemez"
+
+-#: opts.c:987
++#: opts.c:989
+ #, gcc-internal-format
+ msgid "-freorder-blocks-and-partition does not work on this architecture"
+ msgstr "-freorder-blocks-and-partition bu mimaride çalışmaz"
+
+-#: opts.c:1263
++#: opts.c:1265
+ #, gcc-internal-format
+ msgid "unrecognized include_flags 0x%x passed to print_specific_help"
+ msgstr ""
+
+-#: opts.c:1593
++#: opts.c:1595
+ #, gcc-internal-format
+ msgid "structure alignment must be a small power of two, not %d"
+ msgstr "yapı hizalama ikinin küçük bir üssü olmalı %d değil"
+
+-#: opts.c:1656
++#: opts.c:1658
+ #, gcc-internal-format
+ msgid "unrecognized visibility value \"%s\""
+ msgstr "visibility değeri \"%s\" tanınmıyor"
+
+-#: opts.c:1704
++#: opts.c:1706
+ #, gcc-internal-format
+ msgid "unrecognized register name \"%s\""
+ msgstr "yazmaç ismi \"%s\" tanınmıyor"
+
+-#: opts.c:1728
++#: opts.c:1730
+ #, gcc-internal-format
+ msgid "unknown tls-model \"%s\""
+ msgstr "\"%s\" tls-modeli bilinmiyor"
+
+-#: opts.c:1803
++#: opts.c:1807
+ #, gcc-internal-format
+ msgid "%s: --param arguments should be of the form NAME=VALUE"
+ msgstr "%s: --param seçeneğinin argümanları iSiM=DEĞER biçiminde olmalı"
+
+-#: opts.c:1808
++#: opts.c:1812
+ #, gcc-internal-format
+ msgid "invalid --param value %qs"
+ msgstr "--param değeri %qs geçersiz"
+
+-#: opts.c:1931
++#: opts.c:1934
+ #, gcc-internal-format
+ msgid "target system does not support debug output"
+ msgstr "hedef sistem hata ayıklama çıktısını desteklemiyor"
+
+-#: opts.c:1938
++#: opts.c:1941
+ #, gcc-internal-format
+ msgid "debug format \"%s\" conflicts with prior selection"
+ msgstr "\"%s\" hata ayıklama biçimi önceki seçimle çelişiyor"
+
+-#: opts.c:1954
++#: opts.c:1957
+ #, gcc-internal-format
+ msgid "unrecognised debug output level \"%s\""
+ msgstr "hata ayıklama çıktı seviyesi \"%s\" tanınmıyor"
+
+-#: opts.c:1956
++#: opts.c:1959
+ #, gcc-internal-format
+ msgid "debug output level %s is too high"
+ msgstr "hata ayıklama çıktılama seviyesi %s çok yüksek"
+
+-#: opts.c:2038
++#: opts.c:2041
+ #, gcc-internal-format
+ msgid "-Werror=%s: No option -%s"
+ msgstr ""
+@@ -22745,9 +22735,9 @@
+ msgid "can't use '%s' as a %s register"
+ msgstr "'%s' bir %s yazmacı olarak kullanılamıyor"
+
+-#: regclass.c:890 config/ia64/ia64.c:5138 config/ia64/ia64.c:5145
+-#: config/pa/pa.c:359 config/pa/pa.c:366 config/spu/spu.c:3886
+-#: config/spu/spu.c:3893
++#: regclass.c:890 config/ia64/ia64.c:5139 config/ia64/ia64.c:5146
++#: config/pa/pa.c:362 config/pa/pa.c:369 config/spu/spu.c:3875
++#: config/spu/spu.c:3882
+ #, gcc-internal-format
+ msgid "unknown register name: %s"
+ msgstr "bilinmeyen yazmaç ismi: %s"
+@@ -22787,22 +22777,22 @@
+ msgid "validate_value_data: [%u] Non-empty reg in chain (%s %u %i)"
+ msgstr "validate_value_data: [%u] zincir içinde boş olmayan yazmaç (%s %u %i)"
+
+-#: reload.c:1252
++#: reload.c:1256
+ #, gcc-internal-format
+ msgid "cannot reload integer constant operand in %<asm%>"
+ msgstr "%<asm%> içindeki tamsayı sabit terim yeniden yüklenemiyor"
+
+-#: reload.c:1266
++#: reload.c:1270
+ #, gcc-internal-format
+ msgid "impossible register constraint in %<asm%>"
+ msgstr "%<asm%> içindeki yazmaç kısıtı imkansız"
+
+-#: reload.c:3564
++#: reload.c:3574
+ #, gcc-internal-format
+ msgid "%<&%> constraint used with no register class"
+ msgstr "%<&%> kısıtı yazmaç sınıfsız kullanılmış"
+
+-#: reload.c:3735 reload.c:3975
++#: reload.c:3745 reload.c:3991
+ #, gcc-internal-format
+ msgid "inconsistent operand constraints in an %<asm%>"
+ msgstr "bir %<asm%> içindeki terim terim kısıtı tutarsız"
+@@ -23027,49 +23017,49 @@
+ msgid "size of %q+D is larger than %wd bytes"
+ msgstr "%q+D boyutu %wd bayttan fazla"
+
+-#: stor-layout.c:899
++#: stor-layout.c:888
+ #, gcc-internal-format
+ msgid "packed attribute causes inefficient alignment for %q+D"
+ msgstr "paketli öznitelik %q+D için yetersiz hizalamaya sebep oluyor"
+
+-#: stor-layout.c:902
++#: stor-layout.c:891
+ #, gcc-internal-format
+ msgid "packed attribute is unnecessary for %q+D"
+ msgstr "paketli öznitelik %q+D için gereksiz"
+
+ #. No, we need to skip space before this field.
+ #. Bump the cumulative size to multiple of field alignment.
+-#: stor-layout.c:919
++#: stor-layout.c:908
+ #, gcc-internal-format
+ msgid "padding struct to align %q+D"
+ msgstr "yapıya %q+D'ye hizalamak için dolgu yapılıyor"
+
+-#: stor-layout.c:1270
++#: stor-layout.c:1259
+ #, gcc-internal-format
+ msgid "padding struct size to alignment boundary"
+ msgstr "yapı boyutu hizalama sınırlarına ayarlanıyor"
+
+-#: stor-layout.c:1300
++#: stor-layout.c:1289
+ #, gcc-internal-format
+ msgid "packed attribute causes inefficient alignment for %qs"
+ msgstr "paketli öznitelik %qs için yetersiz hizalamaya sebep oluyor"
+
+-#: stor-layout.c:1304
++#: stor-layout.c:1293
+ #, gcc-internal-format
+ msgid "packed attribute is unnecessary for %qs"
+ msgstr "paketli öznitelik %qs için gereksiz"
+
+-#: stor-layout.c:1310
++#: stor-layout.c:1299
+ #, gcc-internal-format
+ msgid "packed attribute causes inefficient alignment"
+ msgstr "paketli öznitelik yetersiz hizalamaya sebep oluyor"
+
+-#: stor-layout.c:1312
++#: stor-layout.c:1301
+ #, gcc-internal-format
+ msgid "packed attribute is unnecessary"
+ msgstr "paketli öznitelik gereksiz"
+
+-#: stor-layout.c:1842
++#: stor-layout.c:1831
+ #, gcc-internal-format
+ msgid "alignment of array elements is greater than element size"
+ msgstr "dizi elemanlarının hizalaması eleman boyutundan büyük"
+@@ -23154,643 +23144,653 @@
+ msgid "unrecognized gcc debugging option: %c"
+ msgstr "tanınmayan gcc hata ayıklama seçeneği: %c"
+
+-#: toplev.c:1411
++#: toplev.c:1413
+ #, gcc-internal-format
+ msgid "can%'t open %s for writing: %m"
+ msgstr "%s yazmak için açılamıyor: %m"
+
+-#: toplev.c:1432
++#: toplev.c:1434
+ #, fuzzy, gcc-internal-format
+ msgid "-frecord-gcc-switches is not supported by the current target"
+ msgstr "bu hedefte -fdata-sections desteklenmiyor"
+
+-#: toplev.c:1745
++#: toplev.c:1747
+ #, fuzzy, gcc-internal-format
+ msgid "this target does not support %qs"
+ msgstr "%s %s desteÄŸi vermiyor"
+
+-#: toplev.c:1794
++#: toplev.c:1796
+ #, gcc-internal-format
+ msgid "instruction scheduling not supported on this target machine"
+ msgstr "bu hedef makina için komut zamanlaması desteklenmiyor"
+
+-#: toplev.c:1798
++#: toplev.c:1800
+ #, gcc-internal-format
+ msgid "this target machine does not have delayed branches"
+ msgstr "bu hedef makina gecikmeli dallanmalara sahip deÄŸil"
+
+-#: toplev.c:1812
++#: toplev.c:1814
+ #, gcc-internal-format
+ msgid "-f%sleading-underscore not supported on this target machine"
+ msgstr "bu hedef makinada -f%sleading-underscore desteklenmiyor"
+
+-#: toplev.c:1885
++#: toplev.c:1887
+ #, gcc-internal-format
+ msgid "target system does not support the \"%s\" debug format"
+ msgstr "hedef sistem \"%s\" hata ayıklama biçimini desteklemiyor"
+
+-#: toplev.c:1898
++#: toplev.c:1900
+ #, gcc-internal-format
+ msgid "variable tracking requested, but useless unless producing debug info"
+ msgstr "değişken izleme istendi, ama hata ayıklama bilgisi üretilmeksizin faydasız"
+
+-#: toplev.c:1901
++#: toplev.c:1903
+ #, gcc-internal-format
+ 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"
+
+-#: toplev.c:1935
++#: toplev.c:1937
+ #, gcc-internal-format
+ msgid "can%'t open %s: %m"
+ msgstr "%s açılamıyor: %m"
+
+-#: toplev.c:1942
++#: toplev.c:1944
+ #, gcc-internal-format
+ msgid "-ffunction-sections not supported for this target"
+ msgstr "bu hedefte -ffunction-sections desteklenmiyor"
+
+-#: toplev.c:1947
++#: toplev.c:1949
+ #, gcc-internal-format
+ msgid "-fdata-sections not supported for this target"
+ msgstr "bu hedefte -fdata-sections desteklenmiyor"
+
+-#: toplev.c:1954
++#: toplev.c:1956
+ #, gcc-internal-format
+ msgid "-ffunction-sections disabled; it makes profiling impossible"
+ msgstr "-ffunction-sections iptal edildi; ayrımlamayı mümkün kılmıyor"
+
+-#: toplev.c:1961
++#: toplev.c:1963
+ #, gcc-internal-format
+ msgid "-fprefetch-loop-arrays not supported for this target"
+ msgstr "bu hedefte -fprefetch-loop-arrays desteklenmiyor"
+
+-#: toplev.c:1967
++#: toplev.c:1969
+ #, gcc-internal-format
+ msgid "-fprefetch-loop-arrays not supported for this target (try -march switches)"
+ msgstr "-fprefetch-loop-arrays bu hedef için desteklenmiyor (-march seçeneğini deneyin)"
+
+-#: toplev.c:1976
++#: toplev.c:1978
+ #, gcc-internal-format
+ msgid "-fprefetch-loop-arrays is not supported with -Os"
+ msgstr "-fprefetch-loop-arrays, -Os ile desteklenmiyor"
+
+-#: toplev.c:1983
++#: toplev.c:1985
+ #, gcc-internal-format
+ msgid "-ffunction-sections may affect debugging on some targets"
+ msgstr "-ffunction-sections bazı hedeflerde hata ayıklamayı etkileyebilir"
+
+-#: toplev.c:1999
++#: toplev.c:1996
+ #, gcc-internal-format
++msgid "-fassociative-math disabled; other options take precedence"
++msgstr ""
++
++#: toplev.c:2008
++#, gcc-internal-format
+ msgid "-fstack-protector not supported for this target"
+ msgstr "bu hedefte -fstack-protector desteklenmiyor"
+
+-#: toplev.c:2012
+-#, gcc-internal-format
+-msgid "unwind tables currently requires a frame pointer for correctness"
++#: toplev.c:2021
++#, fuzzy, gcc-internal-format
++msgid "unwind tables currently require a frame pointer for correctness"
+ msgstr "birbirlerini etkilemeyenler tabloları doğruluk için bir çerçeve göstericisi gerektirmektedir"
+
+-#: toplev.c:2198
++#: toplev.c:2207
+ #, gcc-internal-format
+ msgid "error writing to %s: %m"
+ msgstr "%s yazılırken hata: %m"
+
+-#: toplev.c:2200 java/jcf-parse.c:1776
++#: toplev.c:2209 java/jcf-parse.c:1778
+ #, gcc-internal-format
+ msgid "error closing %s: %m"
+ msgstr "%s kapatılırken hata: %m"
+
+-#: tree-cfg.c:1432 tree-cfg.c:2068 tree-cfg.c:2071
++#: tree-cfg.c:1451 tree-cfg.c:2087 tree-cfg.c:2090
+ #, gcc-internal-format
+ msgid "%Hwill never be executed"
+ msgstr "%Hasla çalıştırılmayacak"
+
+-#: tree-cfg.c:3134
++#: tree-cfg.c:3153
+ #, gcc-internal-format
+ msgid "SSA name in freelist but still referenced"
+ msgstr "SSA ismi serbest birakılanlar listesinde ama hala atıflı"
+
+-#: tree-cfg.c:3143
++#: tree-cfg.c:3162
+ #, gcc-internal-format
+ msgid "ASSERT_EXPR with an always-false condition"
+ msgstr "always-false koÅŸuluyla ASSERT_EXPR"
+
+-#: tree-cfg.c:3156
++#: tree-cfg.c:3175
+ #, gcc-internal-format
+ msgid "GIMPLE register modified with BIT_FIELD_REF"
+ msgstr "GIMPLE yazmacı BIT_FIELD_REF ile değiştirilmiş"
+
+-#: tree-cfg.c:3191
++#: tree-cfg.c:3210
+ #, gcc-internal-format
+ msgid "invariant not recomputed when ADDR_EXPR changed"
+ msgstr "ADDR_EXPR değişirken değişmez yeniden hesaplanmadı"
+
+-#: tree-cfg.c:3197
++#: tree-cfg.c:3216
+ #, gcc-internal-format
+ msgid "constant not recomputed when ADDR_EXPR changed"
+ msgstr "ADDR_EXPR değişirken sabit yeniden hesaplanmadı"
+
+-#: tree-cfg.c:3202
++#: tree-cfg.c:3221
+ #, gcc-internal-format
+ msgid "side effects not recomputed when ADDR_EXPR changed"
+ msgstr "ADDR_EXPR değişirken yan etkiler yeniden hesaplanmadı"
+
+-#: tree-cfg.c:3218
++#: tree-cfg.c:3237
+ #, gcc-internal-format
+ msgid "address taken, but ADDRESSABLE bit not set"
+ msgstr "adres alındı, ama ADDRESSABLE biti etkin değil"
+
+-#: tree-cfg.c:3228
++#: tree-cfg.c:3252
+ #, fuzzy, gcc-internal-format
+ msgid "non-integral used in condition"
+ msgstr "şartlı ifadedeki kip mantıksal kip değil"
+
+-#: tree-cfg.c:3233
++#: tree-cfg.c:3257
+ #, gcc-internal-format
+ msgid "invalid conditional operand"
+ msgstr "koşullu terim geçersiz"
+
+-#: tree-cfg.c:3285
++#: tree-cfg.c:3309
+ #, gcc-internal-format
+ msgid "invalid reference prefix"
+ msgstr "başvuru öneki geçersiz"
+
+-#: tree-cfg.c:3296
++#: tree-cfg.c:3320
+ #, fuzzy, gcc-internal-format
+ msgid "invalid operand to plus/minus, type is a pointer"
+ msgstr "komuttaki terim geçersiz"
+
+-#: tree-cfg.c:3307
++#: tree-cfg.c:3331
+ #, gcc-internal-format
+ msgid "invalid operand to pointer plus, first operand is not a pointer"
+ msgstr ""
+
+-#: tree-cfg.c:3315
++#: tree-cfg.c:3339
+ #, gcc-internal-format
+ msgid "invalid operand to pointer plus, second operand is not an integer with type of sizetype."
+ msgstr ""
+
+-#: tree-cfg.c:3382 tree-cfg.c:3798
++#: tree-cfg.c:3406 tree-cfg.c:3822
+ #, fuzzy, gcc-internal-format
+ msgid "invalid operand in unary expression"
+ msgstr "iki terimli %s için terimler geçersiz"
+
+-#: tree-cfg.c:3392
++#: tree-cfg.c:3416
+ #, fuzzy, gcc-internal-format
+ msgid "type mismatch in unary expression"
+ msgstr "koşullu ifadede tür uyumsuzluğu"
+
+-#: tree-cfg.c:3413
++#: tree-cfg.c:3437
+ #, fuzzy, gcc-internal-format
+ msgid "invalid operands in binary expression"
+ msgstr "iki terimli %s için terimler geçersiz"
+
+-#: tree-cfg.c:3424
++#: tree-cfg.c:3448
+ #, fuzzy, gcc-internal-format
+ msgid "type mismatch in binary expression"
+ msgstr "koşullu ifadede tür uyumsuzluğu"
+
+-#: tree-cfg.c:3449
++#: tree-cfg.c:3473
+ #, fuzzy, gcc-internal-format
+ msgid "invalid expression for min lvalue"
+ msgstr "terim olarak ifade geçersiz"
+
+-#: tree-cfg.c:3456
++#: tree-cfg.c:3480
+ #, fuzzy, gcc-internal-format
+ msgid "invalid operand in indirect reference"
+ msgstr "komuttaki terim geçersiz"
+
+-#: tree-cfg.c:3463
++#: tree-cfg.c:3487
+ #, fuzzy, gcc-internal-format
+ msgid "type mismatch in indirect reference"
+ msgstr "koşullu ifadede tür uyumsuzluğu"
+
+-#: tree-cfg.c:3491
++#: tree-cfg.c:3515
+ #, fuzzy, gcc-internal-format
+ msgid "invalid operands to array reference"
+ msgstr "%C'de dizi başvurusunun yapılışı geçersiz"
+
+-#: tree-cfg.c:3502
++#: tree-cfg.c:3526
+ #, fuzzy, gcc-internal-format
+ msgid "type mismatch in array reference"
+ msgstr "%L'de dizi başvurusunda sıra uyumsuz (%d/%d)"
+
+-#: tree-cfg.c:3511
++#: tree-cfg.c:3535
+ #, fuzzy, gcc-internal-format
+ msgid "type mismatch in array range reference"
+ msgstr "%L'de dizi başvurusunda sıra uyumsuz (%d/%d)"
+
+-#: tree-cfg.c:3522
++#: tree-cfg.c:3546
+ #, fuzzy, gcc-internal-format
+ msgid "type mismatch in real/imagpart reference"
+ msgstr "koşullu ifadede tür uyumsuzluğu"
+
+-#: tree-cfg.c:3532
++#: tree-cfg.c:3556
+ #, fuzzy, gcc-internal-format
+ msgid "type mismatch in component reference"
+ msgstr "koşullu ifadede tür uyumsuzluğu"
+
+-#: tree-cfg.c:3586
++#: tree-cfg.c:3610
+ #, fuzzy, gcc-internal-format
+ msgid "invalid operand in conversion"
+ msgstr "komuttaki terim geçersiz"
+
+-#: tree-cfg.c:3614
++#: tree-cfg.c:3638
+ #, fuzzy, gcc-internal-format
+ msgid "invalid types in nop conversion"
+ msgstr "Sabit ifadesinde tür hatalı"
+
+-#: tree-cfg.c:3628
++#: tree-cfg.c:3652
+ #, fuzzy, gcc-internal-format
+ msgid "invalid operand in int to float conversion"
+ msgstr "komuttaki terim geçersiz"
+
+-#: tree-cfg.c:3634
++#: tree-cfg.c:3658
+ #, fuzzy, gcc-internal-format
+ msgid "invalid types in conversion to floating point"
+ msgstr "%<__fpreg%> türüne dönüşüm geçersiz"
+
+-#: tree-cfg.c:3647
++#: tree-cfg.c:3671
+ #, fuzzy, gcc-internal-format
+ msgid "invalid operand in float to int conversion"
+ msgstr "komuttaki terim geçersiz"
+
+-#: tree-cfg.c:3653
++#: tree-cfg.c:3677
+ #, fuzzy, gcc-internal-format
+ msgid "invalid types in conversion to integer"
+ msgstr "%<__fpreg%> türüne dönüşüm geçersiz"
+
+-#: tree-cfg.c:3667
++#: tree-cfg.c:3691
+ #, fuzzy, gcc-internal-format
+ msgid "invalid operands in complex expression"
+ msgstr "komuttaki terim geçersiz"
+
+-#: tree-cfg.c:3680
++#: tree-cfg.c:3704
+ #, fuzzy, gcc-internal-format
+ msgid "type mismatch in complex expression"
+ msgstr "koşullu ifadede tür uyumsuzluğu"
+
+-#: tree-cfg.c:3694
++#: tree-cfg.c:3718
+ #, gcc-internal-format
+ msgid "constructor not allowed for non-vector types"
+ msgstr ""
+
+-#: tree-cfg.c:3711
++#: tree-cfg.c:3735
+ #, fuzzy, gcc-internal-format
+ msgid "invalid operands in shift expression"
+ msgstr "komuttaki terim geçersiz"
+
+-#: tree-cfg.c:3717
++#: tree-cfg.c:3741
+ #, fuzzy, gcc-internal-format
+ msgid "type mismatch in shift expression"
+ msgstr "koşullu ifadede tür uyumsuzluğu"
+
+-#: tree-cfg.c:3735
++#: tree-cfg.c:3759
+ #, fuzzy, gcc-internal-format
+ msgid "invalid (pointer) operands to plus/minus"
+ msgstr "iki terimli %s için terimler geçersiz"
+
+-#: tree-cfg.c:3748
++#: tree-cfg.c:3772
+ #, fuzzy, gcc-internal-format
+ msgid "invalid operands in pointer plus expression"
+ msgstr "komuttaki terim geçersiz"
+
+-#: tree-cfg.c:3755
++#: tree-cfg.c:3779
+ #, fuzzy, gcc-internal-format
+ msgid "type mismatch in pointer plus expression"
+ msgstr "koşullu ifadede tür uyumsuzluğu"
+
+-#: tree-cfg.c:3774
++#: tree-cfg.c:3798
+ #, fuzzy, gcc-internal-format
+ msgid "invalid operands in conditional expression"
+ msgstr "koÅŸullu ifadede sol deÄŸersiz dizi"
+
+-#: tree-cfg.c:3807
++#: tree-cfg.c:3831
+ #, fuzzy, gcc-internal-format
+ msgid "type mismatch in address expression"
+ msgstr "koşullu ifadede tür uyumsuzluğu"
+
+-#: tree-cfg.c:3827
++#: tree-cfg.c:3851
+ #, fuzzy, gcc-internal-format
+ msgid "invalid operands in truth expression"
+ msgstr "komuttaki terim geçersiz"
+
+-#: tree-cfg.c:3836
++#: tree-cfg.c:3860
+ #, fuzzy, gcc-internal-format
+ msgid "type mismatch in binary truth expression"
+ msgstr "koşullu ifadede tür uyumsuzluğu"
+
+-#: tree-cfg.c:3852
++#: tree-cfg.c:3876
+ #, fuzzy, gcc-internal-format
+ msgid "invalid operand in unary not"
+ msgstr "iki terimli %s için terimler geçersiz"
+
+-#: tree-cfg.c:3861
++#: tree-cfg.c:3885
+ #, fuzzy, gcc-internal-format
+ msgid "type mismatch in not expression"
+ msgstr "koşullu ifadede tür uyumsuzluğu"
+
+-#: tree-cfg.c:3900
++#: tree-cfg.c:3924
+ #, fuzzy, gcc-internal-format
+ msgid "invalid operands in comparison expression"
+ msgstr "void ifade kullanımı geçersiz"
+
+-#: tree-cfg.c:3917
++#: tree-cfg.c:3941
+ #, fuzzy, gcc-internal-format
+ msgid "type mismatch in comparison expression"
+ msgstr "koşullu ifadede tür uyumsuzluğu"
+
+-#: tree-cfg.c:3947
++#: tree-cfg.c:3971
+ #, fuzzy, gcc-internal-format
+ msgid "non-trivial conversion at assignment"
+ msgstr "atamanın sol tarafı geçersiz"
+
+-#: tree-cfg.c:3988 tree-cfg.c:4136
++#: tree-cfg.c:4012 tree-cfg.c:4160
+ #, gcc-internal-format
+ msgid "is not a valid GIMPLE statement"
+ msgstr "geçerli bir GIMPLE deyimi değil"
+
+-#: tree-cfg.c:4015
++#: tree-cfg.c:4039
+ #, fuzzy, gcc-internal-format
+ msgid "invalid operand to switch statement"
+ msgstr "%%s kodu için terim geçersiz"
+
+-#: tree-cfg.c:4026
++#: tree-cfg.c:4050
+ #, fuzzy, gcc-internal-format
+ msgid "type error in return expression"
+ msgstr " yakalanmış ifade içinde"
+
+-#: tree-cfg.c:4104
++#: tree-cfg.c:4128
+ #, fuzzy, gcc-internal-format
+ msgid "verify_gimple failed"
+ msgstr "verify_stmts başarısız"
+
+-#: tree-cfg.c:4156
++#: tree-cfg.c:4180
+ #, gcc-internal-format
+ msgid "statement marked for throw, but doesn%'t"
+ msgstr "deyim yakalama için imli, ama olmuyor."
+
+-#: tree-cfg.c:4161
++#: tree-cfg.c:4185
+ #, gcc-internal-format
+ msgid "statement marked for throw in middle of block"
+ msgstr "Deyim blokun ortasında yakalama için imlenmiş"
+
+-#: tree-cfg.c:4232
++#: tree-cfg.c:4256
+ #, fuzzy, gcc-internal-format
+ msgid "unexpected non-tuple"
+ msgstr "umulmadık düğüm"
+
+-#: tree-cfg.c:4261
++#: tree-cfg.c:4285
+ #, gcc-internal-format
+ msgid "Dead STMT in EH table"
+ msgstr ""
+
+-#: tree-cfg.c:4295
++#: tree-cfg.c:4319
+ #, gcc-internal-format
+ msgid "bb_for_stmt (phi) is set to a wrong basic block"
+ msgstr "bb_for_stmt (phi) yanlış temel bloka atanmış"
+
+-#: tree-cfg.c:4306
++#: tree-cfg.c:4330
+ #, fuzzy, gcc-internal-format
+ msgid "missing PHI def"
+ msgstr "tanım eksik"
+
+-#: tree-cfg.c:4317
++#: tree-cfg.c:4341
+ #, gcc-internal-format
+ msgid "PHI def is not a GIMPLE value"
+ msgstr "PHI tanımı bir GIMPLE değeri değil"
+
+-#: tree-cfg.c:4333 tree-cfg.c:4359
++#: tree-cfg.c:4357 tree-cfg.c:4383
+ #, gcc-internal-format
+ msgid "incorrect sharing of tree nodes"
+ msgstr "Ağaç düğümlerinin paylaşımı yanlış"
+
+-#: tree-cfg.c:4350
++#: tree-cfg.c:4374
+ #, gcc-internal-format
+ msgid "bb_for_stmt (stmt) is set to a wrong basic block"
+ msgstr "bb_for_stmt (stmt) yanlış temel bloka atanmış"
+
+-#: tree-cfg.c:4373
++#: tree-cfg.c:4397
+ #, gcc-internal-format
+ msgid "verify_stmts failed"
+ msgstr "verify_stmts başarısız"
+
+-#: tree-cfg.c:4396
++#: tree-cfg.c:4420
+ #, fuzzy, gcc-internal-format
+ msgid "ENTRY_BLOCK has IL associated with it"
+ msgstr "ENTRY_BLOCK onunla ilişkili bir deyim listesi içeriyor"
+
+-#: tree-cfg.c:4402
++#: tree-cfg.c:4426
+ #, fuzzy, gcc-internal-format
+ msgid "EXIT_BLOCK has IL associated with it"
+ msgstr "EXIT_BLOCK onunla ilişkili bir deyim listesi içeriyor"
+
+-#: tree-cfg.c:4409
++#: tree-cfg.c:4433
+ #, gcc-internal-format
+ msgid "fallthru to exit from bb %d"
+ msgstr "bb %d deki çıkışa düşüş"
+
+-#: tree-cfg.c:4431
++#: tree-cfg.c:4455
+ #, gcc-internal-format
+ msgid "nonlocal label "
+ msgstr ""
+
+-#: tree-cfg.c:4440 tree-cfg.c:4450 tree-cfg.c:4475
++#: tree-cfg.c:4464 tree-cfg.c:4474 tree-cfg.c:4499
+ #, gcc-internal-format
+ msgid "label "
+ msgstr ""
+
+-#: tree-cfg.c:4465
++#: tree-cfg.c:4489
+ #, gcc-internal-format
+ msgid "control flow in the middle of basic block %d"
+ msgstr "%d. temel blokun ortasında denetim akışı"
+
+-#: tree-cfg.c:4495
++#: tree-cfg.c:4519
+ #, gcc-internal-format
+ msgid "fallthru edge after a control statement in bb %d"
+ msgstr "bb %d içinde bir denetim deyimi sonrası düşen kenar"
+
+-#: tree-cfg.c:4508
++#: tree-cfg.c:4532
+ #, fuzzy, gcc-internal-format
+ msgid "true/false edge after a non-COND_EXPR in bb %d"
+ msgstr "bb %d içinde bir denetim deyimi sonrası düşen kenar"
+
+-#: tree-cfg.c:4524
++#: tree-cfg.c:4548
+ #, fuzzy, gcc-internal-format
+ msgid "COND_EXPR with code in branches at the end of bb %d"
+ msgstr "bb %d sonunda yapılı COND_EXPR"
+
+-#: tree-cfg.c:4538 tree-cfg.c:4560 tree-cfg.c:4573 tree-cfg.c:4644
++#: tree-cfg.c:4562 tree-cfg.c:4584 tree-cfg.c:4597 tree-cfg.c:4668
+ #, gcc-internal-format
+ msgid "wrong outgoing edge flags at end of bb %d"
+ msgstr "bb %d sonunda çıkan ayrıt bayrağı sayısı yanlış"
+
+-#: tree-cfg.c:4548
++#: tree-cfg.c:4572
+ #, gcc-internal-format
+ msgid "explicit goto at end of bb %d"
+ msgstr "bb %d sonunda açıkça goto"
+
+-#: tree-cfg.c:4578
++#: tree-cfg.c:4602
+ #, gcc-internal-format
+ msgid "return edge does not point to exit in bb %d"
+ msgstr "dönüş ayrıtı bb %d içindeki çıkışı göstermiyor"
+
+-#: tree-cfg.c:4611
++#: tree-cfg.c:4635
+ #, gcc-internal-format
+ msgid "found default case not at end of case vector"
+ msgstr "default case, case vektörünün sonunda değil"
+
+-#: tree-cfg.c:4617
++#: tree-cfg.c:4641
+ #, fuzzy, gcc-internal-format
+ msgid "case labels not sorted: "
+ msgstr "sırasız case etiketleri:"
+
+-#: tree-cfg.c:4628
++#: tree-cfg.c:4652
+ #, gcc-internal-format
+ msgid "no default case found at end of case vector"
+ msgstr "case vektörünün sonunda default case yok"
+
+-#: tree-cfg.c:4636
++#: tree-cfg.c:4660
+ #, gcc-internal-format
+ msgid "extra outgoing edge %d->%d"
+ msgstr "fazladan çıkan ayrıt %d->%d"
+
+-#: tree-cfg.c:4658
++#: tree-cfg.c:4682
+ #, gcc-internal-format
+ msgid "missing edge %i->%i"
+ msgstr "ayrıt %i->%i eksik"
+
+-#: tree-cfg.c:6941 tree-cfg.c:6945
++#: tree-cfg.c:7025 tree-cfg.c:7029
+ #, gcc-internal-format
+ msgid "%H%<noreturn%> function does return"
+ msgstr "%H%<noreturn%> işlev değer döndürüyor"
+
+-#: tree-cfg.c:6967 tree-cfg.c:6972
++#: tree-cfg.c:7051 tree-cfg.c:7056
+ #, gcc-internal-format
+ msgid "%Hcontrol reaches end of non-void function"
+ msgstr "%Hdenetim void olmayan işlevin sonunu aşıyor"
+
+-#: tree-cfg.c:7033
++#: tree-cfg.c:7117
+ #, gcc-internal-format
+ msgid "%Jfunction might be possible candidate for attribute %<noreturn%>"
+ msgstr "%Jislev %<noreturn%> özniteliği için olası aday olabilir"
+
+-#: tree-dump.c:933
++#: tree-dump.c:932
+ #, gcc-internal-format
+ msgid "could not open dump file %qs: %s"
+ msgstr "döküm dosyası %qs açılamadı: %s"
+
+-#: tree-dump.c:1068
++#: tree-dump.c:1067
+ #, gcc-internal-format
+ msgid "ignoring unknown option %q.*s in %<-fdump-%s%>"
+ msgstr "bilinmeyen seçenek `%q.*s' %<-fdump-%s%> için yoksayılıyor"
+
+-#: tree-eh.c:1788
++#: tree-eh.c:1805
+ #, gcc-internal-format
+ msgid "EH edge %i->%i is missing"
+ msgstr "EH ayrıtı %i->%i eksik"
+
+-#: tree-eh.c:1793
++#: tree-eh.c:1810
+ #, gcc-internal-format
+ msgid "EH edge %i->%i miss EH flag"
+ msgstr "EH ayrıtı %i->%i EH bayrağını bulamıyor"
+
+ #. ??? might not be mistake.
+-#: tree-eh.c:1799
++#: tree-eh.c:1816
+ #, gcc-internal-format
+ msgid "EH edge %i->%i has duplicated regions"
+ msgstr "EH ayrıtı %i->%i yinelenmiş bölgeler içeriyor"
+
+-#: tree-eh.c:1833
++#: tree-eh.c:1850
+ #, gcc-internal-format
+ msgid "BB %i can not throw but has EH edges"
+ msgstr "BB %i yakalanamıyor ama EH ayrıtları var"
+
+-#: tree-eh.c:1840
++#: tree-eh.c:1857
+ #, gcc-internal-format
+ msgid "BB %i last statement has incorrectly set region"
+ msgstr "BB %i son deyiminin bölgesi yanlış belirlenmiş"
+
+-#: tree-eh.c:1851
++#: tree-eh.c:1868
+ #, gcc-internal-format
+ msgid "unnecessary EH edge %i->%i"
+ msgstr "gereksiz EH ayrıtı %i->%i"
+
+-#: tree-inline.c:1830
++#: tree-inline.c:1880
+ #, gcc-internal-format
+ msgid "function %q+F can never be inlined because it uses alloca (override using the always_inline attribute)"
+ msgstr "%q+F işlevi alloca kullandığından satıriçine alınamaz (always_inline özniteliği ile zorlanabilir)"
+
+-#: tree-inline.c:1842
++#: tree-inline.c:1892
+ #, gcc-internal-format
+ msgid "function %q+F can never be inlined because it uses setjmp"
+ msgstr "%q+F işlevi setjmp kullandığından asla satıriçine alınamaz"
+
+-#: tree-inline.c:1856
++#: tree-inline.c:1906
+ #, gcc-internal-format
+ msgid "function %q+F can never be inlined because it uses variable argument lists"
+ msgstr "%q+F işlevi değişkin argüman listesi kullandığından asla satıriçine alınamaz"
+
+-#: tree-inline.c:1867
++#: tree-inline.c:1917
+ #, gcc-internal-format
+ msgid "function %q+F can never be inlined because it uses setjmp-longjmp exception handling"
+ msgstr "%q+F işlevi setjmp-longjmp olağandışılık eylemcisi kullandığından asla satıriçine alınamaz"
+
+-#: tree-inline.c:1874
++#: tree-inline.c:1924
+ #, gcc-internal-format
+ msgid "function %q+F can never be inlined because it uses non-local goto"
+ msgstr "%q+F işlevi yerel olmayan goto içerdiğinden asla satıriçine alınamaz"
+
+-#: tree-inline.c:1885
++#: tree-inline.c:1935
+ #, gcc-internal-format
+ msgid "function %q+F can never be inlined because it uses __builtin_return or __builtin_apply_args"
+ msgstr "%q+F işlevi __builtin_return veya __builtin_apply_args kullandığından satıriçine alınamaz"
+
+-#: tree-inline.c:1904
++#: tree-inline.c:1954
+ #, gcc-internal-format
+ msgid "function %q+F can never be inlined because it contains a computed goto"
+ msgstr "%q+F işlevi bir hesaplanmış goto içerdiğinden satıriçine alınamaz"
+
+-#: tree-inline.c:1918
++#: tree-inline.c:1968
+ #, gcc-internal-format
+ msgid "function %q+F can never be inlined because it receives a non-local goto"
+ msgstr "%q+F işlevi yerel olmayan goto içerdiğinden satıriçine alınamaz"
+
+-#: tree-inline.c:1943
++#: tree-inline.c:1993
+ #, gcc-internal-format
+ msgid "function %q+F can never be inlined because it uses variable sized variables"
+ msgstr "%q+F işlevi değişken boyutlu değişkenler kullandığından satıriçine alınamaz"
+
+-#: tree-inline.c:2005
++#: tree-inline.c:2015
++#, fuzzy, gcc-internal-format
++msgid "function %q+F can never be inlined because it saves address of local label in a static variable"
++msgstr "%q+F işlevi değişken boyutlu değişkenler kullandığından satıriçine alınamaz"
++
++#: tree-inline.c:2091
+ #, gcc-internal-format
+ msgid "function %q+F can never be inlined because it is suppressed using -fno-inline"
+ msgstr "%q+F işlevi -fno-inline kullanılarak engellendiğinden satır içine alınamaz"
+
+-#: tree-inline.c:2019
++#: tree-inline.c:2105
+ #, gcc-internal-format
+ msgid "function %q+F can never be inlined because it uses attributes conflicting with inlining"
+ msgstr "%q+F işlevinin öznitelikleri satıriçine alınma ile çeliştiğinden işlev asla satıriçine alınamaz"
+
+-#: tree-inline.c:2588 tree-inline.c:2598
++#: tree-inline.c:2674 tree-inline.c:2684
+ #, gcc-internal-format
+ msgid "inlining failed in call to %q+F: %s"
+ msgstr "%q+F çağrısında satıriçine alma başarısız: %s"
+
+-#: tree-inline.c:2589 tree-inline.c:2600
++#: tree-inline.c:2675 tree-inline.c:2686
+ #, gcc-internal-format
+ msgid "called from here"
+ msgstr "buradan çağrıldı"
+
+-#: tree-mudflap.c:860
++#: tree-mudflap.c:864
+ #, gcc-internal-format
+ msgid "mudflap checking not yet implemented for ARRAY_RANGE_REF"
+ msgstr "mudflap sinaması ARRAY_RANGE_REF için henüz gerçeklenmedi"
+
+-#: tree-mudflap.c:1044
++#: tree-mudflap.c:1050
+ #, gcc-internal-format
+ msgid "mudflap cannot track %qs in stub function"
+ msgstr "mudflap %qs'i koçan işlevinde izleyemiyor"
+
+-#: tree-mudflap.c:1272
++#: tree-mudflap.c:1279
+ #, gcc-internal-format
+ msgid "mudflap cannot track unknown size extern %qs"
+ msgstr "mudflap bilinmeyen boyutlu harici %qs'i izleyemiyor"
+@@ -23810,33 +23810,33 @@
+ msgid "size of return value of %q+D is larger than %wd bytes"
+ msgstr "%q+D dönüş değerinin genişligi %wd bayttan büyük"
+
+-#: tree-outof-ssa.c:637 tree-outof-ssa.c:688 tree-ssa-coalesce.c:936
+-#: tree-ssa-coalesce.c:951 tree-ssa-coalesce.c:1163 tree-ssa-live.c:1043
++#: tree-outof-ssa.c:638 tree-outof-ssa.c:689 tree-ssa-coalesce.c:936
++#: tree-ssa-coalesce.c:951 tree-ssa-coalesce.c:1163 tree-ssa-live.c:1053
+ #, gcc-internal-format
+ msgid "SSA corruption"
+ msgstr "SSA bozulması"
+
+-#: tree-outof-ssa.c:1105
++#: tree-outof-ssa.c:1263
+ #, gcc-internal-format
+ msgid " Pending stmts not issued on PRED edge (%d, %d)\n"
+ msgstr " PRED ayrıtı (%d, %d) üzerinde çıktılanmayan deyimler bekletiliyor\n"
+
+-#: tree-outof-ssa.c:1111
++#: tree-outof-ssa.c:1269
+ #, gcc-internal-format
+ msgid " Pending stmts not issued on SUCC edge (%d, %d)\n"
+ msgstr " SUCC ayrıtı (%d, %d) üzerinde çıktılanmayan deyimler bekletiliyor\n"
+
+-#: tree-outof-ssa.c:1118
++#: tree-outof-ssa.c:1276
+ #, gcc-internal-format
+ msgid " Pending stmts not issued on ENTRY edge (%d, %d)\n"
+ msgstr " ENTRY ayrıtı (%d, %d) üzerinde çıktılanmayan deyimler bekletiliyor\n"
+
+-#: tree-outof-ssa.c:1124
++#: tree-outof-ssa.c:1282
+ #, gcc-internal-format
+ msgid " Pending stmts not issued on EXIT edge (%d, %d)\n"
+ msgstr " EXIT ayrıtı (%d, %d) üzerinde çıktılanmayan deyimler bekletiliyor\n"
+
+-#: tree-profile.c:351
++#: tree-profile.c:356
+ #, gcc-internal-format
+ msgid "unimplemented functionality"
+ msgstr "gerceklenmemiÅŸ iÅŸlevsellik"
+@@ -24026,154 +24026,159 @@
+ msgid "verify_ssa failed"
+ msgstr "verify_ssa başarısız"
+
+-#: tree-ssa.c:1284
++#: tree-ssa.c:1293
+ #, fuzzy, gcc-internal-format
+ msgid "%J%qD was declared here"
+ msgstr "burada bildirilmiÅŸ %q+D"
+
+ #. We only do data flow with SSA_NAMEs, so that's all we
+ #. can warn about.
+-#: tree-ssa.c:1302
++#: tree-ssa.c:1311
+ #, gcc-internal-format
+ msgid "%H%qD is used uninitialized in this function"
+ msgstr "%H%qD bu işlevde ilklendirilmeden kullanılmış"
+
+-#: tree-ssa.c:1340
++#: tree-ssa.c:1349
+ #, gcc-internal-format
+ msgid "%H%qD may be used uninitialized in this function"
+ msgstr "%H%qD bu işlevde ilklendirilmeden kullanılmış olmalı"
+
+-#: tree-vrp.c:4374
++#: tree-vrp.c:4384
+ #, fuzzy, gcc-internal-format
+ msgid "%Harray subscript is outside array bounds"
+ msgstr "dizi indisi bir tamsayı değil"
+
+-#: tree-vrp.c:4388
++#: tree-vrp.c:4398
+ #, fuzzy, gcc-internal-format
+ msgid "%Harray subscript is above array bounds"
+ msgstr "dizi indisi bir tamsayı değil"
+
+-#: tree-vrp.c:4395
++#: tree-vrp.c:4405
+ #, fuzzy, gcc-internal-format
+ msgid "%Harray subscript is below array bounds"
+ msgstr "dizi indisi bir tamsayı değil"
+
+-#: tree-vrp.c:5042
++#: tree-vrp.c:5058
+ #, gcc-internal-format
+ msgid "assuming signed overflow does not occur when simplifying conditional to constant"
+ msgstr ""
+
+-#: tree-vrp.c:5048
++#: tree-vrp.c:5064
+ #, gcc-internal-format
+ msgid "assuming signed overflow does not occur when simplifying conditional"
+ msgstr ""
+
+-#: tree.c:3951
++#: tree.c:3682
++#, fuzzy, gcc-internal-format
++msgid "ignoring attributes applied to %qT after definition"
++msgstr "%qE özniteliği sadece sınıf tanımlarına uygulanabilir"
++
++#: tree.c:3966
+ #, gcc-internal-format
+ msgid "%q+D already declared with dllexport attribute: dllimport ignored"
+ msgstr "%q+D zaten dllexport özniteliği ile bildirilmiş: dllimport yoksayıldı"
+
+-#: tree.c:3963
++#: tree.c:3978
+ #, gcc-internal-format
+ msgid "%q+D redeclared without dllimport attribute after being referenced with dll linkage"
+ msgstr "%q+D' dll ilintileme ile ilişkilendirildikten sonra dllimport özniteliği olmaksızın yeniden bildirildi"
+
+-#: tree.c:3979
++#: tree.c:3994
+ #, gcc-internal-format
+ msgid "%q+D redeclared without dllimport attribute: previous dllimport ignored"
+ msgstr "%q+D dllimport özniteliği olmaksızın yeniden bildirildi; önceki dllimport yoksayıldı"
+
+-#: tree.c:4038 tree.c:4050 config/darwin.c:1458 config/arm/arm.c:3099
+-#: config/arm/arm.c:3127 config/avr/avr.c:4598 config/h8300/h8300.c:5281
+-#: config/h8300/h8300.c:5305 config/i386/i386.c:3056 config/i386/i386.c:22515
++#: tree.c:4053 tree.c:4065 config/darwin.c:1460 config/arm/arm.c:3099
++#: config/arm/arm.c:3127 config/avr/avr.c:4638 config/h8300/h8300.c:5281
++#: config/h8300/h8300.c:5305 config/i386/i386.c:3087 config/i386/i386.c:22599
+ #: config/ia64/ia64.c:586 config/m68hc11/m68hc11.c:1118
+-#: config/rs6000/rs6000.c:19657 config/sh/symbian.c:408
++#: config/rs6000/rs6000.c:19874 config/sh/symbian.c:408
+ #: config/sh/symbian.c:415
+ #, gcc-internal-format
+ msgid "%qs attribute ignored"
+ msgstr "%qs özniteliği yoksayıldı"
+
+-#: tree.c:4066
++#: tree.c:4081
+ #, gcc-internal-format
+ msgid "inline function %q+D declared as dllimport: attribute ignored"
+ msgstr "%q+D satıriçi işlevi dllimport olarak bildirilmiş: öznitelik yoksayıldı"
+
+-#: tree.c:4074
++#: tree.c:4089
+ #, gcc-internal-format
+ msgid "function %q+D definition is marked dllimport"
+ msgstr "%q+D işlevinin tanımı dllimport imli"
+
+-#: tree.c:4082 config/sh/symbian.c:430
++#: tree.c:4097 config/sh/symbian.c:430
+ #, gcc-internal-format
+ msgid "variable %q+D definition is marked dllimport"
+ msgstr "%q+D değişkeninin tanımı dllimport imli"
+
+-#: tree.c:4105 config/sh/symbian.c:505
++#: tree.c:4120 config/sh/symbian.c:505
+ #, fuzzy, gcc-internal-format
+ msgid "external linkage required for symbol %q+D because of %qs attribute"
+ msgstr "%2$qs özniteliğinden dolayı %1$q+D' simgesi için dış ilintileme gerekli"
+
+-#: tree.c:4119
++#: tree.c:4134
+ #, gcc-internal-format
+ msgid "%qs implies default visibility, but %qD has already been declared with a different visibility"
+ msgstr ""
+
+-#: tree.c:5632
++#: tree.c:5648
+ #, gcc-internal-format
+ msgid "arrays of functions are not meaningful"
+ msgstr "işlev dizileri anlamlı değil"
+
+-#: tree.c:5785
++#: tree.c:5801
+ #, gcc-internal-format
+ msgid "function return type cannot be function"
+ msgstr "işlevin dönüş türü işlev olamaz"
+
+-#: tree.c:6802 tree.c:6887 tree.c:6948
++#: tree.c:6818 tree.c:6903 tree.c:6964
+ #, fuzzy, gcc-internal-format
+ msgid "tree check: %s, have %s in %s, at %s:%d"
+ msgstr "ağaç denetimi: %1$s, %4$s dosyasının %5$d. satırında %3$s işlevinde %2$s var"
+
+-#: tree.c:6839
++#: tree.c:6855
+ #, fuzzy, gcc-internal-format
+ msgid "tree check: expected none of %s, have %s in %s, at %s:%d"
+ msgstr "ağaç denetimi: %1$s umulmuyordu, %4$s dosyasının %5$d. satırında %3$s işlevinde %2$s var"
+
+-#: tree.c:6852
++#: tree.c:6868
+ #, fuzzy, gcc-internal-format
+ msgid "tree check: expected class %qs, have %qs (%s) in %s, at %s:%d"
+ msgstr "ağaç denetimi: %1$qs sınıfı umuluyordu, %5$s dosyasının %6$d. satırında %4$s işlevinde %2$qs (%3$s) var"
+
+-#: tree.c:6901
++#: tree.c:6917
+ #, fuzzy, gcc-internal-format
+ msgid "tree check: did not expect class %qs, have %qs (%s) in %s, at %s:%d"
+ msgstr "ağaç denetimi: %1$qs sınıfı umuluyordu, %5$s dosyasının %6$d. satırında %4$s işlevinde %2$qs (%3$s) var"
+
+-#: tree.c:6914
++#: tree.c:6930
+ #, fuzzy, gcc-internal-format
+ msgid "tree check: expected omp_clause %s, have %s in %s, at %s:%d"
+ msgstr "ağaç denetimi: %1$s umulmuyordu, %4$s dosyasının %5$d. satırında %3$s işlevinde %2$s var"
+
+-#: tree.c:6974
++#: tree.c:6990
+ #, fuzzy, gcc-internal-format
+ msgid "tree check: expected tree that contains %qs structure, have %qs in %s, at %s:%d"
+ msgstr "ağaç denetimi: %1$qs yapısını içeren ağaç umuluyordu, %4$s dosyasının %5$d. satırında %3$s işlevinde %2$qs var"
+
+-#: tree.c:6988
++#: tree.c:7004
+ #, fuzzy, gcc-internal-format
+ msgid "tree check: accessed elt %d of tree_vec with %d elts in %s, at %s:%d"
+ msgstr "ağaç denetimi: %4$s dosyasının %5$d. satırında %3$s işlevinde %2$d öğelik ağaç vektörünün %1$d. öğesine erişildi"
+
+-#: tree.c:7000
++#: tree.c:7016
+ #, fuzzy, gcc-internal-format
+ msgid "tree check: accessed elt %d of phi_node with %d elts in %s, at %s:%d"
+ msgstr "ağaç denetimi: %4$s dosyasının %5$d. satırında %3$s işlevinde %2$d öğelik phi_node'un %1$d. öğesine erişildi"
+
+-#: tree.c:7013
++#: tree.c:7029
+ #, fuzzy, gcc-internal-format
+ msgid "tree check: accessed operand %d of %s with %d operands in %s, at %s:%d"
+ msgstr "ağaç denetimi: %5$s dosyasının %6$d. satırında %4$s işlevinde %3$d terimli %2$s düğümünün %1$d. terimine erişildi"
+
+-#: tree.c:7026
++#: tree.c:7042
+ #, fuzzy, gcc-internal-format
+ msgid "tree check: accessed operand %d of omp_clause %s with %d operands in %s, at %s:%d"
+ msgstr "ağaç denetimi: %5$s dosyasının %6$d. satırında %4$s işlevinde %3$d terimli %2$s düğümünün %1$d. terimine erişildi"
+@@ -24425,17 +24430,17 @@
+ msgid "Unknown value %qs of -mmacosx-version-min"
+ msgstr "-mmacosx-version-min için %qs değeri bilinmiyor"
+
+-#: config/darwin.c:1431
++#: config/darwin.c:1433
+ #, gcc-internal-format
+ msgid "%<%s%> 2.95 vtable-compatibility attribute applies only when compiling a kext"
+ msgstr ""
+
+-#: config/darwin.c:1438
++#: config/darwin.c:1440
+ #, gcc-internal-format
+ msgid "%<%s%> 2.95 vtable-compatibility attribute applies only to C++ classes"
+ msgstr ""
+
+-#: config/darwin.c:1563
++#: config/darwin.c:1565
+ #, gcc-internal-format
+ msgid "internal and protected visibility attributes not supported in this configuration; ignored"
+ msgstr "dahili ve korumalı görünürlük öznitelikleri bu yapılanmada desteklenmiyor; yoksayıldı"
+@@ -24531,7 +24536,7 @@
+ msgid "profiler support for WindISS"
+ msgstr "WindISS için profilci desteği"
+
+-#: config/alpha/alpha.c:232 config/rs6000/rs6000.c:1990
++#: config/alpha/alpha.c:232 config/rs6000/rs6000.c:2020
+ #, gcc-internal-format
+ msgid "bad value %qs for -mtls-size switch"
+ msgstr "-mtls-size seçeneği için %qs değeri hatalı"
+@@ -24606,18 +24611,18 @@
+ msgid "bad value %qs for -mmemory-latency"
+ msgstr "-mmemory-latency için değer %qs hatalı"
+
+-#: config/alpha/alpha.c:6514 config/alpha/alpha.c:6517 config/s390/s390.c:8279
+-#: config/s390/s390.c:8282
++#: config/alpha/alpha.c:6522 config/alpha/alpha.c:6525 config/s390/s390.c:8335
++#: config/s390/s390.c:8338
+ #, gcc-internal-format
+ msgid "bad builtin fcode"
+ msgstr "hatalı yerleşik fcode"
+
+-#: config/arc/arc.c:388
++#: config/arc/arc.c:392
+ #, gcc-internal-format
+ msgid "argument of %qs attribute is not a string constant"
+ msgstr "%qs özniteliğinin argümanı bir dizge sabiti değil"
+
+-#: config/arc/arc.c:396
++#: config/arc/arc.c:400
+ #, gcc-internal-format
+ msgid "argument of %qs attribute is not \"ilink1\" or \"ilink2\""
+ msgstr "%qs özniteliğinin argümanı \"ilink1\" ya da \"ilink2\" değildir"
+@@ -24627,7 +24632,7 @@
+ msgid "switch -mcpu=%s conflicts with -march= switch"
+ msgstr "-mcpu=%s ile -march= seçenekleri çelişiyor"
+
+-#: config/arm/arm.c:1060 config/rs6000/rs6000.c:1504 config/sparc/sparc.c:761
++#: config/arm/arm.c:1060 config/rs6000/rs6000.c:1522 config/sparc/sparc.c:764
+ #, gcc-internal-format
+ msgid "bad value (%s) for %s switch"
+ msgstr "%s seçeneği için değer (%s) hatalı"
+@@ -24767,14 +24772,13 @@
+ msgid "unable to use '%s' for PIC register"
+ msgstr "PIC yazmacı için '%s' kullanılamıyor"
+
+-#: config/arm/arm.c:3067 config/arm/arm.c:3085 config/avr/avr.c:4618
+-#: config/avr/avr.c:4660 config/bfin/bfin.c:4778 config/c4x/c4x.c:4071
+-#: config/h8300/h8300.c:5257 config/i386/i386.c:3009
+-#: config/m68hc11/m68hc11.c:1155 config/m68k/m68k.c:741
+-#: config/mcore/mcore.c:3032 config/mips/mips.c:1151 config/mips/mips.c:1153
+-#: config/mt/mt.c:1275 config/rs6000/rs6000.c:19583 config/sh/sh.c:7984
+-#: config/sh/sh.c:8005 config/sh/sh.c:8028 config/stormy16/stormy16.c:2252
+-#: config/v850/v850.c:2048
++#: config/arm/arm.c:3067 config/arm/arm.c:3085 config/avr/avr.c:4658
++#: config/avr/avr.c:4700 config/bfin/bfin.c:4881 config/h8300/h8300.c:5257
++#: config/i386/i386.c:3040 config/m68hc11/m68hc11.c:1155
++#: config/m68k/m68k.c:741 config/mcore/mcore.c:3032 config/mips/mips.c:1151
++#: config/mips/mips.c:1153 config/mt/mt.c:1275 config/rs6000/rs6000.c:19800
++#: config/sh/sh.c:7987 config/sh/sh.c:8008 config/sh/sh.c:8031
++#: config/stormy16/stormy16.c:2225 config/v850/v850.c:2048
+ #, gcc-internal-format
+ msgid "%qs attribute only applies to functions"
+ msgstr "%qs özniteliği sadece işlevlere uygulanır"
+@@ -24796,7 +24800,7 @@
+ msgstr "seçici bir anlık değer olmalı"
+
+ #. @@@ better error message
+-#: config/arm/arm.c:15839 config/i386/i386.c:20651 config/i386/i386.c:20685
++#: config/arm/arm.c:15839 config/i386/i386.c:20735 config/i386/i386.c:20769
+ #, gcc-internal-format
+ msgid "mask must be an immediate"
+ msgstr "mask bir anlık değer olmalı"
+@@ -24821,222 +24825,187 @@
+ msgid "static variable %q+D is marked dllimport"
+ msgstr "statik deÄŸiÅŸken %q+D dllimport imli"
+
+-#: config/avr/avr.c:690
++#: config/avr/avr.c:718
+ #, gcc-internal-format
+ msgid "large frame pointer change (%d) with -mtiny-stack"
+ msgstr "-mtiny-stack ile büyük çerçeve göstericisi değişikliği (%d)"
+
+-#: config/avr/avr.c:4591
++#: config/avr/avr.c:4631
+ #, gcc-internal-format
+ msgid "only initialized variables can be placed into program memory area"
+ msgstr "program bellek alanına sadece ilklendirilmiş değişkenler yerleştirilebilir"
+
+-#: config/avr/avr.c:4635
++#: config/avr/avr.c:4675
+ #, gcc-internal-format
+ msgid "%qs appears to be a misspelled interrupt handler"
+ msgstr "%qs imlası bozuk bir kesme eylemcisi gibi görünüyor"
+
+-#: config/avr/avr.c:4643
++#: config/avr/avr.c:4683
+ #, gcc-internal-format
+ msgid "%qs appears to be a misspelled signal handler"
+ msgstr "%qs imlası bozuk bir sinyal eylemcisi gibi görünüyor"
+
+-#: config/avr/avr.c:4751
++#: config/avr/avr.c:4791
+ #, gcc-internal-format
+ msgid "only uninitialized variables can be placed in the .noinit section"
+ msgstr ".noinit alanına sadece ilklendirilmiş değişkenler yerleştirilebilir"
+
+-#: config/avr/avr.c:4765
++#: config/avr/avr.c:4805
+ #, gcc-internal-format
+ msgid "MCU %qs supported for assembler only"
+ msgstr "MCU `%qs' sadece sembolik çevirici için desteklenir"
+
+-#: config/avr/avr.h:692
++#: config/avr/avr.h:731
+ #, gcc-internal-format
+ msgid "trampolines not supported"
+ msgstr "trampolines desteklenmiyor"
+
+-#: config/bfin/bfin.c:2259 config/m68k/m68k.c:488
++#: config/bfin/bfin.c:2352 config/m68k/m68k.c:488
+ #, gcc-internal-format
+ msgid "-mshared-library-id=%s is not between 0 and %d"
+ msgstr "-mshared-library-id=%s, 0 ile %d arasında değil"
+
+-#: config/bfin/bfin.c:2279
++#: config/bfin/bfin.c:2372
+ #, fuzzy, gcc-internal-format
+ msgid "-mcpu=%s is not valid"
+ msgstr "spec '%s' geçersiz"
+
+-#: config/bfin/bfin.c:2315
++#: config/bfin/bfin.c:2410
+ #, gcc-internal-format
+ msgid "-mcpu=%s has invalid silicon revision"
+ msgstr ""
+
+-#: config/bfin/bfin.c:2332
++#: config/bfin/bfin.c:2427
+ #, fuzzy, gcc-internal-format
+ msgid "bf561 support is incomplete yet."
+ msgstr "%qs alanı tamamlanmamış türde"
+
+-#: config/bfin/bfin.c:2372
++#: config/bfin/bfin.c:2470
+ #, gcc-internal-format
+ msgid "-mshared-library-id= specified without -mid-shared-library"
+ msgstr "-mshared-library-id= seçeneği -mid-shared-library olmaksızın belirtilmiş"
+
+-#: config/bfin/bfin.c:2378
++#: config/bfin/bfin.c:2473
+ #, fuzzy, gcc-internal-format
+ msgid "Can't use multiple stack checking methods together."
+ msgstr "Programa yığıt sınama kodu yerleştirilir"
+
+-#: config/bfin/bfin.c:2381
++#: config/bfin/bfin.c:2476
+ #, fuzzy, gcc-internal-format
+ msgid "ID shared libraries and FD-PIC mode can't be used together."
+ msgstr "-mips16 ve -mdsp birlikte kullanılamaz"
+
+-#: config/bfin/bfin.c:2386 config/m68k/m68k.c:582
++#: config/bfin/bfin.c:2481 config/m68k/m68k.c:582
+ #, gcc-internal-format
+ msgid "cannot specify both -msep-data and -mid-shared-library"
+ msgstr "hem -msep-data hem de -mid-shared-library belirtilemez"
+
+-#: config/bfin/bfin.c:4783
++#: config/bfin/bfin.c:4886
+ #, gcc-internal-format
+ msgid "multiple function type attributes specified"
+ msgstr "çok sayıda işlev türü öznitelik belirtilmiş"
+
+-#: config/bfin/bfin.c:4839 config/bfin/bfin.c:4868 config/spu/spu.c:2976
++#: config/bfin/bfin.c:4942 config/bfin/bfin.c:4971 config/spu/spu.c:2965
+ #, gcc-internal-format
+ msgid "`%s' attribute only applies to functions"
+ msgstr "%s özniteliği sadece işlevlere uygulanır"
+
+-#: config/bfin/bfin.c:4850
++#: config/bfin/bfin.c:4953
+ #, gcc-internal-format
+ msgid "can't apply both longcall and shortcall attributes to the same function"
+ msgstr "aynı işleve hem longcall hem de shortcall öznitelikleri uygulanamaz"
+
+-#: config/bfin/bfin.c:4900
++#: config/bfin/bfin.c:5003
+ #, fuzzy, gcc-internal-format
+ msgid "`%s' attribute only applies to variables"
+ msgstr "%qs özniteliği sadece değişkenlere uygulanır"
+
+-#: config/bfin/bfin.c:4907
++#: config/bfin/bfin.c:5010
+ #, fuzzy, gcc-internal-format
+ msgid "`%s' attribute cannot be specified for local variables"
+ msgstr "%Jbölüm özniteliği yerel değişkenler için belirtilmiş olamaz"
+
+-#: config/c4x/c4x-c.c:68
+-#, gcc-internal-format
+-msgid "missing '(' after '#pragma %s' - ignored"
+-msgstr "'#pragma %s' den sonra '(' eksik - yoksayıldı"
+-
+-#: config/c4x/c4x-c.c:71
+-#, gcc-internal-format
+-msgid "missing function name in '#pragma %s' - ignored"
+-msgstr "'#pragma %s' içinde işlev ismi eksik - yoksayıldı"
+-
+-#: config/c4x/c4x-c.c:76
+-#, gcc-internal-format
+-msgid "malformed '#pragma %s' - ignored"
+-msgstr "'#pragma %s' bozuk - yoksayıldı"
+-
+-#: config/c4x/c4x-c.c:78
+-#, gcc-internal-format
+-msgid "missing section name in '#pragma %s' - ignored"
+-msgstr "'#pragma %s' içinde bölüm ismi eksik - yoksayıldı"
+-
+-#: config/c4x/c4x-c.c:83
+-#, gcc-internal-format
+-msgid "missing ')' for '#pragma %s' - ignored"
+-msgstr "'#pragma %s' için ')' eksik - yoksayıldı"
+-
+-#: config/c4x/c4x-c.c:86
+-#, gcc-internal-format
+-msgid "junk at end of '#pragma %s'"
+-msgstr "'#pragma %s' sonrası karışık"
+-
+-#: config/c4x/c4x.c:859
+-#, gcc-internal-format
+-msgid "ISR %s requires %d words of local vars, max is 32767"
+-msgstr "ISR %s yerel değişkenlerin %d sözcüğünü gerektiriyor, azamisi 32767"
+-
+ #. This function is for retrieving a part of an instruction name for
+ #. an operator, for immediate output. If that ever happens for
+ #. MULT, we need to apply TARGET_MUL_BUG in the caller. Make sure
+ #. we notice.
+-#: config/cris/cris.c:434
++#: config/cris/cris.c:447
+ #, gcc-internal-format
+ msgid "MULT case in cris_op_str"
+ msgstr "cris_op_str içinde MULT durumu"
+
+-#: config/cris/cris.c:811
++#: config/cris/cris.c:837
+ #, gcc-internal-format
+ msgid "invalid use of ':' modifier"
+ msgstr "':' değiştirici kullanımı geçersiz"
+
+-#: config/cris/cris.c:983
++#: config/cris/cris.c:1024
+ #, gcc-internal-format
+ msgid "internal error: bad register: %d"
+ msgstr "iç hata: hatalı yazmaç: %d"
+
+-#: config/cris/cris.c:1524
++#: config/cris/cris.c:1586
+ #, gcc-internal-format
+ msgid "internal error: sideeffect-insn affecting main effect"
+ msgstr "iç hata: yan etkili komut main etkisi oluşturuyor"
+
+-#: config/cris/cris.c:1548
++#: config/cris/cris.c:1683
+ #, gcc-internal-format
+ msgid "unknown cc_attr value"
+ msgstr "bilinmeyen cc_attr deÄŸeri"
+
+ #. If we get here, the caller got its initial tests wrong.
+-#: config/cris/cris.c:1901
++#: config/cris/cris.c:2040
+ #, gcc-internal-format
+ msgid "internal error: cris_side_effect_mode_ok with bad operands"
+ msgstr "iç hata: hatalı terimli cris_side_effect_mode_ok"
+
+-#: config/cris/cris.c:2104
++#: config/cris/cris.c:2332
+ #, gcc-internal-format
+ msgid "-max-stackframe=%d is not usable, not between 0 and %d"
+ msgstr "-max-stackframe=%d, 0 ile %d arasında olmadığından kullanışsız"
+
+-#: config/cris/cris.c:2132
++#: config/cris/cris.c:2360
+ #, gcc-internal-format
+ msgid "unknown CRIS version specification in -march= or -mcpu= : %s"
+ msgstr "-march= veya -mcpu= seçenekleri ile belirtilen CRIS sürüm belirtimi bilinmiyor: %s"
+
+-#: config/cris/cris.c:2168
++#: config/cris/cris.c:2396
+ #, gcc-internal-format
+ msgid "unknown CRIS cpu version specification in -mtune= : %s"
+ msgstr "-mtune= seçeneği ile belirtilen CRIS işlemci sürümü belirtimi bilinmiyor: %s"
+
+-#: config/cris/cris.c:2186
++#: config/cris/cris.c:2417
+ #, gcc-internal-format
+ msgid "-fPIC and -fpic are not supported in this configuration"
+ msgstr "-fPIC ve -fpic bu yapılandırmada desteklenmiyor"
+
+-#: config/cris/cris.c:2201
++#: config/cris/cris.c:2432
+ #, gcc-internal-format
+ msgid "that particular -g option is invalid with -maout and -melinux"
+ msgstr "-g seçeneği, -maout ve -melinux ile geçersiz"
+
+-#: config/cris/cris.c:2414
++#: config/cris/cris.c:2658
+ #, gcc-internal-format
+ msgid "Unknown src"
+ msgstr "Bilinmeyen kaynak"
+
+-#: config/cris/cris.c:2475
++#: config/cris/cris.c:2719
+ #, gcc-internal-format
+ msgid "Unknown dest"
+ msgstr "Bilinmeyen hedef"
+
+-#: config/cris/cris.c:2760
++#: config/cris/cris.c:3004
+ #, gcc-internal-format
+ msgid "stackframe too big: %d bytes"
+ msgstr "yığıt kapsamı çok büyük: %d bayt"
+
+-#: config/cris/cris.c:3213 config/cris/cris.c:3240
++#: config/cris/cris.c:3498 config/cris/cris.c:3526
+ #, gcc-internal-format
+ msgid "expand_binop failed in movsi got"
+ msgstr ""
+
+-#: config/cris/cris.c:3321
++#: config/cris/cris.c:3607
+ #, gcc-internal-format
+ msgid "emitting PIC operand, but PIC register isn't set up"
+ msgstr "PIC terimi üretiliyor ama PIC yazmacı ayarlı değil"
+@@ -25090,7 +25059,7 @@
+ #. See cris.c for TARGET_ASM_FUNCTION_PROLOGUE and
+ #. TARGET_ASM_FUNCTION_EPILOGUE.
+ #. Node: Profiling
+-#: config/cris/cris.h:868
++#: config/cris/cris.h:948
+ #, gcc-internal-format
+ msgid "no FUNCTION_PROFILER for CRIS"
+ msgstr "CRIS için FUNCTION_PROFILER yok"
+@@ -25105,62 +25074,62 @@
+ msgid "Trampoline support for CRX"
+ msgstr "CRX için trampoline desteği"
+
+-#: config/frv/frv.c:8622
++#: config/frv/frv.c:8626
+ #, gcc-internal-format
+ msgid "accumulator is not a constant integer"
+ msgstr "birikeç bir tamsayı sabit değil"
+
+-#: config/frv/frv.c:8627
++#: config/frv/frv.c:8631
+ #, gcc-internal-format
+ msgid "accumulator number is out of bounds"
+ msgstr "birikeç sayısı sınırların dışında"
+
+-#: config/frv/frv.c:8638
++#: config/frv/frv.c:8642
+ #, gcc-internal-format
+ msgid "inappropriate accumulator for %qs"
+ msgstr "%qs için ilgisiz birikeç"
+
+-#: config/frv/frv.c:8715
++#: config/frv/frv.c:8719
+ #, gcc-internal-format
+ msgid "invalid IACC argument"
+ msgstr "IACC argümanı geçersiz"
+
+-#: config/frv/frv.c:8738
++#: config/frv/frv.c:8742
+ #, gcc-internal-format
+ msgid "%qs expects a constant argument"
+ msgstr "%qs için bir sabit argüman beklenir"
+
+-#: config/frv/frv.c:8743
++#: config/frv/frv.c:8747
+ #, gcc-internal-format
+ msgid "constant argument out of range for %qs"
+ msgstr "sabit argüman %qs için aralık dışında"
+
+-#: config/frv/frv.c:9224
++#: config/frv/frv.c:9228
+ #, gcc-internal-format
+ msgid "media functions are not available unless -mmedia is used"
+ msgstr "ortam işlevleri -mmedia kullanılmadıkça yararsızdır"
+
+-#: config/frv/frv.c:9236
++#: config/frv/frv.c:9240
+ #, gcc-internal-format
+ msgid "this media function is only available on the fr500"
+ msgstr "bu ortam işlevi sadece fr500 üzerinde kullanılabilir"
+
+-#: config/frv/frv.c:9264
++#: config/frv/frv.c:9268
+ #, gcc-internal-format
+ msgid "this media function is only available on the fr400 and fr550"
+ msgstr "bu ortam işlevi sadece fr400 ve fr550 üzerinde kullanılabilir"
+
+-#: config/frv/frv.c:9283
++#: config/frv/frv.c:9287
+ #, gcc-internal-format
+ msgid "this builtin function is only available on the fr405 and fr450"
+ msgstr "bu yerleşik işlev sadece fr405 ve fr450 üzerinde kullanılabilir"
+
+-#: config/frv/frv.c:9292
++#: config/frv/frv.c:9296
+ #, gcc-internal-format
+ msgid "this builtin function is only available on the fr500 and fr550"
+ msgstr "bu yerleşik işlev sadece fr500 ve fr550 üzerinde kullanılabilir"
+
+-#: config/frv/frv.c:9304
++#: config/frv/frv.c:9308
+ #, gcc-internal-format
+ msgid "this builtin function is only available on the fr450"
+ msgstr "bu yerleşik işlev sadece fr450 üzerinde kullanılabilir"
+@@ -25185,311 +25154,316 @@
+ msgid "can't set position in PCH file: %m"
+ msgstr "PCH dosyası içinde konum belirlenemiyor: %m"
+
+-#: config/i386/i386.c:2133 config/i386/i386.c:2333
++#: config/i386/i386.c:2158 config/i386/i386.c:2358
+ #, gcc-internal-format
+ msgid "bad value (%s) for -mtune= switch"
+ msgstr "-mtune= seçeneğinin değeri (%s) hatalı"
+
+-#: config/i386/i386.c:2174
++#: config/i386/i386.c:2199
+ #, fuzzy, gcc-internal-format
+ msgid "bad value (%s) for -mstringop-strategy= switch"
+ msgstr "-mtune= seçeneğinin değeri (%s) hatalı"
+
+-#: config/i386/i386.c:2177
++#: config/i386/i386.c:2202
+ #, gcc-internal-format
+ msgid "-mtune=x86-64 is deprecated. Use -mtune=k8 or -mtune=generic instead as appropriate."
+ msgstr ""
+
+-#: config/i386/i386.c:2186
++#: config/i386/i386.c:2211
+ #, fuzzy, gcc-internal-format
+ msgid "generic CPU can be used only for -mtune= switch"
+ msgstr "-mtune= seçeneğinin değeri (%s) hatalı"
+
+-#: config/i386/i386.c:2188 config/i386/i386.c:2297 config/mt/mt.c:804
++#: config/i386/i386.c:2213 config/i386/i386.c:2322 config/mt/mt.c:804
+ #, gcc-internal-format
+ msgid "bad value (%s) for -march= switch"
+ msgstr "-march= seçeneğinin değeri (%s) hatalı"
+
+-#: config/i386/i386.c:2199
++#: config/i386/i386.c:2224
+ #, fuzzy, gcc-internal-format
+ msgid "code model %s does not support PIC mode"
+ msgstr "PIC kipinde %s kod modeli desteklenmiyor"
+
+-#: config/i386/i386.c:2205 config/sparc/sparc.c:725
++#: config/i386/i386.c:2230 config/sparc/sparc.c:728
+ #, gcc-internal-format
+ msgid "bad value (%s) for -mcmodel= switch"
+ msgstr "-mcmodel= seçeneğinin değeri (%s) hatalı"
+
+-#: config/i386/i386.c:2228
++#: config/i386/i386.c:2253
+ #, gcc-internal-format
+ msgid "bad value (%s) for -masm= switch"
+ msgstr "-masm= seçeneğinin değeri (%s) hatalı"
+
+-#: config/i386/i386.c:2231
++#: config/i386/i386.c:2256
+ #, 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.c:2234
++#: config/i386/i386.c:2259
+ #, gcc-internal-format
+ msgid "%i-bit mode not compiled in"
+ msgstr "%i bitlik kip bunun içinde derlenmiş değil:"
+
+-#: config/i386/i386.c:2245 config/i386/i386.c:2319
++#: config/i386/i386.c:2270 config/i386/i386.c:2344
+ #, 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.c:2351
++#: config/i386/i386.c:2376
+ #, gcc-internal-format
+ msgid "-mregparm is ignored in 64-bit mode"
+ msgstr ""
+
+-#: config/i386/i386.c:2354
++#: config/i386/i386.c:2379
+ #, gcc-internal-format
+ msgid "-mregparm=%d is not between 0 and %d"
+ msgstr "-mregparm=%d, 0 ile %d arasında değil"
+
+-#: config/i386/i386.c:2366
++#: config/i386/i386.c:2391
+ #, gcc-internal-format
+ msgid "-malign-loops is obsolete, use -falign-loops"
+ msgstr "-malign-loops artık kullanılmıyor yerine -falign-loops kullanın"
+
+-#: config/i386/i386.c:2371 config/i386/i386.c:2384 config/i386/i386.c:2397
++#: config/i386/i386.c:2396 config/i386/i386.c:2409 config/i386/i386.c:2422
+ #, gcc-internal-format
+ msgid "-malign-loops=%d is not between 0 and %d"
+ msgstr "-malıgn-loops=%d, 0 ile %d arasında değil"
+
+-#: config/i386/i386.c:2379
++#: config/i386/i386.c:2404
+ #, gcc-internal-format
+ msgid "-malign-jumps is obsolete, use -falign-jumps"
+ msgstr "-malıgn-jumps artık atıl, yerine -falign-jumps kullanın"
+
+-#: config/i386/i386.c:2392
++#: config/i386/i386.c:2417
+ #, gcc-internal-format
+ msgid "-malign-functions is obsolete, use -falign-functions"
+ msgstr "-malign-functions artık atıl, yerine -falign-functions kullanın"
+
+-#: config/i386/i386.c:2425
++#: config/i386/i386.c:2450
+ #, gcc-internal-format
+ msgid "-mbranch-cost=%d is not between 0 and 5"
+ msgstr "-mbranch-cost=%d, 0 ile 5 arasında değil"
+
+-#: config/i386/i386.c:2433
++#: config/i386/i386.c:2458
+ #, gcc-internal-format
+ msgid "-mlarge-data-threshold=%d is negative"
+ msgstr "-mlarge-data-threshold=%d < 0"
+
+-#: config/i386/i386.c:2447
++#: config/i386/i386.c:2472
+ #, gcc-internal-format
+ msgid "bad value (%s) for -mtls-dialect= switch"
+ msgstr "-mtls-dialect= seçeneğinin değeri (%s) hatalı"
+
+-#: config/i386/i386.c:2455
++#: config/i386/i386.c:2480
+ #, gcc-internal-format
+ msgid "pc%d is not valid precision setting (32, 64 or 80)"
+ msgstr ""
+
+-#: config/i386/i386.c:2471
++#: config/i386/i386.c:2496
+ #, fuzzy, gcc-internal-format
+ msgid "-mrtd is ignored in 64bit mode"
+ msgstr "64 bitlik kipte -mrtd çağrı uzlaşımı desteklenmiyor"
+
+-#: config/i386/i386.c:2560
++#: config/i386/i386.c:2585
+ #, gcc-internal-format
+ msgid "-mpreferred-stack-boundary=%d is not between %d and 12"
+ msgstr "-mpreferred-stack-boundary=%d, %d ile 12 arasında değil"
+
+-#: config/i386/i386.c:2569
++#: config/i386/i386.c:2594
+ #, gcc-internal-format
+ msgid "-msseregparm used without SSE enabled"
+ msgstr "-msseregparm SSE etkin değilken kullanılmış"
+
+-#: config/i386/i386.c:2580 config/i386/i386.c:2591
++#: config/i386/i386.c:2605 config/i386/i386.c:2616
+ #, 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.c:2596
++#: config/i386/i386.c:2621
+ #, 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.c:2603
++#: config/i386/i386.c:2628
+ #, gcc-internal-format
+ msgid "bad value (%s) for -mfpmath= switch"
+ msgstr "-mfpmath= seçeneğinin değeri (%s) hatalı"
+
+-#: config/i386/i386.c:2616
++#: config/i386/i386.c:2641
+ #, gcc-internal-format
+ msgid "unknown vectorization library ABI type (%s) for -mveclibabi= switch"
+ msgstr ""
+
+-#: config/i386/i386.c:2635
++#: config/i386/i386.c:2660
+ #, gcc-internal-format
+ msgid "unwind tables currently require either a frame pointer or -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.c:3022 config/i386/i386.c:3075
++#: config/i386/i386.c:3053 config/i386/i386.c:3106
+ #, gcc-internal-format
+ msgid "fastcall and regparm attributes are not compatible"
+ msgstr "fastcall ve regparm öznitelikleri uyumlu değil"
+
+-#: config/i386/i386.c:3029
++#: config/i386/i386.c:3060
+ #, gcc-internal-format
+ msgid "%qs attribute requires an integer constant argument"
+ msgstr "%qs özniteliği bir tamsayı sabit argüman gerektirir"
+
+-#: config/i386/i386.c:3035
++#: config/i386/i386.c:3066
+ #, gcc-internal-format
+ msgid "argument to %qs attribute larger than %d"
+ msgstr "%qs özniteliğine argüman %d den büyük"
+
+-#: config/i386/i386.c:3045
++#: config/i386/i386.c:3076
+ #, gcc-internal-format
+ msgid "%s functions limited to %d register parameters"
+ msgstr ""
+
+-#: config/i386/i386.c:3067 config/i386/i386.c:3102
++#: config/i386/i386.c:3098 config/i386/i386.c:3133
+ #, gcc-internal-format
+ msgid "fastcall and cdecl attributes are not compatible"
+ msgstr "fastcall ve cdecl öznitelikleri uyumsuz"
+
+-#: config/i386/i386.c:3071
++#: config/i386/i386.c:3102
+ #, gcc-internal-format
+ msgid "fastcall and stdcall attributes are not compatible"
+ msgstr "fastcall ve stdcall öznitelikleri uyumsuz"
+
+-#: config/i386/i386.c:3085 config/i386/i386.c:3098
++#: config/i386/i386.c:3116 config/i386/i386.c:3129
+ #, gcc-internal-format
+ msgid "stdcall and cdecl attributes are not compatible"
+ msgstr "stdcall ve cdecl öznitelikleri uyumsuz"
+
+-#: config/i386/i386.c:3089
++#: config/i386/i386.c:3120
+ #, gcc-internal-format
+ msgid "stdcall and fastcall attributes are not compatible"
+ msgstr "fastcall ve stdcall öznitelikleri uyumsuz"
+
+-#: config/i386/i386.c:3236
++#: config/i386/i386.c:3271
+ #, gcc-internal-format
+ 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.c:3239
++#: config/i386/i386.c:3274
+ #, gcc-internal-format
+ 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.c:3925
++#: config/i386/i386.c:3971
+ #, gcc-internal-format
+ msgid "SSE register return with SSE disabled"
+ msgstr "SSE etkin değilken SSE yazmaç dönüşü"
+
+-#: config/i386/i386.c:3931
++#: config/i386/i386.c:3977
+ #, gcc-internal-format
+ msgid "SSE register argument with SSE disabled"
+ msgstr "SSE etkin değilken SSE yazmaç argümanı"
+
+-#: config/i386/i386.c:3947
++#: config/i386/i386.c:3993
+ #, fuzzy, gcc-internal-format
+ msgid "x87 register return with x87 disabled"
+ msgstr "SSE etkin değilken SSE yazmaç dönüşü"
+
+-#: config/i386/i386.c:4265
++#: config/i386/i386.c:4314
+ #, 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.c:4283
++#: config/i386/i386.c:4332
+ #, 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.c:4810
++#: config/i386/i386.c:4859
+ #, 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.c:4820
++#: config/i386/i386.c:4869
+ #, 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.c:6171
++#: config/i386/i386.c:6220
+ #, fuzzy, gcc-internal-format
+ msgid "-mstackrealign ignored for nested functions"
+ msgstr "Her işlev için bir yığıt koruma yöntemi kullanılır"
+
+-#: config/i386/i386.c:6173
++#: config/i386/i386.c:6222
+ #, fuzzy, gcc-internal-format
+ msgid "%s not supported for nested functions"
+ msgstr "tümevarım için destek yok"
+
+-#: config/i386/i386.c:8576
++#: config/i386/i386.c:8631
+ #, gcc-internal-format
+ msgid "extended registers have no high halves"
+ msgstr "ek yazmaçların yüksek yarıları yok"
+
+-#: config/i386/i386.c:8591
++#: config/i386/i386.c:8646
+ #, gcc-internal-format
+ msgid "unsupported operand size for extended register"
+ msgstr "ek yazmaç için desteklenmeyen terim boyutu"
+
+-#: config/i386/i386.c:19610
++#: config/i386/i386.c:19694
+ #, fuzzy, gcc-internal-format
+ msgid "the third argument must be a 4-bit immediate"
+ msgstr "3. argüman 4 bitlik bir işaretsiz sabit olmalı"
+
+-#: config/i386/i386.c:19614
++#: config/i386/i386.c:19698
+ #, fuzzy, gcc-internal-format
+ msgid "the third argument must be an 8-bit immediate"
+ msgstr "1. argüman 5 bitlik bir işaretli sabit olmalı"
+
+-#: config/i386/i386.c:19836
++#: config/i386/i386.c:19920
+ #, fuzzy, gcc-internal-format
+ msgid "last argument must be an immediate"
+ msgstr "mask bir anlık değer olmalı"
+
+-#: config/i386/i386.c:19963
++#: config/i386/i386.c:20047
+ #, fuzzy, gcc-internal-format
+ msgid "the second argument must be a 4-bit immediate"
+ msgstr "3. argüman 4 bitlik bir işaretsiz sabit olmalı"
+
+-#: config/i386/i386.c:20209
++#: config/i386/i386.c:20293
+ #, fuzzy, gcc-internal-format
+ msgid "the fifth argument must be a 8-bit immediate"
+ msgstr "1. argüman 5 bitlik bir işaretli sabit olmalı"
+
+-#: config/i386/i386.c:20304
++#: config/i386/i386.c:20388
+ #, fuzzy, gcc-internal-format
+ msgid "the third argument must be a 8-bit immediate"
+ msgstr "1. argüman 5 bitlik bir işaretli sabit olmalı"
+
+-#: config/i386/i386.c:20374 config/rs6000/rs6000.c:8133
++#: config/i386/i386.c:20458 config/rs6000/rs6000.c:8240
+ #, gcc-internal-format
+ msgid "selector must be an integer constant in the range 0..%wi"
+ msgstr "seçici 0..%wi aralığında bir tamsayı sabit olmalı"
+
+-#: config/i386/i386.c:20774 config/i386/i386.c:20970
++#: config/i386/i386.c:20858 config/i386/i386.c:21054
+ #, gcc-internal-format
+ msgid "shift must be an immediate"
+ msgstr "shift bir anlık değer olmalı"
+
+-#: config/i386/i386.c:21033 config/i386/i386.c:21075
++#: config/i386/i386.c:21117 config/i386/i386.c:21159
+ #, fuzzy, gcc-internal-format
+ msgid "index mask must be an immediate"
+ msgstr "mask bir anlık değer olmalı"
+
+-#: config/i386/i386.c:21038 config/i386/i386.c:21080
++#: config/i386/i386.c:21122 config/i386/i386.c:21164
+ #, fuzzy, gcc-internal-format
+ msgid "length mask must be an immediate"
+ msgstr "mask bir anlık değer olmalı"
+
+-#: config/i386/i386.c:22525 config/rs6000/rs6000.c:19666
++#: config/i386/i386.c:22609 config/rs6000/rs6000.c:19883
+ #, gcc-internal-format
+ msgid "%qs incompatible attribute ignored"
+ msgstr "%qs uyumsuz özniteliği yoksayıldı"
+
++#: config/i386/netware.c:253
++#, fuzzy, gcc-internal-format
++msgid "-fPIC and -fpic are not supported for this target"
++msgstr "-fPIC ve -fpic bu yapılandırmada desteklenmiyor"
++
+ #: config/i386/winnt-cxx.c:71 config/sh/symbian.c:172
+ #, gcc-internal-format
+ msgid "definition of static data member %q+D of dllimport'd class"
+@@ -25555,57 +25529,57 @@
+ msgid "%Jaddress area attribute cannot be specified for functions"
+ msgstr "%Jadres alanı özelliği işlevler için belirtilemez"
+
+-#: config/ia64/ia64.c:5126 config/pa/pa.c:347 config/spu/spu.c:3875
++#: config/ia64/ia64.c:5127 config/pa/pa.c:350 config/spu/spu.c:3864
+ #, gcc-internal-format
+ msgid "value of -mfixed-range must have form REG1-REG2"
+ msgstr "-mfixed-range için değer YAZMAC1-YAZMAC2 şeklinde olmalı"
+
+-#: config/ia64/ia64.c:5153 config/pa/pa.c:374 config/spu/spu.c:3901
++#: config/ia64/ia64.c:5154 config/pa/pa.c:377 config/spu/spu.c:3890
+ #, gcc-internal-format
+ msgid "%s-%s is an empty range"
+ msgstr "%s-%s aralığı boş"
+
+-#: config/ia64/ia64.c:5181
++#: config/ia64/ia64.c:5182
+ #, gcc-internal-format
+ msgid "bad value %<%s%> for -mtls-size= switch"
+ msgstr "-mtls-size= seçeneğinin değeri %<%s%> hatalı"
+
+-#: config/ia64/ia64.c:5209
++#: config/ia64/ia64.c:5210
+ #, gcc-internal-format
+ msgid "bad value %<%s%> for -mtune= switch"
+ msgstr "-mtune= seçeneğinin değeri %<%s%> hatalı"
+
+-#: config/ia64/ia64.c:5228
++#: config/ia64/ia64.c:5229
+ #, gcc-internal-format
+ msgid "not yet implemented: latency-optimized inline square root"
+ msgstr "henüz gerçeklenmedi: gecikme eniyilemeli satıriçi karekök alma"
+
+-#: config/ia64/ia64.c:9950
++#: config/ia64/ia64.c:9951
+ #, fuzzy, gcc-internal-format
+ msgid "version attribute is not a string"
+ msgstr "%qs özniteliğinin argümanı bir dizge sabiti değil"
+
+-#: config/iq2000/iq2000.c:1812
++#: config/iq2000/iq2000.c:1816
+ #, gcc-internal-format
+ msgid "gp_offset (%ld) or end_offset (%ld) is less than zero"
+ msgstr "gp_offset (%ld) veya end_offset (%ld) sıfırdan küçük."
+
+-#: config/iq2000/iq2000.c:2583
++#: config/iq2000/iq2000.c:2587
+ #, gcc-internal-format
+ msgid "argument %qd is not a constant"
+ msgstr "%qd argümanı bir sabit değil"
+
+-#: config/iq2000/iq2000.c:2885 config/mt/mt.c:349 config/xtensa/xtensa.c:2118
++#: config/iq2000/iq2000.c:2889 config/mt/mt.c:349 config/xtensa/xtensa.c:2124
+ #, gcc-internal-format
+ msgid "PRINT_OPERAND_ADDRESS, null pointer"
+ msgstr "PRINT_OPERAND_ADDRESS, boş gösterici"
+
+-#: config/iq2000/iq2000.c:3040
++#: config/iq2000/iq2000.c:3044
+ #, gcc-internal-format
+ msgid "PRINT_OPERAND: Unknown punctuation '%c'"
+ msgstr "PRINT_OPERAND: '%c' noktalaması bilinmiyor"
+
+-#: config/iq2000/iq2000.c:3049 config/xtensa/xtensa.c:1972
++#: config/iq2000/iq2000.c:3053 config/xtensa/xtensa.c:1978
+ #, gcc-internal-format
+ msgid "PRINT_OPERAND null pointer"
+ msgstr "PRINT_OPERAND boş gösterici"
+@@ -25630,22 +25604,22 @@
+ msgid "invalid target memregs value '%d'"
+ msgstr "hedef memregs değeri '%d' geçersiz"
+
+-#: config/m32c/m32c.c:2759
++#: config/m32c/m32c.c:2766
+ #, fuzzy, gcc-internal-format
+ msgid "`%s' attribute is not supported for R8C target"
+ msgstr "%Jbölüm öznitelikleri bu hedef için desteklenmiyor"
+
+-#: config/m32c/m32c.c:2767
++#: config/m32c/m32c.c:2774
+ #, fuzzy, gcc-internal-format
+ msgid "`%s' attribute applies only to functions"
+ msgstr "%J%qE özniteliği sadece işlevlere uygulanır"
+
+-#: config/m32c/m32c.c:2775
++#: config/m32c/m32c.c:2782
+ #, fuzzy, gcc-internal-format
+ msgid "`%s' attribute argument not an integer constant"
+ msgstr "%qs öznitelik argümanı bir tamsayı sabit değil"
+
+-#: config/m32c/m32c.c:2784
++#: config/m32c/m32c.c:2791
+ #, fuzzy, gcc-internal-format
+ msgid "`%s' attribute argument should be between 18 to 255"
+ msgstr "%qs öznitelik argümanı bir tamsayı sabit değil"
+@@ -25695,7 +25669,7 @@
+ msgid "interrupt_thread is available only on fido"
+ msgstr ""
+
+-#: config/m68k/m68k.c:1072 config/rs6000/rs6000.c:15014
++#: config/m68k/m68k.c:1072 config/rs6000/rs6000.c:15226
+ #, gcc-internal-format
+ msgid "stack limit expression is not supported"
+ msgstr "yığıt sınırlama ifadesi desteklenmiyor"
+@@ -25710,114 +25684,114 @@
+ msgid "%qs redeclared with conflicting %qs attributes"
+ msgstr "%s özniteliği ile %s özniteliği %L'de çelişiyor"
+
+-#: config/mips/mips.c:2348
++#: config/mips/mips.c:2382
+ #, gcc-internal-format
+ msgid "MIPS16 TLS"
+ msgstr ""
+
+-#: config/mips/mips.c:5439
++#: config/mips/mips.c:5500
+ #, gcc-internal-format
+ msgid "cannot handle inconsistent calls to %qs"
+ msgstr "tutarsız %qs çağrıları elde edilemez"
+
+-#: config/mips/mips.c:10258
++#: config/mips/mips.c:10337
+ #, fuzzy, gcc-internal-format
+ msgid "invalid argument to built-in function"
+ msgstr "yerleşik işleve aktarılan argüman geçersiz"
+
+-#: config/mips/mips.c:10530
++#: config/mips/mips.c:10609
+ #, fuzzy, gcc-internal-format
+ msgid "built-in function %qs not supported for MIPS16"
+ msgstr "ms bit alanları objc için desteklenmiyor"
+
+-#: config/mips/mips.c:11679 config/mips/mips.c:12065
++#: config/mips/mips.c:11751 config/mips/mips.c:12137
+ #, gcc-internal-format
+ msgid "MIPS16 PIC"
+ msgstr ""
+
+-#: config/mips/mips.c:11682
++#: config/mips/mips.c:11754
+ #, gcc-internal-format
+ msgid "hard-float MIPS16 code for ABIs other than o32 and o64"
+ msgstr ""
+
+-#: config/mips/mips.c:11810
++#: config/mips/mips.c:11882
+ #, fuzzy, gcc-internal-format
+ msgid "CPU names must be lower case"
+ msgstr "işlemci ismi küçük harflerle yazılmalıdır"
+
+-#: config/mips/mips.c:11938
++#: config/mips/mips.c:12010
+ #, fuzzy, gcc-internal-format
+ msgid "%<-%s%> conflicts with the other architecture options, which specify a %s processor"
+ msgstr "bir %2$s işlemci belirten diğer mimarı seçenekleri ile -%1$s çelişiyor"
+
+-#: config/mips/mips.c:11954
++#: config/mips/mips.c:12026
+ #, fuzzy, gcc-internal-format
+ msgid "%<-march=%s%> is not compatible with the selected ABI"
+ msgstr "-march=%s seçilen ABI ile uyumsuz"
+
+-#: config/mips/mips.c:11969
++#: config/mips/mips.c:12041
+ #, fuzzy, gcc-internal-format
+ msgid "%<-mgp64%> used with a 32-bit processor"
+ msgstr "-mgp64 bir 32-bit işlemci ile kullanılmış"
+
+-#: config/mips/mips.c:11971
++#: config/mips/mips.c:12043
+ #, fuzzy, gcc-internal-format
+ msgid "%<-mgp32%> used with a 64-bit ABI"
+ msgstr "-mgp32 bir 64-bit ABI ile kullanılmış"
+
+-#: config/mips/mips.c:11973
++#: config/mips/mips.c:12045
+ #, fuzzy, gcc-internal-format
+ msgid "%<-mgp64%> used with a 32-bit ABI"
+ msgstr "-mgp64 bir 32-bit ABI ile kullanılmış"
+
+-#: config/mips/mips.c:11989 config/mips/mips.c:11991 config/mips/mips.c:12058
++#: config/mips/mips.c:12061 config/mips/mips.c:12063 config/mips/mips.c:12130
+ #, gcc-internal-format
+ msgid "unsupported combination: %s"
+ msgstr "desteklenmeyen birleÅŸim: %s"
+
+-#: config/mips/mips.c:11995
++#: config/mips/mips.c:12067
+ #, gcc-internal-format
+ msgid "%<-mgp32%> and %<-mfp64%> can only be combined if the target supports the mfhc1 and mthc1 instructions"
+ msgstr ""
+
+-#: config/mips/mips.c:11998
++#: config/mips/mips.c:12070
+ #, gcc-internal-format
+ msgid "%<-mgp32%> and %<-mfp64%> can only be combined when using the o32 ABI"
+ msgstr ""
+
+-#: config/mips/mips.c:12052
++#: config/mips/mips.c:12124
+ #, fuzzy, gcc-internal-format
+ msgid "the %qs architecture does not support branch-likely instructions"
+ msgstr "hedef işlemci THUMB komutlarını desteklemiyor"
+
+-#: config/mips/mips.c:12098
++#: config/mips/mips.c:12170
+ #, gcc-internal-format
+ msgid "%<-mno-gpopt%> needs %<-mexplicit-relocs%>"
+ msgstr ""
+
+-#: config/mips/mips.c:12106 config/mips/mips.c:12109
++#: config/mips/mips.c:12178 config/mips/mips.c:12181
+ #, gcc-internal-format
+ msgid "cannot use small-data accesses for %qs"
+ msgstr ""
+
+-#: config/mips/mips.c:12123
++#: config/mips/mips.c:12195
+ #, fuzzy, gcc-internal-format
+ msgid "%<-mips3d%> requires %<-mpaired-single%>"
+ msgstr "-mips3d seçeneği -mpaired-single gerektirir"
+
+-#: config/mips/mips.c:12132
++#: config/mips/mips.c:12204
+ #, fuzzy, gcc-internal-format
+ msgid "%qs must be used with %qs"
+ msgstr "-frepo, -c ile kullanilmalı"
+
+-#: config/mips/mips.c:12139
++#: config/mips/mips.c:12211
+ #, fuzzy, gcc-internal-format
+ msgid "the %qs architecture does not support paired-single instructions"
+ msgstr "hedef işlemci THUMB komutlarını desteklemiyor"
+
+ #. Output assembler code to FILE to increment profiler label # LABELNO
+ #. for profiling a function entry.
+-#: config/mips/mips.h:2110
++#: config/mips/mips.h:2111
+ #, gcc-internal-format
+ msgid "mips16 function profiling"
+ msgstr "mips16 işlev ayrımlama"
+@@ -25847,28 +25821,28 @@
+ msgid "MMIX Internal: Last named vararg would not fit in a register"
+ msgstr "MMIX Dahili: Son isimli argüman bir yazmaça sığmamalıydı"
+
+-#: config/mmix/mmix.c:1495 config/mmix/mmix.c:1519 config/mmix/mmix.c:1635
++#: config/mmix/mmix.c:1491 config/mmix/mmix.c:1515 config/mmix/mmix.c:1631
+ #, gcc-internal-format
+ msgid "MMIX Internal: Bad register: %d"
+ msgstr "MMIX Dahili: Hatalı yazmaç: %d"
+
+ #. Presumably there's a missing case above if we get here.
+-#: config/mmix/mmix.c:1627
++#: config/mmix/mmix.c:1623
+ #, gcc-internal-format
+ msgid "MMIX Internal: Missing %qc case in mmix_print_operand"
+ msgstr "MMIX Dahili: mmix_print_operand içindeki %qc case eksik"
+
+-#: config/mmix/mmix.c:1913
++#: config/mmix/mmix.c:1909
+ #, gcc-internal-format
+ msgid "stack frame not a multiple of 8 bytes: %wd"
+ msgstr "yığıt bağlamı 8 baytın katları değil: %wd"
+
+-#: config/mmix/mmix.c:2149
++#: config/mmix/mmix.c:2145
+ #, gcc-internal-format
+ msgid "stack frame not a multiple of octabyte: %wd"
+ msgstr "yığıt bağlamı sekiz bitlik baytın katları değil: %wd"
+
+-#: config/mmix/mmix.c:2489 config/mmix/mmix.c:2553
++#: config/mmix/mmix.c:2485 config/mmix/mmix.c:2549
+ #, gcc-internal-format
+ msgid "MMIX Internal: %s is not a shiftable int"
+ msgstr "MMIX Dahili: %s bir biti kaydırılabilir tamsayı değil"
+@@ -25878,27 +25852,27 @@
+ msgid "info pointer NULL"
+ msgstr "info göstericisi NULL"
+
+-#: config/pa/pa.c:479
++#: config/pa/pa.c:482
+ #, gcc-internal-format
+ msgid "PIC code generation is not supported in the portable runtime model"
+ msgstr "PIC kod üretimi uyarlanabilir çalışma anı modelinde desteklenmez"
+
+-#: config/pa/pa.c:484
++#: config/pa/pa.c:487
+ #, gcc-internal-format
+ msgid "PIC code generation is not compatible with fast indirect calls"
+ msgstr "PIC kod üretimi hızlı dolaylı çağrılar ile uyumlu değildir"
+
+-#: config/pa/pa.c:489
++#: config/pa/pa.c:492
+ #, gcc-internal-format
+ msgid "-g is only supported when using GAS on this processor,"
+ msgstr "-g sadece bu işlemci üzerinde GAS kullanıldığında desteklenir,"
+
+-#: config/pa/pa.c:490
++#: config/pa/pa.c:493
+ #, gcc-internal-format
+ msgid "-g option disabled"
+ msgstr "-g seçeneği iptal edildi"
+
+-#: config/pa/pa.c:8285
++#: config/pa/pa.c:8373
+ #, gcc-internal-format
+ msgid "alignment (%u) for %s exceeds maximum alignment for global common data. Using %u"
+ msgstr "hizalama (%u) %s için genel ortak veri azami hizalamasını aşıyor. %u kullanılıyor"
+@@ -25967,250 +25941,251 @@
+ msgid "junk at end of #pragma longcall"
+ msgstr "'#pragma longcall' sonunda karışıklik"
+
+-#: config/rs6000/rs6000-c.c:2550
++#: config/rs6000/rs6000-c.c:2553
+ #, fuzzy, gcc-internal-format
+ msgid "passing arg %d of %qE discards qualifiers frompointer target type"
+ msgstr "%2$qE işlevinin %1$d. argümanın aktarımı gösterici hedef türündeki niteleyicileri iptal ediyor"
+
+-#: config/rs6000/rs6000-c.c:2593
++#: config/rs6000/rs6000-c.c:2596
+ #, gcc-internal-format
+ msgid "invalid parameter combination for AltiVec intrinsic"
+ msgstr "AltiVec yerleşiği için parametre birleşimi geçersiz"
+
+-#: config/rs6000/rs6000.c:1294
++#: config/rs6000/rs6000.c:1312
+ #, gcc-internal-format
+ msgid "-mdynamic-no-pic overrides -fpic or -fPIC"
+ msgstr "-mdynamic-no-pic seçeneği -fpic veya -fPIC seçeneklerini iptal eder"
+
+-#: config/rs6000/rs6000.c:1305
++#: config/rs6000/rs6000.c:1323
+ #, gcc-internal-format
+ msgid "-m64 requires PowerPC64 architecture, enabling"
+ msgstr "-m64 seçeneği PowerPC64 mimarisini gerektirir, etkinleştiriliyor"
+
+-#: config/rs6000/rs6000.c:1528
++#: config/rs6000/rs6000.c:1546
+ #, gcc-internal-format
+ msgid "-mmultiple is not supported on little endian systems"
+ msgstr "-mmultiple kıymetsiz baytın başta olduğu sistemlerde desteklenmez"
+
+-#: config/rs6000/rs6000.c:1535
++#: config/rs6000/rs6000.c:1553
+ #, gcc-internal-format
+ msgid "-mstring is not supported on little endian systems"
+ msgstr "-mstring kıymetsiz baytın başta olduğu sistemlerde desteklenmez"
+
+-#: config/rs6000/rs6000.c:1549
++#: config/rs6000/rs6000.c:1567
+ #, gcc-internal-format
+ msgid "unknown -mdebug-%s switch"
+ msgstr "-mdebug-%s seçeneği bilinmiyor"
+
+-#: config/rs6000/rs6000.c:1561
++#: config/rs6000/rs6000.c:1579
+ #, gcc-internal-format
+ msgid "unknown -mtraceback arg %qs; expecting %<full%>, %<partial%> or %<none%>"
+ msgstr "-mtraceback ile verilen %qs bilinmiyor; %<full%>, %<partial%> veya %<none%> umuluyor"
+
+-#: config/rs6000/rs6000.c:1973
++#: config/rs6000/rs6000.c:2003
+ #, gcc-internal-format
+ msgid "unknown -m%s= option specified: '%s'"
+ msgstr "bilinmeyen -m%s= seçeneği belirtilmiş: '%s'"
+
+-#: config/rs6000/rs6000.c:2186
++#: config/rs6000/rs6000.c:2218
+ #, gcc-internal-format
+ msgid "not configured for ABI: '%s'"
+ msgstr "ABI için yapılandırılmadı: '%s'"
+
+-#: config/rs6000/rs6000.c:2199
++#: config/rs6000/rs6000.c:2231
+ #, gcc-internal-format
+ msgid "Using darwin64 ABI"
+ msgstr "darwin64 ABI kullanılıyor"
+
+-#: config/rs6000/rs6000.c:2204
++#: config/rs6000/rs6000.c:2236
+ #, gcc-internal-format
+ msgid "Using old darwin ABI"
+ msgstr "Eski darwin ABI kullanılıyor"
+
+-#: config/rs6000/rs6000.c:2211
++#: config/rs6000/rs6000.c:2243
+ #, gcc-internal-format
+ msgid "Using IBM extended precision long double"
+ msgstr "IBM ek duyarlıklı long double kullanılıyor"
+
+-#: config/rs6000/rs6000.c:2217
++#: config/rs6000/rs6000.c:2249
+ #, gcc-internal-format
+ msgid "Using IEEE extended precision long double"
+ msgstr "IEEE ek duyarlıklı long double kullanılıyor"
+
+-#: config/rs6000/rs6000.c:2222
++#: config/rs6000/rs6000.c:2254
+ #, gcc-internal-format
+ msgid "unknown ABI specified: '%s'"
+ msgstr "bilinmeyen ABI belirtilmiÅŸ: '%s'"
+
+-#: config/rs6000/rs6000.c:2249
++#: config/rs6000/rs6000.c:2281
+ #, gcc-internal-format
+ msgid "invalid option for -mfloat-gprs: '%s'"
+ msgstr "-mfloat-gprs için seçenek geçersiz: '%s'"
+
+-#: config/rs6000/rs6000.c:2259
++#: config/rs6000/rs6000.c:2291
+ #, gcc-internal-format
+ msgid "Unknown switch -mlong-double-%s"
+ msgstr "-mlong-double-%s seçeneği bilinmiyor"
+
+-#: config/rs6000/rs6000.c:2280
++#: config/rs6000/rs6000.c:2312
+ #, gcc-internal-format
+ msgid "-malign-power is not supported for 64-bit Darwin; it is incompatible with the installed C and C++ libraries"
+ msgstr "-malign-power 64 bitlik Darwin için desteklenmiyor; kurulu C ve C++ kütüphaneleri ile uyumsuz"
+
+-#: config/rs6000/rs6000.c:2288
++#: config/rs6000/rs6000.c:2320
+ #, gcc-internal-format
+ msgid "unknown -malign-XXXXX option specified: '%s'"
+ msgstr "bilinmeyen -malign-XXXXX seçeneği belirtilmiş: '%s'"
+
+-#: config/rs6000/rs6000.c:4989
++#: config/rs6000/rs6000.c:5087
+ #, gcc-internal-format
+ msgid "GCC vector returned by reference: non-standard ABI extension with no compatibility guarantee"
+ msgstr "GCC vektörü başvurusu tarafından döndürüldü: bir uyumluluk garanti etmeksizin standartdışı ABI eklentisi"
+
+-#: config/rs6000/rs6000.c:5062
++#: config/rs6000/rs6000.c:5160
+ #, gcc-internal-format
+ msgid "cannot return value in vector register because altivec instructions are disabled, use -maltivec to enable them"
+ msgstr "AltiVec komutları iptal edildiğinden vektör yazmaçındaki değer döndürülemez, komutları etkinleştirmek için -maltivec kullanın"
+
+-#: config/rs6000/rs6000.c:5320
++#: config/rs6000/rs6000.c:5418
+ #, gcc-internal-format
+ msgid "cannot pass argument in vector register because altivec instructions are disabled, use -maltivec to enable them"
+ msgstr "AltiVec komutları iptal edildiğinden vektör yazmacındaki argüman aktarılamaz, komutları etkinleştirmek için -maltivec kullanın"
+
+-#: config/rs6000/rs6000.c:6221
++#: config/rs6000/rs6000.c:6322
+ #, gcc-internal-format
+ msgid "GCC vector passed by reference: non-standard ABI extension with no compatibility guarantee"
+ msgstr "GCC vektörü başvurusu tarafından aktarıldı: bir uyumluluk garanti etmeksizin standartdışı ABI eklentisi"
+
+-#: config/rs6000/rs6000.c:7461
++#: config/rs6000/rs6000.c:7568
+ #, gcc-internal-format
+ msgid "argument 1 must be a 5-bit signed literal"
+ msgstr "1. argüman 5 bitlik bir işaretli sabit olmalı"
+
+-#: config/rs6000/rs6000.c:7564 config/rs6000/rs6000.c:8475
++#: config/rs6000/rs6000.c:7671 config/rs6000/rs6000.c:8582
+ #, gcc-internal-format
+ msgid "argument 2 must be a 5-bit unsigned literal"
+ msgstr "2. argüman 5 bitlik bir işaretsiz sabit olmalı"
+
+-#: config/rs6000/rs6000.c:7604
++#: config/rs6000/rs6000.c:7711
+ #, gcc-internal-format
+ msgid "argument 1 of __builtin_altivec_predicate must be a constant"
+ msgstr "__builtin_altivec_predicate'in 1. argümanı bir sabit olmalı"
+
+-#: config/rs6000/rs6000.c:7657
++#: config/rs6000/rs6000.c:7764
+ #, gcc-internal-format
+ msgid "argument 1 of __builtin_altivec_predicate is out of range"
+ msgstr "__builtin_altivec_predicate'in 1. argümanı aralık dışında"
+
+-#: config/rs6000/rs6000.c:7906
++#: config/rs6000/rs6000.c:8013
+ #, gcc-internal-format
+ msgid "argument 3 must be a 4-bit unsigned literal"
+ msgstr "3. argüman 4 bitlik bir işaretsiz sabit olmalı"
+
+-#: config/rs6000/rs6000.c:8078
++#: config/rs6000/rs6000.c:8185
+ #, gcc-internal-format
+ msgid "argument to %qs must be a 2-bit unsigned literal"
+ msgstr "%qs argümanı 2 bitlik işaretsiz bir sabit olmalı"
+
+-#: config/rs6000/rs6000.c:8220
++#: config/rs6000/rs6000.c:8327
+ #, gcc-internal-format
+ msgid "unresolved overload for Altivec builtin %qF"
+ msgstr "Altivec yerleşiği %qF için çözümlenmemiş aşırı yükleme"
+
+-#: config/rs6000/rs6000.c:8302
++#: config/rs6000/rs6000.c:8409
+ #, gcc-internal-format
+ msgid "argument to dss must be a 2-bit unsigned literal"
+ msgstr "dss argümanı 2 bitlik işaretsiz bir sabit olmalı"
+
+-#: config/rs6000/rs6000.c:8595
++#: config/rs6000/rs6000.c:8702
+ #, fuzzy, gcc-internal-format
+ msgid "argument 1 of __builtin_paired_predicate must be a constant"
+ msgstr "__builtin_spe_predicate'in 1. argümanı bir sabit olmalı"
+
+-#: config/rs6000/rs6000.c:8642
++#: config/rs6000/rs6000.c:8749
+ #, fuzzy, gcc-internal-format
+ msgid "argument 1 of __builtin_paired_predicate is out of range"
+ msgstr "__builtin_spe_predicate'in 1. argümanı aralık dışında"
+
+-#: config/rs6000/rs6000.c:8667
++#: config/rs6000/rs6000.c:8774
+ #, gcc-internal-format
+ msgid "argument 1 of __builtin_spe_predicate must be a constant"
+ msgstr "__builtin_spe_predicate'in 1. argümanı bir sabit olmalı"
+
+-#: config/rs6000/rs6000.c:8739
++#: config/rs6000/rs6000.c:8846
+ #, gcc-internal-format
+ msgid "argument 1 of __builtin_spe_predicate is out of range"
+ msgstr "__builtin_spe_predicate'in 1. argümanı aralık dışında"
+
+-#: config/rs6000/rs6000.c:14977
++#: config/rs6000/rs6000.c:15189
+ #, gcc-internal-format
+ msgid "stack frame too large"
+ msgstr "yığıt çerçevesi çok büyük"
+
+-#: config/rs6000/rs6000.c:17598
++#: config/rs6000/rs6000.c:17811
+ #, 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.c:19470
++#: config/rs6000/rs6000.c:19687
+ #, gcc-internal-format
+ msgid "use of %<long%> in AltiVec types is invalid for 64-bit code"
+ msgstr "AltiVec türlerde %<long%> kullanımı 64 bitlik kod için geçersiz"
+
+-#: config/rs6000/rs6000.c:19472
++#: config/rs6000/rs6000.c:19689
+ #, gcc-internal-format
+ msgid "use of %<long%> in AltiVec types is deprecated; use %<int%>"
+ msgstr "AltiVec türlerde %<long%> kullanımı önerilmiyor; %<int%> kullanın"
+
+-#: config/rs6000/rs6000.c:19476
++#: config/rs6000/rs6000.c:19693
+ #, gcc-internal-format
+ msgid "use of %<long long%> in AltiVec types is invalid"
+ msgstr "AltiVec türlerde %<long long%> kullanımı geçersiz"
+
+-#: config/rs6000/rs6000.c:19478
++#: config/rs6000/rs6000.c:19695
+ #, gcc-internal-format
+ msgid "use of %<double%> in AltiVec types is invalid"
+ msgstr "AltiVec türlerde %<double%> kullanımı geçersiz"
+
+-#: config/rs6000/rs6000.c:19480
++#: config/rs6000/rs6000.c:19697
+ #, gcc-internal-format
+ msgid "use of %<long double%> in AltiVec types is invalid"
+ msgstr "AltiVec türlerde %<long double%> kullanımı geçersiz"
+
+-#: config/rs6000/rs6000.c:19482
++#: config/rs6000/rs6000.c:19699
+ #, 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.c:19484
++#: config/rs6000/rs6000.c:19701
+ #, gcc-internal-format
+ msgid "use of %<complex%> in AltiVec types is invalid"
+ msgstr "AltiVec türlerde %<complex%> kullanımı geçersiz"
+
+-#: config/rs6000/rs6000.c:19486
++#: config/rs6000/rs6000.c:19703
+ #, fuzzy, gcc-internal-format
+ 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/aix43.h:38 config/rs6000/aix51.h:37 config/rs6000/aix52.h:38
+-#: config/rs6000/aix53.h:38
++#: config/rs6000/aix53.h:38 config/rs6000/aix61.h:38
+ #, gcc-internal-format
+ msgid "-maix64 and POWER architecture are incompatible"
+ msgstr "-maix64 ile POWER mimarisi uyumsuz"
+
+ #: config/rs6000/aix43.h:43 config/rs6000/aix51.h:42 config/rs6000/aix52.h:43
+-#: config/rs6000/aix53.h:43
++#: config/rs6000/aix53.h:43 config/rs6000/aix61.h:43
+ #, gcc-internal-format
+ msgid "-maix64 requires PowerPC64 architecture remain enabled"
+ msgstr "-maix64 seçeneği PowerPC64 mimarisinin etkin kalmasını gerektirir"
+
+ #: config/rs6000/aix43.h:49 config/rs6000/aix52.h:49 config/rs6000/aix53.h:49
++#: config/rs6000/aix61.h:49
+ #, gcc-internal-format
+ msgid "soft-float and long-double-128 are incompatible"
+ msgstr "soft-float ile long-double-128 uyumsuz."
+
+ #: config/rs6000/aix43.h:53 config/rs6000/aix51.h:46 config/rs6000/aix52.h:53
+-#: config/rs6000/aix53.h:53
++#: config/rs6000/aix53.h:53 config/rs6000/aix61.h:53
+ #, gcc-internal-format
+ msgid "-maix64 required: 64-bit computation with 32-bit addressing not yet supported"
+ msgstr "-maix64 gereksinimi: 32 bit adreslemeli 64 bitlik hesaplama henüz desteklenmiyor."
+@@ -26252,7 +26227,7 @@
+ #. Number of bytes into the frame return addresses can be found. See
+ #. rs6000_stack_info in rs6000.c for more information on how the different
+ #. abi's store the return address.
+-#: config/rs6000/rs6000.h:1560
++#: config/rs6000/rs6000.h:1569
+ #, gcc-internal-format
+ msgid "RETURN_ADDRESS_OFFSET not supported"
+ msgstr "RETURN_ADDRESS_OFFSET desteklenmiyor"
+@@ -26375,22 +26350,22 @@
+ msgid "-mstack-guard implies use of -mstack-size"
+ msgstr "-mstack-guard, -mstack-size uyguluyor"
+
+-#: config/s390/s390.c:6640
++#: config/s390/s390.c:6679
+ #, gcc-internal-format
+ msgid "total size of local variables exceeds architecture limit"
+ msgstr "Yerel değişkenlerin toplam boyutu mimarinin izin verdigi sınırı aşıyor"
+
+-#: config/s390/s390.c:7298
++#: config/s390/s390.c:7349
+ #, fuzzy, gcc-internal-format
+ msgid "frame size of function %qs is "
+ msgstr "%qs çerçevi boyutu "
+
+-#: config/s390/s390.c:7328
++#: config/s390/s390.c:7379
+ #, gcc-internal-format
+ msgid "frame size of %qs is "
+ msgstr "%qs çerçevi boyutu "
+
+-#: config/s390/s390.c:7332
++#: config/s390/s390.c:7383
+ #, gcc-internal-format
+ msgid "%qs uses dynamic stack allocation"
+ msgstr "%qs özdevimli yığıt tahsisi kullanıyor"
+@@ -26400,44 +26375,44 @@
+ msgid "-fPIC and -G are incompatible"
+ msgstr "-fPIC ile -mcall-%s uyumsuz."
+
+-#: config/sh/sh.c:6894
++#: config/sh/sh.c:6897
+ #, gcc-internal-format
+ msgid "__builtin_saveregs not supported by this subtarget"
+ msgstr "__builtin_saveregs bu alt hedef tarafından desteklenmiyor"
+
+-#: config/sh/sh.c:7904
++#: config/sh/sh.c:7907
+ #, gcc-internal-format
+ msgid "%qs attribute only applies to interrupt functions"
+ msgstr "%qs özniteliği sadece kesme işlevlerine uygulanır"
+
+-#: config/sh/sh.c:7990
++#: config/sh/sh.c:7993
+ #, gcc-internal-format
+ msgid "attribute interrupt_handler is not compatible with -m5-compact"
+ msgstr "kesme yakalayıcı özniteliği -m5-compact ile uyumlu değil"
+
+ #. The argument must be a constant string.
+-#: config/sh/sh.c:8012
++#: config/sh/sh.c:8015
+ #, gcc-internal-format
+ msgid "%qs attribute argument not a string constant"
+ msgstr "%qs öznitelik argümanı bir dizge sabit değil"
+
+ #. The argument must be a constant integer.
+-#: config/sh/sh.c:8037
++#: config/sh/sh.c:8040
+ #, gcc-internal-format
+ msgid "%qs attribute argument not an integer constant"
+ msgstr "%qs öznitelik argümanı bir tamsayı sabit değil"
+
+-#: config/sh/sh.c:10085
++#: config/sh/sh.c:10084
+ #, gcc-internal-format
+ msgid "r0 needs to be available as a call-clobbered register"
+ msgstr "r0 bir çağrı taşırmalı yazmaç olarak kullanılabilmeyi gerektirir"
+
+-#: config/sh/sh.c:10106
++#: config/sh/sh.c:10105
+ #, gcc-internal-format
+ msgid "Need a second call-clobbered general purpose register"
+ msgstr "İkinci bir çağrı taşırmalı genel amaçlı yazmaç gerekir"
+
+-#: config/sh/sh.c:10114
++#: config/sh/sh.c:10113
+ #, gcc-internal-format
+ msgid "Need a call-clobbered target register"
+ msgstr "Çağrı taşırmalı hedef yazmacı gerekir"
+@@ -26467,7 +26442,7 @@
+ msgid "%s %q+D %s after being referenced with dllimport linkage"
+ msgstr "dllimport ilintileme ile iliÅŸkilendirildikten sonra %s %q+D %s"
+
+-#: config/sh/symbian.c:891 cp/tree.c:2737
++#: config/sh/symbian.c:891 cp/tree.c:2753
+ #, fuzzy, gcc-internal-format
+ msgid "lang_* check: failed in %s, at %s:%d"
+ msgstr "lang_* denetimi: %2$s dosyasının %3$d. satırındaki %1$s içinde başarısız"
+@@ -26510,17 +26485,17 @@
+ msgid "-mrelax is only supported for RTP PIC"
+ msgstr "static TPF-OS'da desteklenmiyor"
+
+-#: config/sparc/sparc.c:698
++#: config/sparc/sparc.c:701
+ #, gcc-internal-format
+ msgid "%s is not supported by this configuration"
+ msgstr "%s bu yapılandırma ile desteklenmiyor"
+
+-#: config/sparc/sparc.c:705
++#: config/sparc/sparc.c:708
+ #, gcc-internal-format
+ msgid "-mlong-double-64 not allowed with -m64"
+ msgstr "-mlong-double-64 ile -m64 bir arada olmaz"
+
+-#: config/sparc/sparc.c:730
++#: config/sparc/sparc.c:733
+ #, gcc-internal-format
+ msgid "-mcmodel= is not supported on 32 bit systems"
+ msgstr "-mcmodel= 32 bitlik sistemlerde desteklenmiyor"
+@@ -26540,67 +26515,57 @@
+ msgid "parameter list does not match a valid signature for %s()"
+ msgstr ""
+
+-#: config/spu/spu.c:337 config/spu/spu.c:348
++#: config/spu/spu.c:341 config/spu/spu.c:352
+ #, fuzzy, gcc-internal-format
+ msgid "Unknown architecture '%s'"
+ msgstr "%qs makine kipi bilinmiyor"
+
+-#: config/spu/spu.c:3034
++#: config/spu/spu.c:3023
+ #, fuzzy, gcc-internal-format
+ msgid "`%s' attribute ignored"
+ msgstr "%qs özniteliği yoksayıldı"
+
+-#: config/spu/spu.c:5218
++#: config/spu/spu.c:5207
+ #, fuzzy, gcc-internal-format
+ msgid "%s expects an integer literal in the range [%d, %d]."
+ msgstr "seçici 0..%wi aralığında bir tamsayı sabit olmalı"
+
+-#: config/spu/spu.c:5238
++#: config/spu/spu.c:5227
+ #, fuzzy, gcc-internal-format
+ msgid "%s expects an integer literal in the range [%d, %d]. ("
+ msgstr "seçici 0..%wi aralığında bir tamsayı sabit olmalı"
+
+-#: config/spu/spu.c:5268
++#: config/spu/spu.c:5257
+ #, gcc-internal-format
+ msgid "%d least significant bits of %s are ignored."
+ msgstr ""
+
+-#: config/stormy16/stormy16.c:499
++#: config/stormy16/stormy16.c:1080
+ #, gcc-internal-format
+-msgid "constant halfword load operand out of range"
+-msgstr "sabit yarım sözcüklük yük terimi aralık dışında"
+-
+-#: config/stormy16/stormy16.c:509
+-#, gcc-internal-format
+-msgid "constant arithmetic operand out of range"
+-msgstr "sabit aritmetik terim aralık dışında"
+-
+-#: config/stormy16/stormy16.c:1108
+-#, gcc-internal-format
+ msgid "local variable memory requirements exceed capacity"
+ msgstr "yerel değişkenin bellek gereksinimi kapasiteyi aşıyor."
+
+-#: config/stormy16/stormy16.c:1274
++#: config/stormy16/stormy16.c:1246
+ #, gcc-internal-format
+ msgid "function_profiler support"
+ msgstr "function_profiler destegi"
+
+-#: config/stormy16/stormy16.c:1363
++#: config/stormy16/stormy16.c:1335
+ #, gcc-internal-format
+ msgid "cannot use va_start in interrupt function"
+ msgstr "kesme işlevinde va_start kullanılamaz"
+
+-#: config/stormy16/stormy16.c:1906
++#: config/stormy16/stormy16.c:1879
+ #, gcc-internal-format
+ msgid "switch statement of size %lu entries too large"
+ msgstr "%lu girdilik switch deyimi çok büyük"
+
+-#: config/stormy16/stormy16.c:2274
++#: config/stormy16/stormy16.c:2247
+ #, gcc-internal-format
+ msgid "%<__BELOW100__%> attribute only applies to variables"
+ msgstr "%<__BELOW100__%> özniteliği sadece değişkenlere uygulanır"
+
+-#: config/stormy16/stormy16.c:2281
++#: config/stormy16/stormy16.c:2254
+ #, gcc-internal-format
+ msgid "__BELOW100__ attribute not allowed with auto storage class"
+ msgstr "__BELOW100__ özniteliğine özdevinimli saklatım sınıfında izin verilmez"
+@@ -26725,345 +26690,345 @@
+ msgid "too much stack space to prepare: %d"
+ msgstr "hazırlanacak yığıt alanı çok fazla: %d"
+
+-#: config/xtensa/xtensa.c:1861
++#: config/xtensa/xtensa.c:1865
+ #, gcc-internal-format
+ msgid "boolean registers required for the floating-point option"
+ msgstr "mantıksal yazmaçlar kayan nokta seçeneği için gerekli"
+
+-#: config/xtensa/xtensa.c:1896
++#: config/xtensa/xtensa.c:1900
+ #, gcc-internal-format
+ msgid "-f%s is not supported with CONST16 instructions"
+ msgstr "-f%s seçeneği CONST16 komutları ile desteklenmiyor"
+
+-#: config/xtensa/xtensa.c:1901
++#: config/xtensa/xtensa.c:1905
+ #, gcc-internal-format
+ msgid "PIC is required but not supported with CONST16 instructions"
+ msgstr "PIC gerekli ama CONST16 komutları ile desteklenmiyor"
+
+-#: config/xtensa/xtensa.c:2745 config/xtensa/xtensa.c:2765
++#: config/xtensa/xtensa.c:2770 config/xtensa/xtensa.c:2790
+ #, fuzzy, gcc-internal-format
+ msgid "bad builtin code"
+ msgstr "hatalı yerleşik fcode"
+
+-#: config/xtensa/xtensa.c:2873
++#: config/xtensa/xtensa.c:2898
+ #, gcc-internal-format
+ msgid "only uninitialized variables can be placed in a .bss section"
+ msgstr "sadece ilklendirilmemiş değişkenler .bss bölümüne yerleştirilebilir"
+
+-#: ada/misc.c:261
++#: ada/misc.c:260
+ #, gcc-internal-format
+ msgid "missing argument to \"-%s\""
+ msgstr "\"-%s\" seçeneğinin argümanı eksik"
+
+-#: ada/misc.c:311
++#: ada/misc.c:310
+ #, gcc-internal-format
+ msgid "%<-gnat%> misspelled as %<-gant%>"
+ msgstr "%<-gnat%> yerine yanlış olarak %<-gant%> kullanılmış"
+
+-#: cp/call.c:2462
++#: cp/call.c:2448
+ #, gcc-internal-format
+ msgid "%s %D(%T, %T, %T) <built-in>"
+ msgstr "%s %D(%T, %T, %T) <yerleÅŸik>"
+
+-#: cp/call.c:2467
++#: cp/call.c:2453
+ #, gcc-internal-format
+ msgid "%s %D(%T, %T) <built-in>"
+ msgstr "%s %D(%T, %T) <yerleÅŸik>"
+
+-#: cp/call.c:2471
++#: cp/call.c:2457
+ #, gcc-internal-format
+ msgid "%s %D(%T) <built-in>"
+ msgstr "%s %D(%T) <yerleÅŸik>"
+
+-#: cp/call.c:2475
++#: cp/call.c:2461
+ #, gcc-internal-format
+ msgid "%s %T <conversion>"
+ msgstr "%s %T <dönüşüm>"
+
+-#: cp/call.c:2477
++#: cp/call.c:2463
+ #, gcc-internal-format
+ msgid "%s %+#D <near match>"
+ msgstr "%s %+#D <yakın eşleşme>"
+
+-#: cp/call.c:2479 cp/pt.c:1397
++#: cp/call.c:2465 cp/pt.c:1405
+ #, gcc-internal-format
+ msgid "%s %+#D"
+ msgstr "%s %+#D"
+
+-#: cp/call.c:2720
++#: cp/call.c:2706
+ #, gcc-internal-format
+ msgid "conversion from %qT to %qT is ambiguous"
+ msgstr "%qT türünden %qT türüne dönüşüm belirsiz"
+
+-#: cp/call.c:2873 cp/call.c:2891 cp/call.c:2954
++#: cp/call.c:2859 cp/call.c:2877 cp/call.c:2940
+ #, gcc-internal-format
+ msgid "no matching function for call to %<%D(%A)%>"
+ msgstr "%<%D(%A)%> çağrısı ile eşleşen bir işlev yok"
+
+-#: cp/call.c:2894 cp/call.c:2957
++#: cp/call.c:2880 cp/call.c:2943
+ #, gcc-internal-format
+ msgid "call of overloaded %<%D(%A)%> is ambiguous"
+ msgstr "aşırı yüklü %<%D(%A)%> çağrısı belirsiz"
+
+ #. It's no good looking for an overloaded operator() on a
+ #. pointer-to-member-function.
+-#: cp/call.c:3029
++#: cp/call.c:3015
+ #, gcc-internal-format
+ msgid "pointer-to-member function %E cannot be called without an object; consider using .* or ->*"
+ msgstr "üye göstericisi işlevi %E nesnesiz çağrılamaz; .* or ->* kullanımı önerilir"
+
+-#: cp/call.c:3103
++#: cp/call.c:3089
+ #, gcc-internal-format
+ msgid "no match for call to %<(%T) (%A)%>"
+ msgstr "%<(%T) (%A)%> çağrısı için eşleşme yok"
+
+-#: cp/call.c:3112
++#: cp/call.c:3098
+ #, gcc-internal-format
+ msgid "call of %<(%T) (%A)%> is ambiguous"
+ msgstr "%<(%T) (%A)%> çağrısı belirsiz"
+
+-#: cp/call.c:3150
++#: cp/call.c:3136
+ #, fuzzy, gcc-internal-format
+ msgid "%s for ternary %<operator?:%> in %<%E ? %E : %E%>"
+ msgstr "%<%2$E ? %3$E : %4$E%> içindeki %<?: üç terimlisi%> için %1$s"
+
+-#: cp/call.c:3156
++#: cp/call.c:3142
+ #, fuzzy, gcc-internal-format
+ msgid "%s for %<operator%s%> in %<%E%s%>"
+ msgstr "%<%3$E%4$s%> içindeki %<%2$s işleci%> için %1$s"
+
+-#: cp/call.c:3160
++#: cp/call.c:3146
+ #, fuzzy, gcc-internal-format
+ msgid "%s for %<operator[]%> in %<%E[%E]%>"
+ msgstr "%<%2$E[%3$E]%> içindeki %<[] işleci%> için %1$s"
+
+-#: cp/call.c:3165
++#: cp/call.c:3151
+ #, fuzzy, gcc-internal-format
+ msgid "%s for %qs in %<%s %E%>"
+ msgstr "%<%3$s %4$E%> içindeki %2$qs için %1$s"
+
+-#: cp/call.c:3170
++#: cp/call.c:3156
+ #, fuzzy, gcc-internal-format
+ msgid "%s for %<operator%s%> in %<%E %s %E%>"
+ msgstr "%<%3$E %4$s %5$E%> içindeki %<%2$s işleci%> için %1$s"
+
+-#: cp/call.c:3173
++#: cp/call.c:3159
+ #, fuzzy, gcc-internal-format
+ msgid "%s for %<operator%s%> in %<%s%E%>"
+ msgstr "%<%3$s%4$E%> içindeki %<%2$s işleci%> için %1$s"
+
+-#: cp/call.c:3265
++#: cp/call.c:3251
+ #, gcc-internal-format
+ msgid "ISO C++ forbids omitting the middle term of a ?: expression"
+ msgstr "ISO C++ bir ?: üç terimlisinde ikinci terimin eksikliğine izin vermez"
+
+-#: cp/call.c:3343
++#: cp/call.c:3329
+ #, gcc-internal-format
+ msgid "second operand to the conditional operator is of type %<void%>, but the third operand is neither a throw-expression nor of type %<void%>"
+ msgstr ""
+
+-#: cp/call.c:3348
++#: cp/call.c:3334
+ #, gcc-internal-format
+ msgid "third operand to the conditional operator is of type %<void%>, but the second operand is neither a throw-expression nor of type %<void%>"
+ msgstr ""
+
+-#: cp/call.c:3389 cp/call.c:3609
++#: cp/call.c:3375 cp/call.c:3595
+ #, fuzzy, gcc-internal-format
+ msgid "operands to ?: have different types %qT and %qT"
+ msgstr "?: için terimler farklı türde"
+
+-#: cp/call.c:3563
++#: cp/call.c:3549
+ #, gcc-internal-format
+ msgid "enumeral mismatch in conditional expression: %qT vs %qT"
+ msgstr "koşullu ifade içinde enum uyumsuzluğu: %qT vs %qT"
+
+-#: cp/call.c:3570
++#: cp/call.c:3556
+ #, gcc-internal-format
+ msgid "enumeral and non-enumeral type in conditional expression"
+ msgstr "koşullu ifade içinde enum ve enum olmayan türler"
+
+-#: cp/call.c:3874
++#: cp/call.c:3860
+ #, fuzzy, gcc-internal-format
+ msgid "no %<%D(int)%> declared for postfix %qs, trying prefix operator instead"
+ msgstr "sonek %2$qs için %<%1$D(int)%> bildirimi yok, yerine önek işleci deneniyor"
+
+-#: cp/call.c:3947
++#: cp/call.c:3936
+ #, gcc-internal-format
+ msgid "comparison between %q#T and %q#T"
+ msgstr "%q#T ile %q#T arasında karşılaştırma"
+
+-#: cp/call.c:4229
++#: cp/call.c:4218
+ #, gcc-internal-format
+ msgid "no corresponding deallocation function for `%D'"
+ msgstr ""
+
+-#: cp/call.c:4234
++#: cp/call.c:4223
+ #, fuzzy, gcc-internal-format
+ msgid "no suitable %<operator %s%> for %qT"
+ msgstr "%2$qT için uygun bir %<%1$s işleci%> yok"
+
+-#: cp/call.c:4252
++#: cp/call.c:4241
+ #, gcc-internal-format
+ msgid "%q+#D is private"
+ msgstr "%q+#D private'dir"
+
+-#: cp/call.c:4254
++#: cp/call.c:4243
+ #, gcc-internal-format
+ msgid "%q+#D is protected"
+ msgstr "%q+#D protected'dir"
+
+-#: cp/call.c:4256
++#: cp/call.c:4245
+ #, gcc-internal-format
+ msgid "%q+#D is inaccessible"
+ msgstr "%q+#D eriÅŸilebilir deÄŸil"
+
+-#: cp/call.c:4257
++#: cp/call.c:4246
+ #, gcc-internal-format
+ msgid "within this context"
+ msgstr "bu baÄŸlamda"
+
+-#: cp/call.c:4303
++#: cp/call.c:4292
+ #, fuzzy, gcc-internal-format
+ 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.c:4306
++#: cp/call.c:4295
+ #, gcc-internal-format
+ msgid "converting to non-pointer type %qT from NULL"
+ msgstr "NULL'dan gösterici olmayan %qT türüne dönüşüm"
+
+-#: cp/call.c:4312
++#: cp/call.c:4301
+ #, fuzzy, gcc-internal-format
+ msgid "converting %<false%> to pointer type for argument %P of %qD"
+ msgstr "%4$qD işlevinin %3$qP. argümanı için %1$qT türü %2$qT türüne dönüştürülemez"
+
+-#: cp/call.c:4356 cp/cvt.c:217
++#: cp/call.c:4346 cp/cvt.c:217
+ #, gcc-internal-format
+ msgid "invalid conversion from %qT to %qT"
+ msgstr "%qT türünden %qT türüne dönüşüm geçersiz"
+
+-#: cp/call.c:4358
++#: cp/call.c:4348
+ #, fuzzy, gcc-internal-format
+ msgid " initializing argument %P of %qD"
+ msgstr " %2$qD işlevinin %1$P argümanının ilklendirilmesi"
+
+-#: cp/call.c:4491
++#: cp/call.c:4498
+ #, gcc-internal-format
+ msgid "cannot bind bitfield %qE to %qT"
+ msgstr "%qE bitalanı %qT türüne bağlanamaz"
+
+-#: cp/call.c:4494 cp/call.c:4510
++#: cp/call.c:4501 cp/call.c:4517
+ #, gcc-internal-format
+ msgid "cannot bind packed field %qE to %qT"
+ msgstr "%qE paketli alanı %qT türüne bağlanamaz"
+
+-#: cp/call.c:4497
++#: cp/call.c:4504
+ #, gcc-internal-format
+ msgid "cannot bind rvalue %qE to %qT"
+ msgstr "sağ taraf değeri %qE, %qT türüne bağlanamaz"
+
+-#: cp/call.c:4611
++#: cp/call.c:4620
+ #, gcc-internal-format
+ msgid "cannot pass objects of non-POD type %q#T through %<...%>; call will abort at runtime"
+ msgstr "POD olmayan %q#T türünün nesneleri %<...%> üzerinden aktarılamaz; çalışma anında çağrı çıkış yaptıracak"
+
+ #. Undefined behavior [expr.call] 5.2.2/7.
+-#: cp/call.c:4639
++#: cp/call.c:4648
+ #, gcc-internal-format
+ msgid "cannot receive objects of non-POD type %q#T through %<...%>; call will abort at runtime"
+ msgstr "POD olmayan %q#T türünün nesneleri %<...%> üzerinden alınamaz; çalışma anında çağrı çıkış yaptıracak"
+
+-#: cp/call.c:4687
++#: cp/call.c:4696
+ #, fuzzy, gcc-internal-format
+ msgid "the default argument for parameter %d of %qD has not yet been parsed"
+ msgstr "%2$qD işlevinin %1$d. parametresi için öntanımlı argüman henüz çözümlenmedi"
+
+-#: cp/call.c:4697
++#: cp/call.c:4706
+ #, fuzzy, gcc-internal-format
+ msgid "recursive evaluation of default argument for %q#D"
+ msgstr "%q#D için öntanımlı argümanın yeniden tanımı"
+
+-#: cp/call.c:4802
++#: cp/call.c:4811
+ #, gcc-internal-format
+ msgid "argument of function call might be a candidate for a format attribute"
+ msgstr "işlev çağrısı argümanı bir biçim özniteliği için aday olabilir"
+
+-#: cp/call.c:4950
++#: cp/call.c:4959
+ #, fuzzy, gcc-internal-format
+ msgid "passing %qT as %<this%> argument of %q#D discards qualifiers"
+ msgstr "%2$q#D işlevinin %<this%> parametresi olarak %1$qT aktarımı niteleyicileri iptal ediyor"
+
+-#: cp/call.c:4969
++#: cp/call.c:4978
+ #, gcc-internal-format
+ msgid "%qT is not an accessible base of %qT"
+ msgstr "%qT erişilebilir bir %qT tabanı değil"
+
+-#: cp/call.c:5229
++#: cp/call.c:5238
+ #, gcc-internal-format
+ msgid "could not find class$ field in java interface type %qT"
+ msgstr "java arabiriminde %qT türünde class$ alanı bulunamadı"
+
+-#: cp/call.c:5470
++#: cp/call.c:5479
+ #, gcc-internal-format
+ msgid "call to non-function %qD"
+ msgstr "işlev olmayan %qD ye çağrı"
+
+-#: cp/call.c:5595
++#: cp/call.c:5604
+ #, gcc-internal-format
+ msgid "no matching function for call to %<%T::%s(%A)%#V%>"
+ msgstr "%<%T::%s(%A)%#V%> çağrısı ile eşleşen işlev yok"
+
+-#: cp/call.c:5613
++#: cp/call.c:5622
+ #, gcc-internal-format
+ msgid "call of overloaded %<%s(%A)%> is ambiguous"
+ msgstr "aşırı yüklü %<%s(%A)%> çağrısı belirsiz"
+
+-#: cp/call.c:5639
++#: cp/call.c:5648
+ #, gcc-internal-format
+ msgid "cannot call member function %qD without object"
+ msgstr "üye işlev %qD nesne olmaksızın çağrılamaz"
+
+-#: cp/call.c:6283
++#: cp/call.c:6307
+ #, gcc-internal-format
+ msgid "passing %qT chooses %qT over %qT"
+ msgstr "%qT aktarımı %qT türünü %qT türü üzerinden seçiyor"
+
+-#: cp/call.c:6285 cp/name-lookup.c:4320 cp/name-lookup.c:4753
++#: cp/call.c:6309 cp/name-lookup.c:4322 cp/name-lookup.c:4757
+ #, gcc-internal-format
+ msgid " in call to %qD"
+ msgstr " %qD çağrısında"
+
+-#: cp/call.c:6342
++#: cp/call.c:6366
+ #, gcc-internal-format
+ msgid "choosing %qD over %qD"
+ msgstr "%qD %qD üzerinden,"
+
+-#: cp/call.c:6343
++#: cp/call.c:6367
+ #, gcc-internal-format
+ msgid " for conversion from %qT to %qT"
+ msgstr " %qT türünden %qT türüne dönüşüm için seçiliyor,"
+
+-#: cp/call.c:6345
++#: cp/call.c:6369
+ #, gcc-internal-format
+ msgid " because conversion sequence for the argument is better"
+ msgstr " çünkü argüman için dönüşüm süreci daha iyi"
+
+-#: cp/call.c:6459
++#: cp/call.c:6483
+ #, 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 "İlkinin en kotü dönüşümü ikincisinden daha iyi olsa bile ISO C++ bunlar belirsizdir der:"
+
+-#: cp/call.c:6603
++#: cp/call.c:6627
+ #, gcc-internal-format
+ msgid "could not convert %qE to %qT"
+ msgstr "%qE %qT türüne dönüştürülemedi"
+
+-#: cp/call.c:6737
++#: cp/call.c:6761
+ #, gcc-internal-format
+ msgid "invalid initialization of non-const reference of type %qT from a temporary of type %qT"
+ msgstr "%qT türündeki sabit olmayan başvurunun geçici %qT türünden ilklendirilmesi geçersiz"
+
+-#: cp/call.c:6741
++#: cp/call.c:6765
+ #, gcc-internal-format
+ msgid "invalid initialization of reference of type %qT from expression of type %qT"
+ msgstr "%qT türündeki başvurunun %qT türündeki ifadeden ilklendirilmesi geçersiz"
+@@ -27073,343 +27038,343 @@
+ msgid "cannot convert from base %qT to derived type %qT via virtual base %qT"
+ msgstr "taban %qT türünden türetilmiş %qT türüne dönüşüm sanal taban %qT üzerinden yapılamaz"
+
+-#: cp/class.c:961
++#: cp/class.c:971
+ #, gcc-internal-format
+ msgid "Java class %qT cannot have a destructor"
+ msgstr "Java sınıfı %qT bir yıkıcıya sahip olamaz"
+
+-#: cp/class.c:963
++#: cp/class.c:973
+ #, gcc-internal-format
+ msgid "Java class %qT cannot have an implicit non-trivial destructor"
+ msgstr "Java sınıfı %qT bir dolaylı sanal olmayan yıkıcıya sahip olamaz"
+
+-#: cp/class.c:1062
++#: cp/class.c:1074
+ #, gcc-internal-format
+ msgid "repeated using declaration %q+D"
+ msgstr "%q+D bildirimi kullanılarak yinelenmiş"
+
+-#: cp/class.c:1064
++#: cp/class.c:1076
+ #, gcc-internal-format
+ msgid "using declaration %q+D conflicts with a previous using declaration"
+ msgstr "%q+D bildirimi kullanımı önceki bildirimlerden biri ile çelişiyor"
+
+-#: cp/class.c:1069
++#: cp/class.c:1081
+ #, gcc-internal-format
+ msgid "%q+#D cannot be overloaded"
+ msgstr "%q+#D,"
+
+-#: cp/class.c:1070
++#: cp/class.c:1082
+ #, gcc-internal-format
+ msgid "with %q+#D"
+ msgstr "%+#D ile aşırı yüklenemez"
+
+-#: cp/class.c:1137
++#: cp/class.c:1149
+ #, gcc-internal-format
+ msgid "conflicting access specifications for method %q+D, ignored"
+ msgstr "%q+D yöntemi için erişim özellikleri çelişkili, yoksayıldı"
+
+-#: cp/class.c:1140
++#: cp/class.c:1152
+ #, gcc-internal-format
+ msgid "conflicting access specifications for field %qE, ignored"
+ msgstr "%qE alanı için erişim özellikleri çelişkili, yoksayıldı"
+
+-#: cp/class.c:1201 cp/class.c:1209
++#: cp/class.c:1213 cp/class.c:1221
+ #, gcc-internal-format
+ msgid "%q+D invalid in %q#T"
+ msgstr "%q+D %q#T içinde geçersiz"
+
+-#: cp/class.c:1202
++#: cp/class.c:1214
+ #, gcc-internal-format
+ msgid " because of local method %q+#D with same name"
+ msgstr " çünkü yerel yöntem %q+#D ile ismi aynı"
+
+-#: cp/class.c:1210
++#: cp/class.c:1222
+ #, gcc-internal-format
+ msgid " because of local member %q+#D with same name"
+ msgstr " çünkü yerel üye %q+#D ile aynı isimde"
+
+-#: cp/class.c:1253
++#: cp/class.c:1265
+ #, gcc-internal-format
+ msgid "base class %q#T has a non-virtual destructor"
+ msgstr "taban sınıf %q#T bir sanal olmayan yıkıcıya sahip"
+
+-#: cp/class.c:1570
++#: cp/class.c:1582
+ #, gcc-internal-format
+ msgid "all member functions in class %qT are private"
+ msgstr "sınıf %qT içindeki tüm üye işlevler 'private'"
+
+-#: cp/class.c:1582
++#: cp/class.c:1594
+ #, gcc-internal-format
+ msgid "%q#T only defines a private destructor and has no friends"
+ msgstr "%q#T sadece private bir yıkıcı tanımlıyor ve kardeşleri yok"
+
+-#: cp/class.c:1626
++#: cp/class.c:1639
+ #, gcc-internal-format
+ msgid "%q#T only defines private constructors and has no friends"
+ msgstr "%q#T sadece private kurucular tanımlıyor ve kardeşleri yok"
+
+-#: cp/class.c:2019
++#: cp/class.c:2032
+ #, gcc-internal-format
+ msgid "no unique final overrider for %qD in %qT"
+ msgstr "%qD için %qT içinde eşsiz bir son değiştirici yok"
+
+ #. Here we know it is a hider, and no overrider exists.
+-#: cp/class.c:2439
++#: cp/class.c:2452
+ #, gcc-internal-format
+ msgid "%q+D was hidden"
+ msgstr "%q+D"
+
+-#: cp/class.c:2440
++#: cp/class.c:2453
+ #, gcc-internal-format
+ msgid " by %q+D"
+ msgstr " %q+D tarafından gizlendi"
+
+-#: cp/class.c:2483 cp/decl2.c:1135
++#: cp/class.c:2496 cp/decl2.c:1178
+ #, gcc-internal-format
+ msgid "%q+#D invalid; an anonymous union can only have non-static data members"
+ msgstr "%q+#D geçersiz; bir anonim union sadece statik olmayan veri üyeleri içerebilir"
+
+-#: cp/class.c:2486
++#: cp/class.c:2499
+ #, fuzzy, gcc-internal-format
+ msgid "%q+#D invalid; an anonymous struct can only have non-static data members"
+ msgstr "%q+#D geçersiz; bir anonim union sadece statik olmayan veri üyeleri içerebilir"
+
+-#: cp/class.c:2494 cp/decl2.c:1141
++#: cp/class.c:2507 cp/decl2.c:1184
+ #, gcc-internal-format
+ msgid "private member %q+#D in anonymous union"
+ msgstr "anonim union içinde private üye %q+#D"
+
+-#: cp/class.c:2496
++#: cp/class.c:2509
+ #, fuzzy, gcc-internal-format
+ msgid "private member %q+#D in anonymous struct"
+ msgstr "anonim union içinde private üye %q+#D"
+
+-#: cp/class.c:2501 cp/decl2.c:1143
++#: cp/class.c:2514 cp/decl2.c:1186
+ #, gcc-internal-format
+ msgid "protected member %q+#D in anonymous union"
+ msgstr "anonim union içinde protected üye %q+#D"
+
+-#: cp/class.c:2503
++#: cp/class.c:2516
+ #, fuzzy, gcc-internal-format
+ msgid "protected member %q+#D in anonymous struct"
+ msgstr "anonim union içinde protected üye %q+#D"
+
+-#: cp/class.c:2677
++#: cp/class.c:2695
+ #, gcc-internal-format
+ msgid "bit-field %q+#D with non-integral type"
+ msgstr "bit-alanı %q+#D tümleyen türde değil"
+
+-#: cp/class.c:2690
++#: cp/class.c:2708
+ #, gcc-internal-format
+ msgid "bit-field %q+D width not an integer constant"
+ msgstr "bit alanı %q+D için genişlik bir tamsayı sabit değil"
+
+-#: cp/class.c:2695
++#: cp/class.c:2713
+ #, gcc-internal-format
+ msgid "negative width in bit-field %q+D"
+ msgstr "bit alanı %q+D için genişlik negatif"
+
+-#: cp/class.c:2700
++#: cp/class.c:2718
+ #, gcc-internal-format
+ msgid "zero width for bit-field %q+D"
+ msgstr "bit alanı %q+D için sıfır genişlik"
+
+-#: cp/class.c:2706
++#: cp/class.c:2724
+ #, gcc-internal-format
+ msgid "width of %q+D exceeds its type"
+ msgstr "%q+D kendi türünden geniş"
+
+-#: cp/class.c:2715
++#: cp/class.c:2733
+ #, gcc-internal-format
+ msgid "%q+D is too small to hold all values of %q#T"
+ msgstr "%q+D alanı %#T türünün tüm değerlerini tutmak için çok küçük"
+
+-#: cp/class.c:2772
++#: cp/class.c:2790
+ #, gcc-internal-format
+ msgid "member %q+#D with constructor not allowed in union"
+ msgstr "union içinde kuruculu üye %q+#D olamaz"
+
+-#: cp/class.c:2775
++#: cp/class.c:2793
+ #, gcc-internal-format
+ msgid "member %q+#D with destructor not allowed in union"
+ msgstr "union içinde yıkıcılı üye %q+#D olamaz"
+
+-#: cp/class.c:2777
++#: cp/class.c:2795
+ #, gcc-internal-format
+ msgid "member %q+#D with copy assignment operator not allowed in union"
+ msgstr "union içinde kopya atama isleçli üye %q+#D olamaz"
+
+-#: cp/class.c:2801
++#: cp/class.c:2819
+ #, gcc-internal-format
+ msgid "multiple fields in union %qT initialized"
+ msgstr "union %qT içinde çok sayıda alan ilklendirildi"
+
+-#: cp/class.c:2890
++#: cp/class.c:2908
+ #, gcc-internal-format
+ msgid "%q+D may not be static because it is a member of a union"
+ msgstr "%q+D bir union üyesi olduğundan static olmayabilir"
+
+-#: cp/class.c:2895
++#: cp/class.c:2913
+ #, gcc-internal-format
+ msgid "%q+D may not have reference type %qT because it is a member of a union"
+ msgstr "%q+D bir union üyesi olduğundan %qT türünde bir başvuruya sahip olmayabilir"
+
+-#: cp/class.c:2906
++#: cp/class.c:2924
+ #, gcc-internal-format
+ msgid "field %q+D invalidly declared function type"
+ msgstr "%q+D alanı ile geçersiz olarak işlev türü bildirildi"
+
+-#: cp/class.c:2912
++#: cp/class.c:2930
+ #, gcc-internal-format
+ msgid "field %q+D invalidly declared method type"
+ msgstr "%q+D alanı ile geçersiz olarak yöntem türü bildirildi"
+
+-#: cp/class.c:2944
+-#, gcc-internal-format
+-msgid "non-static reference %q+#D in class without a constructor"
+-msgstr "bir kurucu olmaksızın sınıf içinde static olmayan başvuru %q+#D"
+-
+-#: cp/class.c:2955
++#: cp/class.c:2968
+ #, fuzzy, gcc-internal-format
+ msgid "ignoring packed attribute because of unpacked non-POD field %q+#D"
+ msgstr "paketsiz POD olmayan %q+#D alanı üzerinde paketli öznitelik yoksayılıyor"
+
+-#: cp/class.c:3022
++#: cp/class.c:3047
+ #, gcc-internal-format
+-msgid "non-static const member %q+#D in class without a constructor"
+-msgstr "bir kurucu olmaksızın sınıf içinde static olmayan sabit üye %q+#D"
+-
+-#: cp/class.c:3037
+-#, gcc-internal-format
+ msgid "field %q+#D with same name as class"
+ msgstr "%q+#D alanı sınıf ile aynı isimde"
+
+-#: cp/class.c:3068
++#: cp/class.c:3078
+ #, gcc-internal-format
+ msgid "%q#T has pointer data members"
+ msgstr "%q#T gösterici veri üyeleri içeriyor"
+
+-#: cp/class.c:3073
++#: cp/class.c:3083
+ #, gcc-internal-format
+ msgid " but does not override %<%T(const %T&)%>"
+ msgstr " ama %<%T(const %T&)%>ye deÄŸiÅŸtirilmiyor"
+
+-#: cp/class.c:3075
++#: cp/class.c:3085
+ #, gcc-internal-format
+ msgid " or %<operator=(const %T&)%>"
+ msgstr " ya da %<operator=(const %T&)%> içeriyor"
+
+-#: cp/class.c:3079
++#: cp/class.c:3089
+ #, gcc-internal-format
+ msgid " but does not override %<operator=(const %T&)%>"
+ msgstr " ama %<operator=(const %T&)%>ye deÄŸiÅŸtirilmiyor"
+
+-#: cp/class.c:3540
++#: cp/class.c:3550
+ #, gcc-internal-format
+ msgid "offset of empty base %qT may not be ABI-compliant and maychange in a future version of GCC"
+ msgstr "boş %qT tabanının göreli konumu ABI-uyumlu olmayabilir ve bu GCC'nin gelecek sürümünde değişebilir"
+
+-#: cp/class.c:3665
++#: cp/class.c:3675
+ #, gcc-internal-format
+ msgid "class %qT will be considered nearly empty in a future version of GCC"
+ msgstr "%qT sınıfı GCC'nin gelecek sürümünde neredeyse boş sayılacak"
+
+-#: cp/class.c:3747
++#: cp/class.c:3757
+ #, gcc-internal-format
+ msgid "initializer specified for non-virtual method %q+D"
+ msgstr "sanal olmayan yöntem %q+D için ilklendirici belirtilmiş"
+
+-#: cp/class.c:4412
++#: cp/class.c:4228
+ #, gcc-internal-format
++msgid "non-static reference %q+#D in class without a constructor"
++msgstr "bir kurucu olmaksızın sınıf içinde static olmayan başvuru %q+#D"
++
++#: cp/class.c:4233
++#, gcc-internal-format
++msgid "non-static const member %q+#D in class without a constructor"
++msgstr "bir kurucu olmaksızın sınıf içinde static olmayan sabit üye %q+#D"
++
++#: cp/class.c:4488
++#, gcc-internal-format
+ msgid "offset of virtual base %qT is not ABI-compliant and may change in a future version of GCC"
+ msgstr "sanal %qT tabanının göreli konumu ABI-uyumlu değil ve bu GCC'nin gelecek sürümünde değişebilir"
+
+-#: cp/class.c:4513
++#: cp/class.c:4589
+ #, gcc-internal-format
+ msgid "direct base %qT inaccessible in %qT due to ambiguity"
+ msgstr "doğrudan taban %qT belirsizlikten dolayı %qT içinde erişilebilir değil"
+
+-#: cp/class.c:4525
++#: cp/class.c:4601
+ #, gcc-internal-format
+ msgid "virtual base %qT inaccessible in %qT due to ambiguity"
+ msgstr "sanal taban %qT belirsizlikten dolayı %qT içinde erişilebilir değil"
+
+-#: cp/class.c:4704
++#: cp/class.c:4780
+ #, gcc-internal-format
+ msgid "size assigned to %qT may not be ABI-compliant and may change in a future version of GCC"
+ msgstr "%qT türüne atanan boyut ABI-uyumlu olmayabilir ve bu GCC'nin gelecek sürümünde değişebilir"
+
+-#: cp/class.c:4744
++#: cp/class.c:4820
+ #, gcc-internal-format
+ msgid "the offset of %qD may not be ABI-compliant and may change in a future version of GCC"
+ msgstr "%qD alanının göreli konumu ABI-uyumlu olmayabilir ve bu GCC'nin gelecek sürümünde değişebilir"
+
+-#: cp/class.c:4772
++#: cp/class.c:4848
+ #, gcc-internal-format
+ msgid "offset of %q+D is not ABI-compliant and may change in a future version of GCC"
+ msgstr "%q+D alanının göreli konumu ABI-uyumlu değil ve bu GCC'nin gelecek sürümünde değişebilir"
+
+-#: cp/class.c:4781
++#: cp/class.c:4857
+ #, gcc-internal-format
+ msgid "%q+D contains empty classes which may cause base classes to be placed at different locations in a future version of GCC"
+ msgstr "%q+D alanı GCC'nin gelecek sürümünde taban sınıfların farklı yere konmasına sebep olabilecek boş sınıfları içeriyor"
+
+-#: cp/class.c:4864
++#: cp/class.c:4944
+ #, gcc-internal-format
+ msgid "layout of classes derived from empty class %qT may change in a future version of GCC"
+ msgstr "boş %qT sınıfından türetilmiş sınıf yerleşimi GCC'nin gelecek sürümünde değişebilir"
+
+-#: cp/class.c:5010 cp/parser.c:14608
++#: cp/class.c:5090 cp/parser.c:14688
+ #, gcc-internal-format
+ msgid "redefinition of %q#T"
+ msgstr "%q#T sınıfın yeniden tanımı"
+
+-#: cp/class.c:5166
++#: cp/class.c:5246
+ #, fuzzy, gcc-internal-format
+ msgid "%q#T has virtual functions and accessible non-virtual destructor"
+ msgstr "%q#T sanal olmayan kuruculu sanal işlevler içeriyor"
+
+-#: cp/class.c:5268
++#: cp/class.c:5348
+ #, gcc-internal-format
+ msgid "trying to finish struct, but kicked out due to previous parse errors"
+ msgstr "yapı tamamlanmaya çalışılırken önceki ayrıştırma hatalarından dolayı kesildi"
+
+-#: cp/class.c:5728
++#: cp/class.c:5808
+ #, gcc-internal-format
+ msgid "language string %<\"%E\"%> not recognized"
+ msgstr "dil dizgesi %<\"%E\"%> tanınmıyor"
+
+-#: cp/class.c:5817
++#: cp/class.c:5897
+ #, fuzzy, gcc-internal-format
+ msgid "cannot resolve overloaded function %qD based on conversion to type %qT"
+ msgstr "%2$qT türüne dönüşüme dayalı aşırı yüklü %1$qD işlevi çözümlenemiyor"
+
+-#: cp/class.c:5946
++#: cp/class.c:6026
+ #, gcc-internal-format
+ msgid "no matches converting function %qD to type %q#T"
+ msgstr "%qD işlevinin %q#T türüne dönüşümü için eşleşme yok"
+
+-#: cp/class.c:5969
++#: cp/class.c:6049
+ #, gcc-internal-format
+ msgid "converting overloaded function %qD to type %q#T is ambiguous"
+ msgstr "aşırı yüklü %qD işlevinin %q#T türüne dönüşümü belirsiz"
+
+-#: cp/class.c:5995
++#: cp/class.c:6075
+ #, gcc-internal-format
+ msgid "assuming pointer to member %qD"
+ msgstr "%qD üyesine gösterici varsayılıyor"
+
+-#: cp/class.c:5998
++#: cp/class.c:6078
+ #, gcc-internal-format
+ msgid "(a pointer to member can only be formed with %<&%E%>)"
+ msgstr "(bir üye göstericisi sadece %<&%E%> ile şekillendirilebilir)"
+
+-#: cp/class.c:6054 cp/class.c:6088
++#: cp/class.c:6134 cp/class.c:6168
+ #, gcc-internal-format
+ msgid "not enough type information"
+ msgstr "tür bilgisi yetersiz"
+
+-#: cp/class.c:6071
++#: cp/class.c:6151
+ #, gcc-internal-format
+ msgid "argument of type %qT does not match %qT"
+ msgstr "%qT türündeki argüman %qT ile eşleşmiyor"
+@@ -27419,12 +27384,12 @@
+ #. A name N used in a class S shall refer to the same declaration
+ #. in its context and when re-evaluated in the completed scope of
+ #. S.
+-#: cp/class.c:6358 cp/decl.c:1199 cp/name-lookup.c:526
++#: cp/class.c:6438 cp/decl.c:1200 cp/name-lookup.c:525
+ #, gcc-internal-format
+ msgid "declaration of %q#D"
+ msgstr "%q#D yeniden bildirimi"
+
+-#: cp/class.c:6359
++#: cp/class.c:6439
+ #, gcc-internal-format
+ msgid "changes meaning of %qD from %q+#D"
+ msgstr "%qD'nin %q+#D üzerindeki anlamını değişiyor"
+@@ -27459,7 +27424,7 @@
+ msgid "conversion from %qT to %qT discards qualifiers"
+ msgstr "%qT türünden %qT türüne dönüşüm niteleyicileri iptal ediyor"
+
+-#: cp/cvt.c:470 cp/typeck.c:5257
++#: cp/cvt.c:470 cp/typeck.c:5265
+ #, gcc-internal-format
+ msgid "casting %qT to %qT does not dereference pointer"
+ msgstr "%qT türünden %qT türüne dönüşüm gösterici başvurusunu kaldırmaz"
+@@ -27469,190 +27434,190 @@
+ msgid "cannot convert type %qT to type %qT"
+ msgstr "%qT türü %qT türüne dönüştürülemiyor"
+
+-#: cp/cvt.c:656
++#: cp/cvt.c:649
+ #, gcc-internal-format
+ msgid "conversion from %q#T to %q#T"
+ msgstr "%q#T türünden %q#T türüne dönüşüm"
+
+-#: cp/cvt.c:668 cp/cvt.c:688
++#: cp/cvt.c:661 cp/cvt.c:681
+ #, fuzzy, gcc-internal-format
+ msgid "%q#T used where a %qT was expected"
+ msgstr "%2$qT umulan yerde %1$q#T kullanılmış"
+
+-#: cp/cvt.c:703
++#: cp/cvt.c:696
+ #, gcc-internal-format
+ msgid "%q#T used where a floating point value was expected"
+ msgstr "bir gerçel sayı değer umulan yerde %q#T kullanılmış"
+
+-#: cp/cvt.c:750
++#: cp/cvt.c:743
+ #, gcc-internal-format
+ msgid "conversion from %qT to non-scalar type %qT requested"
+ msgstr "%qT türünden skalar olmayan %qT türüne dönüşüm istendi"
+
+-#: cp/cvt.c:784
++#: cp/cvt.c:777
+ #, gcc-internal-format
+ msgid "pseudo-destructor is not called"
+ msgstr "sözde yıkıcılar çağrılmaz"
+
+-#: cp/cvt.c:844
++#: cp/cvt.c:837
+ #, gcc-internal-format
+ msgid "object of incomplete type %qT will not be accessed in %s"
+ msgstr "içi boş %qT türünden nesne, %s içinde erişilir olmayacak"
+
+-#: cp/cvt.c:849
++#: cp/cvt.c:842
+ #, gcc-internal-format
+ msgid "object of type %qT will not be accessed in %s"
+ msgstr "%qT türünden nesne, %s içinde erişilir olmayacak"
+
+-#: cp/cvt.c:865
++#: cp/cvt.c:858
+ #, fuzzy, gcc-internal-format
+ msgid "object %qE of incomplete type %qT will not be accessed in %s"
+ msgstr "içi boş %2$qT türündeki %1$E nesnesi, %3$s içinde erişimli olmayacak"
+
+ #. [over.over] enumerates the places where we can take the address
+ #. of an overloaded function, and this is not one of them.
+-#: cp/cvt.c:902
++#: cp/cvt.c:895
+ #, gcc-internal-format
+ msgid "%s cannot resolve address of overloaded function"
+ msgstr "%s aşırı yüklü işlevin adresini çözümleyemiyor"
+
+ #. Only warn when there is no &.
+-#: cp/cvt.c:909
++#: cp/cvt.c:902
+ #, gcc-internal-format
+ msgid "%s is a reference, not call, to function %qE"
+ msgstr "%s %qE işlevine çağrı değil bir atıftır"
+
+-#: cp/cvt.c:926
++#: cp/cvt.c:919
+ #, gcc-internal-format
+ msgid "%s has no effect"
+ msgstr "%s bir etkiye sahip deÄŸil"
+
+-#: cp/cvt.c:958
++#: cp/cvt.c:951
+ #, gcc-internal-format
+ msgid "value computed is not used"
+ msgstr "hesaplanan değer kullanılmadı"
+
+-#: cp/cvt.c:1068
++#: cp/cvt.c:1061
+ #, gcc-internal-format
+ msgid "converting NULL to non-pointer type"
+ msgstr "NULL'dan gösterici olmayan türe dönüşüm"
+
+-#: cp/cvt.c:1174
++#: cp/cvt.c:1167
+ #, gcc-internal-format
+ msgid "ambiguous default type conversion from %qT"
+ msgstr "%qT tünüden öntanımlı türe dönüşüm belirsiz"
+
+-#: cp/cvt.c:1176
++#: cp/cvt.c:1169
+ #, gcc-internal-format
+ msgid " candidate conversions include %qD and %qD"
+ msgstr " aday dönüşümler %qD ve %qD içeriyor"
+
+-#: cp/decl.c:1062
++#: cp/decl.c:1063
+ #, gcc-internal-format
+ msgid "%qD was declared %<extern%> and later %<static%>"
+ msgstr "%qD önce %<extern%> sonra da %<static%> bildirilmiş"
+
+-#: cp/decl.c:1063 cp/decl.c:1618 objc/objc-act.c:2931 objc/objc-act.c:7503
++#: cp/decl.c:1064 cp/decl.c:1619 objc/objc-act.c:2931 objc/objc-act.c:7503
+ #, gcc-internal-format
+ msgid "previous declaration of %q+D"
+ msgstr "%q+D bildiriminin önceki bildirimi"
+
+-#: cp/decl.c:1096
++#: cp/decl.c:1097
+ #, gcc-internal-format
+ msgid "declaration of %qF throws different exceptions"
+ msgstr "%qF bildirimi"
+
+-#: cp/decl.c:1097
++#: cp/decl.c:1098
+ #, gcc-internal-format
+ msgid "from previous declaration %q+F"
+ msgstr "önceki %q+F bildirimindeki farklı olağandışılıkları yakalıyor"
+
+-#: cp/decl.c:1153
++#: cp/decl.c:1154
+ #, gcc-internal-format
+ msgid "function %q+D redeclared as inline"
+ msgstr "iÅŸlev %q+D 'inline' olarak yeniden bildirilmiÅŸ"
+
+-#: cp/decl.c:1155
++#: cp/decl.c:1156
+ #, gcc-internal-format
+ msgid "previous declaration of %q+D with attribute noinline"
+ msgstr "önceki %q+D bildirimi 'inline' öznitelikli değil"
+
+-#: cp/decl.c:1162
++#: cp/decl.c:1163
+ #, gcc-internal-format
+ msgid "function %q+D redeclared with attribute noinline"
+ msgstr "%q+D işlevinin yeniden bildirimi inline öznitelikli değil"
+
+-#: cp/decl.c:1164
++#: cp/decl.c:1165
+ #, gcc-internal-format
+ msgid "previous declaration of %q+D was inline"
+ msgstr "önceki %q+D bildirimi 'inline' idi"
+
+-#: cp/decl.c:1186 cp/decl.c:1259
++#: cp/decl.c:1187 cp/decl.c:1260
+ #, gcc-internal-format
+ msgid "shadowing %s function %q#D"
+ msgstr "%s %q#D işlevini gölgeliyor"
+
+-#: cp/decl.c:1195
++#: cp/decl.c:1196
+ #, gcc-internal-format
+ msgid "library function %q#D redeclared as non-function %q#D"
+ msgstr "kütüphane işlevi %q#D işlev olmayan %q#D olarak yeniden bildirildi"
+
+-#: cp/decl.c:1200
++#: cp/decl.c:1201
+ #, gcc-internal-format
+ msgid "conflicts with built-in declaration %q#D"
+ msgstr "%q#D yerleşik bildirimiyle çelişiyor"
+
+-#: cp/decl.c:1254 cp/decl.c:1380 cp/decl.c:1396
++#: cp/decl.c:1255 cp/decl.c:1381 cp/decl.c:1397
+ #, gcc-internal-format
+ msgid "new declaration %q#D"
+ msgstr "yeni %q#D bildirimi"
+
+-#: cp/decl.c:1255
++#: cp/decl.c:1256
+ #, gcc-internal-format
+ msgid "ambiguates built-in declaration %q#D"
+ msgstr "%q#D yerleÅŸik bildirimini belirsizleÅŸtiriyor"
+
+-#: cp/decl.c:1344
++#: cp/decl.c:1345
+ #, gcc-internal-format
+ msgid "%q#D redeclared as different kind of symbol"
+ msgstr "%q#D farklı bir simge çeşidi olarak tekrar bildirilmiş"
+
+-#: cp/decl.c:1347
++#: cp/decl.c:1348
+ #, gcc-internal-format
+ msgid "previous declaration of %q+#D"
+ msgstr "önceki %q+#D bildirimi"
+
+-#: cp/decl.c:1366
++#: cp/decl.c:1367
+ #, gcc-internal-format
+ msgid "declaration of template %q#D"
+ msgstr "%q#D ÅŸablon bildirimi"
+
+-#: cp/decl.c:1367 cp/name-lookup.c:527
++#: cp/decl.c:1368 cp/name-lookup.c:526
+ #, gcc-internal-format
+ msgid "conflicts with previous declaration %q+#D"
+ msgstr "önceki %q+#D bildirimiyle çelişiyor"
+
+-#: cp/decl.c:1381 cp/decl.c:1397
++#: cp/decl.c:1382 cp/decl.c:1398
+ #, gcc-internal-format
+ msgid "ambiguates old declaration %q+#D"
+ msgstr "eski %q+#D bildirimini belirsizleÅŸtiriyor"
+
+-#: cp/decl.c:1389
++#: cp/decl.c:1390
+ #, gcc-internal-format
+ msgid "declaration of C function %q#D conflicts with"
+ msgstr "C iÅŸlevi %q#D bildirimi"
+
+-#: cp/decl.c:1391
++#: cp/decl.c:1392
+ #, gcc-internal-format
+ msgid "previous declaration %q+#D here"
+ msgstr "buradaki önceki %q+#D bildirimi ile çelişiyor"
+
+-#: cp/decl.c:1405
++#: cp/decl.c:1406
+ #, gcc-internal-format
+ msgid "conflicting declaration %q#D"
+ msgstr "%q#D bildirimi çelişkili"
+
+-#: cp/decl.c:1406
++#: cp/decl.c:1407
+ #, gcc-internal-format
+ msgid "%q+D has a previous declaration as %q#D"
+ msgstr "%q+D evvelce %q#D olarak bildirilmiÅŸ"
+@@ -27664,63 +27629,63 @@
+ #. A namespace-name defined at global scope shall not be
+ #. declared as the name of any other entity in any global scope
+ #. of the program.
+-#: cp/decl.c:1458
++#: cp/decl.c:1459
+ #, gcc-internal-format
+ msgid "declaration of namespace %qD conflicts with"
+ msgstr "isim alanı bildirimi %qD"
+
+-#: cp/decl.c:1459
++#: cp/decl.c:1460
+ #, gcc-internal-format
+ msgid "previous declaration of namespace %q+D here"
+ msgstr "buradaki isim alanı bildirimi %q+D ile çelişiyor"
+
+-#: cp/decl.c:1470
++#: cp/decl.c:1471
+ #, gcc-internal-format
+ msgid "%q+#D previously defined here"
+ msgstr "%q+#D evvelce burada tanımlanmış"
+
+ #. Prototype decl follows defn w/o prototype.
+-#: cp/decl.c:1480
++#: cp/decl.c:1481
+ #, gcc-internal-format
+ msgid "prototype for %q+#D"
+ msgstr "%q+#D için prototip"
+
+-#: cp/decl.c:1481
++#: cp/decl.c:1482
+ #, gcc-internal-format
+ msgid "%Jfollows non-prototype definition here"
+ msgstr "%Jburadaki prototip olmayan tanımı izliyor"
+
+-#: cp/decl.c:1521
++#: cp/decl.c:1522
+ #, fuzzy, gcc-internal-format
+ msgid "previous declaration of %q+#D with %qL linkage"
+ msgstr "%2$qL ilintili önceki %1$q+#D bildirimi"
+
+-#: cp/decl.c:1523
++#: cp/decl.c:1524
+ #, gcc-internal-format
+ msgid "conflicts with new declaration with %qL linkage"
+ msgstr "%qL ilintili yeni bildirim ile çelişiyor"
+
+-#: cp/decl.c:1546 cp/decl.c:1552
++#: cp/decl.c:1547 cp/decl.c:1553
+ #, fuzzy, gcc-internal-format
+ msgid "default argument given for parameter %d of %q#D"
+ msgstr "öntanımlı argüman %2$q#D bildiriminin %1$d. parametresi için"
+
+-#: cp/decl.c:1548 cp/decl.c:1554
++#: cp/decl.c:1549 cp/decl.c:1555
+ #, gcc-internal-format
+ msgid "after previous specification in %q+#D"
+ msgstr "%q+#D bildirimindeki önceki belirtimden sonra verilmiş"
+
+-#: cp/decl.c:1563
++#: cp/decl.c:1564
+ #, gcc-internal-format
+ msgid "%q#D was used before it was declared inline"
+ msgstr "%q#D inline olarak bildirilmeden önce"
+
+-#: cp/decl.c:1564
++#: cp/decl.c:1565
+ #, gcc-internal-format
+ msgid "%Jprevious non-inline declaration here"
+ msgstr "%Jburada önceki inline olmayan bildirimde kullanılmış"
+
+-#: cp/decl.c:1617
++#: cp/decl.c:1618
+ #, gcc-internal-format
+ msgid "redundant redeclaration of %qD in same scope"
+ msgstr "%qD bildiriminin aynı bağlamda bununla yeniden bildirimi anlamsız:"
+@@ -27733,313 +27698,319 @@
+ #. that specialization that would cause an implicit
+ #. instantiation to take place, in every translation unit in
+ #. which such a use occurs.
+-#: cp/decl.c:1932
++#: cp/decl.c:1939
+ #, gcc-internal-format
+ msgid "explicit specialization of %qD after first use"
+ msgstr "ilk kullanımdan sonra %D'nin açıkça özelleştirilmesi"
+
+-#: cp/decl.c:2028
++#: cp/decl.c:2035
+ #, gcc-internal-format
+ msgid "%q+D: visibility attribute ignored because it"
+ msgstr "%q+D: görünürlük özniteliği yoksayıldı çünkü"
+
+-#: cp/decl.c:2030
++#: cp/decl.c:2037
+ #, gcc-internal-format
+ msgid "%Jconflicts with previous declaration here"
+ msgstr "%Jburadaki önceki bildirimiyle çelişiyor"
+
+-#: cp/decl.c:2457
++#: cp/decl.c:2464
+ #, gcc-internal-format
+ msgid "jump to label %qD"
+ msgstr "%qD yaftasına jump"
+
+-#: cp/decl.c:2459
++#: cp/decl.c:2466
+ #, gcc-internal-format
+ msgid "jump to case label"
+ msgstr "case yaftasına jump"
+
+-#: cp/decl.c:2461
++#: cp/decl.c:2468
+ #, gcc-internal-format
+ msgid "%H from here"
+ msgstr "%H buradan"
+
+-#: cp/decl.c:2480 cp/decl.c:2643
++#: cp/decl.c:2487 cp/decl.c:2650
+ #, gcc-internal-format
+ msgid " exits OpenMP structured block"
+ msgstr ""
+
+-#: cp/decl.c:2501
++#: cp/decl.c:2508
+ #, gcc-internal-format
+ msgid " crosses initialization of %q+#D"
+ msgstr " %q+#D ilklendirmesini kesiyor"
+
+-#: cp/decl.c:2503 cp/decl.c:2618
++#: cp/decl.c:2510 cp/decl.c:2625
+ #, gcc-internal-format
+ msgid " enters scope of non-POD %q+#D"
+ msgstr " POD olmayan %q+#D etki alanına giriyor"
+
+-#: cp/decl.c:2516 cp/decl.c:2622
++#: cp/decl.c:2523 cp/decl.c:2629
+ #, gcc-internal-format
+ msgid " enters try block"
+ msgstr " try blokuna giriliyor"
+
+-#: cp/decl.c:2518 cp/decl.c:2624
++#: cp/decl.c:2525 cp/decl.c:2631
+ #, gcc-internal-format
+ msgid " enters catch block"
+ msgstr " catch blokuna giriyor"
+
+-#: cp/decl.c:2528 cp/decl.c:2627
++#: cp/decl.c:2535 cp/decl.c:2634
+ #, fuzzy, gcc-internal-format
+ msgid " enters OpenMP structured block"
+ msgstr " try blokuna giriliyor"
+
+-#: cp/decl.c:2599 cp/decl.c:2639
++#: cp/decl.c:2606 cp/decl.c:2646
+ #, gcc-internal-format
+ msgid "jump to label %q+D"
+ msgstr "%q+D yaftasına jump"
+
+-#: cp/decl.c:2600 cp/decl.c:2640
++#: cp/decl.c:2607 cp/decl.c:2647
+ #, gcc-internal-format
+ msgid " from here"
+ msgstr " buradan"
+
+ #. Can't skip init of __exception_info.
+-#: cp/decl.c:2612
++#: cp/decl.c:2619
+ #, gcc-internal-format
+ msgid "%J enters catch block"
+ msgstr "%J catch blokuna giriliyor"
+
+-#: cp/decl.c:2616
++#: cp/decl.c:2623
+ #, gcc-internal-format
+ msgid " skips initialization of %q+#D"
+ msgstr " %q+#D ilklendirmesi atlanıyor"
+
+-#: cp/decl.c:2692
++#: cp/decl.c:2699
+ #, gcc-internal-format
+ msgid "label named wchar_t"
+ msgstr "wchar_t isimli yafta"
+
+-#: cp/decl.c:2696
++#: cp/decl.c:2703
+ #, gcc-internal-format
+ msgid "duplicate label %qD"
+ msgstr "yinelenmiş %qD yaftası"
+
+-#: cp/decl.c:2962
++#: cp/decl.c:2969
+ #, fuzzy, gcc-internal-format
+ msgid "%qD is not a type"
+ msgstr "%qD bir ÅŸablon deÄŸil"
+
+-#: cp/decl.c:2968 cp/parser.c:4033
++#: cp/decl.c:2975 cp/parser.c:4037
+ #, gcc-internal-format
+ msgid "%qD used without template parameters"
+ msgstr "%qD şablon parametreleri olmaksızın kullanılmış"
+
+-#: cp/decl.c:2983
++#: cp/decl.c:2990
+ #, fuzzy, gcc-internal-format
+ msgid "%q#T is not a class"
+ msgstr "%q#T bir ÅŸablon deÄŸil"
+
+-#: cp/decl.c:2995 cp/decl.c:3063
++#: cp/decl.c:3002 cp/decl.c:3070
+ #, 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.c:3003
++#: cp/decl.c:3010
+ #, fuzzy, gcc-internal-format
+ msgid "%<typename %T::%D%> 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.c:3010
++#: cp/decl.c:3017
+ #, fuzzy, gcc-internal-format
+ msgid "%<typename %T::%D%> names %q#T, which is not a type"
+ msgstr "%<%T::%D%> bir tür değil"
+
+-#: cp/decl.c:3072
++#: cp/decl.c:3079
+ #, gcc-internal-format
+ msgid "template parameters do not match template"
+ msgstr "ÅŸablon parametreleri bu ÅŸablonla uyuÅŸmuyor:"
+
+-#: cp/decl.c:3073 cp/friend.c:321 cp/friend.c:329
++#: cp/decl.c:3080 cp/friend.c:321 cp/friend.c:329
+ #, gcc-internal-format
+ msgid "%q+D declared here"
+ msgstr "burada bildirilmiÅŸ %q+D"
+
+-#: cp/decl.c:3711
++#: cp/decl.c:3727
+ #, fuzzy, gcc-internal-format
+ msgid "%Jan anonymous struct cannot have function members"
+ msgstr "%J bir anonim union, işlev üyeler içeremez"
+
+-#: cp/decl.c:3713
++#: cp/decl.c:3729
+ #, gcc-internal-format
+ msgid "%Jan anonymous union cannot have function members"
+ msgstr "%J bir anonim union, işlev üyeler içeremez"
+
+-#: cp/decl.c:3731
++#: cp/decl.c:3747
+ #, 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.c:3734
++#: cp/decl.c:3750
+ #, 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.c:3737
++#: cp/decl.c:3753
+ #, 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.c:3762
++#: cp/decl.c:3778
+ #, gcc-internal-format
+ msgid "multiple types in one declaration"
+ msgstr "bir bildirimde birden fazla tür"
+
+-#: cp/decl.c:3766
++#: cp/decl.c:3782
+ #, gcc-internal-format
+ msgid "redeclaration of C++ built-in type %qT"
+ msgstr "C++ yerleşik türü %qT için yeniden bildirim"
+
+-#: cp/decl.c:3803
++#: cp/decl.c:3819
+ #, gcc-internal-format
+ msgid "missing type-name in typedef-declaration"
+ msgstr "typedef bildiriminde tür ismi eksik"
+
+-#: cp/decl.c:3811
++#: cp/decl.c:3827
+ #, gcc-internal-format
+ msgid "ISO C++ prohibits anonymous structs"
+ msgstr "ISO C++ anonim yapıları (struct) yasaklar"
+
+-#: cp/decl.c:3818
++#: cp/decl.c:3834
+ #, gcc-internal-format
+ msgid "%qs can only be specified for functions"
+ msgstr "%qs sadece işlevler için belirtilebilir"
+
+-#: cp/decl.c:3824
++#: cp/decl.c:3840
+ #, gcc-internal-format
+ msgid "%<friend%> can only be specified inside a class"
+ msgstr "%<friend%> sadece bir sınıf içinde belirtilebilir"
+
+-#: cp/decl.c:3826
++#: cp/decl.c:3842
+ #, gcc-internal-format
+ msgid "%<explicit%> can only be specified for constructors"
+ msgstr "%<explicit%> sadece kurucular için belirtilebilir"
+
+-#: cp/decl.c:3828
++#: cp/decl.c:3844
+ #, 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.c:3834
++#: cp/decl.c:3850
+ #, gcc-internal-format
+ msgid "qualifiers can only be specified for objects and functions"
+ msgstr "niteliyiciler sadece işlevler ve nesneler için belirtilebilir"
+
+-#: cp/decl.c:3837
++#: cp/decl.c:3853
+ #, fuzzy, gcc-internal-format
+ msgid "%<typedef%> was ignored in this declaration"
+ msgstr "typedef bildirimi parametre bildiriminde geçersiz"
+
+-#: cp/decl.c:3866
++#: cp/decl.c:3882
+ #, gcc-internal-format
+ msgid "attribute ignored in declaration of %q+#T"
+ msgstr "%q+#T bildiriminde öznitelik yoksayıldı"
+
+-#: cp/decl.c:3867
++#: cp/decl.c:3883
+ #, gcc-internal-format
+ msgid "attribute for %q+#T must follow the %qs keyword"
+ msgstr "%q+#T için öznitelik %qs anahtar sözcüğünü izlemeli"
+
+-#: cp/decl.c:3909
++#: cp/decl.c:3925
+ #, fuzzy, gcc-internal-format
+-msgid "ignoring attributes applied to class type outside of definition"
++msgid "ignoring attributes applied to class type %qT outside of definition"
+ msgstr "%qE özniteliği sadece sınıf tanımlarına uygulanabilir"
+
+-#: cp/decl.c:3987
++#. A template type parameter or other dependent type.
++#: cp/decl.c:3929
+ #, gcc-internal-format
++msgid "ignoring attributes applied to dependent type %qT without an associated declaration"
++msgstr ""
++
++#: cp/decl.c:4007
++#, 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.c:3998
++#: cp/decl.c:4018
+ #, gcc-internal-format
+ msgid "declaration of %q#D has %<extern%> and is initialized"
+ msgstr "%q#D hem %<extern%> olarak bildirilmiÅŸ hem de ilklendirilmiÅŸ"
+
+-#: cp/decl.c:4014
++#: cp/decl.c:4034
+ #, fuzzy, gcc-internal-format
+ msgid "definition of %q#D is marked %<dllimport%>"
+ msgstr "%q+D işlevinin tanımı dllimport imli"
+
+-#: cp/decl.c:4033
++#: cp/decl.c:4053
+ #, gcc-internal-format
+ msgid "%q#D is not a static member of %q#T"
+ msgstr "%q#D bildirimi %q#T bağlamının bir static üyesi değildir"
+
+-#: cp/decl.c:4039
++#: cp/decl.c:4059
+ #, 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.c:4048
++#: cp/decl.c:4068
+ #, gcc-internal-format
+ msgid "template header not allowed in member definition of explicitly specialized class"
+ msgstr "açıkça özelleştirilmiş sınıfın üye tanımında şablon başlığına izin verilmez"
+
+-#: cp/decl.c:4056
++#: cp/decl.c:4076
+ #, gcc-internal-format
+ msgid "duplicate initialization of %qD"
+ msgstr "%qD ilklendirmesi yinelenmiÅŸ"
+
+-#: cp/decl.c:4095
++#: cp/decl.c:4115
+ #, 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.c:4188
++#: cp/decl.c:4208
+ #, 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.c:4194 cp/decl.c:4906
++#: cp/decl.c:4214 cp/decl.c:4926
+ #, gcc-internal-format
+ msgid "elements of array %q#D have incomplete type"
+ msgstr "%q#D dizisinin elemanları içi boş türde"
+
+-#: cp/decl.c:4200
++#: cp/decl.c:4220
+ #, 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.c:4236
++#: cp/decl.c:4256
+ #, gcc-internal-format
+ msgid "%qD declared as reference but not initialized"
+ msgstr "%qD baÅŸvuru olarak bildirilmiÅŸ ama ilklendirilmemiÅŸ"
+
+-#: cp/decl.c:4242
++#: cp/decl.c:4262
+ #, gcc-internal-format
+ msgid "ISO C++ forbids use of initializer list to initialize reference %qD"
+ msgstr "ISO C++ %qD başvurusunu ilklendirmek için ilklendirici listesi kullanımına izin vermez"
+
+-#: cp/decl.c:4268
++#: cp/decl.c:4288
+ #, gcc-internal-format
+ msgid "cannot initialize %qT from %qT"
+ msgstr "%qT türü %qT türünden ilklendirilemez"
+
+-#: cp/decl.c:4296
++#: cp/decl.c:4316
+ #, 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.c:4345
++#: cp/decl.c:4365
+ #, gcc-internal-format
+ msgid "initializer fails to determine size of %qD"
+ msgstr "ilklendirici %qD bildiriminin boyutunu saptayamıyor"
+
+-#: cp/decl.c:4352
++#: cp/decl.c:4372
+ #, gcc-internal-format
+ msgid "array size missing in %qD"
+ msgstr "%qD bildiriminde dizi boyutu eksik"
+
+-#: cp/decl.c:4364
++#: cp/decl.c:4384
+ #, gcc-internal-format
+ msgid "zero-size array %qD"
+ msgstr "sıfır boyutlu dizi %qD"
+@@ -28047,240 +28018,250 @@
+ #. An automatic variable with an incomplete type: that is an error.
+ #. Don't talk about array types here, since we took care of that
+ #. message in grokdeclarator.
+-#: cp/decl.c:4407
++#: cp/decl.c:4427
+ #, gcc-internal-format
+ msgid "storage size of %qD isn't known"
+ msgstr "%qD bildiriminin saklama boyutu bilinmiyor"
+
+-#: cp/decl.c:4429
++#: cp/decl.c:4449
+ #, gcc-internal-format
+ msgid "storage size of %qD isn't constant"
+ msgstr "%qD bildiriminin saklama boyutu sabit deÄŸil"
+
+-#: cp/decl.c:4478
++#: cp/decl.c:4498
+ #, gcc-internal-format
+ 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.c:4481
++#: cp/decl.c:4501
+ #, gcc-internal-format
+ msgid "%J you can work around this by removing the initializer"
+ msgstr "%J ilklendiriciyi kaldırarak bunun olurunu bulabilirsiniz"
+
+-#: cp/decl.c:4508
++#: cp/decl.c:4528
+ #, gcc-internal-format
+ msgid "uninitialized const %qD"
+ msgstr "ilklendirilmemiÅŸ sabit %qD"
+
+-#: cp/decl.c:4620
++#: cp/decl.c:4640
+ #, 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.c:4662
++#: cp/decl.c:4682
+ #, gcc-internal-format
+ msgid "initializer for %qT must be brace-enclosed"
+ msgstr "%qT için ilklendirici {} içinde olmalı"
+
+-#: cp/decl.c:4680
++#: cp/decl.c:4700
+ #, 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.c:4731
++#: cp/decl.c:4751
+ #, gcc-internal-format
+ msgid "braces around scalar initializer for type %qT"
+ msgstr "%qT için skalar ilklendiriciyi kuşatan parantezler"
+
+-#: cp/decl.c:4814
++#: cp/decl.c:4834
+ #, gcc-internal-format
+ msgid "missing braces around initializer for %qT"
+ msgstr "%qT için ilklendiriciyi çevreleyen parantezler yok"
+
+-#: cp/decl.c:4871
++#: cp/decl.c:4891
+ #, gcc-internal-format
+ msgid "too many initializers for %qT"
+ msgstr "%qT için ilklendirici sayısı çok fazla"
+
+-#: cp/decl.c:4914
++#: cp/decl.c:4934
+ #, gcc-internal-format
+ msgid "variable-sized object %qD may not be initialized"
+ msgstr "deÄŸiÅŸken-boyutlu nesne %qD ilklendirilmemiÅŸ olabilir"
+
+-#: cp/decl.c:4920
++#: cp/decl.c:4940
+ #, gcc-internal-format
+ msgid "%qD has incomplete type"
+ msgstr "%qD içi boş türde"
+
+-#: cp/decl.c:4935
++#: cp/decl.c:4955
+ #, fuzzy, gcc-internal-format
+ msgid "scalar object %qD requires one element in initializer"
+ msgstr "union ilklendiricide gereğinden fazla öğe"
+
+ #. A non-aggregate that is not a scalar cannot be initialized
+ #. via an initializer-list in C++98.
+-#: cp/decl.c:4945
++#: cp/decl.c:4965
+ #, fuzzy, gcc-internal-format
+ msgid "braces around initializer for non-aggregate type %qT"
+ msgstr "%qT için skalar ilklendiriciyi kuşatan parantezler"
+
+-#: cp/decl.c:4995
++#: cp/decl.c:5015
+ #, gcc-internal-format
+ msgid "%qD must be initialized by constructor, not by %<{...}%>"
+ msgstr "%qD bir kurucu ile ilklendirilmeli, %<{...}%> ile deÄŸil"
+
+-#: cp/decl.c:5031
++#: cp/decl.c:5051
+ #, 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.c:5046
++#: cp/decl.c:5066
+ #, gcc-internal-format
+ msgid "structure %qD with uninitialized const members"
+ msgstr "ilklendirmesiz sabit üyelerle %qD yapısı"
+
+-#: cp/decl.c:5048
++#: cp/decl.c:5068
+ #, gcc-internal-format
+ msgid "structure %qD with uninitialized reference members"
+ msgstr "ilklendirmesiz referans üyelerle %qD yapısı"
+
+-#: cp/decl.c:5330
++#: cp/decl.c:5364
+ #, gcc-internal-format
+ msgid "assignment (not initialization) in declaration"
+ msgstr "bildirim içinde atama (ilklendirme değil)"
+
+-#: cp/decl.c:5420
++#: cp/decl.c:5460
+ #, gcc-internal-format
+ msgid "shadowing previous type declaration of %q#D"
+ msgstr "önceki %q#D tür bildirimini gölgeliyor"
+
+-#: cp/decl.c:5450
++#: cp/decl.c:5490
+ #, gcc-internal-format
+ msgid "%qD cannot be thread-local because it has non-POD type %qT"
+ msgstr "%qD evreye yerel olamaz çünkü POD olmayan %qT türünde"
+
+-#: cp/decl.c:5485
++#: cp/decl.c:5522
+ #, gcc-internal-format
++msgid "Java object %qD not allocated with %<new%>"
++msgstr ""
++
++#: cp/decl.c:5539
++#, gcc-internal-format
+ msgid "%qD is thread-local and so cannot be dynamically initialized"
+ msgstr "%qD evreye yerel olup özdevimli ilklendirilemez"
+
+-#: cp/decl.c:5503
++#: cp/decl.c:5557
+ #, gcc-internal-format
+ msgid "%qD cannot be initialized by a non-constant expression when being declared"
+ msgstr "%qD bildirilirken bir sabit olmayan ifade tarafından ilklendirilemez"
+
+-#: cp/decl.c:6160
++#: cp/decl.c:5597
++#, fuzzy, gcc-internal-format
++msgid "non-static data member %qD has Java class type"
++msgstr "dllimport'lu sınıfın %q+D durağan veri üyesinin tanımı"
++
++#: cp/decl.c:6232
+ #, 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.c:6162
++#: cp/decl.c:6234
+ #, 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.c:6183
++#: cp/decl.c:6255
+ #, gcc-internal-format
+ msgid "%qD declared as a %<virtual%> %s"
+ msgstr "%qD bir %<virtual%> %s olarak bildirilmiÅŸ"
+
+-#: cp/decl.c:6185
++#: cp/decl.c:6257
+ #, gcc-internal-format
+ msgid "%qD declared as an %<inline%> %s"
+ msgstr "%qD nesnesi bir %<inline%> %s olarak bildirilmiÅŸ"
+
+-#: cp/decl.c:6187
++#: cp/decl.c:6259
+ #, fuzzy, gcc-internal-format
+ msgid "%<const%> and %<volatile%> function specifiers on %qD invalid in %s declaration"
+ msgstr "%2$s bildirimindeki %<const%> ve %<volatile%> işlev belirtecleri %1$qD için geçersiz"
+
+-#: cp/decl.c:6191
++#: cp/decl.c:6263
+ #, gcc-internal-format
+ msgid "%q+D declared as a friend"
+ msgstr "%q+D bir kardeÅŸ olarak bildirilmiÅŸ"
+
+-#: cp/decl.c:6197
++#: cp/decl.c:6269
+ #, gcc-internal-format
+ msgid "%q+D declared with an exception specification"
+ msgstr "%q+D bir olağandışılık belirtimi ile bildirilmiş"
+
+-#: cp/decl.c:6231
++#: cp/decl.c:6303
+ #, 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.c:6342
++#: cp/decl.c:6414
+ #, gcc-internal-format
+ msgid "defining explicit specialization %qD in friend declaration"
+ msgstr "%qD doğrudan özelleştirmesinin kardeş bildirimde tanımı"
+
+ #. Something like `template <class T> friend void f<T>()'.
+-#: cp/decl.c:6352
++#: cp/decl.c:6424
+ #, 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.c:6382
++#: cp/decl.c:6454
+ #, 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.c:6390
++#: cp/decl.c:6462
+ #, gcc-internal-format
+ msgid "%<inline%> is not allowed in declaration of friend template specialization %qD"
+ msgstr "kardeş şablon özelleştirmesi %qD bildiriminde %<inline%> kullanılamaz"
+
+-#: cp/decl.c:6433
++#: cp/decl.c:6505
+ #, gcc-internal-format
+ msgid "cannot declare %<::main%> to be a template"
+ msgstr "%<::main%> bir ÅŸablon olarak bildirilemez"
+
+-#: cp/decl.c:6435
++#: cp/decl.c:6507
+ #, gcc-internal-format
+ msgid "cannot declare %<::main%> to be inline"
+ msgstr "%<::main%> inline olarak bildirilemez"
+
+-#: cp/decl.c:6437
++#: cp/decl.c:6509
+ #, gcc-internal-format
+ msgid "cannot declare %<::main%> to be static"
+ msgstr "%<::main%> static olarak bildirilemez"
+
+-#: cp/decl.c:6465
++#: cp/decl.c:6537
+ #, gcc-internal-format
+ msgid "non-local function %q#D uses anonymous type"
+ msgstr "yerel olmayan işlev %q#D anonim tür kullanıyor"
+
+-#: cp/decl.c:6468 cp/decl.c:6748
++#: cp/decl.c:6540 cp/decl.c:6820
+ #, gcc-internal-format
+ msgid "%q+#D does not refer to the unqualified type, so it is not used for linkage"
+ msgstr "%q+#D niteliksiz türe başvurmuyor, dolasıyla ilintileme için kullanılmaz"
+
+-#: cp/decl.c:6474
++#: cp/decl.c:6546
+ #, gcc-internal-format
+ msgid "non-local function %q#D uses local type %qT"
+ msgstr "yerel olmayan işlev %q#D yerel %qT türünü kullanıyor"
+
+-#: cp/decl.c:6498
++#: cp/decl.c:6570
+ #, fuzzy, gcc-internal-format
+ msgid "static member function %qD cannot have cv-qualifier"
+ msgstr "%süye işlev %qD cv niteleyicisini içeremez"
+
+-#: cp/decl.c:6499
++#: cp/decl.c:6571
+ #, fuzzy, gcc-internal-format
+ msgid "non-member function %qD cannot have cv-qualifier"
+ msgstr "%süye işlev %qD cv niteleyicisini içeremez"
+
+-#: cp/decl.c:6547
++#: cp/decl.c:6619
+ #, gcc-internal-format
+ msgid "%<::main%> must return %<int%>"
+ msgstr "%<::main%> %<int%> döndürmeli"
+
+-#: cp/decl.c:6586
++#: cp/decl.c:6658
+ #, gcc-internal-format
+ msgid "definition of implicitly-declared %qD"
+ msgstr "dolaylı bildirimli %qD tanımı"
+
+-#: cp/decl.c:6603 cp/decl2.c:677
++#: cp/decl.c:6675 cp/decl2.c:677
+ #, 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"
+@@ -28289,546 +28270,551 @@
+ #. 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/decl.c:6745
++#: cp/decl.c:6817
+ #, gcc-internal-format
+ msgid "non-local variable %q#D uses anonymous type"
+ msgstr "yerel olmayan değişken %q#D anonim tür kullanıyor"
+
+-#: cp/decl.c:6754
++#: cp/decl.c:6826
+ #, gcc-internal-format
+ msgid "non-local variable %q#D uses local type %qT"
+ msgstr "yerel olmayan değişken %q#D yerel %qT türünü kullanıyor"
+
+-#: cp/decl.c:6876
++#: cp/decl.c:6948
+ #, 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.c:6886
++#: cp/decl.c:6958
+ #, 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.c:6890
++#: cp/decl.c:6962
+ #, 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.c:6915
++#: cp/decl.c:6987
+ #, 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.c:6917
++#: cp/decl.c:6989
+ #, gcc-internal-format
+ msgid "size of array has non-integral type %qT"
+ msgstr "dizi boyutu tümlemeyen %qT türünde"
+
+-#: cp/decl.c:6965
++#: cp/decl.c:7037
+ #, gcc-internal-format
+ msgid "size of array %qD is negative"
+ msgstr "%qD dizisinin boyutu negatif"
+
+-#: cp/decl.c:6967
++#: cp/decl.c:7039
+ #, gcc-internal-format
+ msgid "size of array is negative"
+ msgstr "dizi boyutu negatif"
+
+-#: cp/decl.c:6975
++#: cp/decl.c:7047
+ #, 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.c:6977
++#: cp/decl.c:7049
+ #, gcc-internal-format
+ msgid "ISO C++ forbids zero-size array"
+ msgstr "ISO C++'da sıfır boyutlu dizi yasaktır"
+
+-#: cp/decl.c:6984
++#: cp/decl.c:7056
+ #, 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.c:6987
++#: cp/decl.c:7059
+ #, 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.c:6993
++#: cp/decl.c:7065
+ #, fuzzy, gcc-internal-format
+ msgid "ISO C++ forbids variable length array %qD"
+ msgstr "ISO C++ deÄŸiÅŸken boyutlu %qD dizisine izin vermez"
+
+-#: cp/decl.c:6995
++#: cp/decl.c:7067
+ #, fuzzy, gcc-internal-format
+ msgid "ISO C++ forbids variable length array"
+ msgstr "ISO C++ deÄŸiÅŸken boyutlu diziye izin vermez"
+
+-#: cp/decl.c:7001
++#: cp/decl.c:7073
+ #, gcc-internal-format
+ msgid "variable length array %qD is used"
+ msgstr ""
+
+-#: cp/decl.c:7035
++#: cp/decl.c:7107
+ #, gcc-internal-format
+ msgid "overflow in array dimension"
+ msgstr "dizi boyutunda taÅŸma"
+
+-#: cp/decl.c:7116
++#: cp/decl.c:7188
+ #, fuzzy, gcc-internal-format
+ msgid "declaration of %qD as %s"
+ msgstr "%2$s olarak %1$qD bildirimi"
+
+-#: cp/decl.c:7118
++#: cp/decl.c:7190
+ #, gcc-internal-format
+ msgid "creating %s"
+ msgstr "%s oluÅŸturuluyor"
+
+-#: cp/decl.c:7130
++#: cp/decl.c:7202
+ #, 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.c:7134
++#: cp/decl.c:7206
+ #, 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.c:7169
++#: cp/decl.c:7241
+ #, gcc-internal-format
+ msgid "return type specification for constructor invalid"
+ msgstr "kurucu için dönüş türü belirtimi geçersiz"
+
+-#: cp/decl.c:7179
++#: cp/decl.c:7251
+ #, 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.c:7192
++#: cp/decl.c:7264
+ #, gcc-internal-format
+ msgid "return type specified for %<operator %T%>"
+ msgstr "%<operator %T%> için dönüş türü belirtilmiş"
+
+-#: cp/decl.c:7214
++#: cp/decl.c:7286
+ #, gcc-internal-format
+ msgid "unnamed variable or field declared void"
+ msgstr "void bildirimli adsız değişken ya da alan"
+
+-#: cp/decl.c:7218
++#: cp/decl.c:7290
+ #, gcc-internal-format
+ msgid "variable or field %qE declared void"
+ msgstr "void bildirimli deÄŸiÅŸken ya da alan %qE"
+
+-#: cp/decl.c:7221
++#: cp/decl.c:7293
+ #, gcc-internal-format
+ msgid "variable or field declared void"
+ msgstr "void bildirimli deÄŸiÅŸken ya da alan"
+
+-#: cp/decl.c:7388
++#: cp/decl.c:7460
+ #, fuzzy, gcc-internal-format
+ msgid "invalid use of qualified-name %<::%D%>"
+ msgstr "%<::%> kullanımı geçersiz"
+
+-#: cp/decl.c:7391
++#: cp/decl.c:7463
+ #, fuzzy, gcc-internal-format
+ msgid "invalid use of qualified-name %<%T::%D%>"
+ msgstr "tanımsız tür %<%s %E%> kullanımı geçersiz"
+
+-#: cp/decl.c:7394
++#: cp/decl.c:7466
+ #, fuzzy, gcc-internal-format
+ msgid "invalid use of qualified-name %<%D::%D%>"
+ msgstr "tanımsız tür %<%s %E%> kullanımı geçersiz"
+
+-#: cp/decl.c:7406
++#: cp/decl.c:7478
+ #, gcc-internal-format
+ msgid "type %qT is not derived from type %qT"
+ msgstr "%qT türü %qT türünden türetilmemiş"
+
+-#: cp/decl.c:7422 cp/decl.c:7512 cp/decl.c:8660
++#: cp/decl.c:7494 cp/decl.c:7584 cp/decl.c:8732
+ #, gcc-internal-format
+ msgid "declaration of %qD as non-function"
+ msgstr "iÅŸlev olmayan olarak %qD bildirimi"
+
+-#: cp/decl.c:7428
++#: cp/decl.c:7500
+ #, gcc-internal-format
+ msgid "declaration of %qD as non-member"
+ msgstr "üye olmayan olarak %qD bildirimi"
+
+-#: cp/decl.c:7457
++#: cp/decl.c:7529
+ #, 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.c:7504
++#: cp/decl.c:7576
+ #, fuzzy, gcc-internal-format
+ msgid "function definition does not declare parameters"
+ msgstr "%<register%> bildirimli işlev tanımı"
+
+-#: cp/decl.c:7546
++#: cp/decl.c:7618
+ #, 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.c:7552
++#: cp/decl.c:7624
+ #, fuzzy, gcc-internal-format
+ msgid "conflicting specifiers in declaration of %qs"
+ msgstr "%q#D bildirimi çelişkili"
+
+-#: cp/decl.c:7623 cp/decl.c:7626
++#: cp/decl.c:7695 cp/decl.c:7698
+ #, 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.c:7651
++#: cp/decl.c:7723
+ #, fuzzy, gcc-internal-format
+ msgid "%<signed%> or %<unsigned%> invalid for %qs"
+ msgstr "%qs için short, signed veya unsigned geçersiz"
+
+-#: cp/decl.c:7653
++#: cp/decl.c:7725
+ #, fuzzy, gcc-internal-format
+ msgid "%<signed%> and %<unsigned%> specified together for %qs"
+ msgstr "%qs için signed ve unsigned birlikte verilmiş"
+
+-#: cp/decl.c:7655
++#: cp/decl.c:7727
+ #, fuzzy, gcc-internal-format
+ msgid "%<long long%> invalid for %qs"
+ msgstr "%qs için complex geçersiz"
+
+-#: cp/decl.c:7657
++#: cp/decl.c:7729
+ #, fuzzy, gcc-internal-format
+ msgid "%<long%> invalid for %qs"
+ msgstr "%qs için complex geçersiz"
+
+-#: cp/decl.c:7659
++#: cp/decl.c:7731
+ #, fuzzy, gcc-internal-format
+ msgid "%<short%> invalid for %qs"
+ msgstr "%qs için complex geçersiz"
+
+-#: cp/decl.c:7661
++#: cp/decl.c:7733
+ #, fuzzy, gcc-internal-format
+ msgid "%<long%> or %<short%> invalid for %qs"
+ msgstr "%qs için long, short, signed ya da unsigned geçersiz"
+
+-#: cp/decl.c:7663
++#: cp/decl.c:7735
+ #, fuzzy, gcc-internal-format
+ msgid "%<long%> or %<short%> specified with char for %qs"
+ msgstr "%qs için char ile long veya short belirtilmiş"
+
+-#: cp/decl.c:7665
++#: cp/decl.c:7737
+ #, fuzzy, gcc-internal-format
+ msgid "%<long%> and %<short%> specified together for %qs"
+ msgstr "%qs için long ve short birlikte belirtilmiş"
+
+-#: cp/decl.c:7671
++#: cp/decl.c:7743
+ #, gcc-internal-format
+ msgid "long, short, signed or unsigned used invalidly for %qs"
+ msgstr "%qs için long, short, signed ya da unsigned geçersiz olarak kullanılmış"
+
+-#: cp/decl.c:7735
++#: cp/decl.c:7807
+ #, gcc-internal-format
+ msgid "complex invalid for %qs"
+ msgstr "%qs için complex geçersiz"
+
+-#: cp/decl.c:7764
++#: cp/decl.c:7836
+ #, gcc-internal-format
+ msgid "qualifiers are not allowed on declaration of %<operator %T%>"
+ msgstr "%<operator %T%> bildiriminde niteleyicilere izin verilmez"
+
+-#: cp/decl.c:7776 cp/typeck.c:7011
++#: cp/decl.c:7848 cp/typeck.c:7039
+ #, fuzzy, gcc-internal-format
+ msgid "ignoring %qV qualifiers added to function type %qT"
+ msgstr "%2$qT işlev türüne ekli %1$qV niteleyicileri yoksayılıyor"
+
+-#: cp/decl.c:7799
++#: cp/decl.c:7871
+ #, gcc-internal-format
+ msgid "member %qD cannot be declared both virtual and static"
+ msgstr "üye %qD, hem virtual hem de static olarak bildirilemez"
+
+-#: cp/decl.c:7807
++#: cp/decl.c:7879
+ #, gcc-internal-format
+ msgid "%<%T::%D%> is not a valid declarator"
+ msgstr "%<%T::%D%> geçerli bir bildirici değil"
+
+-#: cp/decl.c:7816
++#: cp/decl.c:7888
+ #, gcc-internal-format
+ msgid "typedef declaration invalid in parameter declaration"
+ msgstr "typedef bildirimi parametre bildiriminde geçersiz"
+
+-#: cp/decl.c:7822
++#: cp/decl.c:7894
+ #, gcc-internal-format
+ msgid "storage class specifiers invalid in parameter declarations"
+ msgstr "saklatım sınıfı belirteçleri parametre bildiriminde geçersiz"
+
+-#: cp/decl.c:7829
++#: cp/decl.c:7901
+ #, gcc-internal-format
+ msgid "virtual outside class declaration"
+ msgstr "sanal dış sınıf bildirimi"
+
+-#: cp/decl.c:7847
++#: cp/decl.c:7919
+ #, gcc-internal-format
+ msgid "multiple storage classes in declaration of %qs"
+ msgstr "%qs bildiriminde çok sayıda saklama sınıfı"
+
+-#: cp/decl.c:7870
++#: cp/decl.c:7942
+ #, gcc-internal-format
+ msgid "storage class specified for %qs"
+ msgstr "%qs için saklatım sınıfı belirtilmiş"
+
+-#: cp/decl.c:7904
++#: cp/decl.c:7976
+ #, gcc-internal-format
+ msgid "top-level declaration of %qs specifies %<auto%>"
+ msgstr "%qs için tepe-seviye bildirim %<auto%> belirtiyor"
+
+-#: cp/decl.c:7916
++#: cp/decl.c:7988
+ #, 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.c:8043
++#: cp/decl.c:8115
+ #, gcc-internal-format
+ msgid "destructor cannot be static member function"
+ msgstr "yıkıcı bir statik üye işlev olamaz"
+
+-#: cp/decl.c:8048
++#: cp/decl.c:8120
+ #, gcc-internal-format
+ msgid "destructors may not be cv-qualified"
+ msgstr "yıkıcılar cv-nitelemeli olmayabilir"
+
+-#: cp/decl.c:8066
++#: cp/decl.c:8138
+ #, gcc-internal-format
+ msgid "constructors cannot be declared virtual"
+ msgstr "kurucular virtual olarak bildirilemez"
+
+-#: cp/decl.c:8079
++#: cp/decl.c:8151
+ #, gcc-internal-format
+ msgid "can't initialize friend function %qs"
+ msgstr "kardeÅŸ iÅŸlev %qs ilklendirilemiyor"
+
+ #. Cannot be both friend and virtual.
+-#: cp/decl.c:8083
++#: cp/decl.c:8155
+ #, gcc-internal-format
+ msgid "virtual functions cannot be friends"
+ msgstr "sanal iÅŸlevler kardeÅŸ iÅŸlev olamaz"
+
+-#: cp/decl.c:8087
++#: cp/decl.c:8159
+ #, gcc-internal-format
+ msgid "friend declaration not in class definition"
+ msgstr "kardeş bildirimi sınıf bildiriminde değil"
+
+-#: cp/decl.c:8089
++#: cp/decl.c:8161
+ #, gcc-internal-format
+ msgid "can't 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.c:8102
++#: cp/decl.c:8174
+ #, gcc-internal-format
+ msgid "destructors may not have parameters"
+ msgstr "yıkıcılar parametre almayabilir"
+
+-#: cp/decl.c:8121
++#: cp/decl.c:8193
+ #, gcc-internal-format
+ msgid "cannot declare pointer to %q#T"
+ msgstr "%q#T türüne gösterici bildirilemez"
+
+-#: cp/decl.c:8134 cp/decl.c:8141
++#: cp/decl.c:8206 cp/decl.c:8213
+ #, gcc-internal-format
+ msgid "cannot declare reference to %q#T"
+ msgstr "%q#T türüne başvuru bildirilemez"
+
+-#: cp/decl.c:8143
++#: cp/decl.c:8215
+ #, gcc-internal-format
+ msgid "cannot declare pointer to %q#T member"
+ msgstr "%q#T üyeye gösterici bildirilemez"
+
+-#: cp/decl.c:8194
++#: cp/decl.c:8266
+ #, gcc-internal-format
+ msgid "cannot declare reference to %q#T, which is not a typedef or a template type argument"
+ msgstr ""
+
+-#: cp/decl.c:8238
++#: cp/decl.c:8310
+ #, gcc-internal-format
+ msgid "template-id %qD used as a declarator"
+ msgstr "şablon kimliği %qD bir bildirici olarak kullanılmış"
+
+-#: cp/decl.c:8289
++#: cp/decl.c:8361
+ #, 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.c:8293
++#: cp/decl.c:8365
+ #, fuzzy, gcc-internal-format
+ msgid "extra qualification %<%T::%> on member %qs"
+ msgstr "üye %2$qs üzerinde fazladan niteleme %<%1$T::%>"
+
+-#: cp/decl.c:8325
++#: cp/decl.c:8397
+ #, gcc-internal-format
+ msgid "cannot define member function %<%T::%s%> within %<%T%>"
+ msgstr "üye işlev %<%T::%s%> %<%T%> içinde tanımlanamaz"
+
+-#: cp/decl.c:8342
++#: cp/decl.c:8414
+ #, gcc-internal-format
+ msgid "cannot declare member %<%T::%s%> within %qT"
+ msgstr "üye %<%T::%s%> %qT içinde bildirilemez"
+
+-#: cp/decl.c:8365
++#: cp/decl.c:8437
+ #, fuzzy, gcc-internal-format
+ msgid "non-parameter %qs cannot be a parameter pack"
+ msgstr "veri üyesi %qD bir üye şablon olamaz"
+
+-#: cp/decl.c:8386
++#: cp/decl.c:8458
+ #, 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.c:8388
++#: cp/decl.c:8460
+ #, 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"
+
+ #. [dcl.fct.spec] The explicit specifier shall only be used in
+ #. declarations of constructors within a class definition.
+-#: cp/decl.c:8396
++#: cp/decl.c:8468
+ #, gcc-internal-format
+ msgid "only declarations of constructors can be %<explicit%>"
+ msgstr "sadece kurucuların bildirimleri %<explicit%> olabilir"
+
+-#: cp/decl.c:8404
++#: cp/decl.c:8476
+ #, gcc-internal-format
+ msgid "non-member %qs cannot be declared %<mutable%>"
+ msgstr "üye olmayan %qs, %<mutable%> olarak bildirilemez"
+
+-#: cp/decl.c:8409
++#: cp/decl.c:8481
+ #, gcc-internal-format
+ msgid "non-object member %qs cannot be declared %<mutable%>"
+ msgstr "nesne olmayan üye %qs %<mutable%> olarak bildirilemez"
+
+-#: cp/decl.c:8415
++#: cp/decl.c:8487
+ #, gcc-internal-format
+ msgid "function %qs cannot be declared %<mutable%>"
+ msgstr "iÅŸlev %qs %<mutable%> olarak bildirilemez"
+
+-#: cp/decl.c:8420
++#: cp/decl.c:8492
+ #, gcc-internal-format
+ msgid "static %qs cannot be declared %<mutable%>"
+ msgstr "static %qs %<mutable%> olarak bildirilemez"
+
+-#: cp/decl.c:8425
++#: cp/decl.c:8497
+ #, gcc-internal-format
+ msgid "const %qs cannot be declared %<mutable%>"
+ msgstr "sabit %qs %<mutable%> olarak bildirilemez"
+
+-#: cp/decl.c:8462
++#: cp/decl.c:8534
+ #, gcc-internal-format
+ msgid "%Jtypedef name may not be a nested-name-specifier"
+ msgstr "%Jtypedef ismi bir iç içe isimli belirteç olmayabilir"
+
+-#: cp/decl.c:8478
++#: cp/decl.c:8550
+ #, 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.c:8564
++#: cp/decl.c:8636
+ #, fuzzy, gcc-internal-format
+ msgid "qualified function types cannot be used to declare static member functions"
+ msgstr "nitelikli işlev türleri %s işlevlerini bildirmekte kullanılamaz"
+
+-#: cp/decl.c:8566
++#: cp/decl.c:8638
+ #, fuzzy, gcc-internal-format
+ msgid "qualified function types cannot be used to declare free functions"
+ msgstr "nitelikli işlev türleri %s işlevlerini bildirmekte kullanılamaz"
+
+-#: cp/decl.c:8592
++#: cp/decl.c:8664
+ #, gcc-internal-format
+ msgid "type qualifiers specified for friend class declaration"
+ msgstr "kardeş sınıf bildirimi için tür niteleyiciler belirtilmiş"
+
+-#: cp/decl.c:8597
++#: cp/decl.c:8669
+ #, gcc-internal-format
+ msgid "%<inline%> specified for friend class declaration"
+ msgstr "kardeş sınıf bildirimi için %<inline%> belirtilmiş"
+
+-#: cp/decl.c:8605
++#: cp/decl.c:8677
+ #, gcc-internal-format
+ msgid "template parameters cannot be friends"
+ msgstr "ÅŸablon parametreleri kardeÅŸ olamazlar"
+
+-#: cp/decl.c:8607
++#: cp/decl.c:8679
+ #, gcc-internal-format
+ msgid "friend declaration requires class-key, i.e. %<friend class %T::%D%>"
+ msgstr "friend bildirimi sınıf anahtarı gerektirir, %<friend class %T::%D%> gibi"
+
+-#: cp/decl.c:8611
++#: cp/decl.c:8683
+ #, gcc-internal-format
+ msgid "friend declaration requires class-key, i.e. %<friend %#T%>"
+ msgstr "friend bildirimi %<friend %#T%> gibi bir sınıf anahtarı gerektirir"
+
+-#: cp/decl.c:8624
++#: cp/decl.c:8696
+ #, 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.c:8635
++#: cp/decl.c:8707
+ #, gcc-internal-format
+ msgid "invalid qualifiers on non-member function type"
+ msgstr "üye olmayan işlev türünde niteleyiciler geçersiz"
+
+-#: cp/decl.c:8650
++#: cp/decl.c:8722
+ #, gcc-internal-format
+ msgid "abstract declarator %qT used as declaration"
+ msgstr "mutlak bildirimci %qT bildirim olarak kullanılmış"
+
+-#: cp/decl.c:8679
++#: cp/decl.c:8751
+ #, gcc-internal-format
+ msgid "cannot use %<::%> in parameter declaration"
+ msgstr "parametre bildiriminde %<::%> kullanılamaz"
+
+ #. Something like struct S { int N::j; };
+-#: cp/decl.c:8725
++#: cp/decl.c:8797
+ #, gcc-internal-format
+ msgid "invalid use of %<::%>"
+ msgstr "%<::%> kullanımı geçersiz"
+
+-#: cp/decl.c:8740
++#: cp/decl.c:8812
+ #, gcc-internal-format
+ msgid "can't make %qD into a method -- not in a class"
+ msgstr "bir yönteme %qD yapılamaz -- sınıf içinde değil"
+
+-#: cp/decl.c:8749
++#: cp/decl.c:8821
+ #, gcc-internal-format
+ msgid "function %qD declared virtual inside a union"
+ msgstr "işlev %qD bir union içinde virtual olarak bildirilmiş"
+
+-#: cp/decl.c:8758
++#: cp/decl.c:8830
+ #, gcc-internal-format
+ msgid "%qD cannot be declared virtual, since it is always static"
+ msgstr "%qD daima static olduÄŸundan sanal olarak bildirilemez"
+
+-#: cp/decl.c:8774
++#: cp/decl.c:8846
+ #, 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.c:8784
++#: cp/decl.c:8856
+ #, fuzzy, gcc-internal-format
+ msgid "declaration of %qD as member of %qT"
+ msgstr "%2$qT üyesi olarak %1$qD bildirimi"
+
+-#: cp/decl.c:8860
++#: cp/decl.c:8863
++#, fuzzy, gcc-internal-format
++msgid "expected qualified name in friend declaration for constructor %qD"
++msgstr "yıkıcı %qD için kardeş bildiriminde nitelikli isim umuluyordu"
++
++#: cp/decl.c:8939
+ #, gcc-internal-format
+ msgid "field %qD has incomplete type"
+ msgstr "%qD alanı içi boş türde"
+
+-#: cp/decl.c:8862
++#: cp/decl.c:8941
+ #, gcc-internal-format
+ msgid "name %qT has incomplete type"
+ msgstr "%qT ismi içi boş türde"
+
+-#: cp/decl.c:8871
++#: cp/decl.c:8950
+ #, gcc-internal-format
+ msgid " in instantiation of template %qT"
+ msgstr " şablon %qT örnekleniminde"
+
+-#: cp/decl.c:8880
++#: cp/decl.c:8959
+ #, 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"
+@@ -28845,103 +28831,108 @@
+ #. the rest of the compiler does not correctly
+ #. handle the initialization unless the member is
+ #. static so we make it static below.
+-#: cp/decl.c:8932
++#: cp/decl.c:9011
+ #, gcc-internal-format
+ msgid "ISO C++ forbids initialization of member %qD"
+ msgstr "ISO C++ %qD üye ilklendirmesine izin vermez"
+
+-#: cp/decl.c:8934
++#: cp/decl.c:9013
+ #, gcc-internal-format
+ msgid "making %qD static"
+ msgstr "%qD static yapılıyor"
+
+-#: cp/decl.c:8999
++#: cp/decl.c:9078
+ #, gcc-internal-format
+ msgid "storage class %<auto%> invalid for function %qs"
+ msgstr "saklama sınıfı %<auto%> %qs işlevi için geçersiz"
+
+-#: cp/decl.c:9001
++#: cp/decl.c:9080
+ #, gcc-internal-format
+ msgid "storage class %<register%> invalid for function %qs"
+ msgstr "saklama sınıfı %<register%> %qs işlevi için geçersiz"
+
+-#: cp/decl.c:9003
++#: cp/decl.c:9082
+ #, 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.c:9014
++#: cp/decl.c:9093
+ #, gcc-internal-format
+ msgid "%<static%> specified invalid for function %qs declared out of global scope"
+ msgstr "genel kapsam dışında bildirilen %qs işlevi için %<static%> belirteci geçersiz"
+
+-#: cp/decl.c:9017
++#: cp/decl.c:9096
+ #, gcc-internal-format
+ msgid "%<inline%> specifier invalid for function %qs declared out of global scope"
+ msgstr "genel kapsam dışında bildirilen %qs işlevi için %<inline%> belirteci geçersiz"
+
+-#: cp/decl.c:9025
++#: cp/decl.c:9104
+ #, gcc-internal-format
+ msgid "virtual non-class function %qs"
+ msgstr "sınıf olmayan sanal işlev %qs"
+
+-#: cp/decl.c:9056
++#: cp/decl.c:9135
+ #, gcc-internal-format
+ msgid "cannot declare member function %qD to have static linkage"
+ msgstr "üye işlev %qD static ilintilemeli olarak bildirilemez"
+
+ #. FIXME need arm citation
+-#: cp/decl.c:9063
++#: cp/decl.c:9142
+ #, 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.c:9093
++#: cp/decl.c:9172
+ #, gcc-internal-format
+ msgid "%<static%> may not be used when defining (as opposed to declaring) a static data member"
+ msgstr "bir statik veri üyesi tanımlarken (bildirime zit olarak) %<static%> kullanılamayabilir"
+
+-#: cp/decl.c:9100
++#: cp/decl.c:9179
+ #, gcc-internal-format
+ msgid "static member %qD declared %<register%>"
+ msgstr "statik üye %qD %<register%> olarak bildirilmiş"
+
+-#: cp/decl.c:9105
++#: cp/decl.c:9184
+ #, 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.c:9234
++#: cp/decl.c:9313
+ #, gcc-internal-format
+ msgid "default argument for %q#D has type %qT"
+ msgstr "%q#D için öntanımlı argüman %qT türünde"
+
+-#: cp/decl.c:9237
++#: cp/decl.c:9316
+ #, gcc-internal-format
+ msgid "default argument for parameter of type %qT has type %qT"
+ msgstr "%qT türündeki parametre için öntanımlı argüman %qT türünde"
+
+-#: cp/decl.c:9253
++#: cp/decl.c:9332
+ #, 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.c:9323
++#: cp/decl.c:9399
++#, fuzzy, gcc-internal-format
++msgid "parameter %qD has Java class type"
++msgstr "%q+D parametresi tamamlanmamış türde"
++
++#: cp/decl.c:9412
+ #, gcc-internal-format
+ msgid "parameter %qD invalidly declared method type"
+ msgstr "parametre %qD geçersiz olarak yöntem türünde bildirilmiş"
+
+-#: cp/decl.c:9347
++#: cp/decl.c:9436
+ #, fuzzy, gcc-internal-format
+ msgid "parameter %qD includes %s to array of unknown bound %qT"
+ msgstr "parametre %1$qD bilinmeyen sınırlı %3$qT dizisine %2$s içeriyor"
+
+-#: cp/decl.c:9361
++#: cp/decl.c:9450
+ #, fuzzy, gcc-internal-format
+ msgid "parameter packs must be at the end of the parameter list"
+ msgstr "%Jparametre ismi parametre listesinde yok"
+
+-#: cp/decl.c:9366
++#: cp/decl.c:9455
+ #, fuzzy, gcc-internal-format
+ msgid "multiple parameters named %qE"
+ msgstr "%q+D isimli çok sayıda parametre"
+@@ -28961,138 +28952,138 @@
+ #. or implicitly defined), there's no need to worry about their
+ #. existence. Theoretically, they should never even be
+ #. instantiated, but that's hard to forestall.
+-#: cp/decl.c:9581
++#: cp/decl.c:9672
+ #, 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.c:9703
++#: cp/decl.c:9794
+ #, gcc-internal-format
+ msgid "%qD may not be declared within a namespace"
+ msgstr "%qD bir isim alanı içinde bildirilemeyebilir"
+
+-#: cp/decl.c:9708
++#: cp/decl.c:9799
+ #, gcc-internal-format
+ msgid "%qD may not be declared as static"
+ msgstr "%qD static olarak bildirilemeyebilir"
+
+-#: cp/decl.c:9731
++#: cp/decl.c:9825
+ #, gcc-internal-format
+ msgid "%qD must be a nonstatic member function"
+ msgstr "%qD static olmayan bir üye işlev olmalıdır"
+
+-#: cp/decl.c:9740
++#: cp/decl.c:9834
+ #, 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.c:9761
++#: cp/decl.c:9855
+ #, 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ı"
+
+-#: cp/decl.c:9802
++#: cp/decl.c:9896
+ #, gcc-internal-format
+ msgid "conversion to %s%s will never use a type conversion operator"
+ msgstr "%s%s'ya dönüşüm asla bir tür dönüşüm işleci kullanmayacak"
+
+ #. 13.4.0.3
+-#: cp/decl.c:9810
++#: cp/decl.c:9904
+ #, gcc-internal-format
+ msgid "ISO C++ prohibits overloading operator ?:"
+ msgstr "ISO C++ ?: üç terimlisinin aşırı yüklenmesini yasaklar"
+
+-#: cp/decl.c:9815
++#: cp/decl.c:9909
+ #, 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.c:9866
++#: cp/decl.c:9960
+ #, gcc-internal-format
+ msgid "postfix %qD must take %<int%> as its argument"
+ msgstr "sonek %qD argüman olarak %<int%> almalı"
+
+-#: cp/decl.c:9869
++#: cp/decl.c:9963
+ #, gcc-internal-format
+ msgid "postfix %qD must take %<int%> as its second argument"
+ msgstr "sonek %qD ikinci argümanı olarak %<int%> almalı"
+
+-#: cp/decl.c:9877
++#: cp/decl.c:9971
+ #, gcc-internal-format
+ msgid "%qD must take either zero or one argument"
+ msgstr "%qD ya hiç argüman almamalı ya da bir argüman almalı"
+
+-#: cp/decl.c:9879
++#: cp/decl.c:9973
+ #, gcc-internal-format
+ msgid "%qD must take either one or two arguments"
+ msgstr "%qD ya bir ya da iki argüman almalı"
+
+-#: cp/decl.c:9901
++#: cp/decl.c:9995
+ #, gcc-internal-format
+ msgid "prefix %qD should return %qT"
+ msgstr "önek %qD %qT döndürmeli"
+
+-#: cp/decl.c:9907
++#: cp/decl.c:10001
+ #, gcc-internal-format
+ msgid "postfix %qD should return %qT"
+ msgstr "sonek %qD %qT döndürmeli"
+
+-#: cp/decl.c:9916
++#: cp/decl.c:10010
+ #, gcc-internal-format
+ msgid "%qD must take %<void%>"
+ msgstr "%qD %<void%> almalı"
+
+-#: cp/decl.c:9918 cp/decl.c:9927
++#: cp/decl.c:10012 cp/decl.c:10021
+ #, gcc-internal-format
+ msgid "%qD must take exactly one argument"
+ msgstr "%qD sadece ve sadece bir argüman almalı"
+
+-#: cp/decl.c:9929
++#: cp/decl.c:10023
+ #, gcc-internal-format
+ msgid "%qD must take exactly two arguments"
+ msgstr "%qD sadece ve sadece iki argüman almalı"
+
+-#: cp/decl.c:9938
++#: cp/decl.c:10032
+ #, 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.c:9952
++#: cp/decl.c:10046
+ #, gcc-internal-format
+ msgid "%qD should return by value"
+ msgstr "%qD değeriyle döndürülmeli"
+
+-#: cp/decl.c:9964 cp/decl.c:9968
++#: cp/decl.c:10058 cp/decl.c:10062
+ #, gcc-internal-format
+ msgid "%qD cannot have default arguments"
+ msgstr "%qD öntanımlı argümanlara sahip olamaz"
+
+-#: cp/decl.c:10026
++#: cp/decl.c:10120
+ #, 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.c:10041
++#: cp/decl.c:10135
+ #, fuzzy, gcc-internal-format
+ msgid "using typedef-name %qD after %qs"
+ msgstr "%2$qs sonrası typedef-ismi %1$qD kullanımı"
+
+-#: cp/decl.c:10042
++#: cp/decl.c:10136
+ #, gcc-internal-format
+ msgid "%q+D has a previous declaration here"
+ msgstr "%q+D için burada önceki bir bildirim var"
+
+-#: cp/decl.c:10050
++#: cp/decl.c:10144
+ #, gcc-internal-format
+ msgid "%qT referred to as %qs"
+ msgstr "%qT türüne %qs olarak başvuruluyor"
+
+-#: cp/decl.c:10051 cp/decl.c:10058
++#: cp/decl.c:10145 cp/decl.c:10152
+ #, gcc-internal-format
+ msgid "%q+T has a previous declaration here"
+ msgstr "%q+T için burada önceki bir bildirim var"
+
+-#: cp/decl.c:10057
++#: cp/decl.c:10151
+ #, gcc-internal-format
+ msgid "%qT referred to as enum"
+ msgstr "%qT türüne enum olarak başvuruluyor"
+@@ -29104,73 +29095,73 @@
+ #. void f(class C); // No template header here
+ #.
+ #. then the required template argument is missing.
+-#: cp/decl.c:10072
++#: cp/decl.c:10166
+ #, gcc-internal-format
+ msgid "template argument required for %<%s %T%>"
+ msgstr "%<%s %T%> için şablon argüman gerekli"
+
+-#: cp/decl.c:10120 cp/name-lookup.c:2698
++#: cp/decl.c:10214 cp/name-lookup.c:2700
+ #, 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.c:10150 cp/name-lookup.c:2207 cp/parser.c:4036 cp/parser.c:14029
+-#: cp/parser.c:16234
++#: cp/decl.c:10244 cp/name-lookup.c:2209 cp/parser.c:4040 cp/parser.c:14099
++#: cp/parser.c:16316
+ #, gcc-internal-format
+ msgid "reference to %qD is ambiguous"
+ msgstr "%qD ile iliÅŸkilendirme belirsiz"
+
+-#: cp/decl.c:10264
++#: cp/decl.c:10358
+ #, 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.c:10285
++#: cp/decl.c:10379
+ #, gcc-internal-format
+ msgid "redeclaration of %qT as a non-template"
+ msgstr "bir ÅŸablon olmayan olarak yeniden %qT bildirimi"
+
+-#: cp/decl.c:10286 cp/pt.c:4154
++#: cp/decl.c:10380
+ #, gcc-internal-format
+ msgid "previous declaration %q+D"
+ msgstr "önceden %q+D bildirimi"
+
+-#: cp/decl.c:10397
++#: cp/decl.c:10491
+ #, gcc-internal-format
+ msgid "derived union %qT invalid"
+ msgstr "türetilmiş union %qT geçersiz"
+
+-#: cp/decl.c:10406
++#: cp/decl.c:10500
+ #, gcc-internal-format
+ msgid "Java class %qT cannot have multiple bases"
+ msgstr "Java sınıfı %qT çok sayıda tabana sahip olamaz"
+
+-#: cp/decl.c:10417
++#: cp/decl.c:10511
+ #, gcc-internal-format
+ msgid "Java class %qT cannot have virtual bases"
+ msgstr "Java sınıfı %qT sanal tabanlara sahip olamaz"
+
+-#: cp/decl.c:10440
++#: cp/decl.c:10534
+ #, 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.c:10473
++#: cp/decl.c:10567
+ #, gcc-internal-format
+ msgid "recursive type %qT undefined"
+ msgstr "ardışık tür %qT tanımsız"
+
+-#: cp/decl.c:10475
++#: cp/decl.c:10569
+ #, gcc-internal-format
+ msgid "duplicate base type %qT invalid"
+ msgstr "yinelenmiş taban türü %qT geçersiz"
+
+-#: cp/decl.c:10552
++#: cp/decl.c:10646
+ #, gcc-internal-format
+ msgid "multiple definition of %q#T"
+ msgstr "çok sayıda %q#T tanımı"
+
+-#: cp/decl.c:10553
++#: cp/decl.c:10647
+ #, gcc-internal-format
+ msgid "%Jprevious definition here"
+ msgstr "%Jönceden burada tanımlı"
+@@ -29179,47 +29170,52 @@
+ #.
+ #. IF no integral type can represent all the enumerator values, the
+ #. enumeration is ill-formed.
+-#: cp/decl.c:10692
++#: cp/decl.c:10786
+ #, 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.c:10803
++#: cp/decl.c:10897
+ #, fuzzy, gcc-internal-format
+ 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.c:10831
++#: cp/decl.c:10925
+ #, gcc-internal-format
+ msgid "overflow in enumeration values at %qD"
+ msgstr "%qD'de simgesel sabit deÄŸerlerinde taÅŸma"
+
+-#: cp/decl.c:10906
++#: cp/decl.c:11002
+ #, 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.c:11031 cp/typeck.c:6711
++#: cp/decl.c:11004
++#, fuzzy, gcc-internal-format
++msgid "return type has Java class type %q#T"
++msgstr "dönüş türü, bir içi boş tür"
++
++#: cp/decl.c:11129 cp/typeck.c:6739
+ #, gcc-internal-format
+ msgid "%<operator=%> should return a reference to %<*this%>"
+ msgstr "%<operator=%>, %<*this%> için bir başvuru döndürmeli"
+
+-#: cp/decl.c:11420
++#: cp/decl.c:11518
+ #, gcc-internal-format
+ msgid "parameter %qD declared void"
+ msgstr "parametre %qD void olarak bildirilmiÅŸ"
+
+-#: cp/decl.c:11908
++#: cp/decl.c:12006
+ #, gcc-internal-format
+ msgid "invalid member function declaration"
+ msgstr "geçersiz üye işlev bildirimi"
+
+-#: cp/decl.c:11923
++#: cp/decl.c:12021
+ #, gcc-internal-format
+ msgid "%qD is already defined in class %qT"
+ msgstr "%qD zaten %qT sınıfında tanımlı"
+
+-#: cp/decl.c:12170
++#: cp/decl.c:12268
+ #, gcc-internal-format
+ msgid "static member function %q#D declared with type qualifiers"
+ msgstr "statik üye işlev %q#D tür niteleyicilerle bildirilmiş"
+@@ -29259,7 +29255,7 @@
+ msgid "deleting %qT is undefined"
+ msgstr "%qT silinmesi tanımsız"
+
+-#: cp/decl2.c:459 cp/pt.c:3828
++#: cp/decl2.c:459 cp/pt.c:3831
+ #, gcc-internal-format
+ msgid "template declaration of %q#D"
+ msgstr "%q#D ÅŸablon bildirimi"
+@@ -29344,22 +29340,22 @@
+ msgid "static member %qD cannot be a bit-field"
+ msgstr "static üye %qD bir bit alanı olamaz"
+
+-#: cp/decl2.c:1122
++#: cp/decl2.c:1165
+ #, gcc-internal-format
+ msgid "anonymous struct not inside named type"
+ msgstr "anonim yapı isimli türün içinde değil"
+
+-#: cp/decl2.c:1206
++#: cp/decl2.c:1249
+ #, gcc-internal-format
+ msgid "namespace-scope anonymous aggregates must be static"
+ msgstr "isim alanı bağlamındaki anonim kümeler static olmalıdır"
+
+-#: cp/decl2.c:1215
++#: cp/decl2.c:1258
+ #, gcc-internal-format
+ msgid "anonymous union with no members"
+ msgstr "üyesiz anonim union"
+
+-#: cp/decl2.c:1251
++#: cp/decl2.c:1294
+ #, gcc-internal-format
+ msgid "%<operator new%> must return type %qT"
+ msgstr "%<operator new%> %qT türünde dönmeli"
+@@ -29368,52 +29364,52 @@
+ #.
+ #. The first parameter shall not have an associated default
+ #. argument.
+-#: cp/decl2.c:1262
++#: cp/decl2.c:1305
+ #, fuzzy, gcc-internal-format
+ msgid "the first parameter of %<operator new%> cannot have a default argument"
+ msgstr "%<va_start%>'in ikinci parametresi isimli son argüman değil"
+
+-#: cp/decl2.c:1278
++#: cp/decl2.c:1321
+ #, gcc-internal-format
+ msgid "%<operator new%> takes type %<size_t%> (%qT) as first parameter"
+ msgstr "%<operator new%> ilk parametreyi %<size_t%> (%qT) türünde alir"
+
+-#: cp/decl2.c:1307
++#: cp/decl2.c:1350
+ #, gcc-internal-format
+ msgid "%<operator delete%> must return type %qT"
+ msgstr "%<operator delete%> %qT türünde dönmeli"
+
+-#: cp/decl2.c:1316
++#: cp/decl2.c:1359
+ #, gcc-internal-format
+ msgid "%<operator delete%> takes type %qT as first parameter"
+ msgstr "%<operator delete%> ilk parametreyi %qT türünde alır"
+
+-#: cp/decl2.c:1985
++#: cp/decl2.c:2028
+ #, gcc-internal-format
+ msgid "%qT has a field %qD whose type uses the anonymous namespace"
+ msgstr ""
+
+-#: cp/decl2.c:1992
++#: cp/decl2.c:2035
+ #, gcc-internal-format
+ msgid "%qT declared with greater visibility than the type of its field %qD"
+ msgstr ""
+
+-#: cp/decl2.c:2005
++#: cp/decl2.c:2048
+ #, gcc-internal-format
+ msgid "%qT has a base %qT whose type uses the anonymous namespace"
+ msgstr ""
+
+-#: cp/decl2.c:2011
++#: cp/decl2.c:2054
+ #, gcc-internal-format
+ msgid "%qT declared with greater visibility than its base %qT"
+ msgstr ""
+
+-#: cp/decl2.c:3395
++#: cp/decl2.c:3441
+ #, gcc-internal-format
+ msgid "inline function %q+D used but never defined"
+ msgstr "satıriçi işlev %q+D tanımlanmadan kullanılmış"
+
+-#: cp/decl2.c:3543
++#: cp/decl2.c:3589
+ #, fuzzy, gcc-internal-format
+ msgid "default argument missing for parameter %P of %q+#D"
+ msgstr "%2$q+#D'nin %1$P. parametresi için öntanımlı argüman eksik"
+@@ -29421,7 +29417,7 @@
+ #. We really want to suppress this warning in system headers,
+ #. because libstdc++ uses variadic templates even when we aren't
+ #. in C++0x mode.
+-#: cp/error.c:2669
++#: cp/error.c:2712
+ #, fuzzy, gcc-internal-format
+ msgid "ISO C++ does not include variadic templates"
+ msgstr "ISO C++ tasarlanmış ilkendiricilere izin vermez"
+@@ -29453,7 +29449,7 @@
+ msgid "throwing NULL, which has integral, not pointer type"
+ msgstr "tumleyen, gösterici olmayan NULL yakalanıyor"
+
+-#: cp/except.c:643 cp/init.c:1780
++#: cp/except.c:643 cp/init.c:1915
+ #, gcc-internal-format
+ msgid "%qD should never be overloaded"
+ msgstr "%qD asla aşırı yüklü olmamalı"
+@@ -29552,232 +29548,247 @@
+ msgid "member %qD declared as friend before type %qT defined"
+ msgstr "üye %qD tür %qT tanımından önce friend olarak bildirilmiş"
+
+-#: cp/friend.c:550
++#: cp/friend.c:543
++#, fuzzy, gcc-internal-format
++msgid "friend declaration %qD in local class without prior declaration"
++msgstr "%q+D bildirimi kullanımı önceki bildirimlerden biri ile çelişiyor"
++
++#: cp/friend.c:564
+ #, gcc-internal-format
+ msgid "friend declaration %q#D declares a non-template function"
+ msgstr "friend bildirimi %q#D bir ÅŸablon olmayan iÅŸlev bildiriyor"
+
+-#: cp/friend.c:554
++#: cp/friend.c:568
+ #, fuzzy, 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 "(eğer istediğiniz bu değilse, işlev şablonunun zaten bildirilmiş olduğundan emin olduktan sonra burada işlev isminden sonra bir <> ekleyin)-Wno-non-template-friend bu UYARIyı iptal eder"
+
+-#: cp/init.c:334
++#: cp/init.c:374
++#, fuzzy, gcc-internal-format
++msgid "value-initialization of reference"
++msgstr "%Jreferans ture sahip %q#D'nin default ilklendirmesi"
++
++#: cp/init.c:481
+ #, gcc-internal-format
+ msgid "%J%qD should be initialized in the member initialization list"
+ msgstr "%J%qD üye ilklendirme listesinde ilklendirilmiş olmalı"
+
+-#: cp/init.c:382
++#: cp/init.c:529
+ #, gcc-internal-format
+ msgid "%Jdefault-initialization of %q#D, which has reference type"
+ msgstr "%Jreferans ture sahip %q#D'nin default ilklendirmesi"
+
+-#: cp/init.c:388
++#: cp/init.c:535
+ #, gcc-internal-format
+ msgid "%Juninitialized reference member %qD"
+ msgstr "%Jilklendirilmemiş referans üye %qD"
+
+-#: cp/init.c:391
++#: cp/init.c:538
+ #, fuzzy, gcc-internal-format
+ msgid "%Juninitialized member %qD with %<const%> type %qT"
+ msgstr "%1$J%<const%> %3$qT türü ile ilklendirilmemiş üye %2$qD"
+
+-#: cp/init.c:534
++#: cp/init.c:681
+ #, gcc-internal-format
+ msgid "%q+D will be initialized after"
+ msgstr "%q+D sonradan ilklendirilmiÅŸ olacak"
+
+-#: cp/init.c:537
++#: cp/init.c:684
+ #, gcc-internal-format
+ msgid "base %qT will be initialized after"
+ msgstr "taban %qT sonradan ilklendirilmiÅŸ olacak"
+
+-#: cp/init.c:540
++#: cp/init.c:687
+ #, gcc-internal-format
+ msgid " %q+#D"
+ msgstr " %q+#D"
+
+-#: cp/init.c:542
++#: cp/init.c:689
+ #, gcc-internal-format
+ msgid " base %qT"
+ msgstr " taban %qT"
+
+-#: cp/init.c:543
++#: cp/init.c:690
+ #, gcc-internal-format
+ msgid "%J when initialized here"
+ msgstr "%J burada ilklendirildiÄŸinde"
+
+-#: cp/init.c:559
++#: cp/init.c:706
+ #, gcc-internal-format
+ msgid "%Jmultiple initializations given for %qD"
+ msgstr "%J%qD için çok sayıda ilklendirici belirtilmiş"
+
+-#: cp/init.c:562
++#: cp/init.c:709
+ #, gcc-internal-format
+ msgid "%Jmultiple initializations given for base %qT"
+ msgstr "%Jtaban %qT için çok sayıda ilklendirici belirtilmiş"
+
+-#: cp/init.c:629
++#: cp/init.c:776
+ #, gcc-internal-format
+ msgid "%Jinitializations for multiple members of %qT"
+ msgstr "%J%qT'nin çok sayıda üyesi için ilklendirmeler"
+
+-#: cp/init.c:691
++#: cp/init.c:839
+ #, gcc-internal-format
+ msgid "%Jbase class %q#T should be explicitly initialized in the copy constructor"
+ msgstr "%Jtaban sınıf %q#T kopyalama kurucusunda doğrudan ilklendirilmiş olmalı"
+
+-#: cp/init.c:915 cp/init.c:934
++#: cp/init.c:1063 cp/init.c:1082
+ #, gcc-internal-format
+ msgid "class %qT does not have any field named %qD"
+ msgstr "sınıf %qT %qD isminde alan içermiyor"
+
+-#: cp/init.c:921
++#: cp/init.c:1069
+ #, gcc-internal-format
+ msgid "%q#D is a static data member; it can only be initialized at its definition"
+ msgstr "%q#D bir static veri üyesidir; sadece tanımında ilklendirilebilir"
+
+-#: cp/init.c:928
++#: cp/init.c:1076
+ #, gcc-internal-format
+ msgid "%q#D is not a non-static data member of %qT"
+ msgstr "%q#D %qT'nin bir static olmayan üyesi değildir"
+
+-#: cp/init.c:967
++#: cp/init.c:1115
+ #, gcc-internal-format
+ msgid "unnamed initializer for %qT, which has no base classes"
+ msgstr "taban sınıfı olmayan %qT için isimsiz ilklendirici"
+
+-#: cp/init.c:975
++#: cp/init.c:1123
+ #, gcc-internal-format
+ msgid "unnamed initializer for %qT, which uses multiple inheritance"
+ msgstr "çoklu miras kullanan %qT için isimsiz ilklendirici"
+
+-#: cp/init.c:1021
++#: cp/init.c:1169
+ #, gcc-internal-format
+ msgid "%qD is both a direct base and an indirect virtual base"
+ msgstr "%qD hem doğrudan hem de dolaylı sanal taban"
+
+-#: cp/init.c:1029
++#: cp/init.c:1177
+ #, gcc-internal-format
+ msgid "type %qT is not a direct or virtual base of %qT"
+ msgstr "%qT türü bir doğrudan ya da dolaylı %qT tabanı değil"
+
+-#: cp/init.c:1032
++#: cp/init.c:1180
+ #, gcc-internal-format
+ msgid "type %qT is not a direct base of %qT"
+ msgstr "%qT türü bir doğrudan %qT tabanı değil"
+
+-#: cp/init.c:1112
++#: cp/init.c:1260
+ #, gcc-internal-format
+ msgid "bad array initializer"
+ msgstr "dizi ilklendirici hatalı"
+
+-#: cp/init.c:1287
++#: cp/init.c:1435
+ #, gcc-internal-format
+ msgid "%qT is not an aggregate type"
+ msgstr "%qT bir küme türü değil"
+
+-#: cp/init.c:1341
++#: cp/init.c:1489
+ #, gcc-internal-format
+ msgid "incomplete type %qT does not have member %qD"
+ msgstr "içi boş tür %qT üye %qD'yi içermiyor"
+
+-#: cp/init.c:1354
++#: cp/init.c:1502
+ #, gcc-internal-format
+ msgid "invalid pointer to bit-field %qD"
+ msgstr "%qD bit alanına gösterici geçersiz"
+
+-#: cp/init.c:1431
++#: cp/init.c:1579
+ #, gcc-internal-format
+ msgid "invalid use of non-static member function %qD"
+ msgstr "static olmayan üye işlev %qD kullanımı geçersiz"
+
+-#: cp/init.c:1437
++#: cp/init.c:1585
+ #, gcc-internal-format
+ msgid "invalid use of non-static data member %qD"
+ msgstr "static olmayan veri üyesi %qD kullanımı geçersiz"
+
+-#: cp/init.c:1714
++#: cp/init.c:1862
+ #, gcc-internal-format
+ msgid "invalid type %<void%> for new"
+ msgstr "new için %<void%> türü geçersiz"
+
+-#: cp/init.c:1724
++#: cp/init.c:1872
+ #, gcc-internal-format
+ msgid "uninitialized const in %<new%> of %q#T"
+ msgstr "%q#T %<new%>'u içinde ilklendirmesiz sabit"
+
+-#: cp/init.c:1775
++#: cp/init.c:1910
+ #, gcc-internal-format
+ msgid "call to Java constructor with %qs undefined"
+ msgstr "%qs ile Java kurucusuna çağrı tanımsız"
+
+-#: cp/init.c:1815
++#: cp/init.c:1926
+ #, fuzzy, gcc-internal-format
++msgid "Java class %q#T object allocated using placement new"
++msgstr "Java sınıfı %qT çok sayıda tabana sahip olamaz"
++
++#: cp/init.c:1955
++#, fuzzy, gcc-internal-format
+ msgid "no suitable %qD found in class %qT"
+ msgstr "%2$qT sınıfında uygun bir %1$qD yok"
+
+-#: cp/init.c:1820
++#: cp/init.c:1960
+ #, gcc-internal-format
+ msgid "request for member %qD is ambiguous"
+ msgstr "üye %qD için istek belirsiz"
+
+-#: cp/init.c:1972
++#: cp/init.c:2134
+ #, gcc-internal-format
+ msgid "ISO C++ forbids initialization in array new"
+ msgstr "ISO C++ array new içinde ilklendirmeye izin vermez"
+
+-#: cp/init.c:2174
++#: cp/init.c:2336
+ #, gcc-internal-format
+ msgid "size in array new must have integral type"
+ msgstr "array new içindeki boyut bütünleyici türde olmalı"
+
+-#: cp/init.c:2183
++#: cp/init.c:2345
+ #, gcc-internal-format
+ msgid "new cannot be applied to a reference type"
+ msgstr "new bir referans türe uygulanamaz"
+
+-#: cp/init.c:2189
++#: cp/init.c:2351
+ #, gcc-internal-format
+ msgid "new cannot be applied to a function type"
+ msgstr "new bir işlev türe uygulanamaz"
+
+-#: cp/init.c:2228
++#: cp/init.c:2390
+ #, gcc-internal-format
+ msgid "call to Java constructor, while %<jclass%> undefined"
+ msgstr "%<jclass%> tanımsızken Java kurucusuna çağrı"
+
+-#: cp/init.c:2246
++#: cp/init.c:2408
+ #, fuzzy, gcc-internal-format
+ msgid "can't find %<class$%> in %qT"
+ msgstr "class$ bulunamıyor"
+
+-#: cp/init.c:2607
++#: cp/init.c:2769
+ #, gcc-internal-format
+ msgid "initializer ends prematurely"
+ msgstr "ilklendirici erken sonlanıyor"
+
+-#: cp/init.c:2662
++#: cp/init.c:2824
+ #, gcc-internal-format
+ msgid "cannot initialize multi-dimensional array with initializer"
+ msgstr "çok boyutlu diziler ilklendiricilerle ilklendirilemez"
+
+-#: cp/init.c:2799
++#: cp/init.c:2961
+ #, gcc-internal-format
+ msgid "possible problem detected in invocation of delete operator:"
+ msgstr "silme işlecinin çağrısında bir sorun saptandı:"
+
+-#: cp/init.c:2802
++#: cp/init.c:2964
+ #, gcc-internal-format
+ msgid "neither the destructor nor the class-specific operator delete will be called, even if they are declared when the class is defined."
+ msgstr "sınıf tanımlanırken bildirilmiş olsalar bile, ne yıkıcı ne de sınıfa özel silme işleci çağrılır."
+
+-#: cp/init.c:2823
++#: cp/init.c:2985
+ #, gcc-internal-format
+ msgid "unknown array size in delete"
+ msgstr "delete içindeki dizi boyutu bilinmiyor"
+
+-#: cp/init.c:3070
++#: cp/init.c:3232
+ #, gcc-internal-format
+ msgid "type to vector delete is neither pointer or array type"
+ msgstr "vektör silme işlemi için tür ne gösterici ne de dizi"
+@@ -29842,22 +29853,22 @@
+ msgid "mangling typeof, use decltype instead"
+ msgstr ""
+
+-#: cp/mangle.c:2208
++#: cp/mangle.c:2211
+ #, gcc-internal-format
+ msgid "call_expr cannot be mangled due to a defect in the C++ ABI"
+ msgstr "çağrı ifadesi C++ ABI'deki bir bozukluktan dolayı anlamlandırılamıyor"
+
+-#: cp/mangle.c:2216
++#: cp/mangle.c:2219
+ #, gcc-internal-format
+ msgid "zero-operand casts cannot be mangled due to a defect in the C++ ABI"
+ msgstr "terimsiz tür dönüşümleri C++ ABI'deki bir bozukluktan dolayı anlamlandırılamıyor"
+
+-#: cp/mangle.c:2266
++#: cp/mangle.c:2269
+ #, gcc-internal-format
+ msgid "omitted middle operand to %<?:%> operand cannot be mangled"
+ msgstr "%<?:%> için ortadaki terim olmadığından yorumlanamadı"
+
+-#: cp/mangle.c:2584
++#: cp/mangle.c:2587
+ #, gcc-internal-format
+ msgid "the mangled name of %qD will change in a future version of GCC"
+ msgstr "%qD' nin anlamlandırılmış ismi GCC'nin gelecek sürümünde değişecek"
+@@ -29867,27 +29878,27 @@
+ msgid "generic thunk code fails for method %q#D which uses %<...%>"
+ msgstr "%<...%> kullanan yöntem %q#D için soysal thunk kodu başarısız olur"
+
+-#: cp/method.c:697
++#: cp/method.c:698
+ #, gcc-internal-format
+ msgid "non-static const member %q#D, can't use default assignment operator"
+ msgstr "statik olmayan sabit üye %q#D, öntanımlı atama işleci kullanamaz"
+
+-#: cp/method.c:703
++#: cp/method.c:704
+ #, gcc-internal-format
+ msgid "non-static reference member %q#D, can't use default assignment operator"
+ msgstr "statik olmayan referans üye %q#D, öntanımlı atama işleci kullanamaz"
+
+-#: cp/method.c:815
++#: cp/method.c:816
+ #, gcc-internal-format
+ msgid "%Hsynthesized method %qD first required here "
+ msgstr "%Hbireştirilmiş %qD yöntemi önce burada gerekli"
+
+-#: cp/method.c:1158
++#: cp/method.c:1159
+ #, gcc-internal-format
+ msgid "vtable layout for class %qT may not be ABI-compliantand may change in a future version of GCC due to implicit virtual destructor"
+ msgstr "sınıf %qT için vtable yerleşimi ABI-uyumlu olmayabilir ve bu GCC'nin gelecek sürümünde örtük sanal yıkıcıdan dolayı değişebilir"
+
+-#: cp/name-lookup.c:728
++#: cp/name-lookup.c:727
+ #, gcc-internal-format
+ msgid "redeclaration of %<wchar_t%> as %qT"
+ msgstr "%qT olarak yeniden %<wchar_t%> bildirimi"
+@@ -29898,243 +29909,243 @@
+ #. [basic.start.main]
+ #.
+ #. This function shall not be overloaded.
+-#: cp/name-lookup.c:758
++#: cp/name-lookup.c:757
+ #, gcc-internal-format
+ msgid "invalid redeclaration of %q+D"
+ msgstr "yeniden %q+D bildirimi geçersiz"
+
+-#: cp/name-lookup.c:759
++#: cp/name-lookup.c:758
+ #, gcc-internal-format
+ msgid "as %qD"
+ msgstr "%qD olarak"
+
+-#: cp/name-lookup.c:850
++#: cp/name-lookup.c:849
+ #, gcc-internal-format
+ msgid "type mismatch with previous external decl of %q#D"
+ msgstr "tür önceki %q#D external bildirimi ile uyumsuz"
+
+-#: cp/name-lookup.c:851
++#: cp/name-lookup.c:850
+ #, gcc-internal-format
+ msgid "previous external decl of %q+#D"
+ msgstr "önceden external %q+#D bildirimi"
+
+-#: cp/name-lookup.c:942
++#: cp/name-lookup.c:941
+ #, gcc-internal-format
+ msgid "extern declaration of %q#D doesn't match"
+ msgstr "%q#D extern bildirim uyumsuz"
+
+-#: cp/name-lookup.c:943
++#: cp/name-lookup.c:942
+ #, gcc-internal-format
+ msgid "global declaration %q+#D"
+ msgstr "%q+#D genel bildirimi"
+
+-#: cp/name-lookup.c:980 cp/name-lookup.c:987
++#: cp/name-lookup.c:979 cp/name-lookup.c:986
+ #, gcc-internal-format
+ msgid "declaration of %q#D shadows a parameter"
+ msgstr "%q#D bildirimi bir parametreyi gölgeliyor"
+
+ #. Location of previous decl is not useful in this case.
+-#: cp/name-lookup.c:1012
++#: cp/name-lookup.c:1011
+ #, gcc-internal-format
+ msgid "declaration of %qD shadows a member of 'this'"
+ msgstr "%qD bildirimi bir `this' üyesini gölgeliyor"
+
+-#: cp/name-lookup.c:1018
++#: cp/name-lookup.c:1017
+ #, gcc-internal-format
+ msgid "declaration of %qD shadows a previous local"
+ msgstr "%qD bildirimi önceki yereli gölgeliyor"
+
+-#: cp/name-lookup.c:1025
++#: cp/name-lookup.c:1024
+ #, gcc-internal-format
+ msgid "declaration of %qD shadows a global declaration"
+ msgstr "%qD bildirimi bir global bildirimi gölgeliyor"
+
+-#: cp/name-lookup.c:1148
++#: cp/name-lookup.c:1147
+ #, gcc-internal-format
+ msgid "name lookup of %qD changed"
+ msgstr "%qD isim araması değişti"
+
+-#: cp/name-lookup.c:1149
++#: cp/name-lookup.c:1148
+ #, gcc-internal-format
+ msgid " matches this %q+D under ISO standard rules"
+ msgstr " bu %q+D ISO standardının kuralları altında eşleşir"
+
+-#: cp/name-lookup.c:1151
++#: cp/name-lookup.c:1150
+ #, gcc-internal-format
+ msgid " matches this %q+D under old rules"
+ msgstr " bu %q+D eski kurallar altında eşleşir"
+
+-#: cp/name-lookup.c:1169 cp/name-lookup.c:1177
++#: cp/name-lookup.c:1168 cp/name-lookup.c:1176
+ #, gcc-internal-format
+ msgid "name lookup of %qD changed for new ISO %<for%> scoping"
+ msgstr "%qD isim araması yeni ISO %<for%> etki alanında değişti"
+
+-#: cp/name-lookup.c:1171
++#: cp/name-lookup.c:1170
+ #, gcc-internal-format
+ msgid " cannot use obsolete binding at %q+D because it has a destructor"
+ msgstr " %q+D'deki atıl baglantı bir yıkıcıya sahip olduğundan kullanılamaz"
+
+-#: cp/name-lookup.c:1179
++#: cp/name-lookup.c:1178
+ #, gcc-internal-format
+ msgid " using obsolete binding at %q+D"
+ msgstr " %qD'de atıl bağlantı kullanımı"
+
+-#: cp/name-lookup.c:1232
++#: cp/name-lookup.c:1231
+ #, gcc-internal-format
+ msgid "%s %s(%E) %p %d\n"
+ msgstr "%s %s(%E) %p %d\n"
+
+-#: cp/name-lookup.c:1235
++#: cp/name-lookup.c:1234
+ #, gcc-internal-format
+ msgid "%s %s %p %d\n"
+ msgstr "%s %s %p %d\n"
+
+-#: cp/name-lookup.c:1362
++#: cp/name-lookup.c:1361
+ #, gcc-internal-format
+ msgid "XXX is_class_level != (current_scope == class_scope)\n"
+ msgstr ""
+
+-#: cp/name-lookup.c:1920
++#: cp/name-lookup.c:1922
+ #, gcc-internal-format
+ msgid "%q#D hides constructor for %q#T"
+ msgstr "%q#D %q#T kurucusunu gizliyor"
+
+-#: cp/name-lookup.c:1937
++#: cp/name-lookup.c:1939
+ #, gcc-internal-format
+ msgid "%q#D conflicts with previous using declaration %q#D"
+ msgstr "%q#D önceki using bildirimi %q#D ile çelişiyor"
+
+-#: cp/name-lookup.c:1960
++#: cp/name-lookup.c:1962
+ #, gcc-internal-format
+ msgid "previous non-function declaration %q+#D"
+ msgstr "önceden işlev olmayan bildirim %q+#D"
+
+-#: cp/name-lookup.c:1961
++#: cp/name-lookup.c:1963
+ #, gcc-internal-format
+ msgid "conflicts with function declaration %q#D"
+ msgstr "işlev bildirimi %q#D ile çelişiyor"
+
+ #. It's a nested name with template parameter dependent scope.
+ #. This can only be using-declaration for class member.
+-#: cp/name-lookup.c:2039 cp/name-lookup.c:2064
++#: cp/name-lookup.c:2041 cp/name-lookup.c:2066
+ #, gcc-internal-format
+ msgid "%qT is not a namespace"
+ msgstr "%qT bir isim alanı değil"
+
+ #. 7.3.3/5
+ #. A using-declaration shall not name a template-id.
+-#: cp/name-lookup.c:2049
++#: cp/name-lookup.c:2051
+ #, gcc-internal-format
+ msgid "a using-declaration cannot specify a template-id. Try %<using %D%>"
+ msgstr "bir using bildirimi bir ÅŸablon kimliÄŸi belirtemez. %<using %D%> deneyin"
+
+-#: cp/name-lookup.c:2056
++#: cp/name-lookup.c:2058
+ #, gcc-internal-format
+ msgid "namespace %qD not allowed in using-declaration"
+ msgstr "using bildiriminde isim alanı %qD kullanılamaz"
+
+-#: cp/name-lookup.c:2092
++#: cp/name-lookup.c:2094
+ #, gcc-internal-format
+ msgid "%qD not declared"
+ msgstr "%qD bildirilmemiÅŸ"
+
+-#: cp/name-lookup.c:2128 cp/name-lookup.c:2165 cp/name-lookup.c:2199
+-#: cp/name-lookup.c:2214
++#: cp/name-lookup.c:2130 cp/name-lookup.c:2167 cp/name-lookup.c:2201
++#: cp/name-lookup.c:2216
+ #, gcc-internal-format
+ msgid "%qD is already declared in this scope"
+ msgstr "%qD zaten bu baÄŸlamda bildirilmiÅŸ"
+
+-#: cp/name-lookup.c:2817
++#: cp/name-lookup.c:2819
+ #, gcc-internal-format
+ msgid "using-declaration for non-member at class scope"
+ msgstr "sınıf bağlamında üye olmayan için using bildirimi"
+
+-#: cp/name-lookup.c:2824
++#: cp/name-lookup.c:2826
+ #, gcc-internal-format
+ msgid "%<%T::%D%> names destructor"
+ msgstr "%<%T::%D%> yıkıcı isimlendiriyor"
+
+-#: cp/name-lookup.c:2829
++#: cp/name-lookup.c:2831
+ #, gcc-internal-format
+ msgid "%<%T::%D%> names constructor"
+ msgstr "%<%T::%D%> kurucu isimlendiriyor"
+
+-#: cp/name-lookup.c:2834
++#: cp/name-lookup.c:2836
+ #, gcc-internal-format
+ msgid "%<%T::%D%> names constructor in %qT"
+ msgstr "%<%T::%D%> %qT içinde kurucu isimlendiriyor"
+
+-#: cp/name-lookup.c:2884
++#: cp/name-lookup.c:2886
+ #, fuzzy, gcc-internal-format
+ msgid "no members matching %<%T::%D%> in %q#T"
+ msgstr "%3$q#T içinde %<%1$T::%2$D%> ile eşleşen bir üye yok"
+
+-#: cp/name-lookup.c:2952
++#: cp/name-lookup.c:2954
+ #, gcc-internal-format
+ msgid "declaration of %qD not in a namespace surrounding %qD"
+ msgstr "%qD bildirimi %qD'yi kuşatan isim alanında değil"
+
+-#: cp/name-lookup.c:2960
++#: cp/name-lookup.c:2962
+ #, gcc-internal-format
+ msgid "explicit qualification in declaration of %qD"
+ msgstr "%qD bildiriminde doÄŸrudan niteleme"
+
+-#: cp/name-lookup.c:3003
++#: cp/name-lookup.c:3005
+ #, gcc-internal-format
+ msgid "%qD should have been declared inside %qD"
+ msgstr "%qD %qD içinde bildirilmeliydi"
+
+-#: cp/name-lookup.c:3048
++#: cp/name-lookup.c:3050
+ #, fuzzy, gcc-internal-format
+ msgid "%qD attribute requires a single NTBS argument"
+ msgstr "%qs özniteliği bir tamsayı sabit argüman gerektirir"
+
+-#: cp/name-lookup.c:3055
++#: cp/name-lookup.c:3057
+ #, gcc-internal-format
+ msgid "%qD attribute is meaningless since members of the anonymous namespace get local symbols"
+ msgstr ""
+
+-#: cp/name-lookup.c:3064 cp/name-lookup.c:3433
++#: cp/name-lookup.c:3066 cp/name-lookup.c:3435
+ #, gcc-internal-format
+ msgid "%qD attribute directive ignored"
+ msgstr "%qD öznitelik yönergesi yoksayıldı"
+
+-#: cp/name-lookup.c:3109
++#: cp/name-lookup.c:3111
+ #, gcc-internal-format
+ msgid "namespace alias %qD not allowed here, assuming %qD"
+ msgstr "burada isim alanı rumuzu %qD kullanılamaz, %qD varsayılıyor"
+
+-#: cp/name-lookup.c:3421
++#: cp/name-lookup.c:3423
+ #, gcc-internal-format
+ msgid "strong using only meaningful at namespace scope"
+ msgstr "kesin kullanım sadece isimalanı kapsamında anlamlıdır"
+
+-#: cp/name-lookup.c:3425
++#: cp/name-lookup.c:3427
+ #, fuzzy, gcc-internal-format
+ msgid "current namespace %qD does not enclose strongly used namespace %qD"
+ msgstr "%3$qD isim alanını kapsamayan %2$qD isim alanında doğrudan %1$qD bildirimi"
+
+-#: cp/name-lookup.c:4318
++#: cp/name-lookup.c:4320
+ #, gcc-internal-format
+ msgid "%q+D is not a function,"
+ msgstr "%q+D bir iÅŸlev deÄŸil,"
+
+-#: cp/name-lookup.c:4319
++#: cp/name-lookup.c:4321
+ #, gcc-internal-format
+ msgid " conflict with %q+D"
+ msgstr " %q+D ile çelişiyor"
+
+-#: cp/name-lookup.c:4752
++#: cp/name-lookup.c:4756
+ #, gcc-internal-format
+ msgid "argument dependent lookup finds %q+D"
+ msgstr ""
+
+-#: cp/name-lookup.c:5184
++#: cp/name-lookup.c:5188
+ #, gcc-internal-format
+ msgid "XXX entering pop_everything ()\n"
+ msgstr "XXX, pop_everything () iÅŸlevine giriyor\n"
+
+-#: cp/name-lookup.c:5193
++#: cp/name-lookup.c:5197
+ #, gcc-internal-format
+ msgid "XXX leaving pop_everything ()\n"
+ msgstr "XXX, pop_everything () işlevini bırakıyor\n"
+@@ -30144,368 +30155,373 @@
+ msgid "identifier %<%s%> will become a keyword in C++0x"
+ msgstr ""
+
+-#: cp/parser.c:2066
++#: cp/parser.c:2069
+ #, gcc-internal-format
+ msgid "%<#pragma%> is not allowed here"
+ msgstr "%<#pragma%> burada kullanılamaz"
+
+-#: cp/parser.c:2096
++#: cp/parser.c:2099
+ #, fuzzy, gcc-internal-format
+ msgid "%<%E::%E%> has not been declared"
+ msgstr "%<%D::%D%> bildirilmemiÅŸti"
+
+-#: cp/parser.c:2099
++#: cp/parser.c:2102
+ #, fuzzy, gcc-internal-format
+ msgid "%<::%E%> has not been declared"
+ msgstr "%<::%D%> bildirilmemiÅŸti"
+
+-#: cp/parser.c:2102
++#: cp/parser.c:2105
+ #, fuzzy, gcc-internal-format
+ msgid "request for member %qE in non-class type %qT"
+ msgstr "sınıf olmayan %2$qT türündeki %1$qD üyesi için istek"
+
+-#: cp/parser.c:2105
++#: cp/parser.c:2108
+ #, fuzzy, gcc-internal-format
+ msgid "%<%T::%E%> has not been declared"
+ msgstr "%<%T::%D%> bildirilmemiÅŸti"
+
+-#: cp/parser.c:2108
++#: cp/parser.c:2111
+ #, fuzzy, gcc-internal-format
+ msgid "%qE has not been declared"
+ msgstr "%qD bildirilmemiÅŸti"
+
+-#: cp/parser.c:2111
++#: cp/parser.c:2114
+ #, fuzzy, gcc-internal-format
+ msgid "%<%E::%E%> %s"
+ msgstr "%<%D::%D%> %s"
+
+-#: cp/parser.c:2113
++#: cp/parser.c:2116
+ #, fuzzy, gcc-internal-format
+ msgid "%<::%E%> %s"
+ msgstr "%<::%D%> %s"
+
+-#: cp/parser.c:2115
++#: cp/parser.c:2118
+ #, fuzzy, gcc-internal-format
+ msgid "%qE %s"
+ msgstr "%qD %s"
+
+-#: cp/parser.c:2151
+-#, gcc-internal-format
+-msgid "ISO C++ does not support %<long long%>"
++#: cp/parser.c:2155
++#, fuzzy, gcc-internal-format
++msgid "ISO C++ 1998 does not support %<long long%>"
+ msgstr "ISO C++ %<long long%> desteklemez"
+
+-#: cp/parser.c:2171
++#: cp/parser.c:2175
+ #, gcc-internal-format
+ msgid "duplicate %qs"
+ msgstr "%qs yinelenmiÅŸ"
+
+-#: cp/parser.c:2214
++#: cp/parser.c:2218
+ #, gcc-internal-format
+ msgid "new types may not be defined in a return type"
+ msgstr "new türleri bir dönüş türünde tanımlanamayabilir"
+
+-#: cp/parser.c:2215
++#: cp/parser.c:2219
+ #, gcc-internal-format
+ msgid "(perhaps a semicolon is missing after the definition of %qT)"
+ msgstr "(belki de %qT bildiriminden sonra bir ; yoktur)"
+
+-#: cp/parser.c:2234 cp/parser.c:4077 cp/pt.c:5443
++#: cp/parser.c:2238 cp/parser.c:4081 cp/pt.c:5509
+ #, gcc-internal-format
+ msgid "%qT is not a template"
+ msgstr "%qT bir ÅŸablon deÄŸil"
+
+-#: cp/parser.c:2236
++#: cp/parser.c:2240
+ #, gcc-internal-format
+ msgid "%qE is not a template"
+ msgstr "%qE bir ÅŸablon deÄŸil"
+
+-#: cp/parser.c:2238
++#: cp/parser.c:2242
+ #, gcc-internal-format
+ msgid "invalid template-id"
+ msgstr "geçersiz şablon kimliği"
+
+-#: cp/parser.c:2267
++#: cp/parser.c:2271
+ #, gcc-internal-format
+ msgid "%s cannot appear in a constant-expression"
+ msgstr "%s bir sabit ifadesinde görünemez"
+
+-#: cp/parser.c:2292
++#: cp/parser.c:2296
+ #, 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/parser.c:2294
++#: cp/parser.c:2298
+ #, fuzzy, gcc-internal-format
+ msgid "invalid use of destructor %qD as a type"
+ msgstr "kurucunun şablon olarak kullanımı geçersiz"
+
+ #. Something like 'unsigned A a;'
+-#: cp/parser.c:2297
++#: cp/parser.c:2301
+ #, fuzzy, gcc-internal-format
+ msgid "invalid combination of multiple type-specifiers"
+ msgstr "nitelikli tür %qT tanımı geçersiz"
+
+ #. Issue an error message.
+-#: cp/parser.c:2301
++#: cp/parser.c:2305
+ #, gcc-internal-format
+ msgid "%qE does not name a type"
+ msgstr "%qE bir türü isimlendirmiyor"
+
+-#: cp/parser.c:2333
++#: cp/parser.c:2337
+ #, gcc-internal-format
+ msgid "(perhaps %<typename %T::%E%> was intended)"
+ msgstr "(belki de %<typename %T::%E%> demek istiyordunuz)"
+
+-#: cp/parser.c:2348
++#: cp/parser.c:2352
+ #, gcc-internal-format
+ msgid "%qE in namespace %qE does not name a type"
+ msgstr "%qE %qE isim alanında bir türü isimlendirmiyor"
+
+-#: cp/parser.c:2351
++#: cp/parser.c:2355
+ #, gcc-internal-format
+ msgid "%qE in class %qT does not name a type"
+ msgstr "%qE %qT sınıfında bir türü isimlendirmiyor"
+
+-#: cp/parser.c:3160
++#: cp/parser.c:3164
+ #, gcc-internal-format
+ msgid "ISO C++ forbids braced-groups within expressions"
+ msgstr "ISO C++ da kaşlı ayracla gruplanmış ifadelere izin verilmez"
+
+-#: cp/parser.c:3171
++#: cp/parser.c:3175
+ #, fuzzy, gcc-internal-format
+ msgid "statement-expressions are not allowed outside functions nor in template-argument lists"
+ msgstr "deyim ifadelerine sadece işlevlerin içinde izin verilir"
+
+-#: cp/parser.c:3229
++#: cp/parser.c:3233
+ #, gcc-internal-format
+ msgid "%<this%> may not be used in this context"
+ msgstr "bu kapsamda %<this%> kullanılamaz"
+
+-#: cp/parser.c:3412
++#: cp/parser.c:3416
+ #, gcc-internal-format
+ msgid "local variable %qD may not appear in this context"
+ msgstr "yerel değişken %qD bu kapsamda görünemez"
+
+-#: cp/parser.c:3711
++#: cp/parser.c:3715
+ #, fuzzy, gcc-internal-format
+ msgid "scope %qT before %<~%> is not a class-name"
+ msgstr "%qT bir sınıf ya da isim alanı değil"
+
+-#: cp/parser.c:3812
++#: cp/parser.c:3816
+ #, fuzzy, gcc-internal-format
+ msgid "declaration of %<~%T%> as member of %qT"
+ msgstr "%2$qT üyesi olarak %<~%1$T%> bildirimi"
+
+-#: cp/parser.c:3826
++#: cp/parser.c:3830
+ #, gcc-internal-format
+ msgid "typedef-name %qD used as destructor declarator"
+ msgstr "typedef ismi %qD yıkıcı bildiricisi olarak kullanılmış"
+
+-#: cp/parser.c:4480
++#: cp/parser.c:4484
+ #, gcc-internal-format
+ msgid "ISO C++ forbids compound-literals"
+ msgstr "ISO C++ birleÅŸik sabitlere izin vermez"
+
+-#: cp/parser.c:4837
++#: cp/parser.c:4841
+ #, gcc-internal-format
+ msgid "%qE does not have class type"
+ msgstr "%qE sınıf türüne sahip değil"
+
+-#: cp/parser.c:4920 cp/typeck.c:1978
++#: cp/parser.c:4924 cp/typeck.c:2024
+ #, gcc-internal-format
+ msgid "invalid use of %qD"
+ msgstr "%qD kullanımı geçersiz"
+
+-#: cp/parser.c:5480
++#: cp/parser.c:5486
+ #, gcc-internal-format
+ msgid "array bound forbidden after parenthesized type-id"
+ msgstr "parantezli tür kimliğinden sonra dizi sınırı yasak"
+
+-#: cp/parser.c:5481
++#: cp/parser.c:5487
+ #, gcc-internal-format
+ msgid "try removing the parentheses around the type-id"
+ msgstr "tür kimliğini sarmalayan parantezleri kaldırmayı deneyin"
+
+-#: cp/parser.c:5671
++#: cp/parser.c:5677
+ #, gcc-internal-format
+ msgid "expression in new-declarator must have integral or enumeration type"
+ msgstr "new bildirimli ifade bütünleyici ya da numaralama türünde olmalı"
+
+-#: cp/parser.c:5860
++#: cp/parser.c:5866
+ #, gcc-internal-format
+ msgid "use of old-style cast"
+ msgstr "eski tarz tür dönüşümü"
+
+-#: cp/parser.c:5986
++#: cp/parser.c:5992
+ #, gcc-internal-format
+ msgid "%H%<>>%> operator will be treated as two right angle brackets in C++0x"
+ msgstr ""
+
+-#: cp/parser.c:5989
++#: cp/parser.c:5995
+ #, fuzzy, gcc-internal-format
+ msgid "suggest parentheses around %<>>%> expression"
+ msgstr "|| içindeki && çevresinde parantezler önerilir"
+
+-#: cp/parser.c:6793
++#: cp/parser.c:6799
+ #, gcc-internal-format
+ msgid "case label %qE not within a switch statement"
+ msgstr "case etiketi %qE bir switch deyimi içinde değil"
+
+-#: cp/parser.c:6922
++#: cp/parser.c:6928
+ #, gcc-internal-format
+ msgid "%<else%> without a previous %<if%>"
+ msgstr ""
+
+-#: cp/parser.c:7208
++#: cp/parser.c:7214
+ #, gcc-internal-format
+ msgid "suggest a space before %<;%> or explicit braces around empty body in %<%s%> statement"
+ msgstr ""
+
+-#: cp/parser.c:7468
++#: cp/parser.c:7474
+ #, gcc-internal-format
+ msgid "ISO C++ forbids computed gotos"
+ msgstr "ISO C++ hesaplanmış goto'lara izin vermez"
+
+-#: cp/parser.c:7608
++#: cp/parser.c:7614
+ #, gcc-internal-format
+ msgid "extra %<;%>"
+ msgstr "fazladan %<;%>"
+
+-#: cp/parser.c:7825
++#: cp/parser.c:7831
+ #, gcc-internal-format
+ msgid "%<__label__%> not at the beginning of a block"
+ msgstr ""
+
+-#: cp/parser.c:7958
++#: cp/parser.c:7964
+ #, gcc-internal-format
+ msgid "mixing declarations and function-definitions is forbidden"
+ msgstr "karışık bildirimler ve işlev tanımları yasaktır"
+
+-#: cp/parser.c:8090
++#: cp/parser.c:8096
+ #, fuzzy, gcc-internal-format
+ msgid "%<friend%> used outside of class"
+ msgstr "%<friend%> sadece bir sınıf içinde belirtilebilir"
+
+-#: cp/parser.c:8244
++#: cp/parser.c:8250
+ #, gcc-internal-format
+ msgid "class definition may not be declared a friend"
+ msgstr "sınıf tanımı kardeş olarak bildirilemeyebilir"
+
+-#: cp/parser.c:8308 cp/parser.c:15155
++#: cp/parser.c:8314 cp/parser.c:15235
+ #, gcc-internal-format
+ msgid "templates may not be %<virtual%>"
+ msgstr ""
+
+-#: cp/parser.c:8775
++#: cp/parser.c:8786
+ #, gcc-internal-format
+ msgid "only constructors take base initializers"
+ msgstr "temel ilklendiricileri sadece kurucular alır"
+
+-#: cp/parser.c:8795
++#: cp/parser.c:8806
+ #, fuzzy, gcc-internal-format
+ msgid "cannot expand initializer for member %<%D%>"
+ msgstr "uye %qD için ilklendirici eksik"
+
+-#: cp/parser.c:8847
++#: cp/parser.c:8858
+ #, gcc-internal-format
+ msgid "anachronistic old-style base class initializer"
+ msgstr "artık tarih olmuş eski tarz temel sınıf ilklendiricisi"
+
+-#: cp/parser.c:8892
++#: cp/parser.c:8903
+ #, gcc-internal-format
+ msgid "keyword %<typename%> not allowed in this context (a qualified member initializer is implicitly a type)"
+ msgstr "%<typename%> anahtar sözcüğüne bu bağlamda izin verilmez (bir nitelikli üye ilklendirici örtük olarak bir tür olduğundan)"
+
+ #. Warn that we do not support `export'.
+-#: cp/parser.c:9237
++#: cp/parser.c:9248
+ #, gcc-internal-format
+ msgid "keyword %<export%> not implemented, and will be ignored"
+ msgstr "%<export%> anahtar sözcüğü gerçekleştirilmedi ve yoksayılacak"
+
+-#: cp/parser.c:9482 cp/parser.c:9583
++#: cp/parser.c:9419 cp/parser.c:9517 cp/parser.c:9618
+ #, fuzzy, gcc-internal-format
+ msgid "template parameter pack %qD cannot have a default argument"
+ msgstr "%qD öntanımlı argümanlara sahip olamaz"
+
+-#: cp/parser.c:9485 cp/parser.c:9586
++#: cp/parser.c:9422
+ #, fuzzy, gcc-internal-format
++msgid "template parameter pack cannot have a default argument"
++msgstr "ÅŸablon parametreleri kardeÅŸ olamazlar"
++
++#: cp/parser.c:9520 cp/parser.c:9621
++#, fuzzy, gcc-internal-format
+ msgid "template parameter packs cannot have default arguments"
+ msgstr "ÅŸablon parametreleri kardeÅŸ olamazlar"
+
+ #. Otherwise, emit an error about the invalid digraph, but continue
+ #. parsing because we got our argument list.
+-#: cp/parser.c:9723
++#: cp/parser.c:9758
+ #, gcc-internal-format
+ msgid "%<<::%> cannot begin a template-argument list"
+ msgstr "%<<::%> bir şablon argüman listesi başlatamaz"
+
+-#: cp/parser.c:9724
++#: cp/parser.c:9759
+ #, gcc-internal-format
+ msgid "%<<:%> is an alternate spelling for %<[%>. Insert whitespace between %<<%> and %<::%>"
+ msgstr "%<<:%> ile %<[%> aynı şeyi gösterir. %<<%> ile %<::%> arasında boşluk bırakın"
+
+-#: cp/parser.c:9731
++#: cp/parser.c:9766
+ #, gcc-internal-format
+ msgid "(if you use -fpermissive G++ will accept your code)"
+ msgstr "(-fpermissive kullanırsanız G++ kodunuzu kabul edecek)"
+
+-#: cp/parser.c:9804
++#: cp/parser.c:9839
+ #, gcc-internal-format
+ msgid "parse error in template argument list"
+ msgstr "şablon argüman listesinde çözümleme hatası"
+
+ #. Explain what went wrong.
+-#: cp/parser.c:9917
++#: cp/parser.c:9952
+ #, gcc-internal-format
+ msgid "non-template %qD used as template"
+ msgstr "şablon olarak şablon olmayan %qD kullanılmış"
+
+-#: cp/parser.c:9918
++#: cp/parser.c:9953
+ #, gcc-internal-format
+ msgid "use %<%T::template %D%> to indicate that it is a template"
+ msgstr "bir şablon olduğunu belirtmek için %<%T::template %D%> kullanın"
+
+-#: cp/parser.c:10441
++#: cp/parser.c:10476
+ #, gcc-internal-format
+ msgid "template specialization with C linkage"
+ msgstr "C ilintileme ile şablon özelleştirmesi"
+
+-#: cp/parser.c:11032
++#: cp/parser.c:11067
+ #, gcc-internal-format
+ msgid "using %<typename%> outside of template"
+ msgstr "şablon dışında %<typename%> kullanımı"
+
+-#: cp/parser.c:11191
++#: cp/parser.c:11226
+ #, fuzzy, gcc-internal-format
+ msgid "declaration %qD does not declare anything"
+ msgstr "bildirim hiçbir şey bildirmiyor"
+
+-#: cp/parser.c:11275
++#: cp/parser.c:11310
+ #, fuzzy, gcc-internal-format
+ msgid "attributes ignored on uninstantiated type"
+ msgstr "%qE özniteliği sınıf türleri dışında yoksayılır"
+
+-#: cp/parser.c:11279
++#: cp/parser.c:11314
+ #, fuzzy, gcc-internal-format
+ msgid "attributes ignored on template instantiation"
+ msgstr "saklama sınıfı %qD şablon örneklenimine uygulanmış"
+
+-#: cp/parser.c:11284
++#: cp/parser.c:11319
+ #, gcc-internal-format
+ msgid "attributes ignored on elaborated-type-specifier that is not a forward declaration"
+ msgstr ""
+
+-#: cp/parser.c:11406
++#: cp/parser.c:11441
+ #, gcc-internal-format
+ msgid "comma at end of enumerator list"
+ msgstr "sembolik sabitler listesinin sonunda virgul"
+
+-#: cp/parser.c:11498
++#: cp/parser.c:11533
+ #, gcc-internal-format
+ msgid "%qD is not a namespace-name"
+ msgstr "%qD bir isim alanı ismi değil"
+
+-#: cp/parser.c:11599
++#: cp/parser.c:11634
+ #, fuzzy, gcc-internal-format
+ msgid "%<namespace%> definition is not allowed here"
+ msgstr "%<#pragma%> burada kullanılamaz"
+@@ -30513,142 +30529,157 @@
+ #. [namespace.udecl]
+ #.
+ #. A using declaration shall not name a template-id.
+-#: cp/parser.c:11738
++#: cp/parser.c:11773
+ #, gcc-internal-format
+ msgid "a template-id may not appear in a using-declaration"
+ msgstr "using bildiriminde bir ÅŸablon kimliÄŸi bulunamaz"
+
+-#: cp/parser.c:12094
++#: cp/parser.c:12135
+ #, gcc-internal-format
+ msgid "an asm-specification is not allowed on a function-definition"
+ msgstr "bir işlev tanımında bir asm belirtimine izin verilmez"
+
+-#: cp/parser.c:12096
++#: cp/parser.c:12137
+ #, gcc-internal-format
+ msgid "attributes are not allowed on a function-definition"
+ msgstr "bir işlev tanımıda özniteliklere izin verilmez"
+
+-#: cp/parser.c:12229
++#: cp/parser.c:12270
+ #, fuzzy, gcc-internal-format
+ msgid "initializer provided for function"
+ msgstr "kardeÅŸ iÅŸlev %qs ilklendirilemiyor"
+
+-#: cp/parser.c:12249
++#: cp/parser.c:12290
+ #, gcc-internal-format
+ msgid "attributes after parenthesized initializer ignored"
+ msgstr "parantezli ilklendiriciden sonraki öznitelikler yoksayıldı"
+
+-#: cp/parser.c:12630 cp/pt.c:8772
++#: cp/parser.c:12671 cp/pt.c:8893
+ #, gcc-internal-format
+ msgid "array bound is not an integer constant"
+ msgstr "dizi sınırı bir tamsayı sabit değil"
+
+-#: cp/parser.c:12739
++#: cp/parser.c:12780
+ #, fuzzy, gcc-internal-format
+ msgid "%<%T::%E%> is not a type"
+ msgstr "%<%T::%D%> bir tür değil"
+
+-#: cp/parser.c:12765
++#: cp/parser.c:12806
+ #, gcc-internal-format
+ msgid "invalid use of constructor as a template"
+ msgstr "kurucunun şablon olarak kullanımı geçersiz"
+
+-#: cp/parser.c:12766
++#: cp/parser.c:12807
+ #, gcc-internal-format
+ msgid "use %<%T::%D%> instead of %<%T::%D%> to name the constructor in a qualified name"
+ msgstr ""
+
+-#: cp/parser.c:12938
++#: cp/parser.c:12979
+ #, gcc-internal-format
+ msgid "%qD is a namespace"
+ msgstr "%qD bir isim alanıdır"
+
+-#: cp/parser.c:13013
++#: cp/parser.c:13054
+ #, gcc-internal-format
+ msgid "duplicate cv-qualifier"
+ msgstr "cv-niteleyici yinelenmiÅŸ"
+
+-#: cp/parser.c:13600
++#: cp/parser.c:13640
+ #, gcc-internal-format
+ msgid "file ends in default argument"
+ msgstr "öntanımlı argüman içinde dosya sonu"
+
+-#: cp/parser.c:13673
++#: cp/parser.c:13683
+ #, gcc-internal-format
+ msgid "deprecated use of default argument for parameter of non-function"
+ msgstr "işlev olmayanın parametresi için öntanımlı argüman kullanımı önerilmiyor"
+
+-#: cp/parser.c:13676
++#: cp/parser.c:13686
+ #, gcc-internal-format
+ msgid "default arguments are only permitted for function parameters"
+ msgstr "öntanımlı argümanlara sadece işlev parametresi olarak izin verilir"
+
+-#: cp/parser.c:13877
++#: cp/parser.c:13702
++#, fuzzy, gcc-internal-format
++msgid "%sparameter pack %qD cannot have a default argument"
++msgstr "%qD öntanımlı argümanlara sahip olamaz"
++
++#: cp/parser.c:13705
++#, fuzzy, gcc-internal-format
++msgid "%sparameter pack cannot have a default argument"
++msgstr "%qD öntanımlı argümanlara sahip olamaz"
++
++#: cp/parser.c:13947
+ #, gcc-internal-format
+ msgid "ISO C++ does not allow designated initializers"
+ msgstr "ISO C++ tasarlanmış ilkendiricilere izin vermez"
+
+-#: cp/parser.c:14477
++#: cp/parser.c:14547
+ #, gcc-internal-format
+ msgid "invalid class name in declaration of %qD"
+ msgstr "%qD bildirimindeki sınıf ismi geçersiz"
+
+-#: cp/parser.c:14489
++#: cp/parser.c:14559
+ #, fuzzy, gcc-internal-format
+ msgid "declaration of %qD in namespace %qD which does not enclose %qD"
+ msgstr "%3$qD'yi kapsamayan %2$qD etki alanı içinde %1$qD türünde bildirim"
+
+-#: cp/parser.c:14492
++#: cp/parser.c:14562
+ #, fuzzy, gcc-internal-format
+ msgid "declaration of %qD in %qD which does not enclose %qD"
+ msgstr "%3$qD'yi kapsamayan %2$qD etki alanı içinde %1$qD türünde bildirim"
+
+-#: cp/parser.c:14505
++#: cp/parser.c:14575
+ #, gcc-internal-format
+ msgid "extra qualification ignored"
+ msgstr "fazladan niteleme yoksayıldı"
+
+-#: cp/parser.c:14516
++#: cp/parser.c:14586
+ #, gcc-internal-format
+ msgid "an explicit specialization must be preceded by %<template <>%>"
+ msgstr "bir doğrudan özelleştirme %<template <>%> ile öncelenmeli"
+
+-#: cp/parser.c:14609
++#: cp/parser.c:14613
++#, fuzzy, gcc-internal-format
++msgid "function template %qD redeclared as a class template"
++msgstr "şablon olarak şablon olmayan %qD kullanılmış"
++
++#: cp/parser.c:14689
+ #, gcc-internal-format
+ msgid "previous definition of %q+#T"
+ msgstr "%q+#T türünde önceden tanım"
+
+-#: cp/parser.c:14855
++#: cp/parser.c:14935
+ #, gcc-internal-format
+ msgid "%Hextra %<;%>"
+ msgstr "%Hfazladan %<;%>"
+
+-#: cp/parser.c:14873
++#: cp/parser.c:14953
+ #, gcc-internal-format
+ msgid "a class-key must be used when declaring a friend"
+ msgstr "bir kardeş bildirilirken bir sınıf anahtarı kullanılmalıdır"
+
+-#: cp/parser.c:14887
++#: cp/parser.c:14967
+ #, gcc-internal-format
+ msgid "friend declaration does not name a class or function"
+ msgstr "kardeş bildirimi bir sınıf veya işlevi isimlendirmiyor"
+
+-#: cp/parser.c:15064
++#: cp/parser.c:15144
+ #, gcc-internal-format
+ msgid "pure-specifier on function-definition"
+ msgstr "işlev tanımında pure belirteci"
+
+-#: cp/parser.c:15356
++#: cp/parser.c:15438
+ #, gcc-internal-format
+ msgid "keyword %<typename%> not allowed outside of templates"
+ msgstr "şablonlar dışında %<typename%> kullanımına izin verilmez"
+
+-#: cp/parser.c:15358
++#: cp/parser.c:15440
+ #, gcc-internal-format
+ msgid "keyword %<typename%> not allowed in this context (the base class is implicitly a type)"
+ msgstr "%<typename%> anahtar sözcüğüne bu bağlamda izin verilmez (taban sınıfı örtük olarak bir türdür)"
+
+-#: cp/parser.c:16407
++#: cp/parser.c:16489
+ #, gcc-internal-format
+ msgid "too few template-parameter-lists"
+ msgstr "şablon parametresi listesi çok az"
+@@ -30657,13 +30688,13 @@
+ #. something like:
+ #.
+ #. template <class T> template <class U> void S::f();
+-#: cp/parser.c:16422
++#: cp/parser.c:16504
+ #, gcc-internal-format
+ msgid "too many template-parameter-lists"
+ msgstr "şablon parametresi listesi çok fazla"
+
+ #. Issue an error message.
+-#: cp/parser.c:16694
++#: cp/parser.c:16776
+ #, gcc-internal-format
+ msgid "named return values are no longer supported"
+ msgstr "isimli dönüş değerleri artık desteklenmiyor"
+@@ -30671,234 +30702,234 @@
+ #. 14.5.2.2 [temp.mem]
+ #.
+ #. A local class shall not have member templates.
+-#: cp/parser.c:16766
++#: cp/parser.c:16848
+ #, fuzzy, gcc-internal-format
+ msgid "invalid declaration of member template in local class"
+ msgstr "yerel sınıf içinde %q#D üye şablonu bildirimi geçersiz"
+
+-#: cp/parser.c:16775
++#: cp/parser.c:16857
+ #, gcc-internal-format
+ msgid "template with C linkage"
+ msgstr "C ilintilemeli ÅŸablon"
+
+-#: cp/parser.c:16919
++#: cp/parser.c:17001
+ #, gcc-internal-format
+ msgid "template declaration of %qs"
+ msgstr "%qs ÅŸablon bildirimi"
+
+-#: cp/parser.c:16982
++#: cp/parser.c:17064
+ #, fuzzy, gcc-internal-format
+ msgid "explicit template specialization cannot have a storage class"
+ msgstr "isim alanı olmayan %qD kapsamında doğrudan özelleştirme"
+
+-#: cp/parser.c:17171
++#: cp/parser.c:17253
+ #, gcc-internal-format
+ msgid "%H%<>>%> should be %<> >%> within a nested template argument list"
+ msgstr "%H%<>>%> alt şablon argüman listesinde %<> >%> olmalıydı"
+
+-#: cp/parser.c:17184
++#: cp/parser.c:17266
+ #, gcc-internal-format
+ msgid "spurious %<>>%>, use %<>%> to terminate a template argument list"
+ msgstr "sahte %<>>%>, bir şablon argüman listesini sonlandırmak için %<>%> kullanın"
+
+-#: cp/parser.c:17519
++#: cp/parser.c:17601
+ #, fuzzy, gcc-internal-format
+ msgid "invalid use of %qD in linkage specification"
+ msgstr "taban sınıf belirtimi geçersiz"
+
+-#: cp/parser.c:17532
++#: cp/parser.c:17614
+ #, fuzzy, gcc-internal-format
+ msgid "%<__thread%> before %qD"
+ msgstr "%<extern%> öncesinde %<__thread%>"
+
+-#: cp/parser.c:17847
++#: cp/parser.c:17929
+ #, gcc-internal-format
+ msgid "%qs tag used in naming %q#T"
+ msgstr "%qs yaftası %q#T isimlemesinde kullanılmış"
+
+-#: cp/parser.c:17868
++#: cp/parser.c:17950
+ #, gcc-internal-format
+ msgid "%qD redeclared with different access"
+ msgstr "%qD farklı erişimle tekrar bildirilmiş"
+
+-#: cp/parser.c:17885
++#: cp/parser.c:17967
+ #, gcc-internal-format
+ msgid "%<template%> (as a disambiguator) is only allowed within templates"
+ msgstr "%<template%> (bir belirsizlik giderici olarak) sadece şablonlarda kullanılabilir"
+
+-#: cp/parser.c:18138 cp/parser.c:19061 cp/parser.c:19192
++#: cp/parser.c:18220 cp/parser.c:19143 cp/parser.c:19274
+ #, gcc-internal-format
+ msgid "misplaced %<@%D%> Objective-C++ construct"
+ msgstr "yanlış yere konmuş %<@%D%> Nesnel-C++ oluşumu"
+
+-#: cp/parser.c:18279
++#: cp/parser.c:18361
+ #, gcc-internal-format
+ msgid "%<@encode%> must specify a type as an argument"
+ msgstr "%<@encode%> bir argüman olarak bir tür belirtmeli"
+
+-#: cp/parser.c:18594
++#: cp/parser.c:18676
+ #, gcc-internal-format
+ msgid "invalid Objective-C++ selector name"
+ msgstr "Nesnel-C++ seçici ismi geçersiz"
+
+-#: cp/parser.c:18925
++#: cp/parser.c:19007
+ #, gcc-internal-format
+ msgid "identifier expected after %<@protocol%>"
+ msgstr "%<@protocol%> sonrasında betimleyici umuluyordu"
+
+-#: cp/parser.c:19626
++#: cp/parser.c:19708
+ #, gcc-internal-format
+ msgid "schedule %<runtime%> does not take a %<chunk_size%> parameter"
+ msgstr ""
+
+-#: cp/parser.c:19735
++#: cp/parser.c:19824
+ #, fuzzy, gcc-internal-format
+ msgid "%qs is not valid for %qs"
+ msgstr "%qs geçerli bir çıktı dosyası değil"
+
+-#: cp/parser.c:20390
++#: cp/parser.c:20479
+ #, fuzzy, gcc-internal-format
+ msgid "junk at end of %<#pragma GCC pch_preprocess%>"
+ msgstr "%<#pragma pack%> sonunda döküntü"
+
+-#: cp/parser.c:20477
++#: cp/parser.c:20566
+ #, gcc-internal-format
+ msgid "%<#pragma omp section%> may only be used in %<#pragma omp sections%> construct"
+ msgstr ""
+
+-#: cp/parser.c:20535
++#: cp/parser.c:20624
+ #, gcc-internal-format
+ msgid "inter-module optimizations not implemented for C++"
+ msgstr "modüller arası eniyilemeler henüz C++ için gerçeklenmedi"
+
+-#: cp/pt.c:249
++#: cp/pt.c:252
+ #, gcc-internal-format
+ msgid "data member %qD cannot be a member template"
+ msgstr "veri üyesi %qD bir üye şablon olamaz"
+
+-#: cp/pt.c:261
++#: cp/pt.c:264
+ #, gcc-internal-format
+ msgid "invalid member template declaration %qD"
+ msgstr "geçersiz üye sablonu bildirimi %qD"
+
+-#: cp/pt.c:609
++#: cp/pt.c:612
+ #, gcc-internal-format
+ msgid "explicit specialization in non-namespace scope %qD"
+ msgstr "isim alanı olmayan %qD kapsamında doğrudan özelleştirme"
+
+-#: cp/pt.c:623
++#: cp/pt.c:626
+ #, gcc-internal-format
+ msgid "enclosing class templates are not explicitly specialized"
+ msgstr "sınıf sablonlarının kapsanması doğrudan özelleştirilmez"
+
+-#: cp/pt.c:711
++#: cp/pt.c:714
+ #, gcc-internal-format
+ msgid "specialization of %qD in different namespace"
+ msgstr "farklı isim alanında %qD özelleştirmesi"
+
+-#: cp/pt.c:712 cp/pt.c:809
++#: cp/pt.c:715 cp/pt.c:812
+ #, gcc-internal-format
+ msgid " from definition of %q+#D"
+ msgstr " %q+#D tanımından"
+
+-#: cp/pt.c:729
++#: cp/pt.c:732
+ #, fuzzy, gcc-internal-format
+ msgid "explicit instantiation of %qD in namespace %qD (which does not enclose namespace %qD)"
+ msgstr "%3$qD isim alanını kapsamayan %2$qD isim alanında doğrudan %1$qD bildirimi"
+
+-#: cp/pt.c:747
++#: cp/pt.c:750
+ #, fuzzy, gcc-internal-format
+ msgid "name of class shadows template template parameter %qD"
+ msgstr "bir şablonun şablon parametresi için öntanımlı argüman geçersiz"
+
+-#: cp/pt.c:776
++#: cp/pt.c:779
+ #, gcc-internal-format
+ msgid "specialization of %qT after instantiation"
+ msgstr "örneklenim sonrası %qT özelleştirmesi"
+
+-#: cp/pt.c:808
++#: cp/pt.c:811
+ #, gcc-internal-format
+ msgid "specializing %q#T in different namespace"
+ msgstr "%q#T farklı isim alanında özelleştiriliyor"
+
+-#: cp/pt.c:823
++#: cp/pt.c:826
+ #, fuzzy, gcc-internal-format
+ msgid "specialization %qT after instantiation %qT"
+ msgstr "örneklenim %2$qT sonrası %1$qT özelleştirmesi"
+
+-#: cp/pt.c:836
++#: cp/pt.c:839
+ #, gcc-internal-format
+ msgid "explicit specialization of non-template %qT"
+ msgstr "şablon olmayan %qT için doğrudan özelleştirme"
+
+-#: cp/pt.c:1238
++#: cp/pt.c:1246
+ #, gcc-internal-format
+ msgid "specialization of %qD after instantiation"
+ msgstr "örneklenim sonrası %qD özelleştirmesi"
+
+-#: cp/pt.c:1464
++#: cp/pt.c:1472
+ #, gcc-internal-format
+ msgid "%qD is not a function template"
+ msgstr "%qD bir iÅŸlev ÅŸablonu deÄŸil"
+
+-#: cp/pt.c:1673
++#: cp/pt.c:1681
+ #, gcc-internal-format
+ msgid "template-id %qD for %q+D does not match any template declaration"
+ msgstr "şablon kimliği %qD %q+D için hiçbir şablon bildirimi ile eşleşmiyor"
+
+-#: cp/pt.c:1681
++#: cp/pt.c:1689
+ #, fuzzy, gcc-internal-format
+ msgid "ambiguous template specialization %qD for %q+D"
+ msgstr "%2$q+D için şablon özelleştirmesi %1$qD belirsiz"
+
+ #. This case handles bogus declarations like template <>
+ #. template <class T> void f<int>();
+-#: cp/pt.c:1916 cp/pt.c:1970
++#: cp/pt.c:1924 cp/pt.c:1978
+ #, gcc-internal-format
+ msgid "template-id %qD in declaration of primary template"
+ msgstr "birincil ÅŸablon bildiriminde ÅŸablon kimliÄŸi %qD"
+
+-#: cp/pt.c:1929
++#: cp/pt.c:1937
+ #, gcc-internal-format
+ msgid "template parameter list used in explicit instantiation"
+ msgstr "şablon parametre listesi doğrudan örneklenimde kullanılmış"
+
+-#: cp/pt.c:1935
++#: cp/pt.c:1943
+ #, gcc-internal-format
+ msgid "definition provided for explicit instantiation"
+ msgstr "tanım doğrudan örneklenim için sağlanmış"
+
+-#: cp/pt.c:1943
++#: cp/pt.c:1951
+ #, gcc-internal-format
+ msgid "too many template parameter lists in declaration of %qD"
+ msgstr "%qD bildiriminde çok fazla şablon parametresi listeleniyor"
+
+-#: cp/pt.c:1946
++#: cp/pt.c:1954
+ #, gcc-internal-format
+ msgid "too few template parameter lists in declaration of %qD"
+ msgstr "%qD bildiriminde çok az şablon parametresi listeleniyor"
+
+-#: cp/pt.c:1948
++#: cp/pt.c:1956
+ #, gcc-internal-format
+ msgid "explicit specialization of %qD must be introduced by %<template <>%>"
+ msgstr "%qD doğrudan özelleştirmesi %<template <>%> tarafından vurgulanmalı"
+
+-#: cp/pt.c:1967
++#: cp/pt.c:1975
+ #, gcc-internal-format
+ msgid "function template partial specialization %qD is not allowed"
+ msgstr "işlev şablonu kısmi özelleştirmesi %qD bildiricisine izin verilmez"
+
+-#: cp/pt.c:1999
++#: cp/pt.c:2007
+ #, gcc-internal-format
+ msgid "default argument specified in explicit specialization"
+ msgstr "doğrudan özelleştirmede öntanımlı argüman belirtilmiş"
+
+-#: cp/pt.c:2029
++#: cp/pt.c:2037
+ #, gcc-internal-format
+ msgid "%qD is not a template function"
+ msgstr "%qD bir ÅŸablon iÅŸlevi deÄŸildir"
+
+-#: cp/pt.c:2037
++#: cp/pt.c:2045
+ #, fuzzy, gcc-internal-format
+ msgid "%qD is not declared in %qD"
+ msgstr "%qD bildirilmemiÅŸ"
+@@ -30911,100 +30942,110 @@
+ #. program is ill-formed.
+ #.
+ #. Similar language is found in [temp.explicit].
+-#: cp/pt.c:2099
++#: cp/pt.c:2107
+ #, gcc-internal-format
+ msgid "specialization of implicitly-declared special member function"
+ msgstr "örtük bildirimli özel üye işlev özelleştirmesi"
+
+-#: cp/pt.c:2143
++#: cp/pt.c:2151
+ #, fuzzy, gcc-internal-format
+ msgid "no member function %qD declared in %qT"
+ msgstr "%2$qT türünde bildirimli %1$qD isminde üye işlev yok"
+
+-#: cp/pt.c:2642
++#: cp/pt.c:2628
+ #, gcc-internal-format
+ msgid "base initializer expansion %<%T%> contains no parameter packs"
+ msgstr ""
+
+-#: cp/pt.c:2701
++#: cp/pt.c:2687
+ #, gcc-internal-format
+ msgid "expansion pattern %<%T%> contains no argument packs"
+ msgstr ""
+
+-#: cp/pt.c:2703
++#: cp/pt.c:2689
+ #, gcc-internal-format
+ msgid "expansion pattern %<%E%> contains no argument packs"
+ msgstr ""
+
+-#: cp/pt.c:2745
++#: cp/pt.c:2730
+ #, gcc-internal-format
+ msgid "parameter packs not expanded with `...':"
+ msgstr ""
+
+-#: cp/pt.c:2760 cp/pt.c:3383
++#: cp/pt.c:2745 cp/pt.c:3361
+ #, gcc-internal-format
+ msgid " %qD"
+ msgstr " %qD"
+
+-#: cp/pt.c:2762
++#: cp/pt.c:2747
+ #, fuzzy, gcc-internal-format
+ msgid " <anonymous>"
+ msgstr "<anonim>"
+
+-#: cp/pt.c:2875
++#: cp/pt.c:2852
+ #, gcc-internal-format
+ msgid "declaration of %q+#D"
+ msgstr "%q+#D bildirimi"
+
+-#: cp/pt.c:2876
++#: cp/pt.c:2853
+ #, gcc-internal-format
+ msgid " shadows template parm %q+#D"
+ msgstr " şablon parametresi %q+#D gölgeleniyor"
+
+-#: cp/pt.c:3379
++#: cp/pt.c:3357
+ #, gcc-internal-format
+ msgid "template parameters not used in partial specialization:"
+ msgstr "kismi özelleştirmede kullanılmayan şablon parametreleri:"
+
+-#: cp/pt.c:3394
++#: cp/pt.c:3372
+ #, gcc-internal-format
+ msgid "partial specialization %qT does not specialize any template arguments"
+ msgstr "kısmi özelleştirme %qT hiç bir şablon argümanını özelleştirmiyor"
+
+-#: cp/pt.c:3439
++#: cp/pt.c:3417
+ #, gcc-internal-format
+ msgid "parameter pack argument %qE must be at the end of the template argument list"
+ msgstr ""
+
+-#: cp/pt.c:3441
++#: cp/pt.c:3419
+ #, gcc-internal-format
+ msgid "parameter pack argument %qT must be at the end of the template argument list"
+ msgstr ""
+
+-#: cp/pt.c:3462
++#: cp/pt.c:3440
+ #, gcc-internal-format
+ msgid "template argument %qE involves template parameter(s)"
+ msgstr "şablon argümanı %qE şablon parametre(ler)ini içine alıyor"
+
+-#: cp/pt.c:3505
++#: cp/pt.c:3484
+ #, fuzzy, gcc-internal-format
+ msgid "type %qT of template argument %qE depends on template parameter(s)"
+ msgstr "%2$qE şablon argümanının %1$qT türü şablon parametre(ler)ine bağımlı oluyor"
+
+-#: cp/pt.c:3611
++#: cp/pt.c:3591
+ #, gcc-internal-format
+ msgid "no default argument for %qD"
+ msgstr "%qD için öntanımlı argüman yok"
+
+-#: cp/pt.c:3796
++#: cp/pt.c:3609
+ #, gcc-internal-format
++msgid "parameter pack %qE must be at the end of the template parameter list"
++msgstr ""
++
++#: cp/pt.c:3612
++#, gcc-internal-format
++msgid "parameter pack %qT must be at the end of the template parameter list"
++msgstr ""
++
++#: cp/pt.c:3799
++#, gcc-internal-format
+ msgid "template class without a name"
+ msgstr "bir isim olmaksızın şablon sınıfı"
+
+ #. [temp.mem]
+ #.
+ #. A destructor shall not be a member template.
+-#: cp/pt.c:3804
++#: cp/pt.c:3807
+ #, gcc-internal-format
+ msgid "destructor %qD declared as member template"
+ msgstr "yıkıcı %qD üye şablon olarak bildirilmiş"
+@@ -31014,77 +31055,72 @@
+ #. An allocation function can be a function
+ #. template. ... Template allocation functions shall
+ #. have two or more parameters.
+-#: cp/pt.c:3819
++#: cp/pt.c:3822
+ #, gcc-internal-format
+ msgid "invalid template declaration of %qD"
+ msgstr "%qD şablon bildirimi geçersiz"
+
+-#: cp/pt.c:3890
++#: cp/pt.c:3939
+ #, gcc-internal-format
+-msgid "parameter pack %qE must be at the end of the template parameter list"
+-msgstr ""
+-
+-#: cp/pt.c:3893
+-#, gcc-internal-format
+-msgid "parameter pack %qT must be at the end of the template parameter list"
+-msgstr ""
+-
+-#: cp/pt.c:3953
+-#, gcc-internal-format
+ msgid "template definition of non-template %q#D"
+ msgstr "şablon olmayan %q#D için şablon tanımı"
+
+-#: cp/pt.c:3996
++#: cp/pt.c:3982
+ #, gcc-internal-format
+ msgid "expected %d levels of template parms for %q#D, got %d"
+ msgstr "%d seviye umulurken %q#D için şablon parametresi seviyesi olarak %d seviye alındı"
+
+-#: cp/pt.c:4008
++#: cp/pt.c:3994
+ #, gcc-internal-format
+ msgid "got %d template parameters for %q#D"
+ msgstr "%d şablon parametresi %q#D için alındı"
+
+-#: cp/pt.c:4011
++#: cp/pt.c:3997
+ #, gcc-internal-format
+ msgid "got %d template parameters for %q#T"
+ msgstr "%d şablon parametresi %q#T için alındı"
+
+-#: cp/pt.c:4013
++#: cp/pt.c:3999
+ #, gcc-internal-format
+ msgid " but %d required"
+ msgstr " ama %d gerekiyordu"
+
+-#: cp/pt.c:4031
++#: cp/pt.c:4017
+ #, fuzzy, gcc-internal-format
+ msgid "template arguments to %qD do not match original template %qD"
+ msgstr "ÅŸablon parametreleri bu ÅŸablonla uyuÅŸmuyor:"
+
+-#: cp/pt.c:4035
++#: cp/pt.c:4021
+ #, fuzzy, gcc-internal-format
+ msgid "use template<> for an explicit specialization"
+ msgstr "sınıf sablonlarının kapsanması doğrudan özelleştirilmez"
+
+-#: cp/pt.c:4131
++#: cp/pt.c:4117
+ #, gcc-internal-format
+ msgid "%qT is not a template type"
+ msgstr "%qT bir şablon türü değil"
+
+-#: cp/pt.c:4144
++#: cp/pt.c:4130
+ #, gcc-internal-format
+ msgid "template specifiers not specified in declaration of %qD"
+ msgstr "%qD bildiriminde şablon belirteçleri belirtilmemiş"
+
+-#: cp/pt.c:4155
++#: cp/pt.c:4140
+ #, fuzzy, gcc-internal-format
+-msgid "used %d template parameter(s) instead of %d"
+-msgstr "%2$d yerine %1$d şablon parametresi kullanılmış"
++msgid "redeclared with %d template parameter(s)"
++msgstr "%qD şablon parametreleri olmaksızın kullanılmış"
+
+-#: cp/pt.c:4184
++#: cp/pt.c:4142
++#, fuzzy, gcc-internal-format
++msgid "previous declaration %q+D used %d template parameter(s)"
++msgstr "buradaki önceki %q+#D bildirimi ile çelişiyor"
++
++#: cp/pt.c:4176
+ #, gcc-internal-format
+ msgid "template parameter %q+#D"
+ msgstr "ÅŸablon parametresi %q+#D"
+
+-#: cp/pt.c:4185
++#: cp/pt.c:4177
+ #, gcc-internal-format
+ msgid "redeclared here as %q#D"
+ msgstr "burada %q#D olarak yeniden bildirilmiÅŸ"
+@@ -31093,182 +31129,182 @@
+ #.
+ #. A template-parameter may not be given default arguments
+ #. by two different declarations in the same scope.
+-#: cp/pt.c:4195
++#: cp/pt.c:4187
+ #, gcc-internal-format
+ msgid "redefinition of default argument for %q#D"
+ msgstr "%q#D için öntanımlı argümanın yeniden tanımı"
+
+-#: cp/pt.c:4196
+-#, gcc-internal-format
+-msgid "%J original definition appeared here"
++#: cp/pt.c:4188
++#, fuzzy, gcc-internal-format
++msgid "%Joriginal definition appeared here"
+ msgstr "%J ozgun tanımı burada görüldü"
+
+-#: cp/pt.c:4300
++#: cp/pt.c:4292
+ #, gcc-internal-format
+ msgid "%qE is not a valid template argument for type %qT because function %qD has not external linkage"
+ msgstr "%qE %qT türü için geçerli bir şablon argümanı değil çünkü %qD işlevinin harici ilintilemesi yok"
+
+-#: cp/pt.c:4341
++#: cp/pt.c:4333
+ #, 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 "%qE %qT türü için geçerli bir şablon argümanı değil çünkü bu bağlamda dizge sabitler kullanılamaz"
+
+-#: cp/pt.c:4418
++#: cp/pt.c:4410
+ #, gcc-internal-format
+ msgid "%qE is not a valid template argument for type %qT because it is a non-constant expression"
+ msgstr "%qE %qT türü için geçerli bir şablon argümanı değil çünkü o bir sabit olmayan ifadedir"
+
+-#: cp/pt.c:4462
++#: cp/pt.c:4454
+ #, fuzzy, gcc-internal-format
+ msgid "%qD is not a valid template argument because %qD is a variable, not the address of a variable"
+ msgstr "%qE %qT türü için geçerli bir şablon argümanı değil cunku o bir sol taraf terimi değil"
+
+-#: cp/pt.c:4480
++#: cp/pt.c:4472
+ #, fuzzy, gcc-internal-format
+ msgid "%qE is not a valid template argument of type %qT because %qE is not a variable"
+ msgstr "%qE %qT türü için geçerli bir şablon argümanı değil cunku o bir sol taraf terimi değil"
+
+-#: cp/pt.c:4487
++#: cp/pt.c:4479
+ #, fuzzy, gcc-internal-format
+ msgid "%qE is not a valid template argument of type %qT because %qD does not have external linkage"
+ 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.c:4517
++#: cp/pt.c:4509
+ #, gcc-internal-format
+ msgid "%qE is not a valid template argument for type %qT because of conflicts in cv-qualification"
+ msgstr "cv nitelemesinde çeliştiğinden dolayı %qE %qT türü için geçerli bir şablon argümanı değildir"
+
+-#: cp/pt.c:4524
++#: cp/pt.c:4516
+ #, fuzzy, gcc-internal-format
+ msgid "%qE is not a valid template argument for type %qT because it is not an lvalue"
+ msgstr "%qE %qT türü için geçerli bir şablon argümanı değil cunku o bir sol taraf terimi değil"
+
+-#: cp/pt.c:4537
++#: cp/pt.c:4529
+ #, gcc-internal-format
+ msgid "%qE is not a valid template argument for type %qT because object %qD has not external linkage"
+ 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.c:4577
++#: cp/pt.c:4569
+ #, gcc-internal-format
+ msgid "%qE is not a valid template argument for type %qT because it is a pointer"
+ msgstr "%qE %qT türü için geçerli bir şablon argümanı değil çünkü o bir göstericidir"
+
+-#: cp/pt.c:4579
++#: cp/pt.c:4571
+ #, gcc-internal-format
+ msgid "try using %qE instead"
+ msgstr "yerine %qE kullanmayı deneyin"
+
+-#: cp/pt.c:4614
++#: cp/pt.c:4606
+ #, gcc-internal-format
+ msgid "%qE is not a valid template argument for type %qT because it is of type %qT"
+ msgstr "%qE %qT türü için geçerli bir şablon argümanı değil çünkü %qT türündedir"
+
+-#: cp/pt.c:4617
++#: cp/pt.c:4609
+ #, gcc-internal-format
+ msgid "standard conversions are not allowed in this context"
+ msgstr "standart uzlaşımlara bu bağlam içinde izin verilmez"
+
+-#: cp/pt.c:4797
++#: cp/pt.c:4860
+ #, gcc-internal-format
+ msgid "to refer to a type member of a template parameter, use %<typename %E%>"
+ msgstr "bir şablon parametresinin bir tür üyesine basvurmak için %<typename %E%> kullanın"
+
+-#: cp/pt.c:4813 cp/pt.c:4832 cp/pt.c:4882
++#: cp/pt.c:4876 cp/pt.c:4895 cp/pt.c:4945
+ #, fuzzy, gcc-internal-format
+ msgid "type/value mismatch at argument %d in template parameter list for %qD"
+ msgstr "%2$qD için şablon parametre listesindeki %1$d. argümanda tür/değer uyumsuzluğu"
+
+-#: cp/pt.c:4817
++#: cp/pt.c:4880
+ #, gcc-internal-format
+ msgid " expected a constant of type %qT, got %qT"
+ msgstr " %qT türünde bir sabit umulurken %qT alındı"
+
+-#: cp/pt.c:4821
++#: cp/pt.c:4884
+ #, gcc-internal-format
+ msgid " expected a class template, got %qE"
+ msgstr " bir sınıf sablonu umulurken %qE alındı"
+
+-#: cp/pt.c:4823
++#: cp/pt.c:4886
+ #, gcc-internal-format
+ msgid " expected a type, got %qE"
+ msgstr " bir tür umulurken %qE alındı"
+
+-#: cp/pt.c:4836
++#: cp/pt.c:4899
+ #, gcc-internal-format
+ msgid " expected a type, got %qT"
+ msgstr " bir tür umulurken %qT alındı"
+
+-#: cp/pt.c:4838
++#: cp/pt.c:4901
+ #, gcc-internal-format
+ msgid " expected a class template, got %qT"
+ msgstr " bir sınıf sablonu umulurken %qT alındı"
+
+-#: cp/pt.c:4885
++#: cp/pt.c:4948
+ #, gcc-internal-format
+ msgid " expected a template of type %qD, got %qD"
+ msgstr " %qD türünde bir şablon umulurken %qD alındı"
+
+-#: cp/pt.c:4928
++#: cp/pt.c:4991
+ #, gcc-internal-format
+ msgid "could not convert template argument %qE to %qT"
+ msgstr "şablon argümanı %qE %qT'ye dönüştürülemedi"
+
+-#: cp/pt.c:4984
++#: cp/pt.c:5047
+ #, gcc-internal-format
+ msgid "wrong number of template arguments (%d, should be %d)"
+ msgstr "yanlış sayıda şablon argümanı (%d yerine %d olmalıydı)"
+
+-#: cp/pt.c:5116
++#: cp/pt.c:5179
+ #, fuzzy, gcc-internal-format
+ msgid "wrong number of template arguments (%d, should be %d%s)"
+ msgstr "yanlış sayıda şablon argümanı (%d yerine %d olmalıydı)"
+
+-#: cp/pt.c:5120
++#: cp/pt.c:5183
+ #, gcc-internal-format
+ msgid "provided for %q+D"
+ msgstr "%q+D için sağlanmış"
+
+-#: cp/pt.c:5177
++#: cp/pt.c:5242
+ #, gcc-internal-format
+ msgid "cannot expand %<%E%> into a fixed-length argument list"
+ msgstr ""
+
+-#: cp/pt.c:5180
++#: cp/pt.c:5245
+ #, gcc-internal-format
+ msgid "cannot expand %<%T%> into a fixed-length argument list"
+ msgstr ""
+
+-#: cp/pt.c:5195
++#: cp/pt.c:5261
+ #, gcc-internal-format
+ msgid "template argument %d is invalid"
+ msgstr "%d. şablon argümanı geçersiz"
+
+-#: cp/pt.c:5455
++#: cp/pt.c:5521
+ #, gcc-internal-format
+ msgid "non-template type %qT used as a template"
+ msgstr "şablon olarak şablon olmayan tür %qT kullanılmış"
+
+-#: cp/pt.c:5457
++#: cp/pt.c:5523
+ #, gcc-internal-format
+ msgid "for template declaration %q+D"
+ msgstr "%q+D şablon bildirimi için"
+
+-#: cp/pt.c:6132
++#: cp/pt.c:6221
+ #, gcc-internal-format
+ msgid "template instantiation depth exceeds maximum of %d (use -ftemplate-depth-NN to increase the maximum) instantiating %qD"
+ msgstr "%d lik azami şablon örneklenim derinliği %qD örnekleniminde aşılıyor (azami değeri arttırmak için -ftemplate-depth-NN kullanın)"
+
+-#: cp/pt.c:7237
++#: cp/pt.c:7333
+ #, gcc-internal-format
+ msgid "mismatched argument pack lengths while expanding %<%T%>"
+ msgstr ""
+
+-#: cp/pt.c:7241
++#: cp/pt.c:7337
+ #, gcc-internal-format
+ msgid "mismatched argument pack lengths while expanding %<%E%>"
+ msgstr ""
+
+-#: cp/pt.c:8189
++#: cp/pt.c:8289
+ #, gcc-internal-format
+ msgid "instantiation of %q+D as type %qT"
+ msgstr "%q+D örneklenimi %qT türünde"
+@@ -31286,242 +31322,242 @@
+ #.
+ #. is an attempt to declare a variable with function
+ #. type.
+-#: cp/pt.c:8324
++#: cp/pt.c:8424
+ #, fuzzy, gcc-internal-format
+ msgid "variable %qD has function type"
+ msgstr "%qD değişkeni ilklendiricili ama içi boş türde"
+
+-#: cp/pt.c:8471
++#: cp/pt.c:8571
+ #, gcc-internal-format
+ msgid "invalid parameter type %qT"
+ msgstr "geçersiz parametre türü %qT"
+
+-#: cp/pt.c:8473
++#: cp/pt.c:8573
+ #, gcc-internal-format
+ msgid "in declaration %q+D"
+ msgstr "%q+D bildiriminde"
+
+-#: cp/pt.c:8550
++#: cp/pt.c:8650
+ #, gcc-internal-format
+ msgid "function returning an array"
+ msgstr "bir dizi döndüren işlev"
+
+-#: cp/pt.c:8552
++#: cp/pt.c:8652
+ #, gcc-internal-format
+ msgid "function returning a function"
+ msgstr "bir işlev döndüren işlev"
+
+-#: cp/pt.c:8586
++#: cp/pt.c:8686
+ #, gcc-internal-format
+ msgid "creating pointer to member function of non-class type %qT"
+ msgstr "sınıf olmayan %qT türünde üye işlev göstericisi oluşturulması"
+
+-#: cp/pt.c:8792
++#: cp/pt.c:8913
+ #, gcc-internal-format
+ msgid "creating array with negative size (%qE)"
+ msgstr "negatif boyutlu dizi oluÅŸturma (%qE)"
+
+-#: cp/pt.c:9047
++#: cp/pt.c:9168
+ #, gcc-internal-format
+ msgid "forming reference to void"
+ msgstr "void'e referans oluÅŸturuluyor"
+
+-#: cp/pt.c:9049
++#: cp/pt.c:9170
+ #, gcc-internal-format
+ msgid "forming %s to reference type %qT"
+ msgstr "%s %qT referans türünde şekilleniyor"
+
+-#: cp/pt.c:9100
++#: cp/pt.c:9221
+ #, 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.c:9106
++#: cp/pt.c:9227
+ #, gcc-internal-format
+ msgid "creating pointer to member reference type %qT"
+ msgstr "%qT üye referans türünde gösterici oluşturulması"
+
+-#: cp/pt.c:9112
++#: cp/pt.c:9233
+ #, gcc-internal-format
+ msgid "creating pointer to member of type void"
+ msgstr "void türünde üyeye gösterici oluşturulması"
+
+-#: cp/pt.c:9179
++#: cp/pt.c:9300
+ #, gcc-internal-format
+ msgid "creating array of %qT"
+ msgstr "%qT dizisi oluşturulması"
+
+-#: cp/pt.c:9185
++#: cp/pt.c:9306
+ #, gcc-internal-format
+ msgid "creating array of %qT, which is an abstract class type"
+ msgstr "mutlak sınıf türünde olan %qT dizisinin oluşturulması"
+
+-#: cp/pt.c:9236
++#: cp/pt.c:9357
+ #, 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.c:9271
++#: cp/pt.c:9392
+ #, 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.c:9274
++#: cp/pt.c:9395
+ #, gcc-internal-format
+ msgid "%qT resolves to %qT, which is is not a class type"
+ msgstr "%qT bir sınıf türü olmayan %qT türüne çözümleniyor"
+
+-#: cp/pt.c:9375
++#: cp/pt.c:9496
+ #, gcc-internal-format
+ msgid "use of %qs in template"
+ msgstr "şablonda %qs kullanımı"
+
+-#: cp/pt.c:9512
++#: cp/pt.c:9633
+ #, 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.c:9514
++#: cp/pt.c:9635
+ #, gcc-internal-format
+ msgid "say %<typename %E%> if a type is meant"
+ msgstr "eğer bu bir tür anlamındaysa %<typename %E%> deyin"
+
+-#: cp/pt.c:9643
++#: cp/pt.c:9764
+ #, gcc-internal-format
+ msgid "using invalid field %qD"
+ msgstr "geçersiz alan %qD kullanımı"
+
+-#: cp/pt.c:9952 cp/pt.c:10432
++#: cp/pt.c:10073 cp/pt.c:10553
+ #, fuzzy, gcc-internal-format
+ msgid "invalid use of pack expansion expression"
+ msgstr "void ifade kullanımı geçersiz"
+
+-#: cp/pt.c:9956 cp/pt.c:10436
++#: cp/pt.c:10077 cp/pt.c:10557
+ #, fuzzy, gcc-internal-format
+ msgid "use %<...%> to expand argument pack"
+ msgstr "%<...%> kabul edeceği varsayılacak.)"
+
+-#: cp/pt.c:10594
++#: cp/pt.c:10715
+ #, gcc-internal-format
+ msgid "a cast to a type other than an integral or enumeration type cannot appear in a constant-expression"
+ msgstr ""
+
+-#: cp/pt.c:11052
++#: cp/pt.c:11181
+ #, 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.c:11055
++#: cp/pt.c:11184
+ #, gcc-internal-format
+ msgid "%qD is not a class or namespace"
+ msgstr "%qD ne bir sınıf ne de isim alanı"
+
+-#: cp/pt.c:11265
++#: cp/pt.c:11394
+ #, gcc-internal-format
+ msgid "%qT is/uses anonymous type"
+ msgstr "%qT anonim türdür/tür kullanır"
+
+-#: cp/pt.c:11267
++#: cp/pt.c:11396
+ #, fuzzy, gcc-internal-format
+ msgid "template argument for %qD uses local type %qT"
+ msgstr "%q#D için öntanımlı argüman %qT türünde"
+
+-#: cp/pt.c:11277
++#: cp/pt.c:11406
+ #, gcc-internal-format
+ msgid "%qT is a variably modified type"
+ msgstr "%qT değişkene göre değişen türde"
+
+-#: cp/pt.c:11288
++#: cp/pt.c:11417
+ #, gcc-internal-format
+ msgid "integral expression %qE is not constant"
+ msgstr "bütünleyen ifade %qE bir sabit değil"
+
+-#: cp/pt.c:11293
++#: cp/pt.c:11422
+ #, gcc-internal-format
+ msgid " trying to instantiate %qD"
+ msgstr " %qD örneklenmeye çalışılıyor"
+
+-#: cp/pt.c:13959
++#: cp/pt.c:14173
+ #, gcc-internal-format
+ msgid "ambiguous class template instantiation for %q#T"
+ msgstr "%q#T için sınıf şablonu örneklenimi belirsiz"
+
+-#: cp/pt.c:13962
++#: cp/pt.c:14176
+ #, gcc-internal-format
+ msgid "%s %+#T"
+ msgstr "%s %+#T"
+
+-#: cp/pt.c:13985 cp/pt.c:14068
++#: cp/pt.c:14199 cp/pt.c:14282
+ #, gcc-internal-format
+ msgid "explicit instantiation of non-template %q#D"
+ msgstr "şablon olmayan %q#D'nin doğrudan örneklenimi"
+
+-#: cp/pt.c:14000
++#: cp/pt.c:14214
+ #, fuzzy, gcc-internal-format
+ 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.c:14006 cp/pt.c:14063
++#: cp/pt.c:14220 cp/pt.c:14277
+ #, gcc-internal-format
+ msgid "no matching template for %qD found"
+ msgstr "%qD için eşleşen bir şablon yok"
+
+-#: cp/pt.c:14011
++#: cp/pt.c:14225
+ #, fuzzy, gcc-internal-format
+ 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.c:14019
++#: cp/pt.c:14233
+ #, gcc-internal-format
+ msgid "explicit instantiation of %q#D"
+ msgstr "%q#D'nin doğrudan örneklenimi"
+
+-#: cp/pt.c:14055
++#: cp/pt.c:14269
+ #, gcc-internal-format
+ msgid "duplicate explicit instantiation of %q#D"
+ msgstr "yinelenmiş doğrudan %q#D örneklenimi"
+
+-#: cp/pt.c:14077
++#: cp/pt.c:14291
+ #, gcc-internal-format
+ msgid "ISO C++ forbids the use of %<extern%> on explicit instantiations"
+ msgstr "ISO C++ doğrudan örneklenimlerde %<extern%> kullanımına izin vermez"
+
+-#: cp/pt.c:14082 cp/pt.c:14175
++#: cp/pt.c:14296 cp/pt.c:14389
+ #, gcc-internal-format
+ msgid "storage class %qD applied to template instantiation"
+ msgstr "saklama sınıfı %qD şablon örneklenimine uygulanmış"
+
+-#: cp/pt.c:14147
++#: cp/pt.c:14361
+ #, gcc-internal-format
+ msgid "explicit instantiation of non-template type %qT"
+ msgstr "şablon olmayan tür %qT'nin doğrudan örneklenimi"
+
+-#: cp/pt.c:14156
++#: cp/pt.c:14370
+ #, 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.c:14164
++#: cp/pt.c:14378
+ #, 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.c:14209
++#: cp/pt.c:14423
+ #, gcc-internal-format
+ msgid "duplicate explicit instantiation of %q#T"
+ msgstr "yinelenmiş doğrudan %q#T örneklenimi"
+
+-#: cp/pt.c:14657
++#: cp/pt.c:14871
+ #, gcc-internal-format
+ msgid "explicit instantiation of %qD but no definition available"
+ msgstr "bir tanımlama olmadan %qD'nin doğrudan örneklenimi"
+
+-#: cp/pt.c:14851
++#: cp/pt.c:15065
+ #, 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)"
+ 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.c:15193
++#: cp/pt.c:15419
+ #, gcc-internal-format
+ msgid "%q#T is not a valid type for a template constant parameter"
+ msgstr "%q#T bir şablon sabiti parametresi için geçerli bir tür değildir"
+@@ -31541,32 +31577,32 @@
+ msgid "can't create repository information file %qs"
+ msgstr "depo bilgisi %qs dosyasında oluşturulamıyor"
+
+-#: cp/rtti.c:271
++#: cp/rtti.c:285
+ #, gcc-internal-format
+ msgid "cannot use typeid with -fno-rtti"
+ msgstr "typeid, -fno-rtti ile kullanilamaz"
+
+-#: cp/rtti.c:277
++#: cp/rtti.c:291
+ #, gcc-internal-format
+ msgid "must #include <typeinfo> before using typeid"
+ msgstr "typeid kullanımından önce #include <typeinfo> olmalı"
+
+-#: cp/rtti.c:360
++#: cp/rtti.c:374
+ #, fuzzy, gcc-internal-format
+ msgid "cannot create type information for type %qT because it involves types of variable size"
+ msgstr "boyutu değişken olduğundan tür %qT için tür bilgisi oluşturulamaz"
+
+-#: cp/rtti.c:615 cp/rtti.c:629
++#: cp/rtti.c:629 cp/rtti.c:643
+ #, gcc-internal-format
+ msgid "dynamic_cast of %q#D to %q#T can never succeed"
+ msgstr "%q#D'nin %q#T türüne özdevimli dönüşümü asla başarılı olamaz"
+
+-#: cp/rtti.c:639
++#: cp/rtti.c:653
+ #, fuzzy, gcc-internal-format
+ msgid "%<dynamic_cast%> not permitted with -fno-rtti"
+ msgstr "typeid, -fno-rtti ile kullanilamaz"
+
+-#: cp/rtti.c:716
++#: cp/rtti.c:729
+ #, fuzzy, gcc-internal-format
+ msgid "cannot dynamic_cast %qE (of type %q#T) to type %q#T (%s)"
+ msgstr "%2$q#T türündeki %1$qE'nin %3$q#T türüne özdevimli dönüşümü yapılamaz (%4$s)"
+@@ -31628,551 +31664,551 @@
+ msgid " since %q+#D declared in base class"
+ msgstr " `%q+#D' taban sınıfta bildirildiğinden"
+
+-#: cp/semantics.c:762
++#: cp/semantics.c:764
+ #, fuzzy, gcc-internal-format
+ msgid "suggest explicit braces around empty body in %<do%> statement"
+ msgstr "%Hanlamca belirsiz %<else%>den kaçınmak için kaşlı ayraçlar önerilir"
+
+-#: cp/semantics.c:1290
++#: cp/semantics.c:1294
+ #, gcc-internal-format
+ msgid "type of asm operand %qE could not be determined"
+ msgstr "asm terimi %qE'nin türü saptanamadı"
+
+-#: cp/semantics.c:1346
++#: cp/semantics.c:1350
+ #, fuzzy, gcc-internal-format
+ msgid "__label__ declarations are only allowed in function scopes"
+ msgstr "Objective-C bildirimleri sadece genel etki alanında görünebilir"
+
+-#: cp/semantics.c:1433
++#: cp/semantics.c:1438
+ #, gcc-internal-format
+ msgid "invalid use of member %q+D in static member function"
+ msgstr "statik üye işlevde üye %q+D kullanımı geçersiz"
+
+-#: cp/semantics.c:1435
++#: cp/semantics.c:1440
+ #, gcc-internal-format
+ msgid "invalid use of non-static data member %q+D"
+ msgstr "static olmayan veri üyesi %q+D kullanımı geçersiz"
+
+-#: cp/semantics.c:1436 cp/semantics.c:1475
++#: cp/semantics.c:1441 cp/semantics.c:1480
+ #, gcc-internal-format
+ msgid "from this location"
+ msgstr "buradan"
+
+-#: cp/semantics.c:1474
++#: cp/semantics.c:1479
+ #, gcc-internal-format
+ msgid "object missing in reference to %q+D"
+ msgstr "%q+D ile iliÅŸkilendirmede nesne eksik"
+
+-#: cp/semantics.c:1928
++#: cp/semantics.c:1951
+ #, gcc-internal-format
+ msgid "arguments to destructor are not allowed"
+ msgstr "yıkıcıların argümanı olmaz"
+
+-#: cp/semantics.c:1978
++#: cp/semantics.c:2001
+ #, gcc-internal-format
+ msgid "%<this%> is unavailable for static member functions"
+ msgstr "statik üye işlevlerde %<this%> kullanılmaz"
+
+-#: cp/semantics.c:1984
++#: cp/semantics.c:2007
+ #, gcc-internal-format
+ msgid "invalid use of %<this%> in non-member function"
+ msgstr "üye olmayan işlevde %<this%> kullanımı geçersiz"
+
+-#: cp/semantics.c:1986
++#: cp/semantics.c:2009
+ #, gcc-internal-format
+ msgid "invalid use of %<this%> at top level"
+ msgstr "tepe seviyede %<this%> kullanımı geçersiz"
+
+-#: cp/semantics.c:2010
++#: cp/semantics.c:2033
+ #, gcc-internal-format
+ msgid "invalid qualifying scope in pseudo-destructor name"
+ msgstr "sözde yıkıcı isminde niteleyen etki alanı geçersiz"
+
+-#: cp/semantics.c:2015 cp/typeck.c:2004
++#: cp/semantics.c:2038 cp/typeck.c:2050
+ #, gcc-internal-format
+ msgid "qualified type %qT does not match destructor name ~%qT"
+ msgstr "yetkin tür %qT, yıkıcı ismi ~%qT ile eslesmiyor"
+
+-#: cp/semantics.c:2037
++#: cp/semantics.c:2060
+ #, gcc-internal-format
+ msgid "%qE is not of type %qT"
+ msgstr "%qE %qT türünde değil"
+
+-#: cp/semantics.c:2081
++#: cp/semantics.c:2104
+ #, fuzzy, gcc-internal-format
+ msgid "compound literal of non-object type %qT"
+ msgstr "bileÅŸik sabit deÄŸiÅŸken boyuta sahip"
+
+-#: cp/semantics.c:2158
++#: cp/semantics.c:2181
+ #, gcc-internal-format
+ msgid "template type parameters must use the keyword %<class%> or %<typename%>"
+ msgstr "şablon türü parametrelerde %<class%> ya da %<typename%> sözcüğü kullanılmalı"
+
+-#: cp/semantics.c:2195
++#: cp/semantics.c:2222
+ #, gcc-internal-format
+ msgid "invalid use of type %qT as a default value for a template template-parameter"
+ msgstr "bir şablonun şablon parametresinin öntanımlı değeri olarak %qT türünün kullanımı geçersiz"
+
+-#: cp/semantics.c:2198
++#: cp/semantics.c:2225
+ #, gcc-internal-format
+ msgid "invalid default argument for a template template parameter"
+ msgstr "bir şablonun şablon parametresi için öntanımlı argüman geçersiz"
+
+-#: cp/semantics.c:2215
++#: cp/semantics.c:2242
+ #, gcc-internal-format
+ msgid "definition of %q#T inside template parameter list"
+ msgstr "şablon parametre listesi içinde %q#T tanımı"
+
+-#: cp/semantics.c:2226
++#: cp/semantics.c:2253
+ #, gcc-internal-format
+ msgid "invalid definition of qualified type %qT"
+ msgstr "nitelikli tür %qT tanımı geçersiz"
+
+-#: cp/semantics.c:2437
++#: cp/semantics.c:2469
+ #, gcc-internal-format
+ msgid "invalid base-class specification"
+ msgstr "taban sınıf belirtimi geçersiz"
+
+-#: cp/semantics.c:2446
++#: cp/semantics.c:2478
+ #, gcc-internal-format
+ msgid "base class %qT has cv qualifiers"
+ msgstr "taban sınıf %qT cv niteleyiciler içeriyor"
+
+-#: cp/semantics.c:2468
++#: cp/semantics.c:2500
+ #, gcc-internal-format
+ msgid "incomplete type %qT used in nested name specifier"
+ msgstr "içi boş %qT türü alt isim belirtecinde kullanılmış"
+
+-#: cp/semantics.c:2471
++#: cp/semantics.c:2503
+ #, gcc-internal-format
+ msgid "reference to %<%T::%D%> is ambiguous"
+ msgstr "%<%T::%D%> ile iliÅŸkilendirme belirsiz"
+
+-#: cp/semantics.c:2475 cp/typeck.c:1813
++#: cp/semantics.c:2507 cp/typeck.c:1859
+ #, gcc-internal-format
+ msgid "%qD is not a member of %qT"
+ msgstr "%qD %qT'nin bir üyesi değil"
+
+-#: cp/semantics.c:2478
++#: cp/semantics.c:2510
+ #, gcc-internal-format
+ msgid "%qD is not a member of %qD"
+ msgstr "%qD, %qD nin bir üyesi değil"
+
+-#: cp/semantics.c:2480
++#: cp/semantics.c:2512
+ #, gcc-internal-format
+ msgid "%<::%D%> has not been declared"
+ msgstr "%<::%D%> bildirilmemiÅŸti"
+
+-#: cp/semantics.c:2621
++#: cp/semantics.c:2653
+ #, gcc-internal-format
+ msgid "use of %<auto%> variable from containing function"
+ msgstr "iceren işlevden %<auto%> kullanımı"
+
+-#: cp/semantics.c:2623
++#: cp/semantics.c:2655
+ #, gcc-internal-format
+ msgid " %q+#D declared here"
+ msgstr " %q+#D burada bildirilmiÅŸ"
+
+-#: cp/semantics.c:2661
++#: cp/semantics.c:2693
+ #, gcc-internal-format
+ msgid "template parameter %qD of type %qT is not allowed in an integral constant expression because it is not of integral or enumeration type"
+ msgstr "%qD şablon parametresi %qT türündeyse butunleyen ya da sırali türde olmadığından bir butunleyen sabit ifadesinde kullanılmaz"
+
+-#: cp/semantics.c:2830
++#: cp/semantics.c:2862
+ #, gcc-internal-format
+ msgid "%qD cannot appear in a constant-expression"
+ msgstr "%qD bir sabit ifadesinde bulunamaz"
+
+-#: cp/semantics.c:2838
++#: cp/semantics.c:2870
+ #, gcc-internal-format
+ msgid "use of namespace %qD as expression"
+ msgstr "isim alanı %qD'nin ifade olarak kullanımı"
+
+-#: cp/semantics.c:2843
++#: cp/semantics.c:2875
+ #, gcc-internal-format
+ msgid "use of class template %qT as expression"
+ msgstr "sınıf sablonu %qT'nin ifade olarak kullanımı"
+
+ #. Ambiguous reference to base members.
+-#: cp/semantics.c:2849
++#: cp/semantics.c:2881
+ #, gcc-internal-format
+ msgid "request for member %qD is ambiguous in multiple inheritance lattice"
+ msgstr "uye %qD için istek çoklu miras kafesi içinde belirsiz"
+
+-#: cp/semantics.c:2970 cp/semantics.c:4210
++#: cp/semantics.c:3002 cp/semantics.c:4259
+ #, gcc-internal-format
+ msgid "type of %qE is unknown"
+ msgstr "%qE türü bilinmiyor"
+
+-#: cp/semantics.c:2985
++#: cp/semantics.c:3017
+ #, gcc-internal-format
+ msgid "cannot apply %<offsetof%> to destructor %<~%T%>"
+ msgstr ""
+
+-#: cp/semantics.c:2996
++#: cp/semantics.c:3028
+ #, fuzzy, gcc-internal-format
+ msgid "cannot apply %<offsetof%> to member function %qD"
+ msgstr "static olmayan üye işlev %qD kullanımı geçersiz"
+
+-#: cp/semantics.c:3349
++#: cp/semantics.c:3381
+ #, fuzzy, gcc-internal-format
+ msgid "%qD is not a variable in clause %qs"
+ msgstr "%qT erişilebilir bir %qT tabanı değil"
+
+-#: cp/semantics.c:3358
++#: cp/semantics.c:3390
+ #, gcc-internal-format
+ msgid "%qD appears more than once in data clauses"
+ msgstr ""
+
+-#: cp/semantics.c:3418
++#: cp/semantics.c:3450
+ #, gcc-internal-format
+ msgid "num_threads expression must be integral"
+ msgstr ""
+
+-#: cp/semantics.c:3432
++#: cp/semantics.c:3464
+ #, gcc-internal-format
+ msgid "schedule chunk size expression must be integral"
+ msgstr ""
+
+-#: cp/semantics.c:3562
++#: cp/semantics.c:3594
+ #, fuzzy, gcc-internal-format
+ msgid "%qE has reference type for %qs"
+ msgstr "%s %qT referans türünde şekilleniyor"
+
+-#: cp/semantics.c:3724
++#: cp/semantics.c:3756
+ #, gcc-internal-format
+ msgid "%<threadprivate%> %qE is not file, namespace or block scope variable"
+ msgstr ""
+
+ #. Report the error.
+-#: cp/semantics.c:4033
++#: cp/semantics.c:4072
+ #, fuzzy, gcc-internal-format
+ msgid "static assertion failed: %E"
+ msgstr "CRIS-port olumlaması başarısız: "
+
+-#: cp/semantics.c:4035
++#: cp/semantics.c:4074
+ #, fuzzy, gcc-internal-format
+ msgid "non-constant condition for static assertion"
+ msgstr "%q+D statik olmayan bildirim statik bildirimi izliyor"
+
+-#: cp/semantics.c:4097
++#: cp/semantics.c:4099 cp/semantics.c:4194
+ #, fuzzy, gcc-internal-format
+-msgid "%qE refers to a set of overloaded functions"
+-msgstr "%s aşırı yüklü işlevin adresini çözümleyemiyor"
++msgid "argument to decltype must be an expression"
++msgstr "%L'deki SELECT deyiminin argümanı bir sabit ifadesi olmalı"
+
+ #: cp/semantics.c:4145
+ #, fuzzy, gcc-internal-format
+-msgid "argument to decltype must be an expression"
+-msgstr "%L'deki SELECT deyiminin argümanı bir sabit ifadesi olmalı"
++msgid "%qE refers to a set of overloaded functions"
++msgstr "%s aşırı yüklü işlevin adresini çözümleyemiyor"
+
+-#: cp/semantics.c:4366
++#: cp/semantics.c:4415
+ #, gcc-internal-format
+ msgid "__is_convertible_to"
+ msgstr ""
+
+-#: cp/semantics.c:4395
++#: cp/semantics.c:4444
+ #, fuzzy, gcc-internal-format
+ msgid "incomplete type %qT not allowed"
+ msgstr "içi boş tür %qT üye %qD'yi içermiyor"
+
+-#: cp/tree.c:829
++#: cp/tree.c:827
+ #, gcc-internal-format
+ msgid "%qV qualifiers cannot be applied to %qT"
+ msgstr "%qV niteleyicileri %qT'ye uygulanamaz"
+
+-#: cp/tree.c:2134
++#: cp/tree.c:2132
+ #, gcc-internal-format
+ msgid "%qE attribute can only be applied to Java class definitions"
+ msgstr "%qE özniteliği sadece Java sınıf tanımlarına uygulanabilir"
+
+-#: cp/tree.c:2163
++#: cp/tree.c:2161
+ #, gcc-internal-format
+ msgid "%qE attribute can only be applied to class definitions"
+ msgstr "%qE özniteliği sadece sınıf tanımlarına uygulanabilir"
+
+-#: cp/tree.c:2169
++#: cp/tree.c:2167
+ #, gcc-internal-format
+ msgid "%qE is obsolete; g++ vtables are now COM-compatible by default"
+ msgstr "%qE artik kullanilmiyor; g++ vtables simdi öntanımlı olarak COM-uyumludur"
+
+-#: cp/tree.c:2193
++#: cp/tree.c:2191
+ #, gcc-internal-format
+ msgid "requested init_priority is not an integer constant"
+ msgstr "istenen init_priority bir tamsayı sabit değil"
+
+-#: cp/tree.c:2214
++#: cp/tree.c:2212
+ #, gcc-internal-format
+ msgid "can only use %qE attribute on file-scope definitions of objects of class type"
+ msgstr "%qE özniteliği sadece sınıf türünde nesnelerin dosya bağlamı tanımlarında kullanılabilir"
+
+-#: cp/tree.c:2222
++#: cp/tree.c:2220
+ #, gcc-internal-format
+ msgid "requested init_priority is out of range"
+ msgstr "istenen init_priority aralık dışında"
+
+-#: cp/tree.c:2232
++#: cp/tree.c:2230
+ #, gcc-internal-format
+ msgid "requested init_priority is reserved for internal use"
+ msgstr "istenen init_priority iç kullanim için ayrilmiştir"
+
+-#: cp/tree.c:2243
++#: cp/tree.c:2241
+ #, gcc-internal-format
+ msgid "%qE attribute is not supported on this platform"
+ msgstr "bu platformda %qE özniteliği desteklenmiyor"
+
+-#: cp/typeck.c:431 cp/typeck.c:445 cp/typeck.c:545
++#: cp/typeck.c:432 cp/typeck.c:446 cp/typeck.c:546
+ #, gcc-internal-format
+ msgid "%s between distinct pointer types %qT and %qT lacks a cast"
+ msgstr "bir tür dönüşümü olmaksızın %s (belirgin gösterici türleri %qT ve %qT arasında)"
+
+-#: cp/typeck.c:507
++#: cp/typeck.c:508
+ #, gcc-internal-format
+ msgid "ISO C++ forbids %s between pointer of type %<void *%> and pointer-to-function"
+ msgstr "ISO C++'da bir işlev göstericisi ile %<void *%> türünde göstericiler arasında %s yasaktir"
+
+-#: cp/typeck.c:565
++#: cp/typeck.c:566
+ #, gcc-internal-format
+ msgid "%s between distinct pointer-to-member types %qT and %qT lacks a cast"
+ msgstr "bir tür dönüşümü olmaksızın %s (belirgin üye göstericisi türleri %qT ve %qT arasında)"
+
+-#: cp/typeck.c:1129
++#: cp/typeck.c:1166
+ #, gcc-internal-format
+ msgid "canonical types differ for identical types %T and %T"
+ msgstr ""
+
+-#: cp/typeck.c:1136
++#: cp/typeck.c:1173
+ #, gcc-internal-format
+ msgid "same canonical type node for different types %T and %T"
+ msgstr ""
+
+-#: cp/typeck.c:1248
++#: cp/typeck.c:1285
+ #, gcc-internal-format
+ msgid "invalid application of %qs to a member function"
+ msgstr "bir üye işleve %qs uygulanması geçersiz"
+
+-#: cp/typeck.c:1298
++#: cp/typeck.c:1335
+ #, fuzzy, gcc-internal-format
+ msgid "invalid application of %<sizeof%> to a bit-field"
+ msgstr "bir bit alanına %qs uygulanması geçersiz"
+
+-#: cp/typeck.c:1303
++#: cp/typeck.c:1340
+ #, fuzzy, gcc-internal-format
+ msgid "ISO C++ forbids applying %<sizeof%> to an expression of function type"
+ msgstr "ISO C++ işlev türünde bir ifadeye %qs uygulanmasına izin vermez"
+
+-#: cp/typeck.c:1346
++#: cp/typeck.c:1383
+ #, fuzzy, gcc-internal-format
+ msgid "invalid application of %<__alignof%> to a bit-field"
+ msgstr "bir bit alanına %qs uygulanması geçersiz"
+
+-#: cp/typeck.c:1354
++#: cp/typeck.c:1391
+ #, fuzzy, gcc-internal-format
+ msgid "ISO C++ forbids applying %<__alignof%> to an expression of function type"
+ msgstr "ISO C++ işlev türünde bir ifadeye %qs uygulanmasına izin vermez"
+
+-#: cp/typeck.c:1405
++#: cp/typeck.c:1442
+ #, gcc-internal-format
+ msgid "invalid use of non-static member function"
+ msgstr "statik olmayan üye işlev kullanımı geçersiz "
+
+-#: cp/typeck.c:1669
++#: cp/typeck.c:1715
+ #, fuzzy, gcc-internal-format
+ msgid "deprecated conversion from string constant to %qT"
+ msgstr "dizge sabitten %qT'ye dönüşüm artik önerilmiyor"
+
+-#: cp/typeck.c:1784 cp/typeck.c:2132
++#: cp/typeck.c:1830 cp/typeck.c:2178
+ #, fuzzy, gcc-internal-format
+ msgid "request for member %qD in %qE, which is of non-class type %qT"
+ msgstr "sınıf olmayan %3$qT türündeki %2$qE içindeki %1$qD üyesi için istek"
+
+-#: cp/typeck.c:1811
++#: cp/typeck.c:1857
+ #, gcc-internal-format
+ msgid "invalid use of nonstatic data member %qE"
+ msgstr "static olmayan veri üyesi %qE kullanımı geçersiz"
+
+-#: cp/typeck.c:1863 cp/typeck.c:1891
++#: cp/typeck.c:1909 cp/typeck.c:1937
+ #, gcc-internal-format
+ msgid "invalid access to non-static data member %qD of NULL object"
+ msgstr "NULL nesnenin static olmayan veri üyesi %qD'ye erişim geçersiz"
+
+-#: cp/typeck.c:1866 cp/typeck.c:1893
++#: cp/typeck.c:1912 cp/typeck.c:1939
+ #, gcc-internal-format
+ msgid "(perhaps the %<offsetof%> macro was used incorrectly)"
+ msgstr "(belkide %<offsetof%> makrosu yanlış kullanıldı)"
+
+-#: cp/typeck.c:2010
++#: cp/typeck.c:2056
+ #, gcc-internal-format
+ msgid "the type being destroyed is %qT, but the destructor refers to %qT"
+ msgstr "iptal edilen tür %qT iken yıkıcı %qT ile ilişkili"
+
+-#: cp/typeck.c:2049 cp/typeck.c:2069
++#: cp/typeck.c:2095 cp/typeck.c:2115
+ #, gcc-internal-format
+ msgid "%qD is not a template"
+ msgstr "%qD bir ÅŸablon deÄŸil"
+
+-#: cp/typeck.c:2170
++#: cp/typeck.c:2216
+ #, gcc-internal-format
+ msgid "%<%D::%D%> is not a member of %qT"
+ msgstr "%<%D::%D%>, %qT'nin bir üyesi değil"
+
+-#: cp/typeck.c:2185
++#: cp/typeck.c:2231
+ #, gcc-internal-format
+ msgid "%qT is not a base of %qT"
+ msgstr "%qT %qT tabanında değil"
+
+-#: cp/typeck.c:2204
++#: cp/typeck.c:2250
+ #, gcc-internal-format
+ msgid "%qD has no member named %qE"
+ msgstr "%qD %qE isimli üyeye sahip değil"
+
+-#: cp/typeck.c:2219
++#: cp/typeck.c:2265
+ #, gcc-internal-format
+ msgid "%qD is not a member template function"
+ msgstr "%qD bir üye şablon işlevi değil"
+
+ #. A pointer to incomplete type (other than cv void) can be
+ #. dereferenced [expr.unary.op]/1
+-#: cp/typeck.c:2352
++#: cp/typeck.c:2398
+ #, gcc-internal-format
+ msgid "%qT is not a pointer-to-object type"
+ msgstr "%qT bir nesne göstericisi türü değil"
+
+-#: cp/typeck.c:2377
++#: cp/typeck.c:2423
+ #, gcc-internal-format
+ msgid "invalid use of %qs on pointer to member"
+ msgstr "uye göstericisinde %qs kullanımı geçersiz"
+
+-#: cp/typeck.c:2381
++#: cp/typeck.c:2427
+ #, gcc-internal-format
+ msgid "invalid type argument of %qs"
+ msgstr "%qs için tür argümanı geçersiz"
+
+-#: cp/typeck.c:2383
++#: cp/typeck.c:2429
+ #, gcc-internal-format
+ msgid "invalid type argument"
+ msgstr "tür argümanı geçersiz"
+
+-#: cp/typeck.c:2406
++#: cp/typeck.c:2452
+ #, gcc-internal-format
+ msgid "subscript missing in array reference"
+ msgstr "dizi baÅŸvurusunda altindis yok"
+
+-#: cp/typeck.c:2480
++#: cp/typeck.c:2526
+ #, gcc-internal-format
+ msgid "ISO C++ forbids subscripting non-lvalue array"
+ msgstr "ISO C++ sol yan olmayan dizi indislemesine izin vermez"
+
+-#: cp/typeck.c:2491
++#: cp/typeck.c:2537
+ #, gcc-internal-format
+ msgid "subscripting array declared %<register%>"
+ msgstr "%<register%> olarak bildirilmiÅŸ dizi indislemesi"
+
+-#: cp/typeck.c:2576
++#: cp/typeck.c:2622
+ #, gcc-internal-format
+ msgid "object missing in use of %qE"
+ msgstr "%qE kullanimında nesne eksik"
+
+-#: cp/typeck.c:2693
++#: cp/typeck.c:2739
+ #, gcc-internal-format
+ msgid "ISO C++ forbids calling %<::main%> from within program"
+ msgstr "ISO C++ program içinden %<::main%> çağrısına izin vermez"
+
+-#: cp/typeck.c:2718
++#: cp/typeck.c:2764
+ #, gcc-internal-format
+ msgid "must use %<.*%> or %<->*%> to call pointer-to-member function in %<%E (...)%>"
+ msgstr "%<%E (...)%> içinde üye gösterici işlevi çağrısı için %<.*%> veya %<->*%> kullanılmalı"
+
+-#: cp/typeck.c:2732
++#: cp/typeck.c:2778
+ #, gcc-internal-format
+ msgid "%qE cannot be used as a function"
+ msgstr "%qE bir iÅŸlev olarak kullanilamaz"
+
+-#: cp/typeck.c:2822
++#: cp/typeck.c:2868
+ #, gcc-internal-format
+ msgid "too many arguments to %s %q+#D"
+ msgstr "%s %q+#D için argümanlar çok fazla"
+
+-#: cp/typeck.c:2823 cp/typeck.c:2927
++#: cp/typeck.c:2869 cp/typeck.c:2973
+ #, gcc-internal-format
+ msgid "at this point in file"
+ msgstr "dosyanın burasında"
+
+-#: cp/typeck.c:2826
++#: cp/typeck.c:2872
+ #, gcc-internal-format
+ msgid "too many arguments to function"
+ msgstr "işlev için çok fazla argüman belirtildi"
+
+-#: cp/typeck.c:2856
++#: cp/typeck.c:2902
+ #, gcc-internal-format
+ msgid "parameter %P of %qD has incomplete type %qT"
+ msgstr "%P parametresi %qD içinde tamamlanmamış %qT türünde"
+
+-#: cp/typeck.c:2859
++#: cp/typeck.c:2905
+ #, gcc-internal-format
+ msgid "parameter %P has incomplete type %qT"
+ msgstr "parametre %P tamamlanmamış %qT türünde"
+
+-#: cp/typeck.c:2926
++#: cp/typeck.c:2972
+ #, gcc-internal-format
+ msgid "too few arguments to %s %q+#D"
+ msgstr "%s %q+#D için argümanlar çok az"
+
+-#: cp/typeck.c:2930
++#: cp/typeck.c:2976
+ #, gcc-internal-format
+ msgid "too few arguments to function"
+ msgstr "işlev için çok az argüman belirtildi"
+
+-#: cp/typeck.c:3098 cp/typeck.c:3108
++#: cp/typeck.c:3140 cp/typeck.c:3150
+ #, gcc-internal-format
+ msgid "assuming cast to type %qT from overloaded function"
+ msgstr "aşırı yüklü işlevden %qT türüne dönüşüm yapildigi varsayılıyor"
+
+-#: cp/typeck.c:3306
++#: cp/typeck.c:3346
+ #, fuzzy, gcc-internal-format
+ msgid "left rotate count is negative"
+ msgstr "%s döngü sayısı negatif"
+
+-#: cp/typeck.c:3307
++#: cp/typeck.c:3347
+ #, fuzzy, gcc-internal-format
+ msgid "right rotate count is negative"
+ msgstr "%s döngü sayısı negatif"
+
+-#: cp/typeck.c:3310
++#: cp/typeck.c:3350
+ #, fuzzy, gcc-internal-format
+ msgid "left rotate count >= width of type"
+ msgstr "%s döngü sayısı >= tür genişligi"
+
+-#: cp/typeck.c:3311
++#: cp/typeck.c:3351
+ #, fuzzy, gcc-internal-format
+ msgid "right rotate count >= width of type"
+ msgstr "%s döngü sayısı >= tür genişligi"
+
+-#: cp/typeck.c:3327 cp/typeck.c:3502
++#: cp/typeck.c:3367 cp/typeck.c:3549
+ #, fuzzy, gcc-internal-format
+ msgid "comparison with string literal results in unspecified behaviour"
+ msgstr "%q+D zayıf bildirimi ilk kullanımdan sonra belirsiz davranışla sonuçlanıyor"
+
+-#: cp/typeck.c:3360 cp/typeck.c:3365 cp/typeck.c:3520 cp/typeck.c:3525
++#: cp/typeck.c:3400 cp/typeck.c:3405 cp/typeck.c:3567 cp/typeck.c:3572
+ #, gcc-internal-format
+ msgid "ISO C++ forbids comparison between pointer and integer"
+ msgstr "ISO C++ da gösterici ile tamsayı arasında karşılaştırmaya izin verilmez"
+
+-#: cp/typeck.c:3539
++#: cp/typeck.c:3586
+ #, gcc-internal-format
+ msgid "unordered comparison on non-floating point argument"
+ msgstr "gerçel sayı olmayan argümanlar arasında düzenlenmemiş karşılaştırma"
+
+-#: cp/typeck.c:3577
++#: cp/typeck.c:3624
+ #, gcc-internal-format
+ msgid "invalid operands of types %qT and %qT to binary %qO"
+ msgstr "%qT ve %qT türündeki terimler iki terimli `%qO' için geçersiz"
+
+-#: cp/typeck.c:3749
++#: cp/typeck.c:3757
+ #, gcc-internal-format
+ msgid "comparison between types %q#T and %q#T"
+ msgstr "%q#T ile %q#T türleri arasında karşılaştırma"
+
+-#: cp/typeck.c:3786
++#: cp/typeck.c:3794
+ #, gcc-internal-format
+ msgid "comparison between signed and unsigned integer expressions"
+ msgstr "işaretli ve işaretsiz tamsayı ifadeler arasında karşılaştırma"
+@@ -32181,154 +32217,154 @@
+ #. performed. Note that pointer-difference and pointer-addition
+ #. have already been handled above, and so we don't end up here in
+ #. that case.
+-#: cp/typeck.c:3858
++#: cp/typeck.c:3866
+ #, gcc-internal-format
+ msgid "NULL used in arithmetic"
+ msgstr "aritmetik içinde NULL kullanımı"
+
+-#: cp/typeck.c:3927
++#: cp/typeck.c:3935
+ #, gcc-internal-format
+ msgid "ISO C++ forbids using pointer of type %<void *%> in subtraction"
+ msgstr "ISO C++ bir çıkarma içinde %<void *%> türde gösterici kullanımına izin vermez"
+
+-#: cp/typeck.c:3929
++#: cp/typeck.c:3937
+ #, gcc-internal-format
+ msgid "ISO C++ forbids using pointer to a function in subtraction"
+ msgstr "ISO C++ bir çıkartma işlemi içindeki bir işlev göstericisi kullanımına izin vermez"
+
+-#: cp/typeck.c:3931
++#: cp/typeck.c:3939
+ #, gcc-internal-format
+ msgid "ISO C++ forbids using pointer to a method in subtraction"
+ msgstr "ISO C++ bir çıkartma işlemi içinde bir yöntem göstericisi kullanımına izin vermez"
+
+-#: cp/typeck.c:3943
++#: cp/typeck.c:3951
+ #, gcc-internal-format
+ msgid "invalid use of a pointer to an incomplete type in pointer arithmetic"
+ msgstr "gösterici aritmetiginde tamamlanmamış ture gösterici kullanımı geçersiz"
+
+-#: cp/typeck.c:4003
++#: cp/typeck.c:4011
+ #, gcc-internal-format
+ msgid "invalid use of %qE to form a pointer-to-member-function"
+ msgstr "%qE kullanımı üye işleve gösterici biçiminde geçersiz"
+
+-#: cp/typeck.c:4006
++#: cp/typeck.c:4014
+ #, gcc-internal-format
+ msgid " a qualified-id is required"
+ msgstr " bir nitelemeli kimlik gerekli"
+
+-#: cp/typeck.c:4011
++#: cp/typeck.c:4019
+ #, fuzzy, gcc-internal-format
+ msgid "parentheses around %qE cannot be used to form a pointer-to-member-function"
+ msgstr "parantez icene alınmis %qE üye işleve gösterici biçiminde kullanilamaz"
+
+-#: cp/typeck.c:4034
++#: cp/typeck.c:4042
+ #, gcc-internal-format
+ msgid "taking address of temporary"
+ msgstr "gecicinin adresi alıniyor"
+
+-#: cp/typeck.c:4287
++#: cp/typeck.c:4295
+ #, fuzzy, gcc-internal-format
+ msgid "ISO C++ forbids incrementing an enum"
+ msgstr "ISO C++ bir enum'um %s-lenmesine izin vermez"
+
+-#: cp/typeck.c:4288
++#: cp/typeck.c:4296
+ #, fuzzy, gcc-internal-format
+ msgid "ISO C++ forbids decrementing an enum"
+ msgstr "ISO C++ bir enum'um %s-lenmesine izin vermez"
+
+-#: cp/typeck.c:4299
++#: cp/typeck.c:4307
+ #, fuzzy, gcc-internal-format
+ msgid "cannot increment a pointer to incomplete type %qT"
+ msgstr "%s içi boş %qT türüne bir gösterici olamaz"
+
+-#: cp/typeck.c:4300
++#: cp/typeck.c:4308
+ #, fuzzy, gcc-internal-format
+ msgid "cannot decrement a pointer to incomplete type %qT"
+ msgstr "%s içi boş %qT türüne bir gösterici olamaz"
+
+-#: cp/typeck.c:4306
++#: cp/typeck.c:4314
+ #, fuzzy, gcc-internal-format
+ msgid "ISO C++ forbids incrementing a pointer of type %qT"
+ msgstr "ISO C++ bir göstericinin %s işlemine %qT türündeyse izin vermez"
+
+-#: cp/typeck.c:4307
++#: cp/typeck.c:4315
+ #, fuzzy, gcc-internal-format
+ msgid "ISO C++ forbids decrementing a pointer of type %qT"
+ msgstr "ISO C++ bir göstericinin %s işlemine %qT türündeyse izin vermez"
+
+-#: cp/typeck.c:4327
++#: cp/typeck.c:4335
+ #, fuzzy, gcc-internal-format
+ msgid "invalid use of Boolean expression as operand to %<operator--%>"
+ msgstr "terim olarak ifade geçersiz"
+
+ #. ARM $3.4
+-#: cp/typeck.c:4357
++#: cp/typeck.c:4365
+ #, gcc-internal-format
+ msgid "ISO C++ forbids taking address of function %<::main%>"
+ msgstr "ISO C++ %<::main%> işlevinin adresinin alınmasına izin vermez"
+
+ #. An expression like &memfn.
+-#: cp/typeck.c:4413
++#: cp/typeck.c:4421
+ #, gcc-internal-format
+ msgid "ISO C++ forbids taking the address of an unqualified or parenthesized non-static member function to form a pointer to member function. Say %<&%T::%D%>"
+ msgstr "ISO C++ üye işleve bir gösterici şekillendirecek bir niteliksiz ya da parantezli statik olmayan üye işlevin adresinin alınmasına izin vermez. %<&%T::%D%> denebilir."
+
+-#: cp/typeck.c:4418
++#: cp/typeck.c:4426
+ #, gcc-internal-format
+ msgid "ISO C++ forbids taking the address of a bound member function to form a pointer to member function. Say %<&%T::%D%>"
+ msgstr "ISO C++ üye işleve bir gösterici şekillendirecek bir sınır üye işlevin adresinin alınmasına izin vermez. %<&%T::%D%> denebilir"
+
+-#: cp/typeck.c:4443
++#: cp/typeck.c:4451
+ #, gcc-internal-format
+ msgid "ISO C++ forbids taking the address of a cast to a non-lvalue expression"
+ msgstr "ISO C++ bir sol yan olmayan ifadeye dönüşüm adresi alınmasına izin vermez"
+
+-#: cp/typeck.c:4467
++#: cp/typeck.c:4475
+ #, gcc-internal-format
+ msgid "cannot create pointer to reference member %qD"
+ msgstr "referans üye %qD için gösterici oluşturulamaz"
+
+-#: cp/typeck.c:4678
++#: cp/typeck.c:4686
+ #, gcc-internal-format
+ msgid "cannot take the address of %<this%>, which is an rvalue expression"
+ msgstr "bir sağ taraf ifadesi olan %<this%>'in adresi alınamaz"
+
+-#: cp/typeck.c:4701
++#: cp/typeck.c:4709
+ #, gcc-internal-format
+ msgid "address of explicit register variable %qD requested"
+ msgstr "%qD doğrudan yazmaç değişkeninin adresi istendi"
+
+-#: cp/typeck.c:4706
++#: cp/typeck.c:4714
+ #, gcc-internal-format
+ msgid "address requested for %qD, which is declared %<register%>"
+ msgstr " %qD için adres istegi (%<register%> olarak bildirilmiş olan)"
+
+-#: cp/typeck.c:4772
++#: cp/typeck.c:4780
+ #, gcc-internal-format
+ msgid "%s expression list treated as compound expression"
+ msgstr "%s ifade listesi bilesik ifade olarak ele alıniyor"
+
+-#: cp/typeck.c:5175
++#: cp/typeck.c:5183
+ #, gcc-internal-format
+ msgid "invalid static_cast from type %qT to type %qT"
+ msgstr "%qT türünden %qT türüne static_cast geçersiz"
+
+-#: cp/typeck.c:5197
++#: cp/typeck.c:5205
+ #, gcc-internal-format
+ msgid "converting from %qT to %qT"
+ msgstr "%qT'den %qT'ye dönüşüm"
+
+-#: cp/typeck.c:5245
++#: cp/typeck.c:5253
+ #, gcc-internal-format
+ msgid "invalid cast of an rvalue expression of type %qT to type %qT"
+ msgstr "%qT türündeki bir sağ taraf değerinin %qT türüne dönüşümü geçersiz"
+
+-#: cp/typeck.c:5304
++#: cp/typeck.c:5312
+ #, gcc-internal-format
+ msgid "cast from %qT to %qT loses precision"
+ msgstr "%qT'den %qT'ye tür dönüşümü hassasiyet kaybi oluşturuyor"
+
+-#: cp/typeck.c:5331
++#: cp/typeck.c:5339
+ #, gcc-internal-format
+ msgid "cast from %qT to %qT increases required alignment of target type"
+ msgstr "%qT türünden %qT türüne dönüşüm hedef türün hizalama gereksinimini arttiriyor"
+@@ -32337,155 +32373,155 @@
+ #. where possible, and it is necessary in some cases. DR 195
+ #. addresses this issue, but as of 2004/10/26 is still in
+ #. drafting.
+-#: cp/typeck.c:5351
++#: cp/typeck.c:5359
+ #, gcc-internal-format
+ msgid "ISO C++ forbids casting between pointer-to-function and pointer-to-object"
+ msgstr "ISO C++ işlev ve nesne göstericileri arasında dönüşüme izin vermez"
+
+-#: cp/typeck.c:5362
++#: cp/typeck.c:5370
+ #, gcc-internal-format
+ msgid "invalid cast from type %qT to type %qT"
+ msgstr "%qT türünden %qT türüne const_cast geçersiz"
+
+-#: cp/typeck.c:5418
++#: cp/typeck.c:5426
+ #, gcc-internal-format
+ msgid "invalid use of const_cast with type %qT, which is not a pointer, reference, nor a pointer-to-data-member type"
+ msgstr "ne bir gösterici türü ne de bir veri üyesine gösterici türü olan %qT ile const_cast kullanımı geçersiz"
+
+-#: cp/typeck.c:5427
++#: cp/typeck.c:5435
+ #, gcc-internal-format
+ msgid "invalid use of const_cast with type %qT, which is a pointer or reference to a function type"
+ msgstr "bir gösterici ya da bir işlev türüne referans olan %qT türü ile const_cast kullanımı geçersiz"
+
+-#: cp/typeck.c:5452
++#: cp/typeck.c:5460
+ #, gcc-internal-format
+ msgid "invalid const_cast of an rvalue of type %qT to type %qT"
+ msgstr "%qT türündeki bir sağ taraf değerinden %qT türüne const_cast geçersiz"
+
+-#: cp/typeck.c:5503
++#: cp/typeck.c:5511
+ #, gcc-internal-format
+ msgid "invalid const_cast from type %qT to type %qT"
+ msgstr "%qT türünden %qT türüne const_cast geçersiz"
+
+-#: cp/typeck.c:5571 cp/typeck.c:5576
++#: cp/typeck.c:5579 cp/typeck.c:5584
+ #, gcc-internal-format
+ msgid "ISO C++ forbids casting to an array type %qT"
+ msgstr "ISO C++ %qT dizi türüne dönüşüme izin vermez"
+
+-#: cp/typeck.c:5584
++#: cp/typeck.c:5592
+ #, gcc-internal-format
+ msgid "invalid cast to function type %qT"
+ msgstr "%qT işlev türüne dönüşüm geçersiz"
+
+-#: cp/typeck.c:5804
++#: cp/typeck.c:5812
+ #, gcc-internal-format
+ msgid " in evaluation of %<%Q(%#T, %#T)%>"
+ msgstr " %<%Q(%#T, %#T)%> nin gelisiminde"
+
+-#: cp/typeck.c:5873
++#: cp/typeck.c:5881
+ #, gcc-internal-format
+ msgid "incompatible types in assignment of %qT to %qT"
+ msgstr "%qT'nin %qT'ye atanmasında türler uyumsuz"
+
+-#: cp/typeck.c:5884
++#: cp/typeck.c:5892
+ #, fuzzy, gcc-internal-format
+ msgid "array used as initializer"
+ msgstr "dizi ilklendirici hatalı"
+
+-#: cp/typeck.c:5886
++#: cp/typeck.c:5894
+ #, fuzzy, gcc-internal-format
+ msgid "invalid array assignment"
+ msgstr "atamanın sol tarafı geçersiz"
+
+-#: cp/typeck.c:5998
++#: cp/typeck.c:6006
+ #, gcc-internal-format
+ msgid " in pointer to member function conversion"
+ msgstr " üye işleve gösterici dönüşümünde"
+
+-#: cp/typeck.c:6009
++#: cp/typeck.c:6017
+ #, gcc-internal-format
+ msgid "pointer to member conversion via virtual base %qT"
+ msgstr "sanal taban %qT üzerinden üye göstericisine dönüşüm"
+
+-#: cp/typeck.c:6049 cp/typeck.c:6061
++#: cp/typeck.c:6057 cp/typeck.c:6069
+ #, gcc-internal-format
+ msgid " in pointer to member conversion"
+ msgstr " üyeye gösterici dönüşümünde"
+
+-#: cp/typeck.c:6140
++#: cp/typeck.c:6148
+ #, gcc-internal-format
+ msgid "invalid conversion to type %qT from type %qT"
+ msgstr "%qT'ye %qT'den dönüşüm geçersiz"
+
+-#: cp/typeck.c:6384
++#: cp/typeck.c:6411
+ #, fuzzy, gcc-internal-format
+ msgid "cannot convert %qT to %qT for argument %qP to %qD"
+ msgstr "%4$qD işlevinin %3$qP. argümanı için %1$qT türü %2$qT türüne dönüştürülemez"
+
+-#: cp/typeck.c:6387
++#: cp/typeck.c:6414
+ #, gcc-internal-format
+ msgid "cannot convert %qT to %qT in %s"
+ msgstr "%qT %qT'ye %s içinde dönüştürülemez"
+
+-#: cp/typeck.c:6398
++#: cp/typeck.c:6425
+ #, gcc-internal-format
+ msgid "%s might be a candidate for a format attribute"
+ msgstr "%s biçim özniteliği için bir aday olabilir"
+
+-#: cp/typeck.c:6485 cp/typeck.c:6487
++#: cp/typeck.c:6512 cp/typeck.c:6514
+ #, fuzzy, gcc-internal-format
+ msgid "in passing argument %P of %q+D"
+ msgstr "%2$q+D işlevinin %1$P. argümanına aktarımda"
+
+-#: cp/typeck.c:6537
++#: cp/typeck.c:6564
+ #, gcc-internal-format
+ msgid "returning reference to temporary"
+ msgstr "geçiciye başvuru dönüyor"
+
+-#: cp/typeck.c:6544
++#: cp/typeck.c:6571
+ #, gcc-internal-format
+ msgid "reference to non-lvalue returned"
+ msgstr "sag yansiz dönüşluye referans"
+
+-#: cp/typeck.c:6560
++#: cp/typeck.c:6587
+ #, gcc-internal-format
+ msgid "reference to local variable %q+D returned"
+ msgstr "yerel deÄŸiÅŸken %q+D'ye referans donduruldu"
+
+-#: cp/typeck.c:6563
++#: cp/typeck.c:6590
+ #, gcc-internal-format
+ msgid "address of local variable %q+D returned"
+ msgstr "yerel deÄŸiÅŸken %q+D adresi donduruldu"
+
+-#: cp/typeck.c:6598
++#: cp/typeck.c:6625
+ #, gcc-internal-format
+ msgid "returning a value from a destructor"
+ msgstr "bir yıkıcıdan değer donuyor"
+
+ #. If a return statement appears in a handler of the
+ #. function-try-block of a constructor, the program is ill-formed.
+-#: cp/typeck.c:6606
++#: cp/typeck.c:6633
+ #, gcc-internal-format
+ msgid "cannot return from a handler of a function-try-block of a constructor"
+ msgstr "bir kurucunun bir işlev deneme blokunun bir tutamagından dondurulemez"
+
+ #. You can't return a value from a constructor.
+-#: cp/typeck.c:6609
++#: cp/typeck.c:6636
+ #, gcc-internal-format
+ msgid "returning a value from a constructor"
+ msgstr "kurucudan bir deÄŸer dondurulemez"
+
+-#: cp/typeck.c:6633
++#: cp/typeck.c:6661
+ #, gcc-internal-format
+ msgid "return-statement with no value, in function returning %qT"
+ msgstr "%qT donduren işlevde değer içermeyen return"
+
+-#: cp/typeck.c:6654
++#: cp/typeck.c:6682
+ #, gcc-internal-format
+ msgid "return-statement with a value, in function returning 'void'"
+ msgstr "'void' dönüşlu işlevde değer içeren `return' deyimi"
+
+-#: cp/typeck.c:6685
++#: cp/typeck.c:6713
+ #, gcc-internal-format
+ msgid "%<operator new%> must not return NULL unless it is declared %<throw()%> (or -fcheck-new is in effect)"
+ msgstr "%<operator new%>', %<throw()%> olarak bildirilmedikce (ya da -fcheck-new etkinken) NULL donmemeli"
+@@ -32671,57 +32707,57 @@
+ 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.c:1495
++#: cp/typeck2.c:1508
+ #, 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.c:1498
++#: cp/typeck2.c:1511
+ #, 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ı"
+
+-#: fortran/f95-lang.c:233
++#: fortran/f95-lang.c:235
+ #, gcc-internal-format
+ msgid "Unexpected type in truthvalue_conversion"
+ msgstr "truthvalue_conversion içinde umulmadık tür"
+
+-#: fortran/f95-lang.c:289
++#: fortran/f95-lang.c:291
+ #, gcc-internal-format
+ msgid "can't open input file: %s"
+ msgstr "girdi dosyası açılamıyor: %s"
+
+-#: fortran/f95-lang.c:629
++#: fortran/f95-lang.c:631
+ #, gcc-internal-format
+ msgid "global register variable %qs used in nested function"
+ msgstr "genel yazmaç değişkeni %qs yuvalanmış işlevde kullanılmış"
+
+-#: fortran/f95-lang.c:633
++#: fortran/f95-lang.c:635
+ #, gcc-internal-format
+ msgid "register variable %qs used in nested function"
+ msgstr "yazmaç değişkeni %qs yuvalanmış işlevde kullanılmış"
+
+-#: fortran/f95-lang.c:640
++#: fortran/f95-lang.c:642
+ #, gcc-internal-format
+ msgid "address of global register variable %qs requested"
+ msgstr "%qs genel yazmaç değişkeninin adresi istenmis"
+
+-#: fortran/f95-lang.c:658
++#: fortran/f95-lang.c:660
+ #, gcc-internal-format
+ msgid "address of register variable %qs requested"
+ msgstr "%qs yazmaç değişkeninin adresi istendi"
+
+-#: fortran/trans-array.c:3765
++#: fortran/trans-array.c:3805
+ #, gcc-internal-format
+ msgid "Possible frontend bug: array constructor not expanded"
+ msgstr "Olası önyüz hatası: dizi kurucu genişletilmedi"
+
+-#: fortran/trans-array.c:5418
++#: fortran/trans-array.c:5499
+ #, fuzzy, gcc-internal-format
+ msgid "Possible frontend bug: Deferred array size without pointer, allocatable attribute or derived type without allocatable components."
+ msgstr "Olası önyüz hatası: gösterici veya tahsis edilebilir öznitelik olmaksızın ertelenmiş dizi boyutu"
+
+-#: fortran/trans-array.c:5894
++#: fortran/trans-array.c:5975
+ #, gcc-internal-format
+ msgid "bad expression type during walk (%d)"
+ msgstr "yürüyüş sırasında ifade türü hatalı (%d)"
+@@ -32731,27 +32767,27 @@
+ msgid "gfc_conv_constant_to_tree(): invalid type: %s"
+ msgstr "gfc_conv_constant_to_tree(): geçersiz tür: %s"
+
+-#: fortran/trans-decl.c:966
++#: fortran/trans-decl.c:972
+ #, gcc-internal-format
+ msgid "intrinsic variable which isn't a procedure"
+ msgstr "bir yordam olmayan yerleÅŸik deÄŸiÅŸken"
+
+-#: fortran/trans-decl.c:2639
++#: fortran/trans-decl.c:2644
+ #, gcc-internal-format
+ msgid "Function does not return a value"
+ msgstr "iÅŸlev bir deÄŸer ile donmuyor"
+
+-#: fortran/trans-decl.c:2817
++#: fortran/trans-decl.c:2832
+ #, gcc-internal-format
+ msgid "backend decl for module variable %s already exists"
+ msgstr "modül değişkeni %s için artyüz bildirimi zaten mevcut"
+
+-#: fortran/trans-decl.c:3351
++#: fortran/trans-decl.c:3314
+ #, gcc-internal-format
+ msgid "Function return value not set"
+ msgstr "İşlevin dönüş değeri belirtilmemiş"
+
+-#: fortran/trans-expr.c:1163
++#: fortran/trans-expr.c:1177
+ #, gcc-internal-format
+ msgid "Unknown intrinsic op"
+ msgstr "Bilinmeyen yerleÅŸik terim"
+@@ -32761,32 +32797,32 @@
+ msgid "Intrinsic function %s(%d) not recognized"
+ msgstr "Yerleşik işlev %s(%d) tanınmiyor"
+
+-#: fortran/trans-io.c:1928
++#: fortran/trans-io.c:1929
+ #, gcc-internal-format
+ msgid "Bad IO basetype (%d)"
+ msgstr "Hatalı GÇ tabantürü (%d)"
+
+-#: fortran/trans-types.c:386
++#: fortran/trans-types.c:387
+ #, gcc-internal-format
+ msgid "integer kind=8 not available for -fdefault-integer-8 option"
+ msgstr "-fdefault-integer-8 seçeneği için tamsayı çeşidi=8 elverişli değil"
+
+-#: fortran/trans-types.c:409
++#: fortran/trans-types.c:410
+ #, gcc-internal-format
+ msgid "real kind=8 not available for -fdefault-real-8 option"
+ msgstr "-fdefault-real-8 seçeneği için gerçel sayı çeşidi=8 elverişli değil"
+
+-#: fortran/trans-types.c:422
++#: fortran/trans-types.c:423
+ #, gcc-internal-format
+ msgid "Use of -fdefault-double-8 requires -fdefault-real-8"
+ msgstr "-fdefault-double-8 kullanımı -fdefault-real-8 gerektirir"
+
+-#: fortran/trans-types.c:1181
++#: fortran/trans-types.c:1185
+ #, gcc-internal-format
+ msgid "Array element size too big"
+ msgstr "Dizi elemanı boyutu çok büyük"
+
+-#: fortran/trans.c:1150
++#: fortran/trans.c:1151
+ #, gcc-internal-format
+ msgid "gfc_trans_code(): Bad statement code"
+ msgstr "gfc_trans_code(): Hatalı deyim kodu"
+@@ -32846,88 +32882,88 @@
+ msgid "need to insert runtime check for %s"
+ msgstr "%s için çalışma anı sınaması yerleştirmek gerekir"
+
+-#: java/expr.c:505 java/expr.c:552
++#: java/expr.c:524 java/expr.c:571
+ #, gcc-internal-format
+ msgid "assert: %s is assign compatible with %s"
+ msgstr "assert: %s %s ile uyumlu atanıyor"
+
+-#: java/expr.c:670
++#: java/expr.c:689
+ #, gcc-internal-format
+ msgid "stack underflow - dup* operation"
+ msgstr "yığıt alttan taşması - dup* işlemi"
+
+-#: java/expr.c:1657
++#: java/expr.c:1676
+ #, gcc-internal-format
+ msgid "reference %qs is ambiguous: appears in interface %qs and interface %qs"
+ msgstr "referans %qs belirsiz: %qs ve %qs arayüzlerinde görünüyor"
+
+-#: java/expr.c:1685
++#: java/expr.c:1704
+ #, gcc-internal-format
+ msgid "field %qs not found"
+ msgstr "alan %qs yok"
+
+-#: java/expr.c:2224
++#: java/expr.c:2243
+ #, gcc-internal-format
+ msgid "method '%s' not found in class"
+ msgstr "sınıf içinde yöntem '%s' yok"
+
+-#: java/expr.c:2429
++#: java/expr.c:2448
+ #, gcc-internal-format
+ msgid "failed to find class '%s'"
+ msgstr "sınıf '%s' bulunamadı"
+
+-#: java/expr.c:2470
++#: java/expr.c:2489
+ #, gcc-internal-format
+ msgid "class '%s' has no method named '%s' matching signature '%s'"
+ msgstr "'%s' sınıfının '%s' isimli ve '%s' imzası ile eşleşen bir yöntemi yok"
+
+-#: java/expr.c:2501
++#: java/expr.c:2520
+ #, gcc-internal-format
+ msgid "invokestatic on non static method"
+ msgstr "statik olmayan yöntemde invokestatic"
+
+-#: java/expr.c:2506
++#: java/expr.c:2525
+ #, gcc-internal-format
+ msgid "invokestatic on abstract method"
+ msgstr "kuramsal yöntemde invokestatic"
+
+-#: java/expr.c:2514
++#: java/expr.c:2533
+ #, gcc-internal-format
+ msgid "invoke[non-static] on static method"
+ msgstr "statik yöntemde invoke[non-static]"
+
+-#: java/expr.c:2865
++#: java/expr.c:2890
+ #, fuzzy, gcc-internal-format
+ msgid "missing field '%s' in '%s'"
+ msgstr "'%2$s' içinde '%1$s' alanı yok"
+
+-#: java/expr.c:2872
++#: java/expr.c:2897
+ #, fuzzy, gcc-internal-format
+ msgid "mismatching signature for field '%s' in '%s'"
+ msgstr "'%2$s' içindeki '%1$s' alanı için imza uyumsuz"
+
+-#: java/expr.c:2901
++#: java/expr.c:2926
+ #, gcc-internal-format
+ msgid "assignment to final field %q+D not in field's class"
+ msgstr "bitiş alanı %q+D ataması alanın sınıfı içinde değil"
+
+-#: java/expr.c:3123
++#: java/expr.c:3148
+ #, gcc-internal-format
+ msgid "invalid PC in line number table"
+ msgstr "satır numarası tablosunda geçersiz program sayacı (PC)"
+
+-#: java/expr.c:3173
++#: java/expr.c:3198
+ #, gcc-internal-format
+ msgid "unreachable bytecode from %d to before %d"
+ msgstr "%d den %d nin öncesine kadar baytkod erişilebilir değil"
+
+-#: java/expr.c:3217
++#: java/expr.c:3242
+ #, gcc-internal-format
+ msgid "unreachable bytecode from %d to the end of the method"
+ msgstr "yöntemin sonundaki %d den sonra baytkod ulaşılabilir değil"
+
+ #. duplicate code from LOAD macro
+-#: java/expr.c:3522
++#: java/expr.c:3547
+ #, gcc-internal-format
+ msgid "unrecogized wide sub-instruction"
+ msgstr "geniş alt komut anlaşılamadı"
+@@ -32993,27 +33029,27 @@
+ msgid "%Hduplicate class will only be compiled once"
+ msgstr "%Hyinelenmiş sınıf sadece bir kere derlenecek"
+
+-#: java/jcf-parse.c:1636
++#: java/jcf-parse.c:1638
+ #, gcc-internal-format
+ msgid "missing Code attribute"
+ msgstr "Code özniteliği eksik"
+
+-#: java/jcf-parse.c:1858
++#: java/jcf-parse.c:1860
+ #, gcc-internal-format
+ msgid "no input file specified"
+ msgstr "girdi dosyası belirtilmedi"
+
+-#: java/jcf-parse.c:1893
++#: java/jcf-parse.c:1895
+ #, gcc-internal-format
+ msgid "can't close input file %s: %m"
+ msgstr "girdi dosyası %s kapatılamıyor: %m"
+
+-#: java/jcf-parse.c:1940
++#: java/jcf-parse.c:1942
+ #, gcc-internal-format
+ msgid "bad zip/jar file %s"
+ msgstr "zip/jar dosyası %s hatalı"
+
+-#: java/jcf-parse.c:2145
++#: java/jcf-parse.c:2152
+ #, gcc-internal-format
+ msgid "error while reading %s from zip file"
+ msgstr "zip dosyasından %s okunurken hata"
+@@ -33023,22 +33059,22 @@
+ msgid "warning: already-compiled .class files ignored with -C"
+ msgstr "UYARI: zaten derlenmiş olan .class dosyaları -C ile yoksayıldı"
+
+-#: java/lang.c:590
++#: java/lang.c:594
+ #, gcc-internal-format
+ msgid "-findirect-dispatch is incompatible with -freduced-reflection"
+ msgstr ""
+
+-#: java/lang.c:593
++#: java/lang.c:597
+ #, fuzzy, gcc-internal-format
+ msgid "-fjni is incompatible with -freduced-reflection"
+ msgstr "-G öntanımlı olan PIC kodu ile uyumsuz"
+
+-#: java/lang.c:604
++#: java/lang.c:608
+ #, gcc-internal-format
+ msgid "can't do dependency tracking with input from stdin"
+ msgstr "Standart girdiden girdili bağımlılık izlemesi yapılamaz"
+
+-#: java/lang.c:620
++#: java/lang.c:624
+ #, gcc-internal-format
+ msgid "couldn't determine target name for dependency tracking"
+ msgstr "bağımlılık izlemesi için hedef isim saptanamıyor"
+@@ -33523,6 +33559,63 @@
+ #~ msgid "Given N calls and V call-clobbered vars in a function. Use .GLOBAL_VAR if NxV is larger than this limit"
+ #~ msgstr "Bir işlevde N çağrı ve V çağrı taşırmalı değişken verilir. Eğer NxV bu sınırdan daha büyükse .GLOBAL_VAR kullanın"
+
++#~ msgid "using CONST_DOUBLE for address"
++#~ msgstr "adres için CONST_DOUBLE kullanılıyor"
++
++#~ msgid "c4x_address_cost: Invalid addressing mode"
++#~ msgstr "c4x_address_cost: Adresleme kipi geçersiz"
++
++#~ msgid "c4x_print_operand: %%L inconsistency"
++#~ msgstr "c4x_print_operand: %%L uyumsuzlugu"
++
++#~ msgid "c4x_print_operand: %%N inconsistency"
++#~ msgstr "c4x_print_operand: %%N uyumsuzlugu"
++
++#~ msgid "c4x_print_operand: %%O inconsistency"
++#~ msgstr "c4x_print_operand: %%O uyumsuzlugu"
++
++#~ msgid "c4x_print_operand: Bad operand case"
++#~ msgstr "c4x_print_operand: Hatalı terim case"
++
++#~ msgid "c4x_print_operand_address: Bad post_modify"
++#~ msgstr "c4x_print_operand_address: Hatalı post_modify"
++
++#~ msgid "c4x_print_operand_address: Bad pre_modify"
++#~ msgstr "c4x_print_operand_address: Hatalı pre_modify"
++
++#~ msgid "c4x_print_operand_address: Bad operand case"
++#~ msgstr "c4x_print_operand_address: Hatalı terim case"
++
++#~ msgid "c4x_rptb_insert: Cannot find start label"
++#~ msgstr "c4x_rptb_insert: Başlangic etiketi bulunamıyor"
++
++#~ msgid "invalid indirect memory address"
++#~ msgstr "geçersiz dolaylı bellek adresi"
++
++#~ msgid "invalid indirect (S) memory address"
++#~ msgstr "dolaylı (S) bellek adresi geçersiz"
++
++#~ msgid "c4x_valid_operands: Internal error"
++#~ msgstr "c4x_valid_operands: İç hata"
++
++#~ msgid "c4x_operand_subword: invalid mode"
++#~ msgstr "c4x_operand_subword: geçersiz kip"
++
++#~ msgid "c4x_operand_subword: invalid operand"
++#~ msgstr "c4x_operand_subword: geçersiz terim"
++
++#~ msgid "c4x_operand_subword: invalid autoincrement"
++#~ msgstr "c4x_operand_subword: otomatik arttırma geçersiz"
++
++#~ msgid "c4x_operand_subword: invalid address"
++#~ msgstr "c4x_operand_subword: geçersiz adres"
++
++#~ msgid "c4x_operand_subword: address not offsettable"
++#~ msgstr "c4x_operand_subword: adres konumlanabilir deÄŸil"
++
++#~ msgid "c4x_rptb_rpts_p: Repeat block top label moved"
++#~ msgstr "c4x_rptb_rpts_p: Tekrar bloku tepe etiketi taşındı"
++
+ #~ msgid "PRINT_OPERAND, invalid insn for %%C"
+ #~ msgstr "PRINT_OPERAND, %%C için geçersiz komut"
+
+@@ -33553,6 +33646,9 @@
+ #~ msgid "Arithmetic overflow converting %s to %s at %L"
+ #~ msgstr "%s ile %s arasındaki dönüşümde %L için aritmetik üstten taşma"
+
++#~ msgid "Missing DIM parameter in intrinsic '%s' at %L"
++#~ msgstr "'%s' yerleÅŸiÄŸindeki DIM parametresi eksik (%L'de)"
++
+ #~ msgid "Enumerator cannot be array at %C"
+ #~ msgstr "Sayısal sabit %C'de dizi olamaz"
+
+@@ -33595,6 +33691,18 @@
+ #~ msgid "Fortran 95 requires default INTEGER in IOSTAT tag at %L"
+ #~ msgstr "Fortran 95 %L'de IOSTAT etiketinde öntanımlı INTEGER gerektirir"
+
++#~ msgid "STAT variable '%s' of DEALLOCATE statement at %C cannot be INTENT(IN)"
++#~ msgstr "DEALLOCATE deyiminin '%s' STAT deÄŸiÅŸkeni INTENT(IN) olamaz (%L'de)"
++
++#~ msgid "Illegal STAT variable in DEALLOCATE statement at %C for a PURE procedure"
++#~ msgstr "%C'deki DEALLOCATE deyiminde PURE yordamı için kuraldışı STAT değişkeni"
++
++#~ msgid "Previously initialized symbol '%s' in blank COMMON block at %C"
++#~ msgstr "Boş COMMON bloku içinde evvelce ilklendirilmiş '%s' simgesi (%C'de)"
++
++#~ msgid "Previously initialized symbol '%s' in COMMON block '%s' at %C"
++#~ msgstr "Evvelce ilklendirilmiş '%s' simgesi '%s' COMMON blokunun içinde (%C'de)"
++
+ #~ msgid "Assumed shape array '%s' in namelist '%s' at %C is an extension."
+ #~ msgstr "'%s' tahmini biçim dizisi '%s' isim listesinde bir eklentidir (%C'de)."
+
+@@ -33610,6 +33718,9 @@
+ #~ msgid "Real number at %C has a 'q' exponent and an explicit kind"
+ #~ msgstr "%C'deki gerçel sayı bir 'q' üssü ve aleni çeşit içeriyor"
+
++#~ msgid "Expected VARIABLE at %C"
++#~ msgstr "%C'de VARIABLE umuluyordu"
++
+ #~ msgid "Generic function '%s' at %L is not an intrinsic function"
+ #~ msgstr "Soysal iÅŸlev '%s' (%L'de) bir yerleÅŸik iÅŸlev deÄŸil"
+
+@@ -33625,8 +33736,8 @@
+ #~ msgid "A FORALL index must not appear in a limit or stride expression in the same FORALL at %L"
+ #~ msgstr "Bir FORALL indisi %L'de FORALL'daki ile aynı bir sınır veya adım ifadesinde bulunmamalıdır"
+
+-#~ msgid "Derived type variable '%s' at %L with default initializer cannot be an EQUIVALENCE object"
+-#~ msgstr "Türetilmiş tür değişkeni '%s' %L'de öntanımlı ilklendiriciyle bir EQUIVALENCE nesnesi olamaz"
++#~ msgid "STAT tag in DEALLOCATE statement at %L must be of type INTEGER"
++#~ msgstr "%L'de DEALLOCATE deyimindeki STAT etiketi INTEGER türde olmalı"
+
+ #~ msgid "Initialized objects '%s' and '%s' cannot both be in the EQUIVALENCE statement at %L"
+ #~ msgstr "Ä°lklendirilmiÅŸ '%s' ve '%s' nesnelerinin ikisi birden %L'deki EQUIVALENCE deyiminde olamaz"
+@@ -33813,6 +33924,75 @@
+ #~ msgid "Use STACK as the initial value of the stack pointer"
+ #~ msgstr "Yığıt göstericisinin ilk değeri olarak YIĞIT kullanılır"
+
++#~ msgid "Generate code for C31 CPU"
++#~ msgstr "Kod C31 için üretilir"
++
++#~ msgid "Generate code for C32 CPU"
++#~ msgstr "Kod C32 için üretilir"
++
++#~ msgid "Generate code for C33 CPU"
++#~ msgstr "Kod C33 için üretilir"
++
++#~ msgid "Generate code for C44 CPU"
++#~ msgstr "Kod C44 için üretilir"
++
++#~ msgid "Assume that pointers may be aliased"
++#~ msgstr "Göstericilerin rumuzlu olabilecekleri varsayılır"
++
++#~ msgid "Big memory model"
++#~ msgstr "Büyük bellek modeli"
++
++#~ msgid "Use the BK register as a general purpose register"
++#~ msgstr "BK yazmacı genel amaçlı yazmaç olarak kullanılır"
++
++#~ msgid "Generate code for CPU"
++#~ msgstr "İşlemci için kod üretilir"
++
++#~ msgid "Enable new features under development"
++#~ msgstr "Geliştirilmekte olan yeni özellikler etkin olur"
++
++#~ msgid "Use fast but approximate float to integer conversion"
++#~ msgstr "Kayan noktadan tamsayıya dönüşümler hızlı fakat sonuç yaklaşık olur"
++
++#~ msgid "Force RTL generation to emit valid 3 operand insns"
++#~ msgstr "RTL üretiminde geçerli 3 terimli komut üretmeye zorlar"
++
++#~ msgid "Force constants into registers to improve hoisting"
++#~ msgstr "Kaldırmayı iyileştirmek için sabitleri yazmaçlarda saklar"
++
++#~ msgid "Save DP across ISR in small memory model"
++#~ msgstr "Küçük bellek modelinde DP'yi ISR'da saklar"
++
++#~ msgid "Allow unsigned iteration counts for RPTB/DB"
++#~ msgstr "RPTB/DB için yineleme sayılarının unsigned olmasına izin verir"
++
++#~ msgid "Pass arguments on the stack"
++#~ msgstr "Yığıttaki argümanlar aktarılır"
++
++#~ msgid "Use MPYI instruction for C3x"
++#~ msgstr "C3x için MPYI komutu kullanılır"
++
++#~ msgid "Enable parallel instructions"
++#~ msgstr "KoÅŸut komutlar etkin olur"
++
++#~ msgid "Enable MPY||ADD and MPY||SUB instructions"
++#~ msgstr "MPY||ADD ve MPY||SUB komutları etkin olur"
++
++#~ msgid "Preserve all 40 bits of FP reg across call"
++#~ msgstr "Çağrıda FP yazmacının bütün 40 bitini korur"
++
++#~ msgid "Pass arguments in registers"
++#~ msgstr "Yazmaçlardaki argümanlar aktarılır"
++
++#~ msgid "Enable use of RTPS instruction"
++#~ msgstr "RTPS komutunun kullanımı etkin olur"
++
++#~ msgid "Small memory model"
++#~ msgstr "Küçük bellek modeli"
++
++#~ msgid "Emit code compatible with TI tools"
++#~ msgstr "TI araçları ile uyumlu kod üretilir"
++
+ #~ msgid "Use SVR4-style PIC"
+ #~ msgstr "SVR4 tarzı PIC kullanılır"
+
+@@ -33831,6 +34011,9 @@
+ #~ msgid "Make string literals \"const char[]\" not \"char[]\""
+ #~ msgstr "Dizge sabitler \"char[]\" değil \"const char[]\" yapılır"
+
++#~ msgid "Copy memory address constants into registers before use"
++#~ msgstr "Kullanmadan önce bellek adres sabitlerini yazmaçlara kopyalar"
++
+ #~ msgid "Copy memory operands into registers before use"
+ #~ msgstr "Kullanmadan önce bellek terimlerini yazmaçlara kopyalar"
+
+@@ -33864,6 +34047,9 @@
+ #~ msgid "GCC does not yet properly implement %<[*]%> array declarators"
+ #~ msgstr "GCC %<[*]%> dizi bildirimlerini henüz olması gerektiği gibi gerçeklemiyor"
+
++#~ msgid "static or type qualifiers in abstract declarator"
++#~ msgstr "kuramsal bildirimde 'static' ya da tür niteleyiciler"
++
+ #~ msgid "thread-local storage not supported for this target"
+ #~ msgstr "bu hedefte yerel evreli saklama desteklenmiyor"
+
+@@ -33937,6 +34123,24 @@
+ #~ msgid "no-op convert from %wd to %wd bytes in initializer"
+ #~ msgstr "ilklendiricide %wd bayttan %wd bayta no-op dönüşümü"
+
++#~ msgid "missing '(' after '#pragma %s' - ignored"
++#~ msgstr "'#pragma %s' den sonra '(' eksik - yoksayıldı"
++
++#~ msgid "missing function name in '#pragma %s' - ignored"
++#~ msgstr "'#pragma %s' içinde işlev ismi eksik - yoksayıldı"
++
++#~ msgid "malformed '#pragma %s' - ignored"
++#~ msgstr "'#pragma %s' bozuk - yoksayıldı"
++
++#~ msgid "missing section name in '#pragma %s' - ignored"
++#~ msgstr "'#pragma %s' içinde bölüm ismi eksik - yoksayıldı"
++
++#~ msgid "missing ')' for '#pragma %s' - ignored"
++#~ msgstr "'#pragma %s' için ')' eksik - yoksayıldı"
++
++#~ msgid "ISR %s requires %d words of local vars, max is 32767"
++#~ msgstr "ISR %s yerel değişkenlerin %d sözcüğünü gerektiriyor, azamisi 32767"
++
+ #~ msgid "code model %<large%> not supported yet"
+ #~ msgstr "%<large%> kod modeli henüz desteklenmiyor"
+
+@@ -33985,6 +34189,9 @@
+ #~ msgid " bytes"
+ #~ msgstr " bayttır"
+
++#~ msgid "constant arithmetic operand out of range"
++#~ msgstr "sabit aritmetik terim aralık dışında"
++
+ #~ msgid "unable to call pointer to member function here"
+ #~ msgstr "buradan üye işlev göstericisi çağrılamaz"
+
+@@ -34077,6 +34284,10 @@
+ #~ msgid "%qD does not declare a template type"
+ #~ msgstr "%qD bir şablon türü bildirmiyor"
+
++#, fuzzy
++#~ msgid "used %d template parameter(s) instead of %d"
++#~ msgstr "%2$d yerine %1$d şablon parametresi kullanılmış"
++
+ #~ msgid "%qE is not a valid template argument for type %qT because it is not a constant pointer"
+ #~ msgstr "%qE %qT türü için geçerli bir şablon argümanı değil çünkü o bir sabit göstericisi değildir"
+
+Index: gcc/po/ru.po
+===================================================================
+--- gcc/po/ru.po (.../tags/gcc_4_3_0_release) (revision 133808)
++++ gcc/po/ru.po (.../branches/gcc-4_3-branch) (revision 133808)
+@@ -9,7 +9,7 @@
+ msgstr ""
+ "Project-Id-Version: gcc 4.3-b20071109\n"
+ "Report-Msgid-Bugs-To: http://gcc.gnu.org/bugs.html\n"
+-"POT-Creation-Date: 2007-11-08 21:09+0000\n"
++"POT-Creation-Date: 2008-03-05 17:23+0100\n"
+ "PO-Revision-Date: 2008-02-06 15:29+0200\n"
+ "Last-Translator: Pavel Maryanov <acid_jack@ukr.net>\n"
+ "Language-Team: Russian <gnu@mx.ru>\n"
+@@ -18,7 +18,7 @@
+ "Content-Transfer-Encoding: 8bit\n"
+ "Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+-#: c-decl.c:3814
++#: c-decl.c:3813
+ msgid "<anonymous>"
+ msgstr "<anonymous>"
+
+@@ -299,53 +299,53 @@
+ msgid "End of search list.\n"
+ msgstr "конец ÑпиÑка поиÑка\n"
+
+-#: c-opts.c:1484
++#: c-opts.c:1505
+ msgid "<built-in>"
+ msgstr "<built-in>"
+
+-#: c-opts.c:1502
++#: c-opts.c:1523
+ msgid "<command-line>"
+ msgstr "<command-line>"
+
+-#: c-typeck.c:2448 c-typeck.c:4851 c-typeck.c:4853 c-typeck.c:4861
+-#: c-typeck.c:4891 c-typeck.c:6267
++#: c-typeck.c:2459 c-typeck.c:4862 c-typeck.c:4864 c-typeck.c:4872
++#: c-typeck.c:4902 c-typeck.c:6278
+ msgid "initializer element is not constant"
+ msgstr "Ñлемент инициализатора не ÑвлÑетÑÑ ÐºÐ¾Ð½Ñтантой"
+
+-#: c-typeck.c:4654
++#: c-typeck.c:4665
+ msgid "array initialized from parenthesized string constant"
+ msgstr "Ð¸Ð½Ð¸Ñ†Ð¸Ð°Ð»Ð¸Ð·Ð°Ñ†Ð¸Ñ Ñимвольного маÑÑива Ñтрокой в Ñкобках"
+
+-#: c-typeck.c:4715 cp/typeck2.c:677
++#: c-typeck.c:4726 cp/typeck2.c:677
+ #, gcc-internal-format
+ msgid "char-array initialized from wide string"
+ msgstr "Ð¸Ð½Ð¸Ñ†Ð¸Ð°Ð»Ð¸Ð·Ð°Ñ†Ð¸Ñ Ñимвольного маÑÑива Ñтрокой широких Ñимволов"
+
+-#: c-typeck.c:4720
++#: c-typeck.c:4731
+ msgid "wchar_t-array initialized from non-wide string"
+ msgstr "маÑÑив Ñимволов типа wchar_t инициализирован Ñтрокой обычных Ñимволов"
+
+-#: c-typeck.c:4738 cp/typeck2.c:697
++#: c-typeck.c:4749 cp/typeck2.c:697
+ #, gcc-internal-format
+ msgid "initializer-string for array of chars is too long"
+ msgstr "Ñлишком Ð´Ð»Ð¸Ð½Ð½Ð°Ñ Ñтрока инициализации Ð´Ð»Ñ Ñимвольного маÑÑива"
+
+-#: c-typeck.c:4744
++#: c-typeck.c:4755
+ msgid "array of inappropriate type initialized from string constant"
+ msgstr "Ð¸Ð½Ð¸Ñ†Ð¸Ð°Ð»Ð¸Ð·Ð°Ñ†Ð¸Ñ Ð¼Ð°ÑÑива неÑоответÑтвующего типа Ñтроковой конÑтантой"
+
+ #. ??? This should not be an error when inlining calls to
+ #. unprototyped functions.
+-#: c-typeck.c:4808 c-typeck.c:4333 cp/typeck.c:1528
++#: c-typeck.c:4819 c-typeck.c:4344 cp/typeck.c:1574
+ #, gcc-internal-format
+ msgid "invalid use of non-lvalue array"
+ msgstr "некорректное иÑпользование маÑÑива, не ÑвлÑющегоÑÑ Ð»ÐµÐ²Ð¾Ð¹ чаÑтью приÑваиваниÑ"
+
+-#: c-typeck.c:4834
++#: c-typeck.c:4845
+ msgid "array initialized from non-constant array expression"
+ msgstr "Ð¸Ð½Ð¸Ñ†Ð¸Ð°Ð»Ð¸Ð·Ð°Ñ†Ð¸Ñ Ð¼Ð°ÑÑива неконÑтантным выражением"
+
+-#: c-typeck.c:4898 c-typeck.c:6271
++#: c-typeck.c:4909 c-typeck.c:6282
+ #, gcc-internal-format
+ msgid "initializer element is not computable at load time"
+ msgstr "инициализирующий Ñлемент не может быть вычиÑлен во Ð²Ñ€ÐµÐ¼Ñ ÐºÐ¾Ð¼Ð¿Ð¾Ð½Ð¾Ð²ÐºÐ¸"
+@@ -354,140 +354,140 @@
+ #. of VLAs themselves count as VLAs, it does not make
+ #. sense to permit them to be initialized given that
+ #. ordinary VLAs may not be initialized.
+-#: c-typeck.c:4909 c-decl.c:3222 c-decl.c:3237
++#: c-typeck.c:4920 c-decl.c:3220 c-decl.c:3235
+ #, gcc-internal-format
+ msgid "variable-sized object may not be initialized"
+ msgstr "объект переменного размера Ð½ÐµÐ»ÑŒÐ·Ñ Ð¸Ð½Ð¸Ñ†Ð¸Ð°Ð»Ð¸Ð·Ð¸Ñ€Ð¾Ð²Ð°Ñ‚ÑŒ"
+
+-#: c-typeck.c:4913
++#: c-typeck.c:4924
+ msgid "invalid initializer"
+ msgstr "неверный инициализатор"
+
+-#: c-typeck.c:5387
++#: c-typeck.c:5398
+ msgid "extra brace group at end of initializer"
+ msgstr "избыточные фигурные Ñкобки в конце инициализатора"
+
+-#: c-typeck.c:5407
++#: c-typeck.c:5418
+ msgid "missing braces around initializer"
+ msgstr "отÑутÑтвуют фигурные Ñкобки вокруг инициализатора"
+
+-#: c-typeck.c:5468
++#: c-typeck.c:5479
+ msgid "braces around scalar initializer"
+ msgstr "фигурные Ñкобки вокруг ÑкалÑрного инициализатора"
+
+-#: c-typeck.c:5525
++#: c-typeck.c:5536
+ msgid "initialization of flexible array member in a nested context"
+ msgstr "Ð¸Ð½Ð¸Ñ†Ð¸Ð°Ð»Ð¸Ð·Ð°Ñ†Ð¸Ñ Ñлемента регулируемого Ñлемента-маÑÑива во вложенном контекÑте"
+
+-#: c-typeck.c:5527
++#: c-typeck.c:5538
+ msgid "initialization of a flexible array member"
+ msgstr "Ð¸Ð½Ð¸Ñ†Ð¸Ð°Ð»Ð¸Ð·Ð°Ñ†Ð¸Ñ Ñ€ÐµÐ³ÑƒÐ»Ð¸Ñ€ÑƒÐµÐ¼Ð¾Ð³Ð¾ Ñлемента-маÑÑива"
+
+-#: c-typeck.c:5554
++#: c-typeck.c:5565
+ msgid "missing initializer"
+ msgstr "пропущен инициализатор"
+
+-#: c-typeck.c:5576
++#: c-typeck.c:5587
+ msgid "empty scalar initializer"
+ msgstr "пуÑтой ÑкалÑрный инициализатор"
+
+-#: c-typeck.c:5581
++#: c-typeck.c:5592
+ msgid "extra elements in scalar initializer"
+ msgstr "избыточные Ñлементы в ÑкалÑрном инициализаторе"
+
+-#: c-typeck.c:5678 c-typeck.c:5738
++#: c-typeck.c:5689 c-typeck.c:5749
+ msgid "array index in non-array initializer"
+ msgstr "Ð¸Ð½Ð´ÐµÐºÑ Ð¼Ð°ÑÑива в инициализаторе не Ð´Ð»Ñ Ð¼Ð°ÑÑива"
+
+-#: c-typeck.c:5683 c-typeck.c:5791
++#: c-typeck.c:5694 c-typeck.c:5802
+ msgid "field name not in record or union initializer"
+ msgstr "Ð¸Ð¼Ñ Ð¿Ð¾Ð»Ñ Ð² инициализаторе не Ð´Ð»Ñ Ñтруктуры или объединениÑ"
+
+-#: c-typeck.c:5729
++#: c-typeck.c:5740
+ msgid "array index in initializer not of integer type"
+ msgstr "Ð¸Ð½Ð´ÐµÐºÑ Ð¼Ð°ÑÑива в инициализации не целого типа"
+
+-#: c-typeck.c:5734 c-typeck.c:5736
++#: c-typeck.c:5745 c-typeck.c:5747
+ msgid "nonconstant array index in initializer"
+ msgstr "неконÑтантный Ð¸Ð½Ð´ÐµÐºÑ Ð¼Ð°ÑÑива в инициализаторе"
+
+-#: c-typeck.c:5740 c-typeck.c:5743
++#: c-typeck.c:5751 c-typeck.c:5754
+ msgid "array index in initializer exceeds array bounds"
+ msgstr "Ð¸Ð½Ð´ÐµÐºÑ Ð¼Ð°ÑÑива в инициализаторе - за границами маÑÑива"
+
+-#: c-typeck.c:5754
++#: c-typeck.c:5765
+ msgid "empty index range in initializer"
+ msgstr "пуÑтой диапазон индекÑов в инициализаторе"
+
+-#: c-typeck.c:5763
++#: c-typeck.c:5774
+ msgid "array index range in initializer exceeds array bounds"
+ msgstr "диапазон индекÑов маÑÑива в инициализаторе - за границами маÑÑива"
+
+-#: c-typeck.c:5838 c-typeck.c:5861 c-typeck.c:6335
++#: c-typeck.c:5849 c-typeck.c:5872 c-typeck.c:6346
+ msgid "initialized field with side-effects overwritten"
+ msgstr "Ð¿Ð¾Ð²Ñ‚Ð¾Ñ€Ð½Ð°Ñ Ð¸Ð½Ð¸Ñ†Ð¸Ð°Ð»Ð¸Ð·Ð°Ñ†Ð¸Ñ Ð¿Ð¾Ð»Ñ Ñ Ð¿Ð¾Ð±Ð¾Ñ‡Ð½Ñ‹Ð¼Ð¸ Ñффектами"
+
+-#: c-typeck.c:5840 c-typeck.c:5863 c-typeck.c:6337
++#: c-typeck.c:5851 c-typeck.c:5874 c-typeck.c:6348
+ msgid "initialized field overwritten"
+ msgstr "инициализированное поле перепиÑано"
+
+-#: c-typeck.c:6545
++#: c-typeck.c:6556
+ msgid "excess elements in char array initializer"
+ msgstr "избыточные Ñлементы в инициализаторе Ñимвольного маÑÑива"
+
+-#: c-typeck.c:6552 c-typeck.c:6598
++#: c-typeck.c:6563 c-typeck.c:6609
+ msgid "excess elements in struct initializer"
+ msgstr "избыточные Ñлементы в инициализаторе Ñтруктуры"
+
+-#: c-typeck.c:6613
++#: c-typeck.c:6624
+ msgid "non-static initialization of a flexible array member"
+ msgstr "не ÑтатичеÑÐºÐ°Ñ Ð¸Ð½Ð¸Ñ†Ð¸Ð°Ð»Ð¸Ð·Ð°Ñ†Ð¸Ñ Ñ€ÐµÐ³ÑƒÐ»Ð¸Ñ€ÑƒÐµÐ¼Ð¾Ð³Ð¾ Ñлемента-маÑÑива в Ñтруктуре"
+
+-#: c-typeck.c:6681
++#: c-typeck.c:6692
+ msgid "excess elements in union initializer"
+ msgstr "избыточные Ñлементы в инициализаторе объединениÑ"
+
+-#: c-typeck.c:6768
++#: c-typeck.c:6779
+ msgid "excess elements in array initializer"
+ msgstr "избыточные Ñлементы в инициализаторе маÑÑива"
+
+-#: c-typeck.c:6798
++#: c-typeck.c:6809
+ msgid "excess elements in vector initializer"
+ msgstr "избыточные Ñлементы в инициализаторе вектора"
+
+-#: c-typeck.c:6822
++#: c-typeck.c:6833
+ msgid "excess elements in scalar initializer"
+ msgstr "избыточные Ñлементы в инициализаторе ÑкалÑра"
+
+-#: cfgrtl.c:1925
++#: cfgrtl.c:1923
+ msgid "flow control insn inside a basic block"
+ msgstr "инÑÑ‚Ñ€ÑƒÐºÑ†Ð¸Ñ ÑƒÐ¿Ñ€Ð°Ð²Ð»ÐµÐ½Ð¸Ñ Ð¿Ð¾Ñ‚Ð¾ÐºÐ¾Ð¼ Ð²Ñ‹Ð¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ñ - внутри блока"
+
+-#: cfgrtl.c:2054
++#: cfgrtl.c:2052
+ msgid "wrong insn in the fallthru edge"
+ msgstr "Ð½ÐµÐºÐ¾Ñ€Ñ€ÐµÐºÑ‚Ð½Ð°Ñ RTL-инÑÑ‚Ñ€ÑƒÐºÑ†Ð¸Ñ Ð² Ñквозной дуге"
+
+-#: cfgrtl.c:2110
++#: cfgrtl.c:2108
+ msgid "insn outside basic block"
+ msgstr "RTL-инÑÑ‚Ñ€ÑƒÐºÑ†Ð¸Ñ - вне блока"
+
+-#: cfgrtl.c:2117
++#: cfgrtl.c:2115
+ msgid "return not followed by barrier"
+ msgstr "отÑутÑтвует барьер поÑле return"
+
+-#: cgraph.c:339 ipa-inline.c:417
++#: cgraph.c:340 ipa-inline.c:417
+ msgid "function body not available"
+ msgstr "тело функции недоÑтупно"
+
+-#: cgraph.c:341 cgraphbuild.c:96
++#: cgraph.c:342 cgraphbuild.c:96
+ msgid "redefined extern inline functions are not considered for inlining"
+ msgstr "inline-функции, переопределённые как extern, не подлежат подÑтановке"
+
+-#: cgraph.c:344 cgraphbuild.c:103
++#: cgraph.c:345 cgraphbuild.c:103
+ msgid "function not considered for inlining"
+ msgstr "Ñ„ÑƒÐ½ÐºÑ†Ð¸Ñ Ð½Ðµ подлежит inline-подÑтановке"
+
+-#: cgraph.c:346 cgraphbuild.c:99
++#: cgraph.c:347 cgraphbuild.c:99
+ msgid "function not inlinable"
+ msgstr "inline-подÑтановка функции невозможна"
+
+@@ -495,87 +495,87 @@
+ msgid "mismatched arguments"
+ msgstr "неÑовпадающие аргументы"
+
+-#: collect2.c:378 gcc.c:6897
++#: collect2.c:382 gcc.c:6896
+ #, c-format
+ msgid "internal gcc abort in %s, at %s:%d"
+ msgstr "аварийный выход в %s, в %s:%d"
+
+-#: collect2.c:889
++#: collect2.c:903
+ #, c-format
+ msgid "no arguments"
+ msgstr "отÑутÑтвуют аргументы"
+
+-#: collect2.c:1263 collect2.c:1411 collect2.c:1446
++#: collect2.c:1277 collect2.c:1425 collect2.c:1460
+ #, c-format
+ msgid "fopen %s"
+ msgstr "fopen %s"
+
+-#: collect2.c:1266 collect2.c:1416 collect2.c:1449
++#: collect2.c:1280 collect2.c:1430 collect2.c:1463
+ #, c-format
+ msgid "fclose %s"
+ msgstr "fclose %s"
+
+-#: collect2.c:1275
++#: collect2.c:1289
+ #, c-format
+ msgid "collect2 version %s"
+ msgstr "collect2 верÑÐ¸Ñ %s"
+
+-#: collect2.c:1365
++#: collect2.c:1379
+ #, c-format
+ msgid "%d constructor(s) found\n"
+ msgstr "найдено %d конÑтруктор(ов)\n"
+
+-#: collect2.c:1366
++#: collect2.c:1380
+ #, c-format
+ msgid "%d destructor(s) found\n"
+ msgstr "найдено %d деÑтруктор(ов)\n"
+
+-#: collect2.c:1367
++#: collect2.c:1381
+ #, c-format
+ msgid "%d frame table(s) found\n"
+ msgstr "найдено %d таблиц кадров\n"
+
+-#: collect2.c:1504
++#: collect2.c:1518
+ #, c-format
+ msgid "can't get program status"
+ msgstr "не удалоÑÑŒ получить ÑоÑтоÑние программы"
+
+-#: collect2.c:1573
++#: collect2.c:1587
+ #, c-format
+ msgid "could not open response file %s"
+ msgstr "не удалоÑÑŒ найти отзыва %s"
+
+-#: collect2.c:1578
++#: collect2.c:1592
+ #, c-format
+ msgid "could not write to response file %s"
+ msgstr "не удалоÑÑŒ запиÑать файл отзыва %s"
+
+-#: collect2.c:1583
++#: collect2.c:1597
+ #, c-format
+ msgid "could not close response file %s"
+ msgstr "не удалоÑÑŒ закрыть файл отзыва %s"
+
+-#: collect2.c:1601
++#: collect2.c:1615
+ #, c-format
+ msgid "[cannot find %s]"
+ msgstr "[не найдена программа %s]"
+
+-#: collect2.c:1616
++#: collect2.c:1630
+ #, c-format
+ msgid "cannot find '%s'"
+ msgstr "не удалоÑÑŒ найти '%s'"
+
+-#: collect2.c:1620 collect2.c:2112 collect2.c:2267 gcc.c:2978
++#: collect2.c:1634 collect2.c:2126 collect2.c:2281 gcc.c:2974
+ #, c-format
+ msgid "pex_init failed"
+ msgstr "ошибка в pex_init"
+
+-#: collect2.c:1658
++#: collect2.c:1672
+ #, c-format
+ msgid "[Leaving %s]\n"
+ msgstr "[Выход из %s]\n"
+
+-#: collect2.c:1878
++#: collect2.c:1892
+ #, c-format
+ msgid ""
+ "\n"
+@@ -584,32 +584,32 @@
+ "\n"
+ "write_c_file - выходное Ð¸Ð¼Ñ %s, Ð¿Ñ€ÐµÑ„Ð¸ÐºÑ %s\n"
+
+-#: collect2.c:2086
++#: collect2.c:2100
+ #, c-format
+ msgid "cannot find 'nm'"
+ msgstr "не удалоÑÑŒ найти 'nm'"
+
+-#: collect2.c:2133
++#: collect2.c:2147
+ #, c-format
+ msgid "can't open nm output"
+ msgstr "не удалоÑÑŒ открыть выходной файл nm"
+
+-#: collect2.c:2177
++#: collect2.c:2191
+ #, c-format
+ msgid "init function found in object %s"
+ msgstr "в объекте %s найдена Ñ„ÑƒÐ½ÐºÑ†Ð¸Ñ init"
+
+-#: collect2.c:2185
++#: collect2.c:2199
+ #, c-format
+ msgid "fini function found in object %s"
+ msgstr "в объекте %s найдена Ñ„ÑƒÐ½ÐºÑ†Ð¸Ñ fini"
+
+-#: collect2.c:2288
++#: collect2.c:2302
+ #, c-format
+ msgid "can't open ldd output"
+ msgstr "не удалоÑÑŒ открыть входной файл ldd"
+
+-#: collect2.c:2291
++#: collect2.c:2305
+ #, c-format
+ msgid ""
+ "\n"
+@@ -618,27 +618,27 @@
+ "\n"
+ "вывод ldd Ñ ÐºÐ¾Ð½Ñтрукторами/деÑтрукторами.\n"
+
+-#: collect2.c:2306
++#: collect2.c:2320
+ #, c-format
+ msgid "dynamic dependency %s not found"
+ msgstr "динамичеÑÐºÐ°Ñ Ð·Ð°Ð²Ð¸ÑимоÑÑ‚ÑŒ %s не найдена"
+
+-#: collect2.c:2318
++#: collect2.c:2332
+ #, c-format
+ msgid "unable to open dynamic dependency '%s'"
+ msgstr "не удалоÑÑŒ открыть динамичеÑкую завиÑимоÑÑ‚ÑŒ '%s'"
+
+-#: collect2.c:2474
++#: collect2.c:2488
+ #, c-format
+ msgid "%s: not a COFF file"
+ msgstr "%s: не COFF-файл"
+
+-#: collect2.c:2594
++#: collect2.c:2608
+ #, c-format
+ msgid "%s: cannot open as COFF file"
+ msgstr "%s: ошибка Ð¾Ñ‚ÐºÑ€Ñ‹Ñ‚Ð¸Ñ COFF-файла"
+
+-#: collect2.c:2652
++#: collect2.c:2666
+ #, c-format
+ msgid "library lib%s not found"
+ msgstr "не найдена библиотека lib%s"
+@@ -688,40 +688,40 @@
+ msgid "negative insn length"
+ msgstr "Ð¾Ñ‚Ñ€Ð¸Ñ†Ð°Ñ‚ÐµÐ»ÑŒÐ½Ð°Ñ Ð´Ð»Ð¸Ð½Ð° RTL-инÑтрукции"
+
+-#: final.c:2609
++#: final.c:2615
+ msgid "could not split insn"
+ msgstr "разбиение RTL-инÑтрукции невозможно"
+
+-#: final.c:2979
++#: final.c:2992
+ msgid "invalid 'asm': "
+ msgstr "Ð½ÐµÐºÐ¾Ñ€Ñ€ÐµÐºÑ‚Ð½Ð°Ñ Ð´Ð¸Ñ€ÐµÐºÑ‚Ð¸Ð²Ð° 'asm': "
+
+-#: final.c:3162
++#: final.c:3175
+ #, c-format
+ msgid "nested assembly dialect alternatives"
+ msgstr "вложенные альтернативы диалектов аÑÑемблера"
+
+-#: final.c:3179 final.c:3191
++#: final.c:3192 final.c:3204
+ #, c-format
+ msgid "unterminated assembly dialect alternative"
+ msgstr "Ð½ÐµÐ·Ð°Ð²ÐµÑ€ÑˆÑ‘Ð½Ð½Ð°Ñ Ð°Ð»ÑŒÑ‚ÐµÑ€Ð½Ð°Ñ‚Ð¸Ð²Ð° диалекта аÑÑемблера"
+
+-#: final.c:3238
++#: final.c:3251
+ #, c-format
+ msgid "operand number missing after %%-letter"
+ msgstr "не задан номер операнда поÑле %%-буква"
+
+-#: final.c:3241 final.c:3282
++#: final.c:3254 final.c:3295
+ #, c-format
+ msgid "operand number out of range"
+ msgstr "номер операнда вне диапазона"
+
+-#: final.c:3301
++#: final.c:3314
+ #, c-format
+ msgid "invalid %%-code"
+ msgstr "некорректный модификатор поÑле %%"
+
+-#: final.c:3331
++#: final.c:3344
+ #, c-format
+ msgid "'%%l' operand isn't a label"
+ msgstr "операнд '%%l' не ÑвлÑетÑÑ Ð¼ÐµÑ‚ÐºÐ¾Ð¹"
+@@ -732,13 +732,13 @@
+ #. handle them.
+ #. We can't handle floating point constants;
+ #. PRINT_OPERAND must handle them.
+-#: final.c:3433 vmsdbgout.c:487 config/i386/i386.c:8143
++#: final.c:3446 vmsdbgout.c:487 config/i386/i386.c:8198
+ #: config/pdp11/pdp11.c:1704
+ #, c-format
+ msgid "floating constant misused"
+ msgstr "некорректное употребление плавающей конÑтанты"
+
+-#: final.c:3493 vmsdbgout.c:544 config/i386/i386.c:8224
++#: final.c:3507 vmsdbgout.c:544 config/i386/i386.c:8279
+ #: config/pdp11/pdp11.c:1751
+ #, c-format
+ msgid "invalid expression as operand"
+@@ -749,7 +749,7 @@
+ msgid "Using built-in specs.\n"
+ msgstr "ИÑпользуютÑÑ Ð²Ð½ÑƒÑ‚Ñ€ÐµÐ½Ð½Ð¸Ðµ Ñпецификации.\n"
+
+-#: gcc.c:1887
++#: gcc.c:1883
+ #, c-format
+ msgid ""
+ "Setting spec %s to '%s'\n"
+@@ -758,42 +758,42 @@
+ "Ð¡Ð¿ÐµÑ†Ð¸Ñ„Ð¸ÐºÐ°Ñ†Ð¸Ñ %s уÑтановлена в '%s'\n"
+ "\n"
+
+-#: gcc.c:2002
++#: gcc.c:1998
+ #, c-format
+ msgid "Reading specs from %s\n"
+ msgstr "Спецификации прочитаны из %s\n"
+
+-#: gcc.c:2098 gcc.c:2117
++#: gcc.c:2094 gcc.c:2113
+ #, c-format
+ msgid "specs %%include syntax malformed after %ld characters"
+ msgstr "некорректный ÑинтакÑÐ¸Ñ Ñпецификации %%include поÑле %ld Ñимволов"
+
+-#: gcc.c:2125
++#: gcc.c:2121
+ #, c-format
+ msgid "could not find specs file %s\n"
+ msgstr "не найден файл Ñпецификаций %s\n"
+
+-#: gcc.c:2142 gcc.c:2150 gcc.c:2159 gcc.c:2168
++#: gcc.c:2138 gcc.c:2146 gcc.c:2155 gcc.c:2164
+ #, c-format
+ msgid "specs %%rename syntax malformed after %ld characters"
+ msgstr "некорректный ÑинтакÑÐ¸Ñ Ñпецификации %%rename поÑле %ld Ñимволов"
+
+-#: gcc.c:2177
++#: gcc.c:2173
+ #, c-format
+ msgid "specs %s spec was not found to be renamed"
+ msgstr "ÑÐ¿ÐµÑ†Ð¸Ñ„Ð¸ÐºÐ°Ñ†Ð¸Ñ %s, которую нужно переименовать, не найдена"
+
+-#: gcc.c:2184
++#: gcc.c:2180
+ #, c-format
+ msgid "%s: attempt to rename spec '%s' to already defined spec '%s'"
+ msgstr "%s: попытка переименовать '%s в уже определённую Ñпецификацию '%s'"
+
+-#: gcc.c:2189
++#: gcc.c:2185
+ #, c-format
+ msgid "rename spec %s to %s\n"
+ msgstr "переименование Ñпецификации %s в %s\n"
+
+-#: gcc.c:2191
++#: gcc.c:2187
+ #, c-format
+ msgid ""
+ "spec is '%s'\n"
+@@ -802,37 +802,37 @@
+ "ÑÐ¿ÐµÑ†Ð¸Ñ„Ð¸ÐºÐ°Ñ†Ð¸Ñ '%s'\n"
+ "\n"
+
+-#: gcc.c:2204
++#: gcc.c:2200
+ #, c-format
+ msgid "specs unknown %% command after %ld characters"
+ msgstr "Ð½ÐµÐ¾Ð¿Ð¾Ð·Ð½Ð°Ð½Ð½Ð°Ñ ÐºÐ¾Ð¼Ð°Ð½Ð´Ð° %% поÑле %ld Ñимволов"
+
+-#: gcc.c:2215 gcc.c:2228
++#: gcc.c:2211 gcc.c:2224
+ #, c-format
+ msgid "specs file malformed after %ld characters"
+ msgstr "ÑинтакÑÐ¸Ñ Ñ„Ð°Ð¹Ð»Ð° Ñпецификаций нарушен поÑле %ld Ñимволов"
+
+-#: gcc.c:2281
++#: gcc.c:2277
+ #, c-format
+ msgid "spec file has no spec for linking"
+ msgstr "в файле Ñпецификаций отÑутÑтвует ÑÐ¿ÐµÑ†Ð¸Ñ„Ð¸ÐºÐ°Ñ†Ð¸Ñ Ð´Ð»Ñ ÐºÐ¾Ð¼Ð¿Ð¾Ð½Ð¾Ð²ÐºÐ¸"
+
+-#: gcc.c:2609 gcc.c:4751
++#: gcc.c:2605 gcc.c:4745
+ #, c-format
+ msgid "%s\n"
+ msgstr "%s\n"
+
+-#: gcc.c:2809
++#: gcc.c:2805
+ #, c-format
+ msgid "system path '%s' is not absolute"
+ msgstr "путь '%s' в файловой ÑиÑтеме не ÑвлÑетÑÑ Ð°Ð±Ñолютным"
+
+-#: gcc.c:2872
++#: gcc.c:2868
+ #, c-format
+ msgid "-pipe not supported"
+ msgstr "ключ -pipe не поддерживаетÑÑ"
+
+-#: gcc.c:2934
++#: gcc.c:2930
+ #, c-format
+ msgid ""
+ "\n"
+@@ -842,15 +842,15 @@
+ "\n"
+ "Продолжать? (y - да, n - нет) "
+
+-#: gcc.c:3017
++#: gcc.c:3013
+ msgid "failed to get exit status"
+ msgstr "не удалоÑÑŒ получить ÑоÑтоÑние завершениÑ"
+
+-#: gcc.c:3023
++#: gcc.c:3019
+ msgid "failed to get process times"
+ msgstr "не удалоÑÑŒ вычиÑлить Ð²Ñ€ÐµÐ¼Ñ Ð¾Ð±Ñ€Ð°Ð±Ð¾Ñ‚ÐºÐ¸"
+
+-#: gcc.c:3049
++#: gcc.c:3045
+ #, c-format
+ msgid ""
+ "Internal error: %s (program %s)\n"
+@@ -861,77 +861,77 @@
+ "ПожалуйÑта, пришлите полный отчёт об ошибке.\n"
+ "См. инÑтрукции на %s."
+
+-#: gcc.c:3075
++#: gcc.c:3071
+ #, c-format
+ msgid "# %s %.2f %.2f\n"
+ msgstr "# %s %.2f %.2f\n"
+
+-#: gcc.c:3211
++#: gcc.c:3205
+ #, c-format
+ msgid "Usage: %s [options] file...\n"
+ msgstr "СинтакÑиÑ: %s [ключи] файл...\n"
+
+-#: gcc.c:3212
++#: gcc.c:3206
+ msgid "Options:\n"
+ msgstr "Ключи:\n"
+
+-#: gcc.c:3214
++#: gcc.c:3208
+ msgid " -pass-exit-codes Exit with highest error code from a phase\n"
+ msgstr " -pass-exit-codes Выход Ñ Ð¼Ð°ÐºÑимальным кодом возврата от прохода\n"
+
+-#: gcc.c:3215
++#: gcc.c:3209
+ msgid " --help Display this information\n"
+ msgstr " --help ВывеÑти Ñтот текÑÑ‚\n"
+
+-#: gcc.c:3216
++#: gcc.c:3210
+ msgid " --target-help Display target specific command line options\n"
+ msgstr " --target-help Показать ÑпецифичеÑкие ключи целевой платформы\n"
+
+-#: gcc.c:3217
++#: gcc.c:3211
+ msgid " --help={target|optimizers|warnings|undocumented|params}[,{[^]joined|[^]separate}]\n"
+ msgstr " --help={target|optimizers|warnings|undocumented|params}[,{[^]joined|[^]separate}]\n"
+
+-#: gcc.c:3218
++#: gcc.c:3212
+ msgid " Display specific types of command line options\n"
+ msgstr " Показать ÑпецифичеÑкие ключи командной Ñтроки\n"
+
+-#: gcc.c:3220
++#: gcc.c:3214
+ msgid " (Use '-v --help' to display command line options of sub-processes)\n"
+ msgstr " (Задайте '-v --help' Ð´Ð»Ñ Ð²Ñ‹Ð²Ð¾Ð´Ð° ключей вÑех проходов компилÑции)\n"
+
+-#: gcc.c:3221
++#: gcc.c:3215
+ msgid " -dumpspecs Display all of the built in spec strings\n"
+ msgstr " -dumpspecs Показать вÑтроенные Ñпецификации\n"
+
+-#: gcc.c:3222
++#: gcc.c:3216
+ msgid " -dumpversion Display the version of the compiler\n"
+ msgstr " -dumpversion Показать верÑию компилÑтора\n"
+
+-#: gcc.c:3223
++#: gcc.c:3217
+ msgid " -dumpmachine Display the compiler's target processor\n"
+ msgstr " -dumpmachine Показать Ð¸Ð¼Ñ Ñ†ÐµÐ»ÐµÐ²Ð¾Ð¹ платформы\n"
+
+-#: gcc.c:3224
++#: gcc.c:3218
+ msgid " -print-search-dirs Display the directories in the compiler's search path\n"
+ msgstr " -print-search-dirs Показать каталоги поиÑка\n"
+
+-#: gcc.c:3225
++#: gcc.c:3219
+ msgid " -print-libgcc-file-name Display the name of the compiler's companion library\n"
+ msgstr " -print-libgcc-file-name Показать Ð¸Ð¼Ñ run-time библиотеки компилÑтора\n"
+
+-#: gcc.c:3226
++#: gcc.c:3220
+ msgid " -print-file-name=<lib> Display the full path to library <lib>\n"
+ msgstr " -print-file-name=<биб> Показать полное маршрутное Ð¸Ð¼Ñ Ð±Ð¸Ð±Ð»Ð¸Ð¾Ñ‚ÐµÐºÐ¸ <биб>\n"
+
+-#: gcc.c:3227
++#: gcc.c:3221
+ msgid " -print-prog-name=<prog> Display the full path to compiler component <prog>\n"
+ msgstr " -print-prog-name=<прог> Показать полное Ð¸Ð¼Ñ ÐºÐ¾Ð¼Ð¿Ð¾Ð½ÐµÐ½Ñ‚Ñ‹ компилÑтора <прог>\n"
+
+-#: gcc.c:3228
++#: gcc.c:3222
+ msgid " -print-multi-directory Display the root directory for versions of libgcc\n"
+ msgstr " -print-multi-directory Показать корневой каталог Ñ Ð²ÐµÑ€ÑиÑми libgcc\n"
+
+-#: gcc.c:3229
++#: gcc.c:3223
+ msgid ""
+ " -print-multi-lib Display the mapping between command line options and\n"
+ " multiple library search directories\n"
+@@ -939,65 +939,65 @@
+ " -print-multi-lib Показать ÑоответÑтвие между ключами и каталогами\n"
+ " поиÑка библиотек\n"
+
+-#: gcc.c:3232
++#: gcc.c:3226
+ msgid " -print-multi-os-directory Display the relative path to OS libraries\n"
+ msgstr " -print-multi-os-directory Показать отноÑительный маршрут к библиотекам операционной ÑиÑтемы\n"
+
+-#: gcc.c:3233
++#: gcc.c:3227
+ msgid " -print-sysroot-headers-suffix Display the sysroot suffix used to find headers\n"
+ msgstr " -print-sysroot-headers-suffix ВывеÑти ÑÑƒÑ„Ñ„Ð¸ÐºÑ sysroot, иÑпользуемый Ð´Ð»Ñ Ð¿Ð¾Ð¸Ñка заголовочных файлов\n"
+
+-#: gcc.c:3234
++#: gcc.c:3228
+ msgid " -Wa,<options> Pass comma-separated <options> on to the assembler\n"
+ msgstr " -Wa,<ключи> Передать <ключи>, разделённые запÑтыми, аÑÑемблеру\n"
+
+-#: gcc.c:3235
++#: gcc.c:3229
+ msgid " -Wp,<options> Pass comma-separated <options> on to the preprocessor\n"
+ msgstr " -Wp,<ключи> Передать <ключи>, разделённые запÑтыми, препроцеÑÑору\n"
+
+-#: gcc.c:3236
++#: gcc.c:3230
+ msgid " -Wl,<options> Pass comma-separated <options> on to the linker\n"
+ msgstr " -Wl,<ключи> Передать <ключи>, разделённые запÑтыми, компоновщику\n"
+
+-#: gcc.c:3237
++#: gcc.c:3231
+ msgid " -Xassembler <arg> Pass <arg> on to the assembler\n"
+ msgstr " -Xassembler <арг> Передать <арг> аÑÑемблеру\n"
+
+-#: gcc.c:3238
++#: gcc.c:3232
+ msgid " -Xpreprocessor <arg> Pass <arg> on to the preprocessor\n"
+ msgstr " -Xpreprocessor <арг> Передать <арг> препроцеÑÑору\n"
+
+-#: gcc.c:3239
++#: gcc.c:3233
+ msgid " -Xlinker <arg> Pass <arg> on to the linker\n"
+ msgstr " -Xlinker <арг> Передать <арг> компоновщику\n"
+
+-#: gcc.c:3240
++#: gcc.c:3234
+ msgid " -combine Pass multiple source files to compiler at once\n"
+ msgstr " -combine Передать компилÑтору неÑколько иÑходных файлов вмеÑте\n"
+
+-#: gcc.c:3241
++#: gcc.c:3235
+ msgid " -save-temps Do not delete intermediate files\n"
+ msgstr " -save-temps Ðе удалÑÑ‚ÑŒ промежуточные файлы\n"
+
+-#: gcc.c:3242
++#: gcc.c:3236
+ msgid " -pipe Use pipes rather than intermediate files\n"
+ msgstr " -pipe Передавать промежуточные данные по конвейеру\n"
+
+-#: gcc.c:3243
++#: gcc.c:3237
+ msgid " -time Time the execution of each subprocess\n"
+ msgstr " -time Включить хронометраж проходов\n"
+
+-#: gcc.c:3244
++#: gcc.c:3238
+ msgid " -specs=<file> Override built-in specs with the contents of <file>\n"
+ msgstr ""
+ " -specs=<файл> ИÑпользовать <файл> Ñпецификаций вмеÑто \n"
+ " внутренних Ñпецификаций компилÑтора\n"
+
+-#: gcc.c:3245
++#: gcc.c:3239
+ msgid " -std=<standard> Assume that the input sources are for <standard>\n"
+ msgstr " -std=<Ñтандарт> Считать, что иÑходный код Ñледует <Ñтандарту>\n"
+
+-#: gcc.c:3246
++#: gcc.c:3240
+ msgid ""
+ " --sysroot=<directory> Use <directory> as the root directory for headers\n"
+ " and libraries\n"
+@@ -1005,47 +1005,47 @@
+ " --sysroot=<каталог> ИÑпользовать <каталог> как головной каталог Ð´Ð»Ñ Ð·Ð°Ð³Ð¾Ð»Ð¾Ð²ÐºÐ¾Ð²\n"
+ " и библиотек\n"
+
+-#: gcc.c:3249
++#: gcc.c:3243
+ msgid " -B <directory> Add <directory> to the compiler's search paths\n"
+ msgstr ""
+ " -B <каталог> добавить <каталог> к ÑпиÑку поиÑка программ \n"
+ " компилÑтора\n"
+
+-#: gcc.c:3250
++#: gcc.c:3244
+ msgid " -b <machine> Run gcc for target <machine>, if installed\n"
+ msgstr ""
+ " -b <машина> Генерировать код Ð´Ð»Ñ ÑƒÐºÐ°Ð·Ð°Ð½Ð½Ð¾Ð¹ <машины>, \n"
+ " еÑли возможно\n"
+
+-#: gcc.c:3251
++#: gcc.c:3245
+ msgid " -V <version> Run gcc version number <version>, if installed\n"
+ msgstr " -V <верÑиÑ> ИÑпользовать <верÑию> gcc, еÑли она уÑтановлена\n"
+
+-#: gcc.c:3252
++#: gcc.c:3246
+ msgid " -v Display the programs invoked by the compiler\n"
+ msgstr " -v Отображать запуÑкаемые командные Ñтроки компилÑции\n"
+
+-#: gcc.c:3253
++#: gcc.c:3247
+ msgid " -### Like -v but options quoted and commands not executed\n"
+ msgstr " -### Как -v, но команды не запуÑкаютÑÑ\n"
+
+-#: gcc.c:3254
++#: gcc.c:3248
+ msgid " -E Preprocess only; do not compile, assemble or link\n"
+ msgstr " -E Только препроцеÑÑирование - без компилÑции, аÑÑемблированиÑ, компоновки\n"
+
+-#: gcc.c:3255
++#: gcc.c:3249
+ msgid " -S Compile only; do not assemble or link\n"
+ msgstr " -S Только компилÑÑ†Ð¸Ñ - без аÑÑÐµÐ¼Ð±Ð»Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ Ð¸ компоновки\n"
+
+-#: gcc.c:3256
++#: gcc.c:3250
+ msgid " -c Compile and assemble, but do not link\n"
+ msgstr " -c КомпилÑÑ†Ð¸Ñ Ð¸ аÑÑемблирование, без компоновки\n"
+
+-#: gcc.c:3257
++#: gcc.c:3251
+ msgid " -o <file> Place the output into <file>\n"
+ msgstr " -o <файл> ЗапиÑать результат в <файл>\n"
+
+-#: gcc.c:3258
++#: gcc.c:3252
+ msgid ""
+ " -x <language> Specify the language of the following input files\n"
+ " Permissible languages include: c c++ assembler none\n"
+@@ -1057,7 +1057,7 @@
+ " 'none' означает, что далее Ñзык нужно\n"
+ " определÑÑ‚ÑŒ по раÑширению имени файла\n"
+
+-#: gcc.c:3265
++#: gcc.c:3259
+ #, c-format
+ msgid ""
+ "\n"
+@@ -1069,27 +1069,27 @@
+ "Ключи, начинающиеÑÑ Ñ -g, -f, -m, -O, -W, или --param автоматичеÑки\n"
+ "передаютÑÑ Ð¿Ñ€Ð¾Ñ†ÐµÑÑам, запуÑкаемым %s. Ð”Ð»Ñ Ð¿ÐµÑ€ÐµÐ´Ð°Ñ‡Ð¸ ключей Ñтим процеÑÑам, иÑпользуйте ключи -W<буква>.\n"
+
+-#: gcc.c:3389
++#: gcc.c:3383
+ #, c-format
+ msgid "'-%c' option must have argument"
+ msgstr "ключ '-%c' требует аргумента"
+
+-#: gcc.c:3411
++#: gcc.c:3405
+ #, c-format
+ msgid "couldn't run '%s': %s"
+ msgstr "ошибка при выполнении '%s': %s"
+
+ #. translate_options () has turned --version into -fversion.
+-#: gcc.c:3612
++#: gcc.c:3606
+ #, c-format
+ msgid "%s %s%s\n"
+ msgstr "%s %s%s\n"
+
+-#: gcc.c:3615 gcov.c:426 fortran/gfortranspec.c:380 java/jcf-dump.c:1168
++#: gcc.c:3609 gcov.c:427 fortran/gfortranspec.c:380 java/jcf-dump.c:1168
+ msgid "(C)"
+ msgstr "(C)"
+
+-#: gcc.c:3616 java/jcf-dump.c:1169
++#: gcc.c:3610 java/jcf-dump.c:1169
+ #, c-format
+ msgid ""
+ "This is free software; see the source for copying conditions. There is NO\n"
+@@ -1101,160 +1101,160 @@
+ "коммерчеÑкую ценноÑÑ‚ÑŒ и применимоÑÑ‚ÑŒ Ð´Ð»Ñ ÐºÐ°ÐºÐ¸Ñ…-либо целей.\n"
+ "\n"
+
+-#: gcc.c:3728
++#: gcc.c:3722
+ #, c-format
+ msgid "argument to '-Xlinker' is missing"
+ msgstr "не задан аргумент ключа '-Xlinker'"
+
+-#: gcc.c:3736
++#: gcc.c:3730
+ #, c-format
+ msgid "argument to '-Xpreprocessor' is missing"
+ msgstr "не задан аргумент ключа '-Xpreprocessor'"
+
+-#: gcc.c:3743
++#: gcc.c:3737
+ #, c-format
+ msgid "argument to '-Xassembler' is missing"
+ msgstr "не задан аргумент ключа '-Xassembler'"
+
+-#: gcc.c:3750
++#: gcc.c:3744
+ #, c-format
+ msgid "argument to '-l' is missing"
+ msgstr "не задан аргумент ключа '-l'"
+
+-#: gcc.c:3771
++#: gcc.c:3765
+ #, c-format
+ msgid "argument to '-specs' is missing"
+ msgstr "не задан аргумент ключа '-specs'"
+
+-#: gcc.c:3785
++#: gcc.c:3779
+ #, c-format
+ msgid "argument to '-specs=' is missing"
+ msgstr "не задан аргумент ключа '-specs='"
+
+-#: gcc.c:3826
++#: gcc.c:3820
+ #, c-format
+ msgid "'-%c' must come at the start of the command line"
+ msgstr "ключ '-%c' должен находитьÑÑ Ð² начале командной Ñтроки"
+
+-#: gcc.c:3835
++#: gcc.c:3829
+ #, c-format
+ msgid "argument to '-B' is missing"
+ msgstr "не задан аргумент ключа '-B'"
+
+-#: gcc.c:4185
++#: gcc.c:4179
+ #, c-format
+ msgid "argument to '-x' is missing"
+ msgstr "не задан аргумент ключа '-x'"
+
+-#: gcc.c:4213
++#: gcc.c:4207
+ #, c-format
+ msgid "argument to '-%s' is missing"
+ msgstr "не задан аргумент ключа '-%s'"
+
+-#: gcc.c:4541
++#: gcc.c:4535
+ #, c-format
+ msgid "switch '%s' does not start with '-'"
+ msgstr "ключ '%s' не начинаетÑÑ Ñ '-'"
+
+-#: gcc.c:4685
++#: gcc.c:4679
+ #, c-format
+ msgid "spec '%s' invalid"
+ msgstr "ÑÐ¿ÐµÑ†Ð¸Ñ„Ð¸ÐºÐ°Ñ†Ð¸Ñ '%s' некорректна"
+
+-#: gcc.c:4824
++#: gcc.c:4818
+ #, c-format
+ msgid "spec '%s' has invalid '%%0%c'"
+ msgstr "ÑÐ¿ÐµÑ†Ð¸Ñ„Ð¸ÐºÐ°Ñ†Ð¸Ñ '%s' имеет некорректный '%%0%c'"
+
+-#: gcc.c:5053
++#: gcc.c:5047
+ #, c-format
+ msgid "could not open temporary response file %s"
+ msgstr "не удалоÑÑŒ открыть временный файл ответа %s"
+
+-#: gcc.c:5059
++#: gcc.c:5053
+ #, c-format
+ msgid "could not write to temporary response file %s"
+ msgstr "не удалоÑÑŒ запиÑать во временный файл ответа %s"
+
+-#: gcc.c:5065
++#: gcc.c:5059
+ #, c-format
+ msgid "could not close temporary response file %s"
+ msgstr "не удалоÑÑŒ закрыть временный файл ответа %s"
+
+-#: gcc.c:5099
++#: gcc.c:5093
+ #, c-format
+ msgid "spec '%s' has invalid '%%W%c"
+ msgstr "ÑÐ¿ÐµÑ†Ð¸Ñ„Ð¸ÐºÐ°Ñ†Ð¸Ñ '%s' имеет некорректный '%%W%c'"
+
+-#: gcc.c:5119
++#: gcc.c:5113
+ #, c-format
+ msgid "spec '%s' has invalid '%%x%c'"
+ msgstr "ÑÐ¿ÐµÑ†Ð¸Ñ„Ð¸ÐºÐ°Ñ†Ð¸Ñ '%s' имеет некорректный '%%x%c'"
+
+-#: gcc.c:5341
++#: gcc.c:5335
+ #, c-format
+ msgid "Processing spec %c%s%c, which is '%s'\n"
+ msgstr "Обработка Ñпецификации %c%s%c, Ñ‚.е. '%s'\n"
+
+-#: gcc.c:5465
++#: gcc.c:5459
+ #, c-format
+ msgid "unknown spec function '%s'"
+ msgstr "Ð½ÐµÐ¾Ð¿Ð¾Ð·Ð½Ð°Ð½Ð½Ð°Ñ Ñ„ÑƒÐ½ÐºÑ†Ð¸Ñ '%s' в Ñпецификации"
+
+-#: gcc.c:5484
++#: gcc.c:5478
+ #, c-format
+ msgid "error in args to spec function '%s'"
+ msgstr "ошибка в аргументах spec-функции '%s'"
+
+-#: gcc.c:5532
++#: gcc.c:5526
+ #, c-format
+ msgid "malformed spec function name"
+ msgstr "некорректное Ð¸Ð¼Ñ spec-функции"
+
+ #. )
+-#: gcc.c:5535
++#: gcc.c:5529
+ #, c-format
+ msgid "no arguments for spec function"
+ msgstr "не заданы аргументы spec-функции"
+
+-#: gcc.c:5554
++#: gcc.c:5548
+ #, c-format
+ msgid "malformed spec function arguments"
+ msgstr "некорректные аргументы spec-функции"
+
+-#: gcc.c:5800
++#: gcc.c:5794
+ #, c-format
+ msgid "braced spec '%s' is invalid at '%c'"
+ msgstr "ошибка в Ñпецификации '%s' в Ñкобках на Ñимволе '%c'"
+
+-#: gcc.c:5888
++#: gcc.c:5882
+ #, c-format
+ msgid "braced spec body '%s' is invalid"
+ msgstr "ошибка в Ñпецификации '%s' в Ñкобках"
+
+-#: gcc.c:6421
++#: gcc.c:6420
+ #, c-format
+ msgid "install: %s%s\n"
+ msgstr "уÑтановка: %s%s\n"
+
+-#: gcc.c:6424
++#: gcc.c:6423
+ #, c-format
+ msgid "programs: %s\n"
+ msgstr "программы: %s\n"
+
+-#: gcc.c:6426
++#: gcc.c:6425
+ #, c-format
+ msgid "libraries: %s\n"
+ msgstr "библиотеки: %s\n"
+
+ #. The error status indicates that only one set of fixed
+ #. headers should be built.
+-#: gcc.c:6480
++#: gcc.c:6479
+ #, c-format
+ msgid "not configured with sysroot headers suffix"
+ msgstr "ÑÑƒÑ„Ñ„Ð¸ÐºÑ ÑиÑтемных заголовков не Ñконфигурирован"
+
+-#: gcc.c:6489
++#: gcc.c:6488
+ #, c-format
+ msgid ""
+ "\n"
+@@ -1263,47 +1263,47 @@
+ "\n"
+ "ИнÑтрукции по ÑоÑтавлению и отправке отчётов об ошибках Ñм. на:\n"
+
+-#: gcc.c:6505
++#: gcc.c:6504
+ #, c-format
+ msgid "Target: %s\n"
+ msgstr "Ð¦ÐµÐ»ÐµÐ²Ð°Ñ Ð°Ñ€Ñ…Ð¸Ñ‚ÐµÐºÑ‚ÑƒÑ€Ð°: %s\n"
+
+-#: gcc.c:6506
++#: gcc.c:6505
+ #, c-format
+ msgid "Configured with: %s\n"
+ msgstr "Параметры конфигурации: %s\n"
+
+-#: gcc.c:6520
++#: gcc.c:6519
+ #, c-format
+ msgid "Thread model: %s\n"
+ msgstr "Модель многопотоковоÑти: %s\n"
+
+-#: gcc.c:6531
++#: gcc.c:6530
+ #, c-format
+ msgid "gcc version %s %s\n"
+ msgstr "gcc верÑÐ¸Ñ %s %s\n"
+
+-#: gcc.c:6533
++#: gcc.c:6532
+ #, c-format
+ msgid "gcc driver version %s %sexecuting gcc version %s\n"
+ msgstr "драйвер gcc верÑÐ¸Ñ %s; %sиÑполнÑет gcc верÑÐ¸Ñ %s\n"
+
+-#: gcc.c:6541
++#: gcc.c:6540
+ #, c-format
+ msgid "no input files"
+ msgstr "не заданы входные файлы"
+
+-#: gcc.c:6590
++#: gcc.c:6589
+ #, c-format
+ msgid "cannot specify -o with -c or -S with multiple files"
+ msgstr "Ð½ÐµÐ»ÑŒÐ·Ñ Ð¸Ñпользовать -o Ñ -c или -S и неÑколькими файлами"
+
+-#: gcc.c:6624
++#: gcc.c:6623
+ #, c-format
+ msgid "spec '%s' is invalid"
+ msgstr "параметр '%s' инициализирован"
+
+-#: gcc.c:6760
++#: gcc.c:6759
+ #, c-format
+ msgid ""
+ "\n"
+@@ -1316,7 +1316,7 @@
+ "==================\n"
+ "\n"
+
+-#: gcc.c:6761
++#: gcc.c:6760
+ #, c-format
+ msgid ""
+ "Use \"-Wl,OPTION\" to pass \"OPTION\" to the linker.\n"
+@@ -1325,52 +1325,52 @@
+ "ИÑпользуйте \"-Wl,КЛЮЧ\", чтобы передать \"КЛЮЧ\" компоновщику.\n"
+ "\n"
+
+-#: gcc.c:7112
++#: gcc.c:7111
+ #, c-format
+ msgid "multilib spec '%s' is invalid"
+ msgstr "опиÑание мультибиблиотеки '%s' некорректно"
+
+-#: gcc.c:7303
++#: gcc.c:7302
+ #, c-format
+ msgid "multilib exclusions '%s' is invalid"
+ msgstr "иÑÐºÐ»ÑŽÑ‡ÐµÐ½Ð¸Ñ '%s' в мультибиблиотеке некорректны"
+
+-#: gcc.c:7361 gcc.c:7502
++#: gcc.c:7360 gcc.c:7501
+ #, c-format
+ msgid "multilib select '%s' is invalid"
+ msgstr "выбор мультибиблиотеки '%s' некорректен"
+
+-#: gcc.c:7540
++#: gcc.c:7539
+ #, c-format
+ msgid "multilib exclusion '%s' is invalid"
+ msgstr "иÑключение '%s' в мультибиблиотеке некорректно"
+
+-#: gcc.c:7746
++#: gcc.c:7745
+ #, c-format
+ msgid "environment variable \"%s\" not defined"
+ msgstr "Ð¿ÐµÑ€ÐµÐ¼ÐµÐ½Ð½Ð°Ñ Ð¾ÐºÑ€ÑƒÐ¶ÐµÐ½Ð¸Ñ \"%s\" не определена"
+
+-#: gcc.c:7837 gcc.c:7842
++#: gcc.c:7836 gcc.c:7841
+ #, c-format
+ msgid "invalid version number `%s'"
+ msgstr "некорректный номер верÑии '%s'"
+
+-#: gcc.c:7885
++#: gcc.c:7884
+ #, c-format
+ msgid "too few arguments to %%:version-compare"
+ msgstr "Ñлишком мало аргументов в %%:version-compare"
+
+-#: gcc.c:7891
++#: gcc.c:7890
+ #, c-format
+ msgid "too many arguments to %%:version-compare"
+ msgstr "Ñлишком много аргументов в %%:version-compare"
+
+-#: gcc.c:7932
++#: gcc.c:7931
+ #, c-format
+ msgid "unknown operator '%s' in %%:version-compare"
+ msgstr "некорректный оператор '%s' в %%:version-compare"
+
+-#: gcc.c:7966
++#: gcc.c:7965
+ #, c-format
+ msgid ""
+ "Assembler options\n"
+@@ -1381,7 +1381,7 @@
+ "=================\n"
+ "\n"
+
+-#: gcc.c:7967
++#: gcc.c:7966
+ #, c-format
+ msgid ""
+ "Use \"-Wa,OPTION\" to pass \"OPTION\" to the assembler.\n"
+@@ -1390,7 +1390,7 @@
+ "ИÑпользуйте \"-Wa,КЛЮЧ\", чтобы передать \"КЛЮЧ\" аÑÑемблеру.\n"
+ "\n"
+
+-#: gcov.c:399
++#: gcov.c:400
+ #, c-format
+ msgid ""
+ "Usage: gcov [OPTION]... SOURCEFILE...\n"
+@@ -1399,7 +1399,7 @@
+ "ИÑпользование: gcov [КЛЮЧ]... ВХОДÐОЙ_ФÐЙЛ...\n"
+ "\n"
+
+-#: gcov.c:400
++#: gcov.c:401
+ #, c-format
+ msgid ""
+ "Print code coverage information.\n"
+@@ -1408,27 +1408,27 @@
+ "Печать информации о покрытии кода.\n"
+ "\n"
+
+-#: gcov.c:401
++#: gcov.c:402
+ #, c-format
+ msgid " -h, --help Print this help, then exit\n"
+ msgstr " -h, --help Ðапечатать Ñтот текÑÑ‚ и выйти\n"
+
+-#: gcov.c:402
++#: gcov.c:403
+ #, c-format
+ msgid " -v, --version Print version number, then exit\n"
+ msgstr " -v, --version Ðапечатать номер верÑии и выйти\n"
+
+-#: gcov.c:403
++#: gcov.c:404
+ #, c-format
+ msgid " -a, --all-blocks Show information for every basic block\n"
+ msgstr " -a, --all-blocks Выдать информацию Ð´Ð»Ñ ÐºÐ°Ð¶Ð´Ð¾Ð³Ð¾ блока\n"
+
+-#: gcov.c:404
++#: gcov.c:405
+ #, c-format
+ msgid " -b, --branch-probabilities Include branch probabilities in output\n"
+ msgstr " -b, --branch-probabilities ВывеÑти вероÑтноÑти переходов\n"
+
+-#: gcov.c:405
++#: gcov.c:406
+ #, c-format
+ msgid ""
+ " -c, --branch-counts Given counts of branches taken\n"
+@@ -1437,12 +1437,12 @@
+ " -c, --branch-counts При Ñчётчиках переходов, заданных\n"
+ " в абÑолютных, а не процентных значениÑÑ…\n"
+
+-#: gcov.c:407
++#: gcov.c:408
+ #, c-format
+ msgid " -n, --no-output Do not create an output file\n"
+ msgstr " -n, --no-output Ðе Ñоздавать выходной файл\n"
+
+-#: gcov.c:408
++#: gcov.c:409
+ #, c-format
+ msgid ""
+ " -l, --long-file-names Use long output file names for included\n"
+@@ -1451,29 +1451,29 @@
+ " -l, --long-file-names Выводить длинные имена включаемых\n"
+ " иÑходных файлов\n"
+
+-#: gcov.c:410
++#: gcov.c:411
+ #, c-format
+ msgid " -f, --function-summaries Output summaries for each function\n"
+ msgstr " -f, --function-summaries ВывеÑти Ñводки Ð´Ð»Ñ Ð²Ñех функций\n"
+
+-#: gcov.c:411
++#: gcov.c:412
+ #, c-format
+ msgid " -o, --object-directory DIR|FILE Search for object files in DIR or called FILE\n"
+ msgstr ""
+ " -o, --object-directory КÐТÐЛОГ|ФÐЙЛ ИÑкать объектные файлы в КÐТÐЛОГе\n"
+ " или в вызываемом ФÐЙЛе\n"
+
+-#: gcov.c:412
++#: gcov.c:413
+ #, c-format
+ msgid " -p, --preserve-paths Preserve all pathname components\n"
+ msgstr " -p, --preserve-paths Сохранить маршрутные имена\n"
+
+-#: gcov.c:413
++#: gcov.c:414
+ #, c-format
+ msgid " -u, --unconditional-branches Show unconditional branch counts too\n"
+ msgstr " -u, --unconditional-branches Показать Ñчётчики безуÑловных переходов\n"
+
+-#: gcov.c:414
++#: gcov.c:415
+ #, c-format
+ msgid ""
+ "\n"
+@@ -1484,12 +1484,12 @@
+ "ИнÑтрукции по подготовке отчётов об ошибках Ñм. на:\n"
+ "%s.\n"
+
+-#: gcov.c:424
++#: gcov.c:425
+ #, c-format
+ msgid "gcov %s%s\n"
+ msgstr "gcov %s%s\n"
+
+-#: gcov.c:428
++#: gcov.c:429
+ #, c-format
+ msgid ""
+ "This is free software; see the source for copying conditions.\n"
+@@ -1502,206 +1502,206 @@
+ "коммерчеÑкую ценноÑÑ‚ÑŒ и применимоÑÑ‚ÑŒ Ð´Ð»Ñ ÐºÐ°ÐºÐ¸Ñ…-либо целей.\n"
+ "\n"
+
+-#: gcov.c:524
++#: gcov.c:525
+ #, c-format
+ msgid "%s:no functions found\n"
+ msgstr "%s:Ñ„ÑƒÐ½ÐºÑ†Ð¸Ñ Ð½Ðµ найдена\n"
+
+-#: gcov.c:556 gcov.c:584 fortran/dump-parse-tree.c:63
++#: gcov.c:557 gcov.c:585 fortran/dump-parse-tree.c:63
+ #, c-format
+ msgid "\n"
+ msgstr "\n"
+
+-#: gcov.c:571
++#: gcov.c:572
+ #, c-format
+ msgid "%s:creating '%s'\n"
+ msgstr "%s:Ñоздание '%s'\n"
+
+-#: gcov.c:575
++#: gcov.c:576
+ #, c-format
+ msgid "%s:error writing output file '%s'\n"
+ msgstr "%s:ошибка запиÑи в выходной файл '%s'\n"
+
+-#: gcov.c:580
++#: gcov.c:581
+ #, c-format
+ msgid "%s:could not open output file '%s'\n"
+ msgstr "%s:ошибка Ð¾Ñ‚ÐºÑ€Ñ‹Ñ‚Ð¸Ñ Ð²Ñ‹Ñ…Ð¾Ð´Ð½Ð¾Ð³Ð¾ файла '%s'\n"
+
+-#: gcov.c:729
++#: gcov.c:730
+ #, c-format
+ msgid "%s:source file is newer than graph file '%s'\n"
+ msgstr "%s:иÑходный файл новее чем файл графа '%s'\n"
+
+-#: gcov.c:734
++#: gcov.c:735
+ #, c-format
+ msgid "(the message is only displayed one per source file)\n"
+ msgstr "(Ð´Ð»Ñ ÐºÐ°Ð¶Ð´Ð¾Ð³Ð¾ файла иÑходных текÑтов Ñообщение будет выдано один раз)\n"
+
+-#: gcov.c:758
++#: gcov.c:759
+ #, c-format
+ msgid "%s:cannot open graph file\n"
+ msgstr "%s:ошибка Ð¾Ñ‚ÐºÑ€Ñ‹Ñ‚Ð¸Ñ Ð³Ñ€Ð°Ñ„Ð¸Ñ‡ÐµÑкого файла\n"
+
+-#: gcov.c:764
++#: gcov.c:765
+ #, c-format
+ msgid "%s:not a gcov graph file\n"
+ msgstr "%s:не графичеÑкий файл gcov\n"
+
+-#: gcov.c:777
++#: gcov.c:778
+ #, c-format
+ msgid "%s:version '%.4s', prefer '%.4s'\n"
+ msgstr "%s:верÑÐ¸Ñ '%.4s', предпочтительно '%.4s'\n"
+
+-#: gcov.c:829
++#: gcov.c:830
+ #, c-format
+ msgid "%s:already seen blocks for '%s'\n"
+ msgstr "%s:блоки Ð´Ð»Ñ '%s' уже вÑтречалиÑÑŒ\n"
+
+-#: gcov.c:947
++#: gcov.c:948
+ #, c-format
+ msgid "%s:corrupted\n"
+ msgstr "%s:иÑпорчен\n"
+
+-#: gcov.c:1023
++#: gcov.c:1024
+ #, c-format
+ msgid "%s:cannot open data file, assuming not executed\n"
+ msgstr "%s:ошибка Ð¾Ñ‚ÐºÑ€Ñ‹Ñ‚Ð¸Ñ Ñ„Ð°Ð¹Ð»Ð° данных, Ñкорее вÑего приложение не выполнÑлоÑÑŒ\n"
+
+-#: gcov.c:1030
++#: gcov.c:1031
+ #, c-format
+ msgid "%s:not a gcov data file\n"
+ msgstr "%s:не файл данных gcov\n"
+
+-#: gcov.c:1043
++#: gcov.c:1044
+ #, c-format
+ msgid "%s:version '%.4s', prefer version '%.4s'\n"
+ msgstr "%s:верÑÐ¸Ñ '%.4s', предпочтительна верÑÐ¸Ñ '%.4s'\n"
+
+-#: gcov.c:1049
++#: gcov.c:1050
+ #, c-format
+ msgid "%s:stamp mismatch with graph file\n"
+ msgstr "%s:штамп не ÑоответÑтвует графичеÑкому файлу\n"
+
+-#: gcov.c:1078
++#: gcov.c:1079
+ #, c-format
+ msgid "%s:unknown function '%u'\n"
+ msgstr "%s:неизвеÑÑ‚Ð½Ð°Ñ Ñ„ÑƒÐ½ÐºÑ†Ð¸Ñ '%u'\n"
+
+-#: gcov.c:1091
++#: gcov.c:1092
+ #, c-format
+ msgid "%s:profile mismatch for '%s'\n"
+ msgstr "%s:неÑоответÑтвие профайла Ð´Ð»Ñ '%s'\n"
+
+-#: gcov.c:1110
++#: gcov.c:1111
+ #, c-format
+ msgid "%s:overflowed\n"
+ msgstr "%s:переполнение\n"
+
+-#: gcov.c:1134
++#: gcov.c:1135
+ #, c-format
+ msgid "%s:'%s' lacks entry and/or exit blocks\n"
+ msgstr "%s:'%s' нет входного и/или выходного блоков\n"
+
+-#: gcov.c:1139
++#: gcov.c:1140
+ #, c-format
+ msgid "%s:'%s' has arcs to entry block\n"
+ msgstr "%s:'%s' Ñодержит дугу, указывающую на входной блок\n"
+
+-#: gcov.c:1147
++#: gcov.c:1148
+ #, c-format
+ msgid "%s:'%s' has arcs from exit block\n"
+ msgstr "%s:'%s' Ñодержит дугу, иÑходÑщую из выходного блока\n"
+
+-#: gcov.c:1355
++#: gcov.c:1356
+ #, c-format
+ msgid "%s:graph is unsolvable for '%s'\n"
+ msgstr "%s:неразрешимый граф Ð´Ð»Ñ '%s'\n"
+
+-#: gcov.c:1435
++#: gcov.c:1436
+ #, c-format
+ msgid "%s '%s'\n"
+ msgstr "%s '%s'\n"
+
+-#: gcov.c:1438
++#: gcov.c:1439
+ #, c-format
+ msgid "Lines executed:%s of %d\n"
+ msgstr "Выполнено Ñтрок:%s из %d\n"
+
+-#: gcov.c:1442
++#: gcov.c:1443
+ #, c-format
+ msgid "No executable lines\n"
+ msgstr "Ðет выполнÑемых Ñтрок\n"
+
+-#: gcov.c:1448
++#: gcov.c:1449
+ #, c-format
+ msgid "Branches executed:%s of %d\n"
+ msgstr "Выполнено переходов:%s из %d\n"
+
+-#: gcov.c:1452
++#: gcov.c:1453
+ #, c-format
+ msgid "Taken at least once:%s of %d\n"
+ msgstr "Переход выполнен Ñ…Ð¾Ñ‚Ñ Ð±Ñ‹ однажды:%s из %d\n"
+
+-#: gcov.c:1458
++#: gcov.c:1459
+ #, c-format
+ msgid "No branches\n"
+ msgstr "Переходов нет\n"
+
+-#: gcov.c:1460
++#: gcov.c:1461
+ #, c-format
+ msgid "Calls executed:%s of %d\n"
+ msgstr "Выполнено вызовов:%s из %d\n"
+
+-#: gcov.c:1464
++#: gcov.c:1465
+ #, c-format
+ msgid "No calls\n"
+ msgstr "Вызовов нет\n"
+
+-#: gcov.c:1611
++#: gcov.c:1612
+ #, c-format
+ msgid "%s:no lines for '%s'\n"
+ msgstr "%s:нет Ñтрок Ð´Ð»Ñ '%s'\n"
+
+-#: gcov.c:1806
++#: gcov.c:1807
+ #, c-format
+ msgid "call %2d returned %s\n"
+ msgstr "вызов %2d вернул %s\n"
+
+-#: gcov.c:1811
++#: gcov.c:1812
+ #, c-format
+ msgid "call %2d never executed\n"
+ msgstr "вызов %2d ни разу не иÑполнÑлÑÑ\n"
+
+-#: gcov.c:1816
++#: gcov.c:1817
+ #, c-format
+ msgid "branch %2d taken %s%s\n"
+ msgstr "переход %2d выполнен %s%s\n"
+
+-#: gcov.c:1820
++#: gcov.c:1821
+ #, c-format
+ msgid "branch %2d never executed\n"
+ msgstr "переход %2d ни разу не иÑполнÑлÑÑ\n"
+
+-#: gcov.c:1825
++#: gcov.c:1826
+ #, c-format
+ msgid "unconditional %2d taken %s\n"
+ msgstr "безуÑловный переход %2d выполнен %s\n"
+
+-#: gcov.c:1828
++#: gcov.c:1829
+ #, c-format
+ msgid "unconditional %2d never executed\n"
+ msgstr "безуÑловный переход %2d ни разу не выполнÑлÑÑ\n"
+
+-#: gcov.c:1864
++#: gcov.c:1865
+ #, c-format
+ msgid "%s:cannot open source file\n"
+ msgstr "%s:ошибка Ð¾Ñ‚ÐºÑ€Ñ‹Ñ‚Ð¸Ñ Ð¸Ñходного файла\n"
+
+-#: gcse.c:685
++#: gcse.c:679
+ msgid "GCSE disabled"
+ msgstr "Ð³Ð»Ð¾Ð±Ð°Ð»ÑŒÐ½Ð°Ñ ÑÐºÐ¾Ð½Ð¾Ð¼Ð¸Ñ Ð¾Ð±Ñ‰Ð¸Ñ… подвыражений (GCSE) не выполнÑлаÑÑŒ"
+
+-#: gcse.c:6600
++#: gcse.c:6584
+ msgid "jump bypassing disabled"
+ msgstr "Ð¾Ð¿Ñ‚Ð¸Ð¼Ð¸Ð·Ð°Ñ†Ð¸Ñ Ð¾Ð±Ñ…Ð¾Ð´Ð° переходов не выполнÑлаÑÑŒ"
+
+@@ -1785,82 +1785,82 @@
+ msgid " inlined from %qs"
+ msgstr " включённом из %qs"
+
+-#: loop-iv.c:2805 tree-ssa-loop-niter.c:1818
++#: loop-iv.c:2806 tree-ssa-loop-niter.c:1818
+ msgid "assuming that the loop is not infinite"
+ msgstr "предполагаетÑÑ, что цикл не беÑконечный"
+
+-#: loop-iv.c:2806 tree-ssa-loop-niter.c:1819
++#: loop-iv.c:2807 tree-ssa-loop-niter.c:1819
+ msgid "cannot optimize possibly infinite loops"
+ msgstr "невозможно оптимизировать беÑконечные циклы"
+
+-#: loop-iv.c:2814 tree-ssa-loop-niter.c:1823
++#: loop-iv.c:2815 tree-ssa-loop-niter.c:1823
+ msgid "assuming that the loop counter does not overflow"
+ msgstr "предполагаетÑÑ, что Ñчётчик цикла не выходит за границы"
+
+-#: loop-iv.c:2815 tree-ssa-loop-niter.c:1824
++#: loop-iv.c:2816 tree-ssa-loop-niter.c:1824
+ msgid "cannot optimize loop, the loop counter may overflow"
+ msgstr "невозможно оптимизировать циклы, в которых Ñчётчик выходит за границы"
+
+ #. What to print when a switch has no documentation.
+-#: opts.c:348
++#: opts.c:340
+ msgid "This switch lacks documentation"
+ msgstr "Этот ключ не документирован"
+
+-#: opts.c:1159
++#: opts.c:1161
+ msgid "[enabled]"
+ msgstr "[включено]"
+
+-#: opts.c:1159
++#: opts.c:1161
+ msgid "[disabled]"
+ msgstr "[выключено]"
+
+-#: opts.c:1170
++#: opts.c:1172
+ #, c-format
+ msgid " No options with the desired characteristics were found\n"
+ msgstr " Ðе найдено ключей Ñ Ñ‚Ñ€ÐµÐ±ÑƒÐµÐ¼Ñ‹Ð¼Ð¸ характериÑтиками\n"
+
+-#: opts.c:1172
++#: opts.c:1174
+ #, c-format
+ msgid " All options with the desired characteristics have already been displayed\n"
+ msgstr " Ð’Ñе ключи Ñ Ñ‚Ñ€ÐµÐ±ÑƒÐµÐ¼Ñ‹Ð¼Ð¸ характериÑтиками уже выведены\n"
+
+-#: opts.c:1226
++#: opts.c:1228
+ msgid "The following options are target specific"
+ msgstr "Следующие ключи не завиÑÑÑ‚ от целевой архитектуры"
+
+-#: opts.c:1229
++#: opts.c:1231
+ msgid "The following options control compiler warning messages"
+ msgstr "Следующие ключи контролируют Ð¿Ñ€ÐµÐ´ÑƒÐ¿Ñ€ÐµÐ¶Ð´ÐµÐ½Ð¸Ñ ÐºÐ¾Ð¼Ð¿Ð¸Ð»Ñтора"
+
+-#: opts.c:1232
++#: opts.c:1234
+ msgid "The following options control optimizations"
+ msgstr "Следующие ключи контролируют оптимизацию"
+
+-#: opts.c:1235 opts.c:1273
++#: opts.c:1237 opts.c:1275
+ msgid "The following options are language-independent"
+ msgstr "Следующие ключи не завиÑÑÑ‚ от входного Ñзыка"
+
+-#: opts.c:1238
++#: opts.c:1240
+ msgid "The --param option recognizes the following as parameters"
+ msgstr "Ключ --param позволÑет задать Ñледующие параметры"
+
+-#: opts.c:1245
++#: opts.c:1247
+ msgid "The following options are specific to the language "
+ msgstr "Следующие ключи завиÑÑÑ‚ от входного Ñзыка"
+
+-#: opts.c:1249
++#: opts.c:1251
+ msgid "The following options are supported by the language "
+ msgstr "Следующие ключи поддерживаютÑÑ Ñзыком "
+
+-#: opts.c:1260
++#: opts.c:1262
+ msgid "The following options are not documented"
+ msgstr "Следующие ключи не документированы"
+
+-#: opts.c:1271
++#: opts.c:1273
+ msgid "The following options are language-related"
+ msgstr "Следующие ключи отноÑÑÑ‚ÑÑ Ðº иÑходному Ñзыку"
+
+-#: opts.c:1403
++#: opts.c:1405
+ #, c-format
+ msgid "warning: unrecognized argument to --help= switch: %.*s\n"
+ msgstr "предупреждение: неизвеÑтный аргумент ключа --help=: %.*s\n"
+@@ -2176,7 +2176,7 @@
+ msgid "%s: input file names must have .c suffixes: %s\n"
+ msgstr "%s: имена входных файлов должны иметь ÑÑƒÑ„Ñ„Ð¸ÐºÑ .c: %s\n"
+
+-#: reload.c:3734
++#: reload.c:3744
+ msgid "unable to generate reloads for:"
+ msgstr "ошибка при генерации загрузок операндов на региÑтры длÑ:"
+
+@@ -2279,8 +2279,8 @@
+ msgstr "ВерÑÐ¸Ñ GMP %s, верÑÐ¸Ñ MPFR %s.\n"
+
+ #: toplev.c:1188
+-#, c-format
+-msgid "warning: %s header version %s differs from library version %s.\n"
++#, fuzzy, c-format
++msgid "%s%swarning: %s header version %s differs from library version %s.\n"
+ msgstr "предупреждение: верÑÐ¸Ñ Ð·Ð°Ð³Ð¾Ð»Ð¾Ð²ÐºÐ° %s %s отличаетÑÑ Ð¾Ñ‚ верÑии библиотеки %s.\n"
+
+ #: toplev.c:1190
+@@ -2288,32 +2288,32 @@
+ 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"
+
+-#: toplev.c:1340
++#: toplev.c:1342
+ msgid "options passed: "
+ msgstr "переданы ключи: "
+
+-#: toplev.c:1374
++#: toplev.c:1376
+ msgid "options enabled: "
+ msgstr "активные ключи: "
+
+-#: toplev.c:1509
++#: toplev.c:1511
+ #, c-format
+ msgid "created and used with differing settings of '%s'"
+ msgstr "Ñоздан Ñ Ð¾Ð´Ð½Ð¸Ð¼ значением '%s', а иÑпользуетÑÑ Ñ Ð´Ñ€ÑƒÐ³Ð¸Ð¼"
+
+-#: toplev.c:1511
++#: toplev.c:1513
+ msgid "out of memory"
+ msgstr "недоÑтаточно памÑти"
+
+-#: toplev.c:1526
++#: toplev.c:1528
+ msgid "created and used with different settings of -fpic"
+ msgstr "Ñоздан Ñ Ð¾Ð´Ð½Ð¸Ð¼ значением -fpic, а иÑпользуетÑÑ Ñ Ð´Ñ€ÑƒÐ³Ð¸Ð¼"
+
+-#: toplev.c:1528
++#: toplev.c:1530
+ msgid "created and used with different settings of -fpie"
+ msgstr "Ñоздан Ñ Ð¾Ð´Ð½Ð¸Ð¼ значением -fpie, а иÑпользуетÑÑ Ñ Ð´Ñ€ÑƒÐ³Ð¸Ð¼"
+
+-#: tree-inline.c:2571
++#: tree-inline.c:2657
+ msgid "originally indirect function call not considered for inlining"
+ msgstr "inline-функции, переопределённые как extern, не подлежат подÑтановке"
+
+@@ -2373,7 +2373,7 @@
+
+ #: params.def:93
+ #, fuzzy
+-msgid "The threshold ratio between current and hotest structure counts"
++msgid "The threshold ratio between current and hottest structure counts"
+ msgstr "Пороговое Ñоотношение между конкретизированными полÑми и общим размером Ñтруктуры"
+
+ #: params.def:110
+@@ -2772,114 +2772,122 @@
+ msgid "Maximum length of partial antic set when performing tree pre optimization"
+ msgstr ""
+
+-#: config/alpha/alpha.c:5015
++#: params.def:723
++msgid "Maximum size of a SCC before SCCVN stops processing a function"
++msgstr ""
++
++#: params.def:729
++msgid "Multiplier used for determining the double-queueing threshold"
++msgstr ""
++
++#: config/alpha/alpha.c:5023
+ #, c-format
+ msgid "invalid %%H value"
+ msgstr "некорректное %%H значение"
+
+-#: config/alpha/alpha.c:5036 config/bfin/bfin.c:1423
++#: config/alpha/alpha.c:5044 config/bfin/bfin.c:1516
+ #, c-format
+ msgid "invalid %%J value"
+ msgstr "некорректное %%J значение"
+
+-#: config/alpha/alpha.c:5066 config/ia64/ia64.c:4718
++#: config/alpha/alpha.c:5074 config/ia64/ia64.c:4719
+ #, c-format
+ msgid "invalid %%r value"
+ msgstr "некорректное значение %%r"
+
+-#: config/alpha/alpha.c:5076 config/ia64/ia64.c:4672
+-#: config/rs6000/rs6000.c:11670 config/xtensa/xtensa.c:2036
++#: config/alpha/alpha.c:5084 config/ia64/ia64.c:4673
++#: config/rs6000/rs6000.c:11881 config/xtensa/xtensa.c:2042
+ #, c-format
+ msgid "invalid %%R value"
+ msgstr "некорректное значение %%R"
+
+-#: config/alpha/alpha.c:5082 config/rs6000/rs6000.c:11589
+-#: config/xtensa/xtensa.c:2003
++#: config/alpha/alpha.c:5090 config/rs6000/rs6000.c:11800
++#: config/xtensa/xtensa.c:2009
+ #, c-format
+ msgid "invalid %%N value"
+ msgstr "некорректное значение %%N"
+
+-#: config/alpha/alpha.c:5090 config/rs6000/rs6000.c:11617
++#: config/alpha/alpha.c:5098 config/rs6000/rs6000.c:11828
+ #, c-format
+ msgid "invalid %%P value"
+ msgstr "некорректное значение %%P"
+
+-#: config/alpha/alpha.c:5098
++#: config/alpha/alpha.c:5106
+ #, c-format
+ msgid "invalid %%h value"
+ msgstr "некорректное значение %%h"
+
+-#: config/alpha/alpha.c:5106 config/xtensa/xtensa.c:2029
++#: config/alpha/alpha.c:5114 config/xtensa/xtensa.c:2035
+ #, c-format
+ msgid "invalid %%L value"
+ msgstr "некорректное значение %%L"
+
+-#: config/alpha/alpha.c:5145 config/rs6000/rs6000.c:11571
++#: config/alpha/alpha.c:5153 config/rs6000/rs6000.c:11782
+ #, c-format
+ msgid "invalid %%m value"
+ msgstr "некорректное значение %%M"
+
+-#: config/alpha/alpha.c:5153 config/rs6000/rs6000.c:11579
++#: config/alpha/alpha.c:5161 config/rs6000/rs6000.c:11790
+ #, c-format
+ msgid "invalid %%M value"
+ msgstr "некорректное значение %%M"
+
+-#: config/alpha/alpha.c:5197
++#: config/alpha/alpha.c:5205
+ #, c-format
+ msgid "invalid %%U value"
+ msgstr "некорректное значение %%U"
+
+-#: config/alpha/alpha.c:5209 config/alpha/alpha.c:5223
+-#: config/rs6000/rs6000.c:11678
++#: config/alpha/alpha.c:5217 config/alpha/alpha.c:5231
++#: config/rs6000/rs6000.c:11889
+ #, c-format
+ msgid "invalid %%s value"
+ msgstr "некорректное значение %%s"
+
+-#: config/alpha/alpha.c:5246
++#: config/alpha/alpha.c:5254
+ #, c-format
+ msgid "invalid %%C value"
+ msgstr "некорректное значение %%C"
+
+-#: config/alpha/alpha.c:5283 config/rs6000/rs6000.c:11406
+-#: config/rs6000/rs6000.c:11425
++#: config/alpha/alpha.c:5291 config/rs6000/rs6000.c:11617
++#: config/rs6000/rs6000.c:11636
+ #, c-format
+ msgid "invalid %%E value"
+ msgstr "некорректное значение %%E"
+
+-#: config/alpha/alpha.c:5308 config/alpha/alpha.c:5356
++#: config/alpha/alpha.c:5316 config/alpha/alpha.c:5364
+ #, c-format
+ msgid "unknown relocation unspec"
+ msgstr "некорректное unspec-перемещение"
+
+-#: config/alpha/alpha.c:5317 config/crx/crx.c:1081
+-#: config/rs6000/rs6000.c:12005 config/spu/spu.c:1492
++#: config/alpha/alpha.c:5325 config/crx/crx.c:1081
++#: config/rs6000/rs6000.c:12216 config/spu/spu.c:1482
+ #, c-format
+ msgid "invalid %%xn code"
+ msgstr "некорректный код %%xn"
+
+-#: config/arc/arc.c:1724 config/m32r/m32r.c:1805
++#: config/arc/arc.c:1728 config/m32r/m32r.c:1805
+ #, c-format
+ msgid "invalid operand to %%R code"
+ msgstr "некорректный операнд Ð´Ð»Ñ ÐºÐ¾Ð´Ð° %%R"
+
+-#: config/arc/arc.c:1756 config/m32r/m32r.c:1828
++#: config/arc/arc.c:1760 config/m32r/m32r.c:1828
+ #, c-format
+ msgid "invalid operand to %%H/%%L code"
+ msgstr "некорректный операнд Ð´Ð»Ñ ÐºÐ¾Ð´Ð° %%H/%%L"
+
+-#: config/arc/arc.c:1778 config/m32r/m32r.c:1899
++#: config/arc/arc.c:1782 config/m32r/m32r.c:1899
+ #, c-format
+ msgid "invalid operand to %%U code"
+ msgstr "некорректный операнд Ð´Ð»Ñ ÐºÐ¾Ð´Ð° %%U"
+
+-#: config/arc/arc.c:1789
++#: config/arc/arc.c:1793
+ #, c-format
+ msgid "invalid operand to %%V code"
+ msgstr "некорректный операнд Ð´Ð»Ñ ÐºÐ¾Ð´Ð° %%V"
+
+ #. Unknown flag.
+ #. Undocumented flag.
+-#: config/arc/arc.c:1796 config/m32r/m32r.c:1926 config/sparc/sparc.c:6995
++#: config/arc/arc.c:1800 config/m32r/m32r.c:1926 config/sparc/sparc.c:6998
+ #, c-format
+ msgid "invalid operand output code"
+ msgstr "неверный код выходного операнда"
+@@ -2904,9 +2912,9 @@
+ #: config/arm/arm.c:12830 config/arm/arm.c:12865 config/arm/arm.c:12884
+ #: config/arm/arm.c:12899 config/arm/arm.c:12927 config/arm/arm.c:12934
+ #: config/arm/arm.c:12942 config/arm/arm.c:12963 config/arm/arm.c:12970
+-#: config/bfin/bfin.c:1436 config/bfin/bfin.c:1443 config/bfin/bfin.c:1450
+-#: config/bfin/bfin.c:1457 config/bfin/bfin.c:1466 config/bfin/bfin.c:1473
+-#: config/bfin/bfin.c:1480 config/bfin/bfin.c:1487
++#: config/bfin/bfin.c:1529 config/bfin/bfin.c:1536 config/bfin/bfin.c:1543
++#: config/bfin/bfin.c:1550 config/bfin/bfin.c:1559 config/bfin/bfin.c:1566
++#: config/bfin/bfin.c:1573 config/bfin/bfin.c:1580
+ #, c-format
+ msgid "invalid operand for code '%c'"
+ msgstr "некорректный код операнда '%c'"
+@@ -2921,240 +2929,159 @@
+ msgid "missing operand"
+ msgstr "отÑутÑтвует операнд"
+
+-#: config/avr/avr.c:1022
++#: config/avr/avr.c:1062
+ #, c-format
+ msgid "address operand requires constraint for X, Y, or Z register"
+ msgstr "Ð”Ð»Ñ Ð¾Ð¿ÐµÑ€Ð°Ð½Ð´Ð° адреÑа должны задаватьÑÑ Ð¾Ð³Ñ€Ð°Ð½Ð¸Ñ‡ÐµÐ½Ð¸Ñ Ð¾Ð´Ð¸Ð½ из региÑтров X, Y или Z"
+
+-#: config/avr/avr.c:1129
++#: config/avr/avr.c:1169
+ msgid "bad address, not (reg+disp):"
+ msgstr "некорректный адреÑ, не (рег+Ñмещение)"
+
+-#: config/avr/avr.c:1136
++#: config/avr/avr.c:1176
+ msgid "bad address, not post_inc or pre_dec:"
+ msgstr "некорректный адреÑ, не post_inc или pre_dec:"
+
+-#: config/avr/avr.c:1147
++#: config/avr/avr.c:1187
+ msgid "internal compiler error. Bad address:"
+ msgstr "внутреннÑÑ Ð¾ÑˆÐ¸Ð±ÐºÐ° компилÑтора: Ðекорректный адреÑ:"
+
+-#: config/avr/avr.c:1160
++#: config/avr/avr.c:1200
+ msgid "internal compiler error. Unknown mode:"
+ msgstr "внутреннÑÑ Ð¾ÑˆÐ¸Ð±ÐºÐ° компилÑтора: ÐеизвеÑÑ‚Ð½Ð°Ñ Ð¼Ð¾Ð´Ð°:"
+
+-#: config/avr/avr.c:1775 config/avr/avr.c:2463
++#: config/avr/avr.c:1815 config/avr/avr.c:2503
+ msgid "invalid insn:"
+ msgstr "Ð½ÐµÐºÐ¾Ñ€Ñ€ÐµÐºÑ‚Ð½Ð°Ñ Ð¸Ð½ÑтрукциÑ:"
+
+-#: config/avr/avr.c:1814 config/avr/avr.c:1900 config/avr/avr.c:1949
+-#: config/avr/avr.c:1977 config/avr/avr.c:2072 config/avr/avr.c:2241
+-#: config/avr/avr.c:2502 config/avr/avr.c:2614
++#: config/avr/avr.c:1854 config/avr/avr.c:1940 config/avr/avr.c:1989
++#: config/avr/avr.c:2017 config/avr/avr.c:2112 config/avr/avr.c:2281
++#: config/avr/avr.c:2542 config/avr/avr.c:2654
+ msgid "incorrect insn:"
+ msgstr "Ð½ÐµÐºÐ¾Ñ€Ñ€ÐµÐºÑ‚Ð½Ð°Ñ Ð¸Ð½ÑтрукциÑ:"
+
+-#: config/avr/avr.c:1996 config/avr/avr.c:2157 config/avr/avr.c:2312
+-#: config/avr/avr.c:2680
++#: config/avr/avr.c:2036 config/avr/avr.c:2197 config/avr/avr.c:2352
++#: config/avr/avr.c:2720
+ msgid "unknown move insn:"
+ msgstr "Ð½ÐµÐºÐ¾Ñ€Ñ€ÐµÐºÑ‚Ð½Ð°Ñ Ð¸Ð½ÑÑ‚Ñ€ÑƒÐºÑ†Ð¸Ñ move:"
+
+-#: config/avr/avr.c:2910
++#: config/avr/avr.c:2950
+ msgid "bad shift insn:"
+ msgstr "Ð½ÐµÐºÐ¾Ñ€Ñ€ÐµÐºÑ‚Ð½Ð°Ñ Ð¸Ð½ÑÑ‚Ñ€ÑƒÐºÑ†Ð¸Ñ Ñдвига:"
+
+-#: config/avr/avr.c:3026 config/avr/avr.c:3446 config/avr/avr.c:3804
++#: config/avr/avr.c:3066 config/avr/avr.c:3486 config/avr/avr.c:3844
+ msgid "internal compiler error. Incorrect shift:"
+ msgstr "ВнутреннÑÑ Ð¾ÑˆÐ¸Ð±ÐºÐ° компилÑтора: Ðекорректный Ñдвиг:"
+
+-#: config/bfin/bfin.c:1385
++#: config/bfin/bfin.c:1478
+ #, c-format
+ msgid "invalid %%j value"
+ msgstr "неверное значение %%j"
+
+-#: config/bfin/bfin.c:1578
++#: config/bfin/bfin.c:1671
+ #, c-format
+ msgid "invalid const_double operand"
+ msgstr "некорректный операнд const_double"
+
+-#: config/c4x/c4x.c:1583
+-msgid "using CONST_DOUBLE for address"
+-msgstr "в качеÑтве адреÑа иÑпользуетÑÑ CONST_DOUBLE"
+-
+-#: config/c4x/c4x.c:1721
+-msgid "c4x_address_cost: Invalid addressing mode"
+-msgstr "c4x_address_cost: ÐÐµÐºÐ¾Ñ€Ñ€ÐµÐºÑ‚Ð½Ð°Ñ Ð°Ð´Ñ€ÐµÑациÑ"
+-
+-#: config/c4x/c4x.c:1856
+-#, c-format
+-msgid "c4x_print_operand: %%L inconsistency"
+-msgstr "c4x_print_operand: %%L-неÑовмеÑтимоÑÑ‚ÑŒ"
+-
+-#: config/c4x/c4x.c:1862
+-#, c-format
+-msgid "c4x_print_operand: %%N inconsistency"
+-msgstr "c4x_print_operand: %%N-неÑовмеÑтимоÑÑ‚ÑŒ"
+-
+-#: config/c4x/c4x.c:1903
+-#, c-format
+-msgid "c4x_print_operand: %%O inconsistency"
+-msgstr "c4x_print_operand: %%O-неÑовмеÑтимоÑÑ‚ÑŒ"
+-
+-#: config/c4x/c4x.c:1998
+-msgid "c4x_print_operand: Bad operand case"
+-msgstr "c4x_print_operand: Ðекорректный операнд"
+-
+-#: config/c4x/c4x.c:2039
+-msgid "c4x_print_operand_address: Bad post_modify"
+-msgstr "c4x_print_operand_address: ÐÐµÐºÐ¾Ñ€Ñ€ÐµÐºÑ‚Ð½Ð°Ñ Ð°Ð´Ñ€ÐµÑÐ°Ñ†Ð¸Ñ post_modify"
+-
+-#: config/c4x/c4x.c:2061
+-msgid "c4x_print_operand_address: Bad pre_modify"
+-msgstr "c4x_print_operand_address: ÐÐµÐºÐ¾Ñ€Ñ€ÐµÐºÑ‚Ð½Ð°Ñ Ð°Ð´Ñ€ÐµÑÐ°Ñ†Ð¸Ñ pre_modify"
+-
+-#: config/c4x/c4x.c:2109 config/c4x/c4x.c:2121 config/c4x/c4x.c:2136
+-msgid "c4x_print_operand_address: Bad operand case"
+-msgstr "c4x_print_operand_address: Ðекорректный операнд"
+-
+-#: config/c4x/c4x.c:2387
+-msgid "c4x_rptb_insert: Cannot find start label"
+-msgstr "c4x_rptb_insert: Ðе найдена ÑÑ‚Ð°Ñ€Ñ‚Ð¾Ð²Ð°Ñ Ð¼ÐµÑ‚ÐºÐ°"
+-
+-#: config/c4x/c4x.c:2985
+-msgid "invalid indirect memory address"
+-msgstr "ÐÐµÐºÐ¾Ñ€Ñ€ÐµÐºÑ‚Ð½Ð°Ñ ÐºÐ¾ÑÐ²ÐµÐ½Ð½Ð°Ñ Ð°Ð´Ñ€ÐµÑÐ°Ñ†Ð¸Ñ Ð¿Ð°Ð¼Ñти"
+-
+-#: config/c4x/c4x.c:3074
+-msgid "invalid indirect (S) memory address"
+-msgstr "ÐÐµÐºÐ¾Ñ€Ñ€ÐµÐºÑ‚Ð½Ð°Ñ ÐºÐ¾ÑÐ²ÐµÐ½Ð½Ð°Ñ Ð°Ð´Ñ€ÐµÑÐ°Ñ†Ð¸Ñ Ð¿Ð°Ð¼Ñти (S)"
+-
+-#: config/c4x/c4x.c:3409
+-msgid "c4x_valid_operands: Internal error"
+-msgstr "c4x_valid_operands: ВнутреннÑÑ Ð¾ÑˆÐ¸Ð±ÐºÐ°"
+-
+-#: config/c4x/c4x.c:3848
+-msgid "c4x_operand_subword: invalid mode"
+-msgstr "c4x_operand_subword: Ð½ÐµÐºÐ¾Ñ€Ñ€ÐµÐºÑ‚Ð½Ð°Ñ Ð¼Ð¾Ð´Ð°"
+-
+-#: config/c4x/c4x.c:3851
+-msgid "c4x_operand_subword: invalid operand"
+-msgstr "c4x_operand_subword: некорректный операнд"
+-
+-#. We could handle these with some difficulty.
+-#. e.g., *p-- => *(p-=2); *(p+1).
+-#: config/c4x/c4x.c:3877
+-msgid "c4x_operand_subword: invalid autoincrement"
+-msgstr "c4x_operand_subword: Ð½ÐµÐºÐ¾Ñ€Ñ€ÐµÐºÑ‚Ð½Ð°Ñ Ð°Ð²Ñ‚Ð¾Ð¸Ð½ÐºÑ€ÐµÐ¼ÐµÐ½Ñ‚Ð°Ñ†Ð¸Ñ"
+-
+-#: config/c4x/c4x.c:3883
+-msgid "c4x_operand_subword: invalid address"
+-msgstr "c4x_operand_subword: некорректный адреÑ"
+-
+-#: config/c4x/c4x.c:3894
+-msgid "c4x_operand_subword: address not offsettable"
+-msgstr "c4x_operand_subword: невозможно выполнить Ñмещение адреÑа"
+-
+-#: config/c4x/c4x.c:4096
+-msgid "c4x_rptb_rpts_p: Repeat block top label moved"
+-msgstr "c4x_rptb_rpts_p: Метка заголовка повторÑющегоÑÑ Ð±Ð»Ð¾ÐºÐ° перемещена"
+-
+ #. Use `%s' to print the string in case there are any escape
+ #. characters in the message.
+-#: config/cris/cris.c:491 fortran/dump-parse-tree.c:78
+-#: fortran/dump-parse-tree.c:430 fortran/dump-parse-tree.c:776
+-#: fortran/dump-parse-tree.c:821 c-typeck.c:4607 c-typeck.c:4622
+-#: c-typeck.c:4637 final.c:2984 final.c:2986 gcc.c:4737 loop-iv.c:2807
+-#: loop-iv.c:2816 rtl-error.c:112 toplev.c:610 tree-ssa-loop-niter.c:1829
+-#: cp/parser.c:2188 cp/typeck.c:4559 java/expr.c:409
++#: config/cris/cris.c:504 fortran/dump-parse-tree.c:78
++#: fortran/dump-parse-tree.c:430 fortran/dump-parse-tree.c:798
++#: fortran/dump-parse-tree.c:843 c-typeck.c:4618 c-typeck.c:4633
++#: c-typeck.c:4648 final.c:2997 final.c:2999 gcc.c:4731 loop-iv.c:2808
++#: loop-iv.c:2817 rtl-error.c:112 toplev.c:610 tree-ssa-loop-niter.c:1829
++#: cp/parser.c:2192 cp/typeck.c:4567 java/expr.c:409
+ #, gcc-internal-format
+ msgid "%s"
+ msgstr "%s"
+
+-#: config/cris/cris.c:542
++#: config/cris/cris.c:555
+ msgid "unexpected index-type in cris_print_index"
+ msgstr "некорректный тип индекÑа в cris_print_index"
+
+-#: config/cris/cris.c:556
++#: config/cris/cris.c:572
+ msgid "unexpected base-type in cris_print_base"
+ msgstr "некорректный тип базы в cris_print_base"
+
+-#: config/cris/cris.c:672
++#: config/cris/cris.c:688
+ msgid "invalid operand for 'b' modifier"
+ msgstr "некорректный операнд Ð´Ð»Ñ Ð¼Ð¾Ð´Ð¸Ñ„Ð¸ÐºÐ°Ñ‚Ð¾Ñ€Ð° 'b'"
+
+-#: config/cris/cris.c:689
++#: config/cris/cris.c:705
+ msgid "invalid operand for 'o' modifier"
+ msgstr "некорректный операнд Ð´Ð»Ñ Ð¼Ð¾Ð´Ð¸Ñ„Ð¸ÐºÐ°Ñ‚Ð¾Ñ€Ð° 'o'"
+
+-#: config/cris/cris.c:708
++#: config/cris/cris.c:724
+ msgid "invalid operand for 'O' modifier"
+ msgstr "некорректный операнд Ð´Ð»Ñ Ð¼Ð¾Ð´Ð¸Ñ„Ð¸ÐºÐ°Ñ‚Ð¾Ñ€Ð° 'O'"
+
+-#: config/cris/cris.c:741
++#: config/cris/cris.c:757
+ msgid "invalid operand for 'p' modifier"
+ msgstr "некорректный операнд Ð´Ð»Ñ Ð¼Ð¾Ð´Ð¸Ñ„Ð¸ÐºÐ°Ñ‚Ð¾Ñ€Ð° 'p'"
+
+-#: config/cris/cris.c:780
++#: config/cris/cris.c:796
+ msgid "invalid operand for 'z' modifier"
+ msgstr "некорректный операнд Ð´Ð»Ñ Ð¼Ð¾Ð´Ð¸Ñ„Ð¸ÐºÐ°Ñ‚Ð¾Ñ€Ð° 'z'"
+
+-#: config/cris/cris.c:834 config/cris/cris.c:864
++#: config/cris/cris.c:860 config/cris/cris.c:894
+ msgid "invalid operand for 'H' modifier"
+ msgstr "некорректный операнд Ð´Ð»Ñ Ð¼Ð¾Ð´Ð¸Ñ„Ð¸ÐºÐ°Ñ‚Ð¾Ñ€Ð° 'H'"
+
+-#: config/cris/cris.c:840
++#: config/cris/cris.c:870
+ msgid "bad register"
+ msgstr "некорректный региÑÑ‚Ñ€"
+
+-#: config/cris/cris.c:884
++#: config/cris/cris.c:914
+ msgid "invalid operand for 'e' modifier"
+ msgstr "некорректный операнд Ð´Ð»Ñ Ð¼Ð¾Ð´Ð¸Ñ„Ð¸ÐºÐ°Ñ‚Ð¾Ñ€Ð° 'e'"
+
+-#: config/cris/cris.c:901
++#: config/cris/cris.c:931
+ msgid "invalid operand for 'm' modifier"
+ msgstr "некорректный операнд Ð´Ð»Ñ Ð¼Ð¾Ð´Ð¸Ñ„Ð¸ÐºÐ°Ñ‚Ð¾Ñ€Ð° 'm'"
+
+-#: config/cris/cris.c:926
++#: config/cris/cris.c:956
+ msgid "invalid operand for 'A' modifier"
+ msgstr "некорректный операнд Ð´Ð»Ñ Ð¼Ð¾Ð´Ð¸Ñ„Ð¸ÐºÐ°Ñ‚Ð¾Ñ€Ð° 'A'"
+
+-#: config/cris/cris.c:949
++#: config/cris/cris.c:979
+ msgid "invalid operand for 'D' modifier"
+ msgstr "некорректный операнд Ð´Ð»Ñ Ð¼Ð¾Ð´Ð¸Ñ„Ð¸ÐºÐ°Ñ‚Ð¾Ñ€Ð° 'D'"
+
+-#: config/cris/cris.c:963
++#: config/cris/cris.c:993
+ msgid "invalid operand for 'T' modifier"
+ msgstr "некорректный операнд Ð´Ð»Ñ Ð¼Ð¾Ð´Ð¸Ñ„Ð¸ÐºÐ°Ñ‚Ð¾Ñ€Ð° 'T'"
+
+-#: config/cris/cris.c:972
++#: config/cris/cris.c:1013
+ msgid "invalid operand modifier letter"
+ msgstr "некорректный модификатор операнда"
+
+-#: config/cris/cris.c:1029
++#: config/cris/cris.c:1070
+ msgid "unexpected multiplicative operand"
+ msgstr "некорректный мультипликативный операнд"
+
+-#: config/cris/cris.c:1049
++#: config/cris/cris.c:1090
+ msgid "unexpected operand"
+ msgstr "некорректный операнд"
+
+-#: config/cris/cris.c:1082 config/cris/cris.c:1092
++#: config/cris/cris.c:1123 config/cris/cris.c:1133
+ msgid "unrecognized address"
+ msgstr "некорректный адреÑ"
+
+-#: config/cris/cris.c:2019
++#: config/cris/cris.c:2209
+ msgid "unrecognized supposed constant"
+ msgstr "Ð½ÐµÐ¾Ð¿Ð¾Ð·Ð½Ð°Ð½Ð½Ð°Ñ ÐºÐ¾Ð½Ñтанта"
+
+-#: config/cris/cris.c:2394 config/cris/cris.c:2458
++#: config/cris/cris.c:2638 config/cris/cris.c:2702
+ msgid "unexpected side-effects in address"
+ msgstr "некорректные побочные Ñффекты в адреÑе"
+
+ #. Can't possibly get a GOT-needing-fixup for a function-call,
+ #. right?
+-#: config/cris/cris.c:3253
++#: config/cris/cris.c:3539
+ msgid "Unidentifiable call op"
+ msgstr "ÐÐµÐ¸Ð´ÐµÐ½Ñ‚Ð¸Ñ„Ð¸Ñ†Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð½Ð°Ñ Ð¾Ð¿ÐµÑ€Ð°Ñ†Ð¸Ñ Ð²Ñ‹Ð·Ð¾Ð²Ð°"
+
+-#: config/cris/cris.c:3304
++#: config/cris/cris.c:3590
+ #, c-format
+ msgid "PIC register isn't set up"
+ msgstr "PIC-региÑÑ‚Ñ€ не уÑтановлен"
+@@ -3205,81 +3132,81 @@
+ msgid "fr30_print_operand: unhandled MEM"
+ msgstr "fr30_print_operand: Ð½ÐµÐ¾Ð±Ñ€Ð°Ð±Ð¾Ñ‚Ð°Ð½Ð½Ð°Ñ ÐºÐ¾Ð½ÑÑ‚Ñ€ÑƒÐºÑ†Ð¸Ñ MEM"
+
+-#: config/frv/frv.c:2542
++#: config/frv/frv.c:2546
+ msgid "bad insn to frv_print_operand_address:"
+ msgstr "ÐÐµÐºÐ¾Ñ€Ñ€ÐµÐºÑ‚Ð½Ð°Ñ Ð¸Ð½ÑÑ‚Ñ€ÑƒÐºÑ†Ð¸Ñ Ð´Ð»Ñ frv_print_operand_address:"
+
+-#: config/frv/frv.c:2553
++#: config/frv/frv.c:2557
+ msgid "bad register to frv_print_operand_memory_reference_reg:"
+ msgstr "Ðекорректный региÑÑ‚Ñ€ Ð´Ð»Ñ frv_print_operand_memory_reference_reg:"
+
+-#: config/frv/frv.c:2592 config/frv/frv.c:2602 config/frv/frv.c:2611
+-#: config/frv/frv.c:2632 config/frv/frv.c:2637
++#: config/frv/frv.c:2596 config/frv/frv.c:2606 config/frv/frv.c:2615
++#: config/frv/frv.c:2636 config/frv/frv.c:2641
+ msgid "bad insn to frv_print_operand_memory_reference:"
+ msgstr "ÐÐµÐºÐ¾Ñ€Ñ€ÐµÐºÑ‚Ð½Ð°Ñ Ð¸Ð½ÑÑ‚Ñ€ÑƒÐºÑ†Ð¸Ñ Ð´Ð»Ñ frv_print_operand_memory_reference:"
+
+-#: config/frv/frv.c:2723
++#: config/frv/frv.c:2727
+ #, c-format
+ msgid "bad condition code"
+ msgstr "некорректный код уÑловиÑ"
+
+-#: config/frv/frv.c:2798
++#: config/frv/frv.c:2802
+ msgid "bad insn in frv_print_operand, bad const_double"
+ msgstr "ÐÐµÐºÐ¾Ñ€Ñ€ÐµÐºÑ‚Ð½Ð°Ñ Ð¸Ð½ÑÑ‚Ñ€ÑƒÐºÑ†Ð¸Ñ Ð´Ð»Ñ frv_print_operand, плохой const_double "
+
+-#: config/frv/frv.c:2859
++#: config/frv/frv.c:2863
+ msgid "bad insn to frv_print_operand, 'e' modifier:"
+ msgstr "ÐÐµÐºÐ¾Ñ€Ñ€ÐµÐºÑ‚Ð½Ð°Ñ Ð¸Ð½ÑÑ‚Ñ€ÑƒÐºÑ†Ð¸Ñ Ð´Ð»Ñ frv_print_operand, модификатор 'e':"
+
+-#: config/frv/frv.c:2867
++#: config/frv/frv.c:2871
+ msgid "bad insn to frv_print_operand, 'F' modifier:"
+ msgstr "ÐÐµÐºÐ¾Ñ€Ñ€ÐµÐºÑ‚Ð½Ð°Ñ Ð¸Ð½ÑÑ‚Ñ€ÑƒÐºÑ†Ð¸Ñ Ð´Ð»Ñ frv_print_operand, модификатор 'F':"
+
+-#: config/frv/frv.c:2883
++#: config/frv/frv.c:2887
+ msgid "bad insn to frv_print_operand, 'f' modifier:"
+ msgstr "ÐÐµÐºÐ¾Ñ€Ñ€ÐµÐºÑ‚Ð½Ð°Ñ Ð¸Ð½ÑÑ‚Ñ€ÑƒÐºÑ†Ð¸Ñ Ð´Ð»Ñ frv_print_operand, модификатор 'f':"
+
+-#: config/frv/frv.c:2897
++#: config/frv/frv.c:2901
+ msgid "bad insn to frv_print_operand, 'g' modifier:"
+ msgstr "ÐÐµÐºÐ¾Ñ€Ñ€ÐµÐºÑ‚Ð½Ð°Ñ Ð¸Ð½ÑÑ‚Ñ€ÑƒÐºÑ†Ð¸Ñ Ð´Ð»Ñ frv_print_operand, модификатор 'g':"
+
+-#: config/frv/frv.c:2945
++#: config/frv/frv.c:2949
+ msgid "bad insn to frv_print_operand, 'L' modifier:"
+ msgstr "ÐÐµÐºÐ¾Ñ€Ñ€ÐµÐºÑ‚Ð½Ð°Ñ Ð¸Ð½ÑÑ‚Ñ€ÑƒÐºÑ†Ð¸Ñ Ð´Ð»Ñ frv_print_operand, модификатор 'L':"
+
+-#: config/frv/frv.c:2958
++#: config/frv/frv.c:2962
+ msgid "bad insn to frv_print_operand, 'M/N' modifier:"
+ msgstr "ÐÐµÐºÐ¾Ñ€Ñ€ÐµÐºÑ‚Ð½Ð°Ñ Ð¸Ð½ÑÑ‚Ñ€ÑƒÐºÑ†Ð¸Ñ Ð´Ð»Ñ frv_print_operand, модификатор 'M/N':"
+
+-#: config/frv/frv.c:2979
++#: config/frv/frv.c:2983
+ msgid "bad insn to frv_print_operand, 'O' modifier:"
+ msgstr "ÐÐµÐºÐ¾Ñ€Ñ€ÐµÐºÑ‚Ð½Ð°Ñ Ð¸Ð½ÑÑ‚Ñ€ÑƒÐºÑ†Ð¸Ñ Ð´Ð»Ñ frv_print_operand, модификатор 'O':"
+
+-#: config/frv/frv.c:2997
++#: config/frv/frv.c:3001
+ msgid "bad insn to frv_print_operand, P modifier:"
+ msgstr "ÐÐµÐºÐ¾Ñ€Ñ€ÐµÐºÑ‚Ð½Ð°Ñ Ð¸Ð½ÑÑ‚Ñ€ÑƒÐºÑ†Ð¸Ñ Ð´Ð»Ñ frv_print_operand, модификатор 'P':"
+
+-#: config/frv/frv.c:3017
++#: config/frv/frv.c:3021
+ msgid "bad insn in frv_print_operand, z case"
+ msgstr "ÐÐµÐºÐ¾Ñ€Ñ€ÐµÐºÑ‚Ð½Ð°Ñ Ð¸Ð½ÑÑ‚Ñ€ÑƒÐºÑ†Ð¸Ñ Ð´Ð»Ñ frv_print_operand, Ñлучай z"
+
+-#: config/frv/frv.c:3048
++#: config/frv/frv.c:3052
+ msgid "bad insn in frv_print_operand, 0 case"
+ msgstr "ÐÐµÐºÐ¾Ñ€Ñ€ÐµÐºÑ‚Ð½Ð°Ñ Ð¸Ð½ÑÑ‚Ñ€ÑƒÐºÑ†Ð¸Ñ Ð´Ð»Ñ frv_print_operand, Ñлучай 0"
+
+-#: config/frv/frv.c:3053
++#: config/frv/frv.c:3057
+ msgid "frv_print_operand: unknown code"
+ msgstr "frv_print_operand: некорректный код"
+
+-#: config/frv/frv.c:4422
++#: config/frv/frv.c:4426
+ msgid "bad output_move_single operand"
+ msgstr "некорректный операнд Ð´Ð»Ñ output_move_single"
+
+-#: config/frv/frv.c:4549
++#: config/frv/frv.c:4553
+ msgid "bad output_move_double operand"
+ msgstr "некорректный операнд Ð´Ð»Ñ output_move_double"
+
+-#: config/frv/frv.c:4691
++#: config/frv/frv.c:4695
+ msgid "bad output_condmove_single operand"
+ msgstr "некорректный операнд Ð´Ð»Ñ output_condmove_single"
+
+@@ -3297,27 +3224,27 @@
+ msgid " (frv)"
+ msgstr " (frv)"
+
+-#: config/i386/i386.c:8218
++#: config/i386/i386.c:8273
+ #, c-format
+ msgid "invalid UNSPEC as operand"
+ msgstr "некорректный операнд UNSPEC"
+
+-#: config/i386/i386.c:8924
++#: config/i386/i386.c:8979
+ #, c-format
+ msgid "operand is neither a constant nor a condition code, invalid operand code 'c'"
+ msgstr "операнд не ÑвлÑетÑÑ ÐºÐ¾Ð½Ñтантой или кодом уÑловиÑ, неверный код операнда 'c'"
+
+-#: config/i386/i386.c:9040
++#: config/i386/i386.c:9095
+ #, c-format
+ msgid "invalid operand code '%c'"
+ msgstr "некорректный код операнда '%c'"
+
+-#: config/i386/i386.c:9089
++#: config/i386/i386.c:9144
+ #, c-format
+ msgid "invalid constraints for operand"
+ msgstr "некорректные Ð¾Ð³Ñ€Ð°Ð½Ð¸Ñ‡ÐµÐ½Ð¸Ñ Ð´Ð»Ñ Ð¾Ð¿ÐµÑ€Ð°Ð½Ð´Ð°"
+
+-#: config/i386/i386.c:16348
++#: config/i386/i386.c:16423
+ msgid "unknown insn mode"
+ msgstr "Ð½ÐµÐºÐ¾Ñ€Ñ€ÐµÐºÑ‚Ð½Ð°Ñ Ð¼Ð¾Ð´Ð° инÑтрукции"
+
+@@ -3338,34 +3265,34 @@
+ msgid "environment variable DJGPP points to corrupt file '%s'"
+ msgstr "Ð¿ÐµÑ€ÐµÐ¼ÐµÐ½Ð½Ð°Ñ Ð¾ÐºÑ€ÑƒÐ¶ÐµÐ½Ð¸Ñ DJGPP указывает на иÑпорченный файл '%s'"
+
+-#: config/ia64/ia64.c:4770
++#: config/ia64/ia64.c:4771
+ #, c-format
+ msgid "ia64_print_operand: unknown code"
+ msgstr "ia64_print_operand: некорректный код"
+
+-#: config/ia64/ia64.c:9889
++#: config/ia64/ia64.c:9890
+ msgid "invalid conversion from %<__fpreg%>"
+ msgstr "некорректное преобразование из %<__fpreg%>"
+
+-#: config/ia64/ia64.c:9892
++#: config/ia64/ia64.c:9893
+ msgid "invalid conversion to %<__fpreg%>"
+ msgstr "некорректное преобразование к %<__fpreg%>"
+
+-#: config/ia64/ia64.c:9905 config/ia64/ia64.c:9916
++#: config/ia64/ia64.c:9906 config/ia64/ia64.c:9917
+ msgid "invalid operation on %<__fpreg%>"
+ msgstr "некорректный операнд Ð´Ð»Ñ %<__fpreg%>"
+
+-#: config/iq2000/iq2000.c:3118
++#: config/iq2000/iq2000.c:3122
+ #, c-format
+ msgid "invalid %%P operand"
+ msgstr "неверный операнд Ð´Ð»Ñ ÐºÐ¾Ð´Ð° %%P"
+
+-#: config/iq2000/iq2000.c:3126 config/rs6000/rs6000.c:11607
++#: config/iq2000/iq2000.c:3130 config/rs6000/rs6000.c:11818
+ #, c-format
+ msgid "invalid %%p value"
+ msgstr "неверное значение Ð´Ð»Ñ ÐºÐ¾Ð´Ð° %%p"
+
+-#: config/iq2000/iq2000.c:3182
++#: config/iq2000/iq2000.c:3186
+ #, c-format
+ msgid "invalid use of %%d, %%x, or %%X"
+ msgstr "некорректное иÑпользование %%d, %%x или %%X"
+@@ -3407,7 +3334,7 @@
+ msgstr "поÑтинкрементный Ð°Ð´Ñ€ÐµÑ - не региÑÑ‚Ñ€"
+
+ #: config/m32r/m32r.c:2030 config/m32r/m32r.c:2044
+-#: config/rs6000/rs6000.c:19870
++#: config/rs6000/rs6000.c:20087
+ msgid "bad address"
+ msgstr "некорректный адреÑ"
+
+@@ -3453,59 +3380,59 @@
+ msgid "invalid Z register replacement for insn"
+ msgstr "Ð½ÐµÐºÐ¾Ñ€Ñ€ÐµÐºÑ‚Ð½Ð°Ñ Ð·Ð°Ð¼ÐµÐ½Ð° Z-региÑтра в инÑтрукции"
+
+-#: config/mips/mips.c:6313 config/mips/mips.c:6334 config/mips/mips.c:6438
++#: config/mips/mips.c:6371 config/mips/mips.c:6392 config/mips/mips.c:6496
+ #, c-format
+ msgid "'%%%c' is not a valid operand prefix"
+ msgstr "'%%%c' не ÑвлÑетÑÑ ÐºÐ¾Ñ€Ñ€ÐµÐºÑ‚Ð½Ñ‹Ð¼ префикÑом оператора"
+
+-#: config/mips/mips.c:6382 config/mips/mips.c:6389 config/mips/mips.c:6396
+-#: config/mips/mips.c:6456
++#: config/mips/mips.c:6440 config/mips/mips.c:6447 config/mips/mips.c:6454
++#: config/mips/mips.c:6514
+ #, c-format
+ msgid "invalid use of '%%%c'"
+ msgstr "некорректное иÑпользование '%%%c'"
+
+-#: config/mips/mips.c:6701
++#: config/mips/mips.c:6761
+ msgid "mips_debugger_offset called with non stack/frame/arg pointer"
+ msgstr "mips_debugger_offset вызвана не Ñ ÑƒÐºÐ°Ð·Ð°Ñ‚ÐµÐ»ÐµÐ¼ кадра"
+
+-#: config/mmix/mmix.c:1487 config/mmix/mmix.c:1617
++#: config/mmix/mmix.c:1483 config/mmix/mmix.c:1613
+ msgid "MMIX Internal: Expected a CONST_INT, not this"
+ msgstr "Внутреннее Ñообщение MMIX: ожидалоÑÑŒ значение CONST_INT, а не Ñто"
+
+-#: config/mmix/mmix.c:1566
++#: config/mmix/mmix.c:1562
+ msgid "MMIX Internal: Bad value for 'm', not a CONST_INT"
+ msgstr "Внутреннее Ñообщение MMIX: некорректное значение Ð´Ð»Ñ 'm', не CONST_INT"
+
+-#: config/mmix/mmix.c:1585
++#: config/mmix/mmix.c:1581
+ msgid "MMIX Internal: Expected a register, not this"
+ msgstr "Внутреннее Ñообщение MMIX: ожидалÑÑ Ñ€ÐµÐ³Ð¸ÑÑ‚Ñ€, а не Ñто"
+
+-#: config/mmix/mmix.c:1595
++#: config/mmix/mmix.c:1591
+ msgid "MMIX Internal: Expected a constant, not this"
+ msgstr "Внутреннее Ñообщение MMIX: ожидалаÑÑŒ конÑтанта, а не Ñто"
+
+ #. We need the original here.
+-#: config/mmix/mmix.c:1679
++#: config/mmix/mmix.c:1675
+ msgid "MMIX Internal: Cannot decode this operand"
+ msgstr "Внутреннее Ñообщение MMIX: ошибка при декодировании операнда"
+
+-#: config/mmix/mmix.c:1736
++#: config/mmix/mmix.c:1732
+ msgid "MMIX Internal: This is not a recognized address"
+ msgstr "Внутреннее Ñообщение MMIX: некорректный адреÑ"
+
+-#: config/mmix/mmix.c:2669
++#: config/mmix/mmix.c:2665
+ msgid "MMIX Internal: Trying to output invalidly reversed condition:"
+ msgstr "Внутреннее Ñообщение MMIX: попытка вывода некорректного обратного уÑловиÑ:"
+
+-#: config/mmix/mmix.c:2676
++#: config/mmix/mmix.c:2672
+ msgid "MMIX Internal: What's the CC of this?"
+ msgstr "Внутреннее Ñообщение MMIX: чему равен код уÑÐ»Ð¾Ð²Ð¸Ñ Ð¾Ñ‚ Ñтой конÑтрукции?"
+
+-#: config/mmix/mmix.c:2680
++#: config/mmix/mmix.c:2676
+ msgid "MMIX Internal: What is the CC of this?"
+ msgstr "Внутреннее Ñообщение MMIX: чему равен код уÑÐ»Ð¾Ð²Ð¸Ñ Ð¾Ñ‚ Ñтой конÑтрукции?"
+
+-#: config/mmix/mmix.c:2744
++#: config/mmix/mmix.c:2740
+ msgid "MMIX Internal: This is not a constant:"
+ msgstr "Внутреннее Ñообщение MMIX: Ñто не конÑтанта:"
+
+@@ -3531,81 +3458,81 @@
+ msgid "Try running '%s' in the shell to raise its limit.\n"
+ msgstr "Попробуйте выполнить '%s' в командной Ñтроке, чтобы увеличить его размер.\n"
+
+-#: config/rs6000/rs6000.c:11434
++#: config/rs6000/rs6000.c:11645
+ #, c-format
+ msgid "invalid %%f value"
+ msgstr "некорректное значение Ð´Ð»Ñ ÐºÐ¾Ð´Ð° %%f"
+
+-#: config/rs6000/rs6000.c:11443
++#: config/rs6000/rs6000.c:11654
+ #, c-format
+ msgid "invalid %%F value"
+ msgstr "некорректное значение Ð´Ð»Ñ ÐºÐ¾Ð´Ð° %%F"
+
+-#: config/rs6000/rs6000.c:11452
++#: config/rs6000/rs6000.c:11663
+ #, c-format
+ msgid "invalid %%G value"
+ msgstr "некорректное значение Ð´Ð»Ñ ÐºÐ¾Ð´Ð° %%G"
+
+-#: config/rs6000/rs6000.c:11487
++#: config/rs6000/rs6000.c:11698
+ #, c-format
+ msgid "invalid %%j code"
+ msgstr "некорректное значение Ð´Ð»Ñ ÐºÐ¾Ð´Ð° %%j"
+
+-#: config/rs6000/rs6000.c:11497
++#: config/rs6000/rs6000.c:11708
+ #, c-format
+ msgid "invalid %%J code"
+ msgstr "некорректное значение Ð´Ð»Ñ ÐºÐ¾Ð´Ð° %%J"
+
+-#: config/rs6000/rs6000.c:11507
++#: config/rs6000/rs6000.c:11718
+ #, c-format
+ msgid "invalid %%k value"
+ msgstr "некорректное значение Ð´Ð»Ñ ÐºÐ¾Ð´Ð° %%k"
+
+-#: config/rs6000/rs6000.c:11527 config/xtensa/xtensa.c:2022
++#: config/rs6000/rs6000.c:11738 config/xtensa/xtensa.c:2028
+ #, c-format
+ msgid "invalid %%K value"
+ msgstr "некорректное значение Ð´Ð»Ñ ÐºÐ¾Ð´Ð° %%K"
+
+-#: config/rs6000/rs6000.c:11597
++#: config/rs6000/rs6000.c:11808
+ #, c-format
+ msgid "invalid %%O value"
+ msgstr "некорректное значение Ð´Ð»Ñ ÐºÐ¾Ð´Ð° %%O"
+
+-#: config/rs6000/rs6000.c:11644
++#: config/rs6000/rs6000.c:11855
+ #, c-format
+ msgid "invalid %%q value"
+ msgstr "неверное значение Ð´Ð»Ñ ÐºÐ¾Ð´Ð° %%q"
+
+-#: config/rs6000/rs6000.c:11688
++#: config/rs6000/rs6000.c:11899
+ #, c-format
+ msgid "invalid %%S value"
+ msgstr "некорректное значение Ð´Ð»Ñ ÐºÐ¾Ð´Ð° %%S"
+
+-#: config/rs6000/rs6000.c:11728
++#: config/rs6000/rs6000.c:11939
+ #, c-format
+ msgid "invalid %%T value"
+ msgstr "некорректное значение Ð´Ð»Ñ ÐºÐ¾Ð´Ð° %%T"
+
+-#: config/rs6000/rs6000.c:11738
++#: config/rs6000/rs6000.c:11949
+ #, c-format
+ msgid "invalid %%u value"
+ msgstr "некорректное значение Ð´Ð»Ñ ÐºÐ¾Ð´Ð° %%u"
+
+-#: config/rs6000/rs6000.c:11747 config/xtensa/xtensa.c:1992
++#: config/rs6000/rs6000.c:11958 config/xtensa/xtensa.c:1998
+ #, c-format
+ msgid "invalid %%v value"
+ msgstr "некорректное значение Ð´Ð»Ñ ÐºÐ¾Ð´Ð° %%v"
+
+-#: config/rs6000/rs6000.c:21768
++#: config/rs6000/rs6000.c:21946
+ msgid "AltiVec argument passed to unprototyped function"
+ msgstr "Ðргумент AltiVec передан в функцию без прототипа"
+
+-#: config/s390/s390.c:4561
++#: config/s390/s390.c:4560
+ #, c-format
+ msgid "cannot decompose address"
+ msgstr "ошибка при декомпозиции адреÑа"
+
+-#: config/s390/s390.c:4771
++#: config/s390/s390.c:4770
+ msgid "UNKNOWN in print_operand !?"
+ msgstr "UNKNOWN в print_operand !?"
+
+@@ -3615,89 +3542,89 @@
+ msgid "invalid operand for code: '%c'"
+ msgstr "некорректный операнд Ð´Ð»Ñ ÐºÐ¾Ð´Ð° '%c'"
+
+-#: config/sh/sh.c:746
++#: config/sh/sh.c:749
+ #, c-format
+ msgid "invalid operand to %%R"
+ msgstr "некорректный операнд Ð´Ð»Ñ %%R"
+
+-#: config/sh/sh.c:773
++#: config/sh/sh.c:776
+ #, c-format
+ msgid "invalid operand to %%S"
+ msgstr "некорректный операнд Ð´Ð»Ñ %%S"
+
+-#: config/sh/sh.c:8095
++#: config/sh/sh.c:8098
+ msgid "created and used with different architectures / ABIs"
+ msgstr "Ñоздан Ñ Ð¾Ð´Ð½Ð¾Ð¹ архитектурой / ABI, а иÑпользуетÑÑ Ñ Ð´Ñ€ÑƒÐ³Ð¸Ð¼"
+
+-#: config/sh/sh.c:8097
++#: config/sh/sh.c:8100
+ msgid "created and used with different ABIs"
+ msgstr "Ñоздан Ñ Ð¾Ð´Ð½Ð¸Ð¼ ABI, а иÑпользуетÑÑ Ñ Ð´Ñ€ÑƒÐ³Ð¸Ð¼"
+
+-#: config/sh/sh.c:8099
++#: config/sh/sh.c:8102
+ msgid "created and used with different endianness"
+ msgstr "Ñоздан Ñ Ð¾Ð´Ð½Ð¸Ð¼ значением endianness, а иÑпользуетÑÑ Ñ Ð´Ñ€ÑƒÐ³Ð¸Ð¼"
+
+-#: config/sparc/sparc.c:6803 config/sparc/sparc.c:6809
++#: config/sparc/sparc.c:6806 config/sparc/sparc.c:6812
+ #, c-format
+ msgid "invalid %%Y operand"
+ msgstr "некорректный операнд Ð´Ð»Ñ %%Y"
+
+-#: config/sparc/sparc.c:6879
++#: config/sparc/sparc.c:6882
+ #, c-format
+ msgid "invalid %%A operand"
+ msgstr "некорректный операнд Ð´Ð»Ñ %%A"
+
+-#: config/sparc/sparc.c:6889
++#: config/sparc/sparc.c:6892
+ #, c-format
+ msgid "invalid %%B operand"
+ msgstr "некорректный операнд Ð´Ð»Ñ %%B"
+
+-#: config/sparc/sparc.c:6928
++#: config/sparc/sparc.c:6931
+ #, c-format
+ msgid "invalid %%c operand"
+ msgstr "некорректный операнд Ð´Ð»Ñ %%c"
+
+-#: config/sparc/sparc.c:6950
++#: config/sparc/sparc.c:6953
+ #, c-format
+ msgid "invalid %%d operand"
+ msgstr "некорректный операнд Ð´Ð»Ñ %%d"
+
+-#: config/sparc/sparc.c:6967
++#: config/sparc/sparc.c:6970
+ #, c-format
+ msgid "invalid %%f operand"
+ msgstr "некорректный операнд Ð´Ð»Ñ %%f"
+
+-#: config/sparc/sparc.c:6981
++#: config/sparc/sparc.c:6984
+ #, c-format
+ msgid "invalid %%s operand"
+ msgstr "некорректный операнд Ð´Ð»Ñ %%s"
+
+-#: config/sparc/sparc.c:7035
++#: config/sparc/sparc.c:7038
+ #, c-format
+ msgid "long long constant not a valid immediate operand"
+ msgstr "конÑтанта long long не ÑвлÑетÑÑ ÐºÐ¾Ñ€Ñ€ÐµÐºÑ‚Ð½Ñ‹Ð¼ непоÑредÑтвенным операндом"
+
+-#: config/sparc/sparc.c:7038
++#: config/sparc/sparc.c:7041
+ #, c-format
+ msgid "floating point constant not a valid immediate operand"
+ msgstr "Ð¿Ð»Ð°Ð²Ð°ÑŽÑ‰Ð°Ñ ÐºÐ¾Ð½Ñтанта не ÑвлÑетÑÑ ÐºÐ¾Ñ€Ñ€ÐµÐºÑ‚Ð½Ñ‹Ð¼ непоÑредÑтвенным операндом"
+
+-#: config/stormy16/stormy16.c:1775 config/stormy16/stormy16.c:1846
++#: config/stormy16/stormy16.c:1748 config/stormy16/stormy16.c:1819
+ #, c-format
+ msgid "'B' operand is not constant"
+ msgstr "операнд Ñ ÐºÐ¾Ð´Ð¾Ð¼ 'B' - не конÑтанта"
+
+-#: config/stormy16/stormy16.c:1802
++#: config/stormy16/stormy16.c:1775
+ #, c-format
+ msgid "'B' operand has multiple bits set"
+ msgstr "в операнде Ñ ÐºÐ¾Ð´Ð¾Ð¼ 'B' уÑтановлено неÑколько битов"
+
+-#: config/stormy16/stormy16.c:1828
++#: config/stormy16/stormy16.c:1801
+ #, c-format
+ msgid "'o' operand is not constant"
+ msgstr "операнд Ñ ÐºÐ¾Ð´Ð¾Ð¼ 'o' - не конÑтанта"
+
+-#: config/stormy16/stormy16.c:1860
++#: config/stormy16/stormy16.c:1833
+ #, c-format
+ msgid "xstormy16_print_operand: unknown code"
+ msgstr "xstormy16_print_operand: некорректный код"
+@@ -3710,56 +3637,56 @@
+ msgid "output_move_single:"
+ msgstr "output_move_single:"
+
+-#: config/xtensa/xtensa.c:652 config/xtensa/xtensa.c:684
+-#: config/xtensa/xtensa.c:693
++#: config/xtensa/xtensa.c:656 config/xtensa/xtensa.c:688
++#: config/xtensa/xtensa.c:697
+ msgid "bad test"
+ msgstr "ÐÐµÐºÐ¾Ñ€Ñ€ÐµÐºÑ‚Ð½Ð°Ñ Ð¿Ñ€Ð¾Ð²ÐµÑ€ÐºÐ°"
+
+-#: config/xtensa/xtensa.c:1980
++#: config/xtensa/xtensa.c:1986
+ #, c-format
+ msgid "invalid %%D value"
+ msgstr "неверное значение Ð´Ð»Ñ ÐºÐ¾Ð´Ð° %%D"
+
+-#: config/xtensa/xtensa.c:2017
++#: config/xtensa/xtensa.c:2023
+ msgid "invalid mask"
+ msgstr "Ð½ÐµÐºÐ¾Ñ€Ñ€ÐµÐºÑ‚Ð½Ð°Ñ Ð¼Ð°Ñка"
+
+-#: config/xtensa/xtensa.c:2043
++#: config/xtensa/xtensa.c:2049
+ #, c-format
+ msgid "invalid %%x value"
+ msgstr "неверное значение Ð´Ð»Ñ ÐºÐ¾Ð´Ð° %%x"
+
+-#: config/xtensa/xtensa.c:2050
++#: config/xtensa/xtensa.c:2056
+ #, c-format
+ msgid "invalid %%d value"
+ msgstr "неверное значение Ð´Ð»Ñ ÐºÐ¾Ð´Ð° %%d"
+
+-#: config/xtensa/xtensa.c:2071 config/xtensa/xtensa.c:2081
++#: config/xtensa/xtensa.c:2077 config/xtensa/xtensa.c:2087
+ #, c-format
+ msgid "invalid %%t/%%b value"
+ msgstr "неверное значение Ð´Ð»Ñ ÐºÐ¾Ð´Ð° %%t/%%b"
+
+-#: config/xtensa/xtensa.c:2123
++#: config/xtensa/xtensa.c:2129
+ msgid "invalid address"
+ msgstr "некорректный адреÑ"
+
+-#: config/xtensa/xtensa.c:2148
++#: config/xtensa/xtensa.c:2154
+ msgid "no register in address"
+ msgstr "не задан региÑÑ‚Ñ€ в адреÑе"
+
+-#: config/xtensa/xtensa.c:2156
++#: config/xtensa/xtensa.c:2162
+ msgid "address offset not a constant"
+ msgstr "адреÑное Ñмещение - не конÑтанта"
+
+-#: cp/call.c:2514
++#: cp/call.c:2500
+ msgid "candidates are:"
+ msgstr "претенденты:"
+
+-#: cp/call.c:6463
++#: cp/call.c:6487
+ msgid "candidate 1:"
+ msgstr "кандидат 1:"
+
+-#: cp/call.c:6464
++#: cp/call.c:6488
+ msgid "candidate 2:"
+ msgstr "кандидат 2:"
+
+@@ -3804,52 +3731,52 @@
+ msgid "Integer outside symmetric range implied by Standard Fortran at %L"
+ msgstr ""
+
+-#: fortran/arith.c:1425
++#: fortran/arith.c:1472
+ #, fuzzy
+ msgid "elemental binary operation"
+ msgstr "В подпрограмме"
+
+-#: fortran/arith.c:1997
++#: fortran/arith.c:2044
+ #, no-c-format
+ msgid "Arithmetic OK converting %s to %s at %L"
+ msgstr ""
+
+-#: fortran/arith.c:2001
++#: fortran/arith.c:2048
+ #, no-c-format
+ msgid "Arithmetic overflow converting %s to %s at %L. This check can be disabled with the option -fno-range-check"
+ msgstr ""
+
+-#: fortran/arith.c:2006
++#: fortran/arith.c:2053
+ #, no-c-format
+ msgid "Arithmetic underflow converting %s to %s at %L"
+ msgstr ""
+
+-#: fortran/arith.c:2010
++#: fortran/arith.c:2057
+ #, no-c-format
+ msgid "Arithmetic NaN converting %s to %s at %L"
+ msgstr ""
+
+-#: fortran/arith.c:2014
++#: fortran/arith.c:2061
+ #, no-c-format
+ msgid "Division by zero converting %s to %s at %L"
+ msgstr ""
+
+-#: fortran/arith.c:2018
++#: fortran/arith.c:2065
+ #, no-c-format
+ msgid "Array operands are incommensurate converting %s to %s at %L"
+ msgstr ""
+
+-#: fortran/arith.c:2022
++#: fortran/arith.c:2069
+ #, no-c-format
+ msgid "Integer outside symmetric range implied by Standard Fortran converting %s to %s at %L"
+ msgstr ""
+
+-#: fortran/arith.c:2355
++#: fortran/arith.c:2402
+ #, no-c-format
+ msgid "The Hollerith constant at %L is too long to convert to %s"
+ msgstr ""
+
+-#: fortran/arith.c:2513
++#: fortran/arith.c:2560
+ #, no-c-format
+ msgid "Enumerator exceeds the C integer type at %C"
+ msgstr ""
+@@ -3879,72 +3806,72 @@
+ msgid "Variable '%s' at %L in this context must be constant"
+ msgstr ""
+
+-#: fortran/array.c:299
++#: fortran/array.c:314
+ #, no-c-format
+ msgid "Expected expression in array specification at %C"
+ msgstr ""
+
+-#: fortran/array.c:386
++#: fortran/array.c:392
+ #, no-c-format
+ msgid "Bad array specification for an explicitly shaped array at %C"
+ msgstr ""
+
+-#: fortran/array.c:396
++#: fortran/array.c:402
+ #, no-c-format
+ msgid "Bad array specification for assumed shape array at %C"
+ msgstr ""
+
+-#: fortran/array.c:410
++#: fortran/array.c:416
+ #, no-c-format
+ msgid "Bad specification for deferred shape array at %C"
+ msgstr ""
+
+-#: fortran/array.c:414
++#: fortran/array.c:420
+ #, no-c-format
+ msgid "Bad specification for assumed size array at %C"
+ msgstr ""
+
+-#: fortran/array.c:423
++#: fortran/array.c:429
+ #, no-c-format
+ msgid "Expected another dimension in array declaration at %C"
+ msgstr "ОжидаетÑÑ Ð´Ñ€ÑƒÐ³Ð°Ñ Ñ€Ð°Ð·Ð¼ÐµÑ€Ð½Ð¾ÑÑ‚ÑŒ маÑÑива в определении %C"
+
+-#: fortran/array.c:429
++#: fortran/array.c:435
+ #, no-c-format
+ msgid "Array specification at %C has more than %d dimensions"
+ msgstr ""
+
+-#: fortran/array.c:635
++#: fortran/array.c:641
+ #, no-c-format
+ msgid "duplicated initializer"
+ msgstr "повторный инициализатор"
+
+-#: fortran/array.c:727
++#: fortran/array.c:733
+ #, no-c-format
+ msgid "DO-iterator '%s' at %L is inside iterator of the same name"
+ msgstr ""
+
+-#: fortran/array.c:829 fortran/array.c:938
++#: fortran/array.c:835 fortran/array.c:944
+ #, no-c-format
+ msgid "Syntax error in array constructor at %C"
+ msgstr ""
+
+-#: fortran/array.c:884
++#: fortran/array.c:890
+ #, no-c-format
+ msgid "Fortran 2003: [...] style array constructors at %C"
+ msgstr ""
+
+-#: fortran/array.c:898
++#: fortran/array.c:904
+ #, no-c-format
+ msgid "Empty array constructor at %C is not allowed"
+ msgstr ""
+
+-#: fortran/array.c:982
++#: fortran/array.c:988
+ #, no-c-format
+ msgid "Element in %s array constructor at %L is %s"
+ msgstr ""
+
+-#: fortran/array.c:1309
++#: fortran/array.c:1315
+ #, no-c-format
+ msgid "Iterator step at %L cannot be zero"
+ msgstr ""
+@@ -3964,7 +3891,7 @@
+ msgid "'%s' argument of '%s' intrinsic at %L must be a numeric type"
+ msgstr ""
+
+-#: fortran/check.c:101 fortran/check.c:817 fortran/check.c:827
++#: fortran/check.c:101 fortran/check.c:810 fortran/check.c:820
+ #, no-c-format
+ msgid "'%s' argument of '%s' intrinsic at %L must be INTEGER or REAL"
+ msgstr ""
+@@ -4029,220 +3956,215 @@
+ msgid "'%s' argument of '%s' intrinsic at %L must be a variable"
+ msgstr ""
+
+-#: fortran/check.c:320
++#: fortran/check.c:356
+ #, no-c-format
+-msgid "Missing DIM parameter in intrinsic '%s' at %L"
+-msgstr ""
+-
+-#: fortran/check.c:363
+-#, no-c-format
+ msgid "'dim' argument of '%s' intrinsic at %L is not a valid dimension index"
+ msgstr ""
+
+-#: fortran/check.c:433
++#: fortran/check.c:426
+ #, no-c-format
+ msgid "Unequal character lengths (%ld and %ld) in %s intrinsic at %L"
+ msgstr ""
+
+-#: fortran/check.c:535 fortran/check.c:1938 fortran/check.c:1953
++#: fortran/check.c:528 fortran/check.c:1932 fortran/check.c:1947
+ #, no-c-format
+ msgid "'%s' argument of '%s' intrinsic at %L must be ALLOCATABLE"
+ msgstr ""
+
+-#: fortran/check.c:559 fortran/check.c:3703
++#: fortran/check.c:552 fortran/check.c:3697
+ #, no-c-format
+ msgid "'%s' and '%s' arguments of '%s' intrinsic at %L must have the same type"
+ msgstr ""
+
+-#: fortran/check.c:568 fortran/check.c:1143 fortran/check.c:1286
+-#: fortran/check.c:1360 fortran/check.c:1616
++#: fortran/check.c:561 fortran/check.c:1137 fortran/check.c:1280
++#: fortran/check.c:1354 fortran/check.c:1610
+ #, no-c-format
+ msgid "Extension: Different type kinds at %L"
+ msgstr ""
+
+-#: fortran/check.c:608 fortran/check.c:2022
++#: fortran/check.c:601 fortran/check.c:2016
+ #, no-c-format
+ msgid "'%s' argument of '%s' intrinsic at %L must be a POINTER"
+ msgstr ""
+
+-#: fortran/check.c:628
++#: fortran/check.c:621
+ #, no-c-format
+ msgid "'%s' argument of '%s' intrinsic at %L must be a pointer or target VARIABLE or FUNCTION"
+ msgstr ""
+
+-#: fortran/check.c:636
++#: fortran/check.c:629
+ #, no-c-format
+ msgid "'%s' argument of '%s' intrinsic at %L must be a POINTER or a TARGET"
+ msgstr ""
+
+-#: fortran/check.c:652
++#: fortran/check.c:645
+ #, no-c-format
+ msgid "Array section with a vector subscript at %L shall not be the target of a pointer"
+ msgstr ""
+
+-#: fortran/check.c:663
++#: fortran/check.c:656
+ #, no-c-format
+ msgid "NULL pointer at %L is not permitted as actual argument of '%s' intrinsic function"
+ msgstr ""
+
+-#: fortran/check.c:798 fortran/check.c:915
++#: fortran/check.c:791 fortran/check.c:910
+ #, no-c-format
+ msgid "'%s' argument of '%s' intrinsic at %L must not be present if 'x' is COMPLEX"
+ msgstr ""
+
+-#: fortran/check.c:848 fortran/check.c:1205 fortran/check.c:1308
+-#: fortran/check.c:1467 fortran/check.c:1484 fortran/check.c:2318
+-#: fortran/check.c:2444 fortran/check.c:2779 fortran/check.c:2821
++#: fortran/check.c:841 fortran/check.c:1199 fortran/check.c:1302
++#: fortran/check.c:1461 fortran/check.c:1478 fortran/check.c:2312
++#: fortran/check.c:2438 fortran/check.c:2773 fortran/check.c:2815
+ #, no-c-format
+ msgid "Fortran 2003: '%s' intrinsic with KIND argument at %L"
+ msgstr ""
+
+-#: fortran/check.c:964 fortran/check.c:1712 fortran/check.c:1720
++#: fortran/check.c:959 fortran/check.c:1706 fortran/check.c:1714
+ #, no-c-format
+ msgid "'%s' argument of '%s' intrinsic at %L must be numeric or LOGICAL"
+ msgstr ""
+
+-#: fortran/check.c:978
++#: fortran/check.c:973
+ #, no-c-format
+ msgid "Different shape for arguments '%s' and '%s' at %L for intrinsic 'dot_product'"
+ msgstr ""
+
+-#: fortran/check.c:997 fortran/check.c:1005
++#: fortran/check.c:992 fortran/check.c:1000
+ #, fuzzy, no-c-format
+ msgid "'%s' argument of '%s' intrinsic at %L must be default real"
+ msgstr "аргумент `asm' - не конÑÑ‚Ð°Ð½Ñ‚Ð½Ð°Ñ Ñтрока"
+
+-#: fortran/check.c:1256
++#: fortran/check.c:1250
+ #, no-c-format
+ msgid "Argument of %s at %L must be of length one"
+ msgstr ""
+
+-#: fortran/check.c:1315
++#: fortran/check.c:1309
+ #, no-c-format
+ msgid "'%s' argument of '%s' intrinsic at %L must be the same kind as '%s'"
+ msgstr ""
+
+-#: fortran/check.c:1440
++#: fortran/check.c:1434
+ #, no-c-format
+ msgid "'%s' argument of '%s' intrinsic at %L must be a non-derived type"
+ msgstr ""
+
+-#: fortran/check.c:1589
++#: fortran/check.c:1583
+ #, no-c-format
+ msgid "Intrinsic '%s' at %L must have at least two arguments"
+ msgstr ""
+
+-#: fortran/check.c:1622
++#: fortran/check.c:1616
+ #, no-c-format
+ msgid "'a%d' argument of '%s' intrinsic at %L must be %s(%d)"
+ msgstr ""
+
+-#: fortran/check.c:1655
++#: fortran/check.c:1649
+ #, no-c-format
+ msgid "Fortran 2003: '%s' intrinsic with CHARACTER argument at %L"
+ msgstr ""
+
+-#: fortran/check.c:1662
++#: fortran/check.c:1656
+ #, no-c-format
+ msgid "'a1' argument of '%s' intrinsic at %L must be INTEGER, REAL or CHARACTER"
+ msgstr ""
+
+-#: fortran/check.c:1734
++#: fortran/check.c:1728
+ #, no-c-format
+ msgid "Different shape on dimension 1 for arguments '%s' and '%s' at %L for intrinsic matmul"
+ msgstr ""
+
+-#: fortran/check.c:1753
++#: fortran/check.c:1747
+ #, no-c-format
+ msgid "Different shape on dimension 2 for argument '%s' and dimension 1 for argument '%s' at %L for intrinsic matmul"
+ msgstr ""
+
+-#: fortran/check.c:1762
++#: fortran/check.c:1756
+ #, no-c-format
+ msgid "'%s' argument of '%s' intrinsic at %L must be of rank 1 or 2"
+ msgstr ""
+
+-#: fortran/check.c:1964
++#: fortran/check.c:1958
+ #, fuzzy, no-c-format
+ msgid "the '%s' and '%s' arguments of '%s' intrinsic at %L must have the same rank %d/%d"
+ msgstr "аргумент `asm' - не конÑÑ‚Ð°Ð½Ñ‚Ð½Ð°Ñ Ñтрока"
+
+-#: fortran/check.c:1973
++#: fortran/check.c:1967
+ #, fuzzy, no-c-format
+ msgid "the '%s' and '%s' arguments of '%s' intrinsic at %L must be of the same kind %d/%d"
+ msgstr "аргумент `asm' - не конÑÑ‚Ð°Ð½Ñ‚Ð½Ð°Ñ Ñтрока"
+
+-#: fortran/check.c:2069
++#: fortran/check.c:2063
+ #, no-c-format
+ msgid "'%s' argument of '%s' intrinsic at %L must be of type REAL or COMPLEX"
+ msgstr ""
+
+-#: fortran/check.c:2090
++#: fortran/check.c:2084
+ #, no-c-format
+ msgid "'%s' argument of '%s' intrinsic at %L must be of a dummy variable"
+ msgstr ""
+
+-#: fortran/check.c:2098
++#: fortran/check.c:2092
+ #, no-c-format
+ msgid "'%s' argument of '%s' intrinsic at %L must be of an OPTIONAL dummy variable"
+ msgstr ""
+
+-#: fortran/check.c:2114
++#: fortran/check.c:2108
+ #, fuzzy, no-c-format
+ msgid "'%s' argument of '%s' intrinsic at %L must not be a subobject of '%s'"
+ msgstr "аргумент `asm' - не конÑÑ‚Ð°Ð½Ñ‚Ð½Ð°Ñ Ñтрока"
+
+-#: fortran/check.c:2231
++#: fortran/check.c:2225
+ #, no-c-format
+ msgid "'shape' argument of 'reshape' intrinsic at %L must be an array of constant size"
+ msgstr ""
+
+-#: fortran/check.c:2241
++#: fortran/check.c:2235
+ #, no-c-format
+ msgid "'shape' argument of 'reshape' intrinsic at %L has more than %d elements"
+ msgstr ""
+
+-#: fortran/check.c:2279
++#: fortran/check.c:2273
+ #, no-c-format
+ msgid "Without padding, there are not enough elements in the intrinsic RESHAPE source at %L to match the shape"
+ msgstr ""
+
+-#: fortran/check.c:2364
++#: fortran/check.c:2358
+ #, no-c-format
+ msgid "Missing arguments to %s intrinsic at %L"
+ msgstr ""
+
+-#: fortran/check.c:2405
++#: fortran/check.c:2399
+ #, no-c-format
+ msgid "'source' argument of 'shape' intrinsic at %L must not be an assumed size array"
+ msgstr ""
+
+-#: fortran/check.c:2479
++#: fortran/check.c:2473
+ #, no-c-format
+ msgid "'%s' argument of '%s' intrinsic at %L must be less than rank %d"
+ msgstr ""
+
+-#: fortran/check.c:2731
++#: fortran/check.c:2725
+ #, fuzzy, no-c-format
+ msgid "'MOLD' argument of 'TRANSFER' intrinsic at %L must not be %s"
+ msgstr "аргумент `asm' - не конÑÑ‚Ð°Ð½Ñ‚Ð½Ð°Ñ Ñтрока"
+
+-#: fortran/check.c:3050
++#: fortran/check.c:3044
+ #, no-c-format
+ msgid "Too many arguments to %s at %L"
+ msgstr "Слишком много аргументов %s в %L"
+
+-#: fortran/check.c:3162 fortran/check.c:3616 fortran/check.c:3640
++#: fortran/check.c:3156 fortran/check.c:3610 fortran/check.c:3634
+ #, no-c-format
+ msgid "'%s' argument of '%s' intrinsic at %L must be INTEGER or PROCEDURE"
+ msgstr ""
+
+-#: fortran/check.c:3338
++#: fortran/check.c:3332
+ #, fuzzy, no-c-format
+ msgid "'%s' argument of '%s' intrinsic at %L must be of a kind not wider than the default kind (%d)"
+ msgstr "аргумент `asm' - не конÑÑ‚Ð°Ð½Ñ‚Ð½Ð°Ñ Ñтрока"
+
+-#: fortran/check.c:3687 fortran/check.c:3695
++#: fortran/check.c:3681 fortran/check.c:3689
+ #, no-c-format
+ msgid "'%s' argument of '%s' intrinsic at %L must be INTEGER or LOGICAL"
+ msgstr ""
+@@ -4267,890 +4189,926 @@
+ msgid "'%s' at %L already is initialized at %L"
+ msgstr "%Jфинальное поле %qD, возможно, не было инициализировано"
+
+-#: fortran/data.c:412
++#: fortran/data.c:317
+ #, no-c-format
++msgid "Data element below array lower bound at %L"
++msgstr ""
++
++#: fortran/data.c:329
++#, no-c-format
++msgid "Data element above array upper bound at %L"
++msgstr ""
++
++#: fortran/data.c:435
++#, no-c-format
+ msgid "Extension: re-initialization of '%s' at %L"
+ msgstr "РаÑширение: Ð¿Ð¾Ð²Ñ‚Ð¾Ñ€Ð½Ð°Ñ Ð¸Ð½Ð¸Ñ†Ð¸Ð°Ð»Ð¸Ð·Ð°Ñ†Ð¸Ñ '%s' в %L"
+
+-#: fortran/decl.c:254
++#: fortran/decl.c:253
+ #, fuzzy, no-c-format
+ msgid "Host associated variable '%s' may not be in the DATA statement at %C"
+ msgstr "ЛишнÑÑ Ð·Ð°Ð¿ÑÑ‚Ð°Ñ Ð² операторе FORMAT в %0"
+
+-#: fortran/decl.c:261
++#: fortran/decl.c:260
+ #, no-c-format
+ msgid "Extension: initialization of common block variable '%s' in DATA statement at %C"
+ msgstr ""
+
+-#: fortran/decl.c:366
++#: fortran/decl.c:365
+ #, no-c-format
+ msgid "Symbol '%s' must be a PARAMETER in DATA statement at %C"
+ msgstr ""
+
+-#: fortran/decl.c:470
++#: fortran/decl.c:390
++#, fuzzy, no-c-format
++msgid "Invalid initializer %s in Data statement at %C"
++msgstr "Пропущена запÑÑ‚Ð°Ñ Ð² операторе FORMAT в %0"
++
++#: fortran/decl.c:493
+ #, no-c-format
+ msgid "Initialization at %C is not allowed in a PURE procedure"
+ msgstr ""
+
+-#: fortran/decl.c:529
++#: fortran/decl.c:552
+ #, no-c-format
+ msgid "DATA statement at %C is not allowed in a PURE procedure"
+ msgstr ""
+
+-#: fortran/decl.c:558
++#: fortran/decl.c:581
+ #, no-c-format
+ msgid "Bad INTENT specification at %C"
+ msgstr ""
+
+-#: fortran/decl.c:600
++#: fortran/decl.c:623
+ #, no-c-format
+ msgid "Conflict in attributes of function argument at %C"
+ msgstr ""
+
+-#: fortran/decl.c:647
++#: fortran/decl.c:676
+ #, no-c-format
+ msgid "Syntax error in character length specification at %C"
+ msgstr ""
+
+-#: fortran/decl.c:757
++#: fortran/decl.c:795
+ #, no-c-format
+ msgid "Procedure '%s' at %C is already defined at %L"
+ msgstr ""
+
+-#: fortran/decl.c:765
++#: fortran/decl.c:803
+ #, fuzzy, no-c-format
+ msgid "Name '%s' at %C is already defined as a generic interface at %L"
+ msgstr "%Jфинальное поле %qD, возможно, не было инициализировано"
+
+-#: fortran/decl.c:778
++#: fortran/decl.c:816
+ #, no-c-format
+ msgid "Procedure '%s' at %C has an explicit interface and must not have attributes declared at %L"
+ msgstr ""
+
+-#: fortran/decl.c:850
++#: fortran/decl.c:888
+ #, no-c-format
+ msgid "Procedure '%s' at %L must have the BIND(C) attribute to be C interoperable"
+ msgstr ""
+
+-#: fortran/decl.c:880
++#: fortran/decl.c:918
+ #, no-c-format
+ msgid "Type '%s' at %L is a parameter to the BIND(C) procedure '%s' but is not C interoperable because derived type '%s' is not C interoperable"
+ msgstr ""
+
+-#: fortran/decl.c:887
++#: fortran/decl.c:925
+ #, no-c-format
+ msgid "Variable '%s' at %L is a parameter to the BIND(C) procedure '%s' but may not be C interoperable"
+ msgstr ""
+
+-#: fortran/decl.c:902
++#: fortran/decl.c:940
+ #, no-c-format
+ msgid "Character argument '%s' at %L must be length 1 because procedure '%s' is BIND(C)"
+ msgstr ""
+
+-#: fortran/decl.c:916
++#: fortran/decl.c:954
+ #, no-c-format
+ msgid "Variable '%s' at %L cannot have the ALLOCATABLE attribute because procedure '%s' is BIND(C)"
+ msgstr ""
+
+-#: fortran/decl.c:925
++#: fortran/decl.c:963
+ #, no-c-format
+ msgid "Variable '%s' at %L cannot have the POINTER attribute because procedure '%s' is BIND(C)"
+ msgstr ""
+
+-#: fortran/decl.c:934
++#: fortran/decl.c:972
+ #, no-c-format
+ msgid "Variable '%s' at %L cannot have the OPTIONAL attribute because procedure '%s' is BIND(C)"
+ msgstr ""
+
+-#: fortran/decl.c:947
++#: fortran/decl.c:985
+ #, no-c-format
+ msgid "Assumed-shape array '%s' at %L cannot be an argument to the procedure '%s' at %L because the procedure is BIND(C)"
+ msgstr ""
+
+-#: fortran/decl.c:957
++#: fortran/decl.c:995
+ #, no-c-format
+ msgid "Deferred-shape array '%s' at %L cannot be an argument to the procedure '%s' at %L because the procedure is BIND(C)"
+ msgstr ""
+
+-#: fortran/decl.c:1033
++#: fortran/decl.c:1071
+ #, no-c-format
+ msgid "Variable '%s' in common block '%s' at %C must be declared with a C interoperable kind since common block '%s' is BIND(C)"
+ msgstr ""
+
+-#: fortran/decl.c:1069
++#: fortran/decl.c:1107
+ #, no-c-format
+ msgid "CHARACTER expression at %L is being truncated (%d/%d)"
+ msgstr ""
+
+-#: fortran/decl.c:1075
++#: fortran/decl.c:1113
+ #, no-c-format
+ msgid "The CHARACTER elements of the array constructor at %L must have the same length (%d/%d)"
+ msgstr ""
+
+-#: fortran/decl.c:1165
++#: fortran/decl.c:1203
+ #, no-c-format
+ msgid "Initializer not allowed for PARAMETER '%s' at %C"
+ msgstr ""
+
+-#: fortran/decl.c:1174
++#: fortran/decl.c:1213
+ #, no-c-format
+-msgid "Initializer not allowed for COMMON variable '%s' at %C"
+-msgstr ""
+-
+-#: fortran/decl.c:1184
+-#, no-c-format
+ msgid "PARAMETER at %L is missing an initializer"
+ msgstr ""
+
+-#: fortran/decl.c:1194
++#: fortran/decl.c:1223
+ #, no-c-format
+ msgid "Variable '%s' at %C with an initializer already appears in a DATA statement"
+ msgstr ""
+
+-#: fortran/decl.c:1344
++#: fortran/decl.c:1373
+ #, no-c-format
+ msgid "Component at %C must have the POINTER attribute"
+ msgstr "Компонент в %C должен иметь аттрибут POINTER"
+
+-#: fortran/decl.c:1352
++#: fortran/decl.c:1381
+ #, no-c-format
+ msgid "Array component of structure at %C must have explicit or deferred shape"
+ msgstr ""
+
+-#: fortran/decl.c:1378
++#: fortran/decl.c:1425
+ #, fuzzy, no-c-format
+ msgid "Allocatable component at %C must be an array"
+ msgstr "предикат должен быть идентификатором"
+
+-#: fortran/decl.c:1389
++#: fortran/decl.c:1436
+ #, no-c-format
+ msgid "Pointer array component of structure at %C must have a deferred shape"
+ msgstr ""
+
+-#: fortran/decl.c:1398
++#: fortran/decl.c:1445
+ #, no-c-format
+ msgid "Allocatable component of structure at %C must have a deferred shape"
+ msgstr ""
+
+-#: fortran/decl.c:1407
++#: fortran/decl.c:1454
+ #, no-c-format
+ msgid "Array component of structure at %C must have an explicit shape"
+ msgstr ""
+
+-#: fortran/decl.c:1433
++#: fortran/decl.c:1480
+ #, no-c-format
+ msgid "NULL() initialization at %C is ambiguous"
+ msgstr ""
+
+-#: fortran/decl.c:1556 fortran/decl.c:5197
++#: fortran/decl.c:1603 fortran/decl.c:5395
+ #, fuzzy, no-c-format
+ msgid "Duplicate array spec for Cray pointee at %C"
+ msgstr "Ð¿Ð¾Ð²Ñ‚Ð¾Ñ€Ð½Ð°Ñ Ð¸Ð½Ð¸Ñ†Ð¸Ð°Ð»Ð¸Ð·Ð°Ñ†Ð¸Ñ %D"
+
+-#: fortran/decl.c:1616
++#: fortran/decl.c:1663
+ #, fuzzy, no-c-format
+ msgid "the type of '%s' at %C has not been declared within the interface"
+ msgstr "отмена декларации %qD в проÑтранÑтве имён %qD"
+
+-#: fortran/decl.c:1632
++#: fortran/decl.c:1679
+ #, no-c-format
+ msgid "Function name '%s' not allowed at %C"
+ msgstr ""
+
+-#: fortran/decl.c:1648
++#: fortran/decl.c:1695
+ #, no-c-format
+ msgid "Extension: Old-style initialization at %C"
+ msgstr ""
+
+-#: fortran/decl.c:1663
++#: fortran/decl.c:1710
+ #, no-c-format
+ msgid "Initialization at %C isn't for a pointer variable"
+ msgstr ""
+
+-#: fortran/decl.c:1671
++#: fortran/decl.c:1718
+ #, no-c-format
+ msgid "Pointer initialization requires a NULL() at %C"
+ msgstr ""
+
+-#: fortran/decl.c:1677
++#: fortran/decl.c:1724
+ #, no-c-format
+ msgid "Initialization of pointer at %C is not allowed in a PURE procedure"
+ msgstr ""
+
+-#: fortran/decl.c:1690
++#: fortran/decl.c:1737
+ #, no-c-format
+ msgid "Pointer initialization at %C requires '=>', not '='"
+ msgstr ""
+
+-#: fortran/decl.c:1699 fortran/decl.c:6129
++#: fortran/decl.c:1746 fortran/decl.c:6361
+ #, no-c-format
+ msgid "Expected an initialization expression at %C"
+ msgstr ""
+
+-#: fortran/decl.c:1705
++#: fortran/decl.c:1752
+ #, no-c-format
+ msgid "Initialization of variable at %C is not allowed in a PURE procedure"
+ msgstr ""
+
+-#: fortran/decl.c:1718
++#: fortran/decl.c:1765
+ #, no-c-format
+ msgid "Initialization of allocatable component at %C is not allowed"
+ msgstr ""
+
+-#: fortran/decl.c:1772 fortran/decl.c:1781
++#: fortran/decl.c:1819 fortran/decl.c:1828
+ #, no-c-format
+ msgid "Old-style type declaration %s*%d not supported at %C"
+ msgstr ""
+
+-#: fortran/decl.c:1786
++#: fortran/decl.c:1833
+ #, no-c-format
+ msgid "Nonstandard type declaration %s*%d at %C"
+ msgstr ""
+
+-#: fortran/decl.c:1838 fortran/decl.c:1897
++#: fortran/decl.c:1884 fortran/decl.c:1948
+ #, fuzzy, no-c-format
+ msgid "Missing right parenthesis at %C"
+ msgstr "ОтÑутÑтвует Ð¾Ñ‚ÐºÑ€Ñ‹Ð²Ð°ÑŽÑ‰Ð°Ñ Ñкобка"
+
+-#: fortran/decl.c:1853 fortran/decl.c:1931
++#: fortran/decl.c:1897 fortran/decl.c:1993
+ #, no-c-format
+ msgid "Expected initialization expression at %C"
+ msgstr ""
+
+-#: fortran/decl.c:1861 fortran/decl.c:1937
++#: fortran/decl.c:1905 fortran/decl.c:1999
+ #, no-c-format
+ msgid "Expected scalar initialization expression at %C"
+ msgstr ""
+
+-#: fortran/decl.c:1891
++#: fortran/decl.c:1936
+ #, fuzzy, no-c-format
+ msgid "Kind %d not supported for type %s at %C"
+ msgstr "режим Ð¾ÐºÑ€ÑƒÐ³Ð»ÐµÐ½Ð¸Ñ Ð´Ð»Ñ Ð¿Ð¾Ð´Ð´ÐµÑ€Ð¶Ð¸Ð²Ð°ÐµÑ‚ÑÑ Ð´Ð»Ñ Ð¿Ð»Ð°Ð²Ð°ÑŽÑ‰Ð¸Ñ… вычиÑлений VAX"
+
+-#: fortran/decl.c:1957
++#: fortran/decl.c:1946
+ #, fuzzy, no-c-format
++msgid "Missing right parenthesis or comma at %C"
++msgstr "ОтÑутÑтвует Ð¾Ñ‚ÐºÑ€Ñ‹Ð²Ð°ÑŽÑ‰Ð°Ñ Ñкобка"
++
++#: fortran/decl.c:2019
++#, fuzzy, no-c-format
+ msgid "Kind %d is not supported for CHARACTER at %C"
+ msgstr "режим Ð¾ÐºÑ€ÑƒÐ³Ð»ÐµÐ½Ð¸Ñ Ð´Ð»Ñ Ð¿Ð¾Ð´Ð´ÐµÑ€Ð¶Ð¸Ð²Ð°ÐµÑ‚ÑÑ Ð´Ð»Ñ Ð¿Ð»Ð°Ð²Ð°ÑŽÑ‰Ð¸Ñ… вычиÑлений VAX"
+
+-#: fortran/decl.c:2086
++#: fortran/decl.c:2148
+ #, no-c-format
+ msgid "Syntax error in CHARACTER declaration at %C"
+ msgstr ""
+
+-#: fortran/decl.c:2156
++#: fortran/decl.c:2233
+ #, no-c-format
+ msgid "Extension: BYTE type at %C"
+ msgstr ""
+
+-#: fortran/decl.c:2162
++#: fortran/decl.c:2239
+ #, no-c-format
+ msgid "BYTE type used at %C is not available on the target machine"
+ msgstr ""
+
+-#: fortran/decl.c:2211
++#: fortran/decl.c:2288
+ #, fuzzy, no-c-format
+ msgid "DOUBLE COMPLEX at %C does not conform to the Fortran 95 standard"
+ msgstr "Компилировать в ÑоответÑтвии Ñ ISO 1990 C"
+
+-#: fortran/decl.c:2245 fortran/decl.c:2252 fortran/decl.c:2558
+-#: fortran/decl.c:2566
++#: fortran/decl.c:2328 fortran/decl.c:2337 fortran/decl.c:2649
++#: fortran/decl.c:2657
+ #, no-c-format
+ msgid "Type name '%s' at %C is ambiguous"
+ msgstr "Ð˜Ð¼Ñ Ñ‚Ð¸Ð¿Ð° '%s' в %C неоднозначно"
+
+-#: fortran/decl.c:2321
++#: fortran/decl.c:2412
+ #, no-c-format
+ msgid "Missing character range in IMPLICIT at %C"
+ msgstr ""
+
+-#: fortran/decl.c:2367
++#: fortran/decl.c:2458
+ #, no-c-format
+ msgid "Letters must be in alphabetic order in IMPLICIT statement at %C"
+ msgstr ""
+
+-#: fortran/decl.c:2421
++#: fortran/decl.c:2512
+ #, fuzzy, no-c-format
+ msgid "Empty IMPLICIT statement at %C"
+ msgstr "Ðеподдерживаемый VXT-оператор в %0"
+
+-#: fortran/decl.c:2524
++#: fortran/decl.c:2615
+ #, no-c-format
+ msgid "IMPORT statement at %C only permitted in an INTERFACE body"
+ msgstr ""
+
+-#: fortran/decl.c:2529
++#: fortran/decl.c:2620
+ #, fuzzy, no-c-format
+ msgid "Fortran 2003: IMPORT statement at %C"
+ msgstr "Ðеподдерживаемый VXT-оператор в %0"
+
+-#: fortran/decl.c:2544
++#: fortran/decl.c:2635
+ #, fuzzy, no-c-format
+ msgid "Expecting list of named entities at %C"
+ msgstr "ожидалоÑÑŒ Ð¸Ð¼Ñ Ñ‚Ð¸Ð¿Ð°"
+
+-#: fortran/decl.c:2572
++#: fortran/decl.c:2663
+ #, no-c-format
+ msgid "Cannot IMPORT '%s' from host scoping unit at %C - does not exist."
+ msgstr ""
+
+-#: fortran/decl.c:2579
++#: fortran/decl.c:2670
+ #, no-c-format
+ msgid "'%s' is already IMPORTed from host scoping unit at %C."
+ msgstr ""
+
+-#: fortran/decl.c:2608
++#: fortran/decl.c:2699
+ #, fuzzy, no-c-format
+ msgid "Syntax error in IMPORT statement at %C"
+ msgstr "ÑинтакÑичеÑÐºÐ°Ñ Ð¾ÑˆÐ¸Ð±ÐºÐ° при разборе `%s'"
+
+-#: fortran/decl.c:2850
++#: fortran/decl.c:2941
+ #, fuzzy, no-c-format
+ msgid "Missing dimension specification at %C"
+ msgstr "ОтÑутÑтвует Ñпецификатор %A в операторе в %0"
+
+-#: fortran/decl.c:2924
++#: fortran/decl.c:3015
+ #, fuzzy, no-c-format
+ msgid "Duplicate %s attribute at %L"
+ msgstr "повторное употребление `restrict'"
+
+-#: fortran/decl.c:2943
++#: fortran/decl.c:3034
+ #, fuzzy, no-c-format
+ msgid "Fortran 2003: ALLOCATABLE attribute at %C in a TYPE definition"
+ msgstr "атрибуты не допуÑкаютÑÑ Ð¿Ñ€Ð¸ определении функции"
+
+-#: fortran/decl.c:2953
++#: fortran/decl.c:3044
+ #, fuzzy, no-c-format
+ msgid "Attribute at %L is not allowed in a TYPE definition"
+ msgstr "атрибуты не допуÑкаютÑÑ Ð¿Ñ€Ð¸ определении функции"
+
+-#: fortran/decl.c:2971
++#: fortran/decl.c:3062
+ #, fuzzy, no-c-format
+ msgid "Fortran 2003: Attribute %s at %L in a TYPE definition"
+ msgstr "атрибуты не допуÑкаютÑÑ Ð¿Ñ€Ð¸ определении функции"
+
+-#: fortran/decl.c:2982
++#: fortran/decl.c:3073
+ #, fuzzy, no-c-format
+ msgid "%s attribute at %L is not allowed outside of the specification part of a module"
+ msgstr "%Jатрибут section Ð´Ð»Ñ `%D' недопуÑтим"
+
+-#: fortran/decl.c:3034 fortran/decl.c:5437
++#: fortran/decl.c:3125 fortran/decl.c:5635
+ #, no-c-format
+ msgid "PROTECTED at %C only allowed in specification part of a module"
+ msgstr ""
+
+-#: fortran/decl.c:3040
++#: fortran/decl.c:3131
+ #, no-c-format
+ msgid "Fortran 2003: PROTECTED attribute at %C"
+ msgstr ""
+
+-#: fortran/decl.c:3071
++#: fortran/decl.c:3162
+ #, no-c-format
+ msgid "Fortran 2003: VALUE attribute at %C"
+ msgstr ""
+
+-#: fortran/decl.c:3081
++#: fortran/decl.c:3172
+ #, no-c-format
+ msgid "Fortran 2003: VOLATILE attribute at %C"
+ msgstr ""
+
+-#: fortran/decl.c:3121
++#: fortran/decl.c:3212
+ #, no-c-format
+ msgid "Multiple identifiers provided with single NAME= specifier at %C"
+ msgstr ""
+
+ #. Print an error, but continue parsing line.
+-#: fortran/decl.c:3171
++#: fortran/decl.c:3261
+ #, no-c-format
+ msgid "C kind parameter is for type %s but symbol '%s' at %L is of type %s"
+ msgstr ""
+
+-#: fortran/decl.c:3235
++#: fortran/decl.c:3325
+ #, fuzzy, no-c-format
+ msgid "Implicitly declared BIND(C) function '%s' at %L may not be C interoperable"
+ msgstr "%JвнутреннÑÑ Ñ„ÑƒÐ½ÐºÑ†Ð¸Ñ `%D' декларирована как не функциÑ"
+
+-#: fortran/decl.c:3257
++#: fortran/decl.c:3347
+ #, no-c-format
+ msgid "Variable '%s' in common block '%s' at %L may not be a C interoperable kind though common block '%s' is BIND(C)"
+ msgstr ""
+
+-#: fortran/decl.c:3266
++#: fortran/decl.c:3356
+ #, no-c-format
+ msgid "Type declaration '%s' at %L is not C interoperable but it is BIND(C)"
+ msgstr ""
+
+-#: fortran/decl.c:3270
++#: fortran/decl.c:3360
+ #, no-c-format
+ msgid "Variable '%s' at %L may not be a C interoperable kind but it is bind(c)"
+ msgstr ""
+
+-#: fortran/decl.c:3282
++#: fortran/decl.c:3372
+ #, no-c-format
+ msgid "Variable '%s' in common block '%s' at %L cannot be declared with BIND(C) since it is not a global"
+ msgstr ""
+
+-#: fortran/decl.c:3296
++#: fortran/decl.c:3386
+ #, no-c-format
+ msgid "Variable '%s' at %L cannot have both the POINTER and BIND(C) attributes"
+ msgstr ""
+
+-#: fortran/decl.c:3304
++#: fortran/decl.c:3394
+ #, no-c-format
+ msgid "Variable '%s' at %L cannot have both the ALLOCATABLE and BIND(C) attributes"
+ msgstr ""
+
+-#: fortran/decl.c:3314
++#: fortran/decl.c:3404
+ #, fuzzy, no-c-format
+ msgid "Return type of BIND(C) function '%s' at %L cannot be an array"
+ msgstr "%JвнутреннÑÑ Ñ„ÑƒÐ½ÐºÑ†Ð¸Ñ `%D' декларирована как не функциÑ"
+
+-#: fortran/decl.c:3322
++#: fortran/decl.c:3412
+ #, fuzzy, no-c-format
+ msgid "Return type of BIND(C) function '%s' at %L cannot be a character string"
+ msgstr "конÑтруктор не может быть ÑтатичеÑкой Ñлементом-функцией"
+
+ #. Use gfc_warning_now because we won't say that the symbol fails
+ #. just because of this.
+-#: fortran/decl.c:3334
++#: fortran/decl.c:3424
+ #, no-c-format
+ msgid "Symbol '%s' at %L is marked PRIVATE but has been given the binding label '%s'"
+ msgstr ""
+
+-#: fortran/decl.c:3409
++#: fortran/decl.c:3499
+ #, no-c-format
+ msgid "Need either entity or common block name for attribute specification statement at %C"
+ msgstr ""
+
+-#: fortran/decl.c:3456
++#: fortran/decl.c:3546
+ #, fuzzy, no-c-format
+ msgid "Missing entity or common block name for attribute specification statement at %C"
+ msgstr "ОтÑутÑтвует Ñпецификатор %A в операторе в %0"
+
+ #. Now we have an error, which we signal, and then fix up
+ #. because the knock-on is plain and simple confusing.
+-#: fortran/decl.c:3563
++#: fortran/decl.c:3653
+ #, no-c-format
+ msgid "Derived type at %C has not been previously defined and so cannot appear in a derived type definition"
+ msgstr ""
+
+-#: fortran/decl.c:3595
++#: fortran/decl.c:3685
+ #, fuzzy, no-c-format
+ msgid "Syntax error in data declaration at %C"
+ msgstr "ÑинтакÑичеÑÐºÐ°Ñ Ð¾ÑˆÐ¸Ð±ÐºÐ° в ÑпиÑке параметров макроÑа"
+
+-#: fortran/decl.c:3742
++#: fortran/decl.c:3832
+ #, no-c-format
+ msgid "Name '%s' at %C is the name of the procedure"
+ msgstr ""
+
+-#: fortran/decl.c:3754
++#: fortran/decl.c:3844
+ #, fuzzy, no-c-format
+ msgid "Unexpected junk in formal argument list at %C"
+ msgstr "Ðеожиданное окончание Ñтроки формата"
+
+-#: fortran/decl.c:3771
++#: fortran/decl.c:3861
+ #, no-c-format
+ msgid "Duplicate symbol '%s' in formal argument list at %C"
+ msgstr ""
+
+-#: fortran/decl.c:3822
++#: fortran/decl.c:3912
+ #, no-c-format
+ msgid "RESULT variable at %C must be different than function name"
+ msgstr ""
+
+-#: fortran/decl.c:3892
++#: fortran/decl.c:3990
+ #, no-c-format
+ msgid "Unexpected junk after function declaration at %C"
+ msgstr "Ðекорректный муÑор поÑле Ð¾Ð¿Ñ€ÐµÐ´ÐµÐ»ÐµÐ½Ð¸Ñ Ð² %C"
+
+-#: fortran/decl.c:3951
++#: fortran/decl.c:4000 fortran/decl.c:4734
+ #, fuzzy, no-c-format
++msgid "Extension: BIND(C) attribute at %L may not be specified for an internal procedure"
++msgstr "оператор SAVE или атрибут в %1 неÑовмеÑтим Ñ Ð¾Ð¿ÐµÑ€Ð°Ñ‚Ð¾Ñ€Ð¾Ð¼ SAVE илиатрибутом в %0"
++
++#: fortran/decl.c:4066
++#, fuzzy, no-c-format
+ msgid "Interface '%s' at %C may not be generic"
+ msgstr "%Jфинальное поле %qD, возможно, не было инициализировано"
+
+-#: fortran/decl.c:3956
++#: fortran/decl.c:4071
+ #, fuzzy, no-c-format
+ msgid "Interface '%s' at %C may not be a statement function"
+ msgstr "конÑтруктор не может быть ÑтатичеÑкой Ñлементом-функцией"
+
+-#: fortran/decl.c:3967
++#: fortran/decl.c:4082
+ #, fuzzy, no-c-format
+ msgid "Intrinsic procedure '%s' not allowed in PROCEDURE statement at %C"
+ msgstr "ВнешнÑÑ Ð¿Ñ€Ð¾Ñ†ÐµÐ´ÑƒÑ€Ð° `%A' передана как фактичеÑкий аргумент в %0, но не декларирована Ñвно как EXTERNAL"
+
+-#: fortran/decl.c:3975
++#: fortran/decl.c:4118
+ #, no-c-format
+-msgid "Fortran 2003: Support for intrinsic procedure '%s' in PROCEDURE statement at %C not yet implemented in gfortran"
+-msgstr ""
+-
+-#: fortran/decl.c:4014
+-#, no-c-format
+ msgid "BIND(C) attribute at %C requires an interface with BIND(C)"
+ msgstr ""
+
+-#: fortran/decl.c:4021
++#: fortran/decl.c:4125
+ #, no-c-format
+ msgid "BIND(C) procedure with NAME may not have POINTER attribute at %C"
+ msgstr ""
+
+-#: fortran/decl.c:4027
++#: fortran/decl.c:4131
+ #, fuzzy, no-c-format
+ msgid "Dummy procedure at %C may not have BIND(C) attribute with NAME"
+ msgstr "%Jфинальное поле %qD, возможно, не было инициализировано"
+
+-#: fortran/decl.c:4060 fortran/decl.c:4103
++#: fortran/decl.c:4167 fortran/decl.c:4210
+ #, fuzzy, no-c-format
+ msgid "Syntax error in PROCEDURE statement at %C"
+ msgstr "ÐедопуÑтимое чиÑло в операторе FORMAT в %0"
+
+-#: fortran/decl.c:4077
++#: fortran/decl.c:4184
+ #, no-c-format
+ msgid "PROCEDURE at %C must be in a generic interface"
+ msgstr ""
+
+-#: fortran/decl.c:4128
++#: fortran/decl.c:4235
+ #, no-c-format
+ msgid "Fortran 2003: Procedure components at %C are not yet implemented in gfortran"
+ msgstr ""
+
+-#: fortran/decl.c:4138
++#: fortran/decl.c:4245
+ #, fuzzy, no-c-format
+ msgid "Fortran 2003: PROCEDURE statement at %C"
+ msgstr "Ðеподдерживаемый VXT-оператор в %0"
+
+-#: fortran/decl.c:4186
++#: fortran/decl.c:4293
+ #, no-c-format
+ msgid "Expected formal argument list in function definition at %C"
+ msgstr "Ð’ определении в %C ожидаетÑÑ Ñ„Ð¾Ñ€Ð¼Ð°Ð»ÑŒÐ½Ñ‹Ð¹ ÑпиÑок аргументов"
+
+-#: fortran/decl.c:4210 fortran/decl.c:4214 fortran/decl.c:4536
+-#: fortran/decl.c:4540 fortran/symbol.c:1402
++#: fortran/decl.c:4317 fortran/decl.c:4321 fortran/decl.c:4520
++#: fortran/decl.c:4524 fortran/decl.c:4702 fortran/decl.c:4706
++#: fortran/symbol.c:1402
+ #, no-c-format
+ msgid "BIND(C) attribute at %L can only be used for variables or common blocks"
+ msgstr ""
+
+-#: fortran/decl.c:4246
++#: fortran/decl.c:4353
+ #, no-c-format
+ msgid "Function '%s' at %C already has a type of %s"
+ msgstr "Ð¤ÑƒÐ½ÐºÑ†Ð¸Ñ '%s' в %C уже имеет тип %s"
+
+-#: fortran/decl.c:4322
++#: fortran/decl.c:4441
+ #, no-c-format
+ msgid "ENTRY statement at %C cannot appear within a PROGRAM"
+ msgstr ""
+
+-#: fortran/decl.c:4325
++#: fortran/decl.c:4444
+ #, no-c-format
+ msgid "ENTRY statement at %C cannot appear within a MODULE"
+ msgstr ""
+
+-#: fortran/decl.c:4328
++#: fortran/decl.c:4447
+ #, no-c-format
+ msgid "ENTRY statement at %C cannot appear within a BLOCK DATA"
+ msgstr ""
+
+-#: fortran/decl.c:4332
++#: fortran/decl.c:4451
+ #, no-c-format
+ msgid "ENTRY statement at %C cannot appear within an INTERFACE"
+ msgstr ""
+
+-#: fortran/decl.c:4336
++#: fortran/decl.c:4455
+ #, no-c-format
+ msgid "ENTRY statement at %C cannot appear within a DERIVED TYPE block"
+ msgstr ""
+
+-#: fortran/decl.c:4340
++#: fortran/decl.c:4459
+ #, no-c-format
+ msgid "ENTRY statement at %C cannot appear within an IF-THEN block"
+ msgstr ""
+
+-#: fortran/decl.c:4344
++#: fortran/decl.c:4463
+ #, fuzzy, no-c-format
+ msgid "ENTRY statement at %C cannot appear within a DO block"
+ msgstr "оператор RETURN в %0 недопуÑтим внутри главной программы"
+
+-#: fortran/decl.c:4348
++#: fortran/decl.c:4467
+ #, no-c-format
+ msgid "ENTRY statement at %C cannot appear within a SELECT block"
+ msgstr ""
+
+-#: fortran/decl.c:4352
++#: fortran/decl.c:4471
+ #, no-c-format
+ msgid "ENTRY statement at %C cannot appear within a FORALL block"
+ msgstr ""
+
+-#: fortran/decl.c:4356
++#: fortran/decl.c:4475
+ #, no-c-format
+ msgid "ENTRY statement at %C cannot appear within a WHERE block"
+ msgstr ""
+
+-#: fortran/decl.c:4360
++#: fortran/decl.c:4479
+ #, fuzzy, no-c-format
+ msgid "ENTRY statement at %C cannot appear within a contained subprogram"
+ msgstr "оператор RETURN в %0 недопуÑтим внутри главной программы"
+
+-#: fortran/decl.c:4378
++#: fortran/decl.c:4497
+ #, fuzzy, no-c-format
+ msgid "ENTRY statement at %C cannot appear in a contained procedure"
+ msgstr "%s не может приÑутÑтвовать в конÑтантном выражении"
+
+-#: fortran/decl.c:4560
++#: fortran/decl.c:4552 fortran/decl.c:4742
+ #, no-c-format
+ msgid "Missing required parentheses before BIND(C) at %C"
+ msgstr ""
+
+-#: fortran/decl.c:4618 fortran/decl.c:4634
++#: fortran/decl.c:4801 fortran/decl.c:4817
+ #, fuzzy, no-c-format
+ msgid "Syntax error in NAME= specifier for binding label at %C"
+ msgstr "Ð¡Ð¿ÐµÑ†Ð¸Ñ„Ð¸ÐºÐ°Ñ†Ð¸Ñ Ð½ÑƒÐ»ÐµÐ²Ð¾Ð³Ð¾ размера в %0 некорректна"
+
+-#: fortran/decl.c:4649
++#: fortran/decl.c:4832
+ #, fuzzy, no-c-format
+ msgid "Missing closing quote '\"' for binding label at %C"
+ msgstr "ОтÑутÑтвует формальный параметр"
+
+-#: fortran/decl.c:4658
++#: fortran/decl.c:4841
+ #, fuzzy, no-c-format
+ msgid "Missing closing quote ''' for binding label at %C"
+ msgstr "ОтÑутÑтвует формальный параметр"
+
+-#: fortran/decl.c:4668
++#: fortran/decl.c:4851
+ #, fuzzy, no-c-format
+ msgid "Missing closing paren for binding label at %C"
+ msgstr "ОтÑутÑтвует формальный параметр"
+
+-#: fortran/decl.c:4703
++#: fortran/decl.c:4857
+ #, no-c-format
++msgid "No binding name is allowed in BIND(C) at %C"
++msgstr ""
++
++#: fortran/decl.c:4863
++#, no-c-format
++msgid "For dummy procedure %s, no binding name is allowed in BIND(C) at %C"
++msgstr ""
++
++#: fortran/decl.c:4894
++#, no-c-format
+ msgid "NAME not allowed on BIND(C) for ABSTRACT INTERFACE at %C"
+ msgstr ""
+
+-#: fortran/decl.c:4876
++#: fortran/decl.c:5066
+ #, fuzzy, no-c-format
+ msgid "Unexpected END statement at %C"
+ msgstr "ожидалоÑÑŒ Ð¸Ð¼Ñ Ñ‚Ð¸Ð¿Ð°"
+
+ #. We would have required END [something].
+-#: fortran/decl.c:4885
++#: fortran/decl.c:5075
+ #, no-c-format
+ msgid "%s statement expected at %L"
+ msgstr ""
+
+-#: fortran/decl.c:4896
++#: fortran/decl.c:5086
+ #, fuzzy, no-c-format
+ msgid "Expecting %s statement at %C"
+ msgstr "ожидалоÑÑŒ Ð¸Ð¼Ñ Ñ‚Ð¸Ð¿Ð°"
+
+-#: fortran/decl.c:4911
++#: fortran/decl.c:5101
+ #, no-c-format
+ msgid "Expected block name of '%s' in %s statement at %C"
+ msgstr ""
+
+-#: fortran/decl.c:4928
++#: fortran/decl.c:5118
+ #, no-c-format
+ msgid "Expected terminating name at %C"
+ msgstr ""
+
+-#: fortran/decl.c:4937
++#: fortran/decl.c:5127
+ #, fuzzy, no-c-format
+ msgid "Expected label '%s' for %s statement at %C"
+ msgstr "Ðет Ð¾Ð¿Ñ€ÐµÐ´ÐµÐ»ÐµÐ½Ð¸Ñ Ð¼ÐµÑ‚ÐºÐ¸ Ð´Ð»Ñ Ð¾Ð¿ÐµÑ€Ð°Ñ‚Ð¾Ñ€Ð° FORMAT в %0"
+
+-#: fortran/decl.c:4991
++#: fortran/decl.c:5181
+ #, fuzzy, no-c-format
+ msgid "Missing array specification at %L in DIMENSION statement"
+ msgstr "ОтÑутÑтвует Ñпецификатор %A в операторе в %0"
+
+-#: fortran/decl.c:5000
++#: fortran/decl.c:5189
+ #, no-c-format
++msgid "Dimensions specified for %s at %L after its initialisation"
++msgstr ""
++
++#: fortran/decl.c:5198
++#, no-c-format
+ msgid "Array specification must be deferred at %L"
+ msgstr ""
+
+-#: fortran/decl.c:5077
++#: fortran/decl.c:5275
+ #, fuzzy, no-c-format
+ msgid "Unexpected character in variable list at %C"
+ msgstr "Предупреждать о декларациÑÑ…, вÑтретившихÑÑ Ð¿Ð¾Ñле операторов"
+
+-#: fortran/decl.c:5114
++#: fortran/decl.c:5312
+ #, no-c-format
+ msgid "Expected '(' at %C"
+ msgstr ""
+
+-#: fortran/decl.c:5128 fortran/decl.c:5168
++#: fortran/decl.c:5326 fortran/decl.c:5366
+ #, no-c-format
+ msgid "Expected variable name at %C"
+ msgstr ""
+
+-#: fortran/decl.c:5144
++#: fortran/decl.c:5342
+ #, fuzzy, no-c-format
+ msgid "Cray pointer at %C must be an integer"
+ msgstr "предикат должен быть идентификатором"
+
+-#: fortran/decl.c:5148
++#: fortran/decl.c:5346
+ #, no-c-format
+ msgid "Cray pointer at %C has %d bytes of precision; memory addresses require %d bytes"
+ msgstr ""
+
+-#: fortran/decl.c:5154
++#: fortran/decl.c:5352
+ #, no-c-format
+ msgid "Expected \",\" at %C"
+ msgstr ""
+
+-#: fortran/decl.c:5217
++#: fortran/decl.c:5415
+ #, no-c-format
+ msgid "Expected \")\" at %C"
+ msgstr ""
+
+-#: fortran/decl.c:5229
++#: fortran/decl.c:5427
+ #, fuzzy, no-c-format
+ msgid "Expected \",\" or end of statement at %C"
+ msgstr "Предупреждать о декларациÑÑ…, вÑтретившихÑÑ Ð¿Ð¾Ñле операторов"
+
+-#: fortran/decl.c:5293
++#: fortran/decl.c:5491
+ #, no-c-format
+ msgid "Cray pointer declaration at %C requires -fcray-pointer flag"
+ msgstr ""
+
+-#: fortran/decl.c:5388
++#: fortran/decl.c:5586
+ #, no-c-format
+ msgid "Access specification of the %s operator at %C has already been specified"
+ msgstr ""
+
+-#: fortran/decl.c:5405
++#: fortran/decl.c:5603
+ #, no-c-format
+ msgid "Access specification of the .%s. operator at %C has already been specified"
+ msgstr ""
+
+-#: fortran/decl.c:5443
++#: fortran/decl.c:5641
+ #, fuzzy, no-c-format
+ msgid "Fortran 2003: PROTECTED statement at %C"
+ msgstr "Ðеподдерживаемый VXT-оператор в %0"
+
+-#: fortran/decl.c:5483
++#: fortran/decl.c:5681
+ #, fuzzy, no-c-format
+ msgid "Syntax error in PROTECTED statement at %C"
+ msgstr "ÐедопуÑтимое чиÑло в операторе FORMAT в %0"
+
+-#: fortran/decl.c:5504
++#: fortran/decl.c:5702
+ #, fuzzy, no-c-format
+ msgid "PRIVATE statement at %C is only allowed in the specification part of a module"
+ msgstr "оператор RETURN в %0 недопуÑтим внутри главной программы"
+
+-#: fortran/decl.c:5541
++#: fortran/decl.c:5739
+ #, fuzzy, no-c-format
+ msgid "PUBLIC statement at %C is only allowed in the specification part of a module"
+ msgstr "оператор RETURN в %0 недопуÑтим внутри главной программы"
+
+-#: fortran/decl.c:5568
++#: fortran/decl.c:5766
+ #, no-c-format
+ msgid "Expected variable name at %C in PARAMETER statement"
+ msgstr ""
+
+-#: fortran/decl.c:5575
++#: fortran/decl.c:5773
+ #, fuzzy, no-c-format
+ msgid "Expected = sign in PARAMETER statement at %C"
+ msgstr "ÐедопуÑтимый знак в операторе FORMAT в %0"
+
+-#: fortran/decl.c:5581
++#: fortran/decl.c:5779
+ #, fuzzy, no-c-format
+ msgid "Expected expression at %C in PARAMETER statement"
+ msgstr "Предупреждать о декларациÑÑ…, вÑтретившихÑÑ Ð¿Ð¾Ñле операторов"
+
+-#: fortran/decl.c:5639
++#: fortran/decl.c:5799
+ #, fuzzy, no-c-format
++msgid "Initializing already initialized variable at %C"
++msgstr "Ñтрока инициализации уÑечена в ÑоответÑтвии Ñ Ñ€Ð°Ð·Ð¼ÐµÑ€Ð¾Ð¼ переменной в %L"
++
++#: fortran/decl.c:5844
++#, fuzzy, no-c-format
+ msgid "Unexpected characters in PARAMETER statement at %C"
+ msgstr "Предупреждать о декларациÑÑ…, вÑтретившихÑÑ Ð¿Ð¾Ñле операторов"
+
+-#: fortran/decl.c:5663
++#: fortran/decl.c:5868
+ #, no-c-format
+ msgid "Blanket SAVE statement at %C follows previous SAVE statement"
+ msgstr ""
+
+-#: fortran/decl.c:5675
++#: fortran/decl.c:5880
+ #, no-c-format
+ msgid "SAVE statement at %C follows blanket SAVE statement"
+ msgstr ""
+
+-#: fortran/decl.c:5722
++#: fortran/decl.c:5927
+ #, fuzzy, no-c-format
+ msgid "Syntax error in SAVE statement at %C"
+ msgstr "ÐедопуÑтимое чиÑло в операторе FORMAT в %0"
+
+-#: fortran/decl.c:5733
++#: fortran/decl.c:5938
+ #, fuzzy, no-c-format
+ msgid "Fortran 2003: VALUE statement at %C"
+ msgstr "Ðеподдерживаемый VXT-оператор в %0"
+
+-#: fortran/decl.c:5773
++#: fortran/decl.c:5978
+ #, fuzzy, no-c-format
+ msgid "Syntax error in VALUE statement at %C"
+ msgstr "ÐедопуÑтимое чиÑло в операторе FORMAT в %0"
+
+-#: fortran/decl.c:5784
++#: fortran/decl.c:5989
+ #, fuzzy, no-c-format
+ msgid "Fortran 2003: VOLATILE statement at %C"
+ msgstr "Ðеподдерживаемый VXT-оператор в %0"
+
+-#: fortran/decl.c:5826
++#: fortran/decl.c:6031
+ #, fuzzy, no-c-format
+ msgid "Syntax error in VOLATILE statement at %C"
+ msgstr "ÐедопуÑтимое чиÑло в операторе FORMAT в %0"
+
+-#: fortran/decl.c:5848
++#: fortran/decl.c:6054
+ #, no-c-format
+ msgid "MODULE PROCEDURE at %C must be in a generic module interface"
+ msgstr ""
+
+-#: fortran/decl.c:5910
++#: fortran/decl.c:6142
+ #, no-c-format
+ msgid "Derived type at %C can only be PRIVATE in the specification part of a module"
+ msgstr ""
+
+-#: fortran/decl.c:5922
++#: fortran/decl.c:6154
+ #, no-c-format
+ msgid "Derived type at %C can only be PUBLIC in the specification part of a module"
+ msgstr ""
+
+-#: fortran/decl.c:5979
++#: fortran/decl.c:6211
+ #, no-c-format
+ msgid "Expected :: in TYPE definition at %C"
+ msgstr ""
+
+-#: fortran/decl.c:5990
++#: fortran/decl.c:6222
+ #, fuzzy, no-c-format
+ msgid "Type name '%s' at %C cannot be the same as an intrinsic type"
+ msgstr "Ð˜Ð¼Ñ Ñ‚Ð¸Ð¿Ð° в %0 не Ñовпадает Ñ Ð¸Ð¼ÐµÐ½ÐµÐ¼, заданным в %1"
+
+-#: fortran/decl.c:6000
++#: fortran/decl.c:6232
+ #, no-c-format
+ msgid "Derived type name '%s' at %C already has a basic type of %s"
+ msgstr ""
+
+-#: fortran/decl.c:6016
++#: fortran/decl.c:6248
+ #, no-c-format
+ msgid "Derived type definition of '%s' at %C has already been defined"
+ msgstr ""
+
+-#: fortran/decl.c:6054
++#: fortran/decl.c:6286
+ #, no-c-format
+ msgid "Cray Pointee at %C cannot be assumed shape array"
+ msgstr ""
+
+-#: fortran/decl.c:6074
++#: fortran/decl.c:6306
+ #, no-c-format
+ msgid "Fortran 2003: ENUM and ENUMERATOR at %C"
+ msgstr ""
+
+-#: fortran/decl.c:6146
++#: fortran/decl.c:6378
+ #, no-c-format
+ msgid "ENUMERATOR %L not initialized with integer expression"
+ msgstr ""
+
+-#: fortran/decl.c:6195
++#: fortran/decl.c:6427
+ #, fuzzy, no-c-format
+ msgid "ENUM definition statement expected before %C"
+ msgstr "перед `*' должно быть Ð¸Ð¼Ñ Ñ‚Ð¸Ð¿Ð°"
+
+-#: fortran/decl.c:6228
++#: fortran/decl.c:6460
+ #, no-c-format
+ msgid "Syntax error in ENUMERATOR definition at %C"
+ msgstr ""
+@@ -5165,21 +5123,21 @@
+ msgid " "
+ msgstr " "
+
+-#: fortran/dump-parse-tree.c:73 fortran/dump-parse-tree.c:626
++#: fortran/dump-parse-tree.c:73 fortran/dump-parse-tree.c:637
+ #, c-format
+ msgid "(%s "
+ msgstr "(%s "
+
+-#: fortran/dump-parse-tree.c:86 fortran/dump-parse-tree.c:1069
+-#: fortran/dump-parse-tree.c:1113 fortran/dump-parse-tree.c:1123
++#: fortran/dump-parse-tree.c:86 fortran/dump-parse-tree.c:1091
++#: fortran/dump-parse-tree.c:1135 fortran/dump-parse-tree.c:1145
+ #, c-format
+ msgid "%d"
+ msgstr "%d"
+
+ #: fortran/dump-parse-tree.c:90 fortran/dump-parse-tree.c:116
+ #: fortran/dump-parse-tree.c:159 fortran/dump-parse-tree.c:395
+-#: fortran/dump-parse-tree.c:518 fortran/dump-parse-tree.c:613
+-#: fortran/dump-parse-tree.c:636
++#: fortran/dump-parse-tree.c:518 fortran/dump-parse-tree.c:624
++#: fortran/dump-parse-tree.c:647
+ #, c-format
+ msgid ")"
+ msgstr ")"
+@@ -5317,7 +5275,7 @@
+ msgid "%.2x"
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:429 fortran/dump-parse-tree.c:732
++#: fortran/dump-parse-tree.c:429 fortran/dump-parse-tree.c:754
+ #, c-format
+ msgid "%s:"
+ msgstr "%s:"
+@@ -5432,748 +5390,753 @@
+ msgid "%s[["
+ msgstr "%s[["
+
+-#: fortran/dump-parse-tree.c:551
++#: fortran/dump-parse-tree.c:560
+ #, fuzzy, c-format
+ msgid "(%s %s %s %s %s"
+ msgstr "(%s %s %s %s"
+
+-#: fortran/dump-parse-tree.c:558
++#: fortran/dump-parse-tree.c:567
+ #, c-format
+ msgid " ALLOCATABLE"
+ msgstr " ALLOCATABLE"
+
+-#: fortran/dump-parse-tree.c:560 fortran/dump-parse-tree.c:631
++#: fortran/dump-parse-tree.c:569 fortran/dump-parse-tree.c:642
+ #, c-format
+ msgid " DIMENSION"
+ msgstr " DIMENSION"
+
+-#: fortran/dump-parse-tree.c:562
++#: fortran/dump-parse-tree.c:571
+ #, c-format
+ msgid " EXTERNAL"
+ msgstr " EXTERNAL"
+
+-#: fortran/dump-parse-tree.c:564
++#: fortran/dump-parse-tree.c:573
+ #, c-format
+ msgid " INTRINSIC"
+ msgstr " INTRINSIC"
+
+-#: fortran/dump-parse-tree.c:566
++#: fortran/dump-parse-tree.c:575
+ #, c-format
+ msgid " OPTIONAL"
+ msgstr " OPTIONAL"
+
+-#: fortran/dump-parse-tree.c:568 fortran/dump-parse-tree.c:629
++#: fortran/dump-parse-tree.c:577 fortran/dump-parse-tree.c:640
+ #, c-format
+ msgid " POINTER"
+ msgstr " POINTER"
+
+-#: fortran/dump-parse-tree.c:570
++#: fortran/dump-parse-tree.c:579
+ #, fuzzy, c-format
+ msgid " PROTECTED"
+ msgstr " FORMATTED"
+
+-#: fortran/dump-parse-tree.c:572
++#: fortran/dump-parse-tree.c:581
+ #, c-format
+ msgid " VALUE"
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:574
++#: fortran/dump-parse-tree.c:583
+ #, c-format
+ msgid " VOLATILE"
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:576
++#: fortran/dump-parse-tree.c:585
+ #, fuzzy, c-format
+ msgid " THREADPRIVATE"
+ msgstr " READWRITE="
+
+-#: fortran/dump-parse-tree.c:578
++#: fortran/dump-parse-tree.c:587
+ #, c-format
+ msgid " TARGET"
+ msgstr " TARGET"
+
+-#: fortran/dump-parse-tree.c:580
++#: fortran/dump-parse-tree.c:589
+ #, c-format
+ msgid " DUMMY"
+ msgstr " DUMMY"
+
+-#: fortran/dump-parse-tree.c:582
++#: fortran/dump-parse-tree.c:591
+ #, c-format
+ msgid " RESULT"
+ msgstr " RESULT"
+
+-#: fortran/dump-parse-tree.c:584
++#: fortran/dump-parse-tree.c:593
+ #, c-format
+ msgid " ENTRY"
+ msgstr " ENTRY"
+
+-#: fortran/dump-parse-tree.c:587
++#: fortran/dump-parse-tree.c:595
+ #, c-format
++msgid " BIND(C)"
++msgstr ""
++
++#: fortran/dump-parse-tree.c:598
++#, c-format
+ msgid " DATA"
+ msgstr " DATA"
+
+-#: fortran/dump-parse-tree.c:589
++#: fortran/dump-parse-tree.c:600
+ #, c-format
+ msgid " USE-ASSOC"
+ msgstr " USE-ASSOC"
+
+-#: fortran/dump-parse-tree.c:591
++#: fortran/dump-parse-tree.c:602
+ #, c-format
+ msgid " IN-NAMELIST"
+ msgstr " IN-NAMELIST"
+
+-#: fortran/dump-parse-tree.c:593
++#: fortran/dump-parse-tree.c:604
+ #, c-format
+ msgid " IN-COMMON"
+ msgstr " IN-COMMON"
+
+-#: fortran/dump-parse-tree.c:596
++#: fortran/dump-parse-tree.c:607
+ #, c-format
+ msgid " ABSTRACT INTERFACE"
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:598
++#: fortran/dump-parse-tree.c:609
+ #, c-format
+ msgid " FUNCTION"
+ msgstr " FUNCTION"
+
+-#: fortran/dump-parse-tree.c:600
++#: fortran/dump-parse-tree.c:611
+ #, c-format
+ msgid " SUBROUTINE"
+ msgstr " SUBROUTINE"
+
+-#: fortran/dump-parse-tree.c:602
++#: fortran/dump-parse-tree.c:613
+ #, c-format
+ msgid " IMPLICIT-TYPE"
+ msgstr " IMPLICIT-TYPE"
+
+-#: fortran/dump-parse-tree.c:605
++#: fortran/dump-parse-tree.c:616
+ #, c-format
+ msgid " SEQUENCE"
+ msgstr " SEQUENCE"
+
+-#: fortran/dump-parse-tree.c:607
++#: fortran/dump-parse-tree.c:618
+ #, c-format
+ msgid " ELEMENTAL"
+ msgstr " ELEMENTAL"
+
+-#: fortran/dump-parse-tree.c:609
++#: fortran/dump-parse-tree.c:620
+ #, c-format
+ msgid " PURE"
+ msgstr " PURE"
+
+-#: fortran/dump-parse-tree.c:611
++#: fortran/dump-parse-tree.c:622
+ #, c-format
+ msgid " RECURSIVE"
+ msgstr " RECURSIVE"
+
+-#: fortran/dump-parse-tree.c:635 fortran/dump-parse-tree.c:682
+-#: fortran/dump-parse-tree.c:706 fortran/dump-parse-tree.c:735
+-#: fortran/dump-parse-tree.c:1276 fortran/dump-parse-tree.c:1282
+-#: fortran/dump-parse-tree.c:1784
++#: fortran/dump-parse-tree.c:646 fortran/dump-parse-tree.c:693
++#: fortran/dump-parse-tree.c:717 fortran/dump-parse-tree.c:757
++#: fortran/dump-parse-tree.c:1298 fortran/dump-parse-tree.c:1304
++#: fortran/dump-parse-tree.c:1806
+ #, c-format
+ msgid " %s"
+ msgstr " %s"
+
+-#: fortran/dump-parse-tree.c:659
++#: fortran/dump-parse-tree.c:670
+ #, c-format
+ msgid "symbol %s "
+ msgstr "Ñимвол %s "
+
+-#: fortran/dump-parse-tree.c:666
++#: fortran/dump-parse-tree.c:677
+ #, c-format
+ msgid "value: "
+ msgstr "значение: "
+
+-#: fortran/dump-parse-tree.c:673
++#: fortran/dump-parse-tree.c:684
+ #, c-format
+ msgid "Array spec:"
+ msgstr "Параметры маÑÑива:"
+
+-#: fortran/dump-parse-tree.c:680
++#: fortran/dump-parse-tree.c:691
+ #, c-format
+ msgid "Generic interfaces:"
+ msgstr "Общие интерфейÑÑ‹:"
+
+-#: fortran/dump-parse-tree.c:688
++#: fortran/dump-parse-tree.c:699
+ #, c-format
+ msgid "result: %s"
+ msgstr "результат: %s"
+
+-#: fortran/dump-parse-tree.c:694
++#: fortran/dump-parse-tree.c:705
+ #, c-format
+ msgid "components: "
+ msgstr "компоненты: "
+
+-#: fortran/dump-parse-tree.c:701
++#: fortran/dump-parse-tree.c:712
+ #, c-format
+ msgid "Formal arglist:"
+ msgstr "Формальный ÑпиÑок аргументов:"
+
+-#: fortran/dump-parse-tree.c:708
++#: fortran/dump-parse-tree.c:719
+ #, c-format
+ msgid " [Alt Return]"
+ msgstr " [Alt Return]"
+
+-#: fortran/dump-parse-tree.c:715
++#: fortran/dump-parse-tree.c:726
+ #, c-format
+ msgid "Formal namespace"
+ msgstr "Формальное проÑтранÑтво имён"
+
+-#: fortran/dump-parse-tree.c:771
++#: fortran/dump-parse-tree.c:793
+ #, c-format
+ msgid "common: /%s/ "
+ msgstr "common: /%s/ "
+
+-#: fortran/dump-parse-tree.c:779 fortran/dump-parse-tree.c:1720
++#: fortran/dump-parse-tree.c:801 fortran/dump-parse-tree.c:1742
+ #, c-format
+ msgid ", "
+ msgstr ", "
+
+-#: fortran/dump-parse-tree.c:791
++#: fortran/dump-parse-tree.c:813
+ #, c-format
+ msgid "symtree: %s Ambig %d"
+ msgstr "symtree: %s Ambig %d"
+
+-#: fortran/dump-parse-tree.c:794
++#: fortran/dump-parse-tree.c:816
+ #, c-format
+ msgid " from namespace %s"
+ msgstr " из проÑтранÑтва имён %s"
+
+-#: fortran/dump-parse-tree.c:820
++#: fortran/dump-parse-tree.c:842
+ #, fuzzy, c-format
+ msgid "%s,"
+ msgstr "%s"
+
+-#: fortran/dump-parse-tree.c:852
++#: fortran/dump-parse-tree.c:874
+ #, c-format
+ msgid "!$OMP %s"
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:867 fortran/dump-parse-tree.c:1010
++#: fortran/dump-parse-tree.c:889 fortran/dump-parse-tree.c:1032
+ #, fuzzy, c-format
+ msgid " (%s)"
+ msgstr " %s"
+
+-#: fortran/dump-parse-tree.c:872
++#: fortran/dump-parse-tree.c:894
+ #, fuzzy, c-format
+ msgid " ("
+ msgstr ", ("
+
+-#: fortran/dump-parse-tree.c:888
++#: fortran/dump-parse-tree.c:910
+ #, c-format
+ msgid " IF("
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:894
++#: fortran/dump-parse-tree.c:916
+ #, c-format
+ msgid " NUM_THREADS("
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:910
++#: fortran/dump-parse-tree.c:932
+ #, c-format
+ msgid " SCHEDULE (%s"
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:930
++#: fortran/dump-parse-tree.c:952
+ #, c-format
+ msgid " DEFAULT(%s)"
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:933
++#: fortran/dump-parse-tree.c:955
+ #, fuzzy, c-format
+ msgid " ORDERED"
+ msgstr " OPENED="
+
+-#: fortran/dump-parse-tree.c:958
++#: fortran/dump-parse-tree.c:980
+ #, fuzzy, c-format
+ msgid " REDUCTION(%s:"
+ msgstr " FUNCTION"
+
+-#: fortran/dump-parse-tree.c:972
++#: fortran/dump-parse-tree.c:994
+ #, fuzzy, c-format
+ msgid " %s("
+ msgstr "%s("
+
+-#: fortran/dump-parse-tree.c:988
++#: fortran/dump-parse-tree.c:1010
+ #, c-format
+ msgid "!$OMP SECTION\n"
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:997
++#: fortran/dump-parse-tree.c:1019
+ #, c-format
+ msgid "!$OMP END %s"
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:1002
++#: fortran/dump-parse-tree.c:1024
+ #, c-format
+ msgid " COPYPRIVATE("
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:1007
++#: fortran/dump-parse-tree.c:1029
+ #, fuzzy, c-format
+ msgid " NOWAIT"
+ msgstr " UNIT="
+
+-#: fortran/dump-parse-tree.c:1034
++#: fortran/dump-parse-tree.c:1056
+ #, c-format
+ msgid "NOP"
+ msgstr "NOP"
+
+-#: fortran/dump-parse-tree.c:1038
++#: fortran/dump-parse-tree.c:1060
+ #, c-format
+ msgid "CONTINUE"
+ msgstr "CONTINUE"
+
+-#: fortran/dump-parse-tree.c:1042
++#: fortran/dump-parse-tree.c:1064
+ #, c-format
+ msgid "ENTRY %s"
+ msgstr "ПОЛЕ %s"
+
+-#: fortran/dump-parse-tree.c:1047
++#: fortran/dump-parse-tree.c:1069
+ #, c-format
+ msgid "ASSIGN "
+ msgstr "ASSIGN"
+
+-#: fortran/dump-parse-tree.c:1054
++#: fortran/dump-parse-tree.c:1076
+ #, c-format
+ msgid "LABEL ASSIGN "
+ msgstr "LABEL ASSIGN "
+
+-#: fortran/dump-parse-tree.c:1056
++#: fortran/dump-parse-tree.c:1078
+ #, c-format
+ msgid " %d"
+ msgstr " %d"
+
+-#: fortran/dump-parse-tree.c:1060
++#: fortran/dump-parse-tree.c:1082
+ #, c-format
+ msgid "POINTER ASSIGN "
+ msgstr "POINTER ASSIGN "
+
+-#: fortran/dump-parse-tree.c:1067
++#: fortran/dump-parse-tree.c:1089
+ #, c-format
+ msgid "GOTO "
+ msgstr "GOTO "
+
+-#: fortran/dump-parse-tree.c:1076
++#: fortran/dump-parse-tree.c:1098
+ #, c-format
+ msgid ", ("
+ msgstr ", ("
+
+-#: fortran/dump-parse-tree.c:1092 fortran/dump-parse-tree.c:1094
++#: fortran/dump-parse-tree.c:1114 fortran/dump-parse-tree.c:1116
+ #, c-format
+ msgid "CALL %s "
+ msgstr "CALL %s "
+
+-#: fortran/dump-parse-tree.c:1096
++#: fortran/dump-parse-tree.c:1118
+ #, c-format
+ msgid "CALL ?? "
+ msgstr "CALL ?? "
+
+-#: fortran/dump-parse-tree.c:1102
++#: fortran/dump-parse-tree.c:1124
+ #, c-format
+ msgid "RETURN "
+ msgstr "RETURN "
+
+-#: fortran/dump-parse-tree.c:1108
++#: fortran/dump-parse-tree.c:1130
+ #, c-format
+ msgid "PAUSE "
+ msgstr "PAUSE "
+
+-#: fortran/dump-parse-tree.c:1118
++#: fortran/dump-parse-tree.c:1140
+ #, c-format
+ msgid "STOP "
+ msgstr "STOP "
+
+-#: fortran/dump-parse-tree.c:1128 fortran/dump-parse-tree.c:1136
++#: fortran/dump-parse-tree.c:1150 fortran/dump-parse-tree.c:1158
+ #, c-format
+ msgid "IF "
+ msgstr "IF "
+
+-#: fortran/dump-parse-tree.c:1130
++#: fortran/dump-parse-tree.c:1152
+ #, c-format
+ msgid " %d, %d, %d"
+ msgstr " %d, %d, %d"
+
+-#: fortran/dump-parse-tree.c:1147
++#: fortran/dump-parse-tree.c:1169
+ #, c-format
+ msgid "ELSE\n"
+ msgstr "ELSE\n"
+
+-#: fortran/dump-parse-tree.c:1150
++#: fortran/dump-parse-tree.c:1172
+ #, c-format
+ msgid "ELSE IF "
+ msgstr "ELSE IF "
+
+-#: fortran/dump-parse-tree.c:1160
++#: fortran/dump-parse-tree.c:1182
+ #, c-format
+ msgid "ENDIF"
+ msgstr "ENDIF"
+
+-#: fortran/dump-parse-tree.c:1165
++#: fortran/dump-parse-tree.c:1187
+ #, c-format
+ msgid "SELECT CASE "
+ msgstr "SELECT CASE "
+
+-#: fortran/dump-parse-tree.c:1173
++#: fortran/dump-parse-tree.c:1195
+ #, c-format
+ msgid "CASE "
+ msgstr "CASE "
+
+-#: fortran/dump-parse-tree.c:1189
++#: fortran/dump-parse-tree.c:1211
+ #, c-format
+ msgid "END SELECT"
+ msgstr "END SELECT"
+
+-#: fortran/dump-parse-tree.c:1193
++#: fortran/dump-parse-tree.c:1215
+ #, c-format
+ msgid "WHERE "
+ msgstr "WHERE "
+
+-#: fortran/dump-parse-tree.c:1204
++#: fortran/dump-parse-tree.c:1226
+ #, c-format
+ msgid "ELSE WHERE "
+ msgstr "ELSE WHERE "
+
+-#: fortran/dump-parse-tree.c:1211
++#: fortran/dump-parse-tree.c:1233
+ #, c-format
+ msgid "END WHERE"
+ msgstr "END WHERE"
+
+-#: fortran/dump-parse-tree.c:1216
++#: fortran/dump-parse-tree.c:1238
+ #, c-format
+ msgid "FORALL "
+ msgstr "FORALL "
+
+-#: fortran/dump-parse-tree.c:1241
++#: fortran/dump-parse-tree.c:1263
+ #, c-format
+ msgid "END FORALL"
+ msgstr "END FORALL"
+
+-#: fortran/dump-parse-tree.c:1245
++#: fortran/dump-parse-tree.c:1267
+ #, c-format
+ msgid "DO "
+ msgstr "DO "
+
+-#: fortran/dump-parse-tree.c:1259 fortran/dump-parse-tree.c:1270
++#: fortran/dump-parse-tree.c:1281 fortran/dump-parse-tree.c:1292
+ #, c-format
+ msgid "END DO"
+ msgstr "END DO"
+
+-#: fortran/dump-parse-tree.c:1263
++#: fortran/dump-parse-tree.c:1285
+ #, c-format
+ msgid "DO WHILE "
+ msgstr "DO WHILE "
+
+-#: fortran/dump-parse-tree.c:1274
++#: fortran/dump-parse-tree.c:1296
+ #, c-format
+ msgid "CYCLE"
+ msgstr "CYCLE"
+
+-#: fortran/dump-parse-tree.c:1280
++#: fortran/dump-parse-tree.c:1302
+ #, c-format
+ msgid "EXIT"
+ msgstr "EXIT"
+
+-#: fortran/dump-parse-tree.c:1286
++#: fortran/dump-parse-tree.c:1308
+ #, c-format
+ msgid "ALLOCATE "
+ msgstr "ALLOCATE "
+
+-#: fortran/dump-parse-tree.c:1289 fortran/dump-parse-tree.c:1305
++#: fortran/dump-parse-tree.c:1311 fortran/dump-parse-tree.c:1327
+ #, c-format
+ msgid " STAT="
+ msgstr " STAT="
+
+-#: fortran/dump-parse-tree.c:1302
++#: fortran/dump-parse-tree.c:1324
+ #, c-format
+ msgid "DEALLOCATE "
+ msgstr "DEALLOCATE "
+
+-#: fortran/dump-parse-tree.c:1318
++#: fortran/dump-parse-tree.c:1340
+ #, c-format
+ msgid "OPEN"
+ msgstr "OPEN"
+
+-#: fortran/dump-parse-tree.c:1323 fortran/dump-parse-tree.c:1402
+-#: fortran/dump-parse-tree.c:1444 fortran/dump-parse-tree.c:1467
+-#: fortran/dump-parse-tree.c:1619
++#: fortran/dump-parse-tree.c:1345 fortran/dump-parse-tree.c:1424
++#: fortran/dump-parse-tree.c:1466 fortran/dump-parse-tree.c:1489
++#: fortran/dump-parse-tree.c:1641
+ #, c-format
+ msgid " UNIT="
+ msgstr " UNIT="
+
+-#: fortran/dump-parse-tree.c:1328 fortran/dump-parse-tree.c:1407
+-#: fortran/dump-parse-tree.c:1449 fortran/dump-parse-tree.c:1478
+-#: fortran/dump-parse-tree.c:1636
++#: fortran/dump-parse-tree.c:1350 fortran/dump-parse-tree.c:1429
++#: fortran/dump-parse-tree.c:1471 fortran/dump-parse-tree.c:1500
++#: fortran/dump-parse-tree.c:1658
+ #, c-format
+ msgid " IOMSG="
+ msgstr " IOMSG="
+
+-#: fortran/dump-parse-tree.c:1333 fortran/dump-parse-tree.c:1412
+-#: fortran/dump-parse-tree.c:1454 fortran/dump-parse-tree.c:1483
+-#: fortran/dump-parse-tree.c:1641
++#: fortran/dump-parse-tree.c:1355 fortran/dump-parse-tree.c:1434
++#: fortran/dump-parse-tree.c:1476 fortran/dump-parse-tree.c:1505
++#: fortran/dump-parse-tree.c:1663
+ #, c-format
+ msgid " IOSTAT="
+ msgstr " IOSTAT="
+
+-#: fortran/dump-parse-tree.c:1338 fortran/dump-parse-tree.c:1472
++#: fortran/dump-parse-tree.c:1360 fortran/dump-parse-tree.c:1494
+ #, c-format
+ msgid " FILE="
+ msgstr " FILE="
+
+-#: fortran/dump-parse-tree.c:1343 fortran/dump-parse-tree.c:1417
++#: fortran/dump-parse-tree.c:1365 fortran/dump-parse-tree.c:1439
+ #, c-format
+ msgid " STATUS="
+ msgstr " STATUS="
+
+-#: fortran/dump-parse-tree.c:1348 fortran/dump-parse-tree.c:1513
++#: fortran/dump-parse-tree.c:1370 fortran/dump-parse-tree.c:1535
+ #, c-format
+ msgid " ACCESS="
+ msgstr " ACCESS="
+
+-#: fortran/dump-parse-tree.c:1353 fortran/dump-parse-tree.c:1529
++#: fortran/dump-parse-tree.c:1375 fortran/dump-parse-tree.c:1551
+ #, c-format
+ msgid " FORM="
+ msgstr " FORM="
+
+-#: fortran/dump-parse-tree.c:1358 fortran/dump-parse-tree.c:1544
++#: fortran/dump-parse-tree.c:1380 fortran/dump-parse-tree.c:1566
+ #, c-format
+ msgid " RECL="
+ msgstr " RECL="
+
+-#: fortran/dump-parse-tree.c:1363 fortran/dump-parse-tree.c:1554
++#: fortran/dump-parse-tree.c:1385 fortran/dump-parse-tree.c:1576
+ #, c-format
+ msgid " BLANK="
+ msgstr " BLANK="
+
+-#: fortran/dump-parse-tree.c:1368 fortran/dump-parse-tree.c:1559
++#: fortran/dump-parse-tree.c:1390 fortran/dump-parse-tree.c:1581
+ #, c-format
+ msgid " POSITION="
+ msgstr " POSITION="
+
+-#: fortran/dump-parse-tree.c:1373 fortran/dump-parse-tree.c:1564
++#: fortran/dump-parse-tree.c:1395 fortran/dump-parse-tree.c:1586
+ #, c-format
+ msgid " ACTION="
+ msgstr " ACTION="
+
+-#: fortran/dump-parse-tree.c:1378 fortran/dump-parse-tree.c:1584
++#: fortran/dump-parse-tree.c:1400 fortran/dump-parse-tree.c:1606
+ #, c-format
+ msgid " DELIM="
+ msgstr " DELIM="
+
+-#: fortran/dump-parse-tree.c:1383 fortran/dump-parse-tree.c:1589
++#: fortran/dump-parse-tree.c:1405 fortran/dump-parse-tree.c:1611
+ #, c-format
+ msgid " PAD="
+ msgstr " PAD="
+
+-#: fortran/dump-parse-tree.c:1388 fortran/dump-parse-tree.c:1594
++#: fortran/dump-parse-tree.c:1410 fortran/dump-parse-tree.c:1616
+ #, c-format
+ msgid " CONVERT="
+ msgstr " CONVERT="
+
+-#: fortran/dump-parse-tree.c:1392 fortran/dump-parse-tree.c:1421
+-#: fortran/dump-parse-tree.c:1458 fortran/dump-parse-tree.c:1599
+-#: fortran/dump-parse-tree.c:1676
++#: fortran/dump-parse-tree.c:1414 fortran/dump-parse-tree.c:1443
++#: fortran/dump-parse-tree.c:1480 fortran/dump-parse-tree.c:1621
++#: fortran/dump-parse-tree.c:1698
+ #, c-format
+ msgid " ERR=%d"
+ msgstr " ERR=%d"
+
+-#: fortran/dump-parse-tree.c:1397
++#: fortran/dump-parse-tree.c:1419
+ #, c-format
+ msgid "CLOSE"
+ msgstr "CLOSE"
+
+-#: fortran/dump-parse-tree.c:1425
++#: fortran/dump-parse-tree.c:1447
+ #, c-format
+ msgid "BACKSPACE"
+ msgstr "BACKSPACE"
+
+-#: fortran/dump-parse-tree.c:1429
++#: fortran/dump-parse-tree.c:1451
+ #, c-format
+ msgid "ENDFILE"
+ msgstr "ENDFILE"
+
+-#: fortran/dump-parse-tree.c:1433
++#: fortran/dump-parse-tree.c:1455
+ #, c-format
+ msgid "REWIND"
+ msgstr "REWIND"
+
+-#: fortran/dump-parse-tree.c:1437
++#: fortran/dump-parse-tree.c:1459
+ #, c-format
+ msgid "FLUSH"
+ msgstr "FLUSH"
+
+-#: fortran/dump-parse-tree.c:1462
++#: fortran/dump-parse-tree.c:1484
+ #, c-format
+ msgid "INQUIRE"
+ msgstr "INQUIRE"
+
+-#: fortran/dump-parse-tree.c:1488
++#: fortran/dump-parse-tree.c:1510
+ #, c-format
+ msgid " EXIST="
+ msgstr " EXIST="
+
+-#: fortran/dump-parse-tree.c:1493
++#: fortran/dump-parse-tree.c:1515
+ #, c-format
+ msgid " OPENED="
+ msgstr " OPENED="
+
+-#: fortran/dump-parse-tree.c:1498
++#: fortran/dump-parse-tree.c:1520
+ #, c-format
+ msgid " NUMBER="
+ msgstr " NUMBER="
+
+-#: fortran/dump-parse-tree.c:1503
++#: fortran/dump-parse-tree.c:1525
+ #, c-format
+ msgid " NAMED="
+ msgstr " NAMED="
+
+-#: fortran/dump-parse-tree.c:1508
++#: fortran/dump-parse-tree.c:1530
+ #, c-format
+ msgid " NAME="
+ msgstr " NAME="
+
+-#: fortran/dump-parse-tree.c:1518
++#: fortran/dump-parse-tree.c:1540
+ #, c-format
+ msgid " SEQUENTIAL="
+ msgstr " SEQUENTIAL="
+
+-#: fortran/dump-parse-tree.c:1524
++#: fortran/dump-parse-tree.c:1546
+ #, c-format
+ msgid " DIRECT="
+ msgstr " DIRECT="
+
+-#: fortran/dump-parse-tree.c:1534
++#: fortran/dump-parse-tree.c:1556
+ #, c-format
+ msgid " FORMATTED"
+ msgstr " FORMATTED"
+
+-#: fortran/dump-parse-tree.c:1539
++#: fortran/dump-parse-tree.c:1561
+ #, c-format
+ msgid " UNFORMATTED="
+ msgstr " UNFORMATTED="
+
+-#: fortran/dump-parse-tree.c:1549
++#: fortran/dump-parse-tree.c:1571
+ #, c-format
+ msgid " NEXTREC="
+ msgstr " NEXTREC="
+
+-#: fortran/dump-parse-tree.c:1569
++#: fortran/dump-parse-tree.c:1591
+ #, c-format
+ msgid " READ="
+ msgstr " READ="
+
+-#: fortran/dump-parse-tree.c:1574
++#: fortran/dump-parse-tree.c:1596
+ #, c-format
+ msgid " WRITE="
+ msgstr " WRITE="
+
+-#: fortran/dump-parse-tree.c:1579
++#: fortran/dump-parse-tree.c:1601
+ #, c-format
+ msgid " READWRITE="
+ msgstr " READWRITE="
+
+-#: fortran/dump-parse-tree.c:1603
++#: fortran/dump-parse-tree.c:1625
+ #, c-format
+ msgid "IOLENGTH "
+ msgstr "IOLENGTH "
+
+-#: fortran/dump-parse-tree.c:1609
++#: fortran/dump-parse-tree.c:1631
+ #, c-format
+ msgid "READ"
+ msgstr "READ"
+
+-#: fortran/dump-parse-tree.c:1613
++#: fortran/dump-parse-tree.c:1635
+ #, c-format
+ msgid "WRITE"
+ msgstr "WRITE"
+
+-#: fortran/dump-parse-tree.c:1625
++#: fortran/dump-parse-tree.c:1647
+ #, c-format
+ msgid " FMT="
+ msgstr " FMT="
+
+-#: fortran/dump-parse-tree.c:1630
++#: fortran/dump-parse-tree.c:1652
+ #, c-format
+ msgid " FMT=%d"
+ msgstr " FMT=%d"
+
+-#: fortran/dump-parse-tree.c:1632
++#: fortran/dump-parse-tree.c:1654
+ #, c-format
+ msgid " NML=%s"
+ msgstr " NML=%s"
+
+-#: fortran/dump-parse-tree.c:1646
++#: fortran/dump-parse-tree.c:1668
+ #, c-format
+ msgid " SIZE="
+ msgstr " SIZE="
+
+-#: fortran/dump-parse-tree.c:1651
++#: fortran/dump-parse-tree.c:1673
+ #, c-format
+ msgid " REC="
+ msgstr " REC="
+
+-#: fortran/dump-parse-tree.c:1656
++#: fortran/dump-parse-tree.c:1678
+ #, c-format
+ msgid " ADVANCE="
+ msgstr " ADVANCE="
+
+-#: fortran/dump-parse-tree.c:1667
++#: fortran/dump-parse-tree.c:1689
+ #, c-format
+ msgid "TRANSFER "
+ msgstr "TRANSFER "
+
+-#: fortran/dump-parse-tree.c:1672
++#: fortran/dump-parse-tree.c:1694
+ #, c-format
+ msgid "DT_END"
+ msgstr "DT_END"
+
+-#: fortran/dump-parse-tree.c:1678
++#: fortran/dump-parse-tree.c:1700
+ #, c-format
+ msgid " END=%d"
+ msgstr " END=%d"
+
+-#: fortran/dump-parse-tree.c:1680
++#: fortran/dump-parse-tree.c:1702
+ #, c-format
+ msgid " EOR=%d"
+ msgstr " EOR=%d"
+
+-#: fortran/dump-parse-tree.c:1714
++#: fortran/dump-parse-tree.c:1736
+ #, c-format
+ msgid "Equivalence: "
+ msgstr "ЭквивалентноÑÑ‚ÑŒ: "
+
+-#: fortran/dump-parse-tree.c:1740
++#: fortran/dump-parse-tree.c:1762
+ #, c-format
+ msgid "Namespace:"
+ msgstr "ПроÑтранÑтво имён:"
+
+-#: fortran/dump-parse-tree.c:1754
++#: fortran/dump-parse-tree.c:1776
+ #, c-format
+ msgid " %c-%c: "
+ msgstr " %c-%c: "
+
+-#: fortran/dump-parse-tree.c:1756
++#: fortran/dump-parse-tree.c:1778
+ #, c-format
+ msgid " %c: "
+ msgstr " %c: "
+
+-#: fortran/dump-parse-tree.c:1765
++#: fortran/dump-parse-tree.c:1787
+ #, c-format
+ msgid "procedure name = %s"
+ msgstr "Ð¸Ð¼Ñ Ð¿Ñ€Ð¾Ñ†ÐµÐ´ÑƒÑ€Ñ‹ = %s"
+
+-#: fortran/dump-parse-tree.c:1781
++#: fortran/dump-parse-tree.c:1803
+ #, c-format
+ msgid "Operator interfaces for %s:"
+ msgstr "ИнтерфейÑÑ‹ оператора Ð´Ð»Ñ %s:"
+
+-#: fortran/dump-parse-tree.c:1790
++#: fortran/dump-parse-tree.c:1812
+ #, c-format
+ msgid "User operators:\n"
+ msgstr "Операторы пользователÑ:\n"
+
+-#: fortran/dump-parse-tree.c:1806
++#: fortran/dump-parse-tree.c:1828
+ #, c-format
+ msgid "CONTAINS\n"
+ msgstr "CONTAINS\n"
+@@ -6193,309 +6156,349 @@
+ msgid "Error count reached limit of %d."
+ msgstr ""
+
+-#: fortran/error.c:670 fortran/error.c:725 fortran/error.c:762
++#: fortran/error.c:670 fortran/error.c:724 fortran/error.c:761
+ msgid "Warning:"
+ msgstr "Предупреждение:"
+
+-#: fortran/error.c:727 fortran/error.c:810 fortran/error.c:836
++#: fortran/error.c:726 fortran/error.c:809 fortran/error.c:835
+ msgid "Error:"
+ msgstr "ошибка:"
+
+-#: fortran/error.c:860
++#: fortran/error.c:859
+ msgid "Fatal Error:"
+ msgstr "Ð¤Ð°Ñ‚Ð°Ð»ÑŒÐ½Ð°Ñ Ð¾ÑˆÐ¸Ð±ÐºÐ°: "
+
+-#: fortran/error.c:879
++#: fortran/error.c:878
+ #, no-c-format
+ msgid "Internal Error at (1):"
+ msgstr "ВнутреннÑÑ Ð¾ÑˆÐ¸Ð±ÐºÐ° в (1): "
+
+-#: fortran/expr.c:252
++#: fortran/expr.c:253
+ #, c-format
+ msgid "Constant expression required at %C"
+ msgstr "Выражение %C должно быть конÑтантой"
+
+-#: fortran/expr.c:255
++#: fortran/expr.c:256
+ #, c-format
+ msgid "Integer expression required at %C"
+ msgstr "Ð’ %C требуетÑÑ Ñ†ÐµÐ»Ð¾Ñ‡Ð¸Ñленное выражение"
+
+-#: fortran/expr.c:260
++#: fortran/expr.c:261
+ #, c-format
+ msgid "Integer value too large in expression at %C"
+ msgstr "Переполнение при вычиÑлении Ð²Ñ‹Ñ€Ð°Ð¶ÐµÐ½Ð¸Ñ Ð² %C"
+
+-#: fortran/expr.c:1018 fortran/expr.c:1189 fortran/expr.c:1240
++#: fortran/expr.c:1037
++#, fuzzy, no-c-format
++msgid "Index in dimension %d is out of bounds at %L"
++msgstr "Ð¸Ð½Ð´ÐµÐºÑ Ñ€Ð°Ð·Ð¼ÐµÑ€Ð½Ð¾Ñти %d выходит за границы в %L"
++
++#: fortran/expr.c:1208 fortran/expr.c:1259
+ #, no-c-format
+ msgid "index in dimension %d is out of bounds at %L"
+ msgstr "Ð¸Ð½Ð´ÐµÐºÑ Ñ€Ð°Ð·Ð¼ÐµÑ€Ð½Ð¾Ñти %d выходит за границы в %L"
+
+-#: fortran/expr.c:1789
++#: fortran/expr.c:1808
+ #, no-c-format
+ msgid "elemental function arguments at %C are not compliant"
+ msgstr ""
+
+-#: fortran/expr.c:1833
++#: fortran/expr.c:1852
+ #, no-c-format
+ msgid "Numeric or CHARACTER operands are required in expression at %L"
+ msgstr ""
+
+-#: fortran/expr.c:1853
++#: fortran/expr.c:1872
+ #, no-c-format
+ msgid "Fortran 2003: Noninteger exponent in an initialization expression at %L"
+ msgstr ""
+
+-#: fortran/expr.c:1868
++#: fortran/expr.c:1887
+ #, no-c-format
+ msgid "Concatenation operator in expression at %L must have two CHARACTER operands"
+ msgstr ""
+
+-#: fortran/expr.c:1875
++#: fortran/expr.c:1894
+ #, no-c-format
+ msgid "Concat operator at %L must concatenate strings of the same kind"
+ msgstr ""
+
+-#: fortran/expr.c:1885
++#: fortran/expr.c:1904
+ #, no-c-format
+ msgid ".NOT. operator in expression at %L must have a LOGICAL operand"
+ msgstr ""
+
+-#: fortran/expr.c:1901
++#: fortran/expr.c:1920
+ #, no-c-format
+ msgid "LOGICAL operands are required in expression at %L"
+ msgstr ""
+
+-#: fortran/expr.c:1912
++#: fortran/expr.c:1931
+ #, fuzzy, no-c-format
+ msgid "Only intrinsic operators can be used in expression at %L"
+ msgstr "ОтÑутÑтвует операнд Ð´Ð»Ñ Ð¾Ð¿ÐµÑ€Ð°Ñ†Ð¸Ð¸ в %1 в конце Ð²Ñ‹Ñ€Ð°Ð¶ÐµÐ½Ð¸Ñ Ð² %0"
+
+-#: fortran/expr.c:1920
++#: fortran/expr.c:1939
+ #, fuzzy, no-c-format
+ msgid "Numeric operands are required in expression at %L"
+ msgstr "ОтÑутÑтвует операнд Ð´Ð»Ñ Ð¾Ð¿ÐµÑ€Ð°Ñ†Ð¸Ð¸ в %1 в конце Ð²Ñ‹Ñ€Ð°Ð¶ÐµÐ½Ð¸Ñ Ð² %0"
+
+-#: fortran/expr.c:1985
++#: fortran/expr.c:2030
+ #, fuzzy, no-c-format
+-msgid "Inquiry function '%s' at %L is not permitted in an initialization expression"
+-msgstr "%Jфинальное поле '%D', возможно, не было инициализировано"
+-
+-#: fortran/expr.c:2015
+-#, fuzzy, no-c-format
+ msgid "Assumed character length variable '%s' in constant expression at %L"
+ msgstr "%s не может приÑутÑтвовать в конÑтантном выражении"
+
+-#: fortran/expr.c:2061 fortran/expr.c:2067
++#: fortran/expr.c:2076 fortran/expr.c:2082
+ #, fuzzy, no-c-format
+ msgid "transformational intrinsic '%s' at %L is not permitted in an initialization expression"
+ msgstr "%Jфинальное поле '%D', возможно, не было инициализировано"
+
+-#: fortran/expr.c:2098
++#: fortran/expr.c:2114
+ #, no-c-format
+ msgid "Extension: Evaluation of nonstandard initialization expression at %L"
+ msgstr ""
+
+-#: fortran/expr.c:2151
++#: fortran/expr.c:2167
+ #, no-c-format
+ msgid "Function '%s' in initialization expression at %L must be an intrinsic or a specification function"
+ msgstr ""
+
+-#: fortran/expr.c:2163
++#: fortran/expr.c:2179
+ #, fuzzy, no-c-format
+ msgid "Intrinsic function '%s' at %L is not permitted in an initialization expression"
+ msgstr "%Jфинальное поле '%D', возможно, не было инициализировано"
+
+-#: fortran/expr.c:2207
++#: fortran/expr.c:2214
++#, no-c-format
++msgid "PARAMETER '%s' is used at %L before its definition is complete"
++msgstr ""
++
++#: fortran/expr.c:2234
+ #, fuzzy, no-c-format
+ msgid "Assumed size array '%s' at %L is not permitted in an initialization expression"
+ msgstr "%Jфинальное поле '%D', возможно, не было инициализировано"
+
+-#: fortran/expr.c:2213
++#: fortran/expr.c:2240
+ #, fuzzy, no-c-format
+ msgid "Assumed shape array '%s' at %L is not permitted in an initialization expression"
+ msgstr "%Jфинальное поле '%D', возможно, не было инициализировано"
+
+-#: fortran/expr.c:2219
++#: fortran/expr.c:2246
+ #, fuzzy, no-c-format
+ msgid "Deferred array '%s' at %L is not permitted in an initialization expression"
+ msgstr "%Jфинальное поле '%D', возможно, не было инициализировано"
+
+-#: fortran/expr.c:2229
++#: fortran/expr.c:2252
+ #, no-c-format
++msgid "Array '%s' at %L is a variable, which does not reduce to a constant expression"
++msgstr ""
++
++#: fortran/expr.c:2262
++#, no-c-format
+ msgid "Parameter '%s' at %L has not been declared or is a variable, which does not reduce to a constant expression"
+ msgstr ""
+
+-#: fortran/expr.c:2317
++#: fortran/expr.c:2350
+ #, no-c-format
+ msgid "Initialization expression didn't reduce %C"
+ msgstr ""
+
+-#: fortran/expr.c:2360
++#: fortran/expr.c:2393
+ #, fuzzy, no-c-format
+ msgid "Specification function '%s' at %L cannot be a statement function"
+ msgstr "конÑтруктор не может быть ÑтатичеÑкой Ñлементом-функцией"
+
+-#: fortran/expr.c:2367
++#: fortran/expr.c:2400
+ #, fuzzy, no-c-format
+ msgid "Specification function '%s' at %L cannot be an internal function"
+ msgstr "%JвнутреннÑÑ Ñ„ÑƒÐ½ÐºÑ†Ð¸Ñ `%D' декларирована как не функциÑ"
+
+-#: fortran/expr.c:2374
++#: fortran/expr.c:2407
+ #, no-c-format
+ msgid "Specification function '%s' at %L must be PURE"
+ msgstr ""
+
+-#: fortran/expr.c:2381
++#: fortran/expr.c:2414
+ #, no-c-format
+ msgid "Specification function '%s' at %L cannot be RECURSIVE"
+ msgstr ""
+
+-#: fortran/expr.c:2443
++#: fortran/expr.c:2476
+ #, fuzzy, no-c-format
+ msgid "Dummy argument '%s' not allowed in expression at %L"
+ msgstr "%s не может приÑутÑтвовать в конÑтантном выражении"
+
+-#: fortran/expr.c:2450
++#: fortran/expr.c:2483
+ #, no-c-format
+ msgid "Dummy argument '%s' at %L cannot be OPTIONAL"
+ msgstr ""
+
+-#: fortran/expr.c:2457
++#: fortran/expr.c:2490
+ #, no-c-format
+ msgid "Dummy argument '%s' at %L cannot be INTENT(OUT)"
+ msgstr ""
+
+-#: fortran/expr.c:2479
++#: fortran/expr.c:2513
+ #, fuzzy, no-c-format
+ msgid "Variable '%s' cannot appear in the expression at %L"
+ msgstr "%s не может приÑутÑтвовать в конÑтантном выражении"
+
+-#: fortran/expr.c:2528
++#: fortran/expr.c:2562
+ #, no-c-format
+ msgid "Expression at %L must be of INTEGER type"
+ msgstr ""
+
+-#: fortran/expr.c:2537
++#: fortran/expr.c:2571
+ #, fuzzy, no-c-format
+ msgid "Function '%s' at %L must be PURE"
+ msgstr "Ð¤ÑƒÐ½ÐºÑ†Ð¸Ñ '%s' в %C уже имеет тип %s"
+
+-#: fortran/expr.c:2546
++#: fortran/expr.c:2580
+ #, no-c-format
+ msgid "Expression at %L must be scalar"
+ msgstr ""
+
+-#: fortran/expr.c:2573
++#: fortran/expr.c:2607
+ #, fuzzy, no-c-format
+ msgid "Incompatible ranks in %s (%d and %d) at %L"
+ msgstr "неÑовмеÑтимые типы в операторе `%s'"
+
+-#: fortran/expr.c:2587
++#: fortran/expr.c:2621
+ #, no-c-format
+ msgid "Different shape for %s at %L on dimension %d (%d and %d)"
+ msgstr ""
+
+-#: fortran/expr.c:2633 fortran/expr.c:2800
++#: fortran/expr.c:2667 fortran/expr.c:2884
+ #, no-c-format
+ msgid "Cannot assign to INTENT(IN) variable '%s' at %L"
+ msgstr ""
+
+-#: fortran/expr.c:2676
++#: fortran/expr.c:2719
+ #, no-c-format
+ msgid "'%s' at %L is not a VALUE"
+ msgstr ""
+
+-#: fortran/expr.c:2683
++#: fortran/expr.c:2726
+ #, fuzzy, no-c-format
+ msgid "Incompatible ranks %d and %d in assignment at %L"
+ msgstr "неÑовмеÑтимые типы в операторе %qs"
+
+-#: fortran/expr.c:2690
++#: fortran/expr.c:2733
+ #, fuzzy, no-c-format
+ msgid "Variable type is UNKNOWN in assignment at %L"
+ msgstr "неÑовмеÑтимые типы в операторе %qs"
+
+-#: fortran/expr.c:2702
++#: fortran/expr.c:2745
+ #, no-c-format
+ msgid "NULL appears on right-hand side in assignment at %L"
+ msgstr ""
+
+-#: fortran/expr.c:2713
++#: fortran/expr.c:2756
+ #, no-c-format
+ msgid "Vector assignment to assumed-size Cray Pointee at %L is illegal"
+ msgstr ""
+
+-#: fortran/expr.c:2722
++#: fortran/expr.c:2765
+ #, no-c-format
+ msgid "POINTER valued function appears on right-hand side of assignment at %L"
+ msgstr ""
+
+-#: fortran/expr.c:2727
++#: fortran/expr.c:2770
+ #, fuzzy
+ msgid "array assignment"
+ msgstr "ПриÑваивание маÑÑивов"
+
+-#: fortran/expr.c:2744
++#: fortran/expr.c:2775
+ #, no-c-format
++msgid "Extension: BOZ literal at %L used to initialize non-integer variable '%s'"
++msgstr ""
++
++#: fortran/expr.c:2781 fortran/resolve.c:6058
++#, no-c-format
++msgid "Extension: BOZ literal at %L outside a DATA statement and outside INT/REAL/DBLE/CMPLX"
++msgstr ""
++
++#: fortran/expr.c:2791 fortran/resolve.c:6068
++#, no-c-format
++msgid "BOZ literal at %L is bitwise transferred non-integer symbol '%s'"
++msgstr ""
++
++#: fortran/expr.c:2799 fortran/resolve.c:6077
++#, no-c-format
++msgid "Arithmetic underflow of bit-wise transferred BOZ at %L. This check can be disabled with the option -fno-range-check"
++msgstr ""
++
++#: fortran/expr.c:2803 fortran/resolve.c:6081
++#, no-c-format
++msgid "Arithmetic overflow of bit-wise transferred BOZ at %L. This check can be disabled with the option -fno-range-check"
++msgstr ""
++
++#: fortran/expr.c:2807 fortran/resolve.c:6085
++#, no-c-format
++msgid "Arithmetic NaN of bit-wise transferred BOZ at %L. This check can be disabled with the option -fno-range-check"
++msgstr ""
++
++#: fortran/expr.c:2828
++#, no-c-format
+ msgid "Incompatible types in assignment at %L, %s to %s"
+ msgstr "ÐеÑовмеÑтимые типы в приÑваивании в %L, %s к %s"
+
+-#: fortran/expr.c:2769
++#: fortran/expr.c:2853
+ #, no-c-format
+ msgid "Pointer assignment target is not a POINTER at %L"
+ msgstr ""
+
+-#: fortran/expr.c:2777
++#: fortran/expr.c:2861
+ #, no-c-format
+ msgid "'%s' in the pointer assignment at %L cannot be an l-value since it is a procedure"
+ msgstr ""
+
+-#: fortran/expr.c:2807
++#: fortran/expr.c:2891
+ #, no-c-format
+ msgid "Pointer assignment to non-POINTER at %L"
+ msgstr "ПриÑваивание ÑƒÐºÐ°Ð·Ð°Ñ‚ÐµÐ»Ñ Ð½Ðµ к указателю в %L"
+
+-#: fortran/expr.c:2816
++#: fortran/expr.c:2900
+ #, no-c-format
+ msgid "Bad pointer object in PURE procedure at %L"
+ msgstr "ÐÐµÐºÐ¾Ñ€Ñ€ÐµÐºÑ‚Ð½Ð°Ñ Ð¾Ð¿ÐµÑ€Ð°Ñ†Ð¸Ñ Ñ ÑƒÐºÐ°Ð·Ð°Ñ‚ÐµÐ»ÐµÐ¼ в PURE процедуре в %L"
+
+-#: fortran/expr.c:2828
++#: fortran/expr.c:2912
+ #, no-c-format
+ msgid "Different types in pointer assignment at %L"
+ msgstr "ÐеÑовмеÑтимые типы при приÑваивании указателей в %L"
+
+-#: fortran/expr.c:2835
++#: fortran/expr.c:2919
+ #, no-c-format
+ msgid "Different kind type parameters in pointer assignment at %L"
+ msgstr ""
+
+-#: fortran/expr.c:2842
++#: fortran/expr.c:2926
+ #, no-c-format
+ msgid "Different ranks in pointer assignment at %L"
+ msgstr ""
+
+-#: fortran/expr.c:2857
++#: fortran/expr.c:2941
+ #, no-c-format
+ msgid "Different character lengths in pointer assignment at %L"
+ msgstr ""
+
+-#: fortran/expr.c:2868
++#: fortran/expr.c:2952
+ #, no-c-format
+ msgid "Pointer assignment target is neither TARGET nor POINTER at %L"
+ msgstr ""
+
+-#: fortran/expr.c:2875
++#: fortran/expr.c:2959
+ #, no-c-format
+ msgid "Bad target in pointer assignment in PURE procedure at %L"
+ msgstr ""
+
+-#: fortran/expr.c:2881
++#: fortran/expr.c:2965
+ #, no-c-format
+ msgid "Pointer assignment with vector subscript on rhs at %L"
+ msgstr ""
+
+-#: fortran/expr.c:2888
++#: fortran/expr.c:2972
+ #, fuzzy, no-c-format
+ msgid "Pointer assigment target has PROTECTED attribute at %L"
+ msgstr "ПриÑваивание ÑƒÐºÐ°Ð·Ð°Ñ‚ÐµÐ»Ñ Ð½Ðµ к указателю в %L"
+@@ -6585,292 +6588,317 @@
+ msgid "Expecting 'END INTERFACE %s' at %C"
+ msgstr ""
+
+-#: fortran/interface.c:551
++#: fortran/interface.c:563
+ #, fuzzy, no-c-format
+ msgid "Alternate return cannot appear in operator interface at %L"
+ msgstr "%s не может приÑутÑтвовать в конÑтантном выражении"
+
+-#: fortran/interface.c:581
++#: fortran/interface.c:593
+ #, no-c-format
+ msgid "Operator interface at %L has the wrong number of arguments"
+ msgstr ""
+
+-#: fortran/interface.c:592
++#: fortran/interface.c:604
+ #, no-c-format
+ msgid "Assignment operator interface at %L must be a SUBROUTINE"
+ msgstr ""
+
+-#: fortran/interface.c:598
++#: fortran/interface.c:610
+ #, no-c-format
+ msgid "Assignment operator interface at %L must have two arguments"
+ msgstr ""
+
+-#: fortran/interface.c:608
++#: fortran/interface.c:620
+ #, no-c-format
+ msgid "Assignment operator interface at %L must not redefine an INTRINSIC type assignment"
+ msgstr ""
+
+-#: fortran/interface.c:617
++#: fortran/interface.c:629
+ #, no-c-format
+ msgid "Intrinsic operator interface at %L must be a FUNCTION"
+ msgstr ""
+
+-#: fortran/interface.c:627
++#: fortran/interface.c:639
+ #, no-c-format
+ msgid "First argument of defined assignment at %L must be INTENT(IN) or INTENT(INOUT)"
+ msgstr ""
+
+-#: fortran/interface.c:631
++#: fortran/interface.c:643
+ #, no-c-format
+ msgid "Second argument of defined assignment at %L must be INTENT(IN)"
+ msgstr ""
+
+-#: fortran/interface.c:637 fortran/resolve.c:8807
++#: fortran/interface.c:649 fortran/resolve.c:8998
+ #, no-c-format
+ msgid "First argument of operator interface at %L must be INTENT(IN)"
+ msgstr ""
+
+-#: fortran/interface.c:641 fortran/resolve.c:8819
++#: fortran/interface.c:653 fortran/resolve.c:9010
+ #, no-c-format
+ msgid "Second argument of operator interface at %L must be INTENT(IN)"
+ msgstr ""
+
+-#: fortran/interface.c:744
++#: fortran/interface.c:756
+ #, no-c-format
+ msgid "Operator interface at %L conflicts with intrinsic interface"
+ msgstr ""
+
+-#: fortran/interface.c:1044
++#: fortran/interface.c:1117
+ #, fuzzy, no-c-format
+ msgid "Procedure '%s' in %s at %L has no explicit interface"
+ msgstr "Предупреждать о неÑвных декларациÑÑ… функций"
+
+-#: fortran/interface.c:1047
++#: fortran/interface.c:1120
+ #, no-c-format
+ msgid "Procedure '%s' in %s at %L is neither function nor subroutine"
+ msgstr ""
+
+-#: fortran/interface.c:1102 fortran/interface.c:1108
++#: fortran/interface.c:1175 fortran/interface.c:1181
+ #, no-c-format
+ msgid "Ambiguous interfaces '%s' and '%s' in %s at %L"
+ msgstr ""
+
+-#: fortran/interface.c:1144
++#: fortran/interface.c:1217
+ #, fuzzy, no-c-format
+ msgid "'%s' at %L is not a module procedure"
+ msgstr "`%D' не ÑвлÑетÑÑ Ñлементом типа `%T'"
+
+-#: fortran/interface.c:1676
++#: fortran/interface.c:1465 fortran/interface.c:2411
+ #, no-c-format
++msgid "Type/rank mismatch in argument '%s' at %L"
++msgstr ""
++
++#: fortran/interface.c:1474
++#, fuzzy, no-c-format
++msgid "Type mismatch in argument '%s' at %L; passed %s to %s"
++msgstr "неÑоответÑÑ‚Ð²Ð¸Ñ Ñ‚Ð¸Ð¿Ð°/Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ñ Ð² аргументе %d в ÑпиÑке параметров шаблона Ð´Ð»Ñ %qD"
++
++#: fortran/interface.c:1492 fortran/interface.c:1532
++#, fuzzy, no-c-format
++msgid "Rank mismatch in argument '%s' at %L (%d and %d)"
++msgstr "Слишком много аргументов %s в %L"
++
++#: fortran/interface.c:1519
++#, fuzzy, no-c-format
++msgid "Fortran 2003: Scalar CHARACTER actual argument with array dummy argument '%s' at %L"
++msgstr "передано %qT Ð´Ð»Ñ %s %P в %qD"
++
++#: fortran/interface.c:1544
++#, fuzzy, no-c-format
++msgid "Element of assumed-shaped array passed to dummy argument '%s' at %L"
++msgstr "Слишком много аргументов %s в %L"
++
++#: fortran/interface.c:1861
++#, no-c-format
+ msgid "Keyword argument '%s' at %L is not in the procedure"
+ msgstr ""
+
+-#: fortran/interface.c:1684
++#: fortran/interface.c:1869
+ #, no-c-format
+ msgid "Keyword argument '%s' at %L is already associated with another actual argument"
+ msgstr ""
+
+-#: fortran/interface.c:1694
++#: fortran/interface.c:1879
+ #, no-c-format
+ msgid "More actual than formal arguments in procedure call at %L"
+ msgstr ""
+
+-#: fortran/interface.c:1706 fortran/interface.c:1935
++#: fortran/interface.c:1891 fortran/interface.c:2110
+ #, no-c-format
+ msgid "Missing alternate return spec in subroutine call at %L"
+ msgstr ""
+
+-#: fortran/interface.c:1714
++#: fortran/interface.c:1899
+ #, no-c-format
+ msgid "Unexpected alternate return spec in subroutine call at %L"
+ msgstr ""
+
+-#: fortran/interface.c:1729
++#: fortran/interface.c:1922
+ #, fuzzy, no-c-format
+-msgid "Fortran 2003: Scalar CHARACTER actual argument with array dummy argument '%s' at %L"
++msgid "Character length mismatch (%ld/%ld) between actual argument and pointer or allocatable dummy argument '%s' at %L"
+ msgstr "передано %qT Ð´Ð»Ñ %s %P в %qD"
+
+-#: fortran/interface.c:1742
+-#, no-c-format
+-msgid "Type/rank mismatch in argument '%s' at %L"
+-msgstr ""
++#: fortran/interface.c:1929
++#, fuzzy, no-c-format
++msgid "Character length mismatch (%ld/%ld) between actual argument and assumed-shape dummy argument '%s' at %L"
++msgstr "передано %qT Ð´Ð»Ñ %s %P в %qD"
+
+-#: fortran/interface.c:1758
+-#, no-c-format
+-msgid "Character length mismatch between actual argument and pointer or allocatable dummy argument '%s' at %L"
+-msgstr ""
+-
+-#: fortran/interface.c:1771
++#: fortran/interface.c:1943
+ #, fuzzy, no-c-format
+ msgid "Character length of actual argument shorter than of dummy argument '%s' (%lu/%lu) at %L"
+ msgstr "передано %qT Ð´Ð»Ñ %s %P в %qD"
+
+-#: fortran/interface.c:1776
++#: fortran/interface.c:1948
+ #, no-c-format
+ msgid "Actual argument contains too few elements for dummy argument '%s' (%lu/%lu) at %L"
+ msgstr ""
+
+-#: fortran/interface.c:1790
++#: fortran/interface.c:1962
+ #, fuzzy, no-c-format
+ msgid "Expected a procedure for argument '%s' at %L"
+ msgstr "передано %qT Ð´Ð»Ñ %s %P в %qD"
+
+-#: fortran/interface.c:1800
++#: fortran/interface.c:1972
+ #, fuzzy, no-c-format
+ msgid "Expected a PURE procedure for argument '%s' at %L"
+ msgstr "передано %qT Ð´Ð»Ñ %s %P в %qD"
+
+-#: fortran/interface.c:1814
++#: fortran/interface.c:1986
+ #, no-c-format
+ msgid "Actual argument for '%s' cannot be an assumed-size array at %L"
+ msgstr ""
+
+-#: fortran/interface.c:1823
++#: fortran/interface.c:1995
+ #, fuzzy, no-c-format
+ msgid "Actual argument for '%s' must be a pointer at %L"
+ msgstr "аргумент `%s' должен быть 2-битным беззнаковым литеральным значением"
+
+-#: fortran/interface.c:1832
++#: fortran/interface.c:2004
+ #, fuzzy, no-c-format
+ msgid "Actual argument for '%s' must be ALLOCATABLE at %L"
+ msgstr "аргумент `%s' должен быть 2-битным беззнаковым литеральным значением"
+
+-#: fortran/interface.c:1843
++#: fortran/interface.c:2017
+ #, no-c-format
+-msgid "Actual argument at %L must be definable to match dummy INTENT = OUT/INOUT"
++msgid "Actual argument at %L must be definable as the dummy argument '%s' is INTENT = OUT/INOUT"
+ msgstr ""
+
+-#: fortran/interface.c:1851
++#: fortran/interface.c:2026
+ #, no-c-format
+ msgid "Actual argument at %L is use-associated with PROTECTED attribute and dummy argument '%s' is INTENT = OUT/INOUT"
+ msgstr ""
+
+-#: fortran/interface.c:1864
++#: fortran/interface.c:2039
+ #, no-c-format
+-msgid "Array-section actual argument with vector subscripts at %L is incompatible with INTENT(IN), 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) or VOLATILE attribute of the dummy argument '%s'"
+ msgstr ""
+
+-#: fortran/interface.c:1881
++#: fortran/interface.c:2056
+ #, no-c-format
+ msgid "Assumed-shape actual argument at %L is incompatible with the non-assumed-shape dummy argument '%s' due to VOLATILE attribute"
+ msgstr ""
+
+-#: fortran/interface.c:1893
++#: fortran/interface.c:2068
+ #, no-c-format
+ msgid "Array-section actual argument at %L is incompatible with the non-assumed-shape dummy argument '%s' due to VOLATILE attribute"
+ msgstr ""
+
+-#: fortran/interface.c:1912
++#: fortran/interface.c:2087
+ #, no-c-format
+ msgid "Pointer-array actual argument at %L requires an assumed-shape or pointer-array dummy argument '%s' due to VOLATILE attribute"
+ msgstr ""
+
+-#: fortran/interface.c:1942
++#: fortran/interface.c:2117
+ #, fuzzy, no-c-format
+ msgid "Missing actual argument for argument '%s' at %L"
+ msgstr "передано %qT Ð´Ð»Ñ %s %P в %qD"
+
+-#: fortran/interface.c:2128
++#: fortran/interface.c:2303
+ #, no-c-format
+ msgid "Same actual argument associated with INTENT(%s) argument '%s' and INTENT(%s) argument '%s' at %L"
+ msgstr ""
+
+-#: fortran/interface.c:2184
++#: fortran/interface.c:2359
+ #, no-c-format
+ msgid "Procedure argument at %L is INTENT(IN) while interface specifies INTENT(%s)"
+ msgstr ""
+
+-#: fortran/interface.c:2194
++#: fortran/interface.c:2369
+ #, no-c-format
+ msgid "Procedure argument at %L is local to a PURE procedure and is passed to an INTENT(%s) argument"
+ msgstr ""
+
+-#: fortran/interface.c:2202
++#: fortran/interface.c:2377
+ #, no-c-format
+ msgid "Procedure argument at %L is local to a PURE procedure and has the POINTER attribute"
+ msgstr ""
+
+-#: fortran/interface.c:2225
++#: fortran/interface.c:2400
+ #, fuzzy, no-c-format
+ msgid "Procedure '%s' called with an implicit interface at %L"
+ msgstr "Предупреждать о неÑвных декларациÑÑ… функций"
+
+-#: fortran/interface.c:2440
++#: fortran/interface.c:2629
+ #, no-c-format
+ msgid "Function '%s' called in lieu of an operator at %L must be PURE"
+ msgstr ""
+
+-#: fortran/interface.c:2519
++#: fortran/interface.c:2708
+ #, no-c-format
+ msgid "Entity '%s' at %C is already present in the interface"
+ msgstr ""
+
+-#: fortran/intrinsic.c:2918
++#: fortran/intrinsic.c:2923
+ #, fuzzy, no-c-format
+ msgid "Too many arguments in call to '%s' at %L"
+ msgstr "Ñлишком много аргументов Ð´Ð»Ñ %s `%+#D'"
+
+-#: fortran/intrinsic.c:2933
++#: fortran/intrinsic.c:2938
+ #, no-c-format
+ msgid "The argument list functions %%VAL, %%LOC or %%REF are not allowed in this context at %L"
+ msgstr ""
+
+-#: fortran/intrinsic.c:2936
++#: fortran/intrinsic.c:2941
+ #, no-c-format
+ msgid "Can't find keyword named '%s' in call to '%s' at %L"
+ msgstr ""
+
+-#: fortran/intrinsic.c:2943
++#: fortran/intrinsic.c:2948
+ #, no-c-format
+ msgid "Argument '%s' is appears twice in call to '%s' at %L"
+ msgstr ""
+
+-#: fortran/intrinsic.c:2957
++#: fortran/intrinsic.c:2962
+ #, fuzzy, no-c-format
+ msgid "Missing actual argument '%s' in call to '%s' at %L"
+ msgstr "отÑутÑтвует аргумент ключа %qs"
+
+-#: fortran/intrinsic.c:2972
++#: fortran/intrinsic.c:2977
+ #, no-c-format
+ msgid "ALTERNATE RETURN not permitted at %L"
+ msgstr ""
+
+-#: fortran/intrinsic.c:3021
++#: fortran/intrinsic.c:3026
+ #, no-c-format
+ msgid "Type of argument '%s' in call to '%s' at %L should be %s, not %s"
+ msgstr ""
+
+-#: fortran/intrinsic.c:3337
++#: fortran/intrinsic.c:3342
+ #, no-c-format
+ msgid "Intrinsic '%s' at %L is not included in the selected standard"
+ msgstr ""
+
+-#: fortran/intrinsic.c:3450
++#: fortran/intrinsic.c:3398
++#, fuzzy, no-c-format
++msgid "Fortran 2003: Function '%s' as initialization expression at %L"
++msgstr "%Jфинальное поле '%D', возможно, не было инициализировано"
++
++#: fortran/intrinsic.c:3463
+ #, no-c-format
+ msgid "Fortran 2003: Elemental function as initialization expression with non-integer/non-character arguments at %L"
+ msgstr ""
+
+-#: fortran/intrinsic.c:3508
++#: fortran/intrinsic.c:3524
+ #, no-c-format
+ msgid "Subroutine call to intrinsic '%s' at %L is not PURE"
+ msgstr ""
+
+-#: fortran/intrinsic.c:3579
++#: fortran/intrinsic.c:3595
+ #, fuzzy, no-c-format
+ msgid "Extension: Conversion from %s to %s at %L"
+ msgstr "некорректное преобразование из %qT в %qT"
+
+-#: fortran/intrinsic.c:3582
++#: fortran/intrinsic.c:3598
+ #, no-c-format
+ msgid "Conversion from %s to %s at %L"
+ msgstr "преобразование из %s в %s в %L"
+
+-#: fortran/intrinsic.c:3629
++#: fortran/intrinsic.c:3645
+ #, no-c-format
+ msgid "Can't convert %s to %s at %L"
+ msgstr "Ðе удалоÑÑŒ преобразовать %s в %s в %L"
+
+-#: fortran/io.c:156 fortran/primary.c:738
++#: fortran/io.c:156 fortran/primary.c:750
+ #, fuzzy, no-c-format
+ msgid "Extension: backslash character at %C"
+ msgstr "ЛишнÑÑ Ð·Ð°Ð¿ÑÑ‚Ð°Ñ Ð² операторе FORMAT в %0"
+@@ -7075,7 +7103,7 @@
+ msgid "CLOSE statement not allowed in PURE procedure at %C"
+ msgstr ""
+
+-#: fortran/io.c:1955 fortran/match.c:1841
++#: fortran/io.c:1955 fortran/match.c:1911
+ #, no-c-format
+ msgid "%s statement not allowed in PURE procedure at %C"
+ msgstr ""
+@@ -7090,516 +7118,491 @@
+ msgid "Duplicate UNIT specification at %C"
+ msgstr ""
+
+-#: fortran/io.c:2128
++#: fortran/io.c:2132
+ #, fuzzy, no-c-format
+ msgid "Duplicate format specification at %C"
+ msgstr "Ð¿Ð¾Ð²Ñ‚Ð¾Ñ€Ð½Ð°Ñ Ð¸Ð½Ð¸Ñ†Ð¸Ð°Ð»Ð¸Ð·Ð°Ñ†Ð¸Ñ %D"
+
+-#: fortran/io.c:2145
++#: fortran/io.c:2149
+ #, no-c-format
+ msgid "Symbol '%s' in namelist '%s' is INTENT(IN) at %C"
+ msgstr ""
+
+-#: fortran/io.c:2181
++#: fortran/io.c:2185
+ #, fuzzy, no-c-format
+ msgid "Duplicate NML specification at %C"
+ msgstr "Ð¿Ð¾Ð²Ñ‚Ð¾Ñ€Ð½Ð°Ñ Ð¸Ð½Ð¸Ñ†Ð¸Ð°Ð»Ð¸Ð·Ð°Ñ†Ð¸Ñ %D"
+
+-#: fortran/io.c:2190
++#: fortran/io.c:2194
+ #, no-c-format
+ msgid "Symbol '%s' at %C must be a NAMELIST group name"
+ msgstr ""
+
+-#: fortran/io.c:2231
++#: fortran/io.c:2235
+ #, no-c-format
+ msgid "END tag at %C not allowed in output statement"
+ msgstr ""
+
+-#: fortran/io.c:2288
++#: fortran/io.c:2292
+ #, no-c-format
+ msgid "UNIT specification at %L must be an INTEGER expression or a CHARACTER variable"
+ msgstr ""
+
+-#: fortran/io.c:2297
++#: fortran/io.c:2301
+ #, no-c-format
+ msgid "Internal unit with vector subscript at %L"
+ msgstr ""
+
+-#: fortran/io.c:2304
++#: fortran/io.c:2308
+ #, no-c-format
+ msgid "External IO UNIT cannot be an array at %L"
+ msgstr ""
+
+-#: fortran/io.c:2314
++#: fortran/io.c:2318
+ #, fuzzy, no-c-format
+ msgid "ERR tag label %d at %L not defined"
+ msgstr "метка %qD иÑпользуетÑÑ, но не определÑетÑÑ"
+
+-#: fortran/io.c:2326
++#: fortran/io.c:2330
+ #, fuzzy, no-c-format
+ msgid "END tag label %d at %L not defined"
+ msgstr "метка %qD иÑпользуетÑÑ, но не определÑетÑÑ"
+
+-#: fortran/io.c:2338
++#: fortran/io.c:2342
+ #, fuzzy, no-c-format
+ msgid "EOR tag label %d at %L not defined"
+ msgstr "метка %qD иÑпользуетÑÑ, но не определÑетÑÑ"
+
+-#: fortran/io.c:2348
++#: fortran/io.c:2352
+ #, fuzzy, no-c-format
+ msgid "FORMAT label %d at %L not defined"
+ msgstr "метка %qD иÑпользуетÑÑ, но не определÑетÑÑ"
+
+-#: fortran/io.c:2469
++#: fortran/io.c:2473
+ #, fuzzy, no-c-format
+ msgid "Syntax error in I/O iterator at %C"
+ msgstr "ÑинтакÑичеÑÐºÐ°Ñ Ð¾ÑˆÐ¸Ð±ÐºÐ° в ÑпиÑке параметров макроÑа"
+
+-#: fortran/io.c:2500
++#: fortran/io.c:2504
+ #, fuzzy, no-c-format
+ msgid "Expected variable in READ statement at %C"
+ msgstr "ЛишнÑÑ Ð·Ð°Ð¿ÑÑ‚Ð°Ñ Ð² операторе FORMAT в %0"
+
+-#: fortran/io.c:2506
++#: fortran/io.c:2510
+ #, fuzzy, no-c-format
+ msgid "Expected expression in %s statement at %C"
+ msgstr "Предупреждать о декларациÑÑ…, вÑтретившихÑÑ Ð¿Ð¾Ñле операторов"
+
+-#: fortran/io.c:2516
++#: fortran/io.c:2520
+ #, no-c-format
+ msgid "Variable '%s' in input list at %C cannot be INTENT(IN)"
+ msgstr ""
+
+-#: fortran/io.c:2525
++#: fortran/io.c:2529
+ #, no-c-format
+ msgid "Cannot read to variable '%s' in PURE procedure at %C"
+ msgstr ""
+
+-#: fortran/io.c:2541
++#: fortran/io.c:2545
+ #, no-c-format
+ msgid "Cannot write to internal file unit '%s' at %C inside a PURE procedure"
+ msgstr ""
+
+ #. A general purpose syntax error.
+-#: fortran/io.c:2602 fortran/io.c:3004 fortran/gfortran.h:1998
++#: fortran/io.c:2606 fortran/io.c:3013 fortran/gfortran.h:2002
+ #, fuzzy, no-c-format
+ msgid "Syntax error in %s statement at %C"
+ msgstr "ÑинтакÑичеÑÐºÐ°Ñ Ð¾ÑˆÐ¸Ð±ÐºÐ° при разборе `%s'"
+
+-#: fortran/io.c:2670
++#: fortran/io.c:2679
+ #, no-c-format
+ msgid "Fortran 2003: Internal file at %L with namelist"
+ msgstr ""
+
+-#: fortran/io.c:2833
++#: fortran/io.c:2842
+ #, no-c-format
+ msgid "PRINT namelist at %C is an extension"
+ msgstr ""
+
+-#: fortran/io.c:2965
++#: fortran/io.c:2974
+ #, fuzzy, no-c-format
+ msgid "Extension: Comma before i/o item list at %C"
+ msgstr "некорректное преобразование из %qT в %qT"
+
+-#: fortran/io.c:2974
++#: fortran/io.c:2983
+ #, fuzzy, no-c-format
+ msgid "Expected comma in I/O list at %C"
+ msgstr "ЛишнÑÑ Ð·Ð°Ð¿ÑÑ‚Ð°Ñ Ð² операторе FORMAT в %0"
+
+-#: fortran/io.c:3036
++#: fortran/io.c:3045
+ #, fuzzy, no-c-format
+ msgid "PRINT statement at %C not allowed within PURE procedure"
+ msgstr "оператор RETURN в %0 недопуÑтим внутри главной программы"
+
+-#: fortran/io.c:3176 fortran/io.c:3227
++#: fortran/io.c:3185 fortran/io.c:3236
+ #, no-c-format
+ msgid "INQUIRE statement not allowed in PURE procedure at %C"
+ msgstr ""
+
+-#: fortran/io.c:3203
++#: fortran/io.c:3212
+ #, no-c-format
+ msgid "IOLENGTH tag invalid in INQUIRE statement at %C"
+ msgstr ""
+
+-#: fortran/io.c:3213 fortran/trans-io.c:1144
++#: fortran/io.c:3222 fortran/trans-io.c:1145
+ #, no-c-format
+ msgid "INQUIRE statement at %L cannot contain both FILE and UNIT specifiers"
+ msgstr ""
+
+-#: fortran/io.c:3220
++#: fortran/io.c:3229
+ #, no-c-format
+ msgid "INQUIRE statement at %L requires either FILE or UNIT specifier"
+ msgstr ""
+
+-#: fortran/match.c:270
++#: fortran/match.c:156
+ #, fuzzy, no-c-format
++msgid "Missing ')' in statement before %L"
++msgstr "перед `*' должно быть Ð¸Ð¼Ñ Ñ‚Ð¸Ð¿Ð°"
++
++#: fortran/match.c:161
++#, fuzzy, no-c-format
++msgid "Missing '(' in statement before %L"
++msgstr "перед `*' должно быть Ð¸Ð¼Ñ Ñ‚Ð¸Ð¿Ð°"
++
++#: fortran/match.c:332
++#, fuzzy, no-c-format
+ msgid "Integer too large at %C"
+ msgstr "Целое в %0 Ñлишком велико"
+
+-#: fortran/match.c:363 fortran/parse.c:442
++#: fortran/match.c:425 fortran/parse.c:589
+ #, no-c-format
+ msgid "Too many digits in statement label at %C"
+ msgstr ""
+
+-#: fortran/match.c:369
++#: fortran/match.c:431
+ #, no-c-format
+ msgid "Statement label at %C is zero"
+ msgstr ""
+
+-#: fortran/match.c:402
++#: fortran/match.c:464
+ #, fuzzy, no-c-format
+ msgid "Label name '%s' at %C is ambiguous"
+ msgstr "иÑпользование `%D' неоднозначно"
+
+-#: fortran/match.c:408
++#: fortran/match.c:470
+ #, fuzzy, no-c-format
+ msgid "Duplicate construct label '%s' at %C"
+ msgstr "дублирование метки `%D'"
+
+-#: fortran/match.c:438
++#: fortran/match.c:500
+ #, fuzzy, no-c-format
+ msgid "Invalid character in name at %C"
+ msgstr "Ð¡Ð¸Ð¼Ð²Ð¾Ð»ÑŒÐ½Ð°Ñ ÐºÐ¾Ð½Ñтанта нулевой длины в %0"
+
+-#: fortran/match.c:451 fortran/match.c:523
++#: fortran/match.c:513 fortran/match.c:585
+ #, no-c-format
+ msgid "Name at %C is too long"
+ msgstr ""
+
+-#: fortran/match.c:506 fortran/match.c:552
++#: fortran/match.c:568 fortran/match.c:614
+ #, no-c-format
+ msgid "Invalid C name in NAME= specifier at %C"
+ msgstr ""
+
+-#: fortran/match.c:543
++#: fortran/match.c:605
+ #, no-c-format
+ msgid "Embedded space in NAME= specifier at %C"
+ msgstr ""
+
+-#: fortran/match.c:868
++#: fortran/match.c:930
+ #, no-c-format
+ msgid "Loop variable at %C cannot be a sub-component"
+ msgstr ""
+
+-#: fortran/match.c:874
++#: fortran/match.c:936
+ #, no-c-format
+ msgid "Loop variable '%s' at %C cannot be INTENT(IN)"
+ msgstr ""
+
+-#: fortran/match.c:907
++#: fortran/match.c:969
+ #, no-c-format
+ msgid "Expected a step value in iterator at %C"
+ msgstr ""
+
+-#: fortran/match.c:919
++#: fortran/match.c:981
+ #, fuzzy, no-c-format
+ msgid "Syntax error in iterator at %C"
+ msgstr "ÑинтакÑичеÑÐºÐ°Ñ Ð¾ÑˆÐ¸Ð±ÐºÐ° в ÑпиÑке параметров макроÑа"
+
+-#: fortran/match.c:1155
++#: fortran/match.c:1217
+ #, fuzzy, no-c-format
+ msgid "Invalid form of PROGRAM statement at %C"
+ msgstr "Пропущена запÑÑ‚Ð°Ñ Ð² операторе FORMAT в %0"
+
+-#: fortran/match.c:1196
++#: fortran/match.c:1258
+ #, no-c-format
+ msgid "Setting value of PROTECTED variable at %C"
+ msgstr ""
+
+-#: fortran/match.c:1249
++#: fortran/match.c:1311
+ #, no-c-format
+ msgid "Assigning to a PROTECTED pointer at %C"
+ msgstr ""
+
+-#: fortran/match.c:1292 fortran/match.c:1365
++#: fortran/match.c:1354 fortran/match.c:1435
+ #, fuzzy, no-c-format
+ msgid "Obsolescent: arithmetic IF statement at %C"
+ msgstr "Ðеподдерживаемый VXT-оператор в %0"
+
+-#: fortran/match.c:1340
++#: fortran/match.c:1410
+ #, fuzzy, no-c-format
+ msgid "Syntax error in IF-expression at %C"
+ msgstr "переполнение при вычиÑлении целочиÑленного выражениÑ"
+
+-#: fortran/match.c:1351
++#: fortran/match.c:1421
+ #, no-c-format
+ msgid "Block label not appropriate for arithmetic IF statement at %C"
+ msgstr ""
+
+-#: fortran/match.c:1389
++#: fortran/match.c:1459
+ #, fuzzy, no-c-format
+-msgid "Block label is not appropriate IF statement at %C"
++msgid "Block label is not appropriate for IF statement at %C"
+ msgstr "Ðет Ð¾Ð¿Ñ€ÐµÐ´ÐµÐ»ÐµÐ½Ð¸Ñ Ð¼ÐµÑ‚ÐºÐ¸ Ð´Ð»Ñ Ð¾Ð¿ÐµÑ€Ð°Ñ‚Ð¾Ñ€Ð° FORMAT в %0"
+
+-#: fortran/match.c:1468 fortran/primary.c:2522
++#: fortran/match.c:1538 fortran/primary.c:2559
+ #, no-c-format
+ msgid "Cannot assign to a named constant at %C"
+ msgstr ""
+
+-#: fortran/match.c:1478
++#: fortran/match.c:1548
+ #, no-c-format
+ msgid "Unclassifiable statement in IF-clause at %C"
+ msgstr ""
+
+-#: fortran/match.c:1485
++#: fortran/match.c:1555
+ #, no-c-format
+ msgid "Syntax error in IF-clause at %C"
+ msgstr ""
+
+-#: fortran/match.c:1529
++#: fortran/match.c:1599
+ #, fuzzy, no-c-format
+ msgid "Unexpected junk after ELSE statement at %C"
+ msgstr "Ðеподдерживаемый VXT-оператор в %0"
+
+-#: fortran/match.c:1535 fortran/match.c:1570
++#: fortran/match.c:1605 fortran/match.c:1640
+ #, no-c-format
+ msgid "Label '%s' at %C doesn't match IF label '%s'"
+ msgstr ""
+
+-#: fortran/match.c:1564
++#: fortran/match.c:1634
+ #, no-c-format
+ msgid "Unexpected junk after ELSE IF statement at %C"
+ msgstr ""
+
+-#: fortran/match.c:1727
++#: fortran/match.c:1797
+ #, no-c-format
+ msgid "Name '%s' in %s statement at %C is not a loop name"
+ msgstr ""
+
+-#: fortran/match.c:1743
++#: fortran/match.c:1813
+ #, fuzzy, no-c-format
+ msgid "%s statement at %C is not within a loop"
+ msgstr "оператор continue вне цикла"
+
+-#: fortran/match.c:1746
++#: fortran/match.c:1816
+ #, fuzzy, no-c-format
+ msgid "%s statement at %C is not within loop '%s'"
+ msgstr "оператор break вне цикла или оператора switch"
+
+-#: fortran/match.c:1754
++#: fortran/match.c:1824
+ #, fuzzy, no-c-format
+ msgid "%s statement at %C leaving OpenMP structured block"
+ msgstr "оператор continue вне цикла"
+
+-#: fortran/match.c:1767
++#: fortran/match.c:1837
+ #, fuzzy, no-c-format
+ msgid "EXIT statement at %C terminating !$OMP DO loop"
+ msgstr "оператор RETURN в %0 недопуÑтим внутри главной программы"
+
+-#: fortran/match.c:1819
++#: fortran/match.c:1889
+ #, no-c-format
+ msgid "Too many digits in STOP code at %C"
+ msgstr ""
+
+-#: fortran/match.c:1872
++#: fortran/match.c:1942
+ #, fuzzy, no-c-format
+ msgid "Deleted feature: PAUSE statement at %C"
+ msgstr "Ðеподдерживаемый VXT-оператор в %0"
+
+-#: fortran/match.c:1920
++#: fortran/match.c:1990
+ #, fuzzy, no-c-format
+ msgid "Deleted feature: ASSIGN statement at %C"
+ msgstr "Ðеподдерживаемый VXT-оператор в %0"
+
+-#: fortran/match.c:1966
++#: fortran/match.c:2036
+ #, fuzzy, no-c-format
+ msgid "Deleted feature: Assigned GOTO statement at %C"
+ msgstr "Ðеподдерживаемый VXT-оператор в %0"
+
+-#: fortran/match.c:2013 fortran/match.c:2065
++#: fortran/match.c:2083 fortran/match.c:2135
+ #, no-c-format
+ msgid "Statement label list in GOTO at %C cannot be empty"
+ msgstr ""
+
+-#: fortran/match.c:2149
++#: fortran/match.c:2219
+ #, no-c-format
+ msgid "Bad allocate-object in ALLOCATE statement at %C for a PURE procedure"
+ msgstr ""
+
+-#: fortran/match.c:2173
++#: fortran/match.c:2287
+ #, no-c-format
+-msgid "STAT variable '%s' of ALLOCATE statement at %C cannot be INTENT(IN)"
+-msgstr ""
+-
+-#: fortran/match.c:2180
+-#, no-c-format
+-msgid "Illegal STAT variable in ALLOCATE statement at %C for a PURE procedure"
+-msgstr ""
+-
+-#: fortran/match.c:2218 fortran/match.c:2382
+-#, no-c-format
+-msgid "STAT expression at %C must be a variable"
+-msgstr ""
+-
+-#: fortran/match.c:2272
+-#, no-c-format
+ msgid "Illegal variable in NULLIFY at %C for a PURE procedure"
+ msgstr ""
+
+-#: fortran/match.c:2349
++#: fortran/match.c:2364
+ #, no-c-format
+ msgid "Illegal deallocate-expression in DEALLOCATE at %C for a PURE procedure"
+ msgstr ""
+
+-#: fortran/match.c:2368
++#: fortran/match.c:2417
+ #, no-c-format
+-msgid "STAT variable '%s' of DEALLOCATE statement at %C cannot be INTENT(IN)"
+-msgstr ""
+-
+-#: fortran/match.c:2375
+-#, no-c-format
+-msgid "Illegal STAT variable in DEALLOCATE statement at %C for a PURE procedure"
+-msgstr ""
+-
+-#: fortran/match.c:2424
+-#, no-c-format
+ msgid "Alternate RETURN statement at %C is only allowed within a SUBROUTINE"
+ msgstr ""
+
+-#: fortran/match.c:2455
++#: fortran/match.c:2448
+ #, fuzzy, no-c-format
+ msgid "Extension: RETURN statement in main program at %C"
+ msgstr "оператор RETURN в %0 недопуÑтим внутри главной программы"
+
+-#: fortran/match.c:2665
++#: fortran/match.c:2658
+ #, fuzzy, no-c-format
+ msgid "Syntax error in common block name at %C"
+ msgstr "ÑинтакÑичеÑÐºÐ°Ñ Ð¾ÑˆÐ¸Ð±ÐºÐ° в ÑпиÑке параметров макроÑа"
+
+-#: fortran/match.c:2701
++#: fortran/match.c:2694
+ #, no-c-format
+ msgid "Symbol '%s' at %C is already an external symbol that is not COMMON"
+ msgstr ""
+
+-#: fortran/match.c:2719
+-#, no-c-format
+-msgid "BLOCK DATA unit cannot contain blank COMMON at %C"
+-msgstr ""
+-
+ #. If we find an error, just print it and continue,
+ #. cause it's just semantic, and we can see if there
+ #. are more errors.
+-#: fortran/match.c:2765
++#: fortran/match.c:2753
+ #, no-c-format
+ msgid "Variable '%s' at %L in common block '%s' at %C must be declared with a C interoperable kind since common block '%s' is bind(c)"
+ msgstr ""
+
+-#: fortran/match.c:2774
++#: fortran/match.c:2762
+ #, no-c-format
+ msgid "Variable '%s' in common block '%s' at %C can not be bind(c) since it is not global"
+ msgstr ""
+
+-#: fortran/match.c:2781
++#: fortran/match.c:2769
+ #, no-c-format
+ msgid "Symbol '%s' at %C is already in a COMMON block"
+ msgstr ""
+
+-#: fortran/match.c:2793
++#: fortran/match.c:2777
+ #, no-c-format
+-msgid "Previously initialized symbol '%s' in blank COMMON block at %C"
++msgid "Initialized symbol '%s' at %C can only be COMMON in BLOCK DATA"
+ msgstr ""
+
+-#: fortran/match.c:2796
++#: fortran/match.c:2804
+ #, no-c-format
+-msgid "Previously initialized symbol '%s' in COMMON block '%s' at %C"
+-msgstr ""
+-
+-#: fortran/match.c:2821
+-#, no-c-format
+ msgid "Array specification for symbol '%s' in COMMON at %C must be explicit"
+ msgstr ""
+
+-#: fortran/match.c:2831
++#: fortran/match.c:2814
+ #, no-c-format
+ msgid "Symbol '%s' in COMMON at %C cannot be a POINTER array"
+ msgstr ""
+
+-#: fortran/match.c:2863
++#: fortran/match.c:2846
+ #, no-c-format
+ msgid "Symbol '%s', in COMMON block '%s' at %C is being indirectly equivalenced to another COMMON block '%s'"
+ msgstr ""
+
+-#: fortran/match.c:2971
++#: fortran/match.c:2954
+ #, no-c-format
+ msgid "Namelist group name '%s' at %C already has a basic type of %s"
+ msgstr ""
+
+-#: fortran/match.c:2979
++#: fortran/match.c:2962
+ #, no-c-format
+ msgid "Namelist group name '%s' at %C already is USE associated and cannot be respecified."
+ msgstr ""
+
+-#: fortran/match.c:3006
++#: fortran/match.c:2989
+ #, fuzzy, no-c-format
+ msgid "Assumed size array '%s' in namelist '%s' at %C is not allowed"
+ msgstr "Ðльтернативный Ñпецификатор возврата в %0 некорректен внутри функции"
+
+-#: fortran/match.c:3013
++#: fortran/match.c:2996
+ #, fuzzy, no-c-format
+ msgid "Assumed character length '%s' in namelist '%s' at %C is not allowed"
+ msgstr "Ðльтернативный Ñпецификатор возврата в %0 некорректен внутри функции"
+
+-#: fortran/match.c:3140
++#: fortran/match.c:3123
+ #, no-c-format
+ msgid "Derived type component %C is not a permitted EQUIVALENCE member"
+ msgstr ""
+
+-#: fortran/match.c:3148
++#: fortran/match.c:3131
+ #, no-c-format
+ msgid "Array reference in EQUIVALENCE at %C cannot be an array section"
+ msgstr ""
+
+-#: fortran/match.c:3176
++#: fortran/match.c:3159
+ #, no-c-format
+ msgid "EQUIVALENCE at %C requires two or more objects"
+ msgstr ""
+
+-#: fortran/match.c:3190
++#: fortran/match.c:3173
+ #, fuzzy, no-c-format
+ msgid "Attempt to indirectly overlap COMMON blocks %s and %s by EQUIVALENCE at %C"
+ msgstr "РаÑширение COMMON-облаÑти по Ñравнению Ñ Ð¸Ñходным размером поÑредÑтвом оператора EQUIVALENCE Ð´Ð»Ñ `%A'"
+
+-#: fortran/match.c:3351
++#: fortran/match.c:3299
+ #, fuzzy, no-c-format
+ msgid "Statement function at %L is recursive"
+ msgstr "ФункциÑ-оператор `%A', Ð¾Ð¿Ñ€ÐµÐ´ÐµÐ»ÐµÐ½Ð½Ð°Ñ Ð² %0, не иÑпользуетÑÑ"
+
+-#: fortran/match.c:3439
++#: fortran/match.c:3387
+ #, fuzzy, no-c-format
+ msgid "Expected initialization expression in CASE at %C"
+ msgstr "ОжидалаÑÑŒ Ð±Ð¸Ð½Ð°Ñ€Ð½Ð°Ñ Ð¾Ð¿ÐµÑ€Ð°Ñ†Ð¸Ñ Ð¼ÐµÐ¶Ð´Ñƒ выражениÑми в %0 и в %1"
+
+-#: fortran/match.c:3462
++#: fortran/match.c:3410
+ #, fuzzy, no-c-format
+ msgid "Expected the name of the SELECT CASE construct at %C"
+ msgstr " ожидалÑÑ ÑˆÐ°Ð±Ð»Ð¾Ð½ клаÑÑа, обнаружено %qT"
+
+-#: fortran/match.c:3474
++#: fortran/match.c:3422
+ #, fuzzy, no-c-format
+ msgid "Expected case name of '%s' at %C"
+ msgstr "ожидалоÑÑŒ Ð¸Ð¼Ñ Ñ‚Ð¸Ð¿Ð°"
+
+-#: fortran/match.c:3518
++#: fortran/match.c:3466
+ #, fuzzy, no-c-format
+ msgid "Unexpected CASE statement at %C"
+ msgstr "ожидалоÑÑŒ Ð¸Ð¼Ñ Ñ‚Ð¸Ð¿Ð°"
+
+-#: fortran/match.c:3570
++#: fortran/match.c:3518
+ #, no-c-format
+ msgid "Syntax error in CASE-specification at %C"
+ msgstr ""
+
+-#: fortran/match.c:3690
++#: fortran/match.c:3638
+ #, no-c-format
+ msgid "ELSEWHERE statement at %C not enclosed in WHERE block"
+ msgstr ""
+
+-#: fortran/match.c:3728
++#: fortran/match.c:3676
+ #, no-c-format
+ msgid "Label '%s' at %C doesn't match WHERE label '%s'"
+ msgstr ""
+
+-#: fortran/match.c:3828
++#: fortran/match.c:3776
+ #, fuzzy, no-c-format
+ msgid "Syntax error in FORALL iterator at %C"
+ msgstr "ÑинтакÑичеÑÐºÐ°Ñ Ð¾ÑˆÐ¸Ð±ÐºÐ° в ÑпиÑке параметров макроÑа"
+@@ -7629,7 +7632,8 @@
+ msgid "Expected exponent in expression at %C"
+ msgstr "некорректное адреÑное выражение"
+
+-#: fortran/matchexp.c:348 fortran/matchexp.c:452
++#: fortran/matchexp.c:350 fortran/matchexp.c:355 fortran/matchexp.c:459
++#: fortran/matchexp.c:464
+ #, no-c-format
+ msgid "Extension: Unary operator following arithmetic operator (use parentheses) at %C"
+ msgstr ""
+@@ -7757,127 +7761,127 @@
+ msgid "Expected real string"
+ msgstr "некорректное адреÑное выражение"
+
+-#: fortran/module.c:2722
++#: fortran/module.c:2730
+ #, fuzzy
+ msgid "Expected expression type"
+ msgstr "некорректное адреÑное выражение"
+
+-#: fortran/module.c:2776
++#: fortran/module.c:2784
+ #, fuzzy
+ msgid "Bad operator"
+ msgstr "некорректный операнд"
+
+-#: fortran/module.c:2861
++#: fortran/module.c:2869
+ #, fuzzy
+ msgid "Bad type in constant expression"
+ msgstr "переполнение при вычиÑлении конÑтантного выражениÑ"
+
+-#: fortran/module.c:2898
++#: fortran/module.c:2906
+ #, no-c-format
+ msgid "Namelist %s cannot be renamed by USE association to %s"
+ msgstr ""
+
+-#: fortran/module.c:3723
++#: fortran/module.c:3847
+ #, no-c-format
+ msgid "Symbol '%s' referenced at %L not found in module '%s'"
+ msgstr ""
+
+-#: fortran/module.c:3730
++#: fortran/module.c:3854
+ #, no-c-format
+ msgid "User operator '%s' referenced at %L not found in module '%s'"
+ msgstr ""
+
+-#: fortran/module.c:3735
++#: fortran/module.c:3859
+ #, no-c-format
+ msgid "Intrinsic operator '%s' referenced at %L not found in module '%s'"
+ msgstr ""
+
+-#: fortran/module.c:4213
++#: fortran/module.c:4400
+ #, fuzzy, no-c-format
+ msgid "Can't open module file '%s' for writing at %C: %s"
+ msgstr "%s: ошибка Ð¾Ñ‚ÐºÑ€Ñ‹Ñ‚Ð¸Ñ Ñ„Ð°Ð¹Ð»Ð° '%s' на чтение: %s\n"
+
+-#: fortran/module.c:4251
++#: fortran/module.c:4438
+ #, fuzzy, no-c-format
+ msgid "Error writing module file '%s' for writing: %s"
+ msgstr "%s: ошибка запиÑи файла '%s': %s\n"
+
+-#: fortran/module.c:4281 fortran/module.c:4363
++#: fortran/module.c:4468 fortran/module.c:4550
+ #, no-c-format
+ msgid "Symbol '%s' referenced at %L does not exist in intrinsic module ISO_C_BINDING."
+ msgstr ""
+
+-#: fortran/module.c:4394
++#: fortran/module.c:4581
+ #, no-c-format
+ msgid "Symbol '%s' referenced at %L not found in intrinsic module ISO_C_BINDING"
+ msgstr ""
+
+-#: fortran/module.c:4416
++#: fortran/module.c:4603
+ #, no-c-format
+ msgid "Symbol '%s' already declared"
+ msgstr ""
+
+-#: fortran/module.c:4471
++#: fortran/module.c:4658
+ #, no-c-format
+ msgid "Use of intrinsic module '%s' at %C conflicts with non-intrinsic module name used previously"
+ msgstr ""
+
+-#: fortran/module.c:4484
++#: fortran/module.c:4671
+ #, no-c-format
+ msgid "Symbol '%s' referenced at %L does not exist in intrinsic module ISO_FORTRAN_ENV"
+ msgstr ""
+
+-#: fortran/module.c:4492
++#: fortran/module.c:4679
+ #, no-c-format
+ msgid "Use of the NUMERIC_STORAGE_SIZE named constant from intrinsic module ISO_FORTRAN_ENV at %L is incompatible with option %s"
+ msgstr ""
+
+-#: fortran/module.c:4520
++#: fortran/module.c:4707
+ #, no-c-format
+ msgid "Use of the NUMERIC_STORAGE_SIZE named constant from intrinsic module ISO_FORTRAN_ENV at %C is incompatible with option %s"
+ msgstr ""
+
+-#: fortran/module.c:4536
++#: fortran/module.c:4723
+ #, no-c-format
+ msgid "Symbol '%s' referenced at %L not found in intrinsic module ISO_FORTRAN_ENV"
+ msgstr ""
+
+-#: fortran/module.c:4569
++#: fortran/module.c:4756
+ #, no-c-format
+ msgid "Fortran 2003: ISO_FORTRAN_ENV intrinsic module at %C"
+ msgstr ""
+
+-#: fortran/module.c:4577
++#: fortran/module.c:4764
+ #, no-c-format
+ msgid "Fortran 2003: ISO_C_BINDING module at %C"
+ msgstr ""
+
+-#: fortran/module.c:4587
++#: fortran/module.c:4774
+ #, no-c-format
+ msgid "Can't find an intrinsic module named '%s' at %C"
+ msgstr ""
+
+-#: fortran/module.c:4592
++#: fortran/module.c:4779
+ #, fuzzy, no-c-format
+ msgid "Can't open module file '%s' for reading at %C: %s"
+ msgstr "%s: ошибка Ð¾Ñ‚ÐºÑ€Ñ‹Ñ‚Ð¸Ñ Ñ„Ð°Ð¹Ð»Ð° '%s' на чтение: %s\n"
+
+-#: fortran/module.c:4600
++#: fortran/module.c:4787
+ #, no-c-format
+ msgid "Use of non-intrinsic module '%s' at %C conflicts with intrinsic module name used previously"
+ msgstr ""
+
+-#: fortran/module.c:4615
++#: fortran/module.c:4802
+ #, fuzzy
+ msgid "Unexpected end of module"
+ msgstr "некорректный операнд"
+
+-#: fortran/module.c:4620
++#: fortran/module.c:4807
+ #, no-c-format
+ msgid "File '%s' opened at %C is not a GFORTRAN module file"
+ msgstr ""
+
+-#: fortran/module.c:4630
++#: fortran/module.c:4817
+ #, no-c-format
+ msgid "Can't USE the same module we're building!"
+ msgstr ""
+@@ -7907,7 +7911,7 @@
+ msgid "Syntax error in !$OMP THREADPRIVATE list at %C"
+ msgstr "ошибка в Ñлементе пула конÑтант #%d\n"
+
+-#: fortran/openmp.c:696 fortran/resolve.c:5822 fortran/resolve.c:6133
++#: fortran/openmp.c:696 fortran/resolve.c:5970 fortran/resolve.c:6317
+ #, no-c-format
+ msgid "IF clause at %L requires a scalar LOGICAL expression"
+ msgstr ""
+@@ -8203,303 +8207,303 @@
+ msgid "Maximum subrecord length cannot exceed %d"
+ msgstr ""
+
+-#: fortran/parse.c:304
++#: fortran/parse.c:451
+ #, fuzzy, no-c-format
+ msgid "Unclassifiable statement at %C"
+ msgstr "Ðеподдерживаемый VXT-оператор в %0"
+
+-#: fortran/parse.c:328
++#: fortran/parse.c:475
+ #, no-c-format
+ msgid "OpenMP directives at %C may not appear in PURE or ELEMENTAL procedures"
+ msgstr ""
+
+-#: fortran/parse.c:406
++#: fortran/parse.c:553
+ #, fuzzy, no-c-format
+ msgid "Unclassifiable OpenMP directive at %C"
+ msgstr "Ðеподдерживаемый VXT-оператор в %0"
+
+-#: fortran/parse.c:445 fortran/parse.c:586
++#: fortran/parse.c:592 fortran/parse.c:733
+ #, fuzzy, no-c-format
+ msgid "Zero is not a valid statement label at %C"
+ msgstr "%qE не ÑвлÑетÑÑ ÐºÐ¾Ñ€Ñ€ÐµÐºÑ‚Ð½Ñ‹Ð¼ аргументом шаблона"
+
+-#: fortran/parse.c:452 fortran/parse.c:578
++#: fortran/parse.c:599 fortran/parse.c:725
+ #, fuzzy, no-c-format
+ msgid "Non-numeric character in statement label at %C"
+ msgstr "Ðе цифра в %0 в поле метки [info -f g77 M LEX]"
+
+-#: fortran/parse.c:464 fortran/parse.c:500 fortran/parse.c:626
++#: fortran/parse.c:611 fortran/parse.c:647 fortran/parse.c:773
+ #, no-c-format
+ msgid "Semicolon at %C needs to be preceded by statement"
+ msgstr ""
+
+-#: fortran/parse.c:472 fortran/parse.c:638
++#: fortran/parse.c:619 fortran/parse.c:785
+ #, no-c-format
+ msgid "Ignoring statement label in empty statement at %C"
+ msgstr ""
+
+-#: fortran/parse.c:565 fortran/parse.c:605
++#: fortran/parse.c:712 fortran/parse.c:752
+ #, fuzzy, no-c-format
+ msgid "Bad continuation line at %C"
+ msgstr "Ð˜Ð½Ð¸Ñ†Ð¸Ð°Ð»Ð¸Ð·Ð°Ñ†Ð¸Ñ Ð¿ÑƒÑтого общего блока в %0"
+
+-#: fortran/parse.c:664
++#: fortran/parse.c:811
+ #, no-c-format
+ msgid "Line truncated at %C"
+ msgstr ""
+
+-#: fortran/parse.c:841
++#: fortran/parse.c:997
+ #, no-c-format
+ msgid "FORMAT statement at %L does not have a statement label"
+ msgstr ""
+
+-#: fortran/parse.c:913
++#: fortran/parse.c:1069
+ msgid "arithmetic IF"
+ msgstr ""
+
+-#: fortran/parse.c:919
++#: fortran/parse.c:1075
+ #, fuzzy
+ msgid "attribute declaration"
+ msgstr "ÐÐµÐºÐ¾Ñ€Ñ€ÐµÐºÑ‚Ð½Ð°Ñ Ð´ÐµÐºÐ»Ð°Ñ€Ð°Ñ†Ð¸Ñ"
+
+-#: fortran/parse.c:949
++#: fortran/parse.c:1105
+ #, fuzzy
+ msgid "data declaration"
+ msgstr "пуÑÑ‚Ð°Ñ Ð´ÐµÐºÐ»Ð°Ñ€Ð°Ñ†Ð¸Ñ"
+
+-#: fortran/parse.c:958
++#: fortran/parse.c:1114
+ #, fuzzy
+ msgid "derived type declaration"
+ msgstr "пуÑÑ‚Ð°Ñ Ð´ÐµÐºÐ»Ð°Ñ€Ð°Ñ†Ð¸Ñ"
+
+-#: fortran/parse.c:1037
++#: fortran/parse.c:1193
+ msgid "block IF"
+ msgstr ""
+
+-#: fortran/parse.c:1046
++#: fortran/parse.c:1202
+ msgid "implied END DO"
+ msgstr ""
+
+-#: fortran/parse.c:1119
++#: fortran/parse.c:1275
+ msgid "assignment"
+ msgstr "приÑваивание"
+
+-#: fortran/parse.c:1122
++#: fortran/parse.c:1278
+ #, fuzzy
+ msgid "pointer assignment"
+ msgstr "приÑваивание"
+
+-#: fortran/parse.c:1131
++#: fortran/parse.c:1287
+ msgid "simple IF"
+ msgstr ""
+
+-#: fortran/parse.c:1347
++#: fortran/parse.c:1503
+ #, fuzzy, no-c-format
+ msgid "Unexpected %s statement at %C"
+ msgstr "ожидалоÑÑŒ Ð¸Ð¼Ñ Ñ‚Ð¸Ð¿Ð°"
+
+-#: fortran/parse.c:1486
++#: fortran/parse.c:1642
+ #, fuzzy, no-c-format
+ msgid "%s statement at %C cannot follow %s statement at %L"
+ msgstr "Оператор в %0 некорректен в контекÑте, уÑтановленном оператором в %1"
+
+-#: fortran/parse.c:1503
++#: fortran/parse.c:1659
+ #, fuzzy, no-c-format
+ msgid "Unexpected end of file in '%s'"
+ msgstr "Ðеожиданное окончание Ñтроки формата"
+
+-#: fortran/parse.c:1558
++#: fortran/parse.c:1714
+ #, no-c-format
+ msgid "Fortran 2003: Derived type definition at %C without components"
+ msgstr ""
+
+-#: fortran/parse.c:1569
++#: fortran/parse.c:1725
+ #, no-c-format
+ msgid "PRIVATE statement in TYPE at %C must be inside a MODULE"
+ msgstr ""
+
+-#: fortran/parse.c:1577
++#: fortran/parse.c:1733
+ #, no-c-format
+ msgid "PRIVATE statement at %C must precede structure components"
+ msgstr ""
+
+-#: fortran/parse.c:1585
++#: fortran/parse.c:1741
+ #, fuzzy, no-c-format
+ msgid "Duplicate PRIVATE statement at %C"
+ msgstr "Ðеподдерживаемый VXT-оператор в %0"
+
+-#: fortran/parse.c:1597
++#: fortran/parse.c:1753
+ #, no-c-format
+ msgid "SEQUENCE statement at %C must precede structure components"
+ msgstr ""
+
+-#: fortran/parse.c:1604
++#: fortran/parse.c:1760
+ #, no-c-format
+ msgid "SEQUENCE attribute at %C already specified in TYPE statement"
+ msgstr ""
+
+-#: fortran/parse.c:1609
++#: fortran/parse.c:1765
+ #, fuzzy, no-c-format
+ msgid "Duplicate SEQUENCE statement at %C"
+ msgstr "Ðеподдерживаемый VXT-оператор в %0"
+
+-#: fortran/parse.c:1700
++#: fortran/parse.c:1856
+ #, no-c-format
+ msgid "ENUM declaration at %C has no ENUMERATORS"
+ msgstr ""
+
+-#: fortran/parse.c:1778
++#: fortran/parse.c:1934
+ #, no-c-format
+ msgid "Unexpected %s statement in INTERFACE block at %C"
+ msgstr ""
+
+-#: fortran/parse.c:1804
++#: fortran/parse.c:1960
+ #, no-c-format
+ msgid "SUBROUTINE at %C does not belong in a generic function interface"
+ msgstr ""
+
+-#: fortran/parse.c:1808
++#: fortran/parse.c:1964
+ #, no-c-format
+ msgid "FUNCTION at %C does not belong in a generic subroutine interface"
+ msgstr ""
+
+-#: fortran/parse.c:1818
++#: fortran/parse.c:1974
+ #, fuzzy, no-c-format
+ msgid "Name '%s' of ABSTRACT INTERFACE at %C cannot be the same as an intrinsic type"
+ msgstr "Ð˜Ð¼Ñ Ñ‚Ð¸Ð¿Ð° в %0 не Ñовпадает Ñ Ð¸Ð¼ÐµÐ½ÐµÐ¼, заданным в %1"
+
+-#: fortran/parse.c:1849
++#: fortran/parse.c:2005
+ #, no-c-format
+ msgid "Unexpected %s statement at %C in INTERFACE body"
+ msgstr ""
+
+-#: fortran/parse.c:1863
++#: fortran/parse.c:2019
+ #, no-c-format
+ msgid "INTERFACE procedure '%s' at %L has the same name as the enclosing procedure"
+ msgstr ""
+
+-#: fortran/parse.c:1958
++#: fortran/parse.c:2134
+ #, no-c-format
+ msgid "%s statement must appear in a MODULE"
+ msgstr ""
+
+-#: fortran/parse.c:1965
++#: fortran/parse.c:2141
+ #, no-c-format
+ msgid "%s statement at %C follows another accessibility specification"
+ msgstr ""
+
+-#: fortran/parse.c:2015
++#: fortran/parse.c:2191
+ #, fuzzy, no-c-format
+ msgid "Bad kind expression for function '%s' at %L"
+ msgstr "ошибка в аргументах spec-функции '%s'"
+
+-#: fortran/parse.c:2018
++#: fortran/parse.c:2195
+ #, fuzzy, no-c-format
+ msgid "The type for function '%s' at %L is not accessible"
+ msgstr "Ðльтернативный Ñпецификатор возврата в %0 некорректен внутри функции"
+
+-#: fortran/parse.c:2070
++#: fortran/parse.c:2253
+ #, no-c-format
+ msgid "ELSEWHERE statement at %C follows previous unmasked ELSEWHERE"
+ msgstr ""
+
+-#: fortran/parse.c:2091
++#: fortran/parse.c:2274
+ #, no-c-format
+ msgid "Unexpected %s statement in WHERE block at %C"
+ msgstr ""
+
+-#: fortran/parse.c:2150
++#: fortran/parse.c:2333
+ #, no-c-format
+ msgid "Unexpected %s statement in FORALL block at %C"
+ msgstr ""
+
+-#: fortran/parse.c:2201
++#: fortran/parse.c:2384
+ #, fuzzy, no-c-format
+ msgid "ELSE IF statement at %C cannot follow ELSE statement at %L"
+ msgstr "оператор PUBLIC или PRIVATE в %1 неÑовмеÑтим Ñ Ð¾Ð¿ÐµÑ€Ð°Ñ‚Ð¾Ñ€Ð¾Ð¼ PUBLIC или PRIVATE в %0"
+
+-#: fortran/parse.c:2219
++#: fortran/parse.c:2402
+ #, no-c-format
+ msgid "Duplicate ELSE statements at %L and %C"
+ msgstr ""
+
+-#: fortran/parse.c:2280
++#: fortran/parse.c:2463
+ #, no-c-format
+ msgid "Expected a CASE or END SELECT statement following SELECT CASE at %C"
+ msgstr ""
+
+-#: fortran/parse.c:2338
++#: fortran/parse.c:2521
+ #, no-c-format
+ msgid "Variable '%s' at %C cannot be redefined inside loop beginning at %L"
+ msgstr ""
+
+-#: fortran/parse.c:2372
++#: fortran/parse.c:2555
+ #, no-c-format
+ msgid "End of nonblock DO statement at %C is within another block"
+ msgstr ""
+
+-#: fortran/parse.c:2381
++#: fortran/parse.c:2564
+ #, no-c-format
+ msgid "End of nonblock DO statement at %C is interwoven with another DO loop"
+ msgstr ""
+
+-#: fortran/parse.c:2430
++#: fortran/parse.c:2613
+ #, no-c-format
+ msgid "Statement label in ENDDO at %C doesn't match DO label"
+ msgstr ""
+
+-#: fortran/parse.c:2446
++#: fortran/parse.c:2629
+ #, no-c-format
+ msgid "named block DO at %L requires matching ENDDO name"
+ msgstr ""
+
+-#: fortran/parse.c:2702
++#: fortran/parse.c:2885
+ #, no-c-format
+ msgid "Name after !$omp critical and !$omp end critical does not match at %C"
+ msgstr ""
+
+-#: fortran/parse.c:2758
++#: fortran/parse.c:2941
+ #, no-c-format
+ msgid "%s statement at %C cannot terminate a non-block DO loop"
+ msgstr ""
+
+-#: fortran/parse.c:2943
++#: fortran/parse.c:3126
+ #, no-c-format
+ msgid "Contained procedure '%s' at %C is already ambiguous"
+ msgstr ""
+
+-#: fortran/parse.c:2993
++#: fortran/parse.c:3176
+ #, no-c-format
+ msgid "Unexpected %s statement in CONTAINS section at %C"
+ msgstr ""
+
+ #. This is valid in Fortran 2008.
+-#: fortran/parse.c:3018
++#: fortran/parse.c:3201
+ #, no-c-format
+ msgid "Extension: CONTAINS statement without FUNCTION or SUBROUTINE statement at %C"
+ msgstr ""
+
+-#: fortran/parse.c:3089
++#: fortran/parse.c:3272
+ #, fuzzy, no-c-format
+ msgid "CONTAINS statement at %C is already in a contained program unit"
+ msgstr "оператор RETURN в %0 недопуÑтим внутри главной программы"
+
+-#: fortran/parse.c:3138
++#: fortran/parse.c:3321
+ #, no-c-format
+ msgid "Global name '%s' at %L is already being used as a %s at %L"
+ msgstr ""
+
+-#: fortran/parse.c:3159
++#: fortran/parse.c:3342
+ #, no-c-format
+ msgid "Blank BLOCK DATA at %C conflicts with prior BLOCK DATA at %L"
+ msgstr ""
+
+-#: fortran/parse.c:3185
++#: fortran/parse.c:3368
+ #, no-c-format
+ msgid "Unexpected %s statement in BLOCK DATA at %C"
+ msgstr ""
+
+-#: fortran/parse.c:3228
++#: fortran/parse.c:3411
+ #, fuzzy, no-c-format
+ msgid "Unexpected %s statement in MODULE at %C"
+ msgstr "ожидалоÑÑŒ Ð¸Ð¼Ñ Ñ‚Ð¸Ð¿Ð°"
+@@ -8507,7 +8511,7 @@
+ #. If we see a duplicate main program, shut down. If the second
+ #. instance is an implied main program, ie data decls or executable
+ #. statements, we're in for lots of errors.
+-#: fortran/parse.c:3416
++#: fortran/parse.c:3594
+ #, no-c-format
+ msgid "Two main PROGRAMs at %L and %C"
+ msgstr ""
+@@ -8544,7 +8548,7 @@
+
+ #: fortran/primary.c:353
+ #, no-c-format
+-msgid "Extension: Hexadecimal constant at %C uses non-standard syntax."
++msgid "Extension: Hexadecimal constant at %C uses non-standard syntax"
+ msgstr ""
+
+ #: fortran/primary.c:363
+@@ -8557,996 +8561,1041 @@
+ msgid "Illegal character in BOZ constant at %C"
+ msgstr "Ð¡Ð¸Ð¼Ð²Ð¾Ð»ÑŒÐ½Ð°Ñ ÐºÐ¾Ð½Ñтанта нулевой длины в %0"
+
+-#: fortran/primary.c:391
++#: fortran/primary.c:392
+ #, no-c-format
+-msgid "Extension: BOZ constant at %C uses non-standard postfix syntax."
++msgid "Extension: BOZ constant at %C uses non-standard postfix syntax"
+ msgstr ""
+
+-#: fortran/primary.c:417
++#: fortran/primary.c:423
+ #, no-c-format
+ msgid "Integer too big for integer kind %i at %C"
+ msgstr ""
+
+-#: fortran/primary.c:517
++#: fortran/primary.c:429
+ #, fuzzy, no-c-format
++msgid "Fortran 2003: BOZ used outside a DATA statement at %C"
++msgstr "Ðеподдерживаемый VXT-оператор в %0"
++
++#: fortran/primary.c:529
++#, fuzzy, no-c-format
+ msgid "Missing exponent in real number at %C"
+ msgstr "Ð’ %1 отÑутÑтвует значение порÑдка Ð´Ð»Ñ Ð²ÐµÑ‰ÐµÑтвенного чиÑла в %0"
+
+-#: fortran/primary.c:573
++#: fortran/primary.c:585
+ #, no-c-format
+ msgid "Real number at %C has a 'd' exponent and an explicit kind"
+ msgstr ""
+
+-#: fortran/primary.c:586
++#: fortran/primary.c:598
+ #, fuzzy, no-c-format
+ msgid "Invalid real kind %d at %C"
+ msgstr "некорректный операнд Ð´Ð»Ñ %%R"
+
+-#: fortran/primary.c:600
++#: fortran/primary.c:612
+ #, no-c-format
+ msgid "Real constant overflows its kind at %C"
+ msgstr ""
+
+-#: fortran/primary.c:605
++#: fortran/primary.c:617
+ #, no-c-format
+ msgid "Real constant underflows its kind at %C"
+ msgstr ""
+
+-#: fortran/primary.c:697
++#: fortran/primary.c:709
+ #, no-c-format
+ msgid "Syntax error in SUBSTRING specification at %C"
+ msgstr ""
+
+-#: fortran/primary.c:902
++#: fortran/primary.c:914
+ #, no-c-format
+ msgid "Invalid kind %d for CHARACTER constant at %C"
+ msgstr ""
+
+-#: fortran/primary.c:923
++#: fortran/primary.c:935
+ #, fuzzy, no-c-format
+ msgid "Unterminated character constant beginning at %C"
+ msgstr "Ð¡Ð¸Ð¼Ð²Ð¾Ð»ÑŒÐ½Ð°Ñ ÐºÐ¾Ð½Ñтанта нулевой длины в %0"
+
+-#: fortran/primary.c:1035
++#: fortran/primary.c:1047
+ #, no-c-format
+ msgid "Bad kind for logical constant at %C"
+ msgstr ""
+
+-#: fortran/primary.c:1074
++#: fortran/primary.c:1086
+ #, no-c-format
+ msgid "Expected PARAMETER symbol in complex constant at %C"
+ msgstr ""
+
+-#: fortran/primary.c:1080
++#: fortran/primary.c:1092
+ #, no-c-format
+ msgid "Numeric PARAMETER required in complex constant at %C"
+ msgstr ""
+
+-#: fortran/primary.c:1086
++#: fortran/primary.c:1098
+ #, no-c-format
+ msgid "Scalar PARAMETER required in complex constant at %C"
+ msgstr ""
+
+-#: fortran/primary.c:1090
++#: fortran/primary.c:1102
+ #, no-c-format
+ msgid "Fortran 2003: PARAMETER symbol in complex constant at %C"
+ msgstr ""
+
+-#: fortran/primary.c:1120
++#: fortran/primary.c:1132
+ #, no-c-format
+ msgid "Error converting PARAMETER constant in complex constant at %C"
+ msgstr ""
+
+-#: fortran/primary.c:1249
++#: fortran/primary.c:1261
+ #, fuzzy, no-c-format
+ msgid "Syntax error in COMPLEX constant at %C"
+ msgstr "ошибка в Ñлементе пула конÑтант #%d\n"
+
+-#: fortran/primary.c:1430
++#: fortran/primary.c:1442
+ #, no-c-format
+ msgid "Keyword '%s' at %C has already appeared in the current argument list"
+ msgstr ""
+
+-#: fortran/primary.c:1494
++#: fortran/primary.c:1506
+ #, fuzzy, no-c-format
+ msgid "Extension: argument list function at %C"
+ msgstr "отÑутÑтвует аргумент ключа %qs"
+
+-#: fortran/primary.c:1561
++#: fortran/primary.c:1573
+ #, no-c-format
+ msgid "Expected alternate return label at %C"
+ msgstr ""
+
+-#: fortran/primary.c:1579
++#: fortran/primary.c:1591
+ #, no-c-format
+ msgid "Missing keyword name in actual argument list at %C"
+ msgstr ""
+
+-#: fortran/primary.c:1624
++#: fortran/primary.c:1636
+ #, fuzzy, no-c-format
+ msgid "Syntax error in argument list at %C"
+ msgstr "ÑинтакÑичеÑÐºÐ°Ñ Ð¾ÑˆÐ¸Ð±ÐºÐ° в ÑпиÑке параметров макроÑа"
+
+-#: fortran/primary.c:1708
++#: fortran/primary.c:1723
+ #, no-c-format
+ msgid "Expected structure component name at %C"
+ msgstr ""
+
+-#: fortran/primary.c:1961
++#: fortran/primary.c:1980
+ #, no-c-format
+ msgid "Too many components in structure constructor at %C"
+ msgstr ""
+
+-#: fortran/primary.c:1974
++#: fortran/primary.c:1993
+ #, no-c-format
+ msgid "Structure constructor for '%s' at %C has PRIVATE components"
+ msgstr ""
+
+-#: fortran/primary.c:1984
++#: fortran/primary.c:2003
+ #, no-c-format
+ msgid "Too few components in structure constructor at %C"
+ msgstr ""
+
+-#: fortran/primary.c:2002
++#: fortran/primary.c:2021
+ #, no-c-format
+ msgid "Syntax error in structure constructor at %C"
+ msgstr ""
+
+-#: fortran/primary.c:2086
++#: fortran/primary.c:2105
+ #, no-c-format
+ msgid "'%s' 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.c:2188
++#: fortran/primary.c:2207
+ #, no-c-format
+ msgid "Unexpected use of subroutine name '%s' at %C"
+ msgstr ""
+
+-#: fortran/primary.c:2219
++#: fortran/primary.c:2238
+ #, fuzzy, no-c-format
+ msgid "Statement function '%s' requires argument list at %C"
+ msgstr "ФункциÑ-оператор `%A', Ð¾Ð¿Ñ€ÐµÐ´ÐµÐ»ÐµÐ½Ð½Ð°Ñ Ð² %0, не иÑпользуетÑÑ"
+
+-#: fortran/primary.c:2222
++#: fortran/primary.c:2241
+ #, fuzzy, no-c-format
+ msgid "Function '%s' requires an argument list at %C"
+ msgstr "Ñ„ÑƒÐ½ÐºÑ†Ð¸Ñ Ð²Ð¾Ð·Ð²Ñ€Ð°Ñ‰Ð°ÐµÑ‚ агрегатное значение"
+
+-#: fortran/primary.c:2267
++#: fortran/primary.c:2286
+ #, fuzzy, no-c-format
+ msgid "Missing argument to '%s' at %C"
+ msgstr "отÑутÑтвует аргумент ключа '%s'"
+
+-#: fortran/primary.c:2408
++#: fortran/primary.c:2427
+ #, fuzzy, no-c-format
+ msgid "Missing argument list in function '%s' at %C"
+ msgstr "отÑутÑтвует аргумент ключа %qs"
+
+-#: fortran/primary.c:2436
++#: fortran/primary.c:2455
+ #, fuzzy, no-c-format
+ msgid "Symbol at %C is not appropriate for an expression"
+ msgstr "переполнение при вычиÑлении Ð²Ñ‹Ñ€Ð°Ð¶ÐµÐ½Ð¸Ñ Ñ Ð¿Ð»Ð°Ð²Ð°ÑŽÑ‰ÐµÐ¹ точкой"
+
+-#: fortran/primary.c:2504
++#: fortran/primary.c:2523
+ #, fuzzy, no-c-format
+ msgid "Assigning to PROTECTED variable at %C"
+ msgstr "%s по отношению к переменной %qs, доÑтупной только на чтение"
+
+-#: fortran/primary.c:2520
++#: fortran/primary.c:2557
+ #, no-c-format
+ msgid "Named constant at %C in an EQUIVALENCE"
+ msgstr ""
+
+-#: fortran/primary.c:2543
+-#, no-c-format
+-msgid "Expected VARIABLE at %C"
+-msgstr ""
++#: fortran/primary.c:2579
++#, fuzzy, no-c-format
++msgid "'%s' at %C is not a variable"
++msgstr "аргумент `asm' - не конÑÑ‚Ð°Ð½Ñ‚Ð½Ð°Ñ Ñтрока"
+
+-#: fortran/resolve.c:120
++#: fortran/resolve.c:121
+ #, fuzzy, no-c-format
+ msgid "Alternate return specifier in elemental subroutine '%s' at %L is not allowed"
+ msgstr "Ðльтернативный Ñпецификатор возврата в %0 некорректен внутри функции"
+
+-#: fortran/resolve.c:124
++#: fortran/resolve.c:125
+ #, fuzzy, no-c-format
+ msgid "Alternate return specifier in function '%s' at %L is not allowed"
+ msgstr "Ðльтернативный Ñпецификатор возврата в %0 некорректен внутри функции"
+
+-#: fortran/resolve.c:137
++#: fortran/resolve.c:138
+ #, no-c-format
+ msgid "Dummy procedure '%s' of PURE procedure at %L must also be PURE"
+ msgstr ""
+
+-#: fortran/resolve.c:144
++#: fortran/resolve.c:145
+ #, no-c-format
+ msgid "Dummy procedure at %L not allowed in ELEMENTAL procedure"
+ msgstr ""
+
+-#: fortran/resolve.c:157 fortran/resolve.c:1080
++#: fortran/resolve.c:158 fortran/resolve.c:1138
+ #, fuzzy, no-c-format
+ msgid "Unable to find a specific INTRINSIC procedure for the reference '%s' at %L"
+ msgstr "ошибка в аргументах spec-функции '%s'"
+
+-#: fortran/resolve.c:201
++#: fortran/resolve.c:202
+ #, no-c-format
+ msgid "Argument '%s' of pure function '%s' at %L must be INTENT(IN)"
+ msgstr ""
+
+-#: fortran/resolve.c:206
++#: fortran/resolve.c:207
+ #, no-c-format
+ msgid "Argument '%s' of pure subroutine '%s' at %L must have its INTENT specified"
+ msgstr ""
+
+-#: fortran/resolve.c:215
++#: fortran/resolve.c:216
+ #, no-c-format
+ msgid "Argument '%s' of elemental procedure at %L must be scalar"
+ msgstr ""
+
+-#: fortran/resolve.c:222
++#: fortran/resolve.c:223
+ #, no-c-format
+ msgid "Argument '%s' of elemental procedure at %L cannot have the POINTER attribute"
+ msgstr ""
+
+-#: fortran/resolve.c:234
++#: fortran/resolve.c:231
+ #, fuzzy, no-c-format
++msgid "Dummy procedure '%s' not allowed in elemental procedure '%s' at %L"
++msgstr "%s не может приÑутÑтвовать в конÑтантном выражении"
++
++#: fortran/resolve.c:243
++#, fuzzy, no-c-format
+ msgid "Argument '%s' of statement function at %L must be scalar"
+ msgstr "ПуÑтой аргумент в %0 в вызове функции-оператора в %1"
+
+-#: fortran/resolve.c:244
++#: fortran/resolve.c:253
+ #, fuzzy, no-c-format
+ msgid "Character-valued argument '%s' of statement function at %L must have constant length"
+ msgstr "ПуÑтой аргумент в %0 в вызове функции-оператора в %1"
+
+-#: fortran/resolve.c:299
++#: fortran/resolve.c:310
+ #, no-c-format
+ msgid "Contained function '%s' at %L has no IMPLICIT type"
+ msgstr ""
+
+-#: fortran/resolve.c:302
++#: fortran/resolve.c:313
+ #, no-c-format
+ msgid "Result '%s' of contained function '%s' at %L has no IMPLICIT type"
+ msgstr ""
+
+-#: fortran/resolve.c:319
++#: fortran/resolve.c:330
+ #, no-c-format
+ msgid "Character-valued internal function '%s' at %L must not be assumed length"
+ msgstr ""
+
+-#: fortran/resolve.c:490
++#: fortran/resolve.c:501
++#, fuzzy, no-c-format
++msgid "Function %s at %L has entries with mismatched array specifications"
++msgstr "Ð¿Ñ€Ð¾Ñ‚Ð¸Ð²Ð¾Ñ€ÐµÑ‡Ð¸Ð²Ð°Ñ ÑÐ¿ÐµÑ†Ð¸Ñ„Ð¸ÐºÐ°Ñ†Ð¸Ñ instance-переменной"
++
++#: fortran/resolve.c:518
+ #, no-c-format
+-msgid "Procedure %s at %L has entries with mismatched array specifications"
++msgid "Extension: Function %s at %L with entries returning variables of different string lengths"
+ msgstr ""
+
+-#: fortran/resolve.c:516
++#: fortran/resolve.c:545
+ #, no-c-format
+ msgid "FUNCTION result %s can't be an array in FUNCTION %s at %L"
+ msgstr ""
+
+-#: fortran/resolve.c:520
++#: fortran/resolve.c:549
+ #, no-c-format
+ msgid "ENTRY result %s can't be an array in FUNCTION %s at %L"
+ msgstr ""
+
+-#: fortran/resolve.c:527
++#: fortran/resolve.c:556
+ #, no-c-format
+ msgid "FUNCTION result %s can't be a POINTER in FUNCTION %s at %L"
+ msgstr ""
+
+-#: fortran/resolve.c:531
++#: fortran/resolve.c:560
+ #, no-c-format
+ msgid "ENTRY result %s can't be a POINTER in FUNCTION %s at %L"
+ msgstr ""
+
+-#: fortran/resolve.c:569
++#: fortran/resolve.c:598
+ #, no-c-format
+ msgid "FUNCTION result %s can't be of type %s in FUNCTION %s at %L"
+ msgstr ""
+
+-#: fortran/resolve.c:574
++#: fortran/resolve.c:603
+ #, no-c-format
+ msgid "ENTRY result %s can't be of type %s in FUNCTION %s at %L"
+ msgstr ""
+
+-#: fortran/resolve.c:643
++#: fortran/resolve.c:661
+ #, no-c-format
++msgid "Variable '%s' at %L is in COMMON but only in BLOCK DATA initialization is allowed"
++msgstr ""
++
++#: fortran/resolve.c:665
++#, no-c-format
++msgid "Initialized variable '%s' at %L is in a blank COMMON but initialization is only allowed in named common blocks"
++msgstr ""
++
++#: fortran/resolve.c:676
++#, no-c-format
+ msgid "Derived type variable '%s' in COMMON at %L has neither the SEQUENCE nor the BIND(C) attribute"
+ msgstr ""
+
+-#: fortran/resolve.c:647
++#: fortran/resolve.c:680
+ #, no-c-format
+ msgid "Derived type variable '%s' in COMMON at %L has an ultimate component that is allocatable"
+ msgstr ""
+
+-#: fortran/resolve.c:651
++#: fortran/resolve.c:684
+ #, fuzzy, no-c-format
+ msgid "Derived type variable '%s' in COMMON at %L may not have default initializer"
+ msgstr "%Jфинальное поле %qD, возможно, не было инициализировано"
+
+-#: fortran/resolve.c:661
++#: fortran/resolve.c:711
+ #, no-c-format
+ msgid "COMMON block '%s' at %L is used as PARAMETER at %L"
+ msgstr ""
+
+-#: fortran/resolve.c:665
++#: fortran/resolve.c:715
+ #, no-c-format
+ msgid "COMMON block '%s' at %L is also an intrinsic procedure"
+ msgstr ""
+
+-#: fortran/resolve.c:669
++#: fortran/resolve.c:719
+ #, no-c-format
+ msgid "Fortran 2003: COMMON block '%s' at %L that is also a function result"
+ msgstr ""
+
+-#: fortran/resolve.c:674
++#: fortran/resolve.c:724
+ #, no-c-format
+ msgid "Fortran 2003: COMMON block '%s' at %L that is also a global procedure"
+ msgstr ""
+
+-#: fortran/resolve.c:736
++#: fortran/resolve.c:786
+ #, no-c-format
+ msgid "Components of structure constructor '%s' at %L are PRIVATE"
+ msgstr ""
+
+-#: fortran/resolve.c:756
++#: fortran/resolve.c:808
+ #, no-c-format
+ msgid "The rank of the element in the derived type constructor at %L does not match that of the component (%d/%d)"
+ msgstr ""
+
+-#: fortran/resolve.c:769
++#: fortran/resolve.c:821
+ #, no-c-format
+ msgid "The element in the derived type constructor at %L, for pointer component '%s', is %s but should be %s"
+ msgstr ""
+
+-#: fortran/resolve.c:786
++#: fortran/resolve.c:838
+ #, no-c-format
+ msgid "The element in the derived type constructor at %L, for pointer component '%s' should be a POINTER or a TARGET"
+ msgstr ""
+
+-#: fortran/resolve.c:913
++#: fortran/resolve.c:965
+ #, no-c-format
+ msgid "The upper bound in the last dimension must appear in the reference to the assumed size array '%s' at %L"
+ msgstr ""
+
+-#: fortran/resolve.c:976 fortran/resolve.c:5434 fortran/resolve.c:6098
++#: fortran/resolve.c:1029 fortran/resolve.c:5576 fortran/resolve.c:6282
+ #, fuzzy, no-c-format
+ msgid "Label %d referenced at %L is never defined"
+ msgstr "Метка %A уже определена в %1 а затем переопределена в %0"
+
+-#: fortran/resolve.c:986
++#: fortran/resolve.c:1039
+ #, fuzzy, no-c-format
+ msgid "'%s' at %L is ambiguous"
+ msgstr "иÑпользование `%D' неоднозначно"
+
+-#: fortran/resolve.c:1018
++#: fortran/resolve.c:1075
+ #, fuzzy, no-c-format
+ msgid "Statement function '%s' at %L is not allowed as an actual argument"
+ msgstr "ФункциÑ-оператор `%A', Ð¾Ð¿Ñ€ÐµÐ´ÐµÐ»ÐµÐ½Ð½Ð°Ñ Ð² %0, не иÑпользуетÑÑ"
+
+-#: fortran/resolve.c:1026
++#: fortran/resolve.c:1083
+ #, fuzzy, no-c-format
+ msgid "Intrinsic '%s' at %L is not allowed as an actual argument"
+ msgstr "ФункциÑ-оператор `%A', Ð¾Ð¿Ñ€ÐµÐ´ÐµÐ»ÐµÐ½Ð½Ð°Ñ Ð² %0, не иÑпользуетÑÑ"
+
+-#: fortran/resolve.c:1033
++#: fortran/resolve.c:1090
+ #, fuzzy, no-c-format
+ msgid "Internal procedure '%s' is not allowed as an actual argument at %L"
+ msgstr "ВнешнÑÑ Ð¿Ñ€Ð¾Ñ†ÐµÐ´ÑƒÑ€Ð° `%A' передана как фактичеÑкий аргумент в %0, но не декларирована Ñвно как EXTERNAL"
+
+-#: fortran/resolve.c:1039
++#: fortran/resolve.c:1096
+ #, no-c-format
+ msgid "ELEMENTAL non-INTRINSIC procedure '%s' is not allowed as an actual argument at %L"
+ msgstr ""
+
+-#: fortran/resolve.c:1059
++#: fortran/resolve.c:1116
+ #, fuzzy, no-c-format
+ msgid "GENERIC procedure '%s' is not allowed as an actual argument at %L"
+ msgstr "ВнешнÑÑ Ð¿Ñ€Ð¾Ñ†ÐµÐ´ÑƒÑ€Ð° `%A' передана как фактичеÑкий аргумент в %0, но не декларирована Ñвно как EXTERNAL"
+
+-#: fortran/resolve.c:1098
++#: fortran/resolve.c:1157
+ #, fuzzy, no-c-format
+ msgid "Symbol '%s' at %L is ambiguous"
+ msgstr "иÑпользование `%D' неоднозначно"
+
+-#: fortran/resolve.c:1143
++#: fortran/resolve.c:1206
+ #, fuzzy, no-c-format
+ msgid "By-value argument at %L is not of numeric type"
+ msgstr "аргумент `asm' - не конÑÑ‚Ð°Ð½Ñ‚Ð½Ð°Ñ Ñтрока"
+
+-#: fortran/resolve.c:1150
++#: fortran/resolve.c:1213
+ #, no-c-format
+ msgid "By-value argument at %L cannot be an array or an array section"
+ msgstr ""
+
+-#: fortran/resolve.c:1164
++#: fortran/resolve.c:1227
+ #, fuzzy, no-c-format
+ msgid "By-value argument at %L is not allowed in this context"
+ msgstr "Ñтандартные Ð¿Ñ€ÐµÐ¾Ð±Ñ€Ð°Ð·Ð¾Ð²Ð°Ð½Ð¸Ñ Ð² данном контекÑте недопуÑтимы"
+
+-#: fortran/resolve.c:1176
++#: fortran/resolve.c:1239
+ #, no-c-format
+ msgid "Passing internal procedure at %L by location not allowed"
+ msgstr ""
+
+-#: fortran/resolve.c:1293
++#: fortran/resolve.c:1356
+ #, no-c-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)"
+ msgstr ""
+
+-#: fortran/resolve.c:1315
++#: fortran/resolve.c:1378
+ #, fuzzy
+ msgid "elemental procedure"
+ msgstr "В подпрограмме"
+
+-#: fortran/resolve.c:1332
++#: fortran/resolve.c:1395
+ #, no-c-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"
+ msgstr ""
+
+-#: fortran/resolve.c:1466
++#: fortran/resolve.c:1531
+ #, fuzzy, no-c-format
+ msgid "There is no specific function for the generic '%s' at %L"
+ msgstr "ошибка в аргументах spec-функции '%s'"
+
+-#: fortran/resolve.c:1475
++#: fortran/resolve.c:1540
+ #, no-c-format
+ msgid "Generic function '%s' at %L is not consistent with a specific intrinsic interface"
+ msgstr ""
+
+-#: fortran/resolve.c:1513
++#: fortran/resolve.c:1594
+ #, no-c-format
+ msgid "Function '%s' at %L is INTRINSIC but is not compatible with an intrinsic"
+ msgstr ""
+
+-#: fortran/resolve.c:1559
++#: fortran/resolve.c:1640
+ #, fuzzy, no-c-format
+ msgid "Unable to resolve the specific function '%s' at %L"
+ msgstr "ошибка в аргументах spec-функции '%s'"
+
+-#: fortran/resolve.c:1615 fortran/resolve.c:8740
++#: fortran/resolve.c:1696 fortran/resolve.c:8931
+ #, no-c-format
+ msgid "Function '%s' at %L has no IMPLICIT type"
+ msgstr ""
+
+-#: fortran/resolve.c:1799
++#: fortran/resolve.c:1907
+ #, fuzzy, no-c-format
+ msgid "Argument to '%s' at %L is not a variable"
+ msgstr "аргумент `asm' - не конÑÑ‚Ð°Ð½Ñ‚Ð½Ð°Ñ Ñтрока"
+
+-#: fortran/resolve.c:1871
++#: fortran/resolve.c:1979
+ #, fuzzy, no-c-format
+ msgid "More actual than formal arguments in '%s' call at %L"
+ msgstr "передано %qT Ð´Ð»Ñ %s %P в %qD"
+
+-#: fortran/resolve.c:1883
++#: fortran/resolve.c:1991
+ #, no-c-format
+ msgid "Parameter '%s' to '%s' at %L must be either a TARGET or an associated pointer"
+ msgstr ""
+
+-#: fortran/resolve.c:1909
++#: fortran/resolve.c:2017
+ #, no-c-format
+ msgid "Allocatable variable '%s' used as a parameter to '%s' at %L must not be an array of zero size"
+ msgstr ""
+
+-#: fortran/resolve.c:1926
++#: fortran/resolve.c:2034
+ #, no-c-format
+ msgid "Assumed-shape array '%s' at %L cannot be an argument to the procedure '%s' because it is not C interoperable"
+ msgstr ""
+
+-#: fortran/resolve.c:1936
++#: fortran/resolve.c:2044
+ #, no-c-format
+ msgid "Deferred-shape array '%s' at %L cannot be an argument to the procedure '%s' because it is not C interoperable"
+ msgstr ""
+
+-#: fortran/resolve.c:1959 fortran/resolve.c:1998
++#: fortran/resolve.c:2067 fortran/resolve.c:2106
+ #, fuzzy, no-c-format
+ msgid "CHARACTER argument '%s' to '%s' at %L must have a length of 1"
+ msgstr "ПуÑтой аргумент в %0 в вызове функции-оператора в %1"
+
+ #. Case 1c, section 15.1.2.5, J3/04-007: an associated
+ #. scalar pointer.
+-#: fortran/resolve.c:1974
++#: fortran/resolve.c:2082
+ #, fuzzy, no-c-format
+ msgid "Argument '%s' to '%s' at %L must be an associated scalar POINTER"
+ msgstr "ПуÑтой аргумент в %0 в вызове функции-оператора в %1"
+
+-#: fortran/resolve.c:1990
++#: fortran/resolve.c:2098
+ #, fuzzy, no-c-format
+ msgid "Parameter '%s' to '%s' at %L must be a scalar"
+ msgstr "ПуÑтой аргумент в %0 в вызове функции-оператора в %1"
+
+ #. TODO: Update this error message to allow for procedure
+ #. pointers once they are implemented.
+-#: fortran/resolve.c:2012
++#: fortran/resolve.c:2120
+ #, no-c-format
+ msgid "Parameter '%s' to '%s' at %L must be a procedure"
+ msgstr ""
+
+-#: fortran/resolve.c:2020
++#: fortran/resolve.c:2128
+ #, no-c-format
+ msgid "Parameter '%s' to '%s' at %L must be BIND(C)"
+ msgstr ""
+
+-#: fortran/resolve.c:2062
++#: fortran/resolve.c:2170
+ #, fuzzy, no-c-format
+ msgid "'%s' at %L is not a function"
+ msgstr "%q+D не ÑвлÑетÑÑ Ñ„ÑƒÐ½ÐºÑ†Ð¸ÐµÐ¹,"
+
+-#: fortran/resolve.c:2068
++#: fortran/resolve.c:2176
+ #, no-c-format
+ msgid "ABSTRACT INTERFACE '%s' must not be referenced at %L"
+ msgstr ""
+
+ #. Internal procedures are taken care of in resolve_contained_fntype.
+-#: fortran/resolve.c:2111
++#: fortran/resolve.c:2219
+ #, no-c-format
+ msgid "Function '%s' is declared CHARACTER(*) and cannot be used at %L since it is not a dummy argument"
+ msgstr ""
+
+-#: fortran/resolve.c:2164
++#: fortran/resolve.c:2272
+ #, no-c-format
+ msgid "User defined non-ELEMENTAL function '%s' at %L not allowed in WORKSHARE construct"
+ msgstr ""
+
+-#: fortran/resolve.c:2213
++#: fortran/resolve.c:2321
+ #, no-c-format
+ msgid "reference to non-PURE function '%s' at %L inside a FORALL %s"
+ msgstr ""
+
+-#: fortran/resolve.c:2220
++#: fortran/resolve.c:2328
+ #, no-c-format
+ msgid "Function reference to '%s' at %L is to a non-PURE procedure within a PURE procedure"
+ msgstr ""
+
+-#: fortran/resolve.c:2235
++#: fortran/resolve.c:2343
+ #, fuzzy, no-c-format
+ msgid "Function '%s' at %L cannot call itself, as it is not RECURSIVE"
+ msgstr "%Jфинальное поле '%D', возможно, не было инициализировано"
+
+-#: fortran/resolve.c:2243
++#: fortran/resolve.c:2351
+ #, no-c-format
+ msgid "Call to ENTRY '%s' at %L is recursive, but function '%s' is not declared as RECURSIVE"
+ msgstr ""
+
+-#: fortran/resolve.c:2285
++#: fortran/resolve.c:2393
+ #, no-c-format
+ msgid "Subroutine call to '%s' in FORALL block at %L is not PURE"
+ msgstr ""
+
+-#: fortran/resolve.c:2288
++#: fortran/resolve.c:2396
+ #, no-c-format
+ msgid "Subroutine call to '%s' at %L is not PURE"
+ msgstr ""
+
+-#: fortran/resolve.c:2351
++#: fortran/resolve.c:2459
+ #, no-c-format
+ msgid "There is no specific subroutine for the generic '%s' at %L"
+ msgstr ""
+
+-#: fortran/resolve.c:2360
++#: fortran/resolve.c:2468
+ #, no-c-format
+ msgid "Generic subroutine '%s' at %L is not consistent with an intrinsic subroutine interface"
+ msgstr ""
+
+-#: fortran/resolve.c:2468
++#: fortran/resolve.c:2576
+ #, fuzzy, no-c-format
+ msgid "Missing SHAPE parameter for call to %s at %L"
+ msgstr "отÑутÑтвует аргумент ключа %qs"
+
+-#: fortran/resolve.c:2476
++#: fortran/resolve.c:2584
+ #, no-c-format
+ msgid "SHAPE parameter for call to %s at %L must be a rank 1 INTEGER array"
+ msgstr ""
+
+-#: fortran/resolve.c:2543
++#: fortran/resolve.c:2667
+ #, no-c-format
+ msgid "Subroutine '%s' at %L is INTRINSIC but is not compatible with an intrinsic"
+ msgstr ""
+
+-#: fortran/resolve.c:2587
++#: fortran/resolve.c:2711
+ #, no-c-format
+ msgid "Unable to resolve the specific subroutine '%s' at %L"
+ msgstr ""
+
+-#: fortran/resolve.c:2644
++#: fortran/resolve.c:2768
+ #, no-c-format
+ msgid "'%s' at %L has a type, which is not consistent with the CALL at %L"
+ msgstr ""
+
+-#: fortran/resolve.c:2663
++#: fortran/resolve.c:2787
+ #, no-c-format
+ msgid "SUBROUTINE '%s' at %L cannot call itself, as it is not RECURSIVE"
+ msgstr ""
+
+-#: fortran/resolve.c:2671
++#: fortran/resolve.c:2795
+ #, no-c-format
+ msgid "Call to ENTRY '%s' at %L is recursive, but subroutine '%s' is not declared as RECURSIVE"
+ msgstr ""
+
+-#: fortran/resolve.c:2741
++#: fortran/resolve.c:2865
+ #, fuzzy, no-c-format
+ msgid "Shapes for operands at %L and %L are not conformable"
+ msgstr "shared и mdll неÑовмеÑтимы"
+
+-#: fortran/resolve.c:2792
++#: fortran/resolve.c:2916
+ #, c-format
+ msgid "Invalid context for NULL() pointer at %%L"
+ msgstr ""
+
+-#: fortran/resolve.c:2808
++#: fortran/resolve.c:2932
+ #, c-format
+ msgid "Operand of unary numeric operator '%s' at %%L is %s"
+ msgstr ""
+
+-#: fortran/resolve.c:2824
++#: fortran/resolve.c:2948
+ #, c-format
+ msgid "Operands of binary numeric operator '%s' at %%L are %s/%s"
+ msgstr ""
+
+-#: fortran/resolve.c:2838
++#: fortran/resolve.c:2962
+ #, c-format
+ msgid "Operands of string concatenation operator at %%L are %s/%s"
+ msgstr ""
+
+-#: fortran/resolve.c:2857
++#: fortran/resolve.c:2981
+ #, c-format
+ msgid "Operands of logical operator '%s' at %%L are %s/%s"
+ msgstr ""
+
+-#: fortran/resolve.c:2871
++#: fortran/resolve.c:2995
+ #, fuzzy, c-format
+ msgid "Operand of .not. operator at %%L is %s"
+ msgstr "некорректные ограничители операндов в операторе `asm'"
+
+-#: fortran/resolve.c:2885
++#: fortran/resolve.c:3009
+ #, fuzzy
+ msgid "COMPLEX quantities cannot be compared at %L"
+ msgstr "квалификаторы `%V' не могут быть применены к %qT"
+
+-#: fortran/resolve.c:2913
++#: fortran/resolve.c:3037
+ #, c-format
+ msgid "Logicals at %%L must be compared with %s instead of %s"
+ msgstr ""
+
+-#: fortran/resolve.c:2919
++#: fortran/resolve.c:3043
+ #, c-format
+ msgid "Operands of comparison operator '%s' at %%L are %s/%s"
+ msgstr ""
+
+-#: fortran/resolve.c:2927
++#: fortran/resolve.c:3051
+ #, fuzzy, c-format
+ msgid "Unknown operator '%s' at %%L"
+ msgstr "некорректный оператор '%s' в %%:version-compare"
+
+-#: fortran/resolve.c:2929
++#: fortran/resolve.c:3053
+ #, c-format
+ msgid "Operand of user operator '%s' at %%L is %s"
+ msgstr ""
+
+-#: fortran/resolve.c:2932
++#: fortran/resolve.c:3056
+ #, c-format
+ msgid "Operands of user operator '%s' at %%L are %s/%s"
+ msgstr ""
+
+-#: fortran/resolve.c:3018
++#: fortran/resolve.c:3142
+ #, fuzzy, c-format
+ msgid "Inconsistent ranks for operator at %%L and %%L"
+ msgstr "некорректные ограничители операндов в операторе `asm'"
+
+-#: fortran/resolve.c:3212
++#: fortran/resolve.c:3339
+ #, fuzzy, no-c-format
+ msgid "Array reference at %L is out of bounds (%ld < %ld) in dimension %d"
+ msgstr "Элемент маÑÑива в %0 вне диапазона, заданного в определении"
+
+-#: fortran/resolve.c:3220
++#: fortran/resolve.c:3347
+ #, fuzzy, no-c-format
+ msgid "Array reference at %L is out of bounds (%ld > %ld) in dimension %d"
+ msgstr "Элемент маÑÑива в %0 вне диапазона, заданного в определении"
+
+-#: fortran/resolve.c:3239
++#: fortran/resolve.c:3366
+ #, no-c-format
+ msgid "Illegal stride of zero at %L"
+ msgstr ""
+
+-#: fortran/resolve.c:3256
++#: fortran/resolve.c:3383
+ #, fuzzy, no-c-format
+ msgid "Lower array reference at %L is out of bounds (%ld < %ld) in dimension %d"
+ msgstr "Элемент маÑÑива в %0 вне диапазона, заданного в определении"
+
+-#: fortran/resolve.c:3264
++#: fortran/resolve.c:3391
+ #, fuzzy, no-c-format
+ msgid "Lower array reference at %L is out of bounds (%ld > %ld) in dimension %d"
+ msgstr "Элемент маÑÑива в %0 вне диапазона, заданного в определении"
+
+-#: fortran/resolve.c:3280
++#: fortran/resolve.c:3407
+ #, fuzzy, no-c-format
+ msgid "Upper array reference at %L is out of bounds (%ld < %ld) in dimension %d"
+ msgstr "Элемент маÑÑива в %0 вне диапазона, заданного в определении"
+
+-#: fortran/resolve.c:3289
++#: fortran/resolve.c:3416
+ #, fuzzy, no-c-format
+ msgid "Upper array reference at %L is out of bounds (%ld > %ld) in dimension %d"
+ msgstr "Элемент маÑÑива в %0 вне диапазона, заданного в определении"
+
+-#: fortran/resolve.c:3328
++#: fortran/resolve.c:3455
+ #, no-c-format
+ msgid "Rightmost upper bound of assumed size array section not specified at %L"
+ msgstr ""
+
+-#: fortran/resolve.c:3338
++#: fortran/resolve.c:3465
+ #, no-c-format
+ msgid "Rank mismatch in array reference at %L (%d/%d)"
+ msgstr ""
+
+-#: fortran/resolve.c:3366
++#: fortran/resolve.c:3493
+ #, no-c-format
+ msgid "Array index at %L must be scalar"
+ msgstr ""
+
+-#: fortran/resolve.c:3372
++#: fortran/resolve.c:3499
+ #, no-c-format
+ msgid "Array index at %L must be of INTEGER type"
+ msgstr ""
+
+-#: fortran/resolve.c:3378
++#: fortran/resolve.c:3505
+ #, no-c-format
+ msgid "Extension: REAL array index at %L"
+ msgstr ""
+
+-#: fortran/resolve.c:3408
++#: fortran/resolve.c:3535
+ #, no-c-format
+ msgid "Argument dim at %L must be scalar"
+ msgstr ""
+
+-#: fortran/resolve.c:3414
++#: fortran/resolve.c:3542
+ #, no-c-format
+ msgid "Argument dim at %L must be of INTEGER type"
+ msgstr ""
+
+-#: fortran/resolve.c:3534
++#: fortran/resolve.c:3663
+ #, fuzzy, no-c-format
+ msgid "Array index at %L is an array of rank %d"
+ msgstr "МаÑÑив `%A' в %0 Ñлишком велик"
+
+-#: fortran/resolve.c:3571
++#: fortran/resolve.c:3700
+ #, no-c-format
+ msgid "Substring start index at %L must be of type INTEGER"
+ msgstr ""
+
+-#: fortran/resolve.c:3578
++#: fortran/resolve.c:3707
+ #, no-c-format
+ msgid "Substring start index at %L must be scalar"
+ msgstr ""
+
+-#: fortran/resolve.c:3587
++#: fortran/resolve.c:3716
+ #, no-c-format
+ msgid "Substring start index at %L is less than one"
+ msgstr ""
+
+-#: fortran/resolve.c:3600
++#: fortran/resolve.c:3729
+ #, no-c-format
+ msgid "Substring end index at %L must be of type INTEGER"
+ msgstr ""
+
+-#: fortran/resolve.c:3607
++#: fortran/resolve.c:3736
+ #, fuzzy, no-c-format
+ msgid "Substring end index at %L must be scalar"
+ msgstr "Ðачало или конец подÑтроки в %0 вне диапазона, заданного в определении"
+
+-#: fortran/resolve.c:3617
++#: fortran/resolve.c:3746
+ #, fuzzy, no-c-format
+ msgid "Substring end index at %L exceeds the string length"
+ msgstr "Ðачало или конец подÑтроки в %0 вне диапазона, заданного в определении"
+
+-#: fortran/resolve.c:3755
++#: fortran/resolve.c:3884
+ #, no-c-format
+ msgid "Component to the right of a part reference with nonzero rank must not have the POINTER attribute at %L"
+ msgstr ""
+
+-#: fortran/resolve.c:3762
++#: fortran/resolve.c:3891
+ #, no-c-format
+ msgid "Component to the right of a part reference with nonzero rank must not have the ALLOCATABLE attribute at %L"
+ msgstr ""
+
+-#: fortran/resolve.c:3781
++#: fortran/resolve.c:3910
+ #, no-c-format
+ msgid "Two or more part references with nonzero rank must not be specified at %L"
+ msgstr ""
+
+-#: fortran/resolve.c:3956
++#: fortran/resolve.c:4085
+ #, no-c-format
+ msgid "Variable '%s', used in a specification expression, is referenced at %L before the ENTRY statement in which it is a parameter"
+ msgstr ""
+
+-#: fortran/resolve.c:3961
++#: fortran/resolve.c:4090
+ #, no-c-format
+ msgid "Variable '%s' is used at %L before the ENTRY statement in which it is a parameter"
+ msgstr ""
+
+-#: fortran/resolve.c:4238
++#: fortran/resolve.c:4367
+ #, no-c-format
+ msgid "%s at %L must be a scalar"
+ msgstr ""
+
+-#: fortran/resolve.c:4248
++#: fortran/resolve.c:4377
+ #, fuzzy, no-c-format
+ msgid "Deleted feature: %s at %L must be integer"
+ msgstr "предикат должен быть идентификатором"
+
+-#: fortran/resolve.c:4252 fortran/resolve.c:4259
++#: fortran/resolve.c:4381 fortran/resolve.c:4388
+ #, no-c-format
+ msgid "%s at %L must be INTEGER"
+ msgstr ""
+
+-#: fortran/resolve.c:4279
++#: fortran/resolve.c:4408
+ #, no-c-format
+ msgid "Cannot assign to loop variable in PURE procedure at %L"
+ msgstr ""
+
+-#: fortran/resolve.c:4303
++#: fortran/resolve.c:4432
+ #, no-c-format
+ msgid "Step expression in DO loop at %L cannot be zero"
+ msgstr ""
+
+-#: fortran/resolve.c:4378
++#: fortran/resolve.c:4508
+ #, no-c-format
+ msgid "FORALL index-name at %L must be a scalar INTEGER"
+ msgstr ""
+
+-#: fortran/resolve.c:4383
++#: fortran/resolve.c:4513
+ #, no-c-format
+ msgid "FORALL start expression at %L must be a scalar INTEGER"
+ msgstr ""
+
+-#: fortran/resolve.c:4390
++#: fortran/resolve.c:4520
+ #, no-c-format
+ msgid "FORALL end expression at %L must be a scalar INTEGER"
+ msgstr ""
+
+-#: fortran/resolve.c:4398
++#: fortran/resolve.c:4528
+ #, no-c-format
+ msgid "FORALL stride expression at %L must be a scalar %s"
+ msgstr ""
+
+-#: fortran/resolve.c:4403
++#: fortran/resolve.c:4533
+ #, no-c-format
+ msgid "FORALL stride expression at %L cannot be zero"
+ msgstr ""
+
+-#: fortran/resolve.c:4419
++#: fortran/resolve.c:4549
+ #, fuzzy, no-c-format
+ msgid "FORALL index '%s' may not appear in triplet specification at %L"
+ msgstr "%s не может приÑутÑтвовать в конÑтантном выражении"
+
+-#: fortran/resolve.c:4499
++#: fortran/resolve.c:4629
+ #, no-c-format
+ msgid "Expression in DEALLOCATE statement at %L must be ALLOCATABLE or a POINTER"
+ msgstr ""
+
+-#: fortran/resolve.c:4506
++#: fortran/resolve.c:4636
+ #, no-c-format
+ msgid "Cannot deallocate INTENT(IN) variable '%s' at %L"
+ msgstr ""
+
+-#: fortran/resolve.c:4675
++#: fortran/resolve.c:4740
+ #, no-c-format
+ msgid "The STAT variable '%s' in an ALLOCATE statement must not be allocated in the same statement at %L"
+ msgstr ""
+
+-#: fortran/resolve.c:4711
++#: fortran/resolve.c:4776
+ #, no-c-format
+ msgid "Expression in ALLOCATE statement at %L must be ALLOCATABLE or a POINTER"
+ msgstr ""
+
+-#: fortran/resolve.c:4719
++#: fortran/resolve.c:4784
+ #, no-c-format
+ msgid "Cannot allocate INTENT(IN) variable '%s' at %L"
+ msgstr ""
+
+-#: fortran/resolve.c:4743
++#: fortran/resolve.c:4808
+ #, fuzzy, no-c-format
+ msgid "Array specification required in ALLOCATE statement at %L"
+ msgstr "Выход за границы в подÑтроке или обращении к маÑÑиву Ð´Ð»Ñ `%A' в операторе в %0"
+
+-#: fortran/resolve.c:4773
++#: fortran/resolve.c:4838
+ #, fuzzy, no-c-format
+ msgid "Bad array specification in ALLOCATE statement at %L"
+ msgstr "Ðет Ð¾Ð¿Ñ€ÐµÐ´ÐµÐ»ÐµÐ½Ð¸Ñ Ð¼ÐµÑ‚ÐºÐ¸ Ð´Ð»Ñ Ð¾Ð¿ÐµÑ€Ð°Ñ‚Ð¾Ñ€Ð° FORMAT в %0"
+
+-#: fortran/resolve.c:4791
++#: fortran/resolve.c:4856
+ #, no-c-format
+ msgid "'%s' must not appear an the array specification at %L in the same ALLOCATE statement where it is itself allocated"
+ msgstr ""
+
++#: fortran/resolve.c:4880
++#, no-c-format
++msgid "STAT variable '%s' of %s statement at %C cannot be INTENT(IN)"
++msgstr ""
++
++#: fortran/resolve.c:4884
++#, fuzzy, no-c-format
++msgid "Illegal STAT variable in %s statement at %C for a PURE procedure"
++msgstr "оператор RETURN в %0 недопуÑтим внутри главной программы"
++
++#: fortran/resolve.c:4922
++#, fuzzy, no-c-format
++msgid "STAT tag in %s statement at %L must be a variable"
++msgstr "ПуÑтой аргумент в %0 в вызове функции-оператора в %1"
++
++#: fortran/resolve.c:4928
++#, fuzzy, no-c-format
++msgid "STAT tag in %s statement at %L must be of type INTEGER"
++msgstr "оператор-выражение имеет неполный тип"
++
+ #. The cases overlap, or they are the same
+ #. 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.c:4949
++#: fortran/resolve.c:5091
+ #, no-c-format
+ msgid "CASE label at %L overlaps with CASE label at %L"
+ msgstr ""
+
+-#: fortran/resolve.c:5000
++#: fortran/resolve.c:5142
+ #, fuzzy, no-c-format
+ msgid "Expression in CASE statement at %L must be of type %s"
+ msgstr "оператор-выражение имеет неполный тип"
+
+-#: fortran/resolve.c:5011
++#: fortran/resolve.c:5153
+ #, no-c-format
+ msgid "Expression in CASE statement at %L must be kind %d"
+ msgstr ""
+
+-#: fortran/resolve.c:5023
++#: fortran/resolve.c:5165
+ #, no-c-format
+ msgid "Expression in CASE statement at %L must be scalar"
+ msgstr ""
+
+-#: fortran/resolve.c:5069
++#: fortran/resolve.c:5211
+ #, no-c-format
+ msgid "Selection expression in computed GOTO statement at %L must be a scalar integer expression"
+ msgstr ""
+
+-#: fortran/resolve.c:5087
++#: fortran/resolve.c:5229
+ #, no-c-format
+ msgid "Argument of SELECT statement at %L cannot be %s"
+ msgstr ""
+
+-#: fortran/resolve.c:5096
++#: fortran/resolve.c:5238
+ #, no-c-format
+ msgid "Argument of SELECT statement at %L must be a scalar expression"
+ msgstr ""
+
+-#: fortran/resolve.c:5161
++#: fortran/resolve.c:5303
+ #, no-c-format
+ msgid "The DEFAULT CASE at %L cannot be followed by a second DEFAULT CASE at %L"
+ msgstr ""
+
+-#: fortran/resolve.c:5187
++#: fortran/resolve.c:5329
+ #, no-c-format
+ msgid "Logical range in CASE statement at %L is not allowed"
+ msgstr ""
+
+-#: fortran/resolve.c:5199
++#: fortran/resolve.c:5341
+ #, no-c-format
+ msgid "constant logical value in CASE statement is repeated at %L"
+ msgstr ""
+
+-#: fortran/resolve.c:5213
++#: fortran/resolve.c:5355
+ #, no-c-format
+ msgid "Range specification at %L can never be matched"
+ msgstr ""
+
+-#: fortran/resolve.c:5316
++#: fortran/resolve.c:5458
+ #, no-c-format
+ msgid "Logical SELECT CASE block at %L has more that two cases"
+ msgstr ""
+
+-#: fortran/resolve.c:5354
++#: fortran/resolve.c:5496
+ #, no-c-format
+ msgid "Data transfer element at %L cannot have POINTER components"
+ msgstr ""
+
+-#: fortran/resolve.c:5361
++#: fortran/resolve.c:5503
+ #, no-c-format
+ msgid "Data transfer element at %L cannot have ALLOCATABLE components"
+ msgstr ""
+
+-#: fortran/resolve.c:5368
++#: fortran/resolve.c:5510
+ #, no-c-format
+ msgid "Data transfer element at %L cannot have PRIVATE components"
+ msgstr ""
+
+-#: fortran/resolve.c:5377
++#: fortran/resolve.c:5519
+ #, no-c-format
+ msgid "Data transfer element at %L cannot be a full reference to an assumed-size array"
+ msgstr ""
+
+-#: fortran/resolve.c:5441
++#: fortran/resolve.c:5583
+ #, fuzzy, no-c-format
+ msgid "Statement at %L is not a valid branch target statement for the branch statement at %L"
+ msgstr "Оператор в %0 некорректен в контекÑте, уÑтановленном оператором в %1"
+
+-#: fortran/resolve.c:5450
++#: fortran/resolve.c:5592
+ #, no-c-format
+ msgid "Branch at %L causes an infinite loop"
+ msgstr ""
+@@ -9554,647 +9603,657 @@
+ #. 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.c:5463
++#: fortran/resolve.c:5605
+ #, fuzzy, no-c-format
+ msgid "Label at %L is not in the same block as the GOTO statement at %L"
+ msgstr "Оператор в %0 некорректен в контекÑте, уÑтановленном оператором в %1"
+
+-#: fortran/resolve.c:5478 fortran/resolve.c:5492
++#: fortran/resolve.c:5620 fortran/resolve.c:5634
+ #, no-c-format
+ msgid "Deleted feature: GOTO at %L jumps to END of construct at %L"
+ msgstr ""
+
+-#: fortran/resolve.c:5569
++#: fortran/resolve.c:5711
+ #, no-c-format
+ msgid "WHERE mask at %L has inconsistent shape"
+ msgstr ""
+
+-#: fortran/resolve.c:5585
++#: fortran/resolve.c:5727
+ #, no-c-format
+ msgid "WHERE assignment target at %L has inconsistent shape"
+ msgstr ""
+
+-#: fortran/resolve.c:5600 fortran/resolve.c:5682
++#: fortran/resolve.c:5735 fortran/resolve.c:5820
++#, no-c-format
++msgid "Non-ELEMENTAL user-defined assignment in WHERE at %L"
++msgstr ""
++
++#: fortran/resolve.c:5745 fortran/resolve.c:5830
+ #, fuzzy, no-c-format
+ msgid "Unsupported statement inside WHERE at %L"
+ msgstr "Ðеподдерживаемый VXT-оператор в %0"
+
+-#: fortran/resolve.c:5631
++#: fortran/resolve.c:5776
+ #, fuzzy, no-c-format
+ msgid "Assignment to a FORALL index variable at %L"
+ msgstr "%s по отношению к переменной %qs, доÑтупной только на чтение"
+
+-#: fortran/resolve.c:5639
++#: fortran/resolve.c:5784
+ #, no-c-format
+ msgid "The FORALL with index '%s' cause more than one assignment to this object at %L"
+ msgstr ""
+
+-#: fortran/resolve.c:5774
++#: fortran/resolve.c:5922
+ #, no-c-format
+ msgid "An outer FORALL construct already has an index with this name %L"
+ msgstr ""
+
+-#: fortran/resolve.c:5830
++#: fortran/resolve.c:5978
+ #, no-c-format
+ msgid "WHERE/ELSEWHERE clause at %L requires a LOGICAL array"
+ msgstr ""
+
+-#: fortran/resolve.c:5890
++#: fortran/resolve.c:6037
+ #, no-c-format
+ msgid "Subroutine '%s' called instead of assignment at %L must be PURE"
+ msgstr ""
+
+-#: fortran/resolve.c:5927
++#: fortran/resolve.c:6110
+ #, no-c-format
+ msgid "CHARACTER expression will be truncated in assignment (%d/%d) at %L"
+ msgstr ""
+
+-#: fortran/resolve.c:5950
++#: fortran/resolve.c:6135
+ #, no-c-format
+ msgid "Cannot assign to variable '%s' in PURE procedure at %L"
+ msgstr ""
+
+-#: fortran/resolve.c:5962
++#: fortran/resolve.c:6147
+ #, no-c-format
+ msgid "The impure variable at %L is assigned to a derived type variable with a POINTER component in a PURE procedure (12.6)"
+ msgstr ""
+
+-#: fortran/resolve.c:6066
++#: fortran/resolve.c:6250
+ #, no-c-format
+ msgid "ASSIGNED GOTO statement at %L requires an INTEGER variable"
+ msgstr ""
+
+-#: fortran/resolve.c:6069
++#: fortran/resolve.c:6253
+ #, no-c-format
+ msgid "Variable '%s' has not been assigned a target label at %L"
+ msgstr ""
+
+-#: fortran/resolve.c:6080
++#: fortran/resolve.c:6264
+ #, no-c-format
+ msgid "Alternate RETURN statement at %L requires a SCALAR-INTEGER return specifier"
+ msgstr ""
+
+-#: fortran/resolve.c:6106
++#: fortran/resolve.c:6290
+ #, no-c-format
+ msgid "ASSIGN statement at %L requires a scalar default INTEGER variable"
+ msgstr ""
+
+-#: fortran/resolve.c:6121
++#: fortran/resolve.c:6305
+ #, no-c-format
+ msgid "Arithmetic IF statement at %L requires a numeric expression"
+ msgstr ""
+
+-#: fortran/resolve.c:6163
++#: fortran/resolve.c:6347
+ #, no-c-format
+ msgid "Exit condition of DO WHILE loop at %L must be a scalar LOGICAL expression"
+ msgstr ""
+
+-#: fortran/resolve.c:6170
++#: fortran/resolve.c:6420
+ #, no-c-format
+-msgid "STAT tag in ALLOCATE statement at %L must be of type INTEGER"
+-msgstr ""
+-
+-#: fortran/resolve.c:6182
+-#, no-c-format
+-msgid "STAT tag in DEALLOCATE statement at %L must be of type INTEGER"
+-msgstr ""
+-
+-#: fortran/resolve.c:6247
+-#, no-c-format
+ msgid "FORALL mask clause at %L requires a LOGICAL expression"
+ msgstr ""
+
+-#: fortran/resolve.c:6317 fortran/resolve.c:6373
++#: fortran/resolve.c:6490 fortran/resolve.c:6546
+ #, no-c-format
+ msgid "Binding label '%s' for common block '%s' at %L collides with the global entity '%s' at %L"
+ msgstr ""
+
+ #. Common block names match but binding labels do not.
+-#: fortran/resolve.c:6338
++#: fortran/resolve.c:6511
+ #, no-c-format
+ msgid "Binding label '%s' for common block '%s' at %L does not match the binding label '%s' for common block '%s' at %L"
+ msgstr ""
+
+-#: fortran/resolve.c:6385
++#: fortran/resolve.c:6558
+ #, no-c-format
+ msgid "Binding label '%s' for common block '%s' at %L collides with global entity '%s' at %L"
+ msgstr ""
+
+ #. Make sure global procedures don't collide with anything.
+-#: fortran/resolve.c:6437
++#: fortran/resolve.c:6610
+ #, no-c-format
+ msgid "Binding label '%s' at %L collides with the global entity '%s' at %L"
+ msgstr ""
+
+ #. Make sure procedures in interface bodies don't collide.
+-#: fortran/resolve.c:6450
++#: fortran/resolve.c:6623
+ #, no-c-format
+ msgid "Binding label '%s' in interface body at %L collides with the global entity '%s' at %L"
+ msgstr ""
+
+-#: fortran/resolve.c:6463
++#: fortran/resolve.c:6636
+ #, no-c-format
+ msgid "Binding label '%s' at %L collides with global entity '%s' at %L"
+ msgstr ""
+
+-#: fortran/resolve.c:6540
++#: fortran/resolve.c:6713
+ #, no-c-format
+ msgid "CHARACTER variable has zero length at %L"
+ msgstr ""
+
+-#: fortran/resolve.c:6828
++#: fortran/resolve.c:7001
+ #, no-c-format
+ msgid "Allocatable array '%s' at %L must have a deferred shape"
+ msgstr ""
+
+-#: fortran/resolve.c:6831
++#: fortran/resolve.c:7004
+ #, no-c-format
+ msgid "Scalar object '%s' at %L may not be ALLOCATABLE"
+ msgstr ""
+
+-#: fortran/resolve.c:6838
++#: fortran/resolve.c:7011
+ #, no-c-format
+ msgid "Array pointer '%s' at %L must have a deferred shape"
+ msgstr ""
+
+-#: fortran/resolve.c:6849
++#: fortran/resolve.c:7022
+ #, no-c-format
+ msgid "Array '%s' at %L cannot have a deferred shape"
+ msgstr ""
+
+-#: fortran/resolve.c:6878
++#: fortran/resolve.c:7051
+ #, no-c-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"
+ msgstr ""
+
+-#: fortran/resolve.c:6901
++#: fortran/resolve.c:7074
+ #, no-c-format
+ msgid "Object '%s' at %L must have the SAVE attribute for default initialization of a component"
+ msgstr ""
+
+ #. The shape of a main program or module array needs to be
+ #. constant.
+-#: fortran/resolve.c:6948
++#: fortran/resolve.c:7121
+ #, no-c-format
+ msgid "The module or main program array '%s' at %L must have constant shape"
+ msgstr ""
+
+-#: fortran/resolve.c:6961
++#: fortran/resolve.c:7134
+ #, no-c-format
+ msgid "Entity with assumed character length at %L must be a dummy argument or a PARAMETER"
+ msgstr ""
+
+-#: fortran/resolve.c:6980
++#: fortran/resolve.c:7153
+ #, no-c-format
+ msgid "'%s' at %L must have constant character length in this context"
+ msgstr ""
+
+-#: fortran/resolve.c:7012
++#: fortran/resolve.c:7185
+ #, fuzzy, no-c-format
+ msgid "Allocatable '%s' at %L cannot have an initializer"
+ msgstr "%Jфинальное поле %qD, возможно, не было инициализировано"
+
+-#: fortran/resolve.c:7015
++#: fortran/resolve.c:7188
+ #, fuzzy, no-c-format
+ msgid "External '%s' at %L cannot have an initializer"
+ msgstr "%Jфинальное поле %qD, возможно, не было инициализировано"
+
+-#: fortran/resolve.c:7019
++#: fortran/resolve.c:7192
+ #, fuzzy, no-c-format
+ msgid "Dummy '%s' at %L cannot have an initializer"
+ msgstr "%Jфинальное поле %qD, возможно, не было инициализировано"
+
+-#: fortran/resolve.c:7022
++#: fortran/resolve.c:7195
+ #, fuzzy, no-c-format
+ msgid "Intrinsic '%s' at %L cannot have an initializer"
+ msgstr "%Jфинальное поле '%D', возможно, не было инициализировано"
+
+-#: fortran/resolve.c:7025
++#: fortran/resolve.c:7198
+ #, fuzzy, no-c-format
+ msgid "Function result '%s' at %L cannot have an initializer"
+ msgstr "%Jфинальное поле '%D', возможно, не было инициализировано"
+
+-#: fortran/resolve.c:7028
++#: fortran/resolve.c:7201
+ #, fuzzy, no-c-format
+ msgid "Automatic array '%s' at %L cannot have an initializer"
+ msgstr "%Jфинальное поле %qD, возможно, не было инициализировано"
+
+-#: fortran/resolve.c:7051
++#: fortran/resolve.c:7224
+ #, no-c-format
+ msgid "Although not referenced, '%s' at %L has ambiguous interfaces"
+ msgstr ""
+
+-#: fortran/resolve.c:7070
++#: fortran/resolve.c:7243
+ #, no-c-format
+ msgid "Character-valued statement function '%s' at %L must have constant length"
+ msgstr ""
+
+-#: fortran/resolve.c:7078
++#: fortran/resolve.c:7251
+ #, fuzzy, no-c-format
+ msgid "Automatic character length function '%s' at %L must have an explicit interface"
+ msgstr "%Jфинальное поле %qD, возможно, не было инициализировано"
+
+-#: fortran/resolve.c:7103
++#: fortran/resolve.c:7276
+ #, no-c-format
+ msgid "Fortran 2003: '%s' is of a PRIVATE type and cannot be a dummy argument of '%s', which is PUBLIC at %L"
+ msgstr ""
+
+-#: fortran/resolve.c:7126 fortran/resolve.c:7151
++#: fortran/resolve.c:7299 fortran/resolve.c:7324
+ #, no-c-format
+ msgid "Fortran 2003: Procedure '%s' in PUBLIC interface '%s' at %L takes dummy arguments of '%s' which is PRIVATE"
+ msgstr ""
+
+-#: fortran/resolve.c:7168
++#: fortran/resolve.c:7341
+ #, fuzzy, no-c-format
+ msgid "Function '%s' at %L cannot have an initializer"
+ msgstr "%Jфинальное поле '%D', возможно, не было инициализировано"
+
+-#: fortran/resolve.c:7177
++#: fortran/resolve.c:7350
+ #, fuzzy, no-c-format
+ msgid "External object '%s' at %L may not have an initializer"
+ msgstr "%Jфинальное поле %qD, возможно, не было инициализировано"
+
+-#: fortran/resolve.c:7185
++#: fortran/resolve.c:7358
+ #, no-c-format
+ msgid "ELEMENTAL function '%s' at %L must have a scalar result"
+ msgstr ""
+
+-#: fortran/resolve.c:7206
++#: fortran/resolve.c:7379
+ #, no-c-format
+ msgid "CHARACTER(*) function '%s' at %L cannot be array-valued"
+ msgstr ""
+
+-#: fortran/resolve.c:7210
++#: fortran/resolve.c:7383
+ #, no-c-format
+ msgid "CHARACTER(*) function '%s' at %L cannot be pointer-valued"
+ msgstr ""
+
+-#: fortran/resolve.c:7214
++#: fortran/resolve.c:7387
+ #, no-c-format
+ msgid "CHARACTER(*) function '%s' at %L cannot be pure"
+ msgstr ""
+
+-#: fortran/resolve.c:7218
++#: fortran/resolve.c:7391
+ #, no-c-format
+ msgid "CHARACTER(*) function '%s' at %L cannot be recursive"
+ msgstr ""
+
+-#: fortran/resolve.c:7227
++#: fortran/resolve.c:7400
+ #, no-c-format
+ msgid "CHARACTER(*) function '%s' at %L is obsolescent in fortran 95"
+ msgstr ""
+
+-#: fortran/resolve.c:7299
++#: fortran/resolve.c:7472
+ #, no-c-format
+ msgid "Character length of component '%s' needs to be a constant specification expression at %L"
+ msgstr ""
+
+-#: fortran/resolve.c:7314
++#: fortran/resolve.c:7487
+ #, no-c-format
+ msgid "The component '%s' is a PRIVATE type and cannot be a component of '%s', which is PUBLIC at %L"
+ msgstr ""
+
+-#: fortran/resolve.c:7324
++#: fortran/resolve.c:7497
+ #, no-c-format
+ msgid "Component %s of SEQUENCE type declared at %L does not have the SEQUENCE attribute"
+ msgstr ""
+
+-#: fortran/resolve.c:7334
++#: fortran/resolve.c:7507
+ #, no-c-format
+ msgid "The pointer component '%s' of '%s' at %L is a type that has not been declared"
+ msgstr ""
+
+-#: fortran/resolve.c:7352
++#: fortran/resolve.c:7525
+ #, no-c-format
+ msgid "Component '%s' of '%s' at %L must have constant array bounds"
+ msgstr ""
+
+-#: fortran/resolve.c:7395
++#: fortran/resolve.c:7568
+ #, no-c-format
+ msgid "NAMELIST object '%s' was declared PRIVATE and cannot be member of PUBLIC namelist '%s' at %L"
+ msgstr ""
+
+-#: fortran/resolve.c:7405
++#: fortran/resolve.c:7578
+ #, no-c-format
+ msgid "NAMELIST object '%s' has use-associated PRIVATE components and cannot be member of namelist '%s' at %L"
+ msgstr ""
+
+-#: fortran/resolve.c:7418
++#: fortran/resolve.c:7591
+ #, no-c-format
+ msgid "NAMELIST object '%s' has PRIVATE components and cannot be a member of PUBLIC namelist '%s' at %L"
+ msgstr ""
+
+-#: fortran/resolve.c:7430
++#: fortran/resolve.c:7603
+ #, no-c-format
+ msgid "NAMELIST array object '%s' must not have assumed shape in namelist '%s' at %L"
+ msgstr ""
+
+-#: fortran/resolve.c:7439
++#: fortran/resolve.c:7612
+ #, no-c-format
+ msgid "NAMELIST array object '%s' must have constant shape in namelist '%s' at %L"
+ msgstr ""
+
+-#: fortran/resolve.c:7451
++#: fortran/resolve.c:7624
+ #, no-c-format
+ msgid "NAMELIST object '%s' in namelist '%s' at %L cannot have ALLOCATABLE components"
+ msgstr ""
+
+-#: fortran/resolve.c:7459
++#: fortran/resolve.c:7632
+ #, no-c-format
+ msgid "NAMELIST object '%s' in namelist '%s' at %L cannot have POINTER components"
+ msgstr ""
+
+-#: fortran/resolve.c:7485
++#: fortran/resolve.c:7658
+ #, no-c-format
+ msgid "PROCEDURE attribute conflicts with NAMELIST attribute in '%s' at %L"
+ msgstr ""
+
+-#: fortran/resolve.c:7504
++#: fortran/resolve.c:7677
+ #, no-c-format
+ msgid "Parameter array '%s' at %L cannot be automatic or of deferred shape"
+ msgstr ""
+
+-#: fortran/resolve.c:7515
++#: fortran/resolve.c:7688
+ #, no-c-format
+ msgid "Implicitly typed PARAMETER '%s' at %L doesn't match a later IMPLICIT type"
+ msgstr ""
+
+-#: fortran/resolve.c:7526
++#: fortran/resolve.c:7699
+ #, fuzzy, no-c-format
+ msgid "Incompatible derived type in PARAMETER at %L"
+ msgstr "неÑовмеÑтимые типы в операторе `%s'"
+
+-#: fortran/resolve.c:7597
++#: fortran/resolve.c:7758
++#, fuzzy, no-c-format
++msgid "Interface '%s', used by procedure '%s' at %L, is declared in a later PROCEDURE statement"
++msgstr "ВнешнÑÑ Ð¿Ñ€Ð¾Ñ†ÐµÐ´ÑƒÑ€Ð° `%A' передана как фактичеÑкий аргумент в %0, но не декларирована Ñвно как EXTERNAL"
++
++#: fortran/resolve.c:7772
+ #, no-c-format
+ msgid "Interface '%s' of procedure '%s' at %L must be explicit"
+ msgstr ""
+
+-#: fortran/resolve.c:7622
++#: fortran/resolve.c:7797
+ #, fuzzy, no-c-format
+ msgid "Type specified for intrinsic function '%s' at %L is ignored"
+ msgstr "Ðльтернативный Ñпецификатор возврата в %0 некорректен внутри функции"
+
+-#: fortran/resolve.c:7629
++#: fortran/resolve.c:7804
+ #, fuzzy, no-c-format
+ msgid "Intrinsic subroutine '%s' at %L shall not have a type specifier"
+ msgstr "%Jфинальное поле '%D', возможно, не было инициализировано"
+
+-#: fortran/resolve.c:7636
++#: fortran/resolve.c:7811
+ #, fuzzy, no-c-format
+ msgid "Intrinsic '%s' at %L does not exist"
+ msgstr "%s: определение функции %qs не преобразовано\n"
+
+-#: fortran/resolve.c:7676
++#: fortran/resolve.c:7851
+ #, no-c-format
+ msgid "Assumed size array at %L must be a dummy argument"
+ msgstr ""
+
+-#: fortran/resolve.c:7679
++#: fortran/resolve.c:7854
+ #, no-c-format
+ msgid "Assumed shape array at %L must be a dummy argument"
+ msgstr ""
+
+-#: fortran/resolve.c:7691
++#: fortran/resolve.c:7866
+ #, no-c-format
+ msgid "Symbol at %L is not a DUMMY variable"
+ msgstr ""
+
+-#: fortran/resolve.c:7697
++#: fortran/resolve.c:7872
+ #, no-c-format
+ msgid "'%s' at %L cannot have the VALUE attribute because it is not a dummy argument"
+ msgstr ""
+
+-#: fortran/resolve.c:7707
++#: fortran/resolve.c:7882
+ #, fuzzy, no-c-format
+ msgid "Character dummy variable '%s' at %L with VALUE attribute must have constant length"
+ msgstr "ПуÑтой аргумент в %0 в вызове функции-оператора в %1"
+
+-#: fortran/resolve.c:7716
++#: fortran/resolve.c:7891
+ #, no-c-format
+ msgid "C interoperable character dummy variable '%s' at %L with VALUE attribute must have length one"
+ msgstr ""
+
+-#: fortran/resolve.c:7742
++#: fortran/resolve.c:7917
+ #, no-c-format
+ msgid "Variable '%s' at %L cannot be BIND(C) because it is neither a COMMON block nor declared at the module level scope"
+ msgstr ""
+
+-#: fortran/resolve.c:7795
++#: fortran/resolve.c:7970
+ #, no-c-format
+ msgid "The derived type '%s' at %L is of type '%s', which has not been defined"
+ msgstr ""
+
+-#: fortran/resolve.c:7811
++#: fortran/resolve.c:7987
+ #, no-c-format
+ msgid "Fortran 2003: PUBLIC %s '%s' at %L of PRIVATE derived type '%s'"
+ msgstr ""
+
+-#: fortran/resolve.c:7830
++#: fortran/resolve.c:8006
+ #, no-c-format
+ msgid "The INTENT(OUT) dummy argument '%s' at %L is ASSUMED SIZE and so cannot have a default initializer"
+ msgstr ""
+
+-#: fortran/resolve.c:7889
++#: fortran/resolve.c:8065
+ #, no-c-format
+ msgid "Threadprivate at %L isn't SAVEd"
+ msgstr ""
+
+-#: fortran/resolve.c:7967
++#: fortran/resolve.c:8143
+ #, no-c-format
+ msgid "BLOCK DATA element '%s' at %L must be in COMMON"
+ msgstr ""
+
+-#: fortran/resolve.c:8011
++#: fortran/resolve.c:8149
+ #, no-c-format
++msgid "DATA array '%s' at %L must be specified in a previous declaration"
++msgstr ""
++
++#: fortran/resolve.c:8194
++#, no-c-format
+ msgid "Nonconstant array section at %L in DATA statement"
+ msgstr ""
+
+-#: fortran/resolve.c:8024
++#: fortran/resolve.c:8207
+ #, no-c-format
+ msgid "DATA statement at %L has more variables than values"
+ msgstr ""
+
+-#: fortran/resolve.c:8118
++#: fortran/resolve.c:8301
+ #, no-c-format
+ msgid "iterator start at %L does not simplify"
+ msgstr ""
+
+-#: fortran/resolve.c:8125
++#: fortran/resolve.c:8308
+ #, fuzzy, no-c-format
+ msgid "iterator end at %L does not simplify"
+ msgstr "%s: определение функции %qs не преобразовано\n"
+
+-#: fortran/resolve.c:8132
++#: fortran/resolve.c:8315
+ #, no-c-format
+ msgid "iterator step at %L does not simplify"
+ msgstr ""
+
+-#: fortran/resolve.c:8258
++#: fortran/resolve.c:8441
+ #, no-c-format
+ msgid "DATA statement at %L has more values than variables"
+ msgstr ""
+
+-#: fortran/resolve.c:8349
++#: fortran/resolve.c:8532
+ #, fuzzy, no-c-format
+ msgid "Label %d at %L defined but not used"
+ msgstr "метка %qD определена, но не иÑпользуетÑÑ"
+
+-#: fortran/resolve.c:8354
++#: fortran/resolve.c:8537
+ #, fuzzy, no-c-format
+ msgid "Label %d at %L defined but cannot be used"
+ msgstr "метка %qD определена, но не иÑпользуетÑÑ"
+
+-#: fortran/resolve.c:8439
++#: fortran/resolve.c:8622
+ #, no-c-format
+ msgid "Derived type variable '%s' at %L must have SEQUENCE attribute to be an EQUIVALENCE object"
+ msgstr ""
+
+-#: fortran/resolve.c:8448
++#: fortran/resolve.c:8631
+ #, no-c-format
+ msgid "Derived type variable '%s' at %L cannot have ALLOCATABLE components to be an EQUIVALENCE object"
+ msgstr ""
+
+-#: fortran/resolve.c:8465
++#: fortran/resolve.c:8639
+ #, no-c-format
++msgid "Derived type variable '%s' at %L with default initialization cannot be in EQUIVALENCE with a variable in COMMON"
++msgstr ""
++
++#: fortran/resolve.c:8656
++#, no-c-format
+ msgid "Derived type variable '%s' at %L with pointer component(s) cannot be an EQUIVALENCE object"
+ msgstr ""
+
+-#: fortran/resolve.c:8570
++#: fortran/resolve.c:8761
+ #, no-c-format
+ msgid "Syntax error in EQUIVALENCE statement at %L"
+ msgstr ""
+
+-#: fortran/resolve.c:8585
++#: fortran/resolve.c:8776
+ #, no-c-format
+ msgid "Either all or none of the objects in the EQUIVALENCE set at %L shall have the PROTECTED attribute"
+ msgstr ""
+
+-#: fortran/resolve.c:8597
++#: fortran/resolve.c:8788
+ #, no-c-format
+ msgid "Common block member '%s' at %L cannot be an EQUIVALENCE object in the pure procedure '%s'"
+ msgstr ""
+
+-#: fortran/resolve.c:8606
++#: fortran/resolve.c:8797
+ #, no-c-format
+ msgid "Named constant '%s' at %L cannot be an EQUIVALENCE object"
+ msgstr ""
+
+-#: fortran/resolve.c:8685
++#: fortran/resolve.c:8876
+ #, no-c-format
+ msgid "Array '%s' at %L with non-constant bounds cannot be an EQUIVALENCE object"
+ msgstr ""
+
+-#: fortran/resolve.c:8696
++#: fortran/resolve.c:8887
+ #, no-c-format
+ msgid "Structure component '%s' at %L cannot be an EQUIVALENCE object"
+ msgstr ""
+
+-#: fortran/resolve.c:8707
++#: fortran/resolve.c:8898
+ #, no-c-format
+ msgid "Substring at %L has length zero"
+ msgstr ""
+
+-#: fortran/resolve.c:8750
++#: fortran/resolve.c:8941
+ #, no-c-format
+ msgid "PUBLIC function '%s' at %L cannot be of PRIVATE type '%s'"
+ msgstr ""
+
+-#: fortran/resolve.c:8762
++#: fortran/resolve.c:8953
+ #, no-c-format
+ msgid "ENTRY '%s' at %L has no IMPLICIT type"
+ msgstr ""
+
+-#: fortran/resolve.c:8788
++#: fortran/resolve.c:8979
+ #, no-c-format
+ msgid "User operator procedure '%s' at %L must be a FUNCTION"
+ msgstr ""
+
+-#: fortran/resolve.c:8795
++#: fortran/resolve.c:8986
+ #, no-c-format
+ msgid "User operator procedure '%s' at %L cannot be assumed character length"
+ msgstr ""
+
+-#: fortran/resolve.c:8801
++#: fortran/resolve.c:8992
+ #, no-c-format
+ msgid "User operator procedure '%s' at %L must have at least one argument"
+ msgstr ""
+
+-#: fortran/resolve.c:8811
++#: fortran/resolve.c:9002
+ #, no-c-format
+ msgid "First argument of operator interface at %L cannot be optional"
+ msgstr ""
+
+-#: fortran/resolve.c:8823
++#: fortran/resolve.c:9014
+ #, no-c-format
+ msgid "Second argument of operator interface at %L cannot be optional"
+ msgstr ""
+
+-#: fortran/resolve.c:8827
++#: fortran/resolve.c:9018
+ #, no-c-format
+ msgid "Operator interface at %L must have, at most, two arguments"
+ msgstr ""
+
+-#: fortran/resolve.c:8867
++#: fortran/resolve.c:9059
+ #, no-c-format
+ msgid "Contained procedure '%s' at %L of a PURE procedure must also be PURE"
+ msgstr ""
+
+-#: fortran/scanner.c:526
++#: fortran/scanner.c:530
+ #, no-c-format
+ msgid "!$OMP at %C starts a commented line as it neither is followed by a space nor is a continuation line"
+ msgstr ""
+
+-#: fortran/scanner.c:816 fortran/scanner.c:937
++#: fortran/scanner.c:820 fortran/scanner.c:941
+ #, fuzzy, no-c-format
+ msgid "Limit of %d continuations exceeded in statement at %C"
+ msgstr "Ð˜Ð½Ð¸Ñ†Ð¸Ð°Ð»Ð¸Ð·Ð°Ñ†Ð¸Ñ Ð¿ÑƒÑтого общего блока в %0"
+
+-#: fortran/scanner.c:861
++#: fortran/scanner.c:865
+ #, fuzzy, no-c-format
+ msgid "Missing '&' in continued character constant at %C"
+ msgstr "Ð¡Ð¸Ð¼Ð²Ð¾Ð»ÑŒÐ½Ð°Ñ ÐºÐ¾Ð½Ñтанта нулевой длины в %0"
+
+-#: fortran/scanner.c:1071
++#: fortran/scanner.c:1075
+ #, fuzzy, no-c-format
+ msgid "Nonconforming tab character at %C"
+ msgstr "ЛишнÑÑ Ð·Ð°Ð¿ÑÑ‚Ð°Ñ Ð² операторе FORMAT в %0"
+
+-#: fortran/scanner.c:1153 fortran/scanner.c:1156
++#: fortran/scanner.c:1158 fortran/scanner.c:1161
+ #, no-c-format
+ msgid "'&' not allowed by itself in line %d"
+ msgstr ""
+
+-#: fortran/scanner.c:1189
+-#, no-c-format
+-msgid "Nonconforming tab character in column 1 of line %d"
+-msgstr ""
++#: fortran/scanner.c:1207
++#, fuzzy, no-c-format
++msgid "Nonconforming tab character in column %d of line %d"
++msgstr "ЛишнÑÑ Ð·Ð°Ð¿ÑÑ‚Ð°Ñ Ð² операторе FORMAT в %0"
+
+-#: fortran/scanner.c:1387
++#: fortran/scanner.c:1405
+ #, no-c-format
+ msgid "%s:%d: file %s left but not entered"
+ msgstr ""
+
+-#: fortran/scanner.c:1419
++#: fortran/scanner.c:1438
+ #, fuzzy, no-c-format
+ msgid "%s:%d: Illegal preprocessor directive"
+ msgstr "Ð½ÐµÐ²ÐµÑ€Ð½Ð°Ñ Ð´Ð¸Ñ€ÐµÐºÑ‚Ð¸Ð²Ð° препроцеÑÑора #%s"
+
+-#: fortran/scanner.c:1514
++#: fortran/scanner.c:1533
+ #, no-c-format
+ msgid "File '%s' is being included recursively"
+ msgstr ""
+
+-#: fortran/scanner.c:1529
++#: fortran/scanner.c:1548
+ #, fuzzy, no-c-format
+ msgid "Can't open file '%s'"
+ msgstr "ошибка Ð¾Ñ‚ÐºÑ€Ñ‹Ñ‚Ð¸Ñ Ð²Ñ…Ð¾Ð´Ð½Ð¾Ð³Ð¾ файла %qs"
+
+-#: fortran/scanner.c:1538
++#: fortran/scanner.c:1557
+ #, fuzzy, no-c-format
+ msgid "Can't open included file '%s'"
+ msgstr "ошибка Ð¾Ñ‚ÐºÑ€Ñ‹Ñ‚Ð¸Ñ Ð²Ñ…Ð¾Ð´Ð½Ð¾Ð³Ð¾ файла %qs"
+
+-#: fortran/scanner.c:1676
++#: fortran/scanner.c:1701
+ #, fuzzy, c-format
+ msgid "%s:%3d %s\n"
+ msgstr "%s: %s"
+@@ -10264,134 +10323,134 @@
+ msgid "Argument of CHAR function at %L outside of range [0,255]"
+ msgstr ""
+
+-#: fortran/simplify.c:1247
++#: fortran/simplify.c:1293
+ #, no-c-format
+ msgid "Argument of IACHAR at %L must be of length one"
+ msgstr ""
+
+-#: fortran/simplify.c:1254
++#: fortran/simplify.c:1300
+ #, no-c-format
+ msgid "Argument of IACHAR function at %L outside of range 0..127"
+ msgstr ""
+
+-#: fortran/simplify.c:1293
++#: fortran/simplify.c:1339
+ #, fuzzy, no-c-format
+ msgid "Invalid second argument of IBCLR at %L"
+ msgstr "неверный аргумент Ð´Ð»Ñ %qs"
+
+-#: fortran/simplify.c:1301
++#: fortran/simplify.c:1347
+ #, no-c-format
+ msgid "Second argument of IBCLR exceeds bit size at %L"
+ msgstr ""
+
+-#: fortran/simplify.c:1335
++#: fortran/simplify.c:1381
+ #, fuzzy, no-c-format
+ msgid "Invalid second argument of IBITS at %L"
+ msgstr "неверный аргумент Ð´Ð»Ñ %qs"
+
+-#: fortran/simplify.c:1341
++#: fortran/simplify.c:1387
+ #, fuzzy, no-c-format
+ msgid "Invalid third argument of IBITS at %L"
+ msgstr "неверный аргумент Ð´Ð»Ñ %qs"
+
+-#: fortran/simplify.c:1351
++#: fortran/simplify.c:1397
+ #, no-c-format
+ msgid "Sum of second and third arguments of IBITS exceeds bit size at %L"
+ msgstr ""
+
+-#: fortran/simplify.c:1393
++#: fortran/simplify.c:1439
+ #, fuzzy, no-c-format
+ msgid "Invalid second argument of IBSET at %L"
+ msgstr "неверный аргумент Ð´Ð»Ñ %qs"
+
+-#: fortran/simplify.c:1401
++#: fortran/simplify.c:1447
+ #, no-c-format
+ msgid "Second argument of IBSET exceeds bit size at %L"
+ msgstr ""
+
+-#: fortran/simplify.c:1431
++#: fortran/simplify.c:1477
+ #, no-c-format
+ msgid "Argument of ICHAR at %L must be of length one"
+ msgstr ""
+
+-#: fortran/simplify.c:1646
++#: fortran/simplify.c:1692
+ #, fuzzy, no-c-format
+ msgid "Argument of INT at %L is not a valid type"
+ msgstr "аргумент `asm' - не конÑÑ‚Ð°Ð½Ñ‚Ð½Ð°Ñ Ñтрока"
+
+-#: fortran/simplify.c:1688
++#: fortran/simplify.c:1734
+ #, fuzzy, no-c-format
+ msgid "Argument of %s at %L is not a valid type"
+ msgstr "аргумент `asm' - не конÑÑ‚Ð°Ð½Ñ‚Ð½Ð°Ñ Ñтрока"
+
+-#: fortran/simplify.c:1786
++#: fortran/simplify.c:1832
+ #, fuzzy, no-c-format
+ msgid "Invalid second argument of ISHFT at %L"
+ msgstr "неверный аргумент Ð´Ð»Ñ %qs"
+
+-#: fortran/simplify.c:1801
++#: fortran/simplify.c:1847
+ #, no-c-format
+ msgid "Magnitude of second argument of ISHFT exceeds bit size at %L"
+ msgstr ""
+
+-#: fortran/simplify.c:1865
++#: fortran/simplify.c:1911
+ #, fuzzy, no-c-format
+ msgid "Invalid second argument of ISHFTC at %L"
+ msgstr "неверный аргумент Ð´Ð»Ñ %qs"
+
+-#: fortran/simplify.c:1879
++#: fortran/simplify.c:1925
+ #, fuzzy, no-c-format
+ msgid "Invalid third argument of ISHFTC at %L"
+ msgstr "неверный аргумент Ð´Ð»Ñ %qs"
+
+-#: fortran/simplify.c:1885
++#: fortran/simplify.c:1931
+ #, no-c-format
+ msgid "Magnitude of third argument of ISHFTC exceeds BIT_SIZE of first argument at %L"
+ msgstr ""
+
+-#: fortran/simplify.c:1901
++#: fortran/simplify.c:1947
+ #, no-c-format
+ msgid "Magnitude of second argument of ISHFTC exceeds third argument at %L"
+ msgstr ""
+
+-#: fortran/simplify.c:1904
++#: fortran/simplify.c:1950
+ #, no-c-format
+ msgid "Magnitude of second argument of ISHFTC exceeds BIT_SIZE of first argument at %L"
+ msgstr ""
+
+-#: fortran/simplify.c:1975
++#: fortran/simplify.c:2021
+ #, no-c-format
+ msgid "Argument of KIND at %L is a DERIVED type"
+ msgstr ""
+
+-#: fortran/simplify.c:2163
++#: fortran/simplify.c:2209
+ #, fuzzy, no-c-format
+ msgid "DIM argument at %L is out of bounds"
+ msgstr "номер Ñумматора вне диапазона"
+
+-#: fortran/simplify.c:2318
++#: fortran/simplify.c:2364
+ #, no-c-format
+ msgid "Argument of LOG at %L cannot be less than or equal to zero"
+ msgstr ""
+
+-#: fortran/simplify.c:2331
++#: fortran/simplify.c:2377
+ #, no-c-format
+ msgid "Complex argument of LOG at %L cannot be zero"
+ msgstr ""
+
+-#: fortran/simplify.c:2374
++#: fortran/simplify.c:2420
+ #, no-c-format
+ msgid "Argument of LOG10 at %L cannot be less than or equal to zero"
+ msgstr ""
+
+ #. Result is processor-dependent.
+-#: fortran/simplify.c:2579
++#: fortran/simplify.c:2628
+ #, no-c-format
+ msgid "Second argument MOD at %L is zero"
+ msgstr ""
+
+ #. Result is processor-dependent.
+-#: fortran/simplify.c:2590
++#: fortran/simplify.c:2639
+ #, no-c-format
+ msgid "Second argument of MOD at %L is zero"
+ msgstr ""
+@@ -10399,82 +10458,87 @@
+ #. Result is processor-dependent. This processor just opts
+ #. to not handle it at all.
+ #. Result is processor-dependent.
+-#: fortran/simplify.c:2638 fortran/simplify.c:2650
++#: fortran/simplify.c:2687 fortran/simplify.c:2699
+ #, no-c-format
+ msgid "Second argument of MODULO at %L is zero"
+ msgstr ""
+
+-#: fortran/simplify.c:2702
++#: fortran/simplify.c:2751
+ #, fuzzy, no-c-format
+ msgid "Second argument of NEAREST at %L shall not be zero"
+ msgstr "аргумент `asm' - не конÑÑ‚Ð°Ð½Ñ‚Ð½Ð°Ñ Ñтрока"
+
+-#: fortran/simplify.c:2977
++#: fortran/simplify.c:2787
+ #, no-c-format
++msgid "Result of NEAREST is NaN at %L"
++msgstr ""
++
++#: fortran/simplify.c:3062
++#, no-c-format
+ msgid "Argument NCOPIES of REPEAT intrinsic is negative at %L"
+ msgstr ""
+
+-#: fortran/simplify.c:3032
++#: fortran/simplify.c:3117
+ #, no-c-format
+ msgid "Argument NCOPIES of REPEAT intrinsic is too large at %L"
+ msgstr ""
+
+-#: fortran/simplify.c:3122
++#: fortran/simplify.c:3232
+ #, fuzzy, no-c-format
+ msgid "Integer too large in shape specification at %L"
+ msgstr "поÑле предыдущей Ñпецификации в `%#D'"
+
+-#: fortran/simplify.c:3132
++#: fortran/simplify.c:3242
+ #, no-c-format
+ msgid "Too many dimensions in shape specification for RESHAPE at %L"
+ msgstr ""
+
+-#: fortran/simplify.c:3140
++#: fortran/simplify.c:3250
+ #, no-c-format
+ msgid "Shape specification at %L cannot be negative"
+ msgstr ""
+
+-#: fortran/simplify.c:3150
++#: fortran/simplify.c:3260
+ #, no-c-format
+ msgid "Shape specification at %L cannot be the null array"
+ msgstr ""
+
+-#: fortran/simplify.c:3171
++#: fortran/simplify.c:3281
+ #, no-c-format
+ msgid "ORDER parameter of RESHAPE at %L is not the same size as SHAPE parameter"
+ msgstr ""
+
+-#: fortran/simplify.c:3178
++#: fortran/simplify.c:3288
+ #, no-c-format
+ msgid "Error in ORDER parameter of RESHAPE at %L"
+ msgstr ""
+
+-#: fortran/simplify.c:3188
++#: fortran/simplify.c:3298
+ #, no-c-format
+ msgid "ORDER parameter of RESHAPE at %L is out of range"
+ msgstr ""
+
+-#: fortran/simplify.c:3197
++#: fortran/simplify.c:3307
+ #, no-c-format
+ msgid "Invalid permutation in ORDER parameter at %L"
+ msgstr ""
+
+-#: fortran/simplify.c:3253
++#: fortran/simplify.c:3363
+ #, no-c-format
+ msgid "PAD parameter required for short SOURCE parameter at %L"
+ msgstr ""
+
+-#: fortran/simplify.c:3372
++#: fortran/simplify.c:3482
+ #, no-c-format
+ msgid "Result of SCALE overflows its kind at %L"
+ msgstr ""
+
+-#: fortran/simplify.c:3942
++#: fortran/simplify.c:4056
+ #, fuzzy, no-c-format
+ msgid "Argument of SQRT at %L has a negative value"
+ msgstr "Ñ„ÑƒÐ½ÐºÑ†Ð¸Ñ Ð²Ð¾Ð·Ð²Ñ€Ð°Ñ‰Ð°ÐµÑ‚ агрегатное значение"
+
+-#: fortran/simplify.c:4069
++#: fortran/simplify.c:4190
+ #, no-c-format
+ msgid "Intrinsic TRANSFER at %L has partly undefined result: source size %ld < result size %ld"
+ msgstr ""
+@@ -10703,29 +10767,29 @@
+ msgid "Symbol '%s' at %C has already been host associated"
+ msgstr ""
+
+-#: fortran/symbol.c:3162
++#: fortran/symbol.c:3189
+ #, no-c-format
+ msgid "Derived type '%s' declared at %L must have the BIND attribute to be C interoperable"
+ msgstr ""
+
+-#: fortran/symbol.c:3173
++#: fortran/symbol.c:3200
+ #, no-c-format
+ msgid "Derived type '%s' at %L is empty"
+ msgstr ""
+
+-#: fortran/symbol.c:3190
++#: fortran/symbol.c:3217
+ #, no-c-format
+ msgid "Component '%s' at %L cannot have the POINTER attribute because it is a member of the BIND(C) derived type '%s' at %L"
+ msgstr ""
+
+-#: fortran/symbol.c:3202
++#: fortran/symbol.c:3229
+ #, no-c-format
+ msgid "Component '%s' at %L cannot have the ALLOCATABLE attribute because it is a member of the BIND(C) derived type '%s' at %L"
+ msgstr ""
+
+ #. If the derived type is bind(c), all fields must be
+ #. interop.
+-#: fortran/symbol.c:3241
++#: fortran/symbol.c:3268
+ #, no-c-format
+ msgid "Component '%s' in derived type '%s' at %L may not be C interoperable, even though derived type '%s' is BIND(C)"
+ msgstr ""
+@@ -10733,17 +10797,17 @@
+ #. If derived type is param to bind(c) routine, or to one
+ #. of the iso_c_binding procs, it must be interoperable, so
+ #. all fields must interop too.
+-#: fortran/symbol.c:3250
++#: fortran/symbol.c:3277
+ #, no-c-format
+ msgid "Component '%s' in derived type '%s' at %L may not be C interoperable"
+ msgstr ""
+
+-#: fortran/symbol.c:3264
++#: fortran/symbol.c:3291
+ #, fuzzy, no-c-format
+ msgid "Derived type '%s' at %L cannot be declared with both PRIVATE and BIND(C) attributes"
+ msgstr "отмена декларации %qD в проÑтранÑтве имён %qD"
+
+-#: fortran/symbol.c:3272
++#: fortran/symbol.c:3299
+ #, no-c-format
+ msgid "Derived type '%s' at %L cannot have the SEQUENCE attribute because it is BIND(C)"
+ msgstr ""
+@@ -10753,38 +10817,43 @@
+ msgid "Overlapping unequal initializers in EQUIVALENCE at %L"
+ msgstr ""
+
+-#: fortran/trans-common.c:396
++#: fortran/target-memory.c:635
+ #, no-c-format
++msgid "BOZ constant at %L is too large (%ld vs %ld bits)"
++msgstr ""
++
++#: fortran/trans-common.c:399
++#, no-c-format
+ msgid "Named COMMON block '%s' at %L shall be of the same size"
+ msgstr ""
+
+-#: fortran/trans-common.c:817
++#: fortran/trans-common.c:833
+ #, fuzzy, no-c-format
+ msgid "Bad array reference at %L"
+ msgstr "ПуÑтой Ñлемент в %0 в обращении к маÑÑиву в %1"
+
+-#: fortran/trans-common.c:825
++#: fortran/trans-common.c:841
+ #, no-c-format
+ msgid "Illegal reference type at %L as EQUIVALENCE object"
+ msgstr ""
+
+-#: fortran/trans-common.c:865
++#: fortran/trans-common.c:881
+ #, no-c-format
+ msgid "Inconsistent equivalence rules involving '%s' at %L and '%s' at %L"
+ msgstr ""
+
+ #. Aligning this field would misalign a previous field.
+-#: fortran/trans-common.c:998
++#: fortran/trans-common.c:1014
+ #, no-c-format
+ msgid "The equivalence set for variable '%s' declared at %L violates alignment requirements"
+ msgstr ""
+
+-#: fortran/trans-common.c:1063
++#: fortran/trans-common.c:1079
+ #, no-c-format
+ msgid "Equivalence for '%s' does not match ordering of COMMON '%s' at %L"
+ msgstr ""
+
+-#: fortran/trans-common.c:1078
++#: fortran/trans-common.c:1094
+ #, no-c-format
+ msgid "The equivalence set for '%s' cause an invalid extension to COMMON '%s' at %L"
+ msgstr ""
+@@ -10792,42 +10861,42 @@
+ #. The required offset conflicts with previous alignment
+ #. requirements. Insert padding immediately before this
+ #. segment.
+-#: fortran/trans-common.c:1089
++#: fortran/trans-common.c:1105
+ #, no-c-format
+ msgid "Padding of %d bytes required before '%s' in COMMON '%s' at %L"
+ msgstr ""
+
+-#: fortran/trans-common.c:1115
++#: fortran/trans-common.c:1131
+ #, fuzzy, no-c-format
+ msgid "COMMON '%s' at %L does not exist"
+ msgstr "%s: определение функции %qs не преобразовано\n"
+
+-#: fortran/trans-common.c:1122
++#: fortran/trans-common.c:1138
+ #, no-c-format
+ msgid "COMMON '%s' at %L requires %d bytes of padding at start"
+ msgstr ""
+
+-#: fortran/trans-decl.c:3016
++#: fortran/trans-decl.c:2979
+ #, no-c-format
+ msgid "Dummy argument '%s' at %L was declared INTENT(OUT) but was not set"
+ msgstr ""
+
+-#: fortran/trans-decl.c:3020
++#: fortran/trans-decl.c:2983
+ #, fuzzy, no-c-format
+ msgid "Unused dummy argument '%s' at %L"
+ msgstr "Слишком много аргументов %s в %L"
+
+-#: fortran/trans-decl.c:3026
++#: fortran/trans-decl.c:2989
+ #, fuzzy, no-c-format
+ msgid "Unused variable '%s' declared at %L"
+ msgstr "instance-Ð¿ÐµÑ€ÐµÐ¼ÐµÐ½Ð½Ð°Ñ %qs декларирована как %s"
+
+-#: fortran/trans-decl.c:3052
++#: fortran/trans-decl.c:3015
+ #, fuzzy, no-c-format
+ msgid "Unused parameter '%s' declared at %L"
+ msgstr "параметр %qD объÑвлен void"
+
+-#: fortran/trans-expr.c:2036
++#: fortran/trans-expr.c:2199
+ #, fuzzy, no-c-format
+ msgid "Unknown argument list function at %L"
+ msgstr "отÑутÑтвует аргумент ключа %qs"
+@@ -10837,12 +10906,12 @@
+ msgid "'dim' argument of %s intrinsic at %L is not a valid dimension index"
+ msgstr "аргумент `asm' - не конÑÑ‚Ð°Ð½Ñ‚Ð½Ð°Ñ Ñтрока"
+
+-#: fortran/trans-io.c:1850
++#: fortran/trans-io.c:1851
+ #, no-c-format
+ msgid "Derived type '%s' at %L has PRIVATE components"
+ msgstr ""
+
+-#: fortran/trans-stmt.c:438
++#: fortran/trans-stmt.c:436
+ #, fuzzy, no-c-format
+ msgid "An alternate return at %L without a * dummy argument"
+ msgstr "Ðльтернативный Ñпецификатор возврата в %0 внутри главной программы"
+@@ -11067,55 +11136,34 @@
+ msgid "cannot specify 'main' class when not linking"
+ msgstr "задание клаÑÑа 'main' невозможно без компоновки"
+
+-#: config/i386/nwld.h:34
+-msgid "Static linking is not supported.\n"
+-msgstr "СтатичеÑÐºÐ°Ñ ÐºÐ¾Ð¼Ð¿Ð¾Ð½Ð¾Ð²ÐºÐ° не поддерживаетÑÑ.\n"
+-
+-#: java/jvspec.c:80 gcc.c:820 ada/lang-specs.h:33
+-msgid "-pg and -fomit-frame-pointer are incompatible"
+-msgstr "-pg и -fomit-frame-pointer неÑовмеÑтимы"
+-
+ #: config/vax/netbsd-elf.h:41
+ msgid "the -shared option is not currently supported for VAX ELF"
+ msgstr "Ключ -shared не поддерживаетÑÑ Ð´Ð»Ñ VAX ELF"
+
+-#: config/sparc/sol2-gld-bi.h:17 config/sparc/sol2-gld-bi.h:22
+-#: config/sparc/sol2-bi.h:189 config/sparc/sol2-bi.h:194
+-msgid "does not support multilib"
+-msgstr "не поддерживает мультибиблиотеку"
+-
+ #: config/vax/vax.h:49 config/vax/vax.h:50
+ msgid "profiling not supported with -mg\n"
+ msgstr "профилирование Ñ -mg не поддерживаетÑÑ\n"
+
+-#: config/rs6000/linux64.h:347 config/rs6000/linux64.h:349 config/linux.h:106
+-#: config/linux.h:108 config/rs6000/sysv4.h:897 config/rs6000/sysv4.h:899
++#: config/sh/sh.h:461
++msgid "SH2a does not support little-endian"
++msgstr "SH2a не поддерживает little-endian"
++
++#: config/s390/tpf.h:119
++msgid "static is not supported on TPF-OS"
++msgstr "в TFP-OS не поддерживаетÑÑ static"
++
+ #: config/alpha/linux-elf.h:33 config/alpha/linux-elf.h:35
++#: config/rs6000/sysv4.h:897 config/rs6000/sysv4.h:899
+ #: config/sparc/linux.h:126 config/sparc/linux.h:128
+-#: config/sparc/linux64.h:152 config/sparc/linux64.h:154
++#: config/sparc/linux64.h:152 config/sparc/linux64.h:154 config/linux.h:106
++#: config/linux.h:108 config/rs6000/linux64.h:347 config/rs6000/linux64.h:349
+ msgid "-mglibc and -muclibc used together"
+ msgstr "-mglibc и -muclibcips неÑовмеÑтимы"
+
+-#: config/i386/cygwin.h:28
+-msgid "mno-cygwin and mno-win32 are not compatible"
+-msgstr "mno-cygwin и mno-win32 неÑовмеÑтимы"
++#: java/jvspec.c:80 gcc.c:820 ada/lang-specs.h:33
++msgid "-pg and -fomit-frame-pointer are incompatible"
++msgstr "-pg и -fomit-frame-pointer неÑовмеÑтимы"
+
+-#: config/i386/cygwin.h:74 config/i386/mingw32.h:74
+-msgid "shared and mdll are not compatible"
+-msgstr "shared и mdll неÑовмеÑтимы"
+-
+-#: config/i386/sco5.h:188
+-msgid "-pg not supported on this platform"
+-msgstr "-pg Ð´Ð»Ñ Ð´Ð°Ð½Ð½Ð¾Ð¹ платформы не поддерживаетÑÑ"
+-
+-#: config/i386/sco5.h:189
+-msgid "-p and -pp specified - pick one"
+-msgstr "заданы -p и -pp, оÑтавьте один из них"
+-
+-#: config/i386/sco5.h:258
+-msgid "-G and -static are mutually exclusive"
+-msgstr "-G и -static неÑовмеÑтимы"
+-
+ #: gcc.c:792
+ msgid "GCC does not support -C or -CC without -E"
+ msgstr "ключ -C или -CC допуÑтим только Ñ -E"
+@@ -11124,58 +11172,14 @@
+ msgid "-E or -x required when input is from standard input"
+ msgstr "ввод Ñо Ñтандартного ввода возможен только Ñ ÐºÐ»ÑŽÑ‡Ð¾Ð¼ -E или -x"
+
+-#: java/lang-specs.h:33
+-msgid "-fjni and -femit-class-files are incompatible"
+-msgstr "-fjni и -femit-class-files неÑовмеÑтимы"
+-
+-#: java/lang-specs.h:34
+-msgid "-fjni and -femit-class-file are incompatible"
+-msgstr "-fjni и -femit-class-file неÑовмеÑтимы"
+-
+-#: java/lang-specs.h:35 java/lang-specs.h:36
+-msgid "-femit-class-file should used along with -fsyntax-only"
+-msgstr "-femit-class-file допуÑтим только Ñ -fsyntax-only"
+-
+ #: config/mcore/mcore.h:56
+ msgid "the m210 does not have little endian support"
+ msgstr "Ð´Ð»Ñ m210 обратный (little endian) порÑдок байт не поддерживаетÑÑ"
+
+-#: config/lynx.h:70
+-msgid "cannot use mthreads and mlegacy-threads together"
+-msgstr "ÐедопуÑтимо одновременно иÑпользовать mthreads и mlegacy-threads"
+-
+-#: config/lynx.h:95
+-msgid "cannot use mshared and static together"
+-msgstr "ÐедопуÑтимо одновременно иÑпользовать mshared и static"
+-
+-#: config/sh/sh.h:461
+-msgid "SH2a does not support little-endian"
+-msgstr "SH2a не поддерживает little-endian"
+-
+-#: config/mips/mips.h:1042 config/arc/arc.h:61
++#: config/arc/arc.h:61 config/mips/mips.h:1042
+ msgid "may not use both -EB and -EL"
+ msgstr "-EB и -EL неÑовмеÑтимы"
+
+-#: config/s390/tpf.h:119
+-msgid "static is not supported on TPF-OS"
+-msgstr "в TFP-OS не поддерживаетÑÑ static"
+-
+-#: config/rs6000/darwin.h:95
+-msgid " conflicting code gen style switches are used"
+-msgstr " заданы неÑовмеÑтимые ключи генерации кода"
+-
+-#: ada/lang-specs.h:34
+-msgid "-c or -S required for Ada"
+-msgstr "Ð”Ð»Ñ Ñзыка Ada нужно передать -c или -S"
+-
+-#: config/mips/r3900.h:34
+-msgid "-mhard-float not supported"
+-msgstr "-mhard-float не поддерживаетÑÑ"
+-
+-#: config/mips/r3900.h:36
+-msgid "-msingle-float and -msoft-float cannot both be specified"
+-msgstr "ключи -msingle-float и -msoft-float неÑовмеÑтимы"
+-
+ #: config/vxworks.h:71
+ msgid "-Xbind-now and -Xbind-lazy are incompatible"
+ msgstr "ключи -Xbind-now и -Xbind-lazy неÑовмеÑтимы"
+@@ -11212,12 +11216,24 @@
+ msgid "-private_bundle not allowed with -dynamiclib"
+ msgstr "-private_bundle Ð½ÐµÐ»ÑŒÐ·Ñ Ð¸Ñпользовать Ñ -dynamiclib"
+
++#: config/mips/r3900.h:34
++msgid "-mhard-float not supported"
++msgstr "-mhard-float не поддерживаетÑÑ"
++
++#: config/mips/r3900.h:36
++msgid "-msingle-float and -msoft-float cannot both be specified"
++msgstr "ключи -msingle-float и -msoft-float неÑовмеÑтимы"
++
+ #: config/sparc/linux64.h:211 config/sparc/linux64.h:222
+ #: config/sparc/netbsd-elf.h:125 config/sparc/netbsd-elf.h:144
+ #: config/sparc/sol2-bi.h:217 config/sparc/sol2-bi.h:227
+ msgid "may not use both -m32 and -m64"
+ msgstr "-m32 и -m64 неÑовмеÑтимы"
+
++#: config/i386/mingw32.h:74 config/i386/cygwin.h:74
++msgid "shared and mdll are not compatible"
++msgstr "shared и mdll неÑовмеÑтимы"
++
+ #: config/arm/arm.h:147
+ msgid "-msoft-float and -mhard_float may not be used together"
+ msgstr "-msoft-float и -mhard_float неÑовмеÑтимы"
+@@ -11226,119 +11242,64 @@
+ msgid "-mbig-endian and -mlittle-endian may not be used together"
+ msgstr "ключи -mbig-endian и -mlittle-endian неÑовмеÑтимы"
+
+-#: java/lang.opt:65
+-msgid "Warn if a deprecated compiler feature, class, method, or field is used"
+-msgstr "Предупреждать об уÑтаревших (deprecated) возможноÑÑ‚ÑÑ… компилÑтора, клаÑÑах, методах или полÑÑ…, иÑпользуемых в программе"
++#: config/rs6000/darwin.h:95
++msgid " conflicting code gen style switches are used"
++msgstr " заданы неÑовмеÑтимые ключи генерации кода"
+
+-#: java/lang.opt:69
+-msgid "Warn if deprecated empty statements are found"
+-msgstr "Предупреждать при употреблении уÑтаревших пуÑÑ‚Ñ‹Ñ… выражений"
++#: ada/lang-specs.h:34
++msgid "-c or -S required for Ada"
++msgstr "Ð”Ð»Ñ Ñзыка Ada нужно передать -c или -S"
+
+-#: java/lang.opt:73
+-msgid "Warn if .class files are out of date"
+-msgstr "Предупреждать, еÑли файл .class уÑтарел"
++#: config/sparc/sol2-bi.h:189 config/sparc/sol2-bi.h:194
++#: config/sparc/sol2-gld-bi.h:17 config/sparc/sol2-gld-bi.h:22
++msgid "does not support multilib"
++msgstr "не поддерживает мультибиблиотеку"
+
+-#: java/lang.opt:77
+-msgid "Warn if modifiers are specified when not necessary"
+-msgstr "УведомлÑÑ‚ÑŒ, когда модификаторы употреблÑÑŽÑ‚ÑÑ Ð±ÐµÐ· необходимоÑти"
++#: config/i386/nwld.h:34
++msgid "Static linking is not supported.\n"
++msgstr "СтатичеÑÐºÐ°Ñ ÐºÐ¾Ð¼Ð¿Ð¾Ð½Ð¾Ð²ÐºÐ° не поддерживаетÑÑ.\n"
+
+-#: java/lang.opt:81
+-msgid "Deprecated; use --classpath instead"
+-msgstr "Этот ключ уÑтарел, иÑпользуйте --classpath"
++#: config/i386/cygwin.h:28
++msgid "mno-cygwin and mno-win32 are not compatible"
++msgstr "mno-cygwin и mno-win32 неÑовмеÑтимы"
+
+-#: java/lang.opt:88
+-msgid "Permit the use of the assert keyword"
+-msgstr "Разрешить иÑпользование ключевого Ñлова assert"
++#: config/i386/sco5.h:188
++msgid "-pg not supported on this platform"
++msgstr "-pg Ð´Ð»Ñ Ð´Ð°Ð½Ð½Ð¾Ð¹ платформы не поддерживаетÑÑ"
+
+-#: java/lang.opt:110
+-msgid "Replace system path"
+-msgstr "Замена Ð´Ð»Ñ ÑиÑтемного пути"
++#: config/i386/sco5.h:189
++msgid "-p and -pp specified - pick one"
++msgstr "заданы -p и -pp, оÑтавьте один из них"
+
+-#: java/lang.opt:114
+-msgid "Generate checks for references to NULL"
+-msgstr "Генерировать код проверки ÑÑылок по NULL-указателÑм"
++#: config/i386/sco5.h:258
++msgid "-G and -static are mutually exclusive"
++msgstr "-G и -static неÑовмеÑтимы"
+
+-#: java/lang.opt:118
+-msgid "Set class path"
+-msgstr "Задать путь поиÑка клаÑÑов"
++#: java/lang-specs.h:33
++msgid "-fjni and -femit-class-files are incompatible"
++msgstr "-fjni и -femit-class-files неÑовмеÑтимы"
+
+-#: java/lang.opt:125
+-msgid "Output a class file"
+-msgstr "Выводить файл клаÑÑа"
++#: java/lang-specs.h:34
++msgid "-fjni and -femit-class-file are incompatible"
++msgstr "-fjni и -femit-class-file неÑовмеÑтимы"
+
+-#: java/lang.opt:129
+-msgid "Alias for -femit-class-file"
+-msgstr "Замена Ð´Ð»Ñ -femit-class-file"
++#: java/lang-specs.h:35 java/lang-specs.h:36
++msgid "-femit-class-file should used along with -fsyntax-only"
++msgstr "-femit-class-file допуÑтим только Ñ -fsyntax-only"
+
+-#: java/lang.opt:133
+-msgid "Choose input encoding (defaults from your locale)"
+-msgstr "Выбрать кодировку входных файлов (по умолчанию из locale)"
++#: config/cris/cris.h:207
++#, fuzzy
++msgid "Do not specify both -march=... and -mcpu=..."
++msgstr "не допуÑкаетÑÑ Ð·Ð°Ð´Ð°Ð½Ð¸Ðµ одновременно -C и -o"
+
+-#: java/lang.opt:137
+-msgid "Set the extension directory path"
+-msgstr "Задать путь к каталогу раÑширений"
++#: config/lynx.h:70
++msgid "cannot use mthreads and mlegacy-threads together"
++msgstr "ÐедопуÑтимо одновременно иÑпользовать mthreads и mlegacy-threads"
+
+-#: java/lang.opt:144
+-msgid "Input file is a file with a list of filenames to compile"
+-msgstr "Входной файл - файл Ñо ÑпиÑком модулей Ð´Ð»Ñ ÐºÐ¾Ð¼Ð¿Ð¸Ð»Ñции"
++#: config/lynx.h:95
++msgid "cannot use mshared and static together"
++msgstr "ÐедопуÑтимо одновременно иÑпользовать mshared и static"
+
+-#: java/lang.opt:151
+-msgid "Always check for non gcj generated classes archives"
+-msgstr "Ð’Ñегда проверÑÑ‚ÑŒ, что архивы клаÑÑов Ñгенерированы gcj"
+-
+-#: java/lang.opt:155
+-msgid "Assume the runtime uses a hash table to map an object to its synchronization structure"
+-msgstr "Предполагать, что Ñреда запуÑка иÑпользует Ñ…Ñш-таблицу Ð´Ð»Ñ Ð¾Ñ‚Ð¾Ð±Ñ€Ð°Ð¶ÐµÐ½Ð¸Ñ Ð¾Ð±ÑŠÐµÐºÑ‚Ð° на его Ñтруктуру Ñинхронизации"
+-
+-#: java/lang.opt:159
+-msgid "Generate instances of Class at runtime"
+-msgstr "Создавать Ñлементы клаÑÑа во Ð²Ñ€ÐµÐ¼Ñ Ð²Ñ‹Ð¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ñ"
+-
+-#: java/lang.opt:163
+-msgid "Use offset tables for virtual method calls"
+-msgstr "ИÑпользовать таблицы Ñмещений Ð´Ð»Ñ Ð²Ñ‹Ð·Ð¾Ð²Ð° виртуальных методов"
+-
+-#: java/lang.opt:170
+-msgid "Assume native functions are implemented using JNI"
+-msgstr "Предполагать, что функции платформы иÑпользуют JNI"
+-
+-#: java/lang.opt:174
+-msgid "Enable optimization of static class initialization code"
+-msgstr "Включить оптимизацию кода инициализации ÑтатичеÑких клаÑÑов"
+-
+-#: java/lang.opt:181
+-msgid "Reduce the amount of reflection meta-data generated"
+-msgstr "Уменьшить количеÑтво Ñоздаваемых метаданных об объектах Ð´Ð»Ñ Ð¸ÑÐ¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ð½Ð¸Ñ Ð² Java reflection"
+-
+-#: java/lang.opt:185
+-msgid "Enable assignability checks for stores into object arrays"
+-msgstr "Включить проверку корректноÑти приÑÐ²Ð°Ð¸Ð²Ð°Ð½Ð¸Ñ Ð´Ð»Ñ Ñлементов маÑÑива"
+-
+-#: java/lang.opt:189
+-msgid "Generate code for the Boehm GC"
+-msgstr "Генерировать код Ð´Ð»Ñ Ñборщика муÑора Boehm"
+-
+-#: java/lang.opt:193
+-msgid "Call a library routine to do integer divisions"
+-msgstr "Вызывать функцию библиотеки Ð´Ð»Ñ Ð´ÐµÐ»ÐµÐ½Ð¸Ñ Ñ†ÐµÐ»Ñ‹Ñ…"
+-
+-#: java/lang.opt:197
+-msgid "Generated should be loaded by bootstrap loader"
+-msgstr ""
+-
+-#: java/lang.opt:201
+-msgid "Set the source language version"
+-msgstr ""
+-
+-#: java/lang.opt:205
+-#, fuzzy
+-msgid "Set the target VM version"
+-msgstr "Ð˜Ð¼Ñ Ñ†ÐµÐ»ÐµÐ²Ð¾Ð³Ð¾ процеÑÑора"
+-
+-#: ada/lang.opt:96
+-msgid "Specify options to GNAT"
+-msgstr "Задать ключи GNAT"
+-
+ #: fortran/lang.opt:29
+ msgid "Add a directory for INCLUDE and MODULE searching"
+ msgstr "Добавить каталог Ð´Ð»Ñ Ð¿Ð¾Ð¸Ñка INCLUDE и MODULE"
+@@ -11594,7 +11555,7 @@
+ msgid "Append a second underscore if the name already contains an underscore"
+ msgstr ""
+
+-#: fortran/lang.opt:277 c.opt:714
++#: fortran/lang.opt:277 c.opt:718
+ msgid "Use the narrowest integer type possible for enumeration types"
+ msgstr "ИÑпользовать Ð´Ð»Ñ Ð¿ÐµÑ€ÐµÑ‡Ð¸Ñлимых типов минимальный целочиÑленный тип"
+
+@@ -11628,14 +11589,62 @@
+ msgid "Accept extensions to support legacy code"
+ msgstr ""
+
+-#: treelang/lang.opt:30
+-msgid "Trace lexical analysis"
+-msgstr "ТраÑÑировать лекÑичеÑкий анализ"
++#: config/mcore/mcore.opt:23
++msgid "Generate code for the M*Core M210"
++msgstr "Генерировать код Ð´Ð»Ñ M*Core M210"
+
+-#: treelang/lang.opt:34
+-msgid "Trace the parsing process"
+-msgstr "ТраÑÑировать процеÑÑ Ñ€Ð°Ð·Ð±Ð¾Ñ€Ð°"
++#: config/mcore/mcore.opt:27
++msgid "Generate code for the M*Core M340"
++msgstr "Генерировать код Ð´Ð»Ñ M*Core M340"
+
++#: config/mcore/mcore.opt:31
++msgid "Set maximum alignment to 4"
++msgstr "МакÑимальное выравнивание равно 4"
++
++#: config/mcore/mcore.opt:35
++msgid "Force functions to be aligned to a 4 byte boundary"
++msgstr "Выравнивать функции по границе 4 байт"
++
++#: config/mcore/mcore.opt:39
++msgid "Set maximum alignment to 8"
++msgstr "МакÑимальное выравнивание равно 8"
++
++#: config/mcore/mcore.opt:43 config/score/score.opt:23
++msgid "Generate big-endian code"
++msgstr "Генерировать код Ð´Ð»Ñ Ð¿Ñ€Ñмого порÑдка байт (big endian)"
++
++#: config/mcore/mcore.opt:47
++msgid "Emit call graph information"
++msgstr "Выдавать граф вызовов"
++
++#: config/mcore/mcore.opt:51
++msgid "Use the divide instruction"
++msgstr "ИÑпользовать команды делениÑ"
++
++#: config/mcore/mcore.opt:55
++msgid "Inline constants if it can be done in 2 insns or less"
++msgstr "ИÑпользовать непоÑредÑтвенные конÑтанты, еÑли Ñто требует не более 2 команд"
++
++#: config/mcore/mcore.opt:59 config/score/score.opt:27
++msgid "Generate little-endian code"
++msgstr "Генерировать код Ð´Ð»Ñ Ð¾Ð±Ñ€Ð°Ñ‚Ð½Ð¾Ð³Ð¾ порÑдка байт (little endian)"
++
++#: config/mcore/mcore.opt:67
++msgid "Use arbitrary sized immediates in bit operations"
++msgstr "ИÑпользовать непоÑредÑтвенные конÑтанты произвольного размера в битовых операциÑÑ…"
++
++#: config/mcore/mcore.opt:71
++msgid "Prefer word accesses over byte accesses"
++msgstr "Отдавать предпочтение поÑловному доÑтупу к памÑти перед побайтным"
++
++#: config/mcore/mcore.opt:75
++msgid "Set the maximum amount for a single stack increment operation"
++msgstr "Задать макÑимальную величину одной операции инкрементации Ñтека"
++
++#: config/mcore/mcore.opt:79
++msgid "Always treat bitfields as int-sized"
++msgstr "Ð’Ñегда Ñчитать, что битовое поле имеет размер int"
++
+ #: config/alpha/alpha.opt:23 config/i386/i386.opt:155
+ msgid "Do not use hardware fp"
+ msgstr "Ðе иÑпользовать аппаратную плавающую арифметику"
+@@ -11751,271 +11760,6 @@
+ msgid "Specify bit size of immediate TLS offsets"
+ msgstr "Битовый размер Ñмещений Ð´Ð»Ñ Ð½ÐµÐ¿Ð¾ÑредÑтвенных TLS"
+
+-#: config/frv/frv.opt:23
+-msgid "Use 4 media accumulators"
+-msgstr "ИÑпользовать 4 аккумулÑтора данных"
+-
+-#: config/frv/frv.opt:27
+-msgid "Use 8 media accumulators"
+-msgstr "ИÑпользовать 8 аккумулÑторов данных"
+-
+-#: config/frv/frv.opt:31
+-msgid "Enable label alignment optimizations"
+-msgstr "Включить оптимизации Ð²Ñ‹Ñ€Ð°Ð²Ð½Ð¸Ð²Ð°Ð½Ð¸Ñ Ð¼ÐµÑ‚Ð¾Ðº"
+-
+-#: config/frv/frv.opt:35
+-msgid "Dynamically allocate cc registers"
+-msgstr "Ðе иÑпользовать региÑÑ‚Ñ€ BK при раÑпределении региÑтров"
+-
+-#: config/frv/frv.opt:42
+-msgid "Set the cost of branches"
+-msgstr "УÑтановить цену переходов"
+-
+-#: config/frv/frv.opt:46
+-msgid "Enable conditional execution other than moves/scc"
+-msgstr "ИÑпользовать уÑловное выполнение и других инÑтрукций кроме moves/scc"
+-
+-#: config/frv/frv.opt:50
+-msgid "Change the maximum length of conditionally-executed sequences"
+-msgstr "Изменить макÑимальную длину уÑловно выполнÑемого пути"
+-
+-#: config/frv/frv.opt:54
+-msgid "Change the number of temporary registers that are available to conditionally-executed sequences"
+-msgstr "Задать чиÑло временных региÑтров Ð´Ð»Ñ ÑƒÑловно выполнÑемого пути"
+-
+-#: config/frv/frv.opt:58
+-msgid "Enable conditional moves"
+-msgstr "ИÑпользовать уÑловные команды move"
+-
+-#: config/frv/frv.opt:62
+-msgid "Set the target CPU type"
+-msgstr "Ð˜Ð¼Ñ Ñ†ÐµÐ»ÐµÐ²Ð¾Ð³Ð¾ процеÑÑора"
+-
+-#: config/frv/frv.opt:84
+-msgid "Use fp double instructions"
+-msgstr "ИÑпользовать инÑтрукции двойной точноÑти плавающих вычиÑлений"
+-
+-#: config/frv/frv.opt:88
+-msgid "Change the ABI to allow double word insns"
+-msgstr "Изменить ABI Ð´Ð»Ñ Ñ€Ð°Ð±Ð¾Ñ‚Ñ‹ Ñ Ð¸Ð½ÑтрукциÑми двойных Ñлов"
+-
+-#: config/frv/frv.opt:92 config/bfin/bfin.opt:73
+-msgid "Enable Function Descriptor PIC mode"
+-msgstr "Включить режим Function Descriptor PIC"
+-
+-#: config/frv/frv.opt:96
+-msgid "Just use icc0/fcc0"
+-msgstr "ИÑпользовать только icc0/fcc0"
+-
+-#: config/frv/frv.opt:100
+-msgid "Only use 32 FPRs"
+-msgstr "ИÑпользовать только 32 плавающих региÑтра"
+-
+-#: config/frv/frv.opt:104
+-msgid "Use 64 FPRs"
+-msgstr "ИÑпользовать 64 плавающих региÑтра"
+-
+-#: config/frv/frv.opt:108
+-msgid "Only use 32 GPRs"
+-msgstr "ИÑпользовать 32 региÑтра общего назначениÑ"
+-
+-#: config/frv/frv.opt:112
+-msgid "Use 64 GPRs"
+-msgstr "ИÑпользовать 64 региÑтра общего назначениÑ"
+-
+-#: config/frv/frv.opt:116
+-msgid "Enable use of GPREL for read-only data in FDPIC"
+-msgstr "ИÑпользовать GPREL Ð´Ð»Ñ Ð´Ð°Ð½Ð½Ñ‹Ñ… только на чтение в режиме FDPIC"
+-
+-#: config/frv/frv.opt:120 config/rs6000/rs6000.opt:112
+-#: config/pdp11/pdp11.opt:71
+-msgid "Use hardware floating point"
+-msgstr "ИÑпользовать аппаратную реализацию плавающей арифметики"
+-
+-#: config/frv/frv.opt:124 config/bfin/bfin.opt:77
+-msgid "Enable inlining of PLT in function calls"
+-msgstr "Ð’Ñтраивать PLT в вызовы функций"
+-
+-#: config/frv/frv.opt:128
+-msgid "Enable PIC support for building libraries"
+-msgstr "Включить поддержку PIC при Ñборке библиотек"
+-
+-#: config/frv/frv.opt:132
+-msgid "Follow the EABI linkage requirements"
+-msgstr "Следовать требованиÑм компоновки EABI"
+-
+-#: config/frv/frv.opt:136
+-msgid "Disallow direct calls to global functions"
+-msgstr "Запретить прÑмые вызовы глобальных функций"
+-
+-#: config/frv/frv.opt:140
+-msgid "Use media instructions"
+-msgstr "ИÑпользовать команды Ð¼Ð°Ð½Ð¸Ð¿ÑƒÐ»Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ Ð¼ÐµÐ´Ð¸Ð°Ð´Ð°Ð½Ð½Ñ‹Ð¼Ð¸"
+-
+-#: config/frv/frv.opt:144
+-msgid "Use multiply add/subtract instructions"
+-msgstr "ИÑпользовать команды плавающего ÑƒÐ¼Ð½Ð¾Ð¶ÐµÐ½Ð¸Ñ Ñо Ñложением/вычитанием"
+-
+-#: config/frv/frv.opt:148
+-msgid "Enable optimizing &&/|| in conditional execution"
+-msgstr "Включить оптимизацию &&/|| в уÑловно выполнÑемых путÑÑ…"
+-
+-#: config/frv/frv.opt:152
+-msgid "Enable nested conditional execution optimizations"
+-msgstr "Включить оптимизацию вложенных уÑловно выполнÑемых путей"
+-
+-#: config/frv/frv.opt:157
+-msgid "Do not mark ABI switches in e_flags"
+-msgstr "не отмечать переключение ABI в e_flags"
+-
+-#: config/frv/frv.opt:161
+-msgid "Remove redundant membars"
+-msgstr "УдалÑÑ‚ÑŒ лишние куÑки памÑти"
+-
+-#: config/frv/frv.opt:165
+-msgid "Pack VLIW instructions"
+-msgstr "Упаковывать команды во VLIW"
+-
+-#: config/frv/frv.opt:169
+-msgid "Enable setting GPRs to the result of comparisons"
+-msgstr "ПриÑваивать результат ÑÑ€Ð°Ð²Ð½ÐµÐ½Ð¸Ñ Ðº региÑтру общего назначениÑ"
+-
+-#: config/frv/frv.opt:173
+-msgid "Change the amount of scheduler lookahead"
+-msgstr "Изменить дальноÑÑ‚ÑŒ проÑмотра вперёд в планировщике"
+-
+-#: config/frv/frv.opt:177 config/pa/pa.opt:104
+-msgid "Use software floating point"
+-msgstr "ИÑпользовать программную реализацию плавающей арифметики"
+-
+-#: config/frv/frv.opt:181
+-msgid "Assume a large TLS segment"
+-msgstr "ИÑпользовать большой Ñегмент TLS"
+-
+-#: config/frv/frv.opt:185
+-msgid "Do not assume a large TLS segment"
+-msgstr "Ðе иÑпользовать большой Ñегмент TLS"
+-
+-#: config/frv/frv.opt:190
+-msgid "Cause gas to print tomcat statistics"
+-msgstr "ЗаÑтавлÑÑ‚ÑŒ gas печатать ÑтатиÑтику tomcat"
+-
+-#: config/frv/frv.opt:195
+-msgid "Link with the library-pic libraries"
+-msgstr "Компоновать Ñ Ð±Ð¸Ð±Ð»Ð¸Ð¾Ñ‚ÐµÐºÐ°Ð¼Ð¸ pic"
+-
+-#: config/frv/frv.opt:199
+-msgid "Allow branches to be packed with other instructions"
+-msgstr "Комбинировать уÑловные переходы Ñ Ð´Ñ€ÑƒÐ³Ð¸Ð¼Ð¸ инÑтрукциÑми"
+-
+-#: config/mn10300/mn10300.opt:23
+-msgid "Target the AM33 processor"
+-msgstr "Генерировать код Ð´Ð»Ñ Ð¿Ñ€Ð¾Ñ†ÐµÑÑора AM33"
+-
+-#: config/mn10300/mn10300.opt:27
+-msgid "Target the AM33/2.0 processor"
+-msgstr "Генерировать код Ð´Ð»Ñ Ð¿Ñ€Ð¾Ñ†ÐµÑÑора AM33/2.0"
+-
+-#: config/mn10300/mn10300.opt:31
+-msgid "Work around hardware multiply bug"
+-msgstr "Обходить аппаратную ошибку умножениÑ"
+-
+-#: config/mn10300/mn10300.opt:36
+-msgid "Enable linker relaxations"
+-msgstr "Включить ключ -relax при компоновке"
+-
+-#: config/mn10300/mn10300.opt:40
+-msgid "Return pointers in both a0 and d0"
+-msgstr "Возвращать указатели и на a0 и на d0"
+-
+-#: config/s390/tpf.opt:23
+-msgid "Enable TPF-OS tracing code"
+-msgstr "Включить код траÑÑировки TPF-OS"
+-
+-#: config/s390/tpf.opt:27
+-msgid "Specify main object for TPF-OS"
+-msgstr "Задать главный объект Ð´Ð»Ñ TPF-OS"
+-
+-#: config/s390/s390.opt:23
+-msgid "31 bit ABI"
+-msgstr "31-битный ABI"
+-
+-#: config/s390/s390.opt:27
+-msgid "64 bit ABI"
+-msgstr "64-битный ABI"
+-
+-#: config/s390/s390.opt:31 config/i386/i386.opt:59 config/spu/spu.opt:60
+-msgid "Generate code for given CPU"
+-msgstr "Генерировать код Ð´Ð»Ñ ÑƒÐºÐ°Ð·Ð°Ð½Ð½Ð¾Ð³Ð¾ процеÑÑора"
+-
+-#: config/s390/s390.opt:35
+-msgid "Maintain backchain pointer"
+-msgstr "СохранÑÑ‚ÑŒ укзатель на вызванную функцию"
+-
+-#: config/s390/s390.opt:39
+-msgid "Additional debug prints"
+-msgstr "Выводить отладочную печать"
+-
+-#: config/s390/s390.opt:43
+-msgid "ESA/390 architecture"
+-msgstr "архитектура ESA/390"
+-
+-#: config/s390/s390.opt:47
+-msgid "Enable fused multiply/add instructions"
+-msgstr "Включить инÑтрукции ÑƒÐ¼Ð½Ð¾Ð¶ÐµÐ½Ð¸Ñ Ñ Ð½Ð°ÐºÐ¾Ð¿Ð»ÐµÐ½Ð¸ÐµÐ¼ Ñ Ð½ÐµÑ‡Ñ‘Ñ‚ÐºÐ¸Ð¼ результатом"
+-
+-#: config/s390/s390.opt:51
+-#, fuzzy
+-msgid "Enable decimal floating point hardware support"
+-msgstr "ИÑпользовать ли аппаратуру Ð´Ð»Ñ Ð²Ñ‹Ñ‡Ð¸Ñлений Ñ Ð¿Ð»Ð°Ð²Ð°ÑŽÑ‰ÐµÐ¹ точкой"
+-
+-#: config/s390/s390.opt:55
+-#, fuzzy
+-msgid "Enable hardware floating point"
+-msgstr "ИÑпользовать аппаратную реализацию плавающей арифметики"
+-
+-#: config/s390/s390.opt:67
+-msgid "Use packed stack layout"
+-msgstr "ИÑпользовать компактную раÑкладку в Ñтеке"
+-
+-#: config/s390/s390.opt:71
+-msgid "Use bras for executable < 64k"
+-msgstr "ИÑпользовать команду bras, еÑли выполнÑемый файл < 64Кб"
+-
+-#: config/s390/s390.opt:75
+-#, fuzzy
+-msgid "Disable hardware floating point"
+-msgstr "ИÑпользовать аппаратную реализацию плавающей арифметики"
+-
+-#: config/s390/s390.opt:79
+-msgid "Set the max. number of bytes which has to be left to stack size before a trap instruction is triggered"
+-msgstr ""
+-
+-#: config/s390/s390.opt:83
+-msgid "Emit extra code in the function prologue in order to trap if the stack size exceeds the given limit"
+-msgstr ""
+-
+-#: config/s390/s390.opt:87 config/ia64/ia64.opt:97 config/sparc/sparc.opt:95
+-#: config/i386/i386.opt:183 config/rs6000/rs6000.opt:226 config/spu/spu.opt:64
+-msgid "Schedule code for given CPU"
+-msgstr "Планировать код Ð´Ð»Ñ ÑƒÐºÐ°Ð·Ð°Ð½Ð½Ð¾Ð³Ð¾ процеÑÑора"
+-
+-#: config/s390/s390.opt:91
+-msgid "mvcle use"
+-msgstr "mvcle use"
+-
+-#: config/s390/s390.opt:95
+-msgid "Warn if a function uses alloca or creates an array with dynamic size"
+-msgstr "Предупреждать, еÑли Ñ„ÑƒÐ½ÐºÑ†Ð¸Ñ Ð¸Ñпользует alloca или Ñоздаёт маÑÑив изменÑемого размера"
+-
+-#: config/s390/s390.opt:99
+-msgid "Warn if a single function's framesize exceeds the given framesize"
+-msgstr "Предупреждать, еÑли размер окна функции превоÑходит заданное значение"
+-
+-#: config/s390/s390.opt:103
+-msgid "z/Architecture"
+-msgstr "z/Ðрхитектура"
+-
+ #: config/ia64/ilp32.opt:3
+ msgid "Generate ILP32 code"
+ msgstr "Генерировать код Ð´Ð»Ñ ILP32"
+@@ -12104,10 +11848,16 @@
+ msgid "Enable earlier placing stop bits for better scheduling"
+ msgstr "Включить раннее размещение stop-битов Ð´Ð»Ñ ÑƒÐ»ÑƒÑ‡ÑˆÐµÐ½Ð¸Ñ Ð¿Ð»Ð°Ð½Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ"
+
+-#: config/ia64/ia64.opt:89 config/spu/spu.opt:56 config/pa/pa.opt:51
++#: config/ia64/ia64.opt:89 config/pa/pa.opt:51 config/spu/spu.opt:56
+ msgid "Specify range of registers to make fixed"
+ msgstr "Диапазон региÑтров Ñ Ñ„Ð¸ÐºÑированным назначением"
+
++#: config/ia64/ia64.opt:97 config/i386/i386.opt:183
++#: config/rs6000/rs6000.opt:226 config/spu/spu.opt:64 config/s390/s390.opt:87
++#: config/sparc/sparc.opt:95
++msgid "Schedule code for given CPU"
++msgstr "Планировать код Ð´Ð»Ñ ÑƒÐºÐ°Ð·Ð°Ð½Ð½Ð¾Ð³Ð¾ процеÑÑора"
++
+ #: config/ia64/ia64.opt:101
+ #, fuzzy
+ msgid "Use data speculation before reload"
+@@ -12158,341 +11908,296 @@
+ msgid "Count speculative dependencies while calculating priority of instructions"
+ msgstr ""
+
+-#: config/m32c/m32c.opt:24 config/bfin/bfin.opt:23 config/mt/mt.opt:27
+-msgid "Use simulator runtime"
+-msgstr "ИÑпользовать Ñреду запуÑка ÑимулÑтора"
++#: config/xtensa/xtensa.opt:23
++msgid "Use CONST16 instruction to load constants"
++msgstr "ИÑпользовать команды CONST16 Ð´Ð»Ñ Ð·Ð°Ð³Ñ€ÑƒÐ·ÐºÐ¸ конÑтант"
+
+-#: config/m32c/m32c.opt:28
+-msgid "Compile code for R8C variants"
+-msgstr "Генерировать код Ð´Ð»Ñ Ð²Ð°Ñ€Ð¸Ð°Ð½Ñ‚Ð¾Ð² R8C"
++#: config/xtensa/xtensa.opt:27
++msgid "Enable fused multiply/add and multiply/subtract FP instructions"
++msgstr "ИÑпользовать плавающие команды multiply/add и multiply/subtract"
+
+-#: config/m32c/m32c.opt:32
+-msgid "Compile code for M16C variants"
+-msgstr "Генерировать код Ð´Ð»Ñ Ð²Ð°Ñ€Ð¸Ð°Ð½Ñ‚Ð¾Ð² M16C"
++#: config/xtensa/xtensa.opt:31
++msgid "Use indirect CALLXn instructions for large programs"
++msgstr "ИÑпользовать команды коÑвенного вызова CALLXn в больших программах"
+
+-#: config/m32c/m32c.opt:36
+-msgid "Compile code for M32CM variants"
+-msgstr "Генерировать код Ð´Ð»Ñ Ð²Ð°Ñ€Ð¸Ð°Ð½Ñ‚Ð¾Ð² M32CM"
++#: config/xtensa/xtensa.opt:35
++msgid "Automatically align branch targets to reduce branch penalties"
++msgstr "ÐвтоматичеÑки выравнивать позиции меток Ð´Ð»Ñ ÑÐ¾ÐºÑ€Ð°Ñ‰ÐµÐ½Ð¸Ñ Ð·Ð°Ð´ÐµÑ€Ð¶ÐµÐº переходов"
+
+-#: config/m32c/m32c.opt:40
+-msgid "Compile code for M32C variants"
+-msgstr "Генерировать код Ð´Ð»Ñ Ð²Ð°Ñ€Ð¸Ð°Ð½Ñ‚Ð¾Ð² M32C"
++#: config/xtensa/xtensa.opt:39
++msgid "Intersperse literal pools with code in the text section"
++msgstr "Помещать литеральные данные вмеÑте Ñ ÐºÐ¾Ð´Ð¾Ð¼ в Ñекцию text"
+
+-#: config/m32c/m32c.opt:44
+-msgid "Number of memreg bytes (default: 16, range: 0..16)"
+-msgstr "ЧиÑло байтов в пÑевдорегиÑтрах на памÑти (по умолчанию: 16, возможные значениÑ: 0..16)"
++#: config/pa/pa.opt:23 config/pa/pa.opt:76 config/pa/pa.opt:84
++msgid "Generate PA1.0 code"
++msgstr "Генерировать код PA1.0"
+
+-#: config/sparc/little-endian.opt:23
+-msgid "Generate code for little-endian"
+-msgstr "Генерировать код Ð´Ð»Ñ Ð¾Ð±Ñ€Ð°Ñ‚Ð½Ð¾Ð³Ð¾ (little endian) порÑдка байт"
++#: config/pa/pa.opt:27 config/pa/pa.opt:88 config/pa/pa.opt:108
++msgid "Generate PA1.1 code"
++msgstr "Генерировать код PA1.1"
+
+-#: config/sparc/little-endian.opt:27
+-msgid "Generate code for big-endian"
+-msgstr "Генерировать код Ð´Ð»Ñ Ð¿Ñ€Ñмого (big endian) порÑдка байт"
++#: config/pa/pa.opt:31 config/pa/pa.opt:92
++msgid "Generate PA2.0 code (requires binutils 2.10 or later)"
++msgstr "Генерировать код PA2.0 (требуютÑÑ Ð±Ð¸Ð½. утилиты 2.10 или Ñтарше)"
+
+-#: config/sparc/sparc.opt:23 config/sparc/sparc.opt:27
+-msgid "Use hardware FP"
+-msgstr "ИÑпользовать аппаратный указатель Ñтека"
++#: config/pa/pa.opt:35
++msgid "Generate code for huge switch statements"
++msgstr "Генерировать код Ð´Ð»Ñ Ð±Ð¾Ð»ÑŒÑˆÐ¸Ñ… переключателей"
+
+-#: config/sparc/sparc.opt:31
+-msgid "Do not use hardware FP"
+-msgstr "Ðе иÑпользовать аппаратный указатель Ñтека"
++#: config/pa/pa.opt:39
++msgid "Disable FP regs"
++msgstr "ИÑключить иÑпользование плавающих региÑтров"
+
+-#: config/sparc/sparc.opt:35
+-msgid "Assume possible double misalignment"
+-msgstr "Предполагать, что Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ñ double могут быть невыровненными"
++#: config/pa/pa.opt:43
++msgid "Disable indexed addressing"
++msgstr "Ðе иÑпользовать индекÑную адреÑацию"
+
+-#: config/sparc/sparc.opt:39
+-msgid "Pass -assert pure-text to linker"
+-msgstr "Передать компоновщику ключ -assert pure-text"
++#: config/pa/pa.opt:47
++msgid "Generate fast indirect calls"
++msgstr "Генерировать быÑтрые коÑвенные вызовы"
+
+-#: config/sparc/sparc.opt:43
+-msgid "Use ABI reserved registers"
+-msgstr "ИÑпользовать зарезервированные региÑтры ABI"
++#: config/pa/pa.opt:55
++msgid "Assume code will be assembled by GAS"
++msgstr "Предполагать, что код будет аÑÑемблироватьÑÑ Ð¿Ñ€Ð¸ помощи GAS"
+
+-#: config/sparc/sparc.opt:47
+-msgid "Use hardware quad FP instructions"
+-msgstr "ИÑпользовать аппаратные ÑредÑтва quad-плавающей арифметики"
++#: config/pa/pa.opt:59
++msgid "Put jumps in call delay slots"
++msgstr "Помещать переходы в гнезда задержки вызовов"
+
+-#: config/sparc/sparc.opt:51
+-msgid "Do not use hardware quad fp instructions"
+-msgstr "Ðе иÑпользовать аппаратные ÑредÑтва quad-плавающей арифметики"
++#: config/pa/pa.opt:64
++msgid "Enable linker optimizations"
++msgstr "Включить оптимизации компоновки"
+
+-#: config/sparc/sparc.opt:55
+-msgid "Compile for V8+ ABI"
+-msgstr "ИÑпользовать ABI Ð´Ð»Ñ V8+"
++#: config/pa/pa.opt:68
++msgid "Always generate long calls"
++msgstr "Ð’Ñегда генерировать дальние вызовы"
+
+-#: config/sparc/sparc.opt:59
+-msgid "Use UltraSPARC Visual Instruction Set extensions"
+-msgstr "ИÑпользовать набор команд раÑÑˆÐ¸Ñ€ÐµÐ½Ð¸Ñ UltraSPARC Visual"
++#: config/pa/pa.opt:72
++msgid "Emit long load/store sequences"
++msgstr "Генерировать длинные поÑледовательноÑти чтениÑ/запиÑи"
+
+-#: config/sparc/sparc.opt:63
+-msgid "Pointers are 64-bit"
+-msgstr "Генерировать код Ñ 64-битными указателÑми"
++#: config/pa/pa.opt:80
++msgid "Disable space regs"
++msgstr "ИÑключить иÑпользование space-региÑтров"
+
+-#: config/sparc/sparc.opt:67
+-msgid "Pointers are 32-bit"
+-msgstr "Генерировать код Ñ 32-битными указателÑми"
++#: config/pa/pa.opt:96
++msgid "Use portable calling conventions"
++msgstr "ИÑпользовать портируемые ÑÐ¾Ð³Ð»Ð°ÑˆÐµÐ½Ð¸Ñ Ð¾ вызовах"
+
+-#: config/sparc/sparc.opt:71
+-msgid "Use 64-bit ABI"
+-msgstr "ИÑпользовать 64-битный ABI"
++#: config/pa/pa.opt:100
++msgid "Specify CPU for scheduling purposes. Valid arguments are 700, 7100, 7100LC, 7200, 7300, and 8000"
++msgstr "Задать тип ЦП Ð´Ð»Ñ Ð¾Ð¿Ñ‚Ð¸Ð¼Ð¸Ð·Ð°Ñ†Ð¸Ð¸ планированиÑ. ДопуÑтимые Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ñ 700, 7100, 7100LC, 7200, 7300, 8000"
+
+-#: config/sparc/sparc.opt:75
+-msgid "Use 32-bit ABI"
+-msgstr "ИÑпользовать 32-битный ABI"
++#: config/pa/pa.opt:104 config/frv/frv.opt:177
++msgid "Use software floating point"
++msgstr "ИÑпользовать программную реализацию плавающей арифметики"
+
+-#: config/sparc/sparc.opt:79
+-msgid "Use stack bias"
+-msgstr "ИÑпользовать Ñмещение в Ñтеке"
++#: config/pa/pa.opt:112
++msgid "Do not disable space regs"
++msgstr "Ðе иÑключать иÑпользование space-региÑтров"
+
+-#: config/sparc/sparc.opt:83
+-msgid "Use structs on stronger alignment for double-word copies"
+-msgstr "ИÑпользовать более Ñтрогое выравнивание Ñтруктур Ð´Ð»Ñ ÐºÐ¾Ð¿Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ Ð´Ð²Ð¾Ð¹Ð½Ñ‹Ð¼Ð¸ Ñловами"
++#: config/pa/pa-hpux1111.opt:23 config/pa/pa-hpux1010.opt:23
++#: config/pa/pa-hpux.opt:27
++msgid "Specify UNIX standard for predefines and linking"
++msgstr "Задать Ñтандарт UNIX Ð´Ð»Ñ Ð¾Ð¿Ñ€ÐµÐ´ÐµÐ»Ñ‘Ð½Ð½Ñ‹Ñ… переменных и компоновки"
+
+-#: config/sparc/sparc.opt:87
+-msgid "Optimize tail call instructions in assembler and linker"
+-msgstr "Оптимизировать хвоÑтовые команды вызова в аÑÑемблере и компоновщике"
++#: config/pa/pa64-hpux.opt:23
++msgid "Assume code will be linked by GNU ld"
++msgstr "Предполагать что Ð´Ð»Ñ ÐºÐ¾Ð¼Ð¿Ð¾Ð½Ð¾Ð²ÐºÐ¸ будет применÑÑ‚ÑŒÑÑ GAS ld"
+
+-#: config/sparc/sparc.opt:91 config/rs6000/rs6000.opt:222
+-msgid "Use features of and schedule code for given CPU"
+-msgstr "ИÑпользовать ÑвойÑтва указанного процеÑÑора и планировать код Ð´Ð»Ñ Ð½ÐµÐ³Ð¾"
++#: config/pa/pa64-hpux.opt:27
++msgid "Assume code will be linked by HP ld"
++msgstr "Предполагать что Ð´Ð»Ñ ÐºÐ¾Ð¼Ð¿Ð¾Ð½Ð¾Ð²ÐºÐ¸ будет применÑÑ‚ÑŒÑÑ HP ld"
+
+-#: config/sparc/sparc.opt:99
+-msgid "Use given SPARC-V9 code model"
+-msgstr "ИÑпользовать указанную модель ÐºÐ¾Ð´Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ SPARC-V9"
++#: config/pa/pa-hpux.opt:23
++msgid "Generate cpp defines for server IO"
++msgstr "Генерировать Ð¾Ð¿Ñ€ÐµÐ´ÐµÐ»ÐµÐ½Ð¸Ñ Ð¿Ñ€ÐµÐ¿Ñ€Ð¾Ñ†ÐµÑÑора Ð´Ð»Ñ Ñерверного ввода-вывода"
+
+-#: config/sparc/sparc.opt:103
+-msgid "Enable strict 32-bit psABI struct return checking."
+-msgstr ""
++#: config/pa/pa-hpux.opt:31
++msgid "Generate cpp defines for workstation IO"
++msgstr "Генерировать Ð¾Ð¿Ñ€ÐµÐ´ÐµÐ»ÐµÐ½Ð¸Ñ Ð¿Ñ€ÐµÐ¿Ñ€Ð¾Ñ†ÐµÑÑора Ð´Ð»Ñ Ð²Ð²Ð¾Ð´Ð°-вывода рабочей Ñтанции"
+
+-#: config/m32r/m32r.opt:23
+-msgid "Compile for the m32rx"
+-msgstr "Компилировать Ð´Ð»Ñ m32rx"
++#: config/frv/frv.opt:23
++msgid "Use 4 media accumulators"
++msgstr "ИÑпользовать 4 аккумулÑтора данных"
+
+-#: config/m32r/m32r.opt:27
+-msgid "Compile for the m32r2"
+-msgstr "Компилировать Ð´Ð»Ñ m32r2"
++#: config/frv/frv.opt:27
++msgid "Use 8 media accumulators"
++msgstr "ИÑпользовать 8 аккумулÑторов данных"
+
+-#: config/m32r/m32r.opt:31
+-msgid "Compile for the m32r"
+-msgstr "Компилировать Ð´Ð»Ñ m32r"
++#: config/frv/frv.opt:31
++msgid "Enable label alignment optimizations"
++msgstr "Включить оптимизации Ð²Ñ‹Ñ€Ð°Ð²Ð½Ð¸Ð²Ð°Ð½Ð¸Ñ Ð¼ÐµÑ‚Ð¾Ðº"
+
+-#: config/m32r/m32r.opt:35
+-msgid "Align all loops to 32 byte boundary"
+-msgstr "Выравнивать циклы по границе 32 байт"
++#: config/frv/frv.opt:35
++msgid "Dynamically allocate cc registers"
++msgstr "Ðе иÑпользовать региÑÑ‚Ñ€ BK при раÑпределении региÑтров"
+
+-#: config/m32r/m32r.opt:39
+-msgid "Prefer branches over conditional execution"
+-msgstr "Отдавать предпочтение переходам, а не уÑловному выполнению"
++#: config/frv/frv.opt:42
++msgid "Set the cost of branches"
++msgstr "УÑтановить цену переходов"
+
+-#: config/m32r/m32r.opt:43
+-msgid "Give branches their default cost"
+-msgstr "ПриÑваивать переходам цену по умолчанию"
++#: config/frv/frv.opt:46
++msgid "Enable conditional execution other than moves/scc"
++msgstr "ИÑпользовать уÑловное выполнение и других инÑтрукций кроме moves/scc"
+
+-#: config/m32r/m32r.opt:47
+-msgid "Display compile time statistics"
+-msgstr "Показать ÑтатиÑтику времени компилÑции"
++#: config/frv/frv.opt:50
++msgid "Change the maximum length of conditionally-executed sequences"
++msgstr "Изменить макÑимальную длину уÑловно выполнÑемого пути"
+
+-#: config/m32r/m32r.opt:51
+-msgid "Specify cache flush function"
+-msgstr "Ð¤ÑƒÐ½ÐºÑ†Ð¸Ñ ÑброÑа кÑша"
++#: config/frv/frv.opt:54
++msgid "Change the number of temporary registers that are available to conditionally-executed sequences"
++msgstr "Задать чиÑло временных региÑтров Ð´Ð»Ñ ÑƒÑловно выполнÑемого пути"
+
+-#: config/m32r/m32r.opt:55
+-msgid "Specify cache flush trap number"
+-msgstr "Ðомер Ð¿Ñ€ÐµÑ€Ñ‹Ð²Ð°Ð½Ð¸Ñ Ð¿Ð¾ ÑброÑу кÑша"
++#: config/frv/frv.opt:58
++msgid "Enable conditional moves"
++msgstr "ИÑпользовать уÑловные команды move"
+
+-#: config/m32r/m32r.opt:59
+-msgid "Only issue one instruction per cycle"
+-msgstr "Генерировать код Ñ Ð²Ñ‹Ð´Ð°Ñ‡ÐµÐ¹ одной команды на такт"
++#: config/frv/frv.opt:62
++msgid "Set the target CPU type"
++msgstr "Ð˜Ð¼Ñ Ñ†ÐµÐ»ÐµÐ²Ð¾Ð³Ð¾ процеÑÑора"
+
+-#: config/m32r/m32r.opt:63
+-msgid "Allow two instructions to be issued per cycle"
+-msgstr "Генерировать код Ñ Ð²Ñ‹Ð´Ð°Ñ‡ÐµÐ¹ двух команд на такт"
++#: config/frv/frv.opt:84
++msgid "Use fp double instructions"
++msgstr "ИÑпользовать инÑтрукции двойной точноÑти плавающих вычиÑлений"
+
+-#: config/m32r/m32r.opt:67
+-msgid "Code size: small, medium or large"
+-msgstr "Модель кода: small, medium, large+"
++#: config/frv/frv.opt:88
++msgid "Change the ABI to allow double word insns"
++msgstr "Изменить ABI Ð´Ð»Ñ Ñ€Ð°Ð±Ð¾Ñ‚Ñ‹ Ñ Ð¸Ð½ÑтрукциÑми двойных Ñлов"
+
+-#: config/m32r/m32r.opt:71
+-msgid "Don't call any cache flush functions"
+-msgstr "Ðе вызывать функции ÑброÑа кÑша"
++#: config/frv/frv.opt:92 config/bfin/bfin.opt:73
++msgid "Enable Function Descriptor PIC mode"
++msgstr "Включить режим Function Descriptor PIC"
+
+-#: config/m32r/m32r.opt:75
+-msgid "Don't call any cache flush trap"
+-msgstr "Ðе вызывать прерывание по ÑброÑу кÑша"
++#: config/frv/frv.opt:96
++msgid "Just use icc0/fcc0"
++msgstr "ИÑпользовать только icc0/fcc0"
+
+-#: config/m32r/m32r.opt:82
+-msgid "Small data area: none, sdata, use"
+-msgstr "ОблаÑÑ‚ÑŒ малых данных: none, sdata, use"
++#: config/frv/frv.opt:100
++msgid "Only use 32 FPRs"
++msgstr "ИÑпользовать только 32 плавающих региÑтра"
+
+-#: config/m68k/m68k.opt:23
+-msgid "Generate code for a 520X"
+-msgstr "Генерировать код Ð´Ð»Ñ 520X"
++#: config/frv/frv.opt:104
++msgid "Use 64 FPRs"
++msgstr "ИÑпользовать 64 плавающих региÑтра"
+
+-#: config/m68k/m68k.opt:27
+-msgid "Generate code for a 5206e"
+-msgstr "Генерировать код Ð´Ð»Ñ 5206e"
++#: config/frv/frv.opt:108
++msgid "Only use 32 GPRs"
++msgstr "ИÑпользовать 32 региÑтра общего назначениÑ"
+
+-#: config/m68k/m68k.opt:31
+-msgid "Generate code for a 528x"
+-msgstr "Генерировать код Ð´Ð»Ñ 528x"
++#: config/frv/frv.opt:112
++msgid "Use 64 GPRs"
++msgstr "ИÑпользовать 64 региÑтра общего назначениÑ"
+
+-#: config/m68k/m68k.opt:35
+-msgid "Generate code for a 5307"
+-msgstr "Генерировать код Ð´Ð»Ñ 5307"
++#: config/frv/frv.opt:116
++msgid "Enable use of GPREL for read-only data in FDPIC"
++msgstr "ИÑпользовать GPREL Ð´Ð»Ñ Ð´Ð°Ð½Ð½Ñ‹Ñ… только на чтение в режиме FDPIC"
+
+-#: config/m68k/m68k.opt:39
+-msgid "Generate code for a 5407"
+-msgstr "Генерировать код Ð´Ð»Ñ 5407"
++#: config/frv/frv.opt:120 config/rs6000/rs6000.opt:112
++#: config/pdp11/pdp11.opt:71
++msgid "Use hardware floating point"
++msgstr "ИÑпользовать аппаратную реализацию плавающей арифметики"
+
+-#: config/m68k/m68k.opt:43 config/m68k/m68k.opt:104
+-msgid "Generate code for a 68000"
+-msgstr "Генерировать код Ð´Ð»Ñ 68000"
++#: config/frv/frv.opt:124 config/bfin/bfin.opt:77
++msgid "Enable inlining of PLT in function calls"
++msgstr "Ð’Ñтраивать PLT в вызовы функций"
+
+-#: config/m68k/m68k.opt:47
+-#, fuzzy
+-msgid "Generate code for a 68010"
+-msgstr "Генерировать код Ð´Ð»Ñ 68000"
++#: config/frv/frv.opt:128
++msgid "Enable PIC support for building libraries"
++msgstr "Включить поддержку PIC при Ñборке библиотек"
+
+-#: config/m68k/m68k.opt:51 config/m68k/m68k.opt:108
+-msgid "Generate code for a 68020"
+-msgstr "Генерировать код Ð´Ð»Ñ 68020"
++#: config/frv/frv.opt:132
++msgid "Follow the EABI linkage requirements"
++msgstr "Следовать требованиÑм компоновки EABI"
+
+-#: config/m68k/m68k.opt:55
+-msgid "Generate code for a 68040, without any new instructions"
+-msgstr "Генерировать код Ð´Ð»Ñ 68040 без новых команд"
++#: config/frv/frv.opt:136
++msgid "Disallow direct calls to global functions"
++msgstr "Запретить прÑмые вызовы глобальных функций"
+
+-#: config/m68k/m68k.opt:59
+-msgid "Generate code for a 68060, without any new instructions"
+-msgstr "Генерировать код Ð´Ð»Ñ 68060 без новых команд"
++#: config/frv/frv.opt:140
++msgid "Use media instructions"
++msgstr "ИÑпользовать команды Ð¼Ð°Ð½Ð¸Ð¿ÑƒÐ»Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ Ð¼ÐµÐ´Ð¸Ð°Ð´Ð°Ð½Ð½Ñ‹Ð¼Ð¸"
+
+-#: config/m68k/m68k.opt:63
+-msgid "Generate code for a 68030"
+-msgstr "Генерировать код Ð´Ð»Ñ 68030"
++#: config/frv/frv.opt:144
++msgid "Use multiply add/subtract instructions"
++msgstr "ИÑпользовать команды плавающего ÑƒÐ¼Ð½Ð¾Ð¶ÐµÐ½Ð¸Ñ Ñо Ñложением/вычитанием"
+
+-#: config/m68k/m68k.opt:67
+-msgid "Generate code for a 68040"
+-msgstr "Генерировать код Ð´Ð»Ñ 68040"
++#: config/frv/frv.opt:148
++msgid "Enable optimizing &&/|| in conditional execution"
++msgstr "Включить оптимизацию &&/|| в уÑловно выполнÑемых путÑÑ…"
+
+-#: config/m68k/m68k.opt:71
+-msgid "Generate code for a 68060"
+-msgstr "Генерировать код Ð´Ð»Ñ 68060"
++#: config/frv/frv.opt:152
++msgid "Enable nested conditional execution optimizations"
++msgstr "Включить оптимизацию вложенных уÑловно выполнÑемых путей"
+
+-#: config/m68k/m68k.opt:75
+-msgid "Generate code for a 68302"
+-msgstr "Генерировать код Ð´Ð»Ñ 68302"
++#: config/frv/frv.opt:157
++msgid "Do not mark ABI switches in e_flags"
++msgstr "не отмечать переключение ABI в e_flags"
+
+-#: config/m68k/m68k.opt:79
+-msgid "Generate code for a 68332"
+-msgstr "Генерировать код Ð´Ð»Ñ 68332"
++#: config/frv/frv.opt:161
++msgid "Remove redundant membars"
++msgstr "УдалÑÑ‚ÑŒ лишние куÑки памÑти"
+
+-#: config/m68k/m68k.opt:84
+-msgid "Generate code for a 68851"
+-msgstr "Генерировать код Ð´Ð»Ñ 68851"
++#: config/frv/frv.opt:165
++msgid "Pack VLIW instructions"
++msgstr "Упаковывать команды во VLIW"
+
+-#: config/m68k/m68k.opt:88
+-msgid "Generate code that uses 68881 floating-point instructions"
+-msgstr "Генерировать код Ñ Ð¸Ñпользованием плавающих инÑтрукций 68881"
++#: config/frv/frv.opt:169
++msgid "Enable setting GPRs to the result of comparisons"
++msgstr "ПриÑваивать результат ÑÑ€Ð°Ð²Ð½ÐµÐ½Ð¸Ñ Ðº региÑтру общего назначениÑ"
+
+-#: config/m68k/m68k.opt:92
+-msgid "Align variables on a 32-bit boundary"
+-msgstr "Выравнивать переменные по границе 32 бит"
++#: config/frv/frv.opt:173
++msgid "Change the amount of scheduler lookahead"
++msgstr "Изменить дальноÑÑ‚ÑŒ проÑмотра вперёд в планировщике"
+
+-#: config/m68k/m68k.opt:96 config/arm/arm.opt:49 config/score/score.opt:63
+-msgid "Specify the name of the target architecture"
+-msgstr "Ð˜Ð¼Ñ Ñ†ÐµÐ»ÐµÐ²Ð¾Ð¹ архитектуры"
++#: config/frv/frv.opt:181
++msgid "Assume a large TLS segment"
++msgstr "ИÑпользовать большой Ñегмент TLS"
+
+-#: config/m68k/m68k.opt:100
+-msgid "Use the bit-field instructions"
+-msgstr "ИÑпользовать команды работы Ñ Ð±Ð¸Ñ‚Ð¾Ð²Ñ‹Ð¼Ð¸ полÑми"
++#: config/frv/frv.opt:185
++msgid "Do not assume a large TLS segment"
++msgstr "Ðе иÑпользовать большой Ñегмент TLS"
+
+-#: config/m68k/m68k.opt:112
+-#, fuzzy
+-msgid "Generate code for a ColdFire v4e"
+-msgstr "Генерировать код Ð´Ð»Ñ M*Core M340"
++#: config/frv/frv.opt:190
++msgid "Cause gas to print tomcat statistics"
++msgstr "ЗаÑтавлÑÑ‚ÑŒ gas печатать ÑтатиÑтику tomcat"
+
+-#: config/m68k/m68k.opt:116
+-#, fuzzy
+-msgid "Specify the target CPU"
+-msgstr "Ð˜Ð¼Ñ Ñ†ÐµÐ»ÐµÐ²Ð¾Ð³Ð¾ процеÑÑор"
++#: config/frv/frv.opt:195
++msgid "Link with the library-pic libraries"
++msgstr "Компоновать Ñ Ð±Ð¸Ð±Ð»Ð¸Ð¾Ñ‚ÐµÐºÐ°Ð¼Ð¸ pic"
+
+-#: config/m68k/m68k.opt:120
+-msgid "Generate code for a cpu32"
+-msgstr "Генерировать код Ð´Ð»Ñ cpu32"
++#: config/frv/frv.opt:199
++msgid "Allow branches to be packed with other instructions"
++msgstr "Комбинировать уÑловные переходы Ñ Ð´Ñ€ÑƒÐ³Ð¸Ð¼Ð¸ инÑтрукциÑми"
+
+-#: config/m68k/m68k.opt:124
+-#, fuzzy
+-msgid "Use hardware division instructions on ColdFire"
+-msgstr "ИÑпользовать аппаратные ÑредÑтва quad-плавающей арифметики"
++#: config/i386/cygming.opt:23
++msgid "Create console application"
++msgstr "Создать конÑольное приложение"
+
+-#: config/m68k/m68k.opt:128
+-#, fuzzy
+-msgid "Generate code for a Fido A"
++#: config/i386/cygming.opt:27
++msgid "Use the Cygwin interface"
++msgstr "ИÑпользовать Ð¸Ð½Ñ‚ÐµÑ€Ñ„ÐµÐ¹Ñ Cygwin"
++
++#: config/i386/cygming.opt:31
++msgid "Generate code for a DLL"
+ msgstr "Генерировать код Ð´Ð»Ñ DLL"
+
+-#: config/m68k/m68k.opt:132
+-#, fuzzy
+-msgid "Generate code which uses hardware floating point instructions"
+-msgstr "Генерировать код Ñ Ð¸Ñпользованием плавающих инÑтрукций 68881"
++#: config/i386/cygming.opt:35
++msgid "Ignore dllimport for functions"
++msgstr "Игнорировать dllimport Ð´Ð»Ñ Ñ„ÑƒÐ½ÐºÑ†Ð¸Ð¹"
+
+-#: config/m68k/m68k.opt:136
+-msgid "Enable ID based shared library"
+-msgstr "Поддерживать разделÑемые библиотеки на оÑнове ID"
++#: config/i386/cygming.opt:39
++msgid "Use Mingw-specific thread support"
++msgstr "ИÑпользовать поддержку потоков Mingw"
+
+-#: config/m68k/m68k.opt:140
+-msgid "Do not use the bit-field instructions"
+-msgstr "Ðе иÑпользовать команды работы Ñ Ð±Ð¸Ñ‚Ð¾Ð²Ñ‹Ð¼Ð¸ полÑми"
++#: config/i386/cygming.opt:43
++msgid "Set Windows defines"
++msgstr "Включить Ð¾Ð¿Ñ€ÐµÐ´ÐµÐ»ÐµÐ½Ð¸Ñ Ð¼Ð°ÐºÑ€Ð¾Ñов Windows"
+
+-#: config/m68k/m68k.opt:144
+-msgid "Use normal calling convention"
+-msgstr "ИÑпользовать обычные ÑÐ¾Ð³Ð»Ð°ÑˆÐµÐ½Ð¸Ñ Ð¾ вызовах"
++#: config/i386/cygming.opt:47
++msgid "Create GUI application"
++msgstr "Создать приложение Ñ Ð¸Ð½Ñ‚ÐµÑ€Ð°ÐºÑ‚Ð¸Ð²Ð½Ñ‹Ð¼ графичеÑким интерфейÑом"
+
+-#: config/m68k/m68k.opt:148
+-msgid "Consider type 'int' to be 32 bits wide"
+-msgstr "Считать тип 'int' 32-битным"
+-
+-#: config/m68k/m68k.opt:152
+-msgid "Generate pc-relative code"
+-msgstr "Генерировать код отноÑительно pc"
+-
+-#: config/m68k/m68k.opt:156
+-msgid "Use different calling convention using 'rtd'"
+-msgstr "ИÑпользовать альтернативные ÑÐ¾Ð³Ð»Ð°ÑˆÐµÐ½Ð¸Ñ Ð¾ вызовах Ñ 'rtd'"
+-
+-#: config/m68k/m68k.opt:160 config/bfin/bfin.opt:61
+-msgid "Enable separate data segment"
+-msgstr "Размещать данные в отдельном Ñегменте"
+-
+-#: config/m68k/m68k.opt:164 config/bfin/bfin.opt:57
+-msgid "ID of shared library to build"
+-msgstr "ID разделÑемой библиотеки, ÐºÐ¾Ñ‚Ð¾Ñ€Ð°Ñ Ð±ÑƒÐ´ÐµÑ‚ Ñоздана"
+-
+-#: config/m68k/m68k.opt:168
+-msgid "Consider type 'int' to be 16 bits wide"
+-msgstr "Считать тип 'int' 16-битным"
+-
+-#: config/m68k/m68k.opt:172
+-msgid "Generate code with library calls for floating point"
+-msgstr "Генерировать библиотечные вызовы Ð´Ð»Ñ Ð¿Ð»Ð°Ð²Ð°ÑŽÑ‰Ð¸Ñ… операций"
+-
+-#: config/m68k/m68k.opt:176
+-msgid "Do not use unaligned memory references"
+-msgstr "Ðе иÑпользовать невыровненные ÑÑылки на памÑÑ‚ÑŒ"
+-
+-#: config/m68k/m68k.opt:180
+-#, fuzzy
+-msgid "Tune for the specified target CPU or architecture"
+-msgstr "Ð˜Ð¼Ñ Ñ†ÐµÐ»ÐµÐ²Ð¾Ð¹ архитектуры"
+-
+-#: config/m68k/ieee.opt:24 config/i386/i386.opt:95
+-msgid "Use IEEE math for fp comparisons"
+-msgstr "При ÑравнениÑÑ… плавающих значений Ñледовать Ñтандарту IEEE"
+-
+-#: config/i386/djgpp.opt:25
+-msgid "Ignored (obsolete)"
+-msgstr "ИгнорируетÑÑ (уÑтаревшаÑ)"
+-
+ #: config/i386/i386.opt:23
+ msgid "sizeof(long double) is 16"
+ msgstr "sizeof(long double) равно 16"
+@@ -12529,6 +12234,10 @@
+ msgid "Align destination of the string operations"
+ msgstr "Выравнивать результаты Ñтроковых операций"
+
++#: config/i386/i386.opt:59 config/spu/spu.opt:60 config/s390/s390.opt:31
++msgid "Generate code for given CPU"
++msgstr "Генерировать код Ð´Ð»Ñ ÑƒÐºÐ°Ð·Ð°Ð½Ð½Ð¾Ð³Ð¾ процеÑÑора"
++
+ #: config/i386/i386.opt:63
+ msgid "Use given assembler dialect"
+ msgstr "ИÑпользовать указанный диалект аÑÑемблера"
+@@ -12557,6 +12266,10 @@
+ msgid "Generate floating point mathematics using given instruction set"
+ msgstr "Генерировать код Ð´Ð»Ñ Ð¿Ð»Ð°Ð²Ð°ÑŽÑ‰ÐµÐ¹ арифметики иÑÐ¿Ð¾Ð»ÑŒÐ·ÑƒÑ Ð·Ð°Ð´Ð°Ð½Ð½Ñ‹Ð¹ набор команд"
+
++#: config/i386/i386.opt:95 config/m68k/ieee.opt:24
++msgid "Use IEEE math for fp comparisons"
++msgstr "При ÑравнениÑÑ… плавающих значений Ñледовать Ñтандарту IEEE"
++
+ #: config/i386/i386.opt:99
+ msgid "Inline all known string operations"
+ msgstr "ВыполнÑÑ‚ÑŒ inline-подÑтановку вÑех извеÑтных Ñтроковых операций"
+@@ -12715,58 +12428,402 @@
+ msgid "Enable automatic generation of fused floating point multiply-add instructions"
+ msgstr "Генерировать плавающие команды ÑƒÐ¼Ð½Ð¾Ð¶ÐµÐ½Ð¸Ñ Ñ Ð½Ð°ÐºÐ¾Ð¿Ð»ÐµÐ½Ð¸ÐµÐ¼"
+
+-#: config/i386/cygming.opt:23
+-msgid "Create console application"
+-msgstr "Создать конÑольное приложение"
++#: config/i386/sco5.opt:24
++msgid "Generate ELF output"
++msgstr "Генерировать выходной файл в формате ELF"
+
+-#: config/i386/cygming.opt:27
+-msgid "Use the Cygwin interface"
+-msgstr "ИÑпользовать Ð¸Ð½Ñ‚ÐµÑ€Ñ„ÐµÐ¹Ñ Cygwin"
++#: config/i386/djgpp.opt:25
++msgid "Ignored (obsolete)"
++msgstr "ИгнорируетÑÑ (уÑтаревшаÑ)"
+
+-#: config/i386/cygming.opt:31
+-msgid "Generate code for a DLL"
+-msgstr "Генерировать код Ð´Ð»Ñ DLL"
++#: config/iq2000/iq2000.opt:23 config/mt/mt.opt:55
++msgid "Specify CPU for code generation purposes"
++msgstr "ПроцеÑÑор, Ð´Ð»Ñ ÐºÐ¾Ñ‚Ð¾Ñ€Ð¾Ð³Ð¾ оÑущеÑтвлÑетÑÑ Ð³ÐµÐ½ÐµÑ€Ð°Ñ†Ð¸ÑŽ кода"
+
+-#: config/i386/cygming.opt:35
+-msgid "Ignore dllimport for functions"
+-msgstr "Игнорировать dllimport Ð´Ð»Ñ Ñ„ÑƒÐ½ÐºÑ†Ð¸Ð¹"
++#: config/iq2000/iq2000.opt:27
++msgid "Specify CPU for scheduling purposes"
++msgstr "ПроцеÑÑор, Ð´Ð»Ñ ÐºÐ¾Ñ‚Ð¾Ñ€Ð¾Ð³Ð¾ оÑущеÑтвлÑетÑÑ Ð¿Ð»Ð°Ð½Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ðµ команд"
+
+-#: config/i386/cygming.opt:39
+-msgid "Use Mingw-specific thread support"
+-msgstr "ИÑпользовать поддержку потоков Mingw"
++#: config/iq2000/iq2000.opt:31 config/mips/mips.opt:97
++msgid "Use ROM instead of RAM"
++msgstr "ИÑпользовать ROM вмеÑто RAM"
+
+-#: config/i386/cygming.opt:43
+-msgid "Set Windows defines"
+-msgstr "Включить Ð¾Ð¿Ñ€ÐµÐ´ÐµÐ»ÐµÐ½Ð¸Ñ Ð¼Ð°ÐºÑ€Ð¾Ñов Windows"
++#: config/iq2000/iq2000.opt:35
++msgid "Use GP relative sdata/sbss sections"
++msgstr "ИÑпользовать Ñекции sdata/sbss, адреÑуемые отноÑительно региÑтра GP"
+
+-#: config/i386/cygming.opt:47
+-msgid "Create GUI application"
+-msgstr "Создать приложение Ñ Ð¸Ð½Ñ‚ÐµÑ€Ð°ÐºÑ‚Ð¸Ð²Ð½Ñ‹Ð¼ графичеÑким интерфейÑом"
++#: config/iq2000/iq2000.opt:40
++msgid "No default crt0.o"
++msgstr "отÑутÑтвует Ñтандартный файл crt0.o"
+
+-#: config/i386/sco5.opt:24
+-msgid "Generate ELF output"
+-msgstr "Генерировать выходной файл в формате ELF"
++#: config/iq2000/iq2000.opt:44 config/mips/mips.opt:265
++msgid "Put uninitialized constants in ROM (needs -membedded-data)"
++msgstr "Размещать неинициализированные конÑтанты в ROM (требуетÑÑ -membedded-data)"
+
+-#: config/rs6000/aix41.opt:24 config/rs6000/aix64.opt:32
+-msgid "Support message passing with the Parallel Environment"
+-msgstr "Передача Ñообщений ÑредÑтвами Parallel Environment"
++#: config/arm/arm.opt:23
++msgid "Specify an ABI"
++msgstr "Задать Ð¸Ð½Ñ‚ÐµÑ€Ñ„ÐµÐ¹Ñ (ABI)"
+
+-#: config/rs6000/aix.opt:24 config/rs6000/rs6000.opt:147
+-msgid "Conform more closely to IBM XLC semantics"
+-msgstr "Более подробно Ñледовать Ñемантике IBM XLC"
++#: config/arm/arm.opt:27
++msgid "Generate a call to abort if a noreturn function returns"
++msgstr "Генерировать вызов abort, еÑли в noreturn-функции выполнÑетÑÑ Ð²Ð¾Ð·Ð²Ñ€Ð°Ñ‚ управлениÑ"
+
+-#: config/rs6000/darwin.opt:24 config/rs6000/sysv4.opt:132
++#: config/arm/arm.opt:34
++msgid "Pass FP arguments in FP registers"
++msgstr "Передавать плавающие аргументы в FP-региÑтрах"
++
++#: config/arm/arm.opt:38
++msgid "Generate APCS conformant stack frames"
++msgstr "Генерировать APCS-ÑовмеÑтимые кадры Ñтека"
++
++#: config/arm/arm.opt:42
++msgid "Generate re-entrant, PIC code"
++msgstr "Генерировать реентерабельный PIC-код"
++
++#: config/arm/arm.opt:49 config/m68k/m68k.opt:96 config/score/score.opt:63
++msgid "Specify the name of the target architecture"
++msgstr "Ð˜Ð¼Ñ Ñ†ÐµÐ»ÐµÐ²Ð¾Ð¹ архитектуры"
++
++#: config/arm/arm.opt:56
++msgid "Assume target CPU is configured as big endian"
++msgstr "Считать что процеÑÑор имеет прÑмой порÑдок байт (big endian)"
++
++#: config/arm/arm.opt:60
++msgid "Thumb: Assume non-static functions may be called from ARM code"
++msgstr "Thumb: Ñчитать, что неÑтатичеÑкие функции могут быть вызваны из ARM-программ"
++
++#: config/arm/arm.opt:64
++msgid "Thumb: Assume function pointers may go to non-Thumb aware code"
++msgstr "Thumb: Ñчитать, что указатели на функции могут ÑÑылатьÑÑ Ð½Ð° не-Thumb код"
++
++#: config/arm/arm.opt:68
++msgid "Cirrus: Place NOPs to avoid invalid instruction combinations"
++msgstr "Cirrus: генерировать команды NOP во избежание некорректного ÐºÐ¾Ð¼Ð±Ð¸Ð½Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ ÐºÐ¾Ð¼Ð°Ð½Ð´"
++
++#: config/arm/arm.opt:72 config/bfin/bfin.opt:27
++msgid "Specify the name of the target CPU"
++msgstr "Ð˜Ð¼Ñ Ñ†ÐµÐ»ÐµÐ²Ð¾Ð³Ð¾ процеÑÑора"
++
++#: config/arm/arm.opt:76
++msgid "Specify if floating point hardware should be used"
++msgstr "ИÑпользовать ли аппаратуру Ð´Ð»Ñ Ð²Ñ‹Ñ‡Ð¸Ñлений Ñ Ð¿Ð»Ð°Ð²Ð°ÑŽÑ‰ÐµÐ¹ точкой"
++
++#: config/arm/arm.opt:90
++msgid "Specify the name of the target floating point hardware/format"
++msgstr "Задать целевую аппаратуру Ð´Ð»Ñ Ð¿Ð»Ð°Ð²Ð°ÑŽÑ‰ÐµÐ¹ точки и формат вычиÑлений"
++
++#: config/arm/arm.opt:94
++msgid "Alias for -mfloat-abi=hard"
++msgstr "Замена Ð´Ð»Ñ -mflat-abi=hard"
++
++#: config/arm/arm.opt:98
++msgid "Assume target CPU is configured as little endian"
++msgstr "Считать что процеÑÑор имеет обратный порÑдок байт (little endian)"
++
++#: config/arm/arm.opt:102
++msgid "Generate call insns as indirect calls, if necessary"
++msgstr "Генерировать коÑвенные вызовы, еÑли нужно"
++
++#: config/arm/arm.opt:106
++msgid "Specify the register to be used for PIC addressing"
++msgstr "РегиÑÑ‚Ñ€ Ð´Ð»Ñ PIC-адреÑации"
++
++#: config/arm/arm.opt:110
++msgid "Store function names in object code"
++msgstr "СохранÑÑ‚ÑŒ имена функций в объектном коде"
++
++#: config/arm/arm.opt:114
++msgid "Permit scheduling of a function's prologue sequence"
++msgstr "Разрешать планирование пролога функции"
++
++#: config/arm/arm.opt:118
++msgid "Do not load the PIC register in function prologues"
++msgstr "Ðе загружать PIC-региÑÑ‚Ñ€ в прологах функций"
++
++#: config/arm/arm.opt:122
++msgid "Alias for -mfloat-abi=soft"
++msgstr "Замена Ð´Ð»Ñ -mfloat-abi=soft"
++
++#: config/arm/arm.opt:126
++msgid "Specify the minimum bit alignment of structures"
++msgstr "Минимальное битовое выравнивание в Ñтруктурах"
++
++#: config/arm/arm.opt:130
++msgid "Compile for the Thumb not the ARM"
++msgstr "Компилировать Ð´Ð»Ñ Thumb, а не Ð´Ð»Ñ ARM"
++
++#: config/arm/arm.opt:134
++msgid "Support calls between Thumb and ARM instruction sets"
++msgstr "Включить поддержку вызовов между ÑиÑтемами команд Thumb и ARM"
++
++#: config/arm/arm.opt:138
++msgid "Specify how to access the thread pointer"
++msgstr "СпоÑоб доÑтупа к указателю на нить"
++
++#: config/arm/arm.opt:142
++msgid "Thumb: Generate (non-leaf) stack frames even if not needed"
++msgstr "Thumb: генерировать (не лиÑтовые) кадры Ñтека, даже еÑли они не нужны"
++
++#: config/arm/arm.opt:146
++msgid "Thumb: Generate (leaf) stack frames even if not needed"
++msgstr "Thumb: генерировать (лиÑтовые) кадры Ñтека, даже еÑли они не нужны"
++
++#: config/arm/arm.opt:150
++msgid "Tune code for the given processor"
++msgstr "Ðдаптировать код Ð´Ð»Ñ ÑƒÐºÐ°Ð·Ð°Ð½Ð½Ð¾Ð³Ð¾ процеÑÑора"
++
++#: config/arm/arm.opt:154
++msgid "Assume big endian bytes, little endian words"
++msgstr "Считать, что байты имеют прÑмой порÑдок бит, а Ñлова - обратный порÑдок байт"
++
++#: config/arm/arm.opt:158
++msgid "Use Neon quad-word (rather than double-word) registers for vectorization"
++msgstr ""
++
++#: config/arm/pe.opt:23
++msgid "Ignore dllimport attribute for functions"
++msgstr "Игнорировать атрибут dllimport Ð´Ð»Ñ Ñ„ÑƒÐ½ÐºÑ†Ð¸Ð¹"
++
++#: config/cris/linux.opt:27
++msgid "Together with -fpic and -fPIC, do not use GOTPLT references"
++msgstr "Ðе иÑпользовать GOTPLT-ÑÑылки Ñ -fpic и -fPIC"
++
++#: config/cris/aout.opt:27
++msgid "Compile for the MMU-less Etrax 100-based elinux system"
++msgstr "Компилировать Ð´Ð»Ñ ÑиÑтемы MMU-less Etrax 100-based elinux"
++
++#: config/cris/aout.opt:33
++msgid "For elinux, request a specified stack-size for this program"
++msgstr "Ð”Ð»Ñ elinux уÑтановить указанный размер Ñтека Ð´Ð»Ñ Ñтой программы"
++
++#: config/cris/cris.opt:45
++msgid "Work around bug in multiplication instruction"
++msgstr "Обойти ошибку в команде умножениÑ"
++
++#: config/cris/cris.opt:51
++msgid "Compile for ETRAX 4 (CRIS v3)"
++msgstr "Компилировать Ð´Ð»Ñ ETRAX 4 (CRIS v3)"
++
++#: config/cris/cris.opt:56
++msgid "Compile for ETRAX 100 (CRIS v8)"
++msgstr "Компилировать Ð´Ð»Ñ ETRAX 100 (CRIS v8)"
++
++#: config/cris/cris.opt:64
++msgid "Emit verbose debug information in assembly code"
++msgstr "Выводить в аÑÑемблерный код подробную отладочную информацию"
++
++#: config/cris/cris.opt:71
++msgid "Do not use condition codes from normal instructions"
++msgstr "Ð’ обычных командах не иÑпользовать коды уÑловий"
++
++#: config/cris/cris.opt:80
++msgid "Do not emit addressing modes with side-effect assignment"
++msgstr "Ðе иÑпользовать режимов адреÑации Ñ Ð¿Ð¾Ð±Ð¾Ñ‡Ð½Ñ‹Ð¼Ð¸ Ñффектами"
++
++#: config/cris/cris.opt:89
++msgid "Do not tune stack alignment"
++msgstr "Ðе выравнивать данные в Ñтеке"
++
++#: config/cris/cris.opt:98
++msgid "Do not tune writable data alignment"
++msgstr "Ðе выравнивать данные, доÑтупные на запиÑÑŒ"
++
++#: config/cris/cris.opt:107
++msgid "Do not tune code and read-only data alignment"
++msgstr "Ðе выравнивать код и данные, доÑтупные только на чтение"
++
++#: config/cris/cris.opt:116
++msgid "Align code and data to 32 bits"
++msgstr "Выравнивать код и данные по границе 32 бит"
++
++#: config/cris/cris.opt:133
++msgid "Don't align items in code or data"
++msgstr "Ðе выравнивать Ñлементы кода или данных"
++
++#: config/cris/cris.opt:142
++msgid "Do not emit function prologue or epilogue"
++msgstr "Ðе генерировать прологи и Ñпилоги функций"
++
++#: config/cris/cris.opt:149
++msgid "Use the most feature-enabling options allowed by other options"
++msgstr "ИÑпользовать макÑимум возможноÑтей, не противоречащих другим ключам"
++
++#: config/cris/cris.opt:158
++msgid "Override -mbest-lib-options"
++msgstr "Отменить -mbest-lib-options"
++
++#: config/cris/cris.opt:165
++msgid "Generate code for the specified chip or CPU version"
++msgstr "Генерировать код Ð´Ð»Ñ ÑƒÐºÐ°Ð·Ð°Ð½Ð½Ð¾Ð³Ð¾ процеÑÑора или верÑии процеÑÑора"
++
++#: config/cris/cris.opt:169
++msgid "Tune alignment for the specified chip or CPU version"
++msgstr "Делать выравнивание Ð´Ð»Ñ ÑƒÐºÐ°Ð·Ð°Ð½Ð½Ð¾Ð³Ð¾ процеÑÑора или верÑии процеÑÑора"
++
++#: config/cris/cris.opt:173
++msgid "Warn when a stackframe is larger than the specified size"
++msgstr "Предупреждать, еÑли кадр Ñтека превышает указанный размер"
++
++#: config/avr/avr.opt:23
++#, fuzzy
++msgid "Use subroutines for function prologues and epilogues"
++msgstr "Генерировать прологи/Ñпилоги функций как подпрограммы"
++
++#: config/avr/avr.opt:27
++#, fuzzy
++msgid "Select the target MCU"
++msgstr "Ð˜Ð¼Ñ Ñ†ÐµÐ»ÐµÐ²Ð¾Ð³Ð¾ процеÑÑор"
++
++#: config/avr/avr.opt:34
++#, fuzzy
++msgid "Use an 8-bit 'int' type"
++msgstr "ИÑпользовать 64-битное предÑтавление Ð´Ð»Ñ Ñ‚Ð¸Ð¿Ð° int"
++
++#: config/avr/avr.opt:38
++msgid "Change the stack pointer without disabling interrupts"
++msgstr "ИзменÑÑ‚ÑŒ указатель Ñтека без отмены прерываний"
++
++#: config/avr/avr.opt:42
++msgid "Do not generate tablejump insns"
++msgstr "Ðе генерировать инÑтрукции табличных переходов"
++
++#: config/avr/avr.opt:52
++msgid "Use rjmp/rcall (limited range) on >8K devices"
++msgstr "ИÑпользовать rjmp/rcall (Ñ Ð¾Ð³Ñ€Ð°Ð½Ð¸Ñ‡ÐµÐ½Ð½Ñ‹Ð¼ диапазоном) Ð´Ð»Ñ ÑƒÑтройÑтв >8K"
++
++#: config/avr/avr.opt:56
++msgid "Output instruction sizes to the asm file"
++msgstr "Выводить размеры команд в аÑÑемблерный файл"
++
++#: config/avr/avr.opt:60
++msgid "Change only the low 8 bits of the stack pointer"
++msgstr "ИзменÑÑ‚ÑŒ только младшие 8 бит ÑƒÐºÐ°Ð·Ð°Ñ‚ÐµÐ»Ñ Ñтека"
++
++#: config/avr/avr.opt:64
++#, fuzzy
++msgid "Relax branches"
++msgstr "Переходов нет\n"
++
++#: config/avr/avr.opt:68
++msgid "Make the linker relaxation machine assume that a program counter wrap-around occures."
++msgstr ""
++
++#: config/linux.opt:24
++#, fuzzy
++msgid "Use uClibc instead of GNU libc"
++msgstr "ИÑпользовать ROM вмеÑто RAM"
++
++#: config/linux.opt:28
++#, fuzzy
++msgid "Use GNU libc instead of uClibc"
++msgstr "ИÑпользовать ROM вмеÑто RAM"
++
++#: config/rs6000/sysv4.opt:24
++msgid "Select ABI calling convention"
++msgstr "ИÑпользовать ÑÐ¾Ð³Ð»Ð°ÑˆÐµÐ½Ð¸Ñ Ð¾ вызовах Ð´Ð»Ñ ABI"
++
++#: config/rs6000/sysv4.opt:28
++msgid "Select method for sdata handling"
++msgstr "Метод обработки sdata"
++
++#: config/rs6000/sysv4.opt:36 config/rs6000/sysv4.opt:40
++msgid "Align to the base type of the bit-field"
++msgstr "Выравнивать Ð´Ð»Ñ Ð±Ð°Ð·Ð¾Ð²Ð¾Ð³Ð¾ типа битового полÑ"
++
++#: config/rs6000/sysv4.opt:45 config/rs6000/sysv4.opt:49
++msgid "Produce code relocatable at runtime"
++msgstr "Генерировать код, перемещаемый во Ð²Ñ€ÐµÐ¼Ñ Ð²Ñ‹Ð¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ñ"
++
++#: config/rs6000/sysv4.opt:53 config/rs6000/sysv4.opt:57
++msgid "Produce little endian code"
++msgstr "Генерировать код Ð´Ð»Ñ Ð¾Ð±Ñ€Ð°Ñ‚Ð½Ð¾Ð³Ð¾ порÑдка байт (little endian)"
++
++#: config/rs6000/sysv4.opt:61 config/rs6000/sysv4.opt:65
++msgid "Produce big endian code"
++msgstr "Генерировать код Ð´Ð»Ñ Ð¿Ñ€Ñмого порÑдка байт (big endian)"
++
++#: config/rs6000/sysv4.opt:70 config/rs6000/sysv4.opt:74
++#: config/rs6000/sysv4.opt:83 config/rs6000/sysv4.opt:100
++#: config/rs6000/sysv4.opt:128 config/rs6000/sysv4.opt:140
++msgid "no description yet"
++msgstr "опиÑание отÑутÑтвует"
++
++#: config/rs6000/sysv4.opt:78
++msgid "Assume all variable arg functions are prototyped"
++msgstr "Предполагать, что вÑе функции Ñ Ð¿ÐµÑ€ÐµÐ¼ÐµÐ½Ð½Ñ‹Ð¼Ð¸ аргументами имеют прототипы"
++
++#: config/rs6000/sysv4.opt:87
++msgid "Use EABI"
++msgstr "ИÑпользовать EABI"
++
++#: config/rs6000/sysv4.opt:91
++msgid "Allow bit-fields to cross word boundaries"
++msgstr "Разрешить битовые полÑ, переÑекающие границу Ñлова"
++
++#: config/rs6000/sysv4.opt:95
++msgid "Use alternate register names"
++msgstr "ИÑпользовать альтернативные имена региÑтров"
++
++#: config/rs6000/sysv4.opt:104
++msgid "Link with libsim.a, libc.a and sim-crt0.o"
++msgstr "Компоновать Ñ libsim.a, libc.a и sim-crt0.o"
++
++#: config/rs6000/sysv4.opt:108
++msgid "Link with libads.a, libc.a and crt0.o"
++msgstr "Компоновать Ñ libads.a, libc.a и crt0.o"
++
++#: config/rs6000/sysv4.opt:112
++msgid "Link with libyk.a, libc.a and crt0.o"
++msgstr "Компоновать Ñ libyk.a, libc.a и crt0.o"
++
++#: config/rs6000/sysv4.opt:116
++msgid "Link with libmvme.a, libc.a and crt0.o"
++msgstr "Компоновать Ñ libmvme.a, libc.a и crt0.o"
++
++#: config/rs6000/sysv4.opt:120
++msgid "Set the PPC_EMB bit in the ELF flags header"
++msgstr "УÑтановить бит PPC_EMB в заголовке ELF-файла"
++
++#: config/rs6000/sysv4.opt:124
++msgid "Use the WindISS simulator"
++msgstr "ИÑпользовать ÑимулÑтор WindISS"
++
++#: config/rs6000/sysv4.opt:132 config/rs6000/darwin.opt:24
+ msgid "Generate 64-bit code"
+ msgstr "Генерировать 64-битный код"
+
+-#: config/rs6000/darwin.opt:28 config/rs6000/sysv4.opt:136
++#: config/rs6000/sysv4.opt:136 config/rs6000/darwin.opt:28
+ msgid "Generate 32-bit code"
+ msgstr "Генерировать 32-битный код"
+
++#: config/rs6000/sysv4.opt:144
++msgid "Generate code to use a non-exec PLT and GOT"
++msgstr "Генерировать код Ð´Ð»Ñ Ð¸ÑÐ¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ð½Ð¸Ñ Ð½Ðµ выполнÑющихÑÑ PLT и GOT"
++
++#: config/rs6000/sysv4.opt:148
++msgid "Generate code for old exec BSS PLT"
++msgstr "Генерировать код Ð´Ð»Ñ Ñтарой выполнÑющей BSS PLT"
++
++#: config/rs6000/linux64.opt:24
++msgid "Call mcount for profiling before a function prologue"
++msgstr "Вызывать mcount Ð´Ð»Ñ Ð¿Ñ€Ð¾Ñ„Ð¸Ð»Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ Ð¿ÐµÑ€ÐµÐ´ прологом функции"
++
+ #: config/rs6000/darwin.opt:32
+ msgid "Generate code suitable for executables (NOT shared libs)"
+ msgstr "Генерировать код Ð´Ð»Ñ Ð²Ñ‹Ð¿Ð¾Ð»Ð½Ñемых файлов (а не разделÑемых библиотек)"
+
++#: config/rs6000/aix64.opt:24
++msgid "Compile for 64-bit pointers"
++msgstr "Генерировать код Ñ 64-битными указателÑми"
++
++#: config/rs6000/aix64.opt:28
++msgid "Compile for 32-bit pointers"
++msgstr "Генерировать код Ñ 32-битными указателÑми"
++
++#: config/rs6000/aix64.opt:32 config/rs6000/aix41.opt:24
++msgid "Support message passing with the Parallel Environment"
++msgstr "Передача Ñообщений ÑредÑтвами Parallel Environment"
++
+ #: config/rs6000/rs6000.opt:24
+ msgid "Use POWER instruction set"
+ msgstr "ИÑпользовать ÑиÑтему команд POWER"
+@@ -12888,6 +12945,10 @@
+ msgid "Return small structures in registers (SVR4 default)"
+ msgstr "Возвращать короткие Ñтруктуры в региÑтрах (умолчание Ð´Ð»Ñ SVR4)"
+
++#: config/rs6000/rs6000.opt:147 config/rs6000/aix.opt:24
++msgid "Conform more closely to IBM XLC semantics"
++msgstr "Более подробно Ñледовать Ñемантике IBM XLC"
++
+ #: config/rs6000/rs6000.opt:151
+ #, fuzzy
+ msgid "Generate software reciprocal sqrt for better throughput"
+@@ -12954,6 +13015,10 @@
+ msgid "Specify ABI to use"
+ msgstr "ИÑпользовать указанный ABI"
+
++#: config/rs6000/rs6000.opt:222 config/sparc/sparc.opt:91
++msgid "Use features of and schedule code for given CPU"
++msgstr "ИÑпользовать ÑвойÑтва указанного процеÑÑора и планировать код Ð´Ð»Ñ Ð½ÐµÐ³Ð¾"
++
+ #: config/rs6000/rs6000.opt:230
+ msgid "Select full, part, or no traceback table"
+ msgstr "Вывод traceback-таблицы: full (полнаÑ), part (чаÑтичнаÑ), no (не выводить таблицу)"
+@@ -12990,96 +13055,74 @@
+ msgid "Specify scheduling priority for dispatch slot restricted insns"
+ msgstr "Задать приоритет Ð¿Ð»Ð°Ð½Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ Ð´Ð»Ñ ÐºÐ¾Ð¼Ð°Ð½Ð´ Ñ Ð¾Ð³Ñ€Ð°Ð½Ð¸Ñ‡ÐµÐ½Ð¸Ñми по dispatch-Ñлотам"
+
+-#: config/rs6000/aix64.opt:24
+-msgid "Compile for 64-bit pointers"
+-msgstr "Генерировать код Ñ 64-битными указателÑми"
++#: config/v850/v850.opt:23
++msgid "Use registers r2 and r5"
++msgstr "ИÑпользовать региÑтры r2 и r5"
+
+-#: config/rs6000/aix64.opt:28
+-msgid "Compile for 32-bit pointers"
+-msgstr "Генерировать код Ñ 32-битными указателÑми"
++#: config/v850/v850.opt:27
++msgid "Use 4 byte entries in switch tables"
++msgstr "Генерировать 4-байтные Ñлементы в таблицах переключателей"
+
+-#: config/rs6000/linux64.opt:24
+-msgid "Call mcount for profiling before a function prologue"
+-msgstr "Вызывать mcount Ð´Ð»Ñ Ð¿Ñ€Ð¾Ñ„Ð¸Ð»Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ Ð¿ÐµÑ€ÐµÐ´ прологом функции"
++#: config/v850/v850.opt:31
++msgid "Enable backend debugging"
++msgstr "Включить отладочную печать"
+
+-#: config/rs6000/sysv4.opt:24
+-msgid "Select ABI calling convention"
+-msgstr "ИÑпользовать ÑÐ¾Ð³Ð»Ð°ÑˆÐµÐ½Ð¸Ñ Ð¾ вызовах Ð´Ð»Ñ ABI"
++#: config/v850/v850.opt:35
++msgid "Do not use the callt instruction"
++msgstr "Ðе иÑпользовать команды callt"
+
+-#: config/rs6000/sysv4.opt:28
+-msgid "Select method for sdata handling"
+-msgstr "Метод обработки sdata"
++#: config/v850/v850.opt:39
++msgid "Reuse r30 on a per function basis"
++msgstr "Включить иÑпользование r30"
+
+-#: config/rs6000/sysv4.opt:36 config/rs6000/sysv4.opt:40
+-msgid "Align to the base type of the bit-field"
+-msgstr "Выравнивать Ð´Ð»Ñ Ð±Ð°Ð·Ð¾Ð²Ð¾Ð³Ð¾ типа битового полÑ"
++#: config/v850/v850.opt:43
++msgid "Support Green Hills ABI"
++msgstr "Включить поддержку Green Hills ABI"
+
+-#: config/rs6000/sysv4.opt:45 config/rs6000/sysv4.opt:49
+-msgid "Produce code relocatable at runtime"
+-msgstr "Генерировать код, перемещаемый во Ð²Ñ€ÐµÐ¼Ñ Ð²Ñ‹Ð¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ñ"
++#: config/v850/v850.opt:47
++msgid "Prohibit PC relative function calls"
++msgstr "Запретить вызовы функций отноÑительно PC"
+
+-#: config/rs6000/sysv4.opt:53 config/rs6000/sysv4.opt:57
+-msgid "Produce little endian code"
+-msgstr "Генерировать код Ð´Ð»Ñ Ð¾Ð±Ñ€Ð°Ñ‚Ð½Ð¾Ð³Ð¾ порÑдка байт (little endian)"
++#: config/v850/v850.opt:51
++msgid "Use stubs for function prologues"
++msgstr "ИÑпользовать заготовки прологов функций"
+
+-#: config/rs6000/sysv4.opt:61 config/rs6000/sysv4.opt:65
+-msgid "Produce big endian code"
+-msgstr "Генерировать код Ð´Ð»Ñ Ð¿Ñ€Ñмого порÑдка байт (big endian)"
++#: config/v850/v850.opt:55
++msgid "Set the max size of data eligible for the SDA area"
++msgstr "МакÑимальный размер данных Ð´Ð»Ñ Ñ€Ð°Ð·Ð¼ÐµÑ‰ÐµÐ½Ð¸Ñ Ð² облаÑти SDA"
+
+-#: config/rs6000/sysv4.opt:70 config/rs6000/sysv4.opt:74
+-#: config/rs6000/sysv4.opt:83 config/rs6000/sysv4.opt:100
+-#: config/rs6000/sysv4.opt:128 config/rs6000/sysv4.opt:140
+-msgid "no description yet"
+-msgstr "опиÑание отÑутÑтвует"
++#: config/v850/v850.opt:59
++msgid "Enable the use of the short load instructions"
++msgstr "Включить иÑпользование коротких команд загрузки"
+
+-#: config/rs6000/sysv4.opt:78
+-msgid "Assume all variable arg functions are prototyped"
+-msgstr "Предполагать, что вÑе функции Ñ Ð¿ÐµÑ€ÐµÐ¼ÐµÐ½Ð½Ñ‹Ð¼Ð¸ аргументами имеют прототипы"
++#: config/v850/v850.opt:63
++msgid "Same as: -mep -mprolog-function"
++msgstr "То же, что -mep -mprolog-function"
+
+-#: config/rs6000/sysv4.opt:87
+-msgid "Use EABI"
+-msgstr "ИÑпользовать EABI"
++#: config/v850/v850.opt:67
++msgid "Set the max size of data eligible for the TDA area"
++msgstr "МакÑимальный размер данных Ð´Ð»Ñ Ñ€Ð°Ð·Ð¼ÐµÑ‰ÐµÐ½Ð¸Ñ Ð² облаÑти TDA"
+
+-#: config/rs6000/sysv4.opt:91
+-msgid "Allow bit-fields to cross word boundaries"
+-msgstr "Разрешить битовые полÑ, переÑекающие границу Ñлова"
++#: config/v850/v850.opt:71
++msgid "Enforce strict alignment"
++msgstr "ИÑпользовать Ñтрогое выравнивание"
+
+-#: config/rs6000/sysv4.opt:95
+-msgid "Use alternate register names"
+-msgstr "ИÑпользовать альтернативные имена региÑтров"
++#: config/v850/v850.opt:78
++msgid "Compile for the v850 processor"
++msgstr "Компилировать Ð´Ð»Ñ Ð¿Ñ€Ð¾Ñ†ÐµÑÑора v850"
+
+-#: config/rs6000/sysv4.opt:104
+-msgid "Link with libsim.a, libc.a and sim-crt0.o"
+-msgstr "Компоновать Ñ libsim.a, libc.a и sim-crt0.o"
++#: config/v850/v850.opt:82
++msgid "Compile for the v850e processor"
++msgstr "Компилировать Ð´Ð»Ñ Ð¿Ñ€Ð¾Ñ†ÐµÑÑора v850e"
+
+-#: config/rs6000/sysv4.opt:108
+-msgid "Link with libads.a, libc.a and crt0.o"
+-msgstr "Компоновать Ñ libads.a, libc.a и crt0.o"
++#: config/v850/v850.opt:86
++msgid "Compile for the v850e1 processor"
++msgstr "Компилировать Ð´Ð»Ñ Ð¿Ñ€Ð¾Ñ†ÐµÑÑора v850e1"
+
+-#: config/rs6000/sysv4.opt:112
+-msgid "Link with libyk.a, libc.a and crt0.o"
+-msgstr "Компоновать Ñ libyk.a, libc.a и crt0.o"
++#: config/v850/v850.opt:90
++msgid "Set the max size of data eligible for the ZDA area"
++msgstr "МакÑимальный размер данных Ð´Ð»Ñ Ñ€Ð°Ð·Ð¼ÐµÑ‰ÐµÐ½Ð¸Ñ Ð² облаÑти ZDA"
+
+-#: config/rs6000/sysv4.opt:116
+-msgid "Link with libmvme.a, libc.a and crt0.o"
+-msgstr "Компоновать Ñ libmvme.a, libc.a и crt0.o"
+-
+-#: config/rs6000/sysv4.opt:120
+-msgid "Set the PPC_EMB bit in the ELF flags header"
+-msgstr "УÑтановить бит PPC_EMB в заголовке ELF-файла"
+-
+-#: config/rs6000/sysv4.opt:124
+-msgid "Use the WindISS simulator"
+-msgstr "ИÑпользовать ÑимулÑтор WindISS"
+-
+-#: config/rs6000/sysv4.opt:144
+-msgid "Generate code to use a non-exec PLT and GOT"
+-msgstr "Генерировать код Ð´Ð»Ñ Ð¸ÑÐ¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ð½Ð¸Ñ Ð½Ðµ выполнÑющихÑÑ PLT и GOT"
+-
+-#: config/rs6000/sysv4.opt:148
+-msgid "Generate code for old exec BSS PLT"
+-msgstr "Генерировать код Ð´Ð»Ñ Ñтарой выполнÑющей BSS PLT"
+-
+ #: config/spu/spu.opt:20
+ msgid "Emit warnings when run-time relocations are generated"
+ msgstr ""
+@@ -13122,62 +13165,268 @@
+ msgid "Generate code for 32 bit addressing"
+ msgstr "Генерировать код Ð´Ð»Ñ Ð¿Ñ€Ñмого (big endian) порÑдка байт"
+
+-#: config/mcore/mcore.opt:23
+-msgid "Generate code for the M*Core M210"
+-msgstr "Генерировать код Ð´Ð»Ñ M*Core M210"
++#: config/vax/vax.opt:23 config/vax/vax.opt:27
++msgid "Target DFLOAT double precision code"
++msgstr "Генерировать код двойной плавающей точноÑти DFLOAT"
+
+-#: config/mcore/mcore.opt:27
+-msgid "Generate code for the M*Core M340"
+-msgstr "Генерировать код Ð´Ð»Ñ M*Core M340"
++#: config/vax/vax.opt:31 config/vax/vax.opt:35
++msgid "Generate GFLOAT double precision code"
++msgstr "Генерировать код двойной плавающей точноÑти GFLOAT"
+
+-#: config/mcore/mcore.opt:31
+-msgid "Set maximum alignment to 4"
+-msgstr "МакÑимальное выравнивание равно 4"
++#: config/vax/vax.opt:39
++msgid "Generate code for GNU assembler (gas)"
++msgstr "Генерировать код Ð´Ð»Ñ GNU-аÑÑемблера (gas)"
+
+-#: config/mcore/mcore.opt:35
+-msgid "Force functions to be aligned to a 4 byte boundary"
+-msgstr "Выравнивать функции по границе 4 байт"
++#: config/vax/vax.opt:43
++msgid "Generate code for UNIX assembler"
++msgstr "Генерировать код Ð´Ð»Ñ UNIX-аÑÑемблера"
+
+-#: config/mcore/mcore.opt:39
+-msgid "Set maximum alignment to 8"
+-msgstr "МакÑимальное выравнивание равно 8"
++#: config/vax/vax.opt:47
++msgid "Use VAXC structure conventions"
++msgstr "ИÑпользовать ÑÐ¾Ð³Ð»Ð°ÑˆÐµÐ½Ð¸Ñ Ð¾ Ñтруктурах VAXC"
+
+-#: config/mcore/mcore.opt:43 config/score/score.opt:23
+-msgid "Generate big-endian code"
+-msgstr "Генерировать код Ð´Ð»Ñ Ð¿Ñ€Ñмого порÑдка байт (big endian)"
++#: config/lynx.opt:23
++msgid "Support legacy multi-threading"
++msgstr "Поддержка унаÑледованной модели многопоточноÑти"
+
+-#: config/mcore/mcore.opt:47
+-msgid "Emit call graph information"
+-msgstr "Выдавать граф вызовов"
++#: config/lynx.opt:27
++msgid "Use shared libraries"
++msgstr "ИÑпользовать разделÑемые библиотеки"
+
+-#: config/mcore/mcore.opt:51
+-msgid "Use the divide instruction"
+-msgstr "ИÑпользовать команды делениÑ"
++#: config/lynx.opt:31
++msgid "Support multi-threading"
++msgstr "Поддержка многопоточноÑти"
+
+-#: config/mcore/mcore.opt:55
+-msgid "Inline constants if it can be done in 2 insns or less"
+-msgstr "ИÑпользовать непоÑредÑтвенные конÑтанты, еÑли Ñто требует не более 2 команд"
++#: config/stormy16/stormy16.opt:24
++msgid "Provide libraries for the simulator"
++msgstr "Создавать библиотеке Ð´Ð»Ñ ÑимулÑтора"
+
+-#: config/mcore/mcore.opt:59 config/score/score.opt:27
+-msgid "Generate little-endian code"
+-msgstr "Генерировать код Ð´Ð»Ñ Ð¾Ð±Ñ€Ð°Ñ‚Ð½Ð¾Ð³Ð¾ порÑдка байт (little endian)"
++#: config/h8300/h8300.opt:23
++msgid "Generate H8S code"
++msgstr "Генерировать код H8S"
+
+-#: config/mcore/mcore.opt:67
+-msgid "Use arbitrary sized immediates in bit operations"
+-msgstr "ИÑпользовать непоÑредÑтвенные конÑтанты произвольного размера в битовых операциÑÑ…"
++#: config/h8300/h8300.opt:27
++msgid "Generate H8SX code"
++msgstr "Генерировать код H8SX"
+
+-#: config/mcore/mcore.opt:71
+-msgid "Prefer word accesses over byte accesses"
+-msgstr "Отдавать предпочтение поÑловному доÑтупу к памÑти перед побайтным"
++#: config/h8300/h8300.opt:31
++msgid "Generate H8S/2600 code"
++msgstr "Генерировать код H8S/2600"
+
+-#: config/mcore/mcore.opt:75
+-msgid "Set the maximum amount for a single stack increment operation"
+-msgstr "Задать макÑимальную величину одной операции инкрементации Ñтека"
++#: config/h8300/h8300.opt:35
++msgid "Make integers 32 bits wide"
++msgstr "УÑтановить ширину целых типов 32 бита"
+
+-#: config/mcore/mcore.opt:79
+-msgid "Always treat bitfields as int-sized"
+-msgstr "Ð’Ñегда Ñчитать, что битовое поле имеет размер int"
++#: config/h8300/h8300.opt:42
++msgid "Use registers for argument passing"
++msgstr "ИÑпользовать региÑтры Ð´Ð»Ñ Ð¿ÐµÑ€ÐµÐ´Ð°Ñ‡Ð¸ аргументов"
+
++#: config/h8300/h8300.opt:46
++msgid "Consider access to byte sized memory slow"
++msgstr "Считать, что доÑтуп к байтным данным медленный"
++
++#: config/h8300/h8300.opt:50
++msgid "Enable linker relaxing"
++msgstr "ИÑпользовать ключ --relax при компоновке"
++
++#: config/h8300/h8300.opt:54
++msgid "Generate H8/300H code"
++msgstr "Генерировать код H8/300H"
++
++#: config/h8300/h8300.opt:58
++msgid "Enable the normal mode"
++msgstr "УÑтановить нормальный режим"
++
++#: config/h8300/h8300.opt:62
++msgid "Use H8/300 alignment rules"
++msgstr "ИÑпользовать правила Ð²Ñ‹Ñ€Ð°Ð²Ð½Ð¸Ð²Ð°Ð½Ð¸Ñ H8/300H"
++
++#: config/s390/s390.opt:23
++msgid "31 bit ABI"
++msgstr "31-битный ABI"
++
++#: config/s390/s390.opt:27
++msgid "64 bit ABI"
++msgstr "64-битный ABI"
++
++#: config/s390/s390.opt:35
++msgid "Maintain backchain pointer"
++msgstr "СохранÑÑ‚ÑŒ укзатель на вызванную функцию"
++
++#: config/s390/s390.opt:39
++msgid "Additional debug prints"
++msgstr "Выводить отладочную печать"
++
++#: config/s390/s390.opt:43
++msgid "ESA/390 architecture"
++msgstr "архитектура ESA/390"
++
++#: config/s390/s390.opt:47
++msgid "Enable fused multiply/add instructions"
++msgstr "Включить инÑтрукции ÑƒÐ¼Ð½Ð¾Ð¶ÐµÐ½Ð¸Ñ Ñ Ð½Ð°ÐºÐ¾Ð¿Ð»ÐµÐ½Ð¸ÐµÐ¼ Ñ Ð½ÐµÑ‡Ñ‘Ñ‚ÐºÐ¸Ð¼ результатом"
++
++#: config/s390/s390.opt:51
++#, fuzzy
++msgid "Enable decimal floating point hardware support"
++msgstr "ИÑпользовать ли аппаратуру Ð´Ð»Ñ Ð²Ñ‹Ñ‡Ð¸Ñлений Ñ Ð¿Ð»Ð°Ð²Ð°ÑŽÑ‰ÐµÐ¹ точкой"
++
++#: config/s390/s390.opt:55
++#, fuzzy
++msgid "Enable hardware floating point"
++msgstr "ИÑпользовать аппаратную реализацию плавающей арифметики"
++
++#: config/s390/s390.opt:67
++msgid "Use packed stack layout"
++msgstr "ИÑпользовать компактную раÑкладку в Ñтеке"
++
++#: config/s390/s390.opt:71
++msgid "Use bras for executable < 64k"
++msgstr "ИÑпользовать команду bras, еÑли выполнÑемый файл < 64Кб"
++
++#: config/s390/s390.opt:75
++#, fuzzy
++msgid "Disable hardware floating point"
++msgstr "ИÑпользовать аппаратную реализацию плавающей арифметики"
++
++#: config/s390/s390.opt:79
++msgid "Set the max. number of bytes which has to be left to stack size before a trap instruction is triggered"
++msgstr ""
++
++#: config/s390/s390.opt:83
++msgid "Emit extra code in the function prologue in order to trap if the stack size exceeds the given limit"
++msgstr ""
++
++#: config/s390/s390.opt:91
++msgid "mvcle use"
++msgstr "mvcle use"
++
++#: config/s390/s390.opt:95
++msgid "Warn if a function uses alloca or creates an array with dynamic size"
++msgstr "Предупреждать, еÑли Ñ„ÑƒÐ½ÐºÑ†Ð¸Ñ Ð¸Ñпользует alloca или Ñоздаёт маÑÑив изменÑемого размера"
++
++#: config/s390/s390.opt:99
++msgid "Warn if a single function's framesize exceeds the given framesize"
++msgstr "Предупреждать, еÑли размер окна функции превоÑходит заданное значение"
++
++#: config/s390/s390.opt:103
++msgid "z/Architecture"
++msgstr "z/Ðрхитектура"
++
++#: config/s390/tpf.opt:23
++msgid "Enable TPF-OS tracing code"
++msgstr "Включить код траÑÑировки TPF-OS"
++
++#: config/s390/tpf.opt:27
++msgid "Specify main object for TPF-OS"
++msgstr "Задать главный объект Ð´Ð»Ñ TPF-OS"
++
++#: config/darwin.opt:23
++msgid "Generate code suitable for fast turn around debugging"
++msgstr "Генерировать код Ð´Ð»Ñ Ð±Ñ‹Ñтрого возврата к отладке"
++
++#: config/darwin.opt:31
++msgid "The earliest MacOS X version on which this program will run"
++msgstr "Ðаиболее Ð¼Ð»Ð°Ð´ÑˆÐ°Ñ Ð²ÐµÑ€ÑÐ¸Ñ MacOS X в которой будет запуÑкатьÑÑ Ð¿Ñ€Ð¾Ð³Ñ€Ð°Ð¼Ð¼Ð°"
++
++#: config/darwin.opt:35
++msgid "Set sizeof(bool) to 1"
++msgstr "УÑтановить sizeof(bool) в 1"
++
++#: config/darwin.opt:39
++#, fuzzy
++msgid "Generate code for darwin loadable kernel extensions"
++msgstr "Генерировать код Ð´Ð»Ñ 68040 без новых команд"
++
++#: config/darwin.opt:43
++#, fuzzy
++msgid "Generate code for the kernel or loadable kernel extensions"
++msgstr "Генерировать код Ð´Ð»Ñ ÑƒÐºÐ°Ð·Ð°Ð½Ð½Ð¾Ð³Ð¾ процеÑÑора или верÑии процеÑÑора"
++
++#: config/darwin.opt:47
++#, fuzzy
++msgid "Add <dir> to the end of the system framework include path"
++msgstr "Добавить <каталог> в конец оÑновного пути поиÑка включаемых инфраÑтруктур"
++
++#: config/mn10300/mn10300.opt:23
++msgid "Target the AM33 processor"
++msgstr "Генерировать код Ð´Ð»Ñ Ð¿Ñ€Ð¾Ñ†ÐµÑÑора AM33"
++
++#: config/mn10300/mn10300.opt:27
++msgid "Target the AM33/2.0 processor"
++msgstr "Генерировать код Ð´Ð»Ñ Ð¿Ñ€Ð¾Ñ†ÐµÑÑора AM33/2.0"
++
++#: config/mn10300/mn10300.opt:31
++msgid "Work around hardware multiply bug"
++msgstr "Обходить аппаратную ошибку умножениÑ"
++
++#: config/mn10300/mn10300.opt:36
++msgid "Enable linker relaxations"
++msgstr "Включить ключ -relax при компоновке"
++
++#: config/mn10300/mn10300.opt:40
++msgid "Return pointers in both a0 and d0"
++msgstr "Возвращать указатели и на a0 и на d0"
++
++#: config/m32r/m32r.opt:23
++msgid "Compile for the m32rx"
++msgstr "Компилировать Ð´Ð»Ñ m32rx"
++
++#: config/m32r/m32r.opt:27
++msgid "Compile for the m32r2"
++msgstr "Компилировать Ð´Ð»Ñ m32r2"
++
++#: config/m32r/m32r.opt:31
++msgid "Compile for the m32r"
++msgstr "Компилировать Ð´Ð»Ñ m32r"
++
++#: config/m32r/m32r.opt:35
++msgid "Align all loops to 32 byte boundary"
++msgstr "Выравнивать циклы по границе 32 байт"
++
++#: config/m32r/m32r.opt:39
++msgid "Prefer branches over conditional execution"
++msgstr "Отдавать предпочтение переходам, а не уÑловному выполнению"
++
++#: config/m32r/m32r.opt:43
++msgid "Give branches their default cost"
++msgstr "ПриÑваивать переходам цену по умолчанию"
++
++#: config/m32r/m32r.opt:47
++msgid "Display compile time statistics"
++msgstr "Показать ÑтатиÑтику времени компилÑции"
++
++#: config/m32r/m32r.opt:51
++msgid "Specify cache flush function"
++msgstr "Ð¤ÑƒÐ½ÐºÑ†Ð¸Ñ ÑброÑа кÑша"
++
++#: config/m32r/m32r.opt:55
++msgid "Specify cache flush trap number"
++msgstr "Ðомер Ð¿Ñ€ÐµÑ€Ñ‹Ð²Ð°Ð½Ð¸Ñ Ð¿Ð¾ ÑброÑу кÑша"
++
++#: config/m32r/m32r.opt:59
++msgid "Only issue one instruction per cycle"
++msgstr "Генерировать код Ñ Ð²Ñ‹Ð´Ð°Ñ‡ÐµÐ¹ одной команды на такт"
++
++#: config/m32r/m32r.opt:63
++msgid "Allow two instructions to be issued per cycle"
++msgstr "Генерировать код Ñ Ð²Ñ‹Ð´Ð°Ñ‡ÐµÐ¹ двух команд на такт"
++
++#: config/m32r/m32r.opt:67
++msgid "Code size: small, medium or large"
++msgstr "Модель кода: small, medium, large+"
++
++#: config/m32r/m32r.opt:71
++msgid "Don't call any cache flush functions"
++msgstr "Ðе вызывать функции ÑброÑа кÑша"
++
++#: config/m32r/m32r.opt:75
++msgid "Don't call any cache flush trap"
++msgstr "Ðе вызывать прерывание по ÑброÑу кÑша"
++
++#: config/m32r/m32r.opt:82
++msgid "Small data area: none, sdata, use"
++msgstr "ОблаÑÑ‚ÑŒ малых данных: none, sdata, use"
++
+ #: config/arc/arc.opt:32
+ msgid "Prepend the name of the cpu to all public symbol names"
+ msgstr "ДобавлÑÑ‚ÑŒ название процеÑÑора ко вÑем Ñимволам"
+@@ -13198,6 +13447,528 @@
+ msgid "Put read-only data in SECTION"
+ msgstr "Помещать данные только Ð´Ð»Ñ Ñ‡Ñ‚ÐµÐ½Ð¸Ñ Ð² СЕКЦИЮ"
+
++#: config/m32c/m32c.opt:24 config/mt/mt.opt:27 config/bfin/bfin.opt:23
++msgid "Use simulator runtime"
++msgstr "ИÑпользовать Ñреду запуÑка ÑимулÑтора"
++
++#: config/m32c/m32c.opt:28
++msgid "Compile code for R8C variants"
++msgstr "Генерировать код Ð´Ð»Ñ Ð²Ð°Ñ€Ð¸Ð°Ð½Ñ‚Ð¾Ð² R8C"
++
++#: config/m32c/m32c.opt:32
++msgid "Compile code for M16C variants"
++msgstr "Генерировать код Ð´Ð»Ñ Ð²Ð°Ñ€Ð¸Ð°Ð½Ñ‚Ð¾Ð² M16C"
++
++#: config/m32c/m32c.opt:36
++msgid "Compile code for M32CM variants"
++msgstr "Генерировать код Ð´Ð»Ñ Ð²Ð°Ñ€Ð¸Ð°Ð½Ñ‚Ð¾Ð² M32CM"
++
++#: config/m32c/m32c.opt:40
++msgid "Compile code for M32C variants"
++msgstr "Генерировать код Ð´Ð»Ñ Ð²Ð°Ñ€Ð¸Ð°Ð½Ñ‚Ð¾Ð² M32C"
++
++#: config/m32c/m32c.opt:44
++msgid "Number of memreg bytes (default: 16, range: 0..16)"
++msgstr "ЧиÑло байтов в пÑевдорегиÑтрах на памÑти (по умолчанию: 16, возможные значениÑ: 0..16)"
++
++#: config/pdp11/pdp11.opt:23
++msgid "Generate code for an 11/10"
++msgstr "Генерировать код Ð´Ð»Ñ 11/10"
++
++#: config/pdp11/pdp11.opt:27
++msgid "Generate code for an 11/40"
++msgstr "Генерировать код Ð´Ð»Ñ 11/40"
++
++#: config/pdp11/pdp11.opt:31
++msgid "Generate code for an 11/45"
++msgstr "Генерировать код Ð´Ð»Ñ 11/45"
++
++#: config/pdp11/pdp11.opt:35
++msgid "Use 16-bit abs patterns"
++msgstr "ИÑпользовать шаблоны Ð´Ð»Ñ 16-битного abs"
++
++#: config/pdp11/pdp11.opt:39
++msgid "Return floating-point results in ac0 (fr0 in Unix assembler syntax)"
++msgstr "Возвращать результаты плавающего типа в ac0 (fr0 в ÑинтакÑиÑе аÑÑемблера Unix)"
++
++#: config/pdp11/pdp11.opt:43
++msgid "Do not use inline patterns for copying memory"
++msgstr "Ðе иÑпользовать вÑтроенные шаблоны Ð´Ð»Ñ ÐºÐ¾Ð¿Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ Ð¿Ð°Ð¼Ñти"
++
++#: config/pdp11/pdp11.opt:47
++msgid "Use inline patterns for copying memory"
++msgstr "ИÑпользовать вÑтроенные шаблоны Ð´Ð»Ñ ÐºÐ¾Ð¿Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ Ð¿Ð°Ð¼Ñти"
++
++#: config/pdp11/pdp11.opt:51
++msgid "Do not pretend that branches are expensive"
++msgstr "Ðе Ñчитать переходы затратными"
++
++#: config/pdp11/pdp11.opt:55
++msgid "Pretend that branches are expensive"
++msgstr "Считать, что переходы затратны"
++
++#: config/pdp11/pdp11.opt:59
++msgid "Use the DEC assembler syntax"
++msgstr "ИÑпользовать DEC-ÑинтакÑÐ¸Ñ Ð´Ð»Ñ Ð°ÑÑемблерного кода"
++
++#: config/pdp11/pdp11.opt:63
++msgid "Use 32 bit float"
++msgstr "ИÑпользовать 32-битное предÑтавление типа float"
++
++#: config/pdp11/pdp11.opt:67
++msgid "Use 64 bit float"
++msgstr "ИÑпользовать 64-битное предÑтавление типа float"
++
++#: config/pdp11/pdp11.opt:75
++msgid "Use 16 bit int"
++msgstr "ИÑпользовать 16-битное предÑтавление типа int"
++
++#: config/pdp11/pdp11.opt:79
++msgid "Use 32 bit int"
++msgstr "ИÑпользовать 32-битное предÑтавление типа int"
++
++#: config/pdp11/pdp11.opt:87
++msgid "Target has split I&D"
++msgstr "Ð¦ÐµÐ»ÐµÐ²Ð°Ñ Ð°Ñ€Ñ…Ð¸Ñ‚ÐµÐºÑ‚ÑƒÑ€Ð° имеет разбиение памÑти Ð´Ð»Ñ ÐºÐ¾Ð´Ð° и данных"
++
++#: config/pdp11/pdp11.opt:91
++msgid "Use UNIX assembler syntax"
++msgstr "ИÑпользовать UNIX-ÑинтакÑÐ¸Ñ Ð´Ð»Ñ Ð°ÑÑемблерного кода"
++
++#: config/m68k/m68k.opt:23
++msgid "Generate code for a 520X"
++msgstr "Генерировать код Ð´Ð»Ñ 520X"
++
++#: config/m68k/m68k.opt:27
++msgid "Generate code for a 5206e"
++msgstr "Генерировать код Ð´Ð»Ñ 5206e"
++
++#: config/m68k/m68k.opt:31
++msgid "Generate code for a 528x"
++msgstr "Генерировать код Ð´Ð»Ñ 528x"
++
++#: config/m68k/m68k.opt:35
++msgid "Generate code for a 5307"
++msgstr "Генерировать код Ð´Ð»Ñ 5307"
++
++#: config/m68k/m68k.opt:39
++msgid "Generate code for a 5407"
++msgstr "Генерировать код Ð´Ð»Ñ 5407"
++
++#: config/m68k/m68k.opt:43 config/m68k/m68k.opt:104
++msgid "Generate code for a 68000"
++msgstr "Генерировать код Ð´Ð»Ñ 68000"
++
++#: config/m68k/m68k.opt:47
++#, fuzzy
++msgid "Generate code for a 68010"
++msgstr "Генерировать код Ð´Ð»Ñ 68000"
++
++#: config/m68k/m68k.opt:51 config/m68k/m68k.opt:108
++msgid "Generate code for a 68020"
++msgstr "Генерировать код Ð´Ð»Ñ 68020"
++
++#: config/m68k/m68k.opt:55
++msgid "Generate code for a 68040, without any new instructions"
++msgstr "Генерировать код Ð´Ð»Ñ 68040 без новых команд"
++
++#: config/m68k/m68k.opt:59
++msgid "Generate code for a 68060, without any new instructions"
++msgstr "Генерировать код Ð´Ð»Ñ 68060 без новых команд"
++
++#: config/m68k/m68k.opt:63
++msgid "Generate code for a 68030"
++msgstr "Генерировать код Ð´Ð»Ñ 68030"
++
++#: config/m68k/m68k.opt:67
++msgid "Generate code for a 68040"
++msgstr "Генерировать код Ð´Ð»Ñ 68040"
++
++#: config/m68k/m68k.opt:71
++msgid "Generate code for a 68060"
++msgstr "Генерировать код Ð´Ð»Ñ 68060"
++
++#: config/m68k/m68k.opt:75
++msgid "Generate code for a 68302"
++msgstr "Генерировать код Ð´Ð»Ñ 68302"
++
++#: config/m68k/m68k.opt:79
++msgid "Generate code for a 68332"
++msgstr "Генерировать код Ð´Ð»Ñ 68332"
++
++#: config/m68k/m68k.opt:84
++msgid "Generate code for a 68851"
++msgstr "Генерировать код Ð´Ð»Ñ 68851"
++
++#: config/m68k/m68k.opt:88
++msgid "Generate code that uses 68881 floating-point instructions"
++msgstr "Генерировать код Ñ Ð¸Ñпользованием плавающих инÑтрукций 68881"
++
++#: config/m68k/m68k.opt:92
++msgid "Align variables on a 32-bit boundary"
++msgstr "Выравнивать переменные по границе 32 бит"
++
++#: config/m68k/m68k.opt:100
++msgid "Use the bit-field instructions"
++msgstr "ИÑпользовать команды работы Ñ Ð±Ð¸Ñ‚Ð¾Ð²Ñ‹Ð¼Ð¸ полÑми"
++
++#: config/m68k/m68k.opt:112
++#, fuzzy
++msgid "Generate code for a ColdFire v4e"
++msgstr "Генерировать код Ð´Ð»Ñ M*Core M340"
++
++#: config/m68k/m68k.opt:116
++#, fuzzy
++msgid "Specify the target CPU"
++msgstr "Ð˜Ð¼Ñ Ñ†ÐµÐ»ÐµÐ²Ð¾Ð³Ð¾ процеÑÑор"
++
++#: config/m68k/m68k.opt:120
++msgid "Generate code for a cpu32"
++msgstr "Генерировать код Ð´Ð»Ñ cpu32"
++
++#: config/m68k/m68k.opt:124
++#, fuzzy
++msgid "Use hardware division instructions on ColdFire"
++msgstr "ИÑпользовать аппаратные ÑредÑтва quad-плавающей арифметики"
++
++#: config/m68k/m68k.opt:128
++#, fuzzy
++msgid "Generate code for a Fido A"
++msgstr "Генерировать код Ð´Ð»Ñ DLL"
++
++#: config/m68k/m68k.opt:132
++#, fuzzy
++msgid "Generate code which uses hardware floating point instructions"
++msgstr "Генерировать код Ñ Ð¸Ñпользованием плавающих инÑтрукций 68881"
++
++#: config/m68k/m68k.opt:136
++msgid "Enable ID based shared library"
++msgstr "Поддерживать разделÑемые библиотеки на оÑнове ID"
++
++#: config/m68k/m68k.opt:140
++msgid "Do not use the bit-field instructions"
++msgstr "Ðе иÑпользовать команды работы Ñ Ð±Ð¸Ñ‚Ð¾Ð²Ñ‹Ð¼Ð¸ полÑми"
++
++#: config/m68k/m68k.opt:144
++msgid "Use normal calling convention"
++msgstr "ИÑпользовать обычные ÑÐ¾Ð³Ð»Ð°ÑˆÐµÐ½Ð¸Ñ Ð¾ вызовах"
++
++#: config/m68k/m68k.opt:148
++msgid "Consider type 'int' to be 32 bits wide"
++msgstr "Считать тип 'int' 32-битным"
++
++#: config/m68k/m68k.opt:152
++msgid "Generate pc-relative code"
++msgstr "Генерировать код отноÑительно pc"
++
++#: config/m68k/m68k.opt:156
++msgid "Use different calling convention using 'rtd'"
++msgstr "ИÑпользовать альтернативные ÑÐ¾Ð³Ð»Ð°ÑˆÐµÐ½Ð¸Ñ Ð¾ вызовах Ñ 'rtd'"
++
++#: config/m68k/m68k.opt:160 config/bfin/bfin.opt:61
++msgid "Enable separate data segment"
++msgstr "Размещать данные в отдельном Ñегменте"
++
++#: config/m68k/m68k.opt:164 config/bfin/bfin.opt:57
++msgid "ID of shared library to build"
++msgstr "ID разделÑемой библиотеки, ÐºÐ¾Ñ‚Ð¾Ñ€Ð°Ñ Ð±ÑƒÐ´ÐµÑ‚ Ñоздана"
++
++#: config/m68k/m68k.opt:168
++msgid "Consider type 'int' to be 16 bits wide"
++msgstr "Считать тип 'int' 16-битным"
++
++#: config/m68k/m68k.opt:172
++msgid "Generate code with library calls for floating point"
++msgstr "Генерировать библиотечные вызовы Ð´Ð»Ñ Ð¿Ð»Ð°Ð²Ð°ÑŽÑ‰Ð¸Ñ… операций"
++
++#: config/m68k/m68k.opt:176
++msgid "Do not use unaligned memory references"
++msgstr "Ðе иÑпользовать невыровненные ÑÑылки на памÑÑ‚ÑŒ"
++
++#: config/m68k/m68k.opt:180
++#, fuzzy
++msgid "Tune for the specified target CPU or architecture"
++msgstr "Ð˜Ð¼Ñ Ñ†ÐµÐ»ÐµÐ²Ð¾Ð¹ архитектуры"
++
++#: config/mmix/mmix.opt:24
++msgid "For intrinsics library: pass all parameters in registers"
++msgstr "Ð”Ð»Ñ Ð²Ð½ÑƒÑ‚Ñ€ÐµÐ½Ð½ÐµÐ¹ библиотеки: передавать вÑе параметры на региÑтрах"
++
++#: config/mmix/mmix.opt:28
++msgid "Use register stack for parameters and return value"
++msgstr "ИÑпользовать региÑтровый Ñтек Ð´Ð»Ñ Ð¿ÐµÑ€ÐµÐ´Ð°Ñ‡Ð¸ параметров и возврата значениÑ"
++
++#: config/mmix/mmix.opt:32
++msgid "Use call-clobbered registers for parameters and return value"
++msgstr "ИÑпользовать неÑохранÑемые региÑтры Ð´Ð»Ñ Ð¿ÐµÑ€ÐµÐ´Ð°Ñ‡Ð¸ параметров и возврата значениÑ"
++
++#: config/mmix/mmix.opt:37
++msgid "Use epsilon-respecting floating point compare instructions"
++msgstr "ИÑпользовать команды ÑÑ€Ð°Ð²Ð½ÐµÐ½Ð¸Ñ Ð¿Ð»Ð°Ð²Ð°ÑŽÑ‰Ð¸Ñ… значений, учитывающие epsilon-региÑÑ‚Ñ€"
++
++#: config/mmix/mmix.opt:41
++msgid "Use zero-extending memory loads, not sign-extending ones"
++msgstr "ИÑпользовать команды загрузки из памÑти Ñ Ñ€Ð°Ñширением нулÑми, а не знаковым битом"
++
++#: config/mmix/mmix.opt:45
++msgid "Generate divide results with reminder having the same sign as the divisor (not the dividend)"
++msgstr "Генерировать код так, чтобы оÑтаток от Ð´ÐµÐ»ÐµÐ½Ð¸Ñ Ð¸Ð¼ÐµÐ» знак Ð´ÐµÐ»Ð¸Ñ‚ÐµÐ»Ñ (а не делимого)"
++
++#: config/mmix/mmix.opt:49
++msgid "Prepend global symbols with \":\" (for use with PREFIX)"
++msgstr "ПрипиÑывать Ð¿Ñ€ÐµÑ„Ð¸ÐºÑ \":\" глобальным Ñимволам (Ð´Ð»Ñ Ð¸ÑÐ¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ð½Ð¸Ñ Ñ PREFIX)"
++
++#: config/mmix/mmix.opt:53
++msgid "Do not provide a default start-address 0x100 of the program"
++msgstr "Ðе задавать Ñтандартный Ñтартовый Ð°Ð´Ñ€ÐµÑ Ð¿Ñ€Ð¾Ð³Ñ€Ð°Ð¼Ð¼Ñ‹ 0x100"
++
++#: config/mmix/mmix.opt:57
++msgid "Link to emit program in ELF format (rather than mmo)"
++msgstr "При компоновке Ñоздавать файл в формате ELF (а не mmo)"
++
++#: config/mmix/mmix.opt:61
++msgid "Use P-mnemonics for branches statically predicted as taken"
++msgstr "ИÑпользовать P-мнемонику Ð´Ð»Ñ ÑтатичеÑки предÑказанных переходов"
++
++#: config/mmix/mmix.opt:65
++msgid "Don't use P-mnemonics for branches"
++msgstr "Ðе иÑпользовать P-мнемонику Ð´Ð»Ñ ÑтатичеÑки предÑказанных переходов"
++
++#: config/mmix/mmix.opt:79
++msgid "Use addresses that allocate global registers"
++msgstr "ИÑпользовать формирование адреÑов Ð´Ð»Ñ Ð³Ð»Ð¾Ð±Ð°Ð»ÑŒÐ½Ñ‹Ñ… региÑтров"
++
++#: config/mmix/mmix.opt:83
++msgid "Do not use addresses that allocate global registers"
++msgstr "Ðе иÑпользовать формирование адреÑов Ð´Ð»Ñ Ð³Ð»Ð¾Ð±Ð°Ð»ÑŒÐ½Ñ‹Ñ… региÑтров"
++
++#: config/mmix/mmix.opt:87
++msgid "Generate a single exit point for each function"
++msgstr "Генерировать одну выходную точку Ð´Ð»Ñ ÐºÐ°Ð¶Ð´Ð¾Ð¹ функции"
++
++#: config/mmix/mmix.opt:91
++msgid "Do not generate a single exit point for each function"
++msgstr "Ðе генерировать одну выходную точку Ð´Ð»Ñ ÐºÐ°Ð¶Ð´Ð¾Ð¹ функции"
++
++#: config/mmix/mmix.opt:95
++msgid "Set start-address of the program"
++msgstr "Стартовый Ð°Ð´Ñ€ÐµÑ Ð¿Ñ€Ð¾Ð³Ñ€Ð°Ð¼Ð¼Ñ‹"
++
++#: config/mmix/mmix.opt:99
++msgid "Set start-address of data"
++msgstr "Стартовый Ð°Ð´Ñ€ÐµÑ Ð´Ð°Ð½Ð½Ñ‹Ñ…"
++
++#: config/score/score.opt:31
++#, fuzzy
++msgid "Disable bcnz instruction"
++msgstr "ИÑпользовать команды AltiVec"
++
++#: config/score/score.opt:35
++#, fuzzy
++msgid "Enable unaligned load/store instruction"
++msgstr "ИÑпользовать команду DB"
++
++#: config/score/score.opt:39
++msgid "Support SCORE 5 ISA"
++msgstr ""
++
++#: config/score/score.opt:43
++msgid "Support SCORE 5U ISA"
++msgstr ""
++
++#: config/score/score.opt:47
++msgid "Support SCORE 7 ISA"
++msgstr ""
++
++#: config/score/score.opt:51
++msgid "Support SCORE 7D ISA"
++msgstr ""
++
++#: config/score/score.opt:55
++msgid "Support SCORE 3 ISA"
++msgstr ""
++
++#: config/score/score.opt:59
++msgid "Support SCORE 3d ISA"
++msgstr ""
++
++#: config/crx/crx.opt:23
++msgid "Support multiply accumulate instructions"
++msgstr "ИÑпользовать команды ÑƒÐ¼Ð½Ð¾Ð¶ÐµÐ½Ð¸Ñ Ñо Ñложением"
++
++#: config/crx/crx.opt:27
++msgid "Do not use push to store function arguments"
++msgstr "Ðе иÑпользовать команды push Ð´Ð»Ñ ÑÐ¾Ñ…Ñ€Ð°Ð½ÐµÐ½Ð¸Ñ Ð°Ñ€Ð³ÑƒÐ¼ÐµÐ½Ñ‚Ð¾Ð² функций"
++
++#: config/crx/crx.opt:31
++msgid "Restrict doloop to the given nesting level"
++msgstr "Ограничивать иÑпользование doloop заданным уровнем вложеноÑти"
++
++#: config/mt/mt.opt:23
++msgid "Use byte loads and stores when generating code."
++msgstr "ИÑпользовать побайтовые операции Ñ Ð¿Ð°Ð¼Ñтью при генерации кода"
++
++#: config/mt/mt.opt:31
++msgid "Do not include crt0.o in the startup files"
++msgstr "Ðе включать crt0.o в запуÑкаемые файлы"
++
++#: config/mt/mt.opt:35 config/mt/mt.opt:39 config/mt/mt.opt:43
++#: config/mt/mt.opt:47 config/mt/mt.opt:51
++msgid "Internal debug switch"
++msgstr "Внутренний ключ отладки"
++
++#: config/m68hc11/m68hc11.opt:23 config/m68hc11/m68hc11.opt:31
++msgid "Compile for a 68HC11"
++msgstr "Компилировать Ð´Ð»Ñ 68HC11"
++
++#: config/m68hc11/m68hc11.opt:27 config/m68hc11/m68hc11.opt:35
++msgid "Compile for a 68HC12"
++msgstr "Компилировать Ð´Ð»Ñ 68HC12"
++
++#: config/m68hc11/m68hc11.opt:41 config/m68hc11/m68hc11.opt:45
++msgid "Compile for a 68HCS12"
++msgstr "Компилировать Ð´Ð»Ñ 68HCS12"
++
++#: config/m68hc11/m68hc11.opt:49
++msgid "Auto pre/post decrement increment allowed"
++msgstr "Разрешить пре- и поÑÑ‚- автоинкрементацию и автодекреметацию"
++
++#: config/m68hc11/m68hc11.opt:53
++msgid "Min/max instructions allowed"
++msgstr "Разрешить инÑтрукции min, max"
++
++#: config/m68hc11/m68hc11.opt:57
++msgid "Use call and rtc for function calls and returns"
++msgstr "ИÑпользовать call и rtc Ð´Ð»Ñ Ð²Ñ‹Ð·Ð¾Ð²Ð¾Ð² функций и возвратов"
++
++#: config/m68hc11/m68hc11.opt:61
++msgid "Auto pre/post decrement increment not allowed"
++msgstr "Запретить пре- и поÑÑ‚- автоинкрементацию и автодекреметацию"
++
++#: config/m68hc11/m68hc11.opt:65
++msgid "Use jsr and rts for function calls and returns"
++msgstr "ИÑпользовать jsr и rts Ð´Ð»Ñ Ð²Ñ‹Ð·Ð¾Ð²Ð¾Ð² функций и возвратов"
++
++#: config/m68hc11/m68hc11.opt:69
++msgid "Min/max instructions not allowed"
++msgstr "Запретить инÑтрукции min, max"
++
++#: config/m68hc11/m68hc11.opt:73
++msgid "Use direct addressing mode for soft registers"
++msgstr "ИÑпользовать прÑмую адреÑацию Ð´Ð»Ñ Ð¿ÑевдорегиÑтров"
++
++#: config/m68hc11/m68hc11.opt:77
++msgid "Compile with 32-bit integer mode"
++msgstr "Компилировать в режиме 32-битных целых"
++
++#: config/m68hc11/m68hc11.opt:82
++msgid "Specify the register allocation order"
++msgstr "ПорÑдок Ð²Ñ‹Ð´ÐµÐ»ÐµÐ½Ð¸Ñ Ñ€ÐµÐ³Ð¸Ñтров"
++
++#: config/m68hc11/m68hc11.opt:86
++msgid "Do not use direct addressing mode for soft registers"
++msgstr "Ðе иÑпользовать прÑмую адреÑацию Ð´Ð»Ñ Ð¿ÑевдорегиÑтров"
++
++#: config/m68hc11/m68hc11.opt:90
++msgid "Compile with 16-bit integer mode"
++msgstr "Компилировать в режиме 16-битных целых"
++
++#: config/m68hc11/m68hc11.opt:94
++msgid "Indicate the number of soft registers available"
++msgstr "ЧиÑло доÑтупных программных пÑевдорегиÑтров"
++
++#: config/fr30/fr30.opt:23
++msgid "Assume small address space"
++msgstr "Предполагать малое адреÑное проÑтранÑтво"
++
++#: config/sparc/little-endian.opt:23
++msgid "Generate code for little-endian"
++msgstr "Генерировать код Ð´Ð»Ñ Ð¾Ð±Ñ€Ð°Ñ‚Ð½Ð¾Ð³Ð¾ (little endian) порÑдка байт"
++
++#: config/sparc/little-endian.opt:27
++msgid "Generate code for big-endian"
++msgstr "Генерировать код Ð´Ð»Ñ Ð¿Ñ€Ñмого (big endian) порÑдка байт"
++
++#: config/sparc/sparc.opt:23 config/sparc/sparc.opt:27
++msgid "Use hardware FP"
++msgstr "ИÑпользовать аппаратный указатель Ñтека"
++
++#: config/sparc/sparc.opt:31
++msgid "Do not use hardware FP"
++msgstr "Ðе иÑпользовать аппаратный указатель Ñтека"
++
++#: config/sparc/sparc.opt:35
++msgid "Assume possible double misalignment"
++msgstr "Предполагать, что Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ñ double могут быть невыровненными"
++
++#: config/sparc/sparc.opt:39
++msgid "Pass -assert pure-text to linker"
++msgstr "Передать компоновщику ключ -assert pure-text"
++
++#: config/sparc/sparc.opt:43
++msgid "Use ABI reserved registers"
++msgstr "ИÑпользовать зарезервированные региÑтры ABI"
++
++#: config/sparc/sparc.opt:47
++msgid "Use hardware quad FP instructions"
++msgstr "ИÑпользовать аппаратные ÑредÑтва quad-плавающей арифметики"
++
++#: config/sparc/sparc.opt:51
++msgid "Do not use hardware quad fp instructions"
++msgstr "Ðе иÑпользовать аппаратные ÑредÑтва quad-плавающей арифметики"
++
++#: config/sparc/sparc.opt:55
++msgid "Compile for V8+ ABI"
++msgstr "ИÑпользовать ABI Ð´Ð»Ñ V8+"
++
++#: config/sparc/sparc.opt:59
++msgid "Use UltraSPARC Visual Instruction Set extensions"
++msgstr "ИÑпользовать набор команд раÑÑˆÐ¸Ñ€ÐµÐ½Ð¸Ñ UltraSPARC Visual"
++
++#: config/sparc/sparc.opt:63
++msgid "Pointers are 64-bit"
++msgstr "Генерировать код Ñ 64-битными указателÑми"
++
++#: config/sparc/sparc.opt:67
++msgid "Pointers are 32-bit"
++msgstr "Генерировать код Ñ 32-битными указателÑми"
++
++#: config/sparc/sparc.opt:71
++msgid "Use 64-bit ABI"
++msgstr "ИÑпользовать 64-битный ABI"
++
++#: config/sparc/sparc.opt:75
++msgid "Use 32-bit ABI"
++msgstr "ИÑпользовать 32-битный ABI"
++
++#: config/sparc/sparc.opt:79
++msgid "Use stack bias"
++msgstr "ИÑпользовать Ñмещение в Ñтеке"
++
++#: config/sparc/sparc.opt:83
++msgid "Use structs on stronger alignment for double-word copies"
++msgstr "ИÑпользовать более Ñтрогое выравнивание Ñтруктур Ð´Ð»Ñ ÐºÐ¾Ð¿Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ Ð´Ð²Ð¾Ð¹Ð½Ñ‹Ð¼Ð¸ Ñловами"
++
++#: config/sparc/sparc.opt:87
++msgid "Optimize tail call instructions in assembler and linker"
++msgstr "Оптимизировать хвоÑтовые команды вызова в аÑÑемблере и компоновщике"
++
++#: config/sparc/sparc.opt:99
++msgid "Use given SPARC-V9 code model"
++msgstr "ИÑпользовать указанную модель ÐºÐ¾Ð´Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ SPARC-V9"
++
++#: config/sparc/sparc.opt:103
++msgid "Enable strict 32-bit psABI struct return checking."
++msgstr ""
++
++#: config/sh/superh.opt:6
++msgid "Board name [and memory region]."
++msgstr ""
++
++#: config/sh/superh.opt:10
++msgid "Runtime name."
++msgstr ""
++
+ #: config/sh/sh.opt:44
+ msgid "Generate SH1 code"
+ msgstr "Генерировать код SH1"
+@@ -13494,470 +14265,19 @@
+ msgid "Pretend a branch-around-a-move is a conditional move."
+ msgstr ""
+
+-#: config/sh/superh.opt:6
+-msgid "Board name [and memory region]."
+-msgstr ""
++#: config/vxworks.opt:24
++msgid "Assume the VxWorks RTP environment"
++msgstr "Генерировать код Ð´Ð»Ñ Ñреды Ð²Ñ‹Ð¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ñ VxWorks RTP"
+
+-#: config/sh/superh.opt:10
+-msgid "Runtime name."
+-msgstr ""
++#: config/vxworks.opt:31
++msgid "Assume the VxWorks vThreads environment"
++msgstr "Генерировать код Ð´Ð»Ñ Ñреды Ð²Ñ‹Ð¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ñ VxWorks vThreads"
+
+-#: config/arm/arm.opt:23
+-msgid "Specify an ABI"
+-msgstr "Задать Ð¸Ð½Ñ‚ÐµÑ€Ñ„ÐµÐ¹Ñ (ABI)"
+-
+-#: config/arm/arm.opt:27
+-msgid "Generate a call to abort if a noreturn function returns"
+-msgstr "Генерировать вызов abort, еÑли в noreturn-функции выполнÑетÑÑ Ð²Ð¾Ð·Ð²Ñ€Ð°Ñ‚ управлениÑ"
+-
+-#: config/arm/arm.opt:34
+-msgid "Pass FP arguments in FP registers"
+-msgstr "Передавать плавающие аргументы в FP-региÑтрах"
+-
+-#: config/arm/arm.opt:38
+-msgid "Generate APCS conformant stack frames"
+-msgstr "Генерировать APCS-ÑовмеÑтимые кадры Ñтека"
+-
+-#: config/arm/arm.opt:42
+-msgid "Generate re-entrant, PIC code"
+-msgstr "Генерировать реентерабельный PIC-код"
+-
+-#: config/arm/arm.opt:56
+-msgid "Assume target CPU is configured as big endian"
+-msgstr "Считать что процеÑÑор имеет прÑмой порÑдок байт (big endian)"
+-
+-#: config/arm/arm.opt:60
+-msgid "Thumb: Assume non-static functions may be called from ARM code"
+-msgstr "Thumb: Ñчитать, что неÑтатичеÑкие функции могут быть вызваны из ARM-программ"
+-
+-#: config/arm/arm.opt:64
+-msgid "Thumb: Assume function pointers may go to non-Thumb aware code"
+-msgstr "Thumb: Ñчитать, что указатели на функции могут ÑÑылатьÑÑ Ð½Ð° не-Thumb код"
+-
+-#: config/arm/arm.opt:68
+-msgid "Cirrus: Place NOPs to avoid invalid instruction combinations"
+-msgstr "Cirrus: генерировать команды NOP во избежание некорректного ÐºÐ¾Ð¼Ð±Ð¸Ð½Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ ÐºÐ¾Ð¼Ð°Ð½Ð´"
+-
+-#: config/arm/arm.opt:72 config/bfin/bfin.opt:27
+-msgid "Specify the name of the target CPU"
+-msgstr "Ð˜Ð¼Ñ Ñ†ÐµÐ»ÐµÐ²Ð¾Ð³Ð¾ процеÑÑора"
+-
+-#: config/arm/arm.opt:76
+-msgid "Specify if floating point hardware should be used"
+-msgstr "ИÑпользовать ли аппаратуру Ð´Ð»Ñ Ð²Ñ‹Ñ‡Ð¸Ñлений Ñ Ð¿Ð»Ð°Ð²Ð°ÑŽÑ‰ÐµÐ¹ точкой"
+-
+-#: config/arm/arm.opt:90
+-msgid "Specify the name of the target floating point hardware/format"
+-msgstr "Задать целевую аппаратуру Ð´Ð»Ñ Ð¿Ð»Ð°Ð²Ð°ÑŽÑ‰ÐµÐ¹ точки и формат вычиÑлений"
+-
+-#: config/arm/arm.opt:94
+-msgid "Alias for -mfloat-abi=hard"
+-msgstr "Замена Ð´Ð»Ñ -mflat-abi=hard"
+-
+-#: config/arm/arm.opt:98
+-msgid "Assume target CPU is configured as little endian"
+-msgstr "Считать что процеÑÑор имеет обратный порÑдок байт (little endian)"
+-
+-#: config/arm/arm.opt:102
+-msgid "Generate call insns as indirect calls, if necessary"
+-msgstr "Генерировать коÑвенные вызовы, еÑли нужно"
+-
+-#: config/arm/arm.opt:106
+-msgid "Specify the register to be used for PIC addressing"
+-msgstr "РегиÑÑ‚Ñ€ Ð´Ð»Ñ PIC-адреÑации"
+-
+-#: config/arm/arm.opt:110
+-msgid "Store function names in object code"
+-msgstr "СохранÑÑ‚ÑŒ имена функций в объектном коде"
+-
+-#: config/arm/arm.opt:114
+-msgid "Permit scheduling of a function's prologue sequence"
+-msgstr "Разрешать планирование пролога функции"
+-
+-#: config/arm/arm.opt:118
+-msgid "Do not load the PIC register in function prologues"
+-msgstr "Ðе загружать PIC-региÑÑ‚Ñ€ в прологах функций"
+-
+-#: config/arm/arm.opt:122
+-msgid "Alias for -mfloat-abi=soft"
+-msgstr "Замена Ð´Ð»Ñ -mfloat-abi=soft"
+-
+-#: config/arm/arm.opt:126
+-msgid "Specify the minimum bit alignment of structures"
+-msgstr "Минимальное битовое выравнивание в Ñтруктурах"
+-
+-#: config/arm/arm.opt:130
+-msgid "Compile for the Thumb not the ARM"
+-msgstr "Компилировать Ð´Ð»Ñ Thumb, а не Ð´Ð»Ñ ARM"
+-
+-#: config/arm/arm.opt:134
+-msgid "Support calls between Thumb and ARM instruction sets"
+-msgstr "Включить поддержку вызовов между ÑиÑтемами команд Thumb и ARM"
+-
+-#: config/arm/arm.opt:138
+-msgid "Specify how to access the thread pointer"
+-msgstr "СпоÑоб доÑтупа к указателю на нить"
+-
+-#: config/arm/arm.opt:142
+-msgid "Thumb: Generate (non-leaf) stack frames even if not needed"
+-msgstr "Thumb: генерировать (не лиÑтовые) кадры Ñтека, даже еÑли они не нужны"
+-
+-#: config/arm/arm.opt:146
+-msgid "Thumb: Generate (leaf) stack frames even if not needed"
+-msgstr "Thumb: генерировать (лиÑтовые) кадры Ñтека, даже еÑли они не нужны"
+-
+-#: config/arm/arm.opt:150
+-msgid "Tune code for the given processor"
+-msgstr "Ðдаптировать код Ð´Ð»Ñ ÑƒÐºÐ°Ð·Ð°Ð½Ð½Ð¾Ð³Ð¾ процеÑÑора"
+-
+-#: config/arm/arm.opt:154
+-msgid "Assume big endian bytes, little endian words"
+-msgstr "Считать, что байты имеют прÑмой порÑдок бит, а Ñлова - обратный порÑдок байт"
+-
+-#: config/arm/arm.opt:158
+-msgid "Use Neon quad-word (rather than double-word) registers for vectorization"
+-msgstr ""
+-
+-#: config/arm/pe.opt:23
+-msgid "Ignore dllimport attribute for functions"
+-msgstr "Игнорировать атрибут dllimport Ð´Ð»Ñ Ñ„ÑƒÐ½ÐºÑ†Ð¸Ð¹"
+-
+-#: config/pdp11/pdp11.opt:23
+-msgid "Generate code for an 11/10"
+-msgstr "Генерировать код Ð´Ð»Ñ 11/10"
+-
+-#: config/pdp11/pdp11.opt:27
+-msgid "Generate code for an 11/40"
+-msgstr "Генерировать код Ð´Ð»Ñ 11/40"
+-
+-#: config/pdp11/pdp11.opt:31
+-msgid "Generate code for an 11/45"
+-msgstr "Генерировать код Ð´Ð»Ñ 11/45"
+-
+-#: config/pdp11/pdp11.opt:35
+-msgid "Use 16-bit abs patterns"
+-msgstr "ИÑпользовать шаблоны Ð´Ð»Ñ 16-битного abs"
+-
+-#: config/pdp11/pdp11.opt:39
+-msgid "Return floating-point results in ac0 (fr0 in Unix assembler syntax)"
+-msgstr "Возвращать результаты плавающего типа в ac0 (fr0 в ÑинтакÑиÑе аÑÑемблера Unix)"
+-
+-#: config/pdp11/pdp11.opt:43
+-msgid "Do not use inline patterns for copying memory"
+-msgstr "Ðе иÑпользовать вÑтроенные шаблоны Ð´Ð»Ñ ÐºÐ¾Ð¿Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ Ð¿Ð°Ð¼Ñти"
+-
+-#: config/pdp11/pdp11.opt:47
+-msgid "Use inline patterns for copying memory"
+-msgstr "ИÑпользовать вÑтроенные шаблоны Ð´Ð»Ñ ÐºÐ¾Ð¿Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ Ð¿Ð°Ð¼Ñти"
+-
+-#: config/pdp11/pdp11.opt:51
+-msgid "Do not pretend that branches are expensive"
+-msgstr "Ðе Ñчитать переходы затратными"
+-
+-#: config/pdp11/pdp11.opt:55
+-msgid "Pretend that branches are expensive"
+-msgstr "Считать, что переходы затратны"
+-
+-#: config/pdp11/pdp11.opt:59
+-msgid "Use the DEC assembler syntax"
+-msgstr "ИÑпользовать DEC-ÑинтакÑÐ¸Ñ Ð´Ð»Ñ Ð°ÑÑемблерного кода"
+-
+-#: config/pdp11/pdp11.opt:63
+-msgid "Use 32 bit float"
+-msgstr "ИÑпользовать 32-битное предÑтавление типа float"
+-
+-#: config/pdp11/pdp11.opt:67
+-msgid "Use 64 bit float"
+-msgstr "ИÑпользовать 64-битное предÑтавление типа float"
+-
+-#: config/pdp11/pdp11.opt:75
+-msgid "Use 16 bit int"
+-msgstr "ИÑпользовать 16-битное предÑтавление типа int"
+-
+-#: config/pdp11/pdp11.opt:79
+-msgid "Use 32 bit int"
+-msgstr "ИÑпользовать 32-битное предÑтавление типа int"
+-
+-#: config/pdp11/pdp11.opt:87
+-msgid "Target has split I&D"
+-msgstr "Ð¦ÐµÐ»ÐµÐ²Ð°Ñ Ð°Ñ€Ñ…Ð¸Ñ‚ÐµÐºÑ‚ÑƒÑ€Ð° имеет разбиение памÑти Ð´Ð»Ñ ÐºÐ¾Ð´Ð° и данных"
+-
+-#: config/pdp11/pdp11.opt:91
+-msgid "Use UNIX assembler syntax"
+-msgstr "ИÑпользовать UNIX-ÑинтакÑÐ¸Ñ Ð´Ð»Ñ Ð°ÑÑемблерного кода"
+-
+-#: config/avr/avr.opt:23
++#: config/mips/sdemtk.opt:23
+ #, fuzzy
+-msgid "Use subroutines for function prologues and epilogues"
+-msgstr "Генерировать прологи/Ñпилоги функций как подпрограммы"
++msgid "Prevent the use of all floating-point operations"
++msgstr "Ðе иÑпользовать аппаратную реализацию плавающих операций"
+
+-#: config/avr/avr.opt:27
+-#, fuzzy
+-msgid "Select the target MCU"
+-msgstr "Ð˜Ð¼Ñ Ñ†ÐµÐ»ÐµÐ²Ð¾Ð³Ð¾ процеÑÑор"
+-
+-#: config/avr/avr.opt:34
+-#, fuzzy
+-msgid "Use an 8-bit 'int' type"
+-msgstr "ИÑпользовать 64-битное предÑтавление Ð´Ð»Ñ Ñ‚Ð¸Ð¿Ð° int"
+-
+-#: config/avr/avr.opt:38
+-msgid "Change the stack pointer without disabling interrupts"
+-msgstr "ИзменÑÑ‚ÑŒ указатель Ñтека без отмены прерываний"
+-
+-#: config/avr/avr.opt:42
+-msgid "Do not generate tablejump insns"
+-msgstr "Ðе генерировать инÑтрукции табличных переходов"
+-
+-#: config/avr/avr.opt:52
+-msgid "Use rjmp/rcall (limited range) on >8K devices"
+-msgstr "ИÑпользовать rjmp/rcall (Ñ Ð¾Ð³Ñ€Ð°Ð½Ð¸Ñ‡ÐµÐ½Ð½Ñ‹Ð¼ диапазоном) Ð´Ð»Ñ ÑƒÑтройÑтв >8K"
+-
+-#: config/avr/avr.opt:56
+-msgid "Output instruction sizes to the asm file"
+-msgstr "Выводить размеры команд в аÑÑемблерный файл"
+-
+-#: config/avr/avr.opt:60
+-msgid "Change only the low 8 bits of the stack pointer"
+-msgstr "ИзменÑÑ‚ÑŒ только младшие 8 бит ÑƒÐºÐ°Ð·Ð°Ñ‚ÐµÐ»Ñ Ñтека"
+-
+-#: config/crx/crx.opt:23
+-msgid "Support multiply accumulate instructions"
+-msgstr "ИÑпользовать команды ÑƒÐ¼Ð½Ð¾Ð¶ÐµÐ½Ð¸Ñ Ñо Ñложением"
+-
+-#: config/crx/crx.opt:27
+-msgid "Do not use push to store function arguments"
+-msgstr "Ðе иÑпользовать команды push Ð´Ð»Ñ ÑÐ¾Ñ…Ñ€Ð°Ð½ÐµÐ½Ð¸Ñ Ð°Ñ€Ð³ÑƒÐ¼ÐµÐ½Ñ‚Ð¾Ð² функций"
+-
+-#: config/crx/crx.opt:31
+-msgid "Restrict doloop to the given nesting level"
+-msgstr "Ограничивать иÑпользование doloop заданным уровнем вложеноÑти"
+-
+-#: config/c4x/c4x.opt:23
+-msgid "Generate code for C30 CPU"
+-msgstr "Генерировать код Ð´Ð»Ñ Ð¿Ñ€Ð¾Ñ†ÐµÑÑора C30"
+-
+-#: config/c4x/c4x.opt:27
+-msgid "Generate code for C31 CPU"
+-msgstr "Генерировать код Ð´Ð»Ñ Ð¿Ñ€Ð¾Ñ†ÐµÑÑора C31"
+-
+-#: config/c4x/c4x.opt:31
+-msgid "Generate code for C32 CPU"
+-msgstr "Генерировать код Ð´Ð»Ñ Ð¿Ñ€Ð¾Ñ†ÐµÑÑора C32"
+-
+-#: config/c4x/c4x.opt:35
+-msgid "Generate code for C33 CPU"
+-msgstr "Генерировать код Ð´Ð»Ñ Ð¿Ñ€Ð¾Ñ†ÐµÑÑора C33"
+-
+-#: config/c4x/c4x.opt:39
+-msgid "Generate code for C40 CPU"
+-msgstr "Генерировать код Ð´Ð»Ñ Ð¿Ñ€Ð¾Ñ†ÐµÑÑора C40"
+-
+-#: config/c4x/c4x.opt:43
+-msgid "Generate code for C44 CPU"
+-msgstr "Генерировать код Ð´Ð»Ñ Ð¿Ñ€Ð¾Ñ†ÐµÑÑора C44"
+-
+-#: config/c4x/c4x.opt:47
+-msgid "Assume that pointers may be aliased"
+-msgstr "Считать, что указатели могут указывать на общую памÑÑ‚ÑŒ"
+-
+-#: config/c4x/c4x.opt:51
+-msgid "Big memory model"
+-msgstr "Модель большой памÑти"
+-
+-#: config/c4x/c4x.opt:55
+-msgid "Use the BK register as a general purpose register"
+-msgstr "ИÑпользовать региÑÑ‚Ñ€ BK как региÑÑ‚Ñ€ общего назначениÑ"
+-
+-#: config/c4x/c4x.opt:59
+-msgid "Generate code for CPU"
+-msgstr "Генерировать код Ð´Ð»Ñ Ð·Ð°Ð´Ð°Ð½Ð½Ð¾Ð³Ð¾ процеÑÑора"
+-
+-#: config/c4x/c4x.opt:63
+-msgid "Enable use of DB instruction"
+-msgstr "ИÑпользовать команду DB"
+-
+-#: config/c4x/c4x.opt:67
+-msgid "Enable debugging"
+-msgstr "Включить режим отладки"
+-
+-#: config/c4x/c4x.opt:71
+-msgid "Enable new features under development"
+-msgstr "Включить новые ÑредÑтва, находÑщиеÑÑ Ð² Ñтадии разработки"
+-
+-#: config/c4x/c4x.opt:75
+-msgid "Use fast but approximate float to integer conversion"
+-msgstr "ИÑпользовать быÑтрое, но неточное преобразование плавающих в целые"
+-
+-#: config/c4x/c4x.opt:79
+-msgid "Force RTL generation to emit valid 3 operand insns"
+-msgstr "ФорÑировать генерацию RTL Ñ Ð¿Ñ€Ð°Ð²Ð¸Ð»ÑŒÐ½Ñ‹Ð¼Ð¸ 3-операндными инÑтрукциÑми"
+-
+-#: config/c4x/c4x.opt:83
+-msgid "Force constants into registers to improve hoisting"
+-msgstr "Принудительно помещать конÑтанты на региÑтры Ð´Ð»Ñ Ð¿Ð¾Ð²Ñ‹ÑˆÐµÐ½Ð¸Ñ ÑƒÐ½Ð¸Ñ„Ð¸ÐºÐ°Ñ†Ð¸Ð¸"
+-
+-#: config/c4x/c4x.opt:87 config/c4x/c4x.opt:111
+-msgid "Save DP across ISR in small memory model"
+-msgstr "Размещать Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ñ Ð´Ð²Ð¾Ð¹Ð½Ð¾Ð¹ точноÑти на границе ISR в модели малой памÑти"
+-
+-#: config/c4x/c4x.opt:91
+-msgid "Allow unsigned iteration counts for RPTB/DB"
+-msgstr "Разрешить беззнаковые Ñчётчики итераций Ð´Ð»Ñ RPTB/DB"
+-
+-#: config/c4x/c4x.opt:95
+-msgid "Pass arguments on the stack"
+-msgstr "Передавать аргументы в Ñтеке"
+-
+-#: config/c4x/c4x.opt:99
+-msgid "Use MPYI instruction for C3x"
+-msgstr "ИÑпользовать MPYI Ð´Ð»Ñ C3x"
+-
+-#: config/c4x/c4x.opt:103
+-msgid "Enable parallel instructions"
+-msgstr "Включить генерацию параллельного кода"
+-
+-#: config/c4x/c4x.opt:107
+-msgid "Enable MPY||ADD and MPY||SUB instructions"
+-msgstr "ИÑпользовать команды MPY||ADD, MPY||SUB"
+-
+-#: config/c4x/c4x.opt:115
+-msgid "Preserve all 40 bits of FP reg across call"
+-msgstr "СохранÑÑ‚ÑŒ вÑе 40 бит плавающего региÑтра при вызовах"
+-
+-#: config/c4x/c4x.opt:119
+-msgid "Pass arguments in registers"
+-msgstr "Передавать аргументы на региÑтрах"
+-
+-#: config/c4x/c4x.opt:123
+-msgid "Enable use of RTPB instruction"
+-msgstr "ИÑпользовать команды RTPB"
+-
+-#: config/c4x/c4x.opt:127
+-msgid "Enable use of RTPS instruction"
+-msgstr "ИÑпользовать команды RTPS"
+-
+-#: config/c4x/c4x.opt:131
+-msgid "Set the maximum number of iterations for RPTS to N"
+-msgstr "Задать макÑимальное чиÑло итераций Ð´Ð»Ñ RPTS"
+-
+-#: config/c4x/c4x.opt:135
+-msgid "Small memory model"
+-msgstr "Модель малой памÑти"
+-
+-#: config/c4x/c4x.opt:139
+-msgid "Emit code compatible with TI tools"
+-msgstr "Генерировать код, ÑовмеÑтимый Ñ Ñ„Ð¸Ñ€Ð¼ÐµÐ½Ð½Ñ‹Ð¼Ð¸ инÑтрументами TI"
+-
+-#: config/pa/pa-hpux.opt:23
+-msgid "Generate cpp defines for server IO"
+-msgstr "Генерировать Ð¾Ð¿Ñ€ÐµÐ´ÐµÐ»ÐµÐ½Ð¸Ñ Ð¿Ñ€ÐµÐ¿Ñ€Ð¾Ñ†ÐµÑÑора Ð´Ð»Ñ Ñерверного ввода-вывода"
+-
+-#: config/pa/pa-hpux.opt:27 config/pa/pa-hpux1010.opt:23
+-#: config/pa/pa-hpux1111.opt:23
+-msgid "Specify UNIX standard for predefines and linking"
+-msgstr "Задать Ñтандарт UNIX Ð´Ð»Ñ Ð¾Ð¿Ñ€ÐµÐ´ÐµÐ»Ñ‘Ð½Ð½Ñ‹Ñ… переменных и компоновки"
+-
+-#: config/pa/pa-hpux.opt:31
+-msgid "Generate cpp defines for workstation IO"
+-msgstr "Генерировать Ð¾Ð¿Ñ€ÐµÐ´ÐµÐ»ÐµÐ½Ð¸Ñ Ð¿Ñ€ÐµÐ¿Ñ€Ð¾Ñ†ÐµÑÑора Ð´Ð»Ñ Ð²Ð²Ð¾Ð´Ð°-вывода рабочей Ñтанции"
+-
+-#: config/pa/pa.opt:23 config/pa/pa.opt:76 config/pa/pa.opt:84
+-msgid "Generate PA1.0 code"
+-msgstr "Генерировать код PA1.0"
+-
+-#: config/pa/pa.opt:27 config/pa/pa.opt:88 config/pa/pa.opt:108
+-msgid "Generate PA1.1 code"
+-msgstr "Генерировать код PA1.1"
+-
+-#: config/pa/pa.opt:31 config/pa/pa.opt:92
+-msgid "Generate PA2.0 code (requires binutils 2.10 or later)"
+-msgstr "Генерировать код PA2.0 (требуютÑÑ Ð±Ð¸Ð½. утилиты 2.10 или Ñтарше)"
+-
+-#: config/pa/pa.opt:35
+-msgid "Generate code for huge switch statements"
+-msgstr "Генерировать код Ð´Ð»Ñ Ð±Ð¾Ð»ÑŒÑˆÐ¸Ñ… переключателей"
+-
+-#: config/pa/pa.opt:39
+-msgid "Disable FP regs"
+-msgstr "ИÑключить иÑпользование плавающих региÑтров"
+-
+-#: config/pa/pa.opt:43
+-msgid "Disable indexed addressing"
+-msgstr "Ðе иÑпользовать индекÑную адреÑацию"
+-
+-#: config/pa/pa.opt:47
+-msgid "Generate fast indirect calls"
+-msgstr "Генерировать быÑтрые коÑвенные вызовы"
+-
+-#: config/pa/pa.opt:55
+-msgid "Assume code will be assembled by GAS"
+-msgstr "Предполагать, что код будет аÑÑемблироватьÑÑ Ð¿Ñ€Ð¸ помощи GAS"
+-
+-#: config/pa/pa.opt:59
+-msgid "Put jumps in call delay slots"
+-msgstr "Помещать переходы в гнезда задержки вызовов"
+-
+-#: config/pa/pa.opt:64
+-msgid "Enable linker optimizations"
+-msgstr "Включить оптимизации компоновки"
+-
+-#: config/pa/pa.opt:68
+-msgid "Always generate long calls"
+-msgstr "Ð’Ñегда генерировать дальние вызовы"
+-
+-#: config/pa/pa.opt:72
+-msgid "Emit long load/store sequences"
+-msgstr "Генерировать длинные поÑледовательноÑти чтениÑ/запиÑи"
+-
+-#: config/pa/pa.opt:80
+-msgid "Disable space regs"
+-msgstr "ИÑключить иÑпользование space-региÑтров"
+-
+-#: config/pa/pa.opt:96
+-msgid "Use portable calling conventions"
+-msgstr "ИÑпользовать портируемые ÑÐ¾Ð³Ð»Ð°ÑˆÐµÐ½Ð¸Ñ Ð¾ вызовах"
+-
+-#: config/pa/pa.opt:100
+-msgid "Specify CPU for scheduling purposes. Valid arguments are 700, 7100, 7100LC, 7200, 7300, and 8000"
+-msgstr "Задать тип ЦП Ð´Ð»Ñ Ð¾Ð¿Ñ‚Ð¸Ð¼Ð¸Ð·Ð°Ñ†Ð¸Ð¸ планированиÑ. ДопуÑтимые Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ñ 700, 7100, 7100LC, 7200, 7300, 8000"
+-
+-#: config/pa/pa.opt:112
+-msgid "Do not disable space regs"
+-msgstr "Ðе иÑключать иÑпользование space-региÑтров"
+-
+-#: config/pa/pa64-hpux.opt:23
+-msgid "Assume code will be linked by GNU ld"
+-msgstr "Предполагать что Ð´Ð»Ñ ÐºÐ¾Ð¼Ð¿Ð¾Ð½Ð¾Ð²ÐºÐ¸ будет применÑÑ‚ÑŒÑÑ GAS ld"
+-
+-#: config/pa/pa64-hpux.opt:27
+-msgid "Assume code will be linked by HP ld"
+-msgstr "Предполагать что Ð´Ð»Ñ ÐºÐ¾Ð¼Ð¿Ð¾Ð½Ð¾Ð²ÐºÐ¸ будет применÑÑ‚ÑŒÑÑ HP ld"
+-
+-#: config/xtensa/xtensa.opt:23
+-msgid "Use CONST16 instruction to load constants"
+-msgstr "ИÑпользовать команды CONST16 Ð´Ð»Ñ Ð·Ð°Ð³Ñ€ÑƒÐ·ÐºÐ¸ конÑтант"
+-
+-#: config/xtensa/xtensa.opt:27
+-msgid "Enable fused multiply/add and multiply/subtract FP instructions"
+-msgstr "ИÑпользовать плавающие команды multiply/add и multiply/subtract"
+-
+-#: config/xtensa/xtensa.opt:31
+-msgid "Use indirect CALLXn instructions for large programs"
+-msgstr "ИÑпользовать команды коÑвенного вызова CALLXn в больших программах"
+-
+-#: config/xtensa/xtensa.opt:35
+-msgid "Automatically align branch targets to reduce branch penalties"
+-msgstr "ÐвтоматичеÑки выравнивать позиции меток Ð´Ð»Ñ ÑÐ¾ÐºÑ€Ð°Ñ‰ÐµÐ½Ð¸Ñ Ð·Ð°Ð´ÐµÑ€Ð¶ÐµÐº переходов"
+-
+-#: config/xtensa/xtensa.opt:39
+-msgid "Intersperse literal pools with code in the text section"
+-msgstr "Помещать литеральные данные вмеÑте Ñ ÐºÐ¾Ð´Ð¾Ð¼ в Ñекцию text"
+-
+-#: config/stormy16/stormy16.opt:24
+-msgid "Provide libraries for the simulator"
+-msgstr "Создавать библиотеке Ð´Ð»Ñ ÑимулÑтора"
+-
+ #: config/mips/mips.opt:23
+ msgid "Generate code that conforms to the given ABI"
+ msgstr "Генерировать код в ÑоответÑтвии Ñ Ð·Ð°Ð´Ð°Ð½Ð½Ñ‹Ð¼ ABI"
+@@ -14029,10 +14349,6 @@
+ msgid "Use little-endian byte order"
+ msgstr "ИÑпользовать обратный (little-endian) порÑдок байт"
+
+-#: config/mips/mips.opt:97 config/iq2000/iq2000.opt:31
+-msgid "Use ROM instead of RAM"
+-msgstr "ИÑпользовать ROM вмеÑто RAM"
+-
+ #: config/mips/mips.opt:101
+ msgid "Use NewABI-style %reloc() assembly operators"
+ msgstr "ИÑпользовать аÑÑемблерные команды %reloc()"
+@@ -14203,10 +14519,6 @@
+ msgid "Optimize the output for PROCESSOR"
+ msgstr "Оптимизировать код Ð´Ð»Ñ ÑƒÐºÐ°Ð·Ð°Ð½Ð½Ð¾Ð³Ð¾ ПРОЦЕССОРа"
+
+-#: config/mips/mips.opt:265 config/iq2000/iq2000.opt:44
+-msgid "Put uninitialized constants in ROM (needs -membedded-data)"
+-msgstr "Размещать неинициализированные конÑтанты в ROM (требуетÑÑ -membedded-data)"
+-
+ #: config/mips/mips.opt:269
+ msgid "Perform VR4130-specific alignment optimizations"
+ msgstr "Выполнить ÑпецифичеÑкие Ð´Ð»Ñ VR4130 оптимизации выравниваниÑ"
+@@ -14215,367 +14527,6 @@
+ msgid "Lift restrictions on GOT size"
+ msgstr "ПоднÑÑ‚ÑŒ ограничение на размер GOT"
+
+-#: config/mips/sdemtk.opt:23
+-#, fuzzy
+-msgid "Prevent the use of all floating-point operations"
+-msgstr "Ðе иÑпользовать аппаратную реализацию плавающих операций"
+-
+-#: config/fr30/fr30.opt:23
+-msgid "Assume small address space"
+-msgstr "Предполагать малое адреÑное проÑтранÑтво"
+-
+-#: config/m68hc11/m68hc11.opt:23 config/m68hc11/m68hc11.opt:31
+-msgid "Compile for a 68HC11"
+-msgstr "Компилировать Ð´Ð»Ñ 68HC11"
+-
+-#: config/m68hc11/m68hc11.opt:27 config/m68hc11/m68hc11.opt:35
+-msgid "Compile for a 68HC12"
+-msgstr "Компилировать Ð´Ð»Ñ 68HC12"
+-
+-#: config/m68hc11/m68hc11.opt:41 config/m68hc11/m68hc11.opt:45
+-msgid "Compile for a 68HCS12"
+-msgstr "Компилировать Ð´Ð»Ñ 68HCS12"
+-
+-#: config/m68hc11/m68hc11.opt:49
+-msgid "Auto pre/post decrement increment allowed"
+-msgstr "Разрешить пре- и поÑÑ‚- автоинкрементацию и автодекреметацию"
+-
+-#: config/m68hc11/m68hc11.opt:53
+-msgid "Min/max instructions allowed"
+-msgstr "Разрешить инÑтрукции min, max"
+-
+-#: config/m68hc11/m68hc11.opt:57
+-msgid "Use call and rtc for function calls and returns"
+-msgstr "ИÑпользовать call и rtc Ð´Ð»Ñ Ð²Ñ‹Ð·Ð¾Ð²Ð¾Ð² функций и возвратов"
+-
+-#: config/m68hc11/m68hc11.opt:61
+-msgid "Auto pre/post decrement increment not allowed"
+-msgstr "Запретить пре- и поÑÑ‚- автоинкрементацию и автодекреметацию"
+-
+-#: config/m68hc11/m68hc11.opt:65
+-msgid "Use jsr and rts for function calls and returns"
+-msgstr "ИÑпользовать jsr и rts Ð´Ð»Ñ Ð²Ñ‹Ð·Ð¾Ð²Ð¾Ð² функций и возвратов"
+-
+-#: config/m68hc11/m68hc11.opt:69
+-msgid "Min/max instructions not allowed"
+-msgstr "Запретить инÑтрукции min, max"
+-
+-#: config/m68hc11/m68hc11.opt:73
+-msgid "Use direct addressing mode for soft registers"
+-msgstr "ИÑпользовать прÑмую адреÑацию Ð´Ð»Ñ Ð¿ÑевдорегиÑтров"
+-
+-#: config/m68hc11/m68hc11.opt:77
+-msgid "Compile with 32-bit integer mode"
+-msgstr "Компилировать в режиме 32-битных целых"
+-
+-#: config/m68hc11/m68hc11.opt:82
+-msgid "Specify the register allocation order"
+-msgstr "ПорÑдок Ð²Ñ‹Ð´ÐµÐ»ÐµÐ½Ð¸Ñ Ñ€ÐµÐ³Ð¸Ñтров"
+-
+-#: config/m68hc11/m68hc11.opt:86
+-msgid "Do not use direct addressing mode for soft registers"
+-msgstr "Ðе иÑпользовать прÑмую адреÑацию Ð´Ð»Ñ Ð¿ÑевдорегиÑтров"
+-
+-#: config/m68hc11/m68hc11.opt:90
+-msgid "Compile with 16-bit integer mode"
+-msgstr "Компилировать в режиме 16-битных целых"
+-
+-#: config/m68hc11/m68hc11.opt:94
+-msgid "Indicate the number of soft registers available"
+-msgstr "ЧиÑло доÑтупных программных пÑевдорегиÑтров"
+-
+-#: config/vax/vax.opt:23 config/vax/vax.opt:27
+-msgid "Target DFLOAT double precision code"
+-msgstr "Генерировать код двойной плавающей точноÑти DFLOAT"
+-
+-#: config/vax/vax.opt:31 config/vax/vax.opt:35
+-msgid "Generate GFLOAT double precision code"
+-msgstr "Генерировать код двойной плавающей точноÑти GFLOAT"
+-
+-#: config/vax/vax.opt:39
+-msgid "Generate code for GNU assembler (gas)"
+-msgstr "Генерировать код Ð´Ð»Ñ GNU-аÑÑемблера (gas)"
+-
+-#: config/vax/vax.opt:43
+-msgid "Generate code for UNIX assembler"
+-msgstr "Генерировать код Ð´Ð»Ñ UNIX-аÑÑемблера"
+-
+-#: config/vax/vax.opt:47
+-msgid "Use VAXC structure conventions"
+-msgstr "ИÑпользовать ÑÐ¾Ð³Ð»Ð°ÑˆÐµÐ½Ð¸Ñ Ð¾ Ñтруктурах VAXC"
+-
+-#: config/cris/linux.opt:27
+-msgid "Together with -fpic and -fPIC, do not use GOTPLT references"
+-msgstr "Ðе иÑпользовать GOTPLT-ÑÑылки Ñ -fpic и -fPIC"
+-
+-#: config/cris/cris.opt:45
+-msgid "Work around bug in multiplication instruction"
+-msgstr "Обойти ошибку в команде умножениÑ"
+-
+-#: config/cris/cris.opt:51
+-msgid "Compile for ETRAX 4 (CRIS v3)"
+-msgstr "Компилировать Ð´Ð»Ñ ETRAX 4 (CRIS v3)"
+-
+-#: config/cris/cris.opt:56
+-msgid "Compile for ETRAX 100 (CRIS v8)"
+-msgstr "Компилировать Ð´Ð»Ñ ETRAX 100 (CRIS v8)"
+-
+-#: config/cris/cris.opt:64
+-msgid "Emit verbose debug information in assembly code"
+-msgstr "Выводить в аÑÑемблерный код подробную отладочную информацию"
+-
+-#: config/cris/cris.opt:71
+-msgid "Do not use condition codes from normal instructions"
+-msgstr "Ð’ обычных командах не иÑпользовать коды уÑловий"
+-
+-#: config/cris/cris.opt:80
+-msgid "Do not emit addressing modes with side-effect assignment"
+-msgstr "Ðе иÑпользовать режимов адреÑации Ñ Ð¿Ð¾Ð±Ð¾Ñ‡Ð½Ñ‹Ð¼Ð¸ Ñффектами"
+-
+-#: config/cris/cris.opt:89
+-msgid "Do not tune stack alignment"
+-msgstr "Ðе выравнивать данные в Ñтеке"
+-
+-#: config/cris/cris.opt:98
+-msgid "Do not tune writable data alignment"
+-msgstr "Ðе выравнивать данные, доÑтупные на запиÑÑŒ"
+-
+-#: config/cris/cris.opt:107
+-msgid "Do not tune code and read-only data alignment"
+-msgstr "Ðе выравнивать код и данные, доÑтупные только на чтение"
+-
+-#: config/cris/cris.opt:116
+-msgid "Align code and data to 32 bits"
+-msgstr "Выравнивать код и данные по границе 32 бит"
+-
+-#: config/cris/cris.opt:133
+-msgid "Don't align items in code or data"
+-msgstr "Ðе выравнивать Ñлементы кода или данных"
+-
+-#: config/cris/cris.opt:142
+-msgid "Do not emit function prologue or epilogue"
+-msgstr "Ðе генерировать прологи и Ñпилоги функций"
+-
+-#: config/cris/cris.opt:149
+-msgid "Use the most feature-enabling options allowed by other options"
+-msgstr "ИÑпользовать макÑимум возможноÑтей, не противоречащих другим ключам"
+-
+-#: config/cris/cris.opt:158
+-msgid "Override -mbest-lib-options"
+-msgstr "Отменить -mbest-lib-options"
+-
+-#: config/cris/cris.opt:165
+-msgid "Generate code for the specified chip or CPU version"
+-msgstr "Генерировать код Ð´Ð»Ñ ÑƒÐºÐ°Ð·Ð°Ð½Ð½Ð¾Ð³Ð¾ процеÑÑора или верÑии процеÑÑора"
+-
+-#: config/cris/cris.opt:169
+-msgid "Tune alignment for the specified chip or CPU version"
+-msgstr "Делать выравнивание Ð´Ð»Ñ ÑƒÐºÐ°Ð·Ð°Ð½Ð½Ð¾Ð³Ð¾ процеÑÑора или верÑии процеÑÑора"
+-
+-#: config/cris/cris.opt:173
+-msgid "Warn when a stackframe is larger than the specified size"
+-msgstr "Предупреждать, еÑли кадр Ñтека превышает указанный размер"
+-
+-#: config/cris/aout.opt:27
+-msgid "Compile for the MMU-less Etrax 100-based elinux system"
+-msgstr "Компилировать Ð´Ð»Ñ ÑиÑтемы MMU-less Etrax 100-based elinux"
+-
+-#: config/cris/aout.opt:33
+-msgid "For elinux, request a specified stack-size for this program"
+-msgstr "Ð”Ð»Ñ elinux уÑтановить указанный размер Ñтека Ð´Ð»Ñ Ñтой программы"
+-
+-#: config/h8300/h8300.opt:23
+-msgid "Generate H8S code"
+-msgstr "Генерировать код H8S"
+-
+-#: config/h8300/h8300.opt:27
+-msgid "Generate H8SX code"
+-msgstr "Генерировать код H8SX"
+-
+-#: config/h8300/h8300.opt:31
+-msgid "Generate H8S/2600 code"
+-msgstr "Генерировать код H8S/2600"
+-
+-#: config/h8300/h8300.opt:35
+-msgid "Make integers 32 bits wide"
+-msgstr "УÑтановить ширину целых типов 32 бита"
+-
+-#: config/h8300/h8300.opt:42
+-msgid "Use registers for argument passing"
+-msgstr "ИÑпользовать региÑтры Ð´Ð»Ñ Ð¿ÐµÑ€ÐµÐ´Ð°Ñ‡Ð¸ аргументов"
+-
+-#: config/h8300/h8300.opt:46
+-msgid "Consider access to byte sized memory slow"
+-msgstr "Считать, что доÑтуп к байтным данным медленный"
+-
+-#: config/h8300/h8300.opt:50
+-msgid "Enable linker relaxing"
+-msgstr "ИÑпользовать ключ --relax при компоновке"
+-
+-#: config/h8300/h8300.opt:54
+-msgid "Generate H8/300H code"
+-msgstr "Генерировать код H8/300H"
+-
+-#: config/h8300/h8300.opt:58
+-msgid "Enable the normal mode"
+-msgstr "УÑтановить нормальный режим"
+-
+-#: config/h8300/h8300.opt:62
+-msgid "Use H8/300 alignment rules"
+-msgstr "ИÑпользовать правила Ð²Ñ‹Ñ€Ð°Ð²Ð½Ð¸Ð²Ð°Ð½Ð¸Ñ H8/300H"
+-
+-#: config/v850/v850.opt:23
+-msgid "Use registers r2 and r5"
+-msgstr "ИÑпользовать региÑтры r2 и r5"
+-
+-#: config/v850/v850.opt:27
+-msgid "Use 4 byte entries in switch tables"
+-msgstr "Генерировать 4-байтные Ñлементы в таблицах переключателей"
+-
+-#: config/v850/v850.opt:31
+-msgid "Enable backend debugging"
+-msgstr "Включить отладочную печать"
+-
+-#: config/v850/v850.opt:35
+-msgid "Do not use the callt instruction"
+-msgstr "Ðе иÑпользовать команды callt"
+-
+-#: config/v850/v850.opt:39
+-msgid "Reuse r30 on a per function basis"
+-msgstr "Включить иÑпользование r30"
+-
+-#: config/v850/v850.opt:43
+-msgid "Support Green Hills ABI"
+-msgstr "Включить поддержку Green Hills ABI"
+-
+-#: config/v850/v850.opt:47
+-msgid "Prohibit PC relative function calls"
+-msgstr "Запретить вызовы функций отноÑительно PC"
+-
+-#: config/v850/v850.opt:51
+-msgid "Use stubs for function prologues"
+-msgstr "ИÑпользовать заготовки прологов функций"
+-
+-#: config/v850/v850.opt:55
+-msgid "Set the max size of data eligible for the SDA area"
+-msgstr "МакÑимальный размер данных Ð´Ð»Ñ Ñ€Ð°Ð·Ð¼ÐµÑ‰ÐµÐ½Ð¸Ñ Ð² облаÑти SDA"
+-
+-#: config/v850/v850.opt:59
+-msgid "Enable the use of the short load instructions"
+-msgstr "Включить иÑпользование коротких команд загрузки"
+-
+-#: config/v850/v850.opt:63
+-msgid "Same as: -mep -mprolog-function"
+-msgstr "То же, что -mep -mprolog-function"
+-
+-#: config/v850/v850.opt:67
+-msgid "Set the max size of data eligible for the TDA area"
+-msgstr "МакÑимальный размер данных Ð´Ð»Ñ Ñ€Ð°Ð·Ð¼ÐµÑ‰ÐµÐ½Ð¸Ñ Ð² облаÑти TDA"
+-
+-#: config/v850/v850.opt:71
+-msgid "Enforce strict alignment"
+-msgstr "ИÑпользовать Ñтрогое выравнивание"
+-
+-#: config/v850/v850.opt:78
+-msgid "Compile for the v850 processor"
+-msgstr "Компилировать Ð´Ð»Ñ Ð¿Ñ€Ð¾Ñ†ÐµÑÑора v850"
+-
+-#: config/v850/v850.opt:82
+-msgid "Compile for the v850e processor"
+-msgstr "Компилировать Ð´Ð»Ñ Ð¿Ñ€Ð¾Ñ†ÐµÑÑора v850e"
+-
+-#: config/v850/v850.opt:86
+-msgid "Compile for the v850e1 processor"
+-msgstr "Компилировать Ð´Ð»Ñ Ð¿Ñ€Ð¾Ñ†ÐµÑÑора v850e1"
+-
+-#: config/v850/v850.opt:90
+-msgid "Set the max size of data eligible for the ZDA area"
+-msgstr "МакÑимальный размер данных Ð´Ð»Ñ Ñ€Ð°Ð·Ð¼ÐµÑ‰ÐµÐ½Ð¸Ñ Ð² облаÑти ZDA"
+-
+-#: config/mmix/mmix.opt:24
+-msgid "For intrinsics library: pass all parameters in registers"
+-msgstr "Ð”Ð»Ñ Ð²Ð½ÑƒÑ‚Ñ€ÐµÐ½Ð½ÐµÐ¹ библиотеки: передавать вÑе параметры на региÑтрах"
+-
+-#: config/mmix/mmix.opt:28
+-msgid "Use register stack for parameters and return value"
+-msgstr "ИÑпользовать региÑтровый Ñтек Ð´Ð»Ñ Ð¿ÐµÑ€ÐµÐ´Ð°Ñ‡Ð¸ параметров и возврата значениÑ"
+-
+-#: config/mmix/mmix.opt:32
+-msgid "Use call-clobbered registers for parameters and return value"
+-msgstr "ИÑпользовать неÑохранÑемые региÑтры Ð´Ð»Ñ Ð¿ÐµÑ€ÐµÐ´Ð°Ñ‡Ð¸ параметров и возврата значениÑ"
+-
+-#: config/mmix/mmix.opt:37
+-msgid "Use epsilon-respecting floating point compare instructions"
+-msgstr "ИÑпользовать команды ÑÑ€Ð°Ð²Ð½ÐµÐ½Ð¸Ñ Ð¿Ð»Ð°Ð²Ð°ÑŽÑ‰Ð¸Ñ… значений, учитывающие epsilon-региÑÑ‚Ñ€"
+-
+-#: config/mmix/mmix.opt:41
+-msgid "Use zero-extending memory loads, not sign-extending ones"
+-msgstr "ИÑпользовать команды загрузки из памÑти Ñ Ñ€Ð°Ñширением нулÑми, а не знаковым битом"
+-
+-#: config/mmix/mmix.opt:45
+-msgid "Generate divide results with reminder having the same sign as the divisor (not the dividend)"
+-msgstr "Генерировать код так, чтобы оÑтаток от Ð´ÐµÐ»ÐµÐ½Ð¸Ñ Ð¸Ð¼ÐµÐ» знак Ð´ÐµÐ»Ð¸Ñ‚ÐµÐ»Ñ (а не делимого)"
+-
+-#: config/mmix/mmix.opt:49
+-msgid "Prepend global symbols with \":\" (for use with PREFIX)"
+-msgstr "ПрипиÑывать Ð¿Ñ€ÐµÑ„Ð¸ÐºÑ \":\" глобальным Ñимволам (Ð´Ð»Ñ Ð¸ÑÐ¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ð½Ð¸Ñ Ñ PREFIX)"
+-
+-#: config/mmix/mmix.opt:53
+-msgid "Do not provide a default start-address 0x100 of the program"
+-msgstr "Ðе задавать Ñтандартный Ñтартовый Ð°Ð´Ñ€ÐµÑ Ð¿Ñ€Ð¾Ð³Ñ€Ð°Ð¼Ð¼Ñ‹ 0x100"
+-
+-#: config/mmix/mmix.opt:57
+-msgid "Link to emit program in ELF format (rather than mmo)"
+-msgstr "При компоновке Ñоздавать файл в формате ELF (а не mmo)"
+-
+-#: config/mmix/mmix.opt:61
+-msgid "Use P-mnemonics for branches statically predicted as taken"
+-msgstr "ИÑпользовать P-мнемонику Ð´Ð»Ñ ÑтатичеÑки предÑказанных переходов"
+-
+-#: config/mmix/mmix.opt:65
+-msgid "Don't use P-mnemonics for branches"
+-msgstr "Ðе иÑпользовать P-мнемонику Ð´Ð»Ñ ÑтатичеÑки предÑказанных переходов"
+-
+-#: config/mmix/mmix.opt:79
+-msgid "Use addresses that allocate global registers"
+-msgstr "ИÑпользовать формирование адреÑов Ð´Ð»Ñ Ð³Ð»Ð¾Ð±Ð°Ð»ÑŒÐ½Ñ‹Ñ… региÑтров"
+-
+-#: config/mmix/mmix.opt:83
+-msgid "Do not use addresses that allocate global registers"
+-msgstr "Ðе иÑпользовать формирование адреÑов Ð´Ð»Ñ Ð³Ð»Ð¾Ð±Ð°Ð»ÑŒÐ½Ñ‹Ñ… региÑтров"
+-
+-#: config/mmix/mmix.opt:87
+-msgid "Generate a single exit point for each function"
+-msgstr "Генерировать одну выходную точку Ð´Ð»Ñ ÐºÐ°Ð¶Ð´Ð¾Ð¹ функции"
+-
+-#: config/mmix/mmix.opt:91
+-msgid "Do not generate a single exit point for each function"
+-msgstr "Ðе генерировать одну выходную точку Ð´Ð»Ñ ÐºÐ°Ð¶Ð´Ð¾Ð¹ функции"
+-
+-#: config/mmix/mmix.opt:95
+-msgid "Set start-address of the program"
+-msgstr "Стартовый Ð°Ð´Ñ€ÐµÑ Ð¿Ñ€Ð¾Ð³Ñ€Ð°Ð¼Ð¼Ñ‹"
+-
+-#: config/mmix/mmix.opt:99
+-msgid "Set start-address of data"
+-msgstr "Стартовый Ð°Ð´Ñ€ÐµÑ Ð´Ð°Ð½Ð½Ñ‹Ñ…"
+-
+-#: config/iq2000/iq2000.opt:23 config/mt/mt.opt:55
+-msgid "Specify CPU for code generation purposes"
+-msgstr "ПроцеÑÑор, Ð´Ð»Ñ ÐºÐ¾Ñ‚Ð¾Ñ€Ð¾Ð³Ð¾ оÑущеÑтвлÑетÑÑ Ð³ÐµÐ½ÐµÑ€Ð°Ñ†Ð¸ÑŽ кода"
+-
+-#: config/iq2000/iq2000.opt:27
+-msgid "Specify CPU for scheduling purposes"
+-msgstr "ПроцеÑÑор, Ð´Ð»Ñ ÐºÐ¾Ñ‚Ð¾Ñ€Ð¾Ð³Ð¾ оÑущеÑтвлÑетÑÑ Ð¿Ð»Ð°Ð½Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ðµ команд"
+-
+-#: config/iq2000/iq2000.opt:35
+-msgid "Use GP relative sdata/sbss sections"
+-msgstr "ИÑпользовать Ñекции sdata/sbss, адреÑуемые отноÑительно региÑтра GP"
+-
+-#: config/iq2000/iq2000.opt:40
+-msgid "No default crt0.o"
+-msgstr "отÑутÑтвует Ñтандартный файл crt0.o"
+-
+ #: config/bfin/bfin.opt:31
+ msgid "Omit frame pointer for leaf functions"
+ msgstr "ИÑключать указатель кадра в лиÑтовых функциÑÑ…"
+@@ -14613,2086 +14564,2103 @@
+ msgid "Do stack checking using bounds in L1 scratch memory"
+ msgstr ""
+
+-#: config/mt/mt.opt:23
+-msgid "Use byte loads and stores when generating code."
+-msgstr "ИÑпользовать побайтовые операции Ñ Ð¿Ð°Ð¼Ñтью при генерации кода"
++#: treelang/lang.opt:30
++msgid "Trace lexical analysis"
++msgstr "ТраÑÑировать лекÑичеÑкий анализ"
+
+-#: config/mt/mt.opt:31
+-msgid "Do not include crt0.o in the startup files"
+-msgstr "Ðе включать crt0.o в запуÑкаемые файлы"
++#: treelang/lang.opt:34
++msgid "Trace the parsing process"
++msgstr "ТраÑÑировать процеÑÑ Ñ€Ð°Ð·Ð±Ð¾Ñ€Ð°"
+
+-#: config/mt/mt.opt:35 config/mt/mt.opt:39 config/mt/mt.opt:43
+-#: config/mt/mt.opt:47 config/mt/mt.opt:51
+-msgid "Internal debug switch"
+-msgstr "Внутренний ключ отладки"
++#: java/lang.opt:65
++msgid "Warn if a deprecated compiler feature, class, method, or field is used"
++msgstr "Предупреждать об уÑтаревших (deprecated) возможноÑÑ‚ÑÑ… компилÑтора, клаÑÑах, методах или полÑÑ…, иÑпользуемых в программе"
+
+-#: config/vxworks.opt:24
+-msgid "Assume the VxWorks RTP environment"
+-msgstr "Генерировать код Ð´Ð»Ñ Ñреды Ð²Ñ‹Ð¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ñ VxWorks RTP"
++#: java/lang.opt:69
++msgid "Warn if deprecated empty statements are found"
++msgstr "Предупреждать при употреблении уÑтаревших пуÑÑ‚Ñ‹Ñ… выражений"
+
+-#: config/vxworks.opt:31
+-msgid "Assume the VxWorks vThreads environment"
+-msgstr "Генерировать код Ð´Ð»Ñ Ñреды Ð²Ñ‹Ð¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ñ VxWorks vThreads"
++#: java/lang.opt:73
++msgid "Warn if .class files are out of date"
++msgstr "Предупреждать, еÑли файл .class уÑтарел"
+
+-#: config/darwin.opt:23
+-msgid "Generate code suitable for fast turn around debugging"
+-msgstr "Генерировать код Ð´Ð»Ñ Ð±Ñ‹Ñтрого возврата к отладке"
++#: java/lang.opt:77
++msgid "Warn if modifiers are specified when not necessary"
++msgstr "УведомлÑÑ‚ÑŒ, когда модификаторы употреблÑÑŽÑ‚ÑÑ Ð±ÐµÐ· необходимоÑти"
+
+-#: config/darwin.opt:31
+-msgid "The earliest MacOS X version on which this program will run"
+-msgstr "Ðаиболее Ð¼Ð»Ð°Ð´ÑˆÐ°Ñ Ð²ÐµÑ€ÑÐ¸Ñ MacOS X в которой будет запуÑкатьÑÑ Ð¿Ñ€Ð¾Ð³Ñ€Ð°Ð¼Ð¼Ð°"
++#: java/lang.opt:81
++msgid "Deprecated; use --classpath instead"
++msgstr "Этот ключ уÑтарел, иÑпользуйте --classpath"
+
+-#: config/darwin.opt:35
+-msgid "Set sizeof(bool) to 1"
+-msgstr "УÑтановить sizeof(bool) в 1"
++#: java/lang.opt:88
++msgid "Permit the use of the assert keyword"
++msgstr "Разрешить иÑпользование ключевого Ñлова assert"
+
+-#: config/darwin.opt:39
+-#, fuzzy
+-msgid "Generate code for darwin loadable kernel extensions"
+-msgstr "Генерировать код Ð´Ð»Ñ 68040 без новых команд"
++#: java/lang.opt:110
++msgid "Replace system path"
++msgstr "Замена Ð´Ð»Ñ ÑиÑтемного пути"
+
+-#: config/darwin.opt:43
+-#, fuzzy
+-msgid "Generate code for the kernel or loadable kernel extensions"
+-msgstr "Генерировать код Ð´Ð»Ñ ÑƒÐºÐ°Ð·Ð°Ð½Ð½Ð¾Ð³Ð¾ процеÑÑора или верÑии процеÑÑора"
++#: java/lang.opt:114
++msgid "Generate checks for references to NULL"
++msgstr "Генерировать код проверки ÑÑылок по NULL-указателÑм"
+
+-#: config/darwin.opt:47
+-#, fuzzy
+-msgid "Add <dir> to the end of the system framework include path"
+-msgstr "Добавить <каталог> в конец оÑновного пути поиÑка включаемых инфраÑтруктур"
++#: java/lang.opt:118
++msgid "Set class path"
++msgstr "Задать путь поиÑка клаÑÑов"
+
+-#: config/lynx.opt:23
+-msgid "Support legacy multi-threading"
+-msgstr "Поддержка унаÑледованной модели многопоточноÑти"
++#: java/lang.opt:125
++msgid "Output a class file"
++msgstr "Выводить файл клаÑÑа"
+
+-#: config/lynx.opt:27
+-msgid "Use shared libraries"
+-msgstr "ИÑпользовать разделÑемые библиотеки"
++#: java/lang.opt:129
++msgid "Alias for -femit-class-file"
++msgstr "Замена Ð´Ð»Ñ -femit-class-file"
+
+-#: config/lynx.opt:31
+-msgid "Support multi-threading"
+-msgstr "Поддержка многопоточноÑти"
++#: java/lang.opt:133
++msgid "Choose input encoding (defaults from your locale)"
++msgstr "Выбрать кодировку входных файлов (по умолчанию из locale)"
+
+-#: config/score/score.opt:31
+-#, fuzzy
+-msgid "Disable bcnz instruction"
+-msgstr "ИÑпользовать команды AltiVec"
++#: java/lang.opt:137
++msgid "Set the extension directory path"
++msgstr "Задать путь к каталогу раÑширений"
+
+-#: config/score/score.opt:35
+-#, fuzzy
+-msgid "Enable unaligned load/store instruction"
+-msgstr "ИÑпользовать команду DB"
++#: java/lang.opt:144
++msgid "Input file is a file with a list of filenames to compile"
++msgstr "Входной файл - файл Ñо ÑпиÑком модулей Ð´Ð»Ñ ÐºÐ¾Ð¼Ð¿Ð¸Ð»Ñции"
+
+-#: config/score/score.opt:39
+-msgid "Support SCORE 5 ISA"
+-msgstr ""
++#: java/lang.opt:151
++msgid "Always check for non gcj generated classes archives"
++msgstr "Ð’Ñегда проверÑÑ‚ÑŒ, что архивы клаÑÑов Ñгенерированы gcj"
+
+-#: config/score/score.opt:43
+-msgid "Support SCORE 5U ISA"
+-msgstr ""
++#: java/lang.opt:155
++msgid "Assume the runtime uses a hash table to map an object to its synchronization structure"
++msgstr "Предполагать, что Ñреда запуÑка иÑпользует Ñ…Ñш-таблицу Ð´Ð»Ñ Ð¾Ñ‚Ð¾Ð±Ñ€Ð°Ð¶ÐµÐ½Ð¸Ñ Ð¾Ð±ÑŠÐµÐºÑ‚Ð° на его Ñтруктуру Ñинхронизации"
+
+-#: config/score/score.opt:47
+-msgid "Support SCORE 7 ISA"
+-msgstr ""
++#: java/lang.opt:159
++msgid "Generate instances of Class at runtime"
++msgstr "Создавать Ñлементы клаÑÑа во Ð²Ñ€ÐµÐ¼Ñ Ð²Ñ‹Ð¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ñ"
+
+-#: config/score/score.opt:51
+-msgid "Support SCORE 7D ISA"
+-msgstr ""
++#: java/lang.opt:163
++msgid "Use offset tables for virtual method calls"
++msgstr "ИÑпользовать таблицы Ñмещений Ð´Ð»Ñ Ð²Ñ‹Ð·Ð¾Ð²Ð° виртуальных методов"
+
+-#: config/score/score.opt:55
+-msgid "Support SCORE 3 ISA"
+-msgstr ""
++#: java/lang.opt:170
++msgid "Assume native functions are implemented using JNI"
++msgstr "Предполагать, что функции платформы иÑпользуют JNI"
+
+-#: config/score/score.opt:59
+-msgid "Support SCORE 3d ISA"
+-msgstr ""
++#: java/lang.opt:174
++msgid "Enable optimization of static class initialization code"
++msgstr "Включить оптимизацию кода инициализации ÑтатичеÑких клаÑÑов"
+
+-#: config/linux.opt:24
+-#, fuzzy
+-msgid "Use uClibc instead of GNU libc"
+-msgstr "ИÑпользовать ROM вмеÑто RAM"
++#: java/lang.opt:181
++msgid "Reduce the amount of reflection meta-data generated"
++msgstr "Уменьшить количеÑтво Ñоздаваемых метаданных об объектах Ð´Ð»Ñ Ð¸ÑÐ¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ð½Ð¸Ñ Ð² Java reflection"
+
+-#: config/linux.opt:28
+-#, fuzzy
+-msgid "Use GNU libc instead of uClibc"
+-msgstr "ИÑпользовать ROM вмеÑто RAM"
++#: java/lang.opt:185
++msgid "Enable assignability checks for stores into object arrays"
++msgstr "Включить проверку корректноÑти приÑÐ²Ð°Ð¸Ð²Ð°Ð½Ð¸Ñ Ð´Ð»Ñ Ñлементов маÑÑива"
+
+-#: c.opt:41
+-#, fuzzy
+-msgid "Assert the <answer> to <question>. Putting '-' before <question> disables the <answer> to <question>"
+-msgstr "-A<вопроÑ>=<ответ>\tЗадать <ответ> на <вопроÑ>. Добавление '-' перед <вопроÑом> отменÑет <ответ> на <вопроÑ>"
++#: java/lang.opt:189
++msgid "Generate code for the Boehm GC"
++msgstr "Генерировать код Ð´Ð»Ñ Ñборщика муÑора Boehm"
+
+-#: c.opt:45
+-msgid "Do not discard comments"
+-msgstr "Ðе удалÑÑ‚ÑŒ комментарии"
++#: java/lang.opt:193
++msgid "Call a library routine to do integer divisions"
++msgstr "Вызывать функцию библиотеки Ð´Ð»Ñ Ð´ÐµÐ»ÐµÐ½Ð¸Ñ Ñ†ÐµÐ»Ñ‹Ñ…"
+
+-#: c.opt:49
+-msgid "Do not discard comments in macro expansions"
+-msgstr "Ðе удалÑÑ‚ÑŒ комментарии при макроподÑтановках"
+-
+-#: c.opt:53
+-msgid "Define a <macro> with <val> as its value. If just <macro> is given, <val> is taken to be 1"
+-msgstr "Определить <макроÑ> Ñо значением <знач.>. ЕÑли задан только <макроÑ>, <знач.> ÑчитаетÑÑ Ñ€Ð°Ð²Ð½Ñ‹Ð¼ 1"
+-
+-#: c.opt:60
+-msgid "Add <dir> to the end of the main framework include path"
+-msgstr "Добавить <каталог> в конец оÑновного пути поиÑка включаемых инфраÑтруктур"
+-
+-#: c.opt:64
+-msgid "Print the name of header files as they are used"
+-msgstr "Печатать имена иÑпользуемых заголовочных файлов"
+-
+-#: c.opt:68 c.opt:859
+-msgid "Add <dir> to the end of the main include path"
+-msgstr "Добавить <каталог> в конец оÑновного пути поиÑка заголовков"
+-
+-#: c.opt:72
+-msgid "Generate make dependencies"
+-msgstr "Генерировать завиÑимоÑти Ð´Ð»Ñ make"
+-
+-#: c.opt:76
+-msgid "Generate make dependencies and compile"
+-msgstr "Генерировать make-завиÑимоÑти и компилировать"
+-
+-#: c.opt:80
+-msgid "Write dependency output to the given file"
+-msgstr "ВывеÑти завиÑимоÑти в указанный файл"
+-
+-#: c.opt:84
+-msgid "Treat missing header files as generated files"
+-msgstr "Трактовать отÑутÑтвующие заголовки как генерируемые файлы"
+-
+-#: c.opt:88
+-msgid "Like -M but ignore system header files"
+-msgstr "Как -M, но игнорировать ÑиÑтемные заголовки"
+-
+-#: c.opt:92
+-msgid "Like -MD but ignore system header files"
+-msgstr "Как -MD, но игнорировать ÑиÑтемные заголовки "
+-
+-#: c.opt:96
+-msgid "Generate phony targets for all headers"
+-msgstr "ДобавлÑÑ‚ÑŒ фиктивные правила Ð´Ð»Ñ Ð²Ñех заголовочных файлов"
+-
+-#: c.opt:100
+-msgid "Add a MAKE-quoted target"
+-msgstr "Добавить Ñкранированную MAKE-цель"
+-
+-#: c.opt:104
+-msgid "Add an unquoted target"
+-msgstr "Добавить неÑкранированную MAKE-цель"
+-
+-#: c.opt:108
+-msgid "Do not generate #line directives"
+-msgstr "Ðе генерировать директивы #Ñтрока"
+-
+-#: c.opt:112
+-msgid "Undefine <macro>"
+-msgstr "Отменить определение макроÑа"
+-
+-#: c.opt:116
+-msgid "Warn about things that will change when compiling with an ABI-compliant compiler"
+-msgstr "Предупреждать о различиÑÑ… по Ñравнению Ñ ÐºÐ¾Ð¼Ð¿Ð¸Ð»Ñцией при помощи компилÑтора, ÑовмеÑтимого Ñ ABI"
+-
+-#: c.opt:120
+-#, fuzzy
+-msgid "Warn about suspicious uses of memory addresses"
+-msgstr "Предупреждать о неÑтандартных декларациÑÑ… Ð´Ð»Ñ \"main\""
+-
+-#: c.opt:124
+-msgid "Enable most warning messages"
+-msgstr "Включить вÑе оÑновные виды предупреждений"
+-
+-#: c.opt:128
+-#, fuzzy
+-msgid "Warn if a comparison is always true or always false due to the limited range of the data type"
+-msgstr "из-за ограниченноÑти диапазона типа данных, результат ÑÑ€Ð°Ð²Ð½ÐµÐ½Ð¸Ñ Ð²Ñегда ложь"
+-
+-#: c.opt:132
+-msgid "Warn whenever an Objective-C assignment is being intercepted by the garbage collector"
+-msgstr "Предупреждать, еÑли приÑваивание Objective-C прерываетÑÑ Ñбором муÑора"
+-
+-#: c.opt:136
+-msgid "Warn about casting functions to incompatible types"
+-msgstr "Предупреждать о приведений функций к неÑовмеÑтимым типам"
+-
+-#: c.opt:140
+-msgid "Warn about C constructs that are not in the common subset of C and C++"
+-msgstr "Предупреждать о конÑтрукциÑÑ… C, не ÑвлÑющихÑÑ Ð¾Ð±Ñ‰Ð¸Ð¼Ð¸ Ð´Ð»Ñ C и C++"
+-
+-#: c.opt:144
+-#, fuzzy
+-msgid "Warn about C++ constructs whose meaning differs between ISO C++ 1998 and ISO C++ 200x"
+-msgstr "Предупреждать о конÑтрукциÑÑ… C, не ÑвлÑющихÑÑ Ð¾Ð±Ñ‰Ð¸Ð¼Ð¸ Ð´Ð»Ñ C и C++"
+-
+-#: c.opt:148
+-msgid "Warn about casts which discard qualifiers"
+-msgstr "Предупреждать о приведении типов, отменÑющих квалификаторы"
+-
+-#: c.opt:152
+-msgid "Warn about subscripts whose type is \"char\""
+-msgstr "Предупреждать об индекÑах типа \"char\""
+-
+-#: c.opt:156
+-#, fuzzy
+-msgid "Warn about variables that might be changed by \"longjmp\" or \"vfork\""
+-msgstr "Ð¿ÐµÑ€ÐµÐ¼ÐµÐ½Ð½Ð°Ñ %q+D может быть иÑпорчена вызовами %<longjmp%> или %<vfork%>"
+-
+-#: c.opt:160
+-msgid "Warn about possibly nested block comments, and C++ comments spanning more than one physical line"
+-msgstr "Предупреждать о возможно вложенных комментариÑÑ… и комментариÑÑ… C++, продолжающихÑÑ Ð½Ð° неÑкольких физичеÑких Ñтроках"
+-
+-#: c.opt:164
+-msgid "Synonym for -Wcomment"
+-msgstr "То же, что -Wcomment"
+-
+-#: c.opt:168
+-msgid "Warn for implicit type conversions that may change a value"
++#: java/lang.opt:197
++msgid "Generated should be loaded by bootstrap loader"
+ msgstr ""
+
+-#: c.opt:172
+-#, fuzzy
+-msgid "Warn for implicit type conversions between signed and unsigned integers"
+-msgstr "Ñравнение знакового и беззнакового целых выражений"
+-
+-#: c.opt:176
+-msgid "Warn when all constructors and destructors are private"
+-msgstr "Предупреждать о клаÑÑах, в которых вÑе конÑтрукторы и деÑтрукторы private"
+-
+-#: c.opt:180
+-msgid "Warn when a declaration is found after a statement"
+-msgstr "Предупреждать о декларациÑÑ…, вÑтретившихÑÑ Ð¿Ð¾Ñле операторов"
+-
+-#: c.opt:184
+-msgid "Warn about deprecated compiler features"
+-msgstr "Предупреждать об уÑтаревших возможноÑÑ‚ÑÑ… компилÑтора, которые будут выведены из ÑƒÐ¿Ð¾Ñ‚Ñ€ÐµÐ±Ð»ÐµÐ½Ð¸Ñ Ð² поÑледующих верÑиÑÑ…"
+-
+-#: c.opt:188
+-msgid "Warn about compile-time integer division by zero"
+-msgstr "Предупреждать о целочиÑленном делении на ноль при вычиÑлениÑÑ… времени компилÑции"
+-
+-#: c.opt:192
+-msgid "Warn about violations of Effective C++ style rules"
+-msgstr "Предупреждать о отÑтуплениÑÑ… от ÑÑ‚Ð¸Ð»Ñ Effective C++"
+-
+-#: c.opt:196
+-#, fuzzy
+-msgid "Warn about an empty body in an if or else statement"
+-msgstr "%HпуÑÑ‚Ð°Ñ else-чаÑÑ‚ÑŒ"
+-
+-#: c.opt:200
+-msgid "Warn about stray tokens after #elif and #endif"
+-msgstr "Предупреждать о наличии лишнего текÑта поÑле #elif и #endif"
+-
+-#: c.opt:208
+-#, fuzzy
+-msgid "This switch is deprecated; use -Werror=implicit-function-declaration instead"
+-msgstr "Этот ключ уÑтарел; иÑпользуйте -Wextra."
+-
+-#: c.opt:212
+-msgid "Warn if testing floating point numbers for equality"
+-msgstr "Предупреждать о ÑравнениÑÑ… вещеÑтвенных чиÑел на равенÑтво"
+-
+-#: c.opt:216
+-msgid "Warn about printf/scanf/strftime/strfmon format string anomalies"
+-msgstr "Предупреждать о некорректных форматах printf/scanf/strftime/strfmon"
+-
+-#: c.opt:220
+-msgid "Warn if passing too many arguments to a function for its format string"
+-msgstr "Предупреждать об избыточных аргументах Ð´Ð»Ñ Ñ„ÑƒÐ½ÐºÑ†Ð¸Ð¹ форматированиÑ"
+-
+-#: c.opt:224
+-msgid "Warn about format strings that are not literals"
+-msgstr "Предупреждать о форматных Ñтроках, не ÑвлÑющихÑÑ Ð»Ð¸Ñ‚ÐµÑ€Ð°Ð»Ð°Ð¼Ð¸"
+-
+-#: c.opt:228
+-#, fuzzy
+-msgid "Warn about format strings that contain NUL bytes"
+-msgstr "Предупреждать о форматных Ñтроках, не ÑвлÑющихÑÑ Ð»Ð¸Ñ‚ÐµÑ€Ð°Ð»Ð°Ð¼Ð¸"
+-
+-#: c.opt:232
+-msgid "Warn about possible security problems with format functions"
+-msgstr "Предупреждать о проблемах Ñ Ð±ÐµÐ·Ð¾Ð¿Ð°ÑноÑтью при иÑпользовании функций форматированиÑ"
+-
+-#: c.opt:236
+-msgid "Warn about strftime formats yielding 2-digit years"
+-msgstr "Предупреждать о strftime-форматах, дающих только 2 цифры года"
+-
+-#: c.opt:240
+-msgid "Warn about zero-length formats"
+-msgstr "Предупреждать о форматных Ñтроках нулевой длины"
+-
+-#: c.opt:247
+-msgid "Warn about variables which are initialized to themselves"
+-msgstr "Предупреждать о переменных, в инициализации которых иÑпользуетÑÑ Ð¸Ñ… значение"
+-
+-#: c.opt:254
+-msgid "Warn about implicit function declarations"
+-msgstr "Предупреждать о неÑвных декларациÑÑ… функций"
+-
+-#: c.opt:258
+-msgid "Warn when a declaration does not specify a type"
+-msgstr "Предупреждать о декларациÑÑ…, в которых не задан тип"
+-
+-#: c.opt:262
+-msgid "Deprecated. This switch has no effect"
+-msgstr "УÑтаревший ключ. ИгнорируетÑÑ."
+-
+-#: c.opt:266
+-msgid "Warn when there is a cast to a pointer from an integer of a different size"
+-msgstr "Предупреждать о приведении к типу ÑƒÐºÐ°Ð·Ð°Ñ‚ÐµÐ»Ñ Ð¾Ñ‚ целого другого размера"
+-
+-#: c.opt:270
+-msgid "Warn about invalid uses of the \"offsetof\" macro"
+-msgstr "Предупреждать о некорректном иÑпользовании макроÑа \"offsetof\""
+-
+-#: c.opt:274
+-msgid "Warn about PCH files that are found but not used"
+-msgstr "Предупреждать о PCH, которые были найдены, но не иÑпользованы"
+-
+-#: c.opt:278
+-msgid "Do not warn about using \"long long\" when -pedantic"
+-msgstr "Ðе предупреждать об иÑпользовании \"long long\" Ñ -pedantic"
+-
+-#: c.opt:282
+-msgid "Warn about suspicious declarations of \"main\""
+-msgstr "Предупреждать о неÑтандартных декларациÑÑ… Ð´Ð»Ñ \"main\""
+-
+-#: c.opt:286
+-msgid "Warn about possibly missing braces around initializers"
+-msgstr "Предупреждать о возможно отÑутÑтвующих Ñкобках в инициализаторах"
+-
+-#: c.opt:290
+-msgid "Warn about global functions without previous declarations"
+-msgstr "Предупреждать о глобальных функциÑÑ… без предшеÑтвующих деклараций"
+-
+-#: c.opt:294
+-msgid "Warn about missing fields in struct initializers"
+-msgstr "Предупреждать о возможно отÑутÑтвующих Ñкобках в инициализаторах Ñтруктур"
+-
+-#: c.opt:298
+-msgid "Warn about functions which might be candidates for format attributes"
+-msgstr "Предупреждать о функциÑÑ…, которым можно назначить атрибут format"
+-
+-#: c.opt:302
+-msgid "Warn about user-specified include directories that do not exist"
+-msgstr "Предупреждать о заданных пользователем, но не ÑущеÑтвующих каталогах заголовков"
+-
+-#: c.opt:306
+-msgid "Warn about function parameters declared without a type specifier in K&R-style functions"
++#: java/lang.opt:201
++msgid "Set the source language version"
+ msgstr ""
+
+-#: c.opt:310
+-msgid "Warn about global functions without prototypes"
+-msgstr "Предупреждать о глобальных функциÑÑ… без прототипов"
+-
+-#: c.opt:314
+-msgid "Warn about use of multi-character character constants"
+-msgstr "Предупреждать о char-конÑтантах, Ñодержащих неÑколько литер "
+-
+-#: c.opt:318
+-msgid "Warn about \"extern\" declarations not at file scope"
+-msgstr "Предупреждать об \"extern\" декларациÑÑ… не на уровне файла"
+-
+-#: c.opt:322
+-msgid "Warn when non-templatized friend functions are declared within a template"
+-msgstr "Предупреждать о нешаблонных friend-функциÑÑ…, декларированных внутри шаблона"
+-
+-#: c.opt:326
+-msgid "Warn about non-virtual destructors"
+-msgstr "Предупреждать о невиртуальных деÑтрукторах"
+-
+-#: c.opt:330
+-msgid "Warn about NULL being passed to argument slots marked as requiring non-NULL"
+-msgstr "Предупреждать о передаче NULL в качеÑтве аргумента, который отмечен как требующий не-NULL значениÑ"
+-
+-#: c.opt:334
+-msgid "Warn about non-normalised Unicode strings"
+-msgstr "Предупреждать о ненормализованных Ñтроках Unicode"
+-
+-#: c.opt:338
+-msgid "Warn if a C-style cast is used in a program"
+-msgstr "Предупреждать об иÑпользовании Ð¿Ñ€Ð¸Ð²ÐµÐ´ÐµÐ½Ð¸Ñ Ñ‚Ð¸Ð¿Ð¾Ð² в Ñтиле C"
+-
+-#: c.opt:342
++#: java/lang.opt:205
+ #, fuzzy
+-msgid "Warn for obsolescent usage in a declaration"
+-msgstr "Предупреждать о неÑвных декларациÑÑ… функций"
++msgid "Set the target VM version"
++msgstr "Ð˜Ð¼Ñ Ñ†ÐµÐ»ÐµÐ²Ð¾Ð³Ð¾ процеÑÑора"
+
+-#: c.opt:346
+-msgid "Warn if an old-style parameter definition is used"
+-msgstr "Предупреждать об определениÑÑ… параметров в Ñтаром Ñтиле"
+-
+-#: c.opt:350
+-msgid "Warn if a string is longer than the maximum portable length specified by the standard"
+-msgstr ""
+-
+-#: c.opt:354
+-msgid "Warn about overloaded virtual function names"
+-msgstr "Предупреждать о перегруженных именах виртуальных функций"
+-
+-#: c.opt:358
+-#, fuzzy
+-msgid "Warn about overriding initializers without side effects"
+-msgstr "Предупреждать о переменных, в инициализации которых иÑпользуетÑÑ Ð¸Ñ… значение"
+-
+-#: c.opt:362
+-msgid "Warn about possibly missing parentheses"
+-msgstr "Предупреждать о возможно отÑутÑтвующих Ñкобках"
+-
+-#: c.opt:366
+-msgid "Warn when converting the type of pointers to member functions"
+-msgstr "Предупреждать о преобразовании типа ÑƒÐºÐ°Ð·Ð°Ñ‚ÐµÐ»Ñ Ðº функции-Ñлементу"
+-
+-#: c.opt:370
+-msgid "Warn about function pointer arithmetic"
+-msgstr "Предупреждать об арифметичеÑких дейÑтвиÑÑ… над указателÑми на функции"
+-
+-#: c.opt:374
+-msgid "Warn when a pointer is cast to an integer of a different size"
+-msgstr "Предупреждать о приведении ÑƒÐºÐ°Ð·Ð°Ñ‚ÐµÐ»Ñ Ðº целому другого размера"
+-
+-#: c.opt:378
+-msgid "Warn about misuses of pragmas"
+-msgstr "Предупреждать о неправильном иÑпользовании прагм"
+-
+-#: c.opt:382
+-msgid "Warn if inherited methods are unimplemented"
+-msgstr "Предупреждать о нереализованных наÑледуемых методах"
+-
+-#: c.opt:386
+-msgid "Warn about multiple declarations of the same object"
+-msgstr "Предупреждать о множеÑтвенных декларациÑÑ… объектов"
+-
+-#: c.opt:390
+-msgid "Warn when the compiler reorders code"
+-msgstr "Предупреждать о переупорÑдочении кода компилÑтором"
+-
+-#: c.opt:394
+-msgid "Warn whenever a function's return type defaults to \"int\" (C), or about inconsistent return types (C++)"
+-msgstr "Предупреждать, еÑли тип возвращаемого Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ñ Ð¿Ð¾ беретÑÑ ÑƒÐ¼Ð¾Ð»Ñ‡Ð°Ð½Ð¸ÑŽ как \"int\" (C), или о неÑовмеÑтимом типе результата (C++)"
+-
+-#: c.opt:398
+-msgid "Warn if a selector has multiple methods"
+-msgstr "Предупреждать о Ñелекторах Ñ Ð¼Ð½Ð¾Ð¶ÐµÑтвенными методами"
+-
+-#: c.opt:402
+-msgid "Warn about possible violations of sequence point rules"
+-msgstr "Предупреждать о возможном нарушении правил точек ÑледованиÑ"
+-
+-#: c.opt:406
+-msgid "Warn about signed-unsigned comparisons"
+-msgstr "Предупреждать о ÑравнениÑÑ… между signed и unsigned значениÑми"
+-
+-#: c.opt:410
+-msgid "Warn when overload promotes from unsigned to signed"
+-msgstr "Предупреждать когда перегруженное Ð¸Ð¼Ñ Ð¿Ñ€ÐµÐ¾Ð±Ñ€Ð°Ð·ÑƒÐµÑ‚ÑÑ Ð¾Ñ‚ unsigned к signed"
+-
+-#: c.opt:414
+-msgid "Warn about uncasted NULL used as sentinel"
+-msgstr "Предупреждать на вÑÑкий Ñлучай об отÑутÑтвии Ð¿Ñ€Ð¸Ð²ÐµÐ´ÐµÐ½Ð¸Ñ NULL"
+-
+-#: c.opt:418
+-msgid "Warn about unprototyped function declarations"
+-msgstr "Предупреждать о непрототипных декларациÑÑ… функций"
+-
+-#: c.opt:422
+-msgid "Warn if type signatures of candidate methods do not match exactly"
+-msgstr "Предупреждать о неÑовпадении Ñигнатур применимых методов"
+-
+-#: c.opt:426
+-msgid "Warn when synthesis behavior differs from Cfront"
+-msgstr "Предупреждать когда поведение компилÑтора отличаетÑÑ Ð¾Ñ‚ Ð¿Ð¾Ð²ÐµÐ´ÐµÐ½Ð¸Ñ Ð´Ð»Ñ C"
+-
+-#: c.opt:430 common.opt:182
+-msgid "Do not suppress warnings from system headers"
+-msgstr "Ðе подавлÑÑ‚ÑŒ Ð¿Ñ€ÐµÐ´ÑƒÐ¿Ñ€ÐµÐ¶Ð´ÐµÐ½Ð¸Ñ Ð¾Ñ‚ ÑиÑтемных заголовков"
+-
+-#: c.opt:434
+-msgid "Warn about features not present in traditional C"
+-msgstr "Предупреждать об иÑпользовании ÑредÑтв, отÑутÑтвующих в традиционном C"
+-
+-#: c.opt:438
+-msgid "Warn of prototypes causing type conversions different from what would happen in the absence of prototype"
+-msgstr ""
+-
+-#: c.opt:442
+-msgid "Warn if trigraphs are encountered that might affect the meaning of the program"
+-msgstr "Предупреждать о вÑтретившихÑÑ Ñ‚Ñ€Ð¸Ð³Ñ€Ð°Ñ„Ð°Ñ…, которые могут влиÑÑ‚ÑŒ на ÑмыÑл программы"
+-
+-#: c.opt:446
+-msgid "Warn about @selector()s without previously declared methods"
+-msgstr "Предупреждать о @selector() без предварительно декларированных методов"
+-
+-#: c.opt:450
+-msgid "Warn if an undefined macro is used in an #if directive"
+-msgstr "Предупреждать об иÑпользовании неопределенных макроÑов в директивах #if"
+-
+-#: c.opt:454
+-msgid "Warn about unrecognized pragmas"
+-msgstr "Предупреждать о наличии неизвеÑтных прагм"
+-
+-#: c.opt:458
+-msgid "Warn about macros defined in the main file that are not used"
+-msgstr "Предупреждать об определенных в оÑновном файле, но неиÑпользованных макроÑах"
+-
+-#: c.opt:462
+-msgid "Do not warn about using variadic macros when -pedantic"
+-msgstr "Ðе предупреждать об иÑпользовании макроÑов Ñ Ð¿ÐµÑ€ÐµÐ¼ÐµÐ½Ð½Ñ‹Ð¼ чиÑлом аргументов Ñ -pedantic"
+-
+-#: c.opt:466
+-#, fuzzy
+-msgid "Warn if a variable length array is used"
+-msgstr "Предупреждать о неиÑпользуемых переменных"
+-
+-#: c.opt:470
+-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.opt:474
+-msgid "Warn when a pointer differs in signedness in an assignment"
+-msgstr "Предупреждать о различиÑÑ… в знаковоÑти ÑƒÐºÐ°Ð·Ð°Ñ‚ÐµÐ»Ñ Ð² приÑваивании"
+-
+-#: c.opt:478
+-msgid "A synonym for -std=c89 (for C) or -std=c++98 (for C++)"
+-msgstr "То же, что -std=c89 (Ð´Ð»Ñ C) или -std=c++98 (Ð´Ð»Ñ C++)"
+-
+-#: c.opt:486
+-msgid "Enforce class member access control semantics"
+-msgstr "Реализовать Ñемантику ÑƒÐ¿Ñ€Ð°Ð²Ð»ÐµÐ½Ð¸Ñ Ð´Ð¾Ñтупом Ð´Ð»Ñ Ñлементов клаÑÑов"
+-
+-#: c.opt:493
+-msgid "Change when template instances are emitted"
+-msgstr "ИзменÑÑ‚ÑŒ при выдаче конкретизаций шаблонов"
+-
+-#: c.opt:497
+-msgid "Recognize the \"asm\" keyword"
+-msgstr "РаÑпознавать ключевое Ñлово \"asm\""
+-
+-#: c.opt:501
+-msgid "Recognize built-in functions"
+-msgstr "Включить поддержку вÑтроенных функций"
+-
+-#: c.opt:508
+-msgid "Check the return value of new"
+-msgstr "ПроверÑÑ‚ÑŒ результат new"
+-
+-#: c.opt:512
+-msgid "Allow the arguments of the '?' operator to have different types"
+-msgstr "Разрешить разные типы Ð´Ð»Ñ Ð¾Ð¿ÐµÑ€Ð°Ð½Ð´Ð¾Ð² операции '?'"
+-
+-#: c.opt:516
+-msgid "Reduce the size of object files"
+-msgstr "Сократить объем объектных файлов"
+-
+-#: c.opt:520
+-msgid "Use class <name> for constant strings"
+-msgstr "ИÑпользовать class <имÑ> как тип Ñтроковых конÑтант"
+-
+-#: c.opt:524
+-msgid "Inline member functions by default"
+-msgstr "По умолчанию выполнÑÑ‚ÑŒ inline-подÑтановку функций-Ñлементов"
+-
+-#: c.opt:528
+-#, fuzzy
+-msgid "Preprocess directives only."
+-msgstr "Обрабатывать директивы #ident"
+-
+-#: c.opt:532
+-msgid "Permit '$' as an identifier character"
+-msgstr "Разрешить иÑпользование '$' в идентификаторах"
+-
+-#: c.opt:539
+-msgid "Generate code to check exception specifications"
+-msgstr "Генерировать код Ð´Ð»Ñ Ð¿Ñ€Ð¾Ð²ÐµÑ€ÐºÐ¸ иÑключительных Ñитуаций"
+-
+-#: c.opt:546
+-msgid "Convert all strings and character constants to character set <cset>"
+-msgstr "Конвертировать Ñтроковые и char-конÑтанты в указанную <кодировку>"
+-
+-#: c.opt:550
+-msgid "Permit universal character names (\\u and \\U) in identifiers"
+-msgstr "Разрешить универÑальные имена литер (\\u and \\U) в идентификаторах"
+-
+-#: c.opt:554
+-msgid "Specify the default character set for source files"
+-msgstr "Кодировка иÑходных файлов по умолчанию"
+-
+-#: c.opt:562
+-msgid "Scope of for-init-statement variables is local to the loop"
+-msgstr "ОблаÑÑ‚ÑŒ дейÑÑ‚Ð²Ð¸Ñ Ð¿ÐµÑ€ÐµÐ¼ÐµÐ½Ð½Ñ‹Ñ…, объÑвленных в заголовке цикла, ограничиваетÑÑ Ñ€Ð°Ð¼ÐºÐ°Ð¼Ð¸ цикла"
+-
+-#: c.opt:566
+-msgid "Do not assume that standard C libraries and \"main\" exist"
+-msgstr "Ðе предполагать наличие Ñтандартных библиотек C и функции \"main\""
+-
+-#: c.opt:570
+-msgid "Recognize GNU-defined keywords"
+-msgstr "РаÑпознавать ключевые Ñлова GNU-раÑширений"
+-
+-#: c.opt:574
+-msgid "Generate code for GNU runtime environment"
+-msgstr "Генерировать код Ð´Ð»Ñ Ñреды Ð²Ñ‹Ð¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ñ GNU"
+-
+-#: c.opt:578
+-#, fuzzy
+-msgid "Use traditional GNU semantics for inline functions"
+-msgstr "в традиционном C Ð¸Ð½Ð¸Ñ†Ð¸Ð°Ð»Ð¸Ð·Ð°Ñ†Ð¸Ñ Ð¾Ð±ÑŠÐµÐ´Ð¸Ð½ÐµÐ½Ð¸Ð¹ запрещена"
+-
+-#: c.opt:591
+-msgid "Assume normal C execution environment"
+-msgstr "Генерировать код Ð´Ð»Ñ Ñтандартной Ñреды Ð²Ñ‹Ð¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ñ C"
+-
+-#: c.opt:595
+-msgid "Enable support for huge objects"
+-msgstr "Включить поддержку больших объектов"
+-
+-#: c.opt:599
+-msgid "Export functions even if they can be inlined"
+-msgstr "ЭкÑпортировать функции, даже еÑли возможна их inline-подÑтановка"
+-
+-#: c.opt:603
+-msgid "Emit implicit instantiations of inline templates"
+-msgstr "Генерировать неÑвные конкретизации inline-шаблонов"
+-
+-#: c.opt:607
+-msgid "Emit implicit instantiations of templates"
+-msgstr "Генерировать неÑвные конкретизации шаблонов"
+-
+-#: c.opt:611
+-msgid "Inject friend functions into enclosing namespace"
+-msgstr "Ð’ÑтавлÑÑ‚ÑŒ friend-функции в объемлющие namespace-облаÑти"
+-
+-#: c.opt:618
+-msgid "Allow implicit conversions between vectors with differing numbers of subparts and/or differing element types."
+-msgstr ""
+-
+-#: c.opt:622
+-msgid "Don't warn about uses of Microsoft extensions"
+-msgstr "Ðе предупреждать об иÑпользовании раÑширений Microsoft"
+-
+-#: c.opt:632
+-msgid "Generate code for NeXT (Apple Mac OS X) runtime environment"
+-msgstr "Генерировать код Ð´Ð»Ñ Ñреды Ð²Ñ‹Ð¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ñ NeXT (Apple Mac OS X)"
+-
+-#: c.opt:636
+-msgid "Assume that receivers of Objective-C messages may be nil"
+-msgstr "Предполагать что получатели Ñообщений Objective-C могут быть пуÑтыми"
+-
+-#: c.opt:648
+-msgid "Generate special Objective-C methods to initialize/destroy non-POD C++ ivars, if needed"
+-msgstr ""
+-
+-#: c.opt:652
+-msgid "Allow fast jumps to the message dispatcher"
+-msgstr "Разрешать быÑтрый переход к обработчику Ñообщений"
+-
+-#: c.opt:658
+-msgid "Enable Objective-C exception and synchronization syntax"
+-msgstr "Поддерживать ÑинтакÑÐ¸Ñ Ð¸Ñключений и Ñинхронизации Objective-C"
+-
+-#: c.opt:662
+-msgid "Enable garbage collection (GC) in Objective-C/Objective-C++ programs"
+-msgstr "Включить Ñборку муÑора (GC) в программах на Objective-C/Objective-C++"
+-
+-#: c.opt:667
+-msgid "Enable Objective-C setjmp exception handling runtime"
+-msgstr "Подключить поддержку времени Ð²Ñ‹Ð¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ñ Ð´Ð»Ñ Ð¾Ð±Ñ€Ð°Ð±Ð¾Ñ‚ÐºÐ¸ иÑключений Objective-C setjmp"
+-
+-#: c.opt:671
+-#, fuzzy
+-msgid "Enable OpenMP"
+-msgstr "Включить режим отладки"
+-
+-#: c.opt:675
+-msgid "Recognize C++ kewords like \"compl\" and \"xor\""
+-msgstr "РаÑпознавать ключевые Ñлова C++, такие как \"compl\" и \"xor\""
+-
+-#: c.opt:679
+-msgid "Enable optional diagnostics"
+-msgstr "Включить дополнительную диагноÑтику"
+-
+-#: c.opt:686
+-msgid "Look for and use PCH files even when preprocessing"
+-msgstr "ИÑпользовать и иÑкать файлы PCH дажо во Ð²Ñ€ÐµÐ¼Ñ Ð¿Ñ€ÐµÐ¿Ñ€Ð¾Ñ†ÐµÑÑированиÑ"
+-
+-#: c.opt:690
+-msgid "Downgrade conformance errors to warnings"
+-msgstr "Ошибки ÑоответÑÑ‚Ð²Ð¸Ñ Ñ‚Ñ€Ð°ÐºÑ‚Ð¾Ð²Ð°Ñ‚ÑŒ как предупреждениÑ"
+-
+-#: c.opt:694
+-msgid "Treat the input file as already preprocessed"
+-msgstr "Считать, что входной файл уже препроцеÑÑирован"
+-
+-#: c.opt:698
+-msgid "Used in Fix-and-Continue mode to indicate that object files may be swapped in at runtime"
+-msgstr "ИÑпользуетÑÑ Ð² режиме Fix-and-Continue Ð´Ð»Ñ ÑƒÐºÐ°Ð·Ð°Ð½Ð¸Ñ Ð¾ том, что возможна подкачка объектных файлов во Ð²Ñ€ÐµÐ¼Ñ Ð²Ñ‹Ð¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ñ"
+-
+-#: c.opt:702
+-msgid "Enable automatic template instantiation"
+-msgstr "Включить автоматичеÑкую конкретизацию шаблонов"
+-
+-#: c.opt:706
+-msgid "Generate run time type descriptor information"
+-msgstr "Генерировать информацию о типах, доÑтупную во Ð²Ñ€ÐµÐ¼Ñ Ð²Ñ‹Ð¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ñ"
+-
+-#: c.opt:710
+-msgid "Use the same size for double as for float"
+-msgstr "ИÑпользовать Ð´Ð»Ñ double размер float"
+-
+-#: c.opt:718
+-msgid "Force the underlying type for \"wchar_t\" to be \"unsigned short\""
+-msgstr "УÑтановить Ð´Ð»Ñ \"wchar_t\" тип \"unsigned short\""
+-
+-#: c.opt:722
+-msgid "When \"signed\" or \"unsigned\" is not given make the bitfield signed"
+-msgstr "По умолчанию Ñчитать битовые Ð¿Ð¾Ð»Ñ Ð·Ð½Ð°ÐºÐ¾Ð²Ñ‹Ð¼Ð¸"
+-
+-#: c.opt:726
+-msgid "Make \"char\" signed by default"
+-msgstr "По умолчанию Ñчитать тип \"char\" знаковым"
+-
+-#: c.opt:733
+-msgid "Display statistics accumulated during compilation"
+-msgstr "Показать ÑтатиÑтику компилÑции"
+-
+-#: c.opt:740
+-msgid "Distance between tab stops for column reporting"
+-msgstr "Интервал табулÑции при выдаче Ñообщений по Ñтолбцам"
+-
+-#: c.opt:744
+-msgid "Specify maximum template instantiation depth"
+-msgstr "Глубина конкретизации шаблонов"
+-
+-#: c.opt:751
+-msgid "Do not generate thread-safe code for initializing local statics"
+-msgstr "Ðе генерировать поточно-ориентированный код Ð´Ð»Ñ Ð¸Ð½Ð¸Ñ†Ð¸Ð°Ð»Ð¸Ð·Ð°Ñ†Ð¸Ð¸ локальных ÑтатичеÑких переменных"
+-
+-#: c.opt:755
+-msgid "When \"signed\" or \"unsigned\" is not given make the bitfield unsigned"
+-msgstr "По умолчанию Ñчитать битовые Ð¿Ð¾Ð»Ñ Ð±ÐµÐ·Ð·Ð½Ð°ÐºÐ¾Ð²Ñ‹Ð¼Ð¸"
+-
+-#: c.opt:759
+-msgid "Make \"char\" unsigned by default"
+-msgstr "По умолчанию Ñчитать тип char беззнаковым"
+-
+-#: c.opt:763
+-msgid "Use __cxa_atexit to register destructors"
+-msgstr "ИÑпользовать __cxa_atexit Ð´Ð»Ñ Ñ€ÐµÐ³Ð¸Ñтрации деÑтрукторов"
+-
+-#: c.opt:767
+-msgid "Use __cxa_get_exception_ptr in exception handling"
+-msgstr ""
+-
+-#: c.opt:771
+-msgid "Marks all inlined methods as having hidden visibility"
+-msgstr "Отметить облаÑÑ‚ÑŒ видимоÑти вÑех вÑтроенныех методов как Ñкрытую"
+-
+-#: c.opt:775
+-msgid "Changes visibility to match Microsoft Visual Studio by default"
+-msgstr ""
+-
+-#: c.opt:779
+-msgid "Discard unused virtual functions"
+-msgstr "Удалить неиÑпользуемые виртуальные функции"
+-
+-#: c.opt:783
+-msgid "Implement vtables using thunks"
+-msgstr "Реализовать таблицы виртуальных функций на оÑнове thunks"
+-
+-#: c.opt:787
+-msgid "Emit common-like symbols as weak symbols"
+-msgstr "common-Ñимволы Ñчитать Ñлабыми (weak)"
+-
+-#: c.opt:791
+-msgid "Convert all wide strings and character constants to character set <cset>"
+-msgstr "Широкие Ñимволы и Ñтроки широких Ñимволов конвертировать в заданную <кодировку>"
+-
+-#: c.opt:795
+-msgid "Generate a #line directive pointing at the current working directory"
+-msgstr "Генерировать директиву #Ñтрока, указывающую на текущий рабочий каталог"
+-
+-#: c.opt:799
+-msgid "Emit cross referencing information"
+-msgstr "Выдать информацию о перекреÑтных ÑÑылках"
+-
+-#: c.opt:803
+-msgid "Generate lazy class lookup (via objc_getClass()) for use in Zero-Link mode"
+-msgstr "Генерировать ленивый поиÑк клаÑÑов (при помощи objc_getClass()) Ð´Ð»Ñ Ð¸ÑÐ¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ð½Ð¸Ñ Ð² режиме Zero-Link"
+-
+-#: c.opt:807
+-msgid "Dump declarations to a .decl file"
+-msgstr "ВывеÑти декларации в файл .decl"
+-
+-#: c.opt:811
+-msgid "Aggressive reduced debug info for structs"
+-msgstr ""
+-
+-#: c.opt:815
+-msgid "Conservative reduced debug info for structs"
+-msgstr ""
+-
+-#: c.opt:819
+-msgid "Detailed reduced debug info for structs"
+-msgstr ""
+-
+-#: c.opt:823 c.opt:855
+-msgid "Add <dir> to the end of the system include path"
+-msgstr "Добавить <каталог> в конец пути поиÑка ÑиÑтемных заголовков"
+-
+-#: c.opt:827
+-msgid "Accept definition of macros in <file>"
+-msgstr "ИÑпользовать Ð¼Ð°ÐºÑ€Ð¾Ð¾Ð¿Ñ€ÐµÐ´ÐµÐ»ÐµÐ½Ð¸Ñ Ð¸Ð· <файла>"
+-
+-#: c.opt:831
+-msgid "-imultilib <dir> Set <dir> to be the multilib include subdirectory"
+-msgstr ""
+-
+-#: c.opt:835
+-msgid "Include the contents of <file> before other files"
+-msgstr "Включить Ñодержимое <файла> перед компилÑцией других файлов"
+-
+-#: c.opt:839
+-msgid "Specify <path> as a prefix for next two options"
+-msgstr "Ðльтернативное Ð¸Ð¼Ñ Ð´Ð»Ñ Ñекции кода"
+-
+-#: c.opt:843
+-msgid "Set <dir> to be the system root directory"
+-msgstr "Считать <каталог> корневым каталогом ÑиÑтемы"
+-
+-#: c.opt:847
+-msgid "Add <dir> to the start of the system include path"
+-msgstr "Добавить <каталог> в начало пути поиÑка ÑиÑтемных заголовков"
+-
+-#: c.opt:851
+-msgid "Add <dir> to the end of the quote include path"
+-msgstr "Добавить <каталог> в конец пути поиÑка ÑиÑтемных заголовков"
+-
+-#: c.opt:872
+-msgid "Do not search standard system include directories (those specified with -isystem will still be used)"
+-msgstr "Ðе иÑкать ÑиÑтемные заголовки в Ñтандартных каталогах поиÑка (но иÑкать в каталогах, заданных при помощи -isystem)"
+-
+-#: c.opt:876
+-msgid "Do not search standard system include directories for C++"
+-msgstr "Ðе иÑкать ÑиÑтемные заголовки C++ в Ñтандартных каталогах"
+-
+-#: c.opt:892
+-msgid "Generate C header of platform-specific features"
+-msgstr "Сгенерировать C-заголовок опиÑаний, ÑпецифичеÑких Ð´Ð»Ñ Ñ†ÐµÐ»ÐµÐ²Ð¾Ð¹ платформы"
+-
+-#: c.opt:896
+-msgid "Print a checksum of the executable for PCH validity checking, and stop"
+-msgstr "ВывеÑти только контрольную Ñумму иÑполнÑемого файла Ð´Ð»Ñ Ð¿Ñ€Ð¾Ð²ÐµÑ€ÐºÐ¸ корректноÑти PCH и оÑтановитьÑÑ"
+-
+-#: c.opt:900
+-msgid "Remap file names when including files"
+-msgstr "Преобразовывать имена файлов при включении"
+-
+-#: c.opt:904
+-msgid "Conform to the ISO 1998 C++ standard"
+-msgstr "Компилировать в ÑоответÑтвии Ñ ISO 1998 C++"
+-
+-#: c.opt:908
+-#, fuzzy
+-msgid "Conform to the ISO 1998 C++ standard, with extensions that are likely to"
+-msgstr "Компилировать в ÑоответÑтвии Ñ ISO 1998 C++ Ñ Ñ€Ð°ÑширениÑми GNU"
+-
+-#: c.opt:915 c.opt:950
+-msgid "Conform to the ISO 1990 C standard"
+-msgstr "Компилировать в ÑоответÑтвии Ñ ISO 1990 C"
+-
+-#: c.opt:919 c.opt:958
+-msgid "Conform to the ISO 1999 C standard"
+-msgstr "Компилировать в ÑоответÑтвии Ñ ISO 1999 C"
+-
+-#: c.opt:923
+-msgid "Deprecated in favor of -std=c99"
+-msgstr "Ðе рекомендуетÑÑ; иÑпользуйте -std=c99"
+-
+-#: c.opt:927
+-msgid "Conform to the ISO 1998 C++ standard with GNU extensions"
+-msgstr "Компилировать в ÑоответÑтвии Ñ ISO 1998 C++ Ñ Ñ€Ð°ÑширениÑми GNU"
+-
+-#: c.opt:931
+-#, fuzzy
+-msgid "Conform to the ISO 1998 C++ standard, with GNU extensions and"
+-msgstr "Компилировать в ÑоответÑтвии Ñ ISO 1998 C++ Ñ Ñ€Ð°ÑширениÑми GNU"
+-
+-#: c.opt:938
+-msgid "Conform to the ISO 1990 C standard with GNU extensions"
+-msgstr "Компилировать в ÑоответÑтвии Ñ ISO 1990 C Ñ Ñ€Ð°ÑширениÑми GNU"
+-
+-#: c.opt:942
+-msgid "Conform to the ISO 1999 C standard with GNU extensions"
+-msgstr "Компилировать в ÑоответÑтвии Ñ ISO 1999 C Ñ Ñ€Ð°ÑширениÑми GNU"
+-
+-#: c.opt:946
+-msgid "Deprecated in favor of -std=gnu99"
+-msgstr "УÑтаревший ключ, теперь Ñледует иÑпользовать -std=gnu99"
+-
+-#: c.opt:954
+-msgid "Conform to the ISO 1990 C standard as amended in 1994"
+-msgstr "Компилировать в ÑоответÑтвии Ñ ISO 1990 C Ñ Ð´Ð¾Ð¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ñми от 1994"
+-
+-#: c.opt:962
+-msgid "Deprecated in favor of -std=iso9899:1999"
+-msgstr "УÑтаревший ключ; иÑпользуйте -std=iso9899:1999"
+-
+-#: c.opt:966
+-msgid "Enable traditional preprocessing"
+-msgstr "Традиционное препроцеÑÑирование"
+-
+-#: c.opt:970
+-msgid "Support ISO C trigraphs"
+-msgstr "Поддержка триграфов, предуÑмотренных ISO C"
+-
+-#: c.opt:974
+-msgid "Do not predefine system-specific and GCC-specific macros"
+-msgstr "Ðе предопределÑÑ‚ÑŒ ÑиÑтемные макроÑÑ‹ и макроÑÑ‹ GCC"
+-
+-#: c.opt:978
+-msgid "Enable verbose output"
+-msgstr "Включить подробную выдачу"
+-
+-#: common.opt:27
++#: common.opt:28
+ msgid "Display this information"
+ msgstr "Выдать Ñту информацию"
+
+-#: common.opt:31
++#: common.opt:32
+ msgid "Display descriptions of a specific class of options. <class> is one or more of optimizers, target, warnings, undocumented, params"
+ msgstr ""
+
+-#: common.opt:35
++#: common.opt:36
+ #, fuzzy
+ msgid "Alias for --help=target"
+ msgstr "Замена Ð´Ð»Ñ -mflat-abi=hard"
+
+-#: common.opt:51
++#: common.opt:52
+ msgid "Set parameter <param> to value. See below for a complete list of parameters"
+ msgstr "Задать значение Ð´Ð»Ñ Ð¿Ð°Ñ€Ð°Ð¼ÐµÑ‚Ñ€Ð°. См. далее полный ÑпиÑок параметров"
+
+-#: common.opt:58
++#: common.opt:59
+ msgid "Put global and static data smaller than <number> bytes into a special section (on some targets)"
+ msgstr "Размещать глобальные и ÑтатичеÑкие данные меньше заданного <чиÑла> байт в Ñпециальных ÑекциÑÑ…"
+
+-#: common.opt:62
++#: common.opt:63
+ msgid "Set optimization level to <number>"
+ msgstr "Задать уровень оптимизации"
+
+-#: common.opt:66
++#: common.opt:67
+ msgid "Optimize for space rather than speed"
+ msgstr "Оптимизировать размер, а не быÑтродейÑтвие"
+
+-#: common.opt:70
++#: common.opt:71
+ msgid "This switch is deprecated; use -Wextra instead"
+ msgstr "Этот ключ уÑтарел; иÑпользуйте -Wextra."
+
+-#: common.opt:74
++#: common.opt:75
+ msgid "Warn about returning structures, unions or arrays"
+ msgstr "Предупреждать о возвращении функциÑми Ñтруктур, объединений, маÑÑивов"
+
+-#: common.opt:78
++#: common.opt:79
+ msgid "Warn if an array is accessed out of bounds"
+ msgstr ""
+
+-#: common.opt:82
++#: common.opt:83
+ msgid "Warn about inappropriate attribute usage"
+ msgstr "Предупреждать о неадекватном иÑпользовании атрибутов"
+
+-#: common.opt:86
++#: common.opt:87
+ msgid "Warn about pointer casts which increase alignment"
+ msgstr "Предупреждать о приведении указательных типов Ñ ÑƒÐ²ÐµÐ»Ð¸Ñ‡ÐµÐ½Ð¸ÐµÐ¼ выравниваниÑ"
+
+-#: common.opt:90
++#: common.opt:91
+ msgid "Warn about uses of __attribute__((deprecated)) declarations"
+ msgstr "Предупреждать об иÑпользовании имён, декларированных Ñ Ð°Ñ‚Ñ€Ð¸Ð±ÑƒÑ‚Ð¾Ð¼ deprecated"
+
+-#: common.opt:94
++#: common.opt:95
+ msgid "Warn when an optimization pass is disabled"
+ msgstr "Предупреждать о невыполнении заказанных оптимизаций"
+
+-#: common.opt:98
++#: common.opt:99
+ msgid "Treat all warnings as errors"
+ msgstr "Ð’Ñе Ð¿Ñ€ÐµÐ´ÑƒÐ¿Ñ€ÐµÐ¶Ð´ÐµÐ½Ð¸Ñ Ñчитать ошибками"
+
+-#: common.opt:102
++#: common.opt:103
+ #, fuzzy
+ msgid "Treat specified warning as error"
+ msgstr "Ð’Ñе Ð¿Ñ€ÐµÐ´ÑƒÐ¿Ñ€ÐµÐ¶Ð´ÐµÐ½Ð¸Ñ Ñчитать ошибками"
+
+-#: common.opt:106
++#: common.opt:107
+ msgid "Print extra (possibly unwanted) warnings"
+ msgstr "Печатать дополнительные (возможно, нежелательные) предупреждениÑ"
+
+-#: common.opt:110
++#: common.opt:111
+ msgid "Exit on the first error occurred"
+ msgstr "Закончить работу при первой обнаруженной ошибке"
+
+-#: common.opt:114
++#: common.opt:115
+ msgid "Warn when an inlined function cannot be inlined"
+ msgstr "Предупреждать об inline-функциÑÑ…, подÑтановка которых невозможна"
+
+-#: common.opt:118
++#: common.opt:119
+ msgid "Warn if an object is larger than <number> bytes"
+ msgstr "Предупреждать об объектах, размер которых превышает <чиÑло> байт"
+
+-#: common.opt:122
++#: common.opt:123
+ msgid "Warn when a logical operator is suspicously always evaluating to true or false"
+ msgstr ""
+
+-#: common.opt:126
++#: common.opt:127
+ msgid "Warn if the loop cannot be optimized due to nontrivial assumptions."
+ msgstr "Предупреждать, еÑли Ð¾Ð¿Ñ‚Ð¸Ð¼Ð¸Ð·Ð°Ñ†Ð¸Ñ Ñ†Ð¸ÐºÐ»Ð° невозможна из-за нетривиальных предположений"
+
+-#: common.opt:130
++#: common.opt:131
+ msgid "Warn about functions which might be candidates for __attribute__((noreturn))"
+ msgstr "Предупреждать о функциÑÑ…, которым можно назначить атрибут noreturn"
+
+-#: common.opt:134
++#: common.opt:135
+ #, fuzzy
+ msgid "Warn about overflow in arithmetic expressions"
+ msgstr "переполнение при вычиÑлении конÑтантного выражениÑ"
+
+-#: common.opt:138
++#: common.opt:139
+ msgid "Warn when the packed attribute has no effect on struct layout"
+ msgstr "Предупреждать о ÑлучаÑÑ…, когда атрибут packed не влиÑет на "
+
+-#: common.opt:142
++#: common.opt:143
+ msgid "Warn when padding is required to align structure members"
+ msgstr "Предупреждать о дырах в результате Ð²Ñ‹Ñ€Ð°Ð²Ð½Ð¸Ð²Ð°Ð½Ð¸Ñ Ñлементов Ñтруктур"
+
+-#: common.opt:146
++#: common.opt:147
+ msgid "Warn when one local variable shadows another"
+ msgstr "Предупреждать когда одна Ð»Ð¾ÐºÐ°Ð»ÑŒÐ½Ð°Ñ Ð¿ÐµÑ€ÐµÐ¼ÐµÐ½Ð½Ð°Ñ Ð¿ÐµÑ€ÐµÐºÑ€Ñ‹Ð²Ð°ÐµÑ‚ другую"
+
+-#: common.opt:150
++#: common.opt:151
+ msgid "Warn when not issuing stack smashing protection for some reason"
+ msgstr "Предупреждать, еÑли защита от Ñ€Ð°Ð·Ñ€ÑƒÑˆÐµÐ½Ð¸Ñ Ñтека по каким-то причинам не Ñгенерирована"
+
+-#: common.opt:154 common.opt:158
++#: common.opt:155 common.opt:159
+ msgid "Warn about code which might break strict aliasing rules"
+ msgstr "Предупреждать о возможных нарушениÑÑ… правил Ð¿ÐµÑ€ÐµÐºÑ€Ñ‹Ñ‚Ð¸Ñ Ð´Ð°Ð½Ð½Ñ‹Ñ… в памÑти"
+
+-#: common.opt:162 common.opt:166
++#: common.opt:163 common.opt:167
+ #, fuzzy
+ msgid "Warn about optimizations that assume that signed overflow is undefined"
+ msgstr "Отменить оптимизации, предполагающие Ñтандартное округление вещеÑтвенных значений"
+
+-#: common.opt:170
++#: common.opt:171
+ msgid "Warn about enumerated switches, with no default, missing a case"
+ msgstr "Предупреждать о переключателÑÑ… по enum-типу, Ñодержащих не вÑе альтернативы и без метки default"
+
+-#: common.opt:174
++#: common.opt:175
+ msgid "Warn about enumerated switches missing a \"default:\" statement"
+ msgstr "Предупреждать о переключателÑÑ… по enum-типу без метки default"
+
+-#: common.opt:178
++#: common.opt:179
+ msgid "Warn about all enumerated switches missing a specific case"
+ msgstr "Предупреждать о переключателÑÑ… по enum-типу, Ñодержащих не вÑе альтернативы"
+
+-#: common.opt:186
++#: common.opt:183 c.opt:434
++msgid "Do not suppress warnings from system headers"
++msgstr "Ðе подавлÑÑ‚ÑŒ Ð¿Ñ€ÐµÐ´ÑƒÐ¿Ñ€ÐµÐ¶Ð´ÐµÐ½Ð¸Ñ Ð¾Ñ‚ ÑиÑтемных заголовков"
++
++#: common.opt:187
+ msgid "Warn about uninitialized automatic variables"
+ msgstr "Предупреждать о неинициализированных автоматичеÑких переменных"
+
+-#: common.opt:190
++#: common.opt:191
+ msgid "Warn about code that will never be executed"
+ msgstr "Предупреждать о Ñтроках кода, который никогда не будет выполнен"
+
+-#: common.opt:194
++#: common.opt:195
+ msgid "Enable all -Wunused- warnings"
+ msgstr "Включить вÑе Ð¿Ñ€ÐµÐ´ÑƒÐ¿Ñ€ÐµÐ¶Ð´ÐµÐ½Ð¸Ñ -Wunused-"
+
+-#: common.opt:198
++#: common.opt:199
+ msgid "Warn when a function is unused"
+ msgstr "Предупреждать о неиÑпользуемых функциÑÑ…"
+
+-#: common.opt:202
++#: common.opt:203
+ msgid "Warn when a label is unused"
+ msgstr "Предупреждать о неиÑпользуемых метках"
+
+-#: common.opt:206
++#: common.opt:207
+ msgid "Warn when a function parameter is unused"
+ msgstr "Предупреждать о неиÑпользуемых параметрах функций"
+
+-#: common.opt:210
++#: common.opt:211
+ msgid "Warn when an expression value is unused"
+ msgstr "Предупреждать о неиÑпользованных результатах выражений"
+
+-#: common.opt:214
++#: common.opt:215
+ msgid "Warn when a variable is unused"
+ msgstr "Предупреждать о неиÑпользуемых переменных"
+
+-#: common.opt:218
++#: common.opt:219
+ msgid "Warn when a register variable is declared volatile"
+ msgstr "Предупреждать о региÑтровых переменных, объÑвленных volatile"
+
+-#: common.opt:222
++#: common.opt:223
+ msgid "Warn instead of error in case profiles in -fprofile-use do not match"
+ msgstr ""
+
+-#: common.opt:226
++#: common.opt:227
+ msgid "Emit declaration information into <file>"
+ msgstr "Выдать информацию о декларациÑÑ… в <файл>"
+
+-#: common.opt:239
++#: common.opt:240
+ msgid "Enable dumps from specific passes of the compiler"
+ msgstr "Выдать дампы от различных проходов компилÑции"
+
+-#: common.opt:243
++#: common.opt:244
+ msgid "Set the file basename to be used for dumps"
+ msgstr "Базовое Ð¸Ð¼Ñ Ñ„Ð°Ð¹Ð»Ð° Ð´Ð»Ñ Ð´Ð°Ð¼Ð¿Ð¾Ð²"
+
+-#: common.opt:263
++#: common.opt:264
+ msgid "Align the start of functions"
+ msgstr "Выравнивать начало функций"
+
+-#: common.opt:270
++#: common.opt:271
+ msgid "Align labels which are only reached by jumping"
+ msgstr "Выравнивать метки, доÑтупные только по командам переходов"
+
+-#: common.opt:277
++#: common.opt:278
+ msgid "Align all labels"
+ msgstr "Выравнивать вÑе метки"
+
+-#: common.opt:284
++#: common.opt:285
+ msgid "Align the start of loops"
+ msgstr "Выравнивать начало циклов"
+
+-#: common.opt:299
++#: common.opt:300
+ msgid "Specify that arguments may alias each other and globals"
+ msgstr "Ðргументы могут перекрыватьÑÑ Ð´Ñ€ÑƒÐ³ Ñ Ð´Ñ€ÑƒÐ³Ð¾Ð¼ и Ñ Ð³Ð»Ð¾Ð±Ð°Ð»ÑŒÐ½Ñ‹Ð¼Ð¸ данными"
+
+-#: common.opt:303
++#: common.opt:304
+ msgid "Assume arguments may alias globals but not each other"
+ msgstr "Ðргументы могут перекрыватьÑÑ Ñ Ð³Ð»Ð¾Ð±Ð°Ð»ÑŒÐ½Ñ‹Ð¼Ð¸ данными, но не друг Ñ Ð´Ñ€ÑƒÐ³Ð¾Ð¼"
+
+-#: common.opt:307
++#: common.opt:308
+ msgid "Assume arguments alias neither each other nor globals"
+ msgstr "Ðргументы не могут перекрыватьÑÑ Ð½Ð¸ друг Ñ Ð´Ñ€ÑƒÐ³Ð¾Ð¼, ни Ñ Ð³Ð»Ð¾Ð±Ð°Ð»ÑŒÐ½Ñ‹Ð¼Ð¸ данными"
+
+-#: common.opt:311
++#: common.opt:312
+ #, fuzzy
+ msgid "Assume arguments alias no other storage"
+ msgstr "Ðргументы не могут перекрыватьÑÑ Ð½Ð¸ друг Ñ Ð´Ñ€ÑƒÐ³Ð¾Ð¼, ни Ñ Ð³Ð»Ð¾Ð±Ð°Ð»ÑŒÐ½Ñ‹Ð¼Ð¸ данными"
+
+-#: common.opt:315
++#: common.opt:316
+ msgid "Generate unwind tables that are exact at each instruction boundary"
+ msgstr "Генерировать unwind-таблицы, корректные на начало каждой команды"
+
+-#: common.opt:319
++#: common.opt:320
+ #, fuzzy
+ msgid "Generate auto-inc/dec instructions"
+ msgstr "Генерировать команды isel"
+
+-#: common.opt:327
++#: common.opt:328
+ msgid "Generate code to check bounds before indexing arrays"
+ msgstr "Генерировать код Ð´Ð»Ñ Ð¿Ñ€Ð¾Ð²ÐµÑ€ÐºÐ¸ выхода за границы маÑÑивов"
+
+-#: common.opt:331
++#: common.opt:332
+ msgid "Replace add, compare, branch with branch on count register"
+ msgstr "Генерировать Ð´Ð»Ñ Ñ†Ð¸ÐºÐ»Ð¾Ð² переход по Ñчётчику вмеÑто команд Ð¿Ñ€Ð¾Ð´Ð²Ð¸Ð¶ÐµÐ½Ð¸Ñ Ñчётчика, ÑÑ€Ð°Ð²Ð½ÐµÐ½Ð¸Ñ Ð¸ перехода"
+
+-#: common.opt:335
++#: common.opt:336
+ msgid "Use profiling information for branch probabilities"
+ msgstr "Оценивать вероÑтноÑÑ‚ÑŒ переходов на оÑнове данных профилированиÑ"
+
+-#: common.opt:339
++#: common.opt:340
+ msgid "Perform branch target load optimization before prologue / epilogue threading"
+ msgstr "Оптимизировать чтение из памÑти в точках, куда передаетÑÑ ÑƒÐ¿Ñ€Ð°Ð²Ð»ÐµÐ½Ð¸Ðµ, до генерации прологов и Ñпилогов"
+
+-#: common.opt:343
++#: common.opt:344
+ msgid "Perform branch target load optimization after prologue / epilogue threading"
+ msgstr "Оптимизировать чтение из памÑти в точках, куда передаетÑÑ ÑƒÐ¿Ñ€Ð°Ð²Ð»ÐµÐ½Ð¸Ðµ, поÑле генерации прологов и Ñпилогов"
+
+-#: common.opt:347
++#: common.opt:348
+ msgid "Restrict target load migration not to re-use registers in any basic block"
+ msgstr "Ограничить миграцию региÑтров, в которые помещаютÑÑ Ñ†ÐµÐ»ÐµÐ²Ñ‹Ðµ адреÑа переходов, чтобы не переиÑпользовать Ñти региÑтры ни в каких блоках"
+
+-#: common.opt:351
++#: common.opt:352
+ msgid "Mark <register> as being preserved across functions"
+ msgstr "Считать, что <региÑÑ‚Ñ€> ÑохранÑетÑÑ Ð¿Ñ€Ð¸ вызовах функций"
+
+-#: common.opt:355
++#: common.opt:356
+ msgid "Mark <register> as being corrupted by function calls"
+ msgstr "Считать, что <региÑÑ‚Ñ€> портитÑÑ Ð¿Ñ€Ð¸ вызовах функций"
+
+-#: common.opt:362
++#: common.opt:363
+ msgid "Save registers around function calls"
+ msgstr "СохранÑÑ‚ÑŒ/воÑÑтанавливать региÑтры до/поÑле вызовов функций"
+
+-#: common.opt:366
++#: common.opt:367
+ msgid "Compare the results of several data dependence analyzers."
+ msgstr ""
+
+-#: common.opt:370
++#: common.opt:371
+ msgid "Do not put uninitialized globals in the common section"
+ msgstr "Ðе размещать неинициализированные глобальные данные в общих блоках"
+
+-#: common.opt:374
++#: common.opt:375
+ msgid "Perform a register copy-propagation optimization pass"
+ msgstr "Выполнить оптимизацию раÑпроÑÑ‚Ñ€Ð°Ð½ÐµÐ½Ð¸Ñ ÐºÐ¾Ð¿Ð¸Ð¹ региÑтров"
+
+-#: common.opt:378
++#: common.opt:379
+ msgid "Perform cross-jumping optimization"
+ msgstr "Выполнить оптимизацию кода вокруг команд передачи управлениÑ"
+
+-#: common.opt:382
++#: common.opt:383
+ msgid "When running CSE, follow jumps to their targets"
+ msgstr "При Ñкономии общих подвыражений проÑлеживать код, доÑтупный по переходам"
+
+-#: common.opt:386
++#: common.opt:387
+ msgid "When running CSE, follow conditional jumps"
+ msgstr "При Ñкономии общих подвыражений проÑлеживать код, доÑтупный по уÑловным переходам"
+
+-#: common.opt:390
++#: common.opt:391
+ msgid "Omit range reduction step when performing complex division"
+ msgstr "ОтбраÑывать шаг редукции отрезка при выполнении комплекÑного делениÑ"
+
+-#: common.opt:394
++#: common.opt:395
+ msgid "Place data items into their own section"
+ msgstr "Размещать Ñлементы данных в отдельных ÑекциÑÑ…"
+
+-#: common.opt:398
++#: common.opt:399
+ msgid "List all available debugging counters with their limits and counts."
+ msgstr ""
+
+-#: common.opt:402
++#: common.opt:403
+ msgid "-fdbg-cnt=<counter>:<limit>[,<counter>:<limit>,...] Set the debug counter limit. "
+ msgstr ""
+
+-#: common.opt:406
++#: common.opt:407
+ msgid "Map one directory name to another in debug information"
+ msgstr ""
+
+-#: common.opt:412
++#: common.opt:413
+ msgid "Defer popping functions args from stack until later"
+ msgstr "Откладывать \"на потом\" выталкивание аргументов из Ñтека поÑле вызовов функций"
+
+-#: common.opt:416
++#: common.opt:417
+ msgid "Attempt to fill delay slots of branch instructions"
+ msgstr "ЗаполнÑÑ‚ÑŒ гнезда задержки команд перехода"
+
+-#: common.opt:420
++#: common.opt:421
+ msgid "Delete useless null pointer checks"
+ msgstr "УдалÑÑ‚ÑŒ ненужные ÑÑ€Ð°Ð²Ð½ÐµÐ½Ð¸Ñ ÑƒÐºÐ°Ð·Ð°Ñ‚ÐµÐ»ÐµÐ¹ Ñ Ð½ÑƒÐ»ÐµÐ¼"
+
+-#: common.opt:424
++#: common.opt:425
+ msgid "How often to emit source location at the beginning of line-wrapped diagnostics"
+ msgstr "Выдавать меÑтоположение иÑточника ÑÐ¾Ð¾Ð±Ñ‰ÐµÐ½Ð¸Ñ Ð¾Ð´Ð¸Ð½ раз или Ð´Ð»Ñ ÐºÐ°Ð¶Ð´Ð¾Ð¹ Ñтроки (Ð´Ð»Ñ Ð¼Ð½Ð¾Ð³Ð¾Ñтрочных Ñообщений)"
+
+-#: common.opt:428
++#: common.opt:429
+ msgid "Amend appropriate diagnostic messages with the command line option that controls them"
+ msgstr "ДополнÑÑ‚ÑŒ диагноÑтичеÑкие ÑÐ¾Ð¾Ð±Ñ‰ÐµÐ½Ð¸Ñ ÐºÐ»ÑŽÑ‡Ð¾Ð¼, который контролирует Ñто Ñообщение"
+
+-#: common.opt:432
++#: common.opt:433
+ msgid "Dump various compiler internals to a file"
+ msgstr "Выдать внутреннюю информацию компилÑтора в файл"
+
+-#: common.opt:436
++#: common.opt:437
+ #, fuzzy
+ msgid "Suppress output of addresses in debugging dumps"
+ msgstr "ПодавлÑÑ‚ÑŒ вывод номеров инÑтрукций и номеров Ñтрок в отладочных дампах"
+
+-#: common.opt:440
++#: common.opt:441
+ #, fuzzy
+ msgid "Suppress output of instruction numbers, line number notes and addresses in debugging dumps"
+ msgstr "ПодавлÑÑ‚ÑŒ вывод номеров инÑтрукций и номеров Ñтрок в отладочных дампах"
+
+-#: common.opt:444
++#: common.opt:445
+ msgid "Perform early inlining"
+ msgstr "Выполнить inline-подÑтановки на ранних проходах оптимизации"
+
+-#: common.opt:448
++#: common.opt:449
+ msgid "Perform DWARF2 duplicate elimination"
+ msgstr "ИÑключить дублирование информации DWARF2"
+
+-#: common.opt:452 common.opt:456
++#: common.opt:453 common.opt:457
+ msgid "Perform unused type elimination in debug info"
+ msgstr "ИÑключить отладочную информацию о неиÑпользуемых типах"
+
+-#: common.opt:460
++#: common.opt:461
+ msgid "Do not suppress C++ class debug information."
+ msgstr ""
+
+-#: common.opt:464
++#: common.opt:465
+ msgid "Enable exception handling"
+ msgstr "Ðктивировать обработку иÑключительных Ñитуаций"
+
+-#: common.opt:468
++#: common.opt:469
+ msgid "Perform a number of minor, expensive optimizations"
+ msgstr "Выполнить некоторые дополнительные дорогоÑтоÑщие оптимизации"
+
+-#: common.opt:475
++#: common.opt:476
+ msgid "Assume no NaNs or infinities are generated"
+ msgstr "Предполагать что результаты вычиÑлений конечны и не NaN"
+
+-#: common.opt:479
++#: common.opt:480
+ msgid "Mark <register> as being unavailable to the compiler"
+ msgstr "Ðе иÑпользовать <региÑÑ‚Ñ€> при генерации кода"
+
+-#: common.opt:483
++#: common.opt:484
+ msgid "Don't allocate floats and doubles in extended-precision registers"
+ msgstr "Ðе выделÑÑ‚ÑŒ Ð´Ð»Ñ Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ð¹ типа float и double региÑтры повышенной точноÑти"
+
+-#: common.opt:489
+-msgid "Copy memory address constants into registers before use"
+-msgstr "Перед иÑпользованием адреÑных конÑтант, копировать их в региÑтры"
++#: common.opt:488 common.opt:647 common.opt:855 common.opt:986 common.opt:1061
++msgid "Does nothing. Preserved for backward compatibility."
++msgstr ""
+
+-#: common.opt:493
++#: common.opt:492
+ #, fuzzy
+ msgid "Perform a forward propagation pass on RTL"
+ msgstr "Выполнить оптимизацию раÑпроÑÑ‚Ñ€Ð°Ð½ÐµÐ½Ð¸Ñ Ð´Ð¸Ð°Ð¿Ð°Ð·Ð¾Ð½Ð¾Ð² значений на древовидном предÑтавлении"
+
+-#: common.opt:500
++#: common.opt:499
+ msgid "Allow function addresses to be held in registers"
+ msgstr "Разрешить хранение адреÑов функций на региÑтрах"
+
+-#: common.opt:504
++#: common.opt:503
+ msgid "Place each function into its own section"
+ msgstr "Помещать каждую функцию в отдельную Ñекцию"
+
+-#: common.opt:508
++#: common.opt:507
+ msgid "Perform global common subexpression elimination"
+ msgstr "Выполнить глобальную Ñкономию общих подвыражений"
+
+-#: common.opt:512
++#: common.opt:511
+ msgid "Perform enhanced load motion during global common subexpression elimination"
+ msgstr "Ð’ рамках глобальной Ñкономии общих подвыражений выполнить раÑширенный Ð¿ÐµÑ€ÐµÐ½Ð¾Ñ Ñ‡Ñ‚ÐµÐ½Ð¸Ð¹ из памÑти между блоками"
+
+-#: common.opt:516
++#: common.opt:515
+ msgid "Perform store motion after global common subexpression elimination"
+ msgstr "Ð’ рамках глобальной Ñкономии общих подвыражений выполнить Ð¿ÐµÑ€ÐµÐ½Ð¾Ñ Ð·Ð°Ð¿Ð¸Ñей в памÑÑ‚ÑŒ между блоками"
+
+-#: common.opt:520
++#: common.opt:519
+ msgid "Perform redundant load after store elimination in global common subexpression"
+ msgstr "Ð’ рамках глобальной Ñкономии общих подвыражений иÑключать лишние Ñ‡Ñ‚ÐµÐ½Ð¸Ñ Ð¸Ð· памÑти поÑле запиÑей по тем же адреÑам"
+
+-#: common.opt:525
++#: common.opt:524
+ msgid "Perform global common subexpression elimination after register allocation"
+ msgstr "Выполнить глобальную Ñкономию общих подвыражений поÑле раÑÐ¿Ñ€ÐµÐ´ÐµÐ»ÐµÐ½Ð¸Ñ Ñ€ÐµÐ³Ð¸Ñтров"
+
+-#: common.opt:530
++#: common.opt:529
+ msgid "Enable guessing of branch probabilities"
+ msgstr "Оценивать вероÑтноÑти переходов"
+
+-#: common.opt:538
++#: common.opt:537
+ msgid "Process #ident directives"
+ msgstr "Обрабатывать директивы #ident"
+
+-#: common.opt:542
++#: common.opt:541
+ msgid "Perform conversion of conditional jumps to branchless equivalents"
+ msgstr "Преобразовывать уÑловные переходы в Ñквивалентный код без переходов"
+
+-#: common.opt:546
++#: common.opt:545
+ msgid "Perform conversion of conditional jumps to conditional execution"
+ msgstr "Преобразовывать уÑловные переходы в уÑловно выполнÑемый код"
+
+-#: common.opt:554
++#: common.opt:553
+ msgid "Do not generate .size directives"
+ msgstr "Ðе генерировать директивы .size"
+
+-#: common.opt:563
++#: common.opt:562
+ msgid "Pay attention to the \"inline\" keyword"
+ msgstr "Принимать во внимание Ñпецификаторы \"inline\""
+
+-#: common.opt:567
++#: common.opt:566
+ #, fuzzy
+ msgid "Integrate simple functions into their callers when code size is known to not growth"
+ msgstr "ПодÑтавлÑÑ‚ÑŒ тела проÑÑ‚Ñ‹Ñ… функций в меÑта вызовов"
+
+-#: common.opt:571
++#: common.opt:570
+ msgid "Integrate simple functions into their callers"
+ msgstr "ПодÑтавлÑÑ‚ÑŒ тела проÑÑ‚Ñ‹Ñ… функций в меÑта вызовов"
+
+-#: common.opt:575
++#: common.opt:574
+ msgid "Integrate functions called once into their callers"
+ msgstr "ПодÑтавлÑÑ‚ÑŒ тела функций, вызываемых один раз, в меÑта вызовов"
+
+-#: common.opt:582
++#: common.opt:581
+ msgid "Limit the size of inlined functions to <number>"
+ msgstr "МакÑимальный <размер> функций Ð´Ð»Ñ inline-подÑтановки"
+
+-#: common.opt:586
++#: common.opt:585
+ msgid "Instrument function entry and exit with profiling calls"
+ msgstr "При входе и выходе из функции генерировать вызовы профилированиÑ"
+
+-#: common.opt:590
++#: common.opt:589
+ msgid "-finstrument-functions-exclude-function-list=name,... Do not instrument listed functions"
+ msgstr ""
+
+-#: common.opt:594
++#: common.opt:593
+ msgid "-finstrument-functions-exclude-file-list=filename,... Do not instrument functions listed in files"
+ msgstr ""
+
+-#: common.opt:598
++#: common.opt:597
+ msgid "Perform Interprocedural constant propagation"
+ msgstr "Выполнить межпроцедурное раÑпроÑтранение конÑтант"
+
+-#: common.opt:602
++#: common.opt:601
+ msgid "Discover pure and const functions"
+ msgstr "Ð’Ñ‹ÑвлÑÑ‚ÑŒ pure и const функции"
+
+-#: common.opt:606
++#: common.opt:605
+ #, fuzzy
+ msgid "Perform interprocedural points-to analysis"
+ msgstr "Выполнить межпроцедурное раÑпроÑтранение конÑтант"
+
+-#: common.opt:610
++#: common.opt:609
+ msgid "Discover readonly and non addressable static variables"
+ msgstr "Ð’Ñ‹ÑвлÑÑ‚ÑŒ неадреÑуемые ÑтатичеÑкие переменные, доÑтупные только Ð´Ð»Ñ Ñ‡Ñ‚ÐµÐ½Ð¸Ñ"
+
+-#: common.opt:614
++#: common.opt:613
+ msgid "Type based escape and alias analysis"
+ msgstr "Ðнализ ÑÐºÑ€Ð°Ð½Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ Ð¸ ÑвÑзей переменных на оÑнове информации о типе"
+
+-#: common.opt:618
++#: common.opt:617
+ msgid "Perform matrix layout flattening and transposing based"
+ msgstr ""
+
+-#: common.opt:623
++#: common.opt:622
+ #, fuzzy
+ msgid "Perform structure layout optimizations based"
+ msgstr "Выполнить понижение мощноÑти операций"
+
+-#: common.opt:628
++#: common.opt:627
+ msgid "Optimize induction variables on trees"
+ msgstr "Оптимизировать индуктивные переменные в древовидном предÑтавлении"
+
+-#: common.opt:632
++#: common.opt:631
+ msgid "Use jump tables for sufficiently large switch statements"
+ msgstr "ИÑпользовать таблицы переходов Ð´Ð»Ñ Ð´Ð¾Ñтаточно больших операторов switch"
+
+-#: common.opt:636
++#: common.opt:635
+ msgid "Generate code for functions even if they are fully inlined"
+ msgstr "Генерировать код Ð´Ð»Ñ Ñ„ÑƒÐ½ÐºÑ†Ð¸Ð¹ даже при 100%% inline-подÑтановке"
+
+-#: common.opt:640
++#: common.opt:639
+ msgid "Emit static const variables even if they are not used"
+ msgstr "Ðе удалÑÑ‚ÑŒ даже неиÑпользуемые ÑтатичеÑкие конÑтантные переменные"
+
+-#: common.opt:644
++#: common.opt:643
+ msgid "Give external symbols a leading underscore"
+ msgstr "ДобавлÑÑ‚ÑŒ в начало внешних Ñимволов подчеркивание"
+
+-#: common.opt:648 common.opt:852 common.opt:983
+-msgid "Does nothing. Preserved for backward compatibility."
+-msgstr ""
+-
+-#: common.opt:652
++#: common.opt:651
+ msgid "Set errno after built-in math functions"
+ msgstr "УÑтанавливать errno поÑле вызовов вÑтроенных мат. функций"
+
+-#: common.opt:656
++#: common.opt:655
+ msgid "Report on permanent memory allocation"
+ msgstr "ВывеÑти информацию о раÑпределении памÑти"
+
+-#: common.opt:663
++#: common.opt:662
+ msgid "Attempt to merge identical constants and constant variables"
+ msgstr "Слить идентичные конÑтанты и конÑтантные переменные"
+
+-#: common.opt:667
++#: common.opt:666
+ msgid "Attempt to merge identical constants across compilation units"
+ msgstr "Слить идентичные конÑтанты по вÑем единицам компилÑции"
+
+-#: common.opt:671
++#: common.opt:670
++#, fuzzy
++msgid "Attempt to merge identical debug strings across compilation units"
++msgstr "Слить идентичные конÑтанты по вÑем единицам компилÑции"
++
++#: common.opt:674
+ msgid "Limit diagnostics to <number> characters per line. 0 suppresses line-wrapping"
+ msgstr "УÑтановить <длину> Ñтрок диагноÑтичеÑких Ñообщений в Ñимволах. 0 - подавить разбиение на Ñтроки"
+
+-#: common.opt:675
++#: common.opt:678
+ msgid "Perform SMS based modulo scheduling before the first scheduling pass"
+ msgstr "ВыполнÑÑ‚ÑŒ планирование циклов по модулю метом SMS перед первым проходом Ð¿Ð»Ð°Ð½Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ ÐºÐ¾Ð¼Ð°Ð½Ð´"
+
+-#: common.opt:679
++#: common.opt:682
+ #, fuzzy
+ msgid "Perform SMS based modulo scheduling with register moves allowed"
+ msgstr "ВыполнÑÑ‚ÑŒ планирование циклов по модулю метом SMS перед первым проходом Ð¿Ð»Ð°Ð½Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ ÐºÐ¾Ð¼Ð°Ð½Ð´"
+
+-#: common.opt:683
++#: common.opt:686
+ msgid "Move loop invariant computations out of loops"
+ msgstr "ВыноÑить инвариантные вычиÑÐ»ÐµÐ½Ð¸Ñ Ð·Ð° пределы циклов"
+
+-#: common.opt:687
++#: common.opt:690
+ msgid "Add mudflap bounds-checking instrumentation for single-threaded program"
+ msgstr "ИнÑтрументировать однопоточную программу Ð´Ð»Ñ Ð¿Ñ€Ð¾Ð²ÐµÑ€ÐºÐ¸ выхода за границы маÑÑивов при помощи mudflap"
+
+-#: common.opt:691
++#: common.opt:694
+ msgid "Add mudflap bounds-checking instrumentation for multi-threaded program"
+ msgstr "ИнÑтрументировать многопоточную программу Ð´Ð»Ñ Ð¿Ñ€Ð¾Ð²ÐµÑ€ÐºÐ¸ выхода за границы маÑÑивов при помощи mudflap"
+
+-#: common.opt:695
++#: common.opt:698
+ msgid "Ignore read operations when inserting mudflap instrumentation"
+ msgstr "Игнорировать операции Ñ‡Ñ‚ÐµÐ½Ð¸Ñ Ð¿Ñ€Ð¸ инÑтрументировании Ð´Ð»Ñ mudflap"
+
+-#: common.opt:699
++#: common.opt:702
+ #, fuzzy
+ msgid "Use the RTL dead code elimination pass"
+ msgstr "Выполнить оптимизацию ÑƒÐ´Ð°Ð»ÐµÐ½Ð¸Ñ Ð¼ÐµÑ€Ñ‚Ð²Ñ‹Ñ… команд запиÑи в памÑÑ‚ÑŒ"
+
+-#: common.opt:703
++#: common.opt:706
+ #, fuzzy
+ msgid "Use the RTL dead store elimination pass"
+ msgstr "Выполнить оптимизацию ÑƒÐ´Ð°Ð»ÐµÐ½Ð¸Ñ Ð¼ÐµÑ€Ñ‚Ð²Ñ‹Ñ… команд запиÑи в памÑÑ‚ÑŒ"
+
+-#: common.opt:707
++#: common.opt:710
+ msgid "Enable/Disable the traditional scheduling in loops that already passed modulo scheduling"
+ msgstr "Включить/отменить обычное планирование Ð´Ð»Ñ ÐºÐ¾Ð½Ð²ÐµÐ¹ÐµÑ€Ð¸Ð·Ð¾Ð²Ð°Ð½Ð½Ñ‹Ñ… циклов"
+
+-#: common.opt:711
++#: common.opt:714
+ msgid "Support synchronous non-call exceptions"
+ msgstr "Поддерживать Ñинхронные иÑÐºÐ»ÑŽÑ‡ÐµÐ½Ð¸Ñ Ð²Ð½Ðµ вызовов"
+
+-#: common.opt:715
++#: common.opt:718
+ msgid "When possible do not generate stack frames"
+ msgstr "По возможноÑти не Ñоздавать кадры Ñтека"
+
+-#: common.opt:719
++#: common.opt:722
+ msgid "Expand OpenMP operations on SSA form"
+ msgstr ""
+
+-#: common.opt:723
++#: common.opt:726
+ msgid "Do the full register move optimization pass"
+ msgstr "Выполнить полную оптимизацию Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ñ Ñ€ÐµÐ³Ð¸Ñтров"
+
+-#: common.opt:727
++#: common.opt:730
+ msgid "Optimize sibling and tail recursive calls"
+ msgstr "Оптимизировать парные вызовы и хвоÑтовую рекурÑию"
+
+-#: common.opt:731 common.opt:735
++#: common.opt:734 common.opt:738
+ msgid "Report on memory allocation before interprocedural optimization"
+ msgstr ""
+
+-#: common.opt:739
++#: common.opt:742
+ msgid "Pack structure members together without holes"
+ msgstr "Паковать Ð¿Ð¾Ð»Ñ Ñтруктур без дыр"
+
+-#: common.opt:743
++#: common.opt:746
+ msgid "Set initial maximum structure member alignment"
+ msgstr "УÑтановить начальное макÑимальное выравнивание Ð´Ð»Ñ Ñлементов Ñтруктур"
+
+-#: common.opt:747
++#: common.opt:750
+ msgid "Return small aggregates in memory, not registers"
+ msgstr "Возвращать короткие агрегатные Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ñ Ð² памÑти, а не в региÑтрах"
+
+-#: common.opt:751
++#: common.opt:754
+ msgid "Perform loop peeling"
+ msgstr "Выполнить раÑкатку циклов"
+
+-#: common.opt:755
++#: common.opt:758
+ msgid "Enable machine specific peephole optimizations"
+ msgstr "Выполнить машинно-завиÑимые оптимизации"
+
+-#: common.opt:759
++#: common.opt:762
+ msgid "Enable an RTL peephole pass before sched2"
+ msgstr "Выполнить машинно-завиÑимые оптимизации перед вторым планированием"
+
+-#: common.opt:763
++#: common.opt:766
+ msgid "Generate position-independent code if possible (large mode)"
+ msgstr "Генерировать позиционно-незавиÑимый код, еÑли возможно (режим large)"
+
+-#: common.opt:767
++#: common.opt:770
+ msgid "Generate position-independent code for executables if possible (large mode)"
+ msgstr "Генерировать позиционно-незавиÑимый код Ð´Ð»Ñ Ð²Ñ‹Ð¿Ð¾Ð»Ð½Ñемых модулей, еÑли возможно (режим large)"
+
+-#: common.opt:771
++#: common.opt:774
+ msgid "Generate position-independent code if possible (small mode)"
+ msgstr "Генерировать позиционно-незавиÑимый код, еÑли возможно (режим small)"
+
+-#: common.opt:775
++#: common.opt:778
+ msgid "Generate position-independent code for executables if possible (small mode)"
+ msgstr "Генерировать позиционно-незавиÑимый код Ð´Ð»Ñ Ð²Ñ‹Ð¿Ð¾Ð»Ð½Ñемых модулей, еÑли возможно (режим small)"
+
+-#: common.opt:779
++#: common.opt:782
+ #, fuzzy
+ msgid "Run predictive commoning optimization."
+ msgstr "Выполнить оптимизацию Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ñ Ñ€ÐµÐ³Ð¸Ñтров"
+
+-#: common.opt:783
++#: common.opt:786
+ msgid "Generate prefetch instructions, if available, for arrays in loops"
+ msgstr "Генерировать команды предвыборки Ñлементов маÑÑивов, еÑли они поддерживаютÑÑ"
+
+-#: common.opt:787
++#: common.opt:790
+ msgid "Enable basic program profiling code"
+ msgstr "Включить генерацию базового кода Ð´Ð»Ñ Ð¿Ñ€Ð¾Ñ„Ð¸Ð»Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ"
+
+-#: common.opt:791
++#: common.opt:794
+ msgid "Insert arc-based program profiling code"
+ msgstr "Ð’ÑтавлÑÑ‚ÑŒ код Ð´Ð»Ñ Ð¿Ñ€Ð¾Ñ„Ð¸Ð»Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ Ð¿Ð¾ дугам управлÑющего графа программы"
+
+-#: common.opt:795
++#: common.opt:798
+ msgid "Enable common options for generating profile info for profile feedback directed optimizations"
+ msgstr "Ðктивировать ключи генерации данных Ð¿Ñ€Ð¾Ñ„Ð¸Ð»Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ Ð´Ð»Ñ Ð²Ñ‹Ð¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ñ ÑоответÑтвующих оптимизаций"
+
+-#: common.opt:799
++#: common.opt:802
+ msgid "Enable common options for performing profile feedback directed optimizations"
+ msgstr "Ðктивировать ключи оптимизаций, оÑнованных на данных профилированиÑ"
+
+-#: common.opt:803
++#: common.opt:806
+ msgid "Insert code to profile values of expressions"
+ msgstr "Ð’ÑтавлÑÑ‚ÑŒ код Ð´Ð»Ñ Ð¿Ñ€Ð¾Ñ„Ð¸Ð»Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ð¹ выражений"
+
+-#: common.opt:810
++#: common.opt:813
+ msgid "Make compile reproducible using <string>"
+ msgstr "Компилировать воÑпроизводимым образом, иÑÐ¿Ð¾Ð»ÑŒÐ·ÑƒÑ <Ñтроку> Ð´Ð»Ñ Ð³ÐµÐ½ÐµÑ€Ð°Ñ†Ð¸Ð¸ Ñлучайных чиÑел"
+
+-#: common.opt:820
++#: common.opt:823
+ msgid "Record gcc command line switches in the object file."
+ msgstr ""
+
+-#: common.opt:824
++#: common.opt:827
+ msgid "Return small aggregates in registers"
+ msgstr "Возвращать короткие агрегатные в региÑтрах"
+
+-#: common.opt:828
++#: common.opt:831
+ msgid "Enables a register move optimization"
+ msgstr "Выполнить оптимизацию Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ñ Ñ€ÐµÐ³Ð¸Ñтров"
+
+-#: common.opt:832
++#: common.opt:835
+ msgid "Perform a register renaming optimization pass"
+ msgstr "Выполнить оптимизацию Ð¿ÐµÑ€ÐµÐ¸Ð¼ÐµÐ½Ð¾Ð²Ð°Ð½Ð¸Ñ Ñ€ÐµÐ³Ð¸Ñтров"
+
+-#: common.opt:836
++#: common.opt:839
+ msgid "Reorder basic blocks to improve code placement"
+ msgstr "ПереупорÑдочить блоки Ð´Ð»Ñ ÑƒÐ»ÑƒÑ‡ÑˆÐµÐ½Ð¸Ñ Ñ€Ð°Ð·Ð¼ÐµÑ‰ÐµÐ½Ð¸Ñ ÐºÐ¾Ð´Ð°"
+
+-#: common.opt:840
++#: common.opt:843
+ msgid "Reorder basic blocks and partition into hot and cold sections"
+ msgstr "ПереупорÑдочить блоки и партиции в hot и cold разделы"
+
+-#: common.opt:844
++#: common.opt:847
+ msgid "Reorder functions to improve code placement"
+ msgstr "ПереупорÑдочить функции Ð´Ð»Ñ ÑƒÐ»ÑƒÑ‡ÑˆÐµÐ½Ð¸Ñ Ñ€Ð°Ð·Ð¼ÐµÑ‰ÐµÐ½Ð¸Ñ ÐºÐ¾Ð´Ð°"
+
+-#: common.opt:848
++#: common.opt:851
+ msgid "Add a common subexpression elimination pass after loop optimizations"
+ msgstr "Выполнить Ñкономию общих подвыражений еще и поÑле оптимизации циклов"
+
+-#: common.opt:856
++#: common.opt:859
+ msgid "Disable optimizations that assume default FP rounding behavior"
+ msgstr "Отменить оптимизации, предполагающие Ñтандартное округление вещеÑтвенных значений"
+
+-#: common.opt:860
++#: common.opt:863
+ msgid "Enable scheduling across basic blocks"
+ msgstr "Планировать команды в рамках неÑкольких блоков"
+
+-#: common.opt:864
++#: common.opt:867
+ msgid "Allow speculative motion of non-loads"
+ msgstr "Разрешить ÑпекулÑтивный Ð¿ÐµÑ€ÐµÐ½Ð¾Ñ ÐºÐ¾Ð¼Ð°Ð½Ð´, кроме чтениÑ"
+
+-#: common.opt:868
++#: common.opt:871
+ msgid "Allow speculative motion of some loads"
+ msgstr "Разрешить ÑпекулÑтивный Ð¿ÐµÑ€ÐµÐ½Ð¾Ñ Ð½ÐµÐºÐ¾Ñ‚Ð¾Ñ€Ñ‹Ñ… команд чтениÑ"
+
+-#: common.opt:872
++#: common.opt:875
+ msgid "Allow speculative motion of more loads"
+ msgstr "Разрешить более активный ÑпекулÑтивный Ð¿ÐµÑ€ÐµÐ½Ð¾Ñ ÐºÐ¾Ð¼Ð°Ð½Ð´ чтениÑ"
+
+-#: common.opt:876
++#: common.opt:879
+ msgid "Set the verbosity level of the scheduler"
+ msgstr "УÑтановить уровень подробноÑти Ñообщений от планировщика"
+
+-#: common.opt:880
++#: common.opt:883
+ msgid "If scheduling post reload, do superblock scheduling"
+ msgstr "При планировании поÑле раÑÐ¿Ñ€ÐµÐ´ÐµÐ»ÐµÐ½Ð¸Ñ Ñ€ÐµÐ³Ð¸Ñтров, иÑпользовать метод Ñуперблоков"
+
+-#: common.opt:884
++#: common.opt:887
+ msgid "If scheduling post reload, do trace scheduling"
+ msgstr "При планировании поÑле раÑÐ¿Ñ€ÐµÐ´ÐµÐ»ÐµÐ½Ð¸Ñ Ñ€ÐµÐ³Ð¸Ñтров, иÑпользовать метод траÑÑ"
+
+-#: common.opt:888
++#: common.opt:891
+ msgid "Reschedule instructions before register allocation"
+ msgstr "Планировать код перед раÑпределением региÑтров"
+
+-#: common.opt:892
++#: common.opt:895
+ msgid "Reschedule instructions after register allocation"
+ msgstr "Планировать код поÑле раÑÐ¿Ñ€ÐµÐ´ÐµÐ»ÐµÐ½Ð¸Ñ Ñ€ÐµÐ³Ð¸Ñтров"
+
+-#: common.opt:898
++#: common.opt:901
+ msgid "Allow premature scheduling of queued insns"
+ msgstr "Разрешить предварительное планирование отложенных команд"
+
+-#: common.opt:902
++#: common.opt:905
+ msgid "Set number of queued insns that can be prematurely scheduled"
+ msgstr "ЧиÑло отложенных команд, подлежащих предварительному планированию"
+
+-#: common.opt:910 common.opt:914
++#: common.opt:913 common.opt:917
+ msgid "Set dependence distance checking in premature scheduling of queued insns"
+ msgstr "Включить проверку дальноÑти завиÑимоÑтей при предварительном планировании отложенных команд"
+
+-#: common.opt:918
++#: common.opt:921
+ msgid "Access data in the same section from shared anchor points"
+ msgstr ""
+
+-#: common.opt:922
++#: common.opt:925
+ #, fuzzy
+ msgid "Perform sequence abstraction optimization on RTL"
+ msgstr "Выполнить понижение мощноÑти операций"
+
+-#: common.opt:926
++#: common.opt:929
+ msgid "Eliminate redundant sign extensions using LCM."
+ msgstr ""
+
+-#: common.opt:930
++#: common.opt:933
+ #, fuzzy
+ msgid "Show column numbers in diagnostics, when available. Default off"
+ msgstr "Показывать номера колонок в диагноÑтичеÑких Ñообщений. По умолчанию включено"
+
+-#: common.opt:934
++#: common.opt:937
+ msgid "Disable optimizations observable by IEEE signaling NaNs"
+ msgstr "Отменить оптимизации, влиÑющие на поведение Ñигнализирующих NaN по IEEE"
+
+-#: common.opt:938
++#: common.opt:941
+ msgid "Disable floating point optimizations that ignore the IEEE signedness of zero"
+ msgstr ""
+
+-#: common.opt:942
++#: common.opt:945
+ msgid "Convert floating point constants to single precision constants"
+ msgstr "Преобразовывать вещеÑтвенные конÑтанты к значениÑм одинарной точноÑти"
+
+-#: common.opt:946
++#: common.opt:949
+ msgid "Split lifetimes of induction variables when loops are unrolled"
+ msgstr "Разбивать диапазоны жизни индуктивных переменных при развертке циклов"
+
+-#: common.opt:950
++#: common.opt:953
+ msgid "Split wide types into independent registers"
+ msgstr ""
+
+-#: common.opt:954
++#: common.opt:957
+ msgid "Apply variable expansion when loops are unrolled"
+ msgstr "ВыполнÑÑ‚ÑŒ раÑширение переменных при развертке циклов"
+
+-#: common.opt:960
++#: common.opt:963
+ msgid "Insert stack checking code into the program"
+ msgstr "Генерировать код Ð´Ð»Ñ Ð¿Ñ€Ð¾Ð²ÐµÑ€ÐºÐ¸ Ñтека"
+
+-#: common.opt:967
++#: common.opt:970
+ msgid "Trap if the stack goes past <register>"
+ msgstr "Прерывание при переполнении Ñтека, <региÑÑ‚Ñ€> задает границу Ñтека"
+
+-#: common.opt:971
++#: common.opt:974
+ msgid "Trap if the stack goes past symbol <name>"
+ msgstr "Прерывание при переполнении Ñтека, <Ñимвол> задает границу Ñтека"
+
+-#: common.opt:975
++#: common.opt:978
+ msgid "Use propolice as a stack protection method"
+ msgstr "ИÑпользовать propolice как метод защиты Ñтека"
+
+-#: common.opt:979
++#: common.opt:982
+ msgid "Use a stack protection method for every function"
+ msgstr "ИÑпользовать защиту Ñтека Ð´Ð»Ñ ÐºÐ°Ð¶Ð´Ð¾Ð¹ функции"
+
+-#: common.opt:991
++#: common.opt:994
+ msgid "Assume strict aliasing rules apply"
+ msgstr "Предполагать Ñтрогое Ñоблюдение правил Ð¿ÐµÑ€ÐµÐºÑ€Ñ‹Ñ‚Ð¸Ñ Ð´Ð°Ð½Ð½Ñ‹Ñ… в памÑти"
+
+-#: common.opt:995
++#: common.opt:998
+ #, fuzzy
+ msgid "Treat signed overflow as undefined"
+ msgstr "Трактовать отÑутÑтвующие заголовки как генерируемые файлы"
+
+-#: common.opt:999
++#: common.opt:1002
+ msgid "Check for syntax errors, then stop"
+ msgstr "Проверить код на наличие ÑинтакÑичеÑких ошибок и завершить работу"
+
+-#: common.opt:1003
++#: common.opt:1006
+ msgid "Create data files needed by \"gcov\""
+ msgstr "Создать файлы данных Ð´Ð»Ñ \"gcov\""
+
+-#: common.opt:1007
++#: common.opt:1010
+ msgid "Perform jump threading optimizations"
+ msgstr "Выполнить протÑгивание переходов"
+
+-#: common.opt:1011
++#: common.opt:1014
+ msgid "Report the time taken by each compiler pass"
+ msgstr "Показать времÑ, затраченное на каждый проход оптимизации"
+
+-#: common.opt:1015
++#: common.opt:1018
+ msgid "Set the default thread-local storage code generation model"
+ msgstr "Модель генерации кода Ð´Ð»Ñ Ð´Ð°Ð½Ð½Ñ‹Ñ…, локальных Ð´Ð»Ñ Ð¿Ð¾Ñ‚Ð¾Ð², по умолчанию"
+
+-#: common.opt:1019
++#: common.opt:1022
+ msgid "Reorder top level functions, variables, and asms"
+ msgstr ""
+
+-#: common.opt:1023
++#: common.opt:1026
+ msgid "Perform superblock formation via tail duplication"
+ msgstr "Формировать Ñуперблоки методом Ð´ÑƒÐ±Ð»Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ Ñ…Ð²Ð¾Ñтов"
+
+-#: common.opt:1030
++#: common.opt:1033
+ msgid "Assume floating-point operations can trap"
+ msgstr "Предполагать возможноÑÑ‚ÑŒ прерываний при плавающих операциÑÑ…"
+
+-#: common.opt:1034
++#: common.opt:1037
+ msgid "Trap for signed overflow in addition, subtraction and multiplication"
+ msgstr "ÐŸÑ€ÐµÑ€Ñ‹Ð²Ð°Ð½Ð¸Ñ Ð¿Ñ€Ð¸ знаковых операциÑÑ… ÑложениÑ, вычитаниÑ, умножениÑ"
+
+-#: common.opt:1038
++#: common.opt:1041
+ msgid "Enable SSA-CCP optimization on trees"
+ msgstr "Включить SSA-оптимизацию раÑпроÑÑ‚Ñ€Ð°Ð½ÐµÐ½Ð¸Ñ ÐºÐ¾Ð½Ñтант на древовидном предÑтавлении"
+
+-#: common.opt:1042
++#: common.opt:1045
+ msgid "Enable SSA-CCP optimization for stores and loads"
+ msgstr "Включить SSA-оптимизацию раÑпроÑÑ‚Ñ€Ð°Ð½ÐµÐ½Ð¸Ñ ÐºÐ¾Ð½Ñтант Ð´Ð»Ñ Ð¸Ð½Ñтрукций запиÑи и загрузки"
+
+-#: common.opt:1046
++#: common.opt:1049
+ msgid "Enable loop header copying on trees"
+ msgstr "Включить копирование заголовков циклов в древовидном предÑтавлении"
+
+-#: common.opt:1050
++#: common.opt:1053
+ msgid "Replace SSA temporaries with better names in copies"
+ msgstr "Переименовывать временные SSA-переменные при копировании Ð´Ð»Ñ Ð±Ð¾Ð»ÐµÐµ близкого ÑоответÑÑ‚Ð²Ð¸Ñ Ð¿Ñ€Ð¾Ð³Ñ€Ð°Ð¼Ð¼Ð½Ñ‹Ð¼ переменным"
+
+-#: common.opt:1054
++#: common.opt:1057
+ msgid "Enable copy propagation on trees"
+ msgstr "ВыполнÑÑ‚ÑŒ раÑпроÑтранение копий в древовидном предÑтавлении"
+
+-#: common.opt:1058
++#: common.opt:1065
+ #, fuzzy
+-msgid "This switch is obsolete"
+-msgstr "Этот ключ не документирован"
+-
+-#: common.opt:1062
+-#, fuzzy
+ msgid "Transform condition stores into unconditional ones"
+ msgstr "Преобразовывать уÑловные переходы в уÑловно выполнÑемый код"
+
+-#: common.opt:1066
++#: common.opt:1069
+ msgid "Enable SSA dead code elimination optimization on trees"
+ msgstr "Выполнить удаление мертвого SSA-кода на древовидном предÑтавлении"
+
+-#: common.opt:1070
++#: common.opt:1073
+ msgid "Enable dominator optimizations"
+ msgstr "Включить оптимизации доминаторов"
+
+-#: common.opt:1074
++#: common.opt:1077
+ msgid "Enable dead store elimination"
+ msgstr "Выполнить оптимизацию ÑƒÐ´Ð°Ð»ÐµÐ½Ð¸Ñ Ð¼ÐµÑ€Ñ‚Ð²Ñ‹Ñ… команд запиÑи в памÑÑ‚ÑŒ"
+
+-#: common.opt:1078
++#: common.opt:1081
+ msgid "Enable Full Redundancy Elimination (FRE) on trees"
+ msgstr "Выполнить полный набор оптимизаций ÑƒÐ´Ð°Ð»ÐµÐ½Ð¸Ñ Ð¸Ð·Ð±Ñ‹Ñ‚Ð¾Ñ‡Ð½Ð¾Ð³Ð¾ кода на древовидном предÑтавлении"
+
+-#: common.opt:1082
++#: common.opt:1085
+ msgid "Enable loop invariant motion on trees"
+ msgstr "Выполнить вынеÑение инвариантных вычиÑлений за пределы циклов на древовидном предÑтавлении"
+
+-#: common.opt:1086
++#: common.opt:1089
+ msgid "Enable linear loop transforms on trees"
+ msgstr "Включить линейные транÑформации циклов на древовидном предÑтавлении"
+
+-#: common.opt:1090
++#: common.opt:1093
+ msgid "Create canonical induction variables in loops"
+ msgstr "Создавать каноничеÑкие индуктивные переменные в циклах"
+
+-#: common.opt:1094
++#: common.opt:1097
+ msgid "Enable loop optimizations on tree level"
+ msgstr "Включить оптимизации циклов на древовидном предÑтавлении"
+
+-#: common.opt:1098
++#: common.opt:1101
+ #, fuzzy
+ msgid "Enable automatic parallelization of loops"
+ msgstr "Включить автоматичеÑкую конкретизацию шаблонов"
+
+-#: common.opt:1102
++#: common.opt:1105
+ msgid "Enable SSA-PRE optimization on trees"
+ msgstr "Включить оптимизации SSA-PRE на древовидном предÑтавлении"
+
+-#: common.opt:1106
++#: common.opt:1109
+ #, fuzzy
+ msgid "Enable reassociation on tree level"
+ msgstr "Включить оптимизации циклов на древовидном предÑтавлении"
+
+-#: common.opt:1110
++#: common.opt:1113
+ msgid "Perform structural alias analysis"
+ msgstr "Выполнить Ñтруктурный анализ алиаÑов"
+
+-#: common.opt:1114
++#: common.opt:1117
+ msgid "Enable SSA code sinking on trees"
+ msgstr "Выполнить погружение SSA-кода на древовидном предÑтавлении"
+
+-#: common.opt:1118
++#: common.opt:1121
+ msgid "Perform scalar replacement of aggregates"
+ msgstr "Выполнить замену ÑкалÑров Ð´Ð»Ñ Ð°Ð³Ñ€ÐµÐ³Ð°Ñ‚Ð½Ñ‹Ñ… значений"
+
+-#: common.opt:1122
++#: common.opt:1125
+ msgid "Replace temporary expressions in the SSA->normal pass"
+ msgstr "Выполнить замену временных выражений на проходе SSA->normal"
+
+-#: common.opt:1126
++#: common.opt:1129
+ msgid "Perform live range splitting during the SSA->normal pass"
+ msgstr "Выполнить разбиение диапазонов жизни значений на проходе SSA->normal"
+
+-#: common.opt:1130
++#: common.opt:1133
+ msgid "Perform Value Range Propagation on trees"
+ msgstr "Выполнить оптимизацию раÑпроÑÑ‚Ñ€Ð°Ð½ÐµÐ½Ð¸Ñ Ð´Ð¸Ð°Ð¿Ð°Ð·Ð¾Ð½Ð¾Ð² значений на древовидном предÑтавлении"
+
+-#: common.opt:1134
++#: common.opt:1137
+ msgid "Compile whole compilation unit at a time"
+ msgstr "Компилировать веÑÑŒ модуль целиком (а не по функциÑм)"
+
+-#: common.opt:1138
++#: common.opt:1141
+ msgid "Perform loop unrolling when iteration count is known"
+ msgstr "Выполнить развертку циклов Ñ Ð¸Ð·Ð²ÐµÑтным чиÑлом итераций"
+
+-#: common.opt:1142
++#: common.opt:1145
+ msgid "Perform loop unrolling for all loops"
+ msgstr "Выполнить развертку вÑех циклов"
+
+-#: common.opt:1149
++#: common.opt:1152
+ msgid "Allow loop optimizations to assume that the loops behave in normal way"
+ msgstr "При оптимизации циклов предполагать нормальное поведение цикла"
+
+-#: common.opt:1153
++#: common.opt:1156
+ msgid "Allow optimization for floating-point arithmetic which may change the"
+ msgstr ""
+
+-#: common.opt:1158
++#: common.opt:1161
+ msgid "Same as -fassociative-math for expressions which include division."
+ msgstr ""
+
+-#: common.opt:1166
++#: common.opt:1169
+ msgid "Allow math optimizations that may violate IEEE or ISO standards"
+ msgstr "Разрешить оптимизации плавающих вычиÑлений, которые могут противоречить Ñтандартам IEEE или ISO"
+
+-#: common.opt:1170
++#: common.opt:1173
+ msgid "Perform loop unswitching"
+ msgstr "Выполнить декомпозицию циклов, Ñодержащих уÑловные ветвлениÑ"
+
+-#: common.opt:1174
++#: common.opt:1177
+ msgid "Just generate unwind tables for exception handling"
+ msgstr "Генерировать unwind-таблицы только Ð´Ð»Ñ Ð¾Ð±Ñ€Ð°Ð±Ð¾Ñ‚ÐºÐ¸ иÑключений"
+
+-#: common.opt:1178
++#: common.opt:1181
+ msgid "Perform variable tracking"
+ msgstr "Выполнить отÑлеживание переменных"
+
+-#: common.opt:1182
++#: common.opt:1185
+ msgid "Perform variable tracking and also tag variables that are uninitialized"
+ msgstr ""
+
+-#: common.opt:1186
++#: common.opt:1189
+ msgid "Enable loop vectorization on trees"
+ msgstr "Выполнить векторизацию циклов на древовидном предÑтавлении"
+
+-#: common.opt:1190
++#: common.opt:1193
+ #, fuzzy
+ msgid "Enable use of cost model in vectorization"
+ msgstr "ИÑпользовать команду DB"
+
+-#: common.opt:1194
++#: common.opt:1197
+ msgid "Enable loop versioning when doing loop vectorization on trees"
+ msgstr "Создавать верÑии циклов при векторизации"
+
+-#: common.opt:1198
++#: common.opt:1201
+ msgid "Set the verbosity level of the vectorizer"
+ msgstr "УÑтановить Ñтепень подробноÑти Ñообщений при векторизации циклов"
+
+-#: common.opt:1202
++#: common.opt:1205
+ #, fuzzy
+ msgid "Enable copy propagation of scalar-evolution information."
+ msgstr "ВыполнÑÑ‚ÑŒ раÑпроÑтранение копий Ð´Ð»Ñ Ð·Ð°Ð¿Ð¸Ñей и загрузок"
+
+-#: common.opt:1212
++#: common.opt:1215
+ msgid "Add extra commentary to assembler output"
+ msgstr "Добавить комментарии к аÑÑемблерному коду"
+
+-#: common.opt:1216
++#: common.opt:1219
+ msgid "Set the default symbol visibility"
+ msgstr "УÑтановить видимоÑÑ‚ÑŒ Ñимволов по умолчанию"
+
+-#: common.opt:1221
++#: common.opt:1224
+ msgid "Use expression value profiles in optimizations"
+ msgstr "ИÑпользовать данные Ð¿Ñ€Ð¾Ñ„Ð¸Ð»Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ð¹ при оптимизациÑÑ…"
+
+-#: common.opt:1225
++#: common.opt:1228
+ msgid "Construct webs and split unrelated uses of single variable"
+ msgstr "СнÑÑ‚ÑŒ завиÑимоÑти между различными иÑпользованиÑми одной и той же переменной"
+
+-#: common.opt:1229
++#: common.opt:1232
+ msgid "Perform whole program optimizations"
+ msgstr "Выполнить оптимизации на уровне вÑей программы"
+
+-#: common.opt:1233
++#: common.opt:1236
+ msgid "Assume signed arithmetic overflow wraps around"
+ msgstr "Предполагать цикличеÑкий Ð¿ÐµÑ€ÐµÐ½Ð¾Ñ Ð¿Ñ€Ð¸ арифметичеÑких переполнениÑÑ…"
+
+-#: common.opt:1237
++#: common.opt:1240
+ msgid "Put zero initialized data in the bss section"
+ msgstr "Помещать данные, инициализированные нулÑми, в Ñекцию bss"
+
+-#: common.opt:1241
++#: common.opt:1244
+ msgid "Generate debug information in default format"
+ msgstr "Генерировать отладочную информацию в формате по умолчанию"
+
+-#: common.opt:1245
++#: common.opt:1248
+ msgid "Generate debug information in COFF format"
+ msgstr "Генерировать отладочную информацию в формате COFF"
+
+-#: common.opt:1249
++#: common.opt:1252
+ msgid "Generate debug information in DWARF v2 format"
+ msgstr "Генерировать отладочную информацию в формате DWARF верÑии 2"
+
+-#: common.opt:1253
++#: common.opt:1256
+ msgid "Generate debug information in default extended format"
+ msgstr "Генерировать отладочную информацию в раÑширенном формате по умолчанию"
+
+-#: common.opt:1257
++#: common.opt:1260
+ msgid "Generate debug information in STABS format"
+ msgstr "Генерировать отладочную информацию в формате STABS"
+
+-#: common.opt:1261
++#: common.opt:1264
+ msgid "Generate debug information in extended STABS format"
+ msgstr "Генерировать отладочную информацию в раÑширенном формате STABS"
+
+-#: common.opt:1265
++#: common.opt:1268
+ msgid "Generate debug information in VMS format"
+ msgstr "Генерировать отладочную информацию в формате VMS"
+
+-#: common.opt:1269
++#: common.opt:1272
+ msgid "Generate debug information in XCOFF format"
+ msgstr "Генерировать отладочную информацию в формате XCOFF"
+
+-#: common.opt:1273
++#: common.opt:1276
+ msgid "Generate debug information in extended XCOFF format"
+ msgstr "Генерировать отладочную информацию в раÑширенном формате XCOFF"
+
+-#: common.opt:1277
++#: common.opt:1280
+ msgid "Place output into <file>"
+ msgstr "ЗапиÑать результат в <файл>"
+
+-#: common.opt:1281
++#: common.opt:1284
+ msgid "Enable function profiling"
+ msgstr "Включить профилирование функций"
+
+-#: common.opt:1285
++#: common.opt:1288
+ msgid "Issue warnings needed for strict compliance to the standard"
+ msgstr "Выдавать предупреждениÑ, требуемые Ð´Ð»Ñ ÑоответÑÑ‚Ð²Ð¸Ñ Ñтандарту"
+
+-#: common.opt:1289
++#: common.opt:1292
+ msgid "Like -pedantic but issue them as errors"
+ msgstr "Как -pedantic, но выдавать ошибки, а не предупреждениÑ"
+
+-#: common.opt:1293
++#: common.opt:1296
+ msgid "Do not display functions compiled or elapsed time"
+ msgstr "Ðе отображать Ð²Ñ€ÐµÐ¼Ñ ÐºÐ¾Ð¼Ð¿Ð¸Ð»Ñции функций"
+
+-#: common.opt:1297
++#: common.opt:1300
+ msgid "Display the compiler's version"
+ msgstr "Показать верÑию компилÑтора"
+
+-#: common.opt:1301
++#: common.opt:1304
+ msgid "Suppress warnings"
+ msgstr "Подавить выдачу предупреждений"
+
+-#: common.opt:1305
++#: common.opt:1308
+ #, fuzzy
+ msgid "Create a shared library"
+ msgstr "Поддерживать разделÑемые библиотеки на оÑнове ID"
+
+-#: common.opt:1309
++#: common.opt:1312
+ #, fuzzy
+ msgid "Create a position independent executable"
+ msgstr "Генерировать позиционно-незавиÑимый код Ð´Ð»Ñ Ð²Ñ‹Ð¿Ð¾Ð»Ð½Ñемых модулей, еÑли возможно (режим large)"
+
++#: c.opt:41
++#, fuzzy
++msgid "Assert the <answer> to <question>. Putting '-' before <question> disables the <answer> to <question>"
++msgstr "-A<вопроÑ>=<ответ>\tЗадать <ответ> на <вопроÑ>. Добавление '-' перед <вопроÑом> отменÑет <ответ> на <вопроÑ>"
++
++#: c.opt:45
++msgid "Do not discard comments"
++msgstr "Ðе удалÑÑ‚ÑŒ комментарии"
++
++#: c.opt:49
++msgid "Do not discard comments in macro expansions"
++msgstr "Ðе удалÑÑ‚ÑŒ комментарии при макроподÑтановках"
++
++#: c.opt:53
++msgid "Define a <macro> with <val> as its value. If just <macro> is given, <val> is taken to be 1"
++msgstr "Определить <макроÑ> Ñо значением <знач.>. ЕÑли задан только <макроÑ>, <знач.> ÑчитаетÑÑ Ñ€Ð°Ð²Ð½Ñ‹Ð¼ 1"
++
++#: c.opt:60
++msgid "Add <dir> to the end of the main framework include path"
++msgstr "Добавить <каталог> в конец оÑновного пути поиÑка включаемых инфраÑтруктур"
++
++#: c.opt:64
++msgid "Print the name of header files as they are used"
++msgstr "Печатать имена иÑпользуемых заголовочных файлов"
++
++#: c.opt:68 c.opt:863
++msgid "Add <dir> to the end of the main include path"
++msgstr "Добавить <каталог> в конец оÑновного пути поиÑка заголовков"
++
++#: c.opt:72
++msgid "Generate make dependencies"
++msgstr "Генерировать завиÑимоÑти Ð´Ð»Ñ make"
++
++#: c.opt:76
++msgid "Generate make dependencies and compile"
++msgstr "Генерировать make-завиÑимоÑти и компилировать"
++
++#: c.opt:80
++msgid "Write dependency output to the given file"
++msgstr "ВывеÑти завиÑимоÑти в указанный файл"
++
++#: c.opt:84
++msgid "Treat missing header files as generated files"
++msgstr "Трактовать отÑутÑтвующие заголовки как генерируемые файлы"
++
++#: c.opt:88
++msgid "Like -M but ignore system header files"
++msgstr "Как -M, но игнорировать ÑиÑтемные заголовки"
++
++#: c.opt:92
++msgid "Like -MD but ignore system header files"
++msgstr "Как -MD, но игнорировать ÑиÑтемные заголовки "
++
++#: c.opt:96
++msgid "Generate phony targets for all headers"
++msgstr "ДобавлÑÑ‚ÑŒ фиктивные правила Ð´Ð»Ñ Ð²Ñех заголовочных файлов"
++
++#: c.opt:100
++msgid "Add a MAKE-quoted target"
++msgstr "Добавить Ñкранированную MAKE-цель"
++
++#: c.opt:104
++msgid "Add an unquoted target"
++msgstr "Добавить неÑкранированную MAKE-цель"
++
++#: c.opt:108
++msgid "Do not generate #line directives"
++msgstr "Ðе генерировать директивы #Ñтрока"
++
++#: c.opt:112
++msgid "Undefine <macro>"
++msgstr "Отменить определение макроÑа"
++
++#: c.opt:116
++msgid "Warn about things that will change when compiling with an ABI-compliant compiler"
++msgstr "Предупреждать о различиÑÑ… по Ñравнению Ñ ÐºÐ¾Ð¼Ð¿Ð¸Ð»Ñцией при помощи компилÑтора, ÑовмеÑтимого Ñ ABI"
++
++#: c.opt:120
++#, fuzzy
++msgid "Warn about suspicious uses of memory addresses"
++msgstr "Предупреждать о неÑтандартных декларациÑÑ… Ð´Ð»Ñ \"main\""
++
++#: c.opt:124
++msgid "Enable most warning messages"
++msgstr "Включить вÑе оÑновные виды предупреждений"
++
++#: c.opt:128
++#, fuzzy
++msgid "Warn if a comparison is always true or always false due to the limited range of the data type"
++msgstr "из-за ограниченноÑти диапазона типа данных, результат ÑÑ€Ð°Ð²Ð½ÐµÐ½Ð¸Ñ Ð²Ñегда ложь"
++
++#: c.opt:132
++msgid "Warn whenever an Objective-C assignment is being intercepted by the garbage collector"
++msgstr "Предупреждать, еÑли приÑваивание Objective-C прерываетÑÑ Ñбором муÑора"
++
++#: c.opt:136
++msgid "Warn about casting functions to incompatible types"
++msgstr "Предупреждать о приведений функций к неÑовмеÑтимым типам"
++
++#: c.opt:140
++msgid "Warn about C constructs that are not in the common subset of C and C++"
++msgstr "Предупреждать о конÑтрукциÑÑ… C, не ÑвлÑющихÑÑ Ð¾Ð±Ñ‰Ð¸Ð¼Ð¸ Ð´Ð»Ñ C и C++"
++
++#: c.opt:144
++#, fuzzy
++msgid "Warn about C++ constructs whose meaning differs between ISO C++ 1998 and ISO C++ 200x"
++msgstr "Предупреждать о конÑтрукциÑÑ… C, не ÑвлÑющихÑÑ Ð¾Ð±Ñ‰Ð¸Ð¼Ð¸ Ð´Ð»Ñ C и C++"
++
++#: c.opt:148
++msgid "Warn about casts which discard qualifiers"
++msgstr "Предупреждать о приведении типов, отменÑющих квалификаторы"
++
++#: c.opt:152
++msgid "Warn about subscripts whose type is \"char\""
++msgstr "Предупреждать об индекÑах типа \"char\""
++
++#: c.opt:156
++#, fuzzy
++msgid "Warn about variables that might be changed by \"longjmp\" or \"vfork\""
++msgstr "Ð¿ÐµÑ€ÐµÐ¼ÐµÐ½Ð½Ð°Ñ %q+D может быть иÑпорчена вызовами %<longjmp%> или %<vfork%>"
++
++#: c.opt:160
++msgid "Warn about possibly nested block comments, and C++ comments spanning more than one physical line"
++msgstr "Предупреждать о возможно вложенных комментариÑÑ… и комментариÑÑ… C++, продолжающихÑÑ Ð½Ð° неÑкольких физичеÑких Ñтроках"
++
++#: c.opt:164
++msgid "Synonym for -Wcomment"
++msgstr "То же, что -Wcomment"
++
++#: c.opt:168
++msgid "Warn for implicit type conversions that may change a value"
++msgstr ""
++
++#: c.opt:172
++#, fuzzy
++msgid "Warn for implicit type conversions between signed and unsigned integers"
++msgstr "Ñравнение знакового и беззнакового целых выражений"
++
++#: c.opt:176
++msgid "Warn when all constructors and destructors are private"
++msgstr "Предупреждать о клаÑÑах, в которых вÑе конÑтрукторы и деÑтрукторы private"
++
++#: c.opt:180
++msgid "Warn when a declaration is found after a statement"
++msgstr "Предупреждать о декларациÑÑ…, вÑтретившихÑÑ Ð¿Ð¾Ñле операторов"
++
++#: c.opt:184
++msgid "Warn about deprecated compiler features"
++msgstr "Предупреждать об уÑтаревших возможноÑÑ‚ÑÑ… компилÑтора, которые будут выведены из ÑƒÐ¿Ð¾Ñ‚Ñ€ÐµÐ±Ð»ÐµÐ½Ð¸Ñ Ð² поÑледующих верÑиÑÑ…"
++
++#: c.opt:188
++msgid "Warn about compile-time integer division by zero"
++msgstr "Предупреждать о целочиÑленном делении на ноль при вычиÑлениÑÑ… времени компилÑции"
++
++#: c.opt:192
++msgid "Warn about violations of Effective C++ style rules"
++msgstr "Предупреждать о отÑтуплениÑÑ… от ÑÑ‚Ð¸Ð»Ñ Effective C++"
++
++#: c.opt:196
++#, fuzzy
++msgid "Warn about an empty body in an if or else statement"
++msgstr "%HпуÑÑ‚Ð°Ñ else-чаÑÑ‚ÑŒ"
++
++#: c.opt:200
++msgid "Warn about stray tokens after #elif and #endif"
++msgstr "Предупреждать о наличии лишнего текÑта поÑле #elif и #endif"
++
++#: c.opt:208
++#, fuzzy
++msgid "This switch is deprecated; use -Werror=implicit-function-declaration instead"
++msgstr "Этот ключ уÑтарел; иÑпользуйте -Wextra."
++
++#: c.opt:212
++msgid "Warn if testing floating point numbers for equality"
++msgstr "Предупреждать о ÑравнениÑÑ… вещеÑтвенных чиÑел на равенÑтво"
++
++#: c.opt:216
++msgid "Warn about printf/scanf/strftime/strfmon format string anomalies"
++msgstr "Предупреждать о некорректных форматах printf/scanf/strftime/strfmon"
++
++#: c.opt:220
++msgid "Warn if passing too many arguments to a function for its format string"
++msgstr "Предупреждать об избыточных аргументах Ð´Ð»Ñ Ñ„ÑƒÐ½ÐºÑ†Ð¸Ð¹ форматированиÑ"
++
++#: c.opt:224
++msgid "Warn about format strings that are not literals"
++msgstr "Предупреждать о форматных Ñтроках, не ÑвлÑющихÑÑ Ð»Ð¸Ñ‚ÐµÑ€Ð°Ð»Ð°Ð¼Ð¸"
++
++#: c.opt:228
++#, fuzzy
++msgid "Warn about format strings that contain NUL bytes"
++msgstr "Предупреждать о форматных Ñтроках, не ÑвлÑющихÑÑ Ð»Ð¸Ñ‚ÐµÑ€Ð°Ð»Ð°Ð¼Ð¸"
++
++#: c.opt:232
++msgid "Warn about possible security problems with format functions"
++msgstr "Предупреждать о проблемах Ñ Ð±ÐµÐ·Ð¾Ð¿Ð°ÑноÑтью при иÑпользовании функций форматированиÑ"
++
++#: c.opt:236
++msgid "Warn about strftime formats yielding 2-digit years"
++msgstr "Предупреждать о strftime-форматах, дающих только 2 цифры года"
++
++#: c.opt:240
++msgid "Warn about zero-length formats"
++msgstr "Предупреждать о форматных Ñтроках нулевой длины"
++
++#: c.opt:247
++msgid "Warn whenever type qualifiers are ignored."
++msgstr ""
++
++#: c.opt:251
++msgid "Warn about variables which are initialized to themselves"
++msgstr "Предупреждать о переменных, в инициализации которых иÑпользуетÑÑ Ð¸Ñ… значение"
++
++#: c.opt:258
++msgid "Warn about implicit function declarations"
++msgstr "Предупреждать о неÑвных декларациÑÑ… функций"
++
++#: c.opt:262
++msgid "Warn when a declaration does not specify a type"
++msgstr "Предупреждать о декларациÑÑ…, в которых не задан тип"
++
++#: c.opt:266
++msgid "Deprecated. This switch has no effect"
++msgstr "УÑтаревший ключ. ИгнорируетÑÑ."
++
++#: c.opt:270
++msgid "Warn when there is a cast to a pointer from an integer of a different size"
++msgstr "Предупреждать о приведении к типу ÑƒÐºÐ°Ð·Ð°Ñ‚ÐµÐ»Ñ Ð¾Ñ‚ целого другого размера"
++
++#: c.opt:274
++msgid "Warn about invalid uses of the \"offsetof\" macro"
++msgstr "Предупреждать о некорректном иÑпользовании макроÑа \"offsetof\""
++
++#: c.opt:278
++msgid "Warn about PCH files that are found but not used"
++msgstr "Предупреждать о PCH, которые были найдены, но не иÑпользованы"
++
++#: c.opt:282
++msgid "Do not warn about using \"long long\" when -pedantic"
++msgstr "Ðе предупреждать об иÑпользовании \"long long\" Ñ -pedantic"
++
++#: c.opt:286
++msgid "Warn about suspicious declarations of \"main\""
++msgstr "Предупреждать о неÑтандартных декларациÑÑ… Ð´Ð»Ñ \"main\""
++
++#: c.opt:290
++msgid "Warn about possibly missing braces around initializers"
++msgstr "Предупреждать о возможно отÑутÑтвующих Ñкобках в инициализаторах"
++
++#: c.opt:294
++msgid "Warn about global functions without previous declarations"
++msgstr "Предупреждать о глобальных функциÑÑ… без предшеÑтвующих деклараций"
++
++#: c.opt:298
++msgid "Warn about missing fields in struct initializers"
++msgstr "Предупреждать о возможно отÑутÑтвующих Ñкобках в инициализаторах Ñтруктур"
++
++#: c.opt:302
++msgid "Warn about functions which might be candidates for format attributes"
++msgstr "Предупреждать о функциÑÑ…, которым можно назначить атрибут format"
++
++#: c.opt:306
++msgid "Warn about user-specified include directories that do not exist"
++msgstr "Предупреждать о заданных пользователем, но не ÑущеÑтвующих каталогах заголовков"
++
++#: c.opt:310
++msgid "Warn about function parameters declared without a type specifier in K&R-style functions"
++msgstr ""
++
++#: c.opt:314
++msgid "Warn about global functions without prototypes"
++msgstr "Предупреждать о глобальных функциÑÑ… без прототипов"
++
++#: c.opt:318
++msgid "Warn about use of multi-character character constants"
++msgstr "Предупреждать о char-конÑтантах, Ñодержащих неÑколько литер "
++
++#: c.opt:322
++msgid "Warn about \"extern\" declarations not at file scope"
++msgstr "Предупреждать об \"extern\" декларациÑÑ… не на уровне файла"
++
++#: c.opt:326
++msgid "Warn when non-templatized friend functions are declared within a template"
++msgstr "Предупреждать о нешаблонных friend-функциÑÑ…, декларированных внутри шаблона"
++
++#: c.opt:330
++msgid "Warn about non-virtual destructors"
++msgstr "Предупреждать о невиртуальных деÑтрукторах"
++
++#: c.opt:334
++msgid "Warn about NULL being passed to argument slots marked as requiring non-NULL"
++msgstr "Предупреждать о передаче NULL в качеÑтве аргумента, который отмечен как требующий не-NULL значениÑ"
++
++#: c.opt:338
++msgid "Warn about non-normalised Unicode strings"
++msgstr "Предупреждать о ненормализованных Ñтроках Unicode"
++
++#: c.opt:342
++msgid "Warn if a C-style cast is used in a program"
++msgstr "Предупреждать об иÑпользовании Ð¿Ñ€Ð¸Ð²ÐµÐ´ÐµÐ½Ð¸Ñ Ñ‚Ð¸Ð¿Ð¾Ð² в Ñтиле C"
++
++#: c.opt:346
++#, fuzzy
++msgid "Warn for obsolescent usage in a declaration"
++msgstr "Предупреждать о неÑвных декларациÑÑ… функций"
++
++#: c.opt:350
++msgid "Warn if an old-style parameter definition is used"
++msgstr "Предупреждать об определениÑÑ… параметров в Ñтаром Ñтиле"
++
++#: c.opt:354
++msgid "Warn if a string is longer than the maximum portable length specified by the standard"
++msgstr ""
++
++#: c.opt:358
++msgid "Warn about overloaded virtual function names"
++msgstr "Предупреждать о перегруженных именах виртуальных функций"
++
++#: c.opt:362
++#, fuzzy
++msgid "Warn about overriding initializers without side effects"
++msgstr "Предупреждать о переменных, в инициализации которых иÑпользуетÑÑ Ð¸Ñ… значение"
++
++#: c.opt:366
++msgid "Warn about possibly missing parentheses"
++msgstr "Предупреждать о возможно отÑутÑтвующих Ñкобках"
++
++#: c.opt:370
++msgid "Warn when converting the type of pointers to member functions"
++msgstr "Предупреждать о преобразовании типа ÑƒÐºÐ°Ð·Ð°Ñ‚ÐµÐ»Ñ Ðº функции-Ñлементу"
++
++#: c.opt:374
++msgid "Warn about function pointer arithmetic"
++msgstr "Предупреждать об арифметичеÑких дейÑтвиÑÑ… над указателÑми на функции"
++
++#: c.opt:378
++msgid "Warn when a pointer is cast to an integer of a different size"
++msgstr "Предупреждать о приведении ÑƒÐºÐ°Ð·Ð°Ñ‚ÐµÐ»Ñ Ðº целому другого размера"
++
++#: c.opt:382
++msgid "Warn about misuses of pragmas"
++msgstr "Предупреждать о неправильном иÑпользовании прагм"
++
++#: c.opt:386
++msgid "Warn if inherited methods are unimplemented"
++msgstr "Предупреждать о нереализованных наÑледуемых методах"
++
++#: c.opt:390
++msgid "Warn about multiple declarations of the same object"
++msgstr "Предупреждать о множеÑтвенных декларациÑÑ… объектов"
++
++#: c.opt:394
++msgid "Warn when the compiler reorders code"
++msgstr "Предупреждать о переупорÑдочении кода компилÑтором"
++
++#: c.opt:398
++msgid "Warn whenever a function's return type defaults to \"int\" (C), or about inconsistent return types (C++)"
++msgstr "Предупреждать, еÑли тип возвращаемого Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ñ Ð¿Ð¾ беретÑÑ ÑƒÐ¼Ð¾Ð»Ñ‡Ð°Ð½Ð¸ÑŽ как \"int\" (C), или о неÑовмеÑтимом типе результата (C++)"
++
++#: c.opt:402
++msgid "Warn if a selector has multiple methods"
++msgstr "Предупреждать о Ñелекторах Ñ Ð¼Ð½Ð¾Ð¶ÐµÑтвенными методами"
++
++#: c.opt:406
++msgid "Warn about possible violations of sequence point rules"
++msgstr "Предупреждать о возможном нарушении правил точек ÑледованиÑ"
++
++#: c.opt:410
++msgid "Warn about signed-unsigned comparisons"
++msgstr "Предупреждать о ÑравнениÑÑ… между signed и unsigned значениÑми"
++
++#: c.opt:414
++msgid "Warn when overload promotes from unsigned to signed"
++msgstr "Предупреждать когда перегруженное Ð¸Ð¼Ñ Ð¿Ñ€ÐµÐ¾Ð±Ñ€Ð°Ð·ÑƒÐµÑ‚ÑÑ Ð¾Ñ‚ unsigned к signed"
++
++#: c.opt:418
++msgid "Warn about uncasted NULL used as sentinel"
++msgstr "Предупреждать на вÑÑкий Ñлучай об отÑутÑтвии Ð¿Ñ€Ð¸Ð²ÐµÐ´ÐµÐ½Ð¸Ñ NULL"
++
++#: c.opt:422
++msgid "Warn about unprototyped function declarations"
++msgstr "Предупреждать о непрототипных декларациÑÑ… функций"
++
++#: c.opt:426
++msgid "Warn if type signatures of candidate methods do not match exactly"
++msgstr "Предупреждать о неÑовпадении Ñигнатур применимых методов"
++
++#: c.opt:430
++msgid "Warn when synthesis behavior differs from Cfront"
++msgstr "Предупреждать когда поведение компилÑтора отличаетÑÑ Ð¾Ñ‚ Ð¿Ð¾Ð²ÐµÐ´ÐµÐ½Ð¸Ñ Ð´Ð»Ñ C"
++
++#: c.opt:438
++msgid "Warn about features not present in traditional C"
++msgstr "Предупреждать об иÑпользовании ÑредÑтв, отÑутÑтвующих в традиционном C"
++
++#: c.opt:442
++msgid "Warn of prototypes causing type conversions different from what would happen in the absence of prototype"
++msgstr ""
++
++#: c.opt:446
++msgid "Warn if trigraphs are encountered that might affect the meaning of the program"
++msgstr "Предупреждать о вÑтретившихÑÑ Ñ‚Ñ€Ð¸Ð³Ñ€Ð°Ñ„Ð°Ñ…, которые могут влиÑÑ‚ÑŒ на ÑмыÑл программы"
++
++#: c.opt:450
++msgid "Warn about @selector()s without previously declared methods"
++msgstr "Предупреждать о @selector() без предварительно декларированных методов"
++
++#: c.opt:454
++msgid "Warn if an undefined macro is used in an #if directive"
++msgstr "Предупреждать об иÑпользовании неопределенных макроÑов в директивах #if"
++
++#: c.opt:458
++msgid "Warn about unrecognized pragmas"
++msgstr "Предупреждать о наличии неизвеÑтных прагм"
++
++#: c.opt:462
++msgid "Warn about macros defined in the main file that are not used"
++msgstr "Предупреждать об определенных в оÑновном файле, но неиÑпользованных макроÑах"
++
++#: c.opt:466
++msgid "Do not warn about using variadic macros when -pedantic"
++msgstr "Ðе предупреждать об иÑпользовании макроÑов Ñ Ð¿ÐµÑ€ÐµÐ¼ÐµÐ½Ð½Ñ‹Ð¼ чиÑлом аргументов Ñ -pedantic"
++
++#: c.opt:470
++#, fuzzy
++msgid "Warn if a variable length array is used"
++msgstr "Предупреждать о неиÑпользуемых переменных"
++
++#: c.opt:474
++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.opt:478
++msgid "Warn when a pointer differs in signedness in an assignment"
++msgstr "Предупреждать о различиÑÑ… в знаковоÑти ÑƒÐºÐ°Ð·Ð°Ñ‚ÐµÐ»Ñ Ð² приÑваивании"
++
++#: c.opt:482
++msgid "A synonym for -std=c89 (for C) or -std=c++98 (for C++)"
++msgstr "То же, что -std=c89 (Ð´Ð»Ñ C) или -std=c++98 (Ð´Ð»Ñ C++)"
++
++#: c.opt:490
++msgid "Enforce class member access control semantics"
++msgstr "Реализовать Ñемантику ÑƒÐ¿Ñ€Ð°Ð²Ð»ÐµÐ½Ð¸Ñ Ð´Ð¾Ñтупом Ð´Ð»Ñ Ñлементов клаÑÑов"
++
++#: c.opt:497
++msgid "Change when template instances are emitted"
++msgstr "ИзменÑÑ‚ÑŒ при выдаче конкретизаций шаблонов"
++
++#: c.opt:501
++msgid "Recognize the \"asm\" keyword"
++msgstr "РаÑпознавать ключевое Ñлово \"asm\""
++
++#: c.opt:505
++msgid "Recognize built-in functions"
++msgstr "Включить поддержку вÑтроенных функций"
++
++#: c.opt:512
++msgid "Check the return value of new"
++msgstr "ПроверÑÑ‚ÑŒ результат new"
++
++#: c.opt:516
++msgid "Allow the arguments of the '?' operator to have different types"
++msgstr "Разрешить разные типы Ð´Ð»Ñ Ð¾Ð¿ÐµÑ€Ð°Ð½Ð´Ð¾Ð² операции '?'"
++
++#: c.opt:520
++msgid "Reduce the size of object files"
++msgstr "Сократить объем объектных файлов"
++
++#: c.opt:524
++msgid "Use class <name> for constant strings"
++msgstr "ИÑпользовать class <имÑ> как тип Ñтроковых конÑтант"
++
++#: c.opt:528
++msgid "Inline member functions by default"
++msgstr "По умолчанию выполнÑÑ‚ÑŒ inline-подÑтановку функций-Ñлементов"
++
++#: c.opt:532
++#, fuzzy
++msgid "Preprocess directives only."
++msgstr "Обрабатывать директивы #ident"
++
++#: c.opt:536
++msgid "Permit '$' as an identifier character"
++msgstr "Разрешить иÑпользование '$' в идентификаторах"
++
++#: c.opt:543
++msgid "Generate code to check exception specifications"
++msgstr "Генерировать код Ð´Ð»Ñ Ð¿Ñ€Ð¾Ð²ÐµÑ€ÐºÐ¸ иÑключительных Ñитуаций"
++
++#: c.opt:550
++msgid "Convert all strings and character constants to character set <cset>"
++msgstr "Конвертировать Ñтроковые и char-конÑтанты в указанную <кодировку>"
++
++#: c.opt:554
++msgid "Permit universal character names (\\u and \\U) in identifiers"
++msgstr "Разрешить универÑальные имена литер (\\u and \\U) в идентификаторах"
++
++#: c.opt:558
++msgid "Specify the default character set for source files"
++msgstr "Кодировка иÑходных файлов по умолчанию"
++
++#: c.opt:566
++msgid "Scope of for-init-statement variables is local to the loop"
++msgstr "ОблаÑÑ‚ÑŒ дейÑÑ‚Ð²Ð¸Ñ Ð¿ÐµÑ€ÐµÐ¼ÐµÐ½Ð½Ñ‹Ñ…, объÑвленных в заголовке цикла, ограничиваетÑÑ Ñ€Ð°Ð¼ÐºÐ°Ð¼Ð¸ цикла"
++
++#: c.opt:570
++msgid "Do not assume that standard C libraries and \"main\" exist"
++msgstr "Ðе предполагать наличие Ñтандартных библиотек C и функции \"main\""
++
++#: c.opt:574
++msgid "Recognize GNU-defined keywords"
++msgstr "РаÑпознавать ключевые Ñлова GNU-раÑширений"
++
++#: c.opt:578
++msgid "Generate code for GNU runtime environment"
++msgstr "Генерировать код Ð´Ð»Ñ Ñреды Ð²Ñ‹Ð¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ñ GNU"
++
++#: c.opt:582
++#, fuzzy
++msgid "Use traditional GNU semantics for inline functions"
++msgstr "в традиционном C Ð¸Ð½Ð¸Ñ†Ð¸Ð°Ð»Ð¸Ð·Ð°Ñ†Ð¸Ñ Ð¾Ð±ÑŠÐµÐ´Ð¸Ð½ÐµÐ½Ð¸Ð¹ запрещена"
++
++#: c.opt:595
++msgid "Assume normal C execution environment"
++msgstr "Генерировать код Ð´Ð»Ñ Ñтандартной Ñреды Ð²Ñ‹Ð¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ñ C"
++
++#: c.opt:599
++msgid "Enable support for huge objects"
++msgstr "Включить поддержку больших объектов"
++
++#: c.opt:603
++msgid "Export functions even if they can be inlined"
++msgstr "ЭкÑпортировать функции, даже еÑли возможна их inline-подÑтановка"
++
++#: c.opt:607
++msgid "Emit implicit instantiations of inline templates"
++msgstr "Генерировать неÑвные конкретизации inline-шаблонов"
++
++#: c.opt:611
++msgid "Emit implicit instantiations of templates"
++msgstr "Генерировать неÑвные конкретизации шаблонов"
++
++#: c.opt:615
++msgid "Inject friend functions into enclosing namespace"
++msgstr "Ð’ÑтавлÑÑ‚ÑŒ friend-функции в объемлющие namespace-облаÑти"
++
++#: c.opt:622
++msgid "Allow implicit conversions between vectors with differing numbers of subparts and/or differing element types."
++msgstr ""
++
++#: c.opt:626
++msgid "Don't warn about uses of Microsoft extensions"
++msgstr "Ðе предупреждать об иÑпользовании раÑширений Microsoft"
++
++#: c.opt:636
++msgid "Generate code for NeXT (Apple Mac OS X) runtime environment"
++msgstr "Генерировать код Ð´Ð»Ñ Ñреды Ð²Ñ‹Ð¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ñ NeXT (Apple Mac OS X)"
++
++#: c.opt:640
++msgid "Assume that receivers of Objective-C messages may be nil"
++msgstr "Предполагать что получатели Ñообщений Objective-C могут быть пуÑтыми"
++
++#: c.opt:652
++msgid "Generate special Objective-C methods to initialize/destroy non-POD C++ ivars, if needed"
++msgstr ""
++
++#: c.opt:656
++msgid "Allow fast jumps to the message dispatcher"
++msgstr "Разрешать быÑтрый переход к обработчику Ñообщений"
++
++#: c.opt:662
++msgid "Enable Objective-C exception and synchronization syntax"
++msgstr "Поддерживать ÑинтакÑÐ¸Ñ Ð¸Ñключений и Ñинхронизации Objective-C"
++
++#: c.opt:666
++msgid "Enable garbage collection (GC) in Objective-C/Objective-C++ programs"
++msgstr "Включить Ñборку муÑора (GC) в программах на Objective-C/Objective-C++"
++
++#: c.opt:671
++msgid "Enable Objective-C setjmp exception handling runtime"
++msgstr "Подключить поддержку времени Ð²Ñ‹Ð¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ñ Ð´Ð»Ñ Ð¾Ð±Ñ€Ð°Ð±Ð¾Ñ‚ÐºÐ¸ иÑключений Objective-C setjmp"
++
++#: c.opt:675
++#, fuzzy
++msgid "Enable OpenMP"
++msgstr "Включить режим отладки"
++
++#: c.opt:679
++msgid "Recognize C++ kewords like \"compl\" and \"xor\""
++msgstr "РаÑпознавать ключевые Ñлова C++, такие как \"compl\" и \"xor\""
++
++#: c.opt:683
++msgid "Enable optional diagnostics"
++msgstr "Включить дополнительную диагноÑтику"
++
++#: c.opt:690
++msgid "Look for and use PCH files even when preprocessing"
++msgstr "ИÑпользовать и иÑкать файлы PCH дажо во Ð²Ñ€ÐµÐ¼Ñ Ð¿Ñ€ÐµÐ¿Ñ€Ð¾Ñ†ÐµÑÑированиÑ"
++
++#: c.opt:694
++msgid "Downgrade conformance errors to warnings"
++msgstr "Ошибки ÑоответÑÑ‚Ð²Ð¸Ñ Ñ‚Ñ€Ð°ÐºÑ‚Ð¾Ð²Ð°Ñ‚ÑŒ как предупреждениÑ"
++
++#: c.opt:698
++msgid "Treat the input file as already preprocessed"
++msgstr "Считать, что входной файл уже препроцеÑÑирован"
++
++#: c.opt:702
++msgid "Used in Fix-and-Continue mode to indicate that object files may be swapped in at runtime"
++msgstr "ИÑпользуетÑÑ Ð² режиме Fix-and-Continue Ð´Ð»Ñ ÑƒÐºÐ°Ð·Ð°Ð½Ð¸Ñ Ð¾ том, что возможна подкачка объектных файлов во Ð²Ñ€ÐµÐ¼Ñ Ð²Ñ‹Ð¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ñ"
++
++#: c.opt:706
++msgid "Enable automatic template instantiation"
++msgstr "Включить автоматичеÑкую конкретизацию шаблонов"
++
++#: c.opt:710
++msgid "Generate run time type descriptor information"
++msgstr "Генерировать информацию о типах, доÑтупную во Ð²Ñ€ÐµÐ¼Ñ Ð²Ñ‹Ð¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ñ"
++
++#: c.opt:714
++msgid "Use the same size for double as for float"
++msgstr "ИÑпользовать Ð´Ð»Ñ double размер float"
++
++#: c.opt:722
++msgid "Force the underlying type for \"wchar_t\" to be \"unsigned short\""
++msgstr "УÑтановить Ð´Ð»Ñ \"wchar_t\" тип \"unsigned short\""
++
++#: c.opt:726
++msgid "When \"signed\" or \"unsigned\" is not given make the bitfield signed"
++msgstr "По умолчанию Ñчитать битовые Ð¿Ð¾Ð»Ñ Ð·Ð½Ð°ÐºÐ¾Ð²Ñ‹Ð¼Ð¸"
++
++#: c.opt:730
++msgid "Make \"char\" signed by default"
++msgstr "По умолчанию Ñчитать тип \"char\" знаковым"
++
++#: c.opt:737
++msgid "Display statistics accumulated during compilation"
++msgstr "Показать ÑтатиÑтику компилÑции"
++
++#: c.opt:744
++msgid "Distance between tab stops for column reporting"
++msgstr "Интервал табулÑции при выдаче Ñообщений по Ñтолбцам"
++
++#: c.opt:748
++msgid "Specify maximum template instantiation depth"
++msgstr "Глубина конкретизации шаблонов"
++
++#: c.opt:755
++msgid "Do not generate thread-safe code for initializing local statics"
++msgstr "Ðе генерировать поточно-ориентированный код Ð´Ð»Ñ Ð¸Ð½Ð¸Ñ†Ð¸Ð°Ð»Ð¸Ð·Ð°Ñ†Ð¸Ð¸ локальных ÑтатичеÑких переменных"
++
++#: c.opt:759
++msgid "When \"signed\" or \"unsigned\" is not given make the bitfield unsigned"
++msgstr "По умолчанию Ñчитать битовые Ð¿Ð¾Ð»Ñ Ð±ÐµÐ·Ð·Ð½Ð°ÐºÐ¾Ð²Ñ‹Ð¼Ð¸"
++
++#: c.opt:763
++msgid "Make \"char\" unsigned by default"
++msgstr "По умолчанию Ñчитать тип char беззнаковым"
++
++#: c.opt:767
++msgid "Use __cxa_atexit to register destructors"
++msgstr "ИÑпользовать __cxa_atexit Ð´Ð»Ñ Ñ€ÐµÐ³Ð¸Ñтрации деÑтрукторов"
++
++#: c.opt:771
++msgid "Use __cxa_get_exception_ptr in exception handling"
++msgstr ""
++
++#: c.opt:775
++msgid "Marks all inlined methods as having hidden visibility"
++msgstr "Отметить облаÑÑ‚ÑŒ видимоÑти вÑех вÑтроенныех методов как Ñкрытую"
++
++#: c.opt:779
++msgid "Changes visibility to match Microsoft Visual Studio by default"
++msgstr ""
++
++#: c.opt:783
++msgid "Discard unused virtual functions"
++msgstr "Удалить неиÑпользуемые виртуальные функции"
++
++#: c.opt:787
++msgid "Implement vtables using thunks"
++msgstr "Реализовать таблицы виртуальных функций на оÑнове thunks"
++
++#: c.opt:791
++msgid "Emit common-like symbols as weak symbols"
++msgstr "common-Ñимволы Ñчитать Ñлабыми (weak)"
++
++#: c.opt:795
++msgid "Convert all wide strings and character constants to character set <cset>"
++msgstr "Широкие Ñимволы и Ñтроки широких Ñимволов конвертировать в заданную <кодировку>"
++
++#: c.opt:799
++msgid "Generate a #line directive pointing at the current working directory"
++msgstr "Генерировать директиву #Ñтрока, указывающую на текущий рабочий каталог"
++
++#: c.opt:803
++msgid "Emit cross referencing information"
++msgstr "Выдать информацию о перекреÑтных ÑÑылках"
++
++#: c.opt:807
++msgid "Generate lazy class lookup (via objc_getClass()) for use in Zero-Link mode"
++msgstr "Генерировать ленивый поиÑк клаÑÑов (при помощи objc_getClass()) Ð´Ð»Ñ Ð¸ÑÐ¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ð½Ð¸Ñ Ð² режиме Zero-Link"
++
++#: c.opt:811
++msgid "Dump declarations to a .decl file"
++msgstr "ВывеÑти декларации в файл .decl"
++
++#: c.opt:815
++msgid "Aggressive reduced debug info for structs"
++msgstr ""
++
++#: c.opt:819
++msgid "Conservative reduced debug info for structs"
++msgstr ""
++
++#: c.opt:823
++msgid "Detailed reduced debug info for structs"
++msgstr ""
++
++#: c.opt:827 c.opt:859
++msgid "Add <dir> to the end of the system include path"
++msgstr "Добавить <каталог> в конец пути поиÑка ÑиÑтемных заголовков"
++
++#: c.opt:831
++msgid "Accept definition of macros in <file>"
++msgstr "ИÑпользовать Ð¼Ð°ÐºÑ€Ð¾Ð¾Ð¿Ñ€ÐµÐ´ÐµÐ»ÐµÐ½Ð¸Ñ Ð¸Ð· <файла>"
++
++#: c.opt:835
++msgid "-imultilib <dir> Set <dir> to be the multilib include subdirectory"
++msgstr ""
++
++#: c.opt:839
++msgid "Include the contents of <file> before other files"
++msgstr "Включить Ñодержимое <файла> перед компилÑцией других файлов"
++
++#: c.opt:843
++msgid "Specify <path> as a prefix for next two options"
++msgstr "Ðльтернативное Ð¸Ð¼Ñ Ð´Ð»Ñ Ñекции кода"
++
++#: c.opt:847
++msgid "Set <dir> to be the system root directory"
++msgstr "Считать <каталог> корневым каталогом ÑиÑтемы"
++
++#: c.opt:851
++msgid "Add <dir> to the start of the system include path"
++msgstr "Добавить <каталог> в начало пути поиÑка ÑиÑтемных заголовков"
++
++#: c.opt:855
++msgid "Add <dir> to the end of the quote include path"
++msgstr "Добавить <каталог> в конец пути поиÑка ÑиÑтемных заголовков"
++
++#: c.opt:876
++msgid "Do not search standard system include directories (those specified with -isystem will still be used)"
++msgstr "Ðе иÑкать ÑиÑтемные заголовки в Ñтандартных каталогах поиÑка (но иÑкать в каталогах, заданных при помощи -isystem)"
++
++#: c.opt:880
++msgid "Do not search standard system include directories for C++"
++msgstr "Ðе иÑкать ÑиÑтемные заголовки C++ в Ñтандартных каталогах"
++
++#: c.opt:896
++msgid "Generate C header of platform-specific features"
++msgstr "Сгенерировать C-заголовок опиÑаний, ÑпецифичеÑких Ð´Ð»Ñ Ñ†ÐµÐ»ÐµÐ²Ð¾Ð¹ платформы"
++
++#: c.opt:900
++msgid "Print a checksum of the executable for PCH validity checking, and stop"
++msgstr "ВывеÑти только контрольную Ñумму иÑполнÑемого файла Ð´Ð»Ñ Ð¿Ñ€Ð¾Ð²ÐµÑ€ÐºÐ¸ корректноÑти PCH и оÑтановитьÑÑ"
++
++#: c.opt:904
++msgid "Remap file names when including files"
++msgstr "Преобразовывать имена файлов при включении"
++
++#: c.opt:908
++msgid "Conform to the ISO 1998 C++ standard"
++msgstr "Компилировать в ÑоответÑтвии Ñ ISO 1998 C++"
++
++#: c.opt:912
++#, fuzzy
++msgid "Conform to the ISO 1998 C++ standard, with extensions that are likely to"
++msgstr "Компилировать в ÑоответÑтвии Ñ ISO 1998 C++ Ñ Ñ€Ð°ÑширениÑми GNU"
++
++#: c.opt:919 c.opt:954
++msgid "Conform to the ISO 1990 C standard"
++msgstr "Компилировать в ÑоответÑтвии Ñ ISO 1990 C"
++
++#: c.opt:923 c.opt:962
++msgid "Conform to the ISO 1999 C standard"
++msgstr "Компилировать в ÑоответÑтвии Ñ ISO 1999 C"
++
++#: c.opt:927
++msgid "Deprecated in favor of -std=c99"
++msgstr "Ðе рекомендуетÑÑ; иÑпользуйте -std=c99"
++
++#: c.opt:931
++msgid "Conform to the ISO 1998 C++ standard with GNU extensions"
++msgstr "Компилировать в ÑоответÑтвии Ñ ISO 1998 C++ Ñ Ñ€Ð°ÑширениÑми GNU"
++
++#: c.opt:935
++#, fuzzy
++msgid "Conform to the ISO 1998 C++ standard, with GNU extensions and"
++msgstr "Компилировать в ÑоответÑтвии Ñ ISO 1998 C++ Ñ Ñ€Ð°ÑширениÑми GNU"
++
++#: c.opt:942
++msgid "Conform to the ISO 1990 C standard with GNU extensions"
++msgstr "Компилировать в ÑоответÑтвии Ñ ISO 1990 C Ñ Ñ€Ð°ÑширениÑми GNU"
++
++#: c.opt:946
++msgid "Conform to the ISO 1999 C standard with GNU extensions"
++msgstr "Компилировать в ÑоответÑтвии Ñ ISO 1999 C Ñ Ñ€Ð°ÑширениÑми GNU"
++
++#: c.opt:950
++msgid "Deprecated in favor of -std=gnu99"
++msgstr "УÑтаревший ключ, теперь Ñледует иÑпользовать -std=gnu99"
++
++#: c.opt:958
++msgid "Conform to the ISO 1990 C standard as amended in 1994"
++msgstr "Компилировать в ÑоответÑтвии Ñ ISO 1990 C Ñ Ð´Ð¾Ð¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ñми от 1994"
++
++#: c.opt:966
++msgid "Deprecated in favor of -std=iso9899:1999"
++msgstr "УÑтаревший ключ; иÑпользуйте -std=iso9899:1999"
++
++#: c.opt:970
++msgid "Enable traditional preprocessing"
++msgstr "Традиционное препроцеÑÑирование"
++
++#: c.opt:974
++msgid "Support ISO C trigraphs"
++msgstr "Поддержка триграфов, предуÑмотренных ISO C"
++
++#: c.opt:978
++msgid "Do not predefine system-specific and GCC-specific macros"
++msgstr "Ðе предопределÑÑ‚ÑŒ ÑиÑтемные макроÑÑ‹ и макроÑÑ‹ GCC"
++
++#: c.opt:982
++msgid "Enable verbose output"
++msgstr "Включить подробную выдачу"
++
++#: ada/lang.opt:96
++msgid "Specify options to GNAT"
++msgstr "Задать ключи GNAT"
++
+ #: attribs.c:244
+ #, gcc-internal-format
+ msgid "%qs attribute directive ignored"
+@@ -16733,47 +16701,47 @@
+ msgid "offset outside bounds of constant string"
+ msgstr "отÑтуп за пределами конÑтантной Ñтроки"
+
+-#: builtins.c:1001
++#: builtins.c:1015
+ #, gcc-internal-format
+ msgid "second argument to %<__builtin_prefetch%> must be a constant"
+ msgstr "второй аргумент %<__builtin_prefetch%> должен быть конÑтантой"
+
+-#: builtins.c:1008
++#: builtins.c:1022
+ #, gcc-internal-format
+ msgid "invalid second argument to %<__builtin_prefetch%>; using zero"
+ msgstr "вмеÑто неверного второго аргумента %<__builtin_prefetch%> иÑпользуетÑÑ Ð½Ð¾Ð»ÑŒ"
+
+-#: builtins.c:1016
++#: builtins.c:1030
+ #, gcc-internal-format
+ msgid "third argument to %<__builtin_prefetch%> must be a constant"
+ msgstr "третий аргумент %<__builtin_prefetch%> должен быть конÑтантой"
+
+-#: builtins.c:1023
++#: builtins.c:1037
+ #, gcc-internal-format
+ msgid "invalid third argument to %<__builtin_prefetch%>; using zero"
+ msgstr "вмеÑто неверного третьего аргумента `__builtin_prefetch' иÑпользуетÑÑ Ð½Ð¾Ð»ÑŒ"
+
+-#: builtins.c:4592
++#: builtins.c:4608
+ #, gcc-internal-format
+ msgid "argument of %<__builtin_args_info%> must be constant"
+ msgstr "аргумент %<__builtin_args_info%> должен быть конÑтантой"
+
+-#: builtins.c:4598
++#: builtins.c:4614
+ #, gcc-internal-format
+ msgid "argument of %<__builtin_args_info%> out of range"
+ msgstr "аргумент %<__builtin_args_info%> вне допуÑтимого диапазона"
+
+-#: builtins.c:4604
++#: builtins.c:4620
+ #, gcc-internal-format
+ msgid "missing argument in %<__builtin_args_info%>"
+ msgstr "отÑутÑтвует аргумент Ð´Ð»Ñ %<__builtin_args_info%>"
+
+-#: builtins.c:4693 gimplify.c:2117
++#: builtins.c:4709 gimplify.c:2118
+ #, gcc-internal-format
+ msgid "too few arguments to function %<va_start%>"
+ msgstr "Ñлишком мало аргументов в вызове функции %<va_start%>"
+
+-#: builtins.c:4857
++#: builtins.c:4872
+ #, gcc-internal-format
+ msgid "first argument to %<va_arg%> not of type %<va_list%>"
+ msgstr "первый аргумент %<va_start%> должен иметь тип %<va_list%>"
+@@ -16781,95 +16749,105 @@
+ #. Unfortunately, this is merely undefined, rather than a constraint
+ #. violation, so we cannot make this an error. If this call is never
+ #. executed, the program is still strictly conforming.
+-#: builtins.c:4871
++#: builtins.c:4886
+ #, gcc-internal-format
+ msgid "%qT is promoted to %qT when passed through %<...%>"
+ msgstr "%qT преобразован к %qT при передаче через %<...%>"
+
+-#: builtins.c:4876
++#: builtins.c:4891
+ #, gcc-internal-format
+ msgid "(so you should pass %qT not %qT to %<va_arg%>)"
+ msgstr "(поÑтому %<va_arg%> нужно передать %qT, а не %qT)"
+
+ #. We can, however, treat "undefined" any way we please.
+ #. Call abort to encourage the user to fix the program.
+-#: builtins.c:4882 c-typeck.c:2408
++#: builtins.c:4897 c-typeck.c:2419
+ #, gcc-internal-format
+ msgid "if this code is reached, the program will abort"
+ msgstr "при доÑтижении Ñтого кода выполнение программы завершитÑÑ Ð°Ð²Ð°Ñ€Ð¸Ð¹Ð½Ð¾"
+
+-#: builtins.c:5000
++#: builtins.c:5015
+ #, gcc-internal-format
+ msgid "invalid argument to %<__builtin_frame_address%>"
+ msgstr "неверный аргумент Ð´Ð»Ñ %<__builtin_frame_address%>"
+
+-#: builtins.c:5002
++#: builtins.c:5017
+ #, gcc-internal-format
+ msgid "invalid argument to %<__builtin_return_address%>"
+ msgstr "неверный аргумент Ð´Ð»Ñ %<__builtin_return_address%>"
+
+-#: builtins.c:5015
++#: builtins.c:5030
+ #, gcc-internal-format
+ msgid "unsupported argument to %<__builtin_frame_address%>"
+ msgstr "неподдерживаемый аргумент Ð´Ð»Ñ %<__builtin_frame_address%>"
+
+-#: builtins.c:5017
++#: builtins.c:5032
+ #, gcc-internal-format
+ msgid "unsupported argument to %<__builtin_return_address%>"
+ msgstr "неподдерживаемый аргумент Ð´Ð»Ñ %<__builtin_return_address%>"
+
+-#: builtins.c:5564
++#: builtins.c:5579
+ #, fuzzy, gcc-internal-format
+ msgid "both arguments to %<__builtin___clear_cache%> must be pointers"
+ msgstr "третий аргумент %<__builtin_prefetch%> должен быть конÑтантой"
+
+ #. All valid uses of __builtin_va_arg_pack () are removed during
+ #. inlining.
+-#: builtins.c:6276 expr.c:8024
++#: builtins.c:6291 expr.c:8023
+ #, fuzzy
+ msgid "%Kinvalid use of %<__builtin_va_arg_pack ()%>"
+ msgstr "неверный аргумент Ð´Ð»Ñ %<__builtin_frame_address%>"
+
+ #. All valid uses of __builtin_va_arg_pack_len () are removed during
+ #. inlining.
+-#: builtins.c:6282
++#: builtins.c:6297
+ #, fuzzy
+ msgid "%Kinvalid use of %<__builtin_va_arg_pack_len ()%>"
+ msgstr "неверный аргумент Ð´Ð»Ñ %<__builtin_frame_address%>"
+
+-#: builtins.c:6578
++#: builtins.c:6593
+ #, gcc-internal-format
+ msgid "%<__builtin_longjmp%> second argument must be 1"
+ msgstr "второй аргумент %<__builtin_longjmp%> должен быть 1"
+
+-#: builtins.c:7209
++#: builtins.c:7224
+ #, gcc-internal-format
+ msgid "target format does not support infinity"
+ msgstr "целевой формат не поддерживает беÑконечные значениÑ"
+
+-#: builtins.c:9623 builtins.c:9712
++#: builtins.c:9638 builtins.c:9727 builtins.c:10082
+ #, gcc-internal-format
+ msgid "non-floating-point argument to function %qs"
+ msgstr "не плавающий аргумент в вызове функции %qs"
+
+-#: builtins.c:11303
++#: builtins.c:10446 builtins.c:10466
++#, fuzzy, gcc-internal-format
++msgid "too few arguments to function %qs"
++msgstr "Ñлишком мало аргументов в вызове функции %qE"
++
++#: builtins.c:10452 builtins.c:10472
++#, fuzzy, gcc-internal-format
++msgid "too many arguments to function %qs"
++msgstr "Ñлишком много аргументов в вызове функции %qE"
++
++#: builtins.c:11377
+ #, gcc-internal-format
+ msgid "%<va_start%> used in function with fixed args"
+ msgstr "%<va_start%> в функции Ñ Ñ„Ð¸ÐºÑированным чиÑлом аргументов"
+
+-#: builtins.c:11311
++#: builtins.c:11385
+ #, fuzzy, gcc-internal-format
+ msgid "wrong number of arguments to function %<va_start%>"
+ msgstr "Ñлишком мало аргументов в вызове функции %<va_start%>"
+
+ #. Evidently an out of date version of <stdarg.h>; can't validate
+ #. va_start's second argument, but can still work as intended.
+-#: builtins.c:11324
++#: builtins.c:11398
+ #, gcc-internal-format
+ msgid "%<__builtin_next_arg%> called without an argument"
+ msgstr "вызов %<__builtin_next_arg%> без аргумента"
+
+-#: builtins.c:11329
++#: builtins.c:11403
+ #, fuzzy, gcc-internal-format
+ msgid "wrong number of arguments to function %<__builtin_next_arg%>"
+ msgstr "Ñлишком мало аргументов в вызове функции %<va_start%>"
+@@ -16879,27 +16857,27 @@
+ #. argument. We just warn and set the arg to be the last
+ #. argument so that we will get wrong-code because of
+ #. it.
+-#: builtins.c:11358
++#: builtins.c:11432
+ #, gcc-internal-format
+ msgid "second parameter of %<va_start%> not last named argument"
+ msgstr "второй аргумент %<va_start%> не ÑвлÑетÑÑ Ð¿Ð¾Ñледним Ñвным аргументом"
+
+-#: builtins.c:11472
++#: builtins.c:11546
+ #, fuzzy
+ msgid "%Kfirst argument of %D must be a pointer, second integer constant"
+ msgstr "%Hпервый аргумент %D должен быть указателем, второй - целой конÑтантой"
+
+-#: builtins.c:11485
++#: builtins.c:11559
+ #, fuzzy
+ msgid "%Klast argument of %D is not integer constant between 0 and 3"
+ msgstr "%HпоÑледний аргумент %D не ÑвлÑетÑÑ Ñ†ÐµÐ»Ð¾Ð¹ конÑтантой от 0 до 3"
+
+-#: builtins.c:11529 builtins.c:11693 builtins.c:11752
++#: builtins.c:11603 builtins.c:11767 builtins.c:11826
+ #, fuzzy
+ msgid "%Kcall to %D will always overflow destination buffer"
+ msgstr "%Hвызов %D вÑегда переполнÑет целевой буфер"
+
+-#: builtins.c:11683
++#: builtins.c:11757
+ #, fuzzy
+ msgid "%Kcall to %D might overflow destination buffer"
+ msgstr "%Hвызов %D вÑегда переполнÑет целевой буфер"
+@@ -17023,440 +17001,440 @@
+ msgid "conversion to %qT alters %qT constant value"
+ msgstr "преобразование из %qT в %qT неоднозначно"
+
+-#: c-common.c:1296
++#: c-common.c:1299
+ #, fuzzy, gcc-internal-format
+ msgid "conversion to %qT from %qT may change the sign of the result"
+ msgstr "преобразование %qE из %qT в %qT неоднозначно"
+
+-#: c-common.c:1325
++#: c-common.c:1328
+ #, fuzzy, gcc-internal-format
+ msgid "conversion to %qT from %qT may alter its value"
+ msgstr "преобразование %qE из %qT в %qT неоднозначно"
+
+-#: c-common.c:1353
++#: c-common.c:1356
+ #, gcc-internal-format
+ msgid "large integer implicitly truncated to unsigned type"
+ msgstr "неÑвное приведение большого целого Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ñ Ðº беззнаковому типу"
+
+-#: c-common.c:1359 c-common.c:1366 c-common.c:1374
++#: c-common.c:1362 c-common.c:1369 c-common.c:1377
+ #, gcc-internal-format
+ msgid "overflow in implicit constant conversion"
+ msgstr "переполнение при неÑвном преобразовании конÑтанты"
+
+-#: c-common.c:1528
++#: c-common.c:1531
+ #, gcc-internal-format
+ msgid "operation on %qE may be undefined"
+ msgstr "Ð¾Ð¿ÐµÑ€Ð°Ñ†Ð¸Ñ Ð½Ð°Ð´ %qE может дать неопределенный результат"
+
+-#: c-common.c:1821
++#: c-common.c:1824
+ #, gcc-internal-format
+ msgid "case label does not reduce to an integer constant"
+ msgstr "значение case-метки неприводимо к целочиÑленной конÑтанте"
+
+-#: c-common.c:1861
++#: c-common.c:1864
+ #, gcc-internal-format
+ msgid "case label value is less than minimum value for type"
+ msgstr "значение case-метки меньше чем минимальное значение данного типа"
+
+-#: c-common.c:1869
++#: c-common.c:1872
+ #, gcc-internal-format
+ msgid "case label value exceeds maximum value for type"
+ msgstr "значение Ñ Ð±Ð¾Ð»ÑŒÑˆÐµ чем макÑимальное значение данного типа"
+
+-#: c-common.c:1877
++#: c-common.c:1880
+ #, gcc-internal-format
+ msgid "lower value in case label range less than minimum value for type"
+ msgstr "нижнÑÑ Ð³Ñ€Ð°Ð½Ð¸Ñ†Ð° диапазона case-метки меньше чем минимальное значение данного типа"
+
+-#: c-common.c:1886
++#: c-common.c:1889
+ #, gcc-internal-format
+ msgid "upper value in case label range exceeds maximum value for type"
+ msgstr "верхнÑÑ Ð³Ñ€Ð°Ð½Ð¸Ñ†Ð° диапазона case-метки больше чем макÑимальное значение данного типа"
+
+-#: c-common.c:1960
++#: c-common.c:1963
+ #, gcc-internal-format
+ msgid "GCC cannot support operators with integer types and fixed-point types that have too many integral and fractional bits together"
+ msgstr ""
+
+-#: c-common.c:2450
++#: c-common.c:2453
+ #, fuzzy, gcc-internal-format
+ msgid "invalid operands to binary %s (have %qT and %qT)"
+ msgstr "неверные операнды бинарной операции %s"
+
+-#: c-common.c:2686
++#: c-common.c:2689
+ #, gcc-internal-format
+ msgid "comparison is always false due to limited range of data type"
+ msgstr "из-за ограниченноÑти диапазона типа данных, результат ÑÑ€Ð°Ð²Ð½ÐµÐ½Ð¸Ñ Ð²Ñегда ложь"
+
+-#: c-common.c:2688
++#: c-common.c:2691
+ #, gcc-internal-format
+ msgid "comparison is always true due to limited range of data type"
+ msgstr "из-за ограниченноÑти диапазона типа данных, результат ÑÑ€Ð°Ð²Ð½ÐµÐ½Ð¸Ñ Ð²Ñегда иÑтина"
+
+-#: c-common.c:2767
++#: c-common.c:2770
+ #, gcc-internal-format
+ msgid "comparison of unsigned expression >= 0 is always true"
+ msgstr "результат ÑÑ€Ð°Ð²Ð½ÐµÐ½Ð¸Ñ `беззнаковое выражение >=0' вÑегда иÑтина"
+
+-#: c-common.c:2777
++#: c-common.c:2780
+ #, gcc-internal-format
+ msgid "comparison of unsigned expression < 0 is always false"
+ msgstr "результат ÑÑ€Ð°Ð²Ð½ÐµÐ½Ð¸Ñ `беззнаковое выражение < 0' вÑегда ложь"
+
+-#: c-common.c:2818
++#: c-common.c:2821
+ #, gcc-internal-format
+ msgid "pointer of type %<void *%> used in arithmetic"
+ msgstr "в арифметичеÑком выражении иÑпользован указатель %<VOID *%>"
+
+-#: c-common.c:2824
++#: c-common.c:2827
+ #, gcc-internal-format
+ msgid "pointer to a function used in arithmetic"
+ msgstr "в арифметичеÑком выражении иÑпользован указатель на функцию"
+
+-#: c-common.c:2830
++#: c-common.c:2833
+ #, gcc-internal-format
+ msgid "pointer to member function used in arithmetic"
+ msgstr "в арифметичеÑком выражении иÑпользован указатель на Ñлемент-функцию"
+
+-#: c-common.c:2982
++#: c-common.c:2985
+ #, fuzzy, gcc-internal-format
+ msgid "the address of %qD will always evaluate as %<true%>"
+ msgstr "Ð°Ð´Ñ€ÐµÑ %qD вÑегда будет %<иÑтина%>"
+
+-#: c-common.c:3051 cp/semantics.c:596 cp/typeck.c:6411
++#: c-common.c:3054 cp/semantics.c:597 cp/typeck.c:6438
+ #, gcc-internal-format
+ msgid "suggest parentheses around assignment used as truth value"
+ msgstr "приÑваивание, иÑпользуемое как логичеÑкое выражение, рекомендуетÑÑ "
+
+-#: c-common.c:3123 c-typeck.c:8958
++#: c-common.c:3126 c-typeck.c:8969
+ #, gcc-internal-format
+ msgid "invalid use of %<restrict%>"
+ msgstr "неверное употребление Ñпецификатора %<restrict%>"
+
+-#: c-common.c:3339
++#: c-common.c:3346
+ #, gcc-internal-format
+ msgid "invalid application of %<sizeof%> to a function type"
+ msgstr "недопуÑтимое применение %<sizeof%> к типу функции"
+
+-#: c-common.c:3349
++#: c-common.c:3356
+ #, gcc-internal-format
+ msgid "invalid application of %qs to a void type"
+ msgstr "недопуÑтимое применение %qs к типу void"
+
+-#: c-common.c:3355
++#: c-common.c:3362
+ #, gcc-internal-format
+ msgid "invalid application of %qs to incomplete type %qT "
+ msgstr "некорректное применение %qs к неполному типу %qT "
+
+-#: c-common.c:3396
++#: c-common.c:3403
+ #, gcc-internal-format
+ msgid "%<__alignof%> applied to a bit-field"
+ msgstr "%<__alignof%> применено к битовому полю"
+
+-#: c-common.c:3969
++#: c-common.c:3976
+ #, gcc-internal-format
+ msgid "cannot disable built-in function %qs"
+ msgstr "невозможно отменить внутреннюю функцию %s"
+
+-#: c-common.c:4172
++#: c-common.c:4179
+ #, gcc-internal-format
+ msgid "pointers are not permitted as case values"
+ msgstr "в конÑтрукции case Ð½ÐµÐ»ÑŒÐ·Ñ ÑƒÐ¿Ð¾Ñ‚Ñ€ÐµÐ±Ð»ÑÑ‚ÑŒ указатели"
+
+-#: c-common.c:4178
++#: c-common.c:4185
+ #, gcc-internal-format
+ msgid "range expressions in switch statements are non-standard"
+ msgstr "диапазоны в операторе switch не поддерживаютÑÑ ISO C"
+
+-#: c-common.c:4204
++#: c-common.c:4211
+ #, gcc-internal-format
+ msgid "empty range specified"
+ msgstr "пуÑтой диапазон"
+
+-#: c-common.c:4264
++#: c-common.c:4271
+ #, gcc-internal-format
+ msgid "duplicate (or overlapping) case value"
+ msgstr "повтор (или перекрытие) case-значений"
+
+-#: c-common.c:4265
++#: c-common.c:4272
+ #, gcc-internal-format
+ msgid "%Jthis is the first entry overlapping that value"
+ msgstr "%JÑто первое case-значение, Ñ ÐºÐ¾Ñ‚Ð¾Ñ€Ñ‹Ð¼ перекрываетÑÑ Ð´Ð°Ð½Ð½Ð¾Ðµ значение"
+
+-#: c-common.c:4269
++#: c-common.c:4276
+ #, gcc-internal-format
+ msgid "duplicate case value"
+ msgstr "повтор case-значениÑ,"
+
+-#: c-common.c:4270
++#: c-common.c:4277
+ #, gcc-internal-format
+ msgid "%Jpreviously used here"
+ msgstr "%Jкоторое ранее иÑпользовано здеÑÑŒ"
+
+-#: c-common.c:4274
++#: c-common.c:4281
+ #, gcc-internal-format
+ msgid "multiple default labels in one switch"
+ msgstr "неÑколько меток default в операторе switch"
+
+-#: c-common.c:4275
++#: c-common.c:4282
+ #, gcc-internal-format
+ msgid "%Jthis is the first default label"
+ msgstr "%JÑто Ð¿ÐµÑ€Ð²Ð°Ñ Ð¼ÐµÑ‚ÐºÐ° default"
+
+-#: c-common.c:4324
++#: c-common.c:4331
+ #, gcc-internal-format
+ msgid "%Jcase value %qs not in enumerated type"
+ msgstr "%Jcase-значение %qs не принадлежит к перечиÑлимому типу"
+
+-#: c-common.c:4327
++#: c-common.c:4334
+ #, gcc-internal-format
+ msgid "%Jcase value %qs not in enumerated type %qT"
+ msgstr "%Jcase-значение %qs не принадлежит к перечиÑлимому типу %qT"
+
+-#: c-common.c:4385
++#: c-common.c:4392
+ #, gcc-internal-format
+ msgid "%Hswitch missing default case"
+ msgstr "%Hоператор switch без метки default"
+
+-#: c-common.c:4448
++#: c-common.c:4455
+ #, gcc-internal-format
+ msgid "%Henumeration value %qE not handled in switch"
+ msgstr "%Hв переключателе пропущено значение %qE перечиÑлимого типа"
+
+-#: c-common.c:4472
++#: c-common.c:4479
+ #, gcc-internal-format
+ msgid "taking the address of a label is non-standard"
+ msgstr "взÑтие адреÑа метки не поддерживаетÑÑ ISO C/C++"
+
+-#: c-common.c:4622
++#: c-common.c:4629
+ #, gcc-internal-format
+ msgid "%qE attribute ignored for field of type %qT"
+ msgstr "атрибут %qE Ð´Ð»Ñ Ð¿Ð¾Ð»Ñ Ñ‚Ð¸Ð¿Ð° %qT проигнорирован"
+
+-#: c-common.c:4633 c-common.c:4652 c-common.c:4670 c-common.c:4697
+-#: c-common.c:4724 c-common.c:4750 c-common.c:4769 c-common.c:4793
+-#: c-common.c:4816 c-common.c:4839 c-common.c:4860 c-common.c:4881
+-#: c-common.c:4905 c-common.c:4931 c-common.c:4968 c-common.c:4995
+-#: c-common.c:5046 c-common.c:5130 c-common.c:5160 c-common.c:5179
+-#: c-common.c:5499 c-common.c:5559 c-common.c:5580 c-common.c:5644
+-#: c-common.c:5762 c-common.c:5828 c-common.c:5877 c-common.c:5923
+-#: c-common.c:5993 c-common.c:6017 c-common.c:6301 c-common.c:6324
++#: c-common.c:4640 c-common.c:4659 c-common.c:4677 c-common.c:4704
++#: c-common.c:4731 c-common.c:4757 c-common.c:4776 c-common.c:4800
++#: c-common.c:4823 c-common.c:4846 c-common.c:4867 c-common.c:4888
++#: c-common.c:4912 c-common.c:4938 c-common.c:4975 c-common.c:5002
++#: c-common.c:5045 c-common.c:5129 c-common.c:5159 c-common.c:5178
++#: c-common.c:5498 c-common.c:5558 c-common.c:5579 c-common.c:5643
++#: c-common.c:5761 c-common.c:5827 c-common.c:5876 c-common.c:5922
++#: c-common.c:5992 c-common.c:6016 c-common.c:6301 c-common.c:6324
+ #: c-common.c:6363
+ #, gcc-internal-format
+ msgid "%qE attribute ignored"
+ msgstr "атрибут %qE проигнорирован"
+
+-#: c-common.c:4715 c-common.c:4741
++#: c-common.c:4722 c-common.c:4748
+ #, fuzzy, gcc-internal-format
+ msgid "%qE attribute conflicts with attribute %s"
+ msgstr "атрибут %qs допуÑтим только Ð´Ð»Ñ Ð¿ÐµÑ€ÐµÐ¼ÐµÐ½Ð½Ñ‹Ñ…"
+
+-#: c-common.c:4962
++#: c-common.c:4969
+ #, gcc-internal-format
+ msgid "%qE attribute have effect only on public objects"
+ msgstr "%qE атрибут дейÑтвует только в public-объектах"
+
+-#: c-common.c:5067
++#: c-common.c:5066
+ #, fuzzy, gcc-internal-format
+ msgid "destructor priorities are not supported"
+ msgstr "\"трамплины\" не поддерживаютÑÑ"
+
+-#: c-common.c:5069
++#: c-common.c:5068
+ #, fuzzy, gcc-internal-format
+ msgid "constructor priorities are not supported"
+ msgstr "\"трамплины\" не поддерживаютÑÑ"
+
+-#: c-common.c:5086
++#: c-common.c:5085
+ #, gcc-internal-format
+ msgid "destructor priorities from 0 to %d are reserved for the implementation"
+ msgstr ""
+
+-#: c-common.c:5091
++#: c-common.c:5090
+ #, gcc-internal-format
+ msgid "constructor priorities from 0 to %d are reserved for the implementation"
+ msgstr ""
+
+-#: c-common.c:5099
++#: c-common.c:5098
+ #, gcc-internal-format
+ msgid "destructor priorities must be integers from 0 to %d inclusive"
+ msgstr ""
+
+-#: c-common.c:5102
++#: c-common.c:5101
+ #, gcc-internal-format
+ msgid "constructor priorities must be integers from 0 to %d inclusive"
+ msgstr ""
+
+-#: c-common.c:5221
++#: c-common.c:5220
+ #, gcc-internal-format
+ msgid "unknown machine mode %qs"
+ msgstr "неизвеÑÑ‚Ð½Ð°Ñ Ð¼Ð°ÑˆÐ¸Ð½Ð½Ð°Ñ Ð¼Ð¾Ð´Ð° %qs"
+
+-#: c-common.c:5250
++#: c-common.c:5249
+ #, gcc-internal-format
+ msgid "specifying vector types with __attribute__ ((mode)) is deprecated"
+ msgstr "задание векторного типа Ñ __attribute__ ((mode)) не будет поддерживатьÑÑ Ð² будущих верÑиÑÑ…"
+
+-#: c-common.c:5253
++#: c-common.c:5252
+ #, gcc-internal-format
+ msgid "use __attribute__ ((vector_size)) instead"
+ msgstr "иÑпользуйте вмеÑто него __attribute__ ((vector_size))"
+
+-#: c-common.c:5262
++#: c-common.c:5261
+ #, gcc-internal-format
+ msgid "unable to emulate %qs"
+ msgstr "ÑмулÑÑ†Ð¸Ñ %qs невозможна"
+
+-#: c-common.c:5272
++#: c-common.c:5271
+ #, gcc-internal-format
+ msgid "invalid pointer mode %qs"
+ msgstr "неизвеÑÑ‚Ð½Ð°Ñ Ð¼Ð°ÑˆÐ¸Ð½Ð½Ð°Ñ Ð¼Ð¾Ð´Ð° %qs Ð´Ð»Ñ ÑƒÐºÐ°Ð·Ð°Ñ‚ÐµÐ»Ñ"
+
+-#: c-common.c:5289
++#: c-common.c:5288
+ #, gcc-internal-format
+ msgid "signness of type and machine mode %qs don't match"
+ msgstr ""
+
+-#: c-common.c:5300
++#: c-common.c:5299
+ #, gcc-internal-format
+ msgid "no data type for mode %qs"
+ msgstr "тип данных, ÑоответÑтвующий моде %qs, не ÑущеÑтвует"
+
+-#: c-common.c:5310
++#: c-common.c:5309
+ #, gcc-internal-format
+ msgid "cannot use mode %qs for enumeral types"
+ msgstr "иÑпользование моды %qs Ð´Ð»Ñ Ð¿ÐµÑ€ÐµÑ‡Ð¸Ñлимых типов недопуÑтимо"
+
+-#: c-common.c:5337
++#: c-common.c:5336
+ #, gcc-internal-format
+ msgid "mode %qs applied to inappropriate type"
+ msgstr "мода %qs применена к неподходÑщему типу"
+
+-#: c-common.c:5368
++#: c-common.c:5367
+ #, gcc-internal-format
+ msgid "%Jsection attribute cannot be specified for local variables"
+ msgstr "%Jатрибут section недопуÑтим Ð´Ð»Ñ Ð»Ð¾ÐºÐ°Ð»ÑŒÐ½Ñ‹Ñ… переменных"
+
+-#: c-common.c:5379 config/bfin/bfin.c:4879 config/bfin/bfin.c:4930
++#: c-common.c:5378 config/bfin/bfin.c:4982 config/bfin/bfin.c:5033
+ #, gcc-internal-format
+ msgid "section of %q+D conflicts with previous declaration"
+ msgstr "атрибут section, заданный Ð´Ð»Ñ %q+D, противоречит предшеÑтвующей декларации"
+
+-#: c-common.c:5388
++#: c-common.c:5387
+ #, gcc-internal-format
+ msgid "section attribute not allowed for %q+D"
+ msgstr "атрибут section Ð´Ð»Ñ %q+D недопуÑтим"
+
+-#: c-common.c:5394
++#: c-common.c:5393
+ #, gcc-internal-format
+ msgid "%Jsection attributes are not supported for this target"
+ msgstr "%Jатрибут section Ð´Ð»Ñ Ð´Ð°Ð½Ð½Ð¾Ð¹ платформы не поддерживаетÑÑ"
+
+-#: c-common.c:5426
++#: c-common.c:5425
+ #, gcc-internal-format
+ msgid "requested alignment is not a constant"
+ msgstr "выравнивание не ÑвлÑетÑÑ ÐºÐ¾Ð½Ñтантой"
+
+-#: c-common.c:5431
++#: c-common.c:5430
+ #, gcc-internal-format
+ msgid "requested alignment is not a power of 2"
+ msgstr "выравнивание не ÑвлÑетÑÑ Ñтепенью чиÑла 2"
+
+-#: c-common.c:5436
++#: c-common.c:5435
+ #, gcc-internal-format
+ msgid "requested alignment is too large"
+ msgstr "выравнивание Ñлишком велико"
+
+-#: c-common.c:5462
++#: c-common.c:5461
+ #, gcc-internal-format
+ msgid "alignment may not be specified for %q+D"
+ msgstr "Ð½ÐµÐ»ÑŒÐ·Ñ Ð·Ð°Ð´Ð°Ð²Ð°Ñ‚ÑŒ выравнивание Ð´Ð»Ñ %q+D"
+
+-#: c-common.c:5469
++#: c-common.c:5468
+ #, gcc-internal-format
+ msgid "alignment for %q+D was previously specified as %d and may not be decreased"
+ msgstr ""
+
+-#: c-common.c:5473
++#: c-common.c:5472
+ #, fuzzy, gcc-internal-format
+ msgid "alignment for %q+D must be at least %d"
+ msgstr "аргумент `%s' должен быть 2-битным беззнаковым литеральным значением"
+
+-#: c-common.c:5522
++#: c-common.c:5521
+ #, gcc-internal-format
+ msgid "%q+D defined both normally and as an alias"
+ msgstr "%q+D определено как обычное Ð¸Ð¼Ñ Ð¸ как alias"
+
+-#: c-common.c:5538
++#: c-common.c:5537
+ #, gcc-internal-format
+ msgid "alias argument not a string"
+ msgstr "аргумент атрибута alias должен быть текÑтовой Ñтрокой"
+
+-#: c-common.c:5601
++#: c-common.c:5600
+ #, gcc-internal-format
+ msgid "%Jweakref attribute must appear before alias attribute"
+ msgstr "%Jатрибут weakref должен задаватьÑÑ Ð´Ð¾ атрибута alias"
+
+-#: c-common.c:5631
++#: c-common.c:5630
+ #, gcc-internal-format
+ msgid "%qE attribute ignored on non-class types"
+ msgstr "атрибут %qE Ð´Ð»Ñ Ð½Ðµ клаÑÑовых типов игнорируетÑÑ"
+
+-#: c-common.c:5637
++#: c-common.c:5636
+ #, fuzzy, gcc-internal-format
+ msgid "%qE attribute ignored because %qT is already defined"
+ msgstr "атрибут %qE Ð´Ð»Ñ Ð½Ðµ клаÑÑовых типов игнорируетÑÑ"
+
+-#: c-common.c:5650
++#: c-common.c:5649
+ #, gcc-internal-format
+ msgid "visibility argument not a string"
+ msgstr "аргумент атрибута visibility не ÑвлÑетÑÑ Ñ‚ÐµÐºÑтовой Ñтрокой"
+
+-#: c-common.c:5662
++#: c-common.c:5661
+ #, gcc-internal-format
+ msgid "%qE attribute ignored on types"
+ msgstr "атрибут %qE Ð´Ð»Ñ Ñ‚Ð¸Ð¿Ð¾Ð² игнорируетÑÑ"
+
+-#: c-common.c:5678
++#: c-common.c:5677
+ #, gcc-internal-format
+ msgid "visibility argument must be one of \"default\", \"hidden\", \"protected\" or \"internal\""
+ msgstr "аргумент атрибута visibility должен быть \"default\", \"hidden\", \"protected\" или \"internal\""
+
+-#: c-common.c:5689
++#: c-common.c:5688
+ #, fuzzy, gcc-internal-format
+ msgid "%qD redeclared with different visibility"
+ msgstr "%J%qD повторно декларирован как Ñимвол другого вида"
+
+-#: c-common.c:5692 c-common.c:5696
++#: c-common.c:5691 c-common.c:5695
+ #, gcc-internal-format
+ msgid "%qD was declared %qs which implies default visibility"
+ msgstr ""
+
+-#: c-common.c:5770
++#: c-common.c:5769
+ #, gcc-internal-format
+ msgid "tls_model argument not a string"
+ msgstr "аргумент атрибута tls_model не ÑвлÑетÑÑ Ñ‚ÐµÐºÑтовой Ñтрокой"
+
+-#: c-common.c:5783
++#: c-common.c:5782
+ #, gcc-internal-format
+ msgid "tls_model argument must be one of \"local-exec\", \"initial-exec\", \"local-dynamic\" or \"global-dynamic\""
+ msgstr "аргумент атрибута tls_model должен быть \"local-exec\", \"initial-exec\", \"local-dynamic\" или \"global-dynamic\""
+
+-#: c-common.c:5802 c-common.c:5897
++#: c-common.c:5801 c-common.c:5896
+ #, gcc-internal-format
+ msgid "%J%qE attribute applies only to functions"
+ msgstr "%J%qE: атрибут допуÑтим только Ð´Ð»Ñ Ñ„ÑƒÐ½ÐºÑ†Ð¸Ð¹"
+
+-#: c-common.c:5807 c-common.c:5902
++#: c-common.c:5806 c-common.c:5901
+ #, gcc-internal-format
+ msgid "%Jcan%'t set %qE attribute after definition"
+ msgstr "%Jатрибут %qE Ð½ÐµÐ»ÑŒÐ·Ñ ÑƒÑтановить поÑле Ð¾Ð¿Ñ€ÐµÐ´ÐµÐ»ÐµÐ½Ð¸Ñ Ð¾Ð±ÑŠÐµÐºÑ‚Ð°"
+
+-#: c-common.c:5858
++#: c-common.c:5857
+ #, gcc-internal-format
+ msgid "alloc_size parameter outside range"
+ msgstr ""
+
+-#: c-common.c:5991
++#: c-common.c:5990
+ #, gcc-internal-format
+ msgid "%qE attribute ignored for %qE"
+ msgstr "атрибут %qE Ð´Ð»Ñ %qE проигнорирован"
+@@ -17566,7 +17544,7 @@
+ msgid "cannot apply %<offsetof%> when %<operator[]%> is overloaded"
+ msgstr "недопуÑтимое применение %<offsetof%> к ÑтатичеÑкому Ñлементу данных %qD"
+
+-#: c-common.c:6818 cp/typeck.c:4525
++#: c-common.c:6818 cp/typeck.c:4533
+ #, gcc-internal-format
+ msgid "attempt to take address of bit-field structure member %qD"
+ msgstr "взÑтие адреÑа от битового Ð¿Ð¾Ð»Ñ Ñтруктуры %qD"
+@@ -17601,14 +17579,14 @@
+ msgid "size of array is too large"
+ msgstr "размер маÑÑива %qs Ñлишком велик"
+
+-#: c-common.c:7041 c-common.c:7090 c-typeck.c:2705
++#: c-common.c:7041 c-common.c:7090 c-typeck.c:2716
+ #, gcc-internal-format
+ msgid "too few arguments to function %qE"
+ msgstr "Ñлишком мало аргументов в вызове функции %qE"
+
+ #. ??? This should not be an error when inlining calls to
+ #. unprototyped functions.
+-#: c-common.c:7058 c-typeck.c:4374
++#: c-common.c:7058 c-typeck.c:4385
+ #, gcc-internal-format
+ msgid "incompatible type for argument %d of %qE"
+ msgstr "неÑовмеÑтимый тип аргумента %d функции %qE"
+@@ -17688,8 +17666,8 @@
+ #. an unprototyped function, it is compile-time undefined;
+ #. making it a constraint in that case was rejected in
+ #. DR#252.
+-#: c-convert.c:95 c-typeck.c:1775 c-typeck.c:4012 cp/typeck.c:1502
+-#: cp/typeck.c:5717 cp/typeck.c:6325 fortran/convert.c:88
++#: c-convert.c:95 c-typeck.c:1785 c-typeck.c:4023 cp/typeck.c:1548
++#: cp/typeck.c:5725 cp/typeck.c:6352 fortran/convert.c:88
+ #: treelang/tree-convert.c:79
+ #, gcc-internal-format
+ msgid "void value not ignored as it ought to be"
+@@ -17701,104 +17679,104 @@
+ msgid "conversion to non-scalar type requested"
+ msgstr "преобразование к неÑкалÑрному типу"
+
+-#: c-decl.c:546
++#: c-decl.c:547
+ #, gcc-internal-format
+ msgid "array %q+D assumed to have one element"
+ msgstr "%q+D раÑÑматриваетÑÑ ÐºÐ°Ðº маÑÑив из одного Ñлемента"
+
+-#: c-decl.c:651
++#: c-decl.c:652
+ #, gcc-internal-format
+ msgid "GCC supports only %u nested scopes"
+ msgstr "GCC поддерживает только %u вложенных облаÑтей видимоÑти"
+
+-#: c-decl.c:737 cp/decl.c:358
++#: c-decl.c:738 cp/decl.c:359
+ #, gcc-internal-format
+ msgid "label %q+D used but not defined"
+ msgstr "метка %q+D иÑпользуетÑÑ, но не определÑетÑÑ"
+
+-#: c-decl.c:778
++#: c-decl.c:779
+ #, gcc-internal-format
+ msgid "nested function %q+D declared but never defined"
+ msgstr "Ð²Ð»Ð¾Ð¶ÐµÐ½Ð½Ð°Ñ Ñ„ÑƒÐ½ÐºÑ†Ð¸Ñ %q+D объÑвлена, но нигде не определена"
+
+-#: c-decl.c:788
++#: c-decl.c:789
+ #, fuzzy, gcc-internal-format
+ msgid "inline function %q+D declared but never defined"
+ msgstr "Ð²Ð»Ð¾Ð¶ÐµÐ½Ð½Ð°Ñ Ñ„ÑƒÐ½ÐºÑ†Ð¸Ñ %q+D объÑвлена, но нигде не определена"
+
+-#: c-decl.c:801 cp/decl.c:608
++#: c-decl.c:802 cp/decl.c:609
+ #, gcc-internal-format
+ msgid "unused variable %q+D"
+ msgstr "неиÑÐ¿Ð¾Ð»ÑŒÐ·ÑƒÐµÐ¼Ð°Ñ Ð¿ÐµÑ€ÐµÐ¼ÐµÐ½Ð½Ð°Ñ %q+D"
+
+-#: c-decl.c:805
++#: c-decl.c:806
+ #, gcc-internal-format
+ msgid "type of array %q+D completed incompatibly with implicit initialization"
+ msgstr "тип маÑÑива %q+D завершен неÑовмеÑтимым Ñ Ð½ÐµÑвной инициализацией образом"
+
+-#: c-decl.c:1039
++#: c-decl.c:1040
+ #, gcc-internal-format
+ msgid "a parameter list with an ellipsis can%'t match an empty parameter name list declaration"
+ msgstr "ÑпиÑок параметров Ñ Ð¼Ð½Ð¾Ð³Ð¾Ñ‚Ð¾Ñ‡Ð¸ÐµÐ¼ неÑовмеÑтим Ñ Ð¿ÑƒÑтым ÑпиÑком параметров"
+
+-#: c-decl.c:1046
++#: c-decl.c:1047
+ #, gcc-internal-format
+ msgid "an argument type that has a default promotion can%'t match an empty parameter name list declaration"
+ msgstr "тип аргумента Ñ Ð¿Ñ€ÐµÐ¾Ð±Ñ€Ð°Ð·Ð¾Ð²Ð°Ð½Ð¸ÐµÐ¼ по умолчанию неÑовмеÑтим Ñ Ð¿ÑƒÑтым ÑпиÑком параметров"
+
+-#: c-decl.c:1087
++#: c-decl.c:1088
+ #, gcc-internal-format
+ msgid "prototype for %q+D declares more arguments than previous old-style definition"
+ msgstr "в прототипе Ð´Ð»Ñ %q+D декларировано больше аргументов, чем в предшеÑтвующем определении в уÑтаревшем Ñтиле"
+
+-#: c-decl.c:1093
++#: c-decl.c:1094
+ #, gcc-internal-format
+ msgid "prototype for %q+D declares fewer arguments than previous old-style definition"
+ msgstr "в прототипе Ð´Ð»Ñ %q+D декларировано меньше аргументов, чем в предшеÑтвующем определении в Ñтаром Ñтиле"
+
+-#: c-decl.c:1102
++#: c-decl.c:1103
+ #, gcc-internal-format
+ msgid "prototype for %q+D declares argument %d with incompatible type"
+ msgstr "в прототипе %q+D объÑвлен аргумент %d неÑовмеÑтимого типа"
+
+ #. If we get here, no errors were found, but do issue a warning
+ #. for this poor-style construct.
+-#: c-decl.c:1115
++#: c-decl.c:1116
+ #, gcc-internal-format
+ msgid "prototype for %q+D follows non-prototype definition"
+ msgstr "прототип %q+D задан поÑле непрототипного определениÑ"
+
+-#: c-decl.c:1130
++#: c-decl.c:1131
+ #, gcc-internal-format
+ msgid "previous definition of %q+D was here"
+ msgstr "здеÑÑŒ было предыдущее определение %q+D"
+
+-#: c-decl.c:1132
++#: c-decl.c:1133
+ #, gcc-internal-format
+ msgid "previous implicit declaration of %q+D was here"
+ msgstr "здеÑÑŒ была Ð¿Ñ€ÐµÐ´Ñ‹Ð´ÑƒÑ‰Ð°Ñ Ð½ÐµÑÐ²Ð½Ð°Ñ Ð´ÐµÐºÐ»Ð°Ñ€Ð°Ñ†Ð¸Ñ %q+D"
+
+-#: c-decl.c:1134
++#: c-decl.c:1135
+ #, gcc-internal-format
+ msgid "previous declaration of %q+D was here"
+ msgstr "здеÑÑŒ была Ð¿Ñ€ÐµÐ´Ñ‹Ð´ÑƒÑ‰Ð°Ñ Ð´ÐµÐºÐ»Ð°Ñ€Ð°Ñ†Ð¸Ñ %q+D"
+
+-#: c-decl.c:1174
++#: c-decl.c:1175
+ #, gcc-internal-format
+ msgid "%q+D redeclared as different kind of symbol"
+ msgstr "%q+D повторно декларирован как Ñимвол другого вида"
+
+-#: c-decl.c:1178
++#: c-decl.c:1179
+ #, gcc-internal-format
+ msgid "built-in function %q+D declared as non-function"
+ msgstr "внутреннÑÑ Ñ„ÑƒÐ½ÐºÑ†Ð¸Ñ %q+D декларирована как не функциÑ"
+
+-#: c-decl.c:1181 c-decl.c:1298 c-decl.c:1983
++#: c-decl.c:1182 c-decl.c:1299 c-decl.c:1988
+ #, gcc-internal-format
+ msgid "declaration of %q+D shadows a built-in function"
+ msgstr "Ð´ÐµÐºÐ»Ð°Ñ€Ð°Ñ†Ð¸Ñ %q+D перекрывает внутреннюю функцию"
+
+-#: c-decl.c:1190
++#: c-decl.c:1191
+ #, gcc-internal-format
+ msgid "redeclaration of enumerator %q+D"
+ msgstr "Ð¿Ð¾Ð²Ñ‚Ð¾Ñ€Ð½Ð°Ñ Ð´ÐµÐºÐ»Ð°Ñ€Ð°Ñ†Ð¸Ñ Ð¿ÐµÑ€ÐµÑ‡Ð¸Ñлимого типа %q+D"
+@@ -17806,274 +17784,274 @@
+ #. If types don't match for a built-in, throw away the
+ #. built-in. No point in calling locate_old_decl here, it
+ #. won't print anything.
+-#: c-decl.c:1211
++#: c-decl.c:1212
+ #, gcc-internal-format
+ msgid "conflicting types for built-in function %q+D"
+ msgstr "неÑовмеÑтимые типы Ð´Ð»Ñ Ð²Ð½ÑƒÑ‚Ñ€ÐµÐ½Ð½ÐµÐ¹ функции %q+D"
+
+-#: c-decl.c:1235 c-decl.c:1248 c-decl.c:1258
++#: c-decl.c:1236 c-decl.c:1249 c-decl.c:1259
+ #, gcc-internal-format
+ msgid "conflicting types for %q+D"
+ msgstr "неÑовмеÑтимые типы Ð´Ð»Ñ %q+D"
+
+-#: c-decl.c:1256
++#: c-decl.c:1257
+ #, gcc-internal-format
+ msgid "conflicting type qualifiers for %q+D"
+ msgstr "неÑовмеÑтимые квалификаторы типа Ð´Ð»Ñ %q+D"
+
+ #. Allow OLDDECL to continue in use.
+-#: c-decl.c:1273
++#: c-decl.c:1274
+ #, gcc-internal-format
+ msgid "redefinition of typedef %q+D"
+ msgstr "переопределение typedef %q+D"
+
+-#: c-decl.c:1324 c-decl.c:1426
++#: c-decl.c:1325 c-decl.c:1427
+ #, gcc-internal-format
+ msgid "redefinition of %q+D"
+ msgstr "переопределение %q+D"
+
+-#: c-decl.c:1359 c-decl.c:1464
++#: c-decl.c:1360 c-decl.c:1465
+ #, gcc-internal-format
+ msgid "static declaration of %q+D follows non-static declaration"
+ msgstr "static-Ð´ÐµÐºÐ»Ð°Ñ€Ð°Ñ†Ð¸Ñ %q+D поÑле неstatic-декларации"
+
+-#: c-decl.c:1369 c-decl.c:1376 c-decl.c:1453 c-decl.c:1461
++#: c-decl.c:1370 c-decl.c:1377 c-decl.c:1454 c-decl.c:1462
+ #, gcc-internal-format
+ msgid "non-static declaration of %q+D follows static declaration"
+ msgstr "неstatic-Ð´ÐµÐºÐ»Ð°Ñ€Ð°Ñ†Ð¸Ñ %q+D поÑле static-декларации"
+
+-#: c-decl.c:1393
++#: c-decl.c:1394
+ #, gcc-internal-format
+ msgid "%<gnu_inline%> attribute present on %q+D"
+ msgstr ""
+
+-#: c-decl.c:1395
++#: c-decl.c:1396
+ #, fuzzy, gcc-internal-format
+ msgid "%Jbut not here"
+ msgstr "%J здеÑÑŒ задан один тип,"
+
+-#: c-decl.c:1413
++#: c-decl.c:1414
+ #, gcc-internal-format
+ msgid "thread-local declaration of %q+D follows non-thread-local declaration"
+ msgstr "Ð»Ð¾ÐºÐ°Ð»ÑŒÐ½Ð°Ñ Ð´Ð»Ñ Ð¿Ð¾Ñ‚Ð¾ÐºÐ° Ð´ÐµÐºÐ»Ð°Ñ€Ð°Ñ†Ð¸Ñ %q+D Ñледует поÑле не локальной Ð´Ð»Ñ Ð¿Ð¾Ñ‚Ð¾ÐºÐ° декларации"
+
+-#: c-decl.c:1416
++#: c-decl.c:1417
+ #, gcc-internal-format
+ msgid "non-thread-local declaration of %q+D follows thread-local declaration"
+ msgstr "не Ð»Ð¾ÐºÐ°Ð»ÑŒÐ½Ð°Ñ Ð´Ð»Ñ Ð¿Ð¾Ñ‚Ð¾ÐºÐ° Ð´ÐµÐºÐ»Ð°Ñ€Ð°Ñ†Ð¸Ñ %q+D Ñледует поÑле локальной Ð´Ð»Ñ Ð¿Ð¾Ñ‚Ð¾ÐºÐ° декларации"
+
+-#: c-decl.c:1446
++#: c-decl.c:1447
+ #, gcc-internal-format
+ msgid "extern declaration of %q+D follows declaration with no linkage"
+ msgstr "extern Ð´ÐµÐºÐ»Ð°Ñ€Ð°Ñ†Ð¸Ñ %q+D Ñледует за декларацией без привÑзки"
+
+-#: c-decl.c:1482
++#: c-decl.c:1483
+ #, gcc-internal-format
+ msgid "declaration of %q+D with no linkage follows extern declaration"
+ msgstr "Ð´ÐµÐºÐ»Ð°Ñ€Ð°Ñ†Ð¸Ñ %q+D без привÑзки Ñледует за extern-декларацией"
+
+-#: c-decl.c:1488
++#: c-decl.c:1489
+ #, gcc-internal-format
+ msgid "redeclaration of %q+D with no linkage"
+ msgstr "Ð¿Ð¾Ð²Ñ‚Ð¾Ñ€Ð½Ð°Ñ Ð´ÐµÐºÐ»Ð°Ñ€Ð°Ñ†Ð¸Ñ %q+D без привÑзки"
+
+-#: c-decl.c:1502
++#: c-decl.c:1503
+ #, gcc-internal-format
+ msgid "redeclaration of %q+D with different visibility (old visibility preserved)"
+ msgstr "Ð¿Ð¾Ð²Ñ‚Ð¾Ñ€Ð½Ð°Ñ Ð´ÐµÐºÐ»Ð°Ñ€Ð°Ñ†Ð¸Ñ %q+D Ñ Ð´Ñ€ÑƒÐ³Ð¾Ð¹ облаÑтью видимоÑти (Ñохранена прежнÑÑ Ð¾Ð±Ð»Ð°ÑÑ‚ÑŒ видимоÑти)"
+
+-#: c-decl.c:1513
++#: c-decl.c:1514
+ #, gcc-internal-format
+ msgid "inline declaration of %qD follows declaration with attribute noinline"
+ msgstr "inline-Ð´ÐµÐºÐ»Ð°Ñ€Ð°Ñ†Ð¸Ñ %qD поÑле декларации Ñ Ð°Ñ‚Ñ€Ð¸Ð±ÑƒÑ‚Ð¾Ð¼ noinline"
+
+-#: c-decl.c:1520
++#: c-decl.c:1521
+ #, gcc-internal-format
+ msgid "declaration of %q+D with attribute noinline follows inline declaration "
+ msgstr "Ð´ÐµÐºÐ»Ð°Ñ€Ð°Ñ†Ð¸Ñ %q+D Ñ Ð°Ñ‚Ñ€Ð¸Ð±ÑƒÑ‚Ð¾Ð¼ noinline поÑле inline-декларации"
+
+-#: c-decl.c:1539
++#: c-decl.c:1540
+ #, gcc-internal-format
+ msgid "%q+D declared inline after being called"
+ msgstr "%q+D: inline-Ð´ÐµÐºÐ»Ð°Ñ€Ð°Ñ†Ð¸Ñ Ð¿Ð¾Ñле вызова"
+
+-#: c-decl.c:1544
++#: c-decl.c:1545
+ #, gcc-internal-format
+ msgid "%q+D declared inline after its definition"
+ msgstr "%q+D: inline-Ð´ÐµÐºÐ»Ð°Ñ€Ð°Ñ†Ð¸Ñ Ð¿Ð¾Ñле определениÑ"
+
+-#: c-decl.c:1563
++#: c-decl.c:1564
+ #, gcc-internal-format
+ msgid "redefinition of parameter %q+D"
+ msgstr "повторное определение параметра %q+D"
+
+-#: c-decl.c:1590
++#: c-decl.c:1591
+ #, gcc-internal-format
+ msgid "redundant redeclaration of %q+D"
+ msgstr "Ð¸Ð·Ð±Ñ‹Ñ‚Ð¾Ñ‡Ð½Ð°Ñ Ð¿Ð¾Ð²Ñ‚Ð¾Ñ€Ð½Ð°Ñ Ð´ÐµÐºÐ»Ð°Ñ€Ð°Ñ†Ð¸Ñ %q+D"
+
+-#: c-decl.c:1970
++#: c-decl.c:1975
+ #, gcc-internal-format
+ msgid "declaration of %q+D shadows previous non-variable"
+ msgstr "Ð´ÐµÐºÐ»Ð°Ñ€Ð°Ñ†Ð¸Ñ %q+D перекрывает предшеÑтвующую декларацию не переменной"
+
+-#: c-decl.c:1975
++#: c-decl.c:1980
+ #, gcc-internal-format
+ msgid "declaration of %q+D shadows a parameter"
+ msgstr "Ð´ÐµÐºÐ»Ð°Ñ€Ð°Ñ†Ð¸Ñ %q+D перекрывает параметр"
+
+-#: c-decl.c:1978
++#: c-decl.c:1983
+ #, gcc-internal-format
+ msgid "declaration of %q+D shadows a global declaration"
+ msgstr "Ð´ÐµÐºÐ»Ð°Ñ€Ð°Ñ†Ð¸Ñ %q+D перекрывает глобальную декларацию"
+
+-#: c-decl.c:1988
++#: c-decl.c:1993
+ #, gcc-internal-format
+ msgid "declaration of %q+D shadows a previous local"
+ msgstr "Ð´ÐµÐºÐ»Ð°Ñ€Ð°Ñ†Ð¸Ñ %q+D перекрывает декларированную ранее локальную переменную"
+
+-#: c-decl.c:1991 cp/name-lookup.c:988 cp/name-lookup.c:1019
+-#: cp/name-lookup.c:1027
++#: c-decl.c:1996 cp/name-lookup.c:987 cp/name-lookup.c:1018
++#: cp/name-lookup.c:1026
+ #, gcc-internal-format
+ msgid "%Jshadowed declaration is here"
+ msgstr "%JÐ¿ÐµÑ€ÐµÐºÑ€Ñ‹Ñ‚Ð°Ñ Ð´ÐµÐºÐ»Ð°Ñ€Ð°Ñ†Ð¸Ñ Ð½Ð°Ñ…Ð¾Ð´Ð¸Ñ‚ÑÑ Ð·Ð´ÐµÑÑŒ"
+
+-#: c-decl.c:2183
++#: c-decl.c:2188
+ #, gcc-internal-format
+ msgid "nested extern declaration of %qD"
+ msgstr "Ð²Ð»Ð¾Ð¶ÐµÐ½Ð½Ð°Ñ extern-Ð´ÐµÐºÐ»Ð°Ñ€Ð°Ñ†Ð¸Ñ %qD"
+
+-#: c-decl.c:2346 c-decl.c:2349
++#: c-decl.c:2351 c-decl.c:2354
+ #, gcc-internal-format
+ msgid "implicit declaration of function %qE"
+ msgstr "неÑÐ²Ð½Ð°Ñ Ð´ÐµÐºÐ»Ð°Ñ€Ð°Ñ†Ð¸Ñ Ñ„ÑƒÐ½ÐºÑ†Ð¸Ð¸ %qE"
+
+-#: c-decl.c:2411
++#: c-decl.c:2416
+ #, gcc-internal-format
+ msgid "incompatible implicit declaration of built-in function %qD"
+ msgstr "неÑовмеÑÑ‚Ð¸Ð¼Ð°Ñ Ð½ÐµÑÐ²Ð½Ð°Ñ Ð´ÐµÐºÐ»Ð°Ñ€Ð°Ñ†Ð¸Ñ Ð²Ð½ÑƒÑ‚Ñ€ÐµÐ½Ð½ÐµÐ¹ функции %qD"
+
+-#: c-decl.c:2420
++#: c-decl.c:2425
+ #, gcc-internal-format
+ msgid "incompatible implicit declaration of function %qD"
+ msgstr "неÑовмеÑÑ‚Ð¸Ð¼Ð°Ñ Ð½ÐµÑÐ²Ð½Ð°Ñ Ð´ÐµÐºÐ»Ð°Ñ€Ð°Ñ†Ð¸Ñ Ñ„ÑƒÐ½ÐºÑ†Ð¸Ð¸ %qD"
+
+-#: c-decl.c:2473
++#: c-decl.c:2478
+ #, gcc-internal-format
+ msgid "%H%qE undeclared here (not in a function)"
+ msgstr "%H%qE не опиÑан в Ñтой облаÑти (не в функции)"
+
+-#: c-decl.c:2478
++#: c-decl.c:2483
+ #, gcc-internal-format
+ msgid "%H%qE undeclared (first use in this function)"
+ msgstr "%H%qE не опиÑан (первое иÑпользование в Ñтой функции)"
+
+-#: c-decl.c:2482
++#: c-decl.c:2487
+ #, gcc-internal-format
+ msgid "%H(Each undeclared identifier is reported only once"
+ msgstr "%H(Сообщение о неопиÑанном идентификаторе выдаетÑÑ Ð¾Ð´Ð¸Ð½ раз"
+
+-#: c-decl.c:2483
++#: c-decl.c:2488
+ #, gcc-internal-format
+ msgid "%Hfor each function it appears in.)"
+ msgstr "%HÐ´Ð»Ñ ÐºÐ°Ð¶Ð´Ð¾Ð¹ функции, в которой он иÑпользуетÑÑ.)"
+
+-#: c-decl.c:2521 cp/decl.c:2397
++#: c-decl.c:2526 cp/decl.c:2404
+ #, gcc-internal-format
+ msgid "label %qE referenced outside of any function"
+ msgstr "ÑÑылка на метку %qE вне функции"
+
+-#: c-decl.c:2563
++#: c-decl.c:2568
+ #, gcc-internal-format
+ msgid "duplicate label declaration %qE"
+ msgstr "Ð¿Ð¾Ð²Ñ‚Ð¾Ñ€Ð½Ð°Ñ Ð´ÐµÐºÐ»Ð°Ñ€Ð°Ñ†Ð¸Ñ Ð¼ÐµÑ‚ÐºÐ¸ %qE"
+
+-#: c-decl.c:2599
++#: c-decl.c:2604
+ #, gcc-internal-format
+ msgid "%Hduplicate label %qD"
+ msgstr "%Hповтор метки %qD"
+
+-#: c-decl.c:2609
++#: c-decl.c:2614
+ #, gcc-internal-format
+ msgid "%Jjump into statement expression"
+ msgstr "%Jпереход в выражение-оператор"
+
+-#: c-decl.c:2611
++#: c-decl.c:2616
+ #, gcc-internal-format
+ msgid "%Jjump into scope of identifier with variably modified type"
+ msgstr "%Jпереход в облаÑÑ‚ÑŒ видимоÑти идентификатора Ñ Ð¿ÐµÑ€ÐµÐ¼ÐµÐ½Ð½Ð¾-модифицируемым типом"
+
+-#: c-decl.c:2626
++#: c-decl.c:2631
+ #, gcc-internal-format
+ msgid "%Htraditional C lacks a separate namespace for labels, identifier %qE conflicts"
+ msgstr "%Hв традиционном C нет отдельного проÑтранÑтва имён Ð´Ð»Ñ Ð¼ÐµÑ‚Ð¾Ðº, конфликт по идентификатору %qE "
+
+-#: c-decl.c:2701
++#: c-decl.c:2706
+ #, gcc-internal-format
+ msgid "%H%qE defined as wrong kind of tag"
+ msgstr "%H%qE: определение Ñ Ð½ÐµÐºÐ¾Ñ€Ñ€ÐµÐºÑ‚Ð½Ñ‹Ð¼ видом тега"
+
+-#: c-decl.c:2903
++#: c-decl.c:2908
+ #, gcc-internal-format
+ msgid "unnamed struct/union that defines no instances"
+ msgstr "struct/union без имени и без опиÑÐ°Ð½Ð¸Ñ Ð¿ÐµÑ€ÐµÐ¼ÐµÐ½Ð½Ñ‹Ñ… Ñтого типа"
+
+-#: c-decl.c:2911
++#: c-decl.c:2916
+ #, gcc-internal-format
+ msgid "empty declaration with storage class specifier does not redeclare tag"
+ msgstr "пуÑÑ‚Ð°Ñ Ð´ÐµÐºÐ»Ð°Ñ€Ð°Ñ†Ð¸Ñ Ñо Ñпецификатором клаÑÑа памÑти не переопределÑет тег"
+
+-#: c-decl.c:2922
++#: c-decl.c:2927
+ #, gcc-internal-format
+ msgid "empty declaration with type qualifier does not redeclare tag"
+ msgstr "пуÑÑ‚Ð°Ñ Ð´ÐµÐºÐ»Ð°Ñ€Ð°Ñ†Ð¸Ñ Ñ ÐºÐ²Ð°Ð»Ð¸Ñ„Ð¸ÐºÐ°Ñ‚Ð¾Ñ€Ð¾Ð¼ типа не переопределÑет тег"
+
+-#: c-decl.c:2943 c-decl.c:2950
++#: c-decl.c:2948 c-decl.c:2955
+ #, gcc-internal-format
+ msgid "useless type name in empty declaration"
+ msgstr "беÑполезное Ð¸Ð¼Ñ Ñ‚Ð¸Ð¿Ð° в пуÑтой декларации"
+
+-#: c-decl.c:2958
++#: c-decl.c:2963
+ #, gcc-internal-format
+ msgid "%<inline%> in empty declaration"
+ msgstr "%<inline%> в пуÑтой декларации"
+
+-#: c-decl.c:2964
++#: c-decl.c:2969
+ #, gcc-internal-format
+ msgid "%<auto%> in file-scope empty declaration"
+ msgstr "%<auto%> в пуÑтой декларации на уровне файла"
+
+-#: c-decl.c:2970
++#: c-decl.c:2975
+ #, gcc-internal-format
+ msgid "%<register%> in file-scope empty declaration"
+ msgstr "%<register%> в пуÑтой декларации на уровне файла"
+
+-#: c-decl.c:2976
++#: c-decl.c:2981
+ #, gcc-internal-format
+ msgid "useless storage class specifier in empty declaration"
+ msgstr "беÑполезный Ñпецификатор клаÑÑа Ñ…Ñ€Ð°Ð½ÐµÐ½Ð¸Ñ Ð² пуÑтой декларации"
+
+-#: c-decl.c:2982
++#: c-decl.c:2987
+ #, gcc-internal-format
+ msgid "useless %<__thread%> in empty declaration"
+ msgstr "беÑполезное %<__thread%> в пуÑтой декларации"
+
+-#: c-decl.c:2990
++#: c-decl.c:2995
+ #, gcc-internal-format
+ msgid "useless type qualifier in empty declaration"
+ msgstr "беÑполезный квалификатор типа в пуÑтой декларации"
+
+-#: c-decl.c:2997
++#: c-decl.c:3002
+ #, gcc-internal-format
+ msgid "empty declaration"
+ msgstr "пуÑÑ‚Ð°Ñ Ð´ÐµÐºÐ»Ð°Ñ€Ð°Ñ†Ð¸Ñ"
+
+-#: c-decl.c:3063
++#: c-decl.c:3068
+ #, gcc-internal-format
+ msgid "ISO C90 does not support %<static%> or type qualifiers in parameter array declarators"
+ msgstr "ISO C90 не поддерживает квалификаторы типов и Ñпецификатор %<static%> в деклараторах параметров-маÑÑивов"
+
+-#: c-decl.c:3066
++#: c-decl.c:3071
+ #, gcc-internal-format
+ msgid "ISO C90 does not support %<[*]%> array declarators"
+ msgstr "ISO C90 не поддерживает конÑтрукцию [*] в декларациÑÑ… маÑÑивов"
+@@ -18081,253 +18059,248 @@
+ #. C99 6.7.5.2p4
+ #. A function definition isn't function prototype scope C99 6.2.1p4.
+ #. C99 6.7.5.2p4
+-#: c-decl.c:3073 c-decl.c:5015
++#: c-decl.c:3078 c-decl.c:5014
+ #, gcc-internal-format
+ msgid "%<[*]%> not allowed in other than function prototype scope"
+ msgstr ""
+
+-#: c-decl.c:3097
++#: c-decl.c:3181
+ #, gcc-internal-format
+-msgid "static or type qualifiers in abstract declarator"
+-msgstr "Ñлово static или квалификаторы типов в абÑтрактном деклараторе"
+-
+-#: c-decl.c:3183
+-#, gcc-internal-format
+ msgid "%q+D is usually a function"
+ msgstr "%q+D обычно ÑвлÑетÑÑ Ñ„ÑƒÐ½ÐºÑ†Ð¸ÐµÐ¹"
+
+-#: c-decl.c:3192 cp/decl.c:3983 cp/decl2.c:773
++#: c-decl.c:3190 cp/decl.c:4003 cp/decl2.c:773
+ #, gcc-internal-format
+ msgid "typedef %qD is initialized (use __typeof__ instead)"
+ msgstr "typedef-Ð´ÐµÐºÐ»Ð°Ñ€Ð°Ñ†Ð¸Ñ %qD Ñ Ð¸Ð½Ð¸Ñ†Ð¸Ð°Ð»Ð¸Ð·Ð°Ñ†Ð¸ÐµÐ¹ (иÑпользуйте конÑтрукцию __typeof__)"
+
+-#: c-decl.c:3197
++#: c-decl.c:3195
+ #, gcc-internal-format
+ msgid "function %qD is initialized like a variable"
+ msgstr "Ñ„ÑƒÐ½ÐºÑ†Ð¸Ñ %qD инициализирована как переменнаÑ"
+
+ #. DECL_INITIAL in a PARM_DECL is really DECL_ARG_TYPE.
+-#: c-decl.c:3203
++#: c-decl.c:3201
+ #, gcc-internal-format
+ msgid "parameter %qD is initialized"
+ msgstr "параметр %qD инициализирован"
+
+-#: c-decl.c:3228
++#: c-decl.c:3226
+ #, gcc-internal-format
+ msgid "variable %qD has initializer but incomplete type"
+ msgstr "Ð¿ÐµÑ€ÐµÐ¼ÐµÐ½Ð½Ð°Ñ %qD инициализирована, Ñ…Ð¾Ñ‚Ñ Ð¸Ð¼ÐµÐµÑ‚ неполный тип"
+
+-#: c-decl.c:3316 c-decl.c:6108 cp/decl.c:4025 cp/decl.c:10985
++#: c-decl.c:3314 c-decl.c:6107 cp/decl.c:4045 cp/decl.c:11083
+ #, gcc-internal-format
+ msgid "inline function %q+D given attribute noinline"
+ msgstr "inline Ñ„ÑƒÐ½ÐºÑ†Ð¸Ñ %q+D Ñ Ð°Ñ‚Ñ€Ð¸Ð±ÑƒÑ‚Ð¾Ð¼ noinline"
+
+-#: c-decl.c:3327
++#: c-decl.c:3326
+ #, gcc-internal-format
+ msgid "%q+D is static but declared in inline function %qD which is not static"
+ msgstr ""
+
+-#: c-decl.c:3418
++#: c-decl.c:3417
+ #, gcc-internal-format
+ msgid "initializer fails to determine size of %q+D"
+ msgstr "при инициализации не удалоÑÑŒ определить размер %q+D"
+
+-#: c-decl.c:3423
++#: c-decl.c:3422
+ #, gcc-internal-format
+ msgid "array size missing in %q+D"
+ msgstr "не задан размер маÑÑива Ð´Ð»Ñ %q+D"
+
+-#: c-decl.c:3435
++#: c-decl.c:3434
+ #, gcc-internal-format
+ msgid "zero or negative size array %q+D"
+ msgstr "размер маÑÑива %q+D нулевой или отрицательный"
+
+-#: c-decl.c:3490 varasm.c:2067
++#: c-decl.c:3489 varasm.c:2067
+ #, gcc-internal-format
+ msgid "storage size of %q+D isn%'t known"
+ msgstr "размер %q+D в памÑти неизвеÑтен"
+
+-#: c-decl.c:3500
++#: c-decl.c:3499
+ #, gcc-internal-format
+ msgid "storage size of %q+D isn%'t constant"
+ msgstr "размер %q+D в памÑти не ÑвлÑетÑÑ ÐºÐ¾Ð½Ñтантой"
+
+-#: c-decl.c:3545
++#: c-decl.c:3544
+ #, gcc-internal-format
+ msgid "ignoring asm-specifier for non-static local variable %q+D"
+ msgstr "asm-ÑÐ¿ÐµÑ†Ð¸Ñ„Ð¸ÐºÐ°Ñ†Ð¸Ñ Ð² опиÑании локальной неÑтатичеÑкой переменной %q+D игнорируетÑÑ"
+
+-#: c-decl.c:3573 fortran/f95-lang.c:653
++#: c-decl.c:3572 fortran/f95-lang.c:655
+ #, gcc-internal-format
+ msgid "cannot put object with volatile field into register"
+ msgstr "Ð½ÐµÐºÐ¾Ñ€Ñ€ÐµÐºÑ‚Ð½Ð°Ñ Ð¿Ð¾Ð¿Ñ‹Ñ‚ÐºÐ° размеÑтить в региÑтре объект Ñ volatile-полем"
+
+-#: c-decl.c:3702
++#: c-decl.c:3701
+ #, gcc-internal-format
+ msgid "ISO C forbids forward parameter declarations"
+ msgstr "в ISO C упреждающие декларации параметров запрещены"
+
+-#: c-decl.c:3821
++#: c-decl.c:3820
+ #, gcc-internal-format
+ msgid "bit-field %qs width not an integer constant"
+ msgstr "размер битового Ð¿Ð¾Ð»Ñ %qs не ÑвлÑетÑÑ Ñ†ÐµÐ»Ð¾Ñ‡Ð¸Ñленной конÑтантой"
+
+-#: c-decl.c:3829
++#: c-decl.c:3828
+ #, gcc-internal-format
+ msgid "negative width in bit-field %qs"
+ msgstr "битовое поле %qs имеет отрицательный размер"
+
+-#: c-decl.c:3834
++#: c-decl.c:3833
+ #, gcc-internal-format
+ msgid "zero width for bit-field %qs"
+ msgstr "битовое поле %qs имеет нулевой размер"
+
+-#: c-decl.c:3844
++#: c-decl.c:3843
+ #, gcc-internal-format
+ msgid "bit-field %qs has invalid type"
+ msgstr "неверный тип битового Ð¿Ð¾Ð»Ñ %qs"
+
+-#: c-decl.c:3854
++#: c-decl.c:3853
+ #, gcc-internal-format
+ msgid "type of bit-field %qs is a GCC extension"
+ msgstr "тип Ð´Ð»Ñ Ð±Ð¸Ñ‚Ð¾Ð²Ð¾Ð³Ð¾ Ð¿Ð¾Ð»Ñ %qs ÑвлÑетÑÑ Ñ€Ð°Ñширением GCC"
+
+-#: c-decl.c:3860
++#: c-decl.c:3859
+ #, gcc-internal-format
+ msgid "width of %qs exceeds its type"
+ msgstr "размер Ð¿Ð¾Ð»Ñ %qs превышает размер указанного типа"
+
+-#: c-decl.c:3873
++#: c-decl.c:3872
+ #, gcc-internal-format
+ msgid "%qs is narrower than values of its type"
+ msgstr "ширина Ð¿Ð¾Ð»Ñ %qs не доÑтаточна Ð´Ð»Ñ Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ð¹ указанного типа"
+
+-#: c-decl.c:3892
++#: c-decl.c:3891
+ #, gcc-internal-format
+ msgid "ISO C90 forbids array %qs whose size can%'t be evaluated"
+ msgstr "ISO C90 не поддерживает маÑÑив %qs, размер которого Ð½ÐµÐ»ÑŒÐ·Ñ Ð¾Ð¿Ñ€ÐµÐ´ÐµÐ»Ð¸Ñ‚ÑŒ"
+
+-#: c-decl.c:3896
++#: c-decl.c:3895
+ #, fuzzy, gcc-internal-format
+ msgid "ISO C90 forbids array whose size can%'t be evaluated"
+ msgstr "ISO C90 не поддерживает маÑÑив %qs, размер которого Ð½ÐµÐ»ÑŒÐ·Ñ Ð¾Ð¿Ñ€ÐµÐ´ÐµÐ»Ð¸Ñ‚ÑŒ"
+
+-#: c-decl.c:3902
++#: c-decl.c:3901
+ #, fuzzy, gcc-internal-format
+ msgid "ISO C90 forbids variable length array %qs"
+ msgstr "ISO C90 не поддерживает маÑÑив %qs переменного размера"
+
+-#: c-decl.c:3905
++#: c-decl.c:3904
+ #, fuzzy, gcc-internal-format
+ msgid "ISO C90 forbids variable length array"
+ msgstr "ISO C90 не поддерживает маÑÑив %qs переменного размера"
+
+-#: c-decl.c:3914
++#: c-decl.c:3913
+ #, fuzzy, gcc-internal-format
+ msgid "the size of array %qs can%'t be evaluated"
+ msgstr "ISO C90 не поддерживает маÑÑив %qs, размер которого Ð½ÐµÐ»ÑŒÐ·Ñ Ð¾Ð¿Ñ€ÐµÐ´ÐµÐ»Ð¸Ñ‚ÑŒ"
+
+-#: c-decl.c:3918
++#: c-decl.c:3917
+ #, fuzzy, gcc-internal-format
+ msgid "the size of array can %'t be evaluated"
+ msgstr "размер типа невозможно вычиÑлить Ñвно"
+
+-#: c-decl.c:3924
++#: c-decl.c:3923
+ #, gcc-internal-format
+ msgid "variable length array %qs is used"
+ msgstr ""
+
+-#: c-decl.c:3928 cp/decl.c:7004
++#: c-decl.c:3927 cp/decl.c:7076
+ #, gcc-internal-format
+ msgid "variable length array is used"
+ msgstr ""
+
+-#: c-decl.c:4051 c-decl.c:4328
++#: c-decl.c:4050 c-decl.c:4327
+ #, gcc-internal-format
+ msgid "variably modified %qs at file scope"
+ msgstr "Ð¸Ð¼Ñ Ð¿ÐµÑ€ÐµÐ¼ÐµÐ½Ð½Ð¾Ð¹ или Ð¿Ð¾Ð»Ñ %qs объÑвлено void"
+
+-#: c-decl.c:4069
++#: c-decl.c:4068
+ #, gcc-internal-format
+ msgid "type defaults to %<int%> in declaration of %qs"
+ msgstr "в декларации %qs по умолчанию уÑтановлен тип %<int%>"
+
+-#: c-decl.c:4097
++#: c-decl.c:4096
+ #, gcc-internal-format
+ msgid "duplicate %<const%>"
+ msgstr "повторное употребление %<const%>"
+
+-#: c-decl.c:4099
++#: c-decl.c:4098
+ #, gcc-internal-format
+ msgid "duplicate %<restrict%>"
+ msgstr "повторное употребление %<restrict%>"
+
+-#: c-decl.c:4101
++#: c-decl.c:4100
+ #, gcc-internal-format
+ msgid "duplicate %<volatile%>"
+ msgstr "повторное употребление %<volatile%>"
+
+-#: c-decl.c:4120
++#: c-decl.c:4119
+ #, gcc-internal-format
+ msgid "function definition declared %<auto%>"
+ msgstr "определение функции Ñ ÐºÐ»Ð°ÑÑом Ñ…Ñ€Ð°Ð½ÐµÐ½Ð¸Ñ %<auto%>"
+
+-#: c-decl.c:4122
++#: c-decl.c:4121
+ #, gcc-internal-format
+ msgid "function definition declared %<register%>"
+ msgstr "определение функции Ñ ÐºÐ»Ð°ÑÑом Ñ…Ñ€Ð°Ð½ÐµÐ½Ð¸Ñ %<register%>"
+
+-#: c-decl.c:4124
++#: c-decl.c:4123
+ #, gcc-internal-format
+ msgid "function definition declared %<typedef%>"
+ msgstr "определение функции Ñ ÐºÐ»Ð°ÑÑом Ñ…Ñ€Ð°Ð½ÐµÐ½Ð¸Ñ %<typedef%>"
+
+-#: c-decl.c:4126
++#: c-decl.c:4125
+ #, gcc-internal-format
+ msgid "function definition declared %<__thread%>"
+ msgstr "определение функции Ñо Ñпецификатором %<__thread%>"
+
+-#: c-decl.c:4142
++#: c-decl.c:4141
+ #, gcc-internal-format
+ msgid "storage class specified for structure field %qs"
+ msgstr "клаÑÑ Ñ…Ñ€Ð°Ð½ÐµÐ½Ð¸Ñ Ð² декларации Ð¿Ð¾Ð»Ñ Ñтруктуры %qs"
+
+-#: c-decl.c:4146 cp/decl.c:7874
++#: c-decl.c:4145 cp/decl.c:7946
+ #, gcc-internal-format
+ msgid "storage class specified for parameter %qs"
+ msgstr "клаÑÑ Ñ…Ñ€Ð°Ð½ÐµÐ½Ð¸Ñ Ð² декларации параметра %qs"
+
+-#: c-decl.c:4149 cp/decl.c:7876
++#: c-decl.c:4148 cp/decl.c:7948
+ #, gcc-internal-format
+ msgid "storage class specified for typename"
+ msgstr "клаÑÑ Ñ…Ñ€Ð°Ð½ÐµÐ½Ð¸Ñ Ð·Ð°Ð´Ð°Ð½ Ð´Ð»Ñ Ð¸Ð¼ÐµÐ½Ð¸ типа"
+
+-#: c-decl.c:4166 cp/decl.c:7893
++#: c-decl.c:4165 cp/decl.c:7965
+ #, gcc-internal-format
+ msgid "%qs initialized and declared %<extern%>"
+ msgstr "%<extern%> Ð´ÐµÐºÐ»Ð°Ñ€Ð°Ñ†Ð¸Ñ %qs Ñ Ð¸Ð½Ð¸Ñ†Ð¸Ð°Ð»Ð¸Ð·Ð°Ñ†Ð¸ÐµÐ¹"
+
+-#: c-decl.c:4169 cp/decl.c:7896
++#: c-decl.c:4168 cp/decl.c:7968
+ #, gcc-internal-format
+ msgid "%qs has both %<extern%> and initializer"
+ msgstr "Ð´Ð»Ñ %qs задан Ñпецификатор %<extern%> и инициализатор"
+
+-#: c-decl.c:4174
++#: c-decl.c:4173
+ #, gcc-internal-format
+ msgid "file-scope declaration of %qs specifies %<auto%>"
+ msgstr "в декларации %qs на уровне файла задан клаÑÑ Ñ…Ñ€Ð°Ð½ÐµÐ½Ð¸Ñ %<auto%>"
+
+-#: c-decl.c:4176
++#: c-decl.c:4175
+ #, gcc-internal-format
+ msgid "file-scope declaration of %qs specifies %<register%>"
+ msgstr "в декларации %qs на уровне файла задан клаÑÑ Ñ…Ñ€Ð°Ð½ÐµÐ½Ð¸Ñ %<register%>"
+
+-#: c-decl.c:4181 cp/decl.c:7900
++#: c-decl.c:4180 cp/decl.c:7972
+ #, gcc-internal-format
+ msgid "nested function %qs declared %<extern%>"
+ msgstr "Ð²Ð»Ð¾Ð¶ÐµÐ½Ð½Ð°Ñ Ñ„ÑƒÐ½ÐºÑ†Ð¸Ñ %qs объÑвлена %<extern%>"
+
+-#: c-decl.c:4184 cp/decl.c:7910
++#: c-decl.c:4183 cp/decl.c:7982
+ #, gcc-internal-format
+ msgid "function-scope %qs implicitly auto and declared %<__thread%>"
+ msgstr "Ð¸Ð¼Ñ %qs на уровне функции неÑвно имеет клаÑÑ auto и объÑвлено %<__thread%>"
+@@ -18335,468 +18308,468 @@
+ #. Only the innermost declarator (making a parameter be of
+ #. array type which is converted to pointer type)
+ #. may have static or type qualifiers.
+-#: c-decl.c:4231 c-decl.c:4472
++#: c-decl.c:4230 c-decl.c:4471
+ #, gcc-internal-format
+ msgid "static or type qualifiers in non-parameter array declarator"
+ msgstr "static или квалификаторы типа в деклараторе маÑÑива, не ÑвлÑющегоÑÑ "
+
+-#: c-decl.c:4278
++#: c-decl.c:4277
+ #, gcc-internal-format
+ msgid "declaration of %qs as array of voids"
+ msgstr "Ð¸Ð¼Ñ %qs опиÑано как маÑÑив Ñлементов типа void"
+
+-#: c-decl.c:4284
++#: c-decl.c:4283
+ #, gcc-internal-format
+ msgid "declaration of %qs as array of functions"
+ msgstr "Ð¸Ð¼Ñ %qs опиÑано как маÑÑив функций"
+
+-#: c-decl.c:4289
++#: c-decl.c:4288
+ #, gcc-internal-format
+ msgid "invalid use of structure with flexible array member"
+ msgstr "неверное употребление Ñтруктуры Ñ Ñ€ÐµÐ³ÑƒÐ»Ð¸Ñ€ÑƒÐµÐ¼Ñ‹Ð¼ Ñлементом-маÑÑивом"
+
+-#: c-decl.c:4309
++#: c-decl.c:4308
+ #, gcc-internal-format
+ msgid "size of array %qs has non-integer type"
+ msgstr "размер маÑÑива %qs имеет не целочиÑленный тип"
+
+-#: c-decl.c:4314
++#: c-decl.c:4313
+ #, gcc-internal-format
+ msgid "ISO C forbids zero-size array %qs"
+ msgstr "в ISO C маÑÑив %qs нулевой длины недопуÑтим"
+
+-#: c-decl.c:4321
++#: c-decl.c:4320
+ #, gcc-internal-format
+ msgid "size of array %qs is negative"
+ msgstr "размер маÑÑива %qs отрицательный"
+
+-#: c-decl.c:4375 c-decl.c:4631 cp/decl.c:8375
++#: c-decl.c:4374 c-decl.c:4630 cp/decl.c:8447
+ #, gcc-internal-format
+ msgid "size of array %qs is too large"
+ msgstr "размер маÑÑива %qs Ñлишком велик"
+
+-#: c-decl.c:4386
++#: c-decl.c:4385
+ #, gcc-internal-format
+ msgid "ISO C90 does not support flexible array members"
+ msgstr "ISO C90 не поддерживает регулируемые Ñлементы-маÑÑивы"
+
+ #. C99 6.7.5.2p4
+-#: c-decl.c:4399
++#: c-decl.c:4398
+ #, fuzzy, gcc-internal-format
+ msgid "%<[*]%> not allowed in other than a declaration"
+ msgstr "проÑтранÑтво имён %qD не допуÑкаетÑÑ Ð² using-декларации"
+
+-#: c-decl.c:4422
++#: c-decl.c:4421
+ #, gcc-internal-format
+ msgid "array type has incomplete element type"
+ msgstr "тип Ñлементов маÑÑива неполный"
+
+-#: c-decl.c:4504 cp/decl.c:8001
++#: c-decl.c:4503 cp/decl.c:8073
+ #, gcc-internal-format
+ msgid "%qs declared as function returning a function"
+ msgstr "%qs объÑвлена как функциÑ, Ð²Ð¾Ð·Ð²Ñ€Ð°Ñ‰Ð°ÑŽÑ‰Ð°Ñ Ñ„ÑƒÐ½ÐºÑ†Ð¸ÑŽ"
+
+-#: c-decl.c:4509 cp/decl.c:8006
++#: c-decl.c:4508 cp/decl.c:8078
+ #, gcc-internal-format
+ msgid "%qs declared as function returning an array"
+ msgstr "%qs объÑвлена как функциÑ, Ð²Ð¾Ð·Ð²Ñ€Ð°Ñ‰Ð°ÑŽÑ‰Ð°Ñ Ð¼Ð°ÑÑив"
+
+-#: c-decl.c:4531
++#: c-decl.c:4530
+ #, gcc-internal-format
+ msgid "function definition has qualified void return type"
+ msgstr "в определении функции задан квалифицированный void-тип возвращаемого значениÑ"
+
+-#: c-decl.c:4534 cp/decl.c:7990 cp/pt.c:8568
++#: c-decl.c:4533 cp/decl.c:8062 cp/pt.c:8668
+ #, gcc-internal-format
+ msgid "type qualifiers ignored on function return type"
+ msgstr "квалификаторы в опиÑании типа возвращаемого Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ñ Ñ„ÑƒÐ½ÐºÑ†Ð¸Ð¸ "
+
+-#: c-decl.c:4563 c-decl.c:4644 c-decl.c:4732 c-decl.c:4825
++#: c-decl.c:4562 c-decl.c:4643 c-decl.c:4731 c-decl.c:4824
+ #, gcc-internal-format
+ msgid "ISO C forbids qualified function types"
+ msgstr "в ISO C употребление квалификаторов в опиÑании типа функции запрещено"
+
+-#: c-decl.c:4652
++#: c-decl.c:4651
+ #, gcc-internal-format
+ msgid "typedef %q+D declared %<inline%>"
+ msgstr "typedef %q+D декларирован %<inline%>"
+
+-#: c-decl.c:4667
++#: c-decl.c:4666
+ #, gcc-internal-format
+ msgid "ISO C forbids const or volatile function types"
+ msgstr "в ISO C функции Ñ ÐºÐ²Ð°Ð»Ð¸Ñ„Ð¸ÐºÐ°Ñ‚Ð¾Ñ€Ð°Ð¼Ð¸ const и volatile запрещены"
+
+ #. C99 6.7.2.1p8
+-#: c-decl.c:4677
++#: c-decl.c:4676
+ #, fuzzy, gcc-internal-format
+ msgid "a member of a structure or union cannot have a variably modified type"
+ msgstr "Ñлемент данных не может иметь тип %qT модифицируемого размера"
+
+-#: c-decl.c:4693
++#: c-decl.c:4692
+ #, gcc-internal-format
+ msgid "variable or field %qs declared void"
+ msgstr "Ð¸Ð¼Ñ Ð¿ÐµÑ€ÐµÐ¼ÐµÐ½Ð½Ð¾Ð¹ или Ð¿Ð¾Ð»Ñ %qs объÑвлено void"
+
+-#: c-decl.c:4725
++#: c-decl.c:4724
+ #, gcc-internal-format
+ msgid "attributes in parameter array declarator ignored"
+ msgstr "атрибуты в деклараторе маÑÑива-параметра проигнорированы"
+
+-#: c-decl.c:4760
++#: c-decl.c:4759
+ #, gcc-internal-format
+ msgid "parameter %q+D declared %<inline%>"
+ msgstr "параметр %q+D объÑвлен %<inline%>"
+
+-#: c-decl.c:4773
++#: c-decl.c:4772
+ #, gcc-internal-format
+ msgid "field %qs declared as a function"
+ msgstr "поле %qs опиÑано как функциÑ"
+
+-#: c-decl.c:4779
++#: c-decl.c:4778
+ #, gcc-internal-format
+ msgid "field %qs has incomplete type"
+ msgstr "поле %qs имеет неполный тип"
+
+-#: c-decl.c:4796 c-decl.c:4808 c-decl.c:4812
++#: c-decl.c:4795 c-decl.c:4807 c-decl.c:4811
+ #, gcc-internal-format
+ msgid "invalid storage class for function %qs"
+ msgstr "Ð´Ð»Ñ Ñ„ÑƒÐ½ÐºÑ†Ð¸Ð¸ %qs задан неверный клаÑÑ Ñ…Ñ€Ð°Ð½ÐµÐ½Ð¸Ñ"
+
+-#: c-decl.c:4831
++#: c-decl.c:4830
+ #, gcc-internal-format
+ msgid "%<noreturn%> function returns non-void value"
+ msgstr "Ñ„ÑƒÐ½ÐºÑ†Ð¸Ñ Ñ Ð°Ñ‚Ñ€Ð¸Ð±ÑƒÑ‚Ð¾Ð¼ noreturn возвращает не-void значение"
+
+-#: c-decl.c:4867
++#: c-decl.c:4866
+ #, gcc-internal-format
+ msgid "cannot inline function %<main%>"
+ msgstr "inline-подÑтановка функции %<main%> невозможна"
+
+-#: c-decl.c:4910
++#: c-decl.c:4909
+ #, gcc-internal-format
+ msgid "variable previously declared %<static%> redeclared %<extern%>"
+ msgstr "Ð¿ÐµÑ€ÐµÐ¼ÐµÐ½Ð½Ð°Ñ Ð´ÐµÐºÐ»Ð°Ñ€Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð° Ñначала как %<static%>, а затем как %<extern%>"
+
+-#: c-decl.c:4920
++#: c-decl.c:4919
+ #, gcc-internal-format
+ msgid "variable %q+D declared %<inline%>"
+ msgstr "Ð¿ÐµÑ€ÐµÐ¼ÐµÐ½Ð½Ð°Ñ %q+D декларирована Ñо Ñпецификатором %<inline%>"
+
+ #. C99 6.7.5.2p2
+-#: c-decl.c:4951
++#: c-decl.c:4950
+ #, gcc-internal-format
+ msgid "object with variably modified type must have no linkage"
+ msgstr ""
+
+-#: c-decl.c:5020 c-decl.c:6199
++#: c-decl.c:5019 c-decl.c:6198
+ #, gcc-internal-format
+ msgid "function declaration isn%'t a prototype"
+ msgstr "Ð´ÐµÐºÐ»Ð°Ñ€Ð°Ñ†Ð¸Ñ Ñ„ÑƒÐ½ÐºÑ†Ð¸Ð¸ не ÑвлÑетÑÑ Ð¿Ñ€Ð¾Ñ‚Ð¾Ñ‚Ð¸Ð¿Ð¾Ð¼"
+
+-#: c-decl.c:5028
++#: c-decl.c:5027
+ #, gcc-internal-format
+ msgid "parameter names (without types) in function declaration"
+ msgstr "в декларации функции указаны имена параметров без типов"
+
+-#: c-decl.c:5061
++#: c-decl.c:5060
+ #, gcc-internal-format
+ msgid "parameter %u (%q+D) has incomplete type"
+ msgstr "параметр %u (%q+D) имеет неполный тип"
+
+-#: c-decl.c:5064
++#: c-decl.c:5063
+ #, gcc-internal-format
+ msgid "%Jparameter %u has incomplete type"
+ msgstr "%Jпараметр %u имеет неполный тип"
+
+-#: c-decl.c:5073
++#: c-decl.c:5072
+ #, gcc-internal-format
+ msgid "parameter %u (%q+D) has void type"
+ msgstr "параметр %u (%q+D) имеет тип void"
+
+-#: c-decl.c:5076
++#: c-decl.c:5075
+ #, gcc-internal-format
+ msgid "%Jparameter %u has void type"
+ msgstr "%Jпараметр %u имеет неполный void"
+
+-#: c-decl.c:5138
++#: c-decl.c:5137
+ #, gcc-internal-format
+ msgid "%<void%> as only parameter may not be qualified"
+ msgstr "%<void%>, как единÑтвенный параметры не может Ñодержать квалификаторы"
+
+-#: c-decl.c:5142 c-decl.c:5176
++#: c-decl.c:5141 c-decl.c:5175
+ #, gcc-internal-format
+ msgid "%<void%> must be the only parameter"
+ msgstr "%<void%> должен быть единÑтвенным параметром"
+
+-#: c-decl.c:5170
++#: c-decl.c:5169
+ #, gcc-internal-format
+ msgid "parameter %q+D has just a forward declaration"
+ msgstr "Ð´Ð»Ñ Ð¿Ð°Ñ€Ð°Ð¼ÐµÑ‚Ñ€Ð° %q+D еÑÑ‚ÑŒ только ÑƒÐ¿Ñ€ÐµÐ¶Ð´Ð°ÑŽÑ‰Ð°Ñ Ð´ÐµÐºÐ»Ð°Ñ€Ð°Ñ†Ð¸Ñ"
+
+ #. The %s will be one of 'struct', 'union', or 'enum'.
+-#: c-decl.c:5215
++#: c-decl.c:5214
+ #, gcc-internal-format
+ msgid "%<%s %E%> declared inside parameter list"
+ msgstr "Ð´ÐµÐºÐ»Ð°Ñ€Ð°Ñ†Ð¸Ñ %<%s %E%> внутри ÑпиÑка параметров"
+
+ #. The %s will be one of 'struct', 'union', or 'enum'.
+-#: c-decl.c:5219
++#: c-decl.c:5218
+ #, gcc-internal-format
+ msgid "anonymous %s declared inside parameter list"
+ msgstr "Ð´ÐµÐºÐ»Ð°Ñ€Ð°Ñ†Ð¸Ñ %s без имени внутри ÑпиÑка параметров"
+
+-#: c-decl.c:5224
++#: c-decl.c:5223
+ #, gcc-internal-format
+ msgid "its scope is only this definition or declaration, which is probably not what you want"
+ msgstr "облаÑÑ‚ÑŒ дейÑÑ‚Ð²Ð¸Ñ Ñ‚Ð¸Ð¿Ð° - только Ð´Ð°Ð½Ð½Ð°Ñ Ð´ÐµÐºÐ»Ð°Ñ€Ð°Ñ†Ð¸Ñ Ð¸Ð»Ð¸ определение, что может не ÑоответÑтвовать вашим намерениÑм"
+
+-#: c-decl.c:5358
++#: c-decl.c:5357
+ #, gcc-internal-format
+ msgid "redefinition of %<union %E%>"
+ msgstr "повторное определение %<union %E%>"
+
+-#: c-decl.c:5360
++#: c-decl.c:5359
+ #, gcc-internal-format
+ msgid "redefinition of %<struct %E%>"
+ msgstr "повторное определение %<struct %E%>"
+
+-#: c-decl.c:5365
++#: c-decl.c:5364
+ #, gcc-internal-format
+ msgid "nested redefinition of %<union %E%>"
+ msgstr "вложенное переопределение %<union %E%>"
+
+-#: c-decl.c:5367
++#: c-decl.c:5366
+ #, gcc-internal-format
+ msgid "nested redefinition of %<struct %E%>"
+ msgstr "вложенное переопределение %<struct %E%>"
+
+-#: c-decl.c:5442 cp/decl.c:3780
++#: c-decl.c:5441 cp/decl.c:3796
+ #, gcc-internal-format
+ msgid "declaration does not declare anything"
+ msgstr "Ð´ÐµÐºÐ»Ð°Ñ€Ð°Ñ†Ð¸Ñ Ð½Ð¸Ñ‡ÐµÐ³Ð¾ не опиÑывает"
+
+-#: c-decl.c:5446
++#: c-decl.c:5445
+ #, gcc-internal-format
+ msgid "ISO C doesn%'t support unnamed structs/unions"
+ msgstr "ISO C не поддерживает безымÑнные Ñтруктуры и объединениÑ"
+
+-#: c-decl.c:5490 c-decl.c:5506
++#: c-decl.c:5489 c-decl.c:5505
+ #, gcc-internal-format
+ msgid "duplicate member %q+D"
+ msgstr "повторное опиÑание члена %q+D"
+
+-#: c-decl.c:5545
++#: c-decl.c:5544
+ #, gcc-internal-format
+ msgid "union has no named members"
+ msgstr "объединение не Ñодержит именованных Ñлементов"
+
+-#: c-decl.c:5547
++#: c-decl.c:5546
+ #, gcc-internal-format
+ msgid "union has no members"
+ msgstr "объединение без Ñлементов"
+
+-#: c-decl.c:5552
++#: c-decl.c:5551
+ #, gcc-internal-format
+ msgid "struct has no named members"
+ msgstr "Ñтруктура не Ñодержит именованных Ñлементов"
+
+-#: c-decl.c:5554
++#: c-decl.c:5553
+ #, gcc-internal-format
+ msgid "struct has no members"
+ msgstr "Ñтруктура не Ñодержит Ñлементов"
+
+-#: c-decl.c:5616
++#: c-decl.c:5615
+ #, gcc-internal-format
+ msgid "%Jflexible array member in union"
+ msgstr "%Jрегулируемый Ñлемент-маÑÑив в объединении"
+
+-#: c-decl.c:5621
++#: c-decl.c:5620
+ #, gcc-internal-format
+ msgid "%Jflexible array member not at end of struct"
+ msgstr "%Jрегулируемый Ñлемент-маÑÑив - не поÑледний Ñлемент Ñтруктуры"
+
+-#: c-decl.c:5626
++#: c-decl.c:5625
+ #, gcc-internal-format
+ msgid "%Jflexible array member in otherwise empty struct"
+ msgstr "%Jрегулируемый маÑÑив - единÑтвенный именованный Ñлемент Ñтруктуры"
+
+-#: c-decl.c:5633
++#: c-decl.c:5632
+ #, gcc-internal-format
+ msgid "%Jinvalid use of structure with flexible array member"
+ msgstr "%Jнекорректное иÑпользование Ñтруктуры Ñ Ñ€ÐµÐ³ÑƒÐ»Ð¸Ñ€ÑƒÐµÐ¼Ñ‹Ð¼ Ñлементом-маÑÑивом"
+
+-#: c-decl.c:5742
++#: c-decl.c:5741
+ #, gcc-internal-format
+ msgid "union cannot be made transparent"
+ msgstr "трактовка данного Ð¾Ð±ÑŠÐµÐ´Ð¸Ð½ÐµÐ½Ð¸Ñ ÐºÐ°Ðº прозрачного невозможна"
+
+-#: c-decl.c:5813
++#: c-decl.c:5812
+ #, gcc-internal-format
+ msgid "nested redefinition of %<enum %E%>"
+ msgstr "вложенное переопределение %<enum %E%>"
+
+ #. This enum is a named one that has been declared already.
+-#: c-decl.c:5820
++#: c-decl.c:5819
+ #, gcc-internal-format
+ msgid "redeclaration of %<enum %E%>"
+ msgstr "Ð¿Ð¾Ð²Ñ‚Ð¾Ñ€Ð½Ð°Ñ Ð´ÐµÐºÐ»Ð°Ñ€Ð°Ñ†Ð¸Ñ %<enum %E%>"
+
+-#: c-decl.c:5883
++#: c-decl.c:5882
+ #, gcc-internal-format
+ msgid "enumeration values exceed range of largest integer"
+ msgstr "перечиÑлимый тип превышает диапазон макÑимального целочиÑленного типа"
+
+-#: c-decl.c:5900
++#: c-decl.c:5899
+ #, gcc-internal-format
+ msgid "specified mode too small for enumeral values"
+ msgstr "Ð·Ð°Ð´Ð°Ð½Ð½Ð°Ñ Ð¼Ð¾Ð´Ð° Ñлишком мала Ð´Ð»Ñ Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ð¹ перечиÑлимого типа"
+
+-#: c-decl.c:5996
++#: c-decl.c:5995
+ #, gcc-internal-format
+ msgid "enumerator value for %qE is not an integer constant"
+ msgstr "значение перечиÑлимого типа Ð´Ð»Ñ %qE не ÑвлÑетÑÑ ÐºÐ¾Ð½Ñтантой целого типа"
+
+-#: c-decl.c:6013
++#: c-decl.c:6012
+ #, gcc-internal-format
+ msgid "overflow in enumeration values"
+ msgstr "переполнение значений перечиÑлимого типа"
+
+-#: c-decl.c:6018
++#: c-decl.c:6017
+ #, gcc-internal-format
+ msgid "ISO C restricts enumerator values to range of %<int%>"
+ msgstr "в ISO C Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ñ Ð¿ÐµÑ€ÐµÑ‡Ð¸Ñлимого типа ограничены диапазоном типа %<int%>"
+
+-#: c-decl.c:6125
++#: c-decl.c:6124
+ #, gcc-internal-format
+ msgid "return type is an incomplete type"
+ msgstr "тип возвращаемого Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ñ Ð½Ðµ полный"
+
+-#: c-decl.c:6133
++#: c-decl.c:6132
+ #, gcc-internal-format
+ msgid "return type defaults to %<int%>"
+ msgstr "по умолчанию возвращаемый тип функции - %<int%>"
+
+-#: c-decl.c:6206
++#: c-decl.c:6205
+ #, gcc-internal-format
+ msgid "no previous prototype for %q+D"
+ msgstr "прототип Ð´Ð»Ñ %q+D не был предварительно определен"
+
+-#: c-decl.c:6215
++#: c-decl.c:6214
+ #, gcc-internal-format
+ msgid "%q+D was used with no prototype before its definition"
+ msgstr "%q+D иÑпользована без предварительного определениÑ"
+
+-#: c-decl.c:6221 cp/decl.c:11126
++#: c-decl.c:6220 cp/decl.c:11224
+ #, gcc-internal-format
+ msgid "no previous declaration for %q+D"
+ msgstr "отÑутÑтвует Ð¿Ñ€ÐµÐ´Ð²Ð°Ñ€Ð¸Ñ‚ÐµÐ»ÑŒÐ½Ð°Ñ Ð´ÐµÐºÐ»Ð°Ñ€Ð°Ñ†Ð¸Ñ %q+D"
+
+-#: c-decl.c:6231
++#: c-decl.c:6230
+ #, gcc-internal-format
+ msgid "%q+D was used with no declaration before its definition"
+ msgstr "Ñ„ÑƒÐ½ÐºÑ†Ð¸Ñ %q+D иÑпользована до Ð¾Ð¿Ñ€ÐµÐ´ÐµÐ»ÐµÐ½Ð¸Ñ Ð±ÐµÐ· предварительной декларации"
+
+-#: c-decl.c:6254 c-decl.c:6723
++#: c-decl.c:6253 c-decl.c:6722
+ #, gcc-internal-format
+ msgid "return type of %q+D is not %<int%>"
+ msgstr "возвращаемое значение функции %q+D - не %<int%>"
+
+-#: c-decl.c:6259
++#: c-decl.c:6258
+ #, gcc-internal-format
+ msgid "%q+D is normally a non-static function"
+ msgstr "обычно %q+D ÑвлÑетÑÑ Ð½ÐµÑтатичеÑкой функцией"
+
+-#: c-decl.c:6293
++#: c-decl.c:6292
+ #, gcc-internal-format
+ msgid "%Jold-style parameter declarations in prototyped function definition"
+ msgstr "%JÑтарый Ñтиль деклараций параметров в определении функции Ñ Ð¿Ñ€Ð¾Ñ‚Ð¾Ñ‚Ð¸Ð¿Ð¾Ð¼"
+
+-#: c-decl.c:6307
++#: c-decl.c:6306
+ #, gcc-internal-format
+ msgid "%Jtraditional C rejects ISO C style function definitions"
+ msgstr "%Jв традиционном С не поддерживаютÑÑ Ð¾Ð¿Ñ€ÐµÐ´ÐµÐ»ÐµÐ½Ð¸Ñ Ñ„ÑƒÐ½ÐºÑ†Ð¸Ð¹ в Ñтиле ISO C"
+
+-#: c-decl.c:6323
++#: c-decl.c:6322
+ #, gcc-internal-format
+ msgid "%Jparameter name omitted"
+ msgstr "%Jопущено Ð¸Ð¼Ñ Ð¿Ð°Ñ€Ð°Ð¼ÐµÑ‚Ñ€Ð°"
+
+-#: c-decl.c:6357
++#: c-decl.c:6356
+ #, gcc-internal-format
+ msgid "%Jold-style function definition"
+ msgstr "%Jопределение функции в Ñтаром Ñтиле"
+
+-#: c-decl.c:6366
++#: c-decl.c:6365
+ #, gcc-internal-format
+ msgid "%Jparameter name missing from parameter list"
+ msgstr "%Jв ÑпиÑке параметров пропущено Ð¸Ð¼Ñ Ð¿Ð°Ñ€Ð°Ð¼ÐµÑ‚Ñ€Ð°"
+
+-#: c-decl.c:6377
++#: c-decl.c:6376
+ #, gcc-internal-format
+ msgid "%q+D declared as a non-parameter"
+ msgstr "%q+D декларирован как не параметр"
+
+-#: c-decl.c:6382
++#: c-decl.c:6381
+ #, gcc-internal-format
+ msgid "multiple parameters named %q+D"
+ msgstr "более одного параметра Ñ Ð¸Ð¼ÐµÐ½ÐµÐ¼ %q+D"
+
+-#: c-decl.c:6390
++#: c-decl.c:6389
+ #, gcc-internal-format
+ msgid "parameter %q+D declared with void type"
+ msgstr "параметр %q+D объÑвлен void"
+
+-#: c-decl.c:6407 c-decl.c:6409
++#: c-decl.c:6406 c-decl.c:6408
+ #, gcc-internal-format
+ msgid "type of %q+D defaults to %<int%>"
+ msgstr "по умолчанию Ð´Ð»Ñ %q+D принÑÑ‚ тип %<int%>"
+
+-#: c-decl.c:6428
++#: c-decl.c:6427
+ #, gcc-internal-format
+ msgid "parameter %q+D has incomplete type"
+ msgstr "параметр %q+D имеет неполный тип"
+
+-#: c-decl.c:6434
++#: c-decl.c:6433
+ #, gcc-internal-format
+ msgid "declaration for parameter %q+D but no such parameter"
+ msgstr "Ð´ÐµÐºÐ»Ð°Ñ€Ð°Ñ†Ð¸Ñ Ð¿Ð°Ñ€Ð°Ð¼ÐµÑ‚Ñ€Ð° %q+D, не заданного в ÑпиÑке параметров"
+
+-#: c-decl.c:6484
++#: c-decl.c:6483
+ #, gcc-internal-format
+ msgid "number of arguments doesn%'t match built-in prototype"
+ msgstr "чиÑло аргументов не ÑоответÑтвует вÑтроенному прототипу"
+
+-#: c-decl.c:6488
++#: c-decl.c:6487
+ #, gcc-internal-format
+ msgid "number of arguments doesn%'t match prototype"
+ msgstr "чиÑло аргументов не ÑоответÑтвует прототипу"
+
+-#: c-decl.c:6489 c-decl.c:6529 c-decl.c:6542
++#: c-decl.c:6488 c-decl.c:6528 c-decl.c:6541
+ #, gcc-internal-format
+ msgid "%Hprototype declaration"
+ msgstr "%HÐ´ÐµÐºÐ»Ð°Ñ€Ð°Ñ†Ð¸Ñ Ð¿Ñ€Ð¾Ñ‚Ð¾Ñ‚Ð¸Ð¿Ð°"
+
+-#: c-decl.c:6523
++#: c-decl.c:6522
+ #, gcc-internal-format
+ msgid "promoted argument %qD doesn%'t match built-in prototype"
+ msgstr "аргумент %qD поÑле Ð¿Ñ€Ð¸Ð²ÐµÐ´ÐµÐ½Ð¸Ñ Ñ‚Ð¸Ð¿Ð° не ÑоответÑтвует вÑтроенному прототипу"
+
+-#: c-decl.c:6527
++#: c-decl.c:6526
+ #, gcc-internal-format
+ msgid "promoted argument %qD doesn%'t match prototype"
+ msgstr "аргумент %qD поÑле Ð¿Ñ€Ð¸Ð²ÐµÐ´ÐµÐ½Ð¸Ñ Ñ‚Ð¸Ð¿Ð° не ÑоответÑтвует прототипу"
+
+-#: c-decl.c:6537
++#: c-decl.c:6536
+ #, gcc-internal-format
+ msgid "argument %qD doesn%'t match built-in prototype"
+ msgstr "аргумент %qD не ÑоответÑтвует вÑтроенному прототипу"
+
+-#: c-decl.c:6541
++#: c-decl.c:6540
+ #, gcc-internal-format
+ msgid "argument %qD doesn%'t match prototype"
+ msgstr "аргумент %qD не ÑоответÑтвует прототипу"
+
+-#: c-decl.c:6768 cp/decl.c:11820
++#: c-decl.c:6767 cp/decl.c:11918
+ #, gcc-internal-format
+ msgid "no return statement in function returning non-void"
+ msgstr "в функции, ÐºÐ¾Ñ‚Ð¾Ñ€Ð°Ñ Ð´Ð¾Ð»Ð¶Ð½Ð° возвращать значение, отÑутÑтвует оператор return"
+@@ -18804,437 +18777,437 @@
+ #. If we get here, declarations have been used in a for loop without
+ #. the C99 for loop scope. This doesn't make much sense, so don't
+ #. allow it.
+-#: c-decl.c:6841
++#: c-decl.c:6840
+ #, gcc-internal-format
+ msgid "%<for%> loop initial declaration used outside C99 mode"
+ msgstr "Ð´ÐµÐºÐ»Ð°Ñ€Ð°Ñ†Ð¸Ñ Ð² заголовке %<for%>-цикла поддерживаетÑÑ Ñ‚Ð¾Ð»ÑŒÐºÐ¾ в Ñтандарте C99"
+
+-#: c-decl.c:6870
++#: c-decl.c:6869
+ #, gcc-internal-format
+ msgid "declaration of static variable %q+D in %<for%> loop initial declaration"
+ msgstr "Ð´ÐµÐºÐ»Ð°Ñ€Ð°Ñ†Ð¸Ñ ÑтатичеÑкой переменной %q+D в заголовке %<for%>-цикла"
+
+-#: c-decl.c:6873
++#: c-decl.c:6872
+ #, gcc-internal-format
+ msgid "declaration of %<extern%> variable %q+D in %<for%> loop initial declaration"
+ msgstr "Ð´ÐµÐºÐ»Ð°Ñ€Ð°Ñ†Ð¸Ñ %<extern%> переменной %q+D в заголовке %<for%>-цикла"
+
+-#: c-decl.c:6878
++#: c-decl.c:6877
+ #, gcc-internal-format
+ msgid "%<struct %E%> declared in %<for%> loop initial declaration"
+ msgstr "Ð´ÐµÐºÐ»Ð°Ñ€Ð°Ñ†Ð¸Ñ %<struct %E%> в заголовке %<for%>-цикла"
+
+-#: c-decl.c:6882
++#: c-decl.c:6881
+ #, gcc-internal-format
+ msgid "%<union %E%> declared in %<for%> loop initial declaration"
+ msgstr "Ð´ÐµÐºÐ»Ð°Ñ€Ð°Ñ†Ð¸Ñ %<union %E%> в заголовке %<for%>-цикла"
+
+-#: c-decl.c:6886
++#: c-decl.c:6885
+ #, gcc-internal-format
+ msgid "%<enum %E%> declared in %<for%> loop initial declaration"
+ msgstr "Ð´ÐµÐºÐ»Ð°Ñ€Ð°Ñ†Ð¸Ñ %<enum %E%> в заголовке %<for%>-цикла"
+
+-#: c-decl.c:6890
++#: c-decl.c:6889
+ #, gcc-internal-format
+ msgid "declaration of non-variable %q+D in %<for%> loop initial declaration"
+ msgstr "Ð´ÐµÐºÐ»Ð°Ñ€Ð°Ñ†Ð¸Ñ %q+D, не ÑвлÑющегоÑÑ Ð¿ÐµÑ€ÐµÐ¼ÐµÐ½Ð½Ð¾Ð¹, в заголовке %<for%>-цикла"
+
+-#: c-decl.c:7178 c-decl.c:7420 c-decl.c:7716
++#: c-decl.c:7177 c-decl.c:7419 c-decl.c:7715
+ #, gcc-internal-format
+ msgid "duplicate %qE"
+ msgstr "дублирование %qE"
+
+-#: c-decl.c:7201 c-decl.c:7430 c-decl.c:7617
++#: c-decl.c:7200 c-decl.c:7429 c-decl.c:7616
+ #, gcc-internal-format
+ msgid "two or more data types in declaration specifiers"
+ msgstr "два или более типа в декларации"
+
+-#: c-decl.c:7213 cp/parser.c:2149
++#: c-decl.c:7212 cp/parser.c:2152
+ #, gcc-internal-format
+ msgid "%<long long long%> is too long for GCC"
+ msgstr "GCC не поддерживает тип %<long long long%>"
+
+-#: c-decl.c:7220 c-decl.c:7520
++#: c-decl.c:7219 c-decl.c:7519
+ #, gcc-internal-format
+ msgid "both %<long long%> and %<double%> in declaration specifiers"
+ msgstr "в декларации иÑпользованы Ñпецификаторы %<long long%> и %<double%>"
+
+-#: c-decl.c:7226
++#: c-decl.c:7225
+ #, gcc-internal-format
+ msgid "ISO C90 does not support %<long long%>"
+ msgstr "ISO C90 не поддерживает тип %<long long%>"
+
+-#: c-decl.c:7231 c-decl.c:7260
++#: c-decl.c:7230 c-decl.c:7259
+ #, gcc-internal-format
+ msgid "both %<long%> and %<short%> in declaration specifiers"
+ msgstr "в декларации заданы Ñпецификаторы %<long%> и %<short%>"
+
+-#: c-decl.c:7234 c-decl.c:7437
++#: c-decl.c:7233 c-decl.c:7436
+ #, gcc-internal-format
+ msgid "both %<long%> and %<void%> in declaration specifiers"
+ msgstr "в декларации заданы Ñпецификаторы %<long%> и %<void%>"
+
+-#: c-decl.c:7237 c-decl.c:7459
++#: c-decl.c:7236 c-decl.c:7458
+ #, gcc-internal-format
+ msgid "both %<long%> and %<_Bool%> in declaration specifiers"
+ msgstr "в декларации заданы Ñпецификаторы %<long%> и %<_Bool%>"
+
+-#: c-decl.c:7240 c-decl.c:7481
++#: c-decl.c:7239 c-decl.c:7480
+ #, gcc-internal-format
+ msgid "both %<long%> and %<char%> in declaration specifiers"
+ msgstr "в декларации заданы Ñпецификаторы %<long%> и %<char%>"
+
+-#: c-decl.c:7243 c-decl.c:7501
++#: c-decl.c:7242 c-decl.c:7500
+ #, gcc-internal-format
+ msgid "both %<long%> and %<float%> in declaration specifiers"
+ msgstr "Ð´Ð»Ñ Ð¸Ð¼ÐµÐ½Ð¸ заданы неÑовмеÑтимые Ñпецификаторы %<long%> и %<float%>"
+
+-#: c-decl.c:7246
++#: c-decl.c:7245
+ #, fuzzy, gcc-internal-format
+ msgid "both %<long%> and %<_Decimal32%> in declaration specifiers"
+ msgstr "в декларации заданы Ñпецификаторы %<long%> и %<char%>"
+
+-#: c-decl.c:7249
++#: c-decl.c:7248
+ #, fuzzy, gcc-internal-format
+ msgid "both %<long%> and %<_Decimal64%> in declaration specifiers"
+ msgstr "в декларации заданы Ñпецификаторы %<long%> и %<char%>"
+
+-#: c-decl.c:7252
++#: c-decl.c:7251
+ #, fuzzy, gcc-internal-format
+ msgid "both %<long%> and %<_Decimal128%> in declaration specifiers"
+ msgstr "в декларации заданы Ñпецификаторы %<long%> и %<char%>"
+
+-#: c-decl.c:7263 c-decl.c:7440
++#: c-decl.c:7262 c-decl.c:7439
+ #, gcc-internal-format
+ msgid "both %<short%> and %<void%> in declaration specifiers"
+ msgstr "в декларации иÑпользованы Ñпецификаторы %<short%> и %<void%>"
+
+-#: c-decl.c:7266 c-decl.c:7462
++#: c-decl.c:7265 c-decl.c:7461
+ #, gcc-internal-format
+ msgid "both %<short%> and %<_Bool%> in declaration specifiers"
+ msgstr "в декларации иÑпользованы Ñпецификаторы %<short%> и %<_Bool%>"
+
+-#: c-decl.c:7269 c-decl.c:7484
++#: c-decl.c:7268 c-decl.c:7483
+ #, gcc-internal-format
+ msgid "both %<short%> and %<char%> in declaration specifiers"
+ msgstr "в декларации иÑпользованы Ñпецификаторы %<short%> и %<char%>"
+
+-#: c-decl.c:7272 c-decl.c:7504
++#: c-decl.c:7271 c-decl.c:7503
+ #, gcc-internal-format
+ msgid "both %<short%> and %<float%> in declaration specifiers"
+ msgstr "в декларации иÑпользованы Ñпецификаторы %<short%> и %<float%>"
+
+-#: c-decl.c:7275 c-decl.c:7523
++#: c-decl.c:7274 c-decl.c:7522
+ #, gcc-internal-format
+ msgid "both %<short%> and %<double%> in declaration specifiers"
+ msgstr "в декларации иÑпользованы Ñпецификаторы %<short%> и %<double%>"
+
+-#: c-decl.c:7278
++#: c-decl.c:7277
+ #, fuzzy, gcc-internal-format
+ msgid "both %<short%> and %<_Decimal32%> in declaration specifiers"
+ msgstr "в декларации иÑпользованы Ñпецификаторы %<short%> и %<char%>"
+
+-#: c-decl.c:7281
++#: c-decl.c:7280
+ #, fuzzy, gcc-internal-format
+ msgid "both %<short%> and %<_Decimal64%> in declaration specifiers"
+ msgstr "в декларации иÑпользованы Ñпецификаторы %<short%> и %<char%>"
+
+-#: c-decl.c:7284
++#: c-decl.c:7283
+ #, fuzzy, gcc-internal-format
+ msgid "both %<short%> and %<_Decimal128%> in declaration specifiers"
+ msgstr "в декларации иÑпользованы Ñпецификаторы %<short%> и %<char%>"
+
+-#: c-decl.c:7292 c-decl.c:7321
++#: c-decl.c:7291 c-decl.c:7320
+ #, gcc-internal-format
+ msgid "both %<signed%> and %<unsigned%> in declaration specifiers"
+ msgstr "в декларации иÑпользованы Ñпецификаторы %<signed%> и %<unsigned%>"
+
+-#: c-decl.c:7295 c-decl.c:7443
++#: c-decl.c:7294 c-decl.c:7442
+ #, gcc-internal-format
+ msgid "both %<signed%> and %<void%> in declaration specifiers"
+ msgstr "в декларации иÑпользованы Ñпецификаторы %<signed%> и %<void%>"
+
+-#: c-decl.c:7298 c-decl.c:7465
++#: c-decl.c:7297 c-decl.c:7464
+ #, gcc-internal-format
+ msgid "both %<signed%> and %<_Bool%> in declaration specifiers"
+ msgstr "в декларации иÑпользованы Ñпецификаторы %<signed%> и %<_Bool%>"
+
+-#: c-decl.c:7301 c-decl.c:7507
++#: c-decl.c:7300 c-decl.c:7506
+ #, gcc-internal-format
+ msgid "both %<signed%> and %<float%> in declaration specifiers"
+ msgstr "в декларации иÑпользованы Ñпецификаторы %<signed%> и %<float%>"
+
+-#: c-decl.c:7304 c-decl.c:7526
++#: c-decl.c:7303 c-decl.c:7525
+ #, gcc-internal-format
+ msgid "both %<signed%> and %<double%> in declaration specifiers"
+ msgstr "в декларации иÑпользованы Ñпецификаторы %<signed%> и %<double%>"
+
+-#: c-decl.c:7307
++#: c-decl.c:7306
+ #, fuzzy, gcc-internal-format
+ msgid "both %<signed%> and %<_Decimal32%> in declaration specifiers"
+ msgstr "в декларации иÑпользованы Ñпецификаторы %<signed%> и %<_Bool%>"
+
+-#: c-decl.c:7310
++#: c-decl.c:7309
+ #, fuzzy, gcc-internal-format
+ msgid "both %<signed%> and %<_Decimal64%> in declaration specifiers"
+ msgstr "в декларации иÑпользованы Ñпецификаторы %<signed%> и %<_Bool%>"
+
+-#: c-decl.c:7313
++#: c-decl.c:7312
+ #, fuzzy, gcc-internal-format
+ msgid "both %<signed%> and %<_Decimal128%> in declaration specifiers"
+ msgstr "в декларации иÑпользованы Ñпецификаторы %<signed%> и %<_Bool%>"
+
+-#: c-decl.c:7324 c-decl.c:7446
++#: c-decl.c:7323 c-decl.c:7445
+ #, gcc-internal-format
+ msgid "both %<unsigned%> and %<void%> in declaration specifiers"
+ msgstr "в декларации иÑпользованы Ñпецификаторы %<unsigned%> и %<void%>"
+
+-#: c-decl.c:7327 c-decl.c:7468
++#: c-decl.c:7326 c-decl.c:7467
+ #, gcc-internal-format
+ msgid "both %<unsigned%> and %<_Bool%> in declaration specifiers"
+ msgstr "в декларации иÑпользованы Ñпецификаторы %<unsigned%> и %<_Bool%>"
+
+-#: c-decl.c:7330 c-decl.c:7510
++#: c-decl.c:7329 c-decl.c:7509
+ #, gcc-internal-format
+ msgid "both %<unsigned%> and %<float%> in declaration specifiers"
+ msgstr "в декларации иÑпользованы Ñпецификаторы %<unsigned%> и %<float%>"
+
+-#: c-decl.c:7333 c-decl.c:7529
++#: c-decl.c:7332 c-decl.c:7528
+ #, gcc-internal-format
+ msgid "both %<unsigned%> and %<double%> in declaration specifiers"
+ msgstr "в декларации иÑпользованы Ñпецификаторы %<unsigned%> и %<double%>"
+
+-#: c-decl.c:7336
++#: c-decl.c:7335
+ #, fuzzy, gcc-internal-format
+ msgid "both %<unsigned%> and %<_Decimal32%> in declaration specifiers"
+ msgstr "в декларации иÑпользованы Ñпецификаторы %<unsigned%> и %<_Bool%>"
+
+-#: c-decl.c:7339
++#: c-decl.c:7338
+ #, fuzzy, gcc-internal-format
+ msgid "both %<unsigned%> and %<_Decimal64%> in declaration specifiers"
+ msgstr "в декларации иÑпользованы Ñпецификаторы %<unsigned%> и %<_Bool%>"
+
+-#: c-decl.c:7342
++#: c-decl.c:7341
+ #, fuzzy, gcc-internal-format
+ msgid "both %<unsigned%> and %<_Decimal128%> in declaration specifiers"
+ msgstr "в декларации иÑпользованы Ñпецификаторы %<unsigned%> и %<_Bool%>"
+
+-#: c-decl.c:7350
++#: c-decl.c:7349
+ #, gcc-internal-format
+ msgid "ISO C90 does not support complex types"
+ msgstr "ISO C90 не поддерживает комплекÑные типы"
+
+-#: c-decl.c:7352 c-decl.c:7449
++#: c-decl.c:7351 c-decl.c:7448
+ #, gcc-internal-format
+ msgid "both %<complex%> and %<void%> in declaration specifiers"
+ msgstr "в декларации иÑпользованы Ñпецификаторы %<complex%> и %<void%>"
+
+-#: c-decl.c:7355 c-decl.c:7471
++#: c-decl.c:7354 c-decl.c:7470
+ #, gcc-internal-format
+ msgid "both %<complex%> and %<_Bool%> in declaration specifiers"
+ msgstr "в декларации иÑпользованы Ñпецификаторы %<complex%> и %<_Bool%>"
+
+-#: c-decl.c:7358
++#: c-decl.c:7357
+ #, fuzzy, gcc-internal-format
+ msgid "both %<complex%> and %<_Decimal32%> in declaration specifiers"
+ msgstr "в декларации иÑпользованы Ñпецификаторы %<complex%> и %<_Bool%>"
+
+-#: c-decl.c:7361
++#: c-decl.c:7360
+ #, fuzzy, gcc-internal-format
+ msgid "both %<complex%> and %<_Decimal64%> in declaration specifiers"
+ msgstr "в декларации иÑпользованы Ñпецификаторы %<complex%> и %<_Bool%>"
+
+-#: c-decl.c:7364
++#: c-decl.c:7363
+ #, fuzzy, gcc-internal-format
+ msgid "both %<complex%> and %<_Decimal128%> in declaration specifiers"
+ msgstr "в декларации иÑпользованы Ñпецификаторы %<complex%> и %<_Bool%>"
+
+-#: c-decl.c:7367
++#: c-decl.c:7366
+ #, fuzzy, gcc-internal-format
+ msgid "both %<complex%> and %<_Fract%> in declaration specifiers"
+ msgstr "в декларации иÑпользованы Ñпецификаторы %<complex%> и %<_Bool%>"
+
+-#: c-decl.c:7370
++#: c-decl.c:7369
+ #, fuzzy, gcc-internal-format
+ msgid "both %<complex%> and %<_Accum%> in declaration specifiers"
+ msgstr "в декларации иÑпользованы Ñпецификаторы %<complex%> и %<_Bool%>"
+
+-#: c-decl.c:7373
++#: c-decl.c:7372
+ #, fuzzy, gcc-internal-format
+ msgid "both %<complex%> and %<_Sat%> in declaration specifiers"
+ msgstr "в декларации иÑпользованы Ñпецификаторы %<complex%> и %<_Bool%>"
+
+-#: c-decl.c:7381
++#: c-decl.c:7380
+ #, fuzzy, gcc-internal-format
+ msgid "ISO C does not support saturating types"
+ msgstr "ISO C не поддерживает целочиÑленные комплекÑные типы"
+
+-#: c-decl.c:7383 c-decl.c:7452
++#: c-decl.c:7382 c-decl.c:7451
+ #, fuzzy, gcc-internal-format
+ msgid "both %<_Sat%> and %<void%> in declaration specifiers"
+ msgstr "в декларации иÑпользованы Ñпецификаторы %<short%> и %<void%>"
+
+-#: c-decl.c:7386 c-decl.c:7474
++#: c-decl.c:7385 c-decl.c:7473
+ #, fuzzy, gcc-internal-format
+ msgid "both %<_Sat%> and %<_Bool%> in declaration specifiers"
+ msgstr "в декларации иÑпользованы Ñпецификаторы %<short%> и %<_Bool%>"
+
+-#: c-decl.c:7389 c-decl.c:7487
++#: c-decl.c:7388 c-decl.c:7486
+ #, fuzzy, gcc-internal-format
+ msgid "both %<_Sat%> and %<char%> in declaration specifiers"
+ msgstr "в декларации иÑпользованы Ñпецификаторы %<short%> и %<char%>"
+
+-#: c-decl.c:7392 c-decl.c:7494
++#: c-decl.c:7391 c-decl.c:7493
+ #, fuzzy, gcc-internal-format
+ msgid "both %<_Sat%> and %<int%> in declaration specifiers"
+ msgstr "в декларации иÑпользованы Ñпецификаторы %<short%> и %<void%>"
+
+-#: c-decl.c:7395 c-decl.c:7513
++#: c-decl.c:7394 c-decl.c:7512
+ #, fuzzy, gcc-internal-format
+ msgid "both %<_Sat%> and %<float%> in declaration specifiers"
+ msgstr "в декларации иÑпользованы Ñпецификаторы %<short%> и %<float%>"
+
+-#: c-decl.c:7398 c-decl.c:7532
++#: c-decl.c:7397 c-decl.c:7531
+ #, fuzzy, gcc-internal-format
+ msgid "both %<_Sat%> and %<double%> in declaration specifiers"
+ msgstr "в декларации иÑпользованы Ñпецификаторы %<short%> и %<double%>"
+
+-#: c-decl.c:7401
++#: c-decl.c:7400
+ #, fuzzy, gcc-internal-format
+ msgid "both %<_Sat%> and %<_Decimal32%> in declaration specifiers"
+ msgstr "в декларации иÑпользованы Ñпецификаторы %<short%> и %<char%>"
+
+-#: c-decl.c:7404
++#: c-decl.c:7403
+ #, fuzzy, gcc-internal-format
+ msgid "both %<_Sat%> and %<_Decimal64%> in declaration specifiers"
+ msgstr "в декларации иÑпользованы Ñпецификаторы %<short%> и %<char%>"
+
+-#: c-decl.c:7407
++#: c-decl.c:7406
+ #, fuzzy, gcc-internal-format
+ msgid "both %<_Sat%> and %<_Decimal128%> in declaration specifiers"
+ msgstr "в декларации иÑпользованы Ñпецификаторы %<short%> и %<char%>"
+
+-#: c-decl.c:7410
++#: c-decl.c:7409
+ #, fuzzy, gcc-internal-format
+ msgid "both %<_Sat%> and %<complex%> in declaration specifiers"
+ msgstr "в декларации иÑпользованы Ñпецификаторы %<short%> и %<double%>"
+
+-#: c-decl.c:7549
++#: c-decl.c:7548
+ #, fuzzy, gcc-internal-format
+ msgid "both %<long long%> and %<%s%> in declaration specifiers"
+ msgstr "в декларации иÑпользованы Ñпецификаторы %<long long%> и %<double%>"
+
+-#: c-decl.c:7552
++#: c-decl.c:7551
+ #, fuzzy, gcc-internal-format
+ msgid "both %<long%> and %<%s%> in declaration specifiers"
+ msgstr "в декларации заданы Ñпецификаторы %<long%> и %<short%>"
+
+-#: c-decl.c:7555
++#: c-decl.c:7554
+ #, fuzzy, gcc-internal-format
+ msgid "both %<short%> and %<%s%> in declaration specifiers"
+ msgstr "в декларации иÑпользованы Ñпецификаторы %<short%> и %<void%>"
+
+-#: c-decl.c:7558
++#: c-decl.c:7557
+ #, fuzzy, gcc-internal-format
+ msgid "both %<signed%> and %<%s%> in declaration specifiers"
+ msgstr "в декларации иÑпользованы Ñпецификаторы %<signed%> и %<void%>"
+
+-#: c-decl.c:7561
++#: c-decl.c:7560
+ #, fuzzy, gcc-internal-format
+ msgid "both %<unsigned%> and %<%s%> in declaration specifiers"
+ msgstr "в декларации иÑпользованы Ñпецификаторы %<unsigned%> и %<void%>"
+
+-#: c-decl.c:7564 c-decl.c:7590
++#: c-decl.c:7563 c-decl.c:7589
+ #, fuzzy, gcc-internal-format
+ msgid "both %<complex%> and %<%s%> in declaration specifiers"
+ msgstr "в декларации иÑпользованы Ñпецификаторы %<complex%> и %<void%>"
+
+-#: c-decl.c:7567
++#: c-decl.c:7566
+ #, fuzzy, gcc-internal-format
+ msgid "both %<_Sat%> and %<%s%> in declaration specifiers"
+ msgstr "в декларации заданы Ñпецификаторы %<long%> и %<short%>"
+
+-#: c-decl.c:7577
++#: c-decl.c:7576
+ #, fuzzy, gcc-internal-format
+ msgid "decimal floating point not supported for this target"
+ msgstr "-fdata-sections не поддерживаетÑÑ Ð´Ð»Ñ Ñтой целевой машины"
+
+-#: c-decl.c:7579
++#: c-decl.c:7578
+ #, fuzzy, gcc-internal-format
+ msgid "ISO C does not support decimal floating point"
+ msgstr "ISO C90 не поддерживает тип %<long long%>"
+
+-#: c-decl.c:7598
++#: c-decl.c:7597
+ #, fuzzy, gcc-internal-format
+ msgid "fixed-point types not supported for this target"
+ msgstr "-fdata-sections не поддерживаетÑÑ Ð´Ð»Ñ Ñтой целевой машины"
+
+-#: c-decl.c:7600
++#: c-decl.c:7599
+ #, fuzzy, gcc-internal-format
+ msgid "ISO C does not support fixed-point types"
+ msgstr "ISO C не поддерживает целочиÑленные комплекÑные типы"
+
+-#: c-decl.c:7634
++#: c-decl.c:7633
+ #, gcc-internal-format
+ msgid "%qE fails to be a typedef or built in type"
+ msgstr "%qE не ÑвлÑетÑÑ Ð²Ñтроенным типом или typedef-типом"
+
+-#: c-decl.c:7667
++#: c-decl.c:7666
+ #, gcc-internal-format
+ msgid "%qE is not at beginning of declaration"
+ msgstr "%qE - не в начале декларации"
+
+-#: c-decl.c:7681
++#: c-decl.c:7680
+ #, gcc-internal-format
+ msgid "%<__thread%> used with %<auto%>"
+ msgstr "Ñпецификатор %<__thread%> иÑпользован Ñ %<auto%>"
+
+-#: c-decl.c:7683
++#: c-decl.c:7682
+ #, gcc-internal-format
+ msgid "%<__thread%> used with %<register%>"
+ msgstr "Ñпецификатор %<__thread%> иÑпользован Ñ %<register%>"
+
+-#: c-decl.c:7685
++#: c-decl.c:7684
+ #, gcc-internal-format
+ msgid "%<__thread%> used with %<typedef%>"
+ msgstr "Ñпецификатор %<__thread%> иÑпользован Ñ %<typedef%>"
+
+-#: c-decl.c:7696
++#: c-decl.c:7695
+ #, gcc-internal-format
+ msgid "%<__thread%> before %<extern%>"
+ msgstr "%<__thread%> перед %<extern%>"
+
+-#: c-decl.c:7705
++#: c-decl.c:7704
+ #, gcc-internal-format
+ msgid "%<__thread%> before %<static%>"
+ msgstr "%<__thread%> перед %<static%>"
+
+-#: c-decl.c:7721
++#: c-decl.c:7720
+ #, gcc-internal-format
+ msgid "multiple storage classes in declaration specifiers"
+ msgstr "в декларации задано более одного клаÑÑа хранениÑ"
+
+-#: c-decl.c:7728
++#: c-decl.c:7727
+ #, gcc-internal-format
+ msgid "%<__thread%> used with %qE"
+ msgstr "Ñпецификатор %<__thread%> иÑпользован Ñ %qE"
+
+-#: c-decl.c:7775
++#: c-decl.c:7774
+ #, fuzzy, gcc-internal-format
+ msgid "%<_Sat%> is used without %<_Fract%> or %<_Accum%>"
+ msgstr "%<@try%> без %<@catch%> или %<@finally%>"
+
+-#: c-decl.c:7787
++#: c-decl.c:7786
+ #, gcc-internal-format
+ msgid "ISO C does not support plain %<complex%> meaning %<double complex%>"
+ msgstr "ISO C не поддерживает %<complex%> как Ñквивалент %<double complex%>"
+
+-#: c-decl.c:7832 c-decl.c:7858
++#: c-decl.c:7831 c-decl.c:7857
+ #, gcc-internal-format
+ msgid "ISO C does not support complex integer types"
+ msgstr "ISO C не поддерживает целочиÑленные комплекÑные типы"
+
+-#: c-decl.c:8008 toplev.c:847
++#: c-decl.c:8007 toplev.c:847
+ #, gcc-internal-format
+ msgid "%q+F used but never defined"
+ msgstr "%q+F иÑпользуетÑÑ, но нигде не определена"
+@@ -19646,37 +19619,37 @@
+ msgid "invalid expression type for %<#pragma omp atomic%>"
+ msgstr "в ÑпиÑке операндов задано некорректное выражение"
+
+-#: c-omp.c:218
++#: c-omp.c:219
+ #, fuzzy, gcc-internal-format
+ msgid "%Hinvalid type for iteration variable %qE"
+ msgstr "неверно задан векторный тип Ð´Ð»Ñ Ð°Ñ‚Ñ€Ð¸Ð±ÑƒÑ‚Ð° %qE"
+
+-#: c-omp.c:222
++#: c-omp.c:223
+ #, fuzzy, gcc-internal-format
+ msgid "%Hiteration variable %qE is unsigned"
+ msgstr "instance-Ð¿ÐµÑ€ÐµÐ¼ÐµÐ½Ð½Ð°Ñ %qs имеет неизвеÑтный размер"
+
+-#: c-omp.c:233
++#: c-omp.c:234
+ #, fuzzy, gcc-internal-format
+ msgid "%H%qE is not initialized"
+ msgstr "параметр %qD инициализирован"
+
+-#: c-omp.c:246 cp/semantics.c:3840
++#: c-omp.c:247 cp/semantics.c:3872
+ #, gcc-internal-format
+ msgid "%Hmissing controlling predicate"
+ msgstr ""
+
+-#: c-omp.c:304
++#: c-omp.c:305
+ #, fuzzy, gcc-internal-format
+ msgid "%Hinvalid controlling predicate"
+ msgstr "некорректный операнд уÑловного оператора"
+
+-#: c-omp.c:311 cp/semantics.c:3846
++#: c-omp.c:312 cp/semantics.c:3878
+ #, fuzzy, gcc-internal-format
+ msgid "%Hmissing increment expression"
+ msgstr "подавление приÑваиваниÑ"
+
+-#: c-omp.c:361
++#: c-omp.c:362
+ #, fuzzy, gcc-internal-format
+ msgid "%Hinvalid increment expression"
+ msgstr "неверное логичеÑкое выражение"
+@@ -19721,152 +19694,152 @@
+ msgid "obsolete option -I- used, please use -iquote instead"
+ msgstr "УÑтаревший ключ -I-, иÑпользуйте, пожалуйÑта, вмеÑто него -iquote"
+
+-#: c-opts.c:508
++#: c-opts.c:510
+ #, gcc-internal-format
+ msgid "argument %qs to %<-Wnormalized%> not recognized"
+ msgstr "некорректный аргумент %qs ключа %<-Wnormalized%>"
+
+-#: c-opts.c:595
++#: c-opts.c:597
+ #, gcc-internal-format
+ msgid "switch %qs is no longer supported"
+ msgstr "ключ %qs больше не поддерживаетÑÑ"
+
+-#: c-opts.c:705
++#: c-opts.c:707
+ #, gcc-internal-format
+ msgid "-fhandle-exceptions has been renamed -fexceptions (and is now on by default)"
+ msgstr "-fhandle-exceptions переименован в -fexceptions (и дейÑтвует по умолчанию)"
+
+-#: c-opts.c:911
++#: c-opts.c:913
+ #, gcc-internal-format
+ msgid "output filename specified twice"
+ msgstr "дважды задано Ð¸Ð¼Ñ Ð²Ñ‹Ñ…Ð¾Ð´Ð½Ð¾Ð³Ð¾ файла"
+
+-#: c-opts.c:1051
++#: c-opts.c:1053
+ #, gcc-internal-format
+ msgid "-fno-gnu89-inline is only supported in GNU99 or C99 mode"
+ msgstr ""
+
+-#: c-opts.c:1126
++#: c-opts.c:1142
+ #, gcc-internal-format
+ msgid "-Wformat-y2k ignored without -Wformat"
+ msgstr "ключ -Wformat-y2k без -Wformat игнорируетÑÑ"
+
+-#: c-opts.c:1128
++#: c-opts.c:1144
+ #, gcc-internal-format
+ msgid "-Wformat-extra-args ignored without -Wformat"
+ msgstr "ключ -Wformat-extra-args без -Wformat игнорируетÑÑ"
+
+-#: c-opts.c:1130
++#: c-opts.c:1146
+ #, gcc-internal-format
+ msgid "-Wformat-zero-length ignored without -Wformat"
+ msgstr "ключ -Wformat-zero-length без -Wformat игнорируетÑÑ"
+
+-#: c-opts.c:1132
++#: c-opts.c:1148
+ #, gcc-internal-format
+ msgid "-Wformat-nonliteral ignored without -Wformat"
+ msgstr "ключ -Wformat-nonliteral без -Wformat игнорируетÑÑ"
+
+-#: c-opts.c:1134
++#: c-opts.c:1150
+ #, fuzzy, gcc-internal-format
+ msgid "-Wformat-contains-nul ignored without -Wformat"
+ msgstr "ключ -Wformat-nonliteral без -Wformat игнорируетÑÑ"
+
+-#: c-opts.c:1136
++#: c-opts.c:1152
+ #, gcc-internal-format
+ msgid "-Wformat-security ignored without -Wformat"
+ msgstr "ключ -Wformat-security без -Wformat игнорируетÑÑ"
+
+-#: c-opts.c:1160
++#: c-opts.c:1176
+ #, gcc-internal-format
+ msgid "opening output file %s: %m"
+ msgstr "при открытии выходного файла %s: %m"
+
+-#: c-opts.c:1165
++#: c-opts.c:1181
+ #, gcc-internal-format
+ msgid "too many filenames given. Type %s --help for usage"
+ msgstr "задано Ñлишком много имён файлов. Введите %s --help Ð´Ð»Ñ Ð¿Ð¾Ð»ÑƒÑ‡ÐµÐ½Ð¸Ñ Ñправочной информации"
+
+-#: c-opts.c:1249
++#: c-opts.c:1265
+ #, fuzzy, gcc-internal-format
+ msgid "The C parser does not support -dy, option ignored"
+ msgstr "реентерабельный код APCS не поддерживаетÑÑ. Ключ игнорируетÑÑ."
+
+-#: c-opts.c:1253
++#: c-opts.c:1269
+ #, gcc-internal-format
+ msgid "The Objective-C parser does not support -dy, option ignored"
+ msgstr ""
+
+-#: c-opts.c:1256
++#: c-opts.c:1272
+ #, fuzzy, gcc-internal-format
+ msgid "The C++ parser does not support -dy, option ignored"
+ msgstr "реентерабельный код APCS не поддерживаетÑÑ. Ключ игнорируетÑÑ."
+
+-#: c-opts.c:1260
++#: c-opts.c:1276
+ #, gcc-internal-format
+ msgid "The Objective-C++ parser does not support -dy, option ignored"
+ msgstr ""
+
+-#: c-opts.c:1309
++#: c-opts.c:1326
+ #, gcc-internal-format
+ msgid "opening dependency file %s: %m"
+ msgstr "при открытии файла завиÑимоÑтей %s: %m"
+
+-#: c-opts.c:1319
++#: c-opts.c:1336
+ #, gcc-internal-format
+ msgid "closing dependency file %s: %m"
+ msgstr "при закрытии файла завиÑимоÑтей %s: %m"
+
+-#: c-opts.c:1322
++#: c-opts.c:1339
+ #, gcc-internal-format
+ msgid "when writing output to %s: %m"
+ msgstr "при запиÑи вывода в %s: %m"
+
+-#: c-opts.c:1402
++#: c-opts.c:1419
+ #, gcc-internal-format
+ msgid "to generate dependencies you must specify either -M or -MM"
+ msgstr "Ð´Ð»Ñ Ð²Ñ‹Ð²Ð¾Ð´Ð° завиÑимоÑтей нужно задать -M или -MM"
+
+-#: c-opts.c:1448
++#: c-opts.c:1469
+ #, gcc-internal-format
+ msgid "-fdirectives-only is incompatible with -Wunused_macros"
+ msgstr ""
+
+-#: c-opts.c:1450
++#: c-opts.c:1471
+ #, gcc-internal-format
+ msgid "-fdirectives-only is incompatible with -traditional"
+ msgstr ""
+
+-#: c-opts.c:1588
++#: c-opts.c:1609
+ #, gcc-internal-format
+ msgid "too late for # directive to set debug directory"
+ msgstr "Ñлишком поздно уÑтановлено Ð¸Ð¼Ñ ÐºÐ°Ñ‚Ð°Ð»Ð¾Ð³Ð° Ð´Ð»Ñ Ð¾Ñ‚Ð»Ð°Ð´ÐºÐ¸ в директиве #"
+
+-#: c-parser.c:1070
++#: c-parser.c:1072
+ #, fuzzy, gcc-internal-format
+ msgid "%HISO C forbids an empty source file"
+ msgstr "ÑоглаÑно ISO C, входной файл не должен быть пуÑтым"
+
+-#: c-parser.c:1156 c-parser.c:6091
++#: c-parser.c:1158 c-parser.c:6150
+ #, fuzzy, gcc-internal-format
+ msgid "%HISO C does not allow extra %<;%> outside of a function"
+ msgstr "ÑоглаÑно ISO C, избыточный знак %<;%> поÑле функции не допуÑкаетÑÑ"
+
+-#: c-parser.c:1259 c-parser.c:6640
++#: c-parser.c:1261 c-parser.c:6699
+ #, gcc-internal-format
+ msgid "expected declaration specifiers"
+ msgstr "ожидалиÑÑŒ Ñпецификаторы декларации"
+
+-#: c-parser.c:1271
++#: c-parser.c:1273
+ #, fuzzy, gcc-internal-format
+ msgid "%Hempty declaration"
+ msgstr "пуÑÑ‚Ð°Ñ Ð´ÐµÐºÐ»Ð°Ñ€Ð°Ñ†Ð¸Ñ"
+
+-#: c-parser.c:1307
++#: c-parser.c:1309
+ #, fuzzy, gcc-internal-format
+ msgid "%Hdata definition has no type or storage class"
+ msgstr "определение данных не Ñодержит ни типа, ни клаÑÑа хранениÑ"
+
+-#: c-parser.c:1362
++#: c-parser.c:1364
+ #, gcc-internal-format
+ msgid "expected %<,%> or %<;%>"
+ msgstr "ожидалоÑÑŒ %<,%> или %<;%>"
+@@ -19874,174 +19847,189 @@
+ #. This can appear in many cases looking nothing like a
+ #. function definition, so we don't give a more specific
+ #. error suggesting there was one.
+-#: c-parser.c:1369 c-parser.c:1386
++#: c-parser.c:1371 c-parser.c:1388
+ #, gcc-internal-format
+ msgid "expected %<=%>, %<,%>, %<;%>, %<asm%> or %<__attribute__%>"
+ msgstr "ожидалоÑÑŒ %<=%>, %<,%>, %<;%>, %<asm%> или %<__attribute__%>"
+
+-#: c-parser.c:1378
++#: c-parser.c:1380
+ #, fuzzy, gcc-internal-format
+ msgid "%HISO C forbids nested functions"
+ msgstr "ISO C не поддерживает вложенные функции"
+
+-#: c-parser.c:1743 c-parser.c:2553 c-parser.c:3189 c-parser.c:3445
+-#: c-parser.c:4308 c-parser.c:4895 c-parser.c:5298 c-parser.c:5318
+-#: c-parser.c:5434 c-parser.c:5582 c-parser.c:5599 c-parser.c:5731
+-#: c-parser.c:5743 c-parser.c:5768 c-parser.c:5903 c-parser.c:5932
+-#: c-parser.c:5940 c-parser.c:5968 c-parser.c:5982 c-parser.c:6201
+-#: c-parser.c:6300 c-parser.c:6803 c-parser.c:7426
++#: c-parser.c:1745 c-parser.c:2555 c-parser.c:3191 c-parser.c:3447
++#: c-parser.c:4367 c-parser.c:4954 c-parser.c:5357 c-parser.c:5377
++#: c-parser.c:5493 c-parser.c:5641 c-parser.c:5658 c-parser.c:5790
++#: c-parser.c:5802 c-parser.c:5827 c-parser.c:5962 c-parser.c:5991
++#: c-parser.c:5999 c-parser.c:6027 c-parser.c:6041 c-parser.c:6260
++#: c-parser.c:6359 c-parser.c:6862 c-parser.c:7493
+ #, gcc-internal-format
+ msgid "expected identifier"
+ msgstr "ожидалÑÑ Ð¸Ð´ÐµÐ½Ñ‚Ð¸Ñ„Ð¸ÐºÐ°Ñ‚Ð¾Ñ€"
+
+-#: c-parser.c:1773
++#: c-parser.c:1775
+ #, fuzzy, gcc-internal-format
+ msgid "%Hcomma at end of enumerator list"
+ msgstr "запÑÑ‚Ð°Ñ Ð² конце ÑпиÑка значений перечиÑлимого типа"
+
+-#: c-parser.c:1779
++#: c-parser.c:1781
+ #, gcc-internal-format
+ msgid "expected %<,%> or %<}%>"
+ msgstr "ожидалоÑÑŒ %<,%> или %<}%>"
+
+-#: c-parser.c:1793 c-parser.c:1977 c-parser.c:6058
++#: c-parser.c:1795 c-parser.c:1979 c-parser.c:6117
+ #, gcc-internal-format
+ msgid "expected %<{%>"
+ msgstr "ожидалоÑÑŒ %<{%>"
+
+-#: c-parser.c:1804
++#: c-parser.c:1806
+ #, fuzzy, gcc-internal-format
+ msgid "%HISO C forbids forward references to %<enum%> types"
+ msgstr "ISO C не поддерживает ÑÑылки вперед на %<enum%>-типы"
+
+-#: c-parser.c:1911
++#: c-parser.c:1913
+ #, gcc-internal-format
+ msgid "expected class name"
+ msgstr "ожидалоÑÑŒ Ð¸Ð¼Ñ ÐºÐ»Ð°ÑÑа"
+
+-#: c-parser.c:1930 c-parser.c:5835
++#: c-parser.c:1932 c-parser.c:5894
+ #, fuzzy, gcc-internal-format
+ msgid "%Hextra semicolon in struct or union specified"
+ msgstr "Ð¸Ð·Ð±Ñ‹Ñ‚Ð¾Ñ‡Ð½Ð°Ñ Ñ‚Ð¾Ñ‡ÐºÐ° Ñ Ð·Ð°Ð¿Ñтой в Ñтруктуре или объединении"
+
+-#: c-parser.c:1959
++#: c-parser.c:1961
+ #, fuzzy, gcc-internal-format
+ msgid "%Hno semicolon at end of struct or union"
+ msgstr "отÑутÑтвует точка Ñ Ð·Ð°Ð¿Ñтой в конце Ñтруктуры или объединениÑ"
+
+-#: c-parser.c:1963
++#: c-parser.c:1965
+ #, gcc-internal-format
+ msgid "expected %<;%>"
+ msgstr "ожидалоÑÑŒ %<;%>"
+
+-#: c-parser.c:2042 c-parser.c:3014
++#: c-parser.c:2044 c-parser.c:3016
+ #, gcc-internal-format
+ msgid "expected specifier-qualifier-list"
+ msgstr "ожидалÑÑ ÑпиÑок Ñпецификаторов и квалификаторов"
+
+-#: c-parser.c:2052
++#: c-parser.c:2054
+ #, fuzzy, gcc-internal-format
+ msgid "%HISO C forbids member declarations with no members"
+ msgstr "ISO C не поддерживает декларации Ñлементов без Ñлементов"
+
+-#: c-parser.c:2126
++#: c-parser.c:2128
+ #, gcc-internal-format
+ msgid "expected %<,%>, %<;%> or %<}%>"
+ msgstr "ожидалоÑÑŒ %<,%>, %<;%> или %<}%>"
+
+-#: c-parser.c:2133
++#: c-parser.c:2135
+ #, gcc-internal-format
+ msgid "expected %<:%>, %<,%>, %<;%>, %<}%> or %<__attribute__%>"
+ msgstr "ожидалоÑÑŒ %<:%>, %<,%>, %<;%>, %<}%> или %<__attribute__%>"
+
+-#: c-parser.c:2184
++#: c-parser.c:2186
+ #, fuzzy, gcc-internal-format
+ msgid "%H%<typeof%> applied to a bit-field"
+ msgstr "оператор %<typeof%> применен к битовому полю"
+
+-#: c-parser.c:2421
++#: c-parser.c:2423
+ #, gcc-internal-format
+ msgid "expected identifier or %<(%>"
+ msgstr "ожидалÑÑ Ð¸Ð´ÐµÐ½Ñ‚Ð¸Ñ„Ð¸ÐºÐ°Ñ‚Ð¾Ñ€ или %<(%>"
+
+-#: c-parser.c:2622
++#: c-parser.c:2624
+ #, fuzzy, gcc-internal-format
+ msgid "%HISO C requires a named argument before %<...%>"
+ msgstr "ISO C требует, чтобы перед %<...%> был Ñ…Ð¾Ñ‚Ñ Ð±Ñ‹ один именованный аргумент"
+
+-#: c-parser.c:2729
++#: c-parser.c:2731
+ #, gcc-internal-format
+ msgid "expected declaration specifiers or %<...%>"
+ msgstr "ожидалиÑÑŒ Ñпецификаторы декларации или %<...%>"
+
+-#: c-parser.c:2779
++#: c-parser.c:2781
+ #, fuzzy, gcc-internal-format
+ msgid "%Hwide string literal in %<asm%>"
+ msgstr "Ð½ÐµÐ²ÐµÑ€Ð½Ð°Ñ Ð»Ð¸Ñ‚ÐµÑ€Ð°Ð»ÑŒÐ½Ð°Ñ ÑˆÐ¸Ñ€Ð¾ÐºÐ°Ñ Ñтрока в %<asm%>"
+
+-#: c-parser.c:2786 c-parser.c:6695 cp/parser.c:20393
++#: c-parser.c:2788 c-parser.c:6754 cp/parser.c:20482
+ #, gcc-internal-format
+ msgid "expected string literal"
+ msgstr "ожидалÑÑ Ñтроковый литерал"
+
+-#: c-parser.c:3107
++#: c-parser.c:3109
+ #, fuzzy, gcc-internal-format
+ msgid "%HISO C forbids empty initializer braces"
+ msgstr "ISO C не поддерживает пуÑтые фигурные Ñкобки в инициализаторах"
+
+ #. Use the colon as the error location.
+-#: c-parser.c:3154
++#: c-parser.c:3156
+ #, fuzzy, gcc-internal-format
+ msgid "%Hobsolete use of designated initializer with %<:%>"
+ msgstr "уÑтаревший ÑпоÑоб Ð·Ð°Ð´Ð°Ð½Ð¸Ñ Ð¸Ð½Ð¸Ñ†Ð¸Ð°Ð»Ð¸Ð·Ð°Ñ‚Ð¾Ñ€Ð° Ð´Ð»Ñ Ñлемента Ñ %<:%>"
+
+-#: c-parser.c:3285
++#: c-parser.c:3287
+ #, fuzzy, gcc-internal-format
+ msgid "%HISO C forbids specifying range of elements to initialize"
+ msgstr "ISO C не поддерживает задание диапазонов Ð´Ð»Ñ Ð¸Ð½Ð¸Ñ†Ð¸Ð°Ð»Ð¸Ð·Ð°Ñ†Ð¸Ð¸"
+
+-#: c-parser.c:3298
++#: c-parser.c:3300
+ #, fuzzy, gcc-internal-format
+ msgid "%HISO C90 forbids specifying subobject to initialize"
+ msgstr "ISO C не поддерживает инициализацию подобъектов"
+
+-#: c-parser.c:3307
++#: c-parser.c:3309
+ #, fuzzy, gcc-internal-format
+ msgid "%Hobsolete use of designated initializer without %<=%>"
+ msgstr "уÑтаревший ÑпоÑоб Ð·Ð°Ð´Ð°Ð½Ð¸Ñ Ð¸Ð½Ð¸Ñ†Ð¸Ð°Ð»Ð¸Ð·Ð°Ñ‚Ð¾Ñ€Ð° Ð´Ð»Ñ Ñлемента без %<=%>"
+
+-#: c-parser.c:3316
++#: c-parser.c:3318
+ #, gcc-internal-format
+ msgid "expected %<=%>"
+ msgstr "ОжидалоÑÑŒ %<=%>"
+
+-#: c-parser.c:3461
++#: c-parser.c:3463
+ #, fuzzy, gcc-internal-format
+ msgid "%HISO C forbids label declarations"
+ msgstr "в ISO C декларации меток запрещены"
+
+-#: c-parser.c:3466 c-parser.c:3541
++#: c-parser.c:3468 c-parser.c:3543
+ #, gcc-internal-format
+ msgid "expected declaration or statement"
+ msgstr "ожидалаÑÑŒ Ð´ÐµÐºÐ»Ð°Ñ€Ð°Ñ†Ð¸Ñ Ð¸Ð»Ð¸ оператор"
+
+-#: c-parser.c:3494 c-parser.c:3522
++#: c-parser.c:3496 c-parser.c:3524
+ #, gcc-internal-format
+ msgid "%HISO C90 forbids mixed declarations and code"
+ msgstr "%HISO C90 запрещает Ñмешение деклараций и кода"
+
++#: c-parser.c:3550
++#, fuzzy, gcc-internal-format
++msgid "%Hexpected %<}%> before %<else%>"
++msgstr "ожидалоÑÑŒ %<,%> или %<;%>"
++
+ #: c-parser.c:3555
++#, gcc-internal-format
++msgid "%H%<else%> without a previous %<if%>"
++msgstr ""
++
++#: c-parser.c:3571
+ #, fuzzy, gcc-internal-format
+ msgid "%Hlabel at end of compound statement"
+ msgstr "метка в конце ÑоÑтавного оператора"
+
+-#: c-parser.c:3598
++#: c-parser.c:3614
+ #, gcc-internal-format
+ msgid "expected %<:%> or %<...%>"
+ msgstr "ожидалоÑÑŒ %<:%> или %<...%>"
+
+-#: c-parser.c:3779
++#: c-parser.c:3647
+ #, gcc-internal-format
++msgid "%Ha label can only be part of a statement and a declaration is not a statement"
++msgstr ""
++
++#: c-parser.c:3810
++#, gcc-internal-format
+ msgid "expected identifier or %<*%>"
+ msgstr "ожидалÑÑ Ð¸Ð´ÐµÐ½Ñ‚Ð¸Ñ„Ð¸ÐºÐ°Ñ‚Ð¾Ñ€ или %<*%>"
+
+@@ -20049,188 +20037,183 @@
+ #. 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-parser.c:3841
++#: c-parser.c:3872
+ #, gcc-internal-format
+ msgid "expected statement"
+ msgstr "ожидалÑÑ Ð¾Ð¿ÐµÑ€Ð°Ñ‚Ð¾Ñ€"
+
+-#: c-parser.c:3851
+-#, gcc-internal-format
+-msgid "%Ha label can only be part of a statement and a declaration is not a statement"
+-msgstr ""
+-
+-#: c-parser.c:4036
++#: c-parser.c:4095
+ #, fuzzy, gcc-internal-format
+ msgid "%Hsuggest braces around empty body in %<do%> statement"
+ msgstr "%HпуÑтое тело в операторе if"
+
+-#: c-parser.c:4192
++#: c-parser.c:4251
+ #, fuzzy, gcc-internal-format
+ msgid "%H%E qualifier ignored on asm"
+ msgstr "квалификатор %E Ð´Ð»Ñ asm"
+
+-#: c-parser.c:4473
++#: c-parser.c:4532
+ #, fuzzy, gcc-internal-format
+ msgid "%HISO C forbids omitting the middle term of a ?: expression"
+ msgstr "ISO C не поддерживает Ð²Ñ‹Ñ€Ð°Ð¶ÐµÐ½Ð¸Ñ ?: Ñ Ð¿ÑƒÑтым выражением между ? и :"
+
+-#: c-parser.c:4863
++#: c-parser.c:4922
+ #, fuzzy, gcc-internal-format
+ msgid "%Htraditional C rejects the unary plus operator"
+ msgstr "в традиционном C унарный Ð¿Ð»ÑŽÑ Ð½Ðµ поддерживаетÑÑ"
+
+ #. C99 6.7.5.2p4
+-#: c-parser.c:4974
++#: c-parser.c:5033
+ #, fuzzy, gcc-internal-format
+ msgid "%H%<[*]%> not allowed in other than a declaration"
+ msgstr "проÑтранÑтво имён %qD не допуÑкаетÑÑ Ð² using-декларации"
+
+-#: c-parser.c:4988
++#: c-parser.c:5047
+ #, fuzzy, gcc-internal-format
+ msgid "%H%<sizeof%> applied to a bit-field"
+ msgstr "оператор %<sizeof%> применен к битовому полю"
+
+-#: c-parser.c:5132 c-parser.c:5476 c-parser.c:5498
++#: c-parser.c:5191 c-parser.c:5535 c-parser.c:5557
+ #, gcc-internal-format
+ msgid "expected expression"
+ msgstr "ожидалоÑÑŒ выражение"
+
+-#: c-parser.c:5159
++#: c-parser.c:5218
+ #, fuzzy, gcc-internal-format
+ msgid "%Hbraced-group within expression allowed only inside a function"
+ msgstr "фигурные Ñкобки внутри выражений допуÑкаютÑÑ Ñ‚Ð¾Ð»ÑŒÐºÐ¾ в теле функции"
+
+-#: c-parser.c:5173
++#: c-parser.c:5232
+ #, fuzzy, gcc-internal-format
+ msgid "%HISO C forbids braced-groups within expressions"
+ msgstr "ISO C90 не поддерживает иÑпользование групп операторов в фигурных Ñкобках внутри выражений"
+
+-#: c-parser.c:5358
++#: c-parser.c:5417
+ #, fuzzy, gcc-internal-format
+ msgid "%Hfirst argument to %<__builtin_choose_expr%> not a constant"
+ msgstr "первый аргумент %<__builtin_choose_expr%> - не конÑтанта"
+
+-#: c-parser.c:5527
++#: c-parser.c:5586
+ #, fuzzy, gcc-internal-format
+ msgid "%Hcompound literal has variable size"
+ msgstr "ÑоÑтавной литерал имеет переменный размер"
+
+-#: c-parser.c:5535
++#: c-parser.c:5594
+ #, fuzzy, gcc-internal-format
+ msgid "%HISO C90 forbids compound literals"
+ msgstr "ISO C90 не поддерживает ÑоÑтавные литеральные выражениÑ"
+
+-#: c-parser.c:6053
++#: c-parser.c:6112
+ #, fuzzy, gcc-internal-format
+ msgid "%Hextra semicolon in method definition specified"
+ msgstr "Ð¸Ð·Ð±Ñ‹Ñ‚Ð¾Ñ‡Ð½Ð°Ñ Ñ‚Ð¾Ñ‡ÐºÐ° Ñ Ð·Ð°Ð¿Ñтой определении метода"
+
+-#: c-parser.c:6600 cp/parser.c:20436
++#: c-parser.c:6659 cp/parser.c:20525
+ #, gcc-internal-format
+ msgid "%<#pragma omp barrier%> may only be used in compound statements"
+ msgstr ""
+
+-#: c-parser.c:6611 cp/parser.c:20451
++#: c-parser.c:6670 cp/parser.c:20540
+ #, gcc-internal-format
+ msgid "%<#pragma omp flush%> may only be used in compound statements"
+ msgstr ""
+
+-#: c-parser.c:6623
++#: c-parser.c:6682
+ #, gcc-internal-format
+ msgid "%H%<#pragma omp section%> may only be used in %<#pragma omp sections%> construct"
+ msgstr ""
+
+-#: c-parser.c:6630 cp/parser.c:20426
++#: c-parser.c:6689 cp/parser.c:20515
+ #, fuzzy, gcc-internal-format
+ msgid "%<#pragma GCC pch_preprocess%> must be first"
+ msgstr "некорректный формат #pragma GCC pch_preprocess, директива проигнорирована"
+
+-#: c-parser.c:6781 cp/parser.c:19277
++#: c-parser.c:6840 cp/parser.c:19359
+ #, fuzzy, gcc-internal-format
+ msgid "too many %qs clauses"
+ msgstr "Ñлишком много входных файлов"
+
+-#: c-parser.c:6906
++#: c-parser.c:6965
+ #, fuzzy, gcc-internal-format
+ msgid "expected %<none%> or %<shared%>"
+ msgstr "ожидалоÑÑŒ %<,%> или %<;%>"
+
+-#: c-parser.c:6949
++#: c-parser.c:7008
+ #, fuzzy, gcc-internal-format
+ msgid "expected %<(%>"
+ msgstr "ожидалоÑÑŒ %<{%>"
+
+-#: c-parser.c:6993 c-parser.c:7170
++#: c-parser.c:7052 c-parser.c:7229
+ #, fuzzy, gcc-internal-format
+ msgid "expected integer expression"
+ msgstr "ожидалоÑÑŒ выражение"
+
+-#: c-parser.c:7002
++#: c-parser.c:7061
+ #, gcc-internal-format
+ msgid "%H%<num_threads%> value must be positive"
+ msgstr ""
+
+-#: c-parser.c:7082
++#: c-parser.c:7141
+ #, fuzzy, gcc-internal-format
+ msgid "expected %<+%>, %<*%>, %<-%>, %<&%>, %<^%>, %<|%>, %<&&%>, or %<||%>"
+ msgstr "ожидалоÑÑŒ %<:%>, %<,%>, %<;%>, %<}%> или %<__attribute__%>"
+
+-#: c-parser.c:7165
++#: c-parser.c:7224
+ #, gcc-internal-format
+ msgid "%Hschedule %<runtime%> does not take a %<chunk_size%> parameter"
+ msgstr ""
+
+-#: c-parser.c:7183
++#: c-parser.c:7242
+ #, fuzzy, gcc-internal-format
+ msgid "invalid schedule kind"
+ msgstr "некорректный операнд const_double"
+
+-#: c-parser.c:7269
++#: c-parser.c:7336
+ #, gcc-internal-format
+ msgid "expected %<#pragma omp%> clause"
+ msgstr ""
+
+-#: c-parser.c:7278
++#: c-parser.c:7345
+ #, fuzzy, gcc-internal-format
+ msgid "%H%qs is not valid for %qs"
+ msgstr "%qs не ÑвлÑетÑÑ ÐºÐ¾Ñ€Ñ€ÐµÐºÑ‚Ð½Ñ‹Ð¼ выходным файлом"
+
+-#: c-parser.c:7378
++#: c-parser.c:7445
+ #, fuzzy, gcc-internal-format
+ msgid "invalid operator for %<#pragma omp atomic%>"
+ msgstr "некорректный операнд Ð´Ð»Ñ %<__fpreg%>"
+
+-#: c-parser.c:7429 c-parser.c:7449
++#: c-parser.c:7496 c-parser.c:7516
+ #, fuzzy, gcc-internal-format
+ msgid "expected %<(%> or end of line"
+ msgstr "некорректный операнд"
+
+-#: c-parser.c:7467
++#: c-parser.c:7534
+ #, fuzzy, gcc-internal-format
+ msgid "for statement expected"
+ msgstr "перед `*' должно быть Ð¸Ð¼Ñ Ñ‚Ð¸Ð¿Ð°"
+
+-#: c-parser.c:7540 cp/semantics.c:3826 cp/semantics.c:3870
++#: c-parser.c:7609 cp/semantics.c:3858 cp/semantics.c:3902
+ #, fuzzy, gcc-internal-format
+ msgid "expected iteration declaration or initialization"
+ msgstr "ожидалаÑÑŒ Ð´ÐµÐºÐ»Ð°Ñ€Ð°Ñ†Ð¸Ñ Ð¸Ð»Ð¸ оператор"
+
+-#: c-parser.c:7666
++#: c-parser.c:7735
+ #, fuzzy, gcc-internal-format
+ msgid "%Hexpected %<#pragma omp section%> or %<}%>"
+ msgstr "ожидалоÑÑŒ %<,%> или %<}%>"
+
+-#: c-parser.c:7899 cp/semantics.c:3718
++#: c-parser.c:7968 cp/semantics.c:3750
+ #, fuzzy, gcc-internal-format
+ msgid "%qE declared %<threadprivate%> after first use"
+ msgstr "%q+F объÑвлена %<static%>, но нигде не определена"
+
+-#: c-parser.c:7901 cp/semantics.c:3720
++#: c-parser.c:7970 cp/semantics.c:3752
+ #, fuzzy, gcc-internal-format
+ msgid "automatic variable %qE cannot be %<threadprivate%>"
+ msgstr "instance-Ð¿ÐµÑ€ÐµÐ¼ÐµÐ½Ð½Ð°Ñ %qs объÑвлена как private"
+
+-#: c-parser.c:7903 cp/semantics.c:3722
++#: c-parser.c:7972 cp/semantics.c:3754
+ #, fuzzy, gcc-internal-format
+ msgid "%<threadprivate%> %qE has incomplete type"
+ msgstr "%Jпараметр %u имеет неполный тип"
+@@ -20395,122 +20378,122 @@
+ msgid "junk at end of %<#pragma pop_macro%>"
+ msgstr "муÑор в конце директивы %<#pragma pack%>"
+
+-#: c-pragma.c:406
++#: c-pragma.c:407
+ #, gcc-internal-format
+ msgid "applying #pragma weak %q+D after first use results in unspecified behavior"
+ msgstr "при применении #pragma weak %q+D поÑле первого иÑÐ¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ð½Ð¸Ñ Ð¿Ð¾Ð²ÐµÐ´ÐµÐ½Ð¸Ðµ неопределено"
+
+-#: c-pragma.c:480 c-pragma.c:485
++#: c-pragma.c:481 c-pragma.c:486
+ #, gcc-internal-format
+ msgid "malformed #pragma weak, ignored"
+ msgstr "неверный ÑинтакÑÐ¸Ñ #pragma weak, директива проигнорирована"
+
+-#: c-pragma.c:489
++#: c-pragma.c:490
+ #, fuzzy, gcc-internal-format
+ msgid "junk at end of %<#pragma weak%>"
+ msgstr "муÑор в конце директивы %<#pragma pack%>"
+
+-#: c-pragma.c:557 c-pragma.c:559
++#: c-pragma.c:558 c-pragma.c:560
+ #, gcc-internal-format
+ msgid "malformed #pragma redefine_extname, ignored"
+ msgstr "неверный ÑинтакÑÐ¸Ñ #pragma redefine_extname, директива проигнорирована"
+
+-#: c-pragma.c:562
++#: c-pragma.c:563
+ #, fuzzy, gcc-internal-format
+ msgid "junk at end of %<#pragma redefine_extname%>"
+ msgstr "муÑор в конце #pragma redefine_extname"
+
+-#: c-pragma.c:568
++#: c-pragma.c:569
+ #, gcc-internal-format
+ msgid "#pragma redefine_extname not supported on this target"
+ msgstr "#pragma redefine_extname не поддерживаетÑÑ Ð´Ð»Ñ Ñтой платформы"
+
+-#: c-pragma.c:585 c-pragma.c:672
++#: c-pragma.c:586 c-pragma.c:673
+ #, gcc-internal-format
+ msgid "#pragma redefine_extname ignored due to conflict with previous rename"
+ msgstr "#pragma redefine_extname игнорирована, поÑкольку конфликтует Ñ Ð¿Ñ€ÐµÐ´Ñ‹Ð´ÑƒÑ‰Ð¸Ð¼ переименованием"
+
+-#: c-pragma.c:608
++#: c-pragma.c:609
+ #, gcc-internal-format
+ msgid "#pragma redefine_extname ignored due to conflict with previous #pragma redefine_extname"
+ msgstr "#pragma redefine_extname игнорирована, поÑкольку конфликтует Ñ Ð¿Ñ€ÐµÐ´Ñ‹Ð´ÑƒÑ‰ÐµÐ¹ директивой #pragma redefine_extname"
+
+-#: c-pragma.c:627
++#: c-pragma.c:628
+ #, gcc-internal-format
+ msgid "malformed #pragma extern_prefix, ignored"
+ msgstr "неверный ÑинтакÑÐ¸Ñ #pragma extern_prefix, директива проигнорирована"
+
+-#: c-pragma.c:630
++#: c-pragma.c:631
+ #, fuzzy, gcc-internal-format
+ msgid "junk at end of %<#pragma extern_prefix%>"
+ msgstr "муÑор в конце #pragma extern_prefix"
+
+-#: c-pragma.c:637
++#: c-pragma.c:638
+ #, gcc-internal-format
+ msgid "#pragma extern_prefix not supported on this target"
+ msgstr "#pragma extern_prefix Ð´Ð»Ñ Ñтой платформы не поддерживаетÑÑ"
+
+-#: c-pragma.c:663
++#: c-pragma.c:664
+ #, gcc-internal-format
+ msgid "asm declaration ignored due to conflict with previous rename"
+ msgstr "asm-Ð´ÐµÐºÐ»Ð°Ñ€Ð°Ñ†Ð¸Ñ Ð½Ðµ ÑоглаÑуетÑÑ Ñ Ð¿Ñ€ÐµÐ´Ñ‹Ð´ÑƒÑ‰Ð¸Ð¼ переименованием"
+
+-#: c-pragma.c:694
++#: c-pragma.c:695
+ #, gcc-internal-format
+ msgid "#pragma redefine_extname ignored due to conflict with __asm__ declaration"
+ msgstr "#pragma redefine_extname игнорирована из-за конфликта Ñ Ð´ÐµÐºÐ»Ð°Ñ€Ð°Ñ†Ð¸ÐµÐ¹ __asm__"
+
+-#: c-pragma.c:756
++#: c-pragma.c:757
+ #, gcc-internal-format
+ msgid "#pragma GCC visibility push() must specify default, internal, hidden or protected"
+ msgstr "#pragma GCC visibility push() должна задавать default, internal, hidden или protected"
+
+-#: c-pragma.c:791
++#: c-pragma.c:792
+ #, gcc-internal-format
+ msgid "#pragma GCC visibility must be followed by push or pop"
+ msgstr "поÑле #pragma GCC visibility должно быть push или pop"
+
+-#: c-pragma.c:797
++#: c-pragma.c:798
+ #, gcc-internal-format
+ msgid "no matching push for %<#pragma GCC visibility pop%>"
+ msgstr "отÑутÑтвует ÑоответÑÑ‚Ð²ÑƒÑŽÑ‰Ð°Ñ Ð´Ð¸Ñ€ÐµÐºÑ‚Ð¸Ð²Ð° push Ð´Ð»Ñ %<#pragma GCC visibility pop%>"
+
+-#: c-pragma.c:804 c-pragma.c:811
++#: c-pragma.c:805 c-pragma.c:812
+ #, gcc-internal-format
+ msgid "missing %<(%> after %<#pragma GCC visibility push%> - ignored"
+ msgstr "отÑутÑтвует %<(%> поÑле %<#pragma GCC visibility push%> - директива проигнорирована"
+
+-#: c-pragma.c:807
++#: c-pragma.c:808
+ #, gcc-internal-format
+ msgid "malformed #pragma GCC visibility push"
+ msgstr "Ðекорректный ÑинтакÑÐ¸Ñ #pragma builtin"
+
+-#: c-pragma.c:815
++#: c-pragma.c:816
+ #, gcc-internal-format
+ msgid "junk at end of %<#pragma GCC visibility%>"
+ msgstr "муÑор в конце %<#pragma GCC visibility%>"
+
+-#: c-pragma.c:831
++#: c-pragma.c:832
+ #, gcc-internal-format
+ msgid "#pragma GCC diagnostic not allowed inside functions"
+ msgstr ""
+
+-#: c-pragma.c:837
++#: c-pragma.c:838
+ #, gcc-internal-format
+ msgid "missing [error|warning|ignored] after %<#pragma GCC diagnostic%>"
+ msgstr ""
+
+-#: c-pragma.c:846
++#: c-pragma.c:847
+ #, gcc-internal-format
+ msgid "expected [error|warning|ignored] after %<#pragma GCC diagnostic%>"
+ msgstr ""
+
+-#: c-pragma.c:850
++#: c-pragma.c:851
+ #, fuzzy, gcc-internal-format
+ msgid "missing option after %<#pragma GCC diagnostic%> kind"
+ msgstr "отÑутÑтвует %<(%> поÑле %<#pragma pack%> - директива проигнорирована"
+
+-#: c-pragma.c:864
++#: c-pragma.c:865
+ #, fuzzy, gcc-internal-format
+ msgid "unknown option after %<#pragma GCC diagnostic%> kind"
+ msgstr "неопознанное дейÑтвие %qs в %<#pragma pack%> - дейÑтвие проигнорировано"
+@@ -20520,7 +20503,7 @@
+ msgid "%qD has an incomplete type"
+ msgstr "%qD имеет неполный тип"
+
+-#: c-typeck.c:195 cp/call.c:2785
++#: c-typeck.c:195 cp/call.c:2771
+ #, gcc-internal-format
+ msgid "invalid use of void expression"
+ msgstr "неправильное иÑпользование void-выражениÑ"
+@@ -20551,92 +20534,92 @@
+ msgid "function types not truly compatible in ISO C"
+ msgstr "Ñ Ñ‚Ð¾Ñ‡ÐºÐ¸ Ð·Ñ€ÐµÐ½Ð¸Ñ ISO C типы функций не ÑвлÑÑŽÑ‚ÑÑ Ñтрого ÑовмеÑтимыми"
+
+-#: c-typeck.c:621
++#: c-typeck.c:627
+ #, gcc-internal-format
+ msgid "can%'t mix operands of decimal float and vector types"
+ msgstr ""
+
+-#: c-typeck.c:626
++#: c-typeck.c:632
+ #, gcc-internal-format
+ msgid "can%'t mix operands of decimal float and complex types"
+ msgstr ""
+
+-#: c-typeck.c:631
++#: c-typeck.c:637
+ #, gcc-internal-format
+ msgid "can%'t mix operands of decimal float and other float types"
+ msgstr ""
+
+-#: c-typeck.c:1037
++#: c-typeck.c:1043
+ #, gcc-internal-format
+ msgid "types are not quite compatible"
+ msgstr "типы не вполне ÑовмеÑтимы"
+
+-#: c-typeck.c:1356
++#: c-typeck.c:1366
+ #, gcc-internal-format
+ msgid "function return types not compatible due to %<volatile%>"
+ msgstr "типы возвращаемых значений функции неÑовмеÑтимы из-за %<volatile%>"
+
+-#: c-typeck.c:1515 c-typeck.c:2853
++#: c-typeck.c:1525 c-typeck.c:2864
+ #, gcc-internal-format
+ msgid "arithmetic on pointer to an incomplete type"
+ msgstr "арифметичеÑÐºÐ°Ñ Ð¾Ð¿ÐµÑ€Ð°Ñ†Ð¸Ñ Ð½Ð°Ð´ указателем на неполный тип"
+
+-#: c-typeck.c:1912
++#: c-typeck.c:1922
+ #, gcc-internal-format
+ msgid "%qT has no member named %qE"
+ msgstr "%qT не Ñодержит Ñлемента Ñ Ð¸Ð¼ÐµÐ½ÐµÐ¼ %qE"
+
+-#: c-typeck.c:1953
++#: c-typeck.c:1963
+ #, gcc-internal-format
+ msgid "request for member %qE in something not a structure or union"
+ msgstr "выборка Ñлемента %qE из объекта, не ÑвлÑющегоÑÑ Ñтруктурой или объединением"
+
+-#: c-typeck.c:1997
++#: c-typeck.c:2007
+ #, gcc-internal-format
+ msgid "dereferencing pointer to incomplete type"
+ msgstr "доÑтуп по указателю на неполный тип"
+
+-#: c-typeck.c:2001
++#: c-typeck.c:2011
+ #, gcc-internal-format
+ msgid "dereferencing %<void *%> pointer"
+ msgstr "доÑтуп по указателю %<void *%>"
+
+-#: c-typeck.c:2018
++#: c-typeck.c:2028
+ #, fuzzy, gcc-internal-format
+ msgid "invalid type argument of %qs (have %qT)"
+ msgstr "неверный аргумент Ð´Ð»Ñ %qs"
+
+-#: c-typeck.c:2046 cp/typeck.c:2524
++#: c-typeck.c:2056 cp/typeck.c:2570
+ #, gcc-internal-format
+ msgid "subscripted value is neither array nor pointer"
+ msgstr "индекÑируемый объект не ÑвлÑетÑÑ Ð½Ð¸ маÑÑивом, ни указателем"
+
+-#: c-typeck.c:2057 cp/typeck.c:2443 cp/typeck.c:2529
++#: c-typeck.c:2067 cp/typeck.c:2489 cp/typeck.c:2575
+ #, gcc-internal-format
+ msgid "array subscript is not an integer"
+ msgstr "Ð¸Ð½Ð´ÐµÐºÑ Ð¼Ð°ÑÑива не ÑвлÑетÑÑ Ñ†ÐµÐ»Ñ‹Ð¼ значением"
+
+-#: c-typeck.c:2063
++#: c-typeck.c:2073
+ #, gcc-internal-format
+ msgid "subscripted value is pointer to function"
+ msgstr "индекÑируемый Ñлемент ÑвлÑетÑÑ ÑƒÐºÐ°Ð·Ð°Ñ‚ÐµÐ»ÐµÐ¼ на функцию"
+
+-#: c-typeck.c:2110
++#: c-typeck.c:2120
+ #, gcc-internal-format
+ msgid "ISO C forbids subscripting %<register%> array"
+ msgstr "в ISO C индекÑирование %<register%>-маÑÑивов запрещено"
+
+-#: c-typeck.c:2112
++#: c-typeck.c:2122
+ #, gcc-internal-format
+ msgid "ISO C90 forbids subscripting non-lvalue array"
+ msgstr "в ISO C индекÑирование не-lvalue маÑÑива запрещено"
+
+-#: c-typeck.c:2228
++#: c-typeck.c:2239
+ #, gcc-internal-format
+ msgid "%H%qD is static but used in inline function %qD which is not static"
+ msgstr ""
+
+-#: c-typeck.c:2376
++#: c-typeck.c:2387
+ #, gcc-internal-format
+ msgid "called object %qE is not a function"
+ msgstr "вызываемый объект %qE не ÑвлÑетÑÑ Ñ„ÑƒÐ½ÐºÑ†Ð¸ÐµÐ¹"
+@@ -20644,795 +20627,795 @@
+ #. This situation leads to run-time undefined behavior. We can't,
+ #. therefore, simply error unless we can prove that all possible
+ #. executions of the program must execute the code.
+-#: c-typeck.c:2404
++#: c-typeck.c:2415
+ #, gcc-internal-format
+ msgid "function called through a non-compatible type"
+ msgstr "вызов функции через неÑовмеÑтимый тип"
+
+-#: c-typeck.c:2515
++#: c-typeck.c:2526
+ #, gcc-internal-format
+ msgid "too many arguments to function %qE"
+ msgstr "Ñлишком много аргументов в вызове функции %qE"
+
+-#: c-typeck.c:2536
++#: c-typeck.c:2547
+ #, gcc-internal-format
+ msgid "type of formal parameter %d is incomplete"
+ msgstr "формальный параметр %d имеет неполный тип"
+
+-#: c-typeck.c:2549
++#: c-typeck.c:2560
+ #, gcc-internal-format
+ msgid "passing argument %d of %qE as integer rather than floating due to prototype"
+ msgstr "аргумент %d %qE ÑоглаÑно прототипу будет передан как целое, а не плавающее"
+
+-#: c-typeck.c:2554
++#: c-typeck.c:2565
+ #, gcc-internal-format
+ msgid "passing argument %d of %qE as integer rather than complex due to prototype"
+ msgstr "аргумент %d %qE ÑоглаÑно прототипу будет передан как целое, а не комплекÑное"
+
+-#: c-typeck.c:2559
++#: c-typeck.c:2570
+ #, gcc-internal-format
+ msgid "passing argument %d of %qE as complex rather than floating due to prototype"
+ msgstr "аргумент %d %qE ÑоглаÑно прототипу будет передан как комплекÑное, а не плавающее"
+
+-#: c-typeck.c:2564
++#: c-typeck.c:2575
+ #, gcc-internal-format
+ msgid "passing argument %d of %qE as floating rather than integer due to prototype"
+ msgstr "аргумент %d %qE ÑоглаÑно прототипу будет передан как плавающее, а не целое"
+
+-#: c-typeck.c:2569
++#: c-typeck.c:2580
+ #, gcc-internal-format
+ msgid "passing argument %d of %qE as complex rather than integer due to prototype"
+ msgstr "аргумент %d %qE ÑоглаÑно прототипу будет передан как комплекÑное, а не целое"
+
+-#: c-typeck.c:2574
++#: c-typeck.c:2585
+ #, gcc-internal-format
+ msgid "passing argument %d of %qE as floating rather than complex due to prototype"
+ msgstr "аргумент %d %qE ÑоглаÑно прототипу будет передан как плавающее, а не комплекÑное"
+
+-#: c-typeck.c:2587
++#: c-typeck.c:2598
+ #, gcc-internal-format
+ msgid "passing argument %d of %qE as %<float%> rather than %<double%> due to prototype"
+ msgstr "аргумент %d %qE ÑоглаÑно прототипу будет передан как %<float%>, а не %<double%>"
+
+-#: c-typeck.c:2612
++#: c-typeck.c:2623
+ #, fuzzy, gcc-internal-format
+ msgid "passing argument %d of %qE as %qT rather than %qT due to prototype"
+ msgstr "аргумент %d %qE ÑоглаÑно прототипу будет передан как целое, а не комплекÑное"
+
+-#: c-typeck.c:2633
++#: c-typeck.c:2644
+ #, gcc-internal-format
+ msgid "passing argument %d of %qE with different width due to prototype"
+ msgstr "аргумент %d %qE ÑоглаÑно прототипу будет передан Ñ Ð´Ñ€ÑƒÐ³Ð¾Ð¹ шириной"
+
+-#: c-typeck.c:2656
++#: c-typeck.c:2667
+ #, gcc-internal-format
+ msgid "passing argument %d of %qE as unsigned due to prototype"
+ msgstr "аргумент %d %qE ÑоглаÑно прототипу будет передан как unsigned"
+
+-#: c-typeck.c:2660
++#: c-typeck.c:2671
+ #, gcc-internal-format
+ msgid "passing argument %d of %qE as signed due to prototype"
+ msgstr "аргумент %d %qE ÑоглаÑно прототипу будет передан как signed"
+
+-#: c-typeck.c:2766 c-typeck.c:2770
++#: c-typeck.c:2777 c-typeck.c:2781
+ #, fuzzy, gcc-internal-format
+ msgid "comparison with string literal results in unspecified behavior"
+ msgstr "Ð´Ð»Ñ weak декларации %q+D поÑле первого иÑÐ¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ð½Ð¸Ñ Ð¿Ð¾Ð²ÐµÐ´ÐµÐ½Ð¸Ðµ ÑиÑтемыне Ñпецифицировано"
+
+-#: c-typeck.c:2795
++#: c-typeck.c:2806
+ #, gcc-internal-format
+ msgid "pointer of type %<void *%> used in subtraction"
+ msgstr "указатель %<void *%> в операции вычитаниÑ"
+
+-#: c-typeck.c:2797
++#: c-typeck.c:2808
+ #, gcc-internal-format
+ msgid "pointer to a function used in subtraction"
+ msgstr "указатель на функцию в операции вычитаниÑ"
+
+-#: c-typeck.c:2908
++#: c-typeck.c:2919
+ #, gcc-internal-format
+ msgid "wrong type argument to unary plus"
+ msgstr "неверный тип аргумента Ð´Ð»Ñ ÑƒÐ½Ð°Ñ€Ð½Ð¾Ð³Ð¾ плюÑа"
+
+-#: c-typeck.c:2921
++#: c-typeck.c:2932
+ #, gcc-internal-format
+ msgid "wrong type argument to unary minus"
+ msgstr "неверный тип аргумента Ð´Ð»Ñ ÑƒÐ½Ð°Ñ€Ð½Ð¾Ð³Ð¾ минуÑа"
+
+-#: c-typeck.c:2941
++#: c-typeck.c:2952
+ #, gcc-internal-format
+ msgid "ISO C does not support %<~%> for complex conjugation"
+ msgstr "в ISO C не поддерживаетÑÑ Ð¸Ñпользование %<~%> Ð´Ð»Ñ Ð¾Ð±Ð¾Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ñ Ð¾Ð¿ÐµÑ€Ð°Ñ†Ð¸Ð¸ комплекÑного ÑопрÑжениÑ"
+
+-#: c-typeck.c:2947
++#: c-typeck.c:2958
+ #, gcc-internal-format
+ msgid "wrong type argument to bit-complement"
+ msgstr "неверный тип аргумента Ð´Ð»Ñ Ð¿Ð¾Ð±Ð¸Ñ‚Ð¾Ð²Ð¾Ð³Ð¾ дополнениÑ"
+
+-#: c-typeck.c:2955
++#: c-typeck.c:2966
+ #, gcc-internal-format
+ msgid "wrong type argument to abs"
+ msgstr "неверный тип аргумента Ð´Ð»Ñ abs"
+
+-#: c-typeck.c:2967
++#: c-typeck.c:2978
+ #, gcc-internal-format
+ msgid "wrong type argument to conjugation"
+ msgstr "неверный тип аргумента Ð´Ð»Ñ ÑопрÑжениÑ"
+
+-#: c-typeck.c:2979
++#: c-typeck.c:2990
+ #, gcc-internal-format
+ msgid "wrong type argument to unary exclamation mark"
+ msgstr "неверный тип аргумента Ð´Ð»Ñ ÑƒÐ½Ð°Ñ€Ð½Ð¾Ð³Ð¾ `!'"
+
+-#: c-typeck.c:3013
++#: c-typeck.c:3024
+ #, gcc-internal-format
+ msgid "ISO C does not support %<++%> and %<--%> on complex types"
+ msgstr "в ISO C операции %<++%> и %<--%> Ð´Ð»Ñ ÐºÐ¾Ð¼Ð¿Ð»ÐµÐºÑных типов не поддерживаютÑÑ"
+
+-#: c-typeck.c:3032 c-typeck.c:3064
++#: c-typeck.c:3043 c-typeck.c:3075
+ #, gcc-internal-format
+ msgid "wrong type argument to increment"
+ msgstr "неверный тип аргумента инкрементации"
+
+-#: c-typeck.c:3034 c-typeck.c:3066
++#: c-typeck.c:3045 c-typeck.c:3077
+ #, gcc-internal-format
+ msgid "wrong type argument to decrement"
+ msgstr "неверный тип аргумента декрементации"
+
+-#: c-typeck.c:3055
++#: c-typeck.c:3066
+ #, gcc-internal-format
+ msgid "increment of pointer to unknown structure"
+ msgstr "Ð¸Ð½ÐºÑ€ÐµÐ¼ÐµÐ½Ñ‚Ð°Ñ†Ð¸Ñ ÑƒÐºÐ°Ð·Ð°Ñ‚ÐµÐ»Ñ Ð½Ð° неизвеÑтную Ñтруктуру"
+
+-#: c-typeck.c:3057
++#: c-typeck.c:3068
+ #, gcc-internal-format
+ msgid "decrement of pointer to unknown structure"
+ msgstr "Ð´ÐµÐºÑ€ÐµÐ¼ÐµÐ½Ñ‚Ð°Ñ†Ð¸Ñ ÑƒÐºÐ°Ð·Ð°Ñ‚ÐµÐ»Ñ Ð½Ð° неизвеÑтную Ñтруктуру"
+
+-#: c-typeck.c:3258
++#: c-typeck.c:3269
+ #, gcc-internal-format
+ msgid "assignment of read-only member %qD"
+ msgstr "приÑваивание Ñлементу %qD, доÑтупному только на чтение"
+
+-#: c-typeck.c:3259
++#: c-typeck.c:3270
+ #, gcc-internal-format
+ msgid "increment of read-only member %qD"
+ msgstr "Ð¸Ð½ÐºÑ€ÐµÐ¼ÐµÐ½Ñ‚Ð°Ñ†Ð¸Ñ Ñлемента %qD, доÑтупного только на чтение"
+
+-#: c-typeck.c:3260
++#: c-typeck.c:3271
+ #, gcc-internal-format
+ msgid "decrement of read-only member %qD"
+ msgstr "Ð´ÐµÐºÑ€ÐµÐ¼ÐµÐ½Ñ‚Ð°Ñ†Ð¸Ñ Ñлемента %qD, доÑтупного только на чтение"
+
+-#: c-typeck.c:3261
++#: c-typeck.c:3272
+ #, gcc-internal-format
+ msgid "read-only member %qD used as %<asm%> output"
+ msgstr "доÑтупный только на чтение Ñлемент %qD иÑпользован как выходной операнд %<asm%>"
+
+-#: c-typeck.c:3265
++#: c-typeck.c:3276
+ #, gcc-internal-format
+ msgid "assignment of read-only variable %qD"
+ msgstr "приÑваивание переменной %qD, доÑтупной только на чтение"
+
+-#: c-typeck.c:3266
++#: c-typeck.c:3277
+ #, gcc-internal-format
+ msgid "increment of read-only variable %qD"
+ msgstr "Ð¸Ð½ÐºÑ€ÐµÐ¼ÐµÐ½Ñ‚Ð°Ñ†Ð¸Ñ Ð¿ÐµÑ€ÐµÐ¼ÐµÐ½Ð½Ð¾Ð¹ %qD, доÑтупной только на чтение"
+
+-#: c-typeck.c:3267
++#: c-typeck.c:3278
+ #, gcc-internal-format
+ msgid "decrement of read-only variable %qD"
+ msgstr "Ð´ÐµÐºÑ€ÐµÐ¼ÐµÐ½Ñ‚Ð°Ñ†Ð¸Ñ Ð¿ÐµÑ€ÐµÐ¼ÐµÐ½Ð½Ð¾Ð¹ %qD, доÑтупной только на чтение"
+
+-#: c-typeck.c:3268
++#: c-typeck.c:3279
+ #, gcc-internal-format
+ msgid "read-only variable %qD used as %<asm%> output"
+ msgstr "доÑÑ‚ÑƒÐ¿Ð½Ð°Ñ Ñ‚Ð¾Ð»ÑŒÐºÐ¾ на чтение Ð¿ÐµÑ€ÐµÐ¼ÐµÐ½Ð½Ð°Ñ %qD иÑпользована как выходной операнд %<asm%>"
+
+-#: c-typeck.c:3271
++#: c-typeck.c:3282
+ #, fuzzy, gcc-internal-format
+ msgid "assignment of read-only location %qE"
+ msgstr "приÑваивание позиции в памÑти, доÑтупной только на чтение"
+
+-#: c-typeck.c:3272
++#: c-typeck.c:3283
+ #, fuzzy, gcc-internal-format
+ msgid "increment of read-only location %qE"
+ msgstr "Ð¸Ð½ÐºÑ€ÐµÐ¼ÐµÐ½Ñ‚Ð°Ñ†Ð¸Ñ Ð¿Ð¾Ð·Ð¸Ñ†Ð¸Ð¸ в памÑти, доÑтупной только на чтение"
+
+-#: c-typeck.c:3273
++#: c-typeck.c:3284
+ #, fuzzy, gcc-internal-format
+ msgid "decrement of read-only location %qE"
+ msgstr "Ð´ÐµÐºÑ€ÐµÐ¼ÐµÐ½Ñ‚Ð°Ñ†Ð¸Ñ Ð¿Ð¾Ð·Ð¸Ñ†Ð¸Ð¸ в памÑти, доÑтупной только на чтение"
+
+-#: c-typeck.c:3274
++#: c-typeck.c:3285
+ #, fuzzy, gcc-internal-format
+ msgid "read-only location %qE used as %<asm%> output"
+ msgstr "доÑÑ‚ÑƒÐ¿Ð½Ð°Ñ Ñ‚Ð¾Ð»ÑŒÐºÐ¾ на чтение Ð¿Ð¾Ð·Ð¸Ñ†Ð¸Ñ Ð¿Ð°Ð¼Ñти иÑпользована как выходной операнд %<asm%>"
+
+-#: c-typeck.c:3310
++#: c-typeck.c:3321
+ #, gcc-internal-format
+ msgid "cannot take address of bit-field %qD"
+ msgstr "Ð½ÐµÐºÐ¾Ñ€Ñ€ÐµÐºÑ‚Ð½Ð°Ñ Ð¿Ð¾Ð¿Ñ‹Ñ‚ÐºÐ° взÑÑ‚ÑŒ Ð°Ð´Ñ€ÐµÑ Ð±Ð¸Ñ‚Ð¾Ð²Ð¾Ð³Ð¾ Ð¿Ð¾Ð»Ñ %qD"
+
+-#: c-typeck.c:3338
++#: c-typeck.c:3349
+ #, gcc-internal-format
+ msgid "global register variable %qD used in nested function"
+ msgstr "Ð³Ð»Ð¾Ð±Ð°Ð»ÑŒÐ½Ð°Ñ Ñ€ÐµÐ³Ð¸ÑÑ‚Ñ€Ð¾Ð²Ð°Ñ Ð¿ÐµÑ€ÐµÐ¼ÐµÐ½Ð½Ð°Ñ %qD иÑпользована во вложенной функции"
+
+-#: c-typeck.c:3341
++#: c-typeck.c:3352
+ #, gcc-internal-format
+ msgid "register variable %qD used in nested function"
+ msgstr "региÑÑ‚Ñ€Ð¾Ð²Ð°Ñ Ð¿ÐµÑ€ÐµÐ¼ÐµÐ½Ð½Ð°Ñ %qD иÑпользована во вложенной функции"
+
+-#: c-typeck.c:3346
++#: c-typeck.c:3357
+ #, gcc-internal-format
+ msgid "address of global register variable %qD requested"
+ msgstr "запрошен Ð°Ð´Ñ€ÐµÑ Ð³Ð»Ð¾Ð±Ð°Ð»ÑŒÐ½Ð¾Ð¹ региÑтровой переменной %qD"
+
+-#: c-typeck.c:3348
++#: c-typeck.c:3359
+ #, gcc-internal-format
+ msgid "address of register variable %qD requested"
+ msgstr "запрошен Ð°Ð´Ñ€ÐµÑ Ñ€ÐµÐ³Ð¸Ñтровой переменной %qD"
+
+-#: c-typeck.c:3394
++#: c-typeck.c:3405
+ #, gcc-internal-format
+ msgid "non-lvalue array in conditional expression"
+ msgstr "не lvalue-маÑÑив в уÑловном выражении"
+
+-#: c-typeck.c:3442
++#: c-typeck.c:3453
+ #, gcc-internal-format
+ msgid "signed and unsigned type in conditional expression"
+ msgstr "в уÑловном выражении Ñмешаны типы signed и unsigned"
+
+-#: c-typeck.c:3449
++#: c-typeck.c:3460
+ #, gcc-internal-format
+ msgid "ISO C forbids conditional expr with only one void side"
+ msgstr "в ISO C запрещены уÑловные выражениÑ, где только одна из альтернатив имеет тип void"
+
+-#: c-typeck.c:3463 c-typeck.c:3471
++#: c-typeck.c:3474 c-typeck.c:3482
+ #, gcc-internal-format
+ msgid "ISO C forbids conditional expr between %<void *%> and function pointer"
+ msgstr "в ISO C запрещены уÑловные выражениÑ, Ñ Ð°Ð»ÑŒÑ‚ÐµÑ€Ð½Ð°Ñ‚Ð¸Ð²Ð°Ð¼Ð¸ типа %<void *%> и указатель на функцию"
+
+-#: c-typeck.c:3478
++#: c-typeck.c:3489
+ #, gcc-internal-format
+ msgid "pointer type mismatch in conditional expression"
+ msgstr "неÑоответÑтвие указательных типов в уÑловном выражении"
+
+-#: c-typeck.c:3485 c-typeck.c:3495
++#: c-typeck.c:3496 c-typeck.c:3506
+ #, gcc-internal-format
+ msgid "pointer/integer type mismatch in conditional expression"
+ msgstr "неÑоответÑтвие типов указатель/целое в уÑловном выражении"
+
+-#: c-typeck.c:3509 tree-cfg.c:3783
++#: c-typeck.c:3520 tree-cfg.c:3807
+ #, gcc-internal-format
+ msgid "type mismatch in conditional expression"
+ msgstr "неÑоответÑтвие типов в уÑловном выражении"
+
+-#: c-typeck.c:3552
++#: c-typeck.c:3563
+ #, gcc-internal-format
+ msgid "left-hand operand of comma expression has no effect"
+ msgstr "левый операнд операции `запÑтаÑ' не имеет побочных Ñффектов"
+
+-#: c-typeck.c:3589
++#: c-typeck.c:3600
+ #, gcc-internal-format
+ msgid "cast specifies array type"
+ msgstr "тип маÑÑива в операции Ð¿Ñ€Ð¸Ð²ÐµÐ´ÐµÐ½Ð¸Ñ Ñ‚Ð¸Ð¿Ð¾Ð²"
+
+-#: c-typeck.c:3595
++#: c-typeck.c:3606
+ #, gcc-internal-format
+ msgid "cast specifies function type"
+ msgstr "тип функции в операции Ð¿Ñ€Ð¸Ð²ÐµÐ´ÐµÐ½Ð¸Ñ Ñ‚Ð¸Ð¿Ð¾Ð²"
+
+-#: c-typeck.c:3612
++#: c-typeck.c:3623
+ #, gcc-internal-format
+ msgid "ISO C forbids casting nonscalar to the same type"
+ msgstr "в ISO C приведение неÑкалÑрного типа к тому же типу запрещено"
+
+-#: c-typeck.c:3629
++#: c-typeck.c:3640
+ #, gcc-internal-format
+ msgid "ISO C forbids casts to union type"
+ msgstr "в ISO C приведение к типу Ð¾Ð±ÑŠÐµÐ´Ð¸Ð½ÐµÐ½Ð¸Ñ Ð·Ð°Ð¿Ñ€ÐµÑ‰ÐµÐ½Ð¾"
+
+-#: c-typeck.c:3637
++#: c-typeck.c:3648
+ #, gcc-internal-format
+ msgid "cast to union type from type not present in union"
+ msgstr "приведение к типу Ð¾Ð±ÑŠÐµÐ´Ð¸Ð½ÐµÐ½Ð¸Ñ Ð¾Ñ‚ типа, отÑутÑтвующего в объединении"
+
+-#: c-typeck.c:3683
++#: c-typeck.c:3694
+ #, gcc-internal-format
+ msgid "cast adds new qualifiers to function type"
+ msgstr "приведение типа добавлÑет дополнительные квалификаторы к типу функции"
+
+ #. There are qualifiers present in IN_OTYPE that are not
+ #. present in IN_TYPE.
+-#: c-typeck.c:3688
++#: c-typeck.c:3699
+ #, gcc-internal-format
+ msgid "cast discards qualifiers from pointer target type"
+ msgstr "приведение типа отменÑет квалификаторы указуемого типа"
+
+-#: c-typeck.c:3704
++#: c-typeck.c:3715
+ #, gcc-internal-format
+ msgid "cast increases required alignment of target type"
+ msgstr "приведение типа требует большего выравниваниÑ, чем иÑходный тип"
+
+-#: c-typeck.c:3715
++#: c-typeck.c:3726
+ #, gcc-internal-format
+ msgid "cast from pointer to integer of different size"
+ msgstr "приведение ÑƒÐºÐ°Ð·Ð°Ñ‚ÐµÐ»Ñ Ðº целому другого размера"
+
+-#: c-typeck.c:3719
++#: c-typeck.c:3730
+ #, gcc-internal-format
+ msgid "cast from function call of type %qT to non-matching type %qT"
+ msgstr "приведение вызова функции типа %qT к неÑоответÑтвующему типу %qT"
+
+-#: c-typeck.c:3727
++#: c-typeck.c:3738
+ #, gcc-internal-format
+ msgid "cast to pointer from integer of different size"
+ msgstr "приведение к типу ÑƒÐºÐ°Ð·Ð°Ñ‚ÐµÐ»Ñ Ð¾Ñ‚ целого другого размера"
+
+-#: c-typeck.c:3741
++#: c-typeck.c:3752
+ #, gcc-internal-format
+ msgid "ISO C forbids conversion of function pointer to object pointer type"
+ msgstr "ISO C запрещает преобразование ÑƒÐºÐ°Ð·Ð°Ñ‚ÐµÐ»Ñ Ð½Ð° функцию к указателю на объект"
+
+-#: c-typeck.c:3749
++#: c-typeck.c:3760
+ #, gcc-internal-format
+ msgid "ISO C forbids conversion of object pointer to function pointer type"
+ msgstr "ISO C запрещает преобразование ÑƒÐºÐ°Ð·Ð°Ñ‚ÐµÐ»Ñ Ð½Ð° объект к указателю на функцию "
+
+-#: c-typeck.c:4026
++#: c-typeck.c:4037
+ #, gcc-internal-format
+ msgid "cannot pass rvalue to reference parameter"
+ msgstr "передача rvalue-Ð²Ñ‹Ñ€Ð°Ð¶ÐµÐ½Ð¸Ñ Ð² качеÑтве параметра-ÑÑылки запрещена"
+
+-#: c-typeck.c:4139 c-typeck.c:4306
++#: c-typeck.c:4150 c-typeck.c:4317
+ #, gcc-internal-format
+ msgid "passing argument %d of %qE makes qualified function pointer from unqualified"
+ msgstr "передача аргумента %d %qE добавлÑет квалификатор к указателю на функцию без квалификаторов"
+
+-#: c-typeck.c:4142 c-typeck.c:4309
++#: c-typeck.c:4153 c-typeck.c:4320
+ #, gcc-internal-format
+ msgid "assignment makes qualified function pointer from unqualified"
+ msgstr "приÑваивание добавлÑет квалификатор к указателю на функцию без квалификаторов"
+
+-#: c-typeck.c:4145 c-typeck.c:4311
++#: c-typeck.c:4156 c-typeck.c:4322
+ #, gcc-internal-format
+ msgid "initialization makes qualified function pointer from unqualified"
+ msgstr "Ð¸Ð½Ð¸Ñ†Ð¸Ð°Ð»Ð¸Ð·Ð°Ñ†Ð¸Ñ Ð´Ð¾Ð±Ð°Ð²Ð»Ñет квалификатор к указателю на функцию без квалификаторов"
+
+-#: c-typeck.c:4148 c-typeck.c:4313
++#: c-typeck.c:4159 c-typeck.c:4324
+ #, gcc-internal-format
+ msgid "return makes qualified function pointer from unqualified"
+ msgstr "возврат Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ñ Ð´Ð¾Ð±Ð°Ð²Ð»Ñет квалификатор к указателю на функцию без квалификаторов"
+
+-#: c-typeck.c:4152 c-typeck.c:4273
++#: c-typeck.c:4163 c-typeck.c:4284
+ #, gcc-internal-format
+ msgid "passing argument %d of %qE discards qualifiers from pointer target type"
+ msgstr "передача аргумента %d %qE отменÑет квалификаторы указуемого типа"
+
+-#: c-typeck.c:4154 c-typeck.c:4275
++#: c-typeck.c:4165 c-typeck.c:4286
+ #, gcc-internal-format
+ msgid "assignment discards qualifiers from pointer target type"
+ msgstr "приÑваивание отменÑет квалификаторы указуемого типа"
+
+-#: c-typeck.c:4156 c-typeck.c:4277
++#: c-typeck.c:4167 c-typeck.c:4288
+ #, gcc-internal-format
+ msgid "initialization discards qualifiers from pointer target type"
+ msgstr "Ð¸Ð½Ð¸Ñ†Ð¸Ð°Ð»Ð¸Ð·Ð°Ñ†Ð¸Ñ Ð¾Ñ‚Ð¼ÐµÐ½Ñет квалификаторы указуемого типа"
+
+-#: c-typeck.c:4158 c-typeck.c:4279
++#: c-typeck.c:4169 c-typeck.c:4290
+ #, gcc-internal-format
+ msgid "return discards qualifiers from pointer target type"
+ msgstr "возврат результата отменÑет квалификаторы указуемого типа"
+
+-#: c-typeck.c:4165
++#: c-typeck.c:4176
+ #, gcc-internal-format
+ msgid "ISO C prohibits argument conversion to union type"
+ msgstr "в ISO C преобразование аргумента к типу Ð¾Ð±ÑŠÐµÐ´Ð¸Ð½ÐµÐ½Ð¸Ñ Ð·Ð°Ð¿Ñ€ÐµÑ‰ÐµÐ½Ð¾"
+
+-#: c-typeck.c:4201
++#: c-typeck.c:4212
+ #, gcc-internal-format
+ msgid "request for implicit conversion from %qT to %qT not permitted in C++"
+ msgstr "неÑÐ²Ð½Ð°Ñ ÐºÐ¾Ð½Ð²ÐµÑ€ÑÐ¸Ñ Ð¸Ð· %qT в %qT, Ð·Ð°Ð¿Ñ€ÐµÑ‰ÐµÐ½Ð½Ð°Ñ Ð² C++"
+
+-#: c-typeck.c:4214
++#: c-typeck.c:4225
+ #, gcc-internal-format
+ msgid "argument %d of %qE might be a candidate for a format attribute"
+ msgstr "аргументу %d %qE, вероÑтно, можно назначить атрибут format"
+
+-#: c-typeck.c:4220
++#: c-typeck.c:4231
+ #, gcc-internal-format
+ msgid "assignment left-hand side might be a candidate for a format attribute"
+ msgstr "левой чаÑти приÑваиваниÑ, вероÑтно, можно назначить атрибут format"
+
+-#: c-typeck.c:4225
++#: c-typeck.c:4236
+ #, gcc-internal-format
+ msgid "initialization left-hand side might be a candidate for a format attribute"
+ msgstr "левой чаÑти инициализации, вероÑтно, можно задать атрибут format"
+
+-#: c-typeck.c:4230
++#: c-typeck.c:4241
+ #, gcc-internal-format
+ msgid "return type might be a candidate for a format attribute"
+ msgstr "тип результата, вероÑтно, может быть задан Ñ Ð°Ñ‚Ñ€Ð¸Ð±ÑƒÑ‚Ð¾Ð¼ format"
+
+-#: c-typeck.c:4253
++#: c-typeck.c:4264
+ #, gcc-internal-format
+ msgid "ISO C forbids passing argument %d of %qE between function pointer and %<void *%>"
+ msgstr "в ISO C передача аргумента %d функции %qE Ñ Ð¿Ñ€ÐµÐ¾Ð±Ñ€Ð°Ð·Ð¾Ð²Ð°Ð½Ð¸ÐµÐ¼ ÑƒÐºÐ°Ð·Ð°Ñ‚ÐµÐ»Ñ Ð½Ð° функцию в тип %<void * %> запрещена"
+
+-#: c-typeck.c:4256
++#: c-typeck.c:4267
+ #, gcc-internal-format
+ msgid "ISO C forbids assignment between function pointer and %<void *%>"
+ msgstr "в ISO C приÑваивание Ñ Ð¿Ñ€ÐµÐ¾Ð±Ñ€Ð°Ð·Ð¾Ð²Ð°Ð½Ð¸ÐµÐ¼ ÑƒÐºÐ°Ð·Ð°Ñ‚ÐµÐ»Ñ Ð½Ð° функцию в тип %<void *%> запрещено"
+
+-#: c-typeck.c:4258
++#: c-typeck.c:4269
+ #, gcc-internal-format
+ msgid "ISO C forbids initialization between function pointer and %<void *%>"
+ msgstr "в ISO C Ð¸Ð½Ð¸Ñ†Ð¸Ð°Ð»Ð¸Ð·Ð°Ñ†Ð¸Ñ Ñ Ð¿Ñ€ÐµÐ¾Ð±Ñ€Ð°Ð·Ð¾Ð²Ð°Ð½Ð¸ÐµÐ¼ ÑƒÐºÐ°Ð·Ð°Ñ‚ÐµÐ»Ñ Ð½Ð° функцию в тип %<void *%> запрещена"
+
+-#: c-typeck.c:4260
++#: c-typeck.c:4271
+ #, gcc-internal-format
+ msgid "ISO C forbids return between function pointer and %<void *%>"
+ msgstr "в ISO C возврат результата Ñ Ð¿Ñ€ÐµÐ¾Ð±Ñ€Ð°Ð·Ð¾Ð²Ð°Ð½Ð¸ÐµÐ¼ ÑƒÐºÐ°Ð·Ð°Ñ‚ÐµÐ»Ñ Ð½Ð° функцию в тип %<void *%> запрещен"
+
+-#: c-typeck.c:4289
++#: c-typeck.c:4300
+ #, gcc-internal-format
+ msgid "pointer targets in passing argument %d of %qE differ in signedness"
+ msgstr "при передаче аргумента %d %qE: указуемые типы различаютÑÑ Ð·Ð½Ð°ÐºÐ¾Ð²Ð¾Ñтью"
+
+-#: c-typeck.c:4291
++#: c-typeck.c:4302
+ #, gcc-internal-format
+ msgid "pointer targets in assignment differ in signedness"
+ msgstr "в приÑваивании указуемые типы различаютÑÑ Ð·Ð½Ð°ÐºÐ¾Ð²Ð¾Ñтью"
+
+-#: c-typeck.c:4293
++#: c-typeck.c:4304
+ #, gcc-internal-format
+ msgid "pointer targets in initialization differ in signedness"
+ msgstr "в инициализации указуемые типы различаютÑÑ Ð·Ð½Ð°ÐºÐ¾Ð²Ð¾Ñтью"
+
+-#: c-typeck.c:4295
++#: c-typeck.c:4306
+ #, gcc-internal-format
+ msgid "pointer targets in return differ in signedness"
+ msgstr "при возврате результата указуемые типы различаютÑÑ Ð·Ð½Ð°ÐºÐ¾Ð²Ð¾Ñтью"
+
+-#: c-typeck.c:4320
++#: c-typeck.c:4331
+ #, gcc-internal-format
+ msgid "passing argument %d of %qE from incompatible pointer type"
+ msgstr "в передаче аргумента %d %qE: неÑовмеÑтимый тип указателÑ"
+
+-#: c-typeck.c:4322
++#: c-typeck.c:4333
+ #, gcc-internal-format
+ msgid "assignment from incompatible pointer type"
+ msgstr "неÑовмеÑтимый тип ÑƒÐºÐ°Ð·Ð°Ñ‚ÐµÐ»Ñ Ð² приÑваивании"
+
+-#: c-typeck.c:4323
++#: c-typeck.c:4334
+ #, gcc-internal-format
+ msgid "initialization from incompatible pointer type"
+ msgstr "неÑовмеÑтимый тип ÑƒÐºÐ°Ð·Ð°Ñ‚ÐµÐ»Ñ Ð² инициализации"
+
+-#: c-typeck.c:4325
++#: c-typeck.c:4336
+ #, gcc-internal-format
+ msgid "return from incompatible pointer type"
+ msgstr "неÑовмеÑтимый тип ÑƒÐºÐ°Ð·Ð°Ñ‚ÐµÐ»Ñ Ð¿Ñ€Ð¸ возврате результата функции"
+
+-#: c-typeck.c:4342
++#: c-typeck.c:4353
+ #, gcc-internal-format
+ msgid "passing argument %d of %qE makes pointer from integer without a cast"
+ msgstr "при передаче аргумента %d %qE целое преобразуетÑÑ Ð² указатель без Ð¿Ñ€Ð¸Ð²ÐµÐ´ÐµÐ½Ð¸Ñ Ñ‚Ð¸Ð¿Ð°"
+
+-#: c-typeck.c:4344
++#: c-typeck.c:4355
+ #, gcc-internal-format
+ msgid "assignment makes pointer from integer without a cast"
+ msgstr "в приÑваивании целое преобразуетÑÑ Ð² указатель без Ð¿Ñ€Ð¸Ð²ÐµÐ´ÐµÐ½Ð¸Ñ Ñ‚Ð¸Ð¿Ð°"
+
+-#: c-typeck.c:4346
++#: c-typeck.c:4357
+ #, gcc-internal-format
+ msgid "initialization makes pointer from integer without a cast"
+ msgstr "при инициализации целое преобразуетÑÑ Ð² указатель без Ð¿Ñ€Ð¸Ð²ÐµÐ´ÐµÐ½Ð¸Ñ Ñ‚Ð¸Ð¿Ð°"
+
+-#: c-typeck.c:4348
++#: c-typeck.c:4359
+ #, gcc-internal-format
+ msgid "return makes pointer from integer without a cast"
+ msgstr "при возврате результата функции целое преобразуетÑÑ Ð² указатель без Ð¿Ñ€Ð¸Ð²ÐµÐ´ÐµÐ½Ð¸Ñ Ñ‚Ð¸Ð¿Ð°"
+
+-#: c-typeck.c:4355
++#: c-typeck.c:4366
+ #, gcc-internal-format
+ msgid "passing argument %d of %qE makes integer from pointer without a cast"
+ msgstr "при передаче аргумента %d %qE указатель преобразуетÑÑ Ð² целое без Ð¿Ñ€Ð¸Ð²ÐµÐ´ÐµÐ½Ð¸Ñ Ñ‚Ð¸Ð¿Ð°"
+
+-#: c-typeck.c:4357
++#: c-typeck.c:4368
+ #, gcc-internal-format
+ msgid "assignment makes integer from pointer without a cast"
+ msgstr "в приÑваивании указатель преобразуетÑÑ Ð² целое без Ð¿Ñ€Ð¸Ð²ÐµÐ´ÐµÐ½Ð¸Ñ Ñ‚Ð¸Ð¿Ð°"
+
+-#: c-typeck.c:4359
++#: c-typeck.c:4370
+ #, gcc-internal-format
+ msgid "initialization makes integer from pointer without a cast"
+ msgstr "при инициализации указатель преобразуетÑÑ Ð² целое без Ð¿Ñ€Ð¸Ð²ÐµÐ´ÐµÐ½Ð¸Ñ Ñ‚Ð¸Ð¿Ð°"
+
+-#: c-typeck.c:4361
++#: c-typeck.c:4372
+ #, gcc-internal-format
+ msgid "return makes integer from pointer without a cast"
+ msgstr "при возврате результата указатель преобразуетÑÑ Ð² целое без Ð¿Ñ€Ð¸Ð²ÐµÐ´ÐµÐ½Ð¸Ñ Ñ‚Ð¸Ð¿Ð°"
+
+-#: c-typeck.c:4377
++#: c-typeck.c:4388
+ #, gcc-internal-format
+ msgid "incompatible types in assignment"
+ msgstr "неÑовмеÑтимые типы в приÑваивании"
+
+-#: c-typeck.c:4380
++#: c-typeck.c:4391
+ #, gcc-internal-format
+ msgid "incompatible types in initialization"
+ msgstr "неÑовмеÑтимые типы при инициализации"
+
+-#: c-typeck.c:4383
++#: c-typeck.c:4394
+ #, gcc-internal-format
+ msgid "incompatible types in return"
+ msgstr "неÑовмеÑтимые типы в операторе возврата"
+
+-#: c-typeck.c:4439
++#: c-typeck.c:4450
+ #, gcc-internal-format
+ msgid "traditional C rejects automatic aggregate initialization"
+ msgstr "в традиционном C Ð¸Ð½Ð¸Ñ†Ð¸Ð°Ð»Ð¸Ð·Ð°Ñ†Ð¸Ñ Ð°Ð²Ñ‚Ð¾Ð¼Ð°Ñ‚Ð¸Ñ‡ÐµÑких агрегатных переменных запрещена"
+
+-#: c-typeck.c:4610 c-typeck.c:4625 c-typeck.c:4640
++#: c-typeck.c:4621 c-typeck.c:4636 c-typeck.c:4651
+ #, gcc-internal-format
+ msgid "(near initialization for %qs)"
+ msgstr "(где-то Ñ€Ñдом Ñ Ð¸Ð½Ð¸Ñ†Ð¸Ð°Ð»Ð¸Ð·Ð°Ñ†Ð¸ÐµÐ¹ Ð´Ð»Ñ %qs)"
+
+-#: c-typeck.c:5180 cp/decl.c:4975
++#: c-typeck.c:5191 cp/decl.c:4995
+ #, gcc-internal-format
+ msgid "opaque vector types cannot be initialized"
+ msgstr "вектор Ñкрытого типа не может быть инициализирован"
+
+-#: c-typeck.c:5803
++#: c-typeck.c:5814
+ #, gcc-internal-format
+ msgid "unknown field %qE specified in initializer"
+ msgstr "неизвеÑтное поле %qE в инициализаторе"
+
+-#: c-typeck.c:6703
++#: c-typeck.c:6714
+ #, gcc-internal-format
+ msgid "traditional C rejects initialization of unions"
+ msgstr "в традиционном C Ð¸Ð½Ð¸Ñ†Ð¸Ð°Ð»Ð¸Ð·Ð°Ñ†Ð¸Ñ Ð¾Ð±ÑŠÐµÐ´Ð¸Ð½ÐµÐ½Ð¸Ð¹ запрещена"
+
+-#: c-typeck.c:7011
++#: c-typeck.c:7022
+ #, gcc-internal-format
+ msgid "jump into statement expression"
+ msgstr "переход в выражение-оператор"
+
+-#: c-typeck.c:7017
++#: c-typeck.c:7028
+ #, gcc-internal-format
+ msgid "jump into scope of identifier with variably modified type"
+ msgstr "переход в облаÑÑ‚ÑŒ идентификатора Ñ Ð¿ÐµÑ€ÐµÐ¼ÐµÐ½Ð½Ð¾ модифицируемым типом"
+
+-#: c-typeck.c:7054
++#: c-typeck.c:7065
+ #, gcc-internal-format
+ msgid "ISO C forbids %<goto *expr;%>"
+ msgstr "в ISO C операторы вида %<goto *expr;%> запрещены"
+
+-#: c-typeck.c:7069 cp/typeck.c:6592
++#: c-typeck.c:7080 cp/typeck.c:6619
+ #, gcc-internal-format
+ msgid "function declared %<noreturn%> has a %<return%> statement"
+ msgstr "Ñ„ÑƒÐ½ÐºÑ†Ð¸Ñ Ð´ÐµÐºÐ»Ð°Ñ€Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð½Ð°Ñ Ñ Ð°Ñ‚Ñ€Ð¸Ð±ÑƒÑ‚Ð¾Ð¼ %<noreturn%> Ñодержит оператор %<return%>"
+
+-#: c-typeck.c:7077
++#: c-typeck.c:7088
+ #, gcc-internal-format
+ msgid "%<return%> with no value, in function returning non-void"
+ msgstr "оператор %<return%> без Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ñ Ð² функции, возвращающей не void-значение"
+
+-#: c-typeck.c:7086
++#: c-typeck.c:7097
+ #, gcc-internal-format
+ msgid "%<return%> with a value, in function returning void"
+ msgstr "оператор %<return%> <значение> в функции возвращающей void"
+
+-#: c-typeck.c:7088
++#: c-typeck.c:7099
+ #, fuzzy, gcc-internal-format
+ msgid "ISO C forbids %<return%> with expression, in function returning void"
+ msgstr "оператор %<return%> <значение> в функции возвращающей void"
+
+-#: c-typeck.c:7145
++#: c-typeck.c:7156
+ #, gcc-internal-format
+ msgid "function returns address of local variable"
+ msgstr "Ñ„ÑƒÐ½ÐºÑ†Ð¸Ñ Ð²Ð¾Ð·Ð²Ñ€Ð°Ñ‰Ð°ÐµÑ‚ Ð°Ð´Ñ€ÐµÑ Ð»Ð¾ÐºÐ°Ð»ÑŒÐ½Ð¾Ð¹ переменной"
+
+-#: c-typeck.c:7217 cp/semantics.c:949
++#: c-typeck.c:7228 cp/semantics.c:952
+ #, gcc-internal-format
+ msgid "switch quantity not an integer"
+ msgstr "в операторе switch задано не целое"
+
+-#: c-typeck.c:7229
++#: c-typeck.c:7240
+ #, gcc-internal-format
+ msgid "%<long%> switch expression not converted to %<int%> in ISO C"
+ msgstr "в ISO C %<long%>-выражение в операторе switch не преобразуетÑÑ Ð² %<int%>"
+
+-#: c-typeck.c:7269
++#: c-typeck.c:7280
+ #, gcc-internal-format
+ msgid "case label in statement expression not containing enclosing switch statement"
+ msgstr "case-метка в оператора-выражении, не Ñодержащем объемлющего оператора switch"
+
+-#: c-typeck.c:7272
++#: c-typeck.c:7283
+ #, gcc-internal-format
+ msgid "%<default%> label in statement expression not containing enclosing switch statement"
+ msgstr "метка %<default%> в оператора-выражении, не Ñодержащем объемлющего оператора switch"
+
+-#: c-typeck.c:7278
++#: c-typeck.c:7289
+ #, gcc-internal-format
+ msgid "case label in scope of identifier with variably modified type not containing enclosing switch statement"
+ msgstr "case-метка в облаÑти видимоÑти идентификатора Ñ Ð¿ÐµÑ€ÐµÐ¼ÐµÐ½Ð½Ð¾-модифицируемым типом, не Ñодержащей объемлющего оператора switch"
+
+-#: c-typeck.c:7281
++#: c-typeck.c:7292
+ #, gcc-internal-format
+ msgid "%<default%> label in scope of identifier with variably modified type not containing enclosing switch statement"
+ msgstr "метка %<default%> в облаÑти видимоÑти идентификатора Ñ Ð¿ÐµÑ€ÐµÐ¼ÐµÐ½Ð½Ð¾-модифицируемым типом, не Ñодержащей объемлющего оператора switch"
+
+-#: c-typeck.c:7285 cp/parser.c:6804
++#: c-typeck.c:7296 cp/parser.c:6810
+ #, gcc-internal-format
+ msgid "case label not within a switch statement"
+ msgstr "case-метка вне оператора switch"
+
+-#: c-typeck.c:7287
++#: c-typeck.c:7298
+ #, gcc-internal-format
+ msgid "%<default%> label not within a switch statement"
+ msgstr "метка %<default%> вне оператора switch"
+
+-#: c-typeck.c:7364
++#: c-typeck.c:7375
+ #, gcc-internal-format
+ msgid "%Hsuggest explicit braces to avoid ambiguous %<else%>"
+ msgstr "%HиÑпользуйте фигурные Ñкобки во избежание неоднозначной трактовки %<else%>"
+
+-#: c-typeck.c:7475 cp/cp-gimplify.c:97 cp/parser.c:7409
++#: c-typeck.c:7486 cp/cp-gimplify.c:97 cp/parser.c:7415
+ #, gcc-internal-format
+ msgid "break statement not within loop or switch"
+ msgstr "оператор break вне цикла или оператора switch"
+
+-#: c-typeck.c:7477 cp/parser.c:7430
++#: c-typeck.c:7488 cp/parser.c:7436
+ #, gcc-internal-format
+ msgid "continue statement not within a loop"
+ msgstr "оператор continue вне цикла"
+
+-#: c-typeck.c:7482 cp/parser.c:7420
++#: c-typeck.c:7493 cp/parser.c:7426
+ #, fuzzy, gcc-internal-format
+ msgid "break statement used with OpenMP for loop"
+ msgstr "оператор break вне цикла или оператора switch"
+
+-#: c-typeck.c:7505
++#: c-typeck.c:7516
+ #, gcc-internal-format
+ msgid "%Hstatement with no effect"
+ msgstr "%Hоператор без побочного Ñффекта"
+
+-#: c-typeck.c:7527
++#: c-typeck.c:7538
+ #, gcc-internal-format
+ msgid "expression statement has incomplete type"
+ msgstr "оператор-выражение имеет неполный тип"
+
+-#: c-typeck.c:8082 cp/typeck.c:3259
++#: c-typeck.c:8093 cp/typeck.c:3301
+ #, gcc-internal-format
+ msgid "right shift count is negative"
+ msgstr "Ñдвиг вправо на отрицательное чиÑло позиций"
+
+-#: c-typeck.c:8089 cp/typeck.c:3265
++#: c-typeck.c:8100 cp/typeck.c:3305
+ #, gcc-internal-format
+ msgid "right shift count >= width of type"
+ msgstr "величина Ñдвига вправо больше или равна ширине данного типа"
+
+-#: c-typeck.c:8111 cp/typeck.c:3284
++#: c-typeck.c:8122 cp/typeck.c:3324
+ #, gcc-internal-format
+ msgid "left shift count is negative"
+ msgstr "Ñдвиг влево на отрицательное чиÑло позиций"
+
+-#: c-typeck.c:8114 cp/typeck.c:3286
++#: c-typeck.c:8125 cp/typeck.c:3326
+ #, gcc-internal-format
+ msgid "left shift count >= width of type"
+ msgstr "величина Ñдвига влево больше или равна ширине данного типа"
+
+-#: c-typeck.c:8132 cp/typeck.c:3324
++#: c-typeck.c:8143 cp/typeck.c:3364
+ #, gcc-internal-format
+ msgid "comparing floating point with == or != is unsafe"
+ msgstr "Ñравнение плавающих значений при помощи == или != не надежно"
+
+-#: c-typeck.c:8156 c-typeck.c:8163
++#: c-typeck.c:8167 c-typeck.c:8174
+ #, gcc-internal-format
+ msgid "ISO C forbids comparison of %<void *%> with function pointer"
+ msgstr "в ISO C Ñравнение ÑƒÐºÐ°Ð·Ð°Ñ‚ÐµÐ»Ñ Ð½Ð° функцию Ñ ÑƒÐºÐ°Ð·Ð°Ñ‚ÐµÐ»ÐµÐ¼ %<void *%> запрещено"
+
+-#: c-typeck.c:8169 c-typeck.c:8227
++#: c-typeck.c:8180 c-typeck.c:8238
+ #, gcc-internal-format
+ msgid "comparison of distinct pointer types lacks a cast"
+ msgstr "Ñравнение различных указательных типов без Ð¿Ñ€Ð¸Ð²ÐµÐ´ÐµÐ½Ð¸Ñ Ñ‚Ð¸Ð¿Ð¾Ð²"
+
+-#: c-typeck.c:8178 c-typeck.c:8186 cp/typeck.c:3344 cp/typeck.c:3353
++#: c-typeck.c:8189 c-typeck.c:8197 cp/typeck.c:3384 cp/typeck.c:3393
+ #, fuzzy, gcc-internal-format
+ msgid "the address of %qD will never be NULL"
+ msgstr "Ð°Ð´Ñ€ÐµÑ %qD вÑегда будет %<иÑтина%>"
+
+-#: c-typeck.c:8193 c-typeck.c:8198 c-typeck.c:8245 c-typeck.c:8250
++#: c-typeck.c:8204 c-typeck.c:8209 c-typeck.c:8256 c-typeck.c:8261
+ #, gcc-internal-format
+ msgid "comparison between pointer and integer"
+ msgstr "Ñравнение ÑƒÐºÐ°Ð·Ð°Ñ‚ÐµÐ»Ñ Ð¸ целого"
+
+-#: c-typeck.c:8219
++#: c-typeck.c:8230
+ #, gcc-internal-format
+ msgid "comparison of complete and incomplete pointers"
+ msgstr "Ñравнение указателей на полный и неполный типы"
+
+-#: c-typeck.c:8222
++#: c-typeck.c:8233
+ #, gcc-internal-format
+ msgid "ISO C forbids ordered comparisons of pointers to functions"
+ msgstr "ISO C разрешает Ñравнение указателей на функции только на равенÑтво/неравенÑтво"
+
+-#: c-typeck.c:8234 c-typeck.c:8240
++#: c-typeck.c:8245 c-typeck.c:8251
+ #, gcc-internal-format
+ msgid "ordered comparison of pointer with integer zero"
+ msgstr "упорÑдоченное Ñравнение ÑƒÐºÐ°Ð·Ð°Ñ‚ÐµÐ»Ñ Ñ Ñ†ÐµÐ»Ð¾Ñ‡Ð¸Ñленным нулем"
+
+-#: c-typeck.c:8500
++#: c-typeck.c:8511
+ #, gcc-internal-format
+ msgid "comparison between signed and unsigned"
+ msgstr "Ñравнение знакового и беззнакового значений"
+
+-#: c-typeck.c:8546 cp/typeck.c:3830
++#: c-typeck.c:8557 cp/typeck.c:3838
+ #, gcc-internal-format
+ msgid "comparison of promoted ~unsigned with constant"
+ msgstr "Ñравнение ~unsigned Ñ ÐºÐ¾Ð½Ñтантой"
+
+-#: c-typeck.c:8554 cp/typeck.c:3838
++#: c-typeck.c:8565 cp/typeck.c:3846
+ #, gcc-internal-format
+ msgid "comparison of promoted ~unsigned with unsigned"
+ msgstr "Ñравнение ~unsigned Ñ unsigned"
+
+-#: c-typeck.c:8612
++#: c-typeck.c:8623
+ #, gcc-internal-format
+ msgid "used array that cannot be converted to pointer where scalar is required"
+ msgstr "маÑÑив, не приводимый к указателю, употреблен в контекÑте, где допуÑтимо только ÑкалÑрное значение"
+
+-#: c-typeck.c:8616
++#: c-typeck.c:8627
+ #, gcc-internal-format
+ msgid "used struct type value where scalar is required"
+ msgstr "Ñтруктурное значение употреблено в контекÑте, где допуÑтимо только ÑкалÑрное значение"
+
+-#: c-typeck.c:8620
++#: c-typeck.c:8631
+ #, gcc-internal-format
+ msgid "used union type value where scalar is required"
+ msgstr "объединение употреблено в контекÑте, где допуÑтимо только ÑкалÑрное значение"
+
+-#: c-typeck.c:8725 cp/semantics.c:3523
++#: c-typeck.c:8736 cp/semantics.c:3555
+ #, fuzzy, gcc-internal-format
+ msgid "%qE has invalid type for %<reduction%>"
+ msgstr "неверное употребление Ñпецификатора %<restrict%>"
+
+-#: c-typeck.c:8759 cp/semantics.c:3536
++#: c-typeck.c:8770 cp/semantics.c:3568
+ #, gcc-internal-format
+ msgid "%qE has invalid type for %<reduction(%s)%>"
+ msgstr ""
+
+-#: c-typeck.c:8775 cp/semantics.c:3546
++#: c-typeck.c:8786 cp/semantics.c:3578
+ #, gcc-internal-format
+ msgid "%qE must be %<threadprivate%> for %<copyin%>"
+ msgstr ""
+
+-#: c-typeck.c:8784 cp/semantics.c:3351
++#: c-typeck.c:8795 cp/semantics.c:3383
+ #, fuzzy, gcc-internal-format
+ msgid "%qE is not a variable in clause %qs"
+ msgstr "%qT не ÑвлÑетÑÑ Ð±Ð°Ð·Ð¾Ð²Ñ‹Ð¼ Ð´Ð»Ñ %qT"
+
+-#: c-typeck.c:8791 c-typeck.c:8811 c-typeck.c:8831 cp/semantics.c:3377
+-#: cp/semantics.c:3396
++#: c-typeck.c:8802 c-typeck.c:8822 c-typeck.c:8842 cp/semantics.c:3409
++#: cp/semantics.c:3428
+ #, gcc-internal-format
+ msgid "%qE appears more than once in data clauses"
+ msgstr ""
+
+-#: c-typeck.c:8805 cp/semantics.c:3371
++#: c-typeck.c:8816 cp/semantics.c:3403
+ #, fuzzy, gcc-internal-format
+ msgid "%qE is not a variable in clause %<firstprivate%>"
+ msgstr "instance-Ð¿ÐµÑ€ÐµÐ¼ÐµÐ½Ð½Ð°Ñ %qs объÑвлена как private"
+
+-#: c-typeck.c:8825 cp/semantics.c:3390
++#: c-typeck.c:8836 cp/semantics.c:3422
+ #, fuzzy, gcc-internal-format
+ msgid "%qE is not a variable in clause %<lastprivate%>"
+ msgstr "instance-Ð¿ÐµÑ€ÐµÐ¼ÐµÐ½Ð½Ð°Ñ %qs объÑвлена как private"
+
+-#: c-typeck.c:8883 cp/semantics.c:3587
++#: c-typeck.c:8894 cp/semantics.c:3619
+ #, gcc-internal-format
+ msgid "%qE is predetermined %qs for %qs"
+ msgstr ""
+@@ -21442,12 +21425,12 @@
+ msgid "function call has aggregate value"
+ msgstr "Ñ„ÑƒÐ½ÐºÑ†Ð¸Ñ Ð²Ð¾Ð·Ð²Ñ€Ð°Ñ‰Ð°ÐµÑ‚ агрегатное значение"
+
+-#: cfgexpand.c:1884
++#: cfgexpand.c:1887
+ #, gcc-internal-format
+ msgid "not protecting local variables: variable length buffer"
+ msgstr "локальные переменные не защищены: буфер переменного размера"
+
+-#: cfgexpand.c:1887
++#: cfgexpand.c:1890
+ #, gcc-internal-format
+ msgid "not protecting function: no buffer at least %d bytes long"
+ msgstr "Ñ„ÑƒÐ½ÐºÑ†Ð¸Ñ Ð½Ðµ защищена: отÑутÑтвует буфер размера не менее %d байт"
+@@ -21502,7 +21485,7 @@
+ msgid "verify_flow_info: Basic block %d succ edge is corrupted"
+ msgstr "verify_flow_info: Ð’Ñ‹Ñ…Ð¾Ð´Ð½Ð°Ñ Ð´ÑƒÐ³Ð° блока %d повреждена"
+
+-#: cfghooks.c:184 cfgrtl.c:1840
++#: cfghooks.c:184 cfgrtl.c:1838
+ #, gcc-internal-format
+ msgid "wrong amount of branch edges after unconditional jump %i"
+ msgstr "некорректное чиÑло ветвлений поÑле безуÑловного перехода %i"
+@@ -21712,252 +21695,252 @@
+ msgid "%d exits recorded for loop %d (having %d exits)"
+ msgstr "нет запиÑи о единÑтвенном выходе из цикла %d"
+
+-#: cfgrtl.c:1734
++#: cfgrtl.c:1732
+ #, gcc-internal-format
+ msgid "BB_RTL flag not set for block %d"
+ msgstr "Ð´Ð»Ñ Ð±Ð»Ð¾ÐºÐ° %d не уÑтановлен флаг BB_RTL"
+
+-#: cfgrtl.c:1741
++#: cfgrtl.c:1739
+ #, gcc-internal-format
+ msgid "insn %d basic block pointer is %d, should be %d"
+ msgstr ""
+
+-#: cfgrtl.c:1752
++#: cfgrtl.c:1750
+ #, gcc-internal-format
+ msgid "insn %d in header of bb %d has non-NULL basic block"
+ msgstr ""
+
+-#: cfgrtl.c:1760
++#: cfgrtl.c:1758
+ #, gcc-internal-format
+ msgid "insn %d in footer of bb %d has non-NULL basic block"
+ msgstr ""
+
+-#: cfgrtl.c:1782
++#: cfgrtl.c:1780
+ #, gcc-internal-format
+ msgid "verify_flow_info: REG_BR_PROB does not match cfg %wi %i"
+ msgstr "verify_flow_info: REG_BR_PROB не ÑоответÑтвует CFG %wi %i"
+
+-#: cfgrtl.c:1797
++#: cfgrtl.c:1795
+ #, gcc-internal-format
+ msgid "fallthru edge crosses section boundary (bb %i)"
+ msgstr "ÑÐºÐ²Ð¾Ð·Ð½Ð°Ñ Ð´ÑƒÐ³Ð° переÑекает границу Ñекции (блок %i)"
+
+-#: cfgrtl.c:1822
++#: cfgrtl.c:1820
+ #, gcc-internal-format
+ msgid "missing REG_EH_REGION note in the end of bb %i"
+ msgstr "отÑутÑтвует пометка REG_EH_REGION в конце блока %i"
+
+-#: cfgrtl.c:1830
++#: cfgrtl.c:1828
+ #, gcc-internal-format
+ msgid "too many outgoing branch edges from bb %i"
+ msgstr "Ñлишком много переходов, иÑходÑщих из блока %i"
+
+-#: cfgrtl.c:1835
++#: cfgrtl.c:1833
+ #, gcc-internal-format
+ msgid "fallthru edge after unconditional jump %i"
+ msgstr "ÑÐºÐ²Ð¾Ð·Ð½Ð°Ñ Ð´ÑƒÐ³Ð° поÑле безуÑловного перехода %i"
+
+-#: cfgrtl.c:1846
++#: cfgrtl.c:1844
+ #, gcc-internal-format
+ msgid "wrong amount of branch edges after conditional jump %i"
+ msgstr "некорректное чиÑло ветвлений поÑле уÑловного перехода %i"
+
+-#: cfgrtl.c:1852
++#: cfgrtl.c:1850
+ #, gcc-internal-format
+ msgid "call edges for non-call insn in bb %i"
+ msgstr "дуги вызова Ð´Ð»Ñ Ð½Ðµ-call инÑтрукции в блоке %i"
+
+-#: cfgrtl.c:1861
++#: cfgrtl.c:1859
+ #, gcc-internal-format
+ msgid "abnormal edges for no purpose in bb %i"
+ msgstr "ненужные аномальные дуги в блоке %i"
+
+-#: cfgrtl.c:1873
++#: cfgrtl.c:1871
+ #, gcc-internal-format
+ msgid "insn %d inside basic block %d but block_for_insn is NULL"
+ msgstr "RTL-инÑÑ‚Ñ€ÑƒÐºÑ†Ð¸Ñ %d - внутри блока %d, а block_for_insn=NULL"
+
+-#: cfgrtl.c:1877
++#: cfgrtl.c:1875
+ #, gcc-internal-format
+ msgid "insn %d inside basic block %d but block_for_insn is %i"
+ msgstr "RTL-инÑÑ‚Ñ€ÑƒÐºÑ†Ð¸Ñ %d - внутри блока %d, а block_for_insn=%i"
+
+-#: cfgrtl.c:1891 cfgrtl.c:1901
++#: cfgrtl.c:1889 cfgrtl.c:1899
+ #, gcc-internal-format
+ msgid "NOTE_INSN_BASIC_BLOCK is missing for block %d"
+ msgstr "отÑутÑтвует NOTE_INSN_BASIC_BLOCK Ð´Ð»Ñ Ð±Ð»Ð¾ÐºÐ° %d"
+
+-#: cfgrtl.c:1914
++#: cfgrtl.c:1912
+ #, gcc-internal-format
+ msgid "NOTE_INSN_BASIC_BLOCK %d in middle of basic block %d"
+ msgstr "NOTE_INSN_BASIC_BLOCK %d в Ñередине блока %d"
+
+-#: cfgrtl.c:1924
++#: cfgrtl.c:1922
+ #, gcc-internal-format
+ msgid "in basic block %d:"
+ msgstr "в блоке %d"
+
+-#: cfgrtl.c:1977 cfgrtl.c:2067
++#: cfgrtl.c:1975 cfgrtl.c:2065
+ #, fuzzy, gcc-internal-format
+ msgid "insn %d outside of basic blocks has non-NULL bb field"
+ msgstr "RTL-инÑÑ‚Ñ€ÑƒÐºÑ†Ð¸Ñ - вне блока"
+
+-#: cfgrtl.c:1985
++#: cfgrtl.c:1983
+ #, gcc-internal-format
+ msgid "end insn %d for block %d not found in the insn stream"
+ msgstr "Ð·Ð°ÐºÐ»ÑŽÑ‡Ð¸Ñ‚ÐµÐ»ÑŒÐ½Ð°Ñ Ð¸Ð½ÑÑ‚Ñ€ÑƒÐºÑ†Ð¸Ñ %d блока %d не найдена в ÑпиÑке инÑтрукций"
+
+-#: cfgrtl.c:1998
++#: cfgrtl.c:1996
+ #, gcc-internal-format
+ msgid "insn %d is in multiple basic blocks (%d and %d)"
+ msgstr "инÑÑ‚Ñ€ÑƒÐºÑ†Ð¸Ñ %d в неÑкольких блоках (%d и %d)"
+
+-#: cfgrtl.c:2010
++#: cfgrtl.c:2008
+ #, gcc-internal-format
+ msgid "head insn %d for block %d not found in the insn stream"
+ msgstr "Ð³Ð¾Ð»Ð¾Ð²Ð½Ð°Ñ RTL-инÑÑ‚Ñ€ÑƒÐºÑ†Ð¸Ñ %d Ð´Ð»Ñ Ð±Ð»Ð¾ÐºÐ° %d не найдена"
+
+-#: cfgrtl.c:2030
++#: cfgrtl.c:2028
+ #, gcc-internal-format
+ msgid "missing barrier after block %i"
+ msgstr "отÑутÑтвует барьер поÑле блока %i"
+
+-#: cfgrtl.c:2043
++#: cfgrtl.c:2041
+ #, gcc-internal-format
+ msgid "verify_flow_info: Incorrect blocks for fallthru %i->%i"
+ msgstr "verify_flow_info: Ðекорректные блоки Ð´Ð»Ñ Ñквозного перехода %i->%i"
+
+-#: cfgrtl.c:2052
++#: cfgrtl.c:2050
+ #, gcc-internal-format
+ msgid "verify_flow_info: Incorrect fallthru %i->%i"
+ msgstr "verify_flow_info: Ðекорректный Ñквозной переход %i->%i"
+
+-#: cfgrtl.c:2085
++#: cfgrtl.c:2083
+ #, gcc-internal-format
+ msgid "basic blocks not laid down consecutively"
+ msgstr "блоки не были размещены поÑледовательно"
+
+-#: cfgrtl.c:2124
++#: cfgrtl.c:2122
+ #, gcc-internal-format
+ msgid "number of bb notes in insn chain (%d) != n_basic_blocks (%d)"
+ msgstr "чиÑло меток блоков в ÑпиÑке RTL-инÑтрукций (%d) != n_basic_blocks (%d)"
+
+-#: cgraph.c:794
++#: cgraph.c:840
+ #, gcc-internal-format
+ msgid "%D renamed after being referenced in assembly"
+ msgstr "переименование %D поÑле ÑÑылки в аÑÑемблерном коде"
+
+-#: cgraphunit.c:670
++#: cgraphunit.c:675
+ #, gcc-internal-format
+ msgid "aux field set for edge %s->%s"
+ msgstr "Ð´Ð»Ñ Ð´ÑƒÐ³Ð¸ %s->%s уÑтановлено вÑпомогательное поле"
+
+-#: cgraphunit.c:676
++#: cgraphunit.c:681
+ #, gcc-internal-format
+ msgid "Execution count is negative"
+ msgstr "Отрицательный Ñчётчик чиÑла выполнений"
+
+-#: cgraphunit.c:683
++#: cgraphunit.c:688
+ #, gcc-internal-format
+ msgid "caller edge count is negative"
+ msgstr "отрицательный Ñчётчик дуг, ÑоответÑтвующих вызовам"
+
+-#: cgraphunit.c:688
++#: cgraphunit.c:693
+ #, fuzzy, gcc-internal-format
+ msgid "caller edge frequency is negative"
+ msgstr "отрицательный Ñчётчик дуг, ÑоответÑтвующих вызовам"
+
+-#: cgraphunit.c:693
++#: cgraphunit.c:698
+ #, fuzzy, gcc-internal-format
+ msgid "caller edge frequency is too large"
+ msgstr "отрицательный Ñчётчик дуг, ÑоответÑтвующих вызовам"
+
+-#: cgraphunit.c:702
++#: cgraphunit.c:707
+ #, gcc-internal-format
+ msgid "inlined_to pointer is wrong"
+ msgstr "некорректный указатель inlined_to"
+
+-#: cgraphunit.c:707
++#: cgraphunit.c:712
+ #, gcc-internal-format
+ msgid "multiple inline callers"
+ msgstr "множеÑтвенные inline-вызовы"
+
+-#: cgraphunit.c:714
++#: cgraphunit.c:719
+ #, gcc-internal-format
+ msgid "inlined_to pointer set for noninline callers"
+ msgstr "указатель inlined_to уÑтановлен Ð´Ð»Ñ Ð½Ðµ inline вызова"
+
+-#: cgraphunit.c:720
++#: cgraphunit.c:725
+ #, fuzzy, gcc-internal-format
+ msgid "inlined_to pointer is set but no predecessors found"
+ msgstr "указатель inlined_to уÑтановлен, но не найдено ни одного предшеÑтвенника"
+
+-#: cgraphunit.c:725
++#: cgraphunit.c:730
+ #, gcc-internal-format
+ msgid "inlined_to pointer refers to itself"
+ msgstr "указатель inlined_to ÑÑылаетÑÑ Ð½Ð° ÑебÑ"
+
+-#: cgraphunit.c:735
++#: cgraphunit.c:740
+ #, fuzzy, gcc-internal-format
+ msgid "node not found in cgraph_hash"
+ msgstr "не найден узел в хеш-таблице DECL_ASSEMBLER_NAME"
+
+-#: cgraphunit.c:763
++#: cgraphunit.c:768
+ #, gcc-internal-format
+ msgid "shared call_stmt:"
+ msgstr "разделÑемый call_stmt:"
+
+-#: cgraphunit.c:770
++#: cgraphunit.c:775
+ #, gcc-internal-format
+ msgid "edge points to wrong declaration:"
+ msgstr "дуга указывает на неверную декларацию:"
+
+-#: cgraphunit.c:779
++#: cgraphunit.c:784
+ #, gcc-internal-format
+ msgid "missing callgraph edge for call stmt:"
+ msgstr "отÑутÑтвует дуга callgraph Ð´Ð»Ñ Ð¸Ð½Ñтрукции вызова:"
+
+-#: cgraphunit.c:795
++#: cgraphunit.c:800
+ #, gcc-internal-format
+ msgid "edge %s->%s has no corresponding call_stmt"
+ msgstr "отÑутÑтвует call_stmt, ÑоответÑтвующий дуге %s->%s"
+
+-#: cgraphunit.c:807
++#: cgraphunit.c:812
+ #, gcc-internal-format
+ msgid "verify_cgraph_node failed"
+ msgstr "процедура verify_cgraph_node выÑвила ошибки"
+
+-#: cgraphunit.c:909 cgraphunit.c:932
++#: cgraphunit.c:915 cgraphunit.c:938
+ #, fuzzy, gcc-internal-format
+ msgid "%J%<externally_visible%> attribute have effect only on public objects"
+ msgstr "%qE атрибут дейÑтвует только в public-объектах"
+
+-#: cgraphunit.c:1122
++#: cgraphunit.c:1128
+ #, gcc-internal-format
+ msgid "failed to reclaim unneeded function"
+ msgstr "ошибка при возврате ненужной функции"
+
+-#: cgraphunit.c:1454
++#: cgraphunit.c:1460
+ #, gcc-internal-format
+ msgid "nodes with no released memory found"
+ msgstr "обнаружены узлы Ñ Ð½ÐµÐ¾Ñвобожденной памÑтью"
+
+-#: collect2.c:1189
++#: collect2.c:1203
+ #, gcc-internal-format
+ msgid "unknown demangling style '%s'"
+ msgstr "неизвеÑтный Ñтиль Ð´ÐµÐºÐ¾Ð´Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ Ð¸Ð¼Ñ‘Ð½ '%s'"
+
+-#: collect2.c:1512
++#: collect2.c:1526
+ #, gcc-internal-format
+ msgid "%s terminated with signal %d [%s]%s"
+ msgstr "%s завершилаÑÑŒ по Ñигналу %d [%s]%s"
+
+-#: collect2.c:1530
++#: collect2.c:1544
+ #, gcc-internal-format
+ msgid "%s returned %d exit status"
+ msgstr "%s завершилаÑÑŒ Ñ ÐºÐ¾Ð´Ð¾Ð¼ возврата %d"
+
+-#: collect2.c:2242
++#: collect2.c:2256
+ #, gcc-internal-format
+ msgid "cannot find 'ldd'"
+ msgstr "не найдена программа `ldd'"
+@@ -22112,27 +22095,27 @@
+ msgid "dominator of %d should be %d, not %d"
+ msgstr "доминатором %d должен быть %d, а не %d"
+
+-#: dwarf2out.c:3634
++#: dwarf2out.c:3686
+ #, gcc-internal-format
+ msgid "DW_LOC_OP %s not implemented"
+ msgstr "DW_LOC_OP %s не реализован"
+
+-#: emit-rtl.c:2326
++#: emit-rtl.c:2262
+ #, gcc-internal-format
+ msgid "invalid rtl sharing found in the insn"
+ msgstr "Ðекорректное разделение rtl-кода в инÑтрукции"
+
+-#: emit-rtl.c:2328
++#: emit-rtl.c:2264
+ #, gcc-internal-format
+ msgid "shared rtx"
+ msgstr "разделÑемый rtl-код"
+
+-#: emit-rtl.c:2330
++#: emit-rtl.c:2266
+ #, gcc-internal-format
+ msgid "internal consistency failure"
+ msgstr "обнаружена неÑоглаÑованноÑÑ‚ÑŒ внутреннего предÑÑ‚Ð°Ð²Ð»ÐµÐ½Ð¸Ñ gcc"
+
+-#: emit-rtl.c:3417
++#: emit-rtl.c:3365
+ #, gcc-internal-format
+ msgid "ICE: emit_insn used where emit_jump_insn needed:\n"
+ msgstr "ВнутреннÑÑ Ð¾ÑˆÐ¸Ð±ÐºÐ°: иÑпользование emit_insn вмеÑто emit_jump_insn:\n"
+@@ -22192,17 +22175,17 @@
+ msgid "verify_eh_tree failed"
+ msgstr "процедура verify_eh_tree выÑвила ошибки"
+
+-#: explow.c:1281
++#: explow.c:1258
+ #, gcc-internal-format
+ msgid "stack limits not supported on this target"
+ msgstr "проверка выхода за границу Ñтека не поддерживаетÑÑ Ð´Ð»Ñ Ñтой платформы"
+
+-#: expr.c:8031
++#: expr.c:8030
+ #, fuzzy
+ msgid "%Kcall to %qs declared with attribute error: %s"
+ msgstr "%JÑ„ÑƒÐ½ÐºÑ†Ð¸Ñ %qD повторно декларирована Ñ Ð°Ñ‚Ñ€Ð¸Ð±ÑƒÑ‚Ð¾Ð¼ noinline"
+
+-#: expr.c:8037
++#: expr.c:8036
+ #, fuzzy
+ msgid "%Kcall to %qs declared with attribute warning: %s"
+ msgstr "%JÑ„ÑƒÐ½ÐºÑ†Ð¸Ñ %qD повторно декларирована Ñ Ð°Ñ‚Ñ€Ð¸Ð±ÑƒÑ‚Ð¾Ð¼ noinline"
+@@ -22217,7 +22200,7 @@
+ msgid "large fixed-point constant implicitly truncated to fixed-point type"
+ msgstr "неÑвное приведение большого целого Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ñ Ðº беззнаковому типу"
+
+-#: fold-const.c:992 tree-ssa-loop-niter.c:1827 tree-vrp.c:5060
++#: fold-const.c:992 tree-ssa-loop-niter.c:1827 tree-vrp.c:5076
+ #, gcc-internal-format
+ msgid "%H%s"
+ msgstr "%H%s"
+@@ -22227,77 +22210,77 @@
+ msgid "assuming signed overflow does not occur when negating a division"
+ msgstr ""
+
+-#: fold-const.c:3989 fold-const.c:4000
++#: fold-const.c:4003 fold-const.c:4014
+ #, gcc-internal-format
+ msgid "comparison is always %d due to width of bit-field"
+ msgstr "при данной ширине битового Ð¿Ð¾Ð»Ñ Ñ€ÐµÐ·ÑƒÐ»ÑŒÑ‚Ð°Ñ‚ ÑÑ€Ð°Ð²Ð½ÐµÐ½Ð¸Ñ - вÑегда %d"
+
+-#: fold-const.c:5317
++#: fold-const.c:5331
+ #, gcc-internal-format
+ msgid "assuming signed overflow does not occur when simplifying range test"
+ msgstr ""
+
+-#: fold-const.c:5691 fold-const.c:5706
++#: fold-const.c:5705 fold-const.c:5720
+ #, gcc-internal-format
+ msgid "comparison is always %d"
+ msgstr "результат ÑÑ€Ð°Ð²Ð½ÐµÐ½Ð¸Ñ - вÑегда %d"
+
+-#: fold-const.c:5835
++#: fold-const.c:5849
+ #, gcc-internal-format
+ msgid "%<or%> of unmatched not-equal tests is always 1"
+ msgstr "%<или%> от двух Ñравнений на неравенÑтво Ñ Ñ€Ð°Ð·Ð½Ñ‹Ð¼Ð¸ величинами - вÑегда 1"
+
+-#: fold-const.c:5840
++#: fold-const.c:5854
+ #, gcc-internal-format
+ msgid "%<and%> of mutually exclusive equal-tests is always 0"
+ msgstr "%<или%> от двух взаимно иÑключающих Ñравнений на равенÑтво - вÑегда 0"
+
+-#: fold-const.c:8617
++#: fold-const.c:8641
+ #, gcc-internal-format
+ msgid "assuming signed overflow does not occur when reducing constant in comparison"
+ msgstr ""
+
+-#: fold-const.c:8871
++#: fold-const.c:8895
+ #, gcc-internal-format
+ msgid "assuming signed overflow does not occur when combining constants around a comparison"
+ msgstr ""
+
+-#: fold-const.c:13236
++#: fold-const.c:13433
+ #, gcc-internal-format
+ msgid "fold check: original tree changed by fold"
+ msgstr "проверка fold: иÑходное дерево изменено функцией fold"
+
+-#: function.c:377
++#: function.c:380
+ #, gcc-internal-format
+ msgid "%Jtotal size of local objects too large"
+ msgstr "%Jобщий размер локальных объектов Ñлишком велик"
+
+-#: function.c:837 varasm.c:2095
++#: function.c:840 varasm.c:2095
+ #, gcc-internal-format
+ msgid "size of variable %q+D is too large"
+ msgstr "размер переменной %q+D Ñлишком велик"
+
+-#: function.c:1554 gimplify.c:4250
++#: function.c:1571 gimplify.c:4405
+ #, gcc-internal-format
+ msgid "impossible constraint in %<asm%>"
+ msgstr "некорректное ограничение в %<asm%>"
+
+-#: function.c:3538
++#: function.c:3557
+ #, gcc-internal-format
+ msgid "variable %q+D might be clobbered by %<longjmp%> or %<vfork%>"
+ msgstr "Ð¿ÐµÑ€ÐµÐ¼ÐµÐ½Ð½Ð°Ñ %q+D может быть иÑпорчена вызовами %<longjmp%> или %<vfork%>"
+
+-#: function.c:3559
++#: function.c:3578
+ #, gcc-internal-format
+ msgid "argument %q+D might be clobbered by %<longjmp%> or %<vfork%>"
+ msgstr "аргумент %qD мог быть иÑпорчен вызовами `longjmp' или `vfork'"
+
+-#: function.c:4004
++#: function.c:4027
+ #, gcc-internal-format
+ msgid "function returns an aggregate"
+ msgstr "Ñ„ÑƒÐ½ÐºÑ†Ð¸Ñ Ð²Ð¾Ð·Ð²Ñ€Ð°Ñ‰Ð°ÐµÑ‚ агрегатное значение"
+
+-#: function.c:4401
++#: function.c:4424
+ #, gcc-internal-format
+ msgid "unused parameter %q+D"
+ msgstr "параметр %q+D не иÑпользуетÑÑ"
+@@ -22322,12 +22305,12 @@
+ msgid "extraneous argument to '%s' option"
+ msgstr "ключ '%s' не имеет аргументов"
+
+-#: gcc.c:3987
++#: gcc.c:3981
+ #, gcc-internal-format
+ msgid "warning: -pipe ignored because -save-temps specified"
+ msgstr "предупреждение: ключ -pipe игнорируетÑÑ, Ñ‚.к. задан ключ -save-temps"
+
+-#: gcc.c:4276
++#: gcc.c:4270
+ #, gcc-internal-format
+ msgid "warning: '-x %s' after last input file has no effect"
+ msgstr "предупреждение: '-x %s' не имеет ÑмыÑла за поÑледним входным файлом"
+@@ -22335,62 +22318,62 @@
+ #. Catch the case where a spec string contains something like
+ #. '%{foo:%*}'. i.e. there is no * in the pattern on the left
+ #. hand side of the :.
+-#: gcc.c:5314
++#: gcc.c:5308
+ #, gcc-internal-format
+ msgid "spec failure: '%%*' has not been initialized by pattern match"
+ msgstr "ошибка Ñпецификации: Ñлемент '%%*' не инициализирован при ÑопоÑтавлении"
+
+-#: gcc.c:5323
++#: gcc.c:5317
+ #, gcc-internal-format
+ msgid "warning: use of obsolete %%[ operator in specs"
+ msgstr "предупреждение: иÑпользование уÑтаревшей операции %%[ в specs"
+
+-#: gcc.c:5404
++#: gcc.c:5398
+ #, gcc-internal-format
+ msgid "spec failure: unrecognized spec option '%c'"
+ msgstr "ошибка Ñпецификации: неопознанный ключ '%c'"
+
+-#: gcc.c:6305
++#: gcc.c:6304
+ #, gcc-internal-format
+ msgid "spec failure: more than one arg to SYSROOT_SUFFIX_SPEC"
+ msgstr "ошибка Ñпецификации: задано более одного аргумента Ð´Ð»Ñ SYSROOT_SUFFIX_SPEC"
+
+-#: gcc.c:6328
++#: gcc.c:6327
+ #, gcc-internal-format
+ msgid "spec failure: more than one arg to SYSROOT_HEADERS_SUFFIX_SPEC"
+ msgstr "ошибка Ñпецификации: задано более одного аргумента Ð´Ð»Ñ SYSROOT_HEADERS_SUFFIX_SPEC"
+
+-#: gcc.c:6415
++#: gcc.c:6414
+ #, gcc-internal-format
+ msgid "unrecognized option '-%s'"
+ msgstr "неопознанный ключ '-%s'"
+
+-#: gcc.c:6615 gcc.c:6678
++#: gcc.c:6614 gcc.c:6677
+ #, gcc-internal-format
+ msgid "%s: %s compiler not installed on this system"
+ msgstr "%s: компилÑтор %s не уÑтановлен"
+
+-#: gcc.c:6778
++#: gcc.c:6777
+ #, gcc-internal-format
+ msgid "%s: linker input file unused because linking not done"
+ msgstr "%s: входные файлы компоновки не иÑпользованы, поÑкольку компоновка не выполнÑлаÑÑŒ"
+
+-#: gcc.c:6818
++#: gcc.c:6817
+ #, gcc-internal-format
+ msgid "language %s not recognized"
+ msgstr "некорректное задание Ñзыка %s"
+
+-#: gcc.c:6889
++#: gcc.c:6888
+ #, gcc-internal-format
+ msgid "%s: %s"
+ msgstr "%s: %s"
+
+-#: gcse.c:6660
++#: gcse.c:6644
+ #, gcc-internal-format
+ msgid "%s: %d basic blocks and %d edges/basic block"
+ msgstr "%s: %d блоков и %d дуг на блок"
+
+-#: gcse.c:6673
++#: gcse.c:6657
+ #, gcc-internal-format
+ msgid "%s: %d basic blocks and %d registers"
+ msgstr "%s: %d блоков и %d региÑтров"
+@@ -22443,52 +22426,52 @@
+ msgid "can't write PCH fle: %m"
+ msgstr "ошибка запиÑи в файл PCH: %m"
+
+-#: gimplify.c:4139
++#: gimplify.c:4294
+ #, gcc-internal-format
+ msgid "invalid lvalue in asm output %d"
+ msgstr "неверное lvalue-выражение в выходном операторе %d оператора asm"
+
+-#: gimplify.c:4251
++#: gimplify.c:4406
+ #, gcc-internal-format
+ msgid "non-memory input %d must stay in memory"
+ msgstr ""
+
+-#: gimplify.c:4264
++#: gimplify.c:4419
+ #, gcc-internal-format
+ msgid "memory input %d is not directly addressable"
+ msgstr "невозможна прÑÐ¼Ð°Ñ Ð°Ð´Ñ€ÐµÑÐ°Ñ†Ð¸Ñ Ðº входной позиции памÑти %d"
+
+-#: gimplify.c:4743
++#: gimplify.c:4898
+ #, gcc-internal-format
+ msgid "%qs not specified in enclosing parallel"
+ msgstr ""
+
+-#: gimplify.c:4745
++#: gimplify.c:4900
+ #, gcc-internal-format
+ msgid "%Henclosing parallel"
+ msgstr ""
+
+-#: gimplify.c:4799
++#: gimplify.c:4954
+ #, fuzzy, gcc-internal-format
+ msgid "iteration variable %qs should be private"
+ msgstr "instance-Ð¿ÐµÑ€ÐµÐ¼ÐµÐ½Ð½Ð°Ñ %qs объÑвлена как private"
+
+-#: gimplify.c:4813
++#: gimplify.c:4968
+ #, fuzzy, gcc-internal-format
+ msgid "iteration variable %qs should not be firstprivate"
+ msgstr "instance-Ð¿ÐµÑ€ÐµÐ¼ÐµÐ½Ð½Ð°Ñ %qs объÑвлена как private"
+
+-#: gimplify.c:4816
++#: gimplify.c:4971
+ #, fuzzy, gcc-internal-format
+ msgid "iteration variable %qs should not be reduction"
+ msgstr "региÑÑ‚Ñ€Ð¾Ð²Ð°Ñ Ð¿ÐµÑ€ÐµÐ¼ÐµÐ½Ð½Ð°Ñ %qs иÑпользована во вложенной функции"
+
+-#: gimplify.c:4940
++#: gimplify.c:5095
+ #, fuzzy, gcc-internal-format
+ msgid "%s variable %qs is private in outer context"
+ msgstr "Ð»Ð¾ÐºÐ°Ð»ÑŒÐ½Ð°Ñ Ð¿ÐµÑ€ÐµÐ¼ÐµÐ½Ð½Ð°Ñ %qD недопуÑтима в данном контекÑте"
+
+-#: gimplify.c:6108
++#: gimplify.c:6281
+ #, gcc-internal-format
+ msgid "gimplification failed"
+ msgstr ""
+@@ -22498,7 +22481,7 @@
+ msgid "%s cannot be used in asm here"
+ msgstr "%s Ð½ÐµÐ»ÑŒÐ·Ñ Ð¸Ñпользовать в asm в таком контекÑте"
+
+-#: graph.c:401 java/jcf-parse.c:1757 java/jcf-parse.c:1897 objc/objc-act.c:500
++#: graph.c:401 java/jcf-parse.c:1759 java/jcf-parse.c:1899 objc/objc-act.c:500
+ #, gcc-internal-format
+ msgid "can't open %s: %m"
+ msgstr "ошибка Ð¾Ñ‚ÐºÑ€Ñ‹Ñ‚Ð¸Ñ %s: %m"
+@@ -22508,158 +22491,163 @@
+ msgid "fix_sched_param: unknown param: %s"
+ msgstr "fix_sched_param: неизвеÑтный параметр: %s"
+
+-#: omp-low.c:1288
++#: omp-low.c:1289
+ #, gcc-internal-format
+ msgid "work-sharing region may not be closely nested inside of work-sharing, critical, ordered or master region"
+ msgstr ""
+
+-#: omp-low.c:1304
++#: omp-low.c:1305
+ #, gcc-internal-format
+ msgid "master region may not be closely nested inside of work-sharing region"
+ msgstr ""
+
+-#: omp-low.c:1318
++#: omp-low.c:1319
+ #, gcc-internal-format
+ msgid "ordered region may not be closely nested inside of critical region"
+ msgstr ""
+
+-#: omp-low.c:1324
++#: omp-low.c:1325
+ #, gcc-internal-format
+ msgid "ordered region must be closely nested inside a loop region with an ordered clause"
+ msgstr ""
+
+-#: omp-low.c:1338
++#: omp-low.c:1339
+ #, gcc-internal-format
+ msgid "critical region may not be nested inside a critical region with the same name"
+ msgstr ""
+
+-#: omp-low.c:5050 cp/decl.c:2660 cp/parser.c:7417 cp/parser.c:7437
++#: omp-low.c:5116 cp/decl.c:2667 cp/parser.c:7423 cp/parser.c:7443
+ #, gcc-internal-format
+ msgid "invalid exit from OpenMP structured block"
+ msgstr ""
+
+-#: omp-low.c:5052
++#: omp-low.c:5118
+ #, gcc-internal-format
+ msgid "invalid entry to OpenMP structured block"
+ msgstr ""
+
+-#: opts.c:173
++#: opts.c:165
+ #, fuzzy, gcc-internal-format
+ msgid "argument %qs to %<-femit-struct-debug-detailed%> not recognized"
+ msgstr "некорректный аргумент %qs ключа %<-Wnormalized%>"
+
+-#: opts.c:207
++#: opts.c:199
+ #, gcc-internal-format
+ msgid "argument %qs to %<-femit-struct-debug-detailed%> unknown"
+ msgstr ""
+
+-#: opts.c:213
++#: opts.c:205
+ #, gcc-internal-format
+ msgid "%<-femit-struct-debug-detailed=dir:...%> must allow at least as much as %<-femit-struct-debug-detailed=ind:...%>"
+ msgstr ""
+
+ #. Eventually this should become a hard error IMO.
+-#: opts.c:438
++#: opts.c:430
+ #, gcc-internal-format
+ msgid "command line option \"%s\" is valid for %s but not for %s"
+ msgstr "ключ \"%s\" годитÑÑ Ð´Ð»Ñ %s, но не Ð´Ð»Ñ %s"
+
+-#: opts.c:492
++#: opts.c:484
+ #, gcc-internal-format
+ msgid "command line option %qs is not supported by this configuration"
+ msgstr "ключ %qs Ð´Ð»Ñ Ñтой конфигурации не поддерживаетÑÑ"
+
+-#: opts.c:545
++#: opts.c:537
+ #, gcc-internal-format
+ msgid "missing argument to \"%s\""
+ msgstr "отÑутÑтвует аргумент Ð´Ð»Ñ \"%s\""
+
+-#: opts.c:555
++#: opts.c:547
+ #, gcc-internal-format
+ msgid "argument to \"%s\" should be a non-negative integer"
+ msgstr "аргумент \"%s\" должен быть неотрицательным целым чиÑлом"
+
+-#: opts.c:728
++#: opts.c:720
+ #, gcc-internal-format
+ msgid "unrecognized command line option \"%s\""
+ msgstr "некорректный ключ \"%s\""
+
+-#: opts.c:947
++#: opts.c:939
+ #, gcc-internal-format
+ msgid "-Wuninitialized is not supported without -O"
+ msgstr "-Wuninitialized не поддерживаетÑÑ Ð±ÐµÐ· -O"
+
+-#: opts.c:962
++#: opts.c:951
+ #, gcc-internal-format
++msgid "-funit-at-a-time is required for inlining of functions that are only called once"
++msgstr ""
++
++#: opts.c:964
++#, gcc-internal-format
+ msgid "-freorder-blocks-and-partition does not work with exceptions"
+ msgstr "-freorder-blocks-and-partition не работает Ñ Ð¸ÑключениÑми"
+
+-#: opts.c:973
++#: opts.c:975
+ #, gcc-internal-format
+ msgid "-freorder-blocks-and-partition does not support unwind info"
+ msgstr "-freorder-blocks-and-partition не поддерживает информацию о раÑкрутке Ñтека"
+
+-#: opts.c:987
++#: opts.c:989
+ #, gcc-internal-format
+ msgid "-freorder-blocks-and-partition does not work on this architecture"
+ msgstr "-freorder-blocks-and-partition не работает Ð´Ð»Ñ Ð·Ð°Ð´Ð°Ð½Ð½Ð¾Ð¹ архитектуры"
+
+-#: opts.c:1263
++#: opts.c:1265
+ #, gcc-internal-format
+ msgid "unrecognized include_flags 0x%x passed to print_specific_help"
+ msgstr ""
+
+-#: opts.c:1593
++#: opts.c:1595
+ #, gcc-internal-format
+ msgid "structure alignment must be a small power of two, not %d"
+ msgstr "выравнивание Ñтруктуры должно быть небольшой Ñтепенью двойки, а не %d"
+
+-#: opts.c:1656
++#: opts.c:1658
+ #, gcc-internal-format
+ msgid "unrecognized visibility value \"%s\""
+ msgstr "некорректный тип видимоÑти \"%s\""
+
+-#: opts.c:1704
++#: opts.c:1706
+ #, gcc-internal-format
+ msgid "unrecognized register name \"%s\""
+ msgstr "некорректное Ð¸Ð¼Ñ Ñ€ÐµÐ³Ð¸Ñтра \"%s\""
+
+-#: opts.c:1728
++#: opts.c:1730
+ #, gcc-internal-format
+ msgid "unknown tls-model \"%s\""
+ msgstr "некорректное значение ключа -ftls-model \"%s\""
+
+-#: opts.c:1803
++#: opts.c:1807
+ #, gcc-internal-format
+ msgid "%s: --param arguments should be of the form NAME=VALUE"
+ msgstr "%s: аргументы --param должны иметь вид ИМЯ=ЗÐÐЧЕÐИЕ"
+
+-#: opts.c:1808
++#: opts.c:1812
+ #, gcc-internal-format
+ msgid "invalid --param value %qs"
+ msgstr "некорректное значение ключа --param %qs"
+
+-#: opts.c:1931
++#: opts.c:1934
+ #, gcc-internal-format
+ msgid "target system does not support debug output"
+ msgstr "Ñ†ÐµÐ»ÐµÐ²Ð°Ñ Ð¿Ð»Ð°Ñ‚Ñ„Ð¾Ñ€Ð¼Ð° не поддерживает вывод отладочной информации"
+
+-#: opts.c:1938
++#: opts.c:1941
+ #, gcc-internal-format
+ msgid "debug format \"%s\" conflicts with prior selection"
+ msgstr "отладочный формат \"%s\" противоречит предыдущему выбору"
+
+-#: opts.c:1954
++#: opts.c:1957
+ #, gcc-internal-format
+ msgid "unrecognised debug output level \"%s\""
+ msgstr "некорректный уровень отладочной информации \"%s\""
+
+-#: opts.c:1956
++#: opts.c:1959
+ #, gcc-internal-format
+ msgid "debug output level %s is too high"
+ msgstr "уровень отладочной информации %s Ñлишком выÑок"
+
+-#: opts.c:2038
++#: opts.c:2041
+ #, gcc-internal-format
+ msgid "-Werror=%s: No option -%s"
+ msgstr ""
+@@ -22735,9 +22723,9 @@
+ msgid "can't use '%s' as a %s register"
+ msgstr "Ð½ÐµÐ»ÑŒÐ·Ñ Ð¸Ñпользовать '%s' как %s региÑÑ‚Ñ€"
+
+-#: regclass.c:890 config/ia64/ia64.c:5138 config/ia64/ia64.c:5145
+-#: config/pa/pa.c:359 config/pa/pa.c:366 config/spu/spu.c:3886
+-#: config/spu/spu.c:3893
++#: regclass.c:890 config/ia64/ia64.c:5139 config/ia64/ia64.c:5146
++#: config/pa/pa.c:362 config/pa/pa.c:369 config/spu/spu.c:3875
++#: config/spu/spu.c:3882
+ #, gcc-internal-format
+ msgid "unknown register name: %s"
+ msgstr "неизвеÑтное Ð¸Ð¼Ñ Ñ€ÐµÐ³Ð¸Ñтра: %s"
+@@ -22777,22 +22765,22 @@
+ msgid "validate_value_data: [%u] Non-empty reg in chain (%s %u %i)"
+ msgstr "validate_value_data: [%u] ÐепуÑтой региÑÑ‚Ñ€ в ÑпиÑке (%s %u %i)"
+
+-#: reload.c:1252
++#: reload.c:1256
+ #, gcc-internal-format
+ msgid "cannot reload integer constant operand in %<asm%>"
+ msgstr "невозможно загрузить целый конÑтантный операнд в операторе %<asm%>"
+
+-#: reload.c:1266
++#: reload.c:1270
+ #, gcc-internal-format
+ msgid "impossible register constraint in %<asm%>"
+ msgstr "недопуÑтимый ограничитель Ð´Ð»Ñ Ñ€ÐµÐ³Ð¸Ñтра в операторе %<asm%>"
+
+-#: reload.c:3564
++#: reload.c:3574
+ #, gcc-internal-format
+ msgid "%<&%> constraint used with no register class"
+ msgstr "ограничитель %<&%> без ÑƒÐºÐ°Ð·Ð°Ð½Ð¸Ñ ÐºÐ»Ð°ÑÑа региÑтров"
+
+-#: reload.c:3735 reload.c:3975
++#: reload.c:3745 reload.c:3991
+ #, gcc-internal-format
+ msgid "inconsistent operand constraints in an %<asm%>"
+ msgstr "некорректные ограничители операндов в операторе %<asm%>"
+@@ -23017,49 +23005,49 @@
+ msgid "size of %q+D is larger than %wd bytes"
+ msgstr "размер %q+D больше %wd байт"
+
+-#: stor-layout.c:899
++#: stor-layout.c:888
+ #, gcc-internal-format
+ msgid "packed attribute causes inefficient alignment for %q+D"
+ msgstr "атрибут packed дает неÑффективное выравнивание Ð´Ð»Ñ %q+D"
+
+-#: stor-layout.c:902
++#: stor-layout.c:891
+ #, gcc-internal-format
+ msgid "packed attribute is unnecessary for %q+D"
+ msgstr "атрибут packed Ð´Ð»Ñ %q+D не нужен"
+
+ #. No, we need to skip space before this field.
+ #. Bump the cumulative size to multiple of field alignment.
+-#: stor-layout.c:919
++#: stor-layout.c:908
+ #, gcc-internal-format
+ msgid "padding struct to align %q+D"
+ msgstr "вÑтавка отÑтупов в Ñтруктуру Ð´Ð»Ñ Ð²Ñ‹Ñ€Ð°Ð²Ð½Ð¸Ð²Ð°Ð½Ð¸Ñ %q+D"
+
+-#: stor-layout.c:1270
++#: stor-layout.c:1259
+ #, gcc-internal-format
+ msgid "padding struct size to alignment boundary"
+ msgstr "дополнение размера Ñтруктуры до границы выравниваниÑ"
+
+-#: stor-layout.c:1300
++#: stor-layout.c:1289
+ #, gcc-internal-format
+ msgid "packed attribute causes inefficient alignment for %qs"
+ msgstr "атрибут packed приводит к неÑффективному выравниванию Ð´Ð»Ñ %qs"
+
+-#: stor-layout.c:1304
++#: stor-layout.c:1293
+ #, gcc-internal-format
+ msgid "packed attribute is unnecessary for %qs"
+ msgstr "атрибут packed Ð´Ð»Ñ %qs не требуетÑÑ"
+
+-#: stor-layout.c:1310
++#: stor-layout.c:1299
+ #, gcc-internal-format
+ msgid "packed attribute causes inefficient alignment"
+ msgstr "атрибут packed приводит к неÑффективному выравниванию"
+
+-#: stor-layout.c:1312
++#: stor-layout.c:1301
+ #, gcc-internal-format
+ msgid "packed attribute is unnecessary"
+ msgstr "атрибут packed не требуетÑÑ"
+
+-#: stor-layout.c:1842
++#: stor-layout.c:1831
+ #, gcc-internal-format
+ msgid "alignment of array elements is greater than element size"
+ msgstr "выравнивание Ñлементов маÑÑива превышает их размер"
+@@ -23144,643 +23132,653 @@
+ msgid "unrecognized gcc debugging option: %c"
+ msgstr "некорректный ключ отладки: %c"
+
+-#: toplev.c:1411
++#: toplev.c:1413
+ #, gcc-internal-format
+ msgid "can%'t open %s for writing: %m"
+ msgstr "ошибка Ð¾Ñ‚ÐºÑ€Ñ‹Ñ‚Ð¸Ñ %s на запиÑÑŒ: %m"
+
+-#: toplev.c:1432
++#: toplev.c:1434
+ #, fuzzy, gcc-internal-format
+ msgid "-frecord-gcc-switches is not supported by the current target"
+ msgstr "-fdata-sections не поддерживаетÑÑ Ð´Ð»Ñ Ñтой целевой машины"
+
+-#: toplev.c:1745
++#: toplev.c:1747
+ #, fuzzy, gcc-internal-format
+ msgid "this target does not support %qs"
+ msgstr "%s не поддерживает %s"
+
+-#: toplev.c:1794
++#: toplev.c:1796
+ #, gcc-internal-format
+ msgid "instruction scheduling not supported on this target machine"
+ msgstr "планирование команд Ð´Ð»Ñ Ñтой платформы не поддерживаетÑÑ"
+
+-#: toplev.c:1798
++#: toplev.c:1800
+ #, gcc-internal-format
+ msgid "this target machine does not have delayed branches"
+ msgstr "Ñта машина не имеет задержек переходов"
+
+-#: toplev.c:1812
++#: toplev.c:1814
+ #, gcc-internal-format
+ msgid "-f%sleading-underscore not supported on this target machine"
+ msgstr "-f%sleading-underscore не поддерживаетÑÑ Ð´Ð»Ñ Ñтой целевой машины"
+
+-#: toplev.c:1885
++#: toplev.c:1887
+ #, gcc-internal-format
+ msgid "target system does not support the \"%s\" debug format"
+ msgstr "отладочный формат \"%s\" не поддерживаетÑÑ Ð´Ð»Ñ Ñтой целевой машины"
+
+-#: toplev.c:1898
++#: toplev.c:1900
+ #, gcc-internal-format
+ msgid "variable tracking requested, but useless unless producing debug info"
+ msgstr "отÑлеживание переменных беÑполезно без генерации отладочной информации"
+
+-#: toplev.c:1901
++#: toplev.c:1903
+ #, gcc-internal-format
+ msgid "variable tracking requested, but not supported by this debug format"
+ msgstr "запрошено отÑлеживание переменных, но оно не поддерживаетÑÑ Ñтого формата отладочной информации"
+
+-#: toplev.c:1935
++#: toplev.c:1937
+ #, gcc-internal-format
+ msgid "can%'t open %s: %m"
+ msgstr "ошибка Ð¾Ñ‚ÐºÑ€Ñ‹Ñ‚Ð¸Ñ %s: %m"
+
+-#: toplev.c:1942
++#: toplev.c:1944
+ #, gcc-internal-format
+ msgid "-ffunction-sections not supported for this target"
+ msgstr "-ffunction-sections не поддерживаетÑÑ Ð´Ð»Ñ Ñтой целевой машины"
+
+-#: toplev.c:1947
++#: toplev.c:1949
+ #, gcc-internal-format
+ msgid "-fdata-sections not supported for this target"
+ msgstr "-fdata-sections не поддерживаетÑÑ Ð´Ð»Ñ Ñтой целевой машины"
+
+-#: toplev.c:1954
++#: toplev.c:1956
+ #, gcc-internal-format
+ msgid "-ffunction-sections disabled; it makes profiling impossible"
+ msgstr "-ffunction-sections отменен, поÑкольку профилирование Ñ Ð½Ð¸Ð¼ невозможно"
+
+-#: toplev.c:1961
++#: toplev.c:1963
+ #, gcc-internal-format
+ msgid "-fprefetch-loop-arrays not supported for this target"
+ msgstr "-fprefetch-loop-arrays не поддерживаетÑÑ Ð´Ð»Ñ Ñтой целевой машины"
+
+-#: toplev.c:1967
++#: toplev.c:1969
+ #, gcc-internal-format
+ msgid "-fprefetch-loop-arrays not supported for this target (try -march switches)"
+ msgstr "-fprefetch-loop-arrays не поддерживаетÑÑ Ð´Ð»Ñ Ñтой целевой машины"
+
+-#: toplev.c:1976
++#: toplev.c:1978
+ #, gcc-internal-format
+ msgid "-fprefetch-loop-arrays is not supported with -Os"
+ msgstr "-fprefetch-loop-arrays не поддерживаетÑÑ Ñ -Os"
+
+-#: toplev.c:1983
++#: toplev.c:1985
+ #, gcc-internal-format
+ msgid "-ffunction-sections may affect debugging on some targets"
+ msgstr "-ffunction-sections может затруднить отладку на некоторых платформах"
+
+-#: toplev.c:1999
++#: toplev.c:1996
+ #, gcc-internal-format
++msgid "-fassociative-math disabled; other options take precedence"
++msgstr ""
++
++#: toplev.c:2008
++#, gcc-internal-format
+ msgid "-fstack-protector not supported for this target"
+ msgstr "-fstack-protector не поддерживаетÑÑ Ð´Ð»Ñ Ñтой целевой платформы"
+
+-#: toplev.c:2012
+-#, gcc-internal-format
+-msgid "unwind tables currently requires a frame pointer for correctness"
++#: toplev.c:2021
++#, fuzzy, gcc-internal-format
++msgid "unwind tables currently require a frame pointer for correctness"
+ msgstr "Ð´Ð»Ñ ÐºÐ¾Ñ€Ñ€ÐµÐºÑ‚Ð½Ð¾Ð³Ð¾ Ñ„Ð¾Ñ€Ð¼Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ Ñ‚Ð°Ð±Ð»Ð¸Ñ†Ð° раÑкрутки Ñтека требуетÑÑ ÑƒÐºÐ°Ð·Ð°Ñ‚ÐµÐ»ÑŒ кадра"
+
+-#: toplev.c:2198
++#: toplev.c:2207
+ #, gcc-internal-format
+ msgid "error writing to %s: %m"
+ msgstr "ошибка запиÑи в %s: %m"
+
+-#: toplev.c:2200 java/jcf-parse.c:1776
++#: toplev.c:2209 java/jcf-parse.c:1778
+ #, gcc-internal-format
+ msgid "error closing %s: %m"
+ msgstr "ошибка Ð·Ð°ÐºÑ€Ñ‹Ñ‚Ð¸Ñ %s: %m"
+
+-#: tree-cfg.c:1432 tree-cfg.c:2068 tree-cfg.c:2071
++#: tree-cfg.c:1451 tree-cfg.c:2087 tree-cfg.c:2090
+ #, gcc-internal-format
+ msgid "%Hwill never be executed"
+ msgstr "%Hникогда не будет выполнена"
+
+-#: tree-cfg.c:3134
++#: tree-cfg.c:3153
+ #, gcc-internal-format
+ msgid "SSA name in freelist but still referenced"
+ msgstr "Ð¸Ð¼Ñ SSA в ÑпиÑке Ñвободных, но на него еÑÑ‚ÑŒ ÑÑылки"
+
+-#: tree-cfg.c:3143
++#: tree-cfg.c:3162
+ #, gcc-internal-format
+ msgid "ASSERT_EXPR with an always-false condition"
+ msgstr "ASSERT_EXPR Ñ Ñ‚Ð¾Ð¶Ð´ÐµÑтвенно ложным уÑловием"
+
+-#: tree-cfg.c:3156
++#: tree-cfg.c:3175
+ #, gcc-internal-format
+ msgid "GIMPLE register modified with BIT_FIELD_REF"
+ msgstr "GIMPLE-региÑÑ‚Ñ€ модифицирован ÑÑылкой BIT_FIELD_REF"
+
+-#: tree-cfg.c:3191
++#: tree-cfg.c:3210
+ #, gcc-internal-format
+ msgid "invariant not recomputed when ADDR_EXPR changed"
+ msgstr "инвариант не перевычиÑлен поÑле Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ ADDR_EXPR"
+
+-#: tree-cfg.c:3197
++#: tree-cfg.c:3216
+ #, gcc-internal-format
+ msgid "constant not recomputed when ADDR_EXPR changed"
+ msgstr "конÑтанта не перевычиÑлена поÑле Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ ADDR_EXPR"
+
+-#: tree-cfg.c:3202
++#: tree-cfg.c:3221
+ #, gcc-internal-format
+ msgid "side effects not recomputed when ADDR_EXPR changed"
+ msgstr "побочные Ñффекты не перевычиÑлены поÑле Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ ADDR_EXPR"
+
+-#: tree-cfg.c:3218
++#: tree-cfg.c:3237
+ #, gcc-internal-format
+ msgid "address taken, but ADDRESSABLE bit not set"
+ msgstr "Ð°Ð´Ñ€ÐµÑ Ð±Ñ‹Ð» взÑÑ‚, а бит ADDRESSABLE не уÑтановлен"
+
+-#: tree-cfg.c:3228
++#: tree-cfg.c:3252
+ #, fuzzy, gcc-internal-format
+ msgid "non-integral used in condition"
+ msgstr "в уÑловии иÑпользовано не булево выражение"
+
+-#: tree-cfg.c:3233
++#: tree-cfg.c:3257
+ #, gcc-internal-format
+ msgid "invalid conditional operand"
+ msgstr "некорректный операнд уÑловного оператора"
+
+-#: tree-cfg.c:3285
++#: tree-cfg.c:3309
+ #, gcc-internal-format
+ msgid "invalid reference prefix"
+ msgstr "неверный Ð¿Ñ€ÐµÑ„Ð¸ÐºÑ ÑÑылки"
+
+-#: tree-cfg.c:3296
++#: tree-cfg.c:3320
+ #, fuzzy, gcc-internal-format
+ msgid "invalid operand to plus/minus, type is a pointer"
+ msgstr "некорректный операнд в инÑтрукции"
+
+-#: tree-cfg.c:3307
++#: tree-cfg.c:3331
+ #, gcc-internal-format
+ msgid "invalid operand to pointer plus, first operand is not a pointer"
+ msgstr ""
+
+-#: tree-cfg.c:3315
++#: tree-cfg.c:3339
+ #, gcc-internal-format
+ msgid "invalid operand to pointer plus, second operand is not an integer with type of sizetype."
+ msgstr ""
+
+-#: tree-cfg.c:3382 tree-cfg.c:3798
++#: tree-cfg.c:3406 tree-cfg.c:3822
+ #, fuzzy, gcc-internal-format
+ msgid "invalid operand in unary expression"
+ msgstr "неверные операнды бинарной операции %s"
+
+-#: tree-cfg.c:3392
++#: tree-cfg.c:3416
+ #, fuzzy, gcc-internal-format
+ msgid "type mismatch in unary expression"
+ msgstr "неÑоответÑтвие типов в уÑловном выражении"
+
+-#: tree-cfg.c:3413
++#: tree-cfg.c:3437
+ #, fuzzy, gcc-internal-format
+ msgid "invalid operands in binary expression"
+ msgstr "неверные операнды бинарной операции %s"
+
+-#: tree-cfg.c:3424
++#: tree-cfg.c:3448
+ #, fuzzy, gcc-internal-format
+ msgid "type mismatch in binary expression"
+ msgstr "неÑоответÑтвие типов в уÑловном выражении"
+
+-#: tree-cfg.c:3449
++#: tree-cfg.c:3473
+ #, fuzzy, gcc-internal-format
+ msgid "invalid expression for min lvalue"
+ msgstr "в ÑпиÑке операндов задано некорректное выражение"
+
+-#: tree-cfg.c:3456
++#: tree-cfg.c:3480
+ #, fuzzy, gcc-internal-format
+ msgid "invalid operand in indirect reference"
+ msgstr "некорректный операнд в инÑтрукции"
+
+-#: tree-cfg.c:3463
++#: tree-cfg.c:3487
+ #, fuzzy, gcc-internal-format
+ msgid "type mismatch in indirect reference"
+ msgstr "неÑоответÑтвие типов в уÑловном выражении"
+
+-#: tree-cfg.c:3491
++#: tree-cfg.c:3515
+ #, fuzzy, gcc-internal-format
+ msgid "invalid operands to array reference"
+ msgstr "неверные операнды бинарной операции %s"
+
+-#: tree-cfg.c:3502
++#: tree-cfg.c:3526
+ #, fuzzy, gcc-internal-format
+ msgid "type mismatch in array reference"
+ msgstr "отÑутÑтвует Ð¸Ð½Ð´ÐµÐºÑ Ð¼Ð°ÑÑива"
+
+-#: tree-cfg.c:3511
++#: tree-cfg.c:3535
+ #, fuzzy, gcc-internal-format
+ msgid "type mismatch in array range reference"
+ msgstr "отÑутÑтвует Ð¸Ð½Ð´ÐµÐºÑ Ð¼Ð°ÑÑива"
+
+-#: tree-cfg.c:3522
++#: tree-cfg.c:3546
+ #, fuzzy, gcc-internal-format
+ msgid "type mismatch in real/imagpart reference"
+ msgstr "неÑоответÑтвие типов в уÑловном выражении"
+
+-#: tree-cfg.c:3532
++#: tree-cfg.c:3556
+ #, fuzzy, gcc-internal-format
+ msgid "type mismatch in component reference"
+ msgstr "неÑоответÑтвие типов в уÑловном выражении"
+
+-#: tree-cfg.c:3586
++#: tree-cfg.c:3610
+ #, fuzzy, gcc-internal-format
+ msgid "invalid operand in conversion"
+ msgstr "некорректный операнд в инÑтрукции"
+
+-#: tree-cfg.c:3614
++#: tree-cfg.c:3638
+ #, fuzzy, gcc-internal-format
+ msgid "invalid types in nop conversion"
+ msgstr "переполнение при вычиÑлении конÑтантного выражениÑ"
+
+-#: tree-cfg.c:3628
++#: tree-cfg.c:3652
+ #, fuzzy, gcc-internal-format
+ msgid "invalid operand in int to float conversion"
+ msgstr "некорректный операнд в инÑтрукции"
+
+-#: tree-cfg.c:3634
++#: tree-cfg.c:3658
+ #, fuzzy, gcc-internal-format
+ msgid "invalid types in conversion to floating point"
+ msgstr "некорректное преобразование к %<__fpreg%>"
+
+-#: tree-cfg.c:3647
++#: tree-cfg.c:3671
+ #, fuzzy, gcc-internal-format
+ msgid "invalid operand in float to int conversion"
+ msgstr "некорректный операнд в инÑтрукции"
+
+-#: tree-cfg.c:3653
++#: tree-cfg.c:3677
+ #, fuzzy, gcc-internal-format
+ msgid "invalid types in conversion to integer"
+ msgstr "некорректное преобразование к %<__fpreg%>"
+
+-#: tree-cfg.c:3667
++#: tree-cfg.c:3691
+ #, fuzzy, gcc-internal-format
+ msgid "invalid operands in complex expression"
+ msgstr "некорректный операнд в инÑтрукции"
+
+-#: tree-cfg.c:3680
++#: tree-cfg.c:3704
+ #, fuzzy, gcc-internal-format
+ msgid "type mismatch in complex expression"
+ msgstr "неÑоответÑтвие типов в уÑловном выражении"
+
+-#: tree-cfg.c:3694
++#: tree-cfg.c:3718
+ #, gcc-internal-format
+ msgid "constructor not allowed for non-vector types"
+ msgstr ""
+
+-#: tree-cfg.c:3711
++#: tree-cfg.c:3735
+ #, fuzzy, gcc-internal-format
+ msgid "invalid operands in shift expression"
+ msgstr "некорректный операнд в инÑтрукции"
+
+-#: tree-cfg.c:3717
++#: tree-cfg.c:3741
+ #, fuzzy, gcc-internal-format
+ msgid "type mismatch in shift expression"
+ msgstr "неÑоответÑтвие типов в уÑловном выражении"
+
+-#: tree-cfg.c:3735
++#: tree-cfg.c:3759
+ #, fuzzy, gcc-internal-format
+ msgid "invalid (pointer) operands to plus/minus"
+ msgstr "неверные операнды бинарной операции %s"
+
+-#: tree-cfg.c:3748
++#: tree-cfg.c:3772
+ #, fuzzy, gcc-internal-format
+ msgid "invalid operands in pointer plus expression"
+ msgstr "некорректный операнд в инÑтрукции"
+
+-#: tree-cfg.c:3755
++#: tree-cfg.c:3779
+ #, fuzzy, gcc-internal-format
+ msgid "type mismatch in pointer plus expression"
+ msgstr "неÑоответÑтвие типов в уÑловном выражении"
+
+-#: tree-cfg.c:3774
++#: tree-cfg.c:3798
+ #, fuzzy, gcc-internal-format
+ msgid "invalid operands in conditional expression"
+ msgstr "не lvalue-маÑÑив в уÑловном выражении"
+
+-#: tree-cfg.c:3807
++#: tree-cfg.c:3831
+ #, fuzzy, gcc-internal-format
+ msgid "type mismatch in address expression"
+ msgstr "неÑоответÑтвие типов в уÑловном выражении"
+
+-#: tree-cfg.c:3827
++#: tree-cfg.c:3851
+ #, fuzzy, gcc-internal-format
+ msgid "invalid operands in truth expression"
+ msgstr "некорректный операнд в инÑтрукции"
+
+-#: tree-cfg.c:3836
++#: tree-cfg.c:3860
+ #, fuzzy, gcc-internal-format
+ msgid "type mismatch in binary truth expression"
+ msgstr "неÑоответÑтвие типов в уÑловном выражении"
+
+-#: tree-cfg.c:3852
++#: tree-cfg.c:3876
+ #, fuzzy, gcc-internal-format
+ msgid "invalid operand in unary not"
+ msgstr "неверные операнды бинарной операции %s"
+
+-#: tree-cfg.c:3861
++#: tree-cfg.c:3885
+ #, fuzzy, gcc-internal-format
+ msgid "type mismatch in not expression"
+ msgstr "неÑоответÑтвие типов в уÑловном выражении"
+
+-#: tree-cfg.c:3900
++#: tree-cfg.c:3924
+ #, fuzzy, gcc-internal-format
+ msgid "invalid operands in comparison expression"
+ msgstr "неправильное иÑпользование void-выражениÑ"
+
+-#: tree-cfg.c:3917
++#: tree-cfg.c:3941
+ #, fuzzy, gcc-internal-format
+ msgid "type mismatch in comparison expression"
+ msgstr "неÑоответÑтвие типов в уÑловном выражении"
+
+-#: tree-cfg.c:3947
++#: tree-cfg.c:3971
+ #, fuzzy, gcc-internal-format
+ msgid "non-trivial conversion at assignment"
+ msgstr "Ð½ÐµÐºÐ¾Ñ€Ñ€ÐµÐºÑ‚Ð½Ð°Ñ Ð»ÐµÐ²Ð°Ñ Ñ‡Ð°ÑÑ‚ÑŒ в приÑваивании"
+
+-#: tree-cfg.c:3988 tree-cfg.c:4136
++#: tree-cfg.c:4012 tree-cfg.c:4160
+ #, gcc-internal-format
+ msgid "is not a valid GIMPLE statement"
+ msgstr "не ÑвлÑетÑÑ ÐºÐ¾Ñ€Ñ€ÐµÐºÑ‚Ð½Ñ‹Ð¼ оператором GIMPLE"
+
+-#: tree-cfg.c:4015
++#: tree-cfg.c:4039
+ #, fuzzy, gcc-internal-format
+ msgid "invalid operand to switch statement"
+ msgstr "некорректный операнд Ð´Ð»Ñ ÐºÐ¾Ð´Ð° %%s"
+
+-#: tree-cfg.c:4026
++#: tree-cfg.c:4050
+ #, fuzzy, gcc-internal-format
+ msgid "type error in return expression"
+ msgstr " в throw-выражении"
+
+-#: tree-cfg.c:4104
++#: tree-cfg.c:4128
+ #, fuzzy, gcc-internal-format
+ msgid "verify_gimple failed"
+ msgstr "процедура verify_stmts выÑвила ошибки"
+
+-#: tree-cfg.c:4156
++#: tree-cfg.c:4180
+ #, gcc-internal-format
+ msgid "statement marked for throw, but doesn%'t"
+ msgstr "оператор помечен как throw, но не ÑвлÑетÑÑ Ñ‚Ð°ÐºÐ¾Ð²Ñ‹Ð¼"
+
+-#: tree-cfg.c:4161
++#: tree-cfg.c:4185
+ #, gcc-internal-format
+ msgid "statement marked for throw in middle of block"
+ msgstr "оператор помечен как throw в Ñередине блока"
+
+-#: tree-cfg.c:4232
++#: tree-cfg.c:4256
+ #, fuzzy, gcc-internal-format
+ msgid "unexpected non-tuple"
+ msgstr "некорректный узел"
+
+-#: tree-cfg.c:4261
++#: tree-cfg.c:4285
+ #, gcc-internal-format
+ msgid "Dead STMT in EH table"
+ msgstr ""
+
+-#: tree-cfg.c:4295
++#: tree-cfg.c:4319
+ #, gcc-internal-format
+ msgid "bb_for_stmt (phi) is set to a wrong basic block"
+ msgstr "bb_for_stmt (phi) указывает не на тот блок"
+
+-#: tree-cfg.c:4306
++#: tree-cfg.c:4330
+ #, fuzzy, gcc-internal-format
+ msgid "missing PHI def"
+ msgstr "отÑутÑтвует определение"
+
+-#: tree-cfg.c:4317
++#: tree-cfg.c:4341
+ #, gcc-internal-format
+ msgid "PHI def is not a GIMPLE value"
+ msgstr "определение PHI - не GIMPLE-значение"
+
+-#: tree-cfg.c:4333 tree-cfg.c:4359
++#: tree-cfg.c:4357 tree-cfg.c:4383
+ #, gcc-internal-format
+ msgid "incorrect sharing of tree nodes"
+ msgstr "недопуÑтимое разделение узлов дерева"
+
+-#: tree-cfg.c:4350
++#: tree-cfg.c:4374
+ #, gcc-internal-format
+ msgid "bb_for_stmt (stmt) is set to a wrong basic block"
+ msgstr "bb_for_stmt (stmt) указывает не на тот блок"
+
+-#: tree-cfg.c:4373
++#: tree-cfg.c:4397
+ #, gcc-internal-format
+ msgid "verify_stmts failed"
+ msgstr "процедура verify_stmts выÑвила ошибки"
+
+-#: tree-cfg.c:4396
++#: tree-cfg.c:4420
+ #, fuzzy, gcc-internal-format
+ msgid "ENTRY_BLOCK has IL associated with it"
+ msgstr "Ñ ENTRY_BLOCK аÑÑоциирован ÑпиÑок операторов"
+
+-#: tree-cfg.c:4402
++#: tree-cfg.c:4426
+ #, fuzzy, gcc-internal-format
+ msgid "EXIT_BLOCK has IL associated with it"
+ msgstr "Ñ EXIT_BLOCK аÑÑоциирован ÑпиÑок операторов"
+
+-#: tree-cfg.c:4409
++#: tree-cfg.c:4433
+ #, gcc-internal-format
+ msgid "fallthru to exit from bb %d"
+ msgstr "Ñквозной выход из блока %d"
+
+-#: tree-cfg.c:4431
++#: tree-cfg.c:4455
+ #, gcc-internal-format
+ msgid "nonlocal label "
+ msgstr ""
+
+-#: tree-cfg.c:4440 tree-cfg.c:4450 tree-cfg.c:4475
++#: tree-cfg.c:4464 tree-cfg.c:4474 tree-cfg.c:4499
+ #, gcc-internal-format
+ msgid "label "
+ msgstr ""
+
+-#: tree-cfg.c:4465
++#: tree-cfg.c:4489
+ #, gcc-internal-format
+ msgid "control flow in the middle of basic block %d"
+ msgstr "инÑÑ‚Ñ€ÑƒÐºÑ†Ð¸Ñ ÑƒÐ¿Ñ€Ð°Ð²Ð»ÐµÐ½Ð¸Ñ Ð¿Ð¾Ñ‚Ð¾ÐºÐ¾Ð¼ Ð²Ñ‹Ð¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ñ Ð²Ð½ÑƒÑ‚Ñ€Ð¸ блока %d"
+
+-#: tree-cfg.c:4495
++#: tree-cfg.c:4519
+ #, gcc-internal-format
+ msgid "fallthru edge after a control statement in bb %d"
+ msgstr "ÑÐºÐ²Ð¾Ð·Ð½Ð°Ñ Ð´ÑƒÐ³Ð° поÑле оператора ÑƒÐ¿Ñ€Ð°Ð²Ð»ÐµÐ½Ð¸Ñ Ð² блоке %d"
+
+-#: tree-cfg.c:4508
++#: tree-cfg.c:4532
+ #, gcc-internal-format
+ msgid "true/false edge after a non-COND_EXPR in bb %d"
+ msgstr "дуга true/false поÑле не COND_EXPR в блоке %d"
+
+-#: tree-cfg.c:4524
++#: tree-cfg.c:4548
+ #, fuzzy, gcc-internal-format
+ msgid "COND_EXPR with code in branches at the end of bb %d"
+ msgstr "Ñтруктурный COND_EXPR в конце блока %d"
+
+-#: tree-cfg.c:4538 tree-cfg.c:4560 tree-cfg.c:4573 tree-cfg.c:4644
++#: tree-cfg.c:4562 tree-cfg.c:4584 tree-cfg.c:4597 tree-cfg.c:4668
+ #, gcc-internal-format
+ msgid "wrong outgoing edge flags at end of bb %d"
+ msgstr "некорректные флаги выходной дуги в конце блока %d"
+
+-#: tree-cfg.c:4548
++#: tree-cfg.c:4572
+ #, gcc-internal-format
+ msgid "explicit goto at end of bb %d"
+ msgstr "Ñвный переход goto в конце блока %d"
+
+-#: tree-cfg.c:4578
++#: tree-cfg.c:4602
+ #, gcc-internal-format
+ msgid "return edge does not point to exit in bb %d"
+ msgstr "дуга return не указывает на конец блока %d"
+
+-#: tree-cfg.c:4611
++#: tree-cfg.c:4635
+ #, gcc-internal-format
+ msgid "found default case not at end of case vector"
+ msgstr "Ñлучай default - не в конце case-вектора"
+
+-#: tree-cfg.c:4617
++#: tree-cfg.c:4641
+ #, fuzzy, gcc-internal-format
+ msgid "case labels not sorted: "
+ msgstr "case-метки не отÑортированы"
+
+-#: tree-cfg.c:4628
++#: tree-cfg.c:4652
+ #, gcc-internal-format
+ msgid "no default case found at end of case vector"
+ msgstr "Ñлучай default не найден в конце case-вектора"
+
+-#: tree-cfg.c:4636
++#: tree-cfg.c:4660
+ #, gcc-internal-format
+ msgid "extra outgoing edge %d->%d"
+ msgstr "лишнÑÑ Ð¸ÑходÑÑ‰Ð°Ñ Ð´ÑƒÐ³Ð° %d->%d"
+
+-#: tree-cfg.c:4658
++#: tree-cfg.c:4682
+ #, gcc-internal-format
+ msgid "missing edge %i->%i"
+ msgstr "отÑутÑтвует дуга %i->%i"
+
+-#: tree-cfg.c:6941 tree-cfg.c:6945
++#: tree-cfg.c:7025 tree-cfg.c:7029
+ #, gcc-internal-format
+ msgid "%H%<noreturn%> function does return"
+ msgstr "%Hвыход из функции Ñ Ð°Ñ‚Ñ€Ð¸Ð±ÑƒÑ‚Ð¾Ð¼ %<noreturn%>"
+
+-#: tree-cfg.c:6967 tree-cfg.c:6972
++#: tree-cfg.c:7051 tree-cfg.c:7056
+ #, gcc-internal-format
+ msgid "%Hcontrol reaches end of non-void function"
+ msgstr "%Hуправление доÑтигает конца не-void функции"
+
+-#: tree-cfg.c:7033
++#: tree-cfg.c:7117
+ #, gcc-internal-format
+ msgid "%Jfunction might be possible candidate for attribute %<noreturn%>"
+ msgstr "%Jфункции, возможно, Ñледует задать атрибут %<noreturn%>"
+
+-#: tree-dump.c:933
++#: tree-dump.c:932
+ #, gcc-internal-format
+ msgid "could not open dump file %qs: %s"
+ msgstr "ошибка Ð¾Ñ‚ÐºÑ€Ñ‹Ñ‚Ð¸Ñ Ð´Ð°Ð¼Ð¿-файла %qs: %s"
+
+-#: tree-dump.c:1068
++#: tree-dump.c:1067
+ #, gcc-internal-format
+ msgid "ignoring unknown option %q.*s in %<-fdump-%s%>"
+ msgstr "проигнорирован Ð½ÐµÐ¾Ð¿Ð¾Ð·Ð½Ð°Ð½Ð½Ð°Ñ Ð¾Ð¿Ñ†Ð¸Ñ %q.*s в %<-fdump-%s%>"
+
+-#: tree-eh.c:1788
++#: tree-eh.c:1805
+ #, gcc-internal-format
+ msgid "EH edge %i->%i is missing"
+ msgstr "отÑутÑтвует EH-дуга %i->%i"
+
+-#: tree-eh.c:1793
++#: tree-eh.c:1810
+ #, gcc-internal-format
+ msgid "EH edge %i->%i miss EH flag"
+ msgstr "в EH-дуге %i->%i не уÑтановлен флаг EH"
+
+ #. ??? might not be mistake.
+-#: tree-eh.c:1799
++#: tree-eh.c:1816
+ #, gcc-internal-format
+ msgid "EH edge %i->%i has duplicated regions"
+ msgstr "в EH-дуге %i->%i имеютÑÑ Ð´ÑƒÐ±Ð»Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð½Ñ‹Ðµ регионы"
+
+-#: tree-eh.c:1833
++#: tree-eh.c:1850
+ #, gcc-internal-format
+ msgid "BB %i can not throw but has EH edges"
+ msgstr "блок %i не может выдавать иÑключений, но имеет EH-дуги"
+
+-#: tree-eh.c:1840
++#: tree-eh.c:1857
+ #, gcc-internal-format
+ msgid "BB %i last statement has incorrectly set region"
+ msgstr "в поÑледнем операторе блока %i некорректно уÑтановлен регион"
+
+-#: tree-eh.c:1851
++#: tree-eh.c:1868
+ #, gcc-internal-format
+ msgid "unnecessary EH edge %i->%i"
+ msgstr "Ð½ÐµÐ½ÑƒÐ¶Ð½Ð°Ñ EH-дуга %i->%i"
+
+-#: tree-inline.c:1830
++#: tree-inline.c:1880
+ #, gcc-internal-format
+ msgid "function %q+F can never be inlined because it uses alloca (override using the always_inline attribute)"
+ msgstr "inline-подÑтановка функции %q+F невозможна, поÑкольку Ñ„ÑƒÐ½ÐºÑ†Ð¸Ñ Ð¸Ñпользует alloca (задайте атрибут always_inline)"
+
+-#: tree-inline.c:1842
++#: tree-inline.c:1892
+ #, gcc-internal-format
+ msgid "function %q+F can never be inlined because it uses setjmp"
+ msgstr "inline-подÑтановка функции %q+F невозможна, поÑкольку Ñ„ÑƒÐ½ÐºÑ†Ð¸Ñ Ð¸Ñпользует setjmp"
+
+-#: tree-inline.c:1856
++#: tree-inline.c:1906
+ #, gcc-internal-format
+ msgid "function %q+F can never be inlined because it uses variable argument lists"
+ msgstr "inline-подÑтановка функции %q+F невозможна, поÑкольку Ñ„ÑƒÐ½ÐºÑ†Ð¸Ñ Ð¸Ñпользует ÑпиÑки из переменного чиÑла аргументов"
+
+-#: tree-inline.c:1867
++#: tree-inline.c:1917
+ #, gcc-internal-format
+ msgid "function %q+F can never be inlined because it uses setjmp-longjmp exception handling"
+ msgstr "inline-подÑтановка функции %q+F невозможна, поÑкольку Ñ„ÑƒÐ½ÐºÑ†Ð¸Ñ Ñодержит обработку иÑключительных Ñитуаций setjmp-longjmp"
+
+-#: tree-inline.c:1874
++#: tree-inline.c:1924
+ #, gcc-internal-format
+ msgid "function %q+F can never be inlined because it uses non-local goto"
+ msgstr "inline-подÑтановка функции %q+F невозможна, поÑкольку Ñ„ÑƒÐ½ÐºÑ†Ð¸Ñ Ð¸Ñпользует не локальный goto"
+
+-#: tree-inline.c:1885
++#: tree-inline.c:1935
+ #, gcc-internal-format
+ msgid "function %q+F can never be inlined because it uses __builtin_return or __builtin_apply_args"
+ msgstr "inline-подÑтановка функции %q+F невозможна, поÑкольку Ñ„ÑƒÐ½ÐºÑ†Ð¸Ñ Ð¸Ñпользует __builtin_return или __builtin_apply_args"
+
+-#: tree-inline.c:1904
++#: tree-inline.c:1954
+ #, gcc-internal-format
+ msgid "function %q+F can never be inlined because it contains a computed goto"
+ msgstr "inline-подÑтановка функции %q+F невозможна, поÑкольку Ñ„ÑƒÐ½ÐºÑ†Ð¸Ñ Ð¸Ñпользует вычиÑлÑемый goto"
+
+-#: tree-inline.c:1918
++#: tree-inline.c:1968
+ #, gcc-internal-format
+ msgid "function %q+F can never be inlined because it receives a non-local goto"
+ msgstr "inline-подÑтановка функции %q+F невозможна, поÑкольку имеют нелокальные переходы в Ñту функцию"
+
+-#: tree-inline.c:1943
++#: tree-inline.c:1993
+ #, gcc-internal-format
+ msgid "function %q+F can never be inlined because it uses variable sized variables"
+ msgstr "inline-подÑтановка функции %q+F невозможна, поÑкольку Ñ„ÑƒÐ½ÐºÑ†Ð¸Ñ Ð¸Ñпользует переменные переменного размера"
+
+-#: tree-inline.c:2005
++#: tree-inline.c:2015
++#, fuzzy, gcc-internal-format
++msgid "function %q+F can never be inlined because it saves address of local label in a static variable"
++msgstr "inline-подÑтановка функции %q+F невозможна, поÑкольку Ñ„ÑƒÐ½ÐºÑ†Ð¸Ñ Ð¸Ñпользует переменные переменного размера"
++
++#: tree-inline.c:2091
+ #, gcc-internal-format
+ msgid "function %q+F can never be inlined because it is suppressed using -fno-inline"
+ msgstr "подÑтановка функций %q+F невозможна, Ñ‚.к. задан ключ -fno-inline"
+
+-#: tree-inline.c:2019
++#: tree-inline.c:2105
+ #, gcc-internal-format
+ msgid "function %q+F can never be inlined because it uses attributes conflicting with inlining"
+ msgstr "подÑтановка функции %q+F невозможна, Ñ‚.к. она имеет атрибуты, препÑÑ‚Ñтвующие inline-подÑтановке"
+
+-#: tree-inline.c:2588 tree-inline.c:2598
++#: tree-inline.c:2674 tree-inline.c:2684
+ #, gcc-internal-format
+ msgid "inlining failed in call to %q+F: %s"
+ msgstr "inline-подÑтановка при вызове %q+F не выполнена: %s"
+
+-#: tree-inline.c:2589 tree-inline.c:2600
++#: tree-inline.c:2675 tree-inline.c:2686
+ #, gcc-internal-format
+ msgid "called from here"
+ msgstr "ÐºÐ¾Ñ‚Ð¾Ñ€Ð°Ñ Ð²Ñ‹Ð·Ð²Ð°Ð½Ð° здеÑÑŒ"
+
+-#: tree-mudflap.c:860
++#: tree-mudflap.c:864
+ #, gcc-internal-format
+ msgid "mudflap checking not yet implemented for ARRAY_RANGE_REF"
+ msgstr "mudflap-проверки еще Ð´Ð»Ñ ARRAY_RANGE_REF еще не реализованы"
+
+-#: tree-mudflap.c:1044
++#: tree-mudflap.c:1050
+ #, gcc-internal-format
+ msgid "mudflap cannot track %qs in stub function"
+ msgstr "mudflap не может отÑлеживать %qs в stub-функциÑÑ…"
+
+-#: tree-mudflap.c:1272
++#: tree-mudflap.c:1279
+ #, gcc-internal-format
+ msgid "mudflap cannot track unknown size extern %qs"
+ msgstr "mudflap не может отÑлеживать внешние %qs неизвеÑтного размера"
+@@ -23800,33 +23798,33 @@
+ msgid "size of return value of %q+D is larger than %wd bytes"
+ msgstr "размер возвращаемого значение %q+D превышает %wd байт"
+
+-#: tree-outof-ssa.c:637 tree-outof-ssa.c:688 tree-ssa-coalesce.c:936
+-#: tree-ssa-coalesce.c:951 tree-ssa-coalesce.c:1163 tree-ssa-live.c:1043
++#: tree-outof-ssa.c:638 tree-outof-ssa.c:689 tree-ssa-coalesce.c:936
++#: tree-ssa-coalesce.c:951 tree-ssa-coalesce.c:1163 tree-ssa-live.c:1053
+ #, gcc-internal-format
+ msgid "SSA corruption"
+ msgstr "повреждение SSA"
+
+-#: tree-outof-ssa.c:1105
++#: tree-outof-ssa.c:1263
+ #, gcc-internal-format
+ msgid " Pending stmts not issued on PRED edge (%d, %d)\n"
+ msgstr " Ожидающие в очереди операторы не выведены на дуге PRED (%d, %d)\n"
+
+-#: tree-outof-ssa.c:1111
++#: tree-outof-ssa.c:1269
+ #, gcc-internal-format
+ msgid " Pending stmts not issued on SUCC edge (%d, %d)\n"
+ msgstr " Ожидающие в очереди операторы не выведены на дуге SUCC (%d, %d)\n"
+
+-#: tree-outof-ssa.c:1118
++#: tree-outof-ssa.c:1276
+ #, gcc-internal-format
+ msgid " Pending stmts not issued on ENTRY edge (%d, %d)\n"
+ msgstr " Ожидающие в очереди операторы не выведены на дуге ENTRY (%d, %d)\n"
+
+-#: tree-outof-ssa.c:1124
++#: tree-outof-ssa.c:1282
+ #, gcc-internal-format
+ msgid " Pending stmts not issued on EXIT edge (%d, %d)\n"
+ msgstr " Ожидающие в очереди операторы не выведены на дуге EXIT (%d, %d)\n"
+
+-#: tree-profile.c:351
++#: tree-profile.c:356
+ #, gcc-internal-format
+ msgid "unimplemented functionality"
+ msgstr "Ð½ÐµÑ€ÐµÐ°Ð»Ð¸Ð·Ð¾Ð²Ð°Ð½Ð½Ð°Ñ Ñ„ÑƒÐ½ÐºÑ†Ð¸Ð¾Ð½Ð°Ð»ÑŒÐ½Ð¾ÑÑ‚ÑŒ"
+@@ -24016,154 +24014,159 @@
+ msgid "verify_ssa failed"
+ msgstr "процедура verify_ssa выÑвила ошибки"
+
+-#: tree-ssa.c:1284
++#: tree-ssa.c:1293
+ #, fuzzy, gcc-internal-format
+ msgid "%J%qD was declared here"
+ msgstr " Ð¸Ð¼Ñ `%#D' объÑвлено здеÑÑŒ"
+
+ #. We only do data flow with SSA_NAMEs, so that's all we
+ #. can warn about.
+-#: tree-ssa.c:1302
++#: tree-ssa.c:1311
+ #, gcc-internal-format
+ msgid "%H%qD is used uninitialized in this function"
+ msgstr "%H%qD иÑпользуетÑÑ Ð±ÐµÐ· инициализации в данной функции"
+
+-#: tree-ssa.c:1340
++#: tree-ssa.c:1349
+ #, gcc-internal-format
+ msgid "%H%qD may be used uninitialized in this function"
+ msgstr "%H%qD, возможно, иÑпользуетÑÑ Ð±ÐµÐ· инициализации в данной функции"
+
+-#: tree-vrp.c:4374
++#: tree-vrp.c:4384
+ #, fuzzy, gcc-internal-format
+ msgid "%Harray subscript is outside array bounds"
+ msgstr "Ð¸Ð½Ð´ÐµÐºÑ Ð¼Ð°ÑÑива не ÑвлÑетÑÑ Ñ†ÐµÐ»Ñ‹Ð¼ значением"
+
+-#: tree-vrp.c:4388
++#: tree-vrp.c:4398
+ #, fuzzy, gcc-internal-format
+ msgid "%Harray subscript is above array bounds"
+ msgstr "Ð¸Ð½Ð´ÐµÐºÑ Ð¼Ð°ÑÑива не ÑвлÑетÑÑ Ñ†ÐµÐ»Ñ‹Ð¼ значением"
+
+-#: tree-vrp.c:4395
++#: tree-vrp.c:4405
+ #, fuzzy, gcc-internal-format
+ msgid "%Harray subscript is below array bounds"
+ msgstr "Ð¸Ð½Ð´ÐµÐºÑ Ð¼Ð°ÑÑива не ÑвлÑетÑÑ Ñ†ÐµÐ»Ñ‹Ð¼ значением"
+
+-#: tree-vrp.c:5042
++#: tree-vrp.c:5058
+ #, gcc-internal-format
+ msgid "assuming signed overflow does not occur when simplifying conditional to constant"
+ msgstr ""
+
+-#: tree-vrp.c:5048
++#: tree-vrp.c:5064
+ #, gcc-internal-format
+ msgid "assuming signed overflow does not occur when simplifying conditional"
+ msgstr ""
+
+-#: tree.c:3951
++#: tree.c:3682
++#, fuzzy, gcc-internal-format
++msgid "ignoring attributes applied to %qT after definition"
++msgstr "отброшены атрибуты клаÑÑа, заданные вне его объÑвлениÑ"
++
++#: tree.c:3966
+ #, gcc-internal-format
+ msgid "%q+D already declared with dllexport attribute: dllimport ignored"
+ msgstr "%q+D уже декларирован(а) Ñ Ð°Ñ‚Ñ€Ð¸Ð±ÑƒÑ‚Ð¾Ð¼ dllexport: dllimport игнорируетÑÑ"
+
+-#: tree.c:3963
++#: tree.c:3978
+ #, gcc-internal-format
+ msgid "%q+D redeclared without dllimport attribute after being referenced with dll linkage"
+ msgstr "%q+D повторно декларирован(а) без атрибута dllimport поÑле ÑÑылок Ñ dll привÑзкой"
+
+-#: tree.c:3979
++#: tree.c:3994
+ #, gcc-internal-format
+ msgid "%q+D redeclared without dllimport attribute: previous dllimport ignored"
+ msgstr "%q+D повторно декларирован(а) без атрибута dllimport: предшеÑÑ‚Ð²ÑƒÑŽÑ‰Ð°Ñ Ð´ÐµÐºÐ»Ð°Ñ€Ð°Ñ†Ð¸Ñ Ñ dllimport игнорируетÑÑ"
+
+-#: tree.c:4038 tree.c:4050 config/darwin.c:1458 config/arm/arm.c:3099
+-#: config/arm/arm.c:3127 config/avr/avr.c:4598 config/h8300/h8300.c:5281
+-#: config/h8300/h8300.c:5305 config/i386/i386.c:3056 config/i386/i386.c:22515
++#: tree.c:4053 tree.c:4065 config/darwin.c:1460 config/arm/arm.c:3099
++#: config/arm/arm.c:3127 config/avr/avr.c:4638 config/h8300/h8300.c:5281
++#: config/h8300/h8300.c:5305 config/i386/i386.c:3087 config/i386/i386.c:22599
+ #: config/ia64/ia64.c:586 config/m68hc11/m68hc11.c:1118
+-#: config/rs6000/rs6000.c:19657 config/sh/symbian.c:408
++#: config/rs6000/rs6000.c:19874 config/sh/symbian.c:408
+ #: config/sh/symbian.c:415
+ #, gcc-internal-format
+ msgid "%qs attribute ignored"
+ msgstr "атрибут %qs проигнорирован"
+
+-#: tree.c:4066
++#: tree.c:4081
+ #, gcc-internal-format
+ msgid "inline function %q+D declared as dllimport: attribute ignored"
+ msgstr "inline Ñ„ÑƒÐ½ÐºÑ†Ð¸Ñ %q+D декларирована как dllimport: атрибут игнорируетÑÑ"
+
+-#: tree.c:4074
++#: tree.c:4089
+ #, gcc-internal-format
+ msgid "function %q+D definition is marked dllimport"
+ msgstr "определение функции %q+D помечено dllimport"
+
+-#: tree.c:4082 config/sh/symbian.c:430
++#: tree.c:4097 config/sh/symbian.c:430
+ #, gcc-internal-format
+ msgid "variable %q+D definition is marked dllimport"
+ msgstr "определение переменной %q+D помечено dllimport"
+
+-#: tree.c:4105 config/sh/symbian.c:505
++#: tree.c:4120 config/sh/symbian.c:505
+ #, gcc-internal-format
+ msgid "external linkage required for symbol %q+D because of %qs attribute"
+ msgstr "Ñимвол %q+D должен быть внешним, поÑкольку задан атрибут %qs"
+
+-#: tree.c:4119
++#: tree.c:4134
+ #, gcc-internal-format
+ msgid "%qs implies default visibility, but %qD has already been declared with a different visibility"
+ msgstr ""
+
+-#: tree.c:5632
++#: tree.c:5648
+ #, gcc-internal-format
+ msgid "arrays of functions are not meaningful"
+ msgstr "маÑÑивы функций не имеют оÑмыÑленной интерпретации"
+
+-#: tree.c:5785
++#: tree.c:5801
+ #, gcc-internal-format
+ msgid "function return type cannot be function"
+ msgstr "результат функции не может иметь тип функции"
+
+-#: tree.c:6802 tree.c:6887 tree.c:6948
++#: tree.c:6818 tree.c:6903 tree.c:6964
+ #, gcc-internal-format
+ msgid "tree check: %s, have %s in %s, at %s:%d"
+ msgstr "дерево: %s, имеетÑÑ %s в %s, на %s:%d"
+
+-#: tree.c:6839
++#: tree.c:6855
+ #, gcc-internal-format
+ msgid "tree check: expected none of %s, have %s in %s, at %s:%d"
+ msgstr "дерево: не ожидалоÑÑŒ ничего из %s, обнаружено %s в %s, на %s:%d"
+
+-#: tree.c:6852
++#: tree.c:6868
+ #, gcc-internal-format
+ msgid "tree check: expected class %qs, have %qs (%s) in %s, at %s:%d"
+ msgstr "дерево: ожидалÑÑ ÐºÐ»Ð°ÑÑ %qs, обнаружен %qs (%s) в %s, на %s:%d"
+
+-#: tree.c:6901
++#: tree.c:6917
+ #, fuzzy, gcc-internal-format
+ msgid "tree check: did not expect class %qs, have %qs (%s) in %s, at %s:%d"
+ msgstr "дерево: ожидалÑÑ ÐºÐ»Ð°ÑÑ %qs, обнаружен %qs (%s) в %s, на %s:%d"
+
+-#: tree.c:6914
++#: tree.c:6930
+ #, fuzzy, gcc-internal-format
+ msgid "tree check: expected omp_clause %s, have %s in %s, at %s:%d"
+ msgstr "дерево: не ожидалоÑÑŒ ничего из %s, обнаружено %s в %s, на %s:%d"
+
+-#: tree.c:6974
++#: tree.c:6990
+ #, fuzzy, gcc-internal-format
+ msgid "tree check: expected tree that contains %qs structure, have %qs in %s, at %s:%d"
+ msgstr "дерево: ожидалоÑÑŒ дерево, Ñодержащее Ñтруктуру %qs, обнаружено %qs в %s, на %s:%d"
+
+-#: tree.c:6988
++#: tree.c:7004
+ #, gcc-internal-format
+ msgid "tree check: accessed elt %d of tree_vec with %d elts in %s, at %s:%d"
+ msgstr "дерево: доÑтуп к Ñлементу %d вектора tree_vec Ñ %d Ñлементами в %s, на %s:%d"
+
+-#: tree.c:7000
++#: tree.c:7016
+ #, gcc-internal-format
+ msgid "tree check: accessed elt %d of phi_node with %d elts in %s, at %s:%d"
+ msgstr "дерево: доÑтуп к Ñлементу %d узла phi_node Ñ %d Ñлементами в %s, на %s:%d"
+
+-#: tree.c:7013
++#: tree.c:7029
+ #, gcc-internal-format
+ msgid "tree check: accessed operand %d of %s with %d operands in %s, at %s:%d"
+ msgstr "дерево: доÑтуп к операнду %d функции %s Ñ %d операндами в %s, в %s:%d"
+
+-#: tree.c:7026
++#: tree.c:7042
+ #, fuzzy, gcc-internal-format
+ msgid "tree check: accessed operand %d of omp_clause %s with %d operands in %s, at %s:%d"
+ msgstr "дерево: доÑтуп к операнду %d функции %s Ñ %d операндами в %s, в %s:%d"
+@@ -24415,17 +24418,17 @@
+ msgid "Unknown value %qs of -mmacosx-version-min"
+ msgstr "Ðекорректное значение %qs ключа -mmacosx-version-min"
+
+-#: config/darwin.c:1431
++#: config/darwin.c:1433
+ #, gcc-internal-format
+ msgid "%<%s%> 2.95 vtable-compatibility attribute applies only when compiling a kext"
+ msgstr ""
+
+-#: config/darwin.c:1438
++#: config/darwin.c:1440
+ #, gcc-internal-format
+ msgid "%<%s%> 2.95 vtable-compatibility attribute applies only to C++ classes"
+ msgstr ""
+
+-#: config/darwin.c:1563
++#: config/darwin.c:1565
+ #, fuzzy, gcc-internal-format
+ msgid "internal and protected visibility attributes not supported in this configuration; ignored"
+ msgstr "атрибуты видимоÑти internal и protected не поддерживаютÑÑ Ð´Ð»Ñ Ñтой платформы"
+@@ -24521,7 +24524,7 @@
+ msgid "profiler support for WindISS"
+ msgstr "поддержка профилирование Ð´Ð»Ñ WindISS"
+
+-#: config/alpha/alpha.c:232 config/rs6000/rs6000.c:1990
++#: config/alpha/alpha.c:232 config/rs6000/rs6000.c:2020
+ #, gcc-internal-format
+ msgid "bad value %qs for -mtls-size switch"
+ msgstr "некорректное значение %qs Ð´Ð»Ñ ÐºÐ»ÑŽÑ‡Ð° -mtls-size"
+@@ -24596,18 +24599,18 @@
+ msgid "bad value %qs for -mmemory-latency"
+ msgstr "некорректное значение %qs Ð´Ð»Ñ -mmemory-latency"
+
+-#: config/alpha/alpha.c:6514 config/alpha/alpha.c:6517 config/s390/s390.c:8279
+-#: config/s390/s390.c:8282
++#: config/alpha/alpha.c:6522 config/alpha/alpha.c:6525 config/s390/s390.c:8335
++#: config/s390/s390.c:8338
+ #, gcc-internal-format
+ msgid "bad builtin fcode"
+ msgstr "некорректный вÑтроенный fcode"
+
+-#: config/arc/arc.c:388
++#: config/arc/arc.c:392
+ #, gcc-internal-format
+ msgid "argument of %qs attribute is not a string constant"
+ msgstr "аргумент атрибута %qs не ÑвлÑетÑÑ Ñтроковой конÑтантой"
+
+-#: config/arc/arc.c:396
++#: config/arc/arc.c:400
+ #, gcc-internal-format
+ msgid "argument of %qs attribute is not \"ilink1\" or \"ilink2\""
+ msgstr "аргумент атрибута %qs должен быть \"ilink1\" или \"ilink2\""
+@@ -24617,7 +24620,7 @@
+ msgid "switch -mcpu=%s conflicts with -march= switch"
+ msgstr "ключ -mcpu=%s неÑовмеÑтим Ñ ÐºÐ»ÑŽÑ‡Ð¾Ð¼ -march="
+
+-#: config/arm/arm.c:1060 config/rs6000/rs6000.c:1504 config/sparc/sparc.c:761
++#: config/arm/arm.c:1060 config/rs6000/rs6000.c:1522 config/sparc/sparc.c:764
+ #, gcc-internal-format
+ msgid "bad value (%s) for %s switch"
+ msgstr "некорректное значение (%s) ключа %s"
+@@ -24757,14 +24760,13 @@
+ msgid "unable to use '%s' for PIC register"
+ msgstr "иÑпользование '%s' как PIC-региÑтра невозможно"
+
+-#: config/arm/arm.c:3067 config/arm/arm.c:3085 config/avr/avr.c:4618
+-#: config/avr/avr.c:4660 config/bfin/bfin.c:4778 config/c4x/c4x.c:4071
+-#: config/h8300/h8300.c:5257 config/i386/i386.c:3009
+-#: config/m68hc11/m68hc11.c:1155 config/m68k/m68k.c:741
+-#: config/mcore/mcore.c:3032 config/mips/mips.c:1151 config/mips/mips.c:1153
+-#: config/mt/mt.c:1275 config/rs6000/rs6000.c:19583 config/sh/sh.c:7984
+-#: config/sh/sh.c:8005 config/sh/sh.c:8028 config/stormy16/stormy16.c:2252
+-#: config/v850/v850.c:2048
++#: config/arm/arm.c:3067 config/arm/arm.c:3085 config/avr/avr.c:4658
++#: config/avr/avr.c:4700 config/bfin/bfin.c:4881 config/h8300/h8300.c:5257
++#: config/i386/i386.c:3040 config/m68hc11/m68hc11.c:1155
++#: config/m68k/m68k.c:741 config/mcore/mcore.c:3032 config/mips/mips.c:1151
++#: config/mips/mips.c:1153 config/mt/mt.c:1275 config/rs6000/rs6000.c:19800
++#: config/sh/sh.c:7987 config/sh/sh.c:8008 config/sh/sh.c:8031
++#: config/stormy16/stormy16.c:2225 config/v850/v850.c:2048
+ #, gcc-internal-format
+ msgid "%qs attribute only applies to functions"
+ msgstr "атрибут %qs допуÑтим только Ð´Ð»Ñ Ñ„ÑƒÐ½ÐºÑ†Ð¸Ð¹"
+@@ -24786,7 +24788,7 @@
+ msgstr "Ñелектор должен быть непоÑредÑтвенным значением"
+
+ #. @@@ better error message
+-#: config/arm/arm.c:15839 config/i386/i386.c:20651 config/i386/i386.c:20685
++#: config/arm/arm.c:15839 config/i386/i386.c:20735 config/i386/i386.c:20769
+ #, gcc-internal-format
+ msgid "mask must be an immediate"
+ msgstr "маÑка должна быть непоÑредÑтвенным значением"
+@@ -24811,222 +24813,187 @@
+ msgid "static variable %q+D is marked dllimport"
+ msgstr "ÑтатичеÑÐºÐ°Ñ Ð¿ÐµÑ€ÐµÐ¼ÐµÐ½Ð½Ð°Ñ %q+D помечена как dllimport"
+
+-#: config/avr/avr.c:690
++#: config/avr/avr.c:718
+ #, gcc-internal-format
+ msgid "large frame pointer change (%d) with -mtiny-stack"
+ msgstr "большое изменение ÑƒÐºÐ°Ð·Ð°Ñ‚ÐµÐ»Ñ ÐºÐ°Ð´Ñ€Ð° (%d) при -mtiny-stack"
+
+-#: config/avr/avr.c:4591
++#: config/avr/avr.c:4631
+ #, gcc-internal-format
+ msgid "only initialized variables can be placed into program memory area"
+ msgstr "Только инициализированные переменные могут размещатьÑÑ Ð² облаÑти программной памÑти"
+
+-#: config/avr/avr.c:4635
++#: config/avr/avr.c:4675
+ #, gcc-internal-format
+ msgid "%qs appears to be a misspelled interrupt handler"
+ msgstr "%qs возможно некорректно называнный обработчик прерываниÑ"
+
+-#: config/avr/avr.c:4643
++#: config/avr/avr.c:4683
+ #, gcc-internal-format
+ msgid "%qs appears to be a misspelled signal handler"
+ msgstr "%qs возможно некорректно называнный обработчик Ñигнала"
+
+-#: config/avr/avr.c:4751
++#: config/avr/avr.c:4791
+ #, gcc-internal-format
+ msgid "only uninitialized variables can be placed in the .noinit section"
+ msgstr "Только неинициализированные переменные могут размещатьÑÑ Ð² Ñекции .noinit"
+
+-#: config/avr/avr.c:4765
++#: config/avr/avr.c:4805
+ #, gcc-internal-format
+ msgid "MCU %qs supported for assembler only"
+ msgstr "MCU %qs поддерживаетÑÑ Ñ‚Ð¾Ð»ÑŒÐºÐ¾ Ð´Ð»Ñ Ð°ÑÑемблера"
+
+-#: config/avr/avr.h:692
++#: config/avr/avr.h:731
+ #, gcc-internal-format
+ msgid "trampolines not supported"
+ msgstr "\"трамплины\" не поддерживаютÑÑ"
+
+-#: config/bfin/bfin.c:2259 config/m68k/m68k.c:488
++#: config/bfin/bfin.c:2352 config/m68k/m68k.c:488
+ #, gcc-internal-format
+ msgid "-mshared-library-id=%s is not between 0 and %d"
+ msgstr "-mshared-library-id=%s не между 0 и %d"
+
+-#: config/bfin/bfin.c:2279
++#: config/bfin/bfin.c:2372
+ #, fuzzy, gcc-internal-format
+ msgid "-mcpu=%s is not valid"
+ msgstr "параметр '%s' инициализирован"
+
+-#: config/bfin/bfin.c:2315
++#: config/bfin/bfin.c:2410
+ #, gcc-internal-format
+ msgid "-mcpu=%s has invalid silicon revision"
+ msgstr ""
+
+-#: config/bfin/bfin.c:2332
++#: config/bfin/bfin.c:2427
+ #, fuzzy, gcc-internal-format
+ msgid "bf561 support is incomplete yet."
+ msgstr "поле %qs имеет неполный тип"
+
+-#: config/bfin/bfin.c:2372
++#: config/bfin/bfin.c:2470
+ #, gcc-internal-format
+ msgid "-mshared-library-id= specified without -mid-shared-library"
+ msgstr "-mshared-library-id= без -mid-shared-library"
+
+-#: config/bfin/bfin.c:2378
++#: config/bfin/bfin.c:2473
+ #, fuzzy, gcc-internal-format
+ msgid "Can't use multiple stack checking methods together."
+ msgstr "Генерировать код Ð´Ð»Ñ Ð¿Ñ€Ð¾Ð²ÐµÑ€ÐºÐ¸ Ñтека"
+
+-#: config/bfin/bfin.c:2381
++#: config/bfin/bfin.c:2476
+ #, fuzzy, gcc-internal-format
+ msgid "ID shared libraries and FD-PIC mode can't be used together."
+ msgstr "-mips16 и -mdsp неÑовмеÑтимы"
+
+-#: config/bfin/bfin.c:2386 config/m68k/m68k.c:582
++#: config/bfin/bfin.c:2481 config/m68k/m68k.c:582
+ #, gcc-internal-format
+ msgid "cannot specify both -msep-data and -mid-shared-library"
+ msgstr "ключи -msep-data и -mid-shared-library неÑовмеÑтимы"
+
+-#: config/bfin/bfin.c:4783
++#: config/bfin/bfin.c:4886
+ #, gcc-internal-format
+ msgid "multiple function type attributes specified"
+ msgstr "задано неÑколько атрибутов типа функции"
+
+-#: config/bfin/bfin.c:4839 config/bfin/bfin.c:4868 config/spu/spu.c:2976
++#: config/bfin/bfin.c:4942 config/bfin/bfin.c:4971 config/spu/spu.c:2965
+ #, gcc-internal-format
+ msgid "`%s' attribute only applies to functions"
+ msgstr "атрибут `%s' допуÑтим только Ð´Ð»Ñ Ñ„ÑƒÐ½ÐºÑ†Ð¸Ð¹"
+
+-#: config/bfin/bfin.c:4850
++#: config/bfin/bfin.c:4953
+ #, gcc-internal-format
+ msgid "can't apply both longcall and shortcall attributes to the same function"
+ msgstr "недопуÑтимо применÑÑ‚ÑŒ к одной функции атрибуты longcall и shortcall"
+
+-#: config/bfin/bfin.c:4900
++#: config/bfin/bfin.c:5003
+ #, fuzzy, gcc-internal-format
+ msgid "`%s' attribute only applies to variables"
+ msgstr "атрибут %qs допуÑтим только Ð´Ð»Ñ Ð¿ÐµÑ€ÐµÐ¼ÐµÐ½Ð½Ñ‹Ñ…"
+
+-#: config/bfin/bfin.c:4907
++#: config/bfin/bfin.c:5010
+ #, fuzzy, gcc-internal-format
+ msgid "`%s' attribute cannot be specified for local variables"
+ msgstr "%Jатрибут section недопуÑтим Ð´Ð»Ñ Ð»Ð¾ÐºÐ°Ð»ÑŒÐ½Ñ‹Ñ… переменных"
+
+-#: config/c4x/c4x-c.c:68
+-#, gcc-internal-format
+-msgid "missing '(' after '#pragma %s' - ignored"
+-msgstr "отÑутÑтвует '(' поÑле '#pragma %s' - директива игнорируетÑÑ"
+-
+-#: config/c4x/c4x-c.c:71
+-#, gcc-internal-format
+-msgid "missing function name in '#pragma %s' - ignored"
+-msgstr "отÑутÑтвует Ð¸Ð¼Ñ Ñ„ÑƒÐ½ÐºÑ†Ð¸Ð¸ в '#pragma %s' - директива игнорируетÑÑ"
+-
+-#: config/c4x/c4x-c.c:76
+-#, gcc-internal-format
+-msgid "malformed '#pragma %s' - ignored"
+-msgstr "некорректный ÑинтакÑÐ¸Ñ '#pragma %s' - директива игнорируетÑÑ"
+-
+-#: config/c4x/c4x-c.c:78
+-#, gcc-internal-format
+-msgid "missing section name in '#pragma %s' - ignored"
+-msgstr "отÑутÑтвует Ð¸Ð¼Ñ Ñекции в '#pragma %s' - директива игнорируетÑÑ"
+-
+-#: config/c4x/c4x-c.c:83
+-#, gcc-internal-format
+-msgid "missing ')' for '#pragma %s' - ignored"
+-msgstr "отÑутÑтвует ')' в '#pragma %s' - директива игнорируетÑÑ"
+-
+-#: config/c4x/c4x-c.c:86
+-#, gcc-internal-format
+-msgid "junk at end of '#pragma %s'"
+-msgstr "муÑор в конце '#pragma %s'"
+-
+-#: config/c4x/c4x.c:859
+-#, gcc-internal-format
+-msgid "ISR %s requires %d words of local vars, max is 32767"
+-msgstr "ISR %s требует %d Ñлов локальных переменных, а макÑимум = 32767"
+-
+ #. This function is for retrieving a part of an instruction name for
+ #. an operator, for immediate output. If that ever happens for
+ #. MULT, we need to apply TARGET_MUL_BUG in the caller. Make sure
+ #. we notice.
+-#: config/cris/cris.c:434
++#: config/cris/cris.c:447
+ #, gcc-internal-format
+ msgid "MULT case in cris_op_str"
+ msgstr ""
+
+-#: config/cris/cris.c:811
++#: config/cris/cris.c:837
+ #, fuzzy, gcc-internal-format
+ msgid "invalid use of ':' modifier"
+ msgstr "некорректный операнд Ð´Ð»Ñ Ð¼Ð¾Ð´Ð¸Ñ„Ð¸ÐºÐ°Ñ‚Ð¾Ñ€Ð° 'b'"
+
+-#: config/cris/cris.c:983
++#: config/cris/cris.c:1024
+ #, gcc-internal-format
+ msgid "internal error: bad register: %d"
+ msgstr "внутреннÑÑ Ð¾ÑˆÐ¸Ð±ÐºÐ°: некорректный региÑÑ‚Ñ€: %d"
+
+-#: config/cris/cris.c:1524
++#: config/cris/cris.c:1586
+ #, gcc-internal-format
+ msgid "internal error: sideeffect-insn affecting main effect"
+ msgstr "внутреннÑÑ Ð¾ÑˆÐ¸Ð±ÐºÐ°: инÑÑ‚Ñ€ÑƒÐºÑ†Ð¸Ñ Ñ Ð¿Ð¾Ð±Ð¾Ñ‡Ð½Ñ‹Ð¼ Ñффектом, влиÑющим на оÑновной Ñффект"
+
+-#: config/cris/cris.c:1548
++#: config/cris/cris.c:1683
+ #, gcc-internal-format
+ msgid "unknown cc_attr value"
+ msgstr "неизвеÑтное значение cc_attr"
+
+ #. If we get here, the caller got its initial tests wrong.
+-#: config/cris/cris.c:1901
++#: config/cris/cris.c:2040
+ #, gcc-internal-format
+ msgid "internal error: cris_side_effect_mode_ok with bad operands"
+ msgstr "внутреннÑÑ Ð¾ÑˆÐ¸Ð±ÐºÐ°: некорректные операнды cris_side_effect_mode_ok"
+
+-#: config/cris/cris.c:2104
++#: config/cris/cris.c:2332
+ #, gcc-internal-format
+ msgid "-max-stackframe=%d is not usable, not between 0 and %d"
+ msgstr "значение ключа -max-stackframe=%d вне диапазона 0 - %d"
+
+-#: config/cris/cris.c:2132
++#: config/cris/cris.c:2360
+ #, gcc-internal-format
+ msgid "unknown CRIS version specification in -march= or -mcpu= : %s"
+ msgstr "Ð½ÐµÐºÐ¾Ñ€Ñ€ÐµÐºÑ‚Ð½Ð°Ñ ÑÐ¿ÐµÑ†Ð¸Ñ„Ð¸ÐºÐ°Ñ†Ð¸Ñ Ð²ÐµÑ€Ñии CRIS в -march= или -mcpu= : %s"
+
+-#: config/cris/cris.c:2168
++#: config/cris/cris.c:2396
+ #, gcc-internal-format
+ msgid "unknown CRIS cpu version specification in -mtune= : %s"
+ msgstr "Ð½ÐµÐºÐ¾Ñ€Ñ€ÐµÐºÑ‚Ð½Ð°Ñ ÑÐ¿ÐµÑ†Ð¸Ñ„Ð¸ÐºÐ°Ñ†Ð¸Ñ Ð²ÐµÑ€Ñии CRIS в -mtune= : %s"
+
+-#: config/cris/cris.c:2186
++#: config/cris/cris.c:2417
+ #, gcc-internal-format
+ msgid "-fPIC and -fpic are not supported in this configuration"
+ msgstr "ключи -fPIC и -fpic в данной конфигурации не поддерживаютÑÑ"
+
+-#: config/cris/cris.c:2201
++#: config/cris/cris.c:2432
+ #, gcc-internal-format
+ msgid "that particular -g option is invalid with -maout and -melinux"
+ msgstr "заданный ключ -g неÑовмеÑтим Ñ -maout и -melinux"
+
+-#: config/cris/cris.c:2414
++#: config/cris/cris.c:2658
+ #, gcc-internal-format
+ msgid "Unknown src"
+ msgstr "ÐеизвеÑтный иÑточник"
+
+-#: config/cris/cris.c:2475
++#: config/cris/cris.c:2719
+ #, gcc-internal-format
+ msgid "Unknown dest"
+ msgstr "ÐеизвеÑтное назначение"
+
+-#: config/cris/cris.c:2760
++#: config/cris/cris.c:3004
+ #, gcc-internal-format
+ msgid "stackframe too big: %d bytes"
+ msgstr "кадр Ñтека Ñлишком велик: %d байт"
+
+-#: config/cris/cris.c:3213 config/cris/cris.c:3240
++#: config/cris/cris.c:3498 config/cris/cris.c:3526
+ #, gcc-internal-format
+ msgid "expand_binop failed in movsi got"
+ msgstr "в movsi не удалоÑÑŒ выполнить expand_binop"
+
+-#: config/cris/cris.c:3321
++#: config/cris/cris.c:3607
+ #, gcc-internal-format
+ msgid "emitting PIC operand, but PIC register isn't set up"
+ msgstr "Ð³ÐµÐ½ÐµÑ€Ð°Ñ†Ð¸Ñ PIC-операнда при неуÑтановленном PIC-региÑтре"
+@@ -25080,7 +25047,7 @@
+ #. See cris.c for TARGET_ASM_FUNCTION_PROLOGUE and
+ #. TARGET_ASM_FUNCTION_EPILOGUE.
+ #. Node: Profiling
+-#: config/cris/cris.h:868
++#: config/cris/cris.h:948
+ #, gcc-internal-format
+ msgid "no FUNCTION_PROFILER for CRIS"
+ msgstr "Отменить FUNCTION_PROFILER Ð´Ð»Ñ CRIS"
+@@ -25095,62 +25062,62 @@
+ msgid "Trampoline support for CRX"
+ msgstr "Поддержка трамплинов Ð´Ð»Ñ CRX"
+
+-#: config/frv/frv.c:8622
++#: config/frv/frv.c:8626
+ #, gcc-internal-format
+ msgid "accumulator is not a constant integer"
+ msgstr "номер Ñумматора не ÑвлÑетÑÑ Ñ†ÐµÐ»Ð¾Ð¹ конÑтантой"
+
+-#: config/frv/frv.c:8627
++#: config/frv/frv.c:8631
+ #, gcc-internal-format
+ msgid "accumulator number is out of bounds"
+ msgstr "номер Ñумматора вне диапазона"
+
+-#: config/frv/frv.c:8638
++#: config/frv/frv.c:8642
+ #, gcc-internal-format
+ msgid "inappropriate accumulator for %qs"
+ msgstr "неподходÑщий Ñумматор Ð´Ð»Ñ %qs"
+
+-#: config/frv/frv.c:8715
++#: config/frv/frv.c:8719
+ #, fuzzy, gcc-internal-format
+ msgid "invalid IACC argument"
+ msgstr "некорректный тип аргумента"
+
+-#: config/frv/frv.c:8738
++#: config/frv/frv.c:8742
+ #, gcc-internal-format
+ msgid "%qs expects a constant argument"
+ msgstr "Ð´Ð»Ñ %qs требуетÑÑ ÐºÐ¾Ð½Ñтантный аргумент"
+
+-#: config/frv/frv.c:8743
++#: config/frv/frv.c:8747
+ #, gcc-internal-format
+ msgid "constant argument out of range for %qs"
+ msgstr "конÑтантный аргумент Ð´Ð»Ñ %qs вне диапазона"
+
+-#: config/frv/frv.c:9224
++#: config/frv/frv.c:9228
+ #, gcc-internal-format
+ msgid "media functions are not available unless -mmedia is used"
+ msgstr "media-функции не доÑтупны без ключа -mmedia"
+
+-#: config/frv/frv.c:9236
++#: config/frv/frv.c:9240
+ #, gcc-internal-format
+ msgid "this media function is only available on the fr500"
+ msgstr "Ñта media-Ñ„ÑƒÐ½ÐºÑ†Ð¸Ñ Ð¸Ð¼ÐµÐµÑ‚ÑÑ Ñ‚Ð¾Ð»ÑŒÐºÐ¾ в fr500"
+
+-#: config/frv/frv.c:9264
++#: config/frv/frv.c:9268
+ #, fuzzy, gcc-internal-format
+ msgid "this media function is only available on the fr400 and fr550"
+ msgstr "Ñта media-Ñ„ÑƒÐ½ÐºÑ†Ð¸Ñ Ð¸Ð¼ÐµÐµÑ‚ÑÑ Ñ‚Ð¾Ð»ÑŒÐºÐ¾ в fr400"
+
+-#: config/frv/frv.c:9283
++#: config/frv/frv.c:9287
+ #, fuzzy, gcc-internal-format
+ msgid "this builtin function is only available on the fr405 and fr450"
+ msgstr "Ñта media-Ñ„ÑƒÐ½ÐºÑ†Ð¸Ñ Ð¸Ð¼ÐµÐµÑ‚ÑÑ Ñ‚Ð¾Ð»ÑŒÐºÐ¾ в fr400"
+
+-#: config/frv/frv.c:9292
++#: config/frv/frv.c:9296
+ #, fuzzy, gcc-internal-format
+ msgid "this builtin function is only available on the fr500 and fr550"
+ msgstr "Ñта media-Ñ„ÑƒÐ½ÐºÑ†Ð¸Ñ Ð¸Ð¼ÐµÐµÑ‚ÑÑ Ñ‚Ð¾Ð»ÑŒÐºÐ¾ в fr500"
+
+-#: config/frv/frv.c:9304
++#: config/frv/frv.c:9308
+ #, fuzzy, gcc-internal-format
+ msgid "this builtin function is only available on the fr450"
+ msgstr "Ñта media-Ñ„ÑƒÐ½ÐºÑ†Ð¸Ñ Ð¸Ð¼ÐµÐµÑ‚ÑÑ Ñ‚Ð¾Ð»ÑŒÐºÐ¾ в fr400"
+@@ -25175,311 +25142,316 @@
+ msgid "can't set position in PCH file: %m"
+ msgstr "ошибка Ð¿Ð¾Ð·Ð¸Ñ†Ð¸Ð¾Ð½Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ Ð² PCH файле: %m"
+
+-#: config/i386/i386.c:2133 config/i386/i386.c:2333
++#: config/i386/i386.c:2158 config/i386/i386.c:2358
+ #, gcc-internal-format
+ msgid "bad value (%s) for -mtune= switch"
+ msgstr "некорректное значение (%s) Ð´Ð»Ñ ÐºÐ»ÑŽÑ‡Ð° -mtune="
+
+-#: config/i386/i386.c:2174
++#: config/i386/i386.c:2199
+ #, fuzzy, gcc-internal-format
+ msgid "bad value (%s) for -mstringop-strategy= switch"
+ msgstr "некорректное значение (%s) Ð´Ð»Ñ ÐºÐ»ÑŽÑ‡Ð° -mtune="
+
+-#: config/i386/i386.c:2177
++#: config/i386/i386.c:2202
+ #, gcc-internal-format
+ msgid "-mtune=x86-64 is deprecated. Use -mtune=k8 or -mtune=generic instead as appropriate."
+ msgstr ""
+
+-#: config/i386/i386.c:2186
++#: config/i386/i386.c:2211
+ #, fuzzy, gcc-internal-format
+ msgid "generic CPU can be used only for -mtune= switch"
+ msgstr "некорректное значение (%s) Ð´Ð»Ñ ÐºÐ»ÑŽÑ‡Ð° -mtune="
+
+-#: config/i386/i386.c:2188 config/i386/i386.c:2297 config/mt/mt.c:804
++#: config/i386/i386.c:2213 config/i386/i386.c:2322 config/mt/mt.c:804
+ #, gcc-internal-format
+ msgid "bad value (%s) for -march= switch"
+ msgstr "некорректное значение (%s) Ð´Ð»Ñ ÐºÐ»ÑŽÑ‡Ð° -march"
+
+-#: config/i386/i386.c:2199
++#: config/i386/i386.c:2224
+ #, fuzzy, gcc-internal-format
+ msgid "code model %s does not support PIC mode"
+ msgstr "модель ÐºÐ¾Ð´Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ %s не поддерживаетÑÑ Ð² режиме PIC"
+
+-#: config/i386/i386.c:2205 config/sparc/sparc.c:725
++#: config/i386/i386.c:2230 config/sparc/sparc.c:728
+ #, gcc-internal-format
+ msgid "bad value (%s) for -mcmodel= switch"
+ msgstr "некорректное значение (%s) Ð´Ð»Ñ ÐºÐ»ÑŽÑ‡Ð° -mcmodel"
+
+-#: config/i386/i386.c:2228
++#: config/i386/i386.c:2253
+ #, gcc-internal-format
+ msgid "bad value (%s) for -masm= switch"
+ msgstr "некорректное значение (%s) Ð´Ð»Ñ ÐºÐ»ÑŽÑ‡Ð° -masm"
+
+-#: config/i386/i386.c:2231
++#: config/i386/i386.c:2256
+ #, gcc-internal-format
+ msgid "code model %qs not supported in the %s bit mode"
+ msgstr "модель ÐºÐ¾Ð´Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ %s не поддерживаетÑÑ Ð² %s-битном режиме"
+
+-#: config/i386/i386.c:2234
++#: config/i386/i386.c:2259
+ #, gcc-internal-format
+ msgid "%i-bit mode not compiled in"
+ msgstr "%i-битный режим не компилируетÑÑ Ð²"
+
+-#: config/i386/i386.c:2245 config/i386/i386.c:2319
++#: config/i386/i386.c:2270 config/i386/i386.c:2344
+ #, gcc-internal-format
+ msgid "CPU you selected does not support x86-64 instruction set"
+ msgstr "заданный процеÑÑор не поддерживает набор команд x86-64"
+
+-#: config/i386/i386.c:2351
++#: config/i386/i386.c:2376
+ #, gcc-internal-format
+ msgid "-mregparm is ignored in 64-bit mode"
+ msgstr ""
+
+-#: config/i386/i386.c:2354
++#: config/i386/i386.c:2379
+ #, gcc-internal-format
+ msgid "-mregparm=%d is not between 0 and %d"
+ msgstr "-mregparm=%d вне диапазона 0 - %d"
+
+-#: config/i386/i386.c:2366
++#: config/i386/i386.c:2391
+ #, gcc-internal-format
+ msgid "-malign-loops is obsolete, use -falign-loops"
+ msgstr "-malign-loops - уÑтаревший ключ, иÑпользуйте -falign-loops"
+
+-#: config/i386/i386.c:2371 config/i386/i386.c:2384 config/i386/i386.c:2397
++#: config/i386/i386.c:2396 config/i386/i386.c:2409 config/i386/i386.c:2422
+ #, gcc-internal-format
+ msgid "-malign-loops=%d is not between 0 and %d"
+ msgstr "-malign-loops=%d вне диапазона 0 - %d"
+
+-#: config/i386/i386.c:2379
++#: config/i386/i386.c:2404
+ #, gcc-internal-format
+ msgid "-malign-jumps is obsolete, use -falign-jumps"
+ msgstr "-malign-jumps - уÑтаревший ключ, иÑпользуйте -falign-jumps"
+
+-#: config/i386/i386.c:2392
++#: config/i386/i386.c:2417
+ #, gcc-internal-format
+ msgid "-malign-functions is obsolete, use -falign-functions"
+ msgstr "-malign-functions - уÑтаревший ключ, иÑпользуйте -falign-functions"
+
+-#: config/i386/i386.c:2425
++#: config/i386/i386.c:2450
+ #, gcc-internal-format
+ msgid "-mbranch-cost=%d is not between 0 and 5"
+ msgstr "-mbranch-cost=%d вне диапазона 0 - 5"
+
+-#: config/i386/i386.c:2433
++#: config/i386/i386.c:2458
+ #, gcc-internal-format
+ msgid "-mlarge-data-threshold=%d is negative"
+ msgstr "-mlarge-data-threshold=%d - отрицательное значение"
+
+-#: config/i386/i386.c:2447
++#: config/i386/i386.c:2472
+ #, gcc-internal-format
+ msgid "bad value (%s) for -mtls-dialect= switch"
+ msgstr "некорректное значение (%s) Ð´Ð»Ñ ÐºÐ»ÑŽÑ‡Ð° -mtls-dialect"
+
+-#: config/i386/i386.c:2455
++#: config/i386/i386.c:2480
+ #, gcc-internal-format
+ msgid "pc%d is not valid precision setting (32, 64 or 80)"
+ msgstr ""
+
+-#: config/i386/i386.c:2471
++#: config/i386/i386.c:2496
+ #, fuzzy, gcc-internal-format
+ msgid "-mrtd is ignored in 64bit mode"
+ msgstr "ÑÐ¾Ð³Ð»Ð°ÑˆÐµÐ½Ð¸Ñ Ð¾ вызовах -mrtd не поддерживаютÑÑ Ð² 64-битном режиме"
+
+-#: config/i386/i386.c:2560
++#: config/i386/i386.c:2585
+ #, gcc-internal-format
+ msgid "-mpreferred-stack-boundary=%d is not between %d and 12"
+ msgstr "-mpreferred-stack-boundary=%d вне диапазона %d - 12"
+
+-#: config/i386/i386.c:2569
++#: config/i386/i386.c:2594
+ #, gcc-internal-format
+ msgid "-msseregparm used without SSE enabled"
+ msgstr "ключ -msseregparm иÑпользован без SSE"
+
+-#: config/i386/i386.c:2580 config/i386/i386.c:2591
++#: config/i386/i386.c:2605 config/i386/i386.c:2616
+ #, gcc-internal-format
+ msgid "SSE instruction set disabled, using 387 arithmetics"
+ msgstr "набор команд SSE отменен, иÑпользуетÑÑ Ð°Ñ€Ð¸Ñ„Ð¼ÐµÑ‚Ð¸ÐºÐ° 387"
+
+-#: config/i386/i386.c:2596
++#: config/i386/i386.c:2621
+ #, gcc-internal-format
+ msgid "387 instruction set disabled, using SSE arithmetics"
+ msgstr "набор команд 387 отменен, иÑпользуетÑÑ Ð°Ñ€Ð¸Ñ„Ð¼ÐµÑ‚Ð¸ÐºÐ° SSE"
+
+-#: config/i386/i386.c:2603
++#: config/i386/i386.c:2628
+ #, gcc-internal-format
+ msgid "bad value (%s) for -mfpmath= switch"
+ msgstr "некорректное значение (%s) Ð´Ð»Ñ ÐºÐ»ÑŽÑ‡Ð° -mfpmath"
+
+-#: config/i386/i386.c:2616
++#: config/i386/i386.c:2641
+ #, gcc-internal-format
+ msgid "unknown vectorization library ABI type (%s) for -mveclibabi= switch"
+ msgstr ""
+
+-#: config/i386/i386.c:2635
++#: config/i386/i386.c:2660
+ #, gcc-internal-format
+ msgid "unwind tables currently require either a frame pointer or -maccumulate-outgoing-args for correctness"
+ msgstr "Ð´Ð»Ñ ÐºÐ¾Ñ€Ñ€ÐµÐºÑ‚Ð½Ð¾Ð¹ поддержки таблиц раÑкрутки Ñтека требуетÑÑ Ð»Ð¸Ð±Ð¾ указатель кадра, либо -maccumulate-outgoing-args"
+
+-#: config/i386/i386.c:3022 config/i386/i386.c:3075
++#: config/i386/i386.c:3053 config/i386/i386.c:3106
+ #, gcc-internal-format
+ msgid "fastcall and regparm attributes are not compatible"
+ msgstr "атрибуты fastcall и regparm неÑовмеÑтимы"
+
+-#: config/i386/i386.c:3029
++#: config/i386/i386.c:3060
+ #, gcc-internal-format
+ msgid "%qs attribute requires an integer constant argument"
+ msgstr "аргументом атрибута %qs должна быть Ñ†ÐµÐ»Ð°Ñ ÐºÐ¾Ð½Ñтанта"
+
+-#: config/i386/i386.c:3035
++#: config/i386/i386.c:3066
+ #, gcc-internal-format
+ msgid "argument to %qs attribute larger than %d"
+ msgstr "аргумент атрибута %qs больше %d"
+
+-#: config/i386/i386.c:3045
++#: config/i386/i386.c:3076
+ #, gcc-internal-format
+ msgid "%s functions limited to %d register parameters"
+ msgstr ""
+
+-#: config/i386/i386.c:3067 config/i386/i386.c:3102
++#: config/i386/i386.c:3098 config/i386/i386.c:3133
+ #, gcc-internal-format
+ msgid "fastcall and cdecl attributes are not compatible"
+ msgstr "атрибуты fastcall и cdecl неÑовмеÑтимы"
+
+-#: config/i386/i386.c:3071
++#: config/i386/i386.c:3102
+ #, gcc-internal-format
+ msgid "fastcall and stdcall attributes are not compatible"
+ msgstr "атрибуты fastcall и stdcall неÑовмеÑтимы"
+
+-#: config/i386/i386.c:3085 config/i386/i386.c:3098
++#: config/i386/i386.c:3116 config/i386/i386.c:3129
+ #, gcc-internal-format
+ msgid "stdcall and cdecl attributes are not compatible"
+ msgstr "атрибуты stdcall и cdecl неÑовмеÑтимы"
+
+-#: config/i386/i386.c:3089
++#: config/i386/i386.c:3120
+ #, gcc-internal-format
+ msgid "stdcall and fastcall attributes are not compatible"
+ msgstr "атрибуты stdcall и fastcall неÑовмеÑтимы"
+
+-#: config/i386/i386.c:3236
++#: config/i386/i386.c:3271
+ #, gcc-internal-format
+ msgid "Calling %qD with attribute sseregparm without SSE/SSE2 enabled"
+ msgstr "Вызов %qD Ñ Ð°Ñ‚Ñ€Ð¸Ð±ÑƒÑ‚Ð¾Ð¼ sseregparm без Ð·Ð°Ð´Ð°Ð½Ð¸Ñ SSE/SSE2"
+
+-#: config/i386/i386.c:3239
++#: config/i386/i386.c:3274
+ #, gcc-internal-format
+ msgid "Calling %qT with attribute sseregparm without SSE/SSE2 enabled"
+ msgstr "Вызов %qT Ñ Ð°Ñ‚Ñ€Ð¸Ð±ÑƒÑ‚Ð¾Ð¼ sseregparm без Ð·Ð°Ð´Ð°Ð½Ð¸Ñ SSE/SSE2"
+
+-#: config/i386/i386.c:3925
++#: config/i386/i386.c:3971
+ #, gcc-internal-format
+ msgid "SSE register return with SSE disabled"
+ msgstr "возврат результата в SSE региÑтре без Ð·Ð°Ð´Ð°Ð½Ð¸Ñ SSE"
+
+-#: config/i386/i386.c:3931
++#: config/i386/i386.c:3977
+ #, gcc-internal-format
+ msgid "SSE register argument with SSE disabled"
+ msgstr "аргумент - SSE региÑÑ‚Ñ€ без Ð·Ð°Ð´Ð°Ð½Ð¸Ñ SSE"
+
+-#: config/i386/i386.c:3947
++#: config/i386/i386.c:3993
+ #, gcc-internal-format
+ msgid "x87 register return with x87 disabled"
+ msgstr "результат - вектор SSE без Ð²ÐºÐ»ÑŽÑ‡ÐµÐ½Ð¸Ñ SSE изменÑет ABI"
+
+-#: config/i386/i386.c:4265
++#: config/i386/i386.c:4314
+ #, gcc-internal-format
+ msgid "SSE vector argument without SSE enabled changes the ABI"
+ msgstr "аргумент - вектор SSE без Ð²ÐºÐ»ÑŽÑ‡ÐµÐ½Ð¸Ñ SSE изменÑет ABI"
+
+-#: config/i386/i386.c:4283
++#: config/i386/i386.c:4332
+ #, gcc-internal-format
+ msgid "MMX vector argument without MMX enabled changes the ABI"
+ msgstr "аргумент - вектор MMX без Ð²ÐºÐ»ÑŽÑ‡ÐµÐ½Ð¸Ñ MMX изменÑет ABI"
+
+-#: config/i386/i386.c:4810
++#: config/i386/i386.c:4859
+ #, gcc-internal-format
+ msgid "SSE vector return without SSE enabled changes the ABI"
+ msgstr "результат - вектор SSE без Ð²ÐºÐ»ÑŽÑ‡ÐµÐ½Ð¸Ñ SSE изменÑет ABI"
+
+-#: config/i386/i386.c:4820
++#: config/i386/i386.c:4869
+ #, gcc-internal-format
+ msgid "MMX vector return without MMX enabled changes the ABI"
+ msgstr "возврат вектора MMX без Ð²ÐºÐ»ÑŽÑ‡ÐµÐ½Ð¸Ñ MMX изменÑет ABI"
+
+-#: config/i386/i386.c:6171
++#: config/i386/i386.c:6220
+ #, fuzzy, gcc-internal-format
+ msgid "-mstackrealign ignored for nested functions"
+ msgstr "ИÑпользовать защиту Ñтека Ð´Ð»Ñ ÐºÐ°Ð¶Ð´Ð¾Ð¹ функции"
+
+-#: config/i386/i386.c:6173
++#: config/i386/i386.c:6222
+ #, fuzzy, gcc-internal-format
+ msgid "%s not supported for nested functions"
+ msgstr "Ð¸Ð½Ð´ÑƒÐºÑ†Ð¸Ñ Ð½Ðµ поддерживаетÑÑ"
+
+-#: config/i386/i386.c:8576
++#: config/i386/i386.c:8631
+ #, gcc-internal-format
+ msgid "extended registers have no high halves"
+ msgstr "раÑширенные региÑтры не имеют верхних половин"
+
+-#: config/i386/i386.c:8591
++#: config/i386/i386.c:8646
+ #, gcc-internal-format
+ msgid "unsupported operand size for extended register"
+ msgstr "некорректный размер операнда Ð´Ð»Ñ Ñ€Ð°Ñширенного региÑтра"
+
+-#: config/i386/i386.c:19610
++#: config/i386/i386.c:19694
+ #, fuzzy, gcc-internal-format
+ msgid "the third argument must be a 4-bit immediate"
+ msgstr "третий аргумент должен быть 4-битным беззнаковым литеральным значением"
+
+-#: config/i386/i386.c:19614
++#: config/i386/i386.c:19698
+ #, fuzzy, gcc-internal-format
+ msgid "the third argument must be an 8-bit immediate"
+ msgstr "первый аргумент должен быть 5-битным знаковым литеральным значением"
+
+-#: config/i386/i386.c:19836
++#: config/i386/i386.c:19920
+ #, fuzzy, gcc-internal-format
+ msgid "last argument must be an immediate"
+ msgstr "маÑка должна быть непоÑредÑтвенным значением"
+
+-#: config/i386/i386.c:19963
++#: config/i386/i386.c:20047
+ #, fuzzy, gcc-internal-format
+ msgid "the second argument must be a 4-bit immediate"
+ msgstr "третий аргумент должен быть 4-битным беззнаковым литеральным значением"
+
+-#: config/i386/i386.c:20209
++#: config/i386/i386.c:20293
+ #, fuzzy, gcc-internal-format
+ msgid "the fifth argument must be a 8-bit immediate"
+ msgstr "первый аргумент должен быть 5-битным знаковым литеральным значением"
+
+-#: config/i386/i386.c:20304
++#: config/i386/i386.c:20388
+ #, fuzzy, gcc-internal-format
+ msgid "the third argument must be a 8-bit immediate"
+ msgstr "первый аргумент должен быть 5-битным знаковым литеральным значением"
+
+-#: config/i386/i386.c:20374 config/rs6000/rs6000.c:8133
++#: config/i386/i386.c:20458 config/rs6000/rs6000.c:8240
+ #, gcc-internal-format
+ msgid "selector must be an integer constant in the range 0..%wi"
+ msgstr "Ñелектор должен быть целой конÑтантой в диапазоне 0..%wi"
+
+-#: config/i386/i386.c:20774 config/i386/i386.c:20970
++#: config/i386/i386.c:20858 config/i386/i386.c:21054
+ #, gcc-internal-format
+ msgid "shift must be an immediate"
+ msgstr "Ñдвиг должен быть непоÑредÑтвенным значением"
+
+-#: config/i386/i386.c:21033 config/i386/i386.c:21075
++#: config/i386/i386.c:21117 config/i386/i386.c:21159
+ #, fuzzy, gcc-internal-format
+ msgid "index mask must be an immediate"
+ msgstr "маÑка должна быть непоÑредÑтвенным значением"
+
+-#: config/i386/i386.c:21038 config/i386/i386.c:21080
++#: config/i386/i386.c:21122 config/i386/i386.c:21164
+ #, fuzzy, gcc-internal-format
+ msgid "length mask must be an immediate"
+ msgstr "маÑка должна быть непоÑредÑтвенным значением"
+
+-#: config/i386/i386.c:22525 config/rs6000/rs6000.c:19666
++#: config/i386/i386.c:22609 config/rs6000/rs6000.c:19883
+ #, gcc-internal-format
+ msgid "%qs incompatible attribute ignored"
+ msgstr "%qs - неÑовмеÑтимый атрибут, игнорируетÑÑ"
+
++#: config/i386/netware.c:253
++#, fuzzy, gcc-internal-format
++msgid "-fPIC and -fpic are not supported for this target"
++msgstr "ключи -fPIC и -fpic в данной конфигурации не поддерживаютÑÑ"
++
+ #: config/i386/winnt-cxx.c:71 config/sh/symbian.c:172
+ #, gcc-internal-format
+ msgid "definition of static data member %q+D of dllimport'd class"
+@@ -25545,57 +25517,57 @@
+ msgid "%Jaddress area attribute cannot be specified for functions"
+ msgstr "%Jатрибут адреÑного проÑтранÑтва Ð´Ð»Ñ Ñ„ÑƒÐ½ÐºÑ†Ð¸Ð¹ недопуÑтим"
+
+-#: config/ia64/ia64.c:5126 config/pa/pa.c:347 config/spu/spu.c:3875
++#: config/ia64/ia64.c:5127 config/pa/pa.c:350 config/spu/spu.c:3864
+ #, gcc-internal-format
+ msgid "value of -mfixed-range must have form REG1-REG2"
+ msgstr "значение ключа -mfixed-range имеет вид РЕГ1-РЕГ2"
+
+-#: config/ia64/ia64.c:5153 config/pa/pa.c:374 config/spu/spu.c:3901
++#: config/ia64/ia64.c:5154 config/pa/pa.c:377 config/spu/spu.c:3890
+ #, gcc-internal-format
+ msgid "%s-%s is an empty range"
+ msgstr "%s-%s задает пуÑтой диапазон"
+
+-#: config/ia64/ia64.c:5181
++#: config/ia64/ia64.c:5182
+ #, fuzzy, gcc-internal-format
+ msgid "bad value %<%s%> for -mtls-size= switch"
+ msgstr "некорректное значение (%s) Ð´Ð»Ñ ÐºÐ»ÑŽÑ‡Ð° -mtls-size"
+
+-#: config/ia64/ia64.c:5209
++#: config/ia64/ia64.c:5210
+ #, fuzzy, gcc-internal-format
+ msgid "bad value %<%s%> for -mtune= switch"
+ msgstr "некорректное значение (%s) Ð´Ð»Ñ ÐºÐ»ÑŽÑ‡Ð° -mtune="
+
+-#: config/ia64/ia64.c:5228
++#: config/ia64/ia64.c:5229
+ #, gcc-internal-format
+ msgid "not yet implemented: latency-optimized inline square root"
+ msgstr "не реализовано: inline-подÑтановка sqrt, Ð¾Ð¿Ñ‚Ð¸Ð¼Ð¸Ð·Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð½Ð°Ñ Ð¿Ð¾ латентноÑти"
+
+-#: config/ia64/ia64.c:9950
++#: config/ia64/ia64.c:9951
+ #, fuzzy, gcc-internal-format
+ msgid "version attribute is not a string"
+ msgstr "аргумент атрибута %qs не ÑвлÑетÑÑ Ñтроковой конÑтантой"
+
+-#: config/iq2000/iq2000.c:1812
++#: config/iq2000/iq2000.c:1816
+ #, fuzzy, gcc-internal-format
+ msgid "gp_offset (%ld) or end_offset (%ld) is less than zero"
+ msgstr "gp_offset (%ld) или end_offset (%ld) меньше нулÑ."
+
+-#: config/iq2000/iq2000.c:2583
++#: config/iq2000/iq2000.c:2587
+ #, fuzzy, gcc-internal-format
+ msgid "argument %qd is not a constant"
+ msgstr "аргумент %qD не ÑвлÑетÑÑ ÐºÐ¾Ð½Ñтантой"
+
+-#: config/iq2000/iq2000.c:2885 config/mt/mt.c:349 config/xtensa/xtensa.c:2118
++#: config/iq2000/iq2000.c:2889 config/mt/mt.c:349 config/xtensa/xtensa.c:2124
+ #, gcc-internal-format
+ msgid "PRINT_OPERAND_ADDRESS, null pointer"
+ msgstr "нулевой указатель в вызове PRINT_OPERAND_ADDRESS"
+
+-#: config/iq2000/iq2000.c:3040
++#: config/iq2000/iq2000.c:3044
+ #, gcc-internal-format
+ msgid "PRINT_OPERAND: Unknown punctuation '%c'"
+ msgstr "PRINT_OPERAND: некорректный Ñимвол пунктуации '%c'"
+
+-#: config/iq2000/iq2000.c:3049 config/xtensa/xtensa.c:1972
++#: config/iq2000/iq2000.c:3053 config/xtensa/xtensa.c:1978
+ #, gcc-internal-format
+ msgid "PRINT_OPERAND null pointer"
+ msgstr "нулевой указатель в вызове PRINT_OPERAND"
+@@ -25620,22 +25592,22 @@
+ msgid "invalid target memregs value '%d'"
+ msgstr "некоррктное значение ключа --param %qs"
+
+-#: config/m32c/m32c.c:2759
++#: config/m32c/m32c.c:2766
+ #, fuzzy, gcc-internal-format
+ msgid "`%s' attribute is not supported for R8C target"
+ msgstr "%Jатрибут section Ð´Ð»Ñ Ð´Ð°Ð½Ð½Ð¾Ð¹ платформы не поддерживаетÑÑ"
+
+-#: config/m32c/m32c.c:2767
++#: config/m32c/m32c.c:2774
+ #, fuzzy, gcc-internal-format
+ msgid "`%s' attribute applies only to functions"
+ msgstr "%J%qE: атрибут допуÑтим только Ð´Ð»Ñ Ñ„ÑƒÐ½ÐºÑ†Ð¸Ð¹"
+
+-#: config/m32c/m32c.c:2775
++#: config/m32c/m32c.c:2782
+ #, fuzzy, gcc-internal-format
+ msgid "`%s' attribute argument not an integer constant"
+ msgstr "аргумент атрибута %qs не ÑвлÑетÑÑ Ñ†ÐµÐ»Ð¾Ð¹ конÑтантой"
+
+-#: config/m32c/m32c.c:2784
++#: config/m32c/m32c.c:2791
+ #, fuzzy, gcc-internal-format
+ msgid "`%s' attribute argument should be between 18 to 255"
+ msgstr "аргумент атрибута %qs не ÑвлÑетÑÑ Ñ†ÐµÐ»Ð¾Ð¹ конÑтантой"
+@@ -25685,7 +25657,7 @@
+ msgid "interrupt_thread is available only on fido"
+ msgstr ""
+
+-#: config/m68k/m68k.c:1072 config/rs6000/rs6000.c:15014
++#: config/m68k/m68k.c:1072 config/rs6000/rs6000.c:15226
+ #, gcc-internal-format
+ msgid "stack limit expression is not supported"
+ msgstr "выражение Ð´Ð»Ñ Ð³Ñ€Ð°Ð½Ð¸Ñ†Ñ‹ Ñтека не поддерживаетÑÑ"
+@@ -25700,114 +25672,114 @@
+ msgid "%qs redeclared with conflicting %qs attributes"
+ msgstr "атрибут %qs допуÑтим только Ð´Ð»Ñ Ð¿ÐµÑ€ÐµÐ¼ÐµÐ½Ð½Ñ‹Ñ…"
+
+-#: config/mips/mips.c:2348
++#: config/mips/mips.c:2382
+ #, gcc-internal-format
+ msgid "MIPS16 TLS"
+ msgstr ""
+
+-#: config/mips/mips.c:5439
++#: config/mips/mips.c:5500
+ #, gcc-internal-format
+ msgid "cannot handle inconsistent calls to %qs"
+ msgstr "ошибка при обработке некорректного вызова %qs"
+
+-#: config/mips/mips.c:10258
++#: config/mips/mips.c:10337
+ #, fuzzy, gcc-internal-format
+ msgid "invalid argument to built-in function"
+ msgstr "некорректный аргумент внутренней функции"
+
+-#: config/mips/mips.c:10530
++#: config/mips/mips.c:10609
+ #, fuzzy, gcc-internal-format
+ msgid "built-in function %qs not supported for MIPS16"
+ msgstr "ms-bitfields не поддерживаетÑÑ Ð´Ð»Ñ objc"
+
+-#: config/mips/mips.c:11679 config/mips/mips.c:12065
++#: config/mips/mips.c:11751 config/mips/mips.c:12137
+ #, gcc-internal-format
+ msgid "MIPS16 PIC"
+ msgstr ""
+
+-#: config/mips/mips.c:11682
++#: config/mips/mips.c:11754
+ #, gcc-internal-format
+ msgid "hard-float MIPS16 code for ABIs other than o32 and o64"
+ msgstr ""
+
+-#: config/mips/mips.c:11810
++#: config/mips/mips.c:11882
+ #, fuzzy, gcc-internal-format
+ msgid "CPU names must be lower case"
+ msgstr "Ð¸Ð¼Ñ Ð¿Ñ€Ð¾Ñ†ÐµÑÑора задаетÑÑ Ñтрочными буквами"
+
+-#: config/mips/mips.c:11938
++#: config/mips/mips.c:12010
+ #, fuzzy, gcc-internal-format
+ msgid "%<-%s%> conflicts with the other architecture options, which specify a %s processor"
+ msgstr "-%s конфликтует Ñ Ð´Ñ€ÑƒÐ³Ð¸Ð¼Ð¸ ключами, которые задают процеÑÑор %s"
+
+-#: config/mips/mips.c:11954
++#: config/mips/mips.c:12026
+ #, fuzzy, gcc-internal-format
+ msgid "%<-march=%s%> is not compatible with the selected ABI"
+ msgstr "ключ -march=%s неÑовмеÑтим Ñ Ð²Ñ‹Ð±Ñ€Ð°Ð½Ð½Ñ‹Ð¼ ABI"
+
+-#: config/mips/mips.c:11969
++#: config/mips/mips.c:12041
+ #, fuzzy, gcc-internal-format
+ msgid "%<-mgp64%> used with a 32-bit processor"
+ msgstr "ключ -mgp64 задан Ð´Ð»Ñ 32-битного процеÑÑора"
+
+-#: config/mips/mips.c:11971
++#: config/mips/mips.c:12043
+ #, fuzzy, gcc-internal-format
+ msgid "%<-mgp32%> used with a 64-bit ABI"
+ msgstr "ключ -mgp32 задан Ð´Ð»Ñ 64-битного процеÑÑора"
+
+-#: config/mips/mips.c:11973
++#: config/mips/mips.c:12045
+ #, fuzzy, gcc-internal-format
+ msgid "%<-mgp64%> used with a 32-bit ABI"
+ msgstr "ключ -mgp64 задан Ð´Ð»Ñ 32-битного ABI"
+
+-#: config/mips/mips.c:11989 config/mips/mips.c:11991 config/mips/mips.c:12058
++#: config/mips/mips.c:12061 config/mips/mips.c:12063 config/mips/mips.c:12130
+ #, gcc-internal-format
+ msgid "unsupported combination: %s"
+ msgstr "Ð½ÐµÐ¿Ð¾Ð´Ð´ÐµÑ€Ð¶Ð¸Ð²Ð°ÐµÐ¼Ð°Ñ ÐºÐ¾Ð¼Ð±Ð¸Ð½Ð°Ñ†Ð¸Ñ: %s"
+
+-#: config/mips/mips.c:11995
++#: config/mips/mips.c:12067
+ #, gcc-internal-format
+ msgid "%<-mgp32%> and %<-mfp64%> can only be combined if the target supports the mfhc1 and mthc1 instructions"
+ msgstr ""
+
+-#: config/mips/mips.c:11998
++#: config/mips/mips.c:12070
+ #, gcc-internal-format
+ msgid "%<-mgp32%> and %<-mfp64%> can only be combined when using the o32 ABI"
+ msgstr ""
+
+-#: config/mips/mips.c:12052
++#: config/mips/mips.c:12124
+ #, fuzzy, gcc-internal-format
+ msgid "the %qs architecture does not support branch-likely instructions"
+ msgstr "целевой процеÑÑор не поддерживает команды THUMB"
+
+-#: config/mips/mips.c:12098
++#: config/mips/mips.c:12170
+ #, gcc-internal-format
+ msgid "%<-mno-gpopt%> needs %<-mexplicit-relocs%>"
+ msgstr ""
+
+-#: config/mips/mips.c:12106 config/mips/mips.c:12109
++#: config/mips/mips.c:12178 config/mips/mips.c:12181
+ #, gcc-internal-format
+ msgid "cannot use small-data accesses for %qs"
+ msgstr ""
+
+-#: config/mips/mips.c:12123
++#: config/mips/mips.c:12195
+ #, fuzzy, gcc-internal-format
+ msgid "%<-mips3d%> requires %<-mpaired-single%>"
+ msgstr "Ð´Ð»Ñ -mips3d требуетÑÑ -mpaired-single"
+
+-#: config/mips/mips.c:12132
++#: config/mips/mips.c:12204
+ #, fuzzy, gcc-internal-format
+ msgid "%qs must be used with %qs"
+ msgstr "-frepo Ñледует иÑпользовать вмеÑте Ñ -c"
+
+-#: config/mips/mips.c:12139
++#: config/mips/mips.c:12211
+ #, fuzzy, gcc-internal-format
+ msgid "the %qs architecture does not support paired-single instructions"
+ msgstr "целевой процеÑÑор не поддерживает команды THUMB"
+
+ #. Output assembler code to FILE to increment profiler label # LABELNO
+ #. for profiling a function entry.
+-#: config/mips/mips.h:2110
++#: config/mips/mips.h:2111
+ #, gcc-internal-format
+ msgid "mips16 function profiling"
+ msgstr "профилирование функций mips16"
+@@ -25837,28 +25809,28 @@
+ msgid "MMIX Internal: Last named vararg would not fit in a register"
+ msgstr "Внутреннее Ñообщение MMIX: поÑледний именованный vararg не помеÑтитÑÑ Ð² региÑÑ‚Ñ€"
+
+-#: config/mmix/mmix.c:1495 config/mmix/mmix.c:1519 config/mmix/mmix.c:1635
++#: config/mmix/mmix.c:1491 config/mmix/mmix.c:1515 config/mmix/mmix.c:1631
+ #, gcc-internal-format
+ msgid "MMIX Internal: Bad register: %d"
+ msgstr "Внутреннее Ñообщение MMIX: некорректный номер региÑтра: %d"
+
+ #. Presumably there's a missing case above if we get here.
+-#: config/mmix/mmix.c:1627
++#: config/mmix/mmix.c:1623
+ #, gcc-internal-format
+ msgid "MMIX Internal: Missing %qc case in mmix_print_operand"
+ msgstr "Внутреннее Ñообщение MMIX: отÑутÑтвует Ñлучай %qc в mmix_print_operand"
+
+-#: config/mmix/mmix.c:1913
++#: config/mmix/mmix.c:1909
+ #, gcc-internal-format
+ msgid "stack frame not a multiple of 8 bytes: %wd"
+ msgstr "размер кадра Ñтека не кратен 8 байтам: %wd"
+
+-#: config/mmix/mmix.c:2149
++#: config/mmix/mmix.c:2145
+ #, gcc-internal-format
+ msgid "stack frame not a multiple of octabyte: %wd"
+ msgstr "размер кадра Ñтека не кратен 8 байтам: %wd"
+
+-#: config/mmix/mmix.c:2489 config/mmix/mmix.c:2553
++#: config/mmix/mmix.c:2485 config/mmix/mmix.c:2549
+ #, gcc-internal-format
+ msgid "MMIX Internal: %s is not a shiftable int"
+ msgstr "Внутреннее Ñообщение MMIX: %s не ÑвлÑетÑÑ Ñ†ÐµÐ»Ñ‹Ð¼, к которому можно применить Ñдвиг"
+@@ -25868,27 +25840,27 @@
+ msgid "info pointer NULL"
+ msgstr ""
+
+-#: config/pa/pa.c:479
++#: config/pa/pa.c:482
+ #, fuzzy, gcc-internal-format
+ msgid "PIC code generation is not supported in the portable runtime model"
+ msgstr "Ð“ÐµÐ½ÐµÑ€Ð°Ñ†Ð¸Ñ PIC не поддерживаетÑÑ Ð² портируемой модели времени выполнениÑ\n"
+
+-#: config/pa/pa.c:484
++#: config/pa/pa.c:487
+ #, fuzzy, gcc-internal-format
+ msgid "PIC code generation is not compatible with fast indirect calls"
+ msgstr "Ð“ÐµÐ½ÐµÑ€Ð°Ñ†Ð¸Ñ PIC неÑовмеÑтима Ñ Ð±Ñ‹Ñтрыми коÑвенными вызовами\n"
+
+-#: config/pa/pa.c:489
++#: config/pa/pa.c:492
+ #, gcc-internal-format
+ msgid "-g is only supported when using GAS on this processor,"
+ msgstr "Ð´Ð»Ñ Ñтого процеÑÑора -g поддерживаетÑÑ Ñ‚Ð¾Ð»ÑŒÐºÐ¾ при иÑпользовании GAS,"
+
+-#: config/pa/pa.c:490
++#: config/pa/pa.c:493
+ #, gcc-internal-format
+ msgid "-g option disabled"
+ msgstr "ключ -g игнорируетÑÑ"
+
+-#: config/pa/pa.c:8285
++#: config/pa/pa.c:8373
+ #, gcc-internal-format
+ msgid "alignment (%u) for %s exceeds maximum alignment for global common data. Using %u"
+ msgstr ""
+@@ -25957,250 +25929,251 @@
+ msgid "junk at end of #pragma longcall"
+ msgstr "муÑор в конце #pragma longcall"
+
+-#: config/rs6000/rs6000-c.c:2550
++#: config/rs6000/rs6000-c.c:2553
+ #, fuzzy, gcc-internal-format
+ msgid "passing arg %d of %qE discards qualifiers frompointer target type"
+ msgstr "приведение от %qT к %qT отменÑет квалификаторы указуемого типа"
+
+-#: config/rs6000/rs6000-c.c:2593
++#: config/rs6000/rs6000-c.c:2596
+ #, fuzzy, gcc-internal-format
+ msgid "invalid parameter combination for AltiVec intrinsic"
+ msgstr "Ð½ÐµÐºÐ¾Ñ€Ñ€ÐµÐºÑ‚Ð½Ð°Ñ ÐºÐ¾Ð¼Ð±Ð¸Ð½Ð°Ñ†Ð¸Ñ Ð¿Ð°Ñ€Ð°Ð¼ÐµÑ‚Ñ€Ð¾Ð² Ð´Ð»Ñ %qs AltiVec intrinsic"
+
+-#: config/rs6000/rs6000.c:1294
++#: config/rs6000/rs6000.c:1312
+ #, gcc-internal-format
+ msgid "-mdynamic-no-pic overrides -fpic or -fPIC"
+ msgstr "-mdynamic-no-pic отменÑет -fpic или -fPIC"
+
+-#: config/rs6000/rs6000.c:1305
++#: config/rs6000/rs6000.c:1323
+ #, fuzzy, gcc-internal-format
+ msgid "-m64 requires PowerPC64 architecture, enabling"
+ msgstr "Ключ -maix64 требует архитектуры PowerPC64"
+
+-#: config/rs6000/rs6000.c:1528
++#: config/rs6000/rs6000.c:1546
+ #, gcc-internal-format
+ msgid "-mmultiple is not supported on little endian systems"
+ msgstr "ключ -mmultiple не поддерживаетÑÑ Ð´Ð»Ñ ÑиÑтем little endian"
+
+-#: config/rs6000/rs6000.c:1535
++#: config/rs6000/rs6000.c:1553
+ #, gcc-internal-format
+ msgid "-mstring is not supported on little endian systems"
+ msgstr "ключ -mstring не поддерживаетÑÑ Ð´Ð»Ñ ÑиÑтем little endian"
+
+-#: config/rs6000/rs6000.c:1549
++#: config/rs6000/rs6000.c:1567
+ #, gcc-internal-format
+ msgid "unknown -mdebug-%s switch"
+ msgstr "некорректный ключ -mdebug-%s"
+
+-#: config/rs6000/rs6000.c:1561
++#: config/rs6000/rs6000.c:1579
+ #, fuzzy, gcc-internal-format
+ msgid "unknown -mtraceback arg %qs; expecting %<full%>, %<partial%> or %<none%>"
+ msgstr "некорректный аргумент %qs ключа -mtraceback; допуÑтимые Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ñ `full', `partial', `none'"
+
+-#: config/rs6000/rs6000.c:1973
++#: config/rs6000/rs6000.c:2003
+ #, gcc-internal-format
+ msgid "unknown -m%s= option specified: '%s'"
+ msgstr "некорректный ключ -m%s=: '%s'"
+
+-#: config/rs6000/rs6000.c:2186
++#: config/rs6000/rs6000.c:2218
+ #, gcc-internal-format
+ msgid "not configured for ABI: '%s'"
+ msgstr "Ð´Ð°Ð½Ð½Ð°Ñ ÐºÐ¾Ð½Ñ„Ð¸Ð³ÑƒÑ€Ð°Ñ†Ð¸Ñ Ð½Ðµ поддерживает ABI: '%s'"
+
+-#: config/rs6000/rs6000.c:2199
++#: config/rs6000/rs6000.c:2231
+ #, gcc-internal-format
+ msgid "Using darwin64 ABI"
+ msgstr ""
+
+-#: config/rs6000/rs6000.c:2204
++#: config/rs6000/rs6000.c:2236
+ #, gcc-internal-format
+ msgid "Using old darwin ABI"
+ msgstr ""
+
+-#: config/rs6000/rs6000.c:2211
++#: config/rs6000/rs6000.c:2243
+ #, gcc-internal-format
+ msgid "Using IBM extended precision long double"
+ msgstr ""
+
+-#: config/rs6000/rs6000.c:2217
++#: config/rs6000/rs6000.c:2249
+ #, gcc-internal-format
+ msgid "Using IEEE extended precision long double"
+ msgstr ""
+
+-#: config/rs6000/rs6000.c:2222
++#: config/rs6000/rs6000.c:2254
+ #, gcc-internal-format
+ msgid "unknown ABI specified: '%s'"
+ msgstr "Ðекорректное значение ABI: '%s'"
+
+-#: config/rs6000/rs6000.c:2249
++#: config/rs6000/rs6000.c:2281
+ #, fuzzy, gcc-internal-format
+ msgid "invalid option for -mfloat-gprs: '%s'"
+ msgstr "некорректный аргумент ключа %qs"
+
+-#: config/rs6000/rs6000.c:2259
++#: config/rs6000/rs6000.c:2291
+ #, gcc-internal-format
+ msgid "Unknown switch -mlong-double-%s"
+ msgstr "некорректный ключ -mlong-double-%s"
+
+-#: config/rs6000/rs6000.c:2280
++#: config/rs6000/rs6000.c:2312
+ #, gcc-internal-format
+ msgid "-malign-power is not supported for 64-bit Darwin; it is incompatible with the installed C and C++ libraries"
+ msgstr ""
+
+-#: config/rs6000/rs6000.c:2288
++#: config/rs6000/rs6000.c:2320
+ #, gcc-internal-format
+ msgid "unknown -malign-XXXXX option specified: '%s'"
+ msgstr "некорректный ключ -malign-XXXXX: '%s'"
+
+-#: config/rs6000/rs6000.c:4989
++#: config/rs6000/rs6000.c:5087
+ #, gcc-internal-format
+ msgid "GCC vector returned by reference: non-standard ABI extension with no compatibility guarantee"
+ msgstr ""
+
+-#: config/rs6000/rs6000.c:5062
++#: config/rs6000/rs6000.c:5160
+ #, fuzzy, gcc-internal-format
+ msgid "cannot return value in vector register because altivec instructions are disabled, use -maltivec to enable them"
+ msgstr "Возврат Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ñ Ð² векторном региÑтре невозможен, поÑкольку набор команд altivec не задан; иÑпользуйте -maltivec Ð´Ð»Ñ ÐµÐ³Ð¾ включениÑ"
+
+-#: config/rs6000/rs6000.c:5320
++#: config/rs6000/rs6000.c:5418
+ #, fuzzy, gcc-internal-format
+ msgid "cannot pass argument in vector register because altivec instructions are disabled, use -maltivec to enable them"
+ msgstr "Передача аргумента в векторном региÑтре невозможна, поÑкольку набор команд altivec не задан; иÑпользуйте -maltivec Ð´Ð»Ñ ÐµÐ³Ð¾ включениÑ"
+
+-#: config/rs6000/rs6000.c:6221
++#: config/rs6000/rs6000.c:6322
+ #, gcc-internal-format
+ msgid "GCC vector passed by reference: non-standard ABI extension with no compatibility guarantee"
+ msgstr ""
+
+-#: config/rs6000/rs6000.c:7461
++#: config/rs6000/rs6000.c:7568
+ #, gcc-internal-format
+ msgid "argument 1 must be a 5-bit signed literal"
+ msgstr "первый аргумент должен быть 5-битным знаковым литеральным значением"
+
+-#: config/rs6000/rs6000.c:7564 config/rs6000/rs6000.c:8475
++#: config/rs6000/rs6000.c:7671 config/rs6000/rs6000.c:8582
+ #, gcc-internal-format
+ msgid "argument 2 must be a 5-bit unsigned literal"
+ msgstr "второй аргумент должен быть 5-битным беззнаковым литеральным значением"
+
+-#: config/rs6000/rs6000.c:7604
++#: config/rs6000/rs6000.c:7711
+ #, gcc-internal-format
+ msgid "argument 1 of __builtin_altivec_predicate must be a constant"
+ msgstr "первый аргумент __builtin_altivec_predicate должен быть конÑтантой"
+
+-#: config/rs6000/rs6000.c:7657
++#: config/rs6000/rs6000.c:7764
+ #, gcc-internal-format
+ msgid "argument 1 of __builtin_altivec_predicate is out of range"
+ msgstr "первый аргумент __builtin_altivec_predicate вне диапазона"
+
+-#: config/rs6000/rs6000.c:7906
++#: config/rs6000/rs6000.c:8013
+ #, gcc-internal-format
+ msgid "argument 3 must be a 4-bit unsigned literal"
+ msgstr "третий аргумент должен быть 4-битным беззнаковым литеральным значением"
+
+-#: config/rs6000/rs6000.c:8078
++#: config/rs6000/rs6000.c:8185
+ #, gcc-internal-format
+ msgid "argument to %qs must be a 2-bit unsigned literal"
+ msgstr "аргумент %qs должен быть 2-битным беззнаковым литеральным значением"
+
+-#: config/rs6000/rs6000.c:8220
++#: config/rs6000/rs6000.c:8327
+ #, gcc-internal-format
+ msgid "unresolved overload for Altivec builtin %qF"
+ msgstr ""
+
+-#: config/rs6000/rs6000.c:8302
++#: config/rs6000/rs6000.c:8409
+ #, gcc-internal-format
+ msgid "argument to dss must be a 2-bit unsigned literal"
+ msgstr "аргумент dss должен быть 2-битным беззнаковым литеральным значением"
+
+-#: config/rs6000/rs6000.c:8595
++#: config/rs6000/rs6000.c:8702
+ #, fuzzy, gcc-internal-format
+ msgid "argument 1 of __builtin_paired_predicate must be a constant"
+ msgstr "первый аргумент __builtin_spe_predicate должен быть конÑтантой"
+
+-#: config/rs6000/rs6000.c:8642
++#: config/rs6000/rs6000.c:8749
+ #, fuzzy, gcc-internal-format
+ msgid "argument 1 of __builtin_paired_predicate is out of range"
+ msgstr "первый аргумент __builtin_spe_predicate вне диапазона"
+
+-#: config/rs6000/rs6000.c:8667
++#: config/rs6000/rs6000.c:8774
+ #, gcc-internal-format
+ msgid "argument 1 of __builtin_spe_predicate must be a constant"
+ msgstr "первый аргумент __builtin_spe_predicate должен быть конÑтантой"
+
+-#: config/rs6000/rs6000.c:8739
++#: config/rs6000/rs6000.c:8846
+ #, gcc-internal-format
+ msgid "argument 1 of __builtin_spe_predicate is out of range"
+ msgstr "первый аргумент __builtin_spe_predicate вне диапазона"
+
+-#: config/rs6000/rs6000.c:14977
++#: config/rs6000/rs6000.c:15189
+ #, fuzzy, gcc-internal-format
+ msgid "stack frame too large"
+ msgstr "кадр Ñтека Ñлишком велик: %d байт"
+
+-#: config/rs6000/rs6000.c:17598
++#: config/rs6000/rs6000.c:17811
+ #, gcc-internal-format
+ msgid "no profiling of 64-bit code for this ABI"
+ msgstr "отÑутÑтвует профилирование 64-битного кода Ð´Ð»Ñ Ñтого ABI"
+
+-#: config/rs6000/rs6000.c:19470
++#: config/rs6000/rs6000.c:19687
+ #, fuzzy, gcc-internal-format
+ msgid "use of %<long%> in AltiVec types is invalid for 64-bit code"
+ msgstr "иÑпользование 'long' в типах AltiVec-данных будет отменено; иÑпользуйте 'int'"
+
+-#: config/rs6000/rs6000.c:19472
++#: config/rs6000/rs6000.c:19689
+ #, fuzzy, gcc-internal-format
+ msgid "use of %<long%> in AltiVec types is deprecated; use %<int%>"
+ msgstr "иÑпользование 'long' в типах AltiVec-данных будет отменено; иÑпользуйте 'int'"
+
+-#: config/rs6000/rs6000.c:19476
++#: config/rs6000/rs6000.c:19693
+ #, fuzzy, gcc-internal-format
+ msgid "use of %<long long%> in AltiVec types is invalid"
+ msgstr "иÑпользование 'long' в типах AltiVec-данных будет отменено; иÑпользуйте 'int'"
+
+-#: config/rs6000/rs6000.c:19478
++#: config/rs6000/rs6000.c:19695
+ #, fuzzy, gcc-internal-format
+ msgid "use of %<double%> in AltiVec types is invalid"
+ msgstr "иÑпользование 'long' в типах AltiVec-данных будет отменено; иÑпользуйте 'int'"
+
+-#: config/rs6000/rs6000.c:19480
++#: config/rs6000/rs6000.c:19697
+ #, fuzzy, gcc-internal-format
+ msgid "use of %<long double%> in AltiVec types is invalid"
+ msgstr "иÑпользование 'long' в типах AltiVec-данных будет отменено; иÑпользуйте 'int'"
+
+-#: config/rs6000/rs6000.c:19482
++#: config/rs6000/rs6000.c:19699
+ #, fuzzy, gcc-internal-format
+ msgid "use of boolean types in AltiVec types is invalid"
+ msgstr "иÑпользование 'long' в типах AltiVec-данных будет отменено; иÑпользуйте 'int'"
+
+-#: config/rs6000/rs6000.c:19484
++#: config/rs6000/rs6000.c:19701
+ #, fuzzy, gcc-internal-format
+ msgid "use of %<complex%> in AltiVec types is invalid"
+ msgstr "иÑпользование 'long' в типах AltiVec-данных будет отменено; иÑпользуйте 'int'"
+
+-#: config/rs6000/rs6000.c:19486
++#: config/rs6000/rs6000.c:19703
+ #, fuzzy, gcc-internal-format
+ msgid "use of decimal floating point types in AltiVec types is invalid"
+ msgstr "иÑпользование 'long' в типах AltiVec-данных будет отменено; иÑпользуйте 'int'"
+
+ #: config/rs6000/aix43.h:38 config/rs6000/aix51.h:37 config/rs6000/aix52.h:38
+-#: config/rs6000/aix53.h:38
++#: config/rs6000/aix53.h:38 config/rs6000/aix61.h:38
+ #, gcc-internal-format
+ msgid "-maix64 and POWER architecture are incompatible"
+ msgstr "Ключ -maix64 неÑовмеÑтим Ñ Ð°Ñ€Ñ…Ð¸Ñ‚ÐµÐºÑ‚ÑƒÑ€Ð¾Ð¹ POWER"
+
+ #: config/rs6000/aix43.h:43 config/rs6000/aix51.h:42 config/rs6000/aix52.h:43
+-#: config/rs6000/aix53.h:43
++#: config/rs6000/aix53.h:43 config/rs6000/aix61.h:43
+ #, gcc-internal-format
+ msgid "-maix64 requires PowerPC64 architecture remain enabled"
+ msgstr "Ключ -maix64 требует архитектуры PowerPC64"
+
+ #: config/rs6000/aix43.h:49 config/rs6000/aix52.h:49 config/rs6000/aix53.h:49
++#: config/rs6000/aix61.h:49
+ #, fuzzy, gcc-internal-format
+ msgid "soft-float and long-double-128 are incompatible"
+ msgstr "ключи -mrelocatable и -mcall-%s неÑовмеÑтимы"
+
+ #: config/rs6000/aix43.h:53 config/rs6000/aix51.h:46 config/rs6000/aix52.h:53
+-#: config/rs6000/aix53.h:53
++#: config/rs6000/aix53.h:53 config/rs6000/aix61.h:53
+ #, gcc-internal-format
+ msgid "-maix64 required: 64-bit computation with 32-bit addressing not yet supported"
+ msgstr "требуетÑÑ -maix64: 64-битные вычиÑÐ»ÐµÐ½Ð¸Ñ Ñ 32-битной адреÑацией не поддерживаютÑÑ"
+@@ -26242,7 +26215,7 @@
+ #. Number of bytes into the frame return addresses can be found. See
+ #. rs6000_stack_info in rs6000.c for more information on how the different
+ #. abi's store the return address.
+-#: config/rs6000/rs6000.h:1560
++#: config/rs6000/rs6000.h:1569
+ #, gcc-internal-format
+ msgid "RETURN_ADDRESS_OFFSET not supported"
+ msgstr "RETURN_ADDRESS_OFFSET не поддерживаетÑÑ"
+@@ -26365,22 +26338,22 @@
+ msgid "-mstack-guard implies use of -mstack-size"
+ msgstr ""
+
+-#: config/s390/s390.c:6640
++#: config/s390/s390.c:6679
+ #, fuzzy, gcc-internal-format
+ msgid "total size of local variables exceeds architecture limit"
+ msgstr "Суммарный размер локальных переменных превышает предел Ð´Ð»Ñ Ð´Ð°Ð½Ð½Ð¾Ð¹ архитектуры"
+
+-#: config/s390/s390.c:7298
++#: config/s390/s390.c:7349
+ #, fuzzy, gcc-internal-format
+ msgid "frame size of function %qs is "
+ msgstr "размер %qD в памÑти неизвеÑтен"
+
+-#: config/s390/s390.c:7328
++#: config/s390/s390.c:7379
+ #, fuzzy, gcc-internal-format
+ msgid "frame size of %qs is "
+ msgstr "размер %qD в памÑти неизвеÑтен"
+
+-#: config/s390/s390.c:7332
++#: config/s390/s390.c:7383
+ #, gcc-internal-format
+ msgid "%qs uses dynamic stack allocation"
+ msgstr ""
+@@ -26390,44 +26363,44 @@
+ msgid "-fPIC and -G are incompatible"
+ msgstr "ключи -fPIC и -mcall-%s неÑовмеÑтимы"
+
+-#: config/sh/sh.c:6894
++#: config/sh/sh.c:6897
+ #, gcc-internal-format
+ msgid "__builtin_saveregs not supported by this subtarget"
+ msgstr "__builtin_saveregs Ð´Ð»Ñ Ñтой платформы не поддерживаетÑÑ"
+
+-#: config/sh/sh.c:7904
++#: config/sh/sh.c:7907
+ #, gcc-internal-format
+ msgid "%qs attribute only applies to interrupt functions"
+ msgstr "атрибут %qs применим только к функциÑм обработки прерываний"
+
+-#: config/sh/sh.c:7990
++#: config/sh/sh.c:7993
+ #, gcc-internal-format
+ msgid "attribute interrupt_handler is not compatible with -m5-compact"
+ msgstr "атрибут interrupt_handler неÑовмеÑтим Ñ -m5-compact"
+
+ #. The argument must be a constant string.
+-#: config/sh/sh.c:8012
++#: config/sh/sh.c:8015
+ #, gcc-internal-format
+ msgid "%qs attribute argument not a string constant"
+ msgstr "аргумент атрибута %qs не ÑвлÑетÑÑ Ñтроковой конÑтантой"
+
+ #. The argument must be a constant integer.
+-#: config/sh/sh.c:8037
++#: config/sh/sh.c:8040
+ #, gcc-internal-format
+ msgid "%qs attribute argument not an integer constant"
+ msgstr "аргумент атрибута %qs не ÑвлÑетÑÑ Ñ†ÐµÐ»Ð¾Ð¹ конÑтантой"
+
+-#: config/sh/sh.c:10085
++#: config/sh/sh.c:10084
+ #, gcc-internal-format
+ msgid "r0 needs to be available as a call-clobbered register"
+ msgstr ""
+
+-#: config/sh/sh.c:10106
++#: config/sh/sh.c:10105
+ #, fuzzy, gcc-internal-format
+ msgid "Need a second call-clobbered general purpose register"
+ msgstr "ИÑпользовать региÑÑ‚Ñ€ BK как региÑÑ‚Ñ€ общего назначениÑ"
+
+-#: config/sh/sh.c:10114
++#: config/sh/sh.c:10113
+ #, gcc-internal-format
+ msgid "Need a call-clobbered target register"
+ msgstr ""
+@@ -26457,7 +26430,7 @@
+ msgid "%s %q+D %s after being referenced with dllimport linkage"
+ msgstr "%J%qD определен локально поÑле ÑÑылки на него как на dllimport"
+
+-#: config/sh/symbian.c:891 cp/tree.c:2737
++#: config/sh/symbian.c:891 cp/tree.c:2753
+ #, gcc-internal-format
+ msgid "lang_* check: failed in %s, at %s:%d"
+ msgstr "lang_* check: ошибка в %s, в %s:%d"
+@@ -26500,17 +26473,17 @@
+ msgid "-mrelax is only supported for RTP PIC"
+ msgstr "в TFP-OS не поддерживаетÑÑ static"
+
+-#: config/sparc/sparc.c:698
++#: config/sparc/sparc.c:701
+ #, gcc-internal-format
+ msgid "%s is not supported by this configuration"
+ msgstr "%s Ð´Ð»Ñ Ñтой конфигурации не поддерживаетÑÑ"
+
+-#: config/sparc/sparc.c:705
++#: config/sparc/sparc.c:708
+ #, gcc-internal-format
+ msgid "-mlong-double-64 not allowed with -m64"
+ msgstr "ключ -mlong-double-64 неÑовмеÑтим Ñ -m64"
+
+-#: config/sparc/sparc.c:730
++#: config/sparc/sparc.c:733
+ #, gcc-internal-format
+ msgid "-mcmodel= is not supported on 32 bit systems"
+ msgstr "ключ -mcmodel= на 32-битных ÑиÑтемах не поддерживаетÑÑ"
+@@ -26530,67 +26503,57 @@
+ msgid "parameter list does not match a valid signature for %s()"
+ msgstr ""
+
+-#: config/spu/spu.c:337 config/spu/spu.c:348
++#: config/spu/spu.c:341 config/spu/spu.c:352
+ #, fuzzy, gcc-internal-format
+ msgid "Unknown architecture '%s'"
+ msgstr "неизвеÑÑ‚Ð½Ð°Ñ Ð¼Ð°ÑˆÐ¸Ð½Ð½Ð°Ñ Ð¼Ð¾Ð´Ð° %qs"
+
+-#: config/spu/spu.c:3034
++#: config/spu/spu.c:3023
+ #, fuzzy, gcc-internal-format
+ msgid "`%s' attribute ignored"
+ msgstr "атрибут %qs проигнорирован"
+
+-#: config/spu/spu.c:5218
++#: config/spu/spu.c:5207
+ #, fuzzy, gcc-internal-format
+ msgid "%s expects an integer literal in the range [%d, %d]."
+ msgstr "Ñелектор должен быть целой конÑтантой в диапазоне 0..%wi"
+
+-#: config/spu/spu.c:5238
++#: config/spu/spu.c:5227
+ #, fuzzy, gcc-internal-format
+ msgid "%s expects an integer literal in the range [%d, %d]. ("
+ msgstr "Ñелектор должен быть целой конÑтантой в диапазоне 0..%wi"
+
+-#: config/spu/spu.c:5268
++#: config/spu/spu.c:5257
+ #, gcc-internal-format
+ msgid "%d least significant bits of %s are ignored."
+ msgstr ""
+
+-#: config/stormy16/stormy16.c:499
++#: config/stormy16/stormy16.c:1080
+ #, fuzzy, gcc-internal-format
+-msgid "constant halfword load operand out of range"
+-msgstr "КонÑтантный операнд загрузки полуÑлова - вне диапазона"
+-
+-#: config/stormy16/stormy16.c:509
+-#, fuzzy, gcc-internal-format
+-msgid "constant arithmetic operand out of range"
+-msgstr "КонÑтантный операнд арифметичеÑкой операции - вне диапазона"
+-
+-#: config/stormy16/stormy16.c:1108
+-#, fuzzy, gcc-internal-format
+ msgid "local variable memory requirements exceed capacity"
+ msgstr "ÐедоÑтаточно памÑти Ð´Ð»Ñ Ð»Ð¾ÐºÐ°Ð»ÑŒÐ½Ñ‹Ñ… переменных"
+
+-#: config/stormy16/stormy16.c:1274
++#: config/stormy16/stormy16.c:1246
+ #, gcc-internal-format
+ msgid "function_profiler support"
+ msgstr "Поддержка function_profiler"
+
+-#: config/stormy16/stormy16.c:1363
++#: config/stormy16/stormy16.c:1335
+ #, gcc-internal-format
+ msgid "cannot use va_start in interrupt function"
+ msgstr "недопуÑтимое иÑпользование va_start в функции обработки прерываниÑ"
+
+-#: config/stormy16/stormy16.c:1906
++#: config/stormy16/stormy16.c:1879
+ #, gcc-internal-format
+ msgid "switch statement of size %lu entries too large"
+ msgstr "оператор switch Ñодержит Ñлишком много (%lu) Ñлементов"
+
+-#: config/stormy16/stormy16.c:2274
++#: config/stormy16/stormy16.c:2247
+ #, fuzzy, gcc-internal-format
+ msgid "%<__BELOW100__%> attribute only applies to variables"
+ msgstr "атрибут %qs допуÑтим только Ð´Ð»Ñ Ð¿ÐµÑ€ÐµÐ¼ÐµÐ½Ð½Ñ‹Ñ…"
+
+-#: config/stormy16/stormy16.c:2281
++#: config/stormy16/stormy16.c:2254
+ #, gcc-internal-format
+ msgid "__BELOW100__ attribute not allowed with auto storage class"
+ msgstr ""
+@@ -26715,345 +26678,345 @@
+ msgid "too much stack space to prepare: %d"
+ msgstr "Слишком велик размер облаÑти Ñтека Ð´Ð»Ñ prepare: %d"
+
+-#: config/xtensa/xtensa.c:1861
++#: config/xtensa/xtensa.c:1865
+ #, gcc-internal-format
+ msgid "boolean registers required for the floating-point option"
+ msgstr "запрошены булевы региÑтры и ключ аппаратной плавающей математики"
+
+-#: config/xtensa/xtensa.c:1896
++#: config/xtensa/xtensa.c:1900
+ #, gcc-internal-format
+ msgid "-f%s is not supported with CONST16 instructions"
+ msgstr "-f%s не поддерживаетÑÑ Ñ ÐºÐ¾Ð¼Ð°Ð½Ð´Ð°Ð¼Ð¸ CONST16"
+
+-#: config/xtensa/xtensa.c:1901
++#: config/xtensa/xtensa.c:1905
+ #, gcc-internal-format
+ msgid "PIC is required but not supported with CONST16 instructions"
+ msgstr "PIC не поддерживаетÑÑ Ñ ÐºÐ¾Ð¼Ð°Ð½Ð´Ð°Ð¼Ð¸ CONST16"
+
+-#: config/xtensa/xtensa.c:2745 config/xtensa/xtensa.c:2765
++#: config/xtensa/xtensa.c:2770 config/xtensa/xtensa.c:2790
+ #, fuzzy, gcc-internal-format
+ msgid "bad builtin code"
+ msgstr "некорректный вÑтроенный fcode"
+
+-#: config/xtensa/xtensa.c:2873
++#: config/xtensa/xtensa.c:2898
+ #, gcc-internal-format
+ msgid "only uninitialized variables can be placed in a .bss section"
+ msgstr "в Ñекции .bss размещаютÑÑ Ñ‚Ð¾Ð»ÑŒÐºÐ¾ неинициализированные данные"
+
+-#: ada/misc.c:261
++#: ada/misc.c:260
+ #, gcc-internal-format
+ msgid "missing argument to \"-%s\""
+ msgstr "отÑутÑтвует аргумент Ð´Ð»Ñ \"-%s\""
+
+-#: ada/misc.c:311
++#: ada/misc.c:310
+ #, gcc-internal-format
+ msgid "%<-gnat%> misspelled as %<-gant%>"
+ msgstr "ошибка: %<-gant%> вмеÑто %<-gnat%>"
+
+-#: cp/call.c:2462
++#: cp/call.c:2448
+ #, gcc-internal-format
+ msgid "%s %D(%T, %T, %T) <built-in>"
+ msgstr "%s %D(%T, %T, %T) <built-in>"
+
+-#: cp/call.c:2467
++#: cp/call.c:2453
+ #, gcc-internal-format
+ msgid "%s %D(%T, %T) <built-in>"
+ msgstr "%s %D(%T, %T) <built-in>"
+
+-#: cp/call.c:2471
++#: cp/call.c:2457
+ #, gcc-internal-format
+ msgid "%s %D(%T) <built-in>"
+ msgstr "%s %D(%T) <built-in>"
+
+-#: cp/call.c:2475
++#: cp/call.c:2461
+ #, gcc-internal-format
+ msgid "%s %T <conversion>"
+ msgstr "%s %T <conversion>"
+
+-#: cp/call.c:2477
++#: cp/call.c:2463
+ #, fuzzy, gcc-internal-format
+ msgid "%s %+#D <near match>"
+ msgstr "%J%s %+#D <near match>"
+
+-#: cp/call.c:2479 cp/pt.c:1397
++#: cp/call.c:2465 cp/pt.c:1405
+ #, gcc-internal-format
+ msgid "%s %+#D"
+ msgstr ""
+
+-#: cp/call.c:2720
++#: cp/call.c:2706
+ #, gcc-internal-format
+ msgid "conversion from %qT to %qT is ambiguous"
+ msgstr "преобразование из %qT в %qT неоднозначно"
+
+-#: cp/call.c:2873 cp/call.c:2891 cp/call.c:2954
++#: cp/call.c:2859 cp/call.c:2877 cp/call.c:2940
+ #, gcc-internal-format
+ msgid "no matching function for call to %<%D(%A)%>"
+ msgstr "нет ÑоответÑтвующей функции Ð´Ð»Ñ Ð²Ñ‹Ð·Ð¾Ð²Ð° %<%D(%A)%>"
+
+-#: cp/call.c:2894 cp/call.c:2957
++#: cp/call.c:2880 cp/call.c:2943
+ #, gcc-internal-format
+ msgid "call of overloaded %<%D(%A)%> is ambiguous"
+ msgstr "вызов перегруженной функции %<%D(%A)%> неоднозначен"
+
+ #. It's no good looking for an overloaded operator() on a
+ #. pointer-to-member-function.
+-#: cp/call.c:3029
++#: cp/call.c:3015
+ #, gcc-internal-format
+ msgid "pointer-to-member function %E cannot be called without an object; consider using .* or ->*"
+ msgstr "указатель на Ñлемент-функцию %E Ð½ÐµÐ»ÑŒÐ·Ñ Ð²Ñ‹Ð·Ð²Ð°Ñ‚ÑŒ без Ð·Ð°Ð´Ð°Ð½Ð¸Ñ Ð¾Ð±ÑŠÐµÐºÑ‚Ð°; рекомендуетÑÑ Ð¸Ñпользовать конÑтрукцию .* или ->*"
+
+-#: cp/call.c:3103
++#: cp/call.c:3089
+ #, gcc-internal-format
+ msgid "no match for call to %<(%T) (%A)%>"
+ msgstr "не найден метод Ð´Ð»Ñ Ð¿Ñ€ÐµÐ¾Ð±Ñ€Ð°Ð·Ð¾Ð²Ð°Ð½Ð¸Ñ Ð² %<(%T) (%A)%>"
+
+-#: cp/call.c:3112
++#: cp/call.c:3098
+ #, gcc-internal-format
+ msgid "call of %<(%T) (%A)%> is ambiguous"
+ msgstr "вызов %<(%T) (%A)%> неоднозначен"
+
+-#: cp/call.c:3150
++#: cp/call.c:3136
+ #, fuzzy, gcc-internal-format
+ msgid "%s for ternary %<operator?:%> in %<%E ? %E : %E%>"
+ msgstr "%s Ð´Ð»Ñ Ñ‚Ñ€ÐµÑ…Ð¸ÐµÑтного 'operator?:' в '%E ? %E : %E'"
+
+-#: cp/call.c:3156
++#: cp/call.c:3142
+ #, fuzzy, gcc-internal-format
+ msgid "%s for %<operator%s%> in %<%E%s%>"
+ msgstr "%s Ð´Ð»Ñ 'operator%s' в '%E%s'"
+
+-#: cp/call.c:3160
++#: cp/call.c:3146
+ #, fuzzy, gcc-internal-format
+ msgid "%s for %<operator[]%> in %<%E[%E]%>"
+ msgstr "%s Ð´Ð»Ñ 'operator[]' в '%E[%E]'"
+
+-#: cp/call.c:3165
++#: cp/call.c:3151
+ #, fuzzy, gcc-internal-format
+ msgid "%s for %qs in %<%s %E%>"
+ msgstr "%s Ð´Ð»Ñ %qs в '%s %E'"
+
+-#: cp/call.c:3170
++#: cp/call.c:3156
+ #, fuzzy, gcc-internal-format
+ msgid "%s for %<operator%s%> in %<%E %s %E%>"
+ msgstr "%s Ð´Ð»Ñ 'operator%s' в '%E %s %E'"
+
+-#: cp/call.c:3173
++#: cp/call.c:3159
+ #, fuzzy, gcc-internal-format
+ msgid "%s for %<operator%s%> in %<%s%E%>"
+ msgstr "%s Ð´Ð»Ñ 'operator%s' в '%s%E'"
+
+-#: cp/call.c:3265
++#: cp/call.c:3251
+ #, gcc-internal-format
+ msgid "ISO C++ forbids omitting the middle term of a ?: expression"
+ msgstr "ISO C++ запрещает опуÑкать Ñредний операнд Ð²Ñ‹Ñ€Ð°Ð¶ÐµÐ½Ð¸Ñ ?:"
+
+-#: cp/call.c:3343
++#: cp/call.c:3329
+ #, gcc-internal-format
+ msgid "second operand to the conditional operator is of type %<void%>, but the third operand is neither a throw-expression nor of type %<void%>"
+ msgstr ""
+
+-#: cp/call.c:3348
++#: cp/call.c:3334
+ #, gcc-internal-format
+ msgid "third operand to the conditional operator is of type %<void%>, but the second operand is neither a throw-expression nor of type %<void%>"
+ msgstr ""
+
+-#: cp/call.c:3389 cp/call.c:3609
++#: cp/call.c:3375 cp/call.c:3595
+ #, fuzzy, gcc-internal-format
+ msgid "operands to ?: have different types %qT and %qT"
+ msgstr "операнды Ð²Ñ‹Ñ€Ð°Ð¶ÐµÐ½Ð¸Ñ ?: имеют различные типы"
+
+-#: cp/call.c:3563
++#: cp/call.c:3549
+ #, gcc-internal-format
+ msgid "enumeral mismatch in conditional expression: %qT vs %qT"
+ msgstr "неÑоответÑтвие перечиÑлимых типов в уÑловном выражении: %qT vs %qT"
+
+-#: cp/call.c:3570
++#: cp/call.c:3556
+ #, gcc-internal-format
+ msgid "enumeral and non-enumeral type in conditional expression"
+ msgstr "перечиÑлимый и неперечиÑлимый тип в уÑловном выражении"
+
+-#: cp/call.c:3874
++#: cp/call.c:3860
+ #, fuzzy, gcc-internal-format
+ msgid "no %<%D(int)%> declared for postfix %qs, trying prefix operator instead"
+ msgstr "нет декларации `%D(int)' Ð´Ð»Ñ Ð¿Ð¾ÑтфикÑного %qs, попробуем применить ÑоответÑтвующую префикÑную операцию"
+
+-#: cp/call.c:3947
++#: cp/call.c:3936
+ #, gcc-internal-format
+ msgid "comparison between %q#T and %q#T"
+ msgstr "Ñравнение между %q#T и %q#T"
+
+-#: cp/call.c:4229
++#: cp/call.c:4218
+ #, gcc-internal-format
+ msgid "no corresponding deallocation function for `%D'"
+ msgstr ""
+
+-#: cp/call.c:4234
++#: cp/call.c:4223
+ #, fuzzy, gcc-internal-format
+ msgid "no suitable %<operator %s%> for %qT"
+ msgstr "нет подходÑщего `operator %s' Ð´Ð»Ñ %qT"
+
+-#: cp/call.c:4252
++#: cp/call.c:4241
+ #, fuzzy, gcc-internal-format
+ msgid "%q+#D is private"
+ msgstr "`%+#D' - чаÑтный (private) Ñлемент"
+
+-#: cp/call.c:4254
++#: cp/call.c:4243
+ #, fuzzy, gcc-internal-format
+ msgid "%q+#D is protected"
+ msgstr "`%+#D' - защищенный (protected) Ñлемент"
+
+-#: cp/call.c:4256
++#: cp/call.c:4245
+ #, fuzzy, gcc-internal-format
+ msgid "%q+#D is inaccessible"
+ msgstr "`%+#D' недоÑтупен"
+
+-#: cp/call.c:4257
++#: cp/call.c:4246
+ #, gcc-internal-format
+ msgid "within this context"
+ msgstr "в данном контекÑте"
+
+-#: cp/call.c:4303
++#: cp/call.c:4292
+ #, fuzzy, gcc-internal-format
+ msgid "passing NULL to non-pointer argument %P of %qD"
+ msgstr "переданное значение NULL иÑпользуетÑÑ Ð´Ð»Ñ %s %P в %qD"
+
+-#: cp/call.c:4306
++#: cp/call.c:4295
+ #, fuzzy, gcc-internal-format
+ msgid "converting to non-pointer type %qT from NULL"
+ msgstr "%s неуказательному типу %qT Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ñ NULL"
+
+-#: cp/call.c:4312
++#: cp/call.c:4301
+ #, fuzzy, gcc-internal-format
+ msgid "converting %<false%> to pointer type for argument %P of %qD"
+ msgstr "ошибка Ð¿Ñ€ÐµÐ¾Ð±Ñ€Ð°Ð·Ð¾Ð²Ð°Ð½Ð¸Ñ %qT в %qT Ð´Ð»Ñ Ð°Ñ€Ð³ÑƒÐ¼ÐµÐ½Ñ‚Ð° `%P' функции %qD"
+
+-#: cp/call.c:4356 cp/cvt.c:217
++#: cp/call.c:4346 cp/cvt.c:217
+ #, gcc-internal-format
+ msgid "invalid conversion from %qT to %qT"
+ msgstr "некорректное преобразование из %qT в %qT"
+
+-#: cp/call.c:4358
++#: cp/call.c:4348
+ #, gcc-internal-format
+ msgid " initializing argument %P of %qD"
+ msgstr " при инициализации %P -го аргумента %qD"
+
+-#: cp/call.c:4491
++#: cp/call.c:4498
+ #, gcc-internal-format
+ msgid "cannot bind bitfield %qE to %qT"
+ msgstr "недопуÑтимое ÑвÑзывание битового Ð¿Ð¾Ð»Ñ %qE Ñ %qT"
+
+-#: cp/call.c:4494 cp/call.c:4510
++#: cp/call.c:4501 cp/call.c:4517
+ #, gcc-internal-format
+ msgid "cannot bind packed field %qE to %qT"
+ msgstr "недопуÑтимое ÑвÑзывание упакованного Ð¿Ð¾Ð»Ñ %qE Ñ %qT"
+
+-#: cp/call.c:4497
++#: cp/call.c:4504
+ #, gcc-internal-format
+ msgid "cannot bind rvalue %qE to %qT"
+ msgstr "недопуÑтимое ÑвÑзывание rvalue %qE Ñ %qT"
+
+-#: cp/call.c:4611
++#: cp/call.c:4620
+ #, gcc-internal-format
+ msgid "cannot pass objects of non-POD type %q#T through %<...%>; call will abort at runtime"
+ msgstr "Ð½ÐµÐºÐ¾Ñ€Ñ€ÐµÐºÑ‚Ð½Ð°Ñ Ð¿ÐµÑ€ÐµÐ´Ð°Ñ‡Ð° объекта не POD-типа %q#T через %<...%>; вызов завершитÑÑ Ð°Ð²Ð°Ñ€Ð¸Ð¹Ð½Ð¾ во Ð²Ñ€ÐµÐ¼Ñ Ð²Ñ‹Ð¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ñ"
+
+ #. Undefined behavior [expr.call] 5.2.2/7.
+-#: cp/call.c:4639
++#: cp/call.c:4648
+ #, gcc-internal-format
+ msgid "cannot receive objects of non-POD type %q#T through %<...%>; call will abort at runtime"
+ msgstr "некорректное получение объекта не POD-типа %q#T через %<...%>; вызов завершитÑÑ Ð°Ð²Ð°Ñ€Ð¸Ð¹Ð½Ð¾ во Ð²Ñ€ÐµÐ¼Ñ Ð²Ñ‹Ð¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ñ"
+
+-#: cp/call.c:4687
++#: cp/call.c:4696
+ #, gcc-internal-format
+ msgid "the default argument for parameter %d of %qD has not yet been parsed"
+ msgstr "аргумент по умолчанию Ð´Ð»Ñ Ð¿Ð°Ñ€Ð°Ð¼ÐµÑ‚Ñ€Ð° %d %qD еще не был проанализирован"
+
+-#: cp/call.c:4697
++#: cp/call.c:4706
+ #, fuzzy, gcc-internal-format
+ msgid "recursive evaluation of default argument for %q#D"
+ msgstr "повторное определение аргумента по умолчанию Ð´Ð»Ñ `%#D'"
+
+-#: cp/call.c:4802
++#: cp/call.c:4811
+ #, fuzzy, gcc-internal-format
+ msgid "argument of function call might be a candidate for a format attribute"
+ msgstr "Предупреждать о функциÑÑ…, которым можно назначить атрибут format"
+
+-#: cp/call.c:4950
++#: cp/call.c:4959
+ #, fuzzy, gcc-internal-format
+ msgid "passing %qT as %<this%> argument of %q#D discards qualifiers"
+ msgstr "передача %qT как `this'-аргумента `%#D' отменÑет квалификаторы"
+
+-#: cp/call.c:4969
++#: cp/call.c:4978
+ #, gcc-internal-format
+ msgid "%qT is not an accessible base of %qT"
+ msgstr "%qT не ÑвлÑетÑÑ Ð±Ð°Ð·Ð¾Ð²Ñ‹Ð¼ Ð´Ð»Ñ %qT"
+
+-#: cp/call.c:5229
++#: cp/call.c:5238
+ #, gcc-internal-format
+ msgid "could not find class$ field in java interface type %qT"
+ msgstr "не найдено поле клаÑÑа в интерфейÑном типе java %qT"
+
+-#: cp/call.c:5470
++#: cp/call.c:5479
+ #, gcc-internal-format
+ msgid "call to non-function %qD"
+ msgstr "вызов не функции %qD"
+
+-#: cp/call.c:5595
++#: cp/call.c:5604
+ #, gcc-internal-format
+ msgid "no matching function for call to %<%T::%s(%A)%#V%>"
+ msgstr "нет подходÑщей функции Ð´Ð»Ñ Ð²Ñ‹Ð·Ð¾Ð²Ð° %<%T::%s(%A)%#V%>"
+
+-#: cp/call.c:5613
++#: cp/call.c:5622
+ #, gcc-internal-format
+ msgid "call of overloaded %<%s(%A)%> is ambiguous"
+ msgstr "вызов перегруженной %<%s(%A)%> имеет неоднозначную трактовку"
+
+-#: cp/call.c:5639
++#: cp/call.c:5648
+ #, gcc-internal-format
+ msgid "cannot call member function %qD without object"
+ msgstr "некорректный вызов Ñлемента-функции %qD без объекта"
+
+-#: cp/call.c:6283
++#: cp/call.c:6307
+ #, gcc-internal-format
+ msgid "passing %qT chooses %qT over %qT"
+ msgstr "при передаче %qT предпочтение отдаетÑÑ %qT, а не %qT"
+
+-#: cp/call.c:6285 cp/name-lookup.c:4320 cp/name-lookup.c:4753
++#: cp/call.c:6309 cp/name-lookup.c:4322 cp/name-lookup.c:4757
+ #, gcc-internal-format
+ msgid " in call to %qD"
+ msgstr " в вызове %qD"
+
+-#: cp/call.c:6342
++#: cp/call.c:6366
+ #, gcc-internal-format
+ msgid "choosing %qD over %qD"
+ msgstr "предпочтение отдаетÑÑ %qD (а не %qD)"
+
+-#: cp/call.c:6343
++#: cp/call.c:6367
+ #, gcc-internal-format
+ msgid " for conversion from %qT to %qT"
+ msgstr " при преобразовании из %qT в %qT,"
+
+-#: cp/call.c:6345
++#: cp/call.c:6369
+ #, gcc-internal-format
+ msgid " because conversion sequence for the argument is better"
+ msgstr " поÑкольку Ñто дает лучшую поÑледовательноÑÑ‚ÑŒ преобразований аргумента"
+
+-#: cp/call.c:6459
++#: cp/call.c:6483
+ #, 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.c:6603
++#: cp/call.c:6627
+ #, gcc-internal-format
+ msgid "could not convert %qE to %qT"
+ msgstr "ошибка Ð¿Ñ€ÐµÐ¾Ð±Ñ€Ð°Ð·Ð¾Ð²Ð°Ð½Ð¸Ñ %qE в %qT"
+
+-#: cp/call.c:6737
++#: cp/call.c:6761
+ #, gcc-internal-format
+ msgid "invalid initialization of non-const reference of type %qT from a temporary of type %qT"
+ msgstr "Ð½ÐµÐºÐ¾Ñ€Ñ€ÐµÐºÑ‚Ð½Ð°Ñ Ð¸Ð½Ð¸Ñ†Ð¸Ð°Ð»Ð¸Ð·Ð°Ñ†Ð¸Ñ Ð½ÐµÐºÐ¾Ð½Ñтантной ÑÑылки типа %qT из временного Ð²Ñ‹Ñ€Ð°Ð¶ÐµÐ½Ð¸Ñ Ñ‚Ð¸Ð¿Ð° %qT"
+
+-#: cp/call.c:6741
++#: cp/call.c:6765
+ #, gcc-internal-format
+ msgid "invalid initialization of reference of type %qT from expression of type %qT"
+ msgstr "Ð½ÐµÐºÐ¾Ñ€Ñ€ÐµÐºÑ‚Ð½Ð°Ñ Ð¸Ð½Ð¸Ñ†Ð¸Ð°Ð»Ð¸Ð·Ð°Ñ†Ð¸Ñ ÑÑылки типа %qT из Ð²Ñ‹Ñ€Ð°Ð¶ÐµÐ½Ð¸Ñ Ñ‚Ð¸Ð¿Ð° %qT"
+@@ -27063,343 +27026,343 @@
+ msgid "cannot convert from base %qT to derived type %qT via virtual base %qT"
+ msgstr "ошибка Ð¿Ñ€ÐµÐ¾Ð±Ñ€Ð°Ð·Ð¾Ð²Ð°Ð½Ð¸Ñ Ð±Ð°Ð·Ð¾Ð²Ð¾Ð³Ð¾ %qT в производный тип %qT через виртуальный базовый тип %qT"
+
+-#: cp/class.c:961
++#: cp/class.c:971
+ #, gcc-internal-format
+ msgid "Java class %qT cannot have a destructor"
+ msgstr "Java-клаÑÑ %qT не может иметь деÑтруктор"
+
+-#: cp/class.c:963
++#: cp/class.c:973
+ #, gcc-internal-format
+ msgid "Java class %qT cannot have an implicit non-trivial destructor"
+ msgstr "Java-клаÑÑ %qT не может иметь нетривиальный неÑвный деÑтруктор"
+
+-#: cp/class.c:1062
++#: cp/class.c:1074
+ #, fuzzy, gcc-internal-format
+ msgid "repeated using declaration %q+D"
+ msgstr "Ð´Ð»Ñ Ð´ÐµÐºÐ»Ð°Ñ€Ð°Ñ†Ð¸Ð¸ шаблона %qD"
+
+-#: cp/class.c:1064
++#: cp/class.c:1076
+ #, fuzzy, gcc-internal-format
+ msgid "using declaration %q+D conflicts with a previous using declaration"
+ msgstr "%JÑекциÑ, Ð·Ð°Ð´Ð°Ð½Ð½Ð°Ñ Ð´Ð»Ñ %qD, противоречит предшеÑтвующей декларации"
+
+-#: cp/class.c:1069
++#: cp/class.c:1081
+ #, fuzzy, gcc-internal-format
+ msgid "%q+#D cannot be overloaded"
+ msgstr "`%#D' и `%#D' не могут быть перегружены"
+
+-#: cp/class.c:1070
++#: cp/class.c:1082
+ #, gcc-internal-format
+ msgid "with %q+#D"
+ msgstr ""
+
+-#: cp/class.c:1137
++#: cp/class.c:1149
+ #, gcc-internal-format
+ msgid "conflicting access specifications for method %q+D, ignored"
+ msgstr "противоречивые Ñпецификации доÑтупа Ð´Ð»Ñ Ð¼ÐµÑ‚Ð¾Ð´Ð° %q+D, игнорируютÑÑ"
+
+-#: cp/class.c:1140
++#: cp/class.c:1152
+ #, fuzzy, gcc-internal-format
+ msgid "conflicting access specifications for field %qE, ignored"
+ msgstr "противоречивые Ñпецификации доÑтупа Ð´Ð»Ñ Ð¿Ð¾Ð»Ñ %qs, игнорируютÑÑ"
+
+-#: cp/class.c:1201 cp/class.c:1209
++#: cp/class.c:1213 cp/class.c:1221
+ #, fuzzy, gcc-internal-format
+ msgid "%q+D invalid in %q#T"
+ msgstr "%qD некорректно в %qT"
+
+-#: cp/class.c:1202
++#: cp/class.c:1214
+ #, fuzzy, gcc-internal-format
+ msgid " because of local method %q+#D with same name"
+ msgstr " поÑкольку имеетÑÑ Ð»Ð¾ÐºÐ°Ð»ÑŒÐ½Ñ‹Ð¹ метод `%#D' Ñ Ñ‚ÐµÐ¼ же именем"
+
+-#: cp/class.c:1210
++#: cp/class.c:1222
+ #, fuzzy, gcc-internal-format
+ msgid " because of local member %q+#D with same name"
+ msgstr " поÑкольку имеетÑÑ Ð»Ð¾ÐºÐ°Ð»ÑŒÐ½Ñ‹Ð¹ Ñлемент `%#D' Ñ Ñ‚ÐµÐ¼ же именем"
+
+-#: cp/class.c:1253
++#: cp/class.c:1265
+ #, gcc-internal-format
+ msgid "base class %q#T has a non-virtual destructor"
+ msgstr "базовый клаÑÑ %q#T имеет невиртуальный деÑтруктор"
+
+-#: cp/class.c:1570
++#: cp/class.c:1582
+ #, gcc-internal-format
+ msgid "all member functions in class %qT are private"
+ msgstr "вÑе Ñлементы-функции в клаÑÑе %qT - чаÑтные (private)"
+
+-#: cp/class.c:1582
++#: cp/class.c:1594
+ #, gcc-internal-format
+ msgid "%q#T only defines a private destructor and has no friends"
+ msgstr "в %q#T определен только private деÑтруктор и нет друзей"
+
+-#: cp/class.c:1626
++#: cp/class.c:1639
+ #, gcc-internal-format
+ msgid "%q#T only defines private constructors and has no friends"
+ msgstr "в %q#T определен только private конÑтруктор и нет друзей"
+
+-#: cp/class.c:2019
++#: cp/class.c:2032
+ #, gcc-internal-format
+ msgid "no unique final overrider for %qD in %qT"
+ msgstr "отÑутÑтвует уникальное переопределение %qD в %qT"
+
+ #. Here we know it is a hider, and no overrider exists.
+-#: cp/class.c:2439
++#: cp/class.c:2452
+ #, gcc-internal-format
+ msgid "%q+D was hidden"
+ msgstr "%q+D Ñкрыто"
+
+-#: cp/class.c:2440
++#: cp/class.c:2453
+ #, gcc-internal-format
+ msgid " by %q+D"
+ msgstr " методом %q+D"
+
+-#: cp/class.c:2483 cp/decl2.c:1135
++#: cp/class.c:2496 cp/decl2.c:1178
+ #, fuzzy, gcc-internal-format
+ msgid "%q+#D invalid; an anonymous union can only have non-static data members"
+ msgstr "`%#D' некорректно; в анонимном объединении допуÑтимы только неÑтатичеÑкие Ñлементы"
+
+-#: cp/class.c:2486
++#: cp/class.c:2499
+ #, fuzzy, gcc-internal-format
+ msgid "%q+#D invalid; an anonymous struct can only have non-static data members"
+ msgstr "`%#D' некорректно; в анонимном объединении допуÑтимы только неÑтатичеÑкие Ñлементы"
+
+-#: cp/class.c:2494 cp/decl2.c:1141
++#: cp/class.c:2507 cp/decl2.c:1184
+ #, fuzzy, gcc-internal-format
+ msgid "private member %q+#D in anonymous union"
+ msgstr "private-Ñлемент `%#D' в анонимном объединении"
+
+-#: cp/class.c:2496
++#: cp/class.c:2509
+ #, fuzzy, gcc-internal-format
+ msgid "private member %q+#D in anonymous struct"
+ msgstr "private-Ñлемент `%#D' в анонимном объединении"
+
+-#: cp/class.c:2501 cp/decl2.c:1143
++#: cp/class.c:2514 cp/decl2.c:1186
+ #, fuzzy, gcc-internal-format
+ msgid "protected member %q+#D in anonymous union"
+ msgstr "protected-Ñлемент `%#D' в анонимном объединении"
+
+-#: cp/class.c:2503
++#: cp/class.c:2516
+ #, fuzzy, gcc-internal-format
+ msgid "protected member %q+#D in anonymous struct"
+ msgstr "protected-Ñлемент `%#D' в анонимном объединении"
+
+-#: cp/class.c:2677
++#: cp/class.c:2695
+ #, fuzzy, gcc-internal-format
+ msgid "bit-field %q+#D with non-integral type"
+ msgstr "битовое поле `%#D' не целочиÑленного типа"
+
+-#: cp/class.c:2690
++#: cp/class.c:2708
+ #, gcc-internal-format
+ msgid "bit-field %q+D width not an integer constant"
+ msgstr "ширина битового Ð¿Ð¾Ð»Ñ %q+D не ÑвлÑетÑÑ Ñ†ÐµÐ»Ð¾Ð¹ конÑтантой"
+
+-#: cp/class.c:2695
++#: cp/class.c:2713
+ #, gcc-internal-format
+ msgid "negative width in bit-field %q+D"
+ msgstr "Ð¾Ñ‚Ñ€Ð¸Ñ†Ð°Ñ‚ÐµÐ»ÑŒÐ½Ð°Ñ ÑˆÐ¸Ñ€Ð¸Ð½Ð° битового Ð¿Ð¾Ð»Ñ %q+D"
+
+-#: cp/class.c:2700
++#: cp/class.c:2718
+ #, gcc-internal-format
+ msgid "zero width for bit-field %q+D"
+ msgstr "Ð½ÑƒÐ»ÐµÐ²Ð°Ñ ÑˆÐ¸Ñ€Ð¸Ð½Ð° битового Ð¿Ð¾Ð»Ñ %q+D"
+
+-#: cp/class.c:2706
++#: cp/class.c:2724
+ #, gcc-internal-format
+ msgid "width of %q+D exceeds its type"
+ msgstr "ширина Ð¿Ð¾Ð»Ñ %q+D превышает ширину его типа"
+
+-#: cp/class.c:2715
++#: cp/class.c:2733
+ #, gcc-internal-format
+ msgid "%q+D is too small to hold all values of %q#T"
+ msgstr "%q+D Ñлишком мало Ð´Ð»Ñ Ð¿Ñ€ÐµÐ´ÑÑ‚Ð°Ð²Ð»ÐµÐ½Ð¸Ñ Ð²Ñех значений типа %q#T"
+
+-#: cp/class.c:2772
++#: cp/class.c:2790
+ #, gcc-internal-format
+ msgid "member %q+#D with constructor not allowed in union"
+ msgstr "Ñлемент %q+#D Ñ ÐºÐ¾Ð½Ñтруктором не допуÑкаетÑÑ Ð² объединении"
+
+-#: cp/class.c:2775
++#: cp/class.c:2793
+ #, gcc-internal-format
+ msgid "member %q+#D with destructor not allowed in union"
+ msgstr "Ñлемент %q+#D Ñ Ð´ÐµÑтруктором не допуÑкаетÑÑ Ð² объединении"
+
+-#: cp/class.c:2777
++#: cp/class.c:2795
+ #, gcc-internal-format
+ msgid "member %q+#D with copy assignment operator not allowed in union"
+ msgstr "Ñлемент %q+#D Ñ Ð¾Ð¿ÐµÑ€Ð°Ñ†Ð¸ÐµÐ¹ приÑÐ²Ð°Ð¸Ð²Ð°Ð½Ð¸Ñ Ð¿ÑƒÑ‚ÐµÐ¼ ÐºÐ¾Ð¿Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ Ð½Ðµ допуÑкаетÑÑ Ð² объединении"
+
+-#: cp/class.c:2801
++#: cp/class.c:2819
+ #, gcc-internal-format
+ msgid "multiple fields in union %qT initialized"
+ msgstr "Ð¸Ð½Ð¸Ñ†Ð¸Ð°Ð»Ð¸Ð·Ð°Ñ†Ð¸Ñ Ð½ÐµÑкольких полей в объединении %qT"
+
+-#: cp/class.c:2890
++#: cp/class.c:2908
+ #, gcc-internal-format
+ msgid "%q+D may not be static because it is a member of a union"
+ msgstr "%q+D может быть не ÑтатичеÑким, поÑкольку Ñто Ñлемент объединениÑ"
+
+-#: cp/class.c:2895
++#: cp/class.c:2913
+ #, gcc-internal-format
+ msgid "%q+D may not have reference type %qT because it is a member of a union"
+ msgstr "%q+D может не иметь ÑÑылочного типа %qT, поÑкольку Ñто Ñлемент объединениÑ"
+
+-#: cp/class.c:2906
++#: cp/class.c:2924
+ #, gcc-internal-format
+ msgid "field %q+D invalidly declared function type"
+ msgstr "поле %q+D ошибочно декларировано Ñ Ñ‚Ð¸Ð¿Ð¾Ð¼ функции"
+
+-#: cp/class.c:2912
++#: cp/class.c:2930
+ #, gcc-internal-format
+ msgid "field %q+D invalidly declared method type"
+ msgstr "поле %q+D ошибочно декларировано Ñ Ñ‚Ð¸Ð¿Ð¾Ð¼ метода"
+
+-#: cp/class.c:2944
++#: cp/class.c:2968
+ #, gcc-internal-format
+-msgid "non-static reference %q+#D in class without a constructor"
+-msgstr "неÑтатичеÑÐºÐ°Ñ ÑÑылка %q+#D в клаÑÑе без конÑтруктора"
+-
+-#: cp/class.c:2955
+-#, gcc-internal-format
+ msgid "ignoring packed attribute because of unpacked non-POD field %q+#D"
+ msgstr "атрибут packed проигнорирован Ð´Ð»Ñ Ð½ÐµÑƒÐ¿Ð°ÐºÐ¾Ð²Ð°Ð½Ð½Ð¾Ð³Ð¾ не-POD Ð¿Ð¾Ð»Ñ %q+#D"
+
+-#: cp/class.c:3022
++#: cp/class.c:3047
+ #, gcc-internal-format
+-msgid "non-static const member %q+#D in class without a constructor"
+-msgstr "неÑтатичеÑкий конÑтантный Ñлемент %q+#D в клаÑÑе без конÑтруктора"
+-
+-#: cp/class.c:3037
+-#, gcc-internal-format
+ msgid "field %q+#D with same name as class"
+ msgstr "поле %q+#D Ñ Ñ‚ÐµÐ¼ же именем, что и клаÑÑ"
+
+-#: cp/class.c:3068
++#: cp/class.c:3078
+ #, gcc-internal-format
+ msgid "%q#T has pointer data members"
+ msgstr "%q+#T Ñодержит Ñлементы данных типа указатель"
+
+-#: cp/class.c:3073
++#: cp/class.c:3083
+ #, gcc-internal-format
+ msgid " but does not override %<%T(const %T&)%>"
+ msgstr " но не переопределÑет %<%T(const %T&)%>"
+
+-#: cp/class.c:3075
++#: cp/class.c:3085
+ #, gcc-internal-format
+ msgid " or %<operator=(const %T&)%>"
+ msgstr " или %<operator=(const %T&)%>"
+
+-#: cp/class.c:3079
++#: cp/class.c:3089
+ #, gcc-internal-format
+ msgid " but does not override %<operator=(const %T&)%>"
+ msgstr " но не переопределÑет %<operator=(const %T&)%>"
+
+-#: cp/class.c:3540
++#: cp/class.c:3550
+ #, gcc-internal-format
+ msgid "offset of empty base %qT may not be ABI-compliant and maychange in a future version of GCC"
+ msgstr "Ñмещение пуÑтой базы %qT может быть неÑовмеÑтимо Ñ ABI и может быть изменено в будущих верÑиÑÑ… GCC"
+
+-#: cp/class.c:3665
++#: cp/class.c:3675
+ #, gcc-internal-format
+ msgid "class %qT will be considered nearly empty in a future version of GCC"
+ msgstr "клаÑÑ %qT будет раÑÑматриватьÑÑ ÐºÐ°Ðº почти пуÑтой в будущих верÑиÑÑ… GCC"
+
+-#: cp/class.c:3747
++#: cp/class.c:3757
+ #, gcc-internal-format
+ msgid "initializer specified for non-virtual method %q+D"
+ msgstr "инициализатор задан Ð´Ð»Ñ Ð½ÐµÐ²Ð¸Ñ€Ñ‚ÑƒÐ°Ð»ÑŒÐ½Ð¾Ð³Ð¾ метода %q+D"
+
+-#: cp/class.c:4412
++#: cp/class.c:4228
+ #, gcc-internal-format
++msgid "non-static reference %q+#D in class without a constructor"
++msgstr "неÑтатичеÑÐºÐ°Ñ ÑÑылка %q+#D в клаÑÑе без конÑтруктора"
++
++#: cp/class.c:4233
++#, gcc-internal-format
++msgid "non-static const member %q+#D in class without a constructor"
++msgstr "неÑтатичеÑкий конÑтантный Ñлемент %q+#D в клаÑÑе без конÑтруктора"
++
++#: cp/class.c:4488
++#, gcc-internal-format
+ msgid "offset of virtual base %qT is not ABI-compliant and may change in a future version of GCC"
+ msgstr "Ñмещение виртуальной базы %qT неÑовмеÑтимо Ñ ABI и может быть изменено в будущих верÑиÑÑ… GCC"
+
+-#: cp/class.c:4513
++#: cp/class.c:4589
+ #, gcc-internal-format
+ msgid "direct base %qT inaccessible in %qT due to ambiguity"
+ msgstr "непоÑредÑÑ‚Ð²ÐµÐ½Ð½Ð°Ñ Ð±Ð°Ð·Ð° %qT недоÑтупна в %qT из-за неоднозначноÑти"
+
+-#: cp/class.c:4525
++#: cp/class.c:4601
+ #, gcc-internal-format
+ msgid "virtual base %qT inaccessible in %qT due to ambiguity"
+ msgstr "Ð²Ð¸Ñ€Ñ‚ÑƒÐ°Ð»ÑŒÐ½Ð°Ñ Ð±Ð°Ð·Ð° %qT недоÑтупна в %qT из-за неоднозначноÑти"
+
+-#: cp/class.c:4704
++#: cp/class.c:4780
+ #, gcc-internal-format
+ msgid "size assigned to %qT may not be ABI-compliant and may change in a future version of GCC"
+ msgstr "размер, приÑвоенный %qT, может быть неÑовмеÑтим Ñ ABI и может быть изменен в будущих верÑиÑÑ… GCC"
+
+-#: cp/class.c:4744
++#: cp/class.c:4820
+ #, gcc-internal-format
+ msgid "the offset of %qD may not be ABI-compliant and may change in a future version of GCC"
+ msgstr "Ñмещение %qD может быть неÑовмеÑтимо Ñ ABI и может быть изменено в будущих верÑиÑÑ… GCC"
+
+-#: cp/class.c:4772
++#: cp/class.c:4848
+ #, gcc-internal-format
+ msgid "offset of %q+D is not ABI-compliant and may change in a future version of GCC"
+ msgstr "Ñмещение %q+D неÑовмеÑтимо Ñ ABI и может изменитьÑÑ Ð² будущих верÑиÑÑ… GCC"
+
+-#: cp/class.c:4781
++#: cp/class.c:4857
+ #, gcc-internal-format
+ msgid "%q+D contains empty classes which may cause base classes to be placed at different locations in a future version of GCC"
+ msgstr "%q+D Ñодержит пуÑтые клаÑÑÑ‹; поÑтому базовые клаÑÑÑ‹ могут размещены иначе в будущих верÑиÑÑ… GCC"
+
+-#: cp/class.c:4864
++#: cp/class.c:4944
+ #, gcc-internal-format
+ msgid "layout of classes derived from empty class %qT may change in a future version of GCC"
+ msgstr "предÑтавление клаÑÑов, производных от пуÑтого клаÑÑа %qT, может изменитьÑÑ Ð² будущих верÑиÑÑ… GCC"
+
+-#: cp/class.c:5010 cp/parser.c:14608
++#: cp/class.c:5090 cp/parser.c:14688
+ #, gcc-internal-format
+ msgid "redefinition of %q#T"
+ msgstr "повторное определение %q#T"
+
+-#: cp/class.c:5166
++#: cp/class.c:5246
+ #, gcc-internal-format
+ msgid "%q#T has virtual functions and accessible non-virtual destructor"
+ msgstr "%q#T Ñодержит виртуальные функции, но невиртуальный деÑтруктор"
+
+-#: cp/class.c:5268
++#: cp/class.c:5348
+ #, gcc-internal-format
+ msgid "trying to finish struct, but kicked out due to previous parse errors"
+ msgstr "не удалоÑÑŒ завершить Ñтруктуру из-за предыдущих грамматичеÑких ошибок"
+
+-#: cp/class.c:5728
++#: cp/class.c:5808
+ #, gcc-internal-format
+ msgid "language string %<\"%E\"%> not recognized"
+ msgstr "Ð½ÐµÐºÐ¾Ñ€Ñ€ÐµÐºÑ‚Ð½Ð°Ñ Ñтрока %<\"%E\"%>, Ð·Ð°Ð´Ð°ÑŽÑ‰Ð°Ñ Ñзык"
+
+-#: cp/class.c:5817
++#: cp/class.c:5897
+ #, gcc-internal-format
+ msgid "cannot resolve overloaded function %qD based on conversion to type %qT"
+ msgstr "ошибка при выборе перегруженной функции %qD при преобразовании к типу %qT"
+
+-#: cp/class.c:5946
++#: cp/class.c:6026
+ #, gcc-internal-format
+ msgid "no matches converting function %qD to type %q#T"
+ msgstr "нет ÑпоÑоба Ð´Ð»Ñ Ð¿Ñ€ÐµÐ¾Ð±Ñ€Ð°Ð·Ð¾Ð²Ð°Ð½Ð¸Ñ Ñ„ÑƒÐ½ÐºÑ†Ð¸Ð¸ %qD к типу %q#T"
+
+-#: cp/class.c:5969
++#: cp/class.c:6049
+ #, gcc-internal-format
+ msgid "converting overloaded function %qD to type %q#T is ambiguous"
+ msgstr "преобразование перегруженной функции %qD к типу %q#T неоднозначно"
+
+-#: cp/class.c:5995
++#: cp/class.c:6075
+ #, gcc-internal-format
+ msgid "assuming pointer to member %qD"
+ msgstr "предполагаетÑÑ ÑƒÐºÐ°Ð·Ð°Ñ‚ÐµÐ»ÑŒ на Ñлемент %qD"
+
+-#: cp/class.c:5998
++#: cp/class.c:6078
+ #, gcc-internal-format
+ msgid "(a pointer to member can only be formed with %<&%E%>)"
+ msgstr "(указатель на Ñлемент можно получить только при помощи %<&%E%>)"
+
+-#: cp/class.c:6054 cp/class.c:6088
++#: cp/class.c:6134 cp/class.c:6168
+ #, gcc-internal-format
+ msgid "not enough type information"
+ msgstr "недоÑÑ‚Ð°Ñ‚Ð¾Ñ‡Ð½Ð°Ñ Ð¸Ð½Ñ„Ð¾Ñ€Ð¼Ð°Ñ†Ð¸Ñ Ð¾ типе"
+
+-#: cp/class.c:6071
++#: cp/class.c:6151
+ #, gcc-internal-format
+ msgid "argument of type %qT does not match %qT"
+ msgstr "аргумент типа %qT не ÑоответÑтвует типу %qT"
+@@ -27409,12 +27372,12 @@
+ #. A name N used in a class S shall refer to the same declaration
+ #. in its context and when re-evaluated in the completed scope of
+ #. S.
+-#: cp/class.c:6358 cp/decl.c:1199 cp/name-lookup.c:526
++#: cp/class.c:6438 cp/decl.c:1200 cp/name-lookup.c:525
+ #, gcc-internal-format
+ msgid "declaration of %q#D"
+ msgstr "Ð´ÐµÐºÐ»Ð°Ñ€Ð°Ñ†Ð¸Ñ %q#D"
+
+-#: cp/class.c:6359
++#: cp/class.c:6439
+ #, gcc-internal-format
+ msgid "changes meaning of %qD from %q+#D"
+ msgstr "делает трактовку %qD отличной от %q+#D"
+@@ -27449,7 +27412,7 @@
+ msgid "conversion from %qT to %qT discards qualifiers"
+ msgstr "преобразование из %qT в %qT отменÑет квалификаторы"
+
+-#: cp/cvt.c:470 cp/typeck.c:5257
++#: cp/cvt.c:470 cp/typeck.c:5265
+ #, gcc-internal-format
+ msgid "casting %qT to %qT does not dereference pointer"
+ msgstr "преобразование %qT в %qT не Ñнимает указатель"
+@@ -27459,190 +27422,190 @@
+ msgid "cannot convert type %qT to type %qT"
+ msgstr "некорректное преобразование от типа %qT к типу %qT"
+
+-#: cp/cvt.c:656
++#: cp/cvt.c:649
+ #, gcc-internal-format
+ msgid "conversion from %q#T to %q#T"
+ msgstr "преобразование из %q#T в %q#T"
+
+-#: cp/cvt.c:668 cp/cvt.c:688
++#: cp/cvt.c:661 cp/cvt.c:681
+ #, gcc-internal-format
+ msgid "%q#T used where a %qT was expected"
+ msgstr "%q#T иÑпользовано там, где ожидалоÑÑŒ %qT"
+
+-#: cp/cvt.c:703
++#: cp/cvt.c:696
+ #, gcc-internal-format
+ msgid "%q#T used where a floating point value was expected"
+ msgstr "%q#T иÑпользовано там, где ожидалоÑÑŒ плавающее значение"
+
+-#: cp/cvt.c:750
++#: cp/cvt.c:743
+ #, gcc-internal-format
+ msgid "conversion from %qT to non-scalar type %qT requested"
+ msgstr "запрошено преобразование от %qT к неÑкалÑрному типу %qT"
+
+-#: cp/cvt.c:784
++#: cp/cvt.c:777
+ #, gcc-internal-format
+ msgid "pseudo-destructor is not called"
+ msgstr "пÑевдо-деÑтруктор не вызываетÑÑ"
+
+-#: cp/cvt.c:844
++#: cp/cvt.c:837
+ #, gcc-internal-format
+ msgid "object of incomplete type %qT will not be accessed in %s"
+ msgstr "доÑтуп к объекту неполного типа %qT не будет оÑущеÑтвлён в %s"
+
+-#: cp/cvt.c:849
++#: cp/cvt.c:842
+ #, gcc-internal-format
+ msgid "object of type %qT will not be accessed in %s"
+ msgstr "доÑтуп к объекту типа %qT не будет оÑущеÑтвлён в %s"
+
+-#: cp/cvt.c:865
++#: cp/cvt.c:858
+ #, gcc-internal-format
+ msgid "object %qE of incomplete type %qT will not be accessed in %s"
+ msgstr "доÑтуп к объекту %qE неполного типа %qT не будет оÑущеÑтвлён в %s"
+
+ #. [over.over] enumerates the places where we can take the address
+ #. of an overloaded function, and this is not one of them.
+-#: cp/cvt.c:902
++#: cp/cvt.c:895
+ #, gcc-internal-format
+ msgid "%s cannot resolve address of overloaded function"
+ msgstr "%s: ошибка при определении адреÑа перегруженной функции"
+
+ #. Only warn when there is no &.
+-#: cp/cvt.c:909
++#: cp/cvt.c:902
+ #, gcc-internal-format
+ msgid "%s is a reference, not call, to function %qE"
+ msgstr "%s ÑÑылка, а не вызов функции %qE"
+
+-#: cp/cvt.c:926
++#: cp/cvt.c:919
+ #, gcc-internal-format
+ msgid "%s has no effect"
+ msgstr "%s не имеет побочных Ñффектов"
+
+-#: cp/cvt.c:958
++#: cp/cvt.c:951
+ #, gcc-internal-format
+ msgid "value computed is not used"
+ msgstr "вычиÑленное значение не иÑпользуетÑÑ"
+
+-#: cp/cvt.c:1068
++#: cp/cvt.c:1061
+ #, gcc-internal-format
+ msgid "converting NULL to non-pointer type"
+ msgstr "преобразование NULL к неуказательному типу"
+
+-#: cp/cvt.c:1174
++#: cp/cvt.c:1167
+ #, gcc-internal-format
+ msgid "ambiguous default type conversion from %qT"
+ msgstr "неоднозначное преобразование из типа %qT по умолчанию"
+
+-#: cp/cvt.c:1176
++#: cp/cvt.c:1169
+ #, gcc-internal-format
+ msgid " candidate conversions include %qD and %qD"
+ msgstr " возможные Ð¿Ñ€ÐµÐ¾Ð±Ñ€Ð°Ð·Ð¾Ð²Ð°Ð½Ð¸Ñ - %qD и %qD"
+
+-#: cp/decl.c:1062
++#: cp/decl.c:1063
+ #, gcc-internal-format
+ msgid "%qD was declared %<extern%> and later %<static%>"
+ msgstr "%qD продекларирован как %<extern%>, а позже как %<static%>"
+
+-#: cp/decl.c:1063 cp/decl.c:1618 objc/objc-act.c:2931 objc/objc-act.c:7503
++#: cp/decl.c:1064 cp/decl.c:1619 objc/objc-act.c:2931 objc/objc-act.c:7503
+ #, gcc-internal-format
+ msgid "previous declaration of %q+D"
+ msgstr "Ð¿Ñ€ÐµÐ´Ñ‹Ð´ÑƒÑ‰Ð°Ñ Ð´ÐµÐºÐ»Ð°Ñ€Ð°Ñ†Ð¸Ñ %q+D"
+
+-#: cp/decl.c:1096
++#: cp/decl.c:1097
+ #, gcc-internal-format
+ msgid "declaration of %qF throws different exceptions"
+ msgstr "Ð´ÐµÐºÐ»Ð°Ñ€Ð°Ñ†Ð¸Ñ %qF задает другие иÑключительные Ñитуации"
+
+-#: cp/decl.c:1097
++#: cp/decl.c:1098
+ #, gcc-internal-format
+ msgid "from previous declaration %q+F"
+ msgstr "Ð¿Ñ€ÐµÐ´Ñ‹Ð´ÑƒÑ‰Ð°Ñ Ð´ÐµÐºÐ»Ð°Ñ€Ð°Ñ†Ð¸Ñ %q+F"
+
+-#: cp/decl.c:1153
++#: cp/decl.c:1154
+ #, gcc-internal-format
+ msgid "function %q+D redeclared as inline"
+ msgstr "Ñ„ÑƒÐ½ÐºÑ†Ð¸Ñ %q+D повторно декларирована как inline"
+
+-#: cp/decl.c:1155
++#: cp/decl.c:1156
+ #, gcc-internal-format
+ msgid "previous declaration of %q+D with attribute noinline"
+ msgstr "Ð¿Ñ€ÐµÐ´Ñ‹Ð´ÑƒÑ‰Ð°Ñ Ð´ÐµÐºÐ»Ð°Ñ€Ð°Ñ†Ð¸Ñ %q+D Ñ Ð°Ñ‚Ñ€Ð¸Ð±ÑƒÑ‚Ð¾Ð¼ noinline"
+
+-#: cp/decl.c:1162
++#: cp/decl.c:1163
+ #, gcc-internal-format
+ msgid "function %q+D redeclared with attribute noinline"
+ msgstr "Ñ„ÑƒÐ½ÐºÑ†Ð¸Ñ %q+D повторно декларирована Ñ Ð°Ñ‚Ñ€Ð¸Ð±ÑƒÑ‚Ð¾Ð¼ noinline"
+
+-#: cp/decl.c:1164
++#: cp/decl.c:1165
+ #, gcc-internal-format
+ msgid "previous declaration of %q+D was inline"
+ msgstr "Ñ„ÑƒÐ½ÐºÑ†Ð¸Ñ %q+D была ранее декларирована как inline"
+
+-#: cp/decl.c:1186 cp/decl.c:1259
++#: cp/decl.c:1187 cp/decl.c:1260
+ #, gcc-internal-format
+ msgid "shadowing %s function %q#D"
+ msgstr "перекрытие %s функции %q#D"
+
+-#: cp/decl.c:1195
++#: cp/decl.c:1196
+ #, gcc-internal-format
+ msgid "library function %q#D redeclared as non-function %q#D"
+ msgstr "Ð±Ð¸Ð±Ð»Ð¸Ð¾Ñ‚ÐµÑ‡Ð½Ð°Ñ Ñ„ÑƒÐ½ÐºÑ†Ð¸Ñ %q#D декларирована повторно как не Ñ„ÑƒÐ½ÐºÑ†Ð¸Ñ %q#D"
+
+-#: cp/decl.c:1200
++#: cp/decl.c:1201
+ #, fuzzy, gcc-internal-format
+ msgid "conflicts with built-in declaration %q#D"
+ msgstr "противоречит предопределенной внутренней декларации `%#D'"
+
+-#: cp/decl.c:1254 cp/decl.c:1380 cp/decl.c:1396
++#: cp/decl.c:1255 cp/decl.c:1381 cp/decl.c:1397
+ #, fuzzy, gcc-internal-format
+ msgid "new declaration %q#D"
+ msgstr "Ð½Ð¾Ð²Ð°Ñ Ð´ÐµÐºÐ»Ð°Ñ€Ð°Ñ†Ð¸Ñ `%#D'"
+
+-#: cp/decl.c:1255
++#: cp/decl.c:1256
+ #, fuzzy, gcc-internal-format
+ msgid "ambiguates built-in declaration %q#D"
+ msgstr "делает неоднозначной предопределённую внутреннюю декларацию `%#D'"
+
+-#: cp/decl.c:1344
++#: cp/decl.c:1345
+ #, fuzzy, gcc-internal-format
+ msgid "%q#D redeclared as different kind of symbol"
+ msgstr "%J%qD повторно декларирован как Ñимвол другого вида"
+
+-#: cp/decl.c:1347
++#: cp/decl.c:1348
+ #, fuzzy, gcc-internal-format
+ msgid "previous declaration of %q+#D"
+ msgstr "Ð¿Ñ€ÐµÐ´Ñ‹Ð´ÑƒÑ‰Ð°Ñ Ð´ÐµÐºÐ»Ð°Ñ€Ð°Ñ†Ð¸Ñ %qD"
+
+-#: cp/decl.c:1366
++#: cp/decl.c:1367
+ #, fuzzy, gcc-internal-format
+ msgid "declaration of template %q#D"
+ msgstr "Ð´ÐµÐºÐ»Ð°Ñ€Ð°Ñ†Ð¸Ñ ÑˆÐ°Ð±Ð»Ð¾Ð½Ð° `%#D'"
+
+-#: cp/decl.c:1367 cp/name-lookup.c:527
++#: cp/decl.c:1368 cp/name-lookup.c:526
+ #, fuzzy, gcc-internal-format
+ msgid "conflicts with previous declaration %q+#D"
+ msgstr "противоречит предыдущей декларации `%#D'"
+
+-#: cp/decl.c:1381 cp/decl.c:1397
++#: cp/decl.c:1382 cp/decl.c:1398
+ #, fuzzy, gcc-internal-format
+ msgid "ambiguates old declaration %q+#D"
+ msgstr "делает неоднозначной предыдущую декларацию `%#D'"
+
+-#: cp/decl.c:1389
++#: cp/decl.c:1390
+ #, fuzzy, gcc-internal-format
+ msgid "declaration of C function %q#D conflicts with"
+ msgstr "Ð´ÐµÐºÐ»Ð°Ñ€Ð°Ñ†Ð¸Ñ C-функции `%#D' противоречит"
+
+-#: cp/decl.c:1391
++#: cp/decl.c:1392
+ #, fuzzy, gcc-internal-format
+ msgid "previous declaration %q+#D here"
+ msgstr "предыдущей декларации `%#D', ÐºÐ¾Ñ‚Ð¾Ñ€Ð°Ñ Ð½Ð°Ñ…Ð¾Ð´Ð¸Ñ‚ÑÑ Ð·Ð´ÐµÑÑŒ"
+
+-#: cp/decl.c:1405
++#: cp/decl.c:1406
+ #, fuzzy, gcc-internal-format
+ msgid "conflicting declaration %q#D"
+ msgstr "Ð´ÐµÐºÐ»Ð°Ñ€Ð°Ñ†Ð¸Ñ '%#D' конфликтует Ñ Ð¿Ñ€ÐµÐ´Ñ‹Ð´ÑƒÑ‰ÐµÐ¹ декларацией"
+
+-#: cp/decl.c:1406
++#: cp/decl.c:1407
+ #, fuzzy, gcc-internal-format
+ msgid "%q+D has a previous declaration as %q#D"
+ msgstr "%qD был(а) ранее декларирован(а) как `%#D'"
+@@ -27654,63 +27617,63 @@
+ #. A namespace-name defined at global scope shall not be
+ #. declared as the name of any other entity in any global scope
+ #. of the program.
+-#: cp/decl.c:1458
++#: cp/decl.c:1459
+ #, fuzzy, gcc-internal-format
+ msgid "declaration of namespace %qD conflicts with"
+ msgstr "Ð´ÐµÐºÐ»Ð°Ñ€Ð°Ñ†Ð¸Ñ `namespace %D' противоречит"
+
+-#: cp/decl.c:1459
++#: cp/decl.c:1460
+ #, fuzzy, gcc-internal-format
+ msgid "previous declaration of namespace %q+D here"
+ msgstr "Ð¿Ñ€ÐµÐ´Ñ‹Ð´ÑƒÑ‰Ð°Ñ Ð´ÐµÐºÐ»Ð°Ñ€Ð°Ñ†Ð¸Ñ `namespace %D' находитÑÑ Ð·Ð´ÐµÑÑŒ"
+
+-#: cp/decl.c:1470
++#: cp/decl.c:1471
+ #, fuzzy, gcc-internal-format
+ msgid "%q+#D previously defined here"
+ msgstr "Ñто предыдущее определение `%#D'"
+
+ #. Prototype decl follows defn w/o prototype.
+-#: cp/decl.c:1480
++#: cp/decl.c:1481
+ #, fuzzy, gcc-internal-format
+ msgid "prototype for %q+#D"
+ msgstr "прототип `%#D'"
+
+-#: cp/decl.c:1481
++#: cp/decl.c:1482
+ #, gcc-internal-format
+ msgid "%Jfollows non-prototype definition here"
+ msgstr "%Jзадан позднее, чем непрототипное определение здеÑÑŒ"
+
+-#: cp/decl.c:1521
++#: cp/decl.c:1522
+ #, fuzzy, gcc-internal-format
+ msgid "previous declaration of %q+#D with %qL linkage"
+ msgstr "Ð¿Ñ€ÐµÐ´Ñ‹Ð´ÑƒÑ‰Ð°Ñ Ð´ÐµÐºÐ»Ð°Ñ€Ð°Ñ†Ð¸Ñ `%#D' Ñ Ð¿Ñ€Ð¸Ð²Ñзкой %L"
+
+-#: cp/decl.c:1523
++#: cp/decl.c:1524
+ #, fuzzy, gcc-internal-format
+ msgid "conflicts with new declaration with %qL linkage"
+ msgstr "конфликтует Ñ Ð½Ð¾Ð²Ð¾Ð¹ декларацией Ñ Ð¿Ñ€Ð¸Ð²Ñзкой %L"
+
+-#: cp/decl.c:1546 cp/decl.c:1552
++#: cp/decl.c:1547 cp/decl.c:1553
+ #, fuzzy, gcc-internal-format
+ msgid "default argument given for parameter %d of %q#D"
+ msgstr "аргумент по умолчанию Ð´Ð»Ñ Ð¿Ð°Ñ€Ð°Ð¼ÐµÑ‚Ñ€Ð° %d функции `%#D'"
+
+-#: cp/decl.c:1548 cp/decl.c:1554
++#: cp/decl.c:1549 cp/decl.c:1555
+ #, fuzzy, gcc-internal-format
+ msgid "after previous specification in %q+#D"
+ msgstr "поÑле предыдущей Ñпецификации в `%#D'"
+
+-#: cp/decl.c:1563
++#: cp/decl.c:1564
+ #, fuzzy, gcc-internal-format
+ msgid "%q#D was used before it was declared inline"
+ msgstr "`%#D' иÑпользована до ее декларации как inline"
+
+-#: cp/decl.c:1564
++#: cp/decl.c:1565
+ #, gcc-internal-format
+ msgid "%Jprevious non-inline declaration here"
+ msgstr "%JÑто Ð¿Ñ€ÐµÐ´Ñ‹Ð´ÑƒÑ‰Ð°Ñ Ð½Ðµ-inline декларациÑ"
+
+-#: cp/decl.c:1617
++#: cp/decl.c:1618
+ #, gcc-internal-format
+ msgid "redundant redeclaration of %qD in same scope"
+ msgstr "Ð¸Ð·Ð±Ñ‹Ñ‚Ð¾Ñ‡Ð½Ð°Ñ Ð¿Ð¾Ð²Ñ‚Ð¾Ñ€Ð½Ð°Ñ Ð´ÐµÐºÐ»Ð°Ñ€Ð°Ñ†Ð¸Ñ %qD в той же облаÑти видимоÑти"
+@@ -27723,313 +27686,319 @@
+ #. that specialization that would cause an implicit
+ #. instantiation to take place, in every translation unit in
+ #. which such a use occurs.
+-#: cp/decl.c:1932
++#: cp/decl.c:1939
+ #, fuzzy, gcc-internal-format
+ msgid "explicit specialization of %qD after first use"
+ msgstr "ÑÐ²Ð½Ð°Ñ ÑÐ¿ÐµÑ†Ð¸Ð°Ð»Ð¸Ð·Ð°Ñ†Ð¸Ñ %D поÑле первого иÑпользованиÑ"
+
+-#: cp/decl.c:2028
++#: cp/decl.c:2035
+ #, fuzzy, gcc-internal-format
+ msgid "%q+D: visibility attribute ignored because it"
+ msgstr "%J%qD: атрибут видимоÑти игнорируетÑÑ, поÑкольку он"
+
+-#: cp/decl.c:2030
++#: cp/decl.c:2037
+ #, gcc-internal-format
+ msgid "%Jconflicts with previous declaration here"
+ msgstr "%Jпротиворечит предыдущей декларации здеÑÑŒ"
+
+-#: cp/decl.c:2457
++#: cp/decl.c:2464
+ #, gcc-internal-format
+ msgid "jump to label %qD"
+ msgstr "переход по метке %qD"
+
+-#: cp/decl.c:2459
++#: cp/decl.c:2466
+ #, gcc-internal-format
+ msgid "jump to case label"
+ msgstr "переход по case-метке"
+
+-#: cp/decl.c:2461
++#: cp/decl.c:2468
+ #, gcc-internal-format
+ msgid "%H from here"
+ msgstr "%H отÑюда"
+
+-#: cp/decl.c:2480 cp/decl.c:2643
++#: cp/decl.c:2487 cp/decl.c:2650
+ #, gcc-internal-format
+ msgid " exits OpenMP structured block"
+ msgstr ""
+
+-#: cp/decl.c:2501
++#: cp/decl.c:2508
+ #, fuzzy, gcc-internal-format
+ msgid " crosses initialization of %q+#D"
+ msgstr " переÑекает инициализацию `%#D'"
+
+-#: cp/decl.c:2503 cp/decl.c:2618
++#: cp/decl.c:2510 cp/decl.c:2625
+ #, fuzzy, gcc-internal-format
+ msgid " enters scope of non-POD %q+#D"
+ msgstr " входит в облаÑÑ‚ÑŒ видимоÑти не-POD `%#D'"
+
+-#: cp/decl.c:2516 cp/decl.c:2622
++#: cp/decl.c:2523 cp/decl.c:2629
+ #, gcc-internal-format
+ msgid " enters try block"
+ msgstr " входит в try-блок"
+
+-#: cp/decl.c:2518 cp/decl.c:2624
++#: cp/decl.c:2525 cp/decl.c:2631
+ #, gcc-internal-format
+ msgid " enters catch block"
+ msgstr " входит в catch-блок"
+
+-#: cp/decl.c:2528 cp/decl.c:2627
++#: cp/decl.c:2535 cp/decl.c:2634
+ #, fuzzy, gcc-internal-format
+ msgid " enters OpenMP structured block"
+ msgstr " входит в try-блок"
+
+-#: cp/decl.c:2599 cp/decl.c:2639
++#: cp/decl.c:2606 cp/decl.c:2646
+ #, gcc-internal-format
+ msgid "jump to label %q+D"
+ msgstr "переход по метке %q+D"
+
+-#: cp/decl.c:2600 cp/decl.c:2640
++#: cp/decl.c:2607 cp/decl.c:2647
+ #, gcc-internal-format
+ msgid " from here"
+ msgstr " отÑюда"
+
+ #. Can't skip init of __exception_info.
+-#: cp/decl.c:2612
++#: cp/decl.c:2619
+ #, gcc-internal-format
+ msgid "%J enters catch block"
+ msgstr "%J входит в catch-блок"
+
+-#: cp/decl.c:2616
++#: cp/decl.c:2623
+ #, fuzzy, gcc-internal-format
+ msgid " skips initialization of %q+#D"
+ msgstr " пропуÑкает инициализацию `%#D'"
+
+-#: cp/decl.c:2692
++#: cp/decl.c:2699
+ #, gcc-internal-format
+ msgid "label named wchar_t"
+ msgstr "метка Ñ Ð¸Ð¼ÐµÐ½ÐµÐ¼ wchar_t"
+
+-#: cp/decl.c:2696
++#: cp/decl.c:2703
+ #, gcc-internal-format
+ msgid "duplicate label %qD"
+ msgstr "дублирование метки %qD"
+
+-#: cp/decl.c:2962
++#: cp/decl.c:2969
+ #, gcc-internal-format
+ msgid "%qD is not a type"
+ msgstr "%qD не ÑвлÑетÑÑ Ñ‚Ð¸Ð¿Ð¾Ð¼"
+
+-#: cp/decl.c:2968 cp/parser.c:4033
++#: cp/decl.c:2975 cp/parser.c:4037
+ #, gcc-internal-format
+ msgid "%qD used without template parameters"
+ msgstr "иÑпользование %qD без параметров шаблона"
+
+-#: cp/decl.c:2983
++#: cp/decl.c:2990
+ #, gcc-internal-format
+ msgid "%q#T is not a class"
+ msgstr "%q#T не ÑвлÑетÑÑ ÐºÐ»Ð°ÑÑом"
+
+-#: cp/decl.c:2995 cp/decl.c:3063
++#: cp/decl.c:3002 cp/decl.c:3070
+ #, gcc-internal-format
+ msgid "no class template named %q#T in %q#T"
+ msgstr "шаблон клаÑÑа Ñ Ð¸Ð¼ÐµÐ½ÐµÐ¼ %q#T' отÑутÑтвует в %q#T"
+
+-#: cp/decl.c:3003
++#: cp/decl.c:3010
+ #, fuzzy, gcc-internal-format
+ msgid "%<typename %T::%D%> names %q#T, which is not a class template"
+ msgstr "Ñоздание маÑÑива Ñлементов типа %qT, ÑвлÑющегоÑÑ Ð°Ð±Ñтрактным клаÑÑом"
+
+-#: cp/decl.c:3010
++#: cp/decl.c:3017
+ #, fuzzy, gcc-internal-format
+ msgid "%<typename %T::%D%> names %q#T, which is not a type"
+ msgstr "%<%T::%D%> не ÑвлÑетÑÑ Ñ‚Ð¸Ð¿Ð¾Ð¼"
+
+-#: cp/decl.c:3072
++#: cp/decl.c:3079
+ #, gcc-internal-format
+ msgid "template parameters do not match template"
+ msgstr "параметры не подходÑÑ‚ шаблону"
+
+-#: cp/decl.c:3073 cp/friend.c:321 cp/friend.c:329
++#: cp/decl.c:3080 cp/friend.c:321 cp/friend.c:329
+ #, gcc-internal-format
+ msgid "%q+D declared here"
+ msgstr "%q+D объÑвлено здеÑÑŒ"
+
+-#: cp/decl.c:3711
++#: cp/decl.c:3727
+ #, gcc-internal-format
+ msgid "%Jan anonymous struct cannot have function members"
+ msgstr "%JÐ°Ð½Ð¾Ð½Ð¸Ð¼Ð½Ð°Ñ Ñтруктура не может иметь Ñлементов-функций"
+
+-#: cp/decl.c:3713
++#: cp/decl.c:3729
+ #, gcc-internal-format
+ msgid "%Jan anonymous union cannot have function members"
+ msgstr "%Jанонимное объединение не может иметь Ñлементов-функций"
+
+-#: cp/decl.c:3731
++#: cp/decl.c:3747
+ #, gcc-internal-format
+ msgid "member %q+#D with constructor not allowed in anonymous aggregate"
+ msgstr "Ñлемент %q+#D Ñ ÐºÐ¾Ð½Ñтруктором недопуÑтим в анонимном агрегатном типе"
+
+-#: cp/decl.c:3734
++#: cp/decl.c:3750
+ #, gcc-internal-format
+ msgid "member %q+#D with destructor not allowed in anonymous aggregate"
+ msgstr "Ñлемент %q+#D Ñ Ð´ÐµÑтруктором недопуÑтим в анонимном агрегатном типе"
+
+-#: cp/decl.c:3737
++#: cp/decl.c:3753
+ #, gcc-internal-format
+ msgid "member %q+#D with copy assignment operator not allowed in anonymous aggregate"
+ msgstr "Ñлемент %q+#D Ñ Ð¾Ð¿ÐµÑ€Ð°Ñ†Ð¸ÐµÐ¹ приÑваиваниÑ-ÐºÐ¾Ð¿Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ Ð½ÐµÐ´Ð¾Ð¿ÑƒÑтим в анонимном агрегатном типе"
+
+-#: cp/decl.c:3762
++#: cp/decl.c:3778
+ #, gcc-internal-format
+ msgid "multiple types in one declaration"
+ msgstr "неÑколько типов в одной декларации"
+
+-#: cp/decl.c:3766
++#: cp/decl.c:3782
+ #, gcc-internal-format
+ msgid "redeclaration of C++ built-in type %qT"
+ msgstr "Ð¿Ð¾Ð²Ñ‚Ð¾Ñ€Ð½Ð°Ñ Ð´ÐµÐºÐ»Ð°Ñ€Ð°Ñ†Ð¸Ñ Ð²Ð½ÑƒÑ‚Ñ€ÐµÐ½Ð½ÐµÐ³Ð¾ типа C++ %qT"
+
+-#: cp/decl.c:3803
++#: cp/decl.c:3819
+ #, gcc-internal-format
+ msgid "missing type-name in typedef-declaration"
+ msgstr "отÑутÑтвует Ð¸Ð¼Ñ Ñ‚Ð¸Ð¿Ð° в typedef-декларации"
+
+-#: cp/decl.c:3811
++#: cp/decl.c:3827
+ #, gcc-internal-format
+ msgid "ISO C++ prohibits anonymous structs"
+ msgstr "в ISO C++ анонимные Ñтруктуры запрещены"
+
+-#: cp/decl.c:3818
++#: cp/decl.c:3834
+ #, gcc-internal-format
+ msgid "%qs can only be specified for functions"
+ msgstr "%qs допуÑтим только Ð´Ð»Ñ Ñ„ÑƒÐ½ÐºÑ†Ð¸Ð¹"
+
+-#: cp/decl.c:3824
++#: cp/decl.c:3840
+ #, gcc-internal-format
+ msgid "%<friend%> can only be specified inside a class"
+ msgstr "%<friend%> может быть задан только внутри клаÑÑа"
+
+-#: cp/decl.c:3826
++#: cp/decl.c:3842
+ #, gcc-internal-format
+ msgid "%<explicit%> can only be specified for constructors"
+ msgstr "%<explicit%> может быть задан только Ð´Ð»Ñ ÐºÐ¾Ð½Ñтрукторов"
+
+-#: cp/decl.c:3828
++#: cp/decl.c:3844
+ #, gcc-internal-format
+ msgid "a storage class can only be specified for objects and functions"
+ msgstr "клаÑÑ Ñ…Ñ€Ð°Ð½ÐµÐ½Ð¸Ñ Ð¼Ð¾Ð¶ÐµÑ‚ быть задан только Ð´Ð»Ñ Ð¾Ð±ÑŠÐµÐºÑ‚Ð¾Ð² и функций"
+
+-#: cp/decl.c:3834
++#: cp/decl.c:3850
+ #, gcc-internal-format
+ msgid "qualifiers can only be specified for objects and functions"
+ msgstr "квалификаторы могут быть заданы только Ð´Ð»Ñ Ð¾Ð±ÑŠÐµÐºÑ‚Ð¾Ð² и функций"
+
+-#: cp/decl.c:3837
++#: cp/decl.c:3853
+ #, gcc-internal-format
+ msgid "%<typedef%> was ignored in this declaration"
+ msgstr "%<typedef%> в Ñтой декларации отброшен"
+
+-#: cp/decl.c:3866
++#: cp/decl.c:3882
+ #, gcc-internal-format
+ msgid "attribute ignored in declaration of %q+#T"
+ msgstr "атрибуты декларации %q+#T отброшены"
+
+-#: cp/decl.c:3867
++#: cp/decl.c:3883
+ #, gcc-internal-format
+ msgid "attribute for %q+#T must follow the %qs keyword"
+ msgstr "атрибут Ð´Ð»Ñ %q+#T должен Ñледовать за ключевым Ñловом %qs"
+
+-#: cp/decl.c:3909
+-#, gcc-internal-format
+-msgid "ignoring attributes applied to class type outside of definition"
++#: cp/decl.c:3925
++#, fuzzy, gcc-internal-format
++msgid "ignoring attributes applied to class type %qT outside of definition"
+ msgstr "отброшены атрибуты клаÑÑа, заданные вне его объÑвлениÑ"
+
+-#: cp/decl.c:3987
++#. A template type parameter or other dependent type.
++#: cp/decl.c:3929
++#, fuzzy, gcc-internal-format
++msgid "ignoring attributes applied to dependent type %qT without an associated declaration"
++msgstr "отброшены атрибуты клаÑÑа, заданные вне его объÑвлениÑ"
++
++#: cp/decl.c:4007
+ #, gcc-internal-format
+ msgid "function %q#D is initialized like a variable"
+ msgstr "Ñ„ÑƒÐ½ÐºÑ†Ð¸Ñ %q#D инициализирована как переменнаÑ"
+
+-#: cp/decl.c:3998
++#: cp/decl.c:4018
+ #, gcc-internal-format
+ msgid "declaration of %q#D has %<extern%> and is initialized"
+ msgstr "Ð´ÐµÐºÐ»Ð°Ñ€Ð°Ñ†Ð¸Ñ %q#D Ñодержит %<extern%> и инициализацию"
+
+-#: cp/decl.c:4014
++#: cp/decl.c:4034
+ #, gcc-internal-format
+ msgid "definition of %q#D is marked %<dllimport%>"
+ msgstr "определение функции %q#D помечено %<dllimport%>"
+
+-#: cp/decl.c:4033
++#: cp/decl.c:4053
+ #, gcc-internal-format
+ msgid "%q#D is not a static member of %q#T"
+ msgstr "%q#D не ÑвлÑетÑÑ ÑтатичеÑким Ñлементом %q#T"
+
+-#: cp/decl.c:4039
++#: cp/decl.c:4059
+ #, 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.c:4048
++#: cp/decl.c:4068
+ #, gcc-internal-format
+ msgid "template header not allowed in member definition of explicitly specialized class"
+ msgstr "заголовок шаблона недопуÑтим в определении члена Ñвно Ñпециализированного клаÑÑа"
+
+-#: cp/decl.c:4056
++#: cp/decl.c:4076
+ #, gcc-internal-format
+ msgid "duplicate initialization of %qD"
+ msgstr "Ð¿Ð¾Ð²Ñ‚Ð¾Ñ€Ð½Ð°Ñ Ð¸Ð½Ð¸Ñ†Ð¸Ð°Ð»Ð¸Ð·Ð°Ñ†Ð¸Ñ %qD"
+
+-#: cp/decl.c:4095
++#: cp/decl.c:4115
+ #, gcc-internal-format
+ msgid "declaration of %q#D outside of class is not definition"
+ msgstr "Ð´ÐµÐºÐ»Ð°Ñ€Ð°Ñ†Ð¸Ñ %q#D вне клаÑÑа не ÑвлÑетÑÑ Ð¾Ð¿Ñ€ÐµÐ´ÐµÐ»ÐµÐ½Ð¸ÐµÐ¼"
+
+-#: cp/decl.c:4188
++#: cp/decl.c:4208
+ #, gcc-internal-format
+ msgid "variable %q#D has initializer but incomplete type"
+ msgstr "Ð¿ÐµÑ€ÐµÐ¼ÐµÐ½Ð½Ð°Ñ %q#D инициализирована, Ñ…Ð¾Ñ‚Ñ Ð¸Ð¼ÐµÐµÑ‚ неполный тип"
+
+-#: cp/decl.c:4194 cp/decl.c:4906
++#: cp/decl.c:4214 cp/decl.c:4926
+ #, gcc-internal-format
+ msgid "elements of array %q#D have incomplete type"
+ msgstr "Ñлементы маÑÑива %q#D имеют неполный тип"
+
+-#: cp/decl.c:4200
++#: cp/decl.c:4220
+ #, gcc-internal-format
+ msgid "aggregate %q#D has incomplete type and cannot be defined"
+ msgstr "агрегатный тип %q#D неполон и не может быть определён"
+
+-#: cp/decl.c:4236
++#: cp/decl.c:4256
+ #, gcc-internal-format
+ msgid "%qD declared as reference but not initialized"
+ msgstr "Ð¿ÐµÑ€ÐµÐ¼ÐµÐ½Ð½Ð°Ñ %qD декларирована как ÑÑылка, но не инициализирована"
+
+-#: cp/decl.c:4242
++#: cp/decl.c:4262
+ #, gcc-internal-format
+ msgid "ISO C++ forbids use of initializer list to initialize reference %qD"
+ msgstr "ISO C++ запрещает иÑпользовать ÑпиÑок инициализации Ð´Ð»Ñ ÑÑылки %qD"
+
+-#: cp/decl.c:4268
++#: cp/decl.c:4288
+ #, gcc-internal-format
+ msgid "cannot initialize %qT from %qT"
+ msgstr "недопуÑÑ‚Ð¸Ð¼Ð°Ñ Ð¸Ð½Ð¸Ñ†Ð¸Ð°Ð»Ð¸Ð·Ð°Ñ†Ð¸Ñ %qT из %qT"
+
+-#: cp/decl.c:4296
++#: cp/decl.c:4316
+ #, gcc-internal-format
+ msgid "name %qD used in a GNU-style designated initializer for an array"
+ msgstr "Ð¸Ð¼Ñ %qD иÑпользовано в назначенном инициализаторе маÑÑива, ÑвлÑющемÑÑ GNU-раÑширением Ñзыка"
+
+-#: cp/decl.c:4345
++#: cp/decl.c:4365
+ #, gcc-internal-format
+ msgid "initializer fails to determine size of %qD"
+ msgstr "при инициализации не удалоÑÑŒ определить размер %qD"
+
+-#: cp/decl.c:4352
++#: cp/decl.c:4372
+ #, gcc-internal-format
+ msgid "array size missing in %qD"
+ msgstr "не задан размер маÑÑива Ð´Ð»Ñ %qD"
+
+-#: cp/decl.c:4364
++#: cp/decl.c:4384
+ #, gcc-internal-format
+ msgid "zero-size array %qD"
+ msgstr "маÑÑив %qD имеет нулевой размер"
+@@ -28037,240 +28006,250 @@
+ #. An automatic variable with an incomplete type: that is an error.
+ #. Don't talk about array types here, since we took care of that
+ #. message in grokdeclarator.
+-#: cp/decl.c:4407
++#: cp/decl.c:4427
+ #, gcc-internal-format
+ msgid "storage size of %qD isn't known"
+ msgstr "размер %qD в памÑти неизвеÑтен"
+
+-#: cp/decl.c:4429
++#: cp/decl.c:4449
+ #, gcc-internal-format
+ msgid "storage size of %qD isn't constant"
+ msgstr "размер %qD в памÑти не ÑвлÑетÑÑ ÐºÐ¾Ð½Ñтантой"
+
+-#: cp/decl.c:4478
++#: cp/decl.c:4498
+ #, gcc-internal-format
+ msgid "sorry: semantics of inline function static data %q+#D are wrong (you'll wind up with multiple copies)"
+ msgstr "Ð½ÐµÐºÐ¾Ñ€Ñ€ÐµÐºÑ‚Ð½Ð°Ñ Ñемантика ÑтатичеÑких данных %q+#D inline-функции (придётÑÑ Ð·Ð°Ð²Ð¾Ð´Ð¸Ñ‚ÑŒ неÑколько копий)"
+
+-#: cp/decl.c:4481
++#: cp/decl.c:4501
+ #, gcc-internal-format
+ msgid "%J you can work around this by removing the initializer"
+ msgstr "%J проблему можно обойти, иÑключив инициализацию"
+
+-#: cp/decl.c:4508
++#: cp/decl.c:4528
+ #, gcc-internal-format
+ msgid "uninitialized const %qD"
+ msgstr "Ð½ÐµÐ¸Ð½Ð¸Ñ†Ð¸Ð°Ð»Ð¸Ð·Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð½Ð°Ñ ÐºÐ¾Ð½Ñтанта %qD"
+
+-#: cp/decl.c:4620
++#: cp/decl.c:4640
+ #, gcc-internal-format
+ msgid "invalid type %qT as initializer for a vector of type %qT"
+ msgstr "некорректный тип %qT ÑвлÑетÑÑ Ð¸Ð½Ð¸Ñ†Ð¸Ð°Ð»Ð¸Ð·Ð°Ñ‚Ð¾Ñ€Ð¾Ð¼ Ð´Ð»Ñ Ð²ÐµÐºÑ‚Ð¾Ñ€Ð° типа %qT"
+
+-#: cp/decl.c:4662
++#: cp/decl.c:4682
+ #, gcc-internal-format
+ msgid "initializer for %qT must be brace-enclosed"
+ msgstr "инициализатор Ð´Ð»Ñ %qT должен быт заключен в фигурные Ñкобки"
+
+-#: cp/decl.c:4680
++#: cp/decl.c:4700
+ #, gcc-internal-format
+ msgid "%qT has no non-static data member named %qD"
+ msgstr "%qT не имеет неÑтатичеÑкого Ñлемента данных Ñ Ð¸Ð¼ÐµÐ½ÐµÐ¼ %qD"
+
+-#: cp/decl.c:4731
++#: cp/decl.c:4751
+ #, gcc-internal-format
+ msgid "braces around scalar initializer for type %qT"
+ msgstr "фигурные Ñкобки вокруг ÑкалÑрного инициализатора Ð´Ð»Ñ Ñ‚Ð¸Ð¿Ð° %qT"
+
+-#: cp/decl.c:4814
++#: cp/decl.c:4834
+ #, gcc-internal-format
+ msgid "missing braces around initializer for %qT"
+ msgstr "отÑутÑтвуют фигурные Ñкобки вокруг инициализатора %qT"
+
+-#: cp/decl.c:4871
++#: cp/decl.c:4891
+ #, gcc-internal-format
+ msgid "too many initializers for %qT"
+ msgstr "избыточные Ñлементы в инициализаторе Ð´Ð»Ñ %qT"
+
+-#: cp/decl.c:4914
++#: cp/decl.c:4934
+ #, gcc-internal-format
+ msgid "variable-sized object %qD may not be initialized"
+ msgstr "Ð¸Ð½Ð¸Ñ†Ð¸Ð°Ð»Ð¸Ð·Ð°Ñ†Ð¸Ñ Ð¾Ð±ÑŠÐµÐºÑ‚Ð° %qD переменного размера недопуÑтима"
+
+-#: cp/decl.c:4920
++#: cp/decl.c:4940
+ #, gcc-internal-format
+ msgid "%qD has incomplete type"
+ msgstr "%qD имеет неполный тип"
+
+-#: cp/decl.c:4935
++#: cp/decl.c:4955
+ #, gcc-internal-format
+ msgid "scalar object %qD requires one element in initializer"
+ msgstr "в инициализаторе ÑкалÑрного объекта %qD должен быть только один Ñлемент"
+
+ #. A non-aggregate that is not a scalar cannot be initialized
+ #. via an initializer-list in C++98.
+-#: cp/decl.c:4945
++#: cp/decl.c:4965
+ #, gcc-internal-format
+ msgid "braces around initializer for non-aggregate type %qT"
+ msgstr "фигурные Ñкобки вокруг инициализатора Ð´Ð»Ñ Ð¿Ñ€Ð¾Ñтого типа %qT"
+
+-#: cp/decl.c:4995
++#: cp/decl.c:5015
+ #, gcc-internal-format
+ msgid "%qD must be initialized by constructor, not by %<{...}%>"
+ msgstr "%qD Ñледует инициализировать при помощи конÑтруктора, а не %<{...}%>"
+
+-#: cp/decl.c:5031
++#: cp/decl.c:5051
+ #, gcc-internal-format
+ msgid "array %qD initialized by parenthesized string literal %qE"
+ msgstr "маÑÑив %qD инициализируетÑÑ Ñтроковой конÑтантой %qE, заключённой в Ñкобки"
+
+-#: cp/decl.c:5046
++#: cp/decl.c:5066
+ #, gcc-internal-format
+ msgid "structure %qD with uninitialized const members"
+ msgstr "Ñтруктура %qD Ñ Ð½ÐµÐ¸Ð½Ð¸Ñ†Ð¸Ð°Ð»Ð¸Ð·Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð½Ñ‹Ð¼Ð¸ конÑтантными Ñлементами"
+
+-#: cp/decl.c:5048
++#: cp/decl.c:5068
+ #, gcc-internal-format
+ msgid "structure %qD with uninitialized reference members"
+ msgstr "Ñтруктура %qD Ñ Ð½ÐµÐ¸Ð½Ð¸Ñ†Ð¸Ð°Ð»Ð¸Ð·Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð½Ñ‹Ð¼Ð¸ Ñлементами-ÑÑылками"
+
+-#: cp/decl.c:5330
++#: cp/decl.c:5364
+ #, gcc-internal-format
+ msgid "assignment (not initialization) in declaration"
+ msgstr "приÑваивание (а не инициализациÑ) в декларации"
+
+-#: cp/decl.c:5420
++#: cp/decl.c:5460
+ #, gcc-internal-format
+ msgid "shadowing previous type declaration of %q#D"
+ msgstr "перекрытие предыдущей декларации %q#D"
+
+-#: cp/decl.c:5450
++#: cp/decl.c:5490
+ #, gcc-internal-format
+ msgid "%qD cannot be thread-local because it has non-POD type %qT"
+ msgstr "%qD не может быть локально-поточным, поÑкольку имеет не-POD тип %qT"
+
+-#: cp/decl.c:5485
++#: cp/decl.c:5522
+ #, gcc-internal-format
++msgid "Java object %qD not allocated with %<new%>"
++msgstr ""
++
++#: cp/decl.c:5539
++#, gcc-internal-format
+ msgid "%qD is thread-local and so cannot be dynamically initialized"
+ msgstr "%qD ÑвлÑетÑÑ Ð»Ð¾ÐºÐ°Ð»ÑŒÐ½Ð¾-поточным, поÑтому не может быть динамичеÑки инициализирован"
+
+-#: cp/decl.c:5503
++#: cp/decl.c:5557
+ #, gcc-internal-format
+ msgid "%qD cannot be initialized by a non-constant expression when being declared"
+ msgstr "во врема декларации не допуÑкаетÑÑ Ð¸Ð½Ð¸Ñ†Ð¸Ð°Ð»Ð¸Ð·Ð¸Ñ€Ð¾Ð²Ð°Ñ‚ÑŒ %qD неконÑтантным выражением"
+
+-#: cp/decl.c:6160
++#: cp/decl.c:5597
++#, fuzzy, gcc-internal-format
++msgid "non-static data member %qD has Java class type"
++msgstr "`%#D' не ÑвлÑетÑÑ Ð½ÐµÑтатичеÑким Ñлементом %qT"
++
++#: cp/decl.c:6232
+ #, gcc-internal-format
+ msgid "destructor for alien class %qT cannot be a member"
+ msgstr "деÑтруктор чужого клаÑÑа %qT не может быть Ñлементом"
+
+-#: cp/decl.c:6162
++#: cp/decl.c:6234
+ #, gcc-internal-format
+ msgid "constructor for alien class %qT cannot be a member"
+ msgstr "конÑтруктор чужого клаÑÑа %qT не может быть Ñлементом"
+
+-#: cp/decl.c:6183
++#: cp/decl.c:6255
+ #, gcc-internal-format
+ msgid "%qD declared as a %<virtual%> %s"
+ msgstr "%qD декларирован как %<virtual%> %s"
+
+-#: cp/decl.c:6185
++#: cp/decl.c:6257
+ #, gcc-internal-format
+ msgid "%qD declared as an %<inline%> %s"
+ msgstr "%qD декларирован как %<inline%> %s"
+
+-#: cp/decl.c:6187
++#: cp/decl.c:6259
+ #, gcc-internal-format
+ msgid "%<const%> and %<volatile%> function specifiers on %qD invalid in %s declaration"
+ msgstr "Ñпецификаторы %<const%> и %<volatile%> Ð´Ð»Ñ Ñ„ÑƒÐ½ÐºÑ†Ð¸Ð¸ %qD некорректны в декларации %s"
+
+-#: cp/decl.c:6191
++#: cp/decl.c:6263
+ #, gcc-internal-format
+ msgid "%q+D declared as a friend"
+ msgstr "%q+D декларировано как friend"
+
+-#: cp/decl.c:6197
++#: cp/decl.c:6269
+ #, gcc-internal-format
+ msgid "%q+D declared with an exception specification"
+ msgstr "%q+D декларировано Ñо Ñпецификацией иÑключительной Ñитуации"
+
+-#: cp/decl.c:6231
++#: cp/decl.c:6303
+ #, gcc-internal-format
+ msgid "definition of %qD is not in namespace enclosing %qT"
+ msgstr "определение %qD вне проÑтранÑтва имён, объемлющего %qT"
+
+-#: cp/decl.c:6342
++#: cp/decl.c:6414
+ #, gcc-internal-format
+ msgid "defining explicit specialization %qD in friend declaration"
+ msgstr "определение Ñвной Ñпециализации %qD в friend-декларации"
+
+ #. Something like `template <class T> friend void f<T>()'.
+-#: cp/decl.c:6352
++#: cp/decl.c:6424
+ #, gcc-internal-format
+ msgid "invalid use of template-id %qD in declaration of primary template"
+ msgstr "некорректное иÑпользование идентификатора шаблона %qD в декларации первичного шаблона"
+
+-#: cp/decl.c:6382
++#: cp/decl.c:6454
+ #, gcc-internal-format
+ msgid "default arguments are not allowed in declaration of friend template specialization %qD"
+ msgstr "аргументы по умолчанию не допуÑкаютÑÑ Ð² декларации Ñпециализации friend-шаблона %qD"
+
+-#: cp/decl.c:6390
++#: cp/decl.c:6462
+ #, gcc-internal-format
+ msgid "%<inline%> is not allowed in declaration of friend template specialization %qD"
+ msgstr "не допуÑкаетÑÑ Ð¸Ñпользовать %<inline%> в декларации Ñпециализации friend-шаблона %qD"
+
+-#: cp/decl.c:6433
++#: cp/decl.c:6505
+ #, gcc-internal-format
+ msgid "cannot declare %<::main%> to be a template"
+ msgstr "недопуÑÑ‚Ð¸Ð¼Ð°Ñ Ð´ÐµÐºÐ»Ð°Ñ€Ð°Ñ†Ð¸Ñ %<::main%> как шаблона"
+
+-#: cp/decl.c:6435
++#: cp/decl.c:6507
+ #, gcc-internal-format
+ msgid "cannot declare %<::main%> to be inline"
+ msgstr "недопуÑÑ‚Ð¸Ð¼Ð°Ñ Ð´ÐµÐºÐ»Ð°Ñ€Ð°Ñ†Ð¸Ñ %<::main%> как inline-функции"
+
+-#: cp/decl.c:6437
++#: cp/decl.c:6509
+ #, gcc-internal-format
+ msgid "cannot declare %<::main%> to be static"
+ msgstr "недопуÑÑ‚Ð¸Ð¼Ð°Ñ Ð´ÐµÐºÐ»Ð°Ñ€Ð°Ñ†Ð¸Ñ %<::main%> как ÑтатичеÑкой функции"
+
+-#: cp/decl.c:6465
++#: cp/decl.c:6537
+ #, gcc-internal-format
+ msgid "non-local function %q#D uses anonymous type"
+ msgstr "Ð½ÐµÐ»Ð¾ÐºÐ°Ð»ÑŒÐ½Ð°Ñ Ñ„ÑƒÐ½ÐºÑ†Ð¸Ñ %q#D иÑпользует анонимный тип"
+
+-#: cp/decl.c:6468 cp/decl.c:6748
++#: cp/decl.c:6540 cp/decl.c:6820
+ #, gcc-internal-format
+ msgid "%q+#D does not refer to the unqualified type, so it is not used for linkage"
+ msgstr "%q+#D не ÑÑылаетÑÑ Ð½Ð° неквалифицированный тип, поÑтому не иÑпользуетÑÑ Ð´Ð»Ñ ÑвÑзываниÑ"
+
+-#: cp/decl.c:6474
++#: cp/decl.c:6546
+ #, gcc-internal-format
+ msgid "non-local function %q#D uses local type %qT"
+ msgstr "Ð½ÐµÐ»Ð¾ÐºÐ°Ð»ÑŒÐ½Ð°Ñ Ñ„ÑƒÐ½ÐºÑ†Ð¸Ñ %q#D иÑпользует локальный тип %qT"
+
+-#: cp/decl.c:6498
++#: cp/decl.c:6570
+ #, fuzzy, gcc-internal-format
+ msgid "static member function %qD cannot have cv-qualifier"
+ msgstr "%sÑлемент, Ñ„ÑƒÐ½ÐºÑ†Ð¸Ñ %qD, не может иметь квалификатор метода - %qT"
+
+-#: cp/decl.c:6499
++#: cp/decl.c:6571
+ #, gcc-internal-format
+ msgid "non-member function %qD cannot have cv-qualifier"
+ msgstr ""
+
+-#: cp/decl.c:6547
++#: cp/decl.c:6619
+ #, gcc-internal-format
+ msgid "%<::main%> must return %<int%>"
+ msgstr "%<::main%> должна возвращать %<int%>"
+
+-#: cp/decl.c:6586
++#: cp/decl.c:6658
+ #, gcc-internal-format
+ msgid "definition of implicitly-declared %qD"
+ msgstr "определение неÑвно декларированного %qD"
+
+-#: cp/decl.c:6603 cp/decl2.c:677
++#: cp/decl.c:6675 cp/decl2.c:677
+ #, gcc-internal-format
+ msgid "no %q#D member function declared in class %qT"
+ msgstr "нет Ñлемента-функции %q#D в клаÑÑе %qT"
+@@ -28279,546 +28258,551 @@
+ #. 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/decl.c:6745
++#: cp/decl.c:6817
+ #, gcc-internal-format
+ msgid "non-local variable %q#D uses anonymous type"
+ msgstr "Ð½ÐµÐ»Ð¾ÐºÐ°Ð»ÑŒÐ½Ð°Ñ Ñ„ÑƒÐ½ÐºÑ†Ð¸Ñ %q#D иÑпользует анонимный тип"
+
+-#: cp/decl.c:6754
++#: cp/decl.c:6826
+ #, gcc-internal-format
+ msgid "non-local variable %q#D uses local type %qT"
+ msgstr "Ð½ÐµÐ»Ð¾ÐºÐ°Ð»ÑŒÐ½Ð°Ñ Ð¿ÐµÑ€ÐµÐ¼ÐµÐ½Ð½Ð°Ñ %q#D иÑпользует локальный тип %qT"
+
+-#: cp/decl.c:6876
++#: cp/decl.c:6948
+ #, gcc-internal-format
+ msgid "invalid in-class initialization of static data member of non-integral type %qT"
+ msgstr "Ð½ÐµÐºÐ¾Ñ€Ñ€ÐµÐºÑ‚Ð½Ð°Ñ Ð¸Ð½Ð¸Ñ†Ð¸Ð°Ð»Ð¸Ð·Ð°Ñ†Ð¸Ñ Ð²Ð½ÑƒÑ‚Ñ€Ð¸ клаÑÑа ÑтатичеÑкого Ñлемента данных нецелочиÑленного типа %qT"
+
+-#: cp/decl.c:6886
++#: cp/decl.c:6958
+ #, gcc-internal-format
+ msgid "ISO C++ forbids in-class initialization of non-const static member %qD"
+ msgstr "ISO C++ запрещает инициализацию внутри клаÑÑа неконÑтантного ÑтатичеÑкого Ñлемента %qD"
+
+-#: cp/decl.c:6890
++#: cp/decl.c:6962
+ #, gcc-internal-format
+ msgid "ISO C++ forbids initialization of member constant %qD of non-integral type %qT"
+ msgstr "ISO C++ запрещает инициализацию Ñлемента-конÑтанты %qD нецелочиÑленного типа %qT"
+
+-#: cp/decl.c:6915
++#: cp/decl.c:6987
+ #, gcc-internal-format
+ msgid "size of array %qD has non-integral type %qT"
+ msgstr "размер маÑÑива %qD имеет нецелочиÑленный тип %qT"
+
+-#: cp/decl.c:6917
++#: cp/decl.c:6989
+ #, gcc-internal-format
+ msgid "size of array has non-integral type %qT"
+ msgstr "размер маÑÑива имеет нецелочиÑленный тип %qT"
+
+-#: cp/decl.c:6965
++#: cp/decl.c:7037
+ #, gcc-internal-format
+ msgid "size of array %qD is negative"
+ msgstr "размер маÑÑива %qD отрицательный"
+
+-#: cp/decl.c:6967
++#: cp/decl.c:7039
+ #, gcc-internal-format
+ msgid "size of array is negative"
+ msgstr "размер маÑÑива отрицательный"
+
+-#: cp/decl.c:6975
++#: cp/decl.c:7047
+ #, gcc-internal-format
+ msgid "ISO C++ forbids zero-size array %qD"
+ msgstr "ISO C++ запрещает маÑÑив нулевого размера %qD"
+
+-#: cp/decl.c:6977
++#: cp/decl.c:7049
+ #, gcc-internal-format
+ msgid "ISO C++ forbids zero-size array"
+ msgstr "ISO C++ запрещает маÑÑивы нулевого размера"
+
+-#: cp/decl.c:6984
++#: cp/decl.c:7056
+ #, gcc-internal-format
+ msgid "size of array %qD is not an integral constant-expression"
+ msgstr "размер маÑÑива %qD не ÑвлÑетÑÑ Ñ†ÐµÐ»Ð¾Ñ‡Ð¸Ñленным конÑтантным выражением"
+
+-#: cp/decl.c:6987
++#: cp/decl.c:7059
+ #, gcc-internal-format
+ msgid "size of array is not an integral constant-expression"
+ msgstr "размер маÑÑива не ÑвлÑетÑÑ Ñ†ÐµÐ»Ð¾Ñ‡Ð¸Ñленным конÑтантным выражением"
+
+-#: cp/decl.c:6993
++#: cp/decl.c:7065
+ #, gcc-internal-format
+ msgid "ISO C++ forbids variable length array %qD"
+ msgstr "ISO C++ запрещает маÑÑив переменного размера %qD"
+
+-#: cp/decl.c:6995
++#: cp/decl.c:7067
+ #, gcc-internal-format
+ msgid "ISO C++ forbids variable length array"
+ msgstr "ISO C++ запрещает маÑÑивы переменного размера"
+
+-#: cp/decl.c:7001
++#: cp/decl.c:7073
+ #, gcc-internal-format
+ msgid "variable length array %qD is used"
+ msgstr "иÑпользуетÑÑ Ð¼Ð°ÑÑив переменного размера %qD"
+
+-#: cp/decl.c:7035
++#: cp/decl.c:7107
+ #, gcc-internal-format
+ msgid "overflow in array dimension"
+ msgstr "переполнение в размерноÑти маÑÑива"
+
+-#: cp/decl.c:7116
++#: cp/decl.c:7188
+ #, gcc-internal-format
+ msgid "declaration of %qD as %s"
+ msgstr "Ð´ÐµÐºÐ»Ð°Ñ€Ð°Ñ†Ð¸Ñ %qD как %s"
+
+-#: cp/decl.c:7118
++#: cp/decl.c:7190
+ #, gcc-internal-format
+ msgid "creating %s"
+ msgstr "Ñоздание %s"
+
+-#: cp/decl.c:7130
++#: cp/decl.c:7202
+ #, gcc-internal-format
+ msgid "declaration of %qD as multidimensional array must have bounds for all dimensions except the first"
+ msgstr "Ð´ÐµÐºÐ»Ð°Ñ€Ð°Ñ†Ð¸Ñ Ð¼Ð½Ð¾Ð³Ð¾Ð¼ÐµÑ€Ð½Ð¾Ð³Ð¾ маÑÑива %qD должна определÑÑ‚ÑŒ границы Ð´Ð»Ñ Ð²Ñех размерноÑтей, кроме первой"
+
+-#: cp/decl.c:7134
++#: cp/decl.c:7206
+ #, gcc-internal-format
+ msgid "multidimensional array must have bounds for all dimensions except the first"
+ msgstr "в многомерном маÑÑиве должны быть определены границы Ð´Ð»Ñ Ð²Ñех размерноÑтей, кроме первой"
+
+-#: cp/decl.c:7169
++#: cp/decl.c:7241
+ #, gcc-internal-format
+ msgid "return type specification for constructor invalid"
+ msgstr "Ð½ÐµÐºÐ¾Ñ€Ñ€ÐµÐºÑ‚Ð½Ð°Ñ ÑÐ¿ÐµÑ†Ð¸Ñ„Ð¸ÐºÐ°Ñ†Ð¸Ñ Ð²Ð¾Ð·Ð²Ñ€Ð°Ñ‰Ð°ÐµÐ¼Ð¾Ð³Ð¾ типа в конÑтрукторе"
+
+-#: cp/decl.c:7179
++#: cp/decl.c:7251
+ #, gcc-internal-format
+ msgid "return type specification for destructor invalid"
+ msgstr "Ð½ÐµÐºÐ¾Ñ€Ñ€ÐµÐºÑ‚Ð½Ð°Ñ ÑÐ¿ÐµÑ†Ð¸Ñ„Ð¸ÐºÐ°Ñ†Ð¸Ñ Ð²Ð¾Ð·Ð²Ñ€Ð°Ñ‰Ð°ÐµÐ¼Ð¾Ð³Ð¾ типа в деÑтрукторе"
+
+-#: cp/decl.c:7192
++#: cp/decl.c:7264
+ #, gcc-internal-format
+ msgid "return type specified for %<operator %T%>"
+ msgstr "тип результата задан Ð´Ð»Ñ %<operator %T%>"
+
+-#: cp/decl.c:7214
++#: cp/decl.c:7286
+ #, gcc-internal-format
+ msgid "unnamed variable or field declared void"
+ msgstr "Ð´ÐµÐºÐ»Ð°Ñ€Ð°Ñ†Ð¸Ñ Ð±ÐµÐ·Ñ‹Ð¼Ñнной переменной или Ð¿Ð¾Ð»Ñ Ñ Ñ‚Ð¸Ð¿Ð¾Ð¼ void"
+
+-#: cp/decl.c:7218
++#: cp/decl.c:7290
+ #, gcc-internal-format
+ msgid "variable or field %qE declared void"
+ msgstr "Ð¿ÐµÑ€ÐµÐ¼ÐµÐ½Ð½Ð°Ñ Ð¸Ð»Ð¸ поле %qE объÑвлено void"
+
+-#: cp/decl.c:7221
++#: cp/decl.c:7293
+ #, gcc-internal-format
+ msgid "variable or field declared void"
+ msgstr "Ð´ÐµÐºÐ»Ð°Ñ€Ð°Ñ†Ð¸Ñ Ð¿ÐµÑ€ÐµÐ¼ÐµÐ½Ð½Ð¾Ð¹ или Ð¿Ð¾Ð»Ñ Ñ Ñ‚Ð¸Ð¿Ð¾Ð¼ void"
+
+-#: cp/decl.c:7388
++#: cp/decl.c:7460
+ #, gcc-internal-format
+ msgid "invalid use of qualified-name %<::%D%>"
+ msgstr "недопуÑтимое иÑпользование квалифицированного имени %<::%D%>"
+
+-#: cp/decl.c:7391
++#: cp/decl.c:7463
+ #, gcc-internal-format
+ msgid "invalid use of qualified-name %<%T::%D%>"
+ msgstr "недопуÑтимое иÑпользование квалифицированного имени %<%T::%D%>"
+
+-#: cp/decl.c:7394
++#: cp/decl.c:7466
+ #, gcc-internal-format
+ msgid "invalid use of qualified-name %<%D::%D%>"
+ msgstr "недопуÑтимое иÑпользование квалифицированного имени %<%D::%D%>"
+
+-#: cp/decl.c:7406
++#: cp/decl.c:7478
+ #, gcc-internal-format
+ msgid "type %qT is not derived from type %qT"
+ msgstr "тип %qT не ÑвлÑетÑÑ Ð¿Ñ€Ð¾Ð¸Ð·Ð²Ð¾Ð´Ð½Ñ‹Ð¼ от %qT"
+
+-#: cp/decl.c:7422 cp/decl.c:7512 cp/decl.c:8660
++#: cp/decl.c:7494 cp/decl.c:7584 cp/decl.c:8732
+ #, gcc-internal-format
+ msgid "declaration of %qD as non-function"
+ msgstr "Ð´ÐµÐºÐ»Ð°Ñ€Ð°Ñ†Ð¸Ñ %qD как не-функции"
+
+-#: cp/decl.c:7428
++#: cp/decl.c:7500
+ #, gcc-internal-format
+ msgid "declaration of %qD as non-member"
+ msgstr "Ð´ÐµÐºÐ»Ð°Ñ€Ð°Ñ†Ð¸Ñ %qD как не-Ñлемента"
+
+-#: cp/decl.c:7457
++#: cp/decl.c:7529
+ #, gcc-internal-format
+ msgid "declarator-id missing; using reserved word %qD"
+ msgstr "декларатор отÑутÑтвует; иÑпользуетÑÑ Ð·Ð°Ñ€ÐµÐ·ÐµÑ€Ð²Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð½Ð¾Ðµ Ñлово %qD"
+
+-#: cp/decl.c:7504
++#: cp/decl.c:7576
+ #, gcc-internal-format
+ msgid "function definition does not declare parameters"
+ msgstr "определение функции не объÑвлÑет параметры"
+
+-#: cp/decl.c:7546
++#: cp/decl.c:7618
+ #, gcc-internal-format
+ msgid "two or more data types in declaration of %qs"
+ msgstr "два или более типа в декларации имени %qs"
+
+-#: cp/decl.c:7552
++#: cp/decl.c:7624
+ #, gcc-internal-format
+ msgid "conflicting specifiers in declaration of %qs"
+ msgstr "конфликтующие Ñпецификаторы в декларации %qs"
+
+-#: cp/decl.c:7623 cp/decl.c:7626
++#: cp/decl.c:7695 cp/decl.c:7698
+ #, gcc-internal-format
+ msgid "ISO C++ forbids declaration of %qs with no type"
+ msgstr "ISO C++ запрещает декларации %qs без типа"
+
+-#: cp/decl.c:7651
++#: cp/decl.c:7723
+ #, gcc-internal-format
+ msgid "%<signed%> or %<unsigned%> invalid for %qs"
+ msgstr "%<signed%> или %<unsigned%> некорректны Ð´Ð»Ñ %qs"
+
+-#: cp/decl.c:7653
++#: cp/decl.c:7725
+ #, gcc-internal-format
+ msgid "%<signed%> and %<unsigned%> specified together for %qs"
+ msgstr "%<signed%> и %<unsigned%> одновременно заданы Ð´Ð»Ñ %qs"
+
+-#: cp/decl.c:7655
++#: cp/decl.c:7727
+ #, gcc-internal-format
+ msgid "%<long long%> invalid for %qs"
+ msgstr "недопуÑтимо иÑпользовать %<long long%> Ð´Ð»Ñ %qs"
+
+-#: cp/decl.c:7657
++#: cp/decl.c:7729
+ #, gcc-internal-format
+ msgid "%<long%> invalid for %qs"
+ msgstr "недопуÑтимо иÑпользовать %<long%> Ð´Ð»Ñ %qs"
+
+-#: cp/decl.c:7659
++#: cp/decl.c:7731
+ #, gcc-internal-format
+ msgid "%<short%> invalid for %qs"
+ msgstr "недопуÑтимо иÑпользовать %<short%> Ð´Ð»Ñ %qs"
+
+-#: cp/decl.c:7661
++#: cp/decl.c:7733
+ #, gcc-internal-format
+ msgid "%<long%> or %<short%> invalid for %qs"
+ msgstr "%<long%> или %<short%> некорректны Ð´Ð»Ñ %qs"
+
+-#: cp/decl.c:7663
++#: cp/decl.c:7735
+ #, gcc-internal-format
+ msgid "%<long%> or %<short%> specified with char for %qs"
+ msgstr "%<long%> или %<short%> заданы в опиÑании %qs Ñ Ñ‚Ð¸Ð¿Ð¾Ð¼ char"
+
+-#: cp/decl.c:7665
++#: cp/decl.c:7737
+ #, gcc-internal-format
+ msgid "%<long%> and %<short%> specified together for %qs"
+ msgstr "%<long%> и %<short%> одновременно заданы Ð´Ð»Ñ %qs"
+
+-#: cp/decl.c:7671
++#: cp/decl.c:7743
+ #, gcc-internal-format
+ msgid "long, short, signed or unsigned used invalidly for %qs"
+ msgstr "неверное употребление long, short, signed или unsigned в опиÑании %s"
+
+-#: cp/decl.c:7735
++#: cp/decl.c:7807
+ #, gcc-internal-format
+ msgid "complex invalid for %qs"
+ msgstr "Ñпецификатор complex Ð´Ð»Ñ %qs недопуÑтим"
+
+-#: cp/decl.c:7764
++#: cp/decl.c:7836
+ #, gcc-internal-format
+ msgid "qualifiers are not allowed on declaration of %<operator %T%>"
+ msgstr "квалификаторы не допуÑкаютÑÑ Ð² декларации %<operator %T%>"
+
+-#: cp/decl.c:7776 cp/typeck.c:7011
++#: cp/decl.c:7848 cp/typeck.c:7039
+ #, gcc-internal-format
+ msgid "ignoring %qV qualifiers added to function type %qT"
+ msgstr "отбраÑываютÑÑ %qV квалификаторов, добавленных к типу функции %qT"
+
+-#: cp/decl.c:7799
++#: cp/decl.c:7871
+ #, gcc-internal-format
+ msgid "member %qD cannot be declared both virtual and static"
+ msgstr "Ñлемент %qD не может быть декларирован как virtual и static"
+
+-#: cp/decl.c:7807
++#: cp/decl.c:7879
+ #, gcc-internal-format
+ msgid "%<%T::%D%> is not a valid declarator"
+ msgstr "%<%T::%D%> не ÑвлÑетÑÑ ÐºÐ¾Ñ€Ñ€ÐµÐºÑ‚Ð½Ñ‹Ð¼ декларатором"
+
+-#: cp/decl.c:7816
++#: cp/decl.c:7888
+ #, gcc-internal-format
+ msgid "typedef declaration invalid in parameter declaration"
+ msgstr "typedef-Ð´ÐµÐºÐ»Ð°Ñ€Ð°Ñ†Ð¸Ñ Ð½Ðµ допуÑкаетÑÑ Ð² декларации параметров"
+
+-#: cp/decl.c:7822
++#: cp/decl.c:7894
+ #, gcc-internal-format
+ msgid "storage class specifiers invalid in parameter declarations"
+ msgstr "Ñпецификаторы клаÑÑа Ñ…Ñ€Ð°Ð½ÐµÐ½Ð¸Ñ Ð½Ðµ допуÑкаютÑÑ Ð² декларациÑÑ… параметров"
+
+-#: cp/decl.c:7829
++#: cp/decl.c:7901
+ #, gcc-internal-format
+ msgid "virtual outside class declaration"
+ msgstr "virtual вне декларации клаÑÑа"
+
+-#: cp/decl.c:7847
++#: cp/decl.c:7919
+ #, gcc-internal-format
+ msgid "multiple storage classes in declaration of %qs"
+ msgstr "в декларации %qs задано более одного клаÑÑа хранениÑ"
+
+-#: cp/decl.c:7870
++#: cp/decl.c:7942
+ #, gcc-internal-format
+ msgid "storage class specified for %qs"
+ msgstr "Ð´Ð»Ñ %qs задан клаÑÑ Ñ…Ñ€Ð°Ð½ÐµÐ½Ð¸Ñ"
+
+-#: cp/decl.c:7904
++#: cp/decl.c:7976
+ #, gcc-internal-format
+ msgid "top-level declaration of %qs specifies %<auto%>"
+ msgstr "Ð¸Ð¼Ñ %qs опиÑано на верхнем уровне Ñ ÐºÐ»Ð°ÑÑом Ñ…Ñ€Ð°Ð½ÐµÐ½Ð¸Ñ %<auto%>"
+
+-#: cp/decl.c:7916
++#: cp/decl.c:7988
+ #, gcc-internal-format
+ msgid "storage class specifiers invalid in friend function declarations"
+ msgstr "клаÑÑ Ñ…Ñ€Ð°Ð½ÐµÐ½Ð¸Ñ Ð½Ðµ допуÑкаетÑÑ Ð² декларации friend-функции"
+
+-#: cp/decl.c:8043
++#: cp/decl.c:8115
+ #, gcc-internal-format
+ msgid "destructor cannot be static member function"
+ msgstr "деÑтруктор не может быть ÑтатичеÑкой Ñлементом-функцией"
+
+-#: cp/decl.c:8048
++#: cp/decl.c:8120
+ #, gcc-internal-format
+ msgid "destructors may not be cv-qualified"
+ msgstr "деÑтрукторы не могут быть cv-квалифицированы"
+
+-#: cp/decl.c:8066
++#: cp/decl.c:8138
+ #, gcc-internal-format
+ msgid "constructors cannot be declared virtual"
+ msgstr "конÑтрукторы Ð½ÐµÐ»ÑŒÐ·Ñ Ð´ÐµÐºÐ»Ð°Ñ€Ð¸Ñ€Ð¾Ð²Ð°Ñ‚ÑŒ как virtual"
+
+-#: cp/decl.c:8079
++#: cp/decl.c:8151
+ #, gcc-internal-format
+ msgid "can't initialize friend function %qs"
+ msgstr "недопуÑÑ‚Ð¸Ð¼Ð°Ñ Ð¸Ð½Ð¸Ñ†Ð¸Ð°Ð»Ð¸Ð·Ð°Ñ†Ð¸Ñ friend-функции %qs"
+
+ #. Cannot be both friend and virtual.
+-#: cp/decl.c:8083
++#: cp/decl.c:8155
+ #, gcc-internal-format
+ msgid "virtual functions cannot be friends"
+ msgstr "виртуальные функции не могут быть friend-функциÑми"
+
+-#: cp/decl.c:8087
++#: cp/decl.c:8159
+ #, gcc-internal-format
+ msgid "friend declaration not in class definition"
+ msgstr "friend-Ð´ÐµÐºÐ»Ð°Ñ€Ð°Ñ†Ð¸Ñ Ð²Ð½Ðµ Ð¾Ð¿Ñ€ÐµÐ´ÐµÐ»ÐµÐ½Ð¸Ñ ÐºÐ»Ð°ÑÑа"
+
+-#: cp/decl.c:8089
++#: cp/decl.c:8161
+ #, gcc-internal-format
+ msgid "can't define friend function %qs in a local class definition"
+ msgstr "недопуÑтимое определение friend-функции %qs в определении локального клаÑÑа"
+
+-#: cp/decl.c:8102
++#: cp/decl.c:8174
+ #, gcc-internal-format
+ msgid "destructors may not have parameters"
+ msgstr "деÑтрукторы не могут иметь параметров"
+
+-#: cp/decl.c:8121
++#: cp/decl.c:8193
+ #, gcc-internal-format
+ msgid "cannot declare pointer to %q#T"
+ msgstr "недопуÑÑ‚Ð¸Ð¼Ð°Ñ Ð´ÐµÐºÐ»Ð°Ñ€Ð°Ñ†Ð¸Ñ ÑƒÐºÐ°Ð·Ð°Ñ‚ÐµÐ»Ñ Ð½Ð° %q#T"
+
+-#: cp/decl.c:8134 cp/decl.c:8141
++#: cp/decl.c:8206 cp/decl.c:8213
+ #, gcc-internal-format
+ msgid "cannot declare reference to %q#T"
+ msgstr "недопуÑÑ‚Ð¸Ð¼Ð°Ñ Ð´ÐµÐºÐ»Ð°Ñ€Ð°Ñ†Ð¸Ñ ÑÑылки на %q#T"
+
+-#: cp/decl.c:8143
++#: cp/decl.c:8215
+ #, gcc-internal-format
+ msgid "cannot declare pointer to %q#T member"
+ msgstr "недопуÑÑ‚Ð¸Ð¼Ð°Ñ Ð´ÐµÐºÐ»Ð°Ñ€Ð°Ñ†Ð¸Ñ ÑƒÐºÐ°Ð·Ð°Ñ‚ÐµÐ»Ñ Ð½Ð° Ñлемент %q#T"
+
+-#: cp/decl.c:8194
++#: cp/decl.c:8266
+ #, 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.c:8238
++#: cp/decl.c:8310
+ #, gcc-internal-format
+ msgid "template-id %qD used as a declarator"
+ msgstr "идентификатор шаблона %qD иÑпользован как декларатор"
+
+-#: cp/decl.c:8289
++#: cp/decl.c:8361
+ #, gcc-internal-format
+ msgid "member functions are implicitly friends of their class"
+ msgstr "Ñлементы-функции неÑвно ÑчитаютÑÑ friend-функциÑми Ñвоего клаÑÑа"
+
+-#: cp/decl.c:8293
++#: cp/decl.c:8365
+ #, gcc-internal-format
+ msgid "extra qualification %<%T::%> on member %qs"
+ msgstr "Ð¸Ð·Ð±Ñ‹Ñ‚Ð¾Ñ‡Ð½Ð°Ñ ÐºÐ²Ð°Ð»Ð¸Ñ„Ð¸ÐºÐ°Ñ†Ð¸Ñ %<%T::%> Ñлемента %qs"
+
+-#: cp/decl.c:8325
++#: cp/decl.c:8397
+ #, gcc-internal-format
+ msgid "cannot define member function %<%T::%s%> within %<%T%>"
+ msgstr "недопуÑÑ‚Ð¸Ð¼Ð°Ñ Ð´ÐµÐºÐ»Ð°Ñ€Ð°Ñ†Ð¸Ñ Ñлемента-функции %<%T::%s%> внутри %<%T%>"
+
+-#: cp/decl.c:8342
++#: cp/decl.c:8414
+ #, gcc-internal-format
+ msgid "cannot declare member %<%T::%s%> within %qT"
+ msgstr "недопуÑÑ‚Ð¸Ð¼Ð°Ñ Ð´ÐµÐºÐ»Ð°Ñ€Ð°Ñ†Ð¸Ñ Ñлемента %<%T::%s%> внутри %qT"
+
+-#: cp/decl.c:8365
++#: cp/decl.c:8437
+ #, gcc-internal-format
+ msgid "non-parameter %qs cannot be a parameter pack"
+ msgstr "не параметричеÑкий %qs не может Ñодержать параметры"
+
+-#: cp/decl.c:8386
++#: cp/decl.c:8458
+ #, gcc-internal-format
+ msgid "data member may not have variably modified type %qT"
+ msgstr "Ñлемент данных не может иметь тип %qT модифицируемого размера"
+
+-#: cp/decl.c:8388
++#: cp/decl.c:8460
+ #, gcc-internal-format
+ msgid "parameter may not have variably modified type %qT"
+ msgstr "параметр не может иметь модифицированный тип `%T"
+
+ #. [dcl.fct.spec] The explicit specifier shall only be used in
+ #. declarations of constructors within a class definition.
+-#: cp/decl.c:8396
++#: cp/decl.c:8468
+ #, gcc-internal-format
+ msgid "only declarations of constructors can be %<explicit%>"
+ msgstr "только декларации конÑтрукторов могут быть %<explicit%>"
+
+-#: cp/decl.c:8404
++#: cp/decl.c:8476
+ #, gcc-internal-format
+ msgid "non-member %qs cannot be declared %<mutable%>"
+ msgstr "недопуÑÑ‚Ð¸Ð¼Ð°Ñ Ð´ÐµÐºÐ»Ð°Ñ€Ð°Ñ†Ð¸Ñ Ð½Ðµ-Ñлемента %qs как %<mutable%>"
+
+-#: cp/decl.c:8409
++#: cp/decl.c:8481
+ #, gcc-internal-format
+ msgid "non-object member %qs cannot be declared %<mutable%>"
+ msgstr "недопуÑÑ‚Ð¸Ð¼Ð°Ñ Ð´ÐµÐºÐ»Ð°Ñ€Ð°Ñ†Ð¸Ñ Ð½Ðµ объектного Ñлемента %qs как %<mutable%>"
+
+-#: cp/decl.c:8415
++#: cp/decl.c:8487
+ #, gcc-internal-format
+ msgid "function %qs cannot be declared %<mutable%>"
+ msgstr "недопуÑÑ‚Ð¸Ð¼Ð°Ñ Ð´ÐµÐºÐ»Ð°Ñ€Ð°Ñ†Ð¸Ñ Ñ„ÑƒÐ½ÐºÑ†Ð¸Ð¸ %qs как %<mutable%>"
+
+-#: cp/decl.c:8420
++#: cp/decl.c:8492
+ #, gcc-internal-format
+ msgid "static %qs cannot be declared %<mutable%>"
+ msgstr "недопуÑÑ‚Ð¸Ð¼Ð°Ñ Ð´ÐµÐºÐ»Ð°Ñ€Ð°Ñ†Ð¸Ñ ÑтатичеÑкого %qs как %<mutable%>"
+
+-#: cp/decl.c:8425
++#: cp/decl.c:8497
+ #, gcc-internal-format
+ msgid "const %qs cannot be declared %<mutable%>"
+ msgstr "недопуÑÑ‚Ð¸Ð¼Ð°Ñ Ð´ÐµÐºÐ»Ð°Ñ€Ð°Ñ†Ð¸Ñ ÐºÐ¾Ð½Ñтантного %qs как %<mutable%>"
+
+-#: cp/decl.c:8462
++#: cp/decl.c:8534
+ #, gcc-internal-format
+ msgid "%Jtypedef name may not be a nested-name-specifier"
+ msgstr "%JÐ´Ð»Ñ typedef-имени недопуÑтимы квалификаторы клаÑÑов"
+
+-#: cp/decl.c:8478
++#: cp/decl.c:8550
+ #, gcc-internal-format
+ msgid "ISO C++ forbids nested type %qD with same name as enclosing class"
+ msgstr "ISO C++ запрещает определÑÑ‚ÑŒ вложенный тип %qD Ñ Ñ‚ÐµÐ¼ же именем, что и объемлющий клаÑÑ"
+
+-#: cp/decl.c:8564
++#: cp/decl.c:8636
+ #, gcc-internal-format
+ msgid "qualified function types cannot be used to declare static member functions"
+ msgstr "типы квалифицированных функций не могут иÑпользоватьÑÑ Ð´Ð»Ñ Ð¾Ð¿Ñ€ÐµÐ´ÐµÐ»ÐµÐ½Ð¸Ñ ÑтатичеÑких Ñлементов-функций"
+
+-#: cp/decl.c:8566
++#: cp/decl.c:8638
+ #, gcc-internal-format
+ msgid "qualified function types cannot be used to declare free functions"
+ msgstr "типы квалифицированных функций не могут иÑпользоватьÑÑ Ð´Ð»Ñ Ð¾Ð¿Ñ€ÐµÐ´ÐµÐ»ÐµÐ½Ð¸Ñ Ñвободных функций"
+
+-#: cp/decl.c:8592
++#: cp/decl.c:8664
+ #, gcc-internal-format
+ msgid "type qualifiers specified for friend class declaration"
+ msgstr "в декларации friend-клаÑÑа иÑпользованы квалификаторы типа"
+
+-#: cp/decl.c:8597
++#: cp/decl.c:8669
+ #, gcc-internal-format
+ msgid "%<inline%> specified for friend class declaration"
+ msgstr "в декларации friend-клаÑÑа иÑпользован квалификатор %<inline%>"
+
+-#: cp/decl.c:8605
++#: cp/decl.c:8677
+ #, gcc-internal-format
+ msgid "template parameters cannot be friends"
+ msgstr "параметры шаблона не могут быть friend"
+
+-#: cp/decl.c:8607
++#: cp/decl.c:8679
+ #, gcc-internal-format
+ msgid "friend declaration requires class-key, i.e. %<friend class %T::%D%>"
+ msgstr "в friend-декларации требуетÑÑ ÑƒÐºÐ°Ð·Ð°Ð½Ð¸Ðµ клаÑÑа: %<friend class %T::%D%>"
+
+-#: cp/decl.c:8611
++#: cp/decl.c:8683
+ #, gcc-internal-format
+ msgid "friend declaration requires class-key, i.e. %<friend %#T%>"
+ msgstr "в friend-декларации требуетÑÑ ÑƒÐºÐ°Ð·Ð°Ð½Ð¸Ðµ клаÑÑа: %<friend %#T%>"
+
+-#: cp/decl.c:8624
++#: cp/decl.c:8696
+ #, gcc-internal-format
+ msgid "trying to make class %qT a friend of global scope"
+ msgstr "попытка Ñделать клаÑÑ %qT \"другом\" глобальной облаÑти видимоÑти"
+
+-#: cp/decl.c:8635
++#: cp/decl.c:8707
+ #, gcc-internal-format
+ msgid "invalid qualifiers on non-member function type"
+ msgstr "некорректные квалификаторы Ð´Ð»Ñ Ñ‚Ð¸Ð¿Ð° функции, не ÑвлÑющейÑÑ Ñлементом"
+
+-#: cp/decl.c:8650
++#: cp/decl.c:8722
+ #, gcc-internal-format
+ msgid "abstract declarator %qT used as declaration"
+ msgstr "абÑтрактный декларатор %qT иÑпользован в качеÑтве декларатора"
+
+-#: cp/decl.c:8679
++#: cp/decl.c:8751
+ #, gcc-internal-format
+ msgid "cannot use %<::%> in parameter declaration"
+ msgstr "недопуÑтимое иÑпользование %<::%> в декларации параметра"
+
+ #. Something like struct S { int N::j; };
+-#: cp/decl.c:8725
++#: cp/decl.c:8797
+ #, gcc-internal-format
+ msgid "invalid use of %<::%>"
+ msgstr "недопуÑтимое иÑпользование %<::%>"
+
+-#: cp/decl.c:8740
++#: cp/decl.c:8812
+ #, gcc-internal-format
+ msgid "can't make %qD into a method -- not in a class"
+ msgstr "%qD не может быть превращена в метод -- вне клаÑÑа"
+
+-#: cp/decl.c:8749
++#: cp/decl.c:8821
+ #, gcc-internal-format
+ msgid "function %qD declared virtual inside a union"
+ msgstr "Ñ„ÑƒÐ½ÐºÑ†Ð¸Ñ %qD объÑвлена виртуальной внутри объединениÑ"
+
+-#: cp/decl.c:8758
++#: cp/decl.c:8830
+ #, gcc-internal-format
+ msgid "%qD cannot be declared virtual, since it is always static"
+ msgstr "%qD не может быть объÑвлена виртуальной, поÑкольку она вÑегда ÑтатичеÑкаÑ"
+
+-#: cp/decl.c:8774
++#: cp/decl.c:8846
+ #, fuzzy, gcc-internal-format
+ msgid "expected qualified name in friend declaration for destructor %qD"
+ msgstr "квалификаторы не допуÑкаютÑÑ Ð² декларации `operator %T'"
+
+-#: cp/decl.c:8784
++#: cp/decl.c:8856
+ #, fuzzy, gcc-internal-format
+ msgid "declaration of %qD as member of %qT"
+ msgstr "Ð´ÐµÐºÐ»Ð°Ñ€Ð°Ñ†Ð¸Ñ %qD перекрывает Ñлемент клаÑÑа, на который указывает 'this'"
+
+-#: cp/decl.c:8860
++#: cp/decl.c:8863
++#, fuzzy, gcc-internal-format
++msgid "expected qualified name in friend declaration for constructor %qD"
++msgstr "квалификаторы не допуÑкаютÑÑ Ð² декларации `operator %T'"
++
++#: cp/decl.c:8939
+ #, gcc-internal-format
+ msgid "field %qD has incomplete type"
+ msgstr "поле %qD имеет неполный тип"
+
+-#: cp/decl.c:8862
++#: cp/decl.c:8941
+ #, gcc-internal-format
+ msgid "name %qT has incomplete type"
+ msgstr "Ð¸Ð¼Ñ %qT имеет неполный тип"
+
+-#: cp/decl.c:8871
++#: cp/decl.c:8950
+ #, gcc-internal-format
+ msgid " in instantiation of template %qT"
+ msgstr " в конкретизации шаблона %qT"
+
+-#: cp/decl.c:8880
++#: cp/decl.c:8959
+ #, fuzzy, gcc-internal-format
+ msgid "%qE is neither function nor member function; cannot be declared friend"
+ msgstr "%qs не ÑвлÑетÑÑ Ð½Ð¸ функцией, ни Ñлементом-функцией; friend-Ð´ÐµÐºÐ»Ð°Ñ€Ð°Ñ†Ð¸Ñ Ð½Ðµ допуÑкаетÑÑ"
+@@ -28835,103 +28819,108 @@
+ #. the rest of the compiler does not correctly
+ #. handle the initialization unless the member is
+ #. static so we make it static below.
+-#: cp/decl.c:8932
++#: cp/decl.c:9011
+ #, gcc-internal-format
+ msgid "ISO C++ forbids initialization of member %qD"
+ msgstr "ISO C++ запрещает инициализацию Ñлемента %qD"
+
+-#: cp/decl.c:8934
++#: cp/decl.c:9013
+ #, gcc-internal-format
+ msgid "making %qD static"
+ msgstr "в результате которой %qD ÑтановитÑÑ ÑтатичеÑким"
+
+-#: cp/decl.c:8999
++#: cp/decl.c:9078
+ #, gcc-internal-format
+ msgid "storage class %<auto%> invalid for function %qs"
+ msgstr "некорректный клаÑÑ Ñ…Ñ€Ð°Ð½ÐµÐ½Ð¸Ñ %<auto%> Ð´Ð»Ñ Ñ„ÑƒÐ½ÐºÑ†Ð¸Ð¸ %qs"
+
+-#: cp/decl.c:9001
++#: cp/decl.c:9080
+ #, gcc-internal-format
+ msgid "storage class %<register%> invalid for function %qs"
+ msgstr "некорректный клаÑÑ Ñ…Ñ€Ð°Ð½ÐµÐ½Ð¸Ñ %<register%> Ð´Ð»Ñ Ñ„ÑƒÐ½ÐºÑ†Ð¸Ð¸ %qs"
+
+-#: cp/decl.c:9003
++#: cp/decl.c:9082
+ #, gcc-internal-format
+ msgid "storage class %<__thread%> invalid for function %qs"
+ msgstr "некорректный клаÑÑ Ñ…Ñ€Ð°Ð½ÐµÐ½Ð¸Ñ %<__thread%> Ð´Ð»Ñ Ñ„ÑƒÐ½ÐºÑ†Ð¸Ð¸ %qs"
+
+-#: cp/decl.c:9014
++#: cp/decl.c:9093
+ #, gcc-internal-format
+ msgid "%<static%> specified invalid for function %qs declared out of global scope"
+ msgstr "некорректно указано %<static%> Ð´Ð»Ñ Ñ„ÑƒÐ½ÐºÑ†Ð¸Ð¸ %qs, объÑвленной вне глобальной облаÑти видимоÑти"
+
+-#: cp/decl.c:9017
++#: cp/decl.c:9096
+ #, gcc-internal-format
+ msgid "%<inline%> specifier invalid for function %qs declared out of global scope"
+ msgstr "некорректно указано %<inline%> Ð´Ð»Ñ Ñ„ÑƒÐ½ÐºÑ†Ð¸Ð¸ %qs, объÑвленной вне глобальной облаÑти видимоÑти"
+
+-#: cp/decl.c:9025
++#: cp/decl.c:9104
+ #, gcc-internal-format
+ msgid "virtual non-class function %qs"
+ msgstr "Ð²Ð¸Ñ€Ñ‚ÑƒÐ°Ð»ÑŒÐ½Ð°Ñ Ñ„ÑƒÐ½ÐºÑ†Ð¸Ñ %qs не ÑвлÑетÑÑ Ñлементом клаÑÑа"
+
+-#: cp/decl.c:9056
++#: cp/decl.c:9135
+ #, gcc-internal-format
+ msgid "cannot declare member function %qD to have static linkage"
+ msgstr "недопуÑÑ‚Ð¸Ð¼Ð°Ñ Ð´ÐµÐºÐ»Ð°Ñ€Ð°Ñ†Ð¸Ñ ÑтатичеÑкого Ñлемента-функции %qD"
+
+ #. FIXME need arm citation
+-#: cp/decl.c:9063
++#: cp/decl.c:9142
+ #, gcc-internal-format
+ msgid "cannot declare static function inside another function"
+ msgstr "недопуÑÑ‚Ð¸Ð¼Ð°Ñ Ð´ÐµÐºÐ»Ð°Ñ€Ð°Ñ†Ð¸Ñ ÑтатичеÑкой функции внутри другой функции"
+
+-#: cp/decl.c:9093
++#: cp/decl.c:9172
+ #, gcc-internal-format
+ msgid "%<static%> may not be used when defining (as opposed to declaring) a static data member"
+ msgstr "Ñлово %<static%> недопуÑтимо при определении (в отличие от объÑвлениÑ) ÑтатичеÑкого Ñлемента данных в клаÑÑе"
+
+-#: cp/decl.c:9100
++#: cp/decl.c:9179
+ #, gcc-internal-format
+ msgid "static member %qD declared %<register%>"
+ msgstr "ÑтатичеÑкий Ñлемент %qD объÑвлен как %<register%>"
+
+-#: cp/decl.c:9105
++#: cp/decl.c:9184
+ #, gcc-internal-format
+ msgid "cannot explicitly declare member %q#D to have extern linkage"
+ msgstr "недопуÑÑ‚Ð¸Ð¼Ð°Ñ ÑÐ²Ð½Ð°Ñ extern-Ð´ÐµÐºÐ»Ð°Ñ€Ð°Ñ†Ð¸Ñ Ñлемента %q#D"
+
+-#: cp/decl.c:9234
++#: cp/decl.c:9313
+ #, gcc-internal-format
+ msgid "default argument for %q#D has type %qT"
+ msgstr "аргумент по умолчанию Ð´Ð»Ñ %q#D имеет тип %qT"
+
+-#: cp/decl.c:9237
++#: cp/decl.c:9316
+ #, gcc-internal-format
+ msgid "default argument for parameter of type %qT has type %qT"
+ msgstr "аргумент по умолчанию Ð´Ð»Ñ Ð¿Ð°Ñ€Ð°Ð¼ÐµÑ‚Ñ€Ð° типа %qT имеет тип %qT"
+
+-#: cp/decl.c:9253
++#: cp/decl.c:9332
+ #, gcc-internal-format
+ msgid "default argument %qE uses local variable %qD"
+ msgstr "аргумент по умолчанию %qE иÑпользует локальную переменную %qD"
+
+-#: cp/decl.c:9323
++#: cp/decl.c:9399
++#, fuzzy, gcc-internal-format
++msgid "parameter %qD has Java class type"
++msgstr "параметр %q+D имеет неполный тип"
++
++#: cp/decl.c:9412
+ #, gcc-internal-format
+ msgid "parameter %qD invalidly declared method type"
+ msgstr "Ð½ÐµÐºÐ¾Ñ€Ñ€ÐµÐºÑ‚Ð½Ð°Ñ Ð´ÐµÐºÐ»Ð°Ñ€Ð°Ñ†Ð¸Ñ Ð¿Ð°Ñ€Ð°Ð¼ÐµÑ‚Ñ€Ð° %qD Ñ Ñ‚Ð¸Ð¿Ð¾Ð¼ метода"
+
+-#: cp/decl.c:9347
++#: cp/decl.c:9436
+ #, gcc-internal-format
+ msgid "parameter %qD includes %s to array of unknown bound %qT"
+ msgstr "параметр %qD включает %s на маÑÑив Ñ Ð½ÐµÐ¸Ð·Ð²ÐµÑтной границей %qT"
+
+-#: cp/decl.c:9361
++#: cp/decl.c:9450
+ #, fuzzy, gcc-internal-format
+ msgid "parameter packs must be at the end of the parameter list"
+ msgstr "%Jв ÑпиÑке параметров пропущено Ð¸Ð¼Ñ Ð¿Ð°Ñ€Ð°Ð¼ÐµÑ‚Ñ€Ð°"
+
+-#: cp/decl.c:9366
++#: cp/decl.c:9455
+ #, gcc-internal-format
+ msgid "multiple parameters named %qE"
+ msgstr "более одного параметра Ñ Ð¸Ð¼ÐµÐ½ÐµÐ¼ %qE"
+@@ -28951,138 +28940,138 @@
+ #. or implicitly defined), there's no need to worry about their
+ #. existence. Theoretically, they should never even be
+ #. instantiated, but that's hard to forestall.
+-#: cp/decl.c:9581
++#: cp/decl.c:9672
+ #, gcc-internal-format
+ msgid "invalid constructor; you probably meant %<%T (const %T&)%>"
+ msgstr "некорректный конÑтруктор; возможно, вы имели в виду %<%T (const %T&)%>"
+
+-#: cp/decl.c:9703
++#: cp/decl.c:9794
+ #, gcc-internal-format
+ msgid "%qD may not be declared within a namespace"
+ msgstr "Ð´ÐµÐºÐ»Ð°Ñ€Ð°Ñ†Ð¸Ñ %qD может не дейÑтвовать в проÑтранÑтве имён"
+
+-#: cp/decl.c:9708
++#: cp/decl.c:9799
+ #, gcc-internal-format
+ msgid "%qD may not be declared as static"
+ msgstr "%qD можно не определÑÑ‚ÑŒ ÑтатичеÑкой"
+
+-#: cp/decl.c:9731
++#: cp/decl.c:9825
+ #, gcc-internal-format
+ msgid "%qD must be a nonstatic member function"
+ msgstr "%qD должнен быть неÑтатичеÑкой Ñлементом-функцией"
+
+-#: cp/decl.c:9740
++#: cp/decl.c:9834
+ #, gcc-internal-format
+ msgid "%qD must be either a non-static member function or a non-member function"
+ msgstr "%qD должен быть либо неÑтатичеÑким Ñлементом-функцией или функцией-не-Ñлементом"
+
+-#: cp/decl.c:9761
++#: cp/decl.c:9855
+ #, gcc-internal-format
+ msgid "%qD must have an argument of class or enumerated type"
+ msgstr "%qD должен иметь аргумент типа клаÑÑ Ð¸Ð»Ð¸ перечиÑлимого типа"
+
+-#: cp/decl.c:9802
++#: cp/decl.c:9896
+ #, gcc-internal-format
+ msgid "conversion to %s%s will never use a type conversion operator"
+ msgstr "преобразование к %s%s никогда не будет иÑпользовать операцию Ð¿Ñ€ÐµÐ¾Ð±Ñ€Ð°Ð·Ð¾Ð²Ð°Ð½Ð¸Ñ Ñ‚Ð¸Ð¿Ð°"
+
+ #. 13.4.0.3
+-#: cp/decl.c:9810
++#: cp/decl.c:9904
+ #, gcc-internal-format
+ msgid "ISO C++ prohibits overloading operator ?:"
+ msgstr "ISO C++ не поддерживает перегрузку операции ?:"
+
+-#: cp/decl.c:9815
++#: cp/decl.c:9909
+ #, gcc-internal-format
+ msgid "%qD must not have variable number of arguments"
+ msgstr "%qD не может иметь переменное чиÑло аргументов"
+
+-#: cp/decl.c:9866
++#: cp/decl.c:9960
+ #, gcc-internal-format
+ msgid "postfix %qD must take %<int%> as its argument"
+ msgstr "поÑтфикÑный %qD должен иметь аргумент типа %<int%>"
+
+-#: cp/decl.c:9869
++#: cp/decl.c:9963
+ #, gcc-internal-format
+ msgid "postfix %qD must take %<int%> as its second argument"
+ msgstr "поÑтфикÑный %qD должен иметь второй аргумент типа %<int%>"
+
+-#: cp/decl.c:9877
++#: cp/decl.c:9971
+ #, gcc-internal-format
+ msgid "%qD must take either zero or one argument"
+ msgstr "%qD должен иметь не более одного аргумента"
+
+-#: cp/decl.c:9879
++#: cp/decl.c:9973
+ #, gcc-internal-format
+ msgid "%qD must take either one or two arguments"
+ msgstr "%qD должен иметь один или два аргумента"
+
+-#: cp/decl.c:9901
++#: cp/decl.c:9995
+ #, gcc-internal-format
+ msgid "prefix %qD should return %qT"
+ msgstr "префикÑный %qD должен возвращать %qT"
+
+-#: cp/decl.c:9907
++#: cp/decl.c:10001
+ #, gcc-internal-format
+ msgid "postfix %qD should return %qT"
+ msgstr "поÑтфикÑный %qD должен возвращать %qT"
+
+-#: cp/decl.c:9916
++#: cp/decl.c:10010
+ #, gcc-internal-format
+ msgid "%qD must take %<void%>"
+ msgstr "%qD должен иметь ÑпиÑок параметров %<void%>"
+
+-#: cp/decl.c:9918 cp/decl.c:9927
++#: cp/decl.c:10012 cp/decl.c:10021
+ #, gcc-internal-format
+ msgid "%qD must take exactly one argument"
+ msgstr "%qD должен иметь ровно один аргумент"
+
+-#: cp/decl.c:9929
++#: cp/decl.c:10023
+ #, gcc-internal-format
+ msgid "%qD must take exactly two arguments"
+ msgstr "%qD должен иметь ровно два аргумента"
+
+-#: cp/decl.c:9938
++#: cp/decl.c:10032
+ #, gcc-internal-format
+ msgid "user-defined %qD always evaluates both arguments"
+ msgstr "пользовательÑкий оператор %qD вÑегда вычиÑлÑет оба аргумента"
+
+-#: cp/decl.c:9952
++#: cp/decl.c:10046
+ #, gcc-internal-format
+ msgid "%qD should return by value"
+ msgstr "%qD должен возвращать результат по значению"
+
+-#: cp/decl.c:9964 cp/decl.c:9968
++#: cp/decl.c:10058 cp/decl.c:10062
+ #, gcc-internal-format
+ msgid "%qD cannot have default arguments"
+ msgstr "%qD не может иметь аргументов по умолчанию"
+
+-#: cp/decl.c:10026
++#: cp/decl.c:10120
+ #, gcc-internal-format
+ msgid "using template type parameter %qT after %qs"
+ msgstr "иÑпользование параметра шаблона %qT поÑле %qs"
+
+-#: cp/decl.c:10041
++#: cp/decl.c:10135
+ #, gcc-internal-format
+ msgid "using typedef-name %qD after %qs"
+ msgstr "иÑпользование typedef-имени %qD поÑле %qs"
+
+-#: cp/decl.c:10042
++#: cp/decl.c:10136
+ #, gcc-internal-format
+ msgid "%q+D has a previous declaration here"
+ msgstr "%q+D ранее декларирован здеÑÑŒ"
+
+-#: cp/decl.c:10050
++#: cp/decl.c:10144
+ #, gcc-internal-format
+ msgid "%qT referred to as %qs"
+ msgstr "ÑÑылка на %qT как на %qs"
+
+-#: cp/decl.c:10051 cp/decl.c:10058
++#: cp/decl.c:10145 cp/decl.c:10152
+ #, gcc-internal-format
+ msgid "%q+T has a previous declaration here"
+ msgstr "%q+T ранее декларирован здеÑÑŒ"
+
+-#: cp/decl.c:10057
++#: cp/decl.c:10151
+ #, gcc-internal-format
+ msgid "%qT referred to as enum"
+ msgstr "ÑÑылка на %qT как на enum"
+@@ -29094,73 +29083,73 @@
+ #. void f(class C); // No template header here
+ #.
+ #. then the required template argument is missing.
+-#: cp/decl.c:10072
++#: cp/decl.c:10166
+ #, gcc-internal-format
+ msgid "template argument required for %<%s %T%>"
+ msgstr "Ð´Ð»Ñ %<%s %T%> нужен аргумент-шаблон"
+
+-#: cp/decl.c:10120 cp/name-lookup.c:2698
++#: cp/decl.c:10214 cp/name-lookup.c:2700
+ #, gcc-internal-format
+ msgid "%qD has the same name as the class in which it is declared"
+ msgstr "%qD имеет то же имÑ, что и клаÑÑ, в котором он(а) декларируетÑÑ"
+
+-#: cp/decl.c:10150 cp/name-lookup.c:2207 cp/parser.c:4036 cp/parser.c:14029
+-#: cp/parser.c:16234
++#: cp/decl.c:10244 cp/name-lookup.c:2209 cp/parser.c:4040 cp/parser.c:14099
++#: cp/parser.c:16316
+ #, gcc-internal-format
+ msgid "reference to %qD is ambiguous"
+ msgstr "ÑÑылка на %qD противоречива"
+
+-#: cp/decl.c:10264
++#: cp/decl.c:10358
+ #, gcc-internal-format
+ msgid "use of enum %q#D without previous declaration"
+ msgstr "иÑпользование перечиÑÐ»ÐµÐ½Ð¸Ñ %q#D без предыдущей декларации"
+
+-#: cp/decl.c:10285
++#: cp/decl.c:10379
+ #, gcc-internal-format
+ msgid "redeclaration of %qT as a non-template"
+ msgstr "Ð¿Ð¾Ð²Ñ‚Ð¾Ñ€Ð½Ð°Ñ Ð´ÐµÐºÐ»Ð°Ñ€Ð°Ñ†Ð¸Ñ %qT как не-шаблона"
+
+-#: cp/decl.c:10286 cp/pt.c:4154
++#: cp/decl.c:10380
+ #, gcc-internal-format
+ msgid "previous declaration %q+D"
+ msgstr "Ð¿Ñ€ÐµÐ´Ñ‹Ð´ÑƒÑ‰Ð°Ñ Ð´ÐµÐºÐ»Ð°Ñ€Ð°Ñ†Ð¸Ñ %q+D"
+
+-#: cp/decl.c:10397
++#: cp/decl.c:10491
+ #, gcc-internal-format
+ msgid "derived union %qT invalid"
+ msgstr "некорректный производный тип union %qT"
+
+-#: cp/decl.c:10406
++#: cp/decl.c:10500
+ #, gcc-internal-format
+ msgid "Java class %qT cannot have multiple bases"
+ msgstr "Java-клаÑÑ %qT не может иметь неÑколько базовых клаÑÑов"
+
+-#: cp/decl.c:10417
++#: cp/decl.c:10511
+ #, gcc-internal-format
+ msgid "Java class %qT cannot have virtual bases"
+ msgstr "Java-клаÑÑ %qT не может иметь виртуальных базовых клаÑÑов"
+
+-#: cp/decl.c:10440
++#: cp/decl.c:10534
+ #, gcc-internal-format
+ msgid "base type %qT fails to be a struct or class type"
+ msgstr "базовый тип %qT не ÑвлÑетÑÑ Ð½Ð¸ Ñтруктурой, ни клаÑÑом"
+
+-#: cp/decl.c:10473
++#: cp/decl.c:10567
+ #, gcc-internal-format
+ msgid "recursive type %qT undefined"
+ msgstr "рекурÑивный тип %qT неопределен"
+
+-#: cp/decl.c:10475
++#: cp/decl.c:10569
+ #, gcc-internal-format
+ msgid "duplicate base type %qT invalid"
+ msgstr "некорректное дублирование базового типа %qT"
+
+-#: cp/decl.c:10552
++#: cp/decl.c:10646
+ #, gcc-internal-format
+ msgid "multiple definition of %q#T"
+ msgstr "повторное определение %q#T"
+
+-#: cp/decl.c:10553
++#: cp/decl.c:10647
+ #, gcc-internal-format
+ msgid "%Jprevious definition here"
+ msgstr "%JÑто предыдущее определение"
+@@ -29169,47 +29158,52 @@
+ #.
+ #. IF no integral type can represent all the enumerator values, the
+ #. enumeration is ill-formed.
+-#: cp/decl.c:10692
++#: cp/decl.c:10786
+ #, gcc-internal-format
+ msgid "no integral type can represent all of the enumerator values for %qT"
+ msgstr "ни один целочиÑленный тип не годитÑÑ Ð´Ð»Ñ Ð¿Ñ€ÐµÐ´ÑÑ‚Ð°Ð²Ð»ÐµÐ½Ð¸Ñ Ð²Ñех значений перечиÑлимого типа %qT"
+
+-#: cp/decl.c:10803
++#: cp/decl.c:10897
+ #, gcc-internal-format
+ msgid "enumerator value for %qD is not an integer constant"
+ msgstr "значение перечиÑлимого типа Ð´Ð»Ñ %qD не ÑвлÑетÑÑ ÐºÐ¾Ð½Ñтантой целого типа"
+
+-#: cp/decl.c:10831
++#: cp/decl.c:10925
+ #, gcc-internal-format
+ msgid "overflow in enumeration values at %qD"
+ msgstr "переполнение в перечиÑлÑемых значениÑÑ… Ð´Ð»Ñ %qD"
+
+-#: cp/decl.c:10906
++#: cp/decl.c:11002
+ #, gcc-internal-format
+ msgid "return type %q#T is incomplete"
+ msgstr "тип результата %q#T неполный"
+
+-#: cp/decl.c:11031 cp/typeck.c:6711
++#: cp/decl.c:11004
++#, fuzzy, gcc-internal-format
++msgid "return type has Java class type %q#T"
++msgstr "тип возвращаемого Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ñ Ð½Ðµ полный"
++
++#: cp/decl.c:11129 cp/typeck.c:6739
+ #, gcc-internal-format
+ msgid "%<operator=%> should return a reference to %<*this%>"
+ msgstr "%<operator=%> должен возвращать ÑÑылку на %<*this%>"
+
+-#: cp/decl.c:11420
++#: cp/decl.c:11518
+ #, gcc-internal-format
+ msgid "parameter %qD declared void"
+ msgstr "параметр %qD объÑвлен void"
+
+-#: cp/decl.c:11908
++#: cp/decl.c:12006
+ #, gcc-internal-format
+ msgid "invalid member function declaration"
+ msgstr "Ð½ÐµÐºÐ¾Ñ€Ñ€ÐµÐºÑ‚Ð½Ð°Ñ Ð´ÐµÐºÐ»Ð°Ñ€Ð°Ñ†Ð¸Ñ Ñлемента-функции"
+
+-#: cp/decl.c:11923
++#: cp/decl.c:12021
+ #, gcc-internal-format
+ msgid "%qD is already defined in class %qT"
+ msgstr "%qD уже определена в клаÑÑе %qT"
+
+-#: cp/decl.c:12170
++#: cp/decl.c:12268
+ #, gcc-internal-format
+ msgid "static member function %q#D declared with type qualifiers"
+ msgstr "ÑтатичеÑÐºÐ°Ñ Ñ„ÑƒÐ½ÐºÑ†Ð¸Ñ-член %q#D объÑвлена Ñ ÐºÐ²Ð°Ð»Ð¸Ñ„Ð¸ÐºÐ°Ñ‚Ð¾Ñ€Ð°Ð¼Ð¸ типа"
+@@ -29249,7 +29243,7 @@
+ msgid "deleting %qT is undefined"
+ msgstr "удаление %qT не определено"
+
+-#: cp/decl2.c:459 cp/pt.c:3828
++#: cp/decl2.c:459 cp/pt.c:3831
+ #, gcc-internal-format
+ msgid "template declaration of %q#D"
+ msgstr "ÑˆÐ°Ð±Ð»Ð¾Ð½Ð½Ð°Ñ Ð´ÐµÐºÐ»Ð°Ñ€Ð°Ñ†Ð¸Ñ %q#D"
+@@ -29334,22 +29328,22 @@
+ msgid "static member %qD cannot be a bit-field"
+ msgstr "ÑтатичеÑкий Ñлемент %qD не может быть битовым полем"
+
+-#: cp/decl2.c:1122
++#: cp/decl2.c:1165
+ #, gcc-internal-format
+ msgid "anonymous struct not inside named type"
+ msgstr "Ð°Ð½Ð¾Ð½Ð¸Ð¼Ð½Ð°Ñ Ñтруктура не внутри именованного типа"
+
+-#: cp/decl2.c:1206
++#: cp/decl2.c:1249
+ #, gcc-internal-format
+ msgid "namespace-scope anonymous aggregates must be static"
+ msgstr "анонимные агрегатные данные в облаÑти видимоÑти проÑтранÑтва имён должны быть ÑтатичеÑкими"
+
+-#: cp/decl2.c:1215
++#: cp/decl2.c:1258
+ #, gcc-internal-format
+ msgid "anonymous union with no members"
+ msgstr "безымÑнное объединение без Ñлементов"
+
+-#: cp/decl2.c:1251
++#: cp/decl2.c:1294
+ #, gcc-internal-format
+ msgid "%<operator new%> must return type %qT"
+ msgstr "%<operator new%> должен возвращать тип %qT"
+@@ -29358,52 +29352,52 @@
+ #.
+ #. The first parameter shall not have an associated default
+ #. argument.
+-#: cp/decl2.c:1262
++#: cp/decl2.c:1305
+ #, gcc-internal-format
+ msgid "the first parameter of %<operator new%> cannot have a default argument"
+ msgstr "первый аргумент %<operator new%> не может иметь значение по умолчанию"
+
+-#: cp/decl2.c:1278
++#: cp/decl2.c:1321
+ #, gcc-internal-format
+ msgid "%<operator new%> takes type %<size_t%> (%qT) as first parameter"
+ msgstr "%<operator new%> имеет %<size_t%> (%qT) в качеÑтве первого параметра"
+
+-#: cp/decl2.c:1307
++#: cp/decl2.c:1350
+ #, gcc-internal-format
+ msgid "%<operator delete%> must return type %qT"
+ msgstr "%<operator delete%> должен иметь результат типа %qT"
+
+-#: cp/decl2.c:1316
++#: cp/decl2.c:1359
+ #, gcc-internal-format
+ msgid "%<operator delete%> takes type %qT as first parameter"
+ msgstr "%<operator delete%> имеет первый параметр типа %qT"
+
+-#: cp/decl2.c:1985
++#: cp/decl2.c:2028
+ #, gcc-internal-format
+ msgid "%qT has a field %qD whose type uses the anonymous namespace"
+ msgstr "%qT имеет поле %qD, иÑпользующее анонимное проÑтраноÑтво имён"
+
+-#: cp/decl2.c:1992
++#: cp/decl2.c:2035
+ #, gcc-internal-format
+ msgid "%qT declared with greater visibility than the type of its field %qD"
+ msgstr "%qT объÑвлен Ñ Ð±Ð¾Ð»ÑŒÑˆÐµÐ¹ облаÑтью видимоÑти, чем тип его Ð¿Ð¾Ð»Ñ %qD"
+
+-#: cp/decl2.c:2005
++#: cp/decl2.c:2048
+ #, gcc-internal-format
+ msgid "%qT has a base %qT whose type uses the anonymous namespace"
+ msgstr "%qT наÑледован от %qT, иÑпользующего анонимное проÑтраноÑтво имён"
+
+-#: cp/decl2.c:2011
++#: cp/decl2.c:2054
+ #, gcc-internal-format
+ msgid "%qT declared with greater visibility than its base %qT"
+ msgstr "%qT объÑвлен Ñ Ð±Ð¾Ð»ÑŒÑˆÐµÐ¹ облаÑтью видимоÑти, чем родитель %qT"
+
+-#: cp/decl2.c:3395
++#: cp/decl2.c:3441
+ #, gcc-internal-format
+ msgid "inline function %q+D used but never defined"
+ msgstr "inline Ñ„ÑƒÐ½ÐºÑ†Ð¸Ñ %q+D иÑпользована, но нигде не определена"
+
+-#: cp/decl2.c:3543
++#: cp/decl2.c:3589
+ #, gcc-internal-format
+ msgid "default argument missing for parameter %P of %q+#D"
+ msgstr "отÑутÑтвует аргумент по умолчанию Ð´Ð»Ñ Ð¿Ð°Ñ€Ð°Ð¼ÐµÑ‚Ñ€Ð° %P функции %q+#D"
+@@ -29411,7 +29405,7 @@
+ #. We really want to suppress this warning in system headers,
+ #. because libstdc++ uses variadic templates even when we aren't
+ #. in C++0x mode.
+-#: cp/error.c:2669
++#: cp/error.c:2712
+ #, gcc-internal-format
+ msgid "ISO C++ does not include variadic templates"
+ msgstr "ISO C++ не включает вариативные шаблоны"
+@@ -29443,7 +29437,7 @@
+ msgid "throwing NULL, which has integral, not pointer type"
+ msgstr "иÑÐºÐ»ÑŽÑ‡Ð¸Ñ‚ÐµÐ»ÑŒÐ½Ð°Ñ ÑÐ¸Ñ‚ÑƒÐ°Ñ†Ð¸Ñ NULL имеет целый тип, а не тип указателÑ"
+
+-#: cp/except.c:643 cp/init.c:1780
++#: cp/except.c:643 cp/init.c:1915
+ #, gcc-internal-format
+ msgid "%qD should never be overloaded"
+ msgstr "%qD не может быть перегружен(о/а)"
+@@ -29542,232 +29536,247 @@
+ msgid "member %qD declared as friend before type %qT defined"
+ msgstr "Ñлемент %qD объÑвлен другом до Ð¾Ð¿Ñ€ÐµÐ´ÐµÐ»ÐµÐ½Ð¸Ñ Ñ‚Ð¸Ð¿Ð° %qT"
+
+-#: cp/friend.c:550
++#: cp/friend.c:543
+ #, fuzzy, gcc-internal-format
++msgid "friend declaration %qD in local class without prior declaration"
++msgstr "%JÑекциÑ, Ð·Ð°Ð´Ð°Ð½Ð½Ð°Ñ Ð´Ð»Ñ %qD, противоречит предшеÑтвующей декларации"
++
++#: cp/friend.c:564
++#, fuzzy, gcc-internal-format
+ msgid "friend declaration %q#D declares a non-template function"
+ msgstr "friend-Ð´ÐµÐºÐ»Ð°Ñ€Ð°Ñ†Ð¸Ñ `%#D' объÑвлÑет нешаблонную функцию"
+
+-#: cp/friend.c:554
++#: cp/friend.c:568
+ #, fuzzy, 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 "(еÑли Ñто не ÑоответÑтвует вашим намерениÑм, убедитеÑÑŒ, что шаблон функции уже был объÑвлен и добавьте <> поÑле имени функции здеÑÑŒ). -Wno-non-template-friend отменÑет Ñто предупреждение"
+
+-#: cp/init.c:334
++#: cp/init.c:374
+ #, fuzzy, gcc-internal-format
++msgid "value-initialization of reference"
++msgstr "Ð¸Ð½Ð¸Ñ†Ð¸Ð°Ð»Ð¸Ð·Ð°Ñ†Ð¸Ñ Ð¿Ð¾ умолчанию Ð´Ð»Ñ `%#D', имеющего тип ÑÑылки"
++
++#: cp/init.c:481
++#, fuzzy, gcc-internal-format
+ msgid "%J%qD should be initialized in the member initialization list"
+ msgstr "%qD Ñледует инициализировать в ÑпиÑке инициализации Ñлементов"
+
+-#: cp/init.c:382
++#: cp/init.c:529
+ #, fuzzy, gcc-internal-format
+ msgid "%Jdefault-initialization of %q#D, which has reference type"
+ msgstr "Ð¸Ð½Ð¸Ñ†Ð¸Ð°Ð»Ð¸Ð·Ð°Ñ†Ð¸Ñ Ð¿Ð¾ умолчанию Ð´Ð»Ñ `%#D', имеющего тип ÑÑылки"
+
+-#: cp/init.c:388
++#: cp/init.c:535
+ #, fuzzy, gcc-internal-format
+ msgid "%Juninitialized reference member %qD"
+ msgstr "инициализирован Ñлемент-ÑÑылка %qD"
+
+-#: cp/init.c:391
++#: cp/init.c:538
+ #, fuzzy, gcc-internal-format
+ msgid "%Juninitialized member %qD with %<const%> type %qT"
+ msgstr "неинициализированный Ñлемент %qD конÑтантного типа %qT"
+
+-#: cp/init.c:534
++#: cp/init.c:681
+ #, gcc-internal-format
+ msgid "%q+D will be initialized after"
+ msgstr "%q+D будет инициализирован поÑле"
+
+-#: cp/init.c:537
++#: cp/init.c:684
+ #, gcc-internal-format
+ msgid "base %qT will be initialized after"
+ msgstr "базовый клаÑÑ %qT будет инициализирован поÑле"
+
+-#: cp/init.c:540
++#: cp/init.c:687
+ #, fuzzy, gcc-internal-format
+ msgid " %q+#D"
+ msgstr " `%#D'"
+
+-#: cp/init.c:542
++#: cp/init.c:689
+ #, gcc-internal-format
+ msgid " base %qT"
+ msgstr " базового клаÑÑа %qT"
+
+-#: cp/init.c:543
++#: cp/init.c:690
+ #, fuzzy, gcc-internal-format
+ msgid "%J when initialized here"
+ msgstr " при инициализации здеÑÑŒ"
+
+-#: cp/init.c:559
++#: cp/init.c:706
+ #, fuzzy, gcc-internal-format
+ msgid "%Jmultiple initializations given for %qD"
+ msgstr "повторные инициализации Ð´Ð»Ñ %qD"
+
+-#: cp/init.c:562
++#: cp/init.c:709
+ #, fuzzy, gcc-internal-format
+ msgid "%Jmultiple initializations given for base %qT"
+ msgstr "повторные инициализации Ð´Ð»Ñ Ð±Ð°Ð·Ð¾Ð²Ð¾Ð³Ð¾ клаÑÑа %qT"
+
+-#: cp/init.c:629
++#: cp/init.c:776
+ #, fuzzy, gcc-internal-format
+ msgid "%Jinitializations for multiple members of %qT"
+ msgstr "инициализации Ð´Ð»Ñ Ð½ÐµÑкольких Ñлементов %qT"
+
+-#: cp/init.c:691
++#: cp/init.c:839
+ #, fuzzy, gcc-internal-format
+ msgid "%Jbase class %q#T should be explicitly initialized in the copy constructor"
+ msgstr "базовый клаÑÑ `%#T' должен быть Ñвно инициализирован в копирующем конÑтрукторе"
+
+-#: cp/init.c:915 cp/init.c:934
++#: cp/init.c:1063 cp/init.c:1082
+ #, gcc-internal-format
+ msgid "class %qT does not have any field named %qD"
+ msgstr "в клаÑÑе %qT не имеет Ð¿Ð¾Ð»Ñ Ñ Ð¸Ð¼ÐµÐ½ÐµÐ¼ %qD"
+
+-#: cp/init.c:921
++#: cp/init.c:1069
+ #, fuzzy, gcc-internal-format
+ msgid "%q#D is a static data member; it can only be initialized at its definition"
+ msgstr "`%#D' - ÑтатичеÑкий Ñлемент; он может быть инициализирован только в меÑте определениÑ"
+
+-#: cp/init.c:928
++#: cp/init.c:1076
+ #, fuzzy, gcc-internal-format
+ msgid "%q#D is not a non-static data member of %qT"
+ msgstr "`%#D' не ÑвлÑетÑÑ Ð½ÐµÑтатичеÑким Ñлементом %qT"
+
+-#: cp/init.c:967
++#: cp/init.c:1115
+ #, gcc-internal-format
+ msgid "unnamed initializer for %qT, which has no base classes"
+ msgstr "безымÑнный инициализатор Ð´Ð»Ñ %qT, не имеющего базовых клаÑÑов"
+
+-#: cp/init.c:975
++#: cp/init.c:1123
+ #, gcc-internal-format
+ msgid "unnamed initializer for %qT, which uses multiple inheritance"
+ msgstr "безымÑнный инициализатор Ð´Ð»Ñ %qT, имеющего множеÑтвенное наÑледование"
+
+-#: cp/init.c:1021
++#: cp/init.c:1169
+ #, gcc-internal-format
+ msgid "%qD is both a direct base and an indirect virtual base"
+ msgstr "%qD - непоÑредÑтвенный базовый тип, а также коÑвенный виртуальный базовый тип"
+
+-#: cp/init.c:1029
++#: cp/init.c:1177
+ #, fuzzy, gcc-internal-format
+ msgid "type %qT is not a direct or virtual base of %qT"
+ msgstr "тип %qD не ÑвлÑетÑÑ Ð½ÐµÐ¿Ð¾ÑредÑтвенной или виртуальной базой Ð´Ð»Ñ %qT"
+
+-#: cp/init.c:1032
++#: cp/init.c:1180
+ #, fuzzy, gcc-internal-format
+ msgid "type %qT is not a direct base of %qT"
+ msgstr "тип %qD не ÑвлÑетÑÑ Ð½ÐµÐ¿Ð¾ÑредÑтвенной базой Ð´Ð»Ñ %qT"
+
+-#: cp/init.c:1112
++#: cp/init.c:1260
+ #, gcc-internal-format
+ msgid "bad array initializer"
+ msgstr "некорректный инициализатор маÑÑива"
+
+-#: cp/init.c:1287
++#: cp/init.c:1435
+ #, gcc-internal-format
+ msgid "%qT is not an aggregate type"
+ msgstr "%qT не ÑвлÑетÑÑ Ð°Ð³Ñ€ÐµÐ³Ð°Ñ‚Ð½Ñ‹Ð¼ типом"
+
+-#: cp/init.c:1341
++#: cp/init.c:1489
+ #, gcc-internal-format
+ msgid "incomplete type %qT does not have member %qD"
+ msgstr "неполный тип %qT не имеет Ñлемента %qD"
+
+-#: cp/init.c:1354
++#: cp/init.c:1502
+ #, gcc-internal-format
+ msgid "invalid pointer to bit-field %qD"
+ msgstr "некорректный указатель на битовое поле %qD"
+
+-#: cp/init.c:1431
++#: cp/init.c:1579
+ #, gcc-internal-format
+ msgid "invalid use of non-static member function %qD"
+ msgstr "некорректное иÑпользование неÑтатичеÑкой функции-Ñлемента %qD"
+
+-#: cp/init.c:1437
++#: cp/init.c:1585
+ #, gcc-internal-format
+ msgid "invalid use of non-static data member %qD"
+ msgstr "некорректное иÑпользование неÑтатичеÑкого Ñлемента %qD"
+
+-#: cp/init.c:1714
++#: cp/init.c:1862
+ #, gcc-internal-format
+ msgid "invalid type %<void%> for new"
+ msgstr "некорректный тип %<void%> задан Ð´Ð»Ñ new"
+
+-#: cp/init.c:1724
++#: cp/init.c:1872
+ #, gcc-internal-format
+ msgid "uninitialized const in %<new%> of %q#T"
+ msgstr "Ð½ÐµÐ¿Ñ€Ð¾Ð¸Ð½Ð¸Ñ†Ð¸Ð°Ð»Ð¸Ð·Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð½Ð°Ñ ÐºÐ¾Ð½Ñтанта в %<new%> от %q#T"
+
+-#: cp/init.c:1775
++#: cp/init.c:1910
+ #, gcc-internal-format
+ msgid "call to Java constructor with %qs undefined"
+ msgstr "вызов Java-конÑтруктора Ñ Ð½ÐµÐ¾Ð¿Ñ€ÐµÐ´ÐµÐ»ÐµÐ½Ð½Ñ‹Ð¼ %qs"
+
+-#: cp/init.c:1815
++#: cp/init.c:1926
++#, fuzzy, gcc-internal-format
++msgid "Java class %q#T object allocated using placement new"
++msgstr "Java-клаÑÑ %qT не может иметь неÑколько базовых клаÑÑов"
++
++#: cp/init.c:1955
+ #, gcc-internal-format
+ msgid "no suitable %qD found in class %qT"
+ msgstr "не найдено подходÑщего %qD в клаÑÑе %qT"
+
+-#: cp/init.c:1820
++#: cp/init.c:1960
+ #, gcc-internal-format
+ msgid "request for member %qD is ambiguous"
+ msgstr "Ð·Ð°Ð¿Ñ€Ð¾Ñ Ñлемента %qD неоднозначен"
+
+-#: cp/init.c:1972
++#: cp/init.c:2134
+ #, gcc-internal-format
+ msgid "ISO C++ forbids initialization in array new"
+ msgstr "ISO C++ запрещает иÑпользовать инициализацию при Ñоздании маÑÑивов Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ new"
+
+-#: cp/init.c:2174
++#: cp/init.c:2336
+ #, gcc-internal-format
+ msgid "size in array new must have integral type"
+ msgstr "размер в new Ð´Ð»Ñ Ð¼Ð°ÑÑива должен иметь целочиÑленный тип"
+
+-#: cp/init.c:2183
++#: cp/init.c:2345
+ #, gcc-internal-format
+ msgid "new cannot be applied to a reference type"
+ msgstr "new Ð½ÐµÐ»ÑŒÐ·Ñ Ð¿Ñ€Ð¸Ð¼ÐµÐ½ÑÑ‚ÑŒ к ÑÑылочному типу"
+
+-#: cp/init.c:2189
++#: cp/init.c:2351
+ #, gcc-internal-format
+ msgid "new cannot be applied to a function type"
+ msgstr "new Ð½ÐµÐ»ÑŒÐ·Ñ Ð¿Ñ€Ð¸Ð¼ÐµÐ½ÑÑ‚ÑŒ к типу функции"
+
+-#: cp/init.c:2228
++#: cp/init.c:2390
+ #, gcc-internal-format
+ msgid "call to Java constructor, while %<jclass%> undefined"
+ msgstr "вызов Java-конÑтрукторов, Ñ…Ð¾Ñ‚Ñ %<jclass%> не определен"
+
+-#: cp/init.c:2246
++#: cp/init.c:2408
+ #, gcc-internal-format
+ msgid "can't find %<class$%> in %qT"
+ msgstr "отÑутÑтвует %<class$%> в %qT"
+
+-#: cp/init.c:2607
++#: cp/init.c:2769
+ #, gcc-internal-format
+ msgid "initializer ends prematurely"
+ msgstr "преждевременное завершение инициализатора"
+
+-#: cp/init.c:2662
++#: cp/init.c:2824
+ #, gcc-internal-format
+ msgid "cannot initialize multi-dimensional array with initializer"
+ msgstr "недопуÑÑ‚Ð¸Ð¼Ð°Ñ Ð¸Ð½Ð¸Ñ†Ð¸Ð°Ð»Ð¸Ð·Ð°Ñ†Ð¸Ñ Ð¼Ð½Ð¾Ð³Ð¾Ð¼ÐµÑ€Ð½Ð¾Ð³Ð¾ маÑÑива при помощи инициализатора"
+
+-#: cp/init.c:2799
++#: cp/init.c:2961
+ #, gcc-internal-format
+ msgid "possible problem detected in invocation of delete operator:"
+ msgstr "в вызове оператора delete обнаружена Ð²Ð¾Ð·Ð¼Ð¾Ð¶Ð½Ð°Ñ Ð¿Ñ€Ð¾Ð±Ð»ÐµÐ¼Ð°:"
+
+-#: cp/init.c:2802
++#: cp/init.c:2964
+ #, gcc-internal-format
+ msgid "neither the destructor nor the class-specific operator delete will be called, even if they are declared when the class is defined."
+ msgstr "ни деÑтруктор, ни пецифичеÑкий Ð´Ð»Ñ ÐºÐ»Ð°ÑÑа оператор delete не будут вызваны, даже еÑли они декларированы в определении клаÑÑа."
+
+-#: cp/init.c:2823
++#: cp/init.c:2985
+ #, gcc-internal-format
+ msgid "unknown array size in delete"
+ msgstr "неизвеÑтный размер маÑÑива в операторе delete"
+
+-#: cp/init.c:3070
++#: cp/init.c:3232
+ #, gcc-internal-format
+ msgid "type to vector delete is neither pointer or array type"
+ msgstr "тип, заданный в векторном delete, не ÑвлÑетÑÑ Ð½Ð¸ маÑÑивом, ни указателем"
+@@ -29832,22 +29841,22 @@
+ msgid "mangling typeof, use decltype instead"
+ msgstr ""
+
+-#: cp/mangle.c:2208
++#: cp/mangle.c:2211
+ #, gcc-internal-format
+ msgid "call_expr cannot be mangled due to a defect in the C++ ABI"
+ msgstr "call_expr не может быть закодировано из-за дефектов ABI C++"
+
+-#: cp/mangle.c:2216
++#: cp/mangle.c:2219
+ #, fuzzy, gcc-internal-format
+ msgid "zero-operand casts cannot be mangled due to a defect in the C++ ABI"
+ msgstr "call_expr не может быть закодировано из-за дефектов ABI C++"
+
+-#: cp/mangle.c:2266
++#: cp/mangle.c:2269
+ #, gcc-internal-format
+ msgid "omitted middle operand to %<?:%> operand cannot be mangled"
+ msgstr "невозможно кодирование пропущенного Ñреднего опреанда %<?:%>"
+
+-#: cp/mangle.c:2584
++#: cp/mangle.c:2587
+ #, gcc-internal-format
+ msgid "the mangled name of %qD will change in a future version of GCC"
+ msgstr "кодированное Ð¸Ð¼Ñ %qD изменитÑÑ Ð² будущих верÑиÑÑ… GCC"
+@@ -29857,27 +29866,27 @@
+ msgid "generic thunk code fails for method %q#D which uses %<...%>"
+ msgstr "ошибка в обобщенном thunk-коде Ð´Ð»Ñ Ð¼ÐµÑ‚Ð¾Ð´Ð° `%#D', который иÑпользует `...'"
+
+-#: cp/method.c:697
++#: cp/method.c:698
+ #, fuzzy, gcc-internal-format
+ msgid "non-static const member %q#D, can't use default assignment operator"
+ msgstr "неÑтатичеÑкий конÑтантный Ñлемент `%#D', иÑпользование операции приÑÐ²Ð°Ð¸Ð²Ð°Ð½Ð¸Ñ Ð¿Ð¾ умолчанию недопуÑтимо"
+
+-#: cp/method.c:703
++#: cp/method.c:704
+ #, fuzzy, gcc-internal-format
+ msgid "non-static reference member %q#D, can't use default assignment operator"
+ msgstr "неÑтатичеÑкий Ñлемент-ÑÑылка `%#D', иÑпользование операции приÑÐ²Ð°Ð¸Ð²Ð°Ð½Ð¸Ñ Ð¿Ð¾ умолчанию недопуÑтимо"
+
+-#: cp/method.c:815
++#: cp/method.c:816
+ #, gcc-internal-format
+ msgid "%Hsynthesized method %qD first required here "
+ msgstr "%HÑинтезированный метод %qD впервые потребовалÑÑ Ð·Ð´ÐµÑÑŒ "
+
+-#: cp/method.c:1158
++#: cp/method.c:1159
+ #, gcc-internal-format
+ msgid "vtable layout for class %qT may not be ABI-compliantand may change in a future version of GCC due to implicit virtual destructor"
+ msgstr "Ñтруктура vtable Ð´Ð»Ñ ÐºÐ»Ð°ÑÑа %qT может быть неÑовмеÑтима Ñ ABI и может быть изменена в будущих верÑиÑÑ… GCC из-за неÑвного виртуального деÑтруктора"
+
+-#: cp/name-lookup.c:728
++#: cp/name-lookup.c:727
+ #, gcc-internal-format
+ msgid "redeclaration of %<wchar_t%> as %qT"
+ msgstr "Ð¿Ð¾Ð²Ñ‚Ð¾Ñ€Ð½Ð°Ñ Ð´ÐµÐºÐ»Ð°Ñ€Ð°Ñ†Ð¸Ñ %<wchar_t%> Ñ Ñ‚Ð¸Ð¿Ð¾Ð¼ %qT"
+@@ -29888,243 +29897,243 @@
+ #. [basic.start.main]
+ #.
+ #. This function shall not be overloaded.
+-#: cp/name-lookup.c:758
++#: cp/name-lookup.c:757
+ #, gcc-internal-format
+ msgid "invalid redeclaration of %q+D"
+ msgstr "Ð½ÐµÐºÐ¾Ñ€Ñ€ÐµÐºÑ‚Ð½Ð°Ñ Ð´ÐµÐºÐ»Ð°Ñ€Ð°Ñ†Ð¸Ñ %q+D"
+
+-#: cp/name-lookup.c:759
++#: cp/name-lookup.c:758
+ #, gcc-internal-format
+ msgid "as %qD"
+ msgstr "как %qD"
+
+-#: cp/name-lookup.c:850
++#: cp/name-lookup.c:849
+ #, gcc-internal-format
+ msgid "type mismatch with previous external decl of %q#D"
+ msgstr "неÑоответÑтвие типов Ñ Ð¿Ñ€ÐµÐ´ÑˆÐµÑтвующей внешней декларацией %q#D"
+
+-#: cp/name-lookup.c:851
++#: cp/name-lookup.c:850
+ #, gcc-internal-format
+ msgid "previous external decl of %q+#D"
+ msgstr "Ð¿Ñ€ÐµÐ´Ñ‹Ð´ÑƒÑ‰Ð°Ñ Ð²Ð½ÐµÑˆÐ½ÑÑ Ð´ÐµÐºÐ»Ð°Ñ€Ð°Ñ†Ð¸Ñ %q+#D"
+
+-#: cp/name-lookup.c:942
++#: cp/name-lookup.c:941
+ #, gcc-internal-format
+ msgid "extern declaration of %q#D doesn't match"
+ msgstr "нет ÑоответÑÑ‚Ð²Ð¸Ñ Ñ Ð²Ð½ÐµÑˆÐ½ÐµÐ¹ декларацией %q#D"
+
+-#: cp/name-lookup.c:943
++#: cp/name-lookup.c:942
+ #, gcc-internal-format
+ msgid "global declaration %q+#D"
+ msgstr "Ð³Ð»Ð¾Ð±Ð°Ð»ÑŒÐ½Ð°Ñ Ð´ÐµÐºÐ»Ð°Ñ€Ð°Ñ†Ð¸Ñ %q+#D"
+
+-#: cp/name-lookup.c:980 cp/name-lookup.c:987
++#: cp/name-lookup.c:979 cp/name-lookup.c:986
+ #, gcc-internal-format
+ msgid "declaration of %q#D shadows a parameter"
+ msgstr "Ð´ÐµÐºÐ»Ð°Ñ€Ð°Ñ†Ð¸Ñ %q#D перекрывает параметр"
+
+ #. Location of previous decl is not useful in this case.
+-#: cp/name-lookup.c:1012
++#: cp/name-lookup.c:1011
+ #, gcc-internal-format
+ msgid "declaration of %qD shadows a member of 'this'"
+ msgstr "Ð´ÐµÐºÐ»Ð°Ñ€Ð°Ñ†Ð¸Ñ %qD перекрывает Ñлемент клаÑÑа, на который указывает 'this'"
+
+-#: cp/name-lookup.c:1018
++#: cp/name-lookup.c:1017
+ #, gcc-internal-format
+ msgid "declaration of %qD shadows a previous local"
+ msgstr "Ð´ÐµÐºÐ»Ð°Ñ€Ð°Ñ†Ð¸Ñ %qD перекрывает декларированную ранее локальную переменную"
+
+-#: cp/name-lookup.c:1025
++#: cp/name-lookup.c:1024
+ #, gcc-internal-format
+ msgid "declaration of %qD shadows a global declaration"
+ msgstr "Ð´ÐµÐºÐ»Ð°Ñ€Ð°Ñ†Ð¸Ñ %qD перекрывает глобальную декларирацию"
+
+-#: cp/name-lookup.c:1148
++#: cp/name-lookup.c:1147
+ #, gcc-internal-format
+ msgid "name lookup of %qD changed"
+ msgstr "поиÑк имени %qD изменен"
+
+-#: cp/name-lookup.c:1149
++#: cp/name-lookup.c:1148
+ #, gcc-internal-format
+ msgid " matches this %q+D under ISO standard rules"
+ msgstr " ÑоответÑтвует декларации %q+D по правилам Ñтандарта ISO"
+
+-#: cp/name-lookup.c:1151
++#: cp/name-lookup.c:1150
+ #, gcc-internal-format
+ msgid " matches this %q+D under old rules"
+ msgstr " ÑоответÑтвует декларации %q+D по Ñтарым правилам"
+
+-#: cp/name-lookup.c:1169 cp/name-lookup.c:1177
++#: cp/name-lookup.c:1168 cp/name-lookup.c:1176
+ #, gcc-internal-format
+ msgid "name lookup of %qD changed for new ISO %<for%> scoping"
+ msgstr "поиÑк имени %qD изменен в ÑоответÑтвии Ñ Ð½Ð¾Ð²Ð¾Ð¹ трактовкой ISO Ð´Ð»Ñ Ð¾Ð±Ð»Ð°Ñти %<for%>"
+
+-#: cp/name-lookup.c:1171
++#: cp/name-lookup.c:1170
+ #, gcc-internal-format
+ msgid " cannot use obsolete binding at %q+D because it has a destructor"
+ msgstr " Ð½ÐµÐ»ÑŒÐ·Ñ Ð¸Ñпользовать уÑтаревшую привÑзку в %q+D, потому что имеетÑÑ Ð´ÐµÑтруктор"
+
+-#: cp/name-lookup.c:1179
++#: cp/name-lookup.c:1178
+ #, gcc-internal-format
+ msgid " using obsolete binding at %q+D"
+ msgstr " иÑпользуетÑÑ ÑƒÑÑ‚Ð°Ñ€ÐµÐ²ÑˆÐ°Ñ Ð¿Ñ€Ð¸Ð²Ñзка в %q+D"
+
+-#: cp/name-lookup.c:1232
++#: cp/name-lookup.c:1231
+ #, gcc-internal-format
+ msgid "%s %s(%E) %p %d\n"
+ msgstr "%s %s(%E) %p %d\n"
+
+-#: cp/name-lookup.c:1235
++#: cp/name-lookup.c:1234
+ #, gcc-internal-format
+ msgid "%s %s %p %d\n"
+ msgstr "%s %s %p %d\n"
+
+-#: cp/name-lookup.c:1362
++#: cp/name-lookup.c:1361
+ #, gcc-internal-format
+ msgid "XXX is_class_level != (current_scope == class_scope)\n"
+ msgstr "XXX is_class_level != (current_scope == class_scope)\n"
+
+-#: cp/name-lookup.c:1920
++#: cp/name-lookup.c:1922
+ #, gcc-internal-format
+ msgid "%q#D hides constructor for %q#T"
+ msgstr "%q#D Ñкрывает конÑтруктор Ð´Ð»Ñ %q#T"
+
+-#: cp/name-lookup.c:1937
++#: cp/name-lookup.c:1939
+ #, gcc-internal-format
+ msgid "%q#D conflicts with previous using declaration %q#D"
+ msgstr "%q#D конфликтует Ñ Ð¿Ñ€ÐµÐ´Ñ‹Ð´ÑƒÑ‰Ð¸Ð¼ иÑпользованием декларации %q#D"
+
+-#: cp/name-lookup.c:1960
++#: cp/name-lookup.c:1962
+ #, gcc-internal-format
+ msgid "previous non-function declaration %q+#D"
+ msgstr "Ð¿Ñ€ÐµÐ´Ñ‹Ð´ÑƒÑ‰Ð°Ñ Ð´ÐµÐºÐ»Ð°Ñ€Ð°Ñ†Ð¸Ñ Ð½Ðµ-функции %q+#D"
+
+-#: cp/name-lookup.c:1961
++#: cp/name-lookup.c:1963
+ #, gcc-internal-format
+ msgid "conflicts with function declaration %q#D"
+ msgstr "противоречит декларации функции %q#D"
+
+ #. It's a nested name with template parameter dependent scope.
+ #. This can only be using-declaration for class member.
+-#: cp/name-lookup.c:2039 cp/name-lookup.c:2064
++#: cp/name-lookup.c:2041 cp/name-lookup.c:2066
+ #, gcc-internal-format
+ msgid "%qT is not a namespace"
+ msgstr "%qT не ÑвлÑетÑÑ Ð¿Ñ€Ð¾ÑтранÑтвом имён"
+
+ #. 7.3.3/5
+ #. A using-declaration shall not name a template-id.
+-#: cp/name-lookup.c:2049
++#: cp/name-lookup.c:2051
+ #, gcc-internal-format
+ msgid "a using-declaration cannot specify a template-id. Try %<using %D%>"
+ msgstr "в using-декларации Ð½ÐµÐ»ÑŒÐ·Ñ Ð·Ð°Ð´Ð°Ð²Ð°Ñ‚ÑŒ идентификатор шаблона. Попробуйте %<using %D%>"
+
+-#: cp/name-lookup.c:2056
++#: cp/name-lookup.c:2058
+ #, gcc-internal-format
+ msgid "namespace %qD not allowed in using-declaration"
+ msgstr "проÑтранÑтво имён %qD не допуÑкаетÑÑ Ð² using-декларации"
+
+-#: cp/name-lookup.c:2092
++#: cp/name-lookup.c:2094
+ #, gcc-internal-format
+ msgid "%qD not declared"
+ msgstr "отÑутÑтвует Ð´ÐµÐºÐ»Ð°Ñ€Ð°Ñ†Ð¸Ñ %qD"
+
+-#: cp/name-lookup.c:2128 cp/name-lookup.c:2165 cp/name-lookup.c:2199
+-#: cp/name-lookup.c:2214
++#: cp/name-lookup.c:2130 cp/name-lookup.c:2167 cp/name-lookup.c:2201
++#: cp/name-lookup.c:2216
+ #, gcc-internal-format
+ msgid "%qD is already declared in this scope"
+ msgstr "в Ñтой облаÑти видимоÑти уже еÑÑ‚ÑŒ Ð´ÐµÐºÐ»Ð°Ñ€Ð°Ñ†Ð¸Ñ %qD"
+
+-#: cp/name-lookup.c:2817
++#: cp/name-lookup.c:2819
+ #, gcc-internal-format
+ msgid "using-declaration for non-member at class scope"
+ msgstr "using-Ð´ÐµÐºÐ»Ð°Ñ€Ð°Ñ†Ð¸Ñ Ð´Ð»Ñ Ð½Ðµ-Ñлемента внутри клаÑÑа"
+
+-#: cp/name-lookup.c:2824
++#: cp/name-lookup.c:2826
+ #, gcc-internal-format
+ msgid "%<%T::%D%> names destructor"
+ msgstr "%<%T::%D%> обозначает деÑтруктор"
+
+-#: cp/name-lookup.c:2829
++#: cp/name-lookup.c:2831
+ #, gcc-internal-format
+ msgid "%<%T::%D%> names constructor"
+ msgstr "%%<%T::%D%> обозначает конÑтруктор"
+
+-#: cp/name-lookup.c:2834
++#: cp/name-lookup.c:2836
+ #, gcc-internal-format
+ msgid "%<%T::%D%> names constructor in %qT"
+ msgstr "%<%T::%D%> обозначает конÑтруктор в %qT"
+
+-#: cp/name-lookup.c:2884
++#: cp/name-lookup.c:2886
+ #, gcc-internal-format
+ msgid "no members matching %<%T::%D%> in %q#T"
+ msgstr "нет Ñлементов, ÑоответÑтвующих %<%T::%D%>, в %q#T"
+
+-#: cp/name-lookup.c:2952
++#: cp/name-lookup.c:2954
+ #, gcc-internal-format
+ msgid "declaration of %qD not in a namespace surrounding %qD"
+ msgstr "Ð´ÐµÐºÐ»Ð°Ñ€Ð°Ñ†Ð¸Ñ %qD вне проÑтранÑтва имён, объемлющего %qD"
+
+-#: cp/name-lookup.c:2960
++#: cp/name-lookup.c:2962
+ #, gcc-internal-format
+ msgid "explicit qualification in declaration of %qD"
+ msgstr "Ñвные квалификаторы в декларации %qD"
+
+-#: cp/name-lookup.c:3003
++#: cp/name-lookup.c:3005
+ #, gcc-internal-format
+ msgid "%qD should have been declared inside %qD"
+ msgstr "%qD Ñледовало объÑвить внутри %qD"
+
+-#: cp/name-lookup.c:3048
++#: cp/name-lookup.c:3050
+ #, fuzzy, gcc-internal-format
+ msgid "%qD attribute requires a single NTBS argument"
+ msgstr "аргументом атрибута %qs должна быть Ñ†ÐµÐ»Ð°Ñ ÐºÐ¾Ð½Ñтанта"
+
+-#: cp/name-lookup.c:3055
++#: cp/name-lookup.c:3057
+ #, gcc-internal-format
+ msgid "%qD attribute is meaningless since members of the anonymous namespace get local symbols"
+ msgstr ""
+
+-#: cp/name-lookup.c:3064 cp/name-lookup.c:3433
++#: cp/name-lookup.c:3066 cp/name-lookup.c:3435
+ #, gcc-internal-format
+ msgid "%qD attribute directive ignored"
+ msgstr "атрибут %qD игнорируетÑÑ"
+
+-#: cp/name-lookup.c:3109
++#: cp/name-lookup.c:3111
+ #, gcc-internal-format
+ msgid "namespace alias %qD not allowed here, assuming %qD"
+ msgstr "иÑпользование проÑтранÑтва имён %qD здеÑÑŒ недопуÑтимо; предполагаетÑÑ %qD"
+
+-#: cp/name-lookup.c:3421
++#: cp/name-lookup.c:3423
+ #, gcc-internal-format
+ msgid "strong using only meaningful at namespace scope"
+ msgstr "strong имеет ÑмыÑл только в пределах namespace"
+
+-#: cp/name-lookup.c:3425
++#: cp/name-lookup.c:3427
+ #, fuzzy, gcc-internal-format
+ msgid "current namespace %qD does not enclose strongly used namespace %qD"
+ msgstr "Ð´ÐµÐºÐ»Ð°Ñ€Ð°Ñ†Ð¸Ñ %qD в %qD, который не объемлет %qD"
+
+-#: cp/name-lookup.c:4318
++#: cp/name-lookup.c:4320
+ #, gcc-internal-format
+ msgid "%q+D is not a function,"
+ msgstr "%q+D не ÑвлÑетÑÑ Ñ„ÑƒÐ½ÐºÑ†Ð¸ÐµÐ¹,"
+
+-#: cp/name-lookup.c:4319
++#: cp/name-lookup.c:4321
+ #, gcc-internal-format
+ msgid " conflict with %q+D"
+ msgstr " конфликт Ñ %q+D"
+
+-#: cp/name-lookup.c:4752
++#: cp/name-lookup.c:4756
+ #, gcc-internal-format
+ msgid "argument dependent lookup finds %q+D"
+ msgstr ""
+
+-#: cp/name-lookup.c:5184
++#: cp/name-lookup.c:5188
+ #, gcc-internal-format
+ msgid "XXX entering pop_everything ()\n"
+ msgstr "XXX вход в pop_everything ()\n"
+
+-#: cp/name-lookup.c:5193
++#: cp/name-lookup.c:5197
+ #, gcc-internal-format
+ msgid "XXX leaving pop_everything ()\n"
+ msgstr "XXX выход из pop_everything ()\n"
+@@ -30134,368 +30143,373 @@
+ msgid "identifier %<%s%> will become a keyword in C++0x"
+ msgstr ""
+
+-#: cp/parser.c:2066
++#: cp/parser.c:2069
+ #, gcc-internal-format
+ msgid "%<#pragma%> is not allowed here"
+ msgstr "некорректно употреблÑÑ‚ÑŒ %<#pragma%>"
+
+-#: cp/parser.c:2096
++#: cp/parser.c:2099
+ #, gcc-internal-format
+ msgid "%<%E::%E%> has not been declared"
+ msgstr "%<%E::%E%> не был декларирован"
+
+-#: cp/parser.c:2099
++#: cp/parser.c:2102
+ #, gcc-internal-format
+ msgid "%<::%E%> has not been declared"
+ msgstr "%<::%E%> не был декларирован"
+
+-#: cp/parser.c:2102
++#: cp/parser.c:2105
+ #, fuzzy, gcc-internal-format
+ msgid "request for member %qE in non-class type %qT"
+ msgstr "Ð·Ð°Ð¿Ñ€Ð¾Ñ Ñлемента %qD в %qE, имеющего не клаÑÑовый тип %qT"
+
+-#: cp/parser.c:2105
++#: cp/parser.c:2108
+ #, gcc-internal-format
+ msgid "%<%T::%E%> has not been declared"
+ msgstr "%<%T::%E%> не был декларирован"
+
+-#: cp/parser.c:2108
++#: cp/parser.c:2111
+ #, gcc-internal-format
+ msgid "%qE has not been declared"
+ msgstr "%qE не был декларирован"
+
+-#: cp/parser.c:2111
++#: cp/parser.c:2114
+ #, gcc-internal-format
+ msgid "%<%E::%E%> %s"
+ msgstr "%<%E::%E%> %s"
+
+-#: cp/parser.c:2113
++#: cp/parser.c:2116
+ #, gcc-internal-format
+ msgid "%<::%E%> %s"
+ msgstr "%<::%E%> %s"
+
+-#: cp/parser.c:2115
++#: cp/parser.c:2118
+ #, gcc-internal-format
+ msgid "%qE %s"
+ msgstr "%qE %s"
+
+-#: cp/parser.c:2151
+-#, gcc-internal-format
+-msgid "ISO C++ does not support %<long long%>"
++#: cp/parser.c:2155
++#, fuzzy, gcc-internal-format
++msgid "ISO C++ 1998 does not support %<long long%>"
+ msgstr "ISO C++ не поддерживает %<long long%>"
+
+-#: cp/parser.c:2171
++#: cp/parser.c:2175
+ #, gcc-internal-format
+ msgid "duplicate %qs"
+ msgstr "дублирование %s"
+
+-#: cp/parser.c:2214
++#: cp/parser.c:2218
+ #, gcc-internal-format
+ msgid "new types may not be defined in a return type"
+ msgstr "в опиÑании возвращаемого типа Ð½ÐµÐ»ÑŒÐ·Ñ Ð¾Ð¿Ñ€ÐµÐ´ÐµÐ»ÑÑ‚ÑŒ новые типы"
+
+-#: cp/parser.c:2215
++#: cp/parser.c:2219
+ #, gcc-internal-format
+ msgid "(perhaps a semicolon is missing after the definition of %qT)"
+ msgstr "(возможно, пропущена точка Ñ Ð·Ð°Ð¿Ñтой поÑле Ð¾Ð¿Ñ€ÐµÐ´ÐµÐ»ÐµÐ½Ð¸Ñ %qT)"
+
+-#: cp/parser.c:2234 cp/parser.c:4077 cp/pt.c:5443
++#: cp/parser.c:2238 cp/parser.c:4081 cp/pt.c:5509
+ #, gcc-internal-format
+ msgid "%qT is not a template"
+ msgstr "%qT не ÑвлÑетÑÑ ÑˆÐ°Ð±Ð»Ð¾Ð½Ð¾Ð¼"
+
+-#: cp/parser.c:2236
++#: cp/parser.c:2240
+ #, gcc-internal-format
+ msgid "%qE is not a template"
+ msgstr "%qE не ÑвлÑетÑÑ ÑˆÐ°Ð±Ð»Ð¾Ð½Ð¾Ð¼"
+
+-#: cp/parser.c:2238
++#: cp/parser.c:2242
+ #, gcc-internal-format
+ msgid "invalid template-id"
+ msgstr "некорректный идентификатор шаблона"
+
+-#: cp/parser.c:2267
++#: cp/parser.c:2271
+ #, gcc-internal-format
+ msgid "%s cannot appear in a constant-expression"
+ msgstr "%s не может приÑутÑтвовать в конÑтантном выражении"
+
+-#: cp/parser.c:2292
++#: cp/parser.c:2296
+ #, gcc-internal-format
+ msgid "invalid use of template-name %qE without an argument list"
+ msgstr "некорректное иÑпользование имени шаблона %qE без ÑпиÑка аргументов"
+
+-#: cp/parser.c:2294
++#: cp/parser.c:2298
+ #, gcc-internal-format
+ msgid "invalid use of destructor %qD as a type"
+ msgstr "некорректное иÑпользование деÑтруктора %qD в качеÑтве типа"
+
+ #. Something like 'unsigned A a;'
+-#: cp/parser.c:2297
++#: cp/parser.c:2301
+ #, fuzzy, gcc-internal-format
+ msgid "invalid combination of multiple type-specifiers"
+ msgstr "некорректное определение квалифицированного типа %qT"
+
+ #. Issue an error message.
+-#: cp/parser.c:2301
++#: cp/parser.c:2305
+ #, gcc-internal-format
+ msgid "%qE does not name a type"
+ msgstr "%qE не ÑвлÑетÑÑ Ð¸Ð¼ÐµÐ½ÐµÐ¼ типа"
+
+-#: cp/parser.c:2333
++#: cp/parser.c:2337
+ #, gcc-internal-format
+ msgid "(perhaps %<typename %T::%E%> was intended)"
+ msgstr "(возможно, подразумевалоÑÑŒ %<typename %T::%E%>)"
+
+-#: cp/parser.c:2348
++#: cp/parser.c:2352
+ #, fuzzy, gcc-internal-format
+ msgid "%qE in namespace %qE does not name a type"
+ msgstr "%qs не ÑвлÑетÑÑ Ð¸Ð¼ÐµÐ½ÐµÐ¼ типа"
+
+-#: cp/parser.c:2351
++#: cp/parser.c:2355
+ #, fuzzy, gcc-internal-format
+ msgid "%qE in class %qT does not name a type"
+ msgstr "%qs не ÑвлÑетÑÑ Ð¸Ð¼ÐµÐ½ÐµÐ¼ типа"
+
+-#: cp/parser.c:3160
++#: cp/parser.c:3164
+ #, gcc-internal-format
+ msgid "ISO C++ forbids braced-groups within expressions"
+ msgstr "ISO C++ запрещает конÑтрукции в фигурных Ñкобках внутри выражений"
+
+-#: cp/parser.c:3171
++#: cp/parser.c:3175
+ #, fuzzy, gcc-internal-format
+ msgid "statement-expressions are not allowed outside functions nor in template-argument lists"
+ msgstr "операторы-Ð²Ñ‹Ñ€Ð°Ð¶ÐµÐ½Ð¸Ñ Ð´Ð¾Ð¿ÑƒÑтимы только внутри функций"
+
+-#: cp/parser.c:3229
++#: cp/parser.c:3233
+ #, gcc-internal-format
+ msgid "%<this%> may not be used in this context"
+ msgstr "%<this%> недопуÑтим в данном контекÑте"
+
+-#: cp/parser.c:3412
++#: cp/parser.c:3416
+ #, gcc-internal-format
+ msgid "local variable %qD may not appear in this context"
+ msgstr "Ð»Ð¾ÐºÐ°Ð»ÑŒÐ½Ð°Ñ Ð¿ÐµÑ€ÐµÐ¼ÐµÐ½Ð½Ð°Ñ %qD недопуÑтима в данном контекÑте"
+
+-#: cp/parser.c:3711
++#: cp/parser.c:3715
+ #, fuzzy, gcc-internal-format
+ msgid "scope %qT before %<~%> is not a class-name"
+ msgstr "%qT не ÑвлÑетÑÑ ÐºÐ»Ð°ÑÑом или проÑтранÑтвом имён"
+
+-#: cp/parser.c:3812
++#: cp/parser.c:3816
+ #, fuzzy, gcc-internal-format
+ msgid "declaration of %<~%T%> as member of %qT"
+ msgstr "Ð´ÐµÐºÐ»Ð°Ñ€Ð°Ñ†Ð¸Ñ %qD перекрывает Ñлемент клаÑÑа, на который указывает 'this'"
+
+-#: cp/parser.c:3826
++#: cp/parser.c:3830
+ #, gcc-internal-format
+ msgid "typedef-name %qD used as destructor declarator"
+ msgstr "typedef-Ð¸Ð¼Ñ %qD иÑпользовано как декларатор деÑтруктора"
+
+-#: cp/parser.c:4480
++#: cp/parser.c:4484
+ #, gcc-internal-format
+ msgid "ISO C++ forbids compound-literals"
+ msgstr "в ISO C++ ÑоÑтавные литеральные конÑтрукции запрещены"
+
+-#: cp/parser.c:4837
++#: cp/parser.c:4841
+ #, gcc-internal-format
+ msgid "%qE does not have class type"
+ msgstr "%qE не клаÑÑ"
+
+-#: cp/parser.c:4920 cp/typeck.c:1978
++#: cp/parser.c:4924 cp/typeck.c:2024
+ #, gcc-internal-format
+ msgid "invalid use of %qD"
+ msgstr "некорректное иÑпользование %qD"
+
+-#: cp/parser.c:5480
++#: cp/parser.c:5486
+ #, gcc-internal-format
+ msgid "array bound forbidden after parenthesized type-id"
+ msgstr "граница маÑÑива не допуÑкаетÑÑ Ð¿Ð¾Ñле идентификатора типа в Ñкобках"
+
+-#: cp/parser.c:5481
++#: cp/parser.c:5487
+ #, gcc-internal-format
+ msgid "try removing the parentheses around the type-id"
+ msgstr "попробуйте убрать Ñкобки вокруг идентификатора типа"
+
+-#: cp/parser.c:5671
++#: cp/parser.c:5677
+ #, gcc-internal-format
+ msgid "expression in new-declarator must have integral or enumeration type"
+ msgstr "выражение в деклараторе new должно иметь целый или перечиÑлимый тип"
+
+-#: cp/parser.c:5860
++#: cp/parser.c:5866
+ #, gcc-internal-format
+ msgid "use of old-style cast"
+ msgstr "иÑпользование уÑтаревшей конÑтрукции Ð´Ð»Ñ Ð¿Ñ€Ð¸Ð²ÐµÐ´ÐµÐ½Ð¸Ñ Ñ‚Ð¸Ð¿Ð°"
+
+-#: cp/parser.c:5986
++#: cp/parser.c:5992
+ #, gcc-internal-format
+ msgid "%H%<>>%> operator will be treated as two right angle brackets in C++0x"
+ msgstr ""
+
+-#: cp/parser.c:5989
++#: cp/parser.c:5995
+ #, fuzzy, gcc-internal-format
+ msgid "suggest parentheses around %<>>%> expression"
+ msgstr "рекомендуетÑÑ Ð¾ÐºÑ€ÑƒÐ¶Ð°Ñ‚ÑŒ Ñкобками выражение &&, иÑпользуемое в операнде ||"
+
+-#: cp/parser.c:6793
++#: cp/parser.c:6799
+ #, gcc-internal-format
+ msgid "case label %qE not within a switch statement"
+ msgstr "case-метка %qE вне оператора switch"
+
+-#: cp/parser.c:6922
++#: cp/parser.c:6928
+ #, gcc-internal-format
+ msgid "%<else%> without a previous %<if%>"
+ msgstr ""
+
+-#: cp/parser.c:7208
++#: cp/parser.c:7214
+ #, gcc-internal-format
+ msgid "suggest a space before %<;%> or explicit braces around empty body in %<%s%> statement"
+ msgstr ""
+
+-#: cp/parser.c:7468
++#: cp/parser.c:7474
+ #, gcc-internal-format
+ msgid "ISO C++ forbids computed gotos"
+ msgstr "ISO C++ не поддерживает вычиÑлÑемые goto"
+
+-#: cp/parser.c:7608
++#: cp/parser.c:7614
+ #, gcc-internal-format
+ msgid "extra %<;%>"
+ msgstr "Ð¸Ð·Ð±Ñ‹Ñ‚Ð¾Ñ‡Ð½Ð°Ñ %<;%>"
+
+-#: cp/parser.c:7825
++#: cp/parser.c:7831
+ #, gcc-internal-format
+ msgid "%<__label__%> not at the beginning of a block"
+ msgstr ""
+
+-#: cp/parser.c:7958
++#: cp/parser.c:7964
+ #, gcc-internal-format
+ msgid "mixing declarations and function-definitions is forbidden"
+ msgstr "Ñмешивание деклараций и определений функций запрещено"
+
+-#: cp/parser.c:8090
++#: cp/parser.c:8096
+ #, fuzzy, gcc-internal-format
+ msgid "%<friend%> used outside of class"
+ msgstr "%qD может быть задан только внутри клаÑÑа"
+
+-#: cp/parser.c:8244
++#: cp/parser.c:8250
+ #, gcc-internal-format
+ msgid "class definition may not be declared a friend"
+ msgstr "определение клаÑÑа не должно Ñодержать friend"
+
+-#: cp/parser.c:8308 cp/parser.c:15155
++#: cp/parser.c:8314 cp/parser.c:15235
+ #, gcc-internal-format
+ msgid "templates may not be %<virtual%>"
+ msgstr ""
+
+-#: cp/parser.c:8775
++#: cp/parser.c:8786
+ #, gcc-internal-format
+ msgid "only constructors take base initializers"
+ msgstr "только Ð´Ð»Ñ ÐºÐ¾Ð½Ñтрукторов возможна Ð±Ð°Ð·Ð¾Ð²Ð°Ñ Ð¸Ð½Ð¸Ñ†Ð¸Ð°Ð»Ð¸Ð·Ð°Ñ†Ð¸Ñ"
+
+-#: cp/parser.c:8795
++#: cp/parser.c:8806
+ #, fuzzy, gcc-internal-format
+ msgid "cannot expand initializer for member %<%D%>"
+ msgstr "отÑутÑтвует инициализатор Ð´Ð»Ñ Ñлемента %qD"
+
+-#: cp/parser.c:8847
++#: cp/parser.c:8858
+ #, gcc-internal-format
+ msgid "anachronistic old-style base class initializer"
+ msgstr "уÑтаревший Ñтиль инициализатора базового клаÑÑа"
+
+-#: cp/parser.c:8892
++#: cp/parser.c:8903
+ #, gcc-internal-format
+ msgid "keyword %<typename%> not allowed in this context (a qualified member initializer is implicitly a type)"
+ msgstr "ключевое Ñлово %<typename%> запрещено в Ñтом контекÑте (инициализатор квалифицированного Ñлемента неÑвно ÑвлÑетÑÑ Ñ‚Ð¸Ð¿Ð¾Ð¼)"
+
+ #. Warn that we do not support `export'.
+-#: cp/parser.c:9237
++#: cp/parser.c:9248
+ #, gcc-internal-format
+ msgid "keyword %<export%> not implemented, and will be ignored"
+ msgstr "ключевое Ñлово %<export%> не реализовано; игнорируетÑÑ"
+
+-#: cp/parser.c:9482 cp/parser.c:9583
++#: cp/parser.c:9419 cp/parser.c:9517 cp/parser.c:9618
+ #, fuzzy, gcc-internal-format
+ msgid "template parameter pack %qD cannot have a default argument"
+ msgstr "%qD не может иметь аргументов по умолчанию"
+
+-#: cp/parser.c:9485 cp/parser.c:9586
++#: cp/parser.c:9422
+ #, fuzzy, gcc-internal-format
++msgid "template parameter pack cannot have a default argument"
++msgstr "%qD не может иметь аргументов по умолчанию"
++
++#: cp/parser.c:9520 cp/parser.c:9621
++#, fuzzy, gcc-internal-format
+ msgid "template parameter packs cannot have default arguments"
+ msgstr "параметры шаблона не могут быть friend"
+
+ #. Otherwise, emit an error about the invalid digraph, but continue
+ #. parsing because we got our argument list.
+-#: cp/parser.c:9723
++#: cp/parser.c:9758
+ #, gcc-internal-format
+ msgid "%<<::%> cannot begin a template-argument list"
+ msgstr "ÑпиÑок аргументов шаблона не должен начинатьÑÑ Ñ %<<::%>"
+
+-#: cp/parser.c:9724
++#: cp/parser.c:9759
+ #, gcc-internal-format
+ msgid "%<<:%> is an alternate spelling for %<[%>. Insert whitespace between %<<%> and %<::%>"
+ msgstr "%<<:%> - альтернативное напиÑание %<[%>. Ð’Ñтавьте пробел между %<<%> и %<::%>"
+
+-#: cp/parser.c:9731
++#: cp/parser.c:9766
+ #, fuzzy, gcc-internal-format
+ msgid "(if you use -fpermissive G++ will accept your code)"
+ msgstr "(G++ примет такой код Ñ ÐºÐ»ÑŽÑ‡Ð¾Ð¼ `-fpermissive')"
+
+-#: cp/parser.c:9804
++#: cp/parser.c:9839
+ #, fuzzy, gcc-internal-format
+ msgid "parse error in template argument list"
+ msgstr "ÑпиÑок аргументов шаблона не должен начинатьÑÑ Ñ `<::'"
+
+ #. Explain what went wrong.
+-#: cp/parser.c:9917
++#: cp/parser.c:9952
+ #, gcc-internal-format
+ msgid "non-template %qD used as template"
+ msgstr "не шаблон %qD иÑпользован как шаблон"
+
+-#: cp/parser.c:9918
++#: cp/parser.c:9953
+ #, gcc-internal-format
+ msgid "use %<%T::template %D%> to indicate that it is a template"
+ msgstr "иÑпользуйте нотацию %<%T::template %D%> Ð´Ð»Ñ ÑƒÐºÐ°Ð·Ð°Ð½Ð¸Ñ Ð¾ том, что Ñто шаблон"
+
+-#: cp/parser.c:10441
++#: cp/parser.c:10476
+ #, gcc-internal-format
+ msgid "template specialization with C linkage"
+ msgstr "ÑÐ¿ÐµÑ†Ð¸Ð°Ð»Ð¸Ð·Ð°Ñ†Ð¸Ñ ÑˆÐ°Ð±Ð»Ð¾Ð½Ð° Ñ Ð¿Ñ€Ð¸Ð²Ñзкой C"
+
+-#: cp/parser.c:11032
++#: cp/parser.c:11067
+ #, gcc-internal-format
+ msgid "using %<typename%> outside of template"
+ msgstr "иÑпользование %<typename%> вне шаблона"
+
+-#: cp/parser.c:11191
++#: cp/parser.c:11226
+ #, fuzzy, gcc-internal-format
+ msgid "declaration %qD does not declare anything"
+ msgstr "Ð´ÐµÐºÐ»Ð°Ñ€Ð°Ñ†Ð¸Ñ Ð½Ð¸Ñ‡ÐµÐ³Ð¾ не опиÑывает"
+
+-#: cp/parser.c:11275
++#: cp/parser.c:11310
+ #, fuzzy, gcc-internal-format
+ msgid "attributes ignored on uninstantiated type"
+ msgstr "атрибут %qE Ð´Ð»Ñ Ð½Ðµ клаÑÑовых типов игнорируетÑÑ"
+
+-#: cp/parser.c:11279
++#: cp/parser.c:11314
+ #, fuzzy, gcc-internal-format
+ msgid "attributes ignored on template instantiation"
+ msgstr "клаÑÑ Ñ…Ñ€Ð°Ð½ÐµÐ½Ð¸Ñ %qD в конкретизации шаблона"
+
+-#: cp/parser.c:11284
++#: cp/parser.c:11319
+ #, gcc-internal-format
+ msgid "attributes ignored on elaborated-type-specifier that is not a forward declaration"
+ msgstr ""
+
+-#: cp/parser.c:11406
++#: cp/parser.c:11441
+ #, gcc-internal-format
+ msgid "comma at end of enumerator list"
+ msgstr "запÑÑ‚Ð°Ñ Ð² конце ÑпиÑка значений перечиÑлимого типа"
+
+-#: cp/parser.c:11498
++#: cp/parser.c:11533
+ #, fuzzy, gcc-internal-format
+ msgid "%qD is not a namespace-name"
+ msgstr "%qT не ÑвлÑетÑÑ Ð¿Ñ€Ð¾ÑтранÑтвом имён"
+
+-#: cp/parser.c:11599
++#: cp/parser.c:11634
+ #, fuzzy, gcc-internal-format
+ msgid "%<namespace%> definition is not allowed here"
+ msgstr "#pragma %s уже зарегиÑтрирована"
+@@ -30503,142 +30517,157 @@
+ #. [namespace.udecl]
+ #.
+ #. A using declaration shall not name a template-id.
+-#: cp/parser.c:11738
++#: cp/parser.c:11773
+ #, gcc-internal-format
+ msgid "a template-id may not appear in a using-declaration"
+ msgstr "идентификатор шаблона недопуÑтим в using-декларации"
+
+-#: cp/parser.c:12094
++#: cp/parser.c:12135
+ #, gcc-internal-format
+ msgid "an asm-specification is not allowed on a function-definition"
+ msgstr "ÑÐ¿ÐµÑ†Ð¸Ñ„Ð¸ÐºÐ°Ñ†Ð¸Ñ asm не допуÑкаетÑÑ Ð¿Ñ€Ð¸ определении функции"
+
+-#: cp/parser.c:12096
++#: cp/parser.c:12137
+ #, gcc-internal-format
+ msgid "attributes are not allowed on a function-definition"
+ msgstr "атрибуты не допуÑкаютÑÑ Ð¿Ñ€Ð¸ определении функции"
+
+-#: cp/parser.c:12229
++#: cp/parser.c:12270
+ #, fuzzy, gcc-internal-format
+ msgid "initializer provided for function"
+ msgstr "недопуÑÑ‚Ð¸Ð¼Ð°Ñ Ð¸Ð½Ð¸Ñ†Ð¸Ð°Ð»Ð¸Ð·Ð°Ñ†Ð¸Ñ friend-функции %qs"
+
+-#: cp/parser.c:12249
++#: cp/parser.c:12290
+ #, gcc-internal-format
+ msgid "attributes after parenthesized initializer ignored"
+ msgstr "атрибуты поÑле инициализатора в Ñкобках проигнорированы"
+
+-#: cp/parser.c:12630 cp/pt.c:8772
++#: cp/parser.c:12671 cp/pt.c:8893
+ #, fuzzy, gcc-internal-format
+ msgid "array bound is not an integer constant"
+ msgstr "Ð¸Ð½Ð´ÐµÐºÑ Ð¼Ð°ÑÑива не ÑвлÑетÑÑ Ñ†ÐµÐ»Ñ‹Ð¼ значением"
+
+-#: cp/parser.c:12739
++#: cp/parser.c:12780
+ #, fuzzy, gcc-internal-format
+ msgid "%<%T::%E%> is not a type"
+ msgstr "%<%T::%D%> не ÑвлÑетÑÑ Ñ‚Ð¸Ð¿Ð¾Ð¼"
+
+-#: cp/parser.c:12765
++#: cp/parser.c:12806
+ #, fuzzy, gcc-internal-format
+ msgid "invalid use of constructor as a template"
+ msgstr "некорректное иÑпользование неÑтатичеÑкого Ñлемента данных '%E'"
+
+-#: cp/parser.c:12766
++#: cp/parser.c:12807
+ #, gcc-internal-format
+ msgid "use %<%T::%D%> instead of %<%T::%D%> to name the constructor in a qualified name"
+ msgstr "иÑпользуйте %<%T::%D%> вмеÑто %<%T::%D%> Ð´Ð»Ñ Ð¸Ð¼ÐµÐ½Ð¾Ð²Ð°Ð½Ð¸Ñ ÐºÐ¾Ð½Ñтруктора в имени Ñ ÐºÐ²Ð°Ð»Ð¸Ñ„Ð¸ÐºÐ°Ñ‚Ð¾Ñ€Ð¾Ð¼"
+
+-#: cp/parser.c:12938
++#: cp/parser.c:12979
+ #, fuzzy, gcc-internal-format
+ msgid "%qD is a namespace"
+ msgstr "%qT не ÑвлÑетÑÑ Ð¿Ñ€Ð¾ÑтранÑтвом имён"
+
+-#: cp/parser.c:13013
++#: cp/parser.c:13054
+ #, fuzzy, gcc-internal-format
+ msgid "duplicate cv-qualifier"
+ msgstr "повтор case-значениÑ,"
+
+-#: cp/parser.c:13600
++#: cp/parser.c:13640
+ #, gcc-internal-format
+ msgid "file ends in default argument"
+ msgstr "конец файла в аргументе по умолчанию"
+
+-#: cp/parser.c:13673
++#: cp/parser.c:13683
+ #, gcc-internal-format
+ msgid "deprecated use of default argument for parameter of non-function"
+ msgstr "уÑтаревшее иÑпользование аргумента по умолчанию в качеÑтве параметра не-функции"
+
+-#: cp/parser.c:13676
++#: cp/parser.c:13686
+ #, gcc-internal-format
+ msgid "default arguments are only permitted for function parameters"
+ msgstr "аргументы по умолчанию разрешены только Ð´Ð»Ñ Ð¿Ð°Ñ€Ð°Ð¼ÐµÑ‚Ñ€Ð¾Ð² функций"
+
+-#: cp/parser.c:13877
++#: cp/parser.c:13702
++#, fuzzy, gcc-internal-format
++msgid "%sparameter pack %qD cannot have a default argument"
++msgstr "%qD не может иметь аргументов по умолчанию"
++
++#: cp/parser.c:13705
++#, fuzzy, gcc-internal-format
++msgid "%sparameter pack cannot have a default argument"
++msgstr "%qD не может иметь аргументов по умолчанию"
++
++#: cp/parser.c:13947
+ #, gcc-internal-format
+ msgid "ISO C++ does not allow designated initializers"
+ msgstr "ISO C++ не поддерживает назначенные инициализаторы"
+
+-#: cp/parser.c:14477
++#: cp/parser.c:14547
+ #, fuzzy, gcc-internal-format
+ msgid "invalid class name in declaration of %qD"
+ msgstr "Ð½ÐµÐºÐ¾Ñ€Ñ€ÐµÐºÑ‚Ð½Ð°Ñ template-Ð´ÐµÐºÐ»Ð°Ñ€Ð°Ñ†Ð¸Ñ %qD"
+
+-#: cp/parser.c:14489
++#: cp/parser.c:14559
+ #, fuzzy, gcc-internal-format
+ msgid "declaration of %qD in namespace %qD which does not enclose %qD"
+ msgstr "Ð´ÐµÐºÐ»Ð°Ñ€Ð°Ñ†Ð¸Ñ %qD в %qD, который не объемлет %qD"
+
+-#: cp/parser.c:14492
++#: cp/parser.c:14562
+ #, gcc-internal-format
+ msgid "declaration of %qD in %qD which does not enclose %qD"
+ msgstr "Ð´ÐµÐºÐ»Ð°Ñ€Ð°Ñ†Ð¸Ñ %qD в %qD, который не объемлет %qD"
+
+-#: cp/parser.c:14505
++#: cp/parser.c:14575
+ #, gcc-internal-format
+ msgid "extra qualification ignored"
+ msgstr "избыточные квалификаторы проигнориованы"
+
+-#: cp/parser.c:14516
++#: cp/parser.c:14586
+ #, fuzzy, gcc-internal-format
+ msgid "an explicit specialization must be preceded by %<template <>%>"
+ msgstr "перед Ñвной Ñпециализацией должно быть 'template <>'"
+
+-#: cp/parser.c:14609
++#: cp/parser.c:14613
++#, fuzzy, gcc-internal-format
++msgid "function template %qD redeclared as a class template"
++msgstr "не шаблон %qD иÑпользован как шаблон"
++
++#: cp/parser.c:14689
+ #, gcc-internal-format
+ msgid "previous definition of %q+#T"
+ msgstr "предыдущее определение %q+#T"
+
+-#: cp/parser.c:14855
++#: cp/parser.c:14935
+ #, gcc-internal-format
+ msgid "%Hextra %<;%>"
+ msgstr "%HÐ¸Ð·Ð±Ñ‹Ñ‚Ð¾Ñ‡Ð½Ð°Ñ %<;%>"
+
+-#: cp/parser.c:14873
++#: cp/parser.c:14953
+ #, gcc-internal-format
+ msgid "a class-key must be used when declaring a friend"
+ msgstr "в декларации friend должно быть иÑпользовано ключевое Ñлово клаÑÑа"
+
+-#: cp/parser.c:14887
++#: cp/parser.c:14967
+ #, gcc-internal-format
+ msgid "friend declaration does not name a class or function"
+ msgstr "в декларации friend нет имени клаÑÑа или функции"
+
+-#: cp/parser.c:15064
++#: cp/parser.c:15144
+ #, gcc-internal-format
+ msgid "pure-specifier on function-definition"
+ msgstr "Ñпецификатор pure в определении функции"
+
+-#: cp/parser.c:15356
++#: cp/parser.c:15438
+ #, fuzzy, gcc-internal-format
+ msgid "keyword %<typename%> not allowed outside of templates"
+ msgstr "иÑпользование `typename' вне шаблона"
+
+-#: cp/parser.c:15358
++#: cp/parser.c:15440
+ #, fuzzy, gcc-internal-format
+ msgid "keyword %<typename%> not allowed in this context (the base class is implicitly a type)"
+ msgstr "ключевое Ñлово `typename' запрещено в Ñтом контекÑте (инициализатор квалифицированного Ñлемента неÑвно ÑвлÑетÑÑ Ñ‚Ð¸Ð¿Ð¾Ð¼)"
+
+-#: cp/parser.c:16407
++#: cp/parser.c:16489
+ #, gcc-internal-format
+ msgid "too few template-parameter-lists"
+ msgstr "недоÑтаточно ÑпиÑков параметров шаблонов"
+@@ -30647,13 +30676,13 @@
+ #. something like:
+ #.
+ #. template <class T> template <class U> void S::f();
+-#: cp/parser.c:16422
++#: cp/parser.c:16504
+ #, gcc-internal-format
+ msgid "too many template-parameter-lists"
+ msgstr "Ñлишком много ÑпиÑков параметров шаблонов"
+
+ #. Issue an error message.
+-#: cp/parser.c:16694
++#: cp/parser.c:16776
+ #, gcc-internal-format
+ msgid "named return values are no longer supported"
+ msgstr "именованные возвращаемые Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ñ Ð±Ð¾Ð»ÑŒÑˆÐµ не поддерживаютÑÑ"
+@@ -30661,234 +30690,234 @@
+ #. 14.5.2.2 [temp.mem]
+ #.
+ #. A local class shall not have member templates.
+-#: cp/parser.c:16766
++#: cp/parser.c:16848
+ #, fuzzy, gcc-internal-format
+ msgid "invalid declaration of member template in local class"
+ msgstr "Ð½ÐµÐºÐ¾Ñ€Ñ€ÐµÐºÑ‚Ð½Ð°Ñ Ð´ÐµÐºÐ»Ð°Ñ€Ð°Ñ†Ð¸Ñ ÑˆÐ°Ð±Ð»Ð¾Ð½Ð°-Ñлемента `%#D' в локальном клаÑÑе"
+
+-#: cp/parser.c:16775
++#: cp/parser.c:16857
+ #, gcc-internal-format
+ msgid "template with C linkage"
+ msgstr "шаблон Ñ Ð¿Ñ€Ð¸Ð²Ñзкой C"
+
+-#: cp/parser.c:16919
++#: cp/parser.c:17001
+ #, fuzzy, gcc-internal-format
+ msgid "template declaration of %qs"
+ msgstr "ÑˆÐ°Ð±Ð»Ð¾Ð½Ð½Ð°Ñ Ð´ÐµÐºÐ»Ð°Ñ€Ð°Ñ†Ð¸Ñ `%#D'"
+
+-#: cp/parser.c:16982
++#: cp/parser.c:17064
+ #, fuzzy, gcc-internal-format
+ msgid "explicit template specialization cannot have a storage class"
+ msgstr "ÑÐ²Ð½Ð°Ñ ÑÐ¿ÐµÑ†Ð¸Ð°Ð»Ð¸Ð·Ð°Ñ†Ð¸Ñ Ð² не-namespace облаÑти %qD"
+
+-#: cp/parser.c:17171
++#: cp/parser.c:17253
+ #, gcc-internal-format
+ msgid "%H%<>>%> should be %<> >%> within a nested template argument list"
+ msgstr "%H%<>>%> должно быть %<> >%> внутри ÑпиÑка аргументов вложенного шаблона"
+
+-#: cp/parser.c:17184
++#: cp/parser.c:17266
+ #, gcc-internal-format
+ msgid "spurious %<>>%>, use %<>%> to terminate a template argument list"
+ msgstr "ошибочное иÑпользование %<>>%>, иÑпользуйте %<>%> Ð´Ð»Ñ Ð·Ð°Ð²ÐµÑ€ÑˆÐµÐ½Ð¸Ñ ÑпиÑка аргументов шаблона"
+
+-#: cp/parser.c:17519
++#: cp/parser.c:17601
+ #, fuzzy, gcc-internal-format
+ msgid "invalid use of %qD in linkage specification"
+ msgstr "Ð½ÐµÐºÐ¾Ñ€Ñ€ÐµÐºÑ‚Ð½Ð°Ñ ÑÐ¿ÐµÑ†Ð¸Ñ„Ð¸ÐºÐ°Ñ†Ð¸Ñ Ð±Ð°Ð·Ð¾Ð²Ð¾Ð³Ð¾ клаÑÑа"
+
+-#: cp/parser.c:17532
++#: cp/parser.c:17614
+ #, fuzzy, gcc-internal-format
+ msgid "%<__thread%> before %qD"
+ msgstr "%<__thread%> перед %<extern%>"
+
+-#: cp/parser.c:17847
++#: cp/parser.c:17929
+ #, fuzzy, gcc-internal-format
+ msgid "%qs tag used in naming %q#T"
+ msgstr "определение %qD уже еÑÑ‚ÑŒ в %qT"
+
+-#: cp/parser.c:17868
++#: cp/parser.c:17950
+ #, fuzzy, gcc-internal-format
+ msgid "%qD redeclared with different access"
+ msgstr "%J%qD повторно декларирован как Ñимвол другого вида"
+
+-#: cp/parser.c:17885
++#: cp/parser.c:17967
+ #, gcc-internal-format
+ msgid "%<template%> (as a disambiguator) is only allowed within templates"
+ msgstr "Ñлово %<template%> (Ð´Ð»Ñ ÑнÑÑ‚Ð¸Ñ Ð½ÐµÐ¾Ð´Ð½Ð¾Ð·Ð½Ð°Ñ‡Ð½Ð¾Ñти) допуÑкаетÑÑ Ñ‚Ð¾Ð»ÑŒÐºÐ¾ внутри шаблонов"
+
+-#: cp/parser.c:18138 cp/parser.c:19061 cp/parser.c:19192
++#: cp/parser.c:18220 cp/parser.c:19143 cp/parser.c:19274
+ #, gcc-internal-format
+ msgid "misplaced %<@%D%> Objective-C++ construct"
+ msgstr "неверное положение %<@%D%> конÑтрукции Objective-C++"
+
+-#: cp/parser.c:18279
++#: cp/parser.c:18361
+ #, gcc-internal-format
+ msgid "%<@encode%> must specify a type as an argument"
+ msgstr "в конÑтрукции %<@encode%> в качеÑтве аргумента должен быть задан тип"
+
+-#: cp/parser.c:18594
++#: cp/parser.c:18676
+ #, gcc-internal-format
+ msgid "invalid Objective-C++ selector name"
+ msgstr ""
+
+-#: cp/parser.c:18925
++#: cp/parser.c:19007
+ #, fuzzy, gcc-internal-format
+ msgid "identifier expected after %<@protocol%>"
+ msgstr "ОжидалÑÑ Ð¸Ð´ÐµÐ½Ñ‚Ð¸Ñ„Ð¸ÐºÐ°Ñ‚Ð¾Ñ€"
+
+-#: cp/parser.c:19626
++#: cp/parser.c:19708
+ #, gcc-internal-format
+ msgid "schedule %<runtime%> does not take a %<chunk_size%> parameter"
+ msgstr ""
+
+-#: cp/parser.c:19735
++#: cp/parser.c:19824
+ #, fuzzy, gcc-internal-format
+ msgid "%qs is not valid for %qs"
+ msgstr "%qs не ÑвлÑетÑÑ ÐºÐ¾Ñ€Ñ€ÐµÐºÑ‚Ð½Ñ‹Ð¼ выходным файлом"
+
+-#: cp/parser.c:20390
++#: cp/parser.c:20479
+ #, fuzzy, gcc-internal-format
+ msgid "junk at end of %<#pragma GCC pch_preprocess%>"
+ msgstr "муÑор в конце директивы %<#pragma pack%>"
+
+-#: cp/parser.c:20477
++#: cp/parser.c:20566
+ #, gcc-internal-format
+ msgid "%<#pragma omp section%> may only be used in %<#pragma omp sections%> construct"
+ msgstr ""
+
+-#: cp/parser.c:20535
++#: cp/parser.c:20624
+ #, fuzzy, gcc-internal-format
+ msgid "inter-module optimizations not implemented for C++"
+ msgstr "межмодульные оптимизации пока не реализованы"
+
+-#: cp/pt.c:249
++#: cp/pt.c:252
+ #, gcc-internal-format
+ msgid "data member %qD cannot be a member template"
+ msgstr "Ñлемент данных %qD не должен быть членом шаблона"
+
+-#: cp/pt.c:261
++#: cp/pt.c:264
+ #, gcc-internal-format
+ msgid "invalid member template declaration %qD"
+ msgstr "Ð½ÐµÐºÐ¾Ñ€Ñ€ÐµÐºÑ‚Ð½Ð°Ñ Ð´ÐµÐºÐ»Ð°Ñ€Ð°Ñ†Ð¸Ñ Ñлемента-шаблона %qD"
+
+-#: cp/pt.c:609
++#: cp/pt.c:612
+ #, gcc-internal-format
+ msgid "explicit specialization in non-namespace scope %qD"
+ msgstr "ÑÐ²Ð½Ð°Ñ ÑÐ¿ÐµÑ†Ð¸Ð°Ð»Ð¸Ð·Ð°Ñ†Ð¸Ñ Ð² не-namespace облаÑти %qD"
+
+-#: cp/pt.c:623
++#: cp/pt.c:626
+ #, gcc-internal-format
+ msgid "enclosing class templates are not explicitly specialized"
+ msgstr "объемлющие шаблоны клаÑÑов не были Ñвно Ñпециализированы"
+
+-#: cp/pt.c:711
++#: cp/pt.c:714
+ #, gcc-internal-format
+ msgid "specialization of %qD in different namespace"
+ msgstr "ÑÐ¿ÐµÑ†Ð¸Ð°Ð»Ð¸Ð·Ð°Ñ†Ð¸Ñ %qD в другой namespace-облаÑти"
+
+-#: cp/pt.c:712 cp/pt.c:809
++#: cp/pt.c:715 cp/pt.c:812
+ #, fuzzy, gcc-internal-format
+ msgid " from definition of %q+#D"
+ msgstr "%Jпереопрелеление %qD"
+
+-#: cp/pt.c:729
++#: cp/pt.c:732
+ #, fuzzy, gcc-internal-format
+ msgid "explicit instantiation of %qD in namespace %qD (which does not enclose namespace %qD)"
+ msgstr "Ð´ÐµÐºÐ»Ð°Ñ€Ð°Ñ†Ð¸Ñ %qD в %qD, который не объемлет %qD"
+
+-#: cp/pt.c:747
++#: cp/pt.c:750
+ #, fuzzy, gcc-internal-format
+ msgid "name of class shadows template template parameter %qD"
+ msgstr "параметр шаблона `%#D'"
+
+-#: cp/pt.c:776
++#: cp/pt.c:779
+ #, gcc-internal-format
+ msgid "specialization of %qT after instantiation"
+ msgstr "ÑÐ¿ÐµÑ†Ð¸Ð°Ð»Ð¸Ð·Ð°Ñ†Ð¸Ñ %qT поÑле конкретизации"
+
+-#: cp/pt.c:808
++#: cp/pt.c:811
+ #, gcc-internal-format
+ msgid "specializing %q#T in different namespace"
+ msgstr "ÑÐ¿ÐµÑ†Ð¸Ð°Ð»Ð¸Ð·Ð°Ñ†Ð¸Ñ %q#T в другой namespace-облаÑти"
+
+-#: cp/pt.c:823
++#: cp/pt.c:826
+ #, gcc-internal-format
+ msgid "specialization %qT after instantiation %qT"
+ msgstr "ÑÐ¿ÐµÑ†Ð¸Ð°Ð»Ð¸Ð·Ð°Ñ†Ð¸Ñ %qT поÑле конкретизации %qT"
+
+-#: cp/pt.c:836
++#: cp/pt.c:839
+ #, gcc-internal-format
+ msgid "explicit specialization of non-template %qT"
+ msgstr "ÑÐ²Ð½Ð°Ñ ÑÐ¿ÐµÑ†Ð¸Ð°Ð»Ð¸Ð·Ð°Ñ†Ð¸Ñ Ð½Ðµ-шаблона %qT"
+
+-#: cp/pt.c:1238
++#: cp/pt.c:1246
+ #, fuzzy, gcc-internal-format
+ msgid "specialization of %qD after instantiation"
+ msgstr "ÑÐ²Ð½Ð°Ñ ÑÐ¿ÐµÑ†Ð¸Ð°Ð»Ð¸Ð·Ð°Ñ†Ð¸Ñ %D поÑле первого иÑпользованиÑ"
+
+-#: cp/pt.c:1464
++#: cp/pt.c:1472
+ #, gcc-internal-format
+ msgid "%qD is not a function template"
+ msgstr "%qD не ÑвлÑетÑÑ ÑˆÐ°Ð±Ð»Ð¾Ð½Ð¾Ð¼ функции"
+
+-#: cp/pt.c:1673
++#: cp/pt.c:1681
+ #, fuzzy, gcc-internal-format
+ msgid "template-id %qD for %q+D does not match any template declaration"
+ msgstr "идентификатор шаблона %qD иÑпользован как декларатор"
+
+-#: cp/pt.c:1681
++#: cp/pt.c:1689
+ #, gcc-internal-format
+ msgid "ambiguous template specialization %qD for %q+D"
+ msgstr "Ð½ÐµÐ¾Ð´Ð½Ð¾Ð·Ð½Ð°Ñ‡Ð½Ð°Ñ ÐºÐ¾Ð½ÐºÑ€ÐµÑ‚Ð¸Ð·Ð°Ñ†Ð¸Ñ ÑˆÐ°Ð±Ð»Ð¾Ð½Ð° %qD Ð´Ð»Ñ %q+D"
+
+ #. This case handles bogus declarations like template <>
+ #. template <class T> void f<int>();
+-#: cp/pt.c:1916 cp/pt.c:1970
++#: cp/pt.c:1924 cp/pt.c:1978
+ #, gcc-internal-format
+ msgid "template-id %qD in declaration of primary template"
+ msgstr ""
+
+-#: cp/pt.c:1929
++#: cp/pt.c:1937
+ #, gcc-internal-format
+ msgid "template parameter list used in explicit instantiation"
+ msgstr ""
+
+-#: cp/pt.c:1935
++#: cp/pt.c:1943
+ #, gcc-internal-format
+ msgid "definition provided for explicit instantiation"
+ msgstr ""
+
+-#: cp/pt.c:1943
++#: cp/pt.c:1951
+ #, gcc-internal-format
+ msgid "too many template parameter lists in declaration of %qD"
+ msgstr ""
+
+-#: cp/pt.c:1946
++#: cp/pt.c:1954
+ #, gcc-internal-format
+ msgid "too few template parameter lists in declaration of %qD"
+ msgstr ""
+
+-#: cp/pt.c:1948
++#: cp/pt.c:1956
+ #, fuzzy, gcc-internal-format
+ msgid "explicit specialization of %qD must be introduced by %<template <>%>"
+ msgstr "перед Ñвной Ñпециализацией должно быть 'template <>'"
+
+-#: cp/pt.c:1967
++#: cp/pt.c:1975
+ #, gcc-internal-format
+ msgid "function template partial specialization %qD is not allowed"
+ msgstr ""
+
+-#: cp/pt.c:1999
++#: cp/pt.c:2007
+ #, gcc-internal-format
+ msgid "default argument specified in explicit specialization"
+ msgstr ""
+
+-#: cp/pt.c:2029
++#: cp/pt.c:2037
+ #, gcc-internal-format
+ msgid "%qD is not a template function"
+ msgstr "%qD не ÑвлÑетÑÑ Ñ„ÑƒÐ½ÐºÑ†Ð¸ÐµÐ¹ шаблоном"
+
+-#: cp/pt.c:2037
++#: cp/pt.c:2045
+ #, gcc-internal-format
+ msgid "%qD is not declared in %qD"
+ msgstr "отÑутÑтвует Ð´ÐµÐºÐ»Ð°Ñ€Ð°Ñ†Ð¸Ñ %qD в %qD"
+@@ -30901,100 +30930,110 @@
+ #. program is ill-formed.
+ #.
+ #. Similar language is found in [temp.explicit].
+-#: cp/pt.c:2099
++#: cp/pt.c:2107
+ #, gcc-internal-format
+ msgid "specialization of implicitly-declared special member function"
+ msgstr ""
+
+-#: cp/pt.c:2143
++#: cp/pt.c:2151
+ #, gcc-internal-format
+ msgid "no member function %qD declared in %qT"
+ msgstr ""
+
+-#: cp/pt.c:2642
++#: cp/pt.c:2628
+ #, gcc-internal-format
+ msgid "base initializer expansion %<%T%> contains no parameter packs"
+ msgstr ""
+
+-#: cp/pt.c:2701
++#: cp/pt.c:2687
+ #, gcc-internal-format
+ msgid "expansion pattern %<%T%> contains no argument packs"
+ msgstr ""
+
+-#: cp/pt.c:2703
++#: cp/pt.c:2689
+ #, gcc-internal-format
+ msgid "expansion pattern %<%E%> contains no argument packs"
+ msgstr ""
+
+-#: cp/pt.c:2745
++#: cp/pt.c:2730
+ #, gcc-internal-format
+ msgid "parameter packs not expanded with `...':"
+ msgstr ""
+
+-#: cp/pt.c:2760 cp/pt.c:3383
++#: cp/pt.c:2745 cp/pt.c:3361
+ #, gcc-internal-format
+ msgid " %qD"
+ msgstr ""
+
+-#: cp/pt.c:2762
++#: cp/pt.c:2747
+ #, fuzzy, gcc-internal-format
+ msgid " <anonymous>"
+ msgstr "<anonymous>"
+
+-#: cp/pt.c:2875
++#: cp/pt.c:2852
+ #, fuzzy, gcc-internal-format
+ msgid "declaration of %q+#D"
+ msgstr "Ð´ÐµÐºÐ»Ð°Ñ€Ð°Ñ†Ð¸Ñ `%#D'"
+
+-#: cp/pt.c:2876
++#: cp/pt.c:2853
+ #, fuzzy, gcc-internal-format
+ msgid " shadows template parm %q+#D"
+ msgstr "параметр шаблона `%#D'"
+
+-#: cp/pt.c:3379
++#: cp/pt.c:3357
+ #, gcc-internal-format
+ msgid "template parameters not used in partial specialization:"
+ msgstr ""
+
+-#: cp/pt.c:3394
++#: cp/pt.c:3372
+ #, gcc-internal-format
+ msgid "partial specialization %qT does not specialize any template arguments"
+ msgstr ""
+
+-#: cp/pt.c:3439
++#: cp/pt.c:3417
+ #, gcc-internal-format
+ msgid "parameter pack argument %qE must be at the end of the template argument list"
+ msgstr ""
+
+-#: cp/pt.c:3441
++#: cp/pt.c:3419
+ #, gcc-internal-format
+ msgid "parameter pack argument %qT must be at the end of the template argument list"
+ msgstr ""
+
+-#: cp/pt.c:3462
++#: cp/pt.c:3440
+ #, gcc-internal-format
+ msgid "template argument %qE involves template parameter(s)"
+ msgstr ""
+
+-#: cp/pt.c:3505
++#: cp/pt.c:3484
+ #, gcc-internal-format
+ msgid "type %qT of template argument %qE depends on template parameter(s)"
+ msgstr ""
+
+-#: cp/pt.c:3611
++#: cp/pt.c:3591
+ #, gcc-internal-format
+ msgid "no default argument for %qD"
+ msgstr ""
+
+-#: cp/pt.c:3796
++#: cp/pt.c:3609
+ #, gcc-internal-format
++msgid "parameter pack %qE must be at the end of the template parameter list"
++msgstr ""
++
++#: cp/pt.c:3612
++#, gcc-internal-format
++msgid "parameter pack %qT must be at the end of the template parameter list"
++msgstr ""
++
++#: cp/pt.c:3799
++#, gcc-internal-format
+ msgid "template class without a name"
+ msgstr ""
+
+ #. [temp.mem]
+ #.
+ #. A destructor shall not be a member template.
+-#: cp/pt.c:3804
++#: cp/pt.c:3807
+ #, gcc-internal-format
+ msgid "destructor %qD declared as member template"
+ msgstr "деÑтруктор %qD объÑвлен как шаблон Ñлемента"
+@@ -31004,77 +31043,72 @@
+ #. An allocation function can be a function
+ #. template. ... Template allocation functions shall
+ #. have two or more parameters.
+-#: cp/pt.c:3819
++#: cp/pt.c:3822
+ #, gcc-internal-format
+ msgid "invalid template declaration of %qD"
+ msgstr "Ð½ÐµÐºÐ¾Ñ€Ñ€ÐµÐºÑ‚Ð½Ð°Ñ template-Ð´ÐµÐºÐ»Ð°Ñ€Ð°Ñ†Ð¸Ñ %qD"
+
+-#: cp/pt.c:3890
+-#, gcc-internal-format
+-msgid "parameter pack %qE must be at the end of the template parameter list"
+-msgstr ""
+-
+-#: cp/pt.c:3893
+-#, gcc-internal-format
+-msgid "parameter pack %qT must be at the end of the template parameter list"
+-msgstr ""
+-
+-#: cp/pt.c:3953
++#: cp/pt.c:3939
+ #, fuzzy, gcc-internal-format
+ msgid "template definition of non-template %q#D"
+ msgstr "определение шаблона Ð´Ð»Ñ Ð½Ðµ-шаблона `%#D'"
+
+-#: cp/pt.c:3996
++#: cp/pt.c:3982
+ #, fuzzy, gcc-internal-format
+ msgid "expected %d levels of template parms for %q#D, got %d"
+ msgstr "ожидалоÑÑŒ %d уровней параметров шаблона Ð´Ð»Ñ `%#D', обнаружено %d"
+
+-#: cp/pt.c:4008
++#: cp/pt.c:3994
+ #, fuzzy, gcc-internal-format
+ msgid "got %d template parameters for %q#D"
+ msgstr "обнаружено %d параметров шаблона Ð´Ð»Ñ `%#D'"
+
+-#: cp/pt.c:4011
++#: cp/pt.c:3997
+ #, fuzzy, gcc-internal-format
+ msgid "got %d template parameters for %q#T"
+ msgstr "обнаружено %d параметров шаблона Ð´Ð»Ñ %q#T"
+
+-#: cp/pt.c:4013
++#: cp/pt.c:3999
+ #, gcc-internal-format
+ msgid " but %d required"
+ msgstr " вмеÑто требуемых %d"
+
+-#: cp/pt.c:4031
++#: cp/pt.c:4017
+ #, fuzzy, gcc-internal-format
+ msgid "template arguments to %qD do not match original template %qD"
+ msgstr "параметры шаблона не могут быть friend"
+
+-#: cp/pt.c:4035
++#: cp/pt.c:4021
+ #, fuzzy, gcc-internal-format
+ msgid "use template<> for an explicit specialization"
+ msgstr "объемлющие шаблоны клаÑÑов не были Ñвно Ñпециализированы"
+
+-#: cp/pt.c:4131
++#: cp/pt.c:4117
+ #, gcc-internal-format
+ msgid "%qT is not a template type"
+ msgstr "%qT не ÑвлÑетÑÑ ÑˆÐ°Ð±Ð»Ð¾Ð½Ð½Ñ‹Ð¼ типом"
+
+-#: cp/pt.c:4144
++#: cp/pt.c:4130
+ #, fuzzy, gcc-internal-format
+ msgid "template specifiers not specified in declaration of %qD"
+ msgstr "в декларации %qs по умолчанию уÑтановлен тип `int'"
+
+-#: cp/pt.c:4155
++#: cp/pt.c:4140
+ #, fuzzy, gcc-internal-format
+-msgid "used %d template parameter(s) instead of %d"
+-msgstr "иÑпользовано %d параметров%s шаблона вмеÑто %d"
++msgid "redeclared with %d template parameter(s)"
++msgstr "иÑпользование %qD без параметров шаблона"
+
+-#: cp/pt.c:4184
++#: cp/pt.c:4142
+ #, fuzzy, gcc-internal-format
++msgid "previous declaration %q+D used %d template parameter(s)"
++msgstr "предыдущей декларации `%#D', ÐºÐ¾Ñ‚Ð¾Ñ€Ð°Ñ Ð½Ð°Ñ…Ð¾Ð´Ð¸Ñ‚ÑÑ Ð·Ð´ÐµÑÑŒ"
++
++#: cp/pt.c:4176
++#, fuzzy, gcc-internal-format
+ msgid "template parameter %q+#D"
+ msgstr "параметр шаблона `%#D'"
+
+-#: cp/pt.c:4185
++#: cp/pt.c:4177
+ #, fuzzy, gcc-internal-format
+ msgid "redeclared here as %q#D"
+ msgstr "повторно объÑвлен здеÑÑŒ как `%#D'"
+@@ -31083,182 +31117,182 @@
+ #.
+ #. A template-parameter may not be given default arguments
+ #. by two different declarations in the same scope.
+-#: cp/pt.c:4195
++#: cp/pt.c:4187
+ #, fuzzy, gcc-internal-format
+ msgid "redefinition of default argument for %q#D"
+ msgstr "повторное определение аргумента по умолчанию Ð´Ð»Ñ `%#D'"
+
+-#: cp/pt.c:4196
+-#, gcc-internal-format
+-msgid "%J original definition appeared here"
++#: cp/pt.c:4188
++#, fuzzy, gcc-internal-format
++msgid "%Joriginal definition appeared here"
+ msgstr "%J иÑходное определение находитÑÑ Ð·Ð´ÐµÑÑŒ"
+
+-#: cp/pt.c:4300
++#: cp/pt.c:4292
+ #, fuzzy, gcc-internal-format
+ msgid "%qE is not a valid template argument for type %qT because function %qD has not external linkage"
+ msgstr "Ñтроковый литерал %E не ÑвлÑетÑÑ ÐºÐ¾Ñ€Ñ€ÐµÐºÑ‚Ð½Ñ‹Ð¼ аргументом шаблона, потому что Ñто Ð°Ð´Ñ€ÐµÑ ÑтатичеÑкого объекта"
+
+-#: cp/pt.c:4341
++#: cp/pt.c:4333
+ #, fuzzy, 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 "Ñтроковый литерал %E не ÑвлÑетÑÑ ÐºÐ¾Ñ€Ñ€ÐµÐºÑ‚Ð½Ñ‹Ð¼ аргументом шаблона, потому что Ñто Ð°Ð´Ñ€ÐµÑ ÑтатичеÑкого объекта"
+
+-#: cp/pt.c:4418
++#: cp/pt.c:4410
+ #, fuzzy, gcc-internal-format
+ msgid "%qE is not a valid template argument for type %qT because it is a non-constant expression"
+ msgstr "Ñтроковый литерал %E не ÑвлÑетÑÑ ÐºÐ¾Ñ€Ñ€ÐµÐºÑ‚Ð½Ñ‹Ð¼ аргументом шаблона, потому что Ñто Ð°Ð´Ñ€ÐµÑ ÑтатичеÑкого объекта"
+
+-#: cp/pt.c:4462
++#: cp/pt.c:4454
+ #, fuzzy, gcc-internal-format
+ msgid "%qD is not a valid template argument because %qD is a variable, not the address of a variable"
+ msgstr "%qE не ÑвлÑетÑÑ ÐºÐ¾Ñ€Ñ€ÐµÐºÑ‚Ð½Ñ‹Ð¼ аргументом шаблона"
+
+-#: cp/pt.c:4480
++#: cp/pt.c:4472
+ #, fuzzy, gcc-internal-format
+ msgid "%qE is not a valid template argument of type %qT because %qE is not a variable"
+ msgstr "%qE не ÑвлÑетÑÑ ÐºÐ¾Ñ€Ñ€ÐµÐºÑ‚Ð½Ñ‹Ð¼ аргументом шаблона"
+
+-#: cp/pt.c:4487
++#: cp/pt.c:4479
+ #, fuzzy, gcc-internal-format
+ msgid "%qE is not a valid template argument of type %qT because %qD does not have external linkage"
+ msgstr "Ñтроковый литерал %E не ÑвлÑетÑÑ ÐºÐ¾Ñ€Ñ€ÐµÐºÑ‚Ð½Ñ‹Ð¼ аргументом шаблона, потому что Ñто Ð°Ð´Ñ€ÐµÑ ÑтатичеÑкого объекта"
+
+-#: cp/pt.c:4517
++#: cp/pt.c:4509
+ #, gcc-internal-format
+ msgid "%qE is not a valid template argument for type %qT because of conflicts in cv-qualification"
+ msgstr ""
+
+-#: cp/pt.c:4524
++#: cp/pt.c:4516
+ #, fuzzy, gcc-internal-format
+ msgid "%qE is not a valid template argument for type %qT because it is not an lvalue"
+ msgstr "%qE не ÑвлÑетÑÑ ÐºÐ¾Ñ€Ñ€ÐµÐºÑ‚Ð½Ñ‹Ð¼ аргументом шаблона"
+
+-#: cp/pt.c:4537
++#: cp/pt.c:4529
+ #, fuzzy, gcc-internal-format
+ msgid "%qE is not a valid template argument for type %qT because object %qD has not external linkage"
+ msgstr "Ñтроковый литерал %E не ÑвлÑетÑÑ ÐºÐ¾Ñ€Ñ€ÐµÐºÑ‚Ð½Ñ‹Ð¼ аргументом шаблона, потому что Ñто Ð°Ð´Ñ€ÐµÑ ÑтатичеÑкого объекта"
+
+-#: cp/pt.c:4577
++#: cp/pt.c:4569
+ #, fuzzy, gcc-internal-format
+ msgid "%qE is not a valid template argument for type %qT because it is a pointer"
+ msgstr "%qE не ÑвлÑетÑÑ ÐºÐ¾Ñ€Ñ€ÐµÐºÑ‚Ð½Ñ‹Ð¼ аргументом шаблона"
+
+-#: cp/pt.c:4579
++#: cp/pt.c:4571
+ #, gcc-internal-format
+ msgid "try using %qE instead"
+ msgstr "попробуйте задать %qE"
+
+-#: cp/pt.c:4614
++#: cp/pt.c:4606
+ #, fuzzy, gcc-internal-format
+ msgid "%qE is not a valid template argument for type %qT because it is of type %qT"
+ msgstr "%qE не ÑвлÑетÑÑ ÐºÐ¾Ñ€Ñ€ÐµÐºÑ‚Ð½Ñ‹Ð¼ аргументом шаблона"
+
+-#: cp/pt.c:4617
++#: cp/pt.c:4609
+ #, gcc-internal-format
+ msgid "standard conversions are not allowed in this context"
+ msgstr "Ñтандартные Ð¿Ñ€ÐµÐ¾Ð±Ñ€Ð°Ð·Ð¾Ð²Ð°Ð½Ð¸Ñ Ð² данном контекÑте недопуÑтимы"
+
+-#: cp/pt.c:4797
++#: cp/pt.c:4860
+ #, gcc-internal-format
+ msgid "to refer to a type member of a template parameter, use %<typename %E%>"
+ msgstr "Ð´Ð»Ñ Ñ‚Ð¾Ð³Ð¾ чтобы ÑоÑлатьÑÑ Ð½Ð° тип параметра шаблона, иÑпользуйте конÑтрукцию %<typename %E%>"
+
+-#: cp/pt.c:4813 cp/pt.c:4832 cp/pt.c:4882
++#: cp/pt.c:4876 cp/pt.c:4895 cp/pt.c:4945
+ #, gcc-internal-format
+ msgid "type/value mismatch at argument %d in template parameter list for %qD"
+ msgstr "неÑоответÑÑ‚Ð²Ð¸Ñ Ñ‚Ð¸Ð¿Ð°/Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ñ Ð² аргументе %d в ÑпиÑке параметров шаблона Ð´Ð»Ñ %qD"
+
+-#: cp/pt.c:4817
++#: cp/pt.c:4880
+ #, gcc-internal-format
+ msgid " expected a constant of type %qT, got %qT"
+ msgstr " ожидалаÑÑŒ конÑтанта типа %qT, а обнаружено %qT"
+
+-#: cp/pt.c:4821
++#: cp/pt.c:4884
+ #, gcc-internal-format
+ msgid " expected a class template, got %qE"
+ msgstr " ожидалÑÑ ÑˆÐ°Ð±Ð»Ð¾Ð½ клаÑÑа, а обнаружено %qE"
+
+-#: cp/pt.c:4823
++#: cp/pt.c:4886
+ #, gcc-internal-format
+ msgid " expected a type, got %qE"
+ msgstr " ожидалÑÑ Ñ‚Ð¸Ð¿, обнаружено %qE"
+
+-#: cp/pt.c:4836
++#: cp/pt.c:4899
+ #, gcc-internal-format
+ msgid " expected a type, got %qT"
+ msgstr " ожидалÑÑ Ñ‚Ð¸Ð¿, обнаружено %qT"
+
+-#: cp/pt.c:4838
++#: cp/pt.c:4901
+ #, gcc-internal-format
+ msgid " expected a class template, got %qT"
+ msgstr " ожидалÑÑ ÑˆÐ°Ð±Ð»Ð¾Ð½ клаÑÑа, обнаружено %qT"
+
+-#: cp/pt.c:4885
++#: cp/pt.c:4948
+ #, gcc-internal-format
+ msgid " expected a template of type %qD, got %qD"
+ msgstr " ожидалÑÑ ÑˆÐ°Ð±Ð»Ð¾Ð½ типа %qD, обнаружено %qD"
+
+-#: cp/pt.c:4928
++#: cp/pt.c:4991
+ #, gcc-internal-format
+ msgid "could not convert template argument %qE to %qT"
+ msgstr "ошибка при преобразовании аргумента шаблона %qE в %qT"
+
+-#: cp/pt.c:4984
++#: cp/pt.c:5047
+ #, gcc-internal-format
+ msgid "wrong number of template arguments (%d, should be %d)"
+ msgstr "неправильное чиÑло аргументов шаблона (%d, а должно быть %d)"
+
+-#: cp/pt.c:5116
++#: cp/pt.c:5179
+ #, fuzzy, gcc-internal-format
+ msgid "wrong number of template arguments (%d, should be %d%s)"
+ msgstr "неправильное чиÑло аргументов шаблона (%d, а должно быть %d)"
+
+-#: cp/pt.c:5120
++#: cp/pt.c:5183
+ #, gcc-internal-format
+ msgid "provided for %q+D"
+ msgstr "задано Ð´Ð»Ñ %q+D"
+
+-#: cp/pt.c:5177
++#: cp/pt.c:5242
+ #, gcc-internal-format
+ msgid "cannot expand %<%E%> into a fixed-length argument list"
+ msgstr ""
+
+-#: cp/pt.c:5180
++#: cp/pt.c:5245
+ #, gcc-internal-format
+ msgid "cannot expand %<%T%> into a fixed-length argument list"
+ msgstr ""
+
+-#: cp/pt.c:5195
++#: cp/pt.c:5261
+ #, gcc-internal-format
+ msgid "template argument %d is invalid"
+ msgstr "некорректный аргумент шаблона %d"
+
+-#: cp/pt.c:5455
++#: cp/pt.c:5521
+ #, gcc-internal-format
+ msgid "non-template type %qT used as a template"
+ msgstr "не-шаблонный тип %qT иÑпользован как шаблон"
+
+-#: cp/pt.c:5457
++#: cp/pt.c:5523
+ #, gcc-internal-format
+ msgid "for template declaration %q+D"
+ msgstr "Ð´Ð»Ñ Ð´ÐµÐºÐ»Ð°Ñ€Ð°Ñ†Ð¸Ð¸ шаблона %q+D"
+
+-#: cp/pt.c:6132
++#: cp/pt.c:6221
+ #, gcc-internal-format
+ msgid "template instantiation depth exceeds maximum of %d (use -ftemplate-depth-NN to increase the maximum) instantiating %qD"
+ msgstr "глубина конкретизации шаблона превышает макÑимум %d (задайте -ftemplate-depth-NN, чтобы увеличить макÑимум) при конкретизации %qD"
+
+-#: cp/pt.c:7237
++#: cp/pt.c:7333
+ #, gcc-internal-format
+ msgid "mismatched argument pack lengths while expanding %<%T%>"
+ msgstr ""
+
+-#: cp/pt.c:7241
++#: cp/pt.c:7337
+ #, gcc-internal-format
+ msgid "mismatched argument pack lengths while expanding %<%E%>"
+ msgstr ""
+
+-#: cp/pt.c:8189
++#: cp/pt.c:8289
+ #, fuzzy, gcc-internal-format
+ msgid "instantiation of %q+D as type %qT"
+ msgstr "ÐºÐ¾Ð½ÐºÑ€ÐµÑ‚Ð¸Ð·Ð°Ñ†Ð¸Ñ %qD Ð´Ð»Ñ Ñ‚Ð¸Ð¿Ð° %qT"
+@@ -31276,242 +31310,242 @@
+ #.
+ #. is an attempt to declare a variable with function
+ #. type.
+-#: cp/pt.c:8324
++#: cp/pt.c:8424
+ #, fuzzy, gcc-internal-format
+ msgid "variable %qD has function type"
+ msgstr "Ð¿ÐµÑ€ÐµÐ¼ÐµÐ½Ð½Ð°Ñ %qs инициализирована, Ñ…Ð¾Ñ‚Ñ Ð¸Ð¼ÐµÐµÑ‚ неполный тип"
+
+-#: cp/pt.c:8471
++#: cp/pt.c:8571
+ #, gcc-internal-format
+ msgid "invalid parameter type %qT"
+ msgstr "некорректный тип параметра %qT"
+
+-#: cp/pt.c:8473
++#: cp/pt.c:8573
+ #, gcc-internal-format
+ msgid "in declaration %q+D"
+ msgstr "в декларации %q+D"
+
+-#: cp/pt.c:8550
++#: cp/pt.c:8650
+ #, fuzzy, gcc-internal-format
+ msgid "function returning an array"
+ msgstr "Ñ„ÑƒÐ½ÐºÑ†Ð¸Ñ Ð²Ð¾Ð·Ð²Ñ€Ð°Ñ‰Ð°ÐµÑ‚ агрегатное значение"
+
+-#: cp/pt.c:8552
++#: cp/pt.c:8652
+ #, fuzzy, gcc-internal-format
+ msgid "function returning a function"
+ msgstr "%qs объÑвлена как функциÑ, Ð²Ð¾Ð·Ð²Ñ€Ð°Ñ‰Ð°ÑŽÑ‰Ð°Ñ Ñ„ÑƒÐ½ÐºÑ†Ð¸ÑŽ"
+
+-#: cp/pt.c:8586
++#: cp/pt.c:8686
+ #, gcc-internal-format
+ msgid "creating pointer to member function of non-class type %qT"
+ msgstr "Ñоздание ÑƒÐºÐ°Ð·Ð°Ñ‚ÐµÐ»Ñ Ð½Ð° Ñлемент-функцию не клаÑÑового типа %qT"
+
+-#: cp/pt.c:8792
++#: cp/pt.c:8913
+ #, fuzzy, gcc-internal-format
+ msgid "creating array with negative size (%qE)"
+ msgstr "Ñоздание маÑÑива нулевого размера (%qE)"
+
+-#: cp/pt.c:9047
++#: cp/pt.c:9168
+ #, gcc-internal-format
+ msgid "forming reference to void"
+ msgstr "Ñоздание ÑÑылки на void"
+
+-#: cp/pt.c:9049
++#: cp/pt.c:9170
+ #, gcc-internal-format
+ msgid "forming %s to reference type %qT"
+ msgstr "Ñоздание %s на ÑÑылочный тип %qT"
+
+-#: cp/pt.c:9100
++#: cp/pt.c:9221
+ #, gcc-internal-format
+ msgid "creating pointer to member of non-class type %qT"
+ msgstr "Ñоздание ÑƒÐºÐ°Ð·Ð°Ñ‚ÐµÐ»Ñ Ð½Ð° Ñлемент не клаÑÑового типа %qT"
+
+-#: cp/pt.c:9106
++#: cp/pt.c:9227
+ #, gcc-internal-format
+ msgid "creating pointer to member reference type %qT"
+ msgstr "Ñоздание ÑƒÐºÐ°Ð·Ð°Ñ‚ÐµÐ»Ñ Ð½Ð° Ñлемент ÑÑылочного типа %qT"
+
+-#: cp/pt.c:9112
++#: cp/pt.c:9233
+ #, fuzzy, gcc-internal-format
+ msgid "creating pointer to member of type void"
+ msgstr "Ñоздание ÑƒÐºÐ°Ð·Ð°Ñ‚ÐµÐ»Ñ Ð½Ð° Ñлемент ÑÑылочного типа %qT"
+
+-#: cp/pt.c:9179
++#: cp/pt.c:9300
+ #, gcc-internal-format
+ msgid "creating array of %qT"
+ msgstr "Ñоздание маÑÑива Ñлементов типа %qT"
+
+-#: cp/pt.c:9185
++#: cp/pt.c:9306
+ #, gcc-internal-format
+ msgid "creating array of %qT, which is an abstract class type"
+ msgstr "Ñоздание маÑÑива Ñлементов типа %qT, ÑвлÑющегоÑÑ Ð°Ð±Ñтрактным клаÑÑом"
+
+-#: cp/pt.c:9236
++#: cp/pt.c:9357
+ #, gcc-internal-format
+ msgid "%qT is not a class, struct, or union type"
+ msgstr "%qT не ÑвлÑетÑÑ Ñ‚Ð¸Ð¿Ð¾Ð¼ class, struct или union"
+
+-#: cp/pt.c:9271
++#: cp/pt.c:9392
+ #, gcc-internal-format
+ msgid "%qT resolves to %qT, which is not an enumeration type"
+ msgstr ""
+
+-#: cp/pt.c:9274
++#: cp/pt.c:9395
+ #, fuzzy, gcc-internal-format
+ msgid "%qT resolves to %qT, which is is not a class type"
+ msgstr "Ñоздание маÑÑива Ñлементов типа %qT, ÑвлÑющегоÑÑ Ð°Ð±Ñтрактным клаÑÑом"
+
+-#: cp/pt.c:9375
++#: cp/pt.c:9496
+ #, gcc-internal-format
+ msgid "use of %qs in template"
+ msgstr "иÑпользование %qs в шаблоне"
+
+-#: cp/pt.c:9512
++#: cp/pt.c:9633
+ #, gcc-internal-format
+ msgid "dependent-name %qE is parsed as a non-type, but instantiation yields a type"
+ msgstr ""
+
+-#: cp/pt.c:9514
++#: cp/pt.c:9635
+ #, gcc-internal-format
+ msgid "say %<typename %E%> if a type is meant"
+ msgstr "задайте %<typename %E%>, еÑли подразумеваетÑÑ Ñ‚Ð¸Ð¿"
+
+-#: cp/pt.c:9643
++#: cp/pt.c:9764
+ #, fuzzy, gcc-internal-format
+ msgid "using invalid field %qD"
+ msgstr "отÑутÑтвует ÑтатичеÑкое поле %qs"
+
+-#: cp/pt.c:9952 cp/pt.c:10432
++#: cp/pt.c:10073 cp/pt.c:10553
+ #, fuzzy, gcc-internal-format
+ msgid "invalid use of pack expansion expression"
+ msgstr "неправильное иÑпользование void-выражениÑ"
+
+-#: cp/pt.c:9956 cp/pt.c:10436
++#: cp/pt.c:10077 cp/pt.c:10557
+ #, fuzzy, gcc-internal-format
+ msgid "use %<...%> to expand argument pack"
+ msgstr "аргументы %<...%>.)"
+
+-#: cp/pt.c:10594
++#: cp/pt.c:10715
+ #, gcc-internal-format
+ msgid "a cast to a type other than an integral or enumeration type cannot appear in a constant-expression"
+ msgstr ""
+
+-#: cp/pt.c:11052
++#: cp/pt.c:11181
+ #, gcc-internal-format
+ msgid "%qT is not a class or namespace"
+ msgstr "%qT не ÑвлÑетÑÑ ÐºÐ»Ð°ÑÑом или проÑтранÑтвом имён"
+
+-#: cp/pt.c:11055
++#: cp/pt.c:11184
+ #, gcc-internal-format
+ msgid "%qD is not a class or namespace"
+ msgstr "%qD не ÑвлÑетÑÑ ÐºÐ»Ð°ÑÑом или проÑтранÑтвом имён"
+
+-#: cp/pt.c:11265
++#: cp/pt.c:11394
+ #, fuzzy, gcc-internal-format
+ msgid "%qT is/uses anonymous type"
+ msgstr "в %qT иÑпользуетÑÑ Ð°Ð½Ð¾Ð½Ð¸Ð¼Ð½Ñ‹Ð¹ тип"
+
+-#: cp/pt.c:11267
++#: cp/pt.c:11396
+ #, fuzzy, gcc-internal-format
+ msgid "template argument for %qD uses local type %qT"
+ msgstr "аргумент по умолчанию Ð´Ð»Ñ `%#D' имеет тип %qT"
+
+-#: cp/pt.c:11277
++#: cp/pt.c:11406
+ #, gcc-internal-format
+ msgid "%qT is a variably modified type"
+ msgstr ""
+
+-#: cp/pt.c:11288
++#: cp/pt.c:11417
+ #, gcc-internal-format
+ msgid "integral expression %qE is not constant"
+ msgstr "целочиÑленное выражение %qE не ÑвлÑетÑÑ ÐºÐ¾Ð½Ñтантой"
+
+-#: cp/pt.c:11293
++#: cp/pt.c:11422
+ #, gcc-internal-format
+ msgid " trying to instantiate %qD"
+ msgstr " при конкретизации %qD"
+
+-#: cp/pt.c:13959
++#: cp/pt.c:14173
+ #, fuzzy, gcc-internal-format
+ msgid "ambiguous class template instantiation for %q#T"
+ msgstr "Ð½ÐµÐ¾Ð´Ð½Ð¾Ð·Ð½Ð°Ñ‡Ð½Ð°Ñ ÐºÐ¾Ð½ÐºÑ€ÐµÑ‚Ð¸Ð·Ð°Ñ†Ð¸Ñ ÑˆÐ°Ð±Ð»Ð¾Ð½Ð° клаÑÑа Ð´Ð»Ñ %q#T"
+
+-#: cp/pt.c:13962
++#: cp/pt.c:14176
+ #, gcc-internal-format
+ msgid "%s %+#T"
+ msgstr "%s %+#T"
+
+-#: cp/pt.c:13985 cp/pt.c:14068
++#: cp/pt.c:14199 cp/pt.c:14282
+ #, fuzzy, gcc-internal-format
+ msgid "explicit instantiation of non-template %q#D"
+ msgstr "ÑÐ²Ð½Ð°Ñ ÐºÐ¾Ð½ÐºÑ€ÐµÑ‚Ð¸Ð·Ð°Ñ†Ð¸Ñ `%#D', не ÑвлÑющегоÑÑ ÑˆÐ°Ð±Ð»Ð¾Ð½Ð¾Ð¼"
+
+-#: cp/pt.c:14000
++#: cp/pt.c:14214
+ #, fuzzy, gcc-internal-format
+ msgid "%qD is not a static data member of a class template"
+ msgstr "`%#D' не ÑвлÑетÑÑ Ð½ÐµÑтатичеÑким Ñлементом %qT"
+
+-#: cp/pt.c:14006 cp/pt.c:14063
++#: cp/pt.c:14220 cp/pt.c:14277
+ #, gcc-internal-format
+ msgid "no matching template for %qD found"
+ msgstr "нет подходÑщего шаблона Ð´Ð»Ñ %qD"
+
+-#: cp/pt.c:14011
++#: cp/pt.c:14225
+ #, fuzzy, gcc-internal-format
+ msgid "type %qT for explicit instantiation %qD does not match declared type %qT"
+ msgstr "ÑÐ²Ð½Ð°Ñ ÐºÐ¾Ð½ÐºÑ€ÐµÑ‚Ð¸Ð·Ð°Ñ†Ð¸Ñ Ñ‚Ð¸Ð¿Ð° %qT, не ÑвлÑющегоÑÑ ÑˆÐ°Ð±Ð»Ð¾Ð½Ð¾Ð¼"
+
+-#: cp/pt.c:14019
++#: cp/pt.c:14233
+ #, fuzzy, gcc-internal-format
+ msgid "explicit instantiation of %q#D"
+ msgstr "ÑÐ²Ð½Ð°Ñ ÐºÐ¾Ð½ÐºÑ€ÐµÑ‚Ð¸Ð·Ð°Ñ†Ð¸Ñ `%#D'"
+
+-#: cp/pt.c:14055
++#: cp/pt.c:14269
+ #, fuzzy, gcc-internal-format
+ msgid "duplicate explicit instantiation of %q#D"
+ msgstr "Ð¿Ð¾Ð²Ñ‚Ð¾Ñ€Ð½Ð°Ñ ÑÐ²Ð½Ð°Ñ ÐºÐ¾Ð½ÐºÑ€ÐµÑ‚Ð¸Ð·Ð°Ñ†Ð¸Ñ `%#D'"
+
+-#: cp/pt.c:14077
++#: cp/pt.c:14291
+ #, gcc-internal-format
+ msgid "ISO C++ forbids the use of %<extern%> on explicit instantiations"
+ msgstr "ISO C++ запрещает иÑпользование %<extern%> в Ñвной конкретизации"
+
+-#: cp/pt.c:14082 cp/pt.c:14175
++#: cp/pt.c:14296 cp/pt.c:14389
+ #, gcc-internal-format
+ msgid "storage class %qD applied to template instantiation"
+ msgstr "клаÑÑ Ñ…Ñ€Ð°Ð½ÐµÐ½Ð¸Ñ %qD в конкретизации шаблона"
+
+-#: cp/pt.c:14147
++#: cp/pt.c:14361
+ #, gcc-internal-format
+ msgid "explicit instantiation of non-template type %qT"
+ msgstr "ÑÐ²Ð½Ð°Ñ ÐºÐ¾Ð½ÐºÑ€ÐµÑ‚Ð¸Ð·Ð°Ñ†Ð¸Ñ Ñ‚Ð¸Ð¿Ð° %qT, не ÑвлÑющегоÑÑ ÑˆÐ°Ð±Ð»Ð¾Ð½Ð¾Ð¼"
+
+-#: cp/pt.c:14156
++#: cp/pt.c:14370
+ #, gcc-internal-format
+ msgid "explicit instantiation of %q#T before definition of template"
+ msgstr "ÑÐ²Ð½Ð°Ñ ÐºÐ¾Ð½ÐºÑ€ÐµÑ‚Ð¸Ð·Ð°Ñ†Ð¸Ñ %q#T до Ð¾Ð¿Ñ€ÐµÐ´ÐµÐ»ÐµÐ½Ð¸Ñ ÑˆÐ°Ð±Ð»Ð¾Ð½Ð°"
+
+-#: cp/pt.c:14164
++#: cp/pt.c:14378
+ #, gcc-internal-format
+ msgid "ISO C++ forbids the use of %qE on explicit instantiations"
+ msgstr "ISO C++ запрещает иÑпользование %qE в Ñвных конкретизациÑÑ…"
+
+-#: cp/pt.c:14209
++#: cp/pt.c:14423
+ #, gcc-internal-format
+ msgid "duplicate explicit instantiation of %q#T"
+ msgstr "Ð¿Ð¾Ð²Ñ‚Ð¾Ñ€Ð½Ð°Ñ ÑÐ²Ð½Ð°Ñ ÐºÐ¾Ð½ÐºÑ€ÐµÑ‚Ð¸Ð·Ð°Ñ†Ð¸Ñ %q#T"
+
+-#: cp/pt.c:14657
++#: cp/pt.c:14871
+ #, gcc-internal-format
+ msgid "explicit instantiation of %qD but no definition available"
+ msgstr "ÑÐ²Ð½Ð°Ñ ÐºÐ¾Ð½ÐºÑ€ÐµÑ‚Ð¸Ð·Ð°Ñ†Ð¸Ñ %qD без определениÑ"
+
+-#: cp/pt.c:14851
++#: cp/pt.c:15065
+ #, 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)"
+ msgstr "глубина конкретизации шаблона превышает макÑимум %d (задайте -ftemplate-depth-NN, чтобы увеличить макÑимум) при конкретизации %qD"
+
+-#: cp/pt.c:15193
++#: cp/pt.c:15419
+ #, fuzzy, gcc-internal-format
+ msgid "%q#T is not a valid type for a template constant parameter"
+ msgstr "`%#T' не ÑвлÑетÑÑ ÐºÐ¾Ñ€Ñ€ÐµÐºÑ‚Ð½Ñ‹Ð¼ типом Ð´Ð»Ñ ÐºÐ¾Ð½Ñтантного параметра шаблона"
+@@ -31531,32 +31565,32 @@
+ msgid "can't create repository information file %qs"
+ msgstr "ошибка при Ñоздании файла Ñ€ÐµÐ¿Ð¾Ð·Ð¸Ñ‚Ð¾Ñ€Ð¸Ñ %qs"
+
+-#: cp/rtti.c:271
++#: cp/rtti.c:285
+ #, gcc-internal-format
+ msgid "cannot use typeid with -fno-rtti"
+ msgstr "иÑпользование идентификатора типа Ñ ÐºÐ»ÑŽÑ‡Ð¾Ð¼ -fno-rtti недопуÑтимо"
+
+-#: cp/rtti.c:277
++#: cp/rtti.c:291
+ #, gcc-internal-format
+ msgid "must #include <typeinfo> before using typeid"
+ msgstr "необходимо включить #include <typeinfo> до иÑÐ¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ð½Ð¸Ñ Ð¸Ð´ÐµÐ½Ñ‚Ð¸Ñ„Ð¸ÐºÐ°Ñ‚Ð¾Ñ€Ð° типа"
+
+-#: cp/rtti.c:360
++#: cp/rtti.c:374
+ #, fuzzy, gcc-internal-format
+ msgid "cannot create type information for type %qT because it involves types of variable size"
+ msgstr "Ñоздание информации о типе %qT невозможно, поÑколько он имеет переменный размер"
+
+-#: cp/rtti.c:615 cp/rtti.c:629
++#: cp/rtti.c:629 cp/rtti.c:643
+ #, fuzzy, gcc-internal-format
+ msgid "dynamic_cast of %q#D to %q#T can never succeed"
+ msgstr "dynamic_cast Ð´Ð»Ñ Ð¿Ñ€ÐµÐ¾Ð±Ñ€Ð°Ð·Ð¾Ð²Ð°Ð½Ð¸Ñ `%#D' в `%#T' никогда не будет уÑпешным"
+
+-#: cp/rtti.c:639
++#: cp/rtti.c:653
+ #, fuzzy, gcc-internal-format
+ msgid "%<dynamic_cast%> not permitted with -fno-rtti"
+ msgstr "иÑпользование идентификатора типа Ñ ÐºÐ»ÑŽÑ‡Ð¾Ð¼ -fno-rtti недопуÑтимо"
+
+-#: cp/rtti.c:716
++#: cp/rtti.c:729
+ #, fuzzy, gcc-internal-format
+ msgid "cannot dynamic_cast %qE (of type %q#T) to type %q#T (%s)"
+ msgstr "недопуÑтимое применение dynamic_cast Ð´Ð»Ñ Ð¿Ñ€ÐµÐ¾Ð±Ñ€Ð°Ð·Ð¾Ð²Ð°Ð½Ð¸Ñ %qE (типа `%#T') к типу `%#T' (%s)"
+@@ -31618,551 +31652,551 @@
+ msgid " since %q+#D declared in base class"
+ msgstr " поÑкольку %q+#D объÑвлена в базовом клаÑÑе"
+
+-#: cp/semantics.c:762
++#: cp/semantics.c:764
+ #, gcc-internal-format
+ msgid "suggest explicit braces around empty body in %<do%> statement"
+ msgstr "иÑпользуйте Ñвные фигурные Ñкобки вокруг пуÑтого тела цикла %<do%>"
+
+-#: cp/semantics.c:1290
++#: cp/semantics.c:1294
+ #, gcc-internal-format
+ msgid "type of asm operand %qE could not be determined"
+ msgstr "невозможно определить тип операнда %qE Ð´Ð»Ñ Ð¾Ð¿ÐµÑ€Ð°Ñ‚Ð¾Ñ€Ð° asm"
+
+-#: cp/semantics.c:1346
++#: cp/semantics.c:1350
+ #, fuzzy, gcc-internal-format
+ msgid "__label__ declarations are only allowed in function scopes"
+ msgstr "декларации Objective-C могут находитьÑÑ Ñ‚Ð¾Ð»ÑŒÐºÐ¾ в глобальной облаÑти"
+
+-#: cp/semantics.c:1433
++#: cp/semantics.c:1438
+ #, gcc-internal-format
+ msgid "invalid use of member %q+D in static member function"
+ msgstr "некорректное иÑпользование Ñлемента %q+D в ÑтатичеÑком Ñлементе-функции"
+
+-#: cp/semantics.c:1435
++#: cp/semantics.c:1440
+ #, gcc-internal-format
+ msgid "invalid use of non-static data member %q+D"
+ msgstr "некорректное иÑпользование неÑтатичеÑкого Ñлемента %q+D"
+
+-#: cp/semantics.c:1436 cp/semantics.c:1475
++#: cp/semantics.c:1441 cp/semantics.c:1480
+ #, gcc-internal-format
+ msgid "from this location"
+ msgstr "в Ñтом меÑте"
+
+-#: cp/semantics.c:1474
++#: cp/semantics.c:1479
+ #, gcc-internal-format
+ msgid "object missing in reference to %q+D"
+ msgstr "отÑутÑтвует объект в ÑÑылке на %q+D"
+
+-#: cp/semantics.c:1928
++#: cp/semantics.c:1951
+ #, gcc-internal-format
+ msgid "arguments to destructor are not allowed"
+ msgstr "аргументы к деÑтруктору не допуÑкаютÑÑ"
+
+-#: cp/semantics.c:1978
++#: cp/semantics.c:2001
+ #, gcc-internal-format
+ msgid "%<this%> is unavailable for static member functions"
+ msgstr "Ð¸Ð¼Ñ %<this%> недоÑтупно Ð´Ð»Ñ ÑтатичеÑких Ñлементов-функций"
+
+-#: cp/semantics.c:1984
++#: cp/semantics.c:2007
+ #, gcc-internal-format
+ msgid "invalid use of %<this%> in non-member function"
+ msgstr "некорректное иÑпользование %<this%> в функции, не ÑвлÑющейÑÑ Ñлементом"
+
+-#: cp/semantics.c:1986
++#: cp/semantics.c:2009
+ #, gcc-internal-format
+ msgid "invalid use of %<this%> at top level"
+ msgstr "некорректное иÑпользование %<this%> на внешнем уровне"
+
+-#: cp/semantics.c:2010
++#: cp/semantics.c:2033
+ #, gcc-internal-format
+ msgid "invalid qualifying scope in pseudo-destructor name"
+ msgstr ""
+
+-#: cp/semantics.c:2015 cp/typeck.c:2004
++#: cp/semantics.c:2038 cp/typeck.c:2050
+ #, fuzzy, gcc-internal-format
+ msgid "qualified type %qT does not match destructor name ~%qT"
+ msgstr "квалифицированный тип %qT не ÑоответÑтвует имени деÑтруктора `~%T'"
+
+-#: cp/semantics.c:2037
++#: cp/semantics.c:2060
+ #, gcc-internal-format
+ msgid "%qE is not of type %qT"
+ msgstr "%qE не имеет тип %qT"
+
+-#: cp/semantics.c:2081
++#: cp/semantics.c:2104
+ #, gcc-internal-format
+ msgid "compound literal of non-object type %qT"
+ msgstr ""
+
+-#: cp/semantics.c:2158
++#: cp/semantics.c:2181
+ #, gcc-internal-format
+ msgid "template type parameters must use the keyword %<class%> or %<typename%>"
+ msgstr "параметры шаблона, ÑвлÑющиеÑÑ Ñ‚Ð¸Ð¿Ð°Ð¼Ð¸, должны задаватьÑÑ Ð¿Ñ€Ð¸ помощи ключевых Ñлов %<class%> или %<typename%>"
+
+-#: cp/semantics.c:2195
++#: cp/semantics.c:2222
+ #, gcc-internal-format
+ msgid "invalid use of type %qT as a default value for a template template-parameter"
+ msgstr ""
+
+-#: cp/semantics.c:2198
++#: cp/semantics.c:2225
+ #, gcc-internal-format
+ msgid "invalid default argument for a template template parameter"
+ msgstr ""
+
+-#: cp/semantics.c:2215
++#: cp/semantics.c:2242
+ #, gcc-internal-format
+ msgid "definition of %q#T inside template parameter list"
+ msgstr "определение %q#T внутри ÑпиÑка параметров шаблона"
+
+-#: cp/semantics.c:2226
++#: cp/semantics.c:2253
+ #, gcc-internal-format
+ msgid "invalid definition of qualified type %qT"
+ msgstr "некорректное определение квалифицированного типа %qT"
+
+-#: cp/semantics.c:2437
++#: cp/semantics.c:2469
+ #, gcc-internal-format
+ msgid "invalid base-class specification"
+ msgstr "Ð½ÐµÐºÐ¾Ñ€Ñ€ÐµÐºÑ‚Ð½Ð°Ñ ÑÐ¿ÐµÑ†Ð¸Ñ„Ð¸ÐºÐ°Ñ†Ð¸Ñ Ð±Ð°Ð·Ð¾Ð²Ð¾Ð³Ð¾ клаÑÑа"
+
+-#: cp/semantics.c:2446
++#: cp/semantics.c:2478
+ #, gcc-internal-format
+ msgid "base class %qT has cv qualifiers"
+ msgstr "базовый клаÑÑ %qT имеет квалификаторы cv"
+
+-#: cp/semantics.c:2468
++#: cp/semantics.c:2500
+ #, gcc-internal-format
+ msgid "incomplete type %qT used in nested name specifier"
+ msgstr "неполный тип %qT иÑпользован во вложенном Ñпецификаторе имени"
+
+-#: cp/semantics.c:2471
++#: cp/semantics.c:2503
+ #, fuzzy, gcc-internal-format
+ msgid "reference to %<%T::%D%> is ambiguous"
+ msgstr "иÑпользование %qD неоднозначно"
+
+-#: cp/semantics.c:2475 cp/typeck.c:1813
++#: cp/semantics.c:2507 cp/typeck.c:1859
+ #, gcc-internal-format
+ msgid "%qD is not a member of %qT"
+ msgstr "%qD не ÑвлÑетÑÑ Ñлементом %qT"
+
+-#: cp/semantics.c:2478
++#: cp/semantics.c:2510
+ #, gcc-internal-format
+ msgid "%qD is not a member of %qD"
+ msgstr "%qD не ÑвлÑетÑÑ Ñлементом %qD"
+
+-#: cp/semantics.c:2480
++#: cp/semantics.c:2512
+ #, gcc-internal-format
+ msgid "%<::%D%> has not been declared"
+ msgstr "%<::%D%> не был декларирован"
+
+-#: cp/semantics.c:2621
++#: cp/semantics.c:2653
+ #, fuzzy, gcc-internal-format
+ msgid "use of %<auto%> variable from containing function"
+ msgstr "иÑпользование %s в объемлющей функции"
+
+-#: cp/semantics.c:2623
++#: cp/semantics.c:2655
+ #, fuzzy, gcc-internal-format
+ msgid " %q+#D declared here"
+ msgstr " Ð¸Ð¼Ñ `%#D' объÑвлено здеÑÑŒ"
+
+-#: cp/semantics.c:2661
++#: cp/semantics.c:2693
+ #, gcc-internal-format
+ msgid "template parameter %qD of type %qT is not allowed in an integral constant expression because it is not of integral or enumeration type"
+ msgstr ""
+
+-#: cp/semantics.c:2830
++#: cp/semantics.c:2862
+ #, gcc-internal-format
+ msgid "%qD cannot appear in a constant-expression"
+ msgstr ""
+
+-#: cp/semantics.c:2838
++#: cp/semantics.c:2870
+ #, gcc-internal-format
+ msgid "use of namespace %qD as expression"
+ msgstr "иÑпользование проÑтранÑтва имён %qD в качеÑтве выражениÑ"
+
+-#: cp/semantics.c:2843
++#: cp/semantics.c:2875
+ #, gcc-internal-format
+ msgid "use of class template %qT as expression"
+ msgstr "иÑпользование шаблона клаÑÑа %qT в качеÑтве выражениÑ"
+
+ #. Ambiguous reference to base members.
+-#: cp/semantics.c:2849
++#: cp/semantics.c:2881
+ #, gcc-internal-format
+ msgid "request for member %qD is ambiguous in multiple inheritance lattice"
+ msgstr "Ð·Ð°Ð¿Ñ€Ð¾Ñ Ñлемента %qD неоднозначен в Ñетке множеÑтвенного наÑледованиÑ"
+
+-#: cp/semantics.c:2970 cp/semantics.c:4210
++#: cp/semantics.c:3002 cp/semantics.c:4259
+ #, gcc-internal-format
+ msgid "type of %qE is unknown"
+ msgstr "тип %qE неизвеÑтен"
+
+-#: cp/semantics.c:2985
++#: cp/semantics.c:3017
+ #, gcc-internal-format
+ msgid "cannot apply %<offsetof%> to destructor %<~%T%>"
+ msgstr ""
+
+-#: cp/semantics.c:2996
++#: cp/semantics.c:3028
+ #, fuzzy, gcc-internal-format
+ msgid "cannot apply %<offsetof%> to member function %qD"
+ msgstr "некорректное иÑпользование неÑтатичеÑкой функции-Ñлемента %qD"
+
+-#: cp/semantics.c:3349
++#: cp/semantics.c:3381
+ #, fuzzy, gcc-internal-format
+ msgid "%qD is not a variable in clause %qs"
+ msgstr "%qT не ÑвлÑетÑÑ Ð±Ð°Ð·Ð¾Ð²Ñ‹Ð¼ Ð´Ð»Ñ %qT"
+
+-#: cp/semantics.c:3358
++#: cp/semantics.c:3390
+ #, gcc-internal-format
+ msgid "%qD appears more than once in data clauses"
+ msgstr ""
+
+-#: cp/semantics.c:3418
++#: cp/semantics.c:3450
+ #, gcc-internal-format
+ msgid "num_threads expression must be integral"
+ msgstr ""
+
+-#: cp/semantics.c:3432
++#: cp/semantics.c:3464
+ #, gcc-internal-format
+ msgid "schedule chunk size expression must be integral"
+ msgstr ""
+
+-#: cp/semantics.c:3562
++#: cp/semantics.c:3594
+ #, fuzzy, gcc-internal-format
+ msgid "%qE has reference type for %qs"
+ msgstr "Ñоздание %s на ÑÑылочный тип %qT"
+
+-#: cp/semantics.c:3724
++#: cp/semantics.c:3756
+ #, gcc-internal-format
+ msgid "%<threadprivate%> %qE is not file, namespace or block scope variable"
+ msgstr ""
+
+ #. Report the error.
+-#: cp/semantics.c:4033
++#: cp/semantics.c:4072
+ #, fuzzy, gcc-internal-format
+ msgid "static assertion failed: %E"
+ msgstr "Ðе выполнено необходимое уÑловие в коде CRIS: "
+
+-#: cp/semantics.c:4035
++#: cp/semantics.c:4074
+ #, fuzzy, gcc-internal-format
+ msgid "non-constant condition for static assertion"
+ msgstr "неstatic-Ð´ÐµÐºÐ»Ð°Ñ€Ð°Ñ†Ð¸Ñ %q+D поÑле static-декларации"
+
+-#: cp/semantics.c:4097
++#: cp/semantics.c:4099 cp/semantics.c:4194
+ #, fuzzy, gcc-internal-format
+-msgid "%qE refers to a set of overloaded functions"
+-msgstr "%s: ошибка при определении адреÑа перегруженной функции"
++msgid "argument to decltype must be an expression"
++msgstr "иÑпользование шаблона клаÑÑа %qT в качеÑтве выражениÑ"
+
+ #: cp/semantics.c:4145
+ #, fuzzy, gcc-internal-format
+-msgid "argument to decltype must be an expression"
+-msgstr "иÑпользование шаблона клаÑÑа %qT в качеÑтве выражениÑ"
++msgid "%qE refers to a set of overloaded functions"
++msgstr "%s: ошибка при определении адреÑа перегруженной функции"
+
+-#: cp/semantics.c:4366
++#: cp/semantics.c:4415
+ #, gcc-internal-format
+ msgid "__is_convertible_to"
+ msgstr ""
+
+-#: cp/semantics.c:4395
++#: cp/semantics.c:4444
+ #, fuzzy, gcc-internal-format
+ msgid "incomplete type %qT not allowed"
+ msgstr "неполный тип %qT не имеет Ñлемента %qD"
+
+-#: cp/tree.c:829
++#: cp/tree.c:827
+ #, fuzzy, gcc-internal-format
+ msgid "%qV qualifiers cannot be applied to %qT"
+ msgstr "квалификаторы `%V' не могут быть применены к %qT"
+
+-#: cp/tree.c:2134
++#: cp/tree.c:2132
+ #, fuzzy, gcc-internal-format
+ msgid "%qE attribute can only be applied to Java class definitions"
+ msgstr "атрибут %qs допуÑтим только Ð´Ð»Ñ Ð¾Ð¿Ñ€ÐµÐ´ÐµÐ»ÐµÐ½Ð¸Ð¹ Java-клаÑÑов"
+
+-#: cp/tree.c:2163
++#: cp/tree.c:2161
+ #, fuzzy, gcc-internal-format
+ msgid "%qE attribute can only be applied to class definitions"
+ msgstr "атрибут %qs допуÑтим только Ð´Ð»Ñ Ð¾Ð¿Ñ€ÐµÐ´ÐµÐ»ÐµÐ½Ð¸Ð¹ клаÑÑов"
+
+-#: cp/tree.c:2169
++#: cp/tree.c:2167
+ #, fuzzy, gcc-internal-format
+ msgid "%qE is obsolete; g++ vtables are now COM-compatible by default"
+ msgstr "%qs уÑтарел; таблицы виртуальных функций g++ теперь COM-ÑовмеÑтимы по умолчанию"
+
+-#: cp/tree.c:2193
++#: cp/tree.c:2191
+ #, gcc-internal-format
+ msgid "requested init_priority is not an integer constant"
+ msgstr "заданный init_priority не ÑвлÑетÑÑ Ñ†ÐµÐ»Ð¾Ð¹ конÑтантой"
+
+-#: cp/tree.c:2214
++#: cp/tree.c:2212
+ #, fuzzy, gcc-internal-format
+ msgid "can only use %qE attribute on file-scope definitions of objects of class type"
+ msgstr "атрибут %qs может иÑпользоватьÑÑ Ñ‚Ð¾Ð»ÑŒÐºÐ¾ Ð´Ð»Ñ Ð¾Ð¿Ñ€ÐµÐ´ÐµÐ»ÐµÐ½Ð¸Ð¹ объектов типа class на уровне файла"
+
+-#: cp/tree.c:2222
++#: cp/tree.c:2220
+ #, gcc-internal-format
+ msgid "requested init_priority is out of range"
+ msgstr "заданный init_priority вне диапазона"
+
+-#: cp/tree.c:2232
++#: cp/tree.c:2230
+ #, gcc-internal-format
+ msgid "requested init_priority is reserved for internal use"
+ msgstr "заданный init_priority зарезервировано Ð´Ð»Ñ Ð²Ð½ÑƒÑ‚Ñ€ÐµÐ½Ð½ÐµÐ³Ð¾ иÑпользованиÑ"
+
+-#: cp/tree.c:2243
++#: cp/tree.c:2241
+ #, fuzzy, gcc-internal-format
+ msgid "%qE attribute is not supported on this platform"
+ msgstr "атрибут %qs не поддерживаетÑÑ Ð½Ð° данной платформе"
+
+-#: cp/typeck.c:431 cp/typeck.c:445 cp/typeck.c:545
++#: cp/typeck.c:432 cp/typeck.c:446 cp/typeck.c:546
+ #, gcc-internal-format
+ msgid "%s between distinct pointer types %qT and %qT lacks a cast"
+ msgstr "%s между разными указательными типами %qT и %qT: отÑутÑтвует приведение"
+
+-#: cp/typeck.c:507
++#: cp/typeck.c:508
+ #, gcc-internal-format
+ msgid "ISO C++ forbids %s between pointer of type %<void *%> and pointer-to-function"
+ msgstr "ISO C++ не поддерживает %s между указателем %<void *%> and и указателем на функцию"
+
+-#: cp/typeck.c:565
++#: cp/typeck.c:566
+ #, gcc-internal-format
+ msgid "%s between distinct pointer-to-member types %qT and %qT lacks a cast"
+ msgstr ""
+
+-#: cp/typeck.c:1129
++#: cp/typeck.c:1166
+ #, gcc-internal-format
+ msgid "canonical types differ for identical types %T and %T"
+ msgstr ""
+
+-#: cp/typeck.c:1136
++#: cp/typeck.c:1173
+ #, gcc-internal-format
+ msgid "same canonical type node for different types %T and %T"
+ msgstr ""
+
+-#: cp/typeck.c:1248
++#: cp/typeck.c:1285
+ #, gcc-internal-format
+ msgid "invalid application of %qs to a member function"
+ msgstr "некорректное применение %qs к Ñлементу-функции"
+
+-#: cp/typeck.c:1298
++#: cp/typeck.c:1335
+ #, fuzzy, gcc-internal-format
+ msgid "invalid application of %<sizeof%> to a bit-field"
+ msgstr "недопуÑтимое применение %<sizeof%> к типу функции"
+
+-#: cp/typeck.c:1303
++#: cp/typeck.c:1340
+ #, fuzzy, gcc-internal-format
+ msgid "ISO C++ forbids applying %<sizeof%> to an expression of function type"
+ msgstr "недопуÑтимое применение %<sizeof%> к типу функции"
+
+-#: cp/typeck.c:1346
++#: cp/typeck.c:1383
+ #, fuzzy, gcc-internal-format
+ msgid "invalid application of %<__alignof%> to a bit-field"
+ msgstr "недопуÑтимое применение %<sizeof%> к типу функции"
+
+-#: cp/typeck.c:1354
++#: cp/typeck.c:1391
+ #, fuzzy, gcc-internal-format
+ msgid "ISO C++ forbids applying %<__alignof%> to an expression of function type"
+ msgstr "ISO C++ не поддерживает взÑтие адреÑа от функции %<::main%>"
+
+-#: cp/typeck.c:1405
++#: cp/typeck.c:1442
+ #, gcc-internal-format
+ msgid "invalid use of non-static member function"
+ msgstr "некорректное иÑпользование неÑтатичеÑкой функции-Ñлемента"
+
+-#: cp/typeck.c:1669
++#: cp/typeck.c:1715
+ #, fuzzy, gcc-internal-format
+ msgid "deprecated conversion from string constant to %qT"
+ msgstr "преобразование Ñтроковой конÑтанты к типу %qT не будет поддерживатьÑÑ Ð² будущих верÑиÑÑ… компилÑтора"
+
+-#: cp/typeck.c:1784 cp/typeck.c:2132
++#: cp/typeck.c:1830 cp/typeck.c:2178
+ #, gcc-internal-format
+ msgid "request for member %qD in %qE, which is of non-class type %qT"
+ msgstr "Ð·Ð°Ð¿Ñ€Ð¾Ñ Ñлемента %qD в %qE, имеющего не клаÑÑовый тип %qT"
+
+-#: cp/typeck.c:1811
++#: cp/typeck.c:1857
+ #, fuzzy, gcc-internal-format
+ msgid "invalid use of nonstatic data member %qE"
+ msgstr "некорректное иÑпользование неÑтатичеÑкого Ñлемента данных '%E'"
+
+-#: cp/typeck.c:1863 cp/typeck.c:1891
++#: cp/typeck.c:1909 cp/typeck.c:1937
+ #, gcc-internal-format
+ msgid "invalid access to non-static data member %qD of NULL object"
+ msgstr "некорректный доÑтуп к неÑтатичеÑкому Ñлементу данных %qD NULL-объекта"
+
+-#: cp/typeck.c:1866 cp/typeck.c:1893
++#: cp/typeck.c:1912 cp/typeck.c:1939
+ #, gcc-internal-format
+ msgid "(perhaps the %<offsetof%> macro was used incorrectly)"
+ msgstr "(возможно, некорректное иÑпользование макроÑа %<offsetof%>)"
+
+-#: cp/typeck.c:2010
++#: cp/typeck.c:2056
+ #, gcc-internal-format
+ msgid "the type being destroyed is %qT, but the destructor refers to %qT"
+ msgstr "разрушаемый тип %qT, а деÑтруктор отноÑитÑÑ Ðº %qT"
+
+-#: cp/typeck.c:2049 cp/typeck.c:2069
++#: cp/typeck.c:2095 cp/typeck.c:2115
+ #, fuzzy, gcc-internal-format
+ msgid "%qD is not a template"
+ msgstr "%qs не ÑвлÑетÑÑ ÑˆÐ°Ð±Ð»Ð¾Ð½Ð¾Ð¼"
+
+-#: cp/typeck.c:2170
++#: cp/typeck.c:2216
+ #, fuzzy, gcc-internal-format
+ msgid "%<%D::%D%> is not a member of %qT"
+ msgstr "`%D::%D' не ÑвлÑетÑÑ Ñлементом %qT"
+
+-#: cp/typeck.c:2185
++#: cp/typeck.c:2231
+ #, gcc-internal-format
+ msgid "%qT is not a base of %qT"
+ msgstr "%qT не ÑвлÑетÑÑ Ð±Ð°Ð·Ð¾Ð²Ñ‹Ð¼ Ð´Ð»Ñ %qT"
+
+-#: cp/typeck.c:2204
++#: cp/typeck.c:2250
+ #, fuzzy, gcc-internal-format
+ msgid "%qD has no member named %qE"
+ msgstr "%qD не имеет Ñлемента Ñ Ð¸Ð¼ÐµÐ½ÐµÐ¼ '%E'"
+
+-#: cp/typeck.c:2219
++#: cp/typeck.c:2265
+ #, gcc-internal-format
+ msgid "%qD is not a member template function"
+ msgstr "%qD не ÑвлÑетÑÑ ÑˆÐ°Ð±Ð»Ð¾Ð½Ð½Ñ‹Ð¼ Ñлементом-функцией"
+
+ #. A pointer to incomplete type (other than cv void) can be
+ #. dereferenced [expr.unary.op]/1
+-#: cp/typeck.c:2352
++#: cp/typeck.c:2398
+ #, gcc-internal-format
+ msgid "%qT is not a pointer-to-object type"
+ msgstr "%qT не ÑвлÑетÑÑ Ñ‚Ð¸Ð¿Ð¾Ð¼ ÑƒÐºÐ°Ð·Ð°Ñ‚ÐµÐ»Ñ Ð½Ð° объект"
+
+-#: cp/typeck.c:2377
++#: cp/typeck.c:2423
+ #, gcc-internal-format
+ msgid "invalid use of %qs on pointer to member"
+ msgstr "некорректное применение %qs к указателю на Ñлемент"
+
+-#: cp/typeck.c:2381
++#: cp/typeck.c:2427
+ #, gcc-internal-format
+ msgid "invalid type argument of %qs"
+ msgstr "неверный аргумент Ð´Ð»Ñ %qs"
+
+-#: cp/typeck.c:2383
++#: cp/typeck.c:2429
+ #, gcc-internal-format
+ msgid "invalid type argument"
+ msgstr "некорректный тип аргумента"
+
+-#: cp/typeck.c:2406
++#: cp/typeck.c:2452
+ #, gcc-internal-format
+ msgid "subscript missing in array reference"
+ msgstr "отÑутÑтвует Ð¸Ð½Ð´ÐµÐºÑ Ð¼Ð°ÑÑива"
+
+-#: cp/typeck.c:2480
++#: cp/typeck.c:2526
+ #, gcc-internal-format
+ msgid "ISO C++ forbids subscripting non-lvalue array"
+ msgstr "ISO C++ не поддерживает индекÑирование маÑÑива, не ÑвлÑющегоÑÑ Ð»ÐµÐ²Ð¾Ð¹ чаÑтью приÑваиваниÑ"
+
+-#: cp/typeck.c:2491
++#: cp/typeck.c:2537
+ #, gcc-internal-format
+ msgid "subscripting array declared %<register%>"
+ msgstr "индекÑируемый маÑÑив объÑвлен как %<register%>"
+
+-#: cp/typeck.c:2576
++#: cp/typeck.c:2622
+ #, gcc-internal-format
+ msgid "object missing in use of %qE"
+ msgstr "не задан объект при иÑпользовании %qE"
+
+-#: cp/typeck.c:2693
++#: cp/typeck.c:2739
+ #, gcc-internal-format
+ msgid "ISO C++ forbids calling %<::main%> from within program"
+ msgstr "ISO C++ запрещает иÑпользование %<::main%> из программы"
+
+-#: cp/typeck.c:2718
++#: cp/typeck.c:2764
+ #, fuzzy, gcc-internal-format
+ msgid "must use %<.*%> or %<->*%> to call pointer-to-member function in %<%E (...)%>"
+ msgstr "необходимо иÑпользовать .* или ->* Ð´Ð»Ñ Ð²Ñ‹Ð·Ð¾Ð²Ð° по указателю на Ñлемент-функцию в `%E (...)'"
+
+-#: cp/typeck.c:2732
++#: cp/typeck.c:2778
+ #, gcc-internal-format
+ msgid "%qE cannot be used as a function"
+ msgstr "%qE Ð½ÐµÐ»ÑŒÐ·Ñ Ð¸Ñпользовать как функцию"
+
+-#: cp/typeck.c:2822
++#: cp/typeck.c:2868
+ #, fuzzy, gcc-internal-format
+ msgid "too many arguments to %s %q+#D"
+ msgstr "Ñлишком много аргументов Ð´Ð»Ñ %s `%+#D'"
+
+-#: cp/typeck.c:2823 cp/typeck.c:2927
++#: cp/typeck.c:2869 cp/typeck.c:2973
+ #, gcc-internal-format
+ msgid "at this point in file"
+ msgstr "в Ñтом меÑте файла"
+
+-#: cp/typeck.c:2826
++#: cp/typeck.c:2872
+ #, gcc-internal-format
+ msgid "too many arguments to function"
+ msgstr "Ð´Ð»Ñ Ñ„ÑƒÐ½ÐºÑ†Ð¸Ð¸ задано Ñлишком много аргументов"
+
+-#: cp/typeck.c:2856
++#: cp/typeck.c:2902
+ #, gcc-internal-format
+ msgid "parameter %P of %qD has incomplete type %qT"
+ msgstr "параметр %P %qD имеет неполный тип %qT"
+
+-#: cp/typeck.c:2859
++#: cp/typeck.c:2905
+ #, gcc-internal-format
+ msgid "parameter %P has incomplete type %qT"
+ msgstr "параметр %P имеет неполный тип %qT"
+
+-#: cp/typeck.c:2926
++#: cp/typeck.c:2972
+ #, fuzzy, gcc-internal-format
+ msgid "too few arguments to %s %q+#D"
+ msgstr "Ñлишком мало аргументов Ð´Ð»Ñ %s `%+#D'"
+
+-#: cp/typeck.c:2930
++#: cp/typeck.c:2976
+ #, gcc-internal-format
+ msgid "too few arguments to function"
+ msgstr "Ñлишком мало аргументов функции"
+
+-#: cp/typeck.c:3098 cp/typeck.c:3108
++#: cp/typeck.c:3140 cp/typeck.c:3150
+ #, gcc-internal-format
+ msgid "assuming cast to type %qT from overloaded function"
+ msgstr "предполагаетÑÑ Ð¿Ñ€Ð¸Ð²ÐµÐ´ÐµÐ½Ð¸Ðµ к типу %qT из перегруженной функции"
+
+-#: cp/typeck.c:3306
++#: cp/typeck.c:3346
+ #, fuzzy, gcc-internal-format
+ msgid "left rotate count is negative"
+ msgstr "%s величина Ñдвига Ð´Ð»Ñ rotate отрицательнаÑ"
+
+-#: cp/typeck.c:3307
++#: cp/typeck.c:3347
+ #, fuzzy, gcc-internal-format
+ msgid "right rotate count is negative"
+ msgstr "%s величина Ñдвига Ð´Ð»Ñ rotate отрицательнаÑ"
+
+-#: cp/typeck.c:3310
++#: cp/typeck.c:3350
+ #, fuzzy, gcc-internal-format
+ msgid "left rotate count >= width of type"
+ msgstr "%s величина Ñдвига Ð´Ð»Ñ rotate >= ширина типа"
+
+-#: cp/typeck.c:3311
++#: cp/typeck.c:3351
+ #, fuzzy, gcc-internal-format
+ msgid "right rotate count >= width of type"
+ msgstr "%s величина Ñдвига Ð´Ð»Ñ rotate >= ширина типа"
+
+-#: cp/typeck.c:3327 cp/typeck.c:3502
++#: cp/typeck.c:3367 cp/typeck.c:3549
+ #, fuzzy, gcc-internal-format
+ msgid "comparison with string literal results in unspecified behaviour"
+ msgstr "Ð´Ð»Ñ weak декларации %q+D поÑле первого иÑÐ¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ð½Ð¸Ñ Ð¿Ð¾Ð²ÐµÐ´ÐµÐ½Ð¸Ðµ ÑиÑтемыне Ñпецифицировано"
+
+-#: cp/typeck.c:3360 cp/typeck.c:3365 cp/typeck.c:3520 cp/typeck.c:3525
++#: cp/typeck.c:3400 cp/typeck.c:3405 cp/typeck.c:3567 cp/typeck.c:3572
+ #, gcc-internal-format
+ msgid "ISO C++ forbids comparison between pointer and integer"
+ msgstr "ISO C++ не поддерживает Ñравнение между указателем и целым"
+
+-#: cp/typeck.c:3539
++#: cp/typeck.c:3586
+ #, gcc-internal-format
+ msgid "unordered comparison on non-floating point argument"
+ msgstr "аргумент неупорÑдоченного ÑÑ€Ð°Ð²Ð½ÐµÐ½Ð¸Ñ - не плавающее значение"
+
+-#: cp/typeck.c:3577
++#: cp/typeck.c:3624
+ #, fuzzy, gcc-internal-format
+ msgid "invalid operands of types %qT and %qT to binary %qO"
+ msgstr "некорректные операнды типов %qT и %qT Ð´Ð»Ñ Ð±Ð¸Ð½Ð°Ñ€Ð½Ð¾Ð¹ операции `%O'"
+
+-#: cp/typeck.c:3749
++#: cp/typeck.c:3757
+ #, fuzzy, gcc-internal-format
+ msgid "comparison between types %q#T and %q#T"
+ msgstr "Ñравнение между типами `%#T' и `%#T'"
+
+-#: cp/typeck.c:3786
++#: cp/typeck.c:3794
+ #, gcc-internal-format
+ msgid "comparison between signed and unsigned integer expressions"
+ msgstr "Ñравнение знакового и беззнакового целых выражений"
+@@ -32171,154 +32205,154 @@
+ #. performed. Note that pointer-difference and pointer-addition
+ #. have already been handled above, and so we don't end up here in
+ #. that case.
+-#: cp/typeck.c:3858
++#: cp/typeck.c:3866
+ #, gcc-internal-format
+ msgid "NULL used in arithmetic"
+ msgstr "NULL в арифметичеÑком выражении"
+
+-#: cp/typeck.c:3927
++#: cp/typeck.c:3935
+ #, gcc-internal-format
+ msgid "ISO C++ forbids using pointer of type %<void *%> in subtraction"
+ msgstr "ISO C++ не поддерживает иÑпользование ÑƒÐºÐ°Ð·Ð°Ñ‚ÐµÐ»Ñ %<void *%> в вычитании"
+
+-#: cp/typeck.c:3929
++#: cp/typeck.c:3937
+ #, gcc-internal-format
+ msgid "ISO C++ forbids using pointer to a function in subtraction"
+ msgstr "ISO C++ не поддерживает иÑпользование ÑƒÐºÐ°Ð·Ð°Ñ‚ÐµÐ»Ñ Ð½Ð° функцию в вычитании"
+
+-#: cp/typeck.c:3931
++#: cp/typeck.c:3939
+ #, gcc-internal-format
+ msgid "ISO C++ forbids using pointer to a method in subtraction"
+ msgstr "ISO C++ не поддерживает иÑпользование ÑƒÐºÐ°Ð·Ð°Ñ‚ÐµÐ»Ñ Ð½Ð° метод в вычитании"
+
+-#: cp/typeck.c:3943
++#: cp/typeck.c:3951
+ #, gcc-internal-format
+ msgid "invalid use of a pointer to an incomplete type in pointer arithmetic"
+ msgstr "некорректное иÑпользование ÑƒÐºÐ°Ð·Ð°Ñ‚ÐµÐ»Ñ Ð½Ð° неполный тип в вычиÑлениÑÑ… Ñ ÑƒÐºÐ°Ð·Ð°Ñ‚ÐµÐ»Ñми"
+
+-#: cp/typeck.c:4003
++#: cp/typeck.c:4011
+ #, fuzzy, gcc-internal-format
+ msgid "invalid use of %qE to form a pointer-to-member-function"
+ msgstr "некорректное иÑпользование '%E' Ð´Ð»Ñ Ð¾Ð±Ñ€Ð°Ð·Ð¾Ð²Ð°Ð½Ð¸Ñ ÑƒÐºÐ°Ð·Ð°Ñ‚ÐµÐ»Ñ Ð½Ð° Ñлемент-функцию. ИÑпользуйте квалифицированный идентификатор."
+
+-#: cp/typeck.c:4006
++#: cp/typeck.c:4014
+ #, gcc-internal-format
+ msgid " a qualified-id is required"
+ msgstr ""
+
+-#: cp/typeck.c:4011
++#: cp/typeck.c:4019
+ #, fuzzy, gcc-internal-format
+ msgid "parentheses around %qE cannot be used to form a pointer-to-member-function"
+ msgstr "Ð½ÐµÐ»ÑŒÐ·Ñ Ð¸Ñпользовать Ñкобки вокруг '%E' Ð´Ð»Ñ Ð¾Ð±Ñ€Ð°Ð·Ð¾Ð²Ð°Ð½Ð¸Ñ ÑƒÐºÐ°Ð·Ð°Ñ‚ÐµÐ»Ñ Ð½Ð° Ñлемент-функцию."
+
+-#: cp/typeck.c:4034
++#: cp/typeck.c:4042
+ #, gcc-internal-format
+ msgid "taking address of temporary"
+ msgstr "Ð°Ð´Ñ€ÐµÑ Ð¾Ñ‚ временной переменной"
+
+-#: cp/typeck.c:4287
++#: cp/typeck.c:4295
+ #, fuzzy, gcc-internal-format
+ msgid "ISO C++ forbids incrementing an enum"
+ msgstr "ISO C++ не поддерживает %sацию по отношению к перечиÑлимому типу"
+
+-#: cp/typeck.c:4288
++#: cp/typeck.c:4296
+ #, fuzzy, gcc-internal-format
+ msgid "ISO C++ forbids decrementing an enum"
+ msgstr "ISO C++ не поддерживает %sацию по отношению к перечиÑлимому типу"
+
+-#: cp/typeck.c:4299
++#: cp/typeck.c:4307
+ #, fuzzy, gcc-internal-format
+ msgid "cannot increment a pointer to incomplete type %qT"
+ msgstr "Ð½ÐµÐ»ÑŒÐ·Ñ %s указатель на неполный тип %qT"
+
+-#: cp/typeck.c:4300
++#: cp/typeck.c:4308
+ #, fuzzy, gcc-internal-format
+ msgid "cannot decrement a pointer to incomplete type %qT"
+ msgstr "Ð½ÐµÐ»ÑŒÐ·Ñ %s указатель на неполный тип %qT"
+
+-#: cp/typeck.c:4306
++#: cp/typeck.c:4314
+ #, fuzzy, gcc-internal-format
+ msgid "ISO C++ forbids incrementing a pointer of type %qT"
+ msgstr "ISO C++ не поддерживает %sацию по отношению к указателю на тип %qT"
+
+-#: cp/typeck.c:4307
++#: cp/typeck.c:4315
+ #, fuzzy, gcc-internal-format
+ msgid "ISO C++ forbids decrementing a pointer of type %qT"
+ msgstr "ISO C++ не поддерживает %sацию по отношению к указателю на тип %qT"
+
+-#: cp/typeck.c:4327
++#: cp/typeck.c:4335
+ #, fuzzy, gcc-internal-format
+ msgid "invalid use of Boolean expression as operand to %<operator--%>"
+ msgstr "в ÑпиÑке операндов задано некорректное выражение"
+
+ #. ARM $3.4
+-#: cp/typeck.c:4357
++#: cp/typeck.c:4365
+ #, gcc-internal-format
+ msgid "ISO C++ forbids taking address of function %<::main%>"
+ msgstr "ISO C++ не поддерживает взÑтие адреÑа от функции %<::main%>"
+
+ #. An expression like &memfn.
+-#: cp/typeck.c:4413
++#: cp/typeck.c:4421
+ #, gcc-internal-format
+ msgid "ISO C++ forbids taking the address of an unqualified or parenthesized non-static member function to form a pointer to member function. Say %<&%T::%D%>"
+ msgstr "ISO C++ не поддерживает взÑтие адреÑа от неквалифицированного Ñлемента-функцииили Ñлемента в Ñкобках Ð´Ð»Ñ Ñ„Ð¾Ñ€Ð¼Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ ÑƒÐºÐ°Ð·Ð°Ñ‚ÐµÐ»Ñ Ð½Ð° Ñлемент-функцию.ИÑпользуйте ÑинтакÑÐ¸Ñ %<&%T::%D%>"
+
+-#: cp/typeck.c:4418
++#: cp/typeck.c:4426
+ #, gcc-internal-format
+ msgid "ISO C++ forbids taking the address of a bound member function to form a pointer to member function. Say %<&%T::%D%>"
+ msgstr "ISO C++ не поддерживает взÑтие адреÑа от bound-Ñлемента-функции Ð´Ð»Ñ Ñ„Ð¾Ñ€Ð¼Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ ÑƒÐºÐ°Ð·Ð°Ñ‚ÐµÐ»Ñ Ð½Ð° Ñлемент-функцию. ИÑпользуйте ÑинтакÑÐ¸Ñ %<&%T::%D%>"
+
+-#: cp/typeck.c:4443
++#: cp/typeck.c:4451
+ #, gcc-internal-format
+ msgid "ISO C++ forbids taking the address of a cast to a non-lvalue expression"
+ msgstr "ISO C++ не поддерживает взÑтие адреÑа от Ð¿Ñ€Ð¸Ð²ÐµÐ´ÐµÐ½Ð¸Ñ Ðº не-lvalue-выражению"
+
+-#: cp/typeck.c:4467
++#: cp/typeck.c:4475
+ #, gcc-internal-format
+ msgid "cannot create pointer to reference member %qD"
+ msgstr "Ð½ÐµÐ»ÑŒÐ·Ñ Ñоздать указатель на Ñлемент-ÑÑылку %qD"
+
+-#: cp/typeck.c:4678
++#: cp/typeck.c:4686
+ #, gcc-internal-format
+ msgid "cannot take the address of %<this%>, which is an rvalue expression"
+ msgstr "Ð½ÐµÐ»ÑŒÐ·Ñ Ð²Ð·ÑÑ‚ÑŒ Ð°Ð´Ñ€ÐµÑ Ð¾Ñ‚ %<this%>, поÑкольку Ñто rvalue-выражение"
+
+-#: cp/typeck.c:4701
++#: cp/typeck.c:4709
+ #, fuzzy, gcc-internal-format
+ msgid "address of explicit register variable %qD requested"
+ msgstr "запрошен Ð°Ð´Ñ€ÐµÑ Ñ€ÐµÐ³Ð¸Ñтровой переменной %qs"
+
+-#: cp/typeck.c:4706
++#: cp/typeck.c:4714
+ #, fuzzy, gcc-internal-format
+ msgid "address requested for %qD, which is declared %<register%>"
+ msgstr "взÑтие адреÑа от %qD, объÑвленного как `register'"
+
+-#: cp/typeck.c:4772
++#: cp/typeck.c:4780
+ #, gcc-internal-format
+ msgid "%s expression list treated as compound expression"
+ msgstr "%s - ÑпиÑое выражений раÑÑматриваетÑÑ ÐºÐ°Ðº ÑоÑтавное выражение"
+
+-#: cp/typeck.c:5175
++#: cp/typeck.c:5183
+ #, gcc-internal-format
+ msgid "invalid static_cast from type %qT to type %qT"
+ msgstr "некорректное применение static_cast от типа %qT к типу %qT"
+
+-#: cp/typeck.c:5197
++#: cp/typeck.c:5205
+ #, gcc-internal-format
+ msgid "converting from %qT to %qT"
+ msgstr "преобразование из %qT в %qT"
+
+-#: cp/typeck.c:5245
++#: cp/typeck.c:5253
+ #, fuzzy, gcc-internal-format
+ msgid "invalid cast of an rvalue expression of type %qT to type %qT"
+ msgstr "некорректное применение reinterpret_cast от rvalue-Ð²Ñ‹Ñ€Ð°Ð¶ÐµÐ½Ð¸Ñ Ñ‚Ð¸Ð¿Ð° %qT к типу %qT"
+
+-#: cp/typeck.c:5304
++#: cp/typeck.c:5312
+ #, fuzzy, gcc-internal-format
+ msgid "cast from %qT to %qT loses precision"
+ msgstr "reinterpret_cast от %qT к %qT Ñнижает точноÑÑ‚ÑŒ"
+
+-#: cp/typeck.c:5331
++#: cp/typeck.c:5339
+ #, gcc-internal-format
+ msgid "cast from %qT to %qT increases required alignment of target type"
+ msgstr "приведение от %qT к %qT увеличивает размер Ð²Ñ‹Ñ€Ð°Ð²Ð½Ð¸Ð²Ð°Ð½Ð¸Ñ Ð´Ð»Ñ ÑƒÐºÐ°Ð·ÑƒÐµÐ¼Ð¾Ð³Ð¾ типа"
+@@ -32327,155 +32361,155 @@
+ #. where possible, and it is necessary in some cases. DR 195
+ #. addresses this issue, but as of 2004/10/26 is still in
+ #. drafting.
+-#: cp/typeck.c:5351
++#: cp/typeck.c:5359
+ #, gcc-internal-format
+ msgid "ISO C++ forbids casting between pointer-to-function and pointer-to-object"
+ msgstr "ISO C++ не поддерживает приведение типа ÑƒÐºÐ°Ð·Ð°Ñ‚ÐµÐ»Ñ Ð½Ð° функцию к указателю на объект"
+
+-#: cp/typeck.c:5362
++#: cp/typeck.c:5370
+ #, fuzzy, gcc-internal-format
+ msgid "invalid cast from type %qT to type %qT"
+ msgstr "некорректное применение const_cast от типа %qT к типу %qT"
+
+-#: cp/typeck.c:5418
++#: cp/typeck.c:5426
+ #, gcc-internal-format
+ msgid "invalid use of const_cast with type %qT, which is not a pointer, reference, nor a pointer-to-data-member type"
+ msgstr "некорректное применение const_cast Ñ Ñ‚Ð¸Ð¿Ð¾Ð¼ %qT, не ÑвлÑющимÑÑ Ð½Ð¸ указателем, ни ÑÑылкой, ни указателем на Ñлемент данных"
+
+-#: cp/typeck.c:5427
++#: cp/typeck.c:5435
+ #, gcc-internal-format
+ msgid "invalid use of const_cast with type %qT, which is a pointer or reference to a function type"
+ msgstr "некорректное применение const_cast Ñ Ñ‚Ð¸Ð¿Ð¾Ð¼ %qT, ÑвлÑющимÑÑ ÑƒÐºÐ°Ð·Ð°Ñ‚ÐµÐ»ÐµÐ¼ или ÑÑылкой на функцию"
+
+-#: cp/typeck.c:5452
++#: cp/typeck.c:5460
+ #, gcc-internal-format
+ msgid "invalid const_cast of an rvalue of type %qT to type %qT"
+ msgstr "некорректное применение const_cast от rvalue-Ð²Ñ‹Ñ€Ð°Ð¶ÐµÐ½Ð¸Ñ Ñ‚Ð¸Ð¿Ð° %qT к типу %qT"
+
+-#: cp/typeck.c:5503
++#: cp/typeck.c:5511
+ #, gcc-internal-format
+ msgid "invalid const_cast from type %qT to type %qT"
+ msgstr "некорректное применение const_cast от типа %qT к типу %qT"
+
+-#: cp/typeck.c:5571 cp/typeck.c:5576
++#: cp/typeck.c:5579 cp/typeck.c:5584
+ #, gcc-internal-format
+ msgid "ISO C++ forbids casting to an array type %qT"
+ msgstr "ISO C++ не поддерживает приведение к типу маÑÑива %qT"
+
+-#: cp/typeck.c:5584
++#: cp/typeck.c:5592
+ #, gcc-internal-format
+ msgid "invalid cast to function type %qT"
+ msgstr "некорректное приведение к типу функции %qT"
+
+-#: cp/typeck.c:5804
++#: cp/typeck.c:5812
+ #, gcc-internal-format
+ msgid " in evaluation of %<%Q(%#T, %#T)%>"
+ msgstr " в вычиÑлении %<%Q(%#T, %#T)%>"
+
+-#: cp/typeck.c:5873
++#: cp/typeck.c:5881
+ #, gcc-internal-format
+ msgid "incompatible types in assignment of %qT to %qT"
+ msgstr "неÑовмеÑтимые типы в приÑваивании %qT -> %qT"
+
+-#: cp/typeck.c:5884
++#: cp/typeck.c:5892
+ #, fuzzy, gcc-internal-format
+ msgid "array used as initializer"
+ msgstr "некорректный инициализатор маÑÑива"
+
+-#: cp/typeck.c:5886
++#: cp/typeck.c:5894
+ #, fuzzy, gcc-internal-format
+ msgid "invalid array assignment"
+ msgstr "Ð½ÐµÐºÐ¾Ñ€Ñ€ÐµÐºÑ‚Ð½Ð°Ñ Ð»ÐµÐ²Ð°Ñ Ñ‡Ð°ÑÑ‚ÑŒ в приÑваивании"
+
+-#: cp/typeck.c:5998
++#: cp/typeck.c:6006
+ #, gcc-internal-format
+ msgid " in pointer to member function conversion"
+ msgstr " в преобразовании ÑƒÐºÐ°Ð·Ð°Ñ‚ÐµÐ»Ñ Ð½Ð° Ñлемент-функцию"
+
+-#: cp/typeck.c:6009
++#: cp/typeck.c:6017
+ #, gcc-internal-format
+ msgid "pointer to member conversion via virtual base %qT"
+ msgstr "преобразование ÑƒÐºÐ°Ð·Ð°Ñ‚ÐµÐ»Ñ Ðº Ñлементу через виртуальную базу %qT"
+
+-#: cp/typeck.c:6049 cp/typeck.c:6061
++#: cp/typeck.c:6057 cp/typeck.c:6069
+ #, gcc-internal-format
+ msgid " in pointer to member conversion"
+ msgstr " в преобразовании ÑƒÐºÐ°Ð·Ð°Ñ‚ÐµÐ»Ñ Ð½Ð° Ñлемент"
+
+-#: cp/typeck.c:6140
++#: cp/typeck.c:6148
+ #, gcc-internal-format
+ msgid "invalid conversion to type %qT from type %qT"
+ msgstr "некорректное преобразование к типу %qT от типа %qT"
+
+-#: cp/typeck.c:6384
++#: cp/typeck.c:6411
+ #, fuzzy, gcc-internal-format
+ msgid "cannot convert %qT to %qT for argument %qP to %qD"
+ msgstr "ошибка Ð¿Ñ€ÐµÐ¾Ð±Ñ€Ð°Ð·Ð¾Ð²Ð°Ð½Ð¸Ñ %qT в %qT Ð´Ð»Ñ Ð°Ñ€Ð³ÑƒÐ¼ÐµÐ½Ñ‚Ð° `%P' функции %qD"
+
+-#: cp/typeck.c:6387
++#: cp/typeck.c:6414
+ #, gcc-internal-format
+ msgid "cannot convert %qT to %qT in %s"
+ msgstr "ошибка Ð¿Ñ€ÐµÐ¾Ð±Ñ€Ð°Ð·Ð¾Ð²Ð°Ð½Ð¸Ñ %qT в %qT в %s"
+
+-#: cp/typeck.c:6398
++#: cp/typeck.c:6425
+ #, fuzzy, gcc-internal-format
+ msgid "%s might be a candidate for a format attribute"
+ msgstr "Ñтой функции, вероÑтно, можно задать атрибут Ñ„Ð¾Ñ€Ð¼Ð°Ñ‚Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ %s"
+
+-#: cp/typeck.c:6485 cp/typeck.c:6487
++#: cp/typeck.c:6512 cp/typeck.c:6514
+ #, fuzzy, gcc-internal-format
+ msgid "in passing argument %P of %q+D"
+ msgstr "при передаче аргумента %P функции `%+D'"
+
+-#: cp/typeck.c:6537
++#: cp/typeck.c:6564
+ #, gcc-internal-format
+ msgid "returning reference to temporary"
+ msgstr "возврат ÑÑылки на временную переменную"
+
+-#: cp/typeck.c:6544
++#: cp/typeck.c:6571
+ #, gcc-internal-format
+ msgid "reference to non-lvalue returned"
+ msgstr "возвращена ÑÑылка на не-lvalue-выражение"
+
+-#: cp/typeck.c:6560
++#: cp/typeck.c:6587
+ #, gcc-internal-format
+ msgid "reference to local variable %q+D returned"
+ msgstr "возвращена ÑÑылка на локальную переменную %q+D"
+
+-#: cp/typeck.c:6563
++#: cp/typeck.c:6590
+ #, gcc-internal-format
+ msgid "address of local variable %q+D returned"
+ msgstr "возвращен Ð°Ð´Ñ€ÐµÑ Ð»Ð¾ÐºÐ°Ð»ÑŒÐ½Ð¾Ð¹ переменной %q+D"
+
+-#: cp/typeck.c:6598
++#: cp/typeck.c:6625
+ #, gcc-internal-format
+ msgid "returning a value from a destructor"
+ msgstr "возвращен результат деÑтруктора"
+
+ #. If a return statement appears in a handler of the
+ #. function-try-block of a constructor, the program is ill-formed.
+-#: cp/typeck.c:6606
++#: cp/typeck.c:6633
+ #, gcc-internal-format
+ msgid "cannot return from a handler of a function-try-block of a constructor"
+ msgstr "возврат в обработчике try-блока конÑтруктора"
+
+ #. You can't return a value from a constructor.
+-#: cp/typeck.c:6609
++#: cp/typeck.c:6636
+ #, gcc-internal-format
+ msgid "returning a value from a constructor"
+ msgstr "возврат результата конÑтруктора"
+
+-#: cp/typeck.c:6633
++#: cp/typeck.c:6661
+ #, gcc-internal-format
+ msgid "return-statement with no value, in function returning %qT"
+ msgstr "return без Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ñ Ð² функции, возвращающей %qT"
+
+-#: cp/typeck.c:6654
++#: cp/typeck.c:6682
+ #, gcc-internal-format
+ msgid "return-statement with a value, in function returning 'void'"
+ msgstr "return Ñо значением в функции, возвращающей 'void'"
+
+-#: cp/typeck.c:6685
++#: cp/typeck.c:6713
+ #, gcc-internal-format
+ msgid "%<operator new%> must not return NULL unless it is declared %<throw()%> (or -fcheck-new is in effect)"
+ msgstr "%<operator new%> не должен возвращать NULL, еÑли только он не декларирован %<throw()%> (или задан ключ -fcheck-new)"
+@@ -32661,57 +32695,57 @@
+ msgid "pointer to member type %qT incompatible with object type %qT"
+ msgstr "тип Ñлемента `%T::' неÑовмеÑтим Ñ Ñ‚Ð¸Ð¿Ð¾Ð¼ объекта %qT"
+
+-#: cp/typeck2.c:1495
++#: cp/typeck2.c:1508
+ #, fuzzy, gcc-internal-format
+ msgid "call to function %qD which throws incomplete type %q#T"
+ msgstr "вызов функции %qD, ÐºÐ¾Ñ‚Ð¾Ñ€Ð°Ñ Ð²Ñ‹Ð·Ñ‹Ð²Ð°ÐµÑ‚ иÑключение неполного типа `%#T'"
+
+-#: cp/typeck2.c:1498
++#: cp/typeck2.c:1511
+ #, fuzzy, gcc-internal-format
+ msgid "call to function which throws incomplete type %q#T"
+ msgstr "вызов функции, ÐºÐ¾Ñ‚Ð¾Ñ€Ð°Ñ Ð²Ñ‹Ð·Ñ‹Ð²Ð°ÐµÑ‚ иÑключение неполного типа `%#T'"
+
+-#: fortran/f95-lang.c:233
++#: fortran/f95-lang.c:235
+ #, gcc-internal-format
+ msgid "Unexpected type in truthvalue_conversion"
+ msgstr ""
+
+-#: fortran/f95-lang.c:289
++#: fortran/f95-lang.c:291
+ #, fuzzy, gcc-internal-format
+ msgid "can't open input file: %s"
+ msgstr "ошибка Ð¾Ñ‚ÐºÑ€Ñ‹Ñ‚Ð¸Ñ Ð²Ñ…Ð¾Ð´Ð½Ð¾Ð³Ð¾ файла %qs"
+
+-#: fortran/f95-lang.c:629
++#: fortran/f95-lang.c:631
+ #, gcc-internal-format
+ msgid "global register variable %qs used in nested function"
+ msgstr "Ð³Ð»Ð¾Ð±Ð°Ð»ÑŒÐ½Ð°Ñ Ñ€ÐµÐ³Ð¸ÑÑ‚Ñ€Ð¾Ð²Ð°Ñ Ð¿ÐµÑ€ÐµÐ¼ÐµÐ½Ð½Ð°Ñ %qs иÑпользована во вложенной функции"
+
+-#: fortran/f95-lang.c:633
++#: fortran/f95-lang.c:635
+ #, gcc-internal-format
+ msgid "register variable %qs used in nested function"
+ msgstr "региÑÑ‚Ñ€Ð¾Ð²Ð°Ñ Ð¿ÐµÑ€ÐµÐ¼ÐµÐ½Ð½Ð°Ñ %qs иÑпользована во вложенной функции"
+
+-#: fortran/f95-lang.c:640
++#: fortran/f95-lang.c:642
+ #, gcc-internal-format
+ msgid "address of global register variable %qs requested"
+ msgstr "запрошен Ð°Ð´Ñ€ÐµÑ Ð³Ð»Ð¾Ð±Ð°Ð»ÑŒÐ½Ð¾Ð¹ региÑтровой переменной %qs"
+
+-#: fortran/f95-lang.c:658
++#: fortran/f95-lang.c:660
+ #, gcc-internal-format
+ msgid "address of register variable %qs requested"
+ msgstr "запрошен Ð°Ð´Ñ€ÐµÑ Ñ€ÐµÐ³Ð¸Ñтровой переменной %qs"
+
+-#: fortran/trans-array.c:3765
++#: fortran/trans-array.c:3805
+ #, gcc-internal-format
+ msgid "Possible frontend bug: array constructor not expanded"
+ msgstr ""
+
+-#: fortran/trans-array.c:5418
++#: fortran/trans-array.c:5499
+ #, gcc-internal-format
+ msgid "Possible frontend bug: Deferred array size without pointer, allocatable attribute or derived type without allocatable components."
+ msgstr ""
+
+-#: fortran/trans-array.c:5894
++#: fortran/trans-array.c:5975
+ #, gcc-internal-format
+ msgid "bad expression type during walk (%d)"
+ msgstr ""
+@@ -32721,27 +32755,27 @@
+ msgid "gfc_conv_constant_to_tree(): invalid type: %s"
+ msgstr ""
+
+-#: fortran/trans-decl.c:966
++#: fortran/trans-decl.c:972
+ #, gcc-internal-format
+ msgid "intrinsic variable which isn't a procedure"
+ msgstr ""
+
+-#: fortran/trans-decl.c:2639
++#: fortran/trans-decl.c:2644
+ #, fuzzy, gcc-internal-format
+ msgid "Function does not return a value"
+ msgstr "Ñ„ÑƒÐ½ÐºÑ†Ð¸Ñ Ð²Ð¾Ð·Ð²Ñ€Ð°Ñ‰Ð°ÐµÑ‚ значение не Ñтрокового типа"
+
+-#: fortran/trans-decl.c:2817
++#: fortran/trans-decl.c:2832
+ #, gcc-internal-format
+ msgid "backend decl for module variable %s already exists"
+ msgstr ""
+
+-#: fortran/trans-decl.c:3351
++#: fortran/trans-decl.c:3314
+ #, fuzzy, gcc-internal-format
+ msgid "Function return value not set"
+ msgstr "Ñ„ÑƒÐ½ÐºÑ†Ð¸Ñ Ð²Ð¾Ð·Ð²Ñ€Ð°Ñ‰Ð°ÐµÑ‚ агрегатное значение"
+
+-#: fortran/trans-expr.c:1163
++#: fortran/trans-expr.c:1177
+ #, fuzzy, gcc-internal-format
+ msgid "Unknown intrinsic op"
+ msgstr "Ð½ÐµÐºÐ¾Ñ€Ñ€ÐµÐºÑ‚Ð½Ð°Ñ Ð¼Ð¾Ð´Ð° инÑтрукции"
+@@ -32751,32 +32785,32 @@
+ msgid "Intrinsic function %s(%d) not recognized"
+ msgstr "%s: определение функции %qs не преобразовано\n"
+
+-#: fortran/trans-io.c:1928
++#: fortran/trans-io.c:1929
+ #, gcc-internal-format
+ msgid "Bad IO basetype (%d)"
+ msgstr "Ðекорректный базовый тип ввода-вывода (%d)"
+
+-#: fortran/trans-types.c:386
++#: fortran/trans-types.c:387
+ #, gcc-internal-format
+ msgid "integer kind=8 not available for -fdefault-integer-8 option"
+ msgstr ""
+
+-#: fortran/trans-types.c:409
++#: fortran/trans-types.c:410
+ #, gcc-internal-format
+ msgid "real kind=8 not available for -fdefault-real-8 option"
+ msgstr ""
+
+-#: fortran/trans-types.c:422
++#: fortran/trans-types.c:423
+ #, gcc-internal-format
+ msgid "Use of -fdefault-double-8 requires -fdefault-real-8"
+ msgstr ""
+
+-#: fortran/trans-types.c:1181
++#: fortran/trans-types.c:1185
+ #, fuzzy, gcc-internal-format
+ msgid "Array element size too big"
+ msgstr "Элемент маÑÑива в %0 вне диапазона, заданного в определении"
+
+-#: fortran/trans.c:1150
++#: fortran/trans.c:1151
+ #, gcc-internal-format
+ msgid "gfc_trans_code(): Bad statement code"
+ msgstr ""
+@@ -32836,88 +32870,88 @@
+ msgid "need to insert runtime check for %s"
+ msgstr "необходимо вÑтавить проверку %s на Ñтадии выполнениÑ"
+
+-#: java/expr.c:505 java/expr.c:552
++#: java/expr.c:524 java/expr.c:571
+ #, fuzzy, gcc-internal-format
+ msgid "assert: %s is assign compatible with %s"
+ msgstr "ключ -march=%s неÑовмеÑтим Ñ Ð²Ñ‹Ð±Ñ€Ð°Ð½Ð½Ñ‹Ð¼ ABI"
+
+-#: java/expr.c:670
++#: java/expr.c:689
+ #, gcc-internal-format
+ msgid "stack underflow - dup* operation"
+ msgstr "переполнение Ñтека - Ð¾Ð¿ÐµÑ€Ð°Ñ†Ð¸Ñ dup*"
+
+-#: java/expr.c:1657
++#: java/expr.c:1676
+ #, gcc-internal-format
+ msgid "reference %qs is ambiguous: appears in interface %qs and interface %qs"
+ msgstr "ÑÑылка %qs неоднозначна: имеетÑÑ Ð² интерфейÑе %qs и в интерфейÑе %qs"
+
+-#: java/expr.c:1685
++#: java/expr.c:1704
+ #, gcc-internal-format
+ msgid "field %qs not found"
+ msgstr "нет Ð¿Ð¾Ð»Ñ %qs"
+
+-#: java/expr.c:2224
++#: java/expr.c:2243
+ #, gcc-internal-format
+ msgid "method '%s' not found in class"
+ msgstr "метод '%s' отÑутÑтвует в клаÑÑе "
+
+-#: java/expr.c:2429
++#: java/expr.c:2448
+ #, gcc-internal-format
+ msgid "failed to find class '%s'"
+ msgstr "не найден клаÑÑ '%s'"
+
+-#: java/expr.c:2470
++#: java/expr.c:2489
+ #, gcc-internal-format
+ msgid "class '%s' has no method named '%s' matching signature '%s'"
+ msgstr "клаÑÑ '%s' не имеет метода Ñ Ð¸Ð¼ÐµÐ½ÐµÐ¼ '%s', ÑоответÑтвующим Ñигнатуре '%s'"
+
+-#: java/expr.c:2501
++#: java/expr.c:2520
+ #, gcc-internal-format
+ msgid "invokestatic on non static method"
+ msgstr "invokestatic применено к неÑтатичеÑкому методу"
+
+-#: java/expr.c:2506
++#: java/expr.c:2525
+ #, gcc-internal-format
+ msgid "invokestatic on abstract method"
+ msgstr "invokestatic применено к абÑтрактному методу"
+
+-#: java/expr.c:2514
++#: java/expr.c:2533
+ #, gcc-internal-format
+ msgid "invoke[non-static] on static method"
+ msgstr "invoke[non-static] применено к ÑтатичеÑкому методу"
+
+-#: java/expr.c:2865
++#: java/expr.c:2890
+ #, gcc-internal-format
+ msgid "missing field '%s' in '%s'"
+ msgstr "отÑутÑтвует поле '%s' в '%s'"
+
+-#: java/expr.c:2872
++#: java/expr.c:2897
+ #, gcc-internal-format
+ msgid "mismatching signature for field '%s' in '%s'"
+ msgstr "неÑоответÑтвие Ñигнатуры Ð´Ð»Ñ Ð¿Ð¾Ð»Ñ '%s' в '%s'"
+
+-#: java/expr.c:2901
++#: java/expr.c:2926
+ #, gcc-internal-format
+ msgid "assignment to final field %q+D not in field's class"
+ msgstr "приÑваивание финальному полю %q+D - не в клаÑÑе Ñтого полÑ"
+
+-#: java/expr.c:3123
++#: java/expr.c:3148
+ #, gcc-internal-format
+ msgid "invalid PC in line number table"
+ msgstr "некорректное значение PC в таблице номеров Ñтрок"
+
+-#: java/expr.c:3173
++#: java/expr.c:3198
+ #, gcc-internal-format
+ msgid "unreachable bytecode from %d to before %d"
+ msgstr "недоÑтижимый байткод от %d до %d"
+
+-#: java/expr.c:3217
++#: java/expr.c:3242
+ #, gcc-internal-format
+ msgid "unreachable bytecode from %d to the end of the method"
+ msgstr "недоÑтижимый байткод от %d до конца метода"
+
+ #. duplicate code from LOAD macro
+-#: java/expr.c:3522
++#: java/expr.c:3547
+ #, gcc-internal-format
+ msgid "unrecogized wide sub-instruction"
+ msgstr "Ð½ÐµÐºÐ¾Ñ€Ñ€ÐµÐºÑ‚Ð½Ð°Ñ ÑˆÐ¸Ñ€Ð¾ÐºÐ°Ñ Ñуб-инÑтрукциÑ"
+@@ -32983,27 +33017,27 @@
+ msgid "%Hduplicate class will only be compiled once"
+ msgstr "%Hповторно вÑтреченный клаÑÑ Ð±ÑƒÐ´ÐµÑ‚ Ñкомпилирован только один раз"
+
+-#: java/jcf-parse.c:1636
++#: java/jcf-parse.c:1638
+ #, gcc-internal-format
+ msgid "missing Code attribute"
+ msgstr "отÑутÑтвует атрибут Code"
+
+-#: java/jcf-parse.c:1858
++#: java/jcf-parse.c:1860
+ #, gcc-internal-format
+ msgid "no input file specified"
+ msgstr "не задано ни одного входного файла"
+
+-#: java/jcf-parse.c:1893
++#: java/jcf-parse.c:1895
+ #, gcc-internal-format
+ msgid "can't close input file %s: %m"
+ msgstr "ошибка при закрытии входного файла %s: %m"
+
+-#: java/jcf-parse.c:1940
++#: java/jcf-parse.c:1942
+ #, gcc-internal-format
+ msgid "bad zip/jar file %s"
+ msgstr "некорректный zip/jar файл %s"
+
+-#: java/jcf-parse.c:2145
++#: java/jcf-parse.c:2152
+ #, gcc-internal-format
+ msgid "error while reading %s from zip file"
+ msgstr "ошибка Ñ‡Ñ‚ÐµÐ½Ð¸Ñ %s из zip-файла"
+@@ -33013,22 +33047,22 @@
+ msgid "warning: already-compiled .class files ignored with -C"
+ msgstr "предупреждение: Ñкомпилированные .class файлы игнорируютÑÑ, еÑли задано -C"
+
+-#: java/lang.c:590
++#: java/lang.c:594
+ #, gcc-internal-format
+ msgid "-findirect-dispatch is incompatible with -freduced-reflection"
+ msgstr ""
+
+-#: java/lang.c:593
++#: java/lang.c:597
+ #, fuzzy, gcc-internal-format
+ msgid "-fjni is incompatible with -freduced-reflection"
+ msgstr "ключ -G неÑовмеÑтим Ñ PIC-кодом, который генерируетÑÑ Ð¿Ð¾ умолчанию"
+
+-#: java/lang.c:604
++#: java/lang.c:608
+ #, gcc-internal-format
+ msgid "can't do dependency tracking with input from stdin"
+ msgstr "отÑлеживание завиÑимоÑтей невозможно при вводе Ñо Ñтандартного ввода"
+
+-#: java/lang.c:620
++#: java/lang.c:624
+ #, gcc-internal-format
+ msgid "couldn't determine target name for dependency tracking"
+ msgstr "ошибка Ð¾Ð¿Ñ€ÐµÐ´ÐµÐ»ÐµÐ½Ð¸Ñ Ð¸Ð¼ÐµÐ½Ð¸ цели при отÑлеживании завиÑимоÑтей"
+@@ -33487,6 +33521,197 @@
+ msgid "%qD attribute ignored"
+ msgstr "атрибут %qD проигнорирован"
+
++#~ msgid "using CONST_DOUBLE for address"
++#~ msgstr "в качеÑтве адреÑа иÑпользуетÑÑ CONST_DOUBLE"
++
++#~ msgid "c4x_address_cost: Invalid addressing mode"
++#~ msgstr "c4x_address_cost: ÐÐµÐºÐ¾Ñ€Ñ€ÐµÐºÑ‚Ð½Ð°Ñ Ð°Ð´Ñ€ÐµÑациÑ"
++
++#~ msgid "c4x_print_operand: %%L inconsistency"
++#~ msgstr "c4x_print_operand: %%L-неÑовмеÑтимоÑÑ‚ÑŒ"
++
++#~ msgid "c4x_print_operand: %%N inconsistency"
++#~ msgstr "c4x_print_operand: %%N-неÑовмеÑтимоÑÑ‚ÑŒ"
++
++#~ msgid "c4x_print_operand: %%O inconsistency"
++#~ msgstr "c4x_print_operand: %%O-неÑовмеÑтимоÑÑ‚ÑŒ"
++
++#~ msgid "c4x_print_operand: Bad operand case"
++#~ msgstr "c4x_print_operand: Ðекорректный операнд"
++
++#~ msgid "c4x_print_operand_address: Bad post_modify"
++#~ msgstr "c4x_print_operand_address: ÐÐµÐºÐ¾Ñ€Ñ€ÐµÐºÑ‚Ð½Ð°Ñ Ð°Ð´Ñ€ÐµÑÐ°Ñ†Ð¸Ñ post_modify"
++
++#~ msgid "c4x_print_operand_address: Bad pre_modify"
++#~ msgstr "c4x_print_operand_address: ÐÐµÐºÐ¾Ñ€Ñ€ÐµÐºÑ‚Ð½Ð°Ñ Ð°Ð´Ñ€ÐµÑÐ°Ñ†Ð¸Ñ pre_modify"
++
++#~ msgid "c4x_print_operand_address: Bad operand case"
++#~ msgstr "c4x_print_operand_address: Ðекорректный операнд"
++
++#~ msgid "c4x_rptb_insert: Cannot find start label"
++#~ msgstr "c4x_rptb_insert: Ðе найдена ÑÑ‚Ð°Ñ€Ñ‚Ð¾Ð²Ð°Ñ Ð¼ÐµÑ‚ÐºÐ°"
++
++#~ msgid "invalid indirect memory address"
++#~ msgstr "ÐÐµÐºÐ¾Ñ€Ñ€ÐµÐºÑ‚Ð½Ð°Ñ ÐºÐ¾ÑÐ²ÐµÐ½Ð½Ð°Ñ Ð°Ð´Ñ€ÐµÑÐ°Ñ†Ð¸Ñ Ð¿Ð°Ð¼Ñти"
++
++#~ msgid "invalid indirect (S) memory address"
++#~ msgstr "ÐÐµÐºÐ¾Ñ€Ñ€ÐµÐºÑ‚Ð½Ð°Ñ ÐºÐ¾ÑÐ²ÐµÐ½Ð½Ð°Ñ Ð°Ð´Ñ€ÐµÑÐ°Ñ†Ð¸Ñ Ð¿Ð°Ð¼Ñти (S)"
++
++#~ msgid "c4x_valid_operands: Internal error"
++#~ msgstr "c4x_valid_operands: ВнутреннÑÑ Ð¾ÑˆÐ¸Ð±ÐºÐ°"
++
++#~ msgid "c4x_operand_subword: invalid mode"
++#~ msgstr "c4x_operand_subword: Ð½ÐµÐºÐ¾Ñ€Ñ€ÐµÐºÑ‚Ð½Ð°Ñ Ð¼Ð¾Ð´Ð°"
++
++#~ msgid "c4x_operand_subword: invalid operand"
++#~ msgstr "c4x_operand_subword: некорректный операнд"
++
++#~ msgid "c4x_operand_subword: invalid autoincrement"
++#~ msgstr "c4x_operand_subword: Ð½ÐµÐºÐ¾Ñ€Ñ€ÐµÐºÑ‚Ð½Ð°Ñ Ð°Ð²Ñ‚Ð¾Ð¸Ð½ÐºÑ€ÐµÐ¼ÐµÐ½Ñ‚Ð°Ñ†Ð¸Ñ"
++
++#~ msgid "c4x_operand_subword: invalid address"
++#~ msgstr "c4x_operand_subword: некорректный адреÑ"
++
++#~ msgid "c4x_operand_subword: address not offsettable"
++#~ msgstr "c4x_operand_subword: невозможно выполнить Ñмещение адреÑа"
++
++#~ msgid "c4x_rptb_rpts_p: Repeat block top label moved"
++#~ msgstr "c4x_rptb_rpts_p: Метка заголовка повторÑющегоÑÑ Ð±Ð»Ð¾ÐºÐ° перемещена"
++
++#, fuzzy
++#~ msgid "Inquiry function '%s' at %L is not permitted in an initialization expression"
++#~ msgstr "%Jфинальное поле '%D', возможно, не было инициализировано"
++
++#~ msgid "Generate code for C30 CPU"
++#~ msgstr "Генерировать код Ð´Ð»Ñ Ð¿Ñ€Ð¾Ñ†ÐµÑÑора C30"
++
++#~ msgid "Generate code for C31 CPU"
++#~ msgstr "Генерировать код Ð´Ð»Ñ Ð¿Ñ€Ð¾Ñ†ÐµÑÑора C31"
++
++#~ msgid "Generate code for C32 CPU"
++#~ msgstr "Генерировать код Ð´Ð»Ñ Ð¿Ñ€Ð¾Ñ†ÐµÑÑора C32"
++
++#~ msgid "Generate code for C33 CPU"
++#~ msgstr "Генерировать код Ð´Ð»Ñ Ð¿Ñ€Ð¾Ñ†ÐµÑÑора C33"
++
++#~ msgid "Generate code for C40 CPU"
++#~ msgstr "Генерировать код Ð´Ð»Ñ Ð¿Ñ€Ð¾Ñ†ÐµÑÑора C40"
++
++#~ msgid "Generate code for C44 CPU"
++#~ msgstr "Генерировать код Ð´Ð»Ñ Ð¿Ñ€Ð¾Ñ†ÐµÑÑора C44"
++
++#~ msgid "Assume that pointers may be aliased"
++#~ msgstr "Считать, что указатели могут указывать на общую памÑÑ‚ÑŒ"
++
++#~ msgid "Big memory model"
++#~ msgstr "Модель большой памÑти"
++
++#~ msgid "Use the BK register as a general purpose register"
++#~ msgstr "ИÑпользовать региÑÑ‚Ñ€ BK как региÑÑ‚Ñ€ общего назначениÑ"
++
++#~ msgid "Generate code for CPU"
++#~ msgstr "Генерировать код Ð´Ð»Ñ Ð·Ð°Ð´Ð°Ð½Ð½Ð¾Ð³Ð¾ процеÑÑора"
++
++#~ msgid "Enable use of DB instruction"
++#~ msgstr "ИÑпользовать команду DB"
++
++#~ msgid "Enable debugging"
++#~ msgstr "Включить режим отладки"
++
++#~ msgid "Enable new features under development"
++#~ msgstr "Включить новые ÑредÑтва, находÑщиеÑÑ Ð² Ñтадии разработки"
++
++#~ msgid "Use fast but approximate float to integer conversion"
++#~ msgstr "ИÑпользовать быÑтрое, но неточное преобразование плавающих в целые"
++
++#~ msgid "Force RTL generation to emit valid 3 operand insns"
++#~ msgstr "ФорÑировать генерацию RTL Ñ Ð¿Ñ€Ð°Ð²Ð¸Ð»ÑŒÐ½Ñ‹Ð¼Ð¸ 3-операндными инÑтрукциÑми"
++
++#~ msgid "Force constants into registers to improve hoisting"
++#~ msgstr "Принудительно помещать конÑтанты на региÑтры Ð´Ð»Ñ Ð¿Ð¾Ð²Ñ‹ÑˆÐµÐ½Ð¸Ñ ÑƒÐ½Ð¸Ñ„Ð¸ÐºÐ°Ñ†Ð¸Ð¸"
++
++#~ msgid "Save DP across ISR in small memory model"
++#~ msgstr "Размещать Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ñ Ð´Ð²Ð¾Ð¹Ð½Ð¾Ð¹ точноÑти на границе ISR в модели малой памÑти"
++
++#~ msgid "Allow unsigned iteration counts for RPTB/DB"
++#~ msgstr "Разрешить беззнаковые Ñчётчики итераций Ð´Ð»Ñ RPTB/DB"
++
++#~ msgid "Pass arguments on the stack"
++#~ msgstr "Передавать аргументы в Ñтеке"
++
++#~ msgid "Use MPYI instruction for C3x"
++#~ msgstr "ИÑпользовать MPYI Ð´Ð»Ñ C3x"
++
++#~ msgid "Enable parallel instructions"
++#~ msgstr "Включить генерацию параллельного кода"
++
++#~ msgid "Enable MPY||ADD and MPY||SUB instructions"
++#~ msgstr "ИÑпользовать команды MPY||ADD, MPY||SUB"
++
++#~ msgid "Preserve all 40 bits of FP reg across call"
++#~ msgstr "СохранÑÑ‚ÑŒ вÑе 40 бит плавающего региÑтра при вызовах"
++
++#~ msgid "Pass arguments in registers"
++#~ msgstr "Передавать аргументы на региÑтрах"
++
++#~ msgid "Enable use of RTPB instruction"
++#~ msgstr "ИÑпользовать команды RTPB"
++
++#~ msgid "Enable use of RTPS instruction"
++#~ msgstr "ИÑпользовать команды RTPS"
++
++#~ msgid "Set the maximum number of iterations for RPTS to N"
++#~ msgstr "Задать макÑимальное чиÑло итераций Ð´Ð»Ñ RPTS"
++
++#~ msgid "Small memory model"
++#~ msgstr "Модель малой памÑти"
++
++#~ msgid "Emit code compatible with TI tools"
++#~ msgstr "Генерировать код, ÑовмеÑтимый Ñ Ñ„Ð¸Ñ€Ð¼ÐµÐ½Ð½Ñ‹Ð¼Ð¸ инÑтрументами TI"
++
++#~ msgid "Copy memory address constants into registers before use"
++#~ msgstr "Перед иÑпользованием адреÑных конÑтант, копировать их в региÑтры"
++
++#, fuzzy
++#~ msgid "This switch is obsolete"
++#~ msgstr "Этот ключ не документирован"
++
++#~ msgid "static or type qualifiers in abstract declarator"
++#~ msgstr "Ñлово static или квалификаторы типов в абÑтрактном деклараторе"
++
++#~ msgid "missing '(' after '#pragma %s' - ignored"
++#~ msgstr "отÑутÑтвует '(' поÑле '#pragma %s' - директива игнорируетÑÑ"
++
++#~ msgid "missing function name in '#pragma %s' - ignored"
++#~ msgstr "отÑутÑтвует Ð¸Ð¼Ñ Ñ„ÑƒÐ½ÐºÑ†Ð¸Ð¸ в '#pragma %s' - директива игнорируетÑÑ"
++
++#~ msgid "malformed '#pragma %s' - ignored"
++#~ msgstr "некорректный ÑинтакÑÐ¸Ñ '#pragma %s' - директива игнорируетÑÑ"
++
++#~ msgid "missing section name in '#pragma %s' - ignored"
++#~ msgstr "отÑутÑтвует Ð¸Ð¼Ñ Ñекции в '#pragma %s' - директива игнорируетÑÑ"
++
++#~ msgid "missing ')' for '#pragma %s' - ignored"
++#~ msgstr "отÑутÑтвует ')' в '#pragma %s' - директива игнорируетÑÑ"
++
++#~ msgid "junk at end of '#pragma %s'"
++#~ msgstr "муÑор в конце '#pragma %s'"
++
++#~ msgid "ISR %s requires %d words of local vars, max is 32767"
++#~ msgstr "ISR %s требует %d Ñлов локальных переменных, а макÑимум = 32767"
++
++#, fuzzy
++#~ msgid "constant halfword load operand out of range"
++#~ msgstr "КонÑтантный операнд загрузки полуÑлова - вне диапазона"
++
++#, fuzzy
++#~ msgid "constant arithmetic operand out of range"
++#~ msgstr "КонÑтантный операнд арифметичеÑкой операции - вне диапазона"
++
++#, fuzzy
++#~ msgid "used %d template parameter(s) instead of %d"
++#~ msgstr "иÑпользовано %d параметров%s шаблона вмеÑто %d"
++
+ #~ msgid "Attempt to delete prologue/epilogue insn:"
+ #~ msgstr "попытка ÑƒÐ´Ð°Ð»ÐµÐ½Ð¸Ñ RTL-инÑтрукции из пролога/Ñпилога:"
+
+Index: gcc/po/be.po
+===================================================================
+--- gcc/po/be.po (.../tags/gcc_4_3_0_release) (revision 133808)
++++ gcc/po/be.po (.../branches/gcc-4_3-branch) (revision 133808)
+@@ -6,7 +6,7 @@
+ msgstr ""
+ "Project-Id-Version: gcc 3.1\n"
+ "Report-Msgid-Bugs-To: http://gcc.gnu.org/bugs.html\n"
+-"POT-Creation-Date: 2007-11-08 21:09+0000\n"
++"POT-Creation-Date: 2008-03-05 17:23+0100\n"
+ "PO-Revision-Date: 2002-05-17 15:54+0200\n"
+ "Last-Translator: Ales Nyakhaychyk <nyakhaychyk@i18n.linux.by>\n"
+ "Language-Team: Belarusian <i18n@tut.by>\n"
+@@ -14,7 +14,7 @@
+ "Content-Type: text/plain; charset=utf-8\n"
+ "Content-Transfer-Encoding: 8bit\n"
+
+-#: c-decl.c:3814
++#: c-decl.c:3813
+ msgid "<anonymous>"
+ msgstr ""
+
+@@ -312,53 +312,53 @@
+ msgid "End of search list.\n"
+ msgstr ""
+
+-#: c-opts.c:1484
++#: c-opts.c:1505
+ msgid "<built-in>"
+ msgstr ""
+
+-#: c-opts.c:1502
++#: c-opts.c:1523
+ msgid "<command-line>"
+ msgstr ""
+
+-#: c-typeck.c:2448 c-typeck.c:4851 c-typeck.c:4853 c-typeck.c:4861
+-#: c-typeck.c:4891 c-typeck.c:6267
++#: c-typeck.c:2459 c-typeck.c:4862 c-typeck.c:4864 c-typeck.c:4872
++#: c-typeck.c:4902 c-typeck.c:6278
+ msgid "initializer element is not constant"
+ msgstr ""
+
+-#: c-typeck.c:4654
++#: c-typeck.c:4665
+ msgid "array initialized from parenthesized string constant"
+ msgstr ""
+
+-#: c-typeck.c:4715 cp/typeck2.c:677
++#: c-typeck.c:4726 cp/typeck2.c:677
+ #, gcc-internal-format
+ msgid "char-array initialized from wide string"
+ msgstr ""
+
+-#: c-typeck.c:4720
++#: c-typeck.c:4731
+ msgid "wchar_t-array initialized from non-wide string"
+ msgstr ""
+
+-#: c-typeck.c:4738 cp/typeck2.c:697
++#: c-typeck.c:4749 cp/typeck2.c:697
+ #, gcc-internal-format
+ msgid "initializer-string for array of chars is too long"
+ msgstr ""
+
+-#: c-typeck.c:4744
++#: c-typeck.c:4755
+ msgid "array of inappropriate type initialized from string constant"
+ msgstr ""
+
+ #. ??? This should not be an error when inlining calls to
+ #. unprototyped functions.
+-#: c-typeck.c:4808 c-typeck.c:4333 cp/typeck.c:1528
++#: c-typeck.c:4819 c-typeck.c:4344 cp/typeck.c:1574
+ #, gcc-internal-format
+ msgid "invalid use of non-lvalue array"
+ msgstr ""
+
+-#: c-typeck.c:4834
++#: c-typeck.c:4845
+ msgid "array initialized from non-constant array expression"
+ msgstr ""
+
+-#: c-typeck.c:4898 c-typeck.c:6271
++#: c-typeck.c:4909 c-typeck.c:6282
+ #, gcc-internal-format
+ msgid "initializer element is not computable at load time"
+ msgstr ""
+@@ -367,142 +367,142 @@
+ #. of VLAs themselves count as VLAs, it does not make
+ #. sense to permit them to be initialized given that
+ #. ordinary VLAs may not be initialized.
+-#: c-typeck.c:4909 c-decl.c:3222 c-decl.c:3237
++#: c-typeck.c:4920 c-decl.c:3220 c-decl.c:3235
+ #, gcc-internal-format
+ msgid "variable-sized object may not be initialized"
+ msgstr ""
+
+-#: c-typeck.c:4913
++#: c-typeck.c:4924
+ msgid "invalid initializer"
+ msgstr "нерÑчаіÑны ініцыÑлізатар"
+
+-#: c-typeck.c:5387
++#: c-typeck.c:5398
+ msgid "extra brace group at end of initializer"
+ msgstr ""
+
+-#: c-typeck.c:5407
++#: c-typeck.c:5418
+ msgid "missing braces around initializer"
+ msgstr ""
+
+-#: c-typeck.c:5468
++#: c-typeck.c:5479
+ msgid "braces around scalar initializer"
+ msgstr ""
+
+-#: c-typeck.c:5525
++#: c-typeck.c:5536
+ msgid "initialization of flexible array member in a nested context"
+ msgstr ""
+
+-#: c-typeck.c:5527
++#: c-typeck.c:5538
+ msgid "initialization of a flexible array member"
+ msgstr ""
+
+-#: c-typeck.c:5554
++#: c-typeck.c:5565
+ msgid "missing initializer"
+ msgstr "прапушчан ініцыÑлізатар"
+
+-#: c-typeck.c:5576
++#: c-typeck.c:5587
+ msgid "empty scalar initializer"
+ msgstr ""
+
+-#: c-typeck.c:5581
++#: c-typeck.c:5592
+ msgid "extra elements in scalar initializer"
+ msgstr ""
+
+-#: c-typeck.c:5678 c-typeck.c:5738
++#: c-typeck.c:5689 c-typeck.c:5749
+ msgid "array index in non-array initializer"
+ msgstr ""
+
+-#: c-typeck.c:5683 c-typeck.c:5791
++#: c-typeck.c:5694 c-typeck.c:5802
+ msgid "field name not in record or union initializer"
+ msgstr ""
+
+-#: c-typeck.c:5729
++#: c-typeck.c:5740
+ #, fuzzy
+ msgid "array index in initializer not of integer type"
+ msgstr "\"%s\" мае незавершаны тып"
+
+-#: c-typeck.c:5734 c-typeck.c:5736
++#: c-typeck.c:5745 c-typeck.c:5747
+ msgid "nonconstant array index in initializer"
+ msgstr ""
+
+-#: c-typeck.c:5740 c-typeck.c:5743
++#: c-typeck.c:5751 c-typeck.c:5754
+ msgid "array index in initializer exceeds array bounds"
+ msgstr ""
+
+-#: c-typeck.c:5754
++#: c-typeck.c:5765
+ msgid "empty index range in initializer"
+ msgstr ""
+
+-#: c-typeck.c:5763
++#: c-typeck.c:5774
+ msgid "array index range in initializer exceeds array bounds"
+ msgstr ""
+
+-#: c-typeck.c:5838 c-typeck.c:5861 c-typeck.c:6335
++#: c-typeck.c:5849 c-typeck.c:5872 c-typeck.c:6346
+ msgid "initialized field with side-effects overwritten"
+ msgstr ""
+
+-#: c-typeck.c:5840 c-typeck.c:5863 c-typeck.c:6337
++#: c-typeck.c:5851 c-typeck.c:5874 c-typeck.c:6348
+ msgid "initialized field overwritten"
+ msgstr ""
+
+-#: c-typeck.c:6545
++#: c-typeck.c:6556
+ msgid "excess elements in char array initializer"
+ msgstr ""
+
+-#: c-typeck.c:6552 c-typeck.c:6598
++#: c-typeck.c:6563 c-typeck.c:6609
+ msgid "excess elements in struct initializer"
+ msgstr ""
+
+-#: c-typeck.c:6613
++#: c-typeck.c:6624
+ msgid "non-static initialization of a flexible array member"
+ msgstr ""
+
+-#: c-typeck.c:6681
++#: c-typeck.c:6692
+ msgid "excess elements in union initializer"
+ msgstr ""
+
+-#: c-typeck.c:6768
++#: c-typeck.c:6779
+ msgid "excess elements in array initializer"
+ msgstr ""
+
+-#: c-typeck.c:6798
++#: c-typeck.c:6809
+ msgid "excess elements in vector initializer"
+ msgstr ""
+
+-#: c-typeck.c:6822
++#: c-typeck.c:6833
+ msgid "excess elements in scalar initializer"
+ msgstr ""
+
+-#: cfgrtl.c:1925
++#: cfgrtl.c:1923
+ msgid "flow control insn inside a basic block"
+ msgstr ""
+
+-#: cfgrtl.c:2054
++#: cfgrtl.c:2052
+ msgid "wrong insn in the fallthru edge"
+ msgstr ""
+
+-#: cfgrtl.c:2110
++#: cfgrtl.c:2108
+ msgid "insn outside basic block"
+ msgstr ""
+
+-#: cfgrtl.c:2117
++#: cfgrtl.c:2115
+ msgid "return not followed by barrier"
+ msgstr ""
+
+-#: cgraph.c:339 ipa-inline.c:417
++#: cgraph.c:340 ipa-inline.c:417
+ msgid "function body not available"
+ msgstr ""
+
+-#: cgraph.c:341 cgraphbuild.c:96
++#: cgraph.c:342 cgraphbuild.c:96
+ msgid "redefined extern inline functions are not considered for inlining"
+ msgstr ""
+
+-#: cgraph.c:344 cgraphbuild.c:103
++#: cgraph.c:345 cgraphbuild.c:103
+ #, fuzzy
+ msgid "function not considered for inlining"
+ msgstr "Ð²Ñ–Ñ€Ñ‚ÑƒÐ°Ð»ÑŒÐ½Ñ‹Ñ Ñ„ÑƒÐ½ÐºÑ†Ñ‹Ñ– не могуць быць ÑÑброўÑкімі"
+
+-#: cgraph.c:346 cgraphbuild.c:99
++#: cgraph.c:347 cgraphbuild.c:99
+ msgid "function not inlinable"
+ msgstr ""
+
+@@ -511,146 +511,146 @@
+ msgid "mismatched arguments"
+ msgstr "нÑма аргументаў"
+
+-#: collect2.c:378 gcc.c:6897
++#: collect2.c:382 gcc.c:6896
+ #, fuzzy, c-format
+ msgid "internal gcc abort in %s, at %s:%d"
+ msgstr "Ñпынена Ñž %s, Ð»Ñ %s:%d"
+
+-#: collect2.c:889
++#: collect2.c:903
+ #, c-format
+ msgid "no arguments"
+ msgstr "нÑма аргументаў"
+
+-#: collect2.c:1263 collect2.c:1411 collect2.c:1446
++#: collect2.c:1277 collect2.c:1425 collect2.c:1460
+ #, c-format
+ msgid "fopen %s"
+ msgstr ""
+
+-#: collect2.c:1266 collect2.c:1416 collect2.c:1449
++#: collect2.c:1280 collect2.c:1430 collect2.c:1463
+ #, c-format
+ msgid "fclose %s"
+ msgstr ""
+
+-#: collect2.c:1275
++#: collect2.c:1289
+ #, c-format
+ msgid "collect2 version %s"
+ msgstr ""
+
+-#: collect2.c:1365
++#: collect2.c:1379
+ #, c-format
+ msgid "%d constructor(s) found\n"
+ msgstr "%d канÑтруктар(аў) знойдзен(а)\n"
+
+-#: collect2.c:1366
++#: collect2.c:1380
+ #, c-format
+ msgid "%d destructor(s) found\n"
+ msgstr "%d дÑÑтруктар(аў) знойдзен(а)\n"
+
+-#: collect2.c:1367
++#: collect2.c:1381
+ #, c-format
+ msgid "%d frame table(s) found\n"
+ msgstr ""
+
+-#: collect2.c:1504
++#: collect2.c:1518
+ #, c-format
+ msgid "can't get program status"
+ msgstr ""
+
+-#: collect2.c:1573
++#: collect2.c:1587
+ #, fuzzy, c-format
+ msgid "could not open response file %s"
+ msgstr "не магу знайÑці крыніцу %s\n"
+
+-#: collect2.c:1578
++#: collect2.c:1592
+ #, fuzzy, c-format
+ msgid "could not write to response file %s"
+ msgstr "не магу знайÑці крыніцу %s\n"
+
+-#: collect2.c:1583
++#: collect2.c:1597
+ #, fuzzy, c-format
+ msgid "could not close response file %s"
+ msgstr "не магу знайÑці крыніцу %s\n"
+
+-#: collect2.c:1601
++#: collect2.c:1615
+ #, c-format
+ msgid "[cannot find %s]"
+ msgstr "[нельга знайÑці %s]"
+
+-#: collect2.c:1616
++#: collect2.c:1630
+ #, fuzzy, c-format
+ msgid "cannot find '%s'"
+ msgstr "нельга знайÑці \"%s\""
+
+-#: collect2.c:1620 collect2.c:2112 collect2.c:2267 gcc.c:2978
++#: collect2.c:1634 collect2.c:2126 collect2.c:2281 gcc.c:2974
+ #, c-format
+ msgid "pex_init failed"
+ msgstr ""
+
+-#: collect2.c:1658
++#: collect2.c:1672
+ #, c-format
+ msgid "[Leaving %s]\n"
+ msgstr ""
+
+-#: collect2.c:1878
++#: collect2.c:1892
+ #, c-format
+ msgid ""
+ "\n"
+ "write_c_file - output name is %s, prefix is %s\n"
+ msgstr ""
+
+-#: collect2.c:2086
++#: collect2.c:2100
+ #, fuzzy, c-format
+ msgid "cannot find 'nm'"
+ msgstr "нельга знайÑці \"nm\""
+
+-#: collect2.c:2133
++#: collect2.c:2147
+ #, fuzzy, c-format
+ msgid "can't open nm output"
+ msgstr "немагчыма адчыніць файл уводу `%s'"
+
+-#: collect2.c:2177
++#: collect2.c:2191
+ #, c-format
+ msgid "init function found in object %s"
+ msgstr ""
+
+-#: collect2.c:2185
++#: collect2.c:2199
+ #, c-format
+ msgid "fini function found in object %s"
+ msgstr ""
+
+-#: collect2.c:2288
++#: collect2.c:2302
+ #, fuzzy, c-format
+ msgid "can't open ldd output"
+ msgstr "немагчыма адчыніць файл уводу `%s'"
+
+-#: collect2.c:2291
++#: collect2.c:2305
+ #, c-format
+ msgid ""
+ "\n"
+ "ldd output with constructors/destructors.\n"
+ msgstr ""
+
+-#: collect2.c:2306
++#: collect2.c:2320
+ #, c-format
+ msgid "dynamic dependency %s not found"
+ msgstr ""
+
+-#: collect2.c:2318
++#: collect2.c:2332
+ #, c-format
+ msgid "unable to open dynamic dependency '%s'"
+ msgstr ""
+
+-#: collect2.c:2474
++#: collect2.c:2488
+ #, c-format
+ msgid "%s: not a COFF file"
+ msgstr ""
+
+-#: collect2.c:2594
++#: collect2.c:2608
+ #, c-format
+ msgid "%s: cannot open as COFF file"
+ msgstr ""
+
+-#: collect2.c:2652
++#: collect2.c:2666
+ #, fuzzy, c-format
+ msgid "library lib%s not found"
+ msgstr "БібліÑÑ‚Ñка lib%s не знойдзена"
+@@ -697,41 +697,41 @@
+ msgid "negative insn length"
+ msgstr ""
+
+-#: final.c:2609
++#: final.c:2615
+ msgid "could not split insn"
+ msgstr ""
+
+-#: final.c:2979
++#: final.c:2992
+ #, fuzzy
+ msgid "invalid 'asm': "
+ msgstr "нерÑчаіÑÐ½Ð°Ñ Ð¼Ð°Ñка"
+
+-#: final.c:3162
++#: final.c:3175
+ #, c-format
+ msgid "nested assembly dialect alternatives"
+ msgstr ""
+
+-#: final.c:3179 final.c:3191
++#: final.c:3192 final.c:3204
+ #, c-format
+ msgid "unterminated assembly dialect alternative"
+ msgstr ""
+
+-#: final.c:3238
++#: final.c:3251
+ #, c-format
+ msgid "operand number missing after %%-letter"
+ msgstr ""
+
+-#: final.c:3241 final.c:3282
++#: final.c:3254 final.c:3295
+ #, c-format
+ msgid "operand number out of range"
+ msgstr ""
+
+-#: final.c:3301
++#: final.c:3314
+ #, c-format
+ msgid "invalid %%-code"
+ msgstr "нерÑчаіÑны %%-код"
+
+-#: final.c:3331
++#: final.c:3344
+ #, c-format
+ msgid "'%%l' operand isn't a label"
+ msgstr ""
+@@ -742,13 +742,13 @@
+ #. handle them.
+ #. We can't handle floating point constants;
+ #. PRINT_OPERAND must handle them.
+-#: final.c:3433 vmsdbgout.c:487 config/i386/i386.c:8143
++#: final.c:3446 vmsdbgout.c:487 config/i386/i386.c:8198
+ #: config/pdp11/pdp11.c:1704
+ #, c-format
+ msgid "floating constant misused"
+ msgstr ""
+
+-#: final.c:3493 vmsdbgout.c:544 config/i386/i386.c:8224
++#: final.c:3507 vmsdbgout.c:544 config/i386/i386.c:8279
+ #: config/pdp11/pdp11.c:1751
+ #, c-format
+ msgid "invalid expression as operand"
+@@ -759,102 +759,102 @@
+ msgid "Using built-in specs.\n"
+ msgstr ""
+
+-#: gcc.c:1887
++#: gcc.c:1883
+ #, c-format
+ msgid ""
+ "Setting spec %s to '%s'\n"
+ "\n"
+ msgstr ""
+
+-#: gcc.c:2002
++#: gcc.c:1998
+ #, c-format
+ msgid "Reading specs from %s\n"
+ msgstr ""
+
+-#: gcc.c:2098 gcc.c:2117
++#: gcc.c:2094 gcc.c:2113
+ #, c-format
+ msgid "specs %%include syntax malformed after %ld characters"
+ msgstr ""
+
+-#: gcc.c:2125
++#: gcc.c:2121
+ #, fuzzy, c-format
+ msgid "could not find specs file %s\n"
+ msgstr "не магу знайÑці крыніцу %s\n"
+
+-#: gcc.c:2142 gcc.c:2150 gcc.c:2159 gcc.c:2168
++#: gcc.c:2138 gcc.c:2146 gcc.c:2155 gcc.c:2164
+ #, c-format
+ msgid "specs %%rename syntax malformed after %ld characters"
+ msgstr ""
+
+-#: gcc.c:2177
++#: gcc.c:2173
+ #, c-format
+ msgid "specs %s spec was not found to be renamed"
+ msgstr ""
+
+-#: gcc.c:2184
++#: gcc.c:2180
+ #, c-format
+ msgid "%s: attempt to rename spec '%s' to already defined spec '%s'"
+ msgstr ""
+
+-#: gcc.c:2189
++#: gcc.c:2185
+ #, c-format
+ msgid "rename spec %s to %s\n"
+ msgstr ""
+
+-#: gcc.c:2191
++#: gcc.c:2187
+ #, c-format
+ msgid ""
+ "spec is '%s'\n"
+ "\n"
+ msgstr ""
+
+-#: gcc.c:2204
++#: gcc.c:2200
+ #, c-format
+ msgid "specs unknown %% command after %ld characters"
+ msgstr ""
+
+-#: gcc.c:2215 gcc.c:2228
++#: gcc.c:2211 gcc.c:2224
+ #, c-format
+ msgid "specs file malformed after %ld characters"
+ msgstr ""
+
+-#: gcc.c:2281
++#: gcc.c:2277
+ #, c-format
+ msgid "spec file has no spec for linking"
+ msgstr ""
+
+-#: gcc.c:2609 gcc.c:4751
++#: gcc.c:2605 gcc.c:4745
+ #, c-format
+ msgid "%s\n"
+ msgstr "%s\n"
+
+-#: gcc.c:2809
++#: gcc.c:2805
+ #, c-format
+ msgid "system path '%s' is not absolute"
+ msgstr ""
+
+-#: gcc.c:2872
++#: gcc.c:2868
+ #, c-format
+ msgid "-pipe not supported"
+ msgstr "-pipe не падтрымліваецца"
+
+-#: gcc.c:2934
++#: gcc.c:2930
+ #, c-format
+ msgid ""
+ "\n"
+ "Go ahead? (y or n) "
+ msgstr ""
+
+-#: gcc.c:3017
++#: gcc.c:3013
+ msgid "failed to get exit status"
+ msgstr ""
+
+-#: gcc.c:3023
++#: gcc.c:3019
+ #, fuzzy
+ msgid "failed to get process times"
+ msgstr "не знойдзен ÐºÐ»Ð°Ñ \"%s\""
+
+-#: gcc.c:3049
++#: gcc.c:3045
+ #, c-format
+ msgid ""
+ "Internal error: %s (program %s)\n"
+@@ -862,184 +862,184 @@
+ "See %s for instructions."
+ msgstr ""
+
+-#: gcc.c:3075
++#: gcc.c:3071
+ #, c-format
+ msgid "# %s %.2f %.2f\n"
+ msgstr "# %s %.2f %.2f\n"
+
+-#: gcc.c:3211
++#: gcc.c:3205
+ #, c-format
+ msgid "Usage: %s [options] file...\n"
+ msgstr "ВыкарыÑтанне: %s [выбары] файл...\n"
+
+-#: gcc.c:3212
++#: gcc.c:3206
+ msgid "Options:\n"
+ msgstr "Выбары:\n"
+
+-#: gcc.c:3214
++#: gcc.c:3208
+ msgid " -pass-exit-codes Exit with highest error code from a phase\n"
+ msgstr ""
+
+-#: gcc.c:3215
++#: gcc.c:3209
+ msgid " --help Display this information\n"
+ msgstr " --help ÐдлюÑтраваць гÑту інфармацыю\n"
+
+-#: gcc.c:3216
++#: gcc.c:3210
+ msgid " --target-help Display target specific command line options\n"
+ msgstr ""
+
+-#: gcc.c:3217
++#: gcc.c:3211
+ msgid " --help={target|optimizers|warnings|undocumented|params}[,{[^]joined|[^]separate}]\n"
+ msgstr ""
+
+-#: gcc.c:3218
++#: gcc.c:3212
+ #, fuzzy
+ msgid " Display specific types of command line options\n"
+ msgstr " --help ÐдлюÑтраваць гÑту інфармацыю\n"
+
+-#: gcc.c:3220
++#: gcc.c:3214
+ msgid " (Use '-v --help' to display command line options of sub-processes)\n"
+ msgstr ""
+
+-#: gcc.c:3221
++#: gcc.c:3215
+ msgid " -dumpspecs Display all of the built in spec strings\n"
+ msgstr ""
+
+-#: gcc.c:3222
++#: gcc.c:3216
+ msgid " -dumpversion Display the version of the compiler\n"
+ msgstr " -dumpversion ÐдлюÑтраваць верÑÑ–ÑŽ кампілÑтара\n"
+
+-#: gcc.c:3223
++#: gcc.c:3217
+ msgid " -dumpmachine Display the compiler's target processor\n"
+ msgstr ""
+
+-#: gcc.c:3224
++#: gcc.c:3218
+ msgid " -print-search-dirs Display the directories in the compiler's search path\n"
+ msgstr ""
+
+-#: gcc.c:3225
++#: gcc.c:3219
+ msgid " -print-libgcc-file-name Display the name of the compiler's companion library\n"
+ msgstr ""
+
+-#: gcc.c:3226
++#: gcc.c:3220
+ msgid " -print-file-name=<lib> Display the full path to library <lib>\n"
+ msgstr ""
+
+-#: gcc.c:3227
++#: gcc.c:3221
+ msgid " -print-prog-name=<prog> Display the full path to compiler component <prog>\n"
+ msgstr ""
+
+-#: gcc.c:3228
++#: gcc.c:3222
+ msgid " -print-multi-directory Display the root directory for versions of libgcc\n"
+ msgstr ""
+
+-#: gcc.c:3229
++#: gcc.c:3223
+ msgid ""
+ " -print-multi-lib Display the mapping between command line options and\n"
+ " multiple library search directories\n"
+ msgstr ""
+
+-#: gcc.c:3232
++#: gcc.c:3226
+ msgid " -print-multi-os-directory Display the relative path to OS libraries\n"
+ msgstr ""
+
+-#: gcc.c:3233
++#: gcc.c:3227
+ msgid " -print-sysroot-headers-suffix Display the sysroot suffix used to find headers\n"
+ msgstr ""
+
+-#: gcc.c:3234
++#: gcc.c:3228
+ msgid " -Wa,<options> Pass comma-separated <options> on to the assembler\n"
+ msgstr ""
+
+-#: gcc.c:3235
++#: gcc.c:3229
+ msgid " -Wp,<options> Pass comma-separated <options> on to the preprocessor\n"
+ msgstr ""
+
+-#: gcc.c:3236
++#: gcc.c:3230
+ msgid " -Wl,<options> Pass comma-separated <options> on to the linker\n"
+ msgstr ""
+
+-#: gcc.c:3237
++#: gcc.c:3231
+ msgid " -Xassembler <arg> Pass <arg> on to the assembler\n"
+ msgstr ""
+
+-#: gcc.c:3238
++#: gcc.c:3232
+ msgid " -Xpreprocessor <arg> Pass <arg> on to the preprocessor\n"
+ msgstr ""
+
+-#: gcc.c:3239
++#: gcc.c:3233
+ msgid " -Xlinker <arg> Pass <arg> on to the linker\n"
+ msgstr ""
+
+-#: gcc.c:3240
++#: gcc.c:3234
+ #, fuzzy
+ msgid " -combine Pass multiple source files to compiler at once\n"
+ msgstr " -o <файл> ПамÑÑціць вывад у <файл>\n"
+
+-#: gcc.c:3241
++#: gcc.c:3235
+ msgid " -save-temps Do not delete intermediate files\n"
+ msgstr ""
+
+-#: gcc.c:3242
++#: gcc.c:3236
+ msgid " -pipe Use pipes rather than intermediate files\n"
+ msgstr ""
+
+-#: gcc.c:3243
++#: gcc.c:3237
+ msgid " -time Time the execution of each subprocess\n"
+ msgstr ""
+
+-#: gcc.c:3244
++#: gcc.c:3238
+ #, fuzzy
+ msgid " -specs=<file> Override built-in specs with the contents of <file>\n"
+ msgstr " -o <файл> ПамÑÑціць вывад у <файл>\n"
+
+-#: gcc.c:3245
++#: gcc.c:3239
+ msgid " -std=<standard> Assume that the input sources are for <standard>\n"
+ msgstr ""
+
+-#: gcc.c:3246
++#: gcc.c:3240
+ msgid ""
+ " --sysroot=<directory> Use <directory> as the root directory for headers\n"
+ " and libraries\n"
+ msgstr ""
+
+-#: gcc.c:3249
++#: gcc.c:3243
+ msgid " -B <directory> Add <directory> to the compiler's search paths\n"
+ msgstr ""
+
+-#: gcc.c:3250
++#: gcc.c:3244
+ msgid " -b <machine> Run gcc for target <machine>, if installed\n"
+ msgstr ""
+
+-#: gcc.c:3251
++#: gcc.c:3245
+ msgid " -V <version> Run gcc version number <version>, if installed\n"
+ msgstr ""
+
+-#: gcc.c:3252
++#: gcc.c:3246
+ msgid " -v Display the programs invoked by the compiler\n"
+ msgstr ""
+
+-#: gcc.c:3253
++#: gcc.c:3247
+ msgid " -### Like -v but options quoted and commands not executed\n"
+ msgstr ""
+
+-#: gcc.c:3254
++#: gcc.c:3248
+ msgid " -E Preprocess only; do not compile, assemble or link\n"
+ msgstr ""
+
+-#: gcc.c:3255
++#: gcc.c:3249
+ msgid " -S Compile only; do not assemble or link\n"
+ msgstr ""
+
+-#: gcc.c:3256
++#: gcc.c:3250
+ msgid " -c Compile and assemble, but do not link\n"
+ msgstr ""
+
+-#: gcc.c:3257
++#: gcc.c:3251
+ msgid " -o <file> Place the output into <file>\n"
+ msgstr " -o <файл> ПамÑÑціць вывад у <файл>\n"
+
+-#: gcc.c:3258
++#: gcc.c:3252
+ msgid ""
+ " -x <language> Specify the language of the following input files\n"
+ " Permissible languages include: c c++ assembler none\n"
+@@ -1047,7 +1047,7 @@
+ " guessing the language based on the file's extension\n"
+ msgstr ""
+
+-#: gcc.c:3265
++#: gcc.c:3259
+ #, c-format
+ msgid ""
+ "\n"
+@@ -1056,27 +1056,27 @@
+ " other options on to these processes the -W<letter> options must be used.\n"
+ msgstr ""
+
+-#: gcc.c:3389
++#: gcc.c:3383
+ #, c-format
+ msgid "'-%c' option must have argument"
+ msgstr ""
+
+-#: gcc.c:3411
++#: gcc.c:3405
+ #, c-format
+ msgid "couldn't run '%s': %s"
+ msgstr ""
+
+ #. translate_options () has turned --version into -fversion.
+-#: gcc.c:3612
++#: gcc.c:3606
+ #, fuzzy, c-format
+ msgid "%s %s%s\n"
+ msgstr "%s: %s: "
+
+-#: gcc.c:3615 gcov.c:426 fortran/gfortranspec.c:380 java/jcf-dump.c:1168
++#: gcc.c:3609 gcov.c:427 fortran/gfortranspec.c:380 java/jcf-dump.c:1168
+ msgid "(C)"
+ msgstr ""
+
+-#: gcc.c:3616 java/jcf-dump.c:1169
++#: gcc.c:3610 java/jcf-dump.c:1169
+ #, c-format
+ msgid ""
+ "This is free software; see the source for copying conditions. There is NO\n"
+@@ -1084,160 +1084,160 @@
+ "\n"
+ msgstr ""
+
+-#: gcc.c:3728
++#: gcc.c:3722
+ #, fuzzy, c-format
+ msgid "argument to '-Xlinker' is missing"
+ msgstr "аргумент Ð´Ð»Ñ \"-x\" прапушчан"
+
+-#: gcc.c:3736
++#: gcc.c:3730
+ #, fuzzy, c-format
+ msgid "argument to '-Xpreprocessor' is missing"
+ msgstr "аргумент Ð´Ð»Ñ \"-%s\" прапушчан"
+
+-#: gcc.c:3743
++#: gcc.c:3737
+ #, fuzzy, c-format
+ msgid "argument to '-Xassembler' is missing"
+ msgstr "аргумент Ð´Ð»Ñ \"-x\" прапушчан"
+
+-#: gcc.c:3750
++#: gcc.c:3744
+ #, fuzzy, c-format
+ msgid "argument to '-l' is missing"
+ msgstr "аргумент Ð´Ð»Ñ \"-x\" прапушчан"
+
+-#: gcc.c:3771
++#: gcc.c:3765
+ #, fuzzy, c-format
+ msgid "argument to '-specs' is missing"
+ msgstr "аргумент Ð´Ð»Ñ \"-%s\" прапушчан"
+
+-#: gcc.c:3785
++#: gcc.c:3779
+ #, fuzzy, c-format
+ msgid "argument to '-specs=' is missing"
+ msgstr "аргумент Ð´Ð»Ñ \"-%s\" прапушчан"
+
+-#: gcc.c:3826
++#: gcc.c:3820
+ #, c-format
+ msgid "'-%c' must come at the start of the command line"
+ msgstr ""
+
+-#: gcc.c:3835
++#: gcc.c:3829
+ #, fuzzy, c-format
+ msgid "argument to '-B' is missing"
+ msgstr "аргумент Ð´Ð»Ñ \"-x\" прапушчан"
+
+-#: gcc.c:4185
++#: gcc.c:4179
+ #, fuzzy, c-format
+ msgid "argument to '-x' is missing"
+ msgstr "аргумент Ð´Ð»Ñ \"-x\" прапушчан"
+
+-#: gcc.c:4213
++#: gcc.c:4207
+ #, fuzzy, c-format
+ msgid "argument to '-%s' is missing"
+ msgstr "аргумент Ð´Ð»Ñ \"-%s\" прапушчан"
+
+-#: gcc.c:4541
++#: gcc.c:4535
+ #, c-format
+ msgid "switch '%s' does not start with '-'"
+ msgstr ""
+
+-#: gcc.c:4685
++#: gcc.c:4679
+ #, c-format
+ msgid "spec '%s' invalid"
+ msgstr ""
+
+-#: gcc.c:4824
++#: gcc.c:4818
+ #, fuzzy, c-format
+ msgid "spec '%s' has invalid '%%0%c'"
+ msgstr "бітавае поле \"%s\" мае нерÑчаіÑны тып"
+
+-#: gcc.c:5053
++#: gcc.c:5047
+ #, fuzzy, c-format
+ msgid "could not open temporary response file %s"
+ msgstr "Ðемагчыма адчыніць файл з дадзенымі %s.\n"
+
+-#: gcc.c:5059
++#: gcc.c:5053
+ #, fuzzy, c-format
+ msgid "could not write to temporary response file %s"
+ msgstr "немагчыма Ñтварыць чаÑовы файл"
+
+-#: gcc.c:5065
++#: gcc.c:5059
+ #, fuzzy, c-format
+ msgid "could not close temporary response file %s"
+ msgstr "немагчыма Ñтварыць чаÑовы файл"
+
+-#: gcc.c:5099
++#: gcc.c:5093
+ #, fuzzy, c-format
+ msgid "spec '%s' has invalid '%%W%c"
+ msgstr "бітавае поле \"%s\" мае нерÑчаіÑны тып"
+
+-#: gcc.c:5119
++#: gcc.c:5113
+ #, fuzzy, c-format
+ msgid "spec '%s' has invalid '%%x%c'"
+ msgstr "бітавае поле \"%s\" мае нерÑчаіÑны тып"
+
+-#: gcc.c:5341
++#: gcc.c:5335
+ #, c-format
+ msgid "Processing spec %c%s%c, which is '%s'\n"
+ msgstr ""
+
+-#: gcc.c:5465
++#: gcc.c:5459
+ #, fuzzy, c-format
+ msgid "unknown spec function '%s'"
+ msgstr "невÑдомы Ñ€Ñжым машыны \"%s\""
+
+-#: gcc.c:5484
++#: gcc.c:5478
+ #, fuzzy, c-format
+ msgid "error in args to spec function '%s'"
+ msgstr "вельмі шмат аргумÑнтаў у функцыі `%s'"
+
+-#: gcc.c:5532
++#: gcc.c:5526
+ #, c-format
+ msgid "malformed spec function name"
+ msgstr ""
+
+ #. )
+-#: gcc.c:5535
++#: gcc.c:5529
+ #, fuzzy, c-format
+ msgid "no arguments for spec function"
+ msgstr "не хапае аргументаў у функцыі"
+
+-#: gcc.c:5554
++#: gcc.c:5548
+ #, c-format
+ msgid "malformed spec function arguments"
+ msgstr ""
+
+-#: gcc.c:5800
++#: gcc.c:5794
+ #, c-format
+ msgid "braced spec '%s' is invalid at '%c'"
+ msgstr ""
+
+-#: gcc.c:5888
++#: gcc.c:5882
+ #, c-format
+ msgid "braced spec body '%s' is invalid"
+ msgstr ""
+
+-#: gcc.c:6421
++#: gcc.c:6420
+ #, c-format
+ msgid "install: %s%s\n"
+ msgstr ""
+
+-#: gcc.c:6424
++#: gcc.c:6423
+ #, c-format
+ msgid "programs: %s\n"
+ msgstr "праграмы: %s\n"
+
+-#: gcc.c:6426
++#: gcc.c:6425
+ #, c-format
+ msgid "libraries: %s\n"
+ msgstr "бібліÑÑ‚Ñкі: %s\n"
+
+ #. The error status indicates that only one set of fixed
+ #. headers should be built.
+-#: gcc.c:6480
++#: gcc.c:6479
+ #, c-format
+ msgid "not configured with sysroot headers suffix"
+ msgstr ""
+
+-#: gcc.c:6489
++#: gcc.c:6488
+ #, c-format
+ msgid ""
+ "\n"
+@@ -1246,47 +1246,47 @@
+ "\n"
+ "ІнÑтрукцыі Ð´Ð»Ñ Ð¿Ð°Ð²ÐµÐ´Ð°Ð¼Ð»ÐµÐ½Ð½ÑÑž аб памылках глÑдзіце тут:\n"
+
+-#: gcc.c:6505
++#: gcc.c:6504
+ #, fuzzy, c-format
+ msgid "Target: %s\n"
+ msgstr "бібліÑÑ‚Ñкі: %s\n"
+
+-#: gcc.c:6506
++#: gcc.c:6505
+ #, c-format
+ msgid "Configured with: %s\n"
+ msgstr ""
+
+-#: gcc.c:6520
++#: gcc.c:6519
+ #, c-format
+ msgid "Thread model: %s\n"
+ msgstr ""
+
+-#: gcc.c:6531
++#: gcc.c:6530
+ #, fuzzy, c-format
+ msgid "gcc version %s %s\n"
+ msgstr "верÑÑ–Ñ gcc %s\n"
+
+-#: gcc.c:6533
++#: gcc.c:6532
+ #, c-format
+ msgid "gcc driver version %s %sexecuting gcc version %s\n"
+ msgstr ""
+
+-#: gcc.c:6541
++#: gcc.c:6540
+ #, fuzzy, c-format
+ msgid "no input files"
+ msgstr "нÑма ўваходзÑчых файлаў"
+
+-#: gcc.c:6590
++#: gcc.c:6589
+ #, c-format
+ msgid "cannot specify -o with -c or -S with multiple files"
+ msgstr ""
+
+-#: gcc.c:6624
++#: gcc.c:6623
+ #, fuzzy, c-format
+ msgid "spec '%s' is invalid"
+ msgstr "параметр \"%s\" ініцыÑлізаваны"
+
+-#: gcc.c:6760
++#: gcc.c:6759
+ #, c-format
+ msgid ""
+ "\n"
+@@ -1295,59 +1295,59 @@
+ "\n"
+ msgstr ""
+
+-#: gcc.c:6761
++#: gcc.c:6760
+ #, c-format
+ msgid ""
+ "Use \"-Wl,OPTION\" to pass \"OPTION\" to the linker.\n"
+ "\n"
+ msgstr ""
+
+-#: gcc.c:7112
++#: gcc.c:7111
+ #, fuzzy, c-format
+ msgid "multilib spec '%s' is invalid"
+ msgstr "параметр \"%s\" ініцыÑлізаваны"
+
+-#: gcc.c:7303
++#: gcc.c:7302
+ #, c-format
+ msgid "multilib exclusions '%s' is invalid"
+ msgstr ""
+
+-#: gcc.c:7361 gcc.c:7502
++#: gcc.c:7360 gcc.c:7501
+ #, fuzzy, c-format
+ msgid "multilib select '%s' is invalid"
+ msgstr "параметр \"%s\" ініцыÑлізаваны"
+
+-#: gcc.c:7540
++#: gcc.c:7539
+ #, c-format
+ msgid "multilib exclusion '%s' is invalid"
+ msgstr ""
+
+-#: gcc.c:7746
++#: gcc.c:7745
+ #, c-format
+ msgid "environment variable \"%s\" not defined"
+ msgstr ""
+
+-#: gcc.c:7837 gcc.c:7842
++#: gcc.c:7836 gcc.c:7841
+ #, fuzzy, c-format
+ msgid "invalid version number `%s'"
+ msgstr "нÑвернае выкарыÑтанне \"restict\""
+
+-#: gcc.c:7885
++#: gcc.c:7884
+ #, fuzzy, c-format
+ msgid "too few arguments to %%:version-compare"
+ msgstr "не хапае аргументаў у функцыі"
+
+-#: gcc.c:7891
++#: gcc.c:7890
+ #, fuzzy, c-format
+ msgid "too many arguments to %%:version-compare"
+ msgstr "вельмі шмат аргументаў у функцыі"
+
+-#: gcc.c:7932
++#: gcc.c:7931
+ #, c-format
+ msgid "unknown operator '%s' in %%:version-compare"
+ msgstr ""
+
+-#: gcc.c:7966
++#: gcc.c:7965
+ #, c-format
+ msgid ""
+ "Assembler options\n"
+@@ -1355,87 +1355,87 @@
+ "\n"
+ msgstr ""
+
+-#: gcc.c:7967
++#: gcc.c:7966
+ #, c-format
+ msgid ""
+ "Use \"-Wa,OPTION\" to pass \"OPTION\" to the assembler.\n"
+ "\n"
+ msgstr ""
+
+-#: gcov.c:399
++#: gcov.c:400
+ #, c-format
+ msgid ""
+ "Usage: gcov [OPTION]... SOURCEFILE...\n"
+ "\n"
+ msgstr ""
+
+-#: gcov.c:400
++#: gcov.c:401
+ #, c-format
+ msgid ""
+ "Print code coverage information.\n"
+ "\n"
+ msgstr ""
+
+-#: gcov.c:401
++#: gcov.c:402
+ #, fuzzy, c-format
+ msgid " -h, --help Print this help, then exit\n"
+ msgstr " --help ÐдлюÑтраваць гÑту інфармацыю\n"
+
+-#: gcov.c:402
++#: gcov.c:403
+ #, fuzzy, c-format
+ msgid " -v, --version Print version number, then exit\n"
+ msgstr " -dumpversion ÐдлюÑтраваць верÑÑ–ÑŽ кампілÑтара\n"
+
+-#: gcov.c:403
++#: gcov.c:404
+ #, c-format
+ msgid " -a, --all-blocks Show information for every basic block\n"
+ msgstr ""
+
+-#: gcov.c:404
++#: gcov.c:405
+ #, c-format
+ msgid " -b, --branch-probabilities Include branch probabilities in output\n"
+ msgstr ""
+
+-#: gcov.c:405
++#: gcov.c:406
+ #, c-format
+ msgid ""
+ " -c, --branch-counts Given counts of branches taken\n"
+ " rather than percentages\n"
+ msgstr ""
+
+-#: gcov.c:407
++#: gcov.c:408
+ #, fuzzy, c-format
+ msgid " -n, --no-output Do not create an output file\n"
+ msgstr " -o <файл> ПамÑÑціць вывад у <файл>\n"
+
+-#: gcov.c:408
++#: gcov.c:409
+ #, c-format
+ msgid ""
+ " -l, --long-file-names Use long output file names for included\n"
+ " source files\n"
+ msgstr ""
+
+-#: gcov.c:410
++#: gcov.c:411
+ #, c-format
+ msgid " -f, --function-summaries Output summaries for each function\n"
+ msgstr ""
+
+-#: gcov.c:411
++#: gcov.c:412
+ #, c-format
+ msgid " -o, --object-directory DIR|FILE Search for object files in DIR or called FILE\n"
+ msgstr ""
+
+-#: gcov.c:412
++#: gcov.c:413
+ #, c-format
+ msgid " -p, --preserve-paths Preserve all pathname components\n"
+ msgstr ""
+
+-#: gcov.c:413
++#: gcov.c:414
+ #, c-format
+ msgid " -u, --unconditional-branches Show unconditional branch counts too\n"
+ msgstr ""
+
+-#: gcov.c:414
++#: gcov.c:415
+ #, fuzzy, c-format
+ msgid ""
+ "\n"
+@@ -1445,12 +1445,12 @@
+ "\n"
+ "ІнÑтрукцыі Ð´Ð»Ñ Ð¿Ð°Ð²ÐµÐ´Ð°Ð¼Ð»ÐµÐ½Ð½ÑÑž аб памылках глÑдзіце тут:\n"
+
+-#: gcov.c:424
++#: gcov.c:425
+ #, c-format
+ msgid "gcov %s%s\n"
+ msgstr ""
+
+-#: gcov.c:428
++#: gcov.c:429
+ #, c-format
+ msgid ""
+ "This is free software; see the source for copying conditions.\n"
+@@ -1459,208 +1459,208 @@
+ "\n"
+ msgstr ""
+
+-#: gcov.c:524
++#: gcov.c:525
+ #, fuzzy, c-format
+ msgid "%s:no functions found\n"
+ msgstr "не знойдзена\n"
+
+-#: gcov.c:556 gcov.c:584 fortran/dump-parse-tree.c:63
++#: gcov.c:557 gcov.c:585 fortran/dump-parse-tree.c:63
+ #, fuzzy, c-format
+ msgid "\n"
+ msgstr ":\n"
+
+-#: gcov.c:571
++#: gcov.c:572
+ #, fuzzy, c-format
+ msgid "%s:creating '%s'\n"
+ msgstr "%s: кампілюецца \"%s\"\n"
+
+-#: gcov.c:575
++#: gcov.c:576
+ #, fuzzy, c-format
+ msgid "%s:error writing output file '%s'\n"
+ msgstr ""
+ "\n"
+ "%s: памылка Ñ‡Ñ‹Ñ‚Ð°Ð½ÑŒÐ½Ñ Ñ„Ð°Ð¹Ð»Ð° ўводу `%s': %s\n"
+
+-#: gcov.c:580
++#: gcov.c:581
+ #, fuzzy, c-format
+ msgid "%s:could not open output file '%s'\n"
+ msgstr "немагчыма адчыніць файл уводу `%s'"
+
+-#: gcov.c:729
++#: gcov.c:730
+ #, c-format
+ msgid "%s:source file is newer than graph file '%s'\n"
+ msgstr ""
+
+-#: gcov.c:734
++#: gcov.c:735
+ #, c-format
+ msgid "(the message is only displayed one per source file)\n"
+ msgstr ""
+
+-#: gcov.c:758
++#: gcov.c:759
+ #, fuzzy, c-format
+ msgid "%s:cannot open graph file\n"
+ msgstr "немагчыма адчыніць файл уводу `%s'"
+
+-#: gcov.c:764
++#: gcov.c:765
+ #, c-format
+ msgid "%s:not a gcov graph file\n"
+ msgstr ""
+
+-#: gcov.c:777
++#: gcov.c:778
+ #, c-format
+ msgid "%s:version '%.4s', prefer '%.4s'\n"
+ msgstr ""
+
+-#: gcov.c:829
++#: gcov.c:830
+ #, c-format
+ msgid "%s:already seen blocks for '%s'\n"
+ msgstr ""
+
+-#: gcov.c:947
++#: gcov.c:948
+ #, c-format
+ msgid "%s:corrupted\n"
+ msgstr ""
+
+-#: gcov.c:1023
++#: gcov.c:1024
+ #, c-format
+ msgid "%s:cannot open data file, assuming not executed\n"
+ msgstr ""
+
+-#: gcov.c:1030
++#: gcov.c:1031
+ #, fuzzy, c-format
+ msgid "%s:not a gcov data file\n"
+ msgstr "Ðемагчыма адчыніць файл з дадзенымі %s.\n"
+
+-#: gcov.c:1043
++#: gcov.c:1044
+ #, c-format
+ msgid "%s:version '%.4s', prefer version '%.4s'\n"
+ msgstr ""
+
+-#: gcov.c:1049
++#: gcov.c:1050
+ #, c-format
+ msgid "%s:stamp mismatch with graph file\n"
+ msgstr ""
+
+-#: gcov.c:1078
++#: gcov.c:1079
+ #, fuzzy, c-format
+ msgid "%s:unknown function '%u'\n"
+ msgstr "у функцыі \"%s\":"
+
+-#: gcov.c:1091
++#: gcov.c:1092
+ #, c-format
+ msgid "%s:profile mismatch for '%s'\n"
+ msgstr ""
+
+-#: gcov.c:1110
++#: gcov.c:1111
+ #, c-format
+ msgid "%s:overflowed\n"
+ msgstr ""
+
+-#: gcov.c:1134
++#: gcov.c:1135
+ #, c-format
+ msgid "%s:'%s' lacks entry and/or exit blocks\n"
+ msgstr ""
+
+-#: gcov.c:1139
++#: gcov.c:1140
+ #, c-format
+ msgid "%s:'%s' has arcs to entry block\n"
+ msgstr ""
+
+-#: gcov.c:1147
++#: gcov.c:1148
+ #, c-format
+ msgid "%s:'%s' has arcs from exit block\n"
+ msgstr ""
+
+-#: gcov.c:1355
++#: gcov.c:1356
+ #, c-format
+ msgid "%s:graph is unsolvable for '%s'\n"
+ msgstr ""
+
+-#: gcov.c:1435
++#: gcov.c:1436
+ #, fuzzy, c-format
+ msgid "%s '%s'\n"
+ msgstr "%s: %s: "
+
+-#: gcov.c:1438
++#: gcov.c:1439
+ #, c-format
+ msgid "Lines executed:%s of %d\n"
+ msgstr ""
+
+-#: gcov.c:1442
++#: gcov.c:1443
+ #, c-format
+ msgid "No executable lines\n"
+ msgstr ""
+
+-#: gcov.c:1448
++#: gcov.c:1449
+ #, c-format
+ msgid "Branches executed:%s of %d\n"
+ msgstr ""
+
+-#: gcov.c:1452
++#: gcov.c:1453
+ #, c-format
+ msgid "Taken at least once:%s of %d\n"
+ msgstr ""
+
+-#: gcov.c:1458
++#: gcov.c:1459
+ #, c-format
+ msgid "No branches\n"
+ msgstr ""
+
+-#: gcov.c:1460
++#: gcov.c:1461
+ #, c-format
+ msgid "Calls executed:%s of %d\n"
+ msgstr ""
+
+-#: gcov.c:1464
++#: gcov.c:1465
+ #, c-format
+ msgid "No calls\n"
+ msgstr ""
+
+-#: gcov.c:1611
++#: gcov.c:1612
+ #, fuzzy, c-format
+ msgid "%s:no lines for '%s'\n"
+ msgstr "%s перад \"%s\""
+
+-#: gcov.c:1806
++#: gcov.c:1807
+ #, c-format
+ msgid "call %2d returned %s\n"
+ msgstr ""
+
+-#: gcov.c:1811
++#: gcov.c:1812
+ #, c-format
+ msgid "call %2d never executed\n"
+ msgstr ""
+
+-#: gcov.c:1816
++#: gcov.c:1817
+ #, c-format
+ msgid "branch %2d taken %s%s\n"
+ msgstr ""
+
+-#: gcov.c:1820
++#: gcov.c:1821
+ #, c-format
+ msgid "branch %2d never executed\n"
+ msgstr ""
+
+-#: gcov.c:1825
++#: gcov.c:1826
+ #, fuzzy, c-format
+ msgid "unconditional %2d taken %s\n"
+ msgstr "невÑÐ´Ð¾Ð¼Ð°Ñ Ð½Ð°Ð·Ð²Ð° Ñ€ÑгіÑтра: %s\n"
+
+-#: gcov.c:1828
++#: gcov.c:1829
+ #, c-format
+ msgid "unconditional %2d never executed\n"
+ msgstr ""
+
+-#: gcov.c:1864
++#: gcov.c:1865
+ #, fuzzy, c-format
+ msgid "%s:cannot open source file\n"
+ msgstr "не магу знайÑці крыніцу %s"
+
+-#: gcse.c:685
++#: gcse.c:679
+ msgid "GCSE disabled"
+ msgstr ""
+
+-#: gcse.c:6600
++#: gcse.c:6584
+ msgid "jump bypassing disabled"
+ msgstr ""
+
+@@ -1743,82 +1743,82 @@
+ msgid " inlined from %qs"
+ msgstr "У файле уключаным з %s:%d"
+
+-#: loop-iv.c:2805 tree-ssa-loop-niter.c:1818
++#: loop-iv.c:2806 tree-ssa-loop-niter.c:1818
+ msgid "assuming that the loop is not infinite"
+ msgstr ""
+
+-#: loop-iv.c:2806 tree-ssa-loop-niter.c:1819
++#: loop-iv.c:2807 tree-ssa-loop-niter.c:1819
+ msgid "cannot optimize possibly infinite loops"
+ msgstr ""
+
+-#: loop-iv.c:2814 tree-ssa-loop-niter.c:1823
++#: loop-iv.c:2815 tree-ssa-loop-niter.c:1823
+ msgid "assuming that the loop counter does not overflow"
+ msgstr ""
+
+-#: loop-iv.c:2815 tree-ssa-loop-niter.c:1824
++#: loop-iv.c:2816 tree-ssa-loop-niter.c:1824
+ msgid "cannot optimize loop, the loop counter may overflow"
+ msgstr ""
+
+ #. What to print when a switch has no documentation.
+-#: opts.c:348
++#: opts.c:340
+ msgid "This switch lacks documentation"
+ msgstr ""
+
+-#: opts.c:1159
++#: opts.c:1161
+ msgid "[enabled]"
+ msgstr ""
+
+-#: opts.c:1159
++#: opts.c:1161
+ msgid "[disabled]"
+ msgstr ""
+
+-#: opts.c:1170
++#: opts.c:1172
+ #, c-format
+ msgid " No options with the desired characteristics were found\n"
+ msgstr ""
+
+-#: opts.c:1172
++#: opts.c:1174
+ #, c-format
+ msgid " All options with the desired characteristics have already been displayed\n"
+ msgstr ""
+
+-#: opts.c:1226
++#: opts.c:1228
+ msgid "The following options are target specific"
+ msgstr ""
+
+-#: opts.c:1229
++#: opts.c:1231
+ msgid "The following options control compiler warning messages"
+ msgstr ""
+
+-#: opts.c:1232
++#: opts.c:1234
+ msgid "The following options control optimizations"
+ msgstr ""
+
+-#: opts.c:1235 opts.c:1273
++#: opts.c:1237 opts.c:1275
+ msgid "The following options are language-independent"
+ msgstr ""
+
+-#: opts.c:1238
++#: opts.c:1240
+ msgid "The --param option recognizes the following as parameters"
+ msgstr ""
+
+-#: opts.c:1245
++#: opts.c:1247
+ msgid "The following options are specific to the language "
+ msgstr ""
+
+-#: opts.c:1249
++#: opts.c:1251
+ msgid "The following options are supported by the language "
+ msgstr ""
+
+-#: opts.c:1260
++#: opts.c:1262
+ msgid "The following options are not documented"
+ msgstr ""
+
+-#: opts.c:1271
++#: opts.c:1273
+ msgid "The following options are language-related"
+ msgstr ""
+
+-#: opts.c:1403
++#: opts.c:1405
+ #, c-format
+ msgid "warning: unrecognized argument to --help= switch: %.*s\n"
+ msgstr ""
+@@ -2134,7 +2134,7 @@
+ msgid "%s: input file names must have .c suffixes: %s\n"
+ msgstr "%s: файл уводу павінен мець ÑÑƒÑ„Ñ–ÐºÑ .c: %s\n"
+
+-#: reload.c:3734
++#: reload.c:3744
+ msgid "unable to generate reloads for:"
+ msgstr ""
+
+@@ -2239,7 +2239,7 @@
+
+ #: toplev.c:1188
+ #, c-format
+-msgid "warning: %s header version %s differs from library version %s.\n"
++msgid "%s%swarning: %s header version %s differs from library version %s.\n"
+ msgstr ""
+
+ #: toplev.c:1190
+@@ -2247,32 +2247,32 @@
+ msgid "%s%sGGC heuristics: --param ggc-min-expand=%d --param ggc-min-heapsize=%d\n"
+ msgstr ""
+
+-#: toplev.c:1340
++#: toplev.c:1342
+ msgid "options passed: "
+ msgstr ""
+
+-#: toplev.c:1374
++#: toplev.c:1376
+ msgid "options enabled: "
+ msgstr "выбары ўключаны:"
+
+-#: toplev.c:1509
++#: toplev.c:1511
+ #, c-format
+ msgid "created and used with differing settings of '%s'"
+ msgstr ""
+
+-#: toplev.c:1511
++#: toplev.c:1513
+ msgid "out of memory"
+ msgstr ""
+
+-#: toplev.c:1526
++#: toplev.c:1528
+ msgid "created and used with different settings of -fpic"
+ msgstr ""
+
+-#: toplev.c:1528
++#: toplev.c:1530
+ msgid "created and used with different settings of -fpie"
+ msgstr ""
+
+-#: tree-inline.c:2571
++#: tree-inline.c:2657
+ msgid "originally indirect function call not considered for inlining"
+ msgstr ""
+
+@@ -2332,7 +2332,7 @@
+ msgstr ""
+
+ #: params.def:93
+-msgid "The threshold ratio between current and hotest structure counts"
++msgid "The threshold ratio between current and hottest structure counts"
+ msgstr ""
+
+ #: params.def:110
+@@ -2723,114 +2723,122 @@
+ msgid "Maximum length of partial antic set when performing tree pre optimization"
+ msgstr ""
+
+-#: config/alpha/alpha.c:5015
++#: params.def:723
++msgid "Maximum size of a SCC before SCCVN stops processing a function"
++msgstr ""
++
++#: params.def:729
++msgid "Multiplier used for determining the double-queueing threshold"
++msgstr ""
++
++#: config/alpha/alpha.c:5023
+ #, c-format
+ msgid "invalid %%H value"
+ msgstr "нерÑчаіÑнае значÑньне %%H"
+
+-#: config/alpha/alpha.c:5036 config/bfin/bfin.c:1423
++#: config/alpha/alpha.c:5044 config/bfin/bfin.c:1516
+ #, fuzzy, c-format
+ msgid "invalid %%J value"
+ msgstr "дрÑннае %%Q значÑнне"
+
+-#: config/alpha/alpha.c:5066 config/ia64/ia64.c:4718
++#: config/alpha/alpha.c:5074 config/ia64/ia64.c:4719
+ #, c-format
+ msgid "invalid %%r value"
+ msgstr "нерÑчаіÑнае значÑньне %%r"
+
+-#: config/alpha/alpha.c:5076 config/ia64/ia64.c:4672
+-#: config/rs6000/rs6000.c:11670 config/xtensa/xtensa.c:2036
++#: config/alpha/alpha.c:5084 config/ia64/ia64.c:4673
++#: config/rs6000/rs6000.c:11881 config/xtensa/xtensa.c:2042
+ #, c-format
+ msgid "invalid %%R value"
+ msgstr "нерÑчаіÑнае значÑньне %%R"
+
+-#: config/alpha/alpha.c:5082 config/rs6000/rs6000.c:11589
+-#: config/xtensa/xtensa.c:2003
++#: config/alpha/alpha.c:5090 config/rs6000/rs6000.c:11800
++#: config/xtensa/xtensa.c:2009
+ #, c-format
+ msgid "invalid %%N value"
+ msgstr "нерÑчаіÑнае значÑньне %%N"
+
+-#: config/alpha/alpha.c:5090 config/rs6000/rs6000.c:11617
++#: config/alpha/alpha.c:5098 config/rs6000/rs6000.c:11828
+ #, c-format
+ msgid "invalid %%P value"
+ msgstr "нерÑчаіÑнае значÑньне %%P"
+
+-#: config/alpha/alpha.c:5098
++#: config/alpha/alpha.c:5106
+ #, c-format
+ msgid "invalid %%h value"
+ msgstr "нерÑчаіÑнае значÑньне %%h"
+
+-#: config/alpha/alpha.c:5106 config/xtensa/xtensa.c:2029
++#: config/alpha/alpha.c:5114 config/xtensa/xtensa.c:2035
+ #, c-format
+ msgid "invalid %%L value"
+ msgstr "нерÑчаіÑнае значÑньне %%L"
+
+-#: config/alpha/alpha.c:5145 config/rs6000/rs6000.c:11571
++#: config/alpha/alpha.c:5153 config/rs6000/rs6000.c:11782
+ #, c-format
+ msgid "invalid %%m value"
+ msgstr "нерÑчаіÑнае значÑньне %%m"
+
+-#: config/alpha/alpha.c:5153 config/rs6000/rs6000.c:11579
++#: config/alpha/alpha.c:5161 config/rs6000/rs6000.c:11790
+ #, c-format
+ msgid "invalid %%M value"
+ msgstr "нерÑчаіÑнае значÑньне %%M"
+
+-#: config/alpha/alpha.c:5197
++#: config/alpha/alpha.c:5205
+ #, c-format
+ msgid "invalid %%U value"
+ msgstr "нерÑчаіÑнае значÑньне %%U"
+
+-#: config/alpha/alpha.c:5209 config/alpha/alpha.c:5223
+-#: config/rs6000/rs6000.c:11678
++#: config/alpha/alpha.c:5217 config/alpha/alpha.c:5231
++#: config/rs6000/rs6000.c:11889
+ #, c-format
+ msgid "invalid %%s value"
+ msgstr "нерÑчаіÑнае значÑньне %%v"
+
+-#: config/alpha/alpha.c:5246
++#: config/alpha/alpha.c:5254
+ #, c-format
+ msgid "invalid %%C value"
+ msgstr "нерÑчаіÑнае значÑньне %%C"
+
+-#: config/alpha/alpha.c:5283 config/rs6000/rs6000.c:11406
+-#: config/rs6000/rs6000.c:11425
++#: config/alpha/alpha.c:5291 config/rs6000/rs6000.c:11617
++#: config/rs6000/rs6000.c:11636
+ #, c-format
+ msgid "invalid %%E value"
+ msgstr "нерÑчаіÑнае значÑньне %%E"
+
+-#: config/alpha/alpha.c:5308 config/alpha/alpha.c:5356
++#: config/alpha/alpha.c:5316 config/alpha/alpha.c:5364
+ #, c-format
+ msgid "unknown relocation unspec"
+ msgstr ""
+
+-#: config/alpha/alpha.c:5317 config/crx/crx.c:1081
+-#: config/rs6000/rs6000.c:12005 config/spu/spu.c:1492
++#: config/alpha/alpha.c:5325 config/crx/crx.c:1081
++#: config/rs6000/rs6000.c:12216 config/spu/spu.c:1482
+ #, c-format
+ msgid "invalid %%xn code"
+ msgstr "нерÑчаіÑнае значÑньне %%xn"
+
+-#: config/arc/arc.c:1724 config/m32r/m32r.c:1805
++#: config/arc/arc.c:1728 config/m32r/m32r.c:1805
+ #, fuzzy, c-format
+ msgid "invalid operand to %%R code"
+ msgstr "нерÑчаіÑны %%-код"
+
+-#: config/arc/arc.c:1756 config/m32r/m32r.c:1828
++#: config/arc/arc.c:1760 config/m32r/m32r.c:1828
+ #, fuzzy, c-format
+ msgid "invalid operand to %%H/%%L code"
+ msgstr "нерÑчаіÑны %%-код"
+
+-#: config/arc/arc.c:1778 config/m32r/m32r.c:1899
++#: config/arc/arc.c:1782 config/m32r/m32r.c:1899
+ #, fuzzy, c-format
+ msgid "invalid operand to %%U code"
+ msgstr "нерÑчаіÑны %%-код"
+
+-#: config/arc/arc.c:1789
++#: config/arc/arc.c:1793
+ #, fuzzy, c-format
+ msgid "invalid operand to %%V code"
+ msgstr "нерÑчаіÑны %%-код"
+
+ #. Unknown flag.
+ #. Undocumented flag.
+-#: config/arc/arc.c:1796 config/m32r/m32r.c:1926 config/sparc/sparc.c:6995
++#: config/arc/arc.c:1800 config/m32r/m32r.c:1926 config/sparc/sparc.c:6998
+ #, c-format
+ msgid "invalid operand output code"
+ msgstr ""
+@@ -2855,9 +2863,9 @@
+ #: config/arm/arm.c:12830 config/arm/arm.c:12865 config/arm/arm.c:12884
+ #: config/arm/arm.c:12899 config/arm/arm.c:12927 config/arm/arm.c:12934
+ #: config/arm/arm.c:12942 config/arm/arm.c:12963 config/arm/arm.c:12970
+-#: config/bfin/bfin.c:1436 config/bfin/bfin.c:1443 config/bfin/bfin.c:1450
+-#: config/bfin/bfin.c:1457 config/bfin/bfin.c:1466 config/bfin/bfin.c:1473
+-#: config/bfin/bfin.c:1480 config/bfin/bfin.c:1487
++#: config/bfin/bfin.c:1529 config/bfin/bfin.c:1536 config/bfin/bfin.c:1543
++#: config/bfin/bfin.c:1550 config/bfin/bfin.c:1559 config/bfin/bfin.c:1566
++#: config/bfin/bfin.c:1573 config/bfin/bfin.c:1580
+ #, fuzzy, c-format
+ msgid "invalid operand for code '%c'"
+ msgstr "ÐерÑчаіÑны выбар \"%s\""
+@@ -2872,244 +2880,163 @@
+ msgid "missing operand"
+ msgstr "прапушчан ініцыÑлізатар"
+
+-#: config/avr/avr.c:1022
++#: config/avr/avr.c:1062
+ #, c-format
+ msgid "address operand requires constraint for X, Y, or Z register"
+ msgstr ""
+
+-#: config/avr/avr.c:1129
++#: config/avr/avr.c:1169
+ msgid "bad address, not (reg+disp):"
+ msgstr ""
+
+-#: config/avr/avr.c:1136
++#: config/avr/avr.c:1176
+ msgid "bad address, not post_inc or pre_dec:"
+ msgstr ""
+
+-#: config/avr/avr.c:1147
++#: config/avr/avr.c:1187
+ msgid "internal compiler error. Bad address:"
+ msgstr ""
+
+-#: config/avr/avr.c:1160
++#: config/avr/avr.c:1200
+ msgid "internal compiler error. Unknown mode:"
+ msgstr ""
+
+-#: config/avr/avr.c:1775 config/avr/avr.c:2463
++#: config/avr/avr.c:1815 config/avr/avr.c:2503
+ #, fuzzy
+ msgid "invalid insn:"
+ msgstr "ÐерÑчаіÑны выбар %s"
+
+-#: config/avr/avr.c:1814 config/avr/avr.c:1900 config/avr/avr.c:1949
+-#: config/avr/avr.c:1977 config/avr/avr.c:2072 config/avr/avr.c:2241
+-#: config/avr/avr.c:2502 config/avr/avr.c:2614
++#: config/avr/avr.c:1854 config/avr/avr.c:1940 config/avr/avr.c:1989
++#: config/avr/avr.c:2017 config/avr/avr.c:2112 config/avr/avr.c:2281
++#: config/avr/avr.c:2542 config/avr/avr.c:2654
+ msgid "incorrect insn:"
+ msgstr ""
+
+-#: config/avr/avr.c:1996 config/avr/avr.c:2157 config/avr/avr.c:2312
+-#: config/avr/avr.c:2680
++#: config/avr/avr.c:2036 config/avr/avr.c:2197 config/avr/avr.c:2352
++#: config/avr/avr.c:2720
+ msgid "unknown move insn:"
+ msgstr ""
+
+-#: config/avr/avr.c:2910
++#: config/avr/avr.c:2950
+ msgid "bad shift insn:"
+ msgstr ""
+
+-#: config/avr/avr.c:3026 config/avr/avr.c:3446 config/avr/avr.c:3804
++#: config/avr/avr.c:3066 config/avr/avr.c:3486 config/avr/avr.c:3844
+ msgid "internal compiler error. Incorrect shift:"
+ msgstr ""
+
+-#: config/bfin/bfin.c:1385
++#: config/bfin/bfin.c:1478
+ #, c-format
+ msgid "invalid %%j value"
+ msgstr ""
+
+-#: config/bfin/bfin.c:1578
++#: config/bfin/bfin.c:1671
+ #, fuzzy, c-format
+ msgid "invalid const_double operand"
+ msgstr "нерÑчаіÑны %%c аперанд"
+
+-#: config/c4x/c4x.c:1583
+-msgid "using CONST_DOUBLE for address"
+-msgstr ""
+-
+-#: config/c4x/c4x.c:1721
+-msgid "c4x_address_cost: Invalid addressing mode"
+-msgstr ""
+-
+-#: config/c4x/c4x.c:1856
+-#, c-format
+-msgid "c4x_print_operand: %%L inconsistency"
+-msgstr ""
+-
+-#: config/c4x/c4x.c:1862
+-#, c-format
+-msgid "c4x_print_operand: %%N inconsistency"
+-msgstr ""
+-
+-#: config/c4x/c4x.c:1903
+-#, c-format
+-msgid "c4x_print_operand: %%O inconsistency"
+-msgstr ""
+-
+-#: config/c4x/c4x.c:1998
+-msgid "c4x_print_operand: Bad operand case"
+-msgstr ""
+-
+-#: config/c4x/c4x.c:2039
+-msgid "c4x_print_operand_address: Bad post_modify"
+-msgstr ""
+-
+-#: config/c4x/c4x.c:2061
+-msgid "c4x_print_operand_address: Bad pre_modify"
+-msgstr ""
+-
+-#: config/c4x/c4x.c:2109 config/c4x/c4x.c:2121 config/c4x/c4x.c:2136
+-msgid "c4x_print_operand_address: Bad operand case"
+-msgstr ""
+-
+-#: config/c4x/c4x.c:2387
+-msgid "c4x_rptb_insert: Cannot find start label"
+-msgstr ""
+-
+-#: config/c4x/c4x.c:2985
+-msgid "invalid indirect memory address"
+-msgstr ""
+-
+-#: config/c4x/c4x.c:3074
+-msgid "invalid indirect (S) memory address"
+-msgstr ""
+-
+-#: config/c4x/c4x.c:3409
+-msgid "c4x_valid_operands: Internal error"
+-msgstr ""
+-
+-#: config/c4x/c4x.c:3848
+-msgid "c4x_operand_subword: invalid mode"
+-msgstr ""
+-
+-#: config/c4x/c4x.c:3851
+-msgid "c4x_operand_subword: invalid operand"
+-msgstr ""
+-
+-#. We could handle these with some difficulty.
+-#. e.g., *p-- => *(p-=2); *(p+1).
+-#: config/c4x/c4x.c:3877
+-msgid "c4x_operand_subword: invalid autoincrement"
+-msgstr ""
+-
+-#: config/c4x/c4x.c:3883
+-msgid "c4x_operand_subword: invalid address"
+-msgstr ""
+-
+-#: config/c4x/c4x.c:3894
+-msgid "c4x_operand_subword: address not offsettable"
+-msgstr ""
+-
+-#: config/c4x/c4x.c:4096
+-msgid "c4x_rptb_rpts_p: Repeat block top label moved"
+-msgstr ""
+-
+ #. Use `%s' to print the string in case there are any escape
+ #. characters in the message.
+-#: config/cris/cris.c:491 fortran/dump-parse-tree.c:78
+-#: fortran/dump-parse-tree.c:430 fortran/dump-parse-tree.c:776
+-#: fortran/dump-parse-tree.c:821 c-typeck.c:4607 c-typeck.c:4622
+-#: c-typeck.c:4637 final.c:2984 final.c:2986 gcc.c:4737 loop-iv.c:2807
+-#: loop-iv.c:2816 rtl-error.c:112 toplev.c:610 tree-ssa-loop-niter.c:1829
+-#: cp/parser.c:2188 cp/typeck.c:4559 java/expr.c:409
++#: config/cris/cris.c:504 fortran/dump-parse-tree.c:78
++#: fortran/dump-parse-tree.c:430 fortran/dump-parse-tree.c:798
++#: fortran/dump-parse-tree.c:843 c-typeck.c:4618 c-typeck.c:4633
++#: c-typeck.c:4648 final.c:2997 final.c:2999 gcc.c:4731 loop-iv.c:2808
++#: loop-iv.c:2817 rtl-error.c:112 toplev.c:610 tree-ssa-loop-niter.c:1829
++#: cp/parser.c:2192 cp/typeck.c:4567 java/expr.c:409
+ #, gcc-internal-format
+ msgid "%s"
+ msgstr ""
+
+-#: config/cris/cris.c:542
++#: config/cris/cris.c:555
+ msgid "unexpected index-type in cris_print_index"
+ msgstr ""
+
+-#: config/cris/cris.c:556
++#: config/cris/cris.c:572
+ msgid "unexpected base-type in cris_print_base"
+ msgstr ""
+
+-#: config/cris/cris.c:672
++#: config/cris/cris.c:688
+ msgid "invalid operand for 'b' modifier"
+ msgstr ""
+
+-#: config/cris/cris.c:689
++#: config/cris/cris.c:705
+ #, fuzzy
+ msgid "invalid operand for 'o' modifier"
+ msgstr "нерÑчаіÑны %%-код"
+
+-#: config/cris/cris.c:708
++#: config/cris/cris.c:724
+ #, fuzzy
+ msgid "invalid operand for 'O' modifier"
+ msgstr "нерÑчаіÑны %%-код"
+
+-#: config/cris/cris.c:741
++#: config/cris/cris.c:757
+ msgid "invalid operand for 'p' modifier"
+ msgstr ""
+
+-#: config/cris/cris.c:780
++#: config/cris/cris.c:796
+ msgid "invalid operand for 'z' modifier"
+ msgstr ""
+
+-#: config/cris/cris.c:834 config/cris/cris.c:864
++#: config/cris/cris.c:860 config/cris/cris.c:894
+ msgid "invalid operand for 'H' modifier"
+ msgstr ""
+
+-#: config/cris/cris.c:840
++#: config/cris/cris.c:870
+ msgid "bad register"
+ msgstr ""
+
+-#: config/cris/cris.c:884
++#: config/cris/cris.c:914
+ msgid "invalid operand for 'e' modifier"
+ msgstr ""
+
+-#: config/cris/cris.c:901
++#: config/cris/cris.c:931
+ msgid "invalid operand for 'm' modifier"
+ msgstr ""
+
+-#: config/cris/cris.c:926
++#: config/cris/cris.c:956
+ msgid "invalid operand for 'A' modifier"
+ msgstr ""
+
+-#: config/cris/cris.c:949
++#: config/cris/cris.c:979
+ msgid "invalid operand for 'D' modifier"
+ msgstr ""
+
+-#: config/cris/cris.c:963
++#: config/cris/cris.c:993
+ msgid "invalid operand for 'T' modifier"
+ msgstr ""
+
+-#: config/cris/cris.c:972
++#: config/cris/cris.c:1013
+ msgid "invalid operand modifier letter"
+ msgstr ""
+
+-#: config/cris/cris.c:1029
++#: config/cris/cris.c:1070
+ msgid "unexpected multiplicative operand"
+ msgstr ""
+
+-#: config/cris/cris.c:1049
++#: config/cris/cris.c:1090
+ msgid "unexpected operand"
+ msgstr ""
+
+-#: config/cris/cris.c:1082 config/cris/cris.c:1092
++#: config/cris/cris.c:1123 config/cris/cris.c:1133
+ msgid "unrecognized address"
+ msgstr "нераÑпазнаны адраÑ"
+
+-#: config/cris/cris.c:2019
++#: config/cris/cris.c:2209
+ #, fuzzy
+ msgid "unrecognized supposed constant"
+ msgstr "нераÑпазнаны выбар \"-%s\""
+
+-#: config/cris/cris.c:2394 config/cris/cris.c:2458
++#: config/cris/cris.c:2638 config/cris/cris.c:2702
+ msgid "unexpected side-effects in address"
+ msgstr ""
+
+ #. Can't possibly get a GOT-needing-fixup for a function-call,
+ #. right?
+-#: config/cris/cris.c:3253
++#: config/cris/cris.c:3539
+ msgid "Unidentifiable call op"
+ msgstr ""
+
+-#: config/cris/cris.c:3304
++#: config/cris/cris.c:3590
+ #, c-format
+ msgid "PIC register isn't set up"
+ msgstr ""
+@@ -3160,81 +3087,81 @@
+ msgid "fr30_print_operand: unhandled MEM"
+ msgstr ""
+
+-#: config/frv/frv.c:2542
++#: config/frv/frv.c:2546
+ msgid "bad insn to frv_print_operand_address:"
+ msgstr ""
+
+-#: config/frv/frv.c:2553
++#: config/frv/frv.c:2557
+ msgid "bad register to frv_print_operand_memory_reference_reg:"
+ msgstr ""
+
+-#: config/frv/frv.c:2592 config/frv/frv.c:2602 config/frv/frv.c:2611
+-#: config/frv/frv.c:2632 config/frv/frv.c:2637
++#: config/frv/frv.c:2596 config/frv/frv.c:2606 config/frv/frv.c:2615
++#: config/frv/frv.c:2636 config/frv/frv.c:2641
+ msgid "bad insn to frv_print_operand_memory_reference:"
+ msgstr ""
+
+-#: config/frv/frv.c:2723
++#: config/frv/frv.c:2727
+ #, c-format
+ msgid "bad condition code"
+ msgstr ""
+
+-#: config/frv/frv.c:2798
++#: config/frv/frv.c:2802
+ msgid "bad insn in frv_print_operand, bad const_double"
+ msgstr ""
+
+-#: config/frv/frv.c:2859
++#: config/frv/frv.c:2863
+ msgid "bad insn to frv_print_operand, 'e' modifier:"
+ msgstr ""
+
+-#: config/frv/frv.c:2867
++#: config/frv/frv.c:2871
+ msgid "bad insn to frv_print_operand, 'F' modifier:"
+ msgstr ""
+
+-#: config/frv/frv.c:2883
++#: config/frv/frv.c:2887
+ msgid "bad insn to frv_print_operand, 'f' modifier:"
+ msgstr ""
+
+-#: config/frv/frv.c:2897
++#: config/frv/frv.c:2901
+ msgid "bad insn to frv_print_operand, 'g' modifier:"
+ msgstr ""
+
+-#: config/frv/frv.c:2945
++#: config/frv/frv.c:2949
+ msgid "bad insn to frv_print_operand, 'L' modifier:"
+ msgstr ""
+
+-#: config/frv/frv.c:2958
++#: config/frv/frv.c:2962
+ msgid "bad insn to frv_print_operand, 'M/N' modifier:"
+ msgstr ""
+
+-#: config/frv/frv.c:2979
++#: config/frv/frv.c:2983
+ msgid "bad insn to frv_print_operand, 'O' modifier:"
+ msgstr ""
+
+-#: config/frv/frv.c:2997
++#: config/frv/frv.c:3001
+ msgid "bad insn to frv_print_operand, P modifier:"
+ msgstr ""
+
+-#: config/frv/frv.c:3017
++#: config/frv/frv.c:3021
+ msgid "bad insn in frv_print_operand, z case"
+ msgstr ""
+
+-#: config/frv/frv.c:3048
++#: config/frv/frv.c:3052
+ msgid "bad insn in frv_print_operand, 0 case"
+ msgstr ""
+
+-#: config/frv/frv.c:3053
++#: config/frv/frv.c:3057
+ msgid "frv_print_operand: unknown code"
+ msgstr ""
+
+-#: config/frv/frv.c:4422
++#: config/frv/frv.c:4426
+ msgid "bad output_move_single operand"
+ msgstr ""
+
+-#: config/frv/frv.c:4549
++#: config/frv/frv.c:4553
+ msgid "bad output_move_double operand"
+ msgstr ""
+
+-#: config/frv/frv.c:4691
++#: config/frv/frv.c:4695
+ msgid "bad output_condmove_single operand"
+ msgstr ""
+
+@@ -3252,27 +3179,27 @@
+ msgid " (frv)"
+ msgstr ""
+
+-#: config/i386/i386.c:8218
++#: config/i386/i386.c:8273
+ #, c-format
+ msgid "invalid UNSPEC as operand"
+ msgstr ""
+
+-#: config/i386/i386.c:8924
++#: config/i386/i386.c:8979
+ #, c-format
+ msgid "operand is neither a constant nor a condition code, invalid operand code 'c'"
+ msgstr ""
+
+-#: config/i386/i386.c:9040
++#: config/i386/i386.c:9095
+ #, fuzzy, c-format
+ msgid "invalid operand code '%c'"
+ msgstr "ÐерÑчаіÑны выбар \"%s\""
+
+-#: config/i386/i386.c:9089
++#: config/i386/i386.c:9144
+ #, fuzzy, c-format
+ msgid "invalid constraints for operand"
+ msgstr "нерÑчаіÑны %%c аперанд"
+
+-#: config/i386/i386.c:16348
++#: config/i386/i386.c:16423
+ #, fuzzy
+ msgid "unknown insn mode"
+ msgstr "невÑдомы Ñ€Ñжым машыны \"%s\""
+@@ -3294,37 +3221,37 @@
+ msgid "environment variable DJGPP points to corrupt file '%s'"
+ msgstr ""
+
+-#: config/ia64/ia64.c:4770
++#: config/ia64/ia64.c:4771
+ #, c-format
+ msgid "ia64_print_operand: unknown code"
+ msgstr ""
+
+-#: config/ia64/ia64.c:9889
++#: config/ia64/ia64.c:9890
+ #, fuzzy
+ msgid "invalid conversion from %<__fpreg%>"
+ msgstr "нерÑчаіÑны Ñ€Ñжым Ð´Ð»Ñ gen_tst_reg"
+
+-#: config/ia64/ia64.c:9892
++#: config/ia64/ia64.c:9893
+ #, fuzzy
+ msgid "invalid conversion to %<__fpreg%>"
+ msgstr "нерÑчаіÑны %%-код"
+
+-#: config/ia64/ia64.c:9905 config/ia64/ia64.c:9916
++#: config/ia64/ia64.c:9906 config/ia64/ia64.c:9917
+ #, fuzzy
+ msgid "invalid operation on %<__fpreg%>"
+ msgstr "нерÑчаіÑны %%-код"
+
+-#: config/iq2000/iq2000.c:3118
++#: config/iq2000/iq2000.c:3122
+ #, fuzzy, c-format
+ msgid "invalid %%P operand"
+ msgstr "нерÑчаіÑны %%-код"
+
+-#: config/iq2000/iq2000.c:3126 config/rs6000/rs6000.c:11607
++#: config/iq2000/iq2000.c:3130 config/rs6000/rs6000.c:11818
+ #, c-format
+ msgid "invalid %%p value"
+ msgstr ""
+
+-#: config/iq2000/iq2000.c:3182
++#: config/iq2000/iq2000.c:3186
+ #, c-format
+ msgid "invalid use of %%d, %%x, or %%X"
+ msgstr ""
+@@ -3366,7 +3293,7 @@
+ msgstr ""
+
+ #: config/m32r/m32r.c:2030 config/m32r/m32r.c:2044
+-#: config/rs6000/rs6000.c:19870
++#: config/rs6000/rs6000.c:20087
+ msgid "bad address"
+ msgstr "дрÑнны адраÑ"
+
+@@ -3415,59 +3342,59 @@
+ msgid "invalid Z register replacement for insn"
+ msgstr ""
+
+-#: config/mips/mips.c:6313 config/mips/mips.c:6334 config/mips/mips.c:6438
++#: config/mips/mips.c:6371 config/mips/mips.c:6392 config/mips/mips.c:6496
+ #, fuzzy, c-format
+ msgid "'%%%c' is not a valid operand prefix"
+ msgstr "\"%s\" - гÑта не пачатак дÑкларацыі"
+
+-#: config/mips/mips.c:6382 config/mips/mips.c:6389 config/mips/mips.c:6396
+-#: config/mips/mips.c:6456
++#: config/mips/mips.c:6440 config/mips/mips.c:6447 config/mips/mips.c:6454
++#: config/mips/mips.c:6514
+ #, fuzzy, c-format
+ msgid "invalid use of '%%%c'"
+ msgstr "нерÑчаіÑнае выкарыÑтаньне `%D'"
+
+-#: config/mips/mips.c:6701
++#: config/mips/mips.c:6761
+ msgid "mips_debugger_offset called with non stack/frame/arg pointer"
+ msgstr ""
+
+-#: config/mmix/mmix.c:1487 config/mmix/mmix.c:1617
++#: config/mmix/mmix.c:1483 config/mmix/mmix.c:1613
+ msgid "MMIX Internal: Expected a CONST_INT, not this"
+ msgstr ""
+
+-#: config/mmix/mmix.c:1566
++#: config/mmix/mmix.c:1562
+ msgid "MMIX Internal: Bad value for 'm', not a CONST_INT"
+ msgstr ""
+
+-#: config/mmix/mmix.c:1585
++#: config/mmix/mmix.c:1581
+ msgid "MMIX Internal: Expected a register, not this"
+ msgstr ""
+
+-#: config/mmix/mmix.c:1595
++#: config/mmix/mmix.c:1591
+ msgid "MMIX Internal: Expected a constant, not this"
+ msgstr ""
+
+ #. We need the original here.
+-#: config/mmix/mmix.c:1679
++#: config/mmix/mmix.c:1675
+ msgid "MMIX Internal: Cannot decode this operand"
+ msgstr ""
+
+-#: config/mmix/mmix.c:1736
++#: config/mmix/mmix.c:1732
+ msgid "MMIX Internal: This is not a recognized address"
+ msgstr ""
+
+-#: config/mmix/mmix.c:2669
++#: config/mmix/mmix.c:2665
+ msgid "MMIX Internal: Trying to output invalidly reversed condition:"
+ msgstr ""
+
+-#: config/mmix/mmix.c:2676
++#: config/mmix/mmix.c:2672
+ msgid "MMIX Internal: What's the CC of this?"
+ msgstr ""
+
+-#: config/mmix/mmix.c:2680
++#: config/mmix/mmix.c:2676
+ msgid "MMIX Internal: What is the CC of this?"
+ msgstr ""
+
+-#: config/mmix/mmix.c:2744
++#: config/mmix/mmix.c:2740
+ msgid "MMIX Internal: This is not a constant:"
+ msgstr ""
+
+@@ -3493,82 +3420,82 @@
+ msgid "Try running '%s' in the shell to raise its limit.\n"
+ msgstr ""
+
+-#: config/rs6000/rs6000.c:11434
++#: config/rs6000/rs6000.c:11645
+ #, c-format
+ msgid "invalid %%f value"
+ msgstr ""
+
+-#: config/rs6000/rs6000.c:11443
++#: config/rs6000/rs6000.c:11654
+ #, c-format
+ msgid "invalid %%F value"
+ msgstr ""
+
+-#: config/rs6000/rs6000.c:11452
++#: config/rs6000/rs6000.c:11663
+ #, c-format
+ msgid "invalid %%G value"
+ msgstr ""
+
+-#: config/rs6000/rs6000.c:11487
++#: config/rs6000/rs6000.c:11698
+ #, c-format
+ msgid "invalid %%j code"
+ msgstr ""
+
+-#: config/rs6000/rs6000.c:11497
++#: config/rs6000/rs6000.c:11708
+ #, c-format
+ msgid "invalid %%J code"
+ msgstr ""
+
+-#: config/rs6000/rs6000.c:11507
++#: config/rs6000/rs6000.c:11718
+ #, c-format
+ msgid "invalid %%k value"
+ msgstr ""
+
+-#: config/rs6000/rs6000.c:11527 config/xtensa/xtensa.c:2022
++#: config/rs6000/rs6000.c:11738 config/xtensa/xtensa.c:2028
+ #, c-format
+ msgid "invalid %%K value"
+ msgstr ""
+
+-#: config/rs6000/rs6000.c:11597
++#: config/rs6000/rs6000.c:11808
+ #, c-format
+ msgid "invalid %%O value"
+ msgstr "нерÑчаіÑнае значÑньне %%O"
+
+-#: config/rs6000/rs6000.c:11644
++#: config/rs6000/rs6000.c:11855
+ #, c-format
+ msgid "invalid %%q value"
+ msgstr ""
+
+-#: config/rs6000/rs6000.c:11688
++#: config/rs6000/rs6000.c:11899
+ #, c-format
+ msgid "invalid %%S value"
+ msgstr ""
+
+-#: config/rs6000/rs6000.c:11728
++#: config/rs6000/rs6000.c:11939
+ #, c-format
+ msgid "invalid %%T value"
+ msgstr ""
+
+-#: config/rs6000/rs6000.c:11738
++#: config/rs6000/rs6000.c:11949
+ #, c-format
+ msgid "invalid %%u value"
+ msgstr ""
+
+-#: config/rs6000/rs6000.c:11747 config/xtensa/xtensa.c:1992
++#: config/rs6000/rs6000.c:11958 config/xtensa/xtensa.c:1998
+ #, c-format
+ msgid "invalid %%v value"
+ msgstr ""
+
+-#: config/rs6000/rs6000.c:21768
++#: config/rs6000/rs6000.c:21946
+ #, fuzzy
+ msgid "AltiVec argument passed to unprototyped function"
+ msgstr "не хапае аргументаў у функцыі"
+
+-#: config/s390/s390.c:4561
++#: config/s390/s390.c:4560
+ #, fuzzy, c-format
+ msgid "cannot decompose address"
+ msgstr "невÑÐ´Ð¾Ð¼Ð°Ñ Ð½Ð°Ð·Ð²Ð° Ñ€ÑгіÑтра: %s"
+
+-#: config/s390/s390.c:4771
++#: config/s390/s390.c:4770
+ msgid "UNKNOWN in print_operand !?"
+ msgstr ""
+
+@@ -3578,89 +3505,89 @@
+ msgid "invalid operand for code: '%c'"
+ msgstr "ÐерÑчаіÑны выбар \"%s\""
+
+-#: config/sh/sh.c:746
++#: config/sh/sh.c:749
+ #, fuzzy, c-format
+ msgid "invalid operand to %%R"
+ msgstr "нерÑчаіÑны %%-код"
+
+-#: config/sh/sh.c:773
++#: config/sh/sh.c:776
+ #, fuzzy, c-format
+ msgid "invalid operand to %%S"
+ msgstr "нерÑчаіÑны %%-код"
+
+-#: config/sh/sh.c:8095
++#: config/sh/sh.c:8098
+ msgid "created and used with different architectures / ABIs"
+ msgstr ""
+
+-#: config/sh/sh.c:8097
++#: config/sh/sh.c:8100
+ msgid "created and used with different ABIs"
+ msgstr ""
+
+-#: config/sh/sh.c:8099
++#: config/sh/sh.c:8102
+ msgid "created and used with different endianness"
+ msgstr ""
+
+-#: config/sparc/sparc.c:6803 config/sparc/sparc.c:6809
++#: config/sparc/sparc.c:6806 config/sparc/sparc.c:6812
+ #, c-format
+ msgid "invalid %%Y operand"
+ msgstr "нерÑчаіÑны %%Y аперанд"
+
+-#: config/sparc/sparc.c:6879
++#: config/sparc/sparc.c:6882
+ #, c-format
+ msgid "invalid %%A operand"
+ msgstr "нерÑчаіÑны %%A аперанд"
+
+-#: config/sparc/sparc.c:6889
++#: config/sparc/sparc.c:6892
+ #, c-format
+ msgid "invalid %%B operand"
+ msgstr "нерÑчаіÑны %%B аперанд"
+
+-#: config/sparc/sparc.c:6928
++#: config/sparc/sparc.c:6931
+ #, c-format
+ msgid "invalid %%c operand"
+ msgstr "нерÑчаіÑны %%c аперанд"
+
+-#: config/sparc/sparc.c:6950
++#: config/sparc/sparc.c:6953
+ #, c-format
+ msgid "invalid %%d operand"
+ msgstr "нерÑчаіÑны %%d аперанд"
+
+-#: config/sparc/sparc.c:6967
++#: config/sparc/sparc.c:6970
+ #, c-format
+ msgid "invalid %%f operand"
+ msgstr "нерÑчаіÑны %%f аперанд"
+
+-#: config/sparc/sparc.c:6981
++#: config/sparc/sparc.c:6984
+ #, fuzzy, c-format
+ msgid "invalid %%s operand"
+ msgstr "нерÑчаіÑны %%-код"
+
+-#: config/sparc/sparc.c:7035
++#: config/sparc/sparc.c:7038
+ #, c-format
+ msgid "long long constant not a valid immediate operand"
+ msgstr ""
+
+-#: config/sparc/sparc.c:7038
++#: config/sparc/sparc.c:7041
+ #, c-format
+ msgid "floating point constant not a valid immediate operand"
+ msgstr ""
+
+-#: config/stormy16/stormy16.c:1775 config/stormy16/stormy16.c:1846
++#: config/stormy16/stormy16.c:1748 config/stormy16/stormy16.c:1819
+ #, fuzzy, c-format
+ msgid "'B' operand is not constant"
+ msgstr "тып параметра \"%s\" не аб'Ñўлены"
+
+-#: config/stormy16/stormy16.c:1802
++#: config/stormy16/stormy16.c:1775
+ #, c-format
+ msgid "'B' operand has multiple bits set"
+ msgstr ""
+
+-#: config/stormy16/stormy16.c:1828
++#: config/stormy16/stormy16.c:1801
+ #, fuzzy, c-format
+ msgid "'o' operand is not constant"
+ msgstr "тып параметра \"%s\" не аб'Ñўлены"
+
+-#: config/stormy16/stormy16.c:1860
++#: config/stormy16/stormy16.c:1833
+ #, c-format
+ msgid "xstormy16_print_operand: unknown code"
+ msgstr ""
+@@ -3673,57 +3600,57 @@
+ msgid "output_move_single:"
+ msgstr ""
+
+-#: config/xtensa/xtensa.c:652 config/xtensa/xtensa.c:684
+-#: config/xtensa/xtensa.c:693
++#: config/xtensa/xtensa.c:656 config/xtensa/xtensa.c:688
++#: config/xtensa/xtensa.c:697
+ msgid "bad test"
+ msgstr ""
+
+-#: config/xtensa/xtensa.c:1980
++#: config/xtensa/xtensa.c:1986
+ #, fuzzy, c-format
+ msgid "invalid %%D value"
+ msgstr "дрÑннае %%Q значÑнне"
+
+-#: config/xtensa/xtensa.c:2017
++#: config/xtensa/xtensa.c:2023
+ msgid "invalid mask"
+ msgstr "нерÑчаіÑÐ½Ð°Ñ Ð¼Ð°Ñка"
+
+-#: config/xtensa/xtensa.c:2043
++#: config/xtensa/xtensa.c:2049
+ #, fuzzy, c-format
+ msgid "invalid %%x value"
+ msgstr "нерÑчаіÑнае значÑньне %%x/X"
+
+-#: config/xtensa/xtensa.c:2050
++#: config/xtensa/xtensa.c:2056
+ #, fuzzy, c-format
+ msgid "invalid %%d value"
+ msgstr "дрÑннае %%Q значÑнне"
+
+-#: config/xtensa/xtensa.c:2071 config/xtensa/xtensa.c:2081
++#: config/xtensa/xtensa.c:2077 config/xtensa/xtensa.c:2087
+ #, fuzzy, c-format
+ msgid "invalid %%t/%%b value"
+ msgstr "нерÑчаіÑнае значÑньне %%x/X"
+
+-#: config/xtensa/xtensa.c:2123
++#: config/xtensa/xtensa.c:2129
+ msgid "invalid address"
+ msgstr "нерÑчаіÑны адраÑ"
+
+-#: config/xtensa/xtensa.c:2148
++#: config/xtensa/xtensa.c:2154
+ #, fuzzy
+ msgid "no register in address"
+ msgstr "невÑÐ´Ð¾Ð¼Ð°Ñ Ð½Ð°Ð·Ð²Ð° Ñ€ÑгіÑтра: %s"
+
+-#: config/xtensa/xtensa.c:2156
++#: config/xtensa/xtensa.c:2162
+ msgid "address offset not a constant"
+ msgstr ""
+
+-#: cp/call.c:2514
++#: cp/call.c:2500
+ msgid "candidates are:"
+ msgstr ""
+
+-#: cp/call.c:6463
++#: cp/call.c:6487
+ msgid "candidate 1:"
+ msgstr ""
+
+-#: cp/call.c:6464
++#: cp/call.c:6488
+ msgid "candidate 2:"
+ msgstr ""
+
+@@ -3768,52 +3695,52 @@
+ msgid "Integer outside symmetric range implied by Standard Fortran at %L"
+ msgstr ""
+
+-#: fortran/arith.c:1425
++#: fortran/arith.c:1472
+ #, fuzzy
+ msgid "elemental binary operation"
+ msgstr "прапушчан ініцыÑлізатар"
+
+-#: fortran/arith.c:1997
++#: fortran/arith.c:2044
+ #, no-c-format
+ msgid "Arithmetic OK converting %s to %s at %L"
+ msgstr ""
+
+-#: fortran/arith.c:2001
++#: fortran/arith.c:2048
+ #, no-c-format
+ msgid "Arithmetic overflow converting %s to %s at %L. This check can be disabled with the option -fno-range-check"
+ msgstr ""
+
+-#: fortran/arith.c:2006
++#: fortran/arith.c:2053
+ #, no-c-format
+ msgid "Arithmetic underflow converting %s to %s at %L"
+ msgstr ""
+
+-#: fortran/arith.c:2010
++#: fortran/arith.c:2057
+ #, no-c-format
+ msgid "Arithmetic NaN converting %s to %s at %L"
+ msgstr ""
+
+-#: fortran/arith.c:2014
++#: fortran/arith.c:2061
+ #, no-c-format
+ msgid "Division by zero converting %s to %s at %L"
+ msgstr ""
+
+-#: fortran/arith.c:2018
++#: fortran/arith.c:2065
+ #, no-c-format
+ msgid "Array operands are incommensurate converting %s to %s at %L"
+ msgstr ""
+
+-#: fortran/arith.c:2022
++#: fortran/arith.c:2069
+ #, no-c-format
+ msgid "Integer outside symmetric range implied by Standard Fortran converting %s to %s at %L"
+ msgstr ""
+
+-#: fortran/arith.c:2355
++#: fortran/arith.c:2402
+ #, fuzzy, no-c-format
+ msgid "The Hollerith constant at %L is too long to convert to %s"
+ msgstr "ÑÑ–Ð¼Ð²Ð°Ð»ÑŒÐ½Ð°Ñ ÐºÐ°Ð½Ñтанта вельмі доўгаÑ"
+
+-#: fortran/arith.c:2513
++#: fortran/arith.c:2560
+ #, no-c-format
+ msgid "Enumerator exceeds the C integer type at %C"
+ msgstr ""
+@@ -3843,72 +3770,72 @@
+ msgid "Variable '%s' at %L in this context must be constant"
+ msgstr ""
+
+-#: fortran/array.c:299
++#: fortran/array.c:314
+ #, no-c-format
+ msgid "Expected expression in array specification at %C"
+ msgstr ""
+
+-#: fortran/array.c:386
++#: fortran/array.c:392
+ #, no-c-format
+ msgid "Bad array specification for an explicitly shaped array at %C"
+ msgstr ""
+
+-#: fortran/array.c:396
++#: fortran/array.c:402
+ #, no-c-format
+ msgid "Bad array specification for assumed shape array at %C"
+ msgstr ""
+
+-#: fortran/array.c:410
++#: fortran/array.c:416
+ #, no-c-format
+ msgid "Bad specification for deferred shape array at %C"
+ msgstr ""
+
+-#: fortran/array.c:414
++#: fortran/array.c:420
+ #, no-c-format
+ msgid "Bad specification for assumed size array at %C"
+ msgstr ""
+
+-#: fortran/array.c:423
++#: fortran/array.c:429
+ #, no-c-format
+ msgid "Expected another dimension in array declaration at %C"
+ msgstr ""
+
+-#: fortran/array.c:429
++#: fortran/array.c:435
+ #, no-c-format
+ msgid "Array specification at %C has more than %d dimensions"
+ msgstr ""
+
+-#: fortran/array.c:635
++#: fortran/array.c:641
+ #, fuzzy, no-c-format
+ msgid "duplicated initializer"
+ msgstr "нерÑчаіÑны ініцыÑлізатар"
+
+-#: fortran/array.c:727
++#: fortran/array.c:733
+ #, no-c-format
+ msgid "DO-iterator '%s' at %L is inside iterator of the same name"
+ msgstr ""
+
+-#: fortran/array.c:829 fortran/array.c:938
++#: fortran/array.c:835 fortran/array.c:944
+ #, no-c-format
+ msgid "Syntax error in array constructor at %C"
+ msgstr ""
+
+-#: fortran/array.c:884
++#: fortran/array.c:890
+ #, no-c-format
+ msgid "Fortran 2003: [...] style array constructors at %C"
+ msgstr ""
+
+-#: fortran/array.c:898
++#: fortran/array.c:904
+ #, no-c-format
+ msgid "Empty array constructor at %C is not allowed"
+ msgstr ""
+
+-#: fortran/array.c:982
++#: fortran/array.c:988
+ #, no-c-format
+ msgid "Element in %s array constructor at %L is %s"
+ msgstr ""
+
+-#: fortran/array.c:1309
++#: fortran/array.c:1315
+ #, no-c-format
+ msgid "Iterator step at %L cannot be zero"
+ msgstr ""
+@@ -3928,7 +3855,7 @@
+ msgid "'%s' argument of '%s' intrinsic at %L must be a numeric type"
+ msgstr ""
+
+-#: fortran/check.c:101 fortran/check.c:817 fortran/check.c:827
++#: fortran/check.c:101 fortran/check.c:810 fortran/check.c:820
+ #, no-c-format
+ msgid "'%s' argument of '%s' intrinsic at %L must be INTEGER or REAL"
+ msgstr ""
+@@ -3993,220 +3920,215 @@
+ msgid "'%s' argument of '%s' intrinsic at %L must be a variable"
+ msgstr ""
+
+-#: fortran/check.c:320
++#: fortran/check.c:356
+ #, no-c-format
+-msgid "Missing DIM parameter in intrinsic '%s' at %L"
+-msgstr ""
+-
+-#: fortran/check.c:363
+-#, no-c-format
+ msgid "'dim' argument of '%s' intrinsic at %L is not a valid dimension index"
+ msgstr ""
+
+-#: fortran/check.c:433
++#: fortran/check.c:426
+ #, no-c-format
+ msgid "Unequal character lengths (%ld and %ld) in %s intrinsic at %L"
+ msgstr ""
+
+-#: fortran/check.c:535 fortran/check.c:1938 fortran/check.c:1953
++#: fortran/check.c:528 fortran/check.c:1932 fortran/check.c:1947
+ #, no-c-format
+ msgid "'%s' argument of '%s' intrinsic at %L must be ALLOCATABLE"
+ msgstr ""
+
+-#: fortran/check.c:559 fortran/check.c:3703
++#: fortran/check.c:552 fortran/check.c:3697
+ #, no-c-format
+ msgid "'%s' and '%s' arguments of '%s' intrinsic at %L must have the same type"
+ msgstr ""
+
+-#: fortran/check.c:568 fortran/check.c:1143 fortran/check.c:1286
+-#: fortran/check.c:1360 fortran/check.c:1616
++#: fortran/check.c:561 fortran/check.c:1137 fortran/check.c:1280
++#: fortran/check.c:1354 fortran/check.c:1610
+ #, no-c-format
+ msgid "Extension: Different type kinds at %L"
+ msgstr ""
+
+-#: fortran/check.c:608 fortran/check.c:2022
++#: fortran/check.c:601 fortran/check.c:2016
+ #, no-c-format
+ msgid "'%s' argument of '%s' intrinsic at %L must be a POINTER"
+ msgstr ""
+
+-#: fortran/check.c:628
++#: fortran/check.c:621
+ #, no-c-format
+ msgid "'%s' argument of '%s' intrinsic at %L must be a pointer or target VARIABLE or FUNCTION"
+ msgstr ""
+
+-#: fortran/check.c:636
++#: fortran/check.c:629
+ #, no-c-format
+ msgid "'%s' argument of '%s' intrinsic at %L must be a POINTER or a TARGET"
+ msgstr ""
+
+-#: fortran/check.c:652
++#: fortran/check.c:645
+ #, no-c-format
+ msgid "Array section with a vector subscript at %L shall not be the target of a pointer"
+ msgstr ""
+
+-#: fortran/check.c:663
++#: fortran/check.c:656
+ #, no-c-format
+ msgid "NULL pointer at %L is not permitted as actual argument of '%s' intrinsic function"
+ msgstr ""
+
+-#: fortran/check.c:798 fortran/check.c:915
++#: fortran/check.c:791 fortran/check.c:910
+ #, no-c-format
+ msgid "'%s' argument of '%s' intrinsic at %L must not be present if 'x' is COMPLEX"
+ msgstr ""
+
+-#: fortran/check.c:848 fortran/check.c:1205 fortran/check.c:1308
+-#: fortran/check.c:1467 fortran/check.c:1484 fortran/check.c:2318
+-#: fortran/check.c:2444 fortran/check.c:2779 fortran/check.c:2821
++#: fortran/check.c:841 fortran/check.c:1199 fortran/check.c:1302
++#: fortran/check.c:1461 fortran/check.c:1478 fortran/check.c:2312
++#: fortran/check.c:2438 fortran/check.c:2773 fortran/check.c:2815
+ #, no-c-format
+ msgid "Fortran 2003: '%s' intrinsic with KIND argument at %L"
+ msgstr ""
+
+-#: fortran/check.c:964 fortran/check.c:1712 fortran/check.c:1720
++#: fortran/check.c:959 fortran/check.c:1706 fortran/check.c:1714
+ #, no-c-format
+ msgid "'%s' argument of '%s' intrinsic at %L must be numeric or LOGICAL"
+ msgstr ""
+
+-#: fortran/check.c:978
++#: fortran/check.c:973
+ #, no-c-format
+ msgid "Different shape for arguments '%s' and '%s' at %L for intrinsic 'dot_product'"
+ msgstr ""
+
+-#: fortran/check.c:997 fortran/check.c:1005
++#: fortran/check.c:992 fortran/check.c:1000
+ #, fuzzy, no-c-format
+ msgid "'%s' argument of '%s' intrinsic at %L must be default real"
+ msgstr "першым аргументам \"%s\" павінен быць \"int\""
+
+-#: fortran/check.c:1256
++#: fortran/check.c:1250
+ #, fuzzy, no-c-format
+ msgid "Argument of %s at %L must be of length one"
+ msgstr "першым аргументам \"%s\" павінен быць \"int\""
+
+-#: fortran/check.c:1315
++#: fortran/check.c:1309
+ #, no-c-format
+ msgid "'%s' argument of '%s' intrinsic at %L must be the same kind as '%s'"
+ msgstr ""
+
+-#: fortran/check.c:1440
++#: fortran/check.c:1434
+ #, no-c-format
+ msgid "'%s' argument of '%s' intrinsic at %L must be a non-derived type"
+ msgstr ""
+
+-#: fortran/check.c:1589
++#: fortran/check.c:1583
+ #, no-c-format
+ msgid "Intrinsic '%s' at %L must have at least two arguments"
+ msgstr ""
+
+-#: fortran/check.c:1622
++#: fortran/check.c:1616
+ #, no-c-format
+ msgid "'a%d' argument of '%s' intrinsic at %L must be %s(%d)"
+ msgstr ""
+
+-#: fortran/check.c:1655
++#: fortran/check.c:1649
+ #, no-c-format
+ msgid "Fortran 2003: '%s' intrinsic with CHARACTER argument at %L"
+ msgstr ""
+
+-#: fortran/check.c:1662
++#: fortran/check.c:1656
+ #, no-c-format
+ msgid "'a1' argument of '%s' intrinsic at %L must be INTEGER, REAL or CHARACTER"
+ msgstr ""
+
+-#: fortran/check.c:1734
++#: fortran/check.c:1728
+ #, no-c-format
+ msgid "Different shape on dimension 1 for arguments '%s' and '%s' at %L for intrinsic matmul"
+ msgstr ""
+
+-#: fortran/check.c:1753
++#: fortran/check.c:1747
+ #, no-c-format
+ msgid "Different shape on dimension 2 for argument '%s' and dimension 1 for argument '%s' at %L for intrinsic matmul"
+ msgstr ""
+
+-#: fortran/check.c:1762
++#: fortran/check.c:1756
+ #, no-c-format
+ msgid "'%s' argument of '%s' intrinsic at %L must be of rank 1 or 2"
+ msgstr ""
+
+-#: fortran/check.c:1964
++#: fortran/check.c:1958
+ #, no-c-format
+ msgid "the '%s' and '%s' arguments of '%s' intrinsic at %L must have the same rank %d/%d"
+ msgstr ""
+
+-#: fortran/check.c:1973
++#: fortran/check.c:1967
+ #, no-c-format
+ msgid "the '%s' and '%s' arguments of '%s' intrinsic at %L must be of the same kind %d/%d"
+ msgstr ""
+
+-#: fortran/check.c:2069
++#: fortran/check.c:2063
+ #, no-c-format
+ msgid "'%s' argument of '%s' intrinsic at %L must be of type REAL or COMPLEX"
+ msgstr ""
+
+-#: fortran/check.c:2090
++#: fortran/check.c:2084
+ #, no-c-format
+ msgid "'%s' argument of '%s' intrinsic at %L must be of a dummy variable"
+ msgstr ""
+
+-#: fortran/check.c:2098
++#: fortran/check.c:2092
+ #, no-c-format
+ msgid "'%s' argument of '%s' intrinsic at %L must be of an OPTIONAL dummy variable"
+ msgstr ""
+
+-#: fortran/check.c:2114
++#: fortran/check.c:2108
+ #, no-c-format
+ msgid "'%s' argument of '%s' intrinsic at %L must not be a subobject of '%s'"
+ msgstr ""
+
+-#: fortran/check.c:2231
++#: fortran/check.c:2225
+ #, no-c-format
+ msgid "'shape' argument of 'reshape' intrinsic at %L must be an array of constant size"
+ msgstr ""
+
+-#: fortran/check.c:2241
++#: fortran/check.c:2235
+ #, no-c-format
+ msgid "'shape' argument of 'reshape' intrinsic at %L has more than %d elements"
+ msgstr ""
+
+-#: fortran/check.c:2279
++#: fortran/check.c:2273
+ #, no-c-format
+ msgid "Without padding, there are not enough elements in the intrinsic RESHAPE source at %L to match the shape"
+ msgstr ""
+
+-#: fortran/check.c:2364
++#: fortran/check.c:2358
+ #, fuzzy, no-c-format
+ msgid "Missing arguments to %s intrinsic at %L"
+ msgstr "аргумент Ð´Ð»Ñ \"%s\" прапушчан"
+
+-#: fortran/check.c:2405
++#: fortran/check.c:2399
+ #, no-c-format
+ msgid "'source' argument of 'shape' intrinsic at %L must not be an assumed size array"
+ msgstr ""
+
+-#: fortran/check.c:2479
++#: fortran/check.c:2473
+ #, fuzzy, no-c-format
+ msgid "'%s' argument of '%s' intrinsic at %L must be less than rank %d"
+ msgstr "памер \"%s\" больш чам %d байт"
+
+-#: fortran/check.c:2731
++#: fortran/check.c:2725
+ #, no-c-format
+ msgid "'MOLD' argument of 'TRANSFER' intrinsic at %L must not be %s"
+ msgstr ""
+
+-#: fortran/check.c:3050
++#: fortran/check.c:3044
+ #, fuzzy, no-c-format
+ msgid "Too many arguments to %s at %L"
+ msgstr "вельмі шмат аргументаў у функцыі \"%s\""
+
+-#: fortran/check.c:3162 fortran/check.c:3616 fortran/check.c:3640
++#: fortran/check.c:3156 fortran/check.c:3610 fortran/check.c:3634
+ #, no-c-format
+ msgid "'%s' argument of '%s' intrinsic at %L must be INTEGER or PROCEDURE"
+ msgstr ""
+
+-#: fortran/check.c:3338
++#: fortran/check.c:3332
+ #, no-c-format
+ msgid "'%s' argument of '%s' intrinsic at %L must be of a kind not wider than the default kind (%d)"
+ msgstr ""
+
+-#: fortran/check.c:3687 fortran/check.c:3695
++#: fortran/check.c:3681 fortran/check.c:3689
+ #, no-c-format
+ msgid "'%s' argument of '%s' intrinsic at %L must be INTEGER or LOGICAL"
+ msgstr ""
+@@ -4231,890 +4153,926 @@
+ msgid "'%s' at %L already is initialized at %L"
+ msgstr "ÐšÐ»Ð°Ñ \"%s\" ужо Ñ–Ñнуе"
+
+-#: fortran/data.c:412
++#: fortran/data.c:317
++#, no-c-format
++msgid "Data element below array lower bound at %L"
++msgstr ""
++
++#: fortran/data.c:329
++#, no-c-format
++msgid "Data element above array upper bound at %L"
++msgstr ""
++
++#: fortran/data.c:435
+ #, fuzzy, no-c-format
+ msgid "Extension: re-initialization of '%s' at %L"
+ msgstr "ініцыÑлізацыÑ"
+
+-#: fortran/decl.c:254
++#: fortran/decl.c:253
+ #, no-c-format
+ msgid "Host associated variable '%s' may not be in the DATA statement at %C"
+ msgstr ""
+
+-#: fortran/decl.c:261
++#: fortran/decl.c:260
+ #, no-c-format
+ msgid "Extension: initialization of common block variable '%s' in DATA statement at %C"
+ msgstr ""
+
+-#: fortran/decl.c:366
++#: fortran/decl.c:365
+ #, no-c-format
+ msgid "Symbol '%s' must be a PARAMETER in DATA statement at %C"
+ msgstr ""
+
+-#: fortran/decl.c:470
++#: fortran/decl.c:390
++#, fuzzy, no-c-format
++msgid "Invalid initializer %s in Data statement at %C"
++msgstr "нерÑчаіÑны ініцыÑлізатар"
++
++#: fortran/decl.c:493
+ #, no-c-format
+ msgid "Initialization at %C is not allowed in a PURE procedure"
+ msgstr ""
+
+-#: fortran/decl.c:529
++#: fortran/decl.c:552
+ #, no-c-format
+ msgid "DATA statement at %C is not allowed in a PURE procedure"
+ msgstr ""
+
+-#: fortran/decl.c:558
++#: fortran/decl.c:581
+ #, no-c-format
+ msgid "Bad INTENT specification at %C"
+ msgstr ""
+
+-#: fortran/decl.c:600
++#: fortran/decl.c:623
+ #, no-c-format
+ msgid "Conflict in attributes of function argument at %C"
+ msgstr ""
+
+-#: fortran/decl.c:647
++#: fortran/decl.c:676
+ #, no-c-format
+ msgid "Syntax error in character length specification at %C"
+ msgstr ""
+
+-#: fortran/decl.c:757
++#: fortran/decl.c:795
+ #, no-c-format
+ msgid "Procedure '%s' at %C is already defined at %L"
+ msgstr ""
+
+-#: fortran/decl.c:765
++#: fortran/decl.c:803
+ #, no-c-format
+ msgid "Name '%s' at %C is already defined as a generic interface at %L"
+ msgstr ""
+
+-#: fortran/decl.c:778
++#: fortran/decl.c:816
+ #, no-c-format
+ msgid "Procedure '%s' at %C has an explicit interface and must not have attributes declared at %L"
+ msgstr ""
+
+-#: fortran/decl.c:850
++#: fortran/decl.c:888
+ #, no-c-format
+ msgid "Procedure '%s' at %L must have the BIND(C) attribute to be C interoperable"
+ msgstr ""
+
+-#: fortran/decl.c:880
++#: fortran/decl.c:918
+ #, no-c-format
+ msgid "Type '%s' at %L is a parameter to the BIND(C) procedure '%s' but is not C interoperable because derived type '%s' is not C interoperable"
+ msgstr ""
+
+-#: fortran/decl.c:887
++#: fortran/decl.c:925
+ #, no-c-format
+ msgid "Variable '%s' at %L is a parameter to the BIND(C) procedure '%s' but may not be C interoperable"
+ msgstr ""
+
+-#: fortran/decl.c:902
++#: fortran/decl.c:940
+ #, no-c-format
+ msgid "Character argument '%s' at %L must be length 1 because procedure '%s' is BIND(C)"
+ msgstr ""
+
+-#: fortran/decl.c:916
++#: fortran/decl.c:954
+ #, no-c-format
+ msgid "Variable '%s' at %L cannot have the ALLOCATABLE attribute because procedure '%s' is BIND(C)"
+ msgstr ""
+
+-#: fortran/decl.c:925
++#: fortran/decl.c:963
+ #, no-c-format
+ msgid "Variable '%s' at %L cannot have the POINTER attribute because procedure '%s' is BIND(C)"
+ msgstr ""
+
+-#: fortran/decl.c:934
++#: fortran/decl.c:972
+ #, no-c-format
+ msgid "Variable '%s' at %L cannot have the OPTIONAL attribute because procedure '%s' is BIND(C)"
+ msgstr ""
+
+-#: fortran/decl.c:947
++#: fortran/decl.c:985
+ #, no-c-format
+ msgid "Assumed-shape array '%s' at %L cannot be an argument to the procedure '%s' at %L because the procedure is BIND(C)"
+ msgstr ""
+
+-#: fortran/decl.c:957
++#: fortran/decl.c:995
+ #, no-c-format
+ msgid "Deferred-shape array '%s' at %L cannot be an argument to the procedure '%s' at %L because the procedure is BIND(C)"
+ msgstr ""
+
+-#: fortran/decl.c:1033
++#: fortran/decl.c:1071
+ #, no-c-format
+ msgid "Variable '%s' in common block '%s' at %C must be declared with a C interoperable kind since common block '%s' is BIND(C)"
+ msgstr ""
+
+-#: fortran/decl.c:1069
++#: fortran/decl.c:1107
+ #, no-c-format
+ msgid "CHARACTER expression at %L is being truncated (%d/%d)"
+ msgstr ""
+
+-#: fortran/decl.c:1075
++#: fortran/decl.c:1113
+ #, no-c-format
+ msgid "The CHARACTER elements of the array constructor at %L must have the same length (%d/%d)"
+ msgstr ""
+
+-#: fortran/decl.c:1165
++#: fortran/decl.c:1203
+ #, no-c-format
+ msgid "Initializer not allowed for PARAMETER '%s' at %C"
+ msgstr ""
+
+-#: fortran/decl.c:1174
+-#, no-c-format
+-msgid "Initializer not allowed for COMMON variable '%s' at %C"
+-msgstr ""
+-
+-#: fortran/decl.c:1184
++#: fortran/decl.c:1213
+ #, fuzzy, no-c-format
+ msgid "PARAMETER at %L is missing an initializer"
+ msgstr "прапушчан ініцыÑлізатар"
+
+-#: fortran/decl.c:1194
++#: fortran/decl.c:1223
+ #, no-c-format
+ msgid "Variable '%s' at %C with an initializer already appears in a DATA statement"
+ msgstr ""
+
+-#: fortran/decl.c:1344
++#: fortran/decl.c:1373
+ #, no-c-format
+ msgid "Component at %C must have the POINTER attribute"
+ msgstr ""
+
+-#: fortran/decl.c:1352
++#: fortran/decl.c:1381
+ #, no-c-format
+ msgid "Array component of structure at %C must have explicit or deferred shape"
+ msgstr ""
+
+-#: fortran/decl.c:1378
++#: fortran/decl.c:1425
+ #, no-c-format
+ msgid "Allocatable component at %C must be an array"
+ msgstr ""
+
+-#: fortran/decl.c:1389
++#: fortran/decl.c:1436
+ #, no-c-format
+ msgid "Pointer array component of structure at %C must have a deferred shape"
+ msgstr ""
+
+-#: fortran/decl.c:1398
++#: fortran/decl.c:1445
+ #, no-c-format
+ msgid "Allocatable component of structure at %C must have a deferred shape"
+ msgstr ""
+
+-#: fortran/decl.c:1407
++#: fortran/decl.c:1454
+ #, no-c-format
+ msgid "Array component of structure at %C must have an explicit shape"
+ msgstr ""
+
+-#: fortran/decl.c:1433
++#: fortran/decl.c:1480
+ #, no-c-format
+ msgid "NULL() initialization at %C is ambiguous"
+ msgstr ""
+
+-#: fortran/decl.c:1556 fortran/decl.c:5197
++#: fortran/decl.c:1603 fortran/decl.c:5395
+ #, no-c-format
+ msgid "Duplicate array spec for Cray pointee at %C"
+ msgstr ""
+
+-#: fortran/decl.c:1616
++#: fortran/decl.c:1663
+ #, no-c-format
+ msgid "the type of '%s' at %C has not been declared within the interface"
+ msgstr ""
+
+-#: fortran/decl.c:1632
++#: fortran/decl.c:1679
+ #, no-c-format
+ msgid "Function name '%s' not allowed at %C"
+ msgstr ""
+
+-#: fortran/decl.c:1648
++#: fortran/decl.c:1695
+ #, no-c-format
+ msgid "Extension: Old-style initialization at %C"
+ msgstr ""
+
+-#: fortran/decl.c:1663
++#: fortran/decl.c:1710
+ #, no-c-format
+ msgid "Initialization at %C isn't for a pointer variable"
+ msgstr ""
+
+-#: fortran/decl.c:1671
++#: fortran/decl.c:1718
+ #, no-c-format
+ msgid "Pointer initialization requires a NULL() at %C"
+ msgstr ""
+
+-#: fortran/decl.c:1677
++#: fortran/decl.c:1724
+ #, no-c-format
+ msgid "Initialization of pointer at %C is not allowed in a PURE procedure"
+ msgstr ""
+
+-#: fortran/decl.c:1690
++#: fortran/decl.c:1737
+ #, no-c-format
+ msgid "Pointer initialization at %C requires '=>', not '='"
+ msgstr ""
+
+-#: fortran/decl.c:1699 fortran/decl.c:6129
++#: fortran/decl.c:1746 fortran/decl.c:6361
+ #, no-c-format
+ msgid "Expected an initialization expression at %C"
+ msgstr ""
+
+-#: fortran/decl.c:1705
++#: fortran/decl.c:1752
+ #, no-c-format
+ msgid "Initialization of variable at %C is not allowed in a PURE procedure"
+ msgstr ""
+
+-#: fortran/decl.c:1718
++#: fortran/decl.c:1765
+ #, no-c-format
+ msgid "Initialization of allocatable component at %C is not allowed"
+ msgstr ""
+
+-#: fortran/decl.c:1772 fortran/decl.c:1781
++#: fortran/decl.c:1819 fortran/decl.c:1828
+ #, no-c-format
+ msgid "Old-style type declaration %s*%d not supported at %C"
+ msgstr ""
+
+-#: fortran/decl.c:1786
++#: fortran/decl.c:1833
+ #, no-c-format
+ msgid "Nonstandard type declaration %s*%d at %C"
+ msgstr ""
+
+-#: fortran/decl.c:1838 fortran/decl.c:1897
++#: fortran/decl.c:1884 fortran/decl.c:1948
+ #, no-c-format
+ msgid "Missing right parenthesis at %C"
+ msgstr ""
+
+-#: fortran/decl.c:1853 fortran/decl.c:1931
++#: fortran/decl.c:1897 fortran/decl.c:1993
+ #, no-c-format
+ msgid "Expected initialization expression at %C"
+ msgstr ""
+
+-#: fortran/decl.c:1861 fortran/decl.c:1937
++#: fortran/decl.c:1905 fortran/decl.c:1999
+ #, no-c-format
+ msgid "Expected scalar initialization expression at %C"
+ msgstr ""
+
+-#: fortran/decl.c:1891
++#: fortran/decl.c:1936
+ #, fuzzy, no-c-format
+ msgid "Kind %d not supported for type %s at %C"
+ msgstr "атрыбуты Ñекцыі не падтрымліваюцца Ð´Ð»Ñ Ð³Ñтай мÑÑ‚Ñ‹"
+
+-#: fortran/decl.c:1957
++#: fortran/decl.c:1946
+ #, no-c-format
++msgid "Missing right parenthesis or comma at %C"
++msgstr ""
++
++#: fortran/decl.c:2019
++#, no-c-format
+ msgid "Kind %d is not supported for CHARACTER at %C"
+ msgstr ""
+
+-#: fortran/decl.c:2086
++#: fortran/decl.c:2148
+ #, no-c-format
+ msgid "Syntax error in CHARACTER declaration at %C"
+ msgstr ""
+
+-#: fortran/decl.c:2156
++#: fortran/decl.c:2233
+ #, no-c-format
+ msgid "Extension: BYTE type at %C"
+ msgstr ""
+
+-#: fortran/decl.c:2162
++#: fortran/decl.c:2239
+ #, no-c-format
+ msgid "BYTE type used at %C is not available on the target machine"
+ msgstr ""
+
+-#: fortran/decl.c:2211
++#: fortran/decl.c:2288
+ #, no-c-format
+ msgid "DOUBLE COMPLEX at %C does not conform to the Fortran 95 standard"
+ msgstr ""
+
+-#: fortran/decl.c:2245 fortran/decl.c:2252 fortran/decl.c:2558
+-#: fortran/decl.c:2566
++#: fortran/decl.c:2328 fortran/decl.c:2337 fortran/decl.c:2649
++#: fortran/decl.c:2657
+ #, fuzzy, no-c-format
+ msgid "Type name '%s' at %C is ambiguous"
+ msgstr "памер \"%s\" - %d байт"
+
+-#: fortran/decl.c:2321
++#: fortran/decl.c:2412
+ #, no-c-format
+ msgid "Missing character range in IMPLICIT at %C"
+ msgstr ""
+
+-#: fortran/decl.c:2367
++#: fortran/decl.c:2458
+ #, no-c-format
+ msgid "Letters must be in alphabetic order in IMPLICIT statement at %C"
+ msgstr ""
+
+-#: fortran/decl.c:2421
++#: fortran/decl.c:2512
+ #, no-c-format
+ msgid "Empty IMPLICIT statement at %C"
+ msgstr ""
+
+-#: fortran/decl.c:2524
++#: fortran/decl.c:2615
+ #, no-c-format
+ msgid "IMPORT statement at %C only permitted in an INTERFACE body"
+ msgstr ""
+
+-#: fortran/decl.c:2529
++#: fortran/decl.c:2620
+ #, no-c-format
+ msgid "Fortran 2003: IMPORT statement at %C"
+ msgstr ""
+
+-#: fortran/decl.c:2544
++#: fortran/decl.c:2635
+ #, no-c-format
+ msgid "Expecting list of named entities at %C"
+ msgstr ""
+
+-#: fortran/decl.c:2572
++#: fortran/decl.c:2663
+ #, no-c-format
+ msgid "Cannot IMPORT '%s' from host scoping unit at %C - does not exist."
+ msgstr ""
+
+-#: fortran/decl.c:2579
++#: fortran/decl.c:2670
+ #, no-c-format
+ msgid "'%s' is already IMPORTed from host scoping unit at %C."
+ msgstr ""
+
+-#: fortran/decl.c:2608
++#: fortran/decl.c:2699
+ #, no-c-format
+ msgid "Syntax error in IMPORT statement at %C"
+ msgstr ""
+
+-#: fortran/decl.c:2850
++#: fortran/decl.c:2941
+ #, no-c-format
+ msgid "Missing dimension specification at %C"
+ msgstr ""
+
+-#: fortran/decl.c:2924
++#: fortran/decl.c:3015
+ #, no-c-format
+ msgid "Duplicate %s attribute at %L"
+ msgstr ""
+
+-#: fortran/decl.c:2943
++#: fortran/decl.c:3034
+ #, no-c-format
+ msgid "Fortran 2003: ALLOCATABLE attribute at %C in a TYPE definition"
+ msgstr ""
+
+-#: fortran/decl.c:2953
++#: fortran/decl.c:3044
+ #, no-c-format
+ msgid "Attribute at %L is not allowed in a TYPE definition"
+ msgstr ""
+
+-#: fortran/decl.c:2971
++#: fortran/decl.c:3062
+ #, no-c-format
+ msgid "Fortran 2003: Attribute %s at %L in a TYPE definition"
+ msgstr ""
+
+-#: fortran/decl.c:2982
++#: fortran/decl.c:3073
+ #, no-c-format
+ msgid "%s attribute at %L is not allowed outside of the specification part of a module"
+ msgstr ""
+
+-#: fortran/decl.c:3034 fortran/decl.c:5437
++#: fortran/decl.c:3125 fortran/decl.c:5635
+ #, no-c-format
+ msgid "PROTECTED at %C only allowed in specification part of a module"
+ msgstr ""
+
+-#: fortran/decl.c:3040
++#: fortran/decl.c:3131
+ #, no-c-format
+ msgid "Fortran 2003: PROTECTED attribute at %C"
+ msgstr ""
+
+-#: fortran/decl.c:3071
++#: fortran/decl.c:3162
+ #, no-c-format
+ msgid "Fortran 2003: VALUE attribute at %C"
+ msgstr ""
+
+-#: fortran/decl.c:3081
++#: fortran/decl.c:3172
+ #, no-c-format
+ msgid "Fortran 2003: VOLATILE attribute at %C"
+ msgstr ""
+
+-#: fortran/decl.c:3121
++#: fortran/decl.c:3212
+ #, no-c-format
+ msgid "Multiple identifiers provided with single NAME= specifier at %C"
+ msgstr ""
+
+ #. Print an error, but continue parsing line.
+-#: fortran/decl.c:3171
++#: fortran/decl.c:3261
+ #, no-c-format
+ msgid "C kind parameter is for type %s but symbol '%s' at %L is of type %s"
+ msgstr ""
+
+-#: fortran/decl.c:3235
++#: fortran/decl.c:3325
+ #, no-c-format
+ msgid "Implicitly declared BIND(C) function '%s' at %L may not be C interoperable"
+ msgstr ""
+
+-#: fortran/decl.c:3257
++#: fortran/decl.c:3347
+ #, no-c-format
+ msgid "Variable '%s' in common block '%s' at %L may not be a C interoperable kind though common block '%s' is BIND(C)"
+ msgstr ""
+
+-#: fortran/decl.c:3266
++#: fortran/decl.c:3356
+ #, no-c-format
+ msgid "Type declaration '%s' at %L is not C interoperable but it is BIND(C)"
+ msgstr ""
+
+-#: fortran/decl.c:3270
++#: fortran/decl.c:3360
+ #, no-c-format
+ msgid "Variable '%s' at %L may not be a C interoperable kind but it is bind(c)"
+ msgstr ""
+
+-#: fortran/decl.c:3282
++#: fortran/decl.c:3372
+ #, no-c-format
+ msgid "Variable '%s' in common block '%s' at %L cannot be declared with BIND(C) since it is not a global"
+ msgstr ""
+
+-#: fortran/decl.c:3296
++#: fortran/decl.c:3386
+ #, no-c-format
+ msgid "Variable '%s' at %L cannot have both the POINTER and BIND(C) attributes"
+ msgstr ""
+
+-#: fortran/decl.c:3304
++#: fortran/decl.c:3394
+ #, no-c-format
+ msgid "Variable '%s' at %L cannot have both the ALLOCATABLE and BIND(C) attributes"
+ msgstr ""
+
+-#: fortran/decl.c:3314
++#: fortran/decl.c:3404
+ #, no-c-format
+ msgid "Return type of BIND(C) function '%s' at %L cannot be an array"
+ msgstr ""
+
+-#: fortran/decl.c:3322
++#: fortran/decl.c:3412
+ #, no-c-format
+ msgid "Return type of BIND(C) function '%s' at %L cannot be a character string"
+ msgstr ""
+
+ #. Use gfc_warning_now because we won't say that the symbol fails
+ #. just because of this.
+-#: fortran/decl.c:3334
++#: fortran/decl.c:3424
+ #, no-c-format
+ msgid "Symbol '%s' at %L is marked PRIVATE but has been given the binding label '%s'"
+ msgstr ""
+
+-#: fortran/decl.c:3409
++#: fortran/decl.c:3499
+ #, no-c-format
+ msgid "Need either entity or common block name for attribute specification statement at %C"
+ msgstr ""
+
+-#: fortran/decl.c:3456
++#: fortran/decl.c:3546
+ #, no-c-format
+ msgid "Missing entity or common block name for attribute specification statement at %C"
+ msgstr ""
+
+ #. Now we have an error, which we signal, and then fix up
+ #. because the knock-on is plain and simple confusing.
+-#: fortran/decl.c:3563
++#: fortran/decl.c:3653
+ #, no-c-format
+ msgid "Derived type at %C has not been previously defined and so cannot appear in a derived type definition"
+ msgstr ""
+
+-#: fortran/decl.c:3595
++#: fortran/decl.c:3685
+ #, no-c-format
+ msgid "Syntax error in data declaration at %C"
+ msgstr ""
+
+-#: fortran/decl.c:3742
++#: fortran/decl.c:3832
+ #, no-c-format
+ msgid "Name '%s' at %C is the name of the procedure"
+ msgstr ""
+
+-#: fortran/decl.c:3754
++#: fortran/decl.c:3844
+ #, no-c-format
+ msgid "Unexpected junk in formal argument list at %C"
+ msgstr ""
+
+-#: fortran/decl.c:3771
++#: fortran/decl.c:3861
+ #, no-c-format
+ msgid "Duplicate symbol '%s' in formal argument list at %C"
+ msgstr ""
+
+-#: fortran/decl.c:3822
++#: fortran/decl.c:3912
+ #, no-c-format
+ msgid "RESULT variable at %C must be different than function name"
+ msgstr ""
+
+-#: fortran/decl.c:3892
++#: fortran/decl.c:3990
+ #, fuzzy, no-c-format
+ msgid "Unexpected junk after function declaration at %C"
+ msgstr "ÑÐµÐºÑ†Ñ‹Ñ \"%s\" канфліктуе з папÑÑ€ÑднÑй дÑкларацыÑй"
+
+-#: fortran/decl.c:3951
++#: fortran/decl.c:4000 fortran/decl.c:4734
+ #, no-c-format
++msgid "Extension: BIND(C) attribute at %L may not be specified for an internal procedure"
++msgstr ""
++
++#: fortran/decl.c:4066
++#, no-c-format
+ msgid "Interface '%s' at %C may not be generic"
+ msgstr ""
+
+-#: fortran/decl.c:3956
++#: fortran/decl.c:4071
+ #, no-c-format
+ msgid "Interface '%s' at %C may not be a statement function"
+ msgstr ""
+
+-#: fortran/decl.c:3967
++#: fortran/decl.c:4082
+ #, no-c-format
+ msgid "Intrinsic procedure '%s' not allowed in PROCEDURE statement at %C"
+ msgstr ""
+
+-#: fortran/decl.c:3975
++#: fortran/decl.c:4118
+ #, no-c-format
+-msgid "Fortran 2003: Support for intrinsic procedure '%s' in PROCEDURE statement at %C not yet implemented in gfortran"
+-msgstr ""
+-
+-#: fortran/decl.c:4014
+-#, no-c-format
+ msgid "BIND(C) attribute at %C requires an interface with BIND(C)"
+ msgstr ""
+
+-#: fortran/decl.c:4021
++#: fortran/decl.c:4125
+ #, no-c-format
+ msgid "BIND(C) procedure with NAME may not have POINTER attribute at %C"
+ msgstr ""
+
+-#: fortran/decl.c:4027
++#: fortran/decl.c:4131
+ #, no-c-format
+ msgid "Dummy procedure at %C may not have BIND(C) attribute with NAME"
+ msgstr ""
+
+-#: fortran/decl.c:4060 fortran/decl.c:4103
++#: fortran/decl.c:4167 fortran/decl.c:4210
+ #, no-c-format
+ msgid "Syntax error in PROCEDURE statement at %C"
+ msgstr ""
+
+-#: fortran/decl.c:4077
++#: fortran/decl.c:4184
+ #, no-c-format
+ msgid "PROCEDURE at %C must be in a generic interface"
+ msgstr ""
+
+-#: fortran/decl.c:4128
++#: fortran/decl.c:4235
+ #, no-c-format
+ msgid "Fortran 2003: Procedure components at %C are not yet implemented in gfortran"
+ msgstr ""
+
+-#: fortran/decl.c:4138
++#: fortran/decl.c:4245
+ #, no-c-format
+ msgid "Fortran 2003: PROCEDURE statement at %C"
+ msgstr ""
+
+-#: fortran/decl.c:4186
++#: fortran/decl.c:4293
+ #, no-c-format
+ msgid "Expected formal argument list in function definition at %C"
+ msgstr ""
+
+-#: fortran/decl.c:4210 fortran/decl.c:4214 fortran/decl.c:4536
+-#: fortran/decl.c:4540 fortran/symbol.c:1402
++#: fortran/decl.c:4317 fortran/decl.c:4321 fortran/decl.c:4520
++#: fortran/decl.c:4524 fortran/decl.c:4702 fortran/decl.c:4706
++#: fortran/symbol.c:1402
+ #, no-c-format
+ msgid "BIND(C) attribute at %L can only be used for variables or common blocks"
+ msgstr ""
+
+-#: fortran/decl.c:4246
++#: fortran/decl.c:4353
+ #, no-c-format
+ msgid "Function '%s' at %C already has a type of %s"
+ msgstr ""
+
+-#: fortran/decl.c:4322
++#: fortran/decl.c:4441
+ #, no-c-format
+ msgid "ENTRY statement at %C cannot appear within a PROGRAM"
+ msgstr ""
+
+-#: fortran/decl.c:4325
++#: fortran/decl.c:4444
+ #, no-c-format
+ msgid "ENTRY statement at %C cannot appear within a MODULE"
+ msgstr ""
+
+-#: fortran/decl.c:4328
++#: fortran/decl.c:4447
+ #, no-c-format
+ msgid "ENTRY statement at %C cannot appear within a BLOCK DATA"
+ msgstr ""
+
+-#: fortran/decl.c:4332
++#: fortran/decl.c:4451
+ #, no-c-format
+ msgid "ENTRY statement at %C cannot appear within an INTERFACE"
+ msgstr ""
+
+-#: fortran/decl.c:4336
++#: fortran/decl.c:4455
+ #, no-c-format
+ msgid "ENTRY statement at %C cannot appear within a DERIVED TYPE block"
+ msgstr ""
+
+-#: fortran/decl.c:4340
++#: fortran/decl.c:4459
+ #, no-c-format
+ msgid "ENTRY statement at %C cannot appear within an IF-THEN block"
+ msgstr ""
+
+-#: fortran/decl.c:4344
++#: fortran/decl.c:4463
+ #, no-c-format
+ msgid "ENTRY statement at %C cannot appear within a DO block"
+ msgstr ""
+
+-#: fortran/decl.c:4348
++#: fortran/decl.c:4467
+ #, no-c-format
+ msgid "ENTRY statement at %C cannot appear within a SELECT block"
+ msgstr ""
+
+-#: fortran/decl.c:4352
++#: fortran/decl.c:4471
+ #, no-c-format
+ msgid "ENTRY statement at %C cannot appear within a FORALL block"
+ msgstr ""
+
+-#: fortran/decl.c:4356
++#: fortran/decl.c:4475
+ #, no-c-format
+ msgid "ENTRY statement at %C cannot appear within a WHERE block"
+ msgstr ""
+
+-#: fortran/decl.c:4360
++#: fortran/decl.c:4479
+ #, no-c-format
+ msgid "ENTRY statement at %C cannot appear within a contained subprogram"
+ msgstr ""
+
+-#: fortran/decl.c:4378
++#: fortran/decl.c:4497
+ #, no-c-format
+ msgid "ENTRY statement at %C cannot appear in a contained procedure"
+ msgstr ""
+
+-#: fortran/decl.c:4560
++#: fortran/decl.c:4552 fortran/decl.c:4742
+ #, no-c-format
+ msgid "Missing required parentheses before BIND(C) at %C"
+ msgstr ""
+
+-#: fortran/decl.c:4618 fortran/decl.c:4634
++#: fortran/decl.c:4801 fortran/decl.c:4817
+ #, no-c-format
+ msgid "Syntax error in NAME= specifier for binding label at %C"
+ msgstr ""
+
+-#: fortran/decl.c:4649
++#: fortran/decl.c:4832
+ #, no-c-format
+ msgid "Missing closing quote '\"' for binding label at %C"
+ msgstr ""
+
+-#: fortran/decl.c:4658
++#: fortran/decl.c:4841
+ #, no-c-format
+ msgid "Missing closing quote ''' for binding label at %C"
+ msgstr ""
+
+-#: fortran/decl.c:4668
++#: fortran/decl.c:4851
+ #, no-c-format
+ msgid "Missing closing paren for binding label at %C"
+ msgstr ""
+
+-#: fortran/decl.c:4703
++#: fortran/decl.c:4857
+ #, no-c-format
++msgid "No binding name is allowed in BIND(C) at %C"
++msgstr ""
++
++#: fortran/decl.c:4863
++#, no-c-format
++msgid "For dummy procedure %s, no binding name is allowed in BIND(C) at %C"
++msgstr ""
++
++#: fortran/decl.c:4894
++#, no-c-format
+ msgid "NAME not allowed on BIND(C) for ABSTRACT INTERFACE at %C"
+ msgstr ""
+
+-#: fortran/decl.c:4876
++#: fortran/decl.c:5066
+ #, no-c-format
+ msgid "Unexpected END statement at %C"
+ msgstr ""
+
+ #. We would have required END [something].
+-#: fortran/decl.c:4885
++#: fortran/decl.c:5075
+ #, no-c-format
+ msgid "%s statement expected at %L"
+ msgstr ""
+
+-#: fortran/decl.c:4896
++#: fortran/decl.c:5086
+ #, no-c-format
+ msgid "Expecting %s statement at %C"
+ msgstr ""
+
+-#: fortran/decl.c:4911
++#: fortran/decl.c:5101
+ #, no-c-format
+ msgid "Expected block name of '%s' in %s statement at %C"
+ msgstr ""
+
+-#: fortran/decl.c:4928
++#: fortran/decl.c:5118
+ #, no-c-format
+ msgid "Expected terminating name at %C"
+ msgstr ""
+
+-#: fortran/decl.c:4937
++#: fortran/decl.c:5127
+ #, no-c-format
+ msgid "Expected label '%s' for %s statement at %C"
+ msgstr ""
+
+-#: fortran/decl.c:4991
++#: fortran/decl.c:5181
+ #, no-c-format
+ msgid "Missing array specification at %L in DIMENSION statement"
+ msgstr ""
+
+-#: fortran/decl.c:5000
++#: fortran/decl.c:5189
+ #, no-c-format
++msgid "Dimensions specified for %s at %L after its initialisation"
++msgstr ""
++
++#: fortran/decl.c:5198
++#, no-c-format
+ msgid "Array specification must be deferred at %L"
+ msgstr ""
+
+-#: fortran/decl.c:5077
++#: fortran/decl.c:5275
+ #, no-c-format
+ msgid "Unexpected character in variable list at %C"
+ msgstr ""
+
+-#: fortran/decl.c:5114
++#: fortran/decl.c:5312
+ #, no-c-format
+ msgid "Expected '(' at %C"
+ msgstr ""
+
+-#: fortran/decl.c:5128 fortran/decl.c:5168
++#: fortran/decl.c:5326 fortran/decl.c:5366
+ #, no-c-format
+ msgid "Expected variable name at %C"
+ msgstr ""
+
+-#: fortran/decl.c:5144
++#: fortran/decl.c:5342
+ #, no-c-format
+ msgid "Cray pointer at %C must be an integer"
+ msgstr ""
+
+-#: fortran/decl.c:5148
++#: fortran/decl.c:5346
+ #, no-c-format
+ msgid "Cray pointer at %C has %d bytes of precision; memory addresses require %d bytes"
+ msgstr ""
+
+-#: fortran/decl.c:5154
++#: fortran/decl.c:5352
+ #, no-c-format
+ msgid "Expected \",\" at %C"
+ msgstr ""
+
+-#: fortran/decl.c:5217
++#: fortran/decl.c:5415
+ #, no-c-format
+ msgid "Expected \")\" at %C"
+ msgstr ""
+
+-#: fortran/decl.c:5229
++#: fortran/decl.c:5427
+ #, no-c-format
+ msgid "Expected \",\" or end of statement at %C"
+ msgstr ""
+
+-#: fortran/decl.c:5293
++#: fortran/decl.c:5491
+ #, no-c-format
+ msgid "Cray pointer declaration at %C requires -fcray-pointer flag"
+ msgstr ""
+
+-#: fortran/decl.c:5388
++#: fortran/decl.c:5586
+ #, no-c-format
+ msgid "Access specification of the %s operator at %C has already been specified"
+ msgstr ""
+
+-#: fortran/decl.c:5405
++#: fortran/decl.c:5603
+ #, no-c-format
+ msgid "Access specification of the .%s. operator at %C has already been specified"
+ msgstr ""
+
+-#: fortran/decl.c:5443
++#: fortran/decl.c:5641
+ #, no-c-format
+ msgid "Fortran 2003: PROTECTED statement at %C"
+ msgstr ""
+
+-#: fortran/decl.c:5483
++#: fortran/decl.c:5681
+ #, no-c-format
+ msgid "Syntax error in PROTECTED statement at %C"
+ msgstr ""
+
+-#: fortran/decl.c:5504
++#: fortran/decl.c:5702
+ #, no-c-format
+ msgid "PRIVATE statement at %C is only allowed in the specification part of a module"
+ msgstr ""
+
+-#: fortran/decl.c:5541
++#: fortran/decl.c:5739
+ #, no-c-format
+ msgid "PUBLIC statement at %C is only allowed in the specification part of a module"
+ msgstr ""
+
+-#: fortran/decl.c:5568
++#: fortran/decl.c:5766
+ #, no-c-format
+ msgid "Expected variable name at %C in PARAMETER statement"
+ msgstr ""
+
+-#: fortran/decl.c:5575
++#: fortran/decl.c:5773
+ #, no-c-format
+ msgid "Expected = sign in PARAMETER statement at %C"
+ msgstr ""
+
+-#: fortran/decl.c:5581
++#: fortran/decl.c:5779
+ #, no-c-format
+ msgid "Expected expression at %C in PARAMETER statement"
+ msgstr ""
+
+-#: fortran/decl.c:5639
++#: fortran/decl.c:5799
+ #, no-c-format
++msgid "Initializing already initialized variable at %C"
++msgstr ""
++
++#: fortran/decl.c:5844
++#, no-c-format
+ msgid "Unexpected characters in PARAMETER statement at %C"
+ msgstr ""
+
+-#: fortran/decl.c:5663
++#: fortran/decl.c:5868
+ #, no-c-format
+ msgid "Blanket SAVE statement at %C follows previous SAVE statement"
+ msgstr ""
+
+-#: fortran/decl.c:5675
++#: fortran/decl.c:5880
+ #, no-c-format
+ msgid "SAVE statement at %C follows blanket SAVE statement"
+ msgstr ""
+
+-#: fortran/decl.c:5722
++#: fortran/decl.c:5927
+ #, no-c-format
+ msgid "Syntax error in SAVE statement at %C"
+ msgstr ""
+
+-#: fortran/decl.c:5733
++#: fortran/decl.c:5938
+ #, no-c-format
+ msgid "Fortran 2003: VALUE statement at %C"
+ msgstr ""
+
+-#: fortran/decl.c:5773
++#: fortran/decl.c:5978
+ #, no-c-format
+ msgid "Syntax error in VALUE statement at %C"
+ msgstr ""
+
+-#: fortran/decl.c:5784
++#: fortran/decl.c:5989
+ #, no-c-format
+ msgid "Fortran 2003: VOLATILE statement at %C"
+ msgstr ""
+
+-#: fortran/decl.c:5826
++#: fortran/decl.c:6031
+ #, no-c-format
+ msgid "Syntax error in VOLATILE statement at %C"
+ msgstr ""
+
+-#: fortran/decl.c:5848
++#: fortran/decl.c:6054
+ #, no-c-format
+ msgid "MODULE PROCEDURE at %C must be in a generic module interface"
+ msgstr ""
+
+-#: fortran/decl.c:5910
++#: fortran/decl.c:6142
+ #, no-c-format
+ msgid "Derived type at %C can only be PRIVATE in the specification part of a module"
+ msgstr ""
+
+-#: fortran/decl.c:5922
++#: fortran/decl.c:6154
+ #, no-c-format
+ msgid "Derived type at %C can only be PUBLIC in the specification part of a module"
+ msgstr ""
+
+-#: fortran/decl.c:5979
++#: fortran/decl.c:6211
+ #, no-c-format
+ msgid "Expected :: in TYPE definition at %C"
+ msgstr ""
+
+-#: fortran/decl.c:5990
++#: fortran/decl.c:6222
+ #, no-c-format
+ msgid "Type name '%s' at %C cannot be the same as an intrinsic type"
+ msgstr ""
+
+-#: fortran/decl.c:6000
++#: fortran/decl.c:6232
+ #, no-c-format
+ msgid "Derived type name '%s' at %C already has a basic type of %s"
+ msgstr ""
+
+-#: fortran/decl.c:6016
++#: fortran/decl.c:6248
+ #, no-c-format
+ msgid "Derived type definition of '%s' at %C has already been defined"
+ msgstr ""
+
+-#: fortran/decl.c:6054
++#: fortran/decl.c:6286
+ #, no-c-format
+ msgid "Cray Pointee at %C cannot be assumed shape array"
+ msgstr ""
+
+-#: fortran/decl.c:6074
++#: fortran/decl.c:6306
+ #, no-c-format
+ msgid "Fortran 2003: ENUM and ENUMERATOR at %C"
+ msgstr ""
+
+-#: fortran/decl.c:6146
++#: fortran/decl.c:6378
+ #, no-c-format
+ msgid "ENUMERATOR %L not initialized with integer expression"
+ msgstr ""
+
+-#: fortran/decl.c:6195
++#: fortran/decl.c:6427
+ #, no-c-format
+ msgid "ENUM definition statement expected before %C"
+ msgstr ""
+
+-#: fortran/decl.c:6228
++#: fortran/decl.c:6460
+ #, no-c-format
+ msgid "Syntax error in ENUMERATOR definition at %C"
+ msgstr ""
+@@ -5129,21 +5087,21 @@
+ msgid " "
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:73 fortran/dump-parse-tree.c:626
++#: fortran/dump-parse-tree.c:73 fortran/dump-parse-tree.c:637
+ #, c-format
+ msgid "(%s "
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:86 fortran/dump-parse-tree.c:1069
+-#: fortran/dump-parse-tree.c:1113 fortran/dump-parse-tree.c:1123
++#: fortran/dump-parse-tree.c:86 fortran/dump-parse-tree.c:1091
++#: fortran/dump-parse-tree.c:1135 fortran/dump-parse-tree.c:1145
+ #, c-format
+ msgid "%d"
+ msgstr ""
+
+ #: fortran/dump-parse-tree.c:90 fortran/dump-parse-tree.c:116
+ #: fortran/dump-parse-tree.c:159 fortran/dump-parse-tree.c:395
+-#: fortran/dump-parse-tree.c:518 fortran/dump-parse-tree.c:613
+-#: fortran/dump-parse-tree.c:636
++#: fortran/dump-parse-tree.c:518 fortran/dump-parse-tree.c:624
++#: fortran/dump-parse-tree.c:647
+ #, c-format
+ msgid ")"
+ msgstr ""
+@@ -5281,7 +5239,7 @@
+ msgid "%.2x"
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:429 fortran/dump-parse-tree.c:732
++#: fortran/dump-parse-tree.c:429 fortran/dump-parse-tree.c:754
+ #, fuzzy, c-format
+ msgid "%s:"
+ msgstr "%s\n"
+@@ -5396,750 +5354,755 @@
+ msgid "%s[["
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:551
++#: fortran/dump-parse-tree.c:560
+ #, c-format
+ msgid "(%s %s %s %s %s"
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:558
++#: fortran/dump-parse-tree.c:567
+ #, c-format
+ msgid " ALLOCATABLE"
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:560 fortran/dump-parse-tree.c:631
++#: fortran/dump-parse-tree.c:569 fortran/dump-parse-tree.c:642
+ #, c-format
+ msgid " DIMENSION"
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:562
++#: fortran/dump-parse-tree.c:571
+ #, c-format
+ msgid " EXTERNAL"
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:564
++#: fortran/dump-parse-tree.c:573
+ #, c-format
+ msgid " INTRINSIC"
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:566
++#: fortran/dump-parse-tree.c:575
+ #, c-format
+ msgid " OPTIONAL"
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:568 fortran/dump-parse-tree.c:629
++#: fortran/dump-parse-tree.c:577 fortran/dump-parse-tree.c:640
+ #, c-format
+ msgid " POINTER"
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:570
++#: fortran/dump-parse-tree.c:579
+ #, c-format
+ msgid " PROTECTED"
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:572
++#: fortran/dump-parse-tree.c:581
+ #, c-format
+ msgid " VALUE"
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:574
++#: fortran/dump-parse-tree.c:583
+ #, c-format
+ msgid " VOLATILE"
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:576
++#: fortran/dump-parse-tree.c:585
+ #, c-format
+ msgid " THREADPRIVATE"
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:578
++#: fortran/dump-parse-tree.c:587
+ #, c-format
+ msgid " TARGET"
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:580
++#: fortran/dump-parse-tree.c:589
+ #, c-format
+ msgid " DUMMY"
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:582
++#: fortran/dump-parse-tree.c:591
+ #, c-format
+ msgid " RESULT"
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:584
++#: fortran/dump-parse-tree.c:593
+ #, c-format
+ msgid " ENTRY"
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:587
++#: fortran/dump-parse-tree.c:595
+ #, c-format
++msgid " BIND(C)"
++msgstr ""
++
++#: fortran/dump-parse-tree.c:598
++#, c-format
+ msgid " DATA"
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:589
++#: fortran/dump-parse-tree.c:600
+ #, c-format
+ msgid " USE-ASSOC"
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:591
++#: fortran/dump-parse-tree.c:602
+ #, c-format
+ msgid " IN-NAMELIST"
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:593
++#: fortran/dump-parse-tree.c:604
+ #, c-format
+ msgid " IN-COMMON"
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:596
++#: fortran/dump-parse-tree.c:607
+ #, c-format
+ msgid " ABSTRACT INTERFACE"
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:598
++#: fortran/dump-parse-tree.c:609
+ #, c-format
+ msgid " FUNCTION"
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:600
++#: fortran/dump-parse-tree.c:611
+ #, c-format
+ msgid " SUBROUTINE"
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:602
++#: fortran/dump-parse-tree.c:613
+ #, c-format
+ msgid " IMPLICIT-TYPE"
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:605
++#: fortran/dump-parse-tree.c:616
+ #, c-format
+ msgid " SEQUENCE"
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:607
++#: fortran/dump-parse-tree.c:618
+ #, c-format
+ msgid " ELEMENTAL"
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:609
++#: fortran/dump-parse-tree.c:620
+ #, c-format
+ msgid " PURE"
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:611
++#: fortran/dump-parse-tree.c:622
+ #, c-format
+ msgid " RECURSIVE"
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:635 fortran/dump-parse-tree.c:682
+-#: fortran/dump-parse-tree.c:706 fortran/dump-parse-tree.c:735
+-#: fortran/dump-parse-tree.c:1276 fortran/dump-parse-tree.c:1282
+-#: fortran/dump-parse-tree.c:1784
++#: fortran/dump-parse-tree.c:646 fortran/dump-parse-tree.c:693
++#: fortran/dump-parse-tree.c:717 fortran/dump-parse-tree.c:757
++#: fortran/dump-parse-tree.c:1298 fortran/dump-parse-tree.c:1304
++#: fortran/dump-parse-tree.c:1806
+ #, c-format
+ msgid " %s"
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:659
++#: fortran/dump-parse-tree.c:670
+ #, c-format
+ msgid "symbol %s "
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:666
++#: fortran/dump-parse-tree.c:677
+ #, c-format
+ msgid "value: "
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:673
++#: fortran/dump-parse-tree.c:684
+ #, c-format
+ msgid "Array spec:"
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:680
++#: fortran/dump-parse-tree.c:691
+ #, c-format
+ msgid "Generic interfaces:"
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:688
++#: fortran/dump-parse-tree.c:699
+ #, c-format
+ msgid "result: %s"
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:694
++#: fortran/dump-parse-tree.c:705
+ #, c-format
+ msgid "components: "
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:701
++#: fortran/dump-parse-tree.c:712
+ #, c-format
+ msgid "Formal arglist:"
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:708
++#: fortran/dump-parse-tree.c:719
+ #, c-format
+ msgid " [Alt Return]"
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:715
++#: fortran/dump-parse-tree.c:726
+ #, c-format
+ msgid "Formal namespace"
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:771
++#: fortran/dump-parse-tree.c:793
+ #, c-format
+ msgid "common: /%s/ "
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:779 fortran/dump-parse-tree.c:1720
++#: fortran/dump-parse-tree.c:801 fortran/dump-parse-tree.c:1742
+ #, c-format
+ msgid ", "
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:791
++#: fortran/dump-parse-tree.c:813
+ #, c-format
+ msgid "symtree: %s Ambig %d"
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:794
++#: fortran/dump-parse-tree.c:816
+ #, fuzzy, c-format
+ msgid " from namespace %s"
+ msgstr "невÑдомы Ñ€Ñжым машыны \"%s\""
+
+-#: fortran/dump-parse-tree.c:820
++#: fortran/dump-parse-tree.c:842
+ #, fuzzy, c-format
+ msgid "%s,"
+ msgstr "%s\n"
+
+-#: fortran/dump-parse-tree.c:852
++#: fortran/dump-parse-tree.c:874
+ #, c-format
+ msgid "!$OMP %s"
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:867 fortran/dump-parse-tree.c:1010
++#: fortran/dump-parse-tree.c:889 fortran/dump-parse-tree.c:1032
+ #, c-format
+ msgid " (%s)"
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:872
++#: fortran/dump-parse-tree.c:894
+ #, c-format
+ msgid " ("
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:888
++#: fortran/dump-parse-tree.c:910
+ #, c-format
+ msgid " IF("
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:894
++#: fortran/dump-parse-tree.c:916
+ #, c-format
+ msgid " NUM_THREADS("
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:910
++#: fortran/dump-parse-tree.c:932
+ #, c-format
+ msgid " SCHEDULE (%s"
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:930
++#: fortran/dump-parse-tree.c:952
+ #, c-format
+ msgid " DEFAULT(%s)"
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:933
++#: fortran/dump-parse-tree.c:955
+ #, c-format
+ msgid " ORDERED"
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:958
++#: fortran/dump-parse-tree.c:980
+ #, c-format
+ msgid " REDUCTION(%s:"
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:972
++#: fortran/dump-parse-tree.c:994
+ #, c-format
+ msgid " %s("
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:988
++#: fortran/dump-parse-tree.c:1010
+ #, c-format
+ msgid "!$OMP SECTION\n"
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:997
++#: fortran/dump-parse-tree.c:1019
+ #, c-format
+ msgid "!$OMP END %s"
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:1002
++#: fortran/dump-parse-tree.c:1024
+ #, c-format
+ msgid " COPYPRIVATE("
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:1007
++#: fortran/dump-parse-tree.c:1029
+ #, c-format
+ msgid " NOWAIT"
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:1034
++#: fortran/dump-parse-tree.c:1056
+ #, c-format
+ msgid "NOP"
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:1038
++#: fortran/dump-parse-tree.c:1060
+ #, c-format
+ msgid "CONTINUE"
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:1042
++#: fortran/dump-parse-tree.c:1064
+ #, c-format
+ msgid "ENTRY %s"
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:1047
++#: fortran/dump-parse-tree.c:1069
+ #, c-format
+ msgid "ASSIGN "
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:1054
++#: fortran/dump-parse-tree.c:1076
+ #, c-format
+ msgid "LABEL ASSIGN "
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:1056
++#: fortran/dump-parse-tree.c:1078
+ #, c-format
+ msgid " %d"
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:1060
++#: fortran/dump-parse-tree.c:1082
+ #, c-format
+ msgid "POINTER ASSIGN "
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:1067
++#: fortran/dump-parse-tree.c:1089
+ #, c-format
+ msgid "GOTO "
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:1076
++#: fortran/dump-parse-tree.c:1098
+ #, c-format
+ msgid ", ("
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:1092 fortran/dump-parse-tree.c:1094
++#: fortran/dump-parse-tree.c:1114 fortran/dump-parse-tree.c:1116
+ #, c-format
+ msgid "CALL %s "
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:1096
++#: fortran/dump-parse-tree.c:1118
+ #, c-format
+ msgid "CALL ?? "
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:1102
++#: fortran/dump-parse-tree.c:1124
+ #, c-format
+ msgid "RETURN "
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:1108
++#: fortran/dump-parse-tree.c:1130
+ #, c-format
+ msgid "PAUSE "
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:1118
++#: fortran/dump-parse-tree.c:1140
+ #, c-format
+ msgid "STOP "
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:1128 fortran/dump-parse-tree.c:1136
++#: fortran/dump-parse-tree.c:1150 fortran/dump-parse-tree.c:1158
+ #, c-format
+ msgid "IF "
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:1130
++#: fortran/dump-parse-tree.c:1152
+ #, c-format
+ msgid " %d, %d, %d"
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:1147
++#: fortran/dump-parse-tree.c:1169
+ #, c-format
+ msgid "ELSE\n"
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:1150
++#: fortran/dump-parse-tree.c:1172
+ #, c-format
+ msgid "ELSE IF "
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:1160
++#: fortran/dump-parse-tree.c:1182
+ #, c-format
+ msgid "ENDIF"
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:1165
++#: fortran/dump-parse-tree.c:1187
+ #, c-format
+ msgid "SELECT CASE "
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:1173
++#: fortran/dump-parse-tree.c:1195
+ #, c-format
+ msgid "CASE "
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:1189
++#: fortran/dump-parse-tree.c:1211
+ #, c-format
+ msgid "END SELECT"
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:1193
++#: fortran/dump-parse-tree.c:1215
+ #, c-format
+ msgid "WHERE "
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:1204
++#: fortran/dump-parse-tree.c:1226
+ #, c-format
+ msgid "ELSE WHERE "
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:1211
++#: fortran/dump-parse-tree.c:1233
+ #, c-format
+ msgid "END WHERE"
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:1216
++#: fortran/dump-parse-tree.c:1238
+ #, c-format
+ msgid "FORALL "
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:1241
++#: fortran/dump-parse-tree.c:1263
+ #, c-format
+ msgid "END FORALL"
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:1245
++#: fortran/dump-parse-tree.c:1267
+ #, c-format
+ msgid "DO "
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:1259 fortran/dump-parse-tree.c:1270
++#: fortran/dump-parse-tree.c:1281 fortran/dump-parse-tree.c:1292
+ #, c-format
+ msgid "END DO"
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:1263
++#: fortran/dump-parse-tree.c:1285
+ #, c-format
+ msgid "DO WHILE "
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:1274
++#: fortran/dump-parse-tree.c:1296
+ #, c-format
+ msgid "CYCLE"
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:1280
++#: fortran/dump-parse-tree.c:1302
+ #, c-format
+ msgid "EXIT"
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:1286
++#: fortran/dump-parse-tree.c:1308
+ #, c-format
+ msgid "ALLOCATE "
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:1289 fortran/dump-parse-tree.c:1305
++#: fortran/dump-parse-tree.c:1311 fortran/dump-parse-tree.c:1327
+ #, c-format
+ msgid " STAT="
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:1302
++#: fortran/dump-parse-tree.c:1324
+ #, c-format
+ msgid "DEALLOCATE "
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:1318
++#: fortran/dump-parse-tree.c:1340
+ #, c-format
+ msgid "OPEN"
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:1323 fortran/dump-parse-tree.c:1402
+-#: fortran/dump-parse-tree.c:1444 fortran/dump-parse-tree.c:1467
+-#: fortran/dump-parse-tree.c:1619
++#: fortran/dump-parse-tree.c:1345 fortran/dump-parse-tree.c:1424
++#: fortran/dump-parse-tree.c:1466 fortran/dump-parse-tree.c:1489
++#: fortran/dump-parse-tree.c:1641
+ #, c-format
+ msgid " UNIT="
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:1328 fortran/dump-parse-tree.c:1407
+-#: fortran/dump-parse-tree.c:1449 fortran/dump-parse-tree.c:1478
+-#: fortran/dump-parse-tree.c:1636
++#: fortran/dump-parse-tree.c:1350 fortran/dump-parse-tree.c:1429
++#: fortran/dump-parse-tree.c:1471 fortran/dump-parse-tree.c:1500
++#: fortran/dump-parse-tree.c:1658
+ #, c-format
+ msgid " IOMSG="
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:1333 fortran/dump-parse-tree.c:1412
+-#: fortran/dump-parse-tree.c:1454 fortran/dump-parse-tree.c:1483
+-#: fortran/dump-parse-tree.c:1641
++#: fortran/dump-parse-tree.c:1355 fortran/dump-parse-tree.c:1434
++#: fortran/dump-parse-tree.c:1476 fortran/dump-parse-tree.c:1505
++#: fortran/dump-parse-tree.c:1663
+ #, c-format
+ msgid " IOSTAT="
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:1338 fortran/dump-parse-tree.c:1472
++#: fortran/dump-parse-tree.c:1360 fortran/dump-parse-tree.c:1494
+ #, c-format
+ msgid " FILE="
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:1343 fortran/dump-parse-tree.c:1417
++#: fortran/dump-parse-tree.c:1365 fortran/dump-parse-tree.c:1439
+ #, c-format
+ msgid " STATUS="
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:1348 fortran/dump-parse-tree.c:1513
++#: fortran/dump-parse-tree.c:1370 fortran/dump-parse-tree.c:1535
+ #, c-format
+ msgid " ACCESS="
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:1353 fortran/dump-parse-tree.c:1529
++#: fortran/dump-parse-tree.c:1375 fortran/dump-parse-tree.c:1551
+ #, c-format
+ msgid " FORM="
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:1358 fortran/dump-parse-tree.c:1544
++#: fortran/dump-parse-tree.c:1380 fortran/dump-parse-tree.c:1566
+ #, c-format
+ msgid " RECL="
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:1363 fortran/dump-parse-tree.c:1554
++#: fortran/dump-parse-tree.c:1385 fortran/dump-parse-tree.c:1576
+ #, c-format
+ msgid " BLANK="
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:1368 fortran/dump-parse-tree.c:1559
++#: fortran/dump-parse-tree.c:1390 fortran/dump-parse-tree.c:1581
+ #, c-format
+ msgid " POSITION="
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:1373 fortran/dump-parse-tree.c:1564
++#: fortran/dump-parse-tree.c:1395 fortran/dump-parse-tree.c:1586
+ #, c-format
+ msgid " ACTION="
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:1378 fortran/dump-parse-tree.c:1584
++#: fortran/dump-parse-tree.c:1400 fortran/dump-parse-tree.c:1606
+ #, c-format
+ msgid " DELIM="
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:1383 fortran/dump-parse-tree.c:1589
++#: fortran/dump-parse-tree.c:1405 fortran/dump-parse-tree.c:1611
+ #, c-format
+ msgid " PAD="
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:1388 fortran/dump-parse-tree.c:1594
++#: fortran/dump-parse-tree.c:1410 fortran/dump-parse-tree.c:1616
+ #, c-format
+ msgid " CONVERT="
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:1392 fortran/dump-parse-tree.c:1421
+-#: fortran/dump-parse-tree.c:1458 fortran/dump-parse-tree.c:1599
+-#: fortran/dump-parse-tree.c:1676
++#: fortran/dump-parse-tree.c:1414 fortran/dump-parse-tree.c:1443
++#: fortran/dump-parse-tree.c:1480 fortran/dump-parse-tree.c:1621
++#: fortran/dump-parse-tree.c:1698
+ #, c-format
+ msgid " ERR=%d"
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:1397
++#: fortran/dump-parse-tree.c:1419
+ #, c-format
+ msgid "CLOSE"
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:1425
++#: fortran/dump-parse-tree.c:1447
+ #, c-format
+ msgid "BACKSPACE"
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:1429
++#: fortran/dump-parse-tree.c:1451
+ #, c-format
+ msgid "ENDFILE"
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:1433
++#: fortran/dump-parse-tree.c:1455
+ #, c-format
+ msgid "REWIND"
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:1437
++#: fortran/dump-parse-tree.c:1459
+ #, c-format
+ msgid "FLUSH"
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:1462
++#: fortran/dump-parse-tree.c:1484
+ #, c-format
+ msgid "INQUIRE"
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:1488
++#: fortran/dump-parse-tree.c:1510
+ #, c-format
+ msgid " EXIST="
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:1493
++#: fortran/dump-parse-tree.c:1515
+ #, c-format
+ msgid " OPENED="
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:1498
++#: fortran/dump-parse-tree.c:1520
+ #, c-format
+ msgid " NUMBER="
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:1503
++#: fortran/dump-parse-tree.c:1525
+ #, c-format
+ msgid " NAMED="
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:1508
++#: fortran/dump-parse-tree.c:1530
+ #, c-format
+ msgid " NAME="
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:1518
++#: fortran/dump-parse-tree.c:1540
+ #, c-format
+ msgid " SEQUENTIAL="
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:1524
++#: fortran/dump-parse-tree.c:1546
+ #, c-format
+ msgid " DIRECT="
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:1534
++#: fortran/dump-parse-tree.c:1556
+ #, c-format
+ msgid " FORMATTED"
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:1539
++#: fortran/dump-parse-tree.c:1561
+ #, c-format
+ msgid " UNFORMATTED="
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:1549
++#: fortran/dump-parse-tree.c:1571
+ #, c-format
+ msgid " NEXTREC="
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:1569
++#: fortran/dump-parse-tree.c:1591
+ #, c-format
+ msgid " READ="
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:1574
++#: fortran/dump-parse-tree.c:1596
+ #, c-format
+ msgid " WRITE="
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:1579
++#: fortran/dump-parse-tree.c:1601
+ #, c-format
+ msgid " READWRITE="
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:1603
++#: fortran/dump-parse-tree.c:1625
+ #, c-format
+ msgid "IOLENGTH "
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:1609
++#: fortran/dump-parse-tree.c:1631
+ #, c-format
+ msgid "READ"
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:1613
++#: fortran/dump-parse-tree.c:1635
+ #, c-format
+ msgid "WRITE"
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:1625
++#: fortran/dump-parse-tree.c:1647
+ #, c-format
+ msgid " FMT="
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:1630
++#: fortran/dump-parse-tree.c:1652
+ #, c-format
+ msgid " FMT=%d"
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:1632
++#: fortran/dump-parse-tree.c:1654
+ #, c-format
+ msgid " NML=%s"
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:1646
++#: fortran/dump-parse-tree.c:1668
+ #, c-format
+ msgid " SIZE="
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:1651
++#: fortran/dump-parse-tree.c:1673
+ #, c-format
+ msgid " REC="
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:1656
++#: fortran/dump-parse-tree.c:1678
+ #, c-format
+ msgid " ADVANCE="
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:1667
++#: fortran/dump-parse-tree.c:1689
+ #, c-format
+ msgid "TRANSFER "
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:1672
++#: fortran/dump-parse-tree.c:1694
+ #, c-format
+ msgid "DT_END"
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:1678
++#: fortran/dump-parse-tree.c:1700
+ #, c-format
+ msgid " END=%d"
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:1680
++#: fortran/dump-parse-tree.c:1702
+ #, c-format
+ msgid " EOR=%d"
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:1714
++#: fortran/dump-parse-tree.c:1736
+ #, c-format
+ msgid "Equivalence: "
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:1740
++#: fortran/dump-parse-tree.c:1762
+ #, c-format
+ msgid "Namespace:"
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:1754
++#: fortran/dump-parse-tree.c:1776
+ #, c-format
+ msgid " %c-%c: "
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:1756
++#: fortran/dump-parse-tree.c:1778
+ #, fuzzy, c-format
+ msgid " %c: "
+ msgstr "%s: %s: "
+
+-#: fortran/dump-parse-tree.c:1765
++#: fortran/dump-parse-tree.c:1787
+ #, c-format
+ msgid "procedure name = %s"
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:1781
++#: fortran/dump-parse-tree.c:1803
+ #, fuzzy, c-format
+ msgid "Operator interfaces for %s:"
+ msgstr ""
+ "\n"
+ " Выбары Ð´Ð»Ñ %s:\n"
+
+-#: fortran/dump-parse-tree.c:1790
++#: fortran/dump-parse-tree.c:1812
+ #, fuzzy, c-format
+ msgid "User operators:\n"
+ msgstr "нераÑпазнаны аператар %s"
+
+-#: fortran/dump-parse-tree.c:1806
++#: fortran/dump-parse-tree.c:1828
+ #, c-format
+ msgid "CONTAINS\n"
+ msgstr ""
+@@ -6159,310 +6122,350 @@
+ msgid "Error count reached limit of %d."
+ msgstr ""
+
+-#: fortran/error.c:670 fortran/error.c:725 fortran/error.c:762
++#: fortran/error.c:670 fortran/error.c:724 fortran/error.c:761
+ #, fuzzy
+ msgid "Warning:"
+ msgstr "увага:"
+
+-#: fortran/error.c:727 fortran/error.c:810 fortran/error.c:836
++#: fortran/error.c:726 fortran/error.c:809 fortran/error.c:835
+ msgid "Error:"
+ msgstr ""
+
+-#: fortran/error.c:860
++#: fortran/error.c:859
+ #, fuzzy
+ msgid "Fatal Error:"
+ msgstr "ÑƒÐ½ÑƒÑ‚Ñ€Ð°Ð½Ð°Ñ Ð¿Ð°Ð¼Ñ‹Ð»ÐºÐ°"
+
+-#: fortran/error.c:879
++#: fortran/error.c:878
+ #, fuzzy, no-c-format
+ msgid "Internal Error at (1):"
+ msgstr "ÑƒÐ½ÑƒÑ‚Ñ€Ð°Ð½Ð°Ñ Ð¿Ð°Ð¼Ñ‹Ð»ÐºÐ°"
+
+-#: fortran/expr.c:252
++#: fortran/expr.c:253
+ #, c-format
+ msgid "Constant expression required at %C"
+ msgstr ""
+
+-#: fortran/expr.c:255
++#: fortran/expr.c:256
+ #, c-format
+ msgid "Integer expression required at %C"
+ msgstr ""
+
+-#: fortran/expr.c:260
++#: fortran/expr.c:261
+ #, c-format
+ msgid "Integer value too large in expression at %C"
+ msgstr ""
+
+-#: fortran/expr.c:1018 fortran/expr.c:1189 fortran/expr.c:1240
++#: fortran/expr.c:1037
+ #, no-c-format
++msgid "Index in dimension %d is out of bounds at %L"
++msgstr ""
++
++#: fortran/expr.c:1208 fortran/expr.c:1259
++#, no-c-format
+ msgid "index in dimension %d is out of bounds at %L"
+ msgstr ""
+
+-#: fortran/expr.c:1789
++#: fortran/expr.c:1808
+ #, no-c-format
+ msgid "elemental function arguments at %C are not compliant"
+ msgstr ""
+
+-#: fortran/expr.c:1833
++#: fortran/expr.c:1852
+ #, no-c-format
+ msgid "Numeric or CHARACTER operands are required in expression at %L"
+ msgstr ""
+
+-#: fortran/expr.c:1853
++#: fortran/expr.c:1872
+ #, no-c-format
+ msgid "Fortran 2003: Noninteger exponent in an initialization expression at %L"
+ msgstr ""
+
+-#: fortran/expr.c:1868
++#: fortran/expr.c:1887
+ #, no-c-format
+ msgid "Concatenation operator in expression at %L must have two CHARACTER operands"
+ msgstr ""
+
+-#: fortran/expr.c:1875
++#: fortran/expr.c:1894
+ #, no-c-format
+ msgid "Concat operator at %L must concatenate strings of the same kind"
+ msgstr ""
+
+-#: fortran/expr.c:1885
++#: fortran/expr.c:1904
+ #, no-c-format
+ msgid ".NOT. operator in expression at %L must have a LOGICAL operand"
+ msgstr ""
+
+-#: fortran/expr.c:1901
++#: fortran/expr.c:1920
+ #, no-c-format
+ msgid "LOGICAL operands are required in expression at %L"
+ msgstr ""
+
+-#: fortran/expr.c:1912
++#: fortran/expr.c:1931
+ #, no-c-format
+ msgid "Only intrinsic operators can be used in expression at %L"
+ msgstr ""
+
+-#: fortran/expr.c:1920
++#: fortran/expr.c:1939
+ #, no-c-format
+ msgid "Numeric operands are required in expression at %L"
+ msgstr ""
+
+-#: fortran/expr.c:1985
++#: fortran/expr.c:2030
+ #, no-c-format
+-msgid "Inquiry function '%s' at %L is not permitted in an initialization expression"
+-msgstr ""
+-
+-#: fortran/expr.c:2015
+-#, no-c-format
+ msgid "Assumed character length variable '%s' in constant expression at %L"
+ msgstr ""
+
+-#: fortran/expr.c:2061 fortran/expr.c:2067
++#: fortran/expr.c:2076 fortran/expr.c:2082
+ #, no-c-format
+ msgid "transformational intrinsic '%s' at %L is not permitted in an initialization expression"
+ msgstr ""
+
+-#: fortran/expr.c:2098
++#: fortran/expr.c:2114
+ #, no-c-format
+ msgid "Extension: Evaluation of nonstandard initialization expression at %L"
+ msgstr ""
+
+-#: fortran/expr.c:2151
++#: fortran/expr.c:2167
+ #, no-c-format
+ msgid "Function '%s' in initialization expression at %L must be an intrinsic or a specification function"
+ msgstr ""
+
+-#: fortran/expr.c:2163
++#: fortran/expr.c:2179
+ #, no-c-format
+ msgid "Intrinsic function '%s' at %L is not permitted in an initialization expression"
+ msgstr ""
+
+-#: fortran/expr.c:2207
++#: fortran/expr.c:2214
++#, no-c-format
++msgid "PARAMETER '%s' is used at %L before its definition is complete"
++msgstr ""
++
++#: fortran/expr.c:2234
+ #, fuzzy, no-c-format
+ msgid "Assumed size array '%s' at %L is not permitted in an initialization expression"
+ msgstr "памер маÑіва \"%s\" адмоўны"
+
+-#: fortran/expr.c:2213
++#: fortran/expr.c:2240
+ #, no-c-format
+ msgid "Assumed shape array '%s' at %L is not permitted in an initialization expression"
+ msgstr ""
+
+-#: fortran/expr.c:2219
++#: fortran/expr.c:2246
+ #, no-c-format
+ msgid "Deferred array '%s' at %L is not permitted in an initialization expression"
+ msgstr ""
+
+-#: fortran/expr.c:2229
++#: fortran/expr.c:2252
+ #, no-c-format
++msgid "Array '%s' at %L is a variable, which does not reduce to a constant expression"
++msgstr ""
++
++#: fortran/expr.c:2262
++#, no-c-format
+ msgid "Parameter '%s' at %L has not been declared or is a variable, which does not reduce to a constant expression"
+ msgstr ""
+
+-#: fortran/expr.c:2317
++#: fortran/expr.c:2350
+ #, no-c-format
+ msgid "Initialization expression didn't reduce %C"
+ msgstr ""
+
+-#: fortran/expr.c:2360
++#: fortran/expr.c:2393
+ #, no-c-format
+ msgid "Specification function '%s' at %L cannot be a statement function"
+ msgstr ""
+
+-#: fortran/expr.c:2367
++#: fortran/expr.c:2400
+ #, no-c-format
+ msgid "Specification function '%s' at %L cannot be an internal function"
+ msgstr ""
+
+-#: fortran/expr.c:2374
++#: fortran/expr.c:2407
+ #, no-c-format
+ msgid "Specification function '%s' at %L must be PURE"
+ msgstr ""
+
+-#: fortran/expr.c:2381
++#: fortran/expr.c:2414
+ #, no-c-format
+ msgid "Specification function '%s' at %L cannot be RECURSIVE"
+ msgstr ""
+
+-#: fortran/expr.c:2443
++#: fortran/expr.c:2476
+ #, no-c-format
+ msgid "Dummy argument '%s' not allowed in expression at %L"
+ msgstr ""
+
+-#: fortran/expr.c:2450
++#: fortran/expr.c:2483
+ #, no-c-format
+ msgid "Dummy argument '%s' at %L cannot be OPTIONAL"
+ msgstr ""
+
+-#: fortran/expr.c:2457
++#: fortran/expr.c:2490
+ #, no-c-format
+ msgid "Dummy argument '%s' at %L cannot be INTENT(OUT)"
+ msgstr ""
+
+-#: fortran/expr.c:2479
++#: fortran/expr.c:2513
+ #, no-c-format
+ msgid "Variable '%s' cannot appear in the expression at %L"
+ msgstr ""
+
+-#: fortran/expr.c:2528
++#: fortran/expr.c:2562
+ #, no-c-format
+ msgid "Expression at %L must be of INTEGER type"
+ msgstr ""
+
+-#: fortran/expr.c:2537
++#: fortran/expr.c:2571
+ #, no-c-format
+ msgid "Function '%s' at %L must be PURE"
+ msgstr ""
+
+-#: fortran/expr.c:2546
++#: fortran/expr.c:2580
+ #, no-c-format
+ msgid "Expression at %L must be scalar"
+ msgstr ""
+
+-#: fortran/expr.c:2573
++#: fortran/expr.c:2607
+ #, no-c-format
+ msgid "Incompatible ranks in %s (%d and %d) at %L"
+ msgstr ""
+
+-#: fortran/expr.c:2587
++#: fortran/expr.c:2621
+ #, no-c-format
+ msgid "Different shape for %s at %L on dimension %d (%d and %d)"
+ msgstr ""
+
+-#: fortran/expr.c:2633 fortran/expr.c:2800
++#: fortran/expr.c:2667 fortran/expr.c:2884
+ #, no-c-format
+ msgid "Cannot assign to INTENT(IN) variable '%s' at %L"
+ msgstr ""
+
+-#: fortran/expr.c:2676
++#: fortran/expr.c:2719
+ #, no-c-format
+ msgid "'%s' at %L is not a VALUE"
+ msgstr ""
+
+-#: fortran/expr.c:2683
++#: fortran/expr.c:2726
+ #, no-c-format
+ msgid "Incompatible ranks %d and %d in assignment at %L"
+ msgstr ""
+
+-#: fortran/expr.c:2690
++#: fortran/expr.c:2733
+ #, no-c-format
+ msgid "Variable type is UNKNOWN in assignment at %L"
+ msgstr ""
+
+-#: fortran/expr.c:2702
++#: fortran/expr.c:2745
+ #, no-c-format
+ msgid "NULL appears on right-hand side in assignment at %L"
+ msgstr ""
+
+-#: fortran/expr.c:2713
++#: fortran/expr.c:2756
+ #, no-c-format
+ msgid "Vector assignment to assumed-size Cray Pointee at %L is illegal"
+ msgstr ""
+
+-#: fortran/expr.c:2722
++#: fortran/expr.c:2765
+ #, no-c-format
+ msgid "POINTER valued function appears on right-hand side of assignment at %L"
+ msgstr ""
+
+-#: fortran/expr.c:2727
++#: fortran/expr.c:2770
+ msgid "array assignment"
+ msgstr ""
+
+-#: fortran/expr.c:2744
++#: fortran/expr.c:2775
+ #, no-c-format
++msgid "Extension: BOZ literal at %L used to initialize non-integer variable '%s'"
++msgstr ""
++
++#: fortran/expr.c:2781 fortran/resolve.c:6058
++#, no-c-format
++msgid "Extension: BOZ literal at %L outside a DATA statement and outside INT/REAL/DBLE/CMPLX"
++msgstr ""
++
++#: fortran/expr.c:2791 fortran/resolve.c:6068
++#, no-c-format
++msgid "BOZ literal at %L is bitwise transferred non-integer symbol '%s'"
++msgstr ""
++
++#: fortran/expr.c:2799 fortran/resolve.c:6077
++#, no-c-format
++msgid "Arithmetic underflow of bit-wise transferred BOZ at %L. This check can be disabled with the option -fno-range-check"
++msgstr ""
++
++#: fortran/expr.c:2803 fortran/resolve.c:6081
++#, no-c-format
++msgid "Arithmetic overflow of bit-wise transferred BOZ at %L. This check can be disabled with the option -fno-range-check"
++msgstr ""
++
++#: fortran/expr.c:2807 fortran/resolve.c:6085
++#, no-c-format
++msgid "Arithmetic NaN of bit-wise transferred BOZ at %L. This check can be disabled with the option -fno-range-check"
++msgstr ""
++
++#: fortran/expr.c:2828
++#, no-c-format
+ msgid "Incompatible types in assignment at %L, %s to %s"
+ msgstr ""
+
+-#: fortran/expr.c:2769
++#: fortran/expr.c:2853
+ #, no-c-format
+ msgid "Pointer assignment target is not a POINTER at %L"
+ msgstr ""
+
+-#: fortran/expr.c:2777
++#: fortran/expr.c:2861
+ #, no-c-format
+ msgid "'%s' in the pointer assignment at %L cannot be an l-value since it is a procedure"
+ msgstr ""
+
+-#: fortran/expr.c:2807
++#: fortran/expr.c:2891
+ #, no-c-format
+ msgid "Pointer assignment to non-POINTER at %L"
+ msgstr ""
+
+-#: fortran/expr.c:2816
++#: fortran/expr.c:2900
+ #, no-c-format
+ msgid "Bad pointer object in PURE procedure at %L"
+ msgstr ""
+
+-#: fortran/expr.c:2828
++#: fortran/expr.c:2912
+ #, no-c-format
+ msgid "Different types in pointer assignment at %L"
+ msgstr ""
+
+-#: fortran/expr.c:2835
++#: fortran/expr.c:2919
+ #, no-c-format
+ msgid "Different kind type parameters in pointer assignment at %L"
+ msgstr ""
+
+-#: fortran/expr.c:2842
++#: fortran/expr.c:2926
+ #, no-c-format
+ msgid "Different ranks in pointer assignment at %L"
+ msgstr ""
+
+-#: fortran/expr.c:2857
++#: fortran/expr.c:2941
+ #, no-c-format
+ msgid "Different character lengths in pointer assignment at %L"
+ msgstr ""
+
+-#: fortran/expr.c:2868
++#: fortran/expr.c:2952
+ #, no-c-format
+ msgid "Pointer assignment target is neither TARGET nor POINTER at %L"
+ msgstr ""
+
+-#: fortran/expr.c:2875
++#: fortran/expr.c:2959
+ #, no-c-format
+ msgid "Bad target in pointer assignment in PURE procedure at %L"
+ msgstr ""
+
+-#: fortran/expr.c:2881
++#: fortran/expr.c:2965
+ #, no-c-format
+ msgid "Pointer assignment with vector subscript on rhs at %L"
+ msgstr ""
+
+-#: fortran/expr.c:2888
++#: fortran/expr.c:2972
+ #, no-c-format
+ msgid "Pointer assigment target has PROTECTED attribute at %L"
+ msgstr ""
+@@ -6552,292 +6555,317 @@
+ msgid "Expecting 'END INTERFACE %s' at %C"
+ msgstr ""
+
+-#: fortran/interface.c:551
++#: fortran/interface.c:563
+ #, no-c-format
+ msgid "Alternate return cannot appear in operator interface at %L"
+ msgstr ""
+
+-#: fortran/interface.c:581
++#: fortran/interface.c:593
+ #, no-c-format
+ msgid "Operator interface at %L has the wrong number of arguments"
+ msgstr ""
+
+-#: fortran/interface.c:592
++#: fortran/interface.c:604
+ #, no-c-format
+ msgid "Assignment operator interface at %L must be a SUBROUTINE"
+ msgstr ""
+
+-#: fortran/interface.c:598
++#: fortran/interface.c:610
+ #, no-c-format
+ msgid "Assignment operator interface at %L must have two arguments"
+ msgstr ""
+
+-#: fortran/interface.c:608
++#: fortran/interface.c:620
+ #, no-c-format
+ msgid "Assignment operator interface at %L must not redefine an INTRINSIC type assignment"
+ msgstr ""
+
+-#: fortran/interface.c:617
++#: fortran/interface.c:629
+ #, no-c-format
+ msgid "Intrinsic operator interface at %L must be a FUNCTION"
+ msgstr ""
+
+-#: fortran/interface.c:627
++#: fortran/interface.c:639
+ #, no-c-format
+ msgid "First argument of defined assignment at %L must be INTENT(IN) or INTENT(INOUT)"
+ msgstr ""
+
+-#: fortran/interface.c:631
++#: fortran/interface.c:643
+ #, no-c-format
+ msgid "Second argument of defined assignment at %L must be INTENT(IN)"
+ msgstr ""
+
+-#: fortran/interface.c:637 fortran/resolve.c:8807
++#: fortran/interface.c:649 fortran/resolve.c:8998
+ #, no-c-format
+ msgid "First argument of operator interface at %L must be INTENT(IN)"
+ msgstr ""
+
+-#: fortran/interface.c:641 fortran/resolve.c:8819
++#: fortran/interface.c:653 fortran/resolve.c:9010
+ #, no-c-format
+ msgid "Second argument of operator interface at %L must be INTENT(IN)"
+ msgstr ""
+
+-#: fortran/interface.c:744
++#: fortran/interface.c:756
+ #, no-c-format
+ msgid "Operator interface at %L conflicts with intrinsic interface"
+ msgstr ""
+
+-#: fortran/interface.c:1044
++#: fortran/interface.c:1117
+ #, no-c-format
+ msgid "Procedure '%s' in %s at %L has no explicit interface"
+ msgstr ""
+
+-#: fortran/interface.c:1047
++#: fortran/interface.c:1120
+ #, no-c-format
+ msgid "Procedure '%s' in %s at %L is neither function nor subroutine"
+ msgstr ""
+
+-#: fortran/interface.c:1102 fortran/interface.c:1108
++#: fortran/interface.c:1175 fortran/interface.c:1181
+ #, no-c-format
+ msgid "Ambiguous interfaces '%s' and '%s' in %s at %L"
+ msgstr ""
+
+-#: fortran/interface.c:1144
++#: fortran/interface.c:1217
+ #, no-c-format
+ msgid "'%s' at %L is not a module procedure"
+ msgstr ""
+
+-#: fortran/interface.c:1676
++#: fortran/interface.c:1465 fortran/interface.c:2411
+ #, no-c-format
++msgid "Type/rank mismatch in argument '%s' at %L"
++msgstr ""
++
++#: fortran/interface.c:1474
++#, no-c-format
++msgid "Type mismatch in argument '%s' at %L; passed %s to %s"
++msgstr ""
++
++#: fortran/interface.c:1492 fortran/interface.c:1532
++#, no-c-format
++msgid "Rank mismatch in argument '%s' at %L (%d and %d)"
++msgstr ""
++
++#: fortran/interface.c:1519
++#, no-c-format
++msgid "Fortran 2003: Scalar CHARACTER actual argument with array dummy argument '%s' at %L"
++msgstr ""
++
++#: fortran/interface.c:1544
++#, no-c-format
++msgid "Element of assumed-shaped array passed to dummy argument '%s' at %L"
++msgstr ""
++
++#: fortran/interface.c:1861
++#, no-c-format
+ msgid "Keyword argument '%s' at %L is not in the procedure"
+ msgstr ""
+
+-#: fortran/interface.c:1684
++#: fortran/interface.c:1869
+ #, no-c-format
+ msgid "Keyword argument '%s' at %L is already associated with another actual argument"
+ msgstr ""
+
+-#: fortran/interface.c:1694
++#: fortran/interface.c:1879
+ #, no-c-format
+ msgid "More actual than formal arguments in procedure call at %L"
+ msgstr ""
+
+-#: fortran/interface.c:1706 fortran/interface.c:1935
++#: fortran/interface.c:1891 fortran/interface.c:2110
+ #, no-c-format
+ msgid "Missing alternate return spec in subroutine call at %L"
+ msgstr ""
+
+-#: fortran/interface.c:1714
++#: fortran/interface.c:1899
+ #, no-c-format
+ msgid "Unexpected alternate return spec in subroutine call at %L"
+ msgstr ""
+
+-#: fortran/interface.c:1729
++#: fortran/interface.c:1922
+ #, no-c-format
+-msgid "Fortran 2003: Scalar CHARACTER actual argument with array dummy argument '%s' at %L"
++msgid "Character length mismatch (%ld/%ld) between actual argument and pointer or allocatable dummy argument '%s' at %L"
+ msgstr ""
+
+-#: fortran/interface.c:1742
++#: fortran/interface.c:1929
+ #, no-c-format
+-msgid "Type/rank mismatch in argument '%s' at %L"
++msgid "Character length mismatch (%ld/%ld) between actual argument and assumed-shape dummy argument '%s' at %L"
+ msgstr ""
+
+-#: fortran/interface.c:1758
++#: fortran/interface.c:1943
+ #, no-c-format
+-msgid "Character length mismatch between actual argument and pointer or allocatable dummy argument '%s' at %L"
+-msgstr ""
+-
+-#: fortran/interface.c:1771
+-#, no-c-format
+ msgid "Character length of actual argument shorter than of dummy argument '%s' (%lu/%lu) at %L"
+ msgstr ""
+
+-#: fortran/interface.c:1776
++#: fortran/interface.c:1948
+ #, no-c-format
+ msgid "Actual argument contains too few elements for dummy argument '%s' (%lu/%lu) at %L"
+ msgstr ""
+
+-#: fortran/interface.c:1790
++#: fortran/interface.c:1962
+ #, no-c-format
+ msgid "Expected a procedure for argument '%s' at %L"
+ msgstr ""
+
+-#: fortran/interface.c:1800
++#: fortran/interface.c:1972
+ #, no-c-format
+ msgid "Expected a PURE procedure for argument '%s' at %L"
+ msgstr ""
+
+-#: fortran/interface.c:1814
++#: fortran/interface.c:1986
+ #, no-c-format
+ msgid "Actual argument for '%s' cannot be an assumed-size array at %L"
+ msgstr ""
+
+-#: fortran/interface.c:1823
++#: fortran/interface.c:1995
+ #, fuzzy, no-c-format
+ msgid "Actual argument for '%s' must be a pointer at %L"
+ msgstr "першым аргументам \"%s\" павінен быць \"int\""
+
+-#: fortran/interface.c:1832
++#: fortran/interface.c:2004
+ #, no-c-format
+ msgid "Actual argument for '%s' must be ALLOCATABLE at %L"
+ msgstr ""
+
+-#: fortran/interface.c:1843
++#: fortran/interface.c:2017
+ #, no-c-format
+-msgid "Actual argument at %L must be definable to match dummy INTENT = OUT/INOUT"
++msgid "Actual argument at %L must be definable as the dummy argument '%s' is INTENT = OUT/INOUT"
+ msgstr ""
+
+-#: fortran/interface.c:1851
++#: fortran/interface.c:2026
+ #, no-c-format
+ msgid "Actual argument at %L is use-associated with PROTECTED attribute and dummy argument '%s' is INTENT = OUT/INOUT"
+ msgstr ""
+
+-#: fortran/interface.c:1864
++#: fortran/interface.c:2039
+ #, no-c-format
+-msgid "Array-section actual argument with vector subscripts at %L is incompatible with INTENT(IN), 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) or VOLATILE attribute of the dummy argument '%s'"
+ msgstr ""
+
+-#: fortran/interface.c:1881
++#: fortran/interface.c:2056
+ #, no-c-format
+ msgid "Assumed-shape actual argument at %L is incompatible with the non-assumed-shape dummy argument '%s' due to VOLATILE attribute"
+ msgstr ""
+
+-#: fortran/interface.c:1893
++#: fortran/interface.c:2068
+ #, no-c-format
+ msgid "Array-section actual argument at %L is incompatible with the non-assumed-shape dummy argument '%s' due to VOLATILE attribute"
+ msgstr ""
+
+-#: fortran/interface.c:1912
++#: fortran/interface.c:2087
+ #, no-c-format
+ msgid "Pointer-array actual argument at %L requires an assumed-shape or pointer-array dummy argument '%s' due to VOLATILE attribute"
+ msgstr ""
+
+-#: fortran/interface.c:1942
++#: fortran/interface.c:2117
+ #, no-c-format
+ msgid "Missing actual argument for argument '%s' at %L"
+ msgstr ""
+
+-#: fortran/interface.c:2128
++#: fortran/interface.c:2303
+ #, no-c-format
+ msgid "Same actual argument associated with INTENT(%s) argument '%s' and INTENT(%s) argument '%s' at %L"
+ msgstr ""
+
+-#: fortran/interface.c:2184
++#: fortran/interface.c:2359
+ #, no-c-format
+ msgid "Procedure argument at %L is INTENT(IN) while interface specifies INTENT(%s)"
+ msgstr ""
+
+-#: fortran/interface.c:2194
++#: fortran/interface.c:2369
+ #, no-c-format
+ msgid "Procedure argument at %L is local to a PURE procedure and is passed to an INTENT(%s) argument"
+ msgstr ""
+
+-#: fortran/interface.c:2202
++#: fortran/interface.c:2377
+ #, no-c-format
+ msgid "Procedure argument at %L is local to a PURE procedure and has the POINTER attribute"
+ msgstr ""
+
+-#: fortran/interface.c:2225
++#: fortran/interface.c:2400
+ #, no-c-format
+ msgid "Procedure '%s' called with an implicit interface at %L"
+ msgstr ""
+
+-#: fortran/interface.c:2440
++#: fortran/interface.c:2629
+ #, no-c-format
+ msgid "Function '%s' called in lieu of an operator at %L must be PURE"
+ msgstr ""
+
+-#: fortran/interface.c:2519
++#: fortran/interface.c:2708
+ #, no-c-format
+ msgid "Entity '%s' at %C is already present in the interface"
+ msgstr ""
+
+-#: fortran/intrinsic.c:2918
++#: fortran/intrinsic.c:2923
+ #, fuzzy, no-c-format
+ msgid "Too many arguments in call to '%s' at %L"
+ msgstr "вельмі шмат аргументаў у функцыі \"%s\""
+
+-#: fortran/intrinsic.c:2933
++#: fortran/intrinsic.c:2938
+ #, no-c-format
+ msgid "The argument list functions %%VAL, %%LOC or %%REF are not allowed in this context at %L"
+ msgstr ""
+
+-#: fortran/intrinsic.c:2936
++#: fortran/intrinsic.c:2941
+ #, no-c-format
+ msgid "Can't find keyword named '%s' in call to '%s' at %L"
+ msgstr ""
+
+-#: fortran/intrinsic.c:2943
++#: fortran/intrinsic.c:2948
+ #, no-c-format
+ msgid "Argument '%s' is appears twice in call to '%s' at %L"
+ msgstr ""
+
+-#: fortran/intrinsic.c:2957
++#: fortran/intrinsic.c:2962
+ #, no-c-format
+ msgid "Missing actual argument '%s' in call to '%s' at %L"
+ msgstr ""
+
+-#: fortran/intrinsic.c:2972
++#: fortran/intrinsic.c:2977
+ #, no-c-format
+ msgid "ALTERNATE RETURN not permitted at %L"
+ msgstr ""
+
+-#: fortran/intrinsic.c:3021
++#: fortran/intrinsic.c:3026
+ #, no-c-format
+ msgid "Type of argument '%s' in call to '%s' at %L should be %s, not %s"
+ msgstr ""
+
+-#: fortran/intrinsic.c:3337
++#: fortran/intrinsic.c:3342
+ #, no-c-format
+ msgid "Intrinsic '%s' at %L is not included in the selected standard"
+ msgstr ""
+
+-#: fortran/intrinsic.c:3450
++#: fortran/intrinsic.c:3398
+ #, no-c-format
++msgid "Fortran 2003: Function '%s' as initialization expression at %L"
++msgstr ""
++
++#: fortran/intrinsic.c:3463
++#, no-c-format
+ msgid "Fortran 2003: Elemental function as initialization expression with non-integer/non-character arguments at %L"
+ msgstr ""
+
+-#: fortran/intrinsic.c:3508
++#: fortran/intrinsic.c:3524
+ #, no-c-format
+ msgid "Subroutine call to intrinsic '%s' at %L is not PURE"
+ msgstr ""
+
+-#: fortran/intrinsic.c:3579
++#: fortran/intrinsic.c:3595
+ #, no-c-format
+ msgid "Extension: Conversion from %s to %s at %L"
+ msgstr ""
+
+-#: fortran/intrinsic.c:3582
++#: fortran/intrinsic.c:3598
+ #, fuzzy, no-c-format
+ msgid "Conversion from %s to %s at %L"
+ msgstr "пераўтварÑньне з `%T' у `%T'"
+
+-#: fortran/intrinsic.c:3629
++#: fortran/intrinsic.c:3645
+ #, no-c-format
+ msgid "Can't convert %s to %s at %L"
+ msgstr ""
+
+-#: fortran/io.c:156 fortran/primary.c:738
++#: fortran/io.c:156 fortran/primary.c:750
+ #, no-c-format
+ msgid "Extension: backslash character at %C"
+ msgstr ""
+@@ -7040,7 +7068,7 @@
+ msgid "CLOSE statement not allowed in PURE procedure at %C"
+ msgstr ""
+
+-#: fortran/io.c:1955 fortran/match.c:1841
++#: fortran/io.c:1955 fortran/match.c:1911
+ #, no-c-format
+ msgid "%s statement not allowed in PURE procedure at %C"
+ msgstr ""
+@@ -7055,516 +7083,491 @@
+ msgid "Duplicate UNIT specification at %C"
+ msgstr ""
+
+-#: fortran/io.c:2128
++#: fortran/io.c:2132
+ #, fuzzy, no-c-format
+ msgid "Duplicate format specification at %C"
+ msgstr "нÑма папÑÑ€ÑднÑга аб'ÑÑžÐ»ÐµÐ½Ð½Ñ Ð´Ð»Ñ \"%s\""
+
+-#: fortran/io.c:2145
++#: fortran/io.c:2149
+ #, no-c-format
+ msgid "Symbol '%s' in namelist '%s' is INTENT(IN) at %C"
+ msgstr ""
+
+-#: fortran/io.c:2181
++#: fortran/io.c:2185
+ #, fuzzy, no-c-format
+ msgid "Duplicate NML specification at %C"
+ msgstr "нÑма папÑÑ€ÑднÑга аб'ÑÑžÐ»ÐµÐ½Ð½Ñ Ð´Ð»Ñ \"%s\""
+
+-#: fortran/io.c:2190
++#: fortran/io.c:2194
+ #, no-c-format
+ msgid "Symbol '%s' at %C must be a NAMELIST group name"
+ msgstr ""
+
+-#: fortran/io.c:2231
++#: fortran/io.c:2235
+ #, no-c-format
+ msgid "END tag at %C not allowed in output statement"
+ msgstr ""
+
+-#: fortran/io.c:2288
++#: fortran/io.c:2292
+ #, no-c-format
+ msgid "UNIT specification at %L must be an INTEGER expression or a CHARACTER variable"
+ msgstr ""
+
+-#: fortran/io.c:2297
++#: fortran/io.c:2301
+ #, no-c-format
+ msgid "Internal unit with vector subscript at %L"
+ msgstr ""
+
+-#: fortran/io.c:2304
++#: fortran/io.c:2308
+ #, no-c-format
+ msgid "External IO UNIT cannot be an array at %L"
+ msgstr ""
+
+-#: fortran/io.c:2314
++#: fortran/io.c:2318
+ #, fuzzy, no-c-format
+ msgid "ERR tag label %d at %L not defined"
+ msgstr "адмеціна `%s' выкарыÑтоўвываецца, але Ð½Ñ Ð²Ñ‹Ð·Ð½Ð°Ñ‡Ð°Ð½Ð°"
+
+-#: fortran/io.c:2326
++#: fortran/io.c:2330
+ #, fuzzy, no-c-format
+ msgid "END tag label %d at %L not defined"
+ msgstr "адмеціна `%s' выкарыÑтоўвываецца, але Ð½Ñ Ð²Ñ‹Ð·Ð½Ð°Ñ‡Ð°Ð½Ð°"
+
+-#: fortran/io.c:2338
++#: fortran/io.c:2342
+ #, fuzzy, no-c-format
+ msgid "EOR tag label %d at %L not defined"
+ msgstr "адмеціна `%s' выкарыÑтоўвываецца, але Ð½Ñ Ð²Ñ‹Ð·Ð½Ð°Ñ‡Ð°Ð½Ð°"
+
+-#: fortran/io.c:2348
++#: fortran/io.c:2352
+ #, fuzzy, no-c-format
+ msgid "FORMAT label %d at %L not defined"
+ msgstr "адмеціна `%s' выкарыÑтоўвываецца, але Ð½Ñ Ð²Ñ‹Ð·Ð½Ð°Ñ‡Ð°Ð½Ð°"
+
+-#: fortran/io.c:2469
++#: fortran/io.c:2473
+ #, no-c-format
+ msgid "Syntax error in I/O iterator at %C"
+ msgstr ""
+
+-#: fortran/io.c:2500
++#: fortran/io.c:2504
+ #, no-c-format
+ msgid "Expected variable in READ statement at %C"
+ msgstr ""
+
+-#: fortran/io.c:2506
++#: fortran/io.c:2510
+ #, no-c-format
+ msgid "Expected expression in %s statement at %C"
+ msgstr ""
+
+-#: fortran/io.c:2516
++#: fortran/io.c:2520
+ #, no-c-format
+ msgid "Variable '%s' in input list at %C cannot be INTENT(IN)"
+ msgstr ""
+
+-#: fortran/io.c:2525
++#: fortran/io.c:2529
+ #, no-c-format
+ msgid "Cannot read to variable '%s' in PURE procedure at %C"
+ msgstr ""
+
+-#: fortran/io.c:2541
++#: fortran/io.c:2545
+ #, no-c-format
+ msgid "Cannot write to internal file unit '%s' at %C inside a PURE procedure"
+ msgstr ""
+
+ #. A general purpose syntax error.
+-#: fortran/io.c:2602 fortran/io.c:3004 fortran/gfortran.h:1998
++#: fortran/io.c:2606 fortran/io.c:3013 fortran/gfortran.h:2002
+ #, no-c-format
+ msgid "Syntax error in %s statement at %C"
+ msgstr ""
+
+-#: fortran/io.c:2670
++#: fortran/io.c:2679
+ #, no-c-format
+ msgid "Fortran 2003: Internal file at %L with namelist"
+ msgstr ""
+
+-#: fortran/io.c:2833
++#: fortran/io.c:2842
+ #, no-c-format
+ msgid "PRINT namelist at %C is an extension"
+ msgstr ""
+
+-#: fortran/io.c:2965
++#: fortran/io.c:2974
+ #, no-c-format
+ msgid "Extension: Comma before i/o item list at %C"
+ msgstr ""
+
+-#: fortran/io.c:2974
++#: fortran/io.c:2983
+ #, no-c-format
+ msgid "Expected comma in I/O list at %C"
+ msgstr ""
+
+-#: fortran/io.c:3036
++#: fortran/io.c:3045
+ #, no-c-format
+ msgid "PRINT statement at %C not allowed within PURE procedure"
+ msgstr ""
+
+-#: fortran/io.c:3176 fortran/io.c:3227
++#: fortran/io.c:3185 fortran/io.c:3236
+ #, no-c-format
+ msgid "INQUIRE statement not allowed in PURE procedure at %C"
+ msgstr ""
+
+-#: fortran/io.c:3203
++#: fortran/io.c:3212
+ #, no-c-format
+ msgid "IOLENGTH tag invalid in INQUIRE statement at %C"
+ msgstr ""
+
+-#: fortran/io.c:3213 fortran/trans-io.c:1144
++#: fortran/io.c:3222 fortran/trans-io.c:1145
+ #, no-c-format
+ msgid "INQUIRE statement at %L cannot contain both FILE and UNIT specifiers"
+ msgstr ""
+
+-#: fortran/io.c:3220
++#: fortran/io.c:3229
+ #, no-c-format
+ msgid "INQUIRE statement at %L requires either FILE or UNIT specifier"
+ msgstr ""
+
+-#: fortran/match.c:270
++#: fortran/match.c:156
++#, fuzzy, no-c-format
++msgid "Missing ')' in statement before %L"
++msgstr "прапушчан прабел паÑÐ»Ñ Ð½ÑƒÐ¼Ð°Ñ€Ð° \"%.*s\""
++
++#: fortran/match.c:161
++#, fuzzy, no-c-format
++msgid "Missing '(' in statement before %L"
++msgstr "прапушчан прабел паÑÐ»Ñ Ð½ÑƒÐ¼Ð°Ñ€Ð° \"%.*s\""
++
++#: fortran/match.c:332
+ #, no-c-format
+ msgid "Integer too large at %C"
+ msgstr ""
+
+-#: fortran/match.c:363 fortran/parse.c:442
++#: fortran/match.c:425 fortran/parse.c:589
+ #, no-c-format
+ msgid "Too many digits in statement label at %C"
+ msgstr ""
+
+-#: fortran/match.c:369
++#: fortran/match.c:431
+ #, no-c-format
+ msgid "Statement label at %C is zero"
+ msgstr ""
+
+-#: fortran/match.c:402
++#: fortran/match.c:464
+ #, fuzzy, no-c-format
+ msgid "Label name '%s' at %C is ambiguous"
+ msgstr "памер \"%s\" - %d байт"
+
+-#: fortran/match.c:408
++#: fortran/match.c:470
+ #, fuzzy, no-c-format
+ msgid "Duplicate construct label '%s' at %C"
+ msgstr "паўтарÑнне \"%s\""
+
+-#: fortran/match.c:438
++#: fortran/match.c:500
+ #, fuzzy, no-c-format
+ msgid "Invalid character in name at %C"
+ msgstr "ÑÑ–Ð¼Ð²Ð°Ð»ÑŒÐ½Ð°Ñ ÐºÐ°Ð½Ñтанта вельмі доўгаÑ"
+
+-#: fortran/match.c:451 fortran/match.c:523
++#: fortran/match.c:513 fortran/match.c:585
+ #, no-c-format
+ msgid "Name at %C is too long"
+ msgstr ""
+
+-#: fortran/match.c:506 fortran/match.c:552
++#: fortran/match.c:568 fortran/match.c:614
+ #, no-c-format
+ msgid "Invalid C name in NAME= specifier at %C"
+ msgstr ""
+
+-#: fortran/match.c:543
++#: fortran/match.c:605
+ #, no-c-format
+ msgid "Embedded space in NAME= specifier at %C"
+ msgstr ""
+
+-#: fortran/match.c:868
++#: fortran/match.c:930
+ #, no-c-format
+ msgid "Loop variable at %C cannot be a sub-component"
+ msgstr ""
+
+-#: fortran/match.c:874
++#: fortran/match.c:936
+ #, no-c-format
+ msgid "Loop variable '%s' at %C cannot be INTENT(IN)"
+ msgstr ""
+
+-#: fortran/match.c:907
++#: fortran/match.c:969
+ #, no-c-format
+ msgid "Expected a step value in iterator at %C"
+ msgstr ""
+
+-#: fortran/match.c:919
++#: fortran/match.c:981
+ #, no-c-format
+ msgid "Syntax error in iterator at %C"
+ msgstr ""
+
+-#: fortran/match.c:1155
++#: fortran/match.c:1217
+ #, no-c-format
+ msgid "Invalid form of PROGRAM statement at %C"
+ msgstr ""
+
+-#: fortran/match.c:1196
++#: fortran/match.c:1258
+ #, no-c-format
+ msgid "Setting value of PROTECTED variable at %C"
+ msgstr ""
+
+-#: fortran/match.c:1249
++#: fortran/match.c:1311
+ #, no-c-format
+ msgid "Assigning to a PROTECTED pointer at %C"
+ msgstr ""
+
+-#: fortran/match.c:1292 fortran/match.c:1365
++#: fortran/match.c:1354 fortran/match.c:1435
+ #, no-c-format
+ msgid "Obsolescent: arithmetic IF statement at %C"
+ msgstr ""
+
+-#: fortran/match.c:1340
++#: fortran/match.c:1410
+ #, no-c-format
+ msgid "Syntax error in IF-expression at %C"
+ msgstr ""
+
+-#: fortran/match.c:1351
++#: fortran/match.c:1421
+ #, no-c-format
+ msgid "Block label not appropriate for arithmetic IF statement at %C"
+ msgstr ""
+
+-#: fortran/match.c:1389
++#: fortran/match.c:1459
+ #, no-c-format
+-msgid "Block label is not appropriate IF statement at %C"
++msgid "Block label is not appropriate for IF statement at %C"
+ msgstr ""
+
+-#: fortran/match.c:1468 fortran/primary.c:2522
++#: fortran/match.c:1538 fortran/primary.c:2559
+ #, no-c-format
+ msgid "Cannot assign to a named constant at %C"
+ msgstr ""
+
+-#: fortran/match.c:1478
++#: fortran/match.c:1548
+ #, no-c-format
+ msgid "Unclassifiable statement in IF-clause at %C"
+ msgstr ""
+
+-#: fortran/match.c:1485
++#: fortran/match.c:1555
+ #, no-c-format
+ msgid "Syntax error in IF-clause at %C"
+ msgstr ""
+
+-#: fortran/match.c:1529
++#: fortran/match.c:1599
+ #, no-c-format
+ msgid "Unexpected junk after ELSE statement at %C"
+ msgstr ""
+
+-#: fortran/match.c:1535 fortran/match.c:1570
++#: fortran/match.c:1605 fortran/match.c:1640
+ #, no-c-format
+ msgid "Label '%s' at %C doesn't match IF label '%s'"
+ msgstr ""
+
+-#: fortran/match.c:1564
++#: fortran/match.c:1634
+ #, no-c-format
+ msgid "Unexpected junk after ELSE IF statement at %C"
+ msgstr ""
+
+-#: fortran/match.c:1727
++#: fortran/match.c:1797
+ #, no-c-format
+ msgid "Name '%s' in %s statement at %C is not a loop name"
+ msgstr ""
+
+-#: fortran/match.c:1743
++#: fortran/match.c:1813
+ #, no-c-format
+ msgid "%s statement at %C is not within a loop"
+ msgstr ""
+
+-#: fortran/match.c:1746
++#: fortran/match.c:1816
+ #, no-c-format
+ msgid "%s statement at %C is not within loop '%s'"
+ msgstr ""
+
+-#: fortran/match.c:1754
++#: fortran/match.c:1824
+ #, no-c-format
+ msgid "%s statement at %C leaving OpenMP structured block"
+ msgstr ""
+
+-#: fortran/match.c:1767
++#: fortran/match.c:1837
+ #, no-c-format
+ msgid "EXIT statement at %C terminating !$OMP DO loop"
+ msgstr ""
+
+-#: fortran/match.c:1819
++#: fortran/match.c:1889
+ #, no-c-format
+ msgid "Too many digits in STOP code at %C"
+ msgstr ""
+
+-#: fortran/match.c:1872
++#: fortran/match.c:1942
+ #, no-c-format
+ msgid "Deleted feature: PAUSE statement at %C"
+ msgstr ""
+
+-#: fortran/match.c:1920
++#: fortran/match.c:1990
+ #, no-c-format
+ msgid "Deleted feature: ASSIGN statement at %C"
+ msgstr ""
+
+-#: fortran/match.c:1966
++#: fortran/match.c:2036
+ #, no-c-format
+ msgid "Deleted feature: Assigned GOTO statement at %C"
+ msgstr ""
+
+-#: fortran/match.c:2013 fortran/match.c:2065
++#: fortran/match.c:2083 fortran/match.c:2135
+ #, no-c-format
+ msgid "Statement label list in GOTO at %C cannot be empty"
+ msgstr ""
+
+-#: fortran/match.c:2149
++#: fortran/match.c:2219
+ #, no-c-format
+ msgid "Bad allocate-object in ALLOCATE statement at %C for a PURE procedure"
+ msgstr ""
+
+-#: fortran/match.c:2173
++#: fortran/match.c:2287
+ #, no-c-format
+-msgid "STAT variable '%s' of ALLOCATE statement at %C cannot be INTENT(IN)"
+-msgstr ""
+-
+-#: fortran/match.c:2180
+-#, no-c-format
+-msgid "Illegal STAT variable in ALLOCATE statement at %C for a PURE procedure"
+-msgstr ""
+-
+-#: fortran/match.c:2218 fortran/match.c:2382
+-#, no-c-format
+-msgid "STAT expression at %C must be a variable"
+-msgstr ""
+-
+-#: fortran/match.c:2272
+-#, no-c-format
+ msgid "Illegal variable in NULLIFY at %C for a PURE procedure"
+ msgstr ""
+
+-#: fortran/match.c:2349
++#: fortran/match.c:2364
+ #, no-c-format
+ msgid "Illegal deallocate-expression in DEALLOCATE at %C for a PURE procedure"
+ msgstr ""
+
+-#: fortran/match.c:2368
++#: fortran/match.c:2417
+ #, no-c-format
+-msgid "STAT variable '%s' of DEALLOCATE statement at %C cannot be INTENT(IN)"
+-msgstr ""
+-
+-#: fortran/match.c:2375
+-#, no-c-format
+-msgid "Illegal STAT variable in DEALLOCATE statement at %C for a PURE procedure"
+-msgstr ""
+-
+-#: fortran/match.c:2424
+-#, no-c-format
+ msgid "Alternate RETURN statement at %C is only allowed within a SUBROUTINE"
+ msgstr ""
+
+-#: fortran/match.c:2455
++#: fortran/match.c:2448
+ #, no-c-format
+ msgid "Extension: RETURN statement in main program at %C"
+ msgstr ""
+
+-#: fortran/match.c:2665
++#: fortran/match.c:2658
+ #, no-c-format
+ msgid "Syntax error in common block name at %C"
+ msgstr ""
+
+-#: fortran/match.c:2701
++#: fortran/match.c:2694
+ #, no-c-format
+ msgid "Symbol '%s' at %C is already an external symbol that is not COMMON"
+ msgstr ""
+
+-#: fortran/match.c:2719
+-#, no-c-format
+-msgid "BLOCK DATA unit cannot contain blank COMMON at %C"
+-msgstr ""
+-
+ #. If we find an error, just print it and continue,
+ #. cause it's just semantic, and we can see if there
+ #. are more errors.
+-#: fortran/match.c:2765
++#: fortran/match.c:2753
+ #, no-c-format
+ msgid "Variable '%s' at %L in common block '%s' at %C must be declared with a C interoperable kind since common block '%s' is bind(c)"
+ msgstr ""
+
+-#: fortran/match.c:2774
++#: fortran/match.c:2762
+ #, no-c-format
+ msgid "Variable '%s' in common block '%s' at %C can not be bind(c) since it is not global"
+ msgstr ""
+
+-#: fortran/match.c:2781
++#: fortran/match.c:2769
+ #, no-c-format
+ msgid "Symbol '%s' at %C is already in a COMMON block"
+ msgstr ""
+
+-#: fortran/match.c:2793
++#: fortran/match.c:2777
+ #, no-c-format
+-msgid "Previously initialized symbol '%s' in blank COMMON block at %C"
++msgid "Initialized symbol '%s' at %C can only be COMMON in BLOCK DATA"
+ msgstr ""
+
+-#: fortran/match.c:2796
++#: fortran/match.c:2804
+ #, no-c-format
+-msgid "Previously initialized symbol '%s' in COMMON block '%s' at %C"
+-msgstr ""
+-
+-#: fortran/match.c:2821
+-#, no-c-format
+ msgid "Array specification for symbol '%s' in COMMON at %C must be explicit"
+ msgstr ""
+
+-#: fortran/match.c:2831
++#: fortran/match.c:2814
+ #, no-c-format
+ msgid "Symbol '%s' in COMMON at %C cannot be a POINTER array"
+ msgstr ""
+
+-#: fortran/match.c:2863
++#: fortran/match.c:2846
+ #, no-c-format
+ msgid "Symbol '%s', in COMMON block '%s' at %C is being indirectly equivalenced to another COMMON block '%s'"
+ msgstr ""
+
+-#: fortran/match.c:2971
++#: fortran/match.c:2954
+ #, no-c-format
+ msgid "Namelist group name '%s' at %C already has a basic type of %s"
+ msgstr ""
+
+-#: fortran/match.c:2979
++#: fortran/match.c:2962
+ #, no-c-format
+ msgid "Namelist group name '%s' at %C already is USE associated and cannot be respecified."
+ msgstr ""
+
+-#: fortran/match.c:3006
++#: fortran/match.c:2989
+ #, no-c-format
+ msgid "Assumed size array '%s' in namelist '%s' at %C is not allowed"
+ msgstr ""
+
+-#: fortran/match.c:3013
++#: fortran/match.c:2996
+ #, no-c-format
+ msgid "Assumed character length '%s' in namelist '%s' at %C is not allowed"
+ msgstr ""
+
+-#: fortran/match.c:3140
++#: fortran/match.c:3123
+ #, no-c-format
+ msgid "Derived type component %C is not a permitted EQUIVALENCE member"
+ msgstr ""
+
+-#: fortran/match.c:3148
++#: fortran/match.c:3131
+ #, no-c-format
+ msgid "Array reference in EQUIVALENCE at %C cannot be an array section"
+ msgstr ""
+
+-#: fortran/match.c:3176
++#: fortran/match.c:3159
+ #, no-c-format
+ msgid "EQUIVALENCE at %C requires two or more objects"
+ msgstr ""
+
+-#: fortran/match.c:3190
++#: fortran/match.c:3173
+ #, no-c-format
+ msgid "Attempt to indirectly overlap COMMON blocks %s and %s by EQUIVALENCE at %C"
+ msgstr ""
+
+-#: fortran/match.c:3351
++#: fortran/match.c:3299
+ #, fuzzy, no-c-format
+ msgid "Statement function at %L is recursive"
+ msgstr "метка \"%s\" вызначана, але не выкарыÑтоўваецца"
+
+-#: fortran/match.c:3439
++#: fortran/match.c:3387
+ #, no-c-format
+ msgid "Expected initialization expression in CASE at %C"
+ msgstr ""
+
+-#: fortran/match.c:3462
++#: fortran/match.c:3410
+ #, no-c-format
+ msgid "Expected the name of the SELECT CASE construct at %C"
+ msgstr ""
+
+-#: fortran/match.c:3474
++#: fortran/match.c:3422
+ #, no-c-format
+ msgid "Expected case name of '%s' at %C"
+ msgstr ""
+
+-#: fortran/match.c:3518
++#: fortran/match.c:3466
+ #, no-c-format
+ msgid "Unexpected CASE statement at %C"
+ msgstr ""
+
+-#: fortran/match.c:3570
++#: fortran/match.c:3518
+ #, no-c-format
+ msgid "Syntax error in CASE-specification at %C"
+ msgstr ""
+
+-#: fortran/match.c:3690
++#: fortran/match.c:3638
+ #, no-c-format
+ msgid "ELSEWHERE statement at %C not enclosed in WHERE block"
+ msgstr ""
+
+-#: fortran/match.c:3728
++#: fortran/match.c:3676
+ #, no-c-format
+ msgid "Label '%s' at %C doesn't match WHERE label '%s'"
+ msgstr ""
+
+-#: fortran/match.c:3828
++#: fortran/match.c:3776
+ #, no-c-format
+ msgid "Syntax error in FORALL iterator at %C"
+ msgstr ""
+@@ -7594,7 +7597,8 @@
+ msgid "Expected exponent in expression at %C"
+ msgstr ""
+
+-#: fortran/matchexp.c:348 fortran/matchexp.c:452
++#: fortran/matchexp.c:350 fortran/matchexp.c:355 fortran/matchexp.c:459
++#: fortran/matchexp.c:464
+ #, no-c-format
+ msgid "Extension: Unary operator following arithmetic operator (use parentheses) at %C"
+ msgstr ""
+@@ -7719,124 +7723,124 @@
+ msgid "Expected real string"
+ msgstr ""
+
+-#: fortran/module.c:2722
++#: fortran/module.c:2730
+ msgid "Expected expression type"
+ msgstr ""
+
+-#: fortran/module.c:2776
++#: fortran/module.c:2784
+ #, fuzzy
+ msgid "Bad operator"
+ msgstr "невыкарыÑтаемы параметр \"%s\""
+
+-#: fortran/module.c:2861
++#: fortran/module.c:2869
+ msgid "Bad type in constant expression"
+ msgstr ""
+
+-#: fortran/module.c:2898
++#: fortran/module.c:2906
+ #, no-c-format
+ msgid "Namelist %s cannot be renamed by USE association to %s"
+ msgstr ""
+
+-#: fortran/module.c:3723
++#: fortran/module.c:3847
+ #, no-c-format
+ msgid "Symbol '%s' referenced at %L not found in module '%s'"
+ msgstr ""
+
+-#: fortran/module.c:3730
++#: fortran/module.c:3854
+ #, no-c-format
+ msgid "User operator '%s' referenced at %L not found in module '%s'"
+ msgstr ""
+
+-#: fortran/module.c:3735
++#: fortran/module.c:3859
+ #, no-c-format
+ msgid "Intrinsic operator '%s' referenced at %L not found in module '%s'"
+ msgstr ""
+
+-#: fortran/module.c:4213
++#: fortran/module.c:4400
+ #, fuzzy, no-c-format
+ msgid "Can't open module file '%s' for writing at %C: %s"
+ msgstr "%s: немагчыма адчыніць файл `%s' Ð´Ð»Ñ Ñ‡Ñ‹Ñ‚Ð°Ð½ÑŒÐ½Ñ: %s\n"
+
+-#: fortran/module.c:4251
++#: fortran/module.c:4438
+ #, fuzzy, no-c-format
+ msgid "Error writing module file '%s' for writing: %s"
+ msgstr "%s: немагчыма адчыніць файл `%s' Ð´Ð»Ñ Ñ‡Ñ‹Ñ‚Ð°Ð½ÑŒÐ½Ñ: %s\n"
+
+-#: fortran/module.c:4281 fortran/module.c:4363
++#: fortran/module.c:4468 fortran/module.c:4550
+ #, no-c-format
+ msgid "Symbol '%s' referenced at %L does not exist in intrinsic module ISO_C_BINDING."
+ msgstr ""
+
+-#: fortran/module.c:4394
++#: fortran/module.c:4581
+ #, no-c-format
+ msgid "Symbol '%s' referenced at %L not found in intrinsic module ISO_C_BINDING"
+ msgstr ""
+
+-#: fortran/module.c:4416
++#: fortran/module.c:4603
+ #, no-c-format
+ msgid "Symbol '%s' already declared"
+ msgstr ""
+
+-#: fortran/module.c:4471
++#: fortran/module.c:4658
+ #, no-c-format
+ msgid "Use of intrinsic module '%s' at %C conflicts with non-intrinsic module name used previously"
+ msgstr ""
+
+-#: fortran/module.c:4484
++#: fortran/module.c:4671
+ #, no-c-format
+ msgid "Symbol '%s' referenced at %L does not exist in intrinsic module ISO_FORTRAN_ENV"
+ msgstr ""
+
+-#: fortran/module.c:4492
++#: fortran/module.c:4679
+ #, no-c-format
+ msgid "Use of the NUMERIC_STORAGE_SIZE named constant from intrinsic module ISO_FORTRAN_ENV at %L is incompatible with option %s"
+ msgstr ""
+
+-#: fortran/module.c:4520
++#: fortran/module.c:4707
+ #, no-c-format
+ msgid "Use of the NUMERIC_STORAGE_SIZE named constant from intrinsic module ISO_FORTRAN_ENV at %C is incompatible with option %s"
+ msgstr ""
+
+-#: fortran/module.c:4536
++#: fortran/module.c:4723
+ #, no-c-format
+ msgid "Symbol '%s' referenced at %L not found in intrinsic module ISO_FORTRAN_ENV"
+ msgstr ""
+
+-#: fortran/module.c:4569
++#: fortran/module.c:4756
+ #, no-c-format
+ msgid "Fortran 2003: ISO_FORTRAN_ENV intrinsic module at %C"
+ msgstr ""
+
+-#: fortran/module.c:4577
++#: fortran/module.c:4764
+ #, no-c-format
+ msgid "Fortran 2003: ISO_C_BINDING module at %C"
+ msgstr ""
+
+-#: fortran/module.c:4587
++#: fortran/module.c:4774
+ #, no-c-format
+ msgid "Can't find an intrinsic module named '%s' at %C"
+ msgstr ""
+
+-#: fortran/module.c:4592
++#: fortran/module.c:4779
+ #, fuzzy, no-c-format
+ msgid "Can't open module file '%s' for reading at %C: %s"
+ msgstr "%s: немагчыма адчыніць файл `%s' Ð´Ð»Ñ Ñ‡Ñ‹Ñ‚Ð°Ð½ÑŒÐ½Ñ: %s\n"
+
+-#: fortran/module.c:4600
++#: fortran/module.c:4787
+ #, no-c-format
+ msgid "Use of non-intrinsic module '%s' at %C conflicts with intrinsic module name used previously"
+ msgstr ""
+
+-#: fortran/module.c:4615
++#: fortran/module.c:4802
+ msgid "Unexpected end of module"
+ msgstr ""
+
+-#: fortran/module.c:4620
++#: fortran/module.c:4807
+ #, no-c-format
+ msgid "File '%s' opened at %C is not a GFORTRAN module file"
+ msgstr ""
+
+-#: fortran/module.c:4630
++#: fortran/module.c:4817
+ #, no-c-format
+ msgid "Can't USE the same module we're building!"
+ msgstr ""
+@@ -7866,7 +7870,7 @@
+ msgid "Syntax error in !$OMP THREADPRIVATE list at %C"
+ msgstr ""
+
+-#: fortran/openmp.c:696 fortran/resolve.c:5822 fortran/resolve.c:6133
++#: fortran/openmp.c:696 fortran/resolve.c:5970 fortran/resolve.c:6317
+ #, no-c-format
+ msgid "IF clause at %L requires a scalar LOGICAL expression"
+ msgstr ""
+@@ -8162,302 +8166,302 @@
+ msgid "Maximum subrecord length cannot exceed %d"
+ msgstr ""
+
+-#: fortran/parse.c:304
++#: fortran/parse.c:451
+ #, no-c-format
+ msgid "Unclassifiable statement at %C"
+ msgstr ""
+
+-#: fortran/parse.c:328
++#: fortran/parse.c:475
+ #, no-c-format
+ msgid "OpenMP directives at %C may not appear in PURE or ELEMENTAL procedures"
+ msgstr ""
+
+-#: fortran/parse.c:406
++#: fortran/parse.c:553
+ #, no-c-format
+ msgid "Unclassifiable OpenMP directive at %C"
+ msgstr ""
+
+-#: fortran/parse.c:445 fortran/parse.c:586
++#: fortran/parse.c:592 fortran/parse.c:733
+ #, no-c-format
+ msgid "Zero is not a valid statement label at %C"
+ msgstr ""
+
+-#: fortran/parse.c:452 fortran/parse.c:578
++#: fortran/parse.c:599 fortran/parse.c:725
+ #, fuzzy, no-c-format
+ msgid "Non-numeric character in statement label at %C"
+ msgstr "пуÑÑ‚Ð°Ñ ÑÑ–Ð¼Ð²Ð°Ð»ÑŒÐ½Ð°Ñ ÐºÐ°Ð½Ñтанта"
+
+-#: fortran/parse.c:464 fortran/parse.c:500 fortran/parse.c:626
++#: fortran/parse.c:611 fortran/parse.c:647 fortran/parse.c:773
+ #, no-c-format
+ msgid "Semicolon at %C needs to be preceded by statement"
+ msgstr ""
+
+-#: fortran/parse.c:472 fortran/parse.c:638
++#: fortran/parse.c:619 fortran/parse.c:785
+ #, no-c-format
+ msgid "Ignoring statement label in empty statement at %C"
+ msgstr ""
+
+-#: fortran/parse.c:565 fortran/parse.c:605
++#: fortran/parse.c:712 fortran/parse.c:752
+ #, no-c-format
+ msgid "Bad continuation line at %C"
+ msgstr ""
+
+-#: fortran/parse.c:664
++#: fortran/parse.c:811
+ #, no-c-format
+ msgid "Line truncated at %C"
+ msgstr ""
+
+-#: fortran/parse.c:841
++#: fortran/parse.c:997
+ #, no-c-format
+ msgid "FORMAT statement at %L does not have a statement label"
+ msgstr ""
+
+-#: fortran/parse.c:913
++#: fortran/parse.c:1069
+ msgid "arithmetic IF"
+ msgstr ""
+
+-#: fortran/parse.c:919
++#: fortran/parse.c:1075
+ #, fuzzy
+ msgid "attribute declaration"
+ msgstr "ÐерÑчаіÑнае абвÑшчÑнне"
+
+-#: fortran/parse.c:949
++#: fortran/parse.c:1105
+ #, fuzzy
+ msgid "data declaration"
+ msgstr "пуÑтое абвÑшчÑньне"
+
+-#: fortran/parse.c:958
++#: fortran/parse.c:1114
+ #, fuzzy
+ msgid "derived type declaration"
+ msgstr "пуÑтое абвÑшчÑньне"
+
+-#: fortran/parse.c:1037
++#: fortran/parse.c:1193
+ msgid "block IF"
+ msgstr ""
+
+-#: fortran/parse.c:1046
++#: fortran/parse.c:1202
+ msgid "implied END DO"
+ msgstr ""
+
+-#: fortran/parse.c:1119
++#: fortran/parse.c:1275
+ msgid "assignment"
+ msgstr ""
+
+-#: fortran/parse.c:1122
++#: fortran/parse.c:1278
+ msgid "pointer assignment"
+ msgstr ""
+
+-#: fortran/parse.c:1131
++#: fortran/parse.c:1287
+ msgid "simple IF"
+ msgstr ""
+
+-#: fortran/parse.c:1347
++#: fortran/parse.c:1503
+ #, no-c-format
+ msgid "Unexpected %s statement at %C"
+ msgstr ""
+
+-#: fortran/parse.c:1486
++#: fortran/parse.c:1642
+ #, no-c-format
+ msgid "%s statement at %C cannot follow %s statement at %L"
+ msgstr ""
+
+-#: fortran/parse.c:1503
++#: fortran/parse.c:1659
+ #, no-c-format
+ msgid "Unexpected end of file in '%s'"
+ msgstr ""
+
+-#: fortran/parse.c:1558
++#: fortran/parse.c:1714
+ #, no-c-format
+ msgid "Fortran 2003: Derived type definition at %C without components"
+ msgstr ""
+
+-#: fortran/parse.c:1569
++#: fortran/parse.c:1725
+ #, no-c-format
+ msgid "PRIVATE statement in TYPE at %C must be inside a MODULE"
+ msgstr ""
+
+-#: fortran/parse.c:1577
++#: fortran/parse.c:1733
+ #, no-c-format
+ msgid "PRIVATE statement at %C must precede structure components"
+ msgstr ""
+
+-#: fortran/parse.c:1585
++#: fortran/parse.c:1741
+ #, no-c-format
+ msgid "Duplicate PRIVATE statement at %C"
+ msgstr ""
+
+-#: fortran/parse.c:1597
++#: fortran/parse.c:1753
+ #, no-c-format
+ msgid "SEQUENCE statement at %C must precede structure components"
+ msgstr ""
+
+-#: fortran/parse.c:1604
++#: fortran/parse.c:1760
+ #, no-c-format
+ msgid "SEQUENCE attribute at %C already specified in TYPE statement"
+ msgstr ""
+
+-#: fortran/parse.c:1609
++#: fortran/parse.c:1765
+ #, no-c-format
+ msgid "Duplicate SEQUENCE statement at %C"
+ msgstr ""
+
+-#: fortran/parse.c:1700
++#: fortran/parse.c:1856
+ #, no-c-format
+ msgid "ENUM declaration at %C has no ENUMERATORS"
+ msgstr ""
+
+-#: fortran/parse.c:1778
++#: fortran/parse.c:1934
+ #, no-c-format
+ msgid "Unexpected %s statement in INTERFACE block at %C"
+ msgstr ""
+
+-#: fortran/parse.c:1804
++#: fortran/parse.c:1960
+ #, no-c-format
+ msgid "SUBROUTINE at %C does not belong in a generic function interface"
+ msgstr ""
+
+-#: fortran/parse.c:1808
++#: fortran/parse.c:1964
+ #, no-c-format
+ msgid "FUNCTION at %C does not belong in a generic subroutine interface"
+ msgstr ""
+
+-#: fortran/parse.c:1818
++#: fortran/parse.c:1974
+ #, no-c-format
+ msgid "Name '%s' of ABSTRACT INTERFACE at %C cannot be the same as an intrinsic type"
+ msgstr ""
+
+-#: fortran/parse.c:1849
++#: fortran/parse.c:2005
+ #, no-c-format
+ msgid "Unexpected %s statement at %C in INTERFACE body"
+ msgstr ""
+
+-#: fortran/parse.c:1863
++#: fortran/parse.c:2019
+ #, no-c-format
+ msgid "INTERFACE procedure '%s' at %L has the same name as the enclosing procedure"
+ msgstr ""
+
+-#: fortran/parse.c:1958
++#: fortran/parse.c:2134
+ #, no-c-format
+ msgid "%s statement must appear in a MODULE"
+ msgstr ""
+
+-#: fortran/parse.c:1965
++#: fortran/parse.c:2141
+ #, no-c-format
+ msgid "%s statement at %C follows another accessibility specification"
+ msgstr ""
+
+-#: fortran/parse.c:2015
++#: fortran/parse.c:2191
+ #, no-c-format
+ msgid "Bad kind expression for function '%s' at %L"
+ msgstr ""
+
+-#: fortran/parse.c:2018
++#: fortran/parse.c:2195
+ #, no-c-format
+ msgid "The type for function '%s' at %L is not accessible"
+ msgstr ""
+
+-#: fortran/parse.c:2070
++#: fortran/parse.c:2253
+ #, no-c-format
+ msgid "ELSEWHERE statement at %C follows previous unmasked ELSEWHERE"
+ msgstr ""
+
+-#: fortran/parse.c:2091
++#: fortran/parse.c:2274
+ #, no-c-format
+ msgid "Unexpected %s statement in WHERE block at %C"
+ msgstr ""
+
+-#: fortran/parse.c:2150
++#: fortran/parse.c:2333
+ #, no-c-format
+ msgid "Unexpected %s statement in FORALL block at %C"
+ msgstr ""
+
+-#: fortran/parse.c:2201
++#: fortran/parse.c:2384
+ #, no-c-format
+ msgid "ELSE IF statement at %C cannot follow ELSE statement at %L"
+ msgstr ""
+
+-#: fortran/parse.c:2219
++#: fortran/parse.c:2402
+ #, no-c-format
+ msgid "Duplicate ELSE statements at %L and %C"
+ msgstr ""
+
+-#: fortran/parse.c:2280
++#: fortran/parse.c:2463
+ #, no-c-format
+ msgid "Expected a CASE or END SELECT statement following SELECT CASE at %C"
+ msgstr ""
+
+-#: fortran/parse.c:2338
++#: fortran/parse.c:2521
+ #, no-c-format
+ msgid "Variable '%s' at %C cannot be redefined inside loop beginning at %L"
+ msgstr ""
+
+-#: fortran/parse.c:2372
++#: fortran/parse.c:2555
+ #, no-c-format
+ msgid "End of nonblock DO statement at %C is within another block"
+ msgstr ""
+
+-#: fortran/parse.c:2381
++#: fortran/parse.c:2564
+ #, no-c-format
+ msgid "End of nonblock DO statement at %C is interwoven with another DO loop"
+ msgstr ""
+
+-#: fortran/parse.c:2430
++#: fortran/parse.c:2613
+ #, no-c-format
+ msgid "Statement label in ENDDO at %C doesn't match DO label"
+ msgstr ""
+
+-#: fortran/parse.c:2446
++#: fortran/parse.c:2629
+ #, no-c-format
+ msgid "named block DO at %L requires matching ENDDO name"
+ msgstr ""
+
+-#: fortran/parse.c:2702
++#: fortran/parse.c:2885
+ #, no-c-format
+ msgid "Name after !$omp critical and !$omp end critical does not match at %C"
+ msgstr ""
+
+-#: fortran/parse.c:2758
++#: fortran/parse.c:2941
+ #, no-c-format
+ msgid "%s statement at %C cannot terminate a non-block DO loop"
+ msgstr ""
+
+-#: fortran/parse.c:2943
++#: fortran/parse.c:3126
+ #, no-c-format
+ msgid "Contained procedure '%s' at %C is already ambiguous"
+ msgstr ""
+
+-#: fortran/parse.c:2993
++#: fortran/parse.c:3176
+ #, no-c-format
+ msgid "Unexpected %s statement in CONTAINS section at %C"
+ msgstr ""
+
+ #. This is valid in Fortran 2008.
+-#: fortran/parse.c:3018
++#: fortran/parse.c:3201
+ #, no-c-format
+ msgid "Extension: CONTAINS statement without FUNCTION or SUBROUTINE statement at %C"
+ msgstr ""
+
+-#: fortran/parse.c:3089
++#: fortran/parse.c:3272
+ #, no-c-format
+ msgid "CONTAINS statement at %C is already in a contained program unit"
+ msgstr ""
+
+-#: fortran/parse.c:3138
++#: fortran/parse.c:3321
+ #, no-c-format
+ msgid "Global name '%s' at %L is already being used as a %s at %L"
+ msgstr ""
+
+-#: fortran/parse.c:3159
++#: fortran/parse.c:3342
+ #, no-c-format
+ msgid "Blank BLOCK DATA at %C conflicts with prior BLOCK DATA at %L"
+ msgstr ""
+
+-#: fortran/parse.c:3185
++#: fortran/parse.c:3368
+ #, no-c-format
+ msgid "Unexpected %s statement in BLOCK DATA at %C"
+ msgstr ""
+
+-#: fortran/parse.c:3228
++#: fortran/parse.c:3411
+ #, no-c-format
+ msgid "Unexpected %s statement in MODULE at %C"
+ msgstr ""
+@@ -8465,7 +8469,7 @@
+ #. If we see a duplicate main program, shut down. If the second
+ #. instance is an implied main program, ie data decls or executable
+ #. statements, we're in for lots of errors.
+-#: fortran/parse.c:3416
++#: fortran/parse.c:3594
+ #, no-c-format
+ msgid "Two main PROGRAMs at %L and %C"
+ msgstr ""
+@@ -8502,7 +8506,7 @@
+
+ #: fortran/primary.c:353
+ #, no-c-format
+-msgid "Extension: Hexadecimal constant at %C uses non-standard syntax."
++msgid "Extension: Hexadecimal constant at %C uses non-standard syntax"
+ msgstr ""
+
+ #: fortran/primary.c:363
+@@ -8515,994 +8519,1039 @@
+ msgid "Illegal character in BOZ constant at %C"
+ msgstr "пуÑÑ‚Ð°Ñ ÑÑ–Ð¼Ð²Ð°Ð»ÑŒÐ½Ð°Ñ ÐºÐ°Ð½Ñтанта"
+
+-#: fortran/primary.c:391
++#: fortran/primary.c:392
+ #, no-c-format
+-msgid "Extension: BOZ constant at %C uses non-standard postfix syntax."
++msgid "Extension: BOZ constant at %C uses non-standard postfix syntax"
+ msgstr ""
+
+-#: fortran/primary.c:417
++#: fortran/primary.c:423
+ #, no-c-format
+ msgid "Integer too big for integer kind %i at %C"
+ msgstr ""
+
+-#: fortran/primary.c:517
++#: fortran/primary.c:429
+ #, no-c-format
++msgid "Fortran 2003: BOZ used outside a DATA statement at %C"
++msgstr ""
++
++#: fortran/primary.c:529
++#, no-c-format
+ msgid "Missing exponent in real number at %C"
+ msgstr ""
+
+-#: fortran/primary.c:573
++#: fortran/primary.c:585
+ #, no-c-format
+ msgid "Real number at %C has a 'd' exponent and an explicit kind"
+ msgstr ""
+
+-#: fortran/primary.c:586
++#: fortran/primary.c:598
+ #, no-c-format
+ msgid "Invalid real kind %d at %C"
+ msgstr ""
+
+-#: fortran/primary.c:600
++#: fortran/primary.c:612
+ #, no-c-format
+ msgid "Real constant overflows its kind at %C"
+ msgstr ""
+
+-#: fortran/primary.c:605
++#: fortran/primary.c:617
+ #, no-c-format
+ msgid "Real constant underflows its kind at %C"
+ msgstr ""
+
+-#: fortran/primary.c:697
++#: fortran/primary.c:709
+ #, no-c-format
+ msgid "Syntax error in SUBSTRING specification at %C"
+ msgstr ""
+
+-#: fortran/primary.c:902
++#: fortran/primary.c:914
+ #, no-c-format
+ msgid "Invalid kind %d for CHARACTER constant at %C"
+ msgstr ""
+
+-#: fortran/primary.c:923
++#: fortran/primary.c:935
+ #, fuzzy, no-c-format
+ msgid "Unterminated character constant beginning at %C"
+ msgstr "ÑÑ–Ð¼Ð²Ð°Ð»ÑŒÐ½Ð°Ñ ÐºÐ°Ð½Ñтанта вельмі доўгаÑ"
+
+-#: fortran/primary.c:1035
++#: fortran/primary.c:1047
+ #, no-c-format
+ msgid "Bad kind for logical constant at %C"
+ msgstr ""
+
+-#: fortran/primary.c:1074
++#: fortran/primary.c:1086
+ #, no-c-format
+ msgid "Expected PARAMETER symbol in complex constant at %C"
+ msgstr ""
+
+-#: fortran/primary.c:1080
++#: fortran/primary.c:1092
+ #, no-c-format
+ msgid "Numeric PARAMETER required in complex constant at %C"
+ msgstr ""
+
+-#: fortran/primary.c:1086
++#: fortran/primary.c:1098
+ #, no-c-format
+ msgid "Scalar PARAMETER required in complex constant at %C"
+ msgstr ""
+
+-#: fortran/primary.c:1090
++#: fortran/primary.c:1102
+ #, no-c-format
+ msgid "Fortran 2003: PARAMETER symbol in complex constant at %C"
+ msgstr ""
+
+-#: fortran/primary.c:1120
++#: fortran/primary.c:1132
+ #, no-c-format
+ msgid "Error converting PARAMETER constant in complex constant at %C"
+ msgstr ""
+
+-#: fortran/primary.c:1249
++#: fortran/primary.c:1261
+ #, no-c-format
+ msgid "Syntax error in COMPLEX constant at %C"
+ msgstr ""
+
+-#: fortran/primary.c:1430
++#: fortran/primary.c:1442
+ #, no-c-format
+ msgid "Keyword '%s' at %C has already appeared in the current argument list"
+ msgstr ""
+
+-#: fortran/primary.c:1494
++#: fortran/primary.c:1506
+ #, fuzzy, no-c-format
+ msgid "Extension: argument list function at %C"
+ msgstr "вельмі шмат аргумÑнтаў у функцыі `%s'"
+
+-#: fortran/primary.c:1561
++#: fortran/primary.c:1573
+ #, no-c-format
+ msgid "Expected alternate return label at %C"
+ msgstr ""
+
+-#: fortran/primary.c:1579
++#: fortran/primary.c:1591
+ #, no-c-format
+ msgid "Missing keyword name in actual argument list at %C"
+ msgstr ""
+
+-#: fortran/primary.c:1624
++#: fortran/primary.c:1636
+ #, no-c-format
+ msgid "Syntax error in argument list at %C"
+ msgstr ""
+
+-#: fortran/primary.c:1708
++#: fortran/primary.c:1723
+ #, no-c-format
+ msgid "Expected structure component name at %C"
+ msgstr ""
+
+-#: fortran/primary.c:1961
++#: fortran/primary.c:1980
+ #, no-c-format
+ msgid "Too many components in structure constructor at %C"
+ msgstr ""
+
+-#: fortran/primary.c:1974
++#: fortran/primary.c:1993
+ #, no-c-format
+ msgid "Structure constructor for '%s' at %C has PRIVATE components"
+ msgstr ""
+
+-#: fortran/primary.c:1984
++#: fortran/primary.c:2003
+ #, no-c-format
+ msgid "Too few components in structure constructor at %C"
+ msgstr ""
+
+-#: fortran/primary.c:2002
++#: fortran/primary.c:2021
+ #, no-c-format
+ msgid "Syntax error in structure constructor at %C"
+ msgstr ""
+
+-#: fortran/primary.c:2086
++#: fortran/primary.c:2105
+ #, no-c-format
+ msgid "'%s' 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.c:2188
++#: fortran/primary.c:2207
+ #, no-c-format
+ msgid "Unexpected use of subroutine name '%s' at %C"
+ msgstr ""
+
+-#: fortran/primary.c:2219
++#: fortran/primary.c:2238
+ #, fuzzy, no-c-format
+ msgid "Statement function '%s' requires argument list at %C"
+ msgstr "метка \"%s\" вызначана, але не выкарыÑтоўваецца"
+
+-#: fortran/primary.c:2222
++#: fortran/primary.c:2241
+ #, no-c-format
+ msgid "Function '%s' requires an argument list at %C"
+ msgstr ""
+
+-#: fortran/primary.c:2267
++#: fortran/primary.c:2286
+ #, fuzzy, no-c-format
+ msgid "Missing argument to '%s' at %C"
+ msgstr "аргумент Ð´Ð»Ñ \"%s\" прапушчан"
+
+-#: fortran/primary.c:2408
++#: fortran/primary.c:2427
+ #, fuzzy, no-c-format
+ msgid "Missing argument list in function '%s' at %C"
+ msgstr "аргумент Ð´Ð»Ñ \"%s\" прапушчан"
+
+-#: fortran/primary.c:2436
++#: fortran/primary.c:2455
+ #, no-c-format
+ msgid "Symbol at %C is not appropriate for an expression"
+ msgstr ""
+
+-#: fortran/primary.c:2504
++#: fortran/primary.c:2523
+ #, no-c-format
+ msgid "Assigning to PROTECTED variable at %C"
+ msgstr ""
+
+-#: fortran/primary.c:2520
++#: fortran/primary.c:2557
+ #, no-c-format
+ msgid "Named constant at %C in an EQUIVALENCE"
+ msgstr ""
+
+-#: fortran/primary.c:2543
+-#, no-c-format
+-msgid "Expected VARIABLE at %C"
+-msgstr ""
++#: fortran/primary.c:2579
++#, fuzzy, no-c-format
++msgid "'%s' at %C is not a variable"
++msgstr "\"%s\" атрыбут ігнарыруецца"
+
+-#: fortran/resolve.c:120
++#: fortran/resolve.c:121
+ #, no-c-format
+ msgid "Alternate return specifier in elemental subroutine '%s' at %L is not allowed"
+ msgstr ""
+
+-#: fortran/resolve.c:124
++#: fortran/resolve.c:125
+ #, no-c-format
+ msgid "Alternate return specifier in function '%s' at %L is not allowed"
+ msgstr ""
+
+-#: fortran/resolve.c:137
++#: fortran/resolve.c:138
+ #, no-c-format
+ msgid "Dummy procedure '%s' of PURE procedure at %L must also be PURE"
+ msgstr ""
+
+-#: fortran/resolve.c:144
++#: fortran/resolve.c:145
+ #, no-c-format
+ msgid "Dummy procedure at %L not allowed in ELEMENTAL procedure"
+ msgstr ""
+
+-#: fortran/resolve.c:157 fortran/resolve.c:1080
++#: fortran/resolve.c:158 fortran/resolve.c:1138
+ #, no-c-format
+ msgid "Unable to find a specific INTRINSIC procedure for the reference '%s' at %L"
+ msgstr ""
+
+-#: fortran/resolve.c:201
++#: fortran/resolve.c:202
+ #, no-c-format
+ msgid "Argument '%s' of pure function '%s' at %L must be INTENT(IN)"
+ msgstr ""
+
+-#: fortran/resolve.c:206
++#: fortran/resolve.c:207
+ #, no-c-format
+ msgid "Argument '%s' of pure subroutine '%s' at %L must have its INTENT specified"
+ msgstr ""
+
+-#: fortran/resolve.c:215
++#: fortran/resolve.c:216
+ #, no-c-format
+ msgid "Argument '%s' of elemental procedure at %L must be scalar"
+ msgstr ""
+
+-#: fortran/resolve.c:222
++#: fortran/resolve.c:223
+ #, no-c-format
+ msgid "Argument '%s' of elemental procedure at %L cannot have the POINTER attribute"
+ msgstr ""
+
+-#: fortran/resolve.c:234
++#: fortran/resolve.c:231
+ #, no-c-format
++msgid "Dummy procedure '%s' not allowed in elemental procedure '%s' at %L"
++msgstr ""
++
++#: fortran/resolve.c:243
++#, no-c-format
+ msgid "Argument '%s' of statement function at %L must be scalar"
+ msgstr ""
+
+-#: fortran/resolve.c:244
++#: fortran/resolve.c:253
+ #, no-c-format
+ msgid "Character-valued argument '%s' of statement function at %L must have constant length"
+ msgstr ""
+
+-#: fortran/resolve.c:299
++#: fortran/resolve.c:310
+ #, no-c-format
+ msgid "Contained function '%s' at %L has no IMPLICIT type"
+ msgstr ""
+
+-#: fortran/resolve.c:302
++#: fortran/resolve.c:313
+ #, no-c-format
+ msgid "Result '%s' of contained function '%s' at %L has no IMPLICIT type"
+ msgstr ""
+
+-#: fortran/resolve.c:319
++#: fortran/resolve.c:330
+ #, no-c-format
+ msgid "Character-valued internal function '%s' at %L must not be assumed length"
+ msgstr ""
+
+-#: fortran/resolve.c:490
++#: fortran/resolve.c:501
+ #, no-c-format
+-msgid "Procedure %s at %L has entries with mismatched array specifications"
++msgid "Function %s at %L has entries with mismatched array specifications"
+ msgstr ""
+
+-#: fortran/resolve.c:516
++#: fortran/resolve.c:518
+ #, no-c-format
++msgid "Extension: Function %s at %L with entries returning variables of different string lengths"
++msgstr ""
++
++#: fortran/resolve.c:545
++#, no-c-format
+ msgid "FUNCTION result %s can't be an array in FUNCTION %s at %L"
+ msgstr ""
+
+-#: fortran/resolve.c:520
++#: fortran/resolve.c:549
+ #, no-c-format
+ msgid "ENTRY result %s can't be an array in FUNCTION %s at %L"
+ msgstr ""
+
+-#: fortran/resolve.c:527
++#: fortran/resolve.c:556
+ #, no-c-format
+ msgid "FUNCTION result %s can't be a POINTER in FUNCTION %s at %L"
+ msgstr ""
+
+-#: fortran/resolve.c:531
++#: fortran/resolve.c:560
+ #, no-c-format
+ msgid "ENTRY result %s can't be a POINTER in FUNCTION %s at %L"
+ msgstr ""
+
+-#: fortran/resolve.c:569
++#: fortran/resolve.c:598
+ #, no-c-format
+ msgid "FUNCTION result %s can't be of type %s in FUNCTION %s at %L"
+ msgstr ""
+
+-#: fortran/resolve.c:574
++#: fortran/resolve.c:603
+ #, no-c-format
+ msgid "ENTRY result %s can't be of type %s in FUNCTION %s at %L"
+ msgstr ""
+
+-#: fortran/resolve.c:643
++#: fortran/resolve.c:661
+ #, no-c-format
++msgid "Variable '%s' at %L is in COMMON but only in BLOCK DATA initialization is allowed"
++msgstr ""
++
++#: fortran/resolve.c:665
++#, no-c-format
++msgid "Initialized variable '%s' at %L is in a blank COMMON but initialization is only allowed in named common blocks"
++msgstr ""
++
++#: fortran/resolve.c:676
++#, no-c-format
+ msgid "Derived type variable '%s' in COMMON at %L has neither the SEQUENCE nor the BIND(C) attribute"
+ msgstr ""
+
+-#: fortran/resolve.c:647
++#: fortran/resolve.c:680
+ #, no-c-format
+ msgid "Derived type variable '%s' in COMMON at %L has an ultimate component that is allocatable"
+ msgstr ""
+
+-#: fortran/resolve.c:651
++#: fortran/resolve.c:684
+ #, no-c-format
+ msgid "Derived type variable '%s' in COMMON at %L may not have default initializer"
+ msgstr ""
+
+-#: fortran/resolve.c:661
++#: fortran/resolve.c:711
+ #, no-c-format
+ msgid "COMMON block '%s' at %L is used as PARAMETER at %L"
+ msgstr ""
+
+-#: fortran/resolve.c:665
++#: fortran/resolve.c:715
+ #, no-c-format
+ msgid "COMMON block '%s' at %L is also an intrinsic procedure"
+ msgstr ""
+
+-#: fortran/resolve.c:669
++#: fortran/resolve.c:719
+ #, no-c-format
+ msgid "Fortran 2003: COMMON block '%s' at %L that is also a function result"
+ msgstr ""
+
+-#: fortran/resolve.c:674
++#: fortran/resolve.c:724
+ #, no-c-format
+ msgid "Fortran 2003: COMMON block '%s' at %L that is also a global procedure"
+ msgstr ""
+
+-#: fortran/resolve.c:736
++#: fortran/resolve.c:786
+ #, no-c-format
+ msgid "Components of structure constructor '%s' at %L are PRIVATE"
+ msgstr ""
+
+-#: fortran/resolve.c:756
++#: fortran/resolve.c:808
+ #, no-c-format
+ msgid "The rank of the element in the derived type constructor at %L does not match that of the component (%d/%d)"
+ msgstr ""
+
+-#: fortran/resolve.c:769
++#: fortran/resolve.c:821
+ #, no-c-format
+ msgid "The element in the derived type constructor at %L, for pointer component '%s', is %s but should be %s"
+ msgstr ""
+
+-#: fortran/resolve.c:786
++#: fortran/resolve.c:838
+ #, no-c-format
+ msgid "The element in the derived type constructor at %L, for pointer component '%s' should be a POINTER or a TARGET"
+ msgstr ""
+
+-#: fortran/resolve.c:913
++#: fortran/resolve.c:965
+ #, no-c-format
+ msgid "The upper bound in the last dimension must appear in the reference to the assumed size array '%s' at %L"
+ msgstr ""
+
+-#: fortran/resolve.c:976 fortran/resolve.c:5434 fortran/resolve.c:6098
++#: fortran/resolve.c:1029 fortran/resolve.c:5576 fortran/resolve.c:6282
+ #, no-c-format
+ msgid "Label %d referenced at %L is never defined"
+ msgstr ""
+
+-#: fortran/resolve.c:986
++#: fortran/resolve.c:1039
+ #, fuzzy, no-c-format
+ msgid "'%s' at %L is ambiguous"
+ msgstr "памер \"%s\" - %d байт"
+
+-#: fortran/resolve.c:1018
++#: fortran/resolve.c:1075
+ #, fuzzy, no-c-format
+ msgid "Statement function '%s' at %L is not allowed as an actual argument"
+ msgstr "метка \"%s\" вызначана, але не выкарыÑтоўваецца"
+
+-#: fortran/resolve.c:1026
++#: fortran/resolve.c:1083
+ #, no-c-format
+ msgid "Intrinsic '%s' at %L is not allowed as an actual argument"
+ msgstr ""
+
+-#: fortran/resolve.c:1033
++#: fortran/resolve.c:1090
+ #, no-c-format
+ msgid "Internal procedure '%s' is not allowed as an actual argument at %L"
+ msgstr ""
+
+-#: fortran/resolve.c:1039
++#: fortran/resolve.c:1096
+ #, no-c-format
+ msgid "ELEMENTAL non-INTRINSIC procedure '%s' is not allowed as an actual argument at %L"
+ msgstr ""
+
+-#: fortran/resolve.c:1059
++#: fortran/resolve.c:1116
+ #, no-c-format
+ msgid "GENERIC procedure '%s' is not allowed as an actual argument at %L"
+ msgstr ""
+
+-#: fortran/resolve.c:1098
++#: fortran/resolve.c:1157
+ #, fuzzy, no-c-format
+ msgid "Symbol '%s' at %L is ambiguous"
+ msgstr "памер \"%s\" - %d байт"
+
+-#: fortran/resolve.c:1143
++#: fortran/resolve.c:1206
+ #, no-c-format
+ msgid "By-value argument at %L is not of numeric type"
+ msgstr ""
+
+-#: fortran/resolve.c:1150
++#: fortran/resolve.c:1213
+ #, no-c-format
+ msgid "By-value argument at %L cannot be an array or an array section"
+ msgstr ""
+
+-#: fortran/resolve.c:1164
++#: fortran/resolve.c:1227
+ #, no-c-format
+ msgid "By-value argument at %L is not allowed in this context"
+ msgstr ""
+
+-#: fortran/resolve.c:1176
++#: fortran/resolve.c:1239
+ #, no-c-format
+ msgid "Passing internal procedure at %L by location not allowed"
+ msgstr ""
+
+-#: fortran/resolve.c:1293
++#: fortran/resolve.c:1356
+ #, no-c-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)"
+ msgstr ""
+
+-#: fortran/resolve.c:1315
++#: fortran/resolve.c:1378
+ msgid "elemental procedure"
+ msgstr ""
+
+-#: fortran/resolve.c:1332
++#: fortran/resolve.c:1395
+ #, no-c-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"
+ msgstr ""
+
+-#: fortran/resolve.c:1466
++#: fortran/resolve.c:1531
+ #, no-c-format
+ msgid "There is no specific function for the generic '%s' at %L"
+ msgstr ""
+
+-#: fortran/resolve.c:1475
++#: fortran/resolve.c:1540
+ #, no-c-format
+ msgid "Generic function '%s' at %L is not consistent with a specific intrinsic interface"
+ msgstr ""
+
+-#: fortran/resolve.c:1513
++#: fortran/resolve.c:1594
+ #, no-c-format
+ msgid "Function '%s' at %L is INTRINSIC but is not compatible with an intrinsic"
+ msgstr ""
+
+-#: fortran/resolve.c:1559
++#: fortran/resolve.c:1640
+ #, no-c-format
+ msgid "Unable to resolve the specific function '%s' at %L"
+ msgstr ""
+
+-#: fortran/resolve.c:1615 fortran/resolve.c:8740
++#: fortran/resolve.c:1696 fortran/resolve.c:8931
+ #, no-c-format
+ msgid "Function '%s' at %L has no IMPLICIT type"
+ msgstr ""
+
+-#: fortran/resolve.c:1799
++#: fortran/resolve.c:1907
+ #, fuzzy, no-c-format
+ msgid "Argument to '%s' at %L is not a variable"
+ msgstr "аргумент `__builtin_args_info' павінен быць канÑтантай"
+
+-#: fortran/resolve.c:1871
++#: fortran/resolve.c:1979
+ #, no-c-format
+ msgid "More actual than formal arguments in '%s' call at %L"
+ msgstr ""
+
+-#: fortran/resolve.c:1883
++#: fortran/resolve.c:1991
+ #, no-c-format
+ msgid "Parameter '%s' to '%s' at %L must be either a TARGET or an associated pointer"
+ msgstr ""
+
+-#: fortran/resolve.c:1909
++#: fortran/resolve.c:2017
+ #, no-c-format
+ msgid "Allocatable variable '%s' used as a parameter to '%s' at %L must not be an array of zero size"
+ msgstr ""
+
+-#: fortran/resolve.c:1926
++#: fortran/resolve.c:2034
+ #, no-c-format
+ msgid "Assumed-shape array '%s' at %L cannot be an argument to the procedure '%s' because it is not C interoperable"
+ msgstr ""
+
+-#: fortran/resolve.c:1936
++#: fortran/resolve.c:2044
+ #, no-c-format
+ msgid "Deferred-shape array '%s' at %L cannot be an argument to the procedure '%s' because it is not C interoperable"
+ msgstr ""
+
+-#: fortran/resolve.c:1959 fortran/resolve.c:1998
++#: fortran/resolve.c:2067 fortran/resolve.c:2106
+ #, no-c-format
+ msgid "CHARACTER argument '%s' to '%s' at %L must have a length of 1"
+ msgstr ""
+
+ #. Case 1c, section 15.1.2.5, J3/04-007: an associated
+ #. scalar pointer.
+-#: fortran/resolve.c:1974
++#: fortran/resolve.c:2082
+ #, no-c-format
+ msgid "Argument '%s' to '%s' at %L must be an associated scalar POINTER"
+ msgstr ""
+
+-#: fortran/resolve.c:1990
++#: fortran/resolve.c:2098
+ #, no-c-format
+ msgid "Parameter '%s' to '%s' at %L must be a scalar"
+ msgstr ""
+
+ #. TODO: Update this error message to allow for procedure
+ #. pointers once they are implemented.
+-#: fortran/resolve.c:2012
++#: fortran/resolve.c:2120
+ #, no-c-format
+ msgid "Parameter '%s' to '%s' at %L must be a procedure"
+ msgstr ""
+
+-#: fortran/resolve.c:2020
++#: fortran/resolve.c:2128
+ #, no-c-format
+ msgid "Parameter '%s' to '%s' at %L must be BIND(C)"
+ msgstr ""
+
+-#: fortran/resolve.c:2062
++#: fortran/resolve.c:2170
+ #, fuzzy, no-c-format
+ msgid "'%s' at %L is not a function"
+ msgstr "`%D' - гÑта Ð½Ñ Ñ„ÑƒÐ½ÐºÑ†Ñ‹Ñ,"
+
+-#: fortran/resolve.c:2068
++#: fortran/resolve.c:2176
+ #, no-c-format
+ msgid "ABSTRACT INTERFACE '%s' must not be referenced at %L"
+ msgstr ""
+
+ #. Internal procedures are taken care of in resolve_contained_fntype.
+-#: fortran/resolve.c:2111
++#: fortran/resolve.c:2219
+ #, no-c-format
+ msgid "Function '%s' is declared CHARACTER(*) and cannot be used at %L since it is not a dummy argument"
+ msgstr ""
+
+-#: fortran/resolve.c:2164
++#: fortran/resolve.c:2272
+ #, no-c-format
+ msgid "User defined non-ELEMENTAL function '%s' at %L not allowed in WORKSHARE construct"
+ msgstr ""
+
+-#: fortran/resolve.c:2213
++#: fortran/resolve.c:2321
+ #, no-c-format
+ msgid "reference to non-PURE function '%s' at %L inside a FORALL %s"
+ msgstr ""
+
+-#: fortran/resolve.c:2220
++#: fortran/resolve.c:2328
+ #, no-c-format
+ msgid "Function reference to '%s' at %L is to a non-PURE procedure within a PURE procedure"
+ msgstr ""
+
+-#: fortran/resolve.c:2235
++#: fortran/resolve.c:2343
+ #, no-c-format
+ msgid "Function '%s' at %L cannot call itself, as it is not RECURSIVE"
+ msgstr ""
+
+-#: fortran/resolve.c:2243
++#: fortran/resolve.c:2351
+ #, no-c-format
+ msgid "Call to ENTRY '%s' at %L is recursive, but function '%s' is not declared as RECURSIVE"
+ msgstr ""
+
+-#: fortran/resolve.c:2285
++#: fortran/resolve.c:2393
+ #, no-c-format
+ msgid "Subroutine call to '%s' in FORALL block at %L is not PURE"
+ msgstr ""
+
+-#: fortran/resolve.c:2288
++#: fortran/resolve.c:2396
+ #, no-c-format
+ msgid "Subroutine call to '%s' at %L is not PURE"
+ msgstr ""
+
+-#: fortran/resolve.c:2351
++#: fortran/resolve.c:2459
+ #, no-c-format
+ msgid "There is no specific subroutine for the generic '%s' at %L"
+ msgstr ""
+
+-#: fortran/resolve.c:2360
++#: fortran/resolve.c:2468
+ #, no-c-format
+ msgid "Generic subroutine '%s' at %L is not consistent with an intrinsic subroutine interface"
+ msgstr ""
+
+-#: fortran/resolve.c:2468
++#: fortran/resolve.c:2576
+ #, no-c-format
+ msgid "Missing SHAPE parameter for call to %s at %L"
+ msgstr ""
+
+-#: fortran/resolve.c:2476
++#: fortran/resolve.c:2584
+ #, no-c-format
+ msgid "SHAPE parameter for call to %s at %L must be a rank 1 INTEGER array"
+ msgstr ""
+
+-#: fortran/resolve.c:2543
++#: fortran/resolve.c:2667
+ #, no-c-format
+ msgid "Subroutine '%s' at %L is INTRINSIC but is not compatible with an intrinsic"
+ msgstr ""
+
+-#: fortran/resolve.c:2587
++#: fortran/resolve.c:2711
+ #, no-c-format
+ msgid "Unable to resolve the specific subroutine '%s' at %L"
+ msgstr ""
+
+-#: fortran/resolve.c:2644
++#: fortran/resolve.c:2768
+ #, no-c-format
+ msgid "'%s' at %L has a type, which is not consistent with the CALL at %L"
+ msgstr ""
+
+-#: fortran/resolve.c:2663
++#: fortran/resolve.c:2787
+ #, no-c-format
+ msgid "SUBROUTINE '%s' at %L cannot call itself, as it is not RECURSIVE"
+ msgstr ""
+
+-#: fortran/resolve.c:2671
++#: fortran/resolve.c:2795
+ #, no-c-format
+ msgid "Call to ENTRY '%s' at %L is recursive, but subroutine '%s' is not declared as RECURSIVE"
+ msgstr ""
+
+-#: fortran/resolve.c:2741
++#: fortran/resolve.c:2865
+ #, no-c-format
+ msgid "Shapes for operands at %L and %L are not conformable"
+ msgstr ""
+
+-#: fortran/resolve.c:2792
++#: fortran/resolve.c:2916
+ #, c-format
+ msgid "Invalid context for NULL() pointer at %%L"
+ msgstr ""
+
+-#: fortran/resolve.c:2808
++#: fortran/resolve.c:2932
+ #, c-format
+ msgid "Operand of unary numeric operator '%s' at %%L is %s"
+ msgstr ""
+
+-#: fortran/resolve.c:2824
++#: fortran/resolve.c:2948
+ #, c-format
+ msgid "Operands of binary numeric operator '%s' at %%L are %s/%s"
+ msgstr ""
+
+-#: fortran/resolve.c:2838
++#: fortran/resolve.c:2962
+ #, c-format
+ msgid "Operands of string concatenation operator at %%L are %s/%s"
+ msgstr ""
+
+-#: fortran/resolve.c:2857
++#: fortran/resolve.c:2981
+ #, c-format
+ msgid "Operands of logical operator '%s' at %%L are %s/%s"
+ msgstr ""
+
+-#: fortran/resolve.c:2871
++#: fortran/resolve.c:2995
+ #, c-format
+ msgid "Operand of .not. operator at %%L is %s"
+ msgstr ""
+
+-#: fortran/resolve.c:2885
++#: fortran/resolve.c:3009
+ msgid "COMPLEX quantities cannot be compared at %L"
+ msgstr ""
+
+-#: fortran/resolve.c:2913
++#: fortran/resolve.c:3037
+ #, c-format
+ msgid "Logicals at %%L must be compared with %s instead of %s"
+ msgstr ""
+
+-#: fortran/resolve.c:2919
++#: fortran/resolve.c:3043
+ #, c-format
+ msgid "Operands of comparison operator '%s' at %%L are %s/%s"
+ msgstr ""
+
+-#: fortran/resolve.c:2927
++#: fortran/resolve.c:3051
+ #, c-format
+ msgid "Unknown operator '%s' at %%L"
+ msgstr ""
+
+-#: fortran/resolve.c:2929
++#: fortran/resolve.c:3053
+ #, c-format
+ msgid "Operand of user operator '%s' at %%L is %s"
+ msgstr ""
+
+-#: fortran/resolve.c:2932
++#: fortran/resolve.c:3056
+ #, c-format
+ msgid "Operands of user operator '%s' at %%L are %s/%s"
+ msgstr ""
+
+-#: fortran/resolve.c:3018
++#: fortran/resolve.c:3142
+ #, c-format
+ msgid "Inconsistent ranks for operator at %%L and %%L"
+ msgstr ""
+
+-#: fortran/resolve.c:3212
++#: fortran/resolve.c:3339
+ #, no-c-format
+ msgid "Array reference at %L is out of bounds (%ld < %ld) in dimension %d"
+ msgstr ""
+
+-#: fortran/resolve.c:3220
++#: fortran/resolve.c:3347
+ #, no-c-format
+ msgid "Array reference at %L is out of bounds (%ld > %ld) in dimension %d"
+ msgstr ""
+
+-#: fortran/resolve.c:3239
++#: fortran/resolve.c:3366
+ #, no-c-format
+ msgid "Illegal stride of zero at %L"
+ msgstr ""
+
+-#: fortran/resolve.c:3256
++#: fortran/resolve.c:3383
+ #, no-c-format
+ msgid "Lower array reference at %L is out of bounds (%ld < %ld) in dimension %d"
+ msgstr ""
+
+-#: fortran/resolve.c:3264
++#: fortran/resolve.c:3391
+ #, no-c-format
+ msgid "Lower array reference at %L is out of bounds (%ld > %ld) in dimension %d"
+ msgstr ""
+
+-#: fortran/resolve.c:3280
++#: fortran/resolve.c:3407
+ #, no-c-format
+ msgid "Upper array reference at %L is out of bounds (%ld < %ld) in dimension %d"
+ msgstr ""
+
+-#: fortran/resolve.c:3289
++#: fortran/resolve.c:3416
+ #, no-c-format
+ msgid "Upper array reference at %L is out of bounds (%ld > %ld) in dimension %d"
+ msgstr ""
+
+-#: fortran/resolve.c:3328
++#: fortran/resolve.c:3455
+ #, no-c-format
+ msgid "Rightmost upper bound of assumed size array section not specified at %L"
+ msgstr ""
+
+-#: fortran/resolve.c:3338
++#: fortran/resolve.c:3465
+ #, no-c-format
+ msgid "Rank mismatch in array reference at %L (%d/%d)"
+ msgstr ""
+
+-#: fortran/resolve.c:3366
++#: fortran/resolve.c:3493
+ #, no-c-format
+ msgid "Array index at %L must be scalar"
+ msgstr ""
+
+-#: fortran/resolve.c:3372
++#: fortran/resolve.c:3499
+ #, no-c-format
+ msgid "Array index at %L must be of INTEGER type"
+ msgstr ""
+
+-#: fortran/resolve.c:3378
++#: fortran/resolve.c:3505
+ #, no-c-format
+ msgid "Extension: REAL array index at %L"
+ msgstr ""
+
+-#: fortran/resolve.c:3408
++#: fortran/resolve.c:3535
+ #, fuzzy, no-c-format
+ msgid "Argument dim at %L must be scalar"
+ msgstr "першым аргументам \"%s\" павінен быць \"int\""
+
+-#: fortran/resolve.c:3414
++#: fortran/resolve.c:3542
+ #, no-c-format
+ msgid "Argument dim at %L must be of INTEGER type"
+ msgstr ""
+
+-#: fortran/resolve.c:3534
++#: fortran/resolve.c:3663
+ #, fuzzy, no-c-format
+ msgid "Array index at %L is an array of rank %d"
+ msgstr "памер маÑіва \"%s\" вельмі вÑлікі"
+
+-#: fortran/resolve.c:3571
++#: fortran/resolve.c:3700
+ #, no-c-format
+ msgid "Substring start index at %L must be of type INTEGER"
+ msgstr ""
+
+-#: fortran/resolve.c:3578
++#: fortran/resolve.c:3707
+ #, no-c-format
+ msgid "Substring start index at %L must be scalar"
+ msgstr ""
+
+-#: fortran/resolve.c:3587
++#: fortran/resolve.c:3716
+ #, no-c-format
+ msgid "Substring start index at %L is less than one"
+ msgstr ""
+
+-#: fortran/resolve.c:3600
++#: fortran/resolve.c:3729
+ #, no-c-format
+ msgid "Substring end index at %L must be of type INTEGER"
+ msgstr ""
+
+-#: fortran/resolve.c:3607
++#: fortran/resolve.c:3736
+ #, no-c-format
+ msgid "Substring end index at %L must be scalar"
+ msgstr ""
+
+-#: fortran/resolve.c:3617
++#: fortran/resolve.c:3746
+ #, no-c-format
+ msgid "Substring end index at %L exceeds the string length"
+ msgstr ""
+
+-#: fortran/resolve.c:3755
++#: fortran/resolve.c:3884
+ #, no-c-format
+ msgid "Component to the right of a part reference with nonzero rank must not have the POINTER attribute at %L"
+ msgstr ""
+
+-#: fortran/resolve.c:3762
++#: fortran/resolve.c:3891
+ #, no-c-format
+ msgid "Component to the right of a part reference with nonzero rank must not have the ALLOCATABLE attribute at %L"
+ msgstr ""
+
+-#: fortran/resolve.c:3781
++#: fortran/resolve.c:3910
+ #, no-c-format
+ msgid "Two or more part references with nonzero rank must not be specified at %L"
+ msgstr ""
+
+-#: fortran/resolve.c:3956
++#: fortran/resolve.c:4085
+ #, no-c-format
+ msgid "Variable '%s', used in a specification expression, is referenced at %L before the ENTRY statement in which it is a parameter"
+ msgstr ""
+
+-#: fortran/resolve.c:3961
++#: fortran/resolve.c:4090
+ #, no-c-format
+ msgid "Variable '%s' is used at %L before the ENTRY statement in which it is a parameter"
+ msgstr ""
+
+-#: fortran/resolve.c:4238
++#: fortran/resolve.c:4367
+ #, no-c-format
+ msgid "%s at %L must be a scalar"
+ msgstr ""
+
+-#: fortran/resolve.c:4248
++#: fortran/resolve.c:4377
+ #, no-c-format
+ msgid "Deleted feature: %s at %L must be integer"
+ msgstr ""
+
+-#: fortran/resolve.c:4252 fortran/resolve.c:4259
++#: fortran/resolve.c:4381 fortran/resolve.c:4388
+ #, no-c-format
+ msgid "%s at %L must be INTEGER"
+ msgstr ""
+
+-#: fortran/resolve.c:4279
++#: fortran/resolve.c:4408
+ #, no-c-format
+ msgid "Cannot assign to loop variable in PURE procedure at %L"
+ msgstr ""
+
+-#: fortran/resolve.c:4303
++#: fortran/resolve.c:4432
+ #, no-c-format
+ msgid "Step expression in DO loop at %L cannot be zero"
+ msgstr ""
+
+-#: fortran/resolve.c:4378
++#: fortran/resolve.c:4508
+ #, no-c-format
+ msgid "FORALL index-name at %L must be a scalar INTEGER"
+ msgstr ""
+
+-#: fortran/resolve.c:4383
++#: fortran/resolve.c:4513
+ #, no-c-format
+ msgid "FORALL start expression at %L must be a scalar INTEGER"
+ msgstr ""
+
+-#: fortran/resolve.c:4390
++#: fortran/resolve.c:4520
+ #, no-c-format
+ msgid "FORALL end expression at %L must be a scalar INTEGER"
+ msgstr ""
+
+-#: fortran/resolve.c:4398
++#: fortran/resolve.c:4528
+ #, no-c-format
+ msgid "FORALL stride expression at %L must be a scalar %s"
+ msgstr ""
+
+-#: fortran/resolve.c:4403
++#: fortran/resolve.c:4533
+ #, no-c-format
+ msgid "FORALL stride expression at %L cannot be zero"
+ msgstr ""
+
+-#: fortran/resolve.c:4419
++#: fortran/resolve.c:4549
+ #, no-c-format
+ msgid "FORALL index '%s' may not appear in triplet specification at %L"
+ msgstr ""
+
+-#: fortran/resolve.c:4499
++#: fortran/resolve.c:4629
+ #, no-c-format
+ msgid "Expression in DEALLOCATE statement at %L must be ALLOCATABLE or a POINTER"
+ msgstr ""
+
+-#: fortran/resolve.c:4506
++#: fortran/resolve.c:4636
+ #, no-c-format
+ msgid "Cannot deallocate INTENT(IN) variable '%s' at %L"
+ msgstr ""
+
+-#: fortran/resolve.c:4675
++#: fortran/resolve.c:4740
+ #, no-c-format
+ msgid "The STAT variable '%s' in an ALLOCATE statement must not be allocated in the same statement at %L"
+ msgstr ""
+
+-#: fortran/resolve.c:4711
++#: fortran/resolve.c:4776
+ #, no-c-format
+ msgid "Expression in ALLOCATE statement at %L must be ALLOCATABLE or a POINTER"
+ msgstr ""
+
+-#: fortran/resolve.c:4719
++#: fortran/resolve.c:4784
+ #, no-c-format
+ msgid "Cannot allocate INTENT(IN) variable '%s' at %L"
+ msgstr ""
+
+-#: fortran/resolve.c:4743
++#: fortran/resolve.c:4808
+ #, no-c-format
+ msgid "Array specification required in ALLOCATE statement at %L"
+ msgstr ""
+
+-#: fortran/resolve.c:4773
++#: fortran/resolve.c:4838
+ #, no-c-format
+ msgid "Bad array specification in ALLOCATE statement at %L"
+ msgstr ""
+
+-#: fortran/resolve.c:4791
++#: fortran/resolve.c:4856
+ #, no-c-format
+ msgid "'%s' must not appear an the array specification at %L in the same ALLOCATE statement where it is itself allocated"
+ msgstr ""
+
++#: fortran/resolve.c:4880
++#, no-c-format
++msgid "STAT variable '%s' of %s statement at %C cannot be INTENT(IN)"
++msgstr ""
++
++#: fortran/resolve.c:4884
++#, no-c-format
++msgid "Illegal STAT variable in %s statement at %C for a PURE procedure"
++msgstr ""
++
++#: fortran/resolve.c:4922
++#, no-c-format
++msgid "STAT tag in %s statement at %L must be a variable"
++msgstr ""
++
++#: fortran/resolve.c:4928
++#, no-c-format
++msgid "STAT tag in %s statement at %L must be of type INTEGER"
++msgstr ""
++
+ #. The cases overlap, or they are the same
+ #. 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.c:4949
++#: fortran/resolve.c:5091
+ #, no-c-format
+ msgid "CASE label at %L overlaps with CASE label at %L"
+ msgstr ""
+
+-#: fortran/resolve.c:5000
++#: fortran/resolve.c:5142
+ #, no-c-format
+ msgid "Expression in CASE statement at %L must be of type %s"
+ msgstr ""
+
+-#: fortran/resolve.c:5011
++#: fortran/resolve.c:5153
+ #, no-c-format
+ msgid "Expression in CASE statement at %L must be kind %d"
+ msgstr ""
+
+-#: fortran/resolve.c:5023
++#: fortran/resolve.c:5165
+ #, no-c-format
+ msgid "Expression in CASE statement at %L must be scalar"
+ msgstr ""
+
+-#: fortran/resolve.c:5069
++#: fortran/resolve.c:5211
+ #, no-c-format
+ msgid "Selection expression in computed GOTO statement at %L must be a scalar integer expression"
+ msgstr ""
+
+-#: fortran/resolve.c:5087
++#: fortran/resolve.c:5229
+ #, no-c-format
+ msgid "Argument of SELECT statement at %L cannot be %s"
+ msgstr ""
+
+-#: fortran/resolve.c:5096
++#: fortran/resolve.c:5238
+ #, no-c-format
+ msgid "Argument of SELECT statement at %L must be a scalar expression"
+ msgstr ""
+
+-#: fortran/resolve.c:5161
++#: fortran/resolve.c:5303
+ #, no-c-format
+ msgid "The DEFAULT CASE at %L cannot be followed by a second DEFAULT CASE at %L"
+ msgstr ""
+
+-#: fortran/resolve.c:5187
++#: fortran/resolve.c:5329
+ #, no-c-format
+ msgid "Logical range in CASE statement at %L is not allowed"
+ msgstr ""
+
+-#: fortran/resolve.c:5199
++#: fortran/resolve.c:5341
+ #, no-c-format
+ msgid "constant logical value in CASE statement is repeated at %L"
+ msgstr ""
+
+-#: fortran/resolve.c:5213
++#: fortran/resolve.c:5355
+ #, no-c-format
+ msgid "Range specification at %L can never be matched"
+ msgstr ""
+
+-#: fortran/resolve.c:5316
++#: fortran/resolve.c:5458
+ #, no-c-format
+ msgid "Logical SELECT CASE block at %L has more that two cases"
+ msgstr ""
+
+-#: fortran/resolve.c:5354
++#: fortran/resolve.c:5496
+ #, no-c-format
+ msgid "Data transfer element at %L cannot have POINTER components"
+ msgstr ""
+
+-#: fortran/resolve.c:5361
++#: fortran/resolve.c:5503
+ #, no-c-format
+ msgid "Data transfer element at %L cannot have ALLOCATABLE components"
+ msgstr ""
+
+-#: fortran/resolve.c:5368
++#: fortran/resolve.c:5510
+ #, no-c-format
+ msgid "Data transfer element at %L cannot have PRIVATE components"
+ msgstr ""
+
+-#: fortran/resolve.c:5377
++#: fortran/resolve.c:5519
+ #, no-c-format
+ msgid "Data transfer element at %L cannot be a full reference to an assumed-size array"
+ msgstr ""
+
+-#: fortran/resolve.c:5441
++#: fortran/resolve.c:5583
+ #, no-c-format
+ msgid "Statement at %L is not a valid branch target statement for the branch statement at %L"
+ msgstr ""
+
+-#: fortran/resolve.c:5450
++#: fortran/resolve.c:5592
+ #, no-c-format
+ msgid "Branch at %L causes an infinite loop"
+ msgstr ""
+@@ -9510,647 +9559,657 @@
+ #. 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.c:5463
++#: fortran/resolve.c:5605
+ #, no-c-format
+ msgid "Label at %L is not in the same block as the GOTO statement at %L"
+ msgstr ""
+
+-#: fortran/resolve.c:5478 fortran/resolve.c:5492
++#: fortran/resolve.c:5620 fortran/resolve.c:5634
+ #, no-c-format
+ msgid "Deleted feature: GOTO at %L jumps to END of construct at %L"
+ msgstr ""
+
+-#: fortran/resolve.c:5569
++#: fortran/resolve.c:5711
+ #, no-c-format
+ msgid "WHERE mask at %L has inconsistent shape"
+ msgstr ""
+
+-#: fortran/resolve.c:5585
++#: fortran/resolve.c:5727
+ #, no-c-format
+ msgid "WHERE assignment target at %L has inconsistent shape"
+ msgstr ""
+
+-#: fortran/resolve.c:5600 fortran/resolve.c:5682
++#: fortran/resolve.c:5735 fortran/resolve.c:5820
+ #, no-c-format
++msgid "Non-ELEMENTAL user-defined assignment in WHERE at %L"
++msgstr ""
++
++#: fortran/resolve.c:5745 fortran/resolve.c:5830
++#, no-c-format
+ msgid "Unsupported statement inside WHERE at %L"
+ msgstr ""
+
+-#: fortran/resolve.c:5631
++#: fortran/resolve.c:5776
+ #, no-c-format
+ msgid "Assignment to a FORALL index variable at %L"
+ msgstr ""
+
+-#: fortran/resolve.c:5639
++#: fortran/resolve.c:5784
+ #, no-c-format
+ msgid "The FORALL with index '%s' cause more than one assignment to this object at %L"
+ msgstr ""
+
+-#: fortran/resolve.c:5774
++#: fortran/resolve.c:5922
+ #, no-c-format
+ msgid "An outer FORALL construct already has an index with this name %L"
+ msgstr ""
+
+-#: fortran/resolve.c:5830
++#: fortran/resolve.c:5978
+ #, no-c-format
+ msgid "WHERE/ELSEWHERE clause at %L requires a LOGICAL array"
+ msgstr ""
+
+-#: fortran/resolve.c:5890
++#: fortran/resolve.c:6037
+ #, no-c-format
+ msgid "Subroutine '%s' called instead of assignment at %L must be PURE"
+ msgstr ""
+
+-#: fortran/resolve.c:5927
++#: fortran/resolve.c:6110
+ #, no-c-format
+ msgid "CHARACTER expression will be truncated in assignment (%d/%d) at %L"
+ msgstr ""
+
+-#: fortran/resolve.c:5950
++#: fortran/resolve.c:6135
+ #, no-c-format
+ msgid "Cannot assign to variable '%s' in PURE procedure at %L"
+ msgstr ""
+
+-#: fortran/resolve.c:5962
++#: fortran/resolve.c:6147
+ #, no-c-format
+ msgid "The impure variable at %L is assigned to a derived type variable with a POINTER component in a PURE procedure (12.6)"
+ msgstr ""
+
+-#: fortran/resolve.c:6066
++#: fortran/resolve.c:6250
+ #, no-c-format
+ msgid "ASSIGNED GOTO statement at %L requires an INTEGER variable"
+ msgstr ""
+
+-#: fortran/resolve.c:6069
++#: fortran/resolve.c:6253
+ #, no-c-format
+ msgid "Variable '%s' has not been assigned a target label at %L"
+ msgstr ""
+
+-#: fortran/resolve.c:6080
++#: fortran/resolve.c:6264
+ #, no-c-format
+ msgid "Alternate RETURN statement at %L requires a SCALAR-INTEGER return specifier"
+ msgstr ""
+
+-#: fortran/resolve.c:6106
++#: fortran/resolve.c:6290
+ #, no-c-format
+ msgid "ASSIGN statement at %L requires a scalar default INTEGER variable"
+ msgstr ""
+
+-#: fortran/resolve.c:6121
++#: fortran/resolve.c:6305
+ #, no-c-format
+ msgid "Arithmetic IF statement at %L requires a numeric expression"
+ msgstr ""
+
+-#: fortran/resolve.c:6163
++#: fortran/resolve.c:6347
+ #, no-c-format
+ msgid "Exit condition of DO WHILE loop at %L must be a scalar LOGICAL expression"
+ msgstr ""
+
+-#: fortran/resolve.c:6170
++#: fortran/resolve.c:6420
+ #, no-c-format
+-msgid "STAT tag in ALLOCATE statement at %L must be of type INTEGER"
+-msgstr ""
+-
+-#: fortran/resolve.c:6182
+-#, no-c-format
+-msgid "STAT tag in DEALLOCATE statement at %L must be of type INTEGER"
+-msgstr ""
+-
+-#: fortran/resolve.c:6247
+-#, no-c-format
+ msgid "FORALL mask clause at %L requires a LOGICAL expression"
+ msgstr ""
+
+-#: fortran/resolve.c:6317 fortran/resolve.c:6373
++#: fortran/resolve.c:6490 fortran/resolve.c:6546
+ #, no-c-format
+ msgid "Binding label '%s' for common block '%s' at %L collides with the global entity '%s' at %L"
+ msgstr ""
+
+ #. Common block names match but binding labels do not.
+-#: fortran/resolve.c:6338
++#: fortran/resolve.c:6511
+ #, no-c-format
+ msgid "Binding label '%s' for common block '%s' at %L does not match the binding label '%s' for common block '%s' at %L"
+ msgstr ""
+
+-#: fortran/resolve.c:6385
++#: fortran/resolve.c:6558
+ #, no-c-format
+ msgid "Binding label '%s' for common block '%s' at %L collides with global entity '%s' at %L"
+ msgstr ""
+
+ #. Make sure global procedures don't collide with anything.
+-#: fortran/resolve.c:6437
++#: fortran/resolve.c:6610
+ #, no-c-format
+ msgid "Binding label '%s' at %L collides with the global entity '%s' at %L"
+ msgstr ""
+
+ #. Make sure procedures in interface bodies don't collide.
+-#: fortran/resolve.c:6450
++#: fortran/resolve.c:6623
+ #, no-c-format
+ msgid "Binding label '%s' in interface body at %L collides with the global entity '%s' at %L"
+ msgstr ""
+
+-#: fortran/resolve.c:6463
++#: fortran/resolve.c:6636
+ #, no-c-format
+ msgid "Binding label '%s' at %L collides with global entity '%s' at %L"
+ msgstr ""
+
+-#: fortran/resolve.c:6540
++#: fortran/resolve.c:6713
+ #, no-c-format
+ msgid "CHARACTER variable has zero length at %L"
+ msgstr ""
+
+-#: fortran/resolve.c:6828
++#: fortran/resolve.c:7001
+ #, no-c-format
+ msgid "Allocatable array '%s' at %L must have a deferred shape"
+ msgstr ""
+
+-#: fortran/resolve.c:6831
++#: fortran/resolve.c:7004
+ #, no-c-format
+ msgid "Scalar object '%s' at %L may not be ALLOCATABLE"
+ msgstr ""
+
+-#: fortran/resolve.c:6838
++#: fortran/resolve.c:7011
+ #, no-c-format
+ msgid "Array pointer '%s' at %L must have a deferred shape"
+ msgstr ""
+
+-#: fortran/resolve.c:6849
++#: fortran/resolve.c:7022
+ #, no-c-format
+ msgid "Array '%s' at %L cannot have a deferred shape"
+ msgstr ""
+
+-#: fortran/resolve.c:6878
++#: fortran/resolve.c:7051
+ #, no-c-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"
+ msgstr ""
+
+-#: fortran/resolve.c:6901
++#: fortran/resolve.c:7074
+ #, no-c-format
+ msgid "Object '%s' at %L must have the SAVE attribute for default initialization of a component"
+ msgstr ""
+
+ #. The shape of a main program or module array needs to be
+ #. constant.
+-#: fortran/resolve.c:6948
++#: fortran/resolve.c:7121
+ #, no-c-format
+ msgid "The module or main program array '%s' at %L must have constant shape"
+ msgstr ""
+
+-#: fortran/resolve.c:6961
++#: fortran/resolve.c:7134
+ #, no-c-format
+ msgid "Entity with assumed character length at %L must be a dummy argument or a PARAMETER"
+ msgstr ""
+
+-#: fortran/resolve.c:6980
++#: fortran/resolve.c:7153
+ #, no-c-format
+ msgid "'%s' at %L must have constant character length in this context"
+ msgstr ""
+
+-#: fortran/resolve.c:7012
++#: fortran/resolve.c:7185
+ #, no-c-format
+ msgid "Allocatable '%s' at %L cannot have an initializer"
+ msgstr ""
+
+-#: fortran/resolve.c:7015
++#: fortran/resolve.c:7188
+ #, no-c-format
+ msgid "External '%s' at %L cannot have an initializer"
+ msgstr ""
+
+-#: fortran/resolve.c:7019
++#: fortran/resolve.c:7192
+ #, no-c-format
+ msgid "Dummy '%s' at %L cannot have an initializer"
+ msgstr ""
+
+-#: fortran/resolve.c:7022
++#: fortran/resolve.c:7195
+ #, no-c-format
+ msgid "Intrinsic '%s' at %L cannot have an initializer"
+ msgstr ""
+
+-#: fortran/resolve.c:7025
++#: fortran/resolve.c:7198
+ #, no-c-format
+ msgid "Function result '%s' at %L cannot have an initializer"
+ msgstr ""
+
+-#: fortran/resolve.c:7028
++#: fortran/resolve.c:7201
+ #, no-c-format
+ msgid "Automatic array '%s' at %L cannot have an initializer"
+ msgstr ""
+
+-#: fortran/resolve.c:7051
++#: fortran/resolve.c:7224
+ #, no-c-format
+ msgid "Although not referenced, '%s' at %L has ambiguous interfaces"
+ msgstr ""
+
+-#: fortran/resolve.c:7070
++#: fortran/resolve.c:7243
+ #, no-c-format
+ msgid "Character-valued statement function '%s' at %L must have constant length"
+ msgstr ""
+
+-#: fortran/resolve.c:7078
++#: fortran/resolve.c:7251
+ #, no-c-format
+ msgid "Automatic character length function '%s' at %L must have an explicit interface"
+ msgstr ""
+
+-#: fortran/resolve.c:7103
++#: fortran/resolve.c:7276
+ #, no-c-format
+ msgid "Fortran 2003: '%s' is of a PRIVATE type and cannot be a dummy argument of '%s', which is PUBLIC at %L"
+ msgstr ""
+
+-#: fortran/resolve.c:7126 fortran/resolve.c:7151
++#: fortran/resolve.c:7299 fortran/resolve.c:7324
+ #, no-c-format
+ msgid "Fortran 2003: Procedure '%s' in PUBLIC interface '%s' at %L takes dummy arguments of '%s' which is PRIVATE"
+ msgstr ""
+
+-#: fortran/resolve.c:7168
++#: fortran/resolve.c:7341
+ #, no-c-format
+ msgid "Function '%s' at %L cannot have an initializer"
+ msgstr ""
+
+-#: fortran/resolve.c:7177
++#: fortran/resolve.c:7350
+ #, no-c-format
+ msgid "External object '%s' at %L may not have an initializer"
+ msgstr ""
+
+-#: fortran/resolve.c:7185
++#: fortran/resolve.c:7358
+ #, no-c-format
+ msgid "ELEMENTAL function '%s' at %L must have a scalar result"
+ msgstr ""
+
+-#: fortran/resolve.c:7206
++#: fortran/resolve.c:7379
+ #, no-c-format
+ msgid "CHARACTER(*) function '%s' at %L cannot be array-valued"
+ msgstr ""
+
+-#: fortran/resolve.c:7210
++#: fortran/resolve.c:7383
+ #, no-c-format
+ msgid "CHARACTER(*) function '%s' at %L cannot be pointer-valued"
+ msgstr ""
+
+-#: fortran/resolve.c:7214
++#: fortran/resolve.c:7387
+ #, no-c-format
+ msgid "CHARACTER(*) function '%s' at %L cannot be pure"
+ msgstr ""
+
+-#: fortran/resolve.c:7218
++#: fortran/resolve.c:7391
+ #, no-c-format
+ msgid "CHARACTER(*) function '%s' at %L cannot be recursive"
+ msgstr ""
+
+-#: fortran/resolve.c:7227
++#: fortran/resolve.c:7400
+ #, no-c-format
+ msgid "CHARACTER(*) function '%s' at %L is obsolescent in fortran 95"
+ msgstr ""
+
+-#: fortran/resolve.c:7299
++#: fortran/resolve.c:7472
+ #, no-c-format
+ msgid "Character length of component '%s' needs to be a constant specification expression at %L"
+ msgstr ""
+
+-#: fortran/resolve.c:7314
++#: fortran/resolve.c:7487
+ #, no-c-format
+ msgid "The component '%s' is a PRIVATE type and cannot be a component of '%s', which is PUBLIC at %L"
+ msgstr ""
+
+-#: fortran/resolve.c:7324
++#: fortran/resolve.c:7497
+ #, no-c-format
+ msgid "Component %s of SEQUENCE type declared at %L does not have the SEQUENCE attribute"
+ msgstr ""
+
+-#: fortran/resolve.c:7334
++#: fortran/resolve.c:7507
+ #, no-c-format
+ msgid "The pointer component '%s' of '%s' at %L is a type that has not been declared"
+ msgstr ""
+
+-#: fortran/resolve.c:7352
++#: fortran/resolve.c:7525
+ #, no-c-format
+ msgid "Component '%s' of '%s' at %L must have constant array bounds"
+ msgstr ""
+
+-#: fortran/resolve.c:7395
++#: fortran/resolve.c:7568
+ #, no-c-format
+ msgid "NAMELIST object '%s' was declared PRIVATE and cannot be member of PUBLIC namelist '%s' at %L"
+ msgstr ""
+
+-#: fortran/resolve.c:7405
++#: fortran/resolve.c:7578
+ #, no-c-format
+ msgid "NAMELIST object '%s' has use-associated PRIVATE components and cannot be member of namelist '%s' at %L"
+ msgstr ""
+
+-#: fortran/resolve.c:7418
++#: fortran/resolve.c:7591
+ #, no-c-format
+ msgid "NAMELIST object '%s' has PRIVATE components and cannot be a member of PUBLIC namelist '%s' at %L"
+ msgstr ""
+
+-#: fortran/resolve.c:7430
++#: fortran/resolve.c:7603
+ #, no-c-format
+ msgid "NAMELIST array object '%s' must not have assumed shape in namelist '%s' at %L"
+ msgstr ""
+
+-#: fortran/resolve.c:7439
++#: fortran/resolve.c:7612
+ #, no-c-format
+ msgid "NAMELIST array object '%s' must have constant shape in namelist '%s' at %L"
+ msgstr ""
+
+-#: fortran/resolve.c:7451
++#: fortran/resolve.c:7624
+ #, no-c-format
+ msgid "NAMELIST object '%s' in namelist '%s' at %L cannot have ALLOCATABLE components"
+ msgstr ""
+
+-#: fortran/resolve.c:7459
++#: fortran/resolve.c:7632
+ #, no-c-format
+ msgid "NAMELIST object '%s' in namelist '%s' at %L cannot have POINTER components"
+ msgstr ""
+
+-#: fortran/resolve.c:7485
++#: fortran/resolve.c:7658
+ #, no-c-format
+ msgid "PROCEDURE attribute conflicts with NAMELIST attribute in '%s' at %L"
+ msgstr ""
+
+-#: fortran/resolve.c:7504
++#: fortran/resolve.c:7677
+ #, no-c-format
+ msgid "Parameter array '%s' at %L cannot be automatic or of deferred shape"
+ msgstr ""
+
+-#: fortran/resolve.c:7515
++#: fortran/resolve.c:7688
+ #, no-c-format
+ msgid "Implicitly typed PARAMETER '%s' at %L doesn't match a later IMPLICIT type"
+ msgstr ""
+
+-#: fortran/resolve.c:7526
++#: fortran/resolve.c:7699
+ #, no-c-format
+ msgid "Incompatible derived type in PARAMETER at %L"
+ msgstr ""
+
+-#: fortran/resolve.c:7597
++#: fortran/resolve.c:7758
+ #, no-c-format
++msgid "Interface '%s', used by procedure '%s' at %L, is declared in a later PROCEDURE statement"
++msgstr ""
++
++#: fortran/resolve.c:7772
++#, no-c-format
+ msgid "Interface '%s' of procedure '%s' at %L must be explicit"
+ msgstr ""
+
+-#: fortran/resolve.c:7622
++#: fortran/resolve.c:7797
+ #, no-c-format
+ msgid "Type specified for intrinsic function '%s' at %L is ignored"
+ msgstr ""
+
+-#: fortran/resolve.c:7629
++#: fortran/resolve.c:7804
+ #, no-c-format
+ msgid "Intrinsic subroutine '%s' at %L shall not have a type specifier"
+ msgstr ""
+
+-#: fortran/resolve.c:7636
++#: fortran/resolve.c:7811
+ #, no-c-format
+ msgid "Intrinsic '%s' at %L does not exist"
+ msgstr ""
+
+-#: fortran/resolve.c:7676
++#: fortran/resolve.c:7851
+ #, no-c-format
+ msgid "Assumed size array at %L must be a dummy argument"
+ msgstr ""
+
+-#: fortran/resolve.c:7679
++#: fortran/resolve.c:7854
+ #, no-c-format
+ msgid "Assumed shape array at %L must be a dummy argument"
+ msgstr ""
+
+-#: fortran/resolve.c:7691
++#: fortran/resolve.c:7866
+ #, no-c-format
+ msgid "Symbol at %L is not a DUMMY variable"
+ msgstr ""
+
+-#: fortran/resolve.c:7697
++#: fortran/resolve.c:7872
+ #, no-c-format
+ msgid "'%s' at %L cannot have the VALUE attribute because it is not a dummy argument"
+ msgstr ""
+
+-#: fortran/resolve.c:7707
++#: fortran/resolve.c:7882
+ #, no-c-format
+ msgid "Character dummy variable '%s' at %L with VALUE attribute must have constant length"
+ msgstr ""
+
+-#: fortran/resolve.c:7716
++#: fortran/resolve.c:7891
+ #, no-c-format
+ msgid "C interoperable character dummy variable '%s' at %L with VALUE attribute must have length one"
+ msgstr ""
+
+-#: fortran/resolve.c:7742
++#: fortran/resolve.c:7917
+ #, no-c-format
+ msgid "Variable '%s' at %L cannot be BIND(C) because it is neither a COMMON block nor declared at the module level scope"
+ msgstr ""
+
+-#: fortran/resolve.c:7795
++#: fortran/resolve.c:7970
+ #, no-c-format
+ msgid "The derived type '%s' at %L is of type '%s', which has not been defined"
+ msgstr ""
+
+-#: fortran/resolve.c:7811
++#: fortran/resolve.c:7987
+ #, no-c-format
+ msgid "Fortran 2003: PUBLIC %s '%s' at %L of PRIVATE derived type '%s'"
+ msgstr ""
+
+-#: fortran/resolve.c:7830
++#: fortran/resolve.c:8006
+ #, no-c-format
+ msgid "The INTENT(OUT) dummy argument '%s' at %L is ASSUMED SIZE and so cannot have a default initializer"
+ msgstr ""
+
+-#: fortran/resolve.c:7889
++#: fortran/resolve.c:8065
+ #, no-c-format
+ msgid "Threadprivate at %L isn't SAVEd"
+ msgstr ""
+
+-#: fortran/resolve.c:7967
++#: fortran/resolve.c:8143
+ #, no-c-format
+ msgid "BLOCK DATA element '%s' at %L must be in COMMON"
+ msgstr ""
+
+-#: fortran/resolve.c:8011
++#: fortran/resolve.c:8149
+ #, no-c-format
++msgid "DATA array '%s' at %L must be specified in a previous declaration"
++msgstr ""
++
++#: fortran/resolve.c:8194
++#, no-c-format
+ msgid "Nonconstant array section at %L in DATA statement"
+ msgstr ""
+
+-#: fortran/resolve.c:8024
++#: fortran/resolve.c:8207
+ #, no-c-format
+ msgid "DATA statement at %L has more variables than values"
+ msgstr ""
+
+-#: fortran/resolve.c:8118
++#: fortran/resolve.c:8301
+ #, no-c-format
+ msgid "iterator start at %L does not simplify"
+ msgstr ""
+
+-#: fortran/resolve.c:8125
++#: fortran/resolve.c:8308
+ #, no-c-format
+ msgid "iterator end at %L does not simplify"
+ msgstr ""
+
+-#: fortran/resolve.c:8132
++#: fortran/resolve.c:8315
+ #, no-c-format
+ msgid "iterator step at %L does not simplify"
+ msgstr ""
+
+-#: fortran/resolve.c:8258
++#: fortran/resolve.c:8441
+ #, no-c-format
+ msgid "DATA statement at %L has more values than variables"
+ msgstr ""
+
+-#: fortran/resolve.c:8349
++#: fortran/resolve.c:8532
+ #, fuzzy, no-c-format
+ msgid "Label %d at %L defined but not used"
+ msgstr "адмеціна `%s' вызначана, але Ð½Ñ Ð²Ñ‹ÐºÐ°Ñ€Ñ‹Ñтоўваецца"
+
+-#: fortran/resolve.c:8354
++#: fortran/resolve.c:8537
+ #, fuzzy, no-c-format
+ msgid "Label %d at %L defined but cannot be used"
+ msgstr "адмеціна `%s' вызначана, але Ð½Ñ Ð²Ñ‹ÐºÐ°Ñ€Ñ‹Ñтоўваецца"
+
+-#: fortran/resolve.c:8439
++#: fortran/resolve.c:8622
+ #, no-c-format
+ msgid "Derived type variable '%s' at %L must have SEQUENCE attribute to be an EQUIVALENCE object"
+ msgstr ""
+
+-#: fortran/resolve.c:8448
++#: fortran/resolve.c:8631
+ #, no-c-format
+ msgid "Derived type variable '%s' at %L cannot have ALLOCATABLE components to be an EQUIVALENCE object"
+ msgstr ""
+
+-#: fortran/resolve.c:8465
++#: fortran/resolve.c:8639
+ #, no-c-format
++msgid "Derived type variable '%s' at %L with default initialization cannot be in EQUIVALENCE with a variable in COMMON"
++msgstr ""
++
++#: fortran/resolve.c:8656
++#, no-c-format
+ msgid "Derived type variable '%s' at %L with pointer component(s) cannot be an EQUIVALENCE object"
+ msgstr ""
+
+-#: fortran/resolve.c:8570
++#: fortran/resolve.c:8761
+ #, no-c-format
+ msgid "Syntax error in EQUIVALENCE statement at %L"
+ msgstr ""
+
+-#: fortran/resolve.c:8585
++#: fortran/resolve.c:8776
+ #, no-c-format
+ msgid "Either all or none of the objects in the EQUIVALENCE set at %L shall have the PROTECTED attribute"
+ msgstr ""
+
+-#: fortran/resolve.c:8597
++#: fortran/resolve.c:8788
+ #, no-c-format
+ msgid "Common block member '%s' at %L cannot be an EQUIVALENCE object in the pure procedure '%s'"
+ msgstr ""
+
+-#: fortran/resolve.c:8606
++#: fortran/resolve.c:8797
+ #, no-c-format
+ msgid "Named constant '%s' at %L cannot be an EQUIVALENCE object"
+ msgstr ""
+
+-#: fortran/resolve.c:8685
++#: fortran/resolve.c:8876
+ #, no-c-format
+ msgid "Array '%s' at %L with non-constant bounds cannot be an EQUIVALENCE object"
+ msgstr ""
+
+-#: fortran/resolve.c:8696
++#: fortran/resolve.c:8887
+ #, no-c-format
+ msgid "Structure component '%s' at %L cannot be an EQUIVALENCE object"
+ msgstr ""
+
+-#: fortran/resolve.c:8707
++#: fortran/resolve.c:8898
+ #, no-c-format
+ msgid "Substring at %L has length zero"
+ msgstr ""
+
+-#: fortran/resolve.c:8750
++#: fortran/resolve.c:8941
+ #, no-c-format
+ msgid "PUBLIC function '%s' at %L cannot be of PRIVATE type '%s'"
+ msgstr ""
+
+-#: fortran/resolve.c:8762
++#: fortran/resolve.c:8953
+ #, no-c-format
+ msgid "ENTRY '%s' at %L has no IMPLICIT type"
+ msgstr ""
+
+-#: fortran/resolve.c:8788
++#: fortran/resolve.c:8979
+ #, no-c-format
+ msgid "User operator procedure '%s' at %L must be a FUNCTION"
+ msgstr ""
+
+-#: fortran/resolve.c:8795
++#: fortran/resolve.c:8986
+ #, no-c-format
+ msgid "User operator procedure '%s' at %L cannot be assumed character length"
+ msgstr ""
+
+-#: fortran/resolve.c:8801
++#: fortran/resolve.c:8992
+ #, no-c-format
+ msgid "User operator procedure '%s' at %L must have at least one argument"
+ msgstr ""
+
+-#: fortran/resolve.c:8811
++#: fortran/resolve.c:9002
+ #, no-c-format
+ msgid "First argument of operator interface at %L cannot be optional"
+ msgstr ""
+
+-#: fortran/resolve.c:8823
++#: fortran/resolve.c:9014
+ #, no-c-format
+ msgid "Second argument of operator interface at %L cannot be optional"
+ msgstr ""
+
+-#: fortran/resolve.c:8827
++#: fortran/resolve.c:9018
+ #, no-c-format
+ msgid "Operator interface at %L must have, at most, two arguments"
+ msgstr ""
+
+-#: fortran/resolve.c:8867
++#: fortran/resolve.c:9059
+ #, no-c-format
+ msgid "Contained procedure '%s' at %L of a PURE procedure must also be PURE"
+ msgstr ""
+
+-#: fortran/scanner.c:526
++#: fortran/scanner.c:530
+ #, no-c-format
+ msgid "!$OMP at %C starts a commented line as it neither is followed by a space nor is a continuation line"
+ msgstr ""
+
+-#: fortran/scanner.c:816 fortran/scanner.c:937
++#: fortran/scanner.c:820 fortran/scanner.c:941
+ #, no-c-format
+ msgid "Limit of %d continuations exceeded in statement at %C"
+ msgstr ""
+
+-#: fortran/scanner.c:861
++#: fortran/scanner.c:865
+ #, fuzzy, no-c-format
+ msgid "Missing '&' in continued character constant at %C"
+ msgstr "пуÑÑ‚Ð°Ñ ÑÑ–Ð¼Ð²Ð°Ð»ÑŒÐ½Ð°Ñ ÐºÐ°Ð½Ñтанта"
+
+-#: fortran/scanner.c:1071
++#: fortran/scanner.c:1075
+ #, no-c-format
+ msgid "Nonconforming tab character at %C"
+ msgstr ""
+
+-#: fortran/scanner.c:1153 fortran/scanner.c:1156
++#: fortran/scanner.c:1158 fortran/scanner.c:1161
+ #, no-c-format
+ msgid "'&' not allowed by itself in line %d"
+ msgstr ""
+
+-#: fortran/scanner.c:1189
++#: fortran/scanner.c:1207
+ #, no-c-format
+-msgid "Nonconforming tab character in column 1 of line %d"
++msgid "Nonconforming tab character in column %d of line %d"
+ msgstr ""
+
+-#: fortran/scanner.c:1387
++#: fortran/scanner.c:1405
+ #, fuzzy, no-c-format
+ msgid "%s:%d: file %s left but not entered"
+ msgstr "адмеціна `%s' выкарыÑтоўвываецца, але Ð½Ñ Ð²Ñ‹Ð·Ð½Ð°Ñ‡Ð°Ð½Ð°"
+
+-#: fortran/scanner.c:1419
++#: fortran/scanner.c:1438
+ #, no-c-format
+ msgid "%s:%d: Illegal preprocessor directive"
+ msgstr ""
+
+-#: fortran/scanner.c:1514
++#: fortran/scanner.c:1533
+ #, no-c-format
+ msgid "File '%s' is being included recursively"
+ msgstr ""
+
+-#: fortran/scanner.c:1529
++#: fortran/scanner.c:1548
+ #, fuzzy, no-c-format
+ msgid "Can't open file '%s'"
+ msgstr "немагу адчыніць файл \"%s\""
+
+-#: fortran/scanner.c:1538
++#: fortran/scanner.c:1557
+ #, fuzzy, no-c-format
+ msgid "Can't open included file '%s'"
+ msgstr "немагчыма адчыніць файл уводу `%s'"
+
+-#: fortran/scanner.c:1676
++#: fortran/scanner.c:1701
+ #, fuzzy, c-format
+ msgid "%s:%3d %s\n"
+ msgstr "%s: %s: "
+@@ -10220,134 +10279,134 @@
+ msgid "Argument of CHAR function at %L outside of range [0,255]"
+ msgstr ""
+
+-#: fortran/simplify.c:1247
++#: fortran/simplify.c:1293
+ #, no-c-format
+ msgid "Argument of IACHAR at %L must be of length one"
+ msgstr ""
+
+-#: fortran/simplify.c:1254
++#: fortran/simplify.c:1300
+ #, no-c-format
+ msgid "Argument of IACHAR function at %L outside of range 0..127"
+ msgstr ""
+
+-#: fortran/simplify.c:1293
++#: fortran/simplify.c:1339
+ #, fuzzy, no-c-format
+ msgid "Invalid second argument of IBCLR at %L"
+ msgstr "нÑвернае выкарыÑтанне \"restict\""
+
+-#: fortran/simplify.c:1301
++#: fortran/simplify.c:1347
+ #, no-c-format
+ msgid "Second argument of IBCLR exceeds bit size at %L"
+ msgstr ""
+
+-#: fortran/simplify.c:1335
++#: fortran/simplify.c:1381
+ #, fuzzy, no-c-format
+ msgid "Invalid second argument of IBITS at %L"
+ msgstr "нÑвернае выкарыÑтанне \"restict\""
+
+-#: fortran/simplify.c:1341
++#: fortran/simplify.c:1387
+ #, fuzzy, no-c-format
+ msgid "Invalid third argument of IBITS at %L"
+ msgstr "нÑвернае выкарыÑтанне \"restict\""
+
+-#: fortran/simplify.c:1351
++#: fortran/simplify.c:1397
+ #, no-c-format
+ msgid "Sum of second and third arguments of IBITS exceeds bit size at %L"
+ msgstr ""
+
+-#: fortran/simplify.c:1393
++#: fortran/simplify.c:1439
+ #, fuzzy, no-c-format
+ msgid "Invalid second argument of IBSET at %L"
+ msgstr "нÑвернае выкарыÑтанне \"restict\""
+
+-#: fortran/simplify.c:1401
++#: fortran/simplify.c:1447
+ #, no-c-format
+ msgid "Second argument of IBSET exceeds bit size at %L"
+ msgstr ""
+
+-#: fortran/simplify.c:1431
++#: fortran/simplify.c:1477
+ #, no-c-format
+ msgid "Argument of ICHAR at %L must be of length one"
+ msgstr ""
+
+-#: fortran/simplify.c:1646
++#: fortran/simplify.c:1692
+ #, no-c-format
+ msgid "Argument of INT at %L is not a valid type"
+ msgstr ""
+
+-#: fortran/simplify.c:1688
++#: fortran/simplify.c:1734
+ #, fuzzy, no-c-format
+ msgid "Argument of %s at %L is not a valid type"
+ msgstr "аргумент `__builtin_args_info' павінен быць канÑтантай"
+
+-#: fortran/simplify.c:1786
++#: fortran/simplify.c:1832
+ #, fuzzy, no-c-format
+ msgid "Invalid second argument of ISHFT at %L"
+ msgstr "нÑвернае выкарыÑтанне \"restict\""
+
+-#: fortran/simplify.c:1801
++#: fortran/simplify.c:1847
+ #, no-c-format
+ msgid "Magnitude of second argument of ISHFT exceeds bit size at %L"
+ msgstr ""
+
+-#: fortran/simplify.c:1865
++#: fortran/simplify.c:1911
+ #, fuzzy, no-c-format
+ msgid "Invalid second argument of ISHFTC at %L"
+ msgstr "нÑвернае выкарыÑтанне \"restict\""
+
+-#: fortran/simplify.c:1879
++#: fortran/simplify.c:1925
+ #, fuzzy, no-c-format
+ msgid "Invalid third argument of ISHFTC at %L"
+ msgstr "нÑвернае выкарыÑтанне \"restict\""
+
+-#: fortran/simplify.c:1885
++#: fortran/simplify.c:1931
+ #, no-c-format
+ msgid "Magnitude of third argument of ISHFTC exceeds BIT_SIZE of first argument at %L"
+ msgstr ""
+
+-#: fortran/simplify.c:1901
++#: fortran/simplify.c:1947
+ #, no-c-format
+ msgid "Magnitude of second argument of ISHFTC exceeds third argument at %L"
+ msgstr ""
+
+-#: fortran/simplify.c:1904
++#: fortran/simplify.c:1950
+ #, no-c-format
+ msgid "Magnitude of second argument of ISHFTC exceeds BIT_SIZE of first argument at %L"
+ msgstr ""
+
+-#: fortran/simplify.c:1975
++#: fortran/simplify.c:2021
+ #, no-c-format
+ msgid "Argument of KIND at %L is a DERIVED type"
+ msgstr ""
+
+-#: fortran/simplify.c:2163
++#: fortran/simplify.c:2209
+ #, no-c-format
+ msgid "DIM argument at %L is out of bounds"
+ msgstr ""
+
+-#: fortran/simplify.c:2318
++#: fortran/simplify.c:2364
+ #, no-c-format
+ msgid "Argument of LOG at %L cannot be less than or equal to zero"
+ msgstr ""
+
+-#: fortran/simplify.c:2331
++#: fortran/simplify.c:2377
+ #, no-c-format
+ msgid "Complex argument of LOG at %L cannot be zero"
+ msgstr ""
+
+-#: fortran/simplify.c:2374
++#: fortran/simplify.c:2420
+ #, no-c-format
+ msgid "Argument of LOG10 at %L cannot be less than or equal to zero"
+ msgstr ""
+
+ #. Result is processor-dependent.
+-#: fortran/simplify.c:2579
++#: fortran/simplify.c:2628
+ #, no-c-format
+ msgid "Second argument MOD at %L is zero"
+ msgstr ""
+
+ #. Result is processor-dependent.
+-#: fortran/simplify.c:2590
++#: fortran/simplify.c:2639
+ #, fuzzy, no-c-format
+ msgid "Second argument of MOD at %L is zero"
+ msgstr "другім аргументам \"%s\" павінен быць \"char **\""
+@@ -10355,82 +10414,87 @@
+ #. Result is processor-dependent. This processor just opts
+ #. to not handle it at all.
+ #. Result is processor-dependent.
+-#: fortran/simplify.c:2638 fortran/simplify.c:2650
++#: fortran/simplify.c:2687 fortran/simplify.c:2699
+ #, no-c-format
+ msgid "Second argument of MODULO at %L is zero"
+ msgstr ""
+
+-#: fortran/simplify.c:2702
++#: fortran/simplify.c:2751
+ #, fuzzy, no-c-format
+ msgid "Second argument of NEAREST at %L shall not be zero"
+ msgstr "другім аргументам \"%s\" павінен быць \"char **\""
+
+-#: fortran/simplify.c:2977
++#: fortran/simplify.c:2787
+ #, no-c-format
++msgid "Result of NEAREST is NaN at %L"
++msgstr ""
++
++#: fortran/simplify.c:3062
++#, no-c-format
+ msgid "Argument NCOPIES of REPEAT intrinsic is negative at %L"
+ msgstr ""
+
+-#: fortran/simplify.c:3032
++#: fortran/simplify.c:3117
+ #, no-c-format
+ msgid "Argument NCOPIES of REPEAT intrinsic is too large at %L"
+ msgstr ""
+
+-#: fortran/simplify.c:3122
++#: fortran/simplify.c:3232
+ #, fuzzy, no-c-format
+ msgid "Integer too large in shape specification at %L"
+ msgstr "нÑма папÑÑ€ÑднÑга аб'ÑÑžÐ»ÐµÐ½Ð½Ñ Ð´Ð»Ñ \"%s\""
+
+-#: fortran/simplify.c:3132
++#: fortran/simplify.c:3242
+ #, no-c-format
+ msgid "Too many dimensions in shape specification for RESHAPE at %L"
+ msgstr ""
+
+-#: fortran/simplify.c:3140
++#: fortran/simplify.c:3250
+ #, no-c-format
+ msgid "Shape specification at %L cannot be negative"
+ msgstr ""
+
+-#: fortran/simplify.c:3150
++#: fortran/simplify.c:3260
+ #, no-c-format
+ msgid "Shape specification at %L cannot be the null array"
+ msgstr ""
+
+-#: fortran/simplify.c:3171
++#: fortran/simplify.c:3281
+ #, no-c-format
+ msgid "ORDER parameter of RESHAPE at %L is not the same size as SHAPE parameter"
+ msgstr ""
+
+-#: fortran/simplify.c:3178
++#: fortran/simplify.c:3288
+ #, no-c-format
+ msgid "Error in ORDER parameter of RESHAPE at %L"
+ msgstr ""
+
+-#: fortran/simplify.c:3188
++#: fortran/simplify.c:3298
+ #, no-c-format
+ msgid "ORDER parameter of RESHAPE at %L is out of range"
+ msgstr ""
+
+-#: fortran/simplify.c:3197
++#: fortran/simplify.c:3307
+ #, no-c-format
+ msgid "Invalid permutation in ORDER parameter at %L"
+ msgstr ""
+
+-#: fortran/simplify.c:3253
++#: fortran/simplify.c:3363
+ #, no-c-format
+ msgid "PAD parameter required for short SOURCE parameter at %L"
+ msgstr ""
+
+-#: fortran/simplify.c:3372
++#: fortran/simplify.c:3482
+ #, no-c-format
+ msgid "Result of SCALE overflows its kind at %L"
+ msgstr ""
+
+-#: fortran/simplify.c:3942
++#: fortran/simplify.c:4056
+ #, no-c-format
+ msgid "Argument of SQRT at %L has a negative value"
+ msgstr ""
+
+-#: fortran/simplify.c:4069
++#: fortran/simplify.c:4190
+ #, no-c-format
+ msgid "Intrinsic TRANSFER at %L has partly undefined result: source size %ld < result size %ld"
+ msgstr ""
+@@ -10659,29 +10723,29 @@
+ msgid "Symbol '%s' at %C has already been host associated"
+ msgstr ""
+
+-#: fortran/symbol.c:3162
++#: fortran/symbol.c:3189
+ #, no-c-format
+ msgid "Derived type '%s' declared at %L must have the BIND attribute to be C interoperable"
+ msgstr ""
+
+-#: fortran/symbol.c:3173
++#: fortran/symbol.c:3200
+ #, no-c-format
+ msgid "Derived type '%s' at %L is empty"
+ msgstr ""
+
+-#: fortran/symbol.c:3190
++#: fortran/symbol.c:3217
+ #, no-c-format
+ msgid "Component '%s' at %L cannot have the POINTER attribute because it is a member of the BIND(C) derived type '%s' at %L"
+ msgstr ""
+
+-#: fortran/symbol.c:3202
++#: fortran/symbol.c:3229
+ #, no-c-format
+ msgid "Component '%s' at %L cannot have the ALLOCATABLE attribute because it is a member of the BIND(C) derived type '%s' at %L"
+ msgstr ""
+
+ #. If the derived type is bind(c), all fields must be
+ #. interop.
+-#: fortran/symbol.c:3241
++#: fortran/symbol.c:3268
+ #, no-c-format
+ msgid "Component '%s' in derived type '%s' at %L may not be C interoperable, even though derived type '%s' is BIND(C)"
+ msgstr ""
+@@ -10689,17 +10753,17 @@
+ #. If derived type is param to bind(c) routine, or to one
+ #. of the iso_c_binding procs, it must be interoperable, so
+ #. all fields must interop too.
+-#: fortran/symbol.c:3250
++#: fortran/symbol.c:3277
+ #, no-c-format
+ msgid "Component '%s' in derived type '%s' at %L may not be C interoperable"
+ msgstr ""
+
+-#: fortran/symbol.c:3264
++#: fortran/symbol.c:3291
+ #, no-c-format
+ msgid "Derived type '%s' at %L cannot be declared with both PRIVATE and BIND(C) attributes"
+ msgstr ""
+
+-#: fortran/symbol.c:3272
++#: fortran/symbol.c:3299
+ #, no-c-format
+ msgid "Derived type '%s' at %L cannot have the SEQUENCE attribute because it is BIND(C)"
+ msgstr ""
+@@ -10709,38 +10773,43 @@
+ msgid "Overlapping unequal initializers in EQUIVALENCE at %L"
+ msgstr ""
+
+-#: fortran/trans-common.c:396
++#: fortran/target-memory.c:635
+ #, no-c-format
++msgid "BOZ constant at %L is too large (%ld vs %ld bits)"
++msgstr ""
++
++#: fortran/trans-common.c:399
++#, no-c-format
+ msgid "Named COMMON block '%s' at %L shall be of the same size"
+ msgstr ""
+
+-#: fortran/trans-common.c:817
++#: fortran/trans-common.c:833
+ #, no-c-format
+ msgid "Bad array reference at %L"
+ msgstr ""
+
+-#: fortran/trans-common.c:825
++#: fortran/trans-common.c:841
+ #, no-c-format
+ msgid "Illegal reference type at %L as EQUIVALENCE object"
+ msgstr ""
+
+-#: fortran/trans-common.c:865
++#: fortran/trans-common.c:881
+ #, no-c-format
+ msgid "Inconsistent equivalence rules involving '%s' at %L and '%s' at %L"
+ msgstr ""
+
+ #. Aligning this field would misalign a previous field.
+-#: fortran/trans-common.c:998
++#: fortran/trans-common.c:1014
+ #, no-c-format
+ msgid "The equivalence set for variable '%s' declared at %L violates alignment requirements"
+ msgstr ""
+
+-#: fortran/trans-common.c:1063
++#: fortran/trans-common.c:1079
+ #, no-c-format
+ msgid "Equivalence for '%s' does not match ordering of COMMON '%s' at %L"
+ msgstr ""
+
+-#: fortran/trans-common.c:1078
++#: fortran/trans-common.c:1094
+ #, no-c-format
+ msgid "The equivalence set for '%s' cause an invalid extension to COMMON '%s' at %L"
+ msgstr ""
+@@ -10748,42 +10817,42 @@
+ #. The required offset conflicts with previous alignment
+ #. requirements. Insert padding immediately before this
+ #. segment.
+-#: fortran/trans-common.c:1089
++#: fortran/trans-common.c:1105
+ #, no-c-format
+ msgid "Padding of %d bytes required before '%s' in COMMON '%s' at %L"
+ msgstr ""
+
+-#: fortran/trans-common.c:1115
++#: fortran/trans-common.c:1131
+ #, no-c-format
+ msgid "COMMON '%s' at %L does not exist"
+ msgstr ""
+
+-#: fortran/trans-common.c:1122
++#: fortran/trans-common.c:1138
+ #, no-c-format
+ msgid "COMMON '%s' at %L requires %d bytes of padding at start"
+ msgstr ""
+
+-#: fortran/trans-decl.c:3016
++#: fortran/trans-decl.c:2979
+ #, no-c-format
+ msgid "Dummy argument '%s' at %L was declared INTENT(OUT) but was not set"
+ msgstr ""
+
+-#: fortran/trans-decl.c:3020
++#: fortran/trans-decl.c:2983
+ #, no-c-format
+ msgid "Unused dummy argument '%s' at %L"
+ msgstr ""
+
+-#: fortran/trans-decl.c:3026
++#: fortran/trans-decl.c:2989
+ #, fuzzy, no-c-format
+ msgid "Unused variable '%s' declared at %L"
+ msgstr "невыкарыÑÑ‚Ð¾ÑžÐ²Ð°ÐµÐ¼Ð°Ñ Ð¿ÐµÑ€Ð°Ð¼ÐµÐ½Ð½Ð°Ñ \"%s\""
+
+-#: fortran/trans-decl.c:3052
++#: fortran/trans-decl.c:3015
+ #, fuzzy, no-c-format
+ msgid "Unused parameter '%s' declared at %L"
+ msgstr "тып параметра \"%s\" не аб'Ñўлены"
+
+-#: fortran/trans-expr.c:2036
++#: fortran/trans-expr.c:2199
+ #, fuzzy, no-c-format
+ msgid "Unknown argument list function at %L"
+ msgstr "нехапае аргументаў у функцыі \"%s\""
+@@ -10793,12 +10862,12 @@
+ msgid "'dim' argument of %s intrinsic at %L is not a valid dimension index"
+ msgstr ""
+
+-#: fortran/trans-io.c:1850
++#: fortran/trans-io.c:1851
+ #, no-c-format
+ msgid "Derived type '%s' at %L has PRIVATE components"
+ msgstr ""
+
+-#: fortran/trans-stmt.c:438
++#: fortran/trans-stmt.c:436
+ #, no-c-format
+ msgid "An alternate return at %L without a * dummy argument"
+ msgstr ""
+@@ -11017,58 +11086,36 @@
+ msgid "cannot specify 'main' class when not linking"
+ msgstr ""
+
+-#: config/i386/nwld.h:34
+-#, fuzzy
+-msgid "Static linking is not supported.\n"
+-msgstr "-pipe не падтрымліваецца"
+-
+-#: java/jvspec.c:80 gcc.c:820 ada/lang-specs.h:33
+-msgid "-pg and -fomit-frame-pointer are incompatible"
+-msgstr ""
+-
+ #: config/vax/netbsd-elf.h:41
+ msgid "the -shared option is not currently supported for VAX ELF"
+ msgstr ""
+
+-#: config/sparc/sol2-gld-bi.h:17 config/sparc/sol2-gld-bi.h:22
+-#: config/sparc/sol2-bi.h:189 config/sparc/sol2-bi.h:194
+-#, fuzzy
+-msgid "does not support multilib"
+-msgstr "%s не падтрымлівае %s"
+-
+ #: config/vax/vax.h:49 config/vax/vax.h:50
+ msgid "profiling not supported with -mg\n"
+ msgstr ""
+
+-#: config/rs6000/linux64.h:347 config/rs6000/linux64.h:349 config/linux.h:106
+-#: config/linux.h:108 config/rs6000/sysv4.h:897 config/rs6000/sysv4.h:899
++#: config/sh/sh.h:461
++#, fuzzy
++msgid "SH2a does not support little-endian"
++msgstr "%s не падтрымлівае %s"
++
++#: config/s390/tpf.h:119
++#, fuzzy
++msgid "static is not supported on TPF-OS"
++msgstr "-pipe не падтрымліваецца"
++
+ #: config/alpha/linux-elf.h:33 config/alpha/linux-elf.h:35
++#: config/rs6000/sysv4.h:897 config/rs6000/sysv4.h:899
+ #: config/sparc/linux.h:126 config/sparc/linux.h:128
+-#: config/sparc/linux64.h:152 config/sparc/linux64.h:154
++#: config/sparc/linux64.h:152 config/sparc/linux64.h:154 config/linux.h:106
++#: config/linux.h:108 config/rs6000/linux64.h:347 config/rs6000/linux64.h:349
+ msgid "-mglibc and -muclibc used together"
+ msgstr ""
+
+-#: config/i386/cygwin.h:28
+-msgid "mno-cygwin and mno-win32 are not compatible"
++#: java/jvspec.c:80 gcc.c:820 ada/lang-specs.h:33
++msgid "-pg and -fomit-frame-pointer are incompatible"
+ msgstr ""
+
+-#: config/i386/cygwin.h:74 config/i386/mingw32.h:74
+-msgid "shared and mdll are not compatible"
+-msgstr ""
+-
+-#: config/i386/sco5.h:188
+-#, fuzzy
+-msgid "-pg not supported on this platform"
+-msgstr "атрыбуты Ñекцыі не падтрымліваюцца Ð´Ð»Ñ Ð³Ñтай мÑÑ‚Ñ‹"
+-
+-#: config/i386/sco5.h:189
+-msgid "-p and -pp specified - pick one"
+-msgstr ""
+-
+-#: config/i386/sco5.h:258
+-msgid "-G and -static are mutually exclusive"
+-msgstr ""
+-
+ #: gcc.c:792
+ msgid "GCC does not support -C or -CC without -E"
+ msgstr ""
+@@ -11077,60 +11124,14 @@
+ msgid "-E or -x required when input is from standard input"
+ msgstr ""
+
+-#: java/lang-specs.h:33
+-msgid "-fjni and -femit-class-files are incompatible"
+-msgstr ""
+-
+-#: java/lang-specs.h:34
+-msgid "-fjni and -femit-class-file are incompatible"
+-msgstr ""
+-
+-#: java/lang-specs.h:35 java/lang-specs.h:36
+-msgid "-femit-class-file should used along with -fsyntax-only"
+-msgstr ""
+-
+ #: config/mcore/mcore.h:56
+ msgid "the m210 does not have little endian support"
+ msgstr ""
+
+-#: config/lynx.h:70
+-msgid "cannot use mthreads and mlegacy-threads together"
+-msgstr ""
+-
+-#: config/lynx.h:95
+-msgid "cannot use mshared and static together"
+-msgstr ""
+-
+-#: config/sh/sh.h:461
+-#, fuzzy
+-msgid "SH2a does not support little-endian"
+-msgstr "%s не падтрымлівае %s"
+-
+-#: config/mips/mips.h:1042 config/arc/arc.h:61
++#: config/arc/arc.h:61 config/mips/mips.h:1042
+ msgid "may not use both -EB and -EL"
+ msgstr ""
+
+-#: config/s390/tpf.h:119
+-#, fuzzy
+-msgid "static is not supported on TPF-OS"
+-msgstr "-pipe не падтрымліваецца"
+-
+-#: config/rs6000/darwin.h:95
+-msgid " conflicting code gen style switches are used"
+-msgstr ""
+-
+-#: ada/lang-specs.h:34
+-msgid "-c or -S required for Ada"
+-msgstr ""
+-
+-#: config/mips/r3900.h:34
+-msgid "-mhard-float not supported"
+-msgstr "-mhard-float не падтрымліваецца"
+-
+-#: config/mips/r3900.h:36
+-msgid "-msingle-float and -msoft-float cannot both be specified"
+-msgstr ""
+-
+ #: config/vxworks.h:71
+ msgid "-Xbind-now and -Xbind-lazy are incompatible"
+ msgstr ""
+@@ -11167,12 +11168,24 @@
+ msgid "-private_bundle not allowed with -dynamiclib"
+ msgstr ""
+
++#: config/mips/r3900.h:34
++msgid "-mhard-float not supported"
++msgstr "-mhard-float не падтрымліваецца"
++
++#: config/mips/r3900.h:36
++msgid "-msingle-float and -msoft-float cannot both be specified"
++msgstr ""
++
+ #: config/sparc/linux64.h:211 config/sparc/linux64.h:222
+ #: config/sparc/netbsd-elf.h:125 config/sparc/netbsd-elf.h:144
+ #: config/sparc/sol2-bi.h:217 config/sparc/sol2-bi.h:227
+ msgid "may not use both -m32 and -m64"
+ msgstr ""
+
++#: config/i386/mingw32.h:74 config/i386/cygwin.h:74
++msgid "shared and mdll are not compatible"
++msgstr ""
++
+ #: config/arm/arm.h:147
+ msgid "-msoft-float and -mhard_float may not be used together"
+ msgstr ""
+@@ -11181,121 +11194,66 @@
+ msgid "-mbig-endian and -mlittle-endian may not be used together"
+ msgstr ""
+
+-#: java/lang.opt:65
+-msgid "Warn if a deprecated compiler feature, class, method, or field is used"
++#: config/rs6000/darwin.h:95
++msgid " conflicting code gen style switches are used"
+ msgstr ""
+
+-#: java/lang.opt:69
+-msgid "Warn if deprecated empty statements are found"
++#: ada/lang-specs.h:34
++msgid "-c or -S required for Ada"
+ msgstr ""
+
+-#: java/lang.opt:73
+-msgid "Warn if .class files are out of date"
+-msgstr ""
++#: config/sparc/sol2-bi.h:189 config/sparc/sol2-bi.h:194
++#: config/sparc/sol2-gld-bi.h:17 config/sparc/sol2-gld-bi.h:22
++#, fuzzy
++msgid "does not support multilib"
++msgstr "%s не падтрымлівае %s"
+
+-#: java/lang.opt:77
+-msgid "Warn if modifiers are specified when not necessary"
+-msgstr ""
++#: config/i386/nwld.h:34
++#, fuzzy
++msgid "Static linking is not supported.\n"
++msgstr "-pipe не падтрымліваецца"
+
+-#: java/lang.opt:81
+-msgid "Deprecated; use --classpath instead"
++#: config/i386/cygwin.h:28
++msgid "mno-cygwin and mno-win32 are not compatible"
+ msgstr ""
+
+-#: java/lang.opt:88
+-msgid "Permit the use of the assert keyword"
+-msgstr ""
+-
+-#: java/lang.opt:110
+-msgid "Replace system path"
+-msgstr ""
+-
+-#: java/lang.opt:114
++#: config/i386/sco5.h:188
+ #, fuzzy
+-msgid "Generate checks for references to NULL"
+-msgstr "Стварыць код Ð´Ð»Ñ DLL"
++msgid "-pg not supported on this platform"
++msgstr "атрыбуты Ñекцыі не падтрымліваюцца Ð´Ð»Ñ Ð³Ñтай мÑÑ‚Ñ‹"
+
+-#: java/lang.opt:118
+-msgid "Set class path"
++#: config/i386/sco5.h:189
++msgid "-p and -pp specified - pick one"
+ msgstr ""
+
+-#: java/lang.opt:125
+-msgid "Output a class file"
++#: config/i386/sco5.h:258
++msgid "-G and -static are mutually exclusive"
+ msgstr ""
+
+-#: java/lang.opt:129
+-msgid "Alias for -femit-class-file"
++#: java/lang-specs.h:33
++msgid "-fjni and -femit-class-files are incompatible"
+ msgstr ""
+
+-#: java/lang.opt:133
+-msgid "Choose input encoding (defaults from your locale)"
++#: java/lang-specs.h:34
++msgid "-fjni and -femit-class-file are incompatible"
+ msgstr ""
+
+-#: java/lang.opt:137
+-msgid "Set the extension directory path"
++#: java/lang-specs.h:35 java/lang-specs.h:36
++msgid "-femit-class-file should used along with -fsyntax-only"
+ msgstr ""
+
+-#: java/lang.opt:144
+-msgid "Input file is a file with a list of filenames to compile"
++#: config/cris/cris.h:207
++msgid "Do not specify both -march=... and -mcpu=..."
+ msgstr ""
+
+-#: java/lang.opt:151
+-msgid "Always check for non gcj generated classes archives"
++#: config/lynx.h:70
++msgid "cannot use mthreads and mlegacy-threads together"
+ msgstr ""
+
+-#: java/lang.opt:155
+-msgid "Assume the runtime uses a hash table to map an object to its synchronization structure"
++#: config/lynx.h:95
++msgid "cannot use mshared and static together"
+ msgstr ""
+
+-#: java/lang.opt:159
+-msgid "Generate instances of Class at runtime"
+-msgstr ""
+-
+-#: java/lang.opt:163
+-msgid "Use offset tables for virtual method calls"
+-msgstr ""
+-
+-#: java/lang.opt:170
+-msgid "Assume native functions are implemented using JNI"
+-msgstr ""
+-
+-#: java/lang.opt:174
+-msgid "Enable optimization of static class initialization code"
+-msgstr ""
+-
+-#: java/lang.opt:181
+-msgid "Reduce the amount of reflection meta-data generated"
+-msgstr ""
+-
+-#: java/lang.opt:185
+-msgid "Enable assignability checks for stores into object arrays"
+-msgstr ""
+-
+-#: java/lang.opt:189
+-#, fuzzy
+-msgid "Generate code for the Boehm GC"
+-msgstr "Генерыраваць код Ð´Ð»Ñ Intel as"
+-
+-#: java/lang.opt:193
+-msgid "Call a library routine to do integer divisions"
+-msgstr ""
+-
+-#: java/lang.opt:197
+-msgid "Generated should be loaded by bootstrap loader"
+-msgstr ""
+-
+-#: java/lang.opt:201
+-msgid "Set the source language version"
+-msgstr ""
+-
+-#: java/lang.opt:205
+-#, fuzzy
+-msgid "Set the target VM version"
+-msgstr "дрÑÐ½Ð½Ð°Ñ Ð²ÐµÑ€ÑÑ–Ñ Ð·Ð°Ð³Ð°Ð»Ð¾ÑžÐºÐ°"
+-
+-#: ada/lang.opt:96
+-msgid "Specify options to GNAT"
+-msgstr ""
+-
+ #: fortran/lang.opt:29
+ msgid "Add a directory for INCLUDE and MODULE searching"
+ msgstr ""
+@@ -11538,7 +11496,7 @@
+ msgid "Append a second underscore if the name already contains an underscore"
+ msgstr ""
+
+-#: fortran/lang.opt:277 c.opt:714
++#: fortran/lang.opt:277 c.opt:718
+ msgid "Use the narrowest integer type possible for enumeration types"
+ msgstr ""
+
+@@ -11570,15 +11528,64 @@
+ msgid "Accept extensions to support legacy code"
+ msgstr ""
+
+-#: treelang/lang.opt:30
+-msgid "Trace lexical analysis"
++#: config/mcore/mcore.opt:23
++#, fuzzy
++msgid "Generate code for the M*Core M210"
++msgstr "Генерыраваць код Ð´Ð»Ñ Intel as"
++
++#: config/mcore/mcore.opt:27
++msgid "Generate code for the M*Core M340"
+ msgstr ""
+
+-#: treelang/lang.opt:34
++#: config/mcore/mcore.opt:31
++msgid "Set maximum alignment to 4"
++msgstr ""
++
++#: config/mcore/mcore.opt:35
++msgid "Force functions to be aligned to a 4 byte boundary"
++msgstr ""
++
++#: config/mcore/mcore.opt:39
++msgid "Set maximum alignment to 8"
++msgstr ""
++
++#: config/mcore/mcore.opt:43 config/score/score.opt:23
++msgid "Generate big-endian code"
++msgstr ""
++
++#: config/mcore/mcore.opt:47
++msgid "Emit call graph information"
++msgstr ""
++
++#: config/mcore/mcore.opt:51
+ #, fuzzy
+-msgid "Trace the parsing process"
+-msgstr "ÐœÑта - AM33 працÑÑар"
++msgid "Use the divide instruction"
++msgstr "Ðе генерыраваць ÑÑ–Ð¼Ð²Ð°Ð»ÑŒÐ½Ñ‹Ñ Ñ–Ð½Ñтрукцыі"
+
++#: config/mcore/mcore.opt:55
++msgid "Inline constants if it can be done in 2 insns or less"
++msgstr ""
++
++#: config/mcore/mcore.opt:59 config/score/score.opt:27
++msgid "Generate little-endian code"
++msgstr ""
++
++#: config/mcore/mcore.opt:67
++msgid "Use arbitrary sized immediates in bit operations"
++msgstr ""
++
++#: config/mcore/mcore.opt:71
++msgid "Prefer word accesses over byte accesses"
++msgstr ""
++
++#: config/mcore/mcore.opt:75
++msgid "Set the maximum amount for a single stack increment operation"
++msgstr ""
++
++#: config/mcore/mcore.opt:79
++msgid "Always treat bitfields as int-sized"
++msgstr ""
++
+ #: config/alpha/alpha.opt:23 config/i386/i386.opt:155
+ msgid "Do not use hardware fp"
+ msgstr "Ðе выкарыÑтоўваць апаратную плаваючую кропку"
+@@ -11695,275 +11702,6 @@
+ msgid "Specify bit size of immediate TLS offsets"
+ msgstr ""
+
+-#: config/frv/frv.opt:23
+-msgid "Use 4 media accumulators"
+-msgstr ""
+-
+-#: config/frv/frv.opt:27
+-msgid "Use 8 media accumulators"
+-msgstr ""
+-
+-#: config/frv/frv.opt:31
+-#, fuzzy
+-msgid "Enable label alignment optimizations"
+-msgstr "Уключаць SSA аптымізацыю"
+-
+-#: config/frv/frv.opt:35
+-msgid "Dynamically allocate cc registers"
+-msgstr ""
+-
+-#: config/frv/frv.opt:42
+-msgid "Set the cost of branches"
+-msgstr ""
+-
+-#: config/frv/frv.opt:46
+-msgid "Enable conditional execution other than moves/scc"
+-msgstr ""
+-
+-#: config/frv/frv.opt:50
+-msgid "Change the maximum length of conditionally-executed sequences"
+-msgstr ""
+-
+-#: config/frv/frv.opt:54
+-msgid "Change the number of temporary registers that are available to conditionally-executed sequences"
+-msgstr ""
+-
+-#: config/frv/frv.opt:58
+-msgid "Enable conditional moves"
+-msgstr ""
+-
+-#: config/frv/frv.opt:62
+-msgid "Set the target CPU type"
+-msgstr ""
+-
+-#: config/frv/frv.opt:84
+-#, fuzzy
+-msgid "Use fp double instructions"
+-msgstr "Ðе выкарыÑтоўваць інÑтрукцыі AltiVec"
+-
+-#: config/frv/frv.opt:88
+-msgid "Change the ABI to allow double word insns"
+-msgstr ""
+-
+-#: config/frv/frv.opt:92 config/bfin/bfin.opt:73
+-msgid "Enable Function Descriptor PIC mode"
+-msgstr ""
+-
+-#: config/frv/frv.opt:96
+-msgid "Just use icc0/fcc0"
+-msgstr ""
+-
+-#: config/frv/frv.opt:100
+-msgid "Only use 32 FPRs"
+-msgstr ""
+-
+-#: config/frv/frv.opt:104
+-msgid "Use 64 FPRs"
+-msgstr ""
+-
+-#: config/frv/frv.opt:108
+-msgid "Only use 32 GPRs"
+-msgstr ""
+-
+-#: config/frv/frv.opt:112
+-msgid "Use 64 GPRs"
+-msgstr ""
+-
+-#: config/frv/frv.opt:116
+-msgid "Enable use of GPREL for read-only data in FDPIC"
+-msgstr ""
+-
+-#: config/frv/frv.opt:120 config/rs6000/rs6000.opt:112
+-#: config/pdp11/pdp11.opt:71
+-msgid "Use hardware floating point"
+-msgstr "ВыкарыÑтоўваць апаратную \"плаваючую кропку\""
+-
+-#: config/frv/frv.opt:124 config/bfin/bfin.opt:77
+-msgid "Enable inlining of PLT in function calls"
+-msgstr ""
+-
+-#: config/frv/frv.opt:128
+-msgid "Enable PIC support for building libraries"
+-msgstr ""
+-
+-#: config/frv/frv.opt:132
+-msgid "Follow the EABI linkage requirements"
+-msgstr ""
+-
+-#: config/frv/frv.opt:136
+-msgid "Disallow direct calls to global functions"
+-msgstr ""
+-
+-#: config/frv/frv.opt:140
+-#, fuzzy
+-msgid "Use media instructions"
+-msgstr "Ðе генерыраваць ÑÑ–Ð¼Ð²Ð°Ð»ÑŒÐ½Ñ‹Ñ Ñ–Ð½Ñтрукцыі"
+-
+-#: config/frv/frv.opt:144
+-msgid "Use multiply add/subtract instructions"
+-msgstr ""
+-
+-#: config/frv/frv.opt:148
+-msgid "Enable optimizing &&/|| in conditional execution"
+-msgstr ""
+-
+-#: config/frv/frv.opt:152
+-msgid "Enable nested conditional execution optimizations"
+-msgstr ""
+-
+-#: config/frv/frv.opt:157
+-msgid "Do not mark ABI switches in e_flags"
+-msgstr ""
+-
+-#: config/frv/frv.opt:161
+-msgid "Remove redundant membars"
+-msgstr ""
+-
+-#: config/frv/frv.opt:165
+-msgid "Pack VLIW instructions"
+-msgstr ""
+-
+-#: config/frv/frv.opt:169
+-msgid "Enable setting GPRs to the result of comparisons"
+-msgstr ""
+-
+-#: config/frv/frv.opt:173
+-msgid "Change the amount of scheduler lookahead"
+-msgstr ""
+-
+-#: config/frv/frv.opt:177 config/pa/pa.opt:104
+-msgid "Use software floating point"
+-msgstr ""
+-
+-#: config/frv/frv.opt:181
+-msgid "Assume a large TLS segment"
+-msgstr ""
+-
+-#: config/frv/frv.opt:185
+-msgid "Do not assume a large TLS segment"
+-msgstr ""
+-
+-#: config/frv/frv.opt:190
+-msgid "Cause gas to print tomcat statistics"
+-msgstr ""
+-
+-#: config/frv/frv.opt:195
+-msgid "Link with the library-pic libraries"
+-msgstr ""
+-
+-#: config/frv/frv.opt:199
+-msgid "Allow branches to be packed with other instructions"
+-msgstr ""
+-
+-#: config/mn10300/mn10300.opt:23
+-msgid "Target the AM33 processor"
+-msgstr "ÐœÑта - AM33 працÑÑар"
+-
+-#: config/mn10300/mn10300.opt:27
+-#, fuzzy
+-msgid "Target the AM33/2.0 processor"
+-msgstr "ÐœÑта - AM33 працÑÑар"
+-
+-#: config/mn10300/mn10300.opt:31
+-msgid "Work around hardware multiply bug"
+-msgstr ""
+-
+-#: config/mn10300/mn10300.opt:36
+-msgid "Enable linker relaxations"
+-msgstr ""
+-
+-#: config/mn10300/mn10300.opt:40
+-msgid "Return pointers in both a0 and d0"
+-msgstr ""
+-
+-#: config/s390/tpf.opt:23
+-msgid "Enable TPF-OS tracing code"
+-msgstr ""
+-
+-#: config/s390/tpf.opt:27
+-msgid "Specify main object for TPF-OS"
+-msgstr ""
+-
+-#: config/s390/s390.opt:23
+-msgid "31 bit ABI"
+-msgstr ""
+-
+-#: config/s390/s390.opt:27
+-msgid "64 bit ABI"
+-msgstr ""
+-
+-#: config/s390/s390.opt:31 config/i386/i386.opt:59 config/spu/spu.opt:60
+-msgid "Generate code for given CPU"
+-msgstr "Генерыраваць код Ð´Ð»Ñ Ð´Ð°Ð´Ð·ÐµÐ½Ð°Ð³Ð° ЦП"
+-
+-#: config/s390/s390.opt:35
+-msgid "Maintain backchain pointer"
+-msgstr ""
+-
+-#: config/s390/s390.opt:39
+-msgid "Additional debug prints"
+-msgstr ""
+-
+-#: config/s390/s390.opt:43
+-msgid "ESA/390 architecture"
+-msgstr ""
+-
+-#: config/s390/s390.opt:47
+-#, fuzzy
+-msgid "Enable fused multiply/add instructions"
+-msgstr "Ðе генерыраваць ÑÑ–Ð¼Ð²Ð°Ð»ÑŒÐ½Ñ‹Ñ Ñ–Ð½Ñтрукцыі"
+-
+-#: config/s390/s390.opt:51
+-msgid "Enable decimal floating point hardware support"
+-msgstr ""
+-
+-#: config/s390/s390.opt:55
+-#, fuzzy
+-msgid "Enable hardware floating point"
+-msgstr "ВыкарыÑтоўваць апаратную \"плаваючую кропку\""
+-
+-#: config/s390/s390.opt:67
+-msgid "Use packed stack layout"
+-msgstr ""
+-
+-#: config/s390/s390.opt:71
+-msgid "Use bras for executable < 64k"
+-msgstr ""
+-
+-#: config/s390/s390.opt:75
+-#, fuzzy
+-msgid "Disable hardware floating point"
+-msgstr "ВыкарыÑтоўваць апаратную \"плаваючую кропку\""
+-
+-#: config/s390/s390.opt:79
+-msgid "Set the max. number of bytes which has to be left to stack size before a trap instruction is triggered"
+-msgstr ""
+-
+-#: config/s390/s390.opt:83
+-msgid "Emit extra code in the function prologue in order to trap if the stack size exceeds the given limit"
+-msgstr ""
+-
+-#: config/s390/s390.opt:87 config/ia64/ia64.opt:97 config/sparc/sparc.opt:95
+-#: config/i386/i386.opt:183 config/rs6000/rs6000.opt:226 config/spu/spu.opt:64
+-msgid "Schedule code for given CPU"
+-msgstr ""
+-
+-#: config/s390/s390.opt:91
+-msgid "mvcle use"
+-msgstr ""
+-
+-#: config/s390/s390.opt:95
+-msgid "Warn if a function uses alloca or creates an array with dynamic size"
+-msgstr ""
+-
+-#: config/s390/s390.opt:99
+-msgid "Warn if a single function's framesize exceeds the given framesize"
+-msgstr ""
+-
+-#: config/s390/s390.opt:103
+-msgid "z/Architecture"
+-msgstr ""
+-
+ #: config/ia64/ilp32.opt:3
+ #, fuzzy
+ msgid "Generate ILP32 code"
+@@ -12054,10 +11792,16 @@
+ msgid "Enable earlier placing stop bits for better scheduling"
+ msgstr ""
+
+-#: config/ia64/ia64.opt:89 config/spu/spu.opt:56 config/pa/pa.opt:51
++#: config/ia64/ia64.opt:89 config/pa/pa.opt:51 config/spu/spu.opt:56
+ msgid "Specify range of registers to make fixed"
+ msgstr ""
+
++#: config/ia64/ia64.opt:97 config/i386/i386.opt:183
++#: config/rs6000/rs6000.opt:226 config/spu/spu.opt:64 config/s390/s390.opt:87
++#: config/sparc/sparc.opt:95
++msgid "Schedule code for given CPU"
++msgstr ""
++
+ #: config/ia64/ia64.opt:101
+ msgid "Use data speculation before reload"
+ msgstr ""
+@@ -12107,347 +11851,308 @@
+ msgid "Count speculative dependencies while calculating priority of instructions"
+ msgstr ""
+
+-#: config/m32c/m32c.opt:24 config/bfin/bfin.opt:23 config/mt/mt.opt:27
+-msgid "Use simulator runtime"
++#: config/xtensa/xtensa.opt:23
++msgid "Use CONST16 instruction to load constants"
+ msgstr ""
+
+-#: config/m32c/m32c.opt:28
+-msgid "Compile code for R8C variants"
++#: config/xtensa/xtensa.opt:27
++msgid "Enable fused multiply/add and multiply/subtract FP instructions"
+ msgstr ""
+
+-#: config/m32c/m32c.opt:32
+-msgid "Compile code for M16C variants"
++#: config/xtensa/xtensa.opt:31
++msgid "Use indirect CALLXn instructions for large programs"
+ msgstr ""
+
+-#: config/m32c/m32c.opt:36
+-msgid "Compile code for M32CM variants"
++#: config/xtensa/xtensa.opt:35
++msgid "Automatically align branch targets to reduce branch penalties"
+ msgstr ""
+
+-#: config/m32c/m32c.opt:40
+-msgid "Compile code for M32C variants"
++#: config/xtensa/xtensa.opt:39
++msgid "Intersperse literal pools with code in the text section"
+ msgstr ""
+
+-#: config/m32c/m32c.opt:44
+-msgid "Number of memreg bytes (default: 16, range: 0..16)"
++#: config/pa/pa.opt:23 config/pa/pa.opt:76 config/pa/pa.opt:84
++#, fuzzy
++msgid "Generate PA1.0 code"
++msgstr "Стварыць код Ð´Ð»Ñ DLL"
++
++#: config/pa/pa.opt:27 config/pa/pa.opt:88 config/pa/pa.opt:108
++#, fuzzy
++msgid "Generate PA1.1 code"
++msgstr "Стварыць код Ð´Ð»Ñ DLL"
++
++#: config/pa/pa.opt:31 config/pa/pa.opt:92
++msgid "Generate PA2.0 code (requires binutils 2.10 or later)"
+ msgstr ""
+
+-#: config/sparc/little-endian.opt:23
++#: config/pa/pa.opt:35
+ #, fuzzy
+-msgid "Generate code for little-endian"
++msgid "Generate code for huge switch statements"
+ msgstr "Генерыраваць код Ð´Ð»Ñ Intel as"
+
+-#: config/sparc/little-endian.opt:27
+-#, fuzzy
+-msgid "Generate code for big-endian"
+-msgstr "Генерыраваць код Ð´Ð»Ñ Ð´Ð°Ð´Ð·ÐµÐ½Ð°Ð³Ð° ЦП"
++#: config/pa/pa.opt:39
++msgid "Disable FP regs"
++msgstr ""
+
+-#: config/sparc/sparc.opt:23 config/sparc/sparc.opt:27
++#: config/pa/pa.opt:43
+ #, fuzzy
+-msgid "Use hardware FP"
+-msgstr "ВыкарыÑтоўваць апаратную плаваючую кропку"
++msgid "Disable indexed addressing"
++msgstr "нерÑчаіÑны адраÑ"
+
+-#: config/sparc/sparc.opt:31
++#: config/pa/pa.opt:47
+ #, fuzzy
+-msgid "Do not use hardware FP"
+-msgstr "Ðе выкарыÑтоўваць апаратную плаваючую кропку"
++msgid "Generate fast indirect calls"
++msgstr "Генерыраваць код Ð´Ð»Ñ Intel as"
+
+-#: config/sparc/sparc.opt:35
+-msgid "Assume possible double misalignment"
++#: config/pa/pa.opt:55
++msgid "Assume code will be assembled by GAS"
+ msgstr ""
+
+-#: config/sparc/sparc.opt:39
+-msgid "Pass -assert pure-text to linker"
++#: config/pa/pa.opt:59
++msgid "Put jumps in call delay slots"
+ msgstr ""
+
+-#: config/sparc/sparc.opt:43
+-msgid "Use ABI reserved registers"
+-msgstr ""
++#: config/pa/pa.opt:64
++#, fuzzy
++msgid "Enable linker optimizations"
++msgstr "Уключаць SSA аптымізацыю"
+
+-#: config/sparc/sparc.opt:47
++#: config/pa/pa.opt:68
+ #, fuzzy
+-msgid "Use hardware quad FP instructions"
+-msgstr "ВыкарыÑтоўваць апаратную \"плаваючую кропку\""
++msgid "Always generate long calls"
++msgstr "Генерыраваць код Ð´Ð»Ñ Intel as"
+
+-#: config/sparc/sparc.opt:51
+-msgid "Do not use hardware quad fp instructions"
++#: config/pa/pa.opt:72
++msgid "Emit long load/store sequences"
+ msgstr ""
+
+-#: config/sparc/sparc.opt:55
+-msgid "Compile for V8+ ABI"
++#: config/pa/pa.opt:80
++msgid "Disable space regs"
+ msgstr ""
+
+-#: config/sparc/sparc.opt:59
+-msgid "Use UltraSPARC Visual Instruction Set extensions"
++#: config/pa/pa.opt:96
++msgid "Use portable calling conventions"
+ msgstr ""
+
+-#: config/sparc/sparc.opt:63
+-msgid "Pointers are 64-bit"
++#: config/pa/pa.opt:100
++msgid "Specify CPU for scheduling purposes. Valid arguments are 700, 7100, 7100LC, 7200, 7300, and 8000"
+ msgstr ""
+
+-#: config/sparc/sparc.opt:67
+-msgid "Pointers are 32-bit"
++#: config/pa/pa.opt:104 config/frv/frv.opt:177
++msgid "Use software floating point"
+ msgstr ""
+
+-#: config/sparc/sparc.opt:71
+-msgid "Use 64-bit ABI"
++#: config/pa/pa.opt:112
++msgid "Do not disable space regs"
+ msgstr ""
+
+-#: config/sparc/sparc.opt:75
+-msgid "Use 32-bit ABI"
++#: config/pa/pa-hpux1111.opt:23 config/pa/pa-hpux1010.opt:23
++#: config/pa/pa-hpux.opt:27
++msgid "Specify UNIX standard for predefines and linking"
+ msgstr ""
+
+-#: config/sparc/sparc.opt:79
+-msgid "Use stack bias"
++#: config/pa/pa64-hpux.opt:23
++msgid "Assume code will be linked by GNU ld"
+ msgstr ""
+
+-#: config/sparc/sparc.opt:83
+-msgid "Use structs on stronger alignment for double-word copies"
++#: config/pa/pa64-hpux.opt:27
++msgid "Assume code will be linked by HP ld"
+ msgstr ""
+
+-#: config/sparc/sparc.opt:87
+-msgid "Optimize tail call instructions in assembler and linker"
+-msgstr ""
++#: config/pa/pa-hpux.opt:23
++#, fuzzy
++msgid "Generate cpp defines for server IO"
++msgstr "Генерыраваць код Ð´Ð»Ñ Ð´Ð°Ð´Ð·ÐµÐ½Ð°Ð³Ð° ЦП"
+
+-#: config/sparc/sparc.opt:91 config/rs6000/rs6000.opt:222
+-msgid "Use features of and schedule code for given CPU"
+-msgstr ""
++#: config/pa/pa-hpux.opt:31
++#, fuzzy
++msgid "Generate cpp defines for workstation IO"
++msgstr "Стварыць код Ð´Ð»Ñ DLL"
+
+-#: config/sparc/sparc.opt:99
+-msgid "Use given SPARC-V9 code model"
++#: config/frv/frv.opt:23
++msgid "Use 4 media accumulators"
+ msgstr ""
+
+-#: config/sparc/sparc.opt:103
+-msgid "Enable strict 32-bit psABI struct return checking."
++#: config/frv/frv.opt:27
++msgid "Use 8 media accumulators"
+ msgstr ""
+
+-#: config/m32r/m32r.opt:23
+-msgid "Compile for the m32rx"
+-msgstr ""
++#: config/frv/frv.opt:31
++#, fuzzy
++msgid "Enable label alignment optimizations"
++msgstr "Уключаць SSA аптымізацыю"
+
+-#: config/m32r/m32r.opt:27
+-msgid "Compile for the m32r2"
++#: config/frv/frv.opt:35
++msgid "Dynamically allocate cc registers"
+ msgstr ""
+
+-#: config/m32r/m32r.opt:31
+-msgid "Compile for the m32r"
++#: config/frv/frv.opt:42
++msgid "Set the cost of branches"
+ msgstr ""
+
+-#: config/m32r/m32r.opt:35
+-msgid "Align all loops to 32 byte boundary"
++#: config/frv/frv.opt:46
++msgid "Enable conditional execution other than moves/scc"
+ msgstr ""
+
+-#: config/m32r/m32r.opt:39
+-msgid "Prefer branches over conditional execution"
++#: config/frv/frv.opt:50
++msgid "Change the maximum length of conditionally-executed sequences"
+ msgstr ""
+
+-#: config/m32r/m32r.opt:43
+-msgid "Give branches their default cost"
++#: config/frv/frv.opt:54
++msgid "Change the number of temporary registers that are available to conditionally-executed sequences"
+ msgstr ""
+
+-#: config/m32r/m32r.opt:47
+-msgid "Display compile time statistics"
++#: config/frv/frv.opt:58
++msgid "Enable conditional moves"
+ msgstr ""
+
+-#: config/m32r/m32r.opt:51
+-msgid "Specify cache flush function"
++#: config/frv/frv.opt:62
++msgid "Set the target CPU type"
+ msgstr ""
+
+-#: config/m32r/m32r.opt:55
+-msgid "Specify cache flush trap number"
+-msgstr ""
++#: config/frv/frv.opt:84
++#, fuzzy
++msgid "Use fp double instructions"
++msgstr "Ðе выкарыÑтоўваць інÑтрукцыі AltiVec"
+
+-#: config/m32r/m32r.opt:59
+-msgid "Only issue one instruction per cycle"
++#: config/frv/frv.opt:88
++msgid "Change the ABI to allow double word insns"
+ msgstr ""
+
+-#: config/m32r/m32r.opt:63
+-msgid "Allow two instructions to be issued per cycle"
++#: config/frv/frv.opt:92 config/bfin/bfin.opt:73
++msgid "Enable Function Descriptor PIC mode"
+ msgstr ""
+
+-#: config/m32r/m32r.opt:67
+-msgid "Code size: small, medium or large"
++#: config/frv/frv.opt:96
++msgid "Just use icc0/fcc0"
+ msgstr ""
+
+-#: config/m32r/m32r.opt:71
+-msgid "Don't call any cache flush functions"
++#: config/frv/frv.opt:100
++msgid "Only use 32 FPRs"
+ msgstr ""
+
+-#: config/m32r/m32r.opt:75
+-msgid "Don't call any cache flush trap"
++#: config/frv/frv.opt:104
++msgid "Use 64 FPRs"
+ msgstr ""
+
+-#: config/m32r/m32r.opt:82
+-msgid "Small data area: none, sdata, use"
++#: config/frv/frv.opt:108
++msgid "Only use 32 GPRs"
+ msgstr ""
+
+-#: config/m68k/m68k.opt:23
+-msgid "Generate code for a 520X"
+-msgstr "Ствараць код Ð´Ð»Ñ 520X"
+-
+-#: config/m68k/m68k.opt:27
+-#, fuzzy
+-msgid "Generate code for a 5206e"
+-msgstr "Ствараць код Ð´Ð»Ñ 520X"
+-
+-#: config/m68k/m68k.opt:31
+-#, fuzzy
+-msgid "Generate code for a 528x"
+-msgstr "Ствараць код Ð´Ð»Ñ 520X"
+-
+-#: config/m68k/m68k.opt:35
+-#, fuzzy
+-msgid "Generate code for a 5307"
+-msgstr "Ствараць код Ð´Ð»Ñ 520X"
+-
+-#: config/m68k/m68k.opt:39
+-#, fuzzy
+-msgid "Generate code for a 5407"
+-msgstr "Ствараць код Ð´Ð»Ñ 520X"
+-
+-#: config/m68k/m68k.opt:43 config/m68k/m68k.opt:104
+-msgid "Generate code for a 68000"
+-msgstr "Ствараць код Ð´Ð»Ñ 68000"
+-
+-#: config/m68k/m68k.opt:47
+-#, fuzzy
+-msgid "Generate code for a 68010"
+-msgstr "Ствараць код Ð´Ð»Ñ 68020"
+-
+-#: config/m68k/m68k.opt:51 config/m68k/m68k.opt:108
+-msgid "Generate code for a 68020"
+-msgstr "Ствараць код Ð´Ð»Ñ 68020"
+-
+-#: config/m68k/m68k.opt:55
+-msgid "Generate code for a 68040, without any new instructions"
++#: config/frv/frv.opt:112
++msgid "Use 64 GPRs"
+ msgstr ""
+
+-#: config/m68k/m68k.opt:59
+-msgid "Generate code for a 68060, without any new instructions"
++#: config/frv/frv.opt:116
++msgid "Enable use of GPREL for read-only data in FDPIC"
+ msgstr ""
+
+-#: config/m68k/m68k.opt:63
+-msgid "Generate code for a 68030"
+-msgstr "Ствараць код Ð´Ð»Ñ 68030"
++#: config/frv/frv.opt:120 config/rs6000/rs6000.opt:112
++#: config/pdp11/pdp11.opt:71
++msgid "Use hardware floating point"
++msgstr "ВыкарыÑтоўваць апаратную \"плаваючую кропку\""
+
+-#: config/m68k/m68k.opt:67
+-msgid "Generate code for a 68040"
+-msgstr "Ствараць код Ð´Ð»Ñ 68040"
+-
+-#: config/m68k/m68k.opt:71
+-msgid "Generate code for a 68060"
+-msgstr "Ствараць код Ð´Ð»Ñ 68060"
+-
+-#: config/m68k/m68k.opt:75
+-msgid "Generate code for a 68302"
+-msgstr "Ствараць код Ð´Ð»Ñ 68302"
+-
+-#: config/m68k/m68k.opt:79
+-msgid "Generate code for a 68332"
+-msgstr "Ствараць код Ð´Ð»Ñ 68332"
+-
+-#: config/m68k/m68k.opt:84
+-msgid "Generate code for a 68851"
+-msgstr "Ствараць код Ð´Ð»Ñ 68851"
+-
+-#: config/m68k/m68k.opt:88
+-msgid "Generate code that uses 68881 floating-point instructions"
++#: config/frv/frv.opt:124 config/bfin/bfin.opt:77
++msgid "Enable inlining of PLT in function calls"
+ msgstr ""
+
+-#: config/m68k/m68k.opt:92
+-msgid "Align variables on a 32-bit boundary"
++#: config/frv/frv.opt:128
++msgid "Enable PIC support for building libraries"
+ msgstr ""
+
+-#: config/m68k/m68k.opt:96 config/arm/arm.opt:49 config/score/score.opt:63
+-msgid "Specify the name of the target architecture"
++#: config/frv/frv.opt:132
++msgid "Follow the EABI linkage requirements"
+ msgstr ""
+
+-#: config/m68k/m68k.opt:100
+-msgid "Use the bit-field instructions"
++#: config/frv/frv.opt:136
++msgid "Disallow direct calls to global functions"
+ msgstr ""
+
+-#: config/m68k/m68k.opt:112
++#: config/frv/frv.opt:140
+ #, fuzzy
+-msgid "Generate code for a ColdFire v4e"
+-msgstr "Генерыраваць код Ð´Ð»Ñ GNU ld"
++msgid "Use media instructions"
++msgstr "Ðе генерыраваць ÑÑ–Ð¼Ð²Ð°Ð»ÑŒÐ½Ñ‹Ñ Ñ–Ð½Ñтрукцыі"
+
+-#: config/m68k/m68k.opt:116
+-msgid "Specify the target CPU"
++#: config/frv/frv.opt:144
++msgid "Use multiply add/subtract instructions"
+ msgstr ""
+
+-#: config/m68k/m68k.opt:120
+-msgid "Generate code for a cpu32"
+-msgstr "Ствараць код Ð´Ð»Ñ Ñ†Ð¿32"
++#: config/frv/frv.opt:148
++msgid "Enable optimizing &&/|| in conditional execution"
++msgstr ""
+
+-#: config/m68k/m68k.opt:124
+-msgid "Use hardware division instructions on ColdFire"
++#: config/frv/frv.opt:152
++msgid "Enable nested conditional execution optimizations"
+ msgstr ""
+
+-#: config/m68k/m68k.opt:128
+-#, fuzzy
+-msgid "Generate code for a Fido A"
+-msgstr "Стварыць код Ð´Ð»Ñ DLL"
+-
+-#: config/m68k/m68k.opt:132
+-msgid "Generate code which uses hardware floating point instructions"
++#: config/frv/frv.opt:157
++msgid "Do not mark ABI switches in e_flags"
+ msgstr ""
+
+-#: config/m68k/m68k.opt:136
+-msgid "Enable ID based shared library"
++#: config/frv/frv.opt:161
++msgid "Remove redundant membars"
+ msgstr ""
+
+-#: config/m68k/m68k.opt:140
+-#, fuzzy
+-msgid "Do not use the bit-field instructions"
+-msgstr "Ðе генерыраваць ÑÑ–Ð¼Ð²Ð°Ð»ÑŒÐ½Ñ‹Ñ Ñ–Ð½Ñтрукцыі"
+-
+-#: config/m68k/m68k.opt:144
+-msgid "Use normal calling convention"
++#: config/frv/frv.opt:165
++msgid "Pack VLIW instructions"
+ msgstr ""
+
+-#: config/m68k/m68k.opt:148
+-msgid "Consider type 'int' to be 32 bits wide"
++#: config/frv/frv.opt:169
++msgid "Enable setting GPRs to the result of comparisons"
+ msgstr ""
+
+-#: config/m68k/m68k.opt:152
+-msgid "Generate pc-relative code"
++#: config/frv/frv.opt:173
++msgid "Change the amount of scheduler lookahead"
+ msgstr ""
+
+-#: config/m68k/m68k.opt:156
+-msgid "Use different calling convention using 'rtd'"
++#: config/frv/frv.opt:181
++msgid "Assume a large TLS segment"
+ msgstr ""
+
+-#: config/m68k/m68k.opt:160 config/bfin/bfin.opt:61
+-msgid "Enable separate data segment"
++#: config/frv/frv.opt:185
++msgid "Do not assume a large TLS segment"
+ msgstr ""
+
+-#: config/m68k/m68k.opt:164 config/bfin/bfin.opt:57
+-msgid "ID of shared library to build"
++#: config/frv/frv.opt:190
++msgid "Cause gas to print tomcat statistics"
+ msgstr ""
+
+-#: config/m68k/m68k.opt:168
+-msgid "Consider type 'int' to be 16 bits wide"
++#: config/frv/frv.opt:195
++msgid "Link with the library-pic libraries"
+ msgstr ""
+
+-#: config/m68k/m68k.opt:172
+-msgid "Generate code with library calls for floating point"
++#: config/frv/frv.opt:199
++msgid "Allow branches to be packed with other instructions"
+ msgstr ""
+
+-#: config/m68k/m68k.opt:176
+-msgid "Do not use unaligned memory references"
++#: config/i386/cygming.opt:23
++msgid "Create console application"
++msgstr "Стварыць канÑольны прыдатак"
++
++#: config/i386/cygming.opt:27
++msgid "Use the Cygwin interface"
+ msgstr ""
+
+-#: config/m68k/m68k.opt:180
+-msgid "Tune for the specified target CPU or architecture"
++#: config/i386/cygming.opt:31
++msgid "Generate code for a DLL"
++msgstr "Стварыць код Ð´Ð»Ñ DLL"
++
++#: config/i386/cygming.opt:35
++msgid "Ignore dllimport for functions"
+ msgstr ""
+
+-#: config/m68k/ieee.opt:24 config/i386/i386.opt:95
+-msgid "Use IEEE math for fp comparisons"
++#: config/i386/cygming.opt:39
++msgid "Use Mingw-specific thread support"
+ msgstr ""
+
+-#: config/i386/djgpp.opt:25
+-msgid "Ignored (obsolete)"
++#: config/i386/cygming.opt:43
++msgid "Set Windows defines"
+ msgstr ""
+
++#: config/i386/cygming.opt:47
++msgid "Create GUI application"
++msgstr "Стварыць GUI прыдатак"
++
+ #: config/i386/i386.opt:23
+ msgid "sizeof(long double) is 16"
+ msgstr ""
+@@ -12484,6 +12189,10 @@
+ msgid "Align destination of the string operations"
+ msgstr ""
+
++#: config/i386/i386.opt:59 config/spu/spu.opt:60 config/s390/s390.opt:31
++msgid "Generate code for given CPU"
++msgstr "Генерыраваць код Ð´Ð»Ñ Ð´Ð°Ð´Ð·ÐµÐ½Ð°Ð³Ð° ЦП"
++
+ #: config/i386/i386.opt:63
+ msgid "Use given assembler dialect"
+ msgstr "ВыкарыÑтоўвываць зададзены дыÑлект аÑÑмблера"
+@@ -12512,6 +12221,10 @@
+ msgid "Generate floating point mathematics using given instruction set"
+ msgstr ""
+
++#: config/i386/i386.opt:95 config/m68k/ieee.opt:24
++msgid "Use IEEE math for fp comparisons"
++msgstr ""
++
+ #: config/i386/i386.opt:99
+ msgid "Inline all known string operations"
+ msgstr ""
+@@ -12665,60 +12378,404 @@
+ msgid "Enable automatic generation of fused floating point multiply-add instructions"
+ msgstr ""
+
+-#: config/i386/cygming.opt:23
+-msgid "Create console application"
+-msgstr "Стварыць канÑольны прыдатак"
++#: config/i386/sco5.opt:24
++msgid "Generate ELF output"
++msgstr "Стварыць ELF-вывад"
+
+-#: config/i386/cygming.opt:27
+-msgid "Use the Cygwin interface"
++#: config/i386/djgpp.opt:25
++msgid "Ignored (obsolete)"
+ msgstr ""
+
+-#: config/i386/cygming.opt:31
+-msgid "Generate code for a DLL"
+-msgstr "Стварыць код Ð´Ð»Ñ DLL"
++#: config/iq2000/iq2000.opt:23 config/mt/mt.opt:55
++msgid "Specify CPU for code generation purposes"
++msgstr ""
+
+-#: config/i386/cygming.opt:35
+-msgid "Ignore dllimport for functions"
++#: config/iq2000/iq2000.opt:27
++msgid "Specify CPU for scheduling purposes"
+ msgstr ""
+
+-#: config/i386/cygming.opt:39
+-msgid "Use Mingw-specific thread support"
++#: config/iq2000/iq2000.opt:31 config/mips/mips.opt:97
++msgid "Use ROM instead of RAM"
+ msgstr ""
+
+-#: config/i386/cygming.opt:43
+-msgid "Set Windows defines"
++#: config/iq2000/iq2000.opt:35
++msgid "Use GP relative sdata/sbss sections"
+ msgstr ""
+
+-#: config/i386/cygming.opt:47
+-msgid "Create GUI application"
+-msgstr "Стварыць GUI прыдатак"
++#: config/iq2000/iq2000.opt:40
++msgid "No default crt0.o"
++msgstr ""
+
+-#: config/i386/sco5.opt:24
+-msgid "Generate ELF output"
+-msgstr "Стварыць ELF-вывад"
++#: config/iq2000/iq2000.opt:44 config/mips/mips.opt:265
++msgid "Put uninitialized constants in ROM (needs -membedded-data)"
++msgstr ""
+
+-#: config/rs6000/aix41.opt:24 config/rs6000/aix64.opt:32
+-msgid "Support message passing with the Parallel Environment"
++#: config/arm/arm.opt:23
++msgid "Specify an ABI"
+ msgstr ""
+
+-#: config/rs6000/aix.opt:24 config/rs6000/rs6000.opt:147
+-msgid "Conform more closely to IBM XLC semantics"
++#: config/arm/arm.opt:27
++msgid "Generate a call to abort if a noreturn function returns"
+ msgstr ""
+
+-#: config/rs6000/darwin.opt:24 config/rs6000/sysv4.opt:132
++#: config/arm/arm.opt:34
++msgid "Pass FP arguments in FP registers"
++msgstr ""
++
++#: config/arm/arm.opt:38
++msgid "Generate APCS conformant stack frames"
++msgstr ""
++
++#: config/arm/arm.opt:42
++msgid "Generate re-entrant, PIC code"
++msgstr ""
++
++#: config/arm/arm.opt:49 config/m68k/m68k.opt:96 config/score/score.opt:63
++msgid "Specify the name of the target architecture"
++msgstr ""
++
++#: config/arm/arm.opt:56
++msgid "Assume target CPU is configured as big endian"
++msgstr ""
++
++#: config/arm/arm.opt:60
++msgid "Thumb: Assume non-static functions may be called from ARM code"
++msgstr ""
++
++#: config/arm/arm.opt:64
++msgid "Thumb: Assume function pointers may go to non-Thumb aware code"
++msgstr ""
++
++#: config/arm/arm.opt:68
++msgid "Cirrus: Place NOPs to avoid invalid instruction combinations"
++msgstr ""
++
++#: config/arm/arm.opt:72 config/bfin/bfin.opt:27
++msgid "Specify the name of the target CPU"
++msgstr ""
++
++#: config/arm/arm.opt:76
++msgid "Specify if floating point hardware should be used"
++msgstr ""
++
++#: config/arm/arm.opt:90
++msgid "Specify the name of the target floating point hardware/format"
++msgstr ""
++
++#: config/arm/arm.opt:94
++msgid "Alias for -mfloat-abi=hard"
++msgstr ""
++
++#: config/arm/arm.opt:98
++msgid "Assume target CPU is configured as little endian"
++msgstr ""
++
++#: config/arm/arm.opt:102
++msgid "Generate call insns as indirect calls, if necessary"
++msgstr ""
++
++#: config/arm/arm.opt:106
++msgid "Specify the register to be used for PIC addressing"
++msgstr ""
++
++#: config/arm/arm.opt:110
++msgid "Store function names in object code"
++msgstr ""
++
++#: config/arm/arm.opt:114
++msgid "Permit scheduling of a function's prologue sequence"
++msgstr ""
++
++#: config/arm/arm.opt:118
++msgid "Do not load the PIC register in function prologues"
++msgstr ""
++
++#: config/arm/arm.opt:122
++msgid "Alias for -mfloat-abi=soft"
++msgstr ""
++
++#: config/arm/arm.opt:126
++msgid "Specify the minimum bit alignment of structures"
++msgstr ""
++
++#: config/arm/arm.opt:130
++msgid "Compile for the Thumb not the ARM"
++msgstr ""
++
++#: config/arm/arm.opt:134
++msgid "Support calls between Thumb and ARM instruction sets"
++msgstr ""
++
++#: config/arm/arm.opt:138
++msgid "Specify how to access the thread pointer"
++msgstr ""
++
++#: config/arm/arm.opt:142
++msgid "Thumb: Generate (non-leaf) stack frames even if not needed"
++msgstr ""
++
++#: config/arm/arm.opt:146
++msgid "Thumb: Generate (leaf) stack frames even if not needed"
++msgstr ""
++
++#: config/arm/arm.opt:150
+ #, fuzzy
++msgid "Tune code for the given processor"
++msgstr "Генерыраваць код Ð´Ð»Ñ Ð´Ð°Ð´Ð·ÐµÐ½Ð°Ð³Ð° ЦП"
++
++#: config/arm/arm.opt:154
++msgid "Assume big endian bytes, little endian words"
++msgstr ""
++
++#: config/arm/arm.opt:158
++msgid "Use Neon quad-word (rather than double-word) registers for vectorization"
++msgstr ""
++
++#: config/arm/pe.opt:23
++msgid "Ignore dllimport attribute for functions"
++msgstr ""
++
++#: config/cris/linux.opt:27
++msgid "Together with -fpic and -fPIC, do not use GOTPLT references"
++msgstr ""
++
++#: config/cris/aout.opt:27
++msgid "Compile for the MMU-less Etrax 100-based elinux system"
++msgstr ""
++
++#: config/cris/aout.opt:33
++msgid "For elinux, request a specified stack-size for this program"
++msgstr ""
++
++#: config/cris/cris.opt:45
++msgid "Work around bug in multiplication instruction"
++msgstr ""
++
++#: config/cris/cris.opt:51
++msgid "Compile for ETRAX 4 (CRIS v3)"
++msgstr ""
++
++#: config/cris/cris.opt:56
++msgid "Compile for ETRAX 100 (CRIS v8)"
++msgstr ""
++
++#: config/cris/cris.opt:64
++msgid "Emit verbose debug information in assembly code"
++msgstr ""
++
++#: config/cris/cris.opt:71
++#, fuzzy
++msgid "Do not use condition codes from normal instructions"
++msgstr "Ðе генерыраваць ÑÑ–Ð¼Ð²Ð°Ð»ÑŒÐ½Ñ‹Ñ Ñ–Ð½Ñтрукцыі"
++
++#: config/cris/cris.opt:80
++msgid "Do not emit addressing modes with side-effect assignment"
++msgstr ""
++
++#: config/cris/cris.opt:89
++msgid "Do not tune stack alignment"
++msgstr ""
++
++#: config/cris/cris.opt:98
++msgid "Do not tune writable data alignment"
++msgstr ""
++
++#: config/cris/cris.opt:107
++msgid "Do not tune code and read-only data alignment"
++msgstr ""
++
++#: config/cris/cris.opt:116
++msgid "Align code and data to 32 bits"
++msgstr ""
++
++#: config/cris/cris.opt:133
++msgid "Don't align items in code or data"
++msgstr ""
++
++#: config/cris/cris.opt:142
++msgid "Do not emit function prologue or epilogue"
++msgstr ""
++
++#: config/cris/cris.opt:149
++msgid "Use the most feature-enabling options allowed by other options"
++msgstr ""
++
++#: config/cris/cris.opt:158
++msgid "Override -mbest-lib-options"
++msgstr ""
++
++#: config/cris/cris.opt:165
++#, fuzzy
++msgid "Generate code for the specified chip or CPU version"
++msgstr "Генерыраваць код Ð´Ð»Ñ Ð´Ð°Ð´Ð·ÐµÐ½Ð°Ð³Ð° ЦП"
++
++#: config/cris/cris.opt:169
++msgid "Tune alignment for the specified chip or CPU version"
++msgstr ""
++
++#: config/cris/cris.opt:173
++msgid "Warn when a stackframe is larger than the specified size"
++msgstr ""
++
++#: config/avr/avr.opt:23
++msgid "Use subroutines for function prologues and epilogues"
++msgstr ""
++
++#: config/avr/avr.opt:27
++msgid "Select the target MCU"
++msgstr ""
++
++#: config/avr/avr.opt:34
++#, fuzzy
++msgid "Use an 8-bit 'int' type"
++msgstr "ВыкарыÑтоўваць 32-Ñ… бітны int"
++
++#: config/avr/avr.opt:38
++msgid "Change the stack pointer without disabling interrupts"
++msgstr ""
++
++#: config/avr/avr.opt:42
++msgid "Do not generate tablejump insns"
++msgstr ""
++
++#: config/avr/avr.opt:52
++msgid "Use rjmp/rcall (limited range) on >8K devices"
++msgstr ""
++
++#: config/avr/avr.opt:56
++msgid "Output instruction sizes to the asm file"
++msgstr ""
++
++#: config/avr/avr.opt:60
++msgid "Change only the low 8 bits of the stack pointer"
++msgstr ""
++
++#: config/avr/avr.opt:64
++msgid "Relax branches"
++msgstr ""
++
++#: config/avr/avr.opt:68
++msgid "Make the linker relaxation machine assume that a program counter wrap-around occures."
++msgstr ""
++
++#: config/linux.opt:24
++msgid "Use uClibc instead of GNU libc"
++msgstr ""
++
++#: config/linux.opt:28
++msgid "Use GNU libc instead of uClibc"
++msgstr ""
++
++#: config/rs6000/sysv4.opt:24
++msgid "Select ABI calling convention"
++msgstr ""
++
++#: config/rs6000/sysv4.opt:28
++msgid "Select method for sdata handling"
++msgstr ""
++
++#: config/rs6000/sysv4.opt:36 config/rs6000/sysv4.opt:40
++msgid "Align to the base type of the bit-field"
++msgstr ""
++
++#: config/rs6000/sysv4.opt:45 config/rs6000/sysv4.opt:49
++msgid "Produce code relocatable at runtime"
++msgstr ""
++
++#: config/rs6000/sysv4.opt:53 config/rs6000/sysv4.opt:57
++msgid "Produce little endian code"
++msgstr ""
++
++#: config/rs6000/sysv4.opt:61 config/rs6000/sysv4.opt:65
++msgid "Produce big endian code"
++msgstr ""
++
++#: config/rs6000/sysv4.opt:70 config/rs6000/sysv4.opt:74
++#: config/rs6000/sysv4.opt:83 config/rs6000/sysv4.opt:100
++#: config/rs6000/sysv4.opt:128 config/rs6000/sysv4.opt:140
++msgid "no description yet"
++msgstr ""
++
++#: config/rs6000/sysv4.opt:78
++msgid "Assume all variable arg functions are prototyped"
++msgstr ""
++
++#: config/rs6000/sysv4.opt:87
++msgid "Use EABI"
++msgstr ""
++
++#: config/rs6000/sysv4.opt:91
++msgid "Allow bit-fields to cross word boundaries"
++msgstr ""
++
++#: config/rs6000/sysv4.opt:95
++msgid "Use alternate register names"
++msgstr "ВыкарыÑтоўвываць альтÑÑ€Ð½Ð°Ñ‚Ñ‹ÑžÐ½Ñ‹Ñ Ð½Ð°Ð·Ð²Ñ‹ Ñ€ÑгіÑтраў"
++
++#: config/rs6000/sysv4.opt:104
++msgid "Link with libsim.a, libc.a and sim-crt0.o"
++msgstr ""
++
++#: config/rs6000/sysv4.opt:108
++msgid "Link with libads.a, libc.a and crt0.o"
++msgstr ""
++
++#: config/rs6000/sysv4.opt:112
++msgid "Link with libyk.a, libc.a and crt0.o"
++msgstr ""
++
++#: config/rs6000/sysv4.opt:116
++msgid "Link with libmvme.a, libc.a and crt0.o"
++msgstr ""
++
++#: config/rs6000/sysv4.opt:120
++msgid "Set the PPC_EMB bit in the ELF flags header"
++msgstr ""
++
++#: config/rs6000/sysv4.opt:124
++msgid "Use the WindISS simulator"
++msgstr ""
++
++#: config/rs6000/sysv4.opt:132 config/rs6000/darwin.opt:24
++#, fuzzy
+ msgid "Generate 64-bit code"
+ msgstr "Стварыць код Ð´Ð»Ñ DLL"
+
+-#: config/rs6000/darwin.opt:28 config/rs6000/sysv4.opt:136
++#: config/rs6000/sysv4.opt:136 config/rs6000/darwin.opt:28
+ #, fuzzy
+ msgid "Generate 32-bit code"
+ msgstr "Стварыць код Ð´Ð»Ñ DLL"
+
++#: config/rs6000/sysv4.opt:144
++#, fuzzy
++msgid "Generate code to use a non-exec PLT and GOT"
++msgstr "Стварыць код Ð´Ð»Ñ DLL"
++
++#: config/rs6000/sysv4.opt:148
++#, fuzzy
++msgid "Generate code for old exec BSS PLT"
++msgstr "Стварыць код Ð´Ð»Ñ DLL"
++
++#: config/rs6000/linux64.opt:24
++msgid "Call mcount for profiling before a function prologue"
++msgstr ""
++
+ #: config/rs6000/darwin.opt:32
+ msgid "Generate code suitable for executables (NOT shared libs)"
+ msgstr ""
+
++#: config/rs6000/aix64.opt:24
++msgid "Compile for 64-bit pointers"
++msgstr ""
++
++#: config/rs6000/aix64.opt:28
++msgid "Compile for 32-bit pointers"
++msgstr ""
++
++#: config/rs6000/aix64.opt:32 config/rs6000/aix41.opt:24
++msgid "Support message passing with the Parallel Environment"
++msgstr ""
++
+ #: config/rs6000/rs6000.opt:24
+ msgid "Use POWER instruction set"
+ msgstr ""
+@@ -12837,6 +12894,10 @@
+ msgid "Return small structures in registers (SVR4 default)"
+ msgstr ""
+
++#: config/rs6000/rs6000.opt:147 config/rs6000/aix.opt:24
++msgid "Conform more closely to IBM XLC semantics"
++msgstr ""
++
+ #: config/rs6000/rs6000.opt:151
+ msgid "Generate software reciprocal sqrt for better throughput"
+ msgstr ""
+@@ -12902,6 +12963,10 @@
+ msgid "Specify ABI to use"
+ msgstr ""
+
++#: config/rs6000/rs6000.opt:222 config/sparc/sparc.opt:91
++msgid "Use features of and schedule code for given CPU"
++msgstr ""
++
+ #: config/rs6000/rs6000.opt:230
+ msgid "Select full, part, or no traceback table"
+ msgstr ""
+@@ -12939,98 +13004,79 @@
+ msgid "Specify scheduling priority for dispatch slot restricted insns"
+ msgstr ""
+
+-#: config/rs6000/aix64.opt:24
+-msgid "Compile for 64-bit pointers"
+-msgstr ""
++#: config/v850/v850.opt:23
++#, fuzzy
++msgid "Use registers r2 and r5"
++msgstr "невÑÐ´Ð¾Ð¼Ð°Ñ Ð½Ð°Ð·Ð²Ð° Ñ€ÑгіÑтра: %s"
+
+-#: config/rs6000/aix64.opt:28
+-msgid "Compile for 32-bit pointers"
++#: config/v850/v850.opt:27
++msgid "Use 4 byte entries in switch tables"
+ msgstr ""
+
+-#: config/rs6000/linux64.opt:24
+-msgid "Call mcount for profiling before a function prologue"
++#: config/v850/v850.opt:31
++msgid "Enable backend debugging"
+ msgstr ""
+
+-#: config/rs6000/sysv4.opt:24
+-msgid "Select ABI calling convention"
+-msgstr ""
++#: config/v850/v850.opt:35
++#, fuzzy
++msgid "Do not use the callt instruction"
++msgstr "Ðе генерыраваць ÑÑ–Ð¼Ð²Ð°Ð»ÑŒÐ½Ñ‹Ñ Ñ–Ð½Ñтрукцыі"
+
+-#: config/rs6000/sysv4.opt:28
+-msgid "Select method for sdata handling"
++#: config/v850/v850.opt:39
++msgid "Reuse r30 on a per function basis"
+ msgstr ""
+
+-#: config/rs6000/sysv4.opt:36 config/rs6000/sysv4.opt:40
+-msgid "Align to the base type of the bit-field"
++#: config/v850/v850.opt:43
++msgid "Support Green Hills ABI"
+ msgstr ""
+
+-#: config/rs6000/sysv4.opt:45 config/rs6000/sysv4.opt:49
+-msgid "Produce code relocatable at runtime"
++#: config/v850/v850.opt:47
++msgid "Prohibit PC relative function calls"
+ msgstr ""
+
+-#: config/rs6000/sysv4.opt:53 config/rs6000/sysv4.opt:57
+-msgid "Produce little endian code"
++#: config/v850/v850.opt:51
++msgid "Use stubs for function prologues"
+ msgstr ""
+
+-#: config/rs6000/sysv4.opt:61 config/rs6000/sysv4.opt:65
+-msgid "Produce big endian code"
++#: config/v850/v850.opt:55
++msgid "Set the max size of data eligible for the SDA area"
+ msgstr ""
+
+-#: config/rs6000/sysv4.opt:70 config/rs6000/sysv4.opt:74
+-#: config/rs6000/sysv4.opt:83 config/rs6000/sysv4.opt:100
+-#: config/rs6000/sysv4.opt:128 config/rs6000/sysv4.opt:140
+-msgid "no description yet"
+-msgstr ""
++#: config/v850/v850.opt:59
++#, fuzzy
++msgid "Enable the use of the short load instructions"
++msgstr "Ðе генерыраваць ÑÑ–Ð¼Ð²Ð°Ð»ÑŒÐ½Ñ‹Ñ Ñ–Ð½Ñтрукцыі"
+
+-#: config/rs6000/sysv4.opt:78
+-msgid "Assume all variable arg functions are prototyped"
++#: config/v850/v850.opt:63
++msgid "Same as: -mep -mprolog-function"
+ msgstr ""
+
+-#: config/rs6000/sysv4.opt:87
+-msgid "Use EABI"
++#: config/v850/v850.opt:67
++msgid "Set the max size of data eligible for the TDA area"
+ msgstr ""
+
+-#: config/rs6000/sysv4.opt:91
+-msgid "Allow bit-fields to cross word boundaries"
++#: config/v850/v850.opt:71
++msgid "Enforce strict alignment"
+ msgstr ""
+
+-#: config/rs6000/sysv4.opt:95
+-msgid "Use alternate register names"
+-msgstr "ВыкарыÑтоўвываць альтÑÑ€Ð½Ð°Ñ‚Ñ‹ÑžÐ½Ñ‹Ñ Ð½Ð°Ð·Ð²Ñ‹ Ñ€ÑгіÑтраў"
+-
+-#: config/rs6000/sysv4.opt:104
+-msgid "Link with libsim.a, libc.a and sim-crt0.o"
++#: config/v850/v850.opt:78
++msgid "Compile for the v850 processor"
+ msgstr ""
+
+-#: config/rs6000/sysv4.opt:108
+-msgid "Link with libads.a, libc.a and crt0.o"
+-msgstr ""
++#: config/v850/v850.opt:82
++#, fuzzy
++msgid "Compile for the v850e processor"
++msgstr "ÐÐ¿Ñ‚Ñ‹Ð¼Ñ–Ð·Ð°Ñ†Ñ‹Ñ Ð´Ð»Ñ F930 працÑÑараў"
+
+-#: config/rs6000/sysv4.opt:112
+-msgid "Link with libyk.a, libc.a and crt0.o"
+-msgstr ""
++#: config/v850/v850.opt:86
++#, fuzzy
++msgid "Compile for the v850e1 processor"
++msgstr "ÐÐ¿Ñ‚Ñ‹Ð¼Ñ–Ð·Ð°Ñ†Ñ‹Ñ Ð´Ð»Ñ F930 працÑÑараў"
+
+-#: config/rs6000/sysv4.opt:116
+-msgid "Link with libmvme.a, libc.a and crt0.o"
++#: config/v850/v850.opt:90
++msgid "Set the max size of data eligible for the ZDA area"
+ msgstr ""
+
+-#: config/rs6000/sysv4.opt:120
+-msgid "Set the PPC_EMB bit in the ELF flags header"
+-msgstr ""
+-
+-#: config/rs6000/sysv4.opt:124
+-msgid "Use the WindISS simulator"
+-msgstr ""
+-
+-#: config/rs6000/sysv4.opt:144
+-#, fuzzy
+-msgid "Generate code to use a non-exec PLT and GOT"
+-msgstr "Стварыць код Ð´Ð»Ñ DLL"
+-
+-#: config/rs6000/sysv4.opt:148
+-#, fuzzy
+-msgid "Generate code for old exec BSS PLT"
+-msgstr "Стварыць код Ð´Ð»Ñ DLL"
+-
+ #: config/spu/spu.opt:20
+ msgid "Emit warnings when run-time relocations are generated"
+ msgstr ""
+@@ -13070,846 +13116,1124 @@
+ msgid "Generate code for 32 bit addressing"
+ msgstr "Генерыраваць код Ð´Ð»Ñ Intel as"
+
+-#: config/mcore/mcore.opt:23
+-#, fuzzy
+-msgid "Generate code for the M*Core M210"
+-msgstr "Генерыраваць код Ð´Ð»Ñ Intel as"
+-
+-#: config/mcore/mcore.opt:27
+-msgid "Generate code for the M*Core M340"
++#: config/vax/vax.opt:23 config/vax/vax.opt:27
++msgid "Target DFLOAT double precision code"
+ msgstr ""
+
+-#: config/mcore/mcore.opt:31
+-msgid "Set maximum alignment to 4"
++#: config/vax/vax.opt:31 config/vax/vax.opt:35
++msgid "Generate GFLOAT double precision code"
+ msgstr ""
+
+-#: config/mcore/mcore.opt:35
+-msgid "Force functions to be aligned to a 4 byte boundary"
++#: config/vax/vax.opt:39
++#, fuzzy
++msgid "Generate code for GNU assembler (gas)"
++msgstr "Генерыраваць код Ð´Ð»Ñ GNU as"
++
++#: config/vax/vax.opt:43
++#, fuzzy
++msgid "Generate code for UNIX assembler"
++msgstr "Генерыраваць код Ð´Ð»Ñ GNU as"
++
++#: config/vax/vax.opt:47
++msgid "Use VAXC structure conventions"
+ msgstr ""
+
+-#: config/mcore/mcore.opt:39
+-msgid "Set maximum alignment to 8"
++#: config/lynx.opt:23
++msgid "Support legacy multi-threading"
+ msgstr ""
+
+-#: config/mcore/mcore.opt:43 config/score/score.opt:23
+-msgid "Generate big-endian code"
++#: config/lynx.opt:27
++#, fuzzy
++msgid "Use shared libraries"
++msgstr "ВыкарыÑтоўваць апаратную плаваючую кропку"
++
++#: config/lynx.opt:31
++msgid "Support multi-threading"
+ msgstr ""
+
+-#: config/mcore/mcore.opt:47
+-msgid "Emit call graph information"
++#: config/stormy16/stormy16.opt:24
++msgid "Provide libraries for the simulator"
+ msgstr ""
+
+-#: config/mcore/mcore.opt:51
++#: config/h8300/h8300.opt:23
+ #, fuzzy
+-msgid "Use the divide instruction"
+-msgstr "Ðе генерыраваць ÑÑ–Ð¼Ð²Ð°Ð»ÑŒÐ½Ñ‹Ñ Ñ–Ð½Ñтрукцыі"
++msgid "Generate H8S code"
++msgstr "Стварыць код Ð´Ð»Ñ DLL"
+
+-#: config/mcore/mcore.opt:55
+-msgid "Inline constants if it can be done in 2 insns or less"
++#: config/h8300/h8300.opt:27
++#, fuzzy
++msgid "Generate H8SX code"
++msgstr "Стварыць код Ð´Ð»Ñ DLL"
++
++#: config/h8300/h8300.opt:31
++msgid "Generate H8S/2600 code"
+ msgstr ""
+
+-#: config/mcore/mcore.opt:59 config/score/score.opt:27
+-msgid "Generate little-endian code"
++#: config/h8300/h8300.opt:35
++msgid "Make integers 32 bits wide"
+ msgstr ""
+
+-#: config/mcore/mcore.opt:67
+-msgid "Use arbitrary sized immediates in bit operations"
++#: config/h8300/h8300.opt:42
++msgid "Use registers for argument passing"
+ msgstr ""
+
+-#: config/mcore/mcore.opt:71
+-msgid "Prefer word accesses over byte accesses"
++#: config/h8300/h8300.opt:46
++msgid "Consider access to byte sized memory slow"
+ msgstr ""
+
+-#: config/mcore/mcore.opt:75
+-msgid "Set the maximum amount for a single stack increment operation"
++#: config/h8300/h8300.opt:50
++msgid "Enable linker relaxing"
+ msgstr ""
+
+-#: config/mcore/mcore.opt:79
+-msgid "Always treat bitfields as int-sized"
++#: config/h8300/h8300.opt:54
++msgid "Generate H8/300H code"
+ msgstr ""
+
+-#: config/arc/arc.opt:32
+-msgid "Prepend the name of the cpu to all public symbol names"
++#: config/h8300/h8300.opt:58
++msgid "Enable the normal mode"
+ msgstr ""
+
+-#: config/arc/arc.opt:42
+-msgid "Compile code for ARC variant CPU"
++#: config/h8300/h8300.opt:62
++msgid "Use H8/300 alignment rules"
+ msgstr ""
+
+-#: config/arc/arc.opt:46
+-msgid "Put functions in SECTION"
++#: config/s390/s390.opt:23
++msgid "31 bit ABI"
+ msgstr ""
+
+-#: config/arc/arc.opt:50
+-msgid "Put data in SECTION"
++#: config/s390/s390.opt:27
++msgid "64 bit ABI"
+ msgstr ""
+
+-#: config/arc/arc.opt:54
+-msgid "Put read-only data in SECTION"
++#: config/s390/s390.opt:35
++msgid "Maintain backchain pointer"
+ msgstr ""
+
+-#: config/sh/sh.opt:44
++#: config/s390/s390.opt:39
++msgid "Additional debug prints"
++msgstr ""
++
++#: config/s390/s390.opt:43
++msgid "ESA/390 architecture"
++msgstr ""
++
++#: config/s390/s390.opt:47
+ #, fuzzy
+-msgid "Generate SH1 code"
+-msgstr "Стварыць код Ð´Ð»Ñ DLL"
++msgid "Enable fused multiply/add instructions"
++msgstr "Ðе генерыраваць ÑÑ–Ð¼Ð²Ð°Ð»ÑŒÐ½Ñ‹Ñ Ñ–Ð½Ñтрукцыі"
+
+-#: config/sh/sh.opt:48
++#: config/s390/s390.opt:51
++msgid "Enable decimal floating point hardware support"
++msgstr ""
++
++#: config/s390/s390.opt:55
+ #, fuzzy
+-msgid "Generate SH2 code"
+-msgstr "Стварыць код Ð´Ð»Ñ DLL"
++msgid "Enable hardware floating point"
++msgstr "ВыкарыÑтоўваць апаратную \"плаваючую кропку\""
+
+-#: config/sh/sh.opt:52
++#: config/s390/s390.opt:67
++msgid "Use packed stack layout"
++msgstr ""
++
++#: config/s390/s390.opt:71
++msgid "Use bras for executable < 64k"
++msgstr ""
++
++#: config/s390/s390.opt:75
+ #, fuzzy
+-msgid "Generate SH2a code"
+-msgstr "Стварыць код Ð´Ð»Ñ DLL"
++msgid "Disable hardware floating point"
++msgstr "ВыкарыÑтоўваць апаратную \"плаваючую кропку\""
+
+-#: config/sh/sh.opt:56
+-msgid "Generate SH2a FPU-less code"
++#: config/s390/s390.opt:79
++msgid "Set the max. number of bytes which has to be left to stack size before a trap instruction is triggered"
+ msgstr ""
+
+-#: config/sh/sh.opt:60
+-msgid "Generate default single-precision SH2a code"
++#: config/s390/s390.opt:83
++msgid "Emit extra code in the function prologue in order to trap if the stack size exceeds the given limit"
+ msgstr ""
+
+-#: config/sh/sh.opt:64
+-msgid "Generate only single-precision SH2a code"
++#: config/s390/s390.opt:91
++msgid "mvcle use"
+ msgstr ""
+
+-#: config/sh/sh.opt:68
++#: config/s390/s390.opt:95
++msgid "Warn if a function uses alloca or creates an array with dynamic size"
++msgstr ""
++
++#: config/s390/s390.opt:99
++msgid "Warn if a single function's framesize exceeds the given framesize"
++msgstr ""
++
++#: config/s390/s390.opt:103
++msgid "z/Architecture"
++msgstr ""
++
++#: config/s390/tpf.opt:23
++msgid "Enable TPF-OS tracing code"
++msgstr ""
++
++#: config/s390/tpf.opt:27
++msgid "Specify main object for TPF-OS"
++msgstr ""
++
++#: config/darwin.opt:23
+ #, fuzzy
+-msgid "Generate SH2e code"
++msgid "Generate code suitable for fast turn around debugging"
+ msgstr "Стварыць код Ð´Ð»Ñ DLL"
+
+-#: config/sh/sh.opt:72
++#: config/darwin.opt:31
++msgid "The earliest MacOS X version on which this program will run"
++msgstr ""
++
++#: config/darwin.opt:35
++msgid "Set sizeof(bool) to 1"
++msgstr ""
++
++#: config/darwin.opt:39
+ #, fuzzy
+-msgid "Generate SH3 code"
+-msgstr "Стварыць код Ð´Ð»Ñ DLL"
++msgid "Generate code for darwin loadable kernel extensions"
++msgstr "Генерыраваць код Ð´Ð»Ñ Intel as"
+
+-#: config/sh/sh.opt:76
++#: config/darwin.opt:43
+ #, fuzzy
+-msgid "Generate SH3e code"
+-msgstr "Стварыць код Ð´Ð»Ñ DLL"
++msgid "Generate code for the kernel or loadable kernel extensions"
++msgstr "Генерыраваць код Ð´Ð»Ñ Ð´Ð°Ð´Ð·ÐµÐ½Ð°Ð³Ð° ЦП"
+
+-#: config/sh/sh.opt:80
++#: config/darwin.opt:47
++msgid "Add <dir> to the end of the system framework include path"
++msgstr ""
++
++#: config/mn10300/mn10300.opt:23
++msgid "Target the AM33 processor"
++msgstr "ÐœÑта - AM33 працÑÑар"
++
++#: config/mn10300/mn10300.opt:27
+ #, fuzzy
+-msgid "Generate SH4 code"
+-msgstr "Стварыць код Ð´Ð»Ñ DLL"
++msgid "Target the AM33/2.0 processor"
++msgstr "ÐœÑта - AM33 працÑÑар"
+
+-#: config/sh/sh.opt:84
+-msgid "Generate SH4-100 code"
++#: config/mn10300/mn10300.opt:31
++msgid "Work around hardware multiply bug"
+ msgstr ""
+
+-#: config/sh/sh.opt:88
+-msgid "Generate SH4-200 code"
++#: config/mn10300/mn10300.opt:36
++msgid "Enable linker relaxations"
+ msgstr ""
+
+-#: config/sh/sh.opt:94
+-msgid "Generate SH4-300 code"
++#: config/mn10300/mn10300.opt:40
++msgid "Return pointers in both a0 and d0"
+ msgstr ""
+
+-#: config/sh/sh.opt:98
+-msgid "Generate SH4 FPU-less code"
++#: config/m32r/m32r.opt:23
++msgid "Compile for the m32rx"
+ msgstr ""
+
+-#: config/sh/sh.opt:102
+-msgid "Generate SH4-100 FPU-less code"
++#: config/m32r/m32r.opt:27
++msgid "Compile for the m32r2"
+ msgstr ""
+
+-#: config/sh/sh.opt:106
+-msgid "Generate SH4-200 FPU-less code"
++#: config/m32r/m32r.opt:31
++msgid "Compile for the m32r"
+ msgstr ""
+
+-#: config/sh/sh.opt:110
+-msgid "Generate SH4-300 FPU-less code"
++#: config/m32r/m32r.opt:35
++msgid "Align all loops to 32 byte boundary"
+ msgstr ""
+
+-#: config/sh/sh.opt:114
+-#, fuzzy
+-msgid "Generate code for SH4 340 series (MMU/FPU-less)"
+-msgstr "Генерыраваць код Ð´Ð»Ñ Ð´Ð°Ð´Ð·ÐµÐ½Ð°Ð³Ð° ЦП"
++#: config/m32r/m32r.opt:39
++msgid "Prefer branches over conditional execution"
++msgstr ""
+
+-#: config/sh/sh.opt:119
+-#, fuzzy
+-msgid "Generate code for SH4 400 series (MMU/FPU-less)"
+-msgstr "Генерыраваць код Ð´Ð»Ñ Ð´Ð°Ð´Ð·ÐµÐ½Ð°Ð³Ð° ЦП"
++#: config/m32r/m32r.opt:43
++msgid "Give branches their default cost"
++msgstr ""
+
+-#: config/sh/sh.opt:124
+-#, fuzzy
+-msgid "Generate code for SH4 500 series (FPU-less)."
+-msgstr "Генерыраваць код Ð´Ð»Ñ Ð´Ð°Ð´Ð·ÐµÐ½Ð°Ð³Ð° ЦП"
++#: config/m32r/m32r.opt:47
++msgid "Display compile time statistics"
++msgstr ""
+
+-#: config/sh/sh.opt:129
+-msgid "Generate default single-precision SH4 code"
++#: config/m32r/m32r.opt:51
++msgid "Specify cache flush function"
+ msgstr ""
+
+-#: config/sh/sh.opt:133
+-msgid "Generate default single-precision SH4-100 code"
++#: config/m32r/m32r.opt:55
++msgid "Specify cache flush trap number"
+ msgstr ""
+
+-#: config/sh/sh.opt:137
+-msgid "Generate default single-precision SH4-200 code"
++#: config/m32r/m32r.opt:59
++msgid "Only issue one instruction per cycle"
+ msgstr ""
+
+-#: config/sh/sh.opt:141
+-msgid "Generate default single-precision SH4-300 code"
++#: config/m32r/m32r.opt:63
++msgid "Allow two instructions to be issued per cycle"
+ msgstr ""
+
+-#: config/sh/sh.opt:145
+-msgid "Generate only single-precision SH4 code"
++#: config/m32r/m32r.opt:67
++msgid "Code size: small, medium or large"
+ msgstr ""
+
+-#: config/sh/sh.opt:149
+-msgid "Generate only single-precision SH4-100 code"
++#: config/m32r/m32r.opt:71
++msgid "Don't call any cache flush functions"
+ msgstr ""
+
+-#: config/sh/sh.opt:153
+-msgid "Generate only single-precision SH4-200 code"
++#: config/m32r/m32r.opt:75
++msgid "Don't call any cache flush trap"
+ msgstr ""
+
+-#: config/sh/sh.opt:157
+-msgid "Generate only single-precision SH4-300 code"
++#: config/m32r/m32r.opt:82
++msgid "Small data area: none, sdata, use"
+ msgstr ""
+
+-#: config/sh/sh.opt:161
+-#, fuzzy
+-msgid "Generate SH4a code"
+-msgstr "Стварыць код Ð´Ð»Ñ DLL"
++#: config/arc/arc.opt:32
++msgid "Prepend the name of the cpu to all public symbol names"
++msgstr ""
+
+-#: config/sh/sh.opt:165
+-msgid "Generate SH4a FPU-less code"
++#: config/arc/arc.opt:42
++msgid "Compile code for ARC variant CPU"
+ msgstr ""
+
+-#: config/sh/sh.opt:169
+-msgid "Generate default single-precision SH4a code"
++#: config/arc/arc.opt:46
++msgid "Put functions in SECTION"
+ msgstr ""
+
+-#: config/sh/sh.opt:173
+-msgid "Generate only single-precision SH4a code"
++#: config/arc/arc.opt:50
++msgid "Put data in SECTION"
+ msgstr ""
+
+-#: config/sh/sh.opt:177
+-msgid "Generate SH4al-dsp code"
++#: config/arc/arc.opt:54
++msgid "Put read-only data in SECTION"
+ msgstr ""
+
+-#: config/sh/sh.opt:181
+-msgid "Generate 32-bit SHmedia code"
++#: config/m32c/m32c.opt:24 config/mt/mt.opt:27 config/bfin/bfin.opt:23
++msgid "Use simulator runtime"
+ msgstr ""
+
+-#: config/sh/sh.opt:185
+-msgid "Generate 32-bit FPU-less SHmedia code"
++#: config/m32c/m32c.opt:28
++msgid "Compile code for R8C variants"
+ msgstr ""
+
+-#: config/sh/sh.opt:189
+-msgid "Generate 64-bit SHmedia code"
++#: config/m32c/m32c.opt:32
++msgid "Compile code for M16C variants"
+ msgstr ""
+
+-#: config/sh/sh.opt:193
+-msgid "Generate 64-bit FPU-less SHmedia code"
++#: config/m32c/m32c.opt:36
++msgid "Compile code for M32CM variants"
+ msgstr ""
+
+-#: config/sh/sh.opt:197
+-msgid "Generate SHcompact code"
++#: config/m32c/m32c.opt:40
++msgid "Compile code for M32C variants"
+ msgstr ""
+
+-#: config/sh/sh.opt:201
+-msgid "Generate FPU-less SHcompact code"
++#: config/m32c/m32c.opt:44
++msgid "Number of memreg bytes (default: 16, range: 0..16)"
+ msgstr ""
+
+-#: config/sh/sh.opt:205
+-msgid "Throttle unrolling to avoid thrashing target registers unless the unroll benefit outweighs this"
++#: config/pdp11/pdp11.opt:23
++msgid "Generate code for an 11/10"
+ msgstr ""
+
+-#: config/sh/sh.opt:209
++#: config/pdp11/pdp11.opt:27
++msgid "Generate code for an 11/40"
++msgstr ""
++
++#: config/pdp11/pdp11.opt:31
++msgid "Generate code for an 11/45"
++msgstr ""
++
++#: config/pdp11/pdp11.opt:35
+ #, fuzzy
+-msgid "Generate code in big endian mode"
+-msgstr "Генерыраваць код Ð´Ð»Ñ Ð´Ð°Ð´Ð·ÐµÐ½Ð°Ð³Ð° ЦП"
++msgid "Use 16-bit abs patterns"
++msgstr "ВыкарыÑтоўваць 64-Ð±Ñ–Ñ‚Ð½Ñ‹Ñ FP-Ñ€ÑгіÑтры"
+
+-#: config/sh/sh.opt:213
+-msgid "Generate 32-bit offsets in switch tables"
++#: config/pdp11/pdp11.opt:39
++msgid "Return floating-point results in ac0 (fr0 in Unix assembler syntax)"
+ msgstr ""
+
+-#: config/sh/sh.opt:217
+-msgid "Cost to assume for a branch insn"
++#: config/pdp11/pdp11.opt:43
++msgid "Do not use inline patterns for copying memory"
+ msgstr ""
+
+-#: config/sh/sh.opt:221
+-msgid "Enable cbranchdi4 pattern"
++#: config/pdp11/pdp11.opt:47
++msgid "Use inline patterns for copying memory"
+ msgstr ""
+
+-#: config/sh/sh.opt:225
+-msgid "Expand cbranchdi4 pattern early into separate comparisons and branches."
++#: config/pdp11/pdp11.opt:51
++msgid "Do not pretend that branches are expensive"
+ msgstr ""
+
+-#: config/sh/sh.opt:229
+-msgid "Emit cmpeqdi_t pattern even when -mcbranchdi and -mexpand-cbranchdi are in effect."
++#: config/pdp11/pdp11.opt:55
++msgid "Pretend that branches are expensive"
+ msgstr ""
+
+-#: config/sh/sh.opt:233
+-msgid "Enable SH5 cut2 workaround"
++#: config/pdp11/pdp11.opt:59
++#, fuzzy
++msgid "Use the DEC assembler syntax"
++msgstr "ВыкарыÑтоўваць DEC-ÑÑ–Ð½Ñ‚Ð°ÐºÑ Ð´Ð»Ñ Ð°ÑÑмблера"
++
++#: config/pdp11/pdp11.opt:63
++msgid "Use 32 bit float"
++msgstr "ВыкарыÑтоўваць 32-Ñ… бітны float"
++
++#: config/pdp11/pdp11.opt:67
++msgid "Use 64 bit float"
++msgstr "ВыкарыÑтоўваць 64-Ñ… бітны float"
++
++#: config/pdp11/pdp11.opt:75
++msgid "Use 16 bit int"
++msgstr "ВыкарыÑтоўваць 16-ці бітны int"
++
++#: config/pdp11/pdp11.opt:79
++msgid "Use 32 bit int"
++msgstr "ВыкарыÑтоўваць 32-Ñ… бітны int"
++
++#: config/pdp11/pdp11.opt:87
++msgid "Target has split I&D"
+ msgstr ""
+
+-#: config/sh/sh.opt:237
+-msgid "Align doubles at 64-bit boundaries"
++#: config/pdp11/pdp11.opt:91
++msgid "Use UNIX assembler syntax"
++msgstr "ВыкарыÑтоўваць UNIX-ÑÑ–Ð½Ñ‚Ð°ÐºÑ Ð´Ð»Ñ Ð°ÑÑмблера"
++
++#: config/m68k/m68k.opt:23
++msgid "Generate code for a 520X"
++msgstr "Ствараць код Ð´Ð»Ñ 520X"
++
++#: config/m68k/m68k.opt:27
++#, fuzzy
++msgid "Generate code for a 5206e"
++msgstr "Ствараць код Ð´Ð»Ñ 520X"
++
++#: config/m68k/m68k.opt:31
++#, fuzzy
++msgid "Generate code for a 528x"
++msgstr "Ствараць код Ð´Ð»Ñ 520X"
++
++#: config/m68k/m68k.opt:35
++#, fuzzy
++msgid "Generate code for a 5307"
++msgstr "Ствараць код Ð´Ð»Ñ 520X"
++
++#: config/m68k/m68k.opt:39
++#, fuzzy
++msgid "Generate code for a 5407"
++msgstr "Ствараць код Ð´Ð»Ñ 520X"
++
++#: config/m68k/m68k.opt:43 config/m68k/m68k.opt:104
++msgid "Generate code for a 68000"
++msgstr "Ствараць код Ð´Ð»Ñ 68000"
++
++#: config/m68k/m68k.opt:47
++#, fuzzy
++msgid "Generate code for a 68010"
++msgstr "Ствараць код Ð´Ð»Ñ 68020"
++
++#: config/m68k/m68k.opt:51 config/m68k/m68k.opt:108
++msgid "Generate code for a 68020"
++msgstr "Ствараць код Ð´Ð»Ñ 68020"
++
++#: config/m68k/m68k.opt:55
++msgid "Generate code for a 68040, without any new instructions"
+ msgstr ""
+
+-#: config/sh/sh.opt:241
+-msgid "Division strategy, one of: call, call2, fp, inv, inv:minlat, inv20u, inv20l, inv:call, inv:call2, inv:fp, call-div1, call-fp, call-table"
++#: config/m68k/m68k.opt:59
++msgid "Generate code for a 68060, without any new instructions"
+ msgstr ""
+
+-#: config/sh/sh.opt:245
+-msgid "Specify name for 32 bit signed division function"
++#: config/m68k/m68k.opt:63
++msgid "Generate code for a 68030"
++msgstr "Ствараць код Ð´Ð»Ñ 68030"
++
++#: config/m68k/m68k.opt:67
++msgid "Generate code for a 68040"
++msgstr "Ствараць код Ð´Ð»Ñ 68040"
++
++#: config/m68k/m68k.opt:71
++msgid "Generate code for a 68060"
++msgstr "Ствараць код Ð´Ð»Ñ 68060"
++
++#: config/m68k/m68k.opt:75
++msgid "Generate code for a 68302"
++msgstr "Ствараць код Ð´Ð»Ñ 68302"
++
++#: config/m68k/m68k.opt:79
++msgid "Generate code for a 68332"
++msgstr "Ствараць код Ð´Ð»Ñ 68332"
++
++#: config/m68k/m68k.opt:84
++msgid "Generate code for a 68851"
++msgstr "Ствараць код Ð´Ð»Ñ 68851"
++
++#: config/m68k/m68k.opt:88
++msgid "Generate code that uses 68881 floating-point instructions"
+ msgstr ""
+
+-#: config/sh/sh.opt:252
+-msgid "Enable the use of the fused floating point multiply-accumulate operation"
++#: config/m68k/m68k.opt:92
++msgid "Align variables on a 32-bit boundary"
+ msgstr ""
+
+-#: config/sh/sh.opt:256
+-msgid "Cost to assume for gettr insn"
++#: config/m68k/m68k.opt:100
++msgid "Use the bit-field instructions"
+ msgstr ""
+
+-#: config/sh/sh.opt:260 config/sh/sh.opt:310
+-msgid "Follow Renesas (formerly Hitachi) / SuperH calling conventions"
++#: config/m68k/m68k.opt:112
++#, fuzzy
++msgid "Generate code for a ColdFire v4e"
++msgstr "Генерыраваць код Ð´Ð»Ñ GNU ld"
++
++#: config/m68k/m68k.opt:116
++msgid "Specify the target CPU"
+ msgstr ""
+
+-#: config/sh/sh.opt:264
+-msgid "Increase the IEEE compliance for floating-point code"
++#: config/m68k/m68k.opt:120
++msgid "Generate code for a cpu32"
++msgstr "Ствараць код Ð´Ð»Ñ Ñ†Ð¿32"
++
++#: config/m68k/m68k.opt:124
++msgid "Use hardware division instructions on ColdFire"
+ msgstr ""
+
+-#: config/sh/sh.opt:268
+-msgid "Enable the use of the indexed addressing mode for SHmedia32/SHcompact"
++#: config/m68k/m68k.opt:128
++#, fuzzy
++msgid "Generate code for a Fido A"
++msgstr "Стварыць код Ð´Ð»Ñ DLL"
++
++#: config/m68k/m68k.opt:132
++msgid "Generate code which uses hardware floating point instructions"
+ msgstr ""
+
+-#: config/sh/sh.opt:272
+-msgid "inline code to invalidate instruction cache entries after setting up nested function trampolines"
++#: config/m68k/m68k.opt:136
++msgid "Enable ID based shared library"
+ msgstr ""
+
+-#: config/sh/sh.opt:276
+-msgid "Assume symbols might be invalid"
++#: config/m68k/m68k.opt:140
++#, fuzzy
++msgid "Do not use the bit-field instructions"
++msgstr "Ðе генерыраваць ÑÑ–Ð¼Ð²Ð°Ð»ÑŒÐ½Ñ‹Ñ Ñ–Ð½Ñтрукцыі"
++
++#: config/m68k/m68k.opt:144
++msgid "Use normal calling convention"
+ msgstr ""
+
+-#: config/sh/sh.opt:280
+-msgid "Annotate assembler instructions with estimated addresses"
++#: config/m68k/m68k.opt:148
++msgid "Consider type 'int' to be 32 bits wide"
+ msgstr ""
+
+-#: config/sh/sh.opt:284
+-#, fuzzy
+-msgid "Generate code in little endian mode"
+-msgstr "Генерыраваць код без GP reg"
++#: config/m68k/m68k.opt:152
++msgid "Generate pc-relative code"
++msgstr ""
+
+-#: config/sh/sh.opt:288
+-msgid "Mark MAC register as call-clobbered"
++#: config/m68k/m68k.opt:156
++msgid "Use different calling convention using 'rtd'"
+ msgstr ""
+
+-#: config/sh/sh.opt:294
+-msgid "Make structs a multiple of 4 bytes (warning: ABI altered)"
++#: config/m68k/m68k.opt:160 config/bfin/bfin.opt:61
++msgid "Enable separate data segment"
+ msgstr ""
+
+-#: config/sh/sh.opt:298
+-msgid "Emit function-calls using global offset table when generating PIC"
++#: config/m68k/m68k.opt:164 config/bfin/bfin.opt:57
++msgid "ID of shared library to build"
+ msgstr ""
+
+-#: config/sh/sh.opt:302
+-msgid "Assume pt* instructions won't trap"
++#: config/m68k/m68k.opt:168
++msgid "Consider type 'int' to be 16 bits wide"
+ msgstr ""
+
+-#: config/sh/sh.opt:306
+-msgid "Shorten address references during linking"
++#: config/m68k/m68k.opt:172
++msgid "Generate code with library calls for floating point"
+ msgstr ""
+
+-#: config/sh/sh.opt:314
+-msgid "Deprecated. Use -Os instead"
++#: config/m68k/m68k.opt:176
++msgid "Do not use unaligned memory references"
+ msgstr ""
+
+-#: config/sh/sh.opt:318
+-msgid "Cost to assume for a multiply insn"
++#: config/m68k/m68k.opt:180
++msgid "Tune for the specified target CPU or architecture"
+ msgstr ""
+
+-#: config/sh/sh.opt:322
+-msgid "Don't generate privileged-mode only code; implies -mno-inline-ic_invalidate if the inline code would not work in user mode."
++#: config/mmix/mmix.opt:24
++msgid "For intrinsics library: pass all parameters in registers"
+ msgstr ""
+
+-#: config/sh/sh.opt:328
+-msgid "Pretend a branch-around-a-move is a conditional move."
++#: config/mmix/mmix.opt:28
++msgid "Use register stack for parameters and return value"
+ msgstr ""
+
+-#: config/sh/superh.opt:6
+-msgid "Board name [and memory region]."
++#: config/mmix/mmix.opt:32
++msgid "Use call-clobbered registers for parameters and return value"
+ msgstr ""
+
+-#: config/sh/superh.opt:10
+-msgid "Runtime name."
++#: config/mmix/mmix.opt:37
++msgid "Use epsilon-respecting floating point compare instructions"
+ msgstr ""
+
+-#: config/arm/arm.opt:23
+-msgid "Specify an ABI"
++#: config/mmix/mmix.opt:41
++msgid "Use zero-extending memory loads, not sign-extending ones"
+ msgstr ""
+
+-#: config/arm/arm.opt:27
+-msgid "Generate a call to abort if a noreturn function returns"
++#: config/mmix/mmix.opt:45
++msgid "Generate divide results with reminder having the same sign as the divisor (not the dividend)"
+ msgstr ""
+
+-#: config/arm/arm.opt:34
+-msgid "Pass FP arguments in FP registers"
++#: config/mmix/mmix.opt:49
++msgid "Prepend global symbols with \":\" (for use with PREFIX)"
+ msgstr ""
+
+-#: config/arm/arm.opt:38
+-msgid "Generate APCS conformant stack frames"
++#: config/mmix/mmix.opt:53
++msgid "Do not provide a default start-address 0x100 of the program"
+ msgstr ""
+
+-#: config/arm/arm.opt:42
+-msgid "Generate re-entrant, PIC code"
++#: config/mmix/mmix.opt:57
++msgid "Link to emit program in ELF format (rather than mmo)"
+ msgstr ""
+
+-#: config/arm/arm.opt:56
+-msgid "Assume target CPU is configured as big endian"
++#: config/mmix/mmix.opt:61
++msgid "Use P-mnemonics for branches statically predicted as taken"
+ msgstr ""
+
+-#: config/arm/arm.opt:60
+-msgid "Thumb: Assume non-static functions may be called from ARM code"
++#: config/mmix/mmix.opt:65
++msgid "Don't use P-mnemonics for branches"
+ msgstr ""
+
+-#: config/arm/arm.opt:64
+-msgid "Thumb: Assume function pointers may go to non-Thumb aware code"
++#: config/mmix/mmix.opt:79
++msgid "Use addresses that allocate global registers"
+ msgstr ""
+
+-#: config/arm/arm.opt:68
+-msgid "Cirrus: Place NOPs to avoid invalid instruction combinations"
++#: config/mmix/mmix.opt:83
++msgid "Do not use addresses that allocate global registers"
+ msgstr ""
+
+-#: config/arm/arm.opt:72 config/bfin/bfin.opt:27
+-msgid "Specify the name of the target CPU"
++#: config/mmix/mmix.opt:87
++msgid "Generate a single exit point for each function"
+ msgstr ""
+
+-#: config/arm/arm.opt:76
+-msgid "Specify if floating point hardware should be used"
++#: config/mmix/mmix.opt:91
++#, fuzzy
++msgid "Do not generate a single exit point for each function"
++msgstr "Ðе генерыраваць ÑÑ–Ð¼Ð²Ð°Ð»ÑŒÐ½Ñ‹Ñ Ñ–Ð½Ñтрукцыі"
++
++#: config/mmix/mmix.opt:95
++msgid "Set start-address of the program"
+ msgstr ""
+
+-#: config/arm/arm.opt:90
+-msgid "Specify the name of the target floating point hardware/format"
++#: config/mmix/mmix.opt:99
++msgid "Set start-address of data"
+ msgstr ""
+
+-#: config/arm/arm.opt:94
+-msgid "Alias for -mfloat-abi=hard"
++#: config/score/score.opt:31
++#, fuzzy
++msgid "Disable bcnz instruction"
++msgstr "Ðе выкарыÑтоўваць інÑтрукцыі AltiVec"
++
++#: config/score/score.opt:35
++msgid "Enable unaligned load/store instruction"
+ msgstr ""
+
+-#: config/arm/arm.opt:98
+-msgid "Assume target CPU is configured as little endian"
++#: config/score/score.opt:39
++msgid "Support SCORE 5 ISA"
+ msgstr ""
+
+-#: config/arm/arm.opt:102
+-msgid "Generate call insns as indirect calls, if necessary"
++#: config/score/score.opt:43
++msgid "Support SCORE 5U ISA"
+ msgstr ""
+
+-#: config/arm/arm.opt:106
+-msgid "Specify the register to be used for PIC addressing"
++#: config/score/score.opt:47
++msgid "Support SCORE 7 ISA"
+ msgstr ""
+
+-#: config/arm/arm.opt:110
+-msgid "Store function names in object code"
++#: config/score/score.opt:51
++msgid "Support SCORE 7D ISA"
+ msgstr ""
+
+-#: config/arm/arm.opt:114
+-msgid "Permit scheduling of a function's prologue sequence"
++#: config/score/score.opt:55
++msgid "Support SCORE 3 ISA"
+ msgstr ""
+
+-#: config/arm/arm.opt:118
+-msgid "Do not load the PIC register in function prologues"
++#: config/score/score.opt:59
++msgid "Support SCORE 3d ISA"
+ msgstr ""
+
+-#: config/arm/arm.opt:122
+-msgid "Alias for -mfloat-abi=soft"
++#: config/crx/crx.opt:23
++#, fuzzy
++msgid "Support multiply accumulate instructions"
++msgstr "Ðе выкарыÑтоўваць інÑтрукцыі AltiVec"
++
++#: config/crx/crx.opt:27
++#, fuzzy
++msgid "Do not use push to store function arguments"
++msgstr "Ðе генерыраваць ÑÑ–Ð¼Ð²Ð°Ð»ÑŒÐ½Ñ‹Ñ Ñ–Ð½Ñтрукцыі"
++
++#: config/crx/crx.opt:31
++msgid "Restrict doloop to the given nesting level"
+ msgstr ""
+
+-#: config/arm/arm.opt:126
+-msgid "Specify the minimum bit alignment of structures"
++#: config/mt/mt.opt:23
++msgid "Use byte loads and stores when generating code."
+ msgstr ""
+
+-#: config/arm/arm.opt:130
+-msgid "Compile for the Thumb not the ARM"
++#: config/mt/mt.opt:31
++msgid "Do not include crt0.o in the startup files"
+ msgstr ""
+
+-#: config/arm/arm.opt:134
+-msgid "Support calls between Thumb and ARM instruction sets"
++#: config/mt/mt.opt:35 config/mt/mt.opt:39 config/mt/mt.opt:43
++#: config/mt/mt.opt:47 config/mt/mt.opt:51
++msgid "Internal debug switch"
+ msgstr ""
+
+-#: config/arm/arm.opt:138
+-msgid "Specify how to access the thread pointer"
++#: config/m68hc11/m68hc11.opt:23 config/m68hc11/m68hc11.opt:31
++msgid "Compile for a 68HC11"
+ msgstr ""
+
+-#: config/arm/arm.opt:142
+-msgid "Thumb: Generate (non-leaf) stack frames even if not needed"
++#: config/m68hc11/m68hc11.opt:27 config/m68hc11/m68hc11.opt:35
++msgid "Compile for a 68HC12"
+ msgstr ""
+
+-#: config/arm/arm.opt:146
+-msgid "Thumb: Generate (leaf) stack frames even if not needed"
++#: config/m68hc11/m68hc11.opt:41 config/m68hc11/m68hc11.opt:45
++msgid "Compile for a 68HCS12"
+ msgstr ""
+
+-#: config/arm/arm.opt:150
+-#, fuzzy
+-msgid "Tune code for the given processor"
+-msgstr "Генерыраваць код Ð´Ð»Ñ Ð´Ð°Ð´Ð·ÐµÐ½Ð°Ð³Ð° ЦП"
++#: config/m68hc11/m68hc11.opt:49
++msgid "Auto pre/post decrement increment allowed"
++msgstr ""
+
+-#: config/arm/arm.opt:154
+-msgid "Assume big endian bytes, little endian words"
++#: config/m68hc11/m68hc11.opt:53
++msgid "Min/max instructions allowed"
+ msgstr ""
+
+-#: config/arm/arm.opt:158
+-msgid "Use Neon quad-word (rather than double-word) registers for vectorization"
++#: config/m68hc11/m68hc11.opt:57
++msgid "Use call and rtc for function calls and returns"
+ msgstr ""
+
+-#: config/arm/pe.opt:23
+-msgid "Ignore dllimport attribute for functions"
++#: config/m68hc11/m68hc11.opt:61
++msgid "Auto pre/post decrement increment not allowed"
+ msgstr ""
+
+-#: config/pdp11/pdp11.opt:23
+-msgid "Generate code for an 11/10"
++#: config/m68hc11/m68hc11.opt:65
++msgid "Use jsr and rts for function calls and returns"
+ msgstr ""
+
+-#: config/pdp11/pdp11.opt:27
+-msgid "Generate code for an 11/40"
++#: config/m68hc11/m68hc11.opt:69
++msgid "Min/max instructions not allowed"
+ msgstr ""
+
+-#: config/pdp11/pdp11.opt:31
+-msgid "Generate code for an 11/45"
++#: config/m68hc11/m68hc11.opt:73
++msgid "Use direct addressing mode for soft registers"
+ msgstr ""
+
+-#: config/pdp11/pdp11.opt:35
+-#, fuzzy
+-msgid "Use 16-bit abs patterns"
+-msgstr "ВыкарыÑтоўваць 64-Ð±Ñ–Ñ‚Ð½Ñ‹Ñ FP-Ñ€ÑгіÑтры"
++#: config/m68hc11/m68hc11.opt:77
++msgid "Compile with 32-bit integer mode"
++msgstr ""
+
+-#: config/pdp11/pdp11.opt:39
+-msgid "Return floating-point results in ac0 (fr0 in Unix assembler syntax)"
++#: config/m68hc11/m68hc11.opt:82
++msgid "Specify the register allocation order"
+ msgstr ""
+
+-#: config/pdp11/pdp11.opt:43
+-msgid "Do not use inline patterns for copying memory"
++#: config/m68hc11/m68hc11.opt:86
++msgid "Do not use direct addressing mode for soft registers"
+ msgstr ""
+
+-#: config/pdp11/pdp11.opt:47
+-msgid "Use inline patterns for copying memory"
++#: config/m68hc11/m68hc11.opt:90
++msgid "Compile with 16-bit integer mode"
+ msgstr ""
+
+-#: config/pdp11/pdp11.opt:51
+-msgid "Do not pretend that branches are expensive"
++#: config/m68hc11/m68hc11.opt:94
++msgid "Indicate the number of soft registers available"
+ msgstr ""
+
+-#: config/pdp11/pdp11.opt:55
+-msgid "Pretend that branches are expensive"
++#: config/fr30/fr30.opt:23
++msgid "Assume small address space"
+ msgstr ""
+
+-#: config/pdp11/pdp11.opt:59
++#: config/sparc/little-endian.opt:23
+ #, fuzzy
+-msgid "Use the DEC assembler syntax"
+-msgstr "ВыкарыÑтоўваць DEC-ÑÑ–Ð½Ñ‚Ð°ÐºÑ Ð´Ð»Ñ Ð°ÑÑмблера"
++msgid "Generate code for little-endian"
++msgstr "Генерыраваць код Ð´Ð»Ñ Intel as"
+
+-#: config/pdp11/pdp11.opt:63
+-msgid "Use 32 bit float"
+-msgstr "ВыкарыÑтоўваць 32-Ñ… бітны float"
++#: config/sparc/little-endian.opt:27
++#, fuzzy
++msgid "Generate code for big-endian"
++msgstr "Генерыраваць код Ð´Ð»Ñ Ð´Ð°Ð´Ð·ÐµÐ½Ð°Ð³Ð° ЦП"
+
+-#: config/pdp11/pdp11.opt:67
+-msgid "Use 64 bit float"
+-msgstr "ВыкарыÑтоўваць 64-Ñ… бітны float"
++#: config/sparc/sparc.opt:23 config/sparc/sparc.opt:27
++#, fuzzy
++msgid "Use hardware FP"
++msgstr "ВыкарыÑтоўваць апаратную плаваючую кропку"
+
+-#: config/pdp11/pdp11.opt:75
+-msgid "Use 16 bit int"
+-msgstr "ВыкарыÑтоўваць 16-ці бітны int"
++#: config/sparc/sparc.opt:31
++#, fuzzy
++msgid "Do not use hardware FP"
++msgstr "Ðе выкарыÑтоўваць апаратную плаваючую кропку"
+
+-#: config/pdp11/pdp11.opt:79
+-msgid "Use 32 bit int"
+-msgstr "ВыкарыÑтоўваць 32-Ñ… бітны int"
++#: config/sparc/sparc.opt:35
++msgid "Assume possible double misalignment"
++msgstr ""
+
+-#: config/pdp11/pdp11.opt:87
+-msgid "Target has split I&D"
++#: config/sparc/sparc.opt:39
++msgid "Pass -assert pure-text to linker"
+ msgstr ""
+
+-#: config/pdp11/pdp11.opt:91
+-msgid "Use UNIX assembler syntax"
+-msgstr "ВыкарыÑтоўваць UNIX-ÑÑ–Ð½Ñ‚Ð°ÐºÑ Ð´Ð»Ñ Ð°ÑÑмблера"
++#: config/sparc/sparc.opt:43
++msgid "Use ABI reserved registers"
++msgstr ""
+
+-#: config/avr/avr.opt:23
+-msgid "Use subroutines for function prologues and epilogues"
++#: config/sparc/sparc.opt:47
++#, fuzzy
++msgid "Use hardware quad FP instructions"
++msgstr "ВыкарыÑтоўваць апаратную \"плаваючую кропку\""
++
++#: config/sparc/sparc.opt:51
++msgid "Do not use hardware quad fp instructions"
+ msgstr ""
+
+-#: config/avr/avr.opt:27
+-msgid "Select the target MCU"
++#: config/sparc/sparc.opt:55
++msgid "Compile for V8+ ABI"
+ msgstr ""
+
+-#: config/avr/avr.opt:34
+-#, fuzzy
+-msgid "Use an 8-bit 'int' type"
+-msgstr "ВыкарыÑтоўваць 32-Ñ… бітны int"
++#: config/sparc/sparc.opt:59
++msgid "Use UltraSPARC Visual Instruction Set extensions"
++msgstr ""
+
+-#: config/avr/avr.opt:38
+-msgid "Change the stack pointer without disabling interrupts"
++#: config/sparc/sparc.opt:63
++msgid "Pointers are 64-bit"
+ msgstr ""
+
+-#: config/avr/avr.opt:42
+-msgid "Do not generate tablejump insns"
++#: config/sparc/sparc.opt:67
++msgid "Pointers are 32-bit"
+ msgstr ""
+
+-#: config/avr/avr.opt:52
+-msgid "Use rjmp/rcall (limited range) on >8K devices"
++#: config/sparc/sparc.opt:71
++msgid "Use 64-bit ABI"
+ msgstr ""
+
+-#: config/avr/avr.opt:56
+-msgid "Output instruction sizes to the asm file"
++#: config/sparc/sparc.opt:75
++msgid "Use 32-bit ABI"
+ msgstr ""
+
+-#: config/avr/avr.opt:60
+-msgid "Change only the low 8 bits of the stack pointer"
++#: config/sparc/sparc.opt:79
++msgid "Use stack bias"
+ msgstr ""
+
+-#: config/crx/crx.opt:23
++#: config/sparc/sparc.opt:83
++msgid "Use structs on stronger alignment for double-word copies"
++msgstr ""
++
++#: config/sparc/sparc.opt:87
++msgid "Optimize tail call instructions in assembler and linker"
++msgstr ""
++
++#: config/sparc/sparc.opt:99
++msgid "Use given SPARC-V9 code model"
++msgstr ""
++
++#: config/sparc/sparc.opt:103
++msgid "Enable strict 32-bit psABI struct return checking."
++msgstr ""
++
++#: config/sh/superh.opt:6
++msgid "Board name [and memory region]."
++msgstr ""
++
++#: config/sh/superh.opt:10
++msgid "Runtime name."
++msgstr ""
++
++#: config/sh/sh.opt:44
+ #, fuzzy
+-msgid "Support multiply accumulate instructions"
+-msgstr "Ðе выкарыÑтоўваць інÑтрукцыі AltiVec"
++msgid "Generate SH1 code"
++msgstr "Стварыць код Ð´Ð»Ñ DLL"
+
+-#: config/crx/crx.opt:27
++#: config/sh/sh.opt:48
+ #, fuzzy
+-msgid "Do not use push to store function arguments"
+-msgstr "Ðе генерыраваць ÑÑ–Ð¼Ð²Ð°Ð»ÑŒÐ½Ñ‹Ñ Ñ–Ð½Ñтрукцыі"
++msgid "Generate SH2 code"
++msgstr "Стварыць код Ð´Ð»Ñ DLL"
+
+-#: config/crx/crx.opt:31
+-msgid "Restrict doloop to the given nesting level"
++#: config/sh/sh.opt:52
++#, fuzzy
++msgid "Generate SH2a code"
++msgstr "Стварыць код Ð´Ð»Ñ DLL"
++
++#: config/sh/sh.opt:56
++msgid "Generate SH2a FPU-less code"
+ msgstr ""
+
+-#: config/c4x/c4x.opt:23
+-msgid "Generate code for C30 CPU"
++#: config/sh/sh.opt:60
++msgid "Generate default single-precision SH2a code"
+ msgstr ""
+
+-#: config/c4x/c4x.opt:27
+-msgid "Generate code for C31 CPU"
++#: config/sh/sh.opt:64
++msgid "Generate only single-precision SH2a code"
+ msgstr ""
+
+-#: config/c4x/c4x.opt:31
+-msgid "Generate code for C32 CPU"
++#: config/sh/sh.opt:68
++#, fuzzy
++msgid "Generate SH2e code"
++msgstr "Стварыць код Ð´Ð»Ñ DLL"
++
++#: config/sh/sh.opt:72
++#, fuzzy
++msgid "Generate SH3 code"
++msgstr "Стварыць код Ð´Ð»Ñ DLL"
++
++#: config/sh/sh.opt:76
++#, fuzzy
++msgid "Generate SH3e code"
++msgstr "Стварыць код Ð´Ð»Ñ DLL"
++
++#: config/sh/sh.opt:80
++#, fuzzy
++msgid "Generate SH4 code"
++msgstr "Стварыць код Ð´Ð»Ñ DLL"
++
++#: config/sh/sh.opt:84
++msgid "Generate SH4-100 code"
+ msgstr ""
+
+-#: config/c4x/c4x.opt:35
+-msgid "Generate code for C33 CPU"
++#: config/sh/sh.opt:88
++msgid "Generate SH4-200 code"
+ msgstr ""
+
+-#: config/c4x/c4x.opt:39
+-msgid "Generate code for C40 CPU"
++#: config/sh/sh.opt:94
++msgid "Generate SH4-300 code"
+ msgstr ""
+
+-#: config/c4x/c4x.opt:43
+-msgid "Generate code for C44 CPU"
++#: config/sh/sh.opt:98
++msgid "Generate SH4 FPU-less code"
+ msgstr ""
+
+-#: config/c4x/c4x.opt:47
+-msgid "Assume that pointers may be aliased"
++#: config/sh/sh.opt:102
++msgid "Generate SH4-100 FPU-less code"
+ msgstr ""
+
+-#: config/c4x/c4x.opt:51
+-msgid "Big memory model"
++#: config/sh/sh.opt:106
++msgid "Generate SH4-200 FPU-less code"
+ msgstr ""
+
+-#: config/c4x/c4x.opt:55
+-msgid "Use the BK register as a general purpose register"
++#: config/sh/sh.opt:110
++msgid "Generate SH4-300 FPU-less code"
+ msgstr ""
+
+-#: config/c4x/c4x.opt:59
++#: config/sh/sh.opt:114
+ #, fuzzy
+-msgid "Generate code for CPU"
++msgid "Generate code for SH4 340 series (MMU/FPU-less)"
+ msgstr "Генерыраваць код Ð´Ð»Ñ Ð´Ð°Ð´Ð·ÐµÐ½Ð°Ð³Ð° ЦП"
+
+-#: config/c4x/c4x.opt:63
+-msgid "Enable use of DB instruction"
++#: config/sh/sh.opt:119
++#, fuzzy
++msgid "Generate code for SH4 400 series (MMU/FPU-less)"
++msgstr "Генерыраваць код Ð´Ð»Ñ Ð´Ð°Ð´Ð·ÐµÐ½Ð°Ð³Ð° ЦП"
++
++#: config/sh/sh.opt:124
++#, fuzzy
++msgid "Generate code for SH4 500 series (FPU-less)."
++msgstr "Генерыраваць код Ð´Ð»Ñ Ð´Ð°Ð´Ð·ÐµÐ½Ð°Ð³Ð° ЦП"
++
++#: config/sh/sh.opt:129
++msgid "Generate default single-precision SH4 code"
+ msgstr ""
+
+-#: config/c4x/c4x.opt:67
+-msgid "Enable debugging"
++#: config/sh/sh.opt:133
++msgid "Generate default single-precision SH4-100 code"
+ msgstr ""
+
+-#: config/c4x/c4x.opt:71
+-msgid "Enable new features under development"
++#: config/sh/sh.opt:137
++msgid "Generate default single-precision SH4-200 code"
+ msgstr ""
+
+-#: config/c4x/c4x.opt:75
+-msgid "Use fast but approximate float to integer conversion"
++#: config/sh/sh.opt:141
++msgid "Generate default single-precision SH4-300 code"
+ msgstr ""
+
+-#: config/c4x/c4x.opt:79
+-msgid "Force RTL generation to emit valid 3 operand insns"
++#: config/sh/sh.opt:145
++msgid "Generate only single-precision SH4 code"
+ msgstr ""
+
+-#: config/c4x/c4x.opt:83
+-msgid "Force constants into registers to improve hoisting"
++#: config/sh/sh.opt:149
++msgid "Generate only single-precision SH4-100 code"
+ msgstr ""
+
+-#: config/c4x/c4x.opt:87 config/c4x/c4x.opt:111
+-msgid "Save DP across ISR in small memory model"
++#: config/sh/sh.opt:153
++msgid "Generate only single-precision SH4-200 code"
+ msgstr ""
+
+-#: config/c4x/c4x.opt:91
+-msgid "Allow unsigned iteration counts for RPTB/DB"
++#: config/sh/sh.opt:157
++msgid "Generate only single-precision SH4-300 code"
+ msgstr ""
+
+-#: config/c4x/c4x.opt:95
+-msgid "Pass arguments on the stack"
++#: config/sh/sh.opt:161
++#, fuzzy
++msgid "Generate SH4a code"
++msgstr "Стварыць код Ð´Ð»Ñ DLL"
++
++#: config/sh/sh.opt:165
++msgid "Generate SH4a FPU-less code"
+ msgstr ""
+
+-#: config/c4x/c4x.opt:99
+-msgid "Use MPYI instruction for C3x"
++#: config/sh/sh.opt:169
++msgid "Generate default single-precision SH4a code"
+ msgstr ""
+
+-#: config/c4x/c4x.opt:103
+-msgid "Enable parallel instructions"
++#: config/sh/sh.opt:173
++msgid "Generate only single-precision SH4a code"
+ msgstr ""
+
+-#: config/c4x/c4x.opt:107
+-msgid "Enable MPY||ADD and MPY||SUB instructions"
++#: config/sh/sh.opt:177
++msgid "Generate SH4al-dsp code"
+ msgstr ""
+
+-#: config/c4x/c4x.opt:115
+-msgid "Preserve all 40 bits of FP reg across call"
++#: config/sh/sh.opt:181
++msgid "Generate 32-bit SHmedia code"
+ msgstr ""
+
+-#: config/c4x/c4x.opt:119
+-msgid "Pass arguments in registers"
++#: config/sh/sh.opt:185
++msgid "Generate 32-bit FPU-less SHmedia code"
+ msgstr ""
+
+-#: config/c4x/c4x.opt:123
+-msgid "Enable use of RTPB instruction"
++#: config/sh/sh.opt:189
++msgid "Generate 64-bit SHmedia code"
+ msgstr ""
+
+-#: config/c4x/c4x.opt:127
+-msgid "Enable use of RTPS instruction"
++#: config/sh/sh.opt:193
++msgid "Generate 64-bit FPU-less SHmedia code"
+ msgstr ""
+
+-#: config/c4x/c4x.opt:131
+-msgid "Set the maximum number of iterations for RPTS to N"
++#: config/sh/sh.opt:197
++msgid "Generate SHcompact code"
+ msgstr ""
+
+-#: config/c4x/c4x.opt:135
+-msgid "Small memory model"
++#: config/sh/sh.opt:201
++msgid "Generate FPU-less SHcompact code"
+ msgstr ""
+
+-#: config/c4x/c4x.opt:139
+-msgid "Emit code compatible with TI tools"
++#: config/sh/sh.opt:205
++msgid "Throttle unrolling to avoid thrashing target registers unless the unroll benefit outweighs this"
+ msgstr ""
+
+-#: config/pa/pa-hpux.opt:23
++#: config/sh/sh.opt:209
+ #, fuzzy
+-msgid "Generate cpp defines for server IO"
++msgid "Generate code in big endian mode"
+ msgstr "Генерыраваць код Ð´Ð»Ñ Ð´Ð°Ð´Ð·ÐµÐ½Ð°Ð³Ð° ЦП"
+
+-#: config/pa/pa-hpux.opt:27 config/pa/pa-hpux1010.opt:23
+-#: config/pa/pa-hpux1111.opt:23
+-msgid "Specify UNIX standard for predefines and linking"
++#: config/sh/sh.opt:213
++msgid "Generate 32-bit offsets in switch tables"
+ msgstr ""
+
+-#: config/pa/pa-hpux.opt:31
+-#, fuzzy
+-msgid "Generate cpp defines for workstation IO"
+-msgstr "Стварыць код Ð´Ð»Ñ DLL"
++#: config/sh/sh.opt:217
++msgid "Cost to assume for a branch insn"
++msgstr ""
+
+-#: config/pa/pa.opt:23 config/pa/pa.opt:76 config/pa/pa.opt:84
+-#, fuzzy
+-msgid "Generate PA1.0 code"
+-msgstr "Стварыць код Ð´Ð»Ñ DLL"
++#: config/sh/sh.opt:221
++msgid "Enable cbranchdi4 pattern"
++msgstr ""
+
+-#: config/pa/pa.opt:27 config/pa/pa.opt:88 config/pa/pa.opt:108
+-#, fuzzy
+-msgid "Generate PA1.1 code"
+-msgstr "Стварыць код Ð´Ð»Ñ DLL"
++#: config/sh/sh.opt:225
++msgid "Expand cbranchdi4 pattern early into separate comparisons and branches."
++msgstr ""
+
+-#: config/pa/pa.opt:31 config/pa/pa.opt:92
+-msgid "Generate PA2.0 code (requires binutils 2.10 or later)"
++#: config/sh/sh.opt:229
++msgid "Emit cmpeqdi_t pattern even when -mcbranchdi and -mexpand-cbranchdi are in effect."
+ msgstr ""
+
+-#: config/pa/pa.opt:35
+-#, fuzzy
+-msgid "Generate code for huge switch statements"
+-msgstr "Генерыраваць код Ð´Ð»Ñ Intel as"
++#: config/sh/sh.opt:233
++msgid "Enable SH5 cut2 workaround"
++msgstr ""
+
+-#: config/pa/pa.opt:39
+-msgid "Disable FP regs"
++#: config/sh/sh.opt:237
++msgid "Align doubles at 64-bit boundaries"
+ msgstr ""
+
+-#: config/pa/pa.opt:43
+-#, fuzzy
+-msgid "Disable indexed addressing"
+-msgstr "нерÑчаіÑны адраÑ"
++#: config/sh/sh.opt:241
++msgid "Division strategy, one of: call, call2, fp, inv, inv:minlat, inv20u, inv20l, inv:call, inv:call2, inv:fp, call-div1, call-fp, call-table"
++msgstr ""
+
+-#: config/pa/pa.opt:47
+-#, fuzzy
+-msgid "Generate fast indirect calls"
+-msgstr "Генерыраваць код Ð´Ð»Ñ Intel as"
++#: config/sh/sh.opt:245
++msgid "Specify name for 32 bit signed division function"
++msgstr ""
+
+-#: config/pa/pa.opt:55
+-msgid "Assume code will be assembled by GAS"
++#: config/sh/sh.opt:252
++msgid "Enable the use of the fused floating point multiply-accumulate operation"
+ msgstr ""
+
+-#: config/pa/pa.opt:59
+-msgid "Put jumps in call delay slots"
++#: config/sh/sh.opt:256
++msgid "Cost to assume for gettr insn"
+ msgstr ""
+
+-#: config/pa/pa.opt:64
+-#, fuzzy
+-msgid "Enable linker optimizations"
+-msgstr "Уключаць SSA аптымізацыю"
++#: config/sh/sh.opt:260 config/sh/sh.opt:310
++msgid "Follow Renesas (formerly Hitachi) / SuperH calling conventions"
++msgstr ""
+
+-#: config/pa/pa.opt:68
+-#, fuzzy
+-msgid "Always generate long calls"
+-msgstr "Генерыраваць код Ð´Ð»Ñ Intel as"
++#: config/sh/sh.opt:264
++msgid "Increase the IEEE compliance for floating-point code"
++msgstr ""
+
+-#: config/pa/pa.opt:72
+-msgid "Emit long load/store sequences"
++#: config/sh/sh.opt:268
++msgid "Enable the use of the indexed addressing mode for SHmedia32/SHcompact"
+ msgstr ""
+
+-#: config/pa/pa.opt:80
+-msgid "Disable space regs"
++#: config/sh/sh.opt:272
++msgid "inline code to invalidate instruction cache entries after setting up nested function trampolines"
+ msgstr ""
+
+-#: config/pa/pa.opt:96
+-msgid "Use portable calling conventions"
++#: config/sh/sh.opt:276
++msgid "Assume symbols might be invalid"
+ msgstr ""
+
+-#: config/pa/pa.opt:100
+-msgid "Specify CPU for scheduling purposes. Valid arguments are 700, 7100, 7100LC, 7200, 7300, and 8000"
++#: config/sh/sh.opt:280
++msgid "Annotate assembler instructions with estimated addresses"
+ msgstr ""
+
+-#: config/pa/pa.opt:112
+-msgid "Do not disable space regs"
++#: config/sh/sh.opt:284
++#, fuzzy
++msgid "Generate code in little endian mode"
++msgstr "Генерыраваць код без GP reg"
++
++#: config/sh/sh.opt:288
++msgid "Mark MAC register as call-clobbered"
+ msgstr ""
+
+-#: config/pa/pa64-hpux.opt:23
+-msgid "Assume code will be linked by GNU ld"
++#: config/sh/sh.opt:294
++msgid "Make structs a multiple of 4 bytes (warning: ABI altered)"
+ msgstr ""
+
+-#: config/pa/pa64-hpux.opt:27
+-msgid "Assume code will be linked by HP ld"
++#: config/sh/sh.opt:298
++msgid "Emit function-calls using global offset table when generating PIC"
+ msgstr ""
+
+-#: config/xtensa/xtensa.opt:23
+-msgid "Use CONST16 instruction to load constants"
++#: config/sh/sh.opt:302
++msgid "Assume pt* instructions won't trap"
+ msgstr ""
+
+-#: config/xtensa/xtensa.opt:27
+-msgid "Enable fused multiply/add and multiply/subtract FP instructions"
++#: config/sh/sh.opt:306
++msgid "Shorten address references during linking"
+ msgstr ""
+
+-#: config/xtensa/xtensa.opt:31
+-msgid "Use indirect CALLXn instructions for large programs"
++#: config/sh/sh.opt:314
++msgid "Deprecated. Use -Os instead"
+ msgstr ""
+
+-#: config/xtensa/xtensa.opt:35
+-msgid "Automatically align branch targets to reduce branch penalties"
++#: config/sh/sh.opt:318
++msgid "Cost to assume for a multiply insn"
+ msgstr ""
+
+-#: config/xtensa/xtensa.opt:39
+-msgid "Intersperse literal pools with code in the text section"
++#: config/sh/sh.opt:322
++msgid "Don't generate privileged-mode only code; implies -mno-inline-ic_invalidate if the inline code would not work in user mode."
+ msgstr ""
+
+-#: config/stormy16/stormy16.opt:24
+-msgid "Provide libraries for the simulator"
++#: config/sh/sh.opt:328
++msgid "Pretend a branch-around-a-move is a conditional move."
+ msgstr ""
+
++#: config/vxworks.opt:24
++msgid "Assume the VxWorks RTP environment"
++msgstr ""
++
++#: config/vxworks.opt:31
++msgid "Assume the VxWorks vThreads environment"
++msgstr ""
++
++#: config/mips/sdemtk.opt:23
++#, fuzzy
++msgid "Prevent the use of all floating-point operations"
++msgstr "ВыкарыÑтоўваць апаратную \"плаваючую кропку\""
++
+ #: config/mips/mips.opt:23
+ #, fuzzy
+ msgid "Generate code that conforms to the given ABI"
+@@ -13981,10 +14305,6 @@
+ msgid "Use little-endian byte order"
+ msgstr ""
+
+-#: config/mips/mips.opt:97 config/iq2000/iq2000.opt:31
+-msgid "Use ROM instead of RAM"
+-msgstr ""
+-
+ #: config/mips/mips.opt:101
+ msgid "Use NewABI-style %reloc() assembly operators"
+ msgstr ""
+@@ -14162,10 +14482,6 @@
+ msgid "Optimize the output for PROCESSOR"
+ msgstr ""
+
+-#: config/mips/mips.opt:265 config/iq2000/iq2000.opt:44
+-msgid "Put uninitialized constants in ROM (needs -membedded-data)"
+-msgstr ""
+-
+ #: config/mips/mips.opt:269
+ msgid "Perform VR4130-specific alignment optimizations"
+ msgstr ""
+@@ -14174,2490 +14490,2139 @@
+ msgid "Lift restrictions on GOT size"
+ msgstr ""
+
+-#: config/mips/sdemtk.opt:23
+-#, fuzzy
+-msgid "Prevent the use of all floating-point operations"
+-msgstr "ВыкарыÑтоўваць апаратную \"плаваючую кропку\""
+-
+-#: config/fr30/fr30.opt:23
+-msgid "Assume small address space"
++#: config/bfin/bfin.opt:31
++msgid "Omit frame pointer for leaf functions"
+ msgstr ""
+
+-#: config/m68hc11/m68hc11.opt:23 config/m68hc11/m68hc11.opt:31
+-msgid "Compile for a 68HC11"
++#: config/bfin/bfin.opt:35
++msgid "Program is entirely located in low 64k of memory"
+ msgstr ""
+
+-#: config/m68hc11/m68hc11.opt:27 config/m68hc11/m68hc11.opt:35
+-msgid "Compile for a 68HC12"
++#: config/bfin/bfin.opt:39
++msgid "Work around a hardware anomaly by adding a number of NOPs before a"
+ msgstr ""
+
+-#: config/m68hc11/m68hc11.opt:41 config/m68hc11/m68hc11.opt:45
+-msgid "Compile for a 68HCS12"
++#: config/bfin/bfin.opt:44
++msgid "Avoid speculative loads to work around a hardware anomaly."
+ msgstr ""
+
+-#: config/m68hc11/m68hc11.opt:49
+-msgid "Auto pre/post decrement increment allowed"
++#: config/bfin/bfin.opt:48
++msgid "Enabled ID based shared library"
+ msgstr ""
+
+-#: config/m68hc11/m68hc11.opt:53
+-msgid "Min/max instructions allowed"
++#: config/bfin/bfin.opt:52
++msgid "Generate code that won't be linked against any other ID shared libraries,"
+ msgstr ""
+
+-#: config/m68hc11/m68hc11.opt:57
+-msgid "Use call and rtc for function calls and returns"
++#: config/bfin/bfin.opt:65
++msgid "Avoid generating pc-relative calls; use indirection"
+ msgstr ""
+
+-#: config/m68hc11/m68hc11.opt:61
+-msgid "Auto pre/post decrement increment not allowed"
+-msgstr ""
++#: config/bfin/bfin.opt:69
++#, fuzzy
++msgid "Link with the fast floating-point library"
++msgstr "ВыкарыÑтоўваць апаратную \"плаваючую кропку\""
+
+-#: config/m68hc11/m68hc11.opt:65
+-msgid "Use jsr and rts for function calls and returns"
++#: config/bfin/bfin.opt:81
++msgid "Do stack checking using bounds in L1 scratch memory"
+ msgstr ""
+
+-#: config/m68hc11/m68hc11.opt:69
+-msgid "Min/max instructions not allowed"
++#: treelang/lang.opt:30
++msgid "Trace lexical analysis"
+ msgstr ""
+
+-#: config/m68hc11/m68hc11.opt:73
+-msgid "Use direct addressing mode for soft registers"
+-msgstr ""
++#: treelang/lang.opt:34
++#, fuzzy
++msgid "Trace the parsing process"
++msgstr "ÐœÑта - AM33 працÑÑар"
+
+-#: config/m68hc11/m68hc11.opt:77
+-msgid "Compile with 32-bit integer mode"
++#: java/lang.opt:65
++msgid "Warn if a deprecated compiler feature, class, method, or field is used"
+ msgstr ""
+
+-#: config/m68hc11/m68hc11.opt:82
+-msgid "Specify the register allocation order"
++#: java/lang.opt:69
++msgid "Warn if deprecated empty statements are found"
+ msgstr ""
+
+-#: config/m68hc11/m68hc11.opt:86
+-msgid "Do not use direct addressing mode for soft registers"
++#: java/lang.opt:73
++msgid "Warn if .class files are out of date"
+ msgstr ""
+
+-#: config/m68hc11/m68hc11.opt:90
+-msgid "Compile with 16-bit integer mode"
++#: java/lang.opt:77
++msgid "Warn if modifiers are specified when not necessary"
+ msgstr ""
+
+-#: config/m68hc11/m68hc11.opt:94
+-msgid "Indicate the number of soft registers available"
++#: java/lang.opt:81
++msgid "Deprecated; use --classpath instead"
+ msgstr ""
+
+-#: config/vax/vax.opt:23 config/vax/vax.opt:27
+-msgid "Target DFLOAT double precision code"
++#: java/lang.opt:88
++msgid "Permit the use of the assert keyword"
+ msgstr ""
+
+-#: config/vax/vax.opt:31 config/vax/vax.opt:35
+-msgid "Generate GFLOAT double precision code"
++#: java/lang.opt:110
++msgid "Replace system path"
+ msgstr ""
+
+-#: config/vax/vax.opt:39
++#: java/lang.opt:114
+ #, fuzzy
+-msgid "Generate code for GNU assembler (gas)"
+-msgstr "Генерыраваць код Ð´Ð»Ñ GNU as"
++msgid "Generate checks for references to NULL"
++msgstr "Стварыць код Ð´Ð»Ñ DLL"
+
+-#: config/vax/vax.opt:43
+-#, fuzzy
+-msgid "Generate code for UNIX assembler"
+-msgstr "Генерыраваць код Ð´Ð»Ñ GNU as"
+-
+-#: config/vax/vax.opt:47
+-msgid "Use VAXC structure conventions"
++#: java/lang.opt:118
++msgid "Set class path"
+ msgstr ""
+
+-#: config/cris/linux.opt:27
+-msgid "Together with -fpic and -fPIC, do not use GOTPLT references"
++#: java/lang.opt:125
++msgid "Output a class file"
+ msgstr ""
+
+-#: config/cris/cris.opt:45
+-msgid "Work around bug in multiplication instruction"
++#: java/lang.opt:129
++msgid "Alias for -femit-class-file"
+ msgstr ""
+
+-#: config/cris/cris.opt:51
+-msgid "Compile for ETRAX 4 (CRIS v3)"
++#: java/lang.opt:133
++msgid "Choose input encoding (defaults from your locale)"
+ msgstr ""
+
+-#: config/cris/cris.opt:56
+-msgid "Compile for ETRAX 100 (CRIS v8)"
++#: java/lang.opt:137
++msgid "Set the extension directory path"
+ msgstr ""
+
+-#: config/cris/cris.opt:64
+-msgid "Emit verbose debug information in assembly code"
++#: java/lang.opt:144
++msgid "Input file is a file with a list of filenames to compile"
+ msgstr ""
+
+-#: config/cris/cris.opt:71
+-#, fuzzy
+-msgid "Do not use condition codes from normal instructions"
+-msgstr "Ðе генерыраваць ÑÑ–Ð¼Ð²Ð°Ð»ÑŒÐ½Ñ‹Ñ Ñ–Ð½Ñтрукцыі"
+-
+-#: config/cris/cris.opt:80
+-msgid "Do not emit addressing modes with side-effect assignment"
++#: java/lang.opt:151
++msgid "Always check for non gcj generated classes archives"
+ msgstr ""
+
+-#: config/cris/cris.opt:89
+-msgid "Do not tune stack alignment"
++#: java/lang.opt:155
++msgid "Assume the runtime uses a hash table to map an object to its synchronization structure"
+ msgstr ""
+
+-#: config/cris/cris.opt:98
+-msgid "Do not tune writable data alignment"
++#: java/lang.opt:159
++msgid "Generate instances of Class at runtime"
+ msgstr ""
+
+-#: config/cris/cris.opt:107
+-msgid "Do not tune code and read-only data alignment"
++#: java/lang.opt:163
++msgid "Use offset tables for virtual method calls"
+ msgstr ""
+
+-#: config/cris/cris.opt:116
+-msgid "Align code and data to 32 bits"
++#: java/lang.opt:170
++msgid "Assume native functions are implemented using JNI"
+ msgstr ""
+
+-#: config/cris/cris.opt:133
+-msgid "Don't align items in code or data"
++#: java/lang.opt:174
++msgid "Enable optimization of static class initialization code"
+ msgstr ""
+
+-#: config/cris/cris.opt:142
+-msgid "Do not emit function prologue or epilogue"
++#: java/lang.opt:181
++msgid "Reduce the amount of reflection meta-data generated"
+ msgstr ""
+
+-#: config/cris/cris.opt:149
+-msgid "Use the most feature-enabling options allowed by other options"
++#: java/lang.opt:185
++msgid "Enable assignability checks for stores into object arrays"
+ msgstr ""
+
+-#: config/cris/cris.opt:158
+-msgid "Override -mbest-lib-options"
+-msgstr ""
+-
+-#: config/cris/cris.opt:165
++#: java/lang.opt:189
+ #, fuzzy
+-msgid "Generate code for the specified chip or CPU version"
+-msgstr "Генерыраваць код Ð´Ð»Ñ Ð´Ð°Ð´Ð·ÐµÐ½Ð°Ð³Ð° ЦП"
++msgid "Generate code for the Boehm GC"
++msgstr "Генерыраваць код Ð´Ð»Ñ Intel as"
+
+-#: config/cris/cris.opt:169
+-msgid "Tune alignment for the specified chip or CPU version"
++#: java/lang.opt:193
++msgid "Call a library routine to do integer divisions"
+ msgstr ""
+
+-#: config/cris/cris.opt:173
+-msgid "Warn when a stackframe is larger than the specified size"
++#: java/lang.opt:197
++msgid "Generated should be loaded by bootstrap loader"
+ msgstr ""
+
+-#: config/cris/aout.opt:27
+-msgid "Compile for the MMU-less Etrax 100-based elinux system"
++#: java/lang.opt:201
++msgid "Set the source language version"
+ msgstr ""
+
+-#: config/cris/aout.opt:33
+-msgid "For elinux, request a specified stack-size for this program"
+-msgstr ""
+-
+-#: config/h8300/h8300.opt:23
++#: java/lang.opt:205
+ #, fuzzy
+-msgid "Generate H8S code"
+-msgstr "Стварыць код Ð´Ð»Ñ DLL"
++msgid "Set the target VM version"
++msgstr "дрÑÐ½Ð½Ð°Ñ Ð²ÐµÑ€ÑÑ–Ñ Ð·Ð°Ð³Ð°Ð»Ð¾ÑžÐºÐ°"
+
+-#: config/h8300/h8300.opt:27
++#: common.opt:28
+ #, fuzzy
+-msgid "Generate H8SX code"
+-msgstr "Стварыць код Ð´Ð»Ñ DLL"
++msgid "Display this information"
++msgstr " --help ÐдлюÑтраваць гÑту інфармацыю\n"
+
+-#: config/h8300/h8300.opt:31
+-msgid "Generate H8S/2600 code"
++#: common.opt:32
++msgid "Display descriptions of a specific class of options. <class> is one or more of optimizers, target, warnings, undocumented, params"
+ msgstr ""
+
+-#: config/h8300/h8300.opt:35
+-msgid "Make integers 32 bits wide"
++#: common.opt:36
++msgid "Alias for --help=target"
+ msgstr ""
+
+-#: config/h8300/h8300.opt:42
+-msgid "Use registers for argument passing"
++#: common.opt:52
++msgid "Set parameter <param> to value. See below for a complete list of parameters"
+ msgstr ""
+
+-#: config/h8300/h8300.opt:46
+-msgid "Consider access to byte sized memory slow"
++#: common.opt:59
++msgid "Put global and static data smaller than <number> bytes into a special section (on some targets)"
+ msgstr ""
+
+-#: config/h8300/h8300.opt:50
+-msgid "Enable linker relaxing"
+-msgstr ""
++#: common.opt:63
++#, fuzzy
++msgid "Set optimization level to <number>"
++msgstr "Ð°Ð¿Ñ‚Ñ‹Ð¼Ñ–Ð·Ð°Ñ†Ñ‹Ñ ÑƒÐºÐ»ÑŽÑ‡Ð°Ð½Ð°"
+
+-#: config/h8300/h8300.opt:54
+-msgid "Generate H8/300H code"
+-msgstr ""
++#: common.opt:67
++#, fuzzy
++msgid "Optimize for space rather than speed"
++msgstr "ÐÐ¿Ñ‚Ñ‹Ð¼Ñ–Ð·Ð°Ñ†Ñ‹Ñ Ð´Ð»Ñ SparcLite працÑÑараў"
+
+-#: config/h8300/h8300.opt:58
+-msgid "Enable the normal mode"
++#: common.opt:71
++msgid "This switch is deprecated; use -Wextra instead"
+ msgstr ""
+
+-#: config/h8300/h8300.opt:62
+-msgid "Use H8/300 alignment rules"
++#: common.opt:75
++msgid "Warn about returning structures, unions or arrays"
+ msgstr ""
+
+-#: config/v850/v850.opt:23
+-#, fuzzy
+-msgid "Use registers r2 and r5"
+-msgstr "невÑÐ´Ð¾Ð¼Ð°Ñ Ð½Ð°Ð·Ð²Ð° Ñ€ÑгіÑтра: %s"
+-
+-#: config/v850/v850.opt:27
+-msgid "Use 4 byte entries in switch tables"
++#: common.opt:79
++msgid "Warn if an array is accessed out of bounds"
+ msgstr ""
+
+-#: config/v850/v850.opt:31
+-msgid "Enable backend debugging"
++#: common.opt:83
++msgid "Warn about inappropriate attribute usage"
+ msgstr ""
+
+-#: config/v850/v850.opt:35
+-#, fuzzy
+-msgid "Do not use the callt instruction"
+-msgstr "Ðе генерыраваць ÑÑ–Ð¼Ð²Ð°Ð»ÑŒÐ½Ñ‹Ñ Ñ–Ð½Ñтрукцыі"
+-
+-#: config/v850/v850.opt:39
+-msgid "Reuse r30 on a per function basis"
++#: common.opt:87
++msgid "Warn about pointer casts which increase alignment"
+ msgstr ""
+
+-#: config/v850/v850.opt:43
+-msgid "Support Green Hills ABI"
++#: common.opt:91
++msgid "Warn about uses of __attribute__((deprecated)) declarations"
+ msgstr ""
+
+-#: config/v850/v850.opt:47
+-msgid "Prohibit PC relative function calls"
++#: common.opt:95
++msgid "Warn when an optimization pass is disabled"
+ msgstr ""
+
+-#: config/v850/v850.opt:51
+-msgid "Use stubs for function prologues"
++#: common.opt:99
++msgid "Treat all warnings as errors"
+ msgstr ""
+
+-#: config/v850/v850.opt:55
+-msgid "Set the max size of data eligible for the SDA area"
++#: common.opt:103
++msgid "Treat specified warning as error"
+ msgstr ""
+
+-#: config/v850/v850.opt:59
+-#, fuzzy
+-msgid "Enable the use of the short load instructions"
+-msgstr "Ðе генерыраваць ÑÑ–Ð¼Ð²Ð°Ð»ÑŒÐ½Ñ‹Ñ Ñ–Ð½Ñтрукцыі"
+-
+-#: config/v850/v850.opt:63
+-msgid "Same as: -mep -mprolog-function"
++#: common.opt:107
++msgid "Print extra (possibly unwanted) warnings"
+ msgstr ""
+
+-#: config/v850/v850.opt:67
+-msgid "Set the max size of data eligible for the TDA area"
++#: common.opt:111
++msgid "Exit on the first error occurred"
+ msgstr ""
+
+-#: config/v850/v850.opt:71
+-msgid "Enforce strict alignment"
++#: common.opt:115
++msgid "Warn when an inlined function cannot be inlined"
+ msgstr ""
+
+-#: config/v850/v850.opt:78
+-msgid "Compile for the v850 processor"
+-msgstr ""
+-
+-#: config/v850/v850.opt:82
++#: common.opt:119
+ #, fuzzy
+-msgid "Compile for the v850e processor"
+-msgstr "ÐÐ¿Ñ‚Ñ‹Ð¼Ñ–Ð·Ð°Ñ†Ñ‹Ñ Ð´Ð»Ñ F930 працÑÑараў"
++msgid "Warn if an object is larger than <number> bytes"
++msgstr "памер \"%s\" больш чам %d байт"
+
+-#: config/v850/v850.opt:86
+-#, fuzzy
+-msgid "Compile for the v850e1 processor"
+-msgstr "ÐÐ¿Ñ‚Ñ‹Ð¼Ñ–Ð·Ð°Ñ†Ñ‹Ñ Ð´Ð»Ñ F930 працÑÑараў"
+-
+-#: config/v850/v850.opt:90
+-msgid "Set the max size of data eligible for the ZDA area"
++#: common.opt:123
++msgid "Warn when a logical operator is suspicously always evaluating to true or false"
+ msgstr ""
+
+-#: config/mmix/mmix.opt:24
+-msgid "For intrinsics library: pass all parameters in registers"
++#: common.opt:127
++msgid "Warn if the loop cannot be optimized due to nontrivial assumptions."
+ msgstr ""
+
+-#: config/mmix/mmix.opt:28
+-msgid "Use register stack for parameters and return value"
++#: common.opt:131
++msgid "Warn about functions which might be candidates for __attribute__((noreturn))"
+ msgstr ""
+
+-#: config/mmix/mmix.opt:32
+-msgid "Use call-clobbered registers for parameters and return value"
++#: common.opt:135
++msgid "Warn about overflow in arithmetic expressions"
+ msgstr ""
+
+-#: config/mmix/mmix.opt:37
+-msgid "Use epsilon-respecting floating point compare instructions"
++#: common.opt:139
++msgid "Warn when the packed attribute has no effect on struct layout"
+ msgstr ""
+
+-#: config/mmix/mmix.opt:41
+-msgid "Use zero-extending memory loads, not sign-extending ones"
++#: common.opt:143
++msgid "Warn when padding is required to align structure members"
+ msgstr ""
+
+-#: config/mmix/mmix.opt:45
+-msgid "Generate divide results with reminder having the same sign as the divisor (not the dividend)"
++#: common.opt:147
++msgid "Warn when one local variable shadows another"
+ msgstr ""
+
+-#: config/mmix/mmix.opt:49
+-msgid "Prepend global symbols with \":\" (for use with PREFIX)"
++#: common.opt:151
++msgid "Warn when not issuing stack smashing protection for some reason"
+ msgstr ""
+
+-#: config/mmix/mmix.opt:53
+-msgid "Do not provide a default start-address 0x100 of the program"
++#: common.opt:155 common.opt:159
++msgid "Warn about code which might break strict aliasing rules"
+ msgstr ""
+
+-#: config/mmix/mmix.opt:57
+-msgid "Link to emit program in ELF format (rather than mmo)"
++#: common.opt:163 common.opt:167
++msgid "Warn about optimizations that assume that signed overflow is undefined"
+ msgstr ""
+
+-#: config/mmix/mmix.opt:61
+-msgid "Use P-mnemonics for branches statically predicted as taken"
++#: common.opt:171
++msgid "Warn about enumerated switches, with no default, missing a case"
+ msgstr ""
+
+-#: config/mmix/mmix.opt:65
+-msgid "Don't use P-mnemonics for branches"
++#: common.opt:175
++msgid "Warn about enumerated switches missing a \"default:\" statement"
+ msgstr ""
+
+-#: config/mmix/mmix.opt:79
+-msgid "Use addresses that allocate global registers"
++#: common.opt:179
++msgid "Warn about all enumerated switches missing a specific case"
+ msgstr ""
+
+-#: config/mmix/mmix.opt:83
+-msgid "Do not use addresses that allocate global registers"
++#: common.opt:183 c.opt:434
++msgid "Do not suppress warnings from system headers"
+ msgstr ""
+
+-#: config/mmix/mmix.opt:87
+-msgid "Generate a single exit point for each function"
++#: common.opt:187
++msgid "Warn about uninitialized automatic variables"
+ msgstr ""
+
+-#: config/mmix/mmix.opt:91
+-#, fuzzy
+-msgid "Do not generate a single exit point for each function"
+-msgstr "Ðе генерыраваць ÑÑ–Ð¼Ð²Ð°Ð»ÑŒÐ½Ñ‹Ñ Ñ–Ð½Ñтрукцыі"
+-
+-#: config/mmix/mmix.opt:95
+-msgid "Set start-address of the program"
++#: common.opt:191
++msgid "Warn about code that will never be executed"
+ msgstr ""
+
+-#: config/mmix/mmix.opt:99
+-msgid "Set start-address of data"
++#: common.opt:195
++msgid "Enable all -Wunused- warnings"
+ msgstr ""
+
+-#: config/iq2000/iq2000.opt:23 config/mt/mt.opt:55
+-msgid "Specify CPU for code generation purposes"
++#: common.opt:199
++msgid "Warn when a function is unused"
+ msgstr ""
+
+-#: config/iq2000/iq2000.opt:27
+-msgid "Specify CPU for scheduling purposes"
++#: common.opt:203
++msgid "Warn when a label is unused"
+ msgstr ""
+
+-#: config/iq2000/iq2000.opt:35
+-msgid "Use GP relative sdata/sbss sections"
++#: common.opt:207
++msgid "Warn when a function parameter is unused"
+ msgstr ""
+
+-#: config/iq2000/iq2000.opt:40
+-msgid "No default crt0.o"
++#: common.opt:211
++msgid "Warn when an expression value is unused"
+ msgstr ""
+
+-#: config/bfin/bfin.opt:31
+-msgid "Omit frame pointer for leaf functions"
++#: common.opt:215
++msgid "Warn when a variable is unused"
+ msgstr ""
+
+-#: config/bfin/bfin.opt:35
+-msgid "Program is entirely located in low 64k of memory"
++#: common.opt:219
++msgid "Warn when a register variable is declared volatile"
+ msgstr ""
+
+-#: config/bfin/bfin.opt:39
+-msgid "Work around a hardware anomaly by adding a number of NOPs before a"
++#: common.opt:223
++msgid "Warn instead of error in case profiles in -fprofile-use do not match"
+ msgstr ""
+
+-#: config/bfin/bfin.opt:44
+-msgid "Avoid speculative loads to work around a hardware anomaly."
++#: common.opt:227
++msgid "Emit declaration information into <file>"
+ msgstr ""
+
+-#: config/bfin/bfin.opt:48
+-msgid "Enabled ID based shared library"
++#: common.opt:240
++msgid "Enable dumps from specific passes of the compiler"
+ msgstr ""
+
+-#: config/bfin/bfin.opt:52
+-msgid "Generate code that won't be linked against any other ID shared libraries,"
++#: common.opt:244
++msgid "Set the file basename to be used for dumps"
+ msgstr ""
+
+-#: config/bfin/bfin.opt:65
+-msgid "Avoid generating pc-relative calls; use indirection"
++#: common.opt:264
++msgid "Align the start of functions"
+ msgstr ""
+
+-#: config/bfin/bfin.opt:69
+-#, fuzzy
+-msgid "Link with the fast floating-point library"
+-msgstr "ВыкарыÑтоўваць апаратную \"плаваючую кропку\""
+-
+-#: config/bfin/bfin.opt:81
+-msgid "Do stack checking using bounds in L1 scratch memory"
++#: common.opt:271
++msgid "Align labels which are only reached by jumping"
+ msgstr ""
+
+-#: config/mt/mt.opt:23
+-msgid "Use byte loads and stores when generating code."
++#: common.opt:278
++msgid "Align all labels"
+ msgstr ""
+
+-#: config/mt/mt.opt:31
+-msgid "Do not include crt0.o in the startup files"
++#: common.opt:285
++msgid "Align the start of loops"
+ msgstr ""
+
+-#: config/mt/mt.opt:35 config/mt/mt.opt:39 config/mt/mt.opt:43
+-#: config/mt/mt.opt:47 config/mt/mt.opt:51
+-msgid "Internal debug switch"
++#: common.opt:300
++msgid "Specify that arguments may alias each other and globals"
+ msgstr ""
+
+-#: config/vxworks.opt:24
+-msgid "Assume the VxWorks RTP environment"
++#: common.opt:304
++msgid "Assume arguments may alias globals but not each other"
+ msgstr ""
+
+-#: config/vxworks.opt:31
+-msgid "Assume the VxWorks vThreads environment"
++#: common.opt:308
++msgid "Assume arguments alias neither each other nor globals"
+ msgstr ""
+
+-#: config/darwin.opt:23
+-#, fuzzy
+-msgid "Generate code suitable for fast turn around debugging"
+-msgstr "Стварыць код Ð´Ð»Ñ DLL"
+-
+-#: config/darwin.opt:31
+-msgid "The earliest MacOS X version on which this program will run"
++#: common.opt:312
++msgid "Assume arguments alias no other storage"
+ msgstr ""
+
+-#: config/darwin.opt:35
+-msgid "Set sizeof(bool) to 1"
++#: common.opt:316
++msgid "Generate unwind tables that are exact at each instruction boundary"
+ msgstr ""
+
+-#: config/darwin.opt:39
++#: common.opt:320
+ #, fuzzy
+-msgid "Generate code for darwin loadable kernel extensions"
+-msgstr "Генерыраваць код Ð´Ð»Ñ Intel as"
++msgid "Generate auto-inc/dec instructions"
++msgstr "Ðе генерыраваць ÑÑ–Ð¼Ð²Ð°Ð»ÑŒÐ½Ñ‹Ñ Ñ–Ð½Ñтрукцыі"
+
+-#: config/darwin.opt:43
++#: common.opt:328
+ #, fuzzy
+-msgid "Generate code for the kernel or loadable kernel extensions"
+-msgstr "Генерыраваць код Ð´Ð»Ñ Ð´Ð°Ð´Ð·ÐµÐ½Ð°Ð³Ð° ЦП"
++msgid "Generate code to check bounds before indexing arrays"
++msgstr "Генерыраваць код Ð´Ð»Ñ Intel as"
+
+-#: config/darwin.opt:47
+-msgid "Add <dir> to the end of the system framework include path"
++#: common.opt:332
++msgid "Replace add, compare, branch with branch on count register"
+ msgstr ""
+
+-#: config/lynx.opt:23
+-msgid "Support legacy multi-threading"
++#: common.opt:336
++msgid "Use profiling information for branch probabilities"
+ msgstr ""
+
+-#: config/lynx.opt:27
+-#, fuzzy
+-msgid "Use shared libraries"
+-msgstr "ВыкарыÑтоўваць апаратную плаваючую кропку"
+-
+-#: config/lynx.opt:31
+-msgid "Support multi-threading"
++#: common.opt:340
++msgid "Perform branch target load optimization before prologue / epilogue threading"
+ msgstr ""
+
+-#: config/score/score.opt:31
+-#, fuzzy
+-msgid "Disable bcnz instruction"
+-msgstr "Ðе выкарыÑтоўваць інÑтрукцыі AltiVec"
+-
+-#: config/score/score.opt:35
+-msgid "Enable unaligned load/store instruction"
++#: common.opt:344
++msgid "Perform branch target load optimization after prologue / epilogue threading"
+ msgstr ""
+
+-#: config/score/score.opt:39
+-msgid "Support SCORE 5 ISA"
++#: common.opt:348
++msgid "Restrict target load migration not to re-use registers in any basic block"
+ msgstr ""
+
+-#: config/score/score.opt:43
+-msgid "Support SCORE 5U ISA"
++#: common.opt:352
++msgid "Mark <register> as being preserved across functions"
+ msgstr ""
+
+-#: config/score/score.opt:47
+-msgid "Support SCORE 7 ISA"
++#: common.opt:356
++msgid "Mark <register> as being corrupted by function calls"
+ msgstr ""
+
+-#: config/score/score.opt:51
+-msgid "Support SCORE 7D ISA"
++#: common.opt:363
++msgid "Save registers around function calls"
+ msgstr ""
+
+-#: config/score/score.opt:55
+-msgid "Support SCORE 3 ISA"
++#: common.opt:367
++msgid "Compare the results of several data dependence analyzers."
+ msgstr ""
+
+-#: config/score/score.opt:59
+-msgid "Support SCORE 3d ISA"
++#: common.opt:371
++msgid "Do not put uninitialized globals in the common section"
+ msgstr ""
+
+-#: config/linux.opt:24
+-msgid "Use uClibc instead of GNU libc"
++#: common.opt:375
++msgid "Perform a register copy-propagation optimization pass"
+ msgstr ""
+
+-#: config/linux.opt:28
+-msgid "Use GNU libc instead of uClibc"
++#: common.opt:379
++msgid "Perform cross-jumping optimization"
+ msgstr ""
+
+-#: c.opt:41
+-msgid "Assert the <answer> to <question>. Putting '-' before <question> disables the <answer> to <question>"
++#: common.opt:383
++msgid "When running CSE, follow jumps to their targets"
+ msgstr ""
+
+-#: c.opt:45
+-#, fuzzy
+-msgid "Do not discard comments"
+-msgstr "Ð½ÐµÐ·Ð°Ð²ÐµÑ€ÑˆÐ°Ð½Ñ‹Ñ ÐºÐ°Ð¼ÐµÐ½Ñ‚Ð°Ñ€Ñ‹Ñ–"
+-
+-#: c.opt:49
+-msgid "Do not discard comments in macro expansions"
++#: common.opt:387
++msgid "When running CSE, follow conditional jumps"
+ msgstr ""
+
+-#: c.opt:53
+-msgid "Define a <macro> with <val> as its value. If just <macro> is given, <val> is taken to be 1"
++#: common.opt:391
++msgid "Omit range reduction step when performing complex division"
+ msgstr ""
+
+-#: c.opt:60
+-msgid "Add <dir> to the end of the main framework include path"
++#: common.opt:395
++msgid "Place data items into their own section"
+ msgstr ""
+
+-#: c.opt:64
+-msgid "Print the name of header files as they are used"
++#: common.opt:399
++msgid "List all available debugging counters with their limits and counts."
+ msgstr ""
+
+-#: c.opt:68 c.opt:859
+-msgid "Add <dir> to the end of the main include path"
++#: common.opt:403
++msgid "-fdbg-cnt=<counter>:<limit>[,<counter>:<limit>,...] Set the debug counter limit. "
+ msgstr ""
+
+-#: c.opt:72
+-msgid "Generate make dependencies"
++#: common.opt:407
++msgid "Map one directory name to another in debug information"
+ msgstr ""
+
+-#: c.opt:76
+-msgid "Generate make dependencies and compile"
++#: common.opt:413
++msgid "Defer popping functions args from stack until later"
+ msgstr ""
+
+-#: c.opt:80
+-msgid "Write dependency output to the given file"
++#: common.opt:417
++msgid "Attempt to fill delay slots of branch instructions"
+ msgstr ""
+
+-#: c.opt:84
+-msgid "Treat missing header files as generated files"
++#: common.opt:421
++msgid "Delete useless null pointer checks"
+ msgstr ""
+
+-#: c.opt:88
+-msgid "Like -M but ignore system header files"
++#: common.opt:425
++msgid "How often to emit source location at the beginning of line-wrapped diagnostics"
+ msgstr ""
+
+-#: c.opt:92
+-msgid "Like -MD but ignore system header files"
++#: common.opt:429
++msgid "Amend appropriate diagnostic messages with the command line option that controls them"
+ msgstr ""
+
+-#: c.opt:96
+-#, fuzzy
+-msgid "Generate phony targets for all headers"
+-msgstr "Генерыраваць код Ð´Ð»Ñ Intel as"
+-
+-#: c.opt:100
+-msgid "Add a MAKE-quoted target"
++#: common.opt:433
++msgid "Dump various compiler internals to a file"
+ msgstr ""
+
+-#: c.opt:104
+-msgid "Add an unquoted target"
++#: common.opt:437
++msgid "Suppress output of addresses in debugging dumps"
+ msgstr ""
+
+-#: c.opt:108
+-#, fuzzy
+-msgid "Do not generate #line directives"
+-msgstr "Ðе генерыраваць ÑÑ–Ð¼Ð²Ð°Ð»ÑŒÐ½Ñ‹Ñ Ñ–Ð½Ñтрукцыі"
+-
+-#: c.opt:112
+-msgid "Undefine <macro>"
++#: common.opt:441
++msgid "Suppress output of instruction numbers, line number notes and addresses in debugging dumps"
+ msgstr ""
+
+-#: c.opt:116
+-msgid "Warn about things that will change when compiling with an ABI-compliant compiler"
++#: common.opt:445
++msgid "Perform early inlining"
+ msgstr ""
+
+-#: c.opt:120
+-msgid "Warn about suspicious uses of memory addresses"
++#: common.opt:449
++msgid "Perform DWARF2 duplicate elimination"
+ msgstr ""
+
+-#: c.opt:124
+-msgid "Enable most warning messages"
++#: common.opt:453 common.opt:457
++msgid "Perform unused type elimination in debug info"
+ msgstr ""
+
+-#: c.opt:128
+-msgid "Warn if a comparison is always true or always false due to the limited range of the data type"
++#: common.opt:461
++msgid "Do not suppress C++ class debug information."
+ msgstr ""
+
+-#: c.opt:132
+-msgid "Warn whenever an Objective-C assignment is being intercepted by the garbage collector"
+-msgstr ""
++#: common.opt:465
++msgid "Enable exception handling"
++msgstr "Уключыць апрацоўку выключÑньнÑÑž"
+
+-#: c.opt:136
+-msgid "Warn about casting functions to incompatible types"
++#: common.opt:469
++msgid "Perform a number of minor, expensive optimizations"
+ msgstr ""
+
+-#: c.opt:140
+-msgid "Warn about C constructs that are not in the common subset of C and C++"
++#: common.opt:476
++msgid "Assume no NaNs or infinities are generated"
+ msgstr ""
+
+-#: c.opt:144
+-msgid "Warn about C++ constructs whose meaning differs between ISO C++ 1998 and ISO C++ 200x"
++#: common.opt:480
++msgid "Mark <register> as being unavailable to the compiler"
+ msgstr ""
+
+-#: c.opt:148
+-msgid "Warn about casts which discard qualifiers"
++#: common.opt:484
++msgid "Don't allocate floats and doubles in extended-precision registers"
+ msgstr ""
+
+-#: c.opt:152
+-msgid "Warn about subscripts whose type is \"char\""
++#: common.opt:488 common.opt:647 common.opt:855 common.opt:986 common.opt:1061
++msgid "Does nothing. Preserved for backward compatibility."
+ msgstr ""
+
+-#: c.opt:156
+-msgid "Warn about variables that might be changed by \"longjmp\" or \"vfork\""
++#: common.opt:492
++msgid "Perform a forward propagation pass on RTL"
+ msgstr ""
+
+-#: c.opt:160
+-msgid "Warn about possibly nested block comments, and C++ comments spanning more than one physical line"
++#: common.opt:499
++msgid "Allow function addresses to be held in registers"
+ msgstr ""
+
+-#: c.opt:164
+-msgid "Synonym for -Wcomment"
+-msgstr ""
+-
+-#: c.opt:168
+-msgid "Warn for implicit type conversions that may change a value"
+-msgstr ""
+-
+-#: c.opt:172
+-msgid "Warn for implicit type conversions between signed and unsigned integers"
+-msgstr ""
+-
+-#: c.opt:176
+-msgid "Warn when all constructors and destructors are private"
+-msgstr ""
+-
+-#: c.opt:180
+-msgid "Warn when a declaration is found after a statement"
+-msgstr ""
+-
+-#: c.opt:184
+-msgid "Warn about deprecated compiler features"
+-msgstr ""
+-
+-#: c.opt:188
+-msgid "Warn about compile-time integer division by zero"
+-msgstr ""
+-
+-#: c.opt:192
+-msgid "Warn about violations of Effective C++ style rules"
+-msgstr ""
+-
+-#: c.opt:196
++#: common.opt:503
+ #, fuzzy
+-msgid "Warn about an empty body in an if or else statement"
+-msgstr "пуÑтое цела Ñž else-выражÑнні"
++msgid "Place each function into its own section"
++msgstr "адзін раз Ð´Ð»Ñ ÐºÐ¾Ð¶Ð½Ð°Ð¹ функцыі, дзе ён з'ÑўлÑецца.)"
+
+-#: c.opt:200
+-msgid "Warn about stray tokens after #elif and #endif"
++#: common.opt:507
++msgid "Perform global common subexpression elimination"
+ msgstr ""
+
+-#: c.opt:208
+-msgid "This switch is deprecated; use -Werror=implicit-function-declaration instead"
++#: common.opt:511
++msgid "Perform enhanced load motion during global common subexpression elimination"
+ msgstr ""
+
+-#: c.opt:212
+-msgid "Warn if testing floating point numbers for equality"
++#: common.opt:515
++msgid "Perform store motion after global common subexpression elimination"
+ msgstr ""
+
+-#: c.opt:216
+-msgid "Warn about printf/scanf/strftime/strfmon format string anomalies"
++#: common.opt:519
++msgid "Perform redundant load after store elimination in global common subexpression"
+ msgstr ""
+
+-#: c.opt:220
+-#, fuzzy
+-msgid "Warn if passing too many arguments to a function for its format string"
+-msgstr "вельмі шмат аргумÑнтаў у функцыі `%s'"
+-
+-#: c.opt:224
+-msgid "Warn about format strings that are not literals"
++#: common.opt:524
++msgid "Perform global common subexpression elimination after register allocation"
+ msgstr ""
+
+-#: c.opt:228
+-msgid "Warn about format strings that contain NUL bytes"
++#: common.opt:529
++msgid "Enable guessing of branch probabilities"
+ msgstr ""
+
+-#: c.opt:232
+-msgid "Warn about possible security problems with format functions"
++#: common.opt:537
++msgid "Process #ident directives"
+ msgstr ""
+
+-#: c.opt:236
+-msgid "Warn about strftime formats yielding 2-digit years"
++#: common.opt:541
++msgid "Perform conversion of conditional jumps to branchless equivalents"
+ msgstr ""
+
+-#: c.opt:240
+-msgid "Warn about zero-length formats"
++#: common.opt:545
++msgid "Perform conversion of conditional jumps to conditional execution"
+ msgstr ""
+
+-#: c.opt:247
+-msgid "Warn about variables which are initialized to themselves"
++#: common.opt:553
++msgid "Do not generate .size directives"
+ msgstr ""
+
+-#: c.opt:254
+-msgid "Warn about implicit function declarations"
++#: common.opt:562
++msgid "Pay attention to the \"inline\" keyword"
+ msgstr ""
+
+-#: c.opt:258
+-msgid "Warn when a declaration does not specify a type"
++#: common.opt:566
++msgid "Integrate simple functions into their callers when code size is known to not growth"
+ msgstr ""
+
+-#: c.opt:262
+-msgid "Deprecated. This switch has no effect"
++#: common.opt:570
++msgid "Integrate simple functions into their callers"
+ msgstr ""
+
+-#: c.opt:266
+-msgid "Warn when there is a cast to a pointer from an integer of a different size"
++#: common.opt:574
++msgid "Integrate functions called once into their callers"
+ msgstr ""
+
+-#: c.opt:270
+-msgid "Warn about invalid uses of the \"offsetof\" macro"
++#: common.opt:581
++msgid "Limit the size of inlined functions to <number>"
+ msgstr ""
+
+-#: c.opt:274
+-msgid "Warn about PCH files that are found but not used"
++#: common.opt:585
++msgid "Instrument function entry and exit with profiling calls"
+ msgstr ""
+
+-#: c.opt:278
+-msgid "Do not warn about using \"long long\" when -pedantic"
++#: common.opt:589
++msgid "-finstrument-functions-exclude-function-list=name,... Do not instrument listed functions"
+ msgstr ""
+
+-#: c.opt:282
+-#, fuzzy
+-msgid "Warn about suspicious declarations of \"main\""
+-msgstr "нÑма папÑÑ€ÑднÑга аб'ÑÑžÐ»ÐµÐ½Ð½Ñ Ð´Ð»Ñ \"%s\""
+-
+-#: c.opt:286
+-msgid "Warn about possibly missing braces around initializers"
++#: common.opt:593
++msgid "-finstrument-functions-exclude-file-list=filename,... Do not instrument functions listed in files"
+ msgstr ""
+
+-#: c.opt:290
+-#, fuzzy
+-msgid "Warn about global functions without previous declarations"
+-msgstr "ÑÐµÐºÑ†Ñ‹Ñ \"%s\" канфліктуе з папÑÑ€ÑднÑй дÑкларацыÑй"
+-
+-#: c.opt:294
+-msgid "Warn about missing fields in struct initializers"
++#: common.opt:597
++msgid "Perform Interprocedural constant propagation"
+ msgstr ""
+
+-#: c.opt:298
+-msgid "Warn about functions which might be candidates for format attributes"
++#: common.opt:601
++msgid "Discover pure and const functions"
+ msgstr ""
+
+-#: c.opt:302
+-msgid "Warn about user-specified include directories that do not exist"
++#: common.opt:605
++msgid "Perform interprocedural points-to analysis"
+ msgstr ""
+
+-#: c.opt:306
+-msgid "Warn about function parameters declared without a type specifier in K&R-style functions"
++#: common.opt:609
++msgid "Discover readonly and non addressable static variables"
+ msgstr ""
+
+-#: c.opt:310
+-msgid "Warn about global functions without prototypes"
++#: common.opt:613
++msgid "Type based escape and alias analysis"
+ msgstr ""
+
+-#: c.opt:314
+-#, fuzzy
+-msgid "Warn about use of multi-character character constants"
+-msgstr "мнагаÑÑ–Ð¼Ð²Ð°Ð»ÑŒÐ½Ð°Ñ ÑÑ–Ð¼Ð²Ð°Ð»ÑŒÐ½Ð°Ñ ÐºÐ°Ð½Ñтанта"
+-
+-#: c.opt:318
+-msgid "Warn about \"extern\" declarations not at file scope"
++#: common.opt:617
++msgid "Perform matrix layout flattening and transposing based"
+ msgstr ""
+
+-#: c.opt:322
+-msgid "Warn when non-templatized friend functions are declared within a template"
++#: common.opt:622
++msgid "Perform structure layout optimizations based"
+ msgstr ""
+
+-#: c.opt:326
+-msgid "Warn about non-virtual destructors"
++#: common.opt:627
++msgid "Optimize induction variables on trees"
+ msgstr ""
+
+-#: c.opt:330
+-msgid "Warn about NULL being passed to argument slots marked as requiring non-NULL"
++#: common.opt:631
++msgid "Use jump tables for sufficiently large switch statements"
+ msgstr ""
+
+-#: c.opt:334
+-msgid "Warn about non-normalised Unicode strings"
++#: common.opt:635
++msgid "Generate code for functions even if they are fully inlined"
+ msgstr ""
+
+-#: c.opt:338
+-msgid "Warn if a C-style cast is used in a program"
++#: common.opt:639
++msgid "Emit static const variables even if they are not used"
+ msgstr ""
+
+-#: c.opt:342
+-msgid "Warn for obsolescent usage in a declaration"
++#: common.opt:643
++msgid "Give external symbols a leading underscore"
+ msgstr ""
+
+-#: c.opt:346
+-msgid "Warn if an old-style parameter definition is used"
++#: common.opt:651
++msgid "Set errno after built-in math functions"
+ msgstr ""
+
+-#: c.opt:350
+-msgid "Warn if a string is longer than the maximum portable length specified by the standard"
++#: common.opt:655
++msgid "Report on permanent memory allocation"
+ msgstr ""
+
+-#: c.opt:354
+-msgid "Warn about overloaded virtual function names"
++#: common.opt:662
++msgid "Attempt to merge identical constants and constant variables"
+ msgstr ""
+
+-#: c.opt:358
+-msgid "Warn about overriding initializers without side effects"
++#: common.opt:666
++msgid "Attempt to merge identical constants across compilation units"
+ msgstr ""
+
+-#: c.opt:362
+-msgid "Warn about possibly missing parentheses"
++#: common.opt:670
++msgid "Attempt to merge identical debug strings across compilation units"
+ msgstr ""
+
+-#: c.opt:366
+-msgid "Warn when converting the type of pointers to member functions"
++#: common.opt:674
++msgid "Limit diagnostics to <number> characters per line. 0 suppresses line-wrapping"
+ msgstr ""
+
+-#: c.opt:370
+-msgid "Warn about function pointer arithmetic"
++#: common.opt:678
++msgid "Perform SMS based modulo scheduling before the first scheduling pass"
+ msgstr ""
+
+-#: c.opt:374
+-msgid "Warn when a pointer is cast to an integer of a different size"
++#: common.opt:682
++msgid "Perform SMS based modulo scheduling with register moves allowed"
+ msgstr ""
+
+-#: c.opt:378
+-msgid "Warn about misuses of pragmas"
++#: common.opt:686
++msgid "Move loop invariant computations out of loops"
+ msgstr ""
+
+-#: c.opt:382
+-msgid "Warn if inherited methods are unimplemented"
++#: common.opt:690
++msgid "Add mudflap bounds-checking instrumentation for single-threaded program"
+ msgstr ""
+
+-#: c.opt:386
+-msgid "Warn about multiple declarations of the same object"
++#: common.opt:694
++msgid "Add mudflap bounds-checking instrumentation for multi-threaded program"
+ msgstr ""
+
+-#: c.opt:390
+-msgid "Warn when the compiler reorders code"
++#: common.opt:698
++msgid "Ignore read operations when inserting mudflap instrumentation"
+ msgstr ""
+
+-#: c.opt:394
+-msgid "Warn whenever a function's return type defaults to \"int\" (C), or about inconsistent return types (C++)"
++#: common.opt:702
++msgid "Use the RTL dead code elimination pass"
+ msgstr ""
+
+-#: c.opt:398
+-msgid "Warn if a selector has multiple methods"
++#: common.opt:706
++msgid "Use the RTL dead store elimination pass"
+ msgstr ""
+
+-#: c.opt:402
+-msgid "Warn about possible violations of sequence point rules"
++#: common.opt:710
++msgid "Enable/Disable the traditional scheduling in loops that already passed modulo scheduling"
+ msgstr ""
+
+-#: c.opt:406
+-msgid "Warn about signed-unsigned comparisons"
++#: common.opt:714
++msgid "Support synchronous non-call exceptions"
+ msgstr ""
+
+-#: c.opt:410
+-msgid "Warn when overload promotes from unsigned to signed"
++#: common.opt:718
++msgid "When possible do not generate stack frames"
+ msgstr ""
+
+-#: c.opt:414
+-msgid "Warn about uncasted NULL used as sentinel"
++#: common.opt:722
++msgid "Expand OpenMP operations on SSA form"
+ msgstr ""
+
+-#: c.opt:418
+-#, fuzzy
+-msgid "Warn about unprototyped function declarations"
+-msgstr "нÑма папÑÑ€ÑднÑга аб'ÑÑžÐ»ÐµÐ½Ð½Ñ Ð´Ð»Ñ \"%s\""
+-
+-#: c.opt:422
+-msgid "Warn if type signatures of candidate methods do not match exactly"
++#: common.opt:726
++msgid "Do the full register move optimization pass"
+ msgstr ""
+
+-#: c.opt:426
+-msgid "Warn when synthesis behavior differs from Cfront"
++#: common.opt:730
++msgid "Optimize sibling and tail recursive calls"
+ msgstr ""
+
+-#: c.opt:430 common.opt:182
+-msgid "Do not suppress warnings from system headers"
++#: common.opt:734 common.opt:738
++msgid "Report on memory allocation before interprocedural optimization"
+ msgstr ""
+
+-#: c.opt:434
+-msgid "Warn about features not present in traditional C"
++#: common.opt:742
++msgid "Pack structure members together without holes"
+ msgstr ""
+
+-#: c.opt:438
+-msgid "Warn of prototypes causing type conversions different from what would happen in the absence of prototype"
++#: common.opt:746
++msgid "Set initial maximum structure member alignment"
+ msgstr ""
+
+-#: c.opt:442
+-msgid "Warn if trigraphs are encountered that might affect the meaning of the program"
++#: common.opt:750
++msgid "Return small aggregates in memory, not registers"
+ msgstr ""
+
+-#: c.opt:446
+-msgid "Warn about @selector()s without previously declared methods"
++#: common.opt:754
++msgid "Perform loop peeling"
+ msgstr ""
+
+-#: c.opt:450
+-msgid "Warn if an undefined macro is used in an #if directive"
++#: common.opt:758
++msgid "Enable machine specific peephole optimizations"
+ msgstr ""
+
+-#: c.opt:454
+-msgid "Warn about unrecognized pragmas"
++#: common.opt:762
++msgid "Enable an RTL peephole pass before sched2"
+ msgstr ""
+
+-#: c.opt:458
+-msgid "Warn about macros defined in the main file that are not used"
++#: common.opt:766
++msgid "Generate position-independent code if possible (large mode)"
+ msgstr ""
+
+-#: c.opt:462
+-msgid "Do not warn about using variadic macros when -pedantic"
++#: common.opt:770
++msgid "Generate position-independent code for executables if possible (large mode)"
+ msgstr ""
+
+-#: c.opt:466
+-msgid "Warn if a variable length array is used"
++#: common.opt:774
++msgid "Generate position-independent code if possible (small mode)"
+ msgstr ""
+
+-#: c.opt:470
+-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."
++#: common.opt:778
++msgid "Generate position-independent code for executables if possible (small mode)"
+ msgstr ""
+
+-#: c.opt:474
+-msgid "Warn when a pointer differs in signedness in an assignment"
++#: common.opt:782
++msgid "Run predictive commoning optimization."
+ msgstr ""
+
+-#: c.opt:478
+-msgid "A synonym for -std=c89 (for C) or -std=c++98 (for C++)"
++#: common.opt:786
++msgid "Generate prefetch instructions, if available, for arrays in loops"
+ msgstr ""
+
+-#: c.opt:486
+-msgid "Enforce class member access control semantics"
++#: common.opt:790
++msgid "Enable basic program profiling code"
+ msgstr ""
+
+-#: c.opt:493
+-msgid "Change when template instances are emitted"
++#: common.opt:794
++msgid "Insert arc-based program profiling code"
+ msgstr ""
+
+-#: c.opt:497
+-msgid "Recognize the \"asm\" keyword"
++#: common.opt:798
++msgid "Enable common options for generating profile info for profile feedback directed optimizations"
+ msgstr ""
+
+-#: c.opt:501
+-#, fuzzy
+-msgid "Recognize built-in functions"
+-msgstr "Ðе генерыраваць ÑÑ–Ð¼Ð²Ð°Ð»ÑŒÐ½Ñ‹Ñ Ñ–Ð½Ñтрукцыі"
+-
+-#: c.opt:508
+-msgid "Check the return value of new"
++#: common.opt:802
++msgid "Enable common options for performing profile feedback directed optimizations"
+ msgstr ""
+
+-#: c.opt:512
+-msgid "Allow the arguments of the '?' operator to have different types"
++#: common.opt:806
++msgid "Insert code to profile values of expressions"
+ msgstr ""
+
+-#: c.opt:516
+-msgid "Reduce the size of object files"
++#: common.opt:813
++msgid "Make compile reproducible using <string>"
+ msgstr ""
+
+-#: c.opt:520
+-msgid "Use class <name> for constant strings"
++#: common.opt:823
++msgid "Record gcc command line switches in the object file."
+ msgstr ""
+
+-#: c.opt:524
++#: common.opt:827
+ #, fuzzy
+-msgid "Inline member functions by default"
+-msgstr "у функцыі \"%s\":"
++msgid "Return small aggregates in registers"
++msgstr "Ðе выкарыÑтоўваць Ñ€ÑгіÑтра sb"
+
+-#: c.opt:528
+-msgid "Preprocess directives only."
++#: common.opt:831
++msgid "Enables a register move optimization"
+ msgstr ""
+
+-#: c.opt:532
+-msgid "Permit '$' as an identifier character"
++#: common.opt:835
++msgid "Perform a register renaming optimization pass"
+ msgstr ""
+
+-#: c.opt:539
+-#, fuzzy
+-msgid "Generate code to check exception specifications"
+-msgstr "\"%s\" не абвешчан (першае выкарыÑтанне Ñž гÑтай функцыі)"
+-
+-#: c.opt:546
+-msgid "Convert all strings and character constants to character set <cset>"
++#: common.opt:839
++msgid "Reorder basic blocks to improve code placement"
+ msgstr ""
+
+-#: c.opt:550
+-msgid "Permit universal character names (\\u and \\U) in identifiers"
++#: common.opt:843
++msgid "Reorder basic blocks and partition into hot and cold sections"
+ msgstr ""
+
+-#: c.opt:554
+-msgid "Specify the default character set for source files"
++#: common.opt:847
++msgid "Reorder functions to improve code placement"
+ msgstr ""
+
+-#: c.opt:562
+-msgid "Scope of for-init-statement variables is local to the loop"
++#: common.opt:851
++msgid "Add a common subexpression elimination pass after loop optimizations"
+ msgstr ""
+
+-#: c.opt:566
+-msgid "Do not assume that standard C libraries and \"main\" exist"
++#: common.opt:859
++msgid "Disable optimizations that assume default FP rounding behavior"
+ msgstr ""
+
+-#: c.opt:570
+-msgid "Recognize GNU-defined keywords"
++#: common.opt:863
++msgid "Enable scheduling across basic blocks"
+ msgstr ""
+
+-#: c.opt:574
+-msgid "Generate code for GNU runtime environment"
++#: common.opt:867
++msgid "Allow speculative motion of non-loads"
+ msgstr ""
+
+-#: c.opt:578
+-msgid "Use traditional GNU semantics for inline functions"
++#: common.opt:871
++msgid "Allow speculative motion of some loads"
+ msgstr ""
+
+-#: c.opt:591
+-msgid "Assume normal C execution environment"
++#: common.opt:875
++msgid "Allow speculative motion of more loads"
+ msgstr ""
+
+-#: c.opt:595
+-msgid "Enable support for huge objects"
++#: common.opt:879
++msgid "Set the verbosity level of the scheduler"
+ msgstr ""
+
+-#: c.opt:599
+-msgid "Export functions even if they can be inlined"
++#: common.opt:883
++msgid "If scheduling post reload, do superblock scheduling"
+ msgstr ""
+
+-#: c.opt:603
+-#, fuzzy
+-msgid "Emit implicit instantiations of inline templates"
+-msgstr "паўторнае абвÑшчÑнне меткі \"%s\""
+-
+-#: c.opt:607
+-#, fuzzy
+-msgid "Emit implicit instantiations of templates"
+-msgstr "паўторнае абвÑшчÑнне меткі \"%s\""
+-
+-#: c.opt:611
+-msgid "Inject friend functions into enclosing namespace"
++#: common.opt:887
++msgid "If scheduling post reload, do trace scheduling"
+ msgstr ""
+
+-#: c.opt:618
+-msgid "Allow implicit conversions between vectors with differing numbers of subparts and/or differing element types."
++#: common.opt:891
++msgid "Reschedule instructions before register allocation"
+ msgstr ""
+
+-#: c.opt:622
+-msgid "Don't warn about uses of Microsoft extensions"
++#: common.opt:895
++msgid "Reschedule instructions after register allocation"
+ msgstr ""
+
+-#: c.opt:632
+-msgid "Generate code for NeXT (Apple Mac OS X) runtime environment"
++#: common.opt:901
++msgid "Allow premature scheduling of queued insns"
+ msgstr ""
+
+-#: c.opt:636
+-msgid "Assume that receivers of Objective-C messages may be nil"
++#: common.opt:905
++msgid "Set number of queued insns that can be prematurely scheduled"
+ msgstr ""
+
+-#: c.opt:648
+-msgid "Generate special Objective-C methods to initialize/destroy non-POD C++ ivars, if needed"
++#: common.opt:913 common.opt:917
++msgid "Set dependence distance checking in premature scheduling of queued insns"
+ msgstr ""
+
+-#: c.opt:652
+-msgid "Allow fast jumps to the message dispatcher"
++#: common.opt:921
++msgid "Access data in the same section from shared anchor points"
+ msgstr ""
+
+-#: c.opt:658
+-msgid "Enable Objective-C exception and synchronization syntax"
++#: common.opt:925
++msgid "Perform sequence abstraction optimization on RTL"
+ msgstr ""
+
+-#: c.opt:662
+-msgid "Enable garbage collection (GC) in Objective-C/Objective-C++ programs"
++#: common.opt:929
++msgid "Eliminate redundant sign extensions using LCM."
+ msgstr ""
+
+-#: c.opt:667
+-#, fuzzy
+-msgid "Enable Objective-C setjmp exception handling runtime"
+-msgstr "Уключыць апрацоўку выключÑньнÑÑž"
+-
+-#: c.opt:671
+-msgid "Enable OpenMP"
++#: common.opt:933
++msgid "Show column numbers in diagnostics, when available. Default off"
+ msgstr ""
+
+-#: c.opt:675
+-msgid "Recognize C++ kewords like \"compl\" and \"xor\""
++#: common.opt:937
++msgid "Disable optimizations observable by IEEE signaling NaNs"
+ msgstr ""
+
+-#: c.opt:679
+-#, fuzzy
+-msgid "Enable optional diagnostics"
+-msgstr "Уключаць SSA аптымізацыю"
+-
+-#: c.opt:686
+-msgid "Look for and use PCH files even when preprocessing"
++#: common.opt:941
++msgid "Disable floating point optimizations that ignore the IEEE signedness of zero"
+ msgstr ""
+
+-#: c.opt:690
+-msgid "Downgrade conformance errors to warnings"
++#: common.opt:945
++msgid "Convert floating point constants to single precision constants"
+ msgstr ""
+
+-#: c.opt:694
+-msgid "Treat the input file as already preprocessed"
++#: common.opt:949
++msgid "Split lifetimes of induction variables when loops are unrolled"
+ msgstr ""
+
+-#: c.opt:698
+-msgid "Used in Fix-and-Continue mode to indicate that object files may be swapped in at runtime"
++#: common.opt:953
++msgid "Split wide types into independent registers"
+ msgstr ""
+
+-#: c.opt:702
+-msgid "Enable automatic template instantiation"
++#: common.opt:957
++msgid "Apply variable expansion when loops are unrolled"
+ msgstr ""
+
+-#: c.opt:706
+-msgid "Generate run time type descriptor information"
+-msgstr ""
++#: common.opt:963
++msgid "Insert stack checking code into the program"
++msgstr "Уключаць код правÑркі ÑÑ‚Ñку Ñž праграму"
+
+-#: c.opt:710
+-msgid "Use the same size for double as for float"
++#: common.opt:970
++msgid "Trap if the stack goes past <register>"
+ msgstr ""
+
+-#: c.opt:718
+-msgid "Force the underlying type for \"wchar_t\" to be \"unsigned short\""
++#: common.opt:974
++msgid "Trap if the stack goes past symbol <name>"
+ msgstr ""
+
+-#: c.opt:722
+-msgid "When \"signed\" or \"unsigned\" is not given make the bitfield signed"
++#: common.opt:978
++msgid "Use propolice as a stack protection method"
+ msgstr ""
+
+-#: c.opt:726
+-msgid "Make \"char\" signed by default"
++#: common.opt:982
++msgid "Use a stack protection method for every function"
+ msgstr ""
+
+-#: c.opt:733
+-msgid "Display statistics accumulated during compilation"
++#: common.opt:994
++msgid "Assume strict aliasing rules apply"
+ msgstr ""
+
+-#: c.opt:740
+-msgid "Distance between tab stops for column reporting"
++#: common.opt:998
++msgid "Treat signed overflow as undefined"
+ msgstr ""
+
+-#: c.opt:744
+-msgid "Specify maximum template instantiation depth"
++#: common.opt:1002
++msgid "Check for syntax errors, then stop"
+ msgstr ""
+
+-#: c.opt:751
+-#, fuzzy
+-msgid "Do not generate thread-safe code for initializing local statics"
+-msgstr "Генерыраваць код Ð´Ð»Ñ Intel as"
+-
+-#: c.opt:755
+-msgid "When \"signed\" or \"unsigned\" is not given make the bitfield unsigned"
++#: common.opt:1006
++msgid "Create data files needed by \"gcov\""
+ msgstr ""
+
+-#: c.opt:759
+-msgid "Make \"char\" unsigned by default"
++#: common.opt:1010
++msgid "Perform jump threading optimizations"
+ msgstr ""
+
+-#: c.opt:763
+-msgid "Use __cxa_atexit to register destructors"
++#: common.opt:1014
++msgid "Report the time taken by each compiler pass"
+ msgstr ""
+
+-#: c.opt:767
+-msgid "Use __cxa_get_exception_ptr in exception handling"
++#: common.opt:1018
++msgid "Set the default thread-local storage code generation model"
+ msgstr ""
+
+-#: c.opt:771
+-msgid "Marks all inlined methods as having hidden visibility"
++#: common.opt:1022
++msgid "Reorder top level functions, variables, and asms"
+ msgstr ""
+
+-#: c.opt:775
+-msgid "Changes visibility to match Microsoft Visual Studio by default"
++#: common.opt:1026
++msgid "Perform superblock formation via tail duplication"
+ msgstr ""
+
+-#: c.opt:779
+-msgid "Discard unused virtual functions"
++#: common.opt:1033
++msgid "Assume floating-point operations can trap"
+ msgstr ""
+
+-#: c.opt:783
+-msgid "Implement vtables using thunks"
++#: common.opt:1037
++msgid "Trap for signed overflow in addition, subtraction and multiplication"
+ msgstr ""
+
+-#: c.opt:787
+-msgid "Emit common-like symbols as weak symbols"
+-msgstr ""
++#: common.opt:1041
++#, fuzzy
++msgid "Enable SSA-CCP optimization on trees"
++msgstr "Уключаць SSA аптымізацыю"
+
+-#: c.opt:791
+-msgid "Convert all wide strings and character constants to character set <cset>"
+-msgstr ""
++#: common.opt:1045
++#, fuzzy
++msgid "Enable SSA-CCP optimization for stores and loads"
++msgstr "Уключаць SSA аптымізацыю"
+
+-#: c.opt:795
+-msgid "Generate a #line directive pointing at the current working directory"
++#: common.opt:1049
++msgid "Enable loop header copying on trees"
+ msgstr ""
+
+-#: c.opt:799
+-msgid "Emit cross referencing information"
++#: common.opt:1053
++msgid "Replace SSA temporaries with better names in copies"
+ msgstr ""
+
+-#: c.opt:803
+-msgid "Generate lazy class lookup (via objc_getClass()) for use in Zero-Link mode"
++#: common.opt:1057
++msgid "Enable copy propagation on trees"
+ msgstr ""
+
+-#: c.opt:807
+-msgid "Dump declarations to a .decl file"
++#: common.opt:1065
++msgid "Transform condition stores into unconditional ones"
+ msgstr ""
+
+-#: c.opt:811
+-msgid "Aggressive reduced debug info for structs"
+-msgstr ""
++#: common.opt:1069
++#, fuzzy
++msgid "Enable SSA dead code elimination optimization on trees"
++msgstr "Уключаць SSA аптымізацыю"
+
+-#: c.opt:815
+-msgid "Conservative reduced debug info for structs"
+-msgstr ""
++#: common.opt:1073
++#, fuzzy
++msgid "Enable dominator optimizations"
++msgstr "Уключаць SSA аптымізацыю"
+
+-#: c.opt:819
+-msgid "Detailed reduced debug info for structs"
+-msgstr ""
++#: common.opt:1077
++#, fuzzy
++msgid "Enable dead store elimination"
++msgstr "Уключаць SSA аптымізацыю"
+
+-#: c.opt:823 c.opt:855
+-msgid "Add <dir> to the end of the system include path"
++#: common.opt:1081
++msgid "Enable Full Redundancy Elimination (FRE) on trees"
+ msgstr ""
+
+-#: c.opt:827
+-msgid "Accept definition of macros in <file>"
++#: common.opt:1085
++msgid "Enable loop invariant motion on trees"
+ msgstr ""
+
+-#: c.opt:831
+-msgid "-imultilib <dir> Set <dir> to be the multilib include subdirectory"
++#: common.opt:1089
++msgid "Enable linear loop transforms on trees"
+ msgstr ""
+
+-#: c.opt:835
+-msgid "Include the contents of <file> before other files"
++#: common.opt:1093
++msgid "Create canonical induction variables in loops"
+ msgstr ""
+
+-#: c.opt:839
+-msgid "Specify <path> as a prefix for next two options"
+-msgstr ""
++#: common.opt:1097
++#, fuzzy
++msgid "Enable loop optimizations on tree level"
++msgstr "Уключаць SSA аптымізацыю"
+
+-#: c.opt:843
+-msgid "Set <dir> to be the system root directory"
++#: common.opt:1101
++msgid "Enable automatic parallelization of loops"
+ msgstr ""
+
+-#: c.opt:847
+-msgid "Add <dir> to the start of the system include path"
+-msgstr ""
++#: common.opt:1105
++#, fuzzy
++msgid "Enable SSA-PRE optimization on trees"
++msgstr "Уключаць SSA аптымізацыю"
+
+-#: c.opt:851
+-msgid "Add <dir> to the end of the quote include path"
++#: common.opt:1109
++msgid "Enable reassociation on tree level"
+ msgstr ""
+
+-#: c.opt:872
+-msgid "Do not search standard system include directories (those specified with -isystem will still be used)"
++#: common.opt:1113
++msgid "Perform structural alias analysis"
+ msgstr ""
+
+-#: c.opt:876
+-msgid "Do not search standard system include directories for C++"
+-msgstr ""
++#: common.opt:1117
++#, fuzzy
++msgid "Enable SSA code sinking on trees"
++msgstr "Уключаць SSA аптымізацыю"
+
+-#: c.opt:892
+-msgid "Generate C header of platform-specific features"
++#: common.opt:1121
++msgid "Perform scalar replacement of aggregates"
+ msgstr ""
+
+-#: c.opt:896
+-msgid "Print a checksum of the executable for PCH validity checking, and stop"
++#: common.opt:1125
++msgid "Replace temporary expressions in the SSA->normal pass"
+ msgstr ""
+
+-#: c.opt:900
+-msgid "Remap file names when including files"
++#: common.opt:1129
++msgid "Perform live range splitting during the SSA->normal pass"
+ msgstr ""
+
+-#: c.opt:904
+-msgid "Conform to the ISO 1998 C++ standard"
++#: common.opt:1133
++msgid "Perform Value Range Propagation on trees"
+ msgstr ""
+
+-#: c.opt:908
+-msgid "Conform to the ISO 1998 C++ standard, with extensions that are likely to"
++#: common.opt:1137
++msgid "Compile whole compilation unit at a time"
+ msgstr ""
+
+-#: c.opt:915 c.opt:950
+-msgid "Conform to the ISO 1990 C standard"
++#: common.opt:1141
++msgid "Perform loop unrolling when iteration count is known"
+ msgstr ""
+
+-#: c.opt:919 c.opt:958
+-msgid "Conform to the ISO 1999 C standard"
++#: common.opt:1145
++msgid "Perform loop unrolling for all loops"
+ msgstr ""
+
+-#: c.opt:923
+-msgid "Deprecated in favor of -std=c99"
++#: common.opt:1152
++msgid "Allow loop optimizations to assume that the loops behave in normal way"
+ msgstr ""
+
+-#: c.opt:927
+-msgid "Conform to the ISO 1998 C++ standard with GNU extensions"
++#: common.opt:1156
++msgid "Allow optimization for floating-point arithmetic which may change the"
+ msgstr ""
+
+-#: c.opt:931
+-msgid "Conform to the ISO 1998 C++ standard, with GNU extensions and"
++#: common.opt:1161
++msgid "Same as -fassociative-math for expressions which include division."
+ msgstr ""
+
+-#: c.opt:938
+-msgid "Conform to the ISO 1990 C standard with GNU extensions"
++#: common.opt:1169
++msgid "Allow math optimizations that may violate IEEE or ISO standards"
+ msgstr ""
+
+-#: c.opt:942
+-msgid "Conform to the ISO 1999 C standard with GNU extensions"
++#: common.opt:1173
++msgid "Perform loop unswitching"
+ msgstr ""
+
+-#: c.opt:946
+-msgid "Deprecated in favor of -std=gnu99"
++#: common.opt:1177
++msgid "Just generate unwind tables for exception handling"
+ msgstr ""
+
+-#: c.opt:954
+-msgid "Conform to the ISO 1990 C standard as amended in 1994"
++#: common.opt:1181
++msgid "Perform variable tracking"
+ msgstr ""
+
+-#: c.opt:962
+-msgid "Deprecated in favor of -std=iso9899:1999"
++#: common.opt:1185
++msgid "Perform variable tracking and also tag variables that are uninitialized"
+ msgstr ""
+
+-#: c.opt:966
+-msgid "Enable traditional preprocessing"
+-msgstr ""
+-
+-#: c.opt:970
+-msgid "Support ISO C trigraphs"
+-msgstr ""
+-
+-#: c.opt:974
+-msgid "Do not predefine system-specific and GCC-specific macros"
+-msgstr ""
+-
+-#: c.opt:978
+-msgid "Enable verbose output"
+-msgstr ""
+-
+-#: common.opt:27
++#: common.opt:1189
+ #, fuzzy
+-msgid "Display this information"
+-msgstr " --help ÐдлюÑтраваць гÑту інфармацыю\n"
++msgid "Enable loop vectorization on trees"
++msgstr "Уключаць SSA аптымізацыю"
+
+-#: common.opt:31
+-msgid "Display descriptions of a specific class of options. <class> is one or more of optimizers, target, warnings, undocumented, params"
++#: common.opt:1193
++msgid "Enable use of cost model in vectorization"
+ msgstr ""
+
+-#: common.opt:35
+-msgid "Alias for --help=target"
++#: common.opt:1197
++msgid "Enable loop versioning when doing loop vectorization on trees"
+ msgstr ""
+
+-#: common.opt:51
+-msgid "Set parameter <param> to value. See below for a complete list of parameters"
++#: common.opt:1201
++msgid "Set the verbosity level of the vectorizer"
+ msgstr ""
+
+-#: common.opt:58
+-msgid "Put global and static data smaller than <number> bytes into a special section (on some targets)"
++#: common.opt:1205
++msgid "Enable copy propagation of scalar-evolution information."
+ msgstr ""
+
+-#: common.opt:62
+-#, fuzzy
+-msgid "Set optimization level to <number>"
+-msgstr "Ð°Ð¿Ñ‚Ñ‹Ð¼Ñ–Ð·Ð°Ñ†Ñ‹Ñ ÑƒÐºÐ»ÑŽÑ‡Ð°Ð½Ð°"
+-
+-#: common.opt:66
+-#, fuzzy
+-msgid "Optimize for space rather than speed"
+-msgstr "ÐÐ¿Ñ‚Ñ‹Ð¼Ñ–Ð·Ð°Ñ†Ñ‹Ñ Ð´Ð»Ñ SparcLite працÑÑараў"
+-
+-#: common.opt:70
+-msgid "This switch is deprecated; use -Wextra instead"
++#: common.opt:1215
++msgid "Add extra commentary to assembler output"
+ msgstr ""
+
+-#: common.opt:74
+-msgid "Warn about returning structures, unions or arrays"
++#: common.opt:1219
++msgid "Set the default symbol visibility"
+ msgstr ""
+
+-#: common.opt:78
+-msgid "Warn if an array is accessed out of bounds"
++#: common.opt:1224
++msgid "Use expression value profiles in optimizations"
+ msgstr ""
+
+-#: common.opt:82
+-msgid "Warn about inappropriate attribute usage"
++#: common.opt:1228
++msgid "Construct webs and split unrelated uses of single variable"
+ msgstr ""
+
+-#: common.opt:86
+-msgid "Warn about pointer casts which increase alignment"
++#: common.opt:1232
++msgid "Perform whole program optimizations"
+ msgstr ""
+
+-#: common.opt:90
+-msgid "Warn about uses of __attribute__((deprecated)) declarations"
++#: common.opt:1236
++msgid "Assume signed arithmetic overflow wraps around"
+ msgstr ""
+
+-#: common.opt:94
+-msgid "Warn when an optimization pass is disabled"
++#: common.opt:1240
++msgid "Put zero initialized data in the bss section"
+ msgstr ""
+
+-#: common.opt:98
+-msgid "Treat all warnings as errors"
+-msgstr ""
++#: common.opt:1244
++#, fuzzy
++msgid "Generate debug information in default format"
++msgstr "Генерыраваць код Ð´Ð»Ñ Intel as"
+
+-#: common.opt:102
+-msgid "Treat specified warning as error"
++#: common.opt:1248
++msgid "Generate debug information in COFF format"
+ msgstr ""
+
+-#: common.opt:106
+-msgid "Print extra (possibly unwanted) warnings"
++#: common.opt:1252
++msgid "Generate debug information in DWARF v2 format"
+ msgstr ""
+
+-#: common.opt:110
+-msgid "Exit on the first error occurred"
++#: common.opt:1256
++msgid "Generate debug information in default extended format"
+ msgstr ""
+
+-#: common.opt:114
+-msgid "Warn when an inlined function cannot be inlined"
+-msgstr ""
+-
+-#: common.opt:118
++#: common.opt:1260
+ #, fuzzy
+-msgid "Warn if an object is larger than <number> bytes"
+-msgstr "памер \"%s\" больш чам %d байт"
++msgid "Generate debug information in STABS format"
++msgstr "Стварыць код Ð´Ð»Ñ DLL"
+
+-#: common.opt:122
+-msgid "Warn when a logical operator is suspicously always evaluating to true or false"
++#: common.opt:1264
++msgid "Generate debug information in extended STABS format"
+ msgstr ""
+
+-#: common.opt:126
+-msgid "Warn if the loop cannot be optimized due to nontrivial assumptions."
+-msgstr ""
++#: common.opt:1268
++#, fuzzy
++msgid "Generate debug information in VMS format"
++msgstr "Стварыць код Ð´Ð»Ñ DLL"
+
+-#: common.opt:130
+-msgid "Warn about functions which might be candidates for __attribute__((noreturn))"
++#: common.opt:1272
++msgid "Generate debug information in XCOFF format"
+ msgstr ""
+
+-#: common.opt:134
+-msgid "Warn about overflow in arithmetic expressions"
++#: common.opt:1276
++msgid "Generate debug information in extended XCOFF format"
+ msgstr ""
+
+-#: common.opt:138
+-msgid "Warn when the packed attribute has no effect on struct layout"
+-msgstr ""
++#: common.opt:1280
++#, fuzzy
++msgid "Place output into <file>"
++msgstr " -o <файл> ПамÑÑціць вывад у <файл>\n"
+
+-#: common.opt:142
+-msgid "Warn when padding is required to align structure members"
+-msgstr ""
++#: common.opt:1284
++#, fuzzy
++msgid "Enable function profiling"
++msgstr "Уключыць апрацоўку выключÑньнÑÑž"
+
+-#: common.opt:146
+-msgid "Warn when one local variable shadows another"
++#: common.opt:1288
++msgid "Issue warnings needed for strict compliance to the standard"
+ msgstr ""
+
+-#: common.opt:150
+-msgid "Warn when not issuing stack smashing protection for some reason"
++#: common.opt:1292
++msgid "Like -pedantic but issue them as errors"
+ msgstr ""
+
+-#: common.opt:154 common.opt:158
+-msgid "Warn about code which might break strict aliasing rules"
++#: common.opt:1296
++msgid "Do not display functions compiled or elapsed time"
+ msgstr ""
+
+-#: common.opt:162 common.opt:166
+-msgid "Warn about optimizations that assume that signed overflow is undefined"
++#: common.opt:1300
++msgid "Display the compiler's version"
+ msgstr ""
+
+-#: common.opt:170
+-msgid "Warn about enumerated switches, with no default, missing a case"
+-msgstr ""
++#: common.opt:1304
++#, fuzzy
++msgid "Suppress warnings"
++msgstr "%s: увага: "
+
+-#: common.opt:174
+-msgid "Warn about enumerated switches missing a \"default:\" statement"
++#: common.opt:1308
++msgid "Create a shared library"
+ msgstr ""
+
+-#: common.opt:178
+-msgid "Warn about all enumerated switches missing a specific case"
++#: common.opt:1312
++msgid "Create a position independent executable"
+ msgstr ""
+
+-#: common.opt:186
+-msgid "Warn about uninitialized automatic variables"
++#: c.opt:41
++msgid "Assert the <answer> to <question>. Putting '-' before <question> disables the <answer> to <question>"
+ msgstr ""
+
+-#: common.opt:190
+-msgid "Warn about code that will never be executed"
+-msgstr ""
++#: c.opt:45
++#, fuzzy
++msgid "Do not discard comments"
++msgstr "Ð½ÐµÐ·Ð°Ð²ÐµÑ€ÑˆÐ°Ð½Ñ‹Ñ ÐºÐ°Ð¼ÐµÐ½Ñ‚Ð°Ñ€Ñ‹Ñ–"
+
+-#: common.opt:194
+-msgid "Enable all -Wunused- warnings"
++#: c.opt:49
++msgid "Do not discard comments in macro expansions"
+ msgstr ""
+
+-#: common.opt:198
+-msgid "Warn when a function is unused"
++#: c.opt:53
++msgid "Define a <macro> with <val> as its value. If just <macro> is given, <val> is taken to be 1"
+ msgstr ""
+
+-#: common.opt:202
+-msgid "Warn when a label is unused"
++#: c.opt:60
++msgid "Add <dir> to the end of the main framework include path"
+ msgstr ""
+
+-#: common.opt:206
+-msgid "Warn when a function parameter is unused"
++#: c.opt:64
++msgid "Print the name of header files as they are used"
+ msgstr ""
+
+-#: common.opt:210
+-msgid "Warn when an expression value is unused"
++#: c.opt:68 c.opt:863
++msgid "Add <dir> to the end of the main include path"
+ msgstr ""
+
+-#: common.opt:214
+-msgid "Warn when a variable is unused"
++#: c.opt:72
++msgid "Generate make dependencies"
+ msgstr ""
+
+-#: common.opt:218
+-msgid "Warn when a register variable is declared volatile"
++#: c.opt:76
++msgid "Generate make dependencies and compile"
+ msgstr ""
+
+-#: common.opt:222
+-msgid "Warn instead of error in case profiles in -fprofile-use do not match"
++#: c.opt:80
++msgid "Write dependency output to the given file"
+ msgstr ""
+
+-#: common.opt:226
+-msgid "Emit declaration information into <file>"
++#: c.opt:84
++msgid "Treat missing header files as generated files"
+ msgstr ""
+
+-#: common.opt:239
+-msgid "Enable dumps from specific passes of the compiler"
++#: c.opt:88
++msgid "Like -M but ignore system header files"
+ msgstr ""
+
+-#: common.opt:243
+-msgid "Set the file basename to be used for dumps"
++#: c.opt:92
++msgid "Like -MD but ignore system header files"
+ msgstr ""
+
+-#: common.opt:263
+-msgid "Align the start of functions"
+-msgstr ""
++#: c.opt:96
++#, fuzzy
++msgid "Generate phony targets for all headers"
++msgstr "Генерыраваць код Ð´Ð»Ñ Intel as"
+
+-#: common.opt:270
+-msgid "Align labels which are only reached by jumping"
++#: c.opt:100
++msgid "Add a MAKE-quoted target"
+ msgstr ""
+
+-#: common.opt:277
+-msgid "Align all labels"
++#: c.opt:104
++msgid "Add an unquoted target"
+ msgstr ""
+
+-#: common.opt:284
+-msgid "Align the start of loops"
+-msgstr ""
+-
+-#: common.opt:299
+-msgid "Specify that arguments may alias each other and globals"
+-msgstr ""
+-
+-#: common.opt:303
+-msgid "Assume arguments may alias globals but not each other"
+-msgstr ""
+-
+-#: common.opt:307
+-msgid "Assume arguments alias neither each other nor globals"
+-msgstr ""
+-
+-#: common.opt:311
+-msgid "Assume arguments alias no other storage"
+-msgstr ""
+-
+-#: common.opt:315
+-msgid "Generate unwind tables that are exact at each instruction boundary"
+-msgstr ""
+-
+-#: common.opt:319
++#: c.opt:108
+ #, fuzzy
+-msgid "Generate auto-inc/dec instructions"
++msgid "Do not generate #line directives"
+ msgstr "Ðе генерыраваць ÑÑ–Ð¼Ð²Ð°Ð»ÑŒÐ½Ñ‹Ñ Ñ–Ð½Ñтрукцыі"
+
+-#: common.opt:327
+-#, fuzzy
+-msgid "Generate code to check bounds before indexing arrays"
+-msgstr "Генерыраваць код Ð´Ð»Ñ Intel as"
+-
+-#: common.opt:331
+-msgid "Replace add, compare, branch with branch on count register"
++#: c.opt:112
++msgid "Undefine <macro>"
+ msgstr ""
+
+-#: common.opt:335
+-msgid "Use profiling information for branch probabilities"
++#: c.opt:116
++msgid "Warn about things that will change when compiling with an ABI-compliant compiler"
+ msgstr ""
+
+-#: common.opt:339
+-msgid "Perform branch target load optimization before prologue / epilogue threading"
++#: c.opt:120
++msgid "Warn about suspicious uses of memory addresses"
+ msgstr ""
+
+-#: common.opt:343
+-msgid "Perform branch target load optimization after prologue / epilogue threading"
++#: c.opt:124
++msgid "Enable most warning messages"
+ msgstr ""
+
+-#: common.opt:347
+-msgid "Restrict target load migration not to re-use registers in any basic block"
++#: c.opt:128
++msgid "Warn if a comparison is always true or always false due to the limited range of the data type"
+ msgstr ""
+
+-#: common.opt:351
+-msgid "Mark <register> as being preserved across functions"
++#: c.opt:132
++msgid "Warn whenever an Objective-C assignment is being intercepted by the garbage collector"
+ msgstr ""
+
+-#: common.opt:355
+-msgid "Mark <register> as being corrupted by function calls"
++#: c.opt:136
++msgid "Warn about casting functions to incompatible types"
+ msgstr ""
+
+-#: common.opt:362
+-msgid "Save registers around function calls"
++#: c.opt:140
++msgid "Warn about C constructs that are not in the common subset of C and C++"
+ msgstr ""
+
+-#: common.opt:366
+-msgid "Compare the results of several data dependence analyzers."
++#: c.opt:144
++msgid "Warn about C++ constructs whose meaning differs between ISO C++ 1998 and ISO C++ 200x"
+ msgstr ""
+
+-#: common.opt:370
+-msgid "Do not put uninitialized globals in the common section"
++#: c.opt:148
++msgid "Warn about casts which discard qualifiers"
+ msgstr ""
+
+-#: common.opt:374
+-msgid "Perform a register copy-propagation optimization pass"
++#: c.opt:152
++msgid "Warn about subscripts whose type is \"char\""
+ msgstr ""
+
+-#: common.opt:378
+-msgid "Perform cross-jumping optimization"
++#: c.opt:156
++msgid "Warn about variables that might be changed by \"longjmp\" or \"vfork\""
+ msgstr ""
+
+-#: common.opt:382
+-msgid "When running CSE, follow jumps to their targets"
++#: c.opt:160
++msgid "Warn about possibly nested block comments, and C++ comments spanning more than one physical line"
+ msgstr ""
+
+-#: common.opt:386
+-msgid "When running CSE, follow conditional jumps"
++#: c.opt:164
++msgid "Synonym for -Wcomment"
+ msgstr ""
+
+-#: common.opt:390
+-msgid "Omit range reduction step when performing complex division"
++#: c.opt:168
++msgid "Warn for implicit type conversions that may change a value"
+ msgstr ""
+
+-#: common.opt:394
+-msgid "Place data items into their own section"
++#: c.opt:172
++msgid "Warn for implicit type conversions between signed and unsigned integers"
+ msgstr ""
+
+-#: common.opt:398
+-msgid "List all available debugging counters with their limits and counts."
++#: c.opt:176
++msgid "Warn when all constructors and destructors are private"
+ msgstr ""
+
+-#: common.opt:402
+-msgid "-fdbg-cnt=<counter>:<limit>[,<counter>:<limit>,...] Set the debug counter limit. "
++#: c.opt:180
++msgid "Warn when a declaration is found after a statement"
+ msgstr ""
+
+-#: common.opt:406
+-msgid "Map one directory name to another in debug information"
++#: c.opt:184
++msgid "Warn about deprecated compiler features"
+ msgstr ""
+
+-#: common.opt:412
+-msgid "Defer popping functions args from stack until later"
++#: c.opt:188
++msgid "Warn about compile-time integer division by zero"
+ msgstr ""
+
+-#: common.opt:416
+-msgid "Attempt to fill delay slots of branch instructions"
++#: c.opt:192
++msgid "Warn about violations of Effective C++ style rules"
+ msgstr ""
+
+-#: common.opt:420
+-msgid "Delete useless null pointer checks"
+-msgstr ""
++#: c.opt:196
++#, fuzzy
++msgid "Warn about an empty body in an if or else statement"
++msgstr "пуÑтое цела Ñž else-выражÑнні"
+
+-#: common.opt:424
+-msgid "How often to emit source location at the beginning of line-wrapped diagnostics"
++#: c.opt:200
++msgid "Warn about stray tokens after #elif and #endif"
+ msgstr ""
+
+-#: common.opt:428
+-msgid "Amend appropriate diagnostic messages with the command line option that controls them"
++#: c.opt:208
++msgid "This switch is deprecated; use -Werror=implicit-function-declaration instead"
+ msgstr ""
+
+-#: common.opt:432
+-msgid "Dump various compiler internals to a file"
++#: c.opt:212
++msgid "Warn if testing floating point numbers for equality"
+ msgstr ""
+
+-#: common.opt:436
+-msgid "Suppress output of addresses in debugging dumps"
++#: c.opt:216
++msgid "Warn about printf/scanf/strftime/strfmon format string anomalies"
+ msgstr ""
+
+-#: common.opt:440
+-msgid "Suppress output of instruction numbers, line number notes and addresses in debugging dumps"
+-msgstr ""
++#: c.opt:220
++#, fuzzy
++msgid "Warn if passing too many arguments to a function for its format string"
++msgstr "вельмі шмат аргумÑнтаў у функцыі `%s'"
+
+-#: common.opt:444
+-msgid "Perform early inlining"
++#: c.opt:224
++msgid "Warn about format strings that are not literals"
+ msgstr ""
+
+-#: common.opt:448
+-msgid "Perform DWARF2 duplicate elimination"
++#: c.opt:228
++msgid "Warn about format strings that contain NUL bytes"
+ msgstr ""
+
+-#: common.opt:452 common.opt:456
+-msgid "Perform unused type elimination in debug info"
++#: c.opt:232
++msgid "Warn about possible security problems with format functions"
+ msgstr ""
+
+-#: common.opt:460
+-msgid "Do not suppress C++ class debug information."
++#: c.opt:236
++msgid "Warn about strftime formats yielding 2-digit years"
+ msgstr ""
+
+-#: common.opt:464
+-msgid "Enable exception handling"
+-msgstr "Уключыць апрацоўку выключÑньнÑÑž"
+-
+-#: common.opt:468
+-msgid "Perform a number of minor, expensive optimizations"
++#: c.opt:240
++msgid "Warn about zero-length formats"
+ msgstr ""
+
+-#: common.opt:475
+-msgid "Assume no NaNs or infinities are generated"
++#: c.opt:247
++msgid "Warn whenever type qualifiers are ignored."
+ msgstr ""
+
+-#: common.opt:479
+-msgid "Mark <register> as being unavailable to the compiler"
++#: c.opt:251
++msgid "Warn about variables which are initialized to themselves"
+ msgstr ""
+
+-#: common.opt:483
+-msgid "Don't allocate floats and doubles in extended-precision registers"
++#: c.opt:258
++msgid "Warn about implicit function declarations"
+ msgstr ""
+
+-#: common.opt:489
+-msgid "Copy memory address constants into registers before use"
++#: c.opt:262
++msgid "Warn when a declaration does not specify a type"
+ msgstr ""
+
+-#: common.opt:493
+-msgid "Perform a forward propagation pass on RTL"
++#: c.opt:266
++msgid "Deprecated. This switch has no effect"
+ msgstr ""
+
+-#: common.opt:500
+-msgid "Allow function addresses to be held in registers"
++#: c.opt:270
++msgid "Warn when there is a cast to a pointer from an integer of a different size"
+ msgstr ""
+
+-#: common.opt:504
+-#, fuzzy
+-msgid "Place each function into its own section"
+-msgstr "адзін раз Ð´Ð»Ñ ÐºÐ¾Ð¶Ð½Ð°Ð¹ функцыі, дзе ён з'ÑўлÑецца.)"
+-
+-#: common.opt:508
+-msgid "Perform global common subexpression elimination"
++#: c.opt:274
++msgid "Warn about invalid uses of the \"offsetof\" macro"
+ msgstr ""
+
+-#: common.opt:512
+-msgid "Perform enhanced load motion during global common subexpression elimination"
++#: c.opt:278
++msgid "Warn about PCH files that are found but not used"
+ msgstr ""
+
+-#: common.opt:516
+-msgid "Perform store motion after global common subexpression elimination"
++#: c.opt:282
++msgid "Do not warn about using \"long long\" when -pedantic"
+ msgstr ""
+
+-#: common.opt:520
+-msgid "Perform redundant load after store elimination in global common subexpression"
+-msgstr ""
++#: c.opt:286
++#, fuzzy
++msgid "Warn about suspicious declarations of \"main\""
++msgstr "нÑма папÑÑ€ÑднÑга аб'ÑÑžÐ»ÐµÐ½Ð½Ñ Ð´Ð»Ñ \"%s\""
+
+-#: common.opt:525
+-msgid "Perform global common subexpression elimination after register allocation"
++#: c.opt:290
++msgid "Warn about possibly missing braces around initializers"
+ msgstr ""
+
+-#: common.opt:530
+-msgid "Enable guessing of branch probabilities"
+-msgstr ""
++#: c.opt:294
++#, fuzzy
++msgid "Warn about global functions without previous declarations"
++msgstr "ÑÐµÐºÑ†Ñ‹Ñ \"%s\" канфліктуе з папÑÑ€ÑднÑй дÑкларацыÑй"
+
+-#: common.opt:538
+-msgid "Process #ident directives"
++#: c.opt:298
++msgid "Warn about missing fields in struct initializers"
+ msgstr ""
+
+-#: common.opt:542
+-msgid "Perform conversion of conditional jumps to branchless equivalents"
++#: c.opt:302
++msgid "Warn about functions which might be candidates for format attributes"
+ msgstr ""
+
+-#: common.opt:546
+-msgid "Perform conversion of conditional jumps to conditional execution"
++#: c.opt:306
++msgid "Warn about user-specified include directories that do not exist"
+ msgstr ""
+
+-#: common.opt:554
+-msgid "Do not generate .size directives"
++#: c.opt:310
++msgid "Warn about function parameters declared without a type specifier in K&R-style functions"
+ msgstr ""
+
+-#: common.opt:563
+-msgid "Pay attention to the \"inline\" keyword"
++#: c.opt:314
++msgid "Warn about global functions without prototypes"
+ msgstr ""
+
+-#: common.opt:567
+-msgid "Integrate simple functions into their callers when code size is known to not growth"
+-msgstr ""
++#: c.opt:318
++#, fuzzy
++msgid "Warn about use of multi-character character constants"
++msgstr "мнагаÑÑ–Ð¼Ð²Ð°Ð»ÑŒÐ½Ð°Ñ ÑÑ–Ð¼Ð²Ð°Ð»ÑŒÐ½Ð°Ñ ÐºÐ°Ð½Ñтанта"
+
+-#: common.opt:571
+-msgid "Integrate simple functions into their callers"
++#: c.opt:322
++msgid "Warn about \"extern\" declarations not at file scope"
+ msgstr ""
+
+-#: common.opt:575
+-msgid "Integrate functions called once into their callers"
++#: c.opt:326
++msgid "Warn when non-templatized friend functions are declared within a template"
+ msgstr ""
+
+-#: common.opt:582
+-msgid "Limit the size of inlined functions to <number>"
++#: c.opt:330
++msgid "Warn about non-virtual destructors"
+ msgstr ""
+
+-#: common.opt:586
+-msgid "Instrument function entry and exit with profiling calls"
++#: c.opt:334
++msgid "Warn about NULL being passed to argument slots marked as requiring non-NULL"
+ msgstr ""
+
+-#: common.opt:590
+-msgid "-finstrument-functions-exclude-function-list=name,... Do not instrument listed functions"
++#: c.opt:338
++msgid "Warn about non-normalised Unicode strings"
+ msgstr ""
+
+-#: common.opt:594
+-msgid "-finstrument-functions-exclude-file-list=filename,... Do not instrument functions listed in files"
++#: c.opt:342
++msgid "Warn if a C-style cast is used in a program"
+ msgstr ""
+
+-#: common.opt:598
+-msgid "Perform Interprocedural constant propagation"
++#: c.opt:346
++msgid "Warn for obsolescent usage in a declaration"
+ msgstr ""
+
+-#: common.opt:602
+-msgid "Discover pure and const functions"
++#: c.opt:350
++msgid "Warn if an old-style parameter definition is used"
+ msgstr ""
+
+-#: common.opt:606
+-msgid "Perform interprocedural points-to analysis"
++#: c.opt:354
++msgid "Warn if a string is longer than the maximum portable length specified by the standard"
+ msgstr ""
+
+-#: common.opt:610
+-msgid "Discover readonly and non addressable static variables"
++#: c.opt:358
++msgid "Warn about overloaded virtual function names"
+ msgstr ""
+
+-#: common.opt:614
+-msgid "Type based escape and alias analysis"
++#: c.opt:362
++msgid "Warn about overriding initializers without side effects"
+ msgstr ""
+
+-#: common.opt:618
+-msgid "Perform matrix layout flattening and transposing based"
++#: c.opt:366
++msgid "Warn about possibly missing parentheses"
+ msgstr ""
+
+-#: common.opt:623
+-msgid "Perform structure layout optimizations based"
++#: c.opt:370
++msgid "Warn when converting the type of pointers to member functions"
+ msgstr ""
+
+-#: common.opt:628
+-msgid "Optimize induction variables on trees"
++#: c.opt:374
++msgid "Warn about function pointer arithmetic"
+ msgstr ""
+
+-#: common.opt:632
+-msgid "Use jump tables for sufficiently large switch statements"
++#: c.opt:378
++msgid "Warn when a pointer is cast to an integer of a different size"
+ msgstr ""
+
+-#: common.opt:636
+-msgid "Generate code for functions even if they are fully inlined"
++#: c.opt:382
++msgid "Warn about misuses of pragmas"
+ msgstr ""
+
+-#: common.opt:640
+-msgid "Emit static const variables even if they are not used"
++#: c.opt:386
++msgid "Warn if inherited methods are unimplemented"
+ msgstr ""
+
+-#: common.opt:644
+-msgid "Give external symbols a leading underscore"
++#: c.opt:390
++msgid "Warn about multiple declarations of the same object"
+ msgstr ""
+
+-#: common.opt:648 common.opt:852 common.opt:983
+-msgid "Does nothing. Preserved for backward compatibility."
++#: c.opt:394
++msgid "Warn when the compiler reorders code"
+ msgstr ""
+
+-#: common.opt:652
+-msgid "Set errno after built-in math functions"
++#: c.opt:398
++msgid "Warn whenever a function's return type defaults to \"int\" (C), or about inconsistent return types (C++)"
+ msgstr ""
+
+-#: common.opt:656
+-msgid "Report on permanent memory allocation"
++#: c.opt:402
++msgid "Warn if a selector has multiple methods"
+ msgstr ""
+
+-#: common.opt:663
+-msgid "Attempt to merge identical constants and constant variables"
++#: c.opt:406
++msgid "Warn about possible violations of sequence point rules"
+ msgstr ""
+
+-#: common.opt:667
+-msgid "Attempt to merge identical constants across compilation units"
++#: c.opt:410
++msgid "Warn about signed-unsigned comparisons"
+ msgstr ""
+
+-#: common.opt:671
+-msgid "Limit diagnostics to <number> characters per line. 0 suppresses line-wrapping"
++#: c.opt:414
++msgid "Warn when overload promotes from unsigned to signed"
+ msgstr ""
+
+-#: common.opt:675
+-msgid "Perform SMS based modulo scheduling before the first scheduling pass"
++#: c.opt:418
++msgid "Warn about uncasted NULL used as sentinel"
+ msgstr ""
+
+-#: common.opt:679
+-msgid "Perform SMS based modulo scheduling with register moves allowed"
+-msgstr ""
++#: c.opt:422
++#, fuzzy
++msgid "Warn about unprototyped function declarations"
++msgstr "нÑма папÑÑ€ÑднÑга аб'ÑÑžÐ»ÐµÐ½Ð½Ñ Ð´Ð»Ñ \"%s\""
+
+-#: common.opt:683
+-msgid "Move loop invariant computations out of loops"
++#: c.opt:426
++msgid "Warn if type signatures of candidate methods do not match exactly"
+ msgstr ""
+
+-#: common.opt:687
+-msgid "Add mudflap bounds-checking instrumentation for single-threaded program"
++#: c.opt:430
++msgid "Warn when synthesis behavior differs from Cfront"
+ msgstr ""
+
+-#: common.opt:691
+-msgid "Add mudflap bounds-checking instrumentation for multi-threaded program"
++#: c.opt:438
++msgid "Warn about features not present in traditional C"
+ msgstr ""
+
+-#: common.opt:695
+-msgid "Ignore read operations when inserting mudflap instrumentation"
++#: c.opt:442
++msgid "Warn of prototypes causing type conversions different from what would happen in the absence of prototype"
+ msgstr ""
+
+-#: common.opt:699
+-msgid "Use the RTL dead code elimination pass"
++#: c.opt:446
++msgid "Warn if trigraphs are encountered that might affect the meaning of the program"
+ msgstr ""
+
+-#: common.opt:703
+-msgid "Use the RTL dead store elimination pass"
++#: c.opt:450
++msgid "Warn about @selector()s without previously declared methods"
+ msgstr ""
+
+-#: common.opt:707
+-msgid "Enable/Disable the traditional scheduling in loops that already passed modulo scheduling"
++#: c.opt:454
++msgid "Warn if an undefined macro is used in an #if directive"
+ msgstr ""
+
+-#: common.opt:711
+-msgid "Support synchronous non-call exceptions"
++#: c.opt:458
++msgid "Warn about unrecognized pragmas"
+ msgstr ""
+
+-#: common.opt:715
+-msgid "When possible do not generate stack frames"
++#: c.opt:462
++msgid "Warn about macros defined in the main file that are not used"
+ msgstr ""
+
+-#: common.opt:719
+-msgid "Expand OpenMP operations on SSA form"
++#: c.opt:466
++msgid "Do not warn about using variadic macros when -pedantic"
+ msgstr ""
+
+-#: common.opt:723
+-msgid "Do the full register move optimization pass"
++#: c.opt:470
++msgid "Warn if a variable length array is used"
+ msgstr ""
+
+-#: common.opt:727
+-msgid "Optimize sibling and tail recursive calls"
++#: c.opt:474
++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 ""
+
+-#: common.opt:731 common.opt:735
+-msgid "Report on memory allocation before interprocedural optimization"
++#: c.opt:478
++msgid "Warn when a pointer differs in signedness in an assignment"
+ msgstr ""
+
+-#: common.opt:739
+-msgid "Pack structure members together without holes"
++#: c.opt:482
++msgid "A synonym for -std=c89 (for C) or -std=c++98 (for C++)"
+ msgstr ""
+
+-#: common.opt:743
+-msgid "Set initial maximum structure member alignment"
++#: c.opt:490
++msgid "Enforce class member access control semantics"
+ msgstr ""
+
+-#: common.opt:747
+-msgid "Return small aggregates in memory, not registers"
++#: c.opt:497
++msgid "Change when template instances are emitted"
+ msgstr ""
+
+-#: common.opt:751
+-msgid "Perform loop peeling"
++#: c.opt:501
++msgid "Recognize the \"asm\" keyword"
+ msgstr ""
+
+-#: common.opt:755
+-msgid "Enable machine specific peephole optimizations"
+-msgstr ""
++#: c.opt:505
++#, fuzzy
++msgid "Recognize built-in functions"
++msgstr "Ðе генерыраваць ÑÑ–Ð¼Ð²Ð°Ð»ÑŒÐ½Ñ‹Ñ Ñ–Ð½Ñтрукцыі"
+
+-#: common.opt:759
+-msgid "Enable an RTL peephole pass before sched2"
++#: c.opt:512
++msgid "Check the return value of new"
+ msgstr ""
+
+-#: common.opt:763
+-msgid "Generate position-independent code if possible (large mode)"
++#: c.opt:516
++msgid "Allow the arguments of the '?' operator to have different types"
+ msgstr ""
+
+-#: common.opt:767
+-msgid "Generate position-independent code for executables if possible (large mode)"
++#: c.opt:520
++msgid "Reduce the size of object files"
+ msgstr ""
+
+-#: common.opt:771
+-msgid "Generate position-independent code if possible (small mode)"
++#: c.opt:524
++msgid "Use class <name> for constant strings"
+ msgstr ""
+
+-#: common.opt:775
+-msgid "Generate position-independent code for executables if possible (small mode)"
+-msgstr ""
++#: c.opt:528
++#, fuzzy
++msgid "Inline member functions by default"
++msgstr "у функцыі \"%s\":"
+
+-#: common.opt:779
+-msgid "Run predictive commoning optimization."
++#: c.opt:532
++msgid "Preprocess directives only."
+ msgstr ""
+
+-#: common.opt:783
+-msgid "Generate prefetch instructions, if available, for arrays in loops"
++#: c.opt:536
++msgid "Permit '$' as an identifier character"
+ msgstr ""
+
+-#: common.opt:787
+-msgid "Enable basic program profiling code"
+-msgstr ""
+-
+-#: common.opt:791
+-msgid "Insert arc-based program profiling code"
+-msgstr ""
+-
+-#: common.opt:795
+-msgid "Enable common options for generating profile info for profile feedback directed optimizations"
+-msgstr ""
+-
+-#: common.opt:799
+-msgid "Enable common options for performing profile feedback directed optimizations"
+-msgstr ""
+-
+-#: common.opt:803
+-msgid "Insert code to profile values of expressions"
+-msgstr ""
+-
+-#: common.opt:810
+-msgid "Make compile reproducible using <string>"
+-msgstr ""
+-
+-#: common.opt:820
+-msgid "Record gcc command line switches in the object file."
+-msgstr ""
+-
+-#: common.opt:824
++#: c.opt:543
+ #, fuzzy
+-msgid "Return small aggregates in registers"
+-msgstr "Ðе выкарыÑтоўваць Ñ€ÑгіÑтра sb"
++msgid "Generate code to check exception specifications"
++msgstr "\"%s\" не абвешчан (першае выкарыÑтанне Ñž гÑтай функцыі)"
+
+-#: common.opt:828
+-msgid "Enables a register move optimization"
++#: c.opt:550
++msgid "Convert all strings and character constants to character set <cset>"
+ msgstr ""
+
+-#: common.opt:832
+-msgid "Perform a register renaming optimization pass"
++#: c.opt:554
++msgid "Permit universal character names (\\u and \\U) in identifiers"
+ msgstr ""
+
+-#: common.opt:836
+-msgid "Reorder basic blocks to improve code placement"
++#: c.opt:558
++msgid "Specify the default character set for source files"
+ msgstr ""
+
+-#: common.opt:840
+-msgid "Reorder basic blocks and partition into hot and cold sections"
++#: c.opt:566
++msgid "Scope of for-init-statement variables is local to the loop"
+ msgstr ""
+
+-#: common.opt:844
+-msgid "Reorder functions to improve code placement"
++#: c.opt:570
++msgid "Do not assume that standard C libraries and \"main\" exist"
+ msgstr ""
+
+-#: common.opt:848
+-msgid "Add a common subexpression elimination pass after loop optimizations"
++#: c.opt:574
++msgid "Recognize GNU-defined keywords"
+ msgstr ""
+
+-#: common.opt:856
+-msgid "Disable optimizations that assume default FP rounding behavior"
++#: c.opt:578
++msgid "Generate code for GNU runtime environment"
+ msgstr ""
+
+-#: common.opt:860
+-msgid "Enable scheduling across basic blocks"
++#: c.opt:582
++msgid "Use traditional GNU semantics for inline functions"
+ msgstr ""
+
+-#: common.opt:864
+-msgid "Allow speculative motion of non-loads"
++#: c.opt:595
++msgid "Assume normal C execution environment"
+ msgstr ""
+
+-#: common.opt:868
+-msgid "Allow speculative motion of some loads"
++#: c.opt:599
++msgid "Enable support for huge objects"
+ msgstr ""
+
+-#: common.opt:872
+-msgid "Allow speculative motion of more loads"
++#: c.opt:603
++msgid "Export functions even if they can be inlined"
+ msgstr ""
+
+-#: common.opt:876
+-msgid "Set the verbosity level of the scheduler"
+-msgstr ""
++#: c.opt:607
++#, fuzzy
++msgid "Emit implicit instantiations of inline templates"
++msgstr "паўторнае абвÑшчÑнне меткі \"%s\""
+
+-#: common.opt:880
+-msgid "If scheduling post reload, do superblock scheduling"
+-msgstr ""
++#: c.opt:611
++#, fuzzy
++msgid "Emit implicit instantiations of templates"
++msgstr "паўторнае абвÑшчÑнне меткі \"%s\""
+
+-#: common.opt:884
+-msgid "If scheduling post reload, do trace scheduling"
++#: c.opt:615
++msgid "Inject friend functions into enclosing namespace"
+ msgstr ""
+
+-#: common.opt:888
+-msgid "Reschedule instructions before register allocation"
++#: c.opt:622
++msgid "Allow implicit conversions between vectors with differing numbers of subparts and/or differing element types."
+ msgstr ""
+
+-#: common.opt:892
+-msgid "Reschedule instructions after register allocation"
++#: c.opt:626
++msgid "Don't warn about uses of Microsoft extensions"
+ msgstr ""
+
+-#: common.opt:898
+-msgid "Allow premature scheduling of queued insns"
++#: c.opt:636
++msgid "Generate code for NeXT (Apple Mac OS X) runtime environment"
+ msgstr ""
+
+-#: common.opt:902
+-msgid "Set number of queued insns that can be prematurely scheduled"
++#: c.opt:640
++msgid "Assume that receivers of Objective-C messages may be nil"
+ msgstr ""
+
+-#: common.opt:910 common.opt:914
+-msgid "Set dependence distance checking in premature scheduling of queued insns"
++#: c.opt:652
++msgid "Generate special Objective-C methods to initialize/destroy non-POD C++ ivars, if needed"
+ msgstr ""
+
+-#: common.opt:918
+-msgid "Access data in the same section from shared anchor points"
++#: c.opt:656
++msgid "Allow fast jumps to the message dispatcher"
+ msgstr ""
+
+-#: common.opt:922
+-msgid "Perform sequence abstraction optimization on RTL"
++#: c.opt:662
++msgid "Enable Objective-C exception and synchronization syntax"
+ msgstr ""
+
+-#: common.opt:926
+-msgid "Eliminate redundant sign extensions using LCM."
++#: c.opt:666
++msgid "Enable garbage collection (GC) in Objective-C/Objective-C++ programs"
+ msgstr ""
+
+-#: common.opt:930
+-msgid "Show column numbers in diagnostics, when available. Default off"
+-msgstr ""
++#: c.opt:671
++#, fuzzy
++msgid "Enable Objective-C setjmp exception handling runtime"
++msgstr "Уключыць апрацоўку выключÑньнÑÑž"
+
+-#: common.opt:934
+-msgid "Disable optimizations observable by IEEE signaling NaNs"
++#: c.opt:675
++msgid "Enable OpenMP"
+ msgstr ""
+
+-#: common.opt:938
+-msgid "Disable floating point optimizations that ignore the IEEE signedness of zero"
++#: c.opt:679
++msgid "Recognize C++ kewords like \"compl\" and \"xor\""
+ msgstr ""
+
+-#: common.opt:942
+-msgid "Convert floating point constants to single precision constants"
+-msgstr ""
++#: c.opt:683
++#, fuzzy
++msgid "Enable optional diagnostics"
++msgstr "Уключаць SSA аптымізацыю"
+
+-#: common.opt:946
+-msgid "Split lifetimes of induction variables when loops are unrolled"
++#: c.opt:690
++msgid "Look for and use PCH files even when preprocessing"
+ msgstr ""
+
+-#: common.opt:950
+-msgid "Split wide types into independent registers"
++#: c.opt:694
++msgid "Downgrade conformance errors to warnings"
+ msgstr ""
+
+-#: common.opt:954
+-msgid "Apply variable expansion when loops are unrolled"
++#: c.opt:698
++msgid "Treat the input file as already preprocessed"
+ msgstr ""
+
+-#: common.opt:960
+-msgid "Insert stack checking code into the program"
+-msgstr "Уключаць код правÑркі ÑÑ‚Ñку Ñž праграму"
+-
+-#: common.opt:967
+-msgid "Trap if the stack goes past <register>"
++#: c.opt:702
++msgid "Used in Fix-and-Continue mode to indicate that object files may be swapped in at runtime"
+ msgstr ""
+
+-#: common.opt:971
+-msgid "Trap if the stack goes past symbol <name>"
++#: c.opt:706
++msgid "Enable automatic template instantiation"
+ msgstr ""
+
+-#: common.opt:975
+-msgid "Use propolice as a stack protection method"
++#: c.opt:710
++msgid "Generate run time type descriptor information"
+ msgstr ""
+
+-#: common.opt:979
+-msgid "Use a stack protection method for every function"
++#: c.opt:714
++msgid "Use the same size for double as for float"
+ msgstr ""
+
+-#: common.opt:991
+-msgid "Assume strict aliasing rules apply"
++#: c.opt:722
++msgid "Force the underlying type for \"wchar_t\" to be \"unsigned short\""
+ msgstr ""
+
+-#: common.opt:995
+-msgid "Treat signed overflow as undefined"
++#: c.opt:726
++msgid "When \"signed\" or \"unsigned\" is not given make the bitfield signed"
+ msgstr ""
+
+-#: common.opt:999
+-msgid "Check for syntax errors, then stop"
++#: c.opt:730
++msgid "Make \"char\" signed by default"
+ msgstr ""
+
+-#: common.opt:1003
+-msgid "Create data files needed by \"gcov\""
++#: c.opt:737
++msgid "Display statistics accumulated during compilation"
+ msgstr ""
+
+-#: common.opt:1007
+-msgid "Perform jump threading optimizations"
++#: c.opt:744
++msgid "Distance between tab stops for column reporting"
+ msgstr ""
+
+-#: common.opt:1011
+-msgid "Report the time taken by each compiler pass"
++#: c.opt:748
++msgid "Specify maximum template instantiation depth"
+ msgstr ""
+
+-#: common.opt:1015
+-msgid "Set the default thread-local storage code generation model"
+-msgstr ""
+-
+-#: common.opt:1019
+-msgid "Reorder top level functions, variables, and asms"
+-msgstr ""
+-
+-#: common.opt:1023
+-msgid "Perform superblock formation via tail duplication"
+-msgstr ""
+-
+-#: common.opt:1030
+-msgid "Assume floating-point operations can trap"
+-msgstr ""
+-
+-#: common.opt:1034
+-msgid "Trap for signed overflow in addition, subtraction and multiplication"
+-msgstr ""
+-
+-#: common.opt:1038
++#: c.opt:755
+ #, fuzzy
+-msgid "Enable SSA-CCP optimization on trees"
+-msgstr "Уключаць SSA аптымізацыю"
++msgid "Do not generate thread-safe code for initializing local statics"
++msgstr "Генерыраваць код Ð´Ð»Ñ Intel as"
+
+-#: common.opt:1042
+-#, fuzzy
+-msgid "Enable SSA-CCP optimization for stores and loads"
+-msgstr "Уключаць SSA аптымізацыю"
+-
+-#: common.opt:1046
+-msgid "Enable loop header copying on trees"
++#: c.opt:759
++msgid "When \"signed\" or \"unsigned\" is not given make the bitfield unsigned"
+ msgstr ""
+
+-#: common.opt:1050
+-msgid "Replace SSA temporaries with better names in copies"
++#: c.opt:763
++msgid "Make \"char\" unsigned by default"
+ msgstr ""
+
+-#: common.opt:1054
+-msgid "Enable copy propagation on trees"
++#: c.opt:767
++msgid "Use __cxa_atexit to register destructors"
+ msgstr ""
+
+-#: common.opt:1058
+-msgid "This switch is obsolete"
++#: c.opt:771
++msgid "Use __cxa_get_exception_ptr in exception handling"
+ msgstr ""
+
+-#: common.opt:1062
+-msgid "Transform condition stores into unconditional ones"
++#: c.opt:775
++msgid "Marks all inlined methods as having hidden visibility"
+ msgstr ""
+
+-#: common.opt:1066
+-#, fuzzy
+-msgid "Enable SSA dead code elimination optimization on trees"
+-msgstr "Уключаць SSA аптымізацыю"
+-
+-#: common.opt:1070
+-#, fuzzy
+-msgid "Enable dominator optimizations"
+-msgstr "Уключаць SSA аптымізацыю"
+-
+-#: common.opt:1074
+-#, fuzzy
+-msgid "Enable dead store elimination"
+-msgstr "Уключаць SSA аптымізацыю"
+-
+-#: common.opt:1078
+-msgid "Enable Full Redundancy Elimination (FRE) on trees"
++#: c.opt:779
++msgid "Changes visibility to match Microsoft Visual Studio by default"
+ msgstr ""
+
+-#: common.opt:1082
+-msgid "Enable loop invariant motion on trees"
++#: c.opt:783
++msgid "Discard unused virtual functions"
+ msgstr ""
+
+-#: common.opt:1086
+-msgid "Enable linear loop transforms on trees"
++#: c.opt:787
++msgid "Implement vtables using thunks"
+ msgstr ""
+
+-#: common.opt:1090
+-msgid "Create canonical induction variables in loops"
++#: c.opt:791
++msgid "Emit common-like symbols as weak symbols"
+ msgstr ""
+
+-#: common.opt:1094
+-#, fuzzy
+-msgid "Enable loop optimizations on tree level"
+-msgstr "Уключаць SSA аптымізацыю"
+-
+-#: common.opt:1098
+-msgid "Enable automatic parallelization of loops"
++#: c.opt:795
++msgid "Convert all wide strings and character constants to character set <cset>"
+ msgstr ""
+
+-#: common.opt:1102
+-#, fuzzy
+-msgid "Enable SSA-PRE optimization on trees"
+-msgstr "Уключаць SSA аптымізацыю"
+-
+-#: common.opt:1106
+-msgid "Enable reassociation on tree level"
++#: c.opt:799
++msgid "Generate a #line directive pointing at the current working directory"
+ msgstr ""
+
+-#: common.opt:1110
+-msgid "Perform structural alias analysis"
++#: c.opt:803
++msgid "Emit cross referencing information"
+ msgstr ""
+
+-#: common.opt:1114
+-#, fuzzy
+-msgid "Enable SSA code sinking on trees"
+-msgstr "Уключаць SSA аптымізацыю"
+-
+-#: common.opt:1118
+-msgid "Perform scalar replacement of aggregates"
++#: c.opt:807
++msgid "Generate lazy class lookup (via objc_getClass()) for use in Zero-Link mode"
+ msgstr ""
+
+-#: common.opt:1122
+-msgid "Replace temporary expressions in the SSA->normal pass"
++#: c.opt:811
++msgid "Dump declarations to a .decl file"
+ msgstr ""
+
+-#: common.opt:1126
+-msgid "Perform live range splitting during the SSA->normal pass"
++#: c.opt:815
++msgid "Aggressive reduced debug info for structs"
+ msgstr ""
+
+-#: common.opt:1130
+-msgid "Perform Value Range Propagation on trees"
++#: c.opt:819
++msgid "Conservative reduced debug info for structs"
+ msgstr ""
+
+-#: common.opt:1134
+-msgid "Compile whole compilation unit at a time"
++#: c.opt:823
++msgid "Detailed reduced debug info for structs"
+ msgstr ""
+
+-#: common.opt:1138
+-msgid "Perform loop unrolling when iteration count is known"
++#: c.opt:827 c.opt:859
++msgid "Add <dir> to the end of the system include path"
+ msgstr ""
+
+-#: common.opt:1142
+-msgid "Perform loop unrolling for all loops"
++#: c.opt:831
++msgid "Accept definition of macros in <file>"
+ msgstr ""
+
+-#: common.opt:1149
+-msgid "Allow loop optimizations to assume that the loops behave in normal way"
++#: c.opt:835
++msgid "-imultilib <dir> Set <dir> to be the multilib include subdirectory"
+ msgstr ""
+
+-#: common.opt:1153
+-msgid "Allow optimization for floating-point arithmetic which may change the"
++#: c.opt:839
++msgid "Include the contents of <file> before other files"
+ msgstr ""
+
+-#: common.opt:1158
+-msgid "Same as -fassociative-math for expressions which include division."
++#: c.opt:843
++msgid "Specify <path> as a prefix for next two options"
+ msgstr ""
+
+-#: common.opt:1166
+-msgid "Allow math optimizations that may violate IEEE or ISO standards"
++#: c.opt:847
++msgid "Set <dir> to be the system root directory"
+ msgstr ""
+
+-#: common.opt:1170
+-msgid "Perform loop unswitching"
++#: c.opt:851
++msgid "Add <dir> to the start of the system include path"
+ msgstr ""
+
+-#: common.opt:1174
+-msgid "Just generate unwind tables for exception handling"
++#: c.opt:855
++msgid "Add <dir> to the end of the quote include path"
+ msgstr ""
+
+-#: common.opt:1178
+-msgid "Perform variable tracking"
++#: c.opt:876
++msgid "Do not search standard system include directories (those specified with -isystem will still be used)"
+ msgstr ""
+
+-#: common.opt:1182
+-msgid "Perform variable tracking and also tag variables that are uninitialized"
++#: c.opt:880
++msgid "Do not search standard system include directories for C++"
+ msgstr ""
+
+-#: common.opt:1186
+-#, fuzzy
+-msgid "Enable loop vectorization on trees"
+-msgstr "Уключаць SSA аптымізацыю"
+-
+-#: common.opt:1190
+-msgid "Enable use of cost model in vectorization"
++#: c.opt:896
++msgid "Generate C header of platform-specific features"
+ msgstr ""
+
+-#: common.opt:1194
+-msgid "Enable loop versioning when doing loop vectorization on trees"
++#: c.opt:900
++msgid "Print a checksum of the executable for PCH validity checking, and stop"
+ msgstr ""
+
+-#: common.opt:1198
+-msgid "Set the verbosity level of the vectorizer"
++#: c.opt:904
++msgid "Remap file names when including files"
+ msgstr ""
+
+-#: common.opt:1202
+-msgid "Enable copy propagation of scalar-evolution information."
++#: c.opt:908
++msgid "Conform to the ISO 1998 C++ standard"
+ msgstr ""
+
+-#: common.opt:1212
+-msgid "Add extra commentary to assembler output"
++#: c.opt:912
++msgid "Conform to the ISO 1998 C++ standard, with extensions that are likely to"
+ msgstr ""
+
+-#: common.opt:1216
+-msgid "Set the default symbol visibility"
++#: c.opt:919 c.opt:954
++msgid "Conform to the ISO 1990 C standard"
+ msgstr ""
+
+-#: common.opt:1221
+-msgid "Use expression value profiles in optimizations"
++#: c.opt:923 c.opt:962
++msgid "Conform to the ISO 1999 C standard"
+ msgstr ""
+
+-#: common.opt:1225
+-msgid "Construct webs and split unrelated uses of single variable"
++#: c.opt:927
++msgid "Deprecated in favor of -std=c99"
+ msgstr ""
+
+-#: common.opt:1229
+-msgid "Perform whole program optimizations"
++#: c.opt:931
++msgid "Conform to the ISO 1998 C++ standard with GNU extensions"
+ msgstr ""
+
+-#: common.opt:1233
+-msgid "Assume signed arithmetic overflow wraps around"
++#: c.opt:935
++msgid "Conform to the ISO 1998 C++ standard, with GNU extensions and"
+ msgstr ""
+
+-#: common.opt:1237
+-msgid "Put zero initialized data in the bss section"
++#: c.opt:942
++msgid "Conform to the ISO 1990 C standard with GNU extensions"
+ msgstr ""
+
+-#: common.opt:1241
+-#, fuzzy
+-msgid "Generate debug information in default format"
+-msgstr "Генерыраваць код Ð´Ð»Ñ Intel as"
+-
+-#: common.opt:1245
+-msgid "Generate debug information in COFF format"
++#: c.opt:946
++msgid "Conform to the ISO 1999 C standard with GNU extensions"
+ msgstr ""
+
+-#: common.opt:1249
+-msgid "Generate debug information in DWARF v2 format"
++#: c.opt:950
++msgid "Deprecated in favor of -std=gnu99"
+ msgstr ""
+
+-#: common.opt:1253
+-msgid "Generate debug information in default extended format"
++#: c.opt:958
++msgid "Conform to the ISO 1990 C standard as amended in 1994"
+ msgstr ""
+
+-#: common.opt:1257
+-#, fuzzy
+-msgid "Generate debug information in STABS format"
+-msgstr "Стварыць код Ð´Ð»Ñ DLL"
+-
+-#: common.opt:1261
+-msgid "Generate debug information in extended STABS format"
++#: c.opt:966
++msgid "Deprecated in favor of -std=iso9899:1999"
+ msgstr ""
+
+-#: common.opt:1265
+-#, fuzzy
+-msgid "Generate debug information in VMS format"
+-msgstr "Стварыць код Ð´Ð»Ñ DLL"
+-
+-#: common.opt:1269
+-msgid "Generate debug information in XCOFF format"
++#: c.opt:970
++msgid "Enable traditional preprocessing"
+ msgstr ""
+
+-#: common.opt:1273
+-msgid "Generate debug information in extended XCOFF format"
++#: c.opt:974
++msgid "Support ISO C trigraphs"
+ msgstr ""
+
+-#: common.opt:1277
+-#, fuzzy
+-msgid "Place output into <file>"
+-msgstr " -o <файл> ПамÑÑціць вывад у <файл>\n"
+-
+-#: common.opt:1281
+-#, fuzzy
+-msgid "Enable function profiling"
+-msgstr "Уключыць апрацоўку выключÑньнÑÑž"
+-
+-#: common.opt:1285
+-msgid "Issue warnings needed for strict compliance to the standard"
++#: c.opt:978
++msgid "Do not predefine system-specific and GCC-specific macros"
+ msgstr ""
+
+-#: common.opt:1289
+-msgid "Like -pedantic but issue them as errors"
++#: c.opt:982
++msgid "Enable verbose output"
+ msgstr ""
+
+-#: common.opt:1293
+-msgid "Do not display functions compiled or elapsed time"
++#: ada/lang.opt:96
++msgid "Specify options to GNAT"
+ msgstr ""
+
+-#: common.opt:1297
+-msgid "Display the compiler's version"
+-msgstr ""
+-
+-#: common.opt:1301
+-#, fuzzy
+-msgid "Suppress warnings"
+-msgstr "%s: увага: "
+-
+-#: common.opt:1305
+-msgid "Create a shared library"
+-msgstr ""
+-
+-#: common.opt:1309
+-msgid "Create a position independent executable"
+-msgstr ""
+-
+ #: attribs.c:244
+ #, fuzzy, gcc-internal-format
+ msgid "%qs attribute directive ignored"
+@@ -16698,47 +16663,47 @@
+ msgid "offset outside bounds of constant string"
+ msgstr ""
+
+-#: builtins.c:1001
++#: builtins.c:1015
+ #, fuzzy, gcc-internal-format
+ msgid "second argument to %<__builtin_prefetch%> must be a constant"
+ msgstr "аргумент `__builtin_args_info' павінен быць канÑтантай"
+
+-#: builtins.c:1008
++#: builtins.c:1022
+ #, fuzzy, gcc-internal-format
+ msgid "invalid second argument to %<__builtin_prefetch%>; using zero"
+ msgstr "аргумент `__builtin_args_info' павінен быць канÑтантай"
+
+-#: builtins.c:1016
++#: builtins.c:1030
+ #, fuzzy, gcc-internal-format
+ msgid "third argument to %<__builtin_prefetch%> must be a constant"
+ msgstr "аргумент `__builtin_args_info' павінен быць канÑтантай"
+
+-#: builtins.c:1023
++#: builtins.c:1037
+ #, fuzzy, gcc-internal-format
+ msgid "invalid third argument to %<__builtin_prefetch%>; using zero"
+ msgstr "аргумент `__builtin_args_info' павінен быць канÑтантай"
+
+-#: builtins.c:4592
++#: builtins.c:4608
+ #, fuzzy, gcc-internal-format
+ msgid "argument of %<__builtin_args_info%> must be constant"
+ msgstr "аргумент `__builtin_args_info' павінен быць канÑтантай"
+
+-#: builtins.c:4598
++#: builtins.c:4614
+ #, fuzzy, gcc-internal-format
+ msgid "argument of %<__builtin_args_info%> out of range"
+ msgstr "аргумент `__builtin_args_info' выйшаў за межы"
+
+-#: builtins.c:4604
++#: builtins.c:4620
+ #, fuzzy, gcc-internal-format
+ msgid "missing argument in %<__builtin_args_info%>"
+ msgstr "прапушчан аргумент у `__builtin_args_info'"
+
+-#: builtins.c:4693 gimplify.c:2117
++#: builtins.c:4709 gimplify.c:2118
+ #, fuzzy, gcc-internal-format
+ msgid "too few arguments to function %<va_start%>"
+ msgstr "нехапае аргументаў у функцыі \"%s\""
+
+-#: builtins.c:4857
++#: builtins.c:4872
+ #, gcc-internal-format
+ msgid "first argument to %<va_arg%> not of type %<va_list%>"
+ msgstr ""
+@@ -16746,95 +16711,105 @@
+ #. Unfortunately, this is merely undefined, rather than a constraint
+ #. violation, so we cannot make this an error. If this call is never
+ #. executed, the program is still strictly conforming.
+-#: builtins.c:4871
++#: builtins.c:4886
+ #, gcc-internal-format
+ msgid "%qT is promoted to %qT when passed through %<...%>"
+ msgstr ""
+
+-#: builtins.c:4876
++#: builtins.c:4891
+ #, gcc-internal-format
+ msgid "(so you should pass %qT not %qT to %<va_arg%>)"
+ msgstr ""
+
+ #. We can, however, treat "undefined" any way we please.
+ #. Call abort to encourage the user to fix the program.
+-#: builtins.c:4882 c-typeck.c:2408
++#: builtins.c:4897 c-typeck.c:2419
+ #, gcc-internal-format
+ msgid "if this code is reached, the program will abort"
+ msgstr ""
+
+-#: builtins.c:5000
++#: builtins.c:5015
+ #, gcc-internal-format
+ msgid "invalid argument to %<__builtin_frame_address%>"
+ msgstr ""
+
+-#: builtins.c:5002
++#: builtins.c:5017
+ #, gcc-internal-format
+ msgid "invalid argument to %<__builtin_return_address%>"
+ msgstr ""
+
+-#: builtins.c:5015
++#: builtins.c:5030
+ #, gcc-internal-format
+ msgid "unsupported argument to %<__builtin_frame_address%>"
+ msgstr ""
+
+-#: builtins.c:5017
++#: builtins.c:5032
+ #, gcc-internal-format
+ msgid "unsupported argument to %<__builtin_return_address%>"
+ msgstr ""
+
+-#: builtins.c:5564
++#: builtins.c:5579
+ #, fuzzy, gcc-internal-format
+ msgid "both arguments to %<__builtin___clear_cache%> must be pointers"
+ msgstr "аргумент `__builtin_args_info' павінен быць канÑтантай"
+
+ #. All valid uses of __builtin_va_arg_pack () are removed during
+ #. inlining.
+-#: builtins.c:6276 expr.c:8024
++#: builtins.c:6291 expr.c:8023
+ msgid "%Kinvalid use of %<__builtin_va_arg_pack ()%>"
+ msgstr ""
+
+ #. All valid uses of __builtin_va_arg_pack_len () are removed during
+ #. inlining.
+-#: builtins.c:6282
++#: builtins.c:6297
+ msgid "%Kinvalid use of %<__builtin_va_arg_pack_len ()%>"
+ msgstr ""
+
+-#: builtins.c:6578
++#: builtins.c:6593
+ #, gcc-internal-format
+ msgid "%<__builtin_longjmp%> second argument must be 1"
+ msgstr ""
+
+-#: builtins.c:7209
++#: builtins.c:7224
+ #, fuzzy, gcc-internal-format
+ msgid "target format does not support infinity"
+ msgstr "ISO C не падтрымлівае комлекÑÐ½Ñ‹Ñ Ñ†ÑÐ»Ð°Ð»Ñ–ÐºÐ°Ð²Ñ‹Ñ Ñ‚Ñ‹Ð¿Ñ‹"
+
+-#: builtins.c:9623 builtins.c:9712
++#: builtins.c:9638 builtins.c:9727 builtins.c:10082
+ #, fuzzy, gcc-internal-format
+ msgid "non-floating-point argument to function %qs"
+ msgstr "вельмі шмат аргумÑнтаў у функцыі `%s'"
+
+-#: builtins.c:11303
++#: builtins.c:10446 builtins.c:10466
+ #, fuzzy, gcc-internal-format
++msgid "too few arguments to function %qs"
++msgstr "нехапае аргументаў у функцыі \"%s\""
++
++#: builtins.c:10452 builtins.c:10472
++#, fuzzy, gcc-internal-format
++msgid "too many arguments to function %qs"
++msgstr "вельмі шмат аргумÑнтаў у функцыі `%s'"
++
++#: builtins.c:11377
++#, fuzzy, gcc-internal-format
+ msgid "%<va_start%> used in function with fixed args"
+ msgstr ""
+ "`va_start' выкарыÑтоўвываецца Ñž функцыі з нÑзьменнай\n"
+ " колькаÑьцю аргументаў"
+
+-#: builtins.c:11311
++#: builtins.c:11385
+ #, fuzzy, gcc-internal-format
+ msgid "wrong number of arguments to function %<va_start%>"
+ msgstr "Ð¿Ð°Ð¼Ñ‹Ð»ÐºÐ¾Ð²Ð°Ñ ÐºÐ¾Ð»ÑŒÐºÐ°Ñьць аргументаў, зададзеных Ð´Ð»Ñ Ð°Ñ‚Ñ€Ñ‹Ð±ÑƒÑ‚Ð° `%s'"
+
+ #. Evidently an out of date version of <stdarg.h>; can't validate
+ #. va_start's second argument, but can still work as intended.
+-#: builtins.c:11324
++#: builtins.c:11398
+ #, fuzzy, gcc-internal-format
+ msgid "%<__builtin_next_arg%> called without an argument"
+ msgstr "\"__buitin_next_arg\" выклікаецца без аргумента"
+
+-#: builtins.c:11329
++#: builtins.c:11403
+ #, fuzzy, gcc-internal-format
+ msgid "wrong number of arguments to function %<__builtin_next_arg%>"
+ msgstr "Ð¿Ð°Ð¼Ñ‹Ð»ÐºÐ¾Ð²Ð°Ñ ÐºÐ¾Ð»ÑŒÐºÐ°Ñьць аргументаў, зададзеных Ð´Ð»Ñ Ð°Ñ‚Ñ€Ñ‹Ð±ÑƒÑ‚Ð° `%s'"
+@@ -16844,25 +16819,25 @@
+ #. argument. We just warn and set the arg to be the last
+ #. argument so that we will get wrong-code because of
+ #. it.
+-#: builtins.c:11358
++#: builtins.c:11432
+ #, gcc-internal-format
+ msgid "second parameter of %<va_start%> not last named argument"
+ msgstr ""
+
+-#: builtins.c:11472
++#: builtins.c:11546
+ #, fuzzy
+ msgid "%Kfirst argument of %D must be a pointer, second integer constant"
+ msgstr "аргумент `__builtin_args_info' павінен быць канÑтантай"
+
+-#: builtins.c:11485
++#: builtins.c:11559
+ msgid "%Klast argument of %D is not integer constant between 0 and 3"
+ msgstr ""
+
+-#: builtins.c:11529 builtins.c:11693 builtins.c:11752
++#: builtins.c:11603 builtins.c:11767 builtins.c:11826
+ msgid "%Kcall to %D will always overflow destination buffer"
+ msgstr ""
+
+-#: builtins.c:11683
++#: builtins.c:11757
+ msgid "%Kcall to %D might overflow destination buffer"
+ msgstr ""
+
+@@ -16985,440 +16960,440 @@
+ msgid "conversion to %qT alters %qT constant value"
+ msgstr ""
+
+-#: c-common.c:1296
++#: c-common.c:1299
+ #, gcc-internal-format
+ msgid "conversion to %qT from %qT may change the sign of the result"
+ msgstr ""
+
+-#: c-common.c:1325
++#: c-common.c:1328
+ #, gcc-internal-format
+ msgid "conversion to %qT from %qT may alter its value"
+ msgstr ""
+
+-#: c-common.c:1353
++#: c-common.c:1356
+ #, gcc-internal-format
+ msgid "large integer implicitly truncated to unsigned type"
+ msgstr ""
+
+-#: c-common.c:1359 c-common.c:1366 c-common.c:1374
++#: c-common.c:1362 c-common.c:1369 c-common.c:1377
+ #, gcc-internal-format
+ msgid "overflow in implicit constant conversion"
+ msgstr ""
+
+-#: c-common.c:1528
++#: c-common.c:1531
+ #, gcc-internal-format
+ msgid "operation on %qE may be undefined"
+ msgstr ""
+
+-#: c-common.c:1821
++#: c-common.c:1824
+ #, gcc-internal-format
+ msgid "case label does not reduce to an integer constant"
+ msgstr ""
+
+-#: c-common.c:1861
++#: c-common.c:1864
+ #, gcc-internal-format
+ msgid "case label value is less than minimum value for type"
+ msgstr ""
+
+-#: c-common.c:1869
++#: c-common.c:1872
+ #, gcc-internal-format
+ msgid "case label value exceeds maximum value for type"
+ msgstr ""
+
+-#: c-common.c:1877
++#: c-common.c:1880
+ #, gcc-internal-format
+ msgid "lower value in case label range less than minimum value for type"
+ msgstr ""
+
+-#: c-common.c:1886
++#: c-common.c:1889
+ #, gcc-internal-format
+ msgid "upper value in case label range exceeds maximum value for type"
+ msgstr ""
+
+-#: c-common.c:1960
++#: c-common.c:1963
+ #, gcc-internal-format
+ msgid "GCC cannot support operators with integer types and fixed-point types that have too many integral and fractional bits together"
+ msgstr ""
+
+-#: c-common.c:2450
++#: c-common.c:2453
+ #, fuzzy, gcc-internal-format
+ msgid "invalid operands to binary %s (have %qT and %qT)"
+ msgstr "нерÑчаіÑны %%-код"
+
+-#: c-common.c:2686
++#: c-common.c:2689
+ #, gcc-internal-format
+ msgid "comparison is always false due to limited range of data type"
+ msgstr ""
+
+-#: c-common.c:2688
++#: c-common.c:2691
+ #, gcc-internal-format
+ msgid "comparison is always true due to limited range of data type"
+ msgstr ""
+
+-#: c-common.c:2767
++#: c-common.c:2770
+ #, gcc-internal-format
+ msgid "comparison of unsigned expression >= 0 is always true"
+ msgstr ""
+
+-#: c-common.c:2777
++#: c-common.c:2780
+ #, gcc-internal-format
+ msgid "comparison of unsigned expression < 0 is always false"
+ msgstr ""
+
+-#: c-common.c:2818
++#: c-common.c:2821
+ #, gcc-internal-format
+ msgid "pointer of type %<void *%> used in arithmetic"
+ msgstr ""
+
+-#: c-common.c:2824
++#: c-common.c:2827
+ #, gcc-internal-format
+ msgid "pointer to a function used in arithmetic"
+ msgstr ""
+
+-#: c-common.c:2830
++#: c-common.c:2833
+ #, gcc-internal-format
+ msgid "pointer to member function used in arithmetic"
+ msgstr ""
+
+-#: c-common.c:2982
++#: c-common.c:2985
+ #, gcc-internal-format
+ msgid "the address of %qD will always evaluate as %<true%>"
+ msgstr ""
+
+-#: c-common.c:3051 cp/semantics.c:596 cp/typeck.c:6411
++#: c-common.c:3054 cp/semantics.c:597 cp/typeck.c:6438
+ #, gcc-internal-format
+ msgid "suggest parentheses around assignment used as truth value"
+ msgstr ""
+
+-#: c-common.c:3123 c-typeck.c:8958
++#: c-common.c:3126 c-typeck.c:8969
+ #, fuzzy, gcc-internal-format
+ msgid "invalid use of %<restrict%>"
+ msgstr "нÑвернае выкарыÑтанне \"restict\""
+
+-#: c-common.c:3339
++#: c-common.c:3346
+ #, fuzzy, gcc-internal-format
+ msgid "invalid application of %<sizeof%> to a function type"
+ msgstr "ÐерÑчаіÑны выбар \"%s\""
+
+-#: c-common.c:3349
++#: c-common.c:3356
+ #, gcc-internal-format
+ msgid "invalid application of %qs to a void type"
+ msgstr ""
+
+-#: c-common.c:3355
++#: c-common.c:3362
+ #, fuzzy, gcc-internal-format
+ msgid "invalid application of %qs to incomplete type %qT "
+ msgstr "\"%s\" мае незавершаны тып"
+
+-#: c-common.c:3396
++#: c-common.c:3403
+ #, gcc-internal-format
+ msgid "%<__alignof%> applied to a bit-field"
+ msgstr ""
+
+-#: c-common.c:3969
++#: c-common.c:3976
+ #, fuzzy, gcc-internal-format
+ msgid "cannot disable built-in function %qs"
+ msgstr "не магу ініцыÑлізаваць ÑÑброўÑкую функцыю \"%s\""
+
+-#: c-common.c:4172
++#: c-common.c:4179
+ #, gcc-internal-format
+ msgid "pointers are not permitted as case values"
+ msgstr ""
+
+-#: c-common.c:4178
++#: c-common.c:4185
+ #, gcc-internal-format
+ msgid "range expressions in switch statements are non-standard"
+ msgstr ""
+
+-#: c-common.c:4204
++#: c-common.c:4211
+ #, gcc-internal-format
+ msgid "empty range specified"
+ msgstr ""
+
+-#: c-common.c:4264
++#: c-common.c:4271
+ #, gcc-internal-format
+ msgid "duplicate (or overlapping) case value"
+ msgstr ""
+
+-#: c-common.c:4265
++#: c-common.c:4272
+ #, gcc-internal-format
+ msgid "%Jthis is the first entry overlapping that value"
+ msgstr ""
+
+-#: c-common.c:4269
++#: c-common.c:4276
+ #, gcc-internal-format
+ msgid "duplicate case value"
+ msgstr ""
+
+-#: c-common.c:4270
++#: c-common.c:4277
+ #, fuzzy, gcc-internal-format
+ msgid "%Jpreviously used here"
+ msgstr "папÑÑ€ÑднÑе вызначÑньне"
+
+-#: c-common.c:4274
++#: c-common.c:4281
+ #, gcc-internal-format
+ msgid "multiple default labels in one switch"
+ msgstr ""
+
+-#: c-common.c:4275
++#: c-common.c:4282
+ #, gcc-internal-format
+ msgid "%Jthis is the first default label"
+ msgstr ""
+
+-#: c-common.c:4324
++#: c-common.c:4331
+ #, gcc-internal-format
+ msgid "%Jcase value %qs not in enumerated type"
+ msgstr ""
+
+-#: c-common.c:4327
++#: c-common.c:4334
+ #, gcc-internal-format
+ msgid "%Jcase value %qs not in enumerated type %qT"
+ msgstr ""
+
+-#: c-common.c:4385
++#: c-common.c:4392
+ #, gcc-internal-format
+ msgid "%Hswitch missing default case"
+ msgstr ""
+
+-#: c-common.c:4448
++#: c-common.c:4455
+ #, gcc-internal-format
+ msgid "%Henumeration value %qE not handled in switch"
+ msgstr ""
+
+-#: c-common.c:4472
++#: c-common.c:4479
+ #, fuzzy, gcc-internal-format
+ msgid "taking the address of a label is non-standard"
+ msgstr "ISO C не дазвалÑе пуÑÑ‚Ñ‹ ізыходны файл"
+
+-#: c-common.c:4622
++#: c-common.c:4629
+ #, fuzzy, gcc-internal-format
+ msgid "%qE attribute ignored for field of type %qT"
+ msgstr "\"%s\" атрыбут ігнарыруецца"
+
+-#: c-common.c:4633 c-common.c:4652 c-common.c:4670 c-common.c:4697
+-#: c-common.c:4724 c-common.c:4750 c-common.c:4769 c-common.c:4793
+-#: c-common.c:4816 c-common.c:4839 c-common.c:4860 c-common.c:4881
+-#: c-common.c:4905 c-common.c:4931 c-common.c:4968 c-common.c:4995
+-#: c-common.c:5046 c-common.c:5130 c-common.c:5160 c-common.c:5179
+-#: c-common.c:5499 c-common.c:5559 c-common.c:5580 c-common.c:5644
+-#: c-common.c:5762 c-common.c:5828 c-common.c:5877 c-common.c:5923
+-#: c-common.c:5993 c-common.c:6017 c-common.c:6301 c-common.c:6324
++#: c-common.c:4640 c-common.c:4659 c-common.c:4677 c-common.c:4704
++#: c-common.c:4731 c-common.c:4757 c-common.c:4776 c-common.c:4800
++#: c-common.c:4823 c-common.c:4846 c-common.c:4867 c-common.c:4888
++#: c-common.c:4912 c-common.c:4938 c-common.c:4975 c-common.c:5002
++#: c-common.c:5045 c-common.c:5129 c-common.c:5159 c-common.c:5178
++#: c-common.c:5498 c-common.c:5558 c-common.c:5579 c-common.c:5643
++#: c-common.c:5761 c-common.c:5827 c-common.c:5876 c-common.c:5922
++#: c-common.c:5992 c-common.c:6016 c-common.c:6301 c-common.c:6324
+ #: c-common.c:6363
+ #, fuzzy, gcc-internal-format
+ msgid "%qE attribute ignored"
+ msgstr "\"%s\" атрыбут ігнарыруецца"
+
+-#: c-common.c:4715 c-common.c:4741
++#: c-common.c:4722 c-common.c:4748
+ #, fuzzy, gcc-internal-format
+ msgid "%qE attribute conflicts with attribute %s"
+ msgstr "\"%s\" атрыбут ігнарыруецца"
+
+-#: c-common.c:4962
++#: c-common.c:4969
+ #, gcc-internal-format
+ msgid "%qE attribute have effect only on public objects"
+ msgstr ""
+
+-#: c-common.c:5067
++#: c-common.c:5066
+ #, fuzzy, gcc-internal-format
+ msgid "destructor priorities are not supported"
+ msgstr "атрыбуты Ñекцыі не падтрымліваюцца Ð´Ð»Ñ Ð³Ñтай мÑÑ‚Ñ‹"
+
+-#: c-common.c:5069
++#: c-common.c:5068
+ #, fuzzy, gcc-internal-format
+ msgid "constructor priorities are not supported"
+ msgstr "атрыбуты Ñекцыі не падтрымліваюцца Ð´Ð»Ñ Ð³Ñтай мÑÑ‚Ñ‹"
+
+-#: c-common.c:5086
++#: c-common.c:5085
+ #, gcc-internal-format
+ msgid "destructor priorities from 0 to %d are reserved for the implementation"
+ msgstr ""
+
+-#: c-common.c:5091
++#: c-common.c:5090
+ #, gcc-internal-format
+ msgid "constructor priorities from 0 to %d are reserved for the implementation"
+ msgstr ""
+
+-#: c-common.c:5099
++#: c-common.c:5098
+ #, gcc-internal-format
+ msgid "destructor priorities must be integers from 0 to %d inclusive"
+ msgstr ""
+
+-#: c-common.c:5102
++#: c-common.c:5101
+ #, gcc-internal-format
+ msgid "constructor priorities must be integers from 0 to %d inclusive"
+ msgstr ""
+
+-#: c-common.c:5221
++#: c-common.c:5220
+ #, fuzzy, gcc-internal-format
+ msgid "unknown machine mode %qs"
+ msgstr "невÑдомы Ñ€Ñжым машыны \"%s\""
+
+-#: c-common.c:5250
++#: c-common.c:5249
+ #, gcc-internal-format
+ msgid "specifying vector types with __attribute__ ((mode)) is deprecated"
+ msgstr ""
+
+-#: c-common.c:5253
++#: c-common.c:5252
+ #, gcc-internal-format
+ msgid "use __attribute__ ((vector_size)) instead"
+ msgstr ""
+
+-#: c-common.c:5262
++#: c-common.c:5261
+ #, fuzzy, gcc-internal-format
+ msgid "unable to emulate %qs"
+ msgstr "немагу адчыніць файл \"%s\""
+
+-#: c-common.c:5272
++#: c-common.c:5271
+ #, fuzzy, gcc-internal-format
+ msgid "invalid pointer mode %qs"
+ msgstr "ÐерÑчаіÑны выбар \"%s\""
+
+-#: c-common.c:5289
++#: c-common.c:5288
+ #, gcc-internal-format
+ msgid "signness of type and machine mode %qs don't match"
+ msgstr ""
+
+-#: c-common.c:5300
++#: c-common.c:5299
+ #, fuzzy, gcc-internal-format
+ msgid "no data type for mode %qs"
+ msgstr "нÑма тыпа дадзеных Ð´Ð»Ñ Ñ€Ñжыма \"%s\""
+
+-#: c-common.c:5310
++#: c-common.c:5309
+ #, gcc-internal-format
+ msgid "cannot use mode %qs for enumeral types"
+ msgstr ""
+
+-#: c-common.c:5337
++#: c-common.c:5336
+ #, fuzzy, gcc-internal-format
+ msgid "mode %qs applied to inappropriate type"
+ msgstr "\"%s\" мае незавершаны тып"
+
+-#: c-common.c:5368
++#: c-common.c:5367
+ #, fuzzy, gcc-internal-format
+ msgid "%Jsection attribute cannot be specified for local variables"
+ msgstr "атрыбуты Ñекцыі не падтрымліваюцца Ð´Ð»Ñ Ð³Ñтай мÑÑ‚Ñ‹"
+
+-#: c-common.c:5379 config/bfin/bfin.c:4879 config/bfin/bfin.c:4930
++#: c-common.c:5378 config/bfin/bfin.c:4982 config/bfin/bfin.c:5033
+ #, fuzzy, gcc-internal-format
+ msgid "section of %q+D conflicts with previous declaration"
+ msgstr "ÑÐµÐºÑ†Ñ‹Ñ \"%s\" канфліктуе з папÑÑ€ÑднÑй дÑкларацыÑй"
+
+-#: c-common.c:5388
++#: c-common.c:5387
+ #, fuzzy, gcc-internal-format
+ msgid "section attribute not allowed for %q+D"
+ msgstr "атрыбуты Ñекцыі не падтрымліваюцца Ð´Ð»Ñ Ð³Ñтай мÑÑ‚Ñ‹"
+
+-#: c-common.c:5394
++#: c-common.c:5393
+ #, fuzzy, gcc-internal-format
+ msgid "%Jsection attributes are not supported for this target"
+ msgstr "атрыбуты Ñекцыі не падтрымліваюцца Ð´Ð»Ñ Ð³Ñтай мÑÑ‚Ñ‹"
+
+-#: c-common.c:5426
++#: c-common.c:5425
+ #, gcc-internal-format
+ msgid "requested alignment is not a constant"
+ msgstr ""
+
+-#: c-common.c:5431
++#: c-common.c:5430
+ #, gcc-internal-format
+ msgid "requested alignment is not a power of 2"
+ msgstr ""
+
+-#: c-common.c:5436
++#: c-common.c:5435
+ #, gcc-internal-format
+ msgid "requested alignment is too large"
+ msgstr ""
+
+-#: c-common.c:5462
++#: c-common.c:5461
+ #, gcc-internal-format
+ msgid "alignment may not be specified for %q+D"
+ msgstr ""
+
+-#: c-common.c:5469
++#: c-common.c:5468
+ #, gcc-internal-format
+ msgid "alignment for %q+D was previously specified as %d and may not be decreased"
+ msgstr ""
+
+-#: c-common.c:5473
++#: c-common.c:5472
+ #, fuzzy, gcc-internal-format
+ msgid "alignment for %q+D must be at least %d"
+ msgstr "першым аргументам \"%s\" павінен быць \"int\""
+
+-#: c-common.c:5522
++#: c-common.c:5521
+ #, gcc-internal-format
+ msgid "%q+D defined both normally and as an alias"
+ msgstr ""
+
+-#: c-common.c:5538
++#: c-common.c:5537
+ #, fuzzy, gcc-internal-format
+ msgid "alias argument not a string"
+ msgstr "аргумент Ð´Ð»Ñ \"%s\" прапушчан"
+
+-#: c-common.c:5601
++#: c-common.c:5600
+ #, gcc-internal-format
+ msgid "%Jweakref attribute must appear before alias attribute"
+ msgstr ""
+
+-#: c-common.c:5631
++#: c-common.c:5630
+ #, fuzzy, gcc-internal-format
+ msgid "%qE attribute ignored on non-class types"
+ msgstr "\"%s\" атрыбут ігнарыруецца"
+
+-#: c-common.c:5637
++#: c-common.c:5636
+ #, gcc-internal-format
+ msgid "%qE attribute ignored because %qT is already defined"
+ msgstr ""
+
+-#: c-common.c:5650
++#: c-common.c:5649
+ #, fuzzy, gcc-internal-format
+ msgid "visibility argument not a string"
+ msgstr "аргумент Ð´Ð»Ñ \"%s\" прапушчан"
+
+-#: c-common.c:5662
++#: c-common.c:5661
+ #, fuzzy, gcc-internal-format
+ msgid "%qE attribute ignored on types"
+ msgstr "\"%s\" атрыбут ігнарыруецца"
+
+-#: c-common.c:5678
++#: c-common.c:5677
+ #, gcc-internal-format
+ msgid "visibility argument must be one of \"default\", \"hidden\", \"protected\" or \"internal\""
+ msgstr ""
+
+-#: c-common.c:5689
++#: c-common.c:5688
+ #, gcc-internal-format
+ msgid "%qD redeclared with different visibility"
+ msgstr ""
+
+-#: c-common.c:5692 c-common.c:5696
++#: c-common.c:5691 c-common.c:5695
+ #, gcc-internal-format
+ msgid "%qD was declared %qs which implies default visibility"
+ msgstr ""
+
+-#: c-common.c:5770
++#: c-common.c:5769
+ #, fuzzy, gcc-internal-format
+ msgid "tls_model argument not a string"
+ msgstr "не хапае аргументаў у функцыі"
+
+-#: c-common.c:5783
++#: c-common.c:5782
+ #, gcc-internal-format
+ msgid "tls_model argument must be one of \"local-exec\", \"initial-exec\", \"local-dynamic\" or \"global-dynamic\""
+ msgstr ""
+
+-#: c-common.c:5802 c-common.c:5897
++#: c-common.c:5801 c-common.c:5896
+ #, fuzzy, gcc-internal-format
+ msgid "%J%qE attribute applies only to functions"
+ msgstr "\"%s\" звычайна функцыÑ"
+
+-#: c-common.c:5807 c-common.c:5902
++#: c-common.c:5806 c-common.c:5901
+ #, gcc-internal-format
+ msgid "%Jcan%'t set %qE attribute after definition"
+ msgstr ""
+
+-#: c-common.c:5858
++#: c-common.c:5857
+ #, gcc-internal-format
+ msgid "alloc_size parameter outside range"
+ msgstr ""
+
+-#: c-common.c:5991
++#: c-common.c:5990
+ #, fuzzy, gcc-internal-format
+ msgid "%qE attribute ignored for %qE"
+ msgstr "\"%s\" атрыбут ігнарыруецца"
+@@ -17528,7 +17503,7 @@
+ msgid "cannot apply %<offsetof%> when %<operator[]%> is overloaded"
+ msgstr ""
+
+-#: c-common.c:6818 cp/typeck.c:4525
++#: c-common.c:6818 cp/typeck.c:4533
+ #, fuzzy, gcc-internal-format
+ msgid "attempt to take address of bit-field structure member %qD"
+ msgstr "не магу атрымаць Ð°Ð´Ñ€Ð°Ñ Ð±Ñ–Ñ‚Ð°Ð²Ð°Ð³Ð° Ð¿Ð¾Ð»Ñ \"%s\""
+@@ -17563,14 +17538,14 @@
+ msgid "size of array is too large"
+ msgstr "памер маÑіва \"%s\" вельмі вÑлікі"
+
+-#: c-common.c:7041 c-common.c:7090 c-typeck.c:2705
++#: c-common.c:7041 c-common.c:7090 c-typeck.c:2716
+ #, fuzzy, gcc-internal-format
+ msgid "too few arguments to function %qE"
+ msgstr "не хапае аргументаў у функцыі"
+
+ #. ??? This should not be an error when inlining calls to
+ #. unprototyped functions.
+-#: c-common.c:7058 c-typeck.c:4374
++#: c-common.c:7058 c-typeck.c:4385
+ #, gcc-internal-format
+ msgid "incompatible type for argument %d of %qE"
+ msgstr ""
+@@ -17650,8 +17625,8 @@
+ #. an unprototyped function, it is compile-time undefined;
+ #. making it a constraint in that case was rejected in
+ #. DR#252.
+-#: c-convert.c:95 c-typeck.c:1775 c-typeck.c:4012 cp/typeck.c:1502
+-#: cp/typeck.c:5717 cp/typeck.c:6325 fortran/convert.c:88
++#: c-convert.c:95 c-typeck.c:1785 c-typeck.c:4023 cp/typeck.c:1548
++#: cp/typeck.c:5725 cp/typeck.c:6352 fortran/convert.c:88
+ #: treelang/tree-convert.c:79
+ #, gcc-internal-format
+ msgid "void value not ignored as it ought to be"
+@@ -17663,104 +17638,104 @@
+ msgid "conversion to non-scalar type requested"
+ msgstr ""
+
+-#: c-decl.c:546
++#: c-decl.c:547
+ #, gcc-internal-format
+ msgid "array %q+D assumed to have one element"
+ msgstr ""
+
+-#: c-decl.c:651
++#: c-decl.c:652
+ #, gcc-internal-format
+ msgid "GCC supports only %u nested scopes"
+ msgstr ""
+
+-#: c-decl.c:737 cp/decl.c:358
++#: c-decl.c:738 cp/decl.c:359
+ #, fuzzy, gcc-internal-format
+ msgid "label %q+D used but not defined"
+ msgstr "адмеціна `%D' выкарыÑтоўвываецца, але Ð½Ñ Ð²Ñ‹Ð·Ð½Ð°Ñ‡Ð°Ð½Ð°"
+
+-#: c-decl.c:778
++#: c-decl.c:779
+ #, fuzzy, gcc-internal-format
+ msgid "nested function %q+D declared but never defined"
+ msgstr "\"%s\" не абвешчан (першае выкарыÑтанне Ñž гÑтай функцыі)"
+
+-#: c-decl.c:788
++#: c-decl.c:789
+ #, fuzzy, gcc-internal-format
+ msgid "inline function %q+D declared but never defined"
+ msgstr "\"%s\" не абвешчан (першае выкарыÑтанне Ñž гÑтай функцыі)"
+
+-#: c-decl.c:801 cp/decl.c:608
++#: c-decl.c:802 cp/decl.c:609
+ #, fuzzy, gcc-internal-format
+ msgid "unused variable %q+D"
+ msgstr "невыкарыÑÑ‚Ð¾ÑžÐ²Ð°ÐµÐ¼Ð°Ñ Ð¿ÐµÑ€Ð°Ð¼ÐµÐ½Ð½Ð°Ñ \"%s\""
+
+-#: c-decl.c:805
++#: c-decl.c:806
+ #, gcc-internal-format
+ msgid "type of array %q+D completed incompatibly with implicit initialization"
+ msgstr ""
+
+-#: c-decl.c:1039
++#: c-decl.c:1040
+ #, gcc-internal-format
+ msgid "a parameter list with an ellipsis can%'t match an empty parameter name list declaration"
+ msgstr ""
+
+-#: c-decl.c:1046
++#: c-decl.c:1047
+ #, gcc-internal-format
+ msgid "an argument type that has a default promotion can%'t match an empty parameter name list declaration"
+ msgstr ""
+
+-#: c-decl.c:1087
++#: c-decl.c:1088
+ #, gcc-internal-format
+ msgid "prototype for %q+D declares more arguments than previous old-style definition"
+ msgstr ""
+
+-#: c-decl.c:1093
++#: c-decl.c:1094
+ #, gcc-internal-format
+ msgid "prototype for %q+D declares fewer arguments than previous old-style definition"
+ msgstr ""
+
+-#: c-decl.c:1102
++#: c-decl.c:1103
+ #, gcc-internal-format
+ msgid "prototype for %q+D declares argument %d with incompatible type"
+ msgstr ""
+
+ #. If we get here, no errors were found, but do issue a warning
+ #. for this poor-style construct.
+-#: c-decl.c:1115
++#: c-decl.c:1116
+ #, gcc-internal-format
+ msgid "prototype for %q+D follows non-prototype definition"
+ msgstr ""
+
+-#: c-decl.c:1130
++#: c-decl.c:1131
+ #, fuzzy, gcc-internal-format
+ msgid "previous definition of %q+D was here"
+ msgstr "папÑÑ€ÑднÑе вызначÑньне"
+
+-#: c-decl.c:1132
++#: c-decl.c:1133
+ #, fuzzy, gcc-internal-format
+ msgid "previous implicit declaration of %q+D was here"
+ msgstr "нÑма папÑÑ€ÑднÑга аб'ÑÑžÐ»ÐµÐ½Ð½Ñ Ð´Ð»Ñ \"%s\""
+
+-#: c-decl.c:1134
++#: c-decl.c:1135
+ #, fuzzy, gcc-internal-format
+ msgid "previous declaration of %q+D was here"
+ msgstr "нÑма папÑÑ€ÑднÑга аб'ÑÑžÐ»ÐµÐ½Ð½Ñ Ð´Ð»Ñ \"%s\""
+
+-#: c-decl.c:1174
++#: c-decl.c:1175
+ #, gcc-internal-format
+ msgid "%q+D redeclared as different kind of symbol"
+ msgstr ""
+
+-#: c-decl.c:1178
++#: c-decl.c:1179
+ #, fuzzy, gcc-internal-format
+ msgid "built-in function %q+D declared as non-function"
+ msgstr "\"%s\" не абвешчан (першае выкарыÑтанне Ñž гÑтай функцыі)"
+
+-#: c-decl.c:1181 c-decl.c:1298 c-decl.c:1983
++#: c-decl.c:1182 c-decl.c:1299 c-decl.c:1988
+ #, fuzzy, gcc-internal-format
+ msgid "declaration of %q+D shadows a built-in function"
+ msgstr "не магу ініцыÑлізаваць ÑÑброўÑкую функцыю \"%s\""
+
+-#: c-decl.c:1190
++#: c-decl.c:1191
+ #, fuzzy, gcc-internal-format
+ msgid "redeclaration of enumerator %q+D"
+ msgstr "абвÑшчÑньне шаблёну `%#D'"
+@@ -17768,274 +17743,274 @@
+ #. If types don't match for a built-in, throw away the
+ #. built-in. No point in calling locate_old_decl here, it
+ #. won't print anything.
+-#: c-decl.c:1211
++#: c-decl.c:1212
+ #, fuzzy, gcc-internal-format
+ msgid "conflicting types for built-in function %q+D"
+ msgstr "паўторнае абвÑшчÑнне меткі \"%s\""
+
+-#: c-decl.c:1235 c-decl.c:1248 c-decl.c:1258
++#: c-decl.c:1236 c-decl.c:1249 c-decl.c:1259
+ #, gcc-internal-format
+ msgid "conflicting types for %q+D"
+ msgstr ""
+
+-#: c-decl.c:1256
++#: c-decl.c:1257
+ #, gcc-internal-format
+ msgid "conflicting type qualifiers for %q+D"
+ msgstr ""
+
+ #. Allow OLDDECL to continue in use.
+-#: c-decl.c:1273
++#: c-decl.c:1274
+ #, fuzzy, gcc-internal-format
+ msgid "redefinition of typedef %q+D"
+ msgstr "перанакіраванне stdout: %s"
+
+-#: c-decl.c:1324 c-decl.c:1426
++#: c-decl.c:1325 c-decl.c:1427
+ #, fuzzy, gcc-internal-format
+ msgid "redefinition of %q+D"
+ msgstr "перанакіраванне stdout: %s"
+
+-#: c-decl.c:1359 c-decl.c:1464
++#: c-decl.c:1360 c-decl.c:1465
+ #, gcc-internal-format
+ msgid "static declaration of %q+D follows non-static declaration"
+ msgstr ""
+
+-#: c-decl.c:1369 c-decl.c:1376 c-decl.c:1453 c-decl.c:1461
++#: c-decl.c:1370 c-decl.c:1377 c-decl.c:1454 c-decl.c:1462
+ #, gcc-internal-format
+ msgid "non-static declaration of %q+D follows static declaration"
+ msgstr ""
+
+-#: c-decl.c:1393
++#: c-decl.c:1394
+ #, gcc-internal-format
+ msgid "%<gnu_inline%> attribute present on %q+D"
+ msgstr ""
+
+-#: c-decl.c:1395
++#: c-decl.c:1396
+ #, gcc-internal-format
+ msgid "%Jbut not here"
+ msgstr ""
+
+-#: c-decl.c:1413
++#: c-decl.c:1414
+ #, gcc-internal-format
+ msgid "thread-local declaration of %q+D follows non-thread-local declaration"
+ msgstr ""
+
+-#: c-decl.c:1416
++#: c-decl.c:1417
+ #, gcc-internal-format
+ msgid "non-thread-local declaration of %q+D follows thread-local declaration"
+ msgstr ""
+
+-#: c-decl.c:1446
++#: c-decl.c:1447
+ #, fuzzy, gcc-internal-format
+ msgid "extern declaration of %q+D follows declaration with no linkage"
+ msgstr "нÑма папÑÑ€ÑднÑга аб'ÑÑžÐ»ÐµÐ½Ð½Ñ Ð´Ð»Ñ \"%s\""
+
+-#: c-decl.c:1482
++#: c-decl.c:1483
+ #, gcc-internal-format
+ msgid "declaration of %q+D with no linkage follows extern declaration"
+ msgstr ""
+
+-#: c-decl.c:1488
++#: c-decl.c:1489
+ #, fuzzy, gcc-internal-format
+ msgid "redeclaration of %q+D with no linkage"
+ msgstr "нÑма папÑÑ€ÑднÑга аб'ÑÑžÐ»ÐµÐ½Ð½Ñ Ð´Ð»Ñ \"%s\""
+
+-#: c-decl.c:1502
++#: c-decl.c:1503
+ #, gcc-internal-format
+ msgid "redeclaration of %q+D with different visibility (old visibility preserved)"
+ msgstr ""
+
+-#: c-decl.c:1513
++#: c-decl.c:1514
+ #, fuzzy, gcc-internal-format
+ msgid "inline declaration of %qD follows declaration with attribute noinline"
+ msgstr "нÑма папÑÑ€ÑднÑга аб'ÑÑžÐ»ÐµÐ½Ð½Ñ Ð´Ð»Ñ \"%s\""
+
+-#: c-decl.c:1520
++#: c-decl.c:1521
+ #, fuzzy, gcc-internal-format
+ msgid "declaration of %q+D with attribute noinline follows inline declaration "
+ msgstr "нÑма папÑÑ€ÑднÑга аб'ÑÑžÐ»ÐµÐ½Ð½Ñ Ð´Ð»Ñ \"%s\""
+
+-#: c-decl.c:1539
++#: c-decl.c:1540
+ #, gcc-internal-format
+ msgid "%q+D declared inline after being called"
+ msgstr ""
+
+-#: c-decl.c:1544
++#: c-decl.c:1545
+ #, fuzzy, gcc-internal-format
+ msgid "%q+D declared inline after its definition"
+ msgstr "\"%s\" не абвешчан (першае выкарыÑтанне Ñž гÑтай функцыі)"
+
+-#: c-decl.c:1563
++#: c-decl.c:1564
+ #, fuzzy, gcc-internal-format
+ msgid "redefinition of parameter %q+D"
+ msgstr "перанакіраванне stdout: %s"
+
+-#: c-decl.c:1590
++#: c-decl.c:1591
+ #, fuzzy, gcc-internal-format
+ msgid "redundant redeclaration of %q+D"
+ msgstr "ÐерÑчаіÑнае абвÑшчÑнне"
+
+-#: c-decl.c:1970
++#: c-decl.c:1975
+ #, fuzzy, gcc-internal-format
+ msgid "declaration of %q+D shadows previous non-variable"
+ msgstr "ÑÐµÐºÑ†Ñ‹Ñ \"%s\" канфліктуе з папÑÑ€ÑднÑй дÑкларацыÑй"
+
+-#: c-decl.c:1975
++#: c-decl.c:1980
+ #, gcc-internal-format
+ msgid "declaration of %q+D shadows a parameter"
+ msgstr ""
+
+-#: c-decl.c:1978
++#: c-decl.c:1983
+ #, gcc-internal-format
+ msgid "declaration of %q+D shadows a global declaration"
+ msgstr ""
+
+-#: c-decl.c:1988
++#: c-decl.c:1993
+ #, fuzzy, gcc-internal-format
+ msgid "declaration of %q+D shadows a previous local"
+ msgstr "ÑÐµÐºÑ†Ñ‹Ñ \"%s\" канфліктуе з папÑÑ€ÑднÑй дÑкларацыÑй"
+
+-#: c-decl.c:1991 cp/name-lookup.c:988 cp/name-lookup.c:1019
+-#: cp/name-lookup.c:1027
++#: c-decl.c:1996 cp/name-lookup.c:987 cp/name-lookup.c:1018
++#: cp/name-lookup.c:1026
+ #, fuzzy, gcc-internal-format
+ msgid "%Jshadowed declaration is here"
+ msgstr "нÑма папÑÑ€ÑднÑга аб'ÑÑžÐ»ÐµÐ½Ð½Ñ Ð´Ð»Ñ \"%s\""
+
+-#: c-decl.c:2183
++#: c-decl.c:2188
+ #, fuzzy, gcc-internal-format
+ msgid "nested extern declaration of %qD"
+ msgstr "пуÑтое абвÑшчÑнне"
+
+-#: c-decl.c:2346 c-decl.c:2349
++#: c-decl.c:2351 c-decl.c:2354
+ #, fuzzy, gcc-internal-format
+ msgid "implicit declaration of function %qE"
+ msgstr "нÑма папÑÑ€ÑднÑга аб'ÑÑžÐ»ÐµÐ½Ð½Ñ Ð´Ð»Ñ \"%s\""
+
+-#: c-decl.c:2411
++#: c-decl.c:2416
+ #, fuzzy, gcc-internal-format
+ msgid "incompatible implicit declaration of built-in function %qD"
+ msgstr "нÑма папÑÑ€ÑднÑга аб'ÑÑžÐ»ÐµÐ½Ð½Ñ Ð´Ð»Ñ \"%s\""
+
+-#: c-decl.c:2420
++#: c-decl.c:2425
+ #, fuzzy, gcc-internal-format
+ msgid "incompatible implicit declaration of function %qD"
+ msgstr "нÑма папÑÑ€ÑднÑга аб'ÑÑžÐ»ÐµÐ½Ð½Ñ Ð´Ð»Ñ \"%s\""
+
+-#: c-decl.c:2473
++#: c-decl.c:2478
+ #, fuzzy, gcc-internal-format
+ msgid "%H%qE undeclared here (not in a function)"
+ msgstr "\"%s\" не абвешчан (першае выкарыÑтанне Ñž гÑтай функцыі)"
+
+-#: c-decl.c:2478
++#: c-decl.c:2483
+ #, fuzzy, gcc-internal-format
+ msgid "%H%qE undeclared (first use in this function)"
+ msgstr "\"%s\" не абвешчан (першае выкарыÑтанне Ñž гÑтай функцыі)"
+
+-#: c-decl.c:2482
++#: c-decl.c:2487
+ #, fuzzy, gcc-internal-format
+ msgid "%H(Each undeclared identifier is reported only once"
+ msgstr "(Ðб кожным неабвешчаным ідÑнтыфікатары паведамлÑецца"
+
+-#: c-decl.c:2483
++#: c-decl.c:2488
+ #, fuzzy, gcc-internal-format
+ msgid "%Hfor each function it appears in.)"
+ msgstr "адзін раз Ð´Ð»Ñ ÐºÐ¾Ð¶Ð½Ð°Ð¹ функцыі, дзе ён з'ÑўлÑецца.)"
+
+-#: c-decl.c:2521 cp/decl.c:2397
++#: c-decl.c:2526 cp/decl.c:2404
+ #, gcc-internal-format
+ msgid "label %qE referenced outside of any function"
+ msgstr ""
+
+-#: c-decl.c:2563
++#: c-decl.c:2568
+ #, fuzzy, gcc-internal-format
+ msgid "duplicate label declaration %qE"
+ msgstr "паўторнае абвÑшчÑньне адмеціны `%s'"
+
+-#: c-decl.c:2599
++#: c-decl.c:2604
+ #, fuzzy, gcc-internal-format
+ msgid "%Hduplicate label %qD"
+ msgstr "паўтарÑнне \"%s\""
+
+-#: c-decl.c:2609
++#: c-decl.c:2614
+ #, gcc-internal-format
+ msgid "%Jjump into statement expression"
+ msgstr ""
+
+-#: c-decl.c:2611
++#: c-decl.c:2616
+ #, gcc-internal-format
+ msgid "%Jjump into scope of identifier with variably modified type"
+ msgstr ""
+
+-#: c-decl.c:2626
++#: c-decl.c:2631
+ #, gcc-internal-format
+ msgid "%Htraditional C lacks a separate namespace for labels, identifier %qE conflicts"
+ msgstr ""
+
+-#: c-decl.c:2701
++#: c-decl.c:2706
+ #, gcc-internal-format
+ msgid "%H%qE defined as wrong kind of tag"
+ msgstr ""
+
+-#: c-decl.c:2903
++#: c-decl.c:2908
+ #, gcc-internal-format
+ msgid "unnamed struct/union that defines no instances"
+ msgstr ""
+
+-#: c-decl.c:2911
++#: c-decl.c:2916
+ #, gcc-internal-format
+ msgid "empty declaration with storage class specifier does not redeclare tag"
+ msgstr ""
+
+-#: c-decl.c:2922
++#: c-decl.c:2927
+ #, gcc-internal-format
+ msgid "empty declaration with type qualifier does not redeclare tag"
+ msgstr ""
+
+-#: c-decl.c:2943 c-decl.c:2950
++#: c-decl.c:2948 c-decl.c:2955
+ #, fuzzy, gcc-internal-format
+ msgid "useless type name in empty declaration"
+ msgstr "паўторнае абвÑшчÑнне меткі \"%s\""
+
+-#: c-decl.c:2958
++#: c-decl.c:2963
+ #, fuzzy, gcc-internal-format
+ msgid "%<inline%> in empty declaration"
+ msgstr "пуÑтое абвÑшчÑньне"
+
+-#: c-decl.c:2964
++#: c-decl.c:2969
+ #, gcc-internal-format
+ msgid "%<auto%> in file-scope empty declaration"
+ msgstr ""
+
+-#: c-decl.c:2970
++#: c-decl.c:2975
+ #, gcc-internal-format
+ msgid "%<register%> in file-scope empty declaration"
+ msgstr ""
+
+-#: c-decl.c:2976
++#: c-decl.c:2981
+ #, fuzzy, gcc-internal-format
+ msgid "useless storage class specifier in empty declaration"
+ msgstr "паўторнае абвÑшчÑнне меткі \"%s\""
+
+-#: c-decl.c:2982
++#: c-decl.c:2987
+ #, gcc-internal-format
+ msgid "useless %<__thread%> in empty declaration"
+ msgstr ""
+
+-#: c-decl.c:2990
++#: c-decl.c:2995
+ #, fuzzy, gcc-internal-format
+ msgid "useless type qualifier in empty declaration"
+ msgstr "паўторнае абвÑшчÑнне меткі \"%s\""
+
+-#: c-decl.c:2997
++#: c-decl.c:3002
+ #, gcc-internal-format
+ msgid "empty declaration"
+ msgstr "пуÑтое абвÑшчÑньне"
+
+-#: c-decl.c:3063
++#: c-decl.c:3068
+ #, fuzzy, gcc-internal-format
+ msgid "ISO C90 does not support %<static%> or type qualifiers in parameter array declarators"
+ msgstr "ISO C89 не падтрымлівае \"long long\""
+
+-#: c-decl.c:3066
++#: c-decl.c:3071
+ #, fuzzy, gcc-internal-format
+ msgid "ISO C90 does not support %<[*]%> array declarators"
+ msgstr "ISO C89 не падтрымлівае \"long long\""
+@@ -18043,253 +18018,248 @@
+ #. C99 6.7.5.2p4
+ #. A function definition isn't function prototype scope C99 6.2.1p4.
+ #. C99 6.7.5.2p4
+-#: c-decl.c:3073 c-decl.c:5015
++#: c-decl.c:3078 c-decl.c:5014
+ #, gcc-internal-format
+ msgid "%<[*]%> not allowed in other than function prototype scope"
+ msgstr ""
+
+-#: c-decl.c:3097
+-#, gcc-internal-format
+-msgid "static or type qualifiers in abstract declarator"
+-msgstr ""
+-
+-#: c-decl.c:3183
++#: c-decl.c:3181
+ #, fuzzy, gcc-internal-format
+ msgid "%q+D is usually a function"
+ msgstr "`%s' - звычайна функцыÑ"
+
+-#: c-decl.c:3192 cp/decl.c:3983 cp/decl2.c:773
++#: c-decl.c:3190 cp/decl.c:4003 cp/decl2.c:773
+ #, fuzzy, gcc-internal-format
+ msgid "typedef %qD is initialized (use __typeof__ instead)"
+ msgstr "параметр \"%s\" ініцыÑлізаваны"
+
+-#: c-decl.c:3197
++#: c-decl.c:3195
+ #, gcc-internal-format
+ msgid "function %qD is initialized like a variable"
+ msgstr ""
+
+ #. DECL_INITIAL in a PARM_DECL is really DECL_ARG_TYPE.
+-#: c-decl.c:3203
++#: c-decl.c:3201
+ #, fuzzy, gcc-internal-format
+ msgid "parameter %qD is initialized"
+ msgstr "параметр \"%s\" ініцыÑлізаваны"
+
+-#: c-decl.c:3228
++#: c-decl.c:3226
+ #, fuzzy, gcc-internal-format
+ msgid "variable %qD has initializer but incomplete type"
+ msgstr "\"%s\" мае незавершаны тып"
+
+-#: c-decl.c:3316 c-decl.c:6108 cp/decl.c:4025 cp/decl.c:10985
++#: c-decl.c:3314 c-decl.c:6107 cp/decl.c:4045 cp/decl.c:11083
+ #, fuzzy, gcc-internal-format
+ msgid "inline function %q+D given attribute noinline"
+ msgstr "нÑма папÑÑ€ÑднÑга аб'ÑÑžÐ»ÐµÐ½Ð½Ñ Ð´Ð»Ñ \"%s\""
+
+-#: c-decl.c:3327
++#: c-decl.c:3326
+ #, gcc-internal-format
+ msgid "%q+D is static but declared in inline function %qD which is not static"
+ msgstr ""
+
+-#: c-decl.c:3418
++#: c-decl.c:3417
+ #, gcc-internal-format
+ msgid "initializer fails to determine size of %q+D"
+ msgstr ""
+
+-#: c-decl.c:3423
++#: c-decl.c:3422
+ #, fuzzy, gcc-internal-format
+ msgid "array size missing in %q+D"
+ msgstr "прапушчан памер маÑіва Ñž `%D'"
+
+-#: c-decl.c:3435
++#: c-decl.c:3434
+ #, fuzzy, gcc-internal-format
+ msgid "zero or negative size array %q+D"
+ msgstr "нулÑвы памер маÑіва `%D'"
+
+-#: c-decl.c:3490 varasm.c:2067
++#: c-decl.c:3489 varasm.c:2067
+ #, gcc-internal-format
+ msgid "storage size of %q+D isn%'t known"
+ msgstr ""
+
+-#: c-decl.c:3500
++#: c-decl.c:3499
+ #, fuzzy, gcc-internal-format
+ msgid "storage size of %q+D isn%'t constant"
+ msgstr "тып параметра \"%s\" не аб'Ñўлены"
+
+-#: c-decl.c:3545
++#: c-decl.c:3544
+ #, gcc-internal-format
+ msgid "ignoring asm-specifier for non-static local variable %q+D"
+ msgstr ""
+
+-#: c-decl.c:3573 fortran/f95-lang.c:653
++#: c-decl.c:3572 fortran/f95-lang.c:655
+ #, gcc-internal-format
+ msgid "cannot put object with volatile field into register"
+ msgstr ""
+
+-#: c-decl.c:3702
++#: c-decl.c:3701
+ #, gcc-internal-format
+ msgid "ISO C forbids forward parameter declarations"
+ msgstr ""
+
+-#: c-decl.c:3821
++#: c-decl.c:3820
+ #, fuzzy, gcc-internal-format
+ msgid "bit-field %qs width not an integer constant"
+ msgstr "бітавае поле \"%s\" мае нерÑчаіÑны тып"
+
+-#: c-decl.c:3829
++#: c-decl.c:3828
+ #, gcc-internal-format
+ msgid "negative width in bit-field %qs"
+ msgstr ""
+
+-#: c-decl.c:3834
++#: c-decl.c:3833
+ #, gcc-internal-format
+ msgid "zero width for bit-field %qs"
+ msgstr ""
+
+-#: c-decl.c:3844
++#: c-decl.c:3843
+ #, fuzzy, gcc-internal-format
+ msgid "bit-field %qs has invalid type"
+ msgstr "бітавае поле \"%s\" мае нерÑчаіÑны тып"
+
+-#: c-decl.c:3854
++#: c-decl.c:3853
+ #, gcc-internal-format
+ msgid "type of bit-field %qs is a GCC extension"
+ msgstr ""
+
+-#: c-decl.c:3860
++#: c-decl.c:3859
+ #, gcc-internal-format
+ msgid "width of %qs exceeds its type"
+ msgstr ""
+
+-#: c-decl.c:3873
++#: c-decl.c:3872
+ #, gcc-internal-format
+ msgid "%qs is narrower than values of its type"
+ msgstr ""
+
+-#: c-decl.c:3892
++#: c-decl.c:3891
+ #, gcc-internal-format
+ msgid "ISO C90 forbids array %qs whose size can%'t be evaluated"
+ msgstr ""
+
+-#: c-decl.c:3896
++#: c-decl.c:3895
+ #, gcc-internal-format
+ msgid "ISO C90 forbids array whose size can%'t be evaluated"
+ msgstr ""
+
+-#: c-decl.c:3902
++#: c-decl.c:3901
+ #, fuzzy, gcc-internal-format
+ msgid "ISO C90 forbids variable length array %qs"
+ msgstr "ISO C не дазвалÑе дÑкларацыі метак (label)"
+
+-#: c-decl.c:3905
++#: c-decl.c:3904
+ #, fuzzy, gcc-internal-format
+ msgid "ISO C90 forbids variable length array"
+ msgstr "ISO C не дазвалÑе дÑкларацыі метак (label)"
+
+-#: c-decl.c:3914
++#: c-decl.c:3913
+ #, fuzzy, gcc-internal-format
+ msgid "the size of array %qs can%'t be evaluated"
+ msgstr "памер маÑіва \"%s\" адмоўны"
+
+-#: c-decl.c:3918
++#: c-decl.c:3917
+ #, fuzzy, gcc-internal-format
+ msgid "the size of array can %'t be evaluated"
+ msgstr "памер маÑіва \"%s\" адмоўны"
+
+-#: c-decl.c:3924
++#: c-decl.c:3923
+ #, gcc-internal-format
+ msgid "variable length array %qs is used"
+ msgstr ""
+
+-#: c-decl.c:3928 cp/decl.c:7004
++#: c-decl.c:3927 cp/decl.c:7076
+ #, gcc-internal-format
+ msgid "variable length array is used"
+ msgstr ""
+
+-#: c-decl.c:4051 c-decl.c:4328
++#: c-decl.c:4050 c-decl.c:4327
+ #, gcc-internal-format
+ msgid "variably modified %qs at file scope"
+ msgstr ""
+
+-#: c-decl.c:4069
++#: c-decl.c:4068
+ #, gcc-internal-format
+ msgid "type defaults to %<int%> in declaration of %qs"
+ msgstr ""
+
+-#: c-decl.c:4097
++#: c-decl.c:4096
+ #, fuzzy, gcc-internal-format
+ msgid "duplicate %<const%>"
+ msgstr "паўтарÑнне \"const\""
+
+-#: c-decl.c:4099
++#: c-decl.c:4098
+ #, fuzzy, gcc-internal-format
+ msgid "duplicate %<restrict%>"
+ msgstr "паўтарÑнне \"restrict\""
+
+-#: c-decl.c:4101
++#: c-decl.c:4100
+ #, fuzzy, gcc-internal-format
+ msgid "duplicate %<volatile%>"
+ msgstr "паўтарÑнне \"volatile\""
+
+-#: c-decl.c:4120
++#: c-decl.c:4119
+ #, gcc-internal-format
+ msgid "function definition declared %<auto%>"
+ msgstr ""
+
+-#: c-decl.c:4122
++#: c-decl.c:4121
+ #, fuzzy, gcc-internal-format
+ msgid "function definition declared %<register%>"
+ msgstr "Ð²Ñ–Ñ€Ñ‚ÑƒÐ°Ð»ÑŒÐ½Ñ‹Ñ Ñ„ÑƒÐ½ÐºÑ†Ñ‹Ñ– не могуць быць ÑÑброўÑкімі"
+
+-#: c-decl.c:4124
++#: c-decl.c:4123
+ #, gcc-internal-format
+ msgid "function definition declared %<typedef%>"
+ msgstr ""
+
+-#: c-decl.c:4126
++#: c-decl.c:4125
+ #, fuzzy, gcc-internal-format
+ msgid "function definition declared %<__thread%>"
+ msgstr "Ð²Ñ–Ñ€Ñ‚ÑƒÐ°Ð»ÑŒÐ½Ñ‹Ñ Ñ„ÑƒÐ½ÐºÑ†Ñ‹Ñ– не могуць быць ÑÑброўÑкімі"
+
+-#: c-decl.c:4142
++#: c-decl.c:4141
+ #, gcc-internal-format
+ msgid "storage class specified for structure field %qs"
+ msgstr ""
+
+-#: c-decl.c:4146 cp/decl.c:7874
++#: c-decl.c:4145 cp/decl.c:7946
+ #, gcc-internal-format
+ msgid "storage class specified for parameter %qs"
+ msgstr ""
+
+-#: c-decl.c:4149 cp/decl.c:7876
++#: c-decl.c:4148 cp/decl.c:7948
+ #, gcc-internal-format
+ msgid "storage class specified for typename"
+ msgstr ""
+
+-#: c-decl.c:4166 cp/decl.c:7893
++#: c-decl.c:4165 cp/decl.c:7965
+ #, gcc-internal-format
+ msgid "%qs initialized and declared %<extern%>"
+ msgstr ""
+
+-#: c-decl.c:4169 cp/decl.c:7896
++#: c-decl.c:4168 cp/decl.c:7968
+ #, gcc-internal-format
+ msgid "%qs has both %<extern%> and initializer"
+ msgstr ""
+
+-#: c-decl.c:4174
++#: c-decl.c:4173
+ #, gcc-internal-format
+ msgid "file-scope declaration of %qs specifies %<auto%>"
+ msgstr ""
+
+-#: c-decl.c:4176
++#: c-decl.c:4175
+ #, gcc-internal-format
+ msgid "file-scope declaration of %qs specifies %<register%>"
+ msgstr ""
+
+-#: c-decl.c:4181 cp/decl.c:7900
++#: c-decl.c:4180 cp/decl.c:7972
+ #, gcc-internal-format
+ msgid "nested function %qs declared %<extern%>"
+ msgstr ""
+
+-#: c-decl.c:4184 cp/decl.c:7910
++#: c-decl.c:4183 cp/decl.c:7982
+ #, gcc-internal-format
+ msgid "function-scope %qs implicitly auto and declared %<__thread%>"
+ msgstr ""
+@@ -18297,468 +18267,468 @@
+ #. Only the innermost declarator (making a parameter be of
+ #. array type which is converted to pointer type)
+ #. may have static or type qualifiers.
+-#: c-decl.c:4231 c-decl.c:4472
++#: c-decl.c:4230 c-decl.c:4471
+ #, gcc-internal-format
+ msgid "static or type qualifiers in non-parameter array declarator"
+ msgstr ""
+
+-#: c-decl.c:4278
++#: c-decl.c:4277
+ #, gcc-internal-format
+ msgid "declaration of %qs as array of voids"
+ msgstr ""
+
+-#: c-decl.c:4284
++#: c-decl.c:4283
+ #, gcc-internal-format
+ msgid "declaration of %qs as array of functions"
+ msgstr ""
+
+-#: c-decl.c:4289
++#: c-decl.c:4288
+ #, fuzzy, gcc-internal-format
+ msgid "invalid use of structure with flexible array member"
+ msgstr "нÑвернае выкарыÑтанне \"restict\""
+
+-#: c-decl.c:4309
++#: c-decl.c:4308
+ #, fuzzy, gcc-internal-format
+ msgid "size of array %qs has non-integer type"
+ msgstr "памер маÑіва \"%s\" адмоўны"
+
+-#: c-decl.c:4314
++#: c-decl.c:4313
+ #, fuzzy, gcc-internal-format
+ msgid "ISO C forbids zero-size array %qs"
+ msgstr "ISO C не дазвалÑе дÑкларацыі метак (label)"
+
+-#: c-decl.c:4321
++#: c-decl.c:4320
+ #, fuzzy, gcc-internal-format
+ msgid "size of array %qs is negative"
+ msgstr "памер маÑіва \"%s\" адмоўны"
+
+-#: c-decl.c:4375 c-decl.c:4631 cp/decl.c:8375
++#: c-decl.c:4374 c-decl.c:4630 cp/decl.c:8447
+ #, fuzzy, gcc-internal-format
+ msgid "size of array %qs is too large"
+ msgstr "памер маÑіва \"%s\" вельмі вÑлікі"
+
+-#: c-decl.c:4386
++#: c-decl.c:4385
+ #, fuzzy, gcc-internal-format
+ msgid "ISO C90 does not support flexible array members"
+ msgstr "ISO C89 не падтрымлівае комлекÑÐ½Ñ‹Ñ Ñ‚Ñ‹Ð¿Ñ‹"
+
+ #. C99 6.7.5.2p4
+-#: c-decl.c:4399
++#: c-decl.c:4398
+ #, fuzzy, gcc-internal-format
+ msgid "%<[*]%> not allowed in other than a declaration"
+ msgstr "\"%s\" - гÑта не пачатак дÑкларацыі"
+
+-#: c-decl.c:4422
++#: c-decl.c:4421
+ #, gcc-internal-format
+ msgid "array type has incomplete element type"
+ msgstr ""
+
+-#: c-decl.c:4504 cp/decl.c:8001
++#: c-decl.c:4503 cp/decl.c:8073
+ #, fuzzy, gcc-internal-format
+ msgid "%qs declared as function returning a function"
+ msgstr "\"%s\" не абвешчан (першае выкарыÑтанне Ñž гÑтай функцыі)"
+
+-#: c-decl.c:4509 cp/decl.c:8006
++#: c-decl.c:4508 cp/decl.c:8078
+ #, gcc-internal-format
+ msgid "%qs declared as function returning an array"
+ msgstr ""
+
+-#: c-decl.c:4531
++#: c-decl.c:4530
+ #, fuzzy, gcc-internal-format
+ msgid "function definition has qualified void return type"
+ msgstr "Ñ„ÑƒÐ½ÐºÑ†Ñ‹Ñ Ð½Ðµ вÑртае тып string"
+
+-#: c-decl.c:4534 cp/decl.c:7990 cp/pt.c:8568
++#: c-decl.c:4533 cp/decl.c:8062 cp/pt.c:8668
+ #, gcc-internal-format
+ msgid "type qualifiers ignored on function return type"
+ msgstr ""
+
+-#: c-decl.c:4563 c-decl.c:4644 c-decl.c:4732 c-decl.c:4825
++#: c-decl.c:4562 c-decl.c:4643 c-decl.c:4731 c-decl.c:4824
+ #, gcc-internal-format
+ msgid "ISO C forbids qualified function types"
+ msgstr ""
+
+-#: c-decl.c:4652
++#: c-decl.c:4651
+ #, gcc-internal-format
+ msgid "typedef %q+D declared %<inline%>"
+ msgstr ""
+
+-#: c-decl.c:4667
++#: c-decl.c:4666
+ #, gcc-internal-format
+ msgid "ISO C forbids const or volatile function types"
+ msgstr ""
+
+ #. C99 6.7.2.1p8
+-#: c-decl.c:4677
++#: c-decl.c:4676
+ #, gcc-internal-format
+ msgid "a member of a structure or union cannot have a variably modified type"
+ msgstr ""
+
+-#: c-decl.c:4693
++#: c-decl.c:4692
+ #, fuzzy, gcc-internal-format
+ msgid "variable or field %qs declared void"
+ msgstr "тып параметра \"%s\" не аб'Ñўлены"
+
+-#: c-decl.c:4725
++#: c-decl.c:4724
+ #, gcc-internal-format
+ msgid "attributes in parameter array declarator ignored"
+ msgstr ""
+
+-#: c-decl.c:4760
++#: c-decl.c:4759
+ #, fuzzy, gcc-internal-format
+ msgid "parameter %q+D declared %<inline%>"
+ msgstr "тып параметра \"%s\" не аб'Ñўлены"
+
+-#: c-decl.c:4773
++#: c-decl.c:4772
+ #, fuzzy, gcc-internal-format
+ msgid "field %qs declared as a function"
+ msgstr "\"%s\" не абвешчан (першае выкарыÑтанне Ñž гÑтай функцыі)"
+
+-#: c-decl.c:4779
++#: c-decl.c:4778
+ #, fuzzy, gcc-internal-format
+ msgid "field %qs has incomplete type"
+ msgstr "\"%s\" мае незавершаны тып"
+
+-#: c-decl.c:4796 c-decl.c:4808 c-decl.c:4812
++#: c-decl.c:4795 c-decl.c:4807 c-decl.c:4811
+ #, fuzzy, gcc-internal-format
+ msgid "invalid storage class for function %qs"
+ msgstr "ÐерÑчаіÑны выбар \"%s\""
+
+-#: c-decl.c:4831
++#: c-decl.c:4830
+ #, gcc-internal-format
+ msgid "%<noreturn%> function returns non-void value"
+ msgstr ""
+
+-#: c-decl.c:4867
++#: c-decl.c:4866
+ #, fuzzy, gcc-internal-format
+ msgid "cannot inline function %<main%>"
+ msgstr "не магу ініцыÑлізаваць ÑÑброўÑкую функцыю \"%s\""
+
+-#: c-decl.c:4910
++#: c-decl.c:4909
+ #, gcc-internal-format
+ msgid "variable previously declared %<static%> redeclared %<extern%>"
+ msgstr ""
+
+-#: c-decl.c:4920
++#: c-decl.c:4919
+ #, gcc-internal-format
+ msgid "variable %q+D declared %<inline%>"
+ msgstr ""
+
+ #. C99 6.7.5.2p2
+-#: c-decl.c:4951
++#: c-decl.c:4950
+ #, gcc-internal-format
+ msgid "object with variably modified type must have no linkage"
+ msgstr ""
+
+-#: c-decl.c:5020 c-decl.c:6199
++#: c-decl.c:5019 c-decl.c:6198
+ #, gcc-internal-format
+ msgid "function declaration isn%'t a prototype"
+ msgstr ""
+
+-#: c-decl.c:5028
++#: c-decl.c:5027
+ #, gcc-internal-format
+ msgid "parameter names (without types) in function declaration"
+ msgstr ""
+
+-#: c-decl.c:5061
++#: c-decl.c:5060
+ #, fuzzy, gcc-internal-format
+ msgid "parameter %u (%q+D) has incomplete type"
+ msgstr "\"%s\" мае незавершаны тып"
+
+-#: c-decl.c:5064
++#: c-decl.c:5063
+ #, fuzzy, gcc-internal-format
+ msgid "%Jparameter %u has incomplete type"
+ msgstr "\"%s\" мае незавершаны тып"
+
+-#: c-decl.c:5073
++#: c-decl.c:5072
+ #, fuzzy, gcc-internal-format
+ msgid "parameter %u (%q+D) has void type"
+ msgstr "тып параметра \"%s\" не аб'Ñўлены"
+
+-#: c-decl.c:5076
++#: c-decl.c:5075
+ #, fuzzy, gcc-internal-format
+ msgid "%Jparameter %u has void type"
+ msgstr "тып параметра \"%s\" не аб'Ñўлены"
+
+-#: c-decl.c:5138
++#: c-decl.c:5137
+ #, gcc-internal-format
+ msgid "%<void%> as only parameter may not be qualified"
+ msgstr ""
+
+-#: c-decl.c:5142 c-decl.c:5176
++#: c-decl.c:5141 c-decl.c:5175
+ #, fuzzy, gcc-internal-format
+ msgid "%<void%> must be the only parameter"
+ msgstr "нÑвернае выкарыÑтанне \"restict\""
+
+-#: c-decl.c:5170
++#: c-decl.c:5169
+ #, gcc-internal-format
+ msgid "parameter %q+D has just a forward declaration"
+ msgstr ""
+
+ #. The %s will be one of 'struct', 'union', or 'enum'.
+-#: c-decl.c:5215
++#: c-decl.c:5214
+ #, gcc-internal-format
+ msgid "%<%s %E%> declared inside parameter list"
+ msgstr ""
+
+ #. The %s will be one of 'struct', 'union', or 'enum'.
+-#: c-decl.c:5219
++#: c-decl.c:5218
+ #, gcc-internal-format
+ msgid "anonymous %s declared inside parameter list"
+ msgstr ""
+
+-#: c-decl.c:5224
++#: c-decl.c:5223
+ #, gcc-internal-format
+ msgid "its scope is only this definition or declaration, which is probably not what you want"
+ msgstr ""
+
+-#: c-decl.c:5358
++#: c-decl.c:5357
+ #, fuzzy, gcc-internal-format
+ msgid "redefinition of %<union %E%>"
+ msgstr "перанакіраванне stdout: %s"
+
+-#: c-decl.c:5360
++#: c-decl.c:5359
+ #, fuzzy, gcc-internal-format
+ msgid "redefinition of %<struct %E%>"
+ msgstr "перанакіраванне stdout: %s"
+
+-#: c-decl.c:5365
++#: c-decl.c:5364
+ #, fuzzy, gcc-internal-format
+ msgid "nested redefinition of %<union %E%>"
+ msgstr "перанакіраванне stdout: %s"
+
+-#: c-decl.c:5367
++#: c-decl.c:5366
+ #, fuzzy, gcc-internal-format
+ msgid "nested redefinition of %<struct %E%>"
+ msgstr "перанакіраванне stdout: %s"
+
+-#: c-decl.c:5442 cp/decl.c:3780
++#: c-decl.c:5441 cp/decl.c:3796
+ #, gcc-internal-format
+ msgid "declaration does not declare anything"
+ msgstr ""
+
+-#: c-decl.c:5446
++#: c-decl.c:5445
+ #, fuzzy, gcc-internal-format
+ msgid "ISO C doesn%'t support unnamed structs/unions"
+ msgstr "ISO C не падтрымлівае комлекÑÐ½Ñ‹Ñ Ñ†ÑÐ»Ð°Ð»Ñ–ÐºÐ°Ð²Ñ‹Ñ Ñ‚Ñ‹Ð¿Ñ‹"
+
+-#: c-decl.c:5490 c-decl.c:5506
++#: c-decl.c:5489 c-decl.c:5505
+ #, fuzzy, gcc-internal-format
+ msgid "duplicate member %q+D"
+ msgstr "паўтарÑнне \"%s\""
+
+-#: c-decl.c:5545
++#: c-decl.c:5544
+ #, gcc-internal-format
+ msgid "union has no named members"
+ msgstr ""
+
+-#: c-decl.c:5547
++#: c-decl.c:5546
+ #, gcc-internal-format
+ msgid "union has no members"
+ msgstr ""
+
+-#: c-decl.c:5552
++#: c-decl.c:5551
+ #, gcc-internal-format
+ msgid "struct has no named members"
+ msgstr ""
+
+-#: c-decl.c:5554
++#: c-decl.c:5553
+ #, gcc-internal-format
+ msgid "struct has no members"
+ msgstr ""
+
+-#: c-decl.c:5616
++#: c-decl.c:5615
+ #, gcc-internal-format
+ msgid "%Jflexible array member in union"
+ msgstr ""
+
+-#: c-decl.c:5621
++#: c-decl.c:5620
+ #, gcc-internal-format
+ msgid "%Jflexible array member not at end of struct"
+ msgstr ""
+
+-#: c-decl.c:5626
++#: c-decl.c:5625
+ #, gcc-internal-format
+ msgid "%Jflexible array member in otherwise empty struct"
+ msgstr ""
+
+-#: c-decl.c:5633
++#: c-decl.c:5632
+ #, fuzzy, gcc-internal-format
+ msgid "%Jinvalid use of structure with flexible array member"
+ msgstr "нÑвернае выкарыÑтанне \"restict\""
+
+-#: c-decl.c:5742
++#: c-decl.c:5741
+ #, gcc-internal-format
+ msgid "union cannot be made transparent"
+ msgstr ""
+
+-#: c-decl.c:5813
++#: c-decl.c:5812
+ #, fuzzy, gcc-internal-format
+ msgid "nested redefinition of %<enum %E%>"
+ msgstr "перанакіраванне stdout: %s"
+
+ #. This enum is a named one that has been declared already.
+-#: c-decl.c:5820
++#: c-decl.c:5819
+ #, fuzzy, gcc-internal-format
+ msgid "redeclaration of %<enum %E%>"
+ msgstr "абвÑшчÑньне `%#D'"
+
+-#: c-decl.c:5883
++#: c-decl.c:5882
+ #, gcc-internal-format
+ msgid "enumeration values exceed range of largest integer"
+ msgstr ""
+
+-#: c-decl.c:5900
++#: c-decl.c:5899
+ #, gcc-internal-format
+ msgid "specified mode too small for enumeral values"
+ msgstr ""
+
+-#: c-decl.c:5996
++#: c-decl.c:5995
+ #, fuzzy, gcc-internal-format
+ msgid "enumerator value for %qE is not an integer constant"
+ msgstr "памер маÑіва \"%s\" адмоўны"
+
+-#: c-decl.c:6013
++#: c-decl.c:6012
+ #, gcc-internal-format
+ msgid "overflow in enumeration values"
+ msgstr ""
+
+-#: c-decl.c:6018
++#: c-decl.c:6017
+ #, gcc-internal-format
+ msgid "ISO C restricts enumerator values to range of %<int%>"
+ msgstr ""
+
+-#: c-decl.c:6125
++#: c-decl.c:6124
+ #, gcc-internal-format
+ msgid "return type is an incomplete type"
+ msgstr ""
+
+-#: c-decl.c:6133
++#: c-decl.c:6132
+ #, fuzzy, gcc-internal-format
+ msgid "return type defaults to %<int%>"
+ msgstr "вÑртаемы тып \"%s\" не \"int\""
+
+-#: c-decl.c:6206
++#: c-decl.c:6205
+ #, fuzzy, gcc-internal-format
+ msgid "no previous prototype for %q+D"
+ msgstr "нÑма папÑÑ€ÑднÑга прататыпа Ð´Ð»Ñ \"%s\""
+
+-#: c-decl.c:6215
++#: c-decl.c:6214
+ #, fuzzy, gcc-internal-format
+ msgid "%q+D was used with no prototype before its definition"
+ msgstr "\"%s\" не абвешчан (першае выкарыÑтанне Ñž гÑтай функцыі)"
+
+-#: c-decl.c:6221 cp/decl.c:11126
++#: c-decl.c:6220 cp/decl.c:11224
+ #, fuzzy, gcc-internal-format
+ msgid "no previous declaration for %q+D"
+ msgstr "нÑма папÑÑ€ÑднÑга аб'ÑÑžÐ»ÐµÐ½Ð½Ñ Ð´Ð»Ñ \"%s\""
+
+-#: c-decl.c:6231
++#: c-decl.c:6230
+ #, fuzzy, gcc-internal-format
+ msgid "%q+D was used with no declaration before its definition"
+ msgstr "\"%s\" не абвешчан (першае выкарыÑтанне Ñž гÑтай функцыі)"
+
+-#: c-decl.c:6254 c-decl.c:6723
++#: c-decl.c:6253 c-decl.c:6722
+ #, fuzzy, gcc-internal-format
+ msgid "return type of %q+D is not %<int%>"
+ msgstr "вÑртаемы тып \"%s\" не \"int\""
+
+-#: c-decl.c:6259
++#: c-decl.c:6258
+ #, fuzzy, gcc-internal-format
+ msgid "%q+D is normally a non-static function"
+ msgstr "`%s' - звычайна функцыÑ"
+
+-#: c-decl.c:6293
++#: c-decl.c:6292
+ #, gcc-internal-format
+ msgid "%Jold-style parameter declarations in prototyped function definition"
+ msgstr ""
+
+-#: c-decl.c:6307
++#: c-decl.c:6306
+ #, gcc-internal-format
+ msgid "%Jtraditional C rejects ISO C style function definitions"
+ msgstr ""
+
+-#: c-decl.c:6323
++#: c-decl.c:6322
+ #, fuzzy, gcc-internal-format
+ msgid "%Jparameter name omitted"
+ msgstr "тып параметра \"%s\" не аб'Ñўлены"
+
+-#: c-decl.c:6357
++#: c-decl.c:6356
+ #, gcc-internal-format
+ msgid "%Jold-style function definition"
+ msgstr ""
+
+-#: c-decl.c:6366
++#: c-decl.c:6365
+ #, gcc-internal-format
+ msgid "%Jparameter name missing from parameter list"
+ msgstr ""
+
+-#: c-decl.c:6377
++#: c-decl.c:6376
+ #, gcc-internal-format
+ msgid "%q+D declared as a non-parameter"
+ msgstr ""
+
+-#: c-decl.c:6382
++#: c-decl.c:6381
+ #, fuzzy, gcc-internal-format
+ msgid "multiple parameters named %q+D"
+ msgstr "невыкарыÑтаемы параметр \"%s\""
+
+-#: c-decl.c:6390
++#: c-decl.c:6389
+ #, fuzzy, gcc-internal-format
+ msgid "parameter %q+D declared with void type"
+ msgstr "тып параметра \"%s\" не аб'Ñўлены"
+
+-#: c-decl.c:6407 c-decl.c:6409
++#: c-decl.c:6406 c-decl.c:6408
+ #, gcc-internal-format
+ msgid "type of %q+D defaults to %<int%>"
+ msgstr ""
+
+-#: c-decl.c:6428
++#: c-decl.c:6427
+ #, fuzzy, gcc-internal-format
+ msgid "parameter %q+D has incomplete type"
+ msgstr "\"%s\" мае незавершаны тып"
+
+-#: c-decl.c:6434
++#: c-decl.c:6433
+ #, gcc-internal-format
+ msgid "declaration for parameter %q+D but no such parameter"
+ msgstr ""
+
+-#: c-decl.c:6484
++#: c-decl.c:6483
+ #, gcc-internal-format
+ msgid "number of arguments doesn%'t match built-in prototype"
+ msgstr ""
+
+-#: c-decl.c:6488
++#: c-decl.c:6487
+ #, fuzzy, gcc-internal-format
+ msgid "number of arguments doesn%'t match prototype"
+ msgstr "Ð¿Ð°Ð¼Ñ‹Ð»ÐºÐ¾Ð²Ð°Ñ ÐºÐ¾Ð»ÑŒÐºÐ°Ñьць аргументаў, зададзеных Ð´Ð»Ñ Ð°Ñ‚Ñ€Ñ‹Ð±ÑƒÑ‚Ð° `%s'"
+
+-#: c-decl.c:6489 c-decl.c:6529 c-decl.c:6542
++#: c-decl.c:6488 c-decl.c:6528 c-decl.c:6541
+ #, fuzzy, gcc-internal-format
+ msgid "%Hprototype declaration"
+ msgstr "пуÑтое абвÑшчÑньне"
+
+-#: c-decl.c:6523
++#: c-decl.c:6522
+ #, gcc-internal-format
+ msgid "promoted argument %qD doesn%'t match built-in prototype"
+ msgstr ""
+
+-#: c-decl.c:6527
++#: c-decl.c:6526
+ #, gcc-internal-format
+ msgid "promoted argument %qD doesn%'t match prototype"
+ msgstr ""
+
+-#: c-decl.c:6537
++#: c-decl.c:6536
+ #, gcc-internal-format
+ msgid "argument %qD doesn%'t match built-in prototype"
+ msgstr ""
+
+-#: c-decl.c:6541
++#: c-decl.c:6540
+ #, gcc-internal-format
+ msgid "argument %qD doesn%'t match prototype"
+ msgstr ""
+
+-#: c-decl.c:6768 cp/decl.c:11820
++#: c-decl.c:6767 cp/decl.c:11918
+ #, gcc-internal-format
+ msgid "no return statement in function returning non-void"
+ msgstr ""
+@@ -18766,437 +18736,437 @@
+ #. If we get here, declarations have been used in a for loop without
+ #. the C99 for loop scope. This doesn't make much sense, so don't
+ #. allow it.
+-#: c-decl.c:6841
++#: c-decl.c:6840
+ #, gcc-internal-format
+ msgid "%<for%> loop initial declaration used outside C99 mode"
+ msgstr ""
+
+-#: c-decl.c:6870
++#: c-decl.c:6869
+ #, gcc-internal-format
+ msgid "declaration of static variable %q+D in %<for%> loop initial declaration"
+ msgstr ""
+
+-#: c-decl.c:6873
++#: c-decl.c:6872
+ #, gcc-internal-format
+ msgid "declaration of %<extern%> variable %q+D in %<for%> loop initial declaration"
+ msgstr ""
+
+-#: c-decl.c:6878
++#: c-decl.c:6877
+ #, gcc-internal-format
+ msgid "%<struct %E%> declared in %<for%> loop initial declaration"
+ msgstr ""
+
+-#: c-decl.c:6882
++#: c-decl.c:6881
+ #, gcc-internal-format
+ msgid "%<union %E%> declared in %<for%> loop initial declaration"
+ msgstr ""
+
+-#: c-decl.c:6886
++#: c-decl.c:6885
+ #, gcc-internal-format
+ msgid "%<enum %E%> declared in %<for%> loop initial declaration"
+ msgstr ""
+
+-#: c-decl.c:6890
++#: c-decl.c:6889
+ #, gcc-internal-format
+ msgid "declaration of non-variable %q+D in %<for%> loop initial declaration"
+ msgstr ""
+
+-#: c-decl.c:7178 c-decl.c:7420 c-decl.c:7716
++#: c-decl.c:7177 c-decl.c:7419 c-decl.c:7715
+ #, fuzzy, gcc-internal-format
+ msgid "duplicate %qE"
+ msgstr "паўтарÑньне `%s'"
+
+-#: c-decl.c:7201 c-decl.c:7430 c-decl.c:7617
++#: c-decl.c:7200 c-decl.c:7429 c-decl.c:7616
+ #, gcc-internal-format
+ msgid "two or more data types in declaration specifiers"
+ msgstr ""
+
+-#: c-decl.c:7213 cp/parser.c:2149
++#: c-decl.c:7212 cp/parser.c:2152
+ #, fuzzy, gcc-internal-format
+ msgid "%<long long long%> is too long for GCC"
+ msgstr "`long long long' - вельмі доўга Ð´Ð»Ñ GCC"
+
+-#: c-decl.c:7220 c-decl.c:7520
++#: c-decl.c:7219 c-decl.c:7519
+ #, gcc-internal-format
+ msgid "both %<long long%> and %<double%> in declaration specifiers"
+ msgstr ""
+
+-#: c-decl.c:7226
++#: c-decl.c:7225
+ #, fuzzy, gcc-internal-format
+ msgid "ISO C90 does not support %<long long%>"
+ msgstr "ISO C89 не падтрымлівае `long long'"
+
+-#: c-decl.c:7231 c-decl.c:7260
++#: c-decl.c:7230 c-decl.c:7259
+ #, gcc-internal-format
+ msgid "both %<long%> and %<short%> in declaration specifiers"
+ msgstr ""
+
+-#: c-decl.c:7234 c-decl.c:7437
++#: c-decl.c:7233 c-decl.c:7436
+ #, gcc-internal-format
+ msgid "both %<long%> and %<void%> in declaration specifiers"
+ msgstr ""
+
+-#: c-decl.c:7237 c-decl.c:7459
++#: c-decl.c:7236 c-decl.c:7458
+ #, gcc-internal-format
+ msgid "both %<long%> and %<_Bool%> in declaration specifiers"
+ msgstr ""
+
+-#: c-decl.c:7240 c-decl.c:7481
++#: c-decl.c:7239 c-decl.c:7480
+ #, gcc-internal-format
+ msgid "both %<long%> and %<char%> in declaration specifiers"
+ msgstr ""
+
+-#: c-decl.c:7243 c-decl.c:7501
++#: c-decl.c:7242 c-decl.c:7500
+ #, gcc-internal-format
+ msgid "both %<long%> and %<float%> in declaration specifiers"
+ msgstr ""
+
+-#: c-decl.c:7246
++#: c-decl.c:7245
+ #, gcc-internal-format
+ msgid "both %<long%> and %<_Decimal32%> in declaration specifiers"
+ msgstr ""
+
+-#: c-decl.c:7249
++#: c-decl.c:7248
+ #, gcc-internal-format
+ msgid "both %<long%> and %<_Decimal64%> in declaration specifiers"
+ msgstr ""
+
+-#: c-decl.c:7252
++#: c-decl.c:7251
+ #, gcc-internal-format
+ msgid "both %<long%> and %<_Decimal128%> in declaration specifiers"
+ msgstr ""
+
+-#: c-decl.c:7263 c-decl.c:7440
++#: c-decl.c:7262 c-decl.c:7439
+ #, gcc-internal-format
+ msgid "both %<short%> and %<void%> in declaration specifiers"
+ msgstr ""
+
+-#: c-decl.c:7266 c-decl.c:7462
++#: c-decl.c:7265 c-decl.c:7461
+ #, gcc-internal-format
+ msgid "both %<short%> and %<_Bool%> in declaration specifiers"
+ msgstr ""
+
+-#: c-decl.c:7269 c-decl.c:7484
++#: c-decl.c:7268 c-decl.c:7483
+ #, gcc-internal-format
+ msgid "both %<short%> and %<char%> in declaration specifiers"
+ msgstr ""
+
+-#: c-decl.c:7272 c-decl.c:7504
++#: c-decl.c:7271 c-decl.c:7503
+ #, gcc-internal-format
+ msgid "both %<short%> and %<float%> in declaration specifiers"
+ msgstr ""
+
+-#: c-decl.c:7275 c-decl.c:7523
++#: c-decl.c:7274 c-decl.c:7522
+ #, gcc-internal-format
+ msgid "both %<short%> and %<double%> in declaration specifiers"
+ msgstr ""
+
+-#: c-decl.c:7278
++#: c-decl.c:7277
+ #, gcc-internal-format
+ msgid "both %<short%> and %<_Decimal32%> in declaration specifiers"
+ msgstr ""
+
+-#: c-decl.c:7281
++#: c-decl.c:7280
+ #, gcc-internal-format
+ msgid "both %<short%> and %<_Decimal64%> in declaration specifiers"
+ msgstr ""
+
+-#: c-decl.c:7284
++#: c-decl.c:7283
+ #, gcc-internal-format
+ msgid "both %<short%> and %<_Decimal128%> in declaration specifiers"
+ msgstr ""
+
+-#: c-decl.c:7292 c-decl.c:7321
++#: c-decl.c:7291 c-decl.c:7320
+ #, gcc-internal-format
+ msgid "both %<signed%> and %<unsigned%> in declaration specifiers"
+ msgstr ""
+
+-#: c-decl.c:7295 c-decl.c:7443
++#: c-decl.c:7294 c-decl.c:7442
+ #, gcc-internal-format
+ msgid "both %<signed%> and %<void%> in declaration specifiers"
+ msgstr ""
+
+-#: c-decl.c:7298 c-decl.c:7465
++#: c-decl.c:7297 c-decl.c:7464
+ #, gcc-internal-format
+ msgid "both %<signed%> and %<_Bool%> in declaration specifiers"
+ msgstr ""
+
+-#: c-decl.c:7301 c-decl.c:7507
++#: c-decl.c:7300 c-decl.c:7506
+ #, gcc-internal-format
+ msgid "both %<signed%> and %<float%> in declaration specifiers"
+ msgstr ""
+
+-#: c-decl.c:7304 c-decl.c:7526
++#: c-decl.c:7303 c-decl.c:7525
+ #, gcc-internal-format
+ msgid "both %<signed%> and %<double%> in declaration specifiers"
+ msgstr ""
+
+-#: c-decl.c:7307
++#: c-decl.c:7306
+ #, gcc-internal-format
+ msgid "both %<signed%> and %<_Decimal32%> in declaration specifiers"
+ msgstr ""
+
+-#: c-decl.c:7310
++#: c-decl.c:7309
+ #, gcc-internal-format
+ msgid "both %<signed%> and %<_Decimal64%> in declaration specifiers"
+ msgstr ""
+
+-#: c-decl.c:7313
++#: c-decl.c:7312
+ #, gcc-internal-format
+ msgid "both %<signed%> and %<_Decimal128%> in declaration specifiers"
+ msgstr ""
+
+-#: c-decl.c:7324 c-decl.c:7446
++#: c-decl.c:7323 c-decl.c:7445
+ #, gcc-internal-format
+ msgid "both %<unsigned%> and %<void%> in declaration specifiers"
+ msgstr ""
+
+-#: c-decl.c:7327 c-decl.c:7468
++#: c-decl.c:7326 c-decl.c:7467
+ #, gcc-internal-format
+ msgid "both %<unsigned%> and %<_Bool%> in declaration specifiers"
+ msgstr ""
+
+-#: c-decl.c:7330 c-decl.c:7510
++#: c-decl.c:7329 c-decl.c:7509
+ #, gcc-internal-format
+ msgid "both %<unsigned%> and %<float%> in declaration specifiers"
+ msgstr ""
+
+-#: c-decl.c:7333 c-decl.c:7529
++#: c-decl.c:7332 c-decl.c:7528
+ #, gcc-internal-format
+ msgid "both %<unsigned%> and %<double%> in declaration specifiers"
+ msgstr ""
+
+-#: c-decl.c:7336
++#: c-decl.c:7335
+ #, gcc-internal-format
+ msgid "both %<unsigned%> and %<_Decimal32%> in declaration specifiers"
+ msgstr ""
+
+-#: c-decl.c:7339
++#: c-decl.c:7338
+ #, gcc-internal-format
+ msgid "both %<unsigned%> and %<_Decimal64%> in declaration specifiers"
+ msgstr ""
+
+-#: c-decl.c:7342
++#: c-decl.c:7341
+ #, gcc-internal-format
+ msgid "both %<unsigned%> and %<_Decimal128%> in declaration specifiers"
+ msgstr ""
+
+-#: c-decl.c:7350
++#: c-decl.c:7349
+ #, fuzzy, gcc-internal-format
+ msgid "ISO C90 does not support complex types"
+ msgstr "ISO C89 не падтрымлівае комлекÑÐ½Ñ‹Ñ Ñ‚Ñ‹Ð¿Ñ‹"
+
+-#: c-decl.c:7352 c-decl.c:7449
++#: c-decl.c:7351 c-decl.c:7448
+ #, gcc-internal-format
+ msgid "both %<complex%> and %<void%> in declaration specifiers"
+ msgstr ""
+
+-#: c-decl.c:7355 c-decl.c:7471
++#: c-decl.c:7354 c-decl.c:7470
+ #, gcc-internal-format
+ msgid "both %<complex%> and %<_Bool%> in declaration specifiers"
+ msgstr ""
+
+-#: c-decl.c:7358
++#: c-decl.c:7357
+ #, gcc-internal-format
+ msgid "both %<complex%> and %<_Decimal32%> in declaration specifiers"
+ msgstr ""
+
+-#: c-decl.c:7361
++#: c-decl.c:7360
+ #, gcc-internal-format
+ msgid "both %<complex%> and %<_Decimal64%> in declaration specifiers"
+ msgstr ""
+
+-#: c-decl.c:7364
++#: c-decl.c:7363
+ #, gcc-internal-format
+ msgid "both %<complex%> and %<_Decimal128%> in declaration specifiers"
+ msgstr ""
+
+-#: c-decl.c:7367
++#: c-decl.c:7366
+ #, gcc-internal-format
+ msgid "both %<complex%> and %<_Fract%> in declaration specifiers"
+ msgstr ""
+
+-#: c-decl.c:7370
++#: c-decl.c:7369
+ #, gcc-internal-format
+ msgid "both %<complex%> and %<_Accum%> in declaration specifiers"
+ msgstr ""
+
+-#: c-decl.c:7373
++#: c-decl.c:7372
+ #, gcc-internal-format
+ msgid "both %<complex%> and %<_Sat%> in declaration specifiers"
+ msgstr ""
+
+-#: c-decl.c:7381
++#: c-decl.c:7380
+ #, fuzzy, gcc-internal-format
+ msgid "ISO C does not support saturating types"
+ msgstr "ISO C не падтрымлівае комлекÑÐ½Ñ‹Ñ Ñ†ÑÐ»Ð°Ð»Ñ–ÐºÐ°Ð²Ñ‹Ñ Ñ‚Ñ‹Ð¿Ñ‹"
+
+-#: c-decl.c:7383 c-decl.c:7452
++#: c-decl.c:7382 c-decl.c:7451
+ #, gcc-internal-format
+ msgid "both %<_Sat%> and %<void%> in declaration specifiers"
+ msgstr ""
+
+-#: c-decl.c:7386 c-decl.c:7474
++#: c-decl.c:7385 c-decl.c:7473
+ #, gcc-internal-format
+ msgid "both %<_Sat%> and %<_Bool%> in declaration specifiers"
+ msgstr ""
+
+-#: c-decl.c:7389 c-decl.c:7487
++#: c-decl.c:7388 c-decl.c:7486
+ #, gcc-internal-format
+ msgid "both %<_Sat%> and %<char%> in declaration specifiers"
+ msgstr ""
+
+-#: c-decl.c:7392 c-decl.c:7494
++#: c-decl.c:7391 c-decl.c:7493
+ #, gcc-internal-format
+ msgid "both %<_Sat%> and %<int%> in declaration specifiers"
+ msgstr ""
+
+-#: c-decl.c:7395 c-decl.c:7513
++#: c-decl.c:7394 c-decl.c:7512
+ #, gcc-internal-format
+ msgid "both %<_Sat%> and %<float%> in declaration specifiers"
+ msgstr ""
+
+-#: c-decl.c:7398 c-decl.c:7532
++#: c-decl.c:7397 c-decl.c:7531
+ #, gcc-internal-format
+ msgid "both %<_Sat%> and %<double%> in declaration specifiers"
+ msgstr ""
+
+-#: c-decl.c:7401
++#: c-decl.c:7400
+ #, gcc-internal-format
+ msgid "both %<_Sat%> and %<_Decimal32%> in declaration specifiers"
+ msgstr ""
+
+-#: c-decl.c:7404
++#: c-decl.c:7403
+ #, gcc-internal-format
+ msgid "both %<_Sat%> and %<_Decimal64%> in declaration specifiers"
+ msgstr ""
+
+-#: c-decl.c:7407
++#: c-decl.c:7406
+ #, gcc-internal-format
+ msgid "both %<_Sat%> and %<_Decimal128%> in declaration specifiers"
+ msgstr ""
+
+-#: c-decl.c:7410
++#: c-decl.c:7409
+ #, gcc-internal-format
+ msgid "both %<_Sat%> and %<complex%> in declaration specifiers"
+ msgstr ""
+
+-#: c-decl.c:7549
++#: c-decl.c:7548
+ #, gcc-internal-format
+ msgid "both %<long long%> and %<%s%> in declaration specifiers"
+ msgstr ""
+
+-#: c-decl.c:7552
++#: c-decl.c:7551
+ #, gcc-internal-format
+ msgid "both %<long%> and %<%s%> in declaration specifiers"
+ msgstr ""
+
+-#: c-decl.c:7555
++#: c-decl.c:7554
+ #, gcc-internal-format
+ msgid "both %<short%> and %<%s%> in declaration specifiers"
+ msgstr ""
+
+-#: c-decl.c:7558
++#: c-decl.c:7557
+ #, gcc-internal-format
+ msgid "both %<signed%> and %<%s%> in declaration specifiers"
+ msgstr ""
+
+-#: c-decl.c:7561
++#: c-decl.c:7560
+ #, gcc-internal-format
+ msgid "both %<unsigned%> and %<%s%> in declaration specifiers"
+ msgstr ""
+
+-#: c-decl.c:7564 c-decl.c:7590
++#: c-decl.c:7563 c-decl.c:7589
+ #, gcc-internal-format
+ msgid "both %<complex%> and %<%s%> in declaration specifiers"
+ msgstr ""
+
+-#: c-decl.c:7567
++#: c-decl.c:7566
+ #, gcc-internal-format
+ msgid "both %<_Sat%> and %<%s%> in declaration specifiers"
+ msgstr ""
+
+-#: c-decl.c:7577
++#: c-decl.c:7576
+ #, fuzzy, gcc-internal-format
+ msgid "decimal floating point not supported for this target"
+ msgstr "атрыбуты Ñекцыі не падтрымліваюцца Ð´Ð»Ñ Ð³Ñтай мÑÑ‚Ñ‹"
+
+-#: c-decl.c:7579
++#: c-decl.c:7578
+ #, fuzzy, gcc-internal-format
+ msgid "ISO C does not support decimal floating point"
+ msgstr "ISO C89 не падтрымлівае `long long'"
+
+-#: c-decl.c:7598
++#: c-decl.c:7597
+ #, fuzzy, gcc-internal-format
+ msgid "fixed-point types not supported for this target"
+ msgstr "атрыбуты Ñекцыі не падтрымліваюцца Ð´Ð»Ñ Ð³Ñтай мÑÑ‚Ñ‹"
+
+-#: c-decl.c:7600
++#: c-decl.c:7599
+ #, fuzzy, gcc-internal-format
+ msgid "ISO C does not support fixed-point types"
+ msgstr "ISO C не падтрымлівае комлекÑÐ½Ñ‹Ñ Ñ†ÑÐ»Ð°Ð»Ñ–ÐºÐ°Ð²Ñ‹Ñ Ñ‚Ñ‹Ð¿Ñ‹"
+
+-#: c-decl.c:7634
++#: c-decl.c:7633
+ #, gcc-internal-format
+ msgid "%qE fails to be a typedef or built in type"
+ msgstr ""
+
+-#: c-decl.c:7667
++#: c-decl.c:7666
+ #, fuzzy, gcc-internal-format
+ msgid "%qE is not at beginning of declaration"
+ msgstr "\"%s\" - гÑта не пачатак дÑкларацыі"
+
+-#: c-decl.c:7681
++#: c-decl.c:7680
+ #, gcc-internal-format
+ msgid "%<__thread%> used with %<auto%>"
+ msgstr ""
+
+-#: c-decl.c:7683
++#: c-decl.c:7682
+ #, gcc-internal-format
+ msgid "%<__thread%> used with %<register%>"
+ msgstr ""
+
+-#: c-decl.c:7685
++#: c-decl.c:7684
+ #, gcc-internal-format
+ msgid "%<__thread%> used with %<typedef%>"
+ msgstr ""
+
+-#: c-decl.c:7696
++#: c-decl.c:7695
+ #, gcc-internal-format
+ msgid "%<__thread%> before %<extern%>"
+ msgstr ""
+
+-#: c-decl.c:7705
++#: c-decl.c:7704
+ #, gcc-internal-format
+ msgid "%<__thread%> before %<static%>"
+ msgstr ""
+
+-#: c-decl.c:7721
++#: c-decl.c:7720
+ #, gcc-internal-format
+ msgid "multiple storage classes in declaration specifiers"
+ msgstr ""
+
+-#: c-decl.c:7728
++#: c-decl.c:7727
+ #, gcc-internal-format
+ msgid "%<__thread%> used with %qE"
+ msgstr ""
+
+-#: c-decl.c:7775
++#: c-decl.c:7774
+ #, gcc-internal-format
+ msgid "%<_Sat%> is used without %<_Fract%> or %<_Accum%>"
+ msgstr ""
+
+-#: c-decl.c:7787
++#: c-decl.c:7786
+ #, fuzzy, gcc-internal-format
+ msgid "ISO C does not support plain %<complex%> meaning %<double complex%>"
+ msgstr "ISO C не падтрымлівае проÑÑ‚Ñ‹ \"complex\" у значÑнні \"double complex\""
+
+-#: c-decl.c:7832 c-decl.c:7858
++#: c-decl.c:7831 c-decl.c:7857
+ #, gcc-internal-format
+ msgid "ISO C does not support complex integer types"
+ msgstr "ISO C не падтрымлівае комлекÑÐ½Ñ‹Ñ Ñ†ÑÐ»Ð°Ð»Ñ–ÐºÐ°Ð²Ñ‹Ñ Ñ‚Ñ‹Ð¿Ñ‹"
+
+-#: c-decl.c:8008 toplev.c:847
++#: c-decl.c:8007 toplev.c:847
+ #, fuzzy, gcc-internal-format
+ msgid "%q+F used but never defined"
+ msgstr "адмеціна `%s' выкарыÑтоўвываецца, але Ð½Ñ Ð²Ñ‹Ð·Ð½Ð°Ñ‡Ð°Ð½Ð°"
+@@ -19608,37 +19578,37 @@
+ msgid "invalid expression type for %<#pragma omp atomic%>"
+ msgstr ""
+
+-#: c-omp.c:218
++#: c-omp.c:219
+ #, gcc-internal-format
+ msgid "%Hinvalid type for iteration variable %qE"
+ msgstr ""
+
+-#: c-omp.c:222
++#: c-omp.c:223
+ #, gcc-internal-format
+ msgid "%Hiteration variable %qE is unsigned"
+ msgstr ""
+
+-#: c-omp.c:233
++#: c-omp.c:234
+ #, fuzzy, gcc-internal-format
+ msgid "%H%qE is not initialized"
+ msgstr "прапушчан ініцыÑлізатар"
+
+-#: c-omp.c:246 cp/semantics.c:3840
++#: c-omp.c:247 cp/semantics.c:3872
+ #, gcc-internal-format
+ msgid "%Hmissing controlling predicate"
+ msgstr ""
+
+-#: c-omp.c:304
++#: c-omp.c:305
+ #, gcc-internal-format
+ msgid "%Hinvalid controlling predicate"
+ msgstr ""
+
+-#: c-omp.c:311 cp/semantics.c:3846
++#: c-omp.c:312 cp/semantics.c:3878
+ #, gcc-internal-format
+ msgid "%Hmissing increment expression"
+ msgstr ""
+
+-#: c-omp.c:361
++#: c-omp.c:362
+ #, gcc-internal-format
+ msgid "%Hinvalid increment expression"
+ msgstr ""
+@@ -19683,152 +19653,152 @@
+ msgid "obsolete option -I- used, please use -iquote instead"
+ msgstr ""
+
+-#: c-opts.c:508
++#: c-opts.c:510
+ #, fuzzy, gcc-internal-format
+ msgid "argument %qs to %<-Wnormalized%> not recognized"
+ msgstr "мова %s не раÑпазнана"
+
+-#: c-opts.c:595
++#: c-opts.c:597
+ #, fuzzy, gcc-internal-format
+ msgid "switch %qs is no longer supported"
+ msgstr "-pipe не падтрымліваецца."
+
+-#: c-opts.c:705
++#: c-opts.c:707
+ #, gcc-internal-format
+ msgid "-fhandle-exceptions has been renamed -fexceptions (and is now on by default)"
+ msgstr ""
+
+-#: c-opts.c:911
++#: c-opts.c:913
+ #, fuzzy, gcc-internal-format
+ msgid "output filename specified twice"
+ msgstr "не зададзены ўваходзÑÑ‡Ñ‹Ñ Ñ„Ð°Ð¹Ð»Ñ‹"
+
+-#: c-opts.c:1051
++#: c-opts.c:1053
+ #, gcc-internal-format
+ msgid "-fno-gnu89-inline is only supported in GNU99 or C99 mode"
+ msgstr ""
+
+-#: c-opts.c:1126
++#: c-opts.c:1142
+ #, gcc-internal-format
+ msgid "-Wformat-y2k ignored without -Wformat"
+ msgstr ""
+
+-#: c-opts.c:1128
++#: c-opts.c:1144
+ #, gcc-internal-format
+ msgid "-Wformat-extra-args ignored without -Wformat"
+ msgstr ""
+
+-#: c-opts.c:1130
++#: c-opts.c:1146
+ #, gcc-internal-format
+ msgid "-Wformat-zero-length ignored without -Wformat"
+ msgstr ""
+
+-#: c-opts.c:1132
++#: c-opts.c:1148
+ #, gcc-internal-format
+ msgid "-Wformat-nonliteral ignored without -Wformat"
+ msgstr ""
+
+-#: c-opts.c:1134
++#: c-opts.c:1150
+ #, gcc-internal-format
+ msgid "-Wformat-contains-nul ignored without -Wformat"
+ msgstr ""
+
+-#: c-opts.c:1136
++#: c-opts.c:1152
+ #, gcc-internal-format
+ msgid "-Wformat-security ignored without -Wformat"
+ msgstr ""
+
+-#: c-opts.c:1160
++#: c-opts.c:1176
+ #, fuzzy, gcc-internal-format
+ msgid "opening output file %s: %m"
+ msgstr "немагчыма адчыніць файл уводу `%s'"
+
+-#: c-opts.c:1165
++#: c-opts.c:1181
+ #, gcc-internal-format
+ msgid "too many filenames given. Type %s --help for usage"
+ msgstr ""
+
+-#: c-opts.c:1249
++#: c-opts.c:1265
+ #, gcc-internal-format
+ msgid "The C parser does not support -dy, option ignored"
+ msgstr ""
+
+-#: c-opts.c:1253
++#: c-opts.c:1269
+ #, gcc-internal-format
+ msgid "The Objective-C parser does not support -dy, option ignored"
+ msgstr ""
+
+-#: c-opts.c:1256
++#: c-opts.c:1272
+ #, gcc-internal-format
+ msgid "The C++ parser does not support -dy, option ignored"
+ msgstr ""
+
+-#: c-opts.c:1260
++#: c-opts.c:1276
+ #, gcc-internal-format
+ msgid "The Objective-C++ parser does not support -dy, option ignored"
+ msgstr ""
+
+-#: c-opts.c:1309
++#: c-opts.c:1326
+ #, gcc-internal-format
+ msgid "opening dependency file %s: %m"
+ msgstr ""
+
+-#: c-opts.c:1319
++#: c-opts.c:1336
+ #, gcc-internal-format
+ msgid "closing dependency file %s: %m"
+ msgstr ""
+
+-#: c-opts.c:1322
++#: c-opts.c:1339
+ #, fuzzy, gcc-internal-format
+ msgid "when writing output to %s: %m"
+ msgstr "памылка запіÑу Ñž %s"
+
+-#: c-opts.c:1402
++#: c-opts.c:1419
+ #, gcc-internal-format
+ msgid "to generate dependencies you must specify either -M or -MM"
+ msgstr ""
+
+-#: c-opts.c:1448
++#: c-opts.c:1469
+ #, gcc-internal-format
+ msgid "-fdirectives-only is incompatible with -Wunused_macros"
+ msgstr ""
+
+-#: c-opts.c:1450
++#: c-opts.c:1471
+ #, gcc-internal-format
+ msgid "-fdirectives-only is incompatible with -traditional"
+ msgstr ""
+
+-#: c-opts.c:1588
++#: c-opts.c:1609
+ #, gcc-internal-format
+ msgid "too late for # directive to set debug directory"
+ msgstr ""
+
+-#: c-parser.c:1070
++#: c-parser.c:1072
+ #, fuzzy, gcc-internal-format
+ msgid "%HISO C forbids an empty source file"
+ msgstr "ISO C не дазвалÑе пуÑÑ‚Ñ‹ ізыходны файл"
+
+-#: c-parser.c:1156 c-parser.c:6091
++#: c-parser.c:1158 c-parser.c:6150
+ #, gcc-internal-format
+ msgid "%HISO C does not allow extra %<;%> outside of a function"
+ msgstr ""
+
+-#: c-parser.c:1259 c-parser.c:6640
++#: c-parser.c:1261 c-parser.c:6699
+ #, fuzzy, gcc-internal-format
+ msgid "expected declaration specifiers"
+ msgstr "пуÑтое абвÑшчÑньне"
+
+-#: c-parser.c:1271
++#: c-parser.c:1273
+ #, fuzzy, gcc-internal-format
+ msgid "%Hempty declaration"
+ msgstr "пуÑтое абвÑшчÑньне"
+
+-#: c-parser.c:1307
++#: c-parser.c:1309
+ #, gcc-internal-format
+ msgid "%Hdata definition has no type or storage class"
+ msgstr ""
+
+-#: c-parser.c:1362
++#: c-parser.c:1364
+ #, gcc-internal-format
+ msgid "expected %<,%> or %<;%>"
+ msgstr ""
+@@ -19836,174 +19806,189 @@
+ #. This can appear in many cases looking nothing like a
+ #. function definition, so we don't give a more specific
+ #. error suggesting there was one.
+-#: c-parser.c:1369 c-parser.c:1386
++#: c-parser.c:1371 c-parser.c:1388
+ #, gcc-internal-format
+ msgid "expected %<=%>, %<,%>, %<;%>, %<asm%> or %<__attribute__%>"
+ msgstr ""
+
+-#: c-parser.c:1378
++#: c-parser.c:1380
+ #, fuzzy, gcc-internal-format
+ msgid "%HISO C forbids nested functions"
+ msgstr "ISO C не дазвалÑе дÑкларацыі метак (label)"
+
+-#: c-parser.c:1743 c-parser.c:2553 c-parser.c:3189 c-parser.c:3445
+-#: c-parser.c:4308 c-parser.c:4895 c-parser.c:5298 c-parser.c:5318
+-#: c-parser.c:5434 c-parser.c:5582 c-parser.c:5599 c-parser.c:5731
+-#: c-parser.c:5743 c-parser.c:5768 c-parser.c:5903 c-parser.c:5932
+-#: c-parser.c:5940 c-parser.c:5968 c-parser.c:5982 c-parser.c:6201
+-#: c-parser.c:6300 c-parser.c:6803 c-parser.c:7426
++#: c-parser.c:1745 c-parser.c:2555 c-parser.c:3191 c-parser.c:3447
++#: c-parser.c:4367 c-parser.c:4954 c-parser.c:5357 c-parser.c:5377
++#: c-parser.c:5493 c-parser.c:5641 c-parser.c:5658 c-parser.c:5790
++#: c-parser.c:5802 c-parser.c:5827 c-parser.c:5962 c-parser.c:5991
++#: c-parser.c:5999 c-parser.c:6027 c-parser.c:6041 c-parser.c:6260
++#: c-parser.c:6359 c-parser.c:6862 c-parser.c:7493
+ #, gcc-internal-format
+ msgid "expected identifier"
+ msgstr ""
+
+-#: c-parser.c:1773
++#: c-parser.c:1775
+ #, gcc-internal-format
+ msgid "%Hcomma at end of enumerator list"
+ msgstr ""
+
+-#: c-parser.c:1779
++#: c-parser.c:1781
+ #, gcc-internal-format
+ msgid "expected %<,%> or %<}%>"
+ msgstr ""
+
+-#: c-parser.c:1793 c-parser.c:1977 c-parser.c:6058
++#: c-parser.c:1795 c-parser.c:1979 c-parser.c:6117
+ #, gcc-internal-format
+ msgid "expected %<{%>"
+ msgstr ""
+
+-#: c-parser.c:1804
++#: c-parser.c:1806
+ #, gcc-internal-format
+ msgid "%HISO C forbids forward references to %<enum%> types"
+ msgstr ""
+
+-#: c-parser.c:1911
++#: c-parser.c:1913
+ #, gcc-internal-format
+ msgid "expected class name"
+ msgstr ""
+
+-#: c-parser.c:1930 c-parser.c:5835
++#: c-parser.c:1932 c-parser.c:5894
+ #, gcc-internal-format
+ msgid "%Hextra semicolon in struct or union specified"
+ msgstr ""
+
+-#: c-parser.c:1959
++#: c-parser.c:1961
+ #, gcc-internal-format
+ msgid "%Hno semicolon at end of struct or union"
+ msgstr ""
+
+-#: c-parser.c:1963
++#: c-parser.c:1965
+ #, gcc-internal-format
+ msgid "expected %<;%>"
+ msgstr ""
+
+-#: c-parser.c:2042 c-parser.c:3014
++#: c-parser.c:2044 c-parser.c:3016
+ #, gcc-internal-format
+ msgid "expected specifier-qualifier-list"
+ msgstr ""
+
+-#: c-parser.c:2052
++#: c-parser.c:2054
+ #, fuzzy, gcc-internal-format
+ msgid "%HISO C forbids member declarations with no members"
+ msgstr "ISO C не дазвалÑе дÑкларацыі метак (label)"
+
+-#: c-parser.c:2126
++#: c-parser.c:2128
+ #, gcc-internal-format
+ msgid "expected %<,%>, %<;%> or %<}%>"
+ msgstr ""
+
+-#: c-parser.c:2133
++#: c-parser.c:2135
+ #, gcc-internal-format
+ msgid "expected %<:%>, %<,%>, %<;%>, %<}%> or %<__attribute__%>"
+ msgstr ""
+
+-#: c-parser.c:2184
++#: c-parser.c:2186
+ #, gcc-internal-format
+ msgid "%H%<typeof%> applied to a bit-field"
+ msgstr ""
+
+-#: c-parser.c:2421
++#: c-parser.c:2423
+ #, gcc-internal-format
+ msgid "expected identifier or %<(%>"
+ msgstr ""
+
+-#: c-parser.c:2622
++#: c-parser.c:2624
+ #, gcc-internal-format
+ msgid "%HISO C requires a named argument before %<...%>"
+ msgstr ""
+
+-#: c-parser.c:2729
++#: c-parser.c:2731
+ #, gcc-internal-format
+ msgid "expected declaration specifiers or %<...%>"
+ msgstr ""
+
+-#: c-parser.c:2779
++#: c-parser.c:2781
+ #, gcc-internal-format
+ msgid "%Hwide string literal in %<asm%>"
+ msgstr ""
+
+-#: c-parser.c:2786 c-parser.c:6695 cp/parser.c:20393
++#: c-parser.c:2788 c-parser.c:6754 cp/parser.c:20482
+ #, gcc-internal-format
+ msgid "expected string literal"
+ msgstr ""
+
+-#: c-parser.c:3107
++#: c-parser.c:3109
+ #, fuzzy, gcc-internal-format
+ msgid "%HISO C forbids empty initializer braces"
+ msgstr "ISO C не дазвалÑе пуÑÑ‚Ñ‹ ізыходны файл"
+
+ #. Use the colon as the error location.
+-#: c-parser.c:3154
++#: c-parser.c:3156
+ #, gcc-internal-format
+ msgid "%Hobsolete use of designated initializer with %<:%>"
+ msgstr ""
+
+-#: c-parser.c:3285
++#: c-parser.c:3287
+ #, gcc-internal-format
+ msgid "%HISO C forbids specifying range of elements to initialize"
+ msgstr ""
+
+-#: c-parser.c:3298
++#: c-parser.c:3300
+ #, gcc-internal-format
+ msgid "%HISO C90 forbids specifying subobject to initialize"
+ msgstr ""
+
+-#: c-parser.c:3307
++#: c-parser.c:3309
+ #, gcc-internal-format
+ msgid "%Hobsolete use of designated initializer without %<=%>"
+ msgstr ""
+
+-#: c-parser.c:3316
++#: c-parser.c:3318
+ #, gcc-internal-format
+ msgid "expected %<=%>"
+ msgstr ""
+
+-#: c-parser.c:3461
++#: c-parser.c:3463
+ #, fuzzy, gcc-internal-format
+ msgid "%HISO C forbids label declarations"
+ msgstr "ISO C не дазвалÑе дÑкларацыі метак (label)"
+
+-#: c-parser.c:3466 c-parser.c:3541
++#: c-parser.c:3468 c-parser.c:3543
+ #, fuzzy, gcc-internal-format
+ msgid "expected declaration or statement"
+ msgstr "паўторнае абвÑшчÑнне меткі \"%s\""
+
+-#: c-parser.c:3494 c-parser.c:3522
++#: c-parser.c:3496 c-parser.c:3524
+ #, fuzzy, gcc-internal-format
+ msgid "%HISO C90 forbids mixed declarations and code"
+ msgstr "ISO C не дазвалÑе дÑкларацыі метак (label)"
+
++#: c-parser.c:3550
++#, gcc-internal-format
++msgid "%Hexpected %<}%> before %<else%>"
++msgstr ""
++
+ #: c-parser.c:3555
+ #, gcc-internal-format
++msgid "%H%<else%> without a previous %<if%>"
++msgstr ""
++
++#: c-parser.c:3571
++#, gcc-internal-format
+ msgid "%Hlabel at end of compound statement"
+ msgstr ""
+
+-#: c-parser.c:3598
++#: c-parser.c:3614
+ #, gcc-internal-format
+ msgid "expected %<:%> or %<...%>"
+ msgstr ""
+
+-#: c-parser.c:3779
++#: c-parser.c:3647
+ #, gcc-internal-format
++msgid "%Ha label can only be part of a statement and a declaration is not a statement"
++msgstr ""
++
++#: c-parser.c:3810
++#, gcc-internal-format
+ msgid "expected identifier or %<*%>"
+ msgstr ""
+
+@@ -20011,188 +19996,183 @@
+ #. 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-parser.c:3841
++#: c-parser.c:3872
+ #, gcc-internal-format
+ msgid "expected statement"
+ msgstr ""
+
+-#: c-parser.c:3851
++#: c-parser.c:4095
+ #, gcc-internal-format
+-msgid "%Ha label can only be part of a statement and a declaration is not a statement"
+-msgstr ""
+-
+-#: c-parser.c:4036
+-#, gcc-internal-format
+ msgid "%Hsuggest braces around empty body in %<do%> statement"
+ msgstr ""
+
+-#: c-parser.c:4192
++#: c-parser.c:4251
+ #, gcc-internal-format
+ msgid "%H%E qualifier ignored on asm"
+ msgstr ""
+
+-#: c-parser.c:4473
++#: c-parser.c:4532
+ #, fuzzy, gcc-internal-format
+ msgid "%HISO C forbids omitting the middle term of a ?: expression"
+ msgstr "ISO C не дазвалÑе пуÑÑ‚Ñ‹ ізыходны файл"
+
+-#: c-parser.c:4863
++#: c-parser.c:4922
+ #, gcc-internal-format
+ msgid "%Htraditional C rejects the unary plus operator"
+ msgstr ""
+
+ #. C99 6.7.5.2p4
+-#: c-parser.c:4974
++#: c-parser.c:5033
+ #, fuzzy, gcc-internal-format
+ msgid "%H%<[*]%> not allowed in other than a declaration"
+ msgstr "\"%s\" - гÑта не пачатак дÑкларацыі"
+
+-#: c-parser.c:4988
++#: c-parser.c:5047
+ #, gcc-internal-format
+ msgid "%H%<sizeof%> applied to a bit-field"
+ msgstr ""
+
+-#: c-parser.c:5132 c-parser.c:5476 c-parser.c:5498
++#: c-parser.c:5191 c-parser.c:5535 c-parser.c:5557
+ #, gcc-internal-format
+ msgid "expected expression"
+ msgstr ""
+
+-#: c-parser.c:5159
++#: c-parser.c:5218
+ #, gcc-internal-format
+ msgid "%Hbraced-group within expression allowed only inside a function"
+ msgstr ""
+
+-#: c-parser.c:5173
++#: c-parser.c:5232
+ #, gcc-internal-format
+ msgid "%HISO C forbids braced-groups within expressions"
+ msgstr ""
+
+-#: c-parser.c:5358
++#: c-parser.c:5417
+ #, fuzzy, gcc-internal-format
+ msgid "%Hfirst argument to %<__builtin_choose_expr%> not a constant"
+ msgstr "аргумент `__builtin_args_info' павінен быць канÑтантай"
+
+-#: c-parser.c:5527
++#: c-parser.c:5586
+ #, gcc-internal-format
+ msgid "%Hcompound literal has variable size"
+ msgstr ""
+
+-#: c-parser.c:5535
++#: c-parser.c:5594
+ #, fuzzy, gcc-internal-format
+ msgid "%HISO C90 forbids compound literals"
+ msgstr "ISO C не падтрымлівае \"goto *expr;\""
+
+-#: c-parser.c:6053
++#: c-parser.c:6112
+ #, gcc-internal-format
+ msgid "%Hextra semicolon in method definition specified"
+ msgstr ""
+
+-#: c-parser.c:6600 cp/parser.c:20436
++#: c-parser.c:6659 cp/parser.c:20525
+ #, gcc-internal-format
+ msgid "%<#pragma omp barrier%> may only be used in compound statements"
+ msgstr ""
+
+-#: c-parser.c:6611 cp/parser.c:20451
++#: c-parser.c:6670 cp/parser.c:20540
+ #, gcc-internal-format
+ msgid "%<#pragma omp flush%> may only be used in compound statements"
+ msgstr ""
+
+-#: c-parser.c:6623
++#: c-parser.c:6682
+ #, gcc-internal-format
+ msgid "%H%<#pragma omp section%> may only be used in %<#pragma omp sections%> construct"
+ msgstr ""
+
+-#: c-parser.c:6630 cp/parser.c:20426
++#: c-parser.c:6689 cp/parser.c:20515
+ #, gcc-internal-format
+ msgid "%<#pragma GCC pch_preprocess%> must be first"
+ msgstr ""
+
+-#: c-parser.c:6781 cp/parser.c:19277
++#: c-parser.c:6840 cp/parser.c:19359
+ #, fuzzy, gcc-internal-format
+ msgid "too many %qs clauses"
+ msgstr "вельмі шмат уваходзÑчых файлаў"
+
+-#: c-parser.c:6906
++#: c-parser.c:6965
+ #, gcc-internal-format
+ msgid "expected %<none%> or %<shared%>"
+ msgstr ""
+
+-#: c-parser.c:6949
++#: c-parser.c:7008
+ #, gcc-internal-format
+ msgid "expected %<(%>"
+ msgstr ""
+
+-#: c-parser.c:6993 c-parser.c:7170
++#: c-parser.c:7052 c-parser.c:7229
+ #, gcc-internal-format
+ msgid "expected integer expression"
+ msgstr ""
+
+-#: c-parser.c:7002
++#: c-parser.c:7061
+ #, gcc-internal-format
+ msgid "%H%<num_threads%> value must be positive"
+ msgstr ""
+
+-#: c-parser.c:7082
++#: c-parser.c:7141
+ #, gcc-internal-format
+ msgid "expected %<+%>, %<*%>, %<-%>, %<&%>, %<^%>, %<|%>, %<&&%>, or %<||%>"
+ msgstr ""
+
+-#: c-parser.c:7165
++#: c-parser.c:7224
+ #, gcc-internal-format
+ msgid "%Hschedule %<runtime%> does not take a %<chunk_size%> parameter"
+ msgstr ""
+
+-#: c-parser.c:7183
++#: c-parser.c:7242
+ #, fuzzy, gcc-internal-format
+ msgid "invalid schedule kind"
+ msgstr "нерÑчаіÑны %%-код"
+
+-#: c-parser.c:7269
++#: c-parser.c:7336
+ #, gcc-internal-format
+ msgid "expected %<#pragma omp%> clause"
+ msgstr ""
+
+-#: c-parser.c:7278
++#: c-parser.c:7345
+ #, fuzzy, gcc-internal-format
+ msgid "%H%qs is not valid for %qs"
+ msgstr "complex нерÑчаіÑны Ð´Ð»Ñ \"%s\""
+
+-#: c-parser.c:7378
++#: c-parser.c:7445
+ #, gcc-internal-format
+ msgid "invalid operator for %<#pragma omp atomic%>"
+ msgstr ""
+
+-#: c-parser.c:7429 c-parser.c:7449
++#: c-parser.c:7496 c-parser.c:7516
+ #, gcc-internal-format
+ msgid "expected %<(%> or end of line"
+ msgstr ""
+
+-#: c-parser.c:7467
++#: c-parser.c:7534
+ #, fuzzy, gcc-internal-format
+ msgid "for statement expected"
+ msgstr "вельмі шмат аргументаў у функцыі"
+
+-#: c-parser.c:7540 cp/semantics.c:3826 cp/semantics.c:3870
++#: c-parser.c:7609 cp/semantics.c:3858 cp/semantics.c:3902
+ #, gcc-internal-format
+ msgid "expected iteration declaration or initialization"
+ msgstr ""
+
+-#: c-parser.c:7666
++#: c-parser.c:7735
+ #, gcc-internal-format
+ msgid "%Hexpected %<#pragma omp section%> or %<}%>"
+ msgstr ""
+
+-#: c-parser.c:7899 cp/semantics.c:3718
++#: c-parser.c:7968 cp/semantics.c:3750
+ #, gcc-internal-format
+ msgid "%qE declared %<threadprivate%> after first use"
+ msgstr ""
+
+-#: c-parser.c:7901 cp/semantics.c:3720
++#: c-parser.c:7970 cp/semantics.c:3752
+ #, gcc-internal-format
+ msgid "automatic variable %qE cannot be %<threadprivate%>"
+ msgstr ""
+
+-#: c-parser.c:7903 cp/semantics.c:3722
++#: c-parser.c:7972 cp/semantics.c:3754
+ #, fuzzy, gcc-internal-format
+ msgid "%<threadprivate%> %qE has incomplete type"
+ msgstr "\"%s\" мае незавершаны тып"
+@@ -20357,122 +20337,122 @@
+ msgid "junk at end of %<#pragma pop_macro%>"
+ msgstr ""
+
+-#: c-pragma.c:406
++#: c-pragma.c:407
+ #, gcc-internal-format
+ msgid "applying #pragma weak %q+D after first use results in unspecified behavior"
+ msgstr ""
+
+-#: c-pragma.c:480 c-pragma.c:485
++#: c-pragma.c:481 c-pragma.c:486
+ #, gcc-internal-format
+ msgid "malformed #pragma weak, ignored"
+ msgstr ""
+
+-#: c-pragma.c:489
++#: c-pragma.c:490
+ #, gcc-internal-format
+ msgid "junk at end of %<#pragma weak%>"
+ msgstr ""
+
+-#: c-pragma.c:557 c-pragma.c:559
++#: c-pragma.c:558 c-pragma.c:560
+ #, gcc-internal-format
+ msgid "malformed #pragma redefine_extname, ignored"
+ msgstr ""
+
+-#: c-pragma.c:562
++#: c-pragma.c:563
+ #, gcc-internal-format
+ msgid "junk at end of %<#pragma redefine_extname%>"
+ msgstr ""
+
+-#: c-pragma.c:568
++#: c-pragma.c:569
+ #, fuzzy, gcc-internal-format
+ msgid "#pragma redefine_extname not supported on this target"
+ msgstr "__buitin_saveregs не падтрымліваецца гÑтай мÑтай"
+
+-#: c-pragma.c:585 c-pragma.c:672
++#: c-pragma.c:586 c-pragma.c:673
+ #, fuzzy, gcc-internal-format
+ msgid "#pragma redefine_extname ignored due to conflict with previous rename"
+ msgstr "ÑÐµÐºÑ†Ñ‹Ñ \"%s\" канфліктуе з папÑÑ€ÑднÑй дÑкларацыÑй"
+
+-#: c-pragma.c:608
++#: c-pragma.c:609
+ #, gcc-internal-format
+ msgid "#pragma redefine_extname ignored due to conflict with previous #pragma redefine_extname"
+ msgstr ""
+
+-#: c-pragma.c:627
++#: c-pragma.c:628
+ #, gcc-internal-format
+ msgid "malformed #pragma extern_prefix, ignored"
+ msgstr ""
+
+-#: c-pragma.c:630
++#: c-pragma.c:631
+ #, gcc-internal-format
+ msgid "junk at end of %<#pragma extern_prefix%>"
+ msgstr ""
+
+-#: c-pragma.c:637
++#: c-pragma.c:638
+ #, fuzzy, gcc-internal-format
+ msgid "#pragma extern_prefix not supported on this target"
+ msgstr "__buitin_saveregs не падтрымліваецца гÑтай мÑтай"
+
+-#: c-pragma.c:663
++#: c-pragma.c:664
+ #, fuzzy, gcc-internal-format
+ msgid "asm declaration ignored due to conflict with previous rename"
+ msgstr "ÑÐµÐºÑ†Ñ‹Ñ \"%s\" канфліктуе з папÑÑ€ÑднÑй дÑкларацыÑй"
+
+-#: c-pragma.c:694
++#: c-pragma.c:695
+ #, gcc-internal-format
+ msgid "#pragma redefine_extname ignored due to conflict with __asm__ declaration"
+ msgstr ""
+
+-#: c-pragma.c:756
++#: c-pragma.c:757
+ #, gcc-internal-format
+ msgid "#pragma GCC visibility push() must specify default, internal, hidden or protected"
+ msgstr ""
+
+-#: c-pragma.c:791
++#: c-pragma.c:792
+ #, gcc-internal-format
+ msgid "#pragma GCC visibility must be followed by push or pop"
+ msgstr ""
+
+-#: c-pragma.c:797
++#: c-pragma.c:798
+ #, gcc-internal-format
+ msgid "no matching push for %<#pragma GCC visibility pop%>"
+ msgstr ""
+
+-#: c-pragma.c:804 c-pragma.c:811
++#: c-pragma.c:805 c-pragma.c:812
+ #, gcc-internal-format
+ msgid "missing %<(%> after %<#pragma GCC visibility push%> - ignored"
+ msgstr ""
+
+-#: c-pragma.c:807
++#: c-pragma.c:808
+ #, gcc-internal-format
+ msgid "malformed #pragma GCC visibility push"
+ msgstr ""
+
+-#: c-pragma.c:815
++#: c-pragma.c:816
+ #, gcc-internal-format
+ msgid "junk at end of %<#pragma GCC visibility%>"
+ msgstr ""
+
+-#: c-pragma.c:831
++#: c-pragma.c:832
+ #, gcc-internal-format
+ msgid "#pragma GCC diagnostic not allowed inside functions"
+ msgstr ""
+
+-#: c-pragma.c:837
++#: c-pragma.c:838
+ #, gcc-internal-format
+ msgid "missing [error|warning|ignored] after %<#pragma GCC diagnostic%>"
+ msgstr ""
+
+-#: c-pragma.c:846
++#: c-pragma.c:847
+ #, gcc-internal-format
+ msgid "expected [error|warning|ignored] after %<#pragma GCC diagnostic%>"
+ msgstr ""
+
+-#: c-pragma.c:850
++#: c-pragma.c:851
+ #, gcc-internal-format
+ msgid "missing option after %<#pragma GCC diagnostic%> kind"
+ msgstr ""
+
+-#: c-pragma.c:864
++#: c-pragma.c:865
+ #, gcc-internal-format
+ msgid "unknown option after %<#pragma GCC diagnostic%> kind"
+ msgstr ""
+@@ -20482,7 +20462,7 @@
+ msgid "%qD has an incomplete type"
+ msgstr "\"%s\" мае незавершаны тып"
+
+-#: c-typeck.c:195 cp/call.c:2785
++#: c-typeck.c:195 cp/call.c:2771
+ #, gcc-internal-format
+ msgid "invalid use of void expression"
+ msgstr ""
+@@ -20513,92 +20493,92 @@
+ msgid "function types not truly compatible in ISO C"
+ msgstr ""
+
+-#: c-typeck.c:621
++#: c-typeck.c:627
+ #, gcc-internal-format
+ msgid "can%'t mix operands of decimal float and vector types"
+ msgstr ""
+
+-#: c-typeck.c:626
++#: c-typeck.c:632
+ #, gcc-internal-format
+ msgid "can%'t mix operands of decimal float and complex types"
+ msgstr ""
+
+-#: c-typeck.c:631
++#: c-typeck.c:637
+ #, gcc-internal-format
+ msgid "can%'t mix operands of decimal float and other float types"
+ msgstr ""
+
+-#: c-typeck.c:1037
++#: c-typeck.c:1043
+ #, gcc-internal-format
+ msgid "types are not quite compatible"
+ msgstr ""
+
+-#: c-typeck.c:1356
++#: c-typeck.c:1366
+ #, gcc-internal-format
+ msgid "function return types not compatible due to %<volatile%>"
+ msgstr ""
+
+-#: c-typeck.c:1515 c-typeck.c:2853
++#: c-typeck.c:1525 c-typeck.c:2864
+ #, gcc-internal-format
+ msgid "arithmetic on pointer to an incomplete type"
+ msgstr ""
+
+-#: c-typeck.c:1912
++#: c-typeck.c:1922
+ #, gcc-internal-format
+ msgid "%qT has no member named %qE"
+ msgstr ""
+
+-#: c-typeck.c:1953
++#: c-typeck.c:1963
+ #, gcc-internal-format
+ msgid "request for member %qE in something not a structure or union"
+ msgstr ""
+
+-#: c-typeck.c:1997
++#: c-typeck.c:2007
+ #, gcc-internal-format
+ msgid "dereferencing pointer to incomplete type"
+ msgstr ""
+
+-#: c-typeck.c:2001
++#: c-typeck.c:2011
+ #, gcc-internal-format
+ msgid "dereferencing %<void *%> pointer"
+ msgstr ""
+
+-#: c-typeck.c:2018
++#: c-typeck.c:2028
+ #, fuzzy, gcc-internal-format
+ msgid "invalid type argument of %qs (have %qT)"
+ msgstr "нÑвернае выкарыÑтанне \"restict\""
+
+-#: c-typeck.c:2046 cp/typeck.c:2524
++#: c-typeck.c:2056 cp/typeck.c:2570
+ #, gcc-internal-format
+ msgid "subscripted value is neither array nor pointer"
+ msgstr ""
+
+-#: c-typeck.c:2057 cp/typeck.c:2443 cp/typeck.c:2529
++#: c-typeck.c:2067 cp/typeck.c:2489 cp/typeck.c:2575
+ #, gcc-internal-format
+ msgid "array subscript is not an integer"
+ msgstr ""
+
+-#: c-typeck.c:2063
++#: c-typeck.c:2073
+ #, gcc-internal-format
+ msgid "subscripted value is pointer to function"
+ msgstr ""
+
+-#: c-typeck.c:2110
++#: c-typeck.c:2120
+ #, fuzzy, gcc-internal-format
+ msgid "ISO C forbids subscripting %<register%> array"
+ msgstr "ISO C не дазвалÑе дÑкларацыі метак (label)"
+
+-#: c-typeck.c:2112
++#: c-typeck.c:2122
+ #, fuzzy, gcc-internal-format
+ msgid "ISO C90 forbids subscripting non-lvalue array"
+ msgstr "ISO C не дазвалÑе дÑкларацыі метак (label)"
+
+-#: c-typeck.c:2228
++#: c-typeck.c:2239
+ #, gcc-internal-format
+ msgid "%H%qD is static but used in inline function %qD which is not static"
+ msgstr ""
+
+-#: c-typeck.c:2376
++#: c-typeck.c:2387
+ #, fuzzy, gcc-internal-format
+ msgid "called object %qE is not a function"
+ msgstr "`%D' - гÑта Ð½Ñ Ñ„ÑƒÐ½ÐºÑ†Ñ‹Ñ,"
+@@ -20606,795 +20586,795 @@
+ #. This situation leads to run-time undefined behavior. We can't,
+ #. therefore, simply error unless we can prove that all possible
+ #. executions of the program must execute the code.
+-#: c-typeck.c:2404
++#: c-typeck.c:2415
+ #, gcc-internal-format
+ msgid "function called through a non-compatible type"
+ msgstr ""
+
+-#: c-typeck.c:2515
++#: c-typeck.c:2526
+ #, fuzzy, gcc-internal-format
+ msgid "too many arguments to function %qE"
+ msgstr "вельмі шмат аргументаў у функцыі"
+
+-#: c-typeck.c:2536
++#: c-typeck.c:2547
+ #, gcc-internal-format
+ msgid "type of formal parameter %d is incomplete"
+ msgstr ""
+
+-#: c-typeck.c:2549
++#: c-typeck.c:2560
+ #, gcc-internal-format
+ msgid "passing argument %d of %qE as integer rather than floating due to prototype"
+ msgstr ""
+
+-#: c-typeck.c:2554
++#: c-typeck.c:2565
+ #, gcc-internal-format
+ msgid "passing argument %d of %qE as integer rather than complex due to prototype"
+ msgstr ""
+
+-#: c-typeck.c:2559
++#: c-typeck.c:2570
+ #, gcc-internal-format
+ msgid "passing argument %d of %qE as complex rather than floating due to prototype"
+ msgstr ""
+
+-#: c-typeck.c:2564
++#: c-typeck.c:2575
+ #, gcc-internal-format
+ msgid "passing argument %d of %qE as floating rather than integer due to prototype"
+ msgstr ""
+
+-#: c-typeck.c:2569
++#: c-typeck.c:2580
+ #, gcc-internal-format
+ msgid "passing argument %d of %qE as complex rather than integer due to prototype"
+ msgstr ""
+
+-#: c-typeck.c:2574
++#: c-typeck.c:2585
+ #, gcc-internal-format
+ msgid "passing argument %d of %qE as floating rather than complex due to prototype"
+ msgstr ""
+
+-#: c-typeck.c:2587
++#: c-typeck.c:2598
+ #, gcc-internal-format
+ msgid "passing argument %d of %qE as %<float%> rather than %<double%> due to prototype"
+ msgstr ""
+
+-#: c-typeck.c:2612
++#: c-typeck.c:2623
+ #, gcc-internal-format
+ msgid "passing argument %d of %qE as %qT rather than %qT due to prototype"
+ msgstr ""
+
+-#: c-typeck.c:2633
++#: c-typeck.c:2644
+ #, gcc-internal-format
+ msgid "passing argument %d of %qE with different width due to prototype"
+ msgstr ""
+
+-#: c-typeck.c:2656
++#: c-typeck.c:2667
+ #, gcc-internal-format
+ msgid "passing argument %d of %qE as unsigned due to prototype"
+ msgstr ""
+
+-#: c-typeck.c:2660
++#: c-typeck.c:2671
+ #, gcc-internal-format
+ msgid "passing argument %d of %qE as signed due to prototype"
+ msgstr ""
+
+-#: c-typeck.c:2766 c-typeck.c:2770
++#: c-typeck.c:2777 c-typeck.c:2781
+ #, gcc-internal-format
+ msgid "comparison with string literal results in unspecified behavior"
+ msgstr ""
+
+-#: c-typeck.c:2795
++#: c-typeck.c:2806
+ #, gcc-internal-format
+ msgid "pointer of type %<void *%> used in subtraction"
+ msgstr ""
+
+-#: c-typeck.c:2797
++#: c-typeck.c:2808
+ #, gcc-internal-format
+ msgid "pointer to a function used in subtraction"
+ msgstr ""
+
+-#: c-typeck.c:2908
++#: c-typeck.c:2919
+ #, gcc-internal-format
+ msgid "wrong type argument to unary plus"
+ msgstr ""
+
+-#: c-typeck.c:2921
++#: c-typeck.c:2932
+ #, gcc-internal-format
+ msgid "wrong type argument to unary minus"
+ msgstr ""
+
+-#: c-typeck.c:2941
++#: c-typeck.c:2952
+ #, fuzzy, gcc-internal-format
+ msgid "ISO C does not support %<~%> for complex conjugation"
+ msgstr "ISO C89 не падтрымлівае комлекÑÐ½Ñ‹Ñ Ñ‚Ñ‹Ð¿Ñ‹"
+
+-#: c-typeck.c:2947
++#: c-typeck.c:2958
+ #, gcc-internal-format
+ msgid "wrong type argument to bit-complement"
+ msgstr ""
+
+-#: c-typeck.c:2955
++#: c-typeck.c:2966
+ #, gcc-internal-format
+ msgid "wrong type argument to abs"
+ msgstr ""
+
+-#: c-typeck.c:2967
++#: c-typeck.c:2978
+ #, gcc-internal-format
+ msgid "wrong type argument to conjugation"
+ msgstr ""
+
+-#: c-typeck.c:2979
++#: c-typeck.c:2990
+ #, gcc-internal-format
+ msgid "wrong type argument to unary exclamation mark"
+ msgstr ""
+
+-#: c-typeck.c:3013
++#: c-typeck.c:3024
+ #, fuzzy, gcc-internal-format
+ msgid "ISO C does not support %<++%> and %<--%> on complex types"
+ msgstr "ISO C не падтрымлівае \"++\" Ñ– \"--\" Ð´Ð»Ñ Ñ‚Ñ‹Ð¿Ñƒ complex"
+
+-#: c-typeck.c:3032 c-typeck.c:3064
++#: c-typeck.c:3043 c-typeck.c:3075
+ #, fuzzy, gcc-internal-format
+ msgid "wrong type argument to increment"
+ msgstr "не хапае аргументаў у функцыі"
+
+-#: c-typeck.c:3034 c-typeck.c:3066
++#: c-typeck.c:3045 c-typeck.c:3077
+ #, gcc-internal-format
+ msgid "wrong type argument to decrement"
+ msgstr ""
+
+-#: c-typeck.c:3055
++#: c-typeck.c:3066
+ #, gcc-internal-format
+ msgid "increment of pointer to unknown structure"
+ msgstr ""
+
+-#: c-typeck.c:3057
++#: c-typeck.c:3068
+ #, gcc-internal-format
+ msgid "decrement of pointer to unknown structure"
+ msgstr ""
+
+-#: c-typeck.c:3258
++#: c-typeck.c:3269
+ #, gcc-internal-format
+ msgid "assignment of read-only member %qD"
+ msgstr ""
+
+-#: c-typeck.c:3259
++#: c-typeck.c:3270
+ #, gcc-internal-format
+ msgid "increment of read-only member %qD"
+ msgstr ""
+
+-#: c-typeck.c:3260
++#: c-typeck.c:3271
+ #, gcc-internal-format
+ msgid "decrement of read-only member %qD"
+ msgstr ""
+
+-#: c-typeck.c:3261
++#: c-typeck.c:3272
+ #, gcc-internal-format
+ msgid "read-only member %qD used as %<asm%> output"
+ msgstr ""
+
+-#: c-typeck.c:3265
++#: c-typeck.c:3276
+ #, gcc-internal-format
+ msgid "assignment of read-only variable %qD"
+ msgstr ""
+
+-#: c-typeck.c:3266
++#: c-typeck.c:3277
+ #, gcc-internal-format
+ msgid "increment of read-only variable %qD"
+ msgstr ""
+
+-#: c-typeck.c:3267
++#: c-typeck.c:3278
+ #, gcc-internal-format
+ msgid "decrement of read-only variable %qD"
+ msgstr ""
+
+-#: c-typeck.c:3268
++#: c-typeck.c:3279
+ #, gcc-internal-format
+ msgid "read-only variable %qD used as %<asm%> output"
+ msgstr ""
+
+-#: c-typeck.c:3271
++#: c-typeck.c:3282
+ #, gcc-internal-format
+ msgid "assignment of read-only location %qE"
+ msgstr ""
+
+-#: c-typeck.c:3272
++#: c-typeck.c:3283
+ #, gcc-internal-format
+ msgid "increment of read-only location %qE"
+ msgstr ""
+
+-#: c-typeck.c:3273
++#: c-typeck.c:3284
+ #, gcc-internal-format
+ msgid "decrement of read-only location %qE"
+ msgstr ""
+
+-#: c-typeck.c:3274
++#: c-typeck.c:3285
+ #, gcc-internal-format
+ msgid "read-only location %qE used as %<asm%> output"
+ msgstr ""
+
+-#: c-typeck.c:3310
++#: c-typeck.c:3321
+ #, fuzzy, gcc-internal-format
+ msgid "cannot take address of bit-field %qD"
+ msgstr "не магу атрымаць Ð°Ð´Ñ€Ð°Ñ Ð±Ñ–Ñ‚Ð°Ð²Ð°Ð³Ð° Ð¿Ð¾Ð»Ñ \"%s\""
+
+-#: c-typeck.c:3338
++#: c-typeck.c:3349
+ #, gcc-internal-format
+ msgid "global register variable %qD used in nested function"
+ msgstr ""
+
+-#: c-typeck.c:3341
++#: c-typeck.c:3352
+ #, gcc-internal-format
+ msgid "register variable %qD used in nested function"
+ msgstr ""
+
+-#: c-typeck.c:3346
++#: c-typeck.c:3357
+ #, gcc-internal-format
+ msgid "address of global register variable %qD requested"
+ msgstr ""
+
+-#: c-typeck.c:3348
++#: c-typeck.c:3359
+ #, gcc-internal-format
+ msgid "address of register variable %qD requested"
+ msgstr ""
+
+-#: c-typeck.c:3394
++#: c-typeck.c:3405
+ #, gcc-internal-format
+ msgid "non-lvalue array in conditional expression"
+ msgstr ""
+
+-#: c-typeck.c:3442
++#: c-typeck.c:3453
+ #, gcc-internal-format
+ msgid "signed and unsigned type in conditional expression"
+ msgstr ""
+
+-#: c-typeck.c:3449
++#: c-typeck.c:3460
+ #, gcc-internal-format
+ msgid "ISO C forbids conditional expr with only one void side"
+ msgstr ""
+
+-#: c-typeck.c:3463 c-typeck.c:3471
++#: c-typeck.c:3474 c-typeck.c:3482
+ #, gcc-internal-format
+ msgid "ISO C forbids conditional expr between %<void *%> and function pointer"
+ msgstr ""
+
+-#: c-typeck.c:3478
++#: c-typeck.c:3489
+ #, gcc-internal-format
+ msgid "pointer type mismatch in conditional expression"
+ msgstr ""
+
+-#: c-typeck.c:3485 c-typeck.c:3495
++#: c-typeck.c:3496 c-typeck.c:3506
+ #, gcc-internal-format
+ msgid "pointer/integer type mismatch in conditional expression"
+ msgstr ""
+
+-#: c-typeck.c:3509 tree-cfg.c:3783
++#: c-typeck.c:3520 tree-cfg.c:3807
+ #, gcc-internal-format
+ msgid "type mismatch in conditional expression"
+ msgstr ""
+
+-#: c-typeck.c:3552
++#: c-typeck.c:3563
+ #, gcc-internal-format
+ msgid "left-hand operand of comma expression has no effect"
+ msgstr ""
+
+-#: c-typeck.c:3589
++#: c-typeck.c:3600
+ #, gcc-internal-format
+ msgid "cast specifies array type"
+ msgstr ""
+
+-#: c-typeck.c:3595
++#: c-typeck.c:3606
+ #, gcc-internal-format
+ msgid "cast specifies function type"
+ msgstr ""
+
+-#: c-typeck.c:3612
++#: c-typeck.c:3623
+ #, gcc-internal-format
+ msgid "ISO C forbids casting nonscalar to the same type"
+ msgstr ""
+
+-#: c-typeck.c:3629
++#: c-typeck.c:3640
+ #, gcc-internal-format
+ msgid "ISO C forbids casts to union type"
+ msgstr ""
+
+-#: c-typeck.c:3637
++#: c-typeck.c:3648
+ #, gcc-internal-format
+ msgid "cast to union type from type not present in union"
+ msgstr ""
+
+-#: c-typeck.c:3683
++#: c-typeck.c:3694
+ #, gcc-internal-format
+ msgid "cast adds new qualifiers to function type"
+ msgstr ""
+
+ #. There are qualifiers present in IN_OTYPE that are not
+ #. present in IN_TYPE.
+-#: c-typeck.c:3688
++#: c-typeck.c:3699
+ #, gcc-internal-format
+ msgid "cast discards qualifiers from pointer target type"
+ msgstr ""
+
+-#: c-typeck.c:3704
++#: c-typeck.c:3715
+ #, gcc-internal-format
+ msgid "cast increases required alignment of target type"
+ msgstr ""
+
+-#: c-typeck.c:3715
++#: c-typeck.c:3726
+ #, gcc-internal-format
+ msgid "cast from pointer to integer of different size"
+ msgstr ""
+
+-#: c-typeck.c:3719
++#: c-typeck.c:3730
+ #, gcc-internal-format
+ msgid "cast from function call of type %qT to non-matching type %qT"
+ msgstr ""
+
+-#: c-typeck.c:3727
++#: c-typeck.c:3738
+ #, gcc-internal-format
+ msgid "cast to pointer from integer of different size"
+ msgstr ""
+
+-#: c-typeck.c:3741
++#: c-typeck.c:3752
+ #, gcc-internal-format
+ msgid "ISO C forbids conversion of function pointer to object pointer type"
+ msgstr ""
+
+-#: c-typeck.c:3749
++#: c-typeck.c:3760
+ #, gcc-internal-format
+ msgid "ISO C forbids conversion of object pointer to function pointer type"
+ msgstr ""
+
+-#: c-typeck.c:4026
++#: c-typeck.c:4037
+ #, gcc-internal-format
+ msgid "cannot pass rvalue to reference parameter"
+ msgstr ""
+
+-#: c-typeck.c:4139 c-typeck.c:4306
++#: c-typeck.c:4150 c-typeck.c:4317
+ #, gcc-internal-format
+ msgid "passing argument %d of %qE makes qualified function pointer from unqualified"
+ msgstr ""
+
+-#: c-typeck.c:4142 c-typeck.c:4309
++#: c-typeck.c:4153 c-typeck.c:4320
+ #, gcc-internal-format
+ msgid "assignment makes qualified function pointer from unqualified"
+ msgstr ""
+
+-#: c-typeck.c:4145 c-typeck.c:4311
++#: c-typeck.c:4156 c-typeck.c:4322
+ #, gcc-internal-format
+ msgid "initialization makes qualified function pointer from unqualified"
+ msgstr ""
+
+-#: c-typeck.c:4148 c-typeck.c:4313
++#: c-typeck.c:4159 c-typeck.c:4324
+ #, gcc-internal-format
+ msgid "return makes qualified function pointer from unqualified"
+ msgstr ""
+
+-#: c-typeck.c:4152 c-typeck.c:4273
++#: c-typeck.c:4163 c-typeck.c:4284
+ #, gcc-internal-format
+ msgid "passing argument %d of %qE discards qualifiers from pointer target type"
+ msgstr ""
+
+-#: c-typeck.c:4154 c-typeck.c:4275
++#: c-typeck.c:4165 c-typeck.c:4286
+ #, gcc-internal-format
+ msgid "assignment discards qualifiers from pointer target type"
+ msgstr ""
+
+-#: c-typeck.c:4156 c-typeck.c:4277
++#: c-typeck.c:4167 c-typeck.c:4288
+ #, gcc-internal-format
+ msgid "initialization discards qualifiers from pointer target type"
+ msgstr ""
+
+-#: c-typeck.c:4158 c-typeck.c:4279
++#: c-typeck.c:4169 c-typeck.c:4290
+ #, gcc-internal-format
+ msgid "return discards qualifiers from pointer target type"
+ msgstr ""
+
+-#: c-typeck.c:4165
++#: c-typeck.c:4176
+ #, gcc-internal-format
+ msgid "ISO C prohibits argument conversion to union type"
+ msgstr ""
+
+-#: c-typeck.c:4201
++#: c-typeck.c:4212
+ #, gcc-internal-format
+ msgid "request for implicit conversion from %qT to %qT not permitted in C++"
+ msgstr ""
+
+-#: c-typeck.c:4214
++#: c-typeck.c:4225
+ #, gcc-internal-format
+ msgid "argument %d of %qE might be a candidate for a format attribute"
+ msgstr ""
+
+-#: c-typeck.c:4220
++#: c-typeck.c:4231
+ #, gcc-internal-format
+ msgid "assignment left-hand side might be a candidate for a format attribute"
+ msgstr ""
+
+-#: c-typeck.c:4225
++#: c-typeck.c:4236
+ #, gcc-internal-format
+ msgid "initialization left-hand side might be a candidate for a format attribute"
+ msgstr ""
+
+-#: c-typeck.c:4230
++#: c-typeck.c:4241
+ #, gcc-internal-format
+ msgid "return type might be a candidate for a format attribute"
+ msgstr ""
+
+-#: c-typeck.c:4253
++#: c-typeck.c:4264
+ #, gcc-internal-format
+ msgid "ISO C forbids passing argument %d of %qE between function pointer and %<void *%>"
+ msgstr ""
+
+-#: c-typeck.c:4256
++#: c-typeck.c:4267
+ #, gcc-internal-format
+ msgid "ISO C forbids assignment between function pointer and %<void *%>"
+ msgstr ""
+
+-#: c-typeck.c:4258
++#: c-typeck.c:4269
+ #, gcc-internal-format
+ msgid "ISO C forbids initialization between function pointer and %<void *%>"
+ msgstr ""
+
+-#: c-typeck.c:4260
++#: c-typeck.c:4271
+ #, gcc-internal-format
+ msgid "ISO C forbids return between function pointer and %<void *%>"
+ msgstr ""
+
+-#: c-typeck.c:4289
++#: c-typeck.c:4300
+ #, gcc-internal-format
+ msgid "pointer targets in passing argument %d of %qE differ in signedness"
+ msgstr ""
+
+-#: c-typeck.c:4291
++#: c-typeck.c:4302
+ #, gcc-internal-format
+ msgid "pointer targets in assignment differ in signedness"
+ msgstr ""
+
+-#: c-typeck.c:4293
++#: c-typeck.c:4304
+ #, gcc-internal-format
+ msgid "pointer targets in initialization differ in signedness"
+ msgstr ""
+
+-#: c-typeck.c:4295
++#: c-typeck.c:4306
+ #, gcc-internal-format
+ msgid "pointer targets in return differ in signedness"
+ msgstr ""
+
+-#: c-typeck.c:4320
++#: c-typeck.c:4331
+ #, gcc-internal-format
+ msgid "passing argument %d of %qE from incompatible pointer type"
+ msgstr ""
+
+-#: c-typeck.c:4322
++#: c-typeck.c:4333
+ #, gcc-internal-format
+ msgid "assignment from incompatible pointer type"
+ msgstr ""
+
+-#: c-typeck.c:4323
++#: c-typeck.c:4334
+ #, gcc-internal-format
+ msgid "initialization from incompatible pointer type"
+ msgstr ""
+
+-#: c-typeck.c:4325
++#: c-typeck.c:4336
+ #, gcc-internal-format
+ msgid "return from incompatible pointer type"
+ msgstr ""
+
+-#: c-typeck.c:4342
++#: c-typeck.c:4353
+ #, gcc-internal-format
+ msgid "passing argument %d of %qE makes pointer from integer without a cast"
+ msgstr ""
+
+-#: c-typeck.c:4344
++#: c-typeck.c:4355
+ #, gcc-internal-format
+ msgid "assignment makes pointer from integer without a cast"
+ msgstr ""
+
+-#: c-typeck.c:4346
++#: c-typeck.c:4357
+ #, gcc-internal-format
+ msgid "initialization makes pointer from integer without a cast"
+ msgstr ""
+
+-#: c-typeck.c:4348
++#: c-typeck.c:4359
+ #, gcc-internal-format
+ msgid "return makes pointer from integer without a cast"
+ msgstr ""
+
+-#: c-typeck.c:4355
++#: c-typeck.c:4366
+ #, gcc-internal-format
+ msgid "passing argument %d of %qE makes integer from pointer without a cast"
+ msgstr ""
+
+-#: c-typeck.c:4357
++#: c-typeck.c:4368
+ #, gcc-internal-format
+ msgid "assignment makes integer from pointer without a cast"
+ msgstr ""
+
+-#: c-typeck.c:4359
++#: c-typeck.c:4370
+ #, gcc-internal-format
+ msgid "initialization makes integer from pointer without a cast"
+ msgstr ""
+
+-#: c-typeck.c:4361
++#: c-typeck.c:4372
+ #, gcc-internal-format
+ msgid "return makes integer from pointer without a cast"
+ msgstr ""
+
+-#: c-typeck.c:4377
++#: c-typeck.c:4388
+ #, gcc-internal-format
+ msgid "incompatible types in assignment"
+ msgstr ""
+
+-#: c-typeck.c:4380
++#: c-typeck.c:4391
+ #, fuzzy, gcc-internal-format
+ msgid "incompatible types in initialization"
+ msgstr "нерÑчаіÑны ініцыÑлізатар"
+
+-#: c-typeck.c:4383
++#: c-typeck.c:4394
+ #, gcc-internal-format
+ msgid "incompatible types in return"
+ msgstr ""
+
+-#: c-typeck.c:4439
++#: c-typeck.c:4450
+ #, gcc-internal-format
+ msgid "traditional C rejects automatic aggregate initialization"
+ msgstr ""
+
+-#: c-typeck.c:4610 c-typeck.c:4625 c-typeck.c:4640
++#: c-typeck.c:4621 c-typeck.c:4636 c-typeck.c:4651
+ #, fuzzy, gcc-internal-format
+ msgid "(near initialization for %qs)"
+ msgstr "ініцыÑлізацыÑ"
+
+-#: c-typeck.c:5180 cp/decl.c:4975
++#: c-typeck.c:5191 cp/decl.c:4995
+ #, gcc-internal-format
+ msgid "opaque vector types cannot be initialized"
+ msgstr ""
+
+-#: c-typeck.c:5803
++#: c-typeck.c:5814
+ #, gcc-internal-format
+ msgid "unknown field %qE specified in initializer"
+ msgstr ""
+
+-#: c-typeck.c:6703
++#: c-typeck.c:6714
+ #, gcc-internal-format
+ msgid "traditional C rejects initialization of unions"
+ msgstr ""
+
+-#: c-typeck.c:7011
++#: c-typeck.c:7022
+ #, gcc-internal-format
+ msgid "jump into statement expression"
+ msgstr ""
+
+-#: c-typeck.c:7017
++#: c-typeck.c:7028
+ #, gcc-internal-format
+ msgid "jump into scope of identifier with variably modified type"
+ msgstr ""
+
+-#: c-typeck.c:7054
++#: c-typeck.c:7065
+ #, fuzzy, gcc-internal-format
+ msgid "ISO C forbids %<goto *expr;%>"
+ msgstr "ISO C не падтрымлівае \"goto *expr;\""
+
+-#: c-typeck.c:7069 cp/typeck.c:6592
++#: c-typeck.c:7080 cp/typeck.c:6619
+ #, fuzzy, gcc-internal-format
+ msgid "function declared %<noreturn%> has a %<return%> statement"
+ msgstr "Ñ„ÑƒÐ½ÐºÑ†Ñ‹Ñ Ð½Ðµ вÑртае тып string"
+
+-#: c-typeck.c:7077
++#: c-typeck.c:7088
+ #, gcc-internal-format
+ msgid "%<return%> with no value, in function returning non-void"
+ msgstr ""
+
+-#: c-typeck.c:7086
++#: c-typeck.c:7097
+ #, gcc-internal-format
+ msgid "%<return%> with a value, in function returning void"
+ msgstr ""
+
+-#: c-typeck.c:7088
++#: c-typeck.c:7099
+ #, gcc-internal-format
+ msgid "ISO C forbids %<return%> with expression, in function returning void"
+ msgstr ""
+
+-#: c-typeck.c:7145
++#: c-typeck.c:7156
+ #, gcc-internal-format
+ msgid "function returns address of local variable"
+ msgstr ""
+
+-#: c-typeck.c:7217 cp/semantics.c:949
++#: c-typeck.c:7228 cp/semantics.c:952
+ #, gcc-internal-format
+ msgid "switch quantity not an integer"
+ msgstr ""
+
+-#: c-typeck.c:7229
++#: c-typeck.c:7240
+ #, gcc-internal-format
+ msgid "%<long%> switch expression not converted to %<int%> in ISO C"
+ msgstr ""
+
+-#: c-typeck.c:7269
++#: c-typeck.c:7280
+ #, gcc-internal-format
+ msgid "case label in statement expression not containing enclosing switch statement"
+ msgstr ""
+
+-#: c-typeck.c:7272
++#: c-typeck.c:7283
+ #, gcc-internal-format
+ msgid "%<default%> label in statement expression not containing enclosing switch statement"
+ msgstr ""
+
+-#: c-typeck.c:7278
++#: c-typeck.c:7289
+ #, gcc-internal-format
+ msgid "case label in scope of identifier with variably modified type not containing enclosing switch statement"
+ msgstr ""
+
+-#: c-typeck.c:7281
++#: c-typeck.c:7292
+ #, gcc-internal-format
+ msgid "%<default%> label in scope of identifier with variably modified type not containing enclosing switch statement"
+ msgstr ""
+
+-#: c-typeck.c:7285 cp/parser.c:6804
++#: c-typeck.c:7296 cp/parser.c:6810
+ #, gcc-internal-format
+ msgid "case label not within a switch statement"
+ msgstr ""
+
+-#: c-typeck.c:7287
++#: c-typeck.c:7298
+ #, gcc-internal-format
+ msgid "%<default%> label not within a switch statement"
+ msgstr ""
+
+-#: c-typeck.c:7364
++#: c-typeck.c:7375
+ #, gcc-internal-format
+ msgid "%Hsuggest explicit braces to avoid ambiguous %<else%>"
+ msgstr ""
+
+-#: c-typeck.c:7475 cp/cp-gimplify.c:97 cp/parser.c:7409
++#: c-typeck.c:7486 cp/cp-gimplify.c:97 cp/parser.c:7415
+ #, gcc-internal-format
+ msgid "break statement not within loop or switch"
+ msgstr ""
+
+-#: c-typeck.c:7477 cp/parser.c:7430
++#: c-typeck.c:7488 cp/parser.c:7436
+ #, gcc-internal-format
+ msgid "continue statement not within a loop"
+ msgstr ""
+
+-#: c-typeck.c:7482 cp/parser.c:7420
++#: c-typeck.c:7493 cp/parser.c:7426
+ #, gcc-internal-format
+ msgid "break statement used with OpenMP for loop"
+ msgstr ""
+
+-#: c-typeck.c:7505
++#: c-typeck.c:7516
+ #, gcc-internal-format
+ msgid "%Hstatement with no effect"
+ msgstr ""
+
+-#: c-typeck.c:7527
++#: c-typeck.c:7538
+ #, gcc-internal-format
+ msgid "expression statement has incomplete type"
+ msgstr ""
+
+-#: c-typeck.c:8082 cp/typeck.c:3259
++#: c-typeck.c:8093 cp/typeck.c:3301
+ #, gcc-internal-format
+ msgid "right shift count is negative"
+ msgstr ""
+
+-#: c-typeck.c:8089 cp/typeck.c:3265
++#: c-typeck.c:8100 cp/typeck.c:3305
+ #, gcc-internal-format
+ msgid "right shift count >= width of type"
+ msgstr ""
+
+-#: c-typeck.c:8111 cp/typeck.c:3284
++#: c-typeck.c:8122 cp/typeck.c:3324
+ #, gcc-internal-format
+ msgid "left shift count is negative"
+ msgstr ""
+
+-#: c-typeck.c:8114 cp/typeck.c:3286
++#: c-typeck.c:8125 cp/typeck.c:3326
+ #, gcc-internal-format
+ msgid "left shift count >= width of type"
+ msgstr ""
+
+-#: c-typeck.c:8132 cp/typeck.c:3324
++#: c-typeck.c:8143 cp/typeck.c:3364
+ #, gcc-internal-format
+ msgid "comparing floating point with == or != is unsafe"
+ msgstr ""
+
+-#: c-typeck.c:8156 c-typeck.c:8163
++#: c-typeck.c:8167 c-typeck.c:8174
+ #, fuzzy, gcc-internal-format
+ msgid "ISO C forbids comparison of %<void *%> with function pointer"
+ msgstr "ISO C не дазвалÑе дÑкларацыі метак (label)"
+
+-#: c-typeck.c:8169 c-typeck.c:8227
++#: c-typeck.c:8180 c-typeck.c:8238
+ #, gcc-internal-format
+ msgid "comparison of distinct pointer types lacks a cast"
+ msgstr ""
+
+-#: c-typeck.c:8178 c-typeck.c:8186 cp/typeck.c:3344 cp/typeck.c:3353
++#: c-typeck.c:8189 c-typeck.c:8197 cp/typeck.c:3384 cp/typeck.c:3393
+ #, gcc-internal-format
+ msgid "the address of %qD will never be NULL"
+ msgstr ""
+
+-#: c-typeck.c:8193 c-typeck.c:8198 c-typeck.c:8245 c-typeck.c:8250
++#: c-typeck.c:8204 c-typeck.c:8209 c-typeck.c:8256 c-typeck.c:8261
+ #, gcc-internal-format
+ msgid "comparison between pointer and integer"
+ msgstr ""
+
+-#: c-typeck.c:8219
++#: c-typeck.c:8230
+ #, gcc-internal-format
+ msgid "comparison of complete and incomplete pointers"
+ msgstr ""
+
+-#: c-typeck.c:8222
++#: c-typeck.c:8233
+ #, gcc-internal-format
+ msgid "ISO C forbids ordered comparisons of pointers to functions"
+ msgstr ""
+
+-#: c-typeck.c:8234 c-typeck.c:8240
++#: c-typeck.c:8245 c-typeck.c:8251
+ #, gcc-internal-format
+ msgid "ordered comparison of pointer with integer zero"
+ msgstr ""
+
+-#: c-typeck.c:8500
++#: c-typeck.c:8511
+ #, gcc-internal-format
+ msgid "comparison between signed and unsigned"
+ msgstr ""
+
+-#: c-typeck.c:8546 cp/typeck.c:3830
++#: c-typeck.c:8557 cp/typeck.c:3838
+ #, gcc-internal-format
+ msgid "comparison of promoted ~unsigned with constant"
+ msgstr ""
+
+-#: c-typeck.c:8554 cp/typeck.c:3838
++#: c-typeck.c:8565 cp/typeck.c:3846
+ #, gcc-internal-format
+ msgid "comparison of promoted ~unsigned with unsigned"
+ msgstr ""
+
+-#: c-typeck.c:8612
++#: c-typeck.c:8623
+ #, gcc-internal-format
+ msgid "used array that cannot be converted to pointer where scalar is required"
+ msgstr ""
+
+-#: c-typeck.c:8616
++#: c-typeck.c:8627
+ #, gcc-internal-format
+ msgid "used struct type value where scalar is required"
+ msgstr ""
+
+-#: c-typeck.c:8620
++#: c-typeck.c:8631
+ #, gcc-internal-format
+ msgid "used union type value where scalar is required"
+ msgstr ""
+
+-#: c-typeck.c:8725 cp/semantics.c:3523
++#: c-typeck.c:8736 cp/semantics.c:3555
+ #, gcc-internal-format
+ msgid "%qE has invalid type for %<reduction%>"
+ msgstr ""
+
+-#: c-typeck.c:8759 cp/semantics.c:3536
++#: c-typeck.c:8770 cp/semantics.c:3568
+ #, gcc-internal-format
+ msgid "%qE has invalid type for %<reduction(%s)%>"
+ msgstr ""
+
+-#: c-typeck.c:8775 cp/semantics.c:3546
++#: c-typeck.c:8786 cp/semantics.c:3578
+ #, gcc-internal-format
+ msgid "%qE must be %<threadprivate%> for %<copyin%>"
+ msgstr ""
+
+-#: c-typeck.c:8784 cp/semantics.c:3351
++#: c-typeck.c:8795 cp/semantics.c:3383
+ #, gcc-internal-format
+ msgid "%qE is not a variable in clause %qs"
+ msgstr ""
+
+-#: c-typeck.c:8791 c-typeck.c:8811 c-typeck.c:8831 cp/semantics.c:3377
+-#: cp/semantics.c:3396
++#: c-typeck.c:8802 c-typeck.c:8822 c-typeck.c:8842 cp/semantics.c:3409
++#: cp/semantics.c:3428
+ #, gcc-internal-format
+ msgid "%qE appears more than once in data clauses"
+ msgstr ""
+
+-#: c-typeck.c:8805 cp/semantics.c:3371
++#: c-typeck.c:8816 cp/semantics.c:3403
+ #, gcc-internal-format
+ msgid "%qE is not a variable in clause %<firstprivate%>"
+ msgstr ""
+
+-#: c-typeck.c:8825 cp/semantics.c:3390
++#: c-typeck.c:8836 cp/semantics.c:3422
+ #, gcc-internal-format
+ msgid "%qE is not a variable in clause %<lastprivate%>"
+ msgstr ""
+
+-#: c-typeck.c:8883 cp/semantics.c:3587
++#: c-typeck.c:8894 cp/semantics.c:3619
+ #, gcc-internal-format
+ msgid "%qE is predetermined %qs for %qs"
+ msgstr ""
+@@ -21404,12 +21384,12 @@
+ msgid "function call has aggregate value"
+ msgstr ""
+
+-#: cfgexpand.c:1884
++#: cfgexpand.c:1887
+ #, gcc-internal-format
+ msgid "not protecting local variables: variable length buffer"
+ msgstr ""
+
+-#: cfgexpand.c:1887
++#: cfgexpand.c:1890
+ #, gcc-internal-format
+ msgid "not protecting function: no buffer at least %d bytes long"
+ msgstr ""
+@@ -21464,7 +21444,7 @@
+ msgid "verify_flow_info: Basic block %d succ edge is corrupted"
+ msgstr ""
+
+-#: cfghooks.c:184 cfgrtl.c:1840
++#: cfghooks.c:184 cfgrtl.c:1838
+ #, gcc-internal-format
+ msgid "wrong amount of branch edges after unconditional jump %i"
+ msgstr ""
+@@ -21674,252 +21654,252 @@
+ msgid "%d exits recorded for loop %d (having %d exits)"
+ msgstr ""
+
+-#: cfgrtl.c:1734
++#: cfgrtl.c:1732
+ #, gcc-internal-format
+ msgid "BB_RTL flag not set for block %d"
+ msgstr ""
+
+-#: cfgrtl.c:1741
++#: cfgrtl.c:1739
+ #, gcc-internal-format
+ msgid "insn %d basic block pointer is %d, should be %d"
+ msgstr ""
+
+-#: cfgrtl.c:1752
++#: cfgrtl.c:1750
+ #, gcc-internal-format
+ msgid "insn %d in header of bb %d has non-NULL basic block"
+ msgstr ""
+
+-#: cfgrtl.c:1760
++#: cfgrtl.c:1758
+ #, gcc-internal-format
+ msgid "insn %d in footer of bb %d has non-NULL basic block"
+ msgstr ""
+
+-#: cfgrtl.c:1782
++#: cfgrtl.c:1780
+ #, gcc-internal-format
+ msgid "verify_flow_info: REG_BR_PROB does not match cfg %wi %i"
+ msgstr ""
+
+-#: cfgrtl.c:1797
++#: cfgrtl.c:1795
+ #, gcc-internal-format
+ msgid "fallthru edge crosses section boundary (bb %i)"
+ msgstr ""
+
+-#: cfgrtl.c:1822
++#: cfgrtl.c:1820
+ #, gcc-internal-format
+ msgid "missing REG_EH_REGION note in the end of bb %i"
+ msgstr ""
+
+-#: cfgrtl.c:1830
++#: cfgrtl.c:1828
+ #, gcc-internal-format
+ msgid "too many outgoing branch edges from bb %i"
+ msgstr ""
+
+-#: cfgrtl.c:1835
++#: cfgrtl.c:1833
+ #, gcc-internal-format
+ msgid "fallthru edge after unconditional jump %i"
+ msgstr ""
+
+-#: cfgrtl.c:1846
++#: cfgrtl.c:1844
+ #, gcc-internal-format
+ msgid "wrong amount of branch edges after conditional jump %i"
+ msgstr ""
+
+-#: cfgrtl.c:1852
++#: cfgrtl.c:1850
+ #, gcc-internal-format
+ msgid "call edges for non-call insn in bb %i"
+ msgstr ""
+
+-#: cfgrtl.c:1861
++#: cfgrtl.c:1859
+ #, gcc-internal-format
+ msgid "abnormal edges for no purpose in bb %i"
+ msgstr ""
+
+-#: cfgrtl.c:1873
++#: cfgrtl.c:1871
+ #, gcc-internal-format
+ msgid "insn %d inside basic block %d but block_for_insn is NULL"
+ msgstr ""
+
+-#: cfgrtl.c:1877
++#: cfgrtl.c:1875
+ #, gcc-internal-format
+ msgid "insn %d inside basic block %d but block_for_insn is %i"
+ msgstr ""
+
+-#: cfgrtl.c:1891 cfgrtl.c:1901
++#: cfgrtl.c:1889 cfgrtl.c:1899
+ #, gcc-internal-format
+ msgid "NOTE_INSN_BASIC_BLOCK is missing for block %d"
+ msgstr ""
+
+-#: cfgrtl.c:1914
++#: cfgrtl.c:1912
+ #, gcc-internal-format
+ msgid "NOTE_INSN_BASIC_BLOCK %d in middle of basic block %d"
+ msgstr ""
+
+-#: cfgrtl.c:1924
++#: cfgrtl.c:1922
+ #, gcc-internal-format
+ msgid "in basic block %d:"
+ msgstr ""
+
+-#: cfgrtl.c:1977 cfgrtl.c:2067
++#: cfgrtl.c:1975 cfgrtl.c:2065
+ #, gcc-internal-format
+ msgid "insn %d outside of basic blocks has non-NULL bb field"
+ msgstr ""
+
+-#: cfgrtl.c:1985
++#: cfgrtl.c:1983
+ #, gcc-internal-format
+ msgid "end insn %d for block %d not found in the insn stream"
+ msgstr ""
+
+-#: cfgrtl.c:1998
++#: cfgrtl.c:1996
+ #, gcc-internal-format
+ msgid "insn %d is in multiple basic blocks (%d and %d)"
+ msgstr ""
+
+-#: cfgrtl.c:2010
++#: cfgrtl.c:2008
+ #, gcc-internal-format
+ msgid "head insn %d for block %d not found in the insn stream"
+ msgstr ""
+
+-#: cfgrtl.c:2030
++#: cfgrtl.c:2028
+ #, gcc-internal-format
+ msgid "missing barrier after block %i"
+ msgstr ""
+
+-#: cfgrtl.c:2043
++#: cfgrtl.c:2041
+ #, gcc-internal-format
+ msgid "verify_flow_info: Incorrect blocks for fallthru %i->%i"
+ msgstr ""
+
+-#: cfgrtl.c:2052
++#: cfgrtl.c:2050
+ #, gcc-internal-format
+ msgid "verify_flow_info: Incorrect fallthru %i->%i"
+ msgstr ""
+
+-#: cfgrtl.c:2085
++#: cfgrtl.c:2083
+ #, gcc-internal-format
+ msgid "basic blocks not laid down consecutively"
+ msgstr ""
+
+-#: cfgrtl.c:2124
++#: cfgrtl.c:2122
+ #, gcc-internal-format
+ msgid "number of bb notes in insn chain (%d) != n_basic_blocks (%d)"
+ msgstr ""
+
+-#: cgraph.c:794
++#: cgraph.c:840
+ #, gcc-internal-format
+ msgid "%D renamed after being referenced in assembly"
+ msgstr ""
+
+-#: cgraphunit.c:670
++#: cgraphunit.c:675
+ #, gcc-internal-format
+ msgid "aux field set for edge %s->%s"
+ msgstr ""
+
+-#: cgraphunit.c:676
++#: cgraphunit.c:681
+ #, gcc-internal-format
+ msgid "Execution count is negative"
+ msgstr ""
+
+-#: cgraphunit.c:683
++#: cgraphunit.c:688
+ #, gcc-internal-format
+ msgid "caller edge count is negative"
+ msgstr ""
+
+-#: cgraphunit.c:688
++#: cgraphunit.c:693
+ #, gcc-internal-format
+ msgid "caller edge frequency is negative"
+ msgstr ""
+
+-#: cgraphunit.c:693
++#: cgraphunit.c:698
+ #, gcc-internal-format
+ msgid "caller edge frequency is too large"
+ msgstr ""
+
+-#: cgraphunit.c:702
++#: cgraphunit.c:707
+ #, gcc-internal-format
+ msgid "inlined_to pointer is wrong"
+ msgstr ""
+
+-#: cgraphunit.c:707
++#: cgraphunit.c:712
+ #, gcc-internal-format
+ msgid "multiple inline callers"
+ msgstr ""
+
+-#: cgraphunit.c:714
++#: cgraphunit.c:719
+ #, gcc-internal-format
+ msgid "inlined_to pointer set for noninline callers"
+ msgstr ""
+
+-#: cgraphunit.c:720
++#: cgraphunit.c:725
+ #, gcc-internal-format
+ msgid "inlined_to pointer is set but no predecessors found"
+ msgstr ""
+
+-#: cgraphunit.c:725
++#: cgraphunit.c:730
+ #, gcc-internal-format
+ msgid "inlined_to pointer refers to itself"
+ msgstr ""
+
+-#: cgraphunit.c:735
++#: cgraphunit.c:740
+ #, fuzzy, gcc-internal-format
+ msgid "node not found in cgraph_hash"
+ msgstr "метад \"%s\" не знойдзен у клаÑе"
+
+-#: cgraphunit.c:763
++#: cgraphunit.c:768
+ #, gcc-internal-format
+ msgid "shared call_stmt:"
+ msgstr ""
+
+-#: cgraphunit.c:770
++#: cgraphunit.c:775
+ #, fuzzy, gcc-internal-format
+ msgid "edge points to wrong declaration:"
+ msgstr "\"%s\" - гÑта не пачатак дÑкларацыі"
+
+-#: cgraphunit.c:779
++#: cgraphunit.c:784
+ #, gcc-internal-format
+ msgid "missing callgraph edge for call stmt:"
+ msgstr ""
+
+-#: cgraphunit.c:795
++#: cgraphunit.c:800
+ #, gcc-internal-format
+ msgid "edge %s->%s has no corresponding call_stmt"
+ msgstr ""
+
+-#: cgraphunit.c:807
++#: cgraphunit.c:812
+ #, gcc-internal-format
+ msgid "verify_cgraph_node failed"
+ msgstr ""
+
+-#: cgraphunit.c:909 cgraphunit.c:932
++#: cgraphunit.c:915 cgraphunit.c:938
+ #, gcc-internal-format
+ msgid "%J%<externally_visible%> attribute have effect only on public objects"
+ msgstr ""
+
+-#: cgraphunit.c:1122
++#: cgraphunit.c:1128
+ #, gcc-internal-format
+ msgid "failed to reclaim unneeded function"
+ msgstr ""
+
+-#: cgraphunit.c:1454
++#: cgraphunit.c:1460
+ #, gcc-internal-format
+ msgid "nodes with no released memory found"
+ msgstr ""
+
+-#: collect2.c:1189
++#: collect2.c:1203
+ #, fuzzy, gcc-internal-format
+ msgid "unknown demangling style '%s'"
+ msgstr "невÑдомы Ñ€Ñжым машыны \"%s\""
+
+-#: collect2.c:1512
++#: collect2.c:1526
+ #, gcc-internal-format
+ msgid "%s terminated with signal %d [%s]%s"
+ msgstr ""
+
+-#: collect2.c:1530
++#: collect2.c:1544
+ #, gcc-internal-format
+ msgid "%s returned %d exit status"
+ msgstr ""
+
+-#: collect2.c:2242
++#: collect2.c:2256
+ #, fuzzy, gcc-internal-format
+ msgid "cannot find 'ldd'"
+ msgstr "не магу знайÑці \"ldd\""
+@@ -22074,27 +22054,27 @@
+ msgid "dominator of %d should be %d, not %d"
+ msgstr ""
+
+-#: dwarf2out.c:3634
++#: dwarf2out.c:3686
+ #, gcc-internal-format
+ msgid "DW_LOC_OP %s not implemented"
+ msgstr ""
+
+-#: emit-rtl.c:2326
++#: emit-rtl.c:2262
+ #, fuzzy, gcc-internal-format
+ msgid "invalid rtl sharing found in the insn"
+ msgstr "ÐерÑчаіÑны выбар %s"
+
+-#: emit-rtl.c:2328
++#: emit-rtl.c:2264
+ #, gcc-internal-format
+ msgid "shared rtx"
+ msgstr ""
+
+-#: emit-rtl.c:2330
++#: emit-rtl.c:2266
+ #, fuzzy, gcc-internal-format
+ msgid "internal consistency failure"
+ msgstr "ÑƒÐ½ÑƒÑ‚Ñ€Ð°Ð½Ð°Ñ Ð¿Ð°Ð¼Ñ‹Ð»ÐºÐ°"
+
+-#: emit-rtl.c:3417
++#: emit-rtl.c:3365
+ #, gcc-internal-format
+ msgid "ICE: emit_insn used where emit_jump_insn needed:\n"
+ msgstr ""
+@@ -22154,16 +22134,16 @@
+ msgid "verify_eh_tree failed"
+ msgstr ""
+
+-#: explow.c:1281
++#: explow.c:1258
+ #, gcc-internal-format
+ msgid "stack limits not supported on this target"
+ msgstr ""
+
+-#: expr.c:8031
++#: expr.c:8030
+ msgid "%Kcall to %qs declared with attribute error: %s"
+ msgstr ""
+
+-#: expr.c:8037
++#: expr.c:8036
+ msgid "%Kcall to %qs declared with attribute warning: %s"
+ msgstr ""
+
+@@ -22177,7 +22157,7 @@
+ msgid "large fixed-point constant implicitly truncated to fixed-point type"
+ msgstr ""
+
+-#: fold-const.c:992 tree-ssa-loop-niter.c:1827 tree-vrp.c:5060
++#: fold-const.c:992 tree-ssa-loop-niter.c:1827 tree-vrp.c:5076
+ #, gcc-internal-format
+ msgid "%H%s"
+ msgstr ""
+@@ -22187,77 +22167,77 @@
+ msgid "assuming signed overflow does not occur when negating a division"
+ msgstr ""
+
+-#: fold-const.c:3989 fold-const.c:4000
++#: fold-const.c:4003 fold-const.c:4014
+ #, gcc-internal-format
+ msgid "comparison is always %d due to width of bit-field"
+ msgstr ""
+
+-#: fold-const.c:5317
++#: fold-const.c:5331
+ #, gcc-internal-format
+ msgid "assuming signed overflow does not occur when simplifying range test"
+ msgstr ""
+
+-#: fold-const.c:5691 fold-const.c:5706
++#: fold-const.c:5705 fold-const.c:5720
+ #, gcc-internal-format
+ msgid "comparison is always %d"
+ msgstr ""
+
+-#: fold-const.c:5835
++#: fold-const.c:5849
+ #, gcc-internal-format
+ msgid "%<or%> of unmatched not-equal tests is always 1"
+ msgstr ""
+
+-#: fold-const.c:5840
++#: fold-const.c:5854
+ #, gcc-internal-format
+ msgid "%<and%> of mutually exclusive equal-tests is always 0"
+ msgstr ""
+
+-#: fold-const.c:8617
++#: fold-const.c:8641
+ #, gcc-internal-format
+ msgid "assuming signed overflow does not occur when reducing constant in comparison"
+ msgstr ""
+
+-#: fold-const.c:8871
++#: fold-const.c:8895
+ #, gcc-internal-format
+ msgid "assuming signed overflow does not occur when combining constants around a comparison"
+ msgstr ""
+
+-#: fold-const.c:13236
++#: fold-const.c:13433
+ #, gcc-internal-format
+ msgid "fold check: original tree changed by fold"
+ msgstr ""
+
+-#: function.c:377
++#: function.c:380
+ #, fuzzy, gcc-internal-format
+ msgid "%Jtotal size of local objects too large"
+ msgstr "памер маÑіва \"%s\" вельмі вÑлікі"
+
+-#: function.c:837 varasm.c:2095
++#: function.c:840 varasm.c:2095
+ #, fuzzy, gcc-internal-format
+ msgid "size of variable %q+D is too large"
+ msgstr "памер маÑіва \"%s\" вельмі вÑлікі"
+
+-#: function.c:1554 gimplify.c:4250
++#: function.c:1571 gimplify.c:4405
+ #, fuzzy, gcc-internal-format
+ msgid "impossible constraint in %<asm%>"
+ msgstr "немагчымы апÑратар '%s'"
+
+-#: function.c:3538
++#: function.c:3557
+ #, gcc-internal-format
+ msgid "variable %q+D might be clobbered by %<longjmp%> or %<vfork%>"
+ msgstr ""
+
+-#: function.c:3559
++#: function.c:3578
+ #, gcc-internal-format
+ msgid "argument %q+D might be clobbered by %<longjmp%> or %<vfork%>"
+ msgstr ""
+
+-#: function.c:4004
++#: function.c:4027
+ #, gcc-internal-format
+ msgid "function returns an aggregate"
+ msgstr ""
+
+-#: function.c:4401
++#: function.c:4424
+ #, fuzzy, gcc-internal-format
+ msgid "unused parameter %q+D"
+ msgstr "невыкарыÑтаемы параметр \"%s\""
+@@ -22282,12 +22262,12 @@
+ msgid "extraneous argument to '%s' option"
+ msgstr "аргумент Ð´Ð»Ñ \"%s\" прапушчан"
+
+-#: gcc.c:3987
++#: gcc.c:3981
+ #, gcc-internal-format
+ msgid "warning: -pipe ignored because -save-temps specified"
+ msgstr ""
+
+-#: gcc.c:4276
++#: gcc.c:4270
+ #, gcc-internal-format
+ msgid "warning: '-x %s' after last input file has no effect"
+ msgstr ""
+@@ -22295,62 +22275,62 @@
+ #. Catch the case where a spec string contains something like
+ #. '%{foo:%*}'. i.e. there is no * in the pattern on the left
+ #. hand side of the :.
+-#: gcc.c:5314
++#: gcc.c:5308
+ #, gcc-internal-format
+ msgid "spec failure: '%%*' has not been initialized by pattern match"
+ msgstr ""
+
+-#: gcc.c:5323
++#: gcc.c:5317
+ #, gcc-internal-format
+ msgid "warning: use of obsolete %%[ operator in specs"
+ msgstr ""
+
+-#: gcc.c:5404
++#: gcc.c:5398
+ #, fuzzy, gcc-internal-format
+ msgid "spec failure: unrecognized spec option '%c'"
+ msgstr "нераÑпазнаны выбар \"-%s\""
+
+-#: gcc.c:6305
++#: gcc.c:6304
+ #, gcc-internal-format
+ msgid "spec failure: more than one arg to SYSROOT_SUFFIX_SPEC"
+ msgstr ""
+
+-#: gcc.c:6328
++#: gcc.c:6327
+ #, gcc-internal-format
+ msgid "spec failure: more than one arg to SYSROOT_HEADERS_SUFFIX_SPEC"
+ msgstr ""
+
+-#: gcc.c:6415
++#: gcc.c:6414
+ #, fuzzy, gcc-internal-format
+ msgid "unrecognized option '-%s'"
+ msgstr "нераÑпазнаны выбар \"-%s\""
+
+-#: gcc.c:6615 gcc.c:6678
++#: gcc.c:6614 gcc.c:6677
+ #, gcc-internal-format
+ msgid "%s: %s compiler not installed on this system"
+ msgstr "%s: %s кампілÑтар не ÑžÑталÑваны на гÑтай ÑÑ–ÑÑ‚Ñме"
+
+-#: gcc.c:6778
++#: gcc.c:6777
+ #, gcc-internal-format
+ msgid "%s: linker input file unused because linking not done"
+ msgstr ""
+
+-#: gcc.c:6818
++#: gcc.c:6817
+ #, gcc-internal-format
+ msgid "language %s not recognized"
+ msgstr "мова %s не раÑпазнана"
+
+-#: gcc.c:6889
++#: gcc.c:6888
+ #, gcc-internal-format
+ msgid "%s: %s"
+ msgstr ""
+
+-#: gcse.c:6660
++#: gcse.c:6644
+ #, gcc-internal-format
+ msgid "%s: %d basic blocks and %d edges/basic block"
+ msgstr ""
+
+-#: gcse.c:6673
++#: gcse.c:6657
+ #, gcc-internal-format
+ msgid "%s: %d basic blocks and %d registers"
+ msgstr ""
+@@ -22403,52 +22383,52 @@
+ msgid "can't write PCH fle: %m"
+ msgstr "не магу запіÑаць Ñž %s"
+
+-#: gimplify.c:4139
++#: gimplify.c:4294
+ #, gcc-internal-format
+ msgid "invalid lvalue in asm output %d"
+ msgstr ""
+
+-#: gimplify.c:4251
++#: gimplify.c:4406
+ #, gcc-internal-format
+ msgid "non-memory input %d must stay in memory"
+ msgstr ""
+
+-#: gimplify.c:4264
++#: gimplify.c:4419
+ #, gcc-internal-format
+ msgid "memory input %d is not directly addressable"
+ msgstr ""
+
+-#: gimplify.c:4743
++#: gimplify.c:4898
+ #, gcc-internal-format
+ msgid "%qs not specified in enclosing parallel"
+ msgstr ""
+
+-#: gimplify.c:4745
++#: gimplify.c:4900
+ #, gcc-internal-format
+ msgid "%Henclosing parallel"
+ msgstr ""
+
+-#: gimplify.c:4799
++#: gimplify.c:4954
+ #, gcc-internal-format
+ msgid "iteration variable %qs should be private"
+ msgstr ""
+
+-#: gimplify.c:4813
++#: gimplify.c:4968
+ #, gcc-internal-format
+ msgid "iteration variable %qs should not be firstprivate"
+ msgstr ""
+
+-#: gimplify.c:4816
++#: gimplify.c:4971
+ #, gcc-internal-format
+ msgid "iteration variable %qs should not be reduction"
+ msgstr ""
+
+-#: gimplify.c:4940
++#: gimplify.c:5095
+ #, gcc-internal-format
+ msgid "%s variable %qs is private in outer context"
+ msgstr ""
+
+-#: gimplify.c:6108
++#: gimplify.c:6281
+ #, gcc-internal-format
+ msgid "gimplification failed"
+ msgstr ""
+@@ -22458,7 +22438,7 @@
+ msgid "%s cannot be used in asm here"
+ msgstr "\"%s\" звычайна функцыÑ"
+
+-#: graph.c:401 java/jcf-parse.c:1757 java/jcf-parse.c:1897 objc/objc-act.c:500
++#: graph.c:401 java/jcf-parse.c:1759 java/jcf-parse.c:1899 objc/objc-act.c:500
+ #, fuzzy, gcc-internal-format
+ msgid "can't open %s: %m"
+ msgstr "немагчыма адчыніць %s"
+@@ -22468,158 +22448,163 @@
+ msgid "fix_sched_param: unknown param: %s"
+ msgstr ""
+
+-#: omp-low.c:1288
++#: omp-low.c:1289
+ #, gcc-internal-format
+ msgid "work-sharing region may not be closely nested inside of work-sharing, critical, ordered or master region"
+ msgstr ""
+
+-#: omp-low.c:1304
++#: omp-low.c:1305
+ #, gcc-internal-format
+ msgid "master region may not be closely nested inside of work-sharing region"
+ msgstr ""
+
+-#: omp-low.c:1318
++#: omp-low.c:1319
+ #, gcc-internal-format
+ msgid "ordered region may not be closely nested inside of critical region"
+ msgstr ""
+
+-#: omp-low.c:1324
++#: omp-low.c:1325
+ #, gcc-internal-format
+ msgid "ordered region must be closely nested inside a loop region with an ordered clause"
+ msgstr ""
+
+-#: omp-low.c:1338
++#: omp-low.c:1339
+ #, gcc-internal-format
+ msgid "critical region may not be nested inside a critical region with the same name"
+ msgstr ""
+
+-#: omp-low.c:5050 cp/decl.c:2660 cp/parser.c:7417 cp/parser.c:7437
++#: omp-low.c:5116 cp/decl.c:2667 cp/parser.c:7423 cp/parser.c:7443
+ #, gcc-internal-format
+ msgid "invalid exit from OpenMP structured block"
+ msgstr ""
+
+-#: omp-low.c:5052
++#: omp-low.c:5118
+ #, gcc-internal-format
+ msgid "invalid entry to OpenMP structured block"
+ msgstr ""
+
+-#: opts.c:173
++#: opts.c:165
+ #, gcc-internal-format
+ msgid "argument %qs to %<-femit-struct-debug-detailed%> not recognized"
+ msgstr ""
+
+-#: opts.c:207
++#: opts.c:199
+ #, gcc-internal-format
+ msgid "argument %qs to %<-femit-struct-debug-detailed%> unknown"
+ msgstr ""
+
+-#: opts.c:213
++#: opts.c:205
+ #, gcc-internal-format
+ msgid "%<-femit-struct-debug-detailed=dir:...%> must allow at least as much as %<-femit-struct-debug-detailed=ind:...%>"
+ msgstr ""
+
+ #. Eventually this should become a hard error IMO.
+-#: opts.c:438
++#: opts.c:430
+ #, gcc-internal-format
+ msgid "command line option \"%s\" is valid for %s but not for %s"
+ msgstr ""
+
+-#: opts.c:492
++#: opts.c:484
+ #, gcc-internal-format
+ msgid "command line option %qs is not supported by this configuration"
+ msgstr ""
+
+-#: opts.c:545
++#: opts.c:537
+ #, fuzzy, gcc-internal-format
+ msgid "missing argument to \"%s\""
+ msgstr "аргумент Ð´Ð»Ñ \"%s\" прапушчан"
+
+-#: opts.c:555
++#: opts.c:547
+ #, fuzzy, gcc-internal-format
+ msgid "argument to \"%s\" should be a non-negative integer"
+ msgstr "першым аргументам \"%s\" павінен быць \"int\""
+
+-#: opts.c:728
++#: opts.c:720
+ #, fuzzy, gcc-internal-format
+ msgid "unrecognized command line option \"%s\""
+ msgstr "ÐераÑпазнаны выбар \"%s\""
+
+-#: opts.c:947
++#: opts.c:939
+ #, gcc-internal-format
+ msgid "-Wuninitialized is not supported without -O"
+ msgstr ""
+
+-#: opts.c:962
++#: opts.c:951
+ #, gcc-internal-format
++msgid "-funit-at-a-time is required for inlining of functions that are only called once"
++msgstr ""
++
++#: opts.c:964
++#, gcc-internal-format
+ msgid "-freorder-blocks-and-partition does not work with exceptions"
+ msgstr ""
+
+-#: opts.c:973
++#: opts.c:975
+ #, gcc-internal-format
+ msgid "-freorder-blocks-and-partition does not support unwind info"
+ msgstr ""
+
+-#: opts.c:987
++#: opts.c:989
+ #, gcc-internal-format
+ msgid "-freorder-blocks-and-partition does not work on this architecture"
+ msgstr ""
+
+-#: opts.c:1263
++#: opts.c:1265
+ #, gcc-internal-format
+ msgid "unrecognized include_flags 0x%x passed to print_specific_help"
+ msgstr ""
+
+-#: opts.c:1593
++#: opts.c:1595
+ #, gcc-internal-format
+ msgid "structure alignment must be a small power of two, not %d"
+ msgstr ""
+
+-#: opts.c:1656
++#: opts.c:1658
+ #, fuzzy, gcc-internal-format
+ msgid "unrecognized visibility value \"%s\""
+ msgstr "нераÑÐ¿Ð°Ð·Ð½Ð°Ð½Ð°Ñ Ð½Ð°Ð·Ð²Ð° ÑÑкцыі \"%s\""
+
+-#: opts.c:1704
++#: opts.c:1706
+ #, fuzzy, gcc-internal-format
+ msgid "unrecognized register name \"%s\""
+ msgstr "нераÑÐ¿Ð°Ð·Ð½Ð°Ð½Ð°Ñ Ð½Ð°Ð·Ð²Ð° ÑÑкцыі \"%s\""
+
+-#: opts.c:1728
++#: opts.c:1730
+ #, fuzzy, gcc-internal-format
+ msgid "unknown tls-model \"%s\""
+ msgstr "невÑдомы Ñ€Ñжым машыны \"%s\""
+
+-#: opts.c:1803
++#: opts.c:1807
+ #, gcc-internal-format
+ msgid "%s: --param arguments should be of the form NAME=VALUE"
+ msgstr ""
+
+-#: opts.c:1808
++#: opts.c:1812
+ #, fuzzy, gcc-internal-format
+ msgid "invalid --param value %qs"
+ msgstr "нерÑчаіÑны выбар --param : %s"
+
+-#: opts.c:1931
++#: opts.c:1934
+ #, fuzzy, gcc-internal-format
+ msgid "target system does not support debug output"
+ msgstr "ISO C не падтрымлівае комлекÑÐ½Ñ‹Ñ Ñ†ÑÐ»Ð°Ð»Ñ–ÐºÐ°Ð²Ñ‹Ñ Ñ‚Ñ‹Ð¿Ñ‹"
+
+-#: opts.c:1938
++#: opts.c:1941
+ #, fuzzy, gcc-internal-format
+ msgid "debug format \"%s\" conflicts with prior selection"
+ msgstr "ÑÐµÐºÑ†Ñ‹Ñ \"%s\" канфліктуе з папÑÑ€ÑднÑй дÑкларацыÑй"
+
+-#: opts.c:1954
++#: opts.c:1957
+ #, fuzzy, gcc-internal-format
+ msgid "unrecognised debug output level \"%s\""
+ msgstr "нераÑÐ¿Ð°Ð·Ð½Ð°Ð½Ð°Ñ Ð½Ð°Ð·Ð²Ð° ÑÑкцыі \"%s\""
+
+-#: opts.c:1956
++#: opts.c:1959
+ #, gcc-internal-format
+ msgid "debug output level %s is too high"
+ msgstr ""
+
+-#: opts.c:2038
++#: opts.c:2041
+ #, gcc-internal-format
+ msgid "-Werror=%s: No option -%s"
+ msgstr ""
+@@ -22695,9 +22680,9 @@
+ msgid "can't use '%s' as a %s register"
+ msgstr ""
+
+-#: regclass.c:890 config/ia64/ia64.c:5138 config/ia64/ia64.c:5145
+-#: config/pa/pa.c:359 config/pa/pa.c:366 config/spu/spu.c:3886
+-#: config/spu/spu.c:3893
++#: regclass.c:890 config/ia64/ia64.c:5139 config/ia64/ia64.c:5146
++#: config/pa/pa.c:362 config/pa/pa.c:369 config/spu/spu.c:3875
++#: config/spu/spu.c:3882
+ #, gcc-internal-format
+ msgid "unknown register name: %s"
+ msgstr "невÑÐ´Ð¾Ð¼Ð°Ñ Ð½Ð°Ð·Ð²Ð° Ñ€ÑгіÑтра: %s"
+@@ -22737,22 +22722,22 @@
+ msgid "validate_value_data: [%u] Non-empty reg in chain (%s %u %i)"
+ msgstr ""
+
+-#: reload.c:1252
++#: reload.c:1256
+ #, gcc-internal-format
+ msgid "cannot reload integer constant operand in %<asm%>"
+ msgstr ""
+
+-#: reload.c:1266
++#: reload.c:1270
+ #, gcc-internal-format
+ msgid "impossible register constraint in %<asm%>"
+ msgstr ""
+
+-#: reload.c:3564
++#: reload.c:3574
+ #, gcc-internal-format
+ msgid "%<&%> constraint used with no register class"
+ msgstr ""
+
+-#: reload.c:3735 reload.c:3975
++#: reload.c:3745 reload.c:3991
+ #, gcc-internal-format
+ msgid "inconsistent operand constraints in an %<asm%>"
+ msgstr ""
+@@ -22977,49 +22962,49 @@
+ msgid "size of %q+D is larger than %wd bytes"
+ msgstr "памер \"%s\" больш чам %d байт"
+
+-#: stor-layout.c:899
++#: stor-layout.c:888
+ #, gcc-internal-format
+ msgid "packed attribute causes inefficient alignment for %q+D"
+ msgstr ""
+
+-#: stor-layout.c:902
++#: stor-layout.c:891
+ #, gcc-internal-format
+ msgid "packed attribute is unnecessary for %q+D"
+ msgstr ""
+
+ #. No, we need to skip space before this field.
+ #. Bump the cumulative size to multiple of field alignment.
+-#: stor-layout.c:919
++#: stor-layout.c:908
+ #, gcc-internal-format
+ msgid "padding struct to align %q+D"
+ msgstr ""
+
+-#: stor-layout.c:1270
++#: stor-layout.c:1259
+ #, gcc-internal-format
+ msgid "padding struct size to alignment boundary"
+ msgstr ""
+
+-#: stor-layout.c:1300
++#: stor-layout.c:1289
+ #, gcc-internal-format
+ msgid "packed attribute causes inefficient alignment for %qs"
+ msgstr ""
+
+-#: stor-layout.c:1304
++#: stor-layout.c:1293
+ #, fuzzy, gcc-internal-format
+ msgid "packed attribute is unnecessary for %qs"
+ msgstr "\"%s\" атрыбут ігнарыруецца"
+
+-#: stor-layout.c:1310
++#: stor-layout.c:1299
+ #, gcc-internal-format
+ msgid "packed attribute causes inefficient alignment"
+ msgstr ""
+
+-#: stor-layout.c:1312
++#: stor-layout.c:1301
+ #, gcc-internal-format
+ msgid "packed attribute is unnecessary"
+ msgstr ""
+
+-#: stor-layout.c:1842
++#: stor-layout.c:1831
+ #, gcc-internal-format
+ msgid "alignment of array elements is greater than element size"
+ msgstr ""
+@@ -23104,643 +23089,653 @@
+ msgid "unrecognized gcc debugging option: %c"
+ msgstr ""
+
+-#: toplev.c:1411
++#: toplev.c:1413
+ #, fuzzy, gcc-internal-format
+ msgid "can%'t open %s for writing: %m"
+ msgstr "немагчыма адчыніць %s Ð´Ð»Ñ Ð·Ð°Ð¿Ñ–Ñу"
+
+-#: toplev.c:1432
++#: toplev.c:1434
+ #, fuzzy, gcc-internal-format
+ msgid "-frecord-gcc-switches is not supported by the current target"
+ msgstr "атрыбуты Ñекцыі не падтрымліваюцца Ð´Ð»Ñ Ð³Ñтай мÑÑ‚Ñ‹"
+
+-#: toplev.c:1745
++#: toplev.c:1747
+ #, fuzzy, gcc-internal-format
+ msgid "this target does not support %qs"
+ msgstr "%s не падтрымлівае %s"
+
+-#: toplev.c:1794
++#: toplev.c:1796
+ #, gcc-internal-format
+ msgid "instruction scheduling not supported on this target machine"
+ msgstr ""
+
+-#: toplev.c:1798
++#: toplev.c:1800
+ #, gcc-internal-format
+ msgid "this target machine does not have delayed branches"
+ msgstr ""
+
+-#: toplev.c:1812
++#: toplev.c:1814
+ #, gcc-internal-format
+ msgid "-f%sleading-underscore not supported on this target machine"
+ msgstr ""
+
+-#: toplev.c:1885
++#: toplev.c:1887
+ #, gcc-internal-format
+ msgid "target system does not support the \"%s\" debug format"
+ msgstr ""
+
+-#: toplev.c:1898
++#: toplev.c:1900
+ #, gcc-internal-format
+ msgid "variable tracking requested, but useless unless producing debug info"
+ msgstr ""
+
+-#: toplev.c:1901
++#: toplev.c:1903
+ #, gcc-internal-format
+ msgid "variable tracking requested, but not supported by this debug format"
+ msgstr ""
+
+-#: toplev.c:1935
++#: toplev.c:1937
+ #, fuzzy, gcc-internal-format
+ msgid "can%'t open %s: %m"
+ msgstr "немагчыма адчыніць %s"
+
+-#: toplev.c:1942
++#: toplev.c:1944
+ #, fuzzy, gcc-internal-format
+ msgid "-ffunction-sections not supported for this target"
+ msgstr "атрыбуты Ñекцыі не падтрымліваюцца Ð´Ð»Ñ Ð³Ñтай мÑÑ‚Ñ‹"
+
+-#: toplev.c:1947
++#: toplev.c:1949
+ #, fuzzy, gcc-internal-format
+ msgid "-fdata-sections not supported for this target"
+ msgstr "атрыбуты Ñекцыі не падтрымліваюцца Ð´Ð»Ñ Ð³Ñтай мÑÑ‚Ñ‹"
+
+-#: toplev.c:1954
++#: toplev.c:1956
+ #, gcc-internal-format
+ msgid "-ffunction-sections disabled; it makes profiling impossible"
+ msgstr ""
+
+-#: toplev.c:1961
++#: toplev.c:1963
+ #, fuzzy, gcc-internal-format
+ msgid "-fprefetch-loop-arrays not supported for this target"
+ msgstr "атрыбуты Ñекцыі не падтрымліваюцца Ð´Ð»Ñ Ð³Ñтай мÑÑ‚Ñ‹"
+
+-#: toplev.c:1967
++#: toplev.c:1969
+ #, gcc-internal-format
+ msgid "-fprefetch-loop-arrays not supported for this target (try -march switches)"
+ msgstr ""
+
+-#: toplev.c:1976
++#: toplev.c:1978
+ #, gcc-internal-format
+ msgid "-fprefetch-loop-arrays is not supported with -Os"
+ msgstr ""
+
+-#: toplev.c:1983
++#: toplev.c:1985
+ #, gcc-internal-format
+ msgid "-ffunction-sections may affect debugging on some targets"
+ msgstr ""
+
+-#: toplev.c:1999
++#: toplev.c:1996
++#, gcc-internal-format
++msgid "-fassociative-math disabled; other options take precedence"
++msgstr ""
++
++#: toplev.c:2008
+ #, fuzzy, gcc-internal-format
+ msgid "-fstack-protector not supported for this target"
+ msgstr "атрыбуты Ñекцыі не падтрымліваюцца Ð´Ð»Ñ Ð³Ñтай мÑÑ‚Ñ‹"
+
+-#: toplev.c:2012
++#: toplev.c:2021
+ #, gcc-internal-format
+-msgid "unwind tables currently requires a frame pointer for correctness"
++msgid "unwind tables currently require a frame pointer for correctness"
+ msgstr ""
+
+-#: toplev.c:2198
++#: toplev.c:2207
+ #, fuzzy, gcc-internal-format
+ msgid "error writing to %s: %m"
+ msgstr "памылка запіÑу Ñž %s"
+
+-#: toplev.c:2200 java/jcf-parse.c:1776
++#: toplev.c:2209 java/jcf-parse.c:1778
+ #, fuzzy, gcc-internal-format
+ msgid "error closing %s: %m"
+ msgstr "памылка запіÑу Ñž %s"
+
+-#: tree-cfg.c:1432 tree-cfg.c:2068 tree-cfg.c:2071
++#: tree-cfg.c:1451 tree-cfg.c:2087 tree-cfg.c:2090
+ #, gcc-internal-format
+ msgid "%Hwill never be executed"
+ msgstr ""
+
+-#: tree-cfg.c:3134
++#: tree-cfg.c:3153
+ #, gcc-internal-format
+ msgid "SSA name in freelist but still referenced"
+ msgstr ""
+
+-#: tree-cfg.c:3143
++#: tree-cfg.c:3162
+ #, gcc-internal-format
+ msgid "ASSERT_EXPR with an always-false condition"
+ msgstr ""
+
+-#: tree-cfg.c:3156
++#: tree-cfg.c:3175
+ #, gcc-internal-format
+ msgid "GIMPLE register modified with BIT_FIELD_REF"
+ msgstr ""
+
+-#: tree-cfg.c:3191
++#: tree-cfg.c:3210
+ #, gcc-internal-format
+ msgid "invariant not recomputed when ADDR_EXPR changed"
+ msgstr ""
+
+-#: tree-cfg.c:3197
++#: tree-cfg.c:3216
+ #, gcc-internal-format
+ msgid "constant not recomputed when ADDR_EXPR changed"
+ msgstr ""
+
+-#: tree-cfg.c:3202
++#: tree-cfg.c:3221
+ #, gcc-internal-format
+ msgid "side effects not recomputed when ADDR_EXPR changed"
+ msgstr ""
+
+-#: tree-cfg.c:3218
++#: tree-cfg.c:3237
+ #, gcc-internal-format
+ msgid "address taken, but ADDRESSABLE bit not set"
+ msgstr ""
+
+-#: tree-cfg.c:3228
++#: tree-cfg.c:3252
+ #, gcc-internal-format
+ msgid "non-integral used in condition"
+ msgstr ""
+
+-#: tree-cfg.c:3233
++#: tree-cfg.c:3257
+ #, fuzzy, gcc-internal-format
+ msgid "invalid conditional operand"
+ msgstr "нерÑчаіÑны %%c аперанд"
+
+-#: tree-cfg.c:3285
++#: tree-cfg.c:3309
+ #, gcc-internal-format
+ msgid "invalid reference prefix"
+ msgstr ""
+
+-#: tree-cfg.c:3296
++#: tree-cfg.c:3320
+ #, fuzzy, gcc-internal-format
+ msgid "invalid operand to plus/minus, type is a pointer"
+ msgstr "нерÑчаіÑны %%-код"
+
+-#: tree-cfg.c:3307
++#: tree-cfg.c:3331
+ #, gcc-internal-format
+ msgid "invalid operand to pointer plus, first operand is not a pointer"
+ msgstr ""
+
+-#: tree-cfg.c:3315
++#: tree-cfg.c:3339
+ #, gcc-internal-format
+ msgid "invalid operand to pointer plus, second operand is not an integer with type of sizetype."
+ msgstr ""
+
+-#: tree-cfg.c:3382 tree-cfg.c:3798
++#: tree-cfg.c:3406 tree-cfg.c:3822
+ #, fuzzy, gcc-internal-format
+ msgid "invalid operand in unary expression"
+ msgstr "нерÑчаіÑны %%-код"
+
+-#: tree-cfg.c:3392
++#: tree-cfg.c:3416
+ #, gcc-internal-format
+ msgid "type mismatch in unary expression"
+ msgstr ""
+
+-#: tree-cfg.c:3413
++#: tree-cfg.c:3437
+ #, gcc-internal-format
+ msgid "invalid operands in binary expression"
+ msgstr ""
+
+-#: tree-cfg.c:3424
++#: tree-cfg.c:3448
+ #, gcc-internal-format
+ msgid "type mismatch in binary expression"
+ msgstr ""
+
+-#: tree-cfg.c:3449
++#: tree-cfg.c:3473
+ #, fuzzy, gcc-internal-format
+ msgid "invalid expression for min lvalue"
+ msgstr "нерÑчаіÑнае значÑньне %%m"
+
+-#: tree-cfg.c:3456
++#: tree-cfg.c:3480
+ #, fuzzy, gcc-internal-format
+ msgid "invalid operand in indirect reference"
+ msgstr "ÐерÑчаіÑны выбар \"%s\""
+
+-#: tree-cfg.c:3463
++#: tree-cfg.c:3487
+ #, gcc-internal-format
+ msgid "type mismatch in indirect reference"
+ msgstr ""
+
+-#: tree-cfg.c:3491
++#: tree-cfg.c:3515
+ #, fuzzy, gcc-internal-format
+ msgid "invalid operands to array reference"
+ msgstr "нерÑчаіÑны %%-код"
+
+-#: tree-cfg.c:3502
++#: tree-cfg.c:3526
+ #, gcc-internal-format
+ msgid "type mismatch in array reference"
+ msgstr ""
+
+-#: tree-cfg.c:3511
++#: tree-cfg.c:3535
+ #, gcc-internal-format
+ msgid "type mismatch in array range reference"
+ msgstr ""
+
+-#: tree-cfg.c:3522
++#: tree-cfg.c:3546
+ #, gcc-internal-format
+ msgid "type mismatch in real/imagpart reference"
+ msgstr ""
+
+-#: tree-cfg.c:3532
++#: tree-cfg.c:3556
+ #, gcc-internal-format
+ msgid "type mismatch in component reference"
+ msgstr ""
+
+-#: tree-cfg.c:3586
++#: tree-cfg.c:3610
+ #, fuzzy, gcc-internal-format
+ msgid "invalid operand in conversion"
+ msgstr "нерÑчаіÑны %%-код"
+
+-#: tree-cfg.c:3614
++#: tree-cfg.c:3638
+ #, fuzzy, gcc-internal-format
+ msgid "invalid types in nop conversion"
+ msgstr "нерÑчаіÑны %%-код"
+
+-#: tree-cfg.c:3628
++#: tree-cfg.c:3652
+ #, fuzzy, gcc-internal-format
+ msgid "invalid operand in int to float conversion"
+ msgstr "нерÑчаіÑны %%-код"
+
+-#: tree-cfg.c:3634
++#: tree-cfg.c:3658
+ #, gcc-internal-format
+ msgid "invalid types in conversion to floating point"
+ msgstr ""
+
+-#: tree-cfg.c:3647
++#: tree-cfg.c:3671
+ #, fuzzy, gcc-internal-format
+ msgid "invalid operand in float to int conversion"
+ msgstr "нерÑчаіÑны %%-код"
+
+-#: tree-cfg.c:3653
++#: tree-cfg.c:3677
+ #, gcc-internal-format
+ msgid "invalid types in conversion to integer"
+ msgstr ""
+
+-#: tree-cfg.c:3667
++#: tree-cfg.c:3691
+ #, fuzzy, gcc-internal-format
+ msgid "invalid operands in complex expression"
+ msgstr "ÐерÑчаіÑны выбар \"%s\""
+
+-#: tree-cfg.c:3680
++#: tree-cfg.c:3704
+ #, gcc-internal-format
+ msgid "type mismatch in complex expression"
+ msgstr ""
+
+-#: tree-cfg.c:3694
++#: tree-cfg.c:3718
+ #, gcc-internal-format
+ msgid "constructor not allowed for non-vector types"
+ msgstr ""
+
+-#: tree-cfg.c:3711
++#: tree-cfg.c:3735
+ #, fuzzy, gcc-internal-format
+ msgid "invalid operands in shift expression"
+ msgstr "нерÑчаіÑны %%-код"
+
+-#: tree-cfg.c:3717
++#: tree-cfg.c:3741
+ #, gcc-internal-format
+ msgid "type mismatch in shift expression"
+ msgstr ""
+
+-#: tree-cfg.c:3735
++#: tree-cfg.c:3759
+ #, gcc-internal-format
+ msgid "invalid (pointer) operands to plus/minus"
+ msgstr ""
+
+-#: tree-cfg.c:3748
++#: tree-cfg.c:3772
+ #, fuzzy, gcc-internal-format
+ msgid "invalid operands in pointer plus expression"
+ msgstr "нерÑчаіÑны %%-код"
+
+-#: tree-cfg.c:3755
++#: tree-cfg.c:3779
+ #, gcc-internal-format
+ msgid "type mismatch in pointer plus expression"
+ msgstr ""
+
+-#: tree-cfg.c:3774
++#: tree-cfg.c:3798
+ #, fuzzy, gcc-internal-format
+ msgid "invalid operands in conditional expression"
+ msgstr "нерÑчаіÑны %%-код"
+
+-#: tree-cfg.c:3807
++#: tree-cfg.c:3831
+ #, gcc-internal-format
+ msgid "type mismatch in address expression"
+ msgstr ""
+
+-#: tree-cfg.c:3827
++#: tree-cfg.c:3851
+ #, fuzzy, gcc-internal-format
+ msgid "invalid operands in truth expression"
+ msgstr "нерÑчаіÑны %%-код"
+
+-#: tree-cfg.c:3836
++#: tree-cfg.c:3860
+ #, gcc-internal-format
+ msgid "type mismatch in binary truth expression"
+ msgstr ""
+
+-#: tree-cfg.c:3852
++#: tree-cfg.c:3876
+ #, fuzzy, gcc-internal-format
+ msgid "invalid operand in unary not"
+ msgstr "нерÑчаіÑны %%-код"
+
+-#: tree-cfg.c:3861
++#: tree-cfg.c:3885
+ #, gcc-internal-format
+ msgid "type mismatch in not expression"
+ msgstr ""
+
+-#: tree-cfg.c:3900
++#: tree-cfg.c:3924
+ #, gcc-internal-format
+ msgid "invalid operands in comparison expression"
+ msgstr ""
+
+-#: tree-cfg.c:3917
++#: tree-cfg.c:3941
+ #, gcc-internal-format
+ msgid "type mismatch in comparison expression"
+ msgstr ""
+
+-#: tree-cfg.c:3947
++#: tree-cfg.c:3971
+ #, gcc-internal-format
+ msgid "non-trivial conversion at assignment"
+ msgstr ""
+
+-#: tree-cfg.c:3988 tree-cfg.c:4136
++#: tree-cfg.c:4012 tree-cfg.c:4160
+ #, gcc-internal-format
+ msgid "is not a valid GIMPLE statement"
+ msgstr ""
+
+-#: tree-cfg.c:4015
++#: tree-cfg.c:4039
+ #, fuzzy, gcc-internal-format
+ msgid "invalid operand to switch statement"
+ msgstr "нерÑчаіÑны %%-код"
+
+-#: tree-cfg.c:4026
++#: tree-cfg.c:4050
+ #, gcc-internal-format
+ msgid "type error in return expression"
+ msgstr ""
+
+-#: tree-cfg.c:4104
++#: tree-cfg.c:4128
+ #, gcc-internal-format
+ msgid "verify_gimple failed"
+ msgstr ""
+
+-#: tree-cfg.c:4156
++#: tree-cfg.c:4180
+ #, gcc-internal-format
+ msgid "statement marked for throw, but doesn%'t"
+ msgstr ""
+
+-#: tree-cfg.c:4161
++#: tree-cfg.c:4185
+ #, gcc-internal-format
+ msgid "statement marked for throw in middle of block"
+ msgstr ""
+
+-#: tree-cfg.c:4232
++#: tree-cfg.c:4256
+ #, gcc-internal-format
+ msgid "unexpected non-tuple"
+ msgstr ""
+
+-#: tree-cfg.c:4261
++#: tree-cfg.c:4285
+ #, gcc-internal-format
+ msgid "Dead STMT in EH table"
+ msgstr ""
+
+-#: tree-cfg.c:4295
++#: tree-cfg.c:4319
+ #, gcc-internal-format
+ msgid "bb_for_stmt (phi) is set to a wrong basic block"
+ msgstr ""
+
+-#: tree-cfg.c:4306
++#: tree-cfg.c:4330
+ #, fuzzy, gcc-internal-format
+ msgid "missing PHI def"
+ msgstr "Прапушчан ідÑнтыфікатар"
+
+-#: tree-cfg.c:4317
++#: tree-cfg.c:4341
+ #, gcc-internal-format
+ msgid "PHI def is not a GIMPLE value"
+ msgstr ""
+
+-#: tree-cfg.c:4333 tree-cfg.c:4359
++#: tree-cfg.c:4357 tree-cfg.c:4383
+ #, gcc-internal-format
+ msgid "incorrect sharing of tree nodes"
+ msgstr ""
+
+-#: tree-cfg.c:4350
++#: tree-cfg.c:4374
+ #, gcc-internal-format
+ msgid "bb_for_stmt (stmt) is set to a wrong basic block"
+ msgstr ""
+
+-#: tree-cfg.c:4373
++#: tree-cfg.c:4397
+ #, gcc-internal-format
+ msgid "verify_stmts failed"
+ msgstr ""
+
+-#: tree-cfg.c:4396
++#: tree-cfg.c:4420
+ #, gcc-internal-format
+ msgid "ENTRY_BLOCK has IL associated with it"
+ msgstr ""
+
+-#: tree-cfg.c:4402
++#: tree-cfg.c:4426
+ #, gcc-internal-format
+ msgid "EXIT_BLOCK has IL associated with it"
+ msgstr ""
+
+-#: tree-cfg.c:4409
++#: tree-cfg.c:4433
+ #, gcc-internal-format
+ msgid "fallthru to exit from bb %d"
+ msgstr ""
+
+-#: tree-cfg.c:4431
++#: tree-cfg.c:4455
+ #, gcc-internal-format
+ msgid "nonlocal label "
+ msgstr ""
+
+-#: tree-cfg.c:4440 tree-cfg.c:4450 tree-cfg.c:4475
++#: tree-cfg.c:4464 tree-cfg.c:4474 tree-cfg.c:4499
+ #, gcc-internal-format
+ msgid "label "
+ msgstr ""
+
+-#: tree-cfg.c:4465
++#: tree-cfg.c:4489
+ #, gcc-internal-format
+ msgid "control flow in the middle of basic block %d"
+ msgstr ""
+
+-#: tree-cfg.c:4495
++#: tree-cfg.c:4519
+ #, gcc-internal-format
+ msgid "fallthru edge after a control statement in bb %d"
+ msgstr ""
+
+-#: tree-cfg.c:4508
++#: tree-cfg.c:4532
+ #, gcc-internal-format
+ msgid "true/false edge after a non-COND_EXPR in bb %d"
+ msgstr ""
+
+-#: tree-cfg.c:4524
++#: tree-cfg.c:4548
+ #, gcc-internal-format
+ msgid "COND_EXPR with code in branches at the end of bb %d"
+ msgstr ""
+
+-#: tree-cfg.c:4538 tree-cfg.c:4560 tree-cfg.c:4573 tree-cfg.c:4644
++#: tree-cfg.c:4562 tree-cfg.c:4584 tree-cfg.c:4597 tree-cfg.c:4668
+ #, gcc-internal-format
+ msgid "wrong outgoing edge flags at end of bb %d"
+ msgstr ""
+
+-#: tree-cfg.c:4548
++#: tree-cfg.c:4572
+ #, gcc-internal-format
+ msgid "explicit goto at end of bb %d"
+ msgstr ""
+
+-#: tree-cfg.c:4578
++#: tree-cfg.c:4602
+ #, gcc-internal-format
+ msgid "return edge does not point to exit in bb %d"
+ msgstr ""
+
+-#: tree-cfg.c:4611
++#: tree-cfg.c:4635
+ #, gcc-internal-format
+ msgid "found default case not at end of case vector"
+ msgstr ""
+
+-#: tree-cfg.c:4617
++#: tree-cfg.c:4641
+ #, fuzzy, gcc-internal-format
+ msgid "case labels not sorted: "
+ msgstr "%s не падтрымлівае %s"
+
+-#: tree-cfg.c:4628
++#: tree-cfg.c:4652
+ #, gcc-internal-format
+ msgid "no default case found at end of case vector"
+ msgstr ""
+
+-#: tree-cfg.c:4636
++#: tree-cfg.c:4660
+ #, gcc-internal-format
+ msgid "extra outgoing edge %d->%d"
+ msgstr ""
+
+-#: tree-cfg.c:4658
++#: tree-cfg.c:4682
+ #, fuzzy, gcc-internal-format
+ msgid "missing edge %i->%i"
+ msgstr "прапушчана поле '%s' у '%s'"
+
+-#: tree-cfg.c:6941 tree-cfg.c:6945
++#: tree-cfg.c:7025 tree-cfg.c:7029
+ #, gcc-internal-format
+ msgid "%H%<noreturn%> function does return"
+ msgstr ""
+
+-#: tree-cfg.c:6967 tree-cfg.c:6972
++#: tree-cfg.c:7051 tree-cfg.c:7056
+ #, gcc-internal-format
+ msgid "%Hcontrol reaches end of non-void function"
+ msgstr ""
+
+-#: tree-cfg.c:7033
++#: tree-cfg.c:7117
+ #, gcc-internal-format
+ msgid "%Jfunction might be possible candidate for attribute %<noreturn%>"
+ msgstr ""
+
+-#: tree-dump.c:933
++#: tree-dump.c:932
+ #, fuzzy, gcc-internal-format
+ msgid "could not open dump file %qs: %s"
+ msgstr "Ðемагчыма адчыніць файл з дадзенымі %s.\n"
+
+-#: tree-dump.c:1068
++#: tree-dump.c:1067
+ #, gcc-internal-format
+ msgid "ignoring unknown option %q.*s in %<-fdump-%s%>"
+ msgstr ""
+
+-#: tree-eh.c:1788
++#: tree-eh.c:1805
+ #, fuzzy, gcc-internal-format
+ msgid "EH edge %i->%i is missing"
+ msgstr "аргумент Ð´Ð»Ñ \"-%s\" прапушчан"
+
+-#: tree-eh.c:1793
++#: tree-eh.c:1810
+ #, gcc-internal-format
+ msgid "EH edge %i->%i miss EH flag"
+ msgstr ""
+
+ #. ??? might not be mistake.
+-#: tree-eh.c:1799
++#: tree-eh.c:1816
+ #, gcc-internal-format
+ msgid "EH edge %i->%i has duplicated regions"
+ msgstr ""
+
+-#: tree-eh.c:1833
++#: tree-eh.c:1850
+ #, gcc-internal-format
+ msgid "BB %i can not throw but has EH edges"
+ msgstr ""
+
+-#: tree-eh.c:1840
++#: tree-eh.c:1857
+ #, gcc-internal-format
+ msgid "BB %i last statement has incorrectly set region"
+ msgstr ""
+
+-#: tree-eh.c:1851
++#: tree-eh.c:1868
+ #, gcc-internal-format
+ msgid "unnecessary EH edge %i->%i"
+ msgstr ""
+
+-#: tree-inline.c:1830
++#: tree-inline.c:1880
+ #, gcc-internal-format
+ msgid "function %q+F can never be inlined because it uses alloca (override using the always_inline attribute)"
+ msgstr ""
+
+-#: tree-inline.c:1842
++#: tree-inline.c:1892
+ #, gcc-internal-format
+ msgid "function %q+F can never be inlined because it uses setjmp"
+ msgstr ""
+
+-#: tree-inline.c:1856
++#: tree-inline.c:1906
+ #, gcc-internal-format
+ msgid "function %q+F can never be inlined because it uses variable argument lists"
+ msgstr ""
+
+-#: tree-inline.c:1867
++#: tree-inline.c:1917
+ #, gcc-internal-format
+ msgid "function %q+F can never be inlined because it uses setjmp-longjmp exception handling"
+ msgstr ""
+
+-#: tree-inline.c:1874
++#: tree-inline.c:1924
+ #, gcc-internal-format
+ msgid "function %q+F can never be inlined because it uses non-local goto"
+ msgstr ""
+
+-#: tree-inline.c:1885
++#: tree-inline.c:1935
+ #, gcc-internal-format
+ msgid "function %q+F can never be inlined because it uses __builtin_return or __builtin_apply_args"
+ msgstr ""
+
+-#: tree-inline.c:1904
++#: tree-inline.c:1954
+ #, gcc-internal-format
+ msgid "function %q+F can never be inlined because it contains a computed goto"
+ msgstr ""
+
+-#: tree-inline.c:1918
++#: tree-inline.c:1968
+ #, gcc-internal-format
+ msgid "function %q+F can never be inlined because it receives a non-local goto"
+ msgstr ""
+
+-#: tree-inline.c:1943
++#: tree-inline.c:1993
+ #, gcc-internal-format
+ msgid "function %q+F can never be inlined because it uses variable sized variables"
+ msgstr ""
+
+-#: tree-inline.c:2005
++#: tree-inline.c:2015
+ #, gcc-internal-format
++msgid "function %q+F can never be inlined because it saves address of local label in a static variable"
++msgstr ""
++
++#: tree-inline.c:2091
++#, gcc-internal-format
+ msgid "function %q+F can never be inlined because it is suppressed using -fno-inline"
+ msgstr ""
+
+-#: tree-inline.c:2019
++#: tree-inline.c:2105
+ #, gcc-internal-format
+ msgid "function %q+F can never be inlined because it uses attributes conflicting with inlining"
+ msgstr ""
+
+-#: tree-inline.c:2588 tree-inline.c:2598
++#: tree-inline.c:2674 tree-inline.c:2684
+ #, gcc-internal-format
+ msgid "inlining failed in call to %q+F: %s"
+ msgstr ""
+
+-#: tree-inline.c:2589 tree-inline.c:2600
++#: tree-inline.c:2675 tree-inline.c:2686
+ #, gcc-internal-format
+ msgid "called from here"
+ msgstr "выклікана адÑюль"
+
+-#: tree-mudflap.c:860
++#: tree-mudflap.c:864
+ #, gcc-internal-format
+ msgid "mudflap checking not yet implemented for ARRAY_RANGE_REF"
+ msgstr ""
+
+-#: tree-mudflap.c:1044
++#: tree-mudflap.c:1050
+ #, gcc-internal-format
+ msgid "mudflap cannot track %qs in stub function"
+ msgstr ""
+
+-#: tree-mudflap.c:1272
++#: tree-mudflap.c:1279
+ #, gcc-internal-format
+ msgid "mudflap cannot track unknown size extern %qs"
+ msgstr ""
+@@ -23760,33 +23755,33 @@
+ msgid "size of return value of %q+D is larger than %wd bytes"
+ msgstr "памер вÑртаемага значÑÐ½Ð½Ñ \"%s\" больш чым %d байт"
+
+-#: tree-outof-ssa.c:637 tree-outof-ssa.c:688 tree-ssa-coalesce.c:936
+-#: tree-ssa-coalesce.c:951 tree-ssa-coalesce.c:1163 tree-ssa-live.c:1043
++#: tree-outof-ssa.c:638 tree-outof-ssa.c:689 tree-ssa-coalesce.c:936
++#: tree-ssa-coalesce.c:951 tree-ssa-coalesce.c:1163 tree-ssa-live.c:1053
+ #, gcc-internal-format
+ msgid "SSA corruption"
+ msgstr ""
+
+-#: tree-outof-ssa.c:1105
++#: tree-outof-ssa.c:1263
+ #, gcc-internal-format
+ msgid " Pending stmts not issued on PRED edge (%d, %d)\n"
+ msgstr ""
+
+-#: tree-outof-ssa.c:1111
++#: tree-outof-ssa.c:1269
+ #, gcc-internal-format
+ msgid " Pending stmts not issued on SUCC edge (%d, %d)\n"
+ msgstr ""
+
+-#: tree-outof-ssa.c:1118
++#: tree-outof-ssa.c:1276
+ #, gcc-internal-format
+ msgid " Pending stmts not issued on ENTRY edge (%d, %d)\n"
+ msgstr ""
+
+-#: tree-outof-ssa.c:1124
++#: tree-outof-ssa.c:1282
+ #, gcc-internal-format
+ msgid " Pending stmts not issued on EXIT edge (%d, %d)\n"
+ msgstr ""
+
+-#: tree-profile.c:351
++#: tree-profile.c:356
+ #, fuzzy, gcc-internal-format
+ msgid "unimplemented functionality"
+ msgstr "вельмі шмат аргументаў у функцыі"
+@@ -23976,154 +23971,159 @@
+ msgid "verify_ssa failed"
+ msgstr ""
+
+-#: tree-ssa.c:1284
++#: tree-ssa.c:1293
+ #, fuzzy, gcc-internal-format
+ msgid "%J%qD was declared here"
+ msgstr "\"%s\" не абвешчан (першае выкарыÑтанне Ñž гÑтай функцыі)"
+
+ #. We only do data flow with SSA_NAMEs, so that's all we
+ #. can warn about.
+-#: tree-ssa.c:1302
++#: tree-ssa.c:1311
+ #, fuzzy, gcc-internal-format
+ msgid "%H%qD is used uninitialized in this function"
+ msgstr "\"%s\" не абвешчан (першае выкарыÑтанне Ñž гÑтай функцыі)"
+
+-#: tree-ssa.c:1340
++#: tree-ssa.c:1349
+ #, gcc-internal-format
+ msgid "%H%qD may be used uninitialized in this function"
+ msgstr ""
+
+-#: tree-vrp.c:4374
++#: tree-vrp.c:4384
+ #, gcc-internal-format
+ msgid "%Harray subscript is outside array bounds"
+ msgstr ""
+
+-#: tree-vrp.c:4388
++#: tree-vrp.c:4398
+ #, gcc-internal-format
+ msgid "%Harray subscript is above array bounds"
+ msgstr ""
+
+-#: tree-vrp.c:4395
++#: tree-vrp.c:4405
+ #, gcc-internal-format
+ msgid "%Harray subscript is below array bounds"
+ msgstr ""
+
+-#: tree-vrp.c:5042
++#: tree-vrp.c:5058
+ #, gcc-internal-format
+ msgid "assuming signed overflow does not occur when simplifying conditional to constant"
+ msgstr ""
+
+-#: tree-vrp.c:5048
++#: tree-vrp.c:5064
+ #, gcc-internal-format
+ msgid "assuming signed overflow does not occur when simplifying conditional"
+ msgstr ""
+
+-#: tree.c:3951
++#: tree.c:3682
+ #, gcc-internal-format
++msgid "ignoring attributes applied to %qT after definition"
++msgstr ""
++
++#: tree.c:3966
++#, gcc-internal-format
+ msgid "%q+D already declared with dllexport attribute: dllimport ignored"
+ msgstr ""
+
+-#: tree.c:3963
++#: tree.c:3978
+ #, gcc-internal-format
+ msgid "%q+D redeclared without dllimport attribute after being referenced with dll linkage"
+ msgstr ""
+
+-#: tree.c:3979
++#: tree.c:3994
+ #, gcc-internal-format
+ msgid "%q+D redeclared without dllimport attribute: previous dllimport ignored"
+ msgstr ""
+
+-#: tree.c:4038 tree.c:4050 config/darwin.c:1458 config/arm/arm.c:3099
+-#: config/arm/arm.c:3127 config/avr/avr.c:4598 config/h8300/h8300.c:5281
+-#: config/h8300/h8300.c:5305 config/i386/i386.c:3056 config/i386/i386.c:22515
++#: tree.c:4053 tree.c:4065 config/darwin.c:1460 config/arm/arm.c:3099
++#: config/arm/arm.c:3127 config/avr/avr.c:4638 config/h8300/h8300.c:5281
++#: config/h8300/h8300.c:5305 config/i386/i386.c:3087 config/i386/i386.c:22599
+ #: config/ia64/ia64.c:586 config/m68hc11/m68hc11.c:1118
+-#: config/rs6000/rs6000.c:19657 config/sh/symbian.c:408
++#: config/rs6000/rs6000.c:19874 config/sh/symbian.c:408
+ #: config/sh/symbian.c:415
+ #, fuzzy, gcc-internal-format
+ msgid "%qs attribute ignored"
+ msgstr "\"%s\" атрыбут ігнарыруецца"
+
+-#: tree.c:4066
++#: tree.c:4081
+ #, gcc-internal-format
+ msgid "inline function %q+D declared as dllimport: attribute ignored"
+ msgstr ""
+
+-#: tree.c:4074
++#: tree.c:4089
+ #, gcc-internal-format
+ msgid "function %q+D definition is marked dllimport"
+ msgstr ""
+
+-#: tree.c:4082 config/sh/symbian.c:430
++#: tree.c:4097 config/sh/symbian.c:430
+ #, gcc-internal-format
+ msgid "variable %q+D definition is marked dllimport"
+ msgstr ""
+
+-#: tree.c:4105 config/sh/symbian.c:505
++#: tree.c:4120 config/sh/symbian.c:505
+ #, gcc-internal-format
+ msgid "external linkage required for symbol %q+D because of %qs attribute"
+ msgstr ""
+
+-#: tree.c:4119
++#: tree.c:4134
+ #, gcc-internal-format
+ msgid "%qs implies default visibility, but %qD has already been declared with a different visibility"
+ msgstr ""
+
+-#: tree.c:5632
++#: tree.c:5648
+ #, gcc-internal-format
+ msgid "arrays of functions are not meaningful"
+ msgstr ""
+
+-#: tree.c:5785
++#: tree.c:5801
+ #, gcc-internal-format
+ msgid "function return type cannot be function"
+ msgstr ""
+
+-#: tree.c:6802 tree.c:6887 tree.c:6948
++#: tree.c:6818 tree.c:6903 tree.c:6964
+ #, gcc-internal-format
+ msgid "tree check: %s, have %s in %s, at %s:%d"
+ msgstr ""
+
+-#: tree.c:6839
++#: tree.c:6855
+ #, gcc-internal-format
+ msgid "tree check: expected none of %s, have %s in %s, at %s:%d"
+ msgstr ""
+
+-#: tree.c:6852
++#: tree.c:6868
+ #, gcc-internal-format
+ msgid "tree check: expected class %qs, have %qs (%s) in %s, at %s:%d"
+ msgstr ""
+
+-#: tree.c:6901
++#: tree.c:6917
+ #, gcc-internal-format
+ msgid "tree check: did not expect class %qs, have %qs (%s) in %s, at %s:%d"
+ msgstr ""
+
+-#: tree.c:6914
++#: tree.c:6930
+ #, gcc-internal-format
+ msgid "tree check: expected omp_clause %s, have %s in %s, at %s:%d"
+ msgstr ""
+
+-#: tree.c:6974
++#: tree.c:6990
+ #, gcc-internal-format
+ msgid "tree check: expected tree that contains %qs structure, have %qs in %s, at %s:%d"
+ msgstr ""
+
+-#: tree.c:6988
++#: tree.c:7004
+ #, gcc-internal-format
+ msgid "tree check: accessed elt %d of tree_vec with %d elts in %s, at %s:%d"
+ msgstr ""
+
+-#: tree.c:7000
++#: tree.c:7016
+ #, gcc-internal-format
+ msgid "tree check: accessed elt %d of phi_node with %d elts in %s, at %s:%d"
+ msgstr ""
+
+-#: tree.c:7013
++#: tree.c:7029
+ #, gcc-internal-format
+ msgid "tree check: accessed operand %d of %s with %d operands in %s, at %s:%d"
+ msgstr ""
+
+-#: tree.c:7026
++#: tree.c:7042
+ #, gcc-internal-format
+ msgid "tree check: accessed operand %d of omp_clause %s with %d operands in %s, at %s:%d"
+ msgstr ""
+@@ -24375,17 +24375,17 @@
+ msgid "Unknown value %qs of -mmacosx-version-min"
+ msgstr ""
+
+-#: config/darwin.c:1431
++#: config/darwin.c:1433
+ #, gcc-internal-format
+ msgid "%<%s%> 2.95 vtable-compatibility attribute applies only when compiling a kext"
+ msgstr ""
+
+-#: config/darwin.c:1438
++#: config/darwin.c:1440
+ #, gcc-internal-format
+ msgid "%<%s%> 2.95 vtable-compatibility attribute applies only to C++ classes"
+ msgstr ""
+
+-#: config/darwin.c:1563
++#: config/darwin.c:1565
+ #, gcc-internal-format
+ msgid "internal and protected visibility attributes not supported in this configuration; ignored"
+ msgstr ""
+@@ -24481,7 +24481,7 @@
+ msgid "profiler support for WindISS"
+ msgstr ""
+
+-#: config/alpha/alpha.c:232 config/rs6000/rs6000.c:1990
++#: config/alpha/alpha.c:232 config/rs6000/rs6000.c:2020
+ #, gcc-internal-format
+ msgid "bad value %qs for -mtls-size switch"
+ msgstr ""
+@@ -24556,18 +24556,18 @@
+ msgid "bad value %qs for -mmemory-latency"
+ msgstr ""
+
+-#: config/alpha/alpha.c:6514 config/alpha/alpha.c:6517 config/s390/s390.c:8279
+-#: config/s390/s390.c:8282
++#: config/alpha/alpha.c:6522 config/alpha/alpha.c:6525 config/s390/s390.c:8335
++#: config/s390/s390.c:8338
+ #, gcc-internal-format
+ msgid "bad builtin fcode"
+ msgstr ""
+
+-#: config/arc/arc.c:388
++#: config/arc/arc.c:392
+ #, fuzzy, gcc-internal-format
+ msgid "argument of %qs attribute is not a string constant"
+ msgstr "аргумент `__builtin_args_info' павінен быць канÑтантай"
+
+-#: config/arc/arc.c:396
++#: config/arc/arc.c:400
+ #, fuzzy, gcc-internal-format
+ msgid "argument of %qs attribute is not \"ilink1\" or \"ilink2\""
+ msgstr "аргумент `__builtin_args_info' павінен быць канÑтантай"
+@@ -24577,7 +24577,7 @@
+ msgid "switch -mcpu=%s conflicts with -march= switch"
+ msgstr ""
+
+-#: config/arm/arm.c:1060 config/rs6000/rs6000.c:1504 config/sparc/sparc.c:761
++#: config/arm/arm.c:1060 config/rs6000/rs6000.c:1522 config/sparc/sparc.c:764
+ #, gcc-internal-format
+ msgid "bad value (%s) for %s switch"
+ msgstr ""
+@@ -24717,14 +24717,13 @@
+ msgid "unable to use '%s' for PIC register"
+ msgstr ""
+
+-#: config/arm/arm.c:3067 config/arm/arm.c:3085 config/avr/avr.c:4618
+-#: config/avr/avr.c:4660 config/bfin/bfin.c:4778 config/c4x/c4x.c:4071
+-#: config/h8300/h8300.c:5257 config/i386/i386.c:3009
+-#: config/m68hc11/m68hc11.c:1155 config/m68k/m68k.c:741
+-#: config/mcore/mcore.c:3032 config/mips/mips.c:1151 config/mips/mips.c:1153
+-#: config/mt/mt.c:1275 config/rs6000/rs6000.c:19583 config/sh/sh.c:7984
+-#: config/sh/sh.c:8005 config/sh/sh.c:8028 config/stormy16/stormy16.c:2252
+-#: config/v850/v850.c:2048
++#: config/arm/arm.c:3067 config/arm/arm.c:3085 config/avr/avr.c:4658
++#: config/avr/avr.c:4700 config/bfin/bfin.c:4881 config/h8300/h8300.c:5257
++#: config/i386/i386.c:3040 config/m68hc11/m68hc11.c:1155
++#: config/m68k/m68k.c:741 config/mcore/mcore.c:3032 config/mips/mips.c:1151
++#: config/mips/mips.c:1153 config/mt/mt.c:1275 config/rs6000/rs6000.c:19800
++#: config/sh/sh.c:7987 config/sh/sh.c:8008 config/sh/sh.c:8031
++#: config/stormy16/stormy16.c:2225 config/v850/v850.c:2048
+ #, fuzzy, gcc-internal-format
+ msgid "%qs attribute only applies to functions"
+ msgstr "\"%s\" звычайна функцыÑ"
+@@ -24746,7 +24745,7 @@
+ msgstr ""
+
+ #. @@@ better error message
+-#: config/arm/arm.c:15839 config/i386/i386.c:20651 config/i386/i386.c:20685
++#: config/arm/arm.c:15839 config/i386/i386.c:20735 config/i386/i386.c:20769
+ #, gcc-internal-format
+ msgid "mask must be an immediate"
+ msgstr ""
+@@ -24771,222 +24770,187 @@
+ msgid "static variable %q+D is marked dllimport"
+ msgstr ""
+
+-#: config/avr/avr.c:690
++#: config/avr/avr.c:718
+ #, gcc-internal-format
+ msgid "large frame pointer change (%d) with -mtiny-stack"
+ msgstr ""
+
+-#: config/avr/avr.c:4591
++#: config/avr/avr.c:4631
+ #, gcc-internal-format
+ msgid "only initialized variables can be placed into program memory area"
+ msgstr ""
+
+-#: config/avr/avr.c:4635
++#: config/avr/avr.c:4675
+ #, gcc-internal-format
+ msgid "%qs appears to be a misspelled interrupt handler"
+ msgstr ""
+
+-#: config/avr/avr.c:4643
++#: config/avr/avr.c:4683
+ #, gcc-internal-format
+ msgid "%qs appears to be a misspelled signal handler"
+ msgstr ""
+
+-#: config/avr/avr.c:4751
++#: config/avr/avr.c:4791
+ #, gcc-internal-format
+ msgid "only uninitialized variables can be placed in the .noinit section"
+ msgstr ""
+
+-#: config/avr/avr.c:4765
++#: config/avr/avr.c:4805
+ #, gcc-internal-format
+ msgid "MCU %qs supported for assembler only"
+ msgstr ""
+
+-#: config/avr/avr.h:692
++#: config/avr/avr.h:731
+ #, gcc-internal-format
+ msgid "trampolines not supported"
+ msgstr ""
+
+-#: config/bfin/bfin.c:2259 config/m68k/m68k.c:488
++#: config/bfin/bfin.c:2352 config/m68k/m68k.c:488
+ #, gcc-internal-format
+ msgid "-mshared-library-id=%s is not between 0 and %d"
+ msgstr ""
+
+-#: config/bfin/bfin.c:2279
++#: config/bfin/bfin.c:2372
+ #, gcc-internal-format
+ msgid "-mcpu=%s is not valid"
+ msgstr ""
+
+-#: config/bfin/bfin.c:2315
++#: config/bfin/bfin.c:2410
+ #, gcc-internal-format
+ msgid "-mcpu=%s has invalid silicon revision"
+ msgstr ""
+
+-#: config/bfin/bfin.c:2332
++#: config/bfin/bfin.c:2427
+ #, gcc-internal-format
+ msgid "bf561 support is incomplete yet."
+ msgstr ""
+
+-#: config/bfin/bfin.c:2372
++#: config/bfin/bfin.c:2470
+ #, gcc-internal-format
+ msgid "-mshared-library-id= specified without -mid-shared-library"
+ msgstr ""
+
+-#: config/bfin/bfin.c:2378
++#: config/bfin/bfin.c:2473
+ #, fuzzy, gcc-internal-format
+ msgid "Can't use multiple stack checking methods together."
+ msgstr "Уключаць код правÑркі ÑÑ‚Ñку Ñž праграму"
+
+-#: config/bfin/bfin.c:2381
++#: config/bfin/bfin.c:2476
+ #, gcc-internal-format
+ msgid "ID shared libraries and FD-PIC mode can't be used together."
+ msgstr ""
+
+-#: config/bfin/bfin.c:2386 config/m68k/m68k.c:582
++#: config/bfin/bfin.c:2481 config/m68k/m68k.c:582
+ #, gcc-internal-format
+ msgid "cannot specify both -msep-data and -mid-shared-library"
+ msgstr ""
+
+-#: config/bfin/bfin.c:4783
++#: config/bfin/bfin.c:4886
+ #, gcc-internal-format
+ msgid "multiple function type attributes specified"
+ msgstr ""
+
+-#: config/bfin/bfin.c:4839 config/bfin/bfin.c:4868 config/spu/spu.c:2976
++#: config/bfin/bfin.c:4942 config/bfin/bfin.c:4971 config/spu/spu.c:2965
+ #, fuzzy, gcc-internal-format
+ msgid "`%s' attribute only applies to functions"
+ msgstr "\"%s\" звычайна функцыÑ"
+
+-#: config/bfin/bfin.c:4850
++#: config/bfin/bfin.c:4953
+ #, gcc-internal-format
+ msgid "can't apply both longcall and shortcall attributes to the same function"
+ msgstr ""
+
+-#: config/bfin/bfin.c:4900
++#: config/bfin/bfin.c:5003
+ #, fuzzy, gcc-internal-format
+ msgid "`%s' attribute only applies to variables"
+ msgstr "\"%s\" атрыбут ігнарыруецца"
+
+-#: config/bfin/bfin.c:4907
++#: config/bfin/bfin.c:5010
+ #, fuzzy, gcc-internal-format
+ msgid "`%s' attribute cannot be specified for local variables"
+ msgstr "\"%s\" атрыбут ігнарыруецца"
+
+-#: config/c4x/c4x-c.c:68
+-#, gcc-internal-format
+-msgid "missing '(' after '#pragma %s' - ignored"
+-msgstr ""
+-
+-#: config/c4x/c4x-c.c:71
+-#, gcc-internal-format
+-msgid "missing function name in '#pragma %s' - ignored"
+-msgstr ""
+-
+-#: config/c4x/c4x-c.c:76
+-#, gcc-internal-format
+-msgid "malformed '#pragma %s' - ignored"
+-msgstr ""
+-
+-#: config/c4x/c4x-c.c:78
+-#, gcc-internal-format
+-msgid "missing section name in '#pragma %s' - ignored"
+-msgstr ""
+-
+-#: config/c4x/c4x-c.c:83
+-#, gcc-internal-format
+-msgid "missing ')' for '#pragma %s' - ignored"
+-msgstr ""
+-
+-#: config/c4x/c4x-c.c:86
+-#, gcc-internal-format
+-msgid "junk at end of '#pragma %s'"
+-msgstr ""
+-
+-#: config/c4x/c4x.c:859
+-#, gcc-internal-format
+-msgid "ISR %s requires %d words of local vars, max is 32767"
+-msgstr ""
+-
+ #. This function is for retrieving a part of an instruction name for
+ #. an operator, for immediate output. If that ever happens for
+ #. MULT, we need to apply TARGET_MUL_BUG in the caller. Make sure
+ #. we notice.
+-#: config/cris/cris.c:434
++#: config/cris/cris.c:447
+ #, gcc-internal-format
+ msgid "MULT case in cris_op_str"
+ msgstr ""
+
+-#: config/cris/cris.c:811
++#: config/cris/cris.c:837
+ #, fuzzy, gcc-internal-format
+ msgid "invalid use of ':' modifier"
+ msgstr "нерÑчаіÑнае выкарыÑтаньне `::'"
+
+-#: config/cris/cris.c:983
++#: config/cris/cris.c:1024
+ #, gcc-internal-format
+ msgid "internal error: bad register: %d"
+ msgstr "ÑƒÐ½ÑƒÑ‚Ñ€Ð°Ð½Ð°Ñ Ð¿Ð°Ð¼Ñ‹Ð»ÐºÐ°: дрÑнны Ñ€ÑгіÑÑ‚Ñ€: %d"
+
+-#: config/cris/cris.c:1524
++#: config/cris/cris.c:1586
+ #, gcc-internal-format
+ msgid "internal error: sideeffect-insn affecting main effect"
+ msgstr ""
+
+-#: config/cris/cris.c:1548
++#: config/cris/cris.c:1683
+ #, gcc-internal-format
+ msgid "unknown cc_attr value"
+ msgstr ""
+
+ #. If we get here, the caller got its initial tests wrong.
+-#: config/cris/cris.c:1901
++#: config/cris/cris.c:2040
+ #, gcc-internal-format
+ msgid "internal error: cris_side_effect_mode_ok with bad operands"
+ msgstr ""
+
+-#: config/cris/cris.c:2104
++#: config/cris/cris.c:2332
+ #, gcc-internal-format
+ msgid "-max-stackframe=%d is not usable, not between 0 and %d"
+ msgstr ""
+
+-#: config/cris/cris.c:2132
++#: config/cris/cris.c:2360
+ #, gcc-internal-format
+ msgid "unknown CRIS version specification in -march= or -mcpu= : %s"
+ msgstr ""
+
+-#: config/cris/cris.c:2168
++#: config/cris/cris.c:2396
+ #, gcc-internal-format
+ msgid "unknown CRIS cpu version specification in -mtune= : %s"
+ msgstr ""
+
+-#: config/cris/cris.c:2186
++#: config/cris/cris.c:2417
+ #, gcc-internal-format
+ msgid "-fPIC and -fpic are not supported in this configuration"
+ msgstr ""
+
+-#: config/cris/cris.c:2201
++#: config/cris/cris.c:2432
+ #, gcc-internal-format
+ msgid "that particular -g option is invalid with -maout and -melinux"
+ msgstr ""
+
+-#: config/cris/cris.c:2414
++#: config/cris/cris.c:2658
+ #, gcc-internal-format
+ msgid "Unknown src"
+ msgstr ""
+
+-#: config/cris/cris.c:2475
++#: config/cris/cris.c:2719
+ #, fuzzy, gcc-internal-format
+ msgid "Unknown dest"
+ msgstr "невÑдомы Ñ€Ñжым машыны \"%s\""
+
+-#: config/cris/cris.c:2760
++#: config/cris/cris.c:3004
+ #, gcc-internal-format
+ msgid "stackframe too big: %d bytes"
+ msgstr ""
+
+-#: config/cris/cris.c:3213 config/cris/cris.c:3240
++#: config/cris/cris.c:3498 config/cris/cris.c:3526
+ #, gcc-internal-format
+ msgid "expand_binop failed in movsi got"
+ msgstr ""
+
+-#: config/cris/cris.c:3321
++#: config/cris/cris.c:3607
+ #, gcc-internal-format
+ msgid "emitting PIC operand, but PIC register isn't set up"
+ msgstr ""
+@@ -25040,7 +25004,7 @@
+ #. See cris.c for TARGET_ASM_FUNCTION_PROLOGUE and
+ #. TARGET_ASM_FUNCTION_EPILOGUE.
+ #. Node: Profiling
+-#: config/cris/cris.h:868
++#: config/cris/cris.h:948
+ #, gcc-internal-format
+ msgid "no FUNCTION_PROFILER for CRIS"
+ msgstr ""
+@@ -25055,62 +25019,62 @@
+ msgid "Trampoline support for CRX"
+ msgstr ""
+
+-#: config/frv/frv.c:8622
++#: config/frv/frv.c:8626
+ #, gcc-internal-format
+ msgid "accumulator is not a constant integer"
+ msgstr ""
+
+-#: config/frv/frv.c:8627
++#: config/frv/frv.c:8631
+ #, gcc-internal-format
+ msgid "accumulator number is out of bounds"
+ msgstr ""
+
+-#: config/frv/frv.c:8638
++#: config/frv/frv.c:8642
+ #, gcc-internal-format
+ msgid "inappropriate accumulator for %qs"
+ msgstr ""
+
+-#: config/frv/frv.c:8715
++#: config/frv/frv.c:8719
+ #, fuzzy, gcc-internal-format
+ msgid "invalid IACC argument"
+ msgstr "нерÑчаіÑнае значÑньне %%C"
+
+-#: config/frv/frv.c:8738
++#: config/frv/frv.c:8742
+ #, gcc-internal-format
+ msgid "%qs expects a constant argument"
+ msgstr ""
+
+-#: config/frv/frv.c:8743
++#: config/frv/frv.c:8747
+ #, gcc-internal-format
+ msgid "constant argument out of range for %qs"
+ msgstr ""
+
+-#: config/frv/frv.c:9224
++#: config/frv/frv.c:9228
+ #, gcc-internal-format
+ msgid "media functions are not available unless -mmedia is used"
+ msgstr ""
+
+-#: config/frv/frv.c:9236
++#: config/frv/frv.c:9240
+ #, gcc-internal-format
+ msgid "this media function is only available on the fr500"
+ msgstr ""
+
+-#: config/frv/frv.c:9264
++#: config/frv/frv.c:9268
+ #, gcc-internal-format
+ msgid "this media function is only available on the fr400 and fr550"
+ msgstr ""
+
+-#: config/frv/frv.c:9283
++#: config/frv/frv.c:9287
+ #, gcc-internal-format
+ msgid "this builtin function is only available on the fr405 and fr450"
+ msgstr ""
+
+-#: config/frv/frv.c:9292
++#: config/frv/frv.c:9296
+ #, gcc-internal-format
+ msgid "this builtin function is only available on the fr500 and fr550"
+ msgstr ""
+
+-#: config/frv/frv.c:9304
++#: config/frv/frv.c:9308
+ #, gcc-internal-format
+ msgid "this builtin function is only available on the fr450"
+ msgstr ""
+@@ -25135,311 +25099,316 @@
+ msgid "can't set position in PCH file: %m"
+ msgstr "немагчыма зачыніць уваходзÑчы файл %s"
+
+-#: config/i386/i386.c:2133 config/i386/i386.c:2333
++#: config/i386/i386.c:2158 config/i386/i386.c:2358
+ #, gcc-internal-format
+ msgid "bad value (%s) for -mtune= switch"
+ msgstr ""
+
+-#: config/i386/i386.c:2174
++#: config/i386/i386.c:2199
+ #, gcc-internal-format
+ msgid "bad value (%s) for -mstringop-strategy= switch"
+ msgstr ""
+
+-#: config/i386/i386.c:2177
++#: config/i386/i386.c:2202
+ #, gcc-internal-format
+ msgid "-mtune=x86-64 is deprecated. Use -mtune=k8 or -mtune=generic instead as appropriate."
+ msgstr ""
+
+-#: config/i386/i386.c:2186
++#: config/i386/i386.c:2211
+ #, gcc-internal-format
+ msgid "generic CPU can be used only for -mtune= switch"
+ msgstr ""
+
+-#: config/i386/i386.c:2188 config/i386/i386.c:2297 config/mt/mt.c:804
++#: config/i386/i386.c:2213 config/i386/i386.c:2322 config/mt/mt.c:804
+ #, gcc-internal-format
+ msgid "bad value (%s) for -march= switch"
+ msgstr ""
+
+-#: config/i386/i386.c:2199
++#: config/i386/i386.c:2224
+ #, fuzzy, gcc-internal-format
+ msgid "code model %s does not support PIC mode"
+ msgstr "%s не падтрымлівае %s"
+
+-#: config/i386/i386.c:2205 config/sparc/sparc.c:725
++#: config/i386/i386.c:2230 config/sparc/sparc.c:728
+ #, gcc-internal-format
+ msgid "bad value (%s) for -mcmodel= switch"
+ msgstr ""
+
+-#: config/i386/i386.c:2228
++#: config/i386/i386.c:2253
+ #, gcc-internal-format
+ msgid "bad value (%s) for -masm= switch"
+ msgstr ""
+
+-#: config/i386/i386.c:2231
++#: config/i386/i386.c:2256
+ #, fuzzy, gcc-internal-format
+ msgid "code model %qs not supported in the %s bit mode"
+ msgstr "__buitin_saveregs не падтрымліваецца гÑтай мÑтай"
+
+-#: config/i386/i386.c:2234
++#: config/i386/i386.c:2259
+ #, gcc-internal-format
+ msgid "%i-bit mode not compiled in"
+ msgstr ""
+
+-#: config/i386/i386.c:2245 config/i386/i386.c:2319
++#: config/i386/i386.c:2270 config/i386/i386.c:2344
+ #, fuzzy, gcc-internal-format
+ msgid "CPU you selected does not support x86-64 instruction set"
+ msgstr "ISO C не падтрымлівае комлекÑÐ½Ñ‹Ñ Ñ†ÑÐ»Ð°Ð»Ñ–ÐºÐ°Ð²Ñ‹Ñ Ñ‚Ñ‹Ð¿Ñ‹"
+
+-#: config/i386/i386.c:2351
++#: config/i386/i386.c:2376
+ #, gcc-internal-format
+ msgid "-mregparm is ignored in 64-bit mode"
+ msgstr ""
+
+-#: config/i386/i386.c:2354
++#: config/i386/i386.c:2379
+ #, gcc-internal-format
+ msgid "-mregparm=%d is not between 0 and %d"
+ msgstr ""
+
+-#: config/i386/i386.c:2366
++#: config/i386/i386.c:2391
+ #, gcc-internal-format
+ msgid "-malign-loops is obsolete, use -falign-loops"
+ msgstr ""
+
+-#: config/i386/i386.c:2371 config/i386/i386.c:2384 config/i386/i386.c:2397
++#: config/i386/i386.c:2396 config/i386/i386.c:2409 config/i386/i386.c:2422
+ #, gcc-internal-format
+ msgid "-malign-loops=%d is not between 0 and %d"
+ msgstr ""
+
+-#: config/i386/i386.c:2379
++#: config/i386/i386.c:2404
+ #, gcc-internal-format
+ msgid "-malign-jumps is obsolete, use -falign-jumps"
+ msgstr ""
+
+-#: config/i386/i386.c:2392
++#: config/i386/i386.c:2417
+ #, gcc-internal-format
+ msgid "-malign-functions is obsolete, use -falign-functions"
+ msgstr ""
+
+-#: config/i386/i386.c:2425
++#: config/i386/i386.c:2450
+ #, gcc-internal-format
+ msgid "-mbranch-cost=%d is not between 0 and 5"
+ msgstr ""
+
+-#: config/i386/i386.c:2433
++#: config/i386/i386.c:2458
+ #, gcc-internal-format
+ msgid "-mlarge-data-threshold=%d is negative"
+ msgstr ""
+
+-#: config/i386/i386.c:2447
++#: config/i386/i386.c:2472
+ #, gcc-internal-format
+ msgid "bad value (%s) for -mtls-dialect= switch"
+ msgstr ""
+
+-#: config/i386/i386.c:2455
++#: config/i386/i386.c:2480
+ #, gcc-internal-format
+ msgid "pc%d is not valid precision setting (32, 64 or 80)"
+ msgstr ""
+
+-#: config/i386/i386.c:2471
++#: config/i386/i386.c:2496
+ #, gcc-internal-format
+ msgid "-mrtd is ignored in 64bit mode"
+ msgstr ""
+
+-#: config/i386/i386.c:2560
++#: config/i386/i386.c:2585
+ #, gcc-internal-format
+ msgid "-mpreferred-stack-boundary=%d is not between %d and 12"
+ msgstr ""
+
+-#: config/i386/i386.c:2569
++#: config/i386/i386.c:2594
+ #, gcc-internal-format
+ msgid "-msseregparm used without SSE enabled"
+ msgstr ""
+
+-#: config/i386/i386.c:2580 config/i386/i386.c:2591
++#: config/i386/i386.c:2605 config/i386/i386.c:2616
+ #, gcc-internal-format
+ msgid "SSE instruction set disabled, using 387 arithmetics"
+ msgstr ""
+
+-#: config/i386/i386.c:2596
++#: config/i386/i386.c:2621
+ #, gcc-internal-format
+ msgid "387 instruction set disabled, using SSE arithmetics"
+ msgstr ""
+
+-#: config/i386/i386.c:2603
++#: config/i386/i386.c:2628
+ #, gcc-internal-format
+ msgid "bad value (%s) for -mfpmath= switch"
+ msgstr ""
+
+-#: config/i386/i386.c:2616
++#: config/i386/i386.c:2641
+ #, gcc-internal-format
+ msgid "unknown vectorization library ABI type (%s) for -mveclibabi= switch"
+ msgstr ""
+
+-#: config/i386/i386.c:2635
++#: config/i386/i386.c:2660
+ #, gcc-internal-format
+ msgid "unwind tables currently require either a frame pointer or -maccumulate-outgoing-args for correctness"
+ msgstr ""
+
+-#: config/i386/i386.c:3022 config/i386/i386.c:3075
++#: config/i386/i386.c:3053 config/i386/i386.c:3106
+ #, gcc-internal-format
+ msgid "fastcall and regparm attributes are not compatible"
+ msgstr ""
+
+-#: config/i386/i386.c:3029
++#: config/i386/i386.c:3060
+ #, gcc-internal-format
+ msgid "%qs attribute requires an integer constant argument"
+ msgstr ""
+
+-#: config/i386/i386.c:3035
++#: config/i386/i386.c:3066
+ #, fuzzy, gcc-internal-format
+ msgid "argument to %qs attribute larger than %d"
+ msgstr "памер \"%s\" больш чам %d байт"
+
+-#: config/i386/i386.c:3045
++#: config/i386/i386.c:3076
+ #, gcc-internal-format
+ msgid "%s functions limited to %d register parameters"
+ msgstr ""
+
+-#: config/i386/i386.c:3067 config/i386/i386.c:3102
++#: config/i386/i386.c:3098 config/i386/i386.c:3133
+ #, gcc-internal-format
+ msgid "fastcall and cdecl attributes are not compatible"
+ msgstr ""
+
+-#: config/i386/i386.c:3071
++#: config/i386/i386.c:3102
+ #, gcc-internal-format
+ msgid "fastcall and stdcall attributes are not compatible"
+ msgstr ""
+
+-#: config/i386/i386.c:3085 config/i386/i386.c:3098
++#: config/i386/i386.c:3116 config/i386/i386.c:3129
+ #, gcc-internal-format
+ msgid "stdcall and cdecl attributes are not compatible"
+ msgstr ""
+
+-#: config/i386/i386.c:3089
++#: config/i386/i386.c:3120
+ #, gcc-internal-format
+ msgid "stdcall and fastcall attributes are not compatible"
+ msgstr ""
+
+-#: config/i386/i386.c:3236
++#: config/i386/i386.c:3271
+ #, gcc-internal-format
+ msgid "Calling %qD with attribute sseregparm without SSE/SSE2 enabled"
+ msgstr ""
+
+-#: config/i386/i386.c:3239
++#: config/i386/i386.c:3274
+ #, gcc-internal-format
+ msgid "Calling %qT with attribute sseregparm without SSE/SSE2 enabled"
+ msgstr ""
+
+-#: config/i386/i386.c:3925
++#: config/i386/i386.c:3971
+ #, gcc-internal-format
+ msgid "SSE register return with SSE disabled"
+ msgstr ""
+
+-#: config/i386/i386.c:3931
++#: config/i386/i386.c:3977
+ #, gcc-internal-format
+ msgid "SSE register argument with SSE disabled"
+ msgstr ""
+
+-#: config/i386/i386.c:3947
++#: config/i386/i386.c:3993
+ #, gcc-internal-format
+ msgid "x87 register return with x87 disabled"
+ msgstr ""
+
+-#: config/i386/i386.c:4265
++#: config/i386/i386.c:4314
+ #, gcc-internal-format
+ msgid "SSE vector argument without SSE enabled changes the ABI"
+ msgstr ""
+
+-#: config/i386/i386.c:4283
++#: config/i386/i386.c:4332
+ #, gcc-internal-format
+ msgid "MMX vector argument without MMX enabled changes the ABI"
+ msgstr ""
+
+-#: config/i386/i386.c:4810
++#: config/i386/i386.c:4859
+ #, gcc-internal-format
+ msgid "SSE vector return without SSE enabled changes the ABI"
+ msgstr ""
+
+-#: config/i386/i386.c:4820
++#: config/i386/i386.c:4869
+ #, gcc-internal-format
+ msgid "MMX vector return without MMX enabled changes the ABI"
+ msgstr ""
+
+-#: config/i386/i386.c:6171
++#: config/i386/i386.c:6220
+ #, gcc-internal-format
+ msgid "-mstackrealign ignored for nested functions"
+ msgstr ""
+
+-#: config/i386/i386.c:6173
++#: config/i386/i386.c:6222
+ #, fuzzy, gcc-internal-format
+ msgid "%s not supported for nested functions"
+ msgstr "-pipe не падтрымліваецца"
+
+-#: config/i386/i386.c:8576
++#: config/i386/i386.c:8631
+ #, gcc-internal-format
+ msgid "extended registers have no high halves"
+ msgstr ""
+
+-#: config/i386/i386.c:8591
++#: config/i386/i386.c:8646
+ #, gcc-internal-format
+ msgid "unsupported operand size for extended register"
+ msgstr ""
+
+-#: config/i386/i386.c:19610
++#: config/i386/i386.c:19694
+ #, fuzzy, gcc-internal-format
+ msgid "the third argument must be a 4-bit immediate"
+ msgstr "першым аргументам \"%s\" павінен быць \"int\""
+
+-#: config/i386/i386.c:19614
++#: config/i386/i386.c:19698
+ #, fuzzy, gcc-internal-format
+ msgid "the third argument must be an 8-bit immediate"
+ msgstr "першым аргументам \"%s\" павінен быць \"int\""
+
+-#: config/i386/i386.c:19836
++#: config/i386/i386.c:19920
+ #, fuzzy, gcc-internal-format
+ msgid "last argument must be an immediate"
+ msgstr "першым аргументам \"%s\" павінен быць \"int\""
+
+-#: config/i386/i386.c:19963
++#: config/i386/i386.c:20047
+ #, fuzzy, gcc-internal-format
+ msgid "the second argument must be a 4-bit immediate"
+ msgstr "першым аргументам \"%s\" павінен быць \"int\""
+
+-#: config/i386/i386.c:20209
++#: config/i386/i386.c:20293
+ #, fuzzy, gcc-internal-format
+ msgid "the fifth argument must be a 8-bit immediate"
+ msgstr "першым аргументам \"%s\" павінен быць \"int\""
+
+-#: config/i386/i386.c:20304
++#: config/i386/i386.c:20388
+ #, fuzzy, gcc-internal-format
+ msgid "the third argument must be a 8-bit immediate"
+ msgstr "першым аргументам \"%s\" павінен быць \"int\""
+
+-#: config/i386/i386.c:20374 config/rs6000/rs6000.c:8133
++#: config/i386/i386.c:20458 config/rs6000/rs6000.c:8240
+ #, gcc-internal-format
+ msgid "selector must be an integer constant in the range 0..%wi"
+ msgstr ""
+
+-#: config/i386/i386.c:20774 config/i386/i386.c:20970
++#: config/i386/i386.c:20858 config/i386/i386.c:21054
+ #, gcc-internal-format
+ msgid "shift must be an immediate"
+ msgstr ""
+
+-#: config/i386/i386.c:21033 config/i386/i386.c:21075
++#: config/i386/i386.c:21117 config/i386/i386.c:21159
+ #, gcc-internal-format
+ msgid "index mask must be an immediate"
+ msgstr ""
+
+-#: config/i386/i386.c:21038 config/i386/i386.c:21080
++#: config/i386/i386.c:21122 config/i386/i386.c:21164
+ #, gcc-internal-format
+ msgid "length mask must be an immediate"
+ msgstr ""
+
+-#: config/i386/i386.c:22525 config/rs6000/rs6000.c:19666
++#: config/i386/i386.c:22609 config/rs6000/rs6000.c:19883
+ #, fuzzy, gcc-internal-format
+ msgid "%qs incompatible attribute ignored"
+ msgstr "\"%s\" атрыбут ігнарыруецца"
+
++#: config/i386/netware.c:253
++#, fuzzy, gcc-internal-format
++msgid "-fPIC and -fpic are not supported for this target"
++msgstr "атрыбуты Ñекцыі не падтрымліваюцца Ð´Ð»Ñ Ð³Ñтай мÑÑ‚Ñ‹"
++
+ #: config/i386/winnt-cxx.c:71 config/sh/symbian.c:172
+ #, gcc-internal-format
+ msgid "definition of static data member %q+D of dllimport'd class"
+@@ -25505,57 +25474,57 @@
+ msgid "%Jaddress area attribute cannot be specified for functions"
+ msgstr "\"%s\" звычайна функцыÑ"
+
+-#: config/ia64/ia64.c:5126 config/pa/pa.c:347 config/spu/spu.c:3875
++#: config/ia64/ia64.c:5127 config/pa/pa.c:350 config/spu/spu.c:3864
+ #, gcc-internal-format
+ msgid "value of -mfixed-range must have form REG1-REG2"
+ msgstr ""
+
+-#: config/ia64/ia64.c:5153 config/pa/pa.c:374 config/spu/spu.c:3901
++#: config/ia64/ia64.c:5154 config/pa/pa.c:377 config/spu/spu.c:3890
+ #, gcc-internal-format
+ msgid "%s-%s is an empty range"
+ msgstr ""
+
+-#: config/ia64/ia64.c:5181
++#: config/ia64/ia64.c:5182
+ #, gcc-internal-format
+ msgid "bad value %<%s%> for -mtls-size= switch"
+ msgstr ""
+
+-#: config/ia64/ia64.c:5209
++#: config/ia64/ia64.c:5210
+ #, gcc-internal-format
+ msgid "bad value %<%s%> for -mtune= switch"
+ msgstr ""
+
+-#: config/ia64/ia64.c:5228
++#: config/ia64/ia64.c:5229
+ #, gcc-internal-format
+ msgid "not yet implemented: latency-optimized inline square root"
+ msgstr ""
+
+-#: config/ia64/ia64.c:9950
++#: config/ia64/ia64.c:9951
+ #, fuzzy, gcc-internal-format
+ msgid "version attribute is not a string"
+ msgstr "аргумент `__builtin_args_info' павінен быць канÑтантай"
+
+-#: config/iq2000/iq2000.c:1812
++#: config/iq2000/iq2000.c:1816
+ #, gcc-internal-format
+ msgid "gp_offset (%ld) or end_offset (%ld) is less than zero"
+ msgstr ""
+
+-#: config/iq2000/iq2000.c:2583
++#: config/iq2000/iq2000.c:2587
+ #, fuzzy, gcc-internal-format
+ msgid "argument %qd is not a constant"
+ msgstr "аргумент `__builtin_args_info' павінен быць канÑтантай"
+
+-#: config/iq2000/iq2000.c:2885 config/mt/mt.c:349 config/xtensa/xtensa.c:2118
++#: config/iq2000/iq2000.c:2889 config/mt/mt.c:349 config/xtensa/xtensa.c:2124
+ #, gcc-internal-format
+ msgid "PRINT_OPERAND_ADDRESS, null pointer"
+ msgstr ""
+
+-#: config/iq2000/iq2000.c:3040
++#: config/iq2000/iq2000.c:3044
+ #, gcc-internal-format
+ msgid "PRINT_OPERAND: Unknown punctuation '%c'"
+ msgstr ""
+
+-#: config/iq2000/iq2000.c:3049 config/xtensa/xtensa.c:1972
++#: config/iq2000/iq2000.c:3053 config/xtensa/xtensa.c:1978
+ #, gcc-internal-format
+ msgid "PRINT_OPERAND null pointer"
+ msgstr ""
+@@ -25580,22 +25549,22 @@
+ msgid "invalid target memregs value '%d'"
+ msgstr "нерÑчаіÑны тып парамÑтра `%T'"
+
+-#: config/m32c/m32c.c:2759
++#: config/m32c/m32c.c:2766
+ #, fuzzy, gcc-internal-format
+ msgid "`%s' attribute is not supported for R8C target"
+ msgstr "атрыбуты Ñекцыі не падтрымліваюцца Ð´Ð»Ñ Ð³Ñтай мÑÑ‚Ñ‹"
+
+-#: config/m32c/m32c.c:2767
++#: config/m32c/m32c.c:2774
+ #, gcc-internal-format
+ msgid "`%s' attribute applies only to functions"
+ msgstr ""
+
+-#: config/m32c/m32c.c:2775
++#: config/m32c/m32c.c:2782
+ #, gcc-internal-format
+ msgid "`%s' attribute argument not an integer constant"
+ msgstr ""
+
+-#: config/m32c/m32c.c:2784
++#: config/m32c/m32c.c:2791
+ #, gcc-internal-format
+ msgid "`%s' attribute argument should be between 18 to 255"
+ msgstr ""
+@@ -25645,7 +25614,7 @@
+ msgid "interrupt_thread is available only on fido"
+ msgstr ""
+
+-#: config/m68k/m68k.c:1072 config/rs6000/rs6000.c:15014
++#: config/m68k/m68k.c:1072 config/rs6000/rs6000.c:15226
+ #, gcc-internal-format
+ msgid "stack limit expression is not supported"
+ msgstr ""
+@@ -25660,114 +25629,114 @@
+ msgid "%qs redeclared with conflicting %qs attributes"
+ msgstr ""
+
+-#: config/mips/mips.c:2348
++#: config/mips/mips.c:2382
+ #, gcc-internal-format
+ msgid "MIPS16 TLS"
+ msgstr ""
+
+-#: config/mips/mips.c:5439
++#: config/mips/mips.c:5500
+ #, gcc-internal-format
+ msgid "cannot handle inconsistent calls to %qs"
+ msgstr ""
+
+-#: config/mips/mips.c:10258
++#: config/mips/mips.c:10337
+ #, fuzzy, gcc-internal-format
+ msgid "invalid argument to built-in function"
+ msgstr "вельмі шмат аргументаў у функцыі"
+
+-#: config/mips/mips.c:10530
++#: config/mips/mips.c:10609
+ #, fuzzy, gcc-internal-format
+ msgid "built-in function %qs not supported for MIPS16"
+ msgstr "атрыбуты Ñекцыі не падтрымліваюцца Ð´Ð»Ñ Ð³Ñтай мÑÑ‚Ñ‹"
+
+-#: config/mips/mips.c:11679 config/mips/mips.c:12065
++#: config/mips/mips.c:11751 config/mips/mips.c:12137
+ #, gcc-internal-format
+ msgid "MIPS16 PIC"
+ msgstr ""
+
+-#: config/mips/mips.c:11682
++#: config/mips/mips.c:11754
+ #, gcc-internal-format
+ msgid "hard-float MIPS16 code for ABIs other than o32 and o64"
+ msgstr ""
+
+-#: config/mips/mips.c:11810
++#: config/mips/mips.c:11882
+ #, gcc-internal-format
+ msgid "CPU names must be lower case"
+ msgstr ""
+
+-#: config/mips/mips.c:11938
++#: config/mips/mips.c:12010
+ #, gcc-internal-format
+ msgid "%<-%s%> conflicts with the other architecture options, which specify a %s processor"
+ msgstr ""
+
+-#: config/mips/mips.c:11954
++#: config/mips/mips.c:12026
+ #, gcc-internal-format
+ msgid "%<-march=%s%> is not compatible with the selected ABI"
+ msgstr ""
+
+-#: config/mips/mips.c:11969
++#: config/mips/mips.c:12041
+ #, gcc-internal-format
+ msgid "%<-mgp64%> used with a 32-bit processor"
+ msgstr ""
+
+-#: config/mips/mips.c:11971
++#: config/mips/mips.c:12043
+ #, gcc-internal-format
+ msgid "%<-mgp32%> used with a 64-bit ABI"
+ msgstr ""
+
+-#: config/mips/mips.c:11973
++#: config/mips/mips.c:12045
+ #, gcc-internal-format
+ msgid "%<-mgp64%> used with a 32-bit ABI"
+ msgstr ""
+
+-#: config/mips/mips.c:11989 config/mips/mips.c:11991 config/mips/mips.c:12058
++#: config/mips/mips.c:12061 config/mips/mips.c:12063 config/mips/mips.c:12130
+ #, fuzzy, gcc-internal-format
+ msgid "unsupported combination: %s"
+ msgstr "Ð½ÐµÐ¿Ð°Ð´Ñ‚Ñ€Ñ‹Ð¼Ð»Ñ–Ð²Ð°ÐµÐ¼Ð°Ñ Ð²ÐµÑ€ÑÑ–Ñ"
+
+-#: config/mips/mips.c:11995
++#: config/mips/mips.c:12067
+ #, gcc-internal-format
+ msgid "%<-mgp32%> and %<-mfp64%> can only be combined if the target supports the mfhc1 and mthc1 instructions"
+ msgstr ""
+
+-#: config/mips/mips.c:11998
++#: config/mips/mips.c:12070
+ #, gcc-internal-format
+ msgid "%<-mgp32%> and %<-mfp64%> can only be combined when using the o32 ABI"
+ msgstr ""
+
+-#: config/mips/mips.c:12052
++#: config/mips/mips.c:12124
+ #, fuzzy, gcc-internal-format
+ msgid "the %qs architecture does not support branch-likely instructions"
+ msgstr "ISO C не падтрымлівае комлекÑÐ½Ñ‹Ñ Ñ†ÑÐ»Ð°Ð»Ñ–ÐºÐ°Ð²Ñ‹Ñ Ñ‚Ñ‹Ð¿Ñ‹"
+
+-#: config/mips/mips.c:12098
++#: config/mips/mips.c:12170
+ #, gcc-internal-format
+ msgid "%<-mno-gpopt%> needs %<-mexplicit-relocs%>"
+ msgstr ""
+
+-#: config/mips/mips.c:12106 config/mips/mips.c:12109
++#: config/mips/mips.c:12178 config/mips/mips.c:12181
+ #, gcc-internal-format
+ msgid "cannot use small-data accesses for %qs"
+ msgstr ""
+
+-#: config/mips/mips.c:12123
++#: config/mips/mips.c:12195
+ #, gcc-internal-format
+ msgid "%<-mips3d%> requires %<-mpaired-single%>"
+ msgstr ""
+
+-#: config/mips/mips.c:12132
++#: config/mips/mips.c:12204
+ #, gcc-internal-format
+ msgid "%qs must be used with %qs"
+ msgstr ""
+
+-#: config/mips/mips.c:12139
++#: config/mips/mips.c:12211
+ #, fuzzy, gcc-internal-format
+ msgid "the %qs architecture does not support paired-single instructions"
+ msgstr "ISO C не падтрымлівае комлекÑÐ½Ñ‹Ñ Ñ†ÑÐ»Ð°Ð»Ñ–ÐºÐ°Ð²Ñ‹Ñ Ñ‚Ñ‹Ð¿Ñ‹"
+
+ #. Output assembler code to FILE to increment profiler label # LABELNO
+ #. for profiling a function entry.
+-#: config/mips/mips.h:2110
++#: config/mips/mips.h:2111
+ #, gcc-internal-format
+ msgid "mips16 function profiling"
+ msgstr ""
+@@ -25797,28 +25766,28 @@
+ msgid "MMIX Internal: Last named vararg would not fit in a register"
+ msgstr ""
+
+-#: config/mmix/mmix.c:1495 config/mmix/mmix.c:1519 config/mmix/mmix.c:1635
++#: config/mmix/mmix.c:1491 config/mmix/mmix.c:1515 config/mmix/mmix.c:1631
+ #, gcc-internal-format
+ msgid "MMIX Internal: Bad register: %d"
+ msgstr ""
+
+ #. Presumably there's a missing case above if we get here.
+-#: config/mmix/mmix.c:1627
++#: config/mmix/mmix.c:1623
+ #, gcc-internal-format
+ msgid "MMIX Internal: Missing %qc case in mmix_print_operand"
+ msgstr ""
+
+-#: config/mmix/mmix.c:1913
++#: config/mmix/mmix.c:1909
+ #, gcc-internal-format
+ msgid "stack frame not a multiple of 8 bytes: %wd"
+ msgstr ""
+
+-#: config/mmix/mmix.c:2149
++#: config/mmix/mmix.c:2145
+ #, gcc-internal-format
+ msgid "stack frame not a multiple of octabyte: %wd"
+ msgstr ""
+
+-#: config/mmix/mmix.c:2489 config/mmix/mmix.c:2553
++#: config/mmix/mmix.c:2485 config/mmix/mmix.c:2549
+ #, gcc-internal-format
+ msgid "MMIX Internal: %s is not a shiftable int"
+ msgstr ""
+@@ -25828,27 +25797,27 @@
+ msgid "info pointer NULL"
+ msgstr ""
+
+-#: config/pa/pa.c:479
++#: config/pa/pa.c:482
+ #, gcc-internal-format
+ msgid "PIC code generation is not supported in the portable runtime model"
+ msgstr ""
+
+-#: config/pa/pa.c:484
++#: config/pa/pa.c:487
+ #, gcc-internal-format
+ msgid "PIC code generation is not compatible with fast indirect calls"
+ msgstr ""
+
+-#: config/pa/pa.c:489
++#: config/pa/pa.c:492
+ #, gcc-internal-format
+ msgid "-g is only supported when using GAS on this processor,"
+ msgstr ""
+
+-#: config/pa/pa.c:490
++#: config/pa/pa.c:493
+ #, gcc-internal-format
+ msgid "-g option disabled"
+ msgstr ""
+
+-#: config/pa/pa.c:8285
++#: config/pa/pa.c:8373
+ #, gcc-internal-format
+ msgid "alignment (%u) for %s exceeds maximum alignment for global common data. Using %u"
+ msgstr ""
+@@ -25917,250 +25886,251 @@
+ msgid "junk at end of #pragma longcall"
+ msgstr ""
+
+-#: config/rs6000/rs6000-c.c:2550
++#: config/rs6000/rs6000-c.c:2553
+ #, gcc-internal-format
+ msgid "passing arg %d of %qE discards qualifiers frompointer target type"
+ msgstr ""
+
+-#: config/rs6000/rs6000-c.c:2593
++#: config/rs6000/rs6000-c.c:2596
+ #, fuzzy, gcc-internal-format
+ msgid "invalid parameter combination for AltiVec intrinsic"
+ msgstr "нÑвернае выкарыÑтанне \"restict\""
+
+-#: config/rs6000/rs6000.c:1294
++#: config/rs6000/rs6000.c:1312
+ #, gcc-internal-format
+ msgid "-mdynamic-no-pic overrides -fpic or -fPIC"
+ msgstr ""
+
+-#: config/rs6000/rs6000.c:1305
++#: config/rs6000/rs6000.c:1323
+ #, gcc-internal-format
+ msgid "-m64 requires PowerPC64 architecture, enabling"
+ msgstr ""
+
+-#: config/rs6000/rs6000.c:1528
++#: config/rs6000/rs6000.c:1546
+ #, gcc-internal-format
+ msgid "-mmultiple is not supported on little endian systems"
+ msgstr ""
+
+-#: config/rs6000/rs6000.c:1535
++#: config/rs6000/rs6000.c:1553
+ #, gcc-internal-format
+ msgid "-mstring is not supported on little endian systems"
+ msgstr ""
+
+-#: config/rs6000/rs6000.c:1549
++#: config/rs6000/rs6000.c:1567
+ #, gcc-internal-format
+ msgid "unknown -mdebug-%s switch"
+ msgstr ""
+
+-#: config/rs6000/rs6000.c:1561
++#: config/rs6000/rs6000.c:1579
+ #, gcc-internal-format
+ msgid "unknown -mtraceback arg %qs; expecting %<full%>, %<partial%> or %<none%>"
+ msgstr ""
+
+-#: config/rs6000/rs6000.c:1973
++#: config/rs6000/rs6000.c:2003
+ #, fuzzy, gcc-internal-format
+ msgid "unknown -m%s= option specified: '%s'"
+ msgstr "невÑдомы Ñ€Ñжым машыны \"%s\""
+
+-#: config/rs6000/rs6000.c:2186
++#: config/rs6000/rs6000.c:2218
+ #, gcc-internal-format
+ msgid "not configured for ABI: '%s'"
+ msgstr ""
+
+-#: config/rs6000/rs6000.c:2199
++#: config/rs6000/rs6000.c:2231
+ #, gcc-internal-format
+ msgid "Using darwin64 ABI"
+ msgstr ""
+
+-#: config/rs6000/rs6000.c:2204
++#: config/rs6000/rs6000.c:2236
+ #, gcc-internal-format
+ msgid "Using old darwin ABI"
+ msgstr ""
+
+-#: config/rs6000/rs6000.c:2211
++#: config/rs6000/rs6000.c:2243
+ #, gcc-internal-format
+ msgid "Using IBM extended precision long double"
+ msgstr ""
+
+-#: config/rs6000/rs6000.c:2217
++#: config/rs6000/rs6000.c:2249
+ #, gcc-internal-format
+ msgid "Using IEEE extended precision long double"
+ msgstr ""
+
+-#: config/rs6000/rs6000.c:2222
++#: config/rs6000/rs6000.c:2254
+ #, fuzzy, gcc-internal-format
+ msgid "unknown ABI specified: '%s'"
+ msgstr "невÑдомы Ñ€Ñжым машыны \"%s\""
+
+-#: config/rs6000/rs6000.c:2249
++#: config/rs6000/rs6000.c:2281
+ #, fuzzy, gcc-internal-format
+ msgid "invalid option for -mfloat-gprs: '%s'"
+ msgstr "ÐерÑчаіÑны выбар \"%s\""
+
+-#: config/rs6000/rs6000.c:2259
++#: config/rs6000/rs6000.c:2291
+ #, gcc-internal-format
+ msgid "Unknown switch -mlong-double-%s"
+ msgstr ""
+
+-#: config/rs6000/rs6000.c:2280
++#: config/rs6000/rs6000.c:2312
+ #, gcc-internal-format
+ msgid "-malign-power is not supported for 64-bit Darwin; it is incompatible with the installed C and C++ libraries"
+ msgstr ""
+
+-#: config/rs6000/rs6000.c:2288
++#: config/rs6000/rs6000.c:2320
+ #, fuzzy, gcc-internal-format
+ msgid "unknown -malign-XXXXX option specified: '%s'"
+ msgstr "невÑдомы Ñ€Ñжым машыны \"%s\""
+
+-#: config/rs6000/rs6000.c:4989
++#: config/rs6000/rs6000.c:5087
+ #, gcc-internal-format
+ msgid "GCC vector returned by reference: non-standard ABI extension with no compatibility guarantee"
+ msgstr ""
+
+-#: config/rs6000/rs6000.c:5062
++#: config/rs6000/rs6000.c:5160
+ #, gcc-internal-format
+ msgid "cannot return value in vector register because altivec instructions are disabled, use -maltivec to enable them"
+ msgstr ""
+
+-#: config/rs6000/rs6000.c:5320
++#: config/rs6000/rs6000.c:5418
+ #, gcc-internal-format
+ msgid "cannot pass argument in vector register because altivec instructions are disabled, use -maltivec to enable them"
+ msgstr ""
+
+-#: config/rs6000/rs6000.c:6221
++#: config/rs6000/rs6000.c:6322
+ #, gcc-internal-format
+ msgid "GCC vector passed by reference: non-standard ABI extension with no compatibility guarantee"
+ msgstr ""
+
+-#: config/rs6000/rs6000.c:7461
++#: config/rs6000/rs6000.c:7568
+ #, fuzzy, gcc-internal-format
+ msgid "argument 1 must be a 5-bit signed literal"
+ msgstr "першым аргументам \"%s\" павінен быць \"int\""
+
+-#: config/rs6000/rs6000.c:7564 config/rs6000/rs6000.c:8475
++#: config/rs6000/rs6000.c:7671 config/rs6000/rs6000.c:8582
+ #, fuzzy, gcc-internal-format
+ msgid "argument 2 must be a 5-bit unsigned literal"
+ msgstr "першым аргументам \"%s\" павінен быць \"int\""
+
+-#: config/rs6000/rs6000.c:7604
++#: config/rs6000/rs6000.c:7711
+ #, fuzzy, gcc-internal-format
+ msgid "argument 1 of __builtin_altivec_predicate must be a constant"
+ msgstr "аргумент `__builtin_args_info' павінен быць канÑтантай"
+
+-#: config/rs6000/rs6000.c:7657
++#: config/rs6000/rs6000.c:7764
+ #, fuzzy, gcc-internal-format
+ msgid "argument 1 of __builtin_altivec_predicate is out of range"
+ msgstr "аргумент `__builtin_args_info' выйшаў за межы"
+
+-#: config/rs6000/rs6000.c:7906
++#: config/rs6000/rs6000.c:8013
+ #, fuzzy, gcc-internal-format
+ msgid "argument 3 must be a 4-bit unsigned literal"
+ msgstr "першым аргументам \"%s\" павінен быць \"int\""
+
+-#: config/rs6000/rs6000.c:8078
++#: config/rs6000/rs6000.c:8185
+ #, fuzzy, gcc-internal-format
+ msgid "argument to %qs must be a 2-bit unsigned literal"
+ msgstr "першым аргументам \"%s\" павінен быць \"int\""
+
+-#: config/rs6000/rs6000.c:8220
++#: config/rs6000/rs6000.c:8327
+ #, gcc-internal-format
+ msgid "unresolved overload for Altivec builtin %qF"
+ msgstr ""
+
+-#: config/rs6000/rs6000.c:8302
++#: config/rs6000/rs6000.c:8409
+ #, fuzzy, gcc-internal-format
+ msgid "argument to dss must be a 2-bit unsigned literal"
+ msgstr "першым аргументам \"%s\" павінен быць \"int\""
+
+-#: config/rs6000/rs6000.c:8595
++#: config/rs6000/rs6000.c:8702
+ #, fuzzy, gcc-internal-format
+ msgid "argument 1 of __builtin_paired_predicate must be a constant"
+ msgstr "аргумент `__builtin_args_info' павінен быць канÑтантай"
+
+-#: config/rs6000/rs6000.c:8642
++#: config/rs6000/rs6000.c:8749
+ #, fuzzy, gcc-internal-format
+ msgid "argument 1 of __builtin_paired_predicate is out of range"
+ msgstr "аргумент `__builtin_args_info' выйшаў за межы"
+
+-#: config/rs6000/rs6000.c:8667
++#: config/rs6000/rs6000.c:8774
+ #, fuzzy, gcc-internal-format
+ msgid "argument 1 of __builtin_spe_predicate must be a constant"
+ msgstr "аргумент `__builtin_args_info' павінен быць канÑтантай"
+
+-#: config/rs6000/rs6000.c:8739
++#: config/rs6000/rs6000.c:8846
+ #, fuzzy, gcc-internal-format
+ msgid "argument 1 of __builtin_spe_predicate is out of range"
+ msgstr "аргумент `__builtin_args_info' выйшаў за межы"
+
+-#: config/rs6000/rs6000.c:14977
++#: config/rs6000/rs6000.c:15189
+ #, fuzzy, gcc-internal-format
+ msgid "stack frame too large"
+ msgstr "%s - вельмі вÑлікі"
+
+-#: config/rs6000/rs6000.c:17598
++#: config/rs6000/rs6000.c:17811
+ #, gcc-internal-format
+ msgid "no profiling of 64-bit code for this ABI"
+ msgstr ""
+
+-#: config/rs6000/rs6000.c:19470
++#: config/rs6000/rs6000.c:19687
+ #, gcc-internal-format
+ msgid "use of %<long%> in AltiVec types is invalid for 64-bit code"
+ msgstr ""
+
+-#: config/rs6000/rs6000.c:19472
++#: config/rs6000/rs6000.c:19689
+ #, gcc-internal-format
+ msgid "use of %<long%> in AltiVec types is deprecated; use %<int%>"
+ msgstr ""
+
+-#: config/rs6000/rs6000.c:19476
++#: config/rs6000/rs6000.c:19693
+ #, gcc-internal-format
+ msgid "use of %<long long%> in AltiVec types is invalid"
+ msgstr ""
+
+-#: config/rs6000/rs6000.c:19478
++#: config/rs6000/rs6000.c:19695
+ #, gcc-internal-format
+ msgid "use of %<double%> in AltiVec types is invalid"
+ msgstr ""
+
+-#: config/rs6000/rs6000.c:19480
++#: config/rs6000/rs6000.c:19697
+ #, gcc-internal-format
+ msgid "use of %<long double%> in AltiVec types is invalid"
+ msgstr ""
+
+-#: config/rs6000/rs6000.c:19482
++#: config/rs6000/rs6000.c:19699
+ #, gcc-internal-format
+ msgid "use of boolean types in AltiVec types is invalid"
+ msgstr ""
+
+-#: config/rs6000/rs6000.c:19484
++#: config/rs6000/rs6000.c:19701
+ #, gcc-internal-format
+ msgid "use of %<complex%> in AltiVec types is invalid"
+ msgstr ""
+
+-#: config/rs6000/rs6000.c:19486
++#: config/rs6000/rs6000.c:19703
+ #, gcc-internal-format
+ msgid "use of decimal floating point types in AltiVec types is invalid"
+ msgstr ""
+
+ #: config/rs6000/aix43.h:38 config/rs6000/aix51.h:37 config/rs6000/aix52.h:38
+-#: config/rs6000/aix53.h:38
++#: config/rs6000/aix53.h:38 config/rs6000/aix61.h:38
+ #, gcc-internal-format
+ msgid "-maix64 and POWER architecture are incompatible"
+ msgstr ""
+
+ #: config/rs6000/aix43.h:43 config/rs6000/aix51.h:42 config/rs6000/aix52.h:43
+-#: config/rs6000/aix53.h:43
++#: config/rs6000/aix53.h:43 config/rs6000/aix61.h:43
+ #, gcc-internal-format
+ msgid "-maix64 requires PowerPC64 architecture remain enabled"
+ msgstr ""
+
+ #: config/rs6000/aix43.h:49 config/rs6000/aix52.h:49 config/rs6000/aix53.h:49
++#: config/rs6000/aix61.h:49
+ #, gcc-internal-format
+ msgid "soft-float and long-double-128 are incompatible"
+ msgstr ""
+
+ #: config/rs6000/aix43.h:53 config/rs6000/aix51.h:46 config/rs6000/aix52.h:53
+-#: config/rs6000/aix53.h:53
++#: config/rs6000/aix53.h:53 config/rs6000/aix61.h:53
+ #, gcc-internal-format
+ msgid "-maix64 required: 64-bit computation with 32-bit addressing not yet supported"
+ msgstr ""
+@@ -26202,7 +26172,7 @@
+ #. Number of bytes into the frame return addresses can be found. See
+ #. rs6000_stack_info in rs6000.c for more information on how the different
+ #. abi's store the return address.
+-#: config/rs6000/rs6000.h:1560
++#: config/rs6000/rs6000.h:1569
+ #, gcc-internal-format
+ msgid "RETURN_ADDRESS_OFFSET not supported"
+ msgstr ""
+@@ -26325,22 +26295,22 @@
+ msgid "-mstack-guard implies use of -mstack-size"
+ msgstr ""
+
+-#: config/s390/s390.c:6640
++#: config/s390/s390.c:6679
+ #, gcc-internal-format
+ msgid "total size of local variables exceeds architecture limit"
+ msgstr ""
+
+-#: config/s390/s390.c:7298
++#: config/s390/s390.c:7349
+ #, gcc-internal-format
+ msgid "frame size of function %qs is "
+ msgstr ""
+
+-#: config/s390/s390.c:7328
++#: config/s390/s390.c:7379
+ #, fuzzy, gcc-internal-format
+ msgid "frame size of %qs is "
+ msgstr "памер \"%s\" - %d байт"
+
+-#: config/s390/s390.c:7332
++#: config/s390/s390.c:7383
+ #, gcc-internal-format
+ msgid "%qs uses dynamic stack allocation"
+ msgstr ""
+@@ -26350,44 +26320,44 @@
+ msgid "-fPIC and -G are incompatible"
+ msgstr ""
+
+-#: config/sh/sh.c:6894
++#: config/sh/sh.c:6897
+ #, fuzzy, gcc-internal-format
+ msgid "__builtin_saveregs not supported by this subtarget"
+ msgstr "__buitin_saveregs не падтрымліваецца гÑтай мÑтай"
+
+-#: config/sh/sh.c:7904
++#: config/sh/sh.c:7907
+ #, fuzzy, gcc-internal-format
+ msgid "%qs attribute only applies to interrupt functions"
+ msgstr "\"%s\" звычайна функцыÑ"
+
+-#: config/sh/sh.c:7990
++#: config/sh/sh.c:7993
+ #, gcc-internal-format
+ msgid "attribute interrupt_handler is not compatible with -m5-compact"
+ msgstr ""
+
+ #. The argument must be a constant string.
+-#: config/sh/sh.c:8012
++#: config/sh/sh.c:8015
+ #, fuzzy, gcc-internal-format
+ msgid "%qs attribute argument not a string constant"
+ msgstr "аргумент `__builtin_args_info' павінен быць канÑтантай"
+
+ #. The argument must be a constant integer.
+-#: config/sh/sh.c:8037
++#: config/sh/sh.c:8040
+ #, fuzzy, gcc-internal-format
+ msgid "%qs attribute argument not an integer constant"
+ msgstr "аргумент `__builtin_args_info' павінен быць канÑтантай"
+
+-#: config/sh/sh.c:10085
++#: config/sh/sh.c:10084
+ #, gcc-internal-format
+ msgid "r0 needs to be available as a call-clobbered register"
+ msgstr ""
+
+-#: config/sh/sh.c:10106
++#: config/sh/sh.c:10105
+ #, gcc-internal-format
+ msgid "Need a second call-clobbered general purpose register"
+ msgstr ""
+
+-#: config/sh/sh.c:10114
++#: config/sh/sh.c:10113
+ #, gcc-internal-format
+ msgid "Need a call-clobbered target register"
+ msgstr ""
+@@ -26417,7 +26387,7 @@
+ msgid "%s %q+D %s after being referenced with dllimport linkage"
+ msgstr ""
+
+-#: config/sh/symbian.c:891 cp/tree.c:2737
++#: config/sh/symbian.c:891 cp/tree.c:2753
+ #, gcc-internal-format
+ msgid "lang_* check: failed in %s, at %s:%d"
+ msgstr ""
+@@ -26460,17 +26430,17 @@
+ msgid "-mrelax is only supported for RTP PIC"
+ msgstr ""
+
+-#: config/sparc/sparc.c:698
++#: config/sparc/sparc.c:701
+ #, gcc-internal-format
+ msgid "%s is not supported by this configuration"
+ msgstr ""
+
+-#: config/sparc/sparc.c:705
++#: config/sparc/sparc.c:708
+ #, gcc-internal-format
+ msgid "-mlong-double-64 not allowed with -m64"
+ msgstr ""
+
+-#: config/sparc/sparc.c:730
++#: config/sparc/sparc.c:733
+ #, gcc-internal-format
+ msgid "-mcmodel= is not supported on 32 bit systems"
+ msgstr ""
+@@ -26490,67 +26460,57 @@
+ msgid "parameter list does not match a valid signature for %s()"
+ msgstr ""
+
+-#: config/spu/spu.c:337 config/spu/spu.c:348
++#: config/spu/spu.c:341 config/spu/spu.c:352
+ #, fuzzy, gcc-internal-format
+ msgid "Unknown architecture '%s'"
+ msgstr "невÑдомы Ñ€Ñжым машыны \"%s\""
+
+-#: config/spu/spu.c:3034
++#: config/spu/spu.c:3023
+ #, gcc-internal-format
+ msgid "`%s' attribute ignored"
+ msgstr "\"%s\" атрыбут ігнарыруецца"
+
+-#: config/spu/spu.c:5218
++#: config/spu/spu.c:5207
+ #, gcc-internal-format
+ msgid "%s expects an integer literal in the range [%d, %d]."
+ msgstr ""
+
+-#: config/spu/spu.c:5238
++#: config/spu/spu.c:5227
+ #, gcc-internal-format
+ msgid "%s expects an integer literal in the range [%d, %d]. ("
+ msgstr ""
+
+-#: config/spu/spu.c:5268
++#: config/spu/spu.c:5257
+ #, gcc-internal-format
+ msgid "%d least significant bits of %s are ignored."
+ msgstr ""
+
+-#: config/stormy16/stormy16.c:499
++#: config/stormy16/stormy16.c:1080
+ #, gcc-internal-format
+-msgid "constant halfword load operand out of range"
+-msgstr ""
+-
+-#: config/stormy16/stormy16.c:509
+-#, gcc-internal-format
+-msgid "constant arithmetic operand out of range"
+-msgstr ""
+-
+-#: config/stormy16/stormy16.c:1108
+-#, gcc-internal-format
+ msgid "local variable memory requirements exceed capacity"
+ msgstr ""
+
+-#: config/stormy16/stormy16.c:1274
++#: config/stormy16/stormy16.c:1246
+ #, gcc-internal-format
+ msgid "function_profiler support"
+ msgstr ""
+
+-#: config/stormy16/stormy16.c:1363
++#: config/stormy16/stormy16.c:1335
+ #, gcc-internal-format
+ msgid "cannot use va_start in interrupt function"
+ msgstr ""
+
+-#: config/stormy16/stormy16.c:1906
++#: config/stormy16/stormy16.c:1879
+ #, gcc-internal-format
+ msgid "switch statement of size %lu entries too large"
+ msgstr ""
+
+-#: config/stormy16/stormy16.c:2274
++#: config/stormy16/stormy16.c:2247
+ #, fuzzy, gcc-internal-format
+ msgid "%<__BELOW100__%> attribute only applies to variables"
+ msgstr "\"%s\" атрыбут ігнарыруецца"
+
+-#: config/stormy16/stormy16.c:2281
++#: config/stormy16/stormy16.c:2254
+ #, gcc-internal-format
+ msgid "__BELOW100__ attribute not allowed with auto storage class"
+ msgstr ""
+@@ -26675,345 +26635,345 @@
+ msgid "too much stack space to prepare: %d"
+ msgstr ""
+
+-#: config/xtensa/xtensa.c:1861
++#: config/xtensa/xtensa.c:1865
+ #, gcc-internal-format
+ msgid "boolean registers required for the floating-point option"
+ msgstr ""
+
+-#: config/xtensa/xtensa.c:1896
++#: config/xtensa/xtensa.c:1900
+ #, fuzzy, gcc-internal-format
+ msgid "-f%s is not supported with CONST16 instructions"
+ msgstr "ISO C не падтрымлівае комлекÑÐ½Ñ‹Ñ Ñ†ÑÐ»Ð°Ð»Ñ–ÐºÐ°Ð²Ñ‹Ñ Ñ‚Ñ‹Ð¿Ñ‹"
+
+-#: config/xtensa/xtensa.c:1901
++#: config/xtensa/xtensa.c:1905
+ #, gcc-internal-format
+ msgid "PIC is required but not supported with CONST16 instructions"
+ msgstr ""
+
+-#: config/xtensa/xtensa.c:2745 config/xtensa/xtensa.c:2765
++#: config/xtensa/xtensa.c:2770 config/xtensa/xtensa.c:2790
+ #, gcc-internal-format
+ msgid "bad builtin code"
+ msgstr ""
+
+-#: config/xtensa/xtensa.c:2873
++#: config/xtensa/xtensa.c:2898
+ #, gcc-internal-format
+ msgid "only uninitialized variables can be placed in a .bss section"
+ msgstr ""
+
+-#: ada/misc.c:261
++#: ada/misc.c:260
+ #, fuzzy, gcc-internal-format
+ msgid "missing argument to \"-%s\""
+ msgstr "аргумент Ð´Ð»Ñ \"%s\" прапушчан"
+
+-#: ada/misc.c:311
++#: ada/misc.c:310
+ #, gcc-internal-format
+ msgid "%<-gnat%> misspelled as %<-gant%>"
+ msgstr ""
+
+-#: cp/call.c:2462
++#: cp/call.c:2448
+ #, gcc-internal-format
+ msgid "%s %D(%T, %T, %T) <built-in>"
+ msgstr ""
+
+-#: cp/call.c:2467
++#: cp/call.c:2453
+ #, gcc-internal-format
+ msgid "%s %D(%T, %T) <built-in>"
+ msgstr ""
+
+-#: cp/call.c:2471
++#: cp/call.c:2457
+ #, gcc-internal-format
+ msgid "%s %D(%T) <built-in>"
+ msgstr ""
+
+-#: cp/call.c:2475
++#: cp/call.c:2461
+ #, gcc-internal-format
+ msgid "%s %T <conversion>"
+ msgstr ""
+
+-#: cp/call.c:2477
++#: cp/call.c:2463
+ #, gcc-internal-format
+ msgid "%s %+#D <near match>"
+ msgstr ""
+
+-#: cp/call.c:2479 cp/pt.c:1397
++#: cp/call.c:2465 cp/pt.c:1405
+ #, gcc-internal-format
+ msgid "%s %+#D"
+ msgstr ""
+
+-#: cp/call.c:2720
++#: cp/call.c:2706
+ #, fuzzy, gcc-internal-format
+ msgid "conversion from %qT to %qT is ambiguous"
+ msgstr "пераўтварÑньне з `%T' у `%T'"
+
+-#: cp/call.c:2873 cp/call.c:2891 cp/call.c:2954
++#: cp/call.c:2859 cp/call.c:2877 cp/call.c:2940
+ #, gcc-internal-format
+ msgid "no matching function for call to %<%D(%A)%>"
+ msgstr ""
+
+-#: cp/call.c:2894 cp/call.c:2957
++#: cp/call.c:2880 cp/call.c:2943
+ #, 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.c:3029
++#: cp/call.c:3015
+ #, gcc-internal-format
+ msgid "pointer-to-member function %E cannot be called without an object; consider using .* or ->*"
+ msgstr ""
+
+-#: cp/call.c:3103
++#: cp/call.c:3089
+ #, gcc-internal-format
+ msgid "no match for call to %<(%T) (%A)%>"
+ msgstr ""
+
+-#: cp/call.c:3112
++#: cp/call.c:3098
+ #, fuzzy, gcc-internal-format
+ msgid "call of %<(%T) (%A)%> is ambiguous"
+ msgstr "памер \"%s\" - %d байт"
+
+-#: cp/call.c:3150
++#: cp/call.c:3136
+ #, gcc-internal-format
+ msgid "%s for ternary %<operator?:%> in %<%E ? %E : %E%>"
+ msgstr ""
+
+-#: cp/call.c:3156
++#: cp/call.c:3142
+ #, gcc-internal-format
+ msgid "%s for %<operator%s%> in %<%E%s%>"
+ msgstr ""
+
+-#: cp/call.c:3160
++#: cp/call.c:3146
+ #, gcc-internal-format
+ msgid "%s for %<operator[]%> in %<%E[%E]%>"
+ msgstr ""
+
+-#: cp/call.c:3165
++#: cp/call.c:3151
+ #, gcc-internal-format
+ msgid "%s for %qs in %<%s %E%>"
+ msgstr ""
+
+-#: cp/call.c:3170
++#: cp/call.c:3156
+ #, gcc-internal-format
+ msgid "%s for %<operator%s%> in %<%E %s %E%>"
+ msgstr ""
+
+-#: cp/call.c:3173
++#: cp/call.c:3159
+ #, gcc-internal-format
+ msgid "%s for %<operator%s%> in %<%s%E%>"
+ msgstr ""
+
+-#: cp/call.c:3265
++#: cp/call.c:3251
+ #, gcc-internal-format
+ msgid "ISO C++ forbids omitting the middle term of a ?: expression"
+ msgstr ""
+
+-#: cp/call.c:3343
++#: cp/call.c:3329
+ #, gcc-internal-format
+ msgid "second operand to the conditional operator is of type %<void%>, but the third operand is neither a throw-expression nor of type %<void%>"
+ msgstr ""
+
+-#: cp/call.c:3348
++#: cp/call.c:3334
+ #, gcc-internal-format
+ msgid "third operand to the conditional operator is of type %<void%>, but the second operand is neither a throw-expression nor of type %<void%>"
+ msgstr ""
+
+-#: cp/call.c:3389 cp/call.c:3609
++#: cp/call.c:3375 cp/call.c:3595
+ #, gcc-internal-format
+ msgid "operands to ?: have different types %qT and %qT"
+ msgstr ""
+
+-#: cp/call.c:3563
++#: cp/call.c:3549
+ #, gcc-internal-format
+ msgid "enumeral mismatch in conditional expression: %qT vs %qT"
+ msgstr ""
+
+-#: cp/call.c:3570
++#: cp/call.c:3556
+ #, gcc-internal-format
+ msgid "enumeral and non-enumeral type in conditional expression"
+ msgstr ""
+
+-#: cp/call.c:3874
++#: cp/call.c:3860
+ #, gcc-internal-format
+ msgid "no %<%D(int)%> declared for postfix %qs, trying prefix operator instead"
+ msgstr ""
+
+-#: cp/call.c:3947
++#: cp/call.c:3936
+ #, gcc-internal-format
+ msgid "comparison between %q#T and %q#T"
+ msgstr ""
+
+-#: cp/call.c:4229
++#: cp/call.c:4218
+ #, gcc-internal-format
+ msgid "no corresponding deallocation function for `%D'"
+ msgstr ""
+
+-#: cp/call.c:4234
++#: cp/call.c:4223
+ #, fuzzy, gcc-internal-format
+ msgid "no suitable %<operator %s%> for %qT"
+ msgstr "немагчымы апÑратар '%s'"
+
+-#: cp/call.c:4252
++#: cp/call.c:4241
+ #, gcc-internal-format
+ msgid "%q+#D is private"
+ msgstr ""
+
+-#: cp/call.c:4254
++#: cp/call.c:4243
+ #, gcc-internal-format
+ msgid "%q+#D is protected"
+ msgstr ""
+
+-#: cp/call.c:4256
++#: cp/call.c:4245
+ #, gcc-internal-format
+ msgid "%q+#D is inaccessible"
+ msgstr ""
+
+-#: cp/call.c:4257
++#: cp/call.c:4246
+ #, gcc-internal-format
+ msgid "within this context"
+ msgstr ""
+
+-#: cp/call.c:4303
++#: cp/call.c:4292
+ #, gcc-internal-format
+ msgid "passing NULL to non-pointer argument %P of %qD"
+ msgstr ""
+
+-#: cp/call.c:4306
++#: cp/call.c:4295
+ #, gcc-internal-format
+ msgid "converting to non-pointer type %qT from NULL"
+ msgstr ""
+
+-#: cp/call.c:4312
++#: cp/call.c:4301
+ #, gcc-internal-format
+ msgid "converting %<false%> to pointer type for argument %P of %qD"
+ msgstr ""
+
+-#: cp/call.c:4356 cp/cvt.c:217
++#: cp/call.c:4346 cp/cvt.c:217
+ #, fuzzy, gcc-internal-format
+ msgid "invalid conversion from %qT to %qT"
+ msgstr "пераўтварÑньне з `%T' у `%T'"
+
+-#: cp/call.c:4358
++#: cp/call.c:4348
+ #, gcc-internal-format
+ msgid " initializing argument %P of %qD"
+ msgstr ""
+
+-#: cp/call.c:4491
++#: cp/call.c:4498
+ #, fuzzy, gcc-internal-format
+ msgid "cannot bind bitfield %qE to %qT"
+ msgstr "не магу ініцыÑлізаваць ÑÑброўÑкую функцыю \"%s\""
+
+-#: cp/call.c:4494 cp/call.c:4510
++#: cp/call.c:4501 cp/call.c:4517
+ #, gcc-internal-format
+ msgid "cannot bind packed field %qE to %qT"
+ msgstr ""
+
+-#: cp/call.c:4497
++#: cp/call.c:4504
+ #, fuzzy, gcc-internal-format
+ msgid "cannot bind rvalue %qE to %qT"
+ msgstr "не магу ініцыÑлізаваць ÑÑброўÑкую функцыю \"%s\""
+
+-#: cp/call.c:4611
++#: cp/call.c:4620
+ #, gcc-internal-format
+ msgid "cannot pass objects of non-POD type %q#T through %<...%>; call will abort at runtime"
+ msgstr ""
+
+ #. Undefined behavior [expr.call] 5.2.2/7.
+-#: cp/call.c:4639
++#: cp/call.c:4648
+ #, gcc-internal-format
+ msgid "cannot receive objects of non-POD type %q#T through %<...%>; call will abort at runtime"
+ msgstr ""
+
+-#: cp/call.c:4687
++#: cp/call.c:4696
+ #, gcc-internal-format
+ msgid "the default argument for parameter %d of %qD has not yet been parsed"
+ msgstr ""
+
+-#: cp/call.c:4697
++#: cp/call.c:4706
+ #, fuzzy, gcc-internal-format
+ msgid "recursive evaluation of default argument for %q#D"
+ msgstr "нехапае аргументаў у функцыі \"%s\""
+
+-#: cp/call.c:4802
++#: cp/call.c:4811
+ #, gcc-internal-format
+ msgid "argument of function call might be a candidate for a format attribute"
+ msgstr ""
+
+-#: cp/call.c:4950
++#: cp/call.c:4959
+ #, gcc-internal-format
+ msgid "passing %qT as %<this%> argument of %q#D discards qualifiers"
+ msgstr ""
+
+-#: cp/call.c:4969
++#: cp/call.c:4978
+ #, gcc-internal-format
+ msgid "%qT is not an accessible base of %qT"
+ msgstr ""
+
+-#: cp/call.c:5229
++#: cp/call.c:5238
+ #, gcc-internal-format
+ msgid "could not find class$ field in java interface type %qT"
+ msgstr ""
+
+-#: cp/call.c:5470
++#: cp/call.c:5479
+ #, gcc-internal-format
+ msgid "call to non-function %qD"
+ msgstr ""
+
+-#: cp/call.c:5595
++#: cp/call.c:5604
+ #, gcc-internal-format
+ msgid "no matching function for call to %<%T::%s(%A)%#V%>"
+ msgstr ""
+
+-#: cp/call.c:5613
++#: cp/call.c:5622
+ #, gcc-internal-format
+ msgid "call of overloaded %<%s(%A)%> is ambiguous"
+ msgstr ""
+
+-#: cp/call.c:5639
++#: cp/call.c:5648
+ #, gcc-internal-format
+ msgid "cannot call member function %qD without object"
+ msgstr ""
+
+-#: cp/call.c:6283
++#: cp/call.c:6307
+ #, gcc-internal-format
+ msgid "passing %qT chooses %qT over %qT"
+ msgstr ""
+
+-#: cp/call.c:6285 cp/name-lookup.c:4320 cp/name-lookup.c:4753
++#: cp/call.c:6309 cp/name-lookup.c:4322 cp/name-lookup.c:4757
+ #, gcc-internal-format
+ msgid " in call to %qD"
+ msgstr ""
+
+-#: cp/call.c:6342
++#: cp/call.c:6366
+ #, gcc-internal-format
+ msgid "choosing %qD over %qD"
+ msgstr ""
+
+-#: cp/call.c:6343
++#: cp/call.c:6367
+ #, fuzzy, gcc-internal-format
+ msgid " for conversion from %qT to %qT"
+ msgstr "пераўтварÑньне з `%T' у `%T'"
+
+-#: cp/call.c:6345
++#: cp/call.c:6369
+ #, gcc-internal-format
+ msgid " because conversion sequence for the argument is better"
+ msgstr ""
+
+-#: cp/call.c:6459
++#: cp/call.c:6483
+ #, 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.c:6603
++#: cp/call.c:6627
+ #, gcc-internal-format
+ msgid "could not convert %qE to %qT"
+ msgstr ""
+
+-#: cp/call.c:6737
++#: cp/call.c:6761
+ #, gcc-internal-format
+ msgid "invalid initialization of non-const reference of type %qT from a temporary of type %qT"
+ msgstr ""
+
+-#: cp/call.c:6741
++#: cp/call.c:6765
+ #, gcc-internal-format
+ msgid "invalid initialization of reference of type %qT from expression of type %qT"
+ msgstr ""
+@@ -27023,343 +26983,343 @@
+ msgid "cannot convert from base %qT to derived type %qT via virtual base %qT"
+ msgstr ""
+
+-#: cp/class.c:961
++#: cp/class.c:971
+ #, gcc-internal-format
+ msgid "Java class %qT cannot have a destructor"
+ msgstr ""
+
+-#: cp/class.c:963
++#: cp/class.c:973
+ #, gcc-internal-format
+ msgid "Java class %qT cannot have an implicit non-trivial destructor"
+ msgstr ""
+
+-#: cp/class.c:1062
++#: cp/class.c:1074
+ #, fuzzy, gcc-internal-format
+ msgid "repeated using declaration %q+D"
+ msgstr "пуÑтое абвÑшчÑнне"
+
+-#: cp/class.c:1064
++#: cp/class.c:1076
+ #, fuzzy, gcc-internal-format
+ msgid "using declaration %q+D conflicts with a previous using declaration"
+ msgstr "ÑÐµÐºÑ†Ñ‹Ñ \"%s\" канфліктуе з папÑÑ€ÑднÑй дÑкларацыÑй"
+
+-#: cp/class.c:1069
++#: cp/class.c:1081
+ #, gcc-internal-format
+ msgid "%q+#D cannot be overloaded"
+ msgstr ""
+
+-#: cp/class.c:1070
++#: cp/class.c:1082
+ #, gcc-internal-format
+ msgid "with %q+#D"
+ msgstr ""
+
+-#: cp/class.c:1137
++#: cp/class.c:1149
+ #, gcc-internal-format
+ msgid "conflicting access specifications for method %q+D, ignored"
+ msgstr ""
+
+-#: cp/class.c:1140
++#: cp/class.c:1152
+ #, gcc-internal-format
+ msgid "conflicting access specifications for field %qE, ignored"
+ msgstr ""
+
+-#: cp/class.c:1201 cp/class.c:1209
++#: cp/class.c:1213 cp/class.c:1221
+ #, fuzzy, gcc-internal-format
+ msgid "%q+D invalid in %q#T"
+ msgstr "ÐерÑчаіÑны выбар \"%s\""
+
+-#: cp/class.c:1202
++#: cp/class.c:1214
+ #, gcc-internal-format
+ msgid " because of local method %q+#D with same name"
+ msgstr ""
+
+-#: cp/class.c:1210
++#: cp/class.c:1222
+ #, gcc-internal-format
+ msgid " because of local member %q+#D with same name"
+ msgstr ""
+
+-#: cp/class.c:1253
++#: cp/class.c:1265
+ #, gcc-internal-format
+ msgid "base class %q#T has a non-virtual destructor"
+ msgstr ""
+
+-#: cp/class.c:1570
++#: cp/class.c:1582
+ #, gcc-internal-format
+ msgid "all member functions in class %qT are private"
+ msgstr ""
+
+-#: cp/class.c:1582
++#: cp/class.c:1594
+ #, gcc-internal-format
+ msgid "%q#T only defines a private destructor and has no friends"
+ msgstr ""
+
+-#: cp/class.c:1626
++#: cp/class.c:1639
+ #, gcc-internal-format
+ msgid "%q#T only defines private constructors and has no friends"
+ msgstr ""
+
+-#: cp/class.c:2019
++#: cp/class.c:2032
+ #, gcc-internal-format
+ msgid "no unique final overrider for %qD in %qT"
+ msgstr ""
+
+ #. Here we know it is a hider, and no overrider exists.
+-#: cp/class.c:2439
++#: cp/class.c:2452
+ #, gcc-internal-format
+ msgid "%q+D was hidden"
+ msgstr ""
+
+-#: cp/class.c:2440
++#: cp/class.c:2453
+ #, gcc-internal-format
+ msgid " by %q+D"
+ msgstr ""
+
+-#: cp/class.c:2483 cp/decl2.c:1135
++#: cp/class.c:2496 cp/decl2.c:1178
+ #, gcc-internal-format
+ msgid "%q+#D invalid; an anonymous union can only have non-static data members"
+ msgstr ""
+
+-#: cp/class.c:2486
++#: cp/class.c:2499
+ #, gcc-internal-format
+ msgid "%q+#D invalid; an anonymous struct can only have non-static data members"
+ msgstr ""
+
+-#: cp/class.c:2494 cp/decl2.c:1141
++#: cp/class.c:2507 cp/decl2.c:1184
+ #, gcc-internal-format
+ msgid "private member %q+#D in anonymous union"
+ msgstr ""
+
+-#: cp/class.c:2496
++#: cp/class.c:2509
+ #, gcc-internal-format
+ msgid "private member %q+#D in anonymous struct"
+ msgstr ""
+
+-#: cp/class.c:2501 cp/decl2.c:1143
++#: cp/class.c:2514 cp/decl2.c:1186
+ #, gcc-internal-format
+ msgid "protected member %q+#D in anonymous union"
+ msgstr ""
+
+-#: cp/class.c:2503
++#: cp/class.c:2516
+ #, gcc-internal-format
+ msgid "protected member %q+#D in anonymous struct"
+ msgstr ""
+
+-#: cp/class.c:2677
++#: cp/class.c:2695
+ #, fuzzy, gcc-internal-format
+ msgid "bit-field %q+#D with non-integral type"
+ msgstr "бітавае поле \"%s\" мае нерÑчаіÑны тып"
+
+-#: cp/class.c:2690
++#: cp/class.c:2708
+ #, fuzzy, gcc-internal-format
+ msgid "bit-field %q+D width not an integer constant"
+ msgstr "бітавае поле \"%s\" мае нерÑчаіÑны тып"
+
+-#: cp/class.c:2695
++#: cp/class.c:2713
+ #, gcc-internal-format
+ msgid "negative width in bit-field %q+D"
+ msgstr ""
+
+-#: cp/class.c:2700
++#: cp/class.c:2718
+ #, gcc-internal-format
+ msgid "zero width for bit-field %q+D"
+ msgstr ""
+
+-#: cp/class.c:2706
++#: cp/class.c:2724
+ #, gcc-internal-format
+ msgid "width of %q+D exceeds its type"
+ msgstr ""
+
+-#: cp/class.c:2715
++#: cp/class.c:2733
+ #, gcc-internal-format
+ msgid "%q+D is too small to hold all values of %q#T"
+ msgstr ""
+
+-#: cp/class.c:2772
++#: cp/class.c:2790
+ #, gcc-internal-format
+ msgid "member %q+#D with constructor not allowed in union"
+ msgstr ""
+
+-#: cp/class.c:2775
++#: cp/class.c:2793
+ #, gcc-internal-format
+ msgid "member %q+#D with destructor not allowed in union"
+ msgstr ""
+
+-#: cp/class.c:2777
++#: cp/class.c:2795
+ #, gcc-internal-format
+ msgid "member %q+#D with copy assignment operator not allowed in union"
+ msgstr ""
+
+-#: cp/class.c:2801
++#: cp/class.c:2819
+ #, gcc-internal-format
+ msgid "multiple fields in union %qT initialized"
+ msgstr ""
+
+-#: cp/class.c:2890
++#: cp/class.c:2908
+ #, gcc-internal-format
+ msgid "%q+D may not be static because it is a member of a union"
+ msgstr ""
+
+-#: cp/class.c:2895
++#: cp/class.c:2913
+ #, gcc-internal-format
+ msgid "%q+D may not have reference type %qT because it is a member of a union"
+ msgstr ""
+
+-#: cp/class.c:2906
++#: cp/class.c:2924
+ #, fuzzy, gcc-internal-format
+ msgid "field %q+D invalidly declared function type"
+ msgstr "бітавае поле \"%s\" мае нерÑчаіÑны тып"
+
+-#: cp/class.c:2912
++#: cp/class.c:2930
+ #, fuzzy, gcc-internal-format
+ msgid "field %q+D invalidly declared method type"
+ msgstr "бітавае поле \"%s\" мае нерÑчаіÑны тып"
+
+-#: cp/class.c:2944
++#: cp/class.c:2968
+ #, gcc-internal-format
+-msgid "non-static reference %q+#D in class without a constructor"
+-msgstr ""
+-
+-#: cp/class.c:2955
+-#, gcc-internal-format
+ msgid "ignoring packed attribute because of unpacked non-POD field %q+#D"
+ msgstr ""
+
+-#: cp/class.c:3022
++#: cp/class.c:3047
+ #, gcc-internal-format
+-msgid "non-static const member %q+#D in class without a constructor"
+-msgstr ""
+-
+-#: cp/class.c:3037
+-#, gcc-internal-format
+ msgid "field %q+#D with same name as class"
+ msgstr ""
+
+-#: cp/class.c:3068
++#: cp/class.c:3078
+ #, gcc-internal-format
+ msgid "%q#T has pointer data members"
+ msgstr ""
+
+-#: cp/class.c:3073
++#: cp/class.c:3083
+ #, gcc-internal-format
+ msgid " but does not override %<%T(const %T&)%>"
+ msgstr ""
+
+-#: cp/class.c:3075
++#: cp/class.c:3085
+ #, gcc-internal-format
+ msgid " or %<operator=(const %T&)%>"
+ msgstr ""
+
+-#: cp/class.c:3079
++#: cp/class.c:3089
+ #, gcc-internal-format
+ msgid " but does not override %<operator=(const %T&)%>"
+ msgstr ""
+
+-#: cp/class.c:3540
++#: cp/class.c:3550
+ #, gcc-internal-format
+ msgid "offset of empty base %qT may not be ABI-compliant and maychange in a future version of GCC"
+ msgstr ""
+
+-#: cp/class.c:3665
++#: cp/class.c:3675
+ #, gcc-internal-format
+ msgid "class %qT will be considered nearly empty in a future version of GCC"
+ msgstr ""
+
+-#: cp/class.c:3747
++#: cp/class.c:3757
+ #, fuzzy, gcc-internal-format
+ msgid "initializer specified for non-virtual method %q+D"
+ msgstr "не магу ініцыÑлізаваць ÑÑброўÑкую функцыю \"%s\""
+
+-#: cp/class.c:4412
++#: cp/class.c:4228
+ #, gcc-internal-format
++msgid "non-static reference %q+#D in class without a constructor"
++msgstr ""
++
++#: cp/class.c:4233
++#, gcc-internal-format
++msgid "non-static const member %q+#D in class without a constructor"
++msgstr ""
++
++#: cp/class.c:4488
++#, gcc-internal-format
+ msgid "offset of virtual base %qT is not ABI-compliant and may change in a future version of GCC"
+ msgstr ""
+
+-#: cp/class.c:4513
++#: cp/class.c:4589
+ #, gcc-internal-format
+ msgid "direct base %qT inaccessible in %qT due to ambiguity"
+ msgstr ""
+
+-#: cp/class.c:4525
++#: cp/class.c:4601
+ #, gcc-internal-format
+ msgid "virtual base %qT inaccessible in %qT due to ambiguity"
+ msgstr ""
+
+-#: cp/class.c:4704
++#: cp/class.c:4780
+ #, gcc-internal-format
+ msgid "size assigned to %qT may not be ABI-compliant and may change in a future version of GCC"
+ msgstr ""
+
+-#: cp/class.c:4744
++#: cp/class.c:4820
+ #, gcc-internal-format
+ msgid "the offset of %qD may not be ABI-compliant and may change in a future version of GCC"
+ msgstr ""
+
+-#: cp/class.c:4772
++#: cp/class.c:4848
+ #, gcc-internal-format
+ msgid "offset of %q+D is not ABI-compliant and may change in a future version of GCC"
+ msgstr ""
+
+-#: cp/class.c:4781
++#: cp/class.c:4857
+ #, gcc-internal-format
+ msgid "%q+D contains empty classes which may cause base classes to be placed at different locations in a future version of GCC"
+ msgstr ""
+
+-#: cp/class.c:4864
++#: cp/class.c:4944
+ #, gcc-internal-format
+ msgid "layout of classes derived from empty class %qT may change in a future version of GCC"
+ msgstr ""
+
+-#: cp/class.c:5010 cp/parser.c:14608
++#: cp/class.c:5090 cp/parser.c:14688
+ #, fuzzy, gcc-internal-format
+ msgid "redefinition of %q#T"
+ msgstr "папÑÑ€ÑднÑе вызначÑньне `%#T'"
+
+-#: cp/class.c:5166
++#: cp/class.c:5246
+ #, gcc-internal-format
+ msgid "%q#T has virtual functions and accessible non-virtual destructor"
+ msgstr ""
+
+-#: cp/class.c:5268
++#: cp/class.c:5348
+ #, gcc-internal-format
+ msgid "trying to finish struct, but kicked out due to previous parse errors"
+ msgstr ""
+
+-#: cp/class.c:5728
++#: cp/class.c:5808
+ #, fuzzy, gcc-internal-format
+ msgid "language string %<\"%E\"%> not recognized"
+ msgstr "мова %s не раÑпазнана"
+
+-#: cp/class.c:5817
++#: cp/class.c:5897
+ #, gcc-internal-format
+ msgid "cannot resolve overloaded function %qD based on conversion to type %qT"
+ msgstr ""
+
+-#: cp/class.c:5946
++#: cp/class.c:6026
+ #, gcc-internal-format
+ msgid "no matches converting function %qD to type %q#T"
+ msgstr ""
+
+-#: cp/class.c:5969
++#: cp/class.c:6049
+ #, gcc-internal-format
+ msgid "converting overloaded function %qD to type %q#T is ambiguous"
+ msgstr ""
+
+-#: cp/class.c:5995
++#: cp/class.c:6075
+ #, fuzzy, gcc-internal-format
+ msgid "assuming pointer to member %qD"
+ msgstr "прапушчан ініцыÑлізатар"
+
+-#: cp/class.c:5998
++#: cp/class.c:6078
+ #, gcc-internal-format
+ msgid "(a pointer to member can only be formed with %<&%E%>)"
+ msgstr ""
+
+-#: cp/class.c:6054 cp/class.c:6088
++#: cp/class.c:6134 cp/class.c:6168
+ #, gcc-internal-format
+ msgid "not enough type information"
+ msgstr ""
+
+-#: cp/class.c:6071
++#: cp/class.c:6151
+ #, gcc-internal-format
+ msgid "argument of type %qT does not match %qT"
+ msgstr ""
+@@ -27369,12 +27329,12 @@
+ #. A name N used in a class S shall refer to the same declaration
+ #. in its context and when re-evaluated in the completed scope of
+ #. S.
+-#: cp/class.c:6358 cp/decl.c:1199 cp/name-lookup.c:526
++#: cp/class.c:6438 cp/decl.c:1200 cp/name-lookup.c:525
+ #, fuzzy, gcc-internal-format
+ msgid "declaration of %q#D"
+ msgstr "абвÑшчÑньне `%#D'"
+
+-#: cp/class.c:6359
++#: cp/class.c:6439
+ #, gcc-internal-format
+ msgid "changes meaning of %qD from %q+#D"
+ msgstr ""
+@@ -27409,7 +27369,7 @@
+ msgid "conversion from %qT to %qT discards qualifiers"
+ msgstr ""
+
+-#: cp/cvt.c:470 cp/typeck.c:5257
++#: cp/cvt.c:470 cp/typeck.c:5265
+ #, gcc-internal-format
+ msgid "casting %qT to %qT does not dereference pointer"
+ msgstr ""
+@@ -27419,190 +27379,190 @@
+ msgid "cannot convert type %qT to type %qT"
+ msgstr "\"%s\" мае незавершаны тып"
+
+-#: cp/cvt.c:656
++#: cp/cvt.c:649
+ #, fuzzy, gcc-internal-format
+ msgid "conversion from %q#T to %q#T"
+ msgstr "пераўтварÑньне з `%T' у `%T'"
+
+-#: cp/cvt.c:668 cp/cvt.c:688
++#: cp/cvt.c:661 cp/cvt.c:681
+ #, gcc-internal-format
+ msgid "%q#T used where a %qT was expected"
+ msgstr ""
+
+-#: cp/cvt.c:703
++#: cp/cvt.c:696
+ #, gcc-internal-format
+ msgid "%q#T used where a floating point value was expected"
+ msgstr ""
+
+-#: cp/cvt.c:750
++#: cp/cvt.c:743
+ #, gcc-internal-format
+ msgid "conversion from %qT to non-scalar type %qT requested"
+ msgstr ""
+
+-#: cp/cvt.c:784
++#: cp/cvt.c:777
+ #, gcc-internal-format
+ msgid "pseudo-destructor is not called"
+ msgstr ""
+
+-#: cp/cvt.c:844
++#: cp/cvt.c:837
+ #, gcc-internal-format
+ msgid "object of incomplete type %qT will not be accessed in %s"
+ msgstr ""
+
+-#: cp/cvt.c:849
++#: cp/cvt.c:842
+ #, gcc-internal-format
+ msgid "object of type %qT will not be accessed in %s"
+ msgstr ""
+
+-#: cp/cvt.c:865
++#: cp/cvt.c:858
+ #, gcc-internal-format
+ msgid "object %qE of incomplete type %qT will not be accessed in %s"
+ msgstr ""
+
+ #. [over.over] enumerates the places where we can take the address
+ #. of an overloaded function, and this is not one of them.
+-#: cp/cvt.c:902
++#: cp/cvt.c:895
+ #, gcc-internal-format
+ msgid "%s cannot resolve address of overloaded function"
+ msgstr ""
+
+ #. Only warn when there is no &.
+-#: cp/cvt.c:909
++#: cp/cvt.c:902
+ #, gcc-internal-format
+ msgid "%s is a reference, not call, to function %qE"
+ msgstr ""
+
+-#: cp/cvt.c:926
++#: cp/cvt.c:919
+ #, gcc-internal-format
+ msgid "%s has no effect"
+ msgstr ""
+
+-#: cp/cvt.c:958
++#: cp/cvt.c:951
+ #, gcc-internal-format
+ msgid "value computed is not used"
+ msgstr ""
+
+-#: cp/cvt.c:1068
++#: cp/cvt.c:1061
+ #, gcc-internal-format
+ msgid "converting NULL to non-pointer type"
+ msgstr ""
+
+-#: cp/cvt.c:1174
++#: cp/cvt.c:1167
+ #, gcc-internal-format
+ msgid "ambiguous default type conversion from %qT"
+ msgstr ""
+
+-#: cp/cvt.c:1176
++#: cp/cvt.c:1169
+ #, gcc-internal-format
+ msgid " candidate conversions include %qD and %qD"
+ msgstr ""
+
+-#: cp/decl.c:1062
++#: cp/decl.c:1063
+ #, gcc-internal-format
+ msgid "%qD was declared %<extern%> and later %<static%>"
+ msgstr ""
+
+-#: cp/decl.c:1063 cp/decl.c:1618 objc/objc-act.c:2931 objc/objc-act.c:7503
++#: cp/decl.c:1064 cp/decl.c:1619 objc/objc-act.c:2931 objc/objc-act.c:7503
+ #, fuzzy, gcc-internal-format
+ msgid "previous declaration of %q+D"
+ msgstr "папÑÑ€ÑднÑе абвÑшчÑньне `%D'"
+
+-#: cp/decl.c:1096
++#: cp/decl.c:1097
+ #, gcc-internal-format
+ msgid "declaration of %qF throws different exceptions"
+ msgstr ""
+
+-#: cp/decl.c:1097
++#: cp/decl.c:1098
+ #, fuzzy, gcc-internal-format
+ msgid "from previous declaration %q+F"
+ msgstr "нÑма папÑÑ€ÑднÑга аб'ÑÑžÐ»ÐµÐ½Ð½Ñ Ð´Ð»Ñ \"%s\""
+
+-#: cp/decl.c:1153
++#: cp/decl.c:1154
+ #, fuzzy, gcc-internal-format
+ msgid "function %q+D redeclared as inline"
+ msgstr "\"%s\" не абвешчан (першае выкарыÑтанне Ñž гÑтай функцыі)"
+
+-#: cp/decl.c:1155
++#: cp/decl.c:1156
+ #, fuzzy, gcc-internal-format
+ msgid "previous declaration of %q+D with attribute noinline"
+ msgstr "нÑма папÑÑ€ÑднÑга аб'ÑÑžÐ»ÐµÐ½Ð½Ñ Ð´Ð»Ñ \"%s\""
+
+-#: cp/decl.c:1162
++#: cp/decl.c:1163
+ #, fuzzy, gcc-internal-format
+ msgid "function %q+D redeclared with attribute noinline"
+ msgstr "\"%s\" не абвешчан (першае выкарыÑтанне Ñž гÑтай функцыі)"
+
+-#: cp/decl.c:1164
++#: cp/decl.c:1165
+ #, fuzzy, gcc-internal-format
+ msgid "previous declaration of %q+D was inline"
+ msgstr "нÑма папÑÑ€ÑднÑга аб'ÑÑžÐ»ÐµÐ½Ð½Ñ Ð´Ð»Ñ \"%s\""
+
+-#: cp/decl.c:1186 cp/decl.c:1259
++#: cp/decl.c:1187 cp/decl.c:1260
+ #, fuzzy, gcc-internal-format
+ msgid "shadowing %s function %q#D"
+ msgstr "у функцыі \"%s\":"
+
+-#: cp/decl.c:1195
++#: cp/decl.c:1196
+ #, gcc-internal-format
+ msgid "library function %q#D redeclared as non-function %q#D"
+ msgstr ""
+
+-#: cp/decl.c:1200
++#: cp/decl.c:1201
+ #, fuzzy, gcc-internal-format
+ msgid "conflicts with built-in declaration %q#D"
+ msgstr "паўторнае абвÑшчÑнне меткі \"%s\""
+
+-#: cp/decl.c:1254 cp/decl.c:1380 cp/decl.c:1396
++#: cp/decl.c:1255 cp/decl.c:1381 cp/decl.c:1397
+ #, fuzzy, gcc-internal-format
+ msgid "new declaration %q#D"
+ msgstr "новае абвÑшчÑньне `%#D'"
+
+-#: cp/decl.c:1255
++#: cp/decl.c:1256
+ #, fuzzy, gcc-internal-format
+ msgid "ambiguates built-in declaration %q#D"
+ msgstr "паўторнае абвÑшчÑнне меткі \"%s\""
+
+-#: cp/decl.c:1344
++#: cp/decl.c:1345
+ #, gcc-internal-format
+ msgid "%q#D redeclared as different kind of symbol"
+ msgstr ""
+
+-#: cp/decl.c:1347
++#: cp/decl.c:1348
+ #, fuzzy, gcc-internal-format
+ msgid "previous declaration of %q+#D"
+ msgstr "папÑÑ€ÑднÑе абвÑшчÑньне `%#D'"
+
+-#: cp/decl.c:1366
++#: cp/decl.c:1367
+ #, fuzzy, gcc-internal-format
+ msgid "declaration of template %q#D"
+ msgstr "абвÑшчÑньне шаблёну `%#D'"
+
+-#: cp/decl.c:1367 cp/name-lookup.c:527
++#: cp/decl.c:1368 cp/name-lookup.c:526
+ #, fuzzy, gcc-internal-format
+ msgid "conflicts with previous declaration %q+#D"
+ msgstr "канфлікт з папÑÑ€Ñднім абвÑшчÑньнем `%#D'"
+
+-#: cp/decl.c:1381 cp/decl.c:1397
++#: cp/decl.c:1382 cp/decl.c:1398
+ #, fuzzy, gcc-internal-format
+ msgid "ambiguates old declaration %q+#D"
+ msgstr "паўторнае абвÑшчÑнне меткі \"%s\""
+
+-#: cp/decl.c:1389
++#: cp/decl.c:1390
+ #, fuzzy, gcc-internal-format
+ msgid "declaration of C function %q#D conflicts with"
+ msgstr "нÑма папÑÑ€ÑднÑга аб'ÑÑžÐ»ÐµÐ½Ð½Ñ Ð´Ð»Ñ \"%s\""
+
+-#: cp/decl.c:1391
++#: cp/decl.c:1392
+ #, fuzzy, gcc-internal-format
+ msgid "previous declaration %q+#D here"
+ msgstr "нÑма папÑÑ€ÑднÑга аб'ÑÑžÐ»ÐµÐ½Ð½Ñ Ð´Ð»Ñ \"%s\""
+
+-#: cp/decl.c:1405
++#: cp/decl.c:1406
+ #, fuzzy, gcc-internal-format
+ msgid "conflicting declaration %q#D"
+ msgstr "паўторнае абвÑшчÑнне меткі \"%s\""
+
+-#: cp/decl.c:1406
++#: cp/decl.c:1407
+ #, fuzzy, gcc-internal-format
+ msgid "%q+D has a previous declaration as %q#D"
+ msgstr "нÑма папÑÑ€ÑднÑга аб'ÑÑžÐ»ÐµÐ½Ð½Ñ Ð´Ð»Ñ \"%s\""
+@@ -27614,63 +27574,63 @@
+ #. A namespace-name defined at global scope shall not be
+ #. declared as the name of any other entity in any global scope
+ #. of the program.
+-#: cp/decl.c:1458
++#: cp/decl.c:1459
+ #, fuzzy, gcc-internal-format
+ msgid "declaration of namespace %qD conflicts with"
+ msgstr "абвÑшчÑньне шаблёну `%#D'"
+
+-#: cp/decl.c:1459
++#: cp/decl.c:1460
+ #, fuzzy, gcc-internal-format
+ msgid "previous declaration of namespace %q+D here"
+ msgstr "нÑма папÑÑ€ÑднÑга аб'ÑÑžÐ»ÐµÐ½Ð½Ñ Ð´Ð»Ñ \"%s\""
+
+-#: cp/decl.c:1470
++#: cp/decl.c:1471
+ #, fuzzy, gcc-internal-format
+ msgid "%q+#D previously defined here"
+ msgstr "папÑÑ€ÑднÑе вызначÑньне"
+
+ #. Prototype decl follows defn w/o prototype.
+-#: cp/decl.c:1480
++#: cp/decl.c:1481
+ #, fuzzy, gcc-internal-format
+ msgid "prototype for %q+#D"
+ msgstr "нÑма папÑÑ€ÑднÑга прататыпа Ð´Ð»Ñ \"%s\""
+
+-#: cp/decl.c:1481
++#: cp/decl.c:1482
+ #, fuzzy, gcc-internal-format
+ msgid "%Jfollows non-prototype definition here"
+ msgstr "папÑÑ€ÑднÑе вызначÑньне"
+
+-#: cp/decl.c:1521
++#: cp/decl.c:1522
+ #, fuzzy, gcc-internal-format
+ msgid "previous declaration of %q+#D with %qL linkage"
+ msgstr "нÑма папÑÑ€ÑднÑга аб'ÑÑžÐ»ÐµÐ½Ð½Ñ Ð´Ð»Ñ \"%s\""
+
+-#: cp/decl.c:1523
++#: cp/decl.c:1524
+ #, fuzzy, gcc-internal-format
+ msgid "conflicts with new declaration with %qL linkage"
+ msgstr "канфлікт з папÑÑ€Ñднім абвÑшчÑньнем `%#D'"
+
+-#: cp/decl.c:1546 cp/decl.c:1552
++#: cp/decl.c:1547 cp/decl.c:1553
+ #, fuzzy, gcc-internal-format
+ msgid "default argument given for parameter %d of %q#D"
+ msgstr "нехапае аргументаў у функцыі \"%s\""
+
+-#: cp/decl.c:1548 cp/decl.c:1554
++#: cp/decl.c:1549 cp/decl.c:1555
+ #, fuzzy, gcc-internal-format
+ msgid "after previous specification in %q+#D"
+ msgstr "нÑма папÑÑ€ÑднÑга аб'ÑÑžÐ»ÐµÐ½Ð½Ñ Ð´Ð»Ñ \"%s\""
+
+-#: cp/decl.c:1563
++#: cp/decl.c:1564
+ #, gcc-internal-format
+ msgid "%q#D was used before it was declared inline"
+ msgstr ""
+
+-#: cp/decl.c:1564
++#: cp/decl.c:1565
+ #, fuzzy, gcc-internal-format
+ msgid "%Jprevious non-inline declaration here"
+ msgstr "нÑма папÑÑ€ÑднÑга аб'ÑÑžÐ»ÐµÐ½Ð½Ñ Ð´Ð»Ñ \"%s\""
+
+-#: cp/decl.c:1617
++#: cp/decl.c:1618
+ #, fuzzy, gcc-internal-format
+ msgid "redundant redeclaration of %qD in same scope"
+ msgstr "паўторнае абвÑшчÑнне меткі \"%s\""
+@@ -27683,313 +27643,319 @@
+ #. that specialization that would cause an implicit
+ #. instantiation to take place, in every translation unit in
+ #. which such a use occurs.
+-#: cp/decl.c:1932
++#: cp/decl.c:1939
+ #, fuzzy, gcc-internal-format
+ msgid "explicit specialization of %qD after first use"
+ msgstr "ініцыÑлізацыÑ"
+
+-#: cp/decl.c:2028
++#: cp/decl.c:2035
+ #, gcc-internal-format
+ msgid "%q+D: visibility attribute ignored because it"
+ msgstr ""
+
+-#: cp/decl.c:2030
++#: cp/decl.c:2037
+ #, fuzzy, gcc-internal-format
+ msgid "%Jconflicts with previous declaration here"
+ msgstr "канфлікт з папÑÑ€Ñднім абвÑшчÑньнем `%#D'"
+
+-#: cp/decl.c:2457
++#: cp/decl.c:2464
+ #, fuzzy, gcc-internal-format
+ msgid "jump to label %qD"
+ msgstr "паўтарÑнне \"%s\""
+
+-#: cp/decl.c:2459
++#: cp/decl.c:2466
+ #, gcc-internal-format
+ msgid "jump to case label"
+ msgstr ""
+
+-#: cp/decl.c:2461
++#: cp/decl.c:2468
+ #, fuzzy, gcc-internal-format
+ msgid "%H from here"
+ msgstr " адÑюль"
+
+-#: cp/decl.c:2480 cp/decl.c:2643
++#: cp/decl.c:2487 cp/decl.c:2650
+ #, gcc-internal-format
+ msgid " exits OpenMP structured block"
+ msgstr ""
+
+-#: cp/decl.c:2501
++#: cp/decl.c:2508
+ #, fuzzy, gcc-internal-format
+ msgid " crosses initialization of %q+#D"
+ msgstr "ініцыÑлізацыÑ"
+
+-#: cp/decl.c:2503 cp/decl.c:2618
++#: cp/decl.c:2510 cp/decl.c:2625
+ #, gcc-internal-format
+ msgid " enters scope of non-POD %q+#D"
+ msgstr ""
+
+-#: cp/decl.c:2516 cp/decl.c:2622
++#: cp/decl.c:2523 cp/decl.c:2629
+ #, gcc-internal-format
+ msgid " enters try block"
+ msgstr ""
+
+-#: cp/decl.c:2518 cp/decl.c:2624
++#: cp/decl.c:2525 cp/decl.c:2631
+ #, gcc-internal-format
+ msgid " enters catch block"
+ msgstr ""
+
+-#: cp/decl.c:2528 cp/decl.c:2627
++#: cp/decl.c:2535 cp/decl.c:2634
+ #, gcc-internal-format
+ msgid " enters OpenMP structured block"
+ msgstr ""
+
+-#: cp/decl.c:2599 cp/decl.c:2639
++#: cp/decl.c:2606 cp/decl.c:2646
+ #, fuzzy, gcc-internal-format
+ msgid "jump to label %q+D"
+ msgstr "паўтарÑнне \"%s\""
+
+-#: cp/decl.c:2600 cp/decl.c:2640
++#: cp/decl.c:2607 cp/decl.c:2647
+ #, gcc-internal-format
+ msgid " from here"
+ msgstr " адÑюль"
+
+ #. Can't skip init of __exception_info.
+-#: cp/decl.c:2612
++#: cp/decl.c:2619
+ #, gcc-internal-format
+ msgid "%J enters catch block"
+ msgstr ""
+
+-#: cp/decl.c:2616
++#: cp/decl.c:2623
+ #, fuzzy, gcc-internal-format
+ msgid " skips initialization of %q+#D"
+ msgstr "ініцыÑлізацыÑ"
+
+-#: cp/decl.c:2692
++#: cp/decl.c:2699
+ #, gcc-internal-format
+ msgid "label named wchar_t"
+ msgstr ""
+
+-#: cp/decl.c:2696
++#: cp/decl.c:2703
+ #, fuzzy, gcc-internal-format
+ msgid "duplicate label %qD"
+ msgstr "паўтарÑнне \"%s\""
+
+-#: cp/decl.c:2962
++#: cp/decl.c:2969
+ #, fuzzy, gcc-internal-format
+ msgid "%qD is not a type"
+ msgstr "\"%s\" мае незавершаны тып"
+
+-#: cp/decl.c:2968 cp/parser.c:4033
++#: cp/decl.c:2975 cp/parser.c:4037
+ #, fuzzy, gcc-internal-format
+ msgid "%qD used without template parameters"
+ msgstr "нÑвернае выкарыÑтанне \"restict\""
+
+-#: cp/decl.c:2983
++#: cp/decl.c:2990
+ #, fuzzy, gcc-internal-format
+ msgid "%q#T is not a class"
+ msgstr "\"%s\" мае незавершаны тып"
+
+-#: cp/decl.c:2995 cp/decl.c:3063
++#: cp/decl.c:3002 cp/decl.c:3070
+ #, gcc-internal-format
+ msgid "no class template named %q#T in %q#T"
+ msgstr ""
+
+-#: cp/decl.c:3003
++#: cp/decl.c:3010
+ #, gcc-internal-format
+ msgid "%<typename %T::%D%> names %q#T, which is not a class template"
+ msgstr ""
+
+-#: cp/decl.c:3010
++#: cp/decl.c:3017
+ #, gcc-internal-format
+ msgid "%<typename %T::%D%> names %q#T, which is not a type"
+ msgstr ""
+
+-#: cp/decl.c:3072
++#: cp/decl.c:3079
+ #, fuzzy, gcc-internal-format
+ msgid "template parameters do not match template"
+ msgstr "Ð²Ñ–Ñ€Ñ‚ÑƒÐ°Ð»ÑŒÐ½Ñ‹Ñ Ñ„ÑƒÐ½ÐºÑ†Ñ‹Ñ– не могуць быць ÑÑброўÑкімі"
+
+-#: cp/decl.c:3073 cp/friend.c:321 cp/friend.c:329
++#: cp/decl.c:3080 cp/friend.c:321 cp/friend.c:329
+ #, fuzzy, gcc-internal-format
+ msgid "%q+D declared here"
+ msgstr "\"%s\" не абвешчан (першае выкарыÑтанне Ñž гÑтай функцыі)"
+
+-#: cp/decl.c:3711
++#: cp/decl.c:3727
+ #, gcc-internal-format
+ msgid "%Jan anonymous struct cannot have function members"
+ msgstr ""
+
+-#: cp/decl.c:3713
++#: cp/decl.c:3729
+ #, gcc-internal-format
+ msgid "%Jan anonymous union cannot have function members"
+ msgstr ""
+
+-#: cp/decl.c:3731
++#: cp/decl.c:3747
+ #, gcc-internal-format
+ msgid "member %q+#D with constructor not allowed in anonymous aggregate"
+ msgstr ""
+
+-#: cp/decl.c:3734
++#: cp/decl.c:3750
+ #, gcc-internal-format
+ msgid "member %q+#D with destructor not allowed in anonymous aggregate"
+ msgstr ""
+
+-#: cp/decl.c:3737
++#: cp/decl.c:3753
+ #, gcc-internal-format
+ msgid "member %q+#D with copy assignment operator not allowed in anonymous aggregate"
+ msgstr ""
+
+-#: cp/decl.c:3762
++#: cp/decl.c:3778
+ #, gcc-internal-format
+ msgid "multiple types in one declaration"
+ msgstr ""
+
+-#: cp/decl.c:3766
++#: cp/decl.c:3782
+ #, fuzzy, gcc-internal-format
+ msgid "redeclaration of C++ built-in type %qT"
+ msgstr "нÑма папÑÑ€ÑднÑга аб'ÑÑžÐ»ÐµÐ½Ð½Ñ Ð´Ð»Ñ \"%s\""
+
+-#: cp/decl.c:3803
++#: cp/decl.c:3819
+ #, gcc-internal-format
+ msgid "missing type-name in typedef-declaration"
+ msgstr ""
+
+-#: cp/decl.c:3811
++#: cp/decl.c:3827
+ #, gcc-internal-format
+ msgid "ISO C++ prohibits anonymous structs"
+ msgstr ""
+
+-#: cp/decl.c:3818
++#: cp/decl.c:3834
+ #, fuzzy, gcc-internal-format
+ msgid "%qs can only be specified for functions"
+ msgstr "\"%s\" звычайна функцыÑ"
+
+-#: cp/decl.c:3824
++#: cp/decl.c:3840
+ #, gcc-internal-format
+ msgid "%<friend%> can only be specified inside a class"
+ msgstr ""
+
+-#: cp/decl.c:3826
++#: cp/decl.c:3842
+ #, gcc-internal-format
+ msgid "%<explicit%> can only be specified for constructors"
+ msgstr ""
+
+-#: cp/decl.c:3828
++#: cp/decl.c:3844
+ #, gcc-internal-format
+ msgid "a storage class can only be specified for objects and functions"
+ msgstr ""
+
+-#: cp/decl.c:3834
++#: cp/decl.c:3850
+ #, gcc-internal-format
+ msgid "qualifiers can only be specified for objects and functions"
+ msgstr ""
+
+-#: cp/decl.c:3837
++#: cp/decl.c:3853
+ #, gcc-internal-format
+ msgid "%<typedef%> was ignored in this declaration"
+ msgstr ""
+
+-#: cp/decl.c:3866
++#: cp/decl.c:3882
+ #, fuzzy, gcc-internal-format
+ msgid "attribute ignored in declaration of %q+#T"
+ msgstr "нÑма папÑÑ€ÑднÑга аб'ÑÑžÐ»ÐµÐ½Ð½Ñ Ð´Ð»Ñ \"%s\""
+
+-#: cp/decl.c:3867
++#: cp/decl.c:3883
+ #, gcc-internal-format
+ msgid "attribute for %q+#T must follow the %qs keyword"
+ msgstr ""
+
+-#: cp/decl.c:3909
++#: cp/decl.c:3925
+ #, gcc-internal-format
+-msgid "ignoring attributes applied to class type outside of definition"
++msgid "ignoring attributes applied to class type %qT outside of definition"
+ msgstr ""
+
+-#: cp/decl.c:3987
++#. A template type parameter or other dependent type.
++#: cp/decl.c:3929
+ #, gcc-internal-format
++msgid "ignoring attributes applied to dependent type %qT without an associated declaration"
++msgstr ""
++
++#: cp/decl.c:4007
++#, gcc-internal-format
+ msgid "function %q#D is initialized like a variable"
+ msgstr ""
+
+-#: cp/decl.c:3998
++#: cp/decl.c:4018
+ #, gcc-internal-format
+ msgid "declaration of %q#D has %<extern%> and is initialized"
+ msgstr ""
+
+-#: cp/decl.c:4014
++#: cp/decl.c:4034
+ #, gcc-internal-format
+ msgid "definition of %q#D is marked %<dllimport%>"
+ msgstr ""
+
+-#: cp/decl.c:4033
++#: cp/decl.c:4053
+ #, gcc-internal-format
+ msgid "%q#D is not a static member of %q#T"
+ msgstr ""
+
+-#: cp/decl.c:4039
++#: cp/decl.c:4059
+ #, gcc-internal-format
+ msgid "ISO C++ does not permit %<%T::%D%> to be defined as %<%T::%D%>"
+ msgstr ""
+
+-#: cp/decl.c:4048
++#: cp/decl.c:4068
+ #, gcc-internal-format
+ msgid "template header not allowed in member definition of explicitly specialized class"
+ msgstr ""
+
+-#: cp/decl.c:4056
++#: cp/decl.c:4076
+ #, fuzzy, gcc-internal-format
+ msgid "duplicate initialization of %qD"
+ msgstr "паўторнае абвÑшчÑнне меткі \"%s\""
+
+-#: cp/decl.c:4095
++#: cp/decl.c:4115
+ #, gcc-internal-format
+ msgid "declaration of %q#D outside of class is not definition"
+ msgstr ""
+
+-#: cp/decl.c:4188
++#: cp/decl.c:4208
+ #, fuzzy, gcc-internal-format
+ msgid "variable %q#D has initializer but incomplete type"
+ msgstr "\"%s\" мае незавершаны тып"
+
+-#: cp/decl.c:4194 cp/decl.c:4906
++#: cp/decl.c:4214 cp/decl.c:4926
+ #, fuzzy, gcc-internal-format
+ msgid "elements of array %q#D have incomplete type"
+ msgstr "\"%s\" мае незавершаны тып"
+
+-#: cp/decl.c:4200
++#: cp/decl.c:4220
+ #, gcc-internal-format
+ msgid "aggregate %q#D has incomplete type and cannot be defined"
+ msgstr ""
+
+-#: cp/decl.c:4236
++#: cp/decl.c:4256
+ #, gcc-internal-format
+ msgid "%qD declared as reference but not initialized"
+ msgstr ""
+
+-#: cp/decl.c:4242
++#: cp/decl.c:4262
+ #, gcc-internal-format
+ msgid "ISO C++ forbids use of initializer list to initialize reference %qD"
+ msgstr ""
+
+-#: cp/decl.c:4268
++#: cp/decl.c:4288
+ #, fuzzy, gcc-internal-format
+ msgid "cannot initialize %qT from %qT"
+ msgstr "не магу ініцыÑлізаваць ÑÑброўÑкую функцыю \"%s\""
+
+-#: cp/decl.c:4296
++#: cp/decl.c:4316
+ #, gcc-internal-format
+ msgid "name %qD used in a GNU-style designated initializer for an array"
+ msgstr ""
+
+-#: cp/decl.c:4345
++#: cp/decl.c:4365
+ #, gcc-internal-format
+ msgid "initializer fails to determine size of %qD"
+ msgstr ""
+
+-#: cp/decl.c:4352
++#: cp/decl.c:4372
+ #, fuzzy, gcc-internal-format
+ msgid "array size missing in %qD"
+ msgstr "прапушчан памер маÑіва Ñž `%D'"
+
+-#: cp/decl.c:4364
++#: cp/decl.c:4384
+ #, fuzzy, gcc-internal-format
+ msgid "zero-size array %qD"
+ msgstr "нулÑвы памер маÑіва `%D'"
+@@ -27997,240 +27963,250 @@
+ #. An automatic variable with an incomplete type: that is an error.
+ #. Don't talk about array types here, since we took care of that
+ #. message in grokdeclarator.
+-#: cp/decl.c:4407
++#: cp/decl.c:4427
+ #, gcc-internal-format
+ msgid "storage size of %qD isn't known"
+ msgstr ""
+
+-#: cp/decl.c:4429
++#: cp/decl.c:4449
+ #, fuzzy, gcc-internal-format
+ msgid "storage size of %qD isn't constant"
+ msgstr "тып параметра \"%s\" не аб'Ñўлены"
+
+-#: cp/decl.c:4478
++#: cp/decl.c:4498
+ #, 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.c:4481
++#: cp/decl.c:4501
+ #, gcc-internal-format
+ msgid "%J you can work around this by removing the initializer"
+ msgstr ""
+
+-#: cp/decl.c:4508
++#: cp/decl.c:4528
+ #, fuzzy, gcc-internal-format
+ msgid "uninitialized const %qD"
+ msgstr "не магу ініцыÑлізаваць ÑÑброўÑкую функцыю \"%s\""
+
+-#: cp/decl.c:4620
++#: cp/decl.c:4640
+ #, fuzzy, gcc-internal-format
+ msgid "invalid type %qT as initializer for a vector of type %qT"
+ msgstr "нерÑчаіÑны ініцыÑлізатар"
+
+-#: cp/decl.c:4662
++#: cp/decl.c:4682
+ #, gcc-internal-format
+ msgid "initializer for %qT must be brace-enclosed"
+ msgstr ""
+
+-#: cp/decl.c:4680
++#: cp/decl.c:4700
+ #, gcc-internal-format
+ msgid "%qT has no non-static data member named %qD"
+ msgstr ""
+
+-#: cp/decl.c:4731
++#: cp/decl.c:4751
+ #, fuzzy, gcc-internal-format
+ msgid "braces around scalar initializer for type %qT"
+ msgstr "не магу ініцыÑлізаваць ÑÑброўÑкую функцыю \"%s\""
+
+-#: cp/decl.c:4814
++#: cp/decl.c:4834
+ #, fuzzy, gcc-internal-format
+ msgid "missing braces around initializer for %qT"
+ msgstr "не магу ініцыÑлізаваць ÑÑброўÑкую функцыю \"%s\""
+
+-#: cp/decl.c:4871
++#: cp/decl.c:4891
+ #, fuzzy, gcc-internal-format
+ msgid "too many initializers for %qT"
+ msgstr "не магу ініцыÑлізаваць ÑÑброўÑкую функцыю \"%s\""
+
+-#: cp/decl.c:4914
++#: cp/decl.c:4934
+ #, gcc-internal-format
+ msgid "variable-sized object %qD may not be initialized"
+ msgstr ""
+
+-#: cp/decl.c:4920
++#: cp/decl.c:4940
+ #, fuzzy, gcc-internal-format
+ msgid "%qD has incomplete type"
+ msgstr "\"%s\" мае незавершаны тып"
+
+-#: cp/decl.c:4935
++#: cp/decl.c:4955
+ #, gcc-internal-format
+ msgid "scalar object %qD requires one element in initializer"
+ msgstr ""
+
+ #. A non-aggregate that is not a scalar cannot be initialized
+ #. via an initializer-list in C++98.
+-#: cp/decl.c:4945
++#: cp/decl.c:4965
+ #, gcc-internal-format
+ msgid "braces around initializer for non-aggregate type %qT"
+ msgstr ""
+
+-#: cp/decl.c:4995
++#: cp/decl.c:5015
+ #, gcc-internal-format
+ msgid "%qD must be initialized by constructor, not by %<{...}%>"
+ msgstr ""
+
+-#: cp/decl.c:5031
++#: cp/decl.c:5051
+ #, gcc-internal-format
+ msgid "array %qD initialized by parenthesized string literal %qE"
+ msgstr ""
+
+-#: cp/decl.c:5046
++#: cp/decl.c:5066
+ #, fuzzy, gcc-internal-format
+ msgid "structure %qD with uninitialized const members"
+ msgstr "параметр \"%s\" ініцыÑлізаваны"
+
+-#: cp/decl.c:5048
++#: cp/decl.c:5068
+ #, fuzzy, gcc-internal-format
+ msgid "structure %qD with uninitialized reference members"
+ msgstr "параметр \"%s\" ініцыÑлізаваны"
+
+-#: cp/decl.c:5330
++#: cp/decl.c:5364
+ #, gcc-internal-format
+ msgid "assignment (not initialization) in declaration"
+ msgstr ""
+
+-#: cp/decl.c:5420
++#: cp/decl.c:5460
+ #, fuzzy, gcc-internal-format
+ msgid "shadowing previous type declaration of %q#D"
+ msgstr "нÑма папÑÑ€ÑднÑга аб'ÑÑžÐ»ÐµÐ½Ð½Ñ Ð´Ð»Ñ \"%s\""
+
+-#: cp/decl.c:5450
++#: cp/decl.c:5490
+ #, gcc-internal-format
+ msgid "%qD cannot be thread-local because it has non-POD type %qT"
+ msgstr ""
+
+-#: cp/decl.c:5485
++#: cp/decl.c:5522
+ #, gcc-internal-format
++msgid "Java object %qD not allocated with %<new%>"
++msgstr ""
++
++#: cp/decl.c:5539
++#, gcc-internal-format
+ msgid "%qD is thread-local and so cannot be dynamically initialized"
+ msgstr ""
+
+-#: cp/decl.c:5503
++#: cp/decl.c:5557
+ #, gcc-internal-format
+ msgid "%qD cannot be initialized by a non-constant expression when being declared"
+ msgstr ""
+
+-#: cp/decl.c:6160
++#: cp/decl.c:5597
+ #, gcc-internal-format
++msgid "non-static data member %qD has Java class type"
++msgstr ""
++
++#: cp/decl.c:6232
++#, gcc-internal-format
+ msgid "destructor for alien class %qT cannot be a member"
+ msgstr ""
+
+-#: cp/decl.c:6162
++#: cp/decl.c:6234
+ #, gcc-internal-format
+ msgid "constructor for alien class %qT cannot be a member"
+ msgstr ""
+
+-#: cp/decl.c:6183
++#: cp/decl.c:6255
+ #, gcc-internal-format
+ msgid "%qD declared as a %<virtual%> %s"
+ msgstr ""
+
+-#: cp/decl.c:6185
++#: cp/decl.c:6257
+ #, gcc-internal-format
+ msgid "%qD declared as an %<inline%> %s"
+ msgstr ""
+
+-#: cp/decl.c:6187
++#: cp/decl.c:6259
+ #, gcc-internal-format
+ msgid "%<const%> and %<volatile%> function specifiers on %qD invalid in %s declaration"
+ msgstr ""
+
+-#: cp/decl.c:6191
++#: cp/decl.c:6263
+ #, gcc-internal-format
+ msgid "%q+D declared as a friend"
+ msgstr ""
+
+-#: cp/decl.c:6197
++#: cp/decl.c:6269
+ #, fuzzy, gcc-internal-format
+ msgid "%q+D declared with an exception specification"
+ msgstr "\"%s\" не абвешчан (першае выкарыÑтанне Ñž гÑтай функцыі)"
+
+-#: cp/decl.c:6231
++#: cp/decl.c:6303
+ #, gcc-internal-format
+ msgid "definition of %qD is not in namespace enclosing %qT"
+ msgstr ""
+
+-#: cp/decl.c:6342
++#: cp/decl.c:6414
+ #, fuzzy, gcc-internal-format
+ msgid "defining explicit specialization %qD in friend declaration"
+ msgstr "ініцыÑлізацыÑ"
+
+ #. Something like `template <class T> friend void f<T>()'.
+-#: cp/decl.c:6352
++#: cp/decl.c:6424
+ #, fuzzy, gcc-internal-format
+ msgid "invalid use of template-id %qD in declaration of primary template"
+ msgstr "нÑвернае выкарыÑтанне \"restict\""
+
+-#: cp/decl.c:6382
++#: cp/decl.c:6454
+ #, gcc-internal-format
+ msgid "default arguments are not allowed in declaration of friend template specialization %qD"
+ msgstr ""
+
+-#: cp/decl.c:6390
++#: cp/decl.c:6462
+ #, gcc-internal-format
+ msgid "%<inline%> is not allowed in declaration of friend template specialization %qD"
+ msgstr ""
+
+-#: cp/decl.c:6433
++#: cp/decl.c:6505
+ #, gcc-internal-format
+ msgid "cannot declare %<::main%> to be a template"
+ msgstr ""
+
+-#: cp/decl.c:6435
++#: cp/decl.c:6507
+ #, gcc-internal-format
+ msgid "cannot declare %<::main%> to be inline"
+ msgstr ""
+
+-#: cp/decl.c:6437
++#: cp/decl.c:6509
+ #, gcc-internal-format
+ msgid "cannot declare %<::main%> to be static"
+ msgstr ""
+
+-#: cp/decl.c:6465
++#: cp/decl.c:6537
+ #, gcc-internal-format
+ msgid "non-local function %q#D uses anonymous type"
+ msgstr ""
+
+-#: cp/decl.c:6468 cp/decl.c:6748
++#: cp/decl.c:6540 cp/decl.c:6820
+ #, gcc-internal-format
+ msgid "%q+#D does not refer to the unqualified type, so it is not used for linkage"
+ msgstr ""
+
+-#: cp/decl.c:6474
++#: cp/decl.c:6546
+ #, gcc-internal-format
+ msgid "non-local function %q#D uses local type %qT"
+ msgstr ""
+
+-#: cp/decl.c:6498
++#: cp/decl.c:6570
+ #, gcc-internal-format
+ msgid "static member function %qD cannot have cv-qualifier"
+ msgstr ""
+
+-#: cp/decl.c:6499
++#: cp/decl.c:6571
+ #, gcc-internal-format
+ msgid "non-member function %qD cannot have cv-qualifier"
+ msgstr ""
+
+-#: cp/decl.c:6547
++#: cp/decl.c:6619
+ #, fuzzy, gcc-internal-format
+ msgid "%<::main%> must return %<int%>"
+ msgstr "`main' павінна вÑртаць `int'"
+
+-#: cp/decl.c:6586
++#: cp/decl.c:6658
+ #, gcc-internal-format
+ msgid "definition of implicitly-declared %qD"
+ msgstr ""
+
+-#: cp/decl.c:6603 cp/decl2.c:677
++#: cp/decl.c:6675 cp/decl2.c:677
+ #, gcc-internal-format
+ msgid "no %q#D member function declared in class %qT"
+ msgstr ""
+@@ -28239,546 +28215,551 @@
+ #. 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/decl.c:6745
++#: cp/decl.c:6817
+ #, gcc-internal-format
+ msgid "non-local variable %q#D uses anonymous type"
+ msgstr ""
+
+-#: cp/decl.c:6754
++#: cp/decl.c:6826
+ #, gcc-internal-format
+ msgid "non-local variable %q#D uses local type %qT"
+ msgstr ""
+
+-#: cp/decl.c:6876
++#: cp/decl.c:6948
+ #, gcc-internal-format
+ msgid "invalid in-class initialization of static data member of non-integral type %qT"
+ msgstr ""
+
+-#: cp/decl.c:6886
++#: cp/decl.c:6958
+ #, gcc-internal-format
+ msgid "ISO C++ forbids in-class initialization of non-const static member %qD"
+ msgstr ""
+
+-#: cp/decl.c:6890
++#: cp/decl.c:6962
+ #, gcc-internal-format
+ msgid "ISO C++ forbids initialization of member constant %qD of non-integral type %qT"
+ msgstr ""
+
+-#: cp/decl.c:6915
++#: cp/decl.c:6987
+ #, fuzzy, gcc-internal-format
+ msgid "size of array %qD has non-integral type %qT"
+ msgstr "памер маÑіва `%D' не цÑлалікавы тып"
+
+-#: cp/decl.c:6917
++#: cp/decl.c:6989
+ #, fuzzy, gcc-internal-format
+ msgid "size of array has non-integral type %qT"
+ msgstr "памер маÑіва \"%s\" адмоўны"
+
+-#: cp/decl.c:6965
++#: cp/decl.c:7037
+ #, fuzzy, gcc-internal-format
+ msgid "size of array %qD is negative"
+ msgstr "памер маÑіва `%D' - адмоўны"
+
+-#: cp/decl.c:6967
++#: cp/decl.c:7039
+ #, gcc-internal-format
+ msgid "size of array is negative"
+ msgstr "адмоўны памер маÑіва "
+
+-#: cp/decl.c:6975
++#: cp/decl.c:7047
+ #, fuzzy, gcc-internal-format
+ msgid "ISO C++ forbids zero-size array %qD"
+ msgstr "ISO C не дазвалÑе дÑкларацыі метак (label)"
+
+-#: cp/decl.c:6977
++#: cp/decl.c:7049
+ #, fuzzy, gcc-internal-format
+ msgid "ISO C++ forbids zero-size array"
+ msgstr "ISO C не дазвалÑе дÑкларацыі метак (label)"
+
+-#: cp/decl.c:6984
++#: cp/decl.c:7056
+ #, fuzzy, gcc-internal-format
+ msgid "size of array %qD is not an integral constant-expression"
+ msgstr "памер маÑіва \"%s\" адмоўны"
+
+-#: cp/decl.c:6987
++#: cp/decl.c:7059
+ #, gcc-internal-format
+ msgid "size of array is not an integral constant-expression"
+ msgstr ""
+
+-#: cp/decl.c:6993
++#: cp/decl.c:7065
+ #, fuzzy, gcc-internal-format
+ msgid "ISO C++ forbids variable length array %qD"
+ msgstr "ISO C не дазвалÑе дÑкларацыі метак (label)"
+
+-#: cp/decl.c:6995
++#: cp/decl.c:7067
+ #, fuzzy, gcc-internal-format
+ msgid "ISO C++ forbids variable length array"
+ msgstr "ISO C не дазвалÑе дÑкларацыі метак (label)"
+
+-#: cp/decl.c:7001
++#: cp/decl.c:7073
+ #, gcc-internal-format
+ msgid "variable length array %qD is used"
+ msgstr ""
+
+-#: cp/decl.c:7035
++#: cp/decl.c:7107
+ #, gcc-internal-format
+ msgid "overflow in array dimension"
+ msgstr ""
+
+-#: cp/decl.c:7116
++#: cp/decl.c:7188
+ #, fuzzy, gcc-internal-format
+ msgid "declaration of %qD as %s"
+ msgstr "абвÑшчÑньне `%#D'"
+
+-#: cp/decl.c:7118
++#: cp/decl.c:7190
+ #, gcc-internal-format
+ msgid "creating %s"
+ msgstr ""
+
+-#: cp/decl.c:7130
++#: cp/decl.c:7202
+ #, gcc-internal-format
+ msgid "declaration of %qD as multidimensional array must have bounds for all dimensions except the first"
+ msgstr ""
+
+-#: cp/decl.c:7134
++#: cp/decl.c:7206
+ #, gcc-internal-format
+ msgid "multidimensional array must have bounds for all dimensions except the first"
+ msgstr ""
+
+-#: cp/decl.c:7169
++#: cp/decl.c:7241
+ #, gcc-internal-format
+ msgid "return type specification for constructor invalid"
+ msgstr ""
+
+-#: cp/decl.c:7179
++#: cp/decl.c:7251
+ #, gcc-internal-format
+ msgid "return type specification for destructor invalid"
+ msgstr ""
+
+-#: cp/decl.c:7192
++#: cp/decl.c:7264
+ #, gcc-internal-format
+ msgid "return type specified for %<operator %T%>"
+ msgstr ""
+
+-#: cp/decl.c:7214
++#: cp/decl.c:7286
+ #, gcc-internal-format
+ msgid "unnamed variable or field declared void"
+ msgstr ""
+
+-#: cp/decl.c:7218
++#: cp/decl.c:7290
+ #, fuzzy, gcc-internal-format
+ msgid "variable or field %qE declared void"
+ msgstr "тып параметра \"%s\" не аб'Ñўлены"
+
+-#: cp/decl.c:7221
++#: cp/decl.c:7293
+ #, gcc-internal-format
+ msgid "variable or field declared void"
+ msgstr ""
+
+-#: cp/decl.c:7388
++#: cp/decl.c:7460
+ #, fuzzy, gcc-internal-format
+ msgid "invalid use of qualified-name %<::%D%>"
+ msgstr "нÑвернае выкарыÑтанне \"restict\""
+
+-#: cp/decl.c:7391
++#: cp/decl.c:7463
+ #, fuzzy, gcc-internal-format
+ msgid "invalid use of qualified-name %<%T::%D%>"
+ msgstr "нÑвернае выкарыÑтанне \"restict\""
+
+-#: cp/decl.c:7394
++#: cp/decl.c:7466
+ #, fuzzy, gcc-internal-format
+ msgid "invalid use of qualified-name %<%D::%D%>"
+ msgstr "нÑвернае выкарыÑтанне \"restict\""
+
+-#: cp/decl.c:7406
++#: cp/decl.c:7478
+ #, gcc-internal-format
+ msgid "type %qT is not derived from type %qT"
+ msgstr ""
+
+-#: cp/decl.c:7422 cp/decl.c:7512 cp/decl.c:8660
++#: cp/decl.c:7494 cp/decl.c:7584 cp/decl.c:8732
+ #, fuzzy, gcc-internal-format
+ msgid "declaration of %qD as non-function"
+ msgstr "нÑма папÑÑ€ÑднÑга аб'ÑÑžÐ»ÐµÐ½Ð½Ñ Ð´Ð»Ñ \"%s\""
+
+-#: cp/decl.c:7428
++#: cp/decl.c:7500
+ #, fuzzy, gcc-internal-format
+ msgid "declaration of %qD as non-member"
+ msgstr "абвÑшчÑньне `%#D'"
+
+-#: cp/decl.c:7457
++#: cp/decl.c:7529
+ #, gcc-internal-format
+ msgid "declarator-id missing; using reserved word %qD"
+ msgstr ""
+
+-#: cp/decl.c:7504
++#: cp/decl.c:7576
+ #, gcc-internal-format
+ msgid "function definition does not declare parameters"
+ msgstr ""
+
+-#: cp/decl.c:7546
++#: cp/decl.c:7618
+ #, fuzzy, gcc-internal-format
+ msgid "two or more data types in declaration of %qs"
+ msgstr "пуÑтое абвÑшчÑнне"
+
+-#: cp/decl.c:7552
++#: cp/decl.c:7624
+ #, fuzzy, gcc-internal-format
+ msgid "conflicting specifiers in declaration of %qs"
+ msgstr "канфлікт з папÑÑ€Ñднім абвÑшчÑньнем `%#D'"
+
+-#: cp/decl.c:7623 cp/decl.c:7626
++#: cp/decl.c:7695 cp/decl.c:7698
+ #, fuzzy, gcc-internal-format
+ msgid "ISO C++ forbids declaration of %qs with no type"
+ msgstr "ISO C не дазвалÑе дÑкларацыі метак (label)"
+
+-#: cp/decl.c:7651
++#: cp/decl.c:7723
+ #, fuzzy, gcc-internal-format
+ msgid "%<signed%> or %<unsigned%> invalid for %qs"
+ msgstr "long, short, signed ці unsigned нерÑчаіÑны Ð´Ð»Ñ \"%s\""
+
+-#: cp/decl.c:7653
++#: cp/decl.c:7725
+ #, gcc-internal-format
+ msgid "%<signed%> and %<unsigned%> specified together for %qs"
+ msgstr ""
+
+-#: cp/decl.c:7655
++#: cp/decl.c:7727
+ #, fuzzy, gcc-internal-format
+ msgid "%<long long%> invalid for %qs"
+ msgstr "complex нерÑчаіÑны Ð´Ð»Ñ \"%s\""
+
+-#: cp/decl.c:7657
++#: cp/decl.c:7729
+ #, fuzzy, gcc-internal-format
+ msgid "%<long%> invalid for %qs"
+ msgstr "complex нерÑчаіÑны Ð´Ð»Ñ \"%s\""
+
+-#: cp/decl.c:7659
++#: cp/decl.c:7731
+ #, fuzzy, gcc-internal-format
+ msgid "%<short%> invalid for %qs"
+ msgstr "complex нерÑчаіÑны Ð´Ð»Ñ \"%s\""
+
+-#: cp/decl.c:7661
++#: cp/decl.c:7733
+ #, fuzzy, gcc-internal-format
+ msgid "%<long%> or %<short%> invalid for %qs"
+ msgstr "long, short, signed ці unsigned нерÑчаіÑны Ð´Ð»Ñ \"%s\""
+
+-#: cp/decl.c:7663
++#: cp/decl.c:7735
+ #, gcc-internal-format
+ msgid "%<long%> or %<short%> specified with char for %qs"
+ msgstr ""
+
+-#: cp/decl.c:7665
++#: cp/decl.c:7737
+ #, gcc-internal-format
+ msgid "%<long%> and %<short%> specified together for %qs"
+ msgstr ""
+
+-#: cp/decl.c:7671
++#: cp/decl.c:7743
+ #, fuzzy, gcc-internal-format
+ msgid "long, short, signed or unsigned used invalidly for %qs"
+ msgstr "long, short, signed ці unsigned нерÑчаіÑны Ð´Ð»Ñ \"%s\""
+
+-#: cp/decl.c:7735
++#: cp/decl.c:7807
+ #, fuzzy, gcc-internal-format
+ msgid "complex invalid for %qs"
+ msgstr "complex нерÑчаіÑны Ð´Ð»Ñ \"%s\""
+
+-#: cp/decl.c:7764
++#: cp/decl.c:7836
+ #, gcc-internal-format
+ msgid "qualifiers are not allowed on declaration of %<operator %T%>"
+ msgstr ""
+
+-#: cp/decl.c:7776 cp/typeck.c:7011
++#: cp/decl.c:7848 cp/typeck.c:7039
+ #, fuzzy, gcc-internal-format
+ msgid "ignoring %qV qualifiers added to function type %qT"
+ msgstr "ÐерÑчаіÑны выбар \"%s\""
+
+-#: cp/decl.c:7799
++#: cp/decl.c:7871
+ #, gcc-internal-format
+ msgid "member %qD cannot be declared both virtual and static"
+ msgstr ""
+
+-#: cp/decl.c:7807
++#: cp/decl.c:7879
+ #, fuzzy, gcc-internal-format
+ msgid "%<%T::%D%> is not a valid declarator"
+ msgstr "\"%s\" - гÑта не пачатак дÑкларацыі"
+
+-#: cp/decl.c:7816
++#: cp/decl.c:7888
+ #, gcc-internal-format
+ msgid "typedef declaration invalid in parameter declaration"
+ msgstr ""
+
+-#: cp/decl.c:7822
++#: cp/decl.c:7894
+ #, gcc-internal-format
+ msgid "storage class specifiers invalid in parameter declarations"
+ msgstr ""
+
+-#: cp/decl.c:7829
++#: cp/decl.c:7901
+ #, gcc-internal-format
+ msgid "virtual outside class declaration"
+ msgstr ""
+
+-#: cp/decl.c:7847
++#: cp/decl.c:7919
+ #, fuzzy, gcc-internal-format
+ msgid "multiple storage classes in declaration of %qs"
+ msgstr "паўторнае абвÑшчÑньне адмеціны `%s'"
+
+-#: cp/decl.c:7870
++#: cp/decl.c:7942
+ #, gcc-internal-format
+ msgid "storage class specified for %qs"
+ msgstr ""
+
+-#: cp/decl.c:7904
++#: cp/decl.c:7976
+ #, gcc-internal-format
+ msgid "top-level declaration of %qs specifies %<auto%>"
+ msgstr ""
+
+-#: cp/decl.c:7916
++#: cp/decl.c:7988
+ #, gcc-internal-format
+ msgid "storage class specifiers invalid in friend function declarations"
+ msgstr ""
+
+-#: cp/decl.c:8043
++#: cp/decl.c:8115
+ #, gcc-internal-format
+ msgid "destructor cannot be static member function"
+ msgstr ""
+
+-#: cp/decl.c:8048
++#: cp/decl.c:8120
+ #, gcc-internal-format
+ msgid "destructors may not be cv-qualified"
+ msgstr ""
+
+-#: cp/decl.c:8066
++#: cp/decl.c:8138
+ #, gcc-internal-format
+ msgid "constructors cannot be declared virtual"
+ msgstr ""
+
+-#: cp/decl.c:8079
++#: cp/decl.c:8151
+ #, fuzzy, gcc-internal-format
+ msgid "can't initialize friend function %qs"
+ msgstr "не магу ініцыÑлізаваць ÑÑброўÑкую функцыю \"%s\""
+
+ #. Cannot be both friend and virtual.
+-#: cp/decl.c:8083
++#: cp/decl.c:8155
+ #, gcc-internal-format
+ msgid "virtual functions cannot be friends"
+ msgstr "Ð²Ñ–Ñ€Ñ‚ÑƒÐ°Ð»ÑŒÐ½Ñ‹Ñ Ñ„ÑƒÐ½ÐºÑ†Ñ‹Ñ– не могуць быць ÑÑброўÑкімі"
+
+-#: cp/decl.c:8087
++#: cp/decl.c:8159
+ #, gcc-internal-format
+ msgid "friend declaration not in class definition"
+ msgstr ""
+
+-#: cp/decl.c:8089
++#: cp/decl.c:8161
+ #, fuzzy, gcc-internal-format
+ msgid "can't define friend function %qs in a local class definition"
+ msgstr "не магу ініцыÑлізаваць ÑÑброўÑкую функцыю \"%s\""
+
+-#: cp/decl.c:8102
++#: cp/decl.c:8174
+ #, gcc-internal-format
+ msgid "destructors may not have parameters"
+ msgstr ""
+
+-#: cp/decl.c:8121
++#: cp/decl.c:8193
+ #, fuzzy, gcc-internal-format
+ msgid "cannot declare pointer to %q#T"
+ msgstr "\"%s\" мае незавершаны тып"
+
+-#: cp/decl.c:8134 cp/decl.c:8141
++#: cp/decl.c:8206 cp/decl.c:8213
+ #, fuzzy, gcc-internal-format
+ msgid "cannot declare reference to %q#T"
+ msgstr "Ðе магу знайÑці файл Ð´Ð»Ñ ÐºÐ»Ð°Ñа %s."
+
+-#: cp/decl.c:8143
++#: cp/decl.c:8215
+ #, gcc-internal-format
+ msgid "cannot declare pointer to %q#T member"
+ msgstr ""
+
+-#: cp/decl.c:8194
++#: cp/decl.c:8266
+ #, gcc-internal-format
+ msgid "cannot declare reference to %q#T, which is not a typedef or a template type argument"
+ msgstr ""
+
+-#: cp/decl.c:8238
++#: cp/decl.c:8310
+ #, gcc-internal-format
+ msgid "template-id %qD used as a declarator"
+ msgstr ""
+
+-#: cp/decl.c:8289
++#: cp/decl.c:8361
+ #, gcc-internal-format
+ msgid "member functions are implicitly friends of their class"
+ msgstr ""
+
+-#: cp/decl.c:8293
++#: cp/decl.c:8365
+ #, gcc-internal-format
+ msgid "extra qualification %<%T::%> on member %qs"
+ msgstr ""
+
+-#: cp/decl.c:8325
++#: cp/decl.c:8397
+ #, gcc-internal-format
+ msgid "cannot define member function %<%T::%s%> within %<%T%>"
+ msgstr ""
+
+-#: cp/decl.c:8342
++#: cp/decl.c:8414
+ #, gcc-internal-format
+ msgid "cannot declare member %<%T::%s%> within %qT"
+ msgstr ""
+
+-#: cp/decl.c:8365
++#: cp/decl.c:8437
+ #, gcc-internal-format
+ msgid "non-parameter %qs cannot be a parameter pack"
+ msgstr ""
+
+-#: cp/decl.c:8386
++#: cp/decl.c:8458
+ #, gcc-internal-format
+ msgid "data member may not have variably modified type %qT"
+ msgstr ""
+
+-#: cp/decl.c:8388
++#: cp/decl.c:8460
+ #, gcc-internal-format
+ msgid "parameter may not have variably modified type %qT"
+ msgstr ""
+
+ #. [dcl.fct.spec] The explicit specifier shall only be used in
+ #. declarations of constructors within a class definition.
+-#: cp/decl.c:8396
++#: cp/decl.c:8468
+ #, gcc-internal-format
+ msgid "only declarations of constructors can be %<explicit%>"
+ msgstr ""
+
+-#: cp/decl.c:8404
++#: cp/decl.c:8476
+ #, fuzzy, gcc-internal-format
+ msgid "non-member %qs cannot be declared %<mutable%>"
+ msgstr "Ð²Ñ–Ñ€Ñ‚ÑƒÐ°Ð»ÑŒÐ½Ñ‹Ñ Ñ„ÑƒÐ½ÐºÑ†Ñ‹Ñ– не могуць быць ÑÑброўÑкімі"
+
+-#: cp/decl.c:8409
++#: cp/decl.c:8481
+ #, gcc-internal-format
+ msgid "non-object member %qs cannot be declared %<mutable%>"
+ msgstr ""
+
+-#: cp/decl.c:8415
++#: cp/decl.c:8487
+ #, fuzzy, gcc-internal-format
+ msgid "function %qs cannot be declared %<mutable%>"
+ msgstr "Ð²Ñ–Ñ€Ñ‚ÑƒÐ°Ð»ÑŒÐ½Ñ‹Ñ Ñ„ÑƒÐ½ÐºÑ†Ñ‹Ñ– не могуць быць ÑÑброўÑкімі"
+
+-#: cp/decl.c:8420
++#: cp/decl.c:8492
+ #, fuzzy, gcc-internal-format
+ msgid "static %qs cannot be declared %<mutable%>"
+ msgstr "Ð²Ñ–Ñ€Ñ‚ÑƒÐ°Ð»ÑŒÐ½Ñ‹Ñ Ñ„ÑƒÐ½ÐºÑ†Ñ‹Ñ– не могуць быць ÑÑброўÑкімі"
+
+-#: cp/decl.c:8425
++#: cp/decl.c:8497
+ #, fuzzy, gcc-internal-format
+ msgid "const %qs cannot be declared %<mutable%>"
+ msgstr "Ð²Ñ–Ñ€Ñ‚ÑƒÐ°Ð»ÑŒÐ½Ñ‹Ñ Ñ„ÑƒÐ½ÐºÑ†Ñ‹Ñ– не могуць быць ÑÑброўÑкімі"
+
+-#: cp/decl.c:8462
++#: cp/decl.c:8534
+ #, gcc-internal-format
+ msgid "%Jtypedef name may not be a nested-name-specifier"
+ msgstr ""
+
+-#: cp/decl.c:8478
++#: cp/decl.c:8550
+ #, gcc-internal-format
+ msgid "ISO C++ forbids nested type %qD with same name as enclosing class"
+ msgstr ""
+
+-#: cp/decl.c:8564
++#: cp/decl.c:8636
+ #, gcc-internal-format
+ msgid "qualified function types cannot be used to declare static member functions"
+ msgstr ""
+
+-#: cp/decl.c:8566
++#: cp/decl.c:8638
+ #, fuzzy, gcc-internal-format
+ msgid "qualified function types cannot be used to declare free functions"
+ msgstr "Ð²Ñ–Ñ€Ñ‚ÑƒÐ°Ð»ÑŒÐ½Ñ‹Ñ Ñ„ÑƒÐ½ÐºÑ†Ñ‹Ñ– не могуць быць ÑÑброўÑкімі"
+
+-#: cp/decl.c:8592
++#: cp/decl.c:8664
+ #, gcc-internal-format
+ msgid "type qualifiers specified for friend class declaration"
+ msgstr ""
+
+-#: cp/decl.c:8597
++#: cp/decl.c:8669
+ #, fuzzy, gcc-internal-format
+ msgid "%<inline%> specified for friend class declaration"
+ msgstr "паўторнае абвÑшчÑнне меткі \"%s\""
+
+-#: cp/decl.c:8605
++#: cp/decl.c:8677
+ #, fuzzy, gcc-internal-format
+ msgid "template parameters cannot be friends"
+ msgstr "Ð²Ñ–Ñ€Ñ‚ÑƒÐ°Ð»ÑŒÐ½Ñ‹Ñ Ñ„ÑƒÐ½ÐºÑ†Ñ‹Ñ– не могуць быць ÑÑброўÑкімі"
+
+-#: cp/decl.c:8607
++#: cp/decl.c:8679
+ #, gcc-internal-format
+ msgid "friend declaration requires class-key, i.e. %<friend class %T::%D%>"
+ msgstr ""
+
+-#: cp/decl.c:8611
++#: cp/decl.c:8683
+ #, gcc-internal-format
+ msgid "friend declaration requires class-key, i.e. %<friend %#T%>"
+ msgstr ""
+
+-#: cp/decl.c:8624
++#: cp/decl.c:8696
+ #, gcc-internal-format
+ msgid "trying to make class %qT a friend of global scope"
+ msgstr ""
+
+-#: cp/decl.c:8635
++#: cp/decl.c:8707
+ #, gcc-internal-format
+ msgid "invalid qualifiers on non-member function type"
+ msgstr ""
+
+-#: cp/decl.c:8650
++#: cp/decl.c:8722
+ #, gcc-internal-format
+ msgid "abstract declarator %qT used as declaration"
+ msgstr ""
+
+-#: cp/decl.c:8679
++#: cp/decl.c:8751
+ #, fuzzy, gcc-internal-format
+ msgid "cannot use %<::%> in parameter declaration"
+ msgstr "Ðе магу знайÑці дÑкларацыю пратакола Ð´Ð»Ñ \"%s\""
+
+ #. Something like struct S { int N::j; };
+-#: cp/decl.c:8725
++#: cp/decl.c:8797
+ #, fuzzy, gcc-internal-format
+ msgid "invalid use of %<::%>"
+ msgstr "нерÑчаіÑнае выкарыÑтаньне `::'"
+
+-#: cp/decl.c:8740
++#: cp/decl.c:8812
+ #, gcc-internal-format
+ msgid "can't make %qD into a method -- not in a class"
+ msgstr ""
+
+-#: cp/decl.c:8749
++#: cp/decl.c:8821
+ #, fuzzy, gcc-internal-format
+ msgid "function %qD declared virtual inside a union"
+ msgstr "\"%s\" не абвешчан (першае выкарыÑтанне Ñž гÑтай функцыі)"
+
+-#: cp/decl.c:8758
++#: cp/decl.c:8830
+ #, gcc-internal-format
+ msgid "%qD cannot be declared virtual, since it is always static"
+ msgstr ""
+
+-#: cp/decl.c:8774
++#: cp/decl.c:8846
+ #, gcc-internal-format
+ msgid "expected qualified name in friend declaration for destructor %qD"
+ msgstr ""
+
+-#: cp/decl.c:8784
++#: cp/decl.c:8856
+ #, fuzzy, gcc-internal-format
+ msgid "declaration of %qD as member of %qT"
+ msgstr "абвÑшчÑньне шаблёну `%#D'"
+
+-#: cp/decl.c:8860
++#: cp/decl.c:8863
++#, gcc-internal-format
++msgid "expected qualified name in friend declaration for constructor %qD"
++msgstr ""
++
++#: cp/decl.c:8939
+ #, fuzzy, gcc-internal-format
+ msgid "field %qD has incomplete type"
+ msgstr "\"%s\" мае незавершаны тып"
+
+-#: cp/decl.c:8862
++#: cp/decl.c:8941
+ #, fuzzy, gcc-internal-format
+ msgid "name %qT has incomplete type"
+ msgstr "\"%s\" мае незавершаны тып"
+
+-#: cp/decl.c:8871
++#: cp/decl.c:8950
+ #, fuzzy, gcc-internal-format
+ msgid " in instantiation of template %qT"
+ msgstr "абвÑшчÑньне шаблёну `%#D'"
+
+-#: cp/decl.c:8880
++#: cp/decl.c:8959
+ #, fuzzy, gcc-internal-format
+ msgid "%qE is neither function nor member function; cannot be declared friend"
+ msgstr "Ð²Ñ–Ñ€Ñ‚ÑƒÐ°Ð»ÑŒÐ½Ñ‹Ñ Ñ„ÑƒÐ½ÐºÑ†Ñ‹Ñ– не могуць быць ÑÑброўÑкімі"
+@@ -28795,103 +28776,108 @@
+ #. the rest of the compiler does not correctly
+ #. handle the initialization unless the member is
+ #. static so we make it static below.
+-#: cp/decl.c:8932
++#: cp/decl.c:9011
+ #, fuzzy, gcc-internal-format
+ msgid "ISO C++ forbids initialization of member %qD"
+ msgstr "ініцыÑлізацыÑ"
+
+-#: cp/decl.c:8934
++#: cp/decl.c:9013
+ #, gcc-internal-format
+ msgid "making %qD static"
+ msgstr ""
+
+-#: cp/decl.c:8999
++#: cp/decl.c:9078
+ #, gcc-internal-format
+ msgid "storage class %<auto%> invalid for function %qs"
+ msgstr ""
+
+-#: cp/decl.c:9001
++#: cp/decl.c:9080
+ #, gcc-internal-format
+ msgid "storage class %<register%> invalid for function %qs"
+ msgstr ""
+
+-#: cp/decl.c:9003
++#: cp/decl.c:9082
+ #, gcc-internal-format
+ msgid "storage class %<__thread%> invalid for function %qs"
+ msgstr ""
+
+-#: cp/decl.c:9014
++#: cp/decl.c:9093
+ #, gcc-internal-format
+ msgid "%<static%> specified invalid for function %qs declared out of global scope"
+ msgstr ""
+
+-#: cp/decl.c:9017
++#: cp/decl.c:9096
+ #, gcc-internal-format
+ msgid "%<inline%> specifier invalid for function %qs declared out of global scope"
+ msgstr ""
+
+-#: cp/decl.c:9025
++#: cp/decl.c:9104
+ #, gcc-internal-format
+ msgid "virtual non-class function %qs"
+ msgstr ""
+
+-#: cp/decl.c:9056
++#: cp/decl.c:9135
+ #, gcc-internal-format
+ msgid "cannot declare member function %qD to have static linkage"
+ msgstr ""
+
+ #. FIXME need arm citation
+-#: cp/decl.c:9063
++#: cp/decl.c:9142
+ #, gcc-internal-format
+ msgid "cannot declare static function inside another function"
+ msgstr ""
+
+-#: cp/decl.c:9093
++#: cp/decl.c:9172
+ #, gcc-internal-format
+ msgid "%<static%> may not be used when defining (as opposed to declaring) a static data member"
+ msgstr ""
+
+-#: cp/decl.c:9100
++#: cp/decl.c:9179
+ #, gcc-internal-format
+ msgid "static member %qD declared %<register%>"
+ msgstr ""
+
+-#: cp/decl.c:9105
++#: cp/decl.c:9184
+ #, gcc-internal-format
+ msgid "cannot explicitly declare member %q#D to have extern linkage"
+ msgstr ""
+
+-#: cp/decl.c:9234
++#: cp/decl.c:9313
+ #, fuzzy, gcc-internal-format
+ msgid "default argument for %q#D has type %qT"
+ msgstr "звычайны аргумÑнт Ð´Ð»Ñ `%#D' мае тып `%T'"
+
+-#: cp/decl.c:9237
++#: cp/decl.c:9316
+ #, fuzzy, gcc-internal-format
+ msgid "default argument for parameter of type %qT has type %qT"
+ msgstr "звычайны аргумÑнт Ð´Ð»Ñ `%#D' мае тып `%T'"
+
+-#: cp/decl.c:9253
++#: cp/decl.c:9332
+ #, fuzzy, gcc-internal-format
+ msgid "default argument %qE uses local variable %qD"
+ msgstr "нехапае аргументаў у функцыі \"%s\""
+
+-#: cp/decl.c:9323
++#: cp/decl.c:9399
+ #, fuzzy, gcc-internal-format
++msgid "parameter %qD has Java class type"
++msgstr "тып параметра \"%s\" не аб'Ñўлены"
++
++#: cp/decl.c:9412
++#, fuzzy, gcc-internal-format
+ msgid "parameter %qD invalidly declared method type"
+ msgstr "тып параметра \"%s\" не аб'Ñўлены"
+
+-#: cp/decl.c:9347
++#: cp/decl.c:9436
+ #, gcc-internal-format
+ msgid "parameter %qD includes %s to array of unknown bound %qT"
+ msgstr ""
+
+-#: cp/decl.c:9361
++#: cp/decl.c:9450
+ #, gcc-internal-format
+ msgid "parameter packs must be at the end of the parameter list"
+ msgstr ""
+
+-#: cp/decl.c:9366
++#: cp/decl.c:9455
+ #, fuzzy, gcc-internal-format
+ msgid "multiple parameters named %qE"
+ msgstr "невыкарыÑтаемы параметр \"%s\""
+@@ -28911,138 +28897,138 @@
+ #. or implicitly defined), there's no need to worry about their
+ #. existence. Theoretically, they should never even be
+ #. instantiated, but that's hard to forestall.
+-#: cp/decl.c:9581
++#: cp/decl.c:9672
+ #, gcc-internal-format
+ msgid "invalid constructor; you probably meant %<%T (const %T&)%>"
+ msgstr ""
+
+-#: cp/decl.c:9703
++#: cp/decl.c:9794
+ #, fuzzy, gcc-internal-format
+ msgid "%qD may not be declared within a namespace"
+ msgstr "\"%s\" не абвешчан (першае выкарыÑтанне Ñž гÑтай функцыі)"
+
+-#: cp/decl.c:9708
++#: cp/decl.c:9799
+ #, fuzzy, gcc-internal-format
+ msgid "%qD may not be declared as static"
+ msgstr "\"%s\" не абвешчан (першае выкарыÑтанне Ñž гÑтай функцыі)"
+
+-#: cp/decl.c:9731
++#: cp/decl.c:9825
+ #, gcc-internal-format
+ msgid "%qD must be a nonstatic member function"
+ msgstr ""
+
+-#: cp/decl.c:9740
++#: cp/decl.c:9834
+ #, gcc-internal-format
+ msgid "%qD must be either a non-static member function or a non-member function"
+ msgstr ""
+
+-#: cp/decl.c:9761
++#: cp/decl.c:9855
+ #, gcc-internal-format
+ msgid "%qD must have an argument of class or enumerated type"
+ msgstr ""
+
+-#: cp/decl.c:9802
++#: cp/decl.c:9896
+ #, gcc-internal-format
+ msgid "conversion to %s%s will never use a type conversion operator"
+ msgstr ""
+
+ #. 13.4.0.3
+-#: cp/decl.c:9810
++#: cp/decl.c:9904
+ #, gcc-internal-format
+ msgid "ISO C++ prohibits overloading operator ?:"
+ msgstr ""
+
+-#: cp/decl.c:9815
++#: cp/decl.c:9909
+ #, gcc-internal-format
+ msgid "%qD must not have variable number of arguments"
+ msgstr ""
+
+-#: cp/decl.c:9866
++#: cp/decl.c:9960
+ #, gcc-internal-format
+ msgid "postfix %qD must take %<int%> as its argument"
+ msgstr ""
+
+-#: cp/decl.c:9869
++#: cp/decl.c:9963
+ #, gcc-internal-format
+ msgid "postfix %qD must take %<int%> as its second argument"
+ msgstr ""
+
+-#: cp/decl.c:9877
++#: cp/decl.c:9971
+ #, gcc-internal-format
+ msgid "%qD must take either zero or one argument"
+ msgstr ""
+
+-#: cp/decl.c:9879
++#: cp/decl.c:9973
+ #, gcc-internal-format
+ msgid "%qD must take either one or two arguments"
+ msgstr ""
+
+-#: cp/decl.c:9901
++#: cp/decl.c:9995
+ #, gcc-internal-format
+ msgid "prefix %qD should return %qT"
+ msgstr ""
+
+-#: cp/decl.c:9907
++#: cp/decl.c:10001
+ #, gcc-internal-format
+ msgid "postfix %qD should return %qT"
+ msgstr ""
+
+-#: cp/decl.c:9916
++#: cp/decl.c:10010
+ #, gcc-internal-format
+ msgid "%qD must take %<void%>"
+ msgstr ""
+
+-#: cp/decl.c:9918 cp/decl.c:9927
++#: cp/decl.c:10012 cp/decl.c:10021
+ #, gcc-internal-format
+ msgid "%qD must take exactly one argument"
+ msgstr ""
+
+-#: cp/decl.c:9929
++#: cp/decl.c:10023
+ #, gcc-internal-format
+ msgid "%qD must take exactly two arguments"
+ msgstr ""
+
+-#: cp/decl.c:9938
++#: cp/decl.c:10032
+ #, gcc-internal-format
+ msgid "user-defined %qD always evaluates both arguments"
+ msgstr ""
+
+-#: cp/decl.c:9952
++#: cp/decl.c:10046
+ #, gcc-internal-format
+ msgid "%qD should return by value"
+ msgstr ""
+
+-#: cp/decl.c:9964 cp/decl.c:9968
++#: cp/decl.c:10058 cp/decl.c:10062
+ #, fuzzy, gcc-internal-format
+ msgid "%qD cannot have default arguments"
+ msgstr "нехапае аргументаў у функцыі \"%s\""
+
+-#: cp/decl.c:10026
++#: cp/decl.c:10120
+ #, fuzzy, gcc-internal-format
+ msgid "using template type parameter %qT after %qs"
+ msgstr "нÑвернае выкарыÑтанне \"restict\""
+
+-#: cp/decl.c:10041
++#: cp/decl.c:10135
+ #, gcc-internal-format
+ msgid "using typedef-name %qD after %qs"
+ msgstr ""
+
+-#: cp/decl.c:10042
++#: cp/decl.c:10136
+ #, fuzzy, gcc-internal-format
+ msgid "%q+D has a previous declaration here"
+ msgstr "гÑта папÑÑ€ÑднÑе абвÑшчÑньне"
+
+-#: cp/decl.c:10050
++#: cp/decl.c:10144
+ #, gcc-internal-format
+ msgid "%qT referred to as %qs"
+ msgstr ""
+
+-#: cp/decl.c:10051 cp/decl.c:10058
++#: cp/decl.c:10145 cp/decl.c:10152
+ #, fuzzy, gcc-internal-format
+ msgid "%q+T has a previous declaration here"
+ msgstr "гÑта папÑÑ€ÑднÑе абвÑшчÑньне"
+
+-#: cp/decl.c:10057
++#: cp/decl.c:10151
+ #, gcc-internal-format
+ msgid "%qT referred to as enum"
+ msgstr ""
+@@ -29054,73 +29040,73 @@
+ #. void f(class C); // No template header here
+ #.
+ #. then the required template argument is missing.
+-#: cp/decl.c:10072
++#: cp/decl.c:10166
+ #, fuzzy, gcc-internal-format
+ msgid "template argument required for %<%s %T%>"
+ msgstr "параметр \"%s\" ініцыÑлізаваны"
+
+-#: cp/decl.c:10120 cp/name-lookup.c:2698
++#: cp/decl.c:10214 cp/name-lookup.c:2700
+ #, gcc-internal-format
+ msgid "%qD has the same name as the class in which it is declared"
+ msgstr ""
+
+-#: cp/decl.c:10150 cp/name-lookup.c:2207 cp/parser.c:4036 cp/parser.c:14029
+-#: cp/parser.c:16234
++#: cp/decl.c:10244 cp/name-lookup.c:2209 cp/parser.c:4040 cp/parser.c:14099
++#: cp/parser.c:16316
+ #, fuzzy, gcc-internal-format
+ msgid "reference to %qD is ambiguous"
+ msgstr "памер \"%s\" - %d байт"
+
+-#: cp/decl.c:10264
++#: cp/decl.c:10358
+ #, fuzzy, gcc-internal-format
+ msgid "use of enum %q#D without previous declaration"
+ msgstr "ÑÐµÐºÑ†Ñ‹Ñ \"%s\" канфліктуе з папÑÑ€ÑднÑй дÑкларацыÑй"
+
+-#: cp/decl.c:10285
++#: cp/decl.c:10379
+ #, fuzzy, gcc-internal-format
+ msgid "redeclaration of %qT as a non-template"
+ msgstr "абвÑшчÑньне шаблёну `%#D'"
+
+-#: cp/decl.c:10286 cp/pt.c:4154
++#: cp/decl.c:10380
+ #, fuzzy, gcc-internal-format
+ msgid "previous declaration %q+D"
+ msgstr "папÑÑ€ÑднÑе абвÑшчÑньне `%D'"
+
+-#: cp/decl.c:10397
++#: cp/decl.c:10491
+ #, gcc-internal-format
+ msgid "derived union %qT invalid"
+ msgstr ""
+
+-#: cp/decl.c:10406
++#: cp/decl.c:10500
+ #, gcc-internal-format
+ msgid "Java class %qT cannot have multiple bases"
+ msgstr ""
+
+-#: cp/decl.c:10417
++#: cp/decl.c:10511
+ #, gcc-internal-format
+ msgid "Java class %qT cannot have virtual bases"
+ msgstr ""
+
+-#: cp/decl.c:10440
++#: cp/decl.c:10534
+ #, gcc-internal-format
+ msgid "base type %qT fails to be a struct or class type"
+ msgstr ""
+
+-#: cp/decl.c:10473
++#: cp/decl.c:10567
+ #, gcc-internal-format
+ msgid "recursive type %qT undefined"
+ msgstr ""
+
+-#: cp/decl.c:10475
++#: cp/decl.c:10569
+ #, fuzzy, gcc-internal-format
+ msgid "duplicate base type %qT invalid"
+ msgstr "паўтарÑнне \"restrict\""
+
+-#: cp/decl.c:10552
++#: cp/decl.c:10646
+ #, fuzzy, gcc-internal-format
+ msgid "multiple definition of %q#T"
+ msgstr "папÑÑ€ÑднÑе вызначÑньне `%#T'"
+
+-#: cp/decl.c:10553
++#: cp/decl.c:10647
+ #, fuzzy, gcc-internal-format
+ msgid "%Jprevious definition here"
+ msgstr "папÑÑ€ÑднÑе вызначÑньне"
+@@ -29129,47 +29115,52 @@
+ #.
+ #. IF no integral type can represent all the enumerator values, the
+ #. enumeration is ill-formed.
+-#: cp/decl.c:10692
++#: cp/decl.c:10786
+ #, gcc-internal-format
+ msgid "no integral type can represent all of the enumerator values for %qT"
+ msgstr ""
+
+-#: cp/decl.c:10803
++#: cp/decl.c:10897
+ #, fuzzy, gcc-internal-format
+ msgid "enumerator value for %qD is not an integer constant"
+ msgstr "памер маÑіва \"%s\" адмоўны"
+
+-#: cp/decl.c:10831
++#: cp/decl.c:10925
+ #, gcc-internal-format
+ msgid "overflow in enumeration values at %qD"
+ msgstr ""
+
+-#: cp/decl.c:10906
++#: cp/decl.c:11002
+ #, fuzzy, gcc-internal-format
+ msgid "return type %q#T is incomplete"
+ msgstr "вÑртаемы тып \"%s\" не \"int\""
+
+-#: cp/decl.c:11031 cp/typeck.c:6711
++#: cp/decl.c:11004
+ #, gcc-internal-format
++msgid "return type has Java class type %q#T"
++msgstr ""
++
++#: cp/decl.c:11129 cp/typeck.c:6739
++#, gcc-internal-format
+ msgid "%<operator=%> should return a reference to %<*this%>"
+ msgstr ""
+
+-#: cp/decl.c:11420
++#: cp/decl.c:11518
+ #, fuzzy, gcc-internal-format
+ msgid "parameter %qD declared void"
+ msgstr "тып параметра \"%s\" не аб'Ñўлены"
+
+-#: cp/decl.c:11908
++#: cp/decl.c:12006
+ #, fuzzy, gcc-internal-format
+ msgid "invalid member function declaration"
+ msgstr "паўторнае абвÑшчÑнне меткі \"%s\""
+
+-#: cp/decl.c:11923
++#: cp/decl.c:12021
+ #, fuzzy, gcc-internal-format
+ msgid "%qD is already defined in class %qT"
+ msgstr "не знойдзен ÐºÐ»Ð°Ñ \"%s\""
+
+-#: cp/decl.c:12170
++#: cp/decl.c:12268
+ #, gcc-internal-format
+ msgid "static member function %q#D declared with type qualifiers"
+ msgstr ""
+@@ -29209,7 +29200,7 @@
+ msgid "deleting %qT is undefined"
+ msgstr "метка \"%s\" ужываецца, але не вызначана"
+
+-#: cp/decl2.c:459 cp/pt.c:3828
++#: cp/decl2.c:459 cp/pt.c:3831
+ #, fuzzy, gcc-internal-format
+ msgid "template declaration of %q#D"
+ msgstr "пуÑтое абвÑшчÑнне"
+@@ -29294,22 +29285,22 @@
+ msgid "static member %qD cannot be a bit-field"
+ msgstr "Ð²Ñ–Ñ€Ñ‚ÑƒÐ°Ð»ÑŒÐ½Ñ‹Ñ Ñ„ÑƒÐ½ÐºÑ†Ñ‹Ñ– не могуць быць ÑÑброўÑкімі"
+
+-#: cp/decl2.c:1122
++#: cp/decl2.c:1165
+ #, gcc-internal-format
+ msgid "anonymous struct not inside named type"
+ msgstr ""
+
+-#: cp/decl2.c:1206
++#: cp/decl2.c:1249
+ #, gcc-internal-format
+ msgid "namespace-scope anonymous aggregates must be static"
+ msgstr ""
+
+-#: cp/decl2.c:1215
++#: cp/decl2.c:1258
+ #, gcc-internal-format
+ msgid "anonymous union with no members"
+ msgstr ""
+
+-#: cp/decl2.c:1251
++#: cp/decl2.c:1294
+ #, gcc-internal-format
+ msgid "%<operator new%> must return type %qT"
+ msgstr ""
+@@ -29318,52 +29309,52 @@
+ #.
+ #. The first parameter shall not have an associated default
+ #. argument.
+-#: cp/decl2.c:1262
++#: cp/decl2.c:1305
+ #, gcc-internal-format
+ msgid "the first parameter of %<operator new%> cannot have a default argument"
+ msgstr ""
+
+-#: cp/decl2.c:1278
++#: cp/decl2.c:1321
+ #, gcc-internal-format
+ msgid "%<operator new%> takes type %<size_t%> (%qT) as first parameter"
+ msgstr ""
+
+-#: cp/decl2.c:1307
++#: cp/decl2.c:1350
+ #, gcc-internal-format
+ msgid "%<operator delete%> must return type %qT"
+ msgstr ""
+
+-#: cp/decl2.c:1316
++#: cp/decl2.c:1359
+ #, gcc-internal-format
+ msgid "%<operator delete%> takes type %qT as first parameter"
+ msgstr ""
+
+-#: cp/decl2.c:1985
++#: cp/decl2.c:2028
+ #, gcc-internal-format
+ msgid "%qT has a field %qD whose type uses the anonymous namespace"
+ msgstr ""
+
+-#: cp/decl2.c:1992
++#: cp/decl2.c:2035
+ #, gcc-internal-format
+ msgid "%qT declared with greater visibility than the type of its field %qD"
+ msgstr ""
+
+-#: cp/decl2.c:2005
++#: cp/decl2.c:2048
+ #, gcc-internal-format
+ msgid "%qT has a base %qT whose type uses the anonymous namespace"
+ msgstr ""
+
+-#: cp/decl2.c:2011
++#: cp/decl2.c:2054
+ #, gcc-internal-format
+ msgid "%qT declared with greater visibility than its base %qT"
+ msgstr ""
+
+-#: cp/decl2.c:3395
++#: cp/decl2.c:3441
+ #, fuzzy, gcc-internal-format
+ msgid "inline function %q+D used but never defined"
+ msgstr "адмеціна `%D' выкарыÑтоўвываецца, але Ð½Ñ Ð²Ñ‹Ð·Ð½Ð°Ñ‡Ð°Ð½Ð°"
+
+-#: cp/decl2.c:3543
++#: cp/decl2.c:3589
+ #, fuzzy, gcc-internal-format
+ msgid "default argument missing for parameter %P of %q+#D"
+ msgstr "аргумент Ð´Ð»Ñ \"%s\" прапушчан"
+@@ -29371,7 +29362,7 @@
+ #. We really want to suppress this warning in system headers,
+ #. because libstdc++ uses variadic templates even when we aren't
+ #. in C++0x mode.
+-#: cp/error.c:2669
++#: cp/error.c:2712
+ #, gcc-internal-format
+ msgid "ISO C++ does not include variadic templates"
+ msgstr ""
+@@ -29403,7 +29394,7 @@
+ msgid "throwing NULL, which has integral, not pointer type"
+ msgstr ""
+
+-#: cp/except.c:643 cp/init.c:1780
++#: cp/except.c:643 cp/init.c:1915
+ #, gcc-internal-format
+ msgid "%qD should never be overloaded"
+ msgstr ""
+@@ -29502,232 +29493,247 @@
+ msgid "member %qD declared as friend before type %qT defined"
+ msgstr ""
+
+-#: cp/friend.c:550
++#: cp/friend.c:543
++#, fuzzy, gcc-internal-format
++msgid "friend declaration %qD in local class without prior declaration"
++msgstr "ÑÐµÐºÑ†Ñ‹Ñ \"%s\" канфліктуе з папÑÑ€ÑднÑй дÑкларацыÑй"
++
++#: cp/friend.c:564
+ #, gcc-internal-format
+ msgid "friend declaration %q#D declares a non-template function"
+ msgstr ""
+
+-#: cp/friend.c:554
++#: cp/friend.c:568
+ #, 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.c:334
++#: cp/init.c:374
++#, gcc-internal-format
++msgid "value-initialization of reference"
++msgstr ""
++
++#: cp/init.c:481
+ #, fuzzy, gcc-internal-format
+ msgid "%J%qD should be initialized in the member initialization list"
+ msgstr "нерÑчаіÑны ініцыÑлізатар"
+
+-#: cp/init.c:382
++#: cp/init.c:529
+ #, gcc-internal-format
+ msgid "%Jdefault-initialization of %q#D, which has reference type"
+ msgstr ""
+
+-#: cp/init.c:388
++#: cp/init.c:535
+ #, fuzzy, gcc-internal-format
+ msgid "%Juninitialized reference member %qD"
+ msgstr "прапушчан ініцыÑлізатар"
+
+-#: cp/init.c:391
++#: cp/init.c:538
+ #, gcc-internal-format
+ msgid "%Juninitialized member %qD with %<const%> type %qT"
+ msgstr ""
+
+-#: cp/init.c:534
++#: cp/init.c:681
+ #, gcc-internal-format
+ msgid "%q+D will be initialized after"
+ msgstr ""
+
+-#: cp/init.c:537
++#: cp/init.c:684
+ #, fuzzy, gcc-internal-format
+ msgid "base %qT will be initialized after"
+ msgstr "ÐšÐ»Ð°Ñ \"%s\" ужо Ñ–Ñнуе"
+
+-#: cp/init.c:540
++#: cp/init.c:687
+ #, gcc-internal-format
+ msgid " %q+#D"
+ msgstr ""
+
+-#: cp/init.c:542
++#: cp/init.c:689
+ #, gcc-internal-format
+ msgid " base %qT"
+ msgstr ""
+
+-#: cp/init.c:543
++#: cp/init.c:690
+ #, fuzzy, gcc-internal-format
+ msgid "%J when initialized here"
+ msgstr "параметр \"%s\" ініцыÑлізаваны"
+
+-#: cp/init.c:559
++#: cp/init.c:706
+ #, fuzzy, gcc-internal-format
+ msgid "%Jmultiple initializations given for %qD"
+ msgstr "ініцыÑлізацыÑ"
+
+-#: cp/init.c:562
++#: cp/init.c:709
+ #, gcc-internal-format
+ msgid "%Jmultiple initializations given for base %qT"
+ msgstr ""
+
+-#: cp/init.c:629
++#: cp/init.c:776
+ #, gcc-internal-format
+ msgid "%Jinitializations for multiple members of %qT"
+ msgstr ""
+
+-#: cp/init.c:691
++#: cp/init.c:839
+ #, gcc-internal-format
+ msgid "%Jbase class %q#T should be explicitly initialized in the copy constructor"
+ msgstr ""
+
+-#: cp/init.c:915 cp/init.c:934
++#: cp/init.c:1063 cp/init.c:1082
+ #, gcc-internal-format
+ msgid "class %qT does not have any field named %qD"
+ msgstr ""
+
+-#: cp/init.c:921
++#: cp/init.c:1069
+ #, gcc-internal-format
+ msgid "%q#D is a static data member; it can only be initialized at its definition"
+ msgstr ""
+
+-#: cp/init.c:928
++#: cp/init.c:1076
+ #, gcc-internal-format
+ msgid "%q#D is not a non-static data member of %qT"
+ msgstr ""
+
+-#: cp/init.c:967
++#: cp/init.c:1115
+ #, gcc-internal-format
+ msgid "unnamed initializer for %qT, which has no base classes"
+ msgstr ""
+
+-#: cp/init.c:975
++#: cp/init.c:1123
+ #, gcc-internal-format
+ msgid "unnamed initializer for %qT, which uses multiple inheritance"
+ msgstr ""
+
+-#: cp/init.c:1021
++#: cp/init.c:1169
+ #, gcc-internal-format
+ msgid "%qD is both a direct base and an indirect virtual base"
+ msgstr ""
+
+-#: cp/init.c:1029
++#: cp/init.c:1177
+ #, gcc-internal-format
+ msgid "type %qT is not a direct or virtual base of %qT"
+ msgstr ""
+
+-#: cp/init.c:1032
++#: cp/init.c:1180
+ #, gcc-internal-format
+ msgid "type %qT is not a direct base of %qT"
+ msgstr ""
+
+-#: cp/init.c:1112
++#: cp/init.c:1260
+ #, fuzzy, gcc-internal-format
+ msgid "bad array initializer"
+ msgstr "нерÑчаіÑны ініцыÑлізатар"
+
+-#: cp/init.c:1287
++#: cp/init.c:1435
+ #, fuzzy, gcc-internal-format
+ msgid "%qT is not an aggregate type"
+ msgstr "\"%s\" мае незавершаны тып"
+
+-#: cp/init.c:1341
++#: cp/init.c:1489
+ #, gcc-internal-format
+ msgid "incomplete type %qT does not have member %qD"
+ msgstr ""
+
+-#: cp/init.c:1354
++#: cp/init.c:1502
+ #, fuzzy, gcc-internal-format
+ msgid "invalid pointer to bit-field %qD"
+ msgstr "нÑвернае выкарыÑтанне \"restict\""
+
+-#: cp/init.c:1431
++#: cp/init.c:1579
+ #, fuzzy, gcc-internal-format
+ msgid "invalid use of non-static member function %qD"
+ msgstr "нÑвернае выкарыÑтанне \"restict\""
+
+-#: cp/init.c:1437
++#: cp/init.c:1585
+ #, fuzzy, gcc-internal-format
+ msgid "invalid use of non-static data member %qD"
+ msgstr "нÑвернае выкарыÑтанне \"restict\""
+
+-#: cp/init.c:1714
++#: cp/init.c:1862
+ #, gcc-internal-format
+ msgid "invalid type %<void%> for new"
+ msgstr ""
+
+-#: cp/init.c:1724
++#: cp/init.c:1872
+ #, fuzzy, gcc-internal-format
+ msgid "uninitialized const in %<new%> of %q#T"
+ msgstr "не магу ініцыÑлізаваць ÑÑброўÑкую функцыю \"%s\""
+
+-#: cp/init.c:1775
++#: cp/init.c:1910
+ #, gcc-internal-format
+ msgid "call to Java constructor with %qs undefined"
+ msgstr ""
+
+-#: cp/init.c:1815
++#: cp/init.c:1926
++#, gcc-internal-format
++msgid "Java class %q#T object allocated using placement new"
++msgstr ""
++
++#: cp/init.c:1955
+ #, fuzzy, gcc-internal-format
+ msgid "no suitable %qD found in class %qT"
+ msgstr "поле \"%s\" не знойдзена Ñž клаÑе"
+
+-#: cp/init.c:1820
++#: cp/init.c:1960
+ #, fuzzy, gcc-internal-format
+ msgid "request for member %qD is ambiguous"
+ msgstr "памер \"%s\" - %d байт"
+
+-#: cp/init.c:1972
++#: cp/init.c:2134
+ #, gcc-internal-format
+ msgid "ISO C++ forbids initialization in array new"
+ msgstr ""
+
+-#: cp/init.c:2174
++#: cp/init.c:2336
+ #, gcc-internal-format
+ msgid "size in array new must have integral type"
+ msgstr ""
+
+-#: cp/init.c:2183
++#: cp/init.c:2345
+ #, gcc-internal-format
+ msgid "new cannot be applied to a reference type"
+ msgstr ""
+
+-#: cp/init.c:2189
++#: cp/init.c:2351
+ #, gcc-internal-format
+ msgid "new cannot be applied to a function type"
+ msgstr ""
+
+-#: cp/init.c:2228
++#: cp/init.c:2390
+ #, gcc-internal-format
+ msgid "call to Java constructor, while %<jclass%> undefined"
+ msgstr ""
+
+-#: cp/init.c:2246
++#: cp/init.c:2408
+ #, fuzzy, gcc-internal-format
+ msgid "can't find %<class$%> in %qT"
+ msgstr "Ðе магу знайÑці ÐºÐ»Ð°Ñ \"%s\""
+
+-#: cp/init.c:2607
++#: cp/init.c:2769
+ #, gcc-internal-format
+ msgid "initializer ends prematurely"
+ msgstr ""
+
+-#: cp/init.c:2662
++#: cp/init.c:2824
+ #, gcc-internal-format
+ msgid "cannot initialize multi-dimensional array with initializer"
+ msgstr ""
+
+-#: cp/init.c:2799
++#: cp/init.c:2961
+ #, gcc-internal-format
+ msgid "possible problem detected in invocation of delete operator:"
+ msgstr ""
+
+-#: cp/init.c:2802
++#: cp/init.c:2964
+ #, gcc-internal-format
+ msgid "neither the destructor nor the class-specific operator delete will be called, even if they are declared when the class is defined."
+ msgstr ""
+
+-#: cp/init.c:2823
++#: cp/init.c:2985
+ #, gcc-internal-format
+ msgid "unknown array size in delete"
+ msgstr ""
+
+-#: cp/init.c:3070
++#: cp/init.c:3232
+ #, gcc-internal-format
+ msgid "type to vector delete is neither pointer or array type"
+ msgstr ""
+@@ -29792,22 +29798,22 @@
+ msgid "mangling typeof, use decltype instead"
+ msgstr ""
+
+-#: cp/mangle.c:2208
++#: cp/mangle.c:2211
+ #, gcc-internal-format
+ msgid "call_expr cannot be mangled due to a defect in the C++ ABI"
+ msgstr ""
+
+-#: cp/mangle.c:2216
++#: cp/mangle.c:2219
+ #, gcc-internal-format
+ msgid "zero-operand casts cannot be mangled due to a defect in the C++ ABI"
+ msgstr ""
+
+-#: cp/mangle.c:2266
++#: cp/mangle.c:2269
+ #, gcc-internal-format
+ msgid "omitted middle operand to %<?:%> operand cannot be mangled"
+ msgstr ""
+
+-#: cp/mangle.c:2584
++#: cp/mangle.c:2587
+ #, gcc-internal-format
+ msgid "the mangled name of %qD will change in a future version of GCC"
+ msgstr ""
+@@ -29817,27 +29823,27 @@
+ msgid "generic thunk code fails for method %q#D which uses %<...%>"
+ msgstr ""
+
+-#: cp/method.c:697
++#: cp/method.c:698
+ #, gcc-internal-format
+ msgid "non-static const member %q#D, can't use default assignment operator"
+ msgstr ""
+
+-#: cp/method.c:703
++#: cp/method.c:704
+ #, gcc-internal-format
+ msgid "non-static reference member %q#D, can't use default assignment operator"
+ msgstr ""
+
+-#: cp/method.c:815
++#: cp/method.c:816
+ #, gcc-internal-format
+ msgid "%Hsynthesized method %qD first required here "
+ msgstr ""
+
+-#: cp/method.c:1158
++#: cp/method.c:1159
+ #, gcc-internal-format
+ msgid "vtable layout for class %qT may not be ABI-compliantand may change in a future version of GCC due to implicit virtual destructor"
+ msgstr ""
+
+-#: cp/name-lookup.c:728
++#: cp/name-lookup.c:727
+ #, fuzzy, gcc-internal-format
+ msgid "redeclaration of %<wchar_t%> as %qT"
+ msgstr "нÑма папÑÑ€ÑднÑга аб'ÑÑžÐ»ÐµÐ½Ð½Ñ Ð´Ð»Ñ \"%s\""
+@@ -29848,243 +29854,243 @@
+ #. [basic.start.main]
+ #.
+ #. This function shall not be overloaded.
+-#: cp/name-lookup.c:758
++#: cp/name-lookup.c:757
+ #, fuzzy, gcc-internal-format
+ msgid "invalid redeclaration of %q+D"
+ msgstr "ÐерÑчаіÑнае абвÑшчÑнне"
+
+-#: cp/name-lookup.c:759
++#: cp/name-lookup.c:758
+ #, fuzzy, gcc-internal-format
+ msgid "as %qD"
+ msgstr "Ñк `%D'"
+
+-#: cp/name-lookup.c:850
++#: cp/name-lookup.c:849
+ #, fuzzy, gcc-internal-format
+ msgid "type mismatch with previous external decl of %q#D"
+ msgstr "нÑма папÑÑ€ÑднÑга аб'ÑÑžÐ»ÐµÐ½Ð½Ñ Ð´Ð»Ñ \"%s\""
+
+-#: cp/name-lookup.c:851
++#: cp/name-lookup.c:850
+ #, fuzzy, gcc-internal-format
+ msgid "previous external decl of %q+#D"
+ msgstr "нÑма папÑÑ€ÑднÑга аб'ÑÑžÐ»ÐµÐ½Ð½Ñ Ð´Ð»Ñ \"%s\""
+
+-#: cp/name-lookup.c:942
++#: cp/name-lookup.c:941
+ #, fuzzy, gcc-internal-format
+ msgid "extern declaration of %q#D doesn't match"
+ msgstr "пуÑтое абвÑшчÑнне"
+
+-#: cp/name-lookup.c:943
++#: cp/name-lookup.c:942
+ #, fuzzy, gcc-internal-format
+ msgid "global declaration %q+#D"
+ msgstr "паўторнае абвÑшчÑнне меткі \"%s\""
+
+-#: cp/name-lookup.c:980 cp/name-lookup.c:987
++#: cp/name-lookup.c:979 cp/name-lookup.c:986
+ #, fuzzy, gcc-internal-format
+ msgid "declaration of %q#D shadows a parameter"
+ msgstr "абвÑшчÑньне `%#D'"
+
+ #. Location of previous decl is not useful in this case.
+-#: cp/name-lookup.c:1012
++#: cp/name-lookup.c:1011
+ #, gcc-internal-format
+ msgid "declaration of %qD shadows a member of 'this'"
+ msgstr ""
+
+-#: cp/name-lookup.c:1018
++#: cp/name-lookup.c:1017
+ #, fuzzy, gcc-internal-format
+ msgid "declaration of %qD shadows a previous local"
+ msgstr "ÑÐµÐºÑ†Ñ‹Ñ \"%s\" канфліктуе з папÑÑ€ÑднÑй дÑкларацыÑй"
+
+-#: cp/name-lookup.c:1025
++#: cp/name-lookup.c:1024
+ #, gcc-internal-format
+ msgid "declaration of %qD shadows a global declaration"
+ msgstr ""
+
+-#: cp/name-lookup.c:1148
++#: cp/name-lookup.c:1147
+ #, gcc-internal-format
+ msgid "name lookup of %qD changed"
+ msgstr ""
+
+-#: cp/name-lookup.c:1149
++#: cp/name-lookup.c:1148
+ #, gcc-internal-format
+ msgid " matches this %q+D under ISO standard rules"
+ msgstr ""
+
+-#: cp/name-lookup.c:1151
++#: cp/name-lookup.c:1150
+ #, gcc-internal-format
+ msgid " matches this %q+D under old rules"
+ msgstr ""
+
+-#: cp/name-lookup.c:1169 cp/name-lookup.c:1177
++#: cp/name-lookup.c:1168 cp/name-lookup.c:1176
+ #, gcc-internal-format
+ msgid "name lookup of %qD changed for new ISO %<for%> scoping"
+ msgstr ""
+
+-#: cp/name-lookup.c:1171
++#: cp/name-lookup.c:1170
+ #, gcc-internal-format
+ msgid " cannot use obsolete binding at %q+D because it has a destructor"
+ msgstr ""
+
+-#: cp/name-lookup.c:1179
++#: cp/name-lookup.c:1178
+ #, gcc-internal-format
+ msgid " using obsolete binding at %q+D"
+ msgstr ""
+
+-#: cp/name-lookup.c:1232
++#: cp/name-lookup.c:1231
+ #, gcc-internal-format
+ msgid "%s %s(%E) %p %d\n"
+ msgstr ""
+
+-#: cp/name-lookup.c:1235
++#: cp/name-lookup.c:1234
+ #, fuzzy, gcc-internal-format
+ msgid "%s %s %p %d\n"
+ msgstr "%s: %s: "
+
+-#: cp/name-lookup.c:1362
++#: cp/name-lookup.c:1361
+ #, gcc-internal-format
+ msgid "XXX is_class_level != (current_scope == class_scope)\n"
+ msgstr ""
+
+-#: cp/name-lookup.c:1920
++#: cp/name-lookup.c:1922
+ #, fuzzy, gcc-internal-format
+ msgid "%q#D hides constructor for %q#T"
+ msgstr "дÑÑтруктару неабходны \"%#D\""
+
+-#: cp/name-lookup.c:1937
++#: cp/name-lookup.c:1939
+ #, fuzzy, gcc-internal-format
+ msgid "%q#D conflicts with previous using declaration %q#D"
+ msgstr "ÑÐµÐºÑ†Ñ‹Ñ \"%s\" канфліктуе з папÑÑ€ÑднÑй дÑкларацыÑй"
+
+-#: cp/name-lookup.c:1960
++#: cp/name-lookup.c:1962
+ #, fuzzy, gcc-internal-format
+ msgid "previous non-function declaration %q+#D"
+ msgstr "нÑма папÑÑ€ÑднÑга аб'ÑÑžÐ»ÐµÐ½Ð½Ñ Ð´Ð»Ñ \"%s\""
+
+-#: cp/name-lookup.c:1961
++#: cp/name-lookup.c:1963
+ #, fuzzy, gcc-internal-format
+ msgid "conflicts with function declaration %q#D"
+ msgstr "ÑÐµÐºÑ†Ñ‹Ñ \"%s\" канфліктуе з папÑÑ€ÑднÑй дÑкларацыÑй"
+
+ #. It's a nested name with template parameter dependent scope.
+ #. This can only be using-declaration for class member.
+-#: cp/name-lookup.c:2039 cp/name-lookup.c:2064
++#: cp/name-lookup.c:2041 cp/name-lookup.c:2066
+ #, fuzzy, gcc-internal-format
+ msgid "%qT is not a namespace"
+ msgstr "\"%s\" мае незавершаны тып"
+
+ #. 7.3.3/5
+ #. A using-declaration shall not name a template-id.
+-#: cp/name-lookup.c:2049
++#: cp/name-lookup.c:2051
+ #, gcc-internal-format
+ msgid "a using-declaration cannot specify a template-id. Try %<using %D%>"
+ msgstr ""
+
+-#: cp/name-lookup.c:2056
++#: cp/name-lookup.c:2058
+ #, fuzzy, gcc-internal-format
+ msgid "namespace %qD not allowed in using-declaration"
+ msgstr "\"%s\" - гÑта не пачатак дÑкларацыі"
+
+-#: cp/name-lookup.c:2092
++#: cp/name-lookup.c:2094
+ #, fuzzy, gcc-internal-format
+ msgid "%qD not declared"
+ msgstr "YYDEBUG не вызначан."
+
+-#: cp/name-lookup.c:2128 cp/name-lookup.c:2165 cp/name-lookup.c:2199
+-#: cp/name-lookup.c:2214
++#: cp/name-lookup.c:2130 cp/name-lookup.c:2167 cp/name-lookup.c:2201
++#: cp/name-lookup.c:2216
+ #, fuzzy, gcc-internal-format
+ msgid "%qD is already declared in this scope"
+ msgstr "\"%s\" не абвешчан (першае выкарыÑтанне Ñž гÑтай функцыі)"
+
+-#: cp/name-lookup.c:2817
++#: cp/name-lookup.c:2819
+ #, gcc-internal-format
+ msgid "using-declaration for non-member at class scope"
+ msgstr ""
+
+-#: cp/name-lookup.c:2824
++#: cp/name-lookup.c:2826
+ #, gcc-internal-format
+ msgid "%<%T::%D%> names destructor"
+ msgstr ""
+
+-#: cp/name-lookup.c:2829
++#: cp/name-lookup.c:2831
+ #, gcc-internal-format
+ msgid "%<%T::%D%> names constructor"
+ msgstr ""
+
+-#: cp/name-lookup.c:2834
++#: cp/name-lookup.c:2836
+ #, fuzzy, gcc-internal-format
+ msgid "%<%T::%D%> names constructor in %qT"
+ msgstr "дÑÑтруктару неабходны \"%#D\""
+
+-#: cp/name-lookup.c:2884
++#: cp/name-lookup.c:2886
+ #, gcc-internal-format
+ msgid "no members matching %<%T::%D%> in %q#T"
+ msgstr ""
+
+-#: cp/name-lookup.c:2952
++#: cp/name-lookup.c:2954
+ #, gcc-internal-format
+ msgid "declaration of %qD not in a namespace surrounding %qD"
+ msgstr ""
+
+-#: cp/name-lookup.c:2960
++#: cp/name-lookup.c:2962
+ #, fuzzy, gcc-internal-format
+ msgid "explicit qualification in declaration of %qD"
+ msgstr "паўторнае абвÑшчÑнне меткі \"%s\""
+
+-#: cp/name-lookup.c:3003
++#: cp/name-lookup.c:3005
+ #, gcc-internal-format
+ msgid "%qD should have been declared inside %qD"
+ msgstr ""
+
+-#: cp/name-lookup.c:3048
++#: cp/name-lookup.c:3050
+ #, gcc-internal-format
+ msgid "%qD attribute requires a single NTBS argument"
+ msgstr ""
+
+-#: cp/name-lookup.c:3055
++#: cp/name-lookup.c:3057
+ #, gcc-internal-format
+ msgid "%qD attribute is meaningless since members of the anonymous namespace get local symbols"
+ msgstr ""
+
+-#: cp/name-lookup.c:3064 cp/name-lookup.c:3433
++#: cp/name-lookup.c:3066 cp/name-lookup.c:3435
+ #, fuzzy, gcc-internal-format
+ msgid "%qD attribute directive ignored"
+ msgstr "\"%s\" атрыбут ігнарыруецца"
+
+-#: cp/name-lookup.c:3109
++#: cp/name-lookup.c:3111
+ #, fuzzy, gcc-internal-format
+ msgid "namespace alias %qD not allowed here, assuming %qD"
+ msgstr "\"%s\" - гÑта не пачатак дÑкларацыі"
+
+-#: cp/name-lookup.c:3421
++#: cp/name-lookup.c:3423
+ #, gcc-internal-format
+ msgid "strong using only meaningful at namespace scope"
+ msgstr ""
+
+-#: cp/name-lookup.c:3425
++#: cp/name-lookup.c:3427
+ #, gcc-internal-format
+ msgid "current namespace %qD does not enclose strongly used namespace %qD"
+ msgstr ""
+
+-#: cp/name-lookup.c:4318
++#: cp/name-lookup.c:4320
+ #, fuzzy, gcc-internal-format
+ msgid "%q+D is not a function,"
+ msgstr "`%D' - гÑта Ð½Ñ Ñ„ÑƒÐ½ÐºÑ†Ñ‹Ñ,"
+
+-#: cp/name-lookup.c:4319
++#: cp/name-lookup.c:4321
+ #, gcc-internal-format
+ msgid " conflict with %q+D"
+ msgstr ""
+
+-#: cp/name-lookup.c:4752
++#: cp/name-lookup.c:4756
+ #, gcc-internal-format
+ msgid "argument dependent lookup finds %q+D"
+ msgstr ""
+
+-#: cp/name-lookup.c:5184
++#: cp/name-lookup.c:5188
+ #, gcc-internal-format
+ msgid "XXX entering pop_everything ()\n"
+ msgstr ""
+
+-#: cp/name-lookup.c:5193
++#: cp/name-lookup.c:5197
+ #, gcc-internal-format
+ msgid "XXX leaving pop_everything ()\n"
+ msgstr ""
+@@ -30094,368 +30100,373 @@
+ msgid "identifier %<%s%> will become a keyword in C++0x"
+ msgstr ""
+
+-#: cp/parser.c:2066
++#: cp/parser.c:2069
+ #, fuzzy, gcc-internal-format
+ msgid "%<#pragma%> is not allowed here"
+ msgstr "ÐšÐ»Ð°Ñ \"%s\" ужо Ñ–Ñнуе"
+
+-#: cp/parser.c:2096
++#: cp/parser.c:2099
+ #, gcc-internal-format
+ msgid "%<%E::%E%> has not been declared"
+ msgstr ""
+
+-#: cp/parser.c:2099
++#: cp/parser.c:2102
+ #, gcc-internal-format
+ msgid "%<::%E%> has not been declared"
+ msgstr ""
+
+-#: cp/parser.c:2102
++#: cp/parser.c:2105
+ #, gcc-internal-format
+ msgid "request for member %qE in non-class type %qT"
+ msgstr ""
+
+-#: cp/parser.c:2105
++#: cp/parser.c:2108
+ #, gcc-internal-format
+ msgid "%<%T::%E%> has not been declared"
+ msgstr ""
+
+-#: cp/parser.c:2108
++#: cp/parser.c:2111
+ #, gcc-internal-format
+ msgid "%qE has not been declared"
+ msgstr ""
+
+-#: cp/parser.c:2111
++#: cp/parser.c:2114
+ #, gcc-internal-format
+ msgid "%<%E::%E%> %s"
+ msgstr ""
+
+-#: cp/parser.c:2113
++#: cp/parser.c:2116
+ #, gcc-internal-format
+ msgid "%<::%E%> %s"
+ msgstr ""
+
+-#: cp/parser.c:2115
++#: cp/parser.c:2118
+ #, gcc-internal-format
+ msgid "%qE %s"
+ msgstr ""
+
+-#: cp/parser.c:2151
++#: cp/parser.c:2155
+ #, fuzzy, gcc-internal-format
+-msgid "ISO C++ does not support %<long long%>"
++msgid "ISO C++ 1998 does not support %<long long%>"
+ msgstr "ISO C++ не падтрымлівае \"long long\""
+
+-#: cp/parser.c:2171
++#: cp/parser.c:2175
+ #, fuzzy, gcc-internal-format
+ msgid "duplicate %qs"
+ msgstr "паўтарÑньне `%s'"
+
+-#: cp/parser.c:2214
++#: cp/parser.c:2218
+ #, gcc-internal-format
+ msgid "new types may not be defined in a return type"
+ msgstr ""
+
+-#: cp/parser.c:2215
++#: cp/parser.c:2219
+ #, fuzzy, gcc-internal-format
+ msgid "(perhaps a semicolon is missing after the definition of %qT)"
+ msgstr "Ðе магу знайÑці дÑкларацыю інтÑрфейÑа Ð´Ð»Ñ \"%s\""
+
+-#: cp/parser.c:2234 cp/parser.c:4077 cp/pt.c:5443
++#: cp/parser.c:2238 cp/parser.c:4081 cp/pt.c:5509
+ #, fuzzy, gcc-internal-format
+ msgid "%qT is not a template"
+ msgstr "\"%s\" мае незавершаны тып"
+
+-#: cp/parser.c:2236
++#: cp/parser.c:2240
+ #, fuzzy, gcc-internal-format
+ msgid "%qE is not a template"
+ msgstr "\"%s\" мае незавершаны тып"
+
+-#: cp/parser.c:2238
++#: cp/parser.c:2242
+ #, fuzzy, gcc-internal-format
+ msgid "invalid template-id"
+ msgstr "ÐерÑчаіÑны выбар %s"
+
+-#: cp/parser.c:2267
++#: cp/parser.c:2271
+ #, fuzzy, gcc-internal-format
+ msgid "%s cannot appear in a constant-expression"
+ msgstr "памер маÑіва \"%s\" адмоўны"
+
+-#: cp/parser.c:2292
++#: cp/parser.c:2296
+ #, fuzzy, gcc-internal-format
+ msgid "invalid use of template-name %qE without an argument list"
+ msgstr "нÑвернае выкарыÑтанне \"restict\""
+
+-#: cp/parser.c:2294
++#: cp/parser.c:2298
+ #, fuzzy, gcc-internal-format
+ msgid "invalid use of destructor %qD as a type"
+ msgstr "нÑвернае выкарыÑтанне \"restict\""
+
+ #. Something like 'unsigned A a;'
+-#: cp/parser.c:2297
++#: cp/parser.c:2301
+ #, gcc-internal-format
+ msgid "invalid combination of multiple type-specifiers"
+ msgstr ""
+
+ #. Issue an error message.
+-#: cp/parser.c:2301
++#: cp/parser.c:2305
+ #, fuzzy, gcc-internal-format
+ msgid "%qE does not name a type"
+ msgstr "\"%s\" мае незавершаны тып"
+
+-#: cp/parser.c:2333
++#: cp/parser.c:2337
+ #, gcc-internal-format
+ msgid "(perhaps %<typename %T::%E%> was intended)"
+ msgstr ""
+
+-#: cp/parser.c:2348
++#: cp/parser.c:2352
+ #, gcc-internal-format
+ msgid "%qE in namespace %qE does not name a type"
+ msgstr ""
+
+-#: cp/parser.c:2351
++#: cp/parser.c:2355
+ #, gcc-internal-format
+ msgid "%qE in class %qT does not name a type"
+ msgstr ""
+
+-#: cp/parser.c:3160
++#: cp/parser.c:3164
+ #, gcc-internal-format
+ msgid "ISO C++ forbids braced-groups within expressions"
+ msgstr ""
+
+-#: cp/parser.c:3171
++#: cp/parser.c:3175
+ #, gcc-internal-format
+ msgid "statement-expressions are not allowed outside functions nor in template-argument lists"
+ msgstr ""
+
+-#: cp/parser.c:3229
++#: cp/parser.c:3233
+ #, fuzzy, gcc-internal-format
+ msgid "%<this%> may not be used in this context"
+ msgstr "\"%s\" не абвешчан (першае выкарыÑтанне Ñž гÑтай функцыі)"
+
+-#: cp/parser.c:3412
++#: cp/parser.c:3416
+ #, gcc-internal-format
+ msgid "local variable %qD may not appear in this context"
+ msgstr ""
+
+-#: cp/parser.c:3711
++#: cp/parser.c:3715
+ #, gcc-internal-format
+ msgid "scope %qT before %<~%> is not a class-name"
+ msgstr ""
+
+-#: cp/parser.c:3812
++#: cp/parser.c:3816
+ #, gcc-internal-format
+ msgid "declaration of %<~%T%> as member of %qT"
+ msgstr ""
+
+-#: cp/parser.c:3826
++#: cp/parser.c:3830
+ #, gcc-internal-format
+ msgid "typedef-name %qD used as destructor declarator"
+ msgstr ""
+
+-#: cp/parser.c:4480
++#: cp/parser.c:4484
+ #, fuzzy, gcc-internal-format
+ msgid "ISO C++ forbids compound-literals"
+ msgstr "ISO C не дазвалÑе дÑкларацыі метак (label)"
+
+-#: cp/parser.c:4837
++#: cp/parser.c:4841
+ #, fuzzy, gcc-internal-format
+ msgid "%qE does not have class type"
+ msgstr "\"%s\" мае незавершаны тып"
+
+-#: cp/parser.c:4920 cp/typeck.c:1978
++#: cp/parser.c:4924 cp/typeck.c:2024
+ #, fuzzy, gcc-internal-format
+ msgid "invalid use of %qD"
+ msgstr "нерÑчаіÑнае выкарыÑтаньне `%D'"
+
+-#: cp/parser.c:5480
++#: cp/parser.c:5486
+ #, gcc-internal-format
+ msgid "array bound forbidden after parenthesized type-id"
+ msgstr ""
+
+-#: cp/parser.c:5481
++#: cp/parser.c:5487
+ #, gcc-internal-format
+ msgid "try removing the parentheses around the type-id"
+ msgstr ""
+
+-#: cp/parser.c:5671
++#: cp/parser.c:5677
+ #, gcc-internal-format
+ msgid "expression in new-declarator must have integral or enumeration type"
+ msgstr ""
+
+-#: cp/parser.c:5860
++#: cp/parser.c:5866
+ #, gcc-internal-format
+ msgid "use of old-style cast"
+ msgstr ""
+
+-#: cp/parser.c:5986
++#: cp/parser.c:5992
+ #, gcc-internal-format
+ msgid "%H%<>>%> operator will be treated as two right angle brackets in C++0x"
+ msgstr ""
+
+-#: cp/parser.c:5989
++#: cp/parser.c:5995
+ #, gcc-internal-format
+ msgid "suggest parentheses around %<>>%> expression"
+ msgstr ""
+
+-#: cp/parser.c:6793
++#: cp/parser.c:6799
+ #, gcc-internal-format
+ msgid "case label %qE not within a switch statement"
+ msgstr ""
+
+-#: cp/parser.c:6922
++#: cp/parser.c:6928
+ #, gcc-internal-format
+ msgid "%<else%> without a previous %<if%>"
+ msgstr ""
+
+-#: cp/parser.c:7208
++#: cp/parser.c:7214
+ #, gcc-internal-format
+ msgid "suggest a space before %<;%> or explicit braces around empty body in %<%s%> statement"
+ msgstr ""
+
+-#: cp/parser.c:7468
++#: cp/parser.c:7474
+ #, gcc-internal-format
+ msgid "ISO C++ forbids computed gotos"
+ msgstr ""
+
+-#: cp/parser.c:7608
++#: cp/parser.c:7614
+ #, gcc-internal-format
+ msgid "extra %<;%>"
+ msgstr ""
+
+-#: cp/parser.c:7825
++#: cp/parser.c:7831
+ #, gcc-internal-format
+ msgid "%<__label__%> not at the beginning of a block"
+ msgstr ""
+
+-#: cp/parser.c:7958
++#: cp/parser.c:7964
+ #, gcc-internal-format
+ msgid "mixing declarations and function-definitions is forbidden"
+ msgstr ""
+
+-#: cp/parser.c:8090
++#: cp/parser.c:8096
+ #, gcc-internal-format
+ msgid "%<friend%> used outside of class"
+ msgstr ""
+
+-#: cp/parser.c:8244
++#: cp/parser.c:8250
+ #, fuzzy, gcc-internal-format
+ msgid "class definition may not be declared a friend"
+ msgstr "Ð²Ñ–Ñ€Ñ‚ÑƒÐ°Ð»ÑŒÐ½Ñ‹Ñ Ñ„ÑƒÐ½ÐºÑ†Ñ‹Ñ– не могуць быць ÑÑброўÑкімі"
+
+-#: cp/parser.c:8308 cp/parser.c:15155
++#: cp/parser.c:8314 cp/parser.c:15235
+ #, gcc-internal-format
+ msgid "templates may not be %<virtual%>"
+ msgstr ""
+
+-#: cp/parser.c:8775
++#: cp/parser.c:8786
+ #, gcc-internal-format
+ msgid "only constructors take base initializers"
+ msgstr ""
+
+-#: cp/parser.c:8795
++#: cp/parser.c:8806
+ #, fuzzy, gcc-internal-format
+ msgid "cannot expand initializer for member %<%D%>"
+ msgstr "прапушчан ініцыÑлізатар"
+
+-#: cp/parser.c:8847
++#: cp/parser.c:8858
+ #, gcc-internal-format
+ msgid "anachronistic old-style base class initializer"
+ msgstr ""
+
+-#: cp/parser.c:8892
++#: cp/parser.c:8903
+ #, gcc-internal-format
+ msgid "keyword %<typename%> not allowed in this context (a qualified member initializer is implicitly a type)"
+ msgstr ""
+
+ #. Warn that we do not support `export'.
+-#: cp/parser.c:9237
++#: cp/parser.c:9248
+ #, gcc-internal-format
+ msgid "keyword %<export%> not implemented, and will be ignored"
+ msgstr ""
+
+-#: cp/parser.c:9482 cp/parser.c:9583
++#: cp/parser.c:9419 cp/parser.c:9517 cp/parser.c:9618
+ #, fuzzy, gcc-internal-format
+ msgid "template parameter pack %qD cannot have a default argument"
+ msgstr "Ð²Ñ–Ñ€Ñ‚ÑƒÐ°Ð»ÑŒÐ½Ñ‹Ñ Ñ„ÑƒÐ½ÐºÑ†Ñ‹Ñ– не могуць быць ÑÑброўÑкімі"
+
+-#: cp/parser.c:9485 cp/parser.c:9586
++#: cp/parser.c:9422
+ #, fuzzy, gcc-internal-format
++msgid "template parameter pack cannot have a default argument"
++msgstr "Ð²Ñ–Ñ€Ñ‚ÑƒÐ°Ð»ÑŒÐ½Ñ‹Ñ Ñ„ÑƒÐ½ÐºÑ†Ñ‹Ñ– не могуць быць ÑÑброўÑкімі"
++
++#: cp/parser.c:9520 cp/parser.c:9621
++#, fuzzy, gcc-internal-format
+ msgid "template parameter packs cannot have default arguments"
+ msgstr "Ð²Ñ–Ñ€Ñ‚ÑƒÐ°Ð»ÑŒÐ½Ñ‹Ñ Ñ„ÑƒÐ½ÐºÑ†Ñ‹Ñ– не могуць быць ÑÑброўÑкімі"
+
+ #. Otherwise, emit an error about the invalid digraph, but continue
+ #. parsing because we got our argument list.
+-#: cp/parser.c:9723
++#: cp/parser.c:9758
+ #, gcc-internal-format
+ msgid "%<<::%> cannot begin a template-argument list"
+ msgstr ""
+
+-#: cp/parser.c:9724
++#: cp/parser.c:9759
+ #, gcc-internal-format
+ msgid "%<<:%> is an alternate spelling for %<[%>. Insert whitespace between %<<%> and %<::%>"
+ msgstr ""
+
+-#: cp/parser.c:9731
++#: cp/parser.c:9766
+ #, gcc-internal-format
+ msgid "(if you use -fpermissive G++ will accept your code)"
+ msgstr ""
+
+-#: cp/parser.c:9804
++#: cp/parser.c:9839
+ #, gcc-internal-format
+ msgid "parse error in template argument list"
+ msgstr ""
+
+ #. Explain what went wrong.
+-#: cp/parser.c:9917
++#: cp/parser.c:9952
+ #, gcc-internal-format
+ msgid "non-template %qD used as template"
+ msgstr ""
+
+-#: cp/parser.c:9918
++#: cp/parser.c:9953
+ #, gcc-internal-format
+ msgid "use %<%T::template %D%> to indicate that it is a template"
+ msgstr ""
+
+-#: cp/parser.c:10441
++#: cp/parser.c:10476
+ #, gcc-internal-format
+ msgid "template specialization with C linkage"
+ msgstr ""
+
+-#: cp/parser.c:11032
++#: cp/parser.c:11067
+ #, gcc-internal-format
+ msgid "using %<typename%> outside of template"
+ msgstr ""
+
+-#: cp/parser.c:11191
++#: cp/parser.c:11226
+ #, gcc-internal-format
+ msgid "declaration %qD does not declare anything"
+ msgstr ""
+
+-#: cp/parser.c:11275
++#: cp/parser.c:11310
+ #, gcc-internal-format
+ msgid "attributes ignored on uninstantiated type"
+ msgstr ""
+
+-#: cp/parser.c:11279
++#: cp/parser.c:11314
+ #, gcc-internal-format
+ msgid "attributes ignored on template instantiation"
+ msgstr ""
+
+-#: cp/parser.c:11284
++#: cp/parser.c:11319
+ #, gcc-internal-format
+ msgid "attributes ignored on elaborated-type-specifier that is not a forward declaration"
+ msgstr ""
+
+-#: cp/parser.c:11406
++#: cp/parser.c:11441
+ #, gcc-internal-format
+ msgid "comma at end of enumerator list"
+ msgstr ""
+
+-#: cp/parser.c:11498
++#: cp/parser.c:11533
+ #, fuzzy, gcc-internal-format
+ msgid "%qD is not a namespace-name"
+ msgstr "`%D' - гÑта Ð½Ñ Ñ„ÑƒÐ½ÐºÑ†Ñ‹Ñ,"
+
+-#: cp/parser.c:11599
++#: cp/parser.c:11634
+ #, gcc-internal-format
+ msgid "%<namespace%> definition is not allowed here"
+ msgstr ""
+@@ -30463,142 +30474,157 @@
+ #. [namespace.udecl]
+ #.
+ #. A using declaration shall not name a template-id.
+-#: cp/parser.c:11738
++#: cp/parser.c:11773
+ #, fuzzy, gcc-internal-format
+ msgid "a template-id may not appear in a using-declaration"
+ msgstr "\"%s\" - гÑта не пачатак дÑкларацыі"
+
+-#: cp/parser.c:12094
++#: cp/parser.c:12135
+ #, gcc-internal-format
+ msgid "an asm-specification is not allowed on a function-definition"
+ msgstr ""
+
+-#: cp/parser.c:12096
++#: cp/parser.c:12137
+ #, fuzzy, gcc-internal-format
+ msgid "attributes are not allowed on a function-definition"
+ msgstr "\"%s\" - гÑта не пачатак дÑкларацыі"
+
+-#: cp/parser.c:12229
++#: cp/parser.c:12270
+ #, fuzzy, gcc-internal-format
+ msgid "initializer provided for function"
+ msgstr "не магу ініцыÑлізаваць ÑÑброўÑкую функцыю \"%s\""
+
+-#: cp/parser.c:12249
++#: cp/parser.c:12290
+ #, gcc-internal-format
+ msgid "attributes after parenthesized initializer ignored"
+ msgstr ""
+
+-#: cp/parser.c:12630 cp/pt.c:8772
++#: cp/parser.c:12671 cp/pt.c:8893
+ #, fuzzy, gcc-internal-format
+ msgid "array bound is not an integer constant"
+ msgstr "памер маÑіва \"%s\" адмоўны"
+
+-#: cp/parser.c:12739
++#: cp/parser.c:12780
+ #, fuzzy, gcc-internal-format
+ msgid "%<%T::%E%> is not a type"
+ msgstr "\"%s\" мае незавершаны тып"
+
+-#: cp/parser.c:12765
++#: cp/parser.c:12806
+ #, fuzzy, gcc-internal-format
+ msgid "invalid use of constructor as a template"
+ msgstr "нÑвернае выкарыÑтанне \"restict\""
+
+-#: cp/parser.c:12766
++#: cp/parser.c:12807
+ #, gcc-internal-format
+ msgid "use %<%T::%D%> instead of %<%T::%D%> to name the constructor in a qualified name"
+ msgstr ""
+
+-#: cp/parser.c:12938
++#: cp/parser.c:12979
+ #, gcc-internal-format
+ msgid "%qD is a namespace"
+ msgstr ""
+
+-#: cp/parser.c:13013
++#: cp/parser.c:13054
+ #, fuzzy, gcc-internal-format
+ msgid "duplicate cv-qualifier"
+ msgstr "паўтарÑнне \"volatile\""
+
+-#: cp/parser.c:13600
++#: cp/parser.c:13640
+ #, fuzzy, gcc-internal-format
+ msgid "file ends in default argument"
+ msgstr "нехапае аргументаў у функцыі \"%s\""
+
+-#: cp/parser.c:13673
++#: cp/parser.c:13683
+ #, gcc-internal-format
+ msgid "deprecated use of default argument for parameter of non-function"
+ msgstr ""
+
+-#: cp/parser.c:13676
++#: cp/parser.c:13686
+ #, gcc-internal-format
+ msgid "default arguments are only permitted for function parameters"
+ msgstr ""
+
+-#: cp/parser.c:13877
++#: cp/parser.c:13702
+ #, gcc-internal-format
++msgid "%sparameter pack %qD cannot have a default argument"
++msgstr ""
++
++#: cp/parser.c:13705
++#, gcc-internal-format
++msgid "%sparameter pack cannot have a default argument"
++msgstr ""
++
++#: cp/parser.c:13947
++#, gcc-internal-format
+ msgid "ISO C++ does not allow designated initializers"
+ msgstr ""
+
+-#: cp/parser.c:14477
++#: cp/parser.c:14547
+ #, fuzzy, gcc-internal-format
+ msgid "invalid class name in declaration of %qD"
+ msgstr "ÐерÑчаіÑнае абвÑшчÑнне"
+
+-#: cp/parser.c:14489
++#: cp/parser.c:14559
+ #, gcc-internal-format
+ msgid "declaration of %qD in namespace %qD which does not enclose %qD"
+ msgstr ""
+
+-#: cp/parser.c:14492
++#: cp/parser.c:14562
+ #, gcc-internal-format
+ msgid "declaration of %qD in %qD which does not enclose %qD"
+ msgstr ""
+
+-#: cp/parser.c:14505
++#: cp/parser.c:14575
+ #, gcc-internal-format
+ msgid "extra qualification ignored"
+ msgstr ""
+
+-#: cp/parser.c:14516
++#: cp/parser.c:14586
+ #, fuzzy, gcc-internal-format
+ msgid "an explicit specialization must be preceded by %<template <>%>"
+ msgstr "ініцыÑлізацыÑ"
+
+-#: cp/parser.c:14609
++#: cp/parser.c:14613
++#, gcc-internal-format
++msgid "function template %qD redeclared as a class template"
++msgstr ""
++
++#: cp/parser.c:14689
+ #, fuzzy, gcc-internal-format
+ msgid "previous definition of %q+#T"
+ msgstr "папÑÑ€ÑднÑе вызначÑньне `%#T'"
+
+-#: cp/parser.c:14855
++#: cp/parser.c:14935
+ #, gcc-internal-format
+ msgid "%Hextra %<;%>"
+ msgstr ""
+
+-#: cp/parser.c:14873
++#: cp/parser.c:14953
+ #, gcc-internal-format
+ msgid "a class-key must be used when declaring a friend"
+ msgstr ""
+
+-#: cp/parser.c:14887
++#: cp/parser.c:14967
+ #, gcc-internal-format
+ msgid "friend declaration does not name a class or function"
+ msgstr ""
+
+-#: cp/parser.c:15064
++#: cp/parser.c:15144
+ #, gcc-internal-format
+ msgid "pure-specifier on function-definition"
+ msgstr ""
+
+-#: cp/parser.c:15356
++#: cp/parser.c:15438
+ #, gcc-internal-format
+ msgid "keyword %<typename%> not allowed outside of templates"
+ msgstr ""
+
+-#: cp/parser.c:15358
++#: cp/parser.c:15440
+ #, gcc-internal-format
+ msgid "keyword %<typename%> not allowed in this context (the base class is implicitly a type)"
+ msgstr ""
+
+-#: cp/parser.c:16407
++#: cp/parser.c:16489
+ #, fuzzy, gcc-internal-format
+ msgid "too few template-parameter-lists"
+ msgstr "невыкарыÑтаемы параметр \"%s\""
+@@ -30607,13 +30633,13 @@
+ #. something like:
+ #.
+ #. template <class T> template <class U> void S::f();
+-#: cp/parser.c:16422
++#: cp/parser.c:16504
+ #, gcc-internal-format
+ msgid "too many template-parameter-lists"
+ msgstr ""
+
+ #. Issue an error message.
+-#: cp/parser.c:16694
++#: cp/parser.c:16776
+ #, fuzzy, gcc-internal-format
+ msgid "named return values are no longer supported"
+ msgstr "-pipe не падтрымліваецца."
+@@ -30621,234 +30647,234 @@
+ #. 14.5.2.2 [temp.mem]
+ #.
+ #. A local class shall not have member templates.
+-#: cp/parser.c:16766
++#: cp/parser.c:16848
+ #, gcc-internal-format
+ msgid "invalid declaration of member template in local class"
+ msgstr ""
+
+-#: cp/parser.c:16775
++#: cp/parser.c:16857
+ #, gcc-internal-format
+ msgid "template with C linkage"
+ msgstr ""
+
+-#: cp/parser.c:16919
++#: cp/parser.c:17001
+ #, fuzzy, gcc-internal-format
+ msgid "template declaration of %qs"
+ msgstr "пуÑтое абвÑшчÑнне"
+
+-#: cp/parser.c:16982
++#: cp/parser.c:17064
+ #, fuzzy, gcc-internal-format
+ msgid "explicit template specialization cannot have a storage class"
+ msgstr "ініцыÑлізацыÑ"
+
+-#: cp/parser.c:17171
++#: cp/parser.c:17253
+ #, gcc-internal-format
+ msgid "%H%<>>%> should be %<> >%> within a nested template argument list"
+ msgstr ""
+
+-#: cp/parser.c:17184
++#: cp/parser.c:17266
+ #, gcc-internal-format
+ msgid "spurious %<>>%>, use %<>%> to terminate a template argument list"
+ msgstr ""
+
+-#: cp/parser.c:17519
++#: cp/parser.c:17601
+ #, gcc-internal-format
+ msgid "invalid use of %qD in linkage specification"
+ msgstr ""
+
+-#: cp/parser.c:17532
++#: cp/parser.c:17614
+ #, gcc-internal-format
+ msgid "%<__thread%> before %qD"
+ msgstr ""
+
+-#: cp/parser.c:17847
++#: cp/parser.c:17929
+ #, gcc-internal-format
+ msgid "%qs tag used in naming %q#T"
+ msgstr ""
+
+-#: cp/parser.c:17868
++#: cp/parser.c:17950
+ #, gcc-internal-format
+ msgid "%qD redeclared with different access"
+ msgstr ""
+
+-#: cp/parser.c:17885
++#: cp/parser.c:17967
+ #, gcc-internal-format
+ msgid "%<template%> (as a disambiguator) is only allowed within templates"
+ msgstr ""
+
+-#: cp/parser.c:18138 cp/parser.c:19061 cp/parser.c:19192
++#: cp/parser.c:18220 cp/parser.c:19143 cp/parser.c:19274
+ #, gcc-internal-format
+ msgid "misplaced %<@%D%> Objective-C++ construct"
+ msgstr ""
+
+-#: cp/parser.c:18279
++#: cp/parser.c:18361
+ #, gcc-internal-format
+ msgid "%<@encode%> must specify a type as an argument"
+ msgstr ""
+
+-#: cp/parser.c:18594
++#: cp/parser.c:18676
+ #, gcc-internal-format
+ msgid "invalid Objective-C++ selector name"
+ msgstr ""
+
+-#: cp/parser.c:18925
++#: cp/parser.c:19007
+ #, gcc-internal-format
+ msgid "identifier expected after %<@protocol%>"
+ msgstr ""
+
+-#: cp/parser.c:19626
++#: cp/parser.c:19708
+ #, gcc-internal-format
+ msgid "schedule %<runtime%> does not take a %<chunk_size%> parameter"
+ msgstr ""
+
+-#: cp/parser.c:19735
++#: cp/parser.c:19824
+ #, fuzzy, gcc-internal-format
+ msgid "%qs is not valid for %qs"
+ msgstr "complex нерÑчаіÑны Ð´Ð»Ñ \"%s\""
+
+-#: cp/parser.c:20390
++#: cp/parser.c:20479
+ #, gcc-internal-format
+ msgid "junk at end of %<#pragma GCC pch_preprocess%>"
+ msgstr ""
+
+-#: cp/parser.c:20477
++#: cp/parser.c:20566
+ #, gcc-internal-format
+ msgid "%<#pragma omp section%> may only be used in %<#pragma omp sections%> construct"
+ msgstr ""
+
+-#: cp/parser.c:20535
++#: cp/parser.c:20624
+ #, gcc-internal-format
+ msgid "inter-module optimizations not implemented for C++"
+ msgstr ""
+
+-#: cp/pt.c:249
++#: cp/pt.c:252
+ #, gcc-internal-format
+ msgid "data member %qD cannot be a member template"
+ msgstr ""
+
+-#: cp/pt.c:261
++#: cp/pt.c:264
+ #, fuzzy, gcc-internal-format
+ msgid "invalid member template declaration %qD"
+ msgstr "паўторнае абвÑшчÑнне меткі \"%s\""
+
+-#: cp/pt.c:609
++#: cp/pt.c:612
+ #, fuzzy, gcc-internal-format
+ msgid "explicit specialization in non-namespace scope %qD"
+ msgstr "ініцыÑлізацыÑ"
+
+-#: cp/pt.c:623
++#: cp/pt.c:626
+ #, gcc-internal-format
+ msgid "enclosing class templates are not explicitly specialized"
+ msgstr ""
+
+-#: cp/pt.c:711
++#: cp/pt.c:714
+ #, gcc-internal-format
+ msgid "specialization of %qD in different namespace"
+ msgstr ""
+
+-#: cp/pt.c:712 cp/pt.c:809
++#: cp/pt.c:715 cp/pt.c:812
+ #, fuzzy, gcc-internal-format
+ msgid " from definition of %q+#D"
+ msgstr "папÑÑ€ÑднÑе вызначÑньне `%#T'"
+
+-#: cp/pt.c:729
++#: cp/pt.c:732
+ #, gcc-internal-format
+ msgid "explicit instantiation of %qD in namespace %qD (which does not enclose namespace %qD)"
+ msgstr ""
+
+-#: cp/pt.c:747
++#: cp/pt.c:750
+ #, fuzzy, gcc-internal-format
+ msgid "name of class shadows template template parameter %qD"
+ msgstr "нÑвернае выкарыÑтанне \"restict\""
+
+-#: cp/pt.c:776
++#: cp/pt.c:779
+ #, gcc-internal-format
+ msgid "specialization of %qT after instantiation"
+ msgstr ""
+
+-#: cp/pt.c:808
++#: cp/pt.c:811
+ #, gcc-internal-format
+ msgid "specializing %q#T in different namespace"
+ msgstr ""
+
+-#: cp/pt.c:823
++#: cp/pt.c:826
+ #, gcc-internal-format
+ msgid "specialization %qT after instantiation %qT"
+ msgstr ""
+
+-#: cp/pt.c:836
++#: cp/pt.c:839
+ #, fuzzy, gcc-internal-format
+ msgid "explicit specialization of non-template %qT"
+ msgstr "ініцыÑлізацыÑ"
+
+-#: cp/pt.c:1238
++#: cp/pt.c:1246
+ #, gcc-internal-format
+ msgid "specialization of %qD after instantiation"
+ msgstr ""
+
+-#: cp/pt.c:1464
++#: cp/pt.c:1472
+ #, fuzzy, gcc-internal-format
+ msgid "%qD is not a function template"
+ msgstr "\"%s\" звычайна функцыÑ"
+
+-#: cp/pt.c:1673
++#: cp/pt.c:1681
+ #, gcc-internal-format
+ msgid "template-id %qD for %q+D does not match any template declaration"
+ msgstr ""
+
+-#: cp/pt.c:1681
++#: cp/pt.c:1689
+ #, gcc-internal-format
+ msgid "ambiguous template specialization %qD for %q+D"
+ msgstr ""
+
+ #. This case handles bogus declarations like template <>
+ #. template <class T> void f<int>();
+-#: cp/pt.c:1916 cp/pt.c:1970
++#: cp/pt.c:1924 cp/pt.c:1978
+ #, fuzzy, gcc-internal-format
+ msgid "template-id %qD in declaration of primary template"
+ msgstr "пуÑтое абвÑшчÑнне"
+
+-#: cp/pt.c:1929
++#: cp/pt.c:1937
+ #, gcc-internal-format
+ msgid "template parameter list used in explicit instantiation"
+ msgstr ""
+
+-#: cp/pt.c:1935
++#: cp/pt.c:1943
+ #, gcc-internal-format
+ msgid "definition provided for explicit instantiation"
+ msgstr ""
+
+-#: cp/pt.c:1943
++#: cp/pt.c:1951
+ #, fuzzy, gcc-internal-format
+ msgid "too many template parameter lists in declaration of %qD"
+ msgstr "пуÑтое абвÑшчÑнне"
+
+-#: cp/pt.c:1946
++#: cp/pt.c:1954
+ #, fuzzy, gcc-internal-format
+ msgid "too few template parameter lists in declaration of %qD"
+ msgstr "пуÑтое абвÑшчÑнне"
+
+-#: cp/pt.c:1948
++#: cp/pt.c:1956
+ #, gcc-internal-format
+ msgid "explicit specialization of %qD must be introduced by %<template <>%>"
+ msgstr ""
+
+-#: cp/pt.c:1967
++#: cp/pt.c:1975
+ #, gcc-internal-format
+ msgid "function template partial specialization %qD is not allowed"
+ msgstr ""
+
+-#: cp/pt.c:1999
++#: cp/pt.c:2007
+ #, gcc-internal-format
+ msgid "default argument specified in explicit specialization"
+ msgstr ""
+
+-#: cp/pt.c:2029
++#: cp/pt.c:2037
+ #, fuzzy, gcc-internal-format
+ msgid "%qD is not a template function"
+ msgstr "`%D' - гÑта Ð½Ñ Ñ„ÑƒÐ½ÐºÑ†Ñ‹Ñ,"
+
+-#: cp/pt.c:2037
++#: cp/pt.c:2045
+ #, fuzzy, gcc-internal-format
+ msgid "%qD is not declared in %qD"
+ msgstr "\"%s\" не абвешчан (першае выкарыÑтанне Ñž гÑтай функцыі)"
+@@ -30861,100 +30887,110 @@
+ #. program is ill-formed.
+ #.
+ #. Similar language is found in [temp.explicit].
+-#: cp/pt.c:2099
++#: cp/pt.c:2107
+ #, gcc-internal-format
+ msgid "specialization of implicitly-declared special member function"
+ msgstr ""
+
+-#: cp/pt.c:2143
++#: cp/pt.c:2151
+ #, fuzzy, gcc-internal-format
+ msgid "no member function %qD declared in %qT"
+ msgstr "у функцыі \"%s\":"
+
+-#: cp/pt.c:2642
++#: cp/pt.c:2628
+ #, gcc-internal-format
+ msgid "base initializer expansion %<%T%> contains no parameter packs"
+ msgstr ""
+
+-#: cp/pt.c:2701
++#: cp/pt.c:2687
+ #, gcc-internal-format
+ msgid "expansion pattern %<%T%> contains no argument packs"
+ msgstr ""
+
+-#: cp/pt.c:2703
++#: cp/pt.c:2689
+ #, gcc-internal-format
+ msgid "expansion pattern %<%E%> contains no argument packs"
+ msgstr ""
+
+-#: cp/pt.c:2745
++#: cp/pt.c:2730
+ #, gcc-internal-format
+ msgid "parameter packs not expanded with `...':"
+ msgstr ""
+
+-#: cp/pt.c:2760 cp/pt.c:3383
++#: cp/pt.c:2745 cp/pt.c:3361
+ #, gcc-internal-format
+ msgid " %qD"
+ msgstr ""
+
+-#: cp/pt.c:2762
++#: cp/pt.c:2747
+ #, gcc-internal-format
+ msgid " <anonymous>"
+ msgstr ""
+
+-#: cp/pt.c:2875
++#: cp/pt.c:2852
+ #, fuzzy, gcc-internal-format
+ msgid "declaration of %q+#D"
+ msgstr "абвÑшчÑньне `%#D'"
+
+-#: cp/pt.c:2876
++#: cp/pt.c:2853
+ #, fuzzy, gcc-internal-format
+ msgid " shadows template parm %q+#D"
+ msgstr "невыкарыÑтаемы параметр \"%s\""
+
+-#: cp/pt.c:3379
++#: cp/pt.c:3357
+ #, gcc-internal-format
+ msgid "template parameters not used in partial specialization:"
+ msgstr ""
+
+-#: cp/pt.c:3394
++#: cp/pt.c:3372
+ #, gcc-internal-format
+ msgid "partial specialization %qT does not specialize any template arguments"
+ msgstr ""
+
+-#: cp/pt.c:3439
++#: cp/pt.c:3417
+ #, gcc-internal-format
+ msgid "parameter pack argument %qE must be at the end of the template argument list"
+ msgstr ""
+
+-#: cp/pt.c:3441
++#: cp/pt.c:3419
+ #, gcc-internal-format
+ msgid "parameter pack argument %qT must be at the end of the template argument list"
+ msgstr ""
+
+-#: cp/pt.c:3462
++#: cp/pt.c:3440
+ #, gcc-internal-format
+ msgid "template argument %qE involves template parameter(s)"
+ msgstr ""
+
+-#: cp/pt.c:3505
++#: cp/pt.c:3484
+ #, gcc-internal-format
+ msgid "type %qT of template argument %qE depends on template parameter(s)"
+ msgstr ""
+
+-#: cp/pt.c:3611
++#: cp/pt.c:3591
+ #, fuzzy, gcc-internal-format
+ msgid "no default argument for %qD"
+ msgstr "нехапае аргументаў у функцыі \"%s\""
+
+-#: cp/pt.c:3796
++#: cp/pt.c:3609
+ #, gcc-internal-format
++msgid "parameter pack %qE must be at the end of the template parameter list"
++msgstr ""
++
++#: cp/pt.c:3612
++#, gcc-internal-format
++msgid "parameter pack %qT must be at the end of the template parameter list"
++msgstr ""
++
++#: cp/pt.c:3799
++#, gcc-internal-format
+ msgid "template class without a name"
+ msgstr ""
+
+ #. [temp.mem]
+ #.
+ #. A destructor shall not be a member template.
+-#: cp/pt.c:3804
++#: cp/pt.c:3807
+ #, gcc-internal-format
+ msgid "destructor %qD declared as member template"
+ msgstr ""
+@@ -30964,77 +31000,72 @@
+ #. An allocation function can be a function
+ #. template. ... Template allocation functions shall
+ #. have two or more parameters.
+-#: cp/pt.c:3819
++#: cp/pt.c:3822
+ #, fuzzy, gcc-internal-format
+ msgid "invalid template declaration of %qD"
+ msgstr "паўторнае абвÑшчÑнне меткі \"%s\""
+
+-#: cp/pt.c:3890
+-#, gcc-internal-format
+-msgid "parameter pack %qE must be at the end of the template parameter list"
+-msgstr ""
+-
+-#: cp/pt.c:3893
+-#, gcc-internal-format
+-msgid "parameter pack %qT must be at the end of the template parameter list"
+-msgstr ""
+-
+-#: cp/pt.c:3953
++#: cp/pt.c:3939
+ #, fuzzy, gcc-internal-format
+ msgid "template definition of non-template %q#D"
+ msgstr "абвÑшчÑньне шаблёну `%#D'"
+
+-#: cp/pt.c:3996
++#: cp/pt.c:3982
+ #, gcc-internal-format
+ msgid "expected %d levels of template parms for %q#D, got %d"
+ msgstr ""
+
+-#: cp/pt.c:4008
++#: cp/pt.c:3994
+ #, fuzzy, gcc-internal-format
+ msgid "got %d template parameters for %q#D"
+ msgstr "невыкарыÑтаемы параметр \"%s\""
+
+-#: cp/pt.c:4011
++#: cp/pt.c:3997
+ #, fuzzy, gcc-internal-format
+ msgid "got %d template parameters for %q#T"
+ msgstr "невыкарыÑтаемы параметр \"%s\""
+
+-#: cp/pt.c:4013
++#: cp/pt.c:3999
+ #, gcc-internal-format
+ msgid " but %d required"
+ msgstr ""
+
+-#: cp/pt.c:4031
++#: cp/pt.c:4017
+ #, gcc-internal-format
+ msgid "template arguments to %qD do not match original template %qD"
+ msgstr ""
+
+-#: cp/pt.c:4035
++#: cp/pt.c:4021
+ #, fuzzy, gcc-internal-format
+ msgid "use template<> for an explicit specialization"
+ msgstr "ініцыÑлізацыÑ"
+
+-#: cp/pt.c:4131
++#: cp/pt.c:4117
+ #, fuzzy, gcc-internal-format
+ msgid "%qT is not a template type"
+ msgstr "\"%s\" мае незавершаны тып"
+
+-#: cp/pt.c:4144
++#: cp/pt.c:4130
+ #, fuzzy, gcc-internal-format
+ msgid "template specifiers not specified in declaration of %qD"
+ msgstr "пуÑтое абвÑшчÑнне"
+
+-#: cp/pt.c:4155
++#: cp/pt.c:4140
++#, gcc-internal-format
++msgid "redeclared with %d template parameter(s)"
++msgstr ""
++
++#: cp/pt.c:4142
+ #, fuzzy, gcc-internal-format
+-msgid "used %d template parameter(s) instead of %d"
+-msgstr "Ð²Ñ–Ñ€Ñ‚ÑƒÐ°Ð»ÑŒÐ½Ñ‹Ñ Ñ„ÑƒÐ½ÐºÑ†Ñ‹Ñ– не могуць быць ÑÑброўÑкімі"
++msgid "previous declaration %q+D used %d template parameter(s)"
++msgstr "нÑма папÑÑ€ÑднÑга аб'ÑÑžÐ»ÐµÐ½Ð½Ñ Ð´Ð»Ñ \"%s\""
+
+-#: cp/pt.c:4184
++#: cp/pt.c:4176
+ #, fuzzy, gcc-internal-format
+ msgid "template parameter %q+#D"
+ msgstr "невыкарыÑтаемы параметр \"%s\""
+
+-#: cp/pt.c:4185
++#: cp/pt.c:4177
+ #, gcc-internal-format
+ msgid "redeclared here as %q#D"
+ msgstr ""
+@@ -31043,182 +31074,182 @@
+ #.
+ #. A template-parameter may not be given default arguments
+ #. by two different declarations in the same scope.
+-#: cp/pt.c:4195
++#: cp/pt.c:4187
+ #, fuzzy, gcc-internal-format
+ msgid "redefinition of default argument for %q#D"
+ msgstr "нехапае аргументаў у функцыі \"%s\""
+
+-#: cp/pt.c:4196
+-#, gcc-internal-format
+-msgid "%J original definition appeared here"
+-msgstr ""
++#: cp/pt.c:4188
++#, fuzzy, gcc-internal-format
++msgid "%Joriginal definition appeared here"
++msgstr "папÑÑ€ÑднÑе вызначÑньне"
+
+-#: cp/pt.c:4300
++#: cp/pt.c:4292
+ #, gcc-internal-format
+ msgid "%qE is not a valid template argument for type %qT because function %qD has not external linkage"
+ msgstr ""
+
+-#: cp/pt.c:4341
++#: cp/pt.c:4333
+ #, 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.c:4418
++#: cp/pt.c:4410
+ #, gcc-internal-format
+ msgid "%qE is not a valid template argument for type %qT because it is a non-constant expression"
+ msgstr ""
+
+-#: cp/pt.c:4462
++#: cp/pt.c:4454
+ #, 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.c:4480
++#: cp/pt.c:4472
+ #, gcc-internal-format
+ msgid "%qE is not a valid template argument of type %qT because %qE is not a variable"
+ msgstr ""
+
+-#: cp/pt.c:4487
++#: cp/pt.c:4479
+ #, gcc-internal-format
+ msgid "%qE is not a valid template argument of type %qT because %qD does not have external linkage"
+ msgstr ""
+
+-#: cp/pt.c:4517
++#: cp/pt.c:4509
+ #, gcc-internal-format
+ msgid "%qE is not a valid template argument for type %qT because of conflicts in cv-qualification"
+ msgstr ""
+
+-#: cp/pt.c:4524
++#: cp/pt.c:4516
+ #, gcc-internal-format
+ msgid "%qE is not a valid template argument for type %qT because it is not an lvalue"
+ msgstr ""
+
+-#: cp/pt.c:4537
++#: cp/pt.c:4529
+ #, gcc-internal-format
+ msgid "%qE is not a valid template argument for type %qT because object %qD has not external linkage"
+ msgstr ""
+
+-#: cp/pt.c:4577
++#: cp/pt.c:4569
+ #, gcc-internal-format
+ msgid "%qE is not a valid template argument for type %qT because it is a pointer"
+ msgstr ""
+
+-#: cp/pt.c:4579
++#: cp/pt.c:4571
+ #, gcc-internal-format
+ msgid "try using %qE instead"
+ msgstr ""
+
+-#: cp/pt.c:4614
++#: cp/pt.c:4606
+ #, gcc-internal-format
+ msgid "%qE is not a valid template argument for type %qT because it is of type %qT"
+ msgstr ""
+
+-#: cp/pt.c:4617
++#: cp/pt.c:4609
+ #, gcc-internal-format
+ msgid "standard conversions are not allowed in this context"
+ msgstr ""
+
+-#: cp/pt.c:4797
++#: cp/pt.c:4860
+ #, gcc-internal-format
+ msgid "to refer to a type member of a template parameter, use %<typename %E%>"
+ msgstr ""
+
+-#: cp/pt.c:4813 cp/pt.c:4832 cp/pt.c:4882
++#: cp/pt.c:4876 cp/pt.c:4895 cp/pt.c:4945
+ #, gcc-internal-format
+ msgid "type/value mismatch at argument %d in template parameter list for %qD"
+ msgstr ""
+
+-#: cp/pt.c:4817
++#: cp/pt.c:4880
+ #, gcc-internal-format
+ msgid " expected a constant of type %qT, got %qT"
+ msgstr ""
+
+-#: cp/pt.c:4821
++#: cp/pt.c:4884
+ #, gcc-internal-format
+ msgid " expected a class template, got %qE"
+ msgstr ""
+
+-#: cp/pt.c:4823
++#: cp/pt.c:4886
+ #, gcc-internal-format
+ msgid " expected a type, got %qE"
+ msgstr ""
+
+-#: cp/pt.c:4836
++#: cp/pt.c:4899
+ #, gcc-internal-format
+ msgid " expected a type, got %qT"
+ msgstr ""
+
+-#: cp/pt.c:4838
++#: cp/pt.c:4901
+ #, gcc-internal-format
+ msgid " expected a class template, got %qT"
+ msgstr ""
+
+-#: cp/pt.c:4885
++#: cp/pt.c:4948
+ #, gcc-internal-format
+ msgid " expected a template of type %qD, got %qD"
+ msgstr ""
+
+-#: cp/pt.c:4928
++#: cp/pt.c:4991
+ #, gcc-internal-format
+ msgid "could not convert template argument %qE to %qT"
+ msgstr ""
+
+-#: cp/pt.c:4984
++#: cp/pt.c:5047
+ #, gcc-internal-format
+ msgid "wrong number of template arguments (%d, should be %d)"
+ msgstr ""
+
+-#: cp/pt.c:5116
++#: cp/pt.c:5179
+ #, gcc-internal-format
+ msgid "wrong number of template arguments (%d, should be %d%s)"
+ msgstr ""
+
+-#: cp/pt.c:5120
++#: cp/pt.c:5183
+ #, fuzzy, gcc-internal-format
+ msgid "provided for %q+D"
+ msgstr "дÑÑтруктару неабходны \"%#D\""
+
+-#: cp/pt.c:5177
++#: cp/pt.c:5242
+ #, gcc-internal-format
+ msgid "cannot expand %<%E%> into a fixed-length argument list"
+ msgstr ""
+
+-#: cp/pt.c:5180
++#: cp/pt.c:5245
+ #, gcc-internal-format
+ msgid "cannot expand %<%T%> into a fixed-length argument list"
+ msgstr ""
+
+-#: cp/pt.c:5195
++#: cp/pt.c:5261
+ #, fuzzy, gcc-internal-format
+ msgid "template argument %d is invalid"
+ msgstr "параметр \"%s\" ініцыÑлізаваны"
+
+-#: cp/pt.c:5455
++#: cp/pt.c:5521
+ #, gcc-internal-format
+ msgid "non-template type %qT used as a template"
+ msgstr ""
+
+-#: cp/pt.c:5457
++#: cp/pt.c:5523
+ #, fuzzy, gcc-internal-format
+ msgid "for template declaration %q+D"
+ msgstr "пуÑтое абвÑшчÑнне"
+
+-#: cp/pt.c:6132
++#: cp/pt.c:6221
+ #, gcc-internal-format
+ msgid "template instantiation depth exceeds maximum of %d (use -ftemplate-depth-NN to increase the maximum) instantiating %qD"
+ msgstr ""
+
+-#: cp/pt.c:7237
++#: cp/pt.c:7333
+ #, gcc-internal-format
+ msgid "mismatched argument pack lengths while expanding %<%T%>"
+ msgstr ""
+
+-#: cp/pt.c:7241
++#: cp/pt.c:7337
+ #, gcc-internal-format
+ msgid "mismatched argument pack lengths while expanding %<%E%>"
+ msgstr ""
+
+-#: cp/pt.c:8189
++#: cp/pt.c:8289
+ #, gcc-internal-format
+ msgid "instantiation of %q+D as type %qT"
+ msgstr ""
+@@ -31236,242 +31267,242 @@
+ #.
+ #. is an attempt to declare a variable with function
+ #. type.
+-#: cp/pt.c:8324
++#: cp/pt.c:8424
+ #, fuzzy, gcc-internal-format
+ msgid "variable %qD has function type"
+ msgstr "\"%s\" мае незавершаны тып"
+
+-#: cp/pt.c:8471
++#: cp/pt.c:8571
+ #, fuzzy, gcc-internal-format
+ msgid "invalid parameter type %qT"
+ msgstr "нерÑчаіÑны тып парамÑтра `%T'"
+
+-#: cp/pt.c:8473
++#: cp/pt.c:8573
+ #, fuzzy, gcc-internal-format
+ msgid "in declaration %q+D"
+ msgstr "у абвÑшчÑньні `%D'"
+
+-#: cp/pt.c:8550
++#: cp/pt.c:8650
+ #, fuzzy, gcc-internal-format
+ msgid "function returning an array"
+ msgstr "Ñ„ÑƒÐ½ÐºÑ†Ñ‹Ñ Ð½Ðµ вÑртае тып string"
+
+-#: cp/pt.c:8552
++#: cp/pt.c:8652
+ #, fuzzy, gcc-internal-format
+ msgid "function returning a function"
+ msgstr "\"%s\" не абвешчан (першае выкарыÑтанне Ñž гÑтай функцыі)"
+
+-#: cp/pt.c:8586
++#: cp/pt.c:8686
+ #, gcc-internal-format
+ msgid "creating pointer to member function of non-class type %qT"
+ msgstr ""
+
+-#: cp/pt.c:8792
++#: cp/pt.c:8913
+ #, gcc-internal-format
+ msgid "creating array with negative size (%qE)"
+ msgstr ""
+
+-#: cp/pt.c:9047
++#: cp/pt.c:9168
+ #, gcc-internal-format
+ msgid "forming reference to void"
+ msgstr ""
+
+-#: cp/pt.c:9049
++#: cp/pt.c:9170
+ #, gcc-internal-format
+ msgid "forming %s to reference type %qT"
+ msgstr ""
+
+-#: cp/pt.c:9100
++#: cp/pt.c:9221
+ #, gcc-internal-format
+ msgid "creating pointer to member of non-class type %qT"
+ msgstr ""
+
+-#: cp/pt.c:9106
++#: cp/pt.c:9227
+ #, gcc-internal-format
+ msgid "creating pointer to member reference type %qT"
+ msgstr ""
+
+-#: cp/pt.c:9112
++#: cp/pt.c:9233
+ #, gcc-internal-format
+ msgid "creating pointer to member of type void"
+ msgstr ""
+
+-#: cp/pt.c:9179
++#: cp/pt.c:9300
+ #, gcc-internal-format
+ msgid "creating array of %qT"
+ msgstr ""
+
+-#: cp/pt.c:9185
++#: cp/pt.c:9306
+ #, gcc-internal-format
+ msgid "creating array of %qT, which is an abstract class type"
+ msgstr ""
+
+-#: cp/pt.c:9236
++#: cp/pt.c:9357
+ #, gcc-internal-format
+ msgid "%qT is not a class, struct, or union type"
+ msgstr ""
+
+-#: cp/pt.c:9271
++#: cp/pt.c:9392
+ #, gcc-internal-format
+ msgid "%qT resolves to %qT, which is not an enumeration type"
+ msgstr ""
+
+-#: cp/pt.c:9274
++#: cp/pt.c:9395
+ #, gcc-internal-format
+ msgid "%qT resolves to %qT, which is is not a class type"
+ msgstr ""
+
+-#: cp/pt.c:9375
++#: cp/pt.c:9496
+ #, fuzzy, gcc-internal-format
+ msgid "use of %qs in template"
+ msgstr "\"%s\" звычайна функцыÑ"
+
+-#: cp/pt.c:9512
++#: cp/pt.c:9633
+ #, gcc-internal-format
+ msgid "dependent-name %qE is parsed as a non-type, but instantiation yields a type"
+ msgstr ""
+
+-#: cp/pt.c:9514
++#: cp/pt.c:9635
+ #, gcc-internal-format
+ msgid "say %<typename %E%> if a type is meant"
+ msgstr ""
+
+-#: cp/pt.c:9643
++#: cp/pt.c:9764
+ #, gcc-internal-format
+ msgid "using invalid field %qD"
+ msgstr ""
+
+-#: cp/pt.c:9952 cp/pt.c:10432
++#: cp/pt.c:10073 cp/pt.c:10553
+ #, gcc-internal-format
+ msgid "invalid use of pack expansion expression"
+ msgstr ""
+
+-#: cp/pt.c:9956 cp/pt.c:10436
++#: cp/pt.c:10077 cp/pt.c:10557
+ #, gcc-internal-format
+ msgid "use %<...%> to expand argument pack"
+ msgstr ""
+
+-#: cp/pt.c:10594
++#: cp/pt.c:10715
+ #, gcc-internal-format
+ msgid "a cast to a type other than an integral or enumeration type cannot appear in a constant-expression"
+ msgstr ""
+
+-#: cp/pt.c:11052
++#: cp/pt.c:11181
+ #, fuzzy, gcc-internal-format
+ msgid "%qT is not a class or namespace"
+ msgstr "\"%s\" мае незавершаны тып"
+
+-#: cp/pt.c:11055
++#: cp/pt.c:11184
+ #, fuzzy, gcc-internal-format
+ msgid "%qD is not a class or namespace"
+ msgstr "\"%s\" звычайна функцыÑ"
+
+-#: cp/pt.c:11265
++#: cp/pt.c:11394
+ #, gcc-internal-format
+ msgid "%qT is/uses anonymous type"
+ msgstr ""
+
+-#: cp/pt.c:11267
++#: cp/pt.c:11396
+ #, fuzzy, gcc-internal-format
+ msgid "template argument for %qD uses local type %qT"
+ msgstr "звычайны аргумÑнт Ð´Ð»Ñ `%#D' мае тып `%T'"
+
+-#: cp/pt.c:11277
++#: cp/pt.c:11406
+ #, gcc-internal-format
+ msgid "%qT is a variably modified type"
+ msgstr ""
+
+-#: cp/pt.c:11288
++#: cp/pt.c:11417
+ #, fuzzy, gcc-internal-format
+ msgid "integral expression %qE is not constant"
+ msgstr "тып параметра \"%s\" не аб'Ñўлены"
+
+-#: cp/pt.c:11293
++#: cp/pt.c:11422
+ #, gcc-internal-format
+ msgid " trying to instantiate %qD"
+ msgstr ""
+
+-#: cp/pt.c:13959
++#: cp/pt.c:14173
+ #, fuzzy, gcc-internal-format
+ msgid "ambiguous class template instantiation for %q#T"
+ msgstr "паўторнае абвÑшчÑнне меткі \"%s\""
+
+-#: cp/pt.c:13962
++#: cp/pt.c:14176
+ #, gcc-internal-format
+ msgid "%s %+#T"
+ msgstr ""
+
+-#: cp/pt.c:13985 cp/pt.c:14068
++#: cp/pt.c:14199 cp/pt.c:14282
+ #, fuzzy, gcc-internal-format
+ msgid "explicit instantiation of non-template %q#D"
+ msgstr "паўторнае абвÑшчÑнне меткі \"%s\""
+
+-#: cp/pt.c:14000
++#: cp/pt.c:14214
+ #, gcc-internal-format
+ msgid "%qD is not a static data member of a class template"
+ msgstr ""
+
+-#: cp/pt.c:14006 cp/pt.c:14063
++#: cp/pt.c:14220 cp/pt.c:14277
+ #, gcc-internal-format
+ msgid "no matching template for %qD found"
+ msgstr ""
+
+-#: cp/pt.c:14011
++#: cp/pt.c:14225
+ #, gcc-internal-format
+ msgid "type %qT for explicit instantiation %qD does not match declared type %qT"
+ msgstr ""
+
+-#: cp/pt.c:14019
++#: cp/pt.c:14233
+ #, fuzzy, gcc-internal-format
+ msgid "explicit instantiation of %q#D"
+ msgstr "паўторнае абвÑшчÑнне меткі \"%s\""
+
+-#: cp/pt.c:14055
++#: cp/pt.c:14269
+ #, fuzzy, gcc-internal-format
+ msgid "duplicate explicit instantiation of %q#D"
+ msgstr "паўторнае абвÑшчÑнне меткі \"%s\""
+
+-#: cp/pt.c:14077
++#: cp/pt.c:14291
+ #, gcc-internal-format
+ msgid "ISO C++ forbids the use of %<extern%> on explicit instantiations"
+ msgstr ""
+
+-#: cp/pt.c:14082 cp/pt.c:14175
++#: cp/pt.c:14296 cp/pt.c:14389
+ #, gcc-internal-format
+ msgid "storage class %qD applied to template instantiation"
+ msgstr ""
+
+-#: cp/pt.c:14147
++#: cp/pt.c:14361
+ #, fuzzy, gcc-internal-format
+ msgid "explicit instantiation of non-template type %qT"
+ msgstr "паўторнае абвÑшчÑнне меткі \"%s\""
+
+-#: cp/pt.c:14156
++#: cp/pt.c:14370
+ #, gcc-internal-format
+ msgid "explicit instantiation of %q#T before definition of template"
+ msgstr ""
+
+-#: cp/pt.c:14164
++#: cp/pt.c:14378
+ #, gcc-internal-format
+ msgid "ISO C++ forbids the use of %qE on explicit instantiations"
+ msgstr ""
+
+-#: cp/pt.c:14209
++#: cp/pt.c:14423
+ #, fuzzy, gcc-internal-format
+ msgid "duplicate explicit instantiation of %q#T"
+ msgstr "паўторнае абвÑшчÑнне меткі \"%s\""
+
+-#: cp/pt.c:14657
++#: cp/pt.c:14871
+ #, gcc-internal-format
+ msgid "explicit instantiation of %qD but no definition available"
+ msgstr ""
+
+-#: cp/pt.c:14851
++#: cp/pt.c:15065
+ #, 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)"
+ msgstr ""
+
+-#: cp/pt.c:15193
++#: cp/pt.c:15419
+ #, fuzzy, gcc-internal-format
+ msgid "%q#T is not a valid type for a template constant parameter"
+ msgstr "нÑвернае выкарыÑтанне \"restict\""
+@@ -31491,32 +31522,32 @@
+ msgid "can't create repository information file %qs"
+ msgstr "немагчыма Ñтварыць дырÑкторыю \"%s\""
+
+-#: cp/rtti.c:271
++#: cp/rtti.c:285
+ #, gcc-internal-format
+ msgid "cannot use typeid with -fno-rtti"
+ msgstr ""
+
+-#: cp/rtti.c:277
++#: cp/rtti.c:291
+ #, gcc-internal-format
+ msgid "must #include <typeinfo> before using typeid"
+ msgstr ""
+
+-#: cp/rtti.c:360
++#: cp/rtti.c:374
+ #, gcc-internal-format
+ msgid "cannot create type information for type %qT because it involves types of variable size"
+ msgstr ""
+
+-#: cp/rtti.c:615 cp/rtti.c:629
++#: cp/rtti.c:629 cp/rtti.c:643
+ #, gcc-internal-format
+ msgid "dynamic_cast of %q#D to %q#T can never succeed"
+ msgstr ""
+
+-#: cp/rtti.c:639
++#: cp/rtti.c:653
+ #, gcc-internal-format
+ msgid "%<dynamic_cast%> not permitted with -fno-rtti"
+ msgstr ""
+
+-#: cp/rtti.c:716
++#: cp/rtti.c:729
+ #, gcc-internal-format
+ msgid "cannot dynamic_cast %qE (of type %q#T) to type %q#T (%s)"
+ msgstr ""
+@@ -31578,551 +31609,551 @@
+ msgid " since %q+#D declared in base class"
+ msgstr ""
+
+-#: cp/semantics.c:762
++#: cp/semantics.c:764
+ #, gcc-internal-format
+ msgid "suggest explicit braces around empty body in %<do%> statement"
+ msgstr ""
+
+-#: cp/semantics.c:1290
++#: cp/semantics.c:1294
+ #, fuzzy, gcc-internal-format
+ msgid "type of asm operand %qE could not be determined"
+ msgstr "тып параметра \"%s\" не аб'Ñўлены"
+
+-#: cp/semantics.c:1346
++#: cp/semantics.c:1350
+ #, gcc-internal-format
+ msgid "__label__ declarations are only allowed in function scopes"
+ msgstr ""
+
+-#: cp/semantics.c:1433
++#: cp/semantics.c:1438
+ #, fuzzy, gcc-internal-format
+ msgid "invalid use of member %q+D in static member function"
+ msgstr "нÑвернае выкарыÑтанне \"restict\""
+
+-#: cp/semantics.c:1435
++#: cp/semantics.c:1440
+ #, fuzzy, gcc-internal-format
+ msgid "invalid use of non-static data member %q+D"
+ msgstr "нÑвернае выкарыÑтанне \"restict\""
+
+-#: cp/semantics.c:1436 cp/semantics.c:1475
++#: cp/semantics.c:1441 cp/semantics.c:1480
+ #, gcc-internal-format
+ msgid "from this location"
+ msgstr ""
+
+-#: cp/semantics.c:1474
++#: cp/semantics.c:1479
+ #, gcc-internal-format
+ msgid "object missing in reference to %q+D"
+ msgstr ""
+
+-#: cp/semantics.c:1928
++#: cp/semantics.c:1951
+ #, fuzzy, gcc-internal-format
+ msgid "arguments to destructor are not allowed"
+ msgstr "памер \"%s\" больш чам %d байт"
+
+-#: cp/semantics.c:1978
++#: cp/semantics.c:2001
+ #, gcc-internal-format
+ msgid "%<this%> is unavailable for static member functions"
+ msgstr ""
+
+-#: cp/semantics.c:1984
++#: cp/semantics.c:2007
+ #, fuzzy, gcc-internal-format
+ msgid "invalid use of %<this%> in non-member function"
+ msgstr "не магу ініцыÑлізаваць ÑÑброўÑкую функцыю \"%s\""
+
+-#: cp/semantics.c:1986
++#: cp/semantics.c:2009
+ #, fuzzy, gcc-internal-format
+ msgid "invalid use of %<this%> at top level"
+ msgstr "нÑвернае выкарыÑтанне \"restict\""
+
+-#: cp/semantics.c:2010
++#: cp/semantics.c:2033
+ #, gcc-internal-format
+ msgid "invalid qualifying scope in pseudo-destructor name"
+ msgstr ""
+
+-#: cp/semantics.c:2015 cp/typeck.c:2004
++#: cp/semantics.c:2038 cp/typeck.c:2050
+ #, gcc-internal-format
+ msgid "qualified type %qT does not match destructor name ~%qT"
+ msgstr ""
+
+-#: cp/semantics.c:2037
++#: cp/semantics.c:2060
+ #, gcc-internal-format
+ msgid "%qE is not of type %qT"
+ msgstr ""
+
+-#: cp/semantics.c:2081
++#: cp/semantics.c:2104
+ #, gcc-internal-format
+ msgid "compound literal of non-object type %qT"
+ msgstr ""
+
+-#: cp/semantics.c:2158
++#: cp/semantics.c:2181
+ #, gcc-internal-format
+ msgid "template type parameters must use the keyword %<class%> or %<typename%>"
+ msgstr ""
+
+-#: cp/semantics.c:2195
++#: cp/semantics.c:2222
+ #, fuzzy, gcc-internal-format
+ msgid "invalid use of type %qT as a default value for a template template-parameter"
+ msgstr "нÑвернае выкарыÑтанне \"restict\""
+
+-#: cp/semantics.c:2198
++#: cp/semantics.c:2225
+ #, fuzzy, gcc-internal-format
+ msgid "invalid default argument for a template template parameter"
+ msgstr "нÑвернае выкарыÑтанне \"restict\""
+
+-#: cp/semantics.c:2215
++#: cp/semantics.c:2242
+ #, gcc-internal-format
+ msgid "definition of %q#T inside template parameter list"
+ msgstr ""
+
+-#: cp/semantics.c:2226
++#: cp/semantics.c:2253
+ #, fuzzy, gcc-internal-format
+ msgid "invalid definition of qualified type %qT"
+ msgstr "нÑвернае выкарыÑтанне \"restict\""
+
+-#: cp/semantics.c:2437
++#: cp/semantics.c:2469
+ #, fuzzy, gcc-internal-format
+ msgid "invalid base-class specification"
+ msgstr "ÐерÑчаіÑÐ½Ð°Ñ ÑпецыфікацыÑ! Памылка Ñž cc."
+
+-#: cp/semantics.c:2446
++#: cp/semantics.c:2478
+ #, gcc-internal-format
+ msgid "base class %qT has cv qualifiers"
+ msgstr ""
+
+-#: cp/semantics.c:2468
++#: cp/semantics.c:2500
+ #, gcc-internal-format
+ msgid "incomplete type %qT used in nested name specifier"
+ msgstr ""
+
+-#: cp/semantics.c:2471
++#: cp/semantics.c:2503
+ #, fuzzy, gcc-internal-format
+ msgid "reference to %<%T::%D%> is ambiguous"
+ msgstr "памер \"%s\" - %d байт"
+
+-#: cp/semantics.c:2475 cp/typeck.c:1813
++#: cp/semantics.c:2507 cp/typeck.c:1859
+ #, gcc-internal-format
+ msgid "%qD is not a member of %qT"
+ msgstr ""
+
+-#: cp/semantics.c:2478
++#: cp/semantics.c:2510
+ #, gcc-internal-format
+ msgid "%qD is not a member of %qD"
+ msgstr ""
+
+-#: cp/semantics.c:2480
++#: cp/semantics.c:2512
+ #, gcc-internal-format
+ msgid "%<::%D%> has not been declared"
+ msgstr ""
+
+-#: cp/semantics.c:2621
++#: cp/semantics.c:2653
+ #, gcc-internal-format
+ msgid "use of %<auto%> variable from containing function"
+ msgstr ""
+
+-#: cp/semantics.c:2623
++#: cp/semantics.c:2655
+ #, gcc-internal-format
+ msgid " %q+#D declared here"
+ msgstr ""
+
+-#: cp/semantics.c:2661
++#: cp/semantics.c:2693
+ #, gcc-internal-format
+ msgid "template parameter %qD of type %qT is not allowed in an integral constant expression because it is not of integral or enumeration type"
+ msgstr ""
+
+-#: cp/semantics.c:2830
++#: cp/semantics.c:2862
+ #, fuzzy, gcc-internal-format
+ msgid "%qD cannot appear in a constant-expression"
+ msgstr "памер маÑіва \"%s\" адмоўны"
+
+-#: cp/semantics.c:2838
++#: cp/semantics.c:2870
+ #, gcc-internal-format
+ msgid "use of namespace %qD as expression"
+ msgstr ""
+
+-#: cp/semantics.c:2843
++#: cp/semantics.c:2875
+ #, gcc-internal-format
+ msgid "use of class template %qT as expression"
+ msgstr ""
+
+ #. Ambiguous reference to base members.
+-#: cp/semantics.c:2849
++#: cp/semantics.c:2881
+ #, gcc-internal-format
+ msgid "request for member %qD is ambiguous in multiple inheritance lattice"
+ msgstr ""
+
+-#: cp/semantics.c:2970 cp/semantics.c:4210
++#: cp/semantics.c:3002 cp/semantics.c:4259
+ #, gcc-internal-format
+ msgid "type of %qE is unknown"
+ msgstr ""
+
+-#: cp/semantics.c:2985
++#: cp/semantics.c:3017
+ #, gcc-internal-format
+ msgid "cannot apply %<offsetof%> to destructor %<~%T%>"
+ msgstr ""
+
+-#: cp/semantics.c:2996
++#: cp/semantics.c:3028
+ #, gcc-internal-format
+ msgid "cannot apply %<offsetof%> to member function %qD"
+ msgstr ""
+
+-#: cp/semantics.c:3349
++#: cp/semantics.c:3381
+ #, gcc-internal-format
+ msgid "%qD is not a variable in clause %qs"
+ msgstr ""
+
+-#: cp/semantics.c:3358
++#: cp/semantics.c:3390
+ #, gcc-internal-format
+ msgid "%qD appears more than once in data clauses"
+ msgstr ""
+
+-#: cp/semantics.c:3418
++#: cp/semantics.c:3450
+ #, gcc-internal-format
+ msgid "num_threads expression must be integral"
+ msgstr ""
+
+-#: cp/semantics.c:3432
++#: cp/semantics.c:3464
+ #, gcc-internal-format
+ msgid "schedule chunk size expression must be integral"
+ msgstr ""
+
+-#: cp/semantics.c:3562
++#: cp/semantics.c:3594
+ #, gcc-internal-format
+ msgid "%qE has reference type for %qs"
+ msgstr ""
+
+-#: cp/semantics.c:3724
++#: cp/semantics.c:3756
+ #, gcc-internal-format
+ msgid "%<threadprivate%> %qE is not file, namespace or block scope variable"
+ msgstr ""
+
+ #. Report the error.
+-#: cp/semantics.c:4033
++#: cp/semantics.c:4072
+ #, gcc-internal-format
+ msgid "static assertion failed: %E"
+ msgstr ""
+
+-#: cp/semantics.c:4035
++#: cp/semantics.c:4074
+ #, gcc-internal-format
+ msgid "non-constant condition for static assertion"
+ msgstr ""
+
+-#: cp/semantics.c:4097
++#: cp/semantics.c:4099 cp/semantics.c:4194
+ #, gcc-internal-format
+-msgid "%qE refers to a set of overloaded functions"
++msgid "argument to decltype must be an expression"
+ msgstr ""
+
+ #: cp/semantics.c:4145
+ #, gcc-internal-format
+-msgid "argument to decltype must be an expression"
++msgid "%qE refers to a set of overloaded functions"
+ msgstr ""
+
+-#: cp/semantics.c:4366
++#: cp/semantics.c:4415
+ #, gcc-internal-format
+ msgid "__is_convertible_to"
+ msgstr ""
+
+-#: cp/semantics.c:4395
++#: cp/semantics.c:4444
+ #, gcc-internal-format
+ msgid "incomplete type %qT not allowed"
+ msgstr ""
+
+-#: cp/tree.c:829
++#: cp/tree.c:827
+ #, gcc-internal-format
+ msgid "%qV qualifiers cannot be applied to %qT"
+ msgstr ""
+
+-#: cp/tree.c:2134
++#: cp/tree.c:2132
+ #, fuzzy, gcc-internal-format
+ msgid "%qE attribute can only be applied to Java class definitions"
+ msgstr "\"%s\" звычайна функцыÑ"
+
+-#: cp/tree.c:2163
++#: cp/tree.c:2161
+ #, fuzzy, gcc-internal-format
+ msgid "%qE attribute can only be applied to class definitions"
+ msgstr "\"%s\" звычайна функцыÑ"
+
+-#: cp/tree.c:2169
++#: cp/tree.c:2167
+ #, gcc-internal-format
+ msgid "%qE is obsolete; g++ vtables are now COM-compatible by default"
+ msgstr ""
+
+-#: cp/tree.c:2193
++#: cp/tree.c:2191
+ #, gcc-internal-format
+ msgid "requested init_priority is not an integer constant"
+ msgstr ""
+
+-#: cp/tree.c:2214
++#: cp/tree.c:2212
+ #, gcc-internal-format
+ msgid "can only use %qE attribute on file-scope definitions of objects of class type"
+ msgstr ""
+
+-#: cp/tree.c:2222
++#: cp/tree.c:2220
+ #, gcc-internal-format
+ msgid "requested init_priority is out of range"
+ msgstr ""
+
+-#: cp/tree.c:2232
++#: cp/tree.c:2230
+ #, gcc-internal-format
+ msgid "requested init_priority is reserved for internal use"
+ msgstr ""
+
+-#: cp/tree.c:2243
++#: cp/tree.c:2241
+ #, fuzzy, gcc-internal-format
+ msgid "%qE attribute is not supported on this platform"
+ msgstr "атрыбуты Ñекцыі не падтрымліваюцца Ð´Ð»Ñ Ð³Ñтай мÑÑ‚Ñ‹"
+
+-#: cp/typeck.c:431 cp/typeck.c:445 cp/typeck.c:545
++#: cp/typeck.c:432 cp/typeck.c:446 cp/typeck.c:546
+ #, gcc-internal-format
+ msgid "%s between distinct pointer types %qT and %qT lacks a cast"
+ msgstr ""
+
+-#: cp/typeck.c:507
++#: cp/typeck.c:508
+ #, gcc-internal-format
+ msgid "ISO C++ forbids %s between pointer of type %<void *%> and pointer-to-function"
+ msgstr ""
+
+-#: cp/typeck.c:565
++#: cp/typeck.c:566
+ #, gcc-internal-format
+ msgid "%s between distinct pointer-to-member types %qT and %qT lacks a cast"
+ msgstr ""
+
+-#: cp/typeck.c:1129
++#: cp/typeck.c:1166
+ #, gcc-internal-format
+ msgid "canonical types differ for identical types %T and %T"
+ msgstr ""
+
+-#: cp/typeck.c:1136
++#: cp/typeck.c:1173
+ #, gcc-internal-format
+ msgid "same canonical type node for different types %T and %T"
+ msgstr ""
+
+-#: cp/typeck.c:1248
++#: cp/typeck.c:1285
+ #, gcc-internal-format
+ msgid "invalid application of %qs to a member function"
+ msgstr ""
+
+-#: cp/typeck.c:1298
++#: cp/typeck.c:1335
+ #, gcc-internal-format
+ msgid "invalid application of %<sizeof%> to a bit-field"
+ msgstr ""
+
+-#: cp/typeck.c:1303
++#: cp/typeck.c:1340
+ #, gcc-internal-format
+ msgid "ISO C++ forbids applying %<sizeof%> to an expression of function type"
+ msgstr ""
+
+-#: cp/typeck.c:1346
++#: cp/typeck.c:1383
+ #, gcc-internal-format
+ msgid "invalid application of %<__alignof%> to a bit-field"
+ msgstr ""
+
+-#: cp/typeck.c:1354
++#: cp/typeck.c:1391
+ #, gcc-internal-format
+ msgid "ISO C++ forbids applying %<__alignof%> to an expression of function type"
+ msgstr ""
+
+-#: cp/typeck.c:1405
++#: cp/typeck.c:1442
+ #, fuzzy, gcc-internal-format
+ msgid "invalid use of non-static member function"
+ msgstr "нÑвернае выкарыÑтанне \"restict\""
+
+-#: cp/typeck.c:1669
++#: cp/typeck.c:1715
+ #, gcc-internal-format
+ msgid "deprecated conversion from string constant to %qT"
+ msgstr ""
+
+-#: cp/typeck.c:1784 cp/typeck.c:2132
++#: cp/typeck.c:1830 cp/typeck.c:2178
+ #, gcc-internal-format
+ msgid "request for member %qD in %qE, which is of non-class type %qT"
+ msgstr ""
+
+-#: cp/typeck.c:1811
++#: cp/typeck.c:1857
+ #, fuzzy, gcc-internal-format
+ msgid "invalid use of nonstatic data member %qE"
+ msgstr "нÑвернае выкарыÑтанне \"restict\""
+
+-#: cp/typeck.c:1863 cp/typeck.c:1891
++#: cp/typeck.c:1909 cp/typeck.c:1937
+ #, gcc-internal-format
+ msgid "invalid access to non-static data member %qD of NULL object"
+ msgstr ""
+
+-#: cp/typeck.c:1866 cp/typeck.c:1893
++#: cp/typeck.c:1912 cp/typeck.c:1939
+ #, gcc-internal-format
+ msgid "(perhaps the %<offsetof%> macro was used incorrectly)"
+ msgstr ""
+
+-#: cp/typeck.c:2010
++#: cp/typeck.c:2056
+ #, gcc-internal-format
+ msgid "the type being destroyed is %qT, but the destructor refers to %qT"
+ msgstr ""
+
+-#: cp/typeck.c:2049 cp/typeck.c:2069
++#: cp/typeck.c:2095 cp/typeck.c:2115
+ #, fuzzy, gcc-internal-format
+ msgid "%qD is not a template"
+ msgstr "\"%s\" мае незавершаны тып"
+
+-#: cp/typeck.c:2170
++#: cp/typeck.c:2216
+ #, gcc-internal-format
+ msgid "%<%D::%D%> is not a member of %qT"
+ msgstr ""
+
+-#: cp/typeck.c:2185
++#: cp/typeck.c:2231
+ #, gcc-internal-format
+ msgid "%qT is not a base of %qT"
+ msgstr ""
+
+-#: cp/typeck.c:2204
++#: cp/typeck.c:2250
+ #, gcc-internal-format
+ msgid "%qD has no member named %qE"
+ msgstr ""
+
+-#: cp/typeck.c:2219
++#: cp/typeck.c:2265
+ #, fuzzy, gcc-internal-format
+ msgid "%qD is not a member template function"
+ msgstr "`%D' - гÑта Ð½Ñ Ñ„ÑƒÐ½ÐºÑ†Ñ‹Ñ,"
+
+ #. A pointer to incomplete type (other than cv void) can be
+ #. dereferenced [expr.unary.op]/1
+-#: cp/typeck.c:2352
++#: cp/typeck.c:2398
+ #, fuzzy, gcc-internal-format
+ msgid "%qT is not a pointer-to-object type"
+ msgstr "\"%s\" мае незавершаны тып"
+
+-#: cp/typeck.c:2377
++#: cp/typeck.c:2423
+ #, fuzzy, gcc-internal-format
+ msgid "invalid use of %qs on pointer to member"
+ msgstr "нÑвернае выкарыÑтанне \"restict\""
+
+-#: cp/typeck.c:2381
++#: cp/typeck.c:2427
+ #, fuzzy, gcc-internal-format
+ msgid "invalid type argument of %qs"
+ msgstr "нÑвернае выкарыÑтанне \"restict\""
+
+-#: cp/typeck.c:2383
++#: cp/typeck.c:2429
+ #, gcc-internal-format
+ msgid "invalid type argument"
+ msgstr ""
+
+-#: cp/typeck.c:2406
++#: cp/typeck.c:2452
+ #, gcc-internal-format
+ msgid "subscript missing in array reference"
+ msgstr ""
+
+-#: cp/typeck.c:2480
++#: cp/typeck.c:2526
+ #, gcc-internal-format
+ msgid "ISO C++ forbids subscripting non-lvalue array"
+ msgstr ""
+
+-#: cp/typeck.c:2491
++#: cp/typeck.c:2537
+ #, gcc-internal-format
+ msgid "subscripting array declared %<register%>"
+ msgstr ""
+
+-#: cp/typeck.c:2576
++#: cp/typeck.c:2622
+ #, gcc-internal-format
+ msgid "object missing in use of %qE"
+ msgstr ""
+
+-#: cp/typeck.c:2693
++#: cp/typeck.c:2739
+ #, fuzzy, gcc-internal-format
+ msgid "ISO C++ forbids calling %<::main%> from within program"
+ msgstr "ISO C не дазвалÑе дÑкларацыі метак (label)"
+
+-#: cp/typeck.c:2718
++#: cp/typeck.c:2764
+ #, gcc-internal-format
+ msgid "must use %<.*%> or %<->*%> to call pointer-to-member function in %<%E (...)%>"
+ msgstr ""
+
+-#: cp/typeck.c:2732
++#: cp/typeck.c:2778
+ #, fuzzy, gcc-internal-format
+ msgid "%qE cannot be used as a function"
+ msgstr "\"%s\" звычайна функцыÑ"
+
+-#: cp/typeck.c:2822
++#: cp/typeck.c:2868
+ #, fuzzy, gcc-internal-format
+ msgid "too many arguments to %s %q+#D"
+ msgstr "вельмі шмат аргументаў у функцыі \"%s\""
+
+-#: cp/typeck.c:2823 cp/typeck.c:2927
++#: cp/typeck.c:2869 cp/typeck.c:2973
+ #, gcc-internal-format
+ msgid "at this point in file"
+ msgstr ""
+
+-#: cp/typeck.c:2826
++#: cp/typeck.c:2872
+ #, gcc-internal-format
+ msgid "too many arguments to function"
+ msgstr "вельмі шмат аргументаў у функцыі"
+
+-#: cp/typeck.c:2856
++#: cp/typeck.c:2902
+ #, fuzzy, gcc-internal-format
+ msgid "parameter %P of %qD has incomplete type %qT"
+ msgstr "\"%s\" мае незавершаны тып"
+
+-#: cp/typeck.c:2859
++#: cp/typeck.c:2905
+ #, fuzzy, gcc-internal-format
+ msgid "parameter %P has incomplete type %qT"
+ msgstr "\"%s\" мае незавершаны тып"
+
+-#: cp/typeck.c:2926
++#: cp/typeck.c:2972
+ #, fuzzy, gcc-internal-format
+ msgid "too few arguments to %s %q+#D"
+ msgstr "нехапае аргументаў у функцыі \"%s\""
+
+-#: cp/typeck.c:2930
++#: cp/typeck.c:2976
+ #, gcc-internal-format
+ msgid "too few arguments to function"
+ msgstr "не хапае аргументаў у функцыі"
+
+-#: cp/typeck.c:3098 cp/typeck.c:3108
++#: cp/typeck.c:3140 cp/typeck.c:3150
+ #, gcc-internal-format
+ msgid "assuming cast to type %qT from overloaded function"
+ msgstr ""
+
+-#: cp/typeck.c:3306
++#: cp/typeck.c:3346
+ #, fuzzy, gcc-internal-format
+ msgid "left rotate count is negative"
+ msgstr "адмоўны памер маÑіва "
+
+-#: cp/typeck.c:3307
++#: cp/typeck.c:3347
+ #, gcc-internal-format
+ msgid "right rotate count is negative"
+ msgstr ""
+
+-#: cp/typeck.c:3310
++#: cp/typeck.c:3350
+ #, gcc-internal-format
+ msgid "left rotate count >= width of type"
+ msgstr ""
+
+-#: cp/typeck.c:3311
++#: cp/typeck.c:3351
+ #, gcc-internal-format
+ msgid "right rotate count >= width of type"
+ msgstr ""
+
+-#: cp/typeck.c:3327 cp/typeck.c:3502
++#: cp/typeck.c:3367 cp/typeck.c:3549
+ #, gcc-internal-format
+ msgid "comparison with string literal results in unspecified behaviour"
+ msgstr ""
+
+-#: cp/typeck.c:3360 cp/typeck.c:3365 cp/typeck.c:3520 cp/typeck.c:3525
++#: cp/typeck.c:3400 cp/typeck.c:3405 cp/typeck.c:3567 cp/typeck.c:3572
+ #, gcc-internal-format
+ msgid "ISO C++ forbids comparison between pointer and integer"
+ msgstr ""
+
+-#: cp/typeck.c:3539
++#: cp/typeck.c:3586
+ #, gcc-internal-format
+ msgid "unordered comparison on non-floating point argument"
+ msgstr ""
+
+-#: cp/typeck.c:3577
++#: cp/typeck.c:3624
+ #, gcc-internal-format
+ msgid "invalid operands of types %qT and %qT to binary %qO"
+ msgstr ""
+
+-#: cp/typeck.c:3749
++#: cp/typeck.c:3757
+ #, gcc-internal-format
+ msgid "comparison between types %q#T and %q#T"
+ msgstr ""
+
+-#: cp/typeck.c:3786
++#: cp/typeck.c:3794
+ #, gcc-internal-format
+ msgid "comparison between signed and unsigned integer expressions"
+ msgstr ""
+@@ -32131,154 +32162,154 @@
+ #. performed. Note that pointer-difference and pointer-addition
+ #. have already been handled above, and so we don't end up here in
+ #. that case.
+-#: cp/typeck.c:3858
++#: cp/typeck.c:3866
+ #, gcc-internal-format
+ msgid "NULL used in arithmetic"
+ msgstr ""
+
+-#: cp/typeck.c:3927
++#: cp/typeck.c:3935
+ #, gcc-internal-format
+ msgid "ISO C++ forbids using pointer of type %<void *%> in subtraction"
+ msgstr ""
+
+-#: cp/typeck.c:3929
++#: cp/typeck.c:3937
+ #, gcc-internal-format
+ msgid "ISO C++ forbids using pointer to a function in subtraction"
+ msgstr ""
+
+-#: cp/typeck.c:3931
++#: cp/typeck.c:3939
+ #, gcc-internal-format
+ msgid "ISO C++ forbids using pointer to a method in subtraction"
+ msgstr ""
+
+-#: cp/typeck.c:3943
++#: cp/typeck.c:3951
+ #, gcc-internal-format
+ msgid "invalid use of a pointer to an incomplete type in pointer arithmetic"
+ msgstr ""
+
+-#: cp/typeck.c:4003
++#: cp/typeck.c:4011
+ #, gcc-internal-format
+ msgid "invalid use of %qE to form a pointer-to-member-function"
+ msgstr ""
+
+-#: cp/typeck.c:4006
++#: cp/typeck.c:4014
+ #, gcc-internal-format
+ msgid " a qualified-id is required"
+ msgstr ""
+
+-#: cp/typeck.c:4011
++#: cp/typeck.c:4019
+ #, gcc-internal-format
+ msgid "parentheses around %qE cannot be used to form a pointer-to-member-function"
+ msgstr ""
+
+-#: cp/typeck.c:4034
++#: cp/typeck.c:4042
+ #, gcc-internal-format
+ msgid "taking address of temporary"
+ msgstr ""
+
+-#: cp/typeck.c:4287
++#: cp/typeck.c:4295
+ #, fuzzy, gcc-internal-format
+ msgid "ISO C++ forbids incrementing an enum"
+ msgstr "ISO C не дазвалÑе пуÑÑ‚Ñ‹ ізыходны файл"
+
+-#: cp/typeck.c:4288
++#: cp/typeck.c:4296
+ #, fuzzy, gcc-internal-format
+ msgid "ISO C++ forbids decrementing an enum"
+ msgstr "ISO C не дазвалÑе дÑкларацыі метак (label)"
+
+-#: cp/typeck.c:4299
++#: cp/typeck.c:4307
+ #, fuzzy, gcc-internal-format
+ msgid "cannot increment a pointer to incomplete type %qT"
+ msgstr "\"%s\" мае незавершаны тып"
+
+-#: cp/typeck.c:4300
++#: cp/typeck.c:4308
+ #, fuzzy, gcc-internal-format
+ msgid "cannot decrement a pointer to incomplete type %qT"
+ msgstr "\"%s\" мае незавершаны тып"
+
+-#: cp/typeck.c:4306
++#: cp/typeck.c:4314
+ #, fuzzy, gcc-internal-format
+ msgid "ISO C++ forbids incrementing a pointer of type %qT"
+ msgstr "ISO C не дазвалÑе дÑкларацыі метак (label)"
+
+-#: cp/typeck.c:4307
++#: cp/typeck.c:4315
+ #, fuzzy, gcc-internal-format
+ msgid "ISO C++ forbids decrementing a pointer of type %qT"
+ msgstr "ISO C не дазвалÑе дÑкларацыі метак (label)"
+
+-#: cp/typeck.c:4327
++#: cp/typeck.c:4335
+ #, gcc-internal-format
+ msgid "invalid use of Boolean expression as operand to %<operator--%>"
+ msgstr ""
+
+ #. ARM $3.4
+-#: cp/typeck.c:4357
++#: cp/typeck.c:4365
+ #, fuzzy, gcc-internal-format
+ msgid "ISO C++ forbids taking address of function %<::main%>"
+ msgstr "ISO C не дазвалÑе пуÑÑ‚Ñ‹ ізыходны файл"
+
+ #. An expression like &memfn.
+-#: cp/typeck.c:4413
++#: cp/typeck.c:4421
+ #, gcc-internal-format
+ msgid "ISO C++ forbids taking the address of an unqualified or parenthesized non-static member function to form a pointer to member function. Say %<&%T::%D%>"
+ msgstr ""
+
+-#: cp/typeck.c:4418
++#: cp/typeck.c:4426
+ #, gcc-internal-format
+ msgid "ISO C++ forbids taking the address of a bound member function to form a pointer to member function. Say %<&%T::%D%>"
+ msgstr ""
+
+-#: cp/typeck.c:4443
++#: cp/typeck.c:4451
+ #, gcc-internal-format
+ msgid "ISO C++ forbids taking the address of a cast to a non-lvalue expression"
+ msgstr ""
+
+-#: cp/typeck.c:4467
++#: cp/typeck.c:4475
+ #, fuzzy, gcc-internal-format
+ msgid "cannot create pointer to reference member %qD"
+ msgstr "\"%s\" мае незавершаны тып"
+
+-#: cp/typeck.c:4678
++#: cp/typeck.c:4686
+ #, gcc-internal-format
+ msgid "cannot take the address of %<this%>, which is an rvalue expression"
+ msgstr ""
+
+-#: cp/typeck.c:4701
++#: cp/typeck.c:4709
+ #, gcc-internal-format
+ msgid "address of explicit register variable %qD requested"
+ msgstr ""
+
+-#: cp/typeck.c:4706
++#: cp/typeck.c:4714
+ #, gcc-internal-format
+ msgid "address requested for %qD, which is declared %<register%>"
+ msgstr ""
+
+-#: cp/typeck.c:4772
++#: cp/typeck.c:4780
+ #, gcc-internal-format
+ msgid "%s expression list treated as compound expression"
+ msgstr ""
+
+-#: cp/typeck.c:5175
++#: cp/typeck.c:5183
+ #, fuzzy, gcc-internal-format
+ msgid "invalid static_cast from type %qT to type %qT"
+ msgstr "ÐерÑчаіÑны выбар \"%s\""
+
+-#: cp/typeck.c:5197
++#: cp/typeck.c:5205
+ #, fuzzy, gcc-internal-format
+ msgid "converting from %qT to %qT"
+ msgstr "пераўтварÑньне з `%T' у `%T'"
+
+-#: cp/typeck.c:5245
++#: cp/typeck.c:5253
+ #, gcc-internal-format
+ msgid "invalid cast of an rvalue expression of type %qT to type %qT"
+ msgstr ""
+
+-#: cp/typeck.c:5304
++#: cp/typeck.c:5312
+ #, gcc-internal-format
+ msgid "cast from %qT to %qT loses precision"
+ msgstr ""
+
+-#: cp/typeck.c:5331
++#: cp/typeck.c:5339
+ #, gcc-internal-format
+ msgid "cast from %qT to %qT increases required alignment of target type"
+ msgstr ""
+@@ -32287,155 +32318,155 @@
+ #. where possible, and it is necessary in some cases. DR 195
+ #. addresses this issue, but as of 2004/10/26 is still in
+ #. drafting.
+-#: cp/typeck.c:5351
++#: cp/typeck.c:5359
+ #, gcc-internal-format
+ msgid "ISO C++ forbids casting between pointer-to-function and pointer-to-object"
+ msgstr ""
+
+-#: cp/typeck.c:5362
++#: cp/typeck.c:5370
+ #, fuzzy, gcc-internal-format
+ msgid "invalid cast from type %qT to type %qT"
+ msgstr "ÐерÑчаіÑны выбар \"%s\""
+
+-#: cp/typeck.c:5418
++#: cp/typeck.c:5426
+ #, gcc-internal-format
+ msgid "invalid use of const_cast with type %qT, which is not a pointer, reference, nor a pointer-to-data-member type"
+ msgstr ""
+
+-#: cp/typeck.c:5427
++#: cp/typeck.c:5435
+ #, gcc-internal-format
+ msgid "invalid use of const_cast with type %qT, which is a pointer or reference to a function type"
+ msgstr ""
+
+-#: cp/typeck.c:5452
++#: cp/typeck.c:5460
+ #, gcc-internal-format
+ msgid "invalid const_cast of an rvalue of type %qT to type %qT"
+ msgstr ""
+
+-#: cp/typeck.c:5503
++#: cp/typeck.c:5511
+ #, fuzzy, gcc-internal-format
+ msgid "invalid const_cast from type %qT to type %qT"
+ msgstr "ÐерÑчаіÑны выбар \"%s\""
+
+-#: cp/typeck.c:5571 cp/typeck.c:5576
++#: cp/typeck.c:5579 cp/typeck.c:5584
+ #, fuzzy, gcc-internal-format
+ msgid "ISO C++ forbids casting to an array type %qT"
+ msgstr "ISO C не дазвалÑе дÑкларацыі метак (label)"
+
+-#: cp/typeck.c:5584
++#: cp/typeck.c:5592
+ #, fuzzy, gcc-internal-format
+ msgid "invalid cast to function type %qT"
+ msgstr "ÐерÑчаіÑны выбар \"%s\""
+
+-#: cp/typeck.c:5804
++#: cp/typeck.c:5812
+ #, gcc-internal-format
+ msgid " in evaluation of %<%Q(%#T, %#T)%>"
+ msgstr ""
+
+-#: cp/typeck.c:5873
++#: cp/typeck.c:5881
+ #, gcc-internal-format
+ msgid "incompatible types in assignment of %qT to %qT"
+ msgstr ""
+
+-#: cp/typeck.c:5884
++#: cp/typeck.c:5892
+ #, fuzzy, gcc-internal-format
+ msgid "array used as initializer"
+ msgstr "нерÑчаіÑны ініцыÑлізатар"
+
+-#: cp/typeck.c:5886
++#: cp/typeck.c:5894
+ #, fuzzy, gcc-internal-format
+ msgid "invalid array assignment"
+ msgstr "ÐерÑчаіÑны выбар %s"
+
+-#: cp/typeck.c:5998
++#: cp/typeck.c:6006
+ #, gcc-internal-format
+ msgid " in pointer to member function conversion"
+ msgstr ""
+
+-#: cp/typeck.c:6009
++#: cp/typeck.c:6017
+ #, gcc-internal-format
+ msgid "pointer to member conversion via virtual base %qT"
+ msgstr ""
+
+-#: cp/typeck.c:6049 cp/typeck.c:6061
++#: cp/typeck.c:6057 cp/typeck.c:6069
+ #, gcc-internal-format
+ msgid " in pointer to member conversion"
+ msgstr ""
+
+-#: cp/typeck.c:6140
++#: cp/typeck.c:6148
+ #, fuzzy, gcc-internal-format
+ msgid "invalid conversion to type %qT from type %qT"
+ msgstr "ÐерÑчаіÑны выбар \"%s\""
+
+-#: cp/typeck.c:6384
++#: cp/typeck.c:6411
+ #, gcc-internal-format
+ msgid "cannot convert %qT to %qT for argument %qP to %qD"
+ msgstr ""
+
+-#: cp/typeck.c:6387
++#: cp/typeck.c:6414
+ #, gcc-internal-format
+ msgid "cannot convert %qT to %qT in %s"
+ msgstr ""
+
+-#: cp/typeck.c:6398
++#: cp/typeck.c:6425
+ #, gcc-internal-format
+ msgid "%s might be a candidate for a format attribute"
+ msgstr ""
+
+-#: cp/typeck.c:6485 cp/typeck.c:6487
++#: cp/typeck.c:6512 cp/typeck.c:6514
+ #, fuzzy, gcc-internal-format
+ msgid "in passing argument %P of %q+D"
+ msgstr "аргумент Ð´Ð»Ñ \"%s\" прапушчан"
+
+-#: cp/typeck.c:6537
++#: cp/typeck.c:6564
+ #, gcc-internal-format
+ msgid "returning reference to temporary"
+ msgstr ""
+
+-#: cp/typeck.c:6544
++#: cp/typeck.c:6571
+ #, gcc-internal-format
+ msgid "reference to non-lvalue returned"
+ msgstr ""
+
+-#: cp/typeck.c:6560
++#: cp/typeck.c:6587
+ #, gcc-internal-format
+ msgid "reference to local variable %q+D returned"
+ msgstr ""
+
+-#: cp/typeck.c:6563
++#: cp/typeck.c:6590
+ #, gcc-internal-format
+ msgid "address of local variable %q+D returned"
+ msgstr ""
+
+-#: cp/typeck.c:6598
++#: cp/typeck.c:6625
+ #, gcc-internal-format
+ msgid "returning a value from a destructor"
+ msgstr ""
+
+ #. If a return statement appears in a handler of the
+ #. function-try-block of a constructor, the program is ill-formed.
+-#: cp/typeck.c:6606
++#: cp/typeck.c:6633
+ #, gcc-internal-format
+ msgid "cannot return from a handler of a function-try-block of a constructor"
+ msgstr ""
+
+ #. You can't return a value from a constructor.
+-#: cp/typeck.c:6609
++#: cp/typeck.c:6636
+ #, gcc-internal-format
+ msgid "returning a value from a constructor"
+ msgstr ""
+
+-#: cp/typeck.c:6633
++#: cp/typeck.c:6661
+ #, gcc-internal-format
+ msgid "return-statement with no value, in function returning %qT"
+ msgstr ""
+
+-#: cp/typeck.c:6654
++#: cp/typeck.c:6682
+ #, gcc-internal-format
+ msgid "return-statement with a value, in function returning 'void'"
+ msgstr ""
+
+-#: cp/typeck.c:6685
++#: cp/typeck.c:6713
+ #, gcc-internal-format
+ msgid "%<operator new%> must not return NULL unless it is declared %<throw()%> (or -fcheck-new is in effect)"
+ msgstr ""
+@@ -32621,57 +32652,57 @@
+ msgid "pointer to member type %qT incompatible with object type %qT"
+ msgstr ""
+
+-#: cp/typeck2.c:1495
++#: cp/typeck2.c:1508
+ #, fuzzy, gcc-internal-format
+ msgid "call to function %qD which throws incomplete type %q#T"
+ msgstr "\"%s\" мае незавершаны тып"
+
+-#: cp/typeck2.c:1498
++#: cp/typeck2.c:1511
+ #, fuzzy, gcc-internal-format
+ msgid "call to function which throws incomplete type %q#T"
+ msgstr "\"%s\" мае незавершаны тып"
+
+-#: fortran/f95-lang.c:233
++#: fortran/f95-lang.c:235
+ #, gcc-internal-format
+ msgid "Unexpected type in truthvalue_conversion"
+ msgstr ""
+
+-#: fortran/f95-lang.c:289
++#: fortran/f95-lang.c:291
+ #, fuzzy, gcc-internal-format
+ msgid "can't open input file: %s"
+ msgstr "немагчыма зачыніць уваходзÑчы файл %s"
+
+-#: fortran/f95-lang.c:629
++#: fortran/f95-lang.c:631
+ #, gcc-internal-format
+ msgid "global register variable %qs used in nested function"
+ msgstr ""
+
+-#: fortran/f95-lang.c:633
++#: fortran/f95-lang.c:635
+ #, gcc-internal-format
+ msgid "register variable %qs used in nested function"
+ msgstr ""
+
+-#: fortran/f95-lang.c:640
++#: fortran/f95-lang.c:642
+ #, gcc-internal-format
+ msgid "address of global register variable %qs requested"
+ msgstr ""
+
+-#: fortran/f95-lang.c:658
++#: fortran/f95-lang.c:660
+ #, gcc-internal-format
+ msgid "address of register variable %qs requested"
+ msgstr ""
+
+-#: fortran/trans-array.c:3765
++#: fortran/trans-array.c:3805
+ #, gcc-internal-format
+ msgid "Possible frontend bug: array constructor not expanded"
+ msgstr ""
+
+-#: fortran/trans-array.c:5418
++#: fortran/trans-array.c:5499
+ #, gcc-internal-format
+ msgid "Possible frontend bug: Deferred array size without pointer, allocatable attribute or derived type without allocatable components."
+ msgstr ""
+
+-#: fortran/trans-array.c:5894
++#: fortran/trans-array.c:5975
+ #, gcc-internal-format
+ msgid "bad expression type during walk (%d)"
+ msgstr ""
+@@ -32681,27 +32712,27 @@
+ msgid "gfc_conv_constant_to_tree(): invalid type: %s"
+ msgstr ""
+
+-#: fortran/trans-decl.c:966
++#: fortran/trans-decl.c:972
+ #, gcc-internal-format
+ msgid "intrinsic variable which isn't a procedure"
+ msgstr ""
+
+-#: fortran/trans-decl.c:2639
++#: fortran/trans-decl.c:2644
+ #, fuzzy, gcc-internal-format
+ msgid "Function does not return a value"
+ msgstr "Ñ„ÑƒÐ½ÐºÑ†Ñ‹Ñ Ð½Ðµ вÑртае тып string"
+
+-#: fortran/trans-decl.c:2817
++#: fortran/trans-decl.c:2832
+ #, gcc-internal-format
+ msgid "backend decl for module variable %s already exists"
+ msgstr ""
+
+-#: fortran/trans-decl.c:3351
++#: fortran/trans-decl.c:3314
+ #, gcc-internal-format
+ msgid "Function return value not set"
+ msgstr ""
+
+-#: fortran/trans-expr.c:1163
++#: fortran/trans-expr.c:1177
+ #, fuzzy, gcc-internal-format
+ msgid "Unknown intrinsic op"
+ msgstr "невÑдомы Ñ€Ñжым машыны \"%s\""
+@@ -32711,32 +32742,32 @@
+ msgid "Intrinsic function %s(%d) not recognized"
+ msgstr "мова %s не раÑпазнана"
+
+-#: fortran/trans-io.c:1928
++#: fortran/trans-io.c:1929
+ #, gcc-internal-format
+ msgid "Bad IO basetype (%d)"
+ msgstr ""
+
+-#: fortran/trans-types.c:386
++#: fortran/trans-types.c:387
+ #, gcc-internal-format
+ msgid "integer kind=8 not available for -fdefault-integer-8 option"
+ msgstr ""
+
+-#: fortran/trans-types.c:409
++#: fortran/trans-types.c:410
+ #, gcc-internal-format
+ msgid "real kind=8 not available for -fdefault-real-8 option"
+ msgstr ""
+
+-#: fortran/trans-types.c:422
++#: fortran/trans-types.c:423
+ #, gcc-internal-format
+ msgid "Use of -fdefault-double-8 requires -fdefault-real-8"
+ msgstr ""
+
+-#: fortran/trans-types.c:1181
++#: fortran/trans-types.c:1185
+ #, gcc-internal-format
+ msgid "Array element size too big"
+ msgstr ""
+
+-#: fortran/trans.c:1150
++#: fortran/trans.c:1151
+ #, gcc-internal-format
+ msgid "gfc_trans_code(): Bad statement code"
+ msgstr ""
+@@ -32796,88 +32827,88 @@
+ msgid "need to insert runtime check for %s"
+ msgstr ""
+
+-#: java/expr.c:505 java/expr.c:552
++#: java/expr.c:524 java/expr.c:571
+ #, gcc-internal-format
+ msgid "assert: %s is assign compatible with %s"
+ msgstr ""
+
+-#: java/expr.c:670
++#: java/expr.c:689
+ #, gcc-internal-format
+ msgid "stack underflow - dup* operation"
+ msgstr ""
+
+-#: java/expr.c:1657
++#: java/expr.c:1676
+ #, gcc-internal-format
+ msgid "reference %qs is ambiguous: appears in interface %qs and interface %qs"
+ msgstr ""
+
+-#: java/expr.c:1685
++#: java/expr.c:1704
+ #, fuzzy, gcc-internal-format
+ msgid "field %qs not found"
+ msgstr "поле \"%s\" не знойдзена Ñž клаÑе"
+
+-#: java/expr.c:2224
++#: java/expr.c:2243
+ #, gcc-internal-format
+ msgid "method '%s' not found in class"
+ msgstr "метад \"%s\" не знойдзен у клаÑе"
+
+-#: java/expr.c:2429
++#: java/expr.c:2448
+ #, gcc-internal-format
+ msgid "failed to find class '%s'"
+ msgstr "не знойдзен ÐºÐ»Ð°Ñ \"%s\""
+
+-#: java/expr.c:2470
++#: java/expr.c:2489
+ #, gcc-internal-format
+ msgid "class '%s' has no method named '%s' matching signature '%s'"
+ msgstr ""
+
+-#: java/expr.c:2501
++#: java/expr.c:2520
+ #, gcc-internal-format
+ msgid "invokestatic on non static method"
+ msgstr ""
+
+-#: java/expr.c:2506
++#: java/expr.c:2525
+ #, gcc-internal-format
+ msgid "invokestatic on abstract method"
+ msgstr ""
+
+-#: java/expr.c:2514
++#: java/expr.c:2533
+ #, gcc-internal-format
+ msgid "invoke[non-static] on static method"
+ msgstr ""
+
+-#: java/expr.c:2865
++#: java/expr.c:2890
+ #, gcc-internal-format
+ msgid "missing field '%s' in '%s'"
+ msgstr "прапушчана поле '%s' у '%s'"
+
+-#: java/expr.c:2872
++#: java/expr.c:2897
+ #, fuzzy, gcc-internal-format
+ msgid "mismatching signature for field '%s' in '%s'"
+ msgstr "Прапушчана поле \"%s\" у \"%s\""
+
+-#: java/expr.c:2901
++#: java/expr.c:2926
+ #, gcc-internal-format
+ msgid "assignment to final field %q+D not in field's class"
+ msgstr ""
+
+-#: java/expr.c:3123
++#: java/expr.c:3148
+ #, gcc-internal-format
+ msgid "invalid PC in line number table"
+ msgstr ""
+
+-#: java/expr.c:3173
++#: java/expr.c:3198
+ #, gcc-internal-format
+ msgid "unreachable bytecode from %d to before %d"
+ msgstr ""
+
+-#: java/expr.c:3217
++#: java/expr.c:3242
+ #, gcc-internal-format
+ msgid "unreachable bytecode from %d to the end of the method"
+ msgstr ""
+
+ #. duplicate code from LOAD macro
+-#: java/expr.c:3522
++#: java/expr.c:3547
+ #, gcc-internal-format
+ msgid "unrecogized wide sub-instruction"
+ msgstr ""
+@@ -32943,27 +32974,27 @@
+ msgid "%Hduplicate class will only be compiled once"
+ msgstr ""
+
+-#: java/jcf-parse.c:1636
++#: java/jcf-parse.c:1638
+ #, gcc-internal-format
+ msgid "missing Code attribute"
+ msgstr ""
+
+-#: java/jcf-parse.c:1858
++#: java/jcf-parse.c:1860
+ #, gcc-internal-format
+ msgid "no input file specified"
+ msgstr "не зададзены ўваходзÑÑ‡Ñ‹Ñ Ñ„Ð°Ð¹Ð»Ñ‹"
+
+-#: java/jcf-parse.c:1893
++#: java/jcf-parse.c:1895
+ #, fuzzy, gcc-internal-format
+ msgid "can't close input file %s: %m"
+ msgstr "немагчыма зачыніць уваходзÑчы файл %s"
+
+-#: java/jcf-parse.c:1940
++#: java/jcf-parse.c:1942
+ #, gcc-internal-format
+ msgid "bad zip/jar file %s"
+ msgstr "дрÑнны zip/jar файл \"%s\""
+
+-#: java/jcf-parse.c:2145
++#: java/jcf-parse.c:2152
+ #, gcc-internal-format
+ msgid "error while reading %s from zip file"
+ msgstr ""
+@@ -32973,22 +33004,22 @@
+ msgid "warning: already-compiled .class files ignored with -C"
+ msgstr ""
+
+-#: java/lang.c:590
++#: java/lang.c:594
+ #, gcc-internal-format
+ msgid "-findirect-dispatch is incompatible with -freduced-reflection"
+ msgstr ""
+
+-#: java/lang.c:593
++#: java/lang.c:597
+ #, gcc-internal-format
+ msgid "-fjni is incompatible with -freduced-reflection"
+ msgstr ""
+
+-#: java/lang.c:604
++#: java/lang.c:608
+ #, gcc-internal-format
+ msgid "can't do dependency tracking with input from stdin"
+ msgstr ""
+
+-#: java/lang.c:620
++#: java/lang.c:624
+ #, gcc-internal-format
+ msgid "couldn't determine target name for dependency tracking"
+ msgstr ""
+@@ -33513,10 +33544,6 @@
+ #~ msgid "bad magic number"
+ #~ msgstr "дрÑнны \"магічны\" нумар"
+
+-#, fuzzy
+-#~ msgid "missing binary operator before '%s'"
+-#~ msgstr "прапушчан прабел паÑÐ»Ñ Ð½ÑƒÐ¼Ð°Ñ€Ð° \"%.*s\""
+-
+ #~ msgid "%s is a block device"
+ #~ msgstr "%s - гÑта Ð±Ð»Ñ‘Ñ‡Ð½Ð°Ñ Ð¿Ñ€Ñ‹Ð»Ð°Ð´Ð°"
+
+@@ -33778,10 +33805,6 @@
+ #~ msgstr "неаднолькавае абвÑшчÑньне `%T' Ñ– `%T'"
+
+ #, fuzzy
+-#~ msgid "parameter `%D' invalidly declared offset type"
+-#~ msgstr "тып параметра \"%s\" не аб'Ñўлены"
+-
+-#, fuzzy
+ #~ msgid "semicolon missing after declaration of `%#T'"
+ #~ msgstr "Ðе магу знайÑці дÑкларацыю інтÑрфейÑа Ð´Ð»Ñ \"%s\""
+
+Index: gcc/po/sv.po
+===================================================================
+--- gcc/po/sv.po (.../tags/gcc_4_3_0_release) (revision 133808)
++++ gcc/po/sv.po (.../branches/gcc-4_3-branch) (revision 133808)
+@@ -8,17 +8,17 @@
+ #
+ msgid ""
+ msgstr ""
+-"Project-Id-Version: gcc 4.3-b20071109\n"
++"Project-Id-Version: gcc 4.3.0\n"
+ "Report-Msgid-Bugs-To: http://gcc.gnu.org/bugs.html\n"
+-"POT-Creation-Date: 2007-11-08 21:09+0000\n"
+-"PO-Revision-Date: 2008-01-29 14:43+0100\n"
++"POT-Creation-Date: 2008-03-05 17:23+0100\n"
++"PO-Revision-Date: 2008-03-19 22:15+0100\n"
+ "Last-Translator: Göran Uddeborg <goeran@uddeborg.se>\n"
+ "Language-Team: Swedish <tp-sv@listor.tp-sv.se>\n"
+ "MIME-Version: 1.0\n"
+ "Content-Type: text/plain; charset=iso-8859-1\n"
+ "Content-Transfer-Encoding: 8-bit\n"
+
+-#: c-decl.c:3814
++#: c-decl.c:3813
+ msgid "<anonymous>"
+ msgstr "<anonym>"
+
+@@ -299,53 +299,53 @@
+ msgid "End of search list.\n"
+ msgstr "Slut på söklistan.\n"
+
+-#: c-opts.c:1484
++#: c-opts.c:1505
+ msgid "<built-in>"
+ msgstr "<inbyggd>"
+
+-#: c-opts.c:1502
++#: c-opts.c:1523
+ msgid "<command-line>"
+ msgstr "<kommandorad>"
+
+-#: c-typeck.c:2448 c-typeck.c:4851 c-typeck.c:4853 c-typeck.c:4861
+-#: c-typeck.c:4891 c-typeck.c:6267
++#: c-typeck.c:2459 c-typeck.c:4862 c-typeck.c:4864 c-typeck.c:4872
++#: c-typeck.c:4902 c-typeck.c:6278
+ msgid "initializer element is not constant"
+ msgstr "initierarelement är inte konstant"
+
+-#: c-typeck.c:4654
++#: c-typeck.c:4665
+ msgid "array initialized from parenthesized string constant"
+ msgstr "vektor initierad från strängkonstant inom parentes"
+
+-#: c-typeck.c:4715 cp/typeck2.c:677
++#: c-typeck.c:4726 cp/typeck2.c:677
+ #, gcc-internal-format
+ msgid "char-array initialized from wide string"
+ msgstr "char-vektor initierad från bred sträng"
+
+-#: c-typeck.c:4720
++#: c-typeck.c:4731
+ msgid "wchar_t-array initialized from non-wide string"
+ msgstr "wchar_t-vektor initierad från icke-bred sträng"
+
+-#: c-typeck.c:4738 cp/typeck2.c:697
++#: c-typeck.c:4749 cp/typeck2.c:697
+ #, gcc-internal-format
+ msgid "initializer-string for array of chars is too long"
+ msgstr "initierarsträng för vektor av tecken är för stor"
+
+-#: c-typeck.c:4744
++#: c-typeck.c:4755
+ msgid "array of inappropriate type initialized from string constant"
+ msgstr "vektor av typ som inte passar initierad från strängkonstant"
+
+ #. ??? This should not be an error when inlining calls to
+ #. unprototyped functions.
+-#: c-typeck.c:4808 c-typeck.c:4333 cp/typeck.c:1528
++#: c-typeck.c:4819 c-typeck.c:4344 cp/typeck.c:1574
+ #, gcc-internal-format
+ msgid "invalid use of non-lvalue array"
+ msgstr "ogiltig användning av icke-l-värde-vektor"
+
+-#: c-typeck.c:4834
++#: c-typeck.c:4845
+ msgid "array initialized from non-constant array expression"
+ msgstr "vektor initierad från icke-konstant vektoruttryck"
+
+-#: c-typeck.c:4898 c-typeck.c:6271
++#: c-typeck.c:4909 c-typeck.c:6282
+ #, gcc-internal-format
+ msgid "initializer element is not computable at load time"
+ msgstr "initierarelement är inte beräkningsbart vid laddtidpunkt"
+@@ -354,140 +354,140 @@
+ #. of VLAs themselves count as VLAs, it does not make
+ #. sense to permit them to be initialized given that
+ #. ordinary VLAs may not be initialized.
+-#: c-typeck.c:4909 c-decl.c:3222 c-decl.c:3237
++#: c-typeck.c:4920 c-decl.c:3220 c-decl.c:3235
+ #, gcc-internal-format
+ msgid "variable-sized object may not be initialized"
+ msgstr "objekt med variabel storlek kan inte initieras"
+
+-#: c-typeck.c:4913
++#: c-typeck.c:4924
+ msgid "invalid initializer"
+ msgstr "ogiltig initierare"
+
+-#: c-typeck.c:5387
++#: c-typeck.c:5398
+ msgid "extra brace group at end of initializer"
+ msgstr "extra klammergrupp vid slutet av initierare"
+
+-#: c-typeck.c:5407
++#: c-typeck.c:5418
+ msgid "missing braces around initializer"
+ msgstr "klamrar saknas runt initierare"
+
+-#: c-typeck.c:5468
++#: c-typeck.c:5479
+ msgid "braces around scalar initializer"
+ msgstr "klamrar runt skalär initierare"
+
+-#: c-typeck.c:5525
++#: c-typeck.c:5536
+ msgid "initialization of flexible array member in a nested context"
+ msgstr "initiering av medlem som är en flexibel vektor i nästat sammanhang"
+
+-#: c-typeck.c:5527
++#: c-typeck.c:5538
+ msgid "initialization of a flexible array member"
+ msgstr "initiering av medlem som är en flexibel vektor"
+
+-#: c-typeck.c:5554
++#: c-typeck.c:5565
+ msgid "missing initializer"
+ msgstr "initierare saknas"
+
+-#: c-typeck.c:5576
++#: c-typeck.c:5587
+ msgid "empty scalar initializer"
+ msgstr "tom skalär initierare"
+
+-#: c-typeck.c:5581
++#: c-typeck.c:5592
+ msgid "extra elements in scalar initializer"
+ msgstr "extra element i skalär initierare"
+
+-#: c-typeck.c:5678 c-typeck.c:5738
++#: c-typeck.c:5689 c-typeck.c:5749
+ msgid "array index in non-array initializer"
+ msgstr "vektorindex i initierare för annat än vektor"
+
+-#: c-typeck.c:5683 c-typeck.c:5791
++#: c-typeck.c:5694 c-typeck.c:5802
+ msgid "field name not in record or union initializer"
+ msgstr "fältnamn i initierare för annat än post eller union"
+
+-#: c-typeck.c:5729
++#: c-typeck.c:5740
+ msgid "array index in initializer not of integer type"
+ msgstr "vektorindex i initierare inte av heltalstyp"
+
+-#: c-typeck.c:5734 c-typeck.c:5736
++#: c-typeck.c:5745 c-typeck.c:5747
+ msgid "nonconstant array index in initializer"
+ msgstr "ickekonstant vektorindex i initierare"
+
+-#: c-typeck.c:5740 c-typeck.c:5743
++#: c-typeck.c:5751 c-typeck.c:5754
+ msgid "array index in initializer exceeds array bounds"
+ msgstr "vektorindex i initierare överskrider vektorns storlek"
+
+-#: c-typeck.c:5754
++#: c-typeck.c:5765
+ msgid "empty index range in initializer"
+ msgstr "tomt indexintervall i initierare"
+
+-#: c-typeck.c:5763
++#: c-typeck.c:5774
+ msgid "array index range in initializer exceeds array bounds"
+ msgstr "vektorindexintervall i initierare överskrider vektorns gränser"
+
+-#: c-typeck.c:5838 c-typeck.c:5861 c-typeck.c:6335
++#: c-typeck.c:5849 c-typeck.c:5872 c-typeck.c:6346
+ msgid "initialized field with side-effects overwritten"
+ msgstr "initierat fält med sidoeffekter överskrivet"
+
+-#: c-typeck.c:5840 c-typeck.c:5863 c-typeck.c:6337
++#: c-typeck.c:5851 c-typeck.c:5874 c-typeck.c:6348
+ msgid "initialized field overwritten"
+ msgstr "initierat fält överskrivet"
+
+-#: c-typeck.c:6545
++#: c-typeck.c:6556
+ msgid "excess elements in char array initializer"
+ msgstr "överflödiga element i teckenvektorinitierare"
+
+-#: c-typeck.c:6552 c-typeck.c:6598
++#: c-typeck.c:6563 c-typeck.c:6609
+ msgid "excess elements in struct initializer"
+ msgstr "överflödiga element i postinitierare"
+
+-#: c-typeck.c:6613
++#: c-typeck.c:6624
+ msgid "non-static initialization of a flexible array member"
+ msgstr "icke-statisk initiering av an flexibel vektormedlem"
+
+-#: c-typeck.c:6681
++#: c-typeck.c:6692
+ msgid "excess elements in union initializer"
+ msgstr "överflödiga element i unioninitierare"
+
+-#: c-typeck.c:6768
++#: c-typeck.c:6779
+ msgid "excess elements in array initializer"
+ msgstr "överflödiga element i vektorinitierare"
+
+-#: c-typeck.c:6798
++#: c-typeck.c:6809
+ msgid "excess elements in vector initializer"
+ msgstr "överflödiga element i vector-initierare"
+
+-#: c-typeck.c:6822
++#: c-typeck.c:6833
+ msgid "excess elements in scalar initializer"
+ msgstr "överflödiga element i skalärinitierare"
+
+-#: cfgrtl.c:1925
++#: cfgrtl.c:1923
+ msgid "flow control insn inside a basic block"
+ msgstr "flödesstyrningsinstruktion inuti grundblock"
+
+-#: cfgrtl.c:2054
++#: cfgrtl.c:2052
+ msgid "wrong insn in the fallthru edge"
+ msgstr "fel instruktion i fall-igenom-bågen"
+
+-#: cfgrtl.c:2110
++#: cfgrtl.c:2108
+ msgid "insn outside basic block"
+ msgstr "instruktion utanför grundblock"
+
+-#: cfgrtl.c:2117
++#: cfgrtl.c:2115
+ msgid "return not followed by barrier"
+ msgstr "retur inte följt av en barriär"
+
+-#: cgraph.c:339 ipa-inline.c:417
++#: cgraph.c:340 ipa-inline.c:417
+ msgid "function body not available"
+ msgstr "funktionskroppen inte tillgänglig"
+
+-#: cgraph.c:341 cgraphbuild.c:96
++#: cgraph.c:342 cgraphbuild.c:96
+ msgid "redefined extern inline functions are not considered for inlining"
+ msgstr "omdefinierade externa inline-funktioner beaktas inte för inline:ing"
+
+-#: cgraph.c:344 cgraphbuild.c:103
++#: cgraph.c:345 cgraphbuild.c:103
+ msgid "function not considered for inlining"
+ msgstr "funktionen inte beaktad för inline:ing"
+
+-#: cgraph.c:346 cgraphbuild.c:99
++#: cgraph.c:347 cgraphbuild.c:99
+ msgid "function not inlinable"
+ msgstr "funktionen kan inte inline:as"
+
+@@ -495,87 +495,87 @@
+ msgid "mismatched arguments"
+ msgstr "argumenten stämmer inte överens"
+
+-#: collect2.c:378 gcc.c:6897
++#: collect2.c:382 gcc.c:6896
+ #, c-format
+ msgid "internal gcc abort in %s, at %s:%d"
+ msgstr "internt gcc-avbrott i %s, vid %s:%d"
+
+-#: collect2.c:889
++#: collect2.c:903
+ #, c-format
+ msgid "no arguments"
+ msgstr "inga argument"
+
+-#: collect2.c:1263 collect2.c:1411 collect2.c:1446
++#: collect2.c:1277 collect2.c:1425 collect2.c:1460
+ #, c-format
+ msgid "fopen %s"
+ msgstr "fopen %s"
+
+-#: collect2.c:1266 collect2.c:1416 collect2.c:1449
++#: collect2.c:1280 collect2.c:1430 collect2.c:1463
+ #, c-format
+ msgid "fclose %s"
+ msgstr "fclose %s"
+
+-#: collect2.c:1275
++#: collect2.c:1289
+ #, c-format
+ msgid "collect2 version %s"
+ msgstr "collect2 version %s"
+
+-#: collect2.c:1365
++#: collect2.c:1379
+ #, c-format
+ msgid "%d constructor(s) found\n"
+ msgstr "%d konstruerare hittad(e)\n"
+
+-#: collect2.c:1366
++#: collect2.c:1380
+ #, c-format
+ msgid "%d destructor(s) found\n"
+ msgstr "%d destruerare hittad(e)\n"
+
+-#: collect2.c:1367
++#: collect2.c:1381
+ #, c-format
+ msgid "%d frame table(s) found\n"
+ msgstr "%d ramtabell(er) hittade\n"
+
+-#: collect2.c:1504
++#: collect2.c:1518
+ #, c-format
+ msgid "can't get program status"
+ msgstr "kan inte ta programstatus"
+
+-#: collect2.c:1573
++#: collect2.c:1587
+ #, c-format
+ msgid "could not open response file %s"
+ msgstr "det gick inte att öppna svarsfilen %s"
+
+-#: collect2.c:1578
++#: collect2.c:1592
+ #, c-format
+ msgid "could not write to response file %s"
+ msgstr "det gick inte att skriva till svarsfilen %s"
+
+-#: collect2.c:1583
++#: collect2.c:1597
+ #, c-format
+ msgid "could not close response file %s"
+ msgstr "det gick inte att stänga svarsfilen %s"
+
+-#: collect2.c:1601
++#: collect2.c:1615
+ #, c-format
+ msgid "[cannot find %s]"
+ msgstr "[kan inte hitta %s]"
+
+-#: collect2.c:1616
++#: collect2.c:1630
+ #, c-format
+ msgid "cannot find '%s'"
+ msgstr "kan inte hitta \"%s\""
+
+-#: collect2.c:1620 collect2.c:2112 collect2.c:2267 gcc.c:2978
++#: collect2.c:1634 collect2.c:2126 collect2.c:2281 gcc.c:2974
+ #, c-format
+ msgid "pex_init failed"
+ msgstr "pex_init misslyckades"
+
+-#: collect2.c:1658
++#: collect2.c:1672
+ #, c-format
+ msgid "[Leaving %s]\n"
+ msgstr "[Lämnar %s]\n"
+
+-#: collect2.c:1878
++#: collect2.c:1892
+ #, c-format
+ msgid ""
+ "\n"
+@@ -584,32 +584,32 @@
+ "\n"
+ "write_c_file - utdatanamn är %s, prefix är %s\n"
+
+-#: collect2.c:2086
++#: collect2.c:2100
+ #, c-format
+ msgid "cannot find 'nm'"
+ msgstr "kan inte hitta \"nm\""
+
+-#: collect2.c:2133
++#: collect2.c:2147
+ #, c-format
+ msgid "can't open nm output"
+ msgstr "kan inte öppna nm-utdata"
+
+-#: collect2.c:2177
++#: collect2.c:2191
+ #, c-format
+ msgid "init function found in object %s"
+ msgstr "init-funktion funnen i objekt %s"
+
+-#: collect2.c:2185
++#: collect2.c:2199
+ #, c-format
+ msgid "fini function found in object %s"
+ msgstr "fini-funktion funnen i objekt %s"
+
+-#: collect2.c:2288
++#: collect2.c:2302
+ #, c-format
+ msgid "can't open ldd output"
+ msgstr "kan inte öppna ldd-utdata"
+
+-#: collect2.c:2291
++#: collect2.c:2305
+ #, c-format
+ msgid ""
+ "\n"
+@@ -618,27 +618,27 @@
+ "\n"
+ "ldd-utdata med konstruerare/destruerare.\n"
+
+-#: collect2.c:2306
++#: collect2.c:2320
+ #, c-format
+ msgid "dynamic dependency %s not found"
+ msgstr "dynamiskt beroende %s inte funnet"
+
+-#: collect2.c:2318
++#: collect2.c:2332
+ #, c-format
+ msgid "unable to open dynamic dependency '%s'"
+ msgstr "kan inte öppna dynamiskt beroende \"%s\""
+
+-#: collect2.c:2474
++#: collect2.c:2488
+ #, c-format
+ msgid "%s: not a COFF file"
+ msgstr "%s: är inte en COFF-fil"
+
+-#: collect2.c:2594
++#: collect2.c:2608
+ #, c-format
+ msgid "%s: cannot open as COFF file"
+ msgstr "%s: kan inte öppna som COFF-fil"
+
+-#: collect2.c:2652
++#: collect2.c:2666
+ #, c-format
+ msgid "library lib%s not found"
+ msgstr "biblioteket lib%s finns inte"
+@@ -688,40 +688,40 @@
+ msgid "negative insn length"
+ msgstr "negativ instruktionslängd"
+
+-#: final.c:2609
++#: final.c:2615
+ msgid "could not split insn"
+ msgstr "gick inte att dela instruktion"
+
+-#: final.c:2979
++#: final.c:2992
+ msgid "invalid 'asm': "
+ msgstr "ogiltig \"asm\": "
+
+-#: final.c:3162
++#: final.c:3175
+ #, c-format
+ msgid "nested assembly dialect alternatives"
+ msgstr "nästade assemblerdialektalternativ"
+
+-#: final.c:3179 final.c:3191
++#: final.c:3192 final.c:3204
+ #, c-format
+ msgid "unterminated assembly dialect alternative"
+ msgstr "oavslutat assemblerdialektalternativ"
+
+-#: final.c:3238
++#: final.c:3251
+ #, c-format
+ msgid "operand number missing after %%-letter"
+ msgstr "operandnummer saknas efter %%-tecken"
+
+-#: final.c:3241 final.c:3282
++#: final.c:3254 final.c:3295
+ #, c-format
+ msgid "operand number out of range"
+ msgstr "operandnummer utanför intervall"
+
+-#: final.c:3301
++#: final.c:3314
+ #, c-format
+ msgid "invalid %%-code"
+ msgstr "ogiltig %%-kod"
+
+-#: final.c:3331
++#: final.c:3344
+ #, c-format
+ msgid "'%%l' operand isn't a label"
+ msgstr "'%%l'-operand är inte en etikett"
+@@ -732,13 +732,13 @@
+ #. handle them.
+ #. We can't handle floating point constants;
+ #. PRINT_OPERAND must handle them.
+-#: final.c:3433 vmsdbgout.c:487 config/i386/i386.c:8143
++#: final.c:3446 vmsdbgout.c:487 config/i386/i386.c:8198
+ #: config/pdp11/pdp11.c:1704
+ #, c-format
+ msgid "floating constant misused"
+ msgstr "flyttalskonstant felanvänd"
+
+-#: final.c:3493 vmsdbgout.c:544 config/i386/i386.c:8224
++#: final.c:3507 vmsdbgout.c:544 config/i386/i386.c:8279
+ #: config/pdp11/pdp11.c:1751
+ #, c-format
+ msgid "invalid expression as operand"
+@@ -749,7 +749,7 @@
+ msgid "Using built-in specs.\n"
+ msgstr "Använder inbyggda specifikationer.\n"
+
+-#: gcc.c:1887
++#: gcc.c:1883
+ #, c-format
+ msgid ""
+ "Setting spec %s to '%s'\n"
+@@ -758,42 +758,42 @@
+ "Ställer in specifikationer %s till \"%s\"\n"
+ "\n"
+
+-#: gcc.c:2002
++#: gcc.c:1998
+ #, c-format
+ msgid "Reading specs from %s\n"
+ msgstr "Läser specifikationer från %s\n"
+
+-#: gcc.c:2098 gcc.c:2117
++#: gcc.c:2094 gcc.c:2113
+ #, c-format
+ msgid "specs %%include syntax malformed after %ld characters"
+ msgstr "specifikationers %%include-syntax felaktig efter %ld tecken"
+
+-#: gcc.c:2125
++#: gcc.c:2121
+ #, c-format
+ msgid "could not find specs file %s\n"
+ msgstr "kunde inte hitta specs-filen %s\n"
+
+-#: gcc.c:2142 gcc.c:2150 gcc.c:2159 gcc.c:2168
++#: gcc.c:2138 gcc.c:2146 gcc.c:2155 gcc.c:2164
+ #, c-format
+ msgid "specs %%rename syntax malformed after %ld characters"
+ msgstr "specifikationers %%rename-syntax felaktig efter %ld tecken"
+
+-#: gcc.c:2177
++#: gcc.c:2173
+ #, c-format
+ msgid "specs %s spec was not found to be renamed"
+ msgstr "specifikationers %s-specifikation fanns inte när den skulle få nytt namn"
+
+-#: gcc.c:2184
++#: gcc.c:2180
+ #, c-format
+ msgid "%s: attempt to rename spec '%s' to already defined spec '%s'"
+ msgstr "%s: försök att byta namn på specifikation \"%s\" till redan definierad specifikation \"%s\""
+
+-#: gcc.c:2189
++#: gcc.c:2185
+ #, c-format
+ msgid "rename spec %s to %s\n"
+ msgstr "byter namn på specifikation %s till %s\n"
+
+-#: gcc.c:2191
++#: gcc.c:2187
+ #, c-format
+ msgid ""
+ "spec is '%s'\n"
+@@ -802,37 +802,37 @@
+ "specifikation är \"%s\"\n"
+ "\n"
+
+-#: gcc.c:2204
++#: gcc.c:2200
+ #, c-format
+ msgid "specs unknown %% command after %ld characters"
+ msgstr "specifikationer okänt %%-kommando efter %ld tecken"
+
+-#: gcc.c:2215 gcc.c:2228
++#: gcc.c:2211 gcc.c:2224
+ #, c-format
+ msgid "specs file malformed after %ld characters"
+ msgstr "specifikationsfil felaktig efter %ld tecken"
+
+-#: gcc.c:2281
++#: gcc.c:2277
+ #, c-format
+ msgid "spec file has no spec for linking"
+ msgstr "specfilen har ingen spec för länkning"
+
+-#: gcc.c:2609 gcc.c:4751
++#: gcc.c:2605 gcc.c:4745
+ #, c-format
+ msgid "%s\n"
+ msgstr "%s\n"
+
+-#: gcc.c:2809
++#: gcc.c:2805
+ #, c-format
+ msgid "system path '%s' is not absolute"
+ msgstr "systemsökväg \"%s\" är inte absolut"
+
+-#: gcc.c:2872
++#: gcc.c:2868
+ #, c-format
+ msgid "-pipe not supported"
+ msgstr "-pipe stöds inte"
+
+-#: gcc.c:2934
++#: gcc.c:2930
+ #, c-format
+ msgid ""
+ "\n"
+@@ -841,15 +841,15 @@
+ "\n"
+ "Fortsätta? (y eller n) "
+
+-#: gcc.c:3017
++#: gcc.c:3013
+ msgid "failed to get exit status"
+ msgstr "misslyckades att få slutstatus"
+
+-#: gcc.c:3023
++#: gcc.c:3019
+ msgid "failed to get process times"
+ msgstr "kunde inte ta processtider"
+
+-#: gcc.c:3049
++#: gcc.c:3045
+ #, c-format
+ msgid ""
+ "Internal error: %s (program %s)\n"
+@@ -860,77 +860,77 @@
+ "Var vänlig och skicka in en felrapport.\n"
+ "Se %s för instruktioner."
+
+-#: gcc.c:3075
++#: gcc.c:3071
+ #, c-format
+ msgid "# %s %.2f %.2f\n"
+ msgstr "# %s %.2f %.2f\n"
+
+-#: gcc.c:3211
++#: gcc.c:3205
+ #, c-format
+ msgid "Usage: %s [options] file...\n"
+ msgstr "Användning: %s [flaggor] fil...\n"
+
+-#: gcc.c:3212
++#: gcc.c:3206
+ msgid "Options:\n"
+ msgstr "Flaggor:\n"
+
+-#: gcc.c:3214
++#: gcc.c:3208
+ msgid " -pass-exit-codes Exit with highest error code from a phase\n"
+ msgstr " -pass-exit-codes Avsluta med högsta felkoden från någon av faserna\n"
+
+-#: gcc.c:3215
++#: gcc.c:3209
+ msgid " --help Display this information\n"
+ msgstr " --help Visa den här informationen\n"
+
+-#: gcc.c:3216
++#: gcc.c:3210
+ msgid " --target-help Display target specific command line options\n"
+ msgstr " --target-help Visa specifika kommandoradsflaggor för mål\n"
+
+-#: gcc.c:3217
++#: gcc.c:3211
+ msgid " --help={target|optimizers|warnings|undocumented|params}[,{[^]joined|[^]separate}]\n"
+ msgstr " --help={target|optimizers|warnings|undocumented|params}[,{[^]joined|[^]separate}]\n"
+
+-#: gcc.c:3218
++#: gcc.c:3212
+ msgid " Display specific types of command line options\n"
+ msgstr " Visa specifika typer av kommandoradsflaggor\n"
+
+-#: gcc.c:3220
++#: gcc.c:3214
+ msgid " (Use '-v --help' to display command line options of sub-processes)\n"
+ msgstr " (Använd '-v --help' för att visa kommandoradsflaggor för barnprocesser)\n"
+
+-#: gcc.c:3221
++#: gcc.c:3215
+ msgid " -dumpspecs Display all of the built in spec strings\n"
+ msgstr " -dumpspecs Visa de inbyggda spec-strängarna\n"
+
+-#: gcc.c:3222
++#: gcc.c:3216
+ msgid " -dumpversion Display the version of the compiler\n"
+ msgstr " -dumpversion Visa kompilatorns version\n"
+
+-#: gcc.c:3223
++#: gcc.c:3217
+ msgid " -dumpmachine Display the compiler's target processor\n"
+ msgstr " -dumpmachine Visa kompilatorns målprocessor\n"
+
+-#: gcc.c:3224
++#: gcc.c:3218
+ msgid " -print-search-dirs Display the directories in the compiler's search path\n"
+ msgstr " -print-search-dirs Visa katalogerna i kompilatorns sökväg\n"
+
+-#: gcc.c:3225
++#: gcc.c:3219
+ msgid " -print-libgcc-file-name Display the name of the compiler's companion library\n"
+ msgstr " -print-libgcc-file-name Visa namnet på kompilatorns medföljande bibliotek\n"
+
+-#: gcc.c:3226
++#: gcc.c:3220
+ msgid " -print-file-name=<lib> Display the full path to library <lib>\n"
+ msgstr " -print-file-name=<bib> Visa hela sökvägen till länkbibliotek <bib>\n"
+
+-#: gcc.c:3227
++#: gcc.c:3221
+ msgid " -print-prog-name=<prog> Display the full path to compiler component <prog>\n"
+ msgstr " -print-prog-name=<prog> Visa fulla sökvägen till kompilatorkomponenten <prog>\n"
+
+-#: gcc.c:3228
++#: gcc.c:3222
+ msgid " -print-multi-directory Display the root directory for versions of libgcc\n"
+ msgstr " -print-multi-directory Visa rotkatalogen för olika versioner av libgcc\n"
+
+-#: gcc.c:3229
++#: gcc.c:3223
+ msgid ""
+ " -print-multi-lib Display the mapping between command line options and\n"
+ " multiple library search directories\n"
+@@ -938,63 +938,63 @@
+ " -print-multi-lib Visa mappningen mellan kommandoradsflaggor och\n"
+ " multipla biblioteks sökkataloger\n"
+
+-#: gcc.c:3232
++#: gcc.c:3226
+ msgid " -print-multi-os-directory Display the relative path to OS libraries\n"
+ msgstr " -print-multi-os-directory Visa den relativa sökvägen till OS-bibliotek\n"
+
+-#: gcc.c:3233
++#: gcc.c:3227
+ msgid " -print-sysroot-headers-suffix Display the sysroot suffix used to find headers\n"
+ msgstr " -print-sysroot-headers-suffix Visa sysroot-suffixet som används för att hitta huvuden\n"
+
+-#: gcc.c:3234
++#: gcc.c:3228
+ msgid " -Wa,<options> Pass comma-separated <options> on to the assembler\n"
+ msgstr " -Wa,<flaggor> Skicka kommaseparerade <flaggor> till assembleraren\n"
+
+-#: gcc.c:3235
++#: gcc.c:3229
+ msgid " -Wp,<options> Pass comma-separated <options> on to the preprocessor\n"
+ msgstr " -Wp,<flaggor> Skicka kommaseparerade <flaggor> till preprocessorn\n"
+
+-#: gcc.c:3236
++#: gcc.c:3230
+ msgid " -Wl,<options> Pass comma-separated <options> on to the linker\n"
+ msgstr " -Wl,<flaggor> Skicka kommaseparerade <flaggor> till länkaren\n"
+
+-#: gcc.c:3237
++#: gcc.c:3231
+ msgid " -Xassembler <arg> Pass <arg> on to the assembler\n"
+ msgstr " -Xassembler <arg> Skicka <arg> vidare till assemblern\n"
+
+-#: gcc.c:3238
++#: gcc.c:3232
+ msgid " -Xpreprocessor <arg> Pass <arg> on to the preprocessor\n"
+ msgstr " -Xpreprocessor <arg> Skicka <arg> vidare till preprocessorn\n"
+
+-#: gcc.c:3239
++#: gcc.c:3233
+ msgid " -Xlinker <arg> Pass <arg> on to the linker\n"
+ msgstr " -Xlinker <arg> Skicka <arg> vidare till länkaren\n"
+
+-#: gcc.c:3240
++#: gcc.c:3234
+ msgid " -combine Pass multiple source files to compiler at once\n"
+ msgstr " -combine Skicka flera källkodsfiler till kompilatorn på en gång\n"
+
+-#: gcc.c:3241
++#: gcc.c:3235
+ msgid " -save-temps Do not delete intermediate files\n"
+ msgstr " -save-temps Radera inte temporära filer\n"
+
+-#: gcc.c:3242
++#: gcc.c:3236
+ msgid " -pipe Use pipes rather than intermediate files\n"
+ msgstr " -pipe Använd rör istället för temporära filer\n"
+
+-#: gcc.c:3243
++#: gcc.c:3237
+ msgid " -time Time the execution of each subprocess\n"
+ msgstr " -time Mät tiden det tar att exekvera varje barnprocess\n"
+
+-#: gcc.c:3244
++#: gcc.c:3238
+ msgid " -specs=<file> Override built-in specs with the contents of <file>\n"
+ msgstr " -specs=<fil> Ersätt inbyggda specs med innehållet i <fil>\n"
+
+-#: gcc.c:3245
++#: gcc.c:3239
+ msgid " -std=<standard> Assume that the input sources are for <standard>\n"
+ msgstr " -std=<standard> Antag att källkodsfilerna är för <standard>\n"
+
+-#: gcc.c:3246
++#: gcc.c:3240
+ msgid ""
+ " --sysroot=<directory> Use <directory> as the root directory for headers\n"
+ " and libraries\n"
+@@ -1002,45 +1002,45 @@
+ " --sysroot=<katalog> Använd <katalog> som rotkatalogen för huvuden och\n"
+ " bibliotek\n"
+
+-#: gcc.c:3249
++#: gcc.c:3243
+ msgid " -B <directory> Add <directory> to the compiler's search paths\n"
+ msgstr " -B <katalog> Lägg till <katalog> till kompilatorns sökvägar\n"
+
+-#: gcc.c:3250
++#: gcc.c:3244
+ msgid " -b <machine> Run gcc for target <machine>, if installed\n"
+ msgstr " -b <maskin> Kör gcc för mål <maskin>, om det är installerat\n"
+
+-#: gcc.c:3251
++#: gcc.c:3245
+ msgid " -V <version> Run gcc version number <version>, if installed\n"
+ msgstr " -V <version> Kör gcc version <version>, om den är installerad\n"
+
+-#: gcc.c:3252
++#: gcc.c:3246
+ msgid " -v Display the programs invoked by the compiler\n"
+ msgstr " -v Visa vilka program som körs av kompilatorn\n"
+
+-#: gcc.c:3253
++#: gcc.c:3247
+ msgid " -### Like -v but options quoted and commands not executed\n"
+ msgstr " -### Som -v men flaggor citerade och kommandon inte körda\n"
+
+-#: gcc.c:3254
++#: gcc.c:3248
+ msgid " -E Preprocess only; do not compile, assemble or link\n"
+ msgstr ""
+ " -E Preprocessa bara; kompilera, assemblera och\n"
+ " länka inte\n"
+
+-#: gcc.c:3255
++#: gcc.c:3249
+ msgid " -S Compile only; do not assemble or link\n"
+ msgstr " -S Kompilera bara; assemblera och länka inte\n"
+
+-#: gcc.c:3256
++#: gcc.c:3250
+ msgid " -c Compile and assemble, but do not link\n"
+ msgstr " -c Kompilera och assemblera, men länka inte\n"
+
+-#: gcc.c:3257
++#: gcc.c:3251
+ msgid " -o <file> Place the output into <file>\n"
+ msgstr " -o <fil> Placera utdata i <fil>\n"
+
+-#: gcc.c:3258
++#: gcc.c:3252
+ msgid ""
+ " -x <language> Specify the language of the following input files\n"
+ " Permissible languages include: c c++ assembler none\n"
+@@ -1052,7 +1052,7 @@
+ " \"none\" innebär att man använder standardmetoden\n"
+ " att gissa språk beroende på filens ändelse\n"
+
+-#: gcc.c:3265
++#: gcc.c:3259
+ #, c-format
+ msgid ""
+ "\n"
+@@ -1065,27 +1065,27 @@
+ "vidare till de barnprocesser som startas av %s. För att skicka med andra\n"
+ "flaggor till dessa processer måste flaggan -W<bokstav> användas.\n"
+
+-#: gcc.c:3389
++#: gcc.c:3383
+ #, c-format
+ msgid "'-%c' option must have argument"
+ msgstr "\"-%c\"-flaggan måste ha argument"
+
+-#: gcc.c:3411
++#: gcc.c:3405
+ #, c-format
+ msgid "couldn't run '%s': %s"
+ msgstr "gick inte att köra \"%s\": %s"
+
+ #. translate_options () has turned --version into -fversion.
+-#: gcc.c:3612
++#: gcc.c:3606
+ #, c-format
+ msgid "%s %s%s\n"
+ msgstr "%s %s%s\n"
+
+-#: gcc.c:3615 gcov.c:426 fortran/gfortranspec.c:380 java/jcf-dump.c:1168
++#: gcc.c:3609 gcov.c:427 fortran/gfortranspec.c:380 java/jcf-dump.c:1168
+ msgid "(C)"
+ msgstr "©"
+
+-#: gcc.c:3616 java/jcf-dump.c:1169
++#: gcc.c:3610 java/jcf-dump.c:1169
+ #, c-format
+ msgid ""
+ "This is free software; see the source for copying conditions. There is NO\n"
+@@ -1097,160 +1097,160 @@
+ "SPECIELLT ÄNDAMÅL.\n"
+ "\n"
+
+-#: gcc.c:3728
++#: gcc.c:3722
+ #, c-format
+ msgid "argument to '-Xlinker' is missing"
+ msgstr "argument till \"-Xlinker\" saknas"
+
+-#: gcc.c:3736
++#: gcc.c:3730
+ #, c-format
+ msgid "argument to '-Xpreprocessor' is missing"
+ msgstr "argument till \"-Xpreprocessor\" saknas"
+
+-#: gcc.c:3743
++#: gcc.c:3737
+ #, c-format
+ msgid "argument to '-Xassembler' is missing"
+ msgstr "argument till \"-Xassembler\" saknas"
+
+-#: gcc.c:3750
++#: gcc.c:3744
+ #, c-format
+ msgid "argument to '-l' is missing"
+ msgstr "argument till \"-l\" saknas"
+
+-#: gcc.c:3771
++#: gcc.c:3765
+ #, c-format
+ msgid "argument to '-specs' is missing"
+ msgstr "argument till \"-specs\" saknas"
+
+-#: gcc.c:3785
++#: gcc.c:3779
+ #, c-format
+ msgid "argument to '-specs=' is missing"
+ msgstr "argument till \"-specs=\" saknas"
+
+-#: gcc.c:3826
++#: gcc.c:3820
+ #, c-format
+ msgid "'-%c' must come at the start of the command line"
+ msgstr "\"-%c\" måste komma vid början av kommandoraden"
+
+-#: gcc.c:3835
++#: gcc.c:3829
+ #, c-format
+ msgid "argument to '-B' is missing"
+ msgstr "argument till \"-B\" saknas"
+
+-#: gcc.c:4185
++#: gcc.c:4179
+ #, c-format
+ msgid "argument to '-x' is missing"
+ msgstr "argument till \"-x\" saknas"
+
+-#: gcc.c:4213
++#: gcc.c:4207
+ #, c-format
+ msgid "argument to '-%s' is missing"
+ msgstr "argument till \"-%s\" saknas"
+
+-#: gcc.c:4541
++#: gcc.c:4535
+ #, c-format
+ msgid "switch '%s' does not start with '-'"
+ msgstr "flagga \"%s\" börjar inte med \"-\""
+
+-#: gcc.c:4685
++#: gcc.c:4679
+ #, c-format
+ msgid "spec '%s' invalid"
+ msgstr "specifikation \"%s\" ogiltig"
+
+-#: gcc.c:4824
++#: gcc.c:4818
+ #, c-format
+ msgid "spec '%s' has invalid '%%0%c'"
+ msgstr "spec \"%s\" har ogiltig \"%%0%c\""
+
+-#: gcc.c:5053
++#: gcc.c:5047
+ #, c-format
+ msgid "could not open temporary response file %s"
+ msgstr "det gick inte att öppna temporär svarsfil %s"
+
+-#: gcc.c:5059
++#: gcc.c:5053
+ #, c-format
+ msgid "could not write to temporary response file %s"
+ msgstr "det gick inte att skriva till temporär svarsfil %s"
+
+-#: gcc.c:5065
++#: gcc.c:5059
+ #, c-format
+ msgid "could not close temporary response file %s"
+ msgstr "det gick inte att stänga temporär svarsfil %s"
+
+-#: gcc.c:5099
++#: gcc.c:5093
+ #, c-format
+ msgid "spec '%s' has invalid '%%W%c"
+ msgstr "spec \"%s\" har ogiltig \"%%W%c\""
+
+-#: gcc.c:5119
++#: gcc.c:5113
+ #, c-format
+ msgid "spec '%s' has invalid '%%x%c'"
+ msgstr "spec \"%s\" har ogiltig \"%%x%c\""
+
+-#: gcc.c:5341
++#: gcc.c:5335
+ #, c-format
+ msgid "Processing spec %c%s%c, which is '%s'\n"
+ msgstr "Bearbetar specifikation %c%s%c, som är \"%s\"\n"
+
+-#: gcc.c:5465
++#: gcc.c:5459
+ #, c-format
+ msgid "unknown spec function '%s'"
+ msgstr "okänd spec-funktion \"%s\""
+
+-#: gcc.c:5484
++#: gcc.c:5478
+ #, c-format
+ msgid "error in args to spec function '%s'"
+ msgstr "fel i argument till spec-funktionen \"%s\""
+
+-#: gcc.c:5532
++#: gcc.c:5526
+ #, c-format
+ msgid "malformed spec function name"
+ msgstr "felaktigt specifikationsfunktionsnamn"
+
+ #. )
+-#: gcc.c:5535
++#: gcc.c:5529
+ #, c-format
+ msgid "no arguments for spec function"
+ msgstr "inga argument till spec-funktion"
+
+-#: gcc.c:5554
++#: gcc.c:5548
+ #, c-format
+ msgid "malformed spec function arguments"
+ msgstr "felaktiga specifikationsfunktionsargument"
+
+-#: gcc.c:5800
++#: gcc.c:5794
+ #, c-format
+ msgid "braced spec '%s' is invalid at '%c'"
+ msgstr "klammerspecifikation \"%s\" är ogiltig vid \"%c\""
+
+-#: gcc.c:5888
++#: gcc.c:5882
+ #, c-format
+ msgid "braced spec body '%s' is invalid"
+ msgstr "klammerspecifikationskropp \"%s\" är ogiltig"
+
+-#: gcc.c:6421
++#: gcc.c:6420
+ #, c-format
+ msgid "install: %s%s\n"
+ msgstr "installation: %s%s\n"
+
+-#: gcc.c:6424
++#: gcc.c:6423
+ #, c-format
+ msgid "programs: %s\n"
+ msgstr "program: %s\n"
+
+-#: gcc.c:6426
++#: gcc.c:6425
+ #, c-format
+ msgid "libraries: %s\n"
+ msgstr "bibliotek: %s\n"
+
+ #. The error status indicates that only one set of fixed
+ #. headers should be built.
+-#: gcc.c:6480
++#: gcc.c:6479
+ #, c-format
+ msgid "not configured with sysroot headers suffix"
+ msgstr "ej konfigurerad med suffix för sysroot-huvuden"
+
+-#: gcc.c:6489
++#: gcc.c:6488
+ #, c-format
+ msgid ""
+ "\n"
+@@ -1259,47 +1259,47 @@
+ "\n"
+ "För felrapporteringsinstruktioner se:\n"
+
+-#: gcc.c:6505
++#: gcc.c:6504
+ #, c-format
+ msgid "Target: %s\n"
+ msgstr "Mål: %s\n"
+
+-#: gcc.c:6506
++#: gcc.c:6505
+ #, c-format
+ msgid "Configured with: %s\n"
+ msgstr "Konfigurerad med: %s\n"
+
+-#: gcc.c:6520
++#: gcc.c:6519
+ #, c-format
+ msgid "Thread model: %s\n"
+ msgstr "Trådmodell: %s\n"
+
+-#: gcc.c:6531
++#: gcc.c:6530
+ #, c-format
+ msgid "gcc version %s %s\n"
+ msgstr "gcc version %s %s\n"
+
+-#: gcc.c:6533
++#: gcc.c:6532
+ #, c-format
+ msgid "gcc driver version %s %sexecuting gcc version %s\n"
+ msgstr "gcc-drivrutin version %s %skör gcc version %s\n"
+
+-#: gcc.c:6541
++#: gcc.c:6540
+ #, c-format
+ msgid "no input files"
+ msgstr "inga indatafiler"
+
+-#: gcc.c:6590
++#: gcc.c:6589
+ #, c-format
+ msgid "cannot specify -o with -c or -S with multiple files"
+ msgstr "det går inte att ange -o med -c eller -S med flera filer"
+
+-#: gcc.c:6624
++#: gcc.c:6623
+ #, c-format
+ msgid "spec '%s' is invalid"
+ msgstr "spec \"%s\" är ogiltig"
+
+-#: gcc.c:6760
++#: gcc.c:6759
+ #, c-format
+ msgid ""
+ "\n"
+@@ -1312,7 +1312,7 @@
+ "================\n"
+ "\n"
+
+-#: gcc.c:6761
++#: gcc.c:6760
+ #, c-format
+ msgid ""
+ "Use \"-Wl,OPTION\" to pass \"OPTION\" to the linker.\n"
+@@ -1321,52 +1321,52 @@
+ "Använd \"-Wl,FLAGGA\" för att skicka \"FLAGGA\" till länkaren.\n"
+ "\n"
+
+-#: gcc.c:7112
++#: gcc.c:7111
+ #, c-format
+ msgid "multilib spec '%s' is invalid"
+ msgstr "multilib-spec \"%s\" är ogiltig"
+
+-#: gcc.c:7303
++#: gcc.c:7302
+ #, c-format
+ msgid "multilib exclusions '%s' is invalid"
+ msgstr "multilib_exclusions \"%s\" är ogiltig"
+
+-#: gcc.c:7361 gcc.c:7502
++#: gcc.c:7360 gcc.c:7501
+ #, c-format
+ msgid "multilib select '%s' is invalid"
+ msgstr "multilib-val \"%s\" är ogiltigt"
+
+-#: gcc.c:7540
++#: gcc.c:7539
+ #, c-format
+ msgid "multilib exclusion '%s' is invalid"
+ msgstr "multilib_exclusions \"%s\" är ogiltig"
+
+-#: gcc.c:7746
++#: gcc.c:7745
+ #, c-format
+ msgid "environment variable \"%s\" not defined"
+ msgstr "omgivningsvariabeln \"%s\" är inte definierad"
+
+-#: gcc.c:7837 gcc.c:7842
++#: gcc.c:7836 gcc.c:7841
+ #, c-format
+ msgid "invalid version number `%s'"
+ msgstr "ogiltigt versionsnummer \"%s\""
+
+-#: gcc.c:7885
++#: gcc.c:7884
+ #, c-format
+ msgid "too few arguments to %%:version-compare"
+ msgstr "för få argument till %%:version-compare"
+
+-#: gcc.c:7891
++#: gcc.c:7890
+ #, c-format
+ msgid "too many arguments to %%:version-compare"
+ msgstr "för många argument till %%:version-compare"
+
+-#: gcc.c:7932
++#: gcc.c:7931
+ #, c-format
+ msgid "unknown operator '%s' in %%:version-compare"
+ msgstr "okänd operator \"%s\" i %%:version-compare"
+
+-#: gcc.c:7966
++#: gcc.c:7965
+ #, c-format
+ msgid ""
+ "Assembler options\n"
+@@ -1377,14 +1377,14 @@
+ "================\n"
+ "\n"
+
+-#: gcc.c:7967
++#: gcc.c:7966
+ #, c-format
+ msgid ""
+ "Use \"-Wa,OPTION\" to pass \"OPTION\" to the assembler.\n"
+ "\n"
+ msgstr "Använd \"-Wa,FLAGGA\" för att skicka \"FLAGGA\" till assemblern.\n"
+
+-#: gcov.c:399
++#: gcov.c:400
+ #, c-format
+ msgid ""
+ "Usage: gcov [OPTION]... SOURCEFILE...\n"
+@@ -1393,7 +1393,7 @@
+ "Användning: gcov [FLAGGA]... KÄLLFIL...\n"
+ "\n"
+
+-#: gcov.c:400
++#: gcov.c:401
+ #, c-format
+ msgid ""
+ "Print code coverage information.\n"
+@@ -1402,27 +1402,27 @@
+ "Skriv ut kodtäckningsinformation.\n"
+ "\n"
+
+-#: gcov.c:401
++#: gcov.c:402
+ #, c-format
+ msgid " -h, --help Print this help, then exit\n"
+ msgstr " -h, --help Visa denna hjälp, avsluta sedan\n"
+
+-#: gcov.c:402
++#: gcov.c:403
+ #, c-format
+ msgid " -v, --version Print version number, then exit\n"
+ msgstr " -v, --version Skriv ut versionsnummer, avsluta sedan\n"
+
+-#: gcov.c:403
++#: gcov.c:404
+ #, c-format
+ msgid " -a, --all-blocks Show information for every basic block\n"
+ msgstr " -a, --all-blocks Visa information för varje grundblock\n"
+
+-#: gcov.c:404
++#: gcov.c:405
+ #, c-format
+ msgid " -b, --branch-probabilities Include branch probabilities in output\n"
+ msgstr " -b, --branch-probabilities Tag med hoppsannolikheter i utdata\n"
+
+-#: gcov.c:405
++#: gcov.c:406
+ #, c-format
+ msgid ""
+ " -c, --branch-counts Given counts of branches taken\n"
+@@ -1431,12 +1431,12 @@
+ " -c, --branch-counts Ange antal hopp tagna istället\n"
+ " för procentsatser\n"
+
+-#: gcov.c:407
++#: gcov.c:408
+ #, c-format
+ msgid " -n, --no-output Do not create an output file\n"
+ msgstr " -n, --no-output Skapa ingen utdatafil\n"
+
+-#: gcov.c:408
++#: gcov.c:409
+ #, c-format
+ msgid ""
+ " -l, --long-file-names Use long output file names for included\n"
+@@ -1445,29 +1445,29 @@
+ " -l, --long-file-names Använd långa filnamn i utdata för\n"
+ " inkluderade källfiler\n"
+
+-#: gcov.c:410
++#: gcov.c:411
+ #, c-format
+ msgid " -f, --function-summaries Output summaries for each function\n"
+ msgstr " -f, --function-summaries Skriv sammanfattningar för varje funktion\n"
+
+-#: gcov.c:411
++#: gcov.c:412
+ #, c-format
+ msgid " -o, --object-directory DIR|FILE Search for object files in DIR or called FILE\n"
+ msgstr ""
+ " -o, --object-directory KAT|FIL Sök efter objektfiler i KAT eller som \n"
+ " heter FIL\n"
+
+-#: gcov.c:412
++#: gcov.c:413
+ #, c-format
+ msgid " -p, --preserve-paths Preserve all pathname components\n"
+ msgstr " -p, --preserve-paths Bevara alla sökvägskomponenter\n"
+
+-#: gcov.c:413
++#: gcov.c:414
+ #, c-format
+ msgid " -u, --unconditional-branches Show unconditional branch counts too\n"
+ msgstr " -u, --unconditional-branches Visa antal ovillkorliga hopp också\n"
+
+-#: gcov.c:414
++#: gcov.c:415
+ #, c-format
+ msgid ""
+ "\n"
+@@ -1479,12 +1479,12 @@
+ "%s.\n"
+ "Fel på översättningen rapporteras till <tp-sv@listor.tp-sv.se>\n"
+
+-#: gcov.c:424
++#: gcov.c:425
+ #, c-format
+ msgid "gcov %s%s\n"
+ msgstr "gcov %s%s\n"
+
+-#: gcov.c:428
++#: gcov.c:429
+ #, c-format
+ msgid ""
+ "This is free software; see the source for copying conditions.\n"
+@@ -1497,206 +1497,206 @@
+ "SPECIELLT ÄNDAMÅL.\n"
+ "\n"
+
+-#: gcov.c:524
++#: gcov.c:525
+ #, c-format
+ msgid "%s:no functions found\n"
+ msgstr "%s:ingen funktion funnen\n"
+
+-#: gcov.c:556 gcov.c:584 fortran/dump-parse-tree.c:63
++#: gcov.c:557 gcov.c:585 fortran/dump-parse-tree.c:63
+ #, c-format
+ msgid "\n"
+ msgstr "\n"
+
+-#: gcov.c:571
++#: gcov.c:572
+ #, c-format
+ msgid "%s:creating '%s'\n"
+ msgstr "%s:skapar \"%s\"\n"
+
+-#: gcov.c:575
++#: gcov.c:576
+ #, c-format
+ msgid "%s:error writing output file '%s'\n"
+ msgstr "%s:fel när utdatafilen \"%s\" skrevs\n"
+
+-#: gcov.c:580
++#: gcov.c:581
+ #, c-format
+ msgid "%s:could not open output file '%s'\n"
+ msgstr "%s:kunde inte öppna utdatafilen \"%s\"\n"
+
+-#: gcov.c:729
++#: gcov.c:730
+ #, c-format
+ msgid "%s:source file is newer than graph file '%s'\n"
+ msgstr "%s:källkodsfil är nyaren än graffil \"%s\"\n"
+
+-#: gcov.c:734
++#: gcov.c:735
+ #, c-format
+ msgid "(the message is only displayed one per source file)\n"
+ msgstr "(meddelandet visas endast en gång per källkodsfil)\n"
+
+-#: gcov.c:758
++#: gcov.c:759
+ #, c-format
+ msgid "%s:cannot open graph file\n"
+ msgstr "%s: kan inte öppna graffil\n"
+
+-#: gcov.c:764
++#: gcov.c:765
+ #, c-format
+ msgid "%s:not a gcov graph file\n"
+ msgstr "%s:inte en gcov-graffil\n"
+
+-#: gcov.c:777
++#: gcov.c:778
+ #, c-format
+ msgid "%s:version '%.4s', prefer '%.4s'\n"
+ msgstr "%s:version '%.4s', föredrar '%.4s'\n"
+
+-#: gcov.c:829
++#: gcov.c:830
+ #, c-format
+ msgid "%s:already seen blocks for '%s'\n"
+ msgstr "%s:redan sett block för \"%s\"\n"
+
+-#: gcov.c:947
++#: gcov.c:948
+ #, c-format
+ msgid "%s:corrupted\n"
+ msgstr "%s:trasig\n"
+
+-#: gcov.c:1023
++#: gcov.c:1024
+ #, c-format
+ msgid "%s:cannot open data file, assuming not executed\n"
+ msgstr "%s:kan inte öppna datafilen, antar ingen körning\n"
+
+-#: gcov.c:1030
++#: gcov.c:1031
+ #, c-format
+ msgid "%s:not a gcov data file\n"
+ msgstr "%s:inte en gcov-datafil\n"
+
+-#: gcov.c:1043
++#: gcov.c:1044
+ #, c-format
+ msgid "%s:version '%.4s', prefer version '%.4s'\n"
+ msgstr "%s:version '%.4s', föredrar version '%.4s'\n"
+
+-#: gcov.c:1049
++#: gcov.c:1050
+ #, c-format
+ msgid "%s:stamp mismatch with graph file\n"
+ msgstr "%s:stämpel stämmer inte med graffil\n"
+
+-#: gcov.c:1078
++#: gcov.c:1079
+ #, c-format
+ msgid "%s:unknown function '%u'\n"
+ msgstr "%s:okänd funktion \"%u\"\n"
+
+-#: gcov.c:1091
++#: gcov.c:1092
+ #, c-format
+ msgid "%s:profile mismatch for '%s'\n"
+ msgstr "%s:profil stämmer inte för \"%s\"\n"
+
+-#: gcov.c:1110
++#: gcov.c:1111
+ #, c-format
+ msgid "%s:overflowed\n"
+ msgstr "%s:spill\n"
+
+-#: gcov.c:1134
++#: gcov.c:1135
+ #, c-format
+ msgid "%s:'%s' lacks entry and/or exit blocks\n"
+ msgstr "%s:\"%s\" saknar ingångs och/eller utgångsblock\n"
+
+-#: gcov.c:1139
++#: gcov.c:1140
+ #, c-format
+ msgid "%s:'%s' has arcs to entry block\n"
+ msgstr "%s:\"%s\" har bågar till ingångsblock\n"
+
+-#: gcov.c:1147
++#: gcov.c:1148
+ #, c-format
+ msgid "%s:'%s' has arcs from exit block\n"
+ msgstr "%s:\"%s\" har bågar från utgångsblock\n"
+
+-#: gcov.c:1355
++#: gcov.c:1356
+ #, c-format
+ msgid "%s:graph is unsolvable for '%s'\n"
+ msgstr "%s:graf är olösbar för \"%s\"\n"
+
+-#: gcov.c:1435
++#: gcov.c:1436
+ #, c-format
+ msgid "%s '%s'\n"
+ msgstr "%s: \"%s\"\n"
+
+-#: gcov.c:1438
++#: gcov.c:1439
+ #, c-format
+ msgid "Lines executed:%s of %d\n"
+ msgstr "Körda rader:%s av %d\n"
+
+-#: gcov.c:1442
++#: gcov.c:1443
+ #, c-format
+ msgid "No executable lines\n"
+ msgstr "Inga körbara rader\n"
+
+-#: gcov.c:1448
++#: gcov.c:1449
+ #, c-format
+ msgid "Branches executed:%s of %d\n"
+ msgstr "Utförda hopp:%s av %d\n"
+
+-#: gcov.c:1452
++#: gcov.c:1453
+ #, c-format
+ msgid "Taken at least once:%s of %d\n"
+ msgstr "Tagna minst en gång:%s av %d\n"
+
+-#: gcov.c:1458
++#: gcov.c:1459
+ #, c-format
+ msgid "No branches\n"
+ msgstr "Inga grenar\n"
+
+-#: gcov.c:1460
++#: gcov.c:1461
+ #, c-format
+ msgid "Calls executed:%s of %d\n"
+ msgstr "Gjorda anrop:%s av %d\n"
+
+-#: gcov.c:1464
++#: gcov.c:1465
+ #, c-format
+ msgid "No calls\n"
+ msgstr "Inga anrop\n"
+
+-#: gcov.c:1611
++#: gcov.c:1612
+ #, c-format
+ msgid "%s:no lines for '%s'\n"
+ msgstr "%s:inga rader för \"%s\"\n"
+
+-#: gcov.c:1806
++#: gcov.c:1807
+ #, c-format
+ msgid "call %2d returned %s\n"
+ msgstr "anrop %2d returnerade %s\n"
+
+-#: gcov.c:1811
++#: gcov.c:1812
+ #, c-format
+ msgid "call %2d never executed\n"
+ msgstr "anrop %2d aldrig utfört\n"
+
+-#: gcov.c:1816
++#: gcov.c:1817
+ #, c-format
+ msgid "branch %2d taken %s%s\n"
+ msgstr "hopp %2d gjort %s%s\n"
+
+-#: gcov.c:1820
++#: gcov.c:1821
+ #, c-format
+ msgid "branch %2d never executed\n"
+ msgstr "gren %2d aldrig utförd\n"
+
+-#: gcov.c:1825
++#: gcov.c:1826
+ #, c-format
+ msgid "unconditional %2d taken %s\n"
+ msgstr "ovillkorligt hopp %2d taget %s\n"
+
+-#: gcov.c:1828
++#: gcov.c:1829
+ #, c-format
+ msgid "unconditional %2d never executed\n"
+ msgstr "ovillkorligt hopp %2d aldrig utfört\n"
+
+-#: gcov.c:1864
++#: gcov.c:1865
+ #, c-format
+ msgid "%s:cannot open source file\n"
+ msgstr "%s:kan inte öppna källkodsfil\n"
+
+-#: gcse.c:685
++#: gcse.c:679
+ msgid "GCSE disabled"
+ msgstr "GCSE avslagen"
+
+-#: gcse.c:6600
++#: gcse.c:6584
+ msgid "jump bypassing disabled"
+ msgstr "passage av hopp avslaget"
+
+@@ -1779,82 +1779,82 @@
+ msgid " inlined from %qs"
+ msgstr " inline:ad från %qs"
+
+-#: loop-iv.c:2805 tree-ssa-loop-niter.c:1818
++#: loop-iv.c:2806 tree-ssa-loop-niter.c:1818
+ msgid "assuming that the loop is not infinite"
+ msgstr "antar att slingan inte är oändlig"
+
+-#: loop-iv.c:2806 tree-ssa-loop-niter.c:1819
++#: loop-iv.c:2807 tree-ssa-loop-niter.c:1819
+ msgid "cannot optimize possibly infinite loops"
+ msgstr "kan inte optimera potentiellt oändliga slingor"
+
+-#: loop-iv.c:2814 tree-ssa-loop-niter.c:1823
++#: loop-iv.c:2815 tree-ssa-loop-niter.c:1823
+ msgid "assuming that the loop counter does not overflow"
+ msgstr "antar att slingräknaren inte spiller över"
+
+-#: loop-iv.c:2815 tree-ssa-loop-niter.c:1824
++#: loop-iv.c:2816 tree-ssa-loop-niter.c:1824
+ msgid "cannot optimize loop, the loop counter may overflow"
+ msgstr "kan inte optimera slinga, slingräknaren kan spilla över"
+
+ #. What to print when a switch has no documentation.
+-#: opts.c:348
++#: opts.c:340
+ msgid "This switch lacks documentation"
+ msgstr "Denna flagga saknar dokumentation"
+
+-#: opts.c:1159
++#: opts.c:1161
+ msgid "[enabled]"
+ msgstr "[aktiverad]"
+
+-#: opts.c:1159
++#: opts.c:1161
+ msgid "[disabled]"
+ msgstr "[avslagen]"
+
+-#: opts.c:1170
++#: opts.c:1172
+ #, c-format
+ msgid " No options with the desired characteristics were found\n"
+ msgstr " Det finns inga flaggor med de eftersökta egenskaperna\n"
+
+-#: opts.c:1172
++#: opts.c:1174
+ #, 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.c:1226
++#: opts.c:1228
+ msgid "The following options are target specific"
+ msgstr "Följande flaggor är målberoende"
+
+-#: opts.c:1229
++#: opts.c:1231
+ msgid "The following options control compiler warning messages"
+ msgstr "Följande flaggor styr kompilatorns varningsmeddelanden"
+
+-#: opts.c:1232
++#: opts.c:1234
+ msgid "The following options control optimizations"
+ msgstr "Följande flaggor styr optimeringar"
+
+-#: opts.c:1235 opts.c:1273
++#: opts.c:1237 opts.c:1275
+ msgid "The following options are language-independent"
+ msgstr "Följande flaggor är språkoberoende"
+
+-#: opts.c:1238
++#: opts.c:1240
+ msgid "The --param option recognizes the following as parameters"
+ msgstr "Flaggan --param accepterar följande som parametrar"
+
+-#: opts.c:1245
++#: opts.c:1247
+ msgid "The following options are specific to the language "
+ msgstr "Följande flaggor är specifika för språket"
+
+-#: opts.c:1249
++#: opts.c:1251
+ msgid "The following options are supported by the language "
+ msgstr "Följande flaggor stöds av språket"
+
+-#: opts.c:1260
++#: opts.c:1262
+ msgid "The following options are not documented"
+ msgstr "Följande flaggor är inte dokumenterade"
+
+-#: opts.c:1271
++#: opts.c:1273
+ msgid "The following options are language-related"
+ msgstr "Följande flaggor är språkrelaterade"
+
+-#: opts.c:1403
++#: opts.c:1405
+ #, c-format
+ msgid "warning: unrecognized argument to --help= switch: %.*s\n"
+ msgstr "varning: okänt argument till --help=-flagga: %.*s\n"
+@@ -2170,7 +2170,7 @@
+ msgid "%s: input file names must have .c suffixes: %s\n"
+ msgstr "%s: indatafilnamn måste ha ändelsen .c: %s\n"
+
+-#: reload.c:3734
++#: reload.c:3744
+ msgid "unable to generate reloads for:"
+ msgstr "kan inte generera omläsningar för:"
+
+@@ -2272,43 +2272,43 @@
+ msgid "GMP version %s, MPFR version %s.\n"
+ msgstr "GMP version %s, MPFR version %s.\n"
+
+-# Första %s blir en förkortning typ GMP
++# Tredje %s blir en förkortning typ GMP
+ #: toplev.c:1188
+ #, c-format
+-msgid "warning: %s header version %s differs from library version %s.\n"
+-msgstr "varning: %s-huvud version %s skiljer från biblioteksversion %s.\n"
++msgid "%s%swarning: %s header version %s differs from library version %s.\n"
++msgstr "%s%svarning: %s-huvud version %s skiljer från biblioteksversion %s.\n"
+
+ #: toplev.c:1190
+ #, c-format
+ msgid "%s%sGGC heuristics: --param ggc-min-expand=%d --param ggc-min-heapsize=%d\n"
+ msgstr "%s%sGGC heuristik: --param ggc-min-expand=%d --param ggc-min-heapsize=%d\n"
+
+-#: toplev.c:1340
++#: toplev.c:1342
+ msgid "options passed: "
+ msgstr "skickade flaggor: "
+
+-#: toplev.c:1374
++#: toplev.c:1376
+ msgid "options enabled: "
+ msgstr "aktiverade flaggor: "
+
+-#: toplev.c:1509
++#: toplev.c:1511
+ #, c-format
+ msgid "created and used with differing settings of '%s'"
+ msgstr "skapad och använd med olika inställningar av \"%s\""
+
+-#: toplev.c:1511
++#: toplev.c:1513
+ msgid "out of memory"
+ msgstr "slut på minne"
+
+-#: toplev.c:1526
++#: toplev.c:1528
+ msgid "created and used with different settings of -fpic"
+ msgstr "skapad och använd med olika inställningar av -fpic"
+
+-#: toplev.c:1528
++#: toplev.c:1530
+ msgid "created and used with different settings of -fpie"
+ msgstr "skapad och använd med olika inställningar av -fpie"
+
+-#: tree-inline.c:2571
++#: tree-inline.c:2657
+ msgid "originally indirect function call not considered for inlining"
+ msgstr "ursprungligen indirekt funktionsanrop beaktas inte för inline:ing"
+
+@@ -2365,10 +2365,8 @@
+ msgid "The threshold ratio between instantiated fields and the total structure size"
+ msgstr "Tröskelförhållandet mellan instansierade fält och den totala poststorleken"
+
+-# Orginalet är felstavat.
+-# http://gcc.gnu.org/bugzilla/show_bug.cgi?id=35002
+ #: params.def:93
+-msgid "The threshold ratio between current and hotest structure counts"
++msgid "The threshold ratio between current and hottest structure counts"
+ msgstr "Tröskelförhållandet mellan aktuell och hetaste posträknare"
+
+ #: params.def:110
+@@ -2761,114 +2759,122 @@
+ msgid "Maximum length of partial antic set when performing tree pre optimization"
+ msgstr "Maximal längd på partial förväntansmängd när föroptimeringar på träd görs"
+
+-#: config/alpha/alpha.c:5015
++#: params.def:723
++msgid "Maximum size of a SCC before SCCVN stops processing a function"
++msgstr "Maximal storlek på en SCC före SCCVN slutar bearbeta en funktion"
++
++#: params.def:729
++msgid "Multiplier used for determining the double-queueing threshold"
++msgstr "Faktor som används för att avgöra tröskeln för dubbelköande"
++
++#: config/alpha/alpha.c:5023
+ #, c-format
+ msgid "invalid %%H value"
+ msgstr "ogiltigt %%H-värde"
+
+-#: config/alpha/alpha.c:5036 config/bfin/bfin.c:1423
++#: config/alpha/alpha.c:5044 config/bfin/bfin.c:1516
+ #, c-format
+ msgid "invalid %%J value"
+ msgstr "ogiltigt %%J-värde"
+
+-#: config/alpha/alpha.c:5066 config/ia64/ia64.c:4718
++#: config/alpha/alpha.c:5074 config/ia64/ia64.c:4719
+ #, c-format
+ msgid "invalid %%r value"
+ msgstr "ogiltigt %%r-värde"
+
+-#: config/alpha/alpha.c:5076 config/ia64/ia64.c:4672
+-#: config/rs6000/rs6000.c:11670 config/xtensa/xtensa.c:2036
++#: config/alpha/alpha.c:5084 config/ia64/ia64.c:4673
++#: config/rs6000/rs6000.c:11881 config/xtensa/xtensa.c:2042
+ #, c-format
+ msgid "invalid %%R value"
+ msgstr "ogiltigt %%R-värde"
+
+-#: config/alpha/alpha.c:5082 config/rs6000/rs6000.c:11589
+-#: config/xtensa/xtensa.c:2003
++#: config/alpha/alpha.c:5090 config/rs6000/rs6000.c:11800
++#: config/xtensa/xtensa.c:2009
+ #, c-format
+ msgid "invalid %%N value"
+ msgstr "ogiltigt %%N-värde"
+
+-#: config/alpha/alpha.c:5090 config/rs6000/rs6000.c:11617
++#: config/alpha/alpha.c:5098 config/rs6000/rs6000.c:11828
+ #, c-format
+ msgid "invalid %%P value"
+ msgstr "ogiltigt %%P-värde"
+
+-#: config/alpha/alpha.c:5098
++#: config/alpha/alpha.c:5106
+ #, c-format
+ msgid "invalid %%h value"
+ msgstr "ogiltigt %%h-värde"
+
+-#: config/alpha/alpha.c:5106 config/xtensa/xtensa.c:2029
++#: config/alpha/alpha.c:5114 config/xtensa/xtensa.c:2035
+ #, c-format
+ msgid "invalid %%L value"
+ msgstr "ogiltigt %%L-värde"
+
+-#: config/alpha/alpha.c:5145 config/rs6000/rs6000.c:11571
++#: config/alpha/alpha.c:5153 config/rs6000/rs6000.c:11782
+ #, c-format
+ msgid "invalid %%m value"
+ msgstr "ogiltigt %%m-värde"
+
+-#: config/alpha/alpha.c:5153 config/rs6000/rs6000.c:11579
++#: config/alpha/alpha.c:5161 config/rs6000/rs6000.c:11790
+ #, c-format
+ msgid "invalid %%M value"
+ msgstr "ogiltigt %%M-värde"
+
+-#: config/alpha/alpha.c:5197
++#: config/alpha/alpha.c:5205
+ #, c-format
+ msgid "invalid %%U value"
+ msgstr "ogiltigt %%U-värde"
+
+-#: config/alpha/alpha.c:5209 config/alpha/alpha.c:5223
+-#: config/rs6000/rs6000.c:11678
++#: config/alpha/alpha.c:5217 config/alpha/alpha.c:5231
++#: config/rs6000/rs6000.c:11889
+ #, c-format
+ msgid "invalid %%s value"
+ msgstr "ogiltigt %%s-värde"
+
+-#: config/alpha/alpha.c:5246
++#: config/alpha/alpha.c:5254
+ #, c-format
+ msgid "invalid %%C value"
+ msgstr "ogiltigt %%C-värde"
+
+-#: config/alpha/alpha.c:5283 config/rs6000/rs6000.c:11406
+-#: config/rs6000/rs6000.c:11425
++#: config/alpha/alpha.c:5291 config/rs6000/rs6000.c:11617
++#: config/rs6000/rs6000.c:11636
+ #, c-format
+ msgid "invalid %%E value"
+ msgstr "ogiltigt %%E-värde"
+
+-#: config/alpha/alpha.c:5308 config/alpha/alpha.c:5356
++#: config/alpha/alpha.c:5316 config/alpha/alpha.c:5364
+ #, c-format
+ msgid "unknown relocation unspec"
+ msgstr "okänd avspecifikation av omlokalisering"
+
+-#: config/alpha/alpha.c:5317 config/crx/crx.c:1081
+-#: config/rs6000/rs6000.c:12005 config/spu/spu.c:1492
++#: config/alpha/alpha.c:5325 config/crx/crx.c:1081
++#: config/rs6000/rs6000.c:12216 config/spu/spu.c:1482
+ #, c-format
+ msgid "invalid %%xn code"
+ msgstr "ogiltig %%xn-kod"
+
+-#: config/arc/arc.c:1724 config/m32r/m32r.c:1805
++#: config/arc/arc.c:1728 config/m32r/m32r.c:1805
+ #, c-format
+ msgid "invalid operand to %%R code"
+ msgstr "ogiltig operand för %%R-kod"
+
+-#: config/arc/arc.c:1756 config/m32r/m32r.c:1828
++#: config/arc/arc.c:1760 config/m32r/m32r.c:1828
+ #, c-format
+ msgid "invalid operand to %%H/%%L code"
+ msgstr "ogiltig operand för %%H/%%L-kod"
+
+-#: config/arc/arc.c:1778 config/m32r/m32r.c:1899
++#: config/arc/arc.c:1782 config/m32r/m32r.c:1899
+ #, c-format
+ msgid "invalid operand to %%U code"
+ msgstr "ogiltig operand för %%U-kod"
+
+-#: config/arc/arc.c:1789
++#: config/arc/arc.c:1793
+ #, c-format
+ msgid "invalid operand to %%V code"
+ msgstr "ogiltig operand för %%V-kod"
+
+ #. Unknown flag.
+ #. Undocumented flag.
+-#: config/arc/arc.c:1796 config/m32r/m32r.c:1926 config/sparc/sparc.c:6995
++#: config/arc/arc.c:1800 config/m32r/m32r.c:1926 config/sparc/sparc.c:6998
+ #, c-format
+ msgid "invalid operand output code"
+ msgstr "ogiltig operand i utmatningskod"
+@@ -2893,9 +2899,9 @@
+ #: config/arm/arm.c:12830 config/arm/arm.c:12865 config/arm/arm.c:12884
+ #: config/arm/arm.c:12899 config/arm/arm.c:12927 config/arm/arm.c:12934
+ #: config/arm/arm.c:12942 config/arm/arm.c:12963 config/arm/arm.c:12970
+-#: config/bfin/bfin.c:1436 config/bfin/bfin.c:1443 config/bfin/bfin.c:1450
+-#: config/bfin/bfin.c:1457 config/bfin/bfin.c:1466 config/bfin/bfin.c:1473
+-#: config/bfin/bfin.c:1480 config/bfin/bfin.c:1487
++#: config/bfin/bfin.c:1529 config/bfin/bfin.c:1536 config/bfin/bfin.c:1543
++#: config/bfin/bfin.c:1550 config/bfin/bfin.c:1559 config/bfin/bfin.c:1566
++#: config/bfin/bfin.c:1573 config/bfin/bfin.c:1580
+ #, c-format
+ msgid "invalid operand for code '%c'"
+ msgstr "ogiltig operand för kod \"%c\""
+@@ -2910,240 +2916,159 @@
+ msgid "missing operand"
+ msgstr "operand saknas"
+
+-#: config/avr/avr.c:1022
++#: config/avr/avr.c:1062
+ #, c-format
+ msgid "address operand requires constraint for X, Y, or Z register"
+ msgstr "adressoperander kräver begränsning för X-, Y- eller Z-register"
+
+-#: config/avr/avr.c:1129
++#: config/avr/avr.c:1169
+ msgid "bad address, not (reg+disp):"
+ msgstr "felaktig adress, inte (reg+avst):"
+
+-#: config/avr/avr.c:1136
++#: config/avr/avr.c:1176
+ msgid "bad address, not post_inc or pre_dec:"
+ msgstr "felaktig adress, inte post_inc eller pre_dec:"
+
+-#: config/avr/avr.c:1147
++#: config/avr/avr.c:1187
+ msgid "internal compiler error. Bad address:"
+ msgstr "internt kompilatorfel. Felaktig adress:"
+
+-#: config/avr/avr.c:1160
++#: config/avr/avr.c:1200
+ msgid "internal compiler error. Unknown mode:"
+ msgstr "internt kompilatorfel. Okänt läge:"
+
+-#: config/avr/avr.c:1775 config/avr/avr.c:2463
++#: config/avr/avr.c:1815 config/avr/avr.c:2503
+ msgid "invalid insn:"
+ msgstr "ogiltig instruktion:"
+
+-#: config/avr/avr.c:1814 config/avr/avr.c:1900 config/avr/avr.c:1949
+-#: config/avr/avr.c:1977 config/avr/avr.c:2072 config/avr/avr.c:2241
+-#: config/avr/avr.c:2502 config/avr/avr.c:2614
++#: config/avr/avr.c:1854 config/avr/avr.c:1940 config/avr/avr.c:1989
++#: config/avr/avr.c:2017 config/avr/avr.c:2112 config/avr/avr.c:2281
++#: config/avr/avr.c:2542 config/avr/avr.c:2654
+ msgid "incorrect insn:"
+ msgstr "felaktig instruktion:"
+
+-#: config/avr/avr.c:1996 config/avr/avr.c:2157 config/avr/avr.c:2312
+-#: config/avr/avr.c:2680
++#: config/avr/avr.c:2036 config/avr/avr.c:2197 config/avr/avr.c:2352
++#: config/avr/avr.c:2720
+ msgid "unknown move insn:"
+ msgstr "okänd move-instruktion:"
+
+-#: config/avr/avr.c:2910
++#: config/avr/avr.c:2950
+ msgid "bad shift insn:"
+ msgstr "felaktig skiftinstruktion:"
+
+-#: config/avr/avr.c:3026 config/avr/avr.c:3446 config/avr/avr.c:3804
++#: config/avr/avr.c:3066 config/avr/avr.c:3486 config/avr/avr.c:3844
+ msgid "internal compiler error. Incorrect shift:"
+ msgstr "internt kompilatorfel. Felaktig skift:"
+
+-#: config/bfin/bfin.c:1385
++#: config/bfin/bfin.c:1478
+ #, c-format
+ msgid "invalid %%j value"
+ msgstr "ogiltigt %%j-värde"
+
+-#: config/bfin/bfin.c:1578
++#: config/bfin/bfin.c:1671
+ #, c-format
+ msgid "invalid const_double operand"
+ msgstr "ogiltig const_double-operand"
+
+-#: config/c4x/c4x.c:1583
+-msgid "using CONST_DOUBLE for address"
+-msgstr "använder CONST_DOUBLE som adress"
+-
+-#: config/c4x/c4x.c:1721
+-msgid "c4x_address_cost: Invalid addressing mode"
+-msgstr "c4x_address_cost: Ogiltigt adresseringssätt"
+-
+-#: config/c4x/c4x.c:1856
+-#, c-format
+-msgid "c4x_print_operand: %%L inconsistency"
+-msgstr "c4x_print_operand: %%L-inkonsekvens"
+-
+-#: config/c4x/c4x.c:1862
+-#, c-format
+-msgid "c4x_print_operand: %%N inconsistency"
+-msgstr "c4x_print_operand: %%N-inkonsekvens"
+-
+-#: config/c4x/c4x.c:1903
+-#, c-format
+-msgid "c4x_print_operand: %%O inconsistency"
+-msgstr "c4x_print_operand: %%O-inkonsekvens"
+-
+-#: config/c4x/c4x.c:1998
+-msgid "c4x_print_operand: Bad operand case"
+-msgstr "c4x_print_operand: Fel sorts operand"
+-
+-#: config/c4x/c4x.c:2039
+-msgid "c4x_print_operand_address: Bad post_modify"
+-msgstr "c4x_print_operand_address: Felaktig post_modify"
+-
+-#: config/c4x/c4x.c:2061
+-msgid "c4x_print_operand_address: Bad pre_modify"
+-msgstr "c4x_print_operand_address: Felaktig pre_modify"
+-
+-#: config/c4x/c4x.c:2109 config/c4x/c4x.c:2121 config/c4x/c4x.c:2136
+-msgid "c4x_print_operand_address: Bad operand case"
+-msgstr "c4x_print_operand_address: Fel sorts operand"
+-
+-#: config/c4x/c4x.c:2387
+-msgid "c4x_rptb_insert: Cannot find start label"
+-msgstr "c4x_rptb_insert: Hittar inte startetikett"
+-
+-#: config/c4x/c4x.c:2985
+-msgid "invalid indirect memory address"
+-msgstr "ogiltig indirekt minnesadress"
+-
+-#: config/c4x/c4x.c:3074
+-msgid "invalid indirect (S) memory address"
+-msgstr "ogiltig indirekt (S-)minnesadress"
+-
+-#: config/c4x/c4x.c:3409
+-msgid "c4x_valid_operands: Internal error"
+-msgstr "c4x_valid_operands: Internt fel"
+-
+-#: config/c4x/c4x.c:3848
+-msgid "c4x_operand_subword: invalid mode"
+-msgstr "c4x_operand_subword: ogiltigt läge"
+-
+-#: config/c4x/c4x.c:3851
+-msgid "c4x_operand_subword: invalid operand"
+-msgstr "c4x_operand_subword: ogiltig operand"
+-
+-#. We could handle these with some difficulty.
+-#. e.g., *p-- => *(p-=2); *(p+1).
+-#: config/c4x/c4x.c:3877
+-msgid "c4x_operand_subword: invalid autoincrement"
+-msgstr "c4x_operand_subword: ogiltigt autoinkrement"
+-
+-#: config/c4x/c4x.c:3883
+-msgid "c4x_operand_subword: invalid address"
+-msgstr "c4x_operand_subword: ogiltig adress"
+-
+-#: config/c4x/c4x.c:3894
+-msgid "c4x_operand_subword: address not offsettable"
+-msgstr "c4x_operand_subword: adress kan inte ha avstånd"
+-
+-#: config/c4x/c4x.c:4096
+-msgid "c4x_rptb_rpts_p: Repeat block top label moved"
+-msgstr "c4x_rptb_rpts_p: Repeteringsblocks toppetikett flyttad"
+-
+ #. Use `%s' to print the string in case there are any escape
+ #. characters in the message.
+-#: config/cris/cris.c:491 fortran/dump-parse-tree.c:78
+-#: fortran/dump-parse-tree.c:430 fortran/dump-parse-tree.c:776
+-#: fortran/dump-parse-tree.c:821 c-typeck.c:4607 c-typeck.c:4622
+-#: c-typeck.c:4637 final.c:2984 final.c:2986 gcc.c:4737 loop-iv.c:2807
+-#: loop-iv.c:2816 rtl-error.c:112 toplev.c:610 tree-ssa-loop-niter.c:1829
+-#: cp/parser.c:2188 cp/typeck.c:4559 java/expr.c:409
++#: config/cris/cris.c:504 fortran/dump-parse-tree.c:78
++#: fortran/dump-parse-tree.c:430 fortran/dump-parse-tree.c:798
++#: fortran/dump-parse-tree.c:843 c-typeck.c:4618 c-typeck.c:4633
++#: c-typeck.c:4648 final.c:2997 final.c:2999 gcc.c:4731 loop-iv.c:2808
++#: loop-iv.c:2817 rtl-error.c:112 toplev.c:610 tree-ssa-loop-niter.c:1829
++#: cp/parser.c:2192 cp/typeck.c:4567 java/expr.c:409
+ #, gcc-internal-format
+ msgid "%s"
+ msgstr "%s"
+
+-#: config/cris/cris.c:542
++#: config/cris/cris.c:555
+ msgid "unexpected index-type in cris_print_index"
+ msgstr "oväntad indextyp i cris_print_index"
+
+-#: config/cris/cris.c:556
++#: config/cris/cris.c:572
+ msgid "unexpected base-type in cris_print_base"
+ msgstr "oväntat bastyp i cris_print_base"
+
+-#: config/cris/cris.c:672
++#: config/cris/cris.c:688
+ msgid "invalid operand for 'b' modifier"
+ msgstr "ogiltig operand för \"b\"-modifierare"
+
+-#: config/cris/cris.c:689
++#: config/cris/cris.c:705
+ msgid "invalid operand for 'o' modifier"
+ msgstr "ogiltig operand för \"o\"-modifierare"
+
+-#: config/cris/cris.c:708
++#: config/cris/cris.c:724
+ msgid "invalid operand for 'O' modifier"
+ msgstr "ogiltig operand för \"O\"-modifierare"
+
+-#: config/cris/cris.c:741
++#: config/cris/cris.c:757
+ msgid "invalid operand for 'p' modifier"
+ msgstr "ogiltig operand för \"p\"-modifierare"
+
+-#: config/cris/cris.c:780
++#: config/cris/cris.c:796
+ msgid "invalid operand for 'z' modifier"
+ msgstr "ogiltig operand för \"z\"-modifierare"
+
+-#: config/cris/cris.c:834 config/cris/cris.c:864
++#: config/cris/cris.c:860 config/cris/cris.c:894
+ msgid "invalid operand for 'H' modifier"
+ msgstr "ogiltig operand för \"H\"-modifierare"
+
+-#: config/cris/cris.c:840
++#: config/cris/cris.c:870
+ msgid "bad register"
+ msgstr "felaktigt register"
+
+-#: config/cris/cris.c:884
++#: config/cris/cris.c:914
+ msgid "invalid operand for 'e' modifier"
+ msgstr "ogiltig operand för \"e\"-modifierare"
+
+-#: config/cris/cris.c:901
++#: config/cris/cris.c:931
+ msgid "invalid operand for 'm' modifier"
+ msgstr "ogiltig operand för \"m\"-modifierare"
+
+-#: config/cris/cris.c:926
++#: config/cris/cris.c:956
+ msgid "invalid operand for 'A' modifier"
+ msgstr "ogiltig operand för \"A\"-modifierare"
+
+-#: config/cris/cris.c:949
++#: config/cris/cris.c:979
+ msgid "invalid operand for 'D' modifier"
+ msgstr "ogiltig operand för \"D\"-modifierare"
+
+-#: config/cris/cris.c:963
++#: config/cris/cris.c:993
+ msgid "invalid operand for 'T' modifier"
+ msgstr "ogiltig operand för \"T\"-modifierare"
+
+-#: config/cris/cris.c:972
++#: config/cris/cris.c:1013
+ msgid "invalid operand modifier letter"
+ msgstr "ogiltig operand för modifierarebokstav"
+
+-#: config/cris/cris.c:1029
++#: config/cris/cris.c:1070
+ msgid "unexpected multiplicative operand"
+ msgstr "oväntad multiplikativ operand"
+
+-#: config/cris/cris.c:1049
++#: config/cris/cris.c:1090
+ msgid "unexpected operand"
+ msgstr "oväntad operand"
+
+-#: config/cris/cris.c:1082 config/cris/cris.c:1092
++#: config/cris/cris.c:1123 config/cris/cris.c:1133
+ msgid "unrecognized address"
+ msgstr "okänd adress"
+
+-#: config/cris/cris.c:2019
++#: config/cris/cris.c:2209
+ msgid "unrecognized supposed constant"
+ msgstr "okänd förmodad konstant"
+
+-#: config/cris/cris.c:2394 config/cris/cris.c:2458
++#: config/cris/cris.c:2638 config/cris/cris.c:2702
+ msgid "unexpected side-effects in address"
+ msgstr "oväntad sidoeffekt i adress"
+
+ #. Can't possibly get a GOT-needing-fixup for a function-call,
+ #. right?
+-#: config/cris/cris.c:3253
++#: config/cris/cris.c:3539
+ msgid "Unidentifiable call op"
+ msgstr "Oidentifierbar call-operation"
+
+-#: config/cris/cris.c:3304
++#: config/cris/cris.c:3590
+ #, c-format
+ msgid "PIC register isn't set up"
+ msgstr "PIC-register är inte uppsatt"
+@@ -3194,81 +3119,81 @@
+ msgid "fr30_print_operand: unhandled MEM"
+ msgstr "fr30_print_operand: ohanterad MEM"
+
+-#: config/frv/frv.c:2542
++#: config/frv/frv.c:2546
+ msgid "bad insn to frv_print_operand_address:"
+ msgstr "felaktig instruktion till frv_print_operand_address:"
+
+-#: config/frv/frv.c:2553
++#: config/frv/frv.c:2557
+ msgid "bad register to frv_print_operand_memory_reference_reg:"
+ msgstr "felaktigt register till frv_print_operand_memory_reference_reg:"
+
+-#: config/frv/frv.c:2592 config/frv/frv.c:2602 config/frv/frv.c:2611
+-#: config/frv/frv.c:2632 config/frv/frv.c:2637
++#: config/frv/frv.c:2596 config/frv/frv.c:2606 config/frv/frv.c:2615
++#: config/frv/frv.c:2636 config/frv/frv.c:2641
+ msgid "bad insn to frv_print_operand_memory_reference:"
+ msgstr "felaktig instruktion till frv_print_operand_memory_reference:"
+
+-#: config/frv/frv.c:2723
++#: config/frv/frv.c:2727
+ #, c-format
+ msgid "bad condition code"
+ msgstr "felaktig villkorskod"
+
+-#: config/frv/frv.c:2798
++#: config/frv/frv.c:2802
+ msgid "bad insn in frv_print_operand, bad const_double"
+ msgstr "felaktig instruktion i frv_print_operand, felaktig const_double"
+
+-#: config/frv/frv.c:2859
++#: config/frv/frv.c:2863
+ msgid "bad insn to frv_print_operand, 'e' modifier:"
+ msgstr "felaktig instruktion till frv_print_operand, \"e\"-modifierare:"
+
+-#: config/frv/frv.c:2867
++#: config/frv/frv.c:2871
+ msgid "bad insn to frv_print_operand, 'F' modifier:"
+ msgstr "felaktig instruktion till frv_print_operand, \"F\"-modifierare:"
+
+-#: config/frv/frv.c:2883
++#: config/frv/frv.c:2887
+ msgid "bad insn to frv_print_operand, 'f' modifier:"
+ msgstr "felaktig instruktion till frv_print_operand, \"f\"-modifierare:"
+
+-#: config/frv/frv.c:2897
++#: config/frv/frv.c:2901
+ msgid "bad insn to frv_print_operand, 'g' modifier:"
+ msgstr "felaktig instruktion till frv_print_operand, \"g\"-modifierare:"
+
+-#: config/frv/frv.c:2945
++#: config/frv/frv.c:2949
+ msgid "bad insn to frv_print_operand, 'L' modifier:"
+ msgstr "felaktig instruktion till frv_print_operand, \"L\"-modifierare:"
+
+-#: config/frv/frv.c:2958
++#: config/frv/frv.c:2962
+ msgid "bad insn to frv_print_operand, 'M/N' modifier:"
+ msgstr "felaktig instruktion till frv_print_operand, \"M/N\"-modifierare:"
+
+-#: config/frv/frv.c:2979
++#: config/frv/frv.c:2983
+ msgid "bad insn to frv_print_operand, 'O' modifier:"
+ msgstr "felaktig instruktion till frv_print_operand, \"O\"-modifierare:"
+
+-#: config/frv/frv.c:2997
++#: config/frv/frv.c:3001
+ msgid "bad insn to frv_print_operand, P modifier:"
+ msgstr "felaktig instruktion till frv_print_operand, P-modifierare:"
+
+-#: config/frv/frv.c:3017
++#: config/frv/frv.c:3021
+ msgid "bad insn in frv_print_operand, z case"
+ msgstr "felaktig instruktion i frv_print_operand, z-fall"
+
+-#: config/frv/frv.c:3048
++#: config/frv/frv.c:3052
+ msgid "bad insn in frv_print_operand, 0 case"
+ msgstr "felaktig instruktion i frv_print_operand, 0-fall"
+
+-#: config/frv/frv.c:3053
++#: config/frv/frv.c:3057
+ msgid "frv_print_operand: unknown code"
+ msgstr "frv_print_operand: okänd kod"
+
+-#: config/frv/frv.c:4422
++#: config/frv/frv.c:4426
+ msgid "bad output_move_single operand"
+ msgstr "felaktig operand till output_move_single"
+
+-#: config/frv/frv.c:4549
++#: config/frv/frv.c:4553
+ msgid "bad output_move_double operand"
+ msgstr "felaktig operand till output_move_double"
+
+-#: config/frv/frv.c:4691
++#: config/frv/frv.c:4695
+ msgid "bad output_condmove_single operand"
+ msgstr "felaktig operand till output_condmove_single"
+
+@@ -3286,27 +3211,27 @@
+ msgid " (frv)"
+ msgstr " (frv)"
+
+-#: config/i386/i386.c:8218
++#: config/i386/i386.c:8273
+ #, c-format
+ msgid "invalid UNSPEC as operand"
+ msgstr "ogiltig UNSPEC som operand"
+
+-#: config/i386/i386.c:8924
++#: config/i386/i386.c:8979
+ #, c-format
+ msgid "operand is neither a constant nor a condition code, invalid operand code 'c'"
+ msgstr "operand är varken en konstant eller en villkorskod, ogiltig operandkod \"c\""
+
+-#: config/i386/i386.c:9040
++#: config/i386/i386.c:9095
+ #, c-format
+ msgid "invalid operand code '%c'"
+ msgstr "ogiltig operandkod \"%c\""
+
+-#: config/i386/i386.c:9089
++#: config/i386/i386.c:9144
+ #, c-format
+ msgid "invalid constraints for operand"
+ msgstr "ogiltig begränsning för operand"
+
+-#: config/i386/i386.c:16348
++#: config/i386/i386.c:16423
+ msgid "unknown insn mode"
+ msgstr "okänt instruktionsläge"
+
+@@ -3327,34 +3252,34 @@
+ msgid "environment variable DJGPP points to corrupt file '%s'"
+ msgstr "omgivningsvariabeln DJGPP pekar på fil \"%s\" som är trasig"
+
+-#: config/ia64/ia64.c:4770
++#: config/ia64/ia64.c:4771
+ #, c-format
+ msgid "ia64_print_operand: unknown code"
+ msgstr "ia64_print_operand: okänd kod"
+
+-#: config/ia64/ia64.c:9889
++#: config/ia64/ia64.c:9890
+ msgid "invalid conversion from %<__fpreg%>"
+ msgstr "ogiltig konvertering från %<__fpreg%>"
+
+-#: config/ia64/ia64.c:9892
++#: config/ia64/ia64.c:9893
+ msgid "invalid conversion to %<__fpreg%>"
+ msgstr "ogiltig konvertering till %<__fpreg%>"
+
+-#: config/ia64/ia64.c:9905 config/ia64/ia64.c:9916
++#: config/ia64/ia64.c:9906 config/ia64/ia64.c:9917
+ msgid "invalid operation on %<__fpreg%>"
+ msgstr "ogiltig operation på %<__fpreg%>"
+
+-#: config/iq2000/iq2000.c:3118
++#: config/iq2000/iq2000.c:3122
+ #, c-format
+ msgid "invalid %%P operand"
+ msgstr "ogiltig %%P-operand"
+
+-#: config/iq2000/iq2000.c:3126 config/rs6000/rs6000.c:11607
++#: config/iq2000/iq2000.c:3130 config/rs6000/rs6000.c:11818
+ #, c-format
+ msgid "invalid %%p value"
+ msgstr "ogiltigt %%p-värde"
+
+-#: config/iq2000/iq2000.c:3182
++#: config/iq2000/iq2000.c:3186
+ #, c-format
+ msgid "invalid use of %%d, %%x, or %%X"
+ msgstr "ogiltig användning av %%d, %%x eller %%x"
+@@ -3396,7 +3321,7 @@
+ msgstr "efterinkrementeringsadress är inte ett register"
+
+ #: config/m32r/m32r.c:2030 config/m32r/m32r.c:2044
+-#: config/rs6000/rs6000.c:19870
++#: config/rs6000/rs6000.c:20087
+ msgid "bad address"
+ msgstr "felaktig adress"
+
+@@ -3442,59 +3367,59 @@
+ msgid "invalid Z register replacement for insn"
+ msgstr "ogiltigt Z-registerutbyte för instruktion"
+
+-#: config/mips/mips.c:6313 config/mips/mips.c:6334 config/mips/mips.c:6438
++#: config/mips/mips.c:6371 config/mips/mips.c:6392 config/mips/mips.c:6496
+ #, c-format
+ msgid "'%%%c' is not a valid operand prefix"
+ msgstr "%%%c är inte ett giltigt operandprefix"
+
+-#: config/mips/mips.c:6382 config/mips/mips.c:6389 config/mips/mips.c:6396
+-#: config/mips/mips.c:6456
++#: config/mips/mips.c:6440 config/mips/mips.c:6447 config/mips/mips.c:6454
++#: config/mips/mips.c:6514
+ #, c-format
+ msgid "invalid use of '%%%c'"
+ msgstr "felaktig användning av \"%%%c\""
+
+-#: config/mips/mips.c:6701
++#: config/mips/mips.c:6761
+ msgid "mips_debugger_offset called with non stack/frame/arg pointer"
+ msgstr "mips_debugger_offset anropad med en icke-stack/ram/arg-pekare"
+
+-#: config/mmix/mmix.c:1487 config/mmix/mmix.c:1617
++#: config/mmix/mmix.c:1483 config/mmix/mmix.c:1613
+ msgid "MMIX Internal: Expected a CONST_INT, not this"
+ msgstr "MMIX-internt: Förväntade en CONST_INT, inte detta"
+
+-#: config/mmix/mmix.c:1566
++#: config/mmix/mmix.c:1562
+ msgid "MMIX Internal: Bad value for 'm', not a CONST_INT"
+ msgstr "MMIX-internt: Felaktigt värde för \"m\", inte en CONST_INT"
+
+-#: config/mmix/mmix.c:1585
++#: config/mmix/mmix.c:1581
+ msgid "MMIX Internal: Expected a register, not this"
+ msgstr "MMIX-internt: Förväntade ett register, inte detta"
+
+-#: config/mmix/mmix.c:1595
++#: config/mmix/mmix.c:1591
+ msgid "MMIX Internal: Expected a constant, not this"
+ msgstr "MMIX-internt: Förväntade en konstant, inte detta"
+
+ #. We need the original here.
+-#: config/mmix/mmix.c:1679
++#: config/mmix/mmix.c:1675
+ msgid "MMIX Internal: Cannot decode this operand"
+ msgstr "MMIX-internt: Kan inte avkoda denna operand"
+
+-#: config/mmix/mmix.c:1736
++#: config/mmix/mmix.c:1732
+ msgid "MMIX Internal: This is not a recognized address"
+ msgstr "MMIX-internt: Detta är inte en känd adress"
+
+-#: config/mmix/mmix.c:2669
++#: config/mmix/mmix.c:2665
+ msgid "MMIX Internal: Trying to output invalidly reversed condition:"
+ msgstr "MMIX-internt: Försöker mata ut felaktigt omvänt villkor:"
+
+-#: config/mmix/mmix.c:2676
++#: config/mmix/mmix.c:2672
+ msgid "MMIX Internal: What's the CC of this?"
+ msgstr "MMIX-internt: Vad är CC:t för detta?"
+
+-#: config/mmix/mmix.c:2680
++#: config/mmix/mmix.c:2676
+ msgid "MMIX Internal: What is the CC of this?"
+ msgstr "MMIX-internt: Vad är CC:t för detta?"
+
+-#: config/mmix/mmix.c:2744
++#: config/mmix/mmix.c:2740
+ msgid "MMIX Internal: This is not a constant:"
+ msgstr "MMIX-internt: Detta är inte en konstant:"
+
+@@ -3520,81 +3445,81 @@
+ msgid "Try running '%s' in the shell to raise its limit.\n"
+ msgstr "Försök köra \"%s\" i skalet för att öka dess gräns.\n"
+
+-#: config/rs6000/rs6000.c:11434
++#: config/rs6000/rs6000.c:11645
+ #, c-format
+ msgid "invalid %%f value"
+ msgstr "ogiltigt %%f-värde"
+
+-#: config/rs6000/rs6000.c:11443
++#: config/rs6000/rs6000.c:11654
+ #, c-format
+ msgid "invalid %%F value"
+ msgstr "ogiltigt %%F-värde"
+
+-#: config/rs6000/rs6000.c:11452
++#: config/rs6000/rs6000.c:11663
+ #, c-format
+ msgid "invalid %%G value"
+ msgstr "ogiltigt %%G-värde"
+
+-#: config/rs6000/rs6000.c:11487
++#: config/rs6000/rs6000.c:11698
+ #, c-format
+ msgid "invalid %%j code"
+ msgstr "ogiltig %%j-kod"
+
+-#: config/rs6000/rs6000.c:11497
++#: config/rs6000/rs6000.c:11708
+ #, c-format
+ msgid "invalid %%J code"
+ msgstr "ogiltig %%J-kod"
+
+-#: config/rs6000/rs6000.c:11507
++#: config/rs6000/rs6000.c:11718
+ #, c-format
+ msgid "invalid %%k value"
+ msgstr "ogiltigt %%k-värde"
+
+-#: config/rs6000/rs6000.c:11527 config/xtensa/xtensa.c:2022
++#: config/rs6000/rs6000.c:11738 config/xtensa/xtensa.c:2028
+ #, c-format
+ msgid "invalid %%K value"
+ msgstr "ogiltigt %%K-värde"
+
+-#: config/rs6000/rs6000.c:11597
++#: config/rs6000/rs6000.c:11808
+ #, c-format
+ msgid "invalid %%O value"
+ msgstr "ogiltigt %%O-värde"
+
+-#: config/rs6000/rs6000.c:11644
++#: config/rs6000/rs6000.c:11855
+ #, c-format
+ msgid "invalid %%q value"
+ msgstr "ogiltigt %%q-värde"
+
+-#: config/rs6000/rs6000.c:11688
++#: config/rs6000/rs6000.c:11899
+ #, c-format
+ msgid "invalid %%S value"
+ msgstr "ogiltigt %%S-värde"
+
+-#: config/rs6000/rs6000.c:11728
++#: config/rs6000/rs6000.c:11939
+ #, c-format
+ msgid "invalid %%T value"
+ msgstr "ogiltigt %%T-värde"
+
+-#: config/rs6000/rs6000.c:11738
++#: config/rs6000/rs6000.c:11949
+ #, c-format
+ msgid "invalid %%u value"
+ msgstr "ogiltigt %%u-värde"
+
+-#: config/rs6000/rs6000.c:11747 config/xtensa/xtensa.c:1992
++#: config/rs6000/rs6000.c:11958 config/xtensa/xtensa.c:1998
+ #, c-format
+ msgid "invalid %%v value"
+ msgstr "ogiltig %%v-kod"
+
+-#: config/rs6000/rs6000.c:21768
++#: config/rs6000/rs6000.c:21946
+ msgid "AltiVec argument passed to unprototyped function"
+ msgstr "AltiVec-argument skickat till funktion utan prototyp"
+
+-#: config/s390/s390.c:4561
++#: config/s390/s390.c:4560
+ #, c-format
+ msgid "cannot decompose address"
+ msgstr "kan inte dekomponera adress."
+
+-#: config/s390/s390.c:4771
++#: config/s390/s390.c:4770
+ msgid "UNKNOWN in print_operand !?"
+ msgstr "OKÄND i print_operand!?"
+
+@@ -3604,89 +3529,89 @@
+ msgid "invalid operand for code: '%c'"
+ msgstr "ogiltig operand för kod: \"%c\""
+
+-#: config/sh/sh.c:746
++#: config/sh/sh.c:749
+ #, c-format
+ msgid "invalid operand to %%R"
+ msgstr "ogiltig operand till %%R"
+
+-#: config/sh/sh.c:773
++#: config/sh/sh.c:776
+ #, c-format
+ msgid "invalid operand to %%S"
+ msgstr "ogiltig operand till %%R"
+
+-#: config/sh/sh.c:8095
++#: config/sh/sh.c:8098
+ msgid "created and used with different architectures / ABIs"
+ msgstr "skapad och använd med olika arkitekturer/ABI:er"
+
+-#: config/sh/sh.c:8097
++#: config/sh/sh.c:8100
+ msgid "created and used with different ABIs"
+ msgstr "skapad och använd med olika ABI:er"
+
+-#: config/sh/sh.c:8099
++#: config/sh/sh.c:8102
+ msgid "created and used with different endianness"
+ msgstr "skapad och använd med olika byteordning"
+
+-#: config/sparc/sparc.c:6803 config/sparc/sparc.c:6809
++#: config/sparc/sparc.c:6806 config/sparc/sparc.c:6812
+ #, c-format
+ msgid "invalid %%Y operand"
+ msgstr "ogiltig %%Y-operand"
+
+-#: config/sparc/sparc.c:6879
++#: config/sparc/sparc.c:6882
+ #, c-format
+ msgid "invalid %%A operand"
+ msgstr "ogiltig %%A-operand"
+
+-#: config/sparc/sparc.c:6889
++#: config/sparc/sparc.c:6892
+ #, c-format
+ msgid "invalid %%B operand"
+ msgstr "ogiltig %%B-operand"
+
+-#: config/sparc/sparc.c:6928
++#: config/sparc/sparc.c:6931
+ #, c-format
+ msgid "invalid %%c operand"
+ msgstr "ogiltig %%c-operand"
+
+-#: config/sparc/sparc.c:6950
++#: config/sparc/sparc.c:6953
+ #, c-format
+ msgid "invalid %%d operand"
+ msgstr "ogiltig %%d-operand"
+
+-#: config/sparc/sparc.c:6967
++#: config/sparc/sparc.c:6970
+ #, c-format
+ msgid "invalid %%f operand"
+ msgstr "ogiltig %%f-operand"
+
+-#: config/sparc/sparc.c:6981
++#: config/sparc/sparc.c:6984
+ #, c-format
+ msgid "invalid %%s operand"
+ msgstr "ogiltig %%s-operand"
+
+-#: config/sparc/sparc.c:7035
++#: config/sparc/sparc.c:7038
+ #, c-format
+ msgid "long long constant not a valid immediate operand"
+ msgstr "long long-konstant inte en giltig omedelbar operand"
+
+-#: config/sparc/sparc.c:7038
++#: config/sparc/sparc.c:7041
+ #, c-format
+ msgid "floating point constant not a valid immediate operand"
+ msgstr "flyttalskonstant inte en giltig omedelbar operand"
+
+-#: config/stormy16/stormy16.c:1775 config/stormy16/stormy16.c:1846
++#: config/stormy16/stormy16.c:1748 config/stormy16/stormy16.c:1819
+ #, c-format
+ msgid "'B' operand is not constant"
+ msgstr "\"B\"-operand är ej konstant"
+
+-#: config/stormy16/stormy16.c:1802
++#: config/stormy16/stormy16.c:1775
+ #, c-format
+ msgid "'B' operand has multiple bits set"
+ msgstr "\"B\"-operand har flera bitar satta"
+
+-#: config/stormy16/stormy16.c:1828
++#: config/stormy16/stormy16.c:1801
+ #, c-format
+ msgid "'o' operand is not constant"
+ msgstr "\"o\"-operand är ej konstant"
+
+-#: config/stormy16/stormy16.c:1860
++#: config/stormy16/stormy16.c:1833
+ #, c-format
+ msgid "xstormy16_print_operand: unknown code"
+ msgstr "xstormy16_print_operand: okänd kod"
+@@ -3699,56 +3624,56 @@
+ msgid "output_move_single:"
+ msgstr "output_move_single:"
+
+-#: config/xtensa/xtensa.c:652 config/xtensa/xtensa.c:684
+-#: config/xtensa/xtensa.c:693
++#: config/xtensa/xtensa.c:656 config/xtensa/xtensa.c:688
++#: config/xtensa/xtensa.c:697
+ msgid "bad test"
+ msgstr "felaktig test"
+
+-#: config/xtensa/xtensa.c:1980
++#: config/xtensa/xtensa.c:1986
+ #, c-format
+ msgid "invalid %%D value"
+ msgstr "ogiltigt %%D-värde"
+
+-#: config/xtensa/xtensa.c:2017
++#: config/xtensa/xtensa.c:2023
+ msgid "invalid mask"
+ msgstr "ogiltigt mask"
+
+-#: config/xtensa/xtensa.c:2043
++#: config/xtensa/xtensa.c:2049
+ #, c-format
+ msgid "invalid %%x value"
+ msgstr "ogiltigt %%x-värde"
+
+-#: config/xtensa/xtensa.c:2050
++#: config/xtensa/xtensa.c:2056
+ #, c-format
+ msgid "invalid %%d value"
+ msgstr "ogiltigt %%d-värde"
+
+-#: config/xtensa/xtensa.c:2071 config/xtensa/xtensa.c:2081
++#: config/xtensa/xtensa.c:2077 config/xtensa/xtensa.c:2087
+ #, c-format
+ msgid "invalid %%t/%%b value"
+ msgstr "ogiltigt %%t/%%b-värde"
+
+-#: config/xtensa/xtensa.c:2123
++#: config/xtensa/xtensa.c:2129
+ msgid "invalid address"
+ msgstr "ogiltig adress"
+
+-#: config/xtensa/xtensa.c:2148
++#: config/xtensa/xtensa.c:2154
+ msgid "no register in address"
+ msgstr "inget register i adress"
+
+-#: config/xtensa/xtensa.c:2156
++#: config/xtensa/xtensa.c:2162
+ msgid "address offset not a constant"
+ msgstr "adressavstånd inte en konstant"
+
+-#: cp/call.c:2514
++#: cp/call.c:2500
+ msgid "candidates are:"
+ msgstr "kandidater är:"
+
+-#: cp/call.c:6463
++#: cp/call.c:6487
+ msgid "candidate 1:"
+ msgstr "kandidat 1:"
+
+-#: cp/call.c:6464
++#: cp/call.c:6488
+ msgid "candidate 2:"
+ msgstr "kandidat 2:"
+
+@@ -3793,51 +3718,51 @@
+ msgid "Integer outside symmetric range implied by Standard Fortran at %L"
+ msgstr "Heltal utanför symmetriskt intervall implicerat av Standard Fortran vid %L"
+
+-#: fortran/arith.c:1425
++#: fortran/arith.c:1472
+ msgid "elemental binary operation"
+ msgstr "elementär binär operation"
+
+-#: fortran/arith.c:1997
++#: fortran/arith.c:2044
+ #, no-c-format
+ msgid "Arithmetic OK converting %s to %s at %L"
+ msgstr "Aritmetiskt OK konvertering av %s till %s vid %L"
+
+-#: fortran/arith.c:2001
++#: fortran/arith.c:2048
+ #, no-c-format
+ msgid "Arithmetic overflow converting %s to %s at %L. This check can be disabled with the option -fno-range-check"
+ msgstr "Aritmetiskt spill vid konvertering av %s till %s vid %L. Denna kontroll kan avaktiveras med flaggan -fno-range-check"
+
+-#: fortran/arith.c:2006
++#: fortran/arith.c:2053
+ #, no-c-format
+ msgid "Arithmetic underflow converting %s to %s at %L"
+ msgstr "Aritmetiskt underspill vid konvertering av %s till %s vid %L"
+
+-#: fortran/arith.c:2010
++#: fortran/arith.c:2057
+ #, no-c-format
+ msgid "Arithmetic NaN converting %s to %s at %L"
+ msgstr "Aritmetisk NaN vid konvertering av %s till %s vid %L"
+
+-#: fortran/arith.c:2014
++#: fortran/arith.c:2061
+ #, no-c-format
+ msgid "Division by zero converting %s to %s at %L"
+ msgstr "Division med noll vid konvertering av %s till %s vid %L"
+
+-#: fortran/arith.c:2018
++#: fortran/arith.c:2065
+ #, no-c-format
+ msgid "Array operands are incommensurate converting %s to %s at %L"
+ msgstr "Vektoroperander passar inte ihop vid konvertering av %s till %s vid %L"
+
+-#: fortran/arith.c:2022
++#: fortran/arith.c:2069
+ #, no-c-format
+ msgid "Integer outside symmetric range implied by Standard Fortran converting %s to %s at %L"
+ msgstr "Heltal utanför symmetriskt intervall implicerat av Standard Fortran vid konvertering av %s till %s vid %L"
+
+-#: fortran/arith.c:2355
++#: fortran/arith.c:2402
+ #, no-c-format
+ msgid "The Hollerith constant at %L is too long to convert to %s"
+ msgstr "Hollerithkonstanten vid %L är för lång för att konverteras till %s"
+
+-#: fortran/arith.c:2513
++#: fortran/arith.c:2560
+ #, no-c-format
+ msgid "Enumerator exceeds the C integer type at %C"
+ msgstr "Uppräkningstypen överskrider C:s heltalstyp vid %C"
+@@ -3867,72 +3792,72 @@
+ msgid "Variable '%s' at %L in this context must be constant"
+ msgstr "Variabeln \"%s\" vid %L i detta sammanhang måste vara en konstant"
+
+-#: fortran/array.c:299
++#: fortran/array.c:314
+ #, no-c-format
+ msgid "Expected expression in array specification at %C"
+ msgstr "Förväntade uttryck i vektorspecifikation vid %C"
+
+-#: fortran/array.c:386
++#: fortran/array.c:392
+ #, no-c-format
+ msgid "Bad array specification for an explicitly shaped array at %C"
+ msgstr "Felaktig vektorspecifikation för en explicit formad vektor vid %C"
+
+-#: fortran/array.c:396
++#: fortran/array.c:402
+ #, no-c-format
+ msgid "Bad array specification for assumed shape array at %C"
+ msgstr "Felaktig vektorspecifikation för en förmodat formad vektor vid %C"
+
+-#: fortran/array.c:410
++#: fortran/array.c:416
+ #, no-c-format
+ msgid "Bad specification for deferred shape array at %C"
+ msgstr "Felaktig specifikation för en fördröjt formad vektor vid %C"
+
+-#: fortran/array.c:414
++#: fortran/array.c:420
+ #, no-c-format
+ msgid "Bad specification for assumed size array at %C"
+ msgstr "Felaktig specifikation för vektor med förmodad storlek vid %C"
+
+-#: fortran/array.c:423
++#: fortran/array.c:429
+ #, no-c-format
+ msgid "Expected another dimension in array declaration at %C"
+ msgstr "Förväntade en annan dimension i vektordeklaration vid %C"
+
+-#: fortran/array.c:429
++#: fortran/array.c:435
+ #, no-c-format
+ msgid "Array specification at %C has more than %d dimensions"
+ msgstr "Vektorspecifikation vid %C har mer än %d dimensioner"
+
+-#: fortran/array.c:635
++#: fortran/array.c:641
+ #, no-c-format
+ msgid "duplicated initializer"
+ msgstr "dubblerad initierare"
+
+-#: fortran/array.c:727
++#: fortran/array.c:733
+ #, no-c-format
+ msgid "DO-iterator '%s' at %L is inside iterator of the same name"
+ msgstr "DO-iterator \"%s\" vid %L är inuti en iterator med samma namn"
+
+-#: fortran/array.c:829 fortran/array.c:938
++#: fortran/array.c:835 fortran/array.c:944
+ #, no-c-format
+ msgid "Syntax error in array constructor at %C"
+ msgstr "Syntaxfel i vektorkonstruerare vid %C"
+
+-#: fortran/array.c:884
++#: fortran/array.c:890
+ #, no-c-format
+ msgid "Fortran 2003: [...] style array constructors at %C"
+ msgstr "Fortran 2003: [...]-stils vektorkonstruerare vid %C"
+
+-#: fortran/array.c:898
++#: fortran/array.c:904
+ #, no-c-format
+ msgid "Empty array constructor at %C is not allowed"
+ msgstr "Tom vektorkonstruerare vid %C är inte tillåtet"
+
+-#: fortran/array.c:982
++#: fortran/array.c:988
+ #, no-c-format
+ msgid "Element in %s array constructor at %L is %s"
+ msgstr "Element i %s-vektorkonstruerare vid %L är %s"
+
+-#: fortran/array.c:1309
++#: fortran/array.c:1315
+ #, no-c-format
+ msgid "Iterator step at %L cannot be zero"
+ msgstr "Iteratorsteg vid %L kan inte vara noll"
+@@ -3952,7 +3877,7 @@
+ msgid "'%s' argument of '%s' intrinsic at %L must be a numeric type"
+ msgstr "\"%s\"-argumentet till inbyggd \"%s\" vid %L måste vara en numerisk typ"
+
+-#: fortran/check.c:101 fortran/check.c:817 fortran/check.c:827
++#: fortran/check.c:101 fortran/check.c:810 fortran/check.c:820
+ #, no-c-format
+ msgid "'%s' argument of '%s' intrinsic at %L must be INTEGER or REAL"
+ msgstr "\"%s\"-argumentet till inbyggd \"%s\" vid %L måste vara INTEGER eller REAL"
+@@ -4017,220 +3942,215 @@
+ msgid "'%s' argument of '%s' intrinsic at %L must be a variable"
+ msgstr "\"%s\"-argumentet till inbyggd \"%s\" vid %L måste vara en variabel"
+
+-#: fortran/check.c:320
++#: fortran/check.c:356
+ #, no-c-format
+-msgid "Missing DIM parameter in intrinsic '%s' at %L"
+-msgstr "Saknad DIM-parameter till inbyggd \"%s\" vid %L"
+-
+-#: fortran/check.c:363
+-#, no-c-format
+ msgid "'dim' argument of '%s' intrinsic at %L is not a valid dimension index"
+ msgstr "\"dim\"-argumentet till inbyggd \"%s\" vid %L är inte ett giltigt dimensionsindex"
+
+-#: fortran/check.c:433
++#: fortran/check.c:426
+ #, no-c-format
+ msgid "Unequal character lengths (%ld and %ld) in %s intrinsic at %L"
+ msgstr "Olika teckenlängder (%ld och %ld) i inbyggd %s vid %L"
+
+-#: fortran/check.c:535 fortran/check.c:1938 fortran/check.c:1953
++#: fortran/check.c:528 fortran/check.c:1932 fortran/check.c:1947
+ #, no-c-format
+ msgid "'%s' argument of '%s' intrinsic at %L must be ALLOCATABLE"
+ msgstr "\"%s\"-argumentet till inbyggd \"%s\" vid %L måste vara ALLOCATABLE"
+
+-#: fortran/check.c:559 fortran/check.c:3703
++#: fortran/check.c:552 fortran/check.c:3697
+ #, no-c-format
+ msgid "'%s' and '%s' arguments of '%s' intrinsic at %L must have the same type"
+ msgstr "\"%s\"- och \"%s\"-argumenten till inbyggd \"%s\" vid %L måste ha samma typ"
+
+-#: fortran/check.c:568 fortran/check.c:1143 fortran/check.c:1286
+-#: fortran/check.c:1360 fortran/check.c:1616
++#: fortran/check.c:561 fortran/check.c:1137 fortran/check.c:1280
++#: fortran/check.c:1354 fortran/check.c:1610
+ #, no-c-format
+ msgid "Extension: Different type kinds at %L"
+ msgstr "Utökning: Olika typsorter vid %L"
+
+-#: fortran/check.c:608 fortran/check.c:2022
++#: fortran/check.c:601 fortran/check.c:2016
+ #, no-c-format
+ msgid "'%s' argument of '%s' intrinsic at %L must be a POINTER"
+ msgstr "\"%s\"-argumentet till inbyggd \"%s\" vid %L måste vara POINTER"
+
+-#: fortran/check.c:628
++#: fortran/check.c:621
+ #, no-c-format
+ msgid "'%s' argument of '%s' intrinsic at %L must be a pointer or target VARIABLE or FUNCTION"
+ msgstr "\"%s\"-argumentet till inbyggd \"%s\" vid %L måste vara en pekare eller mål-VARIABLE eller -FUNCTION"
+
+-#: fortran/check.c:636
++#: fortran/check.c:629
+ #, no-c-format
+ msgid "'%s' argument of '%s' intrinsic at %L must be a POINTER or a TARGET"
+ msgstr "\"%s\"-argumentet till inbyggd \"%s\" vid %L måste vara en POINTER eller en TARGET"
+
+-#: fortran/check.c:652
++#: fortran/check.c:645
+ #, no-c-format
+ msgid "Array section with a vector subscript at %L shall not be the target of a pointer"
+ msgstr "Vektorsektion med ett vektorindex vid %L skall inte vara målet för en pekare"
+
+-#: fortran/check.c:663
++#: fortran/check.c:656
+ #, no-c-format
+ msgid "NULL pointer at %L is not permitted as actual argument of '%s' intrinsic function"
+ msgstr "NULL-pekare vid %L är inte tillåtet som aktuellt argument till inbyggd funktion \"%s\""
+
+-#: fortran/check.c:798 fortran/check.c:915
++#: fortran/check.c:791 fortran/check.c:910
+ #, no-c-format
+ msgid "'%s' argument of '%s' intrinsic at %L must not be present if 'x' is COMPLEX"
+ msgstr "\"%s\"-argumentet till inbyggd \"%s\" vid %L måste får inte finnas om \"x\" är COMPLEX"
+
+-#: fortran/check.c:848 fortran/check.c:1205 fortran/check.c:1308
+-#: fortran/check.c:1467 fortran/check.c:1484 fortran/check.c:2318
+-#: fortran/check.c:2444 fortran/check.c:2779 fortran/check.c:2821
++#: fortran/check.c:841 fortran/check.c:1199 fortran/check.c:1302
++#: fortran/check.c:1461 fortran/check.c:1478 fortran/check.c:2312
++#: fortran/check.c:2438 fortran/check.c:2773 fortran/check.c:2815
+ #, no-c-format
+ msgid "Fortran 2003: '%s' intrinsic with KIND argument at %L"
+ msgstr "Fortran 2003: inbyggd \"%s\" vid KIND-argument vid %L"
+
+-#: fortran/check.c:964 fortran/check.c:1712 fortran/check.c:1720
++#: fortran/check.c:959 fortran/check.c:1706 fortran/check.c:1714
+ #, no-c-format
+ msgid "'%s' argument of '%s' intrinsic at %L must be numeric or LOGICAL"
+ msgstr "\"%s\"-argumentet till inbyggd \"%s\" vid %L måste vara numeriskt eller LOGICAL"
+
+-#: fortran/check.c:978
++#: fortran/check.c:973
+ #, no-c-format
+ msgid "Different shape for arguments '%s' and '%s' at %L for intrinsic 'dot_product'"
+ msgstr "Olika former för argument \"%s\" och \"%s\" vid %L för inbyggd \"dot_product\""
+
+-#: fortran/check.c:997 fortran/check.c:1005
++#: fortran/check.c:992 fortran/check.c:1000
+ #, no-c-format
+ msgid "'%s' argument of '%s' intrinsic at %L must be default real"
+ msgstr "\"%s\"-argumentet till inbyggd \"%s\" vid %L måste vara standard reell"
+
+-#: fortran/check.c:1256
++#: fortran/check.c:1250
+ #, no-c-format
+ msgid "Argument of %s at %L must be of length one"
+ msgstr "Argument till \"%s\" vid %L måste ha längden ett"
+
+-#: fortran/check.c:1315
++#: fortran/check.c:1309
+ #, no-c-format
+ msgid "'%s' argument of '%s' intrinsic at %L must be the same kind as '%s'"
+ msgstr "\"%s\"-argumentet till inbyggd \"%s\" vid %L måste ha samma sort som \"%s\""
+
+-#: fortran/check.c:1440
++#: fortran/check.c:1434
+ #, no-c-format
+ msgid "'%s' argument of '%s' intrinsic at %L must be a non-derived type"
+ msgstr "\"%s\"-argumentet till inbyggd \"%s\" vid %L måste vara en icke härledd typ"
+
+-#: fortran/check.c:1589
++#: fortran/check.c:1583
+ #, no-c-format
+ msgid "Intrinsic '%s' at %L must have at least two arguments"
+ msgstr "Inbyggd \"%s\" vid %L måste ha åtminstone två argument"
+
+-#: fortran/check.c:1622
++#: fortran/check.c:1616
+ #, no-c-format
+ msgid "'a%d' argument of '%s' intrinsic at %L must be %s(%d)"
+ msgstr "\"a%d\"-argumentet till inbyggd \"%s\" vid %L måste vara %s(%d)"
+
+-#: fortran/check.c:1655
++#: fortran/check.c:1649
+ #, no-c-format
+ msgid "Fortran 2003: '%s' intrinsic with CHARACTER argument at %L"
+ msgstr "Fortran 2003: inbyggd \"%s\" med CHARACTER-argument vid %L"
+
+-#: fortran/check.c:1662
++#: fortran/check.c:1656
+ #, no-c-format
+ msgid "'a1' argument of '%s' intrinsic at %L must be INTEGER, REAL or CHARACTER"
+ msgstr "\"a1\"-argumentet till inbyggd \"%s\" vid %L måste vara INTEGER, REAL eller CHARACTER"
+
+-#: fortran/check.c:1734
++#: fortran/check.c:1728
+ #, no-c-format
+ msgid "Different shape on dimension 1 for arguments '%s' and '%s' at %L for intrinsic matmul"
+ msgstr "Olika form på dimension 1 för argumenten \"%s\" och \"%s\" vid %L för inbyggd matmul"
+
+-#: fortran/check.c:1753
++#: fortran/check.c:1747
+ #, no-c-format
+ msgid "Different shape on dimension 2 for argument '%s' and dimension 1 for argument '%s' at %L for intrinsic matmul"
+ msgstr "Olika form på dimension 2 för argument \"%s\" och dimension 1 för argument \"%s\" vid %L för inbyggd matmul"
+
+-#: fortran/check.c:1762
++#: fortran/check.c:1756
+ #, no-c-format
+ msgid "'%s' argument of '%s' intrinsic at %L must be of rank 1 or 2"
+ msgstr "\"%s\"-argumentet till inbyggd \"%s\" vid %L måste ha ordning 1 eller 2"
+
+-#: fortran/check.c:1964
++#: fortran/check.c:1958
+ #, no-c-format
+ msgid "the '%s' and '%s' arguments of '%s' intrinsic at %L must have the same rank %d/%d"
+ msgstr "\"%s\"- och \"%s\"-argumenten till inbyggd \"%s\" vid %L måste ha samma ordning %d/%d"
+
+-#: fortran/check.c:1973
++#: fortran/check.c:1967
+ #, no-c-format
+ msgid "the '%s' and '%s' arguments of '%s' intrinsic at %L must be of the same kind %d/%d"
+ msgstr "\"%s\"- och \"%s\"-argumenten till inbyggd \"%s\" vid %L måste ha samma sort %d/%d"
+
+-#: fortran/check.c:2069
++#: fortran/check.c:2063
+ #, no-c-format
+ msgid "'%s' argument of '%s' intrinsic at %L must be of type REAL or COMPLEX"
+ msgstr "\"%s\"-argumentet till inbyggd \"%s\" vid %L måste ha typen REAL eller COMPLEX"
+
+-#: fortran/check.c:2090
++#: fortran/check.c:2084
+ #, no-c-format
+ msgid "'%s' argument of '%s' intrinsic at %L must be of a dummy variable"
+ msgstr "\"%s\"-argumentet till inbyggd \"%s\" vid %L måste vara en attrappvariabel"
+
+-#: fortran/check.c:2098
++#: fortran/check.c:2092
+ #, no-c-format
+ msgid "'%s' argument of '%s' intrinsic at %L must be of an OPTIONAL dummy variable"
+ msgstr "\"%s\"-argumentet till inbyggd \"%s\" vid %L måste vara en OPTIONAL attrappvariabel"
+
+-#: fortran/check.c:2114
++#: fortran/check.c:2108
+ #, no-c-format
+ msgid "'%s' argument of '%s' intrinsic at %L must not be a subobject of '%s'"
+ msgstr "\"%s\"-argumentet till inbyggd \"%s\" vid %L får inte vara ett underobjekt till \"%s\""
+
+-#: fortran/check.c:2231
++#: fortran/check.c:2225
+ #, no-c-format
+ msgid "'shape' argument of 'reshape' intrinsic at %L must be an array of constant size"
+ msgstr "\"shape\"-argumentet till inbyggd \"reshape\" vid %L måste vara en vektor av konstant storlek"
+
+-#: fortran/check.c:2241
++#: fortran/check.c:2235
+ #, no-c-format
+ msgid "'shape' argument of 'reshape' intrinsic at %L has more than %d elements"
+ msgstr "\"shape\"-argumentet till inbyggd \"reshape\" vid %L har mer än %d element"
+
+-#: fortran/check.c:2279
++#: fortran/check.c:2273
+ #, no-c-format
+ msgid "Without padding, there are not enough elements in the intrinsic RESHAPE source at %L to match the shape"
+ msgstr "Utan utfyllnad finns det inte tillräckligt med element i inbyggda RESHAPE-källan vid %L för att stämma med formen"
+
+-#: fortran/check.c:2364
++#: fortran/check.c:2358
+ #, no-c-format
+ msgid "Missing arguments to %s intrinsic at %L"
+ msgstr "Saknar argument till inbyggd %s vid %L"
+
+-#: fortran/check.c:2405
++#: fortran/check.c:2399
+ #, no-c-format
+ msgid "'source' argument of 'shape' intrinsic at %L must not be an assumed size array"
+ msgstr "\"source\"-argumentet till inbyggd \"shape\" vid %L får inte vara en vektor med antagen storlek"
+
+-#: fortran/check.c:2479
++#: fortran/check.c:2473
+ #, no-c-format
+ msgid "'%s' argument of '%s' intrinsic at %L must be less than rank %d"
+ msgstr "\"%s\"-argumentet till inbyggd \"%s\" vid %L måste vara av lägre ordning än %d"
+
+-#: fortran/check.c:2731
++#: fortran/check.c:2725
+ #, no-c-format
+ msgid "'MOLD' argument of 'TRANSFER' intrinsic at %L must not be %s"
+ msgstr "MOLD-argumentet till inbyggd \"TRANSFER\" vid %L måste vara %s"
+
+-#: fortran/check.c:3050
++#: fortran/check.c:3044
+ #, no-c-format
+ msgid "Too many arguments to %s at %L"
+ msgstr "För många argument till %s vid %L"
+
+-#: fortran/check.c:3162 fortran/check.c:3616 fortran/check.c:3640
++#: fortran/check.c:3156 fortran/check.c:3610 fortran/check.c:3634
+ #, no-c-format
+ msgid "'%s' argument of '%s' intrinsic at %L must be INTEGER or PROCEDURE"
+ msgstr "\"%s\"-argumentet till inbyggd \"%s\" vid %L måste vara INTEGER eller PROCEDURE"
+
+-#: fortran/check.c:3338
++#: fortran/check.c:3332
+ #, no-c-format
+ msgid "'%s' argument of '%s' intrinsic at %L must be of a kind not wider than the default kind (%d)"
+ msgstr "\"%s\"-argumentet till inbyggd \"%s\" vid %L måste ha en sort som inte är bredare än standardsorten (%d)"
+
+-#: fortran/check.c:3687 fortran/check.c:3695
++#: fortran/check.c:3681 fortran/check.c:3689
+ #, no-c-format
+ msgid "'%s' argument of '%s' intrinsic at %L must be INTEGER or LOGICAL"
+ msgstr "\"%s\"-argumentet till inbyggd \"%s\" vid %L måste vara INTEGER eller LOGICAL"
+@@ -4255,890 +4175,926 @@
+ msgid "'%s' at %L already is initialized at %L"
+ msgstr "\"%s\" vid %L är redan initierad vid %L"
+
+-#: fortran/data.c:412
++#: fortran/data.c:317
+ #, no-c-format
++msgid "Data element below array lower bound at %L"
++msgstr "Dataelement under undre vektorgräns vid %L"
++
++#: fortran/data.c:329
++#, no-c-format
++msgid "Data element above array upper bound at %L"
++msgstr "Dataelement ovanför övre vektorgräns vid %L"
++
++#: fortran/data.c:435
++#, no-c-format
+ msgid "Extension: re-initialization of '%s' at %L"
+ msgstr "Utökning: ominitiering av \"%s\" vid %L"
+
+-#: fortran/decl.c:254
++#: fortran/decl.c:253
+ #, no-c-format
+ msgid "Host associated variable '%s' may not be in the DATA statement at %C"
+ msgstr "Värdassocierad variabel \"%s\" får inte finnas i DATA-sats vid %C"
+
+-#: fortran/decl.c:261
++#: fortran/decl.c:260
+ #, no-c-format
+ msgid "Extension: initialization of common block variable '%s' in DATA statement at %C"
+ msgstr "Utökning: initiering av common-blockvariabel \"%s\" i DATA-sats vid %C"
+
+-#: fortran/decl.c:366
++#: fortran/decl.c:365
+ #, no-c-format
+ msgid "Symbol '%s' must be a PARAMETER in DATA statement at %C"
+ msgstr "Symbolen \"%s\" måste vara en PARAMETER i DATA-sats vid %C"
+
+-#: fortran/decl.c:470
++#: fortran/decl.c:390
+ #, no-c-format
++msgid "Invalid initializer %s in Data statement at %C"
++msgstr "Ogiltig initierare %s på DATA-sats vid %C"
++
++#: fortran/decl.c:493
++#, no-c-format
+ msgid "Initialization at %C is not allowed in a PURE procedure"
+ msgstr "Initieringen vid %C får inte förekomma i en PURE-procedur"
+
+-#: fortran/decl.c:529
++#: fortran/decl.c:552
+ #, no-c-format
+ msgid "DATA statement at %C is not allowed in a PURE procedure"
+ msgstr "DATA-sats vid %C får inte förekomma i en PURE-procedur"
+
+-#: fortran/decl.c:558
++#: fortran/decl.c:581
+ #, no-c-format
+ msgid "Bad INTENT specification at %C"
+ msgstr "Felaktig INTENT-specifikation vid %C"
+
+-#: fortran/decl.c:600
++#: fortran/decl.c:623
+ #, no-c-format
+ msgid "Conflict in attributes of function argument at %C"
+ msgstr "Konflikt i attribut för funktionsargument vid %C"
+
+-#: fortran/decl.c:647
++#: fortran/decl.c:676
+ #, no-c-format
+ msgid "Syntax error in character length specification at %C"
+ msgstr "Syntaxfel i specifikation av teckenlängd vid %C"
+
+-#: fortran/decl.c:757
++#: fortran/decl.c:795
+ #, no-c-format
+ msgid "Procedure '%s' at %C is already defined at %L"
+ msgstr "Proceduren \"%s\" vid %C är redan definierad vid %L"
+
+-#: fortran/decl.c:765
++#: fortran/decl.c:803
+ #, no-c-format
+ msgid "Name '%s' at %C is already defined as a generic interface at %L"
+ msgstr "Namnet \"%s\" vid %C är redan definierat som ett generiskt gränssnitt vid %L"
+
+-#: fortran/decl.c:778
++#: fortran/decl.c:816
+ #, no-c-format
+ msgid "Procedure '%s' at %C has an explicit interface and must not have attributes declared at %L"
+ msgstr "Proceduren \"%s\" vid %C har ett explicit gränssnitt och får inte ha attribut deklarerade vid %L"
+
+-#: fortran/decl.c:850
++#: fortran/decl.c:888
+ #, no-c-format
+ msgid "Procedure '%s' at %L must have the BIND(C) attribute to be C interoperable"
+ msgstr "Proceduren \"%s\" vid %L måste ha attributet BIND(C) för att vara C-interoperativ"
+
+-#: fortran/decl.c:880
++#: fortran/decl.c:918
+ #, no-c-format
+ msgid "Type '%s' at %L is a parameter to the BIND(C) procedure '%s' but is not C interoperable because derived type '%s' is not C interoperable"
+ msgstr "Typen \"%s\" vid %L är en parameter till BIND(C)-proceduren \"%s\" men är inte interoperativ med C för att den härledda typen \"%s\" inte är interoperativ med C"
+
+-#: fortran/decl.c:887
++#: fortran/decl.c:925
+ #, no-c-format
+ msgid "Variable '%s' at %L is a parameter to the BIND(C) procedure '%s' but may not be C interoperable"
+ msgstr "Variabeln \"%s\" vid %L är en parameter till BIND(C)-proceduren \"%s\" men är kanske inte interoperativ med C"
+
+-#: fortran/decl.c:902
++#: fortran/decl.c:940
+ #, no-c-format
+ msgid "Character argument '%s' at %L must be length 1 because procedure '%s' is BIND(C)"
+ msgstr "Teckenargument \"%s\" vid %L måste ha längden 1 eftersom proceduren \"%s\" är BIND(C)"
+
+-#: fortran/decl.c:916
++#: fortran/decl.c:954
+ #, no-c-format
+ msgid "Variable '%s' at %L cannot have the ALLOCATABLE attribute because procedure '%s' is BIND(C)"
+ msgstr "Variabeln \"%s\" vid %L kan inte ha attributet ALLOCATABLE eftersom proceduren \"%s\" är BIND(C)"
+
+-#: fortran/decl.c:925
++#: fortran/decl.c:963
+ #, no-c-format
+ msgid "Variable '%s' at %L cannot have the POINTER attribute because procedure '%s' is BIND(C)"
+ msgstr "Variabeln \"%s\" vid %L kan inte ha attributet POINTER eftersom proceduren \"%s\" är BIND(C)"
+
+-#: fortran/decl.c:934
++#: fortran/decl.c:972
+ #, no-c-format
+ msgid "Variable '%s' at %L cannot have the OPTIONAL attribute because procedure '%s' is BIND(C)"
+ msgstr "Variabeln \"%s\" vid %L kan inte ha attributet OPTIONAL eftersom proceduren \"%s\" är BIND(C)"
+
+-#: fortran/decl.c:947
++#: fortran/decl.c:985
+ #, no-c-format
+ msgid "Assumed-shape array '%s' at %L cannot be an argument to the procedure '%s' at %L because the procedure is BIND(C)"
+ msgstr "Vektorn \"%s\" med förmodad form vid %L kan inte vara ett argument till proceduren \"%s\" vid %L eftersom proceduren är BIND(C)"
+
+-#: fortran/decl.c:957
++#: fortran/decl.c:995
+ #, no-c-format
+ msgid "Deferred-shape array '%s' at %L cannot be an argument to the procedure '%s' at %L because the procedure is BIND(C)"
+ msgstr "Vektorn \"%s\" med fördröjd form vid %L kan inte vara ett argument till proceduren \"%s\" vid %L eftersom proceduren är BIND(C)"
+
+-#: fortran/decl.c:1033
++#: fortran/decl.c:1071
+ #, no-c-format
+ msgid "Variable '%s' in common block '%s' at %C must be declared with a C interoperable kind since common block '%s' is BIND(C)"
+ msgstr "Variabeln \"%s\" i common-blocket \"%s\" vid %C måste deklareras med en sort som är C-interoperativ eftersom common-blocket \"%s\" är BIND(C)"
+
+-#: fortran/decl.c:1069
++#: fortran/decl.c:1107
+ #, no-c-format
+ msgid "CHARACTER expression at %L is being truncated (%d/%d)"
+ msgstr "CHARACTER-uttryck vid %L huggs av (%d/%d)"
+
+-#: fortran/decl.c:1075
++#: fortran/decl.c:1113
+ #, no-c-format
+ msgid "The CHARACTER elements of the array constructor at %L must have the same length (%d/%d)"
+ msgstr "CHARACTER-elementen i vektorkonstrueraren vid %L måste ha samma längd (%d/%d)"
+
+-#: fortran/decl.c:1165
++#: fortran/decl.c:1203
+ #, no-c-format
+ msgid "Initializer not allowed for PARAMETER '%s' at %C"
+ msgstr "Initierare är inte tillåten för PARAMETER \"%s\" vid %C"
+
+-#: fortran/decl.c:1174
++#: fortran/decl.c:1213
+ #, no-c-format
+-msgid "Initializer not allowed for COMMON variable '%s' at %C"
+-msgstr "Initierare är inte tillåten för COMMON-variabel \"%s\" vid %C"
+-
+-#: fortran/decl.c:1184
+-#, no-c-format
+ msgid "PARAMETER at %L is missing an initializer"
+ msgstr "PARAMETER vid %L saknar en initierare"
+
+-#: fortran/decl.c:1194
++#: fortran/decl.c:1223
+ #, no-c-format
+ msgid "Variable '%s' at %C with an initializer already appears in a DATA statement"
+ msgstr "Variabeln \"%s\" vid %C med en initierare finns redan i en DATA-sats"
+
+-#: fortran/decl.c:1344
++#: fortran/decl.c:1373
+ #, no-c-format
+ msgid "Component at %C must have the POINTER attribute"
+ msgstr "Komponent vid %C måste ha attributet POINTER"
+
+-#: fortran/decl.c:1352
++#: fortran/decl.c:1381
+ #, no-c-format
+ msgid "Array component of structure at %C must have explicit or deferred shape"
+ msgstr "Vektorkomponent i post vid %C måste ha fördröjd form"
+
+-#: fortran/decl.c:1378
++#: fortran/decl.c:1425
+ #, no-c-format
+ msgid "Allocatable component at %C must be an array"
+ msgstr "Allokerbar komponent vid %C måste vara en vektor"
+
+-#: fortran/decl.c:1389
++#: fortran/decl.c:1436
+ #, no-c-format
+ msgid "Pointer array component of structure at %C must have a deferred shape"
+ msgstr "Pekarvektorkomponent i post vid %C måste ha fördröjd form"
+
+-#: fortran/decl.c:1398
++#: fortran/decl.c:1445
+ #, no-c-format
+ msgid "Allocatable component of structure at %C must have a deferred shape"
+ msgstr "Allokerbar komponent i post vid %C måste ha fördröjd form"
+
+-#: fortran/decl.c:1407
++#: fortran/decl.c:1454
+ #, no-c-format
+ msgid "Array component of structure at %C must have an explicit shape"
+ msgstr "Vektorkomponent i post vid %C måste ha uttrycklig form"
+
+-#: fortran/decl.c:1433
++#: fortran/decl.c:1480
+ #, no-c-format
+ msgid "NULL() initialization at %C is ambiguous"
+ msgstr "NULL()-initiering vid %C är tvetydig"
+
+-#: fortran/decl.c:1556 fortran/decl.c:5197
++#: fortran/decl.c:1603 fortran/decl.c:5395
+ #, no-c-format
+ msgid "Duplicate array spec for Cray pointee at %C"
+ msgstr "Dubblerad vektorspecifikation för Cray-utpekad vid vid %C"
+
+-#: fortran/decl.c:1616
++#: fortran/decl.c:1663
+ #, no-c-format
+ msgid "the type of '%s' at %C has not been declared within the interface"
+ msgstr "typen på \"%s\" vid %C har inte deklarerats inuti gränssnittet"
+
+-#: fortran/decl.c:1632
++#: fortran/decl.c:1679
+ #, no-c-format
+ msgid "Function name '%s' not allowed at %C"
+ msgstr "Funktionsnamnet \"%s\" är inte tillåtet vid %C"
+
+-#: fortran/decl.c:1648
++#: fortran/decl.c:1695
+ #, no-c-format
+ msgid "Extension: Old-style initialization at %C"
+ msgstr "Utökning: Gammaldags initiering vid %C"
+
+-#: fortran/decl.c:1663
++#: fortran/decl.c:1710
+ #, no-c-format
+ msgid "Initialization at %C isn't for a pointer variable"
+ msgstr "Initieringen vid %C är inte för en pekarvariabel"
+
+-#: fortran/decl.c:1671
++#: fortran/decl.c:1718
+ #, no-c-format
+ msgid "Pointer initialization requires a NULL() at %C"
+ msgstr "Pekarinitiering kräver en NULL() vid %C"
+
+-#: fortran/decl.c:1677
++#: fortran/decl.c:1724
+ #, no-c-format
+ msgid "Initialization of pointer at %C is not allowed in a PURE procedure"
+ msgstr "Initiering av pekare vid %C är inte tillåtet i en PURE-procedur"
+
+-#: fortran/decl.c:1690
++#: fortran/decl.c:1737
+ #, no-c-format
+ msgid "Pointer initialization at %C requires '=>', not '='"
+ msgstr "Pekarinitiering vid %C kräver \"=>\", inte \"=\""
+
+-#: fortran/decl.c:1699 fortran/decl.c:6129
++#: fortran/decl.c:1746 fortran/decl.c:6361
+ #, no-c-format
+ msgid "Expected an initialization expression at %C"
+ msgstr "Ett initieringsuttryck förväntades vid %C"
+
+-#: fortran/decl.c:1705
++#: fortran/decl.c:1752
+ #, no-c-format
+ msgid "Initialization of variable at %C is not allowed in a PURE procedure"
+ msgstr "Initiering av variabel vid %C är inte tillåtet i en PURE-procedur"
+
+-#: fortran/decl.c:1718
++#: fortran/decl.c:1765
+ #, no-c-format
+ msgid "Initialization of allocatable component at %C is not allowed"
+ msgstr "Initiering av allokerbar komponent vid %C är inte tillåtet"
+
+-#: fortran/decl.c:1772 fortran/decl.c:1781
++#: fortran/decl.c:1819 fortran/decl.c:1828
+ #, no-c-format
+ msgid "Old-style type declaration %s*%d not supported at %C"
+ msgstr "Gammaldags typdeklaration %s*%d stöds inte vid %C"
+
+-#: fortran/decl.c:1786
++#: fortran/decl.c:1833
+ #, no-c-format
+ msgid "Nonstandard type declaration %s*%d at %C"
+ msgstr "Typdeklaration ej enligt standard %s*%d vid %C"
+
+-#: fortran/decl.c:1838 fortran/decl.c:1897
++#: fortran/decl.c:1884 fortran/decl.c:1948
+ #, no-c-format
+ msgid "Missing right parenthesis at %C"
+ msgstr "Saknad högerparentes vid %C"
+
+-#: fortran/decl.c:1853 fortran/decl.c:1931
++#: fortran/decl.c:1897 fortran/decl.c:1993
+ #, no-c-format
+ msgid "Expected initialization expression at %C"
+ msgstr "Initieringsuttryck förväntades vid %C"
+
+-#: fortran/decl.c:1861 fortran/decl.c:1937
++#: fortran/decl.c:1905 fortran/decl.c:1999
+ #, no-c-format
+ msgid "Expected scalar initialization expression at %C"
+ msgstr "Ett skalärt initieringsuttryck förväntades vid %C"
+
+-#: fortran/decl.c:1891
++#: fortran/decl.c:1936
+ #, no-c-format
+ msgid "Kind %d not supported for type %s at %C"
+ msgstr "Sorten %d stöds inte för typen %s vid %C"
+
+-#: fortran/decl.c:1957
++#: fortran/decl.c:1946
+ #, no-c-format
++msgid "Missing right parenthesis or comma at %C"
++msgstr "PROGRAM"
++
++#: fortran/decl.c:2019
++#, no-c-format
+ msgid "Kind %d is not supported for CHARACTER at %C"
+ msgstr "Sorten %d stöds inte för typen CHARACTER vid %C"
+
+-#: fortran/decl.c:2086
++#: fortran/decl.c:2148
+ #, no-c-format
+ msgid "Syntax error in CHARACTER declaration at %C"
+ msgstr "Syntaxfel i CHARACTER-deklaration vid %C"
+
+-#: fortran/decl.c:2156
++#: fortran/decl.c:2233
+ #, no-c-format
+ msgid "Extension: BYTE type at %C"
+ msgstr "Utökning: BYTE-typ vid %C"
+
+-#: fortran/decl.c:2162
++#: fortran/decl.c:2239
+ #, no-c-format
+ msgid "BYTE type used at %C is not available on the target machine"
+ msgstr "BYTE-typ använd vid %C är inte tillgänglig på målmaskinen"
+
+-#: fortran/decl.c:2211
++#: fortran/decl.c:2288
+ #, no-c-format
+ msgid "DOUBLE COMPLEX at %C does not conform to the Fortran 95 standard"
+ msgstr "DOUBLE COMPLEX vid %C följer inte standarden för Fortran 95"
+
+-#: fortran/decl.c:2245 fortran/decl.c:2252 fortran/decl.c:2558
+-#: fortran/decl.c:2566
++#: fortran/decl.c:2328 fortran/decl.c:2337 fortran/decl.c:2649
++#: fortran/decl.c:2657
+ #, no-c-format
+ msgid "Type name '%s' at %C is ambiguous"
+ msgstr "Typnamnet \"%s\" vid %C är tvetydigt"
+
+-#: fortran/decl.c:2321
++#: fortran/decl.c:2412
+ #, no-c-format
+ msgid "Missing character range in IMPLICIT at %C"
+ msgstr "Teckenintervall saknas i IMPLICIT vid %C"
+
+-#: fortran/decl.c:2367
++#: fortran/decl.c:2458
+ #, no-c-format
+ msgid "Letters must be in alphabetic order in IMPLICIT statement at %C"
+ msgstr "Bokstäver måste vara i alfabetisk ordning i IMPLICIT-sats vid %C"
+
+-#: fortran/decl.c:2421
++#: fortran/decl.c:2512
+ #, no-c-format
+ msgid "Empty IMPLICIT statement at %C"
+ msgstr "Tom IMPLICIT-sats vid %C"
+
+-#: fortran/decl.c:2524
++#: fortran/decl.c:2615
+ #, no-c-format
+ msgid "IMPORT statement at %C only permitted in an INTERFACE body"
+ msgstr "IMPORT-sats vid %C endast tillåten inuti en INTERFACE-kropp"
+
+-#: fortran/decl.c:2529
++#: fortran/decl.c:2620
+ #, no-c-format
+ msgid "Fortran 2003: IMPORT statement at %C"
+ msgstr "Fortran 2003: IMPORT-sats vid %C"
+
+-#: fortran/decl.c:2544
++#: fortran/decl.c:2635
+ #, no-c-format
+ msgid "Expecting list of named entities at %C"
+ msgstr "Lista med namngivna entiteter förväntades vid %C"
+
+-#: fortran/decl.c:2572
++#: fortran/decl.c:2663
+ #, no-c-format
+ msgid "Cannot IMPORT '%s' from host scoping unit at %C - does not exist."
+ msgstr "Det går inte att IMPORT:era \"%s\" från värdräckviddsenhet vid %C - existerar inte."
+
+-#: fortran/decl.c:2579
++#: fortran/decl.c:2670
+ #, no-c-format
+ msgid "'%s' is already IMPORTed from host scoping unit at %C."
+ msgstr "\"%s\" är redan IMPORT:erad från värdräckviddsenhet vid %C."
+
+-#: fortran/decl.c:2608
++#: fortran/decl.c:2699
+ #, no-c-format
+ msgid "Syntax error in IMPORT statement at %C"
+ msgstr "Syntaxfel i IMPORT-sats vid %C"
+
+-#: fortran/decl.c:2850
++#: fortran/decl.c:2941
+ #, no-c-format
+ msgid "Missing dimension specification at %C"
+ msgstr "Dimensionsspecifikation saknas vid %C"
+
+-#: fortran/decl.c:2924
++#: fortran/decl.c:3015
+ #, no-c-format
+ msgid "Duplicate %s attribute at %L"
+ msgstr "Dubblerat %s-attribut vid %L"
+
+-#: fortran/decl.c:2943
++#: fortran/decl.c:3034
+ #, no-c-format
+ msgid "Fortran 2003: ALLOCATABLE attribute at %C in a TYPE definition"
+ msgstr "Fortran 2003: attributet ALLOCATABLE vid %C i en TYPE-definition"
+
+-#: fortran/decl.c:2953
++#: fortran/decl.c:3044
+ #, no-c-format
+ msgid "Attribute at %L is not allowed in a TYPE definition"
+ msgstr "Attribut vid %L är inte tillåtet i en TYPE-definition"
+
+-#: fortran/decl.c:2971
++#: fortran/decl.c:3062
+ #, no-c-format
+ msgid "Fortran 2003: Attribute %s at %L in a TYPE definition"
+ msgstr "Fortran 2003: Attribut %s vid %L i en TYPE-definition"
+
+-#: fortran/decl.c:2982
++#: fortran/decl.c:3073
+ #, no-c-format
+ msgid "%s attribute at %L is not allowed outside of the specification part of a module"
+ msgstr "%s-attribut vid %L är inte tillåtet utanför specifikationsdelen av en modul"
+
+-#: fortran/decl.c:3034 fortran/decl.c:5437
++#: fortran/decl.c:3125 fortran/decl.c:5635
+ #, no-c-format
+ msgid "PROTECTED at %C only allowed in specification part of a module"
+ msgstr "PROTECTED vid %C är endast tillåtet i specifikation av en del av en modul"
+
+-#: fortran/decl.c:3040
++#: fortran/decl.c:3131
+ #, no-c-format
+ msgid "Fortran 2003: PROTECTED attribute at %C"
+ msgstr "Fortran 2003: PROTECTED-attribut vid %C"
+
+-#: fortran/decl.c:3071
++#: fortran/decl.c:3162
+ #, no-c-format
+ msgid "Fortran 2003: VALUE attribute at %C"
+ msgstr "Fortran 2003: VALUE-attribut vid %C"
+
+-#: fortran/decl.c:3081
++#: fortran/decl.c:3172
+ #, no-c-format
+ msgid "Fortran 2003: VOLATILE attribute at %C"
+ msgstr "Fortran 2003: VOLATILE-attribut vid %C"
+
+-#: fortran/decl.c:3121
++#: fortran/decl.c:3212
+ #, no-c-format
+ msgid "Multiple identifiers provided with single NAME= specifier at %C"
+ msgstr "Flera identifierare angivna med en ensam NAME=-specificerare vid %C"
+
+ #. Print an error, but continue parsing line.
+-#: fortran/decl.c:3171
++#: fortran/decl.c:3261
+ #, no-c-format
+ msgid "C kind parameter is for type %s but symbol '%s' at %L is of type %s"
+ msgstr "Parameter med sort C är för typ %s men symbolen \"%s\" vid %L är av typ %s"
+
+-#: fortran/decl.c:3235
++#: fortran/decl.c:3325
+ #, no-c-format
+ msgid "Implicitly declared BIND(C) function '%s' at %L may not be C interoperable"
+ msgstr "Implicit deklarerad BIND(C)-funktion \"%s\" vid %L kan inte vara C-interoperativ"
+
+-#: fortran/decl.c:3257
++#: fortran/decl.c:3347
+ #, no-c-format
+ msgid "Variable '%s' in common block '%s' at %L may not be a C interoperable kind though common block '%s' is BIND(C)"
+ msgstr "Variabeln \"%s\" i common-blocket \"%s\" vid %L får inte vara en sort interoperativ med C men common-blocket \"%s\" är BIND(C)"
+
+-#: fortran/decl.c:3266
++#: fortran/decl.c:3356
+ #, no-c-format
+ msgid "Type declaration '%s' at %L is not C interoperable but it is BIND(C)"
+ msgstr "Typdeklaration \"%s\" vid %L är inte C-interoperativ men den är BIND(C)"
+
+-#: fortran/decl.c:3270
++#: fortran/decl.c:3360
+ #, no-c-format
+ msgid "Variable '%s' at %L may not be a C interoperable kind but it is bind(c)"
+ msgstr "Variabeln \"%s\" vid %L får inte ha en C-interoperativ sort men den är bind(c)"
+
+-#: fortran/decl.c:3282
++#: fortran/decl.c:3372
+ #, no-c-format
+ msgid "Variable '%s' in common block '%s' at %L cannot be declared with BIND(C) since it is not a global"
+ msgstr "Variabeln \"%s\" i common-blocket \"%s\" vid %L får inte deklareras med BIND(C) eftersom den inte är en global"
+
+-#: fortran/decl.c:3296
++#: fortran/decl.c:3386
+ #, no-c-format
+ msgid "Variable '%s' at %L cannot have both the POINTER and BIND(C) attributes"
+ msgstr "Variabeln \"%s\" vid %L får inte ha både attributet POINTER och BIND(C)"
+
+-#: fortran/decl.c:3304
++#: fortran/decl.c:3394
+ #, no-c-format
+ msgid "Variable '%s' at %L cannot have both the ALLOCATABLE and BIND(C) attributes"
+ msgstr "Variabeln \"%s\" vid %L får inte ha både attributet ALLOCATABLE och BIND(C)"
+
+-#: fortran/decl.c:3314
++#: fortran/decl.c:3404
+ #, no-c-format
+ msgid "Return type of BIND(C) function '%s' at %L cannot be an array"
+ msgstr "Returtyp till BIND(C)-funktion \"%s\" vid %L kan inte vara en vektor"
+
+-#: fortran/decl.c:3322
++#: fortran/decl.c:3412
+ #, no-c-format
+ msgid "Return type of BIND(C) function '%s' at %L cannot be a character string"
+ msgstr "Returtyp till BIND(C)-funktion \"%s\" vid %L kan inte vara en teckensträng"
+
+ #. Use gfc_warning_now because we won't say that the symbol fails
+ #. just because of this.
+-#: fortran/decl.c:3334
++#: fortran/decl.c:3424
+ #, no-c-format
+ msgid "Symbol '%s' at %L is marked PRIVATE but has been given the binding label '%s'"
+ msgstr "Symbolen \"%s\" vid %L är markerad PRIVATE men har getts bindningsetiketten \"%s\""
+
+-#: fortran/decl.c:3409
++#: fortran/decl.c:3499
+ #, no-c-format
+ msgid "Need either entity or common block name for attribute specification statement at %C"
+ msgstr "Det behövs antingen entitet- eller common-blocknamn för attributspecifikationssatsen vid %C"
+
+-#: fortran/decl.c:3456
++#: fortran/decl.c:3546
+ #, no-c-format
+ msgid "Missing entity or common block name for attribute specification statement at %C"
+ msgstr "Entitets- eller common-blocknamn saknas till attributspecifikationssats vid %C"
+
+ #. Now we have an error, which we signal, and then fix up
+ #. because the knock-on is plain and simple confusing.
+-#: fortran/decl.c:3563
++#: fortran/decl.c:3653
+ #, no-c-format
+ msgid "Derived type at %C has not been previously defined and so cannot appear in a derived type definition"
+ msgstr "Härledd typ vid %C har inte definierats tidigare och kan därför inte förekomma i en härledd typdefinition"
+
+-#: fortran/decl.c:3595
++#: fortran/decl.c:3685
+ #, no-c-format
+ msgid "Syntax error in data declaration at %C"
+ msgstr "Syntaxfel i datadeklaration vid %C"
+
+-#: fortran/decl.c:3742
++#: fortran/decl.c:3832
+ #, no-c-format
+ msgid "Name '%s' at %C is the name of the procedure"
+ msgstr "Namnet \"%s\" vid %C är namnet på proceduren"
+
+-#: fortran/decl.c:3754
++#: fortran/decl.c:3844
+ #, no-c-format
+ msgid "Unexpected junk in formal argument list at %C"
+ msgstr "Oväntat skräp i formell argumentlista vid %C"
+
+-#: fortran/decl.c:3771
++#: fortran/decl.c:3861
+ #, no-c-format
+ msgid "Duplicate symbol '%s' in formal argument list at %C"
+ msgstr "Dubblerad symbol \"%s\" i formell argumentlista vid %C"
+
+-#: fortran/decl.c:3822
++#: fortran/decl.c:3912
+ #, no-c-format
+ msgid "RESULT variable at %C must be different than function name"
+ msgstr "RESULT-variabel vid %C måste vara skilt från funktionsnamnet"
+
+-#: fortran/decl.c:3892
++#: fortran/decl.c:3990
+ #, no-c-format
+ msgid "Unexpected junk after function declaration at %C"
+ msgstr "Oväntat skräp efter funktionsdeklaration vid %C"
+
+-#: fortran/decl.c:3951
++#: fortran/decl.c:4000 fortran/decl.c:4734
+ #, no-c-format
++msgid "Extension: BIND(C) attribute at %L may not be specified for an internal procedure"
++msgstr "Utvidgning: BIND(C)-attribut vid %L kan inte anges i en intern procedur"
++
++#: fortran/decl.c:4066
++#, no-c-format
+ msgid "Interface '%s' at %C may not be generic"
+ msgstr "Gränssnitt \"%s\" vid %C kan inte vara generiskt"
+
+-#: fortran/decl.c:3956
++#: fortran/decl.c:4071
+ #, no-c-format
+ msgid "Interface '%s' at %C may not be a statement function"
+ msgstr "Gränssnitt \"%s\" vid %C kan inte vara en satsfunktion"
+
+-#: fortran/decl.c:3967
++#: fortran/decl.c:4082
+ #, no-c-format
+ msgid "Intrinsic procedure '%s' not allowed in PROCEDURE statement at %C"
+ msgstr "Den inbyggda proceduren \"%s\" är inte tillåten i PROCEDURE-sats vid %C"
+
+-#: fortran/decl.c:3975
++#: fortran/decl.c:4118
+ #, no-c-format
+-msgid "Fortran 2003: Support for intrinsic procedure '%s' in PROCEDURE statement at %C not yet implemented in gfortran"
+-msgstr "Fortran 2003: Stöd för inbyggd procedur \"%s\" i PROCEDURE-sats vid %C är inte implementerat i gfortran ännu"
+-
+-#: fortran/decl.c:4014
+-#, no-c-format
+ msgid "BIND(C) attribute at %C requires an interface with BIND(C)"
+ msgstr "Attribut BIND(C) vid %C kräver ett gränssnitt med BIND(C)"
+
+-#: fortran/decl.c:4021
++#: fortran/decl.c:4125
+ #, no-c-format
+ msgid "BIND(C) procedure with NAME may not have POINTER attribute at %C"
+ msgstr "BIND(C)-procedur med NAME får inte ha attributet POINTER vid %C"
+
+-#: fortran/decl.c:4027
++#: fortran/decl.c:4131
+ #, no-c-format
+ msgid "Dummy procedure at %C may not have BIND(C) attribute with NAME"
+ msgstr "Attrapprocedur vid %C kan inte ha attributet BIND(c) tillsammans med NAME"
+
+-#: fortran/decl.c:4060 fortran/decl.c:4103
++#: fortran/decl.c:4167 fortran/decl.c:4210
+ #, no-c-format
+ msgid "Syntax error in PROCEDURE statement at %C"
+ msgstr "Syntaxfel i PROCEDURE-sats vid %C"
+
+-#: fortran/decl.c:4077
++#: fortran/decl.c:4184
+ #, no-c-format
+ msgid "PROCEDURE at %C must be in a generic interface"
+ msgstr "PROCEDURE vid %C måste vara i ett generiskt gränssnitt"
+
+-#: fortran/decl.c:4128
++#: fortran/decl.c:4235
+ #, no-c-format
+ msgid "Fortran 2003: Procedure components at %C are not yet implemented in gfortran"
+ msgstr "Fortran 2003: Procedurkomponenter vid %C är inte implementerade ännu i gfortran"
+
+-#: fortran/decl.c:4138
++#: fortran/decl.c:4245
+ #, no-c-format
+ msgid "Fortran 2003: PROCEDURE statement at %C"
+ msgstr "Fortran 2003: PROCEDURE-sats vid %C"
+
+-#: fortran/decl.c:4186
++#: fortran/decl.c:4293
+ #, no-c-format
+ msgid "Expected formal argument list in function definition at %C"
+ msgstr "Formell argumentlista förväntades i funktionsdefinitionen vid %C"
+
+-#: fortran/decl.c:4210 fortran/decl.c:4214 fortran/decl.c:4536
+-#: fortran/decl.c:4540 fortran/symbol.c:1402
++#: fortran/decl.c:4317 fortran/decl.c:4321 fortran/decl.c:4520
++#: fortran/decl.c:4524 fortran/decl.c:4702 fortran/decl.c:4706
++#: fortran/symbol.c:1402
+ #, no-c-format
+ msgid "BIND(C) attribute at %L can only be used for variables or common blocks"
+ msgstr "Attribut BIND(C) vid %L kan endast användas för variabler och common-block"
+
+-#: fortran/decl.c:4246
++#: fortran/decl.c:4353
+ #, no-c-format
+ msgid "Function '%s' at %C already has a type of %s"
+ msgstr "Funktionen \"%s\" vid %C har redan typen %s"
+
+-#: fortran/decl.c:4322
++#: fortran/decl.c:4441
+ #, no-c-format
+ msgid "ENTRY statement at %C cannot appear within a PROGRAM"
+ msgstr "ENTRY-sats vid %C kan inte förekomma inuti ett PROGRAM"
+
+-#: fortran/decl.c:4325
++#: fortran/decl.c:4444
+ #, no-c-format
+ msgid "ENTRY statement at %C cannot appear within a MODULE"
+ msgstr "ENTRY-sats vid %C kan inte förekomma inuti en MODULE"
+
+-#: fortran/decl.c:4328
++#: fortran/decl.c:4447
+ #, no-c-format
+ msgid "ENTRY statement at %C cannot appear within a BLOCK DATA"
+ msgstr "ENTRY-sats vid %C kan inte förekomma inuti ett BLOCK DATA"
+
+-#: fortran/decl.c:4332
++#: fortran/decl.c:4451
+ #, no-c-format
+ msgid "ENTRY statement at %C cannot appear within an INTERFACE"
+ msgstr "ENTRY-sats vid %C kan inte förekomma inuti ett INTERFACE"
+
+-#: fortran/decl.c:4336
++#: fortran/decl.c:4455
+ #, no-c-format
+ msgid "ENTRY statement at %C cannot appear within a DERIVED TYPE block"
+ msgstr "ENTRY-sats vid %C kan inte förekomma inuti en ett DERIVED TYPE-block"
+
+-#: fortran/decl.c:4340
++#: fortran/decl.c:4459
+ #, no-c-format
+ msgid "ENTRY statement at %C cannot appear within an IF-THEN block"
+ msgstr "ENTRY-sats vid %C kan inte förekomma inuti ett IF-THEN-block"
+
+-#: fortran/decl.c:4344
++#: fortran/decl.c:4463
+ #, no-c-format
+ msgid "ENTRY statement at %C cannot appear within a DO block"
+ msgstr "ENTRY-sats vid %C kan inte förekomma inuti ett DO-block"
+
+-#: fortran/decl.c:4348
++#: fortran/decl.c:4467
+ #, no-c-format
+ msgid "ENTRY statement at %C cannot appear within a SELECT block"
+ msgstr "ENTRY-sats vid %C kan inte förekomma inuti ett SELECT-block"
+
+-#: fortran/decl.c:4352
++#: fortran/decl.c:4471
+ #, no-c-format
+ msgid "ENTRY statement at %C cannot appear within a FORALL block"
+ msgstr "ENTRY-sats vid %C kan inte förekomma inuti ett FORALL-block"
+
+-#: fortran/decl.c:4356
++#: fortran/decl.c:4475
+ #, no-c-format
+ msgid "ENTRY statement at %C cannot appear within a WHERE block"
+ msgstr "ENTRY-sats vid %C kan inte förekomma inuti ett WHERE-block"
+
+-#: fortran/decl.c:4360
++#: fortran/decl.c:4479
+ #, no-c-format
+ msgid "ENTRY statement at %C cannot appear within a contained subprogram"
+ msgstr "ENTRY-sats vid %C kan inte förekomma inuti ett inneslutet underprogram"
+
+-#: fortran/decl.c:4378
++#: fortran/decl.c:4497
+ #, no-c-format
+ msgid "ENTRY statement at %C cannot appear in a contained procedure"
+ msgstr "ENTRY-sats vid %C kan inte förekomma i en innesluten procedur"
+
+-#: fortran/decl.c:4560
++#: fortran/decl.c:4552 fortran/decl.c:4742
+ #, no-c-format
+ msgid "Missing required parentheses before BIND(C) at %C"
+ msgstr "Nödvändig parentes saknas före BIND(C) vid %C"
+
+-#: fortran/decl.c:4618 fortran/decl.c:4634
++#: fortran/decl.c:4801 fortran/decl.c:4817
+ #, no-c-format
+ msgid "Syntax error in NAME= specifier for binding label at %C"
+ msgstr "Syntaxfel i NAME=-specifikation för att binda etikett vid %C"
+
+-#: fortran/decl.c:4649
++#: fortran/decl.c:4832
+ #, no-c-format
+ msgid "Missing closing quote '\"' for binding label at %C"
+ msgstr "Avslutande citationstecken '\"' saknas för att binda etikett vid %C"
+
+-#: fortran/decl.c:4658
++#: fortran/decl.c:4841
+ #, no-c-format
+ msgid "Missing closing quote ''' for binding label at %C"
+ msgstr "Avslutande citationstecken \"'\" saknas för att binda etikett vid %C"
+
+-#: fortran/decl.c:4668
++#: fortran/decl.c:4851
+ #, no-c-format
+ msgid "Missing closing paren for binding label at %C"
+ msgstr "Slutparentes saknas för att binda etikett vid %C"
+
+-#: fortran/decl.c:4703
++#: fortran/decl.c:4857
+ #, no-c-format
++msgid "No binding name is allowed in BIND(C) at %C"
++msgstr "Inget bindningsnamn är tillåtet i BIND(C) vid %C"
++
++#: fortran/decl.c:4863
++#, no-c-format
++msgid "For dummy procedure %s, no binding name is allowed in BIND(C) at %C"
++msgstr "För attrapprocedur %s är inget bindningsnamn tillåtet i BIND(C) vid %C"
++
++#: fortran/decl.c:4894
++#, no-c-format
+ msgid "NAME not allowed on BIND(C) for ABSTRACT INTERFACE at %C"
+ msgstr "NAME är inte tillåtet på BIND(C) för ABSTRACT INTERFACE vid %C"
+
+-#: fortran/decl.c:4876
++#: fortran/decl.c:5066
+ #, no-c-format
+ msgid "Unexpected END statement at %C"
+ msgstr "Oväntad END-sats vid %C"
+
+ #. We would have required END [something].
+-#: fortran/decl.c:4885
++#: fortran/decl.c:5075
+ #, no-c-format
+ msgid "%s statement expected at %L"
+ msgstr "%s-sats förväntades vid %L"
+
+-#: fortran/decl.c:4896
++#: fortran/decl.c:5086
+ #, no-c-format
+ msgid "Expecting %s statement at %C"
+ msgstr "%s-sats förväntades vid %C"
+
+-#: fortran/decl.c:4911
++#: fortran/decl.c:5101
+ #, no-c-format
+ msgid "Expected block name of '%s' in %s statement at %C"
+ msgstr "Blocknamn på \"%s\" i %s-sats förväntades vid %C"
+
+-#: fortran/decl.c:4928
++#: fortran/decl.c:5118
+ #, no-c-format
+ msgid "Expected terminating name at %C"
+ msgstr "Avslutande namn förväntades vid %C"
+
+-#: fortran/decl.c:4937
++#: fortran/decl.c:5127
+ #, no-c-format
+ msgid "Expected label '%s' for %s statement at %C"
+ msgstr "Etikett \"%s\" för %s-sats förväntades vid %C"
+
+-#: fortran/decl.c:4991
++#: fortran/decl.c:5181
+ #, no-c-format
+ msgid "Missing array specification at %L in DIMENSION statement"
+ msgstr "Vektorspecifikation saknas vid %L i DIMENSION-sats"
+
+-#: fortran/decl.c:5000
++#: fortran/decl.c:5189
+ #, no-c-format
++msgid "Dimensions specified for %s at %L after its initialisation"
++msgstr "Dimensioner angivna för %s vid %L efter dess initiering"
++
++#: fortran/decl.c:5198
++#, no-c-format
+ msgid "Array specification must be deferred at %L"
+ msgstr "Vektorspecifikation måste vara fördröjd vid %L"
+
+-#: fortran/decl.c:5077
++#: fortran/decl.c:5275
+ #, no-c-format
+ msgid "Unexpected character in variable list at %C"
+ msgstr "Oväntat tecken i variabellista vid %C"
+
+-#: fortran/decl.c:5114
++#: fortran/decl.c:5312
+ #, no-c-format
+ msgid "Expected '(' at %C"
+ msgstr "\"(\" förväntades vid %C"
+
+-#: fortran/decl.c:5128 fortran/decl.c:5168
++#: fortran/decl.c:5326 fortran/decl.c:5366
+ #, no-c-format
+ msgid "Expected variable name at %C"
+ msgstr "Variabelnamn förväntades vid %C"
+
+-#: fortran/decl.c:5144
++#: fortran/decl.c:5342
+ #, no-c-format
+ msgid "Cray pointer at %C must be an integer"
+ msgstr "Cray-pekare vid %C måste vara ett heltal"
+
+-#: fortran/decl.c:5148
++#: fortran/decl.c:5346
+ #, no-c-format
+ msgid "Cray pointer at %C has %d bytes of precision; memory addresses require %d bytes"
+ msgstr "Cray-pekare vid %C har %d bytes precision, minnesadresser kräver %d byte"
+
+-#: fortran/decl.c:5154
++#: fortran/decl.c:5352
+ #, no-c-format
+ msgid "Expected \",\" at %C"
+ msgstr "\",\" förväntades vid %C"
+
+-#: fortran/decl.c:5217
++#: fortran/decl.c:5415
+ #, no-c-format
+ msgid "Expected \")\" at %C"
+ msgstr "\")\" förväntades vid %C"
+
+-#: fortran/decl.c:5229
++#: fortran/decl.c:5427
+ #, no-c-format
+ msgid "Expected \",\" or end of statement at %C"
+ msgstr "\",\" ellerslut på sats förväntades vid %C"
+
+-#: fortran/decl.c:5293
++#: fortran/decl.c:5491
+ #, no-c-format
+ msgid "Cray pointer declaration at %C requires -fcray-pointer flag"
+ msgstr "Cray-pekardeklaration vid %C kräver flaggan -fcray-pointer"
+
+-#: fortran/decl.c:5388
++#: fortran/decl.c:5586
+ #, no-c-format
+ msgid "Access specification of the %s operator at %C has already been specified"
+ msgstr "Åtkomstspecifikation av operatorn %s vid %C har redan angivits"
+
+-#: fortran/decl.c:5405
++#: fortran/decl.c:5603
+ #, no-c-format
+ msgid "Access specification of the .%s. operator at %C has already been specified"
+ msgstr "Åtkomstspecifikation för operatorn .%s. vid %C har redan angivits"
+
+-#: fortran/decl.c:5443
++#: fortran/decl.c:5641
+ #, no-c-format
+ msgid "Fortran 2003: PROTECTED statement at %C"
+ msgstr "Fortran 2003: PROTECTED-sats vid %C"
+
+-#: fortran/decl.c:5483
++#: fortran/decl.c:5681
+ #, no-c-format
+ msgid "Syntax error in PROTECTED statement at %C"
+ msgstr "Syntaxfel i PROTECTED-sats vid %C"
+
+-#: fortran/decl.c:5504
++#: fortran/decl.c:5702
+ #, no-c-format
+ msgid "PRIVATE statement at %C is only allowed in the specification part of a module"
+ msgstr "PRIVATE-sats vid %C får endast förekomma i specifikationsdelen av en modul"
+
+-#: fortran/decl.c:5541
++#: fortran/decl.c:5739
+ #, no-c-format
+ msgid "PUBLIC statement at %C is only allowed in the specification part of a module"
+ msgstr "PUBLIC-sats vid %C får endast förekomma i specifikationsdelen av en modul"
+
+-#: fortran/decl.c:5568
++#: fortran/decl.c:5766
+ #, no-c-format
+ msgid "Expected variable name at %C in PARAMETER statement"
+ msgstr "Variabelnamn förväntades vid %C i PARAMETER-sats"
+
+-#: fortran/decl.c:5575
++#: fortran/decl.c:5773
+ #, no-c-format
+ msgid "Expected = sign in PARAMETER statement at %C"
+ msgstr "=-tecken i PARAMETER-sats förväntades vid %C"
+
+-#: fortran/decl.c:5581
++#: fortran/decl.c:5779
+ #, no-c-format
+ msgid "Expected expression at %C in PARAMETER statement"
+ msgstr "Uttryck förväntades vid %C i PARAMETER-sats"
+
+-#: fortran/decl.c:5639
++#: fortran/decl.c:5799
+ #, no-c-format
++msgid "Initializing already initialized variable at %C"
++msgstr "Initierar redan initierad variabel vid %C"
++
++#: fortran/decl.c:5844
++#, no-c-format
+ msgid "Unexpected characters in PARAMETER statement at %C"
+ msgstr "Oväntade tecken i PARAMETER-sats vid %C"
+
+-#: fortran/decl.c:5663
++#: fortran/decl.c:5868
+ #, no-c-format
+ msgid "Blanket SAVE statement at %C follows previous SAVE statement"
+ msgstr "Allmän SAVE-sats vid %C följer tidigare SAVE-sats"
+
+-#: fortran/decl.c:5675
++#: fortran/decl.c:5880
+ #, no-c-format
+ msgid "SAVE statement at %C follows blanket SAVE statement"
+ msgstr "SAVE-sats vid %C följer allmän SAVE-sats"
+
+-#: fortran/decl.c:5722
++#: fortran/decl.c:5927
+ #, no-c-format
+ msgid "Syntax error in SAVE statement at %C"
+ msgstr "Syntaxfel i SAVE-sats vid %C"
+
+-#: fortran/decl.c:5733
++#: fortran/decl.c:5938
+ #, no-c-format
+ msgid "Fortran 2003: VALUE statement at %C"
+ msgstr "Fortran 2003: VALUE-sats vid %C"
+
+-#: fortran/decl.c:5773
++#: fortran/decl.c:5978
+ #, no-c-format
+ msgid "Syntax error in VALUE statement at %C"
+ msgstr "Syntaxfel i VALUE-sats vid %C"
+
+-#: fortran/decl.c:5784
++#: fortran/decl.c:5989
+ #, no-c-format
+ msgid "Fortran 2003: VOLATILE statement at %C"
+ msgstr "Fortran 2003: VOLATILE-sats vid %C"
+
+-#: fortran/decl.c:5826
++#: fortran/decl.c:6031
+ #, no-c-format
+ msgid "Syntax error in VOLATILE statement at %C"
+ msgstr "Syntaxfel i VOLATILE-sats vid %C"
+
+-#: fortran/decl.c:5848
++#: fortran/decl.c:6054
+ #, no-c-format
+ msgid "MODULE PROCEDURE at %C must be in a generic module interface"
+ msgstr "MODULE PROCEDURE vid %C måste vara i ett generiskt modulgränssnitt"
+
+-#: fortran/decl.c:5910
++#: fortran/decl.c:6142
+ #, no-c-format
+ msgid "Derived type at %C can only be PRIVATE in the specification part of a module"
+ msgstr "Härledd typ vid %C kan endast vara PRIVATE i specifikationsdelen av en modul"
+
+-#: fortran/decl.c:5922
++#: fortran/decl.c:6154
+ #, no-c-format
+ msgid "Derived type at %C can only be PUBLIC in the specification part of a module"
+ msgstr "Härledd typ vid %C kan endast vara PUBLIC i specifikationsdelen av en modul"
+
+-#: fortran/decl.c:5979
++#: fortran/decl.c:6211
+ #, no-c-format
+ msgid "Expected :: in TYPE definition at %C"
+ msgstr ":: förväntades i TYPE-definition vid %C"
+
+-#: fortran/decl.c:5990
++#: fortran/decl.c:6222
+ #, no-c-format
+ msgid "Type name '%s' at %C cannot be the same as an intrinsic type"
+ msgstr "Typnamnet \"%s\" vid %C kan inte vara samma som en inbyggd typ"
+
+-#: fortran/decl.c:6000
++#: fortran/decl.c:6232
+ #, no-c-format
+ msgid "Derived type name '%s' at %C already has a basic type of %s"
+ msgstr "Härlett typnamn \"%s\" vid %C har redan en grundtyp %s"
+
+-#: fortran/decl.c:6016
++#: fortran/decl.c:6248
+ #, no-c-format
+ msgid "Derived type definition of '%s' at %C has already been defined"
+ msgstr "Härledd typdefinition \"%s\" vid %C har redan definierats"
+
+-#: fortran/decl.c:6054
++#: fortran/decl.c:6286
+ #, no-c-format
+ msgid "Cray Pointee at %C cannot be assumed shape array"
+ msgstr "Cray-utpekad vid %C kan inte vara förmodat formad vektor"
+
+-#: fortran/decl.c:6074
++#: fortran/decl.c:6306
+ #, no-c-format
+ msgid "Fortran 2003: ENUM and ENUMERATOR at %C"
+ msgstr "Fortran 2003: ENUM och ENUMERATOR vid %C"
+
+-#: fortran/decl.c:6146
++#: fortran/decl.c:6378
+ #, no-c-format
+ msgid "ENUMERATOR %L not initialized with integer expression"
+ msgstr "ENUMERATOR %L är inte initierad med ett heltalsuttryck"
+
+-#: fortran/decl.c:6195
++#: fortran/decl.c:6427
+ #, no-c-format
+ msgid "ENUM definition statement expected before %C"
+ msgstr "ENUM-definitionssats förväntades före %C"
+
+-#: fortran/decl.c:6228
++#: fortran/decl.c:6460
+ #, no-c-format
+ msgid "Syntax error in ENUMERATOR definition at %C"
+ msgstr "Syntaxfel i ENUMERATOR-definition vid %C"
+@@ -5153,21 +5109,21 @@
+ msgid " "
+ msgstr " "
+
+-#: fortran/dump-parse-tree.c:73 fortran/dump-parse-tree.c:626
++#: fortran/dump-parse-tree.c:73 fortran/dump-parse-tree.c:637
+ #, c-format
+ msgid "(%s "
+ msgstr "(%s "
+
+-#: fortran/dump-parse-tree.c:86 fortran/dump-parse-tree.c:1069
+-#: fortran/dump-parse-tree.c:1113 fortran/dump-parse-tree.c:1123
++#: fortran/dump-parse-tree.c:86 fortran/dump-parse-tree.c:1091
++#: fortran/dump-parse-tree.c:1135 fortran/dump-parse-tree.c:1145
+ #, c-format
+ msgid "%d"
+ msgstr "%d"
+
+ #: fortran/dump-parse-tree.c:90 fortran/dump-parse-tree.c:116
+ #: fortran/dump-parse-tree.c:159 fortran/dump-parse-tree.c:395
+-#: fortran/dump-parse-tree.c:518 fortran/dump-parse-tree.c:613
+-#: fortran/dump-parse-tree.c:636
++#: fortran/dump-parse-tree.c:518 fortran/dump-parse-tree.c:624
++#: fortran/dump-parse-tree.c:647
+ #, c-format
+ msgid ")"
+ msgstr ")"
+@@ -5305,7 +5261,7 @@
+ msgid "%.2x"
+ msgstr "%.2x"
+
+-#: fortran/dump-parse-tree.c:429 fortran/dump-parse-tree.c:732
++#: fortran/dump-parse-tree.c:429 fortran/dump-parse-tree.c:754
+ #, c-format
+ msgid "%s:"
+ msgstr "%s:"
+@@ -5420,748 +5376,753 @@
+ msgid "%s[["
+ msgstr "%s[["
+
+-#: fortran/dump-parse-tree.c:551
++#: fortran/dump-parse-tree.c:560
+ #, c-format
+ msgid "(%s %s %s %s %s"
+ msgstr "(%s %s %s %s %s"
+
+-#: fortran/dump-parse-tree.c:558
++#: fortran/dump-parse-tree.c:567
+ #, c-format
+ msgid " ALLOCATABLE"
+ msgstr " ALLOCATABLE"
+
+-#: fortran/dump-parse-tree.c:560 fortran/dump-parse-tree.c:631
++#: fortran/dump-parse-tree.c:569 fortran/dump-parse-tree.c:642
+ #, c-format
+ msgid " DIMENSION"
+ msgstr " DIMENSION"
+
+-#: fortran/dump-parse-tree.c:562
++#: fortran/dump-parse-tree.c:571
+ #, c-format
+ msgid " EXTERNAL"
+ msgstr " EXTERNAL"
+
+-#: fortran/dump-parse-tree.c:564
++#: fortran/dump-parse-tree.c:573
+ #, c-format
+ msgid " INTRINSIC"
+ msgstr " INTRINSIC"
+
+-#: fortran/dump-parse-tree.c:566
++#: fortran/dump-parse-tree.c:575
+ #, c-format
+ msgid " OPTIONAL"
+ msgstr " OPTIONAL"
+
+-#: fortran/dump-parse-tree.c:568 fortran/dump-parse-tree.c:629
++#: fortran/dump-parse-tree.c:577 fortran/dump-parse-tree.c:640
+ #, c-format
+ msgid " POINTER"
+ msgstr " POINTER"
+
+-#: fortran/dump-parse-tree.c:570
++#: fortran/dump-parse-tree.c:579
+ #, c-format
+ msgid " PROTECTED"
+ msgstr " PROTECTED"
+
+-#: fortran/dump-parse-tree.c:572
++#: fortran/dump-parse-tree.c:581
+ #, c-format
+ msgid " VALUE"
+ msgstr " VALUE"
+
+-#: fortran/dump-parse-tree.c:574
++#: fortran/dump-parse-tree.c:583
+ #, c-format
+ msgid " VOLATILE"
+ msgstr " VOLATILE"
+
+-#: fortran/dump-parse-tree.c:576
++#: fortran/dump-parse-tree.c:585
+ #, c-format
+ msgid " THREADPRIVATE"
+ msgstr " THREADPRIVATE"
+
+-#: fortran/dump-parse-tree.c:578
++#: fortran/dump-parse-tree.c:587
+ #, c-format
+ msgid " TARGET"
+ msgstr " TARGET"
+
+-#: fortran/dump-parse-tree.c:580
++#: fortran/dump-parse-tree.c:589
+ #, c-format
+ msgid " DUMMY"
+ msgstr " DUMMY"
+
+-#: fortran/dump-parse-tree.c:582
++#: fortran/dump-parse-tree.c:591
+ #, c-format
+ msgid " RESULT"
+ msgstr " RESULT"
+
+-#: fortran/dump-parse-tree.c:584
++#: fortran/dump-parse-tree.c:593
+ #, c-format
+ msgid " ENTRY"
+ msgstr " ENTRY"
+
+-#: fortran/dump-parse-tree.c:587
++#: fortran/dump-parse-tree.c:595
+ #, c-format
++msgid " BIND(C)"
++msgstr " BIND(C)"
++
++#: fortran/dump-parse-tree.c:598
++#, c-format
+ msgid " DATA"
+ msgstr " DATA"
+
+-#: fortran/dump-parse-tree.c:589
++#: fortran/dump-parse-tree.c:600
+ #, c-format
+ msgid " USE-ASSOC"
+ msgstr " USE-ASSOC"
+
+-#: fortran/dump-parse-tree.c:591
++#: fortran/dump-parse-tree.c:602
+ #, c-format
+ msgid " IN-NAMELIST"
+ msgstr " IN-NAMELIST"
+
+-#: fortran/dump-parse-tree.c:593
++#: fortran/dump-parse-tree.c:604
+ #, c-format
+ msgid " IN-COMMON"
+ msgstr " IN-COMMON"
+
+-#: fortran/dump-parse-tree.c:596
++#: fortran/dump-parse-tree.c:607
+ #, c-format
+ msgid " ABSTRACT INTERFACE"
+ msgstr " ABSTRACT INTERFACE"
+
+-#: fortran/dump-parse-tree.c:598
++#: fortran/dump-parse-tree.c:609
+ #, c-format
+ msgid " FUNCTION"
+ msgstr " FUNCTION"
+
+-#: fortran/dump-parse-tree.c:600
++#: fortran/dump-parse-tree.c:611
+ #, c-format
+ msgid " SUBROUTINE"
+ msgstr " SUBROUTINE"
+
+-#: fortran/dump-parse-tree.c:602
++#: fortran/dump-parse-tree.c:613
+ #, c-format
+ msgid " IMPLICIT-TYPE"
+ msgstr " IMPLICIT-TYPE"
+
+-#: fortran/dump-parse-tree.c:605
++#: fortran/dump-parse-tree.c:616
+ #, c-format
+ msgid " SEQUENCE"
+ msgstr " SEQUENCE"
+
+-#: fortran/dump-parse-tree.c:607
++#: fortran/dump-parse-tree.c:618
+ #, c-format
+ msgid " ELEMENTAL"
+ msgstr " ELEMENTAL"
+
+-#: fortran/dump-parse-tree.c:609
++#: fortran/dump-parse-tree.c:620
+ #, c-format
+ msgid " PURE"
+ msgstr " PURE"
+
+-#: fortran/dump-parse-tree.c:611
++#: fortran/dump-parse-tree.c:622
+ #, c-format
+ msgid " RECURSIVE"
+ msgstr " RECURSIVE"
+
+-#: fortran/dump-parse-tree.c:635 fortran/dump-parse-tree.c:682
+-#: fortran/dump-parse-tree.c:706 fortran/dump-parse-tree.c:735
+-#: fortran/dump-parse-tree.c:1276 fortran/dump-parse-tree.c:1282
+-#: fortran/dump-parse-tree.c:1784
++#: fortran/dump-parse-tree.c:646 fortran/dump-parse-tree.c:693
++#: fortran/dump-parse-tree.c:717 fortran/dump-parse-tree.c:757
++#: fortran/dump-parse-tree.c:1298 fortran/dump-parse-tree.c:1304
++#: fortran/dump-parse-tree.c:1806
+ #, c-format
+ msgid " %s"
+ msgstr " %s"
+
+-#: fortran/dump-parse-tree.c:659
++#: fortran/dump-parse-tree.c:670
+ #, c-format
+ msgid "symbol %s "
+ msgstr "symbol %s "
+
+-#: fortran/dump-parse-tree.c:666
++#: fortran/dump-parse-tree.c:677
+ #, c-format
+ msgid "value: "
+ msgstr "värde: "
+
+-#: fortran/dump-parse-tree.c:673
++#: fortran/dump-parse-tree.c:684
+ #, c-format
+ msgid "Array spec:"
+ msgstr "Vektorspec:"
+
+-#: fortran/dump-parse-tree.c:680
++#: fortran/dump-parse-tree.c:691
+ #, c-format
+ msgid "Generic interfaces:"
+ msgstr "Generella gränssnitt:"
+
+-#: fortran/dump-parse-tree.c:688
++#: fortran/dump-parse-tree.c:699
+ #, c-format
+ msgid "result: %s"
+ msgstr "resultat: %s"
+
+-#: fortran/dump-parse-tree.c:694
++#: fortran/dump-parse-tree.c:705
+ #, c-format
+ msgid "components: "
+ msgstr "komponenter: "
+
+-#: fortran/dump-parse-tree.c:701
++#: fortran/dump-parse-tree.c:712
+ #, c-format
+ msgid "Formal arglist:"
+ msgstr "Formell argumentlista:"
+
+-#: fortran/dump-parse-tree.c:708
++#: fortran/dump-parse-tree.c:719
+ #, c-format
+ msgid " [Alt Return]"
+ msgstr " [Alt Retur]"
+
+-#: fortran/dump-parse-tree.c:715
++#: fortran/dump-parse-tree.c:726
+ #, c-format
+ msgid "Formal namespace"
+ msgstr "Formell namnrymd"
+
+-#: fortran/dump-parse-tree.c:771
++#: fortran/dump-parse-tree.c:793
+ #, c-format
+ msgid "common: /%s/ "
+ msgstr "common: /%s/ "
+
+-#: fortran/dump-parse-tree.c:779 fortran/dump-parse-tree.c:1720
++#: fortran/dump-parse-tree.c:801 fortran/dump-parse-tree.c:1742
+ #, c-format
+ msgid ", "
+ msgstr ", "
+
+-#: fortran/dump-parse-tree.c:791
++#: fortran/dump-parse-tree.c:813
+ #, c-format
+ msgid "symtree: %s Ambig %d"
+ msgstr "symträd: %s Tvet %d"
+
+-#: fortran/dump-parse-tree.c:794
++#: fortran/dump-parse-tree.c:816
+ #, c-format
+ msgid " from namespace %s"
+ msgstr " från namnrymden %s"
+
+-#: fortran/dump-parse-tree.c:820
++#: fortran/dump-parse-tree.c:842
+ #, c-format
+ msgid "%s,"
+ msgstr "%s,"
+
+-#: fortran/dump-parse-tree.c:852
++#: fortran/dump-parse-tree.c:874
+ #, c-format
+ msgid "!$OMP %s"
+ msgstr "!$OMP %s"
+
+-#: fortran/dump-parse-tree.c:867 fortran/dump-parse-tree.c:1010
++#: fortran/dump-parse-tree.c:889 fortran/dump-parse-tree.c:1032
+ #, c-format
+ msgid " (%s)"
+ msgstr " (%s)"
+
+-#: fortran/dump-parse-tree.c:872
++#: fortran/dump-parse-tree.c:894
+ #, c-format
+ msgid " ("
+ msgstr " ("
+
+-#: fortran/dump-parse-tree.c:888
++#: fortran/dump-parse-tree.c:910
+ #, c-format
+ msgid " IF("
+ msgstr " IF("
+
+-#: fortran/dump-parse-tree.c:894
++#: fortran/dump-parse-tree.c:916
+ #, c-format
+ msgid " NUM_THREADS("
+ msgstr " NUM_THREADS("
+
+-#: fortran/dump-parse-tree.c:910
++#: fortran/dump-parse-tree.c:932
+ #, c-format
+ msgid " SCHEDULE (%s"
+ msgstr " SCHEDULE (%s"
+
+-#: fortran/dump-parse-tree.c:930
++#: fortran/dump-parse-tree.c:952
+ #, c-format
+ msgid " DEFAULT(%s)"
+ msgstr " DEFAULT(%s)"
+
+-#: fortran/dump-parse-tree.c:933
++#: fortran/dump-parse-tree.c:955
+ #, c-format
+ msgid " ORDERED"
+ msgstr " ORDERED"
+
+-#: fortran/dump-parse-tree.c:958
++#: fortran/dump-parse-tree.c:980
+ #, c-format
+ msgid " REDUCTION(%s:"
+ msgstr " REDUCTION(%s:"
+
+-#: fortran/dump-parse-tree.c:972
++#: fortran/dump-parse-tree.c:994
+ #, c-format
+ msgid " %s("
+ msgstr " %s("
+
+-#: fortran/dump-parse-tree.c:988
++#: fortran/dump-parse-tree.c:1010
+ #, c-format
+ msgid "!$OMP SECTION\n"
+ msgstr "!$OMP SECTION\n"
+
+-#: fortran/dump-parse-tree.c:997
++#: fortran/dump-parse-tree.c:1019
+ #, c-format
+ msgid "!$OMP END %s"
+ msgstr "!$OMP END %s"
+
+-#: fortran/dump-parse-tree.c:1002
++#: fortran/dump-parse-tree.c:1024
+ #, c-format
+ msgid " COPYPRIVATE("
+ msgstr " COPYPRIVATE("
+
+-#: fortran/dump-parse-tree.c:1007
++#: fortran/dump-parse-tree.c:1029
+ #, c-format
+ msgid " NOWAIT"
+ msgstr " NOWAIT"
+
+-#: fortran/dump-parse-tree.c:1034
++#: fortran/dump-parse-tree.c:1056
+ #, c-format
+ msgid "NOP"
+ msgstr "NOP"
+
+-#: fortran/dump-parse-tree.c:1038
++#: fortran/dump-parse-tree.c:1060
+ #, c-format
+ msgid "CONTINUE"
+ msgstr "CONTINUE"
+
+-#: fortran/dump-parse-tree.c:1042
++#: fortran/dump-parse-tree.c:1064
+ #, c-format
+ msgid "ENTRY %s"
+ msgstr "ENTRY %s"
+
+-#: fortran/dump-parse-tree.c:1047
++#: fortran/dump-parse-tree.c:1069
+ #, c-format
+ msgid "ASSIGN "
+ msgstr "ASSIGN "
+
+-#: fortran/dump-parse-tree.c:1054
++#: fortran/dump-parse-tree.c:1076
+ #, c-format
+ msgid "LABEL ASSIGN "
+ msgstr "LABEL ASSIGN "
+
+-#: fortran/dump-parse-tree.c:1056
++#: fortran/dump-parse-tree.c:1078
+ #, c-format
+ msgid " %d"
+ msgstr " %d"
+
+-#: fortran/dump-parse-tree.c:1060
++#: fortran/dump-parse-tree.c:1082
+ #, c-format
+ msgid "POINTER ASSIGN "
+ msgstr "POINTER ASSIGN "
+
+-#: fortran/dump-parse-tree.c:1067
++#: fortran/dump-parse-tree.c:1089
+ #, c-format
+ msgid "GOTO "
+ msgstr "GOTO "
+
+-#: fortran/dump-parse-tree.c:1076
++#: fortran/dump-parse-tree.c:1098
+ #, c-format
+ msgid ", ("
+ msgstr ", ("
+
+-#: fortran/dump-parse-tree.c:1092 fortran/dump-parse-tree.c:1094
++#: fortran/dump-parse-tree.c:1114 fortran/dump-parse-tree.c:1116
+ #, c-format
+ msgid "CALL %s "
+ msgstr "CALL %s "
+
+-#: fortran/dump-parse-tree.c:1096
++#: fortran/dump-parse-tree.c:1118
+ #, c-format
+ msgid "CALL ?? "
+ msgstr "CALL ?? "
+
+-#: fortran/dump-parse-tree.c:1102
++#: fortran/dump-parse-tree.c:1124
+ #, c-format
+ msgid "RETURN "
+ msgstr "RETURN "
+
+-#: fortran/dump-parse-tree.c:1108
++#: fortran/dump-parse-tree.c:1130
+ #, c-format
+ msgid "PAUSE "
+ msgstr "PAUSE "
+
+-#: fortran/dump-parse-tree.c:1118
++#: fortran/dump-parse-tree.c:1140
+ #, c-format
+ msgid "STOP "
+ msgstr "STOP "
+
+-#: fortran/dump-parse-tree.c:1128 fortran/dump-parse-tree.c:1136
++#: fortran/dump-parse-tree.c:1150 fortran/dump-parse-tree.c:1158
+ #, c-format
+ msgid "IF "
+ msgstr "IF "
+
+-#: fortran/dump-parse-tree.c:1130
++#: fortran/dump-parse-tree.c:1152
+ #, c-format
+ msgid " %d, %d, %d"
+ msgstr " %d, %d, %d"
+
+-#: fortran/dump-parse-tree.c:1147
++#: fortran/dump-parse-tree.c:1169
+ #, c-format
+ msgid "ELSE\n"
+ msgstr "ELSE\n"
+
+-#: fortran/dump-parse-tree.c:1150
++#: fortran/dump-parse-tree.c:1172
+ #, c-format
+ msgid "ELSE IF "
+ msgstr "ELSE IF "
+
+-#: fortran/dump-parse-tree.c:1160
++#: fortran/dump-parse-tree.c:1182
+ #, c-format
+ msgid "ENDIF"
+ msgstr "ENDIF"
+
+-#: fortran/dump-parse-tree.c:1165
++#: fortran/dump-parse-tree.c:1187
+ #, c-format
+ msgid "SELECT CASE "
+ msgstr "SELECT CASE "
+
+-#: fortran/dump-parse-tree.c:1173
++#: fortran/dump-parse-tree.c:1195
+ #, c-format
+ msgid "CASE "
+ msgstr "CASE "
+
+-#: fortran/dump-parse-tree.c:1189
++#: fortran/dump-parse-tree.c:1211
+ #, c-format
+ msgid "END SELECT"
+ msgstr "END SELECT"
+
+-#: fortran/dump-parse-tree.c:1193
++#: fortran/dump-parse-tree.c:1215
+ #, c-format
+ msgid "WHERE "
+ msgstr "WHERE "
+
+-#: fortran/dump-parse-tree.c:1204
++#: fortran/dump-parse-tree.c:1226
+ #, c-format
+ msgid "ELSE WHERE "
+ msgstr "ELSE WHERE "
+
+-#: fortran/dump-parse-tree.c:1211
++#: fortran/dump-parse-tree.c:1233
+ #, c-format
+ msgid "END WHERE"
+ msgstr "END WHERE"
+
+-#: fortran/dump-parse-tree.c:1216
++#: fortran/dump-parse-tree.c:1238
+ #, c-format
+ msgid "FORALL "
+ msgstr "FORALL "
+
+-#: fortran/dump-parse-tree.c:1241
++#: fortran/dump-parse-tree.c:1263
+ #, c-format
+ msgid "END FORALL"
+ msgstr "END FORALL"
+
+-#: fortran/dump-parse-tree.c:1245
++#: fortran/dump-parse-tree.c:1267
+ #, c-format
+ msgid "DO "
+ msgstr "DO "
+
+-#: fortran/dump-parse-tree.c:1259 fortran/dump-parse-tree.c:1270
++#: fortran/dump-parse-tree.c:1281 fortran/dump-parse-tree.c:1292
+ #, c-format
+ msgid "END DO"
+ msgstr "END DO"
+
+-#: fortran/dump-parse-tree.c:1263
++#: fortran/dump-parse-tree.c:1285
+ #, c-format
+ msgid "DO WHILE "
+ msgstr "DO WHILE "
+
+-#: fortran/dump-parse-tree.c:1274
++#: fortran/dump-parse-tree.c:1296
+ #, c-format
+ msgid "CYCLE"
+ msgstr "CYCLE"
+
+-#: fortran/dump-parse-tree.c:1280
++#: fortran/dump-parse-tree.c:1302
+ #, c-format
+ msgid "EXIT"
+ msgstr "EXIT"
+
+-#: fortran/dump-parse-tree.c:1286
++#: fortran/dump-parse-tree.c:1308
+ #, c-format
+ msgid "ALLOCATE "
+ msgstr "ALLOCATE "
+
+-#: fortran/dump-parse-tree.c:1289 fortran/dump-parse-tree.c:1305
++#: fortran/dump-parse-tree.c:1311 fortran/dump-parse-tree.c:1327
+ #, c-format
+ msgid " STAT="
+ msgstr " STAT="
+
+-#: fortran/dump-parse-tree.c:1302
++#: fortran/dump-parse-tree.c:1324
+ #, c-format
+ msgid "DEALLOCATE "
+ msgstr "DEALLOCATE "
+
+-#: fortran/dump-parse-tree.c:1318
++#: fortran/dump-parse-tree.c:1340
+ #, c-format
+ msgid "OPEN"
+ msgstr "OPEN"
+
+-#: fortran/dump-parse-tree.c:1323 fortran/dump-parse-tree.c:1402
+-#: fortran/dump-parse-tree.c:1444 fortran/dump-parse-tree.c:1467
+-#: fortran/dump-parse-tree.c:1619
++#: fortran/dump-parse-tree.c:1345 fortran/dump-parse-tree.c:1424
++#: fortran/dump-parse-tree.c:1466 fortran/dump-parse-tree.c:1489
++#: fortran/dump-parse-tree.c:1641
+ #, c-format
+ msgid " UNIT="
+ msgstr " UNIT="
+
+-#: fortran/dump-parse-tree.c:1328 fortran/dump-parse-tree.c:1407
+-#: fortran/dump-parse-tree.c:1449 fortran/dump-parse-tree.c:1478
+-#: fortran/dump-parse-tree.c:1636
++#: fortran/dump-parse-tree.c:1350 fortran/dump-parse-tree.c:1429
++#: fortran/dump-parse-tree.c:1471 fortran/dump-parse-tree.c:1500
++#: fortran/dump-parse-tree.c:1658
+ #, c-format
+ msgid " IOMSG="
+ msgstr " IOMSG="
+
+-#: fortran/dump-parse-tree.c:1333 fortran/dump-parse-tree.c:1412
+-#: fortran/dump-parse-tree.c:1454 fortran/dump-parse-tree.c:1483
+-#: fortran/dump-parse-tree.c:1641
++#: fortran/dump-parse-tree.c:1355 fortran/dump-parse-tree.c:1434
++#: fortran/dump-parse-tree.c:1476 fortran/dump-parse-tree.c:1505
++#: fortran/dump-parse-tree.c:1663
+ #, c-format
+ msgid " IOSTAT="
+ msgstr " IOSTAT="
+
+-#: fortran/dump-parse-tree.c:1338 fortran/dump-parse-tree.c:1472
++#: fortran/dump-parse-tree.c:1360 fortran/dump-parse-tree.c:1494
+ #, c-format
+ msgid " FILE="
+ msgstr " FILE="
+
+-#: fortran/dump-parse-tree.c:1343 fortran/dump-parse-tree.c:1417
++#: fortran/dump-parse-tree.c:1365 fortran/dump-parse-tree.c:1439
+ #, c-format
+ msgid " STATUS="
+ msgstr " STATUS="
+
+-#: fortran/dump-parse-tree.c:1348 fortran/dump-parse-tree.c:1513
++#: fortran/dump-parse-tree.c:1370 fortran/dump-parse-tree.c:1535
+ #, c-format
+ msgid " ACCESS="
+ msgstr " ACCESS="
+
+-#: fortran/dump-parse-tree.c:1353 fortran/dump-parse-tree.c:1529
++#: fortran/dump-parse-tree.c:1375 fortran/dump-parse-tree.c:1551
+ #, c-format
+ msgid " FORM="
+ msgstr " FORM="
+
+-#: fortran/dump-parse-tree.c:1358 fortran/dump-parse-tree.c:1544
++#: fortran/dump-parse-tree.c:1380 fortran/dump-parse-tree.c:1566
+ #, c-format
+ msgid " RECL="
+ msgstr " RECL="
+
+-#: fortran/dump-parse-tree.c:1363 fortran/dump-parse-tree.c:1554
++#: fortran/dump-parse-tree.c:1385 fortran/dump-parse-tree.c:1576
+ #, c-format
+ msgid " BLANK="
+ msgstr " BLANK="
+
+-#: fortran/dump-parse-tree.c:1368 fortran/dump-parse-tree.c:1559
++#: fortran/dump-parse-tree.c:1390 fortran/dump-parse-tree.c:1581
+ #, c-format
+ msgid " POSITION="
+ msgstr " POSITION="
+
+-#: fortran/dump-parse-tree.c:1373 fortran/dump-parse-tree.c:1564
++#: fortran/dump-parse-tree.c:1395 fortran/dump-parse-tree.c:1586
+ #, c-format
+ msgid " ACTION="
+ msgstr " ACTION="
+
+-#: fortran/dump-parse-tree.c:1378 fortran/dump-parse-tree.c:1584
++#: fortran/dump-parse-tree.c:1400 fortran/dump-parse-tree.c:1606
+ #, c-format
+ msgid " DELIM="
+ msgstr " DELIM="
+
+-#: fortran/dump-parse-tree.c:1383 fortran/dump-parse-tree.c:1589
++#: fortran/dump-parse-tree.c:1405 fortran/dump-parse-tree.c:1611
+ #, c-format
+ msgid " PAD="
+ msgstr " PAD="
+
+-#: fortran/dump-parse-tree.c:1388 fortran/dump-parse-tree.c:1594
++#: fortran/dump-parse-tree.c:1410 fortran/dump-parse-tree.c:1616
+ #, c-format
+ msgid " CONVERT="
+ msgstr " CONVERT="
+
+-#: fortran/dump-parse-tree.c:1392 fortran/dump-parse-tree.c:1421
+-#: fortran/dump-parse-tree.c:1458 fortran/dump-parse-tree.c:1599
+-#: fortran/dump-parse-tree.c:1676
++#: fortran/dump-parse-tree.c:1414 fortran/dump-parse-tree.c:1443
++#: fortran/dump-parse-tree.c:1480 fortran/dump-parse-tree.c:1621
++#: fortran/dump-parse-tree.c:1698
+ #, c-format
+ msgid " ERR=%d"
+ msgstr " ERR=%d"
+
+-#: fortran/dump-parse-tree.c:1397
++#: fortran/dump-parse-tree.c:1419
+ #, c-format
+ msgid "CLOSE"
+ msgstr "CLOSE"
+
+-#: fortran/dump-parse-tree.c:1425
++#: fortran/dump-parse-tree.c:1447
+ #, c-format
+ msgid "BACKSPACE"
+ msgstr "BACKSPACE"
+
+-#: fortran/dump-parse-tree.c:1429
++#: fortran/dump-parse-tree.c:1451
+ #, c-format
+ msgid "ENDFILE"
+ msgstr "ENDFILE"
+
+-#: fortran/dump-parse-tree.c:1433
++#: fortran/dump-parse-tree.c:1455
+ #, c-format
+ msgid "REWIND"
+ msgstr "REWIND"
+
+-#: fortran/dump-parse-tree.c:1437
++#: fortran/dump-parse-tree.c:1459
+ #, c-format
+ msgid "FLUSH"
+ msgstr "FLUSH"
+
+-#: fortran/dump-parse-tree.c:1462
++#: fortran/dump-parse-tree.c:1484
+ #, c-format
+ msgid "INQUIRE"
+ msgstr "INQUIRE"
+
+-#: fortran/dump-parse-tree.c:1488
++#: fortran/dump-parse-tree.c:1510
+ #, c-format
+ msgid " EXIST="
+ msgstr " EXIST="
+
+-#: fortran/dump-parse-tree.c:1493
++#: fortran/dump-parse-tree.c:1515
+ #, c-format
+ msgid " OPENED="
+ msgstr " OPENED="
+
+-#: fortran/dump-parse-tree.c:1498
++#: fortran/dump-parse-tree.c:1520
+ #, c-format
+ msgid " NUMBER="
+ msgstr " NUMBER="
+
+-#: fortran/dump-parse-tree.c:1503
++#: fortran/dump-parse-tree.c:1525
+ #, c-format
+ msgid " NAMED="
+ msgstr " NAMED="
+
+-#: fortran/dump-parse-tree.c:1508
++#: fortran/dump-parse-tree.c:1530
+ #, c-format
+ msgid " NAME="
+ msgstr " NAME="
+
+-#: fortran/dump-parse-tree.c:1518
++#: fortran/dump-parse-tree.c:1540
+ #, c-format
+ msgid " SEQUENTIAL="
+ msgstr " SEQUENTIAL="
+
+-#: fortran/dump-parse-tree.c:1524
++#: fortran/dump-parse-tree.c:1546
+ #, c-format
+ msgid " DIRECT="
+ msgstr " DIRECT="
+
+-#: fortran/dump-parse-tree.c:1534
++#: fortran/dump-parse-tree.c:1556
+ #, c-format
+ msgid " FORMATTED"
+ msgstr " FORMATTED"
+
+-#: fortran/dump-parse-tree.c:1539
++#: fortran/dump-parse-tree.c:1561
+ #, c-format
+ msgid " UNFORMATTED="
+ msgstr " UNFORMATTED="
+
+-#: fortran/dump-parse-tree.c:1549
++#: fortran/dump-parse-tree.c:1571
+ #, c-format
+ msgid " NEXTREC="
+ msgstr " NEXTREC="
+
+-#: fortran/dump-parse-tree.c:1569
++#: fortran/dump-parse-tree.c:1591
+ #, c-format
+ msgid " READ="
+ msgstr " READ="
+
+-#: fortran/dump-parse-tree.c:1574
++#: fortran/dump-parse-tree.c:1596
+ #, c-format
+ msgid " WRITE="
+ msgstr " WRITE="
+
+-#: fortran/dump-parse-tree.c:1579
++#: fortran/dump-parse-tree.c:1601
+ #, c-format
+ msgid " READWRITE="
+ msgstr " READWRITE="
+
+-#: fortran/dump-parse-tree.c:1603
++#: fortran/dump-parse-tree.c:1625
+ #, c-format
+ msgid "IOLENGTH "
+ msgstr "IOLENGTH "
+
+-#: fortran/dump-parse-tree.c:1609
++#: fortran/dump-parse-tree.c:1631
+ #, c-format
+ msgid "READ"
+ msgstr "READ"
+
+-#: fortran/dump-parse-tree.c:1613
++#: fortran/dump-parse-tree.c:1635
+ #, c-format
+ msgid "WRITE"
+ msgstr "WRITE"
+
+-#: fortran/dump-parse-tree.c:1625
++#: fortran/dump-parse-tree.c:1647
+ #, c-format
+ msgid " FMT="
+ msgstr " FMT="
+
+-#: fortran/dump-parse-tree.c:1630
++#: fortran/dump-parse-tree.c:1652
+ #, c-format
+ msgid " FMT=%d"
+ msgstr " FMT=%d"
+
+-#: fortran/dump-parse-tree.c:1632
++#: fortran/dump-parse-tree.c:1654
+ #, c-format
+ msgid " NML=%s"
+ msgstr " NML=%s"
+
+-#: fortran/dump-parse-tree.c:1646
++#: fortran/dump-parse-tree.c:1668
+ #, c-format
+ msgid " SIZE="
+ msgstr " SIZE="
+
+-#: fortran/dump-parse-tree.c:1651
++#: fortran/dump-parse-tree.c:1673
+ #, c-format
+ msgid " REC="
+ msgstr " REC="
+
+-#: fortran/dump-parse-tree.c:1656
++#: fortran/dump-parse-tree.c:1678
+ #, c-format
+ msgid " ADVANCE="
+ msgstr " ADVANCE="
+
+-#: fortran/dump-parse-tree.c:1667
++#: fortran/dump-parse-tree.c:1689
+ #, c-format
+ msgid "TRANSFER "
+ msgstr "TRANSFER "
+
+-#: fortran/dump-parse-tree.c:1672
++#: fortran/dump-parse-tree.c:1694
+ #, c-format
+ msgid "DT_END"
+ msgstr "DT_END"
+
+-#: fortran/dump-parse-tree.c:1678
++#: fortran/dump-parse-tree.c:1700
+ #, c-format
+ msgid " END=%d"
+ msgstr " END=%d"
+
+-#: fortran/dump-parse-tree.c:1680
++#: fortran/dump-parse-tree.c:1702
+ #, c-format
+ msgid " EOR=%d"
+ msgstr " EOR=%d"
+
+-#: fortran/dump-parse-tree.c:1714
++#: fortran/dump-parse-tree.c:1736
+ #, c-format
+ msgid "Equivalence: "
+ msgstr "Ekvivalens: "
+
+-#: fortran/dump-parse-tree.c:1740
++#: fortran/dump-parse-tree.c:1762
+ #, c-format
+ msgid "Namespace:"
+ msgstr "Namnrymd:"
+
+-#: fortran/dump-parse-tree.c:1754
++#: fortran/dump-parse-tree.c:1776
+ #, c-format
+ msgid " %c-%c: "
+ msgstr " %c-%c: "
+
+-#: fortran/dump-parse-tree.c:1756
++#: fortran/dump-parse-tree.c:1778
+ #, c-format
+ msgid " %c: "
+ msgstr " %c: "
+
+-#: fortran/dump-parse-tree.c:1765
++#: fortran/dump-parse-tree.c:1787
+ #, c-format
+ msgid "procedure name = %s"
+ msgstr "procedurnamn = %s"
+
+-#: fortran/dump-parse-tree.c:1781
++#: fortran/dump-parse-tree.c:1803
+ #, c-format
+ msgid "Operator interfaces for %s:"
+ msgstr "Operatorgränssnitt för %s:"
+
+-#: fortran/dump-parse-tree.c:1790
++#: fortran/dump-parse-tree.c:1812
+ #, c-format
+ msgid "User operators:\n"
+ msgstr "Användaroperatorer:\n"
+
+-#: fortran/dump-parse-tree.c:1806
++#: fortran/dump-parse-tree.c:1828
+ #, c-format
+ msgid "CONTAINS\n"
+ msgstr "CONTAINS\n"
+@@ -6181,308 +6142,348 @@
+ msgid "Error count reached limit of %d."
+ msgstr "Felantal nådde gränsen vid %d."
+
+-#: fortran/error.c:670 fortran/error.c:725 fortran/error.c:762
++#: fortran/error.c:670 fortran/error.c:724 fortran/error.c:761
+ msgid "Warning:"
+ msgstr "Varning:"
+
+-#: fortran/error.c:727 fortran/error.c:810 fortran/error.c:836
++#: fortran/error.c:726 fortran/error.c:809 fortran/error.c:835
+ msgid "Error:"
+ msgstr "Fel:"
+
+-#: fortran/error.c:860
++#: fortran/error.c:859
+ msgid "Fatal Error:"
+ msgstr "Ödesdigert fel:"
+
+-#: fortran/error.c:879
++#: fortran/error.c:878
+ #, no-c-format
+ msgid "Internal Error at (1):"
+ msgstr "Internt fel vid (1):"
+
+-#: fortran/expr.c:252
++#: fortran/expr.c:253
+ #, c-format
+ msgid "Constant expression required at %C"
+ msgstr "Konstant uttryck krävs vid %C"
+
+-#: fortran/expr.c:255
++#: fortran/expr.c:256
+ #, c-format
+ msgid "Integer expression required at %C"
+ msgstr "Heltalsuttryck krävs vid %C"
+
+-#: fortran/expr.c:260
++#: fortran/expr.c:261
+ #, c-format
+ msgid "Integer value too large in expression at %C"
+ msgstr "För stort heltalsvärde i uttryck vid %C"
+
+-#: fortran/expr.c:1018 fortran/expr.c:1189 fortran/expr.c:1240
++#: fortran/expr.c:1037
+ #, no-c-format
++msgid "Index in dimension %d is out of bounds at %L"
++msgstr "Index i dimension %d är utanför gränsen vid %L"
++
++#: fortran/expr.c:1208 fortran/expr.c:1259
++#, no-c-format
+ msgid "index in dimension %d is out of bounds at %L"
+ msgstr "index i dimension %d är utanför gränsen vid %L"
+
+-#: fortran/expr.c:1789
++#: fortran/expr.c:1808
+ #, no-c-format
+ msgid "elemental function arguments at %C are not compliant"
+ msgstr "argument till elementär funktion vid %C följer inte standarden"
+
+-#: fortran/expr.c:1833
++#: fortran/expr.c:1852
+ #, no-c-format
+ msgid "Numeric or CHARACTER operands are required in expression at %L"
+ msgstr "Numeriska eller CHARACTER-operander krävs i uttrycket vid %L"
+
+-#: fortran/expr.c:1853
++#: fortran/expr.c:1872
+ #, no-c-format
+ msgid "Fortran 2003: Noninteger exponent in an initialization expression at %L"
+ msgstr "Fortran 2003: Exponent som inte är heltal i ett initieringsuttryck vid %L"
+
+-#: fortran/expr.c:1868
++#: fortran/expr.c:1887
+ #, no-c-format
+ msgid "Concatenation operator in expression at %L must have two CHARACTER operands"
+ msgstr "Konkateneringsoperatorn i uttrycket vid %L måste ha två CHARACTER-operander"
+
+-#: fortran/expr.c:1875
++#: fortran/expr.c:1894
+ #, no-c-format
+ msgid "Concat operator at %L must concatenate strings of the same kind"
+ msgstr "Konkateneringsoperatorn vid %L måste konkatenera strängar av samma sort"
+
+-#: fortran/expr.c:1885
++#: fortran/expr.c:1904
+ #, no-c-format
+ msgid ".NOT. operator in expression at %L must have a LOGICAL operand"
+ msgstr ".NOT.-operatorn i uttrycket vid %L måste ha en LOGICAL-operand"
+
+-#: fortran/expr.c:1901
++#: fortran/expr.c:1920
+ #, no-c-format
+ msgid "LOGICAL operands are required in expression at %L"
+ msgstr "LOGICAL-operander krävs i uttryck vid %L"
+
+-#: fortran/expr.c:1912
++#: fortran/expr.c:1931
+ #, no-c-format
+ msgid "Only intrinsic operators can be used in expression at %L"
+ msgstr "Endast inbyggda operatorer kan användas i uttryck vid %L"
+
+-#: fortran/expr.c:1920
++#: fortran/expr.c:1939
+ #, no-c-format
+ msgid "Numeric operands are required in expression at %L"
+ msgstr "Numeriska operander krävs i uttryck vid %L"
+
+-#: fortran/expr.c:1985
++#: fortran/expr.c:2030
+ #, no-c-format
+-msgid "Inquiry function '%s' at %L is not permitted in an initialization expression"
+-msgstr "Frågefunktionen \"%s\" vid %L är inte tillåten i ett initieringsuttryck"
+-
+-#: fortran/expr.c:2015
+-#, no-c-format
+ msgid "Assumed character length variable '%s' in constant expression at %L"
+ msgstr "Teckenlängdsvariabel \"%s\" med förmodad längd i konstant uttryck vid %L"
+
+-#: fortran/expr.c:2061 fortran/expr.c:2067
++#: fortran/expr.c:2076 fortran/expr.c:2082
+ #, no-c-format
+ msgid "transformational intrinsic '%s' at %L is not permitted in an initialization expression"
+ msgstr "transformerande inbyggd \"%s\" vid %L är inte tillåten i ett initieringsuttryck"
+
+-#: fortran/expr.c:2098
++#: fortran/expr.c:2114
+ #, no-c-format
+ msgid "Extension: Evaluation of nonstandard initialization expression at %L"
+ msgstr "Utökning: Beräkning av ett initieringuttryck utanför standarden vid %L"
+
+-#: fortran/expr.c:2151
++#: fortran/expr.c:2167
+ #, no-c-format
+ msgid "Function '%s' in initialization expression at %L must be an intrinsic or a specification function"
+ msgstr "Funktionen \"%s\" i initieringsuttrycket vid %L måste vara en inbyggd eller en specifikationsfunktion"
+
+-#: fortran/expr.c:2163
++#: fortran/expr.c:2179
+ #, no-c-format
+ msgid "Intrinsic function '%s' at %L is not permitted in an initialization expression"
+ msgstr "Inbyggd funktion \"%s\" vid %L är inte tillåten i ett initieringsuttryck"
+
+-#: fortran/expr.c:2207
++#: fortran/expr.c:2214
+ #, no-c-format
++msgid "PARAMETER '%s' is used at %L before its definition is complete"
++msgstr "PARAMETER \"%s\" används vid %L före dess definition är komplett"
++
++#: fortran/expr.c:2234
++#, no-c-format
+ msgid "Assumed size array '%s' at %L is not permitted in an initialization expression"
+ msgstr "Vektor \"%s\" med förmodad storlek vid %L är inte tillåten i ett initieringsuttryck"
+
+-#: fortran/expr.c:2213
++#: fortran/expr.c:2240
+ #, no-c-format
+ msgid "Assumed shape array '%s' at %L is not permitted in an initialization expression"
+ msgstr "Vektor \"%s\" med förmodad form vid %L är inte tillåten i ett initieringsuttryck"
+
+-#: fortran/expr.c:2219
++#: fortran/expr.c:2246
+ #, no-c-format
+ msgid "Deferred array '%s' at %L is not permitted in an initialization expression"
+ msgstr "Fördröjd vektor \"%s\" vid %L är inte tillåten i ett initieringsuttryck"
+
+-#: fortran/expr.c:2229
++#: fortran/expr.c:2252
+ #, no-c-format
++msgid "Array '%s' at %L is a variable, which does not reduce to a constant expression"
++msgstr "Vektor \"%s\" vid %L är en variabel, som inte reduceras till ett konstant uttryck"
++
++#: fortran/expr.c:2262
++#, no-c-format
+ msgid "Parameter '%s' at %L has not been declared or is a variable, which does not reduce to a constant expression"
+ msgstr "Parameter \"%s\" vid %L har inte deklarerats eller är en variabel, som inte reduceras till ett konstant uttryck"
+
+-#: fortran/expr.c:2317
++#: fortran/expr.c:2350
+ #, no-c-format
+ msgid "Initialization expression didn't reduce %C"
+ msgstr "Initieringsuttryck kunde inte reduceras %C"
+
+-#: fortran/expr.c:2360
++#: fortran/expr.c:2393
+ #, no-c-format
+ msgid "Specification function '%s' at %L cannot be a statement function"
+ msgstr "Specifikationsfunktionen \"%s\" vid %L kan inte vara en satsfunktion"
+
+-#: fortran/expr.c:2367
++#: fortran/expr.c:2400
+ #, no-c-format
+ msgid "Specification function '%s' at %L cannot be an internal function"
+ msgstr "Specifikationsfunktionen \"%s\" vid %L kan inte vara en intern funktion"
+
+-#: fortran/expr.c:2374
++#: fortran/expr.c:2407
+ #, no-c-format
+ msgid "Specification function '%s' at %L must be PURE"
+ msgstr "Specifikationsfunktionen \"%s\" vid %L måste vara PURE"
+
+-#: fortran/expr.c:2381
++#: fortran/expr.c:2414
+ #, no-c-format
+ msgid "Specification function '%s' at %L cannot be RECURSIVE"
+ msgstr "Specifikationsfunktionen \"%s\" vid %L får inte vara RECURSIVE"
+
+-#: fortran/expr.c:2443
++#: fortran/expr.c:2476
+ #, no-c-format
+ msgid "Dummy argument '%s' not allowed in expression at %L"
+ msgstr "Attrappvariabeln \"%s\" är inte tillåten i uttrycket vid %L"
+
+-#: fortran/expr.c:2450
++#: fortran/expr.c:2483
+ #, no-c-format
+ msgid "Dummy argument '%s' at %L cannot be OPTIONAL"
+ msgstr "Attrappargumentet \"%s\" vid %L får inte vara OPTIONAL"
+
+-#: fortran/expr.c:2457
++#: fortran/expr.c:2490
+ #, no-c-format
+ msgid "Dummy argument '%s' at %L cannot be INTENT(OUT)"
+ msgstr "Attrappargumentet \"%s\" vid %L får inte vara INTENT(OUT)"
+
+-#: fortran/expr.c:2479
++#: fortran/expr.c:2513
+ #, no-c-format
+ msgid "Variable '%s' cannot appear in the expression at %L"
+ msgstr "Variabeln \"%s\" kan inte förekomma i uttrycket vid %L"
+
+-#: fortran/expr.c:2528
++#: fortran/expr.c:2562
+ #, no-c-format
+ msgid "Expression at %L must be of INTEGER type"
+ msgstr "Uttryck vid %L måste vara av INTEGER-typ"
+
+-#: fortran/expr.c:2537
++#: fortran/expr.c:2571
+ #, no-c-format
+ msgid "Function '%s' at %L must be PURE"
+ msgstr "Funktionen \"%s\" vid %L måste vara PURE"
+
+-#: fortran/expr.c:2546
++#: fortran/expr.c:2580
+ #, no-c-format
+ msgid "Expression at %L must be scalar"
+ msgstr "Uttryck vid %L måste vara skalärt"
+
+-#: fortran/expr.c:2573
++#: fortran/expr.c:2607
+ #, no-c-format
+ msgid "Incompatible ranks in %s (%d and %d) at %L"
+ msgstr "Inkompatibla ordningar i %s (%d och %d) vid %L"
+
+-#: fortran/expr.c:2587
++#: fortran/expr.c:2621
+ #, no-c-format
+ msgid "Different shape for %s at %L on dimension %d (%d and %d)"
+ msgstr "Olika form för %s vid %L på dimension %d (%d och %d)"
+
+-#: fortran/expr.c:2633 fortran/expr.c:2800
++#: fortran/expr.c:2667 fortran/expr.c:2884
+ #, no-c-format
+ msgid "Cannot assign to INTENT(IN) variable '%s' at %L"
+ msgstr "Det går inte att tilldela till INTENT(IN)-variabel \"%s\" vid %L"
+
+-#: fortran/expr.c:2676
++#: fortran/expr.c:2719
+ #, no-c-format
+ msgid "'%s' at %L is not a VALUE"
+ msgstr "\"%s\" vid %L är inte ett VALUE"
+
+-#: fortran/expr.c:2683
++#: fortran/expr.c:2726
+ #, no-c-format
+ msgid "Incompatible ranks %d and %d in assignment at %L"
+ msgstr "Inkompatibla ordningar %d och %d i tilldelning vid %L"
+
+-#: fortran/expr.c:2690
++#: fortran/expr.c:2733
+ #, no-c-format
+ msgid "Variable type is UNKNOWN in assignment at %L"
+ msgstr "Variabeltypen är OKÄND i tilldelning vid %L"
+
+-#: fortran/expr.c:2702
++#: fortran/expr.c:2745
+ #, no-c-format
+ msgid "NULL appears on right-hand side in assignment at %L"
+ msgstr "NULL finns på högersidan i tilldelning vid %L"
+
+-#: fortran/expr.c:2713
++#: fortran/expr.c:2756
+ #, no-c-format
+ msgid "Vector assignment to assumed-size Cray Pointee at %L is illegal"
+ msgstr "Vektortilldelning till Cray-utpekad med förmodad storlek vid %L är otillåten"
+
+-#: fortran/expr.c:2722
++#: fortran/expr.c:2765
+ #, no-c-format
+ msgid "POINTER valued function appears on right-hand side of assignment at %L"
+ msgstr "POINTER-värd funktion förekommer på högersidan av tilldelning vid %L"
+
+-#: fortran/expr.c:2727
++#: fortran/expr.c:2770
+ msgid "array assignment"
+ msgstr "vektortilldelning"
+
+-#: fortran/expr.c:2744
++#: fortran/expr.c:2775
+ #, no-c-format
++msgid "Extension: BOZ literal at %L used to initialize non-integer variable '%s'"
++msgstr "Utökning: BOZ-literal vid %L används för att initiera icke-heltalsvariabeln \"%s\""
++
++#: fortran/expr.c:2781 fortran/resolve.c:6058
++#, no-c-format
++msgid "Extension: BOZ literal at %L outside a DATA statement and outside INT/REAL/DBLE/CMPLX"
++msgstr "Utökning: BOZ-literal vid %L utanför en DATA-sats och utanför INT/REAL/DBLE/CMPLX"
++
++#: fortran/expr.c:2791 fortran/resolve.c:6068
++#, no-c-format
++msgid "BOZ literal at %L is bitwise transferred non-integer symbol '%s'"
++msgstr "BOZ-literal vid %L är bitvis överförd icke-heltalssymbol \"%s\""
++
++#: fortran/expr.c:2799 fortran/resolve.c:6077
++#, no-c-format
++msgid "Arithmetic underflow of bit-wise transferred BOZ at %L. This check can be disabled with the option -fno-range-check"
++msgstr "Aritmetiskt underspill av bitvis överförd BOZ vid %L. Denna kontroll kan avaktiveras med flaggan -fno-range-check"
++
++#: fortran/expr.c:2803 fortran/resolve.c:6081
++#, no-c-format
++msgid "Arithmetic overflow of bit-wise transferred BOZ at %L. This check can be disabled with the option -fno-range-check"
++msgstr "Aritmetiskt överspill vid bitvis överförd BOZ vid %L. Denna kontroll kan avaktiveras med flaggan -fno-range-check"
++
++#: fortran/expr.c:2807 fortran/resolve.c:6085
++#, no-c-format
++msgid "Arithmetic NaN of bit-wise transferred BOZ at %L. This check can be disabled with the option -fno-range-check"
++msgstr "Aritmetisk NaN vid bitvis överförd BOZ vid %L. Denna kontroll kan avaktiveras med flaggan -fno-range-check"
++
++#: fortran/expr.c:2828
++#, no-c-format
+ msgid "Incompatible types in assignment at %L, %s to %s"
+ msgstr "Inkompatibla typer i tilldelning vid %L, %s till %s"
+
+-#: fortran/expr.c:2769
++#: fortran/expr.c:2853
+ #, no-c-format
+ msgid "Pointer assignment target is not a POINTER at %L"
+ msgstr "Pekartilldelningsmålet är inte en POINTER vid %L"
+
+-#: fortran/expr.c:2777
++#: fortran/expr.c:2861
+ #, no-c-format
+ msgid "'%s' in the pointer assignment at %L cannot be an l-value since it is a procedure"
+ msgstr "\"%s\" i pekartilldelningen vid %L kan inte vara ett l-värde eftersom det är en procedur"
+
+-#: fortran/expr.c:2807
++#: fortran/expr.c:2891
+ #, no-c-format
+ msgid "Pointer assignment to non-POINTER at %L"
+ msgstr "Pekartilldelning till icke-POINTER vid %L"
+
+-#: fortran/expr.c:2816
++#: fortran/expr.c:2900
+ #, no-c-format
+ msgid "Bad pointer object in PURE procedure at %L"
+ msgstr "Felaktigt pekarobjekt i PURE-procedur vid %L"
+
+-#: fortran/expr.c:2828
++#: fortran/expr.c:2912
+ #, no-c-format
+ msgid "Different types in pointer assignment at %L"
+ msgstr "Olika typer i pekartilldelning vid %L"
+
+-#: fortran/expr.c:2835
++#: fortran/expr.c:2919
+ #, no-c-format
+ msgid "Different kind type parameters in pointer assignment at %L"
+ msgstr "Olika sorters typparametrar i pekartilldelning vid %L"
+
+-#: fortran/expr.c:2842
++#: fortran/expr.c:2926
+ #, no-c-format
+ msgid "Different ranks in pointer assignment at %L"
+ msgstr "Olika ordning i pekartilldelning vid %L"
+
+-#: fortran/expr.c:2857
++#: fortran/expr.c:2941
+ #, no-c-format
+ msgid "Different character lengths in pointer assignment at %L"
+ msgstr "Olika teckenlängder i pekartilldelning vid %L"
+
+-#: fortran/expr.c:2868
++#: fortran/expr.c:2952
+ #, no-c-format
+ msgid "Pointer assignment target is neither TARGET nor POINTER at %L"
+ msgstr "Pekartilldelningsmål är vare sig TARGET eller POINTER vid %L"
+
+-#: fortran/expr.c:2875
++#: fortran/expr.c:2959
+ #, no-c-format
+ msgid "Bad target in pointer assignment in PURE procedure at %L"
+ msgstr "Felaktigt mål i pekartilldelning i PURE-procedur vid %L"
+
+-#: fortran/expr.c:2881
++#: fortran/expr.c:2965
+ #, no-c-format
+ msgid "Pointer assignment with vector subscript on rhs at %L"
+ msgstr "Pekartilldelning med vektorindexering på högersidan vid %L"
+
+-#: fortran/expr.c:2888
++#: fortran/expr.c:2972
+ #, no-c-format
+ msgid "Pointer assigment target has PROTECTED attribute at %L"
+ msgstr "Pekartilldelningsmålet har attributet PROTECTED vid %L"
+@@ -6577,292 +6578,317 @@
+ msgid "Expecting 'END INTERFACE %s' at %C"
+ msgstr "\"END INTERFACE %s\" förväntades vid %C"
+
+-#: fortran/interface.c:551
++#: fortran/interface.c:563
+ #, no-c-format
+ msgid "Alternate return cannot appear in operator interface at %L"
+ msgstr "Alternativ retur får inte förekomma i operatorgränssnitt vid %L"
+
+-#: fortran/interface.c:581
++#: fortran/interface.c:593
+ #, no-c-format
+ msgid "Operator interface at %L has the wrong number of arguments"
+ msgstr "Operatorgränssnitt vid %L har fel antal argument"
+
+-#: fortran/interface.c:592
++#: fortran/interface.c:604
+ #, no-c-format
+ msgid "Assignment operator interface at %L must be a SUBROUTINE"
+ msgstr "Gränssnitt för tilldelningsoperator vid %L måste vara en SUBROUTINE"
+
+-#: fortran/interface.c:598
++#: fortran/interface.c:610
+ #, no-c-format
+ msgid "Assignment operator interface at %L must have two arguments"
+ msgstr "Gränssnitt för tilldelningsoperator vid %L måste ha två argument"
+
+-#: fortran/interface.c:608
++#: fortran/interface.c:620
+ #, no-c-format
+ msgid "Assignment operator interface at %L must not redefine an INTRINSIC type assignment"
+ msgstr "Gränssnitt för tilldelningsoperator vid %L får inte omdefiniera en INTRINSIC-typtilldelning"
+
+-#: fortran/interface.c:617
++#: fortran/interface.c:629
+ #, no-c-format
+ msgid "Intrinsic operator interface at %L must be a FUNCTION"
+ msgstr "Gränssnitt för inbyggd operator vid %L måste vara en FUNCTION"
+
+-#: fortran/interface.c:627
++#: fortran/interface.c:639
+ #, no-c-format
+ msgid "First argument of defined assignment at %L must be INTENT(IN) or INTENT(INOUT)"
+ msgstr "Första argumentet till definierad tilldelning vid %L måste vara INTENT(IN) eller INTENT(INOUT)"
+
+-#: fortran/interface.c:631
++#: fortran/interface.c:643
+ #, no-c-format
+ 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.c:637 fortran/resolve.c:8807
++#: fortran/interface.c:649 fortran/resolve.c:8998
+ #, no-c-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.c:641 fortran/resolve.c:8819
++#: fortran/interface.c:653 fortran/resolve.c:9010
+ #, no-c-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)"
+
+-#: fortran/interface.c:744
++#: fortran/interface.c:756
+ #, no-c-format
+ msgid "Operator interface at %L conflicts with intrinsic interface"
+ msgstr "Operatorgränssnitt vid %L står i konflikt med inbyggt gränssnitt"
+
+-#: fortran/interface.c:1044
++#: fortran/interface.c:1117
+ #, no-c-format
+ msgid "Procedure '%s' in %s at %L has no explicit interface"
+ msgstr "Proceduren \"%s\" i %s vid %L har inget explicit gränssnitt"
+
+-#: fortran/interface.c:1047
++#: fortran/interface.c:1120
+ #, no-c-format
+ msgid "Procedure '%s' in %s at %L is neither function nor subroutine"
+ msgstr "Proceduren \"%s\" i %s vid %L är varken en funktion eller subrutin"
+
+-#: fortran/interface.c:1102 fortran/interface.c:1108
++#: fortran/interface.c:1175 fortran/interface.c:1181
+ #, no-c-format
+ msgid "Ambiguous interfaces '%s' and '%s' in %s at %L"
+ msgstr "Tvetydiga gränssnitt \"%s\" och \"%s\" i %s vid %L"
+
+-#: fortran/interface.c:1144
++#: fortran/interface.c:1217
+ #, no-c-format
+ msgid "'%s' at %L is not a module procedure"
+ msgstr "\"%s\" vid %L är inte en modulprocedur"
+
+-#: fortran/interface.c:1676
++#: fortran/interface.c:1465 fortran/interface.c:2411
+ #, no-c-format
++msgid "Type/rank mismatch in argument '%s' at %L"
++msgstr "Typ/ordning stämmer inte i argument \"%s\" vid %L"
++
++#: fortran/interface.c:1474
++#, no-c-format
++msgid "Type mismatch in argument '%s' at %L; passed %s to %s"
++msgstr "Typ stämmer inte i argument \"%s\" vid %L; skickade %s till %s"
++
++#: fortran/interface.c:1492 fortran/interface.c:1532
++#, no-c-format
++msgid "Rank mismatch in argument '%s' at %L (%d and %d)"
++msgstr "Ordning stämmer inte i argument \"%s\" vid %L (%d och %d)"
++
++#: fortran/interface.c:1519
++#, no-c-format
++msgid "Fortran 2003: Scalar CHARACTER actual argument with array dummy argument '%s' at %L"
++msgstr "Fortran 2003: Aktuellt skalärt CHARACTER-argument med attrappargument som är vektor \"%s\" vid %L"
++
++#: fortran/interface.c:1544
++#, no-c-format
++msgid "Element of assumed-shaped array passed to dummy argument '%s' at %L"
++msgstr "Element av vektor med antagen form skickat till attrappargument \"%s\" vid %L"
++
++#: fortran/interface.c:1861
++#, no-c-format
+ msgid "Keyword argument '%s' at %L is not in the procedure"
+ msgstr "Nyckelordsargument \"%s\" vid %L finns inte i proceduren"
+
+-#: fortran/interface.c:1684
++#: fortran/interface.c:1869
+ #, no-c-format
+ msgid "Keyword argument '%s' at %L is already associated with another actual argument"
+ msgstr "Nyckelordsargumentet \"%s\" vid %L är redan associerat med ett annat aktuellt argument"
+
+-#: fortran/interface.c:1694
++#: fortran/interface.c:1879
+ #, no-c-format
+ msgid "More actual than formal arguments in procedure call at %L"
+ msgstr "Fler aktuella än formella argument i proceduranrop vid %L"
+
+-#: fortran/interface.c:1706 fortran/interface.c:1935
++#: fortran/interface.c:1891 fortran/interface.c:2110
+ #, no-c-format
+ msgid "Missing alternate return spec in subroutine call at %L"
+ msgstr "Alternativ returspecifikation saknas i subrutinanrop vid %L"
+
+-#: fortran/interface.c:1714
++#: fortran/interface.c:1899
+ #, no-c-format
+ msgid "Unexpected alternate return spec in subroutine call at %L"
+ msgstr "Oväntad alternativ returspecifikation i subrutinanrop vid %L"
+
+-#: fortran/interface.c:1729
++#: fortran/interface.c:1922
+ #, no-c-format
+-msgid "Fortran 2003: Scalar CHARACTER actual argument with array dummy argument '%s' at %L"
+-msgstr "Fortran 2003: Aktuellt skalärt CHARACTER-argument med attrappargument som är vektor \"%s\" vid %L"
++msgid "Character length mismatch (%ld/%ld) between actual argument and pointer or allocatable dummy argument '%s' at %L"
++msgstr "Teckenlängd stämmer inte (%ld/%ld) mellan aktuellt argument och pekare eller allokerbart attrappargument \"%s\" vid %L"
+
+-#: fortran/interface.c:1742
++#: fortran/interface.c:1929
+ #, no-c-format
+-msgid "Type/rank mismatch in argument '%s' at %L"
+-msgstr "Typ/ordning stämmer inte i argument \"%s\" vid %L"
++msgid "Character length mismatch (%ld/%ld) between actual argument and assumed-shape dummy argument '%s' at %L"
++msgstr "Teckenlängd stämmer inte (%ld/%ld) mellan aktuellt argument och attrappargument med antagen form \"%s\" vid %L"
+
+-#: fortran/interface.c:1758
++#: fortran/interface.c:1943
+ #, no-c-format
+-msgid "Character length mismatch between actual argument and pointer or allocatable dummy argument '%s' at %L"
+-msgstr "Teckenlängd stämmer inte mellan aktuellt argument och pekare eller allokerbart attrappargument \"%s\" vid %L"
+-
+-#: fortran/interface.c:1771
+-#, no-c-format
+ msgid "Character length of actual argument shorter than of dummy argument '%s' (%lu/%lu) at %L"
+ msgstr "Teckenlängden på aktuellt argument är kortare än attrappargumentet \"%s\" (%lu/%lu) vid %L"
+
+-#: fortran/interface.c:1776
++#: fortran/interface.c:1948
+ #, no-c-format
+ msgid "Actual argument contains too few elements for dummy argument '%s' (%lu/%lu) at %L"
+ msgstr "Aktuellt argument innehåller för få element för attrappargument \"%s\" (%lu/%lu) vid %L"
+
+-#: fortran/interface.c:1790
++#: fortran/interface.c:1962
+ #, no-c-format
+ msgid "Expected a procedure for argument '%s' at %L"
+ msgstr "Förväntade en procedur som argument \"%s\" vid %L"
+
+-#: fortran/interface.c:1800
++#: fortran/interface.c:1972
+ #, no-c-format
+ msgid "Expected a PURE procedure for argument '%s' at %L"
+ msgstr "Förväntade en PURE-procedur som argument \"%s\" vid %L"
+
+-#: fortran/interface.c:1814
++#: fortran/interface.c:1986
+ #, no-c-format
+ msgid "Actual argument for '%s' cannot be an assumed-size array at %L"
+ msgstr "Aktuellt argument till \"%s\" kan inte vara en vektor med antagen storlek vid %L"
+
+-#: fortran/interface.c:1823
++#: fortran/interface.c:1995
+ #, no-c-format
+ msgid "Actual argument for '%s' must be a pointer at %L"
+ msgstr "Aktuellt argument till \"%s\" skall vara en pekare vid %L"
+
+-#: fortran/interface.c:1832
++#: fortran/interface.c:2004
+ #, no-c-format
+ msgid "Actual argument for '%s' must be ALLOCATABLE at %L"
+ msgstr "Aktuellt argument till \"%s\" skall vara en ALLOCATABLE vid %L"
+
+-#: fortran/interface.c:1843
++#: fortran/interface.c:2017
+ #, no-c-format
+-msgid "Actual argument at %L must be definable to match dummy INTENT = OUT/INOUT"
+-msgstr "Aktuellt argument vid %L måste gå att definiera för att stämma attrapp INTENT = OUT/INOUT"
++msgid "Actual argument at %L must be definable as the dummy argument '%s' is INTENT = OUT/INOUT"
++msgstr "Aktuellt argument vid %L måste gå att definiera som attrappargument \"%s\" är INTENT = OUT/INOUT"
+
+-#: fortran/interface.c:1851
++#: fortran/interface.c:2026
+ #, no-c-format
+ msgid "Actual argument at %L is use-associated with PROTECTED attribute and dummy argument '%s' is INTENT = OUT/INOUT"
+ msgstr "Aktuellt argument vid %L är användningsassocierat med attributet PROTECTED och attrappargument \"%s\" är INTENT = OUT/INOUT"
+
+-#: fortran/interface.c:1864
++#: fortran/interface.c:2039
+ #, no-c-format
+-msgid "Array-section actual argument with vector subscripts at %L is incompatible with INTENT(IN), INTENT(INOUT) or VOLATILE attribute of the dummy argument '%s'"
+-msgstr "Vektorsektion som aktuellt argument med vektorindex vid %L är inte kompatibelt med attributet INTENT(IN), INTENT(INOUT) eller VOLATILE på attrappargument \"%s\""
++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'"
++msgstr "Vektorsektion som aktuellt argument med vektorindex vid %L är inte kompatibelt med attributet INTENT(OUT), INTENT(INOUT) eller VOLATILE på attrappargument \"%s\""
+
+-#: fortran/interface.c:1881
++#: fortran/interface.c:2056
+ #, no-c-format
+ msgid "Assumed-shape actual argument at %L is incompatible with the non-assumed-shape dummy argument '%s' due to VOLATILE attribute"
+ msgstr "Aktuellt argument med antagen form vid %L är inte kompatibel med attrappargumentet \"%s\" utan antagen form på grund av attributet VOLATILE"
+
+-#: fortran/interface.c:1893
++#: fortran/interface.c:2068
+ #, no-c-format
+ msgid "Array-section actual argument at %L is incompatible with the non-assumed-shape dummy argument '%s' due to VOLATILE attribute"
+ msgstr "Vektorsektion som aktuellt argument vid %L är inkompatibelt med attrappargumentet \"%s\" utan antagen form på grund av attributet VOLATILE"
+
+-#: fortran/interface.c:1912
++#: fortran/interface.c:2087
+ #, no-c-format
+ msgid "Pointer-array actual argument at %L requires an assumed-shape or pointer-array dummy argument '%s' due to VOLATILE attribute"
+ msgstr "Pekarvektor som aktuellt argument vid %L kräver ett attrappargument \"%s\" med antagen form eller pekarvektor på grund av attributet VOLATILE"
+
+-#: fortran/interface.c:1942
++#: fortran/interface.c:2117
+ #, no-c-format
+ msgid "Missing actual argument for argument '%s' at %L"
+ msgstr "Aktuellt argument saknas för argument \"%s\" vid %L"
+
+-#: fortran/interface.c:2128
++#: fortran/interface.c:2303
+ #, no-c-format
+ msgid "Same actual argument associated with INTENT(%s) argument '%s' and INTENT(%s) argument '%s' at %L"
+ msgstr "Samma aktuella argument associerat med INTENT(%s)-argument \"%s\" och INTENT(%s)-argument \"%s\" vid %L"
+
+-#: fortran/interface.c:2184
++#: fortran/interface.c:2359
+ #, no-c-format
+ msgid "Procedure argument at %L is INTENT(IN) while interface specifies INTENT(%s)"
+ msgstr "Procedurargument vid %L är INTENT(IN) medan gränssnitt anger INTENT(%s)"
+
+-#: fortran/interface.c:2194
++#: fortran/interface.c:2369
+ #, no-c-format
+ msgid "Procedure argument at %L is local to a PURE procedure and is passed to an INTENT(%s) argument"
+ msgstr "Procedurargument vid %L är lokalt i en PURE-procedur och skickas till ett INTENT(%s)-argument"
+
+-#: fortran/interface.c:2202
++#: fortran/interface.c:2377
+ #, no-c-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.c:2225
++#: fortran/interface.c:2400
+ #, no-c-format
+ msgid "Procedure '%s' called with an implicit interface at %L"
+ msgstr "Procedur \"%s\" anropad med ett implicit gränssnitt vid %L"
+
+-#: fortran/interface.c:2440
++#: fortran/interface.c:2629
+ #, no-c-format
+ msgid "Function '%s' called in lieu of an operator at %L must be PURE"
+ msgstr "Funktionen \"%s\" anropad istället för en operator vid %L måste vara PURE"
+
+-#: fortran/interface.c:2519
++#: fortran/interface.c:2708
+ #, no-c-format
+ msgid "Entity '%s' at %C is already present in the interface"
+ msgstr "Entitet \"%s\" vid %C finns redan i gränssnittet"
+
+-#: fortran/intrinsic.c:2918
++#: fortran/intrinsic.c:2923
+ #, no-c-format
+ msgid "Too many arguments in call to '%s' at %L"
+ msgstr "För många argument i anrop till \"%s\" vid %L"
+
+-#: fortran/intrinsic.c:2933
++#: fortran/intrinsic.c:2938
+ #, no-c-format
+ msgid "The argument list functions %%VAL, %%LOC or %%REF are not allowed in this context at %L"
+ msgstr "Argumentlistefunktionerna vid %%VAL, %%LOC eller %%REF är inte tillåten i denna kontext vid %L"
+
+-#: fortran/intrinsic.c:2936
++#: fortran/intrinsic.c:2941
+ #, no-c-format
+ msgid "Can't find keyword named '%s' in call to '%s' at %L"
+ msgstr "Nyckelord med namnet \"%s\" saknas i anrop till \"%s\" vid %L"
+
+-#: fortran/intrinsic.c:2943
++#: fortran/intrinsic.c:2948
+ #, no-c-format
+ msgid "Argument '%s' is appears twice in call to '%s' at %L"
+ msgstr "Argument \"%s\" förekommer två gånger i anrop till \"%s\" vid %L"
+
+-#: fortran/intrinsic.c:2957
++#: fortran/intrinsic.c:2962
+ #, no-c-format
+ msgid "Missing actual argument '%s' in call to '%s' at %L"
+ msgstr "Aktuellt argument \"%s\" saknas i anrop till \"%s\" vid %L"
+
+-#: fortran/intrinsic.c:2972
++#: fortran/intrinsic.c:2977
+ #, no-c-format
+ msgid "ALTERNATE RETURN not permitted at %L"
+ msgstr "ALTERNATE RETURN är inte tillåtet vid %L"
+
+-#: fortran/intrinsic.c:3021
++#: fortran/intrinsic.c:3026
+ #, no-c-format
+ msgid "Type of argument '%s' in call to '%s' at %L should be %s, not %s"
+ msgstr "Typen på argument \"%s\" i anrop till \"%s\" vid %L skulle varit %s, inte %s"
+
+-#: fortran/intrinsic.c:3337
++#: fortran/intrinsic.c:3342
+ #, no-c-format
+ msgid "Intrinsic '%s' at %L is not included in the selected standard"
+ msgstr "Inbyggd \"%s\" vid %L är inte med i den valda standarden"
+
+-#: fortran/intrinsic.c:3450
++#: fortran/intrinsic.c:3398
+ #, no-c-format
++msgid "Fortran 2003: Function '%s' as initialization expression at %L"
++msgstr "Fortran 2003: Funktion \"%s\" som initieringsuttryck vid %L"
++
++#: fortran/intrinsic.c:3463
++#, no-c-format
+ msgid "Fortran 2003: Elemental function as initialization expression with non-integer/non-character arguments at %L"
+ msgstr "Fortran 2003: Elementär funktion som initieraruttryck med argument som inte är heltal/tecken vid %L"
+
+-#: fortran/intrinsic.c:3508
++#: fortran/intrinsic.c:3524
+ #, no-c-format
+ msgid "Subroutine call to intrinsic '%s' at %L is not PURE"
+ msgstr "Subrutinanrop till inbyggd \"%s\" vid %L är inte PURE"
+
+-#: fortran/intrinsic.c:3579
++#: fortran/intrinsic.c:3595
+ #, no-c-format
+ msgid "Extension: Conversion from %s to %s at %L"
+ msgstr "Utökning: Konvertering från %s till %s vid %L"
+
+-#: fortran/intrinsic.c:3582
++#: fortran/intrinsic.c:3598
+ #, no-c-format
+ msgid "Conversion from %s to %s at %L"
+ msgstr "Konvertering från %s till %s vid %L"
+
+-#: fortran/intrinsic.c:3629
++#: fortran/intrinsic.c:3645
+ #, no-c-format
+ msgid "Can't convert %s to %s at %L"
+ msgstr "Kan inte konvertera %s till %s vid %L"
+
+-#: fortran/io.c:156 fortran/primary.c:738
++#: fortran/io.c:156 fortran/primary.c:750
+ #, no-c-format
+ msgid "Extension: backslash character at %C"
+ msgstr "Utökning: omvänt snedstreck vid %C"
+@@ -7065,7 +7091,7 @@
+ msgid "CLOSE statement not allowed in PURE procedure at %C"
+ msgstr "CLOSE-sats inte tillåten i PURE-procedur vid %C"
+
+-#: fortran/io.c:1955 fortran/match.c:1841
++#: fortran/io.c:1955 fortran/match.c:1911
+ #, no-c-format
+ msgid "%s statement not allowed in PURE procedure at %C"
+ msgstr "%s-sats är inte tillåtet i PURE-procedur vid %C"
+@@ -7080,516 +7106,491 @@
+ msgid "Duplicate UNIT specification at %C"
+ msgstr "Dubblerad UNIT-specifikation vid %C"
+
+-#: fortran/io.c:2128
++#: fortran/io.c:2132
+ #, no-c-format
+ msgid "Duplicate format specification at %C"
+ msgstr "Dubblerad formatspecifikation vid %C"
+
+-#: fortran/io.c:2145
++#: fortran/io.c:2149
+ #, no-c-format
+ msgid "Symbol '%s' in namelist '%s' is INTENT(IN) at %C"
+ msgstr "Symbolen \"%s\" i namnlistan \"Ts\" är INTENT(IN) vid %C"
+
+-#: fortran/io.c:2181
++#: fortran/io.c:2185
+ #, no-c-format
+ msgid "Duplicate NML specification at %C"
+ msgstr "Dubblerad NML-specifikation vid %C"
+
+-#: fortran/io.c:2190
++#: fortran/io.c:2194
+ #, no-c-format
+ msgid "Symbol '%s' at %C must be a NAMELIST group name"
+ msgstr "Symbolen \"%s\" vid %C måste vara ett NAMELIST-gruppnamn"
+
+-#: fortran/io.c:2231
++#: fortran/io.c:2235
+ #, no-c-format
+ msgid "END tag at %C not allowed in output statement"
+ msgstr "END-tagg vid %C är inte tillåten i utmatningssats"
+
+-#: fortran/io.c:2288
++#: fortran/io.c:2292
+ #, no-c-format
+ msgid "UNIT specification at %L must be an INTEGER expression or a CHARACTER variable"
+ msgstr "UNIT-specifikation vid %L måste vara ett INTEGER-uttryck eller en CHARACTER-variabel"
+
+-#: fortran/io.c:2297
++#: fortran/io.c:2301
+ #, no-c-format
+ msgid "Internal unit with vector subscript at %L"
+ msgstr "Intern enhet med vektorindex vid %L"
+
+-#: fortran/io.c:2304
++#: fortran/io.c:2308
+ #, no-c-format
+ msgid "External IO UNIT cannot be an array at %L"
+ msgstr "Extern IO UNIT får inte vara en vektor vid %L"
+
+-#: fortran/io.c:2314
++#: fortran/io.c:2318
+ #, no-c-format
+ msgid "ERR tag label %d at %L not defined"
+ msgstr "ERR-taggetikett %d vid %L inte definierad"
+
+-#: fortran/io.c:2326
++#: fortran/io.c:2330
+ #, no-c-format
+ msgid "END tag label %d at %L not defined"
+ msgstr "END-taggetikett %d vid %L inte definierad"
+
+-#: fortran/io.c:2338
++#: fortran/io.c:2342
+ #, no-c-format
+ msgid "EOR tag label %d at %L not defined"
+ msgstr "EOR-taggetikett %d vid %L inte definierad"
+
+-#: fortran/io.c:2348
++#: fortran/io.c:2352
+ #, no-c-format
+ msgid "FORMAT label %d at %L not defined"
+ msgstr "FORMAT-etikett %d vid %L inte definierad"
+
+-#: fortran/io.c:2469
++#: fortran/io.c:2473
+ #, no-c-format
+ msgid "Syntax error in I/O iterator at %C"
+ msgstr "Syntaxfel i I/O-iterator vid %C"
+
+-#: fortran/io.c:2500
++#: fortran/io.c:2504
+ #, no-c-format
+ msgid "Expected variable in READ statement at %C"
+ msgstr "Variabel förväntades i READ-sats vid %C"
+
+-#: fortran/io.c:2506
++#: fortran/io.c:2510
+ #, no-c-format
+ msgid "Expected expression in %s statement at %C"
+ msgstr "Förväntade uttryck i %s-sats vid %C"
+
+-#: fortran/io.c:2516
++#: fortran/io.c:2520
+ #, no-c-format
+ msgid "Variable '%s' in input list at %C cannot be INTENT(IN)"
+ msgstr "Variabeln \"%s\" i inmatningslista vid %C får inte vara INTENT(IN)"
+
+-#: fortran/io.c:2525
++#: fortran/io.c:2529
+ #, no-c-format
+ msgid "Cannot read to variable '%s' in PURE procedure at %C"
+ msgstr "Det går inte att läsa till variabel \"%s\" i PURE-procedur vid %C"
+
+-#: fortran/io.c:2541
++#: fortran/io.c:2545
+ #, no-c-format
+ msgid "Cannot write to internal file unit '%s' at %C inside a PURE procedure"
+ msgstr "Det går inte att skriva till intern filenhet \"%s\" vid %C inuti en PURE-procedur"
+
+ #. A general purpose syntax error.
+-#: fortran/io.c:2602 fortran/io.c:3004 fortran/gfortran.h:1998
++#: fortran/io.c:2606 fortran/io.c:3013 fortran/gfortran.h:2002
+ #, no-c-format
+ msgid "Syntax error in %s statement at %C"
+ msgstr "Syntaxfel i %s-sats vid %C"
+
+-#: fortran/io.c:2670
++#: fortran/io.c:2679
+ #, no-c-format
+ msgid "Fortran 2003: Internal file at %L with namelist"
+ msgstr "Fortran 2003: Intern fil vid %L med namnlista"
+
+-#: fortran/io.c:2833
++#: fortran/io.c:2842
+ #, no-c-format
+ msgid "PRINT namelist at %C is an extension"
+ msgstr "PRINT-namnlista vid %C är en utökning"
+
+-#: fortran/io.c:2965
++#: fortran/io.c:2974
+ #, no-c-format
+ msgid "Extension: Comma before i/o item list at %C"
+ msgstr "Utökning: Komma före i/o-elementlista vid %C"
+
+-#: fortran/io.c:2974
++#: fortran/io.c:2983
+ #, no-c-format
+ msgid "Expected comma in I/O list at %C"
+ msgstr "Komma förväntades i I/O-lista vid %C"
+
+-#: fortran/io.c:3036
++#: fortran/io.c:3045
+ #, no-c-format
+ msgid "PRINT statement at %C not allowed within PURE procedure"
+ msgstr "PRINT-sats vid %C är inte tillåten inuti PURE-procedur"
+
+-#: fortran/io.c:3176 fortran/io.c:3227
++#: fortran/io.c:3185 fortran/io.c:3236
+ #, no-c-format
+ msgid "INQUIRE statement not allowed in PURE procedure at %C"
+ msgstr "INQUIRE-sats är inte tillåten i PURE-procedur vid %C"
+
+-#: fortran/io.c:3203
++#: fortran/io.c:3212
+ #, no-c-format
+ msgid "IOLENGTH tag invalid in INQUIRE statement at %C"
+ msgstr "IOLENGTH-tagg ogiltig i INQUIRE-sats vid %C"
+
+-#: fortran/io.c:3213 fortran/trans-io.c:1144
++#: fortran/io.c:3222 fortran/trans-io.c:1145
+ #, no-c-format
+ msgid "INQUIRE statement at %L cannot contain both FILE and UNIT specifiers"
+ msgstr "INQUIRE-sats vid %L får inte innehålla både FILE- och UNIT-specificerare"
+
+-#: fortran/io.c:3220
++#: fortran/io.c:3229
+ #, no-c-format
+ msgid "INQUIRE statement at %L requires either FILE or UNIT specifier"
+ msgstr "INQUIRE-sats vid %L kräver antingen FILE- eller UNIT-specificerare"
+
+-#: fortran/match.c:270
++#: fortran/match.c:156
+ #, no-c-format
++msgid "Missing ')' in statement before %L"
++msgstr "\")\" saknas i sats före %L"
++
++#: fortran/match.c:161
++#, no-c-format
++msgid "Missing '(' in statement before %L"
++msgstr "\"(\" saknas i sats före %L"
++
++#: fortran/match.c:332
++#, no-c-format
+ msgid "Integer too large at %C"
+ msgstr "För stort heltal vid %C"
+
+-#: fortran/match.c:363 fortran/parse.c:442
++#: fortran/match.c:425 fortran/parse.c:589
+ #, no-c-format
+ msgid "Too many digits in statement label at %C"
+ msgstr "För många siffror i satsetikett vid %C"
+
+-#: fortran/match.c:369
++#: fortran/match.c:431
+ #, no-c-format
+ msgid "Statement label at %C is zero"
+ msgstr "Satsetikett vid %C är noll"
+
+-#: fortran/match.c:402
++#: fortran/match.c:464
+ #, no-c-format
+ msgid "Label name '%s' at %C is ambiguous"
+ msgstr "Etikettnamnet \"%s\" vid %C är tvetydigt"
+
+-#: fortran/match.c:408
++#: fortran/match.c:470
+ #, no-c-format
+ msgid "Duplicate construct label '%s' at %C"
+ msgstr "Dubblerad konstruktionsetikett \"%s\" vid %C"
+
+-#: fortran/match.c:438
++#: fortran/match.c:500
+ #, no-c-format
+ msgid "Invalid character in name at %C"
+ msgstr "Felaktigt tecken i namn vid %C"
+
+-#: fortran/match.c:451 fortran/match.c:523
++#: fortran/match.c:513 fortran/match.c:585
+ #, no-c-format
+ msgid "Name at %C is too long"
+ msgstr "Namn vid %C är för långt"
+
+-#: fortran/match.c:506 fortran/match.c:552
++#: fortran/match.c:568 fortran/match.c:614
+ #, no-c-format
+ msgid "Invalid C name in NAME= specifier at %C"
+ msgstr "Ogiltigt C-namn i NAME=-specificerare vid %C"
+
+-#: fortran/match.c:543
++#: fortran/match.c:605
+ #, no-c-format
+ msgid "Embedded space in NAME= specifier at %C"
+ msgstr "Inbäddad blank i NAME=-specificerare vid %C"
+
+-#: fortran/match.c:868
++#: fortran/match.c:930
+ #, no-c-format
+ msgid "Loop variable at %C cannot be a sub-component"
+ msgstr "Slingvariabel vid %C får inte vara en subkomponent"
+
+-#: fortran/match.c:874
++#: fortran/match.c:936
+ #, no-c-format
+ msgid "Loop variable '%s' at %C cannot be INTENT(IN)"
+ msgstr "Slingvariabeln \"%s\" vid %C får inte vara INTENT(IN)"
+
+-#: fortran/match.c:907
++#: fortran/match.c:969
+ #, no-c-format
+ msgid "Expected a step value in iterator at %C"
+ msgstr "Ett stegvärde förväntades i iterator vid %C"
+
+-#: fortran/match.c:919
++#: fortran/match.c:981
+ #, no-c-format
+ msgid "Syntax error in iterator at %C"
+ msgstr "Syntaxfel i iterator vid %C"
+
+-#: fortran/match.c:1155
++#: fortran/match.c:1217
+ #, no-c-format
+ msgid "Invalid form of PROGRAM statement at %C"
+ msgstr "Ogiltig form på PROGRAM-sats vid %C"
+
+-#: fortran/match.c:1196
++#: fortran/match.c:1258
+ #, no-c-format
+ msgid "Setting value of PROTECTED variable at %C"
+ msgstr "Sätter värde på PROTECTED variabel vid %C"
+
+-#: fortran/match.c:1249
++#: fortran/match.c:1311
+ #, no-c-format
+ msgid "Assigning to a PROTECTED pointer at %C"
+ msgstr "Tilldelar till en PROTECTED pekare vid %C"
+
+-#: fortran/match.c:1292 fortran/match.c:1365
++#: fortran/match.c:1354 fortran/match.c:1435
+ #, no-c-format
+ msgid "Obsolescent: arithmetic IF statement at %C"
+ msgstr "Förlegat: aritmetisk IF-sats vid %C"
+
+-#: fortran/match.c:1340
++#: fortran/match.c:1410
+ #, no-c-format
+ msgid "Syntax error in IF-expression at %C"
+ msgstr "Syntaxfel i IF-uttryck vid %C"
+
+-#: fortran/match.c:1351
++#: fortran/match.c:1421
+ #, no-c-format
+ msgid "Block label not appropriate for arithmetic IF statement at %C"
+ msgstr "Blocketikett är inte tillämplig för aritmetisk IF-sats vid %C"
+
+-#: fortran/match.c:1389
++#: fortran/match.c:1459
+ #, no-c-format
+-msgid "Block label is not appropriate IF statement at %C"
+-msgstr "Blocketikett är inte tillämplig IF-sats vid %C"
++msgid "Block label is not appropriate for IF statement at %C"
++msgstr "Blocketikett är inte tillämplig för IF-sats vid %C"
+
+-#: fortran/match.c:1468 fortran/primary.c:2522
++#: fortran/match.c:1538 fortran/primary.c:2559
+ #, no-c-format
+ msgid "Cannot assign to a named constant at %C"
+ msgstr "Det går inte att tilldela till en namngiven konstant vid %C"
+
+-#: fortran/match.c:1478
++#: fortran/match.c:1548
+ #, no-c-format
+ msgid "Unclassifiable statement in IF-clause at %C"
+ msgstr "Oklassificerbar sats i IF-klausul vid %C"
+
+-#: fortran/match.c:1485
++#: fortran/match.c:1555
+ #, no-c-format
+ msgid "Syntax error in IF-clause at %C"
+ msgstr "Syntaxfel i IF-klausul vid %C"
+
+-#: fortran/match.c:1529
++#: fortran/match.c:1599
+ #, no-c-format
+ msgid "Unexpected junk after ELSE statement at %C"
+ msgstr "Oväntat skräp efter ELSE-sats vid %C"
+
+-#: fortran/match.c:1535 fortran/match.c:1570
++#: fortran/match.c:1605 fortran/match.c:1640
+ #, no-c-format
+ msgid "Label '%s' at %C doesn't match IF label '%s'"
+ msgstr "Etiketten \"%s\" vid %C stämmer inte med IF-etikett \"%s\""
+
+-#: fortran/match.c:1564
++#: fortran/match.c:1634
+ #, no-c-format
+ msgid "Unexpected junk after ELSE IF statement at %C"
+ msgstr "Oväntat skräp efter ELSE-IF-sats vid %C"
+
+-#: fortran/match.c:1727
++#: fortran/match.c:1797
+ #, no-c-format
+ msgid "Name '%s' in %s statement at %C is not a loop name"
+ msgstr "Namnet \"%s\" i %s-sats vid %C är inte ett slingnamn"
+
+-#: fortran/match.c:1743
++#: fortran/match.c:1813
+ #, no-c-format
+ msgid "%s statement at %C is not within a loop"
+ msgstr "%s-sats vid %C är inte inne i en slinga"
+
+-#: fortran/match.c:1746
++#: fortran/match.c:1816
+ #, no-c-format
+ msgid "%s statement at %C is not within loop '%s'"
+ msgstr "%s-sats vid %C är inte i slingan \"%s\""
+
+-#: fortran/match.c:1754
++#: fortran/match.c:1824
+ #, no-c-format
+ msgid "%s statement at %C leaving OpenMP structured block"
+ msgstr "%s-sats vid %C lämnar ett OpenMP strukturerat block"
+
+-#: fortran/match.c:1767
++#: fortran/match.c:1837
+ #, no-c-format
+ msgid "EXIT statement at %C terminating !$OMP DO loop"
+ msgstr "EXIT-sats vid %C avslutar !$OMP DO-slinga"
+
+-#: fortran/match.c:1819
++#: fortran/match.c:1889
+ #, no-c-format
+ msgid "Too many digits in STOP code at %C"
+ msgstr "För många siffror i STOP-kod vid %C"
+
+-#: fortran/match.c:1872
++#: fortran/match.c:1942
+ #, no-c-format
+ msgid "Deleted feature: PAUSE statement at %C"
+ msgstr "Borttagen funktion: PAUSE-sats vid %C"
+
+-#: fortran/match.c:1920
++#: fortran/match.c:1990
+ #, no-c-format
+ msgid "Deleted feature: ASSIGN statement at %C"
+ msgstr "Borttagen funktion: ASSIGN-sats vid %C"
+
+-#: fortran/match.c:1966
++#: fortran/match.c:2036
+ #, no-c-format
+ msgid "Deleted feature: Assigned GOTO statement at %C"
+ msgstr "Borttagen funktion: Tilldelad GOTO-sats vid %C"
+
+-#: fortran/match.c:2013 fortran/match.c:2065
++#: fortran/match.c:2083 fortran/match.c:2135
+ #, no-c-format
+ msgid "Statement label list in GOTO at %C cannot be empty"
+ msgstr "Satsetikettlistan i GOTO vid %C får inte vara tom"
+
+-#: fortran/match.c:2149
++#: fortran/match.c:2219
+ #, no-c-format
+ msgid "Bad allocate-object in ALLOCATE statement at %C for a PURE procedure"
+ msgstr "Felaktigt allokeringsobjekt i ALLOCATE-sats vid %C för en PURE-procedur"
+
+-#: fortran/match.c:2173
++#: fortran/match.c:2287
+ #, no-c-format
+-msgid "STAT variable '%s' of ALLOCATE statement at %C cannot be INTENT(IN)"
+-msgstr "ALLOCATE-satsens STAT-variabel \"%s\" vid %C får inte vara INTENT(IN)"
+-
+-#: fortran/match.c:2180
+-#, no-c-format
+-msgid "Illegal STAT variable in ALLOCATE statement at %C for a PURE procedure"
+-msgstr "Otillåten STAT-variabel i ALLOCATE-sats vid %C för en PURE-procedur"
+-
+-#: fortran/match.c:2218 fortran/match.c:2382
+-#, no-c-format
+-msgid "STAT expression at %C must be a variable"
+-msgstr "STAT-uttryck vid %C måste vara en variabel"
+-
+-#: fortran/match.c:2272
+-#, no-c-format
+ msgid "Illegal variable in NULLIFY at %C for a PURE procedure"
+ msgstr "Otillåten variabel i NULLIFY vid %C för en PURE-procedur"
+
+-#: fortran/match.c:2349
++#: fortran/match.c:2364
+ #, no-c-format
+ msgid "Illegal deallocate-expression in DEALLOCATE at %C for a PURE procedure"
+ msgstr "Otillåtet avallokeringsuttryck i DEALLOCATE vid %C för en PURE-procedur"
+
+-#: fortran/match.c:2368
++#: fortran/match.c:2417
+ #, no-c-format
+-msgid "STAT variable '%s' of DEALLOCATE statement at %C cannot be INTENT(IN)"
+-msgstr "STAT-variabeln \"%s\" till DEALLOCATE-satsen vid %C får inte vara INTENT(IN)"
+-
+-#: fortran/match.c:2375
+-#, no-c-format
+-msgid "Illegal STAT variable in DEALLOCATE statement at %C for a PURE procedure"
+-msgstr "Otillåten STAT-variabel i DEALLOCATE-sats vid %C för en PURE-procedur"
+-
+-#: fortran/match.c:2424
+-#, no-c-format
+ msgid "Alternate RETURN statement at %C is only allowed within a SUBROUTINE"
+ msgstr "Alternativ RETURN-sats vid %C är bara tillåten inuti en SUBROUTINE"
+
+-#: fortran/match.c:2455
++#: fortran/match.c:2448
+ #, no-c-format
+ msgid "Extension: RETURN statement in main program at %C"
+ msgstr "Utökning: RETURN-sats i huvudprogram vid %C"
+
+-#: fortran/match.c:2665
++#: fortran/match.c:2658
+ #, no-c-format
+ msgid "Syntax error in common block name at %C"
+ msgstr "Syntaxfel i common-blocknamn vid %C"
+
+-#: fortran/match.c:2701
++#: fortran/match.c:2694
+ #, no-c-format
+ msgid "Symbol '%s' at %C is already an external symbol that is not COMMON"
+ msgstr "Symbolen \"%s\" vid %C är redan en extern symbol som inte är COMMON"
+
+-#: fortran/match.c:2719
+-#, no-c-format
+-msgid "BLOCK DATA unit cannot contain blank COMMON at %C"
+-msgstr "En BLOCK DATA-enhet får inte innehålla tom COMMON vid %C"
+-
+ #. If we find an error, just print it and continue,
+ #. cause it's just semantic, and we can see if there
+ #. are more errors.
+-#: fortran/match.c:2765
++#: fortran/match.c:2753
+ #, no-c-format
+ msgid "Variable '%s' at %L in common block '%s' at %C must be declared with a C interoperable kind since common block '%s' is bind(c)"
+ msgstr "Variabel \"%s\" vid %L i common-block \"%s\" vid %C måste deklareras med en C-interoperativ sort eftersom common-block \"%s\" är bind(c)"
+
+-#: fortran/match.c:2774
++#: fortran/match.c:2762
+ #, no-c-format
+ msgid "Variable '%s' in common block '%s' at %C can not be bind(c) since it is not global"
+ msgstr "Variabel \"%s\" i common-block \"%s\" vid %C får inte vara bind(c) eftersom det inte är globalt"
+
+-#: fortran/match.c:2781
++#: fortran/match.c:2769
+ #, no-c-format
+ msgid "Symbol '%s' at %C is already in a COMMON block"
+ msgstr "Symbolen \"%s\" vid %C är redan i ett COMMON-block"
+
+-#: fortran/match.c:2793
++#: fortran/match.c:2777
+ #, no-c-format
+-msgid "Previously initialized symbol '%s' in blank COMMON block at %C"
+-msgstr "Tidigare initierad symbol \"%s\" i blankt COMMON-block vid %C"
++msgid "Initialized symbol '%s' at %C can only be COMMON in BLOCK DATA"
++msgstr "Initierad symbol \"%s\" vid %C kan endast vara COMMON i BLOCK DATA"
+
+-#: fortran/match.c:2796
++#: fortran/match.c:2804
+ #, no-c-format
+-msgid "Previously initialized symbol '%s' in COMMON block '%s' at %C"
+-msgstr "Tidigare initierad symbol \"%s\" i COMMON-block \"%s\" vid %C"
+-
+-#: fortran/match.c:2821
+-#, no-c-format
+ msgid "Array specification for symbol '%s' in COMMON at %C must be explicit"
+ msgstr "Vektorspecifikation för symbolen \"%s\" i COMMON vid %C måste vara explicit"
+
+-#: fortran/match.c:2831
++#: fortran/match.c:2814
+ #, no-c-format
+ msgid "Symbol '%s' in COMMON at %C cannot be a POINTER array"
+ msgstr "Symbolen \"%s\" i COMMON vid %C får inte vara en POINTER-vektor"
+
+-#: fortran/match.c:2863
++#: fortran/match.c:2846
+ #, no-c-format
+ msgid "Symbol '%s', in COMMON block '%s' at %C is being indirectly equivalenced to another COMMON block '%s'"
+ msgstr "Symbolen \"%s\", i COMMON-block \"%s\" vid %C är indirekt gjort ekvivalent med ett annat COMMON-block \"%s\""
+
+-#: fortran/match.c:2971
++#: fortran/match.c:2954
+ #, no-c-format
+ msgid "Namelist group name '%s' at %C already has a basic type of %s"
+ msgstr "Namnlistegruppnamnet \"%s\" vid %C har redan grundtypen %s"
+
+-#: fortran/match.c:2979
++#: fortran/match.c:2962
+ #, no-c-format
+ msgid "Namelist group name '%s' at %C already is USE associated and cannot be respecified."
+ msgstr "Namnlistegruppnamn \"%s\" vid %C är redan USE-associerat och får inte specificeras om."
+
+-#: fortran/match.c:3006
++#: fortran/match.c:2989
+ #, no-c-format
+ msgid "Assumed size array '%s' in namelist '%s' at %C is not allowed"
+ msgstr "Vektor \"%s\" med underförstådd storlek i namnlistan \"%s\" vid %C är inte tillåtet"
+
+-#: fortran/match.c:3013
++#: fortran/match.c:2996
+ #, no-c-format
+ msgid "Assumed character length '%s' in namelist '%s' at %C is not allowed"
+ msgstr "Antagen teckenlängd \"%s\" i namnlistan \"%s\" vid %C är inte tillåtet"
+
+-#: fortran/match.c:3140
++#: fortran/match.c:3123
+ #, no-c-format
+ msgid "Derived type component %C is not a permitted EQUIVALENCE member"
+ msgstr "Härledd typkomponent %C är inte en tillåten EQUIVALENCE-medlem"
+
+-#: fortran/match.c:3148
++#: fortran/match.c:3131
+ #, no-c-format
+ msgid "Array reference in EQUIVALENCE at %C cannot be an array section"
+ msgstr "Vektorreferens i EQUIVALENCE vid %C får inte vara en vektorsektion"
+
+-#: fortran/match.c:3176
++#: fortran/match.c:3159
+ #, no-c-format
+ msgid "EQUIVALENCE at %C requires two or more objects"
+ msgstr "EQUIVALENCE vid %C kräver två eller flera objekt"
+
+-#: fortran/match.c:3190
++#: fortran/match.c:3173
+ #, no-c-format
+ msgid "Attempt to indirectly overlap COMMON blocks %s and %s by EQUIVALENCE at %C"
+ msgstr "Försök att indirekt överlappa COMMON-block %s och %s med EQUIVALENCE vid %C"
+
+-#: fortran/match.c:3351
++#: fortran/match.c:3299
+ #, no-c-format
+ msgid "Statement function at %L is recursive"
+ msgstr "Satsfunktion vid %L är rekursiv"
+
+-#: fortran/match.c:3439
++#: fortran/match.c:3387
+ #, no-c-format
+ msgid "Expected initialization expression in CASE at %C"
+ msgstr "Initieringsuttryck förväntades i CASE vid %C"
+
+-#: fortran/match.c:3462
++#: fortran/match.c:3410
+ #, no-c-format
+ msgid "Expected the name of the SELECT CASE construct at %C"
+ msgstr "Förväntade namnet på SELECT CASE-konstruktionen vid %C"
+
+-#: fortran/match.c:3474
++#: fortran/match.c:3422
+ #, no-c-format
+ msgid "Expected case name of '%s' at %C"
+ msgstr "Case-namnet \"%s\" förväntades vid %C"
+
+-#: fortran/match.c:3518
++#: fortran/match.c:3466
+ #, no-c-format
+ msgid "Unexpected CASE statement at %C"
+ msgstr "Oväntad CASE-sats vid %C"
+
+-#: fortran/match.c:3570
++#: fortran/match.c:3518
+ #, no-c-format
+ msgid "Syntax error in CASE-specification at %C"
+ msgstr "Syntaxfel i CASE-specifikation vid %C"
+
+-#: fortran/match.c:3690
++#: fortran/match.c:3638
+ #, no-c-format
+ msgid "ELSEWHERE statement at %C not enclosed in WHERE block"
+ msgstr "ELSEWHERE-sats vid %C inte innesluten i WHERE-block"
+
+-#: fortran/match.c:3728
++#: fortran/match.c:3676
+ #, no-c-format
+ msgid "Label '%s' at %C doesn't match WHERE label '%s'"
+ msgstr "Etiketten \"%s\" vid %C stämmer inte med WHERE-etikett \"%s\""
+
+-#: fortran/match.c:3828
++#: fortran/match.c:3776
+ #, no-c-format
+ msgid "Syntax error in FORALL iterator at %C"
+ msgstr "Syntaxfel i FORALL-iterator vid %C"
+@@ -7619,7 +7620,8 @@
+ msgid "Expected exponent in expression at %C"
+ msgstr "Förväntade exponent i uttryck vid %C"
+
+-#: fortran/matchexp.c:348 fortran/matchexp.c:452
++#: fortran/matchexp.c:350 fortran/matchexp.c:355 fortran/matchexp.c:459
++#: fortran/matchexp.c:464
+ #, no-c-format
+ msgid "Extension: Unary operator following arithmetic operator (use parentheses) at %C"
+ msgstr "Utökning: Unär operator följer aritmetisk operator (använd parenteser) vid %C"
+@@ -7744,123 +7746,123 @@
+ msgid "Expected real string"
+ msgstr "Förväntade reell sträng"
+
+-#: fortran/module.c:2722
++#: fortran/module.c:2730
+ msgid "Expected expression type"
+ msgstr "Uttryckstyp förväntades"
+
+-#: fortran/module.c:2776
++#: fortran/module.c:2784
+ msgid "Bad operator"
+ msgstr "Felaktig operator"
+
+-#: fortran/module.c:2861
++#: fortran/module.c:2869
+ msgid "Bad type in constant expression"
+ msgstr "Felaktig typ i konstantuttryck"
+
+-#: fortran/module.c:2898
++#: fortran/module.c:2906
+ #, no-c-format
+ msgid "Namelist %s cannot be renamed by USE association to %s"
+ msgstr "Namnlistan %s får inte namnändras av USE-association till %s"
+
+-#: fortran/module.c:3723
++#: fortran/module.c:3847
+ #, no-c-format
+ msgid "Symbol '%s' referenced at %L not found in module '%s'"
+ msgstr "Symbolen \"%s\" refererad från %L finns inte i modulen \"%s\""
+
+-#: fortran/module.c:3730
++#: fortran/module.c:3854
+ #, no-c-format
+ msgid "User operator '%s' referenced at %L not found in module '%s'"
+ msgstr "Användaroperatorn \"%s\" refererad från %L finns inte i modulen \"%s\""
+
+-#: fortran/module.c:3735
++#: fortran/module.c:3859
+ #, no-c-format
+ msgid "Intrinsic operator '%s' referenced at %L not found in module '%s'"
+ msgstr "Inbyggd operator \"%s\" refererad från %L finns inte i modulen \"%s\""
+
+-#: fortran/module.c:4213
++#: fortran/module.c:4400
+ #, no-c-format
+ msgid "Can't open module file '%s' for writing at %C: %s"
+ msgstr "Kan inte öppna modulfilen \"%s\" för skrivning vid %C: %s"
+
+-#: fortran/module.c:4251
++#: fortran/module.c:4438
+ #, no-c-format
+ msgid "Error writing module file '%s' for writing: %s"
+ msgstr "Fel när modulfilen \"%s\" skrevs: %s"
+
+-#: fortran/module.c:4281 fortran/module.c:4363
++#: fortran/module.c:4468 fortran/module.c:4550
+ #, no-c-format
+ msgid "Symbol '%s' referenced at %L does not exist in intrinsic module ISO_C_BINDING."
+ msgstr "Symbolen \"%s\" refererad från %L finns inte i den inbyggda modulen ISO_C_BINDING"
+
+-#: fortran/module.c:4394
++#: fortran/module.c:4581
+ #, no-c-format
+ msgid "Symbol '%s' referenced at %L not found in intrinsic module ISO_C_BINDING"
+ msgstr "Symbolen \"%s\" refererad från %L hittas inte i den inbyggda modulen ISO_C_BINDING"
+
+-#: fortran/module.c:4416
++#: fortran/module.c:4603
+ #, no-c-format
+ msgid "Symbol '%s' already declared"
+ msgstr "Symbolen \"%s\" är redan deklarerad"
+
+-#: fortran/module.c:4471
++#: fortran/module.c:4658
+ #, no-c-format
+ msgid "Use of intrinsic module '%s' at %C conflicts with non-intrinsic module name used previously"
+ msgstr "Användning av inbyggd modul \"%s\" vid %C står i konflikt med namn på ej inbyggd modul använd tidigare"
+
+-#: fortran/module.c:4484
++#: fortran/module.c:4671
+ #, no-c-format
+ msgid "Symbol '%s' referenced at %L does not exist in intrinsic module ISO_FORTRAN_ENV"
+ msgstr "Symbolen \"%s\" refererad från %L finns inte i den inbyggda modulen ISO_FORTRAN_ENV"
+
+-#: fortran/module.c:4492
++#: fortran/module.c:4679
+ #, no-c-format
+ msgid "Use of the NUMERIC_STORAGE_SIZE named constant from intrinsic module ISO_FORTRAN_ENV at %L is incompatible with option %s"
+ msgstr "Användning av namngiven NUMERIC_STORAGE_SIZE-konstant från inbyggd modul ISO_FORTRAN_ENV vid %L är inte kompatibelt med flaggan %s"
+
+-#: fortran/module.c:4520
++#: fortran/module.c:4707
+ #, no-c-format
+ msgid "Use of the NUMERIC_STORAGE_SIZE named constant from intrinsic module ISO_FORTRAN_ENV at %C is incompatible with option %s"
+ msgstr "Användning av namngiven NUMERIC_STORAGE_SIZE-konstant från inbyggd modul ISO_FORTRAN_ENV vid %C är inte kompatibelt med flaggan %s"
+
+-#: fortran/module.c:4536
++#: fortran/module.c:4723
+ #, no-c-format
+ msgid "Symbol '%s' referenced at %L not found in intrinsic module ISO_FORTRAN_ENV"
+ msgstr "Symbolen \"%s\" refererad vid %L hittas inte i den inbyggda modulen ISO_FORTRAN_ENV"
+
+-#: fortran/module.c:4569
++#: fortran/module.c:4756
+ #, no-c-format
+ msgid "Fortran 2003: ISO_FORTRAN_ENV intrinsic module at %C"
+ msgstr "Fortran 2003: inbyggd modul ISO_FORTRAN_ENV vid %C"
+
+-#: fortran/module.c:4577
++#: fortran/module.c:4764
+ #, no-c-format
+ msgid "Fortran 2003: ISO_C_BINDING module at %C"
+ msgstr "Fortran 2003: ISO_C_BINDING-modul vid %L"
+
+-#: fortran/module.c:4587
++#: fortran/module.c:4774
+ #, no-c-format
+ msgid "Can't find an intrinsic module named '%s' at %C"
+ msgstr "Det finns ingen inbyggd modul med namnet \"%s\" vid %C"
+
+-#: fortran/module.c:4592
++#: fortran/module.c:4779
+ #, no-c-format
+ msgid "Can't open module file '%s' for reading at %C: %s"
+ msgstr "Kan inte öppna modulfilen \"%s\" för läsning: %s"
+
+-#: fortran/module.c:4600
++#: fortran/module.c:4787
+ #, no-c-format
+ msgid "Use of non-intrinsic module '%s' at %C conflicts with intrinsic module name used previously"
+ msgstr "Användning av ej inbyggd modul \"%s\" vid %C står i konflikt med namn på inbyggd modul använd tidigare"
+
+-#: fortran/module.c:4615
++#: fortran/module.c:4802
+ msgid "Unexpected end of module"
+ msgstr "Oväntat modulslut"
+
+-#: fortran/module.c:4620
++#: fortran/module.c:4807
+ #, no-c-format
+ msgid "File '%s' opened at %C is not a GFORTRAN module file"
+ msgstr "Filen \"%s\" öppnad vid %C är inte en GFORTRAN-modulfil"
+
+-#: fortran/module.c:4630
++#: fortran/module.c:4817
+ #, no-c-format
+ msgid "Can't USE the same module we're building!"
+ msgstr "Det går inta att USE samma modul vi bygger!"
+@@ -7890,7 +7892,7 @@
+ msgid "Syntax error in !$OMP THREADPRIVATE list at %C"
+ msgstr "Syntaxfel i !$OMP THREADPRIVATE-lista vid %C"
+
+-#: fortran/openmp.c:696 fortran/resolve.c:5822 fortran/resolve.c:6133
++#: fortran/openmp.c:696 fortran/resolve.c:5970 fortran/resolve.c:6317
+ #, no-c-format
+ msgid "IF clause at %L requires a scalar LOGICAL expression"
+ msgstr "IF-klausul vid %L kräver ett skalärt LOGICAL-uttryck"
+@@ -8186,299 +8188,299 @@
+ msgid "Maximum subrecord length cannot exceed %d"
+ msgstr "Maximal delpostlängd får inte överstiga %d"
+
+-#: fortran/parse.c:304
++#: fortran/parse.c:451
+ #, no-c-format
+ msgid "Unclassifiable statement at %C"
+ msgstr "Oklassificerbar sats vid %C"
+
+-#: fortran/parse.c:328
++#: fortran/parse.c:475
+ #, no-c-format
+ msgid "OpenMP directives at %C may not appear in PURE or ELEMENTAL procedures"
+ msgstr "OpenMP-direktiv vid %C för inte förekomma i PURE- eller ELEMENTAL-procedurer"
+
+-#: fortran/parse.c:406
++#: fortran/parse.c:553
+ #, no-c-format
+ msgid "Unclassifiable OpenMP directive at %C"
+ msgstr "Oklassificerbart OpenMP-direktiv vid %C"
+
+-#: fortran/parse.c:445 fortran/parse.c:586
++#: fortran/parse.c:592 fortran/parse.c:733
+ #, no-c-format
+ msgid "Zero is not a valid statement label at %C"
+ msgstr "Noll är inte en giltig satsetikett vid %C"
+
+-#: fortran/parse.c:452 fortran/parse.c:578
++#: fortran/parse.c:599 fortran/parse.c:725
+ #, no-c-format
+ msgid "Non-numeric character in statement label at %C"
+ msgstr "Icke-numeriska tecken i satsetikett vid %C"
+
+-#: fortran/parse.c:464 fortran/parse.c:500 fortran/parse.c:626
++#: fortran/parse.c:611 fortran/parse.c:647 fortran/parse.c:773
+ #, no-c-format
+ msgid "Semicolon at %C needs to be preceded by statement"
+ msgstr "Semikolon vid %C måste föregås av en sats"
+
+-#: fortran/parse.c:472 fortran/parse.c:638
++#: fortran/parse.c:619 fortran/parse.c:785
+ #, no-c-format
+ msgid "Ignoring statement label in empty statement at %C"
+ msgstr "Ignorerar satsetikett i tom sats vid %C"
+
+-#: fortran/parse.c:565 fortran/parse.c:605
++#: fortran/parse.c:712 fortran/parse.c:752
+ #, no-c-format
+ msgid "Bad continuation line at %C"
+ msgstr "Felaktig fortsättningsrad vid %C"
+
+-#: fortran/parse.c:664
++#: fortran/parse.c:811
+ #, no-c-format
+ msgid "Line truncated at %C"
+ msgstr "Rad avhuggen vid %C"
+
+-#: fortran/parse.c:841
++#: fortran/parse.c:997
+ #, no-c-format
+ msgid "FORMAT statement at %L does not have a statement label"
+ msgstr "FORMAT-sats vid %L har inte en satsetikett"
+
+-#: fortran/parse.c:913
++#: fortran/parse.c:1069
+ msgid "arithmetic IF"
+ msgstr "aritmetiskt IF"
+
+-#: fortran/parse.c:919
++#: fortran/parse.c:1075
+ msgid "attribute declaration"
+ msgstr "attributdeklaration"
+
+-#: fortran/parse.c:949
++#: fortran/parse.c:1105
+ msgid "data declaration"
+ msgstr "datadeklaration"
+
+-#: fortran/parse.c:958
++#: fortran/parse.c:1114
+ msgid "derived type declaration"
+ msgstr "härledd typdeklaration"
+
+-#: fortran/parse.c:1037
++#: fortran/parse.c:1193
+ msgid "block IF"
+ msgstr "block-IF"
+
+-#: fortran/parse.c:1046
++#: fortran/parse.c:1202
+ msgid "implied END DO"
+ msgstr "underförstådd END DO"
+
+-#: fortran/parse.c:1119
++#: fortran/parse.c:1275
+ msgid "assignment"
+ msgstr "tilldelning"
+
+-#: fortran/parse.c:1122
++#: fortran/parse.c:1278
+ msgid "pointer assignment"
+ msgstr "pekartilldelning"
+
+-#: fortran/parse.c:1131
++#: fortran/parse.c:1287
+ msgid "simple IF"
+ msgstr "enkelt IF"
+
+-#: fortran/parse.c:1347
++#: fortran/parse.c:1503
+ #, no-c-format
+ msgid "Unexpected %s statement at %C"
+ msgstr "Oväntad %s-sats vid %C"
+
+-#: fortran/parse.c:1486
++#: fortran/parse.c:1642
+ #, no-c-format
+ msgid "%s statement at %C cannot follow %s statement at %L"
+ msgstr "%s-sats vid %C får inte följa efter %s-sats vid %L"
+
+-#: fortran/parse.c:1503
++#: fortran/parse.c:1659
+ #, no-c-format
+ msgid "Unexpected end of file in '%s'"
+ msgstr "Oväntat filslut i \"%s\""
+
+-#: fortran/parse.c:1558
++#: fortran/parse.c:1714
+ #, no-c-format
+ msgid "Fortran 2003: Derived type definition at %C without components"
+ msgstr "Fortran 2003: Härledd typdefinition vid %C utan komponenter"
+
+-#: fortran/parse.c:1569
++#: fortran/parse.c:1725
+ #, no-c-format
+ msgid "PRIVATE statement in TYPE at %C must be inside a MODULE"
+ msgstr "PRIVATE-sats i TYPE vid TC måste vara inuti en MODULE"
+
+-#: fortran/parse.c:1577
++#: fortran/parse.c:1733
+ #, no-c-format
+ msgid "PRIVATE statement at %C must precede structure components"
+ msgstr "PRIVATE-sats vid %C måste föregå strukturkomponenter"
+
+-#: fortran/parse.c:1585
++#: fortran/parse.c:1741
+ #, no-c-format
+ msgid "Duplicate PRIVATE statement at %C"
+ msgstr "Dubblerad PRIVATE-sats vid %C"
+
+-#: fortran/parse.c:1597
++#: fortran/parse.c:1753
+ #, no-c-format
+ msgid "SEQUENCE statement at %C must precede structure components"
+ msgstr "SEQUENCE-sats vid %C måste föregå strukturkomponenter"
+
+-#: fortran/parse.c:1604
++#: fortran/parse.c:1760
+ #, no-c-format
+ msgid "SEQUENCE attribute at %C already specified in TYPE statement"
+ msgstr "SEQUENCE-attribut vid %C är redan angett i TYPE-sats"
+
+-#: fortran/parse.c:1609
++#: fortran/parse.c:1765
+ #, no-c-format
+ msgid "Duplicate SEQUENCE statement at %C"
+ msgstr "Dubblerad SEQUENCE-sats vid %C"
+
+-#: fortran/parse.c:1700
++#: fortran/parse.c:1856
+ #, no-c-format
+ msgid "ENUM declaration at %C has no ENUMERATORS"
+ msgstr "ENUM-deklaration vid %C har inga ENUMERATORS"
+
+-#: fortran/parse.c:1778
++#: fortran/parse.c:1934
+ #, no-c-format
+ msgid "Unexpected %s statement in INTERFACE block at %C"
+ msgstr "Oväntad %s-sats i INTERFACE-block vid %C"
+
+-#: fortran/parse.c:1804
++#: fortran/parse.c:1960
+ #, no-c-format
+ msgid "SUBROUTINE at %C does not belong in a generic function interface"
+ msgstr "SUBROUTINE vid %C tillhör inte ett generiskt funktionsgränssnitt"
+
+-#: fortran/parse.c:1808
++#: fortran/parse.c:1964
+ #, no-c-format
+ msgid "FUNCTION at %C does not belong in a generic subroutine interface"
+ msgstr "FUNCTION vid %C tillhör inte ett generiskt subrutingränssnitt"
+
+-#: fortran/parse.c:1818
++#: fortran/parse.c:1974
+ #, no-c-format
+ msgid "Name '%s' of ABSTRACT INTERFACE at %C cannot be the same as an intrinsic type"
+ msgstr "Namnet \"%s\" i ABSTRACT INTERFACE vid %C kan inte vara samma som en inbyggd typ"
+
+-#: fortran/parse.c:1849
++#: fortran/parse.c:2005
+ #, no-c-format
+ msgid "Unexpected %s statement at %C in INTERFACE body"
+ msgstr "Oväntad %s-sats vid %C i INTERFACE-kropp"
+
+-#: fortran/parse.c:1863
++#: fortran/parse.c:2019
+ #, no-c-format
+ msgid "INTERFACE procedure '%s' at %L has the same name as the enclosing procedure"
+ msgstr "INTERFACE-procedur \"%s\" vid %L har samman namn som den inneslutande proceduren"
+
+-#: fortran/parse.c:1958
++#: fortran/parse.c:2134
+ #, no-c-format
+ msgid "%s statement must appear in a MODULE"
+ msgstr "%s-sats måste vara i en MODULE"
+
+-#: fortran/parse.c:1965
++#: fortran/parse.c:2141
+ #, no-c-format
+ msgid "%s statement at %C follows another accessibility specification"
+ msgstr "%s-sats vid %C följer på en annan åtkomstspecifikation"
+
+-#: fortran/parse.c:2015
++#: fortran/parse.c:2191
+ #, no-c-format
+ msgid "Bad kind expression for function '%s' at %L"
+ msgstr "Fel sorts uttryck för funktionen \"%s\" vid %L"
+
+-#: fortran/parse.c:2018
++#: fortran/parse.c:2195
+ #, no-c-format
+ msgid "The type for function '%s' at %L is not accessible"
+ msgstr "Typen på funktionen \"%s\" vid %L är inte tillgänglig"
+
+-#: fortran/parse.c:2070
++#: fortran/parse.c:2253
+ #, no-c-format
+ msgid "ELSEWHERE statement at %C follows previous unmasked ELSEWHERE"
+ msgstr "ELSEWHERE-sats vid %C följer tidigare omaskerat ELSEWHERE"
+
+-#: fortran/parse.c:2091
++#: fortran/parse.c:2274
+ #, no-c-format
+ msgid "Unexpected %s statement in WHERE block at %C"
+ msgstr "Oväntad %s-sats i WHERE-block vid %C"
+
+-#: fortran/parse.c:2150
++#: fortran/parse.c:2333
+ #, no-c-format
+ msgid "Unexpected %s statement in FORALL block at %C"
+ msgstr "Oväntad %s-sats i FORALL-block vid %C"
+
+-#: fortran/parse.c:2201
++#: fortran/parse.c:2384
+ #, no-c-format
+ msgid "ELSE IF statement at %C cannot follow ELSE statement at %L"
+ msgstr "ELSE IF-sats vid %C kan inte följa ELSE-sats vid %L"
+
+-#: fortran/parse.c:2219
++#: fortran/parse.c:2402
+ #, no-c-format
+ msgid "Duplicate ELSE statements at %L and %C"
+ msgstr "Dubblerad ELSE-sats vid %L och %C"
+
+-#: fortran/parse.c:2280
++#: fortran/parse.c:2463
+ #, no-c-format
+ msgid "Expected a CASE or END SELECT statement following SELECT CASE at %C"
+ msgstr "En CASE- eller END SELECT-sats förväntades följa efter SELECT CASE vid %C"
+
+-#: fortran/parse.c:2338
++#: fortran/parse.c:2521
+ #, no-c-format
+ msgid "Variable '%s' at %C cannot be redefined inside loop beginning at %L"
+ msgstr "Variabeln \"%s\" vid %C får inte definieras om inuti slingan som börjar vid %L"
+
+-#: fortran/parse.c:2372
++#: fortran/parse.c:2555
+ #, no-c-format
+ msgid "End of nonblock DO statement at %C is within another block"
+ msgstr "Slut på DO-sats utan block vid %C är inuti ett annat block"
+
+-#: fortran/parse.c:2381
++#: fortran/parse.c:2564
+ #, no-c-format
+ msgid "End of nonblock DO statement at %C is interwoven with another DO loop"
+ msgstr "Slut på DO-sats utan block vid %C är sammanvävt med en annan DO-slinga"
+
+-#: fortran/parse.c:2430
++#: fortran/parse.c:2613
+ #, no-c-format
+ msgid "Statement label in ENDDO at %C doesn't match DO label"
+ msgstr "Satsetikett i ENDDO vid %C stämmer inte med DO-etikett"
+
+-#: fortran/parse.c:2446
++#: fortran/parse.c:2629
+ #, no-c-format
+ msgid "named block DO at %L requires matching ENDDO name"
+ msgstr "namngivet DO-block vid %L kräver matchande ENDDO-namn"
+
+-#: fortran/parse.c:2702
++#: fortran/parse.c:2885
+ #, no-c-format
+ msgid "Name after !$omp critical and !$omp end critical does not match at %C"
+ msgstr "Namn efter !$omp critical och !$omp end critical matchar inte vid %C"
+
+-#: fortran/parse.c:2758
++#: fortran/parse.c:2941
+ #, no-c-format
+ msgid "%s statement at %C cannot terminate a non-block DO loop"
+ msgstr "%s-sats vid %C kan inte avsluta en DO-slinga utan block"
+
+-#: fortran/parse.c:2943
++#: fortran/parse.c:3126
+ #, no-c-format
+ msgid "Contained procedure '%s' at %C is already ambiguous"
+ msgstr "Innesluten procedur \"%s\" vid %C är redan tvetydig"
+
+-#: fortran/parse.c:2993
++#: fortran/parse.c:3176
+ #, no-c-format
+ msgid "Unexpected %s statement in CONTAINS section at %C"
+ msgstr "Oväntad %s-sats i CONTAINS-sektion vid %C"
+
+ #. This is valid in Fortran 2008.
+-#: fortran/parse.c:3018
++#: fortran/parse.c:3201
+ #, no-c-format
+ msgid "Extension: CONTAINS statement without FUNCTION or SUBROUTINE statement at %C"
+ msgstr "Utvidgning: CONTAINS-sats utan FUNCTION- eller SUBROUTINE-sats vid %C"
+
+-#: fortran/parse.c:3089
++#: fortran/parse.c:3272
+ #, no-c-format
+ msgid "CONTAINS statement at %C is already in a contained program unit"
+ msgstr "CONTAINS-sats vid %C är redan i en innesluten programenhet"
+
+-#: fortran/parse.c:3138
++#: fortran/parse.c:3321
+ #, no-c-format
+ msgid "Global name '%s' at %L is already being used as a %s at %L"
+ msgstr "Globalt namn \"%s\" vid %L används redan som en %s vid %L"
+
+-#: fortran/parse.c:3159
++#: fortran/parse.c:3342
+ #, no-c-format
+ msgid "Blank BLOCK DATA at %C conflicts with prior BLOCK DATA at %L"
+ msgstr "Blank BLOCK DATA vid %C står i konflikt med tidigare BLOCK DATA vid %L"
+
+-#: fortran/parse.c:3185
++#: fortran/parse.c:3368
+ #, no-c-format
+ msgid "Unexpected %s statement in BLOCK DATA at %C"
+ msgstr "Oväntad %s-sats i BLOCK DATA vid %C"
+
+-#: fortran/parse.c:3228
++#: fortran/parse.c:3411
+ #, no-c-format
+ msgid "Unexpected %s statement in MODULE at %C"
+ msgstr "Oväntad %s-sats i MODULE vid %C"
+@@ -8486,7 +8488,7 @@
+ #. If we see a duplicate main program, shut down. If the second
+ #. instance is an implied main program, ie data decls or executable
+ #. statements, we're in for lots of errors.
+-#: fortran/parse.c:3416
++#: fortran/parse.c:3594
+ #, no-c-format
+ msgid "Two main PROGRAMs at %L and %C"
+ msgstr "Två huvud-PROGRAM vid %L och %C"
+@@ -8523,8 +8525,8 @@
+
+ #: fortran/primary.c:353
+ #, no-c-format
+-msgid "Extension: Hexadecimal constant at %C uses non-standard syntax."
+-msgstr "Utökning: Hexadecimal konstant vid %C använder icke-standardsyntax."
++msgid "Extension: Hexadecimal constant at %C uses non-standard syntax"
++msgstr "Utökning: Hexadecimal konstant vid %C använder icke-standardsyntax"
+
+ #: fortran/primary.c:363
+ #, no-c-format
+@@ -8536,994 +8538,1039 @@
+ msgid "Illegal character in BOZ constant at %C"
+ msgstr "Otillåtet tecken i BOZ-konstant vid %C"
+
+-#: fortran/primary.c:391
++#: fortran/primary.c:392
+ #, no-c-format
+-msgid "Extension: BOZ constant at %C uses non-standard postfix syntax."
+-msgstr "Utökning: BOZ-konstant vid %C använder icke-standard postfixsyntax."
++msgid "Extension: BOZ constant at %C uses non-standard postfix syntax"
++msgstr "Utökning: BOZ-konstant vid %C använder icke-standard postfixsyntax"
+
+-#: fortran/primary.c:417
++#: fortran/primary.c:423
+ #, no-c-format
+ msgid "Integer too big for integer kind %i at %C"
+ msgstr "För stort heltal för heltalssort %i vid %C"
+
+-#: fortran/primary.c:517
++#: fortran/primary.c:429
+ #, no-c-format
++msgid "Fortran 2003: BOZ used outside a DATA statement at %C"
++msgstr "Fortran 2003: BOZ använd utanför en DATA-sats vid %C"
++
++#: fortran/primary.c:529
++#, no-c-format
+ msgid "Missing exponent in real number at %C"
+ msgstr "Exponent saknas i reellt tal vid %C"
+
+-#: fortran/primary.c:573
++#: fortran/primary.c:585
+ #, no-c-format
+ msgid "Real number at %C has a 'd' exponent and an explicit kind"
+ msgstr "Reellt tal vid %C har en \"d\"-exponent och en explicit sort"
+
+-#: fortran/primary.c:586
++#: fortran/primary.c:598
+ #, no-c-format
+ msgid "Invalid real kind %d at %C"
+ msgstr "Ogiltig reell sort %d vid %C"
+
+-#: fortran/primary.c:600
++#: fortran/primary.c:612
+ #, no-c-format
+ msgid "Real constant overflows its kind at %C"
+ msgstr "Reell konstant spiller över sin sort vid %C"
+
+-#: fortran/primary.c:605
++#: fortran/primary.c:617
+ #, no-c-format
+ msgid "Real constant underflows its kind at %C"
+ msgstr "Reell konstant spiller under sin sort vid %C"
+
+-#: fortran/primary.c:697
++#: fortran/primary.c:709
+ #, no-c-format
+ msgid "Syntax error in SUBSTRING specification at %C"
+ msgstr "Syntaxfel i SUBSTRING-specifikation vid %C"
+
+-#: fortran/primary.c:902
++#: fortran/primary.c:914
+ #, no-c-format
+ msgid "Invalid kind %d for CHARACTER constant at %C"
+ msgstr "Ogiltig sort %d för CHARACTER-konstant vid %C"
+
+-#: fortran/primary.c:923
++#: fortran/primary.c:935
+ #, no-c-format
+ msgid "Unterminated character constant beginning at %C"
+ msgstr "Oavslutad teckenkonstant börjar vid %C"
+
+-#: fortran/primary.c:1035
++#: fortran/primary.c:1047
+ #, no-c-format
+ msgid "Bad kind for logical constant at %C"
+ msgstr "Felaktig sort för logisk konstant vid %C"
+
+-#: fortran/primary.c:1074
++#: fortran/primary.c:1086
+ #, no-c-format
+ msgid "Expected PARAMETER symbol in complex constant at %C"
+ msgstr "PARAMETER-symbol förväntades i komplex konstant vid %C"
+
+-#: fortran/primary.c:1080
++#: fortran/primary.c:1092
+ #, no-c-format
+ msgid "Numeric PARAMETER required in complex constant at %C"
+ msgstr "Numerisk PARAMETER krävs i komplex konstant vid %C"
+
+-#: fortran/primary.c:1086
++#: fortran/primary.c:1098
+ #, no-c-format
+ msgid "Scalar PARAMETER required in complex constant at %C"
+ msgstr "Skalär PARAMETER krävs i komplex konstant vid %C"
+
+-#: fortran/primary.c:1090
++#: fortran/primary.c:1102
+ #, no-c-format
+ msgid "Fortran 2003: PARAMETER symbol in complex constant at %C"
+ msgstr "Fortran 2003: PARAMETER-symbol i komplex konstant vid %C"
+
+-#: fortran/primary.c:1120
++#: fortran/primary.c:1132
+ #, no-c-format
+ msgid "Error converting PARAMETER constant in complex constant at %C"
+ msgstr "Fel vid konvertering av PARAMETER-konstant i komplex konstant vid %C"
+
+-#: fortran/primary.c:1249
++#: fortran/primary.c:1261
+ #, no-c-format
+ msgid "Syntax error in COMPLEX constant at %C"
+ msgstr "Syntaxfel i COMPLEX-konstant vid %C"
+
+-#: fortran/primary.c:1430
++#: fortran/primary.c:1442
+ #, no-c-format
+ msgid "Keyword '%s' at %C has already appeared in the current argument list"
+ msgstr "Nyckelordet \"%s\" vid %C har redan förekommit i den aktuella argumentlistan"
+
+-#: fortran/primary.c:1494
++#: fortran/primary.c:1506
+ #, no-c-format
+ msgid "Extension: argument list function at %C"
+ msgstr "Utökning: argumentlistefunktionen vid %C"
+
+-#: fortran/primary.c:1561
++#: fortran/primary.c:1573
+ #, no-c-format
+ msgid "Expected alternate return label at %C"
+ msgstr "Alternativ returetikett förväntades vid %C"
+
+-#: fortran/primary.c:1579
++#: fortran/primary.c:1591
+ #, no-c-format
+ msgid "Missing keyword name in actual argument list at %C"
+ msgstr "Nyckelordsnamn saknas aktuell argumentlista vid %C"
+
+-#: fortran/primary.c:1624
++#: fortran/primary.c:1636
+ #, no-c-format
+ msgid "Syntax error in argument list at %C"
+ msgstr "Syntaxfel i argumentlista vid %C"
+
+-#: fortran/primary.c:1708
++#: fortran/primary.c:1723
+ #, no-c-format
+ msgid "Expected structure component name at %C"
+ msgstr "Postkomponentnamn förväntades vid %C"
+
+-#: fortran/primary.c:1961
++#: fortran/primary.c:1980
+ #, no-c-format
+ msgid "Too many components in structure constructor at %C"
+ msgstr "För många komponenter i postkonstruerare vid %C"
+
+-#: fortran/primary.c:1974
++#: fortran/primary.c:1993
+ #, no-c-format
+ msgid "Structure constructor for '%s' at %C has PRIVATE components"
+ msgstr "Postkonstruerare för \"%s\" vid %C har PRIVATE-komponenter"
+
+-#: fortran/primary.c:1984
++#: fortran/primary.c:2003
+ #, no-c-format
+ msgid "Too few components in structure constructor at %C"
+ msgstr "För få komponenter i postkonstruerare vid %C"
+
+-#: fortran/primary.c:2002
++#: fortran/primary.c:2021
+ #, no-c-format
+ msgid "Syntax error in structure constructor at %C"
+ msgstr "Syntaxfel i postkonstruerare vid %C"
+
+-#: fortran/primary.c:2086
++#: fortran/primary.c:2105
+ #, no-c-format
+ msgid "'%s' 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 "\"%s\" vid %C är namnet på en rekursiv funktion och refererar därmed till resultatvariabeln. Använd en explicit RESULT-variabel för direkt rekursion (12.5.2.1)"
+
+-#: fortran/primary.c:2188
++#: fortran/primary.c:2207
+ #, no-c-format
+ msgid "Unexpected use of subroutine name '%s' at %C"
+ msgstr "Oväntad användning av subrutinnamnet \"%s\" vid %C"
+
+-#: fortran/primary.c:2219
++#: fortran/primary.c:2238
+ #, no-c-format
+ msgid "Statement function '%s' requires argument list at %C"
+ msgstr "Satsfunktion \"%s\" kräver en argumentlista vid %C"
+
+-#: fortran/primary.c:2222
++#: fortran/primary.c:2241
+ #, no-c-format
+ msgid "Function '%s' requires an argument list at %C"
+ msgstr "Funktion \"%s\" kräver en argumentlista vid %C"
+
+-#: fortran/primary.c:2267
++#: fortran/primary.c:2286
+ #, no-c-format
+ msgid "Missing argument to '%s' at %C"
+ msgstr "Argument saknas till \"%s\" vid %C"
+
+-#: fortran/primary.c:2408
++#: fortran/primary.c:2427
+ #, no-c-format
+ msgid "Missing argument list in function '%s' at %C"
+ msgstr "Argumentlista saknas i funktionen \"%s\" vid %C"
+
+-#: fortran/primary.c:2436
++#: fortran/primary.c:2455
+ #, no-c-format
+ msgid "Symbol at %C is not appropriate for an expression"
+ msgstr "Symbol vid %C passar inte som uttryck"
+
+-#: fortran/primary.c:2504
++#: fortran/primary.c:2523
+ #, no-c-format
+ msgid "Assigning to PROTECTED variable at %C"
+ msgstr "Tilldelning till PROTECTED-variabel vid %C"
+
+-#: fortran/primary.c:2520
++#: fortran/primary.c:2557
+ #, no-c-format
+ msgid "Named constant at %C in an EQUIVALENCE"
+ msgstr "Namngiven konstant vid %C är en EQUIVALENCE"
+
+-#: fortran/primary.c:2543
++#: fortran/primary.c:2579
+ #, no-c-format
+-msgid "Expected VARIABLE at %C"
+-msgstr "VARIABLE förväntades vid %C"
++msgid "'%s' at %C is not a variable"
++msgstr "\"%s\" vid %C är inte en variabel"
+
+-#: fortran/resolve.c:120
++#: fortran/resolve.c:121
+ #, no-c-format
+ msgid "Alternate return specifier in elemental subroutine '%s' at %L is not allowed"
+ msgstr "Alternativ returspecificerare i elementär subrutin \"%s\" vid %L är inte tillåten"
+
+-#: fortran/resolve.c:124
++#: fortran/resolve.c:125
+ #, no-c-format
+ msgid "Alternate return specifier in function '%s' at %L is not allowed"
+ msgstr "Alternativ returspecifierare i funktionen \"%s\" vid %L är inte tillåten"
+
+-#: fortran/resolve.c:137
++#: fortran/resolve.c:138
+ #, no-c-format
+ msgid "Dummy procedure '%s' of PURE procedure at %L must also be PURE"
+ msgstr "Attrapprocedur \"%s\" av PURE-procedur vid %L måste också vara PURE"
+
+-#: fortran/resolve.c:144
++#: fortran/resolve.c:145
+ #, no-c-format
+ msgid "Dummy procedure at %L not allowed in ELEMENTAL procedure"
+ msgstr "Attrapprocedur vid %L är inte tillåten i ELEMENTAL-procedur"
+
+-#: fortran/resolve.c:157 fortran/resolve.c:1080
++#: fortran/resolve.c:158 fortran/resolve.c:1138
+ #, no-c-format
+ msgid "Unable to find a specific INTRINSIC procedure for the reference '%s' at %L"
+ msgstr "Det går inte att hitta en angiven INTRINSIC-procedur för referensen \"%s\" vid %L"
+
+-#: fortran/resolve.c:201
++#: fortran/resolve.c:202
+ #, no-c-format
+ msgid "Argument '%s' of pure function '%s' at %L must be INTENT(IN)"
+ msgstr "\"%s\"-argumentet till pure-funktion \"%s\" vid %L måste vara INTENT(IN)"
+
+-#: fortran/resolve.c:206
++#: fortran/resolve.c:207
+ #, no-c-format
+ msgid "Argument '%s' of pure subroutine '%s' at %L must have its INTENT specified"
+ msgstr "Argumentet \"%s\" till pure-subrutin \"%s\" vid %L måste ha sitt INTENT angivet"
+
+-#: fortran/resolve.c:215
++#: fortran/resolve.c:216
+ #, no-c-format
+ msgid "Argument '%s' of elemental procedure at %L must be scalar"
+ msgstr "\"%s\"-argumentet till elementär procedur vid %L måste vara skalärt"
+
+-#: fortran/resolve.c:222
++#: fortran/resolve.c:223
+ #, no-c-format
+ msgid "Argument '%s' of elemental procedure at %L cannot have the POINTER attribute"
+ msgstr "Argumentet \"%s\" av elementär procedur vid %L får inte ha attributet POINTER"
+
+-#: fortran/resolve.c:234
++#: fortran/resolve.c:231
+ #, no-c-format
++msgid "Dummy procedure '%s' not allowed in elemental procedure '%s' at %L"
++msgstr "Attrapprocedur \"%s\" är inte tillåten i elementär procedur \"%s\" vid %L"
++
++#: fortran/resolve.c:243
++#, no-c-format
+ msgid "Argument '%s' of statement function at %L must be scalar"
+ msgstr "\"%s\"-argumentet till satsfunktionen vid %L måste vara skalärt"
+
+-#: fortran/resolve.c:244
++#: fortran/resolve.c:253
+ #, no-c-format
+ msgid "Character-valued argument '%s' of statement function at %L must have constant length"
+ msgstr "Teckenvärt argument \"%s\" till satsfunktion vid %L måste ha konstant längd"
+
+-#: fortran/resolve.c:299
++#: fortran/resolve.c:310
+ #, no-c-format
+ msgid "Contained function '%s' at %L has no IMPLICIT type"
+ msgstr "Innesluten funktion \"%s\" vid %L har ingen IMPLICIT-typ"
+
+-#: fortran/resolve.c:302
++#: fortran/resolve.c:313
+ #, no-c-format
+ msgid "Result '%s' of contained function '%s' at %L has no IMPLICIT type"
+ msgstr "Resultatet \"%s\" av innesluten funktion \"%s\" vid %L har ingen IMPLICIT-typ"
+
+-#: fortran/resolve.c:319
++#: fortran/resolve.c:330
+ #, no-c-format
+ msgid "Character-valued internal function '%s' at %L must not be assumed length"
+ msgstr "Teckenvärd intern funktion \"%s\" vid %L får inte ha antagen längd"
+
+-#: fortran/resolve.c:490
++#: fortran/resolve.c:501
+ #, no-c-format
+-msgid "Procedure %s at %L has entries with mismatched array specifications"
+-msgstr "Procedur %s vid %L har ingångar med vektorspecifikationer som ej stämmer överens"
++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.c:516
++#: fortran/resolve.c:518
+ #, no-c-format
++msgid "Extension: Function %s at %L with entries returning variables of different string lengths"
++msgstr "Utökning: Funktion \"%s\" vid %L med ingångar som returnerar variabler av olika stränglängder"
++
++#: fortran/resolve.c:545
++#, no-c-format
+ msgid "FUNCTION result %s can't 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.c:520
++#: fortran/resolve.c:549
+ #, no-c-format
+ msgid "ENTRY result %s can't 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.c:527
++#: fortran/resolve.c:556
+ #, no-c-format
+ msgid "FUNCTION result %s can't 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.c:531
++#: fortran/resolve.c:560
+ #, no-c-format
+ msgid "ENTRY result %s can't 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.c:569
++#: fortran/resolve.c:598
+ #, no-c-format
+ msgid "FUNCTION result %s can't 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.c:574
++#: fortran/resolve.c:603
+ #, no-c-format
+ msgid "ENTRY result %s can't 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.c:643
++#: fortran/resolve.c:661
+ #, no-c-format
++msgid "Variable '%s' at %L is in COMMON but only in BLOCK DATA initialization is allowed"
++msgstr "Variabel \"%s\" vid %L är i COMMON men endast i BLOCK DATA är initiering tillåten"
++
++#: fortran/resolve.c:665
++#, no-c-format
++msgid "Initialized variable '%s' at %L is in a blank COMMON but initialization is only allowed in named common blocks"
++msgstr "Initierad variabel \"%s\" vid %L är i en blank COMMON men initiering ir endast tillåten i namngivna common-block"
++
++#: fortran/resolve.c:676
++#, no-c-format
+ msgid "Derived type variable '%s' in COMMON at %L has neither the SEQUENCE nor the BIND(C) attribute"
+ msgstr "Härledd typvariabel \"%s\" i COMMON vid %L har varken attributet SEQUENCE eller BIND(C)"
+
+-#: fortran/resolve.c:647
++#: fortran/resolve.c:680
+ #, no-c-format
+ msgid "Derived type variable '%s' in COMMON at %L has an ultimate component that is allocatable"
+ msgstr "Härledd typvariabel \"%s\" i COMMON vid %L har en slutlig komponent som är allokerbar"
+
+-#: fortran/resolve.c:651
++#: fortran/resolve.c:684
+ #, no-c-format
+ msgid "Derived type variable '%s' in COMMON at %L may not have default initializer"
+ msgstr "Härledd typvariabel \"%s\" i COMMON vid %L får inte ha standardinitierare"
+
+-#: fortran/resolve.c:661
++#: fortran/resolve.c:711
+ #, no-c-format
+ msgid "COMMON block '%s' at %L is used as PARAMETER at %L"
+ msgstr "COMMON-block \"%s\" vid %L används som PARAMETER vid %L"
+
+-#: fortran/resolve.c:665
++#: fortran/resolve.c:715
+ #, no-c-format
+ msgid "COMMON block '%s' at %L is also an intrinsic procedure"
+ msgstr "COMMON-block \"%s\" vid %L är också en inbyggd procedur"
+
+-#: fortran/resolve.c:669
++#: fortran/resolve.c:719
+ #, no-c-format
+ msgid "Fortran 2003: COMMON block '%s' at %L that is also a function result"
+ msgstr "Fortran 2003: COMMON-block \"%s\" vid %L som också är ett funktionsresultat"
+
+-#: fortran/resolve.c:674
++#: fortran/resolve.c:724
+ #, no-c-format
+ msgid "Fortran 2003: COMMON block '%s' at %L that is also a global procedure"
+ msgstr "Fortran 2003: COMMON-block \"%s\" vid %L som också är en global procedur"
+
+-#: fortran/resolve.c:736
++#: fortran/resolve.c:786
+ #, no-c-format
+ msgid "Components of structure constructor '%s' at %L are PRIVATE"
+ msgstr "Komponenter i postkonstruerare \"%s\" vid %L är PRIVATE"
+
+-#: fortran/resolve.c:756
++#: fortran/resolve.c:808
+ #, no-c-format
+ msgid "The rank of the element in the derived type constructor at %L does not match that of the component (%d/%d)"
+ msgstr "Ordningen på elementet i den härledda typkonstrueraren vid %L stämmer inte överens med komponentens (%d/%d)"
+
+-#: fortran/resolve.c:769
++#: fortran/resolve.c:821
+ #, no-c-format
+ msgid "The element in the derived type constructor at %L, for pointer component '%s', is %s but should be %s"
+ msgstr "Elementet i den härledda typkonstrueraren vid %L, för pekarkomponent \"%s\", är %s men borde vara %s"
+
+-#: fortran/resolve.c:786
++#: fortran/resolve.c:838
+ #, no-c-format
+ msgid "The element in the derived type constructor at %L, for pointer component '%s' should be a POINTER or a TARGET"
+ msgstr "Elementet i den härledda typkonstrueraren vid %L, för pekarkomponent \"%s\", borde vara en POINTER eller en TARGET"
+
+-#: fortran/resolve.c:913
++#: fortran/resolve.c:965
+ #, no-c-format
+ msgid "The upper bound in the last dimension must appear in the reference to the assumed size array '%s' at %L"
+ msgstr "Den övre gränsen i sista dimensionen måste vara med i referensen till vektorn \"%s\" med antagen storlek vid %L"
+
+-#: fortran/resolve.c:976 fortran/resolve.c:5434 fortran/resolve.c:6098
++#: fortran/resolve.c:1029 fortran/resolve.c:5576 fortran/resolve.c:6282
+ #, no-c-format
+ msgid "Label %d referenced at %L is never defined"
+ msgstr "Etikett %d som refereras vid %L är aldrig definierad"
+
+-#: fortran/resolve.c:986
++#: fortran/resolve.c:1039
+ #, no-c-format
+ msgid "'%s' at %L is ambiguous"
+ msgstr "\"%s\" vid %L är tvetydig"
+
+-#: fortran/resolve.c:1018
++#: fortran/resolve.c:1075
+ #, no-c-format
+ msgid "Statement function '%s' at %L is not allowed as an actual argument"
+ msgstr "Satsfunktionen \"%s\" vid %L får inte vara ett aktuellt argument"
+
+-#: fortran/resolve.c:1026
++#: fortran/resolve.c:1083
+ #, no-c-format
+ msgid "Intrinsic '%s' at %L is not allowed as an actual argument"
+ msgstr "Inbyggd \"%s\" vid %L får inte vara ett aktuellt argument"
+
+-#: fortran/resolve.c:1033
++#: fortran/resolve.c:1090
+ #, no-c-format
+ msgid "Internal procedure '%s' is not allowed as an actual argument at %L"
+ msgstr "Den interna proceduren \"%s\" är inte tillåten som aktuellt argument vid %L"
+
+-#: fortran/resolve.c:1039
++#: fortran/resolve.c:1096
+ #, no-c-format
+ msgid "ELEMENTAL non-INTRINSIC procedure '%s' is not allowed as an actual argument at %L"
+ msgstr "ELEMENTAL icke INTRINSIC procedur \"%s\" är inte tillåten som aktuellt argument vid %L"
+
+-#: fortran/resolve.c:1059
++#: fortran/resolve.c:1116
+ #, no-c-format
+ msgid "GENERIC procedure '%s' is not allowed as an actual argument at %L"
+ msgstr "GENERIC procedur \"%s\" är inte tillåten som aktuellt argument vid %L"
+
+-#: fortran/resolve.c:1098
++#: fortran/resolve.c:1157
+ #, no-c-format
+ msgid "Symbol '%s' at %L is ambiguous"
+ msgstr "Symbolen \"%s\" vid %L är tvetydig"
+
+-#: fortran/resolve.c:1143
++#: fortran/resolve.c:1206
+ #, no-c-format
+ msgid "By-value argument at %L is not of numeric type"
+ msgstr "Värdesargument vid %L har inte en numerisk typ"
+
+-#: fortran/resolve.c:1150
++#: fortran/resolve.c:1213
+ #, no-c-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.c:1164
++#: fortran/resolve.c:1227
+ #, no-c-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.c:1176
++#: fortran/resolve.c:1239
+ #, no-c-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.c:1293
++#: fortran/resolve.c:1356
+ #, no-c-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)"
+ msgstr "\"%s\" vid %L är en vektor och OPTIONAL. OM DEN SAKNAS kan den inte vara det aktuella argumentet i en ELEMENTAL-procedur om det inte finns ett ej valfritt argument med samma ordning (12.4.1.5)"
+
+-#: fortran/resolve.c:1315
++#: fortran/resolve.c:1378
+ msgid "elemental procedure"
+ msgstr "elementär procedur"
+
+-#: fortran/resolve.c:1332
++#: fortran/resolve.c:1395
+ #, no-c-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"
+ msgstr "Aktuellt argument vid %L för INTENT(%s)-attrapp \"%s\" av ELEMENTAL-subrutin \"%s\" är en skalär, men ett annat aktuellt argument är en vektor"
+
+-#: fortran/resolve.c:1466
++#: fortran/resolve.c:1531
+ #, no-c-format
+ msgid "There is no specific function for the generic '%s' at %L"
+ msgstr "Det finns ingen specifik funktionen för den generiska \"%s\" vid %L"
+
+-#: fortran/resolve.c:1475
++#: fortran/resolve.c:1540
+ #, no-c-format
+ msgid "Generic function '%s' at %L is not consistent with a specific intrinsic interface"
+ msgstr "Generisk funktion \"%s\" vid %L är inte konsistent med ett specifikt inbyggt gränssnitt"
+
+-#: fortran/resolve.c:1513
++#: fortran/resolve.c:1594
+ #, no-c-format
+ msgid "Function '%s' at %L is INTRINSIC but is not compatible with an intrinsic"
+ msgstr "Funktionen \"%s\" vid %L är INTRINSIC men är inte kompatibel med en inbyggd"
+
+-#: fortran/resolve.c:1559
++#: fortran/resolve.c:1640
+ #, no-c-format
+ msgid "Unable to resolve the specific function '%s' at %L"
+ msgstr "Kan inte slå upp den specifika funktionen \"%s\" vid %L"
+
+-#: fortran/resolve.c:1615 fortran/resolve.c:8740
++#: fortran/resolve.c:1696 fortran/resolve.c:8931
+ #, no-c-format
+ msgid "Function '%s' at %L has no IMPLICIT type"
+ msgstr "Funktionen \"%s\" vid %L har ingen IMPLICIT-typ"
+
+-#: fortran/resolve.c:1799
++#: fortran/resolve.c:1907
+ #, no-c-format
+ msgid "Argument to '%s' at %L is not a variable"
+ msgstr "Argument till \"%s\" vid %L är inte en variabel"
+
+-#: fortran/resolve.c:1871
++#: fortran/resolve.c:1979
+ #, no-c-format
+ msgid "More actual than formal arguments in '%s' call at %L"
+ msgstr "Fler aktuella än formella argument i anrop av \"%s\" vid %L"
+
+-#: fortran/resolve.c:1883
++#: fortran/resolve.c:1991
+ #, no-c-format
+ msgid "Parameter '%s' to '%s' at %L must be either a TARGET or an associated pointer"
+ msgstr "Parameter \"%s\" till \"%s\" vid %L måste antingen vara en TARGET eller en associerad pekare"
+
+-#: fortran/resolve.c:1909
++#: fortran/resolve.c:2017
+ #, no-c-format
+ msgid "Allocatable variable '%s' used as a parameter to '%s' at %L must not be an array of zero size"
+ msgstr "Allokerbar variabel \"%s\" använd som en parameter till \"%s\" vid %L får inte vara en vektor av storlek noll"
+
+-#: fortran/resolve.c:1926
++#: fortran/resolve.c:2034
+ #, no-c-format
+ msgid "Assumed-shape array '%s' at %L cannot be an argument to the procedure '%s' because it is not C interoperable"
+ msgstr "Vektor \"%s\" med förmodad form vid %L får inte vara ett argument till proceduren \"%s\" eftersom den inte är C-interoperativ"
+
+-#: fortran/resolve.c:1936
++#: fortran/resolve.c:2044
+ #, no-c-format
+ msgid "Deferred-shape array '%s' at %L cannot be an argument to the procedure '%s' because it is not C interoperable"
+ msgstr "Vektor \"%s\" med fördröjd form vid %L får inte vara ett argument till proceduren \"%s\" eftersom den inte är C-interoperativ"
+
+-#: fortran/resolve.c:1959 fortran/resolve.c:1998
++#: fortran/resolve.c:2067 fortran/resolve.c:2106
+ #, no-c-format
+ msgid "CHARACTER argument '%s' to '%s' at %L must have a length of 1"
+ msgstr "CHARACTER-argument \"%s\" till \"%s\" vid %L måste ha längden 1"
+
+ #. Case 1c, section 15.1.2.5, J3/04-007: an associated
+ #. scalar pointer.
+-#: fortran/resolve.c:1974
++#: fortran/resolve.c:2082
+ #, no-c-format
+ msgid "Argument '%s' to '%s' at %L must be an associated scalar POINTER"
+ msgstr "Argument \"%s\" till \"%s\" vid %L måste vara en associerad skalär POINTER"
+
+-#: fortran/resolve.c:1990
++#: fortran/resolve.c:2098
+ #, no-c-format
+ msgid "Parameter '%s' to '%s' at %L must be a scalar"
+ msgstr "Parameter \"%s\" till \"%s\" vid %L måste vara en skalär"
+
+ #. TODO: Update this error message to allow for procedure
+ #. pointers once they are implemented.
+-#: fortran/resolve.c:2012
++#: fortran/resolve.c:2120
+ #, no-c-format
+ msgid "Parameter '%s' to '%s' at %L must be a procedure"
+ msgstr "Parameter \"%s\" till \"%s\" vid %L måste vara en procedur"
+
+-#: fortran/resolve.c:2020
++#: fortran/resolve.c:2128
+ #, no-c-format
+ msgid "Parameter '%s' to '%s' at %L must be BIND(C)"
+ msgstr "Parameter \"%s\" till \"%s\" vid %L måste vara BIND(C)"
+
+-#: fortran/resolve.c:2062
++#: fortran/resolve.c:2170
+ #, no-c-format
+ msgid "'%s' at %L is not a function"
+ msgstr "\"%s\" vid %L är inte en funktion"
+
+-#: fortran/resolve.c:2068
++#: fortran/resolve.c:2176
+ #, no-c-format
+ msgid "ABSTRACT INTERFACE '%s' must not be referenced at %L"
+ msgstr "ABSTRACT INTERFACE \"%s\" får inte refereras vid %L"
+
+ #. Internal procedures are taken care of in resolve_contained_fntype.
+-#: fortran/resolve.c:2111
++#: fortran/resolve.c:2219
+ #, no-c-format
+ msgid "Function '%s' is declared CHARACTER(*) and cannot be used at %L since it is not a dummy argument"
+ msgstr "Funktionen \"%s\" är deklarerad CHARACTER(*) och får inte användas vid %L eftersom det inte är ett attrappargument"
+
+-#: fortran/resolve.c:2164
++#: fortran/resolve.c:2272
+ #, no-c-format
+ msgid "User defined non-ELEMENTAL function '%s' at %L not allowed in WORKSHARE construct"
+ msgstr "Användardefinierad ej ELEMENTAL funktion \"%s\" vid %L är inte tillåten i WORKSHARE-konstruktion"
+
+-#: fortran/resolve.c:2213
++#: fortran/resolve.c:2321
+ #, no-c-format
+ msgid "reference to non-PURE function '%s' at %L inside a FORALL %s"
+ msgstr "referens till funktion \"%s\" som inte är PURE vid %L är inuti ett FORALL-%s"
+
+-#: fortran/resolve.c:2220
++#: fortran/resolve.c:2328
+ #, no-c-format
+ msgid "Function reference to '%s' at %L is to a non-PURE procedure within a PURE procedure"
+ msgstr "Funktionsreferens till \"%s\" vid %L är till en icke-PURE-procedur inuti en PURE-procedur"
+
+-#: fortran/resolve.c:2235
++#: fortran/resolve.c:2343
+ #, no-c-format
+ msgid "Function '%s' at %L cannot call itself, as it is not RECURSIVE"
+ msgstr "Funktion \"%s\" vid %L får inte anropa sig själv, eftersom den inte är RECURSIVE"
+
+-#: fortran/resolve.c:2243
++#: fortran/resolve.c:2351
+ #, no-c-format
+ msgid "Call to ENTRY '%s' at %L is recursive, but function '%s' is not declared as RECURSIVE"
+ msgstr "Anrop till ENTRY \"%s\" vid %L är rekursivt, men funktionen \"%s\" är inte deklarerad som RECURSIVE"
+
+-#: fortran/resolve.c:2285
++#: fortran/resolve.c:2393
+ #, no-c-format
+ msgid "Subroutine call to '%s' in FORALL block at %L is not PURE"
+ msgstr "Subrutinanrop till \"%s\" i FORALL-block vid %L är inte PURE"
+
+-#: fortran/resolve.c:2288
++#: fortran/resolve.c:2396
+ #, no-c-format
+ msgid "Subroutine call to '%s' at %L is not PURE"
+ msgstr "Subrutinanrop till \"%s\" vid %L är inte PURE"
+
+-#: fortran/resolve.c:2351
++#: fortran/resolve.c:2459
+ #, no-c-format
+ msgid "There is no specific subroutine for the generic '%s' at %L"
+ msgstr "Det finns ingen specifik subrutinen för den generiska \"%s\" vid %L"
+
+-#: fortran/resolve.c:2360
++#: fortran/resolve.c:2468
+ #, no-c-format
+ msgid "Generic subroutine '%s' at %L is not consistent with an intrinsic subroutine interface"
+ msgstr "Generisk subrutin \"%s\" vid %L är inte konsistent med ett inbyggt subrutingränssnitt"
+
+-#: fortran/resolve.c:2468
++#: fortran/resolve.c:2576
+ #, no-c-format
+ msgid "Missing SHAPE parameter for call to %s at %L"
+ msgstr "SHAPE-parameter saknas i anrop till %s vid %L"
+
+-#: fortran/resolve.c:2476
++#: fortran/resolve.c:2584
+ #, no-c-format
+ msgid "SHAPE parameter for call to %s at %L must be a rank 1 INTEGER array"
+ msgstr "SHAPE-parameter för anrop till %s vid %L måste vara en INTEGER-VEKTOR av ordning 1"
+
+-#: fortran/resolve.c:2543
++#: fortran/resolve.c:2667
+ #, no-c-format
+ msgid "Subroutine '%s' at %L is INTRINSIC but is not compatible with an intrinsic"
+ msgstr "Subrutin \"%s\" vid %L är INTRINSIC men är inte kompatibel med en inbyggd"
+
+-#: fortran/resolve.c:2587
++#: fortran/resolve.c:2711
+ #, no-c-format
+ msgid "Unable to resolve the specific subroutine '%s' at %L"
+ msgstr "Kan inte slå upp den specifika subrutinen \"%s\" vid %L"
+
+-#: fortran/resolve.c:2644
++#: fortran/resolve.c:2768
+ #, no-c-format
+ msgid "'%s' at %L has a type, which is not consistent with the CALL at %L"
+ msgstr "\"%s\" vid %L har en typ som inte är konsistent med CALL vid %L"
+
+-#: fortran/resolve.c:2663
++#: fortran/resolve.c:2787
+ #, no-c-format
+ msgid "SUBROUTINE '%s' at %L cannot call itself, as it is not RECURSIVE"
+ msgstr "SUBROUTINE \"%s\" vid %L får inte anropa sig själv, eftersom den inte är RECURSIVE"
+
+-#: fortran/resolve.c:2671
++#: fortran/resolve.c:2795
+ #, no-c-format
+ msgid "Call to ENTRY '%s' at %L is recursive, but subroutine '%s' is not declared as RECURSIVE"
+ msgstr "Anrop av ENTRY \"%s\" vid %L är rekursiv, men subroutine \"%s\" är inte deklarerad som RECURSIVE"
+
+-#: fortran/resolve.c:2741
++#: fortran/resolve.c:2865
+ #, no-c-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.c:2792
++#: fortran/resolve.c:2916
+ #, c-format
+ msgid "Invalid context for NULL() pointer at %%L"
+ msgstr "Ogiltigt sammanhang för NULL()-pekare vid %%L"
+
+-#: fortran/resolve.c:2808
++#: fortran/resolve.c:2932
+ #, 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.c:2824
++#: fortran/resolve.c:2948
+ #, 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.c:2838
++#: fortran/resolve.c:2962
+ #, 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.c:2857
++#: fortran/resolve.c:2981
+ #, 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.c:2871
++#: fortran/resolve.c:2995
+ #, c-format
+ msgid "Operand of .not. operator at %%L is %s"
+ msgstr "Operand till operatorn .not. vid %%L är %s"
+
+-#: fortran/resolve.c:2885
++#: fortran/resolve.c:3009
+ msgid "COMPLEX quantities cannot be compared at %L"
+ msgstr "COMPLEX-kvantiteter kan inte jämföras vid %L"
+
+-#: fortran/resolve.c:2913
++#: fortran/resolve.c:3037
+ #, 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.c:2919
++#: fortran/resolve.c:3043
+ #, 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.c:2927
++#: fortran/resolve.c:3051
+ #, c-format
+ msgid "Unknown operator '%s' at %%L"
+ msgstr "Okänd operator \"%s\" vid %%L"
+
+-#: fortran/resolve.c:2929
++#: fortran/resolve.c:3053
+ #, c-format
+ msgid "Operand of user operator '%s' at %%L is %s"
+ msgstr "Operanderna till användaroperatorn \"%s\" vid %%L är %s"
+
+-#: fortran/resolve.c:2932
++#: fortran/resolve.c:3056
+ #, 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.c:3018
++#: fortran/resolve.c:3142
+ #, c-format
+ msgid "Inconsistent ranks for operator at %%L and %%L"
+ msgstr "Inkonsistenta ordningar för operator vid %%L och %%L"
+
+-#: fortran/resolve.c:3212
++#: fortran/resolve.c:3339
+ #, no-c-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.c:3220
++#: fortran/resolve.c:3347
+ #, no-c-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.c:3239
++#: fortran/resolve.c:3366
+ #, no-c-format
+ msgid "Illegal stride of zero at %L"
+ msgstr "Otillåtet steg på noll vid %C"
+
+-#: fortran/resolve.c:3256
++#: fortran/resolve.c:3383
+ #, no-c-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.c:3264
++#: fortran/resolve.c:3391
+ #, no-c-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.c:3280
++#: fortran/resolve.c:3407
+ #, no-c-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.c:3289
++#: fortran/resolve.c:3416
+ #, no-c-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.c:3328
++#: fortran/resolve.c:3455
+ #, no-c-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.c:3338
++#: fortran/resolve.c:3465
+ #, no-c-format
+ msgid "Rank mismatch in array reference at %L (%d/%d)"
+ msgstr "Ordning stämmer inte i vektorreferens vid %L (%d/%d)"
+
+-#: fortran/resolve.c:3366
++#: fortran/resolve.c:3493
+ #, no-c-format
+ msgid "Array index at %L must be scalar"
+ msgstr "Vektorindex vid %L måste vara skalärt"
+
+-#: fortran/resolve.c:3372
++#: fortran/resolve.c:3499
+ #, no-c-format
+ msgid "Array index at %L must be of INTEGER type"
+ msgstr "Vektorindex vid %L måste ha INTEGER-typ"
+
+-#: fortran/resolve.c:3378
++#: fortran/resolve.c:3505
+ #, no-c-format
+ msgid "Extension: REAL array index at %L"
+ msgstr "Utökning: REAL-vektorindex vid %L"
+
+-#: fortran/resolve.c:3408
++#: fortran/resolve.c:3535
+ #, no-c-format
+ msgid "Argument dim at %L must be scalar"
+ msgstr "Dim-argumentet vid %L måste vara skalärt"
+
+-#: fortran/resolve.c:3414
++#: fortran/resolve.c:3542
+ #, no-c-format
+ msgid "Argument dim at %L must be of INTEGER type"
+ msgstr "Dim-argumentet vid %L måste ha INTEGER-typ"
+
+-#: fortran/resolve.c:3534
++#: fortran/resolve.c:3663
+ #, no-c-format
+ msgid "Array index at %L is an array of rank %d"
+ msgstr "Vektorindex vid %L är en vektor med ordning %d"
+
+-#: fortran/resolve.c:3571
++#: fortran/resolve.c:3700
+ #, no-c-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.c:3578
++#: fortran/resolve.c:3707
+ #, no-c-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.c:3587
++#: fortran/resolve.c:3716
+ #, no-c-format
+ msgid "Substring start index at %L is less than one"
+ msgstr "Substrängs startindex vid %L är mindre än ett"
+
+-#: fortran/resolve.c:3600
++#: fortran/resolve.c:3729
+ #, no-c-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.c:3607
++#: fortran/resolve.c:3736
+ #, no-c-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.c:3617
++#: fortran/resolve.c:3746
+ #, no-c-format
+ msgid "Substring end index at %L exceeds the string length"
+ msgstr "Slutindex för delsträng vid %L överstiger strängens längd"
+
+-#: fortran/resolve.c:3755
++#: fortran/resolve.c:3884
+ #, no-c-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.c:3762
++#: fortran/resolve.c:3891
+ #, no-c-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.c:3781
++#: fortran/resolve.c:3910
+ #, no-c-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.c:3956
++#: fortran/resolve.c:4085
+ #, no-c-format
+ msgid "Variable '%s', used in a specification expression, is referenced at %L before the ENTRY statement in which it is a parameter"
+ msgstr "Variabel \"%s\", använd i ett specifikationsuttryck, refereras vid %L före ENTRY-satsen i vilken den är en parameter"
+
+-#: fortran/resolve.c:3961
++#: fortran/resolve.c:4090
+ #, no-c-format
+ msgid "Variable '%s' is used at %L before the ENTRY statement in which it is a parameter"
+ msgstr "Variabel \"%s\" används vid %L före ENTRY-satsen i vilken den är en parameter"
+
+-#: fortran/resolve.c:4238
++#: fortran/resolve.c:4367
+ #, no-c-format
+ msgid "%s at %L must be a scalar"
+ msgstr "%s vid %L måste vara en skalär"
+
+-#: fortran/resolve.c:4248
++#: fortran/resolve.c:4377
+ #, no-c-format
+ msgid "Deleted feature: %s at %L must be integer"
+ msgstr "Borttagen funktion: %s vid %L måste vara ett heltal"
+
+-#: fortran/resolve.c:4252 fortran/resolve.c:4259
++#: fortran/resolve.c:4381 fortran/resolve.c:4388
+ #, no-c-format
+ msgid "%s at %L must be INTEGER"
+ msgstr "%s vid %L måste vara INTEGER"
+
+-#: fortran/resolve.c:4279
++#: fortran/resolve.c:4408
+ #, no-c-format
+ msgid "Cannot assign to loop variable in PURE procedure at %L"
+ msgstr "Det går inte att tilldela slingvariabel i PURE-procedur vid %L"
+
+-#: fortran/resolve.c:4303
++#: fortran/resolve.c:4432
+ #, no-c-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.c:4378
++#: fortran/resolve.c:4508
+ #, no-c-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.c:4383
++#: fortran/resolve.c:4513
+ #, no-c-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.c:4390
++#: fortran/resolve.c:4520
+ #, no-c-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.c:4398
++#: fortran/resolve.c:4528
+ #, no-c-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.c:4403
++#: fortran/resolve.c:4533
+ #, no-c-format
+ msgid "FORALL stride expression at %L cannot be zero"
+ msgstr "FORALL-steguttryck vid %L får inte vara noll"
+
+-#: fortran/resolve.c:4419
++#: fortran/resolve.c:4549
+ #, no-c-format
+ msgid "FORALL index '%s' may not appear in triplet specification at %L"
+ msgstr "FORALL-index \"%s\" får inte förekomma i triplettspecifikation vid %L"
+
+-#: fortran/resolve.c:4499
++#: fortran/resolve.c:4629
+ #, no-c-format
+ msgid "Expression in DEALLOCATE statement at %L must be ALLOCATABLE or a POINTER"
+ msgstr "Uttryck i DEALLOCATE-sats vid %L måste vara ALLOCATABLE eller en POINTER"
+
+-#: fortran/resolve.c:4506
++#: fortran/resolve.c:4636
+ #, no-c-format
+ msgid "Cannot deallocate INTENT(IN) variable '%s' at %L"
+ msgstr "Det går inte att avallokera INTENT(IN)-variabel \"%s\" vid %L"
+
+-#: fortran/resolve.c:4675
++#: fortran/resolve.c:4740
+ #, no-c-format
+ msgid "The STAT variable '%s' in an ALLOCATE statement must not be allocated in the same statement at %L"
+ msgstr "STAT-variabeln \"%s\" i en ALLOCATE-sats får inte allokeras i samma sats vid %L"
+
+-#: fortran/resolve.c:4711
++#: fortran/resolve.c:4776
+ #, no-c-format
+ msgid "Expression in ALLOCATE statement at %L must be ALLOCATABLE or a POINTER"
+ msgstr "Uttryck i ALLOCATE-sats vid %L måste vara ALLOCATABLE eller en POINTER"
+
+-#: fortran/resolve.c:4719
++#: fortran/resolve.c:4784
+ #, no-c-format
+ msgid "Cannot allocate INTENT(IN) variable '%s' at %L"
+ msgstr "Det går inte att allokera INTENT(IN)-variabel \"%s\" vid %L"
+
+-#: fortran/resolve.c:4743
++#: fortran/resolve.c:4808
+ #, no-c-format
+ msgid "Array specification required in ALLOCATE statement at %L"
+ msgstr "Vektorspecifikation krävs i ALLOCATE-sats vid %L"
+
+-#: fortran/resolve.c:4773
++#: fortran/resolve.c:4838
+ #, no-c-format
+ msgid "Bad array specification in ALLOCATE statement at %L"
+ msgstr "Felaktig vektorspecifikation i ALLOCATE-sats vid %L"
+
+-#: fortran/resolve.c:4791
++#: fortran/resolve.c:4856
+ #, no-c-format
+ msgid "'%s' must not appear an the array specification at %L in the same ALLOCATE statement where it is itself allocated"
+ msgstr "\"%s\" får inte förekomma i vektorspecifikationen vid %L i samma ALLOCATE-sats där den själv allokeras"
+
++#: fortran/resolve.c:4880
++#, no-c-format
++msgid "STAT variable '%s' of %s statement at %C cannot be INTENT(IN)"
++msgstr "STAT-variabel \"%s\" i %s-sats vid %C får inte vara INTENT(IN)"
++
++#: fortran/resolve.c:4884
++#, no-c-format
++msgid "Illegal STAT variable in %s statement at %C for a PURE procedure"
++msgstr "Otillåten STAT-variabel i %s-sats vid %C för en PURE-procedur"
++
++#: fortran/resolve.c:4922
++#, no-c-format
++msgid "STAT tag in %s statement at %L must be a variable"
++msgstr "STAT-tagg i %s-sats vid %L måste vara en variabel"
++
++#: fortran/resolve.c:4928
++#, no-c-format
++msgid "STAT tag in %s statement at %L must be of type INTEGER"
++msgstr "STAT-tagg i %s-sats vid %L måste ha typen INTEGER"
++
+ #. The cases overlap, or they are the same
+ #. 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.c:4949
++#: fortran/resolve.c:5091
+ #, no-c-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.c:5000
++#: fortran/resolve.c:5142
+ #, no-c-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.c:5011
++#: fortran/resolve.c:5153
+ #, no-c-format
+ msgid "Expression in CASE statement at %L must be kind %d"
+ msgstr "Uttryck i CASE-sats vid %L måste vara ha sort %d"
+
+-#: fortran/resolve.c:5023
++#: fortran/resolve.c:5165
+ #, no-c-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.c:5069
++#: fortran/resolve.c:5211
+ #, no-c-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.c:5087
++#: fortran/resolve.c:5229
+ #, no-c-format
+ msgid "Argument of SELECT statement at %L cannot be %s"
+ msgstr "Argument till SELECT-sats vid %L kan inte vara %s"
+
+-#: fortran/resolve.c:5096
++#: fortran/resolve.c:5238
+ #, no-c-format
+ msgid "Argument of SELECT statement at %L must be a scalar expression"
+ msgstr "Argument till SELECT-sats vid %L måste vara ett skalärt uttryck"
+
+-#: fortran/resolve.c:5161
++#: fortran/resolve.c:5303
+ #, no-c-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.c:5187
++#: fortran/resolve.c:5329
+ #, no-c-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.c:5199
++#: fortran/resolve.c:5341
+ #, no-c-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.c:5213
++#: fortran/resolve.c:5355
+ #, no-c-format
+ msgid "Range specification at %L can never be matched"
+ msgstr "Intervallspecifikationen vid %L kan aldrig matchas"
+
+-#: fortran/resolve.c:5316
++#: fortran/resolve.c:5458
+ #, no-c-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.c:5354
++#: fortran/resolve.c:5496
+ #, no-c-format
+ msgid "Data transfer element at %L cannot have POINTER components"
+ msgstr "Dataöverföringselement vid %L får inte ha POINTER-komponenter"
+
+-#: fortran/resolve.c:5361
++#: fortran/resolve.c:5503
+ #, no-c-format
+ msgid "Data transfer element at %L cannot have ALLOCATABLE components"
+ msgstr "Dataöverföringselement vid %L får inte ha ALLOCATABLE-komponenter"
+
+-#: fortran/resolve.c:5368
++#: fortran/resolve.c:5510
+ #, no-c-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.c:5377
++#: fortran/resolve.c:5519
+ #, no-c-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 förmodad storlek"
+
+-#: fortran/resolve.c:5441
++#: fortran/resolve.c:5583
+ #, no-c-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.c:5450
++#: fortran/resolve.c:5592
+ #, no-c-format
+ msgid "Branch at %L causes an infinite loop"
+ msgstr "Gren vid %L orsakar en oändlig slinga"
+@@ -9531,647 +9578,657 @@
+ #. 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.c:5463
++#: fortran/resolve.c:5605
+ #, no-c-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.c:5478 fortran/resolve.c:5492
++#: fortran/resolve.c:5620 fortran/resolve.c:5634
+ #, no-c-format
+ msgid "Deleted feature: GOTO at %L jumps to END of construct at %L"
+ msgstr "Borttagen funktion: GOTO vid %L hoppar till END av konstruktion vid %L"
+
+-#: fortran/resolve.c:5569
++#: fortran/resolve.c:5711
+ #, no-c-format
+ msgid "WHERE mask at %L has inconsistent shape"
+ msgstr "WHERE-mask vid %L har inkonsistent form"
+
+-#: fortran/resolve.c:5585
++#: fortran/resolve.c:5727
+ #, no-c-format
+ msgid "WHERE assignment target at %L has inconsistent shape"
+ msgstr "WHERE-tilldelningsmål vid %L har inkonsistent form"
+
+-#: fortran/resolve.c:5600 fortran/resolve.c:5682
++#: fortran/resolve.c:5735 fortran/resolve.c:5820
+ #, no-c-format
++msgid "Non-ELEMENTAL user-defined assignment in WHERE at %L"
++msgstr "Ej ELEMENTAL användardefinierad tilldelning i WHERE vid %L"
++
++#: fortran/resolve.c:5745 fortran/resolve.c:5830
++#, no-c-format
+ msgid "Unsupported statement inside WHERE at %L"
+ msgstr "Ej stödd sats inuti WHERE vid %L"
+
+-#: fortran/resolve.c:5631
++#: fortran/resolve.c:5776
+ #, no-c-format
+ msgid "Assignment to a FORALL index variable at %L"
+ msgstr "Tilldelning till en FORALL-indexvariabel vid %L"
+
+-#: fortran/resolve.c:5639
++#: fortran/resolve.c:5784
+ #, no-c-format
+ msgid "The FORALL with index '%s' cause more than one assignment to this object at %L"
+ msgstr "FORALL med index \"%s\" medför mer än en tilldelning till detta objekt vid %L"
+
+-#: fortran/resolve.c:5774
++#: fortran/resolve.c:5922
+ #, no-c-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.c:5830
++#: fortran/resolve.c:5978
+ #, no-c-format
+ msgid "WHERE/ELSEWHERE clause at %L requires a LOGICAL array"
+ msgstr "WHERE/ELSEWHERE-klausul vid %L kräver en LOGICAL-vektor"
+
+-#: fortran/resolve.c:5890
++#: fortran/resolve.c:6037
+ #, no-c-format
+ msgid "Subroutine '%s' called instead of assignment at %L must be PURE"
+ msgstr "Subrutin \"%s\" anropad stället för tilldelning vid %L måste vara PURE"
+
+-#: fortran/resolve.c:5927
++#: fortran/resolve.c:6110
+ #, no-c-format
+ msgid "CHARACTER expression will be truncated in assignment (%d/%d) at %L"
+ msgstr "CHARACTER-uttryck kommer att huggas av i tilldelning (%d/%d) vid %L"
+
+-#: fortran/resolve.c:5950
++#: fortran/resolve.c:6135
+ #, no-c-format
+ msgid "Cannot assign to variable '%s' in PURE procedure at %L"
+ msgstr "Det går inte att tilldela variabeln \"%s\" i PURE-procedur vid %L"
+
+-#: fortran/resolve.c:5962
++#: fortran/resolve.c:6147
+ #, no-c-format
+ msgid "The impure variable at %L is assigned to a derived type variable with a POINTER component in a PURE procedure (12.6)"
+ msgstr "Den orena variabeln vid %L är tilldelad till en härledd typvariabel med en POINTER-komponent i en PURE-procedur (12.6)"
+
+-#: fortran/resolve.c:6066
++#: fortran/resolve.c:6250
+ #, no-c-format
+ msgid "ASSIGNED GOTO statement at %L requires an INTEGER variable"
+ msgstr "ASSIGNED GOTO-sats vid %L kräver en INTEGER-variabel"
+
+-#: fortran/resolve.c:6069
++#: fortran/resolve.c:6253
+ #, no-c-format
+ msgid "Variable '%s' has not been assigned a target label at %L"
+ msgstr "Variabeln \"%s\" har inte tilldelats någon måletikett vid %L"
+
+-#: fortran/resolve.c:6080
++#: fortran/resolve.c:6264
+ #, no-c-format
+ msgid "Alternate RETURN statement at %L requires a SCALAR-INTEGER return specifier"
+ msgstr "Alternativ RETURN-sats vid %L kräver en SCALAR-INTEGER-retuspecificerare"
+
+-#: fortran/resolve.c:6106
++#: fortran/resolve.c:6290
+ #, no-c-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.c:6121
++#: fortran/resolve.c:6305
+ #, no-c-format
+ msgid "Arithmetic IF statement at %L requires a numeric expression"
+ msgstr "Aritmetisk IF-sats vid %L kräver ett numeriskt uttryck"
+
+-#: fortran/resolve.c:6163
++#: fortran/resolve.c:6347
+ #, no-c-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.c:6170
++#: fortran/resolve.c:6420
+ #, no-c-format
+-msgid "STAT tag in ALLOCATE statement at %L must be of type INTEGER"
+-msgstr "STAT-tagg i ALLOCATE-sats vid %L måste vara av typ INTEGER"
+-
+-#: fortran/resolve.c:6182
+-#, no-c-format
+-msgid "STAT tag in DEALLOCATE statement at %L must be of type INTEGER"
+-msgstr "STAT-tagg DEALLOCATE-sats vid %L måste vara av typ INTEGER"
+-
+-#: fortran/resolve.c:6247
+-#, no-c-format
+ msgid "FORALL mask clause at %L requires a LOGICAL expression"
+ msgstr "FORALL-maskklausul vid %L kräver ett LOGICAL-uttryck"
+
+-#: fortran/resolve.c:6317 fortran/resolve.c:6373
++#: fortran/resolve.c:6490 fortran/resolve.c:6546
+ #, no-c-format
+ msgid "Binding label '%s' for common block '%s' at %L collides with the global entity '%s' at %L"
+ msgstr "Bindande av etikett \"%s\" för common-block \"%s\" vid %L kolliderar med den globala entiteten \"%s\" vid %L"
+
+ #. Common block names match but binding labels do not.
+-#: fortran/resolve.c:6338
++#: fortran/resolve.c:6511
+ #, no-c-format
+ msgid "Binding label '%s' for common block '%s' at %L does not match the binding label '%s' for common block '%s' at %L"
+ msgstr "Bindning av etikett \"%s\" för common-block \"%s\" vid %L stämmer inte överens med bindningen av etikett \"%s\" för common-block \"%s\" vid %L"
+
+-#: fortran/resolve.c:6385
++#: fortran/resolve.c:6558
+ #, no-c-format
+ msgid "Binding label '%s' for common block '%s' at %L collides with global entity '%s' at %L"
+ msgstr "Bindning av etikett \"%s\" för common-block \"%s\" vid %L kolliderar med global entitet \"%s\" vid %L"
+
+ #. Make sure global procedures don't collide with anything.
+-#: fortran/resolve.c:6437
++#: fortran/resolve.c:6610
+ #, no-c-format
+ msgid "Binding label '%s' at %L collides with the global entity '%s' at %L"
+ msgstr "Bindning av etikett \"%s\" vid %L kolliderar med den globala entiteten \"%s\" vid %L"
+
+ #. Make sure procedures in interface bodies don't collide.
+-#: fortran/resolve.c:6450
++#: fortran/resolve.c:6623
+ #, no-c-format
+ msgid "Binding label '%s' in interface body at %L collides with the global entity '%s' at %L"
+ msgstr "Bindning av etikett \"%s\" i gränssnittskropp vid %L kolliderar med den globala entiteten \"%s\" vid %L"
+
+-#: fortran/resolve.c:6463
++#: fortran/resolve.c:6636
+ #, no-c-format
+ msgid "Binding label '%s' at %L collides with global entity '%s' at %L"
+ msgstr "Bindning av etikett \"%s\" vid %L kolliderar med global entitet \"%s\" vid %L"
+
+-#: fortran/resolve.c:6540
++#: fortran/resolve.c:6713
+ #, no-c-format
+ msgid "CHARACTER variable has zero length at %L"
+ msgstr "CHARACTER-variabel har längd noll vid %L"
+
+-#: fortran/resolve.c:6828
++#: fortran/resolve.c:7001
+ #, no-c-format
+ msgid "Allocatable array '%s' at %L must have a deferred shape"
+ msgstr "Allokerbar vektor \"%s\" vid %L måste ha en fördröjd form"
+
+-#: fortran/resolve.c:6831
++#: fortran/resolve.c:7004
+ #, no-c-format
+ msgid "Scalar object '%s' at %L may not be ALLOCATABLE"
+ msgstr "Skalärt objekt \"%s\" vid %L får inte vara ALLOCATABLE"
+
+-#: fortran/resolve.c:6838
++#: fortran/resolve.c:7011
+ #, no-c-format
+ msgid "Array pointer '%s' at %L must have a deferred shape"
+ msgstr "Vektorpekare \"%s\" vid %L måste ha en fördröjd form"
+
+-#: fortran/resolve.c:6849
++#: fortran/resolve.c:7022
+ #, no-c-format
+ msgid "Array '%s' at %L cannot have a deferred shape"
+ msgstr "Vektor \"%s\" vid %L kan inte ha en fördröjd form"
+
+-#: fortran/resolve.c:6878
++#: fortran/resolve.c:7051
+ #, no-c-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"
+ msgstr "Typen \"%s\" kan inte vara värdassocierad vid %L för att den blockeras av ett inkompatibelt objekt med samma namn deklarerat vid %L"
+
+-#: fortran/resolve.c:6901
++#: fortran/resolve.c:7074
+ #, no-c-format
+ msgid "Object '%s' at %L must have the SAVE attribute for default initialization of a component"
+ msgstr "Objekt \"%s\" vid %L måste ha attributet SAVE för standardinitiering av en komponent"
+
+ #. The shape of a main program or module array needs to be
+ #. constant.
+-#: fortran/resolve.c:6948
++#: fortran/resolve.c:7121
+ #, no-c-format
+ msgid "The module or main program array '%s' at %L must have constant shape"
+ msgstr "Modul- eller huvudprogramvektorn \"%s\" vid %L måste ha konstant form"
+
+-#: fortran/resolve.c:6961
++#: fortran/resolve.c:7134
+ #, no-c-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.c:6980
++#: fortran/resolve.c:7153
+ #, no-c-format
+ msgid "'%s' at %L must have constant character length in this context"
+ msgstr "\"%s\" vid %L måste ha konstant teckenlängd i detta sammanhang"
+
+-#: fortran/resolve.c:7012
++#: fortran/resolve.c:7185
+ #, no-c-format
+ msgid "Allocatable '%s' at %L cannot have an initializer"
+ msgstr "Allokerbar \"%s\" vid %L kan inte ha en initierare"
+
+-#: fortran/resolve.c:7015
++#: fortran/resolve.c:7188
+ #, no-c-format
+ msgid "External '%s' at %L cannot have an initializer"
+ msgstr "Extern \"%s\" vid %L kan inte ha en initierare"
+
+-#: fortran/resolve.c:7019
++#: fortran/resolve.c:7192
+ #, no-c-format
+ msgid "Dummy '%s' at %L cannot have an initializer"
+ msgstr "Attrapp-\"%s\" vid %L kan inte ha en initierare"
+
+-#: fortran/resolve.c:7022
++#: fortran/resolve.c:7195
+ #, no-c-format
+ msgid "Intrinsic '%s' at %L cannot have an initializer"
+ msgstr "Inbyggd \"%s\" vid %L kan inte ha en initierare"
+
+-#: fortran/resolve.c:7025
++#: fortran/resolve.c:7198
+ #, no-c-format
+ msgid "Function result '%s' at %L cannot have an initializer"
+ msgstr "Funktionsresultat \"%s\" vid %L kan inte ha en initierare"
+
+-#: fortran/resolve.c:7028
++#: fortran/resolve.c:7201
+ #, no-c-format
+ msgid "Automatic array '%s' at %L cannot have an initializer"
+ msgstr "Automatisk vektor \"%s\" vid %L kan inte ha en initierare"
+
+-#: fortran/resolve.c:7051
++#: fortran/resolve.c:7224
+ #, no-c-format
+ msgid "Although not referenced, '%s' at %L has ambiguous interfaces"
+ msgstr "Även om den inte refereras har \"%s\" vid %L tvetydiga gränssnitt"
+
+-#: fortran/resolve.c:7070
++#: fortran/resolve.c:7243
+ #, no-c-format
+ msgid "Character-valued statement function '%s' at %L must have constant length"
+ msgstr "Teckenvärd satsfunktion \"%s\" vid %L måste ha konstant längd"
+
+-#: fortran/resolve.c:7078
++#: fortran/resolve.c:7251
+ #, no-c-format
+ msgid "Automatic character length function '%s' at %L must have an explicit interface"
+ msgstr "Automatisk teckenlängdsfunktion \"%s\" vid %L måste ha explicit gränssnitt"
+
+-#: fortran/resolve.c:7103
++#: fortran/resolve.c:7276
+ #, no-c-format
+ msgid "Fortran 2003: '%s' is of a PRIVATE type and cannot be a dummy argument of '%s', which is PUBLIC at %L"
+ msgstr "Fortran 2003: \"%s\" är av en PRIVATE-typ och kan inte vara ett attrappargument till \"%s\", som är PUBLIC vid %L"
+
+-#: fortran/resolve.c:7126 fortran/resolve.c:7151
++#: fortran/resolve.c:7299 fortran/resolve.c:7324
+ #, no-c-format
+ msgid "Fortran 2003: Procedure '%s' in PUBLIC interface '%s' at %L takes dummy arguments of '%s' which is PRIVATE"
+ msgstr "Fortran 2003: Procedur \"%s\" i PUBLIC-gränssnitt \"%s\" vid %L tar attrappargument för \"%s\" som är PRIVATE"
+
+-#: fortran/resolve.c:7168
++#: fortran/resolve.c:7341
+ #, no-c-format
+ msgid "Function '%s' at %L cannot have an initializer"
+ msgstr "Funktion \"%s\" vid %L kan inte ha en initierare"
+
+-#: fortran/resolve.c:7177
++#: fortran/resolve.c:7350
+ #, no-c-format
+ msgid "External object '%s' at %L may not have an initializer"
+ msgstr "Externt objekt \"%s\" vid %L kan inte ha en initierare"
+
+-#: fortran/resolve.c:7185
++#: fortran/resolve.c:7358
+ #, no-c-format
+ msgid "ELEMENTAL function '%s' at %L must have a scalar result"
+ msgstr "ELEMENTAL-funktion \"%s\" vid %L måste ha ett skalärt resultat"
+
+-#: fortran/resolve.c:7206
++#: fortran/resolve.c:7379
+ #, no-c-format
+ msgid "CHARACTER(*) function '%s' at %L cannot be array-valued"
+ msgstr "CHARACTER(*)-funktion \"%s\" vid %L kan inte ha vektorvärde"
+
+-#: fortran/resolve.c:7210
++#: fortran/resolve.c:7383
+ #, no-c-format
+ msgid "CHARACTER(*) function '%s' at %L cannot be pointer-valued"
+ msgstr "CHARACTER(*)-funktion \"%s\" vid %L kan inte ha pekarvärde"
+
+-#: fortran/resolve.c:7214
++#: fortran/resolve.c:7387
+ #, no-c-format
+ msgid "CHARACTER(*) function '%s' at %L cannot be pure"
+ msgstr "CHARACTER(*)-funktion \"%s\" vid %L kan inte vara pure"
+
+-#: fortran/resolve.c:7218
++#: fortran/resolve.c:7391
+ #, no-c-format
+ msgid "CHARACTER(*) function '%s' at %L cannot be recursive"
+ msgstr "CHARACTER(*)-funktion \"%s\" vid %L kan inte vara rekursiv"
+
+-#: fortran/resolve.c:7227
++#: fortran/resolve.c:7400
+ #, no-c-format
+ msgid "CHARACTER(*) function '%s' at %L is obsolescent in fortran 95"
+ msgstr "CHARACTER(*)-funktion \"%s\" vid %L är föråldrad i fortran 95"
+
+-#: fortran/resolve.c:7299
++#: fortran/resolve.c:7472
+ #, no-c-format
+ msgid "Character length of component '%s' needs to be a constant specification expression at %L"
+ msgstr "Teckenlängd på komponent \"%s\" behöver vara ett konstant specifikationsuttryck vid %L"
+
+-#: fortran/resolve.c:7314
++#: fortran/resolve.c:7487
+ #, no-c-format
+ msgid "The component '%s' is a PRIVATE type and cannot be a component of '%s', which is PUBLIC at %L"
+ msgstr "Komponenten \"%s\" är en PRIVATE-typ och kan inte vara en komponent i \"%s\", som är PUBLIC vid %L"
+
+-#: fortran/resolve.c:7324
++#: fortran/resolve.c:7497
+ #, no-c-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.c:7334
++#: fortran/resolve.c:7507
+ #, no-c-format
+ msgid "The pointer component '%s' of '%s' at %L is a type that has not been declared"
+ msgstr "Pekarkomponenten \"%s\" av \"%s\" vid %L är en typen som inte har deklarerats"
+
+-#: fortran/resolve.c:7352
++#: fortran/resolve.c:7525
+ #, no-c-format
+ msgid "Component '%s' of '%s' at %L must have constant array bounds"
+ msgstr "Komponenten \"%s\" i \"%s\" vid %L måste ha konstanta vektorgränser"
+
+-#: fortran/resolve.c:7395
++#: fortran/resolve.c:7568
+ #, no-c-format
+ msgid "NAMELIST object '%s' was declared PRIVATE and cannot be member of PUBLIC namelist '%s' at %L"
+ msgstr "NAMELIST-objekt \"%s\" deklarerades PRIVATE och kan inte vara medlem av PUBLIC-namnlista \"%s\" vid %L"
+
+-#: fortran/resolve.c:7405
++#: fortran/resolve.c:7578
+ #, no-c-format
+ msgid "NAMELIST object '%s' has use-associated PRIVATE components and cannot be member of namelist '%s' at %L"
+ msgstr "NAMELIST-objekt \"%s\" har användningsassociativa PRIVATE-komponenter och kan inte vara medlem av namnlistan \"%s\" vid %L"
+
+-#: fortran/resolve.c:7418
++#: fortran/resolve.c:7591
+ #, no-c-format
+ msgid "NAMELIST object '%s' has PRIVATE components and cannot be a member of PUBLIC namelist '%s' at %L"
+ msgstr "NAMELIST-objekt \"%s\" har PRIVATE-komponenter och kan inte vara medlem av PUBLIC-namnlista \"%s\" vid %L"
+
+-#: fortran/resolve.c:7430
++#: fortran/resolve.c:7603
+ #, no-c-format
+ msgid "NAMELIST array object '%s' must not have assumed shape in namelist '%s' at %L"
+ msgstr "NAMELIST-vektorobjekt \"%s\" får inte ha förmodad form i namnlistan \"%s\" vid %L"
+
+-#: fortran/resolve.c:7439
++#: fortran/resolve.c:7612
+ #, no-c-format
+ msgid "NAMELIST array object '%s' must have constant shape in namelist '%s' at %L"
+ msgstr "NAMELIST-vektorobjekt \"%s\" måste ha konstant form i namnlista \"%s\" vid %L"
+
+-#: fortran/resolve.c:7451
++#: fortran/resolve.c:7624
+ #, no-c-format
+ msgid "NAMELIST object '%s' in namelist '%s' at %L cannot have ALLOCATABLE components"
+ msgstr "NAMELIST-objekt \"%s\" i namnlista \"%s\" vid %L får inte ha ALLOCATABLE-komponenter"
+
+-#: fortran/resolve.c:7459
++#: fortran/resolve.c:7632
+ #, no-c-format
+ msgid "NAMELIST object '%s' in namelist '%s' at %L cannot have POINTER components"
+ msgstr "NAMELIST-objekt \"%s\" i namnlista \"%s\" vid %L får inte ha POINTER-komponenter"
+
+-#: fortran/resolve.c:7485
++#: fortran/resolve.c:7658
+ #, no-c-format
+ msgid "PROCEDURE attribute conflicts with NAMELIST attribute in '%s' at %L"
+ msgstr "PROCEDURE-attribut i konflikt med NAMELIST-attribut i \"%s\" vid %L"
+
+-#: fortran/resolve.c:7504
++#: fortran/resolve.c:7677
+ #, no-c-format
+ msgid "Parameter array '%s' at %L cannot be automatic or of deferred shape"
+ msgstr "Parametervektor \"%s\" vid %L kan inte ha automatisk eller fördröjd form"
+
+-#: fortran/resolve.c:7515
++#: fortran/resolve.c:7688
+ #, no-c-format
+ msgid "Implicitly typed PARAMETER '%s' at %L doesn't match a later IMPLICIT type"
+ msgstr "Implicit typad PARAMETER \"%s\" vid %L matchar inte en senare IMPLICIT-typ"
+
+-#: fortran/resolve.c:7526
++#: fortran/resolve.c:7699
+ #, no-c-format
+ msgid "Incompatible derived type in PARAMETER at %L"
+ msgstr "Inkompatibel härledd typ i PARAMETER vid %L"
+
+-#: fortran/resolve.c:7597
++#: fortran/resolve.c:7758
+ #, no-c-format
++msgid "Interface '%s', used by procedure '%s' at %L, is declared in a later PROCEDURE statement"
++msgstr "Gränssnitt \"%s\", använd av proceduren \"%s\" vid %L, är deklarerad i en senare PROCEDURE-sats"
++
++#: fortran/resolve.c:7772
++#, no-c-format
+ msgid "Interface '%s' of procedure '%s' at %L must be explicit"
+ msgstr "Gränssnitt \"%s\" till procedur \"%s\" vid %L måste vara explicit"
+
+-#: fortran/resolve.c:7622
++#: fortran/resolve.c:7797
+ #, no-c-format
+ msgid "Type specified for intrinsic function '%s' at %L is ignored"
+ msgstr "Typ angiven för inbyggd funktion \"%s\" vid %L ignoreras"
+
+-#: fortran/resolve.c:7629
++#: fortran/resolve.c:7804
+ #, no-c-format
+ msgid "Intrinsic subroutine '%s' at %L shall not have a type specifier"
+ msgstr "Inbyggd subrutin \"%s\" vid %L får inte ha en typspecificerare"
+
+-#: fortran/resolve.c:7636
++#: fortran/resolve.c:7811
+ #, no-c-format
+ msgid "Intrinsic '%s' at %L does not exist"
+ msgstr "Inbyggd \"%s\" vid %L existerar inte"
+
+-#: fortran/resolve.c:7676
++#: fortran/resolve.c:7851
+ #, no-c-format
+ msgid "Assumed size array at %L must be a dummy argument"
+ msgstr "Vektor med underförstådd storlek vid %L måste vara ett attrappargument"
+
+-#: fortran/resolve.c:7679
++#: fortran/resolve.c:7854
+ #, no-c-format
+ msgid "Assumed shape array at %L must be a dummy argument"
+ msgstr "Vektor med underförstådd form vid %L måste vara ett attrappargument"
+
+-#: fortran/resolve.c:7691
++#: fortran/resolve.c:7866
+ #, no-c-format
+ msgid "Symbol at %L is not a DUMMY variable"
+ msgstr "Symbol vid %L är inte en DUMMY-variabel"
+
+-#: fortran/resolve.c:7697
++#: fortran/resolve.c:7872
+ #, no-c-format
+ msgid "'%s' at %L cannot have the VALUE attribute because it is not a dummy argument"
+ msgstr "\"%s\" vid %L kan inte ha attributet VALUE eftersom det inte är ett attrappargument"
+
+-#: fortran/resolve.c:7707
++#: fortran/resolve.c:7882
+ #, no-c-format
+ msgid "Character dummy variable '%s' at %L with VALUE attribute must have constant length"
+ msgstr "Teckenvärd attrappvariabel \"%s\" vid %L med attributet VALUE måste ha konstant längd"
+
+-#: fortran/resolve.c:7716
++#: fortran/resolve.c:7891
+ #, no-c-format
+ msgid "C interoperable character dummy variable '%s' at %L with VALUE attribute must have length one"
+ msgstr "C-interoperativ teckenattrappvariabel \"%s\" vid %L med attributet VALUE måste ha längd ett"
+
+-#: fortran/resolve.c:7742
++#: fortran/resolve.c:7917
+ #, no-c-format
+ msgid "Variable '%s' at %L cannot be BIND(C) because it is neither a COMMON block nor declared at the module level scope"
+ msgstr "Variabel \"%s\" vid %L kan inte vara BIND(C) eftersom den varken är ett COMMON-block eller deklarerad med räckvidd modulnivå"
+
+-#: fortran/resolve.c:7795
++#: fortran/resolve.c:7970
+ #, no-c-format
+ msgid "The derived type '%s' at %L is of type '%s', which has not been defined"
+ msgstr "Den härledda typen \"%s\" vid %L har typen \"%s\", som inte har definierats"
+
+-#: fortran/resolve.c:7811
++#: fortran/resolve.c:7987
+ #, no-c-format
+ msgid "Fortran 2003: PUBLIC %s '%s' at %L of PRIVATE derived type '%s'"
+ msgstr "Fortran 2003: PUBLIC %s \"%s\" vid %L har PRIVATE härledd typ \"%s\""
+
+-#: fortran/resolve.c:7830
++#: fortran/resolve.c:8006
+ #, no-c-format
+ msgid "The INTENT(OUT) dummy argument '%s' at %L is ASSUMED SIZE and so cannot have a default initializer"
+ msgstr "INTENT(OUT)-attrappargumentet \"%s\" vid %L har ASSUMED SIZE och kan därför inte ha en standardinitierare"
+
+-#: fortran/resolve.c:7889
++#: fortran/resolve.c:8065
+ #, no-c-format
+ msgid "Threadprivate at %L isn't SAVEd"
+ msgstr "Trådprivat vid %L är inte SAVE:ad"
+
+-#: fortran/resolve.c:7967
++#: fortran/resolve.c:8143
+ #, no-c-format
+ msgid "BLOCK DATA element '%s' at %L must be in COMMON"
+ msgstr "BLOCK DATA-element \"%s\" vid %L måste vara i COMMON"
+
+-#: fortran/resolve.c:8011
++#: fortran/resolve.c:8149
+ #, no-c-format
++msgid "DATA array '%s' at %L must be specified in a previous declaration"
++msgstr "DATA-vektor \"%s\" vid %L måste anges i en tidigare deklaration"
++
++#: fortran/resolve.c:8194
++#, no-c-format
+ msgid "Nonconstant array section at %L in DATA statement"
+ msgstr "Ickekonstant vektorsektion vid %L i DATA-sats."
+
+-#: fortran/resolve.c:8024
++#: fortran/resolve.c:8207
+ #, no-c-format
+ msgid "DATA statement at %L has more variables than values"
+ msgstr "DATA-sats vid %L har fler variabler än värden"
+
+-#: fortran/resolve.c:8118
++#: fortran/resolve.c:8301
+ #, no-c-format
+ msgid "iterator start at %L does not simplify"
+ msgstr "iteratorstart vid %L förenklar inte"
+
+-#: fortran/resolve.c:8125
++#: fortran/resolve.c:8308
+ #, no-c-format
+ msgid "iterator end at %L does not simplify"
+ msgstr "iteratorslut vid %L går inte att förenkla"
+
+-#: fortran/resolve.c:8132
++#: fortran/resolve.c:8315
+ #, no-c-format
+ msgid "iterator step at %L does not simplify"
+ msgstr "iteratorsteg vid %L går inte att förenkla"
+
+-#: fortran/resolve.c:8258
++#: fortran/resolve.c:8441
+ #, no-c-format
+ msgid "DATA statement at %L has more values than variables"
+ msgstr "DATA-sats vid %L har fler värden än variabler"
+
+-#: fortran/resolve.c:8349
++#: fortran/resolve.c:8532
+ #, no-c-format
+ msgid "Label %d at %L defined but not used"
+ msgstr "Etiketten %d vid %L är definierad men inte använd"
+
+-#: fortran/resolve.c:8354
++#: fortran/resolve.c:8537
+ #, no-c-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.c:8439
++#: fortran/resolve.c:8622
+ #, no-c-format
+ msgid "Derived type variable '%s' at %L must have SEQUENCE attribute to be an EQUIVALENCE object"
+ msgstr "Härledd typvariabel \"%s\" vid %L måste ha attributet SEQUENCE för att vara ett EQUIVALENCE-objekt"
+
+-#: fortran/resolve.c:8448
++#: fortran/resolve.c:8631
+ #, no-c-format
+ msgid "Derived type variable '%s' at %L cannot have ALLOCATABLE components to be an EQUIVALENCE object"
+ msgstr "Härledd typvariabel \"%s\" vid %L kan inte ha ALLOCATABLE-komponenter för att vara ett EQUIVALENCE-objekt"
+
+-#: fortran/resolve.c:8465
++#: fortran/resolve.c:8639
+ #, no-c-format
++msgid "Derived type variable '%s' at %L with default initialization cannot be in EQUIVALENCE with a variable in COMMON"
++msgstr "Härledd typvariabel \"%s\" vid %L med standardinitiering kan inte vara i EQUIVALENCE med en variabel i COMMON"
++
++#: fortran/resolve.c:8656
++#, no-c-format
+ msgid "Derived type variable '%s' at %L with pointer component(s) cannot be an EQUIVALENCE object"
+ msgstr "Härledd typvariabel \"%s\" vid %L med pekarkomponent(er) kan inte vara ett EQUIVALENCE-objekt"
+
+-#: fortran/resolve.c:8570
++#: fortran/resolve.c:8761
+ #, no-c-format
+ msgid "Syntax error in EQUIVALENCE statement at %L"
+ msgstr "Syntaxfel i EQUIVALENCE-sats vid %L"
+
+-#: fortran/resolve.c:8585
++#: fortran/resolve.c:8776
+ #, no-c-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.c:8597
++#: fortran/resolve.c:8788
+ #, no-c-format
+ msgid "Common block member '%s' at %L cannot be an EQUIVALENCE object in the pure procedure '%s'"
+ msgstr "Common-blockmedlem \"%s\" vid %L kan inte vara ett EQUIVALENCE-objekt i den rena proceduren \"%s\""
+
+-#: fortran/resolve.c:8606
++#: fortran/resolve.c:8797
+ #, no-c-format
+ msgid "Named constant '%s' at %L cannot be an EQUIVALENCE object"
+ msgstr "Namngiven konstant \"%s\" vid %L kan inte vara ett EQUIVALENCE-objekt"
+
+-#: fortran/resolve.c:8685
++#: fortran/resolve.c:8876
+ #, no-c-format
+ msgid "Array '%s' at %L with non-constant bounds cannot be an EQUIVALENCE object"
+ msgstr "Vektor \"%s\" vid %L med icke-konstanta gränser kan inte vara ett EQUIVALENCE-objekt"
+
+-#: fortran/resolve.c:8696
++#: fortran/resolve.c:8887
+ #, no-c-format
+ msgid "Structure component '%s' at %L cannot be an EQUIVALENCE object"
+ msgstr "Postkomponent \"%s\" vid %L kan inte vara ett EQUIVALENCE-objekt"
+
+-#: fortran/resolve.c:8707
++#: fortran/resolve.c:8898
+ #, no-c-format
+ msgid "Substring at %L has length zero"
+ msgstr "Delsträng vid %L har längden noll"
+
+-#: fortran/resolve.c:8750
++#: fortran/resolve.c:8941
+ #, no-c-format
+ msgid "PUBLIC function '%s' at %L cannot be of PRIVATE type '%s'"
+ msgstr "PUBLIC-funktion \"%s\" vid %L kan inte ha PRIVATE-typ \"%s\""
+
+-#: fortran/resolve.c:8762
++#: fortran/resolve.c:8953
+ #, no-c-format
+ msgid "ENTRY '%s' at %L has no IMPLICIT type"
+ msgstr "ENTRY \"%s\" vid %L har ingen IMPLICIT-typ"
+
+-#: fortran/resolve.c:8788
++#: fortran/resolve.c:8979
+ #, no-c-format
+ msgid "User operator procedure '%s' at %L must be a FUNCTION"
+ msgstr "Användaroperatorprocedur \"%s\" vid %L måste vara en FUNCTION"
+
+-#: fortran/resolve.c:8795
++#: fortran/resolve.c:8986
+ #, no-c-format
+ msgid "User operator procedure '%s' at %L cannot be assumed character length"
+ msgstr "Användaroperatorprocedur \"%s\" vid %L får inte ha antagen teckenlängd"
+
+-#: fortran/resolve.c:8801
++#: fortran/resolve.c:8992
+ #, no-c-format
+ msgid "User operator procedure '%s' at %L must have at least one argument"
+ msgstr "Användaroperatorprocedur \"%s\" vid %L måste ha åtminstone ett argument"
+
+-#: fortran/resolve.c:8811
++#: fortran/resolve.c:9002
+ #, no-c-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.c:8823
++#: fortran/resolve.c:9014
+ #, no-c-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.c:8827
++#: fortran/resolve.c:9018
+ #, no-c-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.c:8867
++#: fortran/resolve.c:9059
+ #, no-c-format
+ msgid "Contained procedure '%s' at %L of a PURE procedure must also be PURE"
+ msgstr "Innesluten procedur \"%s\" vid %L i en PURE-procedur måste också vara PURE"
+
+-#: fortran/scanner.c:526
++#: fortran/scanner.c:530
+ #, no-c-format
+ msgid "!$OMP at %C starts a commented line as it neither is followed by a space nor is a continuation line"
+ msgstr "!$OMP vid %C inleder en kommentarrad eftersom det varken följs av en blank eller en fortsättningsrad"
+
+-#: fortran/scanner.c:816 fortran/scanner.c:937
++#: fortran/scanner.c:820 fortran/scanner.c:941
+ #, no-c-format
+ msgid "Limit of %d continuations exceeded in statement at %C"
+ msgstr "Gränsen på %d fortsättningar överskrids i sats vid %C"
+
+-#: fortran/scanner.c:861
++#: fortran/scanner.c:865
+ #, no-c-format
+ msgid "Missing '&' in continued character constant at %C"
+ msgstr "\"&\" saknas i fortsatt teckenkonstant vid %C"
+
+-#: fortran/scanner.c:1071
++#: fortran/scanner.c:1075
+ #, no-c-format
+ msgid "Nonconforming tab character at %C"
+ msgstr "Ej konformt tabulatortecken vid %C"
+
+-#: fortran/scanner.c:1153 fortran/scanner.c:1156
++#: fortran/scanner.c:1158 fortran/scanner.c:1161
+ #, no-c-format
+ msgid "'&' not allowed by itself in line %d"
+ msgstr "\"&\" är inte tillåtet ensamt på rad %d"
+
+-#: fortran/scanner.c:1189
++#: fortran/scanner.c:1207
+ #, no-c-format
+-msgid "Nonconforming tab character in column 1 of line %d"
+-msgstr "Ej konformt tabulatortecken i kolumn 1 på rad %d"
++msgid "Nonconforming tab character in column %d of line %d"
++msgstr "Ej konformt tabulatortecken i kolumn %d på rad %d"
+
+-#: fortran/scanner.c:1387
++#: fortran/scanner.c:1405
+ #, no-c-format
+ msgid "%s:%d: file %s left but not entered"
+ msgstr "%s:%d: gått ifrån men inte till filen %s"
+
+-#: fortran/scanner.c:1419
++#: fortran/scanner.c:1438
+ #, no-c-format
+ msgid "%s:%d: Illegal preprocessor directive"
+ msgstr "%s:%d: Ogiltigt preprocessordirektiv"
+
+-#: fortran/scanner.c:1514
++#: fortran/scanner.c:1533
+ #, no-c-format
+ msgid "File '%s' is being included recursively"
+ msgstr "Filen \"%s\" inkluderas rekursivt"
+
+-#: fortran/scanner.c:1529
++#: fortran/scanner.c:1548
+ #, no-c-format
+ msgid "Can't open file '%s'"
+ msgstr "Kan inte öppna filen \"%s\""
+
+-#: fortran/scanner.c:1538
++#: fortran/scanner.c:1557
+ #, no-c-format
+ msgid "Can't open included file '%s'"
+ msgstr "Kan inte öppna inkluderad fil \"%s\""
+
+-#: fortran/scanner.c:1676
++#: fortran/scanner.c:1701
+ #, c-format
+ msgid "%s:%3d %s\n"
+ msgstr "%s:%3d %s\n"
+@@ -10241,134 +10298,134 @@
+ msgid "Argument of CHAR function at %L outside of range [0,255]"
+ msgstr "Argument till CHAR-funktion vid %L är utanför sitt intervall [0,255]"
+
+-#: fortran/simplify.c:1247
++#: fortran/simplify.c:1293
+ #, no-c-format
+ msgid "Argument of IACHAR at %L must be of length one"
+ msgstr "Argument till IACHAR vid %L måste ha längden ett"
+
+-#: fortran/simplify.c:1254
++#: fortran/simplify.c:1300
+ #, no-c-format
+ msgid "Argument of IACHAR function at %L outside of range 0..127"
+ msgstr "Argument till IACHAR-funktion vid %L är utanför sitt intevall 0..127"
+
+-#: fortran/simplify.c:1293
++#: fortran/simplify.c:1339
+ #, no-c-format
+ msgid "Invalid second argument of IBCLR at %L"
+ msgstr "Ogiltigt andra argument till IBCLR vid %L"
+
+-#: fortran/simplify.c:1301
++#: fortran/simplify.c:1347
+ #, no-c-format
+ msgid "Second argument of IBCLR exceeds bit size at %L"
+ msgstr "Andra argumentet till IBCLR överskrider bitstorleken vid %L"
+
+-#: fortran/simplify.c:1335
++#: fortran/simplify.c:1381
+ #, no-c-format
+ msgid "Invalid second argument of IBITS at %L"
+ msgstr "Ogiltigt andra argument till IBITS vid %L"
+
+-#: fortran/simplify.c:1341
++#: fortran/simplify.c:1387
+ #, no-c-format
+ msgid "Invalid third argument of IBITS at %L"
+ msgstr "Ogiltigt tredje argument till IBITS vid %L"
+
+-#: fortran/simplify.c:1351
++#: fortran/simplify.c:1397
+ #, no-c-format
+ msgid "Sum of second and third arguments of IBITS exceeds bit size at %L"
+ msgstr "Summan av andra och tredje argumenten till IBITS överskrider bitstorleken vid %L"
+
+-#: fortran/simplify.c:1393
++#: fortran/simplify.c:1439
+ #, no-c-format
+ msgid "Invalid second argument of IBSET at %L"
+ msgstr "Ogiltigt andra argument till IBSET vid %L"
+
+-#: fortran/simplify.c:1401
++#: fortran/simplify.c:1447
+ #, no-c-format
+ msgid "Second argument of IBSET exceeds bit size at %L"
+ msgstr "Andra argumentet till IBSET överskrider bitstorleken vid %L"
+
+-#: fortran/simplify.c:1431
++#: fortran/simplify.c:1477
+ #, no-c-format
+ msgid "Argument of ICHAR at %L must be of length one"
+ msgstr "Argument till ICHAR vid %L måste ha längden ett"
+
+-#: fortran/simplify.c:1646
++#: fortran/simplify.c:1692
+ #, no-c-format
+ msgid "Argument of INT at %L is not a valid type"
+ msgstr "Argument till INT vid %L är inte en giltig typ"
+
+-#: fortran/simplify.c:1688
++#: fortran/simplify.c:1734
+ #, no-c-format
+ msgid "Argument of %s at %L is not a valid type"
+ msgstr "Argument till %s vid %L är inte en giltig typ"
+
+-#: fortran/simplify.c:1786
++#: fortran/simplify.c:1832
+ #, no-c-format
+ msgid "Invalid second argument of ISHFT at %L"
+ msgstr "Ogiltigt andra argument till ISHFT vid %L"
+
+-#: fortran/simplify.c:1801
++#: fortran/simplify.c:1847
+ #, no-c-format
+ msgid "Magnitude of second argument of ISHFT exceeds bit size at %L"
+ msgstr "Magnituden på andra argumentet till ISHFT överskrider bitstorleken vid %L"
+
+-#: fortran/simplify.c:1865
++#: fortran/simplify.c:1911
+ #, no-c-format
+ msgid "Invalid second argument of ISHFTC at %L"
+ msgstr "Ogiltigt andra argument till ISHFTC vid %L"
+
+-#: fortran/simplify.c:1879
++#: fortran/simplify.c:1925
+ #, no-c-format
+ msgid "Invalid third argument of ISHFTC at %L"
+ msgstr "Ogiltigt tredje argument till ISHFTC vid %L"
+
+-#: fortran/simplify.c:1885
++#: fortran/simplify.c:1931
+ #, no-c-format
+ msgid "Magnitude of third argument of ISHFTC exceeds BIT_SIZE of first argument at %L"
+ msgstr "Magnituden på tredje argumentet till ISHFTC överskrider BIT_SIZE av första argumentet vid %L"
+
+-#: fortran/simplify.c:1901
++#: fortran/simplify.c:1947
+ #, no-c-format
+ msgid "Magnitude of second argument of ISHFTC exceeds third argument at %L"
+ msgstr "Magnituden på andra argumentet till ISHFTC överskrider tredje argumentet vid %L"
+
+-#: fortran/simplify.c:1904
++#: fortran/simplify.c:1950
+ #, no-c-format
+ msgid "Magnitude of second argument of ISHFTC exceeds BIT_SIZE of first argument at %L"
+ msgstr "Magnituden på andra argumentet till ISHFTC överskrider BIT_SIZE av första argumentet vid %L"
+
+-#: fortran/simplify.c:1975
++#: fortran/simplify.c:2021
+ #, no-c-format
+ msgid "Argument of KIND at %L is a DERIVED type"
+ msgstr "Argument till KIND vid %L är en DERIVED-typ"
+
+-#: fortran/simplify.c:2163
++#: fortran/simplify.c:2209
+ #, no-c-format
+ msgid "DIM argument at %L is out of bounds"
+ msgstr "DIM-argument vid %L är utanför gränsen"
+
+-#: fortran/simplify.c:2318
++#: fortran/simplify.c:2364
+ #, no-c-format
+ msgid "Argument of LOG at %L cannot be less than or equal to zero"
+ msgstr "Argument till LOG vid %L får inte vara mindre än eller lika med noll"
+
+-#: fortran/simplify.c:2331
++#: fortran/simplify.c:2377
+ #, no-c-format
+ msgid "Complex argument of LOG at %L cannot be zero"
+ msgstr "Komplext argument till LOG vid %L får inte vara noll"
+
+-#: fortran/simplify.c:2374
++#: fortran/simplify.c:2420
+ #, no-c-format
+ msgid "Argument of LOG10 at %L cannot be less than or equal to zero"
+ msgstr "Argument till LOG10 vid %L får inte vara mindre än eller lika med noll"
+
+ #. Result is processor-dependent.
+-#: fortran/simplify.c:2579
++#: fortran/simplify.c:2628
+ #, no-c-format
+ msgid "Second argument MOD at %L is zero"
+ msgstr "Andra argumentet till MOD vid %L är noll"
+
+ #. Result is processor-dependent.
+-#: fortran/simplify.c:2590
++#: fortran/simplify.c:2639
+ #, no-c-format
+ msgid "Second argument of MOD at %L is zero"
+ msgstr "Andra argumentet till MOD vid %L är noll"
+@@ -10376,82 +10433,87 @@
+ #. Result is processor-dependent. This processor just opts
+ #. to not handle it at all.
+ #. Result is processor-dependent.
+-#: fortran/simplify.c:2638 fortran/simplify.c:2650
++#: fortran/simplify.c:2687 fortran/simplify.c:2699
+ #, no-c-format
+ msgid "Second argument of MODULO at %L is zero"
+ msgstr "Andra argumentet till MODULO vid %L är noll"
+
+-#: fortran/simplify.c:2702
++#: fortran/simplify.c:2751
+ #, no-c-format
+ msgid "Second argument of NEAREST at %L shall not be zero"
+ msgstr "Andra argumentet till NEAREST vid %L får inte vara noll"
+
+-#: fortran/simplify.c:2977
++#: fortran/simplify.c:2787
+ #, no-c-format
++msgid "Result of NEAREST is NaN at %L"
++msgstr "Resultatet av NEAREST är NaN vid %L"
++
++#: fortran/simplify.c:3062
++#, no-c-format
+ msgid "Argument NCOPIES of REPEAT intrinsic is negative at %L"
+ msgstr "Argument NCOPIES till inbyggd REPEAT är negativt vid %L"
+
+-#: fortran/simplify.c:3032
++#: fortran/simplify.c:3117
+ #, no-c-format
+ msgid "Argument NCOPIES of REPEAT intrinsic is too large at %L"
+ msgstr "Argumentet NCOPIES till inbyggd REPEAT är för stort vid %L"
+
+-#: fortran/simplify.c:3122
++#: fortran/simplify.c:3232
+ #, no-c-format
+ msgid "Integer too large in shape specification at %L"
+ msgstr "För stort heltal i formspecifikation vid %L"
+
+-#: fortran/simplify.c:3132
++#: fortran/simplify.c:3242
+ #, no-c-format
+ msgid "Too many dimensions in shape specification for RESHAPE at %L"
+ msgstr "För många dimensioner i formspecifikation till RESHAPE vid %L"
+
+-#: fortran/simplify.c:3140
++#: fortran/simplify.c:3250
+ #, no-c-format
+ msgid "Shape specification at %L cannot be negative"
+ msgstr "Formspecifikation vid %L kan inte vara negativ"
+
+-#: fortran/simplify.c:3150
++#: fortran/simplify.c:3260
+ #, no-c-format
+ msgid "Shape specification at %L cannot be the null array"
+ msgstr "Formspecifikation vid %L får inte vara den tomma vektorn"
+
+-#: fortran/simplify.c:3171
++#: fortran/simplify.c:3281
+ #, no-c-format
+ msgid "ORDER parameter of RESHAPE at %L is not the same size as SHAPE parameter"
+ msgstr "ORDER-parameter till RESHAPE vid %L har inte samma storlek som SHAPE-parametern"
+
+-#: fortran/simplify.c:3178
++#: fortran/simplify.c:3288
+ #, no-c-format
+ msgid "Error in ORDER parameter of RESHAPE at %L"
+ msgstr "Fel i ORDER-parameter till RESHAPE vid %L"
+
+-#: fortran/simplify.c:3188
++#: fortran/simplify.c:3298
+ #, no-c-format
+ msgid "ORDER parameter of RESHAPE at %L is out of range"
+ msgstr "ORDER-parameter till RESHAPE vid %L är utanför gränsen"
+
+-#: fortran/simplify.c:3197
++#: fortran/simplify.c:3307
+ #, no-c-format
+ msgid "Invalid permutation in ORDER parameter at %L"
+ msgstr "Ogiltig permutation i ORDER-parameter vid %L"
+
+-#: fortran/simplify.c:3253
++#: fortran/simplify.c:3363
+ #, no-c-format
+ msgid "PAD parameter required for short SOURCE parameter at %L"
+ msgstr "PAD-parameter krävs för kort SOURCE-parameter vid %L"
+
+-#: fortran/simplify.c:3372
++#: fortran/simplify.c:3482
+ #, no-c-format
+ msgid "Result of SCALE overflows its kind at %L"
+ msgstr "Resultat av SCALE spiller över sin sort vid %L"
+
+-#: fortran/simplify.c:3942
++#: fortran/simplify.c:4056
+ #, no-c-format
+ msgid "Argument of SQRT at %L has a negative value"
+ msgstr "Argument till SQRT vid %L har ett negativt värde"
+
+-#: fortran/simplify.c:4069
++#: fortran/simplify.c:4190
+ #, no-c-format
+ msgid "Intrinsic TRANSFER at %L has partly undefined result: source size %ld < result size %ld"
+ msgstr "Inbyggd TRANSFER vid %L har delvis odefinierat resultat: källstorlek %ld < resultatstorlek %ld"
+@@ -10681,29 +10743,29 @@
+ msgid "Symbol '%s' at %C has already been host associated"
+ msgstr "Symbolen \"%s\" vid %C har redan blivit host-associerad"
+
+-#: fortran/symbol.c:3162
++#: fortran/symbol.c:3189
+ #, no-c-format
+ msgid "Derived type '%s' declared at %L must have the BIND attribute to be C interoperable"
+ msgstr "Härledd typ \"%s\" deklarerad vid %L måste ha attributet BIND för att vara ett C-interoperativ"
+
+-#: fortran/symbol.c:3173
++#: fortran/symbol.c:3200
+ #, no-c-format
+ msgid "Derived type '%s' at %L is empty"
+ msgstr "Härledd typ \"%s\" vid %L är tom"
+
+-#: fortran/symbol.c:3190
++#: fortran/symbol.c:3217
+ #, no-c-format
+ msgid "Component '%s' at %L cannot have the POINTER attribute because it is a member of the BIND(C) derived type '%s' at %L"
+ msgstr "Komponent \"%s\" vid %L får inte ha attributet POINTER eftersom det är en medlem av den BIND(C)-härledda typen \"%s\" vid %L"
+
+-#: fortran/symbol.c:3202
++#: fortran/symbol.c:3229
+ #, no-c-format
+ msgid "Component '%s' at %L cannot have the ALLOCATABLE attribute because it is a member of the BIND(C) derived type '%s' at %L"
+ msgstr "Komponent \"%s\" vid %L får inte ha attributet ALLOCATABLE eftersom det är en medlem av den BIND(C)-härledda typen \"%s\" vid %L"
+
+ #. If the derived type is bind(c), all fields must be
+ #. interop.
+-#: fortran/symbol.c:3241
++#: fortran/symbol.c:3268
+ #, no-c-format
+ msgid "Component '%s' in derived type '%s' at %L may not be C interoperable, even though derived type '%s' is BIND(C)"
+ msgstr "Komponent \"%s\" i härledd typ \"%s\" vid %L får inte vara C-interoperativ, trots att den härledda typen \"%s\" är BIND(C)"
+@@ -10711,17 +10773,17 @@
+ #. If derived type is param to bind(c) routine, or to one
+ #. of the iso_c_binding procs, it must be interoperable, so
+ #. all fields must interop too.
+-#: fortran/symbol.c:3250
++#: fortran/symbol.c:3277
+ #, no-c-format
+ msgid "Component '%s' in derived type '%s' at %L may not be C interoperable"
+ msgstr "Komponent \"%s\" i härledd typ \"%s\" vid %L får inte vara C-interoperativ"
+
+-#: fortran/symbol.c:3264
++#: fortran/symbol.c:3291
+ #, no-c-format
+ msgid "Derived type '%s' at %L cannot be declared with both PRIVATE and BIND(C) attributes"
+ msgstr "Härledd typ \"%s\" vid %L kan inte deklareras med både attributet PRIVATE och BIND(C)"
+
+-#: fortran/symbol.c:3272
++#: fortran/symbol.c:3299
+ #, no-c-format
+ msgid "Derived type '%s' at %L cannot have the SEQUENCE attribute because it is BIND(C)"
+ msgstr "Härledd typ \"%s\" vid %L kan inte ha attributet SEQUENCE för att den är BIND(C)"
+@@ -10731,38 +10793,43 @@
+ msgid "Overlapping unequal initializers in EQUIVALENCE at %L"
+ msgstr "Överlappande olika initierare i EQUIVALENCE vid %L"
+
+-#: fortran/trans-common.c:396
++#: fortran/target-memory.c:635
+ #, no-c-format
++msgid "BOZ constant at %L is too large (%ld vs %ld bits)"
++msgstr "BOZ-konstant vid %L är för stor (%ld jämfört med %ld bitar)"
++
++#: fortran/trans-common.c:399
++#, no-c-format
+ msgid "Named COMMON block '%s' at %L shall be of the same size"
+ msgstr "Namngivet COMMON-block \"%s\" vid %L skall ha samma storlek"
+
+-#: fortran/trans-common.c:817
++#: fortran/trans-common.c:833
+ #, no-c-format
+ msgid "Bad array reference at %L"
+ msgstr "Felaktig vektorreferens vid %L"
+
+-#: fortran/trans-common.c:825
++#: fortran/trans-common.c:841
+ #, no-c-format
+ msgid "Illegal reference type at %L as EQUIVALENCE object"
+ msgstr "Ogiltig referenstyp vid %L som EQUIVALENCE-objekt"
+
+-#: fortran/trans-common.c:865
++#: fortran/trans-common.c:881
+ #, no-c-format
+ msgid "Inconsistent equivalence rules involving '%s' at %L and '%s' at %L"
+ msgstr "Inkonsistenta ekvivalensregler rörande \"%s\" vid %L och \"%s\" vid %L"
+
+ #. Aligning this field would misalign a previous field.
+-#: fortran/trans-common.c:998
++#: fortran/trans-common.c:1014
+ #, no-c-format
+ msgid "The equivalence set for variable '%s' declared at %L violates alignment requirements"
+ msgstr "Ekvivalensmängden för variabeln \"%s\" deklarerad vid %L bryter mot justeringskraven"
+
+-#: fortran/trans-common.c:1063
++#: fortran/trans-common.c:1079
+ #, no-c-format
+ msgid "Equivalence for '%s' does not match ordering of COMMON '%s' at %L"
+ msgstr "Ekvivalens för \"%s\" stämmer inte med ordningen av COMMON \"%s\" vid %L"
+
+-#: fortran/trans-common.c:1078
++#: fortran/trans-common.c:1094
+ #, no-c-format
+ msgid "The equivalence set for '%s' cause an invalid extension to COMMON '%s' at %L"
+ msgstr "Ekvivalensmängden för \"%s\" orsakar en ogiltig utvidgning av COMMON \"%s\" vid %L"
+@@ -10770,42 +10837,42 @@
+ #. The required offset conflicts with previous alignment
+ #. requirements. Insert padding immediately before this
+ #. segment.
+-#: fortran/trans-common.c:1089
++#: fortran/trans-common.c:1105
+ #, no-c-format
+ msgid "Padding of %d bytes required before '%s' in COMMON '%s' at %L"
+ msgstr "Utfyllnad med %d byte krävs före \"%s\" i COMMON \"%s\" vid %L"
+
+-#: fortran/trans-common.c:1115
++#: fortran/trans-common.c:1131
+ #, no-c-format
+ msgid "COMMON '%s' at %L does not exist"
+ msgstr "COMMON \"%s\" vid %L existerar inte"
+
+-#: fortran/trans-common.c:1122
++#: fortran/trans-common.c:1138
+ #, no-c-format
+ msgid "COMMON '%s' at %L requires %d bytes of padding at start"
+ msgstr "COMMON \"%s\" vid %L kräver %d byte utfyllnad i början"
+
+-#: fortran/trans-decl.c:3016
++#: fortran/trans-decl.c:2979
+ #, no-c-format
+ msgid "Dummy argument '%s' at %L was declared INTENT(OUT) but was not set"
+ msgstr "Attrappargument \"%s\" vid %L deklarerades INTENT(OUT) men sattes inte"
+
+-#: fortran/trans-decl.c:3020
++#: fortran/trans-decl.c:2983
+ #, no-c-format
+ msgid "Unused dummy argument '%s' at %L"
+ msgstr "Oanvänt attrappargument \"%s\" vid %L"
+
+-#: fortran/trans-decl.c:3026
++#: fortran/trans-decl.c:2989
+ #, no-c-format
+ msgid "Unused variable '%s' declared at %L"
+ msgstr "Oanvänd variabel \"%s\" deklarerad vid %L"
+
+-#: fortran/trans-decl.c:3052
++#: fortran/trans-decl.c:3015
+ #, no-c-format
+ msgid "Unused parameter '%s' declared at %L"
+ msgstr "Oanvänd parameter \"%s\" deklarerad vid %L"
+
+-#: fortran/trans-expr.c:2036
++#: fortran/trans-expr.c:2199
+ #, no-c-format
+ msgid "Unknown argument list function at %L"
+ msgstr "Okänd argumentlistefunktion vid %L"
+@@ -10815,12 +10882,12 @@
+ msgid "'dim' argument of %s intrinsic at %L is not a valid dimension index"
+ msgstr "\"dim\"-argumentet till inbyggd \"%s\" vid %L är inte ett giltigt dimensionsindex"
+
+-#: fortran/trans-io.c:1850
++#: fortran/trans-io.c:1851
+ #, no-c-format
+ msgid "Derived type '%s' at %L has PRIVATE components"
+ msgstr "Härledd typ \"%s\" vid %L har PRIVATE-komponenter"
+
+-#: fortran/trans-stmt.c:438
++#: fortran/trans-stmt.c:436
+ #, no-c-format
+ msgid "An alternate return at %L without a * dummy argument"
+ msgstr "En alternativ retur vid %L utan ett * attrappargument"
+@@ -11044,55 +11111,34 @@
+ msgid "cannot specify 'main' class when not linking"
+ msgstr "får inte ange \"main\"-klass när länkning inte görs"
+
+-#: config/i386/nwld.h:34
+-msgid "Static linking is not supported.\n"
+-msgstr "Statisk länkning stöds inte.\n"
+-
+-#: java/jvspec.c:80 gcc.c:820 ada/lang-specs.h:33
+-msgid "-pg and -fomit-frame-pointer are incompatible"
+-msgstr "-pg och -fomit-frame-pointer är inkompatibla"
+-
+ #: config/vax/netbsd-elf.h:41
+ msgid "the -shared option is not currently supported for VAX ELF"
+ msgstr "flaggan -shared stöds för närvarande inte för VAX ELF"
+
+-#: config/sparc/sol2-gld-bi.h:17 config/sparc/sol2-gld-bi.h:22
+-#: config/sparc/sol2-bi.h:189 config/sparc/sol2-bi.h:194
+-msgid "does not support multilib"
+-msgstr "stödjer inte multilib"
+-
+ #: config/vax/vax.h:49 config/vax/vax.h:50
+ msgid "profiling not supported with -mg\n"
+ msgstr "profilering stöds inte tillsammans med -mg\n"
+
+-#: config/rs6000/linux64.h:347 config/rs6000/linux64.h:349 config/linux.h:106
+-#: config/linux.h:108 config/rs6000/sysv4.h:897 config/rs6000/sysv4.h:899
++#: config/sh/sh.h:461
++msgid "SH2a does not support little-endian"
++msgstr "SH2a stödjer inte omvänd byteordning"
++
++#: config/s390/tpf.h:119
++msgid "static is not supported on TPF-OS"
++msgstr "static stöds inte på TPF-OS"
++
+ #: config/alpha/linux-elf.h:33 config/alpha/linux-elf.h:35
++#: config/rs6000/sysv4.h:897 config/rs6000/sysv4.h:899
+ #: config/sparc/linux.h:126 config/sparc/linux.h:128
+-#: config/sparc/linux64.h:152 config/sparc/linux64.h:154
++#: config/sparc/linux64.h:152 config/sparc/linux64.h:154 config/linux.h:106
++#: config/linux.h:108 config/rs6000/linux64.h:347 config/rs6000/linux64.h:349
+ msgid "-mglibc and -muclibc used together"
+ msgstr "-mglibc och -muclibc används tillsammans"
+
+-#: config/i386/cygwin.h:28
+-msgid "mno-cygwin and mno-win32 are not compatible"
+-msgstr "mno-cygwin och mno-win32 är inkompatibla"
++#: java/jvspec.c:80 gcc.c:820 ada/lang-specs.h:33
++msgid "-pg and -fomit-frame-pointer are incompatible"
++msgstr "-pg och -fomit-frame-pointer är inkompatibla"
+
+-#: config/i386/cygwin.h:74 config/i386/mingw32.h:74
+-msgid "shared and mdll are not compatible"
+-msgstr "shared och mdll är inkompatibla"
+-
+-#: config/i386/sco5.h:188
+-msgid "-pg not supported on this platform"
+-msgstr "-pg stöds inte på denna plattform"
+-
+-#: config/i386/sco5.h:189
+-msgid "-p and -pp specified - pick one"
+-msgstr "-p och -pp angivna - välj en"
+-
+-#: config/i386/sco5.h:258
+-msgid "-G and -static are mutually exclusive"
+-msgstr "-G och -static är ömsesidigt uteslutande"
+-
+ #: gcc.c:792
+ msgid "GCC does not support -C or -CC without -E"
+ msgstr "GCC stödjer inte -C eller -CC utan -E"
+@@ -11101,58 +11147,14 @@
+ msgid "-E or -x required when input is from standard input"
+ msgstr "-E eller -x krävs när indata tas från standard in"
+
+-#: java/lang-specs.h:33
+-msgid "-fjni and -femit-class-files are incompatible"
+-msgstr "-fjni och -femit-class-files är inkompatibla"
+-
+-#: java/lang-specs.h:34
+-msgid "-fjni and -femit-class-file are incompatible"
+-msgstr "-fjni och -femit-class-file är inkompatibla"
+-
+-#: java/lang-specs.h:35 java/lang-specs.h:36
+-msgid "-femit-class-file should used along with -fsyntax-only"
+-msgstr "-femit-class-file skall användas tillsammans med -fsyntax-only"
+-
+ #: config/mcore/mcore.h:56
+ msgid "the m210 does not have little endian support"
+ msgstr "m210 har inte stöd för omvänd byteordning"
+
+-#: config/lynx.h:70
+-msgid "cannot use mthreads and mlegacy-threads together"
+-msgstr "mthreads och mlegacy-threads kan inte användas tillsammans"
+-
+-#: config/lynx.h:95
+-msgid "cannot use mshared and static together"
+-msgstr "mshared och static kan inte användas tillsammans"
+-
+-#: config/sh/sh.h:461
+-msgid "SH2a does not support little-endian"
+-msgstr "SH2a stödjer inte omvänd byteordning"
+-
+-#: config/mips/mips.h:1042 config/arc/arc.h:61
++#: config/arc/arc.h:61 config/mips/mips.h:1042
+ msgid "may not use both -EB and -EL"
+ msgstr "får inte använda både -EB och -EL"
+
+-#: config/s390/tpf.h:119
+-msgid "static is not supported on TPF-OS"
+-msgstr "static stöds inte på TPF-OS"
+-
+-#: config/rs6000/darwin.h:95
+-msgid " conflicting code gen style switches are used"
+-msgstr " kodgenereringsflaggor som står i konflikt används"
+-
+-#: ada/lang-specs.h:34
+-msgid "-c or -S required for Ada"
+-msgstr "-c eller -S krävs för Ada"
+-
+-#: config/mips/r3900.h:34
+-msgid "-mhard-float not supported"
+-msgstr "-mhard-float stöds inte"
+-
+-#: config/mips/r3900.h:36
+-msgid "-msingle-float and -msoft-float cannot both be specified"
+-msgstr "-msingle-float och -msoft-float kan inte båda anges"
+-
+ #: config/vxworks.h:71
+ msgid "-Xbind-now and -Xbind-lazy are incompatible"
+ msgstr "-Xbind-now och -Xbind-lazy är inkompatibla"
+@@ -11189,12 +11191,24 @@
+ msgid "-private_bundle not allowed with -dynamiclib"
+ msgstr "-private_bundle är inte tillåten med -dynamiclib"
+
++#: config/mips/r3900.h:34
++msgid "-mhard-float not supported"
++msgstr "-mhard-float stöds inte"
++
++#: config/mips/r3900.h:36
++msgid "-msingle-float and -msoft-float cannot both be specified"
++msgstr "-msingle-float och -msoft-float kan inte båda anges"
++
+ #: config/sparc/linux64.h:211 config/sparc/linux64.h:222
+ #: config/sparc/netbsd-elf.h:125 config/sparc/netbsd-elf.h:144
+ #: config/sparc/sol2-bi.h:217 config/sparc/sol2-bi.h:227
+ msgid "may not use both -m32 and -m64"
+ msgstr "går inte att använda både -m32 och -m64"
+
++#: config/i386/mingw32.h:74 config/i386/cygwin.h:74
++msgid "shared and mdll are not compatible"
++msgstr "shared och mdll är inkompatibla"
++
+ #: config/arm/arm.h:147
+ msgid "-msoft-float and -mhard_float may not be used together"
+ msgstr "-msoft-float och -mhard_float får inte användas tillsammans"
+@@ -11203,118 +11217,63 @@
+ msgid "-mbig-endian and -mlittle-endian may not be used together"
+ msgstr "-mbig-endian och -mlittle-endian får inte användas tillsammans"
+
+-#: java/lang.opt:65
+-msgid "Warn if a deprecated compiler feature, class, method, or field is used"
+-msgstr "Varna för en kompilatorfunktion, klass, metod eller fält som bör undvikas används"
++#: config/rs6000/darwin.h:95
++msgid " conflicting code gen style switches are used"
++msgstr " kodgenereringsflaggor som står i konflikt används"
+
+-#: java/lang.opt:69
+-msgid "Warn if deprecated empty statements are found"
+-msgstr "Varna om tomma satser som bör undvikas finns"
++#: ada/lang-specs.h:34
++msgid "-c or -S required for Ada"
++msgstr "-c eller -S krävs för Ada"
+
+-#: java/lang.opt:73
+-msgid "Warn if .class files are out of date"
+-msgstr "Varna om .class-filer är inaktuella"
++#: config/sparc/sol2-bi.h:189 config/sparc/sol2-bi.h:194
++#: config/sparc/sol2-gld-bi.h:17 config/sparc/sol2-gld-bi.h:22
++msgid "does not support multilib"
++msgstr "stödjer inte multilib"
+
+-#: java/lang.opt:77
+-msgid "Warn if modifiers are specified when not necessary"
+-msgstr "Varna om modifierare anges när de inte behövs"
++#: config/i386/nwld.h:34
++msgid "Static linking is not supported.\n"
++msgstr "Statisk länkning stöds inte.\n"
+
+-#: java/lang.opt:81
+-msgid "Deprecated; use --classpath instead"
+-msgstr "Avrådes, använd -classpath istället"
++#: config/i386/cygwin.h:28
++msgid "mno-cygwin and mno-win32 are not compatible"
++msgstr "mno-cygwin och mno-win32 är inkompatibla"
+
+-#: java/lang.opt:88
+-msgid "Permit the use of the assert keyword"
+-msgstr "Tillåt användning av nyckelordet assert"
++#: config/i386/sco5.h:188
++msgid "-pg not supported on this platform"
++msgstr "-pg stöds inte på denna plattform"
+
+-#: java/lang.opt:110
+-msgid "Replace system path"
+-msgstr "Ersätt systemsökvägen"
++#: config/i386/sco5.h:189
++msgid "-p and -pp specified - pick one"
++msgstr "-p och -pp angivna - välj en"
+
+-#: java/lang.opt:114
+-msgid "Generate checks for references to NULL"
+-msgstr "Generera kontroller av referenser till NULL"
++#: config/i386/sco5.h:258
++msgid "-G and -static are mutually exclusive"
++msgstr "-G och -static är ömsesidigt uteslutande"
+
+-#: java/lang.opt:118
+-msgid "Set class path"
+-msgstr "Ange klassökväg"
++#: java/lang-specs.h:33
++msgid "-fjni and -femit-class-files are incompatible"
++msgstr "-fjni och -femit-class-files är inkompatibla"
+
+-#: java/lang.opt:125
+-msgid "Output a class file"
+-msgstr "Skriv en class-fil"
++#: java/lang-specs.h:34
++msgid "-fjni and -femit-class-file are incompatible"
++msgstr "-fjni och -femit-class-file är inkompatibla"
+
+-#: java/lang.opt:129
+-msgid "Alias for -femit-class-file"
+-msgstr "Alias för -femit-class-file"
++#: java/lang-specs.h:35 java/lang-specs.h:36
++msgid "-femit-class-file should used along with -fsyntax-only"
++msgstr "-femit-class-file skall användas tillsammans med -fsyntax-only"
+
+-#: java/lang.opt:133
+-msgid "Choose input encoding (defaults from your locale)"
+-msgstr "Välj inmatningskodning (din lokal används som standard)"
++#: config/cris/cris.h:207
++msgid "Do not specify both -march=... and -mcpu=..."
++msgstr "Ange inte både -march=... och -mcpu=..."
+
+-#: java/lang.opt:137
+-msgid "Set the extension directory path"
+-msgstr "Ange katalogsökväg för utökningar"
++#: config/lynx.h:70
++msgid "cannot use mthreads and mlegacy-threads together"
++msgstr "mthreads och mlegacy-threads kan inte användas tillsammans"
+
+-#: java/lang.opt:144
+-msgid "Input file is a file with a list of filenames to compile"
+-msgstr "Indatafil är en fil med en lista på filnamn att kompilera"
++#: config/lynx.h:95
++msgid "cannot use mshared and static together"
++msgstr "mshared och static kan inte användas tillsammans"
+
+-#: java/lang.opt:151
+-msgid "Always check for non gcj generated classes archives"
+-msgstr "Leta alltid efter klassarkiv ej genererade av gcj"
+-
+-#: java/lang.opt:155
+-msgid "Assume the runtime uses a hash table to map an object to its synchronization structure"
+-msgstr "Anta att en hash-tabell används vid körning för att översätta ett objekt till dess synkroniseringsstruktur"
+-
+-#: java/lang.opt:159
+-msgid "Generate instances of Class at runtime"
+-msgstr "Generera instanser av Class vid körtid"
+-
+-#: java/lang.opt:163
+-msgid "Use offset tables for virtual method calls"
+-msgstr "Använd avståndstabeller för anrop av virtuella metoder"
+-
+-#: java/lang.opt:170
+-msgid "Assume native functions are implemented using JNI"
+-msgstr "Anta att inbyggda funktioner är implementerade med JNI"
+-
+-#: java/lang.opt:174
+-msgid "Enable optimization of static class initialization code"
+-msgstr "Aktivera optimeringar av initieringskod för statiska klasser"
+-
+-#: java/lang.opt:181
+-msgid "Reduce the amount of reflection meta-data generated"
+-msgstr "Reducera mängden reflektionsmetadata som genereras"
+-
+-#: java/lang.opt:185
+-msgid "Enable assignability checks for stores into object arrays"
+-msgstr "Aktivera kontroll av tilldelningsbarhet för lagring i objektvektorer"
+-
+-#: java/lang.opt:189
+-msgid "Generate code for the Boehm GC"
+-msgstr "Generera kod för Boehm GC"
+-
+-#: java/lang.opt:193
+-msgid "Call a library routine to do integer divisions"
+-msgstr "Anropa en biblioteksrutin för att göra heltalsdivisioner"
+-
+-#: java/lang.opt:197
+-msgid "Generated should be loaded by bootstrap loader"
+-msgstr "Genererat skall läsas in av uppstartsladdaren"
+-
+-#: java/lang.opt:201
+-msgid "Set the source language version"
+-msgstr "Ange källspråksversion"
+-
+-#: java/lang.opt:205
+-msgid "Set the target VM version"
+-msgstr "Ange typen av mål-VM-version"
+-
+-#: ada/lang.opt:96
+-msgid "Specify options to GNAT"
+-msgstr "Ange flaggor till GNAT"
+-
+ #: fortran/lang.opt:29
+ msgid "Add a directory for INCLUDE and MODULE searching"
+ msgstr "Lägg till en katalog för INCLUDE- och MODULE-sökning"
+@@ -11555,7 +11514,7 @@
+ msgid "Append a second underscore if the name already contains an underscore"
+ msgstr "Lägg till ett andra understrykningstecken om namnet redan innehåller ett understrykningstecken"
+
+-#: fortran/lang.opt:277 c.opt:714
++#: fortran/lang.opt:277 c.opt:718
+ msgid "Use the narrowest integer type possible for enumeration types"
+ msgstr "Använd den smalaste möjliga heltalstypen för uppräkningstyper"
+
+@@ -11587,14 +11546,62 @@
+ msgid "Accept extensions to support legacy code"
+ msgstr "Acceptera utökningar för att stödja gammal kod"
+
+-#: treelang/lang.opt:30
+-msgid "Trace lexical analysis"
+-msgstr "Spåra lexikalanalysen"
++#: config/mcore/mcore.opt:23
++msgid "Generate code for the M*Core M210"
++msgstr "Generera kod för M*Core M210"
+
+-#: treelang/lang.opt:34
+-msgid "Trace the parsing process"
+-msgstr "Spåra tolkningsprocessen"
++#: config/mcore/mcore.opt:27
++msgid "Generate code for the M*Core M340"
++msgstr "Generera kod för M*Core M340"
+
++#: config/mcore/mcore.opt:31
++msgid "Set maximum alignment to 4"
++msgstr "Sätt maximal justering till 4"
++
++#: config/mcore/mcore.opt:35
++msgid "Force functions to be aligned to a 4 byte boundary"
++msgstr "Tvinga funktioner till att vara justerade till en 4-bytegräns"
++
++#: config/mcore/mcore.opt:39
++msgid "Set maximum alignment to 8"
++msgstr "Sätt maximal justering till 8"
++
++#: config/mcore/mcore.opt:43 config/score/score.opt:23
++msgid "Generate big-endian code"
++msgstr "Generera kod med rak byteordning"
++
++#: config/mcore/mcore.opt:47
++msgid "Emit call graph information"
++msgstr "Mata ut anropsgrafsinformation"
++
++#: config/mcore/mcore.opt:51
++msgid "Use the divide instruction"
++msgstr "Använd divisionsinstruktionen"
++
++#: config/mcore/mcore.opt:55
++msgid "Inline constants if it can be done in 2 insns or less"
++msgstr "Inline:a konstanter om det kan göras på 2 instruktioner eller mindre"
++
++#: config/mcore/mcore.opt:59 config/score/score.opt:27
++msgid "Generate little-endian code"
++msgstr "Generera kod med omvänd byteordning"
++
++#: config/mcore/mcore.opt:67
++msgid "Use arbitrary sized immediates in bit operations"
++msgstr "Använd godtyckligt stora omedelbara i bitoperationer"
++
++#: config/mcore/mcore.opt:71
++msgid "Prefer word accesses over byte accesses"
++msgstr "Föredra ordåtkomst före byteåtkomst"
++
++#: config/mcore/mcore.opt:75
++msgid "Set the maximum amount for a single stack increment operation"
++msgstr "Ange maximal storlek på en ensam stackökningsoperation"
++
++#: config/mcore/mcore.opt:79
++msgid "Always treat bitfields as int-sized"
++msgstr "Hantera alltid bitfält som int-stora"
++
+ #: config/alpha/alpha.opt:23 config/i386/i386.opt:155
+ msgid "Do not use hardware fp"
+ msgstr "Använd inte hårdvaru-fp"
+@@ -11710,268 +11717,6 @@
+ msgid "Specify bit size of immediate TLS offsets"
+ msgstr "Ange bitstorlek på omedelbara TLS-avstånd"
+
+-#: config/frv/frv.opt:23
+-msgid "Use 4 media accumulators"
+-msgstr "Använd 4 mediaackumulatorer"
+-
+-#: config/frv/frv.opt:27
+-msgid "Use 8 media accumulators"
+-msgstr "Använd 8 mediaackumulatorer"
+-
+-#: config/frv/frv.opt:31
+-msgid "Enable label alignment optimizations"
+-msgstr "Aktivera optimeringar av etikettjustering"
+-
+-#: config/frv/frv.opt:35
+-msgid "Dynamically allocate cc registers"
+-msgstr "Allokera cc-register dynamiskt"
+-
+-#: config/frv/frv.opt:42
+-msgid "Set the cost of branches"
+-msgstr "Ange kostnaden för grenar"
+-
+-#: config/frv/frv.opt:46
+-msgid "Enable conditional execution other than moves/scc"
+-msgstr "Aktivera villkorlig exekvering förutom moves/scc"
+-
+-#: config/frv/frv.opt:50
+-msgid "Change the maximum length of conditionally-executed sequences"
+-msgstr "Ändra den maximala längden på villkorligt exekverade sekvenser"
+-
+-#: config/frv/frv.opt:54
+-msgid "Change the number of temporary registers that are available to conditionally-executed sequences"
+-msgstr "Ändra antalet temporära register som är tillgängliga för villkorligt exekverade sekvenser"
+-
+-#: config/frv/frv.opt:58
+-msgid "Enable conditional moves"
+-msgstr "Aktivera villkorliga flyttningar"
+-
+-#: config/frv/frv.opt:62
+-msgid "Set the target CPU type"
+-msgstr "Ange typen av mål-CPU"
+-
+-#: config/frv/frv.opt:84
+-msgid "Use fp double instructions"
+-msgstr "Använd fp-double-instruktioner"
+-
+-#: config/frv/frv.opt:88
+-msgid "Change the ABI to allow double word insns"
+-msgstr "Ändra ABI:et så det tillåter dubbelordinstruktioner"
+-
+-#: config/frv/frv.opt:92 config/bfin/bfin.opt:73
+-msgid "Enable Function Descriptor PIC mode"
+-msgstr "Aktivera funktionsbeskrivar-PIC-läge"
+-
+-#: config/frv/frv.opt:96
+-msgid "Just use icc0/fcc0"
+-msgstr "Använd bara icc0/fcc0"
+-
+-#: config/frv/frv.opt:100
+-msgid "Only use 32 FPRs"
+-msgstr "Använd bara 32 FPR:er"
+-
+-#: config/frv/frv.opt:104
+-msgid "Use 64 FPRs"
+-msgstr "Använd 64 FPR:er"
+-
+-#: config/frv/frv.opt:108
+-msgid "Only use 32 GPRs"
+-msgstr "Använd bara 32 GPR:er"
+-
+-#: config/frv/frv.opt:112
+-msgid "Use 64 GPRs"
+-msgstr "Använd 64 GPR:er"
+-
+-#: config/frv/frv.opt:116
+-msgid "Enable use of GPREL for read-only data in FDPIC"
+-msgstr "Aktivera användning av GPREL för endast läsbara data i FDPIC"
+-
+-#: config/frv/frv.opt:120 config/rs6000/rs6000.opt:112
+-#: config/pdp11/pdp11.opt:71
+-msgid "Use hardware floating point"
+-msgstr "Använd hårdvaruflyttal"
+-
+-#: config/frv/frv.opt:124 config/bfin/bfin.opt:77
+-msgid "Enable inlining of PLT in function calls"
+-msgstr "Aktivera inline:ing av PLT i funktionsanrop"
+-
+-#: config/frv/frv.opt:128
+-msgid "Enable PIC support for building libraries"
+-msgstr "Aktivera PIC-stöd för att bygga bibliotek"
+-
+-#: config/frv/frv.opt:132
+-msgid "Follow the EABI linkage requirements"
+-msgstr "Följ länkningskraven EABI"
+-
+-#: config/frv/frv.opt:136
+-msgid "Disallow direct calls to global functions"
+-msgstr "Tillåt inte direkta anrop till globala funktioner"
+-
+-#: config/frv/frv.opt:140
+-msgid "Use media instructions"
+-msgstr "Använd mediainstruktioner"
+-
+-#: config/frv/frv.opt:144
+-msgid "Use multiply add/subtract instructions"
+-msgstr "Använd multiplicera-addera-/-subtraherainstruktioner"
+-
+-#: config/frv/frv.opt:148
+-msgid "Enable optimizing &&/|| in conditional execution"
+-msgstr "Aktivera optimering av &&/|| i villkorliga uttryck"
+-
+-#: config/frv/frv.opt:152
+-msgid "Enable nested conditional execution optimizations"
+-msgstr "Aktivera nästade optimeringar av villkorlig exekvering"
+-
+-#: config/frv/frv.opt:157
+-msgid "Do not mark ABI switches in e_flags"
+-msgstr "Markera inte ABI-byten i e_flags"
+-
+-#: config/frv/frv.opt:161
+-msgid "Remove redundant membars"
+-msgstr "Ta bort överflödiga medlemmar"
+-
+-#: config/frv/frv.opt:165
+-msgid "Pack VLIW instructions"
+-msgstr "Packa VLIW-instruktioner"
+-
+-#: config/frv/frv.opt:169
+-msgid "Enable setting GPRs to the result of comparisons"
+-msgstr "Aktivera sättande av GPR:er till resultatet av jämförelser"
+-
+-#: config/frv/frv.opt:173
+-msgid "Change the amount of scheduler lookahead"
+-msgstr "Ändra hur långt schemaläggaren blickar framåt"
+-
+-#: config/frv/frv.opt:177 config/pa/pa.opt:104
+-msgid "Use software floating point"
+-msgstr "Använd mjukvaruflyttal"
+-
+-#: config/frv/frv.opt:181
+-msgid "Assume a large TLS segment"
+-msgstr "Anta ett stort TLS-segment"
+-
+-#: config/frv/frv.opt:185
+-msgid "Do not assume a large TLS segment"
+-msgstr "Anta inte ett stort TLS-segment"
+-
+-#: config/frv/frv.opt:190
+-msgid "Cause gas to print tomcat statistics"
+-msgstr "Få gas att skriva tomcat-statistik"
+-
+-#: config/frv/frv.opt:195
+-msgid "Link with the library-pic libraries"
+-msgstr "Länka med biblioteken library-pic"
+-
+-#: config/frv/frv.opt:199
+-msgid "Allow branches to be packed with other instructions"
+-msgstr "Tillåt grenar att packas med andra instruktioner"
+-
+-#: config/mn10300/mn10300.opt:23
+-msgid "Target the AM33 processor"
+-msgstr "Sikta på processorn AM33"
+-
+-#: config/mn10300/mn10300.opt:27
+-msgid "Target the AM33/2.0 processor"
+-msgstr "Sikta på processorn AM33/2.0"
+-
+-#: config/mn10300/mn10300.opt:31
+-msgid "Work around hardware multiply bug"
+-msgstr "Gå runt multiplikationsfel i hårdvara"
+-
+-#: config/mn10300/mn10300.opt:36
+-msgid "Enable linker relaxations"
+-msgstr "Aktivera länkaravslappningar"
+-
+-#: config/mn10300/mn10300.opt:40
+-msgid "Return pointers in both a0 and d0"
+-msgstr "Returnera pekare i både a0 och d0"
+-
+-#: config/s390/tpf.opt:23
+-msgid "Enable TPF-OS tracing code"
+-msgstr "Aktivera TPF-OS-spårningskod"
+-
+-#: config/s390/tpf.opt:27
+-msgid "Specify main object for TPF-OS"
+-msgstr "Ange huvudobjekt för TPF-OS"
+-
+-#: config/s390/s390.opt:23
+-msgid "31 bit ABI"
+-msgstr "31-bitars ABI"
+-
+-#: config/s390/s390.opt:27
+-msgid "64 bit ABI"
+-msgstr "64-bitars ABI"
+-
+-#: config/s390/s390.opt:31 config/i386/i386.opt:59 config/spu/spu.opt:60
+-msgid "Generate code for given CPU"
+-msgstr "Generera kod för en given CPU"
+-
+-#: config/s390/s390.opt:35
+-msgid "Maintain backchain pointer"
+-msgstr "Håll med bakåtkedjepekare"
+-
+-#: config/s390/s390.opt:39
+-msgid "Additional debug prints"
+-msgstr "Ytterligare felsökningsutskrifter"
+-
+-#: config/s390/s390.opt:43
+-msgid "ESA/390 architecture"
+-msgstr "ESA/390-arkitektur"
+-
+-#: config/s390/s390.opt:47
+-msgid "Enable fused multiply/add instructions"
+-msgstr "Använd sammansmälta multiplikations/additions-instruktioner"
+-
+-#: config/s390/s390.opt:51
+-msgid "Enable decimal floating point hardware support"
+-msgstr "Använd hårdvarustöd för decimala flyttal"
+-
+-#: config/s390/s390.opt:55
+-msgid "Enable hardware floating point"
+-msgstr "Använd hårdvaruflyttal"
+-
+-#: config/s390/s390.opt:67
+-msgid "Use packed stack layout"
+-msgstr "Använd packad stacklayout"
+-
+-#: config/s390/s390.opt:71
+-msgid "Use bras for executable < 64k"
+-msgstr "Använd bras för körbara program < 64k"
+-
+-#: config/s390/s390.opt:75
+-msgid "Disable hardware floating point"
+-msgstr "Använd inte hårdvaruflyttal"
+-
+-#: config/s390/s390.opt:79
+-msgid "Set the max. number of bytes which has to be left to stack size before a trap instruction is triggered"
+-msgstr "Ange det maximala antalet byte som måste finnas kvar till stackstorleken före en fällinstruktion utlöses"
+-
+-#: config/s390/s390.opt:83
+-msgid "Emit extra code in the function prologue in order to trap if the stack size exceeds the given limit"
+-msgstr "Mata ut extra kod i funktionsprologen för att fånga om stackstorleken överskrider den givna gränsen"
+-
+-#: config/s390/s390.opt:87 config/ia64/ia64.opt:97 config/sparc/sparc.opt:95
+-#: config/i386/i386.opt:183 config/rs6000/rs6000.opt:226 config/spu/spu.opt:64
+-msgid "Schedule code for given CPU"
+-msgstr "Schemalägg kod för en given CPU"
+-
+-#: config/s390/s390.opt:91
+-msgid "mvcle use"
+-msgstr "använd mvcle"
+-
+-#: config/s390/s390.opt:95
+-msgid "Warn if a function uses alloca or creates an array with dynamic size"
+-msgstr "Varna om en funktion använder alloca eller skapar en vektor med dynamisk storlek"
+-
+-#: config/s390/s390.opt:99
+-msgid "Warn if a single function's framesize exceeds the given framesize"
+-msgstr "Varna om en enskild funktions ramstorlek överskrider den angivna ramstorleken"
+-
+-#: config/s390/s390.opt:103
+-msgid "z/Architecture"
+-msgstr "z/Arkitektur"
+-
+ #: config/ia64/ilp32.opt:3
+ msgid "Generate ILP32 code"
+ msgstr "Generera ILP32-kod"
+@@ -12060,10 +11805,16 @@
+ msgid "Enable earlier placing stop bits for better scheduling"
+ msgstr "Aktivera tidigare utplacering av stoppbitar för bättre schemaläggning"
+
+-#: config/ia64/ia64.opt:89 config/spu/spu.opt:56 config/pa/pa.opt:51
++#: config/ia64/ia64.opt:89 config/pa/pa.opt:51 config/spu/spu.opt:56
+ msgid "Specify range of registers to make fixed"
+ msgstr "Ange intervall av register att fixera"
+
++#: config/ia64/ia64.opt:97 config/i386/i386.opt:183
++#: config/rs6000/rs6000.opt:226 config/spu/spu.opt:64 config/s390/s390.opt:87
++#: config/sparc/sparc.opt:95
++msgid "Schedule code for given CPU"
++msgstr "Schemalägg kod för en given CPU"
++
+ #: config/ia64/ia64.opt:101
+ msgid "Use data speculation before reload"
+ msgstr "Använd dataspekulation före omläsning"
+@@ -12112,335 +11863,296 @@
+ msgid "Count speculative dependencies while calculating priority of instructions"
+ msgstr "Räkna spekulativa beroenden vid beräkning av prioritet för instruktioner"
+
+-#: config/m32c/m32c.opt:24 config/bfin/bfin.opt:23 config/mt/mt.opt:27
+-msgid "Use simulator runtime"
+-msgstr "Använd simulatorkörtider"
++#: config/xtensa/xtensa.opt:23
++msgid "Use CONST16 instruction to load constants"
++msgstr "Använd CONST16-instruktioner för att läsa konstanter"
+
+-#: config/m32c/m32c.opt:28
+-msgid "Compile code for R8C variants"
+-msgstr "Kompilera kod för R8C-varianter"
++#: config/xtensa/xtensa.opt:27
++msgid "Enable fused multiply/add and multiply/subtract FP instructions"
++msgstr "Aktivera sammanslagna multiplikations/additions- och multiplikations/subtraktions-FP-instruktioner"
+
+-#: config/m32c/m32c.opt:32
+-msgid "Compile code for M16C variants"
+-msgstr "Kompilera kod för M16C-varianter"
++#: config/xtensa/xtensa.opt:31
++msgid "Use indirect CALLXn instructions for large programs"
++msgstr "Använd indirekta CALLXn-instruktioner för stora program"
+
+-#: config/m32c/m32c.opt:36
+-msgid "Compile code for M32CM variants"
+-msgstr "Kompilera kod för M32CM-varianter"
++#: config/xtensa/xtensa.opt:35
++msgid "Automatically align branch targets to reduce branch penalties"
++msgstr "Justera automatiskt grenmål för att reducera grenstraff"
+
+-#: config/m32c/m32c.opt:40
+-msgid "Compile code for M32C variants"
+-msgstr "Kompilera kod för för M32C-varianter"
++#: config/xtensa/xtensa.opt:39
++msgid "Intersperse literal pools with code in the text section"
++msgstr "Växla mellan bokstavliga pooler och kod i textsektionen"
+
+-#: config/m32c/m32c.opt:44
+-msgid "Number of memreg bytes (default: 16, range: 0..16)"
+-msgstr "Antal memreg-byte (standard: 16, intervall: 0..16)"
++#: config/pa/pa.opt:23 config/pa/pa.opt:76 config/pa/pa.opt:84
++msgid "Generate PA1.0 code"
++msgstr "Generera PA1.0-kod"
+
+-#: config/sparc/little-endian.opt:23
+-msgid "Generate code for little-endian"
+-msgstr "Generera kod för omvänd byteordning"
++#: config/pa/pa.opt:27 config/pa/pa.opt:88 config/pa/pa.opt:108
++msgid "Generate PA1.1 code"
++msgstr "Generera PA1.1-kod"
+
+-#: config/sparc/little-endian.opt:27
+-msgid "Generate code for big-endian"
+-msgstr "Generera kod för rak byteordning"
++#: config/pa/pa.opt:31 config/pa/pa.opt:92
++msgid "Generate PA2.0 code (requires binutils 2.10 or later)"
++msgstr "Generera kod för PA2.0 (kräver binutils 2.10 eller senare)"
+
+-# fixme: fp = flyttal, men hur skall man skriva det. Förkortat eller FPU?
+-#: config/sparc/sparc.opt:23 config/sparc/sparc.opt:27
+-msgid "Use hardware FP"
+-msgstr "Använd hårdvaru-fp"
++#: config/pa/pa.opt:35
++msgid "Generate code for huge switch statements"
++msgstr "Generera kod för stora switch-satser"
+
+-#: config/sparc/sparc.opt:31
+-msgid "Do not use hardware FP"
+-msgstr "Använd inte hårdvaru-fp"
++#: config/pa/pa.opt:39
++msgid "Disable FP regs"
++msgstr "Avaktivera FP-register"
+
+-#: config/sparc/sparc.opt:35
+-msgid "Assume possible double misalignment"
+-msgstr "Anta möjlig feljustering av double"
++#: config/pa/pa.opt:43
++msgid "Disable indexed addressing"
++msgstr "Avaktivera indexerad adressering"
+
+-#: config/sparc/sparc.opt:39
+-msgid "Pass -assert pure-text to linker"
+-msgstr "Skicka -assert pure-text till länkaren"
++#: config/pa/pa.opt:47
++msgid "Generate fast indirect calls"
++msgstr "Generera snabba indirekta anrop"
+
+-#: config/sparc/sparc.opt:43
+-msgid "Use ABI reserved registers"
+-msgstr "Använd register reserverade av ABI"
++#: config/pa/pa.opt:55
++msgid "Assume code will be assembled by GAS"
++msgstr "Anta att kod kommer assembleras av GAS"
+
+-#: config/sparc/sparc.opt:47
+-msgid "Use hardware quad FP instructions"
+-msgstr "Använd hårdvaruinstruktioner för quad fp"
++#: config/pa/pa.opt:59
++msgid "Put jumps in call delay slots"
++msgstr "Placera hopp i fördröjda anropsfack"
+
+-#: config/sparc/sparc.opt:51
+-msgid "Do not use hardware quad fp instructions"
+-msgstr "Använd inte hårdvaruinstruktioner för quad fp"
++#: config/pa/pa.opt:64
++msgid "Enable linker optimizations"
++msgstr "Aktivera länkningsoptimeringar"
+
+-#: config/sparc/sparc.opt:55
+-msgid "Compile for V8+ ABI"
+-msgstr "Kompilera för V8+-ABI"
++#: config/pa/pa.opt:68
++msgid "Always generate long calls"
++msgstr "Generera alltid långa anrop"
+
+-#: config/sparc/sparc.opt:59
+-msgid "Use UltraSPARC Visual Instruction Set extensions"
+-msgstr "Utnyttja UltraSPARC-utökningarna Visual Instruction Set"
++#: config/pa/pa.opt:72
++msgid "Emit long load/store sequences"
++msgstr "Mata ut långa load-/store-sekvenser"
+
+-#: config/sparc/sparc.opt:63
+-msgid "Pointers are 64-bit"
+-msgstr "Pekare är 64-bitars"
++#: config/pa/pa.opt:80
++msgid "Disable space regs"
++msgstr "Avaktivera utrymmesregister"
+
+-#: config/sparc/sparc.opt:67
+-msgid "Pointers are 32-bit"
+-msgstr "Pekare är 32-bitars"
++#: config/pa/pa.opt:96
++msgid "Use portable calling conventions"
++msgstr "Använd portabla anropskonventioner"
+
+-#: config/sparc/sparc.opt:71
+-msgid "Use 64-bit ABI"
+-msgstr "Använd 64-bitars ABI"
++#: config/pa/pa.opt:100
++msgid "Specify CPU for scheduling purposes. Valid arguments are 700, 7100, 7100LC, 7200, 7300, and 8000"
++msgstr "Ange CPU för schemaläggningsändamål. Giltiga argument är 700, 7100, 7100LC, 7200, 7300 och 8000"
+
+-#: config/sparc/sparc.opt:75
+-msgid "Use 32-bit ABI"
+-msgstr "Använd 32-bitars ABI"
++#: config/pa/pa.opt:104 config/frv/frv.opt:177
++msgid "Use software floating point"
++msgstr "Använd mjukvaruflyttal"
+
+-#: config/sparc/sparc.opt:79
+-msgid "Use stack bias"
+-msgstr "Använd stackförskjutning"
++#: config/pa/pa.opt:112
++msgid "Do not disable space regs"
++msgstr "Avaktivera inte utrymmesregister"
+
+-#: config/sparc/sparc.opt:83
+-msgid "Use structs on stronger alignment for double-word copies"
+-msgstr "Använd starkare justering för poster för dubbelordkopieringar"
++#: config/pa/pa-hpux1111.opt:23 config/pa/pa-hpux1010.opt:23
++#: config/pa/pa-hpux.opt:27
++msgid "Specify UNIX standard for predefines and linking"
++msgstr "Ange UNIX-standard för fördefinitioner och länkning"
+
+-#: config/sparc/sparc.opt:87
+-msgid "Optimize tail call instructions in assembler and linker"
+-msgstr "Optimera svansanropsinstruktioner i assembler och länkare"
++#: config/pa/pa64-hpux.opt:23
++msgid "Assume code will be linked by GNU ld"
++msgstr "Anta kod kommer länkas av GNU ld"
+
+-#: config/sparc/sparc.opt:91 config/rs6000/rs6000.opt:222
+-msgid "Use features of and schedule code for given CPU"
+-msgstr "Använd funktioner i och schemalägg kod för angiven CPU"
++#: config/pa/pa64-hpux.opt:27
++msgid "Assume code will be linked by HP ld"
++msgstr "Anta kod kommer länkas av HP ld"
+
+-#: config/sparc/sparc.opt:99
+-msgid "Use given SPARC-V9 code model"
+-msgstr "Använd angiven SPARC-V9-kodmodell"
++#: config/pa/pa-hpux.opt:23
++msgid "Generate cpp defines for server IO"
++msgstr "Generera cpp-definitioner för server-IO"
+
+-#: config/sparc/sparc.opt:103
+-msgid "Enable strict 32-bit psABI struct return checking."
+-msgstr "Aktivera strikt 32-bits psABI-kontroller av postreturer."
++#: config/pa/pa-hpux.opt:31
++msgid "Generate cpp defines for workstation IO"
++msgstr "Generera cpp-definitioner för arbetsstations-IO"
+
+-#: config/m32r/m32r.opt:23
+-msgid "Compile for the m32rx"
+-msgstr "Kompilera för en m32rx"
++#: config/frv/frv.opt:23
++msgid "Use 4 media accumulators"
++msgstr "Använd 4 mediaackumulatorer"
+
+-#: config/m32r/m32r.opt:27
+-msgid "Compile for the m32r2"
+-msgstr "Kompilera för en m32r2"
++#: config/frv/frv.opt:27
++msgid "Use 8 media accumulators"
++msgstr "Använd 8 mediaackumulatorer"
+
+-#: config/m32r/m32r.opt:31
+-msgid "Compile for the m32r"
+-msgstr "Kompilera för en m32r"
++#: config/frv/frv.opt:31
++msgid "Enable label alignment optimizations"
++msgstr "Aktivera optimeringar av etikettjustering"
+
+-#: config/m32r/m32r.opt:35
+-msgid "Align all loops to 32 byte boundary"
+-msgstr "Justera alla slingor till 32-bytesgräns"
++#: config/frv/frv.opt:35
++msgid "Dynamically allocate cc registers"
++msgstr "Allokera cc-register dynamiskt"
+
+-#: config/m32r/m32r.opt:39
+-msgid "Prefer branches over conditional execution"
+-msgstr "Föredra hopp framför villkorlig körning"
++#: config/frv/frv.opt:42
++msgid "Set the cost of branches"
++msgstr "Ange kostnaden för grenar"
+
+-#: config/m32r/m32r.opt:43
+-msgid "Give branches their default cost"
+-msgstr "Ge grenar sin normalkostnad"
++#: config/frv/frv.opt:46
++msgid "Enable conditional execution other than moves/scc"
++msgstr "Aktivera villkorlig exekvering förutom moves/scc"
+
+-#: config/m32r/m32r.opt:47
+-msgid "Display compile time statistics"
+-msgstr "Visa kompileringstidsstatistik"
++#: config/frv/frv.opt:50
++msgid "Change the maximum length of conditionally-executed sequences"
++msgstr "Ändra den maximala längden på villkorligt exekverade sekvenser"
+
+-#: config/m32r/m32r.opt:51
+-msgid "Specify cache flush function"
+-msgstr "Ange cache-tömningsfunktion"
++#: config/frv/frv.opt:54
++msgid "Change the number of temporary registers that are available to conditionally-executed sequences"
++msgstr "Ändra antalet temporära register som är tillgängliga för villkorligt exekverade sekvenser"
+
+-#: config/m32r/m32r.opt:55
+-msgid "Specify cache flush trap number"
+-msgstr "Ange cache-tömningsfällnummer"
++#: config/frv/frv.opt:58
++msgid "Enable conditional moves"
++msgstr "Aktivera villkorliga flyttningar"
+
+-#: config/m32r/m32r.opt:59
+-msgid "Only issue one instruction per cycle"
+-msgstr "Lägg bara ut en instruktion per cykel"
++#: config/frv/frv.opt:62
++msgid "Set the target CPU type"
++msgstr "Ange typen av mål-CPU"
+
+-#: config/m32r/m32r.opt:63
+-msgid "Allow two instructions to be issued per cycle"
+-msgstr "Tillåt att två instruktioner läggs ut per cykel"
++#: config/frv/frv.opt:84
++msgid "Use fp double instructions"
++msgstr "Använd fp-double-instruktioner"
+
+-#: config/m32r/m32r.opt:67
+-msgid "Code size: small, medium or large"
+-msgstr "Kodstorlek: small, medium, eller large"
++#: config/frv/frv.opt:88
++msgid "Change the ABI to allow double word insns"
++msgstr "Ändra ABI:et så det tillåter dubbelordinstruktioner"
+
+-#: config/m32r/m32r.opt:71
+-msgid "Don't call any cache flush functions"
+-msgstr "Anropa inte några cache-tömningsfunktioner"
++#: config/frv/frv.opt:92 config/bfin/bfin.opt:73
++msgid "Enable Function Descriptor PIC mode"
++msgstr "Aktivera funktionsbeskrivar-PIC-läge"
+
+-#: config/m32r/m32r.opt:75
+-msgid "Don't call any cache flush trap"
+-msgstr "Anropa inga cache-tömningsfällor"
++#: config/frv/frv.opt:96
++msgid "Just use icc0/fcc0"
++msgstr "Använd bara icc0/fcc0"
+
+-#: config/m32r/m32r.opt:82
+-msgid "Small data area: none, sdata, use"
+-msgstr "Litet dataområde: none, sdata, use"
++#: config/frv/frv.opt:100
++msgid "Only use 32 FPRs"
++msgstr "Använd bara 32 FPR:er"
+
+-#: config/m68k/m68k.opt:23
+-msgid "Generate code for a 520X"
+-msgstr "Generera kod för en 520X"
++#: config/frv/frv.opt:104
++msgid "Use 64 FPRs"
++msgstr "Använd 64 FPR:er"
+
+-#: config/m68k/m68k.opt:27
+-msgid "Generate code for a 5206e"
+-msgstr "Generera kod för en 5206e"
++#: config/frv/frv.opt:108
++msgid "Only use 32 GPRs"
++msgstr "Använd bara 32 GPR:er"
+
+-#: config/m68k/m68k.opt:31
+-msgid "Generate code for a 528x"
+-msgstr "Generera kod för en 528x"
++#: config/frv/frv.opt:112
++msgid "Use 64 GPRs"
++msgstr "Använd 64 GPR:er"
+
+-#: config/m68k/m68k.opt:35
+-msgid "Generate code for a 5307"
+-msgstr "Generera kod för en 5307"
++#: config/frv/frv.opt:116
++msgid "Enable use of GPREL for read-only data in FDPIC"
++msgstr "Aktivera användning av GPREL för endast läsbara data i FDPIC"
+
+-#: config/m68k/m68k.opt:39
+-msgid "Generate code for a 5407"
+-msgstr "Generera kod för en 5407"
++#: config/frv/frv.opt:120 config/rs6000/rs6000.opt:112
++#: config/pdp11/pdp11.opt:71
++msgid "Use hardware floating point"
++msgstr "Använd hårdvaruflyttal"
+
+-#: config/m68k/m68k.opt:43 config/m68k/m68k.opt:104
+-msgid "Generate code for a 68000"
+-msgstr "Generera kod för en 68000"
++#: config/frv/frv.opt:124 config/bfin/bfin.opt:77
++msgid "Enable inlining of PLT in function calls"
++msgstr "Aktivera inline:ing av PLT i funktionsanrop"
+
+-#: config/m68k/m68k.opt:47
+-msgid "Generate code for a 68010"
+-msgstr "Generera kod för en 68010"
++#: config/frv/frv.opt:128
++msgid "Enable PIC support for building libraries"
++msgstr "Aktivera PIC-stöd för att bygga bibliotek"
+
+-#: config/m68k/m68k.opt:51 config/m68k/m68k.opt:108
+-msgid "Generate code for a 68020"
+-msgstr "Generera kod för en 68020"
++#: config/frv/frv.opt:132
++msgid "Follow the EABI linkage requirements"
++msgstr "Följ länkningskraven EABI"
+
+-#: config/m68k/m68k.opt:55
+-msgid "Generate code for a 68040, without any new instructions"
+-msgstr "Generera kod för en 68040, utan några nya instruktioner"
++#: config/frv/frv.opt:136
++msgid "Disallow direct calls to global functions"
++msgstr "Tillåt inte direkta anrop till globala funktioner"
+
+-#: config/m68k/m68k.opt:59
+-msgid "Generate code for a 68060, without any new instructions"
+-msgstr "Generera kod för en 68060, utan några nya instruktioner"
++#: config/frv/frv.opt:140
++msgid "Use media instructions"
++msgstr "Använd mediainstruktioner"
+
+-#: config/m68k/m68k.opt:63
+-msgid "Generate code for a 68030"
+-msgstr "Generera kod för en 68030"
++#: config/frv/frv.opt:144
++msgid "Use multiply add/subtract instructions"
++msgstr "Använd multiplicera-addera-/-subtraherainstruktioner"
+
+-#: config/m68k/m68k.opt:67
+-msgid "Generate code for a 68040"
+-msgstr "Generera kod för en 68040"
++#: config/frv/frv.opt:148
++msgid "Enable optimizing &&/|| in conditional execution"
++msgstr "Aktivera optimering av &&/|| i villkorliga uttryck"
+
+-#: config/m68k/m68k.opt:71
+-msgid "Generate code for a 68060"
+-msgstr "Generera kod för en 68060"
++#: config/frv/frv.opt:152
++msgid "Enable nested conditional execution optimizations"
++msgstr "Aktivera nästade optimeringar av villkorlig exekvering"
+
+-#: config/m68k/m68k.opt:75
+-msgid "Generate code for a 68302"
+-msgstr "Generera kod för en 68302"
++#: config/frv/frv.opt:157
++msgid "Do not mark ABI switches in e_flags"
++msgstr "Markera inte ABI-byten i e_flags"
+
+-#: config/m68k/m68k.opt:79
+-msgid "Generate code for a 68332"
+-msgstr "Generera kod för en 68332"
++#: config/frv/frv.opt:161
++msgid "Remove redundant membars"
++msgstr "Ta bort överflödiga medlemmar"
+
+-#: config/m68k/m68k.opt:84
+-msgid "Generate code for a 68851"
+-msgstr "Generera kod för en 68851"
++#: config/frv/frv.opt:165
++msgid "Pack VLIW instructions"
++msgstr "Packa VLIW-instruktioner"
+
+-#: config/m68k/m68k.opt:88
+-msgid "Generate code that uses 68881 floating-point instructions"
+-msgstr "Generera kod som använder flyttalsinstruktioner för 68881"
++#: config/frv/frv.opt:169
++msgid "Enable setting GPRs to the result of comparisons"
++msgstr "Aktivera sättande av GPR:er till resultatet av jämförelser"
+
+-#: config/m68k/m68k.opt:92
+-msgid "Align variables on a 32-bit boundary"
+-msgstr "Justera variabler på en 32-bitarsgräns"
++#: config/frv/frv.opt:173
++msgid "Change the amount of scheduler lookahead"
++msgstr "Ändra hur långt schemaläggaren blickar framåt"
+
+-#: config/m68k/m68k.opt:96 config/arm/arm.opt:49 config/score/score.opt:63
+-msgid "Specify the name of the target architecture"
+-msgstr "Ange namnet på målarkitekturen"
++#: config/frv/frv.opt:181
++msgid "Assume a large TLS segment"
++msgstr "Anta ett stort TLS-segment"
+
+-#: config/m68k/m68k.opt:100
+-msgid "Use the bit-field instructions"
+-msgstr "Använd bitfältsinstruktionerna"
++#: config/frv/frv.opt:185
++msgid "Do not assume a large TLS segment"
++msgstr "Anta inte ett stort TLS-segment"
+
+-#: config/m68k/m68k.opt:112
+-msgid "Generate code for a ColdFire v4e"
+-msgstr "Generera kod för en ColdFire v4e"
++#: config/frv/frv.opt:190
++msgid "Cause gas to print tomcat statistics"
++msgstr "Få gas att skriva tomcat-statistik"
+
+-#: config/m68k/m68k.opt:116
+-msgid "Specify the target CPU"
+-msgstr "Ange mål-CPU:n"
++#: config/frv/frv.opt:195
++msgid "Link with the library-pic libraries"
++msgstr "Länka med biblioteken library-pic"
+
+-#: config/m68k/m68k.opt:120
+-msgid "Generate code for a cpu32"
+-msgstr "Generera kod för en cpu32"
++#: config/frv/frv.opt:199
++msgid "Allow branches to be packed with other instructions"
++msgstr "Tillåt grenar att packas med andra instruktioner"
+
+-#: config/m68k/m68k.opt:124
+-msgid "Use hardware division instructions on ColdFire"
+-msgstr "Använd hårdvarudivisionsinstruktioner på ColdFire"
++#: config/i386/cygming.opt:23
++msgid "Create console application"
++msgstr "Skapa konsollapplikation"
+
+-#: config/m68k/m68k.opt:128
+-msgid "Generate code for a Fido A"
+-msgstr "Generera kod för en Fido A"
++#: config/i386/cygming.opt:27
++msgid "Use the Cygwin interface"
++msgstr "Använd Cygwin-gränssnittet"
+
+-#: config/m68k/m68k.opt:132
+-msgid "Generate code which uses hardware floating point instructions"
+-msgstr "Generera kod som använder hårdvaruflyttalsinstruktioner"
++#: config/i386/cygming.opt:31
++msgid "Generate code for a DLL"
++msgstr "Generera kod för en DLL"
+
+-#: config/m68k/m68k.opt:136
+-msgid "Enable ID based shared library"
+-msgstr "Aktivera ID-baserat delat bibliotek"
++#: config/i386/cygming.opt:35
++msgid "Ignore dllimport for functions"
++msgstr "Ignorera dllimport för funktioner"
+
+-#: config/m68k/m68k.opt:140
+-msgid "Do not use the bit-field instructions"
+-msgstr "Använd inte bitfältsinstruktionerna"
++#: config/i386/cygming.opt:39
++msgid "Use Mingw-specific thread support"
++msgstr "Använd Mingw-specifikt trådstöd"
+
+-#: config/m68k/m68k.opt:144
+-msgid "Use normal calling convention"
+-msgstr "Använd normal anropskonvention"
++#: config/i386/cygming.opt:43
++msgid "Set Windows defines"
++msgstr "Sätt Windows-definitioner"
+
+-#: config/m68k/m68k.opt:148
+-msgid "Consider type 'int' to be 32 bits wide"
+-msgstr "Betrakta typen \"int\" som 32 bitar bred"
++#: config/i386/cygming.opt:47
++msgid "Create GUI application"
++msgstr "Skapa GUI-applikation"
+
+-#: config/m68k/m68k.opt:152
+-msgid "Generate pc-relative code"
+-msgstr "Generera pc-relativ kod"
+-
+-#: config/m68k/m68k.opt:156
+-msgid "Use different calling convention using 'rtd'"
+-msgstr "Använd en annan anropskonvention som använder \"rtd\""
+-
+-#: config/m68k/m68k.opt:160 config/bfin/bfin.opt:61
+-msgid "Enable separate data segment"
+-msgstr "Aktivera separat datasegment"
+-
+-#: config/m68k/m68k.opt:164 config/bfin/bfin.opt:57
+-msgid "ID of shared library to build"
+-msgstr "ID för delat bibliotek att bygga"
+-
+-#: config/m68k/m68k.opt:168
+-msgid "Consider type 'int' to be 16 bits wide"
+-msgstr "Betrakta typen \"int\" som 16 bitar bred"
+-
+-#: config/m68k/m68k.opt:172
+-msgid "Generate code with library calls for floating point"
+-msgstr "Generera kod med biblioteksanrop för flyttal"
+-
+-#: config/m68k/m68k.opt:176
+-msgid "Do not use unaligned memory references"
+-msgstr "Använd inte ojusterade minnesreferenser"
+-
+-#: config/m68k/m68k.opt:180
+-msgid "Tune for the specified target CPU or architecture"
+-msgstr "Trimma för den angivna mål-CPU:n eller arkitekturen"
+-
+-#: config/m68k/ieee.opt:24 config/i386/i386.opt:95
+-msgid "Use IEEE math for fp comparisons"
+-msgstr "Använd IEEE matematik för flyttaljämförelser"
+-
+-#: config/i386/djgpp.opt:25
+-msgid "Ignored (obsolete)"
+-msgstr "Ignorerad (föråldrad)"
+-
+ #: config/i386/i386.opt:23
+ msgid "sizeof(long double) is 16"
+ msgstr "sizeof(long double) är 16"
+@@ -12478,6 +12190,10 @@
+ msgid "Align destination of the string operations"
+ msgstr "Justera målet för strängoperationerna"
+
++#: config/i386/i386.opt:59 config/spu/spu.opt:60 config/s390/s390.opt:31
++msgid "Generate code for given CPU"
++msgstr "Generera kod för en given CPU"
++
+ #: config/i386/i386.opt:63
+ msgid "Use given assembler dialect"
+ msgstr "Använd angiven assemblerdialekt"
+@@ -12506,6 +12222,10 @@
+ msgid "Generate floating point mathematics using given instruction set"
+ msgstr "Generera flyttalsmatematik med den angivna instruktionsuppsättningen"
+
++#: config/i386/i386.opt:95 config/m68k/ieee.opt:24
++msgid "Use IEEE math for fp comparisons"
++msgstr "Använd IEEE matematik för flyttaljämförelser"
++
+ #: config/i386/i386.opt:99
+ msgid "Inline all known string operations"
+ msgstr "Inline:a alla kända strängoperationer"
+@@ -12655,58 +12375,396 @@
+ msgid "Enable automatic generation of fused floating point multiply-add instructions"
+ msgstr "Aktivera automatisk generering av sammanslagna multiplikations-/additionsinstruktioner för flyttal"
+
+-#: config/i386/cygming.opt:23
+-msgid "Create console application"
+-msgstr "Skapa konsollapplikation"
++#: config/i386/sco5.opt:24
++msgid "Generate ELF output"
++msgstr "Generera ELF-utdata"
+
+-#: config/i386/cygming.opt:27
+-msgid "Use the Cygwin interface"
+-msgstr "Använd Cygwin-gränssnittet"
++#: config/i386/djgpp.opt:25
++msgid "Ignored (obsolete)"
++msgstr "Ignorerad (föråldrad)"
+
+-#: config/i386/cygming.opt:31
+-msgid "Generate code for a DLL"
+-msgstr "Generera kod för en DLL"
++#: config/iq2000/iq2000.opt:23 config/mt/mt.opt:55
++msgid "Specify CPU for code generation purposes"
++msgstr "Ange CPU för kodgenereringssyften"
+
+-#: config/i386/cygming.opt:35
+-msgid "Ignore dllimport for functions"
+-msgstr "Ignorera dllimport för funktioner"
++#: config/iq2000/iq2000.opt:27
++msgid "Specify CPU for scheduling purposes"
++msgstr "Ange CPU för schemaläggningssyften"
+
+-#: config/i386/cygming.opt:39
+-msgid "Use Mingw-specific thread support"
+-msgstr "Använd Mingw-specifikt trådstöd"
++#: config/iq2000/iq2000.opt:31 config/mips/mips.opt:97
++msgid "Use ROM instead of RAM"
++msgstr "Använd ROM istället för RAM"
+
+-#: config/i386/cygming.opt:43
+-msgid "Set Windows defines"
+-msgstr "Sätt Windows-definitioner"
++#: config/iq2000/iq2000.opt:35
++msgid "Use GP relative sdata/sbss sections"
++msgstr "Använd GP relativt sdata/sbss-sektioner"
+
+-#: config/i386/cygming.opt:47
+-msgid "Create GUI application"
+-msgstr "Skapa GUI-applikation"
++#: config/iq2000/iq2000.opt:40
++msgid "No default crt0.o"
++msgstr "Ingen standard-crt0.o"
+
+-#: config/i386/sco5.opt:24
+-msgid "Generate ELF output"
+-msgstr "Generera ELF-utdata"
++#: config/iq2000/iq2000.opt:44 config/mips/mips.opt:265
++msgid "Put uninitialized constants in ROM (needs -membedded-data)"
++msgstr "Placera oinitierade konstanter i ROM (kräver -membedded-data)"
+
+-#: config/rs6000/aix41.opt:24 config/rs6000/aix64.opt:32
+-msgid "Support message passing with the Parallel Environment"
+-msgstr "Stöd meddelandeskickning med Parallel Environment"
++#: config/arm/arm.opt:23
++msgid "Specify an ABI"
++msgstr "Ange ett ABI"
+
+-#: config/rs6000/aix.opt:24 config/rs6000/rs6000.opt:147
+-msgid "Conform more closely to IBM XLC semantics"
+-msgstr "Följ mer noga IBM XLC:s semantik"
++#: config/arm/arm.opt:27
++msgid "Generate a call to abort if a noreturn function returns"
++msgstr "Generera ett anrop till abort om en noreturn-funktion returnerar"
+
+-#: config/rs6000/darwin.opt:24 config/rs6000/sysv4.opt:132
++#: config/arm/arm.opt:34
++msgid "Pass FP arguments in FP registers"
++msgstr "Skicka FP-argument i FP-register"
++
++#: config/arm/arm.opt:38
++msgid "Generate APCS conformant stack frames"
++msgstr "Generera stackramar enligt APCS"
++
++#: config/arm/arm.opt:42
++msgid "Generate re-entrant, PIC code"
++msgstr "Generera återstartbar, PIC-kod"
++
++#: config/arm/arm.opt:49 config/m68k/m68k.opt:96 config/score/score.opt:63
++msgid "Specify the name of the target architecture"
++msgstr "Ange namnet på målarkitekturen"
++
++#: config/arm/arm.opt:56
++msgid "Assume target CPU is configured as big endian"
++msgstr "Antag att mål-CPU:n är konfigurerad för rak byteordning"
++
++#: config/arm/arm.opt:60
++msgid "Thumb: Assume non-static functions may be called from ARM code"
++msgstr "Thumb: Anta att icke-statiska funktioner kan anropas från ARM-kod"
++
++#: config/arm/arm.opt:64
++msgid "Thumb: Assume function pointers may go to non-Thumb aware code"
++msgstr "Thumb: Anta att funktionspekare kan gå till icke-Thumb-medveten kod"
++
++#: config/arm/arm.opt:68
++msgid "Cirrus: Place NOPs to avoid invalid instruction combinations"
++msgstr "Cirrus: Placera NOP:ar för att undvika ogiltiga instruktionskombinationer"
++
++#: config/arm/arm.opt:72 config/bfin/bfin.opt:27
++msgid "Specify the name of the target CPU"
++msgstr "Ange namnet på målprocessorn"
++
++#: config/arm/arm.opt:76
++msgid "Specify if floating point hardware should be used"
++msgstr "Ange om flyttalshårdvara skall användas"
++
++#: config/arm/arm.opt:90
++msgid "Specify the name of the target floating point hardware/format"
++msgstr "Ange namnet på målets flyttalshårdvara/-format"
++
++#: config/arm/arm.opt:94
++msgid "Alias for -mfloat-abi=hard"
++msgstr "Alias för -mfloat-abi=hard"
++
++#: config/arm/arm.opt:98
++msgid "Assume target CPU is configured as little endian"
++msgstr "Antag att mål-CPU:n är konfigurerad med omvänd byteordning"
++
++#: config/arm/arm.opt:102
++msgid "Generate call insns as indirect calls, if necessary"
++msgstr "Generera anropsinstruktioner som indirekta anrop, om nödvändigt"
++
++#: config/arm/arm.opt:106
++msgid "Specify the register to be used for PIC addressing"
++msgstr "Ange registret som skall användas för PIC-adressering"
++
++#: config/arm/arm.opt:110
++msgid "Store function names in object code"
++msgstr "Lagra funktionsnamn i objektkod"
++
++#: config/arm/arm.opt:114
++msgid "Permit scheduling of a function's prologue sequence"
++msgstr "Tillåt schemaläggning av en funktions prologsekvens"
++
++#: config/arm/arm.opt:118
++msgid "Do not load the PIC register in function prologues"
++msgstr "Ladda inte PIC-registret i funktionsprologer"
++
++#: config/arm/arm.opt:122
++msgid "Alias for -mfloat-abi=soft"
++msgstr "Alias för -mfloat-abi=soft"
++
++#: config/arm/arm.opt:126
++msgid "Specify the minimum bit alignment of structures"
++msgstr "Ange den minsta justeringen i bitar för poster"
++
++#: config/arm/arm.opt:130
++msgid "Compile for the Thumb not the ARM"
++msgstr "Kompilera för Thumb, inte ARM"
++
++#: config/arm/arm.opt:134
++msgid "Support calls between Thumb and ARM instruction sets"
++msgstr "Stöd anrop mellan Thumb- och ARM-instruktionsuppsättningar"
++
++#: config/arm/arm.opt:138
++msgid "Specify how to access the thread pointer"
++msgstr "Ange hur trådpekaren skall nås"
++
++#: config/arm/arm.opt:142
++msgid "Thumb: Generate (non-leaf) stack frames even if not needed"
++msgstr "Thumb: Generera (icke-löv-)stackramar även om de inte behövs"
++
++#: config/arm/arm.opt:146
++msgid "Thumb: Generate (leaf) stack frames even if not needed"
++msgstr "Thumb: Generera (löv)stackramar även om de inte behövs"
++
++#: config/arm/arm.opt:150
++msgid "Tune code for the given processor"
++msgstr "Trimma koden för den angivna processorn"
++
++#: config/arm/arm.opt:154
++msgid "Assume big endian bytes, little endian words"
++msgstr "Antag att byte har rak byteordning, ord har omvänd byteordning"
++
++#: config/arm/arm.opt:158
++msgid "Use Neon quad-word (rather than double-word) registers for vectorization"
++msgstr "Använd Neons quad-ord- (snarare än dubbelord-)register för vektoriseringar"
++
++#: config/arm/pe.opt:23
++msgid "Ignore dllimport attribute for functions"
++msgstr "Ignorera attributet dllimport för funktioner"
++
++#: config/cris/linux.opt:27
++msgid "Together with -fpic and -fPIC, do not use GOTPLT references"
++msgstr "Tillsammans med -fpic och -fPIC, använd inte GOTPLT-referenser"
++
++#: config/cris/aout.opt:27
++msgid "Compile for the MMU-less Etrax 100-based elinux system"
++msgstr "Kompilera för Etrax 100-baserade elinussystem utan MMU"
++
++#: config/cris/aout.opt:33
++msgid "For elinux, request a specified stack-size for this program"
++msgstr "För elinux, begär en specificerad stackstorlek för detta program"
++
++#: config/cris/cris.opt:45
++msgid "Work around bug in multiplication instruction"
++msgstr "Gå runt fel i multiplikationsinstruktion"
++
++#: config/cris/cris.opt:51
++msgid "Compile for ETRAX 4 (CRIS v3)"
++msgstr "Kompilera för ETRAX 4 (CRIS v3)"
++
++#: config/cris/cris.opt:56
++msgid "Compile for ETRAX 100 (CRIS v8)"
++msgstr "Kompilera för ETRAX 100 (CRIS v8)"
++
++#: config/cris/cris.opt:64
++msgid "Emit verbose debug information in assembly code"
++msgstr "Mata ut utförlig felsökningsinformation i assemblerkod"
++
++#: config/cris/cris.opt:71
++msgid "Do not use condition codes from normal instructions"
++msgstr "Använd inte tillståndskoder från normala instruktioner"
++
++#: config/cris/cris.opt:80
++msgid "Do not emit addressing modes with side-effect assignment"
++msgstr "Mata inte ut adresseringssätt med sidoeffekttilldelning"
++
++#: config/cris/cris.opt:89
++msgid "Do not tune stack alignment"
++msgstr "Trimma inte stackjustering"
++
++#: config/cris/cris.opt:98
++msgid "Do not tune writable data alignment"
++msgstr "Trimma inte justering för skrivbar data"
++
++#: config/cris/cris.opt:107
++msgid "Do not tune code and read-only data alignment"
++msgstr "Trimma inte justering för kod och endast läsbar data"
++
++#: config/cris/cris.opt:116
++msgid "Align code and data to 32 bits"
++msgstr "Justera kod och data till 32 bitar"
++
++#: config/cris/cris.opt:133
++msgid "Don't align items in code or data"
++msgstr "Justera inte element i kod och data"
++
++#: config/cris/cris.opt:142
++msgid "Do not emit function prologue or epilogue"
++msgstr "Mata inte ut funktionsprolog eller -epilog"
++
++#: config/cris/cris.opt:149
++msgid "Use the most feature-enabling options allowed by other options"
++msgstr "Använd de flaggor bland övriga flaggor som slår på flest funktioner"
++
++#: config/cris/cris.opt:158
++msgid "Override -mbest-lib-options"
++msgstr "Åsidosätt -mbest-lib-options"
++
++#: config/cris/cris.opt:165
++msgid "Generate code for the specified chip or CPU version"
++msgstr "Generera kod för det angivna chip:et eller CPU-versionen"
++
++#: config/cris/cris.opt:169
++msgid "Tune alignment for the specified chip or CPU version"
++msgstr "Trimma justering för det angivna chip:et eller CPU-versionen"
++
++#: config/cris/cris.opt:173
++msgid "Warn when a stackframe is larger than the specified size"
++msgstr "Varna när en stackram är större än den angivna storleken"
++
++#: config/avr/avr.opt:23
++msgid "Use subroutines for function prologues and epilogues"
++msgstr "Använd subrutiner för funktionprologer och -epiloger"
++
++#: config/avr/avr.opt:27
++msgid "Select the target MCU"
++msgstr "Välj mål-MCU:n"
++
++#: config/avr/avr.opt:34
++msgid "Use an 8-bit 'int' type"
++msgstr "Använd en 8-bitars \"int\"-typ"
++
++#: config/avr/avr.opt:38
++msgid "Change the stack pointer without disabling interrupts"
++msgstr "Ändra stackpekaren utan att avaktivera avbrott"
++
++#: config/avr/avr.opt:42
++msgid "Do not generate tablejump insns"
++msgstr "Generera inte tabellhoppinstruktioner"
++
++#: config/avr/avr.opt:52
++msgid "Use rjmp/rcall (limited range) on >8K devices"
++msgstr "Använd rjmp/rcall (begränsat intervall) på enheter >8k"
++
++#: config/avr/avr.opt:56
++msgid "Output instruction sizes to the asm file"
++msgstr "Mata ut instruktionsstorlekar till asm-filen"
++
++#: config/avr/avr.opt:60
++msgid "Change only the low 8 bits of the stack pointer"
++msgstr "Ändra endast de låga 8 bitarna av stackpekaren"
++
++#: config/avr/avr.opt:64
++msgid "Relax branches"
++msgstr "Lätta på grenar"
++
++#: config/avr/avr.opt:68
++msgid "Make the linker relaxation machine assume that a program counter wrap-around occures."
++msgstr "Gör så att länkarens lättningsmaskin antar att programräknaren slår runt."
++
++#: config/linux.opt:24
++msgid "Use uClibc instead of GNU libc"
++msgstr "Använd uClibc istället för GNU libc"
++
++#: config/linux.opt:28
++msgid "Use GNU libc instead of uClibc"
++msgstr "Använd GNU libc istället för uClibc"
++
++#: config/rs6000/sysv4.opt:24
++msgid "Select ABI calling convention"
++msgstr "Välj ABI-konvention för anrop"
++
++#: config/rs6000/sysv4.opt:28
++msgid "Select method for sdata handling"
++msgstr "Välj metod för hantering av sdata"
++
++#: config/rs6000/sysv4.opt:36 config/rs6000/sysv4.opt:40
++msgid "Align to the base type of the bit-field"
++msgstr "Justera till bastypen av bitfältet"
++
++#: config/rs6000/sysv4.opt:45 config/rs6000/sysv4.opt:49
++msgid "Produce code relocatable at runtime"
++msgstr "Producera kod som kan omlokaliseras vid körtillfället"
++
++#: config/rs6000/sysv4.opt:53 config/rs6000/sysv4.opt:57
++msgid "Produce little endian code"
++msgstr "Producera kod med omvänd byteordning"
++
++#: config/rs6000/sysv4.opt:61 config/rs6000/sysv4.opt:65
++msgid "Produce big endian code"
++msgstr "Producera kod med rak byteordning"
++
++#: config/rs6000/sysv4.opt:70 config/rs6000/sysv4.opt:74
++#: config/rs6000/sysv4.opt:83 config/rs6000/sysv4.opt:100
++#: config/rs6000/sysv4.opt:128 config/rs6000/sysv4.opt:140
++msgid "no description yet"
++msgstr "ingen beskrivning ännu"
++
++#: config/rs6000/sysv4.opt:78
++msgid "Assume all variable arg functions are prototyped"
++msgstr "Anta att alla funktioner med variabelt antal argument har prototyp"
++
++#: config/rs6000/sysv4.opt:87
++msgid "Use EABI"
++msgstr "Använd EABI"
++
++#: config/rs6000/sysv4.opt:91
++msgid "Allow bit-fields to cross word boundaries"
++msgstr "Tillåt att bitfält går över ordgränser"
++
++#: config/rs6000/sysv4.opt:95
++msgid "Use alternate register names"
++msgstr "Använd alternativa registernamn"
++
++#: config/rs6000/sysv4.opt:104
++msgid "Link with libsim.a, libc.a and sim-crt0.o"
++msgstr "Länka med libsim.a, libc.a och sim-crt0.o"
++
++#: config/rs6000/sysv4.opt:108
++msgid "Link with libads.a, libc.a and crt0.o"
++msgstr "Länka med libads.a, libc.a och crt0.o"
++
++#: config/rs6000/sysv4.opt:112
++msgid "Link with libyk.a, libc.a and crt0.o"
++msgstr "Länka med libyk.a, libc.a och crt0.o"
++
++#: config/rs6000/sysv4.opt:116
++msgid "Link with libmvme.a, libc.a and crt0.o"
++msgstr "Länka med libmvme.a, libc.a och crt0.o"
++
++#: config/rs6000/sysv4.opt:120
++msgid "Set the PPC_EMB bit in the ELF flags header"
++msgstr "Sätt biten PPC_EMB i ELF:s flaggfält"
++
++#: config/rs6000/sysv4.opt:124
++msgid "Use the WindISS simulator"
++msgstr "Använd simulatorn WindISS"
++
++#: config/rs6000/sysv4.opt:132 config/rs6000/darwin.opt:24
+ msgid "Generate 64-bit code"
+ msgstr "Generera 64-bitars kod"
+
+-#: config/rs6000/darwin.opt:28 config/rs6000/sysv4.opt:136
++#: config/rs6000/sysv4.opt:136 config/rs6000/darwin.opt:28
+ msgid "Generate 32-bit code"
+ msgstr "Generera 32-bitars kod"
+
++#: config/rs6000/sysv4.opt:144
++msgid "Generate code to use a non-exec PLT and GOT"
++msgstr "Generera kod för att använda ej-exec PLT och GOT"
++
++#: config/rs6000/sysv4.opt:148
++msgid "Generate code for old exec BSS PLT"
++msgstr "Generera kod för gammal exec BSS PLT"
++
++#: config/rs6000/linux64.opt:24
++msgid "Call mcount for profiling before a function prologue"
++msgstr "Anropa mcount för profilering före en funktionsprolog"
++
+ #: config/rs6000/darwin.opt:32
+ msgid "Generate code suitable for executables (NOT shared libs)"
+ msgstr "Generera kod lämplig för körbara program (INTE delade bibliotek)"
+
++#: config/rs6000/aix64.opt:24
++msgid "Compile for 64-bit pointers"
++msgstr "Kompilera för 64-bitspekare"
++
++#: config/rs6000/aix64.opt:28
++msgid "Compile for 32-bit pointers"
++msgstr "Kompilera för 32-bitspekare"
++
++#: config/rs6000/aix64.opt:32 config/rs6000/aix41.opt:24
++msgid "Support message passing with the Parallel Environment"
++msgstr "Stöd meddelandeskickning med Parallel Environment"
++
+ #: config/rs6000/rs6000.opt:24
+ msgid "Use POWER instruction set"
+ msgstr "Använd instruktionsuppsättning för POWER"
+@@ -12823,6 +12881,10 @@
+ msgid "Return small structures in registers (SVR4 default)"
+ msgstr "Returnera små strukturer i register (standard för SVR4)"
+
++#: config/rs6000/rs6000.opt:147 config/rs6000/aix.opt:24
++msgid "Conform more closely to IBM XLC semantics"
++msgstr "Följ mer noga IBM XLC:s semantik"
++
+ #: config/rs6000/rs6000.opt:151
+ msgid "Generate software reciprocal sqrt for better throughput"
+ msgstr "Generera invers kvadratrot i programvara för bättre genomströmning"
+@@ -12887,6 +12949,10 @@
+ msgid "Specify ABI to use"
+ msgstr "Ange ABI att använda"
+
++#: config/rs6000/rs6000.opt:222 config/sparc/sparc.opt:91
++msgid "Use features of and schedule code for given CPU"
++msgstr "Använd funktioner i och schemalägg kod för angiven CPU"
++
+ #: config/rs6000/rs6000.opt:230
+ msgid "Select full, part, or no traceback table"
+ msgstr "Välj fullständig, partiell, eller ingen bakåtspårningstabell"
+@@ -12923,96 +12989,74 @@
+ msgid "Specify scheduling priority for dispatch slot restricted insns"
+ msgstr "Ange schemaläggningsprioritet för begränsade instruktioner för avsändningsfack"
+
+-#: config/rs6000/aix64.opt:24
+-msgid "Compile for 64-bit pointers"
+-msgstr "Kompilera för 64-bitspekare"
++#: config/v850/v850.opt:23
++msgid "Use registers r2 and r5"
++msgstr "Använd registeren r2 och r5"
+
+-#: config/rs6000/aix64.opt:28
+-msgid "Compile for 32-bit pointers"
+-msgstr "Kompilera för 32-bitspekare"
++#: config/v850/v850.opt:27
++msgid "Use 4 byte entries in switch tables"
++msgstr "Använd 4-byteposter i hopptabeller"
+
+-#: config/rs6000/linux64.opt:24
+-msgid "Call mcount for profiling before a function prologue"
+-msgstr "Anropa mcount för profilering före en funktionsprolog"
++#: config/v850/v850.opt:31
++msgid "Enable backend debugging"
++msgstr "Aktivera bakändefelsökning"
+
+-#: config/rs6000/sysv4.opt:24
+-msgid "Select ABI calling convention"
+-msgstr "Välj ABI-konvention för anrop"
++#: config/v850/v850.opt:35
++msgid "Do not use the callt instruction"
++msgstr "Använd inte callt-instruktionen"
+
+-#: config/rs6000/sysv4.opt:28
+-msgid "Select method for sdata handling"
+-msgstr "Välj metod för hantering av sdata"
++#: config/v850/v850.opt:39
++msgid "Reuse r30 on a per function basis"
++msgstr "Återanvänd r30 i varje funktion"
+
+-#: config/rs6000/sysv4.opt:36 config/rs6000/sysv4.opt:40
+-msgid "Align to the base type of the bit-field"
+-msgstr "Justera till bastypen av bitfältet"
++#: config/v850/v850.opt:43
++msgid "Support Green Hills ABI"
++msgstr "Stöd Green Hills ABI"
+
+-#: config/rs6000/sysv4.opt:45 config/rs6000/sysv4.opt:49
+-msgid "Produce code relocatable at runtime"
+-msgstr "Producera kod som kan omlokaliseras vid körtillfället"
++#: config/v850/v850.opt:47
++msgid "Prohibit PC relative function calls"
++msgstr "Förhindra PC-relativa funktionsanrop"
+
+-#: config/rs6000/sysv4.opt:53 config/rs6000/sysv4.opt:57
+-msgid "Produce little endian code"
+-msgstr "Producera kod med omvänd byteordning"
++#: config/v850/v850.opt:51
++msgid "Use stubs for function prologues"
++msgstr "Använd stubbar för funktionsprologer"
+
+-#: config/rs6000/sysv4.opt:61 config/rs6000/sysv4.opt:65
+-msgid "Produce big endian code"
+-msgstr "Producera kod med rak byteordning"
++#: config/v850/v850.opt:55
++msgid "Set the max size of data eligible for the SDA area"
++msgstr "Ange den maximala storleken på data som är lämpliga för SDA-arean"
+
+-#: config/rs6000/sysv4.opt:70 config/rs6000/sysv4.opt:74
+-#: config/rs6000/sysv4.opt:83 config/rs6000/sysv4.opt:100
+-#: config/rs6000/sysv4.opt:128 config/rs6000/sysv4.opt:140
+-msgid "no description yet"
+-msgstr "ingen beskrivning ännu"
++#: config/v850/v850.opt:59
++msgid "Enable the use of the short load instructions"
++msgstr "Möjliggör användning av de korta load-instruktionerna"
+
+-#: config/rs6000/sysv4.opt:78
+-msgid "Assume all variable arg functions are prototyped"
+-msgstr "Anta att alla funktioner med variabelt antal argument har prototyp"
++#: config/v850/v850.opt:63
++msgid "Same as: -mep -mprolog-function"
++msgstr "Samma som: -mep -mprolog-function"
+
+-#: config/rs6000/sysv4.opt:87
+-msgid "Use EABI"
+-msgstr "Använd EABI"
++#: config/v850/v850.opt:67
++msgid "Set the max size of data eligible for the TDA area"
++msgstr "Ange den maximala storleken på data som är lämpliga för TDA-arean"
+
+-#: config/rs6000/sysv4.opt:91
+-msgid "Allow bit-fields to cross word boundaries"
+-msgstr "Tillåt att bitfält går över ordgränser"
++#: config/v850/v850.opt:71
++msgid "Enforce strict alignment"
++msgstr "Framtvinga strikt justering"
+
+-#: config/rs6000/sysv4.opt:95
+-msgid "Use alternate register names"
+-msgstr "Använd alternativa registernamn"
++#: config/v850/v850.opt:78
++msgid "Compile for the v850 processor"
++msgstr "Kompilera för processorn v850"
+
+-#: config/rs6000/sysv4.opt:104
+-msgid "Link with libsim.a, libc.a and sim-crt0.o"
+-msgstr "Länka med libsim.a, libc.a och sim-crt0.o"
++#: config/v850/v850.opt:82
++msgid "Compile for the v850e processor"
++msgstr "Kompilera för processorn v850e"
+
+-#: config/rs6000/sysv4.opt:108
+-msgid "Link with libads.a, libc.a and crt0.o"
+-msgstr "Länka med libads.a, libc.a och crt0.o"
++#: config/v850/v850.opt:86
++msgid "Compile for the v850e1 processor"
++msgstr "Kompilera för processorn v850e1"
+
+-#: config/rs6000/sysv4.opt:112
+-msgid "Link with libyk.a, libc.a and crt0.o"
+-msgstr "Länka med libyk.a, libc.a och crt0.o"
++#: config/v850/v850.opt:90
++msgid "Set the max size of data eligible for the ZDA area"
++msgstr "Ange den maximala storleken på data som är lämpliga för ZDA-arean"
+
+-#: config/rs6000/sysv4.opt:116
+-msgid "Link with libmvme.a, libc.a and crt0.o"
+-msgstr "Länka med libmvme.a, libc.a och crt0.o"
+-
+-#: config/rs6000/sysv4.opt:120
+-msgid "Set the PPC_EMB bit in the ELF flags header"
+-msgstr "Sätt biten PPC_EMB i ELF:s flaggfält"
+-
+-#: config/rs6000/sysv4.opt:124
+-msgid "Use the WindISS simulator"
+-msgstr "Använd simulatorn WindISS"
+-
+-#: config/rs6000/sysv4.opt:144
+-msgid "Generate code to use a non-exec PLT and GOT"
+-msgstr "Generera kod för att använda ej-exec PLT och GOT"
+-
+-#: config/rs6000/sysv4.opt:148
+-msgid "Generate code for old exec BSS PLT"
+-msgstr "Generera kod för gammal exec BSS PLT"
+-
+ #: config/spu/spu.opt:20
+ msgid "Emit warnings when run-time relocations are generated"
+ msgstr "Generera varningar när körtidsomlokaliseringar genereras"
+@@ -13049,62 +13093,262 @@
+ msgid "Generate code for 32 bit addressing"
+ msgstr "Generera kod för 32-bitars adressering"
+
+-#: config/mcore/mcore.opt:23
+-msgid "Generate code for the M*Core M210"
+-msgstr "Generera kod för M*Core M210"
++#: config/vax/vax.opt:23 config/vax/vax.opt:27
++msgid "Target DFLOAT double precision code"
++msgstr "Sikta på DFLOAT-dubbelprecisionskod"
+
+-#: config/mcore/mcore.opt:27
+-msgid "Generate code for the M*Core M340"
+-msgstr "Generera kod för M*Core M340"
++#: config/vax/vax.opt:31 config/vax/vax.opt:35
++msgid "Generate GFLOAT double precision code"
++msgstr "Generera GFLOAT-dubbelprecisionskod"
+
+-#: config/mcore/mcore.opt:31
+-msgid "Set maximum alignment to 4"
+-msgstr "Sätt maximal justering till 4"
++#: config/vax/vax.opt:39
++msgid "Generate code for GNU assembler (gas)"
++msgstr "Generera kod för GNU-assembler (gas)"
+
+-#: config/mcore/mcore.opt:35
+-msgid "Force functions to be aligned to a 4 byte boundary"
+-msgstr "Tvinga funktioner till att vara justerade till en 4-bytegräns"
++#: config/vax/vax.opt:43
++msgid "Generate code for UNIX assembler"
++msgstr "Generera kod för UNIX-assembler"
+
+-#: config/mcore/mcore.opt:39
+-msgid "Set maximum alignment to 8"
+-msgstr "Sätt maximal justering till 8"
++#: config/vax/vax.opt:47
++msgid "Use VAXC structure conventions"
++msgstr "Använd VAXC:s konventioner för struct"
+
+-#: config/mcore/mcore.opt:43 config/score/score.opt:23
+-msgid "Generate big-endian code"
+-msgstr "Generera kod med rak byteordning"
++#: config/lynx.opt:23
++msgid "Support legacy multi-threading"
++msgstr "Stöd gammaldags multitrådning"
+
+-#: config/mcore/mcore.opt:47
+-msgid "Emit call graph information"
+-msgstr "Mata ut anropsgrafsinformation"
++#: config/lynx.opt:27
++msgid "Use shared libraries"
++msgstr "Använd delade bibliotek"
+
+-#: config/mcore/mcore.opt:51
+-msgid "Use the divide instruction"
+-msgstr "Använd divisionsinstruktionen"
++#: config/lynx.opt:31
++msgid "Support multi-threading"
++msgstr "Stöd multitrådning"
+
+-#: config/mcore/mcore.opt:55
+-msgid "Inline constants if it can be done in 2 insns or less"
+-msgstr "Inline:a konstanter om det kan göras på 2 instruktioner eller mindre"
++#: config/stormy16/stormy16.opt:24
++msgid "Provide libraries for the simulator"
++msgstr "Tillhandahåll bibliotek för simulatorn"
+
+-#: config/mcore/mcore.opt:59 config/score/score.opt:27
+-msgid "Generate little-endian code"
+-msgstr "Generera kod med omvänd byteordning"
++#: config/h8300/h8300.opt:23
++msgid "Generate H8S code"
++msgstr "Generera H8S-kod"
+
+-#: config/mcore/mcore.opt:67
+-msgid "Use arbitrary sized immediates in bit operations"
+-msgstr "Använd godtyckligt stora omedelbara i bitoperationer"
++#: config/h8300/h8300.opt:27
++msgid "Generate H8SX code"
++msgstr "Generera H8SX-kod"
+
+-#: config/mcore/mcore.opt:71
+-msgid "Prefer word accesses over byte accesses"
+-msgstr "Föredra ordåtkomst före byteåtkomst"
++#: config/h8300/h8300.opt:31
++msgid "Generate H8S/2600 code"
++msgstr "Generera H8S/2600-kod"
+
+-#: config/mcore/mcore.opt:75
+-msgid "Set the maximum amount for a single stack increment operation"
+-msgstr "Ange maximal storlek på en ensam stackökningsoperation"
++#: config/h8300/h8300.opt:35
++msgid "Make integers 32 bits wide"
++msgstr "Gör heltal 32 bitar stora"
+
+-#: config/mcore/mcore.opt:79
+-msgid "Always treat bitfields as int-sized"
+-msgstr "Hantera alltid bitfält som int-stora"
++#: config/h8300/h8300.opt:42
++msgid "Use registers for argument passing"
++msgstr "Använd register för argumentskickning"
+
++#: config/h8300/h8300.opt:46
++msgid "Consider access to byte sized memory slow"
++msgstr "Betrakta åtkomst till bytestort minne som långsam"
++
++#: config/h8300/h8300.opt:50
++msgid "Enable linker relaxing"
++msgstr "Aktivera länkaravslappning"
++
++#: config/h8300/h8300.opt:54
++msgid "Generate H8/300H code"
++msgstr "Generera H8/300H-kod"
++
++#: config/h8300/h8300.opt:58
++msgid "Enable the normal mode"
++msgstr "Aktivera normalt läge"
++
++#: config/h8300/h8300.opt:62
++msgid "Use H8/300 alignment rules"
++msgstr "Använd H8/300-regler för justering"
++
++#: config/s390/s390.opt:23
++msgid "31 bit ABI"
++msgstr "31-bitars ABI"
++
++#: config/s390/s390.opt:27
++msgid "64 bit ABI"
++msgstr "64-bitars ABI"
++
++#: config/s390/s390.opt:35
++msgid "Maintain backchain pointer"
++msgstr "Håll med bakåtkedjepekare"
++
++#: config/s390/s390.opt:39
++msgid "Additional debug prints"
++msgstr "Ytterligare felsökningsutskrifter"
++
++#: config/s390/s390.opt:43
++msgid "ESA/390 architecture"
++msgstr "ESA/390-arkitektur"
++
++#: config/s390/s390.opt:47
++msgid "Enable fused multiply/add instructions"
++msgstr "Använd sammansmälta multiplikations/additions-instruktioner"
++
++#: config/s390/s390.opt:51
++msgid "Enable decimal floating point hardware support"
++msgstr "Använd hårdvarustöd för decimala flyttal"
++
++#: config/s390/s390.opt:55
++msgid "Enable hardware floating point"
++msgstr "Använd hårdvaruflyttal"
++
++#: config/s390/s390.opt:67
++msgid "Use packed stack layout"
++msgstr "Använd packad stacklayout"
++
++#: config/s390/s390.opt:71
++msgid "Use bras for executable < 64k"
++msgstr "Använd bras för körbara program < 64k"
++
++#: config/s390/s390.opt:75
++msgid "Disable hardware floating point"
++msgstr "Använd inte hårdvaruflyttal"
++
++#: config/s390/s390.opt:79
++msgid "Set the max. number of bytes which has to be left to stack size before a trap instruction is triggered"
++msgstr "Ange det maximala antalet byte som måste finnas kvar till stackstorleken före en fällinstruktion utlöses"
++
++#: config/s390/s390.opt:83
++msgid "Emit extra code in the function prologue in order to trap if the stack size exceeds the given limit"
++msgstr "Mata ut extra kod i funktionsprologen för att fånga om stackstorleken överskrider den givna gränsen"
++
++#: config/s390/s390.opt:91
++msgid "mvcle use"
++msgstr "använd mvcle"
++
++#: config/s390/s390.opt:95
++msgid "Warn if a function uses alloca or creates an array with dynamic size"
++msgstr "Varna om en funktion använder alloca eller skapar en vektor med dynamisk storlek"
++
++#: config/s390/s390.opt:99
++msgid "Warn if a single function's framesize exceeds the given framesize"
++msgstr "Varna om en enskild funktions ramstorlek överskrider den angivna ramstorleken"
++
++#: config/s390/s390.opt:103
++msgid "z/Architecture"
++msgstr "z/Arkitektur"
++
++#: config/s390/tpf.opt:23
++msgid "Enable TPF-OS tracing code"
++msgstr "Aktivera TPF-OS-spårningskod"
++
++#: config/s390/tpf.opt:27
++msgid "Specify main object for TPF-OS"
++msgstr "Ange huvudobjekt för TPF-OS"
++
++#: config/darwin.opt:23
++msgid "Generate code suitable for fast turn around debugging"
++msgstr "Generera kod lämplig för korta felsökningscykler"
++
++#: config/darwin.opt:31
++msgid "The earliest MacOS X version on which this program will run"
++msgstr "Den tidigaste MacOS X-versionen som detta program kommer köra på"
++
++#: config/darwin.opt:35
++msgid "Set sizeof(bool) to 1"
++msgstr "Sätt sizeof(bool) till 1"
++
++#: config/darwin.opt:39
++msgid "Generate code for darwin loadable kernel extensions"
++msgstr "Generera kod för darwin laddbara kärnutvidgningar"
++
++#: config/darwin.opt:43
++msgid "Generate code for the kernel or loadable kernel extensions"
++msgstr "Generera kod för kärnan eller laddbara kärnutvidgningar"
++
++#: config/darwin.opt:47
++msgid "Add <dir> to the end of the system framework include path"
++msgstr "Lägg till <dir> till slutet av systemramverkets inkluderingssökväg"
++
++#: config/mn10300/mn10300.opt:23
++msgid "Target the AM33 processor"
++msgstr "Sikta på processorn AM33"
++
++#: config/mn10300/mn10300.opt:27
++msgid "Target the AM33/2.0 processor"
++msgstr "Sikta på processorn AM33/2.0"
++
++#: config/mn10300/mn10300.opt:31
++msgid "Work around hardware multiply bug"
++msgstr "Gå runt multiplikationsfel i hårdvara"
++
++#: config/mn10300/mn10300.opt:36
++msgid "Enable linker relaxations"
++msgstr "Aktivera länkaravslappningar"
++
++#: config/mn10300/mn10300.opt:40
++msgid "Return pointers in both a0 and d0"
++msgstr "Returnera pekare i både a0 och d0"
++
++#: config/m32r/m32r.opt:23
++msgid "Compile for the m32rx"
++msgstr "Kompilera för en m32rx"
++
++#: config/m32r/m32r.opt:27
++msgid "Compile for the m32r2"
++msgstr "Kompilera för en m32r2"
++
++#: config/m32r/m32r.opt:31
++msgid "Compile for the m32r"
++msgstr "Kompilera för en m32r"
++
++#: config/m32r/m32r.opt:35
++msgid "Align all loops to 32 byte boundary"
++msgstr "Justera alla slingor till 32-bytesgräns"
++
++#: config/m32r/m32r.opt:39
++msgid "Prefer branches over conditional execution"
++msgstr "Föredra hopp framför villkorlig körning"
++
++#: config/m32r/m32r.opt:43
++msgid "Give branches their default cost"
++msgstr "Ge grenar sin normalkostnad"
++
++#: config/m32r/m32r.opt:47
++msgid "Display compile time statistics"
++msgstr "Visa kompileringstidsstatistik"
++
++#: config/m32r/m32r.opt:51
++msgid "Specify cache flush function"
++msgstr "Ange cache-tömningsfunktion"
++
++#: config/m32r/m32r.opt:55
++msgid "Specify cache flush trap number"
++msgstr "Ange cache-tömningsfällnummer"
++
++#: config/m32r/m32r.opt:59
++msgid "Only issue one instruction per cycle"
++msgstr "Lägg bara ut en instruktion per cykel"
++
++#: config/m32r/m32r.opt:63
++msgid "Allow two instructions to be issued per cycle"
++msgstr "Tillåt att två instruktioner läggs ut per cykel"
++
++#: config/m32r/m32r.opt:67
++msgid "Code size: small, medium or large"
++msgstr "Kodstorlek: small, medium, eller large"
++
++#: config/m32r/m32r.opt:71
++msgid "Don't call any cache flush functions"
++msgstr "Anropa inte några cache-tömningsfunktioner"
++
++#: config/m32r/m32r.opt:75
++msgid "Don't call any cache flush trap"
++msgstr "Anropa inga cache-tömningsfällor"
++
++#: config/m32r/m32r.opt:82
++msgid "Small data area: none, sdata, use"
++msgstr "Litet dataområde: none, sdata, use"
++
+ #: config/arc/arc.opt:32
+ msgid "Prepend the name of the cpu to all public symbol names"
+ msgstr "Skjut in namnet på cpu:n före alla publika symbolnamn"
+@@ -13125,6 +13369,520 @@
+ msgid "Put read-only data in SECTION"
+ msgstr "Lägg endast läsbara data i SECTION"
+
++#: config/m32c/m32c.opt:24 config/mt/mt.opt:27 config/bfin/bfin.opt:23
++msgid "Use simulator runtime"
++msgstr "Använd simulatorkörtider"
++
++#: config/m32c/m32c.opt:28
++msgid "Compile code for R8C variants"
++msgstr "Kompilera kod för R8C-varianter"
++
++#: config/m32c/m32c.opt:32
++msgid "Compile code for M16C variants"
++msgstr "Kompilera kod för M16C-varianter"
++
++#: config/m32c/m32c.opt:36
++msgid "Compile code for M32CM variants"
++msgstr "Kompilera kod för M32CM-varianter"
++
++#: config/m32c/m32c.opt:40
++msgid "Compile code for M32C variants"
++msgstr "Kompilera kod för för M32C-varianter"
++
++#: config/m32c/m32c.opt:44
++msgid "Number of memreg bytes (default: 16, range: 0..16)"
++msgstr "Antal memreg-byte (standard: 16, intervall: 0..16)"
++
++#: config/pdp11/pdp11.opt:23
++msgid "Generate code for an 11/10"
++msgstr "Generera kod för 11/10"
++
++#: config/pdp11/pdp11.opt:27
++msgid "Generate code for an 11/40"
++msgstr "Generera kod för 11/40"
++
++#: config/pdp11/pdp11.opt:31
++msgid "Generate code for an 11/45"
++msgstr "Generera kod för 11/45"
++
++#: config/pdp11/pdp11.opt:35
++msgid "Use 16-bit abs patterns"
++msgstr "Använd 16-bitars abs-mönster"
++
++#: config/pdp11/pdp11.opt:39
++msgid "Return floating-point results in ac0 (fr0 in Unix assembler syntax)"
++msgstr "Returnera flyttalsresultat i ac0 (fr0 i assemblersyntax för Unix)"
++
++#: config/pdp11/pdp11.opt:43
++msgid "Do not use inline patterns for copying memory"
++msgstr "Använd inte inline-mönster för att kopiera minne"
++
++#: config/pdp11/pdp11.opt:47
++msgid "Use inline patterns for copying memory"
++msgstr "Använd inline-mönster för att kopiera minne"
++
++#: config/pdp11/pdp11.opt:51
++msgid "Do not pretend that branches are expensive"
++msgstr "Låtsas inte att grenar är dyra"
++
++#: config/pdp11/pdp11.opt:55
++msgid "Pretend that branches are expensive"
++msgstr "Låtsas att grenar är dyra"
++
++#: config/pdp11/pdp11.opt:59
++msgid "Use the DEC assembler syntax"
++msgstr "Använd assemblersyntax för DEC"
++
++#: config/pdp11/pdp11.opt:63
++msgid "Use 32 bit float"
++msgstr "Använd 32 bits float"
++
++#: config/pdp11/pdp11.opt:67
++msgid "Use 64 bit float"
++msgstr "Använd 64 bits float"
++
++#: config/pdp11/pdp11.opt:75
++msgid "Use 16 bit int"
++msgstr "Använd 16 bits int"
++
++#: config/pdp11/pdp11.opt:79
++msgid "Use 32 bit int"
++msgstr "Använd 32 bits int"
++
++#: config/pdp11/pdp11.opt:87
++msgid "Target has split I&D"
++msgstr "Målet har uppdelat I&D"
++
++#: config/pdp11/pdp11.opt:91
++msgid "Use UNIX assembler syntax"
++msgstr "Använd assemblersyntax för UNIX"
++
++#: config/m68k/m68k.opt:23
++msgid "Generate code for a 520X"
++msgstr "Generera kod för en 520X"
++
++#: config/m68k/m68k.opt:27
++msgid "Generate code for a 5206e"
++msgstr "Generera kod för en 5206e"
++
++#: config/m68k/m68k.opt:31
++msgid "Generate code for a 528x"
++msgstr "Generera kod för en 528x"
++
++#: config/m68k/m68k.opt:35
++msgid "Generate code for a 5307"
++msgstr "Generera kod för en 5307"
++
++#: config/m68k/m68k.opt:39
++msgid "Generate code for a 5407"
++msgstr "Generera kod för en 5407"
++
++#: config/m68k/m68k.opt:43 config/m68k/m68k.opt:104
++msgid "Generate code for a 68000"
++msgstr "Generera kod för en 68000"
++
++#: config/m68k/m68k.opt:47
++msgid "Generate code for a 68010"
++msgstr "Generera kod för en 68010"
++
++#: config/m68k/m68k.opt:51 config/m68k/m68k.opt:108
++msgid "Generate code for a 68020"
++msgstr "Generera kod för en 68020"
++
++#: config/m68k/m68k.opt:55
++msgid "Generate code for a 68040, without any new instructions"
++msgstr "Generera kod för en 68040, utan några nya instruktioner"
++
++#: config/m68k/m68k.opt:59
++msgid "Generate code for a 68060, without any new instructions"
++msgstr "Generera kod för en 68060, utan några nya instruktioner"
++
++#: config/m68k/m68k.opt:63
++msgid "Generate code for a 68030"
++msgstr "Generera kod för en 68030"
++
++#: config/m68k/m68k.opt:67
++msgid "Generate code for a 68040"
++msgstr "Generera kod för en 68040"
++
++#: config/m68k/m68k.opt:71
++msgid "Generate code for a 68060"
++msgstr "Generera kod för en 68060"
++
++#: config/m68k/m68k.opt:75
++msgid "Generate code for a 68302"
++msgstr "Generera kod för en 68302"
++
++#: config/m68k/m68k.opt:79
++msgid "Generate code for a 68332"
++msgstr "Generera kod för en 68332"
++
++#: config/m68k/m68k.opt:84
++msgid "Generate code for a 68851"
++msgstr "Generera kod för en 68851"
++
++#: config/m68k/m68k.opt:88
++msgid "Generate code that uses 68881 floating-point instructions"
++msgstr "Generera kod som använder flyttalsinstruktioner för 68881"
++
++#: config/m68k/m68k.opt:92
++msgid "Align variables on a 32-bit boundary"
++msgstr "Justera variabler på en 32-bitarsgräns"
++
++#: config/m68k/m68k.opt:100
++msgid "Use the bit-field instructions"
++msgstr "Använd bitfältsinstruktionerna"
++
++#: config/m68k/m68k.opt:112
++msgid "Generate code for a ColdFire v4e"
++msgstr "Generera kod för en ColdFire v4e"
++
++#: config/m68k/m68k.opt:116
++msgid "Specify the target CPU"
++msgstr "Ange mål-CPU:n"
++
++#: config/m68k/m68k.opt:120
++msgid "Generate code for a cpu32"
++msgstr "Generera kod för en cpu32"
++
++#: config/m68k/m68k.opt:124
++msgid "Use hardware division instructions on ColdFire"
++msgstr "Använd hårdvarudivisionsinstruktioner på ColdFire"
++
++#: config/m68k/m68k.opt:128
++msgid "Generate code for a Fido A"
++msgstr "Generera kod för en Fido A"
++
++#: config/m68k/m68k.opt:132
++msgid "Generate code which uses hardware floating point instructions"
++msgstr "Generera kod som använder hårdvaruflyttalsinstruktioner"
++
++#: config/m68k/m68k.opt:136
++msgid "Enable ID based shared library"
++msgstr "Aktivera ID-baserat delat bibliotek"
++
++#: config/m68k/m68k.opt:140
++msgid "Do not use the bit-field instructions"
++msgstr "Använd inte bitfältsinstruktionerna"
++
++#: config/m68k/m68k.opt:144
++msgid "Use normal calling convention"
++msgstr "Använd normal anropskonvention"
++
++#: config/m68k/m68k.opt:148
++msgid "Consider type 'int' to be 32 bits wide"
++msgstr "Betrakta typen \"int\" som 32 bitar bred"
++
++#: config/m68k/m68k.opt:152
++msgid "Generate pc-relative code"
++msgstr "Generera pc-relativ kod"
++
++#: config/m68k/m68k.opt:156
++msgid "Use different calling convention using 'rtd'"
++msgstr "Använd en annan anropskonvention som använder \"rtd\""
++
++#: config/m68k/m68k.opt:160 config/bfin/bfin.opt:61
++msgid "Enable separate data segment"
++msgstr "Aktivera separat datasegment"
++
++#: config/m68k/m68k.opt:164 config/bfin/bfin.opt:57
++msgid "ID of shared library to build"
++msgstr "ID för delat bibliotek att bygga"
++
++#: config/m68k/m68k.opt:168
++msgid "Consider type 'int' to be 16 bits wide"
++msgstr "Betrakta typen \"int\" som 16 bitar bred"
++
++#: config/m68k/m68k.opt:172
++msgid "Generate code with library calls for floating point"
++msgstr "Generera kod med biblioteksanrop för flyttal"
++
++#: config/m68k/m68k.opt:176
++msgid "Do not use unaligned memory references"
++msgstr "Använd inte ojusterade minnesreferenser"
++
++#: config/m68k/m68k.opt:180
++msgid "Tune for the specified target CPU or architecture"
++msgstr "Trimma för den angivna mål-CPU:n eller arkitekturen"
++
++#: config/mmix/mmix.opt:24
++msgid "For intrinsics library: pass all parameters in registers"
++msgstr "För inbyggt bibliotek: skicka alla parametrar i register"
++
++#: config/mmix/mmix.opt:28
++msgid "Use register stack for parameters and return value"
++msgstr "Använd registerstacken för parametrar och returvärde"
++
++#: config/mmix/mmix.opt:32
++msgid "Use call-clobbered registers for parameters and return value"
++msgstr "Använd anropsöverskrivna register för parametrar och returvärde"
++
++#: config/mmix/mmix.opt:37
++msgid "Use epsilon-respecting floating point compare instructions"
++msgstr "Använd flyttalsjämförelseinstruktioner som respekterar epsilon"
++
++#: config/mmix/mmix.opt:41
++msgid "Use zero-extending memory loads, not sign-extending ones"
++msgstr "Använd nollutfyllda minnesladdningar, inte teckenutfyllda"
++
++#: config/mmix/mmix.opt:45
++msgid "Generate divide results with reminder having the same sign as the divisor (not the dividend)"
++msgstr "Generera divisionsresultat så att resten har samma tecken som täljaren (inte nämnaren)"
++
++#: config/mmix/mmix.opt:49
++msgid "Prepend global symbols with \":\" (for use with PREFIX)"
++msgstr "Inled globala symboler med \":\" (för användning tillsammans med PREFIX)"
++
++#: config/mmix/mmix.opt:53
++msgid "Do not provide a default start-address 0x100 of the program"
++msgstr "Ge inte en standard startadress 0x100 för programmet"
++
++#: config/mmix/mmix.opt:57
++msgid "Link to emit program in ELF format (rather than mmo)"
++msgstr "Länka för att skapa program i ELF-format (snarare än mmo)"
++
++#: config/mmix/mmix.opt:61
++msgid "Use P-mnemonics for branches statically predicted as taken"
++msgstr "Använd P-mnemonics för grenar som statiskt förutsägs tas"
++
++#: config/mmix/mmix.opt:65
++msgid "Don't use P-mnemonics for branches"
++msgstr "Använd inte P-mnemonics för grenar"
++
++#: config/mmix/mmix.opt:79
++msgid "Use addresses that allocate global registers"
++msgstr "Använd adresser som allokerar globala register"
++
++#: config/mmix/mmix.opt:83
++msgid "Do not use addresses that allocate global registers"
++msgstr "Använd inte adresser som allokerar globala register"
++
++#: config/mmix/mmix.opt:87
++msgid "Generate a single exit point for each function"
++msgstr "Generera en enda utgångspunkt för varje funktion"
++
++#: config/mmix/mmix.opt:91
++msgid "Do not generate a single exit point for each function"
++msgstr "Generera inte en ensam utgångspunkt för varje funktion"
++
++#: config/mmix/mmix.opt:95
++msgid "Set start-address of the program"
++msgstr "Ange startadressen för programmet"
++
++#: config/mmix/mmix.opt:99
++msgid "Set start-address of data"
++msgstr "Sätt startadress för data"
++
++#: config/score/score.opt:31
++msgid "Disable bcnz instruction"
++msgstr "Använd inte instruktionen bcnz"
++
++#: config/score/score.opt:35
++msgid "Enable unaligned load/store instruction"
++msgstr "Aktivera ojusterade load/store-instruktioner"
++
++#: config/score/score.opt:39
++msgid "Support SCORE 5 ISA"
++msgstr "Stöd SCORE 5 ISA"
++
++#: config/score/score.opt:43
++msgid "Support SCORE 5U ISA"
++msgstr "Stöd SCORE 5U ISA"
++
++#: config/score/score.opt:47
++msgid "Support SCORE 7 ISA"
++msgstr "Stöd SCORE 7 ISA"
++
++#: config/score/score.opt:51
++msgid "Support SCORE 7D ISA"
++msgstr "Stöd SCORE 7D ISA"
++
++#: config/score/score.opt:55
++msgid "Support SCORE 3 ISA"
++msgstr "Stöd SCORE 3 ISA"
++
++#: config/score/score.opt:59
++msgid "Support SCORE 3d ISA"
++msgstr "Stöd SCORE 3d ISA"
++
++#: config/crx/crx.opt:23
++msgid "Support multiply accumulate instructions"
++msgstr "Stöd multiplikations-ackumulerings-instruktioner"
++
++#: config/crx/crx.opt:27
++msgid "Do not use push to store function arguments"
++msgstr "Använd inte push för att lagra funktionsargument"
++
++#: config/crx/crx.opt:31
++msgid "Restrict doloop to the given nesting level"
++msgstr "Begränsa doloop till den givna nästningsnivån"
++
++#: config/mt/mt.opt:23
++msgid "Use byte loads and stores when generating code."
++msgstr "Använd byte-lastning och -lagring vid kodgenerering."
++
++#: config/mt/mt.opt:31
++msgid "Do not include crt0.o in the startup files"
++msgstr "Inkludera inte crt0.o bland uppstartsfilerna"
++
++#: config/mt/mt.opt:35 config/mt/mt.opt:39 config/mt/mt.opt:43
++#: config/mt/mt.opt:47 config/mt/mt.opt:51
++msgid "Internal debug switch"
++msgstr "Intern felsökningsflagga"
++
++#: config/m68hc11/m68hc11.opt:23 config/m68hc11/m68hc11.opt:31
++msgid "Compile for a 68HC11"
++msgstr "Kompilera för en 68HC11"
++
++#: config/m68hc11/m68hc11.opt:27 config/m68hc11/m68hc11.opt:35
++msgid "Compile for a 68HC12"
++msgstr "Kompilera för en 68HC12"
++
++#: config/m68hc11/m68hc11.opt:41 config/m68hc11/m68hc11.opt:45
++msgid "Compile for a 68HCS12"
++msgstr "Kompilera för en 68HCS12"
++
++#: config/m68hc11/m68hc11.opt:49
++msgid "Auto pre/post decrement increment allowed"
++msgstr "Automatisk för-/efterdekrementering -inkrementering tillåtna"
++
++#: config/m68hc11/m68hc11.opt:53
++msgid "Min/max instructions allowed"
++msgstr "Min-/maxinstruktioner tillåtna"
++
++#: config/m68hc11/m68hc11.opt:57
++msgid "Use call and rtc for function calls and returns"
++msgstr "Använd call och rtc för funktionsanrop och returer"
++
++#: config/m68hc11/m68hc11.opt:61
++msgid "Auto pre/post decrement increment not allowed"
++msgstr "Automatisk för-/efterdekrementering -inkrementering inte tillåtna"
++
++#: config/m68hc11/m68hc11.opt:65
++msgid "Use jsr and rts for function calls and returns"
++msgstr "Använd jsr och rts för funktionsanrop och returer"
++
++#: config/m68hc11/m68hc11.opt:69
++msgid "Min/max instructions not allowed"
++msgstr "Min-/maxinstruktioner inte tillåtna"
++
++#: config/m68hc11/m68hc11.opt:73
++msgid "Use direct addressing mode for soft registers"
++msgstr "Använd direkt adresseringsläge förmjuka register"
++
++#: config/m68hc11/m68hc11.opt:77
++msgid "Compile with 32-bit integer mode"
++msgstr "Kompilera med 32-bitars heltalsläge"
++
++#: config/m68hc11/m68hc11.opt:82
++msgid "Specify the register allocation order"
++msgstr "Ange registerallokeringsordningen"
++
++#: config/m68hc11/m68hc11.opt:86
++msgid "Do not use direct addressing mode for soft registers"
++msgstr "Använd inte direkt adresseringsläge för mjuka register"
++
++#: config/m68hc11/m68hc11.opt:90
++msgid "Compile with 16-bit integer mode"
++msgstr "Kompilera med 16-bitars heltalsläge"
++
++#: config/m68hc11/m68hc11.opt:94
++msgid "Indicate the number of soft registers available"
++msgstr "Indikera antalet tillgängliga mjuka register"
++
++#: config/fr30/fr30.opt:23
++msgid "Assume small address space"
++msgstr "Anta liten adressrymd"
++
++#: config/sparc/little-endian.opt:23
++msgid "Generate code for little-endian"
++msgstr "Generera kod för omvänd byteordning"
++
++#: config/sparc/little-endian.opt:27
++msgid "Generate code for big-endian"
++msgstr "Generera kod för rak byteordning"
++
++# fixme: fp = flyttal, men hur skall man skriva det. Förkortat eller FPU?
++#: config/sparc/sparc.opt:23 config/sparc/sparc.opt:27
++msgid "Use hardware FP"
++msgstr "Använd hårdvaru-fp"
++
++#: config/sparc/sparc.opt:31
++msgid "Do not use hardware FP"
++msgstr "Använd inte hårdvaru-fp"
++
++#: config/sparc/sparc.opt:35
++msgid "Assume possible double misalignment"
++msgstr "Anta möjlig feljustering av double"
++
++#: config/sparc/sparc.opt:39
++msgid "Pass -assert pure-text to linker"
++msgstr "Skicka -assert pure-text till länkaren"
++
++#: config/sparc/sparc.opt:43
++msgid "Use ABI reserved registers"
++msgstr "Använd register reserverade av ABI"
++
++#: config/sparc/sparc.opt:47
++msgid "Use hardware quad FP instructions"
++msgstr "Använd hårdvaruinstruktioner för quad fp"
++
++#: config/sparc/sparc.opt:51
++msgid "Do not use hardware quad fp instructions"
++msgstr "Använd inte hårdvaruinstruktioner för quad fp"
++
++#: config/sparc/sparc.opt:55
++msgid "Compile for V8+ ABI"
++msgstr "Kompilera för V8+-ABI"
++
++#: config/sparc/sparc.opt:59
++msgid "Use UltraSPARC Visual Instruction Set extensions"
++msgstr "Utnyttja UltraSPARC-utökningarna Visual Instruction Set"
++
++#: config/sparc/sparc.opt:63
++msgid "Pointers are 64-bit"
++msgstr "Pekare är 64-bitars"
++
++#: config/sparc/sparc.opt:67
++msgid "Pointers are 32-bit"
++msgstr "Pekare är 32-bitars"
++
++#: config/sparc/sparc.opt:71
++msgid "Use 64-bit ABI"
++msgstr "Använd 64-bitars ABI"
++
++#: config/sparc/sparc.opt:75
++msgid "Use 32-bit ABI"
++msgstr "Använd 32-bitars ABI"
++
++#: config/sparc/sparc.opt:79
++msgid "Use stack bias"
++msgstr "Använd stackförskjutning"
++
++#: config/sparc/sparc.opt:83
++msgid "Use structs on stronger alignment for double-word copies"
++msgstr "Använd starkare justering för poster för dubbelordkopieringar"
++
++#: config/sparc/sparc.opt:87
++msgid "Optimize tail call instructions in assembler and linker"
++msgstr "Optimera svansanropsinstruktioner i assembler och länkare"
++
++#: config/sparc/sparc.opt:99
++msgid "Use given SPARC-V9 code model"
++msgstr "Använd angiven SPARC-V9-kodmodell"
++
++#: config/sparc/sparc.opt:103
++msgid "Enable strict 32-bit psABI struct return checking."
++msgstr "Aktivera strikt 32-bits psABI-kontroller av postreturer."
++
++#: config/sh/superh.opt:6
++msgid "Board name [and memory region]."
++msgstr "Brädesnamn [och minnesregion]."
++
++#: config/sh/superh.opt:10
++msgid "Runtime name."
++msgstr "Körtidsnamn."
++
+ #: config/sh/sh.opt:44
+ msgid "Generate SH1 code"
+ msgstr "Generera SH1-kod"
+@@ -13397,467 +14155,18 @@
+ msgid "Pretend a branch-around-a-move is a conditional move."
+ msgstr "Låtsas en gren-runt-en-förflyttning är en villkorlig förflyttning."
+
+-#: config/sh/superh.opt:6
+-msgid "Board name [and memory region]."
+-msgstr "Brädesnamn [och minnesregion]."
++#: config/vxworks.opt:24
++msgid "Assume the VxWorks RTP environment"
++msgstr "Anta miljön VxWorks RTP"
+
+-#: config/sh/superh.opt:10
+-msgid "Runtime name."
+-msgstr "Körtidsnamn."
++#: config/vxworks.opt:31
++msgid "Assume the VxWorks vThreads environment"
++msgstr "Anta miljön VxWorks vThreads"
+
+-#: config/arm/arm.opt:23
+-msgid "Specify an ABI"
+-msgstr "Ange ett ABI"
++#: config/mips/sdemtk.opt:23
++msgid "Prevent the use of all floating-point operations"
++msgstr "Förhindra användningen av alla flyttalsoperationer"
+
+-#: config/arm/arm.opt:27
+-msgid "Generate a call to abort if a noreturn function returns"
+-msgstr "Generera ett anrop till abort om en noreturn-funktion returnerar"
+-
+-#: config/arm/arm.opt:34
+-msgid "Pass FP arguments in FP registers"
+-msgstr "Skicka FP-argument i FP-register"
+-
+-#: config/arm/arm.opt:38
+-msgid "Generate APCS conformant stack frames"
+-msgstr "Generera stackramar enligt APCS"
+-
+-#: config/arm/arm.opt:42
+-msgid "Generate re-entrant, PIC code"
+-msgstr "Generera återstartbar, PIC-kod"
+-
+-#: config/arm/arm.opt:56
+-msgid "Assume target CPU is configured as big endian"
+-msgstr "Antag att mål-CPU:n är konfigurerad för rak byteordning"
+-
+-#: config/arm/arm.opt:60
+-msgid "Thumb: Assume non-static functions may be called from ARM code"
+-msgstr "Thumb: Anta att icke-statiska funktioner kan anropas från ARM-kod"
+-
+-#: config/arm/arm.opt:64
+-msgid "Thumb: Assume function pointers may go to non-Thumb aware code"
+-msgstr "Thumb: Anta att funktionspekare kan gå till icke-Thumb-medveten kod"
+-
+-#: config/arm/arm.opt:68
+-msgid "Cirrus: Place NOPs to avoid invalid instruction combinations"
+-msgstr "Cirrus: Placera NOP:ar för att undvika ogiltiga instruktionskombinationer"
+-
+-#: config/arm/arm.opt:72 config/bfin/bfin.opt:27
+-msgid "Specify the name of the target CPU"
+-msgstr "Ange namnet på målprocessorn"
+-
+-#: config/arm/arm.opt:76
+-msgid "Specify if floating point hardware should be used"
+-msgstr "Ange om flyttalshårdvara skall användas"
+-
+-#: config/arm/arm.opt:90
+-msgid "Specify the name of the target floating point hardware/format"
+-msgstr "Ange namnet på målets flyttalshårdvara/-format"
+-
+-#: config/arm/arm.opt:94
+-msgid "Alias for -mfloat-abi=hard"
+-msgstr "Alias för -mfloat-abi=hard"
+-
+-#: config/arm/arm.opt:98
+-msgid "Assume target CPU is configured as little endian"
+-msgstr "Antag att mål-CPU:n är konfigurerad med omvänd byteordning"
+-
+-#: config/arm/arm.opt:102
+-msgid "Generate call insns as indirect calls, if necessary"
+-msgstr "Generera anropsinstruktioner som indirekta anrop, om nödvändigt"
+-
+-#: config/arm/arm.opt:106
+-msgid "Specify the register to be used for PIC addressing"
+-msgstr "Ange registret som skall användas för PIC-adressering"
+-
+-#: config/arm/arm.opt:110
+-msgid "Store function names in object code"
+-msgstr "Lagra funktionsnamn i objektkod"
+-
+-#: config/arm/arm.opt:114
+-msgid "Permit scheduling of a function's prologue sequence"
+-msgstr "Tillåt schemaläggning av en funktions prologsekvens"
+-
+-#: config/arm/arm.opt:118
+-msgid "Do not load the PIC register in function prologues"
+-msgstr "Ladda inte PIC-registret i funktionsprologer"
+-
+-#: config/arm/arm.opt:122
+-msgid "Alias for -mfloat-abi=soft"
+-msgstr "Alias för -mfloat-abi=soft"
+-
+-#: config/arm/arm.opt:126
+-msgid "Specify the minimum bit alignment of structures"
+-msgstr "Ange den minsta justeringen i bitar för poster"
+-
+-#: config/arm/arm.opt:130
+-msgid "Compile for the Thumb not the ARM"
+-msgstr "Kompilera för Thumb, inte ARM"
+-
+-#: config/arm/arm.opt:134
+-msgid "Support calls between Thumb and ARM instruction sets"
+-msgstr "Stöd anrop mellan Thumb- och ARM-instruktionsuppsättningar"
+-
+-#: config/arm/arm.opt:138
+-msgid "Specify how to access the thread pointer"
+-msgstr "Ange hur trådpekaren skall nås"
+-
+-#: config/arm/arm.opt:142
+-msgid "Thumb: Generate (non-leaf) stack frames even if not needed"
+-msgstr "Thumb: Generera (icke-löv-)stackramar även om de inte behövs"
+-
+-#: config/arm/arm.opt:146
+-msgid "Thumb: Generate (leaf) stack frames even if not needed"
+-msgstr "Thumb: Generera (löv)stackramar även om de inte behövs"
+-
+-#: config/arm/arm.opt:150
+-msgid "Tune code for the given processor"
+-msgstr "Trimma koden för den angivna processorn"
+-
+-#: config/arm/arm.opt:154
+-msgid "Assume big endian bytes, little endian words"
+-msgstr "Antag att byte har rak byteordning, ord har omvänd byteordning"
+-
+-#: config/arm/arm.opt:158
+-msgid "Use Neon quad-word (rather than double-word) registers for vectorization"
+-msgstr "Använd Neons quad-ord- (snarare än dubbelord-)register för vektoriseringar"
+-
+-#: config/arm/pe.opt:23
+-msgid "Ignore dllimport attribute for functions"
+-msgstr "Ignorera attributet dllimport för funktioner"
+-
+-#: config/pdp11/pdp11.opt:23
+-msgid "Generate code for an 11/10"
+-msgstr "Generera kod för 11/10"
+-
+-#: config/pdp11/pdp11.opt:27
+-msgid "Generate code for an 11/40"
+-msgstr "Generera kod för 11/40"
+-
+-#: config/pdp11/pdp11.opt:31
+-msgid "Generate code for an 11/45"
+-msgstr "Generera kod för 11/45"
+-
+-#: config/pdp11/pdp11.opt:35
+-msgid "Use 16-bit abs patterns"
+-msgstr "Använd 16-bitars abs-mönster"
+-
+-#: config/pdp11/pdp11.opt:39
+-msgid "Return floating-point results in ac0 (fr0 in Unix assembler syntax)"
+-msgstr "Returnera flyttalsresultat i ac0 (fr0 i assemblersyntax för Unix)"
+-
+-#: config/pdp11/pdp11.opt:43
+-msgid "Do not use inline patterns for copying memory"
+-msgstr "Använd inte inline-mönster för att kopiera minne"
+-
+-#: config/pdp11/pdp11.opt:47
+-msgid "Use inline patterns for copying memory"
+-msgstr "Använd inline-mönster för att kopiera minne"
+-
+-#: config/pdp11/pdp11.opt:51
+-msgid "Do not pretend that branches are expensive"
+-msgstr "Låtsas inte att grenar är dyra"
+-
+-#: config/pdp11/pdp11.opt:55
+-msgid "Pretend that branches are expensive"
+-msgstr "Låtsas att grenar är dyra"
+-
+-#: config/pdp11/pdp11.opt:59
+-msgid "Use the DEC assembler syntax"
+-msgstr "Använd assemblersyntax för DEC"
+-
+-#: config/pdp11/pdp11.opt:63
+-msgid "Use 32 bit float"
+-msgstr "Använd 32 bits float"
+-
+-#: config/pdp11/pdp11.opt:67
+-msgid "Use 64 bit float"
+-msgstr "Använd 64 bits float"
+-
+-#: config/pdp11/pdp11.opt:75
+-msgid "Use 16 bit int"
+-msgstr "Använd 16 bits int"
+-
+-#: config/pdp11/pdp11.opt:79
+-msgid "Use 32 bit int"
+-msgstr "Använd 32 bits int"
+-
+-#: config/pdp11/pdp11.opt:87
+-msgid "Target has split I&D"
+-msgstr "Målet har uppdelat I&D"
+-
+-#: config/pdp11/pdp11.opt:91
+-msgid "Use UNIX assembler syntax"
+-msgstr "Använd assemblersyntax för UNIX"
+-
+-#: config/avr/avr.opt:23
+-msgid "Use subroutines for function prologues and epilogues"
+-msgstr "Använd subrutiner för funktionprologer och -epiloger"
+-
+-#: config/avr/avr.opt:27
+-msgid "Select the target MCU"
+-msgstr "Välj mål-MCU:n"
+-
+-#: config/avr/avr.opt:34
+-msgid "Use an 8-bit 'int' type"
+-msgstr "Använd en 8-bitars \"int\"-typ"
+-
+-#: config/avr/avr.opt:38
+-msgid "Change the stack pointer without disabling interrupts"
+-msgstr "Ändra stackpekaren utan att avaktivera avbrott"
+-
+-#: config/avr/avr.opt:42
+-msgid "Do not generate tablejump insns"
+-msgstr "Generera inte tabellhoppinstruktioner"
+-
+-#: config/avr/avr.opt:52
+-msgid "Use rjmp/rcall (limited range) on >8K devices"
+-msgstr "Använd rjmp/rcall (begränsat intervall) på enheter >8k"
+-
+-#: config/avr/avr.opt:56
+-msgid "Output instruction sizes to the asm file"
+-msgstr "Mata ut instruktionsstorlekar till asm-filen"
+-
+-#: config/avr/avr.opt:60
+-msgid "Change only the low 8 bits of the stack pointer"
+-msgstr "Ändra endast de låga 8 bitarna av stackpekaren"
+-
+-#: config/crx/crx.opt:23
+-msgid "Support multiply accumulate instructions"
+-msgstr "Stöd multiplikations-ackumulerings-instruktioner"
+-
+-#: config/crx/crx.opt:27
+-msgid "Do not use push to store function arguments"
+-msgstr "Använd inte push för att lagra funktionsargument"
+-
+-#: config/crx/crx.opt:31
+-msgid "Restrict doloop to the given nesting level"
+-msgstr "Begränsa doloop till den givna nästningsnivån"
+-
+-#: config/c4x/c4x.opt:23
+-msgid "Generate code for C30 CPU"
+-msgstr "Generera kod för CPU C30"
+-
+-#: config/c4x/c4x.opt:27
+-msgid "Generate code for C31 CPU"
+-msgstr "Generera kod för CPU C31"
+-
+-#: config/c4x/c4x.opt:31
+-msgid "Generate code for C32 CPU"
+-msgstr "Generera kod för CPU C32"
+-
+-#: config/c4x/c4x.opt:35
+-msgid "Generate code for C33 CPU"
+-msgstr "Generera kod för CPU C33"
+-
+-#: config/c4x/c4x.opt:39
+-msgid "Generate code for C40 CPU"
+-msgstr "Generera kod för CPU C40"
+-
+-#: config/c4x/c4x.opt:43
+-msgid "Generate code for C44 CPU"
+-msgstr "Generera kod för CPU C44"
+-
+-#: config/c4x/c4x.opt:47
+-msgid "Assume that pointers may be aliased"
+-msgstr "Anta att pekare kan ha alias"
+-
+-#: config/c4x/c4x.opt:51
+-msgid "Big memory model"
+-msgstr "Stor minnesmodell"
+-
+-#: config/c4x/c4x.opt:55
+-msgid "Use the BK register as a general purpose register"
+-msgstr "Använd BK-registret som ett allmänt register"
+-
+-#: config/c4x/c4x.opt:59
+-msgid "Generate code for CPU"
+-msgstr "Generera kod för CPU"
+-
+-#: config/c4x/c4x.opt:63
+-msgid "Enable use of DB instruction"
+-msgstr "Aktivera användning av DB-instruktion"
+-
+-#: config/c4x/c4x.opt:67
+-msgid "Enable debugging"
+-msgstr "Aktivera felsökning"
+-
+-#: config/c4x/c4x.opt:71
+-msgid "Enable new features under development"
+-msgstr "Aktivera nya funktioner under utveckling"
+-
+-#: config/c4x/c4x.opt:75
+-msgid "Use fast but approximate float to integer conversion"
+-msgstr "Använd snabb men ungefärlig flyttal till heltalskonvertering"
+-
+-#: config/c4x/c4x.opt:79
+-msgid "Force RTL generation to emit valid 3 operand insns"
+-msgstr "Tvinga RTL-genereringen att mata ut giltiga 3-operandinstruktioner"
+-
+-#: config/c4x/c4x.opt:83
+-msgid "Force constants into registers to improve hoisting"
+-msgstr "Tvinga in konstanter i register för att förbättra upphissning"
+-
+-#: config/c4x/c4x.opt:87 config/c4x/c4x.opt:111
+-msgid "Save DP across ISR in small memory model"
+-msgstr "Spara DP över ISR i liten minnesmodell"
+-
+-#: config/c4x/c4x.opt:91
+-msgid "Allow unsigned iteration counts for RPTB/DB"
+-msgstr "Tillåt iterationsräknare utan tecken för RPTB/DB"
+-
+-#: config/c4x/c4x.opt:95
+-msgid "Pass arguments on the stack"
+-msgstr "Skicka argument på stacken"
+-
+-#: config/c4x/c4x.opt:99
+-msgid "Use MPYI instruction for C3x"
+-msgstr "Använd MPYI-instruktion för C3x"
+-
+-#: config/c4x/c4x.opt:103
+-msgid "Enable parallel instructions"
+-msgstr "Aktivera parallella instruktioner"
+-
+-#: config/c4x/c4x.opt:107
+-msgid "Enable MPY||ADD and MPY||SUB instructions"
+-msgstr "Aktivera MPY||ADD- och MPY||SUB-instruktioner"
+-
+-#: config/c4x/c4x.opt:115
+-msgid "Preserve all 40 bits of FP reg across call"
+-msgstr "Bevara alla 40 bitarna av FP-register över anrop"
+-
+-#: config/c4x/c4x.opt:119
+-msgid "Pass arguments in registers"
+-msgstr "Skicka argument i register"
+-
+-#: config/c4x/c4x.opt:123
+-msgid "Enable use of RTPB instruction"
+-msgstr "Aktivera användning av RTPB-instruktion"
+-
+-#: config/c4x/c4x.opt:127
+-msgid "Enable use of RTPS instruction"
+-msgstr "Aktivera användning av RTPS-instruktion"
+-
+-#: config/c4x/c4x.opt:131
+-msgid "Set the maximum number of iterations for RPTS to N"
+-msgstr "Sätt maximalt antal iterationer för RPTS till N"
+-
+-#: config/c4x/c4x.opt:135
+-msgid "Small memory model"
+-msgstr "Liten minnesmodell"
+-
+-#: config/c4x/c4x.opt:139
+-msgid "Emit code compatible with TI tools"
+-msgstr "Mata ut kod kompatibel med TI-verktyg"
+-
+-#: config/pa/pa-hpux.opt:23
+-msgid "Generate cpp defines for server IO"
+-msgstr "Generera cpp-definitioner för server-IO"
+-
+-#: config/pa/pa-hpux.opt:27 config/pa/pa-hpux1010.opt:23
+-#: config/pa/pa-hpux1111.opt:23
+-msgid "Specify UNIX standard for predefines and linking"
+-msgstr "Ange UNIX-standard för fördefinitioner och länkning"
+-
+-#: config/pa/pa-hpux.opt:31
+-msgid "Generate cpp defines for workstation IO"
+-msgstr "Generera cpp-definitioner för arbetsstations-IO"
+-
+-#: config/pa/pa.opt:23 config/pa/pa.opt:76 config/pa/pa.opt:84
+-msgid "Generate PA1.0 code"
+-msgstr "Generera PA1.0-kod"
+-
+-#: config/pa/pa.opt:27 config/pa/pa.opt:88 config/pa/pa.opt:108
+-msgid "Generate PA1.1 code"
+-msgstr "Generera PA1.1-kod"
+-
+-#: config/pa/pa.opt:31 config/pa/pa.opt:92
+-msgid "Generate PA2.0 code (requires binutils 2.10 or later)"
+-msgstr "Generera kod för PA2.0 (kräver binutils 2.10 eller senare)"
+-
+-#: config/pa/pa.opt:35
+-msgid "Generate code for huge switch statements"
+-msgstr "Generera kod för stora switch-satser"
+-
+-#: config/pa/pa.opt:39
+-msgid "Disable FP regs"
+-msgstr "Avaktivera FP-register"
+-
+-#: config/pa/pa.opt:43
+-msgid "Disable indexed addressing"
+-msgstr "Avaktivera indexerad adressering"
+-
+-#: config/pa/pa.opt:47
+-msgid "Generate fast indirect calls"
+-msgstr "Generera snabba indirekta anrop"
+-
+-#: config/pa/pa.opt:55
+-msgid "Assume code will be assembled by GAS"
+-msgstr "Anta att kod kommer assembleras av GAS"
+-
+-#: config/pa/pa.opt:59
+-msgid "Put jumps in call delay slots"
+-msgstr "Placera hopp i fördröjda anropsfack"
+-
+-#: config/pa/pa.opt:64
+-msgid "Enable linker optimizations"
+-msgstr "Aktivera länkningsoptimeringar"
+-
+-#: config/pa/pa.opt:68
+-msgid "Always generate long calls"
+-msgstr "Generera alltid långa anrop"
+-
+-#: config/pa/pa.opt:72
+-msgid "Emit long load/store sequences"
+-msgstr "Mata ut långa load-/store-sekvenser"
+-
+-#: config/pa/pa.opt:80
+-msgid "Disable space regs"
+-msgstr "Avaktivera utrymmesregister"
+-
+-#: config/pa/pa.opt:96
+-msgid "Use portable calling conventions"
+-msgstr "Använd portabla anropskonventioner"
+-
+-#: config/pa/pa.opt:100
+-msgid "Specify CPU for scheduling purposes. Valid arguments are 700, 7100, 7100LC, 7200, 7300, and 8000"
+-msgstr "Ange CPU för schemaläggningsändamål. Giltiga argument är 700, 7100, 7100LC, 7200, 7300 och 8000"
+-
+-#: config/pa/pa.opt:112
+-msgid "Do not disable space regs"
+-msgstr "Avaktivera inte utrymmesregister"
+-
+-#: config/pa/pa64-hpux.opt:23
+-msgid "Assume code will be linked by GNU ld"
+-msgstr "Anta kod kommer länkas av GNU ld"
+-
+-#: config/pa/pa64-hpux.opt:27
+-msgid "Assume code will be linked by HP ld"
+-msgstr "Anta kod kommer länkas av HP ld"
+-
+-#: config/xtensa/xtensa.opt:23
+-msgid "Use CONST16 instruction to load constants"
+-msgstr "Använd CONST16-instruktioner för att läsa konstanter"
+-
+-#: config/xtensa/xtensa.opt:27
+-msgid "Enable fused multiply/add and multiply/subtract FP instructions"
+-msgstr "Aktivera sammanslagna multiplikations/additions- och multiplikations/subtraktions-FP-instruktioner"
+-
+-#: config/xtensa/xtensa.opt:31
+-msgid "Use indirect CALLXn instructions for large programs"
+-msgstr "Använd indirekta CALLXn-instruktioner för stora program"
+-
+-#: config/xtensa/xtensa.opt:35
+-msgid "Automatically align branch targets to reduce branch penalties"
+-msgstr "Justera automatiskt grenmål för att reducera grenstraff"
+-
+-#: config/xtensa/xtensa.opt:39
+-msgid "Intersperse literal pools with code in the text section"
+-msgstr "Växla mellan bokstavliga pooler och kod i textsektionen"
+-
+-#: config/stormy16/stormy16.opt:24
+-msgid "Provide libraries for the simulator"
+-msgstr "Tillhandahåll bibliotek för simulatorn"
+-
+ #: config/mips/mips.opt:23
+ msgid "Generate code that conforms to the given ABI"
+ msgstr "Generera kod som följer det angivna ABI:et"
+@@ -13926,10 +14235,6 @@
+ msgid "Use little-endian byte order"
+ msgstr "Använd omvänd byteordning"
+
+-#: config/mips/mips.opt:97 config/iq2000/iq2000.opt:31
+-msgid "Use ROM instead of RAM"
+-msgstr "Använd ROM istället för RAM"
+-
+ #: config/mips/mips.opt:101
+ msgid "Use NewABI-style %reloc() assembly operators"
+ msgstr "Använd assembleroperator %reloc() i NewABI-stil"
+@@ -14094,10 +14399,6 @@
+ msgid "Optimize the output for PROCESSOR"
+ msgstr "Optimera utmatning för PROCESSOR"
+
+-#: config/mips/mips.opt:265 config/iq2000/iq2000.opt:44
+-msgid "Put uninitialized constants in ROM (needs -membedded-data)"
+-msgstr "Placera oinitierade konstanter i ROM (kräver -membedded-data)"
+-
+ #: config/mips/mips.opt:269
+ msgid "Perform VR4130-specific alignment optimizations"
+ msgstr "Utför VR4130-specifik justeringsoptimering"
+@@ -14106,366 +14407,6 @@
+ msgid "Lift restrictions on GOT size"
+ msgstr "Lyft restriktioner på GOT-storlek"
+
+-#: config/mips/sdemtk.opt:23
+-msgid "Prevent the use of all floating-point operations"
+-msgstr "Förhindra användningen av alla flyttalsoperationer"
+-
+-#: config/fr30/fr30.opt:23
+-msgid "Assume small address space"
+-msgstr "Anta liten adressrymd"
+-
+-#: config/m68hc11/m68hc11.opt:23 config/m68hc11/m68hc11.opt:31
+-msgid "Compile for a 68HC11"
+-msgstr "Kompilera för en 68HC11"
+-
+-#: config/m68hc11/m68hc11.opt:27 config/m68hc11/m68hc11.opt:35
+-msgid "Compile for a 68HC12"
+-msgstr "Kompilera för en 68HC12"
+-
+-#: config/m68hc11/m68hc11.opt:41 config/m68hc11/m68hc11.opt:45
+-msgid "Compile for a 68HCS12"
+-msgstr "Kompilera för en 68HCS12"
+-
+-#: config/m68hc11/m68hc11.opt:49
+-msgid "Auto pre/post decrement increment allowed"
+-msgstr "Automatisk för-/efterdekrementering -inkrementering tillåtna"
+-
+-#: config/m68hc11/m68hc11.opt:53
+-msgid "Min/max instructions allowed"
+-msgstr "Min-/maxinstruktioner tillåtna"
+-
+-#: config/m68hc11/m68hc11.opt:57
+-msgid "Use call and rtc for function calls and returns"
+-msgstr "Använd call och rtc för funktionsanrop och returer"
+-
+-#: config/m68hc11/m68hc11.opt:61
+-msgid "Auto pre/post decrement increment not allowed"
+-msgstr "Automatisk för-/efterdekrementering -inkrementering inte tillåtna"
+-
+-#: config/m68hc11/m68hc11.opt:65
+-msgid "Use jsr and rts for function calls and returns"
+-msgstr "Använd jsr och rts för funktionsanrop och returer"
+-
+-#: config/m68hc11/m68hc11.opt:69
+-msgid "Min/max instructions not allowed"
+-msgstr "Min-/maxinstruktioner inte tillåtna"
+-
+-#: config/m68hc11/m68hc11.opt:73
+-msgid "Use direct addressing mode for soft registers"
+-msgstr "Använd direkt adresseringsläge förmjuka register"
+-
+-#: config/m68hc11/m68hc11.opt:77
+-msgid "Compile with 32-bit integer mode"
+-msgstr "Kompilera med 32-bitars heltalsläge"
+-
+-#: config/m68hc11/m68hc11.opt:82
+-msgid "Specify the register allocation order"
+-msgstr "Ange registerallokeringsordningen"
+-
+-#: config/m68hc11/m68hc11.opt:86
+-msgid "Do not use direct addressing mode for soft registers"
+-msgstr "Använd inte direkt adresseringsläge för mjuka register"
+-
+-#: config/m68hc11/m68hc11.opt:90
+-msgid "Compile with 16-bit integer mode"
+-msgstr "Kompilera med 16-bitars heltalsläge"
+-
+-#: config/m68hc11/m68hc11.opt:94
+-msgid "Indicate the number of soft registers available"
+-msgstr "Indikera antalet tillgängliga mjuka register"
+-
+-#: config/vax/vax.opt:23 config/vax/vax.opt:27
+-msgid "Target DFLOAT double precision code"
+-msgstr "Sikta på DFLOAT-dubbelprecisionskod"
+-
+-#: config/vax/vax.opt:31 config/vax/vax.opt:35
+-msgid "Generate GFLOAT double precision code"
+-msgstr "Generera GFLOAT-dubbelprecisionskod"
+-
+-#: config/vax/vax.opt:39
+-msgid "Generate code for GNU assembler (gas)"
+-msgstr "Generera kod för GNU-assembler (gas)"
+-
+-#: config/vax/vax.opt:43
+-msgid "Generate code for UNIX assembler"
+-msgstr "Generera kod för UNIX-assembler"
+-
+-#: config/vax/vax.opt:47
+-msgid "Use VAXC structure conventions"
+-msgstr "Använd VAXC:s konventioner för struct"
+-
+-#: config/cris/linux.opt:27
+-msgid "Together with -fpic and -fPIC, do not use GOTPLT references"
+-msgstr "Tillsammans med -fpic och -fPIC, använd inte GOTPLT-referenser"
+-
+-#: config/cris/cris.opt:45
+-msgid "Work around bug in multiplication instruction"
+-msgstr "Gå runt fel i multiplikationsinstruktion"
+-
+-#: config/cris/cris.opt:51
+-msgid "Compile for ETRAX 4 (CRIS v3)"
+-msgstr "Kompilera för ETRAX 4 (CRIS v3)"
+-
+-#: config/cris/cris.opt:56
+-msgid "Compile for ETRAX 100 (CRIS v8)"
+-msgstr "Kompilera för ETRAX 100 (CRIS v8)"
+-
+-#: config/cris/cris.opt:64
+-msgid "Emit verbose debug information in assembly code"
+-msgstr "Mata ut utförlig felsökningsinformation i assemblerkod"
+-
+-#: config/cris/cris.opt:71
+-msgid "Do not use condition codes from normal instructions"
+-msgstr "Använd inte tillståndskoder från normala instruktioner"
+-
+-#: config/cris/cris.opt:80
+-msgid "Do not emit addressing modes with side-effect assignment"
+-msgstr "Mata inte ut adresseringssätt med sidoeffekttilldelning"
+-
+-#: config/cris/cris.opt:89
+-msgid "Do not tune stack alignment"
+-msgstr "Trimma inte stackjustering"
+-
+-#: config/cris/cris.opt:98
+-msgid "Do not tune writable data alignment"
+-msgstr "Trimma inte justering för skrivbar data"
+-
+-#: config/cris/cris.opt:107
+-msgid "Do not tune code and read-only data alignment"
+-msgstr "Trimma inte justering för kod och endast läsbar data"
+-
+-#: config/cris/cris.opt:116
+-msgid "Align code and data to 32 bits"
+-msgstr "Justera kod och data till 32 bitar"
+-
+-#: config/cris/cris.opt:133
+-msgid "Don't align items in code or data"
+-msgstr "Justera inte element i kod och data"
+-
+-#: config/cris/cris.opt:142
+-msgid "Do not emit function prologue or epilogue"
+-msgstr "Mata inte ut funktionsprolog eller -epilog"
+-
+-#: config/cris/cris.opt:149
+-msgid "Use the most feature-enabling options allowed by other options"
+-msgstr "Använd de flaggor bland övriga flaggor som slår på flest funktioner"
+-
+-#: config/cris/cris.opt:158
+-msgid "Override -mbest-lib-options"
+-msgstr "Åsidosätt -mbest-lib-options"
+-
+-#: config/cris/cris.opt:165
+-msgid "Generate code for the specified chip or CPU version"
+-msgstr "Generera kod för det angivna chip:et eller CPU-versionen"
+-
+-#: config/cris/cris.opt:169
+-msgid "Tune alignment for the specified chip or CPU version"
+-msgstr "Trimma justering för det angivna chip:et eller CPU-versionen"
+-
+-#: config/cris/cris.opt:173
+-msgid "Warn when a stackframe is larger than the specified size"
+-msgstr "Varna när en stackram är större än den angivna storleken"
+-
+-#: config/cris/aout.opt:27
+-msgid "Compile for the MMU-less Etrax 100-based elinux system"
+-msgstr "Kompilera för Etrax 100-baserade elinussystem utan MMU"
+-
+-#: config/cris/aout.opt:33
+-msgid "For elinux, request a specified stack-size for this program"
+-msgstr "För elinux, begär en specificerad stackstorlek för detta program"
+-
+-#: config/h8300/h8300.opt:23
+-msgid "Generate H8S code"
+-msgstr "Generera H8S-kod"
+-
+-#: config/h8300/h8300.opt:27
+-msgid "Generate H8SX code"
+-msgstr "Generera H8SX-kod"
+-
+-#: config/h8300/h8300.opt:31
+-msgid "Generate H8S/2600 code"
+-msgstr "Generera H8S/2600-kod"
+-
+-#: config/h8300/h8300.opt:35
+-msgid "Make integers 32 bits wide"
+-msgstr "Gör heltal 32 bitar stora"
+-
+-#: config/h8300/h8300.opt:42
+-msgid "Use registers for argument passing"
+-msgstr "Använd register för argumentskickning"
+-
+-#: config/h8300/h8300.opt:46
+-msgid "Consider access to byte sized memory slow"
+-msgstr "Betrakta åtkomst till bytestort minne som långsam"
+-
+-#: config/h8300/h8300.opt:50
+-msgid "Enable linker relaxing"
+-msgstr "Aktivera länkaravslappning"
+-
+-#: config/h8300/h8300.opt:54
+-msgid "Generate H8/300H code"
+-msgstr "Generera H8/300H-kod"
+-
+-#: config/h8300/h8300.opt:58
+-msgid "Enable the normal mode"
+-msgstr "Aktivera normalt läge"
+-
+-#: config/h8300/h8300.opt:62
+-msgid "Use H8/300 alignment rules"
+-msgstr "Använd H8/300-regler för justering"
+-
+-#: config/v850/v850.opt:23
+-msgid "Use registers r2 and r5"
+-msgstr "Använd registeren r2 och r5"
+-
+-#: config/v850/v850.opt:27
+-msgid "Use 4 byte entries in switch tables"
+-msgstr "Använd 4-byteposter i hopptabeller"
+-
+-#: config/v850/v850.opt:31
+-msgid "Enable backend debugging"
+-msgstr "Aktivera bakändefelsökning"
+-
+-#: config/v850/v850.opt:35
+-msgid "Do not use the callt instruction"
+-msgstr "Använd inte callt-instruktionen"
+-
+-#: config/v850/v850.opt:39
+-msgid "Reuse r30 on a per function basis"
+-msgstr "Återanvänd r30 i varje funktion"
+-
+-#: config/v850/v850.opt:43
+-msgid "Support Green Hills ABI"
+-msgstr "Stöd Green Hills ABI"
+-
+-#: config/v850/v850.opt:47
+-msgid "Prohibit PC relative function calls"
+-msgstr "Förhindra PC-relativa funktionsanrop"
+-
+-#: config/v850/v850.opt:51
+-msgid "Use stubs for function prologues"
+-msgstr "Använd stubbar för funktionsprologer"
+-
+-#: config/v850/v850.opt:55
+-msgid "Set the max size of data eligible for the SDA area"
+-msgstr "Ange den maximala storleken på data som är lämpliga för SDA-arean"
+-
+-#: config/v850/v850.opt:59
+-msgid "Enable the use of the short load instructions"
+-msgstr "Möjliggör användning av de korta load-instruktionerna"
+-
+-#: config/v850/v850.opt:63
+-msgid "Same as: -mep -mprolog-function"
+-msgstr "Samma som: -mep -mprolog-function"
+-
+-#: config/v850/v850.opt:67
+-msgid "Set the max size of data eligible for the TDA area"
+-msgstr "Ange den maximala storleken på data som är lämpliga för TDA-arean"
+-
+-#: config/v850/v850.opt:71
+-msgid "Enforce strict alignment"
+-msgstr "Framtvinga strikt justering"
+-
+-#: config/v850/v850.opt:78
+-msgid "Compile for the v850 processor"
+-msgstr "Kompilera för processorn v850"
+-
+-#: config/v850/v850.opt:82
+-msgid "Compile for the v850e processor"
+-msgstr "Kompilera för processorn v850e"
+-
+-#: config/v850/v850.opt:86
+-msgid "Compile for the v850e1 processor"
+-msgstr "Kompilera för processorn v850e1"
+-
+-#: config/v850/v850.opt:90
+-msgid "Set the max size of data eligible for the ZDA area"
+-msgstr "Ange den maximala storleken på data som är lämpliga för ZDA-arean"
+-
+-#: config/mmix/mmix.opt:24
+-msgid "For intrinsics library: pass all parameters in registers"
+-msgstr "För inbyggt bibliotek: skicka alla parametrar i register"
+-
+-#: config/mmix/mmix.opt:28
+-msgid "Use register stack for parameters and return value"
+-msgstr "Använd registerstacken för parametrar och returvärde"
+-
+-#: config/mmix/mmix.opt:32
+-msgid "Use call-clobbered registers for parameters and return value"
+-msgstr "Använd anropsöverskrivna register för parametrar och returvärde"
+-
+-#: config/mmix/mmix.opt:37
+-msgid "Use epsilon-respecting floating point compare instructions"
+-msgstr "Använd flyttalsjämförelseinstruktioner som respekterar epsilon"
+-
+-#: config/mmix/mmix.opt:41
+-msgid "Use zero-extending memory loads, not sign-extending ones"
+-msgstr "Använd nollutfyllda minnesladdningar, inte teckenutfyllda"
+-
+-#: config/mmix/mmix.opt:45
+-msgid "Generate divide results with reminder having the same sign as the divisor (not the dividend)"
+-msgstr "Generera divisionsresultat så att resten har samma tecken som täljaren (inte nämnaren)"
+-
+-#: config/mmix/mmix.opt:49
+-msgid "Prepend global symbols with \":\" (for use with PREFIX)"
+-msgstr "Inled globala symboler med \":\" (för användning tillsammans med PREFIX)"
+-
+-#: config/mmix/mmix.opt:53
+-msgid "Do not provide a default start-address 0x100 of the program"
+-msgstr "Ge inte en standard startadress 0x100 för programmet"
+-
+-#: config/mmix/mmix.opt:57
+-msgid "Link to emit program in ELF format (rather than mmo)"
+-msgstr "Länka för att skapa program i ELF-format (snarare än mmo)"
+-
+-#: config/mmix/mmix.opt:61
+-msgid "Use P-mnemonics for branches statically predicted as taken"
+-msgstr "Använd P-mnemonics för grenar som statiskt förutsägs tas"
+-
+-#: config/mmix/mmix.opt:65
+-msgid "Don't use P-mnemonics for branches"
+-msgstr "Använd inte P-mnemonics för grenar"
+-
+-#: config/mmix/mmix.opt:79
+-msgid "Use addresses that allocate global registers"
+-msgstr "Använd adresser som allokerar globala register"
+-
+-#: config/mmix/mmix.opt:83
+-msgid "Do not use addresses that allocate global registers"
+-msgstr "Använd inte adresser som allokerar globala register"
+-
+-#: config/mmix/mmix.opt:87
+-msgid "Generate a single exit point for each function"
+-msgstr "Generera en enda utgångspunkt för varje funktion"
+-
+-#: config/mmix/mmix.opt:91
+-msgid "Do not generate a single exit point for each function"
+-msgstr "Generera inte en ensam utgångspunkt för varje funktion"
+-
+-#: config/mmix/mmix.opt:95
+-msgid "Set start-address of the program"
+-msgstr "Ange startadressen för programmet"
+-
+-#: config/mmix/mmix.opt:99
+-msgid "Set start-address of data"
+-msgstr "Sätt startadress för data"
+-
+-#: config/iq2000/iq2000.opt:23 config/mt/mt.opt:55
+-msgid "Specify CPU for code generation purposes"
+-msgstr "Ange CPU för kodgenereringssyften"
+-
+-#: config/iq2000/iq2000.opt:27
+-msgid "Specify CPU for scheduling purposes"
+-msgstr "Ange CPU för schemaläggningssyften"
+-
+-#: config/iq2000/iq2000.opt:35
+-msgid "Use GP relative sdata/sbss sections"
+-msgstr "Använd GP relativt sdata/sbss-sektioner"
+-
+-#: config/iq2000/iq2000.opt:40
+-msgid "No default crt0.o"
+-msgstr "Ingen standard-crt0.o"
+-
+ #: config/bfin/bfin.opt:31
+ msgid "Omit frame pointer for leaf functions"
+ msgstr "Utelämna rampekaren i lövfunktioner"
+@@ -14504,2039 +14445,2062 @@
+ msgid "Do stack checking using bounds in L1 scratch memory"
+ msgstr "Gör stackkontroll med gränser i L1:s fria minne"
+
+-#: config/mt/mt.opt:23
+-msgid "Use byte loads and stores when generating code."
+-msgstr "Använd byte-lastning och -lagring vid kodgenerering."
++#: treelang/lang.opt:30
++msgid "Trace lexical analysis"
++msgstr "Spåra lexikalanalysen"
+
+-#: config/mt/mt.opt:31
+-msgid "Do not include crt0.o in the startup files"
+-msgstr "Inkludera inte crt0.o bland uppstartsfilerna"
++#: treelang/lang.opt:34
++msgid "Trace the parsing process"
++msgstr "Spåra tolkningsprocessen"
+
+-#: config/mt/mt.opt:35 config/mt/mt.opt:39 config/mt/mt.opt:43
+-#: config/mt/mt.opt:47 config/mt/mt.opt:51
+-msgid "Internal debug switch"
+-msgstr "Intern felsökningsflagga"
++#: java/lang.opt:65
++msgid "Warn if a deprecated compiler feature, class, method, or field is used"
++msgstr "Varna för en kompilatorfunktion, klass, metod eller fält som bör undvikas används"
+
+-#: config/vxworks.opt:24
+-msgid "Assume the VxWorks RTP environment"
+-msgstr "Anta miljön VxWorks RTP"
++#: java/lang.opt:69
++msgid "Warn if deprecated empty statements are found"
++msgstr "Varna om tomma satser som bör undvikas finns"
+
+-#: config/vxworks.opt:31
+-msgid "Assume the VxWorks vThreads environment"
+-msgstr "Anta miljön VxWorks vThreads"
++#: java/lang.opt:73
++msgid "Warn if .class files are out of date"
++msgstr "Varna om .class-filer är inaktuella"
+
+-#: config/darwin.opt:23
+-msgid "Generate code suitable for fast turn around debugging"
+-msgstr "Generera kod lämplig för korta felsökningscykler"
++#: java/lang.opt:77
++msgid "Warn if modifiers are specified when not necessary"
++msgstr "Varna om modifierare anges när de inte behövs"
+
+-#: config/darwin.opt:31
+-msgid "The earliest MacOS X version on which this program will run"
+-msgstr "Den tidigaste MacOS X-versionen som detta program kommer köra på"
++#: java/lang.opt:81
++msgid "Deprecated; use --classpath instead"
++msgstr "Avrådes, använd -classpath istället"
+
+-#: config/darwin.opt:35
+-msgid "Set sizeof(bool) to 1"
+-msgstr "Sätt sizeof(bool) till 1"
++#: java/lang.opt:88
++msgid "Permit the use of the assert keyword"
++msgstr "Tillåt användning av nyckelordet assert"
+
+-#: config/darwin.opt:39
+-msgid "Generate code for darwin loadable kernel extensions"
+-msgstr "Generera kod för darwin laddbara kärnutvidgningar"
++#: java/lang.opt:110
++msgid "Replace system path"
++msgstr "Ersätt systemsökvägen"
+
+-#: config/darwin.opt:43
+-msgid "Generate code for the kernel or loadable kernel extensions"
+-msgstr "Generera kod för kärnan eller laddbara kärnutvidgningar"
++#: java/lang.opt:114
++msgid "Generate checks for references to NULL"
++msgstr "Generera kontroller av referenser till NULL"
+
+-#: config/darwin.opt:47
+-msgid "Add <dir> to the end of the system framework include path"
+-msgstr "Lägg till <dir> till slutet av systemramverkets inkluderingssökväg"
++#: java/lang.opt:118
++msgid "Set class path"
++msgstr "Ange klassökväg"
+
+-#: config/lynx.opt:23
+-msgid "Support legacy multi-threading"
+-msgstr "Stöd gammaldags multitrådning"
++#: java/lang.opt:125
++msgid "Output a class file"
++msgstr "Skriv en class-fil"
+
+-#: config/lynx.opt:27
+-msgid "Use shared libraries"
+-msgstr "Använd delade bibliotek"
++#: java/lang.opt:129
++msgid "Alias for -femit-class-file"
++msgstr "Alias för -femit-class-file"
+
+-#: config/lynx.opt:31
+-msgid "Support multi-threading"
+-msgstr "Stöd multitrådning"
++#: java/lang.opt:133
++msgid "Choose input encoding (defaults from your locale)"
++msgstr "Välj inmatningskodning (din lokal används som standard)"
+
+-#: config/score/score.opt:31
+-msgid "Disable bcnz instruction"
+-msgstr "Använd inte instruktionen bcnz"
++#: java/lang.opt:137
++msgid "Set the extension directory path"
++msgstr "Ange katalogsökväg för utökningar"
+
+-#: config/score/score.opt:35
+-msgid "Enable unaligned load/store instruction"
+-msgstr "Aktivera ojusterade load/store-instruktioner"
++#: java/lang.opt:144
++msgid "Input file is a file with a list of filenames to compile"
++msgstr "Indatafil är en fil med en lista på filnamn att kompilera"
+
+-#: config/score/score.opt:39
+-msgid "Support SCORE 5 ISA"
+-msgstr "Stöd SCORE 5 ISA"
++#: java/lang.opt:151
++msgid "Always check for non gcj generated classes archives"
++msgstr "Leta alltid efter klassarkiv ej genererade av gcj"
+
+-#: config/score/score.opt:43
+-msgid "Support SCORE 5U ISA"
+-msgstr "Stöd SCORE 5U ISA"
++#: java/lang.opt:155
++msgid "Assume the runtime uses a hash table to map an object to its synchronization structure"
++msgstr "Anta att en hash-tabell används vid körning för att översätta ett objekt till dess synkroniseringsstruktur"
+
+-#: config/score/score.opt:47
+-msgid "Support SCORE 7 ISA"
+-msgstr "Stöd SCORE 7 ISA"
++#: java/lang.opt:159
++msgid "Generate instances of Class at runtime"
++msgstr "Generera instanser av Class vid körtid"
+
+-#: config/score/score.opt:51
+-msgid "Support SCORE 7D ISA"
+-msgstr "Stöd SCORE 7D ISA"
++#: java/lang.opt:163
++msgid "Use offset tables for virtual method calls"
++msgstr "Använd avståndstabeller för anrop av virtuella metoder"
+
+-#: config/score/score.opt:55
+-msgid "Support SCORE 3 ISA"
+-msgstr "Stöd SCORE 3 ISA"
++#: java/lang.opt:170
++msgid "Assume native functions are implemented using JNI"
++msgstr "Anta att inbyggda funktioner är implementerade med JNI"
+
+-#: config/score/score.opt:59
+-msgid "Support SCORE 3d ISA"
+-msgstr "Stöd SCORE 3d ISA"
++#: java/lang.opt:174
++msgid "Enable optimization of static class initialization code"
++msgstr "Aktivera optimeringar av initieringskod för statiska klasser"
+
+-#: config/linux.opt:24
+-msgid "Use uClibc instead of GNU libc"
+-msgstr "Använd uClibc istället för GNU libc"
++#: java/lang.opt:181
++msgid "Reduce the amount of reflection meta-data generated"
++msgstr "Reducera mängden reflektionsmetadata som genereras"
+
+-#: config/linux.opt:28
+-msgid "Use GNU libc instead of uClibc"
+-msgstr "Använd GNU libc istället för uClibc"
++#: java/lang.opt:185
++msgid "Enable assignability checks for stores into object arrays"
++msgstr "Aktivera kontroll av tilldelningsbarhet för lagring i objektvektorer"
+
+-#: c.opt:41
+-msgid "Assert the <answer> to <question>. Putting '-' before <question> disables the <answer> to <question>"
+-msgstr "Intyga <svar> på <fråga>. Om \"-\" sätts före <fråga> avaktiveras <svar>et till <fråga>n"
++#: java/lang.opt:189
++msgid "Generate code for the Boehm GC"
++msgstr "Generera kod för Boehm GC"
+
+-#: c.opt:45
+-msgid "Do not discard comments"
+-msgstr "Kasta inte kommentarer"
++#: java/lang.opt:193
++msgid "Call a library routine to do integer divisions"
++msgstr "Anropa en biblioteksrutin för att göra heltalsdivisioner"
+
+-#: c.opt:49
+-msgid "Do not discard comments in macro expansions"
+-msgstr "Släng inte kommentarer vid makroexpansioner"
++#: java/lang.opt:197
++msgid "Generated should be loaded by bootstrap loader"
++msgstr "Genererat skall läsas in av uppstartsladdaren"
+
+-#: c.opt:53
+-msgid "Define a <macro> with <val> as its value. If just <macro> is given, <val> is taken to be 1"
+-msgstr "Definiera ett <makro> med <värde> som sitt värde. Om bara <makro> anges sätts <värde> till 1"
++#: java/lang.opt:201
++msgid "Set the source language version"
++msgstr "Ange källspråksversion"
+
+-#: c.opt:60
+-msgid "Add <dir> to the end of the main framework include path"
+-msgstr "Lägg till <kat> till slutet av huvudramverkets inkluderingssökväg"
++#: java/lang.opt:205
++msgid "Set the target VM version"
++msgstr "Ange typen av mål-VM-version"
+
+-#: c.opt:64
+-msgid "Print the name of header files as they are used"
+-msgstr "Skriv ut namnet på huvudfiler allteftersom de används"
+-
+-#: c.opt:68 c.opt:859
+-msgid "Add <dir> to the end of the main include path"
+-msgstr "Lägg till <kat> till slutet av huvudsökvägen"
+-
+-#: c.opt:72
+-msgid "Generate make dependencies"
+-msgstr "Generera make-beroenden"
+-
+-#: c.opt:76
+-msgid "Generate make dependencies and compile"
+-msgstr "Generera make-beroenden och kompilera"
+-
+-#: c.opt:80
+-msgid "Write dependency output to the given file"
+-msgstr "Skriv beroendeutdata till den angivna filen"
+-
+-#: c.opt:84
+-msgid "Treat missing header files as generated files"
+-msgstr "Behandla saknade huvudfiler som genererade filer"
+-
+-#: c.opt:88
+-msgid "Like -M but ignore system header files"
+-msgstr "Som -M men ignorera systemhuvudfiler"
+-
+-#: c.opt:92
+-msgid "Like -MD but ignore system header files"
+-msgstr "Som -MD men ignorera systemhuvudfiler"
+-
+-#: c.opt:96
+-msgid "Generate phony targets for all headers"
+-msgstr "Generera låtsasmål för alla huvuden"
+-
+-#: c.opt:100
+-msgid "Add a MAKE-quoted target"
+-msgstr "Lägg till ett MAKE-citerat mål"
+-
+-#: c.opt:104
+-msgid "Add an unquoted target"
+-msgstr "Lägg till ett ociterat mål"
+-
+-#: c.opt:108
+-msgid "Do not generate #line directives"
+-msgstr "Generera inte #line-direktiv"
+-
+-#: c.opt:112
+-msgid "Undefine <macro>"
+-msgstr "Avdefiniera <makro>"
+-
+-#: c.opt:116
+-msgid "Warn about things that will change when compiling with an ABI-compliant compiler"
+-msgstr "Varna för saker som skulle ändras vid kompilering med en kompilator som följer ABI"
+-
+-#: c.opt:120
+-msgid "Warn about suspicious uses of memory addresses"
+-msgstr "Varna för misstänkt användning av minnesadresser"
+-
+-#: c.opt:124
+-msgid "Enable most warning messages"
+-msgstr "Aktivera de flesta varningsmeddelanden"
+-
+-#: c.opt:128
+-msgid "Warn if a comparison is always true or always false due to the limited range of the data type"
+-msgstr "Varna om en jämförelse alltid är sann eller falsk på grund av begränsat intervall för datatypen"
+-
+-#: c.opt:132
+-msgid "Warn whenever an Objective-C assignment is being intercepted by the garbage collector"
+-msgstr "Varna när en Objective-C-tilldelning fångas upp av skräpsamlaren"
+-
+-#: c.opt:136
+-msgid "Warn about casting functions to incompatible types"
+-msgstr "Varna för typkonvertering av funktioner till inkompatibla typer"
+-
+-#: c.opt:140
+-msgid "Warn about C constructs that are not in the common subset of C and C++"
+-msgstr "Varna för C-konstruktioner som inte är i den gemensamma delmängden av C och C++"
+-
+-#: c.opt:144
+-msgid "Warn about C++ constructs whose meaning differs between ISO C++ 1998 and ISO C++ 200x"
+-msgstr "Varna för C++-konstruktioner vars betydelse skiljer mellan ISO C++ 1998 och ISO C++ 200x"
+-
+-#: c.opt:148
+-msgid "Warn about casts which discard qualifiers"
+-msgstr "Varna för typkonvertering som slänger kvalificerare"
+-
+-#: c.opt:152
+-msgid "Warn about subscripts whose type is \"char\""
+-msgstr "Varna för index vars typ är \"char\""
+-
+-#: c.opt:156
+-msgid "Warn about variables that might be changed by \"longjmp\" or \"vfork\""
+-msgstr "Varna för variabler som kan ändras av \"longjmp\" eller \"vfork\""
+-
+-#: c.opt:160
+-msgid "Warn about possibly nested block comments, and C++ comments spanning more than one physical line"
+-msgstr "Varna för möjliga nästade blockkommentarer, och C++-kommentarer som spänner över mer än en fysisk rad"
+-
+-#: c.opt:164
+-msgid "Synonym for -Wcomment"
+-msgstr "Synonym för -Wcomment"
+-
+-#: c.opt:168
+-msgid "Warn for implicit type conversions that may change a value"
+-msgstr "Varna för implicita typkonverteringar som kan ändra ett värde"
+-
+-#: c.opt:172
+-msgid "Warn for implicit type conversions between signed and unsigned integers"
+-msgstr "Varna för implicita typkonverteringar mellan heltalsuttryck med och utan tecken"
+-
+-#: c.opt:176
+-msgid "Warn when all constructors and destructors are private"
+-msgstr "Varna när ett alla konstruerare och destruerare är privata"
+-
+-#: c.opt:180
+-msgid "Warn when a declaration is found after a statement"
+-msgstr "Varna när en deklaration hittas efter en sats"
+-
+-#: c.opt:184
+-msgid "Warn about deprecated compiler features"
+-msgstr "Varna för kompilatorfunktioner bör undvikas"
+-
+-#: c.opt:188
+-msgid "Warn about compile-time integer division by zero"
+-msgstr "Varna för heltalsdivision med noll vid kompileringstillfället"
+-
+-#: c.opt:192
+-msgid "Warn about violations of Effective C++ style rules"
+-msgstr "Varna för brott mot stilreglerna i Effective C++"
+-
+-#: c.opt:196
+-msgid "Warn about an empty body in an if or else statement"
+-msgstr "Varna för en tom kropp i en if- eller else-sats"
+-
+-#: c.opt:200
+-msgid "Warn about stray tokens after #elif and #endif"
+-msgstr "Varna för vilsekomna symboler efter #elif och #endif"
+-
+-#: c.opt:208
+-msgid "This switch is deprecated; use -Werror=implicit-function-declaration instead"
+-msgstr "Denna flagga bör undvikas, använd -Werror=implicit-function-declaration istället"
+-
+-#: c.opt:212
+-msgid "Warn if testing floating point numbers for equality"
+-msgstr "Varna vid test av flyttal på likhet"
+-
+-#: c.opt:216
+-msgid "Warn about printf/scanf/strftime/strfmon format string anomalies"
+-msgstr "Varna för anomalier i formatsträngar till printf/scanf/strftime/strfmon"
+-
+-#: c.opt:220
+-msgid "Warn if passing too many arguments to a function for its format string"
+-msgstr "Varna för för många argument argument till en funktion för dess formatsträng"
+-
+-#: c.opt:224
+-msgid "Warn about format strings that are not literals"
+-msgstr "Varna för formatsträngar som inte är literaler"
+-
+-#: c.opt:228
+-msgid "Warn about format strings that contain NUL bytes"
+-msgstr "Varna för formatsträngar som innehåller NUL-byte:ar"
+-
+-#: c.opt:232
+-msgid "Warn about possible security problems with format functions"
+-msgstr "Varna för möjliga säkerhetsproblem med formatfunktioner"
+-
+-#: c.opt:236
+-msgid "Warn about strftime formats yielding 2-digit years"
+-msgstr "Varna för format till strftime som ger 2-siffrigt årtal"
+-
+-#: c.opt:240
+-msgid "Warn about zero-length formats"
+-msgstr "Varna för format med längden noll"
+-
+-#: c.opt:247
+-msgid "Warn about variables which are initialized to themselves"
+-msgstr "Varna för variabler som initieras till sig själva"
+-
+-#: c.opt:254
+-msgid "Warn about implicit function declarations"
+-msgstr "Varna för implicita funktionsdeklarationer"
+-
+-#: c.opt:258
+-msgid "Warn when a declaration does not specify a type"
+-msgstr "Varna när en deklaration inte anger en typ"
+-
+-#: c.opt:262
+-msgid "Deprecated. This switch has no effect"
+-msgstr "Avrådes ifrån. Denna flagga har ingen effekt"
+-
+-#: c.opt:266
+-msgid "Warn when there is a cast to a pointer from an integer of a different size"
+-msgstr "Varna för typkonverteringar till pekare från ett heltal med annan storlek"
+-
+-#: c.opt:270
+-msgid "Warn about invalid uses of the \"offsetof\" macro"
+-msgstr "Varna för ogiltiga användningar av makrot \"offsetof\""
+-
+-#: c.opt:274
+-msgid "Warn about PCH files that are found but not used"
+-msgstr "Varna för PCH-filer som hittas men inte används"
+-
+-#: c.opt:278
+-msgid "Do not warn about using \"long long\" when -pedantic"
+-msgstr "Varna inte om användning av \"long long\" vid -pedantic"
+-
+-#: c.opt:282
+-msgid "Warn about suspicious declarations of \"main\""
+-msgstr "Varna för tveksamma deklarationer av \"main\""
+-
+-#: c.opt:286
+-msgid "Warn about possibly missing braces around initializers"
+-msgstr "Varna för eventuellt saknade klamrar runt initierare"
+-
+-#: c.opt:290
+-msgid "Warn about global functions without previous declarations"
+-msgstr "Varna för globala globala funktioner utan tidigare deklaration"
+-
+-#: c.opt:294
+-msgid "Warn about missing fields in struct initializers"
+-msgstr "Varna för saknade fält i postinitierare"
+-
+-#: c.opt:298
+-msgid "Warn about functions which might be candidates for format attributes"
+-msgstr "Varna för funktioner som kan vara kandidater för formatattribut"
+-
+-#: c.opt:302
+-msgid "Warn about user-specified include directories that do not exist"
+-msgstr "Varna för användarangivna inkluderingskataloger som inte finns"
+-
+-#: c.opt:306
+-msgid "Warn about function parameters declared without a type specifier in K&R-style functions"
+-msgstr "Varna för funktionsparametrar som deklarerats utan en typangivelse i K&R-stilfunktioner"
+-
+-#: c.opt:310
+-msgid "Warn about global functions without prototypes"
+-msgstr "Varna för globala funktioner utan prototyper"
+-
+-#: c.opt:314
+-msgid "Warn about use of multi-character character constants"
+-msgstr "Varna vid användning av flerteckens teckenkonstant"
+-
+-#: c.opt:318
+-msgid "Warn about \"extern\" declarations not at file scope"
+-msgstr "Varna för \"extern\"-deklaration som inte är på filnivå"
+-
+-#: c.opt:322
+-msgid "Warn when non-templatized friend functions are declared within a template"
+-msgstr "Varna när en vänfuktion som inte är en mall deklareras inuti en mall"
+-
+-#: c.opt:326
+-msgid "Warn about non-virtual destructors"
+-msgstr "Varna för ickevirtuella destruerare"
+-
+-#: c.opt:330
+-msgid "Warn about NULL being passed to argument slots marked as requiring non-NULL"
+-msgstr "Varna om NULL skickas som argument som är markerade att de kräver icke-NULL"
+-
+-#: c.opt:334
+-msgid "Warn about non-normalised Unicode strings"
+-msgstr "Varna för icke normaliserade Unicodesträngar"
+-
+-#: c.opt:338
+-msgid "Warn if a C-style cast is used in a program"
+-msgstr "Varna för en typkonvertering i C-stil används i ett program"
+-
+-#: c.opt:342
+-msgid "Warn for obsolescent usage in a declaration"
+-msgstr "Varna för föråldrad användning i en deklaration"
+-
+-#: c.opt:346
+-msgid "Warn if an old-style parameter definition is used"
+-msgstr "Varna för en gammaldags parameterdefinition används"
+-
+-#: c.opt:350
+-msgid "Warn if a string is longer than the maximum portable length specified by the standard"
+-msgstr "Varna om en sträng är längre än den maximala portabla längden som anges i standarden"
+-
+-#: c.opt:354
+-msgid "Warn about overloaded virtual function names"
+-msgstr "Varna för överlagrade virtuella funktionsnamn"
+-
+-#: c.opt:358
+-msgid "Warn about overriding initializers without side effects"
+-msgstr "Varna för åsidosättande initierare utan sidoeffekter"
+-
+-#: c.opt:362
+-msgid "Warn about possibly missing parentheses"
+-msgstr "Varna för eventuellt saknade parenteser"
+-
+-#: c.opt:366
+-msgid "Warn when converting the type of pointers to member functions"
+-msgstr "Varna vid typkonvertering av pekare till medlemsfunktioner"
+-
+-#: c.opt:370
+-msgid "Warn about function pointer arithmetic"
+-msgstr "Varna för aritmetik med funktionspekare"
+-
+-#: c.opt:374
+-msgid "Warn when a pointer is cast to an integer of a different size"
+-msgstr "Varna när en pekare typkonverteras till ett heltal av annan storlek"
+-
+-#: c.opt:378
+-msgid "Warn about misuses of pragmas"
+-msgstr "Varna för missbruk av pragman"
+-
+-#: c.opt:382
+-msgid "Warn if inherited methods are unimplemented"
+-msgstr "Varna för ärvda metoder är oimplementerade"
+-
+-#: c.opt:386
+-msgid "Warn about multiple declarations of the same object"
+-msgstr "Varna för multipla deklarationer av samma objekt"
+-
+-#: c.opt:390
+-msgid "Warn when the compiler reorders code"
+-msgstr "Varna när kompilatorn ändrar ordning på kod"
+-
+-#: c.opt:394
+-msgid "Warn whenever a function's return type defaults to \"int\" (C), or about inconsistent return types (C++)"
+-msgstr "Varna när en funktions returtyp får \"int\" som skönsvärde (C), eller om inkonsistenta returtyper (C++)"
+-
+-#: c.opt:398
+-msgid "Warn if a selector has multiple methods"
+-msgstr "Varna för en väljare har multipla metoder"
+-
+-#: c.opt:402
+-msgid "Warn about possible violations of sequence point rules"
+-msgstr "Varna för möjliga brott mot sekvenspunktregler"
+-
+-#: c.opt:406
+-msgid "Warn about signed-unsigned comparisons"
+-msgstr "Varna för jämförelser mellan signed/unsigned"
+-
+-#: c.opt:410
+-msgid "Warn when overload promotes from unsigned to signed"
+-msgstr "Varna när överlagring anpassar från teckenlöst till med tecken"
+-
+-#: c.opt:414
+-msgid "Warn about uncasted NULL used as sentinel"
+-msgstr "Varna för ej typkonverterad NULL används som vaktpost"
+-
+-#: c.opt:418
+-msgid "Warn about unprototyped function declarations"
+-msgstr "Varna för funktionsdeklarationer utan prototyp"
+-
+-#: c.opt:422
+-msgid "Warn if type signatures of candidate methods do not match exactly"
+-msgstr "Varna för typsignaturer till kandidatmetoder inte stämmer exakt"
+-
+-#: c.opt:426
+-msgid "Warn when synthesis behavior differs from Cfront"
+-msgstr "Varna när syntesbeteendet skiljer från Cfront"
+-
+-#: c.opt:430 common.opt:182
+-msgid "Do not suppress warnings from system headers"
+-msgstr "Undertryck inte varningar från systemhuvudfiler"
+-
+-#: c.opt:434
+-msgid "Warn about features not present in traditional C"
+-msgstr "Varna för funktioner som inte finns i traditionell C"
+-
+-#: c.opt:438
+-msgid "Warn of prototypes causing type conversions different from what would happen in the absence of prototype"
+-msgstr "Varna för prototyper som orsakar andra typkonverteringar än de som skulle skett i frånvaro av prototyp"
+-
+-#: c.opt:442
+-msgid "Warn if trigraphs are encountered that might affect the meaning of the program"
+-msgstr "Varna för trigrafer upptäcks som kan påverka betydelsen av programmet"
+-
+-#: c.opt:446
+-msgid "Warn about @selector()s without previously declared methods"
+-msgstr "Varna för @selector()er utan tidigare deklarerade metoder"
+-
+-#: c.opt:450
+-msgid "Warn if an undefined macro is used in an #if directive"
+-msgstr "Varna för ett odefinierat makro används i ett #if-direktiv"
+-
+-#: c.opt:454
+-msgid "Warn about unrecognized pragmas"
+-msgstr "Varna för okända pragman"
+-
+-#: c.opt:458
+-msgid "Warn about macros defined in the main file that are not used"
+-msgstr "Varna för makron definierade i huvudfilen som inte används"
+-
+-#: c.opt:462
+-msgid "Do not warn about using variadic macros when -pedantic"
+-msgstr "Varna inte om användning av variadiskt makro när -pedantic är på"
+-
+-#: c.opt:466
+-msgid "Warn if a variable length array is used"
+-msgstr "Varna om en vektor med variabel längd används"
+-
+-#: c.opt:470
+-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 "I C++ betyder nollskilt att varna för konverteringar som bör undvikas från strängliteraler till \"char *\". I C en liknande varning, bortsett från att ISO C-standarden naturligtvis inte säger att standarden bör undvikas."
+-
+-#: c.opt:474
+-msgid "Warn when a pointer differs in signedness in an assignment"
+-msgstr "Varna när en pekare skiljer i teckenhet i en tilldelning"
+-
+-#: c.opt:478
+-msgid "A synonym for -std=c89 (for C) or -std=c++98 (for C++)"
+-msgstr "En synonym för -std=c89 (för C) or -std=c++98 (för C++)"
+-
+-#: c.opt:486
+-msgid "Enforce class member access control semantics"
+-msgstr "Upprätthåll åtkomstsemantik för klassmedlemmar"
+-
+-#: c.opt:493
+-msgid "Change when template instances are emitted"
+-msgstr "Ändra när mallinstanser skrivs ut"
+-
+-#: c.opt:497
+-msgid "Recognize the \"asm\" keyword"
+-msgstr "Känn igen nyckelordet \"asm\""
+-
+-#: c.opt:501
+-msgid "Recognize built-in functions"
+-msgstr "Känn igen inbyggda funktioner"
+-
+-#: c.opt:508
+-msgid "Check the return value of new"
+-msgstr "Kontrollera returvärdet av new"
+-
+-#: c.opt:512
+-msgid "Allow the arguments of the '?' operator to have different types"
+-msgstr "Tillåt argument till \"?\"-operatorn att ha olika typer"
+-
+-#: c.opt:516
+-msgid "Reduce the size of object files"
+-msgstr "Reducera storleken på objektfiler"
+-
+-#: c.opt:520
+-msgid "Use class <name> for constant strings"
+-msgstr "Använd klassen <namn> för konstanta strängar"
+-
+-#: c.opt:524
+-msgid "Inline member functions by default"
+-msgstr "Inline:a medlemsfunktioner som standard"
+-
+-#: c.opt:528
+-msgid "Preprocess directives only."
+-msgstr "Preprocessa endast direktiv."
+-
+-#: c.opt:532
+-msgid "Permit '$' as an identifier character"
+-msgstr "Tillåt \"$\" som ett identifierartecken"
+-
+-#: c.opt:539
+-msgid "Generate code to check exception specifications"
+-msgstr "Generera kod för att kontrollera undantagsspecifikationer"
+-
+-#: c.opt:546
+-msgid "Convert all strings and character constants to character set <cset>"
+-msgstr "Konvertera alla strängar och teckenkonstanter till teckenuppsättningen <tknst>"
+-
+-#: c.opt:550
+-msgid "Permit universal character names (\\u and \\U) in identifiers"
+-msgstr "Tillåt universella teckennamn (\\u och \\U) i identifierare"
+-
+-#: c.opt:554
+-msgid "Specify the default character set for source files"
+-msgstr "Ange standardteckenuppsättning för källkodsfiler"
+-
+-#: c.opt:562
+-msgid "Scope of for-init-statement variables is local to the loop"
+-msgstr "Räckvidden av for-init-satsvariabler är lokal till slingan"
+-
+-#: c.opt:566
+-msgid "Do not assume that standard C libraries and \"main\" exist"
+-msgstr "Anta inte att standard C-bibliotek och \"main\" finns"
+-
+-#: c.opt:570
+-msgid "Recognize GNU-defined keywords"
+-msgstr "Acceptera GNU-definierade nyckelord"
+-
+-#: c.opt:574
+-msgid "Generate code for GNU runtime environment"
+-msgstr "Generera kod för GNU:s körtidsmiljö"
+-
+-#: c.opt:578
+-msgid "Use traditional GNU semantics for inline functions"
+-msgstr "Använd traditionell C-semantik för inline-funktioner"
+-
+-#: c.opt:591
+-msgid "Assume normal C execution environment"
+-msgstr "Anta normal C-körmiljö"
+-
+-#: c.opt:595
+-msgid "Enable support for huge objects"
+-msgstr "Aktivera stöd för stora objekt"
+-
+-#: c.opt:599
+-msgid "Export functions even if they can be inlined"
+-msgstr "Exportera funktioner även om de kan inline:as"
+-
+-#: c.opt:603
+-msgid "Emit implicit instantiations of inline templates"
+-msgstr "Skapa implicita instansieringar av inline:ade mallar"
+-
+-#: c.opt:607
+-msgid "Emit implicit instantiations of templates"
+-msgstr "Skapa implicita instansieringar av mallar"
+-
+-#: c.opt:611
+-msgid "Inject friend functions into enclosing namespace"
+-msgstr "Skjut in friend-funktioner i omgivande namnrymd"
+-
+-#: c.opt:618
+-msgid "Allow implicit conversions between vectors with differing numbers of subparts and/or differing element types."
+-msgstr "Tillåt implicit konvertering mellan vektorer med olika antal underdelar och/eller olika elementtyper."
+-
+-#: c.opt:622
+-msgid "Don't warn about uses of Microsoft extensions"
+-msgstr "Varna inte om användning av Microsoftutökningar"
+-
+-#: c.opt:632
+-msgid "Generate code for NeXT (Apple Mac OS X) runtime environment"
+-msgstr "Generera kod för körtidsmiljön NeXT (Apple Mac OS X)"
+-
+-#: c.opt:636
+-msgid "Assume that receivers of Objective-C messages may be nil"
+-msgstr "Anta att mottagare av Objective-C-meddelanden kan var nil"
+-
+-#: c.opt:648
+-msgid "Generate special Objective-C methods to initialize/destroy non-POD C++ ivars, if needed"
+-msgstr "Generera speciella Objective-C-metoder för att initiera/destruera icke-POD-C++-ivariabler, om det behövs"
+-
+-#: c.opt:652
+-msgid "Allow fast jumps to the message dispatcher"
+-msgstr "Tillåt snabba hopp till meddelandehanteraren"
+-
+-#: c.opt:658
+-msgid "Enable Objective-C exception and synchronization syntax"
+-msgstr "Aktivera Objective-C-undantags- och synkroniseringssyntax"
+-
+-#: c.opt:662
+-msgid "Enable garbage collection (GC) in Objective-C/Objective-C++ programs"
+-msgstr "Aktivera skräpsamling (GC) i Objective-C-/Objective-C++-program"
+-
+-#: c.opt:667
+-msgid "Enable Objective-C setjmp exception handling runtime"
+-msgstr "Aktivera Objective-C:s setjmp-undantagshantering i körtidsmiljön"
+-
+-#: c.opt:671
+-msgid "Enable OpenMP"
+-msgstr "Aktivera OpenMP"
+-
+-#: c.opt:675
+-msgid "Recognize C++ kewords like \"compl\" and \"xor\""
+-msgstr "Acceptera C++-nyckelord som \"compl\" och \"xor\""
+-
+-#: c.opt:679
+-msgid "Enable optional diagnostics"
+-msgstr "Aktivera valbar diagnostik"
+-
+-#: c.opt:686
+-msgid "Look for and use PCH files even when preprocessing"
+-msgstr "Sök efter och använd PCH-filer även vid preprocessning"
+-
+-#: c.opt:690
+-msgid "Downgrade conformance errors to warnings"
+-msgstr "Nedgradera följsamhetsfel till varningar"
+-
+-#: c.opt:694
+-msgid "Treat the input file as already preprocessed"
+-msgstr "Betrakta indatafilen som redan preprocessad"
+-
+-#: c.opt:698
+-msgid "Used in Fix-and-Continue mode to indicate that object files may be swapped in at runtime"
+-msgstr "Används i Fix-and-Continue-läge för att objektfiler kan bytas ut vid körtillfället"
+-
+-#: c.opt:702
+-msgid "Enable automatic template instantiation"
+-msgstr "Slå på automatisk mallinstansiering"
+-
+-#: c.opt:706
+-msgid "Generate run time type descriptor information"
+-msgstr "Generera typbeskrivarinformation för körtid"
+-
+-#: c.opt:710
+-msgid "Use the same size for double as for float"
+-msgstr "Använd samma storlek för double som för float"
+-
+-#: c.opt:718
+-msgid "Force the underlying type for \"wchar_t\" to be \"unsigned short\""
+-msgstr "Tvinga den underliggande typen för \"wchar_t\" att vara \"unsigned short\""
+-
+-#: c.opt:722
+-msgid "When \"signed\" or \"unsigned\" is not given make the bitfield signed"
+-msgstr "När \"signed\" eller \"unsigned\" inte anges låt bitfältet ha tecken"
+-
+-#: c.opt:726
+-msgid "Make \"char\" signed by default"
+-msgstr "Låt \"char\" ha tecken som standard"
+-
+-#: c.opt:733
+-msgid "Display statistics accumulated during compilation"
+-msgstr "Visa statistik som samlats under kompilering"
+-
+-#: c.opt:740
+-msgid "Distance between tab stops for column reporting"
+-msgstr "Avstånd mellan tabulatorstopp för kolumnvis rapportering"
+-
+-#: c.opt:744
+-msgid "Specify maximum template instantiation depth"
+-msgstr "Ange maximalt instansieringsdjup för mallar"
+-
+-#: c.opt:751
+-msgid "Do not generate thread-safe code for initializing local statics"
+-msgstr "Generera inte trådsäker kod för initiering a lokala statiska variabler"
+-
+-#: c.opt:755
+-msgid "When \"signed\" or \"unsigned\" is not given make the bitfield unsigned"
+-msgstr "När \"signed\" eller \"unsigned\" inte anges görs bitfälten teckenlösa"
+-
+-#: c.opt:759
+-msgid "Make \"char\" unsigned by default"
+-msgstr "Gör \"char\" teckenlöst som standard"
+-
+-#: c.opt:763
+-msgid "Use __cxa_atexit to register destructors"
+-msgstr "Använd __cxa_atexit till registerdestruerare"
+-
+-#: c.opt:767
+-msgid "Use __cxa_get_exception_ptr in exception handling"
+-msgstr "Använd __cxa_get_exception_ptr i undantagshantering"
+-
+-#: c.opt:771
+-msgid "Marks all inlined methods as having hidden visibility"
+-msgstr "Markera alla inline:ade metoder att ha dold synlighet"
+-
+-#: c.opt:775
+-msgid "Changes visibility to match Microsoft Visual Studio by default"
+-msgstr "Ändrar synlighet till att vara som Microsoft Visual Studio som standard"
+-
+-#: c.opt:779
+-msgid "Discard unused virtual functions"
+-msgstr "Kasta bort oanvända virtuella funktioner"
+-
+-#: c.opt:783
+-msgid "Implement vtables using thunks"
+-msgstr "Implementera vtables med \"thunks\""
+-
+-#: c.opt:787
+-msgid "Emit common-like symbols as weak symbols"
+-msgstr "Mata ut common-liknande symboler som svaga symboler"
+-
+-#: c.opt:791
+-msgid "Convert all wide strings and character constants to character set <cset>"
+-msgstr "Konvertera alla breda strängar och teckenkonstanter till teckenuppsättningen <tknst>"
+-
+-#: c.opt:795
+-msgid "Generate a #line directive pointing at the current working directory"
+-msgstr "Generera ett #line-direktiv som pekar på aktuell katalog"
+-
+-#: c.opt:799
+-msgid "Emit cross referencing information"
+-msgstr "Mata ut korsreferensinformation"
+-
+-#: c.opt:803
+-msgid "Generate lazy class lookup (via objc_getClass()) for use in Zero-Link mode"
+-msgstr "Generera lata klassuppslagningar (via objc_getClass()) att användas i läget Zero-Link"
+-
+-#: c.opt:807
+-msgid "Dump declarations to a .decl file"
+-msgstr "Skicka deklarationer till en .decl-fil"
+-
+-#: c.opt:811
+-msgid "Aggressive reduced debug info for structs"
+-msgstr "Aggressivt reducerad felsökningsinformation för poster"
+-
+-#: c.opt:815
+-msgid "Conservative reduced debug info for structs"
+-msgstr "Konservativt reducerad felsökningsinformation för poster"
+-
+-#: c.opt:819
+-msgid "Detailed reduced debug info for structs"
+-msgstr "Detaljreducerade felsökningsinformation för poster"
+-
+-#: c.opt:823 c.opt:855
+-msgid "Add <dir> to the end of the system include path"
+-msgstr "Lägg till <kat> till slutet av sökvägen för systeminkluderingar"
+-
+-#: c.opt:827
+-msgid "Accept definition of macros in <file>"
+-msgstr "Tag med definitioner av makron i <fil>"
+-
+-#: c.opt:831
+-msgid "-imultilib <dir> Set <dir> to be the multilib include subdirectory"
+-msgstr "-imultilib <kat> Sätt <kat> att vara inkluderingsunderbiblioteket för multibibliotek"
+-
+-#: c.opt:835
+-msgid "Include the contents of <file> before other files"
+-msgstr "Inkludera innehållet i <fil> före andra filer"
+-
+-#: c.opt:839
+-msgid "Specify <path> as a prefix for next two options"
+-msgstr "Ange <skvg> som ett prefix för de följande två flaggorna"
+-
+-#: c.opt:843
+-msgid "Set <dir> to be the system root directory"
+-msgstr "Sätt <kat> som rotkatalog för systemet"
+-
+-#: c.opt:847
+-msgid "Add <dir> to the start of the system include path"
+-msgstr "Lägg till <kat> till början av sökvägen för systeminkluderingar"
+-
+-#: c.opt:851
+-msgid "Add <dir> to the end of the quote include path"
+-msgstr "Lägg till <kat> till slutet av sökvägen för citerade inkluderingar"
+-
+-#: c.opt:872
+-msgid "Do not search standard system include directories (those specified with -isystem will still be used)"
+-msgstr "Sök inte standardkataloger för inkluderingar (de som anges med -isystem kommer fortfarande att användas)"
+-
+-#: c.opt:876
+-msgid "Do not search standard system include directories for C++"
+-msgstr "Sök inte i standardkataloger för systeminkluderingar för C++"
+-
+-#: c.opt:892
+-msgid "Generate C header of platform-specific features"
+-msgstr "Generera C-huvuden för plattformsspecifika funktioner"
+-
+-#: c.opt:896
+-msgid "Print a checksum of the executable for PCH validity checking, and stop"
+-msgstr "Skriv en checksumma a det körbara programmet för PCH-giltighetskontroll, och stanna"
+-
+-#: c.opt:900
+-msgid "Remap file names when including files"
+-msgstr "Översätt filnamn när filer inkluderas"
+-
+-#: c.opt:904
+-msgid "Conform to the ISO 1998 C++ standard"
+-msgstr "Följ standarden ISO 1998 C++"
+-
+-#: c.opt:908
+-msgid "Conform to the ISO 1998 C++ standard, with extensions that are likely to"
+-msgstr "Följ standarden ISO 1998 C++, med utökningar som troligen"
+-
+-#: c.opt:915 c.opt:950
+-msgid "Conform to the ISO 1990 C standard"
+-msgstr "Följ standarden ISO 1990 C"
+-
+-#: c.opt:919 c.opt:958
+-msgid "Conform to the ISO 1999 C standard"
+-msgstr "Följ standarden ISO 1999 C"
+-
+-#: c.opt:923
+-msgid "Deprecated in favor of -std=c99"
+-msgstr "Undanbedes till förmån för -std=c99"
+-
+-#: c.opt:927
+-msgid "Conform to the ISO 1998 C++ standard with GNU extensions"
+-msgstr "Följ standarden ISO 1998 C++ med GNU-utökningar"
+-
+-#: c.opt:931
+-msgid "Conform to the ISO 1998 C++ standard, with GNU extensions and"
+-msgstr "Följ standarden ISO 1998 C++ med GNU-utökningar och"
+-
+-#: c.opt:938
+-msgid "Conform to the ISO 1990 C standard with GNU extensions"
+-msgstr "Följ standarden ISO 1990 C med GNU-utökningar"
+-
+-#: c.opt:942
+-msgid "Conform to the ISO 1999 C standard with GNU extensions"
+-msgstr "Följ standarden ISO 1999 C med GNU-utökningar"
+-
+-#: c.opt:946
+-msgid "Deprecated in favor of -std=gnu99"
+-msgstr "Undanbedes till förmån för -std=gnu99"
+-
+-#: c.opt:954
+-msgid "Conform to the ISO 1990 C standard as amended in 1994"
+-msgstr "Följ standarden ISO 1990 C med tillägg från 1994"
+-
+-#: c.opt:962
+-msgid "Deprecated in favor of -std=iso9899:1999"
+-msgstr "Undanbedes till förmån för -std=iso9899:1999"
+-
+-#: c.opt:966
+-msgid "Enable traditional preprocessing"
+-msgstr "Aktivera traditionell preprocessning"
+-
+-#: c.opt:970
+-msgid "Support ISO C trigraphs"
+-msgstr "Stöd trigrafer enligt ISO C"
+-
+-#: c.opt:974
+-msgid "Do not predefine system-specific and GCC-specific macros"
+-msgstr "Fördefiniera inte systemspecifika och GCC-specifika makron"
+-
+-#: c.opt:978
+-msgid "Enable verbose output"
+-msgstr "Aktivera utförlig utskrift"
+-
+-#: common.opt:27
++#: common.opt:28
+ msgid "Display this information"
+ msgstr "Visa den här informationen"
+
+-#: common.opt:31
++#: common.opt:32
+ msgid "Display descriptions of a specific class of options. <class> is one or more of optimizers, target, warnings, undocumented, params"
+ msgstr "Visa beskrivningar av en speciell klass av flaggor. <class> är en eller flera av optimizers, target, warnings, undocumented params"
+
+-#: common.opt:35
++#: common.opt:36
+ msgid "Alias for --help=target"
+ msgstr "Alias för --help=target"
+
+-#: common.opt:51
++#: common.opt:52
+ msgid "Set parameter <param> to value. See below for a complete list of parameters"
+ msgstr "Sätt parameter <param> till värde. Se nedan för en komplett lista på parametrar"
+
+-#: common.opt:58
++#: common.opt:59
+ msgid "Put global and static data smaller than <number> bytes into a special section (on some targets)"
+ msgstr "Placera globala and statiska data mindre än <nummer> byte i en speciell sektion (vissa arkitekturer)"
+
+-#: common.opt:62
++#: common.opt:63
+ msgid "Set optimization level to <number>"
+ msgstr "Sätt optimeringsnivå till <nummer>"
+
+-#: common.opt:66
++#: common.opt:67
+ msgid "Optimize for space rather than speed"
+ msgstr "Optimera för storlek istället för hastighet"
+
+-#: common.opt:70
++#: common.opt:71
+ msgid "This switch is deprecated; use -Wextra instead"
+ msgstr "Denna flagga bör undvikas, använd -Wextra istället"
+
+-#: common.opt:74
++#: common.opt:75
+ msgid "Warn about returning structures, unions or arrays"
+ msgstr "Varna för retur av poster, unioner eller vektorer"
+
+-#: common.opt:78
++#: common.opt:79
+ msgid "Warn if an array is accessed out of bounds"
+ msgstr "Varna om en vektor accessas utanför gränserna"
+
+-#: common.opt:82
++#: common.opt:83
+ msgid "Warn about inappropriate attribute usage"
+ msgstr "Varna för felaktig användning av attribut"
+
+-#: common.opt:86
++#: common.opt:87
+ msgid "Warn about pointer casts which increase alignment"
+ msgstr "Varna för typkonvertering av pekare som ökar justeringen"
+
+-#: common.opt:90
++#: common.opt:91
+ msgid "Warn about uses of __attribute__((deprecated)) declarations"
+ msgstr "Varna för användning av __attribute__((deprecated))-deklarationer"
+
+-#: common.opt:94
++#: common.opt:95
+ msgid "Warn when an optimization pass is disabled"
+ msgstr "Varna när ett optimerarpass är avaktiverat"
+
+-#: common.opt:98
++#: common.opt:99
+ msgid "Treat all warnings as errors"
+ msgstr "Behandla alla varningar som fel."
+
+-#: common.opt:102
++#: common.opt:103
+ msgid "Treat specified warning as error"
+ msgstr "Behandla angivna varningar som fel"
+
+-#: common.opt:106
++#: common.opt:107
+ msgid "Print extra (possibly unwanted) warnings"
+ msgstr "Skriv extra (möjligen oönskade) varningar"
+
+-#: common.opt:110
++#: common.opt:111
+ msgid "Exit on the first error occurred"
+ msgstr "Avsluta vid första felet som uppstår"
+
+-#: common.opt:114
++#: common.opt:115
+ msgid "Warn when an inlined function cannot be inlined"
+ msgstr "Varna när en inline:ad funktion inte kan inline:as"
+
+-#: common.opt:118
++#: common.opt:119
+ msgid "Warn if an object is larger than <number> bytes"
+ msgstr "Varna för ett objekt är större än <antal> byte"
+
+-#: common.opt:122
++#: common.opt:123
+ msgid "Warn when a logical operator is suspicously always evaluating to true or false"
+ msgstr "Varna när en logisk operator misstänkt nog alltid beräknas till sant eller falskt"
+
+-#: common.opt:126
++#: common.opt:127
+ msgid "Warn if the loop cannot be optimized due to nontrivial assumptions."
+ msgstr "Varna för slingan inte kan optimeras på grund av icketriviala antaganden."
+
+-#: common.opt:130
++#: common.opt:131
+ msgid "Warn about functions which might be candidates for __attribute__((noreturn))"
+ msgstr "Varna för funktioner som är möjliga kandidater för __attribute__((noreturn))"
+
+-#: common.opt:134
++#: common.opt:135
+ msgid "Warn about overflow in arithmetic expressions"
+ msgstr "Varna för spill i aritmetiska uttryck"
+
+-#: common.opt:138
++#: common.opt:139
+ msgid "Warn when the packed attribute has no effect on struct layout"
+ msgstr "Varna när attributet packed inte har någon effekt på postformatet"
+
+-#: common.opt:142
++#: common.opt:143
+ msgid "Warn when padding is required to align structure members"
+ msgstr "Varna när utfyllnad krävs för att justera postmedlemmar"
+
+-#: common.opt:146
++#: common.opt:147
+ msgid "Warn when one local variable shadows another"
+ msgstr "Varna när en lokal variabel skuggar en annan"
+
+-#: common.opt:150
++#: common.opt:151
+ msgid "Warn when not issuing stack smashing protection for some reason"
+ msgstr "Varna när stacköverskrivningsskydd inte läggs ut av någon anledning"
+
+-#: common.opt:154 common.opt:158
++#: common.opt:155 common.opt:159
+ msgid "Warn about code which might break strict aliasing rules"
+ msgstr "Varna för kod som kan bryta strikta aliasregler"
+
+-#: common.opt:162 common.opt:166
++#: common.opt:163 common.opt:167
+ msgid "Warn about optimizations that assume that signed overflow is undefined"
+ msgstr "Varna för optimeringar som antar spill med tecken är odefinierat"
+
+-#: common.opt:170
++#: common.opt:171
+ msgid "Warn about enumerated switches, with no default, missing a case"
+ msgstr "Varna när hopptabeller för uppräkningstyper inte har standardfall och saknar ett fall"
+
+-#: common.opt:174
++#: common.opt:175
+ msgid "Warn about enumerated switches missing a \"default:\" statement"
+ msgstr "Varna för uppräkningshopptabeller saknar en \"default:\"-sats"
+
+-#: common.opt:178
++#: common.opt:179
+ msgid "Warn about all enumerated switches missing a specific case"
+ msgstr "Varna för alla uppräkningshopptabeller som saknar ett specifikt fall"
+
+-#: common.opt:186
++#: common.opt:183 c.opt:434
++msgid "Do not suppress warnings from system headers"
++msgstr "Undertryck inte varningar från systemhuvudfiler"
++
++#: common.opt:187
+ msgid "Warn about uninitialized automatic variables"
+ msgstr "Varna för oinitierade automatiska variabler"
+
+-#: common.opt:190
++#: common.opt:191
+ msgid "Warn about code that will never be executed"
+ msgstr "Varna för kod som aldrig kommer köras"
+
+-#: common.opt:194
++#: common.opt:195
+ msgid "Enable all -Wunused- warnings"
+ msgstr "Aktivera alla -Wunused-varningar"
+
+-#: common.opt:198
++#: common.opt:199
+ msgid "Warn when a function is unused"
+ msgstr "Varna när en funktion är oanvänd"
+
+-#: common.opt:202
++#: common.opt:203
+ msgid "Warn when a label is unused"
+ msgstr "Varna när en etikett är oanvänd"
+
+-#: common.opt:206
++#: common.opt:207
+ msgid "Warn when a function parameter is unused"
+ msgstr "Varna när en funktionsparameter är oanvänd"
+
+-#: common.opt:210
++#: common.opt:211
+ msgid "Warn when an expression value is unused"
+ msgstr "Varna när ett uttrycksvärde är oanvänt"
+
+-#: common.opt:214
++#: common.opt:215
+ msgid "Warn when a variable is unused"
+ msgstr "Varna när en variabel är oanvänd"
+
+-#: common.opt:218
++#: common.opt:219
+ msgid "Warn when a register variable is declared volatile"
+ msgstr "Varna när en registervariabel är deklarerad volatile"
+
+-#: common.opt:222
++#: common.opt:223
+ msgid "Warn instead of error in case profiles in -fprofile-use do not match"
+ msgstr "Varna istället för att ge fel profiler i -fprofile-use inte stämmer"
+
+-#: common.opt:226
++#: common.opt:227
+ msgid "Emit declaration information into <file>"
+ msgstr "Generera deklarationsinfo till <fil>"
+
+-#: common.opt:239
++#: common.opt:240
+ msgid "Enable dumps from specific passes of the compiler"
+ msgstr "Slå på dumpning från specifika pass i kompilatorn"
+
+-#: common.opt:243
++#: common.opt:244
+ msgid "Set the file basename to be used for dumps"
+ msgstr "Ange basfilnamn att användas för dumpar"
+
+-#: common.opt:263
++#: common.opt:264
+ msgid "Align the start of functions"
+ msgstr "Justera starten av funktioner"
+
+-#: common.opt:270
++#: common.opt:271
+ msgid "Align labels which are only reached by jumping"
+ msgstr "Justera etiketter som bara nås via hopp"
+
+-#: common.opt:277
++#: common.opt:278
+ msgid "Align all labels"
+ msgstr "Justera alla etiketter"
+
+-#: common.opt:284
++#: common.opt:285
+ msgid "Align the start of loops"
+ msgstr "Justera starten av slingor"
+
+-#: common.opt:299
++#: common.opt:300
+ msgid "Specify that arguments may alias each other and globals"
+ msgstr "Ange att argument kan vara alias för varandra och andra globala"
+
+-#: common.opt:303
++#: common.opt:304
+ msgid "Assume arguments may alias globals but not each other"
+ msgstr "Anta att argument kan vara alias för globala men inte varandra"
+
+-#: common.opt:307
++#: common.opt:308
+ msgid "Assume arguments alias neither each other nor globals"
+ msgstr "Anta att argument varken är alias för varandra eller globala"
+
+-#: common.opt:311
++#: common.opt:312
+ msgid "Assume arguments alias no other storage"
+ msgstr "Anta att argument inte är alias för annat lagringsutrymme"
+
+-#: common.opt:315
++#: common.opt:316
+ msgid "Generate unwind tables that are exact at each instruction boundary"
+ msgstr "Generera tabeller för uppnystning som är exakta vid varje instruktionsgräns"
+
+-#: common.opt:319
++#: common.opt:320
+ msgid "Generate auto-inc/dec instructions"
+ msgstr "Generera auto-inc/dec-instruktioner"
+
+-#: common.opt:327
++#: common.opt:328
+ msgid "Generate code to check bounds before indexing arrays"
+ msgstr "Generera kod för att kontrollera gränser före indexering i vektorer"
+
+-#: common.opt:331
++#: common.opt:332
+ msgid "Replace add, compare, branch with branch on count register"
+ msgstr "Ersätt addition, jämförelse, grena med gren vid räknarregister"
+
+-#: common.opt:335
++#: common.opt:336
+ msgid "Use profiling information for branch probabilities"
+ msgstr "Använd profileringsinformation för grensannolikheter"
+
+-#: common.opt:339
++#: common.opt:340
+ msgid "Perform branch target load optimization before prologue / epilogue threading"
+ msgstr "Utför optimering av grenmålsinläsning före prolog-/epilogtrådning"
+
+-#: common.opt:343
++#: common.opt:344
+ msgid "Perform branch target load optimization after prologue / epilogue threading"
+ msgstr "Utför optimering av grenmålsinläsning efter prolog-/epilogtrådning"
+
+-#: common.opt:347
++#: common.opt:348
+ msgid "Restrict target load migration not to re-use registers in any basic block"
+ msgstr "Begränsa migration av målinläsning till att inte återanvända register i något grundblock"
+
+-#: common.opt:351
++#: common.opt:352
+ msgid "Mark <register> as being preserved across functions"
+ msgstr "Markera att <register> bevaras mellan funktioner"
+
+-#: common.opt:355
++#: common.opt:356
+ msgid "Mark <register> as being corrupted by function calls"
+ msgstr "Markera att <register> förstörs av funktionsanrop"
+
+-#: common.opt:362
++#: common.opt:363
+ msgid "Save registers around function calls"
+ msgstr "Spara register runt funktionsanrop"
+
+-#: common.opt:366
++#: common.opt:367
+ msgid "Compare the results of several data dependence analyzers."
+ msgstr "Jämför resultaten av flera analyserare av databeroende."
+
+-#: common.opt:370
++#: common.opt:371
+ msgid "Do not put uninitialized globals in the common section"
+ msgstr "Lägg inte oinitierade globala i den gemensamma sektionen"
+
+-#: common.opt:374
++#: common.opt:375
+ msgid "Perform a register copy-propagation optimization pass"
+ msgstr "Utför ett optimeringspass för kopieringspropagering av register"
+
+-#: common.opt:378
++#: common.opt:379
+ msgid "Perform cross-jumping optimization"
+ msgstr "Utför optimering för korshopp"
+
+-#: common.opt:382
++#: common.opt:383
+ msgid "When running CSE, follow jumps to their targets"
+ msgstr "När CSE körs, följ hopp till deras mål"
+
+-#: common.opt:386
++#: common.opt:387
+ msgid "When running CSE, follow conditional jumps"
+ msgstr "När CSE körs, följ villkorliga hopp"
+
+-#: common.opt:390
++#: common.opt:391
+ msgid "Omit range reduction step when performing complex division"
+ msgstr "Uteslut intervallreduktionssteget när komplex division görs"
+
+-#: common.opt:394
++#: common.opt:395
+ msgid "Place data items into their own section"
+ msgstr "Placera dataobjekt i sin egen sektion"
+
+-#: common.opt:398
++#: common.opt:399
+ msgid "List all available debugging counters with their limits and counts."
+ msgstr "Lista alla tillgängliga felsökningsräknare med deras gränser och värden."
+
+-#: common.opt:402
++#: common.opt:403
+ msgid "-fdbg-cnt=<counter>:<limit>[,<counter>:<limit>,...] Set the debug counter limit. "
+ msgstr "-fdbg-cnt=<räknare>:<gräns>[,<räknare>:<gräns>,...] Sätt gränsen för felsökningsräknare. "
+
+-#: common.opt:406
++#: common.opt:407
+ msgid "Map one directory name to another in debug information"
+ msgstr "Översätt ett katalognamn till ett annat i felsökningsinformation"
+
+-#: common.opt:412
++#: common.opt:413
+ msgid "Defer popping functions args from stack until later"
+ msgstr "Senarelägg borttagandet av funktionsargument från stacken"
+
+-#: common.opt:416
++#: common.opt:417
+ msgid "Attempt to fill delay slots of branch instructions"
+ msgstr "Försök fylla fördröjningsfack av greninstruktioner"
+
+-#: common.opt:420
++#: common.opt:421
+ msgid "Delete useless null pointer checks"
+ msgstr "Tag bort onödiga nollpekarkontroller"
+
+-#: common.opt:424
++#: common.opt:425
+ msgid "How often to emit source location at the beginning of line-wrapped diagnostics"
+ msgstr "Anger hur ofta källkodspositioner skall skrivas ut i början av utskrift vid radbrytning"
+
+-#: common.opt:428
++#: common.opt:429
+ msgid "Amend appropriate diagnostic messages with the command line option that controls them"
+ msgstr "Lägg till lämpliga diagnostiska meddelanden till kommandoradsflaggan som styr dem"
+
+-#: common.opt:432
++#: common.opt:433
+ msgid "Dump various compiler internals to a file"
+ msgstr "Skriv ut diverse intern kompilatorinformation till en fil"
+
+-#: common.opt:436
++#: common.opt:437
+ msgid "Suppress output of addresses in debugging dumps"
+ msgstr "Undertryck utskrift av adresser i felsökningsutskrifter"
+
+-#: common.opt:440
++#: common.opt:441
+ msgid "Suppress output of instruction numbers, line number notes and addresses in debugging dumps"
+ msgstr "Undertryck utskrift av instruktionsantal, radnummernoteringar och -adresser i felsökningsutskrifter"
+
+-#: common.opt:444
++#: common.opt:445
+ msgid "Perform early inlining"
+ msgstr "Utför tidig inline:ing"
+
+-#: common.opt:448
++#: common.opt:449
+ msgid "Perform DWARF2 duplicate elimination"
+ msgstr "Utför dubletteliminering i DWARF2"
+
+-#: common.opt:452 common.opt:456
++#: common.opt:453 common.opt:457
+ msgid "Perform unused type elimination in debug info"
+ msgstr "Utför eliminering av oanvända typer i felsökningsinformation"
+
+-#: common.opt:460
++#: common.opt:461
+ msgid "Do not suppress C++ class debug information."
+ msgstr "Undertryck inte felsökningsinformation för C++-klasser."
+
+-#: common.opt:464
++#: common.opt:465
+ msgid "Enable exception handling"
+ msgstr "Aktivera undantagshantering"
+
+-#: common.opt:468
++#: common.opt:469
+ msgid "Perform a number of minor, expensive optimizations"
+ msgstr "Utför ett antal smärre, dyra optimeringar"
+
+-#: common.opt:475
++#: common.opt:476
+ msgid "Assume no NaNs or infinities are generated"
+ msgstr "Anta att inga NaN:er eller oändligheter genereras"
+
+-#: common.opt:479
++#: common.opt:480
+ msgid "Mark <register> as being unavailable to the compiler"
+ msgstr "Markera <register> som ej tillgängligt för kompilatorn"
+
+-#: common.opt:483
++#: common.opt:484
+ msgid "Don't allocate floats and doubles in extended-precision registers"
+ msgstr "Allokera inte float och double i register med utökad precision"
+
+-#: common.opt:489
+-msgid "Copy memory address constants into registers before use"
+-msgstr "Kopiera minnesadresskonstanter till register före de används"
++#: common.opt:488 common.opt:647 common.opt:855 common.opt:986 common.opt:1061
++msgid "Does nothing. Preserved for backward compatibility."
++msgstr "Gör ingenting. Bevarad för bakåtkompatibilitet."
+
+-#: common.opt:493
++#: common.opt:492
+ msgid "Perform a forward propagation pass on RTL"
+ msgstr "Utför ett framåtpropageringspass på RTL"
+
+-#: common.opt:500
++#: common.opt:499
+ msgid "Allow function addresses to be held in registers"
+ msgstr "Tillåt att funktionsadresser läggs i register"
+
+-#: common.opt:504
++#: common.opt:503
+ msgid "Place each function into its own section"
+ msgstr "Placera varje funktion i sin egen sektion"
+
+-#: common.opt:508
++#: common.opt:507
+ msgid "Perform global common subexpression elimination"
+ msgstr "Utför global eliminering av gemensamma deluttryck"
+
+-#: common.opt:512
++#: common.opt:511
+ msgid "Perform enhanced load motion during global common subexpression elimination"
+ msgstr "Utför förbättrad förflyttning av inläsning under global eliminering av gemensamma deluttryck"
+
+-#: common.opt:516
++#: common.opt:515
+ msgid "Perform store motion after global common subexpression elimination"
+ msgstr "Utför förflyttning av lagring efter global eliminering av gemensamma deluttryck"
+
+-#: common.opt:520
++#: common.opt:519
+ msgid "Perform redundant load after store elimination in global common subexpression"
+ msgstr "Utför eliminering av överflödig inläsning efter lagring i globala gemensamma deluttryck"
+
+-#: common.opt:525
++#: common.opt:524
+ msgid "Perform global common subexpression elimination after register allocation"
+ msgstr "Utför global eliminering av gemensamma deluttryck efter registertilldelning"
+
+-#: common.opt:530
++#: common.opt:529
+ msgid "Enable guessing of branch probabilities"
+ msgstr "Aktivera att grensannolikheter gissas"
+
+-#: common.opt:538
++#: common.opt:537
+ msgid "Process #ident directives"
+ msgstr "Hantera #ident-direktiv"
+
+-#: common.opt:542
++#: common.opt:541
+ msgid "Perform conversion of conditional jumps to branchless equivalents"
+ msgstr "Utför konvertering av villkorliga hopp till grenlösa motsvarigheter"
+
+-#: common.opt:546
++#: common.opt:545
+ msgid "Perform conversion of conditional jumps to conditional execution"
+ msgstr "Utför konvertering av villkorliga hopp till villkorlig exekvering"
+
+-#: common.opt:554
++#: common.opt:553
+ msgid "Do not generate .size directives"
+ msgstr "Generera inte .size-direktiv"
+
+-#: common.opt:563
++#: common.opt:562
+ msgid "Pay attention to the \"inline\" keyword"
+ msgstr "Ta hänsyn till nyckelordet \"inline\""
+
+-#: common.opt:567
++#: common.opt:566
+ msgid "Integrate simple functions into their callers when code size is known to not growth"
+ msgstr "Integrera enkla funktioner i deras anropare när det är klart att kodstorleken inte växer"
+
+-#: common.opt:571
++#: common.opt:570
+ msgid "Integrate simple functions into their callers"
+ msgstr "Integrera enkla funktioner i deras anropare"
+
+-#: common.opt:575
++#: common.opt:574
+ msgid "Integrate functions called once into their callers"
+ msgstr "Integrera funktioner anropade en gång i deras anropare"
+
+-#: common.opt:582
++#: common.opt:581
+ msgid "Limit the size of inlined functions to <number>"
+ msgstr "Begränsa storlek på inline-funktioner till <tal>"
+
+-#: common.opt:586
++#: common.opt:585
+ msgid "Instrument function entry and exit with profiling calls"
+ msgstr "Instrumentera funktionsingång och -utgång med profileringsanrop"
+
+-#: common.opt:590
++#: common.opt:589
+ msgid "-finstrument-functions-exclude-function-list=name,... Do not instrument listed functions"
+ msgstr "-finstrument-functions-exclude-function-list=namn,... Instrumentera inte uppräknade funktioner"
+
+-#: common.opt:594
++#: common.opt:593
+ msgid "-finstrument-functions-exclude-file-list=filename,... Do not instrument functions listed in files"
+ msgstr "-finstrument-functions-exclude-file-list=filenamn,... Instrumentera inte funktioner uppräknade i filerna"
+
+-#: common.opt:598
++#: common.opt:597
+ msgid "Perform Interprocedural constant propagation"
+ msgstr "Utför konstantpropagering mellan procedurer"
+
+-#: common.opt:602
++#: common.opt:601
+ msgid "Discover pure and const functions"
+ msgstr "Upptäck pure- och const-funktioner"
+
+-#: common.opt:606
++#: common.opt:605
+ msgid "Perform interprocedural points-to analysis"
+ msgstr "Utför pekar-på-analyser mellan procedurer"
+
+-#: common.opt:610
++#: common.opt:609
+ msgid "Discover readonly and non addressable static variables"
+ msgstr "Upptäck endast läsbara och icke adresserbara statiska variabler"
+
+-#: common.opt:614
++#: common.opt:613
+ msgid "Type based escape and alias analysis"
+ msgstr "Typbaserad analys av flykt och alias"
+
+ # Avhugget p.g.a. http://gcc.gnu.org/bugzilla/show_bug.cgi?id=34352
+ # Hela meddelandet är översatt
+-#: common.opt:618
++#: common.opt:617
+ msgid "Perform matrix layout flattening and transposing based"
+ msgstr "Utför tillplattning och transponering av matriser baserat på profileringsinformation"
+
+-#: common.opt:623
++#: common.opt:622
+ msgid "Perform structure layout optimizations based"
+ msgstr "Utför optimeringar av postutläggning baserat"
+
+-#: common.opt:628
++#: common.opt:627
+ msgid "Optimize induction variables on trees"
+ msgstr "Optimera induktionsvariabler på träd"
+
+-#: common.opt:632
++#: common.opt:631
+ msgid "Use jump tables for sufficiently large switch statements"
+ msgstr "Använd hopptabeller för tillräckligt stora switch-satser"
+
+-#: common.opt:636
++#: common.opt:635
+ msgid "Generate code for functions even if they are fully inlined"
+ msgstr "Generera kod för funktioner även om de är fullständigt inline:ade"
+
+-#: common.opt:640
++#: common.opt:639
+ msgid "Emit static const variables even if they are not used"
+ msgstr "Mata ut static const-variabler även om de inte används"
+
+-#: common.opt:644
++#: common.opt:643
+ msgid "Give external symbols a leading underscore"
+ msgstr "Ge externa symboler ett inledande understrykningstecken"
+
+-#: common.opt:648 common.opt:852 common.opt:983
+-msgid "Does nothing. Preserved for backward compatibility."
+-msgstr "Gör ingenting. Bevarad för bakåtkompatibilitet."
+-
+-#: common.opt:652
++#: common.opt:651
+ msgid "Set errno after built-in math functions"
+ msgstr "Sätt errno efter inbyggda matematikfunktioner"
+
+-#: common.opt:656
++#: common.opt:655
+ msgid "Report on permanent memory allocation"
+ msgstr "Rapportera om permanent minnesallokering"
+
+-#: common.opt:663
++#: common.opt:662
+ msgid "Attempt to merge identical constants and constant variables"
+ msgstr "Försök slå samman identiska konstanter och konstanta variabler"
+
+-#: common.opt:667
++#: common.opt:666
+ msgid "Attempt to merge identical constants across compilation units"
+ msgstr "Försök slå samman identiska konstanter mellan kompileringsenheter"
+
+-#: common.opt:671
++#: common.opt:670
++msgid "Attempt to merge identical debug strings across compilation units"
++msgstr "Försök slå samman identiska felsökningssträngar mellan kompileringsenheter"
++
++#: common.opt:674
+ msgid "Limit diagnostics to <number> characters per line. 0 suppresses line-wrapping"
+ msgstr "Begränsa felmeddelandens längd till <antal> tecken per rad. 0 stänger av radbrytning"
+
+-#: common.opt:675
++#: common.opt:678
+ msgid "Perform SMS based modulo scheduling before the first scheduling pass"
+ msgstr "Utför SMS-baserad modulo-schemaläggning före det första schemaläggningspasset"
+
+-#: common.opt:679
++#: common.opt:682
+ msgid "Perform SMS based modulo scheduling with register moves allowed"
+ msgstr "Utför SMS-baserad modulo-schemaläggning med tillåten registerförflyttning"
+
+-#: common.opt:683
++#: common.opt:686
+ msgid "Move loop invariant computations out of loops"
+ msgstr "Flytta slinginvarianta beräkningar ut från slingor"
+
+-#: common.opt:687
++#: common.opt:690
+ msgid "Add mudflap bounds-checking instrumentation for single-threaded program"
+ msgstr "Lägg till gränskontrollinstrumenteringen mudflap för enkeltrådade program"
+
+-#: common.opt:691
++#: common.opt:694
+ msgid "Add mudflap bounds-checking instrumentation for multi-threaded program"
+ msgstr "Lägg till gränskontrollinstrumenteringen mudflap för flertrådade program"
+
+-#: common.opt:695
++#: common.opt:698
+ msgid "Ignore read operations when inserting mudflap instrumentation"
+ msgstr "Ignorera läsoperationer när mudflap-instrumentering läggs in"
+
+-#: common.opt:699
++#: common.opt:702
+ msgid "Use the RTL dead code elimination pass"
+ msgstr "Använd passet på RTL för eliminering av död kod"
+
+-#: common.opt:703
++#: common.opt:706
+ msgid "Use the RTL dead store elimination pass"
+ msgstr "Använd passet på RTL för eliminering av död lagring"
+
+-#: common.opt:707
++#: common.opt:710
+ msgid "Enable/Disable the traditional scheduling in loops that already passed modulo scheduling"
+ msgstr "Aktivera/deaktivera den traditionella schemaläggningen i slingor som redan passerat modulo-schemaläggning"
+
+-#: common.opt:711
++#: common.opt:714
+ msgid "Support synchronous non-call exceptions"
+ msgstr "Stöd synkrona icke-anropsundantag"
+
+-#: common.opt:715
++#: common.opt:718
+ msgid "When possible do not generate stack frames"
+ msgstr "Låt bli att generera stackramar när det är möjligt"
+
+-#: common.opt:719
++#: common.opt:722
+ msgid "Expand OpenMP operations on SSA form"
+ msgstr "Expandera OpenMP-operationer i SSA-form"
+
+-#: common.opt:723
++#: common.opt:726
+ msgid "Do the full register move optimization pass"
+ msgstr "Gör det fullständiga registerförflyttningsoptimeringspasset"
+
+-#: common.opt:727
++#: common.opt:730
+ msgid "Optimize sibling and tail recursive calls"
+ msgstr "Optimera syskon- och svansrekursiva anrop"
+
+-#: common.opt:731 common.opt:735
++#: common.opt:734 common.opt:738
+ msgid "Report on memory allocation before interprocedural optimization"
+ msgstr "Rapportera minnesallokering för interprocedurella optimeringar"
+
+-#: common.opt:739
++#: common.opt:742
+ msgid "Pack structure members together without holes"
+ msgstr "Packa ihop postmedlemmar utan hål"
+
+-#: common.opt:743
++#: common.opt:746
+ msgid "Set initial maximum structure member alignment"
+ msgstr "Ange initial maximal justering för postmedlemmar"
+
+-#: common.opt:747
++#: common.opt:750
+ msgid "Return small aggregates in memory, not registers"
+ msgstr "Returnera små aggregat i minne, inte register"
+
+-#: common.opt:751
++#: common.opt:754
+ msgid "Perform loop peeling"
+ msgstr "Utför slingavskalning"
+
+-#: common.opt:755
++#: common.opt:758
+ msgid "Enable machine specific peephole optimizations"
+ msgstr "Aktivera maskinspecifika nyckelhålsoptimeringar"
+
+-#: common.opt:759
++#: common.opt:762
+ msgid "Enable an RTL peephole pass before sched2"
+ msgstr "Aktivera ett RTL-nyckelhålspass före sched2"
+
+-#: common.opt:763
++#: common.opt:766
+ msgid "Generate position-independent code if possible (large mode)"
+ msgstr "Generera positionsoberoende kod om möjligt (stort läge)"
+
+-#: common.opt:767
++#: common.opt:770
+ msgid "Generate position-independent code for executables if possible (large mode)"
+ msgstr "Generera positionsoberoende kod för körbara program om möjligt (stort läge)"
+
+-#: common.opt:771
++#: common.opt:774
+ msgid "Generate position-independent code if possible (small mode)"
+ msgstr "Generera positionsoberoende kod om möjligt (litet läge)"
+
+-#: common.opt:775
++#: common.opt:778
+ msgid "Generate position-independent code for executables if possible (small mode)"
+ msgstr "Generera positionsoberoende kod för körbara program om möjligt (litet läge)"
+
+-#: common.opt:779
++#: common.opt:782
+ msgid "Run predictive commoning optimization."
+ msgstr "Kör optimeringar för predikativ gemensamning."
+
+-#: common.opt:783
++#: common.opt:786
+ msgid "Generate prefetch instructions, if available, for arrays in loops"
+ msgstr "Generera förhandshämtningsinstruktioner (prefetch), om tillgängliga, för vektorer i slingor"
+
+-#: common.opt:787
++#: common.opt:790
+ msgid "Enable basic program profiling code"
+ msgstr "Aktivera grundläggande programprofileringskod"
+
+-#: common.opt:791
++#: common.opt:794
+ msgid "Insert arc-based program profiling code"
+ msgstr "Lägg in bågbaserad programprofileringskod"
+
+-#: common.opt:795
++#: common.opt:798
+ msgid "Enable common options for generating profile info for profile feedback directed optimizations"
+ msgstr "Aktivera vanliga flaggor för att generera profileringsinformation för optimeringar styrda av återmatad profil"
+
+-#: common.opt:799
++#: common.opt:802
+ msgid "Enable common options for performing profile feedback directed optimizations"
+ msgstr "Aktivera vanliga flaggor för att utföra optimeringar styrda av återmatad profil"
+
+-#: common.opt:803
++#: common.opt:806
+ msgid "Insert code to profile values of expressions"
+ msgstr "Lägg in kod för att profilera värden av uttryck"
+
+-#: common.opt:810
++#: common.opt:813
+ msgid "Make compile reproducible using <string>"
+ msgstr "Gör kompileringen reproducerbar med <sträng>"
+
+-#: common.opt:820
++#: common.opt:823
+ msgid "Record gcc command line switches in the object file."
+ msgstr "Notera gcc:s kommandoradsflaggor i objektfilen."
+
+-#: common.opt:824
++#: common.opt:827
+ msgid "Return small aggregates in registers"
+ msgstr "Returnera små poster i register"
+
+-#: common.opt:828
++#: common.opt:831
+ msgid "Enables a register move optimization"
+ msgstr "Aktiverar en registerförflyttningsoptimering"
+
+-#: common.opt:832
++#: common.opt:835
+ msgid "Perform a register renaming optimization pass"
+ msgstr "Utför ett optimeringspass med registernamnbyten"
+
+-#: common.opt:836
++#: common.opt:839
+ msgid "Reorder basic blocks to improve code placement"
+ msgstr "Flytta om grundblock för att förbättra kodplacering"
+
+-#: common.opt:840
++#: common.opt:843
+ msgid "Reorder basic blocks and partition into hot and cold sections"
+ msgstr "Flytta om grundblock och partitioner till varma och kalla sektioner"
+
+-#: common.opt:844
++#: common.opt:847
+ msgid "Reorder functions to improve code placement"
+ msgstr "Flytta om funktioner för att förbättra kodplacering"
+
+-#: common.opt:848
++#: common.opt:851
+ msgid "Add a common subexpression elimination pass after loop optimizations"
+ msgstr "Lägg till ett pass för eliminering av gemensamma deluttryck efter slingoptimeringar"
+
+-#: common.opt:856
++#: common.opt:859
+ msgid "Disable optimizations that assume default FP rounding behavior"
+ msgstr "Avaktivera optimeringar som antar standardmässig avrundningsbeteende för FP"
+
+-#: common.opt:860
++#: common.opt:863
+ msgid "Enable scheduling across basic blocks"
+ msgstr "Aktivera schemaläggning mellan grundblock"
+
+-#: common.opt:864
++#: common.opt:867
+ msgid "Allow speculative motion of non-loads"
+ msgstr "Tillåt spekulativ förflyttning av icke-inläsningar"
+
+-#: common.opt:868
++#: common.opt:871
+ msgid "Allow speculative motion of some loads"
+ msgstr "Tillåt spekulativ förflyttning av några inläsningar"
+
+-#: common.opt:872
++#: common.opt:875
+ msgid "Allow speculative motion of more loads"
+ msgstr "Tillåt spekulativ förflyttning av fler inläsningar"
+
+-#: common.opt:876
++#: common.opt:879
+ msgid "Set the verbosity level of the scheduler"
+ msgstr "Ange hur mångordig schemaläggaren skall vara"
+
+-#: common.opt:880
++#: common.opt:883
+ msgid "If scheduling post reload, do superblock scheduling"
+ msgstr "Om schemaläggning efter omläsning, gör superblockschemaläggning"
+
+-#: common.opt:884
++#: common.opt:887
+ msgid "If scheduling post reload, do trace scheduling"
+ msgstr "Om schemaläggning efter omläsning, gör spårningsschemaläggning"
+
+-#: common.opt:888
++#: common.opt:891
+ msgid "Reschedule instructions before register allocation"
+ msgstr "Schemalägg om instruktioner före registertilldelning"
+
+-#: common.opt:892
++#: common.opt:895
+ msgid "Reschedule instructions after register allocation"
+ msgstr "Schemalägg om instruktioner efter registertilldelning"
+
+-#: common.opt:898
++#: common.opt:901
+ msgid "Allow premature scheduling of queued insns"
+ msgstr "Tillåt förtida schemaläggning av köade instruktioner"
+
+-#: common.opt:902
++#: common.opt:905
+ msgid "Set number of queued insns that can be prematurely scheduled"
+ msgstr "Ange antalet köade instruktioner som kan schemaläggas i förtid"
+
+-#: common.opt:910 common.opt:914
++#: common.opt:913 common.opt:917
+ msgid "Set dependence distance checking in premature scheduling of queued insns"
+ msgstr "Sätt beroendeavståndet som kontrolleras i förtida schemaläggning av köade instruktioner"
+
+-#: common.opt:918
++#: common.opt:921
+ msgid "Access data in the same section from shared anchor points"
+ msgstr "Nå data i samma sektion från delade förankringspunkter"
+
+-#: common.opt:922
++#: common.opt:925
+ msgid "Perform sequence abstraction optimization on RTL"
+ msgstr "Utför sekvensabstraktionsoptimeringar på RTL"
+
+-#: common.opt:926
++#: common.opt:929
+ msgid "Eliminate redundant sign extensions using LCM."
+ msgstr "Eliminera överflödiga teckenutvidgningar med LCM."
+
+-#: common.opt:930
++#: common.opt:933
+ msgid "Show column numbers in diagnostics, when available. Default off"
+ msgstr "Visa kolumnnummer i felmeddelanden, när de är tillgängliga. Normalt av"
+
+-#: common.opt:934
++#: common.opt:937
+ msgid "Disable optimizations observable by IEEE signaling NaNs"
+ msgstr "Avaktivera optimeringar som kan observeras av IEEE signalerande NAN:ar"
+
+-#: common.opt:938
++#: common.opt:941
+ msgid "Disable floating point optimizations that ignore the IEEE signedness of zero"
+ msgstr "Avaktivera flyttalsoptimeringar som ignorera IEEE:s tecken på noll"
+
+-#: common.opt:942
++#: common.opt:945
+ msgid "Convert floating point constants to single precision constants"
+ msgstr "Konvertera flyttalskonstanter till konstanter med enkel precision"
+
+-#: common.opt:946
++#: common.opt:949
+ msgid "Split lifetimes of induction variables when loops are unrolled"
+ msgstr "Dela livstiden på induktionsvariabler när slingor rullas ut"
+
+-#: common.opt:950
++#: common.opt:953
+ msgid "Split wide types into independent registers"
+ msgstr "Dela upp breda typer i oberoende register"
+
+-#: common.opt:954
++#: common.opt:957
+ msgid "Apply variable expansion when loops are unrolled"
+ msgstr "Tillämpa variabelexpansion när slingor rullas ut"
+
+-#: common.opt:960
++#: common.opt:963
+ msgid "Insert stack checking code into the program"
+ msgstr "Lägg in stackkontrollkod i programmet"
+
+-#: common.opt:967
++#: common.opt:970
+ msgid "Trap if the stack goes past <register>"
+ msgstr "Fånga om stacken går förbi <register>"
+
+-#: common.opt:971
++#: common.opt:974
+ msgid "Trap if the stack goes past symbol <name>"
+ msgstr "Fånga om stacken går förbi symbolen <namn>"
+
+-#: common.opt:975
++#: common.opt:978
+ msgid "Use propolice as a stack protection method"
+ msgstr "Använd propolice som en metod att skydda stacken"
+
+-#: common.opt:979
++#: common.opt:982
+ msgid "Use a stack protection method for every function"
+ msgstr "Använd en metod att skydda stacken för varje funktion"
+
+-#: common.opt:991
++#: common.opt:994
+ msgid "Assume strict aliasing rules apply"
+ msgstr "Anta att strikta aliasregler gäller"
+
+-#: common.opt:995
++#: common.opt:998
+ msgid "Treat signed overflow as undefined"
+ msgstr "Behandla spill med tecken som odefinierat"
+
+-#: common.opt:999
++#: common.opt:1002
+ msgid "Check for syntax errors, then stop"
+ msgstr "Leta efter syntaxfel, stoppa sedan"
+
+-#: common.opt:1003
++#: common.opt:1006
+ msgid "Create data files needed by \"gcov\""
+ msgstr "Skapa datafiler som behövs av \"gcov\""
+
+-#: common.opt:1007
++#: common.opt:1010
+ msgid "Perform jump threading optimizations"
+ msgstr "Utför hopptrådningsoptimeringar"
+
+-#: common.opt:1011
++#: common.opt:1014
+ msgid "Report the time taken by each compiler pass"
+ msgstr "Rapportera tiden som går åt för varje kompilatorpass"
+
+-#: common.opt:1015
++#: common.opt:1018
+ msgid "Set the default thread-local storage code generation model"
+ msgstr "Ange normal kodgenereringsmodell för trådlokal lagring"
+
+-#: common.opt:1019
++#: common.opt:1022
+ msgid "Reorder top level functions, variables, and asms"
+ msgstr "Ordna om toppnivåfunktioner, variabler och asm:ar"
+
+-#: common.opt:1023
++#: common.opt:1026
+ msgid "Perform superblock formation via tail duplication"
+ msgstr "Utför superblockformering via svansduplicering"
+
+-#: common.opt:1030
++#: common.opt:1033
+ msgid "Assume floating-point operations can trap"
+ msgstr "Anta att flyttalsoperationer kan utlösa fällor"
+
+-#: common.opt:1034
++#: common.opt:1037
+ msgid "Trap for signed overflow in addition, subtraction and multiplication"
+ msgstr "Fånga teckenspill i addition, subtraktion och multiplikation"
+
+-#: common.opt:1038
++#: common.opt:1041
+ msgid "Enable SSA-CCP optimization on trees"
+ msgstr "Aktivera SSA-CCP-optimering av träd"
+
+-#: common.opt:1042
++#: common.opt:1045
+ msgid "Enable SSA-CCP optimization for stores and loads"
+ msgstr "Aktivera SSA-CCP-optimering av lagring och laddning"
+
+-#: common.opt:1046
++#: common.opt:1049
+ msgid "Enable loop header copying on trees"
+ msgstr "Aktivera slinghuvdkopiering av träd"
+
+-#: common.opt:1050
++#: common.opt:1053
+ msgid "Replace SSA temporaries with better names in copies"
+ msgstr "Ersätt SSA-temporärer med bättre namn i kopieringar"
+
+-#: common.opt:1054
++#: common.opt:1057
+ msgid "Enable copy propagation on trees"
+ msgstr "Aktivera kopiepropagering i träd"
+
+-#: common.opt:1058
+-msgid "This switch is obsolete"
+-msgstr "Denna flagga är föråldrad"
+-
+-#: common.opt:1062
++#: common.opt:1065
+ msgid "Transform condition stores into unconditional ones"
+ msgstr "Transformera villkorliga lagringar till ovillkorliga"
+
+-#: common.opt:1066
++#: common.opt:1069
+ msgid "Enable SSA dead code elimination optimization on trees"
+ msgstr "Aktivera eliminering av död kod i SSA-optimeringen i träd"
+
+-#: common.opt:1070
++#: common.opt:1073
+ msgid "Enable dominator optimizations"
+ msgstr "Aktivera dominatoroptimeringar"
+
+-#: common.opt:1074
++#: common.opt:1077
+ msgid "Enable dead store elimination"
+ msgstr "Aktivera eliminering av död lagring"
+
+-#: common.opt:1078
++#: common.opt:1081
+ msgid "Enable Full Redundancy Elimination (FRE) on trees"
+ msgstr "Aktivera fullständig överflödseliminering (FRE) i träd"
+
+-#: common.opt:1082
++#: common.opt:1085
+ msgid "Enable loop invariant motion on trees"
+ msgstr "Aktivera förflyttning av slingoberoende delar i träd"
+
+-#: common.opt:1086
++#: common.opt:1089
+ msgid "Enable linear loop transforms on trees"
+ msgstr "Aktivera linjära slingtransformationer på träd"
+
+-#: common.opt:1090
++#: common.opt:1093
+ msgid "Create canonical induction variables in loops"
+ msgstr "Skapa kanoniska induktionsvariabler i slingor"
+
+-#: common.opt:1094
++#: common.opt:1097
+ msgid "Enable loop optimizations on tree level"
+ msgstr "Aktivera slingoptimeringar på trädnivå"
+
+-#: common.opt:1098
++#: common.opt:1101
+ msgid "Enable automatic parallelization of loops"
+ msgstr "Aktivera automatisk parallellisering av slingor"
+
+-#: common.opt:1102
++#: common.opt:1105
+ msgid "Enable SSA-PRE optimization on trees"
+ msgstr "Aktivera SSA-PRE-optimeringar i träd"
+
+-#: common.opt:1106
++#: common.opt:1109
+ msgid "Enable reassociation on tree level"
+ msgstr "Aktivera återassociering på trädnivå"
+
+-#: common.opt:1110
++#: common.opt:1113
+ msgid "Perform structural alias analysis"
+ msgstr "Utför strukturell aliasanalys"
+
+-#: common.opt:1114
++#: common.opt:1117
+ msgid "Enable SSA code sinking on trees"
+ msgstr "Aktivera SSA-kodsänkning i träd"
+
+-#: common.opt:1118
++#: common.opt:1121
+ msgid "Perform scalar replacement of aggregates"
+ msgstr "Utför skalärersättning av aggregat"
+
+-#: common.opt:1122
++#: common.opt:1125
+ msgid "Replace temporary expressions in the SSA->normal pass"
+ msgstr "Ersätt tillfälliga uttryck i passet SSA->normal"
+
+-#: common.opt:1126
++#: common.opt:1129
+ msgid "Perform live range splitting during the SSA->normal pass"
+ msgstr "Utför livstidsuppdelning under passet SSA->normal"
+
+-#: common.opt:1130
++#: common.opt:1133
+ msgid "Perform Value Range Propagation on trees"
+ msgstr "Utför propagering av värdeintervall i träd"
+
+-#: common.opt:1134
++#: common.opt:1137
+ msgid "Compile whole compilation unit at a time"
+ msgstr "Kompilera en hel kompileringsenhet åt gången"
+
+-#: common.opt:1138
++#: common.opt:1141
+ msgid "Perform loop unrolling when iteration count is known"
+ msgstr "Utför slingutrullning när iterationsantalet är känt"
+
+-#: common.opt:1142
++#: common.opt:1145
+ msgid "Perform loop unrolling for all loops"
+ msgstr "Utför slingutrullning för alla slingor"
+
+-#: common.opt:1149
++#: common.opt:1152
+ msgid "Allow loop optimizations to assume that the loops behave in normal way"
+ msgstr "Tillåt slingoptimeringar att anta att slingorna beter sig normalt"
+
+ # Avhugget p.g.a. http://gcc.gnu.org/bugzilla/show_bug.cgi?id=34352
+ # Hela meddelandet är översatt
+-#: common.opt:1153
++#: common.opt:1156
+ msgid "Allow optimization for floating-point arithmetic which may change the"
+ msgstr "Tillåt optimeringar för flyttalsaritmetik som kan ändra resultatet av operationen på grund av avrundning"
+
+-#: common.opt:1158
++#: common.opt:1161
+ msgid "Same as -fassociative-math for expressions which include division."
+ msgstr "Samma som -fassociative-math för uttryck som inkluderar division."
+
+-#: common.opt:1166
++#: common.opt:1169
+ msgid "Allow math optimizations that may violate IEEE or ISO standards"
+ msgstr "Tillåt matematikoptimeringar som kan strida mot IEEE- eller ISO-standarder"
+
+-#: common.opt:1170
++#: common.opt:1173
+ msgid "Perform loop unswitching"
+ msgstr "Utför slingavväxling"
+
+-#: common.opt:1174
++#: common.opt:1177
+ msgid "Just generate unwind tables for exception handling"
+ msgstr "Generera bara upprullningstabeller för undantagshantering"
+
+-#: common.opt:1178
++#: common.opt:1181
+ msgid "Perform variable tracking"
+ msgstr "Utför variabelspårning"
+
+-#: common.opt:1182
++#: common.opt:1185
+ msgid "Perform variable tracking and also tag variables that are uninitialized"
+ msgstr "Utför variabelspårning och tagga också variabler som är oinitierade"
+
+-#: common.opt:1186
++#: common.opt:1189
+ msgid "Enable loop vectorization on trees"
+ msgstr "Aktivera slingvektorisering i träd"
+
+-#: common.opt:1190
++#: common.opt:1193
+ msgid "Enable use of cost model in vectorization"
+ msgstr "Aktivera användning av kostnadsmodell vid vektorisering"
+
+-#: common.opt:1194
++#: common.opt:1197
+ msgid "Enable loop versioning when doing loop vectorization on trees"
+ msgstr "Aktivera slingversioner när slingvektorisering i träd görs"
+
+-#: common.opt:1198
++#: common.opt:1201
+ msgid "Set the verbosity level of the vectorizer"
+ msgstr "Sätt pratsamhetsnivå för vektoriseraren"
+
+-#: common.opt:1202
++#: common.opt:1205
+ msgid "Enable copy propagation of scalar-evolution information."
+ msgstr "Aktivera kopiepropagering av skalärutvecklingsinformation."
+
+-#: common.opt:1212
++#: common.opt:1215
+ msgid "Add extra commentary to assembler output"
+ msgstr "Lägg till extra kommentarer till assemblerutdata"
+
+-#: common.opt:1216
++#: common.opt:1219
+ msgid "Set the default symbol visibility"
+ msgstr "Ange normalsynlighet för symboler"
+
+-#: common.opt:1221
++#: common.opt:1224
+ msgid "Use expression value profiles in optimizations"
+ msgstr "Använd uttrycksvärdeprofiler i optimeringar"
+
+-#: common.opt:1225
++#: common.opt:1228
+ msgid "Construct webs and split unrelated uses of single variable"
+ msgstr "Konstruera nät och dela orelaterade användningar av en enskild variabel"
+
+-#: common.opt:1229
++#: common.opt:1232
+ msgid "Perform whole program optimizations"
+ msgstr "Utför optimering av hela program"
+
+-#: common.opt:1233
++#: common.opt:1236
+ msgid "Assume signed arithmetic overflow wraps around"
+ msgstr "Anta att spill vid teckenaritmetik slår runt"
+
+-#: common.opt:1237
++#: common.opt:1240
+ msgid "Put zero initialized data in the bss section"
+ msgstr "Lägg nollinitierad data i bss-sektionen"
+
+-#: common.opt:1241
++#: common.opt:1244
+ msgid "Generate debug information in default format"
+ msgstr "Generera felsökningsinformation i standardformat"
+
+-#: common.opt:1245
++#: common.opt:1248
+ msgid "Generate debug information in COFF format"
+ msgstr "Generera felsökningsinformation i COFF-format"
+
+-#: common.opt:1249
++#: common.opt:1252
+ msgid "Generate debug information in DWARF v2 format"
+ msgstr "Generera felsökningsinformation i DWARF v2-format"
+
+-#: common.opt:1253
++#: common.opt:1256
+ msgid "Generate debug information in default extended format"
+ msgstr "Generera felsökningsinformation i normalt utökat format"
+
+-#: common.opt:1257
++#: common.opt:1260
+ msgid "Generate debug information in STABS format"
+ msgstr "Generera felsökningsinformation i STABS-format"
+
+-#: common.opt:1261
++#: common.opt:1264
+ msgid "Generate debug information in extended STABS format"
+ msgstr "Generera felsökningsinformation i utökat STABS-format"
+
+-#: common.opt:1265
++#: common.opt:1268
+ msgid "Generate debug information in VMS format"
+ msgstr "Generera felsökningsinformation i VMS-format"
+
+-#: common.opt:1269
++#: common.opt:1272
+ msgid "Generate debug information in XCOFF format"
+ msgstr "Generera felsökningsinformation i XCOFF-format"
+
+-#: common.opt:1273
++#: common.opt:1276
+ msgid "Generate debug information in extended XCOFF format"
+ msgstr "Generera felsökningsinformation i utökat XCOFF-format"
+
+-#: common.opt:1277
++#: common.opt:1280
+ msgid "Place output into <file>"
+ msgstr "Skriv utdata i <fil>"
+
+-#: common.opt:1281
++#: common.opt:1284
+ msgid "Enable function profiling"
+ msgstr "Aktivera funktionsprofilering"
+
+-#: common.opt:1285
++#: common.opt:1288
+ msgid "Issue warnings needed for strict compliance to the standard"
+ msgstr "Ge varningar som krävs för att strikt följa standarden"
+
+-#: common.opt:1289
++#: common.opt:1292
+ msgid "Like -pedantic but issue them as errors"
+ msgstr "Som -pedantic men ange dem som fel"
+
+-#: common.opt:1293
++#: common.opt:1296
+ msgid "Do not display functions compiled or elapsed time"
+ msgstr "Visa inte kompilerade funktioner eller tiden som förbrukats"
+
+-#: common.opt:1297
++#: common.opt:1300
+ msgid "Display the compiler's version"
+ msgstr "Visa kompilatorns version"
+
+-#: common.opt:1301
++#: common.opt:1304
+ msgid "Suppress warnings"
+ msgstr "Undertryck varningar"
+
+-#: common.opt:1305
++#: common.opt:1308
+ msgid "Create a shared library"
+ msgstr "Skapa ett delat bibliotek"
+
+-#: common.opt:1309
++#: common.opt:1312
+ msgid "Create a position independent executable"
+ msgstr "Skapa ett positionsoberoende körbart program"
+
++#: c.opt:41
++msgid "Assert the <answer> to <question>. Putting '-' before <question> disables the <answer> to <question>"
++msgstr "Intyga <svar> på <fråga>. Om \"-\" sätts före <fråga> avaktiveras <svar>et till <fråga>n"
++
++#: c.opt:45
++msgid "Do not discard comments"
++msgstr "Kasta inte kommentarer"
++
++#: c.opt:49
++msgid "Do not discard comments in macro expansions"
++msgstr "Släng inte kommentarer vid makroexpansioner"
++
++#: c.opt:53
++msgid "Define a <macro> with <val> as its value. If just <macro> is given, <val> is taken to be 1"
++msgstr "Definiera ett <makro> med <värde> som sitt värde. Om bara <makro> anges sätts <värde> till 1"
++
++#: c.opt:60
++msgid "Add <dir> to the end of the main framework include path"
++msgstr "Lägg till <kat> till slutet av huvudramverkets inkluderingssökväg"
++
++#: c.opt:64
++msgid "Print the name of header files as they are used"
++msgstr "Skriv ut namnet på huvudfiler allteftersom de används"
++
++#: c.opt:68 c.opt:863
++msgid "Add <dir> to the end of the main include path"
++msgstr "Lägg till <kat> till slutet av huvudsökvägen"
++
++#: c.opt:72
++msgid "Generate make dependencies"
++msgstr "Generera make-beroenden"
++
++#: c.opt:76
++msgid "Generate make dependencies and compile"
++msgstr "Generera make-beroenden och kompilera"
++
++#: c.opt:80
++msgid "Write dependency output to the given file"
++msgstr "Skriv beroendeutdata till den angivna filen"
++
++#: c.opt:84
++msgid "Treat missing header files as generated files"
++msgstr "Behandla saknade huvudfiler som genererade filer"
++
++#: c.opt:88
++msgid "Like -M but ignore system header files"
++msgstr "Som -M men ignorera systemhuvudfiler"
++
++#: c.opt:92
++msgid "Like -MD but ignore system header files"
++msgstr "Som -MD men ignorera systemhuvudfiler"
++
++#: c.opt:96
++msgid "Generate phony targets for all headers"
++msgstr "Generera låtsasmål för alla huvuden"
++
++#: c.opt:100
++msgid "Add a MAKE-quoted target"
++msgstr "Lägg till ett MAKE-citerat mål"
++
++#: c.opt:104
++msgid "Add an unquoted target"
++msgstr "Lägg till ett ociterat mål"
++
++#: c.opt:108
++msgid "Do not generate #line directives"
++msgstr "Generera inte #line-direktiv"
++
++#: c.opt:112
++msgid "Undefine <macro>"
++msgstr "Avdefiniera <makro>"
++
++#: c.opt:116
++msgid "Warn about things that will change when compiling with an ABI-compliant compiler"
++msgstr "Varna för saker som skulle ändras vid kompilering med en kompilator som följer ABI"
++
++#: c.opt:120
++msgid "Warn about suspicious uses of memory addresses"
++msgstr "Varna för misstänkt användning av minnesadresser"
++
++#: c.opt:124
++msgid "Enable most warning messages"
++msgstr "Aktivera de flesta varningsmeddelanden"
++
++#: c.opt:128
++msgid "Warn if a comparison is always true or always false due to the limited range of the data type"
++msgstr "Varna om en jämförelse alltid är sann eller falsk på grund av begränsat intervall för datatypen"
++
++#: c.opt:132
++msgid "Warn whenever an Objective-C assignment is being intercepted by the garbage collector"
++msgstr "Varna när en Objective-C-tilldelning fångas upp av skräpsamlaren"
++
++#: c.opt:136
++msgid "Warn about casting functions to incompatible types"
++msgstr "Varna för typkonvertering av funktioner till inkompatibla typer"
++
++#: c.opt:140
++msgid "Warn about C constructs that are not in the common subset of C and C++"
++msgstr "Varna för C-konstruktioner som inte är i den gemensamma delmängden av C och C++"
++
++#: c.opt:144
++msgid "Warn about C++ constructs whose meaning differs between ISO C++ 1998 and ISO C++ 200x"
++msgstr "Varna för C++-konstruktioner vars betydelse skiljer mellan ISO C++ 1998 och ISO C++ 200x"
++
++#: c.opt:148
++msgid "Warn about casts which discard qualifiers"
++msgstr "Varna för typkonvertering som slänger kvalificerare"
++
++#: c.opt:152
++msgid "Warn about subscripts whose type is \"char\""
++msgstr "Varna för index vars typ är \"char\""
++
++#: c.opt:156
++msgid "Warn about variables that might be changed by \"longjmp\" or \"vfork\""
++msgstr "Varna för variabler som kan ändras av \"longjmp\" eller \"vfork\""
++
++#: c.opt:160
++msgid "Warn about possibly nested block comments, and C++ comments spanning more than one physical line"
++msgstr "Varna för möjliga nästade blockkommentarer, och C++-kommentarer som spänner över mer än en fysisk rad"
++
++#: c.opt:164
++msgid "Synonym for -Wcomment"
++msgstr "Synonym för -Wcomment"
++
++#: c.opt:168
++msgid "Warn for implicit type conversions that may change a value"
++msgstr "Varna för implicita typkonverteringar som kan ändra ett värde"
++
++#: c.opt:172
++msgid "Warn for implicit type conversions between signed and unsigned integers"
++msgstr "Varna för implicita typkonverteringar mellan heltalsuttryck med och utan tecken"
++
++#: c.opt:176
++msgid "Warn when all constructors and destructors are private"
++msgstr "Varna när ett alla konstruerare och destruerare är privata"
++
++#: c.opt:180
++msgid "Warn when a declaration is found after a statement"
++msgstr "Varna när en deklaration hittas efter en sats"
++
++#: c.opt:184
++msgid "Warn about deprecated compiler features"
++msgstr "Varna för kompilatorfunktioner bör undvikas"
++
++#: c.opt:188
++msgid "Warn about compile-time integer division by zero"
++msgstr "Varna för heltalsdivision med noll vid kompileringstillfället"
++
++#: c.opt:192
++msgid "Warn about violations of Effective C++ style rules"
++msgstr "Varna för brott mot stilreglerna i Effective C++"
++
++#: c.opt:196
++msgid "Warn about an empty body in an if or else statement"
++msgstr "Varna för en tom kropp i en if- eller else-sats"
++
++#: c.opt:200
++msgid "Warn about stray tokens after #elif and #endif"
++msgstr "Varna för vilsekomna symboler efter #elif och #endif"
++
++#: c.opt:208
++msgid "This switch is deprecated; use -Werror=implicit-function-declaration instead"
++msgstr "Denna flagga bör undvikas, använd -Werror=implicit-function-declaration istället"
++
++#: c.opt:212
++msgid "Warn if testing floating point numbers for equality"
++msgstr "Varna vid test av flyttal på likhet"
++
++#: c.opt:216
++msgid "Warn about printf/scanf/strftime/strfmon format string anomalies"
++msgstr "Varna för anomalier i formatsträngar till printf/scanf/strftime/strfmon"
++
++#: c.opt:220
++msgid "Warn if passing too many arguments to a function for its format string"
++msgstr "Varna för för många argument argument till en funktion för dess formatsträng"
++
++#: c.opt:224
++msgid "Warn about format strings that are not literals"
++msgstr "Varna för formatsträngar som inte är literaler"
++
++#: c.opt:228
++msgid "Warn about format strings that contain NUL bytes"
++msgstr "Varna för formatsträngar som innehåller NUL-byte:ar"
++
++#: c.opt:232
++msgid "Warn about possible security problems with format functions"
++msgstr "Varna för möjliga säkerhetsproblem med formatfunktioner"
++
++#: c.opt:236
++msgid "Warn about strftime formats yielding 2-digit years"
++msgstr "Varna för format till strftime som ger 2-siffrigt årtal"
++
++#: c.opt:240
++msgid "Warn about zero-length formats"
++msgstr "Varna för format med längden noll"
++
++#: c.opt:247
++msgid "Warn whenever type qualifiers are ignored."
++msgstr "Varna när typkvalificerare ignoreras."
++
++#: c.opt:251
++msgid "Warn about variables which are initialized to themselves"
++msgstr "Varna för variabler som initieras till sig själva"
++
++#: c.opt:258
++msgid "Warn about implicit function declarations"
++msgstr "Varna för implicita funktionsdeklarationer"
++
++#: c.opt:262
++msgid "Warn when a declaration does not specify a type"
++msgstr "Varna när en deklaration inte anger en typ"
++
++#: c.opt:266
++msgid "Deprecated. This switch has no effect"
++msgstr "Avrådes ifrån. Denna flagga har ingen effekt"
++
++#: c.opt:270
++msgid "Warn when there is a cast to a pointer from an integer of a different size"
++msgstr "Varna för typkonverteringar till pekare från ett heltal med annan storlek"
++
++#: c.opt:274
++msgid "Warn about invalid uses of the \"offsetof\" macro"
++msgstr "Varna för ogiltiga användningar av makrot \"offsetof\""
++
++#: c.opt:278
++msgid "Warn about PCH files that are found but not used"
++msgstr "Varna för PCH-filer som hittas men inte används"
++
++#: c.opt:282
++msgid "Do not warn about using \"long long\" when -pedantic"
++msgstr "Varna inte om användning av \"long long\" vid -pedantic"
++
++#: c.opt:286
++msgid "Warn about suspicious declarations of \"main\""
++msgstr "Varna för tveksamma deklarationer av \"main\""
++
++#: c.opt:290
++msgid "Warn about possibly missing braces around initializers"
++msgstr "Varna för eventuellt saknade klamrar runt initierare"
++
++#: c.opt:294
++msgid "Warn about global functions without previous declarations"
++msgstr "Varna för globala globala funktioner utan tidigare deklaration"
++
++#: c.opt:298
++msgid "Warn about missing fields in struct initializers"
++msgstr "Varna för saknade fält i postinitierare"
++
++#: c.opt:302
++msgid "Warn about functions which might be candidates for format attributes"
++msgstr "Varna för funktioner som kan vara kandidater för formatattribut"
++
++#: c.opt:306
++msgid "Warn about user-specified include directories that do not exist"
++msgstr "Varna för användarangivna inkluderingskataloger som inte finns"
++
++#: c.opt:310
++msgid "Warn about function parameters declared without a type specifier in K&R-style functions"
++msgstr "Varna för funktionsparametrar som deklarerats utan en typangivelse i K&R-stilfunktioner"
++
++#: c.opt:314
++msgid "Warn about global functions without prototypes"
++msgstr "Varna för globala funktioner utan prototyper"
++
++#: c.opt:318
++msgid "Warn about use of multi-character character constants"
++msgstr "Varna vid användning av flerteckens teckenkonstant"
++
++#: c.opt:322
++msgid "Warn about \"extern\" declarations not at file scope"
++msgstr "Varna för \"extern\"-deklaration som inte är på filnivå"
++
++#: c.opt:326
++msgid "Warn when non-templatized friend functions are declared within a template"
++msgstr "Varna när en vänfuktion som inte är en mall deklareras inuti en mall"
++
++#: c.opt:330
++msgid "Warn about non-virtual destructors"
++msgstr "Varna för ickevirtuella destruerare"
++
++#: c.opt:334
++msgid "Warn about NULL being passed to argument slots marked as requiring non-NULL"
++msgstr "Varna om NULL skickas som argument som är markerade att de kräver icke-NULL"
++
++#: c.opt:338
++msgid "Warn about non-normalised Unicode strings"
++msgstr "Varna för icke normaliserade Unicodesträngar"
++
++#: c.opt:342
++msgid "Warn if a C-style cast is used in a program"
++msgstr "Varna för en typkonvertering i C-stil används i ett program"
++
++#: c.opt:346
++msgid "Warn for obsolescent usage in a declaration"
++msgstr "Varna för föråldrad användning i en deklaration"
++
++#: c.opt:350
++msgid "Warn if an old-style parameter definition is used"
++msgstr "Varna för en gammaldags parameterdefinition används"
++
++#: c.opt:354
++msgid "Warn if a string is longer than the maximum portable length specified by the standard"
++msgstr "Varna om en sträng är längre än den maximala portabla längden som anges i standarden"
++
++#: c.opt:358
++msgid "Warn about overloaded virtual function names"
++msgstr "Varna för överlagrade virtuella funktionsnamn"
++
++#: c.opt:362
++msgid "Warn about overriding initializers without side effects"
++msgstr "Varna för åsidosättande initierare utan sidoeffekter"
++
++#: c.opt:366
++msgid "Warn about possibly missing parentheses"
++msgstr "Varna för eventuellt saknade parenteser"
++
++#: c.opt:370
++msgid "Warn when converting the type of pointers to member functions"
++msgstr "Varna vid typkonvertering av pekare till medlemsfunktioner"
++
++#: c.opt:374
++msgid "Warn about function pointer arithmetic"
++msgstr "Varna för aritmetik med funktionspekare"
++
++#: c.opt:378
++msgid "Warn when a pointer is cast to an integer of a different size"
++msgstr "Varna när en pekare typkonverteras till ett heltal av annan storlek"
++
++#: c.opt:382
++msgid "Warn about misuses of pragmas"
++msgstr "Varna för missbruk av pragman"
++
++#: c.opt:386
++msgid "Warn if inherited methods are unimplemented"
++msgstr "Varna för ärvda metoder är oimplementerade"
++
++#: c.opt:390
++msgid "Warn about multiple declarations of the same object"
++msgstr "Varna för multipla deklarationer av samma objekt"
++
++#: c.opt:394
++msgid "Warn when the compiler reorders code"
++msgstr "Varna när kompilatorn ändrar ordning på kod"
++
++#: c.opt:398
++msgid "Warn whenever a function's return type defaults to \"int\" (C), or about inconsistent return types (C++)"
++msgstr "Varna när en funktions returtyp får \"int\" som skönsvärde (C), eller om inkonsistenta returtyper (C++)"
++
++#: c.opt:402
++msgid "Warn if a selector has multiple methods"
++msgstr "Varna för en väljare har multipla metoder"
++
++#: c.opt:406
++msgid "Warn about possible violations of sequence point rules"
++msgstr "Varna för möjliga brott mot sekvenspunktregler"
++
++#: c.opt:410
++msgid "Warn about signed-unsigned comparisons"
++msgstr "Varna för jämförelser mellan signed/unsigned"
++
++#: c.opt:414
++msgid "Warn when overload promotes from unsigned to signed"
++msgstr "Varna när överlagring anpassar från teckenlöst till med tecken"
++
++#: c.opt:418
++msgid "Warn about uncasted NULL used as sentinel"
++msgstr "Varna för ej typkonverterad NULL används som vaktpost"
++
++#: c.opt:422
++msgid "Warn about unprototyped function declarations"
++msgstr "Varna för funktionsdeklarationer utan prototyp"
++
++#: c.opt:426
++msgid "Warn if type signatures of candidate methods do not match exactly"
++msgstr "Varna för typsignaturer till kandidatmetoder inte stämmer exakt"
++
++#: c.opt:430
++msgid "Warn when synthesis behavior differs from Cfront"
++msgstr "Varna när syntesbeteendet skiljer från Cfront"
++
++#: c.opt:438
++msgid "Warn about features not present in traditional C"
++msgstr "Varna för funktioner som inte finns i traditionell C"
++
++#: c.opt:442
++msgid "Warn of prototypes causing type conversions different from what would happen in the absence of prototype"
++msgstr "Varna för prototyper som orsakar andra typkonverteringar än de som skulle skett i frånvaro av prototyp"
++
++#: c.opt:446
++msgid "Warn if trigraphs are encountered that might affect the meaning of the program"
++msgstr "Varna för trigrafer upptäcks som kan påverka betydelsen av programmet"
++
++#: c.opt:450
++msgid "Warn about @selector()s without previously declared methods"
++msgstr "Varna för @selector()er utan tidigare deklarerade metoder"
++
++#: c.opt:454
++msgid "Warn if an undefined macro is used in an #if directive"
++msgstr "Varna för ett odefinierat makro används i ett #if-direktiv"
++
++#: c.opt:458
++msgid "Warn about unrecognized pragmas"
++msgstr "Varna för okända pragman"
++
++#: c.opt:462
++msgid "Warn about macros defined in the main file that are not used"
++msgstr "Varna för makron definierade i huvudfilen som inte används"
++
++#: c.opt:466
++msgid "Do not warn about using variadic macros when -pedantic"
++msgstr "Varna inte om användning av variadiskt makro när -pedantic är på"
++
++#: c.opt:470
++msgid "Warn if a variable length array is used"
++msgstr "Varna om en vektor med variabel längd används"
++
++#: c.opt:474
++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 "I C++ betyder nollskilt att varna för konverteringar som bör undvikas från strängliteraler till \"char *\". I C en liknande varning, bortsett från att ISO C-standarden naturligtvis inte säger att standarden bör undvikas."
++
++#: c.opt:478
++msgid "Warn when a pointer differs in signedness in an assignment"
++msgstr "Varna när en pekare skiljer i teckenhet i en tilldelning"
++
++#: c.opt:482
++msgid "A synonym for -std=c89 (for C) or -std=c++98 (for C++)"
++msgstr "En synonym för -std=c89 (för C) or -std=c++98 (för C++)"
++
++#: c.opt:490
++msgid "Enforce class member access control semantics"
++msgstr "Upprätthåll åtkomstsemantik för klassmedlemmar"
++
++#: c.opt:497
++msgid "Change when template instances are emitted"
++msgstr "Ändra när mallinstanser skrivs ut"
++
++#: c.opt:501
++msgid "Recognize the \"asm\" keyword"
++msgstr "Känn igen nyckelordet \"asm\""
++
++#: c.opt:505
++msgid "Recognize built-in functions"
++msgstr "Känn igen inbyggda funktioner"
++
++#: c.opt:512
++msgid "Check the return value of new"
++msgstr "Kontrollera returvärdet av new"
++
++#: c.opt:516
++msgid "Allow the arguments of the '?' operator to have different types"
++msgstr "Tillåt argument till \"?\"-operatorn att ha olika typer"
++
++#: c.opt:520
++msgid "Reduce the size of object files"
++msgstr "Reducera storleken på objektfiler"
++
++#: c.opt:524
++msgid "Use class <name> for constant strings"
++msgstr "Använd klassen <namn> för konstanta strängar"
++
++#: c.opt:528
++msgid "Inline member functions by default"
++msgstr "Inline:a medlemsfunktioner som standard"
++
++#: c.opt:532
++msgid "Preprocess directives only."
++msgstr "Preprocessa endast direktiv."
++
++#: c.opt:536
++msgid "Permit '$' as an identifier character"
++msgstr "Tillåt \"$\" som ett identifierartecken"
++
++#: c.opt:543
++msgid "Generate code to check exception specifications"
++msgstr "Generera kod för att kontrollera undantagsspecifikationer"
++
++#: c.opt:550
++msgid "Convert all strings and character constants to character set <cset>"
++msgstr "Konvertera alla strängar och teckenkonstanter till teckenuppsättningen <tknst>"
++
++#: c.opt:554
++msgid "Permit universal character names (\\u and \\U) in identifiers"
++msgstr "Tillåt universella teckennamn (\\u och \\U) i identifierare"
++
++#: c.opt:558
++msgid "Specify the default character set for source files"
++msgstr "Ange standardteckenuppsättning för källkodsfiler"
++
++#: c.opt:566
++msgid "Scope of for-init-statement variables is local to the loop"
++msgstr "Räckvidden av for-init-satsvariabler är lokal till slingan"
++
++#: c.opt:570
++msgid "Do not assume that standard C libraries and \"main\" exist"
++msgstr "Anta inte att standard C-bibliotek och \"main\" finns"
++
++#: c.opt:574
++msgid "Recognize GNU-defined keywords"
++msgstr "Acceptera GNU-definierade nyckelord"
++
++#: c.opt:578
++msgid "Generate code for GNU runtime environment"
++msgstr "Generera kod för GNU:s körtidsmiljö"
++
++#: c.opt:582
++msgid "Use traditional GNU semantics for inline functions"
++msgstr "Använd traditionell C-semantik för inline-funktioner"
++
++#: c.opt:595
++msgid "Assume normal C execution environment"
++msgstr "Anta normal C-körmiljö"
++
++#: c.opt:599
++msgid "Enable support for huge objects"
++msgstr "Aktivera stöd för stora objekt"
++
++#: c.opt:603
++msgid "Export functions even if they can be inlined"
++msgstr "Exportera funktioner även om de kan inline:as"
++
++#: c.opt:607
++msgid "Emit implicit instantiations of inline templates"
++msgstr "Skapa implicita instansieringar av inline:ade mallar"
++
++#: c.opt:611
++msgid "Emit implicit instantiations of templates"
++msgstr "Skapa implicita instansieringar av mallar"
++
++#: c.opt:615
++msgid "Inject friend functions into enclosing namespace"
++msgstr "Skjut in friend-funktioner i omgivande namnrymd"
++
++#: c.opt:622
++msgid "Allow implicit conversions between vectors with differing numbers of subparts and/or differing element types."
++msgstr "Tillåt implicit konvertering mellan vektorer med olika antal underdelar och/eller olika elementtyper."
++
++#: c.opt:626
++msgid "Don't warn about uses of Microsoft extensions"
++msgstr "Varna inte om användning av Microsoftutökningar"
++
++#: c.opt:636
++msgid "Generate code for NeXT (Apple Mac OS X) runtime environment"
++msgstr "Generera kod för körtidsmiljön NeXT (Apple Mac OS X)"
++
++#: c.opt:640
++msgid "Assume that receivers of Objective-C messages may be nil"
++msgstr "Anta att mottagare av Objective-C-meddelanden kan var nil"
++
++#: c.opt:652
++msgid "Generate special Objective-C methods to initialize/destroy non-POD C++ ivars, if needed"
++msgstr "Generera speciella Objective-C-metoder för att initiera/destruera icke-POD-C++-ivariabler, om det behövs"
++
++#: c.opt:656
++msgid "Allow fast jumps to the message dispatcher"
++msgstr "Tillåt snabba hopp till meddelandehanteraren"
++
++#: c.opt:662
++msgid "Enable Objective-C exception and synchronization syntax"
++msgstr "Aktivera Objective-C-undantags- och synkroniseringssyntax"
++
++#: c.opt:666
++msgid "Enable garbage collection (GC) in Objective-C/Objective-C++ programs"
++msgstr "Aktivera skräpsamling (GC) i Objective-C-/Objective-C++-program"
++
++#: c.opt:671
++msgid "Enable Objective-C setjmp exception handling runtime"
++msgstr "Aktivera Objective-C:s setjmp-undantagshantering i körtidsmiljön"
++
++#: c.opt:675
++msgid "Enable OpenMP"
++msgstr "Aktivera OpenMP"
++
++#: c.opt:679
++msgid "Recognize C++ kewords like \"compl\" and \"xor\""
++msgstr "Acceptera C++-nyckelord som \"compl\" och \"xor\""
++
++#: c.opt:683
++msgid "Enable optional diagnostics"
++msgstr "Aktivera valbar diagnostik"
++
++#: c.opt:690
++msgid "Look for and use PCH files even when preprocessing"
++msgstr "Sök efter och använd PCH-filer även vid preprocessning"
++
++#: c.opt:694
++msgid "Downgrade conformance errors to warnings"
++msgstr "Nedgradera följsamhetsfel till varningar"
++
++#: c.opt:698
++msgid "Treat the input file as already preprocessed"
++msgstr "Betrakta indatafilen som redan preprocessad"
++
++#: c.opt:702
++msgid "Used in Fix-and-Continue mode to indicate that object files may be swapped in at runtime"
++msgstr "Används i Fix-and-Continue-läge för att objektfiler kan bytas ut vid körtillfället"
++
++#: c.opt:706
++msgid "Enable automatic template instantiation"
++msgstr "Slå på automatisk mallinstansiering"
++
++#: c.opt:710
++msgid "Generate run time type descriptor information"
++msgstr "Generera typbeskrivarinformation för körtid"
++
++#: c.opt:714
++msgid "Use the same size for double as for float"
++msgstr "Använd samma storlek för double som för float"
++
++#: c.opt:722
++msgid "Force the underlying type for \"wchar_t\" to be \"unsigned short\""
++msgstr "Tvinga den underliggande typen för \"wchar_t\" att vara \"unsigned short\""
++
++#: c.opt:726
++msgid "When \"signed\" or \"unsigned\" is not given make the bitfield signed"
++msgstr "När \"signed\" eller \"unsigned\" inte anges låt bitfältet ha tecken"
++
++#: c.opt:730
++msgid "Make \"char\" signed by default"
++msgstr "Låt \"char\" ha tecken som standard"
++
++#: c.opt:737
++msgid "Display statistics accumulated during compilation"
++msgstr "Visa statistik som samlats under kompilering"
++
++#: c.opt:744
++msgid "Distance between tab stops for column reporting"
++msgstr "Avstånd mellan tabulatorstopp för kolumnvis rapportering"
++
++#: c.opt:748
++msgid "Specify maximum template instantiation depth"
++msgstr "Ange maximalt instansieringsdjup för mallar"
++
++#: c.opt:755
++msgid "Do not generate thread-safe code for initializing local statics"
++msgstr "Generera inte trådsäker kod för initiering a lokala statiska variabler"
++
++#: c.opt:759
++msgid "When \"signed\" or \"unsigned\" is not given make the bitfield unsigned"
++msgstr "När \"signed\" eller \"unsigned\" inte anges görs bitfälten teckenlösa"
++
++#: c.opt:763
++msgid "Make \"char\" unsigned by default"
++msgstr "Gör \"char\" teckenlöst som standard"
++
++#: c.opt:767
++msgid "Use __cxa_atexit to register destructors"
++msgstr "Använd __cxa_atexit till registerdestruerare"
++
++#: c.opt:771
++msgid "Use __cxa_get_exception_ptr in exception handling"
++msgstr "Använd __cxa_get_exception_ptr i undantagshantering"
++
++#: c.opt:775
++msgid "Marks all inlined methods as having hidden visibility"
++msgstr "Markera alla inline:ade metoder att ha dold synlighet"
++
++#: c.opt:779
++msgid "Changes visibility to match Microsoft Visual Studio by default"
++msgstr "Ändrar synlighet till att vara som Microsoft Visual Studio som standard"
++
++#: c.opt:783
++msgid "Discard unused virtual functions"
++msgstr "Kasta bort oanvända virtuella funktioner"
++
++#: c.opt:787
++msgid "Implement vtables using thunks"
++msgstr "Implementera vtables med \"thunks\""
++
++#: c.opt:791
++msgid "Emit common-like symbols as weak symbols"
++msgstr "Mata ut common-liknande symboler som svaga symboler"
++
++#: c.opt:795
++msgid "Convert all wide strings and character constants to character set <cset>"
++msgstr "Konvertera alla breda strängar och teckenkonstanter till teckenuppsättningen <tknst>"
++
++#: c.opt:799
++msgid "Generate a #line directive pointing at the current working directory"
++msgstr "Generera ett #line-direktiv som pekar på aktuell katalog"
++
++#: c.opt:803
++msgid "Emit cross referencing information"
++msgstr "Mata ut korsreferensinformation"
++
++#: c.opt:807
++msgid "Generate lazy class lookup (via objc_getClass()) for use in Zero-Link mode"
++msgstr "Generera lata klassuppslagningar (via objc_getClass()) att användas i läget Zero-Link"
++
++#: c.opt:811
++msgid "Dump declarations to a .decl file"
++msgstr "Skicka deklarationer till en .decl-fil"
++
++#: c.opt:815
++msgid "Aggressive reduced debug info for structs"
++msgstr "Aggressivt reducerad felsökningsinformation för poster"
++
++#: c.opt:819
++msgid "Conservative reduced debug info for structs"
++msgstr "Konservativt reducerad felsökningsinformation för poster"
++
++#: c.opt:823
++msgid "Detailed reduced debug info for structs"
++msgstr "Detaljreducerade felsökningsinformation för poster"
++
++#: c.opt:827 c.opt:859
++msgid "Add <dir> to the end of the system include path"
++msgstr "Lägg till <kat> till slutet av sökvägen för systeminkluderingar"
++
++#: c.opt:831
++msgid "Accept definition of macros in <file>"
++msgstr "Tag med definitioner av makron i <fil>"
++
++#: c.opt:835
++msgid "-imultilib <dir> Set <dir> to be the multilib include subdirectory"
++msgstr "-imultilib <kat> Sätt <kat> att vara inkluderingsunderbiblioteket för multibibliotek"
++
++#: c.opt:839
++msgid "Include the contents of <file> before other files"
++msgstr "Inkludera innehållet i <fil> före andra filer"
++
++#: c.opt:843
++msgid "Specify <path> as a prefix for next two options"
++msgstr "Ange <skvg> som ett prefix för de följande två flaggorna"
++
++#: c.opt:847
++msgid "Set <dir> to be the system root directory"
++msgstr "Sätt <kat> som rotkatalog för systemet"
++
++#: c.opt:851
++msgid "Add <dir> to the start of the system include path"
++msgstr "Lägg till <kat> till början av sökvägen för systeminkluderingar"
++
++#: c.opt:855
++msgid "Add <dir> to the end of the quote include path"
++msgstr "Lägg till <kat> till slutet av sökvägen för citerade inkluderingar"
++
++#: c.opt:876
++msgid "Do not search standard system include directories (those specified with -isystem will still be used)"
++msgstr "Sök inte standardkataloger för inkluderingar (de som anges med -isystem kommer fortfarande att användas)"
++
++#: c.opt:880
++msgid "Do not search standard system include directories for C++"
++msgstr "Sök inte i standardkataloger för systeminkluderingar för C++"
++
++#: c.opt:896
++msgid "Generate C header of platform-specific features"
++msgstr "Generera C-huvuden för plattformsspecifika funktioner"
++
++#: c.opt:900
++msgid "Print a checksum of the executable for PCH validity checking, and stop"
++msgstr "Skriv en checksumma a det körbara programmet för PCH-giltighetskontroll, och stanna"
++
++#: c.opt:904
++msgid "Remap file names when including files"
++msgstr "Översätt filnamn när filer inkluderas"
++
++#: c.opt:908
++msgid "Conform to the ISO 1998 C++ standard"
++msgstr "Följ standarden ISO 1998 C++"
++
++#: c.opt:912
++msgid "Conform to the ISO 1998 C++ standard, with extensions that are likely to"
++msgstr "Följ standarden ISO 1998 C++, med utökningar som troligen"
++
++#: c.opt:919 c.opt:954
++msgid "Conform to the ISO 1990 C standard"
++msgstr "Följ standarden ISO 1990 C"
++
++#: c.opt:923 c.opt:962
++msgid "Conform to the ISO 1999 C standard"
++msgstr "Följ standarden ISO 1999 C"
++
++#: c.opt:927
++msgid "Deprecated in favor of -std=c99"
++msgstr "Undanbedes till förmån för -std=c99"
++
++#: c.opt:931
++msgid "Conform to the ISO 1998 C++ standard with GNU extensions"
++msgstr "Följ standarden ISO 1998 C++ med GNU-utökningar"
++
++#: c.opt:935
++msgid "Conform to the ISO 1998 C++ standard, with GNU extensions and"
++msgstr "Följ standarden ISO 1998 C++ med GNU-utökningar och"
++
++#: c.opt:942
++msgid "Conform to the ISO 1990 C standard with GNU extensions"
++msgstr "Följ standarden ISO 1990 C med GNU-utökningar"
++
++#: c.opt:946
++msgid "Conform to the ISO 1999 C standard with GNU extensions"
++msgstr "Följ standarden ISO 1999 C med GNU-utökningar"
++
++#: c.opt:950
++msgid "Deprecated in favor of -std=gnu99"
++msgstr "Undanbedes till förmån för -std=gnu99"
++
++#: c.opt:958
++msgid "Conform to the ISO 1990 C standard as amended in 1994"
++msgstr "Följ standarden ISO 1990 C med tillägg från 1994"
++
++#: c.opt:966
++msgid "Deprecated in favor of -std=iso9899:1999"
++msgstr "Undanbedes till förmån för -std=iso9899:1999"
++
++#: c.opt:970
++msgid "Enable traditional preprocessing"
++msgstr "Aktivera traditionell preprocessning"
++
++#: c.opt:974
++msgid "Support ISO C trigraphs"
++msgstr "Stöd trigrafer enligt ISO C"
++
++#: c.opt:978
++msgid "Do not predefine system-specific and GCC-specific macros"
++msgstr "Fördefiniera inte systemspecifika och GCC-specifika makron"
++
++#: c.opt:982
++msgid "Enable verbose output"
++msgstr "Aktivera utförlig utskrift"
++
++#: ada/lang.opt:96
++msgid "Specify options to GNAT"
++msgstr "Ange flaggor till GNAT"
++
+ #: attribs.c:244
+ #, gcc-internal-format
+ msgid "%qs attribute directive ignored"
+@@ -16577,47 +16541,47 @@
+ msgid "offset outside bounds of constant string"
+ msgstr "index till en konstant sträng pekar utanför dess gränser"
+
+-#: builtins.c:1001
++#: builtins.c:1015
+ #, gcc-internal-format
+ msgid "second argument to %<__builtin_prefetch%> must be a constant"
+ msgstr "andra argumentet till %<__builtin_prefetch%> måste vara en konstant"
+
+-#: builtins.c:1008
++#: builtins.c:1022
+ #, gcc-internal-format
+ msgid "invalid second argument to %<__builtin_prefetch%>; using zero"
+ msgstr "ogiltigt andra argument till %<__builtin_prefetch%>; använder noll"
+
+-#: builtins.c:1016
++#: builtins.c:1030
+ #, gcc-internal-format
+ msgid "third argument to %<__builtin_prefetch%> must be a constant"
+ msgstr "tredje argumentet till %<__builtin_prefetch%> måste vara en konstant"
+
+-#: builtins.c:1023
++#: builtins.c:1037
+ #, gcc-internal-format
+ msgid "invalid third argument to %<__builtin_prefetch%>; using zero"
+ msgstr "ogiltigt tredje argument till %<__builtin_prefetch%>; använder noll"
+
+-#: builtins.c:4592
++#: builtins.c:4608
+ #, gcc-internal-format
+ msgid "argument of %<__builtin_args_info%> must be constant"
+ msgstr "argumentet till %<__builtin_args_info%> måste vara konstant"
+
+-#: builtins.c:4598
++#: builtins.c:4614
+ #, gcc-internal-format
+ msgid "argument of %<__builtin_args_info%> out of range"
+ msgstr "argument till %<__builtin_args_info%> är utanför sitt intervall"
+
+-#: builtins.c:4604
++#: builtins.c:4620
+ #, gcc-internal-format
+ msgid "missing argument in %<__builtin_args_info%>"
+ msgstr "argument saknas till %<__builtin_args_info%>"
+
+-#: builtins.c:4693 gimplify.c:2117
++#: builtins.c:4709 gimplify.c:2118
+ #, gcc-internal-format
+ msgid "too few arguments to function %<va_start%>"
+ msgstr "För många argument till funktionen %<va_start%>"
+
+-#: builtins.c:4857
++#: builtins.c:4872
+ #, gcc-internal-format
+ msgid "first argument to %<va_arg%> not of type %<va_list%>"
+ msgstr "första argumentet till %<va_arg%> är inte av typen %<va_list%>"
+@@ -16625,93 +16589,103 @@
+ #. Unfortunately, this is merely undefined, rather than a constraint
+ #. violation, so we cannot make this an error. If this call is never
+ #. executed, the program is still strictly conforming.
+-#: builtins.c:4871
++#: builtins.c:4886
+ #, gcc-internal-format
+ msgid "%qT is promoted to %qT when passed through %<...%>"
+ msgstr "%qT konverteras till %qT när det skickas via %<...%>"
+
+-#: builtins.c:4876
++#: builtins.c:4891
+ #, gcc-internal-format
+ msgid "(so you should pass %qT not %qT to %<va_arg%>)"
+ msgstr "(alltså skall du skicka %qT och inte %qT till %<va_arg%>)"
+
+ #. We can, however, treat "undefined" any way we please.
+ #. Call abort to encourage the user to fix the program.
+-#: builtins.c:4882 c-typeck.c:2408
++#: builtins.c:4897 c-typeck.c:2419
+ #, gcc-internal-format
+ msgid "if this code is reached, the program will abort"
+ msgstr "om denna kod nås, kommer programmet att avbryta"
+
+-#: builtins.c:5000
++#: builtins.c:5015
+ #, gcc-internal-format
+ msgid "invalid argument to %<__builtin_frame_address%>"
+ msgstr "ogiltigt argument till %<__builtin_frame_address%>"
+
+-#: builtins.c:5002
++#: builtins.c:5017
+ #, gcc-internal-format
+ msgid "invalid argument to %<__builtin_return_address%>"
+ msgstr "ogiltigt argument till %<__builtin_return_address%>"
+
+-#: builtins.c:5015
++#: builtins.c:5030
+ #, gcc-internal-format
+ msgid "unsupported argument to %<__builtin_frame_address%>"
+ msgstr "ej stött argument till %<__builtin_frame_address%>"
+
+-#: builtins.c:5017
++#: builtins.c:5032
+ #, gcc-internal-format
+ msgid "unsupported argument to %<__builtin_return_address%>"
+ msgstr "ej stött argument till %<__builtin_return_address%>"
+
+-#: builtins.c:5564
++#: builtins.c:5579
+ #, gcc-internal-format
+ msgid "both arguments to %<__builtin___clear_cache%> must be pointers"
+ msgstr "båda argumenten till %<__builtin___clear_cache%> måste vara pekare"
+
+ #. All valid uses of __builtin_va_arg_pack () are removed during
+ #. inlining.
+-#: builtins.c:6276 expr.c:8024
++#: builtins.c:6291 expr.c:8023
+ msgid "%Kinvalid use of %<__builtin_va_arg_pack ()%>"
+ msgstr "%Kogiltigt användning av %<__builtin_va_arg_pack ()%>"
+
+ #. All valid uses of __builtin_va_arg_pack_len () are removed during
+ #. inlining.
+-#: builtins.c:6282
++#: builtins.c:6297
+ msgid "%Kinvalid use of %<__builtin_va_arg_pack_len ()%>"
+ msgstr "%Kogiltigt användning av %<__builtin_va_arg_pack_len ()%>"
+
+-#: builtins.c:6578
++#: builtins.c:6593
+ #, gcc-internal-format
+ msgid "%<__builtin_longjmp%> second argument must be 1"
+ msgstr "andra argumentet till %<__builtin_longjmp%> måste vara 1"
+
+-#: builtins.c:7209
++#: builtins.c:7224
+ #, gcc-internal-format
+ msgid "target format does not support infinity"
+ msgstr "målformatet stödjer inte oändligheten"
+
+-#: builtins.c:9623 builtins.c:9712
++#: builtins.c:9638 builtins.c:9727 builtins.c:10082
+ #, gcc-internal-format
+ msgid "non-floating-point argument to function %qs"
+ msgstr "argument som inte är flyttal till funktionen %qs"
+
+-#: builtins.c:11303
++#: builtins.c:10446 builtins.c:10466
+ #, gcc-internal-format
++msgid "too few arguments to function %qs"
++msgstr "för få argument till funktionen %qs"
++
++#: builtins.c:10452 builtins.c:10472
++#, gcc-internal-format
++msgid "too many arguments to function %qs"
++msgstr "för många argument till funktionen %qs"
++
++#: builtins.c:11377
++#, gcc-internal-format
+ msgid "%<va_start%> used in function with fixed args"
+ msgstr "%<va_start%> används i en funktion med fixt antal parametrar"
+
+-#: builtins.c:11311
++#: builtins.c:11385
+ #, gcc-internal-format
+ msgid "wrong number of arguments to function %<va_start%>"
+ msgstr "fel antal argument till funktionen %<va_start%>"
+
+ #. Evidently an out of date version of <stdarg.h>; can't validate
+ #. va_start's second argument, but can still work as intended.
+-#: builtins.c:11324
++#: builtins.c:11398
+ #, gcc-internal-format
+ msgid "%<__builtin_next_arg%> called without an argument"
+ msgstr "%<__builtin_next_arg%> anropad utan argument"
+
+-#: builtins.c:11329
++#: builtins.c:11403
+ #, gcc-internal-format
+ msgid "wrong number of arguments to function %<__builtin_next_arg%>"
+ msgstr "fel antal argument till funktionen %<__builtin_next_arg>"
+@@ -16721,24 +16695,24 @@
+ #. argument. We just warn and set the arg to be the last
+ #. argument so that we will get wrong-code because of
+ #. it.
+-#: builtins.c:11358
++#: builtins.c:11432
+ #, gcc-internal-format
+ msgid "second parameter of %<va_start%> not last named argument"
+ msgstr "andra parametern till %<va_start%> är inte det sista namngivna argumentet"
+
+-#: builtins.c:11472
++#: builtins.c:11546
+ msgid "%Kfirst argument of %D must be a pointer, second integer constant"
+ msgstr "%Kförsta argumentet till %D måste vara en pekare, det andra en heltalskonstant"
+
+-#: builtins.c:11485
++#: builtins.c:11559
+ msgid "%Klast argument of %D is not integer constant between 0 and 3"
+ msgstr "%Ksista argumentet till %D är inte en heltalskonstant mellan 0 och 3"
+
+-#: builtins.c:11529 builtins.c:11693 builtins.c:11752
++#: builtins.c:11603 builtins.c:11767 builtins.c:11826
+ msgid "%Kcall to %D will always overflow destination buffer"
+ msgstr "%Kanrop av %D kommer alltid att spilla över destinationsbufferten"
+
+-#: builtins.c:11683
++#: builtins.c:11757
+ msgid "%Kcall to %D might overflow destination buffer"
+ msgstr "%Kanrop av %D kan komma att spilla över destinationsbufferten"
+
+@@ -16861,440 +16835,440 @@
+ msgid "conversion to %qT alters %qT constant value"
+ msgstr "konvertering till %qT ändrar konstant %qT värde"
+
+-#: c-common.c:1296
++#: c-common.c:1299
+ #, gcc-internal-format
+ msgid "conversion to %qT from %qT may change the sign of the result"
+ msgstr "konvertering till %qT från %qT kan ändra tecknet på resultatet"
+
+-#: c-common.c:1325
++#: c-common.c:1328
+ #, gcc-internal-format
+ msgid "conversion to %qT from %qT may alter its value"
+ msgstr "konvertering till %qT från %qT kan ändra dess värde"
+
+-#: c-common.c:1353
++#: c-common.c:1356
+ #, gcc-internal-format
+ msgid "large integer implicitly truncated to unsigned type"
+ msgstr "stort heltal implicit trunkerat till unsigned typ"
+
+-#: c-common.c:1359 c-common.c:1366 c-common.c:1374
++#: c-common.c:1362 c-common.c:1369 c-common.c:1377
+ #, gcc-internal-format
+ msgid "overflow in implicit constant conversion"
+ msgstr "spill i implicit konstant konvertering"
+
+-#: c-common.c:1528
++#: c-common.c:1531
+ #, gcc-internal-format
+ msgid "operation on %qE may be undefined"
+ msgstr "operation på %qE kan vara odefinierad"
+
+-#: c-common.c:1821
++#: c-common.c:1824
+ #, gcc-internal-format
+ msgid "case label does not reduce to an integer constant"
+ msgstr "case-etikett reducerar inte till en heltalskonstant"
+
+-#: c-common.c:1861
++#: c-common.c:1864
+ #, gcc-internal-format
+ msgid "case label value is less than minimum value for type"
+ msgstr "case-etikettvärde är mindre än minsta värdet för sin typ"
+
+-#: c-common.c:1869
++#: c-common.c:1872
+ #, gcc-internal-format
+ msgid "case label value exceeds maximum value for type"
+ msgstr "case-etikettvärde överskrider det maximala värdet för sin typ"
+
+-#: c-common.c:1877
++#: c-common.c:1880
+ #, gcc-internal-format
+ msgid "lower value in case label range less than minimum value for type"
+ msgstr "undre gräns i case-etikettintervall underskrider minsta värdet för sin typ"
+
+-#: c-common.c:1886
++#: c-common.c:1889
+ #, gcc-internal-format
+ msgid "upper value in case label range exceeds maximum value for type"
+ msgstr "övre gräns i case-etikettintervall överskrider maximala värdet för sin typ"
+
+-#: c-common.c:1960
++#: c-common.c:1963
+ #, gcc-internal-format
+ msgid "GCC cannot support operators with integer types and fixed-point types that have too many integral and fractional bits together"
+ msgstr "GCC kan inte stödja operatorer med heltalstyper och fixdecimaltyper som har för många heltals- och decimalbitar tillsammans"
+
+-#: c-common.c:2450
++#: c-common.c:2453
+ #, gcc-internal-format
+ msgid "invalid operands to binary %s (have %qT and %qT)"
+ msgstr "ogiltiga operander till binär %s (har %qT och %qT)"
+
+-#: c-common.c:2686
++#: c-common.c:2689
+ #, gcc-internal-format
+ msgid "comparison is always false due to limited range of data type"
+ msgstr "jämförelsen är alltid falsk på grund av begränsat intervall för datatypen"
+
+-#: c-common.c:2688
++#: c-common.c:2691
+ #, gcc-internal-format
+ msgid "comparison is always true due to limited range of data type"
+ msgstr "jämförelsen är alltid sann på grund av begränsat intervall för datatypen"
+
+-#: c-common.c:2767
++#: c-common.c:2770
+ #, gcc-internal-format
+ msgid "comparison of unsigned expression >= 0 is always true"
+ msgstr "jämförelse med unsigned-uttryck >= 0 är alltid sant"
+
+-#: c-common.c:2777
++#: c-common.c:2780
+ #, gcc-internal-format
+ msgid "comparison of unsigned expression < 0 is always false"
+ msgstr "jämförelse med unsigned-uttryck < 0 är alltid falskt"
+
+-#: c-common.c:2818
++#: c-common.c:2821
+ #, gcc-internal-format
+ msgid "pointer of type %<void *%> used in arithmetic"
+ msgstr "pekare av typen %<void *%> använd i aritmetik"
+
+-#: c-common.c:2824
++#: c-common.c:2827
+ #, gcc-internal-format
+ msgid "pointer to a function used in arithmetic"
+ msgstr "pekare till funktion använd i aritmetik"
+
+-#: c-common.c:2830
++#: c-common.c:2833
+ #, gcc-internal-format
+ msgid "pointer to member function used in arithmetic"
+ msgstr "pekare till medlemsfunktion använd i aritmetik"
+
+-#: c-common.c:2982
++#: c-common.c:2985
+ #, gcc-internal-format
+ msgid "the address of %qD will always evaluate as %<true%>"
+ msgstr "adressen till %qD kommer alltid beräknas till %<true%>"
+
+-#: c-common.c:3051 cp/semantics.c:596 cp/typeck.c:6411
++#: c-common.c:3054 cp/semantics.c:597 cp/typeck.c:6438
+ #, gcc-internal-format
+ msgid "suggest parentheses around assignment used as truth value"
+ msgstr "föreslår parenteser runt tilldelning som används som sanningsvärde"
+
+-#: c-common.c:3123 c-typeck.c:8958
++#: c-common.c:3126 c-typeck.c:8969
+ #, gcc-internal-format
+ msgid "invalid use of %<restrict%>"
+ msgstr "ogiltigt användning av %<restrict%>"
+
+-#: c-common.c:3339
++#: c-common.c:3346
+ #, gcc-internal-format
+ msgid "invalid application of %<sizeof%> to a function type"
+ msgstr "ogiltig användning av %<sizeof%> på en funktionstyp"
+
+-#: c-common.c:3349
++#: c-common.c:3356
+ #, gcc-internal-format
+ msgid "invalid application of %qs to a void type"
+ msgstr "ogiltig användning av %qs på en void-typ"
+
+-#: c-common.c:3355
++#: c-common.c:3362
+ #, gcc-internal-format
+ msgid "invalid application of %qs to incomplete type %qT "
+ msgstr "ogiltig tillämpning av %qs på ofullständig typ %qT "
+
+-#: c-common.c:3396
++#: c-common.c:3403
+ #, gcc-internal-format
+ msgid "%<__alignof%> applied to a bit-field"
+ msgstr "%<__alignof%> tillämpad på ett bitfält"
+
+-#: c-common.c:3969
++#: c-common.c:3976
+ #, gcc-internal-format
+ msgid "cannot disable built-in function %qs"
+ msgstr "det går inte att avaktivera den inbyggda funktionen %qs"
+
+-#: c-common.c:4172
++#: c-common.c:4179
+ #, gcc-internal-format
+ msgid "pointers are not permitted as case values"
+ msgstr "pekare är inte tillåtna case-värden"
+
+-#: c-common.c:4178
++#: c-common.c:4185
+ #, gcc-internal-format
+ msgid "range expressions in switch statements are non-standard"
+ msgstr "intervalluttryck i switch-satser följer inte standarden"
+
+-#: c-common.c:4204
++#: c-common.c:4211
+ #, gcc-internal-format
+ msgid "empty range specified"
+ msgstr "tomt intervall angivet"
+
+-#: c-common.c:4264
++#: c-common.c:4271
+ #, gcc-internal-format
+ msgid "duplicate (or overlapping) case value"
+ msgstr "dubbla (eller överlappande) case-värden"
+
+-#: c-common.c:4265
++#: c-common.c:4272
+ #, gcc-internal-format
+ msgid "%Jthis is the first entry overlapping that value"
+ msgstr "%Jdetta är det första fallet som överlappar det värdet"
+
+-#: c-common.c:4269
++#: c-common.c:4276
+ #, gcc-internal-format
+ msgid "duplicate case value"
+ msgstr "upprepat case-värde"
+
+-#: c-common.c:4270
++#: c-common.c:4277
+ #, gcc-internal-format
+ msgid "%Jpreviously used here"
+ msgstr "%Jtidigare använd här"
+
+-#: c-common.c:4274
++#: c-common.c:4281
+ #, gcc-internal-format
+ msgid "multiple default labels in one switch"
+ msgstr "flera default-etiketter i en switch"
+
+-#: c-common.c:4275
++#: c-common.c:4282
+ #, gcc-internal-format
+ msgid "%Jthis is the first default label"
+ msgstr "%Jdetta är den första default-etiketten"
+
+-#: c-common.c:4324
++#: c-common.c:4331
+ #, gcc-internal-format
+ msgid "%Jcase value %qs not in enumerated type"
+ msgstr "%Jcase-värde %qs är inte i en uppräkningstyp"
+
+-#: c-common.c:4327
++#: c-common.c:4334
+ #, gcc-internal-format
+ msgid "%Jcase value %qs not in enumerated type %qT"
+ msgstr "%Jcase-värde %qs är inte i uppräkningstyp %qT"
+
+-#: c-common.c:4385
++#: c-common.c:4392
+ #, gcc-internal-format
+ msgid "%Hswitch missing default case"
+ msgstr "%Hswitch saknar default-fall"
+
+-#: c-common.c:4448
++#: c-common.c:4455
+ #, gcc-internal-format
+ msgid "%Henumeration value %qE not handled in switch"
+ msgstr "%Huppräkningsvärdet för %qE hanteras inte i switch"
+
+-#: c-common.c:4472
++#: c-common.c:4479
+ #, gcc-internal-format
+ msgid "taking the address of a label is non-standard"
+ msgstr "att ta adressen av en etikett följer inte standarden"
+
+-#: c-common.c:4622
++#: c-common.c:4629
+ #, gcc-internal-format
+ msgid "%qE attribute ignored for field of type %qT"
+ msgstr "attributet %qE ignorerat för fält av typen %qT"
+
+-#: c-common.c:4633 c-common.c:4652 c-common.c:4670 c-common.c:4697
+-#: c-common.c:4724 c-common.c:4750 c-common.c:4769 c-common.c:4793
+-#: c-common.c:4816 c-common.c:4839 c-common.c:4860 c-common.c:4881
+-#: c-common.c:4905 c-common.c:4931 c-common.c:4968 c-common.c:4995
+-#: c-common.c:5046 c-common.c:5130 c-common.c:5160 c-common.c:5179
+-#: c-common.c:5499 c-common.c:5559 c-common.c:5580 c-common.c:5644
+-#: c-common.c:5762 c-common.c:5828 c-common.c:5877 c-common.c:5923
+-#: c-common.c:5993 c-common.c:6017 c-common.c:6301 c-common.c:6324
++#: c-common.c:4640 c-common.c:4659 c-common.c:4677 c-common.c:4704
++#: c-common.c:4731 c-common.c:4757 c-common.c:4776 c-common.c:4800
++#: c-common.c:4823 c-common.c:4846 c-common.c:4867 c-common.c:4888
++#: c-common.c:4912 c-common.c:4938 c-common.c:4975 c-common.c:5002
++#: c-common.c:5045 c-common.c:5129 c-common.c:5159 c-common.c:5178
++#: c-common.c:5498 c-common.c:5558 c-common.c:5579 c-common.c:5643
++#: c-common.c:5761 c-common.c:5827 c-common.c:5876 c-common.c:5922
++#: c-common.c:5992 c-common.c:6016 c-common.c:6301 c-common.c:6324
+ #: c-common.c:6363
+ #, gcc-internal-format
+ msgid "%qE attribute ignored"
+ msgstr "attributet %qE ignorerat"
+
+-#: c-common.c:4715 c-common.c:4741
++#: c-common.c:4722 c-common.c:4748
+ #, gcc-internal-format
+ msgid "%qE attribute conflicts with attribute %s"
+ msgstr "attributet %qE står i konflikt attributet %s"
+
+-#: c-common.c:4962
++#: c-common.c:4969
+ #, gcc-internal-format
+ msgid "%qE attribute have effect only on public objects"
+ msgstr "attributet %qE har bara effekt på publika objekt"
+
+-#: c-common.c:5067
++#: c-common.c:5066
+ #, gcc-internal-format
+ msgid "destructor priorities are not supported"
+ msgstr "destruerarprioriteter stöds ej"
+
+-#: c-common.c:5069
++#: c-common.c:5068
+ #, gcc-internal-format
+ msgid "constructor priorities are not supported"
+ msgstr "konstruerarprioriteter stöds ej"
+
+-#: c-common.c:5086
++#: c-common.c:5085
+ #, gcc-internal-format
+ msgid "destructor priorities from 0 to %d are reserved for the implementation"
+ msgstr "destruerarprioriteter från 0 till %d är reserverade för implementationen"
+
+-#: c-common.c:5091
++#: c-common.c:5090
+ #, gcc-internal-format
+ msgid "constructor priorities from 0 to %d are reserved for the implementation"
+ msgstr "konstruerarprioriteter från 0 till %d är reserverade för implementationen"
+
+-#: c-common.c:5099
++#: c-common.c:5098
+ #, gcc-internal-format
+ msgid "destructor priorities must be integers from 0 to %d inclusive"
+ msgstr "destruerarprioriteter måste vara heltal från 0 till och med %d"
+
+-#: c-common.c:5102
++#: c-common.c:5101
+ #, gcc-internal-format
+ msgid "constructor priorities must be integers from 0 to %d inclusive"
+ msgstr "konstruerarprioriteter måste vara heltal från 0 till och med %d"
+
+-#: c-common.c:5221
++#: c-common.c:5220
+ #, gcc-internal-format
+ msgid "unknown machine mode %qs"
+ msgstr "okänt maskinläge %qs"
+
+-#: c-common.c:5250
++#: c-common.c:5249
+ #, gcc-internal-format
+ msgid "specifying vector types with __attribute__ ((mode)) is deprecated"
+ msgstr "att ange vektortyper med __attribute__ ((sätt)) bör undvikas"
+
+-#: c-common.c:5253
++#: c-common.c:5252
+ #, gcc-internal-format
+ msgid "use __attribute__ ((vector_size)) instead"
+ msgstr "använd __attribute__ ((vector_size)) istället"
+
+-#: c-common.c:5262
++#: c-common.c:5261
+ #, gcc-internal-format
+ msgid "unable to emulate %qs"
+ msgstr "kan inte emulera %qs"
+
+-#: c-common.c:5272
++#: c-common.c:5271
+ #, gcc-internal-format
+ msgid "invalid pointer mode %qs"
+ msgstr "ogiltigt pekarläge %qs"
+
+-#: c-common.c:5289
++#: c-common.c:5288
+ #, gcc-internal-format
+ msgid "signness of type and machine mode %qs don't match"
+ msgstr "tecken på typ och maskinläge %qs passar inte ihop"
+
+-#: c-common.c:5300
++#: c-common.c:5299
+ #, gcc-internal-format
+ msgid "no data type for mode %qs"
+ msgstr "ingen datatyp för läge %qs"
+
+-#: c-common.c:5310
++#: c-common.c:5309
+ #, gcc-internal-format
+ msgid "cannot use mode %qs for enumeral types"
+ msgstr "kan inte använda läge %qs för uppräkningstyper"
+
+-#: c-common.c:5337
++#: c-common.c:5336
+ #, gcc-internal-format
+ msgid "mode %qs applied to inappropriate type"
+ msgstr "läge %qs applicerat på olämplig typ"
+
+-#: c-common.c:5368
++#: c-common.c:5367
+ #, gcc-internal-format
+ msgid "%Jsection attribute cannot be specified for local variables"
+ msgstr "%Jattributet \"section\" kan inte anges för lokala variabler"
+
+-#: c-common.c:5379 config/bfin/bfin.c:4879 config/bfin/bfin.c:4930
++#: c-common.c:5378 config/bfin/bfin.c:4982 config/bfin/bfin.c:5033
+ #, gcc-internal-format
+ msgid "section of %q+D conflicts with previous declaration"
+ msgstr "sektion %q+D står i konflikt med tidigare deklaration"
+
+-#: c-common.c:5388
++#: c-common.c:5387
+ #, gcc-internal-format
+ msgid "section attribute not allowed for %q+D"
+ msgstr "attributet \"section\" är inte tillåten för %q+D"
+
+-#: c-common.c:5394
++#: c-common.c:5393
+ #, gcc-internal-format
+ msgid "%Jsection attributes are not supported for this target"
+ msgstr "%Jattributet \"section\" stöds inte för denna målarkitektur"
+
+-#: c-common.c:5426
++#: c-common.c:5425
+ #, gcc-internal-format
+ msgid "requested alignment is not a constant"
+ msgstr "efterfrågad minnesjustering är inte konstant"
+
+-#: c-common.c:5431
++#: c-common.c:5430
+ #, gcc-internal-format
+ msgid "requested alignment is not a power of 2"
+ msgstr "efterfrågad minnesjustering är inte en potens av 2"
+
+-#: c-common.c:5436
++#: c-common.c:5435
+ #, gcc-internal-format
+ msgid "requested alignment is too large"
+ msgstr "efterfrågad minnesjustering är för stor"
+
+-#: c-common.c:5462
++#: c-common.c:5461
+ #, gcc-internal-format
+ msgid "alignment may not be specified for %q+D"
+ msgstr "minnesjustering kan inte anges för %q+D"
+
+-#: c-common.c:5469
++#: c-common.c:5468
+ #, gcc-internal-format
+ msgid "alignment for %q+D was previously specified as %d and may not be decreased"
+ msgstr "justering för %q+D angavs tidigare som %d och får inte minska"
+
+-#: c-common.c:5473
++#: c-common.c:5472
+ #, gcc-internal-format
+ msgid "alignment for %q+D must be at least %d"
+ msgstr "justering för %q+D måste vara åtminstone %d"
+
+-#: c-common.c:5522
++#: c-common.c:5521
+ #, gcc-internal-format
+ msgid "%q+D defined both normally and as an alias"
+ msgstr "%q+D är definierad både normalt och som ett alias"
+
+-#: c-common.c:5538
++#: c-common.c:5537
+ #, gcc-internal-format
+ msgid "alias argument not a string"
+ msgstr "aliasargumentet är inte en sträng"
+
+-#: c-common.c:5601
++#: c-common.c:5600
+ #, gcc-internal-format
+ msgid "%Jweakref attribute must appear before alias attribute"
+ msgstr "%Jattributet weakref måste vara före attributet alias"
+
+-#: c-common.c:5631
++#: c-common.c:5630
+ #, gcc-internal-format
+ msgid "%qE attribute ignored on non-class types"
+ msgstr "attributet %qE ignorerat typer som inte är klasser"
+
+-#: c-common.c:5637
++#: c-common.c:5636
+ #, gcc-internal-format
+ msgid "%qE attribute ignored because %qT is already defined"
+ msgstr "attributet %qE ignorerat för att %qT redan är definierat"
+
+-#: c-common.c:5650
++#: c-common.c:5649
+ #, gcc-internal-format
+ msgid "visibility argument not a string"
+ msgstr "synlighetsargumentet är inte en sträng"
+
+-#: c-common.c:5662
++#: c-common.c:5661
+ #, gcc-internal-format
+ msgid "%qE attribute ignored on types"
+ msgstr "attributet %qE ignorerat för typer"
+
+-#: c-common.c:5678
++#: c-common.c:5677
+ #, gcc-internal-format
+ msgid "visibility argument must be one of \"default\", \"hidden\", \"protected\" or \"internal\""
+ msgstr "visibility-argument måste vara ett av \"default\", \"hidden\", \"protected\" eller \"internal\""
+
+-#: c-common.c:5689
++#: c-common.c:5688
+ #, gcc-internal-format
+ msgid "%qD redeclared with different visibility"
+ msgstr "%qD omdeklarerad med annan synlighet"
+
+-#: c-common.c:5692 c-common.c:5696
++#: c-common.c:5691 c-common.c:5695
+ #, gcc-internal-format
+ msgid "%qD was declared %qs which implies default visibility"
+ msgstr "%qD deklarerades %qs vilket medför standardsynlighet"
+
+-#: c-common.c:5770
++#: c-common.c:5769
+ #, gcc-internal-format
+ msgid "tls_model argument not a string"
+ msgstr "tls_model-argument är inte en sträng"
+
+-#: c-common.c:5783
++#: c-common.c:5782
+ #, gcc-internal-format
+ msgid "tls_model argument must be one of \"local-exec\", \"initial-exec\", \"local-dynamic\" or \"global-dynamic\""
+ msgstr "tls_model-argument måste vara ett av \"local-exec\", \"initial-exec\", \"local-dynamic\" eller \"global-dynamic\""
+
+-#: c-common.c:5802 c-common.c:5897
++#: c-common.c:5801 c-common.c:5896
+ #, gcc-internal-format
+ msgid "%J%qE attribute applies only to functions"
+ msgstr "%Jattributet %qE fungerar bara på funktioner"
+
+-#: c-common.c:5807 c-common.c:5902
++#: c-common.c:5806 c-common.c:5901
+ #, gcc-internal-format
+ msgid "%Jcan%'t set %qE attribute after definition"
+ msgstr "%Jkan inte sätta attributet %qE efter definitionen"
+
+-#: c-common.c:5858
++#: c-common.c:5857
+ #, gcc-internal-format
+ msgid "alloc_size parameter outside range"
+ msgstr "alloc_size-parameter utanför giltigt intervall"
+
+-#: c-common.c:5991
++#: c-common.c:5990
+ #, gcc-internal-format
+ msgid "%qE attribute ignored for %qE"
+ msgstr "attributet %qE ignorerat för %qE"
+@@ -17404,7 +17378,7 @@
+ msgid "cannot apply %<offsetof%> when %<operator[]%> is overloaded"
+ msgstr "går inte att applicera %<offsetof%> när %<operator[]%> är överlagrad"
+
+-#: c-common.c:6818 cp/typeck.c:4525
++#: c-common.c:6818 cp/typeck.c:4533
+ #, gcc-internal-format
+ msgid "attempt to take address of bit-field structure member %qD"
+ msgstr "försök att ta adressen till en medlemmen %qD i en bitfältspost"
+@@ -17439,14 +17413,14 @@
+ msgid "size of array is too large"
+ msgstr "storleken på vektorn är för stor"
+
+-#: c-common.c:7041 c-common.c:7090 c-typeck.c:2705
++#: c-common.c:7041 c-common.c:7090 c-typeck.c:2716
+ #, gcc-internal-format
+ msgid "too few arguments to function %qE"
+ msgstr "för få argument till funktionen %qE"
+
+ #. ??? This should not be an error when inlining calls to
+ #. unprototyped functions.
+-#: c-common.c:7058 c-typeck.c:4374
++#: c-common.c:7058 c-typeck.c:4385
+ #, gcc-internal-format
+ msgid "incompatible type for argument %d of %qE"
+ msgstr "inkompatibel typ för argument %d av %qE"
+@@ -17526,8 +17500,8 @@
+ #. an unprototyped function, it is compile-time undefined;
+ #. making it a constraint in that case was rejected in
+ #. DR#252.
+-#: c-convert.c:95 c-typeck.c:1775 c-typeck.c:4012 cp/typeck.c:1502
+-#: cp/typeck.c:5717 cp/typeck.c:6325 fortran/convert.c:88
++#: c-convert.c:95 c-typeck.c:1785 c-typeck.c:4023 cp/typeck.c:1548
++#: cp/typeck.c:5725 cp/typeck.c:6352 fortran/convert.c:88
+ #: treelang/tree-convert.c:79
+ #, gcc-internal-format
+ msgid "void value not ignored as it ought to be"
+@@ -17539,104 +17513,104 @@
+ msgid "conversion to non-scalar type requested"
+ msgstr "konvertering till icke-skalär typ begärd"
+
+-#: c-decl.c:546
++#: c-decl.c:547
+ #, gcc-internal-format
+ msgid "array %q+D assumed to have one element"
+ msgstr "vektor %q+D antas ha ett element"
+
+-#: c-decl.c:651
++#: c-decl.c:652
+ #, gcc-internal-format
+ msgid "GCC supports only %u nested scopes"
+ msgstr "GCC stödjer endast %u nästade definitionsområden"
+
+-#: c-decl.c:737 cp/decl.c:358
++#: c-decl.c:738 cp/decl.c:359
+ #, gcc-internal-format
+ msgid "label %q+D used but not defined"
+ msgstr "etikett %q+D använd men är inte definierad"
+
+-#: c-decl.c:778
++#: c-decl.c:779
+ #, gcc-internal-format
+ msgid "nested function %q+D declared but never defined"
+ msgstr "nästad funktion %q+D är deklarerad men aldrig definierad"
+
+-#: c-decl.c:788
++#: c-decl.c:789
+ #, gcc-internal-format
+ msgid "inline function %q+D declared but never defined"
+ msgstr "inline:ad funktion %q+D är deklarerad men aldrig definierad"
+
+-#: c-decl.c:801 cp/decl.c:608
++#: c-decl.c:802 cp/decl.c:609
+ #, gcc-internal-format
+ msgid "unused variable %q+D"
+ msgstr "oanvänd variabel %q+D"
+
+-#: c-decl.c:805
++#: c-decl.c:806
+ #, gcc-internal-format
+ msgid "type of array %q+D completed incompatibly with implicit initialization"
+ msgstr "den kompletterade typen på vektor %q+D är okompatibel med implicit initiering"
+
+-#: c-decl.c:1039
++#: c-decl.c:1040
+ #, gcc-internal-format
+ msgid "a parameter list with an ellipsis can%'t match an empty parameter name list declaration"
+ msgstr "en parameterlista med ellips kan inte matcha en tom parameternamnlistdeklaration"
+
+-#: c-decl.c:1046
++#: c-decl.c:1047
+ #, gcc-internal-format
+ msgid "an argument type that has a default promotion can%'t match an empty parameter name list declaration"
+ msgstr "en argumenttyp med en standardkonvertering kan inte matcha en tom parameternamnlistdeklaration"
+
+-#: c-decl.c:1087
++#: c-decl.c:1088
+ #, gcc-internal-format
+ msgid "prototype for %q+D declares more arguments than previous old-style definition"
+ msgstr "prototypen för %q+D deklarerar fler argument än tidigare gammaldags definition"
+
+-#: c-decl.c:1093
++#: c-decl.c:1094
+ #, gcc-internal-format
+ msgid "prototype for %q+D declares fewer arguments than previous old-style definition"
+ msgstr "prototypen för %q+D deklarerar färre argument än tidigare gammaldags definition"
+
+-#: c-decl.c:1102
++#: c-decl.c:1103
+ #, gcc-internal-format
+ msgid "prototype for %q+D declares argument %d with incompatible type"
+ msgstr "prototypen för %q+D deklarerar argument %d med inkompatibel typ"
+
+ #. If we get here, no errors were found, but do issue a warning
+ #. for this poor-style construct.
+-#: c-decl.c:1115
++#: c-decl.c:1116
+ #, gcc-internal-format
+ msgid "prototype for %q+D follows non-prototype definition"
+ msgstr "prototyp för %q+D följer på en icke-prototypdefinition"
+
+-#: c-decl.c:1130
++#: c-decl.c:1131
+ #, gcc-internal-format
+ msgid "previous definition of %q+D was here"
+ msgstr "tidigare definition av %q+D var här"
+
+-#: c-decl.c:1132
++#: c-decl.c:1133
+ #, gcc-internal-format
+ msgid "previous implicit declaration of %q+D was here"
+ msgstr "tidigare implicit deklaration av %q+D var här"
+
+-#: c-decl.c:1134
++#: c-decl.c:1135
+ #, gcc-internal-format
+ msgid "previous declaration of %q+D was here"
+ msgstr "tidigare deklaration av %q+D var här"
+
+-#: c-decl.c:1174
++#: c-decl.c:1175
+ #, gcc-internal-format
+ msgid "%q+D redeclared as different kind of symbol"
+ msgstr "%q+D omdeklarerad som en annan sorts symbol"
+
+-#: c-decl.c:1178
++#: c-decl.c:1179
+ #, gcc-internal-format
+ msgid "built-in function %q+D declared as non-function"
+ msgstr "inbyggd funktion %q+D deklarerad som icke-funktion"
+
+-#: c-decl.c:1181 c-decl.c:1298 c-decl.c:1983
++#: c-decl.c:1182 c-decl.c:1299 c-decl.c:1988
+ #, gcc-internal-format
+ msgid "declaration of %q+D shadows a built-in function"
+ msgstr "deklaration av %q+D skuggar en inbyggd funktion"
+
+-#: c-decl.c:1190
++#: c-decl.c:1191
+ #, gcc-internal-format
+ msgid "redeclaration of enumerator %q+D"
+ msgstr "omdeklaration av uppräkningstyp %q+D"
+@@ -17644,275 +17618,275 @@
+ #. If types don't match for a built-in, throw away the
+ #. built-in. No point in calling locate_old_decl here, it
+ #. won't print anything.
+-#: c-decl.c:1211
++#: c-decl.c:1212
+ #, gcc-internal-format
+ msgid "conflicting types for built-in function %q+D"
+ msgstr "motstridiga typer på inbyggd funktion %q+D"
+
+-#: c-decl.c:1235 c-decl.c:1248 c-decl.c:1258
++#: c-decl.c:1236 c-decl.c:1249 c-decl.c:1259
+ #, gcc-internal-format
+ msgid "conflicting types for %q+D"
+ msgstr "motstridiga typer på %q+D"
+
+-#: c-decl.c:1256
++#: c-decl.c:1257
+ #, gcc-internal-format
+ msgid "conflicting type qualifiers for %q+D"
+ msgstr "motstridiga typkvalificerare för %q+D"
+
+ #. Allow OLDDECL to continue in use.
+-#: c-decl.c:1273
++#: c-decl.c:1274
+ #, gcc-internal-format
+ msgid "redefinition of typedef %q+D"
+ msgstr "omdefiniering av typedef %q+D"
+
+-#: c-decl.c:1324 c-decl.c:1426
++#: c-decl.c:1325 c-decl.c:1427
+ #, gcc-internal-format
+ msgid "redefinition of %q+D"
+ msgstr "omdefiniering av %q+D"
+
+-#: c-decl.c:1359 c-decl.c:1464
++#: c-decl.c:1360 c-decl.c:1465
+ #, gcc-internal-format
+ msgid "static declaration of %q+D follows non-static declaration"
+ msgstr "statisk deklaration av %q+D följer på icke-statisk deklaration"
+
+-#: c-decl.c:1369 c-decl.c:1376 c-decl.c:1453 c-decl.c:1461
++#: c-decl.c:1370 c-decl.c:1377 c-decl.c:1454 c-decl.c:1462
+ #, gcc-internal-format
+ msgid "non-static declaration of %q+D follows static declaration"
+ msgstr "icke-statisk deklaration av %q+D följer på statisk deklaration"
+
+-#: c-decl.c:1393
++#: c-decl.c:1394
+ #, gcc-internal-format
+ msgid "%<gnu_inline%> attribute present on %q+D"
+ msgstr "attribut %<gnu_inline%> finns på %q+D"
+
+-#: c-decl.c:1395
++#: c-decl.c:1396
+ #, gcc-internal-format
+ msgid "%Jbut not here"
+ msgstr "%Jmen inte här"
+
+-#: c-decl.c:1413
++#: c-decl.c:1414
+ #, gcc-internal-format
+ msgid "thread-local declaration of %q+D follows non-thread-local declaration"
+ msgstr "trådlokal deklaration av %q+D följer på icke trådlokal deklaration"
+
+-#: c-decl.c:1416
++#: c-decl.c:1417
+ #, gcc-internal-format
+ msgid "non-thread-local declaration of %q+D follows thread-local declaration"
+ msgstr "icke trådlokal deklaration av %q+D följer på trådlokal deklaration"
+
+-#: c-decl.c:1446
++#: c-decl.c:1447
+ #, gcc-internal-format
+ msgid "extern declaration of %q+D follows declaration with no linkage"
+ msgstr "extern deklaration av %q+D följer på deklaration utan länkklass"
+
+-#: c-decl.c:1482
++#: c-decl.c:1483
+ #, gcc-internal-format
+ msgid "declaration of %q+D with no linkage follows extern declaration"
+ msgstr "deklaration av %q+D utan länkklass följer på extern deklaration"
+
+-#: c-decl.c:1488
++#: c-decl.c:1489
+ #, gcc-internal-format
+ msgid "redeclaration of %q+D with no linkage"
+ msgstr "omdeklaration av %q+D utan länkklass"
+
+-#: c-decl.c:1502
++#: c-decl.c:1503
+ #, gcc-internal-format
+ msgid "redeclaration of %q+D with different visibility (old visibility preserved)"
+ msgstr "omdeklaration av %q+D med annan synlighet (gammal synlighet bevarad)"
+
+-#: c-decl.c:1513
++#: c-decl.c:1514
+ #, gcc-internal-format
+ msgid "inline declaration of %qD follows declaration with attribute noinline"
+ msgstr "inline-deklaration av %qD följer på deklaration med attributet noinline"
+
+-#: c-decl.c:1520
++#: c-decl.c:1521
+ #, gcc-internal-format
+ msgid "declaration of %q+D with attribute noinline follows inline declaration "
+ msgstr "deklaration av %q+D med attributet noinline följer på inline-deklaration"
+
+-#: c-decl.c:1539
++#: c-decl.c:1540
+ #, gcc-internal-format
+ msgid "%q+D declared inline after being called"
+ msgstr "%q+D är deklarerad inline efter att den anropats"
+
+-#: c-decl.c:1544
++#: c-decl.c:1545
+ #, gcc-internal-format
+ msgid "%q+D declared inline after its definition"
+ msgstr "%q+D är deklarerad inline efter sin definition"
+
+-#: c-decl.c:1563
++#: c-decl.c:1564
+ #, gcc-internal-format
+ msgid "redefinition of parameter %q+D"
+ msgstr "omdefiniering av parametern %q+D"
+
+-#: c-decl.c:1590
++#: c-decl.c:1591
+ #, gcc-internal-format
+ msgid "redundant redeclaration of %q+D"
+ msgstr "redundant omdeklaration av %q+D"
+
+-#: c-decl.c:1970
++#: c-decl.c:1975
+ #, gcc-internal-format
+ msgid "declaration of %q+D shadows previous non-variable"
+ msgstr "deklaration av %q+D skuggar tidigare icke-variabel"
+
+-#: c-decl.c:1975
++#: c-decl.c:1980
+ #, gcc-internal-format
+ msgid "declaration of %q+D shadows a parameter"
+ msgstr "deklaration av %q+D skuggar en parameter"
+
+-#: c-decl.c:1978
++#: c-decl.c:1983
+ #, gcc-internal-format
+ msgid "declaration of %q+D shadows a global declaration"
+ msgstr "deklaration av %q+D skuggar en global deklaration"
+
+ # local, det kan vara både lokal variabel och lokal funktionsdeklartion
+-#: c-decl.c:1988
++#: c-decl.c:1993
+ #, gcc-internal-format
+ msgid "declaration of %q+D shadows a previous local"
+ msgstr "deklaration av %q+D skuggar en tidigare lokal deklaration"
+
+-#: c-decl.c:1991 cp/name-lookup.c:988 cp/name-lookup.c:1019
+-#: cp/name-lookup.c:1027
++#: c-decl.c:1996 cp/name-lookup.c:987 cp/name-lookup.c:1018
++#: cp/name-lookup.c:1026
+ #, gcc-internal-format
+ msgid "%Jshadowed declaration is here"
+ msgstr "%Jskuggad deklaration är här"
+
+-#: c-decl.c:2183
++#: c-decl.c:2188
+ #, gcc-internal-format
+ msgid "nested extern declaration of %qD"
+ msgstr "nästad extern-deklaration av %qD"
+
+-#: c-decl.c:2346 c-decl.c:2349
++#: c-decl.c:2351 c-decl.c:2354
+ #, gcc-internal-format
+ msgid "implicit declaration of function %qE"
+ msgstr "implicit deklaration av funktionen %qE"
+
+-#: c-decl.c:2411
++#: c-decl.c:2416
+ #, gcc-internal-format
+ msgid "incompatible implicit declaration of built-in function %qD"
+ msgstr "inkompatibel implicit deklaration av inbyggd funktion %qD"
+
+-#: c-decl.c:2420
++#: c-decl.c:2425
+ #, gcc-internal-format
+ msgid "incompatible implicit declaration of function %qD"
+ msgstr "inkompatibel implicit deklaration av funktionen %qD"
+
+-#: c-decl.c:2473
++#: c-decl.c:2478
+ #, gcc-internal-format
+ msgid "%H%qE undeclared here (not in a function)"
+ msgstr "%H%qE är odeklarerad här (inte i en funktion)"
+
+-#: c-decl.c:2478
++#: c-decl.c:2483
+ #, gcc-internal-format
+ msgid "%H%qE undeclared (first use in this function)"
+ msgstr "%H%qE är odeklarerad (första förekomsten i denna funktion)"
+
+-#: c-decl.c:2482
++#: c-decl.c:2487
+ #, gcc-internal-format
+ msgid "%H(Each undeclared identifier is reported only once"
+ msgstr "%H(Varje odeklarerad identifierare rapporteras bara en gång"
+
+-#: c-decl.c:2483
++#: c-decl.c:2488
+ #, gcc-internal-format
+ msgid "%Hfor each function it appears in.)"
+ msgstr "%Hför varje funktion den finns i.)"
+
+-#: c-decl.c:2521 cp/decl.c:2397
++#: c-decl.c:2526 cp/decl.c:2404
+ #, gcc-internal-format
+ msgid "label %qE referenced outside of any function"
+ msgstr "etikett %qE är refererad till utanför någon funktion"
+
+-#: c-decl.c:2563
++#: c-decl.c:2568
+ #, gcc-internal-format
+ msgid "duplicate label declaration %qE"
+ msgstr "dubbel deklaration av etikett %qE"
+
+-#: c-decl.c:2599
++#: c-decl.c:2604
+ #, gcc-internal-format
+ msgid "%Hduplicate label %qD"
+ msgstr "%Hdubblerad etikett %qD"
+
+-#: c-decl.c:2609
++#: c-decl.c:2614
+ #, gcc-internal-format
+ msgid "%Jjump into statement expression"
+ msgstr "%Jhopp in i satsuttryck"
+
+-#: c-decl.c:2611
++#: c-decl.c:2616
+ #, gcc-internal-format
+ msgid "%Jjump into scope of identifier with variably modified type"
+ msgstr "%Jhopp in i räckvidd för identifierare med variabel typ"
+
+-#: c-decl.c:2626
++#: c-decl.c:2631
+ #, gcc-internal-format
+ msgid "%Htraditional C lacks a separate namespace for labels, identifier %qE conflicts"
+ msgstr "%Htraditionell C saknar en separat namnrymd för etiketter, identifierare %qE står i konflikt"
+
+-#: c-decl.c:2701
++#: c-decl.c:2706
+ #, gcc-internal-format
+ msgid "%H%qE defined as wrong kind of tag"
+ msgstr "%H%qE definierad som fel sorts tagg"
+
+-#: c-decl.c:2903
++#: c-decl.c:2908
+ #, gcc-internal-format
+ msgid "unnamed struct/union that defines no instances"
+ msgstr "odöpt struktur/union som inte har någon instans"
+
+-#: c-decl.c:2911
++#: c-decl.c:2916
+ #, gcc-internal-format
+ msgid "empty declaration with storage class specifier does not redeclare tag"
+ msgstr "tom deklaration med specificerare av lagringsklass deklarerar inte om tagg"
+
+-#: c-decl.c:2922
++#: c-decl.c:2927
+ #, gcc-internal-format
+ msgid "empty declaration with type qualifier does not redeclare tag"
+ msgstr "tom deklaration med typkvalificerare deklarerar inte om en tagg"
+
+-#: c-decl.c:2943 c-decl.c:2950
++#: c-decl.c:2948 c-decl.c:2955
+ #, gcc-internal-format
+ msgid "useless type name in empty declaration"
+ msgstr "oanvändbart typnamn i tom deklaration"
+
+-#: c-decl.c:2958
++#: c-decl.c:2963
+ #, gcc-internal-format
+ msgid "%<inline%> in empty declaration"
+ msgstr "%<inline%> i tom deklaration"
+
+-#: c-decl.c:2964
++#: c-decl.c:2969
+ #, gcc-internal-format
+ msgid "%<auto%> in file-scope empty declaration"
+ msgstr "%<auto%> tom deklaration på filnivå"
+
+-#: c-decl.c:2970
++#: c-decl.c:2975
+ #, gcc-internal-format
+ msgid "%<register%> in file-scope empty declaration"
+ msgstr "%<register%> i tom deklaration på filnivå"
+
+-#: c-decl.c:2976
++#: c-decl.c:2981
+ #, gcc-internal-format
+ msgid "useless storage class specifier in empty declaration"
+ msgstr "oanvändbar specificerare av lagringsklass i tom deklaration"
+
+-#: c-decl.c:2982
++#: c-decl.c:2987
+ #, gcc-internal-format
+ msgid "useless %<__thread%> in empty declaration"
+ msgstr "oanvändbar %<__thread%> i tom deklaration"
+
+-#: c-decl.c:2990
++#: c-decl.c:2995
+ #, gcc-internal-format
+ msgid "useless type qualifier in empty declaration"
+ msgstr "oanvändbar typkvalificerare i tom deklaration"
+
+-#: c-decl.c:2997
++#: c-decl.c:3002
+ #, gcc-internal-format
+ msgid "empty declaration"
+ msgstr "tom deklaration"
+
+-#: c-decl.c:3063
++#: c-decl.c:3068
+ #, gcc-internal-format
+ msgid "ISO C90 does not support %<static%> or type qualifiers in parameter array declarators"
+ msgstr "ISO C90 stödjer inte %<static%> eller typkvalificerare i parametervektordeklarerare"
+
+-#: c-decl.c:3066
++#: c-decl.c:3071
+ #, gcc-internal-format
+ msgid "ISO C90 does not support %<[*]%> array declarators"
+ msgstr "ISO C90 stödjer inte %<[*]%>-vektordeklarerare"
+@@ -17920,253 +17894,248 @@
+ #. C99 6.7.5.2p4
+ #. A function definition isn't function prototype scope C99 6.2.1p4.
+ #. C99 6.7.5.2p4
+-#: c-decl.c:3073 c-decl.c:5015
++#: c-decl.c:3078 c-decl.c:5014
+ #, gcc-internal-format
+ msgid "%<[*]%> not allowed in other than function prototype scope"
+ msgstr "%<[*]%> är inte tillåtet annat än inom en funktionsprototyp"
+
+-#: c-decl.c:3097
++#: c-decl.c:3181
+ #, gcc-internal-format
+-msgid "static or type qualifiers in abstract declarator"
+-msgstr "statisk eller typkvalificerare i abstrakt deklarerare"
+-
+-#: c-decl.c:3183
+-#, gcc-internal-format
+ msgid "%q+D is usually a function"
+ msgstr "%q+D är vanligtvis en funktion"
+
+-#: c-decl.c:3192 cp/decl.c:3983 cp/decl2.c:773
++#: c-decl.c:3190 cp/decl.c:4003 cp/decl2.c:773
+ #, gcc-internal-format
+ msgid "typedef %qD is initialized (use __typeof__ instead)"
+ msgstr "typedef %qD är initierad (använd __typeof__ istället)"
+
+-#: c-decl.c:3197
++#: c-decl.c:3195
+ #, gcc-internal-format
+ msgid "function %qD is initialized like a variable"
+ msgstr "funktionen %qD är initierad som en variabel"
+
+ #. DECL_INITIAL in a PARM_DECL is really DECL_ARG_TYPE.
+-#: c-decl.c:3203
++#: c-decl.c:3201
+ #, gcc-internal-format
+ msgid "parameter %qD is initialized"
+ msgstr "parametern %qD är initierad"
+
+-#: c-decl.c:3228
++#: c-decl.c:3226
+ #, gcc-internal-format
+ msgid "variable %qD has initializer but incomplete type"
+ msgstr "variabeln %qD har initierare men ofullständig typ"
+
+-#: c-decl.c:3316 c-decl.c:6108 cp/decl.c:4025 cp/decl.c:10985
++#: c-decl.c:3314 c-decl.c:6107 cp/decl.c:4045 cp/decl.c:11083
+ #, gcc-internal-format
+ msgid "inline function %q+D given attribute noinline"
+ msgstr "inline-funktionen %q+D har fått attributet noinline"
+
+-#: c-decl.c:3327
++#: c-decl.c:3326
+ #, gcc-internal-format
+ msgid "%q+D is static but declared in inline function %qD which is not static"
+ msgstr "%q+D är statisk men deklarerad i inline-funktion %qD som inte är statisk"
+
+-#: c-decl.c:3418
++#: c-decl.c:3417
+ #, gcc-internal-format
+ msgid "initializer fails to determine size of %q+D"
+ msgstr "initierare misslyckas med att bestämma storleken på %q+D"
+
+-#: c-decl.c:3423
++#: c-decl.c:3422
+ #, gcc-internal-format
+ msgid "array size missing in %q+D"
+ msgstr "vektorstorlek saknas i %q+D"
+
+-#: c-decl.c:3435
++#: c-decl.c:3434
+ #, gcc-internal-format
+ msgid "zero or negative size array %q+D"
+ msgstr "noll eller negativ storlek på vektorn %q+D"
+
+-#: c-decl.c:3490 varasm.c:2067
++#: c-decl.c:3489 varasm.c:2067
+ #, gcc-internal-format
+ msgid "storage size of %q+D isn%'t known"
+ msgstr "lagringsstorlek på %q+D är okänd"
+
+-#: c-decl.c:3500
++#: c-decl.c:3499
+ #, gcc-internal-format
+ msgid "storage size of %q+D isn%'t constant"
+ msgstr "lagringsstorlek på %q+D är inte konstant"
+
+-#: c-decl.c:3545
++#: c-decl.c:3544
+ #, gcc-internal-format
+ msgid "ignoring asm-specifier for non-static local variable %q+D"
+ msgstr "ignorerar asm-specificerare för ickestatisk lokal variabel %q+D"
+
+-#: c-decl.c:3573 fortran/f95-lang.c:653
++#: c-decl.c:3572 fortran/f95-lang.c:655
+ #, gcc-internal-format
+ msgid "cannot put object with volatile field into register"
+ msgstr "kan inte lägga objekt med volatile-fält i register"
+
+-#: c-decl.c:3702
++#: c-decl.c:3701
+ #, gcc-internal-format
+ msgid "ISO C forbids forward parameter declarations"
+ msgstr "ISO C förbjuder framåtdeklaration av parametrar"
+
+-#: c-decl.c:3821
++#: c-decl.c:3820
+ #, gcc-internal-format
+ msgid "bit-field %qs width not an integer constant"
+ msgstr "bredden på bitfältet %qs är inte en heltalskonstant"
+
+-#: c-decl.c:3829
++#: c-decl.c:3828
+ #, gcc-internal-format
+ msgid "negative width in bit-field %qs"
+ msgstr "negativ storlek i bitfält %qs"
+
+-#: c-decl.c:3834
++#: c-decl.c:3833
+ #, gcc-internal-format
+ msgid "zero width for bit-field %qs"
+ msgstr "storlek noll på bitfält %qs"
+
+-#: c-decl.c:3844
++#: c-decl.c:3843
+ #, gcc-internal-format
+ msgid "bit-field %qs has invalid type"
+ msgstr "bitfältet %qs har ogiltig typ"
+
+-#: c-decl.c:3854
++#: c-decl.c:3853
+ #, gcc-internal-format
+ msgid "type of bit-field %qs is a GCC extension"
+ msgstr "typen på bitfältet %qs är en GCC-utvidgning"
+
+-#: c-decl.c:3860
++#: c-decl.c:3859
+ #, gcc-internal-format
+ msgid "width of %qs exceeds its type"
+ msgstr "bredden på %qs är större än sin typ"
+
+-#: c-decl.c:3873
++#: c-decl.c:3872
+ #, gcc-internal-format
+ msgid "%qs is narrower than values of its type"
+ msgstr "%qs är smalare än värdena av sin typ"
+
+-#: c-decl.c:3892
++#: c-decl.c:3891
+ #, gcc-internal-format
+ msgid "ISO C90 forbids array %qs whose size can%'t be evaluated"
+ msgstr "ISO C90 förbjuder vektor %qs vars storlek inte kan beräknas"
+
+-#: c-decl.c:3896
++#: c-decl.c:3895
+ #, gcc-internal-format
+ msgid "ISO C90 forbids array whose size can%'t be evaluated"
+ msgstr "ISO C90 förbjuder vektorer vars storlek inte kan beräknas"
+
+-#: c-decl.c:3902
++#: c-decl.c:3901
+ #, gcc-internal-format
+ msgid "ISO C90 forbids variable length array %qs"
+ msgstr "ISO C90 förbjuder vektor %qs med variabel längd"
+
+-#: c-decl.c:3905
++#: c-decl.c:3904
+ #, gcc-internal-format
+ msgid "ISO C90 forbids variable length array"
+ msgstr "ISO C90 förbjuder vektorer med variabel längd"
+
+-#: c-decl.c:3914
++#: c-decl.c:3913
+ #, gcc-internal-format
+ msgid "the size of array %qs can%'t be evaluated"
+ msgstr "storleken på vektor %qs kan inte beräknas"
+
+-#: c-decl.c:3918
++#: c-decl.c:3917
+ #, gcc-internal-format
+ msgid "the size of array can %'t be evaluated"
+ msgstr "storleken på vektorn kan inte beräknas"
+
+-#: c-decl.c:3924
++#: c-decl.c:3923
+ #, gcc-internal-format
+ msgid "variable length array %qs is used"
+ msgstr "vektor %qs med variabel längd används"
+
+-#: c-decl.c:3928 cp/decl.c:7004
++#: c-decl.c:3927 cp/decl.c:7076
+ #, gcc-internal-format
+ msgid "variable length array is used"
+ msgstr "vektor med variabel längd används"
+
+-#: c-decl.c:4051 c-decl.c:4328
++#: c-decl.c:4050 c-decl.c:4327
+ #, gcc-internal-format
+ msgid "variably modified %qs at file scope"
+ msgstr "variabel %qs har filräckvidd"
+
+-#: c-decl.c:4069
++#: c-decl.c:4068
+ #, gcc-internal-format
+ msgid "type defaults to %<int%> in declaration of %qs"
+ msgstr "typen sätts skönsmässigt till %<int%> i deklarationen av %qs"
+
+-#: c-decl.c:4097
++#: c-decl.c:4096
+ #, gcc-internal-format
+ msgid "duplicate %<const%>"
+ msgstr "dubblerat %<const%>"
+
+-#: c-decl.c:4099
++#: c-decl.c:4098
+ #, gcc-internal-format
+ msgid "duplicate %<restrict%>"
+ msgstr "dubblerad %<restrict%>"
+
+-#: c-decl.c:4101
++#: c-decl.c:4100
+ #, gcc-internal-format
+ msgid "duplicate %<volatile%>"
+ msgstr "dubblerad %<volatile%>"
+
+-#: c-decl.c:4120
++#: c-decl.c:4119
+ #, gcc-internal-format
+ msgid "function definition declared %<auto%>"
+ msgstr "funktionsdefinition deklarerad som %<auto%>"
+
+-#: c-decl.c:4122
++#: c-decl.c:4121
+ #, gcc-internal-format
+ msgid "function definition declared %<register%>"
+ msgstr "funktionsdefinition deklarerad som %<register%>"
+
+-#: c-decl.c:4124
++#: c-decl.c:4123
+ #, gcc-internal-format
+ msgid "function definition declared %<typedef%>"
+ msgstr "funktionsdefinition deklarerad som %<typedef%>"
+
+-#: c-decl.c:4126
++#: c-decl.c:4125
+ #, gcc-internal-format
+ msgid "function definition declared %<__thread%>"
+ msgstr "funktionsdefinition deklarerad som %<__thread%>"
+
+-#: c-decl.c:4142
++#: c-decl.c:4141
+ #, gcc-internal-format
+ msgid "storage class specified for structure field %qs"
+ msgstr "lagringsklass angiven för postfält %qs"
+
+-#: c-decl.c:4146 cp/decl.c:7874
++#: c-decl.c:4145 cp/decl.c:7946
+ #, gcc-internal-format
+ msgid "storage class specified for parameter %qs"
+ msgstr "lagringsklass angiven för parameter %qs"
+
+-#: c-decl.c:4149 cp/decl.c:7876
++#: c-decl.c:4148 cp/decl.c:7948
+ #, gcc-internal-format
+ msgid "storage class specified for typename"
+ msgstr "lagringsklass angiven för typnamn"
+
+-#: c-decl.c:4166 cp/decl.c:7893
++#: c-decl.c:4165 cp/decl.c:7965
+ #, gcc-internal-format
+ msgid "%qs initialized and declared %<extern%>"
+ msgstr "%qs initierad och deklarerad %<extern%>"
+
+-#: c-decl.c:4169 cp/decl.c:7896
++#: c-decl.c:4168 cp/decl.c:7968
+ #, gcc-internal-format
+ msgid "%qs has both %<extern%> and initializer"
+ msgstr "%qs har både %<extern%> och initierare"
+
+-#: c-decl.c:4174
++#: c-decl.c:4173
+ #, gcc-internal-format
+ msgid "file-scope declaration of %qs specifies %<auto%>"
+ msgstr "filnivådeklaration av %qs anger %<auto%>"
+
+-#: c-decl.c:4176
++#: c-decl.c:4175
+ #, gcc-internal-format
+ msgid "file-scope declaration of %qs specifies %<register%>"
+ msgstr "filnivådeklaration av %qs anger %<auto%>"
+
+-#: c-decl.c:4181 cp/decl.c:7900
++#: c-decl.c:4180 cp/decl.c:7972
+ #, gcc-internal-format
+ msgid "nested function %qs declared %<extern%>"
+ msgstr "nästad funktion %qs är deklarerad %<extern%>"
+
+-#: c-decl.c:4184 cp/decl.c:7910
++#: c-decl.c:4183 cp/decl.c:7982
+ #, gcc-internal-format
+ msgid "function-scope %qs implicitly auto and declared %<__thread%>"
+ msgstr "funktionsdefinitionsområde %qs implicit auto och deklarerat %<__thread%>"
+@@ -18174,468 +18143,468 @@
+ #. Only the innermost declarator (making a parameter be of
+ #. array type which is converted to pointer type)
+ #. may have static or type qualifiers.
+-#: c-decl.c:4231 c-decl.c:4472
++#: c-decl.c:4230 c-decl.c:4471
+ #, gcc-internal-format
+ msgid "static or type qualifiers in non-parameter array declarator"
+ msgstr "static- eller typkvalificerare i vektordeklarerare som inte är parameter"
+
+-#: c-decl.c:4278
++#: c-decl.c:4277
+ #, gcc-internal-format
+ msgid "declaration of %qs as array of voids"
+ msgstr "deklaration av %qs som ett fält med void"
+
+-#: c-decl.c:4284
++#: c-decl.c:4283
+ #, gcc-internal-format
+ msgid "declaration of %qs as array of functions"
+ msgstr "deklaration av %qs som ett fält med funktioner"
+
+-#: c-decl.c:4289
++#: c-decl.c:4288
+ #, gcc-internal-format
+ msgid "invalid use of structure with flexible array member"
+ msgstr "ogiltig användning av post med flexibel vektormedlem"
+
+-#: c-decl.c:4309
++#: c-decl.c:4308
+ #, gcc-internal-format
+ msgid "size of array %qs has non-integer type"
+ msgstr "storlek på vektorn %qs är inte av heltalstyp"
+
+-#: c-decl.c:4314
++#: c-decl.c:4313
+ #, gcc-internal-format
+ msgid "ISO C forbids zero-size array %qs"
+ msgstr "ISO C förbjuder vektor %qs med storlek noll"
+
+-#: c-decl.c:4321
++#: c-decl.c:4320
+ #, gcc-internal-format
+ msgid "size of array %qs is negative"
+ msgstr "storlek på vektorn %qs är negativ"
+
+-#: c-decl.c:4375 c-decl.c:4631 cp/decl.c:8375
++#: c-decl.c:4374 c-decl.c:4630 cp/decl.c:8447
+ #, gcc-internal-format
+ msgid "size of array %qs is too large"
+ msgstr "storleken på vektorn %qs är för stor"
+
+-#: c-decl.c:4386
++#: c-decl.c:4385
+ #, gcc-internal-format
+ msgid "ISO C90 does not support flexible array members"
+ msgstr "ISO C90 stödjer inte flexibla vektormedlemmar"
+
+ #. C99 6.7.5.2p4
+-#: c-decl.c:4399
++#: c-decl.c:4398
+ #, gcc-internal-format
+ msgid "%<[*]%> not allowed in other than a declaration"
+ msgstr "%<[*]%> är inte tillåtet annat än i en deklaration"
+
+-#: c-decl.c:4422
++#: c-decl.c:4421
+ #, gcc-internal-format
+ msgid "array type has incomplete element type"
+ msgstr "fälttyp har ofullständig elementtyp"
+
+-#: c-decl.c:4504 cp/decl.c:8001
++#: c-decl.c:4503 cp/decl.c:8073
+ #, gcc-internal-format
+ msgid "%qs declared as function returning a function"
+ msgstr "%qs är deklarerad som en funktion som returnerar en funktion"
+
+-#: c-decl.c:4509 cp/decl.c:8006
++#: c-decl.c:4508 cp/decl.c:8078
+ #, gcc-internal-format
+ msgid "%qs declared as function returning an array"
+ msgstr "%qs är deklarerad som en funktion som returnerar en vektor"
+
+-#: c-decl.c:4531
++#: c-decl.c:4530
+ #, gcc-internal-format
+ msgid "function definition has qualified void return type"
+ msgstr "funktionsdefinition som har kvalificerad void-returtyp"
+
+-#: c-decl.c:4534 cp/decl.c:7990 cp/pt.c:8568
++#: c-decl.c:4533 cp/decl.c:8062 cp/pt.c:8668
+ #, gcc-internal-format
+ msgid "type qualifiers ignored on function return type"
+ msgstr "typkvalificerare ignoreras för funktions returtyp"
+
+-#: c-decl.c:4563 c-decl.c:4644 c-decl.c:4732 c-decl.c:4825
++#: c-decl.c:4562 c-decl.c:4643 c-decl.c:4731 c-decl.c:4824
+ #, gcc-internal-format
+ msgid "ISO C forbids qualified function types"
+ msgstr "ISO C förbjuder kvalificerade funktionstyper"
+
+-#: c-decl.c:4652
++#: c-decl.c:4651
+ #, gcc-internal-format
+ msgid "typedef %q+D declared %<inline%>"
+ msgstr "typdef %q+D deklarerad %<inline%>"
+
+-#: c-decl.c:4667
++#: c-decl.c:4666
+ #, gcc-internal-format
+ msgid "ISO C forbids const or volatile function types"
+ msgstr "ISO C förbjuder const- eller volatile-funktionstyper"
+
+ #. C99 6.7.2.1p8
+-#: c-decl.c:4677
++#: c-decl.c:4676
+ #, gcc-internal-format
+ 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-decl.c:4693
++#: c-decl.c:4692
+ #, gcc-internal-format
+ msgid "variable or field %qs declared void"
+ msgstr "variabel eller fält %qs deklarerad void"
+
+-#: c-decl.c:4725
++#: c-decl.c:4724
+ #, gcc-internal-format
+ msgid "attributes in parameter array declarator ignored"
+ msgstr "attribut i parametervektordeklarerare ignoreras"
+
+-#: c-decl.c:4760
++#: c-decl.c:4759
+ #, gcc-internal-format
+ msgid "parameter %q+D declared %<inline%>"
+ msgstr "parametern %q+D deklarerad %<inline%>"
+
+-#: c-decl.c:4773
++#: c-decl.c:4772
+ #, gcc-internal-format
+ msgid "field %qs declared as a function"
+ msgstr "fältet %qs deklarerat som en funktion"
+
+-#: c-decl.c:4779
++#: c-decl.c:4778
+ #, gcc-internal-format
+ msgid "field %qs has incomplete type"
+ msgstr "fält %qs har ofullständig typ"
+
+-#: c-decl.c:4796 c-decl.c:4808 c-decl.c:4812
++#: c-decl.c:4795 c-decl.c:4807 c-decl.c:4811
+ #, gcc-internal-format
+ msgid "invalid storage class for function %qs"
+ msgstr "ogiltig lagringsklass för funktionen %qs"
+
+-#: c-decl.c:4831
++#: c-decl.c:4830
+ #, gcc-internal-format
+ msgid "%<noreturn%> function returns non-void value"
+ msgstr "%<noreturn%>-funktion returnerar ett icke-void värde"
+
+-#: c-decl.c:4867
++#: c-decl.c:4866
+ #, gcc-internal-format
+ msgid "cannot inline function %<main%>"
+ msgstr "kan inte inline:a funktionen %<main%>"
+
+-#: c-decl.c:4910
++#: c-decl.c:4909
+ #, gcc-internal-format
+ msgid "variable previously declared %<static%> redeclared %<extern%>"
+ msgstr "variabel tidigare deklarerad %<static%> omdeklarerad som %<extern%>"
+
+-#: c-decl.c:4920
++#: c-decl.c:4919
+ #, gcc-internal-format
+ msgid "variable %q+D declared %<inline%>"
+ msgstr "variabeln %q+D deklarerad %<inline%>"
+
+ #. C99 6.7.5.2p2
+-#: c-decl.c:4951
++#: c-decl.c:4950
+ #, gcc-internal-format
+ msgid "object with variably modified type must have no linkage"
+ msgstr "objekt med variabel typ får inte ha länkklass"
+
+-#: c-decl.c:5020 c-decl.c:6199
++#: c-decl.c:5019 c-decl.c:6198
+ #, gcc-internal-format
+ msgid "function declaration isn%'t a prototype"
+ msgstr "funktionsdeklarationen är inte en prototyp"
+
+-#: c-decl.c:5028
++#: c-decl.c:5027
+ #, gcc-internal-format
+ msgid "parameter names (without types) in function declaration"
+ msgstr "parameternamn (utan typer) i funktionsdeklaration"
+
+-#: c-decl.c:5061
++#: c-decl.c:5060
+ #, gcc-internal-format
+ msgid "parameter %u (%q+D) has incomplete type"
+ msgstr "parameter %u (%q+D) har ofullständig typ"
+
+-#: c-decl.c:5064
++#: c-decl.c:5063
+ #, gcc-internal-format
+ msgid "%Jparameter %u has incomplete type"
+ msgstr "%Jparameter %u har ofullständig typ"
+
+-#: c-decl.c:5073
++#: c-decl.c:5072
+ #, gcc-internal-format
+ msgid "parameter %u (%q+D) has void type"
+ msgstr "parameter %u (%q+D) har void-typ"
+
+-#: c-decl.c:5076
++#: c-decl.c:5075
+ #, gcc-internal-format
+ msgid "%Jparameter %u has void type"
+ msgstr "%Jparameter %u har void-typ"
+
+-#: c-decl.c:5138
++#: c-decl.c:5137
+ #, gcc-internal-format
+ msgid "%<void%> as only parameter may not be qualified"
+ msgstr "%<void%> som enda parameter kan inte kvalificeras"
+
+-#: c-decl.c:5142 c-decl.c:5176
++#: c-decl.c:5141 c-decl.c:5175
+ #, gcc-internal-format
+ msgid "%<void%> must be the only parameter"
+ msgstr "%<void%> måste vara den enda parametern"
+
+-#: c-decl.c:5170
++#: c-decl.c:5169
+ #, gcc-internal-format
+ msgid "parameter %q+D has just a forward declaration"
+ msgstr "parameter %q+D har endast en framåtdeklaration"
+
+ #. The %s will be one of 'struct', 'union', or 'enum'.
+-#: c-decl.c:5215
++#: c-decl.c:5214
+ #, gcc-internal-format
+ msgid "%<%s %E%> declared inside parameter list"
+ msgstr "%<%s %E%> deklarerad inuti parameterlista"
+
+ #. The %s will be one of 'struct', 'union', or 'enum'.
+-#: c-decl.c:5219
++#: c-decl.c:5218
+ #, gcc-internal-format
+ msgid "anonymous %s declared inside parameter list"
+ msgstr "anonym %s deklarerad inuti parameterlista"
+
+-#: c-decl.c:5224
++#: c-decl.c:5223
+ #, gcc-internal-format
+ msgid "its scope is only this definition or declaration, which is probably not what you want"
+ msgstr "dess scope-område är endast denna definition eller deklaration, vilket troligen inte är vad du vill."
+
+-#: c-decl.c:5358
++#: c-decl.c:5357
+ #, gcc-internal-format
+ msgid "redefinition of %<union %E%>"
+ msgstr "omdefinition av %<union %E%>"
+
+-#: c-decl.c:5360
++#: c-decl.c:5359
+ #, gcc-internal-format
+ msgid "redefinition of %<struct %E%>"
+ msgstr "omdefinition av %<struct %E%>"
+
+-#: c-decl.c:5365
++#: c-decl.c:5364
+ #, gcc-internal-format
+ msgid "nested redefinition of %<union %E%>"
+ msgstr "nästad omdefinition av %<union %E%>"
+
+-#: c-decl.c:5367
++#: c-decl.c:5366
+ #, gcc-internal-format
+ msgid "nested redefinition of %<struct %E%>"
+ msgstr "nästad omdefinition av %<struct %E%>"
+
+-#: c-decl.c:5442 cp/decl.c:3780
++#: c-decl.c:5441 cp/decl.c:3796
+ #, gcc-internal-format
+ msgid "declaration does not declare anything"
+ msgstr "deklaration som inte deklarerar något"
+
+-#: c-decl.c:5446
++#: c-decl.c:5445
+ #, gcc-internal-format
+ msgid "ISO C doesn%'t support unnamed structs/unions"
+ msgstr "ISO C stödjer ej namnlösa strukturer/unioner"
+
+-#: c-decl.c:5490 c-decl.c:5506
++#: c-decl.c:5489 c-decl.c:5505
+ #, gcc-internal-format
+ msgid "duplicate member %q+D"
+ msgstr "dubblerad medlem %q+D"
+
+-#: c-decl.c:5545
++#: c-decl.c:5544
+ #, gcc-internal-format
+ msgid "union has no named members"
+ msgstr "unionen har inga namngivna medlemmar"
+
+-#: c-decl.c:5547
++#: c-decl.c:5546
+ #, gcc-internal-format
+ msgid "union has no members"
+ msgstr "unionen har inga medlemmar"
+
+-#: c-decl.c:5552
++#: c-decl.c:5551
+ #, gcc-internal-format
+ msgid "struct has no named members"
+ msgstr "posten har inga namngivna medlemmar"
+
+-#: c-decl.c:5554
++#: c-decl.c:5553
+ #, gcc-internal-format
+ msgid "struct has no members"
+ msgstr "posten har inga medlemmar"
+
+-#: c-decl.c:5616
++#: c-decl.c:5615
+ #, gcc-internal-format
+ msgid "%Jflexible array member in union"
+ msgstr "%Jflexibel vektormedlem i union"
+
+-#: c-decl.c:5621
++#: c-decl.c:5620
+ #, gcc-internal-format
+ msgid "%Jflexible array member not at end of struct"
+ msgstr "%Jflexibel vektormedlem inte vid slutet av post"
+
+-#: c-decl.c:5626
++#: c-decl.c:5625
+ #, gcc-internal-format
+ msgid "%Jflexible array member in otherwise empty struct"
+ msgstr "%Jflexibel vektor medlem i i övrigt tom post"
+
+-#: c-decl.c:5633
++#: c-decl.c:5632
+ #, gcc-internal-format
+ msgid "%Jinvalid use of structure with flexible array member"
+ msgstr "%Jogiltig användning av post flexibel vektormedlem"
+
+-#: c-decl.c:5742
++#: c-decl.c:5741
+ #, gcc-internal-format
+ msgid "union cannot be made transparent"
+ msgstr "unionen kan inte göras transparent"
+
+-#: c-decl.c:5813
++#: c-decl.c:5812
+ #, gcc-internal-format
+ msgid "nested redefinition of %<enum %E%>"
+ msgstr "nästad omdefinition av %<enum %E%>"
+
+ #. This enum is a named one that has been declared already.
+-#: c-decl.c:5820
++#: c-decl.c:5819
+ #, gcc-internal-format
+ msgid "redeclaration of %<enum %E%>"
+ msgstr "omdeklaration av %<enum %E%>"
+
+-#: c-decl.c:5883
++#: c-decl.c:5882
+ #, gcc-internal-format
+ msgid "enumeration values exceed range of largest integer"
+ msgstr "uppräkningsvärden överskrider gränsen för största heltal"
+
+-#: c-decl.c:5900
++#: c-decl.c:5899
+ #, gcc-internal-format
+ msgid "specified mode too small for enumeral values"
+ msgstr "angiven sort för liten för uppräkningvärden"
+
+-#: c-decl.c:5996
++#: c-decl.c:5995
+ #, gcc-internal-format
+ msgid "enumerator value for %qE is not an integer constant"
+ msgstr "uppräkningsvärde för %qE är inte en heltalskonstant"
+
+-#: c-decl.c:6013
++#: c-decl.c:6012
+ #, gcc-internal-format
+ msgid "overflow in enumeration values"
+ msgstr "överspill i uppräkningsvärden"
+
+-#: c-decl.c:6018
++#: c-decl.c:6017
+ #, gcc-internal-format
+ msgid "ISO C restricts enumerator values to range of %<int%>"
+ msgstr "ISO C begränsar uppräkningsvärden till intervallet hos %<int%>"
+
+-#: c-decl.c:6125
++#: c-decl.c:6124
+ #, gcc-internal-format
+ msgid "return type is an incomplete type"
+ msgstr "returtypen är en ofullständig typ"
+
+-#: c-decl.c:6133
++#: c-decl.c:6132
+ #, gcc-internal-format
+ msgid "return type defaults to %<int%>"
+ msgstr "returtyp sätts skönsmässigt till %<int%>"
+
+-#: c-decl.c:6206
++#: c-decl.c:6205
+ #, gcc-internal-format
+ msgid "no previous prototype for %q+D"
+ msgstr "ingen tidigare prototyp för %q+D"
+
+-#: c-decl.c:6215
++#: c-decl.c:6214
+ #, gcc-internal-format
+ msgid "%q+D was used with no prototype before its definition"
+ msgstr "%q+D användes utan någon prototyp före sin definition"
+
+-#: c-decl.c:6221 cp/decl.c:11126
++#: c-decl.c:6220 cp/decl.c:11224
+ #, gcc-internal-format
+ msgid "no previous declaration for %q+D"
+ msgstr "ingen tidigare deklaration av %q+D"
+
+-#: c-decl.c:6231
++#: c-decl.c:6230
+ #, gcc-internal-format
+ msgid "%q+D was used with no declaration before its definition"
+ msgstr "%q+D användes utan någon deklaration före sin definition"
+
+-#: c-decl.c:6254 c-decl.c:6723
++#: c-decl.c:6253 c-decl.c:6722
+ #, gcc-internal-format
+ msgid "return type of %q+D is not %<int%>"
+ msgstr "returtypen på %q+D är inte %<int%>"
+
+-#: c-decl.c:6259
++#: c-decl.c:6258
+ #, gcc-internal-format
+ msgid "%q+D is normally a non-static function"
+ msgstr "%q+D är normalt en icke-statisk funktion"
+
+-#: c-decl.c:6293
++#: c-decl.c:6292
+ #, gcc-internal-format
+ msgid "%Jold-style parameter declarations in prototyped function definition"
+ msgstr "%Jgammaldags parameterdeklarationer i funktionsdefinition med prototyp"
+
+-#: c-decl.c:6307
++#: c-decl.c:6306
+ #, gcc-internal-format
+ msgid "%Jtraditional C rejects ISO C style function definitions"
+ msgstr "%Jtraditionell C tillåter inte ISO C:s stil av funktionsdefinitioner"
+
+-#: c-decl.c:6323
++#: c-decl.c:6322
+ #, gcc-internal-format
+ msgid "%Jparameter name omitted"
+ msgstr "%Jparameternamn utelämnat"
+
+-#: c-decl.c:6357
++#: c-decl.c:6356
+ #, gcc-internal-format
+ msgid "%Jold-style function definition"
+ msgstr "%Jgammaldags funktionsdefinition"
+
+-#: c-decl.c:6366
++#: c-decl.c:6365
+ #, gcc-internal-format
+ msgid "%Jparameter name missing from parameter list"
+ msgstr "%Jparameternamn saknas i parameterlista"
+
+-#: c-decl.c:6377
++#: c-decl.c:6376
+ #, gcc-internal-format
+ msgid "%q+D declared as a non-parameter"
+ msgstr "%q+D deklarerad som en icke-parameter"
+
+-#: c-decl.c:6382
++#: c-decl.c:6381
+ #, gcc-internal-format
+ msgid "multiple parameters named %q+D"
+ msgstr "flera parametrar med namnet %q+D"
+
+-#: c-decl.c:6390
++#: c-decl.c:6389
+ #, gcc-internal-format
+ msgid "parameter %q+D declared with void type"
+ msgstr "parameter %q+D deklarerad med typen void"
+
+-#: c-decl.c:6407 c-decl.c:6409
++#: c-decl.c:6406 c-decl.c:6408
+ #, gcc-internal-format
+ msgid "type of %q+D defaults to %<int%>"
+ msgstr "typen på %q+D sätts skönsmässigt till %<int%>"
+
+-#: c-decl.c:6428
++#: c-decl.c:6427
+ #, gcc-internal-format
+ msgid "parameter %q+D has incomplete type"
+ msgstr "parametern %q+D har ofullständig typ"
+
+-#: c-decl.c:6434
++#: c-decl.c:6433
+ #, gcc-internal-format
+ msgid "declaration for parameter %q+D but no such parameter"
+ msgstr "deklaration av parameter %q+D med det finns ingen sådan parameter"
+
+-#: c-decl.c:6484
++#: c-decl.c:6483
+ #, gcc-internal-format
+ msgid "number of arguments doesn%'t match built-in prototype"
+ msgstr "antalet argument stämmer inte med inbyggd prototyp"
+
+-#: c-decl.c:6488
++#: c-decl.c:6487
+ #, gcc-internal-format
+ msgid "number of arguments doesn%'t match prototype"
+ msgstr "antalet argument stämmer inte med prototypen"
+
+-#: c-decl.c:6489 c-decl.c:6529 c-decl.c:6542
++#: c-decl.c:6488 c-decl.c:6528 c-decl.c:6541
+ #, gcc-internal-format
+ msgid "%Hprototype declaration"
+ msgstr "%Hprototypdeklaration"
+
+-#: c-decl.c:6523
++#: c-decl.c:6522
+ #, gcc-internal-format
+ msgid "promoted argument %qD doesn%'t match built-in prototype"
+ msgstr "befordrat argument %qD stämmer inte med inbyggd prototyp"
+
+-#: c-decl.c:6527
++#: c-decl.c:6526
+ #, gcc-internal-format
+ msgid "promoted argument %qD doesn%'t match prototype"
+ msgstr "befordrat argument %qD stämmer inte med prototypen"
+
+-#: c-decl.c:6537
++#: c-decl.c:6536
+ #, gcc-internal-format
+ msgid "argument %qD doesn%'t match built-in prototype"
+ msgstr "argument %qD stämmer inte med inbyggd prototyp"
+
+-#: c-decl.c:6541
++#: c-decl.c:6540
+ #, gcc-internal-format
+ msgid "argument %qD doesn%'t match prototype"
+ msgstr "argument %qD stämmer inte med prototypen"
+
+-#: c-decl.c:6768 cp/decl.c:11820
++#: c-decl.c:6767 cp/decl.c:11918
+ #, gcc-internal-format
+ msgid "no return statement in function returning non-void"
+ msgstr "ingen retursats i funktion som returnerar icke-void"
+@@ -18643,437 +18612,437 @@
+ #. If we get here, declarations have been used in a for loop without
+ #. the C99 for loop scope. This doesn't make much sense, so don't
+ #. allow it.
+-#: c-decl.c:6841
++#: c-decl.c:6840
+ #, gcc-internal-format
+ msgid "%<for%> loop initial declaration used outside C99 mode"
+ msgstr "%<for%>-slinga med startdeklaration använd utanför C99-läge"
+
+-#: c-decl.c:6870
++#: c-decl.c:6869
+ #, gcc-internal-format
+ msgid "declaration of static variable %q+D in %<for%> loop initial declaration"
+ msgstr "deklaration av statisk variabel %q+D i %<for%>-slingas initiala deklaration"
+
+-#: c-decl.c:6873
++#: c-decl.c:6872
+ #, gcc-internal-format
+ msgid "declaration of %<extern%> variable %q+D in %<for%> loop initial declaration"
+ msgstr "deklaration av %<extern%>-variabel %q+D i %<for%>-slingas initiala deklaration"
+
+-#: c-decl.c:6878
++#: c-decl.c:6877
+ #, gcc-internal-format
+ msgid "%<struct %E%> declared in %<for%> loop initial declaration"
+ msgstr "%<struct %E%> är deklarerad i %<for%>-slingas initiala deklaration"
+
+-#: c-decl.c:6882
++#: c-decl.c:6881
+ #, gcc-internal-format
+ msgid "%<union %E%> declared in %<for%> loop initial declaration"
+ msgstr "%<union %E%> är deklarerad i %<for%>-slingas initiala deklaration"
+
+-#: c-decl.c:6886
++#: c-decl.c:6885
+ #, gcc-internal-format
+ msgid "%<enum %E%> declared in %<for%> loop initial declaration"
+ msgstr "%<enum %E%> är deklarerad i %<for%>-slingas initiala deklaration"
+
+-#: c-decl.c:6890
++#: c-decl.c:6889
+ #, gcc-internal-format
+ msgid "declaration of non-variable %q+D in %<for%> loop initial declaration"
+ msgstr "deklaration av icke-variabel %q+D i %<for%>-slingas initiala deklaration"
+
+-#: c-decl.c:7178 c-decl.c:7420 c-decl.c:7716
++#: c-decl.c:7177 c-decl.c:7419 c-decl.c:7715
+ #, gcc-internal-format
+ msgid "duplicate %qE"
+ msgstr "dubblerad %qE"
+
+-#: c-decl.c:7201 c-decl.c:7430 c-decl.c:7617
++#: c-decl.c:7200 c-decl.c:7429 c-decl.c:7616
+ #, gcc-internal-format
+ msgid "two or more data types in declaration specifiers"
+ msgstr "två eller fler datatyper i deklaration av specificerare"
+
+-#: c-decl.c:7213 cp/parser.c:2149
++#: c-decl.c:7212 cp/parser.c:2152
+ #, gcc-internal-format
+ msgid "%<long long long%> is too long for GCC"
+ msgstr "%<long long long%> är för långt för GCC"
+
+-#: c-decl.c:7220 c-decl.c:7520
++#: c-decl.c:7219 c-decl.c:7519
+ #, gcc-internal-format
+ msgid "both %<long long%> and %<double%> in declaration specifiers"
+ msgstr "både %<long long%> och %<double%> i deklarationsspecificerare"
+
+-#: c-decl.c:7226
++#: c-decl.c:7225
+ #, gcc-internal-format
+ msgid "ISO C90 does not support %<long long%>"
+ msgstr "ISO C90 stödjer inte %<long long%>"
+
+-#: c-decl.c:7231 c-decl.c:7260
++#: c-decl.c:7230 c-decl.c:7259
+ #, gcc-internal-format
+ msgid "both %<long%> and %<short%> in declaration specifiers"
+ msgstr "både %<long%> och %<short%> i deklarationsspecificerare"
+
+-#: c-decl.c:7234 c-decl.c:7437
++#: c-decl.c:7233 c-decl.c:7436
+ #, gcc-internal-format
+ msgid "both %<long%> and %<void%> in declaration specifiers"
+ msgstr "både %<long%> och %<void%> i deklarationsspecificerare"
+
+-#: c-decl.c:7237 c-decl.c:7459
++#: c-decl.c:7236 c-decl.c:7458
+ #, gcc-internal-format
+ msgid "both %<long%> and %<_Bool%> in declaration specifiers"
+ msgstr "både %<long%> och %<_Bool%> i deklarationsspecificerare"
+
+-#: c-decl.c:7240 c-decl.c:7481
++#: c-decl.c:7239 c-decl.c:7480
+ #, gcc-internal-format
+ msgid "both %<long%> and %<char%> in declaration specifiers"
+ msgstr "både %<long%> och %<char%> i deklarationsspecificerare"
+
+-#: c-decl.c:7243 c-decl.c:7501
++#: c-decl.c:7242 c-decl.c:7500
+ #, gcc-internal-format
+ msgid "both %<long%> and %<float%> in declaration specifiers"
+ msgstr "både %<long%> och %<float%> i deklarationsspecificerare"
+
+-#: c-decl.c:7246
++#: c-decl.c:7245
+ #, gcc-internal-format
+ msgid "both %<long%> and %<_Decimal32%> in declaration specifiers"
+ msgstr "både %<long%> och %<_Decimal32%> i deklarationsspecificerare"
+
+-#: c-decl.c:7249
++#: c-decl.c:7248
+ #, gcc-internal-format
+ msgid "both %<long%> and %<_Decimal64%> in declaration specifiers"
+ msgstr "både %<long%> och %<_Decimal64%> i deklarationsspecificerare"
+
+-#: c-decl.c:7252
++#: c-decl.c:7251
+ #, gcc-internal-format
+ msgid "both %<long%> and %<_Decimal128%> in declaration specifiers"
+ msgstr "både %<long%> och %<_Decimal128%> i deklarationsspecificerare"
+
+-#: c-decl.c:7263 c-decl.c:7440
++#: c-decl.c:7262 c-decl.c:7439
+ #, gcc-internal-format
+ msgid "both %<short%> and %<void%> in declaration specifiers"
+ msgstr "både %<short%> och %<void%> i deklarationsspecificerare"
+
+-#: c-decl.c:7266 c-decl.c:7462
++#: c-decl.c:7265 c-decl.c:7461
+ #, gcc-internal-format
+ msgid "both %<short%> and %<_Bool%> in declaration specifiers"
+ msgstr "både %<short%> och %<_Bool%> i deklarationsspecificerare"
+
+-#: c-decl.c:7269 c-decl.c:7484
++#: c-decl.c:7268 c-decl.c:7483
+ #, gcc-internal-format
+ msgid "both %<short%> and %<char%> in declaration specifiers"
+ msgstr "både %<short%> och %<char%> i deklarationsspecificerare"
+
+-#: c-decl.c:7272 c-decl.c:7504
++#: c-decl.c:7271 c-decl.c:7503
+ #, gcc-internal-format
+ msgid "both %<short%> and %<float%> in declaration specifiers"
+ msgstr "både %<short%> och %<float%> i deklarationsspecificerare"
+
+-#: c-decl.c:7275 c-decl.c:7523
++#: c-decl.c:7274 c-decl.c:7522
+ #, gcc-internal-format
+ msgid "both %<short%> and %<double%> in declaration specifiers"
+ msgstr "både %<short%> och %<double%> i deklarationsspecificerare"
+
+-#: c-decl.c:7278
++#: c-decl.c:7277
+ #, gcc-internal-format
+ msgid "both %<short%> and %<_Decimal32%> in declaration specifiers"
+ msgstr "både %<short%> och %<_Decimal32%> i deklarationsspecificerare"
+
+-#: c-decl.c:7281
++#: c-decl.c:7280
+ #, gcc-internal-format
+ msgid "both %<short%> and %<_Decimal64%> in declaration specifiers"
+ msgstr "både %<short%> och %<_Decimal64%> i deklarationsspecificerare"
+
+-#: c-decl.c:7284
++#: c-decl.c:7283
+ #, gcc-internal-format
+ msgid "both %<short%> and %<_Decimal128%> in declaration specifiers"
+ msgstr "både %<short%> och %<_Decimal128%> i deklarationsspecificerare"
+
+-#: c-decl.c:7292 c-decl.c:7321
++#: c-decl.c:7291 c-decl.c:7320
+ #, gcc-internal-format
+ msgid "both %<signed%> and %<unsigned%> in declaration specifiers"
+ msgstr "både %<signed%> och %<unsigned%> i deklarationsspecificerare"
+
+-#: c-decl.c:7295 c-decl.c:7443
++#: c-decl.c:7294 c-decl.c:7442
+ #, gcc-internal-format
+ msgid "both %<signed%> and %<void%> in declaration specifiers"
+ msgstr "både %<signed%> och %<void%> i deklarationsspecificerare"
+
+-#: c-decl.c:7298 c-decl.c:7465
++#: c-decl.c:7297 c-decl.c:7464
+ #, gcc-internal-format
+ msgid "both %<signed%> and %<_Bool%> in declaration specifiers"
+ msgstr "både %<signed%> och %<_Bool%> i deklarationsspecificerare"
+
+-#: c-decl.c:7301 c-decl.c:7507
++#: c-decl.c:7300 c-decl.c:7506
+ #, gcc-internal-format
+ msgid "both %<signed%> and %<float%> in declaration specifiers"
+ msgstr "både %<signed%> och %<float%> i deklarationsspecificerare"
+
+-#: c-decl.c:7304 c-decl.c:7526
++#: c-decl.c:7303 c-decl.c:7525
+ #, gcc-internal-format
+ msgid "both %<signed%> and %<double%> in declaration specifiers"
+ msgstr "både %<double%> och %<double%> i deklarationsspecificerare"
+
+-#: c-decl.c:7307
++#: c-decl.c:7306
+ #, gcc-internal-format
+ msgid "both %<signed%> and %<_Decimal32%> in declaration specifiers"
+ msgstr "både %<signed%> och %<_Decimal32%> i deklarationsspecificerare"
+
+-#: c-decl.c:7310
++#: c-decl.c:7309
+ #, gcc-internal-format
+ msgid "both %<signed%> and %<_Decimal64%> in declaration specifiers"
+ msgstr "både %<signed%> och %<_Decimal64%> i deklarationsspecificerare"
+
+-#: c-decl.c:7313
++#: c-decl.c:7312
+ #, gcc-internal-format
+ msgid "both %<signed%> and %<_Decimal128%> in declaration specifiers"
+ msgstr "både %<signed%> och %<_Decimal128%> i deklarationsspecificerare"
+
+-#: c-decl.c:7324 c-decl.c:7446
++#: c-decl.c:7323 c-decl.c:7445
+ #, gcc-internal-format
+ msgid "both %<unsigned%> and %<void%> in declaration specifiers"
+ msgstr "både %<unsigned%> och %<void%> i deklarationsspecificerare"
+
+-#: c-decl.c:7327 c-decl.c:7468
++#: c-decl.c:7326 c-decl.c:7467
+ #, gcc-internal-format
+ msgid "both %<unsigned%> and %<_Bool%> in declaration specifiers"
+ msgstr "både %<unsigned%> och %<_Bool%> i deklarationsspecificerare"
+
+-#: c-decl.c:7330 c-decl.c:7510
++#: c-decl.c:7329 c-decl.c:7509
+ #, gcc-internal-format
+ msgid "both %<unsigned%> and %<float%> in declaration specifiers"
+ msgstr "både %<unsigned%> och %<float%> i deklarationsspecificerare"
+
+-#: c-decl.c:7333 c-decl.c:7529
++#: c-decl.c:7332 c-decl.c:7528
+ #, gcc-internal-format
+ msgid "both %<unsigned%> and %<double%> in declaration specifiers"
+ msgstr "både %<unsigned%> och %<double%> i deklarationsspecificerare"
+
+-#: c-decl.c:7336
++#: c-decl.c:7335
+ #, gcc-internal-format
+ msgid "both %<unsigned%> and %<_Decimal32%> in declaration specifiers"
+ msgstr "både %<unsigned%> och %<_Decimal32%> i deklarationsspecificerare"
+
+-#: c-decl.c:7339
++#: c-decl.c:7338
+ #, gcc-internal-format
+ msgid "both %<unsigned%> and %<_Decimal64%> in declaration specifiers"
+ msgstr "både %<unsigned%> och %<_Decimal64%> i deklarationsspecificerare"
+
+-#: c-decl.c:7342
++#: c-decl.c:7341
+ #, gcc-internal-format
+ msgid "both %<unsigned%> and %<_Decimal128%> in declaration specifiers"
+ msgstr "både %<unsigned%> och %<_Decimal128%> i deklarationsspecificerare"
+
+-#: c-decl.c:7350
++#: c-decl.c:7349
+ #, gcc-internal-format
+ msgid "ISO C90 does not support complex types"
+ msgstr "ISO C90 stödjer inte komplexa typen"
+
+-#: c-decl.c:7352 c-decl.c:7449
++#: c-decl.c:7351 c-decl.c:7448
+ #, gcc-internal-format
+ msgid "both %<complex%> and %<void%> in declaration specifiers"
+ msgstr "både %<complex%> och %<void%> i deklarationsspecificerare"
+
+-#: c-decl.c:7355 c-decl.c:7471
++#: c-decl.c:7354 c-decl.c:7470
+ #, gcc-internal-format
+ msgid "both %<complex%> and %<_Bool%> in declaration specifiers"
+ msgstr "både %<complex%> och %<_Bool%> i deklarationsspecificerare"
+
+-#: c-decl.c:7358
++#: c-decl.c:7357
+ #, gcc-internal-format
+ msgid "both %<complex%> and %<_Decimal32%> in declaration specifiers"
+ msgstr "både %<complex%> och %<_Decimal32%> i deklarationsspecificerare"
+
+-#: c-decl.c:7361
++#: c-decl.c:7360
+ #, gcc-internal-format
+ msgid "both %<complex%> and %<_Decimal64%> in declaration specifiers"
+ msgstr "både %<complex%> och %<_Decimal64%> i deklarationsspecificerare"
+
+-#: c-decl.c:7364
++#: c-decl.c:7363
+ #, gcc-internal-format
+ msgid "both %<complex%> and %<_Decimal128%> in declaration specifiers"
+ msgstr "både %<complex%> och %<_Decimal128%> i deklarationsspecificerare"
+
+-#: c-decl.c:7367
++#: c-decl.c:7366
+ #, gcc-internal-format
+ msgid "both %<complex%> and %<_Fract%> in declaration specifiers"
+ msgstr "både %<complex%> och %<_Fract%> i deklarationsspecificerare"
+
+-#: c-decl.c:7370
++#: c-decl.c:7369
+ #, gcc-internal-format
+ msgid "both %<complex%> and %<_Accum%> in declaration specifiers"
+ msgstr "både %<complex%> och %<_Accum%> i deklarationsspecificerare"
+
+-#: c-decl.c:7373
++#: c-decl.c:7372
+ #, gcc-internal-format
+ msgid "both %<complex%> and %<_Sat%> in declaration specifiers"
+ msgstr "både %<complex%> och %<_Sat%> i deklarationsspecificerare"
+
+-#: c-decl.c:7381
++#: c-decl.c:7380
+ #, gcc-internal-format
+ msgid "ISO C does not support saturating types"
+ msgstr "ISO C stödjer inte mättning av typer"
+
+-#: c-decl.c:7383 c-decl.c:7452
++#: c-decl.c:7382 c-decl.c:7451
+ #, gcc-internal-format
+ msgid "both %<_Sat%> and %<void%> in declaration specifiers"
+ msgstr "både %<_Sat%> och %<void%> i deklarationsspecificerare"
+
+-#: c-decl.c:7386 c-decl.c:7474
++#: c-decl.c:7385 c-decl.c:7473
+ #, gcc-internal-format
+ msgid "both %<_Sat%> and %<_Bool%> in declaration specifiers"
+ msgstr "både %<_Sat%> och %<_Bool%> i deklarationsspecificerare"
+
+-#: c-decl.c:7389 c-decl.c:7487
++#: c-decl.c:7388 c-decl.c:7486
+ #, gcc-internal-format
+ msgid "both %<_Sat%> and %<char%> in declaration specifiers"
+ msgstr "både %<_Sat%> och %<char%> i deklarationsspecificerare"
+
+-#: c-decl.c:7392 c-decl.c:7494
++#: c-decl.c:7391 c-decl.c:7493
+ #, gcc-internal-format
+ msgid "both %<_Sat%> and %<int%> in declaration specifiers"
+ msgstr "både %<_Sat%> och %<int%> i deklarationsspecificerare"
+
+-#: c-decl.c:7395 c-decl.c:7513
++#: c-decl.c:7394 c-decl.c:7512
+ #, gcc-internal-format
+ msgid "both %<_Sat%> and %<float%> in declaration specifiers"
+ msgstr "både %<_Sat%> och %<float%> i deklarationsspecificerare"
+
+-#: c-decl.c:7398 c-decl.c:7532
++#: c-decl.c:7397 c-decl.c:7531
+ #, gcc-internal-format
+ msgid "both %<_Sat%> and %<double%> in declaration specifiers"
+ msgstr "både %<_Sat%> och %<double%> i deklarationsspecificerare"
+
+-#: c-decl.c:7401
++#: c-decl.c:7400
+ #, gcc-internal-format
+ msgid "both %<_Sat%> and %<_Decimal32%> in declaration specifiers"
+ msgstr "både %<_Sat%> och %<_Decimal32%> i deklarationsspecificerare"
+
+-#: c-decl.c:7404
++#: c-decl.c:7403
+ #, gcc-internal-format
+ msgid "both %<_Sat%> and %<_Decimal64%> in declaration specifiers"
+ msgstr "både %<_Sat%> och %<_Decimal64%> i deklarationsspecificerare"
+
+-#: c-decl.c:7407
++#: c-decl.c:7406
+ #, gcc-internal-format
+ msgid "both %<_Sat%> and %<_Decimal128%> in declaration specifiers"
+ msgstr "både %<_Sat%> och %<_Decimal128%> i deklarationsspecificerare"
+
+-#: c-decl.c:7410
++#: c-decl.c:7409
+ #, gcc-internal-format
+ msgid "both %<_Sat%> and %<complex%> in declaration specifiers"
+ msgstr "både %<_Sat%> och %<complex%> i deklarationsspecificerare"
+
+-#: c-decl.c:7549
++#: c-decl.c:7548
+ #, gcc-internal-format
+ msgid "both %<long long%> and %<%s%> in declaration specifiers"
+ msgstr "både %<long long%> och %<%s%> i deklarationsspecificerare"
+
+-#: c-decl.c:7552
++#: c-decl.c:7551
+ #, gcc-internal-format
+ msgid "both %<long%> and %<%s%> in declaration specifiers"
+ msgstr "både %<long%> och %<%s%> i deklarationsspecificerare"
+
+-#: c-decl.c:7555
++#: c-decl.c:7554
+ #, gcc-internal-format
+ msgid "both %<short%> and %<%s%> in declaration specifiers"
+ msgstr "både %<short%> och %<%s%> i deklarationsspecificerare"
+
+-#: c-decl.c:7558
++#: c-decl.c:7557
+ #, gcc-internal-format
+ msgid "both %<signed%> and %<%s%> in declaration specifiers"
+ msgstr "både %<signed%> och %<%s%> i deklarationsspecificerare"
+
+-#: c-decl.c:7561
++#: c-decl.c:7560
+ #, gcc-internal-format
+ msgid "both %<unsigned%> and %<%s%> in declaration specifiers"
+ msgstr "både %<unsigned%> och %<%s%> i deklarationsspecificerare"
+
+-#: c-decl.c:7564 c-decl.c:7590
++#: c-decl.c:7563 c-decl.c:7589
+ #, gcc-internal-format
+ msgid "both %<complex%> and %<%s%> in declaration specifiers"
+ msgstr "både %<complex%> och %<%s%> i deklarationsspecificerare"
+
+-#: c-decl.c:7567
++#: c-decl.c:7566
+ #, gcc-internal-format
+ msgid "both %<_Sat%> and %<%s%> in declaration specifiers"
+ msgstr "både %<_Sat%> och %<%s%> i deklarationsspecificerare"
+
+-#: c-decl.c:7577
++#: c-decl.c:7576
+ #, gcc-internal-format
+ msgid "decimal floating point not supported for this target"
+ msgstr "decimala flyttal stöds inte för denna målarkitektur"
+
+-#: c-decl.c:7579
++#: c-decl.c:7578
+ #, gcc-internal-format
+ msgid "ISO C does not support decimal floating point"
+ msgstr "ISO C stödjer inte decimala flyttal"
+
+-#: c-decl.c:7598
++#: c-decl.c:7597
+ #, gcc-internal-format
+ msgid "fixed-point types not supported for this target"
+ msgstr "fixdecimaltyper stöds inte för denna målarkitektur"
+
+-#: c-decl.c:7600
++#: c-decl.c:7599
+ #, gcc-internal-format
+ msgid "ISO C does not support fixed-point types"
+ msgstr "ISO C stöder inte fixdecimaltyper"
+
+-#: c-decl.c:7634
++#: c-decl.c:7633
+ #, gcc-internal-format
+ msgid "%qE fails to be a typedef or built in type"
+ msgstr "%qE är varken en typedef eller en inbyggd typ"
+
+-#: c-decl.c:7667
++#: c-decl.c:7666
+ #, gcc-internal-format
+ msgid "%qE is not at beginning of declaration"
+ msgstr "%qE är inte i början av deklarationen"
+
+-#: c-decl.c:7681
++#: c-decl.c:7680
+ #, gcc-internal-format
+ msgid "%<__thread%> used with %<auto%>"
+ msgstr "%<__thread%> använd med %<auto%>"
+
+-#: c-decl.c:7683
++#: c-decl.c:7682
+ #, gcc-internal-format
+ msgid "%<__thread%> used with %<register%>"
+ msgstr "%<__thread%> använd med %<register%>"
+
+-#: c-decl.c:7685
++#: c-decl.c:7684
+ #, gcc-internal-format
+ msgid "%<__thread%> used with %<typedef%>"
+ msgstr "%<__thread%> använd med %<typedef%>"
+
+-#: c-decl.c:7696
++#: c-decl.c:7695
+ #, gcc-internal-format
+ msgid "%<__thread%> before %<extern%>"
+ msgstr "%<__thread%> före %<extern%>"
+
+-#: c-decl.c:7705
++#: c-decl.c:7704
+ #, gcc-internal-format
+ msgid "%<__thread%> before %<static%>"
+ msgstr "%<__thread%> före %<static%>"
+
+-#: c-decl.c:7721
++#: c-decl.c:7720
+ #, gcc-internal-format
+ msgid "multiple storage classes in declaration specifiers"
+ msgstr "flera lagringsklasser i deklarationsspecificerare"
+
+-#: c-decl.c:7728
++#: c-decl.c:7727
+ #, gcc-internal-format
+ msgid "%<__thread%> used with %qE"
+ msgstr "%<__thread%> använd med %qE"
+
+-#: c-decl.c:7775
++#: c-decl.c:7774
+ #, gcc-internal-format
+ msgid "%<_Sat%> is used without %<_Fract%> or %<_Accum%>"
+ msgstr "%<_Sat%> används utan %<_Fract%> eller %<_Accum%>"
+
+-#: c-decl.c:7787
++#: c-decl.c:7786
+ #, gcc-internal-format
+ msgid "ISO C does not support plain %<complex%> meaning %<double complex%>"
+ msgstr "ISO C stödjer inte bara %<complex%> i meningen %<double complex%>"
+
+-#: c-decl.c:7832 c-decl.c:7858
++#: c-decl.c:7831 c-decl.c:7857
+ #, gcc-internal-format
+ msgid "ISO C does not support complex integer types"
+ msgstr "ISO C stöder inte komplexa heltalstyper"
+
+-#: c-decl.c:8008 toplev.c:847
++#: c-decl.c:8007 toplev.c:847
+ #, gcc-internal-format
+ msgid "%q+F used but never defined"
+ msgstr "%q+F är använd men inte definierad"
+@@ -19488,37 +19457,37 @@
+ msgid "invalid expression type for %<#pragma omp atomic%>"
+ msgstr "ogiltig uttryckstyp för %<#pragma omp atomic%>"
+
+-#: c-omp.c:218
++#: c-omp.c:219
+ #, gcc-internal-format
+ msgid "%Hinvalid type for iteration variable %qE"
+ msgstr "%Hogiltig typ för iterationsvariabeln %qE"
+
+-#: c-omp.c:222
++#: c-omp.c:223
+ #, gcc-internal-format
+ msgid "%Hiteration variable %qE is unsigned"
+ msgstr "%Hiterationsvariabeln %qE är teckenlös"
+
+-#: c-omp.c:233
++#: c-omp.c:234
+ #, gcc-internal-format
+ msgid "%H%qE is not initialized"
+ msgstr "%H%qE är inte initierad"
+
+-#: c-omp.c:246 cp/semantics.c:3840
++#: c-omp.c:247 cp/semantics.c:3872
+ #, gcc-internal-format
+ msgid "%Hmissing controlling predicate"
+ msgstr "%Hstyrpredikat saknas"
+
+-#: c-omp.c:304
++#: c-omp.c:305
+ #, gcc-internal-format
+ msgid "%Hinvalid controlling predicate"
+ msgstr "%Hogiltigt styrpredikat"
+
+-#: c-omp.c:311 cp/semantics.c:3846
++#: c-omp.c:312 cp/semantics.c:3878
+ #, gcc-internal-format
+ msgid "%Hmissing increment expression"
+ msgstr "%Hutelämnat ökningsuttryck"
+
+-#: c-omp.c:361
++#: c-omp.c:362
+ #, gcc-internal-format
+ msgid "%Hinvalid increment expression"
+ msgstr "%Hogiltigt ökningsuttryck"
+@@ -19563,152 +19532,152 @@
+ msgid "obsolete option -I- used, please use -iquote instead"
+ msgstr "föråldrad flagga -I- använd, använd -iquote istället"
+
+-#: c-opts.c:508
++#: c-opts.c:510
+ #, gcc-internal-format
+ msgid "argument %qs to %<-Wnormalized%> not recognized"
+ msgstr "argumentet %qs till %<-Wnormalized%> är inte känt"
+
+-#: c-opts.c:595
++#: c-opts.c:597
+ #, gcc-internal-format
+ msgid "switch %qs is no longer supported"
+ msgstr "flaggan %qs stödjs inte längre"
+
+-#: c-opts.c:705
++#: c-opts.c:707
+ #, gcc-internal-format
+ msgid "-fhandle-exceptions has been renamed -fexceptions (and is now on by default)"
+ msgstr "-fhandle-exceptions har bytt namn till -fexceptions (och är nu normalt påslagen)"
+
+-#: c-opts.c:911
++#: c-opts.c:913
+ #, gcc-internal-format
+ msgid "output filename specified twice"
+ msgstr "utdatafilnamn angivet två gånger"
+
+-#: c-opts.c:1051
++#: c-opts.c:1053
+ #, gcc-internal-format
+ msgid "-fno-gnu89-inline is only supported in GNU99 or C99 mode"
+ msgstr "-fno-gnu89-inline stöds endast i GNU99- C99-läge"
+
+-#: c-opts.c:1126
++#: c-opts.c:1142
+ #, gcc-internal-format
+ msgid "-Wformat-y2k ignored without -Wformat"
+ msgstr "-Wformat-y2k ignorerad utan -Wformat"
+
+-#: c-opts.c:1128
++#: c-opts.c:1144
+ #, gcc-internal-format
+ msgid "-Wformat-extra-args ignored without -Wformat"
+ msgstr "-Wformat-extra-args ignorerad utan -Wformat"
+
+-#: c-opts.c:1130
++#: c-opts.c:1146
+ #, gcc-internal-format
+ msgid "-Wformat-zero-length ignored without -Wformat"
+ msgstr "-Wformat-zero-length ignoreras utan -Wformat"
+
+-#: c-opts.c:1132
++#: c-opts.c:1148
+ #, gcc-internal-format
+ msgid "-Wformat-nonliteral ignored without -Wformat"
+ msgstr "-Wformat-nonliteral ignorerad utan -Wformat"
+
+-#: c-opts.c:1134
++#: c-opts.c:1150
+ #, gcc-internal-format
+ msgid "-Wformat-contains-nul ignored without -Wformat"
+ msgstr "-Wformat-contains-nul ignoreras utan -Wformat"
+
+-#: c-opts.c:1136
++#: c-opts.c:1152
+ #, gcc-internal-format
+ msgid "-Wformat-security ignored without -Wformat"
+ msgstr "-Wformat-security ignorerad utan -Wformat"
+
+-#: c-opts.c:1160
++#: c-opts.c:1176
+ #, gcc-internal-format
+ msgid "opening output file %s: %m"
+ msgstr "vid öppnandet av utdatafil %s: %m"
+
+-#: c-opts.c:1165
++#: c-opts.c:1181
+ #, gcc-internal-format
+ msgid "too many filenames given. Type %s --help for usage"
+ msgstr "för många filnamn angivna. Skriv %s --help för användningsinformation"
+
+-#: c-opts.c:1249
++#: c-opts.c:1265
+ #, gcc-internal-format
+ msgid "The C parser does not support -dy, option ignored"
+ msgstr "Parsern för C stödjer inte -dy, flaggan ignoreras"
+
+-#: c-opts.c:1253
++#: c-opts.c:1269
+ #, gcc-internal-format
+ msgid "The Objective-C parser does not support -dy, option ignored"
+ msgstr "Parsern för Objective-C stödjer inte -dy, flaggan ignoreras"
+
+-#: c-opts.c:1256
++#: c-opts.c:1272
+ #, gcc-internal-format
+ msgid "The C++ parser does not support -dy, option ignored"
+ msgstr "Parsern för C++ stödjer inte -dy, flaggan ignoreras"
+
+-#: c-opts.c:1260
++#: c-opts.c:1276
+ #, gcc-internal-format
+ msgid "The Objective-C++ parser does not support -dy, option ignored"
+ msgstr "Parsern för Objective-C++ stödjer inte -dy, flaggan ignoreras"
+
+-#: c-opts.c:1309
++#: c-opts.c:1326
+ #, gcc-internal-format
+ msgid "opening dependency file %s: %m"
+ msgstr "när beroendefil %s öppnades: %m"
+
+-#: c-opts.c:1319
++#: c-opts.c:1336
+ #, gcc-internal-format
+ msgid "closing dependency file %s: %m"
+ msgstr "när beroendefil %s stängdes: %m"
+
+-#: c-opts.c:1322
++#: c-opts.c:1339
+ #, gcc-internal-format
+ msgid "when writing output to %s: %m"
+ msgstr "när utdata skrevs till %s: %m"
+
+-#: c-opts.c:1402
++#: c-opts.c:1419
+ #, gcc-internal-format
+ msgid "to generate dependencies you must specify either -M or -MM"
+ msgstr "för att generera beroenden måste du ange antingen -M eller -MM"
+
+-#: c-opts.c:1448
++#: c-opts.c:1469
+ #, gcc-internal-format
+ msgid "-fdirectives-only is incompatible with -Wunused_macros"
+ msgstr "-fdirectives-only är inkompatibel med -Wunused_macros"
+
+-#: c-opts.c:1450
++#: c-opts.c:1471
+ #, gcc-internal-format
+ msgid "-fdirectives-only is incompatible with -traditional"
+ msgstr "-fdirectives-only är inkompatibel med -traditional"
+
+-#: c-opts.c:1588
++#: c-opts.c:1609
+ #, gcc-internal-format
+ msgid "too late for # directive to set debug directory"
+ msgstr "för sent för #-direktiv att ange felsökningskatalog"
+
+-#: c-parser.c:1070
++#: c-parser.c:1072
+ #, gcc-internal-format
+ msgid "%HISO C forbids an empty source file"
+ msgstr "%HISO C förbjuder tomma källkodsfiler"
+
+-#: c-parser.c:1156 c-parser.c:6091
++#: c-parser.c:1158 c-parser.c:6150
+ #, gcc-internal-format
+ msgid "%HISO C does not allow extra %<;%> outside of a function"
+ msgstr "%HISO C tillåter inte extra %<;%> utanför funktioner"
+
+-#: c-parser.c:1259 c-parser.c:6640
++#: c-parser.c:1261 c-parser.c:6699
+ #, gcc-internal-format
+ msgid "expected declaration specifiers"
+ msgstr "deklarationsspecificerare förväntades"
+
+-#: c-parser.c:1271
++#: c-parser.c:1273
+ #, gcc-internal-format
+ msgid "%Hempty declaration"
+ msgstr "%Htom deklaration"
+
+-#: c-parser.c:1307
++#: c-parser.c:1309
+ #, gcc-internal-format
+ msgid "%Hdata definition has no type or storage class"
+ msgstr "%Hdatadefinition har ingen typ eller lagringsklass"
+
+-#: c-parser.c:1362
++#: c-parser.c:1364
+ #, gcc-internal-format
+ msgid "expected %<,%> or %<;%>"
+ msgstr "%<,%> eller %<;%> förväntades"
+@@ -19716,174 +19685,189 @@
+ #. This can appear in many cases looking nothing like a
+ #. function definition, so we don't give a more specific
+ #. error suggesting there was one.
+-#: c-parser.c:1369 c-parser.c:1386
++#: c-parser.c:1371 c-parser.c:1388
+ #, gcc-internal-format
+ msgid "expected %<=%>, %<,%>, %<;%>, %<asm%> or %<__attribute__%>"
+ msgstr "%<=%>, %<,%>, %<;%>, %<asm%> eller %<__attribute__%> förväntades"
+
+-#: c-parser.c:1378
++#: c-parser.c:1380
+ #, gcc-internal-format
+ msgid "%HISO C forbids nested functions"
+ msgstr "%HISO C förbjuder nästade funktioner"
+
+-#: c-parser.c:1743 c-parser.c:2553 c-parser.c:3189 c-parser.c:3445
+-#: c-parser.c:4308 c-parser.c:4895 c-parser.c:5298 c-parser.c:5318
+-#: c-parser.c:5434 c-parser.c:5582 c-parser.c:5599 c-parser.c:5731
+-#: c-parser.c:5743 c-parser.c:5768 c-parser.c:5903 c-parser.c:5932
+-#: c-parser.c:5940 c-parser.c:5968 c-parser.c:5982 c-parser.c:6201
+-#: c-parser.c:6300 c-parser.c:6803 c-parser.c:7426
++#: c-parser.c:1745 c-parser.c:2555 c-parser.c:3191 c-parser.c:3447
++#: c-parser.c:4367 c-parser.c:4954 c-parser.c:5357 c-parser.c:5377
++#: c-parser.c:5493 c-parser.c:5641 c-parser.c:5658 c-parser.c:5790
++#: c-parser.c:5802 c-parser.c:5827 c-parser.c:5962 c-parser.c:5991
++#: c-parser.c:5999 c-parser.c:6027 c-parser.c:6041 c-parser.c:6260
++#: c-parser.c:6359 c-parser.c:6862 c-parser.c:7493
+ #, gcc-internal-format
+ msgid "expected identifier"
+ msgstr "identifierare förväntades"
+
+-#: c-parser.c:1773
++#: c-parser.c:1775
+ #, gcc-internal-format
+ msgid "%Hcomma at end of enumerator list"
+ msgstr "%Hkomma i slutet av uppräkningslista"
+
+-#: c-parser.c:1779
++#: c-parser.c:1781
+ #, gcc-internal-format
+ msgid "expected %<,%> or %<}%>"
+ msgstr "%<,%> eller %<}%> förväntades"
+
+-#: c-parser.c:1793 c-parser.c:1977 c-parser.c:6058
++#: c-parser.c:1795 c-parser.c:1979 c-parser.c:6117
+ #, gcc-internal-format
+ msgid "expected %<{%>"
+ msgstr "%<{%> förväntades"
+
+-#: c-parser.c:1804
++#: c-parser.c:1806
+ #, gcc-internal-format
+ msgid "%HISO C forbids forward references to %<enum%> types"
+ msgstr "%HISO C förbjuder framåtreferenser till %<enum%>-typer"
+
+-#: c-parser.c:1911
++#: c-parser.c:1913
+ #, gcc-internal-format
+ msgid "expected class name"
+ msgstr "klassnamn förväntades"
+
+-#: c-parser.c:1930 c-parser.c:5835
++#: c-parser.c:1932 c-parser.c:5894
+ #, gcc-internal-format
+ msgid "%Hextra semicolon in struct or union specified"
+ msgstr "%Hextra semikolon i struktur eller union angivet"
+
+-#: c-parser.c:1959
++#: c-parser.c:1961
+ #, gcc-internal-format
+ msgid "%Hno semicolon at end of struct or union"
+ msgstr "%Hinget semikolon vid slutet av struktur eller union"
+
+-#: c-parser.c:1963
++#: c-parser.c:1965
+ #, gcc-internal-format
+ msgid "expected %<;%>"
+ msgstr "%<;%> förväntades"
+
+-#: c-parser.c:2042 c-parser.c:3014
++#: c-parser.c:2044 c-parser.c:3016
+ #, gcc-internal-format
+ msgid "expected specifier-qualifier-list"
+ msgstr "specificerarkvalificerarlista förväntades"
+
+-#: c-parser.c:2052
++#: c-parser.c:2054
+ #, gcc-internal-format
+ msgid "%HISO C forbids member declarations with no members"
+ msgstr "%HISO C förbjuder medlemsdeklarationer utan medlemmar"
+
+-#: c-parser.c:2126
++#: c-parser.c:2128
+ #, gcc-internal-format
+ msgid "expected %<,%>, %<;%> or %<}%>"
+ msgstr "%<,%>, %<;%> eller %<}%> förväntades"
+
+-#: c-parser.c:2133
++#: c-parser.c:2135
+ #, gcc-internal-format
+ msgid "expected %<:%>, %<,%>, %<;%>, %<}%> or %<__attribute__%>"
+ msgstr "%<:%>, %<,%>, %<;%>, %<}%> eller %<__attribute__%> förväntades"
+
+-#: c-parser.c:2184
++#: c-parser.c:2186
+ #, gcc-internal-format
+ msgid "%H%<typeof%> applied to a bit-field"
+ msgstr "%H%<typeof%> applicerat på ett bitfält"
+
+-#: c-parser.c:2421
++#: c-parser.c:2423
+ #, gcc-internal-format
+ msgid "expected identifier or %<(%>"
+ msgstr "identifierare eller %<(%> förväntades"
+
+-#: c-parser.c:2622
++#: c-parser.c:2624
+ #, gcc-internal-format
+ msgid "%HISO C requires a named argument before %<...%>"
+ msgstr "%HISO C kräver ett namngivet argument före %<...%>"
+
+-#: c-parser.c:2729
++#: c-parser.c:2731
+ #, gcc-internal-format
+ msgid "expected declaration specifiers or %<...%>"
+ msgstr "deklarationsspecificerare eller %<...%> förväntades"
+
+-#: c-parser.c:2779
++#: c-parser.c:2781
+ #, gcc-internal-format
+ msgid "%Hwide string literal in %<asm%>"
+ msgstr "%Hbred strängliteral i %<asm%>"
+
+-#: c-parser.c:2786 c-parser.c:6695 cp/parser.c:20393
++#: c-parser.c:2788 c-parser.c:6754 cp/parser.c:20482
+ #, gcc-internal-format
+ msgid "expected string literal"
+ msgstr "strängkonstant förväntades"
+
+-#: c-parser.c:3107
++#: c-parser.c:3109
+ #, gcc-internal-format
+ msgid "%HISO C forbids empty initializer braces"
+ msgstr "%HISO C förbjuder tomma krullparenteser som initierare"
+
+ #. Use the colon as the error location.
+-#: c-parser.c:3154
++#: c-parser.c:3156
+ #, gcc-internal-format
+ msgid "%Hobsolete use of designated initializer with %<:%>"
+ msgstr "%Hföråldrad användning av designerade initierare med %<:%>"
+
+-#: c-parser.c:3285
++#: c-parser.c:3287
+ #, gcc-internal-format
+ msgid "%HISO C forbids specifying range of elements to initialize"
+ msgstr "%HISO C förbjuder specifiering av intervall av element som skall initieras"
+
+-#: c-parser.c:3298
++#: c-parser.c:3300
+ #, gcc-internal-format
+ msgid "%HISO C90 forbids specifying subobject to initialize"
+ msgstr "%HISO C90 förbjuder specifiering av subobjekt som skall initieras"
+
+-#: c-parser.c:3307
++#: c-parser.c:3309
+ #, gcc-internal-format
+ msgid "%Hobsolete use of designated initializer without %<=%>"
+ msgstr "%Hföråldrad användning av designerade initierare utan %<=%>"
+
+-#: c-parser.c:3316
++#: c-parser.c:3318
+ #, gcc-internal-format
+ msgid "expected %<=%>"
+ msgstr "%<=%> förväntades"
+
+-#: c-parser.c:3461
++#: c-parser.c:3463
+ #, gcc-internal-format
+ msgid "%HISO C forbids label declarations"
+ msgstr "%HISO C förbjuder etikettdeklarationer"
+
+-#: c-parser.c:3466 c-parser.c:3541
++#: c-parser.c:3468 c-parser.c:3543
+ #, gcc-internal-format
+ msgid "expected declaration or statement"
+ msgstr "deklaration eller sats förväntades"
+
+-#: c-parser.c:3494 c-parser.c:3522
++#: c-parser.c:3496 c-parser.c:3524
+ #, gcc-internal-format
+ msgid "%HISO C90 forbids mixed declarations and code"
+ msgstr "%HISO C90 förbjuder blandade deklarationer och kod"
+
++#: c-parser.c:3550
++#, gcc-internal-format
++msgid "%Hexpected %<}%> before %<else%>"
++msgstr "%H%<}%> förväntades före %<else%>"
++
+ #: c-parser.c:3555
+ #, gcc-internal-format
++msgid "%H%<else%> without a previous %<if%>"
++msgstr "%H%<else%> utan ett föregående %<if%>"
++
++#: c-parser.c:3571
++#, gcc-internal-format
+ msgid "%Hlabel at end of compound statement"
+ msgstr "%Hetikett vid slutet av sammansatt sats"
+
+-#: c-parser.c:3598
++#: c-parser.c:3614
+ #, gcc-internal-format
+ msgid "expected %<:%> or %<...%>"
+ msgstr "%<:%> eller %<...%> förväntades"
+
+-#: c-parser.c:3779
++#: c-parser.c:3647
+ #, gcc-internal-format
++msgid "%Ha label can only be part of a statement and a declaration is not a statement"
++msgstr "%Hen etikett kan endast vara en del av en sats och en deklaration är inte en sats"
++
++#: c-parser.c:3810
++#, gcc-internal-format
+ msgid "expected identifier or %<*%>"
+ msgstr "identifierare eller %<*%> förväntades"
+
+@@ -19891,188 +19875,183 @@
+ #. 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-parser.c:3841
++#: c-parser.c:3872
+ #, gcc-internal-format
+ msgid "expected statement"
+ msgstr "sats förväntades"
+
+-#: c-parser.c:3851
++#: c-parser.c:4095
+ #, gcc-internal-format
+-msgid "%Ha label can only be part of a statement and a declaration is not a statement"
+-msgstr "%Hen etikett kan endast vara en del av en sats och en deklaration är inte en sats"
+-
+-#: c-parser.c:4036
+-#, gcc-internal-format
+ msgid "%Hsuggest braces around empty body in %<do%> statement"
+ msgstr "%Hföreslår klamrar runt tom kropp i %<do%>-sats"
+
+-#: c-parser.c:4192
++#: c-parser.c:4251
+ #, gcc-internal-format
+ msgid "%H%E qualifier ignored on asm"
+ msgstr "%Hkvalificeraren %E ignorerad på asm"
+
+-#: c-parser.c:4473
++#: c-parser.c:4532
+ #, gcc-internal-format
+ msgid "%HISO C forbids omitting the middle term of a ?: expression"
+ msgstr "%HISO C förbjuder utelämnande av den mittersta termen i ett ?: uttryck"
+
+-#: c-parser.c:4863
++#: c-parser.c:4922
+ #, gcc-internal-format
+ msgid "%Htraditional C rejects the unary plus operator"
+ msgstr "%Htraditionell C tillåter inte operatorn unärt plus"
+
+ #. C99 6.7.5.2p4
+-#: c-parser.c:4974
++#: c-parser.c:5033
+ #, gcc-internal-format
+ msgid "%H%<[*]%> not allowed in other than a declaration"
+ msgstr "%H%<[*]%> är inte tillåtet annat än i en deklaration"
+
+-#: c-parser.c:4988
++#: c-parser.c:5047
+ #, gcc-internal-format
+ msgid "%H%<sizeof%> applied to a bit-field"
+ msgstr "%H%<sizeof%> applicerat på ett bitfält"
+
+-#: c-parser.c:5132 c-parser.c:5476 c-parser.c:5498
++#: c-parser.c:5191 c-parser.c:5535 c-parser.c:5557
+ #, gcc-internal-format
+ msgid "expected expression"
+ msgstr "uttryck förväntades"
+
+-#: c-parser.c:5159
++#: c-parser.c:5218
+ #, gcc-internal-format
+ msgid "%Hbraced-group within expression allowed only inside a function"
+ msgstr "%Hklammergrupp inuti uttryck endast tillåtet inuti en funktion"
+
+-#: c-parser.c:5173
++#: c-parser.c:5232
+ #, gcc-internal-format
+ msgid "%HISO C forbids braced-groups within expressions"
+ msgstr "%HISO C förbjuder klammergrupper inuti uttryck"
+
+-#: c-parser.c:5358
++#: c-parser.c:5417
+ #, gcc-internal-format
+ msgid "%Hfirst argument to %<__builtin_choose_expr%> not a constant"
+ msgstr "%Hförsta argumentet till %<__builtin_choose_expr%> är inte en konstant"
+
+-#: c-parser.c:5527
++#: c-parser.c:5586
+ #, gcc-internal-format
+ msgid "%Hcompound literal has variable size"
+ msgstr "%Hsammansatt literal har variabel storlek"
+
+-#: c-parser.c:5535
++#: c-parser.c:5594
+ #, gcc-internal-format
+ msgid "%HISO C90 forbids compound literals"
+ msgstr "%HISO C90 förbjuder sammansatta literaler"
+
+-#: c-parser.c:6053
++#: c-parser.c:6112
+ #, gcc-internal-format
+ msgid "%Hextra semicolon in method definition specified"
+ msgstr "%Hextra semikolon angivet i metoddefintion"
+
+-#: c-parser.c:6600 cp/parser.c:20436
++#: c-parser.c:6659 cp/parser.c:20525
+ #, gcc-internal-format
+ msgid "%<#pragma omp barrier%> may only be used in compound statements"
+ msgstr "%<#pragma omp barrier%> får bara användas i sammansatta satser"
+
+-#: c-parser.c:6611 cp/parser.c:20451
++#: c-parser.c:6670 cp/parser.c:20540
+ #, gcc-internal-format
+ msgid "%<#pragma omp flush%> may only be used in compound statements"
+ msgstr "%<#pragma omp flush%> får bara användas i sammansatta satser"
+
+-#: c-parser.c:6623
++#: c-parser.c:6682
+ #, gcc-internal-format
+ msgid "%H%<#pragma omp section%> may only be used in %<#pragma omp sections%> construct"
+ msgstr "%H%<#pragma omp section%> får bara användas i %<#pragma omp sections%>-konstruktion"
+
+-#: c-parser.c:6630 cp/parser.c:20426
++#: c-parser.c:6689 cp/parser.c:20515
+ #, gcc-internal-format
+ msgid "%<#pragma GCC pch_preprocess%> must be first"
+ msgstr "%<#pragma GCC pch_preprocess%> måste komma först"
+
+-#: c-parser.c:6781 cp/parser.c:19277
++#: c-parser.c:6840 cp/parser.c:19359
+ #, gcc-internal-format
+ msgid "too many %qs clauses"
+ msgstr "för många %qs-klausuler"
+
+-#: c-parser.c:6906
++#: c-parser.c:6965
+ #, gcc-internal-format
+ msgid "expected %<none%> or %<shared%>"
+ msgstr "%<none%> eller %<shared%> förväntades"
+
+-#: c-parser.c:6949
++#: c-parser.c:7008
+ #, gcc-internal-format
+ msgid "expected %<(%>"
+ msgstr "%<(%> förväntades"
+
+-#: c-parser.c:6993 c-parser.c:7170
++#: c-parser.c:7052 c-parser.c:7229
+ #, gcc-internal-format
+ msgid "expected integer expression"
+ msgstr "heltalsuttryck förväntades"
+
+-#: c-parser.c:7002
++#: c-parser.c:7061
+ #, gcc-internal-format
+ msgid "%H%<num_threads%> value must be positive"
+ msgstr "%H%<num_threads%>-värdet måste vara positivt"
+
+-#: c-parser.c:7082
++#: c-parser.c:7141
+ #, gcc-internal-format
+ msgid "expected %<+%>, %<*%>, %<-%>, %<&%>, %<^%>, %<|%>, %<&&%>, or %<||%>"
+ msgstr "%<+%>, %<*%>, %<-%>, %<&%>, %<^%>, %<|%>, %<&&%> eller %<||%> förväntades"
+
+-#: c-parser.c:7165
++#: c-parser.c:7224
+ #, gcc-internal-format
+ msgid "%Hschedule %<runtime%> does not take a %<chunk_size%> parameter"
+ msgstr "%H%<runtime%>-schemaläggning tar ingen %<chunk_size%>-parameter"
+
+-#: c-parser.c:7183
++#: c-parser.c:7242
+ #, gcc-internal-format
+ msgid "invalid schedule kind"
+ msgstr "ogiltig schedule-sort"
+
+-#: c-parser.c:7269
++#: c-parser.c:7336
+ #, gcc-internal-format
+ msgid "expected %<#pragma omp%> clause"
+ msgstr "förväntade %<#pragma omp%>-klausul"
+
+-#: c-parser.c:7278
++#: c-parser.c:7345
+ #, gcc-internal-format
+ msgid "%H%qs is not valid for %qs"
+ msgstr "%H%qs är inte giltigt för %qs"
+
+-#: c-parser.c:7378
++#: c-parser.c:7445
+ #, gcc-internal-format
+ msgid "invalid operator for %<#pragma omp atomic%>"
+ msgstr "ogiltig operator för %<#pragma omp atomic%>"
+
+-#: c-parser.c:7429 c-parser.c:7449
++#: c-parser.c:7496 c-parser.c:7516
+ #, gcc-internal-format
+ msgid "expected %<(%> or end of line"
+ msgstr "%<(%> eller filslut förväntades"
+
+-#: c-parser.c:7467
++#: c-parser.c:7534
+ #, gcc-internal-format
+ msgid "for statement expected"
+ msgstr "for-sats förväntades"
+
+-#: c-parser.c:7540 cp/semantics.c:3826 cp/semantics.c:3870
++#: c-parser.c:7609 cp/semantics.c:3858 cp/semantics.c:3902
+ #, gcc-internal-format
+ msgid "expected iteration declaration or initialization"
+ msgstr "iterationsdeklaration eller initiering förväntades"
+
+-#: c-parser.c:7666
++#: c-parser.c:7735
+ #, gcc-internal-format
+ msgid "%Hexpected %<#pragma omp section%> or %<}%>"
+ msgstr "%H%<#pragma omp section%> eller %<}%> förväntades"
+
+-#: c-parser.c:7899 cp/semantics.c:3718
++#: c-parser.c:7968 cp/semantics.c:3750
+ #, gcc-internal-format
+ msgid "%qE declared %<threadprivate%> after first use"
+ msgstr "%qE är deklarerad %<threadprivate%> efter första användningen"
+
+-#: c-parser.c:7901 cp/semantics.c:3720
++#: c-parser.c:7970 cp/semantics.c:3752
+ #, gcc-internal-format
+ msgid "automatic variable %qE cannot be %<threadprivate%>"
+ msgstr "automatisk variabel %E kan inte vara %<threadprivate%>"
+
+-#: c-parser.c:7903 cp/semantics.c:3722
++#: c-parser.c:7972 cp/semantics.c:3754
+ #, gcc-internal-format
+ msgid "%<threadprivate%> %qE has incomplete type"
+ msgstr "%<threadprivate%> %qE har ofullständig typ"
+@@ -20237,122 +20216,122 @@
+ msgid "junk at end of %<#pragma pop_macro%>"
+ msgstr "skräp vid slutet av %<#pragma pop_macro%>"
+
+-#: c-pragma.c:406
++#: c-pragma.c:407
+ #, gcc-internal-format
+ msgid "applying #pragma weak %q+D after first use results in unspecified behavior"
+ msgstr "applicering av #pragma weak %q+D efter första användningen ger odefinierat beteende"
+
+-#: c-pragma.c:480 c-pragma.c:485
++#: c-pragma.c:481 c-pragma.c:486
+ #, gcc-internal-format
+ msgid "malformed #pragma weak, ignored"
+ msgstr "felformaterat #pragma weak, ignoreras"
+
+-#: c-pragma.c:489
++#: c-pragma.c:490
+ #, gcc-internal-format
+ msgid "junk at end of %<#pragma weak%>"
+ msgstr "skräp vid slutet av %<#pragma weak%>"
+
+-#: c-pragma.c:557 c-pragma.c:559
++#: c-pragma.c:558 c-pragma.c:560
+ #, gcc-internal-format
+ msgid "malformed #pragma redefine_extname, ignored"
+ msgstr "felformaterat #pragma redefine_extname, ignoreras"
+
+-#: c-pragma.c:562
++#: c-pragma.c:563
+ #, gcc-internal-format
+ msgid "junk at end of %<#pragma redefine_extname%>"
+ msgstr "skräp vid slutet av %<#pragma redefine_extname%>"
+
+-#: c-pragma.c:568
++#: c-pragma.c:569
+ #, gcc-internal-format
+ msgid "#pragma redefine_extname not supported on this target"
+ msgstr "#pragma redefine_extname stöds inte på denna målarkitektur"
+
+-#: c-pragma.c:585 c-pragma.c:672
++#: c-pragma.c:586 c-pragma.c:673
+ #, gcc-internal-format
+ msgid "#pragma redefine_extname ignored due to conflict with previous rename"
+ msgstr "#pragma redefine_extname ignoreras eftersom det står i konflikt med tidigare namnbyte"
+
+-#: c-pragma.c:608
++#: c-pragma.c:609
+ #, gcc-internal-format
+ msgid "#pragma redefine_extname ignored due to conflict with previous #pragma redefine_extname"
+ msgstr "#pragma redefine_extname ignoreras på grund av konflikt med tidigare #pragma redefine_extname"
+
+-#: c-pragma.c:627
++#: c-pragma.c:628
+ #, gcc-internal-format
+ msgid "malformed #pragma extern_prefix, ignored"
+ msgstr "felformaterat #pragma extern_prefix, ignoreras"
+
+-#: c-pragma.c:630
++#: c-pragma.c:631
+ #, gcc-internal-format
+ msgid "junk at end of %<#pragma extern_prefix%>"
+ msgstr "skräp vid slutet av %<#pragma extern_prefix%>"
+
+-#: c-pragma.c:637
++#: c-pragma.c:638
+ #, gcc-internal-format
+ msgid "#pragma extern_prefix not supported on this target"
+ msgstr "#pragma extern_prefix stöds inte på denna målarkitektur"
+
+-#: c-pragma.c:663
++#: c-pragma.c:664
+ #, gcc-internal-format
+ msgid "asm declaration ignored due to conflict with previous rename"
+ msgstr "asm-deklaration ignorerad eftersom den står i konflikt med tidigare namnbyte"
+
+-#: c-pragma.c:694
++#: c-pragma.c:695
+ #, gcc-internal-format
+ msgid "#pragma redefine_extname ignored due to conflict with __asm__ declaration"
+ msgstr "#pragma redefine_extname ignoreras på grund av konflikt med __asm__-deklaration"
+
+-#: c-pragma.c:756
++#: c-pragma.c:757
+ #, gcc-internal-format
+ msgid "#pragma GCC visibility push() must specify default, internal, hidden or protected"
+ msgstr "#pragma GCC visibility push() måste ange default, internal, hidden eller protected"
+
+-#: c-pragma.c:791
++#: c-pragma.c:792
+ #, gcc-internal-format
+ msgid "#pragma GCC visibility must be followed by push or pop"
+ msgstr "#pragma GCC visibility måste följas av push eller pop"
+
+-#: c-pragma.c:797
++#: c-pragma.c:798
+ #, gcc-internal-format
+ msgid "no matching push for %<#pragma GCC visibility pop%>"
+ msgstr "ingen matchande push för %<#pragma GCC visibility pop%>"
+
+-#: c-pragma.c:804 c-pragma.c:811
++#: c-pragma.c:805 c-pragma.c:812
+ #, gcc-internal-format
+ msgid "missing %<(%> after %<#pragma GCC visibility push%> - ignored"
+ msgstr "%<(%> saknas efter %<#pragma GCC visibility push%> - ignoreras\""
+
+-#: c-pragma.c:807
++#: c-pragma.c:808
+ #, gcc-internal-format
+ msgid "malformed #pragma GCC visibility push"
+ msgstr "felformaterat #pragma GCC visibility push"
+
+-#: c-pragma.c:815
++#: c-pragma.c:816
+ #, gcc-internal-format
+ msgid "junk at end of %<#pragma GCC visibility%>"
+ msgstr "skräp vid slutet av %<#pragma GCC visibility%>"
+
+-#: c-pragma.c:831
++#: c-pragma.c:832
+ #, gcc-internal-format
+ msgid "#pragma GCC diagnostic not allowed inside functions"
+ msgstr "#pragma GCC diagnostics tillåts inte inuti funktioner"
+
+-#: c-pragma.c:837
++#: c-pragma.c:838
+ #, gcc-internal-format
+ msgid "missing [error|warning|ignored] after %<#pragma GCC diagnostic%>"
+ msgstr "[error|warning|ignored] saknas efter %<#pragma GCC diagnostic%>"
+
+-#: c-pragma.c:846
++#: c-pragma.c:847
+ #, gcc-internal-format
+ msgid "expected [error|warning|ignored] after %<#pragma GCC diagnostic%>"
+ msgstr "[error|warning|ignored] förväntades efter %<#pragma GCC diagnostic%>"
+
+-#: c-pragma.c:850
++#: c-pragma.c:851
+ #, gcc-internal-format
+ msgid "missing option after %<#pragma GCC diagnostic%> kind"
+ msgstr "alternativ saknas efter %<#pragma GCC diagnostics%> sort"
+
+-#: c-pragma.c:864
++#: c-pragma.c:865
+ #, gcc-internal-format
+ msgid "unknown option after %<#pragma GCC diagnostic%> kind"
+ msgstr "okänt alternativ efter %<#pragma GCC diagnostic%> sort"
+@@ -20362,7 +20341,7 @@
+ msgid "%qD has an incomplete type"
+ msgstr "%qD har en ofullständig typ"
+
+-#: c-typeck.c:195 cp/call.c:2785
++#: c-typeck.c:195 cp/call.c:2771
+ #, gcc-internal-format
+ msgid "invalid use of void expression"
+ msgstr "ogiltig användning av void-uttryck"
+@@ -20393,92 +20372,92 @@
+ msgid "function types not truly compatible in ISO C"
+ msgstr "funktionstyper inte riktigt kompatibla i ISO C"
+
+-#: c-typeck.c:621
++#: c-typeck.c:627
+ #, gcc-internal-format
+ msgid "can%'t mix operands of decimal float and vector types"
+ msgstr "det går inte att blanda operander av typerna decimalt flyttal och vektor"
+
+-#: c-typeck.c:626
++#: c-typeck.c:632
+ #, gcc-internal-format
+ msgid "can%'t mix operands of decimal float and complex types"
+ msgstr "det går inte att blanda operander av typerna flyttal och komplext tal"
+
+-#: c-typeck.c:631
++#: c-typeck.c:637
+ #, gcc-internal-format
+ msgid "can%'t mix operands of decimal float and other float types"
+ msgstr "det går inte att blanda operander av typerna decimalt flyttal och annat flyttal"
+
+-#: c-typeck.c:1037
++#: c-typeck.c:1043
+ #, gcc-internal-format
+ msgid "types are not quite compatible"
+ msgstr "typerna är inte riktigt kompatibla"
+
+-#: c-typeck.c:1356
++#: c-typeck.c:1366
+ #, gcc-internal-format
+ msgid "function return types not compatible due to %<volatile%>"
+ msgstr "funktionsreturtyper är inte kompatibla på grund av %<volatile%>"
+
+-#: c-typeck.c:1515 c-typeck.c:2853
++#: c-typeck.c:1525 c-typeck.c:2864
+ #, gcc-internal-format
+ msgid "arithmetic on pointer to an incomplete type"
+ msgstr "aritmetik på pekare till ofullständig typ"
+
+-#: c-typeck.c:1912
++#: c-typeck.c:1922
+ #, gcc-internal-format
+ msgid "%qT has no member named %qE"
+ msgstr "%qT har ingen medlem med namnet %qE"
+
+-#: c-typeck.c:1953
++#: c-typeck.c:1963
+ #, gcc-internal-format
+ msgid "request for member %qE in something not a structure or union"
+ msgstr "begäran av medlem %qE i något som inte är en post eller union"
+
+-#: c-typeck.c:1997
++#: c-typeck.c:2007
+ #, gcc-internal-format
+ msgid "dereferencing pointer to incomplete type"
+ msgstr "derefererar pekare till ofullständig typ"
+
+-#: c-typeck.c:2001
++#: c-typeck.c:2011
+ #, gcc-internal-format
+ msgid "dereferencing %<void *%> pointer"
+ msgstr "derefererar %<void *%>-pekare"
+
+-#: c-typeck.c:2018
++#: c-typeck.c:2028
+ #, gcc-internal-format
+ msgid "invalid type argument of %qs (have %qT)"
+ msgstr "ogiltigt typargument till %qs (har %qT)"
+
+-#: c-typeck.c:2046 cp/typeck.c:2524
++#: c-typeck.c:2056 cp/typeck.c:2570
+ #, gcc-internal-format
+ msgid "subscripted value is neither array nor pointer"
+ msgstr "indexerat värde är varken en vektor eller pekare"
+
+-#: c-typeck.c:2057 cp/typeck.c:2443 cp/typeck.c:2529
++#: c-typeck.c:2067 cp/typeck.c:2489 cp/typeck.c:2575
+ #, gcc-internal-format
+ msgid "array subscript is not an integer"
+ msgstr "fältindex är inte ett heltal"
+
+-#: c-typeck.c:2063
++#: c-typeck.c:2073
+ #, gcc-internal-format
+ msgid "subscripted value is pointer to function"
+ msgstr "indexerat värde är en funktionspekare"
+
+-#: c-typeck.c:2110
++#: c-typeck.c:2120
+ #, gcc-internal-format
+ msgid "ISO C forbids subscripting %<register%> array"
+ msgstr "ISO C förbjuder indexering av %<register%>-vektor"
+
+-#: c-typeck.c:2112
++#: c-typeck.c:2122
+ #, gcc-internal-format
+ msgid "ISO C90 forbids subscripting non-lvalue array"
+ msgstr "ISO C90 förbjuder indexering av icke-l-värde-vektor"
+
+-#: c-typeck.c:2228
++#: c-typeck.c:2239
+ #, gcc-internal-format
+ msgid "%H%qD is static but used in inline function %qD which is not static"
+ msgstr "%H%qD är statisk men använd i inline-funktionen %qD som inte är statisk"
+
+-#: c-typeck.c:2376
++#: c-typeck.c:2387
+ #, gcc-internal-format
+ msgid "called object %qE is not a function"
+ msgstr "anropat objekt %qE är inte en funktion"
+@@ -20486,795 +20465,795 @@
+ #. This situation leads to run-time undefined behavior. We can't,
+ #. therefore, simply error unless we can prove that all possible
+ #. executions of the program must execute the code.
+-#: c-typeck.c:2404
++#: c-typeck.c:2415
+ #, gcc-internal-format
+ msgid "function called through a non-compatible type"
+ msgstr "funktion anropad via en inkompatibel typ"
+
+-#: c-typeck.c:2515
++#: c-typeck.c:2526
+ #, gcc-internal-format
+ msgid "too many arguments to function %qE"
+ msgstr "för många argument till funktionen %qE"
+
+-#: c-typeck.c:2536
++#: c-typeck.c:2547
+ #, gcc-internal-format
+ msgid "type of formal parameter %d is incomplete"
+ msgstr "typen på formell parameter %d är ofullständig"
+
+-#: c-typeck.c:2549
++#: c-typeck.c:2560
+ #, gcc-internal-format
+ msgid "passing argument %d of %qE as integer rather than floating due to prototype"
+ msgstr "skickar argument %d till %qE som heltal istället för flyttal på grund av prototyp"
+
+-#: c-typeck.c:2554
++#: c-typeck.c:2565
+ #, gcc-internal-format
+ msgid "passing argument %d of %qE as integer rather than complex due to prototype"
+ msgstr "skickar argument %d till %qE som heltal istället för komplext på grund av prototyp"
+
+-#: c-typeck.c:2559
++#: c-typeck.c:2570
+ #, gcc-internal-format
+ msgid "passing argument %d of %qE as complex rather than floating due to prototype"
+ msgstr "skickar argument %d till %qE som komplext istället för flyttal på grund av prototyp"
+
+-#: c-typeck.c:2564
++#: c-typeck.c:2575
+ #, gcc-internal-format
+ msgid "passing argument %d of %qE as floating rather than integer due to prototype"
+ msgstr "skickar argument %d till %qE som flyttal istället för heltal på grund av prototyp"
+
+-#: c-typeck.c:2569
++#: c-typeck.c:2580
+ #, gcc-internal-format
+ msgid "passing argument %d of %qE as complex rather than integer due to prototype"
+ msgstr "skickar argument %d till %qE som komplext istället för heltal på grund av prototyp"
+
+-#: c-typeck.c:2574
++#: c-typeck.c:2585
+ #, gcc-internal-format
+ msgid "passing argument %d of %qE as floating rather than complex due to prototype"
+ msgstr "skickar argument %d till %qE som flyttal istället för komplext på grund av prototyp"
+
+-#: c-typeck.c:2587
++#: c-typeck.c:2598
+ #, gcc-internal-format
+ msgid "passing argument %d of %qE as %<float%> rather than %<double%> due to prototype"
+ msgstr "skickar argument %d till %qE som %<float%> istället för %<double%> på grund av prototyp"
+
+-#: c-typeck.c:2612
++#: c-typeck.c:2623
+ #, gcc-internal-format
+ msgid "passing argument %d of %qE as %qT rather than %qT due to prototype"
+ msgstr "skickar argument %d till %qE som som %qT istället för %qT på grund av prototyp"
+
+-#: c-typeck.c:2633
++#: c-typeck.c:2644
+ #, gcc-internal-format
+ msgid "passing argument %d of %qE with different width due to prototype"
+ msgstr "skickar argument %d till %qE med annan vidd på grund av prototyp"
+
+-#: c-typeck.c:2656
++#: c-typeck.c:2667
+ #, gcc-internal-format
+ msgid "passing argument %d of %qE as unsigned due to prototype"
+ msgstr "skickar argument %d till %qE teckenlöst på grund av prototyp"
+
+-#: c-typeck.c:2660
++#: c-typeck.c:2671
+ #, gcc-internal-format
+ msgid "passing argument %d of %qE as signed due to prototype"
+ msgstr "skickar argument %d till %qE med tecken på grund av prototyp"
+
+-#: c-typeck.c:2766 c-typeck.c:2770
++#: c-typeck.c:2777 c-typeck.c:2781
+ #, gcc-internal-format
+ msgid "comparison with string literal results in unspecified behavior"
+ msgstr "jämförelse med strängliteral resulterar i odefinierat beteende"
+
+-#: c-typeck.c:2795
++#: c-typeck.c:2806
+ #, gcc-internal-format
+ msgid "pointer of type %<void *%> used in subtraction"
+ msgstr "pekare av typ %<void *%> använd i subtraktion"
+
+-#: c-typeck.c:2797
++#: c-typeck.c:2808
+ #, gcc-internal-format
+ msgid "pointer to a function used in subtraction"
+ msgstr "pekare till funktion använd i subtraktion"
+
+-#: c-typeck.c:2908
++#: c-typeck.c:2919
+ #, gcc-internal-format
+ msgid "wrong type argument to unary plus"
+ msgstr "fel typ på argument till unärt plus"
+
+-#: c-typeck.c:2921
++#: c-typeck.c:2932
+ #, gcc-internal-format
+ msgid "wrong type argument to unary minus"
+ msgstr "fel typ på argument till unärt minus"
+
+-#: c-typeck.c:2941
++#: c-typeck.c:2952
+ #, gcc-internal-format
+ msgid "ISO C does not support %<~%> for complex conjugation"
+ msgstr "ISO C stödjer inte %<~%> för komplex konjugering"
+
+-#: c-typeck.c:2947
++#: c-typeck.c:2958
+ #, gcc-internal-format
+ msgid "wrong type argument to bit-complement"
+ msgstr "fel typ på argument till bitkomplement"
+
+-#: c-typeck.c:2955
++#: c-typeck.c:2966
+ #, gcc-internal-format
+ msgid "wrong type argument to abs"
+ msgstr "fel typ på argument till abs"
+
+-#: c-typeck.c:2967
++#: c-typeck.c:2978
+ #, gcc-internal-format
+ msgid "wrong type argument to conjugation"
+ msgstr "fel typ på argument till konjunktion"
+
+-#: c-typeck.c:2979
++#: c-typeck.c:2990
+ #, gcc-internal-format
+ msgid "wrong type argument to unary exclamation mark"
+ msgstr "fel typ på argument till unärt utropstecken"
+
+-#: c-typeck.c:3013
++#: c-typeck.c:3024
+ #, gcc-internal-format
+ msgid "ISO C does not support %<++%> and %<--%> on complex types"
+ msgstr "ISO C stöder inte %<++%> och %<--%> på komplexa typer"
+
+-#: c-typeck.c:3032 c-typeck.c:3064
++#: c-typeck.c:3043 c-typeck.c:3075
+ #, gcc-internal-format
+ msgid "wrong type argument to increment"
+ msgstr "fel typ på argument till ökning"
+
+-#: c-typeck.c:3034 c-typeck.c:3066
++#: c-typeck.c:3045 c-typeck.c:3077
+ #, gcc-internal-format
+ msgid "wrong type argument to decrement"
+ msgstr "fel typ på argument till minskning"
+
+-#: c-typeck.c:3055
++#: c-typeck.c:3066
+ #, gcc-internal-format
+ msgid "increment of pointer to unknown structure"
+ msgstr "ökning av pekare på okänd post"
+
+-#: c-typeck.c:3057
++#: c-typeck.c:3068
+ #, gcc-internal-format
+ msgid "decrement of pointer to unknown structure"
+ msgstr "minskning av pekare på okänd post"
+
+-#: c-typeck.c:3258
++#: c-typeck.c:3269
+ #, gcc-internal-format
+ msgid "assignment of read-only member %qD"
+ msgstr "tilldelning till endast läsbar medlem %qD"
+
+-#: c-typeck.c:3259
++#: c-typeck.c:3270
+ #, gcc-internal-format
+ msgid "increment of read-only member %qD"
+ msgstr "ökning av endast läsbar medlem %qD"
+
+-#: c-typeck.c:3260
++#: c-typeck.c:3271
+ #, gcc-internal-format
+ msgid "decrement of read-only member %qD"
+ msgstr "minskning av endast läsbar medlem %qD"
+
+-#: c-typeck.c:3261
++#: c-typeck.c:3272
+ #, gcc-internal-format
+ msgid "read-only member %qD used as %<asm%> output"
+ msgstr "endast läsbar medlem %qD använd som %<asm%>-utdata"
+
+-#: c-typeck.c:3265
++#: c-typeck.c:3276
+ #, gcc-internal-format
+ msgid "assignment of read-only variable %qD"
+ msgstr "tilldelning till endast läsbar variabel %qD"
+
+-#: c-typeck.c:3266
++#: c-typeck.c:3277
+ #, gcc-internal-format
+ msgid "increment of read-only variable %qD"
+ msgstr "ökning av endast läsbar variabel %qD"
+
+-#: c-typeck.c:3267
++#: c-typeck.c:3278
+ #, gcc-internal-format
+ msgid "decrement of read-only variable %qD"
+ msgstr "minskning av endast läsbar variabel %qD"
+
+-#: c-typeck.c:3268
++#: c-typeck.c:3279
+ #, gcc-internal-format
+ msgid "read-only variable %qD used as %<asm%> output"
+ msgstr "endast läsbar variabel %qD använd som %<asm%>-utdata"
+
+-#: c-typeck.c:3271
++#: c-typeck.c:3282
+ #, gcc-internal-format
+ msgid "assignment of read-only location %qE"
+ msgstr "tilldelning till endast läsbar plats %qE"
+
+-#: c-typeck.c:3272
++#: c-typeck.c:3283
+ #, gcc-internal-format
+ msgid "increment of read-only location %qE"
+ msgstr "ökning av endast läsbar plats %qE"
+
+-#: c-typeck.c:3273
++#: c-typeck.c:3284
+ #, gcc-internal-format
+ msgid "decrement of read-only location %qE"
+ msgstr "minskning av endast läsbar plats %qE"
+
+-#: c-typeck.c:3274
++#: c-typeck.c:3285
+ #, gcc-internal-format
+ msgid "read-only location %qE used as %<asm%> output"
+ msgstr "endast läsbar plats %qE använd som %<asm%>-utdata"
+
+-#: c-typeck.c:3310
++#: c-typeck.c:3321
+ #, gcc-internal-format
+ msgid "cannot take address of bit-field %qD"
+ msgstr "kan inte ta adressen till bitfält %qD"
+
+-#: c-typeck.c:3338
++#: c-typeck.c:3349
+ #, gcc-internal-format
+ msgid "global register variable %qD used in nested function"
+ msgstr "global registervariabel %qD använd i nästad funktion"
+
+-#: c-typeck.c:3341
++#: c-typeck.c:3352
+ #, gcc-internal-format
+ msgid "register variable %qD used in nested function"
+ msgstr "registervariabel %qD använd i nästad funktion"
+
+-#: c-typeck.c:3346
++#: c-typeck.c:3357
+ #, gcc-internal-format
+ msgid "address of global register variable %qD requested"
+ msgstr "adress till global registervariabel %qD efterfrågad"
+
+-#: c-typeck.c:3348
++#: c-typeck.c:3359
+ #, gcc-internal-format
+ msgid "address of register variable %qD requested"
+ msgstr "adress på registervariabeln %qD efterfrågad"
+
+-#: c-typeck.c:3394
++#: c-typeck.c:3405
+ #, gcc-internal-format
+ msgid "non-lvalue array in conditional expression"
+ msgstr "icke-l-värde-vektor i villkorsuttryck"
+
+-#: c-typeck.c:3442
++#: c-typeck.c:3453
+ #, gcc-internal-format
+ msgid "signed and unsigned type in conditional expression"
+ msgstr "typ signed och unsigned i villkorsuttryck"
+
+-#: c-typeck.c:3449
++#: c-typeck.c:3460
+ #, gcc-internal-format
+ msgid "ISO C forbids conditional expr with only one void side"
+ msgstr "ISO C förbjuder villkorliga uttryck med bara en sida void"
+
+-#: c-typeck.c:3463 c-typeck.c:3471
++#: c-typeck.c:3474 c-typeck.c:3482
+ #, gcc-internal-format
+ msgid "ISO C forbids conditional expr between %<void *%> and function pointer"
+ msgstr "ISO C förbjuder villkorliga uttryck mellan %<void *%> och funktionspekare"
+
+-#: c-typeck.c:3478
++#: c-typeck.c:3489
+ #, gcc-internal-format
+ msgid "pointer type mismatch in conditional expression"
+ msgstr "pekartyper stämmer inte i villkorsuttryck"
+
+-#: c-typeck.c:3485 c-typeck.c:3495
++#: c-typeck.c:3496 c-typeck.c:3506
+ #, gcc-internal-format
+ msgid "pointer/integer type mismatch in conditional expression"
+ msgstr "pekar-/heltalstyper stämmer inte i villkorsuttryck"
+
+-#: c-typeck.c:3509 tree-cfg.c:3783
++#: c-typeck.c:3520 tree-cfg.c:3807
+ #, gcc-internal-format
+ msgid "type mismatch in conditional expression"
+ msgstr "typfel i villkorsuttryck"
+
+-#: c-typeck.c:3552
++#: c-typeck.c:3563
+ #, gcc-internal-format
+ msgid "left-hand operand of comma expression has no effect"
+ msgstr "vänster operand av kommauttryck har ingen effekt"
+
+-#: c-typeck.c:3589
++#: c-typeck.c:3600
+ #, gcc-internal-format
+ msgid "cast specifies array type"
+ msgstr "typkonvertering anger vektortyp"
+
+-#: c-typeck.c:3595
++#: c-typeck.c:3606
+ #, gcc-internal-format
+ msgid "cast specifies function type"
+ msgstr "typkonvertering anger funktionstyp"
+
+-#: c-typeck.c:3612
++#: c-typeck.c:3623
+ #, gcc-internal-format
+ msgid "ISO C forbids casting nonscalar to the same type"
+ msgstr "ISO C förbjuder typkonvertering av ickeskalärer till samma typ"
+
+-#: c-typeck.c:3629
++#: c-typeck.c:3640
+ #, gcc-internal-format
+ msgid "ISO C forbids casts to union type"
+ msgstr "ISO C förbjuder typkonvertering till unionstyper"
+
+-#: c-typeck.c:3637
++#: c-typeck.c:3648
+ #, gcc-internal-format
+ msgid "cast to union type from type not present in union"
+ msgstr "typkonvertering till unionstyp från typ som ej finns i unionen"
+
+-#: c-typeck.c:3683
++#: c-typeck.c:3694
+ #, gcc-internal-format
+ msgid "cast adds new qualifiers to function type"
+ msgstr "typkonvertering lägger till nya kvalificerare till funktionstyp"
+
+ #. There are qualifiers present in IN_OTYPE that are not
+ #. present in IN_TYPE.
+-#: c-typeck.c:3688
++#: c-typeck.c:3699
+ #, gcc-internal-format
+ msgid "cast discards qualifiers from pointer target type"
+ msgstr "typkonvertering kastar kvalificerare från pekarmåltyp"
+
+-#: c-typeck.c:3704
++#: c-typeck.c:3715
+ #, gcc-internal-format
+ msgid "cast increases required alignment of target type"
+ msgstr "typkonvertering ökar kravet på justering av måltypen"
+
+-#: c-typeck.c:3715
++#: c-typeck.c:3726
+ #, gcc-internal-format
+ msgid "cast from pointer to integer of different size"
+ msgstr "typkonvertering från pekare till heltal av annan storlek"
+
+-#: c-typeck.c:3719
++#: c-typeck.c:3730
+ #, gcc-internal-format
+ msgid "cast from function call of type %qT to non-matching type %qT"
+ msgstr "typkonvertering från funktionsanrop av typ %qT till typ %qT matchar inte"
+
+-#: c-typeck.c:3727
++#: c-typeck.c:3738
+ #, gcc-internal-format
+ msgid "cast to pointer from integer of different size"
+ msgstr "typkonvertering till pekare från heltal med annan storlek"
+
+-#: c-typeck.c:3741
++#: c-typeck.c:3752
+ #, gcc-internal-format
+ msgid "ISO C forbids conversion of function pointer to object pointer type"
+ msgstr "ISO C förbjuder konvertering av funktionspekare till objektpekartyp"
+
+-#: c-typeck.c:3749
++#: c-typeck.c:3760
+ #, gcc-internal-format
+ msgid "ISO C forbids conversion of object pointer to function pointer type"
+ msgstr "ISO C förbjuder konvertering av objektpekare till funktionspekartyp"
+
+-#: c-typeck.c:4026
++#: c-typeck.c:4037
+ #, gcc-internal-format
+ msgid "cannot pass rvalue to reference parameter"
+ msgstr "kan inte skicka rvalue till referensparameter"
+
+-#: c-typeck.c:4139 c-typeck.c:4306
++#: c-typeck.c:4150 c-typeck.c:4317
+ #, gcc-internal-format
+ msgid "passing argument %d of %qE makes qualified function pointer from unqualified"
+ msgstr "att skicka argument %d till %qE skapar en kvalificerad funktionspekare från en okvalificerad"
+
+-#: c-typeck.c:4142 c-typeck.c:4309
++#: c-typeck.c:4153 c-typeck.c:4320
+ #, gcc-internal-format
+ msgid "assignment makes qualified function pointer from unqualified"
+ msgstr "tilldelning skapar kvalificerad funktionspekare från okvalificerad"
+
+-#: c-typeck.c:4145 c-typeck.c:4311
++#: c-typeck.c:4156 c-typeck.c:4322
+ #, gcc-internal-format
+ msgid "initialization makes qualified function pointer from unqualified"
+ msgstr "initiering skapar kvalificerad funktionspekare från okvalificerad"
+
+-#: c-typeck.c:4148 c-typeck.c:4313
++#: c-typeck.c:4159 c-typeck.c:4324
+ #, gcc-internal-format
+ msgid "return makes qualified function pointer from unqualified"
+ msgstr "retur gör kvalificerad funktionspekare från okvalificerad"
+
+-#: c-typeck.c:4152 c-typeck.c:4273
++#: c-typeck.c:4163 c-typeck.c:4284
+ #, gcc-internal-format
+ msgid "passing argument %d of %qE discards qualifiers from pointer target type"
+ msgstr "att skicka argument %d till %qE kastar kvalificerare från pekarmåltyp"
+
+-#: c-typeck.c:4154 c-typeck.c:4275
++#: c-typeck.c:4165 c-typeck.c:4286
+ #, gcc-internal-format
+ msgid "assignment discards qualifiers from pointer target type"
+ msgstr "tilldelning kastar kvalificerare från pekarmåltyp"
+
+-#: c-typeck.c:4156 c-typeck.c:4277
++#: c-typeck.c:4167 c-typeck.c:4288
+ #, gcc-internal-format
+ msgid "initialization discards qualifiers from pointer target type"
+ msgstr "initiering kastar kvalificerare från pekarmåltyp"
+
+-#: c-typeck.c:4158 c-typeck.c:4279
++#: c-typeck.c:4169 c-typeck.c:4290
+ #, gcc-internal-format
+ msgid "return discards qualifiers from pointer target type"
+ msgstr "funktionsretur kastar kvalificerare från pekarmåltyp"
+
+-#: c-typeck.c:4165
++#: c-typeck.c:4176
+ #, gcc-internal-format
+ msgid "ISO C prohibits argument conversion to union type"
+ msgstr "ISO C förbjuder argumentkonvertering till unionstyp"
+
+-#: c-typeck.c:4201
++#: c-typeck.c:4212
+ #, gcc-internal-format
+ msgid "request for implicit conversion from %qT to %qT not permitted in C++"
+ msgstr "begäran om implicit konvertering från %qT till %qT tillåts inte i C++"
+
+-#: c-typeck.c:4214
++#: c-typeck.c:4225
+ #, gcc-internal-format
+ msgid "argument %d of %qE might be a candidate for a format attribute"
+ msgstr "argumentet %d till %qE kan vara kandidat för ett formatattribut"
+
+-#: c-typeck.c:4220
++#: c-typeck.c:4231
+ #, gcc-internal-format
+ msgid "assignment left-hand side might be a candidate for a format attribute"
+ msgstr "vänsterhandssida av tilldelning kan vara en kandidat för ett formatattribut"
+
+-#: c-typeck.c:4225
++#: c-typeck.c:4236
+ #, gcc-internal-format
+ msgid "initialization left-hand side might be a candidate for a format attribute"
+ msgstr "vänsterhandssida av initiering kan vara en kandidat för ett formatattribut"
+
+-#: c-typeck.c:4230
++#: c-typeck.c:4241
+ #, gcc-internal-format
+ msgid "return type might be a candidate for a format attribute"
+ msgstr "returtypen kan vara en kandidat för ett formatattribut"
+
+-#: c-typeck.c:4253
++#: c-typeck.c:4264
+ #, gcc-internal-format
+ msgid "ISO C forbids passing argument %d of %qE between function pointer and %<void *%>"
+ msgstr "ISO C förbjuder att skicka argument %d till %qE mellan funktionspekare och %<void *%>"
+
+-#: c-typeck.c:4256
++#: c-typeck.c:4267
+ #, gcc-internal-format
+ msgid "ISO C forbids assignment between function pointer and %<void *%>"
+ msgstr "ISO C förbjuder tilldelning mellan funktionspekare och %<void *%>"
+
+-#: c-typeck.c:4258
++#: c-typeck.c:4269
+ #, gcc-internal-format
+ msgid "ISO C forbids initialization between function pointer and %<void *%>"
+ msgstr "ISO C förbjuder initiering mellan funktionspekare och %<void *%>"
+
+-#: c-typeck.c:4260
++#: c-typeck.c:4271
+ #, gcc-internal-format
+ msgid "ISO C forbids return between function pointer and %<void *%>"
+ msgstr "ISO C förbjuder retur mellan funktionspekare och %<void *%>"
+
+-#: c-typeck.c:4289
++#: c-typeck.c:4300
+ #, gcc-internal-format
+ msgid "pointer targets in passing argument %d of %qE differ in signedness"
+ msgstr "pekarmål när argument %d till %qE skickades skiljer i teckenhet"
+
+-#: c-typeck.c:4291
++#: c-typeck.c:4302
+ #, gcc-internal-format
+ msgid "pointer targets in assignment differ in signedness"
+ msgstr "pekarmål i tilldelning skiljer i teckenhet"
+
+-#: c-typeck.c:4293
++#: c-typeck.c:4304
+ #, gcc-internal-format
+ msgid "pointer targets in initialization differ in signedness"
+ msgstr "pekarmål i initiering skiljer i teckenhet"
+
+-#: c-typeck.c:4295
++#: c-typeck.c:4306
+ #, gcc-internal-format
+ msgid "pointer targets in return differ in signedness"
+ msgstr "pekarmål i retur skiljer i teckenhet"
+
+-#: c-typeck.c:4320
++#: c-typeck.c:4331
+ #, gcc-internal-format
+ msgid "passing argument %d of %qE from incompatible pointer type"
+ msgstr "skickar argument %d till %qE från inkompatibel pekartyp"
+
+-#: c-typeck.c:4322
++#: c-typeck.c:4333
+ #, gcc-internal-format
+ msgid "assignment from incompatible pointer type"
+ msgstr "tilldelning från inkompatibel pekartyp"
+
+-#: c-typeck.c:4323
++#: c-typeck.c:4334
+ #, gcc-internal-format
+ msgid "initialization from incompatible pointer type"
+ msgstr "initiering från inkompatibel pekartyp"
+
+-#: c-typeck.c:4325
++#: c-typeck.c:4336
+ #, gcc-internal-format
+ msgid "return from incompatible pointer type"
+ msgstr "retur från inkompatibel pekartyp"
+
+-#: c-typeck.c:4342
++#: c-typeck.c:4353
+ #, gcc-internal-format
+ msgid "passing argument %d of %qE makes pointer from integer without a cast"
+ msgstr "att skicka argument %d till %qE skapar pekare av ett heltal utan typkonvertering"
+
+-#: c-typeck.c:4344
++#: c-typeck.c:4355
+ #, gcc-internal-format
+ msgid "assignment makes pointer from integer without a cast"
+ msgstr "tilldelning skapar pekare av heltal utan typkonvertering"
+
+-#: c-typeck.c:4346
++#: c-typeck.c:4357
+ #, gcc-internal-format
+ msgid "initialization makes pointer from integer without a cast"
+ msgstr "initiering skapar pekare från heltal utan typkonvertering"
+
+-#: c-typeck.c:4348
++#: c-typeck.c:4359
+ #, gcc-internal-format
+ msgid "return makes pointer from integer without a cast"
+ msgstr "retur skapar pekare från heltal utan typkonvertering"
+
+-#: c-typeck.c:4355
++#: c-typeck.c:4366
+ #, gcc-internal-format
+ msgid "passing argument %d of %qE makes integer from pointer without a cast"
+ msgstr "att skicka argument %d till %qE skapar pekare från heltal utan typkonvertering"
+
+-#: c-typeck.c:4357
++#: c-typeck.c:4368
+ #, gcc-internal-format
+ msgid "assignment makes integer from pointer without a cast"
+ msgstr "tilldelning skapar heltal från pekare utan typkonvertering"
+
+-#: c-typeck.c:4359
++#: c-typeck.c:4370
+ #, gcc-internal-format
+ msgid "initialization makes integer from pointer without a cast"
+ msgstr "initiering skapar heltal från pekare utan typkonvertering"
+
+-#: c-typeck.c:4361
++#: c-typeck.c:4372
+ #, gcc-internal-format
+ msgid "return makes integer from pointer without a cast"
+ msgstr "retur skapar heltal från pekare utan typkonvertering"
+
+-#: c-typeck.c:4377
++#: c-typeck.c:4388
+ #, gcc-internal-format
+ msgid "incompatible types in assignment"
+ msgstr "inkompatibla typer i tilldelning"
+
+-#: c-typeck.c:4380
++#: c-typeck.c:4391
+ #, gcc-internal-format
+ msgid "incompatible types in initialization"
+ msgstr "inkompatibla typer i initiering"
+
+-#: c-typeck.c:4383
++#: c-typeck.c:4394
+ #, gcc-internal-format
+ msgid "incompatible types in return"
+ msgstr "inkompatibla typer i retur"
+
+-#: c-typeck.c:4439
++#: c-typeck.c:4450
+ #, gcc-internal-format
+ msgid "traditional C rejects automatic aggregate initialization"
+ msgstr "traditionell C tillåter inte aggregatinitiering"
+
+-#: c-typeck.c:4610 c-typeck.c:4625 c-typeck.c:4640
++#: c-typeck.c:4621 c-typeck.c:4636 c-typeck.c:4651
+ #, gcc-internal-format
+ msgid "(near initialization for %qs)"
+ msgstr "(i närheten av initiering av %qs)"
+
+-#: c-typeck.c:5180 cp/decl.c:4975
++#: c-typeck.c:5191 cp/decl.c:4995
+ #, gcc-internal-format
+ msgid "opaque vector types cannot be initialized"
+ msgstr "ogenomskinliga vektortyper kan inte initieras"
+
+-#: c-typeck.c:5803
++#: c-typeck.c:5814
+ #, gcc-internal-format
+ msgid "unknown field %qE specified in initializer"
+ msgstr "okänt fält %qE angivet i initierare"
+
+-#: c-typeck.c:6703
++#: c-typeck.c:6714
+ #, gcc-internal-format
+ msgid "traditional C rejects initialization of unions"
+ msgstr "traditionell C tillåter inte initiering av unioner"
+
+-#: c-typeck.c:7011
++#: c-typeck.c:7022
+ #, gcc-internal-format
+ msgid "jump into statement expression"
+ msgstr "hopp in i satsuttryck"
+
+-#: c-typeck.c:7017
++#: c-typeck.c:7028
+ #, gcc-internal-format
+ msgid "jump into scope of identifier with variably modified type"
+ msgstr "hopp in i räckvidd för identifierare med variabel typ"
+
+-#: c-typeck.c:7054
++#: c-typeck.c:7065
+ #, gcc-internal-format
+ msgid "ISO C forbids %<goto *expr;%>"
+ msgstr "ISO C förbjuder %<goto *expr;%>"
+
+-#: c-typeck.c:7069 cp/typeck.c:6592
++#: c-typeck.c:7080 cp/typeck.c:6619
+ #, gcc-internal-format
+ msgid "function declared %<noreturn%> has a %<return%> statement"
+ msgstr "funktion deklarerad %<noreturn%> har en %<return%>-sats"
+
+-#: c-typeck.c:7077
++#: c-typeck.c:7088
+ #, gcc-internal-format
+ msgid "%<return%> with no value, in function returning non-void"
+ msgstr "%<return%> utan värde i funktion som returnerar icke-void"
+
+-#: c-typeck.c:7086
++#: c-typeck.c:7097
+ #, gcc-internal-format
+ msgid "%<return%> with a value, in function returning void"
+ msgstr "%<return%> med värde i funktion som returnerar void"
+
+-#: c-typeck.c:7088
++#: c-typeck.c:7099
+ #, gcc-internal-format
+ msgid "ISO C forbids %<return%> with expression, in function returning void"
+ msgstr "ISO C förbjuder %<return%> med värde i funktion som returnerar void"
+
+-#: c-typeck.c:7145
++#: c-typeck.c:7156
+ #, gcc-internal-format
+ msgid "function returns address of local variable"
+ msgstr "funktionen returnerar adress till en lokal variabel"
+
+-#: c-typeck.c:7217 cp/semantics.c:949
++#: c-typeck.c:7228 cp/semantics.c:952
+ #, gcc-internal-format
+ msgid "switch quantity not an integer"
+ msgstr "switch-argument är inte ett heltal"
+
+-#: c-typeck.c:7229
++#: c-typeck.c:7240
+ #, gcc-internal-format
+ msgid "%<long%> switch expression not converted to %<int%> in ISO C"
+ msgstr "%<long%>-switch-uttryck konverteras inte till %<int%> i ISO C"
+
+-#: c-typeck.c:7269
++#: c-typeck.c:7280
+ #, gcc-internal-format
+ msgid "case label in statement expression not containing enclosing switch statement"
+ msgstr "case-etikett i satsuttryck som inte innehåller en omslutande switch-sats"
+
+-#: c-typeck.c:7272
++#: c-typeck.c:7283
+ #, gcc-internal-format
+ msgid "%<default%> label in statement expression not containing enclosing switch statement"
+ msgstr "%<default%>-etikett i satsuttryck som inte innehåller en omslutande switch-sats"
+
+-#: c-typeck.c:7278
++#: c-typeck.c:7289
+ #, gcc-internal-format
+ msgid "case label in scope of identifier with variably modified type not containing enclosing switch statement"
+ msgstr "case-etikett i räckvidden för en identifierare med variabel typ som inte innehåller en omslutande switch-sats"
+
+-#: c-typeck.c:7281
++#: c-typeck.c:7292
+ #, gcc-internal-format
+ msgid "%<default%> label in scope of identifier with variably modified type not containing enclosing switch statement"
+ msgstr "%<default%>-etikett i räckvidden för en identifierare med variabel typ som inte innehåller en omslutande switch-sats"
+
+-#: c-typeck.c:7285 cp/parser.c:6804
++#: c-typeck.c:7296 cp/parser.c:6810
+ #, gcc-internal-format
+ msgid "case label not within a switch statement"
+ msgstr "case-etikett är inte i en switch-sats"
+
+-#: c-typeck.c:7287
++#: c-typeck.c:7298
+ #, gcc-internal-format
+ msgid "%<default%> label not within a switch statement"
+ msgstr "%<default%>-etikett som inte ligger i en switch-sats"
+
+-#: c-typeck.c:7364
++#: c-typeck.c:7375
+ #, gcc-internal-format
+ msgid "%Hsuggest explicit braces to avoid ambiguous %<else%>"
+ msgstr "%Hföreslår uttryckliga klamrar för att undvika tvetydighet i %<else%>"
+
+-#: c-typeck.c:7475 cp/cp-gimplify.c:97 cp/parser.c:7409
++#: c-typeck.c:7486 cp/cp-gimplify.c:97 cp/parser.c:7415
+ #, gcc-internal-format
+ msgid "break statement not within loop or switch"
+ msgstr "break-sats som inte är i en loop eller switch"
+
+-#: c-typeck.c:7477 cp/parser.c:7430
++#: c-typeck.c:7488 cp/parser.c:7436
+ #, gcc-internal-format
+ msgid "continue statement not within a loop"
+ msgstr "continue-sats som inte är i en loop"
+
+-#: c-typeck.c:7482 cp/parser.c:7420
++#: c-typeck.c:7493 cp/parser.c:7426
+ #, gcc-internal-format
+ msgid "break statement used with OpenMP for loop"
+ msgstr "break-sats använd med OpenMP-for-slinga"
+
+-#: c-typeck.c:7505
++#: c-typeck.c:7516
+ #, gcc-internal-format
+ msgid "%Hstatement with no effect"
+ msgstr "%Hsats utan effekt"
+
+-#: c-typeck.c:7527
++#: c-typeck.c:7538
+ #, gcc-internal-format
+ msgid "expression statement has incomplete type"
+ msgstr "uttryckssats har ofullständig typ"
+
+-#: c-typeck.c:8082 cp/typeck.c:3259
++#: c-typeck.c:8093 cp/typeck.c:3301
+ #, gcc-internal-format
+ msgid "right shift count is negative"
+ msgstr "högershiftoperanden är negativ"
+
+-#: c-typeck.c:8089 cp/typeck.c:3265
++#: c-typeck.c:8100 cp/typeck.c:3305
+ #, gcc-internal-format
+ msgid "right shift count >= width of type"
+ msgstr "högershiftoperanden >= storleken på typen"
+
+-#: c-typeck.c:8111 cp/typeck.c:3284
++#: c-typeck.c:8122 cp/typeck.c:3324
+ #, gcc-internal-format
+ msgid "left shift count is negative"
+ msgstr "vänstershiftoperanden är negativ"
+
+-#: c-typeck.c:8114 cp/typeck.c:3286
++#: c-typeck.c:8125 cp/typeck.c:3326
+ #, gcc-internal-format
+ msgid "left shift count >= width of type"
+ msgstr "vänstershiftoperanden >= storleken på typen"
+
+-#: c-typeck.c:8132 cp/typeck.c:3324
++#: c-typeck.c:8143 cp/typeck.c:3364
+ #, gcc-internal-format
+ msgid "comparing floating point with == or != is unsafe"
+ msgstr "jämföra flyttal med == eller != är osäkert"
+
+-#: c-typeck.c:8156 c-typeck.c:8163
++#: c-typeck.c:8167 c-typeck.c:8174
+ #, gcc-internal-format
+ msgid "ISO C forbids comparison of %<void *%> with function pointer"
+ msgstr "ISO C förbjuder jämförelse mellan %<void *%> och funktionspekare"
+
+-#: c-typeck.c:8169 c-typeck.c:8227
++#: c-typeck.c:8180 c-typeck.c:8238
+ #, gcc-internal-format
+ msgid "comparison of distinct pointer types lacks a cast"
+ msgstr "jämförelse av skilda pekartyper saknar en typkonvertering"
+
+-#: c-typeck.c:8178 c-typeck.c:8186 cp/typeck.c:3344 cp/typeck.c:3353
++#: c-typeck.c:8189 c-typeck.c:8197 cp/typeck.c:3384 cp/typeck.c:3393
+ #, gcc-internal-format
+ msgid "the address of %qD will never be NULL"
+ msgstr "adressen till %qD kommer aldrig vara NULL"
+
+-#: c-typeck.c:8193 c-typeck.c:8198 c-typeck.c:8245 c-typeck.c:8250
++#: c-typeck.c:8204 c-typeck.c:8209 c-typeck.c:8256 c-typeck.c:8261
+ #, gcc-internal-format
+ msgid "comparison between pointer and integer"
+ msgstr "jämförelse mellan pekare och heltal"
+
+-#: c-typeck.c:8219
++#: c-typeck.c:8230
+ #, gcc-internal-format
+ msgid "comparison of complete and incomplete pointers"
+ msgstr "jämförelse av kompletta och ofullständiga pekare"
+
+-#: c-typeck.c:8222
++#: c-typeck.c:8233
+ #, gcc-internal-format
+ msgid "ISO C forbids ordered comparisons of pointers to functions"
+ msgstr "ISO C förbjuder ordningsjämförelse på pekare till funktioner"
+
+-#: c-typeck.c:8234 c-typeck.c:8240
++#: c-typeck.c:8245 c-typeck.c:8251
+ #, gcc-internal-format
+ msgid "ordered comparison of pointer with integer zero"
+ msgstr "ordningsjämförelse av pekare med heltalet noll"
+
+-#: c-typeck.c:8500
++#: c-typeck.c:8511
+ #, gcc-internal-format
+ msgid "comparison between signed and unsigned"
+ msgstr "jämförelse mellan signed och unsigned"
+
+-#: c-typeck.c:8546 cp/typeck.c:3830
++#: c-typeck.c:8557 cp/typeck.c:3838
+ #, gcc-internal-format
+ msgid "comparison of promoted ~unsigned with constant"
+ msgstr "jämförelse av befordrad ~unsigned med konstant"
+
+-#: c-typeck.c:8554 cp/typeck.c:3838
++#: c-typeck.c:8565 cp/typeck.c:3846
+ #, gcc-internal-format
+ msgid "comparison of promoted ~unsigned with unsigned"
+ msgstr "jämförelse av befordrad ~unsigned med unsigned"
+
+-#: c-typeck.c:8612
++#: c-typeck.c:8623
+ #, gcc-internal-format
+ msgid "used array that cannot be converted to pointer where scalar is required"
+ msgstr "vektor använd som inte kan konverteras till en pekare där en skalär krävs"
+
+-#: c-typeck.c:8616
++#: c-typeck.c:8627
+ #, gcc-internal-format
+ msgid "used struct type value where scalar is required"
+ msgstr "struct-typvärde använt där skalär krävs"
+
+-#: c-typeck.c:8620
++#: c-typeck.c:8631
+ #, gcc-internal-format
+ msgid "used union type value where scalar is required"
+ msgstr "värde av uniontyp använt där skalär krävs"
+
+-#: c-typeck.c:8725 cp/semantics.c:3523
++#: c-typeck.c:8736 cp/semantics.c:3555
+ #, gcc-internal-format
+ msgid "%qE has invalid type for %<reduction%>"
+ msgstr "%qE har ogiltig typ för %<reduction%>"
+
+-#: c-typeck.c:8759 cp/semantics.c:3536
++#: c-typeck.c:8770 cp/semantics.c:3568
+ #, gcc-internal-format
+ msgid "%qE has invalid type for %<reduction(%s)%>"
+ msgstr "%qE har ogiltig typ för %<reduction(%s)%>"
+
+-#: c-typeck.c:8775 cp/semantics.c:3546
++#: c-typeck.c:8786 cp/semantics.c:3578
+ #, gcc-internal-format
+ msgid "%qE must be %<threadprivate%> for %<copyin%>"
+ msgstr "%qE måste vara %<threadprivate%> för %<copyin%>"
+
+-#: c-typeck.c:8784 cp/semantics.c:3351
++#: c-typeck.c:8795 cp/semantics.c:3383
+ #, gcc-internal-format
+ msgid "%qE is not a variable in clause %qs"
+ msgstr "%qE är inte en variabel i klausul %qs"
+
+-#: c-typeck.c:8791 c-typeck.c:8811 c-typeck.c:8831 cp/semantics.c:3377
+-#: cp/semantics.c:3396
++#: c-typeck.c:8802 c-typeck.c:8822 c-typeck.c:8842 cp/semantics.c:3409
++#: cp/semantics.c:3428
+ #, gcc-internal-format
+ msgid "%qE appears more than once in data clauses"
+ msgstr "%qE förekommer mer än en gång i dataklausuler"
+
+-#: c-typeck.c:8805 cp/semantics.c:3371
++#: c-typeck.c:8816 cp/semantics.c:3403
+ #, gcc-internal-format
+ msgid "%qE is not a variable in clause %<firstprivate%>"
+ msgstr "%qE är inte en variabel i klausul %<firstprivate%>"
+
+-#: c-typeck.c:8825 cp/semantics.c:3390
++#: c-typeck.c:8836 cp/semantics.c:3422
+ #, gcc-internal-format
+ msgid "%qE is not a variable in clause %<lastprivate%>"
+ msgstr "%qE är inte en variabel i klausul %<lastprivate%>"
+
+-#: c-typeck.c:8883 cp/semantics.c:3587
++#: c-typeck.c:8894 cp/semantics.c:3619
+ #, gcc-internal-format
+ msgid "%qE is predetermined %qs for %qs"
+ msgstr "%qE är förutbestämd som %qs för %qs"
+@@ -21284,12 +21263,12 @@
+ msgid "function call has aggregate value"
+ msgstr "funktionsanrop har sammansatt värde"
+
+-#: cfgexpand.c:1884
++#: cfgexpand.c:1887
+ #, gcc-internal-format
+ msgid "not protecting local variables: variable length buffer"
+ msgstr "skyddar inte lokala variabler: buffert med variabel längd"
+
+-#: cfgexpand.c:1887
++#: cfgexpand.c:1890
+ #, gcc-internal-format
+ msgid "not protecting function: no buffer at least %d bytes long"
+ msgstr "skyddar inte funktion: ingen åtminstone %d byte lång buffert"
+@@ -21344,7 +21323,7 @@
+ msgid "verify_flow_info: Basic block %d succ edge is corrupted"
+ msgstr "verify_flow_info: Grundblock %d efterföljarbåge är trasig"
+
+-#: cfghooks.c:184 cfgrtl.c:1840
++#: cfghooks.c:184 cfgrtl.c:1838
+ #, gcc-internal-format
+ msgid "wrong amount of branch edges after unconditional jump %i"
+ msgstr "fel antal förgreningsbågar efter ovillkorligt hopp %i"
+@@ -21554,252 +21533,252 @@
+ msgid "%d exits recorded for loop %d (having %d exits)"
+ msgstr "%d utgångar registrerade för slinga %d (som har %d utgångar)"
+
+-#: cfgrtl.c:1734
++#: cfgrtl.c:1732
+ #, gcc-internal-format
+ msgid "BB_RTL flag not set for block %d"
+ msgstr "flaggan BB_RTL är inte satt för block %d"
+
+-#: cfgrtl.c:1741
++#: cfgrtl.c:1739
+ #, gcc-internal-format
+ msgid "insn %d basic block pointer is %d, should be %d"
+ msgstr "instruktion %d grundblockspekare är %d, skall vara %d"
+
+-#: cfgrtl.c:1752
++#: cfgrtl.c:1750
+ #, gcc-internal-format
+ msgid "insn %d in header of bb %d has non-NULL basic block"
+ msgstr "instruktion %d i huvud till bb %d har icke-NULL grundblock"
+
+-#: cfgrtl.c:1760
++#: cfgrtl.c:1758
+ #, gcc-internal-format
+ msgid "insn %d in footer of bb %d has non-NULL basic block"
+ msgstr "instruktion %d i foten till bb %d har icke-NULL grundblock"
+
+-#: cfgrtl.c:1782
++#: cfgrtl.c:1780
+ #, gcc-internal-format
+ msgid "verify_flow_info: REG_BR_PROB does not match cfg %wi %i"
+ msgstr "verify_flow_info: REG_BR_PROB stämmer inte med cfg %wi %i"
+
+-#: cfgrtl.c:1797
++#: cfgrtl.c:1795
+ #, gcc-internal-format
+ msgid "fallthru edge crosses section boundary (bb %i)"
+ msgstr "fall-igenom-båge korsar sektionsgräns (bb %i)"
+
+-#: cfgrtl.c:1822
++#: cfgrtl.c:1820
+ #, gcc-internal-format
+ msgid "missing REG_EH_REGION note in the end of bb %i"
+ msgstr "REG_EH_REGION-notering saknas i slutet av bb %i"
+
+-#: cfgrtl.c:1830
++#: cfgrtl.c:1828
+ #, gcc-internal-format
+ msgid "too many outgoing branch edges from bb %i"
+ msgstr "för många utgående bågar från bb %i"
+
+-#: cfgrtl.c:1835
++#: cfgrtl.c:1833
+ #, gcc-internal-format
+ msgid "fallthru edge after unconditional jump %i"
+ msgstr "fall igenom-båge efter ovillkorligt hopp %i"
+
+-#: cfgrtl.c:1846
++#: cfgrtl.c:1844
+ #, gcc-internal-format
+ msgid "wrong amount of branch edges after conditional jump %i"
+ msgstr "fel antal förgreningsbågar efter villkorligt hopp %i"
+
+-#: cfgrtl.c:1852
++#: cfgrtl.c:1850
+ #, gcc-internal-format
+ msgid "call edges for non-call insn in bb %i"
+ msgstr "anropsbågar för instruktion som inte är anrop i bb %i"
+
+-#: cfgrtl.c:1861
++#: cfgrtl.c:1859
+ #, gcc-internal-format
+ msgid "abnormal edges for no purpose in bb %i"
+ msgstr "onormala bågar utan syfte i bb %i"
+
+-#: cfgrtl.c:1873
++#: cfgrtl.c:1871
+ #, gcc-internal-format
+ msgid "insn %d inside basic block %d but block_for_insn is NULL"
+ msgstr "instruktion %d inuti grundblock %d men block_for_inst är NULL"
+
+-#: cfgrtl.c:1877
++#: cfgrtl.c:1875
+ #, gcc-internal-format
+ msgid "insn %d inside basic block %d but block_for_insn is %i"
+ msgstr "instruktion %d inuti grundblock %d men block_for_insn är %i"
+
+-#: cfgrtl.c:1891 cfgrtl.c:1901
++#: cfgrtl.c:1889 cfgrtl.c:1899
+ #, gcc-internal-format
+ msgid "NOTE_INSN_BASIC_BLOCK is missing for block %d"
+ msgstr "NOTE_INSN_BASIC_BLOC saknas för block %d"
+
+-#: cfgrtl.c:1914
++#: cfgrtl.c:1912
+ #, gcc-internal-format
+ msgid "NOTE_INSN_BASIC_BLOCK %d in middle of basic block %d"
+ msgstr "NOTE_INSN_BASIC_BLOCK %d mitt i grundblock %d"
+
+-#: cfgrtl.c:1924
++#: cfgrtl.c:1922
+ #, gcc-internal-format
+ msgid "in basic block %d:"
+ msgstr "i grundblock %d:"
+
+-#: cfgrtl.c:1977 cfgrtl.c:2067
++#: cfgrtl.c:1975 cfgrtl.c:2065
+ #, gcc-internal-format
+ msgid "insn %d outside of basic blocks has non-NULL bb field"
+ msgstr "instruktion %d utanför grundblock har ett icke-NULL bb-fält"
+
+-#: cfgrtl.c:1985
++#: cfgrtl.c:1983
+ #, gcc-internal-format
+ msgid "end insn %d for block %d not found in the insn stream"
+ msgstr "end-instruktion %d för block %d finns inte i instruktionsströmmen"
+
+-#: cfgrtl.c:1998
++#: cfgrtl.c:1996
+ #, gcc-internal-format
+ msgid "insn %d is in multiple basic blocks (%d and %d)"
+ msgstr "instruktion %d är i flera grundblock (%d och %d)"
+
+-#: cfgrtl.c:2010
++#: cfgrtl.c:2008
+ #, gcc-internal-format
+ msgid "head insn %d for block %d not found in the insn stream"
+ msgstr "huvudinstruktion %d för block %d finns inte i instruktionsströmmen"
+
+-#: cfgrtl.c:2030
++#: cfgrtl.c:2028
+ #, gcc-internal-format
+ msgid "missing barrier after block %i"
+ msgstr "barriär saknas efter block %i"
+
+-#: cfgrtl.c:2043
++#: cfgrtl.c:2041
+ #, gcc-internal-format
+ msgid "verify_flow_info: Incorrect blocks for fallthru %i->%i"
+ msgstr "verify_flow_info: Felaktigt block för fall igenom %i->%i"
+
+-#: cfgrtl.c:2052
++#: cfgrtl.c:2050
+ #, gcc-internal-format
+ msgid "verify_flow_info: Incorrect fallthru %i->%i"
+ msgstr "verify_flow_info: Felaktig fall igenom %i->%i"
+
+-#: cfgrtl.c:2085
++#: cfgrtl.c:2083
+ #, gcc-internal-format
+ msgid "basic blocks not laid down consecutively"
+ msgstr "grundblock inte utlagda i ordning"
+
+-#: cfgrtl.c:2124
++#: cfgrtl.c:2122
+ #, gcc-internal-format
+ msgid "number of bb notes in insn chain (%d) != n_basic_blocks (%d)"
+ msgstr "antal bb-noter i instruktionskedjan (%d) != n_basic_blocks (%d)"
+
+-#: cgraph.c:794
++#: cgraph.c:840
+ #, gcc-internal-format
+ msgid "%D renamed after being referenced in assembly"
+ msgstr "%D byter namn efter att ha refererats i assembler"
+
+-#: cgraphunit.c:670
++#: cgraphunit.c:675
+ #, gcc-internal-format
+ msgid "aux field set for edge %s->%s"
+ msgstr "aux-fält satt för båge %s->%s"
+
+-#: cgraphunit.c:676
++#: cgraphunit.c:681
+ #, gcc-internal-format
+ msgid "Execution count is negative"
+ msgstr "Exekveringsräknare är negativ"
+
+-#: cgraphunit.c:683
++#: cgraphunit.c:688
+ #, gcc-internal-format
+ msgid "caller edge count is negative"
+ msgstr "antal anropande bågar är negativt"
+
+-#: cgraphunit.c:688
++#: cgraphunit.c:693
+ #, gcc-internal-format
+ msgid "caller edge frequency is negative"
+ msgstr "frekvensen för anropande båge är negativ"
+
+-#: cgraphunit.c:693
++#: cgraphunit.c:698
+ #, gcc-internal-format
+ msgid "caller edge frequency is too large"
+ msgstr "frekvensen anropande båge är för stor"
+
+-#: cgraphunit.c:702
++#: cgraphunit.c:707
+ #, gcc-internal-format
+ msgid "inlined_to pointer is wrong"
+ msgstr "inlined_to-pekare är fel"
+
+-#: cgraphunit.c:707
++#: cgraphunit.c:712
+ #, gcc-internal-format
+ msgid "multiple inline callers"
+ msgstr "flera inline-anropare"
+
+-#: cgraphunit.c:714
++#: cgraphunit.c:719
+ #, gcc-internal-format
+ msgid "inlined_to pointer set for noninline callers"
+ msgstr "inlined_to-pekare angiven för noninline-anropare"
+
+-#: cgraphunit.c:720
++#: cgraphunit.c:725
+ #, gcc-internal-format
+ msgid "inlined_to pointer is set but no predecessors found"
+ msgstr "inlined_to-pekare är angivet men inga företrädare finns"
+
+-#: cgraphunit.c:725
++#: cgraphunit.c:730
+ #, gcc-internal-format
+ msgid "inlined_to pointer refers to itself"
+ msgstr "inlined_to-pekare refererar till sig själv"
+
+-#: cgraphunit.c:735
++#: cgraphunit.c:740
+ #, gcc-internal-format
+ msgid "node not found in cgraph_hash"
+ msgstr "nod finns inte i cgraph-hash"
+
+-#: cgraphunit.c:763
++#: cgraphunit.c:768
+ #, gcc-internal-format
+ msgid "shared call_stmt:"
+ msgstr "delat anropssats:"
+
+-#: cgraphunit.c:770
++#: cgraphunit.c:775
+ #, gcc-internal-format
+ msgid "edge points to wrong declaration:"
+ msgstr "bågpekare till fel deklaration:"
+
+-#: cgraphunit.c:779
++#: cgraphunit.c:784
+ #, gcc-internal-format
+ msgid "missing callgraph edge for call stmt:"
+ msgstr "anropsgrafsbåge saknas för anropssats:"
+
+-#: cgraphunit.c:795
++#: cgraphunit.c:800
+ #, gcc-internal-format
+ msgid "edge %s->%s has no corresponding call_stmt"
+ msgstr "båge %s->%s har ingen motsvarande anropssats"
+
+-#: cgraphunit.c:807
++#: cgraphunit.c:812
+ #, gcc-internal-format
+ msgid "verify_cgraph_node failed"
+ msgstr "verify_cgraph_node misslyckades"
+
+-#: cgraphunit.c:909 cgraphunit.c:932
++#: cgraphunit.c:915 cgraphunit.c:938
+ #, gcc-internal-format
+ msgid "%J%<externally_visible%> attribute have effect only on public objects"
+ msgstr "%Jattributet %<externally_visible%> har bara effekt på publika objekt"
+
+-#: cgraphunit.c:1122
++#: cgraphunit.c:1128
+ #, gcc-internal-format
+ msgid "failed to reclaim unneeded function"
+ msgstr "misslyckades att återta funktion som inte behövs"
+
+-#: cgraphunit.c:1454
++#: cgraphunit.c:1460
+ #, gcc-internal-format
+ msgid "nodes with no released memory found"
+ msgstr "noder utan släppt minne funna"
+
+-#: collect2.c:1189
++#: collect2.c:1203
+ #, gcc-internal-format
+ msgid "unknown demangling style '%s'"
+ msgstr "okänd avmanglingsstil \"%s\""
+
+-#: collect2.c:1512
++#: collect2.c:1526
+ #, gcc-internal-format
+ msgid "%s terminated with signal %d [%s]%s"
+ msgstr "%s terminerade med signal %d [%s]%s"
+
+-#: collect2.c:1530
++#: collect2.c:1544
+ #, gcc-internal-format
+ msgid "%s returned %d exit status"
+ msgstr "%s returnerade avslutningsstatus %d"
+
+-#: collect2.c:2242
++#: collect2.c:2256
+ #, gcc-internal-format
+ msgid "cannot find 'ldd'"
+ msgstr "kan inte hitta \"ldd\""
+@@ -21954,27 +21933,27 @@
+ msgid "dominator of %d should be %d, not %d"
+ msgstr "dominerare av %d vara %d, inte %d"
+
+-#: dwarf2out.c:3634
++#: dwarf2out.c:3686
+ #, gcc-internal-format
+ msgid "DW_LOC_OP %s not implemented"
+ msgstr "DW_LOC_OP %s är inte implementerad"
+
+-#: emit-rtl.c:2326
++#: emit-rtl.c:2262
+ #, gcc-internal-format
+ msgid "invalid rtl sharing found in the insn"
+ msgstr "ogiltig rtl-delning hittad i instruktionen"
+
+-#: emit-rtl.c:2328
++#: emit-rtl.c:2264
+ #, gcc-internal-format
+ msgid "shared rtx"
+ msgstr "delad rtx"
+
+-#: emit-rtl.c:2330
++#: emit-rtl.c:2266
+ #, gcc-internal-format
+ msgid "internal consistency failure"
+ msgstr "internt konsistensfel"
+
+-#: emit-rtl.c:3417
++#: emit-rtl.c:3365
+ #, gcc-internal-format
+ msgid "ICE: emit_insn used where emit_jump_insn needed:\n"
+ msgstr "ICE: emit_insn använd där emit_jump_insn behövs:\n"
+@@ -22034,16 +22013,16 @@
+ msgid "verify_eh_tree failed"
+ msgstr "verify_eh_tree misslyckades"
+
+-#: explow.c:1281
++#: explow.c:1258
+ #, gcc-internal-format
+ msgid "stack limits not supported on this target"
+ msgstr "stackgränser stöds inte på denna målarkitektur"
+
+-#: expr.c:8031
++#: expr.c:8030
+ msgid "%Kcall to %qs declared with attribute error: %s"
+ msgstr "%Kanrop av %qs deklarerad med attributet error: %s"
+
+-#: expr.c:8037
++#: expr.c:8036
+ msgid "%Kcall to %qs declared with attribute warning: %s"
+ msgstr "%K anrop av %qs deklarerad med attributet warning: %s"
+
+@@ -22057,7 +22036,7 @@
+ msgid "large fixed-point constant implicitly truncated to fixed-point type"
+ msgstr "stor fixdecimalskonstant implicit trunkerad till fixdecimaltyp"
+
+-#: fold-const.c:992 tree-ssa-loop-niter.c:1827 tree-vrp.c:5060
++#: fold-const.c:992 tree-ssa-loop-niter.c:1827 tree-vrp.c:5076
+ #, gcc-internal-format
+ msgid "%H%s"
+ msgstr "%H%s"
+@@ -22067,77 +22046,77 @@
+ msgid "assuming signed overflow does not occur when negating a division"
+ msgstr "antar att teckenspill inte förekommer vid negering av en division"
+
+-#: fold-const.c:3989 fold-const.c:4000
++#: fold-const.c:4003 fold-const.c:4014
+ #, gcc-internal-format
+ 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.c:5317
++#: fold-const.c:5331
+ #, 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"
+
+-#: fold-const.c:5691 fold-const.c:5706
++#: fold-const.c:5705 fold-const.c:5720
+ #, gcc-internal-format
+ msgid "comparison is always %d"
+ msgstr "jämförelsen är alltid %d"
+
+-#: fold-const.c:5835
++#: fold-const.c:5849
+ #, gcc-internal-format
+ msgid "%<or%> of unmatched not-equal tests is always 1"
+ msgstr "%<or%> mellan omatchade olikhetstester är alltid 1"
+
+-#: fold-const.c:5840
++#: fold-const.c:5854
+ #, gcc-internal-format
+ msgid "%<and%> of mutually exclusive equal-tests is always 0"
+ msgstr "%<and%> mellan ömsesidigt uteslutande likhetstester är alltid 0"
+
+-#: fold-const.c:8617
++#: fold-const.c:8641
+ #, gcc-internal-format
+ msgid "assuming signed overflow does not occur when reducing constant in comparison"
+ msgstr "antar att teckenspill inte förekommer vid reduktion av konstant i jämförelse"
+
+-#: fold-const.c:8871
++#: fold-const.c:8895
+ #, gcc-internal-format
+ msgid "assuming signed overflow does not occur when combining constants around a comparison"
+ msgstr "antar att teckenspill inte förekommer vid kombination av konstanter runt en jämförelse"
+
+-#: fold-const.c:13236
++#: fold-const.c:13433
+ #, gcc-internal-format
+ msgid "fold check: original tree changed by fold"
+ msgstr "vikningskontroll: originalträdet ändrat av vikning"
+
+-#: function.c:377
++#: function.c:380
+ #, gcc-internal-format
+ msgid "%Jtotal size of local objects too large"
+ msgstr "%Jtotal storlek på lokala objekt är för stor"
+
+-#: function.c:837 varasm.c:2095
++#: function.c:840 varasm.c:2095
+ #, gcc-internal-format
+ msgid "size of variable %q+D is too large"
+ msgstr "storleken på variabeln %q+D är för stor"
+
+-#: function.c:1554 gimplify.c:4250
++#: function.c:1571 gimplify.c:4405
+ #, gcc-internal-format
+ msgid "impossible constraint in %<asm%>"
+ msgstr "omöjlig begränsning i %<asm%>"
+
+-#: function.c:3538
++#: function.c:3557
+ #, gcc-internal-format
+ msgid "variable %q+D might be clobbered by %<longjmp%> or %<vfork%>"
+ msgstr "variabeln %q+D kan skrivas över av %<longjmp%> eller %<vfork%>"
+
+-#: function.c:3559
++#: function.c:3578
+ #, gcc-internal-format
+ msgid "argument %q+D might be clobbered by %<longjmp%> or %<vfork%>"
+ msgstr "argumentet %q+D kan skrivas över av %<longjmp%> eller %<vfork%>"
+
+-#: function.c:4004
++#: function.c:4027
+ #, gcc-internal-format
+ msgid "function returns an aggregate"
+ msgstr "funktionen returnerar ett aggregat"
+
+-#: function.c:4401
++#: function.c:4424
+ #, gcc-internal-format
+ msgid "unused parameter %q+D"
+ msgstr "oanvänd parameter %q+D"
+@@ -22162,12 +22141,12 @@
+ msgid "extraneous argument to '%s' option"
+ msgstr "extra argument till flaggan \"%s\""
+
+-#: gcc.c:3987
++#: gcc.c:3981
+ #, gcc-internal-format
+ msgid "warning: -pipe ignored because -save-temps specified"
+ msgstr "varning: -pipe ignorerad eftersom -save-temps angivits"
+
+-#: gcc.c:4276
++#: gcc.c:4270
+ #, gcc-internal-format
+ msgid "warning: '-x %s' after last input file has no effect"
+ msgstr "varning: \"-x %s\" efter sista indatafilen har ingen effekt"
+@@ -22175,62 +22154,62 @@
+ #. Catch the case where a spec string contains something like
+ #. '%{foo:%*}'. i.e. there is no * in the pattern on the left
+ #. hand side of the :.
+-#: gcc.c:5314
++#: gcc.c:5308
+ #, gcc-internal-format
+ msgid "spec failure: '%%*' has not been initialized by pattern match"
+ msgstr "spec-fel: \"%%*\" har inte initierats av en mönstermatchning"
+
+-#: gcc.c:5323
++#: gcc.c:5317
+ #, gcc-internal-format
+ msgid "warning: use of obsolete %%[ operator in specs"
+ msgstr "varning: användning av föråldrad operator %%[ i specs"
+
+-#: gcc.c:5404
++#: gcc.c:5398
+ #, gcc-internal-format
+ msgid "spec failure: unrecognized spec option '%c'"
+ msgstr "spec-fel: okänd spec-flagga \"%c\""
+
+-#: gcc.c:6305
++#: gcc.c:6304
+ #, gcc-internal-format
+ msgid "spec failure: more than one arg to SYSROOT_SUFFIX_SPEC"
+ msgstr "spec-fel: mer än ett argument till SYSROOT_SUFFIX_SPEC"
+
+-#: gcc.c:6328
++#: gcc.c:6327
+ #, gcc-internal-format
+ msgid "spec failure: more than one arg to SYSROOT_HEADERS_SUFFIX_SPEC"
+ msgstr "spec-fel: mer än ett argument till SYSROOT_HEADERS_SUFFIX_SPEC"
+
+-#: gcc.c:6415
++#: gcc.c:6414
+ #, gcc-internal-format
+ msgid "unrecognized option '-%s'"
+ msgstr "okänd flagga \"-%s\""
+
+-#: gcc.c:6615 gcc.c:6678
++#: gcc.c:6614 gcc.c:6677
+ #, gcc-internal-format
+ msgid "%s: %s compiler not installed on this system"
+ msgstr "%s: kompilatorn %s är inte installerad på detta system"
+
+-#: gcc.c:6778
++#: gcc.c:6777
+ #, gcc-internal-format
+ msgid "%s: linker input file unused because linking not done"
+ msgstr "%s: infil till länkaren oanvänd eftersom ingen länkning gjordes"
+
+-#: gcc.c:6818
++#: gcc.c:6817
+ #, gcc-internal-format
+ msgid "language %s not recognized"
+ msgstr "språk %s känns inte igen"
+
+-#: gcc.c:6889
++#: gcc.c:6888
+ #, gcc-internal-format
+ msgid "%s: %s"
+ msgstr "%s: %s"
+
+-#: gcse.c:6660
++#: gcse.c:6644
+ #, gcc-internal-format
+ msgid "%s: %d basic blocks and %d edges/basic block"
+ msgstr "%s: %d grundblock och %d bågar/grundblock"
+
+-#: gcse.c:6673
++#: gcse.c:6657
+ #, gcc-internal-format
+ msgid "%s: %d basic blocks and %d registers"
+ msgstr "%s: %d grundblock och %d register"
+@@ -22283,52 +22262,52 @@
+ msgid "can't write PCH fle: %m"
+ msgstr "kan inte skriva PCH-fil: %m"
+
+-#: gimplify.c:4139
++#: gimplify.c:4294
+ #, gcc-internal-format
+ msgid "invalid lvalue in asm output %d"
+ msgstr "ogiltigt l-värde i asm-utdata %d"
+
+-#: gimplify.c:4251
++#: gimplify.c:4406
+ #, gcc-internal-format
+ msgid "non-memory input %d must stay in memory"
+ msgstr "icke-minnesindata %d måste stanna i minnet"
+
+-#: gimplify.c:4264
++#: gimplify.c:4419
+ #, gcc-internal-format
+ msgid "memory input %d is not directly addressable"
+ msgstr "minnesindata %d är inte direkt adresserbar"
+
+-#: gimplify.c:4743
++#: gimplify.c:4898
+ #, gcc-internal-format
+ msgid "%qs not specified in enclosing parallel"
+ msgstr "%qs inte angiven i omgivande parallel"
+
+-#: gimplify.c:4745
++#: gimplify.c:4900
+ #, gcc-internal-format
+ msgid "%Henclosing parallel"
+ msgstr "%Homgivande parallel"
+
+-#: gimplify.c:4799
++#: gimplify.c:4954
+ #, gcc-internal-format
+ msgid "iteration variable %qs should be private"
+ msgstr "instansvariabel %qs skall vara privat"
+
+-#: gimplify.c:4813
++#: gimplify.c:4968
+ #, gcc-internal-format
+ msgid "iteration variable %qs should not be firstprivate"
+ msgstr "iterationsvariabel %qs får inte vara firstprivate"
+
+-#: gimplify.c:4816
++#: gimplify.c:4971
+ #, gcc-internal-format
+ msgid "iteration variable %qs should not be reduction"
+ msgstr "iterationsvariabel %qs skall inte vara reduction"
+
+-#: gimplify.c:4940
++#: gimplify.c:5095
+ #, gcc-internal-format
+ msgid "%s variable %qs is private in outer context"
+ msgstr "%s-variabel %qs är privat i yttre sammanhang"
+
+-#: gimplify.c:6108
++#: gimplify.c:6281
+ #, gcc-internal-format
+ msgid "gimplification failed"
+ msgstr "gimplification misslyckades"
+@@ -22338,7 +22317,7 @@
+ msgid "%s cannot be used in asm here"
+ msgstr "%s kan inte användas i en asm här"
+
+-#: graph.c:401 java/jcf-parse.c:1757 java/jcf-parse.c:1897 objc/objc-act.c:500
++#: graph.c:401 java/jcf-parse.c:1759 java/jcf-parse.c:1899 objc/objc-act.c:500
+ #, gcc-internal-format
+ msgid "can't open %s: %m"
+ msgstr "kan inte öppna %s: %m"
+@@ -22348,158 +22327,163 @@
+ msgid "fix_sched_param: unknown param: %s"
+ msgstr "fix_sched_param: okänd param: %s"
+
+-#: omp-low.c:1288
++#: omp-low.c:1289
+ #, gcc-internal-format
+ msgid "work-sharing region may not be closely nested inside of work-sharing, critical, ordered or master region"
+ msgstr "arbetsdelande region får inte vara nära innesluten inuti arbetsdelande, kritisk, ordnad eller huvudregion"
+
+-#: omp-low.c:1304
++#: omp-low.c:1305
+ #, gcc-internal-format
+ msgid "master region may not be closely nested inside of work-sharing region"
+ msgstr "huvudregion får inte vara nära innesluten inuti arbetsdelande region"
+
+-#: omp-low.c:1318
++#: omp-low.c:1319
+ #, gcc-internal-format
+ msgid "ordered region may not be closely nested inside of critical region"
+ msgstr "ordnad region får inte vara nära innesluten inuti kritisk region"
+
+-#: omp-low.c:1324
++#: omp-low.c:1325
+ #, gcc-internal-format
+ msgid "ordered region must be closely nested inside a loop region with an ordered clause"
+ msgstr "ordnad region måste vara nära innesluten inuti en slinga med en ordnad klausul"
+
+-#: omp-low.c:1338
++#: omp-low.c:1339
+ #, gcc-internal-format
+ msgid "critical region may not be nested inside a critical region with the same name"
+ msgstr "kritisk region får inte vara innesluten inuti en kritisk region med samma namn"
+
+-#: omp-low.c:5050 cp/decl.c:2660 cp/parser.c:7417 cp/parser.c:7437
++#: omp-low.c:5116 cp/decl.c:2667 cp/parser.c:7423 cp/parser.c:7443
+ #, gcc-internal-format
+ msgid "invalid exit from OpenMP structured block"
+ msgstr "ogiltig utgång från OpenMP strukturerat block"
+
+-#: omp-low.c:5052
++#: omp-low.c:5118
+ #, gcc-internal-format
+ msgid "invalid entry to OpenMP structured block"
+ msgstr "ogiltig ingång till OpenMP strukturerat block"
+
+-#: opts.c:173
++#: opts.c:165
+ #, gcc-internal-format
+ msgid "argument %qs to %<-femit-struct-debug-detailed%> not recognized"
+ msgstr "argumentet %qs till %<-femit-struct-debug-detailed%> är inte känt"
+
+-#: opts.c:207
++#: opts.c:199
+ #, gcc-internal-format
+ msgid "argument %qs to %<-femit-struct-debug-detailed%> unknown"
+ msgstr "argument %qs till %<-femit-struct-debug-detailed%> okänt"
+
+-#: opts.c:213
++#: opts.c:205
+ #, gcc-internal-format
+ msgid "%<-femit-struct-debug-detailed=dir:...%> must allow at least as much as %<-femit-struct-debug-detailed=ind:...%>"
+ msgstr "%<-femit-struct-debug-detailed=kat:...%> måste tillåta åtminstone så mycket som %<-femit-struct-debug-detailed=ind:...%>"
+
+ #. Eventually this should become a hard error IMO.
+-#: opts.c:438
++#: opts.c:430
+ #, gcc-internal-format
+ msgid "command line option \"%s\" is valid for %s but not for %s"
+ msgstr "kommandoradsflaggan \"%s\" är giltig för %s men inte för %s"
+
+-#: opts.c:492
++#: opts.c:484
+ #, gcc-internal-format
+ msgid "command line option %qs is not supported by this configuration"
+ msgstr "kommandoradsflaggan %qs stöds inte av denna konfiguration"
+
+-#: opts.c:545
++#: opts.c:537
+ #, gcc-internal-format
+ msgid "missing argument to \"%s\""
+ msgstr "argument saknas \"%s\""
+
+-#: opts.c:555
++#: opts.c:547
+ #, gcc-internal-format
+ msgid "argument to \"%s\" should be a non-negative integer"
+ msgstr "argumentet till \"%s\" skall vara ett ickenegativt heltal"
+
+-#: opts.c:728
++#: opts.c:720
+ #, gcc-internal-format
+ msgid "unrecognized command line option \"%s\""
+ msgstr "okänd kommandoradsflagga \"%s\""
+
+-#: opts.c:947
++#: opts.c:939
+ #, gcc-internal-format
+ msgid "-Wuninitialized is not supported without -O"
+ msgstr "-Wuninitialized stöds inte utan -O"
+
+-#: opts.c:962
++#: opts.c:951
+ #, gcc-internal-format
++msgid "-funit-at-a-time is required for inlining of functions that are only called once"
++msgstr "-funit-at-a-time krävs för inline:ing av funktioner som bara anropas en gång"
++
++#: opts.c:964
++#, gcc-internal-format
+ msgid "-freorder-blocks-and-partition does not work with exceptions"
+ msgstr "-freorder-blocks-and-partition fungerar inte med undantag"
+
+-#: opts.c:973
++#: opts.c:975
+ #, gcc-internal-format
+ msgid "-freorder-blocks-and-partition does not support unwind info"
+ msgstr "-freorder-blocks-and-partition stödjer inte unwind-info"
+
+-#: opts.c:987
++#: opts.c:989
+ #, 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.c:1263
++#: opts.c:1265
+ #, gcc-internal-format
+ msgid "unrecognized include_flags 0x%x passed to print_specific_help"
+ msgstr "okända include_flags 0x%x skickade till print_specific_help"
+
+-#: opts.c:1593
++#: opts.c:1595
+ #, gcc-internal-format
+ msgid "structure alignment must be a small power of two, not %d"
+ msgstr "postjustering måste vara två upphöjt till ett litet tal, inte %d"
+
+-#: opts.c:1656
++#: opts.c:1658
+ #, gcc-internal-format
+ msgid "unrecognized visibility value \"%s\""
+ msgstr "okänt synlighetsvärde \"%s\""
+
+-#: opts.c:1704
++#: opts.c:1706
+ #, gcc-internal-format
+ msgid "unrecognized register name \"%s\""
+ msgstr "okänt registernamn \"%s\""
+
+-#: opts.c:1728
++#: opts.c:1730
+ #, gcc-internal-format
+ msgid "unknown tls-model \"%s\""
+ msgstr "okänd tls-modell \"%s\""
+
+-#: opts.c:1803
++#: opts.c:1807
+ #, gcc-internal-format
+ msgid "%s: --param arguments should be of the form NAME=VALUE"
+ msgstr "%s: argument till --param skall ha formen NAMN=VÄRDE"
+
+-#: opts.c:1808
++#: opts.c:1812
+ #, gcc-internal-format
+ msgid "invalid --param value %qs"
+ msgstr "ogiltigt --param-värde %qs"
+
+-#: opts.c:1931
++#: opts.c:1934
+ #, gcc-internal-format
+ msgid "target system does not support debug output"
+ msgstr "målsystemet stödjer inte felsökningsutdata"
+
+-#: opts.c:1938
++#: opts.c:1941
+ #, gcc-internal-format
+ msgid "debug format \"%s\" conflicts with prior selection"
+ msgstr "felsökningsformatet \"%s\" står i konflikt med tidigare val"
+
+-#: opts.c:1954
++#: opts.c:1957
+ #, gcc-internal-format
+ msgid "unrecognised debug output level \"%s\""
+ msgstr "okänd felsökningsnivå \"%s\""
+
+-#: opts.c:1956
++#: opts.c:1959
+ #, gcc-internal-format
+ msgid "debug output level %s is too high"
+ msgstr "felsökningsnivå %s är för hög"
+
+-#: opts.c:2038
++#: opts.c:2041
+ #, gcc-internal-format
+ msgid "-Werror=%s: No option -%s"
+ msgstr "-Werror=%s: Ingen flagga -%s"
+@@ -22575,9 +22559,9 @@
+ msgid "can't use '%s' as a %s register"
+ msgstr "kan inte använda \"%s\" som ett %s-register"
+
+-#: regclass.c:890 config/ia64/ia64.c:5138 config/ia64/ia64.c:5145
+-#: config/pa/pa.c:359 config/pa/pa.c:366 config/spu/spu.c:3886
+-#: config/spu/spu.c:3893
++#: regclass.c:890 config/ia64/ia64.c:5139 config/ia64/ia64.c:5146
++#: config/pa/pa.c:362 config/pa/pa.c:369 config/spu/spu.c:3875
++#: config/spu/spu.c:3882
+ #, gcc-internal-format
+ msgid "unknown register name: %s"
+ msgstr "okänt registernamn: %s"
+@@ -22617,22 +22601,22 @@
+ msgid "validate_value_data: [%u] Non-empty reg in chain (%s %u %i)"
+ msgstr "validate_value_data: [%u] Ej tomt reg i kedja (%s %u %i)"
+
+-#: reload.c:1252
++#: reload.c:1256
+ #, gcc-internal-format
+ msgid "cannot reload integer constant operand in %<asm%>"
+ msgstr "kan inte läsa om heltalskonstantoperand i %<asm%>"
+
+-#: reload.c:1266
++#: reload.c:1270
+ #, gcc-internal-format
+ msgid "impossible register constraint in %<asm%>"
+ msgstr "omöjlig registerbegränsning i %<asm%>"
+
+-#: reload.c:3564
++#: reload.c:3574
+ #, gcc-internal-format
+ msgid "%<&%> constraint used with no register class"
+ msgstr "%<&%>-begränsning använd utan registerklass"
+
+-#: reload.c:3735 reload.c:3975
++#: reload.c:3745 reload.c:3991
+ #, gcc-internal-format
+ msgid "inconsistent operand constraints in an %<asm%>"
+ msgstr "inkonsistenta operandbegränsningar i en %<asm%>"
+@@ -22857,49 +22841,49 @@
+ msgid "size of %q+D is larger than %wd bytes"
+ msgstr "storleken på %q+D är större än %wd byte"
+
+-#: stor-layout.c:899
++#: stor-layout.c:888
+ #, gcc-internal-format
+ msgid "packed attribute causes inefficient alignment for %q+D"
+ msgstr "attributet packed medför ineffektiv justering för %q+D"
+
+-#: stor-layout.c:902
++#: stor-layout.c:891
+ #, gcc-internal-format
+ msgid "packed attribute is unnecessary for %q+D"
+ msgstr "attributet packed är onödigt för %q+D"
+
+ #. No, we need to skip space before this field.
+ #. Bump the cumulative size to multiple of field alignment.
+-#: stor-layout.c:919
++#: stor-layout.c:908
+ #, gcc-internal-format
+ msgid "padding struct to align %q+D"
+ msgstr "fyller ut post för att justera %q+D"
+
+-#: stor-layout.c:1270
++#: stor-layout.c:1259
+ #, gcc-internal-format
+ msgid "padding struct size to alignment boundary"
+ msgstr "fyller ut poststorlek till justeringsgräns"
+
+-#: stor-layout.c:1300
++#: stor-layout.c:1289
+ #, gcc-internal-format
+ msgid "packed attribute causes inefficient alignment for %qs"
+ msgstr "attributet packed medför ineffektiv justering för %qs"
+
+-#: stor-layout.c:1304
++#: stor-layout.c:1293
+ #, gcc-internal-format
+ msgid "packed attribute is unnecessary for %qs"
+ msgstr "attributet packed är onödigt för %qs"
+
+-#: stor-layout.c:1310
++#: stor-layout.c:1299
+ #, gcc-internal-format
+ msgid "packed attribute causes inefficient alignment"
+ msgstr "attributet packed medför ineffektiv justering"
+
+-#: stor-layout.c:1312
++#: stor-layout.c:1301
+ #, gcc-internal-format
+ msgid "packed attribute is unnecessary"
+ msgstr "attributet packed är onödigt"
+
+-#: stor-layout.c:1842
++#: stor-layout.c:1831
+ #, gcc-internal-format
+ msgid "alignment of array elements is greater than element size"
+ msgstr "justeringen av vektorelement är större än elementstorleken"
+@@ -22984,645 +22968,655 @@
+ msgid "unrecognized gcc debugging option: %c"
+ msgstr "ej igenkänd debuggningsflagga för gcc: %c"
+
+-#: toplev.c:1411
++#: toplev.c:1413
+ #, gcc-internal-format
+ msgid "can%'t open %s for writing: %m"
+ msgstr "kan inte öppna %s för skrivning: %m"
+
+-#: toplev.c:1432
++#: toplev.c:1434
+ #, gcc-internal-format
+ msgid "-frecord-gcc-switches is not supported by the current target"
+ msgstr "-frecord-gcc-switches stöds inte för den aktuella målarkitekturen"
+
+-#: toplev.c:1745
++#: toplev.c:1747
+ #, gcc-internal-format
+ msgid "this target does not support %qs"
+ msgstr "denna målarkitektur stödjer inte %s"
+
+-#: toplev.c:1794
++#: toplev.c:1796
+ #, gcc-internal-format
+ msgid "instruction scheduling not supported on this target machine"
+ msgstr "instruktionsschemaläggning stöds inte för denna målmaskin"
+
+-#: toplev.c:1798
++#: toplev.c:1800
+ #, gcc-internal-format
+ msgid "this target machine does not have delayed branches"
+ msgstr "denna målmaskin har inte fördröjda grenar"
+
+-#: toplev.c:1812
++#: toplev.c:1814
+ #, gcc-internal-format
+ msgid "-f%sleading-underscore not supported on this target machine"
+ msgstr "-f%sleading-underscore stöds inte på denna målmaskin"
+
+-#: toplev.c:1885
++#: toplev.c:1887
+ #, gcc-internal-format
+ msgid "target system does not support the \"%s\" debug format"
+ msgstr "målsystemet stödjer inte felsökningsformatet \"%s\""
+
+-#: toplev.c:1898
++#: toplev.c:1900
+ #, gcc-internal-format
+ msgid "variable tracking requested, but useless unless producing debug info"
+ msgstr "variabelspårning begärd, men oanvändbar om den inte felsökningsinformation skapas"
+
+-#: toplev.c:1901
++#: toplev.c:1903
+ #, gcc-internal-format
+ msgid "variable tracking requested, but not supported by this debug format"
+ msgstr "variabel spårning begärd, men stöds inte av detta felsökningsformat"
+
+-#: toplev.c:1935
++#: toplev.c:1937
+ #, gcc-internal-format
+ msgid "can%'t open %s: %m"
+ msgstr "kan inte öppna %s: %m"
+
+-#: toplev.c:1942
++#: toplev.c:1944
+ #, gcc-internal-format
+ msgid "-ffunction-sections not supported for this target"
+ msgstr "-ffunction-sections stöds inte för denna målarkitektur"
+
+-#: toplev.c:1947
++#: toplev.c:1949
+ #, gcc-internal-format
+ msgid "-fdata-sections not supported for this target"
+ msgstr "-fdata-sections stöds inte för denna målarkitektur"
+
+-#: toplev.c:1954
++#: toplev.c:1956
+ #, gcc-internal-format
+ msgid "-ffunction-sections disabled; it makes profiling impossible"
+ msgstr "-ffunction-sections avslaget, det gör profilering omöjlig"
+
+-#: toplev.c:1961
++#: toplev.c:1963
+ #, gcc-internal-format
+ msgid "-fprefetch-loop-arrays not supported for this target"
+ msgstr "-fprefetch-loop-arrays stöds inte för denna målarkitektur"
+
+-#: toplev.c:1967
++#: toplev.c:1969
+ #, gcc-internal-format
+ msgid "-fprefetch-loop-arrays not supported for this target (try -march switches)"
+ msgstr "-fprefetch-loop-arrays stöds inte för denna målarkitektur (försök med -march-flaggor)"
+
+-#: toplev.c:1976
++#: toplev.c:1978
+ #, gcc-internal-format
+ msgid "-fprefetch-loop-arrays is not supported with -Os"
+ msgstr "-fprefetch-loop-arrays stöds inte med -Os"
+
+-#: toplev.c:1983
++#: toplev.c:1985
+ #, gcc-internal-format
+ msgid "-ffunction-sections may affect debugging on some targets"
+ msgstr "-ffunction-sections kan påverka felsökning på vissa målarkitekturer"
+
+-#: toplev.c:1999
++#: toplev.c:1996
+ #, gcc-internal-format
++msgid "-fassociative-math disabled; other options take precedence"
++msgstr "-fassociative-math avslagen, andra flaggor går före"
++
++#: toplev.c:2008
++#, gcc-internal-format
+ msgid "-fstack-protector not supported for this target"
+ msgstr "-fstack-protector stöds inte av denna målarkitektur"
+
+-#: toplev.c:2012
++#: toplev.c:2021
+ #, gcc-internal-format
+-msgid "unwind tables currently requires a frame pointer for correctness"
+-msgstr "utrullning av tabeller kräver för närvarande en rampekare för att bli rätt"
++msgid "unwind tables currently require a frame pointer for correctness"
++msgstr "at rulla ut tabeller kräver för närvarande en rampekare för att bli rätt"
+
+-#: toplev.c:2198
++#: toplev.c:2207
+ #, gcc-internal-format
+ msgid "error writing to %s: %m"
+ msgstr "fel vid skrivning till %s: %m"
+
+-#: toplev.c:2200 java/jcf-parse.c:1776
++#: toplev.c:2209 java/jcf-parse.c:1778
+ #, gcc-internal-format
+ msgid "error closing %s: %m"
+ msgstr "fel när %s stängdes: %m"
+
+-#: tree-cfg.c:1432 tree-cfg.c:2068 tree-cfg.c:2071
++#: tree-cfg.c:1451 tree-cfg.c:2087 tree-cfg.c:2090
+ #, gcc-internal-format
+ msgid "%Hwill never be executed"
+ msgstr "%Hkommer aldrig utföras"
+
+-#: tree-cfg.c:3134
++#: tree-cfg.c:3153
+ #, gcc-internal-format
+ msgid "SSA name in freelist but still referenced"
+ msgstr "SSA-namn i frilista men fortfarande refererad"
+
+-#: tree-cfg.c:3143
++#: tree-cfg.c:3162
+ #, gcc-internal-format
+ msgid "ASSERT_EXPR with an always-false condition"
+ msgstr "ASSERT_EXPR med villkor som alltid är falskt"
+
+-#: tree-cfg.c:3156
++#: tree-cfg.c:3175
+ #, gcc-internal-format
+ msgid "GIMPLE register modified with BIT_FIELD_REF"
+ msgstr "GIMPLE-register modifierat med BIT_FIELD_REF"
+
+-#: tree-cfg.c:3191
++#: tree-cfg.c:3210
+ #, gcc-internal-format
+ msgid "invariant not recomputed when ADDR_EXPR changed"
+ msgstr "invariant inte omräknad när ADDR_EXPR ändrades"
+
+-#: tree-cfg.c:3197
++#: tree-cfg.c:3216
+ #, gcc-internal-format
+ msgid "constant not recomputed when ADDR_EXPR changed"
+ msgstr "konstant inte omräknad när ADDR_EXPR ändrades"
+
+-#: tree-cfg.c:3202
++#: tree-cfg.c:3221
+ #, gcc-internal-format
+ msgid "side effects not recomputed when ADDR_EXPR changed"
+ msgstr "sidoeffekter inte omräknade när ADDR_EXPR ändrades"
+
+-#: tree-cfg.c:3218
++#: tree-cfg.c:3237
+ #, gcc-internal-format
+ msgid "address taken, but ADDRESSABLE bit not set"
+ msgstr "adress tagen, men ADDRESSABLE-biten är inte satt"
+
+-#: tree-cfg.c:3228
++#: tree-cfg.c:3252
+ #, gcc-internal-format
+ msgid "non-integral used in condition"
+ msgstr "icke-heltal använt i villkor"
+
+-#: tree-cfg.c:3233
++#: tree-cfg.c:3257
+ #, gcc-internal-format
+ msgid "invalid conditional operand"
+ msgstr "ogiltig villkorlig operand"
+
+-#: tree-cfg.c:3285
++#: tree-cfg.c:3309
+ #, gcc-internal-format
+ msgid "invalid reference prefix"
+ msgstr "ogiltigt referensprefix"
+
+-#: tree-cfg.c:3296
++#: tree-cfg.c:3320
+ #, gcc-internal-format
+ msgid "invalid operand to plus/minus, type is a pointer"
+ msgstr "ogiltig operand till plus/minus, typen är en pekare"
+
+-#: tree-cfg.c:3307
++#: tree-cfg.c:3331
+ #, gcc-internal-format
+ msgid "invalid operand to pointer plus, first operand is not a pointer"
+ msgstr "ogiltig operand till pekarplus, första operanden är inte en pekare"
+
+-#: tree-cfg.c:3315
++#: tree-cfg.c:3339
+ #, gcc-internal-format
+ msgid "invalid operand to pointer plus, second operand is not an integer with type of sizetype."
+ msgstr "ogiltig operand till pekarplus, andra operanden är inte ett heltal med type sizetype."
+
+-#: tree-cfg.c:3382 tree-cfg.c:3798
++#: tree-cfg.c:3406 tree-cfg.c:3822
+ #, gcc-internal-format
+ msgid "invalid operand in unary expression"
+ msgstr "ogiltig operand till i unärt uttryck"
+
+-#: tree-cfg.c:3392
++#: tree-cfg.c:3416
+ #, gcc-internal-format
+ msgid "type mismatch in unary expression"
+ msgstr "typfel i unärt uttryck"
+
+-#: tree-cfg.c:3413
++#: tree-cfg.c:3437
+ #, gcc-internal-format
+ msgid "invalid operands in binary expression"
+ msgstr "ogiltiga operander binärt uttryck"
+
+-#: tree-cfg.c:3424
++#: tree-cfg.c:3448
+ #, gcc-internal-format
+ msgid "type mismatch in binary expression"
+ msgstr "typfel i binärt uttryck"
+
+-#: tree-cfg.c:3449
++#: tree-cfg.c:3473
+ #, gcc-internal-format
+ msgid "invalid expression for min lvalue"
+ msgstr "ogiltigt uttryck som min-lvärde"
+
+-#: tree-cfg.c:3456
++#: tree-cfg.c:3480
+ #, gcc-internal-format
+ msgid "invalid operand in indirect reference"
+ msgstr "ogiltig operand i indirektreferens"
+
+-#: tree-cfg.c:3463
++#: tree-cfg.c:3487
+ #, gcc-internal-format
+ msgid "type mismatch in indirect reference"
+ msgstr "typfel i indirektreferens"
+
+-#: tree-cfg.c:3491
++#: tree-cfg.c:3515
+ #, gcc-internal-format
+ msgid "invalid operands to array reference"
+ msgstr "ogiltiga operander i vektorreferens"
+
+-#: tree-cfg.c:3502
++#: tree-cfg.c:3526
+ #, gcc-internal-format
+ msgid "type mismatch in array reference"
+ msgstr "typfel i vektorreferens"
+
+-#: tree-cfg.c:3511
++#: tree-cfg.c:3535
+ #, gcc-internal-format
+ msgid "type mismatch in array range reference"
+ msgstr "typfel i vektorintervallreferens"
+
+-#: tree-cfg.c:3522
++#: tree-cfg.c:3546
+ #, gcc-internal-format
+ msgid "type mismatch in real/imagpart reference"
+ msgstr "typfel i referens till reel-/imaginärdel"
+
+-#: tree-cfg.c:3532
++#: tree-cfg.c:3556
+ #, gcc-internal-format
+ msgid "type mismatch in component reference"
+ msgstr "typfel i komponentreferens"
+
+-#: tree-cfg.c:3586
++#: tree-cfg.c:3610
+ #, gcc-internal-format
+ msgid "invalid operand in conversion"
+ msgstr "ogiltig operand i konvertering"
+
+-#: tree-cfg.c:3614
++#: tree-cfg.c:3638
+ #, gcc-internal-format
+ msgid "invalid types in nop conversion"
+ msgstr "ogiltiga typer i nop-konvertering"
+
+-#: tree-cfg.c:3628
++#: tree-cfg.c:3652
+ #, gcc-internal-format
+ msgid "invalid operand in int to float conversion"
+ msgstr "ogiltig operand i int till float-konvertering"
+
+-#: tree-cfg.c:3634
++#: tree-cfg.c:3658
+ #, gcc-internal-format
+ msgid "invalid types in conversion to floating point"
+ msgstr "ogiltiga typer i konvertering till flyttal"
+
+-#: tree-cfg.c:3647
++#: tree-cfg.c:3671
+ #, gcc-internal-format
+ msgid "invalid operand in float to int conversion"
+ msgstr "ogiltig operand i float till int-konvertering"
+
+-#: tree-cfg.c:3653
++#: tree-cfg.c:3677
+ #, gcc-internal-format
+ msgid "invalid types in conversion to integer"
+ msgstr "ogiltiga typer i konvertering till heltal"
+
+-#: tree-cfg.c:3667
++#: tree-cfg.c:3691
+ #, gcc-internal-format
+ msgid "invalid operands in complex expression"
+ msgstr "ogiltiga operander i komplext uttryck"
+
+-#: tree-cfg.c:3680
++#: tree-cfg.c:3704
+ #, gcc-internal-format
+ msgid "type mismatch in complex expression"
+ msgstr "typfel i komplext uttryck"
+
+-#: tree-cfg.c:3694
++#: tree-cfg.c:3718
+ #, gcc-internal-format
+ msgid "constructor not allowed for non-vector types"
+ msgstr "konstruerare inte tillåten för ej-vektortyper"
+
+-#: tree-cfg.c:3711
++#: tree-cfg.c:3735
+ #, gcc-internal-format
+ msgid "invalid operands in shift expression"
+ msgstr "ogiltiga operander i skiftuttryck"
+
+-#: tree-cfg.c:3717
++#: tree-cfg.c:3741
+ #, gcc-internal-format
+ msgid "type mismatch in shift expression"
+ msgstr "typfel i skiftuttryck"
+
+-#: tree-cfg.c:3735
++#: tree-cfg.c:3759
+ #, gcc-internal-format
+ msgid "invalid (pointer) operands to plus/minus"
+ msgstr "ogiltiga (pekar)operander till plus/minus"
+
+-#: tree-cfg.c:3748
++#: tree-cfg.c:3772
+ #, gcc-internal-format
+ msgid "invalid operands in pointer plus expression"
+ msgstr "ogiltig operand i pekar-plus-uttryck"
+
+-#: tree-cfg.c:3755
++#: tree-cfg.c:3779
+ #, gcc-internal-format
+ msgid "type mismatch in pointer plus expression"
+ msgstr "typfel i pekar-plus-uttryck"
+
+-#: tree-cfg.c:3774
++#: tree-cfg.c:3798
+ #, gcc-internal-format
+ msgid "invalid operands in conditional expression"
+ msgstr "ogiltiga operander i villkorsuttryck"
+
+-#: tree-cfg.c:3807
++#: tree-cfg.c:3831
+ #, gcc-internal-format
+ msgid "type mismatch in address expression"
+ msgstr "typfel i adressuttryck"
+
+-#: tree-cfg.c:3827
++#: tree-cfg.c:3851
+ #, gcc-internal-format
+ msgid "invalid operands in truth expression"
+ msgstr "ogiltiga operander i sanningsuttryck"
+
+-#: tree-cfg.c:3836
++#: tree-cfg.c:3860
+ #, gcc-internal-format
+ msgid "type mismatch in binary truth expression"
+ msgstr "typfel i binärt sanningsuttryck"
+
+-#: tree-cfg.c:3852
++#: tree-cfg.c:3876
+ #, gcc-internal-format
+ msgid "invalid operand in unary not"
+ msgstr "ogiltig operand i unär icke"
+
+-#: tree-cfg.c:3861
++#: tree-cfg.c:3885
+ #, gcc-internal-format
+ msgid "type mismatch in not expression"
+ msgstr "typfel i icke-uttryck"
+
+-#: tree-cfg.c:3900
++#: tree-cfg.c:3924
+ #, gcc-internal-format
+ msgid "invalid operands in comparison expression"
+ msgstr "ogiltiga operander i jämförelseuttryck"
+
+-#: tree-cfg.c:3917
++#: tree-cfg.c:3941
+ #, gcc-internal-format
+ msgid "type mismatch in comparison expression"
+ msgstr "typfel i jämförelseuttryck"
+
+-#: tree-cfg.c:3947
++#: tree-cfg.c:3971
+ #, gcc-internal-format
+ msgid "non-trivial conversion at assignment"
+ msgstr "icketrivial konvertering vid tilldelning"
+
+-#: tree-cfg.c:3988 tree-cfg.c:4136
++#: tree-cfg.c:4012 tree-cfg.c:4160
+ #, gcc-internal-format
+ msgid "is not a valid GIMPLE statement"
+ msgstr "är inte en giltig GIMPLE-sats"
+
+-#: tree-cfg.c:4015
++#: tree-cfg.c:4039
+ #, gcc-internal-format
+ msgid "invalid operand to switch statement"
+ msgstr "ogiltig operand till switch-sats"
+
+-#: tree-cfg.c:4026
++#: tree-cfg.c:4050
+ #, gcc-internal-format
+ msgid "type error in return expression"
+ msgstr "typfel i returuttryck"
+
+-#: tree-cfg.c:4104
++#: tree-cfg.c:4128
+ #, gcc-internal-format
+ msgid "verify_gimple failed"
+ msgstr "verify_gimple misslyckades"
+
+-#: tree-cfg.c:4156
++#: tree-cfg.c:4180
+ #, gcc-internal-format
+ msgid "statement marked for throw, but doesn%'t"
+ msgstr "sats markerad för att kasta, men gör inte det"
+
+-#: tree-cfg.c:4161
++#: tree-cfg.c:4185
+ #, gcc-internal-format
+ msgid "statement marked for throw in middle of block"
+ msgstr "sats markerad för att kasta i mitten av block"
+
+-#: tree-cfg.c:4232
++#: tree-cfg.c:4256
+ #, gcc-internal-format
+ msgid "unexpected non-tuple"
+ msgstr "oväntad icke-tupel"
+
+-#: tree-cfg.c:4261
++#: tree-cfg.c:4285
+ #, gcc-internal-format
+ msgid "Dead STMT in EH table"
+ msgstr "Dött STMT i EH-tabell"
+
+-#: tree-cfg.c:4295
++#: tree-cfg.c:4319
+ #, gcc-internal-format
+ msgid "bb_for_stmt (phi) is set to a wrong basic block"
+ msgstr "bb_for_stmt (phi) är satt till ett fel grundblock"
+
+-#: tree-cfg.c:4306
++#: tree-cfg.c:4330
+ #, gcc-internal-format
+ msgid "missing PHI def"
+ msgstr "PHI-definition saknas"
+
+-#: tree-cfg.c:4317
++#: tree-cfg.c:4341
+ #, gcc-internal-format
+ msgid "PHI def is not a GIMPLE value"
+ msgstr "PHI def är inte ett GIMPLE-värde"
+
+-#: tree-cfg.c:4333 tree-cfg.c:4359
++#: tree-cfg.c:4357 tree-cfg.c:4383
+ #, gcc-internal-format
+ msgid "incorrect sharing of tree nodes"
+ msgstr "felaktig delning av trädnoder"
+
+-#: tree-cfg.c:4350
++#: tree-cfg.c:4374
+ #, gcc-internal-format
+ msgid "bb_for_stmt (stmt) is set to a wrong basic block"
+ msgstr "bb_for_stmt (stmt) är satt till ett fel grundblock"
+
+-#: tree-cfg.c:4373
++#: tree-cfg.c:4397
+ #, gcc-internal-format
+ msgid "verify_stmts failed"
+ msgstr "verify_stmts misslyckades"
+
+-#: tree-cfg.c:4396
++#: tree-cfg.c:4420
+ #, gcc-internal-format
+ msgid "ENTRY_BLOCK has IL associated with it"
+ msgstr "ENTRY_BLOCK har IL associerat med sig"
+
+-#: tree-cfg.c:4402
++#: tree-cfg.c:4426
+ #, gcc-internal-format
+ msgid "EXIT_BLOCK has IL associated with it"
+ msgstr "EXIT_BLOCK har IL associerat med sig"
+
+-#: tree-cfg.c:4409
++#: tree-cfg.c:4433
+ #, gcc-internal-format
+ msgid "fallthru to exit from bb %d"
+ msgstr "fall igenom till utgång från bb %d"
+
+-#: tree-cfg.c:4431
++#: tree-cfg.c:4455
+ #, gcc-internal-format
+ msgid "nonlocal label "
+ msgstr "ickelokal etikett "
+
+-#: tree-cfg.c:4440 tree-cfg.c:4450 tree-cfg.c:4475
++#: tree-cfg.c:4464 tree-cfg.c:4474 tree-cfg.c:4499
+ #, gcc-internal-format
+ msgid "label "
+ msgstr "etikett "
+
+-#: tree-cfg.c:4465
++#: tree-cfg.c:4489
+ #, gcc-internal-format
+ msgid "control flow in the middle of basic block %d"
+ msgstr "flödesstyrning mitt i grundblock %d"
+
+ # bb -> basic block -> grundblock -> gb
+-#: tree-cfg.c:4495
++#: tree-cfg.c:4519
+ #, gcc-internal-format
+ msgid "fallthru edge after a control statement in bb %d"
+ msgstr "fall igenom-båge efter styrsats i gb %d"
+
+ # bb -> basic block -> grundblock -> gb
+-#: tree-cfg.c:4508
++#: tree-cfg.c:4532
+ #, gcc-internal-format
+ msgid "true/false edge after a non-COND_EXPR in bb %d"
+ msgstr "sant/falskt-båge efter en icke-COND_EXPR i gb %d"
+
+-#: tree-cfg.c:4524
++#: tree-cfg.c:4548
+ #, gcc-internal-format
+ msgid "COND_EXPR with code in branches at the end of bb %d"
+ msgstr "COND_EXPR med kod i grenar vid slutet av gb %d"
+
+-#: tree-cfg.c:4538 tree-cfg.c:4560 tree-cfg.c:4573 tree-cfg.c:4644
++#: tree-cfg.c:4562 tree-cfg.c:4584 tree-cfg.c:4597 tree-cfg.c:4668
+ #, gcc-internal-format
+ msgid "wrong outgoing edge flags at end of bb %d"
+ msgstr "felaktiga utgående bågeflaggor vid slutet av bb %d"
+
+-#: tree-cfg.c:4548
++#: tree-cfg.c:4572
+ #, gcc-internal-format
+ msgid "explicit goto at end of bb %d"
+ msgstr "uttrycklig goto vid slutet av bb %d"
+
+-#: tree-cfg.c:4578
++#: tree-cfg.c:4602
+ #, gcc-internal-format
+ msgid "return edge does not point to exit in bb %d"
+ msgstr "returbåge pekar inte på utgång i bb %d"
+
+-#: tree-cfg.c:4611
++#: tree-cfg.c:4635
+ #, gcc-internal-format
+ msgid "found default case not at end of case vector"
+ msgstr "hittade standardfall som inte var vid slutet av case-vektor"
+
+-#: tree-cfg.c:4617
++#: tree-cfg.c:4641
+ #, gcc-internal-format
+ msgid "case labels not sorted: "
+ msgstr "case-etiketter är inte sorterade: "
+
+-#: tree-cfg.c:4628
++#: tree-cfg.c:4652
+ #, gcc-internal-format
+ msgid "no default case found at end of case vector"
+ msgstr "inget standardfall funnet vid slutet av case-vektor"
+
+-#: tree-cfg.c:4636
++#: tree-cfg.c:4660
+ #, gcc-internal-format
+ msgid "extra outgoing edge %d->%d"
+ msgstr "extra utgående båge %d->%d"
+
+-#: tree-cfg.c:4658
++#: tree-cfg.c:4682
+ #, gcc-internal-format
+ msgid "missing edge %i->%i"
+ msgstr "båge saknas %i->%i"
+
+-#: tree-cfg.c:6941 tree-cfg.c:6945
++#: tree-cfg.c:7025 tree-cfg.c:7029
+ #, gcc-internal-format
+ msgid "%H%<noreturn%> function does return"
+ msgstr "%H%<noreturn%>-funktion returnerar"
+
+-#: tree-cfg.c:6967 tree-cfg.c:6972
++#: tree-cfg.c:7051 tree-cfg.c:7056
+ #, gcc-internal-format
+ msgid "%Hcontrol reaches end of non-void function"
+ msgstr "%Hflödet når slutet på en icke-void-funktion"
+
+-#: tree-cfg.c:7033
++#: tree-cfg.c:7117
+ #, gcc-internal-format
+ msgid "%Jfunction might be possible candidate for attribute %<noreturn%>"
+ msgstr "%Jfunktionen är en möjlig kandidat för attributet %<noreturn%>"
+
+-#: tree-dump.c:933
++#: tree-dump.c:932
+ #, gcc-internal-format
+ msgid "could not open dump file %qs: %s"
+ msgstr "kunde inte öppna dump-fil %qs: %s"
+
+-#: tree-dump.c:1068
++#: tree-dump.c:1067
+ #, gcc-internal-format
+ msgid "ignoring unknown option %q.*s in %<-fdump-%s%>"
+ msgstr "ignorerar okänt alternativ %q.*s i %<-fdump-%s%>"
+
+-#: tree-eh.c:1788
++#: tree-eh.c:1805
+ #, gcc-internal-format
+ msgid "EH edge %i->%i is missing"
+ msgstr "EH-båge %i->%i saknas"
+
+-#: tree-eh.c:1793
++#: tree-eh.c:1810
+ #, gcc-internal-format
+ msgid "EH edge %i->%i miss EH flag"
+ msgstr "EH-bågen %i->%i saknar EH-flagga"
+
+ #. ??? might not be mistake.
+-#: tree-eh.c:1799
++#: tree-eh.c:1816
+ #, gcc-internal-format
+ msgid "EH edge %i->%i has duplicated regions"
+ msgstr "EH-bågen %i->%i har dubblerade regioner"
+
+-#: tree-eh.c:1833
++#: tree-eh.c:1850
+ #, gcc-internal-format
+ msgid "BB %i can not throw but has EH edges"
+ msgstr "BB %i kan inte kasta men har EH-bågar"
+
+-#: tree-eh.c:1840
++#: tree-eh.c:1857
+ #, gcc-internal-format
+ msgid "BB %i last statement has incorrectly set region"
+ msgstr "BB %i:s sista sats har felaktigt satt region"
+
+-#: tree-eh.c:1851
++#: tree-eh.c:1868
+ #, gcc-internal-format
+ msgid "unnecessary EH edge %i->%i"
+ msgstr "onödig EH-båge %i->%i"
+
+-#: tree-inline.c:1830
++#: tree-inline.c:1880
+ #, gcc-internal-format
+ msgid "function %q+F can never be inlined because it uses alloca (override using the always_inline attribute)"
+ msgstr "funktion %q+F kan aldrig inline:as för att den använder alloca (åsidosätt genom att använda attributet always_inline)"
+
+-#: tree-inline.c:1842
++#: tree-inline.c:1892
+ #, gcc-internal-format
+ msgid "function %q+F can never be inlined because it uses setjmp"
+ msgstr "funktion %q+F kan aldrig inline:as eftersom den använder setjmp"
+
+-#: tree-inline.c:1856
++#: tree-inline.c:1906
+ #, gcc-internal-format
+ msgid "function %q+F can never be inlined because it uses variable argument lists"
+ msgstr "funktion %q+F kan aldrig inline:as eftersom den använder variabel argumentlista"
+
+-#: tree-inline.c:1867
++#: tree-inline.c:1917
+ #, gcc-internal-format
+ msgid "function %q+F can never be inlined because it uses setjmp-longjmp exception handling"
+ msgstr "funktion %q+F kan aldrig inline:as eftersom den använder setjmp-lonjgmp-undantagshantering"
+
+-#: tree-inline.c:1874
++#: tree-inline.c:1924
+ #, gcc-internal-format
+ msgid "function %q+F can never be inlined because it uses non-local goto"
+ msgstr "funktion %q+F kan aldrig inline:as eftersom den använder icke-lokala goto"
+
+-#: tree-inline.c:1885
++#: tree-inline.c:1935
+ #, gcc-internal-format
+ msgid "function %q+F can never be inlined because it uses __builtin_return or __builtin_apply_args"
+ msgstr "funktion %q+F kan aldrig inline:as eftersom den använder __builtin_return eller __builtin_apply_args"
+
+-#: tree-inline.c:1904
++#: tree-inline.c:1954
+ #, gcc-internal-format
+ msgid "function %q+F can never be inlined because it contains a computed goto"
+ msgstr "funktion %q+F kan aldrig inline:as eftersom den innehåller ett beräknat goto"
+
+-#: tree-inline.c:1918
++#: tree-inline.c:1968
+ #, gcc-internal-format
+ msgid "function %q+F can never be inlined because it receives a non-local goto"
+ msgstr "funktion %q+F kan aldrig inline:as eftersom den tar emot ett icke-lokalt goto"
+
+-#: tree-inline.c:1943
++#: tree-inline.c:1993
+ #, gcc-internal-format
+ msgid "function %q+F can never be inlined because it uses variable sized variables"
+ msgstr "funktion %q+F kan aldrig inline:as eftersom den använder varialer med variabel storlek"
+
+-#: tree-inline.c:2005
++#: tree-inline.c:2015
+ #, gcc-internal-format
++msgid "function %q+F can never be inlined because it saves address of local label in a static variable"
++msgstr "funktion %q+F kan aldrig inline:as eftersom den sparar adressen av en lokal etikett i en statisk variabel"
++
++#: tree-inline.c:2091
++#, gcc-internal-format
+ msgid "function %q+F can never be inlined because it is suppressed using -fno-inline"
+ msgstr "funktionen %q+F kan aldrig vara inline eftersom det stängs av av -fno-inline"
+
+-#: tree-inline.c:2019
++#: tree-inline.c:2105
+ #, gcc-internal-format
+ msgid "function %q+F can never be inlined because it uses attributes conflicting with inlining"
+ msgstr "funktionen %q+F kan aldrig vara inline eftersom den använder attribut som står i konflikt med inline"
+
+-#: tree-inline.c:2588 tree-inline.c:2598
++#: tree-inline.c:2674 tree-inline.c:2684
+ #, gcc-internal-format
+ msgid "inlining failed in call to %q+F: %s"
+ msgstr "inline:ing misslyckades i anrop av %q+F: %s"
+
+-#: tree-inline.c:2589 tree-inline.c:2600
++#: tree-inline.c:2675 tree-inline.c:2686
+ #, gcc-internal-format
+ msgid "called from here"
+ msgstr "anropad härifrån"
+
+-#: tree-mudflap.c:860
++#: tree-mudflap.c:864
+ #, gcc-internal-format
+ msgid "mudflap checking not yet implemented for ARRAY_RANGE_REF"
+ msgstr "mudflap-kontroll ännu inte implementerad för ARRAY_RANGE_REF"
+
+-#: tree-mudflap.c:1044
++#: tree-mudflap.c:1050
+ #, gcc-internal-format
+ msgid "mudflap cannot track %qs in stub function"
+ msgstr "mudflap kan inte följa %qs i subbfunktion"
+
+-#: tree-mudflap.c:1272
++#: tree-mudflap.c:1279
+ #, gcc-internal-format
+ msgid "mudflap cannot track unknown size extern %qs"
+ msgstr "mudflap kan inte följa extern %qs av okänd storlek"
+@@ -23642,33 +23636,33 @@
+ msgid "size of return value of %q+D is larger than %wd bytes"
+ msgstr "storleken på returvärdet från %q+D är större än %wd byte"
+
+-#: tree-outof-ssa.c:637 tree-outof-ssa.c:688 tree-ssa-coalesce.c:936
+-#: tree-ssa-coalesce.c:951 tree-ssa-coalesce.c:1163 tree-ssa-live.c:1043
++#: tree-outof-ssa.c:638 tree-outof-ssa.c:689 tree-ssa-coalesce.c:936
++#: tree-ssa-coalesce.c:951 tree-ssa-coalesce.c:1163 tree-ssa-live.c:1053
+ #, gcc-internal-format
+ msgid "SSA corruption"
+ msgstr "trasigt i SSA"
+
+-#: tree-outof-ssa.c:1105
++#: tree-outof-ssa.c:1263
+ #, gcc-internal-format
+ msgid " Pending stmts not issued on PRED edge (%d, %d)\n"
+ msgstr " Väntande satser inte utmatade på PRED-båge (%d, %d)\n"
+
+-#: tree-outof-ssa.c:1111
++#: tree-outof-ssa.c:1269
+ #, gcc-internal-format
+ msgid " Pending stmts not issued on SUCC edge (%d, %d)\n"
+ msgstr " Väntande satser inte utmatade på SUCC-båge (%d, %d)\n"
+
+-#: tree-outof-ssa.c:1118
++#: tree-outof-ssa.c:1276
+ #, gcc-internal-format
+ msgid " Pending stmts not issued on ENTRY edge (%d, %d)\n"
+ msgstr " Väntande satser inte utmatade på ENTRY-båge (%d, %d)\n"
+
+-#: tree-outof-ssa.c:1124
++#: tree-outof-ssa.c:1282
+ #, gcc-internal-format
+ msgid " Pending stmts not issued on EXIT edge (%d, %d)\n"
+ msgstr " Väntande satser inte utmatade på EXIT-båge (%d, %d)\n"
+
+-#: tree-profile.c:351
++#: tree-profile.c:356
+ #, gcc-internal-format
+ msgid "unimplemented functionality"
+ msgstr "oimplementerad funktionalitet"
+@@ -23858,154 +23852,159 @@
+ msgid "verify_ssa failed"
+ msgstr "verify_ssa misslyckades"
+
+-#: tree-ssa.c:1284
++#: tree-ssa.c:1293
+ #, gcc-internal-format
+ msgid "%J%qD was declared here"
+ msgstr "%J%qD deklarerades här"
+
+ #. We only do data flow with SSA_NAMEs, so that's all we
+ #. can warn about.
+-#: tree-ssa.c:1302
++#: tree-ssa.c:1311
+ #, gcc-internal-format
+ msgid "%H%qD is used uninitialized in this function"
+ msgstr "%H%qD används oinitierad i denna funktion"
+
+-#: tree-ssa.c:1340
++#: tree-ssa.c:1349
+ #, gcc-internal-format
+ msgid "%H%qD may be used uninitialized in this function"
+ msgstr "%H%qD kan användas oinitierad i denna funktion"
+
+-#: tree-vrp.c:4374
++#: tree-vrp.c:4384
+ #, gcc-internal-format
+ msgid "%Harray subscript is outside array bounds"
+ msgstr "%Hvektorindex är utanför vektorgränserna"
+
+-#: tree-vrp.c:4388
++#: tree-vrp.c:4398
+ #, gcc-internal-format
+ msgid "%Harray subscript is above array bounds"
+ msgstr "%Hvektorindex är ovanför vektorgränsen"
+
+-#: tree-vrp.c:4395
++#: tree-vrp.c:4405
+ #, gcc-internal-format
+ msgid "%Harray subscript is below array bounds"
+ msgstr "%Hvektorindex är under vektorgränsen"
+
+-#: tree-vrp.c:5042
++#: tree-vrp.c:5058
+ #, gcc-internal-format
+ msgid "assuming signed overflow does not occur when simplifying conditional to constant"
+ msgstr "antar att teckenspill inte förekommer vid förenkling av villkor till konstant"
+
+-#: tree-vrp.c:5048
++#: tree-vrp.c:5064
+ #, gcc-internal-format
+ msgid "assuming signed overflow does not occur when simplifying conditional"
+ msgstr "antar att teckenspill inte förekommer vid förenkling av villkor"
+
+-#: tree.c:3951
++#: tree.c:3682
+ #, gcc-internal-format
++msgid "ignoring attributes applied to %qT after definition"
++msgstr "ignorerar attribut använda på %qT efter dess definition"
++
++#: tree.c:3966
++#, gcc-internal-format
+ msgid "%q+D already declared with dllexport attribute: dllimport ignored"
+ msgstr "%q+D är redan deklarerad med attributet dllexport: dllimport ignoreras"
+
+-#: tree.c:3963
++#: tree.c:3978
+ #, gcc-internal-format
+ msgid "%q+D redeclared without dllimport attribute after being referenced with dll linkage"
+ msgstr "%q+D omdeklarerad utan attributet dllimport efter att ha refererats med länkklass dll"
+
+-#: tree.c:3979
++#: tree.c:3994
+ #, gcc-internal-format
+ msgid "%q+D redeclared without dllimport attribute: previous dllimport ignored"
+ msgstr "%q+D omdeklarerades utan attributet dllimport: tidigare dllimport ignoreras"
+
+-#: tree.c:4038 tree.c:4050 config/darwin.c:1458 config/arm/arm.c:3099
+-#: config/arm/arm.c:3127 config/avr/avr.c:4598 config/h8300/h8300.c:5281
+-#: config/h8300/h8300.c:5305 config/i386/i386.c:3056 config/i386/i386.c:22515
++#: tree.c:4053 tree.c:4065 config/darwin.c:1460 config/arm/arm.c:3099
++#: config/arm/arm.c:3127 config/avr/avr.c:4638 config/h8300/h8300.c:5281
++#: config/h8300/h8300.c:5305 config/i386/i386.c:3087 config/i386/i386.c:22599
+ #: config/ia64/ia64.c:586 config/m68hc11/m68hc11.c:1118
+-#: config/rs6000/rs6000.c:19657 config/sh/symbian.c:408
++#: config/rs6000/rs6000.c:19874 config/sh/symbian.c:408
+ #: config/sh/symbian.c:415
+ #, gcc-internal-format
+ msgid "%qs attribute ignored"
+ msgstr "attributet %qs ignorerat"
+
+-#: tree.c:4066
++#: tree.c:4081
+ #, gcc-internal-format
+ msgid "inline function %q+D declared as dllimport: attribute ignored"
+ msgstr "inline-funktionen %q+D deklarerades som dllimport: attributet ignorerat"
+
+-#: tree.c:4074
++#: tree.c:4089
+ #, gcc-internal-format
+ msgid "function %q+D definition is marked dllimport"
+ msgstr "funktionsdefinition %q+D är markerad dllimport"
+
+-#: tree.c:4082 config/sh/symbian.c:430
++#: tree.c:4097 config/sh/symbian.c:430
+ #, gcc-internal-format
+ msgid "variable %q+D definition is marked dllimport"
+ msgstr "variabeldefinition %q+D är markerad dllimport"
+
+-#: tree.c:4105 config/sh/symbian.c:505
++#: tree.c:4120 config/sh/symbian.c:505
+ #, gcc-internal-format
+ msgid "external linkage required for symbol %q+D because of %qs attribute"
+ msgstr "extern länkklass krävs för symbol %q+D på grund av attributet %qs"
+
+-#: tree.c:4119
++#: tree.c:4134
+ #, gcc-internal-format
+ msgid "%qs implies default visibility, but %qD has already been declared with a different visibility"
+ msgstr "%qs implicerar standardsynlighet, men %qD har redan deklarerats med annan synlighet"
+
+-#: tree.c:5632
++#: tree.c:5648
+ #, gcc-internal-format
+ msgid "arrays of functions are not meaningful"
+ msgstr "vektorer av funktioner är inte meningsfulla"
+
+-#: tree.c:5785
++#: tree.c:5801
+ #, gcc-internal-format
+ msgid "function return type cannot be function"
+ msgstr "funktionsreturtyp kan inte vara funktion"
+
+-#: tree.c:6802 tree.c:6887 tree.c:6948
++#: tree.c:6818 tree.c:6903 tree.c:6964
+ #, gcc-internal-format
+ msgid "tree check: %s, have %s in %s, at %s:%d"
+ msgstr "trädkontroll: %s, har %s i %s, vid %s:%d"
+
+-#: tree.c:6839
++#: tree.c:6855
+ #, gcc-internal-format
+ msgid "tree check: expected none of %s, have %s in %s, at %s:%d"
+ msgstr "trädkontroll: förväntade ingen av %s, har %s i %s, vid %s:%d"
+
+-#: tree.c:6852
++#: tree.c:6868
+ #, gcc-internal-format
+ msgid "tree check: expected class %qs, have %qs (%s) in %s, at %s:%d"
+ msgstr "trädkontroll: förväntade klass %qs, har %qs (%s) i %s, vid %s:%d"
+
+-#: tree.c:6901
++#: tree.c:6917
+ #, gcc-internal-format
+ msgid "tree check: did not expect class %qs, have %qs (%s) in %s, at %s:%d"
+ msgstr "trädkontroll: klass %qs förväntades inte, har %qs (%s) i %s, vid %s:%d"
+
+-#: tree.c:6914
++#: tree.c:6930
+ #, gcc-internal-format
+ msgid "tree check: expected omp_clause %s, have %s in %s, at %s:%d"
+ msgstr "trädkontroll: omp_clause %s förväntades, har %s i %s, vid %s:%d"
+
+-#: tree.c:6974
++#: tree.c:6990
+ #, gcc-internal-format
+ msgid "tree check: expected tree that contains %qs structure, have %qs in %s, at %s:%d"
+ msgstr "trädkontroll: förväntade träd som innehåller posten %qs, har %qs i %s, vid %s:%d"
+
+-#: tree.c:6988
++#: tree.c:7004
+ #, gcc-internal-format
+ msgid "tree check: accessed elt %d of tree_vec with %d elts in %s, at %s:%d"
+ msgstr "trädkontroll: använde element %d av tree_vec med %d element i %s, vid %s:%d"
+
+-#: tree.c:7000
++#: tree.c:7016
+ #, gcc-internal-format
+ msgid "tree check: accessed elt %d of phi_node with %d elts in %s, at %s:%d"
+ msgstr "trädkontroll: använde element %d av phi_node med %d element i %s, vid %s:%d"
+
+-#: tree.c:7013
++#: tree.c:7029
+ #, gcc-internal-format
+ msgid "tree check: accessed operand %d of %s with %d operands in %s, at %s:%d"
+ msgstr "trädkontroll: använde operand %d av %s med %d operander i %s, vid %s:%d"
+
+-#: tree.c:7026
++#: tree.c:7042
+ #, gcc-internal-format
+ msgid "tree check: accessed operand %d of omp_clause %s with %d operands in %s, at %s:%d"
+ msgstr "trädkontroll: använde operand %d av omp_clause %s med %d operander i %s, vid %s:%d"
+@@ -24257,17 +24256,17 @@
+ msgid "Unknown value %qs of -mmacosx-version-min"
+ msgstr "Okänt värde %qs till -mmacosx-version-min"
+
+-#: config/darwin.c:1431
++#: config/darwin.c:1433
+ #, gcc-internal-format
+ msgid "%<%s%> 2.95 vtable-compatibility attribute applies only when compiling a kext"
+ msgstr "%<%s%> 2.95-vtable-kompatibilitetsattribut gäller endast vid kompilering av en kext"
+
+-#: config/darwin.c:1438
++#: config/darwin.c:1440
+ #, gcc-internal-format
+ msgid "%<%s%> 2.95 vtable-compatibility attribute applies only to C++ classes"
+ msgstr "%<%s%> 2.95-vtable-kompatibilitetsattribut gäller endast för C++-klasser"
+
+-#: config/darwin.c:1563
++#: config/darwin.c:1565
+ #, gcc-internal-format
+ msgid "internal and protected visibility attributes not supported in this configuration; ignored"
+ msgstr "synlighetsattributen internal och protected stöds inte för denna konfiguration, ignoreras"
+@@ -24363,7 +24362,7 @@
+ msgid "profiler support for WindISS"
+ msgstr "profileringsstöd för WindISS"
+
+-#: config/alpha/alpha.c:232 config/rs6000/rs6000.c:1990
++#: config/alpha/alpha.c:232 config/rs6000/rs6000.c:2020
+ #, gcc-internal-format
+ msgid "bad value %qs for -mtls-size switch"
+ msgstr "felaktigt värde %qs till flaggan -mtls-size"
+@@ -24438,18 +24437,18 @@
+ msgid "bad value %qs for -mmemory-latency"
+ msgstr "felaktigt värde %qs till flaggan -memory-latency"
+
+-#: config/alpha/alpha.c:6514 config/alpha/alpha.c:6517 config/s390/s390.c:8279
+-#: config/s390/s390.c:8282
++#: config/alpha/alpha.c:6522 config/alpha/alpha.c:6525 config/s390/s390.c:8335
++#: config/s390/s390.c:8338
+ #, gcc-internal-format
+ msgid "bad builtin fcode"
+ msgstr "felaktig inbyggd fcode"
+
+-#: config/arc/arc.c:388
++#: config/arc/arc.c:392
+ #, gcc-internal-format
+ msgid "argument of %qs attribute is not a string constant"
+ msgstr "argumentet till attributet %qs är inte en strängkonstant"
+
+-#: config/arc/arc.c:396
++#: config/arc/arc.c:400
+ #, gcc-internal-format
+ msgid "argument of %qs attribute is not \"ilink1\" or \"ilink2\""
+ msgstr "argumentet till attributet %qs är inte \"ilink1\" eller \"ilink2\""
+@@ -24459,7 +24458,7 @@
+ msgid "switch -mcpu=%s conflicts with -march= switch"
+ msgstr "flagga -mcpu=%s står i konflikt med flagga -march="
+
+-#: config/arm/arm.c:1060 config/rs6000/rs6000.c:1504 config/sparc/sparc.c:761
++#: config/arm/arm.c:1060 config/rs6000/rs6000.c:1522 config/sparc/sparc.c:764
+ #, gcc-internal-format
+ msgid "bad value (%s) for %s switch"
+ msgstr "ogiltigt värde (%s) till flagga %s"
+@@ -24599,14 +24598,13 @@
+ msgid "unable to use '%s' for PIC register"
+ msgstr "kan inte använda \"%s\" som PIC-register"
+
+-#: config/arm/arm.c:3067 config/arm/arm.c:3085 config/avr/avr.c:4618
+-#: config/avr/avr.c:4660 config/bfin/bfin.c:4778 config/c4x/c4x.c:4071
+-#: config/h8300/h8300.c:5257 config/i386/i386.c:3009
+-#: config/m68hc11/m68hc11.c:1155 config/m68k/m68k.c:741
+-#: config/mcore/mcore.c:3032 config/mips/mips.c:1151 config/mips/mips.c:1153
+-#: config/mt/mt.c:1275 config/rs6000/rs6000.c:19583 config/sh/sh.c:7984
+-#: config/sh/sh.c:8005 config/sh/sh.c:8028 config/stormy16/stormy16.c:2252
+-#: config/v850/v850.c:2048
++#: config/arm/arm.c:3067 config/arm/arm.c:3085 config/avr/avr.c:4658
++#: config/avr/avr.c:4700 config/bfin/bfin.c:4881 config/h8300/h8300.c:5257
++#: config/i386/i386.c:3040 config/m68hc11/m68hc11.c:1155
++#: config/m68k/m68k.c:741 config/mcore/mcore.c:3032 config/mips/mips.c:1151
++#: config/mips/mips.c:1153 config/mt/mt.c:1275 config/rs6000/rs6000.c:19800
++#: config/sh/sh.c:7987 config/sh/sh.c:8008 config/sh/sh.c:8031
++#: config/stormy16/stormy16.c:2225 config/v850/v850.c:2048
+ #, gcc-internal-format
+ msgid "%qs attribute only applies to functions"
+ msgstr "attributet %qs fungerar bara på funktioner"
+@@ -24628,7 +24626,7 @@
+ msgstr "väljare måste vara en omedelbar"
+
+ #. @@@ better error message
+-#: config/arm/arm.c:15839 config/i386/i386.c:20651 config/i386/i386.c:20685
++#: config/arm/arm.c:15839 config/i386/i386.c:20735 config/i386/i386.c:20769
+ #, gcc-internal-format
+ msgid "mask must be an immediate"
+ msgstr "mask måste vara en omedelbar"
+@@ -24653,222 +24651,187 @@
+ msgid "static variable %q+D is marked dllimport"
+ msgstr "statisk variabel %q+D är markerad som dllimport"
+
+-#: config/avr/avr.c:690
++#: config/avr/avr.c:718
+ #, gcc-internal-format
+ msgid "large frame pointer change (%d) with -mtiny-stack"
+ msgstr "stor förändring av rampekare (%d) med -mtiny-stack"
+
+-#: config/avr/avr.c:4591
++#: config/avr/avr.c:4631
+ #, gcc-internal-format
+ msgid "only initialized variables can be placed into program memory area"
+ msgstr "bara initierade variabler kan placeras i programminnesområdet"
+
+-#: config/avr/avr.c:4635
++#: config/avr/avr.c:4675
+ #, gcc-internal-format
+ msgid "%qs appears to be a misspelled interrupt handler"
+ msgstr "%qs verkar vara en felstavad avbrottshanterare"
+
+-#: config/avr/avr.c:4643
++#: config/avr/avr.c:4683
+ #, gcc-internal-format
+ msgid "%qs appears to be a misspelled signal handler"
+ msgstr "%qs verkar vara en felstavad signalhanterare"
+
+-#: config/avr/avr.c:4751
++#: config/avr/avr.c:4791
+ #, gcc-internal-format
+ msgid "only uninitialized variables can be placed in the .noinit section"
+ msgstr "bara oinitierade variabler kan placeras i sektionen .noinit"
+
+-#: config/avr/avr.c:4765
++#: config/avr/avr.c:4805
+ #, gcc-internal-format
+ msgid "MCU %qs supported for assembler only"
+ msgstr "MCU %qs stöds endast i assembler"
+
+-#: config/avr/avr.h:692
++#: config/avr/avr.h:731
+ #, gcc-internal-format
+ msgid "trampolines not supported"
+ msgstr "trampoliner stöds ej"
+
+-#: config/bfin/bfin.c:2259 config/m68k/m68k.c:488
++#: config/bfin/bfin.c:2352 config/m68k/m68k.c:488
+ #, gcc-internal-format
+ msgid "-mshared-library-id=%s is not between 0 and %d"
+ msgstr "-mshared-library-id=%s är inte mellan 0 och %d"
+
+-#: config/bfin/bfin.c:2279
++#: config/bfin/bfin.c:2372
+ #, gcc-internal-format
+ msgid "-mcpu=%s is not valid"
+ msgstr "-mcpu=%s är inte giltigt"
+
+-#: config/bfin/bfin.c:2315
++#: config/bfin/bfin.c:2410
+ #, gcc-internal-format
+ msgid "-mcpu=%s has invalid silicon revision"
+ msgstr "-mcpu=%s har ogiltig kiselversion"
+
+-#: config/bfin/bfin.c:2332
++#: config/bfin/bfin.c:2427
+ #, gcc-internal-format
+ msgid "bf561 support is incomplete yet."
+ msgstr "bf561-stödet är ännu ofullständigt."
+
+-#: config/bfin/bfin.c:2372
++#: config/bfin/bfin.c:2470
+ #, gcc-internal-format
+ msgid "-mshared-library-id= specified without -mid-shared-library"
+ msgstr "-mshared-library-id= angiven utan -mid-shared-library"
+
+-#: config/bfin/bfin.c:2378
++#: config/bfin/bfin.c:2473
+ #, gcc-internal-format
+ msgid "Can't use multiple stack checking methods together."
+ msgstr "Det går inte att använda flera stackkontrollmetoder tillsammans."
+
+-#: config/bfin/bfin.c:2381
++#: config/bfin/bfin.c:2476
+ #, gcc-internal-format
+ msgid "ID shared libraries and FD-PIC mode can't be used together."
+ msgstr "ID-delade bibliotek och FD-PIC-läget inte användas tillsammans"
+
+-#: config/bfin/bfin.c:2386 config/m68k/m68k.c:582
++#: config/bfin/bfin.c:2481 config/m68k/m68k.c:582
+ #, gcc-internal-format
+ msgid "cannot specify both -msep-data and -mid-shared-library"
+ msgstr "det går inte att ange både -msep-data och -mid-shared-library"
+
+-#: config/bfin/bfin.c:4783
++#: config/bfin/bfin.c:4886
+ #, gcc-internal-format
+ msgid "multiple function type attributes specified"
+ msgstr "flera funktionstypsattribut angivna"
+
+-#: config/bfin/bfin.c:4839 config/bfin/bfin.c:4868 config/spu/spu.c:2976
++#: config/bfin/bfin.c:4942 config/bfin/bfin.c:4971 config/spu/spu.c:2965
+ #, gcc-internal-format
+ msgid "`%s' attribute only applies to functions"
+ msgstr "attributet \"%s\" är bara tillämpbart på funktioner"
+
+-#: config/bfin/bfin.c:4850
++#: config/bfin/bfin.c:4953
+ #, gcc-internal-format
+ msgid "can't apply both longcall and shortcall attributes to the same function"
+ msgstr "det går inte att tillämpa både attributet longcall och shortcall på samma funktion"
+
+-#: config/bfin/bfin.c:4900
++#: config/bfin/bfin.c:5003
+ #, gcc-internal-format
+ msgid "`%s' attribute only applies to variables"
+ msgstr "attributet \"%s\" är bara tillämpbart på variabler"
+
+-#: config/bfin/bfin.c:4907
++#: config/bfin/bfin.c:5010
+ #, gcc-internal-format
+ msgid "`%s' attribute cannot be specified for local variables"
+ msgstr "attributet \"%s\" kan inte anges för lokala variabler"
+
+-#: config/c4x/c4x-c.c:68
+-#, gcc-internal-format
+-msgid "missing '(' after '#pragma %s' - ignored"
+-msgstr "\"(\" saknas efter \"pragma %s\" - ignoreras"
+-
+-#: config/c4x/c4x-c.c:71
+-#, gcc-internal-format
+-msgid "missing function name in '#pragma %s' - ignored"
+-msgstr "funktionsnamn saknas i \"pragma %s\" - ignoreras"
+-
+-#: config/c4x/c4x-c.c:76
+-#, gcc-internal-format
+-msgid "malformed '#pragma %s' - ignored"
+-msgstr "felformaterat \"#pragma %s\" - ignoreras"
+-
+-#: config/c4x/c4x-c.c:78
+-#, gcc-internal-format
+-msgid "missing section name in '#pragma %s' - ignored"
+-msgstr "sektionsnamn saknas i \"pragma %s\" - ignoreras"
+-
+-#: config/c4x/c4x-c.c:83
+-#, gcc-internal-format
+-msgid "missing ')' for '#pragma %s' - ignored"
+-msgstr "\")\" saknas till \"pragma %s\" - ignoreras"
+-
+-#: config/c4x/c4x-c.c:86
+-#, gcc-internal-format
+-msgid "junk at end of '#pragma %s'"
+-msgstr "skräp vid slutet av \"#pragma %s\""
+-
+-#: config/c4x/c4x.c:859
+-#, gcc-internal-format
+-msgid "ISR %s requires %d words of local vars, max is 32767"
+-msgstr "ISR %s kräver %d ord av lokala variabler, max är 32767"
+-
+ #. This function is for retrieving a part of an instruction name for
+ #. an operator, for immediate output. If that ever happens for
+ #. MULT, we need to apply TARGET_MUL_BUG in the caller. Make sure
+ #. we notice.
+-#: config/cris/cris.c:434
++#: config/cris/cris.c:447
+ #, gcc-internal-format
+ msgid "MULT case in cris_op_str"
+ msgstr "MULT-fall i cris_op_str"
+
+-#: config/cris/cris.c:811
++#: config/cris/cris.c:837
+ #, gcc-internal-format
+ msgid "invalid use of ':' modifier"
+ msgstr "ogiltig användning av \":\"-modifierare"
+
+-#: config/cris/cris.c:983
++#: config/cris/cris.c:1024
+ #, gcc-internal-format
+ msgid "internal error: bad register: %d"
+ msgstr "internt fel: felaktigt register: %d"
+
+-#: config/cris/cris.c:1524
++#: config/cris/cris.c:1586
+ #, gcc-internal-format
+ msgid "internal error: sideeffect-insn affecting main effect"
+ msgstr "internt fel: sidoeffektinstruktion påverkar huvudeffekten"
+
+-#: config/cris/cris.c:1548
++#: config/cris/cris.c:1683
+ #, gcc-internal-format
+ msgid "unknown cc_attr value"
+ msgstr "okänt cc_attr-värde"
+
+ #. If we get here, the caller got its initial tests wrong.
+-#: config/cris/cris.c:1901
++#: config/cris/cris.c:2040
+ #, gcc-internal-format
+ msgid "internal error: cris_side_effect_mode_ok with bad operands"
+ msgstr "internt fel: cris_side_effect_mode_ok med felaktiga operander"
+
+-#: config/cris/cris.c:2104
++#: config/cris/cris.c:2332
+ #, gcc-internal-format
+ msgid "-max-stackframe=%d is not usable, not between 0 and %d"
+ msgstr "-max-stackframe=%d är inte användbar, inte mellan 0 och %d"
+
+-#: config/cris/cris.c:2132
++#: config/cris/cris.c:2360
+ #, gcc-internal-format
+ msgid "unknown CRIS version specification in -march= or -mcpu= : %s"
+ msgstr "okänd CRIS-version angiven i -march= eller -mcpu= : %s"
+
+-#: config/cris/cris.c:2168
++#: config/cris/cris.c:2396
+ #, gcc-internal-format
+ msgid "unknown CRIS cpu version specification in -mtune= : %s"
+ msgstr "okänd CRIS-cpu-version angiven i -mtune= : %s"
+
+-#: config/cris/cris.c:2186
++#: config/cris/cris.c:2417
+ #, gcc-internal-format
+ msgid "-fPIC and -fpic are not supported in this configuration"
+ msgstr "-fPIC och -fpic stöds inte i denna konfiguration"
+
+-#: config/cris/cris.c:2201
++#: config/cris/cris.c:2432
+ #, gcc-internal-format
+ msgid "that particular -g option is invalid with -maout and -melinux"
+ msgstr "den speciella flaggan -g är ogiltig med -maout och -melinux"
+
+-#: config/cris/cris.c:2414
++#: config/cris/cris.c:2658
+ #, gcc-internal-format
+ msgid "Unknown src"
+ msgstr "Okänd källa"
+
+-#: config/cris/cris.c:2475
++#: config/cris/cris.c:2719
+ #, gcc-internal-format
+ msgid "Unknown dest"
+ msgstr "Okänd destination"
+
+-#: config/cris/cris.c:2760
++#: config/cris/cris.c:3004
+ #, gcc-internal-format
+ msgid "stackframe too big: %d bytes"
+ msgstr "för stor stackram: %d byte"
+
+-#: config/cris/cris.c:3213 config/cris/cris.c:3240
++#: config/cris/cris.c:3498 config/cris/cris.c:3526
+ #, gcc-internal-format
+ msgid "expand_binop failed in movsi got"
+ msgstr "expand_binop misslyckades i movsi got"
+
+-#: config/cris/cris.c:3321
++#: config/cris/cris.c:3607
+ #, gcc-internal-format
+ msgid "emitting PIC operand, but PIC register isn't set up"
+ msgstr "Skickar ut PIC-operand, men PIC-registret är inte uppsatt"
+@@ -24922,7 +24885,7 @@
+ #. See cris.c for TARGET_ASM_FUNCTION_PROLOGUE and
+ #. TARGET_ASM_FUNCTION_EPILOGUE.
+ #. Node: Profiling
+-#: config/cris/cris.h:868
++#: config/cris/cris.h:948
+ #, gcc-internal-format
+ msgid "no FUNCTION_PROFILER for CRIS"
+ msgstr "ingen FUNCTION_PROFILER för CRIS"
+@@ -24937,62 +24900,62 @@
+ msgid "Trampoline support for CRX"
+ msgstr "Trampolinstöd för CRX"
+
+-#: config/frv/frv.c:8622
++#: config/frv/frv.c:8626
+ #, gcc-internal-format
+ msgid "accumulator is not a constant integer"
+ msgstr "ackumulatorn är inte ett konstant heltal"
+
+-#: config/frv/frv.c:8627
++#: config/frv/frv.c:8631
+ #, gcc-internal-format
+ msgid "accumulator number is out of bounds"
+ msgstr "ackumulatortalet är utanför gränsen"
+
+-#: config/frv/frv.c:8638
++#: config/frv/frv.c:8642
+ #, gcc-internal-format
+ msgid "inappropriate accumulator for %qs"
+ msgstr "felaktig ackumulator för %qs"
+
+-#: config/frv/frv.c:8715
++#: config/frv/frv.c:8719
+ #, gcc-internal-format
+ msgid "invalid IACC argument"
+ msgstr "ogiltigt IACC-argument"
+
+-#: config/frv/frv.c:8738
++#: config/frv/frv.c:8742
+ #, gcc-internal-format
+ msgid "%qs expects a constant argument"
+ msgstr "%qs förväntar sig ett konstant argument"
+
+-#: config/frv/frv.c:8743
++#: config/frv/frv.c:8747
+ #, gcc-internal-format
+ msgid "constant argument out of range for %qs"
+ msgstr "konstant argument utanför intervallet för %qs"
+
+-#: config/frv/frv.c:9224
++#: config/frv/frv.c:9228
+ #, gcc-internal-format
+ msgid "media functions are not available unless -mmedia is used"
+ msgstr "mediafunktioner är inte tillgängliga om inte -mmedia används"
+
+-#: config/frv/frv.c:9236
++#: config/frv/frv.c:9240
+ #, gcc-internal-format
+ msgid "this media function is only available on the fr500"
+ msgstr "denna mediafunktion är endast tillgänglig i fr500"
+
+-#: config/frv/frv.c:9264
++#: config/frv/frv.c:9268
+ #, gcc-internal-format
+ msgid "this media function is only available on the fr400 and fr550"
+ msgstr "denna mediafunktion är endast tillgänglig i fr400 och fr500"
+
+-#: config/frv/frv.c:9283
++#: config/frv/frv.c:9287
+ #, gcc-internal-format
+ msgid "this builtin function is only available on the fr405 and fr450"
+ msgstr "denna inbyggda funktion är endast tillgänglig i fr405 och fr450"
+
+-#: config/frv/frv.c:9292
++#: config/frv/frv.c:9296
+ #, gcc-internal-format
+ msgid "this builtin function is only available on the fr500 and fr550"
+ msgstr "denna inbyggda funktion är endast tillgänglig i fr500 och fr550"
+
+-#: config/frv/frv.c:9304
++#: config/frv/frv.c:9308
+ #, gcc-internal-format
+ msgid "this builtin function is only available on the fr450"
+ msgstr "denna inbyggda funktion är endast tillgänglig i fr450"
+@@ -25017,312 +24980,317 @@
+ msgid "can't set position in PCH file: %m"
+ msgstr "det går inte att sätta position i PCH-fil: %m"
+
+-#: config/i386/i386.c:2133 config/i386/i386.c:2333
++#: config/i386/i386.c:2158 config/i386/i386.c:2358
+ #, gcc-internal-format
+ msgid "bad value (%s) for -mtune= switch"
+ msgstr "felaktigt värde (%s) till flaggan -mtune="
+
+-#: config/i386/i386.c:2174
++#: config/i386/i386.c:2199
+ #, gcc-internal-format
+ msgid "bad value (%s) for -mstringop-strategy= switch"
+ msgstr "felaktigt värde (%s) till flaggan -mstringop-strategy="
+
+-#: config/i386/i386.c:2177
++#: config/i386/i386.c:2202
+ #, 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."
+
+ # "generic" är bokstavligt argument till flaggan
+-#: config/i386/i386.c:2186
++#: config/i386/i386.c:2211
+ #, gcc-internal-format
+ msgid "generic CPU can be used only for -mtune= switch"
+ msgstr "generic CPU kan användas endast till flaggan -mtune="
+
+-#: config/i386/i386.c:2188 config/i386/i386.c:2297 config/mt/mt.c:804
++#: config/i386/i386.c:2213 config/i386/i386.c:2322 config/mt/mt.c:804
+ #, gcc-internal-format
+ msgid "bad value (%s) for -march= switch"
+ msgstr "felaktigt värde (%s) till flaggan -march="
+
+-#: config/i386/i386.c:2199
++#: config/i386/i386.c:2224
+ #, gcc-internal-format
+ msgid "code model %s does not support PIC mode"
+ msgstr "kodmodellen %s stödjer inte PIC-läge"
+
+-#: config/i386/i386.c:2205 config/sparc/sparc.c:725
++#: config/i386/i386.c:2230 config/sparc/sparc.c:728
+ #, gcc-internal-format
+ msgid "bad value (%s) for -mcmodel= switch"
+ msgstr "felaktigt värde (%s) till flaggan -mcmodel="
+
+-#: config/i386/i386.c:2228
++#: config/i386/i386.c:2253
+ #, gcc-internal-format
+ msgid "bad value (%s) for -masm= switch"
+ msgstr "felaktigt värde (%s) till flaggan -masm="
+
+-#: config/i386/i386.c:2231
++#: config/i386/i386.c:2256
+ #, gcc-internal-format
+ msgid "code model %qs not supported in the %s bit mode"
+ msgstr "kodmodellen %qs stöds inte i %s-bitsläge"
+
+-#: config/i386/i386.c:2234
++#: config/i386/i386.c:2259
+ #, gcc-internal-format
+ msgid "%i-bit mode not compiled in"
+ msgstr "%i-bitsläge inte inkompilerat"
+
+-#: config/i386/i386.c:2245 config/i386/i386.c:2319
++#: config/i386/i386.c:2270 config/i386/i386.c:2344
+ #, 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.c:2351
++#: config/i386/i386.c:2376
+ #, gcc-internal-format
+ msgid "-mregparm is ignored in 64-bit mode"
+ msgstr "-mregparm ignoreras i 64-bitsläge"
+
+-#: config/i386/i386.c:2354
++#: config/i386/i386.c:2379
+ #, gcc-internal-format
+ msgid "-mregparm=%d is not between 0 and %d"
+ msgstr "-mregparm=%d är inte mellan 0 och %d"
+
+-#: config/i386/i386.c:2366
++#: config/i386/i386.c:2391
+ #, gcc-internal-format
+ msgid "-malign-loops is obsolete, use -falign-loops"
+ msgstr "-malign-loops är föråldrat, använd -falign-loops"
+
+-#: config/i386/i386.c:2371 config/i386/i386.c:2384 config/i386/i386.c:2397
++#: config/i386/i386.c:2396 config/i386/i386.c:2409 config/i386/i386.c:2422
+ #, gcc-internal-format
+ msgid "-malign-loops=%d is not between 0 and %d"
+ msgstr "-malign-loops=%d är inte mellan 0 och %d"
+
+-#: config/i386/i386.c:2379
++#: config/i386/i386.c:2404
+ #, gcc-internal-format
+ msgid "-malign-jumps is obsolete, use -falign-jumps"
+ msgstr "-malign-jumps är föråldrat, använd -falign-jumps"
+
+-#: config/i386/i386.c:2392
++#: config/i386/i386.c:2417
+ #, gcc-internal-format
+ msgid "-malign-functions is obsolete, use -falign-functions"
+ msgstr "-malign-functions är föråldrat, använd -falign-functions"
+
+-#: config/i386/i386.c:2425
++#: config/i386/i386.c:2450
+ #, gcc-internal-format
+ msgid "-mbranch-cost=%d is not between 0 and 5"
+ msgstr "-mbranch-cost=%d är inte mellan 0 och 5"
+
+-#: config/i386/i386.c:2433
++#: config/i386/i386.c:2458
+ #, gcc-internal-format
+ msgid "-mlarge-data-threshold=%d is negative"
+ msgstr "-mlarge-data-threshold=%d är negativ"
+
+-#: config/i386/i386.c:2447
++#: config/i386/i386.c:2472
+ #, gcc-internal-format
+ msgid "bad value (%s) for -mtls-dialect= switch"
+ msgstr "felaktigt värde (%s) till flaggan -mtls-dialect="
+
+-#: config/i386/i386.c:2455
++#: config/i386/i386.c:2480
+ #, gcc-internal-format
+ msgid "pc%d is not valid precision setting (32, 64 or 80)"
+ msgstr "pc%d är inte en giltig precisionsinställning (32, 64 eller 80)"
+
+-#: config/i386/i386.c:2471
++#: config/i386/i386.c:2496
+ #, gcc-internal-format
+ msgid "-mrtd is ignored in 64bit mode"
+ msgstr "-mrtd ignoreras i 64-bitsläge"
+
+-#: config/i386/i386.c:2560
++#: config/i386/i386.c:2585
+ #, gcc-internal-format
+ msgid "-mpreferred-stack-boundary=%d is not between %d and 12"
+ msgstr "-mpreferred-stack-boundary=%d är inte mellan %d och 12"
+
+-#: config/i386/i386.c:2569
++#: config/i386/i386.c:2594
+ #, gcc-internal-format
+ msgid "-msseregparm used without SSE enabled"
+ msgstr "-msseregparm använd utan SSE aktiverat"
+
+-#: config/i386/i386.c:2580 config/i386/i386.c:2591
++#: config/i386/i386.c:2605 config/i386/i386.c:2616
+ #, gcc-internal-format
+ msgid "SSE instruction set disabled, using 387 arithmetics"
+ msgstr "instruktionsuppsättningen SSE avaktiverad, använder 387-aritmetik"
+
+-#: config/i386/i386.c:2596
++#: config/i386/i386.c:2621
+ #, gcc-internal-format
+ msgid "387 instruction set disabled, using SSE arithmetics"
+ msgstr "instruktionsuppsättningen 387 avaktiverad, använder SSE-aritmetik"
+
+-#: config/i386/i386.c:2603
++#: config/i386/i386.c:2628
+ #, gcc-internal-format
+ msgid "bad value (%s) for -mfpmath= switch"
+ msgstr "felaktigt värde (%s) till flaggan -mfpmath="
+
+-#: config/i386/i386.c:2616
++#: config/i386/i386.c:2641
+ #, gcc-internal-format
+ msgid "unknown vectorization library ABI type (%s) for -mveclibabi= switch"
+ msgstr "okänt ABI-typ (%s) till vektoriseringsbibliotek för flaggan -mveclibabi="
+
+-#: config/i386/i386.c:2635
++#: config/i386/i386.c:2660
+ #, gcc-internal-format
+ msgid "unwind tables currently require either a frame pointer or -maccumulate-outgoing-args for correctness"
+ msgstr "utrullning av tabeller kräver antingen en rampekare eller -maccumulate-outgoing-args för att bli korrekt"
+
+-#: config/i386/i386.c:3022 config/i386/i386.c:3075
++#: config/i386/i386.c:3053 config/i386/i386.c:3106
+ #, gcc-internal-format
+ msgid "fastcall and regparm attributes are not compatible"
+ msgstr "attributen fastcall och regparm är inte kompatibla"
+
+-#: config/i386/i386.c:3029
++#: config/i386/i386.c:3060
+ #, gcc-internal-format
+ msgid "%qs attribute requires an integer constant argument"
+ msgstr "attributet %qs kräver ett heltalskonstantargument"
+
+-#: config/i386/i386.c:3035
++#: config/i386/i386.c:3066
+ #, gcc-internal-format
+ msgid "argument to %qs attribute larger than %d"
+ msgstr "argument till attributet %qs större än %d"
+
+-#: config/i386/i386.c:3045
++#: config/i386/i386.c:3076
+ #, gcc-internal-format
+ msgid "%s functions limited to %d register parameters"
+ msgstr "%s-funktioner begränsas till %d registerparametrar"
+
+-#: config/i386/i386.c:3067 config/i386/i386.c:3102
++#: config/i386/i386.c:3098 config/i386/i386.c:3133
+ #, gcc-internal-format
+ msgid "fastcall and cdecl attributes are not compatible"
+ msgstr "attributen fastcall och cdecl är inte kompatibla"
+
+-#: config/i386/i386.c:3071
++#: config/i386/i386.c:3102
+ #, gcc-internal-format
+ msgid "fastcall and stdcall attributes are not compatible"
+ msgstr "attributen fastcall och stdcall är inte kompatibla"
+
+-#: config/i386/i386.c:3085 config/i386/i386.c:3098
++#: config/i386/i386.c:3116 config/i386/i386.c:3129
+ #, gcc-internal-format
+ msgid "stdcall and cdecl attributes are not compatible"
+ msgstr "attributen stdcall och cdecl är inte kompatibla"
+
+-#: config/i386/i386.c:3089
++#: config/i386/i386.c:3120
+ #, gcc-internal-format
+ msgid "stdcall and fastcall attributes are not compatible"
+ msgstr "attributen stdcall och fastcall är inte kompatibla"
+
+-#: config/i386/i386.c:3236
++#: config/i386/i386.c:3271
+ #, 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.c:3239
++#: config/i386/i386.c:3274
+ #, 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.c:3925
++#: config/i386/i386.c:3971
+ #, gcc-internal-format
+ msgid "SSE register return with SSE disabled"
+ msgstr "SSE-registerretur med SSE avaktiverat"
+
+-#: config/i386/i386.c:3931
++#: config/i386/i386.c:3977
+ #, gcc-internal-format
+ msgid "SSE register argument with SSE disabled"
+ msgstr "SSE-registerargument med SSE avaktiverat"
+
+-#: config/i386/i386.c:3947
++#: config/i386/i386.c:3993
+ #, gcc-internal-format
+ msgid "x87 register return with x87 disabled"
+ msgstr "x87-registerretur med x87 avaktiverat"
+
+-#: config/i386/i386.c:4265
++#: config/i386/i386.c:4314
+ #, 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.c:4283
++#: config/i386/i386.c:4332
+ #, 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.c:4810
++#: config/i386/i386.c:4859
+ #, 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.c:4820
++#: config/i386/i386.c:4869
+ #, 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.c:6171
++#: config/i386/i386.c:6220
+ #, gcc-internal-format
+ msgid "-mstackrealign ignored for nested functions"
+ msgstr "-mstackrealign ignoreras för nästade funktioner"
+
+-#: config/i386/i386.c:6173
++#: config/i386/i386.c:6222
+ #, gcc-internal-format
+ msgid "%s not supported for nested functions"
+ msgstr "%s stöds inte för nästade funktioner"
+
+-#: config/i386/i386.c:8576
++#: config/i386/i386.c:8631
+ #, gcc-internal-format
+ msgid "extended registers have no high halves"
+ msgstr "utökade register har inga höga halvor"
+
+-#: config/i386/i386.c:8591
++#: config/i386/i386.c:8646
+ #, gcc-internal-format
+ msgid "unsupported operand size for extended register"
+ msgstr "ej stödd operandstorlek för utökat register"
+
+-#: config/i386/i386.c:19610
++#: config/i386/i386.c:19694
+ #, gcc-internal-format
+ msgid "the third argument must be a 4-bit immediate"
+ msgstr "det tredje argumentet måste vara en 4-bitars omedelbar"
+
+-#: config/i386/i386.c:19614
++#: config/i386/i386.c:19698
+ #, gcc-internal-format
+ msgid "the third argument must be an 8-bit immediate"
+ msgstr "det tredje argumentet måste vara en 8-bitars omedelbar"
+
+-#: config/i386/i386.c:19836
++#: config/i386/i386.c:19920
+ #, gcc-internal-format
+ msgid "last argument must be an immediate"
+ msgstr "sista argumentet måste vara en omedelbar"
+
+-#: config/i386/i386.c:19963
++#: config/i386/i386.c:20047
+ #, gcc-internal-format
+ msgid "the second argument must be a 4-bit immediate"
+ msgstr "det andra argumentet måste vara en 4-bitars omedelbar"
+
+-#: config/i386/i386.c:20209
++#: config/i386/i386.c:20293
+ #, gcc-internal-format
+ msgid "the fifth argument must be a 8-bit immediate"
+ msgstr "det femte argumentet måste vara en 8-bitars omedelbar"
+
+-#: config/i386/i386.c:20304
++#: config/i386/i386.c:20388
+ #, gcc-internal-format
+ msgid "the third argument must be a 8-bit immediate"
+ msgstr "det tredje argumentet måste vara en 8-bitars omedelbar"
+
+-#: config/i386/i386.c:20374 config/rs6000/rs6000.c:8133
++#: config/i386/i386.c:20458 config/rs6000/rs6000.c:8240
+ #, gcc-internal-format
+ msgid "selector must be an integer constant in the range 0..%wi"
+ msgstr "selektor måste vara en heltalskonstant i intervallet 0..%wi"
+
+-#: config/i386/i386.c:20774 config/i386/i386.c:20970
++#: config/i386/i386.c:20858 config/i386/i386.c:21054
+ #, gcc-internal-format
+ msgid "shift must be an immediate"
+ msgstr "shift måste vara en omedelbar"
+
+-#: config/i386/i386.c:21033 config/i386/i386.c:21075
++#: config/i386/i386.c:21117 config/i386/i386.c:21159
+ #, gcc-internal-format
+ msgid "index mask must be an immediate"
+ msgstr "index måste vara en omedelbar"
+
+-#: config/i386/i386.c:21038 config/i386/i386.c:21080
++#: config/i386/i386.c:21122 config/i386/i386.c:21164
+ #, gcc-internal-format
+ msgid "length mask must be an immediate"
+ msgstr "längd måste vara en omedelbar"
+
+-#: config/i386/i386.c:22525 config/rs6000/rs6000.c:19666
++#: config/i386/i386.c:22609 config/rs6000/rs6000.c:19883
+ #, gcc-internal-format
+ msgid "%qs incompatible attribute ignored"
+ msgstr "%qs-inkompatibelt attribut ignorerat"
+
++#: config/i386/netware.c:253
++#, gcc-internal-format
++msgid "-fPIC and -fpic are not supported for this target"
++msgstr "-fPIC och -fpic stöds inte för detta mål"
++
+ #: config/i386/winnt-cxx.c:71 config/sh/symbian.c:172
+ #, gcc-internal-format
+ msgid "definition of static data member %q+D of dllimport'd class"
+@@ -25388,57 +25356,57 @@
+ msgid "%Jaddress area attribute cannot be specified for functions"
+ msgstr "%Jadressomrpdesattribut kan inte anges för funktioner"
+
+-#: config/ia64/ia64.c:5126 config/pa/pa.c:347 config/spu/spu.c:3875
++#: config/ia64/ia64.c:5127 config/pa/pa.c:350 config/spu/spu.c:3864
+ #, gcc-internal-format
+ msgid "value of -mfixed-range must have form REG1-REG2"
+ msgstr "värdet av -mfixed-range måste ha formen REG1-REG2"
+
+-#: config/ia64/ia64.c:5153 config/pa/pa.c:374 config/spu/spu.c:3901
++#: config/ia64/ia64.c:5154 config/pa/pa.c:377 config/spu/spu.c:3890
+ #, gcc-internal-format
+ msgid "%s-%s is an empty range"
+ msgstr "%s-%s är ett tomt intervall"
+
+-#: config/ia64/ia64.c:5181
++#: config/ia64/ia64.c:5182
+ #, gcc-internal-format
+ msgid "bad value %<%s%> for -mtls-size= switch"
+ msgstr "felaktigt värde %<%s%> till flaggan -mtls-size="
+
+-#: config/ia64/ia64.c:5209
++#: config/ia64/ia64.c:5210
+ #, gcc-internal-format
+ msgid "bad value %<%s%> for -mtune= switch"
+ msgstr "felaktigt värde %<%s%> till flaggan -mtune="
+
+-#: config/ia64/ia64.c:5228
++#: config/ia64/ia64.c:5229
+ #, gcc-internal-format
+ msgid "not yet implemented: latency-optimized inline square root"
+ msgstr "ännu inte implementerat: latensoptimerad inline:ad kvadratrot"
+
+-#: config/ia64/ia64.c:9950
++#: config/ia64/ia64.c:9951
+ #, gcc-internal-format
+ msgid "version attribute is not a string"
+ msgstr "versionsattributet är inte en sträng"
+
+-#: config/iq2000/iq2000.c:1812
++#: config/iq2000/iq2000.c:1816
+ #, gcc-internal-format
+ msgid "gp_offset (%ld) or end_offset (%ld) is less than zero"
+ msgstr "gp_offset (%ld) eller end_offset (%ld) är mindre än noll"
+
+-#: config/iq2000/iq2000.c:2583
++#: config/iq2000/iq2000.c:2587
+ #, gcc-internal-format
+ msgid "argument %qd is not a constant"
+ msgstr "argumentet %qd är inte en konstant"
+
+-#: config/iq2000/iq2000.c:2885 config/mt/mt.c:349 config/xtensa/xtensa.c:2118
++#: config/iq2000/iq2000.c:2889 config/mt/mt.c:349 config/xtensa/xtensa.c:2124
+ #, gcc-internal-format
+ msgid "PRINT_OPERAND_ADDRESS, null pointer"
+ msgstr "PRINT_OPERAND_ADDRESS, null-pekare"
+
+-#: config/iq2000/iq2000.c:3040
++#: config/iq2000/iq2000.c:3044
+ #, gcc-internal-format
+ msgid "PRINT_OPERAND: Unknown punctuation '%c'"
+ msgstr "PRINT_OPERAND: Okänd interpunktion '%c'"
+
+-#: config/iq2000/iq2000.c:3049 config/xtensa/xtensa.c:1972
++#: config/iq2000/iq2000.c:3053 config/xtensa/xtensa.c:1978
+ #, gcc-internal-format
+ msgid "PRINT_OPERAND null pointer"
+ msgstr "PRINT_OPERAND null-pekare"
+@@ -25463,22 +25431,22 @@
+ msgid "invalid target memregs value '%d'"
+ msgstr "ogiltigt målvärde för memregs \"%d\""
+
+-#: config/m32c/m32c.c:2759
++#: config/m32c/m32c.c:2766
+ #, gcc-internal-format
+ msgid "`%s' attribute is not supported for R8C target"
+ msgstr "attributet \"%s\" stöds inte för denna målarkitekturen R8C"
+
+-#: config/m32c/m32c.c:2767
++#: config/m32c/m32c.c:2774
+ #, gcc-internal-format
+ msgid "`%s' attribute applies only to functions"
+ msgstr "attributet \"%s\" fungerar bara på funktioner"
+
+-#: config/m32c/m32c.c:2775
++#: config/m32c/m32c.c:2782
+ #, gcc-internal-format
+ msgid "`%s' attribute argument not an integer constant"
+ msgstr "attributargument \"%s\" är inte en heltalskonstant"
+
+-#: config/m32c/m32c.c:2784
++#: config/m32c/m32c.c:2791
+ #, gcc-internal-format
+ msgid "`%s' attribute argument should be between 18 to 255"
+ msgstr "attributargument \"%s\" skall vara mellan 18 och 255"
+@@ -25528,7 +25496,7 @@
+ msgid "interrupt_thread is available only on fido"
+ msgstr "interrupt_thread är tillgängligt endast för fido"
+
+-#: config/m68k/m68k.c:1072 config/rs6000/rs6000.c:15014
++#: config/m68k/m68k.c:1072 config/rs6000/rs6000.c:15226
+ #, gcc-internal-format
+ msgid "stack limit expression is not supported"
+ msgstr "stackgränsuttryck stöds inte"
+@@ -25543,114 +25511,114 @@
+ msgid "%qs redeclared with conflicting %qs attributes"
+ msgstr "%qs omdeklarerad med motstridiga %qs-attribut"
+
+-#: config/mips/mips.c:2348
++#: config/mips/mips.c:2382
+ #, gcc-internal-format
+ msgid "MIPS16 TLS"
+ msgstr "MIPS16 TLS"
+
+-#: config/mips/mips.c:5439
++#: config/mips/mips.c:5500
+ #, gcc-internal-format
+ msgid "cannot handle inconsistent calls to %qs"
+ msgstr "kan inte hantera inkonsistenta anrop av %qs"
+
+-#: config/mips/mips.c:10258
++#: config/mips/mips.c:10337
+ #, gcc-internal-format
+ msgid "invalid argument to built-in function"
+ msgstr "ogiltigt argument inbyggd funktion"
+
+-#: config/mips/mips.c:10530
++#: config/mips/mips.c:10609
+ #, gcc-internal-format
+ msgid "built-in function %qs not supported for MIPS16"
+ msgstr "inbyggd funktion %qs stöds inte för MIPS16"
+
+-#: config/mips/mips.c:11679 config/mips/mips.c:12065
++#: config/mips/mips.c:11751 config/mips/mips.c:12137
+ #, gcc-internal-format
+ msgid "MIPS16 PIC"
+ msgstr "MIPS16 PIC"
+
+-#: config/mips/mips.c:11682
++#: config/mips/mips.c:11754
+ #, gcc-internal-format
+ msgid "hard-float MIPS16 code for ABIs other than o32 and o64"
+ msgstr "MIPS16-kod med hårdvaruflyttal för andra ABI:er än o32 och o64"
+
+-#: config/mips/mips.c:11810
++#: config/mips/mips.c:11882
+ #, gcc-internal-format
+ msgid "CPU names must be lower case"
+ msgstr "CPU-namn måste vara med gemener"
+
+-#: config/mips/mips.c:11938
++#: config/mips/mips.c:12010
+ #, gcc-internal-format
+ msgid "%<-%s%> conflicts with the other architecture options, which specify a %s processor"
+ msgstr "%<-%s%> står i konflikt med andra arkitekturflaggor, som anger en %s-processor"
+
+-#: config/mips/mips.c:11954
++#: config/mips/mips.c:12026
+ #, gcc-internal-format
+ msgid "%<-march=%s%> is not compatible with the selected ABI"
+ msgstr "%<-march=%s%> är inte kompatibelt med det valda ABI:et"
+
+-#: config/mips/mips.c:11969
++#: config/mips/mips.c:12041
+ #, gcc-internal-format
+ msgid "%<-mgp64%> used with a 32-bit processor"
+ msgstr "%<-mgp64%> använt med en 32-bitarsprocessor"
+
+-#: config/mips/mips.c:11971
++#: config/mips/mips.c:12043
+ #, gcc-internal-format
+ msgid "%<-mgp32%> used with a 64-bit ABI"
+ msgstr "%<-mgp32%> använt med ett 64-bitars ABI"
+
+-#: config/mips/mips.c:11973
++#: config/mips/mips.c:12045
+ #, gcc-internal-format
+ msgid "%<-mgp64%> used with a 32-bit ABI"
+ msgstr "%<-mgp64%> använt med ett 32-bitars ABI"
+
+-#: config/mips/mips.c:11989 config/mips/mips.c:11991 config/mips/mips.c:12058
++#: config/mips/mips.c:12061 config/mips/mips.c:12063 config/mips/mips.c:12130
+ #, gcc-internal-format
+ msgid "unsupported combination: %s"
+ msgstr "ej stödd kombination: %s"
+
+-#: config/mips/mips.c:11995
++#: config/mips/mips.c:12067
+ #, gcc-internal-format
+ msgid "%<-mgp32%> and %<-mfp64%> can only be combined if the target supports the mfhc1 and mthc1 instructions"
+ msgstr "%<-mgp32%> och %<-mfp64%> kan bara kombineras om målet stödjer instruktionerna mfhc1 och mthc1"
+
+-#: config/mips/mips.c:11998
++#: config/mips/mips.c:12070
+ #, gcc-internal-format
+ msgid "%<-mgp32%> and %<-mfp64%> can only be combined when using the o32 ABI"
+ msgstr "%<-mgp32%> och %<-mfp64%> kan endast kombineras när ABI:et o32 används"
+
+-#: config/mips/mips.c:12052
++#: config/mips/mips.c:12124
+ #, gcc-internal-format
+ msgid "the %qs architecture does not support branch-likely instructions"
+ msgstr "arkitekturen %qs stödjer inte trolig gren-instruktioner"
+
+-#: config/mips/mips.c:12098
++#: config/mips/mips.c:12170
+ #, gcc-internal-format
+ msgid "%<-mno-gpopt%> needs %<-mexplicit-relocs%>"
+ msgstr "%<-mno-gpopt%> behöver %<-mexplicit-relocs%>"
+
+-#: config/mips/mips.c:12106 config/mips/mips.c:12109
++#: config/mips/mips.c:12178 config/mips/mips.c:12181
+ #, gcc-internal-format
+ msgid "cannot use small-data accesses for %qs"
+ msgstr "det går inte att använda smådataåtkomster för %qs"
+
+-#: config/mips/mips.c:12123
++#: config/mips/mips.c:12195
+ #, gcc-internal-format
+ msgid "%<-mips3d%> requires %<-mpaired-single%>"
+ msgstr "%<-mips3d%> kräver %<-mpaired-single%>"
+
+-#: config/mips/mips.c:12132
++#: config/mips/mips.c:12204
+ #, gcc-internal-format
+ msgid "%qs must be used with %qs"
+ msgstr "%qs måste användas tillsammans med %qs"
+
+-#: config/mips/mips.c:12139
++#: config/mips/mips.c:12211
+ #, gcc-internal-format
+ msgid "the %qs architecture does not support paired-single instructions"
+ msgstr "arkitekturen %qs stödjer inte par-enkel-instruktioner"
+
+ #. Output assembler code to FILE to increment profiler label # LABELNO
+ #. for profiling a function entry.
+-#: config/mips/mips.h:2110
++#: config/mips/mips.h:2111
+ #, gcc-internal-format
+ msgid "mips16 function profiling"
+ msgstr "funktionsprofilering för mips16"
+@@ -25680,28 +25648,28 @@
+ msgid "MMIX Internal: Last named vararg would not fit in a register"
+ msgstr "MMIX-internt: Sista namngivna vararg skulle inte få plats i ett register"
+
+-#: config/mmix/mmix.c:1495 config/mmix/mmix.c:1519 config/mmix/mmix.c:1635
++#: config/mmix/mmix.c:1491 config/mmix/mmix.c:1515 config/mmix/mmix.c:1631
+ #, gcc-internal-format
+ msgid "MMIX Internal: Bad register: %d"
+ msgstr "MMIX internt: Felaktigt register: %d"
+
+ #. Presumably there's a missing case above if we get here.
+-#: config/mmix/mmix.c:1627
++#: config/mmix/mmix.c:1623
+ #, gcc-internal-format
+ msgid "MMIX Internal: Missing %qc case in mmix_print_operand"
+ msgstr "MMIX internt: Fallet %qc saknas i mmix_print_operand"
+
+-#: config/mmix/mmix.c:1913
++#: config/mmix/mmix.c:1909
+ #, gcc-internal-format
+ msgid "stack frame not a multiple of 8 bytes: %wd"
+ msgstr "stackram inte en multipel av 8 byte: %wd"
+
+-#: config/mmix/mmix.c:2149
++#: config/mmix/mmix.c:2145
+ #, gcc-internal-format
+ msgid "stack frame not a multiple of octabyte: %wd"
+ msgstr "stackram inte en multipel av oktabyte: %wd"
+
+-#: config/mmix/mmix.c:2489 config/mmix/mmix.c:2553
++#: config/mmix/mmix.c:2485 config/mmix/mmix.c:2549
+ #, gcc-internal-format
+ msgid "MMIX Internal: %s is not a shiftable int"
+ msgstr "MMIX internt: %s är inte ett heltal som kan skiftas"
+@@ -25711,27 +25679,27 @@
+ msgid "info pointer NULL"
+ msgstr "info-pekare NULL"
+
+-#: config/pa/pa.c:479
++#: config/pa/pa.c:482
+ #, gcc-internal-format
+ msgid "PIC code generation is not supported in the portable runtime model"
+ msgstr "PIC-kodgenerering stöds inte i den portabla körtidsmodellen"
+
+-#: config/pa/pa.c:484
++#: config/pa/pa.c:487
+ #, gcc-internal-format
+ msgid "PIC code generation is not compatible with fast indirect calls"
+ msgstr "PIC-kodsgenerering är inte inte kompatibelt med snabba indirekta anrop"
+
+-#: config/pa/pa.c:489
++#: config/pa/pa.c:492
+ #, gcc-internal-format
+ msgid "-g is only supported when using GAS on this processor,"
+ msgstr "-g stöds bara när man använder GAS på denna processor,"
+
+-#: config/pa/pa.c:490
++#: config/pa/pa.c:493
+ #, gcc-internal-format
+ msgid "-g option disabled"
+ msgstr "flaggan -g är avslagen"
+
+-#: config/pa/pa.c:8285
++#: config/pa/pa.c:8373
+ #, gcc-internal-format
+ msgid "alignment (%u) for %s exceeds maximum alignment for global common data. Using %u"
+ msgstr "justering (%u) för %s överskrider maximal justering för globala common-data. Använder %u"
+@@ -25800,250 +25768,251 @@
+ msgid "junk at end of #pragma longcall"
+ msgstr "skräp vid slutet av #pragma longcall"
+
+-#: config/rs6000/rs6000-c.c:2550
++#: config/rs6000/rs6000-c.c:2553
+ #, gcc-internal-format
+ msgid "passing arg %d of %qE discards qualifiers frompointer target type"
+ msgstr "att skicka argument %d till %qE kastar kvalificerare från pekarmåltyp"
+
+-#: config/rs6000/rs6000-c.c:2593
++#: config/rs6000/rs6000-c.c:2596
+ #, gcc-internal-format
+ msgid "invalid parameter combination for AltiVec intrinsic"
+ msgstr "ogiltigt parameterkombination för inbyggd AltiVec"
+
+-#: config/rs6000/rs6000.c:1294
++#: config/rs6000/rs6000.c:1312
+ #, gcc-internal-format
+ msgid "-mdynamic-no-pic overrides -fpic or -fPIC"
+ msgstr "-mdynamic-no-pic åsidosätter -fpic eller -fPIC"
+
+-#: config/rs6000/rs6000.c:1305
++#: config/rs6000/rs6000.c:1323
+ #, gcc-internal-format
+ msgid "-m64 requires PowerPC64 architecture, enabling"
+ msgstr "-m64 kräver PowerPC64-arkitektur, aktiverar"
+
+-#: config/rs6000/rs6000.c:1528
++#: config/rs6000/rs6000.c:1546
+ #, gcc-internal-format
+ msgid "-mmultiple is not supported on little endian systems"
+ msgstr "-mmultiple stöds inte på system med omvänd byteordning"
+
+-#: config/rs6000/rs6000.c:1535
++#: config/rs6000/rs6000.c:1553
+ #, gcc-internal-format
+ msgid "-mstring is not supported on little endian systems"
+ msgstr "-mstring stöds inte på system med omvänd byteordning"
+
+-#: config/rs6000/rs6000.c:1549
++#: config/rs6000/rs6000.c:1567
+ #, gcc-internal-format
+ msgid "unknown -mdebug-%s switch"
+ msgstr "okänd flagga -mdebug-%s"
+
+-#: config/rs6000/rs6000.c:1561
++#: config/rs6000/rs6000.c:1579
+ #, gcc-internal-format
+ msgid "unknown -mtraceback arg %qs; expecting %<full%>, %<partial%> or %<none%>"
+ msgstr "okänt argument %qs till -mtraceback, %<full%>, %<partial%> eller %<none%> förväntas"
+
+-#: config/rs6000/rs6000.c:1973
++#: config/rs6000/rs6000.c:2003
+ #, gcc-internal-format
+ msgid "unknown -m%s= option specified: '%s'"
+ msgstr "okänt flagga -m%s= angiven: \"%s\""
+
+-#: config/rs6000/rs6000.c:2186
++#: config/rs6000/rs6000.c:2218
+ #, gcc-internal-format
+ msgid "not configured for ABI: '%s'"
+ msgstr "inte konfigurerad för ABI: \"%s\""
+
+-#: config/rs6000/rs6000.c:2199
++#: config/rs6000/rs6000.c:2231
+ #, gcc-internal-format
+ msgid "Using darwin64 ABI"
+ msgstr "Använder ABI darwin64"
+
+-#: config/rs6000/rs6000.c:2204
++#: config/rs6000/rs6000.c:2236
+ #, gcc-internal-format
+ msgid "Using old darwin ABI"
+ msgstr "använder gammalt darwin-ABI"
+
+-#: config/rs6000/rs6000.c:2211
++#: config/rs6000/rs6000.c:2243
+ #, gcc-internal-format
+ msgid "Using IBM extended precision long double"
+ msgstr "Använder long double med IBM:s utökade precision"
+
+-#: config/rs6000/rs6000.c:2217
++#: config/rs6000/rs6000.c:2249
+ #, gcc-internal-format
+ msgid "Using IEEE extended precision long double"
+ msgstr "Använder long double med IEEE:s utökade precision"
+
+-#: config/rs6000/rs6000.c:2222
++#: config/rs6000/rs6000.c:2254
+ #, gcc-internal-format
+ msgid "unknown ABI specified: '%s'"
+ msgstr "okänt ABI angivet: \"%s\""
+
+-#: config/rs6000/rs6000.c:2249
++#: config/rs6000/rs6000.c:2281
+ #, gcc-internal-format
+ msgid "invalid option for -mfloat-gprs: '%s'"
+ msgstr "ogiltig alternativ till -mfloat-gprs: \"%s\""
+
+-#: config/rs6000/rs6000.c:2259
++#: config/rs6000/rs6000.c:2291
+ #, gcc-internal-format
+ msgid "Unknown switch -mlong-double-%s"
+ msgstr "Okänd flagga -mlong-double-%s"
+
+-#: config/rs6000/rs6000.c:2280
++#: config/rs6000/rs6000.c:2312
+ #, gcc-internal-format
+ msgid "-malign-power is not supported for 64-bit Darwin; it is incompatible with the installed C and C++ libraries"
+ msgstr "-malign-power stöds inte för 64-bitars Darwin, det är inkompatibelt med de installerade C- och C++-biblioteken"
+
+-#: config/rs6000/rs6000.c:2288
++#: config/rs6000/rs6000.c:2320
+ #, gcc-internal-format
+ msgid "unknown -malign-XXXXX option specified: '%s'"
+ msgstr "okänd -malign-XXXXX-flagga angiven: \"%s\""
+
+-#: config/rs6000/rs6000.c:4989
++#: config/rs6000/rs6000.c:5087
+ #, gcc-internal-format
+ msgid "GCC vector returned by reference: non-standard ABI extension with no compatibility guarantee"
+ msgstr "GCC-vektor returnerad som referens: icke-standard ABI-utökning utan kompatibilitetsgaranti"
+
+-#: config/rs6000/rs6000.c:5062
++#: config/rs6000/rs6000.c:5160
+ #, gcc-internal-format
+ msgid "cannot return value in vector register because altivec instructions are disabled, use -maltivec to enable them"
+ msgstr "det går inte att returnera värde i vektorregister för att altivec-instruktioner är avaktiverade, använd -maltivec för att aktivera dem"
+
+-#: config/rs6000/rs6000.c:5320
++#: config/rs6000/rs6000.c:5418
+ #, gcc-internal-format
+ msgid "cannot pass argument in vector register because altivec instructions are disabled, use -maltivec to enable them"
+ msgstr "det går inte att skicka argument i vektorregister för att altivec-instruktioner är avaktiverade, använd -maltivec för att aktivera dem"
+
+-#: config/rs6000/rs6000.c:6221
++#: config/rs6000/rs6000.c:6322
+ #, gcc-internal-format
+ msgid "GCC vector passed by reference: non-standard ABI extension with no compatibility guarantee"
+ msgstr "GCC-vektor skickad som referens: icke-standard ABI-utökning utan kompatibilitetsgaranti"
+
+-#: config/rs6000/rs6000.c:7461
++#: config/rs6000/rs6000.c:7568
+ #, gcc-internal-format
+ msgid "argument 1 must be a 5-bit signed literal"
+ msgstr "argument 1 måste vara en 5-bitars literal med tecken"
+
+-#: config/rs6000/rs6000.c:7564 config/rs6000/rs6000.c:8475
++#: config/rs6000/rs6000.c:7671 config/rs6000/rs6000.c:8582
+ #, gcc-internal-format
+ msgid "argument 2 must be a 5-bit unsigned literal"
+ msgstr "argument 2 måste vara en 5-bitars literal utan tecken"
+
+-#: config/rs6000/rs6000.c:7604
++#: config/rs6000/rs6000.c:7711
+ #, gcc-internal-format
+ msgid "argument 1 of __builtin_altivec_predicate must be a constant"
+ msgstr "argumentet 1 till __builtin_altivec_predicate måste vara en konstant"
+
+-#: config/rs6000/rs6000.c:7657
++#: config/rs6000/rs6000.c:7764
+ #, gcc-internal-format
+ msgid "argument 1 of __builtin_altivec_predicate is out of range"
+ msgstr "argument 1 till __builtin_altivec_predicate är utanför sitt intervall"
+
+-#: config/rs6000/rs6000.c:7906
++#: config/rs6000/rs6000.c:8013
+ #, gcc-internal-format
+ msgid "argument 3 must be a 4-bit unsigned literal"
+ msgstr "argument 3 måste vara en 4-bitars literal utan tecken"
+
+-#: config/rs6000/rs6000.c:8078
++#: config/rs6000/rs6000.c:8185
+ #, gcc-internal-format
+ msgid "argument to %qs must be a 2-bit unsigned literal"
+ msgstr "argument till %qs måste vara en 2-bitars literal utan tecken"
+
+-#: config/rs6000/rs6000.c:8220
++#: config/rs6000/rs6000.c:8327
+ #, gcc-internal-format
+ msgid "unresolved overload for Altivec builtin %qF"
+ msgstr "ej upplöst överlagring för inbyggd Altivec %qF"
+
+-#: config/rs6000/rs6000.c:8302
++#: config/rs6000/rs6000.c:8409
+ #, gcc-internal-format
+ msgid "argument to dss must be a 2-bit unsigned literal"
+ msgstr "argument till dss måste vara en 2-bitars literal utan tecken"
+
+-#: config/rs6000/rs6000.c:8595
++#: config/rs6000/rs6000.c:8702
+ #, gcc-internal-format
+ msgid "argument 1 of __builtin_paired_predicate must be a constant"
+ msgstr "argument 1 till __builtin_paired_predicate måste vara en konstant"
+
+-#: config/rs6000/rs6000.c:8642
++#: config/rs6000/rs6000.c:8749
+ #, gcc-internal-format
+ msgid "argument 1 of __builtin_paired_predicate is out of range"
+ msgstr "argument 1 till __builtin_paired_predicate är utanför sitt intervall"
+
+-#: config/rs6000/rs6000.c:8667
++#: config/rs6000/rs6000.c:8774
+ #, gcc-internal-format
+ msgid "argument 1 of __builtin_spe_predicate must be a constant"
+ msgstr "argument 1 till __builtin_spe_predicate måste vara en konstant"
+
+-#: config/rs6000/rs6000.c:8739
++#: config/rs6000/rs6000.c:8846
+ #, gcc-internal-format
+ msgid "argument 1 of __builtin_spe_predicate is out of range"
+ msgstr "argument 1 till __builtin_spe_predicate är utanför sitt intervall"
+
+-#: config/rs6000/rs6000.c:14977
++#: config/rs6000/rs6000.c:15189
+ #, gcc-internal-format
+ msgid "stack frame too large"
+ msgstr "för stor stackram"
+
+-#: config/rs6000/rs6000.c:17598
++#: config/rs6000/rs6000.c:17811
+ #, 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.c:19470
++#: config/rs6000/rs6000.c:19687
+ #, gcc-internal-format
+ msgid "use of %<long%> in AltiVec types is invalid for 64-bit code"
+ msgstr "användning av %<long%> i AltiVec-typer är ogiltigt för 64-bitskod"
+
+-#: config/rs6000/rs6000.c:19472
++#: config/rs6000/rs6000.c:19689
+ #, gcc-internal-format
+ msgid "use of %<long%> in AltiVec types is deprecated; use %<int%>"
+ msgstr "användning av %<long%> i AltiVec-typer bör undvikas, använd %<int%>"
+
+-#: config/rs6000/rs6000.c:19476
++#: config/rs6000/rs6000.c:19693
+ #, gcc-internal-format
+ msgid "use of %<long long%> in AltiVec types is invalid"
+ msgstr "användning av %<long long%> i AltiVec-typer är ogiltigt"
+
+-#: config/rs6000/rs6000.c:19478
++#: config/rs6000/rs6000.c:19695
+ #, gcc-internal-format
+ msgid "use of %<double%> in AltiVec types is invalid"
+ msgstr "användning av %<double%> i AltiVec-typer är ogiltigt"
+
+-#: config/rs6000/rs6000.c:19480
++#: config/rs6000/rs6000.c:19697
+ #, gcc-internal-format
+ msgid "use of %<long double%> in AltiVec types is invalid"
+ msgstr "användning av %<long double%> i AltiVec-typer är ogiltigt"
+
+-#: config/rs6000/rs6000.c:19482
++#: config/rs6000/rs6000.c:19699
+ #, 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.c:19484
++#: config/rs6000/rs6000.c:19701
+ #, gcc-internal-format
+ msgid "use of %<complex%> in AltiVec types is invalid"
+ msgstr "användning av %<complex%> i AltiVec-typer är ogiltigt"
+
+-#: config/rs6000/rs6000.c:19486
++#: config/rs6000/rs6000.c:19703
+ #, 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/aix43.h:38 config/rs6000/aix51.h:37 config/rs6000/aix52.h:38
+-#: config/rs6000/aix53.h:38
++#: config/rs6000/aix53.h:38 config/rs6000/aix61.h:38
+ #, gcc-internal-format
+ msgid "-maix64 and POWER architecture are incompatible"
+ msgstr "-maix64 och POWER-arkitekturen är inkompatibla"
+
+ #: config/rs6000/aix43.h:43 config/rs6000/aix51.h:42 config/rs6000/aix52.h:43
+-#: config/rs6000/aix53.h:43
++#: config/rs6000/aix53.h:43 config/rs6000/aix61.h:43
+ #, gcc-internal-format
+ msgid "-maix64 requires PowerPC64 architecture remain enabled"
+ msgstr "-maix64 kräver att arkitekturen PowerPC64 fortfarande är aktiverad"
+
+ #: config/rs6000/aix43.h:49 config/rs6000/aix52.h:49 config/rs6000/aix53.h:49
++#: config/rs6000/aix61.h:49
+ #, gcc-internal-format
+ msgid "soft-float and long-double-128 are incompatible"
+ msgstr "soft-float och long-double-128 är inkompatibla"
+
+ #: config/rs6000/aix43.h:53 config/rs6000/aix51.h:46 config/rs6000/aix52.h:53
+-#: config/rs6000/aix53.h:53
++#: config/rs6000/aix53.h:53 config/rs6000/aix61.h:53
+ #, gcc-internal-format
+ msgid "-maix64 required: 64-bit computation with 32-bit addressing not yet supported"
+ msgstr "-maix64 krävs: 64-bitsberäkningar med 32-bitars adressering stöds inte än"
+@@ -26085,7 +26054,7 @@
+ #. Number of bytes into the frame return addresses can be found. See
+ #. rs6000_stack_info in rs6000.c for more information on how the different
+ #. abi's store the return address.
+-#: config/rs6000/rs6000.h:1560
++#: config/rs6000/rs6000.h:1569
+ #, gcc-internal-format
+ msgid "RETURN_ADDRESS_OFFSET not supported"
+ msgstr "RETURN_ADDRESS_OFFSET stöds inte"
+@@ -26208,22 +26177,22 @@
+ msgid "-mstack-guard implies use of -mstack-size"
+ msgstr "-mstack-guard implicerar användning av -mstack-size"
+
+-#: config/s390/s390.c:6640
++#: config/s390/s390.c:6679
+ #, gcc-internal-format
+ msgid "total size of local variables exceeds architecture limit"
+ msgstr "totala storleken på lokala variabler överskrider arkitekturens gräns"
+
+-#: config/s390/s390.c:7298
++#: config/s390/s390.c:7349
+ #, gcc-internal-format
+ msgid "frame size of function %qs is "
+ msgstr "ramstorlek på funktion %qs är "
+
+-#: config/s390/s390.c:7328
++#: config/s390/s390.c:7379
+ #, gcc-internal-format
+ msgid "frame size of %qs is "
+ msgstr "ramstorlek på %qs är "
+
+-#: config/s390/s390.c:7332
++#: config/s390/s390.c:7383
+ #, gcc-internal-format
+ msgid "%qs uses dynamic stack allocation"
+ msgstr "%qs använder dynamisk stackallokering"
+@@ -26233,44 +26202,44 @@
+ msgid "-fPIC and -G are incompatible"
+ msgstr "-fPIC och -G är inkompatibla"
+
+-#: config/sh/sh.c:6894
++#: config/sh/sh.c:6897
+ #, gcc-internal-format
+ msgid "__builtin_saveregs not supported by this subtarget"
+ msgstr "__builtin_saveregs stöds inte på denna målunderarkitektur"
+
+-#: config/sh/sh.c:7904
++#: config/sh/sh.c:7907
+ #, gcc-internal-format
+ msgid "%qs attribute only applies to interrupt functions"
+ msgstr "attributet %qs är bara tillämpbart på avbrottsfunktioner"
+
+-#: config/sh/sh.c:7990
++#: config/sh/sh.c:7993
+ #, gcc-internal-format
+ msgid "attribute interrupt_handler is not compatible with -m5-compact"
+ msgstr "attributet interrupt_handler är inte kompatibelt -m5-compact"
+
+ #. The argument must be a constant string.
+-#: config/sh/sh.c:8012
++#: config/sh/sh.c:8015
+ #, gcc-internal-format
+ msgid "%qs attribute argument not a string constant"
+ msgstr "attributargument %qs är inte en strängkonstant"
+
+ #. The argument must be a constant integer.
+-#: config/sh/sh.c:8037
++#: config/sh/sh.c:8040
+ #, gcc-internal-format
+ msgid "%qs attribute argument not an integer constant"
+ msgstr "attributargument %qs är inte en heltalskonstant"
+
+-#: config/sh/sh.c:10085
++#: config/sh/sh.c:10084
+ #, gcc-internal-format
+ msgid "r0 needs to be available as a call-clobbered register"
+ msgstr "r0 behöver vara tillgängligt som ett anropsöverskrivet register"
+
+-#: config/sh/sh.c:10106
++#: config/sh/sh.c:10105
+ #, gcc-internal-format
+ msgid "Need a second call-clobbered general purpose register"
+ msgstr "Behöver ett andra generellt register som skrivs över vid anrop"
+
+-#: config/sh/sh.c:10114
++#: config/sh/sh.c:10113
+ #, gcc-internal-format
+ msgid "Need a call-clobbered target register"
+ msgstr "Behöver ett anropsöverskrivet målregister"
+@@ -26302,7 +26271,7 @@
+ msgid "%s %q+D %s after being referenced with dllimport linkage"
+ msgstr ""
+
+-#: config/sh/symbian.c:891 cp/tree.c:2737
++#: config/sh/symbian.c:891 cp/tree.c:2753
+ #, gcc-internal-format
+ msgid "lang_* check: failed in %s, at %s:%d"
+ msgstr "lang_*-kontroll: misslyckades i %s, vid %s:%d"
+@@ -26345,17 +26314,17 @@
+ msgid "-mrelax is only supported for RTP PIC"
+ msgstr "-mrelax stöds endast för RTP PIC"
+
+-#: config/sparc/sparc.c:698
++#: config/sparc/sparc.c:701
+ #, gcc-internal-format
+ msgid "%s is not supported by this configuration"
+ msgstr "%s stöds inte i denna konfiguration"
+
+-#: config/sparc/sparc.c:705
++#: config/sparc/sparc.c:708
+ #, gcc-internal-format
+ msgid "-mlong-double-64 not allowed with -m64"
+ msgstr "-mlong-double-64 är inte tillåten med -m64"
+
+-#: config/sparc/sparc.c:730
++#: config/sparc/sparc.c:733
+ #, gcc-internal-format
+ msgid "-mcmodel= is not supported on 32 bit systems"
+ msgstr "-mcmodel= stöds inte på 32-bitars system"
+@@ -26375,67 +26344,57 @@
+ msgid "parameter list does not match a valid signature for %s()"
+ msgstr "parameterlistan stämmer inte med någon giltig signatur för %s()"
+
+-#: config/spu/spu.c:337 config/spu/spu.c:348
++#: config/spu/spu.c:341 config/spu/spu.c:352
+ #, gcc-internal-format
+ msgid "Unknown architecture '%s'"
+ msgstr "Okänd arkitektur \"%s\""
+
+-#: config/spu/spu.c:3034
++#: config/spu/spu.c:3023
+ #, gcc-internal-format
+ msgid "`%s' attribute ignored"
+ msgstr "attributet \"%s\" ignoreras"
+
+-#: config/spu/spu.c:5218
++#: config/spu/spu.c:5207
+ #, gcc-internal-format
+ msgid "%s expects an integer literal in the range [%d, %d]."
+ msgstr "%s förväntar sig en heltalskonstant i intervallet [%d, %d]."
+
+-#: config/spu/spu.c:5238
++#: config/spu/spu.c:5227
+ #, gcc-internal-format
+ msgid "%s expects an integer literal in the range [%d, %d]. ("
+ msgstr "%s förväntar sig en heltalskonstant i intervallet [%d, %d]. (\""
+
+-#: config/spu/spu.c:5268
++#: config/spu/spu.c:5257
+ #, gcc-internal-format
+ msgid "%d least significant bits of %s are ignored."
+ msgstr "de %d minst signifikanta bitarna av %s ignoreras."
+
+-#: config/stormy16/stormy16.c:499
++#: config/stormy16/stormy16.c:1080
+ #, gcc-internal-format
+-msgid "constant halfword load operand out of range"
+-msgstr "konstant halvords load-operand utanför sitt intervall"
+-
+-#: config/stormy16/stormy16.c:509
+-#, gcc-internal-format
+-msgid "constant arithmetic operand out of range"
+-msgstr "konstant aritmetisk operand utanför sitt intervall"
+-
+-#: config/stormy16/stormy16.c:1108
+-#, gcc-internal-format
+ msgid "local variable memory requirements exceed capacity"
+ msgstr "behovet av minne för lokala variabler överskrider kapaciteten"
+
+-#: config/stormy16/stormy16.c:1274
++#: config/stormy16/stormy16.c:1246
+ #, gcc-internal-format
+ msgid "function_profiler support"
+ msgstr "stöd för function_profiler"
+
+-#: config/stormy16/stormy16.c:1363
++#: config/stormy16/stormy16.c:1335
+ #, gcc-internal-format
+ msgid "cannot use va_start in interrupt function"
+ msgstr "det går inte använda va_start i en avbrottsfunktion"
+
+-#: config/stormy16/stormy16.c:1906
++#: config/stormy16/stormy16.c:1879
+ #, gcc-internal-format
+ msgid "switch statement of size %lu entries too large"
+ msgstr "switch-sats med storleken %lu ingångar är för stor"
+
+-#: config/stormy16/stormy16.c:2274
++#: config/stormy16/stormy16.c:2247
+ #, gcc-internal-format
+ msgid "%<__BELOW100__%> attribute only applies to variables"
+ msgstr "attributet %<__BELOW100__%> är bara tillämpbart på variabler"
+
+-#: config/stormy16/stormy16.c:2281
++#: config/stormy16/stormy16.c:2254
+ #, gcc-internal-format
+ msgid "__BELOW100__ attribute not allowed with auto storage class"
+ msgstr "attributet __BELOW100__ är inte tillåtet med lagringsklassen auto"
+@@ -26562,357 +26521,357 @@
+ msgid "too much stack space to prepare: %d"
+ msgstr "för mycket stackutrymme att förbereda: %d"
+
+-#: config/xtensa/xtensa.c:1861
++#: config/xtensa/xtensa.c:1865
+ #, gcc-internal-format
+ msgid "boolean registers required for the floating-point option"
+ msgstr "booleska register krävs för flyttalsalternativet"
+
+-#: config/xtensa/xtensa.c:1896
++#: config/xtensa/xtensa.c:1900
+ #, gcc-internal-format
+ msgid "-f%s is not supported with CONST16 instructions"
+ msgstr "-f%s stöds inte med CONST16-instruktioner"
+
+-#: config/xtensa/xtensa.c:1901
++#: config/xtensa/xtensa.c:1905
+ #, gcc-internal-format
+ msgid "PIC is required but not supported with CONST16 instructions"
+ msgstr "PIC krävs men stöds inte med CONST16-instruktioner"
+
+-#: config/xtensa/xtensa.c:2745 config/xtensa/xtensa.c:2765
++#: config/xtensa/xtensa.c:2770 config/xtensa/xtensa.c:2790
+ #, gcc-internal-format
+ msgid "bad builtin code"
+ msgstr "felaktig inbyggd kod"
+
+-#: config/xtensa/xtensa.c:2873
++#: config/xtensa/xtensa.c:2898
+ #, gcc-internal-format
+ msgid "only uninitialized variables can be placed in a .bss section"
+ msgstr "endast oinitierade variabler kan placeras i en .bss-sektion"
+
+-#: ada/misc.c:261
++#: ada/misc.c:260
+ #, gcc-internal-format
+ msgid "missing argument to \"-%s\""
+ msgstr "argument saknas till \"-%s\""
+
+-#: ada/misc.c:311
++#: ada/misc.c:310
+ #, gcc-internal-format
+ msgid "%<-gnat%> misspelled as %<-gant%>"
+ msgstr "%<-gnat%> felstavat som %<-gant%>"
+
+-#: cp/call.c:2462
++#: cp/call.c:2448
+ #, gcc-internal-format
+ msgid "%s %D(%T, %T, %T) <built-in>"
+ msgstr "%s %D(%T, %T, %T) <inbyggd>"
+
+-#: cp/call.c:2467
++#: cp/call.c:2453
+ #, gcc-internal-format
+ msgid "%s %D(%T, %T) <built-in>"
+ msgstr "%s %D(%T, %T) <inbyggd>"
+
+-#: cp/call.c:2471
++#: cp/call.c:2457
+ #, gcc-internal-format
+ msgid "%s %D(%T) <built-in>"
+ msgstr "%s %D(%T) <inbyggd>"
+
+-#: cp/call.c:2475
++#: cp/call.c:2461
+ #, gcc-internal-format
+ msgid "%s %T <conversion>"
+ msgstr "%s %T <konvertering>"
+
+-#: cp/call.c:2477
++#: cp/call.c:2463
+ #, gcc-internal-format
+ msgid "%s %+#D <near match>"
+ msgstr "%s %+#D <nära träff>"
+
+-#: cp/call.c:2479 cp/pt.c:1397
++#: cp/call.c:2465 cp/pt.c:1405
+ #, gcc-internal-format
+ msgid "%s %+#D"
+ msgstr "%s %+#D"
+
+-#: cp/call.c:2720
++#: cp/call.c:2706
+ #, gcc-internal-format
+ msgid "conversion from %qT to %qT is ambiguous"
+ msgstr "konvertering från %qT till %qT är tvetydig"
+
+-#: cp/call.c:2873 cp/call.c:2891 cp/call.c:2954
++#: cp/call.c:2859 cp/call.c:2877 cp/call.c:2940
+ #, gcc-internal-format
+ msgid "no matching function for call to %<%D(%A)%>"
+ msgstr "ingen funktion som stämmer för anrop av %<%D(%A)%>"
+
+-#: cp/call.c:2894 cp/call.c:2957
++#: cp/call.c:2880 cp/call.c:2943
+ #, gcc-internal-format
+ msgid "call of overloaded %<%D(%A)%> is ambiguous"
+ msgstr "anrop av överlagrad %<%D(%A)%> är tvetydigt"
+
+ #. It's no good looking for an overloaded operator() on a
+ #. pointer-to-member-function.
+-#: cp/call.c:3029
++#: cp/call.c:3015
+ #, gcc-internal-format
+ msgid "pointer-to-member function %E cannot be called without an object; consider using .* or ->*"
+ msgstr "pekar-på-medlem-funktion %E kan inte anropas utan ett objekt, överväg att använda .* eller ->*"
+
+-#: cp/call.c:3103
++#: cp/call.c:3089
+ #, gcc-internal-format
+ msgid "no match for call to %<(%T) (%A)%>"
+ msgstr "ingen träff för anrop till %<(%T) (%A)%>"
+
+-#: cp/call.c:3112
++#: cp/call.c:3098
+ #, gcc-internal-format
+ msgid "call of %<(%T) (%A)%> is ambiguous"
+ msgstr "anrop av %<(%T) (%A)%> är tvetydigt"
+
+ # Första "%s" blir några ord som beskriver ett problem.
+ # Felrapporterat: http://gcc.gnu.org/bugzilla/show_bug.cgi?id=29917
+-#: cp/call.c:3150
++#: cp/call.c:3136
+ #, gcc-internal-format
+ msgid "%s for ternary %<operator?:%> in %<%E ? %E : %E%>"
+ msgstr ""
+
+ # Första "%s" blir några ord som beskriver ett problem.
+ # Felrapporterat: http://gcc.gnu.org/bugzilla/show_bug.cgi?id=29917
+-#: cp/call.c:3156
++#: cp/call.c:3142
+ #, gcc-internal-format
+ msgid "%s for %<operator%s%> in %<%E%s%>"
+ msgstr ""
+
+ # Första "%s" blir några ord som beskriver ett problem.
+ # Felrapporterat: http://gcc.gnu.org/bugzilla/show_bug.cgi?id=29917
+-#: cp/call.c:3160
++#: cp/call.c:3146
+ #, gcc-internal-format
+ msgid "%s for %<operator[]%> in %<%E[%E]%>"
+ msgstr ""
+
+ # Första "%s" blir några ord som beskriver ett problem.
+ # Felrapporterat: http://gcc.gnu.org/bugzilla/show_bug.cgi?id=29917
+-#: cp/call.c:3165
++#: cp/call.c:3151
+ #, gcc-internal-format
+ msgid "%s for %qs in %<%s %E%>"
+ msgstr ""
+
+ # Första "%s" blir några ord som beskriver ett problem.
+ # Felrapporterat: http://gcc.gnu.org/bugzilla/show_bug.cgi?id=29917
+-#: cp/call.c:3170
++#: cp/call.c:3156
+ #, gcc-internal-format
+ msgid "%s for %<operator%s%> in %<%E %s %E%>"
+ msgstr ""
+
+ # Första "%s" blir några ord som beskriver ett problem.
+ # Felrapporterat: http://gcc.gnu.org/bugzilla/show_bug.cgi?id=29917
+-#: cp/call.c:3173
++#: cp/call.c:3159
+ #, gcc-internal-format
+ msgid "%s for %<operator%s%> in %<%s%E%>"
+ msgstr ""
+
+-#: cp/call.c:3265
++#: cp/call.c:3251
+ #, gcc-internal-format
+ msgid "ISO C++ forbids omitting the middle term of a ?: expression"
+ msgstr "ISO C++ förbjuder uteslutande av mittersta termen i ett ?: uttryck"
+
+-#: cp/call.c:3343
++#: cp/call.c:3329
+ #, gcc-internal-format
+ msgid "second operand to the conditional operator is of type %<void%>, but the third operand is neither a throw-expression nor of type %<void%>"
+ msgstr "andra operanden till villkorsoperatorn är av typ %<void%>, men den tredje operanden är varken ett throw-uttryck eller av typ %<void%>"
+
+-#: cp/call.c:3348
++#: cp/call.c:3334
+ #, gcc-internal-format
+ msgid "third operand to the conditional operator is of type %<void%>, but the second operand is neither a throw-expression nor of type %<void%>"
+ msgstr "tredje operanden till villkorsoperatorn är av typ %<void%>, men den andra operanden är varken ett throw-uttryck eller av typ %<void%>"
+
+-#: cp/call.c:3389 cp/call.c:3609
++#: cp/call.c:3375 cp/call.c:3595
+ #, gcc-internal-format
+ msgid "operands to ?: have different types %qT and %qT"
+ msgstr "operander till ?: har olika typer %qT och %qT"
+
+-#: cp/call.c:3563
++#: cp/call.c:3549
+ #, gcc-internal-format
+ msgid "enumeral mismatch in conditional expression: %qT vs %qT"
+ msgstr "uppräkningsmissmatch i villkorligt uttryck: %qT kontra %qT"
+
+-#: cp/call.c:3570
++#: cp/call.c:3556
+ #, gcc-internal-format
+ msgid "enumeral and non-enumeral type in conditional expression"
+ msgstr "uppräknings- och inte uppräkningstyp i villkorligt uttryck"
+
+-#: cp/call.c:3874
++#: cp/call.c:3860
+ #, gcc-internal-format
+ msgid "no %<%D(int)%> declared for postfix %qs, trying prefix operator instead"
+ msgstr "ingen %<%D(int)%> deklarerad för postfix %qs, försöker med prefixoperator istället"
+
+-#: cp/call.c:3947
++#: cp/call.c:3936
+ #, gcc-internal-format
+ msgid "comparison between %q#T and %q#T"
+ msgstr "jämförelse mellan %q#T och %q#T"
+
+-#: cp/call.c:4229
++#: cp/call.c:4218
+ #, gcc-internal-format
+ msgid "no corresponding deallocation function for `%D'"
+ msgstr "ingen motsvarande avallokeringsfunktion för \"%D\""
+
+-#: cp/call.c:4234
++#: cp/call.c:4223
+ #, gcc-internal-format
+ msgid "no suitable %<operator %s%> for %qT"
+ msgstr "ingen passande %<operator %s%> för %qT"
+
+-#: cp/call.c:4252
++#: cp/call.c:4241
+ #, gcc-internal-format
+ msgid "%q+#D is private"
+ msgstr "%q+#D är privat"
+
+-#: cp/call.c:4254
++#: cp/call.c:4243
+ #, gcc-internal-format
+ msgid "%q+#D is protected"
+ msgstr "%q+#D är skyddad"
+
+-#: cp/call.c:4256
++#: cp/call.c:4245
+ #, gcc-internal-format
+ msgid "%q+#D is inaccessible"
+ msgstr "%q+#D är oåtkomlig"
+
+-#: cp/call.c:4257
++#: cp/call.c:4246
+ #, gcc-internal-format
+ msgid "within this context"
+ msgstr "i denna kontext"
+
+-#: cp/call.c:4303
++#: cp/call.c:4292
+ #, gcc-internal-format
+ msgid "passing NULL to non-pointer argument %P of %qD"
+ msgstr "skickar NULL till icke-pekarargument %P till %qD"
+
+-#: cp/call.c:4306
++#: cp/call.c:4295
+ #, gcc-internal-format
+ msgid "converting to non-pointer type %qT from NULL"
+ msgstr "konverterar till icke-pekartyp %qT från NULL"
+
+-#: cp/call.c:4312
++#: cp/call.c:4301
+ #, gcc-internal-format
+ msgid "converting %<false%> to pointer type for argument %P of %qD"
+ msgstr "konverterar %<false%> till pekartyp för argument %P till %qD"
+
+-#: cp/call.c:4356 cp/cvt.c:217
++#: cp/call.c:4346 cp/cvt.c:217
+ #, gcc-internal-format
+ msgid "invalid conversion from %qT to %qT"
+ msgstr "ogiltig konvertering från %qT till %qT"
+
+-#: cp/call.c:4358
++#: cp/call.c:4348
+ #, gcc-internal-format
+ msgid " initializing argument %P of %qD"
+ msgstr " initierar argument %P till %qD"
+
+-#: cp/call.c:4491
++#: cp/call.c:4498
+ #, gcc-internal-format
+ msgid "cannot bind bitfield %qE to %qT"
+ msgstr "det går inte att binda bitfält %qE till %qT"
+
+-#: cp/call.c:4494 cp/call.c:4510
++#: cp/call.c:4501 cp/call.c:4517
+ #, gcc-internal-format
+ msgid "cannot bind packed field %qE to %qT"
+ msgstr "det går inte att binda packat fält %qE till %qT"
+
+-#: cp/call.c:4497
++#: cp/call.c:4504
+ #, gcc-internal-format
+ msgid "cannot bind rvalue %qE to %qT"
+ msgstr "det går inte att binda rvalue %qE till %qT"
+
+-#: cp/call.c:4611
++#: cp/call.c:4620
+ #, gcc-internal-format
+ msgid "cannot pass objects of non-POD type %q#T through %<...%>; call will abort at runtime"
+ msgstr "det går inte att skicka objekt av icke-POD-typ %q#T via %<...%>, anropet kommer avbryta vid körning"
+
+ #. Undefined behavior [expr.call] 5.2.2/7.
+-#: cp/call.c:4639
++#: cp/call.c:4648
+ #, gcc-internal-format
+ msgid "cannot receive objects of non-POD type %q#T through %<...%>; call will abort at runtime"
+ msgstr "det går inte att ta emot objekt av icke-POD-typ %q#T via %<...%>, anropet kommer avbryta vid körning"
+
+-#: cp/call.c:4687
++#: cp/call.c:4696
+ #, gcc-internal-format
+ msgid "the default argument for parameter %d of %qD has not yet been parsed"
+ msgstr "standardargumentet för parameter %d till %qD har inte parsats än"
+
+-#: cp/call.c:4697
++#: cp/call.c:4706
+ #, gcc-internal-format
+ msgid "recursive evaluation of default argument for %q#D"
+ msgstr "rekursiv beräkning av standardargument till %q#D"
+
+-#: cp/call.c:4802
++#: cp/call.c:4811
+ #, gcc-internal-format
+ msgid "argument of function call might be a candidate for a format attribute"
+ msgstr "argument till funktionsanrop kan vara en kandidat för ett formatattribut"
+
+-#: cp/call.c:4950
++#: cp/call.c:4959
+ #, gcc-internal-format
+ msgid "passing %qT as %<this%> argument of %q#D discards qualifiers"
+ msgstr "att skicka %qT som %<this%>-argument till %q#D kastar kvalificerare"
+
+-#: cp/call.c:4969
++#: cp/call.c:4978
+ #, gcc-internal-format
+ msgid "%qT is not an accessible base of %qT"
+ msgstr "%qT är inte en åtkomlig bas till %qT"
+
+-#: cp/call.c:5229
++#: cp/call.c:5238
+ #, gcc-internal-format
+ msgid "could not find class$ field in java interface type %qT"
+ msgstr "kunde inte hitta class$-fält i java-gränssnittstyp %qT"
+
+-#: cp/call.c:5470
++#: cp/call.c:5479
+ #, gcc-internal-format
+ msgid "call to non-function %qD"
+ msgstr "anrop av icke-funktion %qD"
+
+-#: cp/call.c:5595
++#: cp/call.c:5604
+ #, gcc-internal-format
+ msgid "no matching function for call to %<%T::%s(%A)%#V%>"
+ msgstr "ingen matchande funktion för anrop av %<%T::%s(%A)%#V%>"
+
+-#: cp/call.c:5613
++#: cp/call.c:5622
+ #, gcc-internal-format
+ msgid "call of overloaded %<%s(%A)%> is ambiguous"
+ msgstr "anrop av överlagrad %<%s(%A)%> är tvetydigt"
+
+-#: cp/call.c:5639
++#: cp/call.c:5648
+ #, gcc-internal-format
+ msgid "cannot call member function %qD without object"
+ msgstr "det går inte att anropa medlemsfunktion %qD utan ett objekt"
+
+-#: cp/call.c:6283
++#: cp/call.c:6307
+ #, gcc-internal-format
+ msgid "passing %qT chooses %qT over %qT"
+ msgstr "att skicka %qT väljer %qT framför %qT"
+
+-#: cp/call.c:6285 cp/name-lookup.c:4320 cp/name-lookup.c:4753
++#: cp/call.c:6309 cp/name-lookup.c:4322 cp/name-lookup.c:4757
+ #, gcc-internal-format
+ msgid " in call to %qD"
+ msgstr " i anrop till %qD"
+
+-#: cp/call.c:6342
++#: cp/call.c:6366
+ #, gcc-internal-format
+ msgid "choosing %qD over %qD"
+ msgstr "väljer %qD framför %qD"
+
+-#: cp/call.c:6343
++#: cp/call.c:6367
+ #, gcc-internal-format
+ msgid " for conversion from %qT to %qT"
+ msgstr " för konvertering från %qT till %qT"
+
+-#: cp/call.c:6345
++#: cp/call.c:6369
+ #, gcc-internal-format
+ msgid " because conversion sequence for the argument is better"
+ msgstr " för att konverteringssekvensen för argumentet är bättre"
+
+-#: cp/call.c:6459
++#: cp/call.c:6483
+ #, 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 "ISO C++ säger att dessa är tvetydiga, trots att den sämsta konverteringen för den första är bättre än den sämsta konverteringen för den andra:"
+
+-#: cp/call.c:6603
++#: cp/call.c:6627
+ #, gcc-internal-format
+ msgid "could not convert %qE to %qT"
+ msgstr "kunde inte konvertera %qE till %qT"
+
+-#: cp/call.c:6737
++#: cp/call.c:6761
+ #, gcc-internal-format
+ msgid "invalid initialization of non-const reference of type %qT from a temporary of type %qT"
+ msgstr "ogiltig initiering av icke-konstant referens av typ %qT från en temporär av typ %qT"
+
+-#: cp/call.c:6741
++#: cp/call.c:6765
+ #, gcc-internal-format
+ msgid "invalid initialization of reference of type %qT from expression of type %qT"
+ msgstr "ogiltig initiering av referens av typ %qT från uttryck av typ %qT"
+@@ -26922,343 +26881,343 @@
+ msgid "cannot convert from base %qT to derived type %qT via virtual base %qT"
+ msgstr "kan inte konvertera från basen %qT till härledd typ %qT via virtuell bas %qT"
+
+-#: cp/class.c:961
++#: cp/class.c:971
+ #, gcc-internal-format
+ msgid "Java class %qT cannot have a destructor"
+ msgstr "Javaklass %qT kan inte ha en destruerare"
+
+-#: cp/class.c:963
++#: cp/class.c:973
+ #, gcc-internal-format
+ msgid "Java class %qT cannot have an implicit non-trivial destructor"
+ msgstr "Javaklass %qT kan inte ha en implicit icketrivial destruerare"
+
+-#: cp/class.c:1062
++#: cp/class.c:1074
+ #, gcc-internal-format
+ msgid "repeated using declaration %q+D"
+ msgstr "upprepad using-deklaration %q+D"
+
+-#: cp/class.c:1064
++#: cp/class.c:1076
+ #, gcc-internal-format
+ msgid "using declaration %q+D conflicts with a previous using declaration"
+ msgstr "using-deklaration %q+D står i konflikt med en tidigare using-deklaration"
+
+-#: cp/class.c:1069
++#: cp/class.c:1081
+ #, gcc-internal-format
+ msgid "%q+#D cannot be overloaded"
+ msgstr "%q+#D kan inte överlagras"
+
+-#: cp/class.c:1070
++#: cp/class.c:1082
+ #, gcc-internal-format
+ msgid "with %q+#D"
+ msgstr "med %q+#D"
+
+-#: cp/class.c:1137
++#: cp/class.c:1149
+ #, gcc-internal-format
+ msgid "conflicting access specifications for method %q+D, ignored"
+ msgstr "åtkomstspecifikationer i konflikt för metod %q+D, ignoreras"
+
+-#: cp/class.c:1140
++#: cp/class.c:1152
+ #, gcc-internal-format
+ msgid "conflicting access specifications for field %qE, ignored"
+ msgstr "åtkomstspecifikationer i konflikt för fält %qE, ignoreras"
+
+-#: cp/class.c:1201 cp/class.c:1209
++#: cp/class.c:1213 cp/class.c:1221
+ #, gcc-internal-format
+ msgid "%q+D invalid in %q#T"
+ msgstr "%q+D ogiltig i %q#T"
+
+-#: cp/class.c:1202
++#: cp/class.c:1214
+ #, gcc-internal-format
+ msgid " because of local method %q+#D with same name"
+ msgstr " på grund av lokal metod %q+#D med samma namn"
+
+-#: cp/class.c:1210
++#: cp/class.c:1222
+ #, gcc-internal-format
+ msgid " because of local member %q+#D with same name"
+ msgstr " på grund av lokal medlem %q+#D med samma namn"
+
+-#: cp/class.c:1253
++#: cp/class.c:1265
+ #, gcc-internal-format
+ msgid "base class %q#T has a non-virtual destructor"
+ msgstr "basklass %q#T har en icke-virtuell destruerare"
+
+-#: cp/class.c:1570
++#: cp/class.c:1582
+ #, gcc-internal-format
+ msgid "all member functions in class %qT are private"
+ msgstr "alla medlemsfunktioner i klass %qT är privata"
+
+-#: cp/class.c:1582
++#: cp/class.c:1594
+ #, gcc-internal-format
+ msgid "%q#T only defines a private destructor and has no friends"
+ msgstr "%q#T definierar bara en privat destruerare och har inga vänner"
+
+-#: cp/class.c:1626
++#: cp/class.c:1639
+ #, gcc-internal-format
+ msgid "%q#T only defines private constructors and has no friends"
+ msgstr "%q#T definierar bara privata konstruerare och har inga vänner"
+
+-#: cp/class.c:2019
++#: cp/class.c:2032
+ #, gcc-internal-format
+ msgid "no unique final overrider for %qD in %qT"
+ msgstr "ingen unik slutlig ersättare för %qD i %qT"
+
+ #. Here we know it is a hider, and no overrider exists.
+-#: cp/class.c:2439
++#: cp/class.c:2452
+ #, gcc-internal-format
+ msgid "%q+D was hidden"
+ msgstr "%q+D var dold"
+
+-#: cp/class.c:2440
++#: cp/class.c:2453
+ #, gcc-internal-format
+ msgid " by %q+D"
+ msgstr " av %q+D"
+
+-#: cp/class.c:2483 cp/decl2.c:1135
++#: cp/class.c:2496 cp/decl2.c:1178
+ #, gcc-internal-format
+ msgid "%q+#D invalid; an anonymous union can only have non-static data members"
+ msgstr "%q+#D ogiltig, en anonym union kan bara ha ickestatiska datamedlemmar"
+
+-#: cp/class.c:2486
++#: cp/class.c:2499
+ #, gcc-internal-format
+ msgid "%q+#D invalid; an anonymous struct can only have non-static data members"
+ msgstr "%q+#D ogiltig, en anonym post kan bara ha ickestatiska datamedlemmar"
+
+-#: cp/class.c:2494 cp/decl2.c:1141
++#: cp/class.c:2507 cp/decl2.c:1184
+ #, gcc-internal-format
+ msgid "private member %q+#D in anonymous union"
+ msgstr "privat medlem %q+#D i anonym union"
+
+-#: cp/class.c:2496
++#: cp/class.c:2509
+ #, gcc-internal-format
+ msgid "private member %q+#D in anonymous struct"
+ msgstr "privat medlem %q+#D i anonym post"
+
+-#: cp/class.c:2501 cp/decl2.c:1143
++#: cp/class.c:2514 cp/decl2.c:1186
+ #, gcc-internal-format
+ msgid "protected member %q+#D in anonymous union"
+ msgstr "skyddad medlem %q+#D i anonym union"
+
+-#: cp/class.c:2503
++#: cp/class.c:2516
+ #, gcc-internal-format
+ msgid "protected member %q+#D in anonymous struct"
+ msgstr "skyddad medlem %q+#D i anonym post"
+
+-#: cp/class.c:2677
++#: cp/class.c:2695
+ #, gcc-internal-format
+ msgid "bit-field %q+#D with non-integral type"
+ msgstr "bitfält %q+#D har en icke-heltalstyp"
+
+-#: cp/class.c:2690
++#: cp/class.c:2708
+ #, gcc-internal-format
+ msgid "bit-field %q+D width not an integer constant"
+ msgstr "bredd för bitfältet %q+D inte en heltalskonstant"
+
+-#: cp/class.c:2695
++#: cp/class.c:2713
+ #, gcc-internal-format
+ msgid "negative width in bit-field %q+D"
+ msgstr "negativ bredd i bitfält %q+D"
+
+-#: cp/class.c:2700
++#: cp/class.c:2718
+ #, gcc-internal-format
+ msgid "zero width for bit-field %q+D"
+ msgstr "noll i bredd i bitfält %q+D"
+
+-#: cp/class.c:2706
++#: cp/class.c:2724
+ #, gcc-internal-format
+ msgid "width of %q+D exceeds its type"
+ msgstr "bredd på %q+D är större än dess typ"
+
+-#: cp/class.c:2715
++#: cp/class.c:2733
+ #, gcc-internal-format
+ msgid "%q+D is too small to hold all values of %q#T"
+ msgstr "%q+D är för liten för att få plats med alla värden hos %q#T"
+
+-#: cp/class.c:2772
++#: cp/class.c:2790
+ #, gcc-internal-format
+ msgid "member %q+#D with constructor not allowed in union"
+ msgstr "medlem %q+#D med konstruerare inte tillåten i union"
+
+-#: cp/class.c:2775
++#: cp/class.c:2793
+ #, gcc-internal-format
+ msgid "member %q+#D with destructor not allowed in union"
+ msgstr "medlem %q+#D med destruerare inte tillåten i union"
+
+-#: cp/class.c:2777
++#: cp/class.c:2795
+ #, gcc-internal-format
+ msgid "member %q+#D with copy assignment operator not allowed in union"
+ msgstr "medlem %q+#D med kopieringstilldelningsoperator inte tillåten i union"
+
+-#: cp/class.c:2801
++#: cp/class.c:2819
+ #, gcc-internal-format
+ msgid "multiple fields in union %qT initialized"
+ msgstr "flera fält i unionen %qT initierade"
+
+-#: cp/class.c:2890
++#: cp/class.c:2908
+ #, gcc-internal-format
+ msgid "%q+D may not be static because it is a member of a union"
+ msgstr "%q+D får inte vara statisk eftersom den är medlem av en union"
+
+-#: cp/class.c:2895
++#: cp/class.c:2913
+ #, gcc-internal-format
+ msgid "%q+D may not have reference type %qT because it is a member of a union"
+ msgstr "%q+D får inte ha referenstyp %qT eftersom den är en medlen av en union"
+
+-#: cp/class.c:2906
++#: cp/class.c:2924
+ #, gcc-internal-format
+ msgid "field %q+D invalidly declared function type"
+ msgstr "fält %q+D ogiltigt deklarerad funktionstyp"
+
+-#: cp/class.c:2912
++#: cp/class.c:2930
+ #, gcc-internal-format
+ msgid "field %q+D invalidly declared method type"
+ msgstr "fält %q+D ogiltigt deklarerad metodtyp"
+
+-#: cp/class.c:2944
++#: cp/class.c:2968
+ #, gcc-internal-format
+-msgid "non-static reference %q+#D in class without a constructor"
+-msgstr "icke-statisk referens %q+#D i klass utan en konstruerare"
+-
+-#: cp/class.c:2955
+-#, gcc-internal-format
+ msgid "ignoring packed attribute because of unpacked non-POD field %q+#D"
+ msgstr "ignorerar attributet packed på grund av opackat icke-POD-fält %q+#D"
+
+-#: cp/class.c:3022
++#: cp/class.c:3047
+ #, gcc-internal-format
+-msgid "non-static const member %q+#D in class without a constructor"
+-msgstr "icke-statisk const-medlem %q+#D i klass utan en konstruerare"
+-
+-#: cp/class.c:3037
+-#, gcc-internal-format
+ msgid "field %q+#D with same name as class"
+ msgstr "fält %q+#D med samma namn som en klass"
+
+-#: cp/class.c:3068
++#: cp/class.c:3078
+ #, gcc-internal-format
+ msgid "%q#T has pointer data members"
+ msgstr "%q#T har pekardatamedlemmar"
+
+-#: cp/class.c:3073
++#: cp/class.c:3083
+ #, gcc-internal-format
+ msgid " but does not override %<%T(const %T&)%>"
+ msgstr " men ersätter inte %<%T(const %T&)%>"
+
+-#: cp/class.c:3075
++#: cp/class.c:3085
+ #, gcc-internal-format
+ msgid " or %<operator=(const %T&)%>"
+ msgstr " eller %<operator=(const %T&)%>"
+
+-#: cp/class.c:3079
++#: cp/class.c:3089
+ #, gcc-internal-format
+ msgid " but does not override %<operator=(const %T&)%>"
+ msgstr " men ersätter inte %<operator=(const %T&)%>"
+
+-#: cp/class.c:3540
++#: cp/class.c:3550
+ #, gcc-internal-format
+ msgid "offset of empty base %qT may not be ABI-compliant and maychange in a future version of GCC"
+ msgstr "förskjutning av tom bas %qT följer kanske inte ABI:et och kan ändras i en framtida version av GCC"
+
+-#: cp/class.c:3665
++#: cp/class.c:3675
+ #, gcc-internal-format
+ msgid "class %qT will be considered nearly empty in a future version of GCC"
+ msgstr "klass %qT kommer betraktas som nästan tom i en framtida version av GCC"
+
+-#: cp/class.c:3747
++#: cp/class.c:3757
+ #, gcc-internal-format
+ msgid "initializer specified for non-virtual method %q+D"
+ msgstr "initierare angiven för icke-virtuell metod %q+D"
+
+-#: cp/class.c:4412
++#: cp/class.c:4228
+ #, gcc-internal-format
++msgid "non-static reference %q+#D in class without a constructor"
++msgstr "icke-statisk referens %q+#D i klass utan en konstruerare"
++
++#: cp/class.c:4233
++#, gcc-internal-format
++msgid "non-static const member %q+#D in class without a constructor"
++msgstr "icke-statisk const-medlem %q+#D i klass utan en konstruerare"
++
++#: cp/class.c:4488
++#, gcc-internal-format
+ msgid "offset of virtual base %qT is not ABI-compliant and may change in a future version of GCC"
+ msgstr "förskjutning av virtuell bas %qT följer inte ABI:et och kan ändras i en framtida version av GCC"
+
+-#: cp/class.c:4513
++#: cp/class.c:4589
+ #, gcc-internal-format
+ msgid "direct base %qT inaccessible in %qT due to ambiguity"
+ msgstr "direkt bas %qT är oåtkomlig i %qT på grund av tvetydighet"
+
+-#: cp/class.c:4525
++#: cp/class.c:4601
+ #, gcc-internal-format
+ msgid "virtual base %qT inaccessible in %qT due to ambiguity"
+ msgstr "virtuell bas %qT är oåtkomlig i %qT på grund av tvetydighet"
+
+-#: cp/class.c:4704
++#: cp/class.c:4780
+ #, gcc-internal-format
+ msgid "size assigned to %qT may not be ABI-compliant and may change in a future version of GCC"
+ msgstr "storlek tilldelad till %qT följer kanske inte ABI:et och kan ändras i en framtida version av GCC"
+
+-#: cp/class.c:4744
++#: cp/class.c:4820
+ #, gcc-internal-format
+ msgid "the offset of %qD may not be ABI-compliant and may change in a future version of GCC"
+ msgstr "förskjutningen för %qD följer kanske inte ABI:et och kan ändras i en framtida version av GCC"
+
+-#: cp/class.c:4772
++#: cp/class.c:4848
+ #, gcc-internal-format
+ msgid "offset of %q+D is not ABI-compliant and may change in a future version of GCC"
+ msgstr "förskjutningen av %q+D följer inte ABI:et och kan ändras i en framtida version av GCC"
+
+-#: cp/class.c:4781
++#: cp/class.c:4857
+ #, gcc-internal-format
+ msgid "%q+D contains empty classes which may cause base classes to be placed at different locations in a future version of GCC"
+ msgstr "%q+D innehåller tomma klasser som kan få grundklasser att läggas på annan plats i en framtida version av GCC"
+
+-#: cp/class.c:4864
++#: cp/class.c:4944
+ #, gcc-internal-format
+ msgid "layout of classes derived from empty class %qT may change in a future version of GCC"
+ msgstr "utplaceringen av klasser härledda från en tom klass %qT kan ändras i en framtida version av GCC"
+
+-#: cp/class.c:5010 cp/parser.c:14608
++#: cp/class.c:5090 cp/parser.c:14688
+ #, gcc-internal-format
+ msgid "redefinition of %q#T"
+ msgstr "omdefinition av %q#T"
+
+-#: cp/class.c:5166
++#: cp/class.c:5246
+ #, gcc-internal-format
+ msgid "%q#T has virtual functions and accessible non-virtual destructor"
+ msgstr "%q#T har virtuella funktioner och åtkomlig icketrivial destruerare"
+
+-#: cp/class.c:5268
++#: cp/class.c:5348
+ #, gcc-internal-format
+ msgid "trying to finish struct, but kicked out due to previous parse errors"
+ msgstr "försökte avsluta post, men hoppade ut på grund av tidigare parsningsfel"
+
+-#: cp/class.c:5728
++#: cp/class.c:5808
+ #, gcc-internal-format
+ msgid "language string %<\"%E\"%> not recognized"
+ msgstr "språksträng %<\"%E\"%> känns inte igen"
+
+-#: cp/class.c:5817
++#: cp/class.c:5897
+ #, gcc-internal-format
+ msgid "cannot resolve overloaded function %qD based on conversion to type %qT"
+ msgstr "det går inte att lösa upp överlagrad funktion %qD baserat på konvertering till typ %qT"
+
+-#: cp/class.c:5946
++#: cp/class.c:6026
+ #, gcc-internal-format
+ msgid "no matches converting function %qD to type %q#T"
+ msgstr "ingen match som konverterar funktionen %qD till typen %q#T"
+
+-#: cp/class.c:5969
++#: cp/class.c:6049
+ #, gcc-internal-format
+ msgid "converting overloaded function %qD to type %q#T is ambiguous"
+ msgstr "konvertering av överlagrad funktion %qD till typ %q#T är tvetydig"
+
+-#: cp/class.c:5995
++#: cp/class.c:6075
+ #, gcc-internal-format
+ msgid "assuming pointer to member %qD"
+ msgstr "antar pekare till medlem %qD"
+
+-#: cp/class.c:5998
++#: cp/class.c:6078
+ #, gcc-internal-format
+ msgid "(a pointer to member can only be formed with %<&%E%>)"
+ msgstr "(en pekare på medlem kan bara skapas med %<&%E%>)"
+
+-#: cp/class.c:6054 cp/class.c:6088
++#: cp/class.c:6134 cp/class.c:6168
+ #, gcc-internal-format
+ msgid "not enough type information"
+ msgstr "inte tillräcklig typinformation"
+
+-#: cp/class.c:6071
++#: cp/class.c:6151
+ #, gcc-internal-format
+ msgid "argument of type %qT does not match %qT"
+ msgstr "argument av typen %qT matchar inte %qT"
+@@ -27268,12 +27227,12 @@
+ #. A name N used in a class S shall refer to the same declaration
+ #. in its context and when re-evaluated in the completed scope of
+ #. S.
+-#: cp/class.c:6358 cp/decl.c:1199 cp/name-lookup.c:526
++#: cp/class.c:6438 cp/decl.c:1200 cp/name-lookup.c:525
+ #, gcc-internal-format
+ msgid "declaration of %q#D"
+ msgstr "deklaration av %q#D"
+
+-#: cp/class.c:6359
++#: cp/class.c:6439
+ #, gcc-internal-format
+ msgid "changes meaning of %qD from %q+#D"
+ msgstr "byter betydelse av %qD från %q+#D"
+@@ -27308,7 +27267,7 @@
+ msgid "conversion from %qT to %qT discards qualifiers"
+ msgstr "konvertering från %qT till %qT kastar kvalificerare"
+
+-#: cp/cvt.c:470 cp/typeck.c:5257
++#: cp/cvt.c:470 cp/typeck.c:5265
+ #, gcc-internal-format
+ msgid "casting %qT to %qT does not dereference pointer"
+ msgstr "typkonvertering av %qT till %qT derefererar inte pekare"
+@@ -27318,192 +27277,192 @@
+ msgid "cannot convert type %qT to type %qT"
+ msgstr "kan inte konvertera typ %qT till typ %qT"
+
+-#: cp/cvt.c:656
++#: cp/cvt.c:649
+ #, gcc-internal-format
+ msgid "conversion from %q#T to %q#T"
+ msgstr "konvertering från %q#T till %q#T"
+
+-#: cp/cvt.c:668 cp/cvt.c:688
++#: cp/cvt.c:661 cp/cvt.c:681
+ #, gcc-internal-format
+ msgid "%q#T used where a %qT was expected"
+ msgstr "%q#T använt där %qT förväntades"
+
+-#: cp/cvt.c:703
++#: cp/cvt.c:696
+ #, gcc-internal-format
+ msgid "%q#T used where a floating point value was expected"
+ msgstr "%q#T använt där ett flyttalsvärde förväntades"
+
+-#: cp/cvt.c:750
++#: cp/cvt.c:743
+ #, gcc-internal-format
+ msgid "conversion from %qT to non-scalar type %qT requested"
+ msgstr "konvertering från %qT till icke-skalär typ %qT begärd"
+
+-#: cp/cvt.c:784
++#: cp/cvt.c:777
+ #, gcc-internal-format
+ msgid "pseudo-destructor is not called"
+ msgstr "pseudodestruerare anropas inte"
+
+-#: cp/cvt.c:844
++#: cp/cvt.c:837
+ #, gcc-internal-format
+ msgid "object of incomplete type %qT will not be accessed in %s"
+ msgstr "objekt med ofullständig typ %qT kommer inte användas i %s"
+
+-#: cp/cvt.c:849
++#: cp/cvt.c:842
+ #, gcc-internal-format
+ msgid "object of type %qT will not be accessed in %s"
+ msgstr "objekt med typ %qT kommer inte användas i %s"
+
+-#: cp/cvt.c:865
++#: cp/cvt.c:858
+ #, gcc-internal-format
+ msgid "object %qE of incomplete type %qT will not be accessed in %s"
+ msgstr "objekt %qE med ofullständig typ %qT kommer inte användas i %s"
+
+ #. [over.over] enumerates the places where we can take the address
+ #. of an overloaded function, and this is not one of them.
+-#: cp/cvt.c:902
++#: cp/cvt.c:895
+ #, gcc-internal-format
+ msgid "%s cannot resolve address of overloaded function"
+ msgstr "%s kan inte lösa upp adress till överlagrad funktion"
+
+ #. Only warn when there is no &.
+-#: cp/cvt.c:909
++#: cp/cvt.c:902
+ #, gcc-internal-format
+ msgid "%s is a reference, not call, to function %qE"
+ msgstr "%s är en referens, inte ett anrop, till funktion %qE"
+
+-#: cp/cvt.c:926
++#: cp/cvt.c:919
+ #, gcc-internal-format
+ msgid "%s has no effect"
+ msgstr "%s har ingen effekt"
+
+-#: cp/cvt.c:958
++#: cp/cvt.c:951
+ #, gcc-internal-format
+ msgid "value computed is not used"
+ msgstr "beräknat värde används inte"
+
+-#: cp/cvt.c:1068
++#: cp/cvt.c:1061
+ #, gcc-internal-format
+ msgid "converting NULL to non-pointer type"
+ msgstr "konvertera av NULL till icke-pekartyp"
+
+-#: cp/cvt.c:1174
++#: cp/cvt.c:1167
+ #, gcc-internal-format
+ msgid "ambiguous default type conversion from %qT"
+ msgstr "tvetydig standartypkonvertering från %qT"
+
+-#: cp/cvt.c:1176
++#: cp/cvt.c:1169
+ #, gcc-internal-format
+ msgid " candidate conversions include %qD and %qD"
+ msgstr " kandidater till konvertering är %qD och %qD"
+
+-#: cp/decl.c:1062
++#: cp/decl.c:1063
+ #, gcc-internal-format
+ msgid "%qD was declared %<extern%> and later %<static%>"
+ msgstr "%qD deklarerades %<extern%> och senare %<static%>"
+
+-#: cp/decl.c:1063 cp/decl.c:1618 objc/objc-act.c:2931 objc/objc-act.c:7503
++#: cp/decl.c:1064 cp/decl.c:1619 objc/objc-act.c:2931 objc/objc-act.c:7503
+ #, gcc-internal-format
+ msgid "previous declaration of %q+D"
+ msgstr "tidigare deklaration av %q+D"
+
+-#: cp/decl.c:1096
++#: cp/decl.c:1097
+ #, gcc-internal-format
+ msgid "declaration of %qF throws different exceptions"
+ msgstr "deklaration av %qF kastar andra undantag"
+
+-#: cp/decl.c:1097
++#: cp/decl.c:1098
+ #, gcc-internal-format
+ msgid "from previous declaration %q+F"
+ msgstr "än tidigare deklaration av %q+F"
+
+-#: cp/decl.c:1153
++#: cp/decl.c:1154
+ #, gcc-internal-format
+ msgid "function %q+D redeclared as inline"
+ msgstr "funktionen %q+D omdeklarerad som \"inline\""
+
+-#: cp/decl.c:1155
++#: cp/decl.c:1156
+ #, gcc-internal-format
+ msgid "previous declaration of %q+D with attribute noinline"
+ msgstr "tidigare deklaration av %q+D med attributet noinline"
+
+-#: cp/decl.c:1162
++#: cp/decl.c:1163
+ #, gcc-internal-format
+ msgid "function %q+D redeclared with attribute noinline"
+ msgstr "funktionen %q+D omdeklarerad med attributet noinline"
+
+-#: cp/decl.c:1164
++#: cp/decl.c:1165
+ #, gcc-internal-format
+ msgid "previous declaration of %q+D was inline"
+ msgstr "tidigare deklaration av %q+D var inline"
+
+ # Första %s blir "built-in" eller "library".
+ # http://gcc.gnu.org/bugzilla/show_bug.cgi?id=31665
+-#: cp/decl.c:1186 cp/decl.c:1259
++#: cp/decl.c:1187 cp/decl.c:1260
+ #, gcc-internal-format
+ msgid "shadowing %s function %q#D"
+ msgstr "skuggar \"%s\"-funktion %q#D"
+
+-#: cp/decl.c:1195
++#: cp/decl.c:1196
+ #, gcc-internal-format
+ msgid "library function %q#D redeclared as non-function %q#D"
+ msgstr "biblioteksfunktion %q#D omdeklarerad som icke-funktion %q#D"
+
+-#: cp/decl.c:1200
++#: cp/decl.c:1201
+ #, gcc-internal-format
+ msgid "conflicts with built-in declaration %q#D"
+ msgstr "står i konflikt med inbyggd deklaration %q#D"
+
+-#: cp/decl.c:1254 cp/decl.c:1380 cp/decl.c:1396
++#: cp/decl.c:1255 cp/decl.c:1381 cp/decl.c:1397
+ #, gcc-internal-format
+ msgid "new declaration %q#D"
+ msgstr "ny deklaration av %q#D"
+
+-#: cp/decl.c:1255
++#: cp/decl.c:1256
+ #, gcc-internal-format
+ msgid "ambiguates built-in declaration %q#D"
+ msgstr "gör inbyggd deklaration %q#D tvetydig"
+
+-#: cp/decl.c:1344
++#: cp/decl.c:1345
+ #, gcc-internal-format
+ msgid "%q#D redeclared as different kind of symbol"
+ msgstr "%q#D omdeklarerad som en annan sorts symbol"
+
+-#: cp/decl.c:1347
++#: cp/decl.c:1348
+ #, gcc-internal-format
+ msgid "previous declaration of %q+#D"
+ msgstr "tidigare deklaration av %q+#D"
+
+-#: cp/decl.c:1366
++#: cp/decl.c:1367
+ #, gcc-internal-format
+ msgid "declaration of template %q#D"
+ msgstr "omdeklaration av mallen %q#D"
+
+-#: cp/decl.c:1367 cp/name-lookup.c:527
++#: cp/decl.c:1368 cp/name-lookup.c:526
+ #, gcc-internal-format
+ msgid "conflicts with previous declaration %q+#D"
+ msgstr "står i konflikt med tidigare deklaration %q+#D"
+
+-#: cp/decl.c:1381 cp/decl.c:1397
++#: cp/decl.c:1382 cp/decl.c:1398
+ #, gcc-internal-format
+ msgid "ambiguates old declaration %q+#D"
+ msgstr "gör gammal deklaration %q+#D tvetydig"
+
+-#: cp/decl.c:1389
++#: cp/decl.c:1390
+ #, gcc-internal-format
+ msgid "declaration of C function %q#D conflicts with"
+ msgstr "deklaration av C-funktion %q#D står i konflikt med"
+
+-#: cp/decl.c:1391
++#: cp/decl.c:1392
+ #, gcc-internal-format
+ msgid "previous declaration %q+#D here"
+ msgstr "tidigare deklaration av %q+#D här"
+
+-#: cp/decl.c:1405
++#: cp/decl.c:1406
+ #, gcc-internal-format
+ msgid "conflicting declaration %q#D"
+ msgstr "motstridande deklaration av %q#D"
+
+-#: cp/decl.c:1406
++#: cp/decl.c:1407
+ #, gcc-internal-format
+ msgid "%q+D has a previous declaration as %q#D"
+ msgstr "%q+D har en tidigare deklaration som %q#D"
+@@ -27515,63 +27474,63 @@
+ #. A namespace-name defined at global scope shall not be
+ #. declared as the name of any other entity in any global scope
+ #. of the program.
+-#: cp/decl.c:1458
++#: cp/decl.c:1459
+ #, gcc-internal-format
+ msgid "declaration of namespace %qD conflicts with"
+ msgstr "deklaration av namnrymden %qD står i konflikt med"
+
+-#: cp/decl.c:1459
++#: cp/decl.c:1460
+ #, gcc-internal-format
+ msgid "previous declaration of namespace %q+D here"
+ msgstr "tidigare deklaration av namnrymden %q+D här"
+
+-#: cp/decl.c:1470
++#: cp/decl.c:1471
+ #, gcc-internal-format
+ msgid "%q+#D previously defined here"
+ msgstr "%q+#D definierades tidigare här"
+
+ #. Prototype decl follows defn w/o prototype.
+-#: cp/decl.c:1480
++#: cp/decl.c:1481
+ #, gcc-internal-format
+ msgid "prototype for %q+#D"
+ msgstr "prototyp för %q+#D"
+
+-#: cp/decl.c:1481
++#: cp/decl.c:1482
+ #, gcc-internal-format
+ msgid "%Jfollows non-prototype definition here"
+ msgstr "%Jföljer på definition som inte är en prototyp här"
+
+-#: cp/decl.c:1521
++#: cp/decl.c:1522
+ #, gcc-internal-format
+ msgid "previous declaration of %q+#D with %qL linkage"
+ msgstr "tidigare deklaration av %q+#D med länkklass %qL"
+
+-#: cp/decl.c:1523
++#: cp/decl.c:1524
+ #, gcc-internal-format
+ msgid "conflicts with new declaration with %qL linkage"
+ msgstr "står i konflikt med ny deklaration med länkklass %qL"
+
+-#: cp/decl.c:1546 cp/decl.c:1552
++#: cp/decl.c:1547 cp/decl.c:1553
+ #, gcc-internal-format
+ msgid "default argument given for parameter %d of %q#D"
+ msgstr "standardargumentet angivet för parameter %d till %q#D"
+
+-#: cp/decl.c:1548 cp/decl.c:1554
++#: cp/decl.c:1549 cp/decl.c:1555
+ #, gcc-internal-format
+ msgid "after previous specification in %q+#D"
+ msgstr "efter tidigare specifikation i %q+#D"
+
+-#: cp/decl.c:1563
++#: cp/decl.c:1564
+ #, gcc-internal-format
+ msgid "%q#D was used before it was declared inline"
+ msgstr "%q#D användes före den deklarerades inline"
+
+-#: cp/decl.c:1564
++#: cp/decl.c:1565
+ #, gcc-internal-format
+ msgid "%Jprevious non-inline declaration here"
+ msgstr "%Jtidigare deklaration utan inline här"
+
+-#: cp/decl.c:1617
++#: cp/decl.c:1618
+ #, gcc-internal-format
+ msgid "redundant redeclaration of %qD in same scope"
+ msgstr "överflödig omdeklaration av %qD i samma definitionsområde"
+@@ -27584,313 +27543,319 @@
+ #. that specialization that would cause an implicit
+ #. instantiation to take place, in every translation unit in
+ #. which such a use occurs.
+-#: cp/decl.c:1932
++#: cp/decl.c:1939
+ #, gcc-internal-format
+ msgid "explicit specialization of %qD after first use"
+ msgstr "explicit specialisering av %qD efter första användningen"
+
+-#: cp/decl.c:2028
++#: cp/decl.c:2035
+ #, gcc-internal-format
+ msgid "%q+D: visibility attribute ignored because it"
+ msgstr "%q+D: synlighetsattribut ignorerat för att det"
+
+-#: cp/decl.c:2030
++#: cp/decl.c:2037
+ #, gcc-internal-format
+ msgid "%Jconflicts with previous declaration here"
+ msgstr "%Jstår i konflikt med tidigare deklaration här"
+
+-#: cp/decl.c:2457
++#: cp/decl.c:2464
+ #, gcc-internal-format
+ msgid "jump to label %qD"
+ msgstr "hopp till etikett %qD"
+
+-#: cp/decl.c:2459
++#: cp/decl.c:2466
+ #, gcc-internal-format
+ msgid "jump to case label"
+ msgstr "hopp till case-etikett"
+
+-#: cp/decl.c:2461
++#: cp/decl.c:2468
+ #, gcc-internal-format
+ msgid "%H from here"
+ msgstr "%H härifrån"
+
+-#: cp/decl.c:2480 cp/decl.c:2643
++#: cp/decl.c:2487 cp/decl.c:2650
+ #, gcc-internal-format
+ msgid " exits OpenMP structured block"
+ msgstr " går ut från OpenMP strukturerat block"
+
+-#: cp/decl.c:2501
++#: cp/decl.c:2508
+ #, gcc-internal-format
+ msgid " crosses initialization of %q+#D"
+ msgstr " passerar initiering av %q+#D"
+
+-#: cp/decl.c:2503 cp/decl.c:2618
++#: cp/decl.c:2510 cp/decl.c:2625
+ #, gcc-internal-format
+ msgid " enters scope of non-POD %q+#D"
+ msgstr " går in i räckvid för icke-POD %q+#D"
+
+-#: cp/decl.c:2516 cp/decl.c:2622
++#: cp/decl.c:2523 cp/decl.c:2629
+ #, gcc-internal-format
+ msgid " enters try block"
+ msgstr " går in i try-block"
+
+-#: cp/decl.c:2518 cp/decl.c:2624
++#: cp/decl.c:2525 cp/decl.c:2631
+ #, gcc-internal-format
+ msgid " enters catch block"
+ msgstr " går in i catch-block"
+
+-#: cp/decl.c:2528 cp/decl.c:2627
++#: cp/decl.c:2535 cp/decl.c:2634
+ #, gcc-internal-format
+ msgid " enters OpenMP structured block"
+ msgstr " går in i OpenMP strukturerat block"
+
+-#: cp/decl.c:2599 cp/decl.c:2639
++#: cp/decl.c:2606 cp/decl.c:2646
+ #, gcc-internal-format
+ msgid "jump to label %q+D"
+ msgstr "hopp till etikett %q+D"
+
+-#: cp/decl.c:2600 cp/decl.c:2640
++#: cp/decl.c:2607 cp/decl.c:2647
+ #, gcc-internal-format
+ msgid " from here"
+ msgstr " härifrån"
+
+ #. Can't skip init of __exception_info.
+-#: cp/decl.c:2612
++#: cp/decl.c:2619
+ #, gcc-internal-format
+ msgid "%J enters catch block"
+ msgstr "%J går in i catch-block"
+
+-#: cp/decl.c:2616
++#: cp/decl.c:2623
+ #, gcc-internal-format
+ msgid " skips initialization of %q+#D"
+ msgstr " hoppar över initiering av %q+#D"
+
+-#: cp/decl.c:2692
++#: cp/decl.c:2699
+ #, gcc-internal-format
+ msgid "label named wchar_t"
+ msgstr "etikett med namnet wchar_t"
+
+-#: cp/decl.c:2696
++#: cp/decl.c:2703
+ #, gcc-internal-format
+ msgid "duplicate label %qD"
+ msgstr "dubblerad etikett %qD"
+
+-#: cp/decl.c:2962
++#: cp/decl.c:2969
+ #, gcc-internal-format
+ msgid "%qD is not a type"
+ msgstr "%qD är inte en typ"
+
+-#: cp/decl.c:2968 cp/parser.c:4033
++#: cp/decl.c:2975 cp/parser.c:4037
+ #, gcc-internal-format
+ msgid "%qD used without template parameters"
+ msgstr "%qD använd utan mallparametrar"
+
+-#: cp/decl.c:2983
++#: cp/decl.c:2990
+ #, gcc-internal-format
+ msgid "%q#T is not a class"
+ msgstr "%q#T är inte en klass"
+
+-#: cp/decl.c:2995 cp/decl.c:3063
++#: cp/decl.c:3002 cp/decl.c:3070
+ #, 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.c:3003
++#: cp/decl.c:3010
+ #, gcc-internal-format
+ msgid "%<typename %T::%D%> names %q#T, which is not a class template"
+ msgstr "%<typename %T::%D%> namnger %q#T, som inte är en klassmall"
+
+-#: cp/decl.c:3010
++#: cp/decl.c:3017
+ #, gcc-internal-format
+ msgid "%<typename %T::%D%> names %q#T, which is not a type"
+ msgstr "%<typename %T::%D%> namnger %q#T, som inte är en typ"
+
+-#: cp/decl.c:3072
++#: cp/decl.c:3079
+ #, gcc-internal-format
+ msgid "template parameters do not match template"
+ msgstr "mallparametrar stämmer inte med mallen"
+
+-#: cp/decl.c:3073 cp/friend.c:321 cp/friend.c:329
++#: cp/decl.c:3080 cp/friend.c:321 cp/friend.c:329
+ #, gcc-internal-format
+ msgid "%q+D declared here"
+ msgstr "%q+D är deklarerad här"
+
+-#: cp/decl.c:3711
++#: cp/decl.c:3727
+ #, gcc-internal-format
+ msgid "%Jan anonymous struct cannot have function members"
+ msgstr "%Jen anonym post kan inte ha funktionsmedlemmar"
+
+-#: cp/decl.c:3713
++#: cp/decl.c:3729
+ #, gcc-internal-format
+ msgid "%Jan anonymous union cannot have function members"
+ msgstr "%Jen anonym union kan inte ha funktionsmedlemmar"
+
+-#: cp/decl.c:3731
++#: cp/decl.c:3747
+ #, 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.c:3734
++#: cp/decl.c:3750
+ #, 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.c:3737
++#: cp/decl.c:3753
+ #, 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.c:3762
++#: cp/decl.c:3778
+ #, gcc-internal-format
+ msgid "multiple types in one declaration"
+ msgstr "flera typer i en deklaration"
+
+-#: cp/decl.c:3766
++#: cp/decl.c:3782
+ #, gcc-internal-format
+ msgid "redeclaration of C++ built-in type %qT"
+ msgstr "omdeklaration av inbyggd C++-typ %qT"
+
+-#: cp/decl.c:3803
++#: cp/decl.c:3819
+ #, gcc-internal-format
+ msgid "missing type-name in typedef-declaration"
+ msgstr "typnamn saknas i typedef-deklaration"
+
+-#: cp/decl.c:3811
++#: cp/decl.c:3827
+ #, gcc-internal-format
+ msgid "ISO C++ prohibits anonymous structs"
+ msgstr "ISO C++ förbjuder anonyma poster"
+
+-#: cp/decl.c:3818
++#: cp/decl.c:3834
+ #, gcc-internal-format
+ msgid "%qs can only be specified for functions"
+ msgstr "%qs kan endast anges för funktioner"
+
+-#: cp/decl.c:3824
++#: cp/decl.c:3840
+ #, gcc-internal-format
+ msgid "%<friend%> can only be specified inside a class"
+ msgstr "%<friend%> kan endast anges inuti en klass"
+
+-#: cp/decl.c:3826
++#: cp/decl.c:3842
+ #, gcc-internal-format
+ msgid "%<explicit%> can only be specified for constructors"
+ msgstr "%<explicit%> kan endast anges för konstruerare"
+
+-#: cp/decl.c:3828
++#: cp/decl.c:3844
+ #, 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.c:3834
++#: cp/decl.c:3850
+ #, gcc-internal-format
+ msgid "qualifiers can only be specified for objects and functions"
+ msgstr "kvalificerare kan bara anges för objekt och funktioner"
+
+-#: cp/decl.c:3837
++#: cp/decl.c:3853
+ #, gcc-internal-format
+ msgid "%<typedef%> was ignored in this declaration"
+ msgstr "%<typedef%> ignorerades i denna deklaration"
+
+-#: cp/decl.c:3866
++#: cp/decl.c:3882
+ #, gcc-internal-format
+ msgid "attribute ignored in declaration of %q+#T"
+ msgstr "attribut ignoreras i deklaration av %q+#T"
+
+-#: cp/decl.c:3867
++#: cp/decl.c:3883
+ #, 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.c:3909
++#: cp/decl.c:3925
+ #, gcc-internal-format
+-msgid "ignoring attributes applied to class type outside of definition"
+-msgstr "ignorerar attribut använda på en klasstyp utanför dess definition"
++msgid "ignoring attributes applied to class type %qT outside of definition"
++msgstr "ignorerar attribut använda på klasstypen %qT utanför dess definition"
+
+-#: cp/decl.c:3987
++#. A template type parameter or other dependent type.
++#: cp/decl.c:3929
+ #, 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.c:4007
++#, gcc-internal-format
+ msgid "function %q#D is initialized like a variable"
+ msgstr "funktionen %q#D är initierad som en variabel"
+
+-#: cp/decl.c:3998
++#: cp/decl.c:4018
+ #, gcc-internal-format
+ msgid "declaration of %q#D has %<extern%> and is initialized"
+ msgstr "deklarationen av %q#D har %<extern%> och är initierad"
+
+-#: cp/decl.c:4014
++#: cp/decl.c:4034
+ #, gcc-internal-format
+ msgid "definition of %q#D is marked %<dllimport%>"
+ msgstr "definitionen av %q#D är markerad %<dllimport%>"
+
+-#: cp/decl.c:4033
++#: cp/decl.c:4053
+ #, gcc-internal-format
+ msgid "%q#D is not a static member of %q#T"
+ msgstr "%q#D är inte en statisk medlem av %q#T"
+
+-#: cp/decl.c:4039
++#: cp/decl.c:4059
+ #, 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.c:4048
++#: cp/decl.c:4068
+ #, gcc-internal-format
+ msgid "template header not allowed in member definition of explicitly specialized class"
+ msgstr "mallhuvud inte tillåtet i medlemsdefinition av explicit specialiserad klass"
+
+-#: cp/decl.c:4056
++#: cp/decl.c:4076
+ #, gcc-internal-format
+ msgid "duplicate initialization of %qD"
+ msgstr "dubblerad initierare av %qD"
+
+-#: cp/decl.c:4095
++#: cp/decl.c:4115
+ #, 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.c:4188
++#: cp/decl.c:4208
+ #, gcc-internal-format
+ msgid "variable %q#D has initializer but incomplete type"
+ msgstr "variabeln %q#D har initierare men ofullständig typ"
+
+-#: cp/decl.c:4194 cp/decl.c:4906
++#: cp/decl.c:4214 cp/decl.c:4926
+ #, gcc-internal-format
+ msgid "elements of array %q#D have incomplete type"
+ msgstr "elementen i vektorn %q#D har ofullständig typ"
+
+-#: cp/decl.c:4200
++#: cp/decl.c:4220
+ #, 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.c:4236
++#: cp/decl.c:4256
+ #, gcc-internal-format
+ msgid "%qD declared as reference but not initialized"
+ msgstr "%qD är deklarerad som en referens men inte initierad"
+
+-#: cp/decl.c:4242
++#: cp/decl.c:4262
+ #, gcc-internal-format
+ msgid "ISO C++ forbids use of initializer list to initialize reference %qD"
+ msgstr "ISO C++ förbjuder användning av initierarlistor för att initiera referensen %qD"
+
+-#: cp/decl.c:4268
++#: cp/decl.c:4288
+ #, gcc-internal-format
+ msgid "cannot initialize %qT from %qT"
+ msgstr "det går inte att initiera %qT från %qT"
+
+-#: cp/decl.c:4296
++#: cp/decl.c:4316
+ #, 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.c:4345
++#: cp/decl.c:4365
+ #, gcc-internal-format
+ msgid "initializer fails to determine size of %qD"
+ msgstr "initierare misslyckas med att bestämma storleken på %qD"
+
+-#: cp/decl.c:4352
++#: cp/decl.c:4372
+ #, gcc-internal-format
+ msgid "array size missing in %qD"
+ msgstr "vektorstorlek saknas i %qD"
+
+-#: cp/decl.c:4364
++#: cp/decl.c:4384
+ #, gcc-internal-format
+ msgid "zero-size array %qD"
+ msgstr "vektor med storlek noll %qD"
+@@ -27898,240 +27863,250 @@
+ #. An automatic variable with an incomplete type: that is an error.
+ #. Don't talk about array types here, since we took care of that
+ #. message in grokdeclarator.
+-#: cp/decl.c:4407
++#: cp/decl.c:4427
+ #, gcc-internal-format
+ msgid "storage size of %qD isn't known"
+ msgstr "lagringsstorlek på %qD är okänd"
+
+-#: cp/decl.c:4429
++#: cp/decl.c:4449
+ #, gcc-internal-format
+ msgid "storage size of %qD isn't constant"
+ msgstr "lagringsstorlek på %qD är inte konstant"
+
+-#: cp/decl.c:4478
++#: cp/decl.c:4498
+ #, 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 kopior)"
+
+-#: cp/decl.c:4481
++#: cp/decl.c:4501
+ #, gcc-internal-format
+ msgid "%J you can work around this by removing the initializer"
+ msgstr "%J du kan gå runt detta genom att ta bort initieraren"
+
+-#: cp/decl.c:4508
++#: cp/decl.c:4528
+ #, gcc-internal-format
+ msgid "uninitialized const %qD"
+ msgstr "oinitierade const %qD"
+
+-#: cp/decl.c:4620
++#: cp/decl.c:4640
+ #, 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.c:4662
++#: cp/decl.c:4682
+ #, gcc-internal-format
+ msgid "initializer for %qT must be brace-enclosed"
+ msgstr "initierare för %qT måste vara inom klamrar"
+
+-#: cp/decl.c:4680
++#: cp/decl.c:4700
+ #, 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.c:4731
++#: cp/decl.c:4751
+ #, gcc-internal-format
+ msgid "braces around scalar initializer for type %qT"
+ msgstr "klamrar runt skalär initierare för typen %qT"
+
+-#: cp/decl.c:4814
++#: cp/decl.c:4834
+ #, gcc-internal-format
+ msgid "missing braces around initializer for %qT"
+ msgstr "klamrar saknas runt initierare för %qT"
+
+-#: cp/decl.c:4871
++#: cp/decl.c:4891
+ #, gcc-internal-format
+ msgid "too many initializers for %qT"
+ msgstr "för många initierare för %qT"
+
+-#: cp/decl.c:4914
++#: cp/decl.c:4934
+ #, gcc-internal-format
+ msgid "variable-sized object %qD may not be initialized"
+ msgstr "objekt %qD med variabel storlek kan inte initieras"
+
+-#: cp/decl.c:4920
++#: cp/decl.c:4940
+ #, gcc-internal-format
+ msgid "%qD has incomplete type"
+ msgstr "%qD har en ofullständig typ"
+
+-#: cp/decl.c:4935
++#: cp/decl.c:4955
+ #, gcc-internal-format
+ msgid "scalar object %qD requires one element in initializer"
+ msgstr "skalärt objekt %qD kräver ett element i initieraren"
+
+ #. A non-aggregate that is not a scalar cannot be initialized
+ #. via an initializer-list in C++98.
+-#: cp/decl.c:4945
++#: cp/decl.c:4965
+ #, gcc-internal-format
+ msgid "braces around initializer for non-aggregate type %qT"
+ msgstr "klamrar runt initierare för ej sammansatt typ %qT"
+
+-#: cp/decl.c:4995
++#: cp/decl.c:5015
+ #, gcc-internal-format
+ msgid "%qD must be initialized by constructor, not by %<{...}%>"
+ msgstr "%qD måste initieras med en konstruerare, inte med %<{...}%>"
+
+-#: cp/decl.c:5031
++#: cp/decl.c:5051
+ #, 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.c:5046
++#: cp/decl.c:5066
+ #, gcc-internal-format
+ msgid "structure %qD with uninitialized const members"
+ msgstr "post %qD med oinitierade const-medlemmar"
+
+-#: cp/decl.c:5048
++#: cp/decl.c:5068
+ #, gcc-internal-format
+ msgid "structure %qD with uninitialized reference members"
+ msgstr "struktur %qD med oinitierade referensmedlemmar"
+
+-#: cp/decl.c:5330
++#: cp/decl.c:5364
+ #, gcc-internal-format
+ msgid "assignment (not initialization) in declaration"
+ msgstr "tilldelning (inte initiering) i deklaration"
+
+-#: cp/decl.c:5420
++#: cp/decl.c:5460
+ #, gcc-internal-format
+ msgid "shadowing previous type declaration of %q#D"
+ msgstr "skuggar tidigare typdeklaration av %q#D"
+
+-#: cp/decl.c:5450
++#: cp/decl.c:5490
+ #, gcc-internal-format
+ msgid "%qD cannot be thread-local because it has non-POD type %qT"
+ msgstr "%qD kan inte vara trådlokal för den har icke-POD-typ %qT"
+
+-#: cp/decl.c:5485
++#: cp/decl.c:5522
+ #, gcc-internal-format
++msgid "Java object %qD not allocated with %<new%>"
++msgstr "Javaobjekt %qD är inte allokerat med %<new%>"
++
++#: cp/decl.c:5539
++#, gcc-internal-format
+ msgid "%qD is thread-local and so cannot be dynamically initialized"
+ msgstr "%qD är trådlokal och kan därför inte initieras dynamiskt"
+
+-#: cp/decl.c:5503
++#: cp/decl.c:5557
+ #, gcc-internal-format
+ msgid "%qD cannot be initialized by a non-constant expression when being declared"
+ msgstr "%qD kan inte initieras från ett icke-konstant uttryck vid deklarationen"
+
+-#: cp/decl.c:6160
++#: cp/decl.c:5597
+ #, gcc-internal-format
++msgid "non-static data member %qD has Java class type"
++msgstr "icke-statisk datamedlem %qD har Javaklasstyp"
++
++#: cp/decl.c:6232
++#, 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.c:6162
++#: cp/decl.c:6234
+ #, 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.c:6183
++#: cp/decl.c:6255
+ #, gcc-internal-format
+ msgid "%qD declared as a %<virtual%> %s"
+ msgstr "%qD deklarerad som en %<virtual%> %s"
+
+-#: cp/decl.c:6185
++#: cp/decl.c:6257
+ #, gcc-internal-format
+ msgid "%qD declared as an %<inline%> %s"
+ msgstr "%qD deklarerad som en %<inline%> %s"
+
+-#: cp/decl.c:6187
++#: cp/decl.c:6259
+ #, gcc-internal-format
+ msgid "%<const%> and %<volatile%> function specifiers on %qD invalid in %s declaration"
+ msgstr "%<const%>- och %<volatile%>-funktionsspecificerare på %qD är ogiltiga i %s-deklaration"
+
+-#: cp/decl.c:6191
++#: cp/decl.c:6263
+ #, gcc-internal-format
+ msgid "%q+D declared as a friend"
+ msgstr "%q+D deklarerad som en vän"
+
+-#: cp/decl.c:6197
++#: cp/decl.c:6269
+ #, gcc-internal-format
+ msgid "%q+D declared with an exception specification"
+ msgstr "%q+D deklarerad med en undantagsspecifikationer"
+
+-#: cp/decl.c:6231
++#: cp/decl.c:6303
+ #, 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.c:6342
++#: cp/decl.c:6414
+ #, gcc-internal-format
+ msgid "defining explicit specialization %qD in friend declaration"
+ msgstr "definierar explicit specialisering %qD i vändeklaration"
+
+ #. Something like `template <class T> friend void f<T>()'.
+-#: cp/decl.c:6352
++#: cp/decl.c:6424
+ #, 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.c:6382
++#: cp/decl.c:6454
+ #, 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.c:6390
++#: cp/decl.c:6462
+ #, gcc-internal-format
+ msgid "%<inline%> is not allowed in declaration of friend template specialization %qD"
+ msgstr "%<inline%> är inte tillåtet i deklaration av vänmallspecialisering %qD"
+
+-#: cp/decl.c:6433
++#: cp/decl.c:6505
+ #, gcc-internal-format
+ msgid "cannot declare %<::main%> to be a template"
+ msgstr "det går inte att deklarera %<::main%> som en mall"
+
+-#: cp/decl.c:6435
++#: cp/decl.c:6507
+ #, gcc-internal-format
+ msgid "cannot declare %<::main%> to be inline"
+ msgstr "det går inte att deklarera %<::main%> som inline"
+
+-#: cp/decl.c:6437
++#: cp/decl.c:6509
+ #, gcc-internal-format
+ msgid "cannot declare %<::main%> to be static"
+ msgstr "det går inte att deklarera %<::main%> som static"
+
+-#: cp/decl.c:6465
++#: cp/decl.c:6537
+ #, gcc-internal-format
+ msgid "non-local function %q#D uses anonymous type"
+ msgstr "ickelokal funktion %q#D använder anonym typ"
+
+-#: cp/decl.c:6468 cp/decl.c:6748
++#: cp/decl.c:6540 cp/decl.c:6820
+ #, gcc-internal-format
+ msgid "%q+#D does not refer to the unqualified type, so it is not used for linkage"
+ msgstr "%+#D refererar inte till den okvalificerade typen, så den används int för länkklass"
+
+-#: cp/decl.c:6474
++#: cp/decl.c:6546
+ #, gcc-internal-format
+ msgid "non-local function %q#D uses local type %qT"
+ msgstr "ickelokal funktionen %qD använder lokal typ %qT"
+
+-#: cp/decl.c:6498
++#: cp/decl.c:6570
+ #, gcc-internal-format
+ msgid "static member function %qD cannot have cv-qualifier"
+ msgstr "statisk medlemsfunktion %qD kan inte ha cv-kvalificerare"
+
+-#: cp/decl.c:6499
++#: cp/decl.c:6571
+ #, gcc-internal-format
+ msgid "non-member function %qD cannot have cv-qualifier"
+ msgstr "icke-medlemsfunktion %qD kan inte ha cv-kvalificerare"
+
+-#: cp/decl.c:6547
++#: cp/decl.c:6619
+ #, gcc-internal-format
+ msgid "%<::main%> must return %<int%>"
+ msgstr "%<::main%> måste returnera %<int%>"
+
+-#: cp/decl.c:6586
++#: cp/decl.c:6658
+ #, gcc-internal-format
+ msgid "definition of implicitly-declared %qD"
+ msgstr "omdefinition av implicit deklarerad %qD"
+
+-#: cp/decl.c:6603 cp/decl2.c:677
++#: cp/decl.c:6675 cp/decl2.c:677
+ #, gcc-internal-format
+ msgid "no %q#D member function declared in class %qT"
+ msgstr "ingen medlemsfunktion %q#D deklarerad i klassen %qT"
+@@ -28140,546 +28115,551 @@
+ #. 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/decl.c:6745
++#: cp/decl.c:6817
+ #, gcc-internal-format
+ msgid "non-local variable %q#D uses anonymous type"
+ msgstr "icke-lokal variabel %q#D använder anonym typ"
+
+-#: cp/decl.c:6754
++#: cp/decl.c:6826
+ #, gcc-internal-format
+ msgid "non-local variable %q#D uses local type %qT"
+ msgstr "ickelokal variabel %q#D använder lokal typ %qT"
+
+-#: cp/decl.c:6876
++#: cp/decl.c:6948
+ #, 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 heltaltyp %qT"
+
+-#: cp/decl.c:6886
++#: cp/decl.c:6958
+ #, 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.c:6890
++#: cp/decl.c:6962
+ #, 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.c:6915
++#: cp/decl.c:6987
+ #, 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.c:6917
++#: cp/decl.c:6989
+ #, 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.c:6965
++#: cp/decl.c:7037
+ #, gcc-internal-format
+ msgid "size of array %qD is negative"
+ msgstr "storleken på vektorn %qD är negativ"
+
+-#: cp/decl.c:6967
++#: cp/decl.c:7039
+ #, gcc-internal-format
+ msgid "size of array is negative"
+ msgstr "storleken på vektorn är negativ"
+
+-#: cp/decl.c:6975
++#: cp/decl.c:7047
+ #, gcc-internal-format
+ msgid "ISO C++ forbids zero-size array %qD"
+ msgstr "ISO C++ förbjuder vektor %qD med storlek noll"
+
+-#: cp/decl.c:6977
++#: cp/decl.c:7049
+ #, gcc-internal-format
+ msgid "ISO C++ forbids zero-size array"
+ msgstr "ISO C++ förbjuder vektor med storlek noll"
+
+-#: cp/decl.c:6984
++#: cp/decl.c:7056
+ #, 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.c:6987
++#: cp/decl.c:7059
+ #, 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.c:6993
++#: cp/decl.c:7065
+ #, gcc-internal-format
+ msgid "ISO C++ forbids variable length array %qD"
+ msgstr "ISO C++ förbjuder vektor %qD med variabel längd"
+
+-#: cp/decl.c:6995
++#: cp/decl.c:7067
+ #, gcc-internal-format
+ msgid "ISO C++ forbids variable length array"
+ msgstr "ISO C++ förbjuder vektor med variabel längd"
+
+-#: cp/decl.c:7001
++#: cp/decl.c:7073
+ #, gcc-internal-format
+ msgid "variable length array %qD is used"
+ msgstr "vektor %qD med variabel längd används"
+
+-#: cp/decl.c:7035
++#: cp/decl.c:7107
+ #, gcc-internal-format
+ msgid "overflow in array dimension"
+ msgstr "spill i vektordimension"
+
+-#: cp/decl.c:7116
++#: cp/decl.c:7188
+ #, gcc-internal-format
+ msgid "declaration of %qD as %s"
+ msgstr "deklaration av %qD som %s"
+
+-#: cp/decl.c:7118
++#: cp/decl.c:7190
+ #, gcc-internal-format
+ msgid "creating %s"
+ msgstr "skapar %s"
+
+-#: cp/decl.c:7130
++#: cp/decl.c:7202
+ #, 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.c:7134
++#: cp/decl.c:7206
+ #, 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.c:7169
++#: cp/decl.c:7241
+ #, gcc-internal-format
+ msgid "return type specification for constructor invalid"
+ msgstr "en returtypsspecifikation för konstruerare är ogiltig"
+
+-#: cp/decl.c:7179
++#: cp/decl.c:7251
+ #, gcc-internal-format
+ msgid "return type specification for destructor invalid"
+ msgstr "specifikation av returtyp för destruerare är ogiltigt"
+
+-#: cp/decl.c:7192
++#: cp/decl.c:7264
+ #, gcc-internal-format
+ msgid "return type specified for %<operator %T%>"
+ msgstr "returtyp angiven för %<operator %T%>"
+
+-#: cp/decl.c:7214
++#: cp/decl.c:7286
+ #, gcc-internal-format
+ msgid "unnamed variable or field declared void"
+ msgstr "namnlös variabel eller fält deklarerad void"
+
+-#: cp/decl.c:7218
++#: cp/decl.c:7290
+ #, gcc-internal-format
+ msgid "variable or field %qE declared void"
+ msgstr "variabel eller fält %qE deklarerad void"
+
+-#: cp/decl.c:7221
++#: cp/decl.c:7293
+ #, gcc-internal-format
+ msgid "variable or field declared void"
+ msgstr "variabel eller fält deklarerad void"
+
+-#: cp/decl.c:7388
++#: cp/decl.c:7460
+ #, gcc-internal-format
+ msgid "invalid use of qualified-name %<::%D%>"
+ msgstr "ogiltigt användning av kvalificerat namn %<::%D%>"
+
+-#: cp/decl.c:7391
++#: cp/decl.c:7463
+ #, gcc-internal-format
+ msgid "invalid use of qualified-name %<%T::%D%>"
+ msgstr "ogiltig användning av kvalificerat namn %<%T::%D%>"
+
+-#: cp/decl.c:7394
++#: cp/decl.c:7466
+ #, gcc-internal-format
+ msgid "invalid use of qualified-name %<%D::%D%>"
+ msgstr "ogiltig användning av kvalificerat namn %<%D::%D%>"
+
+-#: cp/decl.c:7406
++#: cp/decl.c:7478
+ #, gcc-internal-format
+ msgid "type %qT is not derived from type %qT"
+ msgstr "typ %qT är inte härledd från typen %qT"
+
+-#: cp/decl.c:7422 cp/decl.c:7512 cp/decl.c:8660
++#: cp/decl.c:7494 cp/decl.c:7584 cp/decl.c:8732
+ #, gcc-internal-format
+ msgid "declaration of %qD as non-function"
+ msgstr "deklaration av %qD som en icke-funktion"
+
+-#: cp/decl.c:7428
++#: cp/decl.c:7500
+ #, gcc-internal-format
+ msgid "declaration of %qD as non-member"
+ msgstr "deklaration av %qD som icke-medlem"
+
+-#: cp/decl.c:7457
++#: cp/decl.c:7529
+ #, gcc-internal-format
+ msgid "declarator-id missing; using reserved word %qD"
+ msgstr "deklarerar-id saknas, använder reserverat ord %qD"
+
+-#: cp/decl.c:7504
++#: cp/decl.c:7576
+ #, gcc-internal-format
+ msgid "function definition does not declare parameters"
+ msgstr "funktionsdefinition deklarerar inte parametrar"
+
+-#: cp/decl.c:7546
++#: cp/decl.c:7618
+ #, gcc-internal-format
+ msgid "two or more data types in declaration of %qs"
+ msgstr "två eller fler datatyper i deklaration av %qs"
+
+-#: cp/decl.c:7552
++#: cp/decl.c:7624
+ #, gcc-internal-format
+ msgid "conflicting specifiers in declaration of %qs"
+ msgstr "motstridande specificerare i deklarationen av %qs"
+
+-#: cp/decl.c:7623 cp/decl.c:7626
++#: cp/decl.c:7695 cp/decl.c:7698
+ #, 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.c:7651
++#: cp/decl.c:7723
+ #, gcc-internal-format
+ msgid "%<signed%> or %<unsigned%> invalid for %qs"
+ msgstr "%<signed%> eller %<unsigned%> är ogiltigt för %qs"
+
+-#: cp/decl.c:7653
++#: cp/decl.c:7725
+ #, gcc-internal-format
+ msgid "%<signed%> and %<unsigned%> specified together for %qs"
+ msgstr "%<signed%> och %<unsigned%> givna tillsammans för %qs"
+
+-#: cp/decl.c:7655
++#: cp/decl.c:7727
+ #, gcc-internal-format
+ msgid "%<long long%> invalid for %qs"
+ msgstr "%<long long%> ogiltig för %qs"
+
+-#: cp/decl.c:7657
++#: cp/decl.c:7729
+ #, gcc-internal-format
+ msgid "%<long%> invalid for %qs"
+ msgstr "%<long%> ogiltig för %qs"
+
+-#: cp/decl.c:7659
++#: cp/decl.c:7731
+ #, gcc-internal-format
+ msgid "%<short%> invalid for %qs"
+ msgstr "%<short%> ogiltig för %qs"
+
+-#: cp/decl.c:7661
++#: cp/decl.c:7733
+ #, gcc-internal-format
+ msgid "%<long%> or %<short%> invalid for %qs"
+ msgstr "%<long%> eller %<short%> ogiltig för %qs"
+
+-#: cp/decl.c:7663
++#: cp/decl.c:7735
+ #, gcc-internal-format
+ msgid "%<long%> or %<short%> specified with char for %qs"
+ msgstr "%<long%> eller %<short%> angiven med char för %qs"
+
+-#: cp/decl.c:7665
++#: cp/decl.c:7737
+ #, gcc-internal-format
+ msgid "%<long%> and %<short%> specified together for %qs"
+ msgstr "%<long%> och %<short%> angivna tillsammans för %qs"
+
+-#: cp/decl.c:7671
++#: cp/decl.c:7743
+ #, gcc-internal-format
+ msgid "long, short, signed or unsigned used invalidly for %qs"
+ msgstr "long, short, signed eller unsigned använd felaktigt för %qs"
+
+-#: cp/decl.c:7735
++#: cp/decl.c:7807
+ #, gcc-internal-format
+ msgid "complex invalid for %qs"
+ msgstr "complex ogiltig för %qs"
+
+-#: cp/decl.c:7764
++#: cp/decl.c:7836
+ #, gcc-internal-format
+ msgid "qualifiers are not allowed on declaration of %<operator %T%>"
+ msgstr "kvalificerare är inte tillåtna på deklaration av %<operator %T%>"
+
+-#: cp/decl.c:7776 cp/typeck.c:7011
++#: cp/decl.c:7848 cp/typeck.c:7039
+ #, gcc-internal-format
+ msgid "ignoring %qV qualifiers added to function type %qT"
+ msgstr "kvalificerare %qV tillagda till funktionstyp %qT ignorerade"
+
+-#: cp/decl.c:7799
++#: cp/decl.c:7871
+ #, gcc-internal-format
+ msgid "member %qD cannot be declared both virtual and static"
+ msgstr "medlem %qD kan inte deklareras både virtual och static"
+
+-#: cp/decl.c:7807
++#: cp/decl.c:7879
+ #, gcc-internal-format
+ msgid "%<%T::%D%> is not a valid declarator"
+ msgstr "%<%T::%D%> är inte en giltig deklarerare"
+
+-#: cp/decl.c:7816
++#: cp/decl.c:7888
+ #, gcc-internal-format
+ msgid "typedef declaration invalid in parameter declaration"
+ msgstr "typedef-deklaration ogiltig i parameterdeklaration"
+
+-#: cp/decl.c:7822
++#: cp/decl.c:7894
+ #, gcc-internal-format
+ msgid "storage class specifiers invalid in parameter declarations"
+ msgstr "specificerare av lagringsklass ogiltig i parameterdeklarationer"
+
+-#: cp/decl.c:7829
++#: cp/decl.c:7901
+ #, gcc-internal-format
+ msgid "virtual outside class declaration"
+ msgstr "virtual utanför klassdeklaration"
+
+-#: cp/decl.c:7847
++#: cp/decl.c:7919
+ #, gcc-internal-format
+ msgid "multiple storage classes in declaration of %qs"
+ msgstr "flera lagringsklasser i deklaration av %qs"
+
+-#: cp/decl.c:7870
++#: cp/decl.c:7942
+ #, gcc-internal-format
+ msgid "storage class specified for %qs"
+ msgstr "lagringsklass angiven för %qs"
+
+-#: cp/decl.c:7904
++#: cp/decl.c:7976
+ #, gcc-internal-format
+ msgid "top-level declaration of %qs specifies %<auto%>"
+ msgstr "toppnivådeklaration av %qs anger %<auto%>"
+
+-#: cp/decl.c:7916
++#: cp/decl.c:7988
+ #, gcc-internal-format
+ msgid "storage class specifiers invalid in friend function declarations"
+ msgstr "ogiltig specificerare av lagringsklass i vänfunktionsdeklarationer"
+
+-#: cp/decl.c:8043
++#: cp/decl.c:8115
+ #, gcc-internal-format
+ msgid "destructor cannot be static member function"
+ msgstr "destruerare kan inte vara en statisk medlemsfunktion"
+
+-#: cp/decl.c:8048
++#: cp/decl.c:8120
+ #, gcc-internal-format
+ msgid "destructors may not be cv-qualified"
+ msgstr "destruerare får inte vara cv-kvalificerade"
+
+-#: cp/decl.c:8066
++#: cp/decl.c:8138
+ #, gcc-internal-format
+ msgid "constructors cannot be declared virtual"
+ msgstr "konstruerare kan inte deklareras virtual"
+
+-#: cp/decl.c:8079
++#: cp/decl.c:8151
+ #, gcc-internal-format
+ msgid "can't initialize friend function %qs"
+ msgstr "det går inte att initiera vänfunktionen %qs"
+
+ #. Cannot be both friend and virtual.
+-#: cp/decl.c:8083
++#: cp/decl.c:8155
+ #, gcc-internal-format
+ msgid "virtual functions cannot be friends"
+ msgstr "virtuella funktioner kan inte vara vänner"
+
+-#: cp/decl.c:8087
++#: cp/decl.c:8159
+ #, gcc-internal-format
+ msgid "friend declaration not in class definition"
+ msgstr "vändeklaration är inte i klassdefinition"
+
+-#: cp/decl.c:8089
++#: cp/decl.c:8161
+ #, gcc-internal-format
+ msgid "can't 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.c:8102
++#: cp/decl.c:8174
+ #, gcc-internal-format
+ msgid "destructors may not have parameters"
+ msgstr "destruerare får inte ha parametrar"
+
+-#: cp/decl.c:8121
++#: cp/decl.c:8193
+ #, gcc-internal-format
+ msgid "cannot declare pointer to %q#T"
+ msgstr "det går inte att deklarera pekare till %q#T"
+
+-#: cp/decl.c:8134 cp/decl.c:8141
++#: cp/decl.c:8206 cp/decl.c:8213
+ #, gcc-internal-format
+ msgid "cannot declare reference to %q#T"
+ msgstr "det går inte att deklarera referens till %q#T"
+
+-#: cp/decl.c:8143
++#: cp/decl.c:8215
+ #, 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.c:8194
++#: cp/decl.c:8266
+ #, 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.c:8238
++#: cp/decl.c:8310
+ #, gcc-internal-format
+ msgid "template-id %qD used as a declarator"
+ msgstr "mall-id %qD använd som en deklarerare"
+
+-#: cp/decl.c:8289
++#: cp/decl.c:8361
+ #, gcc-internal-format
+ msgid "member functions are implicitly friends of their class"
+ msgstr "medlemsfunktioner är implicit vänner till sin klass"
+
+-#: cp/decl.c:8293
++#: cp/decl.c:8365
+ #, gcc-internal-format
+ msgid "extra qualification %<%T::%> on member %qs"
+ msgstr "extra kvalifikation %<%T::%> på medlem %qs"
+
+-#: cp/decl.c:8325
++#: cp/decl.c:8397
+ #, gcc-internal-format
+ msgid "cannot define member function %<%T::%s%> within %<%T%>"
+ msgstr "det går inte att definiera medlemsfunktion %<%T::%s%> inuti %<%T%>"
+
+-#: cp/decl.c:8342
++#: cp/decl.c:8414
+ #, 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.c:8365
++#: cp/decl.c:8437
+ #, gcc-internal-format
+ msgid "non-parameter %qs cannot be a parameter pack"
+ msgstr "icke-parameter %qs kan inte vara ett parameterpaket"
+
+-#: cp/decl.c:8386
++#: cp/decl.c:8458
+ #, gcc-internal-format
+ msgid "data member may not have variably modified type %qT"
+ msgstr "datamedlem får inte ha variabel typ %qT"
+
+-#: cp/decl.c:8388
++#: cp/decl.c:8460
+ #, gcc-internal-format
+ msgid "parameter may not have variably modified type %qT"
+ msgstr "parameter får inte ha variabel typ %qT"
+
+ #. [dcl.fct.spec] The explicit specifier shall only be used in
+ #. declarations of constructors within a class definition.
+-#: cp/decl.c:8396
++#: cp/decl.c:8468
+ #, gcc-internal-format
+ msgid "only declarations of constructors can be %<explicit%>"
+ msgstr "endast deklarationer av konstruerare kan vara %<explicit%>"
+
+-#: cp/decl.c:8404
++#: cp/decl.c:8476
+ #, gcc-internal-format
+ msgid "non-member %qs cannot be declared %<mutable%>"
+ msgstr "icke-medlem %qs kan inte deklareras %<mutable%>"
+
+-#: cp/decl.c:8409
++#: cp/decl.c:8481
+ #, gcc-internal-format
+ msgid "non-object member %qs cannot be declared %<mutable%>"
+ msgstr "icke-objektmedlem %qs kan inte deklareras %<mutable%>"
+
+-#: cp/decl.c:8415
++#: cp/decl.c:8487
+ #, gcc-internal-format
+ msgid "function %qs cannot be declared %<mutable%>"
+ msgstr "funktionen %qs kan inte deklareras %<mutable%>"
+
+-#: cp/decl.c:8420
++#: cp/decl.c:8492
+ #, gcc-internal-format
+ msgid "static %qs cannot be declared %<mutable%>"
+ msgstr "statiska %qs kan inte deklareras %<mutable%>"
+
+-#: cp/decl.c:8425
++#: cp/decl.c:8497
+ #, gcc-internal-format
+ msgid "const %qs cannot be declared %<mutable%>"
+ msgstr "const %qs kan inte deklareras %<mutable%>"
+
+-#: cp/decl.c:8462
++#: cp/decl.c:8534
+ #, gcc-internal-format
+ msgid "%Jtypedef name may not be a nested-name-specifier"
+ msgstr "%Jtypedef-namn får inte vara en nästad-namnspecificerare"
+
+-#: cp/decl.c:8478
++#: cp/decl.c:8550
+ #, 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.c:8564
++#: cp/decl.c:8636
+ #, gcc-internal-format
+ msgid "qualified function types cannot be used to declare static member functions"
+ msgstr "kvalificerade funktiontyper kan inte användas för att deklarera statiska medlemsfunktioner"
+
+-#: cp/decl.c:8566
++#: cp/decl.c:8638
+ #, gcc-internal-format
+ msgid "qualified function types cannot be used to declare free functions"
+ msgstr "kvalificerade funktiontyper kan inte användas för att deklarera fria funktioner"
+
+-#: cp/decl.c:8592
++#: cp/decl.c:8664
+ #, gcc-internal-format
+ msgid "type qualifiers specified for friend class declaration"
+ msgstr "typkvalificerare angivna för vänklassdeklaration"
+
+-#: cp/decl.c:8597
++#: cp/decl.c:8669
+ #, gcc-internal-format
+ msgid "%<inline%> specified for friend class declaration"
+ msgstr "%<inline%> angivet för vänklassdeklaration"
+
+-#: cp/decl.c:8605
++#: cp/decl.c:8677
+ #, gcc-internal-format
+ msgid "template parameters cannot be friends"
+ msgstr "mallparametrar kan inte vara vänner"
+
+-#: cp/decl.c:8607
++#: cp/decl.c:8679
+ #, gcc-internal-format
+ msgid "friend declaration requires class-key, i.e. %<friend class %T::%D%>"
+ msgstr "vändeklaration kräver klassnyckel, d.v.s. %<friend class %T::%D%>"
+
+-#: cp/decl.c:8611
++#: cp/decl.c:8683
+ #, gcc-internal-format
+ msgid "friend declaration requires class-key, i.e. %<friend %#T%>"
+ msgstr "vändeklaration kräver klassnyckel, d.v.s. %<friend %#T%>"
+
+-#: cp/decl.c:8624
++#: cp/decl.c:8696
+ #, 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.c:8635
++#: cp/decl.c:8707
+ #, gcc-internal-format
+ msgid "invalid qualifiers on non-member function type"
+ msgstr "ogiltiga kvalificerare på typ som inte är medlemsfunktion"
+
+-#: cp/decl.c:8650
++#: cp/decl.c:8722
+ #, gcc-internal-format
+ msgid "abstract declarator %qT used as declaration"
+ msgstr "abstrakt deklarerare %qT använd som deklaration"
+
+-#: cp/decl.c:8679
++#: cp/decl.c:8751
+ #, gcc-internal-format
+ msgid "cannot use %<::%> in parameter declaration"
+ msgstr "det går inte att använda %<::%> i parameterdeklaration"
+
+ #. Something like struct S { int N::j; };
+-#: cp/decl.c:8725
++#: cp/decl.c:8797
+ #, gcc-internal-format
+ msgid "invalid use of %<::%>"
+ msgstr "ogiltigt användning av %<::%>"
+
+-#: cp/decl.c:8740
++#: cp/decl.c:8812
+ #, gcc-internal-format
+ msgid "can't make %qD into a method -- not in a class"
+ msgstr "kan inte göra %qD till en metod -- är inte i en klass"
+
+-#: cp/decl.c:8749
++#: cp/decl.c:8821
+ #, gcc-internal-format
+ msgid "function %qD declared virtual inside a union"
+ msgstr "funktionen %qD deklarerad virtuell inuti en union"
+
+-#: cp/decl.c:8758
++#: cp/decl.c:8830
+ #, gcc-internal-format
+ msgid "%qD cannot be declared virtual, since it is always static"
+ msgstr "%qD kan inte deklareras virtuell, eftersom den redan är statisk"
+
+-#: cp/decl.c:8774
++#: cp/decl.c:8846
+ #, 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.c:8784
++#: cp/decl.c:8856
+ #, gcc-internal-format
+ msgid "declaration of %qD as member of %qT"
+ msgstr "deklaration av %qD som medlem av %qT"
+
+-#: cp/decl.c:8860
++#: cp/decl.c:8863
+ #, 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.c:8939
++#, gcc-internal-format
+ msgid "field %qD has incomplete type"
+ msgstr "fält %qD har ofullständig typ"
+
+-#: cp/decl.c:8862
++#: cp/decl.c:8941
+ #, gcc-internal-format
+ msgid "name %qT has incomplete type"
+ msgstr "namnet %qT har ofullständig typ"
+
+-#: cp/decl.c:8871
++#: cp/decl.c:8950
+ #, gcc-internal-format
+ msgid " in instantiation of template %qT"
+ msgstr " i instansiering av mallen %qT"
+
+-#: cp/decl.c:8880
++#: cp/decl.c:8959
+ #, 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"
+@@ -28696,103 +28676,108 @@
+ #. the rest of the compiler does not correctly
+ #. handle the initialization unless the member is
+ #. static so we make it static below.
+-#: cp/decl.c:8932
++#: cp/decl.c:9011
+ #, gcc-internal-format
+ msgid "ISO C++ forbids initialization of member %qD"
+ msgstr "ISO C++ förbjuder initiering av medlem %qD"
+
+-#: cp/decl.c:8934
++#: cp/decl.c:9013
+ #, gcc-internal-format
+ msgid "making %qD static"
+ msgstr "gör %qD statisk"
+
+-#: cp/decl.c:8999
++#: cp/decl.c:9078
+ #, gcc-internal-format
+ msgid "storage class %<auto%> invalid for function %qs"
+ msgstr "lagringsklassen %<auto%> är ogiltig för funktionen %qs"
+
+-#: cp/decl.c:9001
++#: cp/decl.c:9080
+ #, gcc-internal-format
+ msgid "storage class %<register%> invalid for function %qs"
+ msgstr "lagringsklassen %<register%> är ogiltig för funktionen %qs"
+
+-#: cp/decl.c:9003
++#: cp/decl.c:9082
+ #, gcc-internal-format
+ msgid "storage class %<__thread%> invalid for function %qs"
+ msgstr "lagringsklassen %<__thread%> är ogiltig för funktionen %qs"
+
+-#: cp/decl.c:9014
++#: cp/decl.c:9093
+ #, gcc-internal-format
+ msgid "%<static%> specified invalid for function %qs declared out of global scope"
+ msgstr "specificerare %<static%> är ogiltigt för funktion %qs deklarerad utanför global räckvidd"
+
+-#: cp/decl.c:9017
++#: cp/decl.c:9096
+ #, gcc-internal-format
+ msgid "%<inline%> specifier invalid for function %qs declared out of global scope"
+ msgstr "specificerare %<inline%> är ogiltig för funktionen %qs deklarerad utanför global räckvidd"
+
+-#: cp/decl.c:9025
++#: cp/decl.c:9104
+ #, gcc-internal-format
+ msgid "virtual non-class function %qs"
+ msgstr "virtuell icke klassfunktion %qs"
+
+-#: cp/decl.c:9056
++#: cp/decl.c:9135
+ #, 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"
+
+ #. FIXME need arm citation
+-#: cp/decl.c:9063
++#: cp/decl.c:9142
+ #, gcc-internal-format
+ msgid "cannot declare static function inside another function"
+ msgstr "kan inte deklarera en statisk funktion i en annan funktion"
+
+-#: cp/decl.c:9093
++#: cp/decl.c:9172
+ #, gcc-internal-format
+ msgid "%<static%> may not be used when defining (as opposed to declaring) a static data member"
+ msgstr "%<static%> får inte användas vid definition (till skillnad mot deklaration) av statisk datamedlem"
+
+-#: cp/decl.c:9100
++#: cp/decl.c:9179
+ #, gcc-internal-format
+ msgid "static member %qD declared %<register%>"
+ msgstr "statisk medlem %qD deklarerad %<register%>"
+
+-#: cp/decl.c:9105
++#: cp/decl.c:9184
+ #, 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.c:9234
++#: cp/decl.c:9313
+ #, gcc-internal-format
+ msgid "default argument for %q#D has type %qT"
+ msgstr "standardargumentet för %q#D har typen %qT"
+
+-#: cp/decl.c:9237
++#: cp/decl.c:9316
+ #, gcc-internal-format
+ msgid "default argument for parameter of type %qT has type %qT"
+ msgstr "standardargumentet för parameter av typen %qT har typen %qT"
+
+-#: cp/decl.c:9253
++#: cp/decl.c:9332
+ #, gcc-internal-format
+ msgid "default argument %qE uses local variable %qD"
+ msgstr "standardargument %qE använder lokal variabel %qD"
+
+-#: cp/decl.c:9323
++#: cp/decl.c:9399
+ #, gcc-internal-format
++msgid "parameter %qD has Java class type"
++msgstr "parametern %qD har Javaklasstyp"
++
++#: cp/decl.c:9412
++#, gcc-internal-format
+ msgid "parameter %qD invalidly declared method type"
+ msgstr "parameter %qD ogiltigt deklarerad metodtyp"
+
+-#: cp/decl.c:9347
++#: cp/decl.c:9436
+ #, gcc-internal-format
+ msgid "parameter %qD includes %s to array of unknown bound %qT"
+ msgstr "parameter %qD inkluderar %s till vektor %qT med okänd gräns"
+
+-#: cp/decl.c:9361
++#: cp/decl.c:9450
+ #, gcc-internal-format
+ msgid "parameter packs must be at the end of the parameter list"
+ msgstr "parameterpaket måste vara vid slutet av parameterlistan"
+
+-#: cp/decl.c:9366
++#: cp/decl.c:9455
+ #, gcc-internal-format
+ msgid "multiple parameters named %qE"
+ msgstr "flera parametrar med namnet %qE"
+@@ -28812,138 +28797,138 @@
+ #. or implicitly defined), there's no need to worry about their
+ #. existence. Theoretically, they should never even be
+ #. instantiated, but that's hard to forestall.
+-#: cp/decl.c:9581
++#: cp/decl.c:9672
+ #, gcc-internal-format
+ msgid "invalid constructor; you probably meant %<%T (const %T&)%>"
+ msgstr "ogiltig konstruerare, du menade förmodligen %<%T (const %T&)%>"
+
+-#: cp/decl.c:9703
++#: cp/decl.c:9794
+ #, gcc-internal-format
+ msgid "%qD may not be declared within a namespace"
+ msgstr "%qD är kanske inte deklarerad i en namnrymd"
+
+-#: cp/decl.c:9708
++#: cp/decl.c:9799
+ #, gcc-internal-format
+ msgid "%qD may not be declared as static"
+ msgstr "%qD får inte deklareras som statisk"
+
+-#: cp/decl.c:9731
++#: cp/decl.c:9825
+ #, gcc-internal-format
+ msgid "%qD must be a nonstatic member function"
+ msgstr "%qD måste vara en icke-statisk medlemsfunktion"
+
+-#: cp/decl.c:9740
++#: cp/decl.c:9834
+ #, 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.c:9761
++#: cp/decl.c:9855
+ #, 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"
+
+-#: cp/decl.c:9802
++#: cp/decl.c:9896
+ #, gcc-internal-format
+ msgid "conversion to %s%s will never use a type conversion operator"
+ msgstr "konvertering till %s%s kommer aldrig använda en typkonverteringsoperator"
+
+ #. 13.4.0.3
+-#: cp/decl.c:9810
++#: cp/decl.c:9904
+ #, gcc-internal-format
+ msgid "ISO C++ prohibits overloading operator ?:"
+ msgstr "ISO C++ förhindrar överlagring av operatorn ?:"
+
+-#: cp/decl.c:9815
++#: cp/decl.c:9909
+ #, gcc-internal-format
+ msgid "%qD must not have variable number of arguments"
+ msgstr "%qD får inte ha variabelt antal argument"
+
+-#: cp/decl.c:9866
++#: cp/decl.c:9960
+ #, gcc-internal-format
+ msgid "postfix %qD must take %<int%> as its argument"
+ msgstr "postfix %qD måste ta %<int%> som sitt argument"
+
+-#: cp/decl.c:9869
++#: cp/decl.c:9963
+ #, gcc-internal-format
+ msgid "postfix %qD must take %<int%> as its second argument"
+ msgstr "postfix %qD måste ta %<int%> som sitt andra argument"
+
+-#: cp/decl.c:9877
++#: cp/decl.c:9971
+ #, gcc-internal-format
+ msgid "%qD must take either zero or one argument"
+ msgstr "%qD måste ta antingen noll eller ett argument"
+
+-#: cp/decl.c:9879
++#: cp/decl.c:9973
+ #, gcc-internal-format
+ msgid "%qD must take either one or two arguments"
+ msgstr "%qD måste ta antingen ett eller två argument"
+
+-#: cp/decl.c:9901
++#: cp/decl.c:9995
+ #, gcc-internal-format
+ msgid "prefix %qD should return %qT"
+ msgstr "prefix %qD skall returnera %qT"
+
+-#: cp/decl.c:9907
++#: cp/decl.c:10001
+ #, gcc-internal-format
+ msgid "postfix %qD should return %qT"
+ msgstr "postfix %qD skall returnera %qT"
+
+-#: cp/decl.c:9916
++#: cp/decl.c:10010
+ #, gcc-internal-format
+ msgid "%qD must take %<void%>"
+ msgstr "%qD måste ta %<void%>"
+
+-#: cp/decl.c:9918 cp/decl.c:9927
++#: cp/decl.c:10012 cp/decl.c:10021
+ #, gcc-internal-format
+ msgid "%qD must take exactly one argument"
+ msgstr "%qD måste ta exakt ett argument"
+
+-#: cp/decl.c:9929
++#: cp/decl.c:10023
+ #, gcc-internal-format
+ msgid "%qD must take exactly two arguments"
+ msgstr "%qD måste ta exakt två argument"
+
+-#: cp/decl.c:9938
++#: cp/decl.c:10032
+ #, gcc-internal-format
+ msgid "user-defined %qD always evaluates both arguments"
+ msgstr "användardefinierad %qD beräknar alltid båda argumenten"
+
+-#: cp/decl.c:9952
++#: cp/decl.c:10046
+ #, gcc-internal-format
+ msgid "%qD should return by value"
+ msgstr "%qD skall returnera som värde"
+
+-#: cp/decl.c:9964 cp/decl.c:9968
++#: cp/decl.c:10058 cp/decl.c:10062
+ #, gcc-internal-format
+ msgid "%qD cannot have default arguments"
+ msgstr "%qD kan inte ha standardargument"
+
+-#: cp/decl.c:10026
++#: cp/decl.c:10120
+ #, gcc-internal-format
+ msgid "using template type parameter %qT after %qs"
+ msgstr "malltypparametern %qT används efter %qs"
+
+-#: cp/decl.c:10041
++#: cp/decl.c:10135
+ #, gcc-internal-format
+ msgid "using typedef-name %qD after %qs"
+ msgstr "typedef-namnet %qD används efter %qs"
+
+-#: cp/decl.c:10042
++#: cp/decl.c:10136
+ #, gcc-internal-format
+ msgid "%q+D has a previous declaration here"
+ msgstr "%q+D har en tidigare deklaration här"
+
+-#: cp/decl.c:10050
++#: cp/decl.c:10144
+ #, gcc-internal-format
+ msgid "%qT referred to as %qs"
+ msgstr "%qT refererad till som %qs"
+
+-#: cp/decl.c:10051 cp/decl.c:10058
++#: cp/decl.c:10145 cp/decl.c:10152
+ #, gcc-internal-format
+ msgid "%q+T has a previous declaration here"
+ msgstr "%q+T har en tidigare deklaration här"
+
+-#: cp/decl.c:10057
++#: cp/decl.c:10151
+ #, gcc-internal-format
+ msgid "%qT referred to as enum"
+ msgstr "%qT refererad till som enum"
+@@ -28955,73 +28940,73 @@
+ #. void f(class C); // No template header here
+ #.
+ #. then the required template argument is missing.
+-#: cp/decl.c:10072
++#: cp/decl.c:10166
+ #, gcc-internal-format
+ msgid "template argument required for %<%s %T%>"
+ msgstr "mallargument krävs för %<%s %T%>"
+
+-#: cp/decl.c:10120 cp/name-lookup.c:2698
++#: cp/decl.c:10214 cp/name-lookup.c:2700
+ #, 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.c:10150 cp/name-lookup.c:2207 cp/parser.c:4036 cp/parser.c:14029
+-#: cp/parser.c:16234
++#: cp/decl.c:10244 cp/name-lookup.c:2209 cp/parser.c:4040 cp/parser.c:14099
++#: cp/parser.c:16316
+ #, gcc-internal-format
+ msgid "reference to %qD is ambiguous"
+ msgstr "referens till %qD är tvetydig"
+
+-#: cp/decl.c:10264
++#: cp/decl.c:10358
+ #, gcc-internal-format
+ msgid "use of enum %q#D without previous declaration"
+ msgstr "enum %q#D används utan tidigare deklaration"
+
+-#: cp/decl.c:10285
++#: cp/decl.c:10379
+ #, gcc-internal-format
+ msgid "redeclaration of %qT as a non-template"
+ msgstr "omdeklaration av %qT som en icke-mall"
+
+-#: cp/decl.c:10286 cp/pt.c:4154
++#: cp/decl.c:10380
+ #, gcc-internal-format
+ msgid "previous declaration %q+D"
+ msgstr "tidigare deklaration %q+D"
+
+-#: cp/decl.c:10397
++#: cp/decl.c:10491
+ #, gcc-internal-format
+ msgid "derived union %qT invalid"
+ msgstr "härledd unionen %qT ogiltig"
+
+-#: cp/decl.c:10406
++#: cp/decl.c:10500
+ #, gcc-internal-format
+ msgid "Java class %qT cannot have multiple bases"
+ msgstr "Javaklass %qT kan inte ha flera baser"
+
+-#: cp/decl.c:10417
++#: cp/decl.c:10511
+ #, gcc-internal-format
+ msgid "Java class %qT cannot have virtual bases"
+ msgstr "Javaklass %qT kan inte ha virtuella baser"
+
+-#: cp/decl.c:10440
++#: cp/decl.c:10534
+ #, 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.c:10473
++#: cp/decl.c:10567
+ #, gcc-internal-format
+ msgid "recursive type %qT undefined"
+ msgstr "rekursiv typ %qT odefinierad"
+
+-#: cp/decl.c:10475
++#: cp/decl.c:10569
+ #, gcc-internal-format
+ msgid "duplicate base type %qT invalid"
+ msgstr "upprepat bastyp %qT ogiltig"
+
+-#: cp/decl.c:10552
++#: cp/decl.c:10646
+ #, gcc-internal-format
+ msgid "multiple definition of %q#T"
+ msgstr "fler definitioner av %q#T"
+
+-#: cp/decl.c:10553
++#: cp/decl.c:10647
+ #, gcc-internal-format
+ msgid "%Jprevious definition here"
+ msgstr "%Jtidigare definition här"
+@@ -29030,47 +29015,52 @@
+ #.
+ #. IF no integral type can represent all the enumerator values, the
+ #. enumeration is ill-formed.
+-#: cp/decl.c:10692
++#: cp/decl.c:10786
+ #, 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.c:10803
++#: cp/decl.c:10897
+ #, 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.c:10831
++#: cp/decl.c:10925
+ #, gcc-internal-format
+ msgid "overflow in enumeration values at %qD"
+ msgstr "överspill i uppräkningsvärden vid %qD"
+
+-#: cp/decl.c:10906
++#: cp/decl.c:11002
+ #, gcc-internal-format
+ msgid "return type %q#T is incomplete"
+ msgstr "returtypen %q#T är ofullständig"
+
+-#: cp/decl.c:11031 cp/typeck.c:6711
++#: cp/decl.c:11004
+ #, gcc-internal-format
++msgid "return type has Java class type %q#T"
++msgstr "returtypen har Javaklasstyp %q#T"
++
++#: cp/decl.c:11129 cp/typeck.c:6739
++#, gcc-internal-format
+ msgid "%<operator=%> should return a reference to %<*this%>"
+ msgstr "%<operator=%> skall returnera en referens till %<*this%>"
+
+-#: cp/decl.c:11420
++#: cp/decl.c:11518
+ #, gcc-internal-format
+ msgid "parameter %qD declared void"
+ msgstr "parameter %qD deklarerad void"
+
+-#: cp/decl.c:11908
++#: cp/decl.c:12006
+ #, gcc-internal-format
+ msgid "invalid member function declaration"
+ msgstr "ogiltig medlemsfunktionsdeklaration"
+
+-#: cp/decl.c:11923
++#: cp/decl.c:12021
+ #, gcc-internal-format
+ msgid "%qD is already defined in class %qT"
+ msgstr "%qD är redan definierad i klassen %qT"
+
+-#: cp/decl.c:12170
++#: cp/decl.c:12268
+ #, gcc-internal-format
+ msgid "static member function %q#D declared with type qualifiers"
+ msgstr "statisk medlemsfunktion %q#D deklarerad med typkvalificerare"
+@@ -29110,7 +29100,7 @@
+ msgid "deleting %qT is undefined"
+ msgstr "radera %qT är odefinierat"
+
+-#: cp/decl2.c:459 cp/pt.c:3828
++#: cp/decl2.c:459 cp/pt.c:3831
+ #, gcc-internal-format
+ msgid "template declaration of %q#D"
+ msgstr "malldeklaration av %q#D"
+@@ -29195,22 +29185,22 @@
+ msgid "static member %qD cannot be a bit-field"
+ msgstr "statisk medlem %qD kan inte vara ett bitfält"
+
+-#: cp/decl2.c:1122
++#: cp/decl2.c:1165
+ #, gcc-internal-format
+ msgid "anonymous struct not inside named type"
+ msgstr "anonym post som inte är inuti en namngiven typ"
+
+-#: cp/decl2.c:1206
++#: cp/decl2.c:1249
+ #, gcc-internal-format
+ msgid "namespace-scope anonymous aggregates must be static"
+ msgstr "anonyma aggregat med namnrymdsräckvidd måste vara statiska"
+
+-#: cp/decl2.c:1215
++#: cp/decl2.c:1258
+ #, gcc-internal-format
+ msgid "anonymous union with no members"
+ msgstr "anonym union utan medlemmar"
+
+-#: cp/decl2.c:1251
++#: cp/decl2.c:1294
+ #, gcc-internal-format
+ msgid "%<operator new%> must return type %qT"
+ msgstr "%<operator new%> måste returnera typ %qT"
+@@ -29219,52 +29209,52 @@
+ #.
+ #. The first parameter shall not have an associated default
+ #. argument.
+-#: cp/decl2.c:1262
++#: cp/decl2.c:1305
+ #, gcc-internal-format
+ msgid "the first parameter of %<operator new%> cannot have a default argument"
+ msgstr "andra parametern till %<operator new%> kan inte ha standardargument"
+
+-#: cp/decl2.c:1278
++#: cp/decl2.c:1321
+ #, gcc-internal-format
+ msgid "%<operator new%> takes type %<size_t%> (%qT) as first parameter"
+ msgstr "%<operator new%> tar typen %<size_t%> (%qT) som första parameter"
+
+-#: cp/decl2.c:1307
++#: cp/decl2.c:1350
+ #, gcc-internal-format
+ msgid "%<operator delete%> must return type %qT"
+ msgstr "%<operator new%> måste returnera typ %qT"
+
+-#: cp/decl2.c:1316
++#: cp/decl2.c:1359
+ #, gcc-internal-format
+ msgid "%<operator delete%> takes type %qT as first parameter"
+ msgstr "%<operator new%> tar typen %qT som första parameter"
+
+-#: cp/decl2.c:1985
++#: cp/decl2.c:2028
+ #, gcc-internal-format
+ msgid "%qT has a field %qD whose type uses the anonymous namespace"
+ msgstr "%qT har ett fält %qD vars typ använder den anonyma namnrymden"
+
+-#: cp/decl2.c:1992
++#: cp/decl2.c:2035
+ #, gcc-internal-format
+ msgid "%qT declared with greater visibility than the type of its field %qD"
+ msgstr "%qT är deklarerad med större synlighet än typen för dess fält %qD"
+
+-#: cp/decl2.c:2005
++#: cp/decl2.c:2048
+ #, gcc-internal-format
+ msgid "%qT has a base %qT whose type uses the anonymous namespace"
+ msgstr "%qT har en bas %qT vars typ använder den anonyma namnrymden"
+
+-#: cp/decl2.c:2011
++#: cp/decl2.c:2054
+ #, gcc-internal-format
+ msgid "%qT declared with greater visibility than its base %qT"
+ msgstr "%qT är deklarerad med större synlighet än sin bas %qT"
+
+-#: cp/decl2.c:3395
++#: cp/decl2.c:3441
+ #, gcc-internal-format
+ msgid "inline function %q+D used but never defined"
+ msgstr "inline-funktion %q+D använd men aldrig definierad"
+
+-#: cp/decl2.c:3543
++#: cp/decl2.c:3589
+ #, gcc-internal-format
+ msgid "default argument missing for parameter %P of %q+#D"
+ msgstr "standardargumentet saknas för parameter %P till %q+#D"
+@@ -29272,7 +29262,7 @@
+ #. We really want to suppress this warning in system headers,
+ #. because libstdc++ uses variadic templates even when we aren't
+ #. in C++0x mode.
+-#: cp/error.c:2669
++#: cp/error.c:2712
+ #, gcc-internal-format
+ msgid "ISO C++ does not include variadic templates"
+ msgstr "ISO C++ innehåller inte variadiska mallar"
+@@ -29304,7 +29294,7 @@
+ msgid "throwing NULL, which has integral, not pointer type"
+ msgstr "kastar NULL, som har heltals-, inte pekartyp"
+
+-#: cp/except.c:643 cp/init.c:1780
++#: cp/except.c:643 cp/init.c:1915
+ #, gcc-internal-format
+ msgid "%qD should never be overloaded"
+ msgstr "%qD skall aldrig överlagras"
+@@ -29403,232 +29393,247 @@
+ msgid "member %qD declared as friend before type %qT defined"
+ msgstr "medlem %qD deklarerad som vän före typ %qT definieras"
+
+-#: cp/friend.c:550
++#: cp/friend.c:543
+ #, gcc-internal-format
++msgid "friend declaration %qD in local class without prior declaration"
++msgstr "vändeklaration %qD i lokal klass utan en tidigare deklaration"
++
++#: cp/friend.c:564
++#, gcc-internal-format
+ msgid "friend declaration %q#D declares a non-template function"
+ msgstr "vändeklaration %q#D deklarerar en icke-mall-funktion"
+
+-#: cp/friend.c:554
++#: cp/friend.c:568
+ #, 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 "(om detta inte är vad du avsåg, se till att funktionsmallen redan har deklarerats och lägg till <> efter funktionsnamnet här) "
+
+-#: cp/init.c:334
++#: cp/init.c:374
+ #, gcc-internal-format
++msgid "value-initialization of reference"
++msgstr "värdeinitiering av referens"
++
++#: cp/init.c:481
++#, gcc-internal-format
+ msgid "%J%qD should be initialized in the member initialization list"
+ msgstr "%J%qD skall initieras i medlemsinitieringslistan"
+
+-#: cp/init.c:382
++#: cp/init.c:529
+ #, gcc-internal-format
+ msgid "%Jdefault-initialization of %q#D, which has reference type"
+ msgstr "%Jstandardinitiering av %q#D, som har referenstyp"
+
+-#: cp/init.c:388
++#: cp/init.c:535
+ #, gcc-internal-format
+ msgid "%Juninitialized reference member %qD"
+ msgstr "%Joinitierad referensmedlem %qD"
+
+-#: cp/init.c:391
++#: cp/init.c:538
+ #, gcc-internal-format
+ msgid "%Juninitialized member %qD with %<const%> type %qT"
+ msgstr "%Joinitierad medlem %qD med %<const%>-typ %qT"
+
+-#: cp/init.c:534
++#: cp/init.c:681
+ #, gcc-internal-format
+ msgid "%q+D will be initialized after"
+ msgstr "%q+D kommer initieras efter"
+
+-#: cp/init.c:537
++#: cp/init.c:684
+ #, gcc-internal-format
+ msgid "base %qT will be initialized after"
+ msgstr "basen %qT kommer initieras efter"
+
+-#: cp/init.c:540
++#: cp/init.c:687
+ #, gcc-internal-format
+ msgid " %q+#D"
+ msgstr " %q+#D"
+
+-#: cp/init.c:542
++#: cp/init.c:689
+ #, gcc-internal-format
+ msgid " base %qT"
+ msgstr " basen %qT"
+
+-#: cp/init.c:543
++#: cp/init.c:690
+ #, gcc-internal-format
+ msgid "%J when initialized here"
+ msgstr "%J vid initiering här"
+
+-#: cp/init.c:559
++#: cp/init.c:706
+ #, gcc-internal-format
+ msgid "%Jmultiple initializations given for %qD"
+ msgstr "%Jflera initieringar givna för %qD"
+
+-#: cp/init.c:562
++#: cp/init.c:709
+ #, gcc-internal-format
+ msgid "%Jmultiple initializations given for base %qT"
+ msgstr "%Jflera initieringar givna för basen %qT"
+
+-#: cp/init.c:629
++#: cp/init.c:776
+ #, gcc-internal-format
+ msgid "%Jinitializations for multiple members of %qT"
+ msgstr "%Jinitiering av flera medlemmar av %qT"
+
+-#: cp/init.c:691
++#: cp/init.c:839
+ #, gcc-internal-format
+ msgid "%Jbase class %q#T should be explicitly initialized in the copy constructor"
+ msgstr "%Jbasklass %q#T skulle varit explicit initierad i kopieringskonstrueraren"
+
+-#: cp/init.c:915 cp/init.c:934
++#: cp/init.c:1063 cp/init.c:1082
+ #, gcc-internal-format
+ msgid "class %qT does not have any field named %qD"
+ msgstr "klass %qT har inget fält med namnet %qD"
+
+-#: cp/init.c:921
++#: cp/init.c:1069
+ #, gcc-internal-format
+ msgid "%q#D is a static data member; it can only be initialized at its definition"
+ msgstr "%q#D är en statisk datamedlem; den kan endast initieras vid sin definition"
+
+-#: cp/init.c:928
++#: cp/init.c:1076
+ #, gcc-internal-format
+ msgid "%q#D is not a non-static data member of %qT"
+ msgstr "%q#D är en icke-statisk datamedlem av %qT"
+
+-#: cp/init.c:967
++#: cp/init.c:1115
+ #, gcc-internal-format
+ msgid "unnamed initializer for %qT, which has no base classes"
+ msgstr "namnlös initierare för %qT, som inte har några basklasser"
+
+-#: cp/init.c:975
++#: cp/init.c:1123
+ #, gcc-internal-format
+ msgid "unnamed initializer for %qT, which uses multiple inheritance"
+ msgstr "namnlös initierare för %qT som använder multipelt arv"
+
+-#: cp/init.c:1021
++#: cp/init.c:1169
+ #, gcc-internal-format
+ msgid "%qD is both a direct base and an indirect virtual base"
+ msgstr "%qD är både en direkt bas och en indirekt virtuell bas"
+
+-#: cp/init.c:1029
++#: cp/init.c:1177
+ #, gcc-internal-format
+ msgid "type %qT is not a direct or virtual base of %qT"
+ msgstr "typ %qT är inte en direkt eller virtuell bas till %qT"
+
+-#: cp/init.c:1032
++#: cp/init.c:1180
+ #, gcc-internal-format
+ msgid "type %qT is not a direct base of %qT"
+ msgstr "typ %qT är inte en direkt bas till %qT"
+
+-#: cp/init.c:1112
++#: cp/init.c:1260
+ #, gcc-internal-format
+ msgid "bad array initializer"
+ msgstr "felaktig vektorinitierare"
+
+-#: cp/init.c:1287
++#: cp/init.c:1435
+ #, gcc-internal-format
+ msgid "%qT is not an aggregate type"
+ msgstr "%qT är inte en aggregattyp"
+
+-#: cp/init.c:1341
++#: cp/init.c:1489
+ #, gcc-internal-format
+ msgid "incomplete type %qT does not have member %qD"
+ msgstr "ofullständig typ %qT har inte medlem %qD"
+
+-#: cp/init.c:1354
++#: cp/init.c:1502
+ #, gcc-internal-format
+ msgid "invalid pointer to bit-field %qD"
+ msgstr "ogiltigt pekare till bitfält %qD"
+
+-#: cp/init.c:1431
++#: cp/init.c:1579
+ #, gcc-internal-format
+ msgid "invalid use of non-static member function %qD"
+ msgstr "ogiltig användning av icke-statisk medlemsfunktion %qD"
+
+-#: cp/init.c:1437
++#: cp/init.c:1585
+ #, gcc-internal-format
+ msgid "invalid use of non-static data member %qD"
+ msgstr "ogiltig användning av icke-statisk datamedlem %qD"
+
+-#: cp/init.c:1714
++#: cp/init.c:1862
+ #, gcc-internal-format
+ msgid "invalid type %<void%> for new"
+ msgstr "ogiltig typ %<void%> för new"
+
+-#: cp/init.c:1724
++#: cp/init.c:1872
+ #, gcc-internal-format
+ msgid "uninitialized const in %<new%> of %q#T"
+ msgstr "oinitierad const i %<new%> av %q#T"
+
+-#: cp/init.c:1775
++#: cp/init.c:1910
+ #, gcc-internal-format
+ msgid "call to Java constructor with %qs undefined"
+ msgstr "anrop av Javakonstruerare med %qs odefinierad"
+
+-#: cp/init.c:1815
++#: cp/init.c:1926
+ #, gcc-internal-format
++msgid "Java class %q#T object allocated using placement new"
++msgstr "objekt med Javaklass %q#T allokerat med placerande new"
++
++#: cp/init.c:1955
++#, gcc-internal-format
+ msgid "no suitable %qD found in class %qT"
+ msgstr "ingen lämplig %qD i klassen %qT"
+
+-#: cp/init.c:1820
++#: cp/init.c:1960
+ #, gcc-internal-format
+ msgid "request for member %qD is ambiguous"
+ msgstr "begäran av medlem %qD är tvetydig"
+
+-#: cp/init.c:1972
++#: cp/init.c:2134
+ #, gcc-internal-format
+ msgid "ISO C++ forbids initialization in array new"
+ msgstr "ISO C++ förbjuder tilldelning i vektor-new"
+
+-#: cp/init.c:2174
++#: cp/init.c:2336
+ #, gcc-internal-format
+ msgid "size in array new must have integral type"
+ msgstr "storlek i vektor-new måste ha heltalstyp"
+
+-#: cp/init.c:2183
++#: cp/init.c:2345
+ #, gcc-internal-format
+ msgid "new cannot be applied to a reference type"
+ msgstr "new kan inte användas på en referenstyp"
+
+-#: cp/init.c:2189
++#: cp/init.c:2351
+ #, gcc-internal-format
+ msgid "new cannot be applied to a function type"
+ msgstr "new kan inte användas på en funktionstyp"
+
+-#: cp/init.c:2228
++#: cp/init.c:2390
+ #, gcc-internal-format
+ msgid "call to Java constructor, while %<jclass%> undefined"
+ msgstr "anrop till Javakonstruerare med %<jclass%> odefinierad"
+
+-#: cp/init.c:2246
++#: cp/init.c:2408
+ #, gcc-internal-format
+ msgid "can't find %<class$%> in %qT"
+ msgstr "kan inte hitta %<class$%> i %qT"
+
+-#: cp/init.c:2607
++#: cp/init.c:2769
+ #, gcc-internal-format
+ msgid "initializer ends prematurely"
+ msgstr "initierare tar slut i förtid"
+
+-#: cp/init.c:2662
++#: cp/init.c:2824
+ #, gcc-internal-format
+ msgid "cannot initialize multi-dimensional array with initializer"
+ msgstr "det går inte att initiera en flerdimensionell vektor med initierare"
+
+-#: cp/init.c:2799
++#: cp/init.c:2961
+ #, gcc-internal-format
+ msgid "possible problem detected in invocation of delete operator:"
+ msgstr "möjligt problem upptäckt vid anrop av delete-operatorn:"
+
+-#: cp/init.c:2802
++#: cp/init.c:2964
+ #, gcc-internal-format
+ msgid "neither the destructor nor the class-specific operator delete will be called, even if they are declared when the class is defined."
+ msgstr "varken destrueraren eller den klasspecifika operatorn delete kommer anropas, även om de är deklarerade när klassen definieras."
+
+-#: cp/init.c:2823
++#: cp/init.c:2985
+ #, gcc-internal-format
+ msgid "unknown array size in delete"
+ msgstr "okänd vektorstorlek i delete"
+
+-#: cp/init.c:3070
++#: cp/init.c:3232
+ #, gcc-internal-format
+ msgid "type to vector delete is neither pointer or array type"
+ msgstr "typ till vektor-delete är varken pekar- eller vektortyp"
+@@ -29693,22 +29698,22 @@
+ msgid "mangling typeof, use decltype instead"
+ msgstr "manglar typeof, använd decltype istället"
+
+-#: cp/mangle.c:2208
++#: cp/mangle.c:2211
+ #, gcc-internal-format
+ msgid "call_expr cannot be mangled due to a defect in the C++ ABI"
+ msgstr "call_expr kan inte manglas på grund av en defekt i C++-ABI:et"
+
+-#: cp/mangle.c:2216
++#: cp/mangle.c:2219
+ #, gcc-internal-format
+ msgid "zero-operand casts cannot be mangled due to a defect in the C++ ABI"
+ msgstr "typkonverteringar med noll operander kan inte manglas på grund av en defekt i C++-ABI:et"
+
+-#: cp/mangle.c:2266
++#: cp/mangle.c:2269
+ #, gcc-internal-format
+ msgid "omitted middle operand to %<?:%> operand cannot be mangled"
+ msgstr "utelämnad mittenoperand till %<?:%> kan inte manglas"
+
+-#: cp/mangle.c:2584
++#: cp/mangle.c:2587
+ #, gcc-internal-format
+ msgid "the mangled name of %qD will change in a future version of GCC"
+ msgstr "det manglade namnet för %qD kommer ändras i en framtida version av GCC"
+@@ -29718,27 +29723,27 @@
+ msgid "generic thunk code fails for method %q#D which uses %<...%>"
+ msgstr "generell dunkkod misslyckas för metod %q#D som använder %<...%>"
+
+-#: cp/method.c:697
++#: cp/method.c:698
+ #, gcc-internal-format
+ msgid "non-static const member %q#D, can't use default assignment operator"
+ msgstr "ickestatisk const-medlem %q#D, det går inte att använda standardtilldelningsoperatorn"
+
+-#: cp/method.c:703
++#: cp/method.c:704
+ #, gcc-internal-format
+ msgid "non-static reference member %q#D, can't use default assignment operator"
+ msgstr "ickestatisk referensmedlem %q#D, det går inte att använda standardtilldelningsoperatorn"
+
+-#: cp/method.c:815
++#: cp/method.c:816
+ #, gcc-internal-format
+ msgid "%Hsynthesized method %qD first required here "
+ msgstr "%Hsyntetiserad metod %qD krävs första gången här"
+
+-#: cp/method.c:1158
++#: cp/method.c:1159
+ #, gcc-internal-format
+ msgid "vtable layout for class %qT may not be ABI-compliantand may change in a future version of GCC due to implicit virtual destructor"
+ msgstr "vtable-utplacering för klass %qT följer kanske inte ABI:et och kan ändras i en framtida version av GCC på grund av implicit virtuell destruerare"
+
+-#: cp/name-lookup.c:728
++#: cp/name-lookup.c:727
+ #, gcc-internal-format
+ msgid "redeclaration of %<wchar_t%> as %qT"
+ msgstr "omdeklaration av %<wchar_t%> som %qT"
+@@ -29749,245 +29754,245 @@
+ #. [basic.start.main]
+ #.
+ #. This function shall not be overloaded.
+-#: cp/name-lookup.c:758
++#: cp/name-lookup.c:757
+ #, gcc-internal-format
+ msgid "invalid redeclaration of %q+D"
+ msgstr "ogiltig omdeklaration av %q+D"
+
+-#: cp/name-lookup.c:759
++#: cp/name-lookup.c:758
+ #, gcc-internal-format
+ msgid "as %qD"
+ msgstr "som %qD"
+
+-#: cp/name-lookup.c:850
++#: cp/name-lookup.c:849
+ #, gcc-internal-format
+ msgid "type mismatch with previous external decl of %q#D"
+ msgstr "typ stämmer inte med tidigare externdeklaration av %q#D"
+
+-#: cp/name-lookup.c:851
++#: cp/name-lookup.c:850
+ #, gcc-internal-format
+ msgid "previous external decl of %q+#D"
+ msgstr "tidigare externdeklaration av %q+#D"
+
+-#: cp/name-lookup.c:942
++#: cp/name-lookup.c:941
+ #, gcc-internal-format
+ msgid "extern declaration of %q#D doesn't match"
+ msgstr "externdeklaration av %q#D stämmer inte"
+
+-#: cp/name-lookup.c:943
++#: cp/name-lookup.c:942
+ #, gcc-internal-format
+ msgid "global declaration %q+#D"
+ msgstr "global deklaration av %q+#D"
+
+-#: cp/name-lookup.c:980 cp/name-lookup.c:987
++#: cp/name-lookup.c:979 cp/name-lookup.c:986
+ #, gcc-internal-format
+ msgid "declaration of %q#D shadows a parameter"
+ msgstr "deklaration av %q#D skuggar en parameter"
+
+ #. Location of previous decl is not useful in this case.
+-#: cp/name-lookup.c:1012
++#: cp/name-lookup.c:1011
+ #, gcc-internal-format
+ msgid "declaration of %qD shadows a member of 'this'"
+ msgstr "deklaration av %qD skuggar en medlem av \"this\""
+
+ # local, det kan troligen vara både lokal variabel och lokal funktionsdeklartion
+-#: cp/name-lookup.c:1018
++#: cp/name-lookup.c:1017
+ #, gcc-internal-format
+ msgid "declaration of %qD shadows a previous local"
+ msgstr "deklaration av %qD skuggar en tidigare lokal deklaration"
+
+-#: cp/name-lookup.c:1025
++#: cp/name-lookup.c:1024
+ #, gcc-internal-format
+ msgid "declaration of %qD shadows a global declaration"
+ msgstr "deklaration av %qD skuggar en global deklaration"
+
+-#: cp/name-lookup.c:1148
++#: cp/name-lookup.c:1147
+ #, gcc-internal-format
+ msgid "name lookup of %qD changed"
+ msgstr "namuppslagning av %qD ändrades"
+
+-#: cp/name-lookup.c:1149
++#: cp/name-lookup.c:1148
+ #, gcc-internal-format
+ msgid " matches this %q+D under ISO standard rules"
+ msgstr " stämmer med denna %qD under ISO:s standardregler"
+
+-#: cp/name-lookup.c:1151
++#: cp/name-lookup.c:1150
+ #, gcc-internal-format
+ msgid " matches this %q+D under old rules"
+ msgstr " stämmer med denna %q+D under gamla regler"
+
+-#: cp/name-lookup.c:1169 cp/name-lookup.c:1177
++#: cp/name-lookup.c:1168 cp/name-lookup.c:1176
+ #, gcc-internal-format
+ msgid "name lookup of %qD changed for new ISO %<for%> scoping"
+ msgstr "namnuppslagning av %qD ändrad för ny räckvidd i %<for%> enligt ISO"
+
+-#: cp/name-lookup.c:1171
++#: cp/name-lookup.c:1170
+ #, gcc-internal-format
+ msgid " cannot use obsolete binding at %q+D because it has a destructor"
+ msgstr " det går inte att använda föråldrad bindning vid %q+D för att den har en destruerare"
+
+-#: cp/name-lookup.c:1179
++#: cp/name-lookup.c:1178
+ #, gcc-internal-format
+ msgid " using obsolete binding at %q+D"
+ msgstr " använder föråldrad bindning vid %q+D"
+
+-#: cp/name-lookup.c:1232
++#: cp/name-lookup.c:1231
+ #, gcc-internal-format
+ msgid "%s %s(%E) %p %d\n"
+ msgstr "%s %s(%E) %p %d\n"
+
+-#: cp/name-lookup.c:1235
++#: cp/name-lookup.c:1234
+ #, gcc-internal-format
+ msgid "%s %s %p %d\n"
+ msgstr "%s %s %p %d\n"
+
+ # Detta är en exakt kopia från koden. Skall nog knappast översättas.
+-#: cp/name-lookup.c:1362
++#: cp/name-lookup.c:1361
+ #, gcc-internal-format
+ msgid "XXX is_class_level != (current_scope == class_scope)\n"
+ msgstr "XXX is_class_level != (current_scope == class_scope)\n"
+
+-#: cp/name-lookup.c:1920
++#: cp/name-lookup.c:1922
+ #, gcc-internal-format
+ msgid "%q#D hides constructor for %q#T"
+ msgstr "%q#D döljer konstruerare för %q#T"
+
+-#: cp/name-lookup.c:1937
++#: cp/name-lookup.c:1939
+ #, gcc-internal-format
+ msgid "%q#D conflicts with previous using declaration %q#D"
+ msgstr "%q#D står i konflikt med tidigare using-deklaration %q#D"
+
+-#: cp/name-lookup.c:1960
++#: cp/name-lookup.c:1962
+ #, gcc-internal-format
+ msgid "previous non-function declaration %q+#D"
+ msgstr "tidigare icke-funktions-deklaration av %q+#D"
+
+-#: cp/name-lookup.c:1961
++#: cp/name-lookup.c:1963
+ #, gcc-internal-format
+ msgid "conflicts with function declaration %q#D"
+ msgstr "står i konflikt med funktionsdeklaration %q#D"
+
+ #. It's a nested name with template parameter dependent scope.
+ #. This can only be using-declaration for class member.
+-#: cp/name-lookup.c:2039 cp/name-lookup.c:2064
++#: cp/name-lookup.c:2041 cp/name-lookup.c:2066
+ #, gcc-internal-format
+ msgid "%qT is not a namespace"
+ msgstr "%qT är inte en namnrymd"
+
+ #. 7.3.3/5
+ #. A using-declaration shall not name a template-id.
+-#: cp/name-lookup.c:2049
++#: cp/name-lookup.c:2051
+ #, gcc-internal-format
+ msgid "a using-declaration cannot specify a template-id. Try %<using %D%>"
+ msgstr "en using-deklaration kan inte ange ett mall-id. Försök med %<using %D%>"
+
+-#: cp/name-lookup.c:2056
++#: cp/name-lookup.c:2058
+ #, gcc-internal-format
+ msgid "namespace %qD not allowed in using-declaration"
+ msgstr "namnrymd %qD är inte tillåten i using-deklaration"
+
+-#: cp/name-lookup.c:2092
++#: cp/name-lookup.c:2094
+ #, gcc-internal-format
+ msgid "%qD not declared"
+ msgstr "%qD inte deklarerad"
+
+-#: cp/name-lookup.c:2128 cp/name-lookup.c:2165 cp/name-lookup.c:2199
+-#: cp/name-lookup.c:2214
++#: cp/name-lookup.c:2130 cp/name-lookup.c:2167 cp/name-lookup.c:2201
++#: cp/name-lookup.c:2216
+ #, gcc-internal-format
+ msgid "%qD is already declared in this scope"
+ msgstr "%qD är redan deklarerad i detta definitionsområde"
+
+-#: cp/name-lookup.c:2817
++#: cp/name-lookup.c:2819
+ #, gcc-internal-format
+ msgid "using-declaration for non-member at class scope"
+ msgstr "using-deklaration för icke-medlem vid klassräckvidd"
+
+-#: cp/name-lookup.c:2824
++#: cp/name-lookup.c:2826
+ #, gcc-internal-format
+ msgid "%<%T::%D%> names destructor"
+ msgstr "%<%T::%D%> namnger en destruerare"
+
+-#: cp/name-lookup.c:2829
++#: cp/name-lookup.c:2831
+ #, gcc-internal-format
+ msgid "%<%T::%D%> names constructor"
+ msgstr "%<%T::%D%> namnger en konstruerare"
+
+-#: cp/name-lookup.c:2834
++#: cp/name-lookup.c:2836
+ #, gcc-internal-format
+ msgid "%<%T::%D%> names constructor in %qT"
+ msgstr "%<%T::%D%> namnger konstruerare i %qT"
+
+-#: cp/name-lookup.c:2884
++#: cp/name-lookup.c:2886
+ #, gcc-internal-format
+ msgid "no members matching %<%T::%D%> in %q#T"
+ msgstr "inga medlemmar matchar %<%T::%D%> i %q#T"
+
+-#: cp/name-lookup.c:2952
++#: cp/name-lookup.c:2954
+ #, gcc-internal-format
+ msgid "declaration of %qD not in a namespace surrounding %qD"
+ msgstr "deklaration av %qD inte i namnrymd som omger %qD"
+
+-#: cp/name-lookup.c:2960
++#: cp/name-lookup.c:2962
+ #, gcc-internal-format
+ msgid "explicit qualification in declaration of %qD"
+ msgstr "explicit-kvalifikation i deklaration av %qD"
+
+-#: cp/name-lookup.c:3003
++#: cp/name-lookup.c:3005
+ #, gcc-internal-format
+ msgid "%qD should have been declared inside %qD"
+ msgstr "%qD borde ha deklarerats inuti %qD"
+
+-#: cp/name-lookup.c:3048
++#: cp/name-lookup.c:3050
+ #, gcc-internal-format
+ msgid "%qD attribute requires a single NTBS argument"
+ msgstr "attributet %qD kräver ett ensamt NTBS-argument"
+
+-#: cp/name-lookup.c:3055
++#: cp/name-lookup.c:3057
+ #, gcc-internal-format
+ msgid "%qD attribute is meaningless since members of the anonymous namespace get local symbols"
+ msgstr "attributet %qD är meningslöst eftersom medlemmar av den anonyma namnrymden får lokala symboler"
+
+-#: cp/name-lookup.c:3064 cp/name-lookup.c:3433
++#: cp/name-lookup.c:3066 cp/name-lookup.c:3435
+ #, gcc-internal-format
+ msgid "%qD attribute directive ignored"
+ msgstr "attributdirektivet %qD ignorerat"
+
+-#: cp/name-lookup.c:3109
++#: cp/name-lookup.c:3111
+ #, gcc-internal-format
+ msgid "namespace alias %qD not allowed here, assuming %qD"
+ msgstr "namnrymdsalias %qD inte tillåtet här, antar %qD"
+
+-#: cp/name-lookup.c:3421
++#: cp/name-lookup.c:3423
+ #, gcc-internal-format
+ msgid "strong using only meaningful at namespace scope"
+ msgstr "strong using är endast meningsfullt vid namnrymdsräckvidd"
+
+-#: cp/name-lookup.c:3425
++#: cp/name-lookup.c:3427
+ #, gcc-internal-format
+ msgid "current namespace %qD does not enclose strongly used namespace %qD"
+ msgstr "nuvarande namnrymd %qD innesluter inte den starkt använda namnrymden %qD"
+
+-#: cp/name-lookup.c:4318
++#: cp/name-lookup.c:4320
+ #, gcc-internal-format
+ msgid "%q+D is not a function,"
+ msgstr "%q+D är inte en funktion,"
+
+-#: cp/name-lookup.c:4319
++#: cp/name-lookup.c:4321
+ #, gcc-internal-format
+ msgid " conflict with %q+D"
+ msgstr " står i konflikt med %q+D"
+
+-#: cp/name-lookup.c:4752
++#: cp/name-lookup.c:4756
+ #, gcc-internal-format
+ msgid "argument dependent lookup finds %q+D"
+ msgstr "argumentberoende uppslagning hittar %q+D"
+
+-#: cp/name-lookup.c:5184
++#: cp/name-lookup.c:5188
+ #, gcc-internal-format
+ msgid "XXX entering pop_everything ()\n"
+ msgstr "XXX går in i pop_everything ()\n"
+
+-#: cp/name-lookup.c:5193
++#: cp/name-lookup.c:5197
+ #, gcc-internal-format
+ msgid "XXX leaving pop_everything ()\n"
+ msgstr "XXX lämnar pop_everything ()\n"
+@@ -29997,368 +30002,373 @@
+ msgid "identifier %<%s%> will become a keyword in C++0x"
+ msgstr "identifieraren %<%s%> kommer att bli ett nyckelord i C++0x"
+
+-#: cp/parser.c:2066
++#: cp/parser.c:2069
+ #, gcc-internal-format
+ msgid "%<#pragma%> is not allowed here"
+ msgstr "%<#pramga%> är inte tillåtet här"
+
+-#: cp/parser.c:2096
++#: cp/parser.c:2099
+ #, gcc-internal-format
+ msgid "%<%E::%E%> has not been declared"
+ msgstr "%<%E::%E%> har inte deklarerats"
+
+-#: cp/parser.c:2099
++#: cp/parser.c:2102
+ #, gcc-internal-format
+ msgid "%<::%E%> has not been declared"
+ msgstr "%<::%E%> har inte deklarerats"
+
+-#: cp/parser.c:2102
++#: cp/parser.c:2105
+ #, gcc-internal-format
+ msgid "request for member %qE in non-class type %qT"
+ msgstr "begäran av medlem %qE i typ %qT som inte är en klass"
+
+-#: cp/parser.c:2105
++#: cp/parser.c:2108
+ #, gcc-internal-format
+ msgid "%<%T::%E%> has not been declared"
+ msgstr "%<%T::%E%> har inte deklarerats"
+
+-#: cp/parser.c:2108
++#: cp/parser.c:2111
+ #, gcc-internal-format
+ msgid "%qE has not been declared"
+ msgstr "%qE har inte deklarerats"
+
+-#: cp/parser.c:2111
++#: cp/parser.c:2114
+ #, gcc-internal-format
+ msgid "%<%E::%E%> %s"
+ msgstr "%<%E::%E%> %s"
+
+-#: cp/parser.c:2113
++#: cp/parser.c:2116
+ #, gcc-internal-format
+ msgid "%<::%E%> %s"
+ msgstr "%<::%E%> %s"
+
+-#: cp/parser.c:2115
++#: cp/parser.c:2118
+ #, gcc-internal-format
+ msgid "%qE %s"
+ msgstr "%qE %s"
+
+-#: cp/parser.c:2151
++#: cp/parser.c:2155
+ #, gcc-internal-format
+-msgid "ISO C++ does not support %<long long%>"
+-msgstr "ISO C++ stödjer inte %<long long%>"
++msgid "ISO C++ 1998 does not support %<long long%>"
++msgstr "ISO C++ 1998 stödjer inte %<long long%>"
+
+-#: cp/parser.c:2171
++#: cp/parser.c:2175
+ #, gcc-internal-format
+ msgid "duplicate %qs"
+ msgstr "dubblerad %qs"
+
+-#: cp/parser.c:2214
++#: cp/parser.c:2218
+ #, gcc-internal-format
+ msgid "new types may not be defined in a return type"
+ msgstr "nya typer får inte definieras i en returtyp"
+
+-#: cp/parser.c:2215
++#: cp/parser.c:2219
+ #, gcc-internal-format
+ msgid "(perhaps a semicolon is missing after the definition of %qT)"
+ msgstr "(kanske ett semikolon saknas efter definitionen av %qT)"
+
+-#: cp/parser.c:2234 cp/parser.c:4077 cp/pt.c:5443
++#: cp/parser.c:2238 cp/parser.c:4081 cp/pt.c:5509
+ #, gcc-internal-format
+ msgid "%qT is not a template"
+ msgstr "%qT är inte en mall"
+
+-#: cp/parser.c:2236
++#: cp/parser.c:2240
+ #, gcc-internal-format
+ msgid "%qE is not a template"
+ msgstr "%qE är inte en mall"
+
+-#: cp/parser.c:2238
++#: cp/parser.c:2242
+ #, gcc-internal-format
+ msgid "invalid template-id"
+ msgstr "ogiltigt mall-id"
+
+-#: cp/parser.c:2267
++#: cp/parser.c:2271
+ #, gcc-internal-format
+ msgid "%s cannot appear in a constant-expression"
+ msgstr "%s får inte förekomma i ett konstantuttryck"
+
+-#: cp/parser.c:2292
++#: cp/parser.c:2296
+ #, 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/parser.c:2294
++#: cp/parser.c:2298
+ #, gcc-internal-format
+ msgid "invalid use of destructor %qD as a type"
+ msgstr "ogiltig användning av destruerare %qD som en typ"
+
+ #. Something like 'unsigned A a;'
+-#: cp/parser.c:2297
++#: cp/parser.c:2301
+ #, gcc-internal-format
+ msgid "invalid combination of multiple type-specifiers"
+ msgstr "ogiltig kombination av flera typkvalificerare"
+
+ #. Issue an error message.
+-#: cp/parser.c:2301
++#: cp/parser.c:2305
+ #, gcc-internal-format
+ msgid "%qE does not name a type"
+ msgstr "%qE är inte namnet på en typ"
+
+-#: cp/parser.c:2333
++#: cp/parser.c:2337
+ #, gcc-internal-format
+ msgid "(perhaps %<typename %T::%E%> was intended)"
+ msgstr "(kanske %<typename %T::%E%> avsågs)"
+
+-#: cp/parser.c:2348
++#: cp/parser.c:2352
+ #, gcc-internal-format
+ msgid "%qE in namespace %qE does not name a type"
+ msgstr "%qE i namnrymden %qE är inte namnet på en typ"
+
+-#: cp/parser.c:2351
++#: cp/parser.c:2355
+ #, gcc-internal-format
+ msgid "%qE in class %qT does not name a type"
+ msgstr "%qE i klassen %qT är inte namnet på en typ"
+
+-#: cp/parser.c:3160
++#: cp/parser.c:3164
+ #, gcc-internal-format
+ msgid "ISO C++ forbids braced-groups within expressions"
+ msgstr "ISO C++ förbjuder klammergrupper inuti uttryck"
+
+-#: cp/parser.c:3171
++#: cp/parser.c:3175
+ #, gcc-internal-format
+ msgid "statement-expressions are not allowed outside functions nor in template-argument lists"
+ msgstr "satsuttryck är inte tillåtna utanför funktioner eller i mallargumentlistor"
+
+-#: cp/parser.c:3229
++#: cp/parser.c:3233
+ #, gcc-internal-format
+ msgid "%<this%> may not be used in this context"
+ msgstr "%<this%> kan inte användas i detta sammanhang"
+
+-#: cp/parser.c:3412
++#: cp/parser.c:3416
+ #, gcc-internal-format
+ msgid "local variable %qD may not appear in this context"
+ msgstr "lokal variabel %qD kan inte förekomma i detta sammanhang"
+
+-#: cp/parser.c:3711
++#: cp/parser.c:3715
+ #, gcc-internal-format
+ msgid "scope %qT before %<~%> is not a class-name"
+ msgstr "räckvidd %qT före %<~%> är inte ett klassnamn"
+
+-#: cp/parser.c:3812
++#: cp/parser.c:3816
+ #, gcc-internal-format
+ msgid "declaration of %<~%T%> as member of %qT"
+ msgstr "deklaration av %<~%T%> som medlem av %qT"
+
+-#: cp/parser.c:3826
++#: cp/parser.c:3830
+ #, gcc-internal-format
+ msgid "typedef-name %qD used as destructor declarator"
+ msgstr "typedef-namnet %qD använt som destruerardeklarerare"
+
+-#: cp/parser.c:4480
++#: cp/parser.c:4484
+ #, gcc-internal-format
+ msgid "ISO C++ forbids compound-literals"
+ msgstr "ISO C++ förbjuder sammansatta literaler"
+
+-#: cp/parser.c:4837
++#: cp/parser.c:4841
+ #, gcc-internal-format
+ msgid "%qE does not have class type"
+ msgstr "%qE har inte klasstyp"
+
+-#: cp/parser.c:4920 cp/typeck.c:1978
++#: cp/parser.c:4924 cp/typeck.c:2024
+ #, gcc-internal-format
+ msgid "invalid use of %qD"
+ msgstr "ogiltigt användning av %qD"
+
+-#: cp/parser.c:5480
++#: cp/parser.c:5486
+ #, gcc-internal-format
+ msgid "array bound forbidden after parenthesized type-id"
+ msgstr "vektorgräns är förbjuden efter typ-id i parenteser"
+
+-#: cp/parser.c:5481
++#: cp/parser.c:5487
+ #, gcc-internal-format
+ msgid "try removing the parentheses around the type-id"
+ msgstr "försök ta bort parenteserna runt typ-id:t"
+
+-#: cp/parser.c:5671
++#: cp/parser.c:5677
+ #, gcc-internal-format
+ msgid "expression in new-declarator must have integral or enumeration type"
+ msgstr "uttryck i new-deklarerare måste ha heltals- eller uppräkningstyp"
+
+-#: cp/parser.c:5860
++#: cp/parser.c:5866
+ #, gcc-internal-format
+ msgid "use of old-style cast"
+ msgstr "användning av gammaldags typkonvertering"
+
+-#: cp/parser.c:5986
++#: cp/parser.c:5992
+ #, gcc-internal-format
+ msgid "%H%<>>%> operator will be treated as two right angle brackets in C++0x"
+ msgstr "%Hoperatorn %<>>%> kommer att hanteras som två högervinkelparenteser i C++0x"
+
+-#: cp/parser.c:5989
++#: cp/parser.c:5995
+ #, gcc-internal-format
+ msgid "suggest parentheses around %<>>%> expression"
+ msgstr "föreslår parenteser runt %<>>%>-uttryck"
+
+-#: cp/parser.c:6793
++#: cp/parser.c:6799
+ #, gcc-internal-format
+ msgid "case label %qE not within a switch statement"
+ msgstr "case-etikett %qE är inte i en switch-sats"
+
+-#: cp/parser.c:6922
++#: cp/parser.c:6928
+ #, gcc-internal-format
+ msgid "%<else%> without a previous %<if%>"
+ msgstr "%<else%> utan ett föregående %<if%>"
+
+-#: cp/parser.c:7208
++#: cp/parser.c:7214
+ #, gcc-internal-format
+ msgid "suggest a space before %<;%> or explicit braces around empty body in %<%s%> statement"
+ msgstr "föreslår ett mellanrum före %<;%> eller explicita klamrar runt en tom kropp i %<%s%>-uttryck"
+
+-#: cp/parser.c:7468
++#: cp/parser.c:7474
+ #, gcc-internal-format
+ msgid "ISO C++ forbids computed gotos"
+ msgstr "ISO C++ förbjuder beräknade goto"
+
+-#: cp/parser.c:7608
++#: cp/parser.c:7614
+ #, gcc-internal-format
+ msgid "extra %<;%>"
+ msgstr "extra %<;%>"
+
+-#: cp/parser.c:7825
++#: cp/parser.c:7831
+ #, gcc-internal-format
+ msgid "%<__label__%> not at the beginning of a block"
+ msgstr "%<__label__%> som inte inleder ett block"
+
+-#: cp/parser.c:7958
++#: cp/parser.c:7964
+ #, gcc-internal-format
+ msgid "mixing declarations and function-definitions is forbidden"
+ msgstr "att blanda deklarationer och funktionsdefinitioner är förbjudet"
+
+-#: cp/parser.c:8090
++#: cp/parser.c:8096
+ #, gcc-internal-format
+ msgid "%<friend%> used outside of class"
+ msgstr "%<friend%> använd utanför en klass"
+
+-#: cp/parser.c:8244
++#: cp/parser.c:8250
+ #, gcc-internal-format
+ msgid "class definition may not be declared a friend"
+ msgstr "klassdefinition kan inte deklareras som en vän"
+
+-#: cp/parser.c:8308 cp/parser.c:15155
++#: cp/parser.c:8314 cp/parser.c:15235
+ #, gcc-internal-format
+ msgid "templates may not be %<virtual%>"
+ msgstr "mallar får inte vara %<virtual%>"
+
+-#: cp/parser.c:8775
++#: cp/parser.c:8786
+ #, gcc-internal-format
+ msgid "only constructors take base initializers"
+ msgstr "bara konstruerare tar basinitierare"
+
+-#: cp/parser.c:8795
++#: cp/parser.c:8806
+ #, gcc-internal-format
+ msgid "cannot expand initializer for member %<%D%>"
+ msgstr "det går inte att expandera initierare för medlem %<%qD%>"
+
+-#: cp/parser.c:8847
++#: cp/parser.c:8858
+ #, gcc-internal-format
+ msgid "anachronistic old-style base class initializer"
+ msgstr "anakronistisk gammaldags basklassinitierare"
+
+-#: cp/parser.c:8892
++#: cp/parser.c:8903
+ #, gcc-internal-format
+ msgid "keyword %<typename%> not allowed in this context (a qualified member initializer is implicitly a type)"
+ msgstr "nyckelordet %<typename%> är inte tillåtet i detta sammanhang (en kvalificerat medlemsinitierare är implicit en typ)"
+
+ #. Warn that we do not support `export'.
+-#: cp/parser.c:9237
++#: cp/parser.c:9248
+ #, gcc-internal-format
+ msgid "keyword %<export%> not implemented, and will be ignored"
+ msgstr "nyckelordet %<export%> är inte implementerat och kommer ignoreras"
+
+-#: cp/parser.c:9482 cp/parser.c:9583
++#: cp/parser.c:9419 cp/parser.c:9517 cp/parser.c:9618
+ #, gcc-internal-format
+ msgid "template parameter pack %qD cannot have a default argument"
+ msgstr "mallparameterpaket %qD kan inte ha ett standardargument"
+
+-#: cp/parser.c:9485 cp/parser.c:9586
++#: cp/parser.c:9422
+ #, gcc-internal-format
++msgid "template parameter pack cannot have a default argument"
++msgstr "mallparameterpaket kan inte ha ett standardargument"
++
++#: cp/parser.c:9520 cp/parser.c:9621
++#, gcc-internal-format
+ msgid "template parameter packs cannot have default arguments"
+ msgstr "mallparameterpaket kan inte ha standardargument"
+
+ #. Otherwise, emit an error about the invalid digraph, but continue
+ #. parsing because we got our argument list.
+-#: cp/parser.c:9723
++#: cp/parser.c:9758
+ #, gcc-internal-format
+ msgid "%<<::%> cannot begin a template-argument list"
+ msgstr "%<<::%> kan inte inleda en argumentlista till en mall"
+
+-#: cp/parser.c:9724
++#: cp/parser.c:9759
+ #, gcc-internal-format
+ msgid "%<<:%> is an alternate spelling for %<[%>. Insert whitespace between %<<%> and %<::%>"
+ msgstr "%<<:%> är en alternativ stavning av %<[%>. Lägg in mellanrum mellan %<<%> och %<::%>"
+
+-#: cp/parser.c:9731
++#: cp/parser.c:9766
+ #, gcc-internal-format
+ msgid "(if you use -fpermissive G++ will accept your code)"
+ msgstr "(om du använder --fpermissive kommer G++ acceptera din kod)"
+
+-#: cp/parser.c:9804
++#: cp/parser.c:9839
+ #, gcc-internal-format
+ msgid "parse error in template argument list"
+ msgstr "syntaxfel i argumentlista till mall"
+
+ #. Explain what went wrong.
+-#: cp/parser.c:9917
++#: cp/parser.c:9952
+ #, gcc-internal-format
+ msgid "non-template %qD used as template"
+ msgstr "icke-mall %qD använd som mall"
+
+-#: cp/parser.c:9918
++#: cp/parser.c:9953
+ #, gcc-internal-format
+ msgid "use %<%T::template %D%> to indicate that it is a template"
+ msgstr "använd %<%T::template %D%> för att indikera att det är en mall"
+
+-#: cp/parser.c:10441
++#: cp/parser.c:10476
+ #, gcc-internal-format
+ msgid "template specialization with C linkage"
+ msgstr "mallspecialisering med C-länkning"
+
+-#: cp/parser.c:11032
++#: cp/parser.c:11067
+ #, gcc-internal-format
+ msgid "using %<typename%> outside of template"
+ msgstr "användning av %<typename%> utanför mall"
+
+-#: cp/parser.c:11191
++#: cp/parser.c:11226
+ #, gcc-internal-format
+ msgid "declaration %qD does not declare anything"
+ msgstr "deklaration %qD deklarerar inte något"
+
+-#: cp/parser.c:11275
++#: cp/parser.c:11310
+ #, gcc-internal-format
+ msgid "attributes ignored on uninstantiated type"
+ msgstr "attributet ignorerat på oinstansierad typ"
+
+-#: cp/parser.c:11279
++#: cp/parser.c:11314
+ #, gcc-internal-format
+ msgid "attributes ignored on template instantiation"
+ msgstr "attribut ignoreras vid mallinstansiering"
+
+-#: cp/parser.c:11284
++#: cp/parser.c:11319
+ #, gcc-internal-format
+ msgid "attributes ignored on elaborated-type-specifier that is not a forward declaration"
+ msgstr "attribut ignoreras för bearbetade typspecificerare som inte är en framåtdeklaration"
+
+-#: cp/parser.c:11406
++#: cp/parser.c:11441
+ #, gcc-internal-format
+ msgid "comma at end of enumerator list"
+ msgstr "komma i slutet av uppräkningslista"
+
+-#: cp/parser.c:11498
++#: cp/parser.c:11533
+ #, gcc-internal-format
+ msgid "%qD is not a namespace-name"
+ msgstr "%qD är inte ett namnrymdsnamn"
+
+-#: cp/parser.c:11599
++#: cp/parser.c:11634
+ #, gcc-internal-format
+ msgid "%<namespace%> definition is not allowed here"
+ msgstr "%<namespace%>-definition är inte tillåten här"
+@@ -30366,142 +30376,157 @@
+ #. [namespace.udecl]
+ #.
+ #. A using declaration shall not name a template-id.
+-#: cp/parser.c:11738
++#: cp/parser.c:11773
+ #, gcc-internal-format
+ msgid "a template-id may not appear in a using-declaration"
+ msgstr "ett mall-id får inte förekomma i en using-deklaration"
+
+-#: cp/parser.c:12094
++#: cp/parser.c:12135
+ #, gcc-internal-format
+ msgid "an asm-specification is not allowed on a function-definition"
+ msgstr "en asm-specifikation är inte tillåten på en funktionsdefinition"
+
+-#: cp/parser.c:12096
++#: cp/parser.c:12137
+ #, gcc-internal-format
+ msgid "attributes are not allowed on a function-definition"
+ msgstr "attribut är inte tillåtna vid en funktionsdefinition"
+
+-#: cp/parser.c:12229
++#: cp/parser.c:12270
+ #, gcc-internal-format
+ msgid "initializer provided for function"
+ msgstr "initierare angiven för funktion"
+
+-#: cp/parser.c:12249
++#: cp/parser.c:12290
+ #, gcc-internal-format
+ msgid "attributes after parenthesized initializer ignored"
+ msgstr "attribut efter initierare inom parentes ignoreras"
+
+-#: cp/parser.c:12630 cp/pt.c:8772
++#: cp/parser.c:12671 cp/pt.c:8893
+ #, gcc-internal-format
+ msgid "array bound is not an integer constant"
+ msgstr "vektorgräns är inte en heltalskonstant"
+
+-#: cp/parser.c:12739
++#: cp/parser.c:12780
+ #, gcc-internal-format
+ msgid "%<%T::%E%> is not a type"
+ msgstr "%<%T::%E%> är inte en typ"
+
+-#: cp/parser.c:12765
++#: cp/parser.c:12806
+ #, gcc-internal-format
+ msgid "invalid use of constructor as a template"
+ msgstr "ogiltig användning av konstruerare som en mall"
+
+-#: cp/parser.c:12766
++#: cp/parser.c:12807
+ #, gcc-internal-format
+ msgid "use %<%T::%D%> instead of %<%T::%D%> to name the constructor in a qualified name"
+ msgstr "använd %<%T::%D%> istället för %<%T::%D%> för att namnge konstrueraren i ett kvalificerat namn"
+
+-#: cp/parser.c:12938
++#: cp/parser.c:12979
+ #, gcc-internal-format
+ msgid "%qD is a namespace"
+ msgstr "%qD är en namnrymd"
+
+-#: cp/parser.c:13013
++#: cp/parser.c:13054
+ #, gcc-internal-format
+ msgid "duplicate cv-qualifier"
+ msgstr "upprepade cv-kvalificerare"
+
+-#: cp/parser.c:13600
++#: cp/parser.c:13640
+ #, gcc-internal-format
+ msgid "file ends in default argument"
+ msgstr "filen tar slut i standardargument"
+
+-#: cp/parser.c:13673
++#: cp/parser.c:13683
+ #, gcc-internal-format
+ msgid "deprecated use of default argument for parameter of non-function"
+ msgstr "användning av standardargument för parametrar till annat än funktioner bör undvikas"
+
+-#: cp/parser.c:13676
++#: cp/parser.c:13686
+ #, gcc-internal-format
+ msgid "default arguments are only permitted for function parameters"
+ msgstr "standardargument är endast tillåtna för funktionsparametrar"
+
+-#: cp/parser.c:13877
++#: cp/parser.c:13702
+ #, gcc-internal-format
++msgid "%sparameter pack %qD cannot have a default argument"
++msgstr "%spameterpaket %qD kan inte ha ett standardargument"
++
++#: cp/parser.c:13705
++#, gcc-internal-format
++msgid "%sparameter pack cannot have a default argument"
++msgstr "%sparameterpaket kan inte ha ett standardargument"
++
++#: cp/parser.c:13947
++#, gcc-internal-format
+ msgid "ISO C++ does not allow designated initializers"
+ msgstr "ISO C++ tillåter inte designerade initierare"
+
+-#: cp/parser.c:14477
++#: cp/parser.c:14547
+ #, gcc-internal-format
+ msgid "invalid class name in declaration of %qD"
+ msgstr "ogiltigt klassnamn i deklaration av %qD"
+
+-#: cp/parser.c:14489
++#: cp/parser.c:14559
+ #, gcc-internal-format
+ msgid "declaration of %qD in namespace %qD which does not enclose %qD"
+ msgstr "deklaration av %qD i namnrymd %qD som inte innesluter %qD"
+
+-#: cp/parser.c:14492
++#: cp/parser.c:14562
+ #, gcc-internal-format
+ msgid "declaration of %qD in %qD which does not enclose %qD"
+ msgstr "deklaration av %qD i %qD som inte innesluter %qD"
+
+-#: cp/parser.c:14505
++#: cp/parser.c:14575
+ #, gcc-internal-format
+ msgid "extra qualification ignored"
+ msgstr "extra kvalificerare ignorerad"
+
+-#: cp/parser.c:14516
++#: cp/parser.c:14586
+ #, gcc-internal-format
+ msgid "an explicit specialization must be preceded by %<template <>%>"
+ msgstr "en explicit specialisering måste föregås av %<template <>%>"
+
+-#: cp/parser.c:14609
++#: cp/parser.c:14613
+ #, gcc-internal-format
++msgid "function template %qD redeclared as a class template"
++msgstr "funktionsmall %qD omdeklarerad som en klassmall"
++
++#: cp/parser.c:14689
++#, gcc-internal-format
+ msgid "previous definition of %q+#T"
+ msgstr "föregående definition av %q+#T"
+
+-#: cp/parser.c:14855
++#: cp/parser.c:14935
+ #, gcc-internal-format
+ msgid "%Hextra %<;%>"
+ msgstr "%Hextra %<;%>"
+
+-#: cp/parser.c:14873
++#: cp/parser.c:14953
+ #, gcc-internal-format
+ msgid "a class-key must be used when declaring a friend"
+ msgstr "en klassnyckel måste användas när en vän deklareras"
+
+-#: cp/parser.c:14887
++#: cp/parser.c:14967
+ #, gcc-internal-format
+ msgid "friend declaration does not name a class or function"
+ msgstr "vändeklaration som inte namnger en klass eller funktion"
+
+-#: cp/parser.c:15064
++#: cp/parser.c:15144
+ #, gcc-internal-format
+ msgid "pure-specifier on function-definition"
+ msgstr "pure-specificerare på funktionsdefinition"
+
+-#: cp/parser.c:15356
++#: cp/parser.c:15438
+ #, gcc-internal-format
+ msgid "keyword %<typename%> not allowed outside of templates"
+ msgstr "nyckelordet %<typename%> är inte tillåtet utanför mallar"
+
+-#: cp/parser.c:15358
++#: cp/parser.c:15440
+ #, gcc-internal-format
+ msgid "keyword %<typename%> not allowed in this context (the base class is implicitly a type)"
+ msgstr "nyckelordet %<typename%> är inte tillåtet i detta sammanhang (basklassen är implicit en typ)"
+
+-#: cp/parser.c:16407
++#: cp/parser.c:16489
+ #, gcc-internal-format
+ msgid "too few template-parameter-lists"
+ msgstr "för få mallparameterlistor"
+@@ -30510,13 +30535,13 @@
+ #. something like:
+ #.
+ #. template <class T> template <class U> void S::f();
+-#: cp/parser.c:16422
++#: cp/parser.c:16504
+ #, gcc-internal-format
+ msgid "too many template-parameter-lists"
+ msgstr "för många mallparameterlistor"
+
+ #. Issue an error message.
+-#: cp/parser.c:16694
++#: cp/parser.c:16776
+ #, gcc-internal-format
+ msgid "named return values are no longer supported"
+ msgstr "namngivna returvärden stödjs inte längre"
+@@ -30524,234 +30549,234 @@
+ #. 14.5.2.2 [temp.mem]
+ #.
+ #. A local class shall not have member templates.
+-#: cp/parser.c:16766
++#: cp/parser.c:16848
+ #, gcc-internal-format
+ msgid "invalid declaration of member template in local class"
+ msgstr "ogiltig deklaration av medlemsmall i lokal klass"
+
+-#: cp/parser.c:16775
++#: cp/parser.c:16857
+ #, gcc-internal-format
+ msgid "template with C linkage"
+ msgstr "mall med C-länkning"
+
+-#: cp/parser.c:16919
++#: cp/parser.c:17001
+ #, gcc-internal-format
+ msgid "template declaration of %qs"
+ msgstr "malldeklaration av %qs"
+
+-#: cp/parser.c:16982
++#: cp/parser.c:17064
+ #, gcc-internal-format
+ msgid "explicit template specialization cannot have a storage class"
+ msgstr "explicit mallspecialisering kan inte ha en lagringsklass"
+
+-#: cp/parser.c:17171
++#: cp/parser.c:17253
+ #, gcc-internal-format
+ msgid "%H%<>>%> should be %<> >%> within a nested template argument list"
+ msgstr "%H%<>>%> skulle vara %<> >%> inuti en nästad mallargumentlista"
+
+-#: cp/parser.c:17184
++#: cp/parser.c:17266
+ #, gcc-internal-format
+ msgid "spurious %<>>%>, use %<>%> to terminate a template argument list"
+ msgstr "vilsekommet %<>>%>, använd %<>%> för att avsluta en mallargumentlista"
+
+-#: cp/parser.c:17519
++#: cp/parser.c:17601
+ #, gcc-internal-format
+ msgid "invalid use of %qD in linkage specification"
+ msgstr "ogiltig användning av %qD i länkklasspecifikation"
+
+-#: cp/parser.c:17532
++#: cp/parser.c:17614
+ #, gcc-internal-format
+ msgid "%<__thread%> before %qD"
+ msgstr "%<__thread%> före %qD"
+
+-#: cp/parser.c:17847
++#: cp/parser.c:17929
+ #, gcc-internal-format
+ msgid "%qs tag used in naming %q#T"
+ msgstr "%qs-tagg använd vid namngivning av %q#T"
+
+-#: cp/parser.c:17868
++#: cp/parser.c:17950
+ #, gcc-internal-format
+ msgid "%qD redeclared with different access"
+ msgstr "%qD omdeklarerad med annan åtkomst"
+
+-#: cp/parser.c:17885
++#: cp/parser.c:17967
+ #, gcc-internal-format
+ msgid "%<template%> (as a disambiguator) is only allowed within templates"
+ msgstr "%<template%> (för att lösa upp tvetydighet) är endast tillåtet inuti mallar"
+
+-#: cp/parser.c:18138 cp/parser.c:19061 cp/parser.c:19192
++#: cp/parser.c:18220 cp/parser.c:19143 cp/parser.c:19274
+ #, gcc-internal-format
+ msgid "misplaced %<@%D%> Objective-C++ construct"
+ msgstr "felplacerad Objective-C++-konstruktion %<@%D%>"
+
+-#: cp/parser.c:18279
++#: cp/parser.c:18361
+ #, gcc-internal-format
+ msgid "%<@encode%> must specify a type as an argument"
+ msgstr "%<@encode%> måste ange en typ som ett argument"
+
+-#: cp/parser.c:18594
++#: cp/parser.c:18676
+ #, gcc-internal-format
+ msgid "invalid Objective-C++ selector name"
+ msgstr "ogiltigt Objective-C++-selekterarnamn"
+
+-#: cp/parser.c:18925
++#: cp/parser.c:19007
+ #, gcc-internal-format
+ msgid "identifier expected after %<@protocol%>"
+ msgstr "identifierare förväntades efter %<@protocol%>"
+
+-#: cp/parser.c:19626
++#: cp/parser.c:19708
+ #, gcc-internal-format
+ msgid "schedule %<runtime%> does not take a %<chunk_size%> parameter"
+ msgstr "%<runtime%>-schemaläggning tar ingen %<chunk_size%>-parameter"
+
+-#: cp/parser.c:19735
++#: cp/parser.c:19824
+ #, gcc-internal-format
+ msgid "%qs is not valid for %qs"
+ msgstr "%qs är inte giltigt för %qs"
+
+-#: cp/parser.c:20390
++#: cp/parser.c:20479
+ #, gcc-internal-format
+ msgid "junk at end of %<#pragma GCC pch_preprocess%>"
+ msgstr "skräp vid slutet av %<#pragma GCC pch_preprocess>"
+
+-#: cp/parser.c:20477
++#: cp/parser.c:20566
+ #, gcc-internal-format
+ msgid "%<#pragma omp section%> may only be used in %<#pragma omp sections%> construct"
+ msgstr "%<#pragma omp section%> får bara användas i %<#pragma omp sections%>-konstruktion"
+
+-#: cp/parser.c:20535
++#: cp/parser.c:20624
+ #, gcc-internal-format
+ msgid "inter-module optimizations not implemented for C++"
+ msgstr "intermoduloptimeringar inte implementerade för C++"
+
+-#: cp/pt.c:249
++#: cp/pt.c:252
+ #, gcc-internal-format
+ msgid "data member %qD cannot be a member template"
+ msgstr "datamedlem %qD kan inte vara en medlemsmall"
+
+-#: cp/pt.c:261
++#: cp/pt.c:264
+ #, gcc-internal-format
+ msgid "invalid member template declaration %qD"
+ msgstr "ogiltig medlemsmalldeklaration %qD"
+
+-#: cp/pt.c:609
++#: cp/pt.c:612
+ #, gcc-internal-format
+ msgid "explicit specialization in non-namespace scope %qD"
+ msgstr "explicit specialisering som inte är i namnrymdsområde %qD"
+
+-#: cp/pt.c:623
++#: cp/pt.c:626
+ #, gcc-internal-format
+ msgid "enclosing class templates are not explicitly specialized"
+ msgstr "inneslutande klassmallar är inte explicit specialiserade"
+
+-#: cp/pt.c:711
++#: cp/pt.c:714
+ #, gcc-internal-format
+ msgid "specialization of %qD in different namespace"
+ msgstr "specialisering av %qD i en annan namnrymd"
+
+-#: cp/pt.c:712 cp/pt.c:809
++#: cp/pt.c:715 cp/pt.c:812
+ #, gcc-internal-format
+ msgid " from definition of %q+#D"
+ msgstr " än definitionen av %q+#D"
+
+-#: cp/pt.c:729
++#: cp/pt.c:732
+ #, gcc-internal-format
+ msgid "explicit instantiation of %qD in namespace %qD (which does not enclose namespace %qD)"
+ msgstr "explicit instansiering av %qD i namnrymden %qD (som inte omsluter namnrymden %qD)"
+
+-#: cp/pt.c:747
++#: cp/pt.c:750
+ #, gcc-internal-format
+ msgid "name of class shadows template template parameter %qD"
+ msgstr "namn på klass skuggar mallmallparameter %qD"
+
+-#: cp/pt.c:776
++#: cp/pt.c:779
+ #, gcc-internal-format
+ msgid "specialization of %qT after instantiation"
+ msgstr "specialisering av %qT efter instansiering"
+
+-#: cp/pt.c:808
++#: cp/pt.c:811
+ #, gcc-internal-format
+ msgid "specializing %q#T in different namespace"
+ msgstr "specialiserar %q#T i en annan namnrymd"
+
+-#: cp/pt.c:823
++#: cp/pt.c:826
+ #, gcc-internal-format
+ msgid "specialization %qT after instantiation %qT"
+ msgstr "specialisering %qT efter instansiering %qT"
+
+-#: cp/pt.c:836
++#: cp/pt.c:839
+ #, gcc-internal-format
+ msgid "explicit specialization of non-template %qT"
+ msgstr "explicit specialisering av icke-mall %qT"
+
+-#: cp/pt.c:1238
++#: cp/pt.c:1246
+ #, gcc-internal-format
+ msgid "specialization of %qD after instantiation"
+ msgstr "specialisering av %qD efter instansiering"
+
+-#: cp/pt.c:1464
++#: cp/pt.c:1472
+ #, gcc-internal-format
+ msgid "%qD is not a function template"
+ msgstr "%qD är inte en funktionsmall"
+
+-#: cp/pt.c:1673
++#: cp/pt.c:1681
+ #, gcc-internal-format
+ msgid "template-id %qD for %q+D does not match any template declaration"
+ msgstr "mall-id %qD för %q+D stämmer inte med någon malldeklaration"
+
+-#: cp/pt.c:1681
++#: cp/pt.c:1689
+ #, gcc-internal-format
+ msgid "ambiguous template specialization %qD for %q+D"
+ msgstr "tvetydig mallspecialisering %qD för %q+D"
+
+ #. This case handles bogus declarations like template <>
+ #. template <class T> void f<int>();
+-#: cp/pt.c:1916 cp/pt.c:1970
++#: cp/pt.c:1924 cp/pt.c:1978
+ #, gcc-internal-format
+ msgid "template-id %qD in declaration of primary template"
+ msgstr "mall-id %qD i deklaration av primär mall"
+
+-#: cp/pt.c:1929
++#: cp/pt.c:1937
+ #, gcc-internal-format
+ msgid "template parameter list used in explicit instantiation"
+ msgstr "mallparameterlista använd i explicit instansiering"
+
+-#: cp/pt.c:1935
++#: cp/pt.c:1943
+ #, gcc-internal-format
+ msgid "definition provided for explicit instantiation"
+ msgstr "definition given för explicit instansiering"
+
+-#: cp/pt.c:1943
++#: cp/pt.c:1951
+ #, gcc-internal-format
+ msgid "too many template parameter lists in declaration of %qD"
+ msgstr "för många mallparameterlistor i deklarationen av %qD"
+
+-#: cp/pt.c:1946
++#: cp/pt.c:1954
+ #, gcc-internal-format
+ msgid "too few template parameter lists in declaration of %qD"
+ msgstr "för få mallparameterlistor i deklarationen av %qD"
+
+-#: cp/pt.c:1948
++#: cp/pt.c:1956
+ #, gcc-internal-format
+ msgid "explicit specialization of %qD must be introduced by %<template <>%>"
+ msgstr "explicit specialisering av %qD måste inledas av %<template <>%>"
+
+-#: cp/pt.c:1967
++#: cp/pt.c:1975
+ #, gcc-internal-format
+ msgid "function template partial specialization %qD is not allowed"
+ msgstr "partiell specialisering av funktionsmall %qD är inte tillåten"
+
+-#: cp/pt.c:1999
++#: cp/pt.c:2007
+ #, gcc-internal-format
+ msgid "default argument specified in explicit specialization"
+ msgstr "standardargument angivet i explicit specialisering"
+
+-#: cp/pt.c:2029
++#: cp/pt.c:2037
+ #, gcc-internal-format
+ msgid "%qD is not a template function"
+ msgstr "%qD är inte en mallfunktion"
+
+-#: cp/pt.c:2037
++#: cp/pt.c:2045
+ #, gcc-internal-format
+ msgid "%qD is not declared in %qD"
+ msgstr "%qD inte deklarerad i %qD"
+@@ -30764,100 +30789,110 @@
+ #. program is ill-formed.
+ #.
+ #. Similar language is found in [temp.explicit].
+-#: cp/pt.c:2099
++#: cp/pt.c:2107
+ #, gcc-internal-format
+ msgid "specialization of implicitly-declared special member function"
+ msgstr "specialisering av implicit deklarerad specialmedlemsfunktion"
+
+-#: cp/pt.c:2143
++#: cp/pt.c:2151
+ #, gcc-internal-format
+ msgid "no member function %qD declared in %qT"
+ msgstr "ingen medlemsfunktion %qD är deklarerad i %qT"
+
+-#: cp/pt.c:2642
++#: cp/pt.c:2628
+ #, gcc-internal-format
+ msgid "base initializer expansion %<%T%> contains no parameter packs"
+ msgstr "basinitierarexpansionen %<%T%> innehåller inga parameterpaket"
+
+-#: cp/pt.c:2701
++#: cp/pt.c:2687
+ #, gcc-internal-format
+ msgid "expansion pattern %<%T%> contains no argument packs"
+ msgstr "expansionsmönster %<%T%> innehåller inga argumentpaket"
+
+-#: cp/pt.c:2703
++#: cp/pt.c:2689
+ #, gcc-internal-format
+ msgid "expansion pattern %<%E%> contains no argument packs"
+ msgstr "expansionsmönster %<%E%> innehåller inga argumentpaket"
+
+-#: cp/pt.c:2745
++#: cp/pt.c:2730
+ #, gcc-internal-format
+ msgid "parameter packs not expanded with `...':"
+ msgstr "parameterpaket expanderas inte med \"...\":"
+
+-#: cp/pt.c:2760 cp/pt.c:3383
++#: cp/pt.c:2745 cp/pt.c:3361
+ #, gcc-internal-format
+ msgid " %qD"
+ msgstr " %qD"
+
+-#: cp/pt.c:2762
++#: cp/pt.c:2747
+ #, gcc-internal-format
+ msgid " <anonymous>"
+ msgstr " <anonym>"
+
+-#: cp/pt.c:2875
++#: cp/pt.c:2852
+ #, gcc-internal-format
+ msgid "declaration of %q+#D"
+ msgstr "deklaration av %q+#D"
+
+-#: cp/pt.c:2876
++#: cp/pt.c:2853
+ #, gcc-internal-format
+ msgid " shadows template parm %q+#D"
+ msgstr " skuggar mallparameter %q+#D"
+
+-#: cp/pt.c:3379
++#: cp/pt.c:3357
+ #, gcc-internal-format
+ msgid "template parameters not used in partial specialization:"
+ msgstr "mallparameter används inte i partiell specialisering:"
+
+-#: cp/pt.c:3394
++#: cp/pt.c:3372
+ #, gcc-internal-format
+ msgid "partial specialization %qT does not specialize any template arguments"
+ msgstr "partiell specialisering %qT specialiserar inte något mallargument"
+
+-#: cp/pt.c:3439
++#: cp/pt.c:3417
+ #, gcc-internal-format
+ msgid "parameter pack argument %qE must be at the end of the template argument list"
+ msgstr "parameterpaketargument %qE måste vara vid slutet av mallens argumentlista"
+
+-#: cp/pt.c:3441
++#: cp/pt.c:3419
+ #, gcc-internal-format
+ msgid "parameter pack argument %qT must be at the end of the template argument list"
+ msgstr "parameterpaketargument %qT måste vara vid slutet av mallens argumentlista"
+
+-#: cp/pt.c:3462
++#: cp/pt.c:3440
+ #, gcc-internal-format
+ msgid "template argument %qE involves template parameter(s)"
+ msgstr "mallargument %qE berör mallparametrar"
+
+-#: cp/pt.c:3505
++#: cp/pt.c:3484
+ #, gcc-internal-format
+ msgid "type %qT of template argument %qE depends on template parameter(s)"
+ msgstr "typ %qT för mallargument %qE beror på mallparametrar"
+
+-#: cp/pt.c:3611
++#: cp/pt.c:3591
+ #, gcc-internal-format
+ msgid "no default argument for %qD"
+ msgstr "inget standardargument för %qD"
+
+-#: cp/pt.c:3796
++#: cp/pt.c:3609
+ #, gcc-internal-format
++msgid "parameter pack %qE must be at the end of the template parameter list"
++msgstr "parameterpaket %qE måste vara vid slutet av mallens parameterlista"
++
++#: cp/pt.c:3612
++#, gcc-internal-format
++msgid "parameter pack %qT must be at the end of the template parameter list"
++msgstr "parameterpaket %qT måste vara vid slutet av mallens parameterlista"
++
++#: cp/pt.c:3799
++#, gcc-internal-format
+ msgid "template class without a name"
+ msgstr "mallklass utan ett namn"
+
+ #. [temp.mem]
+ #.
+ #. A destructor shall not be a member template.
+-#: cp/pt.c:3804
++#: cp/pt.c:3807
+ #, gcc-internal-format
+ msgid "destructor %qD declared as member template"
+ msgstr "destrueraren %qD deklarerad som medlemsmall"
+@@ -30867,77 +30902,72 @@
+ #. An allocation function can be a function
+ #. template. ... Template allocation functions shall
+ #. have two or more parameters.
+-#: cp/pt.c:3819
++#: cp/pt.c:3822
+ #, gcc-internal-format
+ msgid "invalid template declaration of %qD"
+ msgstr "ogiltig malldeklaration av %qD"
+
+-#: cp/pt.c:3890
++#: cp/pt.c:3939
+ #, gcc-internal-format
+-msgid "parameter pack %qE must be at the end of the template parameter list"
+-msgstr "parameterpaket %qE måste vara vid slutet av mallens parameterlista"
+-
+-#: cp/pt.c:3893
+-#, gcc-internal-format
+-msgid "parameter pack %qT must be at the end of the template parameter list"
+-msgstr "parameterpaket %qT måste vara vid slutet av mallens parameterlista"
+-
+-#: cp/pt.c:3953
+-#, gcc-internal-format
+ msgid "template definition of non-template %q#D"
+ msgstr "malldefinition av icke-mall %q#D"
+
+-#: cp/pt.c:3996
++#: cp/pt.c:3982
+ #, gcc-internal-format
+ msgid "expected %d levels of template parms for %q#D, got %d"
+ msgstr "%d nivåer av mallparametrar förväntades till %q#D, %d fanns"
+
+-#: cp/pt.c:4008
++#: cp/pt.c:3994
+ #, gcc-internal-format
+ msgid "got %d template parameters for %q#D"
+ msgstr "fick %d mallparametrar till %q#D"
+
+-#: cp/pt.c:4011
++#: cp/pt.c:3997
+ #, gcc-internal-format
+ msgid "got %d template parameters for %q#T"
+ msgstr "fick %d mallparametrar till %q#T"
+
+-#: cp/pt.c:4013
++#: cp/pt.c:3999
+ #, gcc-internal-format
+ msgid " but %d required"
+ msgstr " men %d behövs"
+
+-#: cp/pt.c:4031
++#: cp/pt.c:4017
+ #, gcc-internal-format
+ msgid "template arguments to %qD do not match original template %qD"
+ msgstr "mallargument till %qD stämmer inte med orginalmallen %qD"
+
+-#: cp/pt.c:4035
++#: cp/pt.c:4021
+ #, gcc-internal-format
+ msgid "use template<> for an explicit specialization"
+ msgstr "använd template<> för en explicit specialisering"
+
+-#: cp/pt.c:4131
++#: cp/pt.c:4117
+ #, gcc-internal-format
+ msgid "%qT is not a template type"
+ msgstr "%qT är inte en malltyp"
+
+-#: cp/pt.c:4144
++#: cp/pt.c:4130
+ #, gcc-internal-format
+ msgid "template specifiers not specified in declaration of %qD"
+ msgstr "mallspecificerare inte angivna i deklarationen av %qD"
+
+-#: cp/pt.c:4155
++#: cp/pt.c:4140
+ #, gcc-internal-format
+-msgid "used %d template parameter(s) instead of %d"
+-msgstr "använde %d mallparametrar istället för %d"
++msgid "redeclared with %d template parameter(s)"
++msgstr "omdeklarerad utan %d mallparametrar"
+
+-#: cp/pt.c:4184
++#: cp/pt.c:4142
+ #, gcc-internal-format
++msgid "previous declaration %q+D used %d template parameter(s)"
++msgstr "tidigare deklaration av %q+D använde %d mallparametrar"
++
++#: cp/pt.c:4176
++#, gcc-internal-format
+ msgid "template parameter %q+#D"
+ msgstr "mallparameter %q+#D"
+
+-#: cp/pt.c:4185
++#: cp/pt.c:4177
+ #, gcc-internal-format
+ msgid "redeclared here as %q#D"
+ msgstr "omdeklarerad här som %q#D"
+@@ -30946,182 +30976,182 @@
+ #.
+ #. A template-parameter may not be given default arguments
+ #. by two different declarations in the same scope.
+-#: cp/pt.c:4195
++#: cp/pt.c:4187
+ #, gcc-internal-format
+ msgid "redefinition of default argument for %q#D"
+ msgstr "omdefinition av standardargument till %q#D"
+
+-#: cp/pt.c:4196
++#: cp/pt.c:4188
+ #, gcc-internal-format
+-msgid "%J original definition appeared here"
+-msgstr "%J ursprunglig definition fanns här"
++msgid "%Joriginal definition appeared here"
++msgstr "%Jursprunglig definition fanns här"
+
+-#: cp/pt.c:4300
++#: cp/pt.c:4292
+ #, gcc-internal-format
+ msgid "%qE is not a valid template argument for type %qT because function %qD has not external linkage"
+ msgstr "%qE är inte ett giltigt mallargument för typ %qT eftersom funktionen %qD inte har extern länkklass"
+
+-#: cp/pt.c:4341
++#: cp/pt.c:4333
+ #, 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 "%qE är inte ett giltigt mallargument för typ %qT eftersom strängkonstanter aldrig kan användas i detta sammanhang"
+
+-#: cp/pt.c:4418
++#: cp/pt.c:4410
+ #, gcc-internal-format
+ msgid "%qE is not a valid template argument for type %qT because it is a non-constant expression"
+ msgstr "%qE är inte ett giltigt mallargument till typ %qT eftersom det är ett icke konstant uttryck"
+
+-#: cp/pt.c:4462
++#: cp/pt.c:4454
+ #, gcc-internal-format
+ msgid "%qD is not a valid template argument because %qD is a variable, not the address of a variable"
+ msgstr "%qD är inte ett giltigt mallargument för att %qD är en variabel, inte adressen till en variabel"
+
+-#: cp/pt.c:4480
++#: cp/pt.c:4472
+ #, gcc-internal-format
+ msgid "%qE is not a valid template argument of type %qT because %qE is not a variable"
+ msgstr "%qE är inte ett giltigt mallargument för typen %qT eftersom %qE inte är en variabel"
+
+-#: cp/pt.c:4487
++#: cp/pt.c:4479
+ #, gcc-internal-format
+ msgid "%qE is not a valid template argument of type %qT because %qD does not have external linkage"
+ msgstr "%qE är inte ett giltigt mallargument av typ %qT eftersom %qD inte har extern länkklass"
+
+-#: cp/pt.c:4517
++#: cp/pt.c:4509
+ #, gcc-internal-format
+ msgid "%qE is not a valid template argument for type %qT because of conflicts in cv-qualification"
+ msgstr "%qE är inte ett giltigt mallargument för typ %qT eftersom det står i konflikt med cv-kvalificeringar"
+
+-#: cp/pt.c:4524
++#: cp/pt.c:4516
+ #, gcc-internal-format
+ msgid "%qE is not a valid template argument for type %qT because it is not an lvalue"
+ msgstr "%qE är inte ett giltigt mallargument för typ %qT eftersom inte är ett l-värde"
+
+-#: cp/pt.c:4537
++#: cp/pt.c:4529
+ #, gcc-internal-format
+ msgid "%qE is not a valid template argument for type %qT because object %qD has not external linkage"
+ msgstr "%qE är inte ett giltigt mallargument för typ %qT eftersom objekt %qD inte har extern länkklass"
+
+-#: cp/pt.c:4577
++#: cp/pt.c:4569
+ #, gcc-internal-format
+ msgid "%qE is not a valid template argument for type %qT because it is a pointer"
+ msgstr "%qE är inte ett giltigt mallargument för typen %qT eftersom det är en pekare"
+
+-#: cp/pt.c:4579
++#: cp/pt.c:4571
+ #, gcc-internal-format
+ msgid "try using %qE instead"
+ msgstr "försök att använda %qE istället"
+
+-#: cp/pt.c:4614
++#: cp/pt.c:4606
+ #, gcc-internal-format
+ msgid "%qE is not a valid template argument for type %qT because it is of type %qT"
+ msgstr "%qE är inte ett giltigt mallargument för typen %qT eftersom det är av typen %qT"
+
+-#: cp/pt.c:4617
++#: cp/pt.c:4609
+ #, gcc-internal-format
+ msgid "standard conversions are not allowed in this context"
+ msgstr "standardkonverteringar är inte tillåtna i denna kontext"
+
+-#: cp/pt.c:4797
++#: cp/pt.c:4860
+ #, gcc-internal-format
+ msgid "to refer to a type member of a template parameter, use %<typename %E%>"
+ msgstr "för att referera till en typmedlem av en mallparameter, använd %<typename %E%>"
+
+-#: cp/pt.c:4813 cp/pt.c:4832 cp/pt.c:4882
++#: cp/pt.c:4876 cp/pt.c:4895 cp/pt.c:4945
+ #, gcc-internal-format
+ msgid "type/value mismatch at argument %d in template parameter list for %qD"
+ msgstr "typ/värde stämmer inte vid argument %d i mallparameterlistan till %qD"
+
+-#: cp/pt.c:4817
++#: cp/pt.c:4880
+ #, gcc-internal-format
+ msgid " expected a constant of type %qT, got %qT"
+ msgstr " förväntade en konstant av typen %qT, fick %qT"
+
+-#: cp/pt.c:4821
++#: cp/pt.c:4884
+ #, gcc-internal-format
+ msgid " expected a class template, got %qE"
+ msgstr " förväntade en klassmall, fick %qE"
+
+-#: cp/pt.c:4823
++#: cp/pt.c:4886
+ #, gcc-internal-format
+ msgid " expected a type, got %qE"
+ msgstr " förväntade en typ, fick %qE"
+
+-#: cp/pt.c:4836
++#: cp/pt.c:4899
+ #, gcc-internal-format
+ msgid " expected a type, got %qT"
+ msgstr " förväntade en typ, fick %qT"
+
+-#: cp/pt.c:4838
++#: cp/pt.c:4901
+ #, gcc-internal-format
+ msgid " expected a class template, got %qT"
+ msgstr " förväntade en klassmall, fick %qT"
+
+-#: cp/pt.c:4885
++#: cp/pt.c:4948
+ #, gcc-internal-format
+ msgid " expected a template of type %qD, got %qD"
+ msgstr " förväntade en mall av typen %qD, fick %qD"
+
+-#: cp/pt.c:4928
++#: cp/pt.c:4991
+ #, gcc-internal-format
+ msgid "could not convert template argument %qE to %qT"
+ msgstr "kunde inte konvertera mallargument %qE till %qT"
+
+-#: cp/pt.c:4984
++#: cp/pt.c:5047
+ #, gcc-internal-format
+ msgid "wrong number of template arguments (%d, should be %d)"
+ msgstr "fel antal mallargument (%d, skulle vara %d)"
+
+-#: cp/pt.c:5116
++#: cp/pt.c:5179
+ #, gcc-internal-format
+ msgid "wrong number of template arguments (%d, should be %d%s)"
+ msgstr "fel antal mallargument (%d, skulle vara %d%s)"
+
+-#: cp/pt.c:5120
++#: cp/pt.c:5183
+ #, gcc-internal-format
+ msgid "provided for %q+D"
+ msgstr "angivna till %q+D"
+
+-#: cp/pt.c:5177
++#: cp/pt.c:5242
+ #, gcc-internal-format
+ msgid "cannot expand %<%E%> into a fixed-length argument list"
+ msgstr "det går inte att expandera %<%E%> till en argumentlista med fast längd"
+
+-#: cp/pt.c:5180
++#: cp/pt.c:5245
+ #, gcc-internal-format
+ msgid "cannot expand %<%T%> into a fixed-length argument list"
+ msgstr "det går inte att expandera %<%T%> till en argumentlista med fast längd"
+
+-#: cp/pt.c:5195
++#: cp/pt.c:5261
+ #, gcc-internal-format
+ msgid "template argument %d is invalid"
+ msgstr "mallargument %d är ogiltigt"
+
+-#: cp/pt.c:5455
++#: cp/pt.c:5521
+ #, gcc-internal-format
+ msgid "non-template type %qT used as a template"
+ msgstr "icke-malltyp %qT använd som en mall"
+
+-#: cp/pt.c:5457
++#: cp/pt.c:5523
+ #, gcc-internal-format
+ msgid "for template declaration %q+D"
+ msgstr "för malldeklaration %q+D"
+
+-#: cp/pt.c:6132
++#: cp/pt.c:6221
+ #, gcc-internal-format
+ msgid "template instantiation depth exceeds maximum of %d (use -ftemplate-depth-NN to increase the maximum) instantiating %qD"
+ msgstr "mallinstansieringsdjupet överskrider maxvärdet på %d (använd -ftemplate-depth-NN för att öka maxvärdet) vid instansiering av %qD"
+
+-#: cp/pt.c:7237
++#: cp/pt.c:7333
+ #, gcc-internal-format
+ msgid "mismatched argument pack lengths while expanding %<%T%>"
+ msgstr "argumentpaketlängder stämmer inte överens vid expansion av %<%T%>"
+
+-#: cp/pt.c:7241
++#: cp/pt.c:7337
+ #, gcc-internal-format
+ msgid "mismatched argument pack lengths while expanding %<%E%>"
+ msgstr "argumentpaketlängder stämmer inte överens vid expansion av %<%E%>"
+
+-#: cp/pt.c:8189
++#: cp/pt.c:8289
+ #, gcc-internal-format
+ msgid "instantiation of %q+D as type %qT"
+ msgstr "instansiering av %q+D som typ %qT"
+@@ -31139,242 +31169,242 @@
+ #.
+ #. is an attempt to declare a variable with function
+ #. type.
+-#: cp/pt.c:8324
++#: cp/pt.c:8424
+ #, gcc-internal-format
+ msgid "variable %qD has function type"
+ msgstr "variabeln %qD har funktionstyp"
+
+-#: cp/pt.c:8471
++#: cp/pt.c:8571
+ #, gcc-internal-format
+ msgid "invalid parameter type %qT"
+ msgstr "ogiltig parametertyp %qT"
+
+-#: cp/pt.c:8473
++#: cp/pt.c:8573
+ #, gcc-internal-format
+ msgid "in declaration %q+D"
+ msgstr "i deklaration %q+D"
+
+-#: cp/pt.c:8550
++#: cp/pt.c:8650
+ #, gcc-internal-format
+ msgid "function returning an array"
+ msgstr "funktion som returnerar en vektor"
+
+-#: cp/pt.c:8552
++#: cp/pt.c:8652
+ #, gcc-internal-format
+ msgid "function returning a function"
+ msgstr "funktion som returnerar en funktion"
+
+-#: cp/pt.c:8586
++#: cp/pt.c:8686
+ #, gcc-internal-format
+ msgid "creating pointer to member function of non-class type %qT"
+ msgstr "skapar pekare till medlemsfunktion i typ %qT som inte är en klass"
+
+-#: cp/pt.c:8792
++#: cp/pt.c:8913
+ #, gcc-internal-format
+ msgid "creating array with negative size (%qE)"
+ msgstr "skapar vektor fält med negativ storlek (%qE)"
+
+-#: cp/pt.c:9047
++#: cp/pt.c:9168
+ #, gcc-internal-format
+ msgid "forming reference to void"
+ msgstr "formar referens till void"
+
+-#: cp/pt.c:9049
++#: cp/pt.c:9170
+ #, gcc-internal-format
+ msgid "forming %s to reference type %qT"
+ msgstr "formar %s till en referens till typ %qT"
+
+-#: cp/pt.c:9100
++#: cp/pt.c:9221
+ #, 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.c:9106
++#: cp/pt.c:9227
+ #, gcc-internal-format
+ msgid "creating pointer to member reference type %qT"
+ msgstr "skapar pekare till medlemsreferenstyp %qT"
+
+-#: cp/pt.c:9112
++#: cp/pt.c:9233
+ #, gcc-internal-format
+ msgid "creating pointer to member of type void"
+ msgstr "skapar pekare till medlem av typ void"
+
+-#: cp/pt.c:9179
++#: cp/pt.c:9300
+ #, gcc-internal-format
+ msgid "creating array of %qT"
+ msgstr "skapar vektor av %qT"
+
+-#: cp/pt.c:9185
++#: cp/pt.c:9306
+ #, gcc-internal-format
+ msgid "creating array of %qT, which is an abstract class type"
+ msgstr "skapar vektor av %qT, som är en abstrakt klasstyp"
+
+-#: cp/pt.c:9236
++#: cp/pt.c:9357
+ #, gcc-internal-format
+ msgid "%qT is not a class, struct, or union type"
+ msgstr "%qT är inte en klass-, post- eller unionstyp"
+
+-#: cp/pt.c:9271
++#: cp/pt.c:9392
+ #, gcc-internal-format
+ msgid "%qT resolves to %qT, which is not an enumeration type"
+ msgstr "%T slås upp till %qT som inte är en uppräkningstyp"
+
+-#: cp/pt.c:9274
++#: cp/pt.c:9395
+ #, gcc-internal-format
+ msgid "%qT resolves to %qT, which is is not a class type"
+ msgstr "%qT löses upp till %qT, som inte är en klasstyp"
+
+-#: cp/pt.c:9375
++#: cp/pt.c:9496
+ #, gcc-internal-format
+ msgid "use of %qs in template"
+ msgstr "användning av %qs i mall"
+
+-#: cp/pt.c:9512
++#: cp/pt.c:9633
+ #, 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.c:9514
++#: cp/pt.c:9635
+ #, gcc-internal-format
+ msgid "say %<typename %E%> if a type is meant"
+ msgstr "säg %<typename %E%> om en typ avses"
+
+-#: cp/pt.c:9643
++#: cp/pt.c:9764
+ #, gcc-internal-format
+ msgid "using invalid field %qD"
+ msgstr "användning av ogiltigt fält %qD"
+
+-#: cp/pt.c:9952 cp/pt.c:10432
++#: cp/pt.c:10073 cp/pt.c:10553
+ #, gcc-internal-format
+ msgid "invalid use of pack expansion expression"
+ msgstr "ogiltig användning av paketexpansionsuttryck"
+
+-#: cp/pt.c:9956 cp/pt.c:10436
++#: cp/pt.c:10077 cp/pt.c:10557
+ #, gcc-internal-format
+ msgid "use %<...%> to expand argument pack"
+ msgstr "använd %<...%> för att expandera argumentpaket"
+
+-#: cp/pt.c:10594
++#: cp/pt.c:10715
+ #, gcc-internal-format
+ msgid "a cast to a type other than an integral or enumeration type cannot appear in a constant-expression"
+ msgstr "en typomvandling till en annan typ än en heltals- eller uppräkningstyp kan inte förekomma i ett konstantuttryck"
+
+-#: cp/pt.c:11052
++#: cp/pt.c:11181
+ #, gcc-internal-format
+ msgid "%qT is not a class or namespace"
+ msgstr "%qT är inte en klass eller namnrymd"
+
+-#: cp/pt.c:11055
++#: cp/pt.c:11184
+ #, gcc-internal-format
+ msgid "%qD is not a class or namespace"
+ msgstr "%qD är inte en klass eller namnrymd"
+
+-#: cp/pt.c:11265
++#: cp/pt.c:11394
+ #, gcc-internal-format
+ msgid "%qT is/uses anonymous type"
+ msgstr "%qT är/använder en anonym typ"
+
+-#: cp/pt.c:11267
++#: cp/pt.c:11396
+ #, gcc-internal-format
+ msgid "template argument for %qD uses local type %qT"
+ msgstr "mallargumentet för %qD använder lokal typ %qT"
+
+-#: cp/pt.c:11277
++#: cp/pt.c:11406
+ #, gcc-internal-format
+ msgid "%qT is a variably modified type"
+ msgstr "%qT är en variabel typ"
+
+-#: cp/pt.c:11288
++#: cp/pt.c:11417
+ #, gcc-internal-format
+ msgid "integral expression %qE is not constant"
+ msgstr "heltalsuttryck %qE är inte konstant"
+
+-#: cp/pt.c:11293
++#: cp/pt.c:11422
+ #, gcc-internal-format
+ msgid " trying to instantiate %qD"
+ msgstr " försöker instansiera %qD"
+
+-#: cp/pt.c:13959
++#: cp/pt.c:14173
+ #, gcc-internal-format
+ msgid "ambiguous class template instantiation for %q#T"
+ msgstr "tvetydig klassmallinstansiering av %q#T"
+
+-#: cp/pt.c:13962
++#: cp/pt.c:14176
+ #, gcc-internal-format
+ msgid "%s %+#T"
+ msgstr "%s %+#T"
+
+-#: cp/pt.c:13985 cp/pt.c:14068
++#: cp/pt.c:14199 cp/pt.c:14282
+ #, gcc-internal-format
+ msgid "explicit instantiation of non-template %q#D"
+ msgstr "explicit instansieringar av icke-mall %q#D"
+
+-#: cp/pt.c:14000
++#: cp/pt.c:14214
+ #, 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.c:14006 cp/pt.c:14063
++#: cp/pt.c:14220 cp/pt.c:14277
+ #, gcc-internal-format
+ msgid "no matching template for %qD found"
+ msgstr "det finns ingen matchande mall för %qD"
+
+-#: cp/pt.c:14011
++#: cp/pt.c:14225
+ #, 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.c:14019
++#: cp/pt.c:14233
+ #, gcc-internal-format
+ msgid "explicit instantiation of %q#D"
+ msgstr "explicit instansiering av %q#D"
+
+-#: cp/pt.c:14055
++#: cp/pt.c:14269
+ #, gcc-internal-format
+ msgid "duplicate explicit instantiation of %q#D"
+ msgstr "dubblerad explicit instansiering av %q#D"
+
+-#: cp/pt.c:14077
++#: cp/pt.c:14291
+ #, gcc-internal-format
+ msgid "ISO C++ forbids the use of %<extern%> on explicit instantiations"
+ msgstr "ISO C++ förbjuder användning av %<extern%> vid explicita instansieringar"
+
+-#: cp/pt.c:14082 cp/pt.c:14175
++#: cp/pt.c:14296 cp/pt.c:14389
+ #, gcc-internal-format
+ msgid "storage class %qD applied to template instantiation"
+ msgstr "lagringsklass %qD tillämpad på mallinstansiering"
+
+-#: cp/pt.c:14147
++#: cp/pt.c:14361
+ #, gcc-internal-format
+ msgid "explicit instantiation of non-template type %qT"
+ msgstr "explicit instansieringar av icke-malltyp %qT"
+
+-#: cp/pt.c:14156
++#: cp/pt.c:14370
+ #, 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.c:14164
++#: cp/pt.c:14378
+ #, 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.c:14209
++#: cp/pt.c:14423
+ #, gcc-internal-format
+ msgid "duplicate explicit instantiation of %q#T"
+ msgstr "dubblerad explicit instansiering av %q#T"
+
+-#: cp/pt.c:14657
++#: cp/pt.c:14871
+ #, gcc-internal-format
+ msgid "explicit instantiation of %qD but no definition available"
+ msgstr "explicit instansiering av %qD men ingen definition tillgänglig"
+
+-#: cp/pt.c:14851
++#: cp/pt.c:15065
+ #, 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)"
+ msgstr "mallinstansieringsdjupet överskrider maxvärdet på %d vid instansiering av %qD, möjligen från generering av virtuell tabell (använd -ftemplate-depth-NN för att öka maxvärdet)"
+
+-#: cp/pt.c:15193
++#: cp/pt.c:15419
+ #, gcc-internal-format
+ msgid "%q#T is not a valid type for a template constant parameter"
+ msgstr "%q#T är inte en giltig typ för en mallkonstantparameter"
+@@ -31394,32 +31424,32 @@
+ msgid "can't create repository information file %qs"
+ msgstr "kan inte skapa förrådsinformationsfil %qs"
+
+-#: cp/rtti.c:271
++#: cp/rtti.c:285
+ #, gcc-internal-format
+ msgid "cannot use typeid with -fno-rtti"
+ msgstr "kan inte använda typeid med -fno-rtti"
+
+-#: cp/rtti.c:277
++#: cp/rtti.c:291
+ #, gcc-internal-format
+ msgid "must #include <typeinfo> before using typeid"
+ msgstr "måste ha#include <typeinfo> för användande av typeid"
+
+-#: cp/rtti.c:360
++#: cp/rtti.c:374
+ #, gcc-internal-format
+ msgid "cannot create type information for type %qT because it involves types of variable size"
+ msgstr "det går inte att skapa typinformation för typen %qT eftersom typer av variabel storlek är inblandade"
+
+-#: cp/rtti.c:615 cp/rtti.c:629
++#: cp/rtti.c:629 cp/rtti.c:643
+ #, gcc-internal-format
+ msgid "dynamic_cast of %q#D to %q#T can never succeed"
+ msgstr "dynamic_cast av %q#D till %q#T kan aldrig lyckas"
+
+-#: cp/rtti.c:639
++#: cp/rtti.c:653
+ #, gcc-internal-format
+ msgid "%<dynamic_cast%> not permitted with -fno-rtti"
+ msgstr "%<dynamic_cast%> är inte tillåtet med -fno-rtti"
+
+-#: cp/rtti.c:716
++#: cp/rtti.c:729
+ #, gcc-internal-format
+ msgid "cannot dynamic_cast %qE (of type %q#T) to type %q#T (%s)"
+ msgstr "kan inte dynamic_cast %qE (av typ %q#T) till typ %q#T (%s)"
+@@ -31481,553 +31511,553 @@
+ msgid " since %q+#D declared in base class"
+ msgstr " eftersom %q+#D är deklarerad i basklassen"
+
+-#: cp/semantics.c:762
++#: cp/semantics.c:764
+ #, gcc-internal-format
+ msgid "suggest explicit braces around empty body in %<do%> statement"
+ msgstr "föreslår uttryckliga klamrar runt tom kropp i %<do%>-sats"
+
+-#: cp/semantics.c:1290
++#: cp/semantics.c:1294
+ #, gcc-internal-format
+ msgid "type of asm operand %qE could not be determined"
+ msgstr "typen på asm-operand %qE kunde inte avgöras"
+
+-#: cp/semantics.c:1346
++#: cp/semantics.c:1350
+ #, gcc-internal-format
+ msgid "__label__ declarations are only allowed in function scopes"
+ msgstr "__label__-deklarationer får bara förekomma på funktionsnivå"
+
+-#: cp/semantics.c:1433
++#: cp/semantics.c:1438
+ #, gcc-internal-format
+ msgid "invalid use of member %q+D in static member function"
+ msgstr "ogiltig användning av %q+D i en statisk medlemsfunktion"
+
+-#: cp/semantics.c:1435
++#: cp/semantics.c:1440
+ #, gcc-internal-format
+ msgid "invalid use of non-static data member %q+D"
+ msgstr "ogiltig användning av icke-statisk datamedlem %q+D"
+
+-#: cp/semantics.c:1436 cp/semantics.c:1475
++#: cp/semantics.c:1441 cp/semantics.c:1480
+ #, gcc-internal-format
+ msgid "from this location"
+ msgstr "härifrån"
+
+-#: cp/semantics.c:1474
++#: cp/semantics.c:1479
+ #, gcc-internal-format
+ msgid "object missing in reference to %q+D"
+ msgstr "objekt saknas i referens till %q+D"
+
+-#: cp/semantics.c:1928
++#: cp/semantics.c:1951
+ #, gcc-internal-format
+ msgid "arguments to destructor are not allowed"
+ msgstr "argument till destruerare är inte tillåtet"
+
+-#: cp/semantics.c:1978
++#: cp/semantics.c:2001
+ #, gcc-internal-format
+ msgid "%<this%> is unavailable for static member functions"
+ msgstr "%<this%> är inte tillgängligt i en statisk medlemsfunktion"
+
+-#: cp/semantics.c:1984
++#: cp/semantics.c:2007
+ #, gcc-internal-format
+ msgid "invalid use of %<this%> in non-member function"
+ msgstr "ogiltig användning av %<this%> i icke-medlemsfunktion"
+
+-#: cp/semantics.c:1986
++#: cp/semantics.c:2009
+ #, gcc-internal-format
+ msgid "invalid use of %<this%> at top level"
+ msgstr "ogiltigt användning av %<this%> på toppnivå"
+
+-#: cp/semantics.c:2010
++#: cp/semantics.c:2033
+ #, gcc-internal-format
+ msgid "invalid qualifying scope in pseudo-destructor name"
+ msgstr "ogiltigt kvalificerande räckvidd i pseudodestruerarnamn"
+
+-#: cp/semantics.c:2015 cp/typeck.c:2004
++#: cp/semantics.c:2038 cp/typeck.c:2050
+ #, gcc-internal-format
+ msgid "qualified type %qT does not match destructor name ~%qT"
+ msgstr "kvalificerad typ %qT matchar inte destruerarnamnet ~%qT"
+
+-#: cp/semantics.c:2037
++#: cp/semantics.c:2060
+ #, gcc-internal-format
+ msgid "%qE is not of type %qT"
+ msgstr "%qE har inte typen %qT"
+
+-#: cp/semantics.c:2081
++#: cp/semantics.c:2104
+ #, gcc-internal-format
+ msgid "compound literal of non-object type %qT"
+ msgstr "sammansatt literal för ej objekttyp %qT"
+
+-#: cp/semantics.c:2158
++#: cp/semantics.c:2181
+ #, gcc-internal-format
+ msgid "template type parameters must use the keyword %<class%> or %<typename%>"
+ msgstr "malltypparametrar måste använda nyckelordet %<class%> eller %<typename%>"
+
+-#: cp/semantics.c:2195
++#: cp/semantics.c:2222
+ #, gcc-internal-format
+ msgid "invalid use of type %qT as a default value for a template template-parameter"
+ msgstr "ogiltigt användning av typ %qT som standardvärde för en mallmallparameter"
+
+-#: cp/semantics.c:2198
++#: cp/semantics.c:2225
+ #, gcc-internal-format
+ msgid "invalid default argument for a template template parameter"
+ msgstr "ogiltigt standardargument för en mallmallparameter"
+
+-#: cp/semantics.c:2215
++#: cp/semantics.c:2242
+ #, gcc-internal-format
+ msgid "definition of %q#T inside template parameter list"
+ msgstr "definition av %q#T inuti mallparameterlista"
+
+-#: cp/semantics.c:2226
++#: cp/semantics.c:2253
+ #, gcc-internal-format
+ msgid "invalid definition of qualified type %qT"
+ msgstr "ogiltig definition av kvalificerad typ %qT"
+
+-#: cp/semantics.c:2437
++#: cp/semantics.c:2469
+ #, gcc-internal-format
+ msgid "invalid base-class specification"
+ msgstr "ogiltig basklasspecifikation"
+
+-#: cp/semantics.c:2446
++#: cp/semantics.c:2478
+ #, gcc-internal-format
+ msgid "base class %qT has cv qualifiers"
+ msgstr "basklass %qT har cv-kvalificerare"
+
+-#: cp/semantics.c:2468
++#: cp/semantics.c:2500
+ #, gcc-internal-format
+ msgid "incomplete type %qT used in nested name specifier"
+ msgstr "ofullständig typ %qT använd i nästad namnspecificerare"
+
+-#: cp/semantics.c:2471
++#: cp/semantics.c:2503
+ #, gcc-internal-format
+ msgid "reference to %<%T::%D%> is ambiguous"
+ msgstr "referens till %<%T::%D%> är tvetydig"
+
+-#: cp/semantics.c:2475 cp/typeck.c:1813
++#: cp/semantics.c:2507 cp/typeck.c:1859
+ #, gcc-internal-format
+ msgid "%qD is not a member of %qT"
+ msgstr "%qD har inte en medlem av %qT"
+
+-#: cp/semantics.c:2478
++#: cp/semantics.c:2510
+ #, gcc-internal-format
+ msgid "%qD is not a member of %qD"
+ msgstr "%qD är inte en medlem av %qD"
+
+-#: cp/semantics.c:2480
++#: cp/semantics.c:2512
+ #, gcc-internal-format
+ msgid "%<::%D%> has not been declared"
+ msgstr "%<::%D%> har inte deklarerats"
+
+-#: cp/semantics.c:2621
++#: cp/semantics.c:2653
+ #, gcc-internal-format
+ msgid "use of %<auto%> variable from containing function"
+ msgstr "användning av %<auto%>-variabel från inneslutande funktion"
+
+-#: cp/semantics.c:2623
++#: cp/semantics.c:2655
+ #, gcc-internal-format
+ msgid " %q+#D declared here"
+ msgstr " %q+#D deklarerades här"
+
+-#: cp/semantics.c:2661
++#: cp/semantics.c:2693
+ #, gcc-internal-format
+ msgid "template parameter %qD of type %qT is not allowed in an integral constant expression because it is not of integral or enumeration type"
+ msgstr "mallparameter %qD av typ %qT är inte tillåten i ett konstant heltalsuttryck eftersom den inte är av heltals- eller uppräkningstyp"
+
+-#: cp/semantics.c:2830
++#: cp/semantics.c:2862
+ #, gcc-internal-format
+ msgid "%qD cannot appear in a constant-expression"
+ msgstr "%qD får inte finnas i ett konstantuttryck"
+
+-#: cp/semantics.c:2838
++#: cp/semantics.c:2870
+ #, gcc-internal-format
+ msgid "use of namespace %qD as expression"
+ msgstr "användning av namnrymden %q+D som uttryck"
+
+-#: cp/semantics.c:2843
++#: cp/semantics.c:2875
+ #, gcc-internal-format
+ msgid "use of class template %qT as expression"
+ msgstr "användning av klassmall %qT som uttryck"
+
+ #. Ambiguous reference to base members.
+-#: cp/semantics.c:2849
++#: cp/semantics.c:2881
+ #, gcc-internal-format
+ msgid "request for member %qD is ambiguous in multiple inheritance lattice"
+ msgstr "begäran av medlem %qD är tvetydig i gitter av multipelt arv"
+
+-#: cp/semantics.c:2970 cp/semantics.c:4210
++#: cp/semantics.c:3002 cp/semantics.c:4259
+ #, gcc-internal-format
+ msgid "type of %qE is unknown"
+ msgstr "typen på %qE är okänd"
+
+-#: cp/semantics.c:2985
++#: cp/semantics.c:3017
+ #, gcc-internal-format
+ msgid "cannot apply %<offsetof%> to destructor %<~%T%>"
+ msgstr "det går inte att applicera %<offsetof%> på destrueraren %<~%T%>"
+
+-#: cp/semantics.c:2996
++#: cp/semantics.c:3028
+ #, gcc-internal-format
+ msgid "cannot apply %<offsetof%> to member function %qD"
+ msgstr "det går inte att använda %<offsetof%> på medlemsfunktion %qD"
+
+-#: cp/semantics.c:3349
++#: cp/semantics.c:3381
+ #, gcc-internal-format
+ msgid "%qD is not a variable in clause %qs"
+ msgstr "%qD är inte en variabel i klausul %qs"
+
+-#: cp/semantics.c:3358
++#: cp/semantics.c:3390
+ #, gcc-internal-format
+ msgid "%qD appears more than once in data clauses"
+ msgstr "%qD förekommer mer än en gång i dataklausuler"
+
+-#: cp/semantics.c:3418
++#: cp/semantics.c:3450
+ #, gcc-internal-format
+ msgid "num_threads expression must be integral"
+ msgstr "num_threads-uttryck måste vara heltal"
+
+-#: cp/semantics.c:3432
++#: cp/semantics.c:3464
+ #, gcc-internal-format
+ msgid "schedule chunk size expression must be integral"
+ msgstr "uttryck för styckesstorlek för schemaläggning måste vara heltal"
+
+-#: cp/semantics.c:3562
++#: cp/semantics.c:3594
+ #, gcc-internal-format
+ msgid "%qE has reference type for %qs"
+ msgstr "%qE har referenstyp för %qs"
+
+-#: cp/semantics.c:3724
++#: cp/semantics.c:3756
+ #, gcc-internal-format
+ msgid "%<threadprivate%> %qE is not file, namespace or block scope variable"
+ msgstr "%<threadprivate%> %qE är inte fil-, namnrymds- eller blockräckviddsvariabel"
+
+ #. Report the error.
+-#: cp/semantics.c:4033
++#: cp/semantics.c:4072
+ #, gcc-internal-format
+ msgid "static assertion failed: %E"
+ msgstr "statisk försäkran misslyckades: %E"
+
+-#: cp/semantics.c:4035
++#: cp/semantics.c:4074
+ #, gcc-internal-format
+ msgid "non-constant condition for static assertion"
+ msgstr "icke-konstant villkor i statisk deklaration"
+
+-#: cp/semantics.c:4097
++#: cp/semantics.c:4099 cp/semantics.c:4194
+ #, gcc-internal-format
+-msgid "%qE refers to a set of overloaded functions"
+-msgstr "%qE refererar till ett antal överlagrade funktioner"
++msgid "argument to decltype must be an expression"
++msgstr "argument till decltype måste vara ett uttryck"
+
+ #: cp/semantics.c:4145
+ #, gcc-internal-format
+-msgid "argument to decltype must be an expression"
+-msgstr "argument till decltype måste vara ett uttryck"
++msgid "%qE refers to a set of overloaded functions"
++msgstr "%qE refererar till ett antal överlagrade funktioner"
+
+-#: cp/semantics.c:4366
++#: cp/semantics.c:4415
+ #, gcc-internal-format
+ msgid "__is_convertible_to"
+ msgstr "__is_convertible_to"
+
+-#: cp/semantics.c:4395
++#: cp/semantics.c:4444
+ #, gcc-internal-format
+ msgid "incomplete type %qT not allowed"
+ msgstr "ofullständig typ %qT är inte tillåten"
+
+-#: cp/tree.c:829
++#: cp/tree.c:827
+ #, gcc-internal-format
+ msgid "%qV qualifiers cannot be applied to %qT"
+ msgstr "%qV-kvalificerare kan inte tillämpas på %qT"
+
+-#: cp/tree.c:2134
++#: cp/tree.c:2132
+ #, gcc-internal-format
+ msgid "%qE attribute can only be applied to Java class definitions"
+ msgstr "attributet %qE kan bara användas på klassdefinitioner i Java"
+
+-#: cp/tree.c:2163
++#: cp/tree.c:2161
+ #, gcc-internal-format
+ msgid "%qE attribute can only be applied to class definitions"
+ msgstr "attributet %qE kan bara användas på klassdefinitioner"
+
+-#: cp/tree.c:2169
++#: cp/tree.c:2167
+ #, gcc-internal-format
+ msgid "%qE is obsolete; g++ vtables are now COM-compatible by default"
+ msgstr "%qE är föråldrad, g++-vtabeller är nu COM-kompatibla som standard"
+
+-#: cp/tree.c:2193
++#: cp/tree.c:2191
+ #, gcc-internal-format
+ msgid "requested init_priority is not an integer constant"
+ msgstr "begärd init_priority är inte en heltalskonstant"
+
+-#: cp/tree.c:2214
++#: cp/tree.c:2212
+ #, gcc-internal-format
+ msgid "can only use %qE attribute on file-scope definitions of objects of class type"
+ msgstr "det går bara att använda attributet %qE på definitioner av objekt- eller klasstyp med filräckvidd"
+
+-#: cp/tree.c:2222
++#: cp/tree.c:2220
+ #, gcc-internal-format
+ msgid "requested init_priority is out of range"
+ msgstr "begärd init_priority är utanför sitt intervall"
+
+-#: cp/tree.c:2232
++#: cp/tree.c:2230
+ #, gcc-internal-format
+ msgid "requested init_priority is reserved for internal use"
+ msgstr "begärt init_priority är reserverad för internt bruk"
+
+-#: cp/tree.c:2243
++#: cp/tree.c:2241
+ #, gcc-internal-format
+ msgid "%qE attribute is not supported on this platform"
+ msgstr "attributet %qE stöds inte på denna plattform"
+
+-#: cp/typeck.c:431 cp/typeck.c:445 cp/typeck.c:545
++#: cp/typeck.c:432 cp/typeck.c:446 cp/typeck.c:546
+ #, gcc-internal-format
+ msgid "%s between distinct pointer types %qT and %qT lacks a cast"
+ msgstr "%s mellan olika pekartyper %qT och %qT saknar en typkonvertering"
+
+ # %s blir olika engelska strängar
+ # Felrapporterat: http://gcc.gnu.org/bugzilla/show_bug.cgi?id=29017
+-#: cp/typeck.c:507
++#: cp/typeck.c:508
+ #, gcc-internal-format
+ msgid "ISO C++ forbids %s between pointer of type %<void *%> and pointer-to-function"
+ msgstr ""
+
+-#: cp/typeck.c:565
++#: cp/typeck.c:566
+ #, gcc-internal-format
+ msgid "%s between distinct pointer-to-member types %qT and %qT lacks a cast"
+ msgstr "%s mellan olika pekare-på-medlem-typer %qT och %qT saknar en typkonvertering"
+
+-#: cp/typeck.c:1129
++#: cp/typeck.c:1166
+ #, gcc-internal-format
+ msgid "canonical types differ for identical types %T and %T"
+ msgstr "kanoniska typer skiljer för identiska typer %T och %T"
+
+-#: cp/typeck.c:1136
++#: cp/typeck.c:1173
+ #, gcc-internal-format
+ msgid "same canonical type node for different types %T and %T"
+ msgstr "samma kanoniska typnod för %T och %T"
+
+-#: cp/typeck.c:1248
++#: cp/typeck.c:1285
+ #, gcc-internal-format
+ msgid "invalid application of %qs to a member function"
+ msgstr "ogiltig användning av %qs på en medlemsfunktion"
+
+-#: cp/typeck.c:1298
++#: cp/typeck.c:1335
+ #, gcc-internal-format
+ msgid "invalid application of %<sizeof%> to a bit-field"
+ msgstr "ogiltig användning av %<sizeof%> på ett bitfält"
+
+-#: cp/typeck.c:1303
++#: cp/typeck.c:1340
+ #, gcc-internal-format
+ msgid "ISO C++ forbids applying %<sizeof%> to an expression of function type"
+ msgstr "ISO C++ förbjuder användning av %<sizeof%> på ett uttryck med funktionstyp"
+
+-#: cp/typeck.c:1346
++#: cp/typeck.c:1383
+ #, gcc-internal-format
+ msgid "invalid application of %<__alignof%> to a bit-field"
+ msgstr "ogiltig användning av %<__alignof%> på ett bitfält"
+
+-#: cp/typeck.c:1354
++#: cp/typeck.c:1391
+ #, gcc-internal-format
+ msgid "ISO C++ forbids applying %<__alignof%> to an expression of function type"
+ msgstr "ISO C++ förbjuder användning av %<__alignof%> på ett uttryck med funktionstyp"
+
+-#: cp/typeck.c:1405
++#: cp/typeck.c:1442
+ #, gcc-internal-format
+ msgid "invalid use of non-static member function"
+ msgstr "ogiltig användning av icke-statisk medlemsfunktion"
+
+-#: cp/typeck.c:1669
++#: cp/typeck.c:1715
+ #, gcc-internal-format
+ msgid "deprecated conversion from string constant to %qT"
+ msgstr "konvertering från strängkonstant till %qT bör undvikas"
+
+-#: cp/typeck.c:1784 cp/typeck.c:2132
++#: cp/typeck.c:1830 cp/typeck.c:2178
+ #, gcc-internal-format
+ msgid "request for member %qD in %qE, which is of non-class type %qT"
+ msgstr "begäran av medlem %qD i %qE, som är av icke-klasstyp %qT"
+
+-#: cp/typeck.c:1811
++#: cp/typeck.c:1857
+ #, gcc-internal-format
+ msgid "invalid use of nonstatic data member %qE"
+ msgstr "ogiltig användning av icke-statisk datamedlem %qE"
+
+-#: cp/typeck.c:1863 cp/typeck.c:1891
++#: cp/typeck.c:1909 cp/typeck.c:1937
+ #, gcc-internal-format
+ msgid "invalid access to non-static data member %qD of NULL object"
+ msgstr "ogiltig åtkomst av ickestatisk datamedlem %qD från NULL-objekt"
+
+-#: cp/typeck.c:1866 cp/typeck.c:1893
++#: cp/typeck.c:1912 cp/typeck.c:1939
+ #, gcc-internal-format
+ msgid "(perhaps the %<offsetof%> macro was used incorrectly)"
+ msgstr "(kanske makrot %<offsetof%> användes felaktigt)"
+
+-#: cp/typeck.c:2010
++#: cp/typeck.c:2056
+ #, gcc-internal-format
+ msgid "the type being destroyed is %qT, but the destructor refers to %qT"
+ msgstr "typen som destrueras är %qT, men destrueraren refererar till %qT"
+
+-#: cp/typeck.c:2049 cp/typeck.c:2069
++#: cp/typeck.c:2095 cp/typeck.c:2115
+ #, gcc-internal-format
+ msgid "%qD is not a template"
+ msgstr "%qD är inte en mall"
+
+-#: cp/typeck.c:2170
++#: cp/typeck.c:2216
+ #, gcc-internal-format
+ msgid "%<%D::%D%> is not a member of %qT"
+ msgstr "%<%D::%D%> är inte en medlem av %qT"
+
+-#: cp/typeck.c:2185
++#: cp/typeck.c:2231
+ #, gcc-internal-format
+ msgid "%qT is not a base of %qT"
+ msgstr "%qT är inte en basklass till %qT"
+
+-#: cp/typeck.c:2204
++#: cp/typeck.c:2250
+ #, gcc-internal-format
+ msgid "%qD has no member named %qE"
+ msgstr "%qD har ingen medlem med namnet %qE"
+
+-#: cp/typeck.c:2219
++#: cp/typeck.c:2265
+ #, gcc-internal-format
+ msgid "%qD is not a member template function"
+ msgstr "%qD är inte en medlemsmallfunktion"
+
+ #. A pointer to incomplete type (other than cv void) can be
+ #. dereferenced [expr.unary.op]/1
+-#: cp/typeck.c:2352
++#: cp/typeck.c:2398
+ #, gcc-internal-format
+ msgid "%qT is not a pointer-to-object type"
+ msgstr "%qT är inte en pekare-på-objekt-typ"
+
+-#: cp/typeck.c:2377
++#: cp/typeck.c:2423
+ #, gcc-internal-format
+ msgid "invalid use of %qs on pointer to member"
+ msgstr "ogiltig användning av %qs på pekare till medlem"
+
+-#: cp/typeck.c:2381
++#: cp/typeck.c:2427
+ #, gcc-internal-format
+ msgid "invalid type argument of %qs"
+ msgstr "ogiltigt typargument till %qs"
+
+-#: cp/typeck.c:2383
++#: cp/typeck.c:2429
+ #, gcc-internal-format
+ msgid "invalid type argument"
+ msgstr "ogiltigt typargument"
+
+-#: cp/typeck.c:2406
++#: cp/typeck.c:2452
+ #, gcc-internal-format
+ msgid "subscript missing in array reference"
+ msgstr "index saknas i vektorreferens"
+
+-#: cp/typeck.c:2480
++#: cp/typeck.c:2526
+ #, gcc-internal-format
+ msgid "ISO C++ forbids subscripting non-lvalue array"
+ msgstr "ISO C++ förbjuder indexering av icke-lvalue-vektor"
+
+-#: cp/typeck.c:2491
++#: cp/typeck.c:2537
+ #, gcc-internal-format
+ msgid "subscripting array declared %<register%>"
+ msgstr "indexering av vektor deklarerad %<register%>"
+
+-#: cp/typeck.c:2576
++#: cp/typeck.c:2622
+ #, gcc-internal-format
+ msgid "object missing in use of %qE"
+ msgstr "objekt saknas i användning av %qE"
+
+-#: cp/typeck.c:2693
++#: cp/typeck.c:2739
+ #, gcc-internal-format
+ msgid "ISO C++ forbids calling %<::main%> from within program"
+ msgstr "ISO C++ förbjuder anrop av %<::main%> inifrån program"
+
+-#: cp/typeck.c:2718
++#: cp/typeck.c:2764
+ #, gcc-internal-format
+ msgid "must use %<.*%> or %<->*%> to call pointer-to-member function in %<%E (...)%>"
+ msgstr "man måste använda %<.*%> eller %<->*%> för att anropa en pekare-till-medlems-funktion i %<%E (...)%>"
+
+-#: cp/typeck.c:2732
++#: cp/typeck.c:2778
+ #, gcc-internal-format
+ msgid "%qE cannot be used as a function"
+ msgstr "%qE kan inte användas som en funktion"
+
+-#: cp/typeck.c:2822
++#: cp/typeck.c:2868
+ #, gcc-internal-format
+ msgid "too many arguments to %s %q+#D"
+ msgstr "för många argument till %s %+#D"
+
+-#: cp/typeck.c:2823 cp/typeck.c:2927
++#: cp/typeck.c:2869 cp/typeck.c:2973
+ #, gcc-internal-format
+ msgid "at this point in file"
+ msgstr "på den här platsen i filen"
+
+-#: cp/typeck.c:2826
++#: cp/typeck.c:2872
+ #, gcc-internal-format
+ msgid "too many arguments to function"
+ msgstr "för många argument till funktion"
+
+-#: cp/typeck.c:2856
++#: cp/typeck.c:2902
+ #, gcc-internal-format
+ msgid "parameter %P of %qD has incomplete type %qT"
+ msgstr "parameter %P till %qD har ofullständig typ %qT"
+
+-#: cp/typeck.c:2859
++#: cp/typeck.c:2905
+ #, gcc-internal-format
+ msgid "parameter %P has incomplete type %qT"
+ msgstr "parametern %P har ofullständig typ %qT"
+
+-#: cp/typeck.c:2926
++#: cp/typeck.c:2972
+ #, gcc-internal-format
+ msgid "too few arguments to %s %q+#D"
+ msgstr "för få argument till %s %q+#D"
+
+-#: cp/typeck.c:2930
++#: cp/typeck.c:2976
+ #, gcc-internal-format
+ msgid "too few arguments to function"
+ msgstr "för få argument till funktion"
+
+-#: cp/typeck.c:3098 cp/typeck.c:3108
++#: cp/typeck.c:3140 cp/typeck.c:3150
+ #, gcc-internal-format
+ msgid "assuming cast to type %qT from overloaded function"
+ msgstr "antar typkonvertering till %qT från överlagrad funktion"
+
+-#: cp/typeck.c:3306
++#: cp/typeck.c:3346
+ #, gcc-internal-format
+ msgid "left rotate count is negative"
+ msgstr "längd att rotera till vänster är negativ"
+
+-#: cp/typeck.c:3307
++#: cp/typeck.c:3347
+ #, gcc-internal-format
+ msgid "right rotate count is negative"
+ msgstr "längd att rotera till höger är negativ"
+
+-#: cp/typeck.c:3310
++#: cp/typeck.c:3350
+ #, gcc-internal-format
+ msgid "left rotate count >= width of type"
+ msgstr "längd att rotera till vänster >= storleken på typen"
+
+-#: cp/typeck.c:3311
++#: cp/typeck.c:3351
+ #, gcc-internal-format
+ msgid "right rotate count >= width of type"
+ msgstr "längd att rotera till höger >= storleken på typen"
+
+-#: cp/typeck.c:3327 cp/typeck.c:3502
++#: cp/typeck.c:3367 cp/typeck.c:3549
+ #, gcc-internal-format
+ msgid "comparison with string literal results in unspecified behaviour"
+ msgstr "jämförelse med strängkonstant resulterar i odefinierat beteende"
+
+-#: cp/typeck.c:3360 cp/typeck.c:3365 cp/typeck.c:3520 cp/typeck.c:3525
++#: cp/typeck.c:3400 cp/typeck.c:3405 cp/typeck.c:3567 cp/typeck.c:3572
+ #, gcc-internal-format
+ msgid "ISO C++ forbids comparison between pointer and integer"
+ msgstr "ISO C++ förbjuder jämförelse mellan pekare och heltal"
+
+-#: cp/typeck.c:3539
++#: cp/typeck.c:3586
+ #, gcc-internal-format
+ msgid "unordered comparison on non-floating point argument"
+ msgstr "oordnad jämförelse av argument som inte är flyttal"
+
+-#: cp/typeck.c:3577
++#: cp/typeck.c:3624
+ #, gcc-internal-format
+ msgid "invalid operands of types %qT and %qT to binary %qO"
+ msgstr "ogiltiga operander av typ %qT och %qT till binär %qO"
+
+-#: cp/typeck.c:3749
++#: cp/typeck.c:3757
+ #, gcc-internal-format
+ msgid "comparison between types %q#T and %q#T"
+ msgstr "jämförelse mellan typer %q#T och %q#T"
+
+-#: cp/typeck.c:3786
++#: cp/typeck.c:3794
+ #, gcc-internal-format
+ msgid "comparison between signed and unsigned integer expressions"
+ msgstr "jämförelse mellan heltalsuttryck med och utan tecken"
+@@ -32036,154 +32066,154 @@
+ #. performed. Note that pointer-difference and pointer-addition
+ #. have already been handled above, and so we don't end up here in
+ #. that case.
+-#: cp/typeck.c:3858
++#: cp/typeck.c:3866
+ #, gcc-internal-format
+ msgid "NULL used in arithmetic"
+ msgstr "NULL använd i aritmetik"
+
+-#: cp/typeck.c:3927
++#: cp/typeck.c:3935
+ #, gcc-internal-format
+ msgid "ISO C++ forbids using pointer of type %<void *%> in subtraction"
+ msgstr "ISO C++ förbjuder användning av pekare av typ %<void *%> i subtraktion"
+
+-#: cp/typeck.c:3929
++#: cp/typeck.c:3937
+ #, gcc-internal-format
+ msgid "ISO C++ forbids using pointer to a function in subtraction"
+ msgstr "ISO C++ förbjuder användning av pekare till en funktion i subtraktion"
+
+-#: cp/typeck.c:3931
++#: cp/typeck.c:3939
+ #, gcc-internal-format
+ msgid "ISO C++ forbids using pointer to a method in subtraction"
+ msgstr "ISO C++ förbjuder användning av pekare till en metod i subtraktion"
+
+-#: cp/typeck.c:3943
++#: cp/typeck.c:3951
+ #, gcc-internal-format
+ msgid "invalid use of a pointer to an incomplete type in pointer arithmetic"
+ msgstr "ogiltig användning av en pekare till en ofullständig typ i pekararitmetik"
+
+-#: cp/typeck.c:4003
++#: cp/typeck.c:4011
+ #, gcc-internal-format
+ msgid "invalid use of %qE to form a pointer-to-member-function"
+ msgstr "ogiltig användning av %qE för att skapa en pekare-till-medlem-funktion"
+
+-#: cp/typeck.c:4006
++#: cp/typeck.c:4014
+ #, gcc-internal-format
+ msgid " a qualified-id is required"
+ msgstr " ett kvalificerat id krävs"
+
+-#: cp/typeck.c:4011
++#: cp/typeck.c:4019
+ #, gcc-internal-format
+ msgid "parentheses around %qE cannot be used to form a pointer-to-member-function"
+ msgstr "parenteser runt %qE kan inte användas för att skapa en pekare-till-medlem-funktion"
+
+-#: cp/typeck.c:4034
++#: cp/typeck.c:4042
+ #, gcc-internal-format
+ msgid "taking address of temporary"
+ msgstr "tar adress till något temporärt"
+
+-#: cp/typeck.c:4287
++#: cp/typeck.c:4295
+ #, gcc-internal-format
+ msgid "ISO C++ forbids incrementing an enum"
+ msgstr "ISO C++ förbjuder ökning av enum"
+
+-#: cp/typeck.c:4288
++#: cp/typeck.c:4296
+ #, gcc-internal-format
+ msgid "ISO C++ forbids decrementing an enum"
+ msgstr "ISO C++ förbjuder minskning av enum"
+
+-#: cp/typeck.c:4299
++#: cp/typeck.c:4307
+ #, gcc-internal-format
+ msgid "cannot increment a pointer to incomplete type %qT"
+ msgstr "det går inte att öka en pekare på en ofullständig typ %qT"
+
+-#: cp/typeck.c:4300
++#: cp/typeck.c:4308
+ #, gcc-internal-format
+ msgid "cannot decrement a pointer to incomplete type %qT"
+ msgstr "det går inte att minska en pekare på en ofullständig typ %qT"
+
+-#: cp/typeck.c:4306
++#: cp/typeck.c:4314
+ #, gcc-internal-format
+ msgid "ISO C++ forbids incrementing a pointer of type %qT"
+ msgstr "ISO C++ förbjuder ökning av pekare på typ %qT"
+
+-#: cp/typeck.c:4307
++#: cp/typeck.c:4315
+ #, gcc-internal-format
+ msgid "ISO C++ forbids decrementing a pointer of type %qT"
+ msgstr "ISO C++ förbjuder minskning av pekare på typ %qT"
+
+-#: cp/typeck.c:4327
++#: cp/typeck.c:4335
+ #, gcc-internal-format
+ msgid "invalid use of Boolean expression as operand to %<operator--%>"
+ msgstr "ogiltigt användning av Booleskt uttryck som operand till %<operator--%>"
+
+ #. ARM $3.4
+-#: cp/typeck.c:4357
++#: cp/typeck.c:4365
+ #, gcc-internal-format
+ msgid "ISO C++ forbids taking address of function %<::main%>"
+ msgstr "ISO C++ förbjuder att ta adressen till funktionen %<::main%>"
+
+ #. An expression like &memfn.
+-#: cp/typeck.c:4413
++#: cp/typeck.c:4421
+ #, gcc-internal-format
+ msgid "ISO C++ forbids taking the address of an unqualified or parenthesized non-static member function to form a pointer to member function. Say %<&%T::%D%>"
+ msgstr "ISO C++ förbjuder att ta adressen till en okvalificerad eller parentetiserad icke-statisk medlemsfunktion för att skapa en pekare till en medlemsfunktion. Säg %<&%T::%D%>"
+
+-#: cp/typeck.c:4418
++#: cp/typeck.c:4426
+ #, gcc-internal-format
+ msgid "ISO C++ forbids taking the address of a bound member function to form a pointer to member function. Say %<&%T::%D%>"
+ msgstr "ISO C++ förbjuder att ta adressen till en bunden medlemsfunktion för att skapa en pekare till medlemsfunktion. Säg %<&%T::%D%>"
+
+-#: cp/typeck.c:4443
++#: cp/typeck.c:4451
+ #, gcc-internal-format
+ msgid "ISO C++ forbids taking the address of a cast to a non-lvalue expression"
+ msgstr "ISO C++ förbjuder att ta adressen till en typkonvertering till ett icke-lvärde-uttryck"
+
+-#: cp/typeck.c:4467
++#: cp/typeck.c:4475
+ #, gcc-internal-format
+ msgid "cannot create pointer to reference member %qD"
+ msgstr "kan inte skapa pekare till referensmedlem %qD"
+
+-#: cp/typeck.c:4678
++#: cp/typeck.c:4686
+ #, gcc-internal-format
+ msgid "cannot take the address of %<this%>, which is an rvalue expression"
+ msgstr "kan inte ta adressen till %<this%>, som är ett rvalue-uttryck"
+
+-#: cp/typeck.c:4701
++#: cp/typeck.c:4709
+ #, gcc-internal-format
+ msgid "address of explicit register variable %qD requested"
+ msgstr "adress till explicit registervariabel %qD begärd"
+
+-#: cp/typeck.c:4706
++#: cp/typeck.c:4714
+ #, gcc-internal-format
+ msgid "address requested for %qD, which is declared %<register%>"
+ msgstr "adress begärd till %qD, som är deklarerad %<register%>"
+
+-#: cp/typeck.c:4772
++#: cp/typeck.c:4780
+ #, gcc-internal-format
+ msgid "%s expression list treated as compound expression"
+ msgstr "uttryckslistan %s behandlas som sammansatt uttryck"
+
+-#: cp/typeck.c:5175
++#: cp/typeck.c:5183
+ #, gcc-internal-format
+ msgid "invalid static_cast from type %qT to type %qT"
+ msgstr "ogiltig static_cast från typ %qT till typ %qT"
+
+-#: cp/typeck.c:5197
++#: cp/typeck.c:5205
+ #, gcc-internal-format
+ msgid "converting from %qT to %qT"
+ msgstr "konvertering från %qT till %qT"
+
+-#: cp/typeck.c:5245
++#: cp/typeck.c:5253
+ #, gcc-internal-format
+ msgid "invalid cast of an rvalue expression of type %qT to type %qT"
+ msgstr "ogiltig typkonvertering av ett rvärdeuttryck av typ %qT till typ %qT"
+
+-#: cp/typeck.c:5304
++#: cp/typeck.c:5312
+ #, gcc-internal-format
+ msgid "cast from %qT to %qT loses precision"
+ msgstr "konvertering från %qT till %qT förlorar precision"
+
+-#: cp/typeck.c:5331
++#: cp/typeck.c:5339
+ #, gcc-internal-format
+ msgid "cast from %qT to %qT increases required alignment of target type"
+ msgstr "typkonvertering från %qT till %qT ökar kravet på justering för måltypen"
+@@ -32192,155 +32222,155 @@
+ #. where possible, and it is necessary in some cases. DR 195
+ #. addresses this issue, but as of 2004/10/26 is still in
+ #. drafting.
+-#: cp/typeck.c:5351
++#: cp/typeck.c:5359
+ #, gcc-internal-format
+ msgid "ISO C++ forbids casting between pointer-to-function and pointer-to-object"
+ msgstr "ISO C++ förbjuder konvertering mellan pekare-till-funktion och pekare-till-objekt"
+
+-#: cp/typeck.c:5362
++#: cp/typeck.c:5370
+ #, gcc-internal-format
+ msgid "invalid cast from type %qT to type %qT"
+ msgstr "ogiltig konvertering från typ %qT till typ %qT"
+
+-#: cp/typeck.c:5418
++#: cp/typeck.c:5426
+ #, gcc-internal-format
+ msgid "invalid use of const_cast with type %qT, which is not a pointer, reference, nor a pointer-to-data-member type"
+ msgstr "ogiltig användning av const_cast med typ %qT, som inte är en pekare, referens, eller pekare-till-datamedlem-typ"
+
+-#: cp/typeck.c:5427
++#: cp/typeck.c:5435
+ #, gcc-internal-format
+ msgid "invalid use of const_cast with type %qT, which is a pointer or reference to a function type"
+ msgstr "ogiltig användning av const_cast med typ %qT, som är en pekare eller referens till en funktionstyp"
+
+-#: cp/typeck.c:5452
++#: cp/typeck.c:5460
+ #, gcc-internal-format
+ msgid "invalid const_cast of an rvalue of type %qT to type %qT"
+ msgstr "ogiltig const_cast av ett rvärde av typ %qT till typ %qT"
+
+-#: cp/typeck.c:5503
++#: cp/typeck.c:5511
+ #, gcc-internal-format
+ msgid "invalid const_cast from type %qT to type %qT"
+ msgstr "ogiltig const_cast från typ %qT till typ %qT"
+
+-#: cp/typeck.c:5571 cp/typeck.c:5576
++#: cp/typeck.c:5579 cp/typeck.c:5584
+ #, gcc-internal-format
+ msgid "ISO C++ forbids casting to an array type %qT"
+ msgstr "ISO C++ förbjuder typkonvertering till en vektortyp %qT"
+
+-#: cp/typeck.c:5584
++#: cp/typeck.c:5592
+ #, gcc-internal-format
+ msgid "invalid cast to function type %qT"
+ msgstr "ogiltig konvertering till funktionstyp %qT"
+
+-#: cp/typeck.c:5804
++#: cp/typeck.c:5812
+ #, gcc-internal-format
+ msgid " in evaluation of %<%Q(%#T, %#T)%>"
+ msgstr " i beräkningen av %<%Q(%#T, %#T)%>"
+
+-#: cp/typeck.c:5873
++#: cp/typeck.c:5881
+ #, gcc-internal-format
+ msgid "incompatible types in assignment of %qT to %qT"
+ msgstr "inkompatibla typer i tilldelning vid av %qT till %qT"
+
+-#: cp/typeck.c:5884
++#: cp/typeck.c:5892
+ #, gcc-internal-format
+ msgid "array used as initializer"
+ msgstr "vektor använd som initierare"
+
+-#: cp/typeck.c:5886
++#: cp/typeck.c:5894
+ #, gcc-internal-format
+ msgid "invalid array assignment"
+ msgstr "ogiltig vektortilldelning"
+
+-#: cp/typeck.c:5998
++#: cp/typeck.c:6006
+ #, gcc-internal-format
+ msgid " in pointer to member function conversion"
+ msgstr " i konvertering av pekare till medlemsfunktion"
+
+-#: cp/typeck.c:6009
++#: cp/typeck.c:6017
+ #, gcc-internal-format
+ msgid "pointer to member conversion via virtual base %qT"
+ msgstr "konvertering av pekare till medlem via virtuell bas %qT"
+
+-#: cp/typeck.c:6049 cp/typeck.c:6061
++#: cp/typeck.c:6057 cp/typeck.c:6069
+ #, gcc-internal-format
+ msgid " in pointer to member conversion"
+ msgstr " i konvertering av pekare till medlem"
+
+-#: cp/typeck.c:6140
++#: cp/typeck.c:6148
+ #, gcc-internal-format
+ msgid "invalid conversion to type %qT from type %qT"
+ msgstr "ogiltig konvertering till typ %qT från typ %qT"
+
+-#: cp/typeck.c:6384
++#: cp/typeck.c:6411
+ #, gcc-internal-format
+ msgid "cannot convert %qT to %qT for argument %qP to %qD"
+ msgstr "kan inte konvertera %qT till %qT för argument %qP till %qD"
+
+-#: cp/typeck.c:6387
++#: cp/typeck.c:6414
+ #, gcc-internal-format
+ msgid "cannot convert %qT to %qT in %s"
+ msgstr "kan inte konvertera %qT till %qT i %s"
+
+-#: cp/typeck.c:6398
++#: cp/typeck.c:6425
+ #, gcc-internal-format
+ msgid "%s might be a candidate for a format attribute"
+ msgstr "%s kan vara en kandidat för ett formatattribut"
+
+-#: cp/typeck.c:6485 cp/typeck.c:6487
++#: cp/typeck.c:6512 cp/typeck.c:6514
+ #, gcc-internal-format
+ msgid "in passing argument %P of %q+D"
+ msgstr "när argument %P till %q+D skickades"
+
+-#: cp/typeck.c:6537
++#: cp/typeck.c:6564
+ #, gcc-internal-format
+ msgid "returning reference to temporary"
+ msgstr "returnerar referens till en temporär"
+
+-#: cp/typeck.c:6544
++#: cp/typeck.c:6571
+ #, gcc-internal-format
+ msgid "reference to non-lvalue returned"
+ msgstr "referens till annat än lvärde returnerad"
+
+-#: cp/typeck.c:6560
++#: cp/typeck.c:6587
+ #, gcc-internal-format
+ msgid "reference to local variable %q+D returned"
+ msgstr "referens till lokal variabel %q+D returnerad"
+
+-#: cp/typeck.c:6563
++#: cp/typeck.c:6590
+ #, gcc-internal-format
+ msgid "address of local variable %q+D returned"
+ msgstr "adress till lokal variabel %q+D returnerad"
+
+-#: cp/typeck.c:6598
++#: cp/typeck.c:6625
+ #, gcc-internal-format
+ msgid "returning a value from a destructor"
+ msgstr "returnerar ett värde från en destruktor"
+
+ #. If a return statement appears in a handler of the
+ #. function-try-block of a constructor, the program is ill-formed.
+-#: cp/typeck.c:6606
++#: cp/typeck.c:6633
+ #, gcc-internal-format
+ msgid "cannot return from a handler of a function-try-block of a constructor"
+ msgstr "det går inte att returnerar från en hanterare i ett funktions-try-block eller en konstruerare"
+
+ #. You can't return a value from a constructor.
+-#: cp/typeck.c:6609
++#: cp/typeck.c:6636
+ #, gcc-internal-format
+ msgid "returning a value from a constructor"
+ msgstr "returnerar ett värde från en konstruerare"
+
+-#: cp/typeck.c:6633
++#: cp/typeck.c:6661
+ #, gcc-internal-format
+ msgid "return-statement with no value, in function returning %qT"
+ msgstr "return-sats utan värde i funktion som returnerar %qT"
+
+-#: cp/typeck.c:6654
++#: cp/typeck.c:6682
+ #, gcc-internal-format
+ msgid "return-statement with a value, in function returning 'void'"
+ msgstr "return-sats med värde i funktion som returnerar \"void\""
+
+-#: cp/typeck.c:6685
++#: cp/typeck.c:6713
+ #, gcc-internal-format
+ msgid "%<operator new%> must not return NULL unless it is declared %<throw()%> (or -fcheck-new is in effect)"
+ msgstr "%<operator new%> får inte returnera NULL om den inte är deklarerad %<throw()%> (eller -fcheck-new är aktivt)"
+@@ -32536,57 +32566,57 @@
+ msgid "pointer to member type %qT incompatible with object type %qT"
+ msgstr "pekare-på-medlemstyp %qT är inkompatibel med objekttyp %qT"
+
+-#: cp/typeck2.c:1495
++#: cp/typeck2.c:1508
+ #, 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.c:1498
++#: cp/typeck2.c:1511
+ #, gcc-internal-format
+ msgid "call to function which throws incomplete type %q#T"
+ msgstr "anrop till funktion som kastar ofullständig typ %q#T"
+
+-#: fortran/f95-lang.c:233
++#: fortran/f95-lang.c:235
+ #, gcc-internal-format
+ msgid "Unexpected type in truthvalue_conversion"
+ msgstr "Oväntad typ i truthvalue_conversion"
+
+-#: fortran/f95-lang.c:289
++#: fortran/f95-lang.c:291
+ #, gcc-internal-format
+ msgid "can't open input file: %s"
+ msgstr "Kan inte öppna indatafil: %s"
+
+-#: fortran/f95-lang.c:629
++#: fortran/f95-lang.c:631
+ #, gcc-internal-format
+ msgid "global register variable %qs used in nested function"
+ msgstr "global registervariabel %qs använd i nästad funktion"
+
+-#: fortran/f95-lang.c:633
++#: fortran/f95-lang.c:635
+ #, gcc-internal-format
+ msgid "register variable %qs used in nested function"
+ msgstr "registervariabel %qs använd i nästad funktion"
+
+-#: fortran/f95-lang.c:640
++#: fortran/f95-lang.c:642
+ #, gcc-internal-format
+ msgid "address of global register variable %qs requested"
+ msgstr "adress till global registervariabel %qs efterfrågad"
+
+-#: fortran/f95-lang.c:658
++#: fortran/f95-lang.c:660
+ #, gcc-internal-format
+ msgid "address of register variable %qs requested"
+ msgstr "adress till registervariabeln %qs efterfrågad"
+
+-#: fortran/trans-array.c:3765
++#: fortran/trans-array.c:3805
+ #, gcc-internal-format
+ msgid "Possible frontend bug: array constructor not expanded"
+ msgstr "Möjligt fel i framänden: vektorkonstruerare är inte expanderad"
+
+-#: fortran/trans-array.c:5418
++#: fortran/trans-array.c:5499
+ #, gcc-internal-format
+ msgid "Possible frontend bug: Deferred array size without pointer, allocatable attribute or derived type without allocatable components."
+ msgstr "Möjligt fel i framänden: Fördröjd vektorstorlek utan pekare, attributet allocatable eller härledd typ utan allokerbara komponenter."
+
+-#: fortran/trans-array.c:5894
++#: fortran/trans-array.c:5975
+ #, gcc-internal-format
+ msgid "bad expression type during walk (%d)"
+ msgstr "felaktig uttryckstyp under genomlöpning (%d)"
+@@ -32596,27 +32626,27 @@
+ msgid "gfc_conv_constant_to_tree(): invalid type: %s"
+ msgstr "gfc_conv_constant_to_tree(): ogiltig typ: %s"
+
+-#: fortran/trans-decl.c:966
++#: fortran/trans-decl.c:972
+ #, gcc-internal-format
+ msgid "intrinsic variable which isn't a procedure"
+ msgstr "inbyggd variabel som inte är en procedur"
+
+-#: fortran/trans-decl.c:2639
++#: fortran/trans-decl.c:2644
+ #, gcc-internal-format
+ msgid "Function does not return a value"
+ msgstr "Funktionen returnerar inte ett värde"
+
+-#: fortran/trans-decl.c:2817
++#: fortran/trans-decl.c:2832
+ #, gcc-internal-format
+ msgid "backend decl for module variable %s already exists"
+ msgstr "bakändedeklaration för modulvariabel %s finns redan"
+
+-#: fortran/trans-decl.c:3351
++#: fortran/trans-decl.c:3314
+ #, gcc-internal-format
+ msgid "Function return value not set"
+ msgstr "Funktionen returnerar ett värde som inte är satt"
+
+-#: fortran/trans-expr.c:1163
++#: fortran/trans-expr.c:1177
+ #, gcc-internal-format
+ msgid "Unknown intrinsic op"
+ msgstr "Okänd inbyggd op"
+@@ -32626,32 +32656,32 @@
+ msgid "Intrinsic function %s(%d) not recognized"
+ msgstr "Inbyggd funktion %s(%d) känns inte igen"
+
+-#: fortran/trans-io.c:1928
++#: fortran/trans-io.c:1929
+ #, gcc-internal-format
+ msgid "Bad IO basetype (%d)"
+ msgstr "Felaktig IO-bastyp (%d)"
+
+-#: fortran/trans-types.c:386
++#: fortran/trans-types.c:387
+ #, gcc-internal-format
+ msgid "integer kind=8 not available for -fdefault-integer-8 option"
+ msgstr "heltalssort=8 inte tillgänglig för flagga -fdefault-integer-8"
+
+-#: fortran/trans-types.c:409
++#: fortran/trans-types.c:410
+ #, gcc-internal-format
+ msgid "real kind=8 not available for -fdefault-real-8 option"
+ msgstr "reell sort=8 inte tillgänglig för flagga -fdefault-real-8"
+
+-#: fortran/trans-types.c:422
++#: fortran/trans-types.c:423
+ #, gcc-internal-format
+ msgid "Use of -fdefault-double-8 requires -fdefault-real-8"
+ msgstr "Användning av -fdefault-double-8 kräver -fdefault-real-8"
+
+-#: fortran/trans-types.c:1181
++#: fortran/trans-types.c:1185
+ #, gcc-internal-format
+ msgid "Array element size too big"
+ msgstr "Vektorelementstorlek är för stor"
+
+-#: fortran/trans.c:1150
++#: fortran/trans.c:1151
+ #, gcc-internal-format
+ msgid "gfc_trans_code(): Bad statement code"
+ msgstr "gfc_trans_code(): Felaktig satskod"
+@@ -32711,88 +32741,88 @@
+ msgid "need to insert runtime check for %s"
+ msgstr "behöver lägga in en körtidskontroll för %s"
+
+-#: java/expr.c:505 java/expr.c:552
++#: java/expr.c:524 java/expr.c:571
+ #, gcc-internal-format
+ msgid "assert: %s is assign compatible with %s"
+ msgstr "försäkran: %s är tilldelningskompatibel med %s"
+
+-#: java/expr.c:670
++#: java/expr.c:689
+ #, gcc-internal-format
+ msgid "stack underflow - dup* operation"
+ msgstr "underspill i stack - dup*-operation"
+
+-#: java/expr.c:1657
++#: java/expr.c:1676
+ #, gcc-internal-format
+ msgid "reference %qs is ambiguous: appears in interface %qs and interface %qs"
+ msgstr "referens %qs är tvetydig: förekommer i gränssnitt %qs och gränssnitt %qs"
+
+-#: java/expr.c:1685
++#: java/expr.c:1704
+ #, gcc-internal-format
+ msgid "field %qs not found"
+ msgstr "fält %qs finns inte"
+
+-#: java/expr.c:2224
++#: java/expr.c:2243
+ #, gcc-internal-format
+ msgid "method '%s' not found in class"
+ msgstr "metod \"%s\" kan inte hittas i klassen"
+
+-#: java/expr.c:2429
++#: java/expr.c:2448
+ #, gcc-internal-format
+ msgid "failed to find class '%s'"
+ msgstr "kunde inte hitta klassen \"%s\""
+
+-#: java/expr.c:2470
++#: java/expr.c:2489
+ #, gcc-internal-format
+ msgid "class '%s' has no method named '%s' matching signature '%s'"
+ msgstr "klass \"%s\" har ingen metod med namnet \"%s\" som stämmer med signaturen \"%s\""
+
+-#: java/expr.c:2501
++#: java/expr.c:2520
+ #, gcc-internal-format
+ msgid "invokestatic on non static method"
+ msgstr "invokestatic på metod som inte är statisk"
+
+-#: java/expr.c:2506
++#: java/expr.c:2525
+ #, gcc-internal-format
+ msgid "invokestatic on abstract method"
+ msgstr "invokestatic på abstrakt metod"
+
+-#: java/expr.c:2514
++#: java/expr.c:2533
+ #, gcc-internal-format
+ msgid "invoke[non-static] on static method"
+ msgstr "invoke[non-static] på statisk metod"
+
+-#: java/expr.c:2865
++#: java/expr.c:2890
+ #, gcc-internal-format
+ msgid "missing field '%s' in '%s'"
+ msgstr "fält \"%s\" saknas i \"%s\""
+
+-#: java/expr.c:2872
++#: java/expr.c:2897
+ #, gcc-internal-format
+ msgid "mismatching signature for field '%s' in '%s'"
+ msgstr "signaturen stämmer inte för fält \"%s\" i \"%s\""
+
+-#: java/expr.c:2901
++#: java/expr.c:2926
+ #, gcc-internal-format
+ msgid "assignment to final field %q+D not in field's class"
+ msgstr "tilldelning till slutligt fält %q+D som inte är i fältets klass"
+
+-#: java/expr.c:3123
++#: java/expr.c:3148
+ #, gcc-internal-format
+ msgid "invalid PC in line number table"
+ msgstr "ogiltigt PC i radnummertabell"
+
+-#: java/expr.c:3173
++#: java/expr.c:3198
+ #, gcc-internal-format
+ msgid "unreachable bytecode from %d to before %d"
+ msgstr "onåbar bytekod från %d till före %d"
+
+-#: java/expr.c:3217
++#: java/expr.c:3242
+ #, gcc-internal-format
+ msgid "unreachable bytecode from %d to the end of the method"
+ msgstr "onåbar bytekod från %d till slutet av metoden"
+
+ #. duplicate code from LOAD macro
+-#: java/expr.c:3522
++#: java/expr.c:3547
+ #, gcc-internal-format
+ msgid "unrecogized wide sub-instruction"
+ msgstr "okänd bred underinstruktion"
+@@ -32858,27 +32888,27 @@
+ msgid "%Hduplicate class will only be compiled once"
+ msgstr "%Hdubblerad klass kommer endast att kompileras en gång"
+
+-#: java/jcf-parse.c:1636
++#: java/jcf-parse.c:1638
+ #, gcc-internal-format
+ msgid "missing Code attribute"
+ msgstr "Code-attribut saknas"
+
+-#: java/jcf-parse.c:1858
++#: java/jcf-parse.c:1860
+ #, gcc-internal-format
+ msgid "no input file specified"
+ msgstr "ingen indatafil angiven"
+
+-#: java/jcf-parse.c:1893
++#: java/jcf-parse.c:1895
+ #, gcc-internal-format
+ msgid "can't close input file %s: %m"
+ msgstr "kan inte stänga indatafilen %s: %m"
+
+-#: java/jcf-parse.c:1940
++#: java/jcf-parse.c:1942
+ #, gcc-internal-format
+ msgid "bad zip/jar file %s"
+ msgstr "felaktig zip/jar-fil %s"
+
+-#: java/jcf-parse.c:2145
++#: java/jcf-parse.c:2152
+ #, gcc-internal-format
+ msgid "error while reading %s from zip file"
+ msgstr "fel när %s lästes från zip-fil"
+@@ -32888,22 +32918,22 @@
+ msgid "warning: already-compiled .class files ignored with -C"
+ msgstr "varning: redan kompilerade .class-filer ignoreras med -C"
+
+-#: java/lang.c:590
++#: java/lang.c:594
+ #, gcc-internal-format
+ msgid "-findirect-dispatch is incompatible with -freduced-reflection"
+ msgstr "-findirect-dispatch är inkompatibel med -freduced-reflection"
+
+-#: java/lang.c:593
++#: java/lang.c:597
+ #, gcc-internal-format
+ msgid "-fjni is incompatible with -freduced-reflection"
+ msgstr "-fjni är inkompatibel med -freduced-reflection"
+
+-#: java/lang.c:604
++#: java/lang.c:608
+ #, gcc-internal-format
+ msgid "can't do dependency tracking with input from stdin"
+ msgstr "det går inte att spåra beroenden med indata från standard in"
+
+-#: java/lang.c:620
++#: java/lang.c:624
+ #, gcc-internal-format
+ msgid "couldn't determine target name for dependency tracking"
+ msgstr "det gick inte att avgöra målnamn för att spåra beroenden"
+Index: gcc/po/de.po
+===================================================================
+--- gcc/po/de.po (.../tags/gcc_4_3_0_release) (revision 133808)
++++ gcc/po/de.po (.../branches/gcc-4_3-branch) (revision 133808)
+@@ -6,17 +6,17 @@
+ #
+ msgid ""
+ msgstr ""
+-"Project-Id-Version: gcc 4.3-b20071109\n"
++"Project-Id-Version: gcc 4.3.0\n"
+ "Report-Msgid-Bugs-To: http://gcc.gnu.org/bugs.html\n"
+-"POT-Creation-Date: 2007-11-08 21:09+0000\n"
+-"PO-Revision-Date: 2008-01-21 10:15+0100\n"
++"POT-Creation-Date: 2008-03-05 17:23+0100\n"
++"PO-Revision-Date: 2008-03-15 11:15+0100\n"
+ "Last-Translator: Roland Stigge <stigge@antcom.de>\n"
+ "Language-Team: German <translation-team-de@lists.sourceforge.net>\n"
+ "MIME-Version: 1.0\n"
+ "Content-Type: text/plain; charset=UTF-8\n"
+ "Content-Transfer-Encoding: 8bit\n"
+
+-#: c-decl.c:3814
++#: c-decl.c:3813
+ msgid "<anonymous>"
+ msgstr "<anonym>"
+
+@@ -297,53 +297,53 @@
+ msgid "End of search list.\n"
+ msgstr "Ende der Suchliste.\n"
+
+-#: c-opts.c:1484
++#: c-opts.c:1505
+ msgid "<built-in>"
+ msgstr "<eingebaut>"
+
+-#: c-opts.c:1502
++#: c-opts.c:1523
+ msgid "<command-line>"
+ msgstr "<Kommandozeile>"
+
+-#: c-typeck.c:2448 c-typeck.c:4851 c-typeck.c:4853 c-typeck.c:4861
+-#: c-typeck.c:4891 c-typeck.c:6267
++#: c-typeck.c:2459 c-typeck.c:4862 c-typeck.c:4864 c-typeck.c:4872
++#: c-typeck.c:4902 c-typeck.c:6278
+ msgid "initializer element is not constant"
+ msgstr "Initialisierungselement ist nicht konstant"
+
+-#: c-typeck.c:4654
++#: c-typeck.c:4665
+ msgid "array initialized from parenthesized string constant"
+ msgstr "Feld mit geklammerter Zeichenkettenkonstante initialisiert"
+
+-#: c-typeck.c:4715 cp/typeck2.c:677
++#: c-typeck.c:4726 cp/typeck2.c:677
+ #, gcc-internal-format
+ msgid "char-array initialized from wide string"
+ msgstr "char-Feld mit wide-Zeichenkette initialisiert"
+
+-#: c-typeck.c:4720
++#: c-typeck.c:4731
+ msgid "wchar_t-array initialized from non-wide string"
+ msgstr "wchar_t-Feld mit Nicht-wide-Zeichenkette initialisiert"
+
+-#: c-typeck.c:4738 cp/typeck2.c:697
++#: c-typeck.c:4749 cp/typeck2.c:697
+ #, gcc-internal-format
+ msgid "initializer-string for array of chars is too long"
+ msgstr "Initialisierungs-Zeichenkette für char-Feld ist zu lang"
+
+-#: c-typeck.c:4744
++#: c-typeck.c:4755
+ msgid "array of inappropriate type initialized from string constant"
+ msgstr "Feld unpassenden Typs mit Zeichenkettenkonstante initialisiert"
+
+ #. ??? This should not be an error when inlining calls to
+ #. unprototyped functions.
+-#: c-typeck.c:4808 c-typeck.c:4333 cp/typeck.c:1528
++#: c-typeck.c:4819 c-typeck.c:4344 cp/typeck.c:1574
+ #, gcc-internal-format
+ msgid "invalid use of non-lvalue array"
+ msgstr "ungültige Verwendung eines Nicht-L-Wert-Feldes"
+
+-#: c-typeck.c:4834
++#: c-typeck.c:4845
+ msgid "array initialized from non-constant array expression"
+ msgstr "Feld mit nicht konstantem Feldausdruck initialisiert"
+
+-#: c-typeck.c:4898 c-typeck.c:6271
++#: c-typeck.c:4909 c-typeck.c:6282
+ #, gcc-internal-format
+ msgid "initializer element is not computable at load time"
+ msgstr "Initialisierungs-Element ist zur Lade-Zeit nicht berechenbar"
+@@ -352,140 +352,140 @@
+ #. of VLAs themselves count as VLAs, it does not make
+ #. sense to permit them to be initialized given that
+ #. ordinary VLAs may not be initialized.
+-#: c-typeck.c:4909 c-decl.c:3222 c-decl.c:3237
++#: c-typeck.c:4920 c-decl.c:3220 c-decl.c:3235
+ #, gcc-internal-format
+ msgid "variable-sized object may not be initialized"
+ msgstr "Objekt variabler Größe darf nicht initialisiert werden"
+
+-#: c-typeck.c:4913
++#: c-typeck.c:4924
+ msgid "invalid initializer"
+ msgstr "ungültige Initialisierung"
+
+-#: c-typeck.c:5387
++#: c-typeck.c:5398
+ msgid "extra brace group at end of initializer"
+ msgstr "zusätzliche geschweifte Klammern am Ende der Initialisierung"
+
+-#: c-typeck.c:5407
++#: c-typeck.c:5418
+ msgid "missing braces around initializer"
+ msgstr "geschweifte Klammern fehlen um Initialisierung"
+
+-#: c-typeck.c:5468
++#: c-typeck.c:5479
+ msgid "braces around scalar initializer"
+ msgstr "geschweifte Klammern um Skalar-Initialisierung"
+
+-#: c-typeck.c:5525
++#: c-typeck.c:5536
+ msgid "initialization of flexible array member in a nested context"
+ msgstr "Initialisierung eines flexiblen Feld-Elements in geschachteltem Kontext"
+
+-#: c-typeck.c:5527
++#: c-typeck.c:5538
+ msgid "initialization of a flexible array member"
+ msgstr "Initialisierung eines flexiblen Feld-Elements"
+
+-#: c-typeck.c:5554
++#: c-typeck.c:5565
+ msgid "missing initializer"
+ msgstr "fehlende Initialisierung"
+
+-#: c-typeck.c:5576
++#: c-typeck.c:5587
+ msgid "empty scalar initializer"
+ msgstr "leere Skalar-Initialisierung"
+
+-#: c-typeck.c:5581
++#: c-typeck.c:5592
+ msgid "extra elements in scalar initializer"
+ msgstr "zusätzliche Elemente in Skalar-Initialisierung"
+
+-#: c-typeck.c:5678 c-typeck.c:5738
++#: c-typeck.c:5689 c-typeck.c:5749
+ msgid "array index in non-array initializer"
+ msgstr "Feldindex in Nicht-Feld-Initialisierung"
+
+-#: c-typeck.c:5683 c-typeck.c:5791
++#: c-typeck.c:5694 c-typeck.c:5802
+ msgid "field name not in record or union initializer"
+ msgstr "Feldname nicht in Datensatz- oder union-Initialisierung"
+
+-#: c-typeck.c:5729
++#: c-typeck.c:5740
+ msgid "array index in initializer not of integer type"
+ msgstr "Feldindex in Initialisierung hat nicht Ganzzahltyp"
+
+-#: c-typeck.c:5734 c-typeck.c:5736
++#: c-typeck.c:5745 c-typeck.c:5747
+ msgid "nonconstant array index in initializer"
+ msgstr "nichtkonstanter Feldindex in Initialisierung"
+
+-#: c-typeck.c:5740 c-typeck.c:5743
++#: c-typeck.c:5751 c-typeck.c:5754
+ msgid "array index in initializer exceeds array bounds"
+ msgstr "Feldindex in Initialisierung überschreitet Feldgrenzen"
+
+-#: c-typeck.c:5754
++#: c-typeck.c:5765
+ msgid "empty index range in initializer"
+ msgstr "leerer Indexbereich in Initialisierung"
+
+-#: c-typeck.c:5763
++#: c-typeck.c:5774
+ msgid "array index range in initializer exceeds array bounds"
+ msgstr "Feldindexbereich in Initialisierung überschreitet Feldgrenzen"
+
+-#: c-typeck.c:5838 c-typeck.c:5861 c-typeck.c:6335
++#: c-typeck.c:5849 c-typeck.c:5872 c-typeck.c:6346
+ msgid "initialized field with side-effects overwritten"
+ msgstr "initialisiertes Feld mit Seiteneffekten überschrieben"
+
+-#: c-typeck.c:5840 c-typeck.c:5863 c-typeck.c:6337
++#: c-typeck.c:5851 c-typeck.c:5874 c-typeck.c:6348
+ msgid "initialized field overwritten"
+ msgstr "initialisiertes Feld überschrieben"
+
+-#: c-typeck.c:6545
++#: c-typeck.c:6556
+ msgid "excess elements in char array initializer"
+ msgstr "Elementüberschreitung in char-Feld-Initialisierung"
+
+-#: c-typeck.c:6552 c-typeck.c:6598
++#: c-typeck.c:6563 c-typeck.c:6609
+ msgid "excess elements in struct initializer"
+ msgstr "Elementüberschreitung in struct-Initialisierung"
+
+-#: c-typeck.c:6613
++#: c-typeck.c:6624
+ msgid "non-static initialization of a flexible array member"
+ msgstr "nicht-statische Initialisierung eines flexiblen Feldelements"
+
+-#: c-typeck.c:6681
++#: c-typeck.c:6692
+ msgid "excess elements in union initializer"
+ msgstr "Elementüberschreitung in union-Initialisierung"
+
+-#: c-typeck.c:6768
++#: c-typeck.c:6779
+ msgid "excess elements in array initializer"
+ msgstr "Elementüberschreitung in Feldinitialisierung"
+
+-#: c-typeck.c:6798
++#: c-typeck.c:6809
+ msgid "excess elements in vector initializer"
+ msgstr "Elementüberschreitung in Vektorinitialisierung"
+
+-#: c-typeck.c:6822
++#: c-typeck.c:6833
+ msgid "excess elements in scalar initializer"
+ msgstr "Elementüberschreitung in Skalarinitialisierung"
+
+-#: cfgrtl.c:1925
++#: cfgrtl.c:1923
+ msgid "flow control insn inside a basic block"
+ msgstr "Flusskontrollbefehl innerhalb eines Basis-Blockes"
+
+-#: cfgrtl.c:2054
++#: cfgrtl.c:2052
+ msgid "wrong insn in the fallthru edge"
+ msgstr "falscher Befehl in »fallthru«-Kante"
+
+-#: cfgrtl.c:2110
++#: cfgrtl.c:2108
+ msgid "insn outside basic block"
+ msgstr "Befehl außerhalb eines Basis-Blockes"
+
+-#: cfgrtl.c:2117
++#: cfgrtl.c:2115
+ msgid "return not followed by barrier"
+ msgstr "»return« nicht gefolgt von Sperre"
+
+-#: cgraph.c:339 ipa-inline.c:417
++#: cgraph.c:340 ipa-inline.c:417
+ msgid "function body not available"
+ msgstr "Funktionskörper nicht verfügbar"
+
+-#: cgraph.c:341 cgraphbuild.c:96
++#: cgraph.c:342 cgraphbuild.c:96
+ msgid "redefined extern inline functions are not considered for inlining"
+ msgstr "redefinierte »extern inline«-Funktionen kommen nicht als »inline« in Betracht"
+
+-#: cgraph.c:344 cgraphbuild.c:103
++#: cgraph.c:345 cgraphbuild.c:103
+ msgid "function not considered for inlining"
+ msgstr "Funktion kommt nicht für »inline« in Betracht"
+
+-#: cgraph.c:346 cgraphbuild.c:99
++#: cgraph.c:347 cgraphbuild.c:99
+ msgid "function not inlinable"
+ msgstr "Funktion kann nicht »inline« sein"
+
+@@ -493,87 +493,87 @@
+ msgid "mismatched arguments"
+ msgstr "unpassende Argumente"
+
+-#: collect2.c:378 gcc.c:6897
++#: collect2.c:382 gcc.c:6896
+ #, c-format
+ msgid "internal gcc abort in %s, at %s:%d"
+ msgstr "interner GCC-Abbruch in %s, bei %s:%d"
+
+-#: collect2.c:889
++#: collect2.c:903
+ #, c-format
+ msgid "no arguments"
+ msgstr "Keine Argumente"
+
+-#: collect2.c:1263 collect2.c:1411 collect2.c:1446
++#: collect2.c:1277 collect2.c:1425 collect2.c:1460
+ #, c-format
+ msgid "fopen %s"
+ msgstr "fopen %s"
+
+-#: collect2.c:1266 collect2.c:1416 collect2.c:1449
++#: collect2.c:1280 collect2.c:1430 collect2.c:1463
+ #, c-format
+ msgid "fclose %s"
+ msgstr "fclose %s"
+
+-#: collect2.c:1275
++#: collect2.c:1289
+ #, c-format
+ msgid "collect2 version %s"
+ msgstr "collect2-Version %s"
+
+-#: collect2.c:1365
++#: collect2.c:1379
+ #, c-format
+ msgid "%d constructor(s) found\n"
+ msgstr "%d Konstruktor(en) gefunden\n"
+
+-#: collect2.c:1366
++#: collect2.c:1380
+ #, c-format
+ msgid "%d destructor(s) found\n"
+ msgstr "%d Destruktor(en) gefunden\n"
+
+-#: collect2.c:1367
++#: collect2.c:1381
+ #, c-format
+ msgid "%d frame table(s) found\n"
+ msgstr "%d Rahmentabelle(n) gefunden\n"
+
+-#: collect2.c:1504
++#: collect2.c:1518
+ #, c-format
+ msgid "can't get program status"
+ msgstr "Programm-Status kann nicht ermittelt werden"
+
+-#: collect2.c:1573
++#: collect2.c:1587
+ #, c-format
+ msgid "could not open response file %s"
+ msgstr "Antwortdatei %s konnte nicht geöffnet werden"
+
+-#: collect2.c:1578
++#: collect2.c:1592
+ #, c-format
+ msgid "could not write to response file %s"
+ msgstr "in Antwortdatei %s konnte nicht geschrieben werden"
+
+-#: collect2.c:1583
++#: collect2.c:1597
+ #, c-format
+ msgid "could not close response file %s"
+ msgstr "Antwortdatei %s konnte nicht geschlossen werden"
+
+-#: collect2.c:1601
++#: collect2.c:1615
+ #, c-format
+ msgid "[cannot find %s]"
+ msgstr "[%s kann nicht gefunden werden]"
+
+-#: collect2.c:1616
++#: collect2.c:1630
+ #, c-format
+ msgid "cannot find '%s'"
+ msgstr "»%s« kann nicht gefunden werden"
+
+-#: collect2.c:1620 collect2.c:2112 collect2.c:2267 gcc.c:2978
++#: collect2.c:1634 collect2.c:2126 collect2.c:2281 gcc.c:2974
+ #, c-format
+ msgid "pex_init failed"
+ msgstr "pex_init gescheitert"
+
+-#: collect2.c:1658
++#: collect2.c:1672
+ #, c-format
+ msgid "[Leaving %s]\n"
+ msgstr "[%s wird verlassen]\n"
+
+-#: collect2.c:1878
++#: collect2.c:1892
+ #, c-format
+ msgid ""
+ "\n"
+@@ -582,32 +582,32 @@
+ "\n"
+ "write_c_file - Ausgabename ist %s, Präfix ist %s\n"
+
+-#: collect2.c:2086
++#: collect2.c:2100
+ #, c-format
+ msgid "cannot find 'nm'"
+ msgstr "»nm« kann nicht gefunden werden"
+
+-#: collect2.c:2133
++#: collect2.c:2147
+ #, c-format
+ msgid "can't open nm output"
+ msgstr "nm-Ausgabe kann nicht geöffnet werden"
+
+-#: collect2.c:2177
++#: collect2.c:2191
+ #, c-format
+ msgid "init function found in object %s"
+ msgstr "init-Funktion im Objekt %s gefunden"
+
+-#: collect2.c:2185
++#: collect2.c:2199
+ #, c-format
+ msgid "fini function found in object %s"
+ msgstr "fini-Funktion im Objekt %s gefunden"
+
+-#: collect2.c:2288
++#: collect2.c:2302
+ #, c-format
+ msgid "can't open ldd output"
+ msgstr "ldd-Ausgabe kann nicht geöffnet werden"
+
+-#: collect2.c:2291
++#: collect2.c:2305
+ #, c-format
+ msgid ""
+ "\n"
+@@ -616,27 +616,27 @@
+ "\n"
+ "Ausgabe von ldd mit Konstruktoren/Destruktoren.\n"
+
+-#: collect2.c:2306
++#: collect2.c:2320
+ #, c-format
+ msgid "dynamic dependency %s not found"
+ msgstr "dynamische Abhängigkeit %s nicht gefunden"
+
+-#: collect2.c:2318
++#: collect2.c:2332
+ #, c-format
+ msgid "unable to open dynamic dependency '%s'"
+ msgstr "dynamische Abhängigkeit »%s« kann nicht geöffnet werden"
+
+-#: collect2.c:2474
++#: collect2.c:2488
+ #, c-format
+ msgid "%s: not a COFF file"
+ msgstr "%s: keine COFF-Datei"
+
+-#: collect2.c:2594
++#: collect2.c:2608
+ #, c-format
+ msgid "%s: cannot open as COFF file"
+ msgstr "%s kann nicht als COFF-Datei geöffnet werden"
+
+-#: collect2.c:2652
++#: collect2.c:2666
+ #, c-format
+ msgid "library lib%s not found"
+ msgstr "Bibliothek lib%s nicht gefunden"
+@@ -689,40 +689,40 @@
+ msgid "negative insn length"
+ msgstr "negative Befehlslänge"
+
+-#: final.c:2609
++#: final.c:2615
+ msgid "could not split insn"
+ msgstr "Befehl kann nicht aufgeteilt werden"
+
+-#: final.c:2979
++#: final.c:2992
+ msgid "invalid 'asm': "
+ msgstr "ungültiges »asm«: "
+
+-#: final.c:3162
++#: final.c:3175
+ #, c-format
+ msgid "nested assembly dialect alternatives"
+ msgstr "geschachtelte Assemblerdialekt-Alternativen"
+
+-#: final.c:3179 final.c:3191
++#: final.c:3192 final.c:3204
+ #, c-format
+ msgid "unterminated assembly dialect alternative"
+ msgstr "unbeendete Assemblerdialekt-Alternative"
+
+-#: final.c:3238
++#: final.c:3251
+ #, c-format
+ msgid "operand number missing after %%-letter"
+ msgstr "Operandenzahl fehlt hinter %%-Buchstabe"
+
+-#: final.c:3241 final.c:3282
++#: final.c:3254 final.c:3295
+ #, c-format
+ msgid "operand number out of range"
+ msgstr "Operandenzahl außerhalb des Wertebereiches"
+
+-#: final.c:3301
++#: final.c:3314
+ #, c-format
+ msgid "invalid %%-code"
+ msgstr "ungültiger %%-Code"
+
+-#: final.c:3331
++#: final.c:3344
+ #, c-format
+ msgid "'%%l' operand isn't a label"
+ msgstr "»%%l«-Operand ist keine Marke"
+@@ -733,13 +733,13 @@
+ #. handle them.
+ #. We can't handle floating point constants;
+ #. PRINT_OPERAND must handle them.
+-#: final.c:3433 vmsdbgout.c:487 config/i386/i386.c:8143
++#: final.c:3446 vmsdbgout.c:487 config/i386/i386.c:8198
+ #: config/pdp11/pdp11.c:1704
+ #, c-format
+ msgid "floating constant misused"
+ msgstr "Gleitkommakonstante falsch benutzt"
+
+-#: final.c:3493 vmsdbgout.c:544 config/i386/i386.c:8224
++#: final.c:3507 vmsdbgout.c:544 config/i386/i386.c:8279
+ #: config/pdp11/pdp11.c:1751
+ #, c-format
+ msgid "invalid expression as operand"
+@@ -750,7 +750,7 @@
+ msgid "Using built-in specs.\n"
+ msgstr "Es werden eingebaute Spezifikationen verwendet.\n"
+
+-#: gcc.c:1887
++#: gcc.c:1883
+ #, c-format
+ msgid ""
+ "Setting spec %s to '%s'\n"
+@@ -759,42 +759,42 @@
+ "Spezifikation %s wird auf '%s' gesetzt\n"
+ "\n"
+
+-#: gcc.c:2002
++#: gcc.c:1998
+ #, c-format
+ msgid "Reading specs from %s\n"
+ msgstr "Lesen der Spezifikationen von %s\n"
+
+-#: gcc.c:2098 gcc.c:2117
++#: gcc.c:2094 gcc.c:2113
+ #, c-format
+ msgid "specs %%include syntax malformed after %ld characters"
+ msgstr "falsche %%include-Syntax für Spezifikationen nach %ld Zeichen"
+
+-#: gcc.c:2125
++#: gcc.c:2121
+ #, c-format
+ msgid "could not find specs file %s\n"
+ msgstr "Spezifikationsdatei %s konnte nicht gefunden werden\n"
+
+-#: gcc.c:2142 gcc.c:2150 gcc.c:2159 gcc.c:2168
++#: gcc.c:2138 gcc.c:2146 gcc.c:2155 gcc.c:2164
+ #, c-format
+ msgid "specs %%rename syntax malformed after %ld characters"
+ msgstr "falsche %%rename-Syntax für Spezifikationen nach %ld Zeichen"
+
+-#: gcc.c:2177
++#: gcc.c:2173
+ #, c-format
+ msgid "specs %s spec was not found to be renamed"
+ msgstr "keine %s-Spezifikation zum Umbenennen gefunden"
+
+-#: gcc.c:2184
++#: gcc.c:2180
+ #, c-format
+ msgid "%s: attempt to rename spec '%s' to already defined spec '%s'"
+ msgstr "%s: Versuch, Spezifikation »%s« in bereits definierte Spezifikation »%s« umzubenennen"
+
+-#: gcc.c:2189
++#: gcc.c:2185
+ #, c-format
+ msgid "rename spec %s to %s\n"
+ msgstr "Spezifikation wird von %s nach %s umbenannt\n"
+
+-#: gcc.c:2191
++#: gcc.c:2187
+ #, c-format
+ msgid ""
+ "spec is '%s'\n"
+@@ -803,39 +803,39 @@
+ "Spezifikation ist '%s'\n"
+ "\n"
+
+-#: gcc.c:2204
++#: gcc.c:2200
+ #, c-format
+ msgid "specs unknown %% command after %ld characters"
+ msgstr "Spezifikation: unbekannter %%-Befehl nach %ld Zeichen"
+
+-#: gcc.c:2215 gcc.c:2228
++#: gcc.c:2211 gcc.c:2224
+ #, c-format
+ msgid "specs file malformed after %ld characters"
+ msgstr "Fehler in Spezifikationsdatei nach %ld Zeichen"
+
+-#: gcc.c:2281
++#: gcc.c:2277
+ #, c-format
+ msgid "spec file has no spec for linking"
+ msgstr "Spezifikationsdatei hat keine Spezifikation zum Binden"
+
+-#: gcc.c:2609 gcc.c:4751
++#: gcc.c:2605 gcc.c:4745
+ #, c-format
+ msgid "%s\n"
+ msgstr "%s\n"
+
+-#: gcc.c:2809
++#: gcc.c:2805
+ #, c-format
+ msgid "system path '%s' is not absolute"
+ msgstr "System-Pfad »%s« ist nicht absolut"
+
+-#: gcc.c:2872
++#: gcc.c:2868
+ #, c-format
+ msgid "-pipe not supported"
+ msgstr "-pipe wird nicht unterstützt"
+
+ # can we use j/n here, too?
+ # 2002-04-23 18:57:43 CEST -ke-
+-#: gcc.c:2934
++#: gcc.c:2930
+ #, c-format
+ msgid ""
+ "\n"
+@@ -844,15 +844,15 @@
+ "\n"
+ "Fortfahren? (y oder n) "
+
+-#: gcc.c:3017
++#: gcc.c:3013
+ msgid "failed to get exit status"
+ msgstr "Ende-Status konnte nicht ermittelt werden"
+
+-#: gcc.c:3023
++#: gcc.c:3019
+ msgid "failed to get process times"
+ msgstr "Verarbeitungszeiten konnten nicht ermittelt werden"
+
+-#: gcc.c:3049
++#: gcc.c:3045
+ #, c-format
+ msgid ""
+ "Internal error: %s (program %s)\n"
+@@ -865,77 +865,77 @@
+ "sind an translation-team-de@lists.sourceforge.net zu melden.\n"
+ "Gehen Sie gemäß den Hinweisen in %s vor."
+
+-#: gcc.c:3075
++#: gcc.c:3071
+ #, c-format
+ msgid "# %s %.2f %.2f\n"
+ msgstr "# %s %.2f %.2f\n"
+
+-#: gcc.c:3211
++#: gcc.c:3205
+ #, c-format
+ msgid "Usage: %s [options] file...\n"
+ msgstr "Aufruf: %s [Optionen] Datei...\n"
+
+-#: gcc.c:3212
++#: gcc.c:3206
+ msgid "Options:\n"
+ msgstr "Optionen:\n"
+
+-#: gcc.c:3214
++#: gcc.c:3208
+ msgid " -pass-exit-codes Exit with highest error code from a phase\n"
+ msgstr " -pass-exit-codes Ende mit höchstem Rückgabe-Code einer Phase\n"
+
+-#: gcc.c:3215
++#: gcc.c:3209
+ msgid " --help Display this information\n"
+ msgstr " --help Diese Informationen anzeigen\n"
+
+-#: gcc.c:3216
++#: gcc.c:3210
+ msgid " --target-help Display target specific command line options\n"
+ msgstr " --target-help Zielspezifische Kommandozeilenoptionen anzeigen\n"
+
+-#: gcc.c:3217
++#: gcc.c:3211
+ msgid " --help={target|optimizers|warnings|undocumented|params}[,{[^]joined|[^]separate}]\n"
+ msgstr " --help={target|optimizers|warnings|undocumented|params}[,{[^]joined|[^]separate}]\n"
+
+-#: gcc.c:3218
++#: gcc.c:3212
+ msgid " Display specific types of command line options\n"
+ msgstr " Spezifische Typen der Kommandozeilenoptionen anzeigen\n"
+
+-#: gcc.c:3220
++#: gcc.c:3214
+ msgid " (Use '-v --help' to display command line options of sub-processes)\n"
+ msgstr " ('-v --help' zum Anzeigen der Kommandozeilenoptionen von Subprozessen verwenden)\n"
+
+-#: gcc.c:3221
++#: gcc.c:3215
+ msgid " -dumpspecs Display all of the built in spec strings\n"
+ msgstr " -dumpspecs Alle eingebauten Spezifikationszeichenketten anzeigen\n"
+
+-#: gcc.c:3222
++#: gcc.c:3216
+ msgid " -dumpversion Display the version of the compiler\n"
+ msgstr " -dumpversion Compilerversion anzeigen\n"
+
+-#: gcc.c:3223
++#: gcc.c:3217
+ msgid " -dumpmachine Display the compiler's target processor\n"
+ msgstr " -dumpmachine Zielprozessor des Compilers anzeigen\n"
+
+-#: gcc.c:3224
++#: gcc.c:3218
+ msgid " -print-search-dirs Display the directories in the compiler's search path\n"
+ msgstr " -print-search-dirs Verzeichnisse im Suchpfad des Compilers anzeigen\n"
+
+-#: gcc.c:3225
++#: gcc.c:3219
+ msgid " -print-libgcc-file-name Display the name of the compiler's companion library\n"
+ msgstr " -print-libgcc-file-name Name der Begleitbibliothek des Compilers anzeigen\n"
+
+-#: gcc.c:3226
++#: gcc.c:3220
+ msgid " -print-file-name=<lib> Display the full path to library <lib>\n"
+ msgstr " -print-file-name=<lib> Vollen Pfad zur Bibliothek <lib> anzeigen\n"
+
+-#: gcc.c:3227
++#: gcc.c:3221
+ msgid " -print-prog-name=<prog> Display the full path to compiler component <prog>\n"
+ msgstr " -print-prog-name=<prog> Vollen Pfad zur Compilerkomponente <prog> anzeigen\n"
+
+-#: gcc.c:3228
++#: gcc.c:3222
+ msgid " -print-multi-directory Display the root directory for versions of libgcc\n"
+ msgstr " -print-multi-directory Wurzelverzeichnis für Versionen von libgcc anzeigen\n"
+
+-#: gcc.c:3229
++#: gcc.c:3223
+ msgid ""
+ " -print-multi-lib Display the mapping between command line options and\n"
+ " multiple library search directories\n"
+@@ -943,67 +943,67 @@
+ " -print-multi-lib Abbildung zwischen Kommandozeilenoptionen und\n"
+ " mehreren Suchverzeichnissen für Bibliotheken anzeigen\n"
+
+-#: gcc.c:3232
++#: gcc.c:3226
+ msgid " -print-multi-os-directory Display the relative path to OS libraries\n"
+ msgstr ""
+ " -print-multi-os-directory Relativen Pfad zu Betriebssystembibliotheken\n"
+ " anzeigen\n"
+
+-#: gcc.c:3233
++#: gcc.c:3227
+ msgid " -print-sysroot-headers-suffix Display the sysroot suffix used to find headers\n"
+ msgstr " -print-sysroot-headers-suffix Den für Headersuche verwendeten sysroot-Suffix anzeigen\n"
+
+-#: gcc.c:3234
++#: gcc.c:3228
+ msgid " -Wa,<options> Pass comma-separated <options> on to the assembler\n"
+ msgstr " -Wa,<Optionen> Komma-getrennte <Optionen> an Assembler übergeben\n"
+
+-#: gcc.c:3235
++#: gcc.c:3229
+ msgid " -Wp,<options> Pass comma-separated <options> on to the preprocessor\n"
+ msgstr " -Wp,<Optionen> Komma-getrennte <Optionen> an Präprozessor übergeben\n"
+
+-#: gcc.c:3236
++#: gcc.c:3230
+ msgid " -Wl,<options> Pass comma-separated <options> on to the linker\n"
+ msgstr " -Wl,<Optionen> Komma-getrennte <Optionen> an Linker übergeben\n"
+
+-#: gcc.c:3237
++#: gcc.c:3231
+ msgid " -Xassembler <arg> Pass <arg> on to the assembler\n"
+ msgstr " -Xassembler <arg> <arg> an den Assembler übergeben\n"
+
+-#: gcc.c:3238
++#: gcc.c:3232
+ msgid " -Xpreprocessor <arg> Pass <arg> on to the preprocessor\n"
+ msgstr " -Xpreprocessor <arg> <arg> an den Präprozessor übergeben\n"
+
+-#: gcc.c:3239
++#: gcc.c:3233
+ msgid " -Xlinker <arg> Pass <arg> on to the linker\n"
+ msgstr " -Xlinker <arg> <arg> an den Linker übergeben\n"
+
+-#: gcc.c:3240
++#: gcc.c:3234
+ msgid " -combine Pass multiple source files to compiler at once\n"
+ msgstr " -combine Mehrere Quelldateien auf einmal an Compiler übergeben\n"
+
+-#: gcc.c:3241
++#: gcc.c:3235
+ msgid " -save-temps Do not delete intermediate files\n"
+ msgstr " -save-temps Temporäre Dateien nicht löschen\n"
+
+-#: gcc.c:3242
++#: gcc.c:3236
+ msgid " -pipe Use pipes rather than intermediate files\n"
+ msgstr " -pipe Pipes statt temporärer Dateien verwenden\n"
+
+-#: gcc.c:3243
++#: gcc.c:3237
+ msgid " -time Time the execution of each subprocess\n"
+ msgstr " -time Zeit für Ausführung jedes Subprozesses stoppen\n"
+
+-#: gcc.c:3244
++#: gcc.c:3238
+ msgid " -specs=<file> Override built-in specs with the contents of <file>\n"
+ msgstr ""
+ " -specs=<Datei> Eingebaute Spezifikationen mit Inhalt der <Datei>\n"
+ " überschreiben\n"
+
+-#: gcc.c:3245
++#: gcc.c:3239
+ msgid " -std=<standard> Assume that the input sources are for <standard>\n"
+ msgstr " -std=<Standard> Annehmen, dass die Eingabequellen für <Standard> sind\n"
+
+-#: gcc.c:3246
++#: gcc.c:3240
+ msgid ""
+ " --sysroot=<directory> Use <directory> as the root directory for headers\n"
+ " and libraries\n"
+@@ -1011,49 +1011,49 @@
+ " --sysroot=<Verzeichnis> <Verzeichnis> als Root-Verzeichnis für Header und\n"
+ " Bibliotheken verwenden\n"
+
+-#: gcc.c:3249
++#: gcc.c:3243
+ msgid " -B <directory> Add <directory> to the compiler's search paths\n"
+ msgstr " -B <Verzeichnis> <Verzeichnis> zum Suchpfad des Compilers hinzufügen\n"
+
+-#: gcc.c:3250
++#: gcc.c:3244
+ msgid " -b <machine> Run gcc for target <machine>, if installed\n"
+ msgstr ""
+ " -b <Maschine> GCC für die Ziel-<Maschine> laufen lassen, falls\n"
+ " installiert\n"
+
+-#: gcc.c:3251
++#: gcc.c:3245
+ msgid " -V <version> Run gcc version number <version>, if installed\n"
+ msgstr " -V <Version> GCC <Version> laufen lassen, falls installiert\n"
+
+-#: gcc.c:3252
++#: gcc.c:3246
+ msgid " -v Display the programs invoked by the compiler\n"
+ msgstr " -v Vom Compiler aufgerufene Programme anzeigen\n"
+
+-#: gcc.c:3253
++#: gcc.c:3247
+ msgid " -### Like -v but options quoted and commands not executed\n"
+ msgstr ""
+ " -### Wie -v, aber mit zitierten Optionen und nicht\n"
+ " ausgeführten Befehlen\n"
+
+-#: gcc.c:3254
++#: gcc.c:3248
+ msgid " -E Preprocess only; do not compile, assemble or link\n"
+ msgstr ""
+ " -E Nur Präprozessor, kein Compiler, Assembler oder\n"
+ " Binder\n"
+
+-#: gcc.c:3255
++#: gcc.c:3249
+ msgid " -S Compile only; do not assemble or link\n"
+ msgstr " -S Nur kompilieren, nicht assemblieren oder binden\n"
+
+-#: gcc.c:3256
++#: gcc.c:3250
+ msgid " -c Compile and assemble, but do not link\n"
+ msgstr " -c Nur kompilieren und assemblieren, aber nicht binden\n"
+
+-#: gcc.c:3257
++#: gcc.c:3251
+ msgid " -o <file> Place the output into <file>\n"
+ msgstr " -o <Datei> Ausgabe in <Datei> schreiben\n"
+
+-#: gcc.c:3258
++#: gcc.c:3252
+ msgid ""
+ " -x <language> Specify the language of the following input files\n"
+ " Permissible languages include: c c++ assembler none\n"
+@@ -1066,7 +1066,7 @@
+ " verhalten, die Sprache aufgrund der Dateinamens-\n"
+ " erweiterung zu vermuten\n"
+
+-#: gcc.c:3265
++#: gcc.c:3259
+ #, c-format
+ msgid ""
+ "\n"
+@@ -1080,27 +1080,27 @@
+ " Um andere Optionen an diese Prozesse zu übergeben, müssen die Optionen\n"
+ " -W<Buchstabe> verwendet werden.\n"
+
+-#: gcc.c:3389
++#: gcc.c:3383
+ #, c-format
+ msgid "'-%c' option must have argument"
+ msgstr "Die Option »-%c« muss ein Argument haben"
+
+-#: gcc.c:3411
++#: gcc.c:3405
+ #, c-format
+ msgid "couldn't run '%s': %s"
+ msgstr "»%s« konnte nicht ausgeführt werden: %s"
+
+ #. translate_options () has turned --version into -fversion.
+-#: gcc.c:3612
++#: gcc.c:3606
+ #, c-format
+ msgid "%s %s%s\n"
+ msgstr "%s %s%s\n"
+
+-#: gcc.c:3615 gcov.c:426 fortran/gfortranspec.c:380 java/jcf-dump.c:1168
++#: gcc.c:3609 gcov.c:427 fortran/gfortranspec.c:380 java/jcf-dump.c:1168
+ msgid "(C)"
+ msgstr "(C)"
+
+-#: gcc.c:3616 java/jcf-dump.c:1169
++#: gcc.c:3610 java/jcf-dump.c:1169
+ #, c-format
+ msgid ""
+ "This is free software; see the source for copying conditions. There is NO\n"
+@@ -1111,160 +1111,160 @@
+ "gibt KEINE Garantie; auch nicht für MARKTGÄNGIGKEIT oder FÜR SPEZIELLE ZWECKE.\n"
+ "\n"
+
+-#: gcc.c:3728
++#: gcc.c:3722
+ #, c-format
+ msgid "argument to '-Xlinker' is missing"
+ msgstr "Argument für »-Xlinker« fehlt"
+
+-#: gcc.c:3736
++#: gcc.c:3730
+ #, c-format
+ msgid "argument to '-Xpreprocessor' is missing"
+ msgstr "Argument für »-Xpreprocessor« fehlt"
+
+-#: gcc.c:3743
++#: gcc.c:3737
+ #, c-format
+ msgid "argument to '-Xassembler' is missing"
+ msgstr "Argument für »-Xassembler« fehlt"
+
+-#: gcc.c:3750
++#: gcc.c:3744
+ #, c-format
+ msgid "argument to '-l' is missing"
+ msgstr "Argument für »-l« fehlt"
+
+-#: gcc.c:3771
++#: gcc.c:3765
+ #, c-format
+ msgid "argument to '-specs' is missing"
+ msgstr "Argument für »-specs« fehlt"
+
+-#: gcc.c:3785
++#: gcc.c:3779
+ #, c-format
+ msgid "argument to '-specs=' is missing"
+ msgstr "Argument für »-specs=« fehlt"
+
+-#: gcc.c:3826
++#: gcc.c:3820
+ #, c-format
+ msgid "'-%c' must come at the start of the command line"
+ msgstr "»-%c« muss am Anfang der Kommandozeile stehen"
+
+-#: gcc.c:3835
++#: gcc.c:3829
+ #, c-format
+ msgid "argument to '-B' is missing"
+ msgstr "Argument für »-B« fehlt"
+
+-#: gcc.c:4185
++#: gcc.c:4179
+ #, c-format
+ msgid "argument to '-x' is missing"
+ msgstr "Argument für »-x« fehlt"
+
+-#: gcc.c:4213
++#: gcc.c:4207
+ #, c-format
+ msgid "argument to '-%s' is missing"
+ msgstr "Argument für »-%s« fehlt"
+
+-#: gcc.c:4541
++#: gcc.c:4535
+ #, c-format
+ msgid "switch '%s' does not start with '-'"
+ msgstr "Schalter »%s« beginnt nicht mit »-«"
+
+-#: gcc.c:4685
++#: gcc.c:4679
+ #, c-format
+ msgid "spec '%s' invalid"
+ msgstr "Spezifikation »%s« ist ungültig"
+
+-#: gcc.c:4824
++#: gcc.c:4818
+ #, c-format
+ msgid "spec '%s' has invalid '%%0%c'"
+ msgstr "Spezifikation »%s« hat ungültiges »%%0%c«"
+
+-#: gcc.c:5053
++#: gcc.c:5047
+ #, c-format
+ msgid "could not open temporary response file %s"
+ msgstr "temporäre Antwortdatei %s konnte nicht geöffnet werden"
+
+-#: gcc.c:5059
++#: gcc.c:5053
+ #, c-format
+ msgid "could not write to temporary response file %s"
+ msgstr "in temporäre Antwortdatei %s konnte nicht geschrieben werden"
+
+-#: gcc.c:5065
++#: gcc.c:5059
+ #, c-format
+ msgid "could not close temporary response file %s"
+ msgstr "temporäre Antwortdatei %s konnte nicht geschlossen werden"
+
+-#: gcc.c:5099
++#: gcc.c:5093
+ #, c-format
+ msgid "spec '%s' has invalid '%%W%c"
+ msgstr "Spezifikation »%s« hat ungültiges »%%W%c«"
+
+-#: gcc.c:5119
++#: gcc.c:5113
+ #, c-format
+ msgid "spec '%s' has invalid '%%x%c'"
+ msgstr "Spezifikation »%s« hat ungültiges »%%x%c«"
+
+-#: gcc.c:5341
++#: gcc.c:5335
+ #, c-format
+ msgid "Processing spec %c%s%c, which is '%s'\n"
+ msgstr "Spezifikation %c%s%c wird verarbeitet, welche »%s« ist\n"
+
+-#: gcc.c:5465
++#: gcc.c:5459
+ #, c-format
+ msgid "unknown spec function '%s'"
+ msgstr "unbekannte Spezifikationsfunktion »%s«"
+
+-#: gcc.c:5484
++#: gcc.c:5478
+ #, c-format
+ msgid "error in args to spec function '%s'"
+ msgstr "Fehler in Argumenten für Spezifikationsfunktion »%s«"
+
+-#: gcc.c:5532
++#: gcc.c:5526
+ #, c-format
+ msgid "malformed spec function name"
+ msgstr "schlechter Name für Spezifikationsfunktion"
+
+ #. )
+-#: gcc.c:5535
++#: gcc.c:5529
+ #, c-format
+ msgid "no arguments for spec function"
+ msgstr "keine Argumente für Spezifikationsfunktion"
+
+-#: gcc.c:5554
++#: gcc.c:5548
+ #, c-format
+ msgid "malformed spec function arguments"
+ msgstr "schlechte Argumente für Spezifikationsfunktion"
+
+-#: gcc.c:5800
++#: gcc.c:5794
+ #, c-format
+ msgid "braced spec '%s' is invalid at '%c'"
+ msgstr "geschweift geklammerte Spezifikation »%s« ist bei »%c« ungültig"
+
+-#: gcc.c:5888
++#: gcc.c:5882
+ #, c-format
+ msgid "braced spec body '%s' is invalid"
+ msgstr "geschweift geklammerter Körper »%s« ist ungültig"
+
+-#: gcc.c:6421
++#: gcc.c:6420
+ #, c-format
+ msgid "install: %s%s\n"
+ msgstr "installiere: %s%s\n"
+
+-#: gcc.c:6424
++#: gcc.c:6423
+ #, c-format
+ msgid "programs: %s\n"
+ msgstr "Programme: %s\n"
+
+-#: gcc.c:6426
++#: gcc.c:6425
+ #, c-format
+ msgid "libraries: %s\n"
+ msgstr "Bibliotheken: %s\n"
+
+ #. The error status indicates that only one set of fixed
+ #. headers should be built.
+-#: gcc.c:6480
++#: gcc.c:6479
+ #, c-format
+ msgid "not configured with sysroot headers suffix"
+ msgstr "nicht mit sysroot-Header-Suffix konfiguriert"
+
+-#: gcc.c:6489
++#: gcc.c:6488
+ #, c-format
+ msgid ""
+ "\n"
+@@ -1275,47 +1275,47 @@
+ "folgenden Hinweise; Fehler in der deutschen Ãœbersetzung sind an\n"
+ "translation-team-de@lists.sourceforge.net zu melden:\n"
+
+-#: gcc.c:6505
++#: gcc.c:6504
+ #, c-format
+ msgid "Target: %s\n"
+ msgstr "Ziel: %s\n"
+
+-#: gcc.c:6506
++#: gcc.c:6505
+ #, c-format
+ msgid "Configured with: %s\n"
+ msgstr "Konfiguriert mit: %s\n"
+
+-#: gcc.c:6520
++#: gcc.c:6519
+ #, c-format
+ msgid "Thread model: %s\n"
+ msgstr "Thread-Modell: %s\n"
+
+-#: gcc.c:6531
++#: gcc.c:6530
+ #, c-format
+ msgid "gcc version %s %s\n"
+ msgstr "gcc-Version %s %s\n"
+
+-#: gcc.c:6533
++#: gcc.c:6532
+ #, c-format
+ msgid "gcc driver version %s %sexecuting gcc version %s\n"
+ msgstr "gcc-Treiberversion %s %s führt GCC-Version %s aus\n"
+
+-#: gcc.c:6541
++#: gcc.c:6540
+ #, c-format
+ msgid "no input files"
+ msgstr "keine Eingabedateien"
+
+-#: gcc.c:6590
++#: gcc.c:6589
+ #, c-format
+ msgid "cannot specify -o with -c or -S with multiple files"
+ msgstr "-o kann nicht mit -c oder -S mit mehreren Dateien angegeben werden"
+
+-#: gcc.c:6624
++#: gcc.c:6623
+ #, c-format
+ msgid "spec '%s' is invalid"
+ msgstr "Spezifikation »%s« ist ungültig"
+
+-#: gcc.c:6760
++#: gcc.c:6759
+ #, c-format
+ msgid ""
+ "\n"
+@@ -1328,7 +1328,7 @@
+ "==============\n"
+ "\n"
+
+-#: gcc.c:6761
++#: gcc.c:6760
+ #, c-format
+ msgid ""
+ "Use \"-Wl,OPTION\" to pass \"OPTION\" to the linker.\n"
+@@ -1337,52 +1337,52 @@
+ "»-Wl,OPTION« verwenden, um »OPTION« an den Linker zu übergeben.\n"
+ "\n"
+
+-#: gcc.c:7112
++#: gcc.c:7111
+ #, c-format
+ msgid "multilib spec '%s' is invalid"
+ msgstr "Multilib-Spezifikation »%s« ist ungültig"
+
+-#: gcc.c:7303
++#: gcc.c:7302
+ #, c-format
+ msgid "multilib exclusions '%s' is invalid"
+ msgstr "Multilib-Ausschlüsse »%s« sind ungültig"
+
+-#: gcc.c:7361 gcc.c:7502
++#: gcc.c:7360 gcc.c:7501
+ #, c-format
+ msgid "multilib select '%s' is invalid"
+ msgstr "Multilib-select »%s« ist ungültig"
+
+-#: gcc.c:7540
++#: gcc.c:7539
+ #, c-format
+ msgid "multilib exclusion '%s' is invalid"
+ msgstr "Multilib-Ausschluss »%s« ist ungültig"
+
+-#: gcc.c:7746
++#: gcc.c:7745
+ #, c-format
+ msgid "environment variable \"%s\" not defined"
+ msgstr "Umgebungsvariable »%s« nicht definiert"
+
+-#: gcc.c:7837 gcc.c:7842
++#: gcc.c:7836 gcc.c:7841
+ #, c-format
+ msgid "invalid version number `%s'"
+ msgstr "ungültige Versionsnummer »%s«"
+
+-#: gcc.c:7885
++#: gcc.c:7884
+ #, c-format
+ msgid "too few arguments to %%:version-compare"
+ msgstr "zu wenige Argumente für %%:version-compare"
+
+-#: gcc.c:7891
++#: gcc.c:7890
+ #, c-format
+ msgid "too many arguments to %%:version-compare"
+ msgstr "zu viele Argumente für %%:version-compare"
+
+-#: gcc.c:7932
++#: gcc.c:7931
+ #, c-format
+ msgid "unknown operator '%s' in %%:version-compare"
+ msgstr "unbekannter Operator »%s« in %%:version-compare"
+
+-#: gcc.c:7966
++#: gcc.c:7965
+ #, c-format
+ msgid ""
+ "Assembler options\n"
+@@ -1393,7 +1393,7 @@
+ "=================\n"
+ "\n"
+
+-#: gcc.c:7967
++#: gcc.c:7966
+ #, c-format
+ msgid ""
+ "Use \"-Wa,OPTION\" to pass \"OPTION\" to the assembler.\n"
+@@ -1402,7 +1402,7 @@
+ "»-Wa,OPTION« verwenden, um »OPTION« an den Assembler zu übergeben.\n"
+ "\n"
+
+-#: gcov.c:399
++#: gcov.c:400
+ #, c-format
+ msgid ""
+ "Usage: gcov [OPTION]... SOURCEFILE...\n"
+@@ -1411,7 +1411,7 @@
+ "Aufruf: gcov [OPTION]... QUELLDATEI...\n"
+ "\n"
+
+-#: gcov.c:400
++#: gcov.c:401
+ #, c-format
+ msgid ""
+ "Print code coverage information.\n"
+@@ -1420,39 +1420,39 @@
+ "Information zur Code-Ãœberdeckung ausgeben.\n"
+ "\n"
+
+-#: gcov.c:401
++#: gcov.c:402
+ #, c-format
+ msgid " -h, --help Print this help, then exit\n"
+ msgstr " -h, --help Diese Hilfe anzeigen\n"
+
+-#: gcov.c:402
++#: gcov.c:403
+ #, c-format
+ msgid " -v, --version Print version number, then exit\n"
+ msgstr " -v, --version Versionsnummer anzeigen\n"
+
+-#: gcov.c:403
++#: gcov.c:404
+ #, c-format
+ msgid " -a, --all-blocks Show information for every basic block\n"
+ msgstr " -a, --all-blocks Informationen für jeden Basisblock zeigen\n"
+
+-#: gcov.c:404
++#: gcov.c:405
+ #, c-format
+ msgid " -b, --branch-probabilities Include branch probabilities in output\n"
+ msgstr " -b, --branch-probabilities Zweigwahrscheinlichkeiten in Ausgabe aufnehmen\n"
+
+-#: gcov.c:405
++#: gcov.c:406
+ #, c-format
+ msgid ""
+ " -c, --branch-counts Given counts of branches taken\n"
+ " rather than percentages\n"
+ msgstr " -c, --branch-counts Angegebene Zweigzahlen statt Anteilen nehmen\n"
+
+-#: gcov.c:407
++#: gcov.c:408
+ #, c-format
+ msgid " -n, --no-output Do not create an output file\n"
+ msgstr " -n, --no-output Keine Ausgabedatei erzeugen\n"
+
+-#: gcov.c:408
++#: gcov.c:409
+ #, c-format
+ msgid ""
+ " -l, --long-file-names Use long output file names for included\n"
+@@ -1461,29 +1461,29 @@
+ " -l, --long-file-names Lange Dateinamen für Ausgabedateien für\n"
+ " eingefügte Quelldateien verwenden\n"
+
+-#: gcov.c:410
++#: gcov.c:411
+ #, c-format
+ msgid " -f, --function-summaries Output summaries for each function\n"
+ msgstr " -f, --function-summaries Ausgabezusammenfassungen für jede Funktion\n"
+
+-#: gcov.c:411
++#: gcov.c:412
+ #, c-format
+ msgid " -o, --object-directory DIR|FILE Search for object files in DIR or called FILE\n"
+ msgstr ""
+ " -o, --object-directory DIR|FILE In DIR oder aufgerufener Datei FILE nach\n"
+ " Objektdateien suchen\n"
+
+-#: gcov.c:412
++#: gcov.c:413
+ #, c-format
+ msgid " -p, --preserve-paths Preserve all pathname components\n"
+ msgstr " -p, --preserve-paths Alle Pfadnamenskomponenten bewahren\n"
+
+-#: gcov.c:413
++#: gcov.c:414
+ #, c-format
+ msgid " -u, --unconditional-branches Show unconditional branch counts too\n"
+ msgstr " -u, --unconditional-branches Auch unbedingte Zweigzähler zeigen\n"
+
+-#: gcov.c:414
++#: gcov.c:415
+ #, c-format
+ msgid ""
+ "\n"
+@@ -1495,12 +1495,12 @@
+ "%s.\n"
+ "Fehler in der deutschen Ãœbersetzung sind an translation-team-de@lists.sourceforge.net zu melden.\n"
+
+-#: gcov.c:424
++#: gcov.c:425
+ #, c-format
+ msgid "gcov %s%s\n"
+ msgstr "gcov %s%s\n"
+
+-#: gcov.c:428
++#: gcov.c:429
+ #, c-format
+ msgid ""
+ "This is free software; see the source for copying conditions.\n"
+@@ -1512,206 +1512,206 @@
+ "gibt KEINE Garantie; auch nicht für MARKTGÄNGIGKEIT oder FÜR SPEZIELLE ZWECKE.\n"
+ "\n"
+
+-#: gcov.c:524
++#: gcov.c:525
+ #, c-format
+ msgid "%s:no functions found\n"
+ msgstr "%s: keine Funktionen gefunden\n"
+
+-#: gcov.c:556 gcov.c:584 fortran/dump-parse-tree.c:63
++#: gcov.c:557 gcov.c:585 fortran/dump-parse-tree.c:63
+ #, c-format
+ msgid "\n"
+ msgstr "\n"
+
+-#: gcov.c:571
++#: gcov.c:572
+ #, c-format
+ msgid "%s:creating '%s'\n"
+ msgstr "%s: »%s« wird erzeugt\n"
+
+-#: gcov.c:575
++#: gcov.c:576
+ #, c-format
+ msgid "%s:error writing output file '%s'\n"
+ msgstr "%s: Fehler beim Schreiben der Ausgabedatei »%s«\n"
+
+-#: gcov.c:580
++#: gcov.c:581
+ #, c-format
+ msgid "%s:could not open output file '%s'\n"
+ msgstr "%s: Ausgabedatei »%s« konnte nicht geöffnet werden\n"
+
+-#: gcov.c:729
++#: gcov.c:730
+ #, c-format
+ msgid "%s:source file is newer than graph file '%s'\n"
+ msgstr "%s: Quelldatei ist neuer als Graphen-Datei »%s«\n"
+
+-#: gcov.c:734
++#: gcov.c:735
+ #, c-format
+ msgid "(the message is only displayed one per source file)\n"
+ msgstr "(die Meldung wird für jede Quelldatei nur einmal angezeigt)\n"
+
+-#: gcov.c:758
++#: gcov.c:759
+ #, c-format
+ msgid "%s:cannot open graph file\n"
+ msgstr "%s: Graphen-Datei kann nicht geöffnet werden\n"
+
+-#: gcov.c:764
++#: gcov.c:765
+ #, c-format
+ msgid "%s:not a gcov graph file\n"
+ msgstr "%s: keine gcov-Graph-Datei\n"
+
+-#: gcov.c:777
++#: gcov.c:778
+ #, c-format
+ msgid "%s:version '%.4s', prefer '%.4s'\n"
+ msgstr "%s: Version »%.4s«, aber »%.4s« wird bevorzugt\n"
+
+-#: gcov.c:829
++#: gcov.c:830
+ #, c-format
+ msgid "%s:already seen blocks for '%s'\n"
+ msgstr "%s: bereits gesehene Blöcke für »%s«\n"
+
+-#: gcov.c:947
++#: gcov.c:948
+ #, c-format
+ msgid "%s:corrupted\n"
+ msgstr "%s: beschädigt\n"
+
+-#: gcov.c:1023
++#: gcov.c:1024
+ #, c-format
+ msgid "%s:cannot open data file, assuming not executed\n"
+ msgstr "%s: kann nicht geöffnet werden, wird als nicht ausgeführt vermutet\n"
+
+-#: gcov.c:1030
++#: gcov.c:1031
+ #, c-format
+ msgid "%s:not a gcov data file\n"
+ msgstr "%s: keine gcov-Datei\n"
+
+-#: gcov.c:1043
++#: gcov.c:1044
+ #, c-format
+ msgid "%s:version '%.4s', prefer version '%.4s'\n"
+ msgstr "%s: Version »%.4s«, aber Version »%.4s« wird bevorzugt\n"
+
+-#: gcov.c:1049
++#: gcov.c:1050
+ #, c-format
+ msgid "%s:stamp mismatch with graph file\n"
+ msgstr "%s: Marke passt nicht zur Graph-Datei\n"
+
+-#: gcov.c:1078
++#: gcov.c:1079
+ #, c-format
+ msgid "%s:unknown function '%u'\n"
+ msgstr "%s: unbekannte Funktion »%u«\n"
+
+-#: gcov.c:1091
++#: gcov.c:1092
+ #, c-format
+ msgid "%s:profile mismatch for '%s'\n"
+ msgstr "%s: Profil passt nicht für »%s«\n"
+
+-#: gcov.c:1110
++#: gcov.c:1111
+ #, c-format
+ msgid "%s:overflowed\n"
+ msgstr "%s: übergelaufen\n"
+
+-#: gcov.c:1134
++#: gcov.c:1135
+ #, c-format
+ msgid "%s:'%s' lacks entry and/or exit blocks\n"
+ msgstr "%s: Eintrag und/oder Exit-Blöcke fehlen in »%s«\n"
+
+-#: gcov.c:1139
++#: gcov.c:1140
+ #, c-format
+ msgid "%s:'%s' has arcs to entry block\n"
+ msgstr "%s: »%s« hat Bögen zum Eintrittsblock\n"
+
+-#: gcov.c:1147
++#: gcov.c:1148
+ #, c-format
+ msgid "%s:'%s' has arcs from exit block\n"
+ msgstr "%s: »%s« hat Bögen vom Eintrittsblock\n"
+
+-#: gcov.c:1355
++#: gcov.c:1356
+ #, c-format
+ msgid "%s:graph is unsolvable for '%s'\n"
+ msgstr "%s: Graph ist für »%s« unlösbar\n"
+
+-#: gcov.c:1435
++#: gcov.c:1436
+ #, c-format
+ msgid "%s '%s'\n"
+ msgstr "%s: »%s«\n"
+
+-#: gcov.c:1438
++#: gcov.c:1439
+ #, c-format
+ msgid "Lines executed:%s of %d\n"
+ msgstr "%s von %d Zeilen ausgeführt\n"
+
+-#: gcov.c:1442
++#: gcov.c:1443
+ #, c-format
+ msgid "No executable lines\n"
+ msgstr "Keine ausführbaren Zeilen\n"
+
+-#: gcov.c:1448
++#: gcov.c:1449
+ #, c-format
+ msgid "Branches executed:%s of %d\n"
+ msgstr "%s von %d Zweigen ausgeführt\n"
+
+-#: gcov.c:1452
++#: gcov.c:1453
+ #, c-format
+ msgid "Taken at least once:%s of %d\n"
+ msgstr "%s von %d Zweigen mindestens einmal genommen\n"
+
+-#: gcov.c:1458
++#: gcov.c:1459
+ #, c-format
+ msgid "No branches\n"
+ msgstr "Keine Zweige\n"
+
+-#: gcov.c:1460
++#: gcov.c:1461
+ #, c-format
+ msgid "Calls executed:%s of %d\n"
+ msgstr "%s von %d Aufruf(en) ausgeführt\n"
+
+-#: gcov.c:1464
++#: gcov.c:1465
+ #, c-format
+ msgid "No calls\n"
+ msgstr "Keine Aufrufe\n"
+
+-#: gcov.c:1611
++#: gcov.c:1612
+ #, c-format
+ msgid "%s:no lines for '%s'\n"
+ msgstr "%s: keine Zeilen für »%s«\n"
+
+-#: gcov.c:1806
++#: gcov.c:1807
+ #, c-format
+ msgid "call %2d returned %s\n"
+ msgstr "Aufruf %2d gab %s zurück\n"
+
+-#: gcov.c:1811
++#: gcov.c:1812
+ #, c-format
+ msgid "call %2d never executed\n"
+ msgstr "Aufruf %2d niemals ausgeführt\n"
+
+-#: gcov.c:1816
++#: gcov.c:1817
+ #, c-format
+ msgid "branch %2d taken %s%s\n"
+ msgstr "Zweig %2d wurde genommen: %s%s\n"
+
+-#: gcov.c:1820
++#: gcov.c:1821
+ #, c-format
+ msgid "branch %2d never executed\n"
+ msgstr "Zweig %2d niemals ausgeführt\n"
+
+-#: gcov.c:1825
++#: gcov.c:1826
+ #, c-format
+ msgid "unconditional %2d taken %s\n"
+ msgstr "unbedingtes %2d, genommen: %s\n"
+
+-#: gcov.c:1828
++#: gcov.c:1829
+ #, c-format
+ msgid "unconditional %2d never executed\n"
+ msgstr "unbedingtes %2d niemals ausgeführt\n"
+
+-#: gcov.c:1864
++#: gcov.c:1865
+ #, c-format
+ msgid "%s:cannot open source file\n"
+ msgstr "%s: Quelldatei kann nicht geöffnet werden\n"
+
+-#: gcse.c:685
++#: gcse.c:679
+ msgid "GCSE disabled"
+ msgstr "GCSE ausgeschaltet"
+
+-#: gcse.c:6600
++#: gcse.c:6584
+ msgid "jump bypassing disabled"
+ msgstr "Sprungumgehung ausgeschaltet"
+
+@@ -1794,82 +1794,82 @@
+ msgid " inlined from %qs"
+ msgstr " eingefügt von %qs"
+
+-#: loop-iv.c:2805 tree-ssa-loop-niter.c:1818
++#: loop-iv.c:2806 tree-ssa-loop-niter.c:1818
+ msgid "assuming that the loop is not infinite"
+ msgstr "es wird angenommen, dass es sich nicht um eine Endlosschleife handelt"
+
+-#: loop-iv.c:2806 tree-ssa-loop-niter.c:1819
++#: loop-iv.c:2807 tree-ssa-loop-niter.c:1819
+ msgid "cannot optimize possibly infinite loops"
+ msgstr "mögliche Endlosscheife kann nicht optimiert werden"
+
+-#: loop-iv.c:2814 tree-ssa-loop-niter.c:1823
++#: loop-iv.c:2815 tree-ssa-loop-niter.c:1823
+ msgid "assuming that the loop counter does not overflow"
+ msgstr "es wird angenommen, dass die Schleifen-Zählvariable nicht überläuft"
+
+-#: loop-iv.c:2815 tree-ssa-loop-niter.c:1824
++#: loop-iv.c:2816 tree-ssa-loop-niter.c:1824
+ msgid "cannot optimize loop, the loop counter may overflow"
+ msgstr "Schleife kann nicht optimiert werden, Schleifen-Zählvariable könnte überlaufen"
+
+ #. What to print when a switch has no documentation.
+-#: opts.c:348
++#: opts.c:340
+ msgid "This switch lacks documentation"
+ msgstr "Dieser Schalter ist undokumentiert"
+
+-#: opts.c:1159
++#: opts.c:1161
+ msgid "[enabled]"
+ msgstr "[eingeschaltet]"
+
+-#: opts.c:1159
++#: opts.c:1161
+ msgid "[disabled]"
+ msgstr "[ausgeschaltet]"
+
+-#: opts.c:1170
++#: opts.c:1172
+ #, c-format
+ msgid " No options with the desired characteristics were found\n"
+ msgstr " Keine Optionen mit den gewünschten Eigenschaften gefunden\n"
+
+-#: opts.c:1172
++#: opts.c:1174
+ #, 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.c:1226
++#: opts.c:1228
+ msgid "The following options are target specific"
+ msgstr "Die folgenden Optionen sind zielspezifisch"
+
+-#: opts.c:1229
++#: opts.c:1231
+ msgid "The following options control compiler warning messages"
+ msgstr "Die folgenden Optionen steuern Warnmeldungen des Compilers"
+
+-#: opts.c:1232
++#: opts.c:1234
+ msgid "The following options control optimizations"
+ msgstr "Die folgenden Optionen steuern Optimierungen"
+
+-#: opts.c:1235 opts.c:1273
++#: opts.c:1237 opts.c:1275
+ msgid "The following options are language-independent"
+ msgstr "Die folgenden Optionen sind sprach-unabhängig"
+
+-#: opts.c:1238
++#: opts.c:1240
+ msgid "The --param option recognizes the following as parameters"
+ msgstr "Die Option »--param« erkennt die folgenden Parameter"
+
+-#: opts.c:1245
++#: opts.c:1247
+ msgid "The following options are specific to the language "
+ msgstr "Die folgenden Optionen sind sprachspezifisch "
+
+-#: opts.c:1249
++#: opts.c:1251
+ msgid "The following options are supported by the language "
+ msgstr "Die folgenden Optionen werden von der Sprache unterstützt "
+
+-#: opts.c:1260
++#: opts.c:1262
+ msgid "The following options are not documented"
+ msgstr "Die folgenden Optionen sind nicht dokumentiert"
+
+-#: opts.c:1271
++#: opts.c:1273
+ msgid "The following options are language-related"
+ msgstr "Die folgenden Optionen sind sprachbezogen"
+
+-#: opts.c:1403
++#: opts.c:1405
+ #, c-format
+ msgid "warning: unrecognized argument to --help= switch: %.*s\n"
+ msgstr "Warnung: Argument für Schalter --help=: »%.*s« nicht erkannt\n"
+@@ -2185,7 +2185,7 @@
+ msgid "%s: input file names must have .c suffixes: %s\n"
+ msgstr "%s: Namen der Eingabedateien müssen Suffix ».c« haben: %s\n"
+
+-#: reload.c:3734
++#: reload.c:3744
+ msgid "unable to generate reloads for:"
+ msgstr "Neuladungen konnten nicht generiert werden für:"
+
+@@ -2289,40 +2289,40 @@
+
+ #: toplev.c:1188
+ #, c-format
+-msgid "warning: %s header version %s differs from library version %s.\n"
+-msgstr "Warnung: %s-Header-Version %s unterscheidet sich von Bibliotheksversion %s.\n"
++msgid "%s%swarning: %s header version %s differs from library version %s.\n"
++msgstr "%s%sWarnung: %s-Header-Version %s unterscheidet sich von Bibliotheksversion %s.\n"
+
+ #: toplev.c:1190
+ #, c-format
+ msgid "%s%sGGC heuristics: --param ggc-min-expand=%d --param ggc-min-heapsize=%d\n"
+ msgstr "%s%sGGC-Heuristik: --param ggc-min-expand=%d --param ggc-min-heapsize=%d\n"
+
+-#: toplev.c:1340
++#: toplev.c:1342
+ msgid "options passed: "
+ msgstr "angegebene Optionen: "
+
+-#: toplev.c:1374
++#: toplev.c:1376
+ msgid "options enabled: "
+ msgstr "angeschaltete Optionen: "
+
+-#: toplev.c:1509
++#: toplev.c:1511
+ #, c-format
+ msgid "created and used with differing settings of '%s'"
+ msgstr "erzeugt und mit anderen Einstellungen von »%s« verwendet"
+
+-#: toplev.c:1511
++#: toplev.c:1513
+ msgid "out of memory"
+ msgstr "Platz im Hauptspeicher reicht nicht aus"
+
+-#: toplev.c:1526
++#: toplev.c:1528
+ msgid "created and used with different settings of -fpic"
+ msgstr "erzeugt und mit anderen Einstellungen von -fpic verwendet"
+
+-#: toplev.c:1528
++#: toplev.c:1530
+ msgid "created and used with different settings of -fpie"
+ msgstr "erzeugt und mit anderen Einstellungen von -fpie verwendet"
+
+-#: tree-inline.c:2571
++#: tree-inline.c:2657
+ msgid "originally indirect function call not considered for inlining"
+ msgstr "ursprünglich indirekter Funktionsaufruf kommt nicht als »inline« in Betracht"
+
+@@ -2380,7 +2380,7 @@
+ msgstr "Der Anteil-Schwellwert zwischen instanzierten Feldern und der Gesamt-Strukturgröße"
+
+ #: params.def:93
+-msgid "The threshold ratio between current and hotest structure counts"
++msgid "The threshold ratio between current and hottest structure counts"
+ msgstr "Der Anteil-Schwellwert zwischen aktuellen und heißesten Strukturzahlen"
+
+ #: params.def:110
+@@ -2771,114 +2771,122 @@
+ msgid "Maximum length of partial antic set when performing tree pre optimization"
+ msgstr "Maximalgröße der partiellen Aufwandsmenge, wenn Baumvoroptimierung ausgeführt wird"
+
+-#: config/alpha/alpha.c:5015
++#: params.def:723
++msgid "Maximum size of a SCC before SCCVN stops processing a function"
++msgstr "Maximalgröße eines SCC bevor SCCVN zur Bearbeitung einer Funktion anhält"
++
++#: params.def:729
++msgid "Multiplier used for determining the double-queueing threshold"
++msgstr "Verwendeter Multiplikator zur Bestimmung des Schwellwertes zum Double-Queuing"
++
++#: config/alpha/alpha.c:5023
+ #, c-format
+ msgid "invalid %%H value"
+ msgstr "Ungültiger %%H-Wert"
+
+-#: config/alpha/alpha.c:5036 config/bfin/bfin.c:1423
++#: config/alpha/alpha.c:5044 config/bfin/bfin.c:1516
+ #, c-format
+ msgid "invalid %%J value"
+ msgstr "Ungültiger %%J-Wert"
+
+-#: config/alpha/alpha.c:5066 config/ia64/ia64.c:4718
++#: config/alpha/alpha.c:5074 config/ia64/ia64.c:4719
+ #, c-format
+ msgid "invalid %%r value"
+ msgstr "Ungültiger %%r-Wert"
+
+-#: config/alpha/alpha.c:5076 config/ia64/ia64.c:4672
+-#: config/rs6000/rs6000.c:11670 config/xtensa/xtensa.c:2036
++#: config/alpha/alpha.c:5084 config/ia64/ia64.c:4673
++#: config/rs6000/rs6000.c:11881 config/xtensa/xtensa.c:2042
+ #, c-format
+ msgid "invalid %%R value"
+ msgstr "Ungültiger %%R-Wert"
+
+-#: config/alpha/alpha.c:5082 config/rs6000/rs6000.c:11589
+-#: config/xtensa/xtensa.c:2003
++#: config/alpha/alpha.c:5090 config/rs6000/rs6000.c:11800
++#: config/xtensa/xtensa.c:2009
+ #, c-format
+ msgid "invalid %%N value"
+ msgstr "Ungültiger %%N-Wert"
+
+-#: config/alpha/alpha.c:5090 config/rs6000/rs6000.c:11617
++#: config/alpha/alpha.c:5098 config/rs6000/rs6000.c:11828
+ #, c-format
+ msgid "invalid %%P value"
+ msgstr "Ungültiger %%P-Wert"
+
+-#: config/alpha/alpha.c:5098
++#: config/alpha/alpha.c:5106
+ #, c-format
+ msgid "invalid %%h value"
+ msgstr "Ungültiger %%h-Wert"
+
+-#: config/alpha/alpha.c:5106 config/xtensa/xtensa.c:2029
++#: config/alpha/alpha.c:5114 config/xtensa/xtensa.c:2035
+ #, c-format
+ msgid "invalid %%L value"
+ msgstr "Ungültiger %%L-Wert"
+
+-#: config/alpha/alpha.c:5145 config/rs6000/rs6000.c:11571
++#: config/alpha/alpha.c:5153 config/rs6000/rs6000.c:11782
+ #, c-format
+ msgid "invalid %%m value"
+ msgstr "Ungültiger %%m-Wert"
+
+-#: config/alpha/alpha.c:5153 config/rs6000/rs6000.c:11579
++#: config/alpha/alpha.c:5161 config/rs6000/rs6000.c:11790
+ #, c-format
+ msgid "invalid %%M value"
+ msgstr "Ungültiger %%M-Wert"
+
+-#: config/alpha/alpha.c:5197
++#: config/alpha/alpha.c:5205
+ #, c-format
+ msgid "invalid %%U value"
+ msgstr "Ungültiger %%U-Wert"
+
+-#: config/alpha/alpha.c:5209 config/alpha/alpha.c:5223
+-#: config/rs6000/rs6000.c:11678
++#: config/alpha/alpha.c:5217 config/alpha/alpha.c:5231
++#: config/rs6000/rs6000.c:11889
+ #, c-format
+ msgid "invalid %%s value"
+ msgstr "Ungültiger %%s-Wert"
+
+-#: config/alpha/alpha.c:5246
++#: config/alpha/alpha.c:5254
+ #, c-format
+ msgid "invalid %%C value"
+ msgstr "Ungültiger %%C-Wert"
+
+-#: config/alpha/alpha.c:5283 config/rs6000/rs6000.c:11406
+-#: config/rs6000/rs6000.c:11425
++#: config/alpha/alpha.c:5291 config/rs6000/rs6000.c:11617
++#: config/rs6000/rs6000.c:11636
+ #, c-format
+ msgid "invalid %%E value"
+ msgstr "Ungültiger %%E-Wert"
+
+-#: config/alpha/alpha.c:5308 config/alpha/alpha.c:5356
++#: config/alpha/alpha.c:5316 config/alpha/alpha.c:5364
+ #, c-format
+ msgid "unknown relocation unspec"
+ msgstr "Unbekanntes relocation unspec"
+
+-#: config/alpha/alpha.c:5317 config/crx/crx.c:1081
+-#: config/rs6000/rs6000.c:12005 config/spu/spu.c:1492
++#: config/alpha/alpha.c:5325 config/crx/crx.c:1081
++#: config/rs6000/rs6000.c:12216 config/spu/spu.c:1482
+ #, c-format
+ msgid "invalid %%xn code"
+ msgstr "Ungültiger %%xn-Code"
+
+-#: config/arc/arc.c:1724 config/m32r/m32r.c:1805
++#: config/arc/arc.c:1728 config/m32r/m32r.c:1805
+ #, c-format
+ msgid "invalid operand to %%R code"
+ msgstr "Ungültiger Operand für %%R-Code"
+
+-#: config/arc/arc.c:1756 config/m32r/m32r.c:1828
++#: config/arc/arc.c:1760 config/m32r/m32r.c:1828
+ #, c-format
+ msgid "invalid operand to %%H/%%L code"
+ msgstr "Ungültiger Operand für %%H/%%L-Code"
+
+-#: config/arc/arc.c:1778 config/m32r/m32r.c:1899
++#: config/arc/arc.c:1782 config/m32r/m32r.c:1899
+ #, c-format
+ msgid "invalid operand to %%U code"
+ msgstr "Ungültiger Operand für %%U-Code"
+
+-#: config/arc/arc.c:1789
++#: config/arc/arc.c:1793
+ #, c-format
+ msgid "invalid operand to %%V code"
+ msgstr "Ungültiger Operand für %%V-Code"
+
+ #. Unknown flag.
+ #. Undocumented flag.
+-#: config/arc/arc.c:1796 config/m32r/m32r.c:1926 config/sparc/sparc.c:6995
++#: config/arc/arc.c:1800 config/m32r/m32r.c:1926 config/sparc/sparc.c:6998
+ #, c-format
+ msgid "invalid operand output code"
+ msgstr "Ungültiger Operanden-Ausgabecode"
+@@ -2903,9 +2911,9 @@
+ #: config/arm/arm.c:12830 config/arm/arm.c:12865 config/arm/arm.c:12884
+ #: config/arm/arm.c:12899 config/arm/arm.c:12927 config/arm/arm.c:12934
+ #: config/arm/arm.c:12942 config/arm/arm.c:12963 config/arm/arm.c:12970
+-#: config/bfin/bfin.c:1436 config/bfin/bfin.c:1443 config/bfin/bfin.c:1450
+-#: config/bfin/bfin.c:1457 config/bfin/bfin.c:1466 config/bfin/bfin.c:1473
+-#: config/bfin/bfin.c:1480 config/bfin/bfin.c:1487
++#: config/bfin/bfin.c:1529 config/bfin/bfin.c:1536 config/bfin/bfin.c:1543
++#: config/bfin/bfin.c:1550 config/bfin/bfin.c:1559 config/bfin/bfin.c:1566
++#: config/bfin/bfin.c:1573 config/bfin/bfin.c:1580
+ #, c-format
+ msgid "invalid operand for code '%c'"
+ msgstr "ungültiger Operand für Code »%c«"
+@@ -2920,240 +2928,159 @@
+ msgid "missing operand"
+ msgstr "fehlender Operand"
+
+-#: config/avr/avr.c:1022
++#: config/avr/avr.c:1062
+ #, c-format
+ msgid "address operand requires constraint for X, Y, or Z register"
+ msgstr "Adressoperand erfordert Beschränkung für X-, Y- oder Z-Register"
+
+-#: config/avr/avr.c:1129
++#: config/avr/avr.c:1169
+ msgid "bad address, not (reg+disp):"
+ msgstr "Falsche Adresse, nicht (reg+disp):"
+
+-#: config/avr/avr.c:1136
++#: config/avr/avr.c:1176
+ msgid "bad address, not post_inc or pre_dec:"
+ msgstr "Falsche Adresse, nicht post_inc oder pre_dec:"
+
+-#: config/avr/avr.c:1147
++#: config/avr/avr.c:1187
+ msgid "internal compiler error. Bad address:"
+ msgstr "Interner Compiler-Fehler. Falsche Adresse:"
+
+-#: config/avr/avr.c:1160
++#: config/avr/avr.c:1200
+ msgid "internal compiler error. Unknown mode:"
+ msgstr "Interner Compiler-Fehler. Unbekannter Modus:"
+
+-#: config/avr/avr.c:1775 config/avr/avr.c:2463
++#: config/avr/avr.c:1815 config/avr/avr.c:2503
+ msgid "invalid insn:"
+ msgstr "Ungültiger Befehl:"
+
+-#: config/avr/avr.c:1814 config/avr/avr.c:1900 config/avr/avr.c:1949
+-#: config/avr/avr.c:1977 config/avr/avr.c:2072 config/avr/avr.c:2241
+-#: config/avr/avr.c:2502 config/avr/avr.c:2614
++#: config/avr/avr.c:1854 config/avr/avr.c:1940 config/avr/avr.c:1989
++#: config/avr/avr.c:2017 config/avr/avr.c:2112 config/avr/avr.c:2281
++#: config/avr/avr.c:2542 config/avr/avr.c:2654
+ msgid "incorrect insn:"
+ msgstr "Falscher Befehl:"
+
+-#: config/avr/avr.c:1996 config/avr/avr.c:2157 config/avr/avr.c:2312
+-#: config/avr/avr.c:2680
++#: config/avr/avr.c:2036 config/avr/avr.c:2197 config/avr/avr.c:2352
++#: config/avr/avr.c:2720
+ msgid "unknown move insn:"
+ msgstr "Falscher Kopierbefehl:"
+
+-#: config/avr/avr.c:2910
++#: config/avr/avr.c:2950
+ msgid "bad shift insn:"
+ msgstr "Falscher Schiebe-Befehl:"
+
+-#: config/avr/avr.c:3026 config/avr/avr.c:3446 config/avr/avr.c:3804
++#: config/avr/avr.c:3066 config/avr/avr.c:3486 config/avr/avr.c:3844
+ msgid "internal compiler error. Incorrect shift:"
+ msgstr "Interner Compiler-Fehler. Falsche Verschiebung:"
+
+-#: config/bfin/bfin.c:1385
++#: config/bfin/bfin.c:1478
+ #, c-format
+ msgid "invalid %%j value"
+ msgstr "ungültiger %%j-Wert"
+
+-#: config/bfin/bfin.c:1578
++#: config/bfin/bfin.c:1671
+ #, c-format
+ msgid "invalid const_double operand"
+ msgstr "ungültiger const_double-Operand"
+
+-#: config/c4x/c4x.c:1583
+-msgid "using CONST_DOUBLE for address"
+-msgstr "CONST_DOUBLE für Adresse verwendet"
+-
+-#: config/c4x/c4x.c:1721
+-msgid "c4x_address_cost: Invalid addressing mode"
+-msgstr "c4x_address_cost: Ungültiger Adressierungsmodus"
+-
+-#: config/c4x/c4x.c:1856
+-#, c-format
+-msgid "c4x_print_operand: %%L inconsistency"
+-msgstr "c4x_print_operand: %%L-Inkonsistenz"
+-
+-#: config/c4x/c4x.c:1862
+-#, c-format
+-msgid "c4x_print_operand: %%N inconsistency"
+-msgstr "c4x_print_operand: %%N-Inkonsistenz"
+-
+-#: config/c4x/c4x.c:1903
+-#, c-format
+-msgid "c4x_print_operand: %%O inconsistency"
+-msgstr "c4x_print_operand: %%O-Inkonsistenz"
+-
+-#: config/c4x/c4x.c:1998
+-msgid "c4x_print_operand: Bad operand case"
+-msgstr "c4x_print_operand: Falscher Operandenfall"
+-
+-#: config/c4x/c4x.c:2039
+-msgid "c4x_print_operand_address: Bad post_modify"
+-msgstr "c4x_print_operand_address: Falsches post_modify"
+-
+-#: config/c4x/c4x.c:2061
+-msgid "c4x_print_operand_address: Bad pre_modify"
+-msgstr "c4x_print_operand_address: Falsches pre_modify"
+-
+-#: config/c4x/c4x.c:2109 config/c4x/c4x.c:2121 config/c4x/c4x.c:2136
+-msgid "c4x_print_operand_address: Bad operand case"
+-msgstr "c4x_print_operand_address: Falscher Operandenfall"
+-
+-#: config/c4x/c4x.c:2387
+-msgid "c4x_rptb_insert: Cannot find start label"
+-msgstr "c4x_rptb_insert: Anfangsmarke kann nicht gefunden werden"
+-
+-#: config/c4x/c4x.c:2985
+-msgid "invalid indirect memory address"
+-msgstr "ungültige indirekte Speicheradresse"
+-
+-#: config/c4x/c4x.c:3074
+-msgid "invalid indirect (S) memory address"
+-msgstr "ungültige indirekte (S) Speicheradresse"
+-
+-#: config/c4x/c4x.c:3409
+-msgid "c4x_valid_operands: Internal error"
+-msgstr "c4x_valid_operands: Interner Fehler"
+-
+-#: config/c4x/c4x.c:3848
+-msgid "c4x_operand_subword: invalid mode"
+-msgstr "c4x_operand_subword: ungültiger Modus"
+-
+-#: config/c4x/c4x.c:3851
+-msgid "c4x_operand_subword: invalid operand"
+-msgstr "c4x_operand_subword: ungültiger Operand"
+-
+-#. We could handle these with some difficulty.
+-#. e.g., *p-- => *(p-=2); *(p+1).
+-#: config/c4x/c4x.c:3877
+-msgid "c4x_operand_subword: invalid autoincrement"
+-msgstr "c4x_operand_subword: ungültige automatische Erhöhung"
+-
+-#: config/c4x/c4x.c:3883
+-msgid "c4x_operand_subword: invalid address"
+-msgstr "c4x_operand_subword: ungültige Adresse"
+-
+-#: config/c4x/c4x.c:3894
+-msgid "c4x_operand_subword: address not offsettable"
+-msgstr "c4x_operand_subword: Adresse nicht versetzbar"
+-
+-#: config/c4x/c4x.c:4096
+-msgid "c4x_rptb_rpts_p: Repeat block top label moved"
+-msgstr "c4x_rptb_rpts_p: Anfangsmarke des Wiederholungsblocks bewegt"
+-
+ #. Use `%s' to print the string in case there are any escape
+ #. characters in the message.
+-#: config/cris/cris.c:491 fortran/dump-parse-tree.c:78
+-#: fortran/dump-parse-tree.c:430 fortran/dump-parse-tree.c:776
+-#: fortran/dump-parse-tree.c:821 c-typeck.c:4607 c-typeck.c:4622
+-#: c-typeck.c:4637 final.c:2984 final.c:2986 gcc.c:4737 loop-iv.c:2807
+-#: loop-iv.c:2816 rtl-error.c:112 toplev.c:610 tree-ssa-loop-niter.c:1829
+-#: cp/parser.c:2188 cp/typeck.c:4559 java/expr.c:409
++#: config/cris/cris.c:504 fortran/dump-parse-tree.c:78
++#: fortran/dump-parse-tree.c:430 fortran/dump-parse-tree.c:798
++#: fortran/dump-parse-tree.c:843 c-typeck.c:4618 c-typeck.c:4633
++#: c-typeck.c:4648 final.c:2997 final.c:2999 gcc.c:4731 loop-iv.c:2808
++#: loop-iv.c:2817 rtl-error.c:112 toplev.c:610 tree-ssa-loop-niter.c:1829
++#: cp/parser.c:2192 cp/typeck.c:4567 java/expr.c:409
+ #, gcc-internal-format
+ msgid "%s"
+ msgstr "%s"
+
+-#: config/cris/cris.c:542
++#: config/cris/cris.c:555
+ msgid "unexpected index-type in cris_print_index"
+ msgstr "unerwarteter Indextyp in cris_print_index"
+
+-#: config/cris/cris.c:556
++#: config/cris/cris.c:572
+ msgid "unexpected base-type in cris_print_base"
+ msgstr "unerwarteter Basistyp in cris_print_base"
+
+-#: config/cris/cris.c:672
++#: config/cris/cris.c:688
+ msgid "invalid operand for 'b' modifier"
+ msgstr "ungültiger Operand für Modifizierer »b«"
+
+-#: config/cris/cris.c:689
++#: config/cris/cris.c:705
+ msgid "invalid operand for 'o' modifier"
+ msgstr "ungültiger Operand für Modifizierer »o«"
+
+-#: config/cris/cris.c:708
++#: config/cris/cris.c:724
+ msgid "invalid operand for 'O' modifier"
+ msgstr "ungültiger Operand für Modifizierer »O«"
+
+-#: config/cris/cris.c:741
++#: config/cris/cris.c:757
+ msgid "invalid operand for 'p' modifier"
+ msgstr "ungültiger Operand für Modifizierer »p«"
+
+-#: config/cris/cris.c:780
++#: config/cris/cris.c:796
+ msgid "invalid operand for 'z' modifier"
+ msgstr "ungültiger Operand für Modifizierer »z«"
+
+-#: config/cris/cris.c:834 config/cris/cris.c:864
++#: config/cris/cris.c:860 config/cris/cris.c:894
+ msgid "invalid operand for 'H' modifier"
+ msgstr "ungültiger Operand für Modifizierer »H«"
+
+-#: config/cris/cris.c:840
++#: config/cris/cris.c:870
+ msgid "bad register"
+ msgstr "falsches Register"
+
+-#: config/cris/cris.c:884
++#: config/cris/cris.c:914
+ msgid "invalid operand for 'e' modifier"
+ msgstr "ungültiger Operand für Modifizierer »e«"
+
+-#: config/cris/cris.c:901
++#: config/cris/cris.c:931
+ msgid "invalid operand for 'm' modifier"
+ msgstr "ungültiger Operand für Modifizierer »m«"
+
+-#: config/cris/cris.c:926
++#: config/cris/cris.c:956
+ msgid "invalid operand for 'A' modifier"
+ msgstr "ungültiger Operand für Modifizierer »A«"
+
+-#: config/cris/cris.c:949
++#: config/cris/cris.c:979
+ msgid "invalid operand for 'D' modifier"
+ msgstr "ungültiger Operand für Modifizierer »D«"
+
+-#: config/cris/cris.c:963
++#: config/cris/cris.c:993
+ msgid "invalid operand for 'T' modifier"
+ msgstr "ungültiger Operand für Modifizierer »T«"
+
+-#: config/cris/cris.c:972
++#: config/cris/cris.c:1013
+ msgid "invalid operand modifier letter"
+ msgstr "ungültiger Modifizierer-Buchstabe für Operand"
+
+-#: config/cris/cris.c:1029
++#: config/cris/cris.c:1070
+ msgid "unexpected multiplicative operand"
+ msgstr "unerwarteter multiplikativer Operand"
+
+-#: config/cris/cris.c:1049
++#: config/cris/cris.c:1090
+ msgid "unexpected operand"
+ msgstr "unerwarteter Operand"
+
+-#: config/cris/cris.c:1082 config/cris/cris.c:1092
++#: config/cris/cris.c:1123 config/cris/cris.c:1133
+ msgid "unrecognized address"
+ msgstr "unerkannte Adresse"
+
+-#: config/cris/cris.c:2019
++#: config/cris/cris.c:2209
+ msgid "unrecognized supposed constant"
+ msgstr "unerkannte vermutete Konstante"
+
+-#: config/cris/cris.c:2394 config/cris/cris.c:2458
++#: config/cris/cris.c:2638 config/cris/cris.c:2702
+ msgid "unexpected side-effects in address"
+ msgstr "unerwartete Seiteneffekte in Adresse"
+
+ #. Can't possibly get a GOT-needing-fixup for a function-call,
+ #. right?
+-#: config/cris/cris.c:3253
++#: config/cris/cris.c:3539
+ msgid "Unidentifiable call op"
+ msgstr "Unidentifizierbare Aufrufoperation"
+
+-#: config/cris/cris.c:3304
++#: config/cris/cris.c:3590
+ #, c-format
+ msgid "PIC register isn't set up"
+ msgstr "PIC-Register ist nicht vorbereitet"
+@@ -3204,81 +3131,81 @@
+ msgid "fr30_print_operand: unhandled MEM"
+ msgstr "fr30_print_operand: unbehandeltes MEM"
+
+-#: config/frv/frv.c:2542
++#: config/frv/frv.c:2546
+ msgid "bad insn to frv_print_operand_address:"
+ msgstr "Falscher Befehl für frv_print_operand_address:"
+
+-#: config/frv/frv.c:2553
++#: config/frv/frv.c:2557
+ msgid "bad register to frv_print_operand_memory_reference_reg:"
+ msgstr "Falsches Register für frv_print_operand_memory_reference_reg:"
+
+-#: config/frv/frv.c:2592 config/frv/frv.c:2602 config/frv/frv.c:2611
+-#: config/frv/frv.c:2632 config/frv/frv.c:2637
++#: config/frv/frv.c:2596 config/frv/frv.c:2606 config/frv/frv.c:2615
++#: config/frv/frv.c:2636 config/frv/frv.c:2641
+ msgid "bad insn to frv_print_operand_memory_reference:"
+ msgstr "Falscher Befehl für frv_print_operand_memory_reference:"
+
+-#: config/frv/frv.c:2723
++#: config/frv/frv.c:2727
+ #, c-format
+ msgid "bad condition code"
+ msgstr "Falscher Bedingungscode"
+
+-#: config/frv/frv.c:2798
++#: config/frv/frv.c:2802
+ msgid "bad insn in frv_print_operand, bad const_double"
+ msgstr "Falscher Befehl in frv_print_operand, falsches const_double"
+
+-#: config/frv/frv.c:2859
++#: config/frv/frv.c:2863
+ msgid "bad insn to frv_print_operand, 'e' modifier:"
+ msgstr "Falscher Befehl für frv_print_operand, Modifizierer »e«:"
+
+-#: config/frv/frv.c:2867
++#: config/frv/frv.c:2871
+ msgid "bad insn to frv_print_operand, 'F' modifier:"
+ msgstr "Falscher Befehl für frv_print_operand, Modifizierer »F«:"
+
+-#: config/frv/frv.c:2883
++#: config/frv/frv.c:2887
+ msgid "bad insn to frv_print_operand, 'f' modifier:"
+ msgstr "Falscher Befehl für frv_print_operand, Modifizierer »f«:"
+
+-#: config/frv/frv.c:2897
++#: config/frv/frv.c:2901
+ msgid "bad insn to frv_print_operand, 'g' modifier:"
+ msgstr "Falscher Befehl für frv_print_operand, Modifizierer »g«:"
+
+-#: config/frv/frv.c:2945
++#: config/frv/frv.c:2949
+ msgid "bad insn to frv_print_operand, 'L' modifier:"
+ msgstr "Falscher Befehl für frv_print_operand, Modifizierer »L«:"
+
+-#: config/frv/frv.c:2958
++#: config/frv/frv.c:2962
+ msgid "bad insn to frv_print_operand, 'M/N' modifier:"
+ msgstr "Falscher Befehl für frv_print_operand, Modifizierer »M/N«:"
+
+-#: config/frv/frv.c:2979
++#: config/frv/frv.c:2983
+ msgid "bad insn to frv_print_operand, 'O' modifier:"
+ msgstr "Falscher Befehl für frv_print_operand, Modifizierer »O«:"
+
+-#: config/frv/frv.c:2997
++#: config/frv/frv.c:3001
+ msgid "bad insn to frv_print_operand, P modifier:"
+ msgstr "Falscher Befehl für frv_print_operand, Modifizierer »P«:"
+
+-#: config/frv/frv.c:3017
++#: config/frv/frv.c:3021
+ msgid "bad insn in frv_print_operand, z case"
+ msgstr "Falscher Befehl in frv_print_operand, Fall »z«:"
+
+-#: config/frv/frv.c:3048
++#: config/frv/frv.c:3052
+ msgid "bad insn in frv_print_operand, 0 case"
+ msgstr "Falscher Befehl in frv_print_operand, Fall 0:"
+
+-#: config/frv/frv.c:3053
++#: config/frv/frv.c:3057
+ msgid "frv_print_operand: unknown code"
+ msgstr "frv_print_operand: unbekannter Code"
+
+-#: config/frv/frv.c:4422
++#: config/frv/frv.c:4426
+ msgid "bad output_move_single operand"
+ msgstr "Falscher Operand für output_move_single"
+
+-#: config/frv/frv.c:4549
++#: config/frv/frv.c:4553
+ msgid "bad output_move_double operand"
+ msgstr "Falscher Operand für output_move_double"
+
+-#: config/frv/frv.c:4691
++#: config/frv/frv.c:4695
+ msgid "bad output_condmove_single operand"
+ msgstr "Falscher Operand für output_condmove_single"
+
+@@ -3296,27 +3223,27 @@
+ msgid " (frv)"
+ msgstr " (frv)"
+
+-#: config/i386/i386.c:8218
++#: config/i386/i386.c:8273
+ #, c-format
+ msgid "invalid UNSPEC as operand"
+ msgstr "ungültiges UNSPEC als Operand"
+
+-#: config/i386/i386.c:8924
++#: config/i386/i386.c:8979
+ #, c-format
+ msgid "operand is neither a constant nor a condition code, invalid operand code 'c'"
+ msgstr "Operand ist weder eine Konstante noch ein Bedingungscode, ungültiger Operandencode »c«"
+
+-#: config/i386/i386.c:9040
++#: config/i386/i386.c:9095
+ #, c-format
+ msgid "invalid operand code '%c'"
+ msgstr "ungültiger Operandencode »%c«"
+
+-#: config/i386/i386.c:9089
++#: config/i386/i386.c:9144
+ #, c-format
+ msgid "invalid constraints for operand"
+ msgstr "ungültige Bedingungen für Operand"
+
+-#: config/i386/i386.c:16348
++#: config/i386/i386.c:16423
+ msgid "unknown insn mode"
+ msgstr "unbekannter Befehlsmodus"
+
+@@ -3337,34 +3264,34 @@
+ msgid "environment variable DJGPP points to corrupt file '%s'"
+ msgstr "Umgebungsvariable DJGPP zeigt auf kaputte Datei »%s«"
+
+-#: config/ia64/ia64.c:4770
++#: config/ia64/ia64.c:4771
+ #, c-format
+ msgid "ia64_print_operand: unknown code"
+ msgstr "ia64_print_operand: unbekannter Code"
+
+-#: config/ia64/ia64.c:9889
++#: config/ia64/ia64.c:9890
+ msgid "invalid conversion from %<__fpreg%>"
+ msgstr "ungültige Umwandlung von %<__fpreg%>"
+
+-#: config/ia64/ia64.c:9892
++#: config/ia64/ia64.c:9893
+ msgid "invalid conversion to %<__fpreg%>"
+ msgstr "ungültige Umwandlung in %<__fpreg%>"
+
+-#: config/ia64/ia64.c:9905 config/ia64/ia64.c:9916
++#: config/ia64/ia64.c:9906 config/ia64/ia64.c:9917
+ msgid "invalid operation on %<__fpreg%>"
+ msgstr "ungültige Operation auf %<__fpreg%>"
+
+-#: config/iq2000/iq2000.c:3118
++#: config/iq2000/iq2000.c:3122
+ #, c-format
+ msgid "invalid %%P operand"
+ msgstr "unbekannter Operand für %%P"
+
+-#: config/iq2000/iq2000.c:3126 config/rs6000/rs6000.c:11607
++#: config/iq2000/iq2000.c:3130 config/rs6000/rs6000.c:11818
+ #, c-format
+ msgid "invalid %%p value"
+ msgstr "unbekannter Wert für %%p"
+
+-#: config/iq2000/iq2000.c:3182
++#: config/iq2000/iq2000.c:3186
+ #, c-format
+ msgid "invalid use of %%d, %%x, or %%X"
+ msgstr "ungültige Verwendung von %%d, %%x oder %%X"
+@@ -3406,7 +3333,7 @@
+ msgstr "Post-Increment-Adresse ist kein Register"
+
+ #: config/m32r/m32r.c:2030 config/m32r/m32r.c:2044
+-#: config/rs6000/rs6000.c:19870
++#: config/rs6000/rs6000.c:20087
+ msgid "bad address"
+ msgstr "Falsche Adresse"
+
+@@ -3452,59 +3379,59 @@
+ msgid "invalid Z register replacement for insn"
+ msgstr "ungültiger Z-Register-Ersatz für Befehl"
+
+-#: config/mips/mips.c:6313 config/mips/mips.c:6334 config/mips/mips.c:6438
++#: config/mips/mips.c:6371 config/mips/mips.c:6392 config/mips/mips.c:6496
+ #, c-format
+ msgid "'%%%c' is not a valid operand prefix"
+ msgstr "»%%%c« ist kein gültiger Operandenpräfix"
+
+-#: config/mips/mips.c:6382 config/mips/mips.c:6389 config/mips/mips.c:6396
+-#: config/mips/mips.c:6456
++#: config/mips/mips.c:6440 config/mips/mips.c:6447 config/mips/mips.c:6454
++#: config/mips/mips.c:6514
+ #, c-format
+ msgid "invalid use of '%%%c'"
+ msgstr "ungültige Verwendung von »%%%c«"
+
+-#: config/mips/mips.c:6701
++#: config/mips/mips.c:6761
+ msgid "mips_debugger_offset called with non stack/frame/arg pointer"
+ msgstr "mips_debugger_offset mit nicht-Stapel/Rahmen/Argument-Zeiger aufgerufen"
+
+-#: config/mmix/mmix.c:1487 config/mmix/mmix.c:1617
++#: config/mmix/mmix.c:1483 config/mmix/mmix.c:1613
+ msgid "MMIX Internal: Expected a CONST_INT, not this"
+ msgstr "MMIX-intern: CONST_INT erwartet, aber nicht dies"
+
+-#: config/mmix/mmix.c:1566
++#: config/mmix/mmix.c:1562
+ msgid "MMIX Internal: Bad value for 'm', not a CONST_INT"
+ msgstr "MMIX-intern: Falscher Wert für 'm', kein CONST_INT"
+
+-#: config/mmix/mmix.c:1585
++#: config/mmix/mmix.c:1581
+ msgid "MMIX Internal: Expected a register, not this"
+ msgstr "MMIX-intern: Register erwartet, aber nicht dies"
+
+-#: config/mmix/mmix.c:1595
++#: config/mmix/mmix.c:1591
+ msgid "MMIX Internal: Expected a constant, not this"
+ msgstr "MMIX-intern: Konstante erwartet, aber nicht dies"
+
+ #. We need the original here.
+-#: config/mmix/mmix.c:1679
++#: config/mmix/mmix.c:1675
+ msgid "MMIX Internal: Cannot decode this operand"
+ msgstr "MMIX-internal: Dieser Operand kann nicht dekodiert werden"
+
+-#: config/mmix/mmix.c:1736
++#: config/mmix/mmix.c:1732
+ msgid "MMIX Internal: This is not a recognized address"
+ msgstr "MMIX-intern: Diese Adresse wird nicht erkannt"
+
+-#: config/mmix/mmix.c:2669
++#: config/mmix/mmix.c:2665
+ msgid "MMIX Internal: Trying to output invalidly reversed condition:"
+ msgstr "MMIX-intern: Versuch, ungültig umgekehrte Bedingung auszugeben:"
+
+-#: config/mmix/mmix.c:2676
++#: config/mmix/mmix.c:2672
+ msgid "MMIX Internal: What's the CC of this?"
+ msgstr "MMIX-intern: Was ist der CC davon?"
+
+-#: config/mmix/mmix.c:2680
++#: config/mmix/mmix.c:2676
+ msgid "MMIX Internal: What is the CC of this?"
+ msgstr "MMIX-intern: Was ist der CC davon?"
+
+-#: config/mmix/mmix.c:2744
++#: config/mmix/mmix.c:2740
+ msgid "MMIX Internal: This is not a constant:"
+ msgstr "MMIX-intern: Dies ist keine Konstante:"
+
+@@ -3530,81 +3457,81 @@
+ msgid "Try running '%s' in the shell to raise its limit.\n"
+ msgstr "»%s« in der Shell könnte diese Beschränkung erhöhen.\n"
+
+-#: config/rs6000/rs6000.c:11434
++#: config/rs6000/rs6000.c:11645
+ #, c-format
+ msgid "invalid %%f value"
+ msgstr "ungültiger %%f-Wert"
+
+-#: config/rs6000/rs6000.c:11443
++#: config/rs6000/rs6000.c:11654
+ #, c-format
+ msgid "invalid %%F value"
+ msgstr "ungültiger %%F-Wert"
+
+-#: config/rs6000/rs6000.c:11452
++#: config/rs6000/rs6000.c:11663
+ #, c-format
+ msgid "invalid %%G value"
+ msgstr "ungültiger %%G-Wert"
+
+-#: config/rs6000/rs6000.c:11487
++#: config/rs6000/rs6000.c:11698
+ #, c-format
+ msgid "invalid %%j code"
+ msgstr "ungültiger %%j-Code"
+
+-#: config/rs6000/rs6000.c:11497
++#: config/rs6000/rs6000.c:11708
+ #, c-format
+ msgid "invalid %%J code"
+ msgstr "ungültiger %%J-Code"
+
+-#: config/rs6000/rs6000.c:11507
++#: config/rs6000/rs6000.c:11718
+ #, c-format
+ msgid "invalid %%k value"
+ msgstr "ungültiger %%k-Wert"
+
+-#: config/rs6000/rs6000.c:11527 config/xtensa/xtensa.c:2022
++#: config/rs6000/rs6000.c:11738 config/xtensa/xtensa.c:2028
+ #, c-format
+ msgid "invalid %%K value"
+ msgstr "ungültiger %%K-Wert"
+
+-#: config/rs6000/rs6000.c:11597
++#: config/rs6000/rs6000.c:11808
+ #, c-format
+ msgid "invalid %%O value"
+ msgstr "ungültiger %%O-Wert"
+
+-#: config/rs6000/rs6000.c:11644
++#: config/rs6000/rs6000.c:11855
+ #, c-format
+ msgid "invalid %%q value"
+ msgstr "ungültiger %%q-Wert"
+
+-#: config/rs6000/rs6000.c:11688
++#: config/rs6000/rs6000.c:11899
+ #, c-format
+ msgid "invalid %%S value"
+ msgstr "ungültiger %%S-Wert"
+
+-#: config/rs6000/rs6000.c:11728
++#: config/rs6000/rs6000.c:11939
+ #, c-format
+ msgid "invalid %%T value"
+ msgstr "ungültiger %%T-Wert"
+
+-#: config/rs6000/rs6000.c:11738
++#: config/rs6000/rs6000.c:11949
+ #, c-format
+ msgid "invalid %%u value"
+ msgstr "ungültiger %%u-Wert"
+
+-#: config/rs6000/rs6000.c:11747 config/xtensa/xtensa.c:1992
++#: config/rs6000/rs6000.c:11958 config/xtensa/xtensa.c:1998
+ #, c-format
+ msgid "invalid %%v value"
+ msgstr "ungültiger %%v-Wert"
+
+-#: config/rs6000/rs6000.c:21768
++#: config/rs6000/rs6000.c:21946
+ msgid "AltiVec argument passed to unprototyped function"
+ msgstr "AltiVec-Argument an Funktion ohne Prototyp übergeben"
+
+-#: config/s390/s390.c:4561
++#: config/s390/s390.c:4560
+ #, c-format
+ msgid "cannot decompose address"
+ msgstr "Adresse kann nicht zerlegt werden"
+
+-#: config/s390/s390.c:4771
++#: config/s390/s390.c:4770
+ msgid "UNKNOWN in print_operand !?"
+ msgstr "UNKNOWN in print_operand !?"
+
+@@ -3614,89 +3541,89 @@
+ msgid "invalid operand for code: '%c'"
+ msgstr "ungültiger Operand für Code: »%c«"
+
+-#: config/sh/sh.c:746
++#: config/sh/sh.c:749
+ #, c-format
+ msgid "invalid operand to %%R"
+ msgstr "ungültiger Operand für %%R"
+
+-#: config/sh/sh.c:773
++#: config/sh/sh.c:776
+ #, c-format
+ msgid "invalid operand to %%S"
+ msgstr "ungültiger Operand für %%S"
+
+-#: config/sh/sh.c:8095
++#: config/sh/sh.c:8098
+ msgid "created and used with different architectures / ABIs"
+ msgstr "erzeugt und mit anderen Architekturen / ABIs verwendet"
+
+-#: config/sh/sh.c:8097
++#: config/sh/sh.c:8100
+ msgid "created and used with different ABIs"
+ msgstr "erzeugt und mit anderen ABIs verwendet"
+
+-#: config/sh/sh.c:8099
++#: config/sh/sh.c:8102
+ msgid "created and used with different endianness"
+ msgstr "erzeugt und mit anderer Bytereihenfolge verwendet"
+
+-#: config/sparc/sparc.c:6803 config/sparc/sparc.c:6809
++#: config/sparc/sparc.c:6806 config/sparc/sparc.c:6812
+ #, c-format
+ msgid "invalid %%Y operand"
+ msgstr "ungültiger %%Y-Operand"
+
+-#: config/sparc/sparc.c:6879
++#: config/sparc/sparc.c:6882
+ #, c-format
+ msgid "invalid %%A operand"
+ msgstr "ungültiger %%A-Operand"
+
+-#: config/sparc/sparc.c:6889
++#: config/sparc/sparc.c:6892
+ #, c-format
+ msgid "invalid %%B operand"
+ msgstr "ungültiger %%B-Operand"
+
+-#: config/sparc/sparc.c:6928
++#: config/sparc/sparc.c:6931
+ #, c-format
+ msgid "invalid %%c operand"
+ msgstr "ungültiger %%c-Operand"
+
+-#: config/sparc/sparc.c:6950
++#: config/sparc/sparc.c:6953
+ #, c-format
+ msgid "invalid %%d operand"
+ msgstr "ungültiger %%d-Operand"
+
+-#: config/sparc/sparc.c:6967
++#: config/sparc/sparc.c:6970
+ #, c-format
+ msgid "invalid %%f operand"
+ msgstr "ungültiger %%f-Operand"
+
+-#: config/sparc/sparc.c:6981
++#: config/sparc/sparc.c:6984
+ #, c-format
+ msgid "invalid %%s operand"
+ msgstr "ungültiger %%s-Operand"
+
+-#: config/sparc/sparc.c:7035
++#: config/sparc/sparc.c:7038
+ #, c-format
+ msgid "long long constant not a valid immediate operand"
+ msgstr "»long long«-Konstante ist kein gültiger direkter Operand"
+
+-#: config/sparc/sparc.c:7038
++#: config/sparc/sparc.c:7041
+ #, c-format
+ msgid "floating point constant not a valid immediate operand"
+ msgstr "Gleitkommakonstante ist kein gültiger direkter Operand"
+
+-#: config/stormy16/stormy16.c:1775 config/stormy16/stormy16.c:1846
++#: config/stormy16/stormy16.c:1748 config/stormy16/stormy16.c:1819
+ #, c-format
+ msgid "'B' operand is not constant"
+ msgstr "»B«-Operand ist nicht konstant"
+
+-#: config/stormy16/stormy16.c:1802
++#: config/stormy16/stormy16.c:1775
+ #, c-format
+ msgid "'B' operand has multiple bits set"
+ msgstr "»B«-Operand hat mehrere gesetzte Bits"
+
+-#: config/stormy16/stormy16.c:1828
++#: config/stormy16/stormy16.c:1801
+ #, c-format
+ msgid "'o' operand is not constant"
+ msgstr "»o«-Operand ist nicht konstant"
+
+-#: config/stormy16/stormy16.c:1860
++#: config/stormy16/stormy16.c:1833
+ #, c-format
+ msgid "xstormy16_print_operand: unknown code"
+ msgstr "xstormy16_print_operand: unbekannter Code"
+@@ -3709,56 +3636,56 @@
+ msgid "output_move_single:"
+ msgstr "output_move_single:"
+
+-#: config/xtensa/xtensa.c:652 config/xtensa/xtensa.c:684
+-#: config/xtensa/xtensa.c:693
++#: config/xtensa/xtensa.c:656 config/xtensa/xtensa.c:688
++#: config/xtensa/xtensa.c:697
+ msgid "bad test"
+ msgstr "Falscher Test"
+
+-#: config/xtensa/xtensa.c:1980
++#: config/xtensa/xtensa.c:1986
+ #, c-format
+ msgid "invalid %%D value"
+ msgstr "ungültiger %%D-Wert"
+
+-#: config/xtensa/xtensa.c:2017
++#: config/xtensa/xtensa.c:2023
+ msgid "invalid mask"
+ msgstr "ungültige Maske"
+
+-#: config/xtensa/xtensa.c:2043
++#: config/xtensa/xtensa.c:2049
+ #, c-format
+ msgid "invalid %%x value"
+ msgstr "ungültiger %%x-Wert"
+
+-#: config/xtensa/xtensa.c:2050
++#: config/xtensa/xtensa.c:2056
+ #, c-format
+ msgid "invalid %%d value"
+ msgstr "ungültiger %%d-Wert"
+
+-#: config/xtensa/xtensa.c:2071 config/xtensa/xtensa.c:2081
++#: config/xtensa/xtensa.c:2077 config/xtensa/xtensa.c:2087
+ #, c-format
+ msgid "invalid %%t/%%b value"
+ msgstr "ungültiger %%t/%%b-Wert"
+
+-#: config/xtensa/xtensa.c:2123
++#: config/xtensa/xtensa.c:2129
+ msgid "invalid address"
+ msgstr "ungültige Adresse"
+
+-#: config/xtensa/xtensa.c:2148
++#: config/xtensa/xtensa.c:2154
+ msgid "no register in address"
+ msgstr "Kein Register in Adresse"
+
+-#: config/xtensa/xtensa.c:2156
++#: config/xtensa/xtensa.c:2162
+ msgid "address offset not a constant"
+ msgstr "Adressversatz ist keine Konstante"
+
+-#: cp/call.c:2514
++#: cp/call.c:2500
+ msgid "candidates are:"
+ msgstr "Kandidaten sind:"
+
+-#: cp/call.c:6463
++#: cp/call.c:6487
+ msgid "candidate 1:"
+ msgstr "Kandidat 1:"
+
+-#: cp/call.c:6464
++#: cp/call.c:6488
+ msgid "candidate 2:"
+ msgstr "Kandidat 2:"
+
+@@ -3803,51 +3730,51 @@
+ msgid "Integer outside symmetric range implied by Standard Fortran at %L"
+ msgstr "Ganzzahl außerhalb symmetrischem Bereich wegen Standard-Fortran bei %L"
+
+-#: fortran/arith.c:1425
++#: fortran/arith.c:1472
+ msgid "elemental binary operation"
+ msgstr "Elementare Binäroperation"
+
+-#: fortran/arith.c:1997
++#: fortran/arith.c:2044
+ #, no-c-format
+ msgid "Arithmetic OK converting %s to %s at %L"
+ msgstr "Arithmetik OK beim Konvertieren von %s in %s bei %L"
+
+-#: fortran/arith.c:2001
++#: fortran/arith.c:2048
+ #, no-c-format
+ msgid "Arithmetic overflow converting %s to %s at %L. This check can be disabled with the option -fno-range-check"
+ msgstr "Arithmetischer Überlauf bei Umwandlung von %s in %s bei %L. Diese Überprüfung kann mit der Option -fno-range-check ausgeschaltet werden"
+
+-#: fortran/arith.c:2006
++#: fortran/arith.c:2053
+ #, no-c-format
+ msgid "Arithmetic underflow converting %s to %s at %L"
+ msgstr "Arithmetischer Unterlauf beim Konvertieren von %s in %s bei %L"
+
+-#: fortran/arith.c:2010
++#: fortran/arith.c:2057
+ #, no-c-format
+ msgid "Arithmetic NaN converting %s to %s at %L"
+ msgstr "Arithmetisches NaN bei Konvertieren von %s in %s bei %L"
+
+-#: fortran/arith.c:2014
++#: fortran/arith.c:2061
+ #, no-c-format
+ msgid "Division by zero converting %s to %s at %L"
+ msgstr "Division durch Null beim Konvertieren von %s in %s bei %L"
+
+-#: fortran/arith.c:2018
++#: fortran/arith.c:2065
+ #, no-c-format
+ msgid "Array operands are incommensurate converting %s to %s at %L"
+ msgstr "Feldoperanden sind unzureichend beim Konvertieren von %s in %s bei %L"
+
+-#: fortran/arith.c:2022
++#: fortran/arith.c:2069
+ #, no-c-format
+ msgid "Integer outside symmetric range implied by Standard Fortran converting %s to %s at %L"
+ msgstr "Ganzzahl außerhalb des symmetrischen Bereiches wegen Standard-Fortran-Konvertierung von %s in %s bei %L"
+
+-#: fortran/arith.c:2355
++#: fortran/arith.c:2402
+ #, no-c-format
+ msgid "The Hollerith constant at %L is too long to convert to %s"
+ msgstr "Hollerith-Konstante bei %L ist zu lang zum Konvertieren in %s"
+
+-#: fortran/arith.c:2513
++#: fortran/arith.c:2560
+ #, no-c-format
+ msgid "Enumerator exceeds the C integer type at %C"
+ msgstr "Zähler übersteigt den C-Ganzzahltyp bei %C"
+@@ -3877,72 +3804,72 @@
+ msgid "Variable '%s' at %L in this context must be constant"
+ msgstr "Variable »%s« bei %L muss in diesem Kontext eine Konstante sein"
+
+-#: fortran/array.c:299
++#: fortran/array.c:314
+ #, no-c-format
+ msgid "Expected expression in array specification at %C"
+ msgstr "Erwarteter Ausdruck in Feldspezifikation bei %C"
+
+-#: fortran/array.c:386
++#: fortran/array.c:392
+ #, no-c-format
+ msgid "Bad array specification for an explicitly shaped array at %C"
+ msgstr "Falsche Feldangabe für Feld mit explizit gebildeter Form bei %C"
+
+-#: fortran/array.c:396
++#: fortran/array.c:402
+ #, no-c-format
+ msgid "Bad array specification for assumed shape array at %C"
+ msgstr "Falsche Feldangabe für Feld mit implizit gebildeter Form bei %C"
+
+-#: fortran/array.c:410
++#: fortran/array.c:416
+ #, no-c-format
+ msgid "Bad specification for deferred shape array at %C"
+ msgstr "Falsche Spezifikation für Feld mit zurückgestellter Form bei %C"
+
+-#: fortran/array.c:414
++#: fortran/array.c:420
+ #, no-c-format
+ msgid "Bad specification for assumed size array at %C"
+ msgstr "Falsche Spezifikation für Feld mit impliziter Größe bei %C"
+
+-#: fortran/array.c:423
++#: fortran/array.c:429
+ #, no-c-format
+ msgid "Expected another dimension in array declaration at %C"
+ msgstr "Andere Dimension in Felddeklaration bei %C erwartet"
+
+-#: fortran/array.c:429
++#: fortran/array.c:435
+ #, no-c-format
+ msgid "Array specification at %C has more than %d dimensions"
+ msgstr "Feldspezifikation bei %C hat mehr als %d Dimensionen"
+
+-#: fortran/array.c:635
++#: fortran/array.c:641
+ #, no-c-format
+ msgid "duplicated initializer"
+ msgstr "ungültige Initialisierung"
+
+-#: fortran/array.c:727
++#: fortran/array.c:733
+ #, no-c-format
+ msgid "DO-iterator '%s' at %L is inside iterator of the same name"
+ msgstr "DO-Iterator »%s« bei %L ist innerhalb eines Iterators mit gleichem Namen"
+
+-#: fortran/array.c:829 fortran/array.c:938
++#: fortran/array.c:835 fortran/array.c:944
+ #, no-c-format
+ msgid "Syntax error in array constructor at %C"
+ msgstr "Syntaxfehler in Feldkonstruktor bei %C"
+
+-#: fortran/array.c:884
++#: fortran/array.c:890
+ #, no-c-format
+ msgid "Fortran 2003: [...] style array constructors at %C"
+ msgstr "Fortran 2003: Feldkonstruktoren im [...]-Stil bei %C"
+
+-#: fortran/array.c:898
++#: fortran/array.c:904
+ #, no-c-format
+ msgid "Empty array constructor at %C is not allowed"
+ msgstr "Leerer Feldkonstruktor bei %C ist nicht erlaubt"
+
+-#: fortran/array.c:982
++#: fortran/array.c:988
+ #, no-c-format
+ msgid "Element in %s array constructor at %L is %s"
+ msgstr "Element in Feldkonstruktor %s bei %L ist %s"
+
+-#: fortran/array.c:1309
++#: fortran/array.c:1315
+ #, no-c-format
+ msgid "Iterator step at %L cannot be zero"
+ msgstr "Iteratorschritt bei %L kann nicht Null sein"
+@@ -3962,7 +3889,7 @@
+ msgid "'%s' argument of '%s' intrinsic at %L must be a numeric type"
+ msgstr "Argument »%s« des intrinsischen »%s« bei %L muss ein numerischer Typ sein"
+
+-#: fortran/check.c:101 fortran/check.c:817 fortran/check.c:827
++#: fortran/check.c:101 fortran/check.c:810 fortran/check.c:820
+ #, no-c-format
+ msgid "'%s' argument of '%s' intrinsic at %L must be INTEGER or REAL"
+ msgstr "Argument »%s« des intrinsischen »%s« bei %L muss INTEGER oder REAL sein"
+@@ -4027,220 +3954,215 @@
+ msgid "'%s' argument of '%s' intrinsic at %L must be a variable"
+ msgstr "Argument »%s« des intrinsischen »%s« bei %L muss eine Variable sein"
+
+-#: fortran/check.c:320
++#: fortran/check.c:356
+ #, no-c-format
+-msgid "Missing DIM parameter in intrinsic '%s' at %L"
+-msgstr "Fehlender Parameter DIM in intrinsischem »%s« bei %L"
+-
+-#: fortran/check.c:363
+-#, no-c-format
+ msgid "'dim' argument of '%s' intrinsic at %L is not a valid dimension index"
+ msgstr "Argument »dim« des intrinsischen »%s« bei %L ist kein gültiger Dimensionsindex"
+
+-#: fortran/check.c:433
++#: fortran/check.c:426
+ #, no-c-format
+ msgid "Unequal character lengths (%ld and %ld) in %s intrinsic at %L"
+ msgstr "Ungleiche Zeichenlängen (%ld und %ld) in intrinsischem %s bei %L"
+
+-#: fortran/check.c:535 fortran/check.c:1938 fortran/check.c:1953
++#: fortran/check.c:528 fortran/check.c:1932 fortran/check.c:1947
+ #, no-c-format
+ msgid "'%s' argument of '%s' intrinsic at %L must be ALLOCATABLE"
+ msgstr "Argument »%s« des intrinsischen »%s« bei %L muss ALLOCATABLE sein"
+
+-#: fortran/check.c:559 fortran/check.c:3703
++#: fortran/check.c:552 fortran/check.c:3697
+ #, no-c-format
+ msgid "'%s' and '%s' arguments of '%s' intrinsic at %L must have the same type"
+ msgstr "Argumente »%s« und »%s« des intrinsischen »%s« bei %L müssen den selben Typ haben"
+
+-#: fortran/check.c:568 fortran/check.c:1143 fortran/check.c:1286
+-#: fortran/check.c:1360 fortran/check.c:1616
++#: fortran/check.c:561 fortran/check.c:1137 fortran/check.c:1280
++#: fortran/check.c:1354 fortran/check.c:1610
+ #, no-c-format
+ msgid "Extension: Different type kinds at %L"
+ msgstr "Erweiterung: Verschiedene Typ-Arten bei %L"
+
+-#: fortran/check.c:608 fortran/check.c:2022
++#: fortran/check.c:601 fortran/check.c:2016
+ #, no-c-format
+ msgid "'%s' argument of '%s' intrinsic at %L must be a POINTER"
+ msgstr "Argument »%s« des intrinsischen »%s« bei %L muss ein POINTER sein"
+
+-#: fortran/check.c:628
++#: fortran/check.c:621
+ #, no-c-format
+ msgid "'%s' argument of '%s' intrinsic at %L must be a pointer or target VARIABLE or FUNCTION"
+ msgstr "Argument »%s« des intrinsischen »%s« bei %L muss ein Zeiger oder Ziel VARIABLE oder FUNCTION sein"
+
+-#: fortran/check.c:636
++#: fortran/check.c:629
+ #, no-c-format
+ msgid "'%s' argument of '%s' intrinsic at %L must be a POINTER or a TARGET"
+ msgstr "Argument »%s« des intrinsischen »%s« bei %L muss ein POINTER oder ein TARGET sein"
+
+-#: fortran/check.c:652
++#: fortran/check.c:645
+ #, no-c-format
+ msgid "Array section with a vector subscript at %L shall not be the target of a pointer"
+ msgstr "Feldabschnitt mit Vektorindex bei %L sollte nicht das Ziel eines Zeigers sein"
+
+-#: fortran/check.c:663
++#: fortran/check.c:656
+ #, no-c-format
+ msgid "NULL pointer at %L is not permitted as actual argument of '%s' intrinsic function"
+ msgstr "NULL-Zeiger bei %L ist nicht als effektives Argument der intrinsischen Funktion »%s« erlaubt"
+
+-#: fortran/check.c:798 fortran/check.c:915
++#: fortran/check.c:791 fortran/check.c:910
+ #, no-c-format
+ msgid "'%s' argument of '%s' intrinsic at %L must not be present if 'x' is COMPLEX"
+ msgstr "Argument »%s« des intrinsischen »%s« bei %L darf nicht vorhanden sein, wenn »x« COMPLEX ist"
+
+-#: fortran/check.c:848 fortran/check.c:1205 fortran/check.c:1308
+-#: fortran/check.c:1467 fortran/check.c:1484 fortran/check.c:2318
+-#: fortran/check.c:2444 fortran/check.c:2779 fortran/check.c:2821
++#: fortran/check.c:841 fortran/check.c:1199 fortran/check.c:1302
++#: fortran/check.c:1461 fortran/check.c:1478 fortran/check.c:2312
++#: fortran/check.c:2438 fortran/check.c:2773 fortran/check.c:2815
+ #, no-c-format
+ msgid "Fortran 2003: '%s' intrinsic with KIND argument at %L"
+ msgstr "Fortran 2003: intrinsisches »%s« mit KIND-Argument bei %L"
+
+-#: fortran/check.c:964 fortran/check.c:1712 fortran/check.c:1720
++#: fortran/check.c:959 fortran/check.c:1706 fortran/check.c:1714
+ #, no-c-format
+ msgid "'%s' argument of '%s' intrinsic at %L must be numeric or LOGICAL"
+ msgstr "Argument »%s« des intrinsischen »%s« bei %L muss numerisch oder LOGICAL sein"
+
+-#: fortran/check.c:978
++#: fortran/check.c:973
+ #, no-c-format
+ msgid "Different shape for arguments '%s' and '%s' at %L for intrinsic 'dot_product'"
+ msgstr "Unterschiedliche Form für Argumente »%s« und »%s« bei %L für intrinsisches »dot_product«"
+
+-#: fortran/check.c:997 fortran/check.c:1005
++#: fortran/check.c:992 fortran/check.c:1000
+ #, no-c-format
+ msgid "'%s' argument of '%s' intrinsic at %L must be default real"
+ msgstr "Argument »%s« des intrinsischen »%s« bei %L muss ein Standard-Real sein"
+
+-#: fortran/check.c:1256
++#: fortran/check.c:1250
+ #, no-c-format
+ msgid "Argument of %s at %L must be of length one"
+ msgstr "Argument von %s bei %L muss von der Länge eins sein"
+
+-#: fortran/check.c:1315
++#: fortran/check.c:1309
+ #, no-c-format
+ msgid "'%s' argument of '%s' intrinsic at %L must be the same kind as '%s'"
+ msgstr "Argument »%s« des intrinsischen »%s« bei %L muss von der selben Art wie »%s« sein"
+
+-#: fortran/check.c:1440
++#: fortran/check.c:1434
+ #, no-c-format
+ msgid "'%s' argument of '%s' intrinsic at %L must be a non-derived type"
+ msgstr "Argument »%s« des intrinsischen »%s« bei %L darf kein abgeleiteter Typ sein"
+
+-#: fortran/check.c:1589
++#: fortran/check.c:1583
+ #, no-c-format
+ msgid "Intrinsic '%s' at %L must have at least two arguments"
+ msgstr "Das intrinsische »%s« bei %L muss mindestens zwei Argumente haben"
+
+-#: fortran/check.c:1622
++#: fortran/check.c:1616
+ #, no-c-format
+ msgid "'a%d' argument of '%s' intrinsic at %L must be %s(%d)"
+ msgstr "Argument »a%d« des intrinsischen »%s« bei %L muss %s(%d) sein"
+
+-#: fortran/check.c:1655
++#: fortran/check.c:1649
+ #, no-c-format
+ msgid "Fortran 2003: '%s' intrinsic with CHARACTER argument at %L"
+ msgstr "Fortran 2003: intrinsisches »%s« mit CHARACTER-Argument bei %L"
+
+-#: fortran/check.c:1662
++#: fortran/check.c:1656
+ #, no-c-format
+ msgid "'a1' argument of '%s' intrinsic at %L must be INTEGER, REAL or CHARACTER"
+ msgstr "Argument »a1« des intrinsischen »%s« bei %L muss INTEGER, REAL oder CHARACTER sein"
+
+-#: fortran/check.c:1734
++#: fortran/check.c:1728
+ #, no-c-format
+ msgid "Different shape on dimension 1 for arguments '%s' and '%s' at %L for intrinsic matmul"
+ msgstr "andere Form bei Dimension 1 für Argumente »%s« und »%s« bei %L für intrinsisches matmul"
+
+-#: fortran/check.c:1753
++#: fortran/check.c:1747
+ #, no-c-format
+ msgid "Different shape on dimension 2 for argument '%s' and dimension 1 for argument '%s' at %L for intrinsic matmul"
+ msgstr "andere Form bei Dimension 2 für Argument »%s« und Dimension 1 für Argument »%s« bei %L für intrinsisches matmul"
+
+-#: fortran/check.c:1762
++#: fortran/check.c:1756
+ #, no-c-format
+ msgid "'%s' argument of '%s' intrinsic at %L must be of rank 1 or 2"
+ msgstr "Argument »%s« des intrinsischen »%s« bei %L muss vom Rang 1 oder 2 sein"
+
+-#: fortran/check.c:1964
++#: fortran/check.c:1958
+ #, no-c-format
+ msgid "the '%s' and '%s' arguments of '%s' intrinsic at %L must have the same rank %d/%d"
+ msgstr "Argumente »%s« und »%s« des intrinsischen »%s« bei %L müssen den selben Rang %d/%d haben"
+
+-#: fortran/check.c:1973
++#: fortran/check.c:1967
+ #, no-c-format
+ msgid "the '%s' and '%s' arguments of '%s' intrinsic at %L must be of the same kind %d/%d"
+ msgstr "Argumente »%s« und »%s« des intrinsischen »%s« bei %L müssen von der selben Art %d/%d sein"
+
+-#: fortran/check.c:2069
++#: fortran/check.c:2063
+ #, no-c-format
+ msgid "'%s' argument of '%s' intrinsic at %L must be of type REAL or COMPLEX"
+ msgstr "Argument »%s« des intrinsischen »%s« bei %L muss vom Typ REAL oder COMPLEX sein"
+
+-#: fortran/check.c:2090
++#: fortran/check.c:2084
+ #, no-c-format
+ msgid "'%s' argument of '%s' intrinsic at %L must be of a dummy variable"
+ msgstr "Argument »%s« des intrinsischen »%s« bei %L muss eine Scheinvariable sein"
+
+-#: fortran/check.c:2098
++#: fortran/check.c:2092
+ #, no-c-format
+ msgid "'%s' argument of '%s' intrinsic at %L must be of an OPTIONAL dummy variable"
+ msgstr "Argument »%s« des intrinsischen »%s« bei %L muss eine OPTIONALe Scheinvariable sein"
+
+-#: fortran/check.c:2114
++#: fortran/check.c:2108
+ #, no-c-format
+ msgid "'%s' argument of '%s' intrinsic at %L must not be a subobject of '%s'"
+ msgstr "Argument »%s« des intrinsischen »%s« bei %L darf kein Unterobjekt von »%s« sein"
+
+-#: fortran/check.c:2231
++#: fortran/check.c:2225
+ #, no-c-format
+ msgid "'shape' argument of 'reshape' intrinsic at %L must be an array of constant size"
+ msgstr "Argument »shape« des intrinsischen »reshape« bei %L muss ein Feld konstanter Größe sein"
+
+-#: fortran/check.c:2241
++#: fortran/check.c:2235
+ #, no-c-format
+ msgid "'shape' argument of 'reshape' intrinsic at %L has more than %d elements"
+ msgstr "Argument »shape« des intrinsischen »reshape« bei %L hat mehr als %d Elemente"
+
+-#: fortran/check.c:2279
++#: fortran/check.c:2273
+ #, no-c-format
+ msgid "Without padding, there are not enough elements in the intrinsic RESHAPE source at %L to match the shape"
+ msgstr "Ohne Auffüllen gibt es nicht genügend Elemente in eingebauter RESHAPE-Quelle bei %L um zur Form zu passen"
+
+-#: fortran/check.c:2364
++#: fortran/check.c:2358
+ #, no-c-format
+ msgid "Missing arguments to %s intrinsic at %L"
+ msgstr "Fehlende Argumente für intrinsisches %s bei %L"
+
+-#: fortran/check.c:2405
++#: fortran/check.c:2399
+ #, no-c-format
+ msgid "'source' argument of 'shape' intrinsic at %L must not be an assumed size array"
+ msgstr "Argument »source« des intrinsischen »shape« bei %L darf kein Feld impliziter Größe sein"
+
+-#: fortran/check.c:2479
++#: fortran/check.c:2473
+ #, no-c-format
+ msgid "'%s' argument of '%s' intrinsic at %L must be less than rank %d"
+ msgstr "Argument »%s« für intrinsisches »%s« bei %L muss geringer als Rang %d sein"
+
+-#: fortran/check.c:2731
++#: fortran/check.c:2725
+ #, no-c-format
+ msgid "'MOLD' argument of 'TRANSFER' intrinsic at %L must not be %s"
+ msgstr "Argument »MOLD« des intrinsischen »TRANSFER« bei %L darf nicht %s sein"
+
+-#: fortran/check.c:3050
++#: fortran/check.c:3044
+ #, no-c-format
+ msgid "Too many arguments to %s at %L"
+ msgstr "Zu viele Argumente für %s bei %L"
+
+-#: fortran/check.c:3162 fortran/check.c:3616 fortran/check.c:3640
++#: fortran/check.c:3156 fortran/check.c:3610 fortran/check.c:3634
+ #, no-c-format
+ msgid "'%s' argument of '%s' intrinsic at %L must be INTEGER or PROCEDURE"
+ msgstr "Argument »%s« für intrinsisches »%s« bei %L muss INTEGER oder PROCEDURE sein"
+
+-#: fortran/check.c:3338
++#: fortran/check.c:3332
+ #, no-c-format
+ msgid "'%s' argument of '%s' intrinsic at %L must be of a kind not wider than the default kind (%d)"
+ msgstr "Argument »%s« des intrinsischen »%s« bei %L darf von der Art nicht breiter als der Stardard (%d) sein"
+
+-#: fortran/check.c:3687 fortran/check.c:3695
++#: fortran/check.c:3681 fortran/check.c:3689
+ #, no-c-format
+ msgid "'%s' argument of '%s' intrinsic at %L must be INTEGER or LOGICAL"
+ msgstr "Argument »%s« für intrinsisches »%s« bei %L muss INTEGER oder LOGICAL sein"
+@@ -4265,890 +4187,926 @@
+ msgid "'%s' at %L already is initialized at %L"
+ msgstr "»%s« bei %L wurde bereits bei %L initialisiert"
+
+-#: fortran/data.c:412
++#: fortran/data.c:317
+ #, no-c-format
++msgid "Data element below array lower bound at %L"
++msgstr "Datenelement unterhalb der unteren Feldgrenze bei %L"
++
++#: fortran/data.c:329
++#, no-c-format
++msgid "Data element above array upper bound at %L"
++msgstr "Datenelement oberhalb der oberen Feldgrenze bei %L"
++
++#: fortran/data.c:435
++#, no-c-format
+ msgid "Extension: re-initialization of '%s' at %L"
+ msgstr "Erweiterung: Reinitialisierung von »%s« bei %L"
+
+-#: fortran/decl.c:254
++#: fortran/decl.c:253
+ #, no-c-format
+ msgid "Host associated variable '%s' may not be in the DATA statement at %C"
+ msgstr "Mit Host verbundene Variable »%s« darf nicht in DATA-Anweisung bei %C stehen"
+
+-#: fortran/decl.c:261
++#: fortran/decl.c:260
+ #, no-c-format
+ msgid "Extension: initialization of common block variable '%s' in DATA statement at %C"
+ msgstr "Erweiterung: Initialisierung der allgemeinen Blockvariable »%s« in DATA-Anweisung bei %C"
+
+-#: fortran/decl.c:366
++#: fortran/decl.c:365
+ #, no-c-format
+ msgid "Symbol '%s' must be a PARAMETER in DATA statement at %C"
+ msgstr "Symbol »%s« muss ein PARAMETER in DATA-Anweisung bei %C sein"
+
+-#: fortran/decl.c:470
++#: fortran/decl.c:390
+ #, no-c-format
++msgid "Invalid initializer %s in Data statement at %C"
++msgstr "Ungültige Initialisierung %s in Data-Anweisung bei %C"
++
++#: fortran/decl.c:493
++#, no-c-format
+ msgid "Initialization at %C is not allowed in a PURE procedure"
+ msgstr "Initialisierung bei %C ist in PURE-Prozedur nicht erlaubt"
+
+-#: fortran/decl.c:529
++#: fortran/decl.c:552
+ #, no-c-format
+ msgid "DATA statement at %C is not allowed in a PURE procedure"
+ msgstr "DATA-Anweisung bei %C ist in PURE-Prozedur nicht erlaubt"
+
+-#: fortran/decl.c:558
++#: fortran/decl.c:581
+ #, no-c-format
+ msgid "Bad INTENT specification at %C"
+ msgstr "Falsche INTENT-Spezifikation bei %C"
+
+-#: fortran/decl.c:600
++#: fortran/decl.c:623
+ #, no-c-format
+ msgid "Conflict in attributes of function argument at %C"
+ msgstr "Konflikt in Attributen des Funktionsarguments bei %C"
+
+-#: fortran/decl.c:647
++#: fortran/decl.c:676
+ #, no-c-format
+ msgid "Syntax error in character length specification at %C"
+ msgstr "Syntaxfehler in Zeichenlängenangabe bei %C"
+
+-#: fortran/decl.c:757
++#: fortran/decl.c:795
+ #, no-c-format
+ msgid "Procedure '%s' at %C is already defined at %L"
+ msgstr "Prozedur »%s« bei %C wurde bereits bei %L definiert"
+
+-#: fortran/decl.c:765
++#: fortran/decl.c:803
+ #, no-c-format
+ msgid "Name '%s' at %C is already defined as a generic interface at %L"
+ msgstr "Name »%s« bei %C ist bereits als eine allgemeine Schnittstelle bei %L definiert"
+
+-#: fortran/decl.c:778
++#: fortran/decl.c:816
+ #, no-c-format
+ msgid "Procedure '%s' at %C has an explicit interface and must not have attributes declared at %L"
+ msgstr "Prozedur »%s« bei %C hat eine explizite Schnittstelle und darf bei %L keine Attribute deklariert haben"
+
+-#: fortran/decl.c:850
++#: fortran/decl.c:888
+ #, no-c-format
+ msgid "Procedure '%s' at %L must have the BIND(C) attribute to be C interoperable"
+ msgstr "Prozedur »%s« bei %L muss das BIND(C)-Attribut haben, um mit C interoperabel zu sein"
+
+-#: fortran/decl.c:880
++#: fortran/decl.c:918
+ #, no-c-format
+ msgid "Type '%s' at %L is a parameter to the BIND(C) procedure '%s' but is not C interoperable because derived type '%s' is not C interoperable"
+ msgstr "Typ »%s« bei %L ist ein Parameter für die BIND(C)-Prozedur »%s«, jedoch nicht interoperabel mit C, da der abgeleitete Typ »%s« nicht mit C interoperabel ist"
+
+-#: fortran/decl.c:887
++#: fortran/decl.c:925
+ #, no-c-format
+ msgid "Variable '%s' at %L is a parameter to the BIND(C) procedure '%s' but may not be C interoperable"
+ msgstr "Variable »%s« bei %L ist ein Parameter für die BIND(C)-Prozedur »%s«, könnte jedoch inkompatibel mit C sein"
+
+-#: fortran/decl.c:902
++#: fortran/decl.c:940
+ #, no-c-format
+ msgid "Character argument '%s' at %L must be length 1 because procedure '%s' is BIND(C)"
+ msgstr "Zeichenargument »%s« bei %L muss Länge 1 haben, da Prozedur »%s« BIND(C) ist"
+
+-#: fortran/decl.c:916
++#: fortran/decl.c:954
+ #, no-c-format
+ msgid "Variable '%s' at %L cannot have the ALLOCATABLE attribute because procedure '%s' is BIND(C)"
+ msgstr "Variable »%s« bei %L kann nicht Attribut ALLOCATABLE haben, da Prozedur »%s« BIND(C) ist"
+
+-#: fortran/decl.c:925
++#: fortran/decl.c:963
+ #, no-c-format
+ msgid "Variable '%s' at %L cannot have the POINTER attribute because procedure '%s' is BIND(C)"
+ msgstr "Variable »%s« bei %L kann kein POINTER-Attribut haben, da Prozedur »%s« BIND(C) ist"
+
+-#: fortran/decl.c:934
++#: fortran/decl.c:972
+ #, no-c-format
+ msgid "Variable '%s' at %L cannot have the OPTIONAL attribute because procedure '%s' is BIND(C)"
+ msgstr "Variable »%s« bei %L kann kein OPTIONAL-Attribut haben, da Prozedur »%s« BIND(C) ist"
+
+-#: fortran/decl.c:947
++#: fortran/decl.c:985
+ #, no-c-format
+ msgid "Assumed-shape array '%s' at %L cannot be an argument to the procedure '%s' at %L because the procedure is BIND(C)"
+ msgstr "Feld »%s« mit vermuteter Form bei %L kann kein Argument für Prozedur »%s« bei %L sein, da die Prozedur BIND(C) ist"
+
+-#: fortran/decl.c:957
++#: fortran/decl.c:995
+ #, no-c-format
+ msgid "Deferred-shape array '%s' at %L cannot be an argument to the procedure '%s' at %L because the procedure is BIND(C)"
+ msgstr "Feld »%s« mit zurückgestellter Form bei %L kann kein Argument für Prozedur »%s« bei %L sein, da die Prozedur BIND(C) ist"
+
+-#: fortran/decl.c:1033
++#: fortran/decl.c:1071
+ #, no-c-format
+ msgid "Variable '%s' in common block '%s' at %C must be declared with a C interoperable kind since common block '%s' is BIND(C)"
+ msgstr "Variable »%s« in gemeinsamem Block »%s« bei %C muss mit einer mit C interoperablen Art deklariert sein, da der gemeinsame Block »%s« BIND(C) ist"
+
+-#: fortran/decl.c:1069
++#: fortran/decl.c:1107
+ #, no-c-format
+ msgid "CHARACTER expression at %L is being truncated (%d/%d)"
+ msgstr "CHARACTER-Ausdruck bei %L wird abgeschnitten (%d/%d)"
+
+-#: fortran/decl.c:1075
++#: fortran/decl.c:1113
+ #, no-c-format
+ msgid "The CHARACTER elements of the array constructor at %L must have the same length (%d/%d)"
+ msgstr "Die CHARACTER-Elemente des Feldkonstruktors bei %L müssen die gleiche Länge haben (%d/%d)"
+
+-#: fortran/decl.c:1165
++#: fortran/decl.c:1203
+ #, no-c-format
+ msgid "Initializer not allowed for PARAMETER '%s' at %C"
+ msgstr "Initialisierung für PARAMETER »%s« bei %C nicht erlaubt"
+
+-#: fortran/decl.c:1174
++#: fortran/decl.c:1213
+ #, no-c-format
+-msgid "Initializer not allowed for COMMON variable '%s' at %C"
+-msgstr "Initialisierung für COMMON-Variable »%s« bei %C nicht erlaubt"
+-
+-#: fortran/decl.c:1184
+-#, no-c-format
+ msgid "PARAMETER at %L is missing an initializer"
+ msgstr "fehlende Initialisierung für PARAMETER bei %L"
+
+-#: fortran/decl.c:1194
++#: fortran/decl.c:1223
+ #, no-c-format
+ msgid "Variable '%s' at %C with an initializer already appears in a DATA statement"
+ msgstr "Variable »%s« bei %C mit Initialisierung tritt bereits in einer DATA-Anweisung auf"
+
+-#: fortran/decl.c:1344
++#: fortran/decl.c:1373
+ #, no-c-format
+ msgid "Component at %C must have the POINTER attribute"
+ msgstr "Komponente bei %C muss ein POINTER-Attribut haben"
+
+-#: fortran/decl.c:1352
++#: fortran/decl.c:1381
+ #, no-c-format
+ msgid "Array component of structure at %C must have explicit or deferred shape"
+ msgstr "Feldkomponente der Struktur bei %C muss explizite oder aufgeschobene Form haben"
+
+-#: fortran/decl.c:1378
++#: fortran/decl.c:1425
+ #, no-c-format
+ msgid "Allocatable component at %C must be an array"
+ msgstr "Allozierbare Komponente bei %C muss ein Feld sein"
+
+-#: fortran/decl.c:1389
++#: fortran/decl.c:1436
+ #, no-c-format
+ msgid "Pointer array component of structure at %C must have a deferred shape"
+ msgstr "Zeigerfeld-Komponente der Struktur bei %C muss eine aufgeschobene Form haben"
+
+-#: fortran/decl.c:1398
++#: fortran/decl.c:1445
+ #, no-c-format
+ msgid "Allocatable component of structure at %C must have a deferred shape"
+ msgstr "Allozierbare Komponente der Struktur bei %C muss eine aufgeschobene Form haben"
+
+-#: fortran/decl.c:1407
++#: fortran/decl.c:1454
+ #, no-c-format
+ msgid "Array component of structure at %C must have an explicit shape"
+ msgstr "Feldkomponente der Struktur bei %C muss eine explizite Form haben"
+
+-#: fortran/decl.c:1433
++#: fortran/decl.c:1480
+ #, no-c-format
+ msgid "NULL() initialization at %C is ambiguous"
+ msgstr "NULL()-Initialisierung bei %C ist mehrdeutig"
+
+-#: fortran/decl.c:1556 fortran/decl.c:5197
++#: fortran/decl.c:1603 fortran/decl.c:5395
+ #, no-c-format
+ msgid "Duplicate array spec for Cray pointee at %C"
+ msgstr "Doppelte Feldspezifikation für Cray-Zeigerende bei %C"
+
+-#: fortran/decl.c:1616
++#: fortran/decl.c:1663
+ #, no-c-format
+ msgid "the type of '%s' at %C has not been declared within the interface"
+ msgstr "der Typ von »%s« bei %C wurde nicht innerhalb der Schnittstelle deklariert"
+
+-#: fortran/decl.c:1632
++#: fortran/decl.c:1679
+ #, no-c-format
+ msgid "Function name '%s' not allowed at %C"
+ msgstr "Funktionsname »%s« nicht erlaubt bei %C"
+
+-#: fortran/decl.c:1648
++#: fortran/decl.c:1695
+ #, no-c-format
+ msgid "Extension: Old-style initialization at %C"
+ msgstr "Erweiterung: Initialisierung im alten Stil bei %C"
+
+-#: fortran/decl.c:1663
++#: fortran/decl.c:1710
+ #, no-c-format
+ msgid "Initialization at %C isn't for a pointer variable"
+ msgstr "Initialisierung bei %C ist nicht für eine Zeigervariable"
+
+-#: fortran/decl.c:1671
++#: fortran/decl.c:1718
+ #, no-c-format
+ msgid "Pointer initialization requires a NULL() at %C"
+ msgstr "Zeigerinitialisierung erfordert NULL() bei %C"
+
+-#: fortran/decl.c:1677
++#: fortran/decl.c:1724
+ #, no-c-format
+ msgid "Initialization of pointer at %C is not allowed in a PURE procedure"
+ msgstr "Initialisierung des Zeigers bei %C ist nicht in einer PURE-Prozedur erlaubt"
+
+-#: fortran/decl.c:1690
++#: fortran/decl.c:1737
+ #, no-c-format
+ msgid "Pointer initialization at %C requires '=>', not '='"
+ msgstr "Zeigerinitialisierung bei %C benötigt »=>«, nicht »=«"
+
+-#: fortran/decl.c:1699 fortran/decl.c:6129
++#: fortran/decl.c:1746 fortran/decl.c:6361
+ #, no-c-format
+ msgid "Expected an initialization expression at %C"
+ msgstr "Initialisierungsausdruck bei %C erwartet"
+
+-#: fortran/decl.c:1705
++#: fortran/decl.c:1752
+ #, no-c-format
+ msgid "Initialization of variable at %C is not allowed in a PURE procedure"
+ msgstr "Initialisierung einer Variablen bei %C ist in einer PURE-Prozedur nicht erlaubt"
+
+-#: fortran/decl.c:1718
++#: fortran/decl.c:1765
+ #, no-c-format
+ msgid "Initialization of allocatable component at %C is not allowed"
+ msgstr "Initialisierung einer allozierbaren Komponente bei %C ist nicht erlaubt"
+
+-#: fortran/decl.c:1772 fortran/decl.c:1781
++#: fortran/decl.c:1819 fortran/decl.c:1828
+ #, no-c-format
+ msgid "Old-style type declaration %s*%d not supported at %C"
+ msgstr "Deklaration %s*%d im alten Stil wird bei %C nicht unterstützt"
+
+-#: fortran/decl.c:1786
++#: fortran/decl.c:1833
+ #, no-c-format
+ msgid "Nonstandard type declaration %s*%d at %C"
+ msgstr "Nicht-Standard Typ-Deklaration %s*%d bei %C"
+
+-#: fortran/decl.c:1838 fortran/decl.c:1897
++#: fortran/decl.c:1884 fortran/decl.c:1948
+ #, no-c-format
+ msgid "Missing right parenthesis at %C"
+ msgstr "Fehlende rechte Klammer bei %C"
+
+-#: fortran/decl.c:1853 fortran/decl.c:1931
++#: fortran/decl.c:1897 fortran/decl.c:1993
+ #, no-c-format
+ msgid "Expected initialization expression at %C"
+ msgstr "Initialisierungsausdruck bei %C erwartet"
+
+-#: fortran/decl.c:1861 fortran/decl.c:1937
++#: fortran/decl.c:1905 fortran/decl.c:1999
+ #, no-c-format
+ msgid "Expected scalar initialization expression at %C"
+ msgstr "Skalaren Initialisierungsausdruck bei %C erwartet"
+
+-#: fortran/decl.c:1891
++#: fortran/decl.c:1936
+ #, no-c-format
+ msgid "Kind %d not supported for type %s at %C"
+ msgstr "Die Art %d wird für Typ %s bei %C nicht unterstützt"
+
+-#: fortran/decl.c:1957
++#: fortran/decl.c:1946
+ #, no-c-format
++msgid "Missing right parenthesis or comma at %C"
++msgstr "Fehlende rechte Klammer oder Komma bei %C"
++
++#: fortran/decl.c:2019
++#, no-c-format
+ msgid "Kind %d is not supported for CHARACTER at %C"
+ msgstr "Die Art %d wird für CHARACTER bei %C nicht unterstützt"
+
+-#: fortran/decl.c:2086
++#: fortran/decl.c:2148
+ #, no-c-format
+ msgid "Syntax error in CHARACTER declaration at %C"
+ msgstr "Syntaxfehler in CHARACTER-Deklaration bei %C"
+
+-#: fortran/decl.c:2156
++#: fortran/decl.c:2233
+ #, no-c-format
+ msgid "Extension: BYTE type at %C"
+ msgstr "Erweiterung: BYTE-Typ bei %C"
+
+-#: fortran/decl.c:2162
++#: fortran/decl.c:2239
+ #, no-c-format
+ msgid "BYTE type used at %C is not available on the target machine"
+ msgstr "Bei %C verwendeter BYTE-Typ ist auf der Zielmaschine nicht verfügbar"
+
+-#: fortran/decl.c:2211
++#: fortran/decl.c:2288
+ #, no-c-format
+ msgid "DOUBLE COMPLEX at %C does not conform to the Fortran 95 standard"
+ msgstr "DOUBLE COMPLEX bei %C stimmt nicht mit dem Fortran-95-Standard überein"
+
+-#: fortran/decl.c:2245 fortran/decl.c:2252 fortran/decl.c:2558
+-#: fortran/decl.c:2566
++#: fortran/decl.c:2328 fortran/decl.c:2337 fortran/decl.c:2649
++#: fortran/decl.c:2657
+ #, no-c-format
+ msgid "Type name '%s' at %C is ambiguous"
+ msgstr "Typname »%s« bei %C ist mehrdeutig"
+
+-#: fortran/decl.c:2321
++#: fortran/decl.c:2412
+ #, no-c-format
+ msgid "Missing character range in IMPLICIT at %C"
+ msgstr "Fehlender Zeichenbereich in IMPLICIT bei %C"
+
+-#: fortran/decl.c:2367
++#: fortran/decl.c:2458
+ #, no-c-format
+ msgid "Letters must be in alphabetic order in IMPLICIT statement at %C"
+ msgstr "Buchstaben in IMPLICIT-Anweisung bei %C müssen in alphabetischer Reihenfolge sein"
+
+-#: fortran/decl.c:2421
++#: fortran/decl.c:2512
+ #, no-c-format
+ msgid "Empty IMPLICIT statement at %C"
+ msgstr "Leere IMPLICIT-Anweisung bei %C"
+
+-#: fortran/decl.c:2524
++#: fortran/decl.c:2615
+ #, no-c-format
+ msgid "IMPORT statement at %C only permitted in an INTERFACE body"
+ msgstr "IMPORT-Anweisung bei %C ist nur in einem INTERFACE-Körper erlaubt"
+
+-#: fortran/decl.c:2529
++#: fortran/decl.c:2620
+ #, no-c-format
+ msgid "Fortran 2003: IMPORT statement at %C"
+ msgstr "Fortran 2003: IMPORT-Anweisung bei %C"
+
+-#: fortran/decl.c:2544
++#: fortran/decl.c:2635
+ #, no-c-format
+ msgid "Expecting list of named entities at %C"
+ msgstr "Liste benannter Einträge bei %C erwartet"
+
+-#: fortran/decl.c:2572
++#: fortran/decl.c:2663
+ #, no-c-format
+ msgid "Cannot IMPORT '%s' from host scoping unit at %C - does not exist."
+ msgstr "IMPORT »%s« aus Host-Sichtbarkeitseinheit bei %C nicht möglich - existiert nicht."
+
+-#: fortran/decl.c:2579
++#: fortran/decl.c:2670
+ #, no-c-format
+ msgid "'%s' is already IMPORTed from host scoping unit at %C."
+ msgstr "»%s« bereits aus Host-Sichtbarkeitseinheit bei %C IMPORTiert."
+
+-#: fortran/decl.c:2608
++#: fortran/decl.c:2699
+ #, no-c-format
+ msgid "Syntax error in IMPORT statement at %C"
+ msgstr "Syntaxfehler in IMPORT-Anweisung bei %C"
+
+-#: fortran/decl.c:2850
++#: fortran/decl.c:2941
+ #, no-c-format
+ msgid "Missing dimension specification at %C"
+ msgstr "Fehlende Dimensionsangabe bei %C"
+
+-#: fortran/decl.c:2924
++#: fortran/decl.c:3015
+ #, no-c-format
+ msgid "Duplicate %s attribute at %L"
+ msgstr "Doppeltes Attribut %s bei %L"
+
+-#: fortran/decl.c:2943
++#: fortran/decl.c:3034
+ #, no-c-format
+ msgid "Fortran 2003: ALLOCATABLE attribute at %C in a TYPE definition"
+ msgstr "Fortran 2003: Attribut ALLOCATABLE bei %C in einer TYPE-Definition"
+
+-#: fortran/decl.c:2953
++#: fortran/decl.c:3044
+ #, no-c-format
+ msgid "Attribute at %L is not allowed in a TYPE definition"
+ msgstr "Attribut bei %L ist in TYPE-Definition nicht erlaubt"
+
+-#: fortran/decl.c:2971
++#: fortran/decl.c:3062
+ #, no-c-format
+ msgid "Fortran 2003: Attribute %s at %L in a TYPE definition"
+ msgstr "Fortran 2003: Attribut %s bei %L in einer TYPE-Definition"
+
+-#: fortran/decl.c:2982
++#: fortran/decl.c:3073
+ #, no-c-format
+ msgid "%s attribute at %L is not allowed outside of the specification part of a module"
+ msgstr "Attribut %s bei %L ist außerhalb des Spezifikationsabschnitts eines Moduls nicht erlaubt"
+
+-#: fortran/decl.c:3034 fortran/decl.c:5437
++#: fortran/decl.c:3125 fortran/decl.c:5635
+ #, no-c-format
+ msgid "PROTECTED at %C only allowed in specification part of a module"
+ msgstr "PROTECTED bei %C nur in Spezifikationsabschnitts eines Moduls erlaubt"
+
+-#: fortran/decl.c:3040
++#: fortran/decl.c:3131
+ #, no-c-format
+ msgid "Fortran 2003: PROTECTED attribute at %C"
+ msgstr "Fortran 2003: PROTECTED-Attribut bei %C"
+
+-#: fortran/decl.c:3071
++#: fortran/decl.c:3162
+ #, no-c-format
+ msgid "Fortran 2003: VALUE attribute at %C"
+ msgstr "Fortran 2003: VALUE-Attribut bei %C"
+
+-#: fortran/decl.c:3081
++#: fortran/decl.c:3172
+ #, no-c-format
+ msgid "Fortran 2003: VOLATILE attribute at %C"
+ msgstr "Fortran 2003: VOLATILE-Attribut bei %C"
+
+-#: fortran/decl.c:3121
++#: fortran/decl.c:3212
+ #, no-c-format
+ msgid "Multiple identifiers provided with single NAME= specifier at %C"
+ msgstr "Mehrere Bezeichner mit einzelner Spezifikation NAME= bei %C angegeben"
+
+ #. Print an error, but continue parsing line.
+-#: fortran/decl.c:3171
++#: fortran/decl.c:3261
+ #, no-c-format
+ msgid "C kind parameter is for type %s but symbol '%s' at %L is of type %s"
+ msgstr "Parameter nach C-Art ist für Typ %s, aber Symbol »%s« bei %L ist vom Typ %s"
+
+-#: fortran/decl.c:3235
++#: fortran/decl.c:3325
+ #, no-c-format
+ msgid "Implicitly declared BIND(C) function '%s' at %L may not be C interoperable"
+ msgstr "Spezifikationsfunktion »%s« bei %L kann keine interne Funktion sein"
+
+-#: fortran/decl.c:3257
++#: fortran/decl.c:3347
+ #, no-c-format
+ msgid "Variable '%s' in common block '%s' at %L may not be a C interoperable kind though common block '%s' is BIND(C)"
+ msgstr "Variable »%s« in gemeinsamem Block »%s« bei %L könnte inkompatibel mit C sein, obwohl gemeinsamer Block »%s« BIND(C) ist"
+
+-#: fortran/decl.c:3266
++#: fortran/decl.c:3356
+ #, no-c-format
+ msgid "Type declaration '%s' at %L is not C interoperable but it is BIND(C)"
+ msgstr "Typdeklaration »%s« bei %L ist nicht C-kompatibel, aber sie ist BIND(C)"
+
+-#: fortran/decl.c:3270
++#: fortran/decl.c:3360
+ #, no-c-format
+ msgid "Variable '%s' at %L may not be a C interoperable kind but it is bind(c)"
+ msgstr "Variable »%s« bei %L könnte mit C inkompatibel sein, aber sie ist BIND(C)"
+
+-#: fortran/decl.c:3282
++#: fortran/decl.c:3372
+ #, no-c-format
+ msgid "Variable '%s' in common block '%s' at %L cannot be declared with BIND(C) since it is not a global"
+ msgstr "Variable »%s« in gemeinsamem Block »%s« bei %L kann nicht mit BIND(C) deklariert werden da sie nicht global ist"
+
+-#: fortran/decl.c:3296
++#: fortran/decl.c:3386
+ #, no-c-format
+ msgid "Variable '%s' at %L cannot have both the POINTER and BIND(C) attributes"
+ msgstr "Variable »%s« bei %L kann nicht gleichzeitig die Attribute POINTER und BIND(C) haben"
+
+-#: fortran/decl.c:3304
++#: fortran/decl.c:3394
+ #, no-c-format
+ msgid "Variable '%s' at %L cannot have both the ALLOCATABLE and BIND(C) attributes"
+ msgstr "Variable »%s« bei %L kann nicht gleichzeitig die Attribute ALLOCATABLE und BIND(C) haben"
+
+-#: fortran/decl.c:3314
++#: fortran/decl.c:3404
+ #, no-c-format
+ msgid "Return type of BIND(C) function '%s' at %L cannot be an array"
+ msgstr "Rückgabetyp der BIND(C)-Funktion »%s« bei %L kann kein Feld sein"
+
+-#: fortran/decl.c:3322
++#: fortran/decl.c:3412
+ #, no-c-format
+ msgid "Return type of BIND(C) function '%s' at %L cannot be a character string"
+ msgstr "Rückgabetyp der BIND(C)-Funktion »%s« bei %L kann keine Zeichenkette sein"
+
+ #. Use gfc_warning_now because we won't say that the symbol fails
+ #. just because of this.
+-#: fortran/decl.c:3334
++#: fortran/decl.c:3424
+ #, no-c-format
+ msgid "Symbol '%s' at %L is marked PRIVATE but has been given the binding label '%s'"
+ msgstr "Symbol »%s« bei %L ist als PRIVATE markiert, aber wurde mit Bindung »%s« markiert"
+
+-#: fortran/decl.c:3409
++#: fortran/decl.c:3499
+ #, no-c-format
+ msgid "Need either entity or common block name for attribute specification statement at %C"
+ msgstr "Entweder Eintrag oder gemeinsamer Blockname für Attribut-Spezifikationsanweisung bei %C erforderlich"
+
+-#: fortran/decl.c:3456
++#: fortran/decl.c:3546
+ #, no-c-format
+ msgid "Missing entity or common block name for attribute specification statement at %C"
+ msgstr "Eintrag oder gemeinsamer Blockname für Attribut-Spezifikationsanweisung bei %C fehlt"
+
+ #. Now we have an error, which we signal, and then fix up
+ #. because the knock-on is plain and simple confusing.
+-#: fortran/decl.c:3563
++#: fortran/decl.c:3653
+ #, no-c-format
+ msgid "Derived type at %C has not been previously defined and so cannot appear in a derived type definition"
+ msgstr "Abgeleiteter Typ bei %C wurde vorher nicht definiert und kann daher nicht in einer abgeleiteten Typdefinition auftreten"
+
+-#: fortran/decl.c:3595
++#: fortran/decl.c:3685
+ #, no-c-format
+ msgid "Syntax error in data declaration at %C"
+ msgstr "Syntaxfehler in Daten-Deklaration bei %C"
+
+-#: fortran/decl.c:3742
++#: fortran/decl.c:3832
+ #, no-c-format
+ msgid "Name '%s' at %C is the name of the procedure"
+ msgstr "Name »%s« bei %C ist der Name der Prozedur"
+
+-#: fortran/decl.c:3754
++#: fortran/decl.c:3844
+ #, no-c-format
+ msgid "Unexpected junk in formal argument list at %C"
+ msgstr "Unerwartete Angaben in formaler Argumentliste bei %C"
+
+-#: fortran/decl.c:3771
++#: fortran/decl.c:3861
+ #, no-c-format
+ msgid "Duplicate symbol '%s' in formal argument list at %C"
+ msgstr "Doppeltes Symbol »%s« in formaler Argumentliste bei %C"
+
+-#: fortran/decl.c:3822
++#: fortran/decl.c:3912
+ #, no-c-format
+ msgid "RESULT variable at %C must be different than function name"
+ msgstr "RESULT-Variable bei %C muss vom Funktionsnamen verschieden sein"
+
+-#: fortran/decl.c:3892
++#: fortran/decl.c:3990
+ #, no-c-format
+ msgid "Unexpected junk after function declaration at %C"
+ msgstr "Unerwartete Angaben hinter Funktionsdeklaration bei %C"
+
+-#: fortran/decl.c:3951
++#: fortran/decl.c:4000 fortran/decl.c:4734
+ #, no-c-format
++msgid "Extension: BIND(C) attribute at %L may not be specified for an internal procedure"
++msgstr "Erweiterung: BIND(C)-Attribut bei %L kann nicht für eine interne Prozedur angegeben werden"
++
++#: fortran/decl.c:4066
++#, no-c-format
+ msgid "Interface '%s' at %C may not be generic"
+ msgstr "Schnittstelle »%s« bei %C kann nicht allgemein sein"
+
+-#: fortran/decl.c:3956
++#: fortran/decl.c:4071
+ #, no-c-format
+ msgid "Interface '%s' at %C may not be a statement function"
+ msgstr "Schnittstelle »%s« bei %C kann keine Anweisungsfunktion sein"
+
+-#: fortran/decl.c:3967
++#: fortran/decl.c:4082
+ #, no-c-format
+ msgid "Intrinsic procedure '%s' not allowed in PROCEDURE statement at %C"
+ msgstr "Intrinsische Prozedur »%s« ist in PROCEDURE-Anweisung bei %C nicht erlaubt"
+
+-#: fortran/decl.c:3975
++#: fortran/decl.c:4118
+ #, no-c-format
+-msgid "Fortran 2003: Support for intrinsic procedure '%s' in PROCEDURE statement at %C not yet implemented in gfortran"
+-msgstr "Fortran 2003: Unterstützung für intrinsische Prozedur »%s« in PROCEDURE-Anweisung bei %C in gfortran noch nicht implementiert"
+-
+-#: fortran/decl.c:4014
+-#, no-c-format
+ msgid "BIND(C) attribute at %C requires an interface with BIND(C)"
+ msgstr "BIND(C)-Attribut bei %C erfordert eine Schnittstelle mit BIND(C)"
+
+-#: fortran/decl.c:4021
++#: fortran/decl.c:4125
+ #, no-c-format
+ msgid "BIND(C) procedure with NAME may not have POINTER attribute at %C"
+ msgstr "BIND(C)-Prozedur mit NAME darf kein POINTER-Attribut bei %C haben"
+
+-#: fortran/decl.c:4027
++#: fortran/decl.c:4131
+ #, no-c-format
+ msgid "Dummy procedure at %C may not have BIND(C) attribute with NAME"
+ msgstr "Scheinprozedur bei %C kann kein BIND(C)-Attribut mit NAME haben"
+
+-#: fortran/decl.c:4060 fortran/decl.c:4103
++#: fortran/decl.c:4167 fortran/decl.c:4210
+ #, no-c-format
+ msgid "Syntax error in PROCEDURE statement at %C"
+ msgstr "Syntaxfehler in PROCEDURE-Anweisung bei %C"
+
+-#: fortran/decl.c:4077
++#: fortran/decl.c:4184
+ #, no-c-format
+ msgid "PROCEDURE at %C must be in a generic interface"
+ msgstr "PROCEDURE bei %C muss in einer allgemeinen Schnittstelle sein"
+
+-#: fortran/decl.c:4128
++#: fortran/decl.c:4235
+ #, no-c-format
+ msgid "Fortran 2003: Procedure components at %C are not yet implemented in gfortran"
+ msgstr "Fortran 2003: Prozedurkomponenten bei %C sind in gfortran noch nicht implementiert"
+
+-#: fortran/decl.c:4138
++#: fortran/decl.c:4245
+ #, no-c-format
+ msgid "Fortran 2003: PROCEDURE statement at %C"
+ msgstr "Fortran 2003: PROCEDURE-Anweisung bei %C"
+
+-#: fortran/decl.c:4186
++#: fortran/decl.c:4293
+ #, no-c-format
+ msgid "Expected formal argument list in function definition at %C"
+ msgstr "Formale Argumentliste in Funktionsdefinition bei %C erwartet"
+
+-#: fortran/decl.c:4210 fortran/decl.c:4214 fortran/decl.c:4536
+-#: fortran/decl.c:4540 fortran/symbol.c:1402
++#: fortran/decl.c:4317 fortran/decl.c:4321 fortran/decl.c:4520
++#: fortran/decl.c:4524 fortran/decl.c:4702 fortran/decl.c:4706
++#: fortran/symbol.c:1402
+ #, no-c-format
+ msgid "BIND(C) attribute at %L can only be used for variables or common blocks"
+ msgstr "BIND(C)-Attribut bei %L kann nur für Variablen oder gemeinsame Blöcke verwendet werden"
+
+-#: fortran/decl.c:4246
++#: fortran/decl.c:4353
+ #, no-c-format
+ msgid "Function '%s' at %C already has a type of %s"
+ msgstr "Funktion »%s« bei %C hat bereits den Typ %s"
+
+-#: fortran/decl.c:4322
++#: fortran/decl.c:4441
+ #, no-c-format
+ msgid "ENTRY statement at %C cannot appear within a PROGRAM"
+ msgstr "ENTRY-Anweisung bei %C kann nicht innerhalb eines PROGRAMmes auftreten"
+
+-#: fortran/decl.c:4325
++#: fortran/decl.c:4444
+ #, no-c-format
+ msgid "ENTRY statement at %C cannot appear within a MODULE"
+ msgstr "ENTRY-Anweisung bei %C kann nicht innerhalb eines MODULEs auftreten"
+
+-#: fortran/decl.c:4328
++#: fortran/decl.c:4447
+ #, no-c-format
+ msgid "ENTRY statement at %C cannot appear within a BLOCK DATA"
+ msgstr "ENTRY-Anweisung bei %C kann nicht innerhalb von BLOCK DATA auftreten"
+
+-#: fortran/decl.c:4332
++#: fortran/decl.c:4451
+ #, no-c-format
+ msgid "ENTRY statement at %C cannot appear within an INTERFACE"
+ msgstr "ENTRY-Anweisung bei %C kann nicht innerhalb von INTERFACE auftreten"
+
+-#: fortran/decl.c:4336
++#: fortran/decl.c:4455
+ #, no-c-format
+ msgid "ENTRY statement at %C cannot appear within a DERIVED TYPE block"
+ msgstr "ENTRY-Anweisung bei %C kann nicht innerhalb eines DERIVED TYPE Blockes auftreten"
+
+-#: fortran/decl.c:4340
++#: fortran/decl.c:4459
+ #, no-c-format
+ msgid "ENTRY statement at %C cannot appear within an IF-THEN block"
+ msgstr "ENTRY-Anweisung bei %C kann nicht innerhalb eines IF-THEN-Blockes auftreten"
+
+-#: fortran/decl.c:4344
++#: fortran/decl.c:4463
+ #, no-c-format
+ msgid "ENTRY statement at %C cannot appear within a DO block"
+ msgstr "ENTRY-Anweisung bei %C kann nicht innerhalb eines DO-Blockes auftreten"
+
+-#: fortran/decl.c:4348
++#: fortran/decl.c:4467
+ #, no-c-format
+ msgid "ENTRY statement at %C cannot appear within a SELECT block"
+ msgstr "ENTRY-Anweisung bei %C kann nicht innerhalb eines SELECT-Blockes auftreten"
+
+-#: fortran/decl.c:4352
++#: fortran/decl.c:4471
+ #, no-c-format
+ msgid "ENTRY statement at %C cannot appear within a FORALL block"
+ msgstr "ENTRY-Anweisung bei %C kann nicht innerhalb eines FORALL-Blockes auftreten"
+
+-#: fortran/decl.c:4356
++#: fortran/decl.c:4475
+ #, no-c-format
+ msgid "ENTRY statement at %C cannot appear within a WHERE block"
+ msgstr "ENTRY-Anweisung bei %C kann nicht innerhalb eines WHERE-Blockes auftreten"
+
+-#: fortran/decl.c:4360
++#: fortran/decl.c:4479
+ #, no-c-format
+ msgid "ENTRY statement at %C cannot appear within a contained subprogram"
+ msgstr "ENTRY-Anweisung bei %C kann nicht innerhalb eines enthaltenen Subprogrammes auftreten"
+
+-#: fortran/decl.c:4378
++#: fortran/decl.c:4497
+ #, no-c-format
+ msgid "ENTRY statement at %C cannot appear in a contained procedure"
+ msgstr "ENTRY-Anweisung bei %C kann nicht in einer enthaltenen Prozedur auftreten"
+
+-#: fortran/decl.c:4560
++#: fortran/decl.c:4552 fortran/decl.c:4742
+ #, no-c-format
+ msgid "Missing required parentheses before BIND(C) at %C"
+ msgstr "Erforderte Klammern vor BIND(C) bei %C fehlen"
+
+-#: fortran/decl.c:4618 fortran/decl.c:4634
++#: fortran/decl.c:4801 fortran/decl.c:4817
+ #, no-c-format
+ msgid "Syntax error in NAME= specifier for binding label at %C"
+ msgstr "Syntaxfehler in NAME=-Spezifikation für Bindungsmarke bei %C"
+
+-#: fortran/decl.c:4649
++#: fortran/decl.c:4832
+ #, no-c-format
+ msgid "Missing closing quote '\"' for binding label at %C"
+ msgstr "Schließendes Anführungszeichen »\"« für Bindungsmarke bei %C fehlt"
+
+-#: fortran/decl.c:4658
++#: fortran/decl.c:4841
+ #, no-c-format
+ msgid "Missing closing quote ''' for binding label at %C"
+ msgstr "Schließendes Anführungszeichen »'« für Bindungsmarke bei %C fehlt"
+
+-#: fortran/decl.c:4668
++#: fortran/decl.c:4851
+ #, no-c-format
+ msgid "Missing closing paren for binding label at %C"
+ msgstr "Schließende Klammer für Bindungsmarke bei %C fehlt"
+
+-#: fortran/decl.c:4703
++#: fortran/decl.c:4857
+ #, no-c-format
++msgid "No binding name is allowed in BIND(C) at %C"
++msgstr "In BIND(C) bei %C ist kein bindender Name erlaubt"
++
++#: fortran/decl.c:4863
++#, no-c-format
++msgid "For dummy procedure %s, no binding name is allowed in BIND(C) at %C"
++msgstr "For Schein-Prozedur %s in BIND(C) bei %C ist kein bindender Name erlaubt"
++
++#: fortran/decl.c:4894
++#, no-c-format
+ msgid "NAME not allowed on BIND(C) for ABSTRACT INTERFACE at %C"
+ msgstr "NAME nicht erlaubt bei BIND(C) für ABSTRACT INTERFACE bei %C"
+
+-#: fortran/decl.c:4876
++#: fortran/decl.c:5066
+ #, no-c-format
+ msgid "Unexpected END statement at %C"
+ msgstr "Unerwartete END-Anweisung bei %C"
+
+ #. We would have required END [something].
+-#: fortran/decl.c:4885
++#: fortran/decl.c:5075
+ #, no-c-format
+ msgid "%s statement expected at %L"
+ msgstr "%s-Anweisung bei %L erwartet"
+
+-#: fortran/decl.c:4896
++#: fortran/decl.c:5086
+ #, no-c-format
+ msgid "Expecting %s statement at %C"
+ msgstr "%s-Anweisung bei %C erwartet"
+
+-#: fortran/decl.c:4911
++#: fortran/decl.c:5101
+ #, no-c-format
+ msgid "Expected block name of '%s' in %s statement at %C"
+ msgstr "Blocknamen von »%s« in %s-Anweisung bei %C erwartet"
+
+-#: fortran/decl.c:4928
++#: fortran/decl.c:5118
+ #, no-c-format
+ msgid "Expected terminating name at %C"
+ msgstr "Beendenden Namen bei %C erwartet"
+
+-#: fortran/decl.c:4937
++#: fortran/decl.c:5127
+ #, no-c-format
+ msgid "Expected label '%s' for %s statement at %C"
+ msgstr "Marke »%s« für %s-Anweisung bei %C erwartet"
+
+-#: fortran/decl.c:4991
++#: fortran/decl.c:5181
+ #, no-c-format
+ msgid "Missing array specification at %L in DIMENSION statement"
+ msgstr "Fehlende Feldspezifikation bei %L in DIMENSION-Anweisung"
+
+-#: fortran/decl.c:5000
++#: fortran/decl.c:5189
+ #, no-c-format
++msgid "Dimensions specified for %s at %L after its initialisation"
++msgstr "Für %s bei %L wurden Dimensionen nach dessen Initialisierung angegeben"
++
++#: fortran/decl.c:5198
++#, no-c-format
+ msgid "Array specification must be deferred at %L"
+ msgstr "Feldspezifikation muss bei %L aufgeschoben werden"
+
+-#: fortran/decl.c:5077
++#: fortran/decl.c:5275
+ #, no-c-format
+ msgid "Unexpected character in variable list at %C"
+ msgstr "Unerwartetes Zeichen in Variablenliste bei %C"
+
+-#: fortran/decl.c:5114
++#: fortran/decl.c:5312
+ #, no-c-format
+ msgid "Expected '(' at %C"
+ msgstr "»(« bei %C erwartet"
+
+-#: fortran/decl.c:5128 fortran/decl.c:5168
++#: fortran/decl.c:5326 fortran/decl.c:5366
+ #, no-c-format
+ msgid "Expected variable name at %C"
+ msgstr "Variablennamen bei %C erwartet"
+
+-#: fortran/decl.c:5144
++#: fortran/decl.c:5342
+ #, no-c-format
+ msgid "Cray pointer at %C must be an integer"
+ msgstr "Cray-Zeiger bei %C muss eine Ganzzahl sein"
+
+-#: fortran/decl.c:5148
++#: fortran/decl.c:5346
+ #, no-c-format
+ msgid "Cray pointer at %C has %d bytes of precision; memory addresses require %d bytes"
+ msgstr "Cray-Zeiger bei %C hat %d Bytes Genauigkeit; Speicheradressen benötigen %d Bytes"
+
+-#: fortran/decl.c:5154
++#: fortran/decl.c:5352
+ #, no-c-format
+ msgid "Expected \",\" at %C"
+ msgstr "»,« bei %C erwartet"
+
+-#: fortran/decl.c:5217
++#: fortran/decl.c:5415
+ #, no-c-format
+ msgid "Expected \")\" at %C"
+ msgstr "»)« bei %C erwartet"
+
+-#: fortran/decl.c:5229
++#: fortran/decl.c:5427
+ #, no-c-format
+ msgid "Expected \",\" or end of statement at %C"
+ msgstr "»,« oder Ende der Anweisung bei %C erwartet"
+
+-#: fortran/decl.c:5293
++#: fortran/decl.c:5491
+ #, no-c-format
+ msgid "Cray pointer declaration at %C requires -fcray-pointer flag"
+ msgstr "Cray-Zeiger-Deklaration bei %C benötigt den Schalter -fcray-pointer"
+
+-#: fortran/decl.c:5388
++#: fortran/decl.c:5586
+ #, no-c-format
+ msgid "Access specification of the %s operator at %C has already been specified"
+ msgstr "Zugriffsspezifikation des Operators %s bei %C wurde bereits spezifiziert"
+
+-#: fortran/decl.c:5405
++#: fortran/decl.c:5603
+ #, no-c-format
+ msgid "Access specification of the .%s. operator at %C has already been specified"
+ msgstr "Zugriffsspezifikation des Operators .%s. bei %C wurde bereits spezifiziert"
+
+-#: fortran/decl.c:5443
++#: fortran/decl.c:5641
+ #, no-c-format
+ msgid "Fortran 2003: PROTECTED statement at %C"
+ msgstr "Fortran 2003: PROTECTED-Anweisung bei %C"
+
+-#: fortran/decl.c:5483
++#: fortran/decl.c:5681
+ #, no-c-format
+ msgid "Syntax error in PROTECTED statement at %C"
+ msgstr "Syntaxfehler in PROTECTED-Anweisung bei %C"
+
+-#: fortran/decl.c:5504
++#: fortran/decl.c:5702
+ #, no-c-format
+ msgid "PRIVATE statement at %C is only allowed in the specification part of a module"
+ msgstr "PRIVATE-Anweisung bei %C ist nur in Spezifikationsteil eines Moduls erlaubt"
+
+-#: fortran/decl.c:5541
++#: fortran/decl.c:5739
+ #, no-c-format
+ msgid "PUBLIC statement at %C is only allowed in the specification part of a module"
+ msgstr "PUBLIC-Anweisung bei %C ist nur in Spezifikationsteil eines Moduls erlaubt"
+
+-#: fortran/decl.c:5568
++#: fortran/decl.c:5766
+ #, no-c-format
+ msgid "Expected variable name at %C in PARAMETER statement"
+ msgstr "Variablennamen bei %C in PARAMETER-Anweisung erwartet"
+
+-#: fortran/decl.c:5575
++#: fortran/decl.c:5773
+ #, no-c-format
+ msgid "Expected = sign in PARAMETER statement at %C"
+ msgstr "Zeichen »=« in PARAMETER-Anweisung bei %C erwartet"
+
+-#: fortran/decl.c:5581
++#: fortran/decl.c:5779
+ #, no-c-format
+ msgid "Expected expression at %C in PARAMETER statement"
+ msgstr "Ausdruck bei %C in PARAMETER-Anweisung erwartet"
+
+-#: fortran/decl.c:5639
++#: fortran/decl.c:5799
+ #, no-c-format
++msgid "Initializing already initialized variable at %C"
++msgstr "Initialisierung einer bereits initialisierten Variablen bei %C"
++
++#: fortran/decl.c:5844
++#, no-c-format
+ msgid "Unexpected characters in PARAMETER statement at %C"
+ msgstr "Unerwartete Zeichen in PARAMETER-Anweisung bei %C"
+
+-#: fortran/decl.c:5663
++#: fortran/decl.c:5868
+ #, no-c-format
+ msgid "Blanket SAVE statement at %C follows previous SAVE statement"
+ msgstr "Umfassende SAVE-Anweisung bei %C folgt vorheriger SAVE-Anweisung"
+
+-#: fortran/decl.c:5675
++#: fortran/decl.c:5880
+ #, no-c-format
+ msgid "SAVE statement at %C follows blanket SAVE statement"
+ msgstr "SAVE-Anweisung bei %C folgt umfassender SAVE-Anweisung"
+
+-#: fortran/decl.c:5722
++#: fortran/decl.c:5927
+ #, no-c-format
+ msgid "Syntax error in SAVE statement at %C"
+ msgstr "Syntaxfehler in SAVE-Anweisung bei %C"
+
+-#: fortran/decl.c:5733
++#: fortran/decl.c:5938
+ #, no-c-format
+ msgid "Fortran 2003: VALUE statement at %C"
+ msgstr "Fortran 2003: VALUE-Anweisung bei %C"
+
+-#: fortran/decl.c:5773
++#: fortran/decl.c:5978
+ #, no-c-format
+ msgid "Syntax error in VALUE statement at %C"
+ msgstr "Syntaxfehler in VALUE-Anweisung bei %C"
+
+-#: fortran/decl.c:5784
++#: fortran/decl.c:5989
+ #, no-c-format
+ msgid "Fortran 2003: VOLATILE statement at %C"
+ msgstr "Fortran 2003: VOLATILE-Anweisung bei %C"
+
+-#: fortran/decl.c:5826
++#: fortran/decl.c:6031
+ #, no-c-format
+ msgid "Syntax error in VOLATILE statement at %C"
+ msgstr "Syntaxfehler in VOLATILE-Anweisung bei %C"
+
+-#: fortran/decl.c:5848
++#: fortran/decl.c:6054
+ #, no-c-format
+ msgid "MODULE PROCEDURE at %C must be in a generic module interface"
+ msgstr "MODULE PROCEDURE bei %C muss in einer generischen Modulschnittstelle sein"
+
+-#: fortran/decl.c:5910
++#: fortran/decl.c:6142
+ #, no-c-format
+ msgid "Derived type at %C can only be PRIVATE in the specification part of a module"
+ msgstr "Abgeleiteter Typ bei %C kann nur PRIVATE im Spezifikationsteil eines Moduls sein"
+
+-#: fortran/decl.c:5922
++#: fortran/decl.c:6154
+ #, no-c-format
+ msgid "Derived type at %C can only be PUBLIC in the specification part of a module"
+ msgstr "Abgeleiteter Typ bei %C kann nur PUBLIC im Spezifikationsteil eines Moduls sein"
+
+-#: fortran/decl.c:5979
++#: fortran/decl.c:6211
+ #, no-c-format
+ msgid "Expected :: in TYPE definition at %C"
+ msgstr "»::« in TYPE-Definition bei %C erwartet"
+
+-#: fortran/decl.c:5990
++#: fortran/decl.c:6222
+ #, no-c-format
+ msgid "Type name '%s' at %C cannot be the same as an intrinsic type"
+ msgstr "Typname »%s« bei %C kann nicht der gleiche wie ein intrinsischer Typ sein"
+
+-#: fortran/decl.c:6000
++#: fortran/decl.c:6232
+ #, no-c-format
+ msgid "Derived type name '%s' at %C already has a basic type of %s"
+ msgstr "Abgeleiteter Typname bei »%s« bei %C hat bereits einen Basistypen von %s"
+
+-#: fortran/decl.c:6016
++#: fortran/decl.c:6248
+ #, no-c-format
+ msgid "Derived type definition of '%s' at %C has already been defined"
+ msgstr "Abgeleitete Typdefinition von »%s« bei %C wurde bereits definiert"
+
+-#: fortran/decl.c:6054
++#: fortran/decl.c:6286
+ #, no-c-format
+ msgid "Cray Pointee at %C cannot be assumed shape array"
+ msgstr "Cray-Zeigerende bei %C kann nicht Feld mit impliziter Form sein"
+
+-#: fortran/decl.c:6074
++#: fortran/decl.c:6306
+ #, no-c-format
+ msgid "Fortran 2003: ENUM and ENUMERATOR at %C"
+ msgstr "Fortran 2003: ENUM AND ENUMERATOR bei %C"
+
+-#: fortran/decl.c:6146
++#: fortran/decl.c:6378
+ #, no-c-format
+ msgid "ENUMERATOR %L not initialized with integer expression"
+ msgstr "ENUMERATOR %L nicht mit Ganzzahlausdruck initialisiert"
+
+-#: fortran/decl.c:6195
++#: fortran/decl.c:6427
+ #, no-c-format
+ msgid "ENUM definition statement expected before %C"
+ msgstr "Anweisung zur ENUM-Definition vor %C erwartet"
+
+-#: fortran/decl.c:6228
++#: fortran/decl.c:6460
+ #, no-c-format
+ msgid "Syntax error in ENUMERATOR definition at %C"
+ msgstr "Syntaxfehler in ENUMERATOR-Definition bei %C"
+@@ -5163,21 +5121,21 @@
+ msgid " "
+ msgstr " "
+
+-#: fortran/dump-parse-tree.c:73 fortran/dump-parse-tree.c:626
++#: fortran/dump-parse-tree.c:73 fortran/dump-parse-tree.c:637
+ #, c-format
+ msgid "(%s "
+ msgstr "(%s "
+
+-#: fortran/dump-parse-tree.c:86 fortran/dump-parse-tree.c:1069
+-#: fortran/dump-parse-tree.c:1113 fortran/dump-parse-tree.c:1123
++#: fortran/dump-parse-tree.c:86 fortran/dump-parse-tree.c:1091
++#: fortran/dump-parse-tree.c:1135 fortran/dump-parse-tree.c:1145
+ #, c-format
+ msgid "%d"
+ msgstr "%d"
+
+ #: fortran/dump-parse-tree.c:90 fortran/dump-parse-tree.c:116
+ #: fortran/dump-parse-tree.c:159 fortran/dump-parse-tree.c:395
+-#: fortran/dump-parse-tree.c:518 fortran/dump-parse-tree.c:613
+-#: fortran/dump-parse-tree.c:636
++#: fortran/dump-parse-tree.c:518 fortran/dump-parse-tree.c:624
++#: fortran/dump-parse-tree.c:647
+ #, c-format
+ msgid ")"
+ msgstr ")"
+@@ -5315,7 +5273,7 @@
+ msgid "%.2x"
+ msgstr "%.2x"
+
+-#: fortran/dump-parse-tree.c:429 fortran/dump-parse-tree.c:732
++#: fortran/dump-parse-tree.c:429 fortran/dump-parse-tree.c:754
+ #, c-format
+ msgid "%s:"
+ msgstr "%s:"
+@@ -5430,748 +5388,753 @@
+ msgid "%s[["
+ msgstr "%s[["
+
+-#: fortran/dump-parse-tree.c:551
++#: fortran/dump-parse-tree.c:560
+ #, c-format
+ msgid "(%s %s %s %s %s"
+ msgstr "(%s %s %s %s %s"
+
+-#: fortran/dump-parse-tree.c:558
++#: fortran/dump-parse-tree.c:567
+ #, c-format
+ msgid " ALLOCATABLE"
+ msgstr " BESTIMMBAR"
+
+-#: fortran/dump-parse-tree.c:560 fortran/dump-parse-tree.c:631
++#: fortran/dump-parse-tree.c:569 fortran/dump-parse-tree.c:642
+ #, c-format
+ msgid " DIMENSION"
+ msgstr " DIMENSION"
+
+-#: fortran/dump-parse-tree.c:562
++#: fortran/dump-parse-tree.c:571
+ #, c-format
+ msgid " EXTERNAL"
+ msgstr " EXTERN"
+
+-#: fortran/dump-parse-tree.c:564
++#: fortran/dump-parse-tree.c:573
+ #, c-format
+ msgid " INTRINSIC"
+ msgstr " INTRINSISCH"
+
+-#: fortran/dump-parse-tree.c:566
++#: fortran/dump-parse-tree.c:575
+ #, c-format
+ msgid " OPTIONAL"
+ msgstr " OPTIONAL"
+
+-#: fortran/dump-parse-tree.c:568 fortran/dump-parse-tree.c:629
++#: fortran/dump-parse-tree.c:577 fortran/dump-parse-tree.c:640
+ #, c-format
+ msgid " POINTER"
+ msgstr " ZEIGER"
+
+-#: fortran/dump-parse-tree.c:570
++#: fortran/dump-parse-tree.c:579
+ #, c-format
+ msgid " PROTECTED"
+ msgstr " GESCHÃœTZT"
+
+-#: fortran/dump-parse-tree.c:572
++#: fortran/dump-parse-tree.c:581
+ #, c-format
+ msgid " VALUE"
+ msgstr " WERT"
+
+-#: fortran/dump-parse-tree.c:574
++#: fortran/dump-parse-tree.c:583
+ #, c-format
+ msgid " VOLATILE"
+ msgstr " FLÃœCHTIG"
+
+-#: fortran/dump-parse-tree.c:576
++#: fortran/dump-parse-tree.c:585
+ #, c-format
+ msgid " THREADPRIVATE"
+ msgstr " THREADPRIVAT"
+
+-#: fortran/dump-parse-tree.c:578
++#: fortran/dump-parse-tree.c:587
+ #, c-format
+ msgid " TARGET"
+ msgstr " ZIEL"
+
+-#: fortran/dump-parse-tree.c:580
++#: fortran/dump-parse-tree.c:589
+ #, c-format
+ msgid " DUMMY"
+ msgstr " DUMMY"
+
+-#: fortran/dump-parse-tree.c:582
++#: fortran/dump-parse-tree.c:591
+ #, c-format
+ msgid " RESULT"
+ msgstr " ERGEBNIS"
+
+-#: fortran/dump-parse-tree.c:584
++#: fortran/dump-parse-tree.c:593
+ #, c-format
+ msgid " ENTRY"
+ msgstr " EINTRAG"
+
+-#: fortran/dump-parse-tree.c:587
++#: fortran/dump-parse-tree.c:595
+ #, c-format
++msgid " BIND(C)"
++msgstr " BIND(C)"
++
++#: fortran/dump-parse-tree.c:598
++#, c-format
+ msgid " DATA"
+ msgstr " DATEN"
+
+-#: fortran/dump-parse-tree.c:589
++#: fortran/dump-parse-tree.c:600
+ #, c-format
+ msgid " USE-ASSOC"
+ msgstr " USE-ASSOC"
+
+-#: fortran/dump-parse-tree.c:591
++#: fortran/dump-parse-tree.c:602
+ #, c-format
+ msgid " IN-NAMELIST"
+ msgstr " IN-NAMENSLISTE"
+
+-#: fortran/dump-parse-tree.c:593
++#: fortran/dump-parse-tree.c:604
+ #, c-format
+ msgid " IN-COMMON"
+ msgstr " IN-COMMON"
+
+-#: fortran/dump-parse-tree.c:596
++#: fortran/dump-parse-tree.c:607
+ #, c-format
+ msgid " ABSTRACT INTERFACE"
+ msgstr " ABSTRAKTE SCHNITTSTELLE"
+
+-#: fortran/dump-parse-tree.c:598
++#: fortran/dump-parse-tree.c:609
+ #, c-format
+ msgid " FUNCTION"
+ msgstr " FUNKTION"
+
+-#: fortran/dump-parse-tree.c:600
++#: fortran/dump-parse-tree.c:611
+ #, c-format
+ msgid " SUBROUTINE"
+ msgstr " SUBROUTINE"
+
+-#: fortran/dump-parse-tree.c:602
++#: fortran/dump-parse-tree.c:613
+ #, c-format
+ msgid " IMPLICIT-TYPE"
+ msgstr " IMPLIZIT-TYP"
+
+-#: fortran/dump-parse-tree.c:605
++#: fortran/dump-parse-tree.c:616
+ #, c-format
+ msgid " SEQUENCE"
+ msgstr " SEQUENZ"
+
+-#: fortran/dump-parse-tree.c:607
++#: fortran/dump-parse-tree.c:618
+ #, c-format
+ msgid " ELEMENTAL"
+ msgstr " ELEMENTAR"
+
+-#: fortran/dump-parse-tree.c:609
++#: fortran/dump-parse-tree.c:620
+ #, c-format
+ msgid " PURE"
+ msgstr " REIN"
+
+-#: fortran/dump-parse-tree.c:611
++#: fortran/dump-parse-tree.c:622
+ #, c-format
+ msgid " RECURSIVE"
+ msgstr " REKURSIV"
+
+-#: fortran/dump-parse-tree.c:635 fortran/dump-parse-tree.c:682
+-#: fortran/dump-parse-tree.c:706 fortran/dump-parse-tree.c:735
+-#: fortran/dump-parse-tree.c:1276 fortran/dump-parse-tree.c:1282
+-#: fortran/dump-parse-tree.c:1784
++#: fortran/dump-parse-tree.c:646 fortran/dump-parse-tree.c:693
++#: fortran/dump-parse-tree.c:717 fortran/dump-parse-tree.c:757
++#: fortran/dump-parse-tree.c:1298 fortran/dump-parse-tree.c:1304
++#: fortran/dump-parse-tree.c:1806
+ #, c-format
+ msgid " %s"
+ msgstr " %s"
+
+-#: fortran/dump-parse-tree.c:659
++#: fortran/dump-parse-tree.c:670
+ #, c-format
+ msgid "symbol %s "
+ msgstr "Symbol %s "
+
+-#: fortran/dump-parse-tree.c:666
++#: fortran/dump-parse-tree.c:677
+ #, c-format
+ msgid "value: "
+ msgstr "Wert: "
+
+-#: fortran/dump-parse-tree.c:673
++#: fortran/dump-parse-tree.c:684
+ #, c-format
+ msgid "Array spec:"
+ msgstr "Feld-Spezifikation:"
+
+-#: fortran/dump-parse-tree.c:680
++#: fortran/dump-parse-tree.c:691
+ #, c-format
+ msgid "Generic interfaces:"
+ msgstr "Generische Schnittstellen:"
+
+-#: fortran/dump-parse-tree.c:688
++#: fortran/dump-parse-tree.c:699
+ #, c-format
+ msgid "result: %s"
+ msgstr "Ergebnis: %s"
+
+-#: fortran/dump-parse-tree.c:694
++#: fortran/dump-parse-tree.c:705
+ #, c-format
+ msgid "components: "
+ msgstr "Komponenten: "
+
+-#: fortran/dump-parse-tree.c:701
++#: fortran/dump-parse-tree.c:712
+ #, c-format
+ msgid "Formal arglist:"
+ msgstr "Formale Argumentliste:"
+
+-#: fortran/dump-parse-tree.c:708
++#: fortran/dump-parse-tree.c:719
+ #, c-format
+ msgid " [Alt Return]"
+ msgstr " [Alt Enter]"
+
+-#: fortran/dump-parse-tree.c:715
++#: fortran/dump-parse-tree.c:726
+ #, c-format
+ msgid "Formal namespace"
+ msgstr "Formaler Namensbereich"
+
+-#: fortran/dump-parse-tree.c:771
++#: fortran/dump-parse-tree.c:793
+ #, c-format
+ msgid "common: /%s/ "
+ msgstr "gemeinsam: /%s/ "
+
+-#: fortran/dump-parse-tree.c:779 fortran/dump-parse-tree.c:1720
++#: fortran/dump-parse-tree.c:801 fortran/dump-parse-tree.c:1742
+ #, c-format
+ msgid ", "
+ msgstr ", "
+
+-#: fortran/dump-parse-tree.c:791
++#: fortran/dump-parse-tree.c:813
+ #, c-format
+ msgid "symtree: %s Ambig %d"
+ msgstr "Symbaum: %s Mehrdeut %d"
+
+-#: fortran/dump-parse-tree.c:794
++#: fortran/dump-parse-tree.c:816
+ #, c-format
+ msgid " from namespace %s"
+ msgstr " aus Namensbereich %s"
+
+-#: fortran/dump-parse-tree.c:820
++#: fortran/dump-parse-tree.c:842
+ #, c-format
+ msgid "%s,"
+ msgstr "%s,"
+
+-#: fortran/dump-parse-tree.c:852
++#: fortran/dump-parse-tree.c:874
+ #, c-format
+ msgid "!$OMP %s"
+ msgstr "!$OMP %s"
+
+-#: fortran/dump-parse-tree.c:867 fortran/dump-parse-tree.c:1010
++#: fortran/dump-parse-tree.c:889 fortran/dump-parse-tree.c:1032
+ #, c-format
+ msgid " (%s)"
+ msgstr " (%s)"
+
+-#: fortran/dump-parse-tree.c:872
++#: fortran/dump-parse-tree.c:894
+ #, c-format
+ msgid " ("
+ msgstr " ("
+
+-#: fortran/dump-parse-tree.c:888
++#: fortran/dump-parse-tree.c:910
+ #, c-format
+ msgid " IF("
+ msgstr " WENN("
+
+-#: fortran/dump-parse-tree.c:894
++#: fortran/dump-parse-tree.c:916
+ #, c-format
+ msgid " NUM_THREADS("
+ msgstr " NUM_THREADS("
+
+-#: fortran/dump-parse-tree.c:910
++#: fortran/dump-parse-tree.c:932
+ #, c-format
+ msgid " SCHEDULE (%s"
+ msgstr " SCHEDULE (%s"
+
+-#: fortran/dump-parse-tree.c:930
++#: fortran/dump-parse-tree.c:952
+ #, c-format
+ msgid " DEFAULT(%s)"
+ msgstr " DEFAULT(%s)"
+
+-#: fortran/dump-parse-tree.c:933
++#: fortran/dump-parse-tree.c:955
+ #, c-format
+ msgid " ORDERED"
+ msgstr " GEORDNET"
+
+-#: fortran/dump-parse-tree.c:958
++#: fortran/dump-parse-tree.c:980
+ #, c-format
+ msgid " REDUCTION(%s:"
+ msgstr " REDUKTION(%s:"
+
+-#: fortran/dump-parse-tree.c:972
++#: fortran/dump-parse-tree.c:994
+ #, c-format
+ msgid " %s("
+ msgstr " %s("
+
+-#: fortran/dump-parse-tree.c:988
++#: fortran/dump-parse-tree.c:1010
+ #, c-format
+ msgid "!$OMP SECTION\n"
+ msgstr "!$OMP ABSCHNITT\n"
+
+-#: fortran/dump-parse-tree.c:997
++#: fortran/dump-parse-tree.c:1019
+ #, c-format
+ msgid "!$OMP END %s"
+ msgstr "!$OMP ENDE %s"
+
+-#: fortran/dump-parse-tree.c:1002
++#: fortran/dump-parse-tree.c:1024
+ #, c-format
+ msgid " COPYPRIVATE("
+ msgstr " KOPIE-PRIVAT("
+
+-#: fortran/dump-parse-tree.c:1007
++#: fortran/dump-parse-tree.c:1029
+ #, c-format
+ msgid " NOWAIT"
+ msgstr " NICHTWARTEN"
+
+-#: fortran/dump-parse-tree.c:1034
++#: fortran/dump-parse-tree.c:1056
+ #, c-format
+ msgid "NOP"
+ msgstr "NOP"
+
+-#: fortran/dump-parse-tree.c:1038
++#: fortran/dump-parse-tree.c:1060
+ #, c-format
+ msgid "CONTINUE"
+ msgstr "FORTFAHREN"
+
+-#: fortran/dump-parse-tree.c:1042
++#: fortran/dump-parse-tree.c:1064
+ #, c-format
+ msgid "ENTRY %s"
+ msgstr "EINTRAG %s"
+
+-#: fortran/dump-parse-tree.c:1047
++#: fortran/dump-parse-tree.c:1069
+ #, c-format
+ msgid "ASSIGN "
+ msgstr "ZUORDNEN "
+
+-#: fortran/dump-parse-tree.c:1054
++#: fortran/dump-parse-tree.c:1076
+ #, c-format
+ msgid "LABEL ASSIGN "
+ msgstr "MARKE ZUORDNEN "
+
+-#: fortran/dump-parse-tree.c:1056
++#: fortran/dump-parse-tree.c:1078
+ #, c-format
+ msgid " %d"
+ msgstr " %d"
+
+-#: fortran/dump-parse-tree.c:1060
++#: fortran/dump-parse-tree.c:1082
+ #, c-format
+ msgid "POINTER ASSIGN "
+ msgstr "ZEIGER ZUORDNEN "
+
+-#: fortran/dump-parse-tree.c:1067
++#: fortran/dump-parse-tree.c:1089
+ #, c-format
+ msgid "GOTO "
+ msgstr "GOTO "
+
+-#: fortran/dump-parse-tree.c:1076
++#: fortran/dump-parse-tree.c:1098
+ #, c-format
+ msgid ", ("
+ msgstr ", ("
+
+-#: fortran/dump-parse-tree.c:1092 fortran/dump-parse-tree.c:1094
++#: fortran/dump-parse-tree.c:1114 fortran/dump-parse-tree.c:1116
+ #, c-format
+ msgid "CALL %s "
+ msgstr "AUFRUFEN: %s "
+
+-#: fortran/dump-parse-tree.c:1096
++#: fortran/dump-parse-tree.c:1118
+ #, c-format
+ msgid "CALL ?? "
+ msgstr "AUFRUF ?? "
+
+-#: fortran/dump-parse-tree.c:1102
++#: fortran/dump-parse-tree.c:1124
+ #, c-format
+ msgid "RETURN "
+ msgstr "RÃœCKKEHREN "
+
+-#: fortran/dump-parse-tree.c:1108
++#: fortran/dump-parse-tree.c:1130
+ #, c-format
+ msgid "PAUSE "
+ msgstr "PAUSE "
+
+-#: fortran/dump-parse-tree.c:1118
++#: fortran/dump-parse-tree.c:1140
+ #, c-format
+ msgid "STOP "
+ msgstr "STOPP "
+
+-#: fortran/dump-parse-tree.c:1128 fortran/dump-parse-tree.c:1136
++#: fortran/dump-parse-tree.c:1150 fortran/dump-parse-tree.c:1158
+ #, c-format
+ msgid "IF "
+ msgstr "WENN "
+
+-#: fortran/dump-parse-tree.c:1130
++#: fortran/dump-parse-tree.c:1152
+ #, c-format
+ msgid " %d, %d, %d"
+ msgstr " %d, %d, %d"
+
+-#: fortran/dump-parse-tree.c:1147
++#: fortran/dump-parse-tree.c:1169
+ #, c-format
+ msgid "ELSE\n"
+ msgstr "SONST\n"
+
+-#: fortran/dump-parse-tree.c:1150
++#: fortran/dump-parse-tree.c:1172
+ #, c-format
+ msgid "ELSE IF "
+ msgstr "SONST WENN "
+
+-#: fortran/dump-parse-tree.c:1160
++#: fortran/dump-parse-tree.c:1182
+ #, c-format
+ msgid "ENDIF"
+ msgstr "ENDEWENN"
+
+-#: fortran/dump-parse-tree.c:1165
++#: fortran/dump-parse-tree.c:1187
+ #, c-format
+ msgid "SELECT CASE "
+ msgstr "FALLUNTERSCHEIDUNG "
+
+-#: fortran/dump-parse-tree.c:1173
++#: fortran/dump-parse-tree.c:1195
+ #, c-format
+ msgid "CASE "
+ msgstr "FALL "
+
+-#: fortran/dump-parse-tree.c:1189
++#: fortran/dump-parse-tree.c:1211
+ #, c-format
+ msgid "END SELECT"
+ msgstr "ENDE FALLUNTERSCHEIDUNG"
+
+-#: fortran/dump-parse-tree.c:1193
++#: fortran/dump-parse-tree.c:1215
+ #, c-format
+ msgid "WHERE "
+ msgstr "WO "
+
+-#: fortran/dump-parse-tree.c:1204
++#: fortran/dump-parse-tree.c:1226
+ #, c-format
+ msgid "ELSE WHERE "
+ msgstr "SONST WO "
+
+-#: fortran/dump-parse-tree.c:1211
++#: fortran/dump-parse-tree.c:1233
+ #, c-format
+ msgid "END WHERE"
+ msgstr "ENDE WO"
+
+-#: fortran/dump-parse-tree.c:1216
++#: fortran/dump-parse-tree.c:1238
+ #, c-format
+ msgid "FORALL "
+ msgstr "FÃœRALLE "
+
+-#: fortran/dump-parse-tree.c:1241
++#: fortran/dump-parse-tree.c:1263
+ #, c-format
+ msgid "END FORALL"
+ msgstr "ENDE FÃœRALLE"
+
+-#: fortran/dump-parse-tree.c:1245
++#: fortran/dump-parse-tree.c:1267
+ #, c-format
+ msgid "DO "
+ msgstr "TUE "
+
+-#: fortran/dump-parse-tree.c:1259 fortran/dump-parse-tree.c:1270
++#: fortran/dump-parse-tree.c:1281 fortran/dump-parse-tree.c:1292
+ #, c-format
+ msgid "END DO"
+ msgstr "ENDE TUE"
+
+-#: fortran/dump-parse-tree.c:1263
++#: fortran/dump-parse-tree.c:1285
+ #, c-format
+ msgid "DO WHILE "
+ msgstr "TUE SOLANGE "
+
+-#: fortran/dump-parse-tree.c:1274
++#: fortran/dump-parse-tree.c:1296
+ #, c-format
+ msgid "CYCLE"
+ msgstr "ZYKLUS"
+
+-#: fortran/dump-parse-tree.c:1280
++#: fortran/dump-parse-tree.c:1302
+ #, c-format
+ msgid "EXIT"
+ msgstr "ENDE"
+
+-#: fortran/dump-parse-tree.c:1286
++#: fortran/dump-parse-tree.c:1308
+ #, c-format
+ msgid "ALLOCATE "
+ msgstr "ZUTEILEN "
+
+-#: fortran/dump-parse-tree.c:1289 fortran/dump-parse-tree.c:1305
++#: fortran/dump-parse-tree.c:1311 fortran/dump-parse-tree.c:1327
+ #, c-format
+ msgid " STAT="
+ msgstr " STAT="
+
+-#: fortran/dump-parse-tree.c:1302
++#: fortran/dump-parse-tree.c:1324
+ #, c-format
+ msgid "DEALLOCATE "
+ msgstr "ZURÃœCKGEWINNEN "
+
+-#: fortran/dump-parse-tree.c:1318
++#: fortran/dump-parse-tree.c:1340
+ #, c-format
+ msgid "OPEN"
+ msgstr "ÖFFNEN"
+
+-#: fortran/dump-parse-tree.c:1323 fortran/dump-parse-tree.c:1402
+-#: fortran/dump-parse-tree.c:1444 fortran/dump-parse-tree.c:1467
+-#: fortran/dump-parse-tree.c:1619
++#: fortran/dump-parse-tree.c:1345 fortran/dump-parse-tree.c:1424
++#: fortran/dump-parse-tree.c:1466 fortran/dump-parse-tree.c:1489
++#: fortran/dump-parse-tree.c:1641
+ #, c-format
+ msgid " UNIT="
+ msgstr " EINHEIT="
+
+-#: fortran/dump-parse-tree.c:1328 fortran/dump-parse-tree.c:1407
+-#: fortran/dump-parse-tree.c:1449 fortran/dump-parse-tree.c:1478
+-#: fortran/dump-parse-tree.c:1636
++#: fortran/dump-parse-tree.c:1350 fortran/dump-parse-tree.c:1429
++#: fortran/dump-parse-tree.c:1471 fortran/dump-parse-tree.c:1500
++#: fortran/dump-parse-tree.c:1658
+ #, c-format
+ msgid " IOMSG="
+ msgstr " IOMSG="
+
+-#: fortran/dump-parse-tree.c:1333 fortran/dump-parse-tree.c:1412
+-#: fortran/dump-parse-tree.c:1454 fortran/dump-parse-tree.c:1483
+-#: fortran/dump-parse-tree.c:1641
++#: fortran/dump-parse-tree.c:1355 fortran/dump-parse-tree.c:1434
++#: fortran/dump-parse-tree.c:1476 fortran/dump-parse-tree.c:1505
++#: fortran/dump-parse-tree.c:1663
+ #, c-format
+ msgid " IOSTAT="
+ msgstr " IOSTAT="
+
+-#: fortran/dump-parse-tree.c:1338 fortran/dump-parse-tree.c:1472
++#: fortran/dump-parse-tree.c:1360 fortran/dump-parse-tree.c:1494
+ #, c-format
+ msgid " FILE="
+ msgstr " DATEI="
+
+-#: fortran/dump-parse-tree.c:1343 fortran/dump-parse-tree.c:1417
++#: fortran/dump-parse-tree.c:1365 fortran/dump-parse-tree.c:1439
+ #, c-format
+ msgid " STATUS="
+ msgstr " STATUS="
+
+-#: fortran/dump-parse-tree.c:1348 fortran/dump-parse-tree.c:1513
++#: fortran/dump-parse-tree.c:1370 fortran/dump-parse-tree.c:1535
+ #, c-format
+ msgid " ACCESS="
+ msgstr " ZUGRIFF="
+
+-#: fortran/dump-parse-tree.c:1353 fortran/dump-parse-tree.c:1529
++#: fortran/dump-parse-tree.c:1375 fortran/dump-parse-tree.c:1551
+ #, c-format
+ msgid " FORM="
+ msgstr " FORM="
+
+-#: fortran/dump-parse-tree.c:1358 fortran/dump-parse-tree.c:1544
++#: fortran/dump-parse-tree.c:1380 fortran/dump-parse-tree.c:1566
+ #, c-format
+ msgid " RECL="
+ msgstr " RECL="
+
+-#: fortran/dump-parse-tree.c:1363 fortran/dump-parse-tree.c:1554
++#: fortran/dump-parse-tree.c:1385 fortran/dump-parse-tree.c:1576
+ #, c-format
+ msgid " BLANK="
+ msgstr " LEER="
+
+-#: fortran/dump-parse-tree.c:1368 fortran/dump-parse-tree.c:1559
++#: fortran/dump-parse-tree.c:1390 fortran/dump-parse-tree.c:1581
+ #, c-format
+ msgid " POSITION="
+ msgstr " POSITION="
+
+-#: fortran/dump-parse-tree.c:1373 fortran/dump-parse-tree.c:1564
++#: fortran/dump-parse-tree.c:1395 fortran/dump-parse-tree.c:1586
+ #, c-format
+ msgid " ACTION="
+ msgstr " AKTION="
+
+-#: fortran/dump-parse-tree.c:1378 fortran/dump-parse-tree.c:1584
++#: fortran/dump-parse-tree.c:1400 fortran/dump-parse-tree.c:1606
+ #, c-format
+ msgid " DELIM="
+ msgstr " TRENNZ="
+
+-#: fortran/dump-parse-tree.c:1383 fortran/dump-parse-tree.c:1589
++#: fortran/dump-parse-tree.c:1405 fortran/dump-parse-tree.c:1611
+ #, c-format
+ msgid " PAD="
+ msgstr " FÃœLL="
+
+-#: fortran/dump-parse-tree.c:1388 fortran/dump-parse-tree.c:1594
++#: fortran/dump-parse-tree.c:1410 fortran/dump-parse-tree.c:1616
+ #, c-format
+ msgid " CONVERT="
+ msgstr " KONVERT="
+
+-#: fortran/dump-parse-tree.c:1392 fortran/dump-parse-tree.c:1421
+-#: fortran/dump-parse-tree.c:1458 fortran/dump-parse-tree.c:1599
+-#: fortran/dump-parse-tree.c:1676
++#: fortran/dump-parse-tree.c:1414 fortran/dump-parse-tree.c:1443
++#: fortran/dump-parse-tree.c:1480 fortran/dump-parse-tree.c:1621
++#: fortran/dump-parse-tree.c:1698
+ #, c-format
+ msgid " ERR=%d"
+ msgstr " FEHL=%d"
+
+-#: fortran/dump-parse-tree.c:1397
++#: fortran/dump-parse-tree.c:1419
+ #, c-format
+ msgid "CLOSE"
+ msgstr "SCHLIESSEN"
+
+-#: fortran/dump-parse-tree.c:1425
++#: fortran/dump-parse-tree.c:1447
+ #, c-format
+ msgid "BACKSPACE"
+ msgstr "RÜCKWÄRTSSCHRITT"
+
+-#: fortran/dump-parse-tree.c:1429
++#: fortran/dump-parse-tree.c:1451
+ #, c-format
+ msgid "ENDFILE"
+ msgstr "DATEIENDE"
+
+-#: fortran/dump-parse-tree.c:1433
++#: fortran/dump-parse-tree.c:1455
+ #, c-format
+ msgid "REWIND"
+ msgstr "RÃœCKSPULEN"
+
+-#: fortran/dump-parse-tree.c:1437
++#: fortran/dump-parse-tree.c:1459
+ #, c-format
+ msgid "FLUSH"
+ msgstr "LEEREN"
+
+-#: fortran/dump-parse-tree.c:1462
++#: fortran/dump-parse-tree.c:1484
+ #, c-format
+ msgid "INQUIRE"
+ msgstr "ABFRAGEN"
+
+-#: fortran/dump-parse-tree.c:1488
++#: fortran/dump-parse-tree.c:1510
+ #, c-format
+ msgid " EXIST="
+ msgstr " EXISTIERT="
+
+-#: fortran/dump-parse-tree.c:1493
++#: fortran/dump-parse-tree.c:1515
+ #, c-format
+ msgid " OPENED="
+ msgstr " GEÖFFNET="
+
+-#: fortran/dump-parse-tree.c:1498
++#: fortran/dump-parse-tree.c:1520
+ #, c-format
+ msgid " NUMBER="
+ msgstr " NUMMER="
+
+-#: fortran/dump-parse-tree.c:1503
++#: fortran/dump-parse-tree.c:1525
+ #, c-format
+ msgid " NAMED="
+ msgstr " GENANNT="
+
+-#: fortran/dump-parse-tree.c:1508
++#: fortran/dump-parse-tree.c:1530
+ #, c-format
+ msgid " NAME="
+ msgstr " NAME="
+
+-#: fortran/dump-parse-tree.c:1518
++#: fortran/dump-parse-tree.c:1540
+ #, c-format
+ msgid " SEQUENTIAL="
+ msgstr " SEQUENTIELL="
+
+-#: fortran/dump-parse-tree.c:1524
++#: fortran/dump-parse-tree.c:1546
+ #, c-format
+ msgid " DIRECT="
+ msgstr " DIREKT="
+
+-#: fortran/dump-parse-tree.c:1534
++#: fortran/dump-parse-tree.c:1556
+ #, c-format
+ msgid " FORMATTED"
+ msgstr " FORMATIERT"
+
+-#: fortran/dump-parse-tree.c:1539
++#: fortran/dump-parse-tree.c:1561
+ #, c-format
+ msgid " UNFORMATTED="
+ msgstr " UNFORMATIERT="
+
+-#: fortran/dump-parse-tree.c:1549
++#: fortran/dump-parse-tree.c:1571
+ #, c-format
+ msgid " NEXTREC="
+ msgstr " NÄCHSTEDATEN="
+
+-#: fortran/dump-parse-tree.c:1569
++#: fortran/dump-parse-tree.c:1591
+ #, c-format
+ msgid " READ="
+ msgstr " LESEN="
+
+-#: fortran/dump-parse-tree.c:1574
++#: fortran/dump-parse-tree.c:1596
+ #, c-format
+ msgid " WRITE="
+ msgstr " SCHREIBEN="
+
+-#: fortran/dump-parse-tree.c:1579
++#: fortran/dump-parse-tree.c:1601
+ #, c-format
+ msgid " READWRITE="
+ msgstr " LESENSCHREIBEN="
+
+-#: fortran/dump-parse-tree.c:1603
++#: fortran/dump-parse-tree.c:1625
+ #, c-format
+ msgid "IOLENGTH "
+ msgstr "EALÄNGE "
+
+-#: fortran/dump-parse-tree.c:1609
++#: fortran/dump-parse-tree.c:1631
+ #, c-format
+ msgid "READ"
+ msgstr "LESEN"
+
+-#: fortran/dump-parse-tree.c:1613
++#: fortran/dump-parse-tree.c:1635
+ #, c-format
+ msgid "WRITE"
+ msgstr "SCHREIBEN"
+
+-#: fortran/dump-parse-tree.c:1625
++#: fortran/dump-parse-tree.c:1647
+ #, c-format
+ msgid " FMT="
+ msgstr " FMT="
+
+-#: fortran/dump-parse-tree.c:1630
++#: fortran/dump-parse-tree.c:1652
+ #, c-format
+ msgid " FMT=%d"
+ msgstr " FMT=%d"
+
+-#: fortran/dump-parse-tree.c:1632
++#: fortran/dump-parse-tree.c:1654
+ #, c-format
+ msgid " NML=%s"
+ msgstr " NML=%s"
+
+-#: fortran/dump-parse-tree.c:1646
++#: fortran/dump-parse-tree.c:1668
+ #, c-format
+ msgid " SIZE="
+ msgstr " GRÖSSE="
+
+-#: fortran/dump-parse-tree.c:1651
++#: fortran/dump-parse-tree.c:1673
+ #, c-format
+ msgid " REC="
+ msgstr " DATEN="
+
+-#: fortran/dump-parse-tree.c:1656
++#: fortran/dump-parse-tree.c:1678
+ #, c-format
+ msgid " ADVANCE="
+ msgstr " VORAUS="
+
+-#: fortran/dump-parse-tree.c:1667
++#: fortran/dump-parse-tree.c:1689
+ #, c-format
+ msgid "TRANSFER "
+ msgstr "ÃœBERTRAGUNG "
+
+-#: fortran/dump-parse-tree.c:1672
++#: fortran/dump-parse-tree.c:1694
+ #, c-format
+ msgid "DT_END"
+ msgstr "DT_END"
+
+-#: fortran/dump-parse-tree.c:1678
++#: fortran/dump-parse-tree.c:1700
+ #, c-format
+ msgid " END=%d"
+ msgstr " ENDE=%d"
+
+-#: fortran/dump-parse-tree.c:1680
++#: fortran/dump-parse-tree.c:1702
+ #, c-format
+ msgid " EOR=%d"
+ msgstr " EOR=%d"
+
+-#: fortran/dump-parse-tree.c:1714
++#: fortran/dump-parse-tree.c:1736
+ #, c-format
+ msgid "Equivalence: "
+ msgstr "Äquivalenz: "
+
+-#: fortran/dump-parse-tree.c:1740
++#: fortran/dump-parse-tree.c:1762
+ #, c-format
+ msgid "Namespace:"
+ msgstr "Namensbereich:"
+
+-#: fortran/dump-parse-tree.c:1754
++#: fortran/dump-parse-tree.c:1776
+ #, c-format
+ msgid " %c-%c: "
+ msgstr " %c-%c: "
+
+-#: fortran/dump-parse-tree.c:1756
++#: fortran/dump-parse-tree.c:1778
+ #, c-format
+ msgid " %c: "
+ msgstr " %c: "
+
+-#: fortran/dump-parse-tree.c:1765
++#: fortran/dump-parse-tree.c:1787
+ #, c-format
+ msgid "procedure name = %s"
+ msgstr "Prozedurname = %s"
+
+-#: fortran/dump-parse-tree.c:1781
++#: fortran/dump-parse-tree.c:1803
+ #, c-format
+ msgid "Operator interfaces for %s:"
+ msgstr "Operatorschnittstellen für %s:"
+
+-#: fortran/dump-parse-tree.c:1790
++#: fortran/dump-parse-tree.c:1812
+ #, c-format
+ msgid "User operators:\n"
+ msgstr "Benutzer-Operatoren:\n"
+
+-#: fortran/dump-parse-tree.c:1806
++#: fortran/dump-parse-tree.c:1828
+ #, c-format
+ msgid "CONTAINS\n"
+ msgstr "ENTHÄLT\n"
+@@ -6191,308 +6154,348 @@
+ msgid "Error count reached limit of %d."
+ msgstr "Fehlerzahl erreichte Grenze %d."
+
+-#: fortran/error.c:670 fortran/error.c:725 fortran/error.c:762
++#: fortran/error.c:670 fortran/error.c:724 fortran/error.c:761
+ msgid "Warning:"
+ msgstr "Warnung:"
+
+-#: fortran/error.c:727 fortran/error.c:810 fortran/error.c:836
++#: fortran/error.c:726 fortran/error.c:809 fortran/error.c:835
+ msgid "Error:"
+ msgstr "Fehler:"
+
+-#: fortran/error.c:860
++#: fortran/error.c:859
+ msgid "Fatal Error:"
+ msgstr "Schwerwiegender Fehler:"
+
+-#: fortran/error.c:879
++#: fortran/error.c:878
+ #, no-c-format
+ msgid "Internal Error at (1):"
+ msgstr "Interner Fehler bei (1):"
+
+-#: fortran/expr.c:252
++#: fortran/expr.c:253
+ #, c-format
+ msgid "Constant expression required at %C"
+ msgstr "Konstanten-Ausdruck erforderlich bei %C"
+
+-#: fortran/expr.c:255
++#: fortran/expr.c:256
+ #, c-format
+ msgid "Integer expression required at %C"
+ msgstr "Ganzzahlausdruck erforderlich bei %C"
+
+-#: fortran/expr.c:260
++#: fortran/expr.c:261
+ #, c-format
+ msgid "Integer value too large in expression at %C"
+ msgstr "Ganzzahlwert zu groß in Ausdruck bei %C"
+
+-#: fortran/expr.c:1018 fortran/expr.c:1189 fortran/expr.c:1240
++#: fortran/expr.c:1037
+ #, no-c-format
++msgid "Index in dimension %d is out of bounds at %L"
++msgstr "Index in Dimension %d ist außerhalb der Grenzen bei %L"
++
++#: fortran/expr.c:1208 fortran/expr.c:1259
++#, no-c-format
+ msgid "index in dimension %d is out of bounds at %L"
+ msgstr "Index in Dimension %d ist außerhalb der Grenzen bei %L"
+
+-#: fortran/expr.c:1789
++#: fortran/expr.c:1808
+ #, no-c-format
+ msgid "elemental function arguments at %C are not compliant"
+ msgstr "elementare Funktionsargumente bei %C sind nicht konform"
+
+-#: fortran/expr.c:1833
++#: fortran/expr.c:1852
+ #, no-c-format
+ msgid "Numeric or CHARACTER operands are required in expression at %L"
+ msgstr "Numerische oder CHARACTER-Operanden benötigt in Ausdruck bei %L"
+
+-#: fortran/expr.c:1853
++#: fortran/expr.c:1872
+ #, no-c-format
+ msgid "Fortran 2003: Noninteger exponent in an initialization expression at %L"
+ msgstr "Fortran 2003: Nichtganzzahliger Exponent in einem Initialisierungsausdruck bei %L"
+
+-#: fortran/expr.c:1868
++#: fortran/expr.c:1887
+ #, no-c-format
+ msgid "Concatenation operator in expression at %L must have two CHARACTER operands"
+ msgstr "Verkettungsoperator in Ausdruck bei %L muss zwei CHARACTER-Operanden haben"
+
+-#: fortran/expr.c:1875
++#: fortran/expr.c:1894
+ #, no-c-format
+ msgid "Concat operator at %L must concatenate strings of the same kind"
+ msgstr "Verkettungsoperator bei %L muss Zeichenketten der gleichen Sorte verketten"
+
+-#: fortran/expr.c:1885
++#: fortran/expr.c:1904
+ #, no-c-format
+ msgid ".NOT. operator in expression at %L must have a LOGICAL operand"
+ msgstr ".NOT.-Operator in Ausdruck bei %L muss einen LOGICAL-Operanden haben"
+
+-#: fortran/expr.c:1901
++#: fortran/expr.c:1920
+ #, no-c-format
+ msgid "LOGICAL operands are required in expression at %L"
+ msgstr "LOGICAL-Operanden werden in Ausdruck bei %L benötigt"
+
+-#: fortran/expr.c:1912
++#: fortran/expr.c:1931
+ #, no-c-format
+ msgid "Only intrinsic operators can be used in expression at %L"
+ msgstr "Nur intrinsische Operatoren können in Ausdruck bei %L verwendet werden"
+
+-#: fortran/expr.c:1920
++#: fortran/expr.c:1939
+ #, no-c-format
+ msgid "Numeric operands are required in expression at %L"
+ msgstr "In Ausdruck bei %L werden numerische Operanden benötigt"
+
+-#: fortran/expr.c:1985
++#: fortran/expr.c:2030
+ #, no-c-format
+-msgid "Inquiry function '%s' at %L is not permitted in an initialization expression"
+-msgstr "Abfragefunktion »%s« bei %L ist nicht in einem Initialisierungs-Ausdruck erlaubt"
+-
+-#: fortran/expr.c:2015
+-#, no-c-format
+ msgid "Assumed character length variable '%s' in constant expression at %L"
+ msgstr "Variable »%s« mit vermuteter Zeichenlänge in konstantem Ausdruck bei %L"
+
+-#: fortran/expr.c:2061 fortran/expr.c:2067
++#: fortran/expr.c:2076 fortran/expr.c:2082
+ #, no-c-format
+ msgid "transformational intrinsic '%s' at %L is not permitted in an initialization expression"
+ msgstr "Variable »%s« bei %L kann nicht in einem Initialisierungs-Ausdruck auftreten"
+
+-#: fortran/expr.c:2098
++#: fortran/expr.c:2114
+ #, no-c-format
+ msgid "Extension: Evaluation of nonstandard initialization expression at %L"
+ msgstr "Erweiterung: Auswertung des nicht standardisierten Initialisierungsausdrucks bei %L"
+
+-#: fortran/expr.c:2151
++#: fortran/expr.c:2167
+ #, no-c-format
+ msgid "Function '%s' in initialization expression at %L must be an intrinsic or a specification function"
+ msgstr "Funktion »%s« in Initialisierungs-Ausdruck bei %L muss eine intrinsische oder Spezifikations-Funktion sein"
+
+-#: fortran/expr.c:2163
++#: fortran/expr.c:2179
+ #, no-c-format
+ msgid "Intrinsic function '%s' at %L is not permitted in an initialization expression"
+ msgstr "Intrinsische Funktion »%s« bei %L ist nicht in einem Initialisierungs-Ausdruck erlaubt"
+
+-#: fortran/expr.c:2207
++#: fortran/expr.c:2214
+ #, no-c-format
++msgid "PARAMETER '%s' is used at %L before its definition is complete"
++msgstr "PARAMETER »%s« wird bei %L verwendet, bevor dessen Definition vollständig ist"
++
++#: fortran/expr.c:2234
++#, no-c-format
+ msgid "Assumed size array '%s' at %L is not permitted in an initialization expression"
+ msgstr "Feld »%s« mit vermuteter Größe bei %L ist nicht in einem Initialisierungs-Ausdruck erlaubt"
+
+-#: fortran/expr.c:2213
++#: fortran/expr.c:2240
+ #, no-c-format
+ msgid "Assumed shape array '%s' at %L is not permitted in an initialization expression"
+ msgstr "Feld »%s« mit vermuteter Form bei %L ist nicht in einem Initialisierungs-Ausdruck erlaubt"
+
+-#: fortran/expr.c:2219
++#: fortran/expr.c:2246
+ #, no-c-format
+ msgid "Deferred array '%s' at %L is not permitted in an initialization expression"
+ msgstr "Aufgeschobenes Feld »%s bei %L ist nicht in einem Initialisierungs-Ausdruck erlaubt«"
+
+-#: fortran/expr.c:2229
++#: fortran/expr.c:2252
+ #, no-c-format
++msgid "Array '%s' at %L is a variable, which does not reduce to a constant expression"
++msgstr "Feld »%s« bei %L ist eine Variable, die nicht zu konstantem Ausdruck reduziert"
++
++#: fortran/expr.c:2262
++#, no-c-format
+ msgid "Parameter '%s' at %L has not been declared or is a variable, which does not reduce to a constant expression"
+ msgstr "Parameter »%s« bei %L wurde nicht deklariert oder ist eine Variable, die nicht zu konstantem Ausdruck reduziert"
+
+-#: fortran/expr.c:2317
++#: fortran/expr.c:2350
+ #, no-c-format
+ msgid "Initialization expression didn't reduce %C"
+ msgstr "Initialisierungsausdruck reduzierte nicht %C"
+
+-#: fortran/expr.c:2360
++#: fortran/expr.c:2393
+ #, no-c-format
+ msgid "Specification function '%s' at %L cannot be a statement function"
+ msgstr "Spezifikationsfunktion »%s« bei %L kann keine Anweisungsfunktion sein"
+
+-#: fortran/expr.c:2367
++#: fortran/expr.c:2400
+ #, no-c-format
+ msgid "Specification function '%s' at %L cannot be an internal function"
+ msgstr "Spezifikationsfunktion »%s« bei %L kann keine interne Funktion sein"
+
+-#: fortran/expr.c:2374
++#: fortran/expr.c:2407
+ #, no-c-format
+ msgid "Specification function '%s' at %L must be PURE"
+ msgstr "Spezifikationsfunktion »%s« bei %L muss PURE sein"
+
+-#: fortran/expr.c:2381
++#: fortran/expr.c:2414
+ #, no-c-format
+ msgid "Specification function '%s' at %L cannot be RECURSIVE"
+ msgstr "Spezifikationsfunktion »%s« bei %L kann nicht RECURSIVE sein"
+
+-#: fortran/expr.c:2443
++#: fortran/expr.c:2476
+ #, no-c-format
+ msgid "Dummy argument '%s' not allowed in expression at %L"
+ msgstr "Scheinargument »%s« ist im Ausdruck bei %L nicht erlaubt"
+
+-#: fortran/expr.c:2450
++#: fortran/expr.c:2483
+ #, no-c-format
+ msgid "Dummy argument '%s' at %L cannot be OPTIONAL"
+ msgstr "Scheinargument »%s« bei %L kann nicht OPTIONAL sein"
+
+-#: fortran/expr.c:2457
++#: fortran/expr.c:2490
+ #, no-c-format
+ msgid "Dummy argument '%s' at %L cannot be INTENT(OUT)"
+ msgstr "Scheinargument »%s« bei %L kann nicht INTENT(OUT) sein"
+
+-#: fortran/expr.c:2479
++#: fortran/expr.c:2513
+ #, no-c-format
+ msgid "Variable '%s' cannot appear in the expression at %L"
+ msgstr "Variable »%s« kann nicht im Ausdruck bei %L auftreten"
+
+-#: fortran/expr.c:2528
++#: fortran/expr.c:2562
+ #, no-c-format
+ msgid "Expression at %L must be of INTEGER type"
+ msgstr "Ausdruck bei %L muss INTEGER-Typ haben"
+
+-#: fortran/expr.c:2537
++#: fortran/expr.c:2571
+ #, no-c-format
+ msgid "Function '%s' at %L must be PURE"
+ msgstr "Funktion »%s« bei %L muss PURE sein"
+
+-#: fortran/expr.c:2546
++#: fortran/expr.c:2580
+ #, no-c-format
+ msgid "Expression at %L must be scalar"
+ msgstr "Ausdruck bei %L muss skalar sein"
+
+-#: fortran/expr.c:2573
++#: fortran/expr.c:2607
+ #, no-c-format
+ msgid "Incompatible ranks in %s (%d and %d) at %L"
+ msgstr "Unverträgliche Ränge in %s (%d und %d) bei %L"
+
+-#: fortran/expr.c:2587
++#: fortran/expr.c:2621
+ #, no-c-format
+ msgid "Different shape for %s at %L on dimension %d (%d and %d)"
+ msgstr "andere Form für %s bei %L für Dimension %d (%d und %d)"
+
+-#: fortran/expr.c:2633 fortran/expr.c:2800
++#: fortran/expr.c:2667 fortran/expr.c:2884
+ #, no-c-format
+ msgid "Cannot assign to INTENT(IN) variable '%s' at %L"
+ msgstr "Zu INTENT(IN)-Variable »%s« bei %L kann nicht zugewiesen werden"
+
+-#: fortran/expr.c:2676
++#: fortran/expr.c:2719
+ #, no-c-format
+ msgid "'%s' at %L is not a VALUE"
+ msgstr "'%s' bei %L ist kein WERT"
+
+-#: fortran/expr.c:2683
++#: fortran/expr.c:2726
+ #, no-c-format
+ msgid "Incompatible ranks %d and %d in assignment at %L"
+ msgstr "Unverträgliche Ränge %d und %d in Zuweisung bei %L"
+
+-#: fortran/expr.c:2690
++#: fortran/expr.c:2733
+ #, no-c-format
+ msgid "Variable type is UNKNOWN in assignment at %L"
+ msgstr "Unbekannter Variablentyp in Zuweisung bei %L"
+
+-#: fortran/expr.c:2702
++#: fortran/expr.c:2745
+ #, no-c-format
+ msgid "NULL appears on right-hand side in assignment at %L"
+ msgstr "Auf rechter Seite in Zuweisung bei %L tritt NULL auf"
+
+-#: fortran/expr.c:2713
++#: fortran/expr.c:2756
+ #, no-c-format
+ msgid "Vector assignment to assumed-size Cray Pointee at %L is illegal"
+ msgstr "Vektorzuweisung an Cray-Zeigerende mit angenommener Größe bei %L ist illegal"
+
+-#: fortran/expr.c:2722
++#: fortran/expr.c:2765
+ #, no-c-format
+ msgid "POINTER valued function appears on right-hand side of assignment at %L"
+ msgstr "POINTER-wertige Funktion tritt auf rechter Seite der Zuweisung bei %L auf"
+
+-#: fortran/expr.c:2727
++#: fortran/expr.c:2770
+ msgid "array assignment"
+ msgstr "Feld-Zuweisung"
+
+-#: fortran/expr.c:2744
++#: fortran/expr.c:2775
+ #, no-c-format
++msgid "Extension: BOZ literal at %L used to initialize non-integer variable '%s'"
++msgstr "Erweiterung: BOZ-Literal bei %L verwendet, um Nicht-Ganzzahlvariable »%s« zu initialisieren"
++
++#: fortran/expr.c:2781 fortran/resolve.c:6058
++#, no-c-format
++msgid "Extension: BOZ literal at %L outside a DATA statement and outside INT/REAL/DBLE/CMPLX"
++msgstr "Erweiterung: BOZ-Literal bei %L außerhalb einer DATA-Anweisung und außerhalb von INT/REAL/DBLE/CMPLX"
++
++#: fortran/expr.c:2791 fortran/resolve.c:6068
++#, no-c-format
++msgid "BOZ literal at %L is bitwise transferred non-integer symbol '%s'"
++msgstr "BOZ-Literal bei %L ist bitweise übertragenes Nicht-Ganzzahlsymbol »%s«"
++
++#: fortran/expr.c:2799 fortran/resolve.c:6077
++#, no-c-format
++msgid "Arithmetic underflow of bit-wise transferred BOZ at %L. This check can be disabled with the option -fno-range-check"
++msgstr "Arithmetischer Unterlauf des bitweise übertragenen BOZ bei %L. Diese Überprüfung kann mit der Option -fno-range-check ausgeschaltet werden"
++
++#: fortran/expr.c:2803 fortran/resolve.c:6081
++#, no-c-format
++msgid "Arithmetic overflow of bit-wise transferred BOZ at %L. This check can be disabled with the option -fno-range-check"
++msgstr "Arithmetischer Überlauf des bitweise übertragenen BOZ bei %L. Diese Überprüfung kann mit der Option -fno-range-check ausgeschaltet werden"
++
++#: fortran/expr.c:2807 fortran/resolve.c:6085
++#, no-c-format
++msgid "Arithmetic NaN of bit-wise transferred BOZ at %L. This check can be disabled with the option -fno-range-check"
++msgstr "Arithmetisches NaN des bitweise übertragenen BOZ bei %L. Diese Überprüfung kann mit der Option -fno-range-check ausgeschaltet werden"
++
++#: fortran/expr.c:2828
++#, no-c-format
+ msgid "Incompatible types in assignment at %L, %s to %s"
+ msgstr "Unverträgliche Typen in Zuweisung bei %L, %s an %s"
+
+-#: fortran/expr.c:2769
++#: fortran/expr.c:2853
+ #, no-c-format
+ msgid "Pointer assignment target is not a POINTER at %L"
+ msgstr "Zeiger-Zuweisungziel ist kein POINTER bei %L"
+
+-#: fortran/expr.c:2777
++#: fortran/expr.c:2861
+ #, no-c-format
+ msgid "'%s' in the pointer assignment at %L cannot be an l-value since it is a procedure"
+ msgstr "»%s« in Zeigerzuweisung bei %L kann kein L-Wert sein, da es eine Prozedur ist"
+
+-#: fortran/expr.c:2807
++#: fortran/expr.c:2891
+ #, no-c-format
+ msgid "Pointer assignment to non-POINTER at %L"
+ msgstr "Zeigerzuweisung an Nicht-POINTER bei %L"
+
+-#: fortran/expr.c:2816
++#: fortran/expr.c:2900
+ #, no-c-format
+ msgid "Bad pointer object in PURE procedure at %L"
+ msgstr "Falsches Zeigerobjekt in PURE-Prozedur bei %L"
+
+-#: fortran/expr.c:2828
++#: fortran/expr.c:2912
+ #, no-c-format
+ msgid "Different types in pointer assignment at %L"
+ msgstr "Verschiedene Typen in Zeigerzuweisung bei %L"
+
+-#: fortran/expr.c:2835
++#: fortran/expr.c:2919
+ #, no-c-format
+ msgid "Different kind type parameters in pointer assignment at %L"
+ msgstr "Parameter verschiedener Typen in Zeigerzuweisung bei %L"
+
+-#: fortran/expr.c:2842
++#: fortran/expr.c:2926
+ #, no-c-format
+ msgid "Different ranks in pointer assignment at %L"
+ msgstr "Verschiedene Ränge in Zeigerzuweisung bei %L"
+
+-#: fortran/expr.c:2857
++#: fortran/expr.c:2941
+ #, no-c-format
+ msgid "Different character lengths in pointer assignment at %L"
+ msgstr "Verschiedene Zeichenlängen in Zeigerzuweisung bei %L"
+
+-#: fortran/expr.c:2868
++#: fortran/expr.c:2952
+ #, no-c-format
+ msgid "Pointer assignment target is neither TARGET nor POINTER at %L"
+ msgstr "Zeiger-Zuweisungsziel bei %L ist weder TARGET noch POINTER"
+
+-#: fortran/expr.c:2875
++#: fortran/expr.c:2959
+ #, no-c-format
+ msgid "Bad target in pointer assignment in PURE procedure at %L"
+ msgstr "Falsches Ziel in Zeigerzuweisung in PURE-Prozedur bei %L"
+
+-#: fortran/expr.c:2881
++#: fortran/expr.c:2965
+ #, no-c-format
+ msgid "Pointer assignment with vector subscript on rhs at %L"
+ msgstr "Zeigerzuweisung mit Vektorindex für rhs bei %L"
+
+-#: fortran/expr.c:2888
++#: fortran/expr.c:2972
+ #, no-c-format
+ msgid "Pointer assigment target has PROTECTED attribute at %L"
+ msgstr "Zeiger-Zuweisungziel hat PROTECTED-Attribut bei %L"
+@@ -6586,292 +6589,317 @@
+ msgid "Expecting 'END INTERFACE %s' at %C"
+ msgstr "»END INTERFACE %s« bei %C erwartet"
+
+-#: fortran/interface.c:551
++#: fortran/interface.c:563
+ #, no-c-format
+ msgid "Alternate return cannot appear in operator interface at %L"
+ msgstr "Alternative Rückgabe kann nicht in Operatorschnittstelle bei %L auftreten"
+
+-#: fortran/interface.c:581
++#: fortran/interface.c:593
+ #, no-c-format
+ msgid "Operator interface at %L has the wrong number of arguments"
+ msgstr "Operatorschnittstelle bei %L hat falsche Argumentanzahl"
+
+-#: fortran/interface.c:592
++#: fortran/interface.c:604
+ #, no-c-format
+ msgid "Assignment operator interface at %L must be a SUBROUTINE"
+ msgstr "Schnittstelle für Zuweisungsoperator bei %L muss eine SUBROUTINE sein"
+
+-#: fortran/interface.c:598
++#: fortran/interface.c:610
+ #, no-c-format
+ msgid "Assignment operator interface at %L must have two arguments"
+ msgstr "Schnittstelle des Zuweisungsoperators bei %L muss zwei Argumente haben"
+
+-#: fortran/interface.c:608
++#: fortran/interface.c:620
+ #, no-c-format
+ msgid "Assignment operator interface at %L must not redefine an INTRINSIC type assignment"
+ msgstr "Schnittstelle des Zuweisungsoperators bei %L darf keine INTRINSIC Typzuweisung redefinieren"
+
+-#: fortran/interface.c:617
++#: fortran/interface.c:629
+ #, no-c-format
+ msgid "Intrinsic operator interface at %L must be a FUNCTION"
+ msgstr "Schnittstelle des intrinsischen Operators bei %L muss eine FUNCTION sein"
+
+-#: fortran/interface.c:627
++#: fortran/interface.c:639
+ #, no-c-format
+ msgid "First argument of defined assignment at %L must be INTENT(IN) or INTENT(INOUT)"
+ msgstr "Erstes Argument der definierten Zuweisung bei %L muss INTENT(IN) oder INTENT(INOUT) sein"
+
+-#: fortran/interface.c:631
++#: fortran/interface.c:643
+ #, no-c-format
+ 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.c:637 fortran/resolve.c:8807
++#: fortran/interface.c:649 fortran/resolve.c:8998
+ #, no-c-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.c:641 fortran/resolve.c:8819
++#: fortran/interface.c:653 fortran/resolve.c:9010
+ #, no-c-format
+ msgid "Second argument of operator interface at %L must be INTENT(IN)"
+ msgstr "Zweites Argument der Operatorschnittstelle bei %L muss INTENT(IN) sein"
+
+-#: fortran/interface.c:744
++#: fortran/interface.c:756
+ #, no-c-format
+ msgid "Operator interface at %L conflicts with intrinsic interface"
+ msgstr "Operatorschnittstelle bei %L steht mit intrinsischer Schnittstelle in Konflikt"
+
+-#: fortran/interface.c:1044
++#: fortran/interface.c:1117
+ #, no-c-format
+ msgid "Procedure '%s' in %s at %L has no explicit interface"
+ msgstr "Prozedur »%s« in %s bei %L hat keine explizite Schnittstelle"
+
+-#: fortran/interface.c:1047
++#: fortran/interface.c:1120
+ #, no-c-format
+ msgid "Procedure '%s' in %s at %L is neither function nor subroutine"
+ msgstr "Prozedur »%s« in %s bei %L ist weder Funktion noch Subroutine"
+
+-#: fortran/interface.c:1102 fortran/interface.c:1108
++#: fortran/interface.c:1175 fortran/interface.c:1181
+ #, no-c-format
+ msgid "Ambiguous interfaces '%s' and '%s' in %s at %L"
+ msgstr "Mehrdeutige Schnittstellen »%s« und »%s« in %s bei %L"
+
+-#: fortran/interface.c:1144
++#: fortran/interface.c:1217
+ #, no-c-format
+ msgid "'%s' at %L is not a module procedure"
+ msgstr "»%s« bei %L ist keine Modulprozedur"
+
+-#: fortran/interface.c:1676
++#: fortran/interface.c:1465 fortran/interface.c:2411
+ #, no-c-format
++msgid "Type/rank mismatch in argument '%s' at %L"
++msgstr "Unpassender Typ/Rang in Argument »%s« bei %L"
++
++#: fortran/interface.c:1474
++#, no-c-format
++msgid "Type mismatch in argument '%s' at %L; passed %s to %s"
++msgstr "Unpassender Typ in Argument »%s« bei %L; übergab %s an %s"
++
++#: fortran/interface.c:1492 fortran/interface.c:1532
++#, no-c-format
++msgid "Rank mismatch in argument '%s' at %L (%d and %d)"
++msgstr "Unpassender Rang in Argument »%s« bei %L (%d und %d)"
++
++#: fortran/interface.c:1519
++#, no-c-format
++msgid "Fortran 2003: Scalar CHARACTER actual argument with array dummy argument '%s' at %L"
++msgstr "Fortran 2003: Skalares effektives CHARACTER-Argument mit Feld-Scheinargument »%s« bei %L"
++
++#: fortran/interface.c:1544
++#, no-c-format
++msgid "Element of assumed-shaped array passed to dummy argument '%s' at %L"
++msgstr "Element eines Feldes mit vermuteter Form an Scheinargument »%s« bei %L übergeben"
++
++#: fortran/interface.c:1861
++#, no-c-format
+ msgid "Keyword argument '%s' at %L is not in the procedure"
+ msgstr "Schlüsselwort-Argument »%s« bei %L ist nicht in der Prozedur"
+
+-#: fortran/interface.c:1684
++#: fortran/interface.c:1869
+ #, no-c-format
+ msgid "Keyword argument '%s' at %L is already associated with another actual argument"
+ msgstr "Schlüsselwort-Argument »%s« bei %L ist bereits mit einem anderen effektiven Argument verbunden"
+
+-#: fortran/interface.c:1694
++#: fortran/interface.c:1879
+ #, no-c-format
+ msgid "More actual than formal arguments in procedure call at %L"
+ msgstr "Mehr effektive als formale Argumente in Prozeduraufruf bei %L"
+
+-#: fortran/interface.c:1706 fortran/interface.c:1935
++#: fortran/interface.c:1891 fortran/interface.c:2110
+ #, no-c-format
+ msgid "Missing alternate return spec in subroutine call at %L"
+ msgstr "Fehlende alternative Rückgabespezifikation in Unterprogrammaufruf bei %L"
+
+-#: fortran/interface.c:1714
++#: fortran/interface.c:1899
+ #, no-c-format
+ msgid "Unexpected alternate return spec in subroutine call at %L"
+ msgstr "Unerwartete alternative Rückgabespezifikation in Unterprogrammaufruf bei %L"
+
+-#: fortran/interface.c:1729
++#: fortran/interface.c:1922
+ #, no-c-format
+-msgid "Fortran 2003: Scalar CHARACTER actual argument with array dummy argument '%s' at %L"
+-msgstr "Fortran 2003: Skalares effektives CHARACTER-Argument mit Feld-Scheinargument »%s« bei %L"
++msgid "Character length mismatch (%ld/%ld) between actual argument and pointer or allocatable dummy argument '%s' at %L"
++msgstr "Zeichenlänge passt nicht (%ld/%ld) zwischen effektivem Argument und Zeiger oder reservierbarem Scheinargument »%s« bei %L"
+
+-#: fortran/interface.c:1742
++#: fortran/interface.c:1929
+ #, no-c-format
+-msgid "Type/rank mismatch in argument '%s' at %L"
+-msgstr "Unpassender Typ/Rang in Argument »%s« bei %L"
++msgid "Character length mismatch (%ld/%ld) between actual argument and assumed-shape dummy argument '%s' at %L"
++msgstr "Zeichenlänge passt nicht (%ld/%ld) zwischen effektivem Argument und Scheinargument »%s« mit vermuteter Form bei %L"
+
+-#: fortran/interface.c:1758
++#: fortran/interface.c:1943
+ #, no-c-format
+-msgid "Character length mismatch between actual argument and pointer or allocatable dummy argument '%s' at %L"
+-msgstr "Zeichenlänge passt nicht zwischen effektivem Argument und Zeiger oder reservierbarem Scheinargument »%s« bei %L"
+-
+-#: fortran/interface.c:1771
+-#, no-c-format
+ msgid "Character length of actual argument shorter than of dummy argument '%s' (%lu/%lu) at %L"
+ msgstr "Zeichenlänge des effektiven Arguments kürzer als das des Scheinarguments »%s« (%lu/%lu) bei %L"
+
+-#: fortran/interface.c:1776
++#: fortran/interface.c:1948
+ #, no-c-format
+ msgid "Actual argument contains too few elements for dummy argument '%s' (%lu/%lu) at %L"
+ msgstr "Effektives Argument enthält zuwenige Elemente für Scheinargument »%s« (%lu/%lu) bei %L"
+
+-#: fortran/interface.c:1790
++#: fortran/interface.c:1962
+ #, no-c-format
+ msgid "Expected a procedure for argument '%s' at %L"
+ msgstr "Prozedur für Argument »%s« bei %L erwartet"
+
+-#: fortran/interface.c:1800
++#: fortran/interface.c:1972
+ #, no-c-format
+ msgid "Expected a PURE procedure for argument '%s' at %L"
+ msgstr "PURE-Prozedur für Argument »%s« bei %L erwartet"
+
+-#: fortran/interface.c:1814
++#: fortran/interface.c:1986
+ #, no-c-format
+ msgid "Actual argument for '%s' cannot be an assumed-size array at %L"
+ msgstr "Effektives Argument für »%s« kann nicht Feld vermuteter Größe bei %L sein"
+
+-#: fortran/interface.c:1823
++#: fortran/interface.c:1995
+ #, no-c-format
+ msgid "Actual argument for '%s' must be a pointer at %L"
+ msgstr "Effektives Argument für »%s« muss ein Zeiger bei %L sein"
+
+-#: fortran/interface.c:1832
++#: fortran/interface.c:2004
+ #, no-c-format
+ msgid "Actual argument for '%s' must be ALLOCATABLE at %L"
+ msgstr "Effektives Argument für »%s« muss ALLOCATABLE bei %L sein"
+
+-#: fortran/interface.c:1843
++#: fortran/interface.c:2017
+ #, no-c-format
+-msgid "Actual argument at %L must be definable to match dummy INTENT = OUT/INOUT"
+-msgstr "Das effektive Argument bei %L muss definierbar sein, zu (Schein) INTENT = OUT/INOUT zu passen"
++msgid "Actual argument at %L must be definable as the dummy argument '%s' is INTENT = OUT/INOUT"
++msgstr "Das effektive Argument bei %L muss definierbar sein, denn das Scheinargument »%s« ist INTENT = OUT/INOUT"
+
+-#: fortran/interface.c:1851
++#: fortran/interface.c:2026
+ #, no-c-format
+ msgid "Actual argument at %L is use-associated with PROTECTED attribute and dummy argument '%s' is INTENT = OUT/INOUT"
+ msgstr "Das effektive Argument bei %L ist benutzungs-verbunden mit PROTECTED-Attribut und Scheinargument »%s« ist INTENT = OUT/INOUT"
+
+-#: fortran/interface.c:1864
++#: fortran/interface.c:2039
+ #, no-c-format
+-msgid "Array-section actual argument with vector subscripts at %L is incompatible with INTENT(IN), INTENT(INOUT) or VOLATILE attribute of the dummy argument '%s'"
+-msgstr "Feldbereich mit Vektorindex als effektives Argument bei %L ist unverträglich mit INTENT(IN), INTENT(INOUT) und VOLATILE-Attribut des Scheinarguments »%s«"
++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'"
++msgstr "Feldbereich mit Vektorindex als effektives Argument bei %L ist unverträglich mit INTENT(OUT), INTENT(INOUT) und VOLATILE-Attribut des Scheinarguments »%s«"
+
+-#: fortran/interface.c:1881
++#: fortran/interface.c:2056
+ #, no-c-format
+ msgid "Assumed-shape actual argument at %L is incompatible with the non-assumed-shape dummy argument '%s' due to VOLATILE attribute"
+ msgstr "Effektives Argument mit vermuteter Form bei %L ist wegen VOLATILE-Attribut unverträglich mit dem Scheinargument ohne vermutete Form »%s«"
+
+-#: fortran/interface.c:1893
++#: fortran/interface.c:2068
+ #, no-c-format
+ msgid "Array-section actual argument at %L is incompatible with the non-assumed-shape dummy argument '%s' due to VOLATILE attribute"
+ msgstr "Feldbereich als effektives Argument bei %L ist wegen VOLATILE-Attribut unverträglich mit dem Scheinargument ohne vermutete Form »%s«"
+
+-#: fortran/interface.c:1912
++#: fortran/interface.c:2087
+ #, no-c-format
+ msgid "Pointer-array actual argument at %L requires an assumed-shape or pointer-array dummy argument '%s' due to VOLATILE attribute"
+ msgstr "Zeigerfeld als effektives Argument bei %L erfordert wegen VOLATILE-Attribut ein Scheinargument »%s« mit vermuteter Form oder als Zeigerfeld"
+
+-#: fortran/interface.c:1942
++#: fortran/interface.c:2117
+ #, no-c-format
+ msgid "Missing actual argument for argument '%s' at %L"
+ msgstr "Fehlendes effektives Argument für Argument »%s« bei %L"
+
+-#: fortran/interface.c:2128
++#: fortran/interface.c:2303
+ #, no-c-format
+ msgid "Same actual argument associated with INTENT(%s) argument '%s' and INTENT(%s) argument '%s' at %L"
+ msgstr "Gleiches effektives Argument mit INTENT(%s)-Argument »%s« und INTENT(%s)-Argument »%s« bei %L verbunden"
+
+-#: fortran/interface.c:2184
++#: fortran/interface.c:2359
+ #, no-c-format
+ msgid "Procedure argument at %L is INTENT(IN) while interface specifies INTENT(%s)"
+ msgstr "Prozedurargument bei %L ist INTENT(IN) während die Schnittstelle INTENT(%s) angibt"
+
+-#: fortran/interface.c:2194
++#: fortran/interface.c:2369
+ #, no-c-format
+ msgid "Procedure argument at %L is local to a PURE procedure and is passed to an INTENT(%s) argument"
+ msgstr "Prozedurargument bei %L ist lokal für PURE-Prozedur und wird an Argument INTENT(%s) übergeben"
+
+-#: fortran/interface.c:2202
++#: fortran/interface.c:2377
+ #, no-c-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.c:2225
++#: fortran/interface.c:2400
+ #, no-c-format
+ msgid "Procedure '%s' called with an implicit interface at %L"
+ msgstr "Prozedur »%s« mit einer impliziten Schnittstelle bei %L aufgerufen"
+
+-#: fortran/interface.c:2440
++#: fortran/interface.c:2629
+ #, no-c-format
+ msgid "Function '%s' called in lieu of an operator at %L must be PURE"
+ msgstr "Die anstelle eines Operators aufgerufene Funktion »%s« bei %L muss PURE sein"
+
+-#: fortran/interface.c:2519
++#: fortran/interface.c:2708
+ #, no-c-format
+ msgid "Entity '%s' at %C is already present in the interface"
+ msgstr "Entität »%s« bei %C ist bereits in der Schnittstelle vorhanden"
+
+-#: fortran/intrinsic.c:2918
++#: fortran/intrinsic.c:2923
+ #, no-c-format
+ msgid "Too many arguments in call to '%s' at %L"
+ msgstr "Zu viele Argumente in Aufruf von »%s« bei %L"
+
+-#: fortran/intrinsic.c:2933
++#: fortran/intrinsic.c:2938
+ #, no-c-format
+ msgid "The argument list functions %%VAL, %%LOC or %%REF are not allowed in this context at %L"
+ msgstr "Die Argumentlistenfunktionen %%VAL, %%LOC oder %%REF bei %L sind in diesem Kontext nicht erlaubt"
+
+-#: fortran/intrinsic.c:2936
++#: fortran/intrinsic.c:2941
+ #, no-c-format
+ msgid "Can't find keyword named '%s' in call to '%s' at %L"
+ msgstr "Schlüsselwort »%s« in Aufruf von »%s« bei %L kann nicht gefunden werden"
+
+-#: fortran/intrinsic.c:2943
++#: fortran/intrinsic.c:2948
+ #, no-c-format
+ msgid "Argument '%s' is appears twice in call to '%s' at %L"
+ msgstr "Argument »%s« tritt im Aufruf von »%s« bei %L doppelt auf"
+
+-#: fortran/intrinsic.c:2957
++#: fortran/intrinsic.c:2962
+ #, no-c-format
+ msgid "Missing actual argument '%s' in call to '%s' at %L"
+ msgstr "Fehlendes effektives Argument »%s« in Aufruf von »%s« bei %L"
+
+-#: fortran/intrinsic.c:2972
++#: fortran/intrinsic.c:2977
+ #, no-c-format
+ msgid "ALTERNATE RETURN not permitted at %L"
+ msgstr "ALTERNATE RETURN bei %L nicht erlaubt"
+
+-#: fortran/intrinsic.c:3021
++#: fortran/intrinsic.c:3026
+ #, no-c-format
+ msgid "Type of argument '%s' in call to '%s' at %L should be %s, not %s"
+ msgstr "Typ des Arguments »%s« in Aufruf von »%s« bei %L sollte %s sein, nicht %s"
+
+-#: fortran/intrinsic.c:3337
++#: fortran/intrinsic.c:3342
+ #, no-c-format
+ msgid "Intrinsic '%s' at %L is not included in the selected standard"
+ msgstr "Intrinsisches »%s« bei %L ist nicht im gewählten Standard vorhanden"
+
+-#: fortran/intrinsic.c:3450
++#: fortran/intrinsic.c:3398
+ #, no-c-format
++msgid "Fortran 2003: Function '%s' as initialization expression at %L"
++msgstr "Fortran 2003: Funktion »%s« als Initialisierungsausdruck bei %L"
++
++#: fortran/intrinsic.c:3463
++#, no-c-format
+ msgid "Fortran 2003: Elemental function as initialization expression with non-integer/non-character arguments at %L"
+ msgstr "Fortran 2003: Elementare Funktion als Initialisierungsausdruck mit Nicht-Ganzzahl-/Nicht-Zeichen-Argumenten bei %L"
+
+-#: fortran/intrinsic.c:3508
++#: fortran/intrinsic.c:3524
+ #, no-c-format
+ msgid "Subroutine call to intrinsic '%s' at %L is not PURE"
+ msgstr "Unterprogrammaufruf des intrinsischen »%s« bei %L ist nicht PURE"
+
+-#: fortran/intrinsic.c:3579
++#: fortran/intrinsic.c:3595
+ #, no-c-format
+ msgid "Extension: Conversion from %s to %s at %L"
+ msgstr "Erweiterung: Umwandlung von %s in %s bei %L"
+
+-#: fortran/intrinsic.c:3582
++#: fortran/intrinsic.c:3598
+ #, no-c-format
+ msgid "Conversion from %s to %s at %L"
+ msgstr "Umwandlung von %s in %s bei %L"
+
+-#: fortran/intrinsic.c:3629
++#: fortran/intrinsic.c:3645
+ #, no-c-format
+ msgid "Can't convert %s to %s at %L"
+ msgstr "%s kann nicht nach %s bei %L umgewandelt werden"
+
+-#: fortran/io.c:156 fortran/primary.c:738
++#: fortran/io.c:156 fortran/primary.c:750
+ #, no-c-format
+ msgid "Extension: backslash character at %C"
+ msgstr "Erweiterung: Zeichen Backslash bei %C"
+@@ -7074,7 +7102,7 @@
+ msgid "CLOSE statement not allowed in PURE procedure at %C"
+ msgstr "CLOSE-Anweisung in PURE-Prozedur bei %C nicht erlaubt"
+
+-#: fortran/io.c:1955 fortran/match.c:1841
++#: fortran/io.c:1955 fortran/match.c:1911
+ #, no-c-format
+ msgid "%s statement not allowed in PURE procedure at %C"
+ msgstr "%s-Anweisung in PURE-Prozedur bei %C nicht erlaubt"
+@@ -7089,516 +7117,491 @@
+ msgid "Duplicate UNIT specification at %C"
+ msgstr "Doppelte UNIT-Spezifikation bei %C"
+
+-#: fortran/io.c:2128
++#: fortran/io.c:2132
+ #, no-c-format
+ msgid "Duplicate format specification at %C"
+ msgstr "Doppelte Format-Spezifikation bei %C"
+
+-#: fortran/io.c:2145
++#: fortran/io.c:2149
+ #, no-c-format
+ msgid "Symbol '%s' in namelist '%s' is INTENT(IN) at %C"
+ msgstr "Symbol »%s« in Namensliste »%s« ist INTENT(IN) bei %C"
+
+-#: fortran/io.c:2181
++#: fortran/io.c:2185
+ #, no-c-format
+ msgid "Duplicate NML specification at %C"
+ msgstr "Doppelte NML-Spezifikation bei %C"
+
+-#: fortran/io.c:2190
++#: fortran/io.c:2194
+ #, no-c-format
+ msgid "Symbol '%s' at %C must be a NAMELIST group name"
+ msgstr "Symbol »%s« bei %C muss ein NAMELIST-Gruppenname sein"
+
+-#: fortran/io.c:2231
++#: fortran/io.c:2235
+ #, no-c-format
+ msgid "END tag at %C not allowed in output statement"
+ msgstr "END-Tag bei %C in Ausgabe-Anweisung nicht erlaubt"
+
+-#: fortran/io.c:2288
++#: fortran/io.c:2292
+ #, no-c-format
+ msgid "UNIT specification at %L must be an INTEGER expression or a CHARACTER variable"
+ msgstr "UNIT-Spezifikation bei %L muss ein INTEGER-Ausdruck oder eine CHARACTER-Variable sein"
+
+-#: fortran/io.c:2297
++#: fortran/io.c:2301
+ #, no-c-format
+ msgid "Internal unit with vector subscript at %L"
+ msgstr "Interne Einheit mit Vektor-Index bei %L"
+
+-#: fortran/io.c:2304
++#: fortran/io.c:2308
+ #, no-c-format
+ msgid "External IO UNIT cannot be an array at %L"
+ msgstr "Externe IO UNIT kann kein Feld bei %L sein"
+
+-#: fortran/io.c:2314
++#: fortran/io.c:2318
+ #, no-c-format
+ msgid "ERR tag label %d at %L not defined"
+ msgstr "ERR-Marke %d bei %L nicht definiert"
+
+-#: fortran/io.c:2326
++#: fortran/io.c:2330
+ #, no-c-format
+ msgid "END tag label %d at %L not defined"
+ msgstr "END-Marke %d bei %L nicht definiert"
+
+-#: fortran/io.c:2338
++#: fortran/io.c:2342
+ #, no-c-format
+ msgid "EOR tag label %d at %L not defined"
+ msgstr "EOR-Marke %d bei %L nicht definiert"
+
+-#: fortran/io.c:2348
++#: fortran/io.c:2352
+ #, no-c-format
+ msgid "FORMAT label %d at %L not defined"
+ msgstr "FORMAT-Marke %d bei %L nicht definiert"
+
+-#: fortran/io.c:2469
++#: fortran/io.c:2473
+ #, no-c-format
+ msgid "Syntax error in I/O iterator at %C"
+ msgstr "Syntaxfehler in E/A-Iterator bei %C"
+
+-#: fortran/io.c:2500
++#: fortran/io.c:2504
+ #, no-c-format
+ msgid "Expected variable in READ statement at %C"
+ msgstr "Variable in READ-Anweisung bei %C erwartet"
+
+-#: fortran/io.c:2506
++#: fortran/io.c:2510
+ #, no-c-format
+ msgid "Expected expression in %s statement at %C"
+ msgstr "Ausdruck in %s-Anweisung bei %C erwartet"
+
+-#: fortran/io.c:2516
++#: fortran/io.c:2520
+ #, no-c-format
+ msgid "Variable '%s' in input list at %C cannot be INTENT(IN)"
+ msgstr "Variable »%s« in Eingabeliste bei %C kann nicht INTENT(IN) sein"
+
+-#: fortran/io.c:2525
++#: fortran/io.c:2529
+ #, no-c-format
+ msgid "Cannot read to variable '%s' in PURE procedure at %C"
+ msgstr "In Variable »%s« in PURE-Prozedur bei %C kann nicht gelesen werden"
+
+-#: fortran/io.c:2541
++#: fortran/io.c:2545
+ #, no-c-format
+ msgid "Cannot write to internal file unit '%s' at %C inside a PURE procedure"
+ msgstr "In interne Dateieinheit »%s« bei %C innerhalb PURE-Prozedur kann nicht geschrieben werden"
+
+ #. A general purpose syntax error.
+-#: fortran/io.c:2602 fortran/io.c:3004 fortran/gfortran.h:1998
++#: fortran/io.c:2606 fortran/io.c:3013 fortran/gfortran.h:2002
+ #, no-c-format
+ msgid "Syntax error in %s statement at %C"
+ msgstr "Syntaxfehler in Anweisung %s bei %C"
+
+-#: fortran/io.c:2670
++#: fortran/io.c:2679
+ #, no-c-format
+ msgid "Fortran 2003: Internal file at %L with namelist"
+ msgstr "Fortran 2003: Interne Datei bei %L mit Namensliste"
+
+-#: fortran/io.c:2833
++#: fortran/io.c:2842
+ #, no-c-format
+ msgid "PRINT namelist at %C is an extension"
+ msgstr "PRINT-Namensliste bei %C ist eine Erweiterung"
+
+-#: fortran/io.c:2965
++#: fortran/io.c:2974
+ #, no-c-format
+ msgid "Extension: Comma before i/o item list at %C"
+ msgstr "Erweiterung: Komma vor Ein-/Ausgabeelementliste bei %C"
+
+-#: fortran/io.c:2974
++#: fortran/io.c:2983
+ #, no-c-format
+ msgid "Expected comma in I/O list at %C"
+ msgstr "Komma in E/A-Liste bei %C erwartet"
+
+-#: fortran/io.c:3036
++#: fortran/io.c:3045
+ #, no-c-format
+ msgid "PRINT statement at %C not allowed within PURE procedure"
+ msgstr "PRINT-Anweisung bei %C innerhalb PURE-Prozedur nicht erlaubt"
+
+-#: fortran/io.c:3176 fortran/io.c:3227
++#: fortran/io.c:3185 fortran/io.c:3236
+ #, no-c-format
+ msgid "INQUIRE statement not allowed in PURE procedure at %C"
+ msgstr "INQUIRE-Anweisung in PURE-Prozedur bei %C nicht erlaubt"
+
+-#: fortran/io.c:3203
++#: fortran/io.c:3212
+ #, no-c-format
+ msgid "IOLENGTH tag invalid in INQUIRE statement at %C"
+ msgstr "IOLENGTH-Markierung in INQUIRE-Anweisung bei %C ungültig"
+
+-#: fortran/io.c:3213 fortran/trans-io.c:1144
++#: fortran/io.c:3222 fortran/trans-io.c:1145
+ #, no-c-format
+ msgid "INQUIRE statement at %L cannot contain both FILE and UNIT specifiers"
+ msgstr "INQUIRE-Anweisung bei %L kann nicht sowohl FILE- als auch UNIT-Spezifikationssymbole enthalten"
+
+-#: fortran/io.c:3220
++#: fortran/io.c:3229
+ #, no-c-format
+ msgid "INQUIRE statement at %L requires either FILE or UNIT specifier"
+ msgstr "INQUIRE-Anweisung bei %L erfordert entweder FILE- oder UNIT-Spezifikationssymbol"
+
+-#: fortran/match.c:270
++#: fortran/match.c:156
+ #, no-c-format
++msgid "Missing ')' in statement before %L"
++msgstr "Fehlendes »)« in Anweisung vor %L"
++
++#: fortran/match.c:161
++#, no-c-format
++msgid "Missing '(' in statement before %L"
++msgstr "Fehlendes »(« in Anweisung vor %L"
++
++#: fortran/match.c:332
++#, no-c-format
+ msgid "Integer too large at %C"
+ msgstr "Ganzzahl bei %C zu groß"
+
+-#: fortran/match.c:363 fortran/parse.c:442
++#: fortran/match.c:425 fortran/parse.c:589
+ #, no-c-format
+ msgid "Too many digits in statement label at %C"
+ msgstr "Zu viele Ziffern in Anweisungsmarke bei %C"
+
+-#: fortran/match.c:369
++#: fortran/match.c:431
+ #, no-c-format
+ msgid "Statement label at %C is zero"
+ msgstr "Anweisungsmarke bei %C ist Null"
+
+-#: fortran/match.c:402
++#: fortran/match.c:464
+ #, no-c-format
+ msgid "Label name '%s' at %C is ambiguous"
+ msgstr "Markenname »%s« bei %C ist mehrdeutig"
+
+-#: fortran/match.c:408
++#: fortran/match.c:470
+ #, no-c-format
+ msgid "Duplicate construct label '%s' at %C"
+ msgstr "Doppelte Aufbau-Marke »%s« bei %C"
+
+-#: fortran/match.c:438
++#: fortran/match.c:500
+ #, no-c-format
+ msgid "Invalid character in name at %C"
+ msgstr "Ungültiges Zeichen in Name bei %C"
+
+-#: fortran/match.c:451 fortran/match.c:523
++#: fortran/match.c:513 fortran/match.c:585
+ #, no-c-format
+ msgid "Name at %C is too long"
+ msgstr "Name bei %C ist zu lang"
+
+-#: fortran/match.c:506 fortran/match.c:552
++#: fortran/match.c:568 fortran/match.c:614
+ #, no-c-format
+ msgid "Invalid C name in NAME= specifier at %C"
+ msgstr "Ungültiger C-Name in NAME=-Spezifizierung bei %C"
+
+-#: fortran/match.c:543
++#: fortran/match.c:605
+ #, no-c-format
+ msgid "Embedded space in NAME= specifier at %C"
+ msgstr "Eingeschlossenes Leerzeichen in NAME=-Spezifizierung bei %C"
+
+-#: fortran/match.c:868
++#: fortran/match.c:930
+ #, no-c-format
+ msgid "Loop variable at %C cannot be a sub-component"
+ msgstr "Schleifenvariable bei %C kann keine Unter-Komponente sein"
+
+-#: fortran/match.c:874
++#: fortran/match.c:936
+ #, no-c-format
+ msgid "Loop variable '%s' at %C cannot be INTENT(IN)"
+ msgstr "Schleifenvariable »%s« bei %C kann nicht INTENT(IN) sein"
+
+-#: fortran/match.c:907
++#: fortran/match.c:969
+ #, no-c-format
+ msgid "Expected a step value in iterator at %C"
+ msgstr "Schrittvariable in Iterator bei %C erwartet"
+
+-#: fortran/match.c:919
++#: fortran/match.c:981
+ #, no-c-format
+ msgid "Syntax error in iterator at %C"
+ msgstr "Syntaxfehler in Iterator bei %C"
+
+-#: fortran/match.c:1155
++#: fortran/match.c:1217
+ #, no-c-format
+ msgid "Invalid form of PROGRAM statement at %C"
+ msgstr "Ungültige Form der PROGRAM-Anweisung bei %C"
+
+-#: fortran/match.c:1196
++#: fortran/match.c:1258
+ #, no-c-format
+ msgid "Setting value of PROTECTED variable at %C"
+ msgstr "Wert der PROTECTED-Variable bei %C wird gesetzt"
+
+-#: fortran/match.c:1249
++#: fortran/match.c:1311
+ #, no-c-format
+ msgid "Assigning to a PROTECTED pointer at %C"
+ msgstr "Zuweisung an PROTECTED-Zeiger bei %C"
+
+-#: fortran/match.c:1292 fortran/match.c:1365
++#: fortran/match.c:1354 fortran/match.c:1435
+ #, no-c-format
+ msgid "Obsolescent: arithmetic IF statement at %C"
+ msgstr "Veraltet: Arithmetische IF-Anweisung bei %C"
+
+-#: fortran/match.c:1340
++#: fortran/match.c:1410
+ #, no-c-format
+ msgid "Syntax error in IF-expression at %C"
+ msgstr "Syntaxfehler in IF-Ausdruck bei %C"
+
+-#: fortran/match.c:1351
++#: fortran/match.c:1421
+ #, no-c-format
+ msgid "Block label not appropriate for arithmetic IF statement at %C"
+ msgstr "Blockmarke passt nicht zu arithmetischer IF-Anweisung bei %C"
+
+-#: fortran/match.c:1389
++#: fortran/match.c:1459
+ #, no-c-format
+-msgid "Block label is not appropriate IF statement at %C"
+-msgstr "Blockmarke ist keine geeignete IF-Anweisung bei %C"
++msgid "Block label is not appropriate for IF statement at %C"
++msgstr "Blockmarke ist ungeeignet für IF-Anweisung bei %C"
+
+-#: fortran/match.c:1468 fortran/primary.c:2522
++#: fortran/match.c:1538 fortran/primary.c:2559
+ #, no-c-format
+ msgid "Cannot assign to a named constant at %C"
+ msgstr "An benannte Konstante bei %C kann nicht zugewiesen werden"
+
+-#: fortran/match.c:1478
++#: fortran/match.c:1548
+ #, no-c-format
+ msgid "Unclassifiable statement in IF-clause at %C"
+ msgstr "Anweisung in IF-Klausel bei %C nicht klassifizierbar"
+
+-#: fortran/match.c:1485
++#: fortran/match.c:1555
+ #, no-c-format
+ msgid "Syntax error in IF-clause at %C"
+ msgstr "Syntaxfehler in IF-Klausel bei %C"
+
+-#: fortran/match.c:1529
++#: fortran/match.c:1599
+ #, no-c-format
+ msgid "Unexpected junk after ELSE statement at %C"
+ msgstr "Unerwartete Zeichen hinter ELSE-Anweisung bei %C"
+
+-#: fortran/match.c:1535 fortran/match.c:1570
++#: fortran/match.c:1605 fortran/match.c:1640
+ #, no-c-format
+ msgid "Label '%s' at %C doesn't match IF label '%s'"
+ msgstr "Marke »%s« bei %C passt nicht zur IF-Marke »%s«"
+
+-#: fortran/match.c:1564
++#: fortran/match.c:1634
+ #, no-c-format
+ msgid "Unexpected junk after ELSE IF statement at %C"
+ msgstr "Unerwartete Zeichen hinter ELSE-IF-Anweisung bei %C"
+
+-#: fortran/match.c:1727
++#: fortran/match.c:1797
+ #, no-c-format
+ msgid "Name '%s' in %s statement at %C is not a loop name"
+ msgstr "Name »%s« in %s-Anweisung bei %C ist kein Schleifenname"
+
+-#: fortran/match.c:1743
++#: fortran/match.c:1813
+ #, no-c-format
+ msgid "%s statement at %C is not within a loop"
+ msgstr "Anweisung %s bei %C nicht innerhalb einer Schleife"
+
+-#: fortran/match.c:1746
++#: fortran/match.c:1816
+ #, no-c-format
+ msgid "%s statement at %C is not within loop '%s'"
+ msgstr "Anweisung %s bei %C nicht innerhalb der Schleife »%s«"
+
+-#: fortran/match.c:1754
++#: fortran/match.c:1824
+ #, no-c-format
+ msgid "%s statement at %C leaving OpenMP structured block"
+ msgstr "Anweisung %s bei %C hinterlässt OpenMP-strukturierten Block"
+
+-#: fortran/match.c:1767
++#: fortran/match.c:1837
+ #, no-c-format
+ msgid "EXIT statement at %C terminating !$OMP DO loop"
+ msgstr "EXIT-Anweisung bei %C beendet !$OMP DO Schleife"
+
+-#: fortran/match.c:1819
++#: fortran/match.c:1889
+ #, no-c-format
+ msgid "Too many digits in STOP code at %C"
+ msgstr "Zu viele Ziffern in STOP-Code bei %C"
+
+-#: fortran/match.c:1872
++#: fortran/match.c:1942
+ #, no-c-format
+ msgid "Deleted feature: PAUSE statement at %C"
+ msgstr "Gelöschte Funktion: PAUSE-Anweisung bei %C"
+
+-#: fortran/match.c:1920
++#: fortran/match.c:1990
+ #, no-c-format
+ msgid "Deleted feature: ASSIGN statement at %C"
+ msgstr "Gelöschte Funktion: ASSIGN-Anweisung bei %C"
+
+-#: fortran/match.c:1966
++#: fortran/match.c:2036
+ #, no-c-format
+ msgid "Deleted feature: Assigned GOTO statement at %C"
+ msgstr "Gelöschte Funktion: Zugewiesene GOTO-Anweisung bei %C"
+
+-#: fortran/match.c:2013 fortran/match.c:2065
++#: fortran/match.c:2083 fortran/match.c:2135
+ #, no-c-format
+ msgid "Statement label list in GOTO at %C cannot be empty"
+ msgstr "Anweisungsmarkenliste in GOTO bei %C kann nicht leer sein"
+
+-#: fortran/match.c:2149
++#: fortran/match.c:2219
+ #, no-c-format
+ msgid "Bad allocate-object in ALLOCATE statement at %C for a PURE procedure"
+ msgstr "Falsches Reservierungs-Objekt in ALLOCATE-Anweisung bei %C für eine PURE-Prozedur"
+
+-#: fortran/match.c:2173
++#: fortran/match.c:2287
+ #, no-c-format
+-msgid "STAT variable '%s' of ALLOCATE statement at %C cannot be INTENT(IN)"
+-msgstr "STAT-Variable »%s« der ALLOCATE-Anweisung bei %C kann nicht INTENT(IN) sein"
+-
+-#: fortran/match.c:2180
+-#, no-c-format
+-msgid "Illegal STAT variable in ALLOCATE statement at %C for a PURE procedure"
+-msgstr "Illegale STAT-Variable in ALLOCATE-Anweisung bei %C für eine PURE-Prozedur"
+-
+-#: fortran/match.c:2218 fortran/match.c:2382
+-#, no-c-format
+-msgid "STAT expression at %C must be a variable"
+-msgstr "STAT-Ausdruck bei %C muss eine Variable sein"
+-
+-#: fortran/match.c:2272
+-#, no-c-format
+ msgid "Illegal variable in NULLIFY at %C for a PURE procedure"
+ msgstr "Illegale Variable in NULLIFY bei %C für eine PURE-Prozedur"
+
+-#: fortran/match.c:2349
++#: fortran/match.c:2364
+ #, no-c-format
+ msgid "Illegal deallocate-expression in DEALLOCATE at %C for a PURE procedure"
+ msgstr "Illegaler Freigabeausdruck in DEALLOCATE bei %C für eine PURE-Prozedur"
+
+-#: fortran/match.c:2368
++#: fortran/match.c:2417
+ #, no-c-format
+-msgid "STAT variable '%s' of DEALLOCATE statement at %C cannot be INTENT(IN)"
+-msgstr "STAT-Variable »%s« der DEALLOCATE-Anweisung bei %C kann nicht INTENT(IN) sein"
+-
+-#: fortran/match.c:2375
+-#, no-c-format
+-msgid "Illegal STAT variable in DEALLOCATE statement at %C for a PURE procedure"
+-msgstr "Illegale STAT-Variable in DEALLOCATE-Anweisung bei %C für eine PURE-Prozedur"
+-
+-#: fortran/match.c:2424
+-#, no-c-format
+ msgid "Alternate RETURN statement at %C is only allowed within a SUBROUTINE"
+ msgstr "Alternative RETURN-Anweisung bei %C ist nur innerhalb einer SUBROUTINE erlaubt"
+
+-#: fortran/match.c:2455
++#: fortran/match.c:2448
+ #, no-c-format
+ msgid "Extension: RETURN statement in main program at %C"
+ msgstr "Erweiterung: RETURN-Anweisung im Hauptprogramm bei %C"
+
+-#: fortran/match.c:2665
++#: fortran/match.c:2658
+ #, no-c-format
+ msgid "Syntax error in common block name at %C"
+ msgstr "Syntaxfehler im allgemeinen Blocknamen bei %C"
+
+-#: fortran/match.c:2701
++#: fortran/match.c:2694
+ #, no-c-format
+ msgid "Symbol '%s' at %C is already an external symbol that is not COMMON"
+ msgstr "Symbol »%s« bei %C ist bereits ein externes Symbol, das nicht COMMON ist"
+
+-#: fortran/match.c:2719
+-#, no-c-format
+-msgid "BLOCK DATA unit cannot contain blank COMMON at %C"
+-msgstr "BLOCK DATA-Einheit kann kein leeres COMMON bei %C enthalten"
+-
+ #. If we find an error, just print it and continue,
+ #. cause it's just semantic, and we can see if there
+ #. are more errors.
+-#: fortran/match.c:2765
++#: fortran/match.c:2753
+ #, no-c-format
+ msgid "Variable '%s' at %L in common block '%s' at %C must be declared with a C interoperable kind since common block '%s' is bind(c)"
+ msgstr "Variable »%s« bei %L in Common-Block »%s« bei %C muss in einer C-kompatiblen Art deklariert sein, da Common-Block »%s« bind(c) ist"
+
+-#: fortran/match.c:2774
++#: fortran/match.c:2762
+ #, no-c-format
+ msgid "Variable '%s' in common block '%s' at %C can not be bind(c) since it is not global"
+ msgstr "Variable »%s« in Common-Block »%s« bei %C kann nicht bind(c) sein, da sie nicht global ist"
+
+-#: fortran/match.c:2781
++#: fortran/match.c:2769
+ #, no-c-format
+ msgid "Symbol '%s' at %C is already in a COMMON block"
+ msgstr "Symbol »%s« bei %C ist bereits in einem COMMON-Block"
+
+-#: fortran/match.c:2793
++#: fortran/match.c:2777
+ #, no-c-format
+-msgid "Previously initialized symbol '%s' in blank COMMON block at %C"
+-msgstr "Vorher initialisiertes Symbol »%s« in leerem COMMON-Block bei %C"
++msgid "Initialized symbol '%s' at %C can only be COMMON in BLOCK DATA"
++msgstr "Initialisiertes Symbol »%s« bei %C kann nur COMMON in BLOCK DATA sein"
+
+-#: fortran/match.c:2796
++#: fortran/match.c:2804
+ #, no-c-format
+-msgid "Previously initialized symbol '%s' in COMMON block '%s' at %C"
+-msgstr "Vorher initialisiertes Symbol »%s« in COMMON-Block »%s« bei %C"
+-
+-#: fortran/match.c:2821
+-#, no-c-format
+ msgid "Array specification for symbol '%s' in COMMON at %C must be explicit"
+ msgstr "Feldspezifikation für Symbol »%s« in COMMON bei %C muss explizit sein"
+
+-#: fortran/match.c:2831
++#: fortran/match.c:2814
+ #, no-c-format
+ msgid "Symbol '%s' in COMMON at %C cannot be a POINTER array"
+ msgstr "Symbol »%s« in COMMON bei %C kann kein POINTER-Feld sein"
+
+-#: fortran/match.c:2863
++#: fortran/match.c:2846
+ #, no-c-format
+ msgid "Symbol '%s', in COMMON block '%s' at %C is being indirectly equivalenced to another COMMON block '%s'"
+ msgstr "Symbol »%s« in COMMON-Block »%s« bei %C ist indirekt äquivalent zu anderem COMMON-Block »%s«"
+
+-#: fortran/match.c:2971
++#: fortran/match.c:2954
+ #, no-c-format
+ msgid "Namelist group name '%s' at %C already has a basic type of %s"
+ msgstr "Gruppenname »%s« der Namensliste bei %C hat bereits einen Basistypen von »%s«"
+
+-#: fortran/match.c:2979
++#: fortran/match.c:2962
+ #, no-c-format
+ msgid "Namelist group name '%s' at %C already is USE associated and cannot be respecified."
+ msgstr "Gruppenname »%s« der Namensliste bei %C ist bereits USE-verbunden und kann nicht respezifiziert werden."
+
+-#: fortran/match.c:3006
++#: fortran/match.c:2989
+ #, no-c-format
+ msgid "Assumed size array '%s' in namelist '%s' at %C is not allowed"
+ msgstr "Feld »%s« mit vermuteter Größe in Namensliste »%s« bei %C ist nicht erlaubt"
+
+-#: fortran/match.c:3013
++#: fortran/match.c:2996
+ #, no-c-format
+ msgid "Assumed character length '%s' in namelist '%s' at %C is not allowed"
+ msgstr "Vermutete Zeichenlänge »%s« in Namensliste »%s« bei %C ist nicht erlaubt"
+
+-#: fortran/match.c:3140
++#: fortran/match.c:3123
+ #, no-c-format
+ msgid "Derived type component %C is not a permitted EQUIVALENCE member"
+ msgstr "Komponente %C abgeleiteten Typs ist kein zulässiges EQUIVALENCE-Element"
+
+-#: fortran/match.c:3148
++#: fortran/match.c:3131
+ #, no-c-format
+ msgid "Array reference in EQUIVALENCE at %C cannot be an array section"
+ msgstr "Feldreferenz in EQUIVALENCE bei %C kann kein Feldabschnitt sein"
+
+-#: fortran/match.c:3176
++#: fortran/match.c:3159
+ #, no-c-format
+ msgid "EQUIVALENCE at %C requires two or more objects"
+ msgstr "EQUIVALENCE bei %C erfordert zwei oder mehr Objekte"
+
+-#: fortran/match.c:3190
++#: fortran/match.c:3173
+ #, no-c-format
+ msgid "Attempt to indirectly overlap COMMON blocks %s and %s by EQUIVALENCE at %C"
+ msgstr "Versuch, die COMMON-Blöcke %s und %s durch EQUIVALENCE bei %C indirekt zu überschneiden"
+
+-#: fortran/match.c:3351
++#: fortran/match.c:3299
+ #, no-c-format
+ msgid "Statement function at %L is recursive"
+ msgstr "Anweisungsfunktion bei %L ist rekursiv"
+
+-#: fortran/match.c:3439
++#: fortran/match.c:3387
+ #, no-c-format
+ msgid "Expected initialization expression in CASE at %C"
+ msgstr "Erwarteter Initialisierungsausdruck in CASE bei %C"
+
+-#: fortran/match.c:3462
++#: fortran/match.c:3410
+ #, no-c-format
+ msgid "Expected the name of the SELECT CASE construct at %C"
+ msgstr "Name des select-case-Konstrukts bei %C erwartet"
+
+-#: fortran/match.c:3474
++#: fortran/match.c:3422
+ #, no-c-format
+ msgid "Expected case name of '%s' at %C"
+ msgstr "Erwarteter Fallname von »%s« bei %C"
+
+-#: fortran/match.c:3518
++#: fortran/match.c:3466
+ #, no-c-format
+ msgid "Unexpected CASE statement at %C"
+ msgstr "Unerwartete CASE-Anweisung bei %C"
+
+-#: fortran/match.c:3570
++#: fortran/match.c:3518
+ #, no-c-format
+ msgid "Syntax error in CASE-specification at %C"
+ msgstr "Syntaxfehler in CASE-Spezifikation bei %C"
+
+-#: fortran/match.c:3690
++#: fortran/match.c:3638
+ #, no-c-format
+ msgid "ELSEWHERE statement at %C not enclosed in WHERE block"
+ msgstr "ELSEWHERE-Anweisung bei %C nicht eingeschlossen in WHERE-Block"
+
+-#: fortran/match.c:3728
++#: fortran/match.c:3676
+ #, no-c-format
+ msgid "Label '%s' at %C doesn't match WHERE label '%s'"
+ msgstr "Marke »%s« bei %C passt nicht zur WHERE-Marke »%s«"
+
+-#: fortran/match.c:3828
++#: fortran/match.c:3776
+ #, no-c-format
+ msgid "Syntax error in FORALL iterator at %C"
+ msgstr "Syntaxfehler in FORALL-Iterator bei %C"
+@@ -7628,7 +7631,8 @@
+ msgid "Expected exponent in expression at %C"
+ msgstr "Exponent in Ausdruck bei %C erwartet"
+
+-#: fortran/matchexp.c:348 fortran/matchexp.c:452
++#: fortran/matchexp.c:350 fortran/matchexp.c:355 fortran/matchexp.c:459
++#: fortran/matchexp.c:464
+ #, no-c-format
+ msgid "Extension: Unary operator following arithmetic operator (use parentheses) at %C"
+ msgstr "Erweiterung: Unärer Operator hinter arithmetischem Operator bei %C (Klammern verwenden)"
+@@ -7753,123 +7757,123 @@
+ msgid "Expected real string"
+ msgstr "Echte Zeichenkette erwartet"
+
+-#: fortran/module.c:2722
++#: fortran/module.c:2730
+ msgid "Expected expression type"
+ msgstr "Ausdruckstyp erwartet"
+
+-#: fortran/module.c:2776
++#: fortran/module.c:2784
+ msgid "Bad operator"
+ msgstr "Falscher Operator"
+
+-#: fortran/module.c:2861
++#: fortran/module.c:2869
+ msgid "Bad type in constant expression"
+ msgstr "Falscher Typ in Konstanten-Ausdruck"
+
+-#: fortran/module.c:2898
++#: fortran/module.c:2906
+ #, no-c-format
+ msgid "Namelist %s cannot be renamed by USE association to %s"
+ msgstr "Namensliste %s kann nicht mit USE-Verbindung in %s umbenannt werden"
+
+-#: fortran/module.c:3723
++#: fortran/module.c:3847
+ #, no-c-format
+ msgid "Symbol '%s' referenced at %L not found in module '%s'"
+ msgstr "Bei %2$L referenziertes Symbol »%1$s« nicht im Modul »%3$s« gefunden"
+
+-#: fortran/module.c:3730
++#: fortran/module.c:3854
+ #, no-c-format
+ msgid "User operator '%s' referenced at %L not found in module '%s'"
+ msgstr "Bei %2$L referenzierter Benutzeroperator »%1$s« nicht im Modul »%3$s« gefunden"
+
+-#: fortran/module.c:3735
++#: fortran/module.c:3859
+ #, no-c-format
+ msgid "Intrinsic operator '%s' referenced at %L not found in module '%s'"
+ msgstr "Bei %2$L referenzierter intrinsischer Operator »%1$s« nicht im Modul »%3$s« gefunden"
+
+-#: fortran/module.c:4213
++#: fortran/module.c:4400
+ #, no-c-format
+ msgid "Can't open module file '%s' for writing at %C: %s"
+ msgstr "Moduldatei »%s« kann bei %C nicht zum Schreiben geöffnet werden: %s"
+
+-#: fortran/module.c:4251
++#: fortran/module.c:4438
+ #, no-c-format
+ msgid "Error writing module file '%s' for writing: %s"
+ msgstr "Fehler beim Schreiben der Moduldatei »%s«: %s"
+
+-#: fortran/module.c:4281 fortran/module.c:4363
++#: fortran/module.c:4468 fortran/module.c:4550
+ #, no-c-format
+ msgid "Symbol '%s' referenced at %L does not exist in intrinsic module ISO_C_BINDING."
+ msgstr "Bei %2$L referenziertes Symbol »%1$s« existiert nicht im intrinsischen Modul ISO_C_BINDING."
+
+-#: fortran/module.c:4394
++#: fortran/module.c:4581
+ #, no-c-format
+ msgid "Symbol '%s' referenced at %L not found in intrinsic module ISO_C_BINDING"
+ msgstr "Bei %2$L referenziertes Symbol »%1$s« nicht im Modul ISO_C_BINDING gefunden"
+
+-#: fortran/module.c:4416
++#: fortran/module.c:4603
+ #, no-c-format
+ msgid "Symbol '%s' already declared"
+ msgstr "Symbol »%s« bereits deklariert"
+
+-#: fortran/module.c:4471
++#: fortran/module.c:4658
+ #, no-c-format
+ msgid "Use of intrinsic module '%s' at %C conflicts with non-intrinsic module name used previously"
+ msgstr "Verwendung des intrinsischen Moduls »%s« bei »%C« steht mit nicht-intrinsischem vorher verwendeten Modulnamen in Konflikt"
+
+-#: fortran/module.c:4484
++#: fortran/module.c:4671
+ #, no-c-format
+ msgid "Symbol '%s' referenced at %L does not exist in intrinsic module ISO_FORTRAN_ENV"
+ msgstr "Bei %2$L referenziertes Symbol »%1$s« existiert nicht im intrinsischen Modul ISO_FORTRAN_ENV"
+
+-#: fortran/module.c:4492
++#: fortran/module.c:4679
+ #, no-c-format
+ msgid "Use of the NUMERIC_STORAGE_SIZE named constant from intrinsic module ISO_FORTRAN_ENV at %L is incompatible with option %s"
+ msgstr "Verwendung der Konstante NUMERIC_STORAGE_SIZE aus intrinsischem Modul ISO_FORTRAN_ENV bei %L ist mit Option %s unverträglich"
+
+-#: fortran/module.c:4520
++#: fortran/module.c:4707
+ #, no-c-format
+ msgid "Use of the NUMERIC_STORAGE_SIZE named constant from intrinsic module ISO_FORTRAN_ENV at %C is incompatible with option %s"
+ msgstr "Verwendung der Konstante NUMERIC_STORAGE_SIZE aus intrinsischem Modul ISO_FORTRAN_ENV bei %C ist mit Option %s unverträglich"
+
+-#: fortran/module.c:4536
++#: fortran/module.c:4723
+ #, no-c-format
+ msgid "Symbol '%s' referenced at %L not found in intrinsic module ISO_FORTRAN_ENV"
+ msgstr "Bei %2$L referenziertes Symbol »%1$s« nicht im intrinsischen Modul ISO_FORTRAN_ENV gefunden"
+
+-#: fortran/module.c:4569
++#: fortran/module.c:4756
+ #, no-c-format
+ msgid "Fortran 2003: ISO_FORTRAN_ENV intrinsic module at %C"
+ msgstr "Fortran 2003: Intrinsisches Modul ISO_FORTRAN_ENV bei %C"
+
+-#: fortran/module.c:4577
++#: fortran/module.c:4764
+ #, no-c-format
+ msgid "Fortran 2003: ISO_C_BINDING module at %C"
+ msgstr "Fortran 2003: Modul ISO_C_BINDING bei %C"
+
+-#: fortran/module.c:4587
++#: fortran/module.c:4774
+ #, no-c-format
+ msgid "Can't find an intrinsic module named '%s' at %C"
+ msgstr "Intrinsisches Modul »%s« bei %C nicht gefunden"
+
+-#: fortran/module.c:4592
++#: fortran/module.c:4779
+ #, no-c-format
+ msgid "Can't open module file '%s' for reading at %C: %s"
+ msgstr "Moduldatei »%s« kann bei %C nicht zum Lesen geöffnet werden: %s"
+
+-#: fortran/module.c:4600
++#: fortran/module.c:4787
+ #, no-c-format
+ msgid "Use of non-intrinsic module '%s' at %C conflicts with intrinsic module name used previously"
+ msgstr "Verwendung des nicht-intrinsischen Moduls »%s« bei %C steht mit vorher verwendetem intrinsischen Modulnamen in Konflikt"
+
+-#: fortran/module.c:4615
++#: fortran/module.c:4802
+ msgid "Unexpected end of module"
+ msgstr "Unerwartetes Modulende"
+
+-#: fortran/module.c:4620
++#: fortran/module.c:4807
+ #, no-c-format
+ msgid "File '%s' opened at %C is not a GFORTRAN module file"
+ msgstr "Bei %2$C geöffnete Datei »%1$s« ist keine GFORTRAN-Moduldatei"
+
+-#: fortran/module.c:4630
++#: fortran/module.c:4817
+ #, no-c-format
+ msgid "Can't USE the same module we're building!"
+ msgstr "Das gerade erzeugte Modul kann nicht gleichzeitig verwendet werden (USE)!"
+@@ -7899,7 +7903,7 @@
+ msgid "Syntax error in !$OMP THREADPRIVATE list at %C"
+ msgstr "Syntaxfehler in !$OMP THREADPRIVATE Liste bei %C"
+
+-#: fortran/openmp.c:696 fortran/resolve.c:5822 fortran/resolve.c:6133
++#: fortran/openmp.c:696 fortran/resolve.c:5970 fortran/resolve.c:6317
+ #, no-c-format
+ msgid "IF clause at %L requires a scalar LOGICAL expression"
+ msgstr "IF-Klausel bei %L erfordert einen skalaren LOGICAL-Ausdruck"
+@@ -8195,299 +8199,299 @@
+ msgid "Maximum subrecord length cannot exceed %d"
+ msgstr "Höchste Teildatensatzlänge kann %d nicht überschreiten"
+
+-#: fortran/parse.c:304
++#: fortran/parse.c:451
+ #, no-c-format
+ msgid "Unclassifiable statement at %C"
+ msgstr "Nicht klassifizierbare Anweisung bei %C"
+
+-#: fortran/parse.c:328
++#: fortran/parse.c:475
+ #, no-c-format
+ msgid "OpenMP directives at %C may not appear in PURE or ELEMENTAL procedures"
+ msgstr "OpenMP-Anweisungen bei %C dürfen in PURE- oder ELEMENTAL-Prozeduren nicht auftreten"
+
+-#: fortran/parse.c:406
++#: fortran/parse.c:553
+ #, no-c-format
+ msgid "Unclassifiable OpenMP directive at %C"
+ msgstr "Nicht klassifizierbare OpenMP-Anweisung bei %C"
+
+-#: fortran/parse.c:445 fortran/parse.c:586
++#: fortran/parse.c:592 fortran/parse.c:733
+ #, no-c-format
+ msgid "Zero is not a valid statement label at %C"
+ msgstr "Null ist keine gültige Anweisungsmarke bei %C"
+
+-#: fortran/parse.c:452 fortran/parse.c:578
++#: fortran/parse.c:599 fortran/parse.c:725
+ #, no-c-format
+ msgid "Non-numeric character in statement label at %C"
+ msgstr "Nicht-numerisches Zeichen in Anweisungsmarke bei %C"
+
+-#: fortran/parse.c:464 fortran/parse.c:500 fortran/parse.c:626
++#: fortran/parse.c:611 fortran/parse.c:647 fortran/parse.c:773
+ #, no-c-format
+ msgid "Semicolon at %C needs to be preceded by statement"
+ msgstr "Semikolon bei %C muss Anweisung vorausgehen"
+
+-#: fortran/parse.c:472 fortran/parse.c:638
++#: fortran/parse.c:619 fortran/parse.c:785
+ #, no-c-format
+ msgid "Ignoring statement label in empty statement at %C"
+ msgstr "Anweisungsmarke in leerer Anweisung bei %C wird ignoriert"
+
+-#: fortran/parse.c:565 fortran/parse.c:605
++#: fortran/parse.c:712 fortran/parse.c:752
+ #, no-c-format
+ msgid "Bad continuation line at %C"
+ msgstr "Falsche Fortsetzungszeile bei %C"
+
+-#: fortran/parse.c:664
++#: fortran/parse.c:811
+ #, no-c-format
+ msgid "Line truncated at %C"
+ msgstr "Zeile bei %C wird abgeschnitten"
+
+-#: fortran/parse.c:841
++#: fortran/parse.c:997
+ #, no-c-format
+ msgid "FORMAT statement at %L does not have a statement label"
+ msgstr "FORMAT-Anweisung bei %L hat keine Anweisungsmarke"
+
+-#: fortran/parse.c:913
++#: fortran/parse.c:1069
+ msgid "arithmetic IF"
+ msgstr "arithmetisches IF"
+
+-#: fortran/parse.c:919
++#: fortran/parse.c:1075
+ msgid "attribute declaration"
+ msgstr "Attribut-Deklaration"
+
+-#: fortran/parse.c:949
++#: fortran/parse.c:1105
+ msgid "data declaration"
+ msgstr "Daten-Deklaration"
+
+-#: fortran/parse.c:958
++#: fortran/parse.c:1114
+ msgid "derived type declaration"
+ msgstr "Deklaration eines abgeleiteten Typs"
+
+-#: fortran/parse.c:1037
++#: fortran/parse.c:1193
+ msgid "block IF"
+ msgstr "Block-IF"
+
+-#: fortran/parse.c:1046
++#: fortran/parse.c:1202
+ msgid "implied END DO"
+ msgstr "impliziertes END DO"
+
+-#: fortran/parse.c:1119
++#: fortran/parse.c:1275
+ msgid "assignment"
+ msgstr "Zuweisung"
+
+-#: fortran/parse.c:1122
++#: fortran/parse.c:1278
+ msgid "pointer assignment"
+ msgstr "Zeigerzuweisung"
+
+-#: fortran/parse.c:1131
++#: fortran/parse.c:1287
+ msgid "simple IF"
+ msgstr "einfaches IF"
+
+-#: fortran/parse.c:1347
++#: fortran/parse.c:1503
+ #, no-c-format
+ msgid "Unexpected %s statement at %C"
+ msgstr "Unerwartete Anweisung %s bei %C"
+
+-#: fortran/parse.c:1486
++#: fortran/parse.c:1642
+ #, no-c-format
+ msgid "%s statement at %C cannot follow %s statement at %L"
+ msgstr "Anweisung %s bei %C kann nicht auf Anweisung %s bei %L folgen"
+
+-#: fortran/parse.c:1503
++#: fortran/parse.c:1659
+ #, no-c-format
+ msgid "Unexpected end of file in '%s'"
+ msgstr "Unerwartetes Dateiende in »%s«"
+
+-#: fortran/parse.c:1558
++#: fortran/parse.c:1714
+ #, no-c-format
+ msgid "Fortran 2003: Derived type definition at %C without components"
+ msgstr "Fortran 2003: Definition des abgeleiteten Typs bei %C ohne Komponenten"
+
+-#: fortran/parse.c:1569
++#: fortran/parse.c:1725
+ #, no-c-format
+ msgid "PRIVATE statement in TYPE at %C must be inside a MODULE"
+ msgstr "PRIVATE-Anweisung in TYPE bei %C muss innerhalb eines MODULEs sein"
+
+-#: fortran/parse.c:1577
++#: fortran/parse.c:1733
+ #, no-c-format
+ msgid "PRIVATE statement at %C must precede structure components"
+ msgstr "PRIVATE-Anweisung bei %C muss Strukturkomponenten vorausgehen"
+
+-#: fortran/parse.c:1585
++#: fortran/parse.c:1741
+ #, no-c-format
+ msgid "Duplicate PRIVATE statement at %C"
+ msgstr "Doppelte PRIVATE-Anweisung bei %C"
+
+-#: fortran/parse.c:1597
++#: fortran/parse.c:1753
+ #, no-c-format
+ msgid "SEQUENCE statement at %C must precede structure components"
+ msgstr "SEQUENCE-Anweisung bei %C muss Strukturkomponenten vorausgehen"
+
+-#: fortran/parse.c:1604
++#: fortran/parse.c:1760
+ #, no-c-format
+ msgid "SEQUENCE attribute at %C already specified in TYPE statement"
+ msgstr "SEQUENCE-Attribut bei %C bereits in TYPE-Anweisung angegeben"
+
+-#: fortran/parse.c:1609
++#: fortran/parse.c:1765
+ #, no-c-format
+ msgid "Duplicate SEQUENCE statement at %C"
+ msgstr "Doppelte SEQUENCE-Anweisung bei %C"
+
+-#: fortran/parse.c:1700
++#: fortran/parse.c:1856
+ #, no-c-format
+ msgid "ENUM declaration at %C has no ENUMERATORS"
+ msgstr "ENUM-Deklaration bei %C hat keine ENUMERATORen"
+
+-#: fortran/parse.c:1778
++#: fortran/parse.c:1934
+ #, no-c-format
+ msgid "Unexpected %s statement in INTERFACE block at %C"
+ msgstr "Unerwartete Anweisung %s in INTERFACE-Block bei %C"
+
+-#: fortran/parse.c:1804
++#: fortran/parse.c:1960
+ #, no-c-format
+ msgid "SUBROUTINE at %C does not belong in a generic function interface"
+ msgstr "SUBROUTINE bei %C gehört nicht in eine allgemeine Funktionsschnittstelle"
+
+-#: fortran/parse.c:1808
++#: fortran/parse.c:1964
+ #, no-c-format
+ msgid "FUNCTION at %C does not belong in a generic subroutine interface"
+ msgstr "FUNCTION bei %C gehört nicht in eine allgemeine Unterprogrammschnittstelle"
+
+-#: fortran/parse.c:1818
++#: fortran/parse.c:1974
+ #, no-c-format
+ msgid "Name '%s' of ABSTRACT INTERFACE at %C cannot be the same as an intrinsic type"
+ msgstr "Name »%s« des ABSTRACT INTERFACE bei %C kann nicht der gleiche wie ein intrinsischer Typ sein"
+
+-#: fortran/parse.c:1849
++#: fortran/parse.c:2005
+ #, no-c-format
+ msgid "Unexpected %s statement at %C in INTERFACE body"
+ msgstr "Unerwartete Anweisung %s bei %C in INTERFACE-Körper"
+
+-#: fortran/parse.c:1863
++#: fortran/parse.c:2019
+ #, no-c-format
+ msgid "INTERFACE procedure '%s' at %L has the same name as the enclosing procedure"
+ msgstr "Schnittstellenprozedur »%s« bei %L hat den selben Namen wie die umgebende Prozedur"
+
+-#: fortran/parse.c:1958
++#: fortran/parse.c:2134
+ #, no-c-format
+ msgid "%s statement must appear in a MODULE"
+ msgstr "Anweisung %s muss in einem MODULE auftreten"
+
+-#: fortran/parse.c:1965
++#: fortran/parse.c:2141
+ #, no-c-format
+ msgid "%s statement at %C follows another accessibility specification"
+ msgstr "Anweisung %s bei %C folgt einer anderen Zugriffsspezifikation"
+
+-#: fortran/parse.c:2015
++#: fortran/parse.c:2191
+ #, no-c-format
+ msgid "Bad kind expression for function '%s' at %L"
+ msgstr "Falscher Art-Ausdruck für Funktion »%s« bei %L"
+
+-#: fortran/parse.c:2018
++#: fortran/parse.c:2195
+ #, no-c-format
+ msgid "The type for function '%s' at %L is not accessible"
+ msgstr "Der Typ für Funktion »%s« bei %L ist nicht erreichbar"
+
+-#: fortran/parse.c:2070
++#: fortran/parse.c:2253
+ #, no-c-format
+ msgid "ELSEWHERE statement at %C follows previous unmasked ELSEWHERE"
+ msgstr "Anweisung ELSEWHERE bei %C folgt zuvor unmaskiertem ELSEWHERE"
+
+-#: fortran/parse.c:2091
++#: fortran/parse.c:2274
+ #, no-c-format
+ msgid "Unexpected %s statement in WHERE block at %C"
+ msgstr "Unerwartete Anweisung %s in WHERE-Block bei %C"
+
+-#: fortran/parse.c:2150
++#: fortran/parse.c:2333
+ #, no-c-format
+ msgid "Unexpected %s statement in FORALL block at %C"
+ msgstr "Unerwartete Anweisung %s in FORALL-Block bei %C"
+
+-#: fortran/parse.c:2201
++#: fortran/parse.c:2384
+ #, no-c-format
+ msgid "ELSE IF statement at %C cannot follow ELSE statement at %L"
+ msgstr "ELSE-IF-Anweisung bei %C kann nicht auf eine ELSE-Anweisung bei %L folgen"
+
+-#: fortran/parse.c:2219
++#: fortran/parse.c:2402
+ #, no-c-format
+ msgid "Duplicate ELSE statements at %L and %C"
+ msgstr "Doppelte ELSE-Anweisungen bei %L und %C"
+
+-#: fortran/parse.c:2280
++#: fortran/parse.c:2463
+ #, no-c-format
+ msgid "Expected a CASE or END SELECT statement following SELECT CASE at %C"
+ msgstr "CASE- oder END-SELECT-Anweisung hinter SELECT CASE bei %C erwartet"
+
+-#: fortran/parse.c:2338
++#: fortran/parse.c:2521
+ #, no-c-format
+ msgid "Variable '%s' at %C cannot be redefined inside loop beginning at %L"
+ msgstr "Variable »%s« bei %C kann nicht innerhalb der bei %L beginnenden Schleife redefiniert werden"
+
+-#: fortran/parse.c:2372
++#: fortran/parse.c:2555
+ #, no-c-format
+ msgid "End of nonblock DO statement at %C is within another block"
+ msgstr "Ende der DO-Anweisung ohne Block bei %C ist innerhalb eines anderen Blockes"
+
+-#: fortran/parse.c:2381
++#: fortran/parse.c:2564
+ #, no-c-format
+ msgid "End of nonblock DO statement at %C is interwoven with another DO loop"
+ msgstr "Ende der DO-Anweisung bei %C ist mit anderer DO-Schleife verwoben"
+
+-#: fortran/parse.c:2430
++#: fortran/parse.c:2613
+ #, no-c-format
+ msgid "Statement label in ENDDO at %C doesn't match DO label"
+ msgstr "Anweisungsmarke in ENDDO bei %C passt nicht zum DO-Label"
+
+-#: fortran/parse.c:2446
++#: fortran/parse.c:2629
+ #, no-c-format
+ msgid "named block DO at %L requires matching ENDDO name"
+ msgstr "Benanntes Block-DO bei %L erfordert passenden ENDDO-Namen"
+
+-#: fortran/parse.c:2702
++#: fortran/parse.c:2885
+ #, no-c-format
+ msgid "Name after !$omp critical and !$omp end critical does not match at %C"
+ msgstr "Name hinter »!$omp critical« und »!$omp end critical« passt nicht bei %C"
+
+-#: fortran/parse.c:2758
++#: fortran/parse.c:2941
+ #, no-c-format
+ msgid "%s statement at %C cannot terminate a non-block DO loop"
+ msgstr "Anweisung %s bei %C kann keine DO-Schleife ohne Block beenden"
+
+-#: fortran/parse.c:2943
++#: fortran/parse.c:3126
+ #, no-c-format
+ msgid "Contained procedure '%s' at %C is already ambiguous"
+ msgstr "Enthaltene Prozedur »%s« bei %C ist bereits mehrdeutig"
+
+-#: fortran/parse.c:2993
++#: fortran/parse.c:3176
+ #, no-c-format
+ msgid "Unexpected %s statement in CONTAINS section at %C"
+ msgstr "Unerwartete Anweisung %s in CONTAINS-Abschnitt bei %C"
+
+ #. This is valid in Fortran 2008.
+-#: fortran/parse.c:3018
++#: fortran/parse.c:3201
+ #, no-c-format
+ msgid "Extension: CONTAINS statement without FUNCTION or SUBROUTINE statement at %C"
+ msgstr "Erweiterung: CONTAINS-Anweisung ohne FUNCTION- oder SUBROUTINE-Anweisung bei %C"
+
+-#: fortran/parse.c:3089
++#: fortran/parse.c:3272
+ #, no-c-format
+ msgid "CONTAINS statement at %C is already in a contained program unit"
+ msgstr "CONTAINS-Anweisung bei %C ist bereits in einer enthaltenen Programmeinheit"
+
+-#: fortran/parse.c:3138
++#: fortran/parse.c:3321
+ #, no-c-format
+ msgid "Global name '%s' at %L is already being used as a %s at %L"
+ msgstr "Globaler Name »%s« bei %L wird bereits als ein %s bei %L verwendet"
+
+-#: fortran/parse.c:3159
++#: fortran/parse.c:3342
+ #, no-c-format
+ msgid "Blank BLOCK DATA at %C conflicts with prior BLOCK DATA at %L"
+ msgstr "Leeres BLOCK DATA bei %C steht in Konflikt mit vorherigem BLOCK DATA bei %L"
+
+-#: fortran/parse.c:3185
++#: fortran/parse.c:3368
+ #, no-c-format
+ msgid "Unexpected %s statement in BLOCK DATA at %C"
+ msgstr "Unerwartete Anweisung %s in BLOCK DATA bei %C"
+
+-#: fortran/parse.c:3228
++#: fortran/parse.c:3411
+ #, no-c-format
+ msgid "Unexpected %s statement in MODULE at %C"
+ msgstr "Unerwartete Anweisung %s in MODULE bei %C"
+@@ -8495,7 +8499,7 @@
+ #. If we see a duplicate main program, shut down. If the second
+ #. instance is an implied main program, ie data decls or executable
+ #. statements, we're in for lots of errors.
+-#: fortran/parse.c:3416
++#: fortran/parse.c:3594
+ #, no-c-format
+ msgid "Two main PROGRAMs at %L and %C"
+ msgstr "Zwei Haupt-PROGRAMme bei %L und %C"
+@@ -8532,8 +8536,8 @@
+
+ #: fortran/primary.c:353
+ #, no-c-format
+-msgid "Extension: Hexadecimal constant at %C uses non-standard syntax."
+-msgstr "Erweiterung: Hexadezimalkonstante bei %C verwendet Nicht-Standard-Syntax."
++msgid "Extension: Hexadecimal constant at %C uses non-standard syntax"
++msgstr "Erweiterung: Hexadezimalkonstante bei %C verwendet Nicht-Standard-Syntax"
+
+ #: fortran/primary.c:363
+ #, no-c-format
+@@ -8545,994 +8549,1039 @@
+ msgid "Illegal character in BOZ constant at %C"
+ msgstr "Unzulässiges Zeichen in BOZ-Konstante bei %C"
+
+-#: fortran/primary.c:391
++#: fortran/primary.c:392
+ #, no-c-format
+-msgid "Extension: BOZ constant at %C uses non-standard postfix syntax."
+-msgstr "Erweiterung: BOZ-Konstante bei %C verwendet Nicht-Standard-Postfix-Syntax."
++msgid "Extension: BOZ constant at %C uses non-standard postfix syntax"
++msgstr "Erweiterung: BOZ-Konstante bei %C verwendet Nicht-Standard-Postfix-Syntax"
+
+-#: fortran/primary.c:417
++#: fortran/primary.c:423
+ #, no-c-format
+ msgid "Integer too big for integer kind %i at %C"
+ msgstr "Ganzzahl zu groß für Ganzzahlart %i bei %C"
+
+-#: fortran/primary.c:517
++#: fortran/primary.c:429
+ #, no-c-format
++msgid "Fortran 2003: BOZ used outside a DATA statement at %C"
++msgstr "Fortran 2003: BOZ außerhalb einer DATA-Anweisung bei %C verwendet"
++
++#: fortran/primary.c:529
++#, no-c-format
+ msgid "Missing exponent in real number at %C"
+ msgstr "Fehlender Exponent in Realzahl bei %C"
+
+-#: fortran/primary.c:573
++#: fortran/primary.c:585
+ #, no-c-format
+ msgid "Real number at %C has a 'd' exponent and an explicit kind"
+ msgstr "Realzahl bei %C hat »d«-Exponent und explizite Art"
+
+-#: fortran/primary.c:586
++#: fortran/primary.c:598
+ #, no-c-format
+ msgid "Invalid real kind %d at %C"
+ msgstr "Unzulässige Realart %d bei %C"
+
+-#: fortran/primary.c:600
++#: fortran/primary.c:612
+ #, no-c-format
+ msgid "Real constant overflows its kind at %C"
+ msgstr "Realkonstante überschreitet seine Art bei %C"
+
+-#: fortran/primary.c:605
++#: fortran/primary.c:617
+ #, no-c-format
+ msgid "Real constant underflows its kind at %C"
+ msgstr "Realkonstante unterschreitet seine Art bei %C"
+
+-#: fortran/primary.c:697
++#: fortran/primary.c:709
+ #, no-c-format
+ msgid "Syntax error in SUBSTRING specification at %C"
+ msgstr "Syntaxfehler in SUBSTRING-Spezifikation bei %C"
+
+-#: fortran/primary.c:902
++#: fortran/primary.c:914
+ #, no-c-format
+ msgid "Invalid kind %d for CHARACTER constant at %C"
+ msgstr "Ungültige Art %d für CHARACTER-Konstante bei %C"
+
+-#: fortran/primary.c:923
++#: fortran/primary.c:935
+ #, no-c-format
+ msgid "Unterminated character constant beginning at %C"
+ msgstr "Unbeendete Zeichenkonstante beginnend bei %C"
+
+-#: fortran/primary.c:1035
++#: fortran/primary.c:1047
+ #, no-c-format
+ msgid "Bad kind for logical constant at %C"
+ msgstr "Falsche Art für Logikkonstante bei %C"
+
+-#: fortran/primary.c:1074
++#: fortran/primary.c:1086
+ #, no-c-format
+ msgid "Expected PARAMETER symbol in complex constant at %C"
+ msgstr "PARAMETER-Symbol in komplexer Konstante bei %C erwartet"
+
+-#: fortran/primary.c:1080
++#: fortran/primary.c:1092
+ #, no-c-format
+ msgid "Numeric PARAMETER required in complex constant at %C"
+ msgstr "Numerischer PARAMETER in komplexer Konstante bei %C erforderlich"
+
+-#: fortran/primary.c:1086
++#: fortran/primary.c:1098
+ #, no-c-format
+ msgid "Scalar PARAMETER required in complex constant at %C"
+ msgstr "Skalarer PARAMETER in komplexer Konstante bei %C erwartet"
+
+-#: fortran/primary.c:1090
++#: fortran/primary.c:1102
+ #, no-c-format
+ msgid "Fortran 2003: PARAMETER symbol in complex constant at %C"
+ msgstr "Fortran 2003: PARAMETER-Symbol in komplexer Konstante bei %C"
+
+-#: fortran/primary.c:1120
++#: fortran/primary.c:1132
+ #, no-c-format
+ msgid "Error converting PARAMETER constant in complex constant at %C"
+ msgstr "Fehler bei Umwandlung von PARAMETER-Konstante in komplexer Konstante bei %C"
+
+-#: fortran/primary.c:1249
++#: fortran/primary.c:1261
+ #, no-c-format
+ msgid "Syntax error in COMPLEX constant at %C"
+ msgstr "Syntaxfehler in COMPLEX-Konstante bei %C"
+
+-#: fortran/primary.c:1430
++#: fortran/primary.c:1442
+ #, no-c-format
+ msgid "Keyword '%s' at %C has already appeared in the current argument list"
+ msgstr "Schlüsselwort »%s« bei %C bereits in aktueller Argumentliste aufgetreten"
+
+-#: fortran/primary.c:1494
++#: fortran/primary.c:1506
+ #, no-c-format
+ msgid "Extension: argument list function at %C"
+ msgstr "Erweiterung: Argumentlistenfunktion bei %C"
+
+-#: fortran/primary.c:1561
++#: fortran/primary.c:1573
+ #, no-c-format
+ msgid "Expected alternate return label at %C"
+ msgstr "Alternative Rücksprungmarke bei %C erwartet"
+
+-#: fortran/primary.c:1579
++#: fortran/primary.c:1591
+ #, no-c-format
+ msgid "Missing keyword name in actual argument list at %C"
+ msgstr "Fehlender Schlüsselwortname in effektiver Argumentliste bei %C"
+
+-#: fortran/primary.c:1624
++#: fortran/primary.c:1636
+ #, no-c-format
+ msgid "Syntax error in argument list at %C"
+ msgstr "Syntaxfehler in Argumentliste bei %C"
+
+-#: fortran/primary.c:1708
++#: fortran/primary.c:1723
+ #, no-c-format
+ msgid "Expected structure component name at %C"
+ msgstr "Strukturkomponentenname bei %C erwartet"
+
+-#: fortran/primary.c:1961
++#: fortran/primary.c:1980
+ #, no-c-format
+ msgid "Too many components in structure constructor at %C"
+ msgstr "Zu viele Komponenten in Strukturkonstruktor bei %C"
+
+-#: fortran/primary.c:1974
++#: fortran/primary.c:1993
+ #, no-c-format
+ msgid "Structure constructor for '%s' at %C has PRIVATE components"
+ msgstr "Struktur-Konstruktor für »%s« bei %C hat PRIVATE-Komponenten"
+
+-#: fortran/primary.c:1984
++#: fortran/primary.c:2003
+ #, no-c-format
+ msgid "Too few components in structure constructor at %C"
+ msgstr "Zu wenige Komponenten in Strukturkonstruktor bei %C"
+
+-#: fortran/primary.c:2002
++#: fortran/primary.c:2021
+ #, no-c-format
+ msgid "Syntax error in structure constructor at %C"
+ msgstr "Syntaxfehler in Strukturkonstruktor bei %C"
+
+-#: fortran/primary.c:2086
++#: fortran/primary.c:2105
+ #, no-c-format
+ msgid "'%s' 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 "»%s« bei %C ist der Name einer rekursiven Funktion und verweist damit auf die Ergebnisvariable. Für direkte Rekursion, eine explizite RESULT-Variable verwenden (12.5.2.1)"
+
+-#: fortran/primary.c:2188
++#: fortran/primary.c:2207
+ #, no-c-format
+ msgid "Unexpected use of subroutine name '%s' at %C"
+ msgstr "Unerwartete Verwendung des Unterprogrammnamens »%s« bei %C"
+
+-#: fortran/primary.c:2219
++#: fortran/primary.c:2238
+ #, no-c-format
+ msgid "Statement function '%s' requires argument list at %C"
+ msgstr "Anweisungsfunktion »%s« erfordert Argumentliste bei %C"
+
+-#: fortran/primary.c:2222
++#: fortran/primary.c:2241
+ #, no-c-format
+ msgid "Function '%s' requires an argument list at %C"
+ msgstr "Funktion »%s« erfordert eine Argumentliste bei %C"
+
+-#: fortran/primary.c:2267
++#: fortran/primary.c:2286
+ #, no-c-format
+ msgid "Missing argument to '%s' at %C"
+ msgstr "Fehlendes Argument für »%s« bei %C"
+
+-#: fortran/primary.c:2408
++#: fortran/primary.c:2427
+ #, no-c-format
+ msgid "Missing argument list in function '%s' at %C"
+ msgstr "Fehlende Argumentliste in Funktion »%s« bei %C"
+
+-#: fortran/primary.c:2436
++#: fortran/primary.c:2455
+ #, no-c-format
+ msgid "Symbol at %C is not appropriate for an expression"
+ msgstr "Symbol bei %C passt nicht zu einem Ausdruck"
+
+-#: fortran/primary.c:2504
++#: fortran/primary.c:2523
+ #, no-c-format
+ msgid "Assigning to PROTECTED variable at %C"
+ msgstr "Zuweisung an PROTECTED-Variable bei %C"
+
+-#: fortran/primary.c:2520
++#: fortran/primary.c:2557
+ #, no-c-format
+ msgid "Named constant at %C in an EQUIVALENCE"
+ msgstr "Benannte Konstante bei %C in EQUIVALENCE"
+
+-#: fortran/primary.c:2543
++#: fortran/primary.c:2579
+ #, no-c-format
+-msgid "Expected VARIABLE at %C"
+-msgstr "VARIABLE bei %C erwartet"
++msgid "'%s' at %C is not a variable"
++msgstr "»%s« bei %C ist keine Variable"
+
+-#: fortran/resolve.c:120
++#: fortran/resolve.c:121
+ #, no-c-format
+ msgid "Alternate return specifier in elemental subroutine '%s' at %L is not allowed"
+ msgstr "Alternativer Rückgabespezifizierer in elementarem Unterprogramm »%s« bei %L ist nicht erlaubt"
+
+-#: fortran/resolve.c:124
++#: fortran/resolve.c:125
+ #, no-c-format
+ msgid "Alternate return specifier in function '%s' at %L is not allowed"
+ msgstr "Alternativer Rückgabespezifizierer in Funktion »%s« bei %L ist nicht erlaubt"
+
+-#: fortran/resolve.c:137
++#: fortran/resolve.c:138
+ #, no-c-format
+ msgid "Dummy procedure '%s' of PURE procedure at %L must also be PURE"
+ msgstr "Scheinprozedur »%s« der PURE-Prozedur bei %L muss auch PURE sein"
+
+-#: fortran/resolve.c:144
++#: fortran/resolve.c:145
+ #, no-c-format
+ msgid "Dummy procedure at %L not allowed in ELEMENTAL procedure"
+ msgstr "Scheinprozedur bei %L nicht in ELEMENTAL-Prozedur erlaubt"
+
+-#: fortran/resolve.c:157 fortran/resolve.c:1080
++#: fortran/resolve.c:158 fortran/resolve.c:1138
+ #, no-c-format
+ msgid "Unable to find a specific INTRINSIC procedure for the reference '%s' at %L"
+ msgstr "Spezifische INTRINSIC-Prozedur für Referenz »%s« bei %L kann nicht gefunden werden"
+
+-#: fortran/resolve.c:201
++#: fortran/resolve.c:202
+ #, no-c-format
+ msgid "Argument '%s' of pure function '%s' at %L must be INTENT(IN)"
+ msgstr "Argument »%s« der reinen Funktion »%s« bei %L muss INTENT(IN) sein"
+
+-#: fortran/resolve.c:206
++#: fortran/resolve.c:207
+ #, no-c-format
+ msgid "Argument '%s' of pure subroutine '%s' at %L must have its INTENT specified"
+ msgstr "Für Argument »%s« des reinen Unterprogrammes »%s« bei %L muss INTENT angegeben werden"
+
+-#: fortran/resolve.c:215
++#: fortran/resolve.c:216
+ #, no-c-format
+ msgid "Argument '%s' of elemental procedure at %L must be scalar"
+ msgstr "Argument »%s« der elementaren Prozedur bei %L muss skalar sein"
+
+-#: fortran/resolve.c:222
++#: fortran/resolve.c:223
+ #, no-c-format
+ msgid "Argument '%s' of elemental procedure at %L cannot have the POINTER attribute"
+ msgstr "Argument »%s« der elementaren Prozedur bei %L kann kein POINTER-Attribut haben"
+
+-#: fortran/resolve.c:234
++#: fortran/resolve.c:231
+ #, no-c-format
++msgid "Dummy procedure '%s' not allowed in elemental procedure '%s' at %L"
++msgstr "Scheinprozedur »%s« nicht in elementarer Prozedur »%s« bei %L erlaubt"
++
++#: fortran/resolve.c:243
++#, no-c-format
+ msgid "Argument '%s' of statement function at %L must be scalar"
+ msgstr "Argument »%s« der Anweisungs-Funktion bei %L muss skalar sein"
+
+-#: fortran/resolve.c:244
++#: fortran/resolve.c:253
+ #, no-c-format
+ msgid "Character-valued argument '%s' of statement function at %L must have constant length"
+ msgstr "Zeichenwertiges Argument »%s« der Anweisungsfunktion bei %L muss konstante Länge haben"
+
+-#: fortran/resolve.c:299
++#: fortran/resolve.c:310
+ #, no-c-format
+ msgid "Contained function '%s' at %L has no IMPLICIT type"
+ msgstr "Enthaltene Funktion »%s bei %L hat keinen IMPLICIT-Typ«"
+
+-#: fortran/resolve.c:302
++#: fortran/resolve.c:313
+ #, no-c-format
+ msgid "Result '%s' of contained function '%s' at %L has no IMPLICIT type"
+ msgstr "Ergebnis »%s« der enthaltenen Funktion »%s« bei %L hat keinen IMPLICIT-Typ«"
+
+-#: fortran/resolve.c:319
++#: fortran/resolve.c:330
+ #, no-c-format
+ msgid "Character-valued internal function '%s' at %L must not be assumed length"
+ msgstr "Interne zeichenwertige Funktion »%s« bei %L darf keine vermutete Länge haben"
+
+-#: fortran/resolve.c:490
++#: fortran/resolve.c:501
+ #, no-c-format
+-msgid "Procedure %s at %L has entries with mismatched array specifications"
+-msgstr "Prozedur %s bei %L hat Einträge mit unpassenden Feldspezifikationen"
++msgid "Function %s at %L has entries with mismatched array specifications"
++msgstr "Funktion %s bei %L hat Einträge mit unpassenden Feldspezifikationen"
+
+-#: fortran/resolve.c:516
++#: fortran/resolve.c:518
+ #, no-c-format
++msgid "Extension: Function %s at %L with entries returning variables of different string lengths"
++msgstr "Erweiterung: Funktion %s bei %L mit Einträgen, die Variablen mit verschiedenen Zeichenkettenlängen zurückgeben"
++
++#: fortran/resolve.c:545
++#, no-c-format
+ msgid "FUNCTION result %s can't be an array in FUNCTION %s at %L"
+ msgstr "FUNCTION-Ergebnis %s kann kein Feld in FUNCTION %s bei %L sein"
+
+-#: fortran/resolve.c:520
++#: fortran/resolve.c:549
+ #, no-c-format
+ msgid "ENTRY result %s can't be an array in FUNCTION %s at %L"
+ msgstr "ENTRY-Ergebnis %s kann kein Feld in FUNCTION %s bei %L sein"
+
+-#: fortran/resolve.c:527
++#: fortran/resolve.c:556
+ #, no-c-format
+ msgid "FUNCTION result %s can't be a POINTER in FUNCTION %s at %L"
+ msgstr "FUNCTION-Ergebnis %s kann kein POINTER in FUNCTION %s bei %L sein"
+
+-#: fortran/resolve.c:531
++#: fortran/resolve.c:560
+ #, no-c-format
+ msgid "ENTRY result %s can't be a POINTER in FUNCTION %s at %L"
+ msgstr "ENTRY-Ergebnis %s kann kein POINTER in FUNCTION %s bei %L sein"
+
+-#: fortran/resolve.c:569
++#: fortran/resolve.c:598
+ #, no-c-format
+ msgid "FUNCTION result %s can't 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.c:574
++#: fortran/resolve.c:603
+ #, no-c-format
+ msgid "ENTRY result %s can't 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.c:643
++#: fortran/resolve.c:661
+ #, no-c-format
++msgid "Variable '%s' at %L is in COMMON but only in BLOCK DATA initialization is allowed"
++msgstr "Variable »%s« bei %L ist in COMMON, aber Initialisierung ist nur in BLOCK DATA erlaubt"
++
++#: fortran/resolve.c:665
++#, no-c-format
++msgid "Initialized variable '%s' at %L is in a blank COMMON but initialization is only allowed in named common blocks"
++msgstr "Initialisierte Variable »%s« bei %L ist in leerem COMMON, aber Initialisierung ist nur in in benannten Common-Blocks erlaubt"
++
++#: fortran/resolve.c:676
++#, no-c-format
+ msgid "Derived type variable '%s' in COMMON at %L has neither the SEQUENCE nor the BIND(C) attribute"
+ msgstr "Variable »%s« abgeleiteten Typs in COMMON bei %L hat weder das SEQUENCE- noch das BIND(C)-Attribut"
+
+-#: fortran/resolve.c:647
++#: fortran/resolve.c:680
+ #, no-c-format
+ msgid "Derived type variable '%s' in COMMON at %L has an ultimate component that is allocatable"
+ msgstr "Variable »%s« abgeleiteten Typs in COMMON bei %L hat eine endgültige Komponente, die allozierbar ist"
+
+-#: fortran/resolve.c:651
++#: fortran/resolve.c:684
+ #, no-c-format
+ msgid "Derived type variable '%s' in COMMON at %L may not have default initializer"
+ msgstr "Variable »%s« abgeleiteten Typs in COMMON bei %L darf nicht Standardinitialisierung haben"
+
+-#: fortran/resolve.c:661
++#: fortran/resolve.c:711
+ #, no-c-format
+ msgid "COMMON block '%s' at %L is used as PARAMETER at %L"
+ msgstr "COMMON-Block »%s« bei %L wird bei %L als PARAMETER verwendet"
+
+-#: fortran/resolve.c:665
++#: fortran/resolve.c:715
+ #, no-c-format
+ msgid "COMMON block '%s' at %L is also an intrinsic procedure"
+ msgstr "COMMON-Block »%s« bei %L ist auch eine intrinsische Prozedur"
+
+-#: fortran/resolve.c:669
++#: fortran/resolve.c:719
+ #, no-c-format
+ msgid "Fortran 2003: COMMON block '%s' at %L that is also a function result"
+ msgstr "Fortran 2003: COMMON-Block »%s« bei %L der auch ein Funktionsergebnis ist"
+
+-#: fortran/resolve.c:674
++#: fortran/resolve.c:724
+ #, no-c-format
+ msgid "Fortran 2003: COMMON block '%s' at %L that is also a global procedure"
+ msgstr "Fortran 2003: COMMON-Block »%s« bei %L der auch eine globale Prozedur ist"
+
+-#: fortran/resolve.c:736
++#: fortran/resolve.c:786
+ #, no-c-format
+ msgid "Components of structure constructor '%s' at %L are PRIVATE"
+ msgstr "Komponenten des Strukturkonstruktors »%s« bei %L sind PRIVATE"
+
+-#: fortran/resolve.c:756
++#: fortran/resolve.c:808
+ #, no-c-format
+ msgid "The rank of the element in the derived type constructor at %L does not match that of the component (%d/%d)"
+ msgstr "Der Rang des Elements im Konstruktor abgeleiteten Typs bei %L passt nicht zu dem der Komponente (%d/%d)"
+
+-#: fortran/resolve.c:769
++#: fortran/resolve.c:821
+ #, no-c-format
+ msgid "The element in the derived type constructor at %L, for pointer component '%s', is %s but should be %s"
+ msgstr "Das Element in Konstruktor abgeleiteten Typs bei %L für Zeigerkomponente »%s« ist %s, sollte aber %s sein"
+
+-#: fortran/resolve.c:786
++#: fortran/resolve.c:838
+ #, no-c-format
+ msgid "The element in the derived type constructor at %L, for pointer component '%s' should be a POINTER or a TARGET"
+ msgstr "Das Element im Konstruktor abgeleiteten Typs bei %L für Zeigerkomponente »%s« sollte ein POINTER oder ein TARGET sein"
+
+-#: fortran/resolve.c:913
++#: fortran/resolve.c:965
+ #, no-c-format
+ msgid "The upper bound in the last dimension must appear in the reference to the assumed size array '%s' at %L"
+ msgstr "Die obere Schranke in der letzten Dimension muss in der Referenz auf das Feld »%s« vermuteter Größe bei %L auftreten"
+
+-#: fortran/resolve.c:976 fortran/resolve.c:5434 fortran/resolve.c:6098
++#: fortran/resolve.c:1029 fortran/resolve.c:5576 fortran/resolve.c:6282
+ #, no-c-format
+ msgid "Label %d referenced at %L is never defined"
+ msgstr "Marke %d wird bei %L referenziert aber nirgendwo definiert"
+
+-#: fortran/resolve.c:986
++#: fortran/resolve.c:1039
+ #, no-c-format
+ msgid "'%s' at %L is ambiguous"
+ msgstr "»%s« bei %L ist mehrdeutig"
+
+-#: fortran/resolve.c:1018
++#: fortran/resolve.c:1075
+ #, no-c-format
+ msgid "Statement function '%s' at %L is not allowed as an actual argument"
+ msgstr "Anweisungsfunktion »%s« bei %L ist nicht als effektives Argument erlaubt"
+
+-#: fortran/resolve.c:1026
++#: fortran/resolve.c:1083
+ #, no-c-format
+ msgid "Intrinsic '%s' at %L is not allowed as an actual argument"
+ msgstr "Eingebautes »%s« bei %L ist nicht als effektives Argument erlaubt"
+
+-#: fortran/resolve.c:1033
++#: fortran/resolve.c:1090
+ #, no-c-format
+ msgid "Internal procedure '%s' is not allowed as an actual argument at %L"
+ msgstr "Interne Prozedur »%s« ist nicht als effektives Argument bei %L erlaubt"
+
+-#: fortran/resolve.c:1039
++#: fortran/resolve.c:1096
+ #, no-c-format
+ msgid "ELEMENTAL non-INTRINSIC procedure '%s' is not allowed as an actual argument at %L"
+ msgstr "Elementare nicht-intrinsische Prozedur »%s« ist nicht als effektives Argument bei %L erlaubt"
+
+-#: fortran/resolve.c:1059
++#: fortran/resolve.c:1116
+ #, no-c-format
+ msgid "GENERIC procedure '%s' is not allowed as an actual argument at %L"
+ msgstr "GENERIC-Prozedur »%s« ist bei %L nicht als effektives Argument erlaubt"
+
+-#: fortran/resolve.c:1098
++#: fortran/resolve.c:1157
+ #, no-c-format
+ msgid "Symbol '%s' at %L is ambiguous"
+ msgstr "Symbol »%s« bei %L ist mehrdeutig"
+
+-#: fortran/resolve.c:1143
++#: fortran/resolve.c:1206
+ #, no-c-format
+ msgid "By-value argument at %L is not of numeric type"
+ msgstr "Wertargument bei %L hat keinen numerischen Typ"
+
+-#: fortran/resolve.c:1150
++#: fortran/resolve.c:1213
+ #, no-c-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.c:1164
++#: fortran/resolve.c:1227
+ #, no-c-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.c:1176
++#: fortran/resolve.c:1239
+ #, no-c-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.c:1293
++#: fortran/resolve.c:1356
+ #, no-c-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)"
+ msgstr "»%s« bei %L ist ein Feld und optional; wenn es fehlt, kann es nicht das effektive Argument einer elementaren Prozedur sein, es sei denn, es gibt ein nicht-optionales Argument mit dem selben Rang (12.4.1.5)"
+
+-#: fortran/resolve.c:1315
++#: fortran/resolve.c:1378
+ msgid "elemental procedure"
+ msgstr "Elementares Unterprogramm"
+
+-#: fortran/resolve.c:1332
++#: fortran/resolve.c:1395
+ #, no-c-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"
+ msgstr "Effektives Argument bei %L für INTENT(%s)-Dummy »%s« von ELEMENTAL-Unterprogramm »%s« ist skalar, aber ein anderes effektives Argument ist ein Feld"
+
+-#: fortran/resolve.c:1466
++#: fortran/resolve.c:1531
+ #, no-c-format
+ msgid "There is no specific function for the generic '%s' at %L"
+ msgstr "Es gibt keine spezifische Funktion für das allgemeine »%s« bei %L"
+
+-#: fortran/resolve.c:1475
++#: fortran/resolve.c:1540
+ #, no-c-format
+ msgid "Generic function '%s' at %L is not consistent with a specific intrinsic interface"
+ msgstr "Generische Funktion »%s« bei %L ist nicht mit spezifischer intrinsischer Schnittstelle vereinbar"
+
+-#: fortran/resolve.c:1513
++#: fortran/resolve.c:1594
+ #, no-c-format
+ msgid "Function '%s' at %L is INTRINSIC but is not compatible with an intrinsic"
+ msgstr "Funktion »%s« bei %L ist INTRINSIC, aber nicht mit eingebauter Funktion verträglich"
+
+-#: fortran/resolve.c:1559
++#: fortran/resolve.c:1640
+ #, no-c-format
+ msgid "Unable to resolve the specific function '%s' at %L"
+ msgstr "Spezifische Funktion »%s« bei %L kann nicht aufgelöst werden"
+
+-#: fortran/resolve.c:1615 fortran/resolve.c:8740
++#: fortran/resolve.c:1696 fortran/resolve.c:8931
+ #, no-c-format
+ msgid "Function '%s' at %L has no IMPLICIT type"
+ msgstr "Funktion »%s« bei %L hat IMPLICIT-Typ"
+
+-#: fortran/resolve.c:1799
++#: fortran/resolve.c:1907
+ #, no-c-format
+ msgid "Argument to '%s' at %L is not a variable"
+ msgstr "Argument von »%s« bei %L ist keine Variable"
+
+-#: fortran/resolve.c:1871
++#: fortran/resolve.c:1979
+ #, no-c-format
+ msgid "More actual than formal arguments in '%s' call at %L"
+ msgstr "Mehr effektive als formale Argumente in Aufruf von »%s« bei %L"
+
+-#: fortran/resolve.c:1883
++#: fortran/resolve.c:1991
+ #, no-c-format
+ msgid "Parameter '%s' to '%s' at %L must be either a TARGET or an associated pointer"
+ msgstr "Parameter »%s« für »%s« bei %L muss entweder ein TARGET oder ein zugeordneter Zeiger sein"
+
+-#: fortran/resolve.c:1909
++#: fortran/resolve.c:2017
+ #, no-c-format
+ msgid "Allocatable variable '%s' used as a parameter to '%s' at %L must not be an array of zero size"
+ msgstr "Reservierbare Variable »%s«, die als als Parameter für »%s« bei %L verwendet wird, darf kein Feld der Größe Null sein"
+
+-#: fortran/resolve.c:1926
++#: fortran/resolve.c:2034
+ #, no-c-format
+ msgid "Assumed-shape array '%s' at %L cannot be an argument to the procedure '%s' because it is not C interoperable"
+ msgstr "Feld »%s« bei %L mit vermuteter Form kann kein Argument für Prozedur »%s« sein, da es nicht C-kompatibel ist"
+
+-#: fortran/resolve.c:1936
++#: fortran/resolve.c:2044
+ #, no-c-format
+ msgid "Deferred-shape array '%s' at %L cannot be an argument to the procedure '%s' because it is not C interoperable"
+ msgstr "Feld »%s« bei %L mit aufgeschobener Form kann kein Argument für Prozedur »%s« sein, da es nicht C-kompatibel ist"
+
+-#: fortran/resolve.c:1959 fortran/resolve.c:1998
++#: fortran/resolve.c:2067 fortran/resolve.c:2106
+ #, no-c-format
+ msgid "CHARACTER argument '%s' to '%s' at %L must have a length of 1"
+ msgstr "CHARACTER-Argument »%s« von »%s« bei %L muss Länge 1 haben"
+
+ #. Case 1c, section 15.1.2.5, J3/04-007: an associated
+ #. scalar pointer.
+-#: fortran/resolve.c:1974
++#: fortran/resolve.c:2082
+ #, no-c-format
+ msgid "Argument '%s' to '%s' at %L must be an associated scalar POINTER"
+ msgstr "Argument »%s« für »%s« bei %L muss ein zugeordneter skalarer POINTER sein"
+
+-#: fortran/resolve.c:1990
++#: fortran/resolve.c:2098
+ #, no-c-format
+ msgid "Parameter '%s' to '%s' at %L must be a scalar"
+ msgstr "Parameter »%s« für »%s« bei %L muss ein Skalar sein"
+
+ #. TODO: Update this error message to allow for procedure
+ #. pointers once they are implemented.
+-#: fortran/resolve.c:2012
++#: fortran/resolve.c:2120
+ #, no-c-format
+ msgid "Parameter '%s' to '%s' at %L must be a procedure"
+ msgstr "Parameter »%s« für »%s« bei %L muss eine Prozedur sein"
+
+-#: fortran/resolve.c:2020
++#: fortran/resolve.c:2128
+ #, no-c-format
+ msgid "Parameter '%s' to '%s' at %L must be BIND(C)"
+ msgstr "Parameter »%s« für »%s« bei %L muss BIND(C) sein"
+
+-#: fortran/resolve.c:2062
++#: fortran/resolve.c:2170
+ #, no-c-format
+ msgid "'%s' at %L is not a function"
+ msgstr "»%s« bei %L ist keine Funktion"
+
+-#: fortran/resolve.c:2068
++#: fortran/resolve.c:2176
+ #, no-c-format
+ msgid "ABSTRACT INTERFACE '%s' must not be referenced at %L"
+ msgstr "ABSTRACT INTERFACE »%s« darf bei %L nicht referenziert werden"
+
+ #. Internal procedures are taken care of in resolve_contained_fntype.
+-#: fortran/resolve.c:2111
++#: fortran/resolve.c:2219
+ #, no-c-format
+ msgid "Function '%s' is declared CHARACTER(*) and cannot be used at %L since it is not a dummy argument"
+ msgstr "Funktion »%s« ist als CHARACTER(*) deklariert und kann nicht bei %L verwendet werden, da es kein Scheinargument ist"
+
+-#: fortran/resolve.c:2164
++#: fortran/resolve.c:2272
+ #, no-c-format
+ msgid "User defined non-ELEMENTAL function '%s' at %L not allowed in WORKSHARE construct"
+ msgstr "Benutzerdefinierte nicht-elementare Funktion »%s« bei %L ist in WORKSHARE-Konstrukt nicht erlaubt"
+
+-#: fortran/resolve.c:2213
++#: fortran/resolve.c:2321
+ #, no-c-format
+ msgid "reference to non-PURE function '%s' at %L inside a FORALL %s"
+ msgstr "Referenz auf Nicht-PURE-Funktion »%s« bei %L innerhalb eines FORALL %s"
+
+-#: fortran/resolve.c:2220
++#: fortran/resolve.c:2328
+ #, no-c-format
+ msgid "Function reference to '%s' at %L is to a non-PURE procedure within a PURE procedure"
+ msgstr "Funktionsreferenz auf »%s« bei %L ist Nicht-PURE-Prozedur innerhalb einer PURE-Prozedur"
+
+-#: fortran/resolve.c:2235
++#: fortran/resolve.c:2343
+ #, no-c-format
+ msgid "Function '%s' at %L cannot call itself, as it is not RECURSIVE"
+ msgstr "Funktion »%s« bei %L kann sich nicht selbst aufrufen, da sie nicht RECURSIVE ist"
+
+-#: fortran/resolve.c:2243
++#: fortran/resolve.c:2351
+ #, no-c-format
+ msgid "Call to ENTRY '%s' at %L is recursive, but function '%s' is not declared as RECURSIVE"
+ msgstr "Aufruf des Eintrags »%s« bei %L ist rekursiv, aber Funktion »%s« ist nicht als RECURSIVE deklariert"
+
+-#: fortran/resolve.c:2285
++#: fortran/resolve.c:2393
+ #, no-c-format
+ msgid "Subroutine call to '%s' in FORALL block at %L is not PURE"
+ msgstr "Unterprogrammaufruf von »%s« in FORALL-Block bei %L ist nicht PURE"
+
+-#: fortran/resolve.c:2288
++#: fortran/resolve.c:2396
+ #, no-c-format
+ msgid "Subroutine call to '%s' at %L is not PURE"
+ msgstr "Unterprogrammaufruf von »%s« bei %L ist nicht PURE"
+
+-#: fortran/resolve.c:2351
++#: fortran/resolve.c:2459
+ #, no-c-format
+ msgid "There is no specific subroutine for the generic '%s' at %L"
+ msgstr "Es gibt kein spezifisches Unterprogramm für allgemeines »%s« bei %L"
+
+-#: fortran/resolve.c:2360
++#: fortran/resolve.c:2468
+ #, no-c-format
+ msgid "Generic subroutine '%s' at %L is not consistent with an intrinsic subroutine interface"
+ msgstr "Generisches Unterprogramm »%s« bei %L ist nicht mit intrinsischer Unterprogrammschnittstelle vereinbar"
+
+-#: fortran/resolve.c:2468
++#: fortran/resolve.c:2576
+ #, no-c-format
+ msgid "Missing SHAPE parameter for call to %s at %L"
+ msgstr "Fehlender SHAPE-Parameter für Aufruf von »%s« bei %L"
+
+-#: fortran/resolve.c:2476
++#: fortran/resolve.c:2584
+ #, no-c-format
+ msgid "SHAPE parameter for call to %s at %L must be a rank 1 INTEGER array"
+ msgstr "SHAPE-Parameter für Aufruf von %s bei %L muss ein INTEGER-Feld mit Rang 1 sein"
+
+-#: fortran/resolve.c:2543
++#: fortran/resolve.c:2667
+ #, no-c-format
+ msgid "Subroutine '%s' at %L is INTRINSIC but is not compatible with an intrinsic"
+ msgstr "Unterprogramm »%s« bei %L ist INTRINSIC aber nicht mit eingebauter Funktion verträglich"
+
+-#: fortran/resolve.c:2587
++#: fortran/resolve.c:2711
+ #, no-c-format
+ msgid "Unable to resolve the specific subroutine '%s' at %L"
+ msgstr "Spezifisches Unterprogramm »%s« bei %L kann nicht aufgelöst werden"
+
+-#: fortran/resolve.c:2644
++#: fortran/resolve.c:2768
+ #, no-c-format
+ msgid "'%s' at %L has a type, which is not consistent with the CALL at %L"
+ msgstr "»%s« bei %L hat einen Typen, der nicht zum CALL bei %L passt"
+
+-#: fortran/resolve.c:2663
++#: fortran/resolve.c:2787
+ #, no-c-format
+ msgid "SUBROUTINE '%s' at %L cannot call itself, as it is not RECURSIVE"
+ msgstr "SUBROUTINE »%s« bei %L kann sich nicht selbst aufrufen, da es nicht RECURSIVE ist"
+
+-#: fortran/resolve.c:2671
++#: fortran/resolve.c:2795
+ #, no-c-format
+ msgid "Call to ENTRY '%s' at %L is recursive, but subroutine '%s' is not declared as RECURSIVE"
+ msgstr "Aufruf des Eintrags »%s« bei %L ist rekursiv, aber Unterprogramm »%s« ist nicht als RECURSIVE deklariert"
+
+-#: fortran/resolve.c:2741
++#: fortran/resolve.c:2865
+ #, no-c-format
+ msgid "Shapes for operands at %L and %L are not conformable"
+ msgstr "Formen der Operanden bei %L und %L stimmen nicht überein"
+
+-#: fortran/resolve.c:2792
++#: fortran/resolve.c:2916
+ #, c-format
+ msgid "Invalid context for NULL() pointer at %%L"
+ msgstr "Ungültiger Kontext für NULL()-Zeiger bei %%L"
+
+-#: fortran/resolve.c:2808
++#: fortran/resolve.c:2932
+ #, 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.c:2824
++#: fortran/resolve.c:2948
+ #, 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.c:2838
++#: fortran/resolve.c:2962
+ #, c-format
+ msgid "Operands of string concatenation operator at %%L are %s/%s"
+ msgstr "Operanden des Zeichenkettenverkettungsoperators bei %%L sind %s/%s"
+
+-#: fortran/resolve.c:2857
++#: fortran/resolve.c:2981
+ #, 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.c:2871
++#: fortran/resolve.c:2995
+ #, c-format
+ msgid "Operand of .not. operator at %%L is %s"
+ msgstr "Operand des Operators .not. bei %%L ist %s"
+
+-#: fortran/resolve.c:2885
++#: fortran/resolve.c:3009
+ msgid "COMPLEX quantities cannot be compared at %L"
+ msgstr "COMPLEX-Größen können nicht bei %L verglichen werden"
+
+-#: fortran/resolve.c:2913
++#: fortran/resolve.c:3037
+ #, 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.c:2919
++#: fortran/resolve.c:3043
+ #, 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.c:2927
++#: fortran/resolve.c:3051
+ #, c-format
+ msgid "Unknown operator '%s' at %%L"
+ msgstr "Unbekannter Operator »%s« bei %%L"
+
+-#: fortran/resolve.c:2929
++#: fortran/resolve.c:3053
+ #, c-format
+ msgid "Operand of user operator '%s' at %%L is %s"
+ msgstr "Operand des Benutzeroperators »%s« bei %%L ist %s"
+
+-#: fortran/resolve.c:2932
++#: fortran/resolve.c:3056
+ #, 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.c:3018
++#: fortran/resolve.c:3142
+ #, 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.c:3212
++#: fortran/resolve.c:3339
+ #, no-c-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.c:3220
++#: fortran/resolve.c:3347
+ #, no-c-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.c:3239
++#: fortran/resolve.c:3366
+ #, no-c-format
+ msgid "Illegal stride of zero at %L"
+ msgstr "Unzulässiger Schritt von Null bei %L"
+
+-#: fortran/resolve.c:3256
++#: fortran/resolve.c:3383
+ #, no-c-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.c:3264
++#: fortran/resolve.c:3391
+ #, no-c-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.c:3280
++#: fortran/resolve.c:3407
+ #, no-c-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.c:3289
++#: fortran/resolve.c:3416
+ #, no-c-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.c:3328
++#: fortran/resolve.c:3455
+ #, no-c-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.c:3338
++#: fortran/resolve.c:3465
+ #, no-c-format
+ msgid "Rank mismatch in array reference at %L (%d/%d)"
+ msgstr "Unpassende Ränge in Feldreferenz bei %L (%d/%d)"
+
+-#: fortran/resolve.c:3366
++#: fortran/resolve.c:3493
+ #, no-c-format
+ msgid "Array index at %L must be scalar"
+ msgstr "Feldindex bei %L muss skalar sein"
+
+-#: fortran/resolve.c:3372
++#: fortran/resolve.c:3499
+ #, no-c-format
+ msgid "Array index at %L must be of INTEGER type"
+ msgstr "Feldindex bei %L muss INTEGER-Typ haben"
+
+-#: fortran/resolve.c:3378
++#: fortran/resolve.c:3505
+ #, no-c-format
+ msgid "Extension: REAL array index at %L"
+ msgstr "Erweiterung: REAL-Feld-Index bei %L"
+
+-#: fortran/resolve.c:3408
++#: fortran/resolve.c:3535
+ #, no-c-format
+ msgid "Argument dim at %L must be scalar"
+ msgstr "Argument dim bei %L muss skalar sein"
+
+-#: fortran/resolve.c:3414
++#: fortran/resolve.c:3542
+ #, no-c-format
+ msgid "Argument dim at %L must be of INTEGER type"
+ msgstr "Argument dim bei %L muss INTEGER-Typ haben"
+
+-#: fortran/resolve.c:3534
++#: fortran/resolve.c:3663
+ #, no-c-format
+ msgid "Array index at %L is an array of rank %d"
+ msgstr "Feldindex bei %L ist ein Feld mit Rang %d"
+
+-#: fortran/resolve.c:3571
++#: fortran/resolve.c:3700
+ #, no-c-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.c:3578
++#: fortran/resolve.c:3707
+ #, no-c-format
+ msgid "Substring start index at %L must be scalar"
+ msgstr "Anfangs-Index der Teilzeichenkette bei %L muss skalar sein"
+
+-#: fortran/resolve.c:3587
++#: fortran/resolve.c:3716
+ #, no-c-format
+ msgid "Substring start index at %L is less than one"
+ msgstr "Anfangs-Index der Teilzeichenkette bei %L ist kleiner als Eins"
+
+-#: fortran/resolve.c:3600
++#: fortran/resolve.c:3729
+ #, no-c-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.c:3607
++#: fortran/resolve.c:3736
+ #, no-c-format
+ msgid "Substring end index at %L must be scalar"
+ msgstr "End-Index der Teilzeichenkette bei %L muss skalar sein"
+
+-#: fortran/resolve.c:3617
++#: fortran/resolve.c:3746
+ #, no-c-format
+ msgid "Substring end index at %L exceeds the string length"
+ msgstr "End-Index der Teilzeichenkette bei %L überschreitet Zeichenkettenlänge"
+
+-#: fortran/resolve.c:3755
++#: fortran/resolve.c:3884
+ #, no-c-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.c:3762
++#: fortran/resolve.c:3891
+ #, no-c-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.c:3781
++#: fortran/resolve.c:3910
+ #, no-c-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"
+
+-#: fortran/resolve.c:3956
++#: fortran/resolve.c:4085
+ #, no-c-format
+ msgid "Variable '%s', used in a specification expression, is referenced at %L before the ENTRY statement in which it is a parameter"
+ msgstr "In Spezifikationsausdruck verwendete Variable »%s« wird bei %L vor Anweisung ENTRY referenziert, in der sie ein Parameter ist"
+
+-#: fortran/resolve.c:3961
++#: fortran/resolve.c:4090
+ #, no-c-format
+ msgid "Variable '%s' is used at %L before the ENTRY statement in which it is a parameter"
+ msgstr "Variable »%s« wird bei %L vor Anweisung ENTRY verwendet, in der sie ein Parameter ist"
+
+-#: fortran/resolve.c:4238
++#: fortran/resolve.c:4367
+ #, no-c-format
+ msgid "%s at %L must be a scalar"
+ msgstr "%s bei %L muss skalar sein"
+
+-#: fortran/resolve.c:4248
++#: fortran/resolve.c:4377
+ #, no-c-format
+ msgid "Deleted feature: %s at %L must be integer"
+ msgstr "Gelöschte Funktion: %s bei %C muss eine Ganzzahl sein"
+
+-#: fortran/resolve.c:4252 fortran/resolve.c:4259
++#: fortran/resolve.c:4381 fortran/resolve.c:4388
+ #, no-c-format
+ msgid "%s at %L must be INTEGER"
+ msgstr "%s bei %L muss INTEGER sein"
+
+-#: fortran/resolve.c:4279
++#: fortran/resolve.c:4408
+ #, no-c-format
+ msgid "Cannot assign to loop variable in PURE procedure at %L"
+ msgstr "In PURE-Prozedur bei %L kann nicht an Schleifenvariable zugewiesen werden"
+
+-#: fortran/resolve.c:4303
++#: fortran/resolve.c:4432
+ #, no-c-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.c:4378
++#: fortran/resolve.c:4508
+ #, no-c-format
+ msgid "FORALL index-name at %L must be a scalar INTEGER"
+ msgstr "FORALL-Indexname bei %L muss skalarer INTEGER sein"
+
+-#: fortran/resolve.c:4383
++#: fortran/resolve.c:4513
+ #, no-c-format
+ msgid "FORALL start expression at %L must be a scalar INTEGER"
+ msgstr "FORALL-Anfangsausdruck bei %L muss skalarer INTEGER sein"
+
+-#: fortran/resolve.c:4390
++#: fortran/resolve.c:4520
+ #, no-c-format
+ msgid "FORALL end expression at %L must be a scalar INTEGER"
+ msgstr "FORALL-Endausdruck bei %L muss skalarer INTEGER sein"
+
+-#: fortran/resolve.c:4398
++#: fortran/resolve.c:4528
+ #, no-c-format
+ msgid "FORALL stride expression at %L must be a scalar %s"
+ msgstr "FORALL-Schrittausdruck bei %L muss skalares %s sein"
+
+-#: fortran/resolve.c:4403
++#: fortran/resolve.c:4533
+ #, no-c-format
+ msgid "FORALL stride expression at %L cannot be zero"
+ msgstr "FORALL-Schrittausdruck bei %L kann nicht Null sein"
+
+-#: fortran/resolve.c:4419
++#: fortran/resolve.c:4549
+ #, no-c-format
+ msgid "FORALL index '%s' may not appear in triplet specification at %L"
+ msgstr "FORALL-Index »%s« kann nicht in Tripel-Spezifikation bei %L auftreten"
+
+-#: fortran/resolve.c:4499
++#: fortran/resolve.c:4629
+ #, no-c-format
+ msgid "Expression in DEALLOCATE statement at %L must be ALLOCATABLE or a POINTER"
+ msgstr "Ausdruck in DEALLOCATE-Ausdruck bei %L muss ALLOCATABLE oder ein POINTER sein"
+
+-#: fortran/resolve.c:4506
++#: fortran/resolve.c:4636
+ #, no-c-format
+ msgid "Cannot deallocate INTENT(IN) variable '%s' at %L"
+ msgstr "INTENT(IN)-Variable »%s« bei %L kann nicht freigegeben werden"
+
+-#: fortran/resolve.c:4675
++#: fortran/resolve.c:4740
+ #, no-c-format
+ msgid "The STAT variable '%s' in an ALLOCATE statement must not be allocated in the same statement at %L"
+ msgstr "Die STAT-Variable »%s« in einer ALLOCATE-Anweisung darf bei %L nicht in der gleichen Anweisung alloziert werden"
+
+-#: fortran/resolve.c:4711
++#: fortran/resolve.c:4776
+ #, no-c-format
+ msgid "Expression in ALLOCATE statement at %L must be ALLOCATABLE or a POINTER"
+ msgstr "Ausdruck in ALLOCATE-Anweisung bei %L muss ALLOCATABLE oder ein POINTER sein"
+
+-#: fortran/resolve.c:4719
++#: fortran/resolve.c:4784
+ #, no-c-format
+ msgid "Cannot allocate INTENT(IN) variable '%s' at %L"
+ msgstr "INTENT(IN)-Variable »%s« bei %L kann nicht alloziert werden"
+
+-#: fortran/resolve.c:4743
++#: fortran/resolve.c:4808
+ #, no-c-format
+ msgid "Array specification required in ALLOCATE statement at %L"
+ msgstr "In ALLOCATE-Anweisung bei %L ist Feld-Spezifikation erforderlich"
+
+-#: fortran/resolve.c:4773
++#: fortran/resolve.c:4838
+ #, no-c-format
+ msgid "Bad array specification in ALLOCATE statement at %L"
+ msgstr "Falsche Feldspezifikation in ALLOCATE-Anweisung bei %L"
+
+-#: fortran/resolve.c:4791
++#: fortran/resolve.c:4856
+ #, no-c-format
+ msgid "'%s' must not appear an the array specification at %L in the same ALLOCATE statement where it is itself allocated"
+ msgstr "»%s« darf nicht bei %L in einer Feldspezifikation in der gleichen ALLOCATE-Anweisung auftreten, wo es selbst alloziert wird"
+
++#: fortran/resolve.c:4880
++#, no-c-format
++msgid "STAT variable '%s' of %s statement at %C cannot be INTENT(IN)"
++msgstr "STAT-Variable »%s« der %s-Anweisung bei %C kann nicht INTENT(IN) sein"
++
++#: fortran/resolve.c:4884
++#, no-c-format
++msgid "Illegal STAT variable in %s statement at %C for a PURE procedure"
++msgstr "Illegale STAT-Variable in %s-Anweisung bei %C für eine PURE-Prozedur"
++
++#: fortran/resolve.c:4922
++#, no-c-format
++msgid "STAT tag in %s statement at %L must be a variable"
++msgstr "STAT-Marke in %s-Anweisung bei %L muss eine Variable sein"
++
++#: fortran/resolve.c:4928
++#, no-c-format
++msgid "STAT tag in %s statement at %L must be of type INTEGER"
++msgstr "STAT-Marke in %s-Anweisung bei %L muss Typ INTEGER haben"
++
+ #. The cases overlap, or they are the same
+ #. 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.c:4949
++#: fortran/resolve.c:5091
+ #, no-c-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.c:5000
++#: fortran/resolve.c:5142
+ #, no-c-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.c:5011
++#: fortran/resolve.c:5153
+ #, no-c-format
+ msgid "Expression in CASE statement at %L must be kind %d"
+ msgstr "Ausdruck in CASE-Anweisung bei %L muss von Art %d sein"
+
+-#: fortran/resolve.c:5023
++#: fortran/resolve.c:5165
+ #, no-c-format
+ msgid "Expression in CASE statement at %L must be scalar"
+ msgstr "Ausdruck in CASE-Anweisung bei %L muss skalar sein"
+
+-#: fortran/resolve.c:5069
++#: fortran/resolve.c:5211
+ #, no-c-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.c:5087
++#: fortran/resolve.c:5229
+ #, no-c-format
+ msgid "Argument of SELECT statement at %L cannot be %s"
+ msgstr "Argument der SELECT-Anweisung bei %L kann nicht %s sein"
+
+-#: fortran/resolve.c:5096
++#: fortran/resolve.c:5238
+ #, no-c-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.c:5161
++#: fortran/resolve.c:5303
+ #, no-c-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.c:5187
++#: fortran/resolve.c:5329
+ #, no-c-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.c:5199
++#: fortran/resolve.c:5341
+ #, no-c-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.c:5213
++#: fortran/resolve.c:5355
+ #, no-c-format
+ msgid "Range specification at %L can never be matched"
+ msgstr "Bereichsspezifikation bei %L kann nie passen"
+
+-#: fortran/resolve.c:5316
++#: fortran/resolve.c:5458
+ #, no-c-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.c:5354
++#: fortran/resolve.c:5496
+ #, no-c-format
+ msgid "Data transfer element at %L cannot have POINTER components"
+ msgstr "Datenübertragungselement bei %L kann keine POINTER-Komponenten haben"
+
+-#: fortran/resolve.c:5361
++#: fortran/resolve.c:5503
+ #, no-c-format
+ msgid "Data transfer element at %L cannot have ALLOCATABLE components"
+ msgstr "Datenübertragungselement bei %L kann keine ALLOCATABLE-Komponenten haben"
+
+-#: fortran/resolve.c:5368
++#: fortran/resolve.c:5510
+ #, no-c-format
+ msgid "Data transfer element at %L cannot have PRIVATE components"
+ msgstr "Datenübertragungselement bei %L kann keine PRIVATE-Komponenten haben"
+
+-#: fortran/resolve.c:5377
++#: fortran/resolve.c:5519
+ #, no-c-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.c:5441
++#: fortran/resolve.c:5583
+ #, no-c-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.c:5450
++#: fortran/resolve.c:5592
+ #, no-c-format
+ msgid "Branch at %L causes an infinite loop"
+ msgstr "Sprung bei %L bewirkt Endlosschleife"
+@@ -9540,647 +9589,657 @@
+ #. 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.c:5463
++#: fortran/resolve.c:5605
+ #, no-c-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.c:5478 fortran/resolve.c:5492
++#: fortran/resolve.c:5620 fortran/resolve.c:5634
+ #, no-c-format
+ msgid "Deleted feature: GOTO at %L jumps to END of construct at %L"
+ msgstr "Gelöschte Funktion: GOTO bei %L springt zum ENDe des Konstrukts bei %L"
+
+-#: fortran/resolve.c:5569
++#: fortran/resolve.c:5711
+ #, no-c-format
+ msgid "WHERE mask at %L has inconsistent shape"
+ msgstr "WHERE-Maske bei %L hat ungültige Form"
+
+-#: fortran/resolve.c:5585
++#: fortran/resolve.c:5727
+ #, no-c-format
+ msgid "WHERE assignment target at %L has inconsistent shape"
+ msgstr "WHERE-Zuweisungsziel bei %L hat ungültige Form"
+
+-#: fortran/resolve.c:5600 fortran/resolve.c:5682
++#: fortran/resolve.c:5735 fortran/resolve.c:5820
+ #, no-c-format
++msgid "Non-ELEMENTAL user-defined assignment in WHERE at %L"
++msgstr "Benutzerdefinierte Nicht-ELEMENTAL-Zuweisung in WHERE bei %L"
++
++#: fortran/resolve.c:5745 fortran/resolve.c:5830
++#, no-c-format
+ msgid "Unsupported statement inside WHERE at %L"
+ msgstr "Nicht unterstützte Anweisung in WHERE bei %L"
+
+-#: fortran/resolve.c:5631
++#: fortran/resolve.c:5776
+ #, no-c-format
+ msgid "Assignment to a FORALL index variable at %L"
+ msgstr "Zuweisung an FORALL-Indexvariable bei %L"
+
+-#: fortran/resolve.c:5639
++#: fortran/resolve.c:5784
+ #, no-c-format
+ msgid "The FORALL with index '%s' cause more than one assignment to this object at %L"
+ msgstr "Das FORALL mit Index »%s« bewirkt mehr als eine Zuweisung an dieses Objekt bei %L"
+
+-#: fortran/resolve.c:5774
++#: fortran/resolve.c:5922
+ #, no-c-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.c:5830
++#: fortran/resolve.c:5978
+ #, no-c-format
+ msgid "WHERE/ELSEWHERE clause at %L requires a LOGICAL array"
+ msgstr "Klausel WHERE/ELSEWHERE bei %L erfordert ein LOGICAL-Feld"
+
+-#: fortran/resolve.c:5890
++#: fortran/resolve.c:6037
+ #, no-c-format
+ msgid "Subroutine '%s' called instead of assignment at %L must be PURE"
+ msgstr "Das anstelle einer Zuweisung aufgerufene Unterprogramm »%s« bei %L muss PURE sein"
+
+-#: fortran/resolve.c:5927
++#: fortran/resolve.c:6110
+ #, no-c-format
+ msgid "CHARACTER expression will be truncated in assignment (%d/%d) at %L"
+ msgstr "CHARACTER-Ausdruck wird in Zuweisung (%d/%d) bei %L abgeschnitten"
+
+-#: fortran/resolve.c:5950
++#: fortran/resolve.c:6135
+ #, no-c-format
+ msgid "Cannot assign to variable '%s' in PURE procedure at %L"
+ msgstr "In PURE-Prozedur bei %2$L kann nicht an Variable »%1$s« zugewiesen werden"
+
+-#: fortran/resolve.c:5962
++#: fortran/resolve.c:6147
+ #, no-c-format
+ msgid "The impure variable at %L is assigned to a derived type variable with a POINTER component in a PURE procedure (12.6)"
+ msgstr "Die unreine Variable bei %L wird einer Variable abgeleiteten Typs mit einer POINTER-Komponente in einer PURE-Prozedur zugewiesen (12.6)"
+
+-#: fortran/resolve.c:6066
++#: fortran/resolve.c:6250
+ #, no-c-format
+ msgid "ASSIGNED GOTO statement at %L requires an INTEGER variable"
+ msgstr "Anweisung ASSIGNED GOTO bei %L erfordert eine INTEGER-Variable"
+
+-#: fortran/resolve.c:6069
++#: fortran/resolve.c:6253
+ #, no-c-format
+ msgid "Variable '%s' has not been assigned a target label at %L"
+ msgstr "Variable »%s« wurde keine Zielmarke bei %L zugewiesen"
+
+-#: fortran/resolve.c:6080
++#: fortran/resolve.c:6264
+ #, no-c-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.c:6106
++#: fortran/resolve.c:6290
+ #, no-c-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.c:6121
++#: fortran/resolve.c:6305
+ #, no-c-format
+ msgid "Arithmetic IF statement at %L requires a numeric expression"
+ msgstr "Arithmetische IF-Anweisung bei %L erfordert einen numerischen Ausdruck"
+
+-#: fortran/resolve.c:6163
++#: fortran/resolve.c:6347
+ #, no-c-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.c:6170
++#: fortran/resolve.c:6420
+ #, no-c-format
+-msgid "STAT tag in ALLOCATE statement at %L must be of type INTEGER"
+-msgstr "STAT-Marke in ALLOCATE-Anweisung bei %L muss Typ INTEGER haben"
+-
+-#: fortran/resolve.c:6182
+-#, no-c-format
+-msgid "STAT tag in DEALLOCATE statement at %L must be of type INTEGER"
+-msgstr "STAT-Marke in DEALLOCATE-Anweisung bei %L muss Typ INTEGER haben"
+-
+-#: fortran/resolve.c:6247
+-#, no-c-format
+ msgid "FORALL mask clause at %L requires a LOGICAL expression"
+ msgstr "FORALL-Maskenklausel bei %L erfordert einen LOGICAL-Ausdruck"
+
+-#: fortran/resolve.c:6317 fortran/resolve.c:6373
++#: fortran/resolve.c:6490 fortran/resolve.c:6546
+ #, no-c-format
+ msgid "Binding label '%s' for common block '%s' at %L collides with the global entity '%s' at %L"
+ msgstr "Binde-Marke »%s« für Common-Block »%s« bei %L kollidiert mit dem globalen Eintrag »%s« bei %L"
+
+ #. Common block names match but binding labels do not.
+-#: fortran/resolve.c:6338
++#: fortran/resolve.c:6511
+ #, no-c-format
+ msgid "Binding label '%s' for common block '%s' at %L does not match the binding label '%s' for common block '%s' at %L"
+ msgstr "Binde-Marke »%s« für Common-Block »%s« bei %L passt nicht zu Binde-Marke »%s« für Common-Block »%s« bei %L"
+
+-#: fortran/resolve.c:6385
++#: fortran/resolve.c:6558
+ #, no-c-format
+ msgid "Binding label '%s' for common block '%s' at %L collides with global entity '%s' at %L"
+ msgstr "Binde-Marke »%s« für Common-Block »%s« bei %L kollidiert mit globalem Eintrag »%s« bei %L"
+
+ #. Make sure global procedures don't collide with anything.
+-#: fortran/resolve.c:6437
++#: fortran/resolve.c:6610
+ #, no-c-format
+ msgid "Binding label '%s' at %L collides with the global entity '%s' at %L"
+ msgstr "Binde-Marke »%s« bei %L kollidiert mit dem globalen Eintrag »%s« bei %L"
+
+ #. Make sure procedures in interface bodies don't collide.
+-#: fortran/resolve.c:6450
++#: fortran/resolve.c:6623
+ #, no-c-format
+ msgid "Binding label '%s' in interface body at %L collides with the global entity '%s' at %L"
+ msgstr "Binde-Marke »%s« in Schnittstellenkörper bei %L kollidiert mit dem globalen Eintrag »%s« bei %L"
+
+-#: fortran/resolve.c:6463
++#: fortran/resolve.c:6636
+ #, no-c-format
+ msgid "Binding label '%s' at %L collides with global entity '%s' at %L"
+ msgstr "Binde-Marke »%s« bei %L kollidiert mit globalem Eintrag »%s« bei %L"
+
+-#: fortran/resolve.c:6540
++#: fortran/resolve.c:6713
+ #, no-c-format
+ msgid "CHARACTER variable has zero length at %L"
+ msgstr "CHARACTER-Variable hat Länge Null bei %L"
+
+-#: fortran/resolve.c:6828
++#: fortran/resolve.c:7001
+ #, no-c-format
+ msgid "Allocatable array '%s' at %L must have a deferred shape"
+ msgstr "Zuordnungsfähiges Feld »%s« bei %L muss aufgeschobene Form haben"
+
+-#: fortran/resolve.c:6831
++#: fortran/resolve.c:7004
+ #, no-c-format
+ msgid "Scalar object '%s' at %L may not be ALLOCATABLE"
+ msgstr "Skalares Objekt »%s« bei %L kann nicht ALLOCATABLE sein"
+
+-#: fortran/resolve.c:6838
++#: fortran/resolve.c:7011
+ #, no-c-format
+ msgid "Array pointer '%s' at %L must have a deferred shape"
+ msgstr "Feldzeiger »%s« bei %L muss aufgeschobene Form haben"
+
+-#: fortran/resolve.c:6849
++#: fortran/resolve.c:7022
+ #, no-c-format
+ msgid "Array '%s' at %L cannot have a deferred shape"
+ msgstr "Feld »%s« bei %L kann keine aufgeschobene Form haben"
+
+-#: fortran/resolve.c:6878
++#: fortran/resolve.c:7051
+ #, no-c-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"
+ msgstr "Der Typ %s kann bei %L nicht mit Wirt verbunden werden, da er von unverträglichem bei %L definiertem Objekt mit gleichem Namen blockiert wird"
+
+-#: fortran/resolve.c:6901
++#: fortran/resolve.c:7074
+ #, no-c-format
+ msgid "Object '%s' at %L must have the SAVE attribute for default initialization of a component"
+ msgstr "Objekt »%s« bei %L muss das SAVE-Attribut für Standardinitialisierung einer Komponente haben"
+
+ #. The shape of a main program or module array needs to be
+ #. constant.
+-#: fortran/resolve.c:6948
++#: fortran/resolve.c:7121
+ #, no-c-format
+ msgid "The module or main program array '%s' at %L must have constant shape"
+ msgstr "Das Feld »%s« im Modul oder Hauptprogramm bei %L muss konstante Form haben"
+
+-#: fortran/resolve.c:6961
++#: fortran/resolve.c:7134
+ #, no-c-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.c:6980
++#: fortran/resolve.c:7153
+ #, no-c-format
+ msgid "'%s' at %L must have constant character length in this context"
+ msgstr "»%s« bei %L muss in diesem Zusammenhang konstante Zeichenlänge haben"
+
+-#: fortran/resolve.c:7012
++#: fortran/resolve.c:7185
+ #, no-c-format
+ msgid "Allocatable '%s' at %L cannot have an initializer"
+ msgstr "Zuordnungsfähiges »%s« bei %L kann keine Initialisierung haben"
+
+-#: fortran/resolve.c:7015
++#: fortran/resolve.c:7188
+ #, no-c-format
+ msgid "External '%s' at %L cannot have an initializer"
+ msgstr "Externes »%s« bei %L kann keine Initialisierung haben"
+
+-#: fortran/resolve.c:7019
++#: fortran/resolve.c:7192
+ #, no-c-format
+ msgid "Dummy '%s' at %L cannot have an initializer"
+ msgstr "Schein-»%s« bei %L kann keine Initialisierung haben"
+
+-#: fortran/resolve.c:7022
++#: fortran/resolve.c:7195
+ #, no-c-format
+ msgid "Intrinsic '%s' at %L cannot have an initializer"
+ msgstr "Intrinsisches »%s« bei %L kann keine Initialisierung haben"
+
+-#: fortran/resolve.c:7025
++#: fortran/resolve.c:7198
+ #, no-c-format
+ msgid "Function result '%s' at %L cannot have an initializer"
+ msgstr "Funktionsergebnis »%s« bei %L kann keine Initialisierung haben"
+
+-#: fortran/resolve.c:7028
++#: fortran/resolve.c:7201
+ #, no-c-format
+ msgid "Automatic array '%s' at %L cannot have an initializer"
+ msgstr "Automatisches Feld »%s« bei %L kann keine Initialisierung haben"
+
+-#: fortran/resolve.c:7051
++#: fortran/resolve.c:7224
+ #, no-c-format
+ msgid "Although not referenced, '%s' at %L has ambiguous interfaces"
+ msgstr "Obwohl nicht referenziert, »%s« bei %L hat mehrdeutige Schnittstellen"
+
+-#: fortran/resolve.c:7070
++#: fortran/resolve.c:7243
+ #, no-c-format
+ msgid "Character-valued statement function '%s' at %L must have constant length"
+ msgstr "Zeichenwertige Anweisungsfunktion »%s« bei %L muss konstante Länge haben"
+
+-#: fortran/resolve.c:7078
++#: fortran/resolve.c:7251
+ #, no-c-format
+ msgid "Automatic character length function '%s' at %L must have an explicit interface"
+ msgstr "Automatische Zeichenlängenfunktion »%s« bei %L muss eine explizite Schnittstelle haben"
+
+-#: fortran/resolve.c:7103
++#: fortran/resolve.c:7276
+ #, no-c-format
+ msgid "Fortran 2003: '%s' is of a PRIVATE type and cannot be a dummy argument of '%s', which is PUBLIC at %L"
+ msgstr "Fortran 2003: »%s« hat PRIVATE-Typ und kann kein Scheinargument von »%s« sein, das PUBLIC bei %L ist"
+
+-#: fortran/resolve.c:7126 fortran/resolve.c:7151
++#: fortran/resolve.c:7299 fortran/resolve.c:7324
+ #, no-c-format
+ msgid "Fortran 2003: Procedure '%s' in PUBLIC interface '%s' at %L takes dummy arguments of '%s' which is PRIVATE"
+ msgstr "Fortran 2003: Prozedur »%s« in PUBLIC-Schnittstelle »%s« bei %L nimmt Schneinargumente von »%s«, das PRIVATE ist"
+
+-#: fortran/resolve.c:7168
++#: fortran/resolve.c:7341
+ #, no-c-format
+ msgid "Function '%s' at %L cannot have an initializer"
+ msgstr "Funktion »%s« bei %L kann keine Initialisierung haben"
+
+-#: fortran/resolve.c:7177
++#: fortran/resolve.c:7350
+ #, no-c-format
+ msgid "External object '%s' at %L may not have an initializer"
+ msgstr "Externes Objekt »%s« bei %L darf keine Initialisierung haben"
+
+-#: fortran/resolve.c:7185
++#: fortran/resolve.c:7358
+ #, no-c-format
+ msgid "ELEMENTAL function '%s' at %L must have a scalar result"
+ msgstr "Elementare Funktion »%s« bei %L muss ein skalares Ergebnis haben"
+
+-#: fortran/resolve.c:7206
++#: fortran/resolve.c:7379
+ #, no-c-format
+ msgid "CHARACTER(*) function '%s' at %L cannot be array-valued"
+ msgstr "CHARACTER(*)-Funktion »%s« bei %L kann nicht Feld-wertig sein"
+
+-#: fortran/resolve.c:7210
++#: fortran/resolve.c:7383
+ #, no-c-format
+ msgid "CHARACTER(*) function '%s' at %L cannot be pointer-valued"
+ msgstr "CHARACTER(*)-Funktion »%s« bei %L kann nicht Zeiger-wertig sein"
+
+-#: fortran/resolve.c:7214
++#: fortran/resolve.c:7387
+ #, no-c-format
+ msgid "CHARACTER(*) function '%s' at %L cannot be pure"
+ msgstr "CHARACTER(*)-Funktion »%s« bei %L kann nicht pure sein"
+
+-#: fortran/resolve.c:7218
++#: fortran/resolve.c:7391
+ #, no-c-format
+ msgid "CHARACTER(*) function '%s' at %L cannot be recursive"
+ msgstr "CHARACTER(*)-Funktion »%s« bei %L kann nicht rekursiv sein"
+
+-#: fortran/resolve.c:7227
++#: fortran/resolve.c:7400
+ #, no-c-format
+ msgid "CHARACTER(*) function '%s' at %L is obsolescent in fortran 95"
+ msgstr "CHARACTER(*)-Funktion »%s« bei %L in Fortran 95 veraltet"
+
+-#: fortran/resolve.c:7299
++#: fortran/resolve.c:7472
+ #, no-c-format
+ msgid "Character length of component '%s' needs to be a constant specification expression at %L"
+ msgstr "Zeichenlänge der Komponente »%s« muss ein konstanter Spezifikationsausdruck bei %L sein"
+
+-#: fortran/resolve.c:7314
++#: fortran/resolve.c:7487
+ #, no-c-format
+ msgid "The component '%s' is a PRIVATE type and cannot be a component of '%s', which is PUBLIC at %L"
+ msgstr "Die Komponente »%s« ist ein PRIVATE-Typ und kann nicht Komponente von »%s« sein, das PUBLIC bei %L ist"
+
+-#: fortran/resolve.c:7324
++#: fortran/resolve.c:7497
+ #, no-c-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.c:7334
++#: fortran/resolve.c:7507
+ #, no-c-format
+ msgid "The pointer component '%s' of '%s' at %L is a type that has not been declared"
+ msgstr "Die Zeigerkomponente »%s« bei »%s« bei %L hat nicht deklarierten Typ"
+
+-#: fortran/resolve.c:7352
++#: fortran/resolve.c:7525
+ #, no-c-format
+ msgid "Component '%s' of '%s' at %L must have constant array bounds"
+ msgstr "Komponente »%s« von »%s« bei %L muss konstante Feldgrenzen haben"
+
+-#: fortran/resolve.c:7395
++#: fortran/resolve.c:7568
+ #, no-c-format
+ msgid "NAMELIST object '%s' was declared PRIVATE and cannot be member of PUBLIC namelist '%s' at %L"
+ msgstr "NAMELIST-Objekt »%s« wurde als PRIVATE deklariert und kann kein Element der PUBLIC-Namensliste »%s« bei %L sein"
+
+-#: fortran/resolve.c:7405
++#: fortran/resolve.c:7578
+ #, no-c-format
+ msgid "NAMELIST object '%s' has use-associated PRIVATE components and cannot be member of namelist '%s' at %L"
+ msgstr "NAMELIST-Objekt »%s« hat benutzungs-verbundene PRIVATE-Komponenten und kann kein Element der Namensliste »%s« bei %L sein"
+
+-#: fortran/resolve.c:7418
++#: fortran/resolve.c:7591
+ #, no-c-format
+ msgid "NAMELIST object '%s' has PRIVATE components and cannot be a member of PUBLIC namelist '%s' at %L"
+ msgstr "NAMELIST-Objekt »%s« hat PRIVATE-Komponenten und kann kein Element der PUBLIC-Namensliste »%s« bei %L sein"
+
+-#: fortran/resolve.c:7430
++#: fortran/resolve.c:7603
+ #, no-c-format
+ msgid "NAMELIST array object '%s' must not have assumed shape in namelist '%s' at %L"
+ msgstr "NAMELIST-Feldobjekt »%s« darf in Namensliste »%s« bei %L keine vermutete Form haben"
+
+-#: fortran/resolve.c:7439
++#: fortran/resolve.c:7612
+ #, no-c-format
+ msgid "NAMELIST array object '%s' must have constant shape in namelist '%s' at %L"
+ msgstr "NAMELIST-Feldobjekt »%s« muss konstante Form in Namensliste »%s« bei %L haben"
+
+-#: fortran/resolve.c:7451
++#: fortran/resolve.c:7624
+ #, no-c-format
+ msgid "NAMELIST object '%s' in namelist '%s' at %L cannot have ALLOCATABLE components"
+ msgstr "NAMELIST-Objekt »%s« in Namensliste »%s« bei %L kann nicht ALLOCATABLE-Komponenten haben"
+
+-#: fortran/resolve.c:7459
++#: fortran/resolve.c:7632
+ #, no-c-format
+ msgid "NAMELIST object '%s' in namelist '%s' at %L cannot have POINTER components"
+ msgstr "Namenslistenobjekt »%s« in Namensliste »%s« bei %L kann keine POINTER-Komponenten haben"
+
+-#: fortran/resolve.c:7485
++#: fortran/resolve.c:7658
+ #, no-c-format
+ msgid "PROCEDURE attribute conflicts with NAMELIST attribute in '%s' at %L"
+ msgstr "Attribut PROCEDURE steht mit Attribut NAMELIST in »%s« bei %L in Konflikt"
+
+-#: fortran/resolve.c:7504
++#: fortran/resolve.c:7677
+ #, no-c-format
+ msgid "Parameter array '%s' at %L cannot be automatic or of deferred shape"
+ msgstr "Parameterfeld »%s« bei %L kann nicht automatische oder vermutete Form haben"
+
+-#: fortran/resolve.c:7515
++#: fortran/resolve.c:7688
+ #, no-c-format
+ msgid "Implicitly typed PARAMETER '%s' at %L doesn't match a later IMPLICIT type"
+ msgstr "Implizit angegebener PARAMETER »%s« bei %L passt nicht zu früherem IMPLICIT-Typ"
+
+-#: fortran/resolve.c:7526
++#: fortran/resolve.c:7699
+ #, no-c-format
+ msgid "Incompatible derived type in PARAMETER at %L"
+ msgstr "Unverträglicher abgeleiteter Typ in PARAMETER bei %L"
+
+-#: fortran/resolve.c:7597
++#: fortran/resolve.c:7758
+ #, no-c-format
++msgid "Interface '%s', used by procedure '%s' at %L, is declared in a later PROCEDURE statement"
++msgstr "Schnittstelle »%s«, von Prozedur »%s« bei %L verwendet, ist in späterer PROCEDURE-Anweisung deklariert"
++
++#: fortran/resolve.c:7772
++#, no-c-format
+ msgid "Interface '%s' of procedure '%s' at %L must be explicit"
+ msgstr "Schnittstelle »%s« der Prozedur »%s« bei %L muss explizit sein"
+
+-#: fortran/resolve.c:7622
++#: fortran/resolve.c:7797
+ #, no-c-format
+ msgid "Type specified for intrinsic function '%s' at %L is ignored"
+ msgstr "Für intrinsische Funktion »%s« angegebener Typ bei %L wird ignoriert"
+
+-#: fortran/resolve.c:7629
++#: fortran/resolve.c:7804
+ #, no-c-format
+ msgid "Intrinsic subroutine '%s' at %L shall not have a type specifier"
+ msgstr "Intrinsisches Unterprogramm »%s« bei %L sollte keine Typspezifizierung haben"
+
+-#: fortran/resolve.c:7636
++#: fortran/resolve.c:7811
+ #, no-c-format
+ msgid "Intrinsic '%s' at %L does not exist"
+ msgstr "Intrinsisches »%s« bei %L existiert nicht"
+
+-#: fortran/resolve.c:7676
++#: fortran/resolve.c:7851
+ #, no-c-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.c:7679
++#: fortran/resolve.c:7854
+ #, no-c-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.c:7691
++#: fortran/resolve.c:7866
+ #, no-c-format
+ msgid "Symbol at %L is not a DUMMY variable"
+ msgstr "Symbol bei %L ist keine Scheinvariable"
+
+-#: fortran/resolve.c:7697
++#: fortran/resolve.c:7872
+ #, no-c-format
+ msgid "'%s' at %L cannot have the VALUE attribute because it is not a dummy argument"
+ msgstr "»%s« bei %L kann nicht das VALUE-Attribut haben, da es kein Scheinargument ist"
+
+-#: fortran/resolve.c:7707
++#: fortran/resolve.c:7882
+ #, no-c-format
+ msgid "Character dummy variable '%s' at %L with VALUE attribute must have constant length"
+ msgstr "Zeichenwertige Scheinvariable »%s« bei %L mit VALUE-Attribut muss konstante Länge haben"
+
+-#: fortran/resolve.c:7716
++#: fortran/resolve.c:7891
+ #, no-c-format
+ msgid "C interoperable character dummy variable '%s' at %L with VALUE attribute must have length one"
+ msgstr "C-kompatible zeichenwertige Scheinvariable »%s« bei %L mit VALUE-Attribut muss Länge eins haben"
+
+-#: fortran/resolve.c:7742
++#: fortran/resolve.c:7917
+ #, no-c-format
+ msgid "Variable '%s' at %L cannot be BIND(C) because it is neither a COMMON block nor declared at the module level scope"
+ msgstr "Variable »%s« bei %L kann nicht BIND(C) sein, weil es weder ein COMMON-Block noch mit Sichtbarkeit auf Modulebene deklariert ist"
+
+-#: fortran/resolve.c:7795
++#: fortran/resolve.c:7970
+ #, no-c-format
+ msgid "The derived type '%s' at %L is of type '%s', which has not been defined"
+ msgstr "Der abgeleitete Typ »%s« bei %L hat Typ »%s«, der nicht definiert wurde"
+
+-#: fortran/resolve.c:7811
++#: fortran/resolve.c:7987
+ #, no-c-format
+ msgid "Fortran 2003: PUBLIC %s '%s' at %L of PRIVATE derived type '%s'"
+ msgstr "Fortran 2003: PUBLIC %s »%s« bei %L mit abgeleitetem PRIVATE-Typen »%s«"
+
+-#: fortran/resolve.c:7830
++#: fortran/resolve.c:8006
+ #, no-c-format
+ msgid "The INTENT(OUT) dummy argument '%s' at %L is ASSUMED SIZE and so cannot have a default initializer"
+ msgstr "Das INTENT(OUT)-Scheinargument »%s« bei %L hat vermutete Größe und kann damit keine Standardinitialisierung haben"
+
+-#: fortran/resolve.c:7889
++#: fortran/resolve.c:8065
+ #, no-c-format
+ msgid "Threadprivate at %L isn't SAVEd"
+ msgstr "Threadprivate bei %L ist nicht SAVEd"
+
+-#: fortran/resolve.c:7967
++#: fortran/resolve.c:8143
+ #, no-c-format
+ msgid "BLOCK DATA element '%s' at %L must be in COMMON"
+ msgstr "BLOCK DATA Element »%s« bei %L muss in COMMON sein"
+
+-#: fortran/resolve.c:8011
++#: fortran/resolve.c:8149
+ #, no-c-format
++msgid "DATA array '%s' at %L must be specified in a previous declaration"
++msgstr "DATA-Feld »%s« bei %L muss in vorheriger Deklaration angegeben werden"
++
++#: fortran/resolve.c:8194
++#, no-c-format
+ msgid "Nonconstant array section at %L in DATA statement"
+ msgstr "Abschnitt eines nicht konstanten Feldes bei %L in DATA-Anweisung"
+
+-#: fortran/resolve.c:8024
++#: fortran/resolve.c:8207
+ #, no-c-format
+ msgid "DATA statement at %L has more variables than values"
+ msgstr "DATA-Anweisung bei %L hat mehr Variablen als Werte"
+
+-#: fortran/resolve.c:8118
++#: fortran/resolve.c:8301
+ #, no-c-format
+ msgid "iterator start at %L does not simplify"
+ msgstr "Iteratoranfang bei %L vereinfacht nicht"
+
+-#: fortran/resolve.c:8125
++#: fortran/resolve.c:8308
+ #, no-c-format
+ msgid "iterator end at %L does not simplify"
+ msgstr "Iteratorende bei %L vereinfacht nicht"
+
+-#: fortran/resolve.c:8132
++#: fortran/resolve.c:8315
+ #, no-c-format
+ msgid "iterator step at %L does not simplify"
+ msgstr "Iteratorende bei %L vereinfacht nicht"
+
+-#: fortran/resolve.c:8258
++#: fortran/resolve.c:8441
+ #, no-c-format
+ msgid "DATA statement at %L has more values than variables"
+ msgstr "DATA-Anweisung bei %L hat mehr Werte als Variablen"
+
+-#: fortran/resolve.c:8349
++#: fortran/resolve.c:8532
+ #, no-c-format
+ msgid "Label %d at %L defined but not used"
+ msgstr "Marke %d bei %L definiert, aber nicht verwendet"
+
+-#: fortran/resolve.c:8354
++#: fortran/resolve.c:8537
+ #, no-c-format
+ msgid "Label %d at %L defined but cannot be used"
+ msgstr "Marke %d bei %L definiert, kann aber nicht verwendet werden"
+
+-#: fortran/resolve.c:8439
++#: fortran/resolve.c:8622
+ #, no-c-format
+ msgid "Derived type variable '%s' at %L must have SEQUENCE attribute to be an EQUIVALENCE object"
+ msgstr "Variable »%s« abgeleiteten Typs bei %L muss SEQUENCE-Attribut haben, um EQUIVALENCE-Objekt zu sein"
+
+-#: fortran/resolve.c:8448
++#: fortran/resolve.c:8631
+ #, no-c-format
+ msgid "Derived type variable '%s' at %L cannot have ALLOCATABLE components to be an EQUIVALENCE object"
+ msgstr "Variable »%s« abgeleiteten Typs bei %L kann keine ALLOCATABLE-Komponenten haben, um EQUIVALENCE-Objekt zu sein"
+
+-#: fortran/resolve.c:8465
++#: fortran/resolve.c:8639
+ #, no-c-format
++msgid "Derived type variable '%s' at %L with default initialization cannot be in EQUIVALENCE with a variable in COMMON"
++msgstr "Variable »%s« abgeleiteten Typs bei %L mit Standardinitialisierung kann nicht in EQUIVALENCE mit einer Variablen in COMMON sein"
++
++#: fortran/resolve.c:8656
++#, no-c-format
+ msgid "Derived type variable '%s' at %L with pointer component(s) cannot be an EQUIVALENCE object"
+ msgstr "Variable »%s« abgeleiteten Typs bei %L mit Zeigerkomponenten kann kein EQUIVALENCE-Objekt sein"
+
+-#: fortran/resolve.c:8570
++#: fortran/resolve.c:8761
+ #, no-c-format
+ msgid "Syntax error in EQUIVALENCE statement at %L"
+ msgstr "Syntaxfehler in EQUIVALENCE-Anweisung bei %L"
+
+-#: fortran/resolve.c:8585
++#: fortran/resolve.c:8776
+ #, no-c-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 sollte das Attribut PROTECTED haben"
+
+-#: fortran/resolve.c:8597
++#: fortran/resolve.c:8788
+ #, no-c-format
+ msgid "Common block member '%s' at %L cannot be an EQUIVALENCE object in the pure procedure '%s'"
+ msgstr "Allgemeines Blockelement »%s« bei %L kann kein EQUIVALENCE-Objekt in PURE-Prozedur »%s« sein"
+
+-#: fortran/resolve.c:8606
++#: fortran/resolve.c:8797
+ #, no-c-format
+ msgid "Named constant '%s' at %L cannot be an EQUIVALENCE object"
+ msgstr "Benannte Konstante »%s« bei %L kann kein EQUIVALENCE-Objekt sein"
+
+-#: fortran/resolve.c:8685
++#: fortran/resolve.c:8876
+ #, no-c-format
+ msgid "Array '%s' at %L with non-constant bounds cannot be an EQUIVALENCE object"
+ msgstr "Feld »%s« bei %L mit nicht-konstanten Grenzen kann kein EQUIVALENCE-Objekt sein"
+
+-#: fortran/resolve.c:8696
++#: fortran/resolve.c:8887
+ #, no-c-format
+ msgid "Structure component '%s' at %L cannot be an EQUIVALENCE object"
+ msgstr "Strukturkomponente »%s« bei %L kann kein EQUIVALENCE-Objekt sein"
+
+-#: fortran/resolve.c:8707
++#: fortran/resolve.c:8898
+ #, no-c-format
+ msgid "Substring at %L has length zero"
+ msgstr "Teilzeichenkette bei %L hat Länge Null"
+
+-#: fortran/resolve.c:8750
++#: fortran/resolve.c:8941
+ #, no-c-format
+ msgid "PUBLIC function '%s' at %L cannot be of PRIVATE type '%s'"
+ msgstr "PUBLIC-Funktion »%s« bei %L kann nicht PRIVATE-Typen »%s« haben"
+
+-#: fortran/resolve.c:8762
++#: fortran/resolve.c:8953
+ #, no-c-format
+ msgid "ENTRY '%s' at %L has no IMPLICIT type"
+ msgstr "ENTRY »%s« bei %L hat keinen IMPLICIT-Typ"
+
+-#: fortran/resolve.c:8788
++#: fortran/resolve.c:8979
+ #, no-c-format
+ msgid "User operator procedure '%s' at %L must be a FUNCTION"
+ msgstr "Prozedur für Benutzeroperator »%s« bei %L muss eine FUNKTION sein"
+
+-#: fortran/resolve.c:8795
++#: fortran/resolve.c:8986
+ #, no-c-format
+ msgid "User operator procedure '%s' at %L cannot be assumed character length"
+ msgstr "Prozedur für Benutzeroperator »%s« bei %L kann nicht vermutete Zeichenlänge haben"
+
+-#: fortran/resolve.c:8801
++#: fortran/resolve.c:8992
+ #, no-c-format
+ msgid "User operator procedure '%s' at %L must have at least one argument"
+ msgstr "Prozedur für Benutzeroperator »%s« bei %L muss mindestens ein Argument haben"
+
+-#: fortran/resolve.c:8811
++#: fortran/resolve.c:9002
+ #, no-c-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.c:8823
++#: fortran/resolve.c:9014
+ #, no-c-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.c:8827
++#: fortran/resolve.c:9018
+ #, no-c-format
+ msgid "Operator interface at %L must have, at most, two arguments"
+ msgstr "Operatorschnittstelle bei %L darf höchstens zwei Argumente haben"
+
+-#: fortran/resolve.c:8867
++#: fortran/resolve.c:9059
+ #, no-c-format
+ msgid "Contained procedure '%s' at %L of a PURE procedure must also be PURE"
+ msgstr "Enthaltene Prozedur »%s« bei %L einer PURE-Prozedur muss auch PURE sein"
+
+-#: fortran/scanner.c:526
++#: fortran/scanner.c:530
+ #, no-c-format
+ msgid "!$OMP at %C starts a commented line as it neither is followed by a space nor is a continuation line"
+ msgstr "!$OMP bei %C beginnt eine kommentierte Zeile, da es weder von Leerzeichen gefolgt wird noch eine Fortsetzungszeile ist"
+
+-#: fortran/scanner.c:816 fortran/scanner.c:937
++#: fortran/scanner.c:820 fortran/scanner.c:941
+ #, no-c-format
+ msgid "Limit of %d continuations exceeded in statement at %C"
+ msgstr "Grenze von %d Fortsetzungen in Anweisung bei %C überschritten"
+
+-#: fortran/scanner.c:861
++#: fortran/scanner.c:865
+ #, no-c-format
+ msgid "Missing '&' in continued character constant at %C"
+ msgstr "In fortgesetzter Zeichenkonstante bei %C fehlt »&«"
+
+-#: fortran/scanner.c:1071
++#: fortran/scanner.c:1075
+ #, no-c-format
+ msgid "Nonconforming tab character at %C"
+ msgstr "Tab-Zeichen bei %C passt nicht"
+
+-#: fortran/scanner.c:1153 fortran/scanner.c:1156
++#: fortran/scanner.c:1158 fortran/scanner.c:1161
+ #, no-c-format
+ msgid "'&' not allowed by itself in line %d"
+ msgstr "»&« ist in Zeile %d selbst nicht erlaubt"
+
+-#: fortran/scanner.c:1189
++#: fortran/scanner.c:1207
+ #, no-c-format
+-msgid "Nonconforming tab character in column 1 of line %d"
+-msgstr "Unpassendes Tab-Zeichen in Spalte 1 der Zeile %d"
++msgid "Nonconforming tab character in column %d of line %d"
++msgstr "Unpassendes Tab-Zeichen in Spalte %d der Zeile %d"
+
+-#: fortran/scanner.c:1387
++#: fortran/scanner.c:1405
+ #, no-c-format
+ msgid "%s:%d: file %s left but not entered"
+ msgstr "%s:%d: Datei %s verlassen, aber nicht betreten"
+
+-#: fortran/scanner.c:1419
++#: fortran/scanner.c:1438
+ #, no-c-format
+ msgid "%s:%d: Illegal preprocessor directive"
+ msgstr "%s:%d: Ungültige Präprozessordirektive"
+
+-#: fortran/scanner.c:1514
++#: fortran/scanner.c:1533
+ #, no-c-format
+ msgid "File '%s' is being included recursively"
+ msgstr "Datei »%s« wird rekursiv eingebunden"
+
+-#: fortran/scanner.c:1529
++#: fortran/scanner.c:1548
+ #, no-c-format
+ msgid "Can't open file '%s'"
+ msgstr "Datei »%s« kann nicht geöffnet werden"
+
+-#: fortran/scanner.c:1538
++#: fortran/scanner.c:1557
+ #, no-c-format
+ msgid "Can't open included file '%s'"
+ msgstr "Eingebundene Datei »%s« kann nicht geöffnet werden"
+
+-#: fortran/scanner.c:1676
++#: fortran/scanner.c:1701
+ #, c-format
+ msgid "%s:%3d %s\n"
+ msgstr "%s:%3d %s\n"
+@@ -10250,134 +10309,134 @@
+ msgid "Argument of CHAR function at %L outside of range [0,255]"
+ msgstr "Argument der CHAR-Funktion bei %L außerhalb des Wertebereiches [0,255]"
+
+-#: fortran/simplify.c:1247
++#: fortran/simplify.c:1293
+ #, no-c-format
+ msgid "Argument of IACHAR at %L must be of length one"
+ msgstr "Argument von IACHAR bei %L muss Länge Eins haben"
+
+-#: fortran/simplify.c:1254
++#: fortran/simplify.c:1300
+ #, no-c-format
+ msgid "Argument of IACHAR function at %L outside of range 0..127"
+ msgstr "Argument der IACHAR-Funktion bei %L außerhalb des Wertebereiches 0..127"
+
+-#: fortran/simplify.c:1293
++#: fortran/simplify.c:1339
+ #, no-c-format
+ msgid "Invalid second argument of IBCLR at %L"
+ msgstr "Ungültiges zweites Argument von IBCLR bei %L"
+
+-#: fortran/simplify.c:1301
++#: fortran/simplify.c:1347
+ #, no-c-format
+ msgid "Second argument of IBCLR exceeds bit size at %L"
+ msgstr "Zweites Argument von IBCLR überschreitet Bit-Größe bei %L"
+
+-#: fortran/simplify.c:1335
++#: fortran/simplify.c:1381
+ #, no-c-format
+ msgid "Invalid second argument of IBITS at %L"
+ msgstr "Ungültiges zweites Argument von IBITS bei %L"
+
+-#: fortran/simplify.c:1341
++#: fortran/simplify.c:1387
+ #, no-c-format
+ msgid "Invalid third argument of IBITS at %L"
+ msgstr "Ungültiges drittes Argument von IBITS bei %L"
+
+-#: fortran/simplify.c:1351
++#: fortran/simplify.c:1397
+ #, no-c-format
+ msgid "Sum of second and third arguments of IBITS exceeds bit size at %L"
+ msgstr "Summe des zweiten und dritten Arguments von IBITS überschreitet Bit-Größe bei %L"
+
+-#: fortran/simplify.c:1393
++#: fortran/simplify.c:1439
+ #, no-c-format
+ msgid "Invalid second argument of IBSET at %L"
+ msgstr "Ungültiges zweites Argument von IBSET bei %L"
+
+-#: fortran/simplify.c:1401
++#: fortran/simplify.c:1447
+ #, no-c-format
+ msgid "Second argument of IBSET exceeds bit size at %L"
+ msgstr "Zweites Argument von IBSET überschreitet Bit-Größe bei %L"
+
+-#: fortran/simplify.c:1431
++#: fortran/simplify.c:1477
+ #, no-c-format
+ msgid "Argument of ICHAR at %L must be of length one"
+ msgstr "Argument von ICHAR bei %L muss Länge Eins haben"
+
+-#: fortran/simplify.c:1646
++#: fortran/simplify.c:1692
+ #, no-c-format
+ msgid "Argument of INT at %L is not a valid type"
+ msgstr "Argument von INT bei %L ist kein gültiger Typ"
+
+-#: fortran/simplify.c:1688
++#: fortran/simplify.c:1734
+ #, no-c-format
+ msgid "Argument of %s at %L is not a valid type"
+ msgstr "Argument von %s bei %L hat keinen gültigen Typ"
+
+-#: fortran/simplify.c:1786
++#: fortran/simplify.c:1832
+ #, no-c-format
+ msgid "Invalid second argument of ISHFT at %L"
+ msgstr "Ungültiges zweites Argument von ISHFT bei %L"
+
+-#: fortran/simplify.c:1801
++#: fortran/simplify.c:1847
+ #, no-c-format
+ msgid "Magnitude of second argument of ISHFT exceeds bit size at %L"
+ msgstr "Größe des zweiten Arguments von ISHFT überschreitet Bit-Größe bei %L"
+
+-#: fortran/simplify.c:1865
++#: fortran/simplify.c:1911
+ #, no-c-format
+ msgid "Invalid second argument of ISHFTC at %L"
+ msgstr "Ungültiges zweites Argument von ISHFTC bei %L"
+
+-#: fortran/simplify.c:1879
++#: fortran/simplify.c:1925
+ #, no-c-format
+ msgid "Invalid third argument of ISHFTC at %L"
+ msgstr "Ungültiges drittes Argument von ISHFTC bei %L"
+
+-#: fortran/simplify.c:1885
++#: fortran/simplify.c:1931
+ #, no-c-format
+ msgid "Magnitude of third argument of ISHFTC exceeds BIT_SIZE of first argument at %L"
+ msgstr "Größe des dritten Arguments von ISHFTC überschreitet BIT_SIZE des ersten Arguments bei %L"
+
+-#: fortran/simplify.c:1901
++#: fortran/simplify.c:1947
+ #, no-c-format
+ msgid "Magnitude of second argument of ISHFTC exceeds third argument at %L"
+ msgstr "Größe des zweiten Arguments von ISHFTC überschreitet drittes Argument bei %L"
+
+-#: fortran/simplify.c:1904
++#: fortran/simplify.c:1950
+ #, no-c-format
+ msgid "Magnitude of second argument of ISHFTC exceeds BIT_SIZE of first argument at %L"
+ msgstr "Größe des zweiten Arguments von ISHFTC überschreitet BIT_SIZE des ersten Arguments bei %L"
+
+-#: fortran/simplify.c:1975
++#: fortran/simplify.c:2021
+ #, no-c-format
+ msgid "Argument of KIND at %L is a DERIVED type"
+ msgstr "Argument von KIND bei %L ist ein abgeleiteter Typ"
+
+-#: fortran/simplify.c:2163
++#: fortran/simplify.c:2209
+ #, no-c-format
+ msgid "DIM argument at %L is out of bounds"
+ msgstr "DIM-Argument bei %L ist außerhalb der Grenzen"
+
+-#: fortran/simplify.c:2318
++#: fortran/simplify.c:2364
+ #, no-c-format
+ msgid "Argument of LOG at %L cannot be less than or equal to zero"
+ msgstr "Argument von LOG bei %L kann nicht kleiner oder gleich Null sein"
+
+-#: fortran/simplify.c:2331
++#: fortran/simplify.c:2377
+ #, no-c-format
+ msgid "Complex argument of LOG at %L cannot be zero"
+ msgstr "Komplexes Argument von LOG bei %L kann nicht Null sein"
+
+-#: fortran/simplify.c:2374
++#: fortran/simplify.c:2420
+ #, no-c-format
+ msgid "Argument of LOG10 at %L cannot be less than or equal to zero"
+ msgstr "Argument von LOG10 bei %L kann nicht kleiner oder gleich Null sein"
+
+ #. Result is processor-dependent.
+-#: fortran/simplify.c:2579
++#: fortran/simplify.c:2628
+ #, no-c-format
+ msgid "Second argument MOD at %L is zero"
+ msgstr "Zweites Argument von MOD bei %L ist Null"
+
+ #. Result is processor-dependent.
+-#: fortran/simplify.c:2590
++#: fortran/simplify.c:2639
+ #, no-c-format
+ msgid "Second argument of MOD at %L is zero"
+ msgstr "Zweites Argument von MOD bei %L ist Null"
+@@ -10385,82 +10444,87 @@
+ #. Result is processor-dependent. This processor just opts
+ #. to not handle it at all.
+ #. Result is processor-dependent.
+-#: fortran/simplify.c:2638 fortran/simplify.c:2650
++#: fortran/simplify.c:2687 fortran/simplify.c:2699
+ #, no-c-format
+ msgid "Second argument of MODULO at %L is zero"
+ msgstr "Zweites Argument von MODULO bei %L ist Null"
+
+-#: fortran/simplify.c:2702
++#: fortran/simplify.c:2751
+ #, no-c-format
+ msgid "Second argument of NEAREST at %L shall not be zero"
+ msgstr "Zweites Argument von NEAREST bei %L sollte nicht Null sein"
+
+-#: fortran/simplify.c:2977
++#: fortran/simplify.c:2787
+ #, no-c-format
++msgid "Result of NEAREST is NaN at %L"
++msgstr "Ergebnis von NEAREST ist NaN bei %L"
++
++#: fortran/simplify.c:3062
++#, no-c-format
+ msgid "Argument NCOPIES of REPEAT intrinsic is negative at %L"
+ msgstr "Argument NCOPIES des intrinsischen REPEAT ist bei %L negativ"
+
+-#: fortran/simplify.c:3032
++#: fortran/simplify.c:3117
+ #, no-c-format
+ msgid "Argument NCOPIES of REPEAT intrinsic is too large at %L"
+ msgstr "Argument NCOPIES des intrinsischen REPEAT ist bei %L zu groß"
+
+-#: fortran/simplify.c:3122
++#: fortran/simplify.c:3232
+ #, no-c-format
+ msgid "Integer too large in shape specification at %L"
+ msgstr "Ganzzahl zu groß in Form-Spezifikation bei %L"
+
+-#: fortran/simplify.c:3132
++#: fortran/simplify.c:3242
+ #, no-c-format
+ msgid "Too many dimensions in shape specification for RESHAPE at %L"
+ msgstr "Zu viele Dimensionen in Form-Spezifikation für RESHAPE bei %L"
+
+-#: fortran/simplify.c:3140
++#: fortran/simplify.c:3250
+ #, no-c-format
+ msgid "Shape specification at %L cannot be negative"
+ msgstr "Form-Spezifikation bei %L kann nicht negativ sein"
+
+-#: fortran/simplify.c:3150
++#: fortran/simplify.c:3260
+ #, no-c-format
+ msgid "Shape specification at %L cannot be the null array"
+ msgstr "Form-Spezifikation bei %L kann nicht das Null-Feld sein"
+
+-#: fortran/simplify.c:3171
++#: fortran/simplify.c:3281
+ #, no-c-format
+ msgid "ORDER parameter of RESHAPE at %L is not the same size as SHAPE parameter"
+ msgstr "ORDER-Parameter von RESHAPE bei %L hat nicht die gleiche Größe wie SHAPE-Parameter"
+
+-#: fortran/simplify.c:3178
++#: fortran/simplify.c:3288
+ #, no-c-format
+ msgid "Error in ORDER parameter of RESHAPE at %L"
+ msgstr "Fehler in ORDER-Parameter von RESHAPE bei %L"
+
+-#: fortran/simplify.c:3188
++#: fortran/simplify.c:3298
+ #, no-c-format
+ msgid "ORDER parameter of RESHAPE at %L is out of range"
+ msgstr "ORDER-Parameter von RESHAPE bei %L ist außerhalb des Wertebereiches"
+
+-#: fortran/simplify.c:3197
++#: fortran/simplify.c:3307
+ #, no-c-format
+ msgid "Invalid permutation in ORDER parameter at %L"
+ msgstr "Ungültige Permutation in ORDER-Parameter bei %L"
+
+-#: fortran/simplify.c:3253
++#: fortran/simplify.c:3363
+ #, no-c-format
+ msgid "PAD parameter required for short SOURCE parameter at %L"
+ msgstr "PAD-Parameter erforderlich für kurzen SOURCE-Parameter bei %L"
+
+-#: fortran/simplify.c:3372
++#: fortran/simplify.c:3482
+ #, no-c-format
+ msgid "Result of SCALE overflows its kind at %L"
+ msgstr "Ergebnis von SCALE überschreitet seine Art bei %L"
+
+-#: fortran/simplify.c:3942
++#: fortran/simplify.c:4056
+ #, no-c-format
+ msgid "Argument of SQRT at %L has a negative value"
+ msgstr "Argument von SQRT bei %L hat negativen Wert"
+
+-#: fortran/simplify.c:4069
++#: fortran/simplify.c:4190
+ #, no-c-format
+ msgid "Intrinsic TRANSFER at %L has partly undefined result: source size %ld < result size %ld"
+ msgstr "Intrinsisches TRANSFER bei %L hat teilweise undefiniertes Ergebnis: Quellgröße %ld < Ergebnisgröße %ld"
+@@ -10689,29 +10753,29 @@
+ msgid "Symbol '%s' at %C has already been host associated"
+ msgstr "Symbol »%s« bei %C wurde bereits mit Host verbunden"
+
+-#: fortran/symbol.c:3162
++#: fortran/symbol.c:3189
+ #, no-c-format
+ msgid "Derived type '%s' declared at %L must have the BIND attribute to be C interoperable"
+ msgstr "Abgeleiteter Typ »%s«, bei %L deklariert, muss BIND-Attribut haben, um C-kompatibel zu sein"
+
+-#: fortran/symbol.c:3173
++#: fortran/symbol.c:3200
+ #, no-c-format
+ msgid "Derived type '%s' at %L is empty"
+ msgstr "Abgeleiteter Typ »%s« bei %L ist leer"
+
+-#: fortran/symbol.c:3190
++#: fortran/symbol.c:3217
+ #, no-c-format
+ msgid "Component '%s' at %L cannot have the POINTER attribute because it is a member of the BIND(C) derived type '%s' at %L"
+ msgstr "Komponente »%s« bei %L kann nicht POINTER-Attribut haben, da es Element des BIND(C)-abgeleiteten Typs »%s« bei %L ist"
+
+-#: fortran/symbol.c:3202
++#: fortran/symbol.c:3229
+ #, no-c-format
+ msgid "Component '%s' at %L cannot have the ALLOCATABLE attribute because it is a member of the BIND(C) derived type '%s' at %L"
+ msgstr "Komponente »%s« bei %L kann nicht ALLOCATABLE-Attribut haben, da es Element des BIND(C)-abgeleiteten Typs »%s« bei %L ist"
+
+ #. If the derived type is bind(c), all fields must be
+ #. interop.
+-#: fortran/symbol.c:3241
++#: fortran/symbol.c:3268
+ #, no-c-format
+ msgid "Component '%s' in derived type '%s' at %L may not be C interoperable, even though derived type '%s' is BIND(C)"
+ msgstr "Komponente »%s« in abgeleiteten Typ »%s« bei %L könnte nicht C-kompatibel sein, obwohl abgeleiteter Typ »%s« BIND(C) ist"
+@@ -10719,17 +10783,17 @@
+ #. If derived type is param to bind(c) routine, or to one
+ #. of the iso_c_binding procs, it must be interoperable, so
+ #. all fields must interop too.
+-#: fortran/symbol.c:3250
++#: fortran/symbol.c:3277
+ #, no-c-format
+ msgid "Component '%s' in derived type '%s' at %L may not be C interoperable"
+ msgstr "Komponente »%s« in abgeleitetem Typ »%s« bei %L könnte nicht C-kompatibel sein"
+
+-#: fortran/symbol.c:3264
++#: fortran/symbol.c:3291
+ #, no-c-format
+ msgid "Derived type '%s' at %L cannot be declared with both PRIVATE and BIND(C) attributes"
+ msgstr "Abgeleiteter Typ »%s« bei %L kann nicht mit Attributen PRIVATE und BIND(C) deklariert werden"
+
+-#: fortran/symbol.c:3272
++#: fortran/symbol.c:3299
+ #, no-c-format
+ msgid "Derived type '%s' at %L cannot have the SEQUENCE attribute because it is BIND(C)"
+ msgstr "Abgeleiteter Typ »%s« bei %L kann nicht das SEQUENCE-Attribut haben, da es BIND(C) ist"
+@@ -10739,38 +10803,43 @@
+ msgid "Overlapping unequal initializers in EQUIVALENCE at %L"
+ msgstr "Ãœberlappende ungleiche Initialisierungen in EQUIVALENCE bei %L"
+
+-#: fortran/trans-common.c:396
++#: fortran/target-memory.c:635
+ #, no-c-format
++msgid "BOZ constant at %L is too large (%ld vs %ld bits)"
++msgstr "BOZ-konstante bei %L ist zu groß (%ld vs %ld Bits)"
++
++#: fortran/trans-common.c:399
++#, no-c-format
+ msgid "Named COMMON block '%s' at %L shall be of the same size"
+ msgstr "Benannter COMMON-Block »%s« bei %L sollte die gleiche Größe haben"
+
+-#: fortran/trans-common.c:817
++#: fortran/trans-common.c:833
+ #, no-c-format
+ msgid "Bad array reference at %L"
+ msgstr "Ungültige Feldreferenz bei %L"
+
+-#: fortran/trans-common.c:825
++#: fortran/trans-common.c:841
+ #, no-c-format
+ msgid "Illegal reference type at %L as EQUIVALENCE object"
+ msgstr "Ungültiger Referenztyp bei %L als EQUIVALENCE-Objekt"
+
+-#: fortran/trans-common.c:865
++#: fortran/trans-common.c:881
+ #, no-c-format
+ msgid "Inconsistent equivalence rules involving '%s' at %L and '%s' at %L"
+ msgstr "Inkonsistente Äquivalenzregeln mit »%s« bei %L und »%s« bei %L"
+
+ #. Aligning this field would misalign a previous field.
+-#: fortran/trans-common.c:998
++#: fortran/trans-common.c:1014
+ #, no-c-format
+ msgid "The equivalence set for variable '%s' declared at %L violates alignment requirements"
+ msgstr "Die Äquivalenzmenge für bei %2$L deklarierte Variable »%1$s« verletzt Ausrichtungsanforderungen"
+
+-#: fortran/trans-common.c:1063
++#: fortran/trans-common.c:1079
+ #, no-c-format
+ msgid "Equivalence for '%s' does not match ordering of COMMON '%s' at %L"
+ msgstr "Äquivalenz für »%s« passt nicht zur Anordnung von COMMON »%s« bei %L"
+
+-#: fortran/trans-common.c:1078
++#: fortran/trans-common.c:1094
+ #, no-c-format
+ msgid "The equivalence set for '%s' cause an invalid extension to COMMON '%s' at %L"
+ msgstr "Die Äquivalenzmenge für »%s« bewirkt eine ungültige Erweiterung für COMMON »%s« bei %L"
+@@ -10778,42 +10847,42 @@
+ #. The required offset conflicts with previous alignment
+ #. requirements. Insert padding immediately before this
+ #. segment.
+-#: fortran/trans-common.c:1089
++#: fortran/trans-common.c:1105
+ #, no-c-format
+ msgid "Padding of %d bytes required before '%s' in COMMON '%s' at %L"
+ msgstr "Auffüllen mit %d Bytes vor »%s« in COMMON »%s« bei %L erforderlich"
+
+-#: fortran/trans-common.c:1115
++#: fortran/trans-common.c:1131
+ #, no-c-format
+ msgid "COMMON '%s' at %L does not exist"
+ msgstr "COMMON »%s« bei %L existiert nicht"
+
+-#: fortran/trans-common.c:1122
++#: fortran/trans-common.c:1138
+ #, no-c-format
+ msgid "COMMON '%s' at %L requires %d bytes of padding at start"
+ msgstr "COMMON »%s« bei %L erfordert Auffüllen mit »%d« Bytes am Anfang"
+
+-#: fortran/trans-decl.c:3016
++#: fortran/trans-decl.c:2979
+ #, no-c-format
+ msgid "Dummy argument '%s' at %L was declared INTENT(OUT) but was not set"
+ msgstr "Scheinargument »%s« bei %L war als INTENT(OUT) deklariert, aber nicht gesetzt"
+
+-#: fortran/trans-decl.c:3020
++#: fortran/trans-decl.c:2983
+ #, no-c-format
+ msgid "Unused dummy argument '%s' at %L"
+ msgstr "Ungenutztes Scheinargument %s bei %L"
+
+-#: fortran/trans-decl.c:3026
++#: fortran/trans-decl.c:2989
+ #, no-c-format
+ msgid "Unused variable '%s' declared at %L"
+ msgstr "Ungenutzte Variable »%s« bei %L deklariert"
+
+-#: fortran/trans-decl.c:3052
++#: fortran/trans-decl.c:3015
+ #, no-c-format
+ msgid "Unused parameter '%s' declared at %L"
+ msgstr "Ungenutzter Parameter »%s« bei %L deklariert"
+
+-#: fortran/trans-expr.c:2036
++#: fortran/trans-expr.c:2199
+ #, no-c-format
+ msgid "Unknown argument list function at %L"
+ msgstr "Unbekannte Argumentlistenfunktion bei %L"
+@@ -10823,12 +10892,12 @@
+ msgid "'dim' argument of %s intrinsic at %L is not a valid dimension index"
+ msgstr "Argument »dim« des intrinsischen »%s« bei %L ist kein gültiger Dimensionsindex"
+
+-#: fortran/trans-io.c:1850
++#: fortran/trans-io.c:1851
+ #, no-c-format
+ msgid "Derived type '%s' at %L has PRIVATE components"
+ msgstr "Abgeleiteter Typ »%s« bei %L hat PRIVATE-Komponenten"
+
+-#: fortran/trans-stmt.c:438
++#: fortran/trans-stmt.c:436
+ #, no-c-format
+ msgid "An alternate return at %L without a * dummy argument"
+ msgstr "Alternative Rückkehr bei %L ohne ein *-Scheinargument"
+@@ -11053,55 +11122,34 @@
+ msgid "cannot specify 'main' class when not linking"
+ msgstr "»main«-Klasse kann ohne Binden nicht angegeben werden"
+
+-#: config/i386/nwld.h:34
+-msgid "Static linking is not supported.\n"
+-msgstr "Statische Bindung wird nicht unterstützt.\n"
+-
+-#: java/jvspec.c:80 gcc.c:820 ada/lang-specs.h:33
+-msgid "-pg and -fomit-frame-pointer are incompatible"
+-msgstr "-pg und -fomit-frame-pointer sind unverträglich"
+-
+ #: config/vax/netbsd-elf.h:41
+ msgid "the -shared option is not currently supported for VAX ELF"
+ msgstr "Die Option -shared wird derzeit nicht für VAX ELF unterstützt"
+
+-#: config/sparc/sol2-gld-bi.h:17 config/sparc/sol2-gld-bi.h:22
+-#: config/sparc/sol2-bi.h:189 config/sparc/sol2-bi.h:194
+-msgid "does not support multilib"
+-msgstr "unterstützt nicht multilib"
+-
+ #: config/vax/vax.h:49 config/vax/vax.h:50
+ msgid "profiling not supported with -mg\n"
+ msgstr "Profiling wird mit -mg nicht unterstützt\n"
+
+-#: config/rs6000/linux64.h:347 config/rs6000/linux64.h:349 config/linux.h:106
+-#: config/linux.h:108 config/rs6000/sysv4.h:897 config/rs6000/sysv4.h:899
++#: config/sh/sh.h:461
++msgid "SH2a does not support little-endian"
++msgstr "SH2a unterstützt nicht Little-Endian"
++
++#: config/s390/tpf.h:119
++msgid "static is not supported on TPF-OS"
++msgstr "static wird auf TPF-OS nicht unterstützt"
++
+ #: config/alpha/linux-elf.h:33 config/alpha/linux-elf.h:35
++#: config/rs6000/sysv4.h:897 config/rs6000/sysv4.h:899
+ #: config/sparc/linux.h:126 config/sparc/linux.h:128
+-#: config/sparc/linux64.h:152 config/sparc/linux64.h:154
++#: config/sparc/linux64.h:152 config/sparc/linux64.h:154 config/linux.h:106
++#: config/linux.h:108 config/rs6000/linux64.h:347 config/rs6000/linux64.h:349
+ msgid "-mglibc and -muclibc used together"
+ msgstr "-mglibc and -muclibc zusammen verwendet"
+
+-#: config/i386/cygwin.h:28
+-msgid "mno-cygwin and mno-win32 are not compatible"
+-msgstr "mno-cygwin und mno-win32 sind unverträglich"
++#: java/jvspec.c:80 gcc.c:820 ada/lang-specs.h:33
++msgid "-pg and -fomit-frame-pointer are incompatible"
++msgstr "-pg und -fomit-frame-pointer sind unverträglich"
+
+-#: config/i386/cygwin.h:74 config/i386/mingw32.h:74
+-msgid "shared and mdll are not compatible"
+-msgstr "shared und mdll sind unverträglich"
+-
+-#: config/i386/sco5.h:188
+-msgid "-pg not supported on this platform"
+-msgstr "-pg wird auf dieser Plattform nicht unterstützt"
+-
+-#: config/i386/sco5.h:189
+-msgid "-p and -pp specified - pick one"
+-msgstr "-p und -pp angegeben - eines wählen"
+-
+-#: config/i386/sco5.h:258
+-msgid "-G and -static are mutually exclusive"
+-msgstr "-G und -static schließen sich gegenseitig aus"
+-
+ #: gcc.c:792
+ msgid "GCC does not support -C or -CC without -E"
+ msgstr "GCC unterstützt nicht -C oder -CC ohne -E"
+@@ -11110,58 +11158,14 @@
+ msgid "-E or -x required when input is from standard input"
+ msgstr "-E oder -x benötigt, wenn die Eingabe von der Standardeingabe kommt"
+
+-#: java/lang-specs.h:33
+-msgid "-fjni and -femit-class-files are incompatible"
+-msgstr "-fjni und -femit-class-files sind unverträglich"
+-
+-#: java/lang-specs.h:34
+-msgid "-fjni and -femit-class-file are incompatible"
+-msgstr "-fjni und -femit-class-file sind unverträglich"
+-
+-#: java/lang-specs.h:35 java/lang-specs.h:36
+-msgid "-femit-class-file should used along with -fsyntax-only"
+-msgstr "-femit-class-file sollte zusammen mit -fsyntax-only verwendet werden"
+-
+ #: config/mcore/mcore.h:56
+ msgid "the m210 does not have little endian support"
+ msgstr "der m210 hat keine Little-Endian-Unterstützung"
+
+-#: config/lynx.h:70
+-msgid "cannot use mthreads and mlegacy-threads together"
+-msgstr "mthreads und mlegacy-threads können nicht zusammen verwendet werden"
+-
+-#: config/lynx.h:95
+-msgid "cannot use mshared and static together"
+-msgstr "mshared und static können nicht zusammen verwendet werden"
+-
+-#: config/sh/sh.h:461
+-msgid "SH2a does not support little-endian"
+-msgstr "SH2a unterstützt nicht Little-Endian"
+-
+-#: config/mips/mips.h:1042 config/arc/arc.h:61
++#: config/arc/arc.h:61 config/mips/mips.h:1042
+ msgid "may not use both -EB and -EL"
+ msgstr "-EB und -EL können nicht gleichzeitig verwendet werden"
+
+-#: config/s390/tpf.h:119
+-msgid "static is not supported on TPF-OS"
+-msgstr "static wird auf TPF-OS nicht unterstützt"
+-
+-#: config/rs6000/darwin.h:95
+-msgid " conflicting code gen style switches are used"
+-msgstr " in Konflikt stehende Codeerzeugungsschalter verwendet"
+-
+-#: ada/lang-specs.h:34
+-msgid "-c or -S required for Ada"
+-msgstr "Für Ada wird -c oder -S benötigt"
+-
+-#: config/mips/r3900.h:34
+-msgid "-mhard-float not supported"
+-msgstr "-mhard-float wird nicht unterstützt"
+-
+-#: config/mips/r3900.h:36
+-msgid "-msingle-float and -msoft-float cannot both be specified"
+-msgstr "-msingle-float und -msoft-float können nicht zusammen angegeben werden"
+-
+ #: config/vxworks.h:71
+ msgid "-Xbind-now and -Xbind-lazy are incompatible"
+ msgstr "-Xbind-now und -Xbind-lazy sind unverträglich"
+@@ -11198,12 +11202,24 @@
+ msgid "-private_bundle not allowed with -dynamiclib"
+ msgstr "-private_bundle ist mit -dynamiclib nicht erlaubt"
+
++#: config/mips/r3900.h:34
++msgid "-mhard-float not supported"
++msgstr "-mhard-float wird nicht unterstützt"
++
++#: config/mips/r3900.h:36
++msgid "-msingle-float and -msoft-float cannot both be specified"
++msgstr "-msingle-float und -msoft-float können nicht zusammen angegeben werden"
++
+ #: config/sparc/linux64.h:211 config/sparc/linux64.h:222
+ #: config/sparc/netbsd-elf.h:125 config/sparc/netbsd-elf.h:144
+ #: config/sparc/sol2-bi.h:217 config/sparc/sol2-bi.h:227
+ msgid "may not use both -m32 and -m64"
+ msgstr "-m32 und -m64 können nicht zusammen angegeben werden"
+
++#: config/i386/mingw32.h:74 config/i386/cygwin.h:74
++msgid "shared and mdll are not compatible"
++msgstr "shared und mdll sind unverträglich"
++
+ #: config/arm/arm.h:147
+ msgid "-msoft-float and -mhard_float may not be used together"
+ msgstr "-msoft-float und -mhard_float dürfen nicht zusammen verwendet werden"
+@@ -11212,118 +11228,63 @@
+ msgid "-mbig-endian and -mlittle-endian may not be used together"
+ msgstr "-mbig-endian und -mlittle-endian dürfen nicht zusammen verwendet werden"
+
+-#: java/lang.opt:65
+-msgid "Warn if a deprecated compiler feature, class, method, or field is used"
+-msgstr "Warnen, wenn veraltetes Compiler-Merkmal, Klasse, Methode oder Feld verwendet wird"
++#: config/rs6000/darwin.h:95
++msgid " conflicting code gen style switches are used"
++msgstr " in Konflikt stehende Codeerzeugungsschalter verwendet"
+
+-#: java/lang.opt:69
+-msgid "Warn if deprecated empty statements are found"
+-msgstr "Warnen, wenn veraltete Leeranweisungen gefunden werden"
++#: ada/lang-specs.h:34
++msgid "-c or -S required for Ada"
++msgstr "Für Ada wird -c oder -S benötigt"
+
+-#: java/lang.opt:73
+-msgid "Warn if .class files are out of date"
+-msgstr "Warnen, wenn .class-Dateien veraltet sind"
++#: config/sparc/sol2-bi.h:189 config/sparc/sol2-bi.h:194
++#: config/sparc/sol2-gld-bi.h:17 config/sparc/sol2-gld-bi.h:22
++msgid "does not support multilib"
++msgstr "unterstützt nicht multilib"
+
+-#: java/lang.opt:77
+-msgid "Warn if modifiers are specified when not necessary"
+-msgstr "Bei unnötig angegebenen Modifizierern warnen"
++#: config/i386/nwld.h:34
++msgid "Static linking is not supported.\n"
++msgstr "Statische Bindung wird nicht unterstützt.\n"
+
+-#: java/lang.opt:81
+-msgid "Deprecated; use --classpath instead"
+-msgstr "Veraltet; stattdessen --classpath verwenden"
++#: config/i386/cygwin.h:28
++msgid "mno-cygwin and mno-win32 are not compatible"
++msgstr "mno-cygwin und mno-win32 sind unverträglich"
+
+-#: java/lang.opt:88
+-msgid "Permit the use of the assert keyword"
+-msgstr "Die Verwendung des Schlüsselworts »assert« erlauben"
++#: config/i386/sco5.h:188
++msgid "-pg not supported on this platform"
++msgstr "-pg wird auf dieser Plattform nicht unterstützt"
+
+-#: java/lang.opt:110
+-msgid "Replace system path"
+-msgstr "Systempfad ersetzen"
++#: config/i386/sco5.h:189
++msgid "-p and -pp specified - pick one"
++msgstr "-p und -pp angegeben - eines wählen"
+
+-#: java/lang.opt:114
+-msgid "Generate checks for references to NULL"
+-msgstr "Prüfungen auf Referenzen auf NULL erzeugen"
++#: config/i386/sco5.h:258
++msgid "-G and -static are mutually exclusive"
++msgstr "-G und -static schließen sich gegenseitig aus"
+
+-#: java/lang.opt:118
+-msgid "Set class path"
+-msgstr "Klassenpfad setzen"
++#: java/lang-specs.h:33
++msgid "-fjni and -femit-class-files are incompatible"
++msgstr "-fjni und -femit-class-files sind unverträglich"
+
+-#: java/lang.opt:125
+-msgid "Output a class file"
+-msgstr "Klassendatei ausgeben"
++#: java/lang-specs.h:34
++msgid "-fjni and -femit-class-file are incompatible"
++msgstr "-fjni und -femit-class-file sind unverträglich"
+
+-#: java/lang.opt:129
+-msgid "Alias for -femit-class-file"
+-msgstr "Alias für -femit-class-file"
++#: java/lang-specs.h:35 java/lang-specs.h:36
++msgid "-femit-class-file should used along with -fsyntax-only"
++msgstr "-femit-class-file sollte zusammen mit -fsyntax-only verwendet werden"
+
+-#: java/lang.opt:133
+-msgid "Choose input encoding (defaults from your locale)"
+-msgstr "Eingabekodierung auswählen (Standard: aktuelle Locale)"
++#: config/cris/cris.h:207
++msgid "Do not specify both -march=... and -mcpu=..."
++msgstr " -march=... und -mcpu=... können nicht zusammen angegeben werden"
+
+-#: java/lang.opt:137
+-msgid "Set the extension directory path"
+-msgstr "Den Pfad für das Erweiterungsverzeichnis setzen"
++#: config/lynx.h:70
++msgid "cannot use mthreads and mlegacy-threads together"
++msgstr "mthreads und mlegacy-threads können nicht zusammen verwendet werden"
+
+-#: java/lang.opt:144
+-msgid "Input file is a file with a list of filenames to compile"
+-msgstr "Eingabedatei ist eine Datei mit einer Liste der Dateinamen zum Ãœbersetzen"
++#: config/lynx.h:95
++msgid "cannot use mshared and static together"
++msgstr "mshared und static können nicht zusammen verwendet werden"
+
+-#: java/lang.opt:151
+-msgid "Always check for non gcj generated classes archives"
+-msgstr "Immer auf nicht von gcj erzeugte Klassenarchive prüfen"
+-
+-#: java/lang.opt:155
+-msgid "Assume the runtime uses a hash table to map an object to its synchronization structure"
+-msgstr "Annehmen, dass die Laufzeitbibliothek eine Hashtabelle verwendet, um ein Objekt zu seiner Synchronisationsstruktur zuzuordnen"
+-
+-#: java/lang.opt:159
+-msgid "Generate instances of Class at runtime"
+-msgstr "Klasseninstanzen zur Laufzeit erzeugen"
+-
+-#: java/lang.opt:163
+-msgid "Use offset tables for virtual method calls"
+-msgstr "Offset-Tabellen für virtuelle Methodenaufrufe verwenden"
+-
+-#: java/lang.opt:170
+-msgid "Assume native functions are implemented using JNI"
+-msgstr "Native Funktionen als mit JNI implementiert annehmen"
+-
+-#: java/lang.opt:174
+-msgid "Enable optimization of static class initialization code"
+-msgstr "Optimierung des Initialisierungscodes statischer Klassen einschalten"
+-
+-#: java/lang.opt:181
+-msgid "Reduce the amount of reflection meta-data generated"
+-msgstr "Betrag der generierten Metadaten zur Reflexion verringern"
+-
+-#: java/lang.opt:185
+-msgid "Enable assignability checks for stores into object arrays"
+-msgstr "Zuweisbarkeitsprüfungen für Speicheroperationen in Objektfelder einschalten"
+-
+-#: java/lang.opt:189
+-msgid "Generate code for the Boehm GC"
+-msgstr "Code für den Boehm GC erzeugen"
+-
+-#: java/lang.opt:193
+-msgid "Call a library routine to do integer divisions"
+-msgstr "Eine Bibiotheksroutine aufrufen, um Ganzahldivision durchzuführen"
+-
+-#: java/lang.opt:197
+-msgid "Generated should be loaded by bootstrap loader"
+-msgstr "Generiertes sollte vom Bootstrap-Loader geladen werden"
+-
+-#: java/lang.opt:201
+-msgid "Set the source language version"
+-msgstr "Version der Quellsprache setzen"
+-
+-#: java/lang.opt:205
+-msgid "Set the target VM version"
+-msgstr "Ziel-VM-Version angeben"
+-
+-#: ada/lang.opt:96
+-msgid "Specify options to GNAT"
+-msgstr "Optionen für GNAT angeben"
+-
+ #: fortran/lang.opt:29
+ msgid "Add a directory for INCLUDE and MODULE searching"
+ msgstr "Ein Verzeichnis für INCLUDE- und MODULE-Suche hinzufügen"
+@@ -11564,7 +11525,7 @@
+ msgid "Append a second underscore if the name already contains an underscore"
+ msgstr "Einen zweiten Unterstrich anhängen, wenn der Name bereits einen Unterstrich enthält"
+
+-#: fortran/lang.opt:277 c.opt:714
++#: fortran/lang.opt:277 c.opt:718
+ msgid "Use the narrowest integer type possible for enumeration types"
+ msgstr "Den schmalstmöglichen Ganzzahltyp für Aufzählungstypen verwenden"
+
+@@ -11596,14 +11557,62 @@
+ msgid "Accept extensions to support legacy code"
+ msgstr "Erweiterungen akzeptieren, um alten Code zu unterstützen"
+
+-#: treelang/lang.opt:30
+-msgid "Trace lexical analysis"
+-msgstr "Lexikalische Analyse verfolgen"
++#: config/mcore/mcore.opt:23
++msgid "Generate code for the M*Core M210"
++msgstr "Code für M*Core M210 erzeugen"
+
+-#: treelang/lang.opt:34
+-msgid "Trace the parsing process"
+-msgstr "Parsing-Prozess verfolgen"
++#: config/mcore/mcore.opt:27
++msgid "Generate code for the M*Core M340"
++msgstr "Code für M*Core M340 erzeugen"
+
++#: config/mcore/mcore.opt:31
++msgid "Set maximum alignment to 4"
++msgstr "Höchste Ausrichtung auf 4 setzen"
++
++#: config/mcore/mcore.opt:35
++msgid "Force functions to be aligned to a 4 byte boundary"
++msgstr "Funktionen auf 4-Byte-Grenzen zwingen"
++
++#: config/mcore/mcore.opt:39
++msgid "Set maximum alignment to 8"
++msgstr "Höchste Ausrichtung auf 8 setzen"
++
++#: config/mcore/mcore.opt:43 config/score/score.opt:23
++msgid "Generate big-endian code"
++msgstr "Big-Endian-Code erzeugen"
++
++#: config/mcore/mcore.opt:47
++msgid "Emit call graph information"
++msgstr "Informationen zum Aufrufgraph ausgeben"
++
++#: config/mcore/mcore.opt:51
++msgid "Use the divide instruction"
++msgstr "Divisionsbefehl verwenden"
++
++#: config/mcore/mcore.opt:55
++msgid "Inline constants if it can be done in 2 insns or less"
++msgstr "Konstanten einbetten, wenn es mit 2 Befehlen oder weniger geht"
++
++#: config/mcore/mcore.opt:59 config/score/score.opt:27
++msgid "Generate little-endian code"
++msgstr "Little-Endian-Code erzeugen"
++
++#: config/mcore/mcore.opt:67
++msgid "Use arbitrary sized immediates in bit operations"
++msgstr "Direktwerte beliebiger Größen in Bit-Operationen zulassen"
++
++#: config/mcore/mcore.opt:71
++msgid "Prefer word accesses over byte accesses"
++msgstr "Wortzugriffe bevorzugen (statt Bytezugriffen)"
++
++#: config/mcore/mcore.opt:75
++msgid "Set the maximum amount for a single stack increment operation"
++msgstr "Größten Betrag für einzelne Stapelvergrößerungsoperation setzen"
++
++#: config/mcore/mcore.opt:79
++msgid "Always treat bitfields as int-sized"
++msgstr "Bit-Feld immer mit int-Größe behandeln"
++
+ #: config/alpha/alpha.opt:23 config/i386/i386.opt:155
+ msgid "Do not use hardware fp"
+ msgstr "Hardware-FP nicht verwenden"
+@@ -11719,268 +11728,6 @@
+ msgid "Specify bit size of immediate TLS offsets"
+ msgstr "Bit-Breite des unmittelbaren TLS-Versatzes angeben"
+
+-#: config/frv/frv.opt:23
+-msgid "Use 4 media accumulators"
+-msgstr "4 Media-Register verwenden"
+-
+-#: config/frv/frv.opt:27
+-msgid "Use 8 media accumulators"
+-msgstr "8 Media-Register verwenden"
+-
+-#: config/frv/frv.opt:31
+-msgid "Enable label alignment optimizations"
+-msgstr "Markenausrichtungs-Optimierungen einschalten"
+-
+-#: config/frv/frv.opt:35
+-msgid "Dynamically allocate cc registers"
+-msgstr "CC-Register dynamisch belegen"
+-
+-#: config/frv/frv.opt:42
+-msgid "Set the cost of branches"
+-msgstr "Sprungkosten setzen"
+-
+-#: config/frv/frv.opt:46
+-msgid "Enable conditional execution other than moves/scc"
+-msgstr "Bedingte Ausführung statt Kopieren/scc einschalten"
+-
+-#: config/frv/frv.opt:50
+-msgid "Change the maximum length of conditionally-executed sequences"
+-msgstr "Größte Länge der bedingt ausgeführten Sequenzen ändern"
+-
+-#: config/frv/frv.opt:54
+-msgid "Change the number of temporary registers that are available to conditionally-executed sequences"
+-msgstr "Anzahl der temporären Register ändern, die für bedingt ausgeführte Sequenzen zur Verfügung stehen"
+-
+-#: config/frv/frv.opt:58
+-msgid "Enable conditional moves"
+-msgstr "Bedingte Kopierbefehle einschalten"
+-
+-#: config/frv/frv.opt:62
+-msgid "Set the target CPU type"
+-msgstr "Ziel-CPU-Typ angeben"
+-
+-#: config/frv/frv.opt:84
+-msgid "Use fp double instructions"
+-msgstr "Gleitkomma-double-Befehle verwenden"
+-
+-#: config/frv/frv.opt:88
+-msgid "Change the ABI to allow double word insns"
+-msgstr "ABI ändern, um Doubleword-Befehle zuzulassen"
+-
+-#: config/frv/frv.opt:92 config/bfin/bfin.opt:73
+-msgid "Enable Function Descriptor PIC mode"
+-msgstr "Funktionsdeskriptor-PIC-Modus einschalten"
+-
+-#: config/frv/frv.opt:96
+-msgid "Just use icc0/fcc0"
+-msgstr "Einfach icc0/fcc0 verwenden"
+-
+-#: config/frv/frv.opt:100
+-msgid "Only use 32 FPRs"
+-msgstr "Nur 32 FPRs verwenden"
+-
+-#: config/frv/frv.opt:104
+-msgid "Use 64 FPRs"
+-msgstr "64 FPRs verwenden"
+-
+-#: config/frv/frv.opt:108
+-msgid "Only use 32 GPRs"
+-msgstr "Nur 32 GPR verwenden"
+-
+-#: config/frv/frv.opt:112
+-msgid "Use 64 GPRs"
+-msgstr "64 GPRs verwenden"
+-
+-#: config/frv/frv.opt:116
+-msgid "Enable use of GPREL for read-only data in FDPIC"
+-msgstr "Verwendung von GPREL für Nur-Lese-Daten in FDPIC einschalten"
+-
+-#: config/frv/frv.opt:120 config/rs6000/rs6000.opt:112
+-#: config/pdp11/pdp11.opt:71
+-msgid "Use hardware floating point"
+-msgstr "Hardware-Gleitkomma verwenden"
+-
+-#: config/frv/frv.opt:124 config/bfin/bfin.opt:77
+-msgid "Enable inlining of PLT in function calls"
+-msgstr "Inlining von PLT in Funktionsaufrufen einschalten"
+-
+-#: config/frv/frv.opt:128
+-msgid "Enable PIC support for building libraries"
+-msgstr "PIC-Unterstützung beim Bauen von Bibliotheken einschalten"
+-
+-#: config/frv/frv.opt:132
+-msgid "Follow the EABI linkage requirements"
+-msgstr "Den EABI Bindeanforderungen folgen"
+-
+-#: config/frv/frv.opt:136
+-msgid "Disallow direct calls to global functions"
+-msgstr "Direkte Aufrufe von globalen Funktionen verbieten"
+-
+-#: config/frv/frv.opt:140
+-msgid "Use media instructions"
+-msgstr "Media-Befehle verwenden"
+-
+-#: config/frv/frv.opt:144
+-msgid "Use multiply add/subtract instructions"
+-msgstr "Befehle zum Multiplizieren-Addieren/Subtrahieren verwenden"
+-
+-#: config/frv/frv.opt:148
+-msgid "Enable optimizing &&/|| in conditional execution"
+-msgstr "Optimierung von &&/|| in bedingter Ausführung einschalten"
+-
+-#: config/frv/frv.opt:152
+-msgid "Enable nested conditional execution optimizations"
+-msgstr "Optimierungen für geschachtelte bedingte Ausführung einschalten"
+-
+-#: config/frv/frv.opt:157
+-msgid "Do not mark ABI switches in e_flags"
+-msgstr "ABI-Schalter nicht in e_flags markieren"
+-
+-#: config/frv/frv.opt:161
+-msgid "Remove redundant membars"
+-msgstr "Redundante Membars entfernen"
+-
+-#: config/frv/frv.opt:165
+-msgid "Pack VLIW instructions"
+-msgstr "VLIW-Befehle packen"
+-
+-#: config/frv/frv.opt:169
+-msgid "Enable setting GPRs to the result of comparisons"
+-msgstr "Setzen von GPRs auf das Ergebnis von Vergleichen einschalten"
+-
+-#: config/frv/frv.opt:173
+-msgid "Change the amount of scheduler lookahead"
+-msgstr "Betrag der Vorausplanung ändern"
+-
+-#: config/frv/frv.opt:177 config/pa/pa.opt:104
+-msgid "Use software floating point"
+-msgstr "Software-Gleitkomma verwenden"
+-
+-#: config/frv/frv.opt:181
+-msgid "Assume a large TLS segment"
+-msgstr "Ein großes TLS-Segment vermuten"
+-
+-#: config/frv/frv.opt:185
+-msgid "Do not assume a large TLS segment"
+-msgstr "Kein großes TLS-Segment vermuten"
+-
+-#: config/frv/frv.opt:190
+-msgid "Cause gas to print tomcat statistics"
+-msgstr "Gas veranlassen, Tomcat-Statistiken auszugeben"
+-
+-#: config/frv/frv.opt:195
+-msgid "Link with the library-pic libraries"
+-msgstr "Mit Library-PIC-Bibliotheken linken"
+-
+-#: config/frv/frv.opt:199
+-msgid "Allow branches to be packed with other instructions"
+-msgstr "Erlauben, Sprünge mit anderen Befehlen zu packen"
+-
+-#: config/mn10300/mn10300.opt:23
+-msgid "Target the AM33 processor"
+-msgstr "Auf AM33-Prozessor abzielen"
+-
+-#: config/mn10300/mn10300.opt:27
+-msgid "Target the AM33/2.0 processor"
+-msgstr "Auf AM33/2.0-Prozessor abzielen"
+-
+-#: config/mn10300/mn10300.opt:31
+-msgid "Work around hardware multiply bug"
+-msgstr "Hardware-Multiplikationsfehler umgehen"
+-
+-#: config/mn10300/mn10300.opt:36
+-msgid "Enable linker relaxations"
+-msgstr "Binderlockerungen einschalten"
+-
+-#: config/mn10300/mn10300.opt:40
+-msgid "Return pointers in both a0 and d0"
+-msgstr "Zeiger sowohl in a0 als auch in d0 zurück geben"
+-
+-#: config/s390/tpf.opt:23
+-msgid "Enable TPF-OS tracing code"
+-msgstr "TPF-OS-tracing-Code einschalten"
+-
+-#: config/s390/tpf.opt:27
+-msgid "Specify main object for TPF-OS"
+-msgstr "Hauptobjekt für TPF-OS angeben"
+-
+-#: config/s390/s390.opt:23
+-msgid "31 bit ABI"
+-msgstr "31-Bit-ABI"
+-
+-#: config/s390/s390.opt:27
+-msgid "64 bit ABI"
+-msgstr "64-Bit-ABI"
+-
+-#: config/s390/s390.opt:31 config/i386/i386.opt:59 config/spu/spu.opt:60
+-msgid "Generate code for given CPU"
+-msgstr "Code für die gegebene CPU erzeugen"
+-
+-#: config/s390/s390.opt:35
+-msgid "Maintain backchain pointer"
+-msgstr "Rückwärtskettenzeiger pflegen"
+-
+-#: config/s390/s390.opt:39
+-msgid "Additional debug prints"
+-msgstr "Zusätzliche Fehlerprotokollausdrucke"
+-
+-#: config/s390/s390.opt:43
+-msgid "ESA/390 architecture"
+-msgstr "ESA/390-Architektur"
+-
+-#: config/s390/s390.opt:47
+-msgid "Enable fused multiply/add instructions"
+-msgstr "Verschmolzene Multiplikations/Additions-Befehle einschalten"
+-
+-#: config/s390/s390.opt:51
+-msgid "Enable decimal floating point hardware support"
+-msgstr "Hardwareunterstützung für dezimales Gleitkomma einschalten"
+-
+-#: config/s390/s390.opt:55
+-msgid "Enable hardware floating point"
+-msgstr "Hardware-Gleitkomma einschalten"
+-
+-#: config/s390/s390.opt:67
+-msgid "Use packed stack layout"
+-msgstr "Gepacktes Stacklayout verwenden"
+-
+-#: config/s390/s390.opt:71
+-msgid "Use bras for executable < 64k"
+-msgstr "bras für ausführbare Datei < 64k verwenden"
+-
+-#: config/s390/s390.opt:75
+-msgid "Disable hardware floating point"
+-msgstr "Hardware-Gleitkomma ausschalten"
+-
+-#: config/s390/s390.opt:79
+-msgid "Set the max. number of bytes which has to be left to stack size before a trap instruction is triggered"
+-msgstr "Höchstanzahl der Bytes angeben, die noch im Stack übrig sind, bevor ein Trap-Befehl ausgelöst wird"
+-
+-#: config/s390/s390.opt:83
+-msgid "Emit extra code in the function prologue in order to trap if the stack size exceeds the given limit"
+-msgstr "Zusätzlichen Code im Funktionsprolog ausgeben, um ein Überschreiten des angegebenen Limits für die Stackgröße abzufangen (trap)"
+-
+-#: config/s390/s390.opt:87 config/ia64/ia64.opt:97 config/sparc/sparc.opt:95
+-#: config/i386/i386.opt:183 config/rs6000/rs6000.opt:226 config/spu/spu.opt:64
+-msgid "Schedule code for given CPU"
+-msgstr "Code für die gegebene CPU planen"
+-
+-#: config/s390/s390.opt:91
+-msgid "mvcle use"
+-msgstr "mvcle-Verwendung"
+-
+-#: config/s390/s390.opt:95
+-msgid "Warn if a function uses alloca or creates an array with dynamic size"
+-msgstr "Warnen, wenn eine Funktion alloca verwendet oder ein Feld dynamischer Größe erzeugt"
+-
+-#: config/s390/s390.opt:99
+-msgid "Warn if a single function's framesize exceeds the given framesize"
+-msgstr "Warnen, wenn Rahmengröße einer einzelnen Funktion die gegebene Rahmengröße überschreitet"
+-
+-#: config/s390/s390.opt:103
+-msgid "z/Architecture"
+-msgstr "z/Architektur"
+-
+ #: config/ia64/ilp32.opt:3
+ msgid "Generate ILP32 code"
+ msgstr "ILP32-Code erzeugen"
+@@ -12069,10 +11816,16 @@
+ msgid "Enable earlier placing stop bits for better scheduling"
+ msgstr "Frühere Stop-Bit-Platzierung für bessere Planung einschalten"
+
+-#: config/ia64/ia64.opt:89 config/spu/spu.opt:56 config/pa/pa.opt:51
++#: config/ia64/ia64.opt:89 config/pa/pa.opt:51 config/spu/spu.opt:56
+ msgid "Specify range of registers to make fixed"
+ msgstr "Bereich der zu fixierenden Register angeben"
+
++#: config/ia64/ia64.opt:97 config/i386/i386.opt:183
++#: config/rs6000/rs6000.opt:226 config/spu/spu.opt:64 config/s390/s390.opt:87
++#: config/sparc/sparc.opt:95
++msgid "Schedule code for given CPU"
++msgstr "Code für die gegebene CPU planen"
++
+ #: config/ia64/ia64.opt:101
+ msgid "Use data speculation before reload"
+ msgstr "Datenspekulation vor Neuladen verwenden"
+@@ -12121,334 +11874,296 @@
+ msgid "Count speculative dependencies while calculating priority of instructions"
+ msgstr "Spekulative Abhängigkeiten während Prioritätsberechnung der Anweisungen zählen"
+
+-#: config/m32c/m32c.opt:24 config/bfin/bfin.opt:23 config/mt/mt.opt:27
+-msgid "Use simulator runtime"
+-msgstr "Simulator-runtime verwenden"
++#: config/xtensa/xtensa.opt:23
++msgid "Use CONST16 instruction to load constants"
++msgstr "CONST16-Befehle zum Laden von Konstanten verwenden"
+
+-#: config/m32c/m32c.opt:28
+-msgid "Compile code for R8C variants"
+-msgstr "Code für R8C-Varianten kompilieren"
++#: config/xtensa/xtensa.opt:27
++msgid "Enable fused multiply/add and multiply/subtract FP instructions"
++msgstr "Verschmolzene Multiplizier/Addier- und Multiplizier/Subtrahier-Befehle für Gleitkomma einschalten"
+
+-#: config/m32c/m32c.opt:32
+-msgid "Compile code for M16C variants"
+-msgstr "Code für M16C-Varianten kompilieren"
++#: config/xtensa/xtensa.opt:31
++msgid "Use indirect CALLXn instructions for large programs"
++msgstr "Indirekte CALLXn-Befehle für große Programme verwenden"
+
+-#: config/m32c/m32c.opt:36
+-msgid "Compile code for M32CM variants"
+-msgstr "Code für M32CM-Varianten kompilieren"
++#: config/xtensa/xtensa.opt:35
++msgid "Automatically align branch targets to reduce branch penalties"
++msgstr "Zweigziele automatisch ausrichten, um Strafzyklen für Verzweigung zu verringern"
+
+-#: config/m32c/m32c.opt:40
+-msgid "Compile code for M32C variants"
+-msgstr "Code für M32C-Varianten kompilieren"
++#: config/xtensa/xtensa.opt:39
++msgid "Intersperse literal pools with code in the text section"
++msgstr "Code in Zeichen-Daten im Text-Abschnitt einstreuen"
+
+-#: config/m32c/m32c.opt:44
+-msgid "Number of memreg bytes (default: 16, range: 0..16)"
+-msgstr "Anzahl der Memreg-Bytes (Standard: 16, Bereich: 0..16)"
++#: config/pa/pa.opt:23 config/pa/pa.opt:76 config/pa/pa.opt:84
++msgid "Generate PA1.0 code"
++msgstr "PA1.0-Code erzeugen"
+
+-#: config/sparc/little-endian.opt:23
+-msgid "Generate code for little-endian"
+-msgstr "Code für »little-endian« erzeugen"
++#: config/pa/pa.opt:27 config/pa/pa.opt:88 config/pa/pa.opt:108
++msgid "Generate PA1.1 code"
++msgstr "PA1.1-Code erzeugen"
+
+-#: config/sparc/little-endian.opt:27
+-msgid "Generate code for big-endian"
+-msgstr "Code für »big-endian« erzeugen"
++#: config/pa/pa.opt:31 config/pa/pa.opt:92
++msgid "Generate PA2.0 code (requires binutils 2.10 or later)"
++msgstr "PA2.0-Code erzeugen (erfordert binutils 2.10 oder neuer)"
+
+-#: config/sparc/sparc.opt:23 config/sparc/sparc.opt:27
+-msgid "Use hardware FP"
+-msgstr "Hardware-FP verwenden"
++#: config/pa/pa.opt:35
++msgid "Generate code for huge switch statements"
++msgstr "Code für große switch-Anweisungen erzeugen"
+
+-#: config/sparc/sparc.opt:31
+-msgid "Do not use hardware FP"
+-msgstr "Hardware-FP nicht verwenden"
++#: config/pa/pa.opt:39
++msgid "Disable FP regs"
++msgstr "Gleitkommaregister ausschalten"
+
+-#: config/sparc/sparc.opt:35
+-msgid "Assume possible double misalignment"
+-msgstr "Mögliche doppelte Fehlausrichtung annehmen"
++#: config/pa/pa.opt:43
++msgid "Disable indexed addressing"
++msgstr "Indizierte Adressierung ausschalten"
+
+-#: config/sparc/sparc.opt:39
+-msgid "Pass -assert pure-text to linker"
+-msgstr "-assert pure-text an Binder übergeben"
++#: config/pa/pa.opt:47
++msgid "Generate fast indirect calls"
++msgstr "Schnelle indirekte Aufrufe erzeugen"
+
+-#: config/sparc/sparc.opt:43
+-msgid "Use ABI reserved registers"
+-msgstr "ABI-reservierte Register verwenden"
++#: config/pa/pa.opt:55
++msgid "Assume code will be assembled by GAS"
++msgstr "Code als mit GAS assembliert annehmen"
+
+-#: config/sparc/sparc.opt:47
+-msgid "Use hardware quad FP instructions"
+-msgstr "Hardware-Vierfach-Gleitkommabefehle verwenden"
++#: config/pa/pa.opt:59
++msgid "Put jumps in call delay slots"
++msgstr "Sprünge in Aufrufverzögerungsschlitze stecken"
+
+-#: config/sparc/sparc.opt:51
+-msgid "Do not use hardware quad fp instructions"
+-msgstr "Hardware-Vierfach-Gleitkommabefehle nicht verwenden"
++#: config/pa/pa.opt:64
++msgid "Enable linker optimizations"
++msgstr "Binder-Optimierungen einschalten"
+
+-#: config/sparc/sparc.opt:55
+-msgid "Compile for V8+ ABI"
+-msgstr "Für V8+-ABI-übersetzen"
++#: config/pa/pa.opt:68
++msgid "Always generate long calls"
++msgstr "Immer weite Rufe erzeugen"
+
+-#: config/sparc/sparc.opt:59
+-msgid "Use UltraSPARC Visual Instruction Set extensions"
+-msgstr "Visuelle Befehlssatzerweiterungen für UltraSPARC verwenden"
++#: config/pa/pa.opt:72
++msgid "Emit long load/store sequences"
++msgstr "Lange Laden/Speichern-Folgen ausgeben"
+
+-#: config/sparc/sparc.opt:63
+-msgid "Pointers are 64-bit"
+-msgstr "Zeiger sind 64 Bit"
++#: config/pa/pa.opt:80
++msgid "Disable space regs"
++msgstr "Leerregister ausschalten"
+
+-#: config/sparc/sparc.opt:67
+-msgid "Pointers are 32-bit"
+-msgstr "Zeiger sind 32 Bit"
++#: config/pa/pa.opt:96
++msgid "Use portable calling conventions"
++msgstr "Portierbare Aufrufkonventionen verwenden"
+
+-#: config/sparc/sparc.opt:71
+-msgid "Use 64-bit ABI"
+-msgstr "64-Bit-ABI verwenden"
++#: config/pa/pa.opt:100
++msgid "Specify CPU for scheduling purposes. Valid arguments are 700, 7100, 7100LC, 7200, 7300, and 8000"
++msgstr "CPU für Planzwecke angeben. Gültige Argumente sind 700, 7100, 7100LC, 7200, 7300, und 8000"
+
+-#: config/sparc/sparc.opt:75
+-msgid "Use 32-bit ABI"
+-msgstr "32-Bit-ABI verwenden"
++#: config/pa/pa.opt:104 config/frv/frv.opt:177
++msgid "Use software floating point"
++msgstr "Software-Gleitkomma verwenden"
+
+-#: config/sparc/sparc.opt:79
+-msgid "Use stack bias"
+-msgstr "Stapelversatz verwenden"
++#: config/pa/pa.opt:112
++msgid "Do not disable space regs"
++msgstr "Leerregister nicht ausschalten"
+
+-#: config/sparc/sparc.opt:83
+-msgid "Use structs on stronger alignment for double-word copies"
+-msgstr "Bei stärkerer Ausrichtung für Doppelwort-Kopien Structs verwenden"
++#: config/pa/pa-hpux1111.opt:23 config/pa/pa-hpux1010.opt:23
++#: config/pa/pa-hpux.opt:27
++msgid "Specify UNIX standard for predefines and linking"
++msgstr "UNIX-Standard für Predefines und Bindung angeben"
+
+-#: config/sparc/sparc.opt:87
+-msgid "Optimize tail call instructions in assembler and linker"
+-msgstr "Ende-Aufruf-Befehle in Assembler und Binder optimieren"
++#: config/pa/pa64-hpux.opt:23
++msgid "Assume code will be linked by GNU ld"
++msgstr "Code als später mit GNU ld gebunden annehmen"
+
+-#: config/sparc/sparc.opt:91 config/rs6000/rs6000.opt:222
+-msgid "Use features of and schedule code for given CPU"
+-msgstr "Eigenschaften der gegebenen CPU verwenden und entsprechend Code planen"
++#: config/pa/pa64-hpux.opt:27
++msgid "Assume code will be linked by HP ld"
++msgstr "Code als später mit HP ld gebunden annehmen"
+
+-#: config/sparc/sparc.opt:99
+-msgid "Use given SPARC-V9 code model"
+-msgstr "Gegebenes SPARC-V9-Codemodell verwenden"
++#: config/pa/pa-hpux.opt:23
++msgid "Generate cpp defines for server IO"
++msgstr "cpp-Defines für Server-IO erzeugen"
+
+-#: config/sparc/sparc.opt:103
+-msgid "Enable strict 32-bit psABI struct return checking."
+-msgstr "Strenge Prüfung für 32-bit psABI Strukturrückgabe einschalten"
++#: config/pa/pa-hpux.opt:31
++msgid "Generate cpp defines for workstation IO"
++msgstr "cpp-Defines für Workstation-IO erzeugen"
+
+-#: config/m32r/m32r.opt:23
+-msgid "Compile for the m32rx"
+-msgstr "Für m32rx übersetzen"
++#: config/frv/frv.opt:23
++msgid "Use 4 media accumulators"
++msgstr "4 Media-Register verwenden"
+
+-#: config/m32r/m32r.opt:27
+-msgid "Compile for the m32r2"
+-msgstr "Für m32r2 übersetzen"
++#: config/frv/frv.opt:27
++msgid "Use 8 media accumulators"
++msgstr "8 Media-Register verwenden"
+
+-#: config/m32r/m32r.opt:31
+-msgid "Compile for the m32r"
+-msgstr "Für m32r übersetzen"
++#: config/frv/frv.opt:31
++msgid "Enable label alignment optimizations"
++msgstr "Markenausrichtungs-Optimierungen einschalten"
+
+-#: config/m32r/m32r.opt:35
+-msgid "Align all loops to 32 byte boundary"
+-msgstr "Alle Schleifen auf 32-Byte-Grenzen ausrichten"
++#: config/frv/frv.opt:35
++msgid "Dynamically allocate cc registers"
++msgstr "CC-Register dynamisch belegen"
+
+-#: config/m32r/m32r.opt:39
+-msgid "Prefer branches over conditional execution"
+-msgstr "Zweige gegenüber bedingter Ausführung bevorzugen"
++#: config/frv/frv.opt:42
++msgid "Set the cost of branches"
++msgstr "Sprungkosten setzen"
+
+-#: config/m32r/m32r.opt:43
+-msgid "Give branches their default cost"
+-msgstr "Sprüngen ihre Standardkosten zuweisen"
++#: config/frv/frv.opt:46
++msgid "Enable conditional execution other than moves/scc"
++msgstr "Bedingte Ausführung statt Kopieren/scc einschalten"
+
+-#: config/m32r/m32r.opt:47
+-msgid "Display compile time statistics"
+-msgstr "Ãœbersetzungszeitstatistik anzeigen"
++#: config/frv/frv.opt:50
++msgid "Change the maximum length of conditionally-executed sequences"
++msgstr "Größte Länge der bedingt ausgeführten Sequenzen ändern"
+
+-#: config/m32r/m32r.opt:51
+-msgid "Specify cache flush function"
+-msgstr "Funktion zum Entleeren des Cache angeben"
++#: config/frv/frv.opt:54
++msgid "Change the number of temporary registers that are available to conditionally-executed sequences"
++msgstr "Anzahl der temporären Register ändern, die für bedingt ausgeführte Sequenzen zur Verfügung stehen"
+
+-#: config/m32r/m32r.opt:55
+-msgid "Specify cache flush trap number"
+-msgstr "Abfangfunktionsnummer zum Entleeren des Cache angeben"
++#: config/frv/frv.opt:58
++msgid "Enable conditional moves"
++msgstr "Bedingte Kopierbefehle einschalten"
+
+-#: config/m32r/m32r.opt:59
+-msgid "Only issue one instruction per cycle"
+-msgstr "Nur einen Befehl pro Durchgang ausgeben"
++#: config/frv/frv.opt:62
++msgid "Set the target CPU type"
++msgstr "Ziel-CPU-Typ angeben"
+
+-#: config/m32r/m32r.opt:63
+-msgid "Allow two instructions to be issued per cycle"
+-msgstr "Zwei Befehle pro Durchgang erlauben"
++#: config/frv/frv.opt:84
++msgid "Use fp double instructions"
++msgstr "Gleitkomma-double-Befehle verwenden"
+
+-#: config/m32r/m32r.opt:67
+-msgid "Code size: small, medium or large"
+-msgstr "Code-Größe: klein, mittel, groß"
++#: config/frv/frv.opt:88
++msgid "Change the ABI to allow double word insns"
++msgstr "ABI ändern, um Doubleword-Befehle zuzulassen"
+
+-#: config/m32r/m32r.opt:71
+-msgid "Don't call any cache flush functions"
+-msgstr "Keine Funktionen zum Entleeren des Cache aufrufen"
++#: config/frv/frv.opt:92 config/bfin/bfin.opt:73
++msgid "Enable Function Descriptor PIC mode"
++msgstr "Funktionsdeskriptor-PIC-Modus einschalten"
+
+-#: config/m32r/m32r.opt:75
+-msgid "Don't call any cache flush trap"
+-msgstr "Keine Abfangfunktion zum Entleeren des Cache aufrufen"
++#: config/frv/frv.opt:96
++msgid "Just use icc0/fcc0"
++msgstr "Einfach icc0/fcc0 verwenden"
+
+-#: config/m32r/m32r.opt:82
+-msgid "Small data area: none, sdata, use"
+-msgstr "Kleiner Datenbereich: keiner, sdata, verwenden"
++#: config/frv/frv.opt:100
++msgid "Only use 32 FPRs"
++msgstr "Nur 32 FPRs verwenden"
+
+-#: config/m68k/m68k.opt:23
+-msgid "Generate code for a 520X"
+-msgstr "Code für einen 520X erzeugen"
++#: config/frv/frv.opt:104
++msgid "Use 64 FPRs"
++msgstr "64 FPRs verwenden"
+
+-#: config/m68k/m68k.opt:27
+-msgid "Generate code for a 5206e"
+-msgstr "Code für einen 5206e erzeugen"
++#: config/frv/frv.opt:108
++msgid "Only use 32 GPRs"
++msgstr "Nur 32 GPR verwenden"
+
+-#: config/m68k/m68k.opt:31
+-msgid "Generate code for a 528x"
+-msgstr "Code für einen 528x erzeugen"
++#: config/frv/frv.opt:112
++msgid "Use 64 GPRs"
++msgstr "64 GPRs verwenden"
+
+-#: config/m68k/m68k.opt:35
+-msgid "Generate code for a 5307"
+-msgstr "Code für einen 5307 erzeugen"
++#: config/frv/frv.opt:116
++msgid "Enable use of GPREL for read-only data in FDPIC"
++msgstr "Verwendung von GPREL für Nur-Lese-Daten in FDPIC einschalten"
+
+-#: config/m68k/m68k.opt:39
+-msgid "Generate code for a 5407"
+-msgstr "Code für einen 5407 erzeugen"
++#: config/frv/frv.opt:120 config/rs6000/rs6000.opt:112
++#: config/pdp11/pdp11.opt:71
++msgid "Use hardware floating point"
++msgstr "Hardware-Gleitkomma verwenden"
+
+-#: config/m68k/m68k.opt:43 config/m68k/m68k.opt:104
+-msgid "Generate code for a 68000"
+-msgstr "Code für 68000 erzeugen"
++#: config/frv/frv.opt:124 config/bfin/bfin.opt:77
++msgid "Enable inlining of PLT in function calls"
++msgstr "Inlining von PLT in Funktionsaufrufen einschalten"
+
+-#: config/m68k/m68k.opt:47
+-msgid "Generate code for a 68010"
+-msgstr "Code für 68010 erzeugen"
++#: config/frv/frv.opt:128
++msgid "Enable PIC support for building libraries"
++msgstr "PIC-Unterstützung beim Bauen von Bibliotheken einschalten"
+
+-#: config/m68k/m68k.opt:51 config/m68k/m68k.opt:108
+-msgid "Generate code for a 68020"
+-msgstr "Code für 68020 erzeugen"
++#: config/frv/frv.opt:132
++msgid "Follow the EABI linkage requirements"
++msgstr "Den EABI Bindeanforderungen folgen"
+
+-#: config/m68k/m68k.opt:55
+-msgid "Generate code for a 68040, without any new instructions"
+-msgstr "Code für einen 68040 ohne neue Befehle erzeugen"
++#: config/frv/frv.opt:136
++msgid "Disallow direct calls to global functions"
++msgstr "Direkte Aufrufe von globalen Funktionen verbieten"
+
+-#: config/m68k/m68k.opt:59
+-msgid "Generate code for a 68060, without any new instructions"
+-msgstr "Code für einen 68060 ohne neue Befehle erzeugen"
++#: config/frv/frv.opt:140
++msgid "Use media instructions"
++msgstr "Media-Befehle verwenden"
+
+-#: config/m68k/m68k.opt:63
+-msgid "Generate code for a 68030"
+-msgstr "Code für einen 68030 erzeugen"
++#: config/frv/frv.opt:144
++msgid "Use multiply add/subtract instructions"
++msgstr "Befehle zum Multiplizieren-Addieren/Subtrahieren verwenden"
+
+-#: config/m68k/m68k.opt:67
+-msgid "Generate code for a 68040"
+-msgstr "Code für einen 68040 erzeugen"
++#: config/frv/frv.opt:148
++msgid "Enable optimizing &&/|| in conditional execution"
++msgstr "Optimierung von &&/|| in bedingter Ausführung einschalten"
+
+-#: config/m68k/m68k.opt:71
+-msgid "Generate code for a 68060"
+-msgstr "Code für einen 68060 erzeugen"
++#: config/frv/frv.opt:152
++msgid "Enable nested conditional execution optimizations"
++msgstr "Optimierungen für geschachtelte bedingte Ausführung einschalten"
+
+-#: config/m68k/m68k.opt:75
+-msgid "Generate code for a 68302"
+-msgstr "Code für einen 68302 erzeugen"
++#: config/frv/frv.opt:157
++msgid "Do not mark ABI switches in e_flags"
++msgstr "ABI-Schalter nicht in e_flags markieren"
+
+-#: config/m68k/m68k.opt:79
+-msgid "Generate code for a 68332"
+-msgstr "Code für einen 68332 erzeugen"
++#: config/frv/frv.opt:161
++msgid "Remove redundant membars"
++msgstr "Redundante Membars entfernen"
+
+-#: config/m68k/m68k.opt:84
+-msgid "Generate code for a 68851"
+-msgstr "Code für einen 68851 erzeugen"
++#: config/frv/frv.opt:165
++msgid "Pack VLIW instructions"
++msgstr "VLIW-Befehle packen"
+
+-#: config/m68k/m68k.opt:88
+-msgid "Generate code that uses 68881 floating-point instructions"
+-msgstr "Code erzeugen, der 68881-Gleitkommabefehle verwendet"
++#: config/frv/frv.opt:169
++msgid "Enable setting GPRs to the result of comparisons"
++msgstr "Setzen von GPRs auf das Ergebnis von Vergleichen einschalten"
+
+-#: config/m68k/m68k.opt:92
+-msgid "Align variables on a 32-bit boundary"
+-msgstr "Variablen auf 32-Bit-Grenzen ausrichten"
++#: config/frv/frv.opt:173
++msgid "Change the amount of scheduler lookahead"
++msgstr "Betrag der Vorausplanung ändern"
+
+-#: config/m68k/m68k.opt:96 config/arm/arm.opt:49 config/score/score.opt:63
+-msgid "Specify the name of the target architecture"
+-msgstr "Namen der Ziel-Architektur angeben"
++#: config/frv/frv.opt:181
++msgid "Assume a large TLS segment"
++msgstr "Ein großes TLS-Segment vermuten"
+
+-#: config/m68k/m68k.opt:100
+-msgid "Use the bit-field instructions"
+-msgstr "Bit-Feld-Befehle verwenden"
++#: config/frv/frv.opt:185
++msgid "Do not assume a large TLS segment"
++msgstr "Kein großes TLS-Segment vermuten"
+
+-#: config/m68k/m68k.opt:112
+-msgid "Generate code for a ColdFire v4e"
+-msgstr "Code für ColdFire v4e erzeugen"
++#: config/frv/frv.opt:190
++msgid "Cause gas to print tomcat statistics"
++msgstr "Gas veranlassen, Tomcat-Statistiken auszugeben"
+
+-#: config/m68k/m68k.opt:116
+-msgid "Specify the target CPU"
+-msgstr "Die Ziel-CPU auswählen"
++#: config/frv/frv.opt:195
++msgid "Link with the library-pic libraries"
++msgstr "Mit Library-PIC-Bibliotheken linken"
+
+-#: config/m68k/m68k.opt:120
+-msgid "Generate code for a cpu32"
+-msgstr "Code für eine cpu32 erzeugen"
++#: config/frv/frv.opt:199
++msgid "Allow branches to be packed with other instructions"
++msgstr "Erlauben, Sprünge mit anderen Befehlen zu packen"
+
+-#: config/m68k/m68k.opt:124
+-msgid "Use hardware division instructions on ColdFire"
+-msgstr "Hardware-Divisionsbefehle auf Coldfire verwenden"
++#: config/i386/cygming.opt:23
++msgid "Create console application"
++msgstr "Konsolenanwendung erzeugen"
+
+-#: config/m68k/m68k.opt:128
+-msgid "Generate code for a Fido A"
+-msgstr "Code für Fido A erzeugen"
++#: config/i386/cygming.opt:27
++msgid "Use the Cygwin interface"
++msgstr "Cygwin-Schnittstelle verwenden"
+
+-#: config/m68k/m68k.opt:132
+-msgid "Generate code which uses hardware floating point instructions"
+-msgstr "Code erzeugen, der Hardware-Gleitkommabefehle verwendet"
++#: config/i386/cygming.opt:31
++msgid "Generate code for a DLL"
++msgstr "Code für DLL erzeugen"
+
+-#: config/m68k/m68k.opt:136
+-msgid "Enable ID based shared library"
+-msgstr "ID-basierte Shared Library einschalten"
++#: config/i386/cygming.opt:35
++msgid "Ignore dllimport for functions"
++msgstr "dllimport für Funktionen erzeugen"
+
+-#: config/m68k/m68k.opt:140
+-msgid "Do not use the bit-field instructions"
+-msgstr "Bit-Feld-Befehle nicht verwenden"
++#: config/i386/cygming.opt:39
++msgid "Use Mingw-specific thread support"
++msgstr "Mingw-spezifische Thread-Unterstützung verwenden"
+
+-#: config/m68k/m68k.opt:144
+-msgid "Use normal calling convention"
+-msgstr "Normale Aufrufkonvention verwenden"
++#: config/i386/cygming.opt:43
++msgid "Set Windows defines"
++msgstr "Windows-defines setzen"
+
+-#: config/m68k/m68k.opt:148
+-msgid "Consider type 'int' to be 32 bits wide"
+-msgstr "Typ »int« als 32 Bit breit ansehen"
++#: config/i386/cygming.opt:47
++msgid "Create GUI application"
++msgstr "GUI-Anwendung erzeugen"
+
+-#: config/m68k/m68k.opt:152
+-msgid "Generate pc-relative code"
+-msgstr "PC-relativen Code erzeugen"
+-
+-#: config/m68k/m68k.opt:156
+-msgid "Use different calling convention using 'rtd'"
+-msgstr "Andere Aufrufkonvention mit 'RTD' verwenden"
+-
+-#: config/m68k/m68k.opt:160 config/bfin/bfin.opt:61
+-msgid "Enable separate data segment"
+-msgstr "Gesondertes Datensegment einschalten"
+-
+-#: config/m68k/m68k.opt:164 config/bfin/bfin.opt:57
+-msgid "ID of shared library to build"
+-msgstr "ID der zu bauenden Shared Library"
+-
+-#: config/m68k/m68k.opt:168
+-msgid "Consider type 'int' to be 16 bits wide"
+-msgstr "Typ »int« als 16 Bit breit ansehen"
+-
+-#: config/m68k/m68k.opt:172
+-msgid "Generate code with library calls for floating point"
+-msgstr "Code mit Bibliotheksaufrufen für Gleitkommaarithmetik erzeugen"
+-
+-#: config/m68k/m68k.opt:176
+-msgid "Do not use unaligned memory references"
+-msgstr "Keine unausgerichteten Speicherreferenzen verwenden"
+-
+-#: config/m68k/m68k.opt:180
+-msgid "Tune for the specified target CPU or architecture"
+-msgstr "Für angegebene Ziel-CPU oder Architektur optimieren"
+-
+-#: config/m68k/ieee.opt:24 config/i386/i386.opt:95
+-msgid "Use IEEE math for fp comparisons"
+-msgstr "IEEE-Arithmetik für Gleitkommavergleiche verwenden"
+-
+-#: config/i386/djgpp.opt:25
+-msgid "Ignored (obsolete)"
+-msgstr "Ignoriert (veraltet)"
+-
+ #: config/i386/i386.opt:23
+ msgid "sizeof(long double) is 16"
+ msgstr "sizeof(long double) ist 16"
+@@ -12485,6 +12200,10 @@
+ msgid "Align destination of the string operations"
+ msgstr "Ziel der Zeichenkettenoperationen ausrichten"
+
++#: config/i386/i386.opt:59 config/spu/spu.opt:60 config/s390/s390.opt:31
++msgid "Generate code for given CPU"
++msgstr "Code für die gegebene CPU erzeugen"
++
+ #: config/i386/i386.opt:63
+ msgid "Use given assembler dialect"
+ msgstr "Gegebenen Assemblerdialekt verwenden"
+@@ -12513,6 +12232,10 @@
+ msgid "Generate floating point mathematics using given instruction set"
+ msgstr "Gleitkommaarithmetik mit gegebenem Befehlssatz erzeugen"
+
++#: config/i386/i386.opt:95 config/m68k/ieee.opt:24
++msgid "Use IEEE math for fp comparisons"
++msgstr "IEEE-Arithmetik für Gleitkommavergleiche verwenden"
++
+ #: config/i386/i386.opt:99
+ msgid "Inline all known string operations"
+ msgstr "Alle bekannten Zeichenkettenoperationen einbetten (inline)"
+@@ -12662,58 +12385,396 @@
+ msgid "Enable automatic generation of fused floating point multiply-add instructions"
+ msgstr "Automatische Erzeugung verschmolzener Gleitkomma-Multiplizier-/Addier-Befehle einschalten"
+
+-#: config/i386/cygming.opt:23
+-msgid "Create console application"
+-msgstr "Konsolenanwendung erzeugen"
++#: config/i386/sco5.opt:24
++msgid "Generate ELF output"
++msgstr "ELF-Ausgabe erzeugen"
+
+-#: config/i386/cygming.opt:27
+-msgid "Use the Cygwin interface"
+-msgstr "Cygwin-Schnittstelle verwenden"
++#: config/i386/djgpp.opt:25
++msgid "Ignored (obsolete)"
++msgstr "Ignoriert (veraltet)"
+
+-#: config/i386/cygming.opt:31
+-msgid "Generate code for a DLL"
+-msgstr "Code für DLL erzeugen"
++#: config/iq2000/iq2000.opt:23 config/mt/mt.opt:55
++msgid "Specify CPU for code generation purposes"
++msgstr "CPU für Codeerzeugungszwecke angeben"
+
+-#: config/i386/cygming.opt:35
+-msgid "Ignore dllimport for functions"
+-msgstr "dllimport für Funktionen erzeugen"
++#: config/iq2000/iq2000.opt:27
++msgid "Specify CPU for scheduling purposes"
++msgstr "CPU für Planzwecke angeben"
+
+-#: config/i386/cygming.opt:39
+-msgid "Use Mingw-specific thread support"
+-msgstr "Mingw-spezifische Thread-Unterstützung verwenden"
++#: config/iq2000/iq2000.opt:31 config/mips/mips.opt:97
++msgid "Use ROM instead of RAM"
++msgstr "ROM statt RAM verwenden"
+
+-#: config/i386/cygming.opt:43
+-msgid "Set Windows defines"
+-msgstr "Windows-defines setzen"
++#: config/iq2000/iq2000.opt:35
++msgid "Use GP relative sdata/sbss sections"
++msgstr "Relative GP sdata/sbss-Abschnitte verwenden"
+
+-#: config/i386/cygming.opt:47
+-msgid "Create GUI application"
+-msgstr "GUI-Anwendung erzeugen"
++#: config/iq2000/iq2000.opt:40
++msgid "No default crt0.o"
++msgstr "Kein voreingestelltes crt0.o"
+
+-#: config/i386/sco5.opt:24
+-msgid "Generate ELF output"
+-msgstr "ELF-Ausgabe erzeugen"
++#: config/iq2000/iq2000.opt:44 config/mips/mips.opt:265
++msgid "Put uninitialized constants in ROM (needs -membedded-data)"
++msgstr "Uninitialisierte Konstanten im ROM ablegen (benötigt -membedded-data)"
+
+-#: config/rs6000/aix41.opt:24 config/rs6000/aix64.opt:32
+-msgid "Support message passing with the Parallel Environment"
+-msgstr "Message Passing mit paralleler Umgebung unterstützen"
++#: config/arm/arm.opt:23
++msgid "Specify an ABI"
++msgstr "ABI angeben"
+
+-#: config/rs6000/aix.opt:24 config/rs6000/rs6000.opt:147
+-msgid "Conform more closely to IBM XLC semantics"
+-msgstr "Näher der IBM XLC-Semantik entsprechen"
++#: config/arm/arm.opt:27
++msgid "Generate a call to abort if a noreturn function returns"
++msgstr "Aufruf zum Abbruch erzeugen, wenn eine »noreturn«-Funktion zurückkehrt"
+
+-#: config/rs6000/darwin.opt:24 config/rs6000/sysv4.opt:132
++#: config/arm/arm.opt:34
++msgid "Pass FP arguments in FP registers"
++msgstr "FP-Argumente an FP-Register übergeben"
++
++#: config/arm/arm.opt:38
++msgid "Generate APCS conformant stack frames"
++msgstr "APCS-konforme Stapelrahmen erzeugen"
++
++#: config/arm/arm.opt:42
++msgid "Generate re-entrant, PIC code"
++msgstr "Wiedereinsprungsfähigen PIC-Code erzeugen"
++
++#: config/arm/arm.opt:49 config/m68k/m68k.opt:96 config/score/score.opt:63
++msgid "Specify the name of the target architecture"
++msgstr "Namen der Ziel-Architektur angeben"
++
++#: config/arm/arm.opt:56
++msgid "Assume target CPU is configured as big endian"
++msgstr "Ziel-CPU als »big endian«-konfiguriert annehmen"
++
++#: config/arm/arm.opt:60
++msgid "Thumb: Assume non-static functions may be called from ARM code"
++msgstr "Thumb: Annahme, dass nichtstatische Funktionen von ARM-Code aus aufgerufen werden können"
++
++#: config/arm/arm.opt:64
++msgid "Thumb: Assume function pointers may go to non-Thumb aware code"
++msgstr "Thumb: Annahme, dass Funktionszeiger an nicht Thumb unterstützenden Code übergeben werden können"
++
++#: config/arm/arm.opt:68
++msgid "Cirrus: Place NOPs to avoid invalid instruction combinations"
++msgstr "Cirrus: NOPs einbauen, um ungültige Befehlskombinationen zu vermeiden"
++
++#: config/arm/arm.opt:72 config/bfin/bfin.opt:27
++msgid "Specify the name of the target CPU"
++msgstr "Namen der Ziel-CPU angeben"
++
++#: config/arm/arm.opt:76
++msgid "Specify if floating point hardware should be used"
++msgstr "Angeben, ob Gleitkommahardware verwendet werden sollte"
++
++#: config/arm/arm.opt:90
++msgid "Specify the name of the target floating point hardware/format"
++msgstr "Namen der Gleitkommahardware/-format des Zielsystems angeben"
++
++#: config/arm/arm.opt:94
++msgid "Alias for -mfloat-abi=hard"
++msgstr "Alias für -mfloat-abi=hard"
++
++#: config/arm/arm.opt:98
++msgid "Assume target CPU is configured as little endian"
++msgstr "Ziel-CPU als »little endian«-konfiguriert annehmen"
++
++#: config/arm/arm.opt:102
++msgid "Generate call insns as indirect calls, if necessary"
++msgstr "Falls nötig, Aufruf-Befehle als indirekte Aufrufe erzeugen"
++
++#: config/arm/arm.opt:106
++msgid "Specify the register to be used for PIC addressing"
++msgstr "Für PIC-Adressierung zu verwendendes Register angeben"
++
++#: config/arm/arm.opt:110
++msgid "Store function names in object code"
++msgstr "Funktionsnamen im Objektcode speichern"
++
++#: config/arm/arm.opt:114
++msgid "Permit scheduling of a function's prologue sequence"
++msgstr "Planung einer Funktionsprologsequenz erlauben"
++
++#: config/arm/arm.opt:118
++msgid "Do not load the PIC register in function prologues"
++msgstr "PIC-Register nicht in Funktionsprolog verschieben"
++
++#: config/arm/arm.opt:122
++msgid "Alias for -mfloat-abi=soft"
++msgstr "Alias für -mfloat-abi=soft"
++
++#: config/arm/arm.opt:126
++msgid "Specify the minimum bit alignment of structures"
++msgstr "Kleinste Bitausrichtung von Strukturen angeben"
++
++#: config/arm/arm.opt:130
++msgid "Compile for the Thumb not the ARM"
++msgstr "Für Thumb statt ARM übersetzen"
++
++#: config/arm/arm.opt:134
++msgid "Support calls between Thumb and ARM instruction sets"
++msgstr "Aufrufe zwischen Thumb- und ARM-Befehlssätzen unterstützen"
++
++#: config/arm/arm.opt:138
++msgid "Specify how to access the thread pointer"
++msgstr "Angeben, wie auf Threadzeiger zugegriffen wird"
++
++#: config/arm/arm.opt:142
++msgid "Thumb: Generate (non-leaf) stack frames even if not needed"
++msgstr "Thumb: Nicht-Blatt-Stapelrahmen erzeugen, auch wenn nicht erforderlich"
++
++#: config/arm/arm.opt:146
++msgid "Thumb: Generate (leaf) stack frames even if not needed"
++msgstr "Thumb: Blatt-Stapelrahmen erzeugen, auch wenn nicht erforderlich"
++
++#: config/arm/arm.opt:150
++msgid "Tune code for the given processor"
++msgstr "Code auf angegebenen Prozessor abstimmen"
++
++#: config/arm/arm.opt:154
++msgid "Assume big endian bytes, little endian words"
++msgstr "»big endian« Bytes und »little endian« Wörter annehmen"
++
++#: config/arm/arm.opt:158
++msgid "Use Neon quad-word (rather than double-word) registers for vectorization"
++msgstr "Neon-Quad-Word (statt Double-Word) Register für Vektorisierung verwenden"
++
++#: config/arm/pe.opt:23
++msgid "Ignore dllimport attribute for functions"
++msgstr "Attribut dllimport für Funktionen ignorieren"
++
++#: config/cris/linux.opt:27
++msgid "Together with -fpic and -fPIC, do not use GOTPLT references"
++msgstr "Keine GOTPLT-Referenzen zusammen mit -fpic und -fPIC verwenden"
++
++#: config/cris/aout.opt:27
++msgid "Compile for the MMU-less Etrax 100-based elinux system"
++msgstr "Für das MMU-lose Etrax 100-basierte elinux-System übersetzen"
++
++#: config/cris/aout.opt:33
++msgid "For elinux, request a specified stack-size for this program"
++msgstr "Für elinux eine angegebene Stapelgröße für dieses Programm anfordern"
++
++#: config/cris/cris.opt:45
++msgid "Work around bug in multiplication instruction"
++msgstr "Fehler in Multiplikationsbefehl umgehen"
++
++#: config/cris/cris.opt:51
++msgid "Compile for ETRAX 4 (CRIS v3)"
++msgstr "Für ETRAX 4 (CRIS v3) übersetzen"
++
++#: config/cris/cris.opt:56
++msgid "Compile for ETRAX 100 (CRIS v8)"
++msgstr "Für ETRAX 100 (CRIS v8) übersetzen"
++
++#: config/cris/cris.opt:64
++msgid "Emit verbose debug information in assembly code"
++msgstr "Ausführliche Informationen zur Fehlersuche im Assemblercode ausgeben"
++
++#: config/cris/cris.opt:71
++msgid "Do not use condition codes from normal instructions"
++msgstr "Keine Bedingungscodes normaler Befehle verwenden"
++
++#: config/cris/cris.opt:80
++msgid "Do not emit addressing modes with side-effect assignment"
++msgstr "Keine Adressierungsmodi mit Seiteneffektzuweisungen ausgeben"
++
++#: config/cris/cris.opt:89
++msgid "Do not tune stack alignment"
++msgstr "Stapelausrichtung nicht optimieren"
++
++#: config/cris/cris.opt:98
++msgid "Do not tune writable data alignment"
++msgstr "Ausrichtung der schreibbaren Daten nicht optimieren"
++
++#: config/cris/cris.opt:107
++msgid "Do not tune code and read-only data alignment"
++msgstr "Ausrichtung von Code und der Nur-Lese-Daten nicht optimieren"
++
++#: config/cris/cris.opt:116
++msgid "Align code and data to 32 bits"
++msgstr "Code und Daten auf 32 Bit ausrichten"
++
++#: config/cris/cris.opt:133
++msgid "Don't align items in code or data"
++msgstr "Code- und Datenelemente nicht ausrichten"
++
++#: config/cris/cris.opt:142
++msgid "Do not emit function prologue or epilogue"
++msgstr "Keinen Funktionsprolog oder -epilog ausgeben"
++
++#: config/cris/cris.opt:149
++msgid "Use the most feature-enabling options allowed by other options"
++msgstr "Die meisten Optionen verwenden, die spezielle Fähigkeiten einschalten, solange sie durch andere Optionen erlaubt sind"
++
++#: config/cris/cris.opt:158
++msgid "Override -mbest-lib-options"
++msgstr "-mbest-lib-options überschreiben"
++
++#: config/cris/cris.opt:165
++msgid "Generate code for the specified chip or CPU version"
++msgstr "Code für die angegebene Chip- oder CPU-Version erzeugen"
++
++#: config/cris/cris.opt:169
++msgid "Tune alignment for the specified chip or CPU version"
++msgstr "Ausrichtung für den angegebenen Chip oder CPU optimieren"
++
++#: config/cris/cris.opt:173
++msgid "Warn when a stackframe is larger than the specified size"
++msgstr "Warnen, wenn ein Stapelrahmen größer als die angegebene Größe ist"
++
++#: config/avr/avr.opt:23
++msgid "Use subroutines for function prologues and epilogues"
++msgstr "Für Funktionsprologe und -epiloge Unterprogramme verwenden"
++
++#: config/avr/avr.opt:27
++msgid "Select the target MCU"
++msgstr "Die Ziel-MCU auswählen"
++
++#: config/avr/avr.opt:34
++msgid "Use an 8-bit 'int' type"
++msgstr "8-Bit-»int«-Typ verwenden"
++
++#: config/avr/avr.opt:38
++msgid "Change the stack pointer without disabling interrupts"
++msgstr "Stapel-Zeiger ändern, ohne Unterbrechung (Interrupt) auszuschalten"
++
++#: config/avr/avr.opt:42
++msgid "Do not generate tablejump insns"
++msgstr "Keine tablejmp-Befehle erzeugen"
++
++#: config/avr/avr.opt:52
++msgid "Use rjmp/rcall (limited range) on >8K devices"
++msgstr "rjmp/rcall (beschränkter Wertebereich) auf >8K-Geräten verwenden"
++
++#: config/avr/avr.opt:56
++msgid "Output instruction sizes to the asm file"
++msgstr "Befehlsgrößen in die asm-Datei ausgeben"
++
++#: config/avr/avr.opt:60
++msgid "Change only the low 8 bits of the stack pointer"
++msgstr "Nur die unteren 8 Bit des Stapelzeigers verändern"
++
++#: config/avr/avr.opt:64
++msgid "Relax branches"
++msgstr "Zweige entspannen"
++
++#: config/avr/avr.opt:68
++msgid "Make the linker relaxation machine assume that a program counter wrap-around occures."
++msgstr "Maschine zur Binder-Entspannung soll annehmen, dass ein Befehlszählerübersprung auftritt."
++
++#: config/linux.opt:24
++msgid "Use uClibc instead of GNU libc"
++msgstr "uClibc statt GNU libc verwenden"
++
++#: config/linux.opt:28
++msgid "Use GNU libc instead of uClibc"
++msgstr "GNU libc statt uClibc verwenden"
++
++#: config/rs6000/sysv4.opt:24
++msgid "Select ABI calling convention"
++msgstr "ABI-Aufrufkonvention auswählen"
++
++#: config/rs6000/sysv4.opt:28
++msgid "Select method for sdata handling"
++msgstr "Methode für sdata-Behandlung auswählen"
++
++#: config/rs6000/sysv4.opt:36 config/rs6000/sysv4.opt:40
++msgid "Align to the base type of the bit-field"
++msgstr "Auf Basistyp des Bitfeldes ausrichten"
++
++#: config/rs6000/sysv4.opt:45 config/rs6000/sysv4.opt:49
++msgid "Produce code relocatable at runtime"
++msgstr "Zur Laufzeit verschiebbaren Code erzeugen"
++
++#: config/rs6000/sysv4.opt:53 config/rs6000/sysv4.opt:57
++msgid "Produce little endian code"
++msgstr "Little-Endian-Code erzeugen"
++
++#: config/rs6000/sysv4.opt:61 config/rs6000/sysv4.opt:65
++msgid "Produce big endian code"
++msgstr "Big-Endian-Code erzeugen"
++
++#: config/rs6000/sysv4.opt:70 config/rs6000/sysv4.opt:74
++#: config/rs6000/sysv4.opt:83 config/rs6000/sysv4.opt:100
++#: config/rs6000/sysv4.opt:128 config/rs6000/sysv4.opt:140
++msgid "no description yet"
++msgstr "noch keine Beschreibung"
++
++#: config/rs6000/sysv4.opt:78
++msgid "Assume all variable arg functions are prototyped"
++msgstr "Annehmen, dass alle Funktionen mit variablen Argumenten Prototypen haben"
++
++#: config/rs6000/sysv4.opt:87
++msgid "Use EABI"
++msgstr "EABI verwenden"
++
++#: config/rs6000/sysv4.opt:91
++msgid "Allow bit-fields to cross word boundaries"
++msgstr "Zulassen, dass Bitfelder Wortgrenzen überschneiden"
++
++#: config/rs6000/sysv4.opt:95
++msgid "Use alternate register names"
++msgstr "Alternative Registernamen verwenden"
++
++#: config/rs6000/sysv4.opt:104
++msgid "Link with libsim.a, libc.a and sim-crt0.o"
++msgstr "Mit libsim.a, libc.a und sim-crt0.o binden"
++
++#: config/rs6000/sysv4.opt:108
++msgid "Link with libads.a, libc.a and crt0.o"
++msgstr "Mit libads.a, libc.a und crt0.o binden"
++
++#: config/rs6000/sysv4.opt:112
++msgid "Link with libyk.a, libc.a and crt0.o"
++msgstr "Mit libyk.a, libc.a und crt0.o binden"
++
++#: config/rs6000/sysv4.opt:116
++msgid "Link with libmvme.a, libc.a and crt0.o"
++msgstr "Mit libmvme.a, libc.a und crt0.o binden"
++
++#: config/rs6000/sysv4.opt:120
++msgid "Set the PPC_EMB bit in the ELF flags header"
++msgstr "PPC_EMB-Bit im ELF-Flags-Header setzen"
++
++#: config/rs6000/sysv4.opt:124
++msgid "Use the WindISS simulator"
++msgstr "WindISS-Simulator verwenden"
++
++#: config/rs6000/sysv4.opt:132 config/rs6000/darwin.opt:24
+ msgid "Generate 64-bit code"
+ msgstr "64-Bit-Code erzeugen"
+
+-#: config/rs6000/darwin.opt:28 config/rs6000/sysv4.opt:136
++#: config/rs6000/sysv4.opt:136 config/rs6000/darwin.opt:28
+ msgid "Generate 32-bit code"
+ msgstr "32-Bit-Code erzeugen"
+
++#: config/rs6000/sysv4.opt:144
++msgid "Generate code to use a non-exec PLT and GOT"
++msgstr "Code erzeugen, der nicht ausführbares PLT und GOT enthält"
++
++#: config/rs6000/sysv4.opt:148
++msgid "Generate code for old exec BSS PLT"
++msgstr "Code für altes ausführbares BSS PLT erzeugen"
++
++#: config/rs6000/linux64.opt:24
++msgid "Call mcount for profiling before a function prologue"
++msgstr "mcount für Profiling vor Funktionsprolog aufrufen"
++
+ #: config/rs6000/darwin.opt:32
+ msgid "Generate code suitable for executables (NOT shared libs)"
+ msgstr "Code für ausführbare Dateien (NICHT Shared Libraries) erzeugen"
+
++#: config/rs6000/aix64.opt:24
++msgid "Compile for 64-bit pointers"
++msgstr "Für 64-Bit-Zeiger kompilieren"
++
++#: config/rs6000/aix64.opt:28
++msgid "Compile for 32-bit pointers"
++msgstr "Für 32-Bit-Zeiger kompilieren"
++
++#: config/rs6000/aix64.opt:32 config/rs6000/aix41.opt:24
++msgid "Support message passing with the Parallel Environment"
++msgstr "Message Passing mit paralleler Umgebung unterstützen"
++
+ #: config/rs6000/rs6000.opt:24
+ msgid "Use POWER instruction set"
+ msgstr "POWER-Befehlssatz verwenden"
+@@ -12830,6 +12891,10 @@
+ msgid "Return small structures in registers (SVR4 default)"
+ msgstr "Kleine Strukturen über Register zurückgeben (SVR4-Standard)"
+
++#: config/rs6000/rs6000.opt:147 config/rs6000/aix.opt:24
++msgid "Conform more closely to IBM XLC semantics"
++msgstr "Näher der IBM XLC-Semantik entsprechen"
++
+ #: config/rs6000/rs6000.opt:151
+ msgid "Generate software reciprocal sqrt for better throughput"
+ msgstr "Reziprokes sqrt in Software für besseren Durchsatz erzeugen"
+@@ -12894,6 +12959,10 @@
+ msgid "Specify ABI to use"
+ msgstr "Zu verwendendes ABI"
+
++#: config/rs6000/rs6000.opt:222 config/sparc/sparc.opt:91
++msgid "Use features of and schedule code for given CPU"
++msgstr "Eigenschaften der gegebenen CPU verwenden und entsprechend Code planen"
++
+ #: config/rs6000/rs6000.opt:230
+ msgid "Select full, part, or no traceback table"
+ msgstr "Voll-, Teil- oder keine Traceback-Tabelle"
+@@ -12930,96 +12999,74 @@
+ msgid "Specify scheduling priority for dispatch slot restricted insns"
+ msgstr "Planungspriorität für Verteilschlitz-beschränkte Befehle angeben"
+
+-#: config/rs6000/aix64.opt:24
+-msgid "Compile for 64-bit pointers"
+-msgstr "Für 64-Bit-Zeiger kompilieren"
++#: config/v850/v850.opt:23
++msgid "Use registers r2 and r5"
++msgstr "Register r2 und r5 verwenden"
+
+-#: config/rs6000/aix64.opt:28
+-msgid "Compile for 32-bit pointers"
+-msgstr "Für 32-Bit-Zeiger kompilieren"
++#: config/v850/v850.opt:27
++msgid "Use 4 byte entries in switch tables"
++msgstr "4-Byte-Einträge in switch-Tabellen verwenden"
+
+-#: config/rs6000/linux64.opt:24
+-msgid "Call mcount for profiling before a function prologue"
+-msgstr "mcount für Profiling vor Funktionsprolog aufrufen"
++#: config/v850/v850.opt:31
++msgid "Enable backend debugging"
++msgstr "Backend-Fehlersuche einschalten"
+
+-#: config/rs6000/sysv4.opt:24
+-msgid "Select ABI calling convention"
+-msgstr "ABI-Aufrufkonvention auswählen"
++#: config/v850/v850.opt:35
++msgid "Do not use the callt instruction"
++msgstr "Den callt-Befehl nicht verwenden"
+
+-#: config/rs6000/sysv4.opt:28
+-msgid "Select method for sdata handling"
+-msgstr "Methode für sdata-Behandlung auswählen"
++#: config/v850/v850.opt:39
++msgid "Reuse r30 on a per function basis"
++msgstr "r30 auf Funktionsbasis wiederverwenden"
+
+-#: config/rs6000/sysv4.opt:36 config/rs6000/sysv4.opt:40
+-msgid "Align to the base type of the bit-field"
+-msgstr "Auf Basistyp des Bitfeldes ausrichten"
++#: config/v850/v850.opt:43
++msgid "Support Green Hills ABI"
++msgstr "Green Hills ABI unterstützen"
+
+-#: config/rs6000/sysv4.opt:45 config/rs6000/sysv4.opt:49
+-msgid "Produce code relocatable at runtime"
+-msgstr "Zur Laufzeit verschiebbaren Code erzeugen"
++#: config/v850/v850.opt:47
++msgid "Prohibit PC relative function calls"
++msgstr "PC-relative Funktionsaufrufe verbieten"
+
+-#: config/rs6000/sysv4.opt:53 config/rs6000/sysv4.opt:57
+-msgid "Produce little endian code"
+-msgstr "Little-Endian-Code erzeugen"
++#: config/v850/v850.opt:51
++msgid "Use stubs for function prologues"
++msgstr "Stubs für Funktionsprologe verwenden"
+
+-#: config/rs6000/sysv4.opt:61 config/rs6000/sysv4.opt:65
+-msgid "Produce big endian code"
+-msgstr "Big-Endian-Code erzeugen"
++#: config/v850/v850.opt:55
++msgid "Set the max size of data eligible for the SDA area"
++msgstr "Maximalgröße der für den SDA-Bereich geeigneten Daten setzen"
+
+-#: config/rs6000/sysv4.opt:70 config/rs6000/sysv4.opt:74
+-#: config/rs6000/sysv4.opt:83 config/rs6000/sysv4.opt:100
+-#: config/rs6000/sysv4.opt:128 config/rs6000/sysv4.opt:140
+-msgid "no description yet"
+-msgstr "noch keine Beschreibung"
++#: config/v850/v850.opt:59
++msgid "Enable the use of the short load instructions"
++msgstr "Verwendung der kurzen Ladebefehle einschalten"
+
+-#: config/rs6000/sysv4.opt:78
+-msgid "Assume all variable arg functions are prototyped"
+-msgstr "Annehmen, dass alle Funktionen mit variablen Argumenten Prototypen haben"
++#: config/v850/v850.opt:63
++msgid "Same as: -mep -mprolog-function"
++msgstr "Das gleiche wie: -mep -mprolog-function"
+
+-#: config/rs6000/sysv4.opt:87
+-msgid "Use EABI"
+-msgstr "EABI verwenden"
++#: config/v850/v850.opt:67
++msgid "Set the max size of data eligible for the TDA area"
++msgstr "Maximalgröße der für den TDA-Bereich geeigneten Daten setzen"
+
+-#: config/rs6000/sysv4.opt:91
+-msgid "Allow bit-fields to cross word boundaries"
+-msgstr "Zulassen, dass Bitfelder Wortgrenzen überschneiden"
++#: config/v850/v850.opt:71
++msgid "Enforce strict alignment"
++msgstr "Genaue Ausrichtung erzwingen"
+
+-#: config/rs6000/sysv4.opt:95
+-msgid "Use alternate register names"
+-msgstr "Alternative Registernamen verwenden"
++#: config/v850/v850.opt:78
++msgid "Compile for the v850 processor"
++msgstr "Für v850-Prozessor übersetzen"
+
+-#: config/rs6000/sysv4.opt:104
+-msgid "Link with libsim.a, libc.a and sim-crt0.o"
+-msgstr "Mit libsim.a, libc.a und sim-crt0.o binden"
++#: config/v850/v850.opt:82
++msgid "Compile for the v850e processor"
++msgstr "Für v850e-Prozessor übersetzen"
+
+-#: config/rs6000/sysv4.opt:108
+-msgid "Link with libads.a, libc.a and crt0.o"
+-msgstr "Mit libads.a, libc.a und crt0.o binden"
++#: config/v850/v850.opt:86
++msgid "Compile for the v850e1 processor"
++msgstr "Für v850e1-Prozessor übersetzen"
+
+-#: config/rs6000/sysv4.opt:112
+-msgid "Link with libyk.a, libc.a and crt0.o"
+-msgstr "Mit libyk.a, libc.a und crt0.o binden"
++#: config/v850/v850.opt:90
++msgid "Set the max size of data eligible for the ZDA area"
++msgstr "Maximalgröße der für den ZDA-Bereich geeigneten Daten setzen"
+
+-#: config/rs6000/sysv4.opt:116
+-msgid "Link with libmvme.a, libc.a and crt0.o"
+-msgstr "Mit libmvme.a, libc.a und crt0.o binden"
+-
+-#: config/rs6000/sysv4.opt:120
+-msgid "Set the PPC_EMB bit in the ELF flags header"
+-msgstr "PPC_EMB-Bit im ELF-Flags-Header setzen"
+-
+-#: config/rs6000/sysv4.opt:124
+-msgid "Use the WindISS simulator"
+-msgstr "WindISS-Simulator verwenden"
+-
+-#: config/rs6000/sysv4.opt:144
+-msgid "Generate code to use a non-exec PLT and GOT"
+-msgstr "Code erzeugen, der nicht ausführbares PLT und GOT enthält"
+-
+-#: config/rs6000/sysv4.opt:148
+-msgid "Generate code for old exec BSS PLT"
+-msgstr "Code für altes ausführbares BSS PLT erzeugen"
+-
+ #: config/spu/spu.opt:20
+ msgid "Emit warnings when run-time relocations are generated"
+ msgstr "Warnen, wenn Verschiebungen zur Laufzeit erzeugt werden"
+@@ -13056,62 +13103,262 @@
+ msgid "Generate code for 32 bit addressing"
+ msgstr "Code für 32-Bit-Adressierung erzeugen"
+
+-#: config/mcore/mcore.opt:23
+-msgid "Generate code for the M*Core M210"
+-msgstr "Code für M*Core M210 erzeugen"
++#: config/vax/vax.opt:23 config/vax/vax.opt:27
++msgid "Target DFLOAT double precision code"
++msgstr "Ziel: DFLOAT Code mit doppelter Genauigkeit"
+
+-#: config/mcore/mcore.opt:27
+-msgid "Generate code for the M*Core M340"
+-msgstr "Code für M*Core M340 erzeugen"
++#: config/vax/vax.opt:31 config/vax/vax.opt:35
++msgid "Generate GFLOAT double precision code"
++msgstr "GFLOAT Code mit doppelter Genauigkeit erzeugen"
+
+-#: config/mcore/mcore.opt:31
+-msgid "Set maximum alignment to 4"
+-msgstr "Höchste Ausrichtung auf 4 setzen"
++#: config/vax/vax.opt:39
++msgid "Generate code for GNU assembler (gas)"
++msgstr "Code für GNU Assembler (gas) erzeugen"
+
+-#: config/mcore/mcore.opt:35
+-msgid "Force functions to be aligned to a 4 byte boundary"
+-msgstr "Funktionen auf 4-Byte-Grenzen zwingen"
++#: config/vax/vax.opt:43
++msgid "Generate code for UNIX assembler"
++msgstr "Code für UNIX Assembler erzeugen"
+
+-#: config/mcore/mcore.opt:39
+-msgid "Set maximum alignment to 8"
+-msgstr "Höchste Ausrichtung auf 8 setzen"
++#: config/vax/vax.opt:47
++msgid "Use VAXC structure conventions"
++msgstr "VAXC-Strukturkonventionen verwenden"
+
+-#: config/mcore/mcore.opt:43 config/score/score.opt:23
+-msgid "Generate big-endian code"
+-msgstr "Big-Endian-Code erzeugen"
++#: config/lynx.opt:23
++msgid "Support legacy multi-threading"
++msgstr "Altes Multi-Threading unterstützen"
+
+-#: config/mcore/mcore.opt:47
+-msgid "Emit call graph information"
+-msgstr "Informationen zum Aufrufgraph ausgeben"
++#: config/lynx.opt:27
++msgid "Use shared libraries"
++msgstr "Shared Libraries verwenden"
+
+-#: config/mcore/mcore.opt:51
+-msgid "Use the divide instruction"
+-msgstr "Divisionsbefehl verwenden"
++#: config/lynx.opt:31
++msgid "Support multi-threading"
++msgstr "Multi-Threading unterstützen"
+
+-#: config/mcore/mcore.opt:55
+-msgid "Inline constants if it can be done in 2 insns or less"
+-msgstr "Konstanten einbetten, wenn es mit 2 Befehlen oder weniger geht"
++#: config/stormy16/stormy16.opt:24
++msgid "Provide libraries for the simulator"
++msgstr "Bibliotheken für den Simulator anbieten"
+
+-#: config/mcore/mcore.opt:59 config/score/score.opt:27
+-msgid "Generate little-endian code"
+-msgstr "Little-Endian-Code erzeugen"
++#: config/h8300/h8300.opt:23
++msgid "Generate H8S code"
++msgstr "H8S-Code erzeugen"
+
+-#: config/mcore/mcore.opt:67
+-msgid "Use arbitrary sized immediates in bit operations"
+-msgstr "Direktwerte beliebiger Größen in Bit-Operationen zulassen"
++#: config/h8300/h8300.opt:27
++msgid "Generate H8SX code"
++msgstr "H8SX-Code erzeugen"
+
+-#: config/mcore/mcore.opt:71
+-msgid "Prefer word accesses over byte accesses"
+-msgstr "Wortzugriffe bevorzugen (statt Bytezugriffen)"
++#: config/h8300/h8300.opt:31
++msgid "Generate H8S/2600 code"
++msgstr "H8S/2600-Code erzeugen"
+
+-#: config/mcore/mcore.opt:75
+-msgid "Set the maximum amount for a single stack increment operation"
+-msgstr "Größten Betrag für einzelne Stapelvergrößerungsoperation setzen"
++#: config/h8300/h8300.opt:35
++msgid "Make integers 32 bits wide"
++msgstr "Ganzzahlen 32 Bit breit machen"
+
+-#: config/mcore/mcore.opt:79
+-msgid "Always treat bitfields as int-sized"
+-msgstr "Bit-Feld immer mit int-Größe behandeln"
++#: config/h8300/h8300.opt:42
++msgid "Use registers for argument passing"
++msgstr "Register zur Argumentübergabe verwenden"
+
++#: config/h8300/h8300.opt:46
++msgid "Consider access to byte sized memory slow"
++msgstr "Zugriff auf Speicher in Bytegröße als langsam betrachten"
++
++#: config/h8300/h8300.opt:50
++msgid "Enable linker relaxing"
++msgstr "Binderlockerung einschalten"
++
++#: config/h8300/h8300.opt:54
++msgid "Generate H8/300H code"
++msgstr "H8/300H-Code erzeugen"
++
++#: config/h8300/h8300.opt:58
++msgid "Enable the normal mode"
++msgstr "Normalen Modus einschalten"
++
++#: config/h8300/h8300.opt:62
++msgid "Use H8/300 alignment rules"
++msgstr "H8/300-Ausrichtungsregeln verwenden"
++
++#: config/s390/s390.opt:23
++msgid "31 bit ABI"
++msgstr "31-Bit-ABI"
++
++#: config/s390/s390.opt:27
++msgid "64 bit ABI"
++msgstr "64-Bit-ABI"
++
++#: config/s390/s390.opt:35
++msgid "Maintain backchain pointer"
++msgstr "Rückwärtskettenzeiger pflegen"
++
++#: config/s390/s390.opt:39
++msgid "Additional debug prints"
++msgstr "Zusätzliche Fehlerprotokollausdrucke"
++
++#: config/s390/s390.opt:43
++msgid "ESA/390 architecture"
++msgstr "ESA/390-Architektur"
++
++#: config/s390/s390.opt:47
++msgid "Enable fused multiply/add instructions"
++msgstr "Verschmolzene Multiplikations/Additions-Befehle einschalten"
++
++#: config/s390/s390.opt:51
++msgid "Enable decimal floating point hardware support"
++msgstr "Hardwareunterstützung für dezimales Gleitkomma einschalten"
++
++#: config/s390/s390.opt:55
++msgid "Enable hardware floating point"
++msgstr "Hardware-Gleitkomma einschalten"
++
++#: config/s390/s390.opt:67
++msgid "Use packed stack layout"
++msgstr "Gepacktes Stacklayout verwenden"
++
++#: config/s390/s390.opt:71
++msgid "Use bras for executable < 64k"
++msgstr "bras für ausführbare Datei < 64k verwenden"
++
++#: config/s390/s390.opt:75
++msgid "Disable hardware floating point"
++msgstr "Hardware-Gleitkomma ausschalten"
++
++#: config/s390/s390.opt:79
++msgid "Set the max. number of bytes which has to be left to stack size before a trap instruction is triggered"
++msgstr "Höchstanzahl der Bytes angeben, die noch im Stack übrig sind, bevor ein Trap-Befehl ausgelöst wird"
++
++#: config/s390/s390.opt:83
++msgid "Emit extra code in the function prologue in order to trap if the stack size exceeds the given limit"
++msgstr "Zusätzlichen Code im Funktionsprolog ausgeben, um ein Überschreiten des angegebenen Limits für die Stackgröße abzufangen (trap)"
++
++#: config/s390/s390.opt:91
++msgid "mvcle use"
++msgstr "mvcle-Verwendung"
++
++#: config/s390/s390.opt:95
++msgid "Warn if a function uses alloca or creates an array with dynamic size"
++msgstr "Warnen, wenn eine Funktion alloca verwendet oder ein Feld dynamischer Größe erzeugt"
++
++#: config/s390/s390.opt:99
++msgid "Warn if a single function's framesize exceeds the given framesize"
++msgstr "Warnen, wenn Rahmengröße einer einzelnen Funktion die gegebene Rahmengröße überschreitet"
++
++#: config/s390/s390.opt:103
++msgid "z/Architecture"
++msgstr "z/Architektur"
++
++#: config/s390/tpf.opt:23
++msgid "Enable TPF-OS tracing code"
++msgstr "TPF-OS-tracing-Code einschalten"
++
++#: config/s390/tpf.opt:27
++msgid "Specify main object for TPF-OS"
++msgstr "Hauptobjekt für TPF-OS angeben"
++
++#: config/darwin.opt:23
++msgid "Generate code suitable for fast turn around debugging"
++msgstr "Für schnelles Debugging geeigneten Code erzeugen"
++
++#: config/darwin.opt:31
++msgid "The earliest MacOS X version on which this program will run"
++msgstr "Die älteste MacOSX-Version, auf der dieses Programm laufen wird"
++
++#: config/darwin.opt:35
++msgid "Set sizeof(bool) to 1"
++msgstr "sizeof(bool) auf 1 setzen"
++
++#: config/darwin.opt:39
++msgid "Generate code for darwin loadable kernel extensions"
++msgstr "Code für ladbare Darwin-Kernelerweiterungen erzeugen"
++
++#: config/darwin.opt:43
++msgid "Generate code for the kernel or loadable kernel extensions"
++msgstr "Code für ladbare Darwin-Kernelerweiterungen oder Kernel erzeugen"
++
++#: config/darwin.opt:47
++msgid "Add <dir> to the end of the system framework include path"
++msgstr "<Verz> an das Ende des Einfügepfades des System-Frameworks anfügen"
++
++#: config/mn10300/mn10300.opt:23
++msgid "Target the AM33 processor"
++msgstr "Auf AM33-Prozessor abzielen"
++
++#: config/mn10300/mn10300.opt:27
++msgid "Target the AM33/2.0 processor"
++msgstr "Auf AM33/2.0-Prozessor abzielen"
++
++#: config/mn10300/mn10300.opt:31
++msgid "Work around hardware multiply bug"
++msgstr "Hardware-Multiplikationsfehler umgehen"
++
++#: config/mn10300/mn10300.opt:36
++msgid "Enable linker relaxations"
++msgstr "Binderlockerungen einschalten"
++
++#: config/mn10300/mn10300.opt:40
++msgid "Return pointers in both a0 and d0"
++msgstr "Zeiger sowohl in a0 als auch in d0 zurück geben"
++
++#: config/m32r/m32r.opt:23
++msgid "Compile for the m32rx"
++msgstr "Für m32rx übersetzen"
++
++#: config/m32r/m32r.opt:27
++msgid "Compile for the m32r2"
++msgstr "Für m32r2 übersetzen"
++
++#: config/m32r/m32r.opt:31
++msgid "Compile for the m32r"
++msgstr "Für m32r übersetzen"
++
++#: config/m32r/m32r.opt:35
++msgid "Align all loops to 32 byte boundary"
++msgstr "Alle Schleifen auf 32-Byte-Grenzen ausrichten"
++
++#: config/m32r/m32r.opt:39
++msgid "Prefer branches over conditional execution"
++msgstr "Zweige gegenüber bedingter Ausführung bevorzugen"
++
++#: config/m32r/m32r.opt:43
++msgid "Give branches their default cost"
++msgstr "Sprüngen ihre Standardkosten zuweisen"
++
++#: config/m32r/m32r.opt:47
++msgid "Display compile time statistics"
++msgstr "Ãœbersetzungszeitstatistik anzeigen"
++
++#: config/m32r/m32r.opt:51
++msgid "Specify cache flush function"
++msgstr "Funktion zum Entleeren des Cache angeben"
++
++#: config/m32r/m32r.opt:55
++msgid "Specify cache flush trap number"
++msgstr "Abfangfunktionsnummer zum Entleeren des Cache angeben"
++
++#: config/m32r/m32r.opt:59
++msgid "Only issue one instruction per cycle"
++msgstr "Nur einen Befehl pro Durchgang ausgeben"
++
++#: config/m32r/m32r.opt:63
++msgid "Allow two instructions to be issued per cycle"
++msgstr "Zwei Befehle pro Durchgang erlauben"
++
++#: config/m32r/m32r.opt:67
++msgid "Code size: small, medium or large"
++msgstr "Code-Größe: klein, mittel, groß"
++
++#: config/m32r/m32r.opt:71
++msgid "Don't call any cache flush functions"
++msgstr "Keine Funktionen zum Entleeren des Cache aufrufen"
++
++#: config/m32r/m32r.opt:75
++msgid "Don't call any cache flush trap"
++msgstr "Keine Abfangfunktion zum Entleeren des Cache aufrufen"
++
++#: config/m32r/m32r.opt:82
++msgid "Small data area: none, sdata, use"
++msgstr "Kleiner Datenbereich: keiner, sdata, verwenden"
++
+ #: config/arc/arc.opt:32
+ msgid "Prepend the name of the cpu to all public symbol names"
+ msgstr "Namen der CPU allen öffentlichen Symbolnamen voranstellen"
+@@ -13132,6 +13379,519 @@
+ msgid "Put read-only data in SECTION"
+ msgstr "Nur-Lese-Daten in SECTION legen"
+
++#: config/m32c/m32c.opt:24 config/mt/mt.opt:27 config/bfin/bfin.opt:23
++msgid "Use simulator runtime"
++msgstr "Simulator-runtime verwenden"
++
++#: config/m32c/m32c.opt:28
++msgid "Compile code for R8C variants"
++msgstr "Code für R8C-Varianten kompilieren"
++
++#: config/m32c/m32c.opt:32
++msgid "Compile code for M16C variants"
++msgstr "Code für M16C-Varianten kompilieren"
++
++#: config/m32c/m32c.opt:36
++msgid "Compile code for M32CM variants"
++msgstr "Code für M32CM-Varianten kompilieren"
++
++#: config/m32c/m32c.opt:40
++msgid "Compile code for M32C variants"
++msgstr "Code für M32C-Varianten kompilieren"
++
++#: config/m32c/m32c.opt:44
++msgid "Number of memreg bytes (default: 16, range: 0..16)"
++msgstr "Anzahl der Memreg-Bytes (Standard: 16, Bereich: 0..16)"
++
++#: config/pdp11/pdp11.opt:23
++msgid "Generate code for an 11/10"
++msgstr "Code für 11/10 erzeugen"
++
++#: config/pdp11/pdp11.opt:27
++msgid "Generate code for an 11/40"
++msgstr "Code für 11/40 erzeugen"
++
++#: config/pdp11/pdp11.opt:31
++msgid "Generate code for an 11/45"
++msgstr "Code für 11/45 erzeugen"
++
++#: config/pdp11/pdp11.opt:35
++msgid "Use 16-bit abs patterns"
++msgstr "16-Bit-abs-Muster verwenden"
++
++#: config/pdp11/pdp11.opt:39
++msgid "Return floating-point results in ac0 (fr0 in Unix assembler syntax)"
++msgstr "Gleitkommaergebnisse über ac0 zurückgeben (fr0 in Unix-Assemblersyntax)"
++
++#: config/pdp11/pdp11.opt:43
++msgid "Do not use inline patterns for copying memory"
++msgstr "Keine Inline-Muster beim Speicherkopieren verwenden"
++
++#: config/pdp11/pdp11.opt:47
++msgid "Use inline patterns for copying memory"
++msgstr "Inline-Muster beim Speicherkopieren verwenden"
++
++#: config/pdp11/pdp11.opt:51
++msgid "Do not pretend that branches are expensive"
++msgstr "Nicht vorgeben, dass Sprünge teuer sind"
++
++#: config/pdp11/pdp11.opt:55
++msgid "Pretend that branches are expensive"
++msgstr "Vorgeben, dass Sprünge teuer sind"
++
++#: config/pdp11/pdp11.opt:59
++msgid "Use the DEC assembler syntax"
++msgstr "DEC-Assemblersyntax verwenden"
++
++#: config/pdp11/pdp11.opt:63
++msgid "Use 32 bit float"
++msgstr "32-Bit float verwenden"
++
++#: config/pdp11/pdp11.opt:67
++msgid "Use 64 bit float"
++msgstr "64-Bit float verwenden"
++
++#: config/pdp11/pdp11.opt:75
++msgid "Use 16 bit int"
++msgstr "16-Bit int verwenden"
++
++#: config/pdp11/pdp11.opt:79
++msgid "Use 32 bit int"
++msgstr "32-Bit int verwenden"
++
++#: config/pdp11/pdp11.opt:87
++msgid "Target has split I&D"
++msgstr "Ziel hat geteiltes I&D"
++
++#: config/pdp11/pdp11.opt:91
++msgid "Use UNIX assembler syntax"
++msgstr "UNIX-Assemblersyntax verwenden"
++
++#: config/m68k/m68k.opt:23
++msgid "Generate code for a 520X"
++msgstr "Code für einen 520X erzeugen"
++
++#: config/m68k/m68k.opt:27
++msgid "Generate code for a 5206e"
++msgstr "Code für einen 5206e erzeugen"
++
++#: config/m68k/m68k.opt:31
++msgid "Generate code for a 528x"
++msgstr "Code für einen 528x erzeugen"
++
++#: config/m68k/m68k.opt:35
++msgid "Generate code for a 5307"
++msgstr "Code für einen 5307 erzeugen"
++
++#: config/m68k/m68k.opt:39
++msgid "Generate code for a 5407"
++msgstr "Code für einen 5407 erzeugen"
++
++#: config/m68k/m68k.opt:43 config/m68k/m68k.opt:104
++msgid "Generate code for a 68000"
++msgstr "Code für 68000 erzeugen"
++
++#: config/m68k/m68k.opt:47
++msgid "Generate code for a 68010"
++msgstr "Code für 68010 erzeugen"
++
++#: config/m68k/m68k.opt:51 config/m68k/m68k.opt:108
++msgid "Generate code for a 68020"
++msgstr "Code für 68020 erzeugen"
++
++#: config/m68k/m68k.opt:55
++msgid "Generate code for a 68040, without any new instructions"
++msgstr "Code für einen 68040 ohne neue Befehle erzeugen"
++
++#: config/m68k/m68k.opt:59
++msgid "Generate code for a 68060, without any new instructions"
++msgstr "Code für einen 68060 ohne neue Befehle erzeugen"
++
++#: config/m68k/m68k.opt:63
++msgid "Generate code for a 68030"
++msgstr "Code für einen 68030 erzeugen"
++
++#: config/m68k/m68k.opt:67
++msgid "Generate code for a 68040"
++msgstr "Code für einen 68040 erzeugen"
++
++#: config/m68k/m68k.opt:71
++msgid "Generate code for a 68060"
++msgstr "Code für einen 68060 erzeugen"
++
++#: config/m68k/m68k.opt:75
++msgid "Generate code for a 68302"
++msgstr "Code für einen 68302 erzeugen"
++
++#: config/m68k/m68k.opt:79
++msgid "Generate code for a 68332"
++msgstr "Code für einen 68332 erzeugen"
++
++#: config/m68k/m68k.opt:84
++msgid "Generate code for a 68851"
++msgstr "Code für einen 68851 erzeugen"
++
++#: config/m68k/m68k.opt:88
++msgid "Generate code that uses 68881 floating-point instructions"
++msgstr "Code erzeugen, der 68881-Gleitkommabefehle verwendet"
++
++#: config/m68k/m68k.opt:92
++msgid "Align variables on a 32-bit boundary"
++msgstr "Variablen auf 32-Bit-Grenzen ausrichten"
++
++#: config/m68k/m68k.opt:100
++msgid "Use the bit-field instructions"
++msgstr "Bit-Feld-Befehle verwenden"
++
++#: config/m68k/m68k.opt:112
++msgid "Generate code for a ColdFire v4e"
++msgstr "Code für ColdFire v4e erzeugen"
++
++#: config/m68k/m68k.opt:116
++msgid "Specify the target CPU"
++msgstr "Die Ziel-CPU auswählen"
++
++#: config/m68k/m68k.opt:120
++msgid "Generate code for a cpu32"
++msgstr "Code für eine cpu32 erzeugen"
++
++#: config/m68k/m68k.opt:124
++msgid "Use hardware division instructions on ColdFire"
++msgstr "Hardware-Divisionsbefehle auf Coldfire verwenden"
++
++#: config/m68k/m68k.opt:128
++msgid "Generate code for a Fido A"
++msgstr "Code für Fido A erzeugen"
++
++#: config/m68k/m68k.opt:132
++msgid "Generate code which uses hardware floating point instructions"
++msgstr "Code erzeugen, der Hardware-Gleitkommabefehle verwendet"
++
++#: config/m68k/m68k.opt:136
++msgid "Enable ID based shared library"
++msgstr "ID-basierte Shared Library einschalten"
++
++#: config/m68k/m68k.opt:140
++msgid "Do not use the bit-field instructions"
++msgstr "Bit-Feld-Befehle nicht verwenden"
++
++#: config/m68k/m68k.opt:144
++msgid "Use normal calling convention"
++msgstr "Normale Aufrufkonvention verwenden"
++
++#: config/m68k/m68k.opt:148
++msgid "Consider type 'int' to be 32 bits wide"
++msgstr "Typ »int« als 32 Bit breit ansehen"
++
++#: config/m68k/m68k.opt:152
++msgid "Generate pc-relative code"
++msgstr "PC-relativen Code erzeugen"
++
++#: config/m68k/m68k.opt:156
++msgid "Use different calling convention using 'rtd'"
++msgstr "Andere Aufrufkonvention mit 'RTD' verwenden"
++
++#: config/m68k/m68k.opt:160 config/bfin/bfin.opt:61
++msgid "Enable separate data segment"
++msgstr "Gesondertes Datensegment einschalten"
++
++#: config/m68k/m68k.opt:164 config/bfin/bfin.opt:57
++msgid "ID of shared library to build"
++msgstr "ID der zu bauenden Shared Library"
++
++#: config/m68k/m68k.opt:168
++msgid "Consider type 'int' to be 16 bits wide"
++msgstr "Typ »int« als 16 Bit breit ansehen"
++
++#: config/m68k/m68k.opt:172
++msgid "Generate code with library calls for floating point"
++msgstr "Code mit Bibliotheksaufrufen für Gleitkommaarithmetik erzeugen"
++
++#: config/m68k/m68k.opt:176
++msgid "Do not use unaligned memory references"
++msgstr "Keine unausgerichteten Speicherreferenzen verwenden"
++
++#: config/m68k/m68k.opt:180
++msgid "Tune for the specified target CPU or architecture"
++msgstr "Für angegebene Ziel-CPU oder Architektur optimieren"
++
++#: config/mmix/mmix.opt:24
++msgid "For intrinsics library: pass all parameters in registers"
++msgstr "Für Intrinsics-Bibliothek: alle Parameter in Registern übergeben"
++
++#: config/mmix/mmix.opt:28
++msgid "Use register stack for parameters and return value"
++msgstr "Registerstapel für Parameter und Rückgabewerte verwenden"
++
++#: config/mmix/mmix.opt:32
++msgid "Use call-clobbered registers for parameters and return value"
++msgstr "Mit Aufruf verbundene Register für Parameter und Rückgabewerte verwenden"
++
++#: config/mmix/mmix.opt:37
++msgid "Use epsilon-respecting floating point compare instructions"
++msgstr "Epsilon beachtende Gleitkomma-Vergleichsbefehle verwenden"
++
++#: config/mmix/mmix.opt:41
++msgid "Use zero-extending memory loads, not sign-extending ones"
++msgstr "Nullerweiternde Speicherladungen verwenden, nicht vorzeichenerweiternde"
++
++#: config/mmix/mmix.opt:45
++msgid "Generate divide results with reminder having the same sign as the divisor (not the dividend)"
++msgstr "Divisionsergebnisse mit dem gleichen Vorzeichen im Ãœbertrag wie der Divisor (nicht der Dividend) erzeugen"
++
++#: config/mmix/mmix.opt:49
++msgid "Prepend global symbols with \":\" (for use with PREFIX)"
++msgstr "Globalen Symbolen ein »:« voranstellen (für Verwendung mit PREFIX)"
++
++#: config/mmix/mmix.opt:53
++msgid "Do not provide a default start-address 0x100 of the program"
++msgstr "Keine Standard-Start-Adresse 0x100 des Programmes bereitstellen"
++
++#: config/mmix/mmix.opt:57
++msgid "Link to emit program in ELF format (rather than mmo)"
++msgstr "Binden, um Programm im ELF-Format auszugeben (statt mmo)"
++
++#: config/mmix/mmix.opt:61
++msgid "Use P-mnemonics for branches statically predicted as taken"
++msgstr "P-Mnemonics für statisch als verfolgt vorhergesehene Zweige verwenden"
++
++#: config/mmix/mmix.opt:65
++msgid "Don't use P-mnemonics for branches"
++msgstr "Keine P-Mnemonics für Zweige verwenden"
++
++#: config/mmix/mmix.opt:79
++msgid "Use addresses that allocate global registers"
++msgstr "Globale Register belegende Adressen verwenden"
++
++#: config/mmix/mmix.opt:83
++msgid "Do not use addresses that allocate global registers"
++msgstr "Nicht globale Register belegende Adressen verwenden"
++
++#: config/mmix/mmix.opt:87
++msgid "Generate a single exit point for each function"
++msgstr "Einen einzigen Austrittspunkt für jede Funktion erzeugen"
++
++#: config/mmix/mmix.opt:91
++msgid "Do not generate a single exit point for each function"
++msgstr "Nicht unbedingt einen einzigen Austrittspunkt für jede Funktion erzeugen"
++
++#: config/mmix/mmix.opt:95
++msgid "Set start-address of the program"
++msgstr "Start-Adresse des Programmes setzen"
++
++#: config/mmix/mmix.opt:99
++msgid "Set start-address of data"
++msgstr "Start-Adresse der Daten setzen"
++
++#: config/score/score.opt:31
++msgid "Disable bcnz instruction"
++msgstr "bcnz-Befehl ausschalten"
++
++#: config/score/score.opt:35
++msgid "Enable unaligned load/store instruction"
++msgstr "Unausgerichtete Load/Store-Befehle einschalten"
++
++#: config/score/score.opt:39
++msgid "Support SCORE 5 ISA"
++msgstr "SCORE 5 ISA unterstützen"
++
++#: config/score/score.opt:43
++msgid "Support SCORE 5U ISA"
++msgstr "SCORE 5U ISA unterstützen"
++
++#: config/score/score.opt:47
++msgid "Support SCORE 7 ISA"
++msgstr "SCORE 7 ISA unuterstützen"
++
++#: config/score/score.opt:51
++msgid "Support SCORE 7D ISA"
++msgstr "SCORE 7D ISA unterstützen"
++
++#: config/score/score.opt:55
++msgid "Support SCORE 3 ISA"
++msgstr "SCORE 3 ISA unterstützen"
++
++#: config/score/score.opt:59
++msgid "Support SCORE 3d ISA"
++msgstr "SCORE 3d ISA unterstützen"
++
++#: config/crx/crx.opt:23
++msgid "Support multiply accumulate instructions"
++msgstr "Mehrere Akkumulierbefehle unterstützen"
++
++#: config/crx/crx.opt:27
++msgid "Do not use push to store function arguments"
++msgstr "Keine push-Befehle verwenden, um Funktionsargumente zu speichern"
++
++#: config/crx/crx.opt:31
++msgid "Restrict doloop to the given nesting level"
++msgstr "doloop auf angegebene Verschachtelungstiefe beschränken"
++
++#: config/mt/mt.opt:23
++msgid "Use byte loads and stores when generating code."
++msgstr "Laden und Speichern von Bytes beim Erzeugen von Code verwenden."
++
++#: config/mt/mt.opt:31
++msgid "Do not include crt0.o in the startup files"
++msgstr "Nicht crt0.o in Startdateien einfügen"
++
++#: config/mt/mt.opt:35 config/mt/mt.opt:39 config/mt/mt.opt:43
++#: config/mt/mt.opt:47 config/mt/mt.opt:51
++msgid "Internal debug switch"
++msgstr "Interner Debug-Schalter"
++
++#: config/m68hc11/m68hc11.opt:23 config/m68hc11/m68hc11.opt:31
++msgid "Compile for a 68HC11"
++msgstr "Für 68HC11 übersetzen"
++
++#: config/m68hc11/m68hc11.opt:27 config/m68hc11/m68hc11.opt:35
++msgid "Compile for a 68HC12"
++msgstr "Für 68HC12 übersetzen"
++
++#: config/m68hc11/m68hc11.opt:41 config/m68hc11/m68hc11.opt:45
++msgid "Compile for a 68HCS12"
++msgstr "Für 68HCS12 übersetzen"
++
++#: config/m68hc11/m68hc11.opt:49
++msgid "Auto pre/post decrement increment allowed"
++msgstr "Auto-Pre-/Post-Decrement-Increment erlaubt"
++
++#: config/m68hc11/m68hc11.opt:53
++msgid "Min/max instructions allowed"
++msgstr "Min/Max-Befehle erlaubt"
++
++#: config/m68hc11/m68hc11.opt:57
++msgid "Use call and rtc for function calls and returns"
++msgstr "Aufruf und RTC für Funktionsaufrufe und Rückgaben verwenden"
++
++#: config/m68hc11/m68hc11.opt:61
++msgid "Auto pre/post decrement increment not allowed"
++msgstr "Auto-Pre-/Post-Decrement-Increment nicht erlaubt"
++
++#: config/m68hc11/m68hc11.opt:65
++msgid "Use jsr and rts for function calls and returns"
++msgstr "JSR und RTS für Funktionsaufrufe und Rückgaben verwenden"
++
++#: config/m68hc11/m68hc11.opt:69
++msgid "Min/max instructions not allowed"
++msgstr "Min/Max-Befehle nicht erlaubt"
++
++#: config/m68hc11/m68hc11.opt:73
++msgid "Use direct addressing mode for soft registers"
++msgstr "Modus zur direkten Adressierung für Soft-Register verwenden"
++
++#: config/m68hc11/m68hc11.opt:77
++msgid "Compile with 32-bit integer mode"
++msgstr "Mit 32-Bit-Ganzzahlmodus übersetzen"
++
++#: config/m68hc11/m68hc11.opt:82
++msgid "Specify the register allocation order"
++msgstr "Reihenfolge der Registerbelegung angeben"
++
++#: config/m68hc11/m68hc11.opt:86
++msgid "Do not use direct addressing mode for soft registers"
++msgstr "Modus zur direkten Adressierung für Soft-Register nicht verwenden"
++
++#: config/m68hc11/m68hc11.opt:90
++msgid "Compile with 16-bit integer mode"
++msgstr "Mit 16-Bit-Ganzzahlmodus übersetzen"
++
++#: config/m68hc11/m68hc11.opt:94
++msgid "Indicate the number of soft registers available"
++msgstr "Anzahl der verfügbaren Soft-Register anzeigen"
++
++#: config/fr30/fr30.opt:23
++msgid "Assume small address space"
++msgstr "Kleinen Adressraum annehmen"
++
++#: config/sparc/little-endian.opt:23
++msgid "Generate code for little-endian"
++msgstr "Code für »little-endian« erzeugen"
++
++#: config/sparc/little-endian.opt:27
++msgid "Generate code for big-endian"
++msgstr "Code für »big-endian« erzeugen"
++
++#: config/sparc/sparc.opt:23 config/sparc/sparc.opt:27
++msgid "Use hardware FP"
++msgstr "Hardware-FP verwenden"
++
++#: config/sparc/sparc.opt:31
++msgid "Do not use hardware FP"
++msgstr "Hardware-FP nicht verwenden"
++
++#: config/sparc/sparc.opt:35
++msgid "Assume possible double misalignment"
++msgstr "Mögliche doppelte Fehlausrichtung annehmen"
++
++#: config/sparc/sparc.opt:39
++msgid "Pass -assert pure-text to linker"
++msgstr "-assert pure-text an Binder übergeben"
++
++#: config/sparc/sparc.opt:43
++msgid "Use ABI reserved registers"
++msgstr "ABI-reservierte Register verwenden"
++
++#: config/sparc/sparc.opt:47
++msgid "Use hardware quad FP instructions"
++msgstr "Hardware-Vierfach-Gleitkommabefehle verwenden"
++
++#: config/sparc/sparc.opt:51
++msgid "Do not use hardware quad fp instructions"
++msgstr "Hardware-Vierfach-Gleitkommabefehle nicht verwenden"
++
++#: config/sparc/sparc.opt:55
++msgid "Compile for V8+ ABI"
++msgstr "Für V8+-ABI-übersetzen"
++
++#: config/sparc/sparc.opt:59
++msgid "Use UltraSPARC Visual Instruction Set extensions"
++msgstr "Visuelle Befehlssatzerweiterungen für UltraSPARC verwenden"
++
++#: config/sparc/sparc.opt:63
++msgid "Pointers are 64-bit"
++msgstr "Zeiger sind 64 Bit"
++
++#: config/sparc/sparc.opt:67
++msgid "Pointers are 32-bit"
++msgstr "Zeiger sind 32 Bit"
++
++#: config/sparc/sparc.opt:71
++msgid "Use 64-bit ABI"
++msgstr "64-Bit-ABI verwenden"
++
++#: config/sparc/sparc.opt:75
++msgid "Use 32-bit ABI"
++msgstr "32-Bit-ABI verwenden"
++
++#: config/sparc/sparc.opt:79
++msgid "Use stack bias"
++msgstr "Stapelversatz verwenden"
++
++#: config/sparc/sparc.opt:83
++msgid "Use structs on stronger alignment for double-word copies"
++msgstr "Bei stärkerer Ausrichtung für Doppelwort-Kopien Structs verwenden"
++
++#: config/sparc/sparc.opt:87
++msgid "Optimize tail call instructions in assembler and linker"
++msgstr "Ende-Aufruf-Befehle in Assembler und Binder optimieren"
++
++#: config/sparc/sparc.opt:99
++msgid "Use given SPARC-V9 code model"
++msgstr "Gegebenes SPARC-V9-Codemodell verwenden"
++
++#: config/sparc/sparc.opt:103
++msgid "Enable strict 32-bit psABI struct return checking."
++msgstr "Strenge Prüfung für 32-bit psABI Strukturrückgabe einschalten"
++
++#: config/sh/superh.opt:6
++msgid "Board name [and memory region]."
++msgstr "Boardname [und Speicherbereich]."
++
++#: config/sh/superh.opt:10
++msgid "Runtime name."
++msgstr "Laufzeitname."
++
+ #: config/sh/sh.opt:44
+ msgid "Generate SH1 code"
+ msgstr "SH1-Code erzeugen"
+@@ -13404,467 +14164,18 @@
+ msgid "Pretend a branch-around-a-move is a conditional move."
+ msgstr "Vorgeben, dass Sprung-um-Sprung ein bedingter Sprung ist"
+
+-#: config/sh/superh.opt:6
+-msgid "Board name [and memory region]."
+-msgstr "Boardname [und Speicherbereich]."
++#: config/vxworks.opt:24
++msgid "Assume the VxWorks RTP environment"
++msgstr "VxWorks RTP-Umgebung vermuten"
+
+-#: config/sh/superh.opt:10
+-msgid "Runtime name."
+-msgstr "Laufzeitname."
++#: config/vxworks.opt:31
++msgid "Assume the VxWorks vThreads environment"
++msgstr "VxWorks vThreads-Umgebung vermuten"
+
+-#: config/arm/arm.opt:23
+-msgid "Specify an ABI"
+-msgstr "ABI angeben"
++#: config/mips/sdemtk.opt:23
++msgid "Prevent the use of all floating-point operations"
++msgstr "Verwendung aller Gleitkommaoperationen verhindern"
+
+-#: config/arm/arm.opt:27
+-msgid "Generate a call to abort if a noreturn function returns"
+-msgstr "Aufruf zum Abbruch erzeugen, wenn eine »noreturn«-Funktion zurückkehrt"
+-
+-#: config/arm/arm.opt:34
+-msgid "Pass FP arguments in FP registers"
+-msgstr "FP-Argumente an FP-Register übergeben"
+-
+-#: config/arm/arm.opt:38
+-msgid "Generate APCS conformant stack frames"
+-msgstr "APCS-konforme Stapelrahmen erzeugen"
+-
+-#: config/arm/arm.opt:42
+-msgid "Generate re-entrant, PIC code"
+-msgstr "Wiedereinsprungsfähigen PIC-Code erzeugen"
+-
+-#: config/arm/arm.opt:56
+-msgid "Assume target CPU is configured as big endian"
+-msgstr "Ziel-CPU als »big endian«-konfiguriert annehmen"
+-
+-#: config/arm/arm.opt:60
+-msgid "Thumb: Assume non-static functions may be called from ARM code"
+-msgstr "Thumb: Annahme, dass nichtstatische Funktionen von ARM-Code aus aufgerufen werden können"
+-
+-#: config/arm/arm.opt:64
+-msgid "Thumb: Assume function pointers may go to non-Thumb aware code"
+-msgstr "Thumb: Annahme, dass Funktionszeiger an nicht Thumb unterstützenden Code übergeben werden können"
+-
+-#: config/arm/arm.opt:68
+-msgid "Cirrus: Place NOPs to avoid invalid instruction combinations"
+-msgstr "Cirrus: NOPs einbauen, um ungültige Befehlskombinationen zu vermeiden"
+-
+-#: config/arm/arm.opt:72 config/bfin/bfin.opt:27
+-msgid "Specify the name of the target CPU"
+-msgstr "Namen der Ziel-CPU angeben"
+-
+-#: config/arm/arm.opt:76
+-msgid "Specify if floating point hardware should be used"
+-msgstr "Angeben, ob Gleitkommahardware verwendet werden sollte"
+-
+-#: config/arm/arm.opt:90
+-msgid "Specify the name of the target floating point hardware/format"
+-msgstr "Namen der Gleitkommahardware/-format des Zielsystems angeben"
+-
+-#: config/arm/arm.opt:94
+-msgid "Alias for -mfloat-abi=hard"
+-msgstr "Alias für -mfloat-abi=hard"
+-
+-#: config/arm/arm.opt:98
+-msgid "Assume target CPU is configured as little endian"
+-msgstr "Ziel-CPU als »little endian«-konfiguriert annehmen"
+-
+-#: config/arm/arm.opt:102
+-msgid "Generate call insns as indirect calls, if necessary"
+-msgstr "Falls nötig, Aufruf-Befehle als indirekte Aufrufe erzeugen"
+-
+-#: config/arm/arm.opt:106
+-msgid "Specify the register to be used for PIC addressing"
+-msgstr "Für PIC-Adressierung zu verwendendes Register angeben"
+-
+-#: config/arm/arm.opt:110
+-msgid "Store function names in object code"
+-msgstr "Funktionsnamen im Objektcode speichern"
+-
+-#: config/arm/arm.opt:114
+-msgid "Permit scheduling of a function's prologue sequence"
+-msgstr "Planung einer Funktionsprologsequenz erlauben"
+-
+-#: config/arm/arm.opt:118
+-msgid "Do not load the PIC register in function prologues"
+-msgstr "PIC-Register nicht in Funktionsprolog verschieben"
+-
+-#: config/arm/arm.opt:122
+-msgid "Alias for -mfloat-abi=soft"
+-msgstr "Alias für -mfloat-abi=soft"
+-
+-#: config/arm/arm.opt:126
+-msgid "Specify the minimum bit alignment of structures"
+-msgstr "Kleinste Bitausrichtung von Strukturen angeben"
+-
+-#: config/arm/arm.opt:130
+-msgid "Compile for the Thumb not the ARM"
+-msgstr "Für Thumb statt ARM übersetzen"
+-
+-#: config/arm/arm.opt:134
+-msgid "Support calls between Thumb and ARM instruction sets"
+-msgstr "Aufrufe zwischen Thumb- und ARM-Befehlssätzen unterstützen"
+-
+-#: config/arm/arm.opt:138
+-msgid "Specify how to access the thread pointer"
+-msgstr "Angeben, wie auf Threadzeiger zugegriffen wird"
+-
+-#: config/arm/arm.opt:142
+-msgid "Thumb: Generate (non-leaf) stack frames even if not needed"
+-msgstr "Thumb: Nicht-Blatt-Stapelrahmen erzeugen, auch wenn nicht erforderlich"
+-
+-#: config/arm/arm.opt:146
+-msgid "Thumb: Generate (leaf) stack frames even if not needed"
+-msgstr "Thumb: Blatt-Stapelrahmen erzeugen, auch wenn nicht erforderlich"
+-
+-#: config/arm/arm.opt:150
+-msgid "Tune code for the given processor"
+-msgstr "Code auf angegebenen Prozessor abstimmen"
+-
+-#: config/arm/arm.opt:154
+-msgid "Assume big endian bytes, little endian words"
+-msgstr "»big endian« Bytes und »little endian« Wörter annehmen"
+-
+-#: config/arm/arm.opt:158
+-msgid "Use Neon quad-word (rather than double-word) registers for vectorization"
+-msgstr "Neon-Quad-Word (statt Double-Word) Register für Vektorisierung verwenden"
+-
+-#: config/arm/pe.opt:23
+-msgid "Ignore dllimport attribute for functions"
+-msgstr "Attribut dllimport für Funktionen ignorieren"
+-
+-#: config/pdp11/pdp11.opt:23
+-msgid "Generate code for an 11/10"
+-msgstr "Code für 11/10 erzeugen"
+-
+-#: config/pdp11/pdp11.opt:27
+-msgid "Generate code for an 11/40"
+-msgstr "Code für 11/40 erzeugen"
+-
+-#: config/pdp11/pdp11.opt:31
+-msgid "Generate code for an 11/45"
+-msgstr "Code für 11/45 erzeugen"
+-
+-#: config/pdp11/pdp11.opt:35
+-msgid "Use 16-bit abs patterns"
+-msgstr "16-Bit-abs-Muster verwenden"
+-
+-#: config/pdp11/pdp11.opt:39
+-msgid "Return floating-point results in ac0 (fr0 in Unix assembler syntax)"
+-msgstr "Gleitkommaergebnisse über ac0 zurückgeben (fr0 in Unix-Assemblersyntax)"
+-
+-#: config/pdp11/pdp11.opt:43
+-msgid "Do not use inline patterns for copying memory"
+-msgstr "Keine Inline-Muster beim Speicherkopieren verwenden"
+-
+-#: config/pdp11/pdp11.opt:47
+-msgid "Use inline patterns for copying memory"
+-msgstr "Inline-Muster beim Speicherkopieren verwenden"
+-
+-#: config/pdp11/pdp11.opt:51
+-msgid "Do not pretend that branches are expensive"
+-msgstr "Nicht vorgeben, dass Sprünge teuer sind"
+-
+-#: config/pdp11/pdp11.opt:55
+-msgid "Pretend that branches are expensive"
+-msgstr "Vorgeben, dass Sprünge teuer sind"
+-
+-#: config/pdp11/pdp11.opt:59
+-msgid "Use the DEC assembler syntax"
+-msgstr "DEC-Assemblersyntax verwenden"
+-
+-#: config/pdp11/pdp11.opt:63
+-msgid "Use 32 bit float"
+-msgstr "32-Bit float verwenden"
+-
+-#: config/pdp11/pdp11.opt:67
+-msgid "Use 64 bit float"
+-msgstr "64-Bit float verwenden"
+-
+-#: config/pdp11/pdp11.opt:75
+-msgid "Use 16 bit int"
+-msgstr "16-Bit int verwenden"
+-
+-#: config/pdp11/pdp11.opt:79
+-msgid "Use 32 bit int"
+-msgstr "32-Bit int verwenden"
+-
+-#: config/pdp11/pdp11.opt:87
+-msgid "Target has split I&D"
+-msgstr "Ziel hat geteiltes I&D"
+-
+-#: config/pdp11/pdp11.opt:91
+-msgid "Use UNIX assembler syntax"
+-msgstr "UNIX-Assemblersyntax verwenden"
+-
+-#: config/avr/avr.opt:23
+-msgid "Use subroutines for function prologues and epilogues"
+-msgstr "Für Funktionsprologe und -epiloge Unterprogramme verwenden"
+-
+-#: config/avr/avr.opt:27
+-msgid "Select the target MCU"
+-msgstr "Die Ziel-MCU auswählen"
+-
+-#: config/avr/avr.opt:34
+-msgid "Use an 8-bit 'int' type"
+-msgstr "8-Bit-»int«-Typ verwenden"
+-
+-#: config/avr/avr.opt:38
+-msgid "Change the stack pointer without disabling interrupts"
+-msgstr "Stapel-Zeiger ändern, ohne Unterbrechung (Interrupt) auszuschalten"
+-
+-#: config/avr/avr.opt:42
+-msgid "Do not generate tablejump insns"
+-msgstr "Keine tablejmp-Befehle erzeugen"
+-
+-#: config/avr/avr.opt:52
+-msgid "Use rjmp/rcall (limited range) on >8K devices"
+-msgstr "rjmp/rcall (beschränkter Wertebereich) auf >8K-Geräten verwenden"
+-
+-#: config/avr/avr.opt:56
+-msgid "Output instruction sizes to the asm file"
+-msgstr "Befehlsgrößen in die asm-Datei ausgeben"
+-
+-#: config/avr/avr.opt:60
+-msgid "Change only the low 8 bits of the stack pointer"
+-msgstr "Nur die unteren 8 Bit des Stapelzeigers verändern"
+-
+-#: config/crx/crx.opt:23
+-msgid "Support multiply accumulate instructions"
+-msgstr "Mehrere Akkumulierbefehle unterstützen"
+-
+-#: config/crx/crx.opt:27
+-msgid "Do not use push to store function arguments"
+-msgstr "Keine push-Befehle verwenden, um Funktionsargumente zu speichern"
+-
+-#: config/crx/crx.opt:31
+-msgid "Restrict doloop to the given nesting level"
+-msgstr "doloop auf angegebene Verschachtelungstiefe beschränken"
+-
+-#: config/c4x/c4x.opt:23
+-msgid "Generate code for C30 CPU"
+-msgstr "Code für C30-CPU erzeugen"
+-
+-#: config/c4x/c4x.opt:27
+-msgid "Generate code for C31 CPU"
+-msgstr "Code für C31-CPU erzeugen"
+-
+-#: config/c4x/c4x.opt:31
+-msgid "Generate code for C32 CPU"
+-msgstr "Code für C32-CPU erzeugen"
+-
+-#: config/c4x/c4x.opt:35
+-msgid "Generate code for C33 CPU"
+-msgstr "Code für C33-CPU erzeugen"
+-
+-#: config/c4x/c4x.opt:39
+-msgid "Generate code for C40 CPU"
+-msgstr "Code für C40-CPU erzeugen"
+-
+-#: config/c4x/c4x.opt:43
+-msgid "Generate code for C44 CPU"
+-msgstr "Code für C44-CPU erzeugen"
+-
+-#: config/c4x/c4x.opt:47
+-msgid "Assume that pointers may be aliased"
+-msgstr "Annehmen, dass Zeiger mit anderem Namen verwendet werden können"
+-
+-#: config/c4x/c4x.opt:51
+-msgid "Big memory model"
+-msgstr "Großes Speichermodell"
+-
+-#: config/c4x/c4x.opt:55
+-msgid "Use the BK register as a general purpose register"
+-msgstr "Das BK-Register als Mehrzweckregister verwenden"
+-
+-#: config/c4x/c4x.opt:59
+-msgid "Generate code for CPU"
+-msgstr "Code für CPU erzeugen"
+-
+-#: config/c4x/c4x.opt:63
+-msgid "Enable use of DB instruction"
+-msgstr "Verwendung des DB-Befehls einschalten"
+-
+-#: config/c4x/c4x.opt:67
+-msgid "Enable debugging"
+-msgstr "Modus für Fehlersuche einschalten"
+-
+-#: config/c4x/c4x.opt:71
+-msgid "Enable new features under development"
+-msgstr "In Entwicklung befindliche neue Eigenschaften einschalten"
+-
+-#: config/c4x/c4x.opt:75
+-msgid "Use fast but approximate float to integer conversion"
+-msgstr "Schnelle aber nur angenäherte Gleitkomma-zu-Ganzzahl-Umwandlung verwenden"
+-
+-#: config/c4x/c4x.opt:79
+-msgid "Force RTL generation to emit valid 3 operand insns"
+-msgstr "RTL-Erzeugung zwingen, gültige 3-Operanden-Befehle zu generieren"
+-
+-#: config/c4x/c4x.opt:83
+-msgid "Force constants into registers to improve hoisting"
+-msgstr "Konstanten in Register zwingen, um das Setzen von Marken zu verbessern"
+-
+-#: config/c4x/c4x.opt:87 config/c4x/c4x.opt:111
+-msgid "Save DP across ISR in small memory model"
+-msgstr "DP während ISR im kleinen Speichermodell sichern"
+-
+-#: config/c4x/c4x.opt:91
+-msgid "Allow unsigned iteration counts for RPTB/DB"
+-msgstr "Vorzeichenlose Wiederholungszähler für RPTB/DB erlauben"
+-
+-#: config/c4x/c4x.opt:95
+-msgid "Pass arguments on the stack"
+-msgstr "Argumente über den Stapel übergeben"
+-
+-#: config/c4x/c4x.opt:99
+-msgid "Use MPYI instruction for C3x"
+-msgstr "MPYI-Befehle für C3x verwenden"
+-
+-#: config/c4x/c4x.opt:103
+-msgid "Enable parallel instructions"
+-msgstr "Parallele Befehle einschalten"
+-
+-#: config/c4x/c4x.opt:107
+-msgid "Enable MPY||ADD and MPY||SUB instructions"
+-msgstr "MPY||ADD- und MPY||SUB-Befehle einschalten"
+-
+-#: config/c4x/c4x.opt:115
+-msgid "Preserve all 40 bits of FP reg across call"
+-msgstr "Alle 40 Bit des FP-Registers über Aufrufe hinweg erhalten"
+-
+-#: config/c4x/c4x.opt:119
+-msgid "Pass arguments in registers"
+-msgstr "Argumente über Register übergeben"
+-
+-#: config/c4x/c4x.opt:123
+-msgid "Enable use of RTPB instruction"
+-msgstr "Verwendung des RTPB-Befehls einschalten"
+-
+-#: config/c4x/c4x.opt:127
+-msgid "Enable use of RTPS instruction"
+-msgstr "Verwendung des RTPS-Befehls einschalten"
+-
+-#: config/c4x/c4x.opt:131
+-msgid "Set the maximum number of iterations for RPTS to N"
+-msgstr "Höchstzahl der Iterationen für RPTS auf N setzen"
+-
+-#: config/c4x/c4x.opt:135
+-msgid "Small memory model"
+-msgstr "Kleines Speichermodell"
+-
+-#: config/c4x/c4x.opt:139
+-msgid "Emit code compatible with TI tools"
+-msgstr "Mit TI-Werkzeugen kompatiblen Code erzeugen"
+-
+-#: config/pa/pa-hpux.opt:23
+-msgid "Generate cpp defines for server IO"
+-msgstr "cpp-Defines für Server-IO erzeugen"
+-
+-#: config/pa/pa-hpux.opt:27 config/pa/pa-hpux1010.opt:23
+-#: config/pa/pa-hpux1111.opt:23
+-msgid "Specify UNIX standard for predefines and linking"
+-msgstr "UNIX-Standard für Predefines und Bindung angeben"
+-
+-#: config/pa/pa-hpux.opt:31
+-msgid "Generate cpp defines for workstation IO"
+-msgstr "cpp-Defines für Workstation-IO erzeugen"
+-
+-#: config/pa/pa.opt:23 config/pa/pa.opt:76 config/pa/pa.opt:84
+-msgid "Generate PA1.0 code"
+-msgstr "PA1.0-Code erzeugen"
+-
+-#: config/pa/pa.opt:27 config/pa/pa.opt:88 config/pa/pa.opt:108
+-msgid "Generate PA1.1 code"
+-msgstr "PA1.1-Code erzeugen"
+-
+-#: config/pa/pa.opt:31 config/pa/pa.opt:92
+-msgid "Generate PA2.0 code (requires binutils 2.10 or later)"
+-msgstr "PA2.0-Code erzeugen (erfordert binutils 2.10 oder neuer)"
+-
+-#: config/pa/pa.opt:35
+-msgid "Generate code for huge switch statements"
+-msgstr "Code für große switch-Anweisungen erzeugen"
+-
+-#: config/pa/pa.opt:39
+-msgid "Disable FP regs"
+-msgstr "Gleitkommaregister ausschalten"
+-
+-#: config/pa/pa.opt:43
+-msgid "Disable indexed addressing"
+-msgstr "Indizierte Adressierung ausschalten"
+-
+-#: config/pa/pa.opt:47
+-msgid "Generate fast indirect calls"
+-msgstr "Schnelle indirekte Aufrufe erzeugen"
+-
+-#: config/pa/pa.opt:55
+-msgid "Assume code will be assembled by GAS"
+-msgstr "Code als mit GAS assembliert annehmen"
+-
+-#: config/pa/pa.opt:59
+-msgid "Put jumps in call delay slots"
+-msgstr "Sprünge in Aufrufverzögerungsschlitze stecken"
+-
+-#: config/pa/pa.opt:64
+-msgid "Enable linker optimizations"
+-msgstr "Binder-Optimierungen einschalten"
+-
+-#: config/pa/pa.opt:68
+-msgid "Always generate long calls"
+-msgstr "Immer weite Rufe erzeugen"
+-
+-#: config/pa/pa.opt:72
+-msgid "Emit long load/store sequences"
+-msgstr "Lange Laden/Speichern-Folgen ausgeben"
+-
+-#: config/pa/pa.opt:80
+-msgid "Disable space regs"
+-msgstr "Leerregister ausschalten"
+-
+-#: config/pa/pa.opt:96
+-msgid "Use portable calling conventions"
+-msgstr "Portierbare Aufrufkonventionen verwenden"
+-
+-#: config/pa/pa.opt:100
+-msgid "Specify CPU for scheduling purposes. Valid arguments are 700, 7100, 7100LC, 7200, 7300, and 8000"
+-msgstr "CPU für Planzwecke angeben. Gültige Argumente sind 700, 7100, 7100LC, 7200, 7300, und 8000"
+-
+-#: config/pa/pa.opt:112
+-msgid "Do not disable space regs"
+-msgstr "Leerregister nicht ausschalten"
+-
+-#: config/pa/pa64-hpux.opt:23
+-msgid "Assume code will be linked by GNU ld"
+-msgstr "Code als später mit GNU ld gebunden annehmen"
+-
+-#: config/pa/pa64-hpux.opt:27
+-msgid "Assume code will be linked by HP ld"
+-msgstr "Code als später mit HP ld gebunden annehmen"
+-
+-#: config/xtensa/xtensa.opt:23
+-msgid "Use CONST16 instruction to load constants"
+-msgstr "CONST16-Befehle zum Laden von Konstanten verwenden"
+-
+-#: config/xtensa/xtensa.opt:27
+-msgid "Enable fused multiply/add and multiply/subtract FP instructions"
+-msgstr "Verschmolzene Multiplizier/Addier- und Multiplizier/Subtrahier-Befehle für Gleitkomma einschalten"
+-
+-#: config/xtensa/xtensa.opt:31
+-msgid "Use indirect CALLXn instructions for large programs"
+-msgstr "Indirekte CALLXn-Befehle für große Programme verwenden"
+-
+-#: config/xtensa/xtensa.opt:35
+-msgid "Automatically align branch targets to reduce branch penalties"
+-msgstr "Zweigziele automatisch ausrichten, um Strafzyklen für Verzweigung zu verringern"
+-
+-#: config/xtensa/xtensa.opt:39
+-msgid "Intersperse literal pools with code in the text section"
+-msgstr "Code in Zeichen-Daten im Text-Abschnitt einstreuen"
+-
+-#: config/stormy16/stormy16.opt:24
+-msgid "Provide libraries for the simulator"
+-msgstr "Bibliotheken für den Simulator anbieten"
+-
+ #: config/mips/mips.opt:23
+ msgid "Generate code that conforms to the given ABI"
+ msgstr "Code erzeugen, der zum angegebenen ABI passt"
+@@ -13933,10 +14244,6 @@
+ msgid "Use little-endian byte order"
+ msgstr "Little-Endian Byte-Reihenfolge verwenden"
+
+-#: config/mips/mips.opt:97 config/iq2000/iq2000.opt:31
+-msgid "Use ROM instead of RAM"
+-msgstr "ROM statt RAM verwenden"
+-
+ #: config/mips/mips.opt:101
+ msgid "Use NewABI-style %reloc() assembly operators"
+ msgstr "%reloc()-Assembleroperatoren im NewABI-Stil verwenden"
+@@ -14101,10 +14408,6 @@
+ msgid "Optimize the output for PROCESSOR"
+ msgstr "Ausgabe für PROCESSOR optimieren"
+
+-#: config/mips/mips.opt:265 config/iq2000/iq2000.opt:44
+-msgid "Put uninitialized constants in ROM (needs -membedded-data)"
+-msgstr "Uninitialisierte Konstanten im ROM ablegen (benötigt -membedded-data)"
+-
+ #: config/mips/mips.opt:269
+ msgid "Perform VR4130-specific alignment optimizations"
+ msgstr "VR4130-spezifische Ausrichtungs-Optimierungen durchführen"
+@@ -14113,366 +14416,6 @@
+ msgid "Lift restrictions on GOT size"
+ msgstr "Beschränkungen für GOT-Größe aufheben"
+
+-#: config/mips/sdemtk.opt:23
+-msgid "Prevent the use of all floating-point operations"
+-msgstr "Verwendung aller Gleitkommaoperationen verhindern"
+-
+-#: config/fr30/fr30.opt:23
+-msgid "Assume small address space"
+-msgstr "Kleinen Adressraum annehmen"
+-
+-#: config/m68hc11/m68hc11.opt:23 config/m68hc11/m68hc11.opt:31
+-msgid "Compile for a 68HC11"
+-msgstr "Für 68HC11 übersetzen"
+-
+-#: config/m68hc11/m68hc11.opt:27 config/m68hc11/m68hc11.opt:35
+-msgid "Compile for a 68HC12"
+-msgstr "Für 68HC12 übersetzen"
+-
+-#: config/m68hc11/m68hc11.opt:41 config/m68hc11/m68hc11.opt:45
+-msgid "Compile for a 68HCS12"
+-msgstr "Für 68HCS12 übersetzen"
+-
+-#: config/m68hc11/m68hc11.opt:49
+-msgid "Auto pre/post decrement increment allowed"
+-msgstr "Auto-Pre-/Post-Decrement-Increment erlaubt"
+-
+-#: config/m68hc11/m68hc11.opt:53
+-msgid "Min/max instructions allowed"
+-msgstr "Min/Max-Befehle erlaubt"
+-
+-#: config/m68hc11/m68hc11.opt:57
+-msgid "Use call and rtc for function calls and returns"
+-msgstr "Aufruf und RTC für Funktionsaufrufe und Rückgaben verwenden"
+-
+-#: config/m68hc11/m68hc11.opt:61
+-msgid "Auto pre/post decrement increment not allowed"
+-msgstr "Auto-Pre-/Post-Decrement-Increment nicht erlaubt"
+-
+-#: config/m68hc11/m68hc11.opt:65
+-msgid "Use jsr and rts for function calls and returns"
+-msgstr "JSR und RTS für Funktionsaufrufe und Rückgaben verwenden"
+-
+-#: config/m68hc11/m68hc11.opt:69
+-msgid "Min/max instructions not allowed"
+-msgstr "Min/Max-Befehle nicht erlaubt"
+-
+-#: config/m68hc11/m68hc11.opt:73
+-msgid "Use direct addressing mode for soft registers"
+-msgstr "Modus zur direkten Adressierung für Soft-Register verwenden"
+-
+-#: config/m68hc11/m68hc11.opt:77
+-msgid "Compile with 32-bit integer mode"
+-msgstr "Mit 32-Bit-Ganzzahlmodus übersetzen"
+-
+-#: config/m68hc11/m68hc11.opt:82
+-msgid "Specify the register allocation order"
+-msgstr "Reihenfolge der Registerbelegung angeben"
+-
+-#: config/m68hc11/m68hc11.opt:86
+-msgid "Do not use direct addressing mode for soft registers"
+-msgstr "Modus zur direkten Adressierung für Soft-Register nicht verwenden"
+-
+-#: config/m68hc11/m68hc11.opt:90
+-msgid "Compile with 16-bit integer mode"
+-msgstr "Mit 16-Bit-Ganzzahlmodus übersetzen"
+-
+-#: config/m68hc11/m68hc11.opt:94
+-msgid "Indicate the number of soft registers available"
+-msgstr "Anzahl der verfügbaren Soft-Register anzeigen"
+-
+-#: config/vax/vax.opt:23 config/vax/vax.opt:27
+-msgid "Target DFLOAT double precision code"
+-msgstr "Ziel: DFLOAT Code mit doppelter Genauigkeit"
+-
+-#: config/vax/vax.opt:31 config/vax/vax.opt:35
+-msgid "Generate GFLOAT double precision code"
+-msgstr "GFLOAT Code mit doppelter Genauigkeit erzeugen"
+-
+-#: config/vax/vax.opt:39
+-msgid "Generate code for GNU assembler (gas)"
+-msgstr "Code für GNU Assembler (gas) erzeugen"
+-
+-#: config/vax/vax.opt:43
+-msgid "Generate code for UNIX assembler"
+-msgstr "Code für UNIX Assembler erzeugen"
+-
+-#: config/vax/vax.opt:47
+-msgid "Use VAXC structure conventions"
+-msgstr "VAXC-Strukturkonventionen verwenden"
+-
+-#: config/cris/linux.opt:27
+-msgid "Together with -fpic and -fPIC, do not use GOTPLT references"
+-msgstr "Keine GOTPLT-Referenzen zusammen mit -fpic und -fPIC verwenden"
+-
+-#: config/cris/cris.opt:45
+-msgid "Work around bug in multiplication instruction"
+-msgstr "Fehler in Multiplikationsbefehl umgehen"
+-
+-#: config/cris/cris.opt:51
+-msgid "Compile for ETRAX 4 (CRIS v3)"
+-msgstr "Für ETRAX 4 (CRIS v3) übersetzen"
+-
+-#: config/cris/cris.opt:56
+-msgid "Compile for ETRAX 100 (CRIS v8)"
+-msgstr "Für ETRAX 100 (CRIS v8) übersetzen"
+-
+-#: config/cris/cris.opt:64
+-msgid "Emit verbose debug information in assembly code"
+-msgstr "Ausführliche Informationen zur Fehlersuche im Assemblercode ausgeben"
+-
+-#: config/cris/cris.opt:71
+-msgid "Do not use condition codes from normal instructions"
+-msgstr "Keine Bedingungscodes normaler Befehle verwenden"
+-
+-#: config/cris/cris.opt:80
+-msgid "Do not emit addressing modes with side-effect assignment"
+-msgstr "Keine Adressierungsmodi mit Seiteneffektzuweisungen ausgeben"
+-
+-#: config/cris/cris.opt:89
+-msgid "Do not tune stack alignment"
+-msgstr "Stapelausrichtung nicht optimieren"
+-
+-#: config/cris/cris.opt:98
+-msgid "Do not tune writable data alignment"
+-msgstr "Ausrichtung der schreibbaren Daten nicht optimieren"
+-
+-#: config/cris/cris.opt:107
+-msgid "Do not tune code and read-only data alignment"
+-msgstr "Ausrichtung von Code und der Nur-Lese-Daten nicht optimieren"
+-
+-#: config/cris/cris.opt:116
+-msgid "Align code and data to 32 bits"
+-msgstr "Code und Daten auf 32 Bit ausrichten"
+-
+-#: config/cris/cris.opt:133
+-msgid "Don't align items in code or data"
+-msgstr "Code- und Datenelemente nicht ausrichten"
+-
+-#: config/cris/cris.opt:142
+-msgid "Do not emit function prologue or epilogue"
+-msgstr "Keinen Funktionsprolog oder -epilog ausgeben"
+-
+-#: config/cris/cris.opt:149
+-msgid "Use the most feature-enabling options allowed by other options"
+-msgstr "Die meisten Optionen verwenden, die spezielle Fähigkeiten einschalten, solange sie durch andere Optionen erlaubt sind"
+-
+-#: config/cris/cris.opt:158
+-msgid "Override -mbest-lib-options"
+-msgstr "-mbest-lib-options überschreiben"
+-
+-#: config/cris/cris.opt:165
+-msgid "Generate code for the specified chip or CPU version"
+-msgstr "Code für die angegebene Chip- oder CPU-Version erzeugen"
+-
+-#: config/cris/cris.opt:169
+-msgid "Tune alignment for the specified chip or CPU version"
+-msgstr "Ausrichtung für den angegebenen Chip oder CPU optimieren"
+-
+-#: config/cris/cris.opt:173
+-msgid "Warn when a stackframe is larger than the specified size"
+-msgstr "Warnen, wenn ein Stapelrahmen größer als die angegebene Größe ist"
+-
+-#: config/cris/aout.opt:27
+-msgid "Compile for the MMU-less Etrax 100-based elinux system"
+-msgstr "Für das MMU-lose Etrax 100-basierte elinux-System übersetzen"
+-
+-#: config/cris/aout.opt:33
+-msgid "For elinux, request a specified stack-size for this program"
+-msgstr "Für elinux eine angegebene Stapelgröße für dieses Programm anfordern"
+-
+-#: config/h8300/h8300.opt:23
+-msgid "Generate H8S code"
+-msgstr "H8S-Code erzeugen"
+-
+-#: config/h8300/h8300.opt:27
+-msgid "Generate H8SX code"
+-msgstr "H8SX-Code erzeugen"
+-
+-#: config/h8300/h8300.opt:31
+-msgid "Generate H8S/2600 code"
+-msgstr "H8S/2600-Code erzeugen"
+-
+-#: config/h8300/h8300.opt:35
+-msgid "Make integers 32 bits wide"
+-msgstr "Ganzzahlen 32 Bit breit machen"
+-
+-#: config/h8300/h8300.opt:42
+-msgid "Use registers for argument passing"
+-msgstr "Register zur Argumentübergabe verwenden"
+-
+-#: config/h8300/h8300.opt:46
+-msgid "Consider access to byte sized memory slow"
+-msgstr "Zugriff auf Speicher in Bytegröße als langsam betrachten"
+-
+-#: config/h8300/h8300.opt:50
+-msgid "Enable linker relaxing"
+-msgstr "Binderlockerung einschalten"
+-
+-#: config/h8300/h8300.opt:54
+-msgid "Generate H8/300H code"
+-msgstr "H8/300H-Code erzeugen"
+-
+-#: config/h8300/h8300.opt:58
+-msgid "Enable the normal mode"
+-msgstr "Normalen Modus einschalten"
+-
+-#: config/h8300/h8300.opt:62
+-msgid "Use H8/300 alignment rules"
+-msgstr "H8/300-Ausrichtungsregeln verwenden"
+-
+-#: config/v850/v850.opt:23
+-msgid "Use registers r2 and r5"
+-msgstr "Register r2 und r5 verwenden"
+-
+-#: config/v850/v850.opt:27
+-msgid "Use 4 byte entries in switch tables"
+-msgstr "4-Byte-Einträge in switch-Tabellen verwenden"
+-
+-#: config/v850/v850.opt:31
+-msgid "Enable backend debugging"
+-msgstr "Backend-Fehlersuche einschalten"
+-
+-#: config/v850/v850.opt:35
+-msgid "Do not use the callt instruction"
+-msgstr "Den callt-Befehl nicht verwenden"
+-
+-#: config/v850/v850.opt:39
+-msgid "Reuse r30 on a per function basis"
+-msgstr "r30 auf Funktionsbasis wiederverwenden"
+-
+-#: config/v850/v850.opt:43
+-msgid "Support Green Hills ABI"
+-msgstr "Green Hills ABI unterstützen"
+-
+-#: config/v850/v850.opt:47
+-msgid "Prohibit PC relative function calls"
+-msgstr "PC-relative Funktionsaufrufe verbieten"
+-
+-#: config/v850/v850.opt:51
+-msgid "Use stubs for function prologues"
+-msgstr "Stubs für Funktionsprologe verwenden"
+-
+-#: config/v850/v850.opt:55
+-msgid "Set the max size of data eligible for the SDA area"
+-msgstr "Maximalgröße der für den SDA-Bereich geeigneten Daten setzen"
+-
+-#: config/v850/v850.opt:59
+-msgid "Enable the use of the short load instructions"
+-msgstr "Verwendung der kurzen Ladebefehle einschalten"
+-
+-#: config/v850/v850.opt:63
+-msgid "Same as: -mep -mprolog-function"
+-msgstr "Das gleiche wie: -mep -mprolog-function"
+-
+-#: config/v850/v850.opt:67
+-msgid "Set the max size of data eligible for the TDA area"
+-msgstr "Maximalgröße der für den TDA-Bereich geeigneten Daten setzen"
+-
+-#: config/v850/v850.opt:71
+-msgid "Enforce strict alignment"
+-msgstr "Genaue Ausrichtung erzwingen"
+-
+-#: config/v850/v850.opt:78
+-msgid "Compile for the v850 processor"
+-msgstr "Für v850-Prozessor übersetzen"
+-
+-#: config/v850/v850.opt:82
+-msgid "Compile for the v850e processor"
+-msgstr "Für v850e-Prozessor übersetzen"
+-
+-#: config/v850/v850.opt:86
+-msgid "Compile for the v850e1 processor"
+-msgstr "Für v850e1-Prozessor übersetzen"
+-
+-#: config/v850/v850.opt:90
+-msgid "Set the max size of data eligible for the ZDA area"
+-msgstr "Maximalgröße der für den ZDA-Bereich geeigneten Daten setzen"
+-
+-#: config/mmix/mmix.opt:24
+-msgid "For intrinsics library: pass all parameters in registers"
+-msgstr "Für Intrinsics-Bibliothek: alle Parameter in Registern übergeben"
+-
+-#: config/mmix/mmix.opt:28
+-msgid "Use register stack for parameters and return value"
+-msgstr "Registerstapel für Parameter und Rückgabewerte verwenden"
+-
+-#: config/mmix/mmix.opt:32
+-msgid "Use call-clobbered registers for parameters and return value"
+-msgstr "Mit Aufruf verbundene Register für Parameter und Rückgabewerte verwenden"
+-
+-#: config/mmix/mmix.opt:37
+-msgid "Use epsilon-respecting floating point compare instructions"
+-msgstr "Epsilon beachtende Gleitkomma-Vergleichsbefehle verwenden"
+-
+-#: config/mmix/mmix.opt:41
+-msgid "Use zero-extending memory loads, not sign-extending ones"
+-msgstr "Nullerweiternde Speicherladungen verwenden, nicht vorzeichenerweiternde"
+-
+-#: config/mmix/mmix.opt:45
+-msgid "Generate divide results with reminder having the same sign as the divisor (not the dividend)"
+-msgstr "Divisionsergebnisse mit dem gleichen Vorzeichen im Ãœbertrag wie der Divisor (nicht der Dividend) erzeugen"
+-
+-#: config/mmix/mmix.opt:49
+-msgid "Prepend global symbols with \":\" (for use with PREFIX)"
+-msgstr "Globalen Symbolen ein »:« voranstellen (für Verwendung mit PREFIX)"
+-
+-#: config/mmix/mmix.opt:53
+-msgid "Do not provide a default start-address 0x100 of the program"
+-msgstr "Keine Standard-Start-Adresse 0x100 des Programmes bereitstellen"
+-
+-#: config/mmix/mmix.opt:57
+-msgid "Link to emit program in ELF format (rather than mmo)"
+-msgstr "Binden, um Programm im ELF-Format auszugeben (statt mmo)"
+-
+-#: config/mmix/mmix.opt:61
+-msgid "Use P-mnemonics for branches statically predicted as taken"
+-msgstr "P-Mnemonics für statisch als verfolgt vorhergesehene Zweige verwenden"
+-
+-#: config/mmix/mmix.opt:65
+-msgid "Don't use P-mnemonics for branches"
+-msgstr "Keine P-Mnemonics für Zweige verwenden"
+-
+-#: config/mmix/mmix.opt:79
+-msgid "Use addresses that allocate global registers"
+-msgstr "Globale Register belegende Adressen verwenden"
+-
+-#: config/mmix/mmix.opt:83
+-msgid "Do not use addresses that allocate global registers"
+-msgstr "Nicht globale Register belegende Adressen verwenden"
+-
+-#: config/mmix/mmix.opt:87
+-msgid "Generate a single exit point for each function"
+-msgstr "Einen einzigen Austrittspunkt für jede Funktion erzeugen"
+-
+-#: config/mmix/mmix.opt:91
+-msgid "Do not generate a single exit point for each function"
+-msgstr "Nicht unbedingt einen einzigen Austrittspunkt für jede Funktion erzeugen"
+-
+-#: config/mmix/mmix.opt:95
+-msgid "Set start-address of the program"
+-msgstr "Start-Adresse des Programmes setzen"
+-
+-#: config/mmix/mmix.opt:99
+-msgid "Set start-address of data"
+-msgstr "Start-Adresse der Daten setzen"
+-
+-#: config/iq2000/iq2000.opt:23 config/mt/mt.opt:55
+-msgid "Specify CPU for code generation purposes"
+-msgstr "CPU für Codeerzeugungszwecke angeben"
+-
+-#: config/iq2000/iq2000.opt:27
+-msgid "Specify CPU for scheduling purposes"
+-msgstr "CPU für Planzwecke angeben"
+-
+-#: config/iq2000/iq2000.opt:35
+-msgid "Use GP relative sdata/sbss sections"
+-msgstr "Relative GP sdata/sbss-Abschnitte verwenden"
+-
+-#: config/iq2000/iq2000.opt:40
+-msgid "No default crt0.o"
+-msgstr "Kein voreingestelltes crt0.o"
+-
+ #: config/bfin/bfin.opt:31
+ msgid "Omit frame pointer for leaf functions"
+ msgstr "Rahmenzeiger für Blattfunktionen auslassen"
+@@ -14509,2035 +14452,2058 @@
+ msgid "Do stack checking using bounds in L1 scratch memory"
+ msgstr "Stack-Überprüfung mit Grenzen im L1-Zwischenspeicher durchführen"
+
+-#: config/mt/mt.opt:23
+-msgid "Use byte loads and stores when generating code."
+-msgstr "Laden und Speichern von Bytes beim Erzeugen von Code verwenden."
++#: treelang/lang.opt:30
++msgid "Trace lexical analysis"
++msgstr "Lexikalische Analyse verfolgen"
+
+-#: config/mt/mt.opt:31
+-msgid "Do not include crt0.o in the startup files"
+-msgstr "Nicht crt0.o in Startdateien einfügen"
++#: treelang/lang.opt:34
++msgid "Trace the parsing process"
++msgstr "Parsing-Prozess verfolgen"
+
+-#: config/mt/mt.opt:35 config/mt/mt.opt:39 config/mt/mt.opt:43
+-#: config/mt/mt.opt:47 config/mt/mt.opt:51
+-msgid "Internal debug switch"
+-msgstr "Interner Debug-Schalter"
++#: java/lang.opt:65
++msgid "Warn if a deprecated compiler feature, class, method, or field is used"
++msgstr "Warnen, wenn veraltetes Compiler-Merkmal, Klasse, Methode oder Feld verwendet wird"
+
+-#: config/vxworks.opt:24
+-msgid "Assume the VxWorks RTP environment"
+-msgstr "VxWorks RTP-Umgebung vermuten"
++#: java/lang.opt:69
++msgid "Warn if deprecated empty statements are found"
++msgstr "Warnen, wenn veraltete Leeranweisungen gefunden werden"
+
+-#: config/vxworks.opt:31
+-msgid "Assume the VxWorks vThreads environment"
+-msgstr "VxWorks vThreads-Umgebung vermuten"
++#: java/lang.opt:73
++msgid "Warn if .class files are out of date"
++msgstr "Warnen, wenn .class-Dateien veraltet sind"
+
+-#: config/darwin.opt:23
+-msgid "Generate code suitable for fast turn around debugging"
+-msgstr "Für schnelles Debugging geeigneten Code erzeugen"
++#: java/lang.opt:77
++msgid "Warn if modifiers are specified when not necessary"
++msgstr "Bei unnötig angegebenen Modifizierern warnen"
+
+-#: config/darwin.opt:31
+-msgid "The earliest MacOS X version on which this program will run"
+-msgstr "Die älteste MacOSX-Version, auf der dieses Programm laufen wird"
++#: java/lang.opt:81
++msgid "Deprecated; use --classpath instead"
++msgstr "Veraltet; stattdessen --classpath verwenden"
+
+-#: config/darwin.opt:35
+-msgid "Set sizeof(bool) to 1"
+-msgstr "sizeof(bool) auf 1 setzen"
++#: java/lang.opt:88
++msgid "Permit the use of the assert keyword"
++msgstr "Die Verwendung des Schlüsselworts »assert« erlauben"
+
+-#: config/darwin.opt:39
+-msgid "Generate code for darwin loadable kernel extensions"
+-msgstr "Code für ladbare Darwin-Kernelerweiterungen erzeugen"
++#: java/lang.opt:110
++msgid "Replace system path"
++msgstr "Systempfad ersetzen"
+
+-#: config/darwin.opt:43
+-msgid "Generate code for the kernel or loadable kernel extensions"
+-msgstr "Code für ladbare Darwin-Kernelerweiterungen oder Kernel erzeugen"
++#: java/lang.opt:114
++msgid "Generate checks for references to NULL"
++msgstr "Prüfungen auf Referenzen auf NULL erzeugen"
+
+-#: config/darwin.opt:47
+-msgid "Add <dir> to the end of the system framework include path"
+-msgstr "<Verz> an das Ende des Einfügepfades des System-Frameworks anfügen"
++#: java/lang.opt:118
++msgid "Set class path"
++msgstr "Klassenpfad setzen"
+
+-#: config/lynx.opt:23
+-msgid "Support legacy multi-threading"
+-msgstr "Altes Multi-Threading unterstützen"
++#: java/lang.opt:125
++msgid "Output a class file"
++msgstr "Klassendatei ausgeben"
+
+-#: config/lynx.opt:27
+-msgid "Use shared libraries"
+-msgstr "Shared Libraries verwenden"
++#: java/lang.opt:129
++msgid "Alias for -femit-class-file"
++msgstr "Alias für -femit-class-file"
+
+-#: config/lynx.opt:31
+-msgid "Support multi-threading"
+-msgstr "Multi-Threading unterstützen"
++#: java/lang.opt:133
++msgid "Choose input encoding (defaults from your locale)"
++msgstr "Eingabekodierung auswählen (Standard: aktuelle Locale)"
+
+-#: config/score/score.opt:31
+-msgid "Disable bcnz instruction"
+-msgstr "bcnz-Befehl ausschalten"
++#: java/lang.opt:137
++msgid "Set the extension directory path"
++msgstr "Den Pfad für das Erweiterungsverzeichnis setzen"
+
+-#: config/score/score.opt:35
+-msgid "Enable unaligned load/store instruction"
+-msgstr "Unausgerichtete Load/Store-Befehle einschalten"
++#: java/lang.opt:144
++msgid "Input file is a file with a list of filenames to compile"
++msgstr "Eingabedatei ist eine Datei mit einer Liste der Dateinamen zum Ãœbersetzen"
+
+-#: config/score/score.opt:39
+-msgid "Support SCORE 5 ISA"
+-msgstr "SCORE 5 ISA unterstützen"
++#: java/lang.opt:151
++msgid "Always check for non gcj generated classes archives"
++msgstr "Immer auf nicht von gcj erzeugte Klassenarchive prüfen"
+
+-#: config/score/score.opt:43
+-msgid "Support SCORE 5U ISA"
+-msgstr "SCORE 5U ISA unterstützen"
++#: java/lang.opt:155
++msgid "Assume the runtime uses a hash table to map an object to its synchronization structure"
++msgstr "Annehmen, dass die Laufzeitbibliothek eine Hashtabelle verwendet, um ein Objekt zu seiner Synchronisationsstruktur zuzuordnen"
+
+-#: config/score/score.opt:47
+-msgid "Support SCORE 7 ISA"
+-msgstr "SCORE 7 ISA unuterstützen"
++#: java/lang.opt:159
++msgid "Generate instances of Class at runtime"
++msgstr "Klasseninstanzen zur Laufzeit erzeugen"
+
+-#: config/score/score.opt:51
+-msgid "Support SCORE 7D ISA"
+-msgstr "SCORE 7D ISA unterstützen"
++#: java/lang.opt:163
++msgid "Use offset tables for virtual method calls"
++msgstr "Offset-Tabellen für virtuelle Methodenaufrufe verwenden"
+
+-#: config/score/score.opt:55
+-msgid "Support SCORE 3 ISA"
+-msgstr "SCORE 3 ISA unterstützen"
++#: java/lang.opt:170
++msgid "Assume native functions are implemented using JNI"
++msgstr "Native Funktionen als mit JNI implementiert annehmen"
+
+-#: config/score/score.opt:59
+-msgid "Support SCORE 3d ISA"
+-msgstr "SCORE 3d ISA unterstützen"
++#: java/lang.opt:174
++msgid "Enable optimization of static class initialization code"
++msgstr "Optimierung des Initialisierungscodes statischer Klassen einschalten"
+
+-#: config/linux.opt:24
+-msgid "Use uClibc instead of GNU libc"
+-msgstr "uClibc statt GNU libc verwenden"
++#: java/lang.opt:181
++msgid "Reduce the amount of reflection meta-data generated"
++msgstr "Betrag der generierten Metadaten zur Reflexion verringern"
+
+-#: config/linux.opt:28
+-msgid "Use GNU libc instead of uClibc"
+-msgstr "GNU libc statt uClibc verwenden"
++#: java/lang.opt:185
++msgid "Enable assignability checks for stores into object arrays"
++msgstr "Zuweisbarkeitsprüfungen für Speicheroperationen in Objektfelder einschalten"
+
+-#: c.opt:41
+-msgid "Assert the <answer> to <question>. Putting '-' before <question> disables the <answer> to <question>"
+-msgstr "Die <Antwort> auf eine <Frage> behaupten. Angabe von »-« vor <Frage> schaltet die <Antwort> auf <Frage> aus"
++#: java/lang.opt:189
++msgid "Generate code for the Boehm GC"
++msgstr "Code für den Boehm GC erzeugen"
+
+-#: c.opt:45
+-msgid "Do not discard comments"
+-msgstr "Kommentare nicht verwerfen"
++#: java/lang.opt:193
++msgid "Call a library routine to do integer divisions"
++msgstr "Eine Bibiotheksroutine aufrufen, um Ganzahldivision durchzuführen"
+
+-#: c.opt:49
+-msgid "Do not discard comments in macro expansions"
+-msgstr "Kommentare in Makroexpansionen nicht verwerfen"
++#: java/lang.opt:197
++msgid "Generated should be loaded by bootstrap loader"
++msgstr "Generiertes sollte vom Bootstrap-Loader geladen werden"
+
+-#: c.opt:53
+-msgid "Define a <macro> with <val> as its value. If just <macro> is given, <val> is taken to be 1"
+-msgstr "Ein <Makro> mit <Wert> definieren. Wenn nur <Makro> angegeben wird, wird <Wert> auf 1 gesetzt"
++#: java/lang.opt:201
++msgid "Set the source language version"
++msgstr "Version der Quellsprache setzen"
+
+-#: c.opt:60
+-msgid "Add <dir> to the end of the main framework include path"
+-msgstr "<Verz> an das Ende des Einfügepfades des Haupt-Frameworks anfügen"
++#: java/lang.opt:205
++msgid "Set the target VM version"
++msgstr "Ziel-VM-Version angeben"
+
+-#: c.opt:64
+-msgid "Print the name of header files as they are used"
+-msgstr "Namen der Header-Dateien ausgeben, wie sie verwendet werden"
+-
+-#: c.opt:68 c.opt:859
+-msgid "Add <dir> to the end of the main include path"
+-msgstr "<Verz> an das Ende des Haupteinfügepfades anfügen"
+-
+-#: c.opt:72
+-msgid "Generate make dependencies"
+-msgstr "Make-Abhängigkeiten werden erstellt"
+-
+-#: c.opt:76
+-msgid "Generate make dependencies and compile"
+-msgstr "Make-Abhängigkeiten erzeugen und übersetzen"
+-
+-#: c.opt:80
+-msgid "Write dependency output to the given file"
+-msgstr "Abhängigkeiten-Ausgabe in angegebene Datei schreiben"
+-
+-#: c.opt:84
+-msgid "Treat missing header files as generated files"
+-msgstr "Fehlende Header-Dateien als generierte Dateien behandeln"
+-
+-#: c.opt:88
+-msgid "Like -M but ignore system header files"
+-msgstr "Wie -M, aber System-Header-Dateien ignorieren"
+-
+-#: c.opt:92
+-msgid "Like -MD but ignore system header files"
+-msgstr "Wie -MD, aber System-Header-Dateien ignorieren"
+-
+-#: c.opt:96
+-msgid "Generate phony targets for all headers"
+-msgstr "Unechte Ziele für alle Headers erzeugen"
+-
+-#: c.opt:100
+-msgid "Add a MAKE-quoted target"
+-msgstr "MAKE-zitiertes Ziel hinzufügen"
+-
+-#: c.opt:104
+-msgid "Add an unquoted target"
+-msgstr "Ein unzitiertes Ziel hinzufügen"
+-
+-#: c.opt:108
+-msgid "Do not generate #line directives"
+-msgstr "Keine #line-Direktiven erzeugen"
+-
+-#: c.opt:112
+-msgid "Undefine <macro>"
+-msgstr "<Makro> undefinieren"
+-
+-#: c.opt:116
+-msgid "Warn about things that will change when compiling with an ABI-compliant compiler"
+-msgstr "Bei Dingen, die sich bei der Übersetzung mit einem ABI-konformen Compiler ändern werden, warnen"
+-
+-#: c.opt:120
+-msgid "Warn about suspicious uses of memory addresses"
+-msgstr "Vor verdächtigem Gebrauch von Speicheradressen warnen"
+-
+-#: c.opt:124
+-msgid "Enable most warning messages"
+-msgstr "Die meisten Warnungen einschalten"
+-
+-#: c.opt:128
+-msgid "Warn if a comparison is always true or always false due to the limited range of the data type"
+-msgstr "Warnen, wenn ein Vergleich durch beschränkten Wertebereich des Datentyps stets »wahr« oder »unwahr« ist"
+-
+-#: c.opt:132
+-msgid "Warn whenever an Objective-C assignment is being intercepted by the garbage collector"
+-msgstr "Immer warnen, wenn eine Objective-C-Zuweisung vom Garbage Collector abgefangen wird"
+-
+-#: c.opt:136
+-msgid "Warn about casting functions to incompatible types"
+-msgstr "Warnen, wenn Funktionen in unverträgliche Typen umgewandelt werden"
+-
+-#: c.opt:140
+-msgid "Warn about C constructs that are not in the common subset of C and C++"
+-msgstr "Bei C-Konstrukten, die nicht in gemeinsamer Teilmenge von C und C++ sind, warnen"
+-
+-#: c.opt:144
+-msgid "Warn about C++ constructs whose meaning differs between ISO C++ 1998 and ISO C++ 200x"
+-msgstr "Bei C++-Konstrukten, deren Bedeutung sich zwischen ISO C++ 1998 und ISO C++ 200x unterscheidet, warnen"
+-
+-#: c.opt:148
+-msgid "Warn about casts which discard qualifiers"
+-msgstr "Bei Umwandlungen, die Qualifizierer streichen, warnen"
+-
+-#: c.opt:152
+-msgid "Warn about subscripts whose type is \"char\""
+-msgstr "Vor Indizes mit Typ »char« warnen"
+-
+-#: c.opt:156
+-msgid "Warn about variables that might be changed by \"longjmp\" or \"vfork\""
+-msgstr "Bei Variablen, die von »longjmp« oder »vfork« geändert werden könnten, warnen"
+-
+-#: c.opt:160
+-msgid "Warn about possibly nested block comments, and C++ comments spanning more than one physical line"
+-msgstr "Bei möglicherweise geschachtelten Blockkommentaren und C++-Kommentaren, die mehr als eine physikalische Zeile umfassen, warnen"
+-
+-#: c.opt:164
+-msgid "Synonym for -Wcomment"
+-msgstr "Synonym für -Wcomment"
+-
+-#: c.opt:168
+-msgid "Warn for implicit type conversions that may change a value"
+-msgstr "Bei impliziten Typumwandlungen warnen, die einen Wert ändern könnten"
+-
+-#: c.opt:172
+-msgid "Warn for implicit type conversions between signed and unsigned integers"
+-msgstr "Bei impliziten Typumwandlungen zwischen vorzeichenbehafteten und vorzeichenlosen Ganzzahlen warnen"
+-
+-#: c.opt:176
+-msgid "Warn when all constructors and destructors are private"
+-msgstr "Warnen, wenn alle Konstruktoren und Destruktoren privat sind"
+-
+-#: c.opt:180
+-msgid "Warn when a declaration is found after a statement"
+-msgstr "Warnen, wenn eine Deklaration hinter einer Anweisung gefunden wird"
+-
+-#: c.opt:184
+-msgid "Warn about deprecated compiler features"
+-msgstr "Bei veralteten Compiler-Merkmalen warnen"
+-
+-#: c.opt:188
+-msgid "Warn about compile-time integer division by zero"
+-msgstr "Bei Ganzzahldivisionen durch Null zur Ãœbersetzungszeit warnen"
+-
+-#: c.opt:192
+-msgid "Warn about violations of Effective C++ style rules"
+-msgstr "Bei Verstößen gegen die Stil-Richtlinien von »Effective C++« warnen"
+-
+-#: c.opt:196
+-msgid "Warn about an empty body in an if or else statement"
+-msgstr "Bei leerem Körper in einer if- oder else-Anweisung warnen"
+-
+-#: c.opt:200
+-msgid "Warn about stray tokens after #elif and #endif"
+-msgstr "Bei verirrten Symbolen hinter #elif und #endif warnen"
+-
+-#: c.opt:208
+-msgid "This switch is deprecated; use -Werror=implicit-function-declaration instead"
+-msgstr "Dieser Schalter ist veraltet; stattdessen -Werror=implicit-function-declaration verwenden"
+-
+-#: c.opt:212
+-msgid "Warn if testing floating point numbers for equality"
+-msgstr "Bei Test von Gleitkommawerten auf Gleichheit warnen"
+-
+-#: c.opt:216
+-msgid "Warn about printf/scanf/strftime/strfmon format string anomalies"
+-msgstr "Bei Unregelmäßigkeiten in printf/scanf/strftime/strfmon-Formatstrings warnen"
+-
+-#: c.opt:220
+-msgid "Warn if passing too many arguments to a function for its format string"
+-msgstr "Bei zu vielen Argumenten für eine Funktion (anhand Formatzeichenkette) warnen"
+-
+-#: c.opt:224
+-msgid "Warn about format strings that are not literals"
+-msgstr "Bei Formatstrings, die keine Literale sind, warnen"
+-
+-#: c.opt:228
+-msgid "Warn about format strings that contain NUL bytes"
+-msgstr "Bei Formatstrings, die NUL-Bytes enthalten, warnen"
+-
+-#: c.opt:232
+-msgid "Warn about possible security problems with format functions"
+-msgstr "Vor möglichen Sicherheitsproblemen mit Formatfunktionen warnen"
+-
+-#: c.opt:236
+-msgid "Warn about strftime formats yielding 2-digit years"
+-msgstr "Bei strftime-Formaten, die auf Jahreszahlen mit 2 Stellen hinweisen, warnen"
+-
+-#: c.opt:240
+-msgid "Warn about zero-length formats"
+-msgstr "Bei Formaten der Länge null warnen"
+-
+-#: c.opt:247
+-msgid "Warn about variables which are initialized to themselves"
+-msgstr "Bei Variablen, die mit sich selbst initialisiert werden, warnen"
+-
+-#: c.opt:254
+-msgid "Warn about implicit function declarations"
+-msgstr "Bei impliziten Funktionsdeklarationen warnen"
+-
+-#: c.opt:258
+-msgid "Warn when a declaration does not specify a type"
+-msgstr "Warnen, wenn eine Deklaration keinen Typ angibt"
+-
+-#: c.opt:262
+-msgid "Deprecated. This switch has no effect"
+-msgstr "Veraltet. Dieser Schalter hat keine Auswirkung"
+-
+-#: c.opt:266
+-msgid "Warn when there is a cast to a pointer from an integer of a different size"
+-msgstr "Bei Typumwandlung in Zeiger von Ganzzahl anderer Breite warnen"
+-
+-#: c.opt:270
+-msgid "Warn about invalid uses of the \"offsetof\" macro"
+-msgstr "Bei ungültigen Benutzungen des Makros »offsetof« warnen"
+-
+-#: c.opt:274
+-msgid "Warn about PCH files that are found but not used"
+-msgstr "Bei PCH-Dateien, die gefunden, aber nicht benutzt werden, warnen"
+-
+-#: c.opt:278
+-msgid "Do not warn about using \"long long\" when -pedantic"
+-msgstr "Nicht bei Verwendung von »long long« mit -pedantic warnen"
+-
+-#: c.opt:282
+-msgid "Warn about suspicious declarations of \"main\""
+-msgstr "Vor verdächtigen Deklarationen von »main« warnen"
+-
+-#: c.opt:286
+-msgid "Warn about possibly missing braces around initializers"
+-msgstr "Bei möglicherweise fehlenden Klammern um Initialisierungen warnen"
+-
+-#: c.opt:290
+-msgid "Warn about global functions without previous declarations"
+-msgstr "Vor globalen Funktionen ohne vorherige Deklaration warnen"
+-
+-#: c.opt:294
+-msgid "Warn about missing fields in struct initializers"
+-msgstr "Bei fehlenden Feldern in struct-Initialisierungen warnen"
+-
+-#: c.opt:298
+-msgid "Warn about functions which might be candidates for format attributes"
+-msgstr "Bei Funktionen, die Kandidaten für Formatattribute sein könnten, warnen"
+-
+-#: c.opt:302
+-msgid "Warn about user-specified include directories that do not exist"
+-msgstr "Bei durch den Benutzer angegebenen Einfügepfaden, die nicht vorhanden sind, warnen"
+-
+-#: c.opt:306
+-msgid "Warn about function parameters declared without a type specifier in K&R-style functions"
+-msgstr "Bei ohne Typspezifizierung in Funktionen im K&R-Stil deklarierten Funktionsparametern warnen"
+-
+-#: c.opt:310
+-msgid "Warn about global functions without prototypes"
+-msgstr "Bei globalen Funktionen ohne Prototypen warnen"
+-
+-#: c.opt:314
+-msgid "Warn about use of multi-character character constants"
+-msgstr "Bei Verwendung von Zeichenkonstanten mit mehreren Zeichen warnen"
+-
+-#: c.opt:318
+-msgid "Warn about \"extern\" declarations not at file scope"
+-msgstr "Bei »extern«-Deklarationen außerhalb des Dateisichtbarkeitsbereiches warnen"
+-
+-#: c.opt:322
+-msgid "Warn when non-templatized friend functions are declared within a template"
+-msgstr "Warnen, wenn Nicht-Template-Friend-Funktionen innerhalb eines Templates angegeben werden"
+-
+-#: c.opt:326
+-msgid "Warn about non-virtual destructors"
+-msgstr "Bei nicht-virtuellen Destruktoren warnen"
+-
+-#: c.opt:330
+-msgid "Warn about NULL being passed to argument slots marked as requiring non-NULL"
+-msgstr "Warnen, wenn NULL an Argumentstellen, die als nicht-NULL erfordernd markiert sind, übergeben wird"
+-
+-#: c.opt:334
+-msgid "Warn about non-normalised Unicode strings"
+-msgstr "Bei nicht-normalisierten Unicode-Zeichenketten warnen"
+-
+-#: c.opt:338
+-msgid "Warn if a C-style cast is used in a program"
+-msgstr "Warnen, wenn eine Typumwandlung im C-Stil im Programm verwendet wird"
+-
+-#: c.opt:342
+-msgid "Warn for obsolescent usage in a declaration"
+-msgstr "Bei veralteter Verwendung in einer Deklaration warnen"
+-
+-#: c.opt:346
+-msgid "Warn if an old-style parameter definition is used"
+-msgstr "Warnen, wenn eine Parameterdefinition im alten Stil verwendet wird"
+-
+-#: c.opt:350
+-msgid "Warn if a string is longer than the maximum portable length specified by the standard"
+-msgstr "Warnen, wenn Zeichenkette länger als größte vom Standard angegebene portable Länge ist"
+-
+-#: c.opt:354
+-msgid "Warn about overloaded virtual function names"
+-msgstr "Bei überladenen virtuellen Funktionsnamen warnen"
+-
+-#: c.opt:358
+-msgid "Warn about overriding initializers without side effects"
+-msgstr "Beim Ãœberschreiben von Initialisierungen ohne Seiteneffekte warnen"
+-
+-#: c.opt:362
+-msgid "Warn about possibly missing parentheses"
+-msgstr "Bei möglicherweise fehlenden Klammern warnen"
+-
+-#: c.opt:366
+-msgid "Warn when converting the type of pointers to member functions"
+-msgstr "Bei Umwandlung des Typs von Zeigern auf Elementfunktionen warnen"
+-
+-#: c.opt:370
+-msgid "Warn about function pointer arithmetic"
+-msgstr "Bei Arithmetik mit Funktionszeigern warnen"
+-
+-#: c.opt:374
+-msgid "Warn when a pointer is cast to an integer of a different size"
+-msgstr "Bei Typkonvertierung von Zeiger auf Ganzzahl anderer Breite warnen"
+-
+-#: c.opt:378
+-msgid "Warn about misuses of pragmas"
+-msgstr "Bei Pragmamissbrauch warnen"
+-
+-#: c.opt:382
+-msgid "Warn if inherited methods are unimplemented"
+-msgstr "Warnen, wenn geerbte Methoden nicht implementiert sind"
+-
+-#: c.opt:386
+-msgid "Warn about multiple declarations of the same object"
+-msgstr "Bei mehreren Deklarationen des gleichen Objektes warnen"
+-
+-#: c.opt:390
+-msgid "Warn when the compiler reorders code"
+-msgstr "Warnen, wenn der Compiler Code umsortiert"
+-
+-#: c.opt:394
+-msgid "Warn whenever a function's return type defaults to \"int\" (C), or about inconsistent return types (C++)"
+-msgstr "Bei Standardrückgabetyp »int« für Funktionen (C) und inkonsistenten Rückgabetypen (C++) warnen"
+-
+-#: c.opt:398
+-msgid "Warn if a selector has multiple methods"
+-msgstr "Warnen, wenn ein Selektor mehrere Methoden hat"
+-
+-#: c.opt:402
+-msgid "Warn about possible violations of sequence point rules"
+-msgstr "Bei möglichen Verstößen gegen Sequenzpunktregeln warnen"
+-
+-#: c.opt:406
+-msgid "Warn about signed-unsigned comparisons"
+-msgstr "Bei Vergleichen von vorzeichenbehaftet mit vorzeichenlos warnen"
+-
+-#: c.opt:410
+-msgid "Warn when overload promotes from unsigned to signed"
+-msgstr "Warnen, wenn Überladung von vorzeichenbehaftet zu vorzeichenlos führt"
+-
+-#: c.opt:414
+-msgid "Warn about uncasted NULL used as sentinel"
+-msgstr "Bei als Wächter verwendetem, nicht umgewandeltem NULL warnen"
+-
+-#: c.opt:418
+-msgid "Warn about unprototyped function declarations"
+-msgstr "Bei Funktionsdeklarationen ohne Prototyp warnen"
+-
+-#: c.opt:422
+-msgid "Warn if type signatures of candidate methods do not match exactly"
+-msgstr "Wenn Typsignaturen der Kandidatenmethoden nicht exakt passen, warnen"
+-
+-#: c.opt:426
+-msgid "Warn when synthesis behavior differs from Cfront"
+-msgstr "Warnen, wenn sich Synthetisierverhalten von Cfront unterscheidet"
+-
+-#: c.opt:430 common.opt:182
+-msgid "Do not suppress warnings from system headers"
+-msgstr "Nicht Warnungen von System-Headern unterdrücken"
+-
+-#: c.opt:434
+-msgid "Warn about features not present in traditional C"
+-msgstr "Bei Merkmalen, die in traditionellem C nicht verfügbar sind, warnen"
+-
+-#: c.opt:438
+-msgid "Warn of prototypes causing type conversions different from what would happen in the absence of prototype"
+-msgstr "Bei Prototypen, die zu Typumwandlungen führen, warnen, wenn sich diese vom Fall ohne Prototypen unterscheiden"
+-
+-#: c.opt:442
+-msgid "Warn if trigraphs are encountered that might affect the meaning of the program"
+-msgstr "Warnen, wenn Trigraphs auftreten, die die Bedeutung des Programmes beeinflussen könnten"
+-
+-#: c.opt:446
+-msgid "Warn about @selector()s without previously declared methods"
+-msgstr "Bei @selector() ohne vorher deklarierte Methoden warnen"
+-
+-#: c.opt:450
+-msgid "Warn if an undefined macro is used in an #if directive"
+-msgstr "Warnen, wenn ein undefiniertes Makro in einer #if-Anweisung verwendet wird"
+-
+-#: c.opt:454
+-msgid "Warn about unrecognized pragmas"
+-msgstr "Bei nicht erkannten Pragmas warnen"
+-
+-#: c.opt:458
+-msgid "Warn about macros defined in the main file that are not used"
+-msgstr "Bei in der Hauptdatei definierten, ungenutzten Makros warnen"
+-
+-#: c.opt:462
+-msgid "Do not warn about using variadic macros when -pedantic"
+-msgstr "Nicht bei Verwendung variadischer Makros bei -pedantic warnen"
+-
+-#: c.opt:466
+-msgid "Warn if a variable length array is used"
+-msgstr "Warnen, wenn ein Feld veränderbarer Länge verwendet wird"
+-
+-#: c.opt:470
+-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 "In C++ bedeutet ungleich Null die Warnung vor veralteter Umwandlung von Zeichenkettenliteralen in »char *«. In C erfolgt ähnliche Warnung, nur ist die Umwandlung nat. laut ISO-C-Standard nicht veraltet."
+-
+-#: c.opt:474
+-msgid "Warn when a pointer differs in signedness in an assignment"
+-msgstr "Warnen, wenn sich ein Zeiger im Vorzeichenbesitz in einer Zuweisung unterscheidet"
+-
+-#: c.opt:478
+-msgid "A synonym for -std=c89 (for C) or -std=c++98 (for C++)"
+-msgstr "Ein Synonym für -std=c89 (für C) oder -std=c++98 (für C++)"
+-
+-#: c.opt:486
+-msgid "Enforce class member access control semantics"
+-msgstr "Semantik der Zugriffskontrolle für Klassenelemente erzwingen"
+-
+-#: c.opt:493
+-msgid "Change when template instances are emitted"
+-msgstr "Ändern, wenn Templateinstanzen ausgegeben werden"
+-
+-#: c.opt:497
+-msgid "Recognize the \"asm\" keyword"
+-msgstr "Das »asm«-Schlüsselwort erkennen"
+-
+-#: c.opt:501
+-msgid "Recognize built-in functions"
+-msgstr "Eingebaute Funktionen erkennen"
+-
+-#: c.opt:508
+-msgid "Check the return value of new"
+-msgstr "Rückgabewert von new prüfen"
+-
+-#: c.opt:512
+-msgid "Allow the arguments of the '?' operator to have different types"
+-msgstr "Verschiedene Typen für die Argumente des »?«-Operators erlauben"
+-
+-#: c.opt:516
+-msgid "Reduce the size of object files"
+-msgstr "Größe von Objektdateien reduzieren"
+-
+-#: c.opt:520
+-msgid "Use class <name> for constant strings"
+-msgstr "Klasse <Name> für konstante Zeichenketten verwenden"
+-
+-#: c.opt:524
+-msgid "Inline member functions by default"
+-msgstr "Standardmäßig »inline«-Elementfunktionen"
+-
+-#: c.opt:528
+-msgid "Preprocess directives only."
+-msgstr "Nur Direktiven vorverarbeiten."
+-
+-#: c.opt:532
+-msgid "Permit '$' as an identifier character"
+-msgstr "»$« als Bezeichnerzeichen zulassen"
+-
+-#: c.opt:539
+-msgid "Generate code to check exception specifications"
+-msgstr "Code zur Überprüfung von Exception-Spezifikationen erzeugen"
+-
+-#: c.opt:546
+-msgid "Convert all strings and character constants to character set <cset>"
+-msgstr "Alle Zeichenketten und Zeichenkonstanten in <Zeichensatz> umwandeln"
+-
+-#: c.opt:550
+-msgid "Permit universal character names (\\u and \\U) in identifiers"
+-msgstr "Universelle Zeichennamen (\\u und \\U) in Bezeichnern zulassen"
+-
+-#: c.opt:554
+-msgid "Specify the default character set for source files"
+-msgstr "Standard-Zeichensatz für Quelldateien angeben"
+-
+-#: c.opt:562
+-msgid "Scope of for-init-statement variables is local to the loop"
+-msgstr "Sichtbarkeitsbereich der Variablen aus einer for-Initialisierungs-Anweisung ist für die Schleife lokal"
+-
+-#: c.opt:566
+-msgid "Do not assume that standard C libraries and \"main\" exist"
+-msgstr "Nicht annehmen, dass Standard-C-Bibliotheken und »main« vorhanden sind"
+-
+-#: c.opt:570
+-msgid "Recognize GNU-defined keywords"
+-msgstr "GNU-definierte Schlüsselworte erkennen"
+-
+-#: c.opt:574
+-msgid "Generate code for GNU runtime environment"
+-msgstr "Code für die GNU-Laufzeitumgebung erzeugen"
+-
+-#: c.opt:578
+-msgid "Use traditional GNU semantics for inline functions"
+-msgstr "Traditionelle GNU-Semantik für Inline-Funktionen verwenden"
+-
+-#: c.opt:591
+-msgid "Assume normal C execution environment"
+-msgstr "Normale C-Ausführungsumgebung vermuten"
+-
+-#: c.opt:595
+-msgid "Enable support for huge objects"
+-msgstr "Unterstützung für große Objekte einschalten"
+-
+-#: c.opt:599
+-msgid "Export functions even if they can be inlined"
+-msgstr "Funktionen exportieren, auch wenn sie »inline« sein können"
+-
+-#: c.opt:603
+-msgid "Emit implicit instantiations of inline templates"
+-msgstr "Implizite Instantiierungen von »inline«-Templates ausgeben"
+-
+-#: c.opt:607
+-msgid "Emit implicit instantiations of templates"
+-msgstr "Implizite Instantiierungen von Templates ausgeben"
+-
+-#: c.opt:611
+-msgid "Inject friend functions into enclosing namespace"
+-msgstr "Friend-Funktionen in umgebenden Namensraum einfügen"
+-
+-#: c.opt:618
+-msgid "Allow implicit conversions between vectors with differing numbers of subparts and/or differing element types."
+-msgstr "Implizite Umwandlungen zwischen Vektoren mit unterschiedlicher Anzahl der Teile und/oder abweichenden Elementtypen erlauben."
+-
+-#: c.opt:622
+-msgid "Don't warn about uses of Microsoft extensions"
+-msgstr "Nicht bei Verwendung von Microsoft-Erweiterungen warnen"
+-
+-#: c.opt:632
+-msgid "Generate code for NeXT (Apple Mac OS X) runtime environment"
+-msgstr "Code für die NeXT (Apple Mac OS X) Laufzeitumgebung erzeugen"
+-
+-#: c.opt:636
+-msgid "Assume that receivers of Objective-C messages may be nil"
+-msgstr "Annehmen, dass Empfänger von Objective-C-Nachrichten Null sein können"
+-
+-#: c.opt:648
+-msgid "Generate special Objective-C methods to initialize/destroy non-POD C++ ivars, if needed"
+-msgstr "Wenn nötig, spezielle Objective-C-Methoden zur Initialisierung/Zerstörung von nicht-POD C++ ivars, erzeugen"
+-
+-#: c.opt:652
+-msgid "Allow fast jumps to the message dispatcher"
+-msgstr "Schnelle Sprünge zum Nachrichten-Dispatcher erlauben"
+-
+-#: c.opt:658
+-msgid "Enable Objective-C exception and synchronization syntax"
+-msgstr "Objective-C-Ausnahme- und -Synchronisations-Syntax einschalten"
+-
+-#: c.opt:662
+-msgid "Enable garbage collection (GC) in Objective-C/Objective-C++ programs"
+-msgstr "Garbage Collection (GC) in Objective-C/Objective-C++-Programmen einschalten"
+-
+-#: c.opt:667
+-msgid "Enable Objective-C setjmp exception handling runtime"
+-msgstr "Laufzeitbibliothek zur Objective-C setjmp-Ausnahmebehandlung einschalten"
+-
+-#: c.opt:671
+-msgid "Enable OpenMP"
+-msgstr "OpenMP einschalten"
+-
+-#: c.opt:675
+-msgid "Recognize C++ kewords like \"compl\" and \"xor\""
+-msgstr "C++-Schlüsselworte wie »compl« und »xor« erkennen"
+-
+-#: c.opt:679
+-msgid "Enable optional diagnostics"
+-msgstr "Optionale Diagnosemeldungen einschalten"
+-
+-#: c.opt:686
+-msgid "Look for and use PCH files even when preprocessing"
+-msgstr "PCH-Dateien suchen und verwenden, sogar bei Vorverarbeitung"
+-
+-#: c.opt:690
+-msgid "Downgrade conformance errors to warnings"
+-msgstr "Ãœbereinstimmungsfehler zu Warnungen degradieren"
+-
+-#: c.opt:694
+-msgid "Treat the input file as already preprocessed"
+-msgstr "Die Eingabedatei als bereits vorverarbeitet behandeln"
+-
+-#: c.opt:698
+-msgid "Used in Fix-and-Continue mode to indicate that object files may be swapped in at runtime"
+-msgstr "Im Fix-and-Continue-Modus verwendet, um anzuzeigen, dass Objektdateien zur Laufzeit eingetauscht werden können (»swap«)"
+-
+-#: c.opt:702
+-msgid "Enable automatic template instantiation"
+-msgstr "Automatische Template-Instantiierung einschalten"
+-
+-#: c.opt:706
+-msgid "Generate run time type descriptor information"
+-msgstr "Informationen zur Typbeschreibung zur Laufzeit erzeugen"
+-
+-#: c.opt:710
+-msgid "Use the same size for double as for float"
+-msgstr "Für double die gleiche Breite wie für float verwenden"
+-
+-#: c.opt:718
+-msgid "Force the underlying type for \"wchar_t\" to be \"unsigned short\""
+-msgstr "Den für »wchar_t« zugrundeliegenden Typen auf »unsigned short« zwingen"
+-
+-#: c.opt:722
+-msgid "When \"signed\" or \"unsigned\" is not given make the bitfield signed"
+-msgstr "Wenn »signed« und »unsigned« nicht angegeben wurden, das Bitfeld vorzeichenbehaftet machen"
+-
+-#: c.opt:726
+-msgid "Make \"char\" signed by default"
+-msgstr "»char« standardmäßig vorzeichenbehaftet machen"
+-
+-#: c.opt:733
+-msgid "Display statistics accumulated during compilation"
+-msgstr "Während der Übersetzung angesammelte Statistik anzeigen"
+-
+-#: c.opt:740
+-msgid "Distance between tab stops for column reporting"
+-msgstr "Tabulatorentfernungen für Spaltenmeldungen"
+-
+-#: c.opt:744
+-msgid "Specify maximum template instantiation depth"
+-msgstr "Größte Template-Instantiierungstiefe angeben"
+-
+-#: c.opt:751
+-msgid "Do not generate thread-safe code for initializing local statics"
+-msgstr "Keinen threadsicheren Code für Initialisierung lokaler statischer Objekte erzeugen"
+-
+-#: c.opt:755
+-msgid "When \"signed\" or \"unsigned\" is not given make the bitfield unsigned"
+-msgstr "Wenn »signed« und »unsigned« nicht gegeben sind, das Bitfeld vorzeichenunbehaftet machen"
+-
+-#: c.opt:759
+-msgid "Make \"char\" unsigned by default"
+-msgstr "»char« standardmäßig vorzeichenunbehaftet machen"
+-
+-#: c.opt:763
+-msgid "Use __cxa_atexit to register destructors"
+-msgstr "__cxa_atexit verwenden, um Destruktoren zu registrieren"
+-
+-#: c.opt:767
+-msgid "Use __cxa_get_exception_ptr in exception handling"
+-msgstr "__cxa_get_exception_ptr in Ausnahmebehandlung verwenden"
+-
+-#: c.opt:771
+-msgid "Marks all inlined methods as having hidden visibility"
+-msgstr "Alle inline-Methoden mit versteckter Sichtbarkeit markieren"
+-
+-#: c.opt:775
+-msgid "Changes visibility to match Microsoft Visual Studio by default"
+-msgstr "Sichtbarkeit wird geändert, um standardmäßig zu Microsoft Visual Studio zu passen"
+-
+-#: c.opt:779
+-msgid "Discard unused virtual functions"
+-msgstr "Unbenutzte virtuelle Funktionen verwerfen"
+-
+-#: c.opt:783
+-msgid "Implement vtables using thunks"
+-msgstr "Vtables mit Thunks implementieren"
+-
+-#: c.opt:787
+-msgid "Emit common-like symbols as weak symbols"
+-msgstr "Common-ähnliche Symbole als schwache Symbole ausgeben"
+-
+-#: c.opt:791
+-msgid "Convert all wide strings and character constants to character set <cset>"
+-msgstr "Alle Wide-Zeichenketten und -konstanten in Zeichenmenge <Zeichensatz> umwandeln"
+-
+-#: c.opt:795
+-msgid "Generate a #line directive pointing at the current working directory"
+-msgstr "Eine auf das aktuelle Verzeichnis verweisende #line-Anweisung erzeugen"
+-
+-#: c.opt:799
+-msgid "Emit cross referencing information"
+-msgstr "Informationen zur Kreuzreferenz ausgeben"
+-
+-#: c.opt:803
+-msgid "Generate lazy class lookup (via objc_getClass()) for use in Zero-Link mode"
+-msgstr "Lockeres Nachschlagen von Klassen (mit objc_getClass()) für Verwendung im Null-Verknüpfungs-Modus erzeugen"
+-
+-#: c.opt:807
+-msgid "Dump declarations to a .decl file"
+-msgstr "Deklaration in .decl-Datei ausgeben"
+-
+-#: c.opt:811
+-msgid "Aggressive reduced debug info for structs"
+-msgstr "Aggressiv reduzierte Debuginfo für Structs"
+-
+-#: c.opt:815
+-msgid "Conservative reduced debug info for structs"
+-msgstr "Konservativ reduzierte Debuginfo für Structs"
+-
+-#: c.opt:819
+-msgid "Detailed reduced debug info for structs"
+-msgstr "Ausführlich reduzierte Debuginfo für Structs"
+-
+-#: c.opt:823 c.opt:855
+-msgid "Add <dir> to the end of the system include path"
+-msgstr "<Verz> an das Ende des System-Einfügepfades anfügen"
+-
+-#: c.opt:827
+-msgid "Accept definition of macros in <file>"
+-msgstr "Definitionen von Makros in <Datei> akzeptieren"
+-
+-#: c.opt:831
+-msgid "-imultilib <dir> Set <dir> to be the multilib include subdirectory"
+-msgstr "-imultilib <dir> <dir> als Multilib-include-Verzeichnis setzen"
+-
+-#: c.opt:835
+-msgid "Include the contents of <file> before other files"
+-msgstr "Inhalt der <Datei> vor anderen Dateien einfügen"
+-
+-#: c.opt:839
+-msgid "Specify <path> as a prefix for next two options"
+-msgstr "<Pfad> als ein Prefix für die nächsten zwei Optionen angeben"
+-
+-#: c.opt:843
+-msgid "Set <dir> to be the system root directory"
+-msgstr "<Verz> als System-Wurzelverzeichnis setzen"
+-
+-#: c.opt:847
+-msgid "Add <dir> to the start of the system include path"
+-msgstr "<Verz> an den Anfang des System-Einfügepfades anfügen"
+-
+-#: c.opt:851
+-msgid "Add <dir> to the end of the quote include path"
+-msgstr "<Verz> an das Ende des Zitat-Einfügepfades anfügen"
+-
+-#: c.opt:872
+-msgid "Do not search standard system include directories (those specified with -isystem will still be used)"
+-msgstr "Standard-System-Einfügepfade nicht durchsuchen (die mit -isystem angegebenen werden trotzdem noch verwendet)"
+-
+-#: c.opt:876
+-msgid "Do not search standard system include directories for C++"
+-msgstr "Standard-System-Einfügeverzeichnisse nicht für C++ durchsuchen"
+-
+-#: c.opt:892
+-msgid "Generate C header of platform-specific features"
+-msgstr "C-Header mit Plattform-spezifischen Merkmalen erzeugen"
+-
+-#: c.opt:896
+-msgid "Print a checksum of the executable for PCH validity checking, and stop"
+-msgstr "Eine Prüfsumme der ausführbaren Datei für PCH-Gültigkeitsüberprüfung ausgeben, und anhalten"
+-
+-#: c.opt:900
+-msgid "Remap file names when including files"
+-msgstr "Dateinamen beim Einfügen von Dateien neu abbilden"
+-
+-#: c.opt:904
+-msgid "Conform to the ISO 1998 C++ standard"
+-msgstr "Mit dem Standard ISO 1998 C++ übereinstimmen"
+-
+-#: c.opt:908
+-msgid "Conform to the ISO 1998 C++ standard, with extensions that are likely to"
+-msgstr "Mit dem Standard ISO 1998 C++ mit geeigneten Erweiterungen übereinstimmen"
+-
+-#: c.opt:915 c.opt:950
+-msgid "Conform to the ISO 1990 C standard"
+-msgstr "Mit dem Standard ISO 1990 C übereinstimmen"
+-
+-#: c.opt:919 c.opt:958
+-msgid "Conform to the ISO 1999 C standard"
+-msgstr "Mit dem Standard ISO 1999 C übereinstimmen"
+-
+-#: c.opt:923
+-msgid "Deprecated in favor of -std=c99"
+-msgstr "Veraltet zugunsten von -std=c99"
+-
+-#: c.opt:927
+-msgid "Conform to the ISO 1998 C++ standard with GNU extensions"
+-msgstr "Mit dem Standard ISO 1998 C++ mit GNU-Erweiterungen übereinstimmen"
+-
+-#: c.opt:931
+-msgid "Conform to the ISO 1998 C++ standard, with GNU extensions and"
+-msgstr "Mit dem Standard ISO 1998 C++ mit GNU-Erweiterungen übereinstimmen und"
+-
+-#: c.opt:938
+-msgid "Conform to the ISO 1990 C standard with GNU extensions"
+-msgstr "Mit dem Standard ISO 1990 C mit GNU-Erweiterungen übereinstimmen"
+-
+-#: c.opt:942
+-msgid "Conform to the ISO 1999 C standard with GNU extensions"
+-msgstr "Mit dem Standard ISO 1999 C mit GNU-Erweiterungen übereinstimmen"
+-
+-#: c.opt:946
+-msgid "Deprecated in favor of -std=gnu99"
+-msgstr "Veraltet zugunsten von -std=gnu99"
+-
+-#: c.opt:954
+-msgid "Conform to the ISO 1990 C standard as amended in 1994"
+-msgstr "Mit dem Standard ISO 1990 C, wie 1994 erweitert, übereinstimmen"
+-
+-#: c.opt:962
+-msgid "Deprecated in favor of -std=iso9899:1999"
+-msgstr "Veraltet zugunsten von -std=iso9899:1999"
+-
+-#: c.opt:966
+-msgid "Enable traditional preprocessing"
+-msgstr "Traditionelle Vorverarbeitung einschalten"
+-
+-#: c.opt:970
+-msgid "Support ISO C trigraphs"
+-msgstr "Trigraphs nach ISO C unterstützen"
+-
+-#: c.opt:974
+-msgid "Do not predefine system-specific and GCC-specific macros"
+-msgstr "Keine system- oder GCC-spezifischen Makros vordefinieren"
+-
+-#: c.opt:978
+-msgid "Enable verbose output"
+-msgstr "Wortreiche Ausgabe einschalten"
+-
+-#: common.opt:27
++#: common.opt:28
+ msgid "Display this information"
+ msgstr "Diese Informationen anzeigen"
+
+-#: common.opt:31
++#: common.opt:32
+ msgid "Display descriptions of a specific class of options. <class> is one or more of optimizers, target, warnings, undocumented, params"
+ msgstr "Beschreibungen für eine bestimmte Klasse von Optionen anzeigen. <class> ist ein oder mehrere Optimierer, Ziel, Warnungen, undokumentierte Option, Parameter"
+
+-#: common.opt:35
++#: common.opt:36
+ msgid "Alias for --help=target"
+ msgstr "Alias für --help=target"
+
+-#: common.opt:51
++#: common.opt:52
+ msgid "Set parameter <param> to value. See below for a complete list of parameters"
+ msgstr "Parameter <Param> auf Wert setzen. Siehe unten für komplette Parameterliste"
+
+-#: common.opt:58
++#: common.opt:59
+ msgid "Put global and static data smaller than <number> bytes into a special section (on some targets)"
+ msgstr "Globale und statische Daten kleiner als <Anzahl> Bytes in einen gesonderten Abschnitt legen (bei manchen Zielen)"
+
+-#: common.opt:62
++#: common.opt:63
+ msgid "Set optimization level to <number>"
+ msgstr "Optimierungsstufe auf <Zahl> setzen"
+
+-#: common.opt:66
++#: common.opt:67
+ msgid "Optimize for space rather than speed"
+ msgstr "Auf Größe statt Geschwindigkeit optimieren"
+
+-#: common.opt:70
++#: common.opt:71
+ msgid "This switch is deprecated; use -Wextra instead"
+ msgstr "Dieser Schalter ist veraltet; stattdessen -Wextra verwenden"
+
+-#: common.opt:74
++#: common.opt:75
+ msgid "Warn about returning structures, unions or arrays"
+ msgstr "Bei zurückgegebenen Strukturen, Unions oder Feldern warnen"
+
+-#: common.opt:78
++#: common.opt:79
+ msgid "Warn if an array is accessed out of bounds"
+ msgstr "Warnen, wenn auf ein Feld außerhalb der Grenzen zugegriffen wird"
+
+-#: common.opt:82
++#: common.opt:83
+ msgid "Warn about inappropriate attribute usage"
+ msgstr "Bei unpassender Attributverwendung warnen"
+
+-#: common.opt:86
++#: common.opt:87
+ msgid "Warn about pointer casts which increase alignment"
+ msgstr "Warnen, wenn Zeigerumwandlungen die Ausrichtung vergrößern"
+
+-#: common.opt:90
++#: common.opt:91
+ msgid "Warn about uses of __attribute__((deprecated)) declarations"
+ msgstr "Bei Verwendungen von Deklarationen mit __attribute__((deprecated)) warnen"
+
+-#: common.opt:94
++#: common.opt:95
+ msgid "Warn when an optimization pass is disabled"
+ msgstr "Warnen, wenn ein Optimierungsdurchgang ausgeschaltet ist"
+
+-#: common.opt:98
++#: common.opt:99
+ msgid "Treat all warnings as errors"
+ msgstr "Alle Warnungen als Fehler behandeln"
+
+-#: common.opt:102
++#: common.opt:103
+ msgid "Treat specified warning as error"
+ msgstr "Angegebene Warnung als Fehler behandeln"
+
+-#: common.opt:106
++#: common.opt:107
+ msgid "Print extra (possibly unwanted) warnings"
+ msgstr "Zusätzliche (möglicherweise ungewollte) Warnungen ausgeben"
+
+-#: common.opt:110
++#: common.opt:111
+ msgid "Exit on the first error occurred"
+ msgstr "Beim ersten auftretenden Fehler beenden"
+
+-#: common.opt:114
++#: common.opt:115
+ msgid "Warn when an inlined function cannot be inlined"
+ msgstr "Warnen, wenn eine inline-Funktion nicht als solche erzeugt werden kann"
+
+-#: common.opt:118
++#: common.opt:119
+ msgid "Warn if an object is larger than <number> bytes"
+ msgstr "Warnen, wenn ein Objekt größer als <Anzahl> Bytes ist"
+
+-#: common.opt:122
++#: common.opt:123
+ msgid "Warn when a logical operator is suspicously always evaluating to true or false"
+ msgstr "Warnen, wenn ein logischer Operator verdächtigerweise immer zu »wahr« oder »falsch« auswertet"
+
+-#: common.opt:126
++#: common.opt:127
+ msgid "Warn if the loop cannot be optimized due to nontrivial assumptions."
+ msgstr "Warnen, wenn Schleife wegen nichttrivialer Annahmen nicht optimiert werden kann."
+
+-#: common.opt:130
++#: common.opt:131
+ msgid "Warn about functions which might be candidates for __attribute__((noreturn))"
+ msgstr "Bei Funktionen, die Kandidaten für __attribute__((noreturn)) sind, warnen"
+
+-#: common.opt:134
++#: common.opt:135
+ msgid "Warn about overflow in arithmetic expressions"
+ msgstr "Bei Überlauf in arithmetischen Ausdrücken warnen"
+
+-#: common.opt:138
++#: common.opt:139
+ msgid "Warn when the packed attribute has no effect on struct layout"
+ msgstr "Warnen, wenn das »packed«-Attribut keine Auswirkung auf Strukturanordnung hat"
+
+-#: common.opt:142
++#: common.opt:143
+ msgid "Warn when padding is required to align structure members"
+ msgstr "Warnen, wenn Auffüllen benötigt wird, um Strukturelemente auszurichten"
+
+-#: common.opt:146
++#: common.opt:147
+ msgid "Warn when one local variable shadows another"
+ msgstr "Warnen, wenn eine lokale Variable eine andere überdeckt"
+
+-#: common.opt:150
++#: common.opt:151
+ msgid "Warn when not issuing stack smashing protection for some reason"
+ msgstr "Warnen, wenn Stackzerstörungsschutz nicht ausgegeben wird"
+
+-#: common.opt:154 common.opt:158
++#: common.opt:155 common.opt:159
+ msgid "Warn about code which might break strict aliasing rules"
+ msgstr "Bei Code warnen, der strict-aliasing-Regeln verletzen könnte"
+
+-#: common.opt:162 common.opt:166
++#: common.opt:163 common.opt:167
+ msgid "Warn about optimizations that assume that signed overflow is undefined"
+ msgstr "Bei Optimierungen, die annehmen, dass vorzeichenbehafteter Ãœberlauf undefiniert ist, warnen"
+
+-#: common.opt:170
++#: common.opt:171
+ msgid "Warn about enumerated switches, with no default, missing a case"
+ msgstr "Bei aufgezählten »switch«-Anweisungen ohne »default«, denen ein Fall fehlt, warnen"
+
+-#: common.opt:174
++#: common.opt:175
+ msgid "Warn about enumerated switches missing a \"default:\" statement"
+ msgstr "Bei aufgezählten »switch«-Anweisungen ohne »default«-Anweisung warnen"
+
+-#: common.opt:178
++#: common.opt:179
+ msgid "Warn about all enumerated switches missing a specific case"
+ msgstr "Bei aufgezählten »switch«-Anweisungen, denen ein bestimmter Fall fehlt, warnen"
+
+-#: common.opt:186
++#: common.opt:183 c.opt:434
++msgid "Do not suppress warnings from system headers"
++msgstr "Nicht Warnungen von System-Headern unterdrücken"
++
++#: common.opt:187
+ msgid "Warn about uninitialized automatic variables"
+ msgstr "Bei nicht initialisierten automatischen Variablen warnen"
+
+-#: common.opt:190
++#: common.opt:191
+ msgid "Warn about code that will never be executed"
+ msgstr "Bei Code, der nie ausgeführt wird, warnen"
+
+-#: common.opt:194
++#: common.opt:195
+ msgid "Enable all -Wunused- warnings"
+ msgstr "Alle -Wunused- Warnungen einschalten"
+
+-#: common.opt:198
++#: common.opt:199
+ msgid "Warn when a function is unused"
+ msgstr "Warnen, wenn eine Funktion ungenutzt bleibt"
+
+-#: common.opt:202
++#: common.opt:203
+ msgid "Warn when a label is unused"
+ msgstr "Warnen, wenn eine Marke ungenutzt bleibt"
+
+-#: common.opt:206
++#: common.opt:207
+ msgid "Warn when a function parameter is unused"
+ msgstr "Warnen, wenn ein Funktionsparameter nicht verwendet wird"
+
+-#: common.opt:210
++#: common.opt:211
+ msgid "Warn when an expression value is unused"
+ msgstr "Warnen, wenn ein Ausdruckswert nicht verwendet wird"
+
+-#: common.opt:214
++#: common.opt:215
+ msgid "Warn when a variable is unused"
+ msgstr "Warnen, wenn eine Variable nicht verwendet wird"
+
+-#: common.opt:218
++#: common.opt:219
+ msgid "Warn when a register variable is declared volatile"
+ msgstr "Warnen, wenn Registervariable als »volatile« deklariert ist"
+
+-#: common.opt:222
++#: common.opt:223
+ msgid "Warn instead of error in case profiles in -fprofile-use do not match"
+ msgstr "Wenn Profile in -fprofile-use nicht passen, warnen statt Fehler melden"
+
+-#: common.opt:226
++#: common.opt:227
+ msgid "Emit declaration information into <file>"
+ msgstr "Deklarationsinformationen in <Datei> ausgeben"
+
+-#: common.opt:239
++#: common.opt:240
+ msgid "Enable dumps from specific passes of the compiler"
+ msgstr "Abzüge von bestimmten Durchläufen des Compilers einschalten"
+
+-#: common.opt:243
++#: common.opt:244
+ msgid "Set the file basename to be used for dumps"
+ msgstr "Den Basis-Dateinamen für Abzüge setzen"
+
+-#: common.opt:263
++#: common.opt:264
+ msgid "Align the start of functions"
+ msgstr "Funktionsanfänge ausrichten"
+
+-#: common.opt:270
++#: common.opt:271
+ msgid "Align labels which are only reached by jumping"
+ msgstr "Marken ausrichten, die nur mit Sprüngen erreicht werden können"
+
+-#: common.opt:277
++#: common.opt:278
+ msgid "Align all labels"
+ msgstr "Alle Marken ausrichten"
+
+-#: common.opt:284
++#: common.opt:285
+ msgid "Align the start of loops"
+ msgstr "Schleifenanfänge ausrichten"
+
+-#: common.opt:299
++#: common.opt:300
+ msgid "Specify that arguments may alias each other and globals"
+ msgstr "Angeben, dass Argumente gegenseitig und für globale Symbole Aliase sein können"
+
+-#: common.opt:303
++#: common.opt:304
+ msgid "Assume arguments may alias globals but not each other"
+ msgstr "Annehmen, dass Argumente Aliase für globale Symbole, jedoch nicht für sich gegenseitig sein können"
+
+-#: common.opt:307
++#: common.opt:308
+ msgid "Assume arguments alias neither each other nor globals"
+ msgstr "Annehmen, dass Argumente weder für sich gegenseitig noch für globale Symbole Aliase sein können"
+
+-#: common.opt:311
++#: common.opt:312
+ msgid "Assume arguments alias no other storage"
+ msgstr "Annehmen, dass Argumente keine Aliase für anderen Speicher sind"
+
+-#: common.opt:315
++#: common.opt:316
+ msgid "Generate unwind tables that are exact at each instruction boundary"
+ msgstr "Abwicklungstabellen erzeugen, die genau an jeder Befehlsgrenze liegen"
+
+-#: common.opt:319
++#: common.opt:320
+ msgid "Generate auto-inc/dec instructions"
+ msgstr "auto-inc/dec-Befehle erzeugen"
+
+-#: common.opt:327
++#: common.opt:328
+ msgid "Generate code to check bounds before indexing arrays"
+ msgstr "Code zur Überprüfung der Grenzen vor Feldindizierung erzeugen"
+
+-#: common.opt:331
++#: common.opt:332
+ msgid "Replace add, compare, branch with branch on count register"
+ msgstr "Addieren, Vergleichen, Verzweigen mit Verzweigung anhand des Zählregisters ersetzen"
+
+-#: common.opt:335
++#: common.opt:336
+ msgid "Use profiling information for branch probabilities"
+ msgstr "Profilierungsinformationen für Verzweigungswahrscheinlichkeiten verwenden"
+
+-#: common.opt:339
++#: common.opt:340
+ msgid "Perform branch target load optimization before prologue / epilogue threading"
+ msgstr "Ladeoptimierungen für Sprungziele vor Prolog/Epilog-Behandlung ausführen"
+
+-#: common.opt:343
++#: common.opt:344
+ msgid "Perform branch target load optimization after prologue / epilogue threading"
+ msgstr "Ladeoptimierung für Sprungziele nach Prolog/Epilog-Behandlung ausführen"
+
+-#: common.opt:347
++#: common.opt:348
+ msgid "Restrict target load migration not to re-use registers in any basic block"
+ msgstr "In Basis-Blöcken keine Register bei der Ziel-Lade-Bewegung wiederverwenden"
+
+-#: common.opt:351
++#: common.opt:352
+ msgid "Mark <register> as being preserved across functions"
+ msgstr "<Register> als über Funktionsgrenzen hinweg reserviert markieren"
+
+-#: common.opt:355
++#: common.opt:356
+ msgid "Mark <register> as being corrupted by function calls"
+ msgstr "<Register> als durch Funktionsaufrufe beschädigt markieren"
+
+-#: common.opt:362
++#: common.opt:363
+ msgid "Save registers around function calls"
+ msgstr "Register bei Funktionsaufrufen sichern"
+
+-#: common.opt:366
++#: common.opt:367
+ msgid "Compare the results of several data dependence analyzers."
+ msgstr "Die Ergebnisse mehrerer Datenabhängigkeitsanalysen vergleichen."
+
+-#: common.opt:370
++#: common.opt:371
+ msgid "Do not put uninitialized globals in the common section"
+ msgstr "Keine uninitialisierten globalen Symbole in gemeinsamen Abschnitt legen"
+
+-#: common.opt:374
++#: common.opt:375
+ msgid "Perform a register copy-propagation optimization pass"
+ msgstr "Optimierungsdurchlauf zur Kopierübertragung von Registern durchführen"
+
+-#: common.opt:378
++#: common.opt:379
+ msgid "Perform cross-jumping optimization"
+ msgstr "Optimierung zum Kreuzsprung durchführen"
+
+-#: common.opt:382
++#: common.opt:383
+ msgid "When running CSE, follow jumps to their targets"
+ msgstr "Beim Durchlaufen von CSE: Sprüngen zu ihren Zielen folgen"
+
+-#: common.opt:386
++#: common.opt:387
+ msgid "When running CSE, follow conditional jumps"
+ msgstr "Beim Durchlaufen von CSE: bedingten Sprüngen folgen"
+
+-#: common.opt:390
++#: common.opt:391
+ msgid "Omit range reduction step when performing complex division"
+ msgstr "Schritt zur Bereichsverkleinerung auslassen, wenn komplexe Division durchgeführt wird"
+
+-#: common.opt:394
++#: common.opt:395
+ msgid "Place data items into their own section"
+ msgstr "Datenstücke in ihren eigenen Abschnitt legen"
+
+-#: common.opt:398
++#: common.opt:399
+ msgid "List all available debugging counters with their limits and counts."
+ msgstr "Alle verfügbaren Fehleranalysezähler mit ihren Grenzen und Werten auflisten."
+
+-#: common.opt:402
++#: common.opt:403
+ msgid "-fdbg-cnt=<counter>:<limit>[,<counter>:<limit>,...] Set the debug counter limit. "
+ msgstr "-fdbg-cnt=<Zähler>:<Grenze>[,<Zähler>:<Grenze>,...] Grenze des Fehlersuchzählers setzen."
+
+-#: common.opt:406
++#: common.opt:407
+ msgid "Map one directory name to another in debug information"
+ msgstr "In Fehlersuchinfo einen Verzeichnisnamen auf einen anderen abbilden"
+
+-#: common.opt:412
++#: common.opt:413
+ msgid "Defer popping functions args from stack until later"
+ msgstr "Zurückholen der Funktionsargumente vom Stapel bis auf weiteres hinauszögern"
+
+-#: common.opt:416
++#: common.opt:417
+ msgid "Attempt to fill delay slots of branch instructions"
+ msgstr "Versuch, die Verzögerungsschlitze der Sprungbefehle auszufüllen"
+
+-#: common.opt:420
++#: common.opt:421
+ msgid "Delete useless null pointer checks"
+ msgstr "Unnötige Nullzeigerprügungen löschen"
+
+-#: common.opt:424
++#: common.opt:425
+ msgid "How often to emit source location at the beginning of line-wrapped diagnostics"
+ msgstr "Wie oft soll Stelle im Quelltext beim Anfang von zeilenumgebrochener Diagnose ausgegeben werden"
+
+-#: common.opt:428
++#: common.opt:429
+ msgid "Amend appropriate diagnostic messages with the command line option that controls them"
+ msgstr "Die geeignete Diagnosemeldung mit der Kommandozeilenoption erweitern, die sie steuert"
+
+-#: common.opt:432
++#: common.opt:433
+ msgid "Dump various compiler internals to a file"
+ msgstr "Verschiedene compilerinterne Informationen in eine Datei abziehen"
+
+-#: common.opt:436
++#: common.opt:437
+ msgid "Suppress output of addresses in debugging dumps"
+ msgstr "Ausgabe von Adressen in Fehlersuch-Auszügen unterdrücken"
+
+-#: common.opt:440
++#: common.opt:441
+ msgid "Suppress output of instruction numbers, line number notes and addresses in debugging dumps"
+ msgstr "Ausgabe von Befehlszahlen, Zeilennummernangaben und Adressen in Fehlersuch-Auszügen unterdrücken"
+
+-#: common.opt:444
++#: common.opt:445
+ msgid "Perform early inlining"
+ msgstr "Frühes Inlining durchführen"
+
+-#: common.opt:448
++#: common.opt:449
+ msgid "Perform DWARF2 duplicate elimination"
+ msgstr "DWARF2-Wiederholungsbeseitigung durchführen"
+
+-#: common.opt:452 common.opt:456
++#: common.opt:453 common.opt:457
+ msgid "Perform unused type elimination in debug info"
+ msgstr "Beseitigung ungenutzter Typen in Info zur Fehlersuche durchführen"
+
+-#: common.opt:460
++#: common.opt:461
+ msgid "Do not suppress C++ class debug information."
+ msgstr "Keine Fehlersuchinformationen für C++-Klassen unterdrücken"
+
+-#: common.opt:464
++#: common.opt:465
+ msgid "Enable exception handling"
+ msgstr "Ausnahmebehandlung einschalten"
+
+-#: common.opt:468
++#: common.opt:469
+ msgid "Perform a number of minor, expensive optimizations"
+ msgstr "Eine Reihe kleiner, aber teurer, Optimierungen durchführen"
+
+-#: common.opt:475
++#: common.opt:476
+ msgid "Assume no NaNs or infinities are generated"
+ msgstr "Annahme, dass keine NaNs oder Unendlichkeiten erzeugt werden"
+
+-#: common.opt:479
++#: common.opt:480
+ msgid "Mark <register> as being unavailable to the compiler"
+ msgstr "<Register> als für den Compiler nicht verfügbar markieren"
+
+-#: common.opt:483
++#: common.opt:484
+ msgid "Don't allocate floats and doubles in extended-precision registers"
+ msgstr "Keine floats und doubles in Registern erweiterter Genauigkeit reservieren"
+
+-#: common.opt:489
+-msgid "Copy memory address constants into registers before use"
+-msgstr "Speicheradressen-Konstanten müssen vor der Benutzung in Register kopiert werden"
++#: common.opt:488 common.opt:647 common.opt:855 common.opt:986 common.opt:1061
++msgid "Does nothing. Preserved for backward compatibility."
++msgstr "Tut nichts. Für Rückwärtskompatibilität erhalten."
+
+-#: common.opt:493
++#: common.opt:492
+ msgid "Perform a forward propagation pass on RTL"
+ msgstr "Schritt zur Vorwärts-Übertragung auf RTL durchführen"
+
+-#: common.opt:500
++#: common.opt:499
+ msgid "Allow function addresses to be held in registers"
+ msgstr "Vorhalten von Funktionsadressen in Registern erlauben"
+
+-#: common.opt:504
++#: common.opt:503
+ msgid "Place each function into its own section"
+ msgstr "Jede Funktion in ihren eigenen Abschnitt platzieren"
+
+-#: common.opt:508
++#: common.opt:507
+ msgid "Perform global common subexpression elimination"
+ msgstr "Beseitigung globaler gemeinsamer Teilausdrücke durchführen"
+
+-#: common.opt:512
++#: common.opt:511
+ msgid "Perform enhanced load motion during global common subexpression elimination"
+ msgstr "Erweiterte Ladebewegung während Beseitigung globaler gemeinsamer Teilausdrücke durchführen"
+
+-#: common.opt:516
++#: common.opt:515
+ msgid "Perform store motion after global common subexpression elimination"
+ msgstr "Speicherbewegung nach Beseitigung globaler gemeinsamer Teilausdrücke durchführen"
+
+-#: common.opt:520
++#: common.opt:519
+ msgid "Perform redundant load after store elimination in global common subexpression"
+ msgstr "Beseitigung überflüssigen Ladens nach dem Abspeichern in globalem gemeinsamem Teilausdruck durchführen"
+
+-#: common.opt:525
++#: common.opt:524
+ msgid "Perform global common subexpression elimination after register allocation"
+ msgstr "Beseitigung globaler gemeinsamer Teilausdrücke nach Registerreservierung durchführen"
+
+-#: common.opt:530
++#: common.opt:529
+ msgid "Enable guessing of branch probabilities"
+ msgstr "Erraten der Sprungwahrscheinlichkeiten einschalten"
+
+-#: common.opt:538
++#: common.opt:537
+ msgid "Process #ident directives"
+ msgstr "#ident-Anweisungen verarbeiten"
+
+-#: common.opt:542
++#: common.opt:541
+ msgid "Perform conversion of conditional jumps to branchless equivalents"
+ msgstr "Umwandlung bedingter Sprünge in zweiglose Äquivalente durchführen"
+
+-#: common.opt:546
++#: common.opt:545
+ msgid "Perform conversion of conditional jumps to conditional execution"
+ msgstr "Umwandlung bedingter Sprünge in bedingte Ausführung durchführen"
+
+-#: common.opt:554
++#: common.opt:553
+ msgid "Do not generate .size directives"
+ msgstr "Keine .size-Anweisungen erzeugen"
+
+-#: common.opt:563
++#: common.opt:562
+ msgid "Pay attention to the \"inline\" keyword"
+ msgstr "Auf das »inline«-Schlüsselwort achten"
+
+-#: common.opt:567
++#: common.opt:566
+ msgid "Integrate simple functions into their callers when code size is known to not growth"
+ msgstr "Einfache Funktionen in ihre Aufrufer einfügen, wenn Codegröße als nicht wachsend bekannt ist"
+
+-#: common.opt:571
++#: common.opt:570
+ msgid "Integrate simple functions into their callers"
+ msgstr "Einfache Funktionen in ihre Aufrufer einfügen"
+
+-#: common.opt:575
++#: common.opt:574
+ msgid "Integrate functions called once into their callers"
+ msgstr "Einmal aufgerufene Funktionen in ihre Aufrufer einfügen"
+
+-#: common.opt:582
++#: common.opt:581
+ msgid "Limit the size of inlined functions to <number>"
+ msgstr "Größe von »inline«-Funktionen auf <Zahl> beschränken"
+
+-#: common.opt:586
++#: common.opt:585
+ msgid "Instrument function entry and exit with profiling calls"
+ msgstr "Ein- und Austritte von Funktionen beim Profilieren von Aufrufen verwenden"
+
+-#: common.opt:590
++#: common.opt:589
+ msgid "-finstrument-functions-exclude-function-list=name,... Do not instrument listed functions"
+ msgstr "-finstrument-functions-exclude-function-list=name,... Aufgezählte Funktionen nicht verwenden"
+
+-#: common.opt:594
++#: common.opt:593
+ msgid "-finstrument-functions-exclude-file-list=filename,... Do not instrument functions listed in files"
+ msgstr "-finstrument-functions-exclude-file-list=filename,... In Dateien aufgezählte Funktionen nicht verwenden"
+
+-#: common.opt:598
++#: common.opt:597
+ msgid "Perform Interprocedural constant propagation"
+ msgstr "Zwischenprozedurale Konstantenweitergabe durchführen"
+
+-#: common.opt:602
++#: common.opt:601
+ msgid "Discover pure and const functions"
+ msgstr "Reine und konstante Funktionen entdecken"
+
+-#: common.opt:606
++#: common.opt:605
+ msgid "Perform interprocedural points-to analysis"
+ msgstr "Zwischenprozedurale Zeigeranalyse durchführen"
+
+-#: common.opt:610
++#: common.opt:609
+ msgid "Discover readonly and non addressable static variables"
+ msgstr "Nur-lese und nicht-adressierbare statische Variablen entdecken"
+
+-#: common.opt:614
++#: common.opt:613
+ msgid "Type based escape and alias analysis"
+ msgstr "Typbasierte Escape- und Alias-Analyse"
+
+-#: common.opt:618
++#: common.opt:617
+ msgid "Perform matrix layout flattening and transposing based"
+ msgstr "Matrixanordnung aufgrund Abflachung und Transponierung durchführen"
+
+-#: common.opt:623
++#: common.opt:622
+ msgid "Perform structure layout optimizations based"
+ msgstr "Optimierungsgestützte Strukturanordnung durchführen"
+
+-#: common.opt:628
++#: common.opt:627
+ msgid "Optimize induction variables on trees"
+ msgstr "Induktionsvariablen auf Bäumen optimieren"
+
+-#: common.opt:632
++#: common.opt:631
+ msgid "Use jump tables for sufficiently large switch statements"
+ msgstr "Sprungtabellen für hinreichend große switch-Anweisungen verwenden"
+
+-#: common.opt:636
++#: common.opt:635
+ msgid "Generate code for functions even if they are fully inlined"
+ msgstr "Code für Funktionen erzeugen, auch wenn sie vollständig »inline« sind"
+
+-#: common.opt:640
++#: common.opt:639
+ msgid "Emit static const variables even if they are not used"
+ msgstr "Statische konstante Variablen erzeugen, auch wenn sie nicht verwendet werden"
+
+-#: common.opt:644
++#: common.opt:643
+ msgid "Give external symbols a leading underscore"
+ msgstr "Externen Symbolen einen führenden Unterstrich geben"
+
+-#: common.opt:648 common.opt:852 common.opt:983
+-msgid "Does nothing. Preserved for backward compatibility."
+-msgstr "Tut nichts. Für Rückwärtskompatibilität erhalten."
+-
+-#: common.opt:652
++#: common.opt:651
+ msgid "Set errno after built-in math functions"
+ msgstr "Nach eingebauten Mathematikfunktionen errno setzen"
+
+-#: common.opt:656
++#: common.opt:655
+ msgid "Report on permanent memory allocation"
+ msgstr "Ãœber dauerhafte Speicherreservierung berichten"
+
+-#: common.opt:663
++#: common.opt:662
+ msgid "Attempt to merge identical constants and constant variables"
+ msgstr "Versuchen, identische Konstanten und konstante Variablen zu verschmelzen"
+
+-#: common.opt:667
++#: common.opt:666
+ msgid "Attempt to merge identical constants across compilation units"
+ msgstr "Versuchen, identische Konstanten über Übersetzungseinheiten hinweg zu verschmelzen"
+
+-#: common.opt:671
++#: common.opt:670
++msgid "Attempt to merge identical debug strings across compilation units"
++msgstr "Versuchen, identische Zeichenketten zur Fehlersuche über Übersetzungseinheiten hinweg zu verschmelzen"
++
++#: common.opt:674
+ msgid "Limit diagnostics to <number> characters per line. 0 suppresses line-wrapping"
+ msgstr "Diagnosemeldungen auf <Anzahl> Zeichen pro Zeile beschränken. 0 unterdrückt Zeilenumbruch"
+
+-#: common.opt:675
++#: common.opt:678
+ msgid "Perform SMS based modulo scheduling before the first scheduling pass"
+ msgstr "SMS-basierte modulo-Planung vor erstem Planungsdurchlauf durchführen"
+
+-#: common.opt:679
++#: common.opt:682
+ msgid "Perform SMS based modulo scheduling with register moves allowed"
+ msgstr "SMS-basierte modulo-Planung mit erlaubten Register-Bewegungen durchführen"
+
+-#: common.opt:683
++#: common.opt:686
+ msgid "Move loop invariant computations out of loops"
+ msgstr "Berechnung der Schleifeninvarianten außerhalb der Schleifen legen"
+
+-#: common.opt:687
++#: common.opt:690
+ msgid "Add mudflap bounds-checking instrumentation for single-threaded program"
+ msgstr "Einsatz von Schmutzfänger-Bereichsprüfung für Single-Thread-Programm hinzufügen"
+
+-#: common.opt:691
++#: common.opt:694
+ msgid "Add mudflap bounds-checking instrumentation for multi-threaded program"
+ msgstr "Einsatz von Schmutzfänger-Bereichsprüfung für Multi-Thread-Programm hinzufügen"
+
+-#: common.opt:695
++#: common.opt:698
+ msgid "Ignore read operations when inserting mudflap instrumentation"
+ msgstr "Leseoperationen ignorieren, wenn Schmutzfänger-Einsatz eingefügt wird"
+
+-#: common.opt:699
++#: common.opt:702
+ msgid "Use the RTL dead code elimination pass"
+ msgstr "Den RTL-Schritt zur Entfernung toten Codes verwenden"
+
+-#: common.opt:703
++#: common.opt:706
+ msgid "Use the RTL dead store elimination pass"
+ msgstr "Den RTL-Schritt zur Entfernung toter Speicherbereiche verwenden"
+
+-#: common.opt:707
++#: common.opt:710
+ msgid "Enable/Disable the traditional scheduling in loops that already passed modulo scheduling"
+ msgstr "Traditionelle Planung in Schleifen, die bereits Modulo-Planung unterzogen wurden, einschalten/ausschalten"
+
+-#: common.opt:711
++#: common.opt:714
+ msgid "Support synchronous non-call exceptions"
+ msgstr "Synchrone Nicht-Aufruf-Ausnahmen unterstützen"
+
+-#: common.opt:715
++#: common.opt:718
+ msgid "When possible do not generate stack frames"
+ msgstr "Wenn möglich, keine Stapelrahmen erzeugen"
+
+-#: common.opt:719
++#: common.opt:722
+ msgid "Expand OpenMP operations on SSA form"
+ msgstr "OpenMP-Operationen bei SSA-Form auflösen"
+
+-#: common.opt:723
++#: common.opt:726
+ msgid "Do the full register move optimization pass"
+ msgstr "Den vollständigen Optimierungsdurchlauf für Registerbewegungen durchführen"
+
+-#: common.opt:727
++#: common.opt:730
+ msgid "Optimize sibling and tail recursive calls"
+ msgstr "Geschwister- und endrekursive Aufrufe optimieren"
+
+-#: common.opt:731 common.opt:735
++#: common.opt:734 common.opt:738
+ msgid "Report on memory allocation before interprocedural optimization"
+ msgstr "Ãœber Speicherbelegung vor zwischenprozeduraler Optimierung berichten"
+
+-#: common.opt:739
++#: common.opt:742
+ msgid "Pack structure members together without holes"
+ msgstr "Strukturelemente ohne Lücken zusammenpacken"
+
+-#: common.opt:743
++#: common.opt:746
+ msgid "Set initial maximum structure member alignment"
+ msgstr "Anfängliche größte Ausrichtung für Strukturelemente festlegen"
+
+-#: common.opt:747
++#: common.opt:750
+ msgid "Return small aggregates in memory, not registers"
+ msgstr "Kleine Aggregate über Speicher, nicht Register, zurückgeben"
+
+-#: common.opt:751
++#: common.opt:754
+ msgid "Perform loop peeling"
+ msgstr "Schleifen-Schälung durchführen"
+
+-#: common.opt:755
++#: common.opt:758
+ msgid "Enable machine specific peephole optimizations"
+ msgstr "Maschinenspezifische Guckloch-Optimierungen einschalten"
+
+-#: common.opt:759
++#: common.opt:762
+ msgid "Enable an RTL peephole pass before sched2"
+ msgstr "Einen RTL-Guckloch-Durchlauf vor sched2 einschalten"
+
+-#: common.opt:763
++#: common.opt:766
+ msgid "Generate position-independent code if possible (large mode)"
+ msgstr "Wenn möglich, lageunabhängigen Code erzeugen (large mode)"
+
+-#: common.opt:767
++#: common.opt:770
+ msgid "Generate position-independent code for executables if possible (large mode)"
+ msgstr "Wenn möglich, lageunabhängigen Code für ausführbare Dateien erzeugen (large mode)"
+
+-#: common.opt:771
++#: common.opt:774
+ msgid "Generate position-independent code if possible (small mode)"
+ msgstr "Wenn möglich, positionsunabhängigen Code erzeugen (small mode)"
+
+-#: common.opt:775
++#: common.opt:778
+ msgid "Generate position-independent code for executables if possible (small mode)"
+ msgstr "Wenn möglich, positionsunabhängigen Code für ausführbare Dateien erzeugen (small mode)"
+
+-#: common.opt:779
++#: common.opt:782
+ msgid "Run predictive commoning optimization."
+ msgstr "Vorhersehende vereinheitlichende Optimierung durchlaufen."
+
+-#: common.opt:783
++#: common.opt:786
+ msgid "Generate prefetch instructions, if available, for arrays in loops"
+ msgstr "Wenn verfügbar, Prefetch-Befehle für Felder in Schleifen erzeugen"
+
+-#: common.opt:787
++#: common.opt:790
+ msgid "Enable basic program profiling code"
+ msgstr "Einfachen Programm-Profilierungscode einschalten"
+
+-#: common.opt:791
++#: common.opt:794
+ msgid "Insert arc-based program profiling code"
+ msgstr "Arc-basierten Programm-Profilierungscode einfügen"
+
+-#: common.opt:795
++#: common.opt:798
+ msgid "Enable common options for generating profile info for profile feedback directed optimizations"
+ msgstr "Allgemeine Optionen zum Erzeugen von Profil-Info für Profil-Feedback-gerichtete Optimierungen einschalten"
+
+-#: common.opt:799
++#: common.opt:802
+ msgid "Enable common options for performing profile feedback directed optimizations"
+ msgstr "Allgemeine Optionen zum Durchführen von Profil-Feedback-gerichteten Optimierungen einschalten"
+
+-#: common.opt:803
++#: common.opt:806
+ msgid "Insert code to profile values of expressions"
+ msgstr "Code in Profilwerte von Ausdrücken einfügen"
+
+-#: common.opt:810
++#: common.opt:813
+ msgid "Make compile reproducible using <string>"
+ msgstr "Ãœbersetzung mit <Zeichenkette> reproduzierbar machen"
+
+-#: common.opt:820
++#: common.opt:823
+ msgid "Record gcc command line switches in the object file."
+ msgstr "GCC-Kommandozeilenschalter in Objektdateien aufzeichnen."
+
+-#: common.opt:824
++#: common.opt:827
+ msgid "Return small aggregates in registers"
+ msgstr "Kleine Aggregate über Register zurückgeben"
+
+-#: common.opt:828
++#: common.opt:831
+ msgid "Enables a register move optimization"
+ msgstr "Eine Registerbewegungsoptimierung einschalten"
+
+-#: common.opt:832
++#: common.opt:835
+ msgid "Perform a register renaming optimization pass"
+ msgstr "Einen Optimierungsdurchgang zur Registerumbenennung durchführen"
+
+-#: common.opt:836
++#: common.opt:839
+ msgid "Reorder basic blocks to improve code placement"
+ msgstr "Basisblöcke umsortieren, um Codeplatzierung zu verbessern"
+
+-#: common.opt:840
++#: common.opt:843
+ msgid "Reorder basic blocks and partition into hot and cold sections"
+ msgstr "Basisblöcke und Partition in heiße und kalte Abschnitte umordnen"
+
+-#: common.opt:844
++#: common.opt:847
+ msgid "Reorder functions to improve code placement"
+ msgstr "Funktionen umsortieren, um Codeplatzierung zu verbessern"
+
+-#: common.opt:848
++#: common.opt:851
+ msgid "Add a common subexpression elimination pass after loop optimizations"
+ msgstr "Einen gemeinsamen Durchlauf zur Entfernung von Teilausdrücken nach Schleifenoptimierungen hinzufügen"
+
+-#: common.opt:856
++#: common.opt:859
+ msgid "Disable optimizations that assume default FP rounding behavior"
+ msgstr "Optimierungen, die Standard-Rundungsverhalten für Gleitkomma annehmen, ausschalten"
+
+-#: common.opt:860
++#: common.opt:863
+ msgid "Enable scheduling across basic blocks"
+ msgstr "Planung über Basisblöcke hinaus einschalten"
+
+-#: common.opt:864
++#: common.opt:867
+ msgid "Allow speculative motion of non-loads"
+ msgstr "Spekulative Bewegung beim Nicht-Laden erlauben"
+
+-#: common.opt:868
++#: common.opt:871
+ msgid "Allow speculative motion of some loads"
+ msgstr "Spekulative Bewegung bei einigen Ladeoperationen erlauben"
+
+-#: common.opt:872
++#: common.opt:875
+ msgid "Allow speculative motion of more loads"
+ msgstr "Spekulative Bewegung bei mehr Ladeoperationen erlauben"
+
+-#: common.opt:876
++#: common.opt:879
+ msgid "Set the verbosity level of the scheduler"
+ msgstr "Stufe der Wortfülle des Planers angeben"
+
+-#: common.opt:880
++#: common.opt:883
+ msgid "If scheduling post reload, do superblock scheduling"
+ msgstr "Wenn Planung nach dem Neuladen, dann Superblock-Planung"
+
+-#: common.opt:884
++#: common.opt:887
+ msgid "If scheduling post reload, do trace scheduling"
+ msgstr "Wenn Planung nach dem Neuladen, dann Verfolgungsplanung"
+
+-#: common.opt:888
++#: common.opt:891
+ msgid "Reschedule instructions before register allocation"
+ msgstr "Befehle vor Registerbelegung neu planen"
+
+-#: common.opt:892
++#: common.opt:895
+ msgid "Reschedule instructions after register allocation"
+ msgstr "Befehle nach Registerbelegung neu planen"
+
+-#: common.opt:898
++#: common.opt:901
+ msgid "Allow premature scheduling of queued insns"
+ msgstr "Nicht ausgereifte Planung von eingereihten Befehlen erlauben"
+
+-#: common.opt:902
++#: common.opt:905
+ msgid "Set number of queued insns that can be prematurely scheduled"
+ msgstr "Anzahl der eingereihten Befehle setzen, die unausgereift geplant werden können"
+
+-#: common.opt:910 common.opt:914
++#: common.opt:913 common.opt:917
+ msgid "Set dependence distance checking in premature scheduling of queued insns"
+ msgstr "Prüfung der Abhängigkeitsentfernung in nicht ausgereifter Planung von eingereihten Befehlen setzen"
+
+-#: common.opt:918
++#: common.opt:921
+ msgid "Access data in the same section from shared anchor points"
+ msgstr "Auf Daten im gleichen Abschnitt von gemeinsam benutzten Ankerpunkten zugreifen"
+
+-#: common.opt:922
++#: common.opt:925
+ msgid "Perform sequence abstraction optimization on RTL"
+ msgstr "Optimierung für Ablaufabstraktion auf RTL durchführen"
+
+-#: common.opt:926
++#: common.opt:929
+ msgid "Eliminate redundant sign extensions using LCM."
+ msgstr "Überflüssige Vorzeichenerweiterungen mit LCM beseitigen."
+
+-#: common.opt:930
++#: common.opt:933
+ msgid "Show column numbers in diagnostics, when available. Default off"
+ msgstr "Spaltenzahlen in Diagnose zeigen, wenn verfügbar. Standard: Aus"
+
+-#: common.opt:934
++#: common.opt:937
+ msgid "Disable optimizations observable by IEEE signaling NaNs"
+ msgstr "Von IEEE-Signalisierungs-NaNs wahrnehmbare Optimierungen ausschalten"
+
+-#: common.opt:938
++#: common.opt:941
+ msgid "Disable floating point optimizations that ignore the IEEE signedness of zero"
+ msgstr "Gleitkommaoptimierungen ausschalten, die die IEEE-Vorzeichenbehaftung von Null nicht beachten"
+
+-#: common.opt:942
++#: common.opt:945
+ msgid "Convert floating point constants to single precision constants"
+ msgstr "Gleitkommakonstanten in Konstanten einfacher Genauigkeit umwandeln"
+
+-#: common.opt:946
++#: common.opt:949
+ msgid "Split lifetimes of induction variables when loops are unrolled"
+ msgstr "Lebensdauer von Induktionsvariablen aufteilen, wenn Schleifen abgerollt werden"
+
+-#: common.opt:950
++#: common.opt:953
+ msgid "Split wide types into independent registers"
+ msgstr "Breite Typen in unabhängige Register aufteilen"
+
+-#: common.opt:954
++#: common.opt:957
+ msgid "Apply variable expansion when loops are unrolled"
+ msgstr "Variablenerweiterung anwenden, wenn Schleifen abgerollt werden"
+
+-#: common.opt:960
++#: common.opt:963
+ msgid "Insert stack checking code into the program"
+ msgstr "Stapelprüfung in das Programm einfügen"
+
+-#: common.opt:967
++#: common.opt:970
+ msgid "Trap if the stack goes past <register>"
+ msgstr "Wenn der Stapel über das <Register> hinausgeht, abfangen (»trap«)"
+
+-#: common.opt:971
++#: common.opt:974
+ msgid "Trap if the stack goes past symbol <name>"
+ msgstr "Wenn der Stapel über das Symbol <Name> hinausgeht, abfangen (»trap«)"
+
+-#: common.opt:975
++#: common.opt:978
+ msgid "Use propolice as a stack protection method"
+ msgstr "Propolice als Stapelschutzmethode verwenden"
+
+-#: common.opt:979
++#: common.opt:982
+ msgid "Use a stack protection method for every function"
+ msgstr "Eine Stapelschutzmethode für jede Funktion verwenden"
+
+-#: common.opt:991
++#: common.opt:994
+ msgid "Assume strict aliasing rules apply"
+ msgstr "Annehmen, dass strenge Alias-Regeln gelten"
+
+-#: common.opt:995
++#: common.opt:998
+ msgid "Treat signed overflow as undefined"
+ msgstr "Vorzeichenbehafteten Ãœberlauf als undefiniert behandeln"
+
+-#: common.opt:999
++#: common.opt:1002
+ msgid "Check for syntax errors, then stop"
+ msgstr "Auf Syntaxfehler prüfen und anhalten"
+
+-#: common.opt:1003
++#: common.opt:1006
+ msgid "Create data files needed by \"gcov\""
+ msgstr "Von »gcov« benötigte Dateien anlegen"
+
+-#: common.opt:1007
++#: common.opt:1010
+ msgid "Perform jump threading optimizations"
+ msgstr "Sprung-Threading-Optimierungen durchführen"
+
+-#: common.opt:1011
++#: common.opt:1014
+ msgid "Report the time taken by each compiler pass"
+ msgstr "Benötigte Zeit für jeden Compilerdurchlauf ausgeben"
+
+-#: common.opt:1015
++#: common.opt:1018
+ msgid "Set the default thread-local storage code generation model"
+ msgstr "Das standardmäßige Codeerzeugungsmodell für Thread-lokalen Speicher angeben"
+
+-#: common.opt:1019
++#: common.opt:1022
+ msgid "Reorder top level functions, variables, and asms"
+ msgstr "Funktionen, Variablen und asms höchster Ebene umordnen"
+
+-#: common.opt:1023
++#: common.opt:1026
+ msgid "Perform superblock formation via tail duplication"
+ msgstr "Superblockerzeugung über Ende-Vervielfältigung durchführen"
+
+-#: common.opt:1030
++#: common.opt:1033
+ msgid "Assume floating-point operations can trap"
+ msgstr "Annehmen, dass Gleitkommaoperationen abgefangen werden können (»trap«)"
+
+-#: common.opt:1034
++#: common.opt:1037
+ msgid "Trap for signed overflow in addition, subtraction and multiplication"
+ msgstr "Vorzeichenbehafteten Überlauf in Addition, Subtraktion und Multiplikation abfangen (»trap«)"
+
+-#: common.opt:1038
++#: common.opt:1041
+ msgid "Enable SSA-CCP optimization on trees"
+ msgstr "SSA-CCP-Optimierungen auf Bäumen einschalten"
+
+-#: common.opt:1042
++#: common.opt:1045
+ msgid "Enable SSA-CCP optimization for stores and loads"
+ msgstr "SSA-CCP-Optimierungen für Speichern und Laden einschalten"
+
+-#: common.opt:1046
++#: common.opt:1049
+ msgid "Enable loop header copying on trees"
+ msgstr "Kopieren des Schleifenkopfes auf Bäumen einschalten"
+
+-#: common.opt:1050
++#: common.opt:1053
+ msgid "Replace SSA temporaries with better names in copies"
+ msgstr "Vorübergehende SSA-Speicherbereiche in Kopien mit besseren Namen ersetzen"
+
+-#: common.opt:1054
++#: common.opt:1057
+ msgid "Enable copy propagation on trees"
+ msgstr "Kopieweitergabe auf Bäumen einschalten"
+
+-#: common.opt:1058
+-msgid "This switch is obsolete"
+-msgstr "Dieser Schalter ist veraltet"
+-
+-#: common.opt:1062
++#: common.opt:1065
+ msgid "Transform condition stores into unconditional ones"
+ msgstr "Bedingte Speicherbefehle in unbedingte umwandeln"
+
+-#: common.opt:1066
++#: common.opt:1069
+ msgid "Enable SSA dead code elimination optimization on trees"
+ msgstr "Beseitigungsoptimierung für toten SSA-Code auf Bäumen einschalten"
+
+-#: common.opt:1070
++#: common.opt:1073
+ msgid "Enable dominator optimizations"
+ msgstr "Beherrscher-Optimierungen einschalten"
+
+-#: common.opt:1074
++#: common.opt:1077
+ msgid "Enable dead store elimination"
+ msgstr "Entfernung toter Speicherbereiche einschalten"
+
+-#: common.opt:1078
++#: common.opt:1081
+ msgid "Enable Full Redundancy Elimination (FRE) on trees"
+ msgstr "Vollständige Redundanzentfernung (FRE) auf Bäumen einschalten"
+
+-#: common.opt:1082
++#: common.opt:1085
+ msgid "Enable loop invariant motion on trees"
+ msgstr "Bewegung der Schleifeninvariante auf Bäumen einschalten"
+
+-#: common.opt:1086
++#: common.opt:1089
+ msgid "Enable linear loop transforms on trees"
+ msgstr "Lineare Schleifenumformung auf Bäumen einschalten"
+
+-#: common.opt:1090
++#: common.opt:1093
+ msgid "Create canonical induction variables in loops"
+ msgstr "Kanonische Induktionsvariablen in Schleifen erzeugen"
+
+-#: common.opt:1094
++#: common.opt:1097
+ msgid "Enable loop optimizations on tree level"
+ msgstr "Schleifenoptimierungen auf Baumebene einschalten"
+
+-#: common.opt:1098
++#: common.opt:1101
+ msgid "Enable automatic parallelization of loops"
+ msgstr "Automatische Parallelisierung von Schleifen einschalten"
+
+-#: common.opt:1102
++#: common.opt:1105
+ msgid "Enable SSA-PRE optimization on trees"
+ msgstr "SSA-PRE-Optimierungen auf Bäumen einschalten"
+
+-#: common.opt:1106
++#: common.opt:1109
+ msgid "Enable reassociation on tree level"
+ msgstr "Neuverbindung auf Baumebene einschalten"
+
+-#: common.opt:1110
++#: common.opt:1113
+ msgid "Perform structural alias analysis"
+ msgstr "Strukturelle Alias-Analyse durchführen"
+
+-#: common.opt:1114
++#: common.opt:1117
+ msgid "Enable SSA code sinking on trees"
+ msgstr "SSA-Codeversenkung auf Bäumen einschalten"
+
+-#: common.opt:1118
++#: common.opt:1121
+ msgid "Perform scalar replacement of aggregates"
+ msgstr "Skalarersetzung von Aggregaten durchführen"
+
+-#: common.opt:1122
++#: common.opt:1125
+ msgid "Replace temporary expressions in the SSA->normal pass"
+ msgstr "Vorübergehende Ausdrücke im SSA-Normaldurchlauf ersetzen"
+
+-#: common.opt:1126
++#: common.opt:1129
+ msgid "Perform live range splitting during the SSA->normal pass"
+ msgstr "Lebensdaueraufteilung während des SSA-Normaldurchlaufs durchführen"
+
+-#: common.opt:1130
++#: common.opt:1133
+ msgid "Perform Value Range Propagation on trees"
+ msgstr "Wertebereichsweitergabe auf Bäumen durchführen"
+
+-#: common.opt:1134
++#: common.opt:1137
+ msgid "Compile whole compilation unit at a time"
+ msgstr "Ganze Übersetzungseinheit auf einmal übersetzen"
+
+-#: common.opt:1138
++#: common.opt:1141
+ msgid "Perform loop unrolling when iteration count is known"
+ msgstr "Schleifenabwicklung durchführen, wenn Anzahl der Wiederholungen bekannt ist"
+
+-#: common.opt:1142
++#: common.opt:1145
+ msgid "Perform loop unrolling for all loops"
+ msgstr "Schleifenabwicklung für alle Schleifen durchführen"
+
+-#: common.opt:1149
++#: common.opt:1152
+ msgid "Allow loop optimizations to assume that the loops behave in normal way"
+ msgstr "Bei Schleifenoptimierungen annehmen, dass sich die Schleifen normal verhalten"
+
+-#: common.opt:1153
++#: common.opt:1156
+ msgid "Allow optimization for floating-point arithmetic which may change the"
+ msgstr "Optimierung für Gleitkommaarithmetik erlauben, bei möglicher Änderung von"
+
+-#: common.opt:1158
++#: common.opt:1161
+ msgid "Same as -fassociative-math for expressions which include division."
+ msgstr "Das gleiche wie -fassociative-math für Ausdrücke, die Division enthalten."
+
+-#: common.opt:1166
++#: common.opt:1169
+ msgid "Allow math optimizations that may violate IEEE or ISO standards"
+ msgstr "Mathematische Optimierungen erlauben, die IEEE- oder ISO-Standards verletzen könnten"
+
+-#: common.opt:1170
++#: common.opt:1173
+ msgid "Perform loop unswitching"
+ msgstr "Schleifenausschaltung durchführen"
+
+-#: common.opt:1174
++#: common.opt:1177
+ msgid "Just generate unwind tables for exception handling"
+ msgstr "Einfach Abwicklungstabellen für Ausnahmebehandlung erzeugen"
+
+-#: common.opt:1178
++#: common.opt:1181
+ msgid "Perform variable tracking"
+ msgstr "Variablenverfolgung durchführen"
+
+-#: common.opt:1182
++#: common.opt:1185
+ msgid "Perform variable tracking and also tag variables that are uninitialized"
+ msgstr "Variablenverfolgung durchführen und auch Variablen markieren, die uninitialisiert sind"
+
+-#: common.opt:1186
++#: common.opt:1189
+ msgid "Enable loop vectorization on trees"
+ msgstr "Schleifenvektorisierung auf Bäumen einschalten"
+
+-#: common.opt:1190
++#: common.opt:1193
+ msgid "Enable use of cost model in vectorization"
+ msgstr "Verwendung des Kostenmodells in Vektorisierung einschalten"
+
+-#: common.opt:1194
++#: common.opt:1197
+ msgid "Enable loop versioning when doing loop vectorization on trees"
+ msgstr "Schleifenversionierung bei Schleifenvektorisierung auf Bäumen einschalten"
+
+-#: common.opt:1198
++#: common.opt:1201
+ msgid "Set the verbosity level of the vectorizer"
+ msgstr "Stufe der Wortfülle des Vektorisierers setzen"
+
+-#: common.opt:1202
++#: common.opt:1205
+ msgid "Enable copy propagation of scalar-evolution information."
+ msgstr "Kopieweitergabe von Informationen über Skalar-Evolution einschalten."
+
+-#: common.opt:1212
++#: common.opt:1215
+ msgid "Add extra commentary to assembler output"
+ msgstr "Zusätzlichen Kommentar an Assemblerausgabe anfügen"
+
+-#: common.opt:1216
++#: common.opt:1219
+ msgid "Set the default symbol visibility"
+ msgstr "Standard-Symbolsichtbarkeit setzen"
+
+-#: common.opt:1221
++#: common.opt:1224
+ msgid "Use expression value profiles in optimizations"
+ msgstr "Profile von Ausdruckswerten in Optimierungen verwenden"
+
+-#: common.opt:1225
++#: common.opt:1228
+ msgid "Construct webs and split unrelated uses of single variable"
+ msgstr "Netze konstruieren und nicht zusammenhängende Verwendungen einzelner Variablen aufteilen"
+
+-#: common.opt:1229
++#: common.opt:1232
+ msgid "Perform whole program optimizations"
+ msgstr "Gesamtprogrammoptimierung durchführen"
+
+-#: common.opt:1233
++#: common.opt:1236
+ msgid "Assume signed arithmetic overflow wraps around"
+ msgstr "Annehmen, dass vorzeichenbehaftete arithmetische Überläufe regulär überschlagen"
+
+-#: common.opt:1237
++#: common.opt:1240
+ msgid "Put zero initialized data in the bss section"
+ msgstr "Null-initialisierte Daten in den bss-Abschnitt legen"
+
+-#: common.opt:1241
++#: common.opt:1244
+ msgid "Generate debug information in default format"
+ msgstr "Fehlersuchinformationen im Standardformat erzeugen"
+
+-#: common.opt:1245
++#: common.opt:1248
+ msgid "Generate debug information in COFF format"
+ msgstr "Fehlersuchinformationen im COFF-Format erzeugen"
+
+-#: common.opt:1249
++#: common.opt:1252
+ msgid "Generate debug information in DWARF v2 format"
+ msgstr "Fehlersuchinformationen im DWARFv2-Format erzeugen"
+
+-#: common.opt:1253
++#: common.opt:1256
+ msgid "Generate debug information in default extended format"
+ msgstr "Fehlersuchinformationen im erweiterten Standardformat erzeugen"
+
+-#: common.opt:1257
++#: common.opt:1260
+ msgid "Generate debug information in STABS format"
+ msgstr "Fehlersuchinformationen im STABS-Format erzeugen"
+
+-#: common.opt:1261
++#: common.opt:1264
+ msgid "Generate debug information in extended STABS format"
+ msgstr "Fehlersuchinformationen im erweiterten STABS-Format erzeugen"
+
+-#: common.opt:1265
++#: common.opt:1268
+ msgid "Generate debug information in VMS format"
+ msgstr "Fehlersuchinformationen im VMS-Format erzeugen"
+
+-#: common.opt:1269
++#: common.opt:1272
+ msgid "Generate debug information in XCOFF format"
+ msgstr "Fehlersuchinformationen im XCOFF-Format erzeugen"
+
+-#: common.opt:1273
++#: common.opt:1276
+ msgid "Generate debug information in extended XCOFF format"
+ msgstr "Fehlersuchinformationen im erweiterten XCOFF-Format erzeugen"
+
+-#: common.opt:1277
++#: common.opt:1280
+ msgid "Place output into <file>"
+ msgstr "Ausgabe in <Datei> schreiben"
+
+-#: common.opt:1281
++#: common.opt:1284
+ msgid "Enable function profiling"
+ msgstr "Funktionsprofilierung einschalten"
+
+-#: common.opt:1285
++#: common.opt:1288
+ msgid "Issue warnings needed for strict compliance to the standard"
+ msgstr "Für strikte Standardbefolgung benötigte Warnungen ausgeben"
+
+-#: common.opt:1289
++#: common.opt:1292
+ msgid "Like -pedantic but issue them as errors"
+ msgstr "Wie -pedantic, aber als Fehler ausgeben"
+
+-#: common.opt:1293
++#: common.opt:1296
+ msgid "Do not display functions compiled or elapsed time"
+ msgstr "Nicht übersetzte Funktionen oder gestoppte Zeit ausgeben"
+
+-#: common.opt:1297
++#: common.opt:1300
+ msgid "Display the compiler's version"
+ msgstr "Compiler-Version anzeigen"
+
+-#: common.opt:1301
++#: common.opt:1304
+ msgid "Suppress warnings"
+ msgstr "Warnungen unterdrücken"
+
+-#: common.opt:1305
++#: common.opt:1308
+ msgid "Create a shared library"
+ msgstr "Shared Library erzeugen"
+
+-#: common.opt:1309
++#: common.opt:1312
+ msgid "Create a position independent executable"
+ msgstr "Eine lageunabhängige ausführbare Datei erzeugen"
+
++#: c.opt:41
++msgid "Assert the <answer> to <question>. Putting '-' before <question> disables the <answer> to <question>"
++msgstr "Die <Antwort> auf eine <Frage> behaupten. Angabe von »-« vor <Frage> schaltet die <Antwort> auf <Frage> aus"
++
++#: c.opt:45
++msgid "Do not discard comments"
++msgstr "Kommentare nicht verwerfen"
++
++#: c.opt:49
++msgid "Do not discard comments in macro expansions"
++msgstr "Kommentare in Makroexpansionen nicht verwerfen"
++
++#: c.opt:53
++msgid "Define a <macro> with <val> as its value. If just <macro> is given, <val> is taken to be 1"
++msgstr "Ein <Makro> mit <Wert> definieren. Wenn nur <Makro> angegeben wird, wird <Wert> auf 1 gesetzt"
++
++#: c.opt:60
++msgid "Add <dir> to the end of the main framework include path"
++msgstr "<Verz> an das Ende des Einfügepfades des Haupt-Frameworks anfügen"
++
++#: c.opt:64
++msgid "Print the name of header files as they are used"
++msgstr "Namen der Header-Dateien ausgeben, wie sie verwendet werden"
++
++#: c.opt:68 c.opt:863
++msgid "Add <dir> to the end of the main include path"
++msgstr "<Verz> an das Ende des Haupteinfügepfades anfügen"
++
++#: c.opt:72
++msgid "Generate make dependencies"
++msgstr "Make-Abhängigkeiten werden erstellt"
++
++#: c.opt:76
++msgid "Generate make dependencies and compile"
++msgstr "Make-Abhängigkeiten erzeugen und übersetzen"
++
++#: c.opt:80
++msgid "Write dependency output to the given file"
++msgstr "Abhängigkeiten-Ausgabe in angegebene Datei schreiben"
++
++#: c.opt:84
++msgid "Treat missing header files as generated files"
++msgstr "Fehlende Header-Dateien als generierte Dateien behandeln"
++
++#: c.opt:88
++msgid "Like -M but ignore system header files"
++msgstr "Wie -M, aber System-Header-Dateien ignorieren"
++
++#: c.opt:92
++msgid "Like -MD but ignore system header files"
++msgstr "Wie -MD, aber System-Header-Dateien ignorieren"
++
++#: c.opt:96
++msgid "Generate phony targets for all headers"
++msgstr "Unechte Ziele für alle Headers erzeugen"
++
++#: c.opt:100
++msgid "Add a MAKE-quoted target"
++msgstr "MAKE-zitiertes Ziel hinzufügen"
++
++#: c.opt:104
++msgid "Add an unquoted target"
++msgstr "Ein unzitiertes Ziel hinzufügen"
++
++#: c.opt:108
++msgid "Do not generate #line directives"
++msgstr "Keine #line-Direktiven erzeugen"
++
++#: c.opt:112
++msgid "Undefine <macro>"
++msgstr "<Makro> undefinieren"
++
++#: c.opt:116
++msgid "Warn about things that will change when compiling with an ABI-compliant compiler"
++msgstr "Bei Dingen, die sich bei der Übersetzung mit einem ABI-konformen Compiler ändern werden, warnen"
++
++#: c.opt:120
++msgid "Warn about suspicious uses of memory addresses"
++msgstr "Vor verdächtigem Gebrauch von Speicheradressen warnen"
++
++#: c.opt:124
++msgid "Enable most warning messages"
++msgstr "Die meisten Warnungen einschalten"
++
++#: c.opt:128
++msgid "Warn if a comparison is always true or always false due to the limited range of the data type"
++msgstr "Warnen, wenn ein Vergleich durch beschränkten Wertebereich des Datentyps stets »wahr« oder »unwahr« ist"
++
++#: c.opt:132
++msgid "Warn whenever an Objective-C assignment is being intercepted by the garbage collector"
++msgstr "Immer warnen, wenn eine Objective-C-Zuweisung vom Garbage Collector abgefangen wird"
++
++#: c.opt:136
++msgid "Warn about casting functions to incompatible types"
++msgstr "Warnen, wenn Funktionen in unverträgliche Typen umgewandelt werden"
++
++#: c.opt:140
++msgid "Warn about C constructs that are not in the common subset of C and C++"
++msgstr "Bei C-Konstrukten, die nicht in gemeinsamer Teilmenge von C und C++ sind, warnen"
++
++#: c.opt:144
++msgid "Warn about C++ constructs whose meaning differs between ISO C++ 1998 and ISO C++ 200x"
++msgstr "Bei C++-Konstrukten, deren Bedeutung sich zwischen ISO C++ 1998 und ISO C++ 200x unterscheidet, warnen"
++
++#: c.opt:148
++msgid "Warn about casts which discard qualifiers"
++msgstr "Bei Umwandlungen, die Qualifizierer streichen, warnen"
++
++#: c.opt:152
++msgid "Warn about subscripts whose type is \"char\""
++msgstr "Vor Indizes mit Typ »char« warnen"
++
++#: c.opt:156
++msgid "Warn about variables that might be changed by \"longjmp\" or \"vfork\""
++msgstr "Bei Variablen, die von »longjmp« oder »vfork« geändert werden könnten, warnen"
++
++#: c.opt:160
++msgid "Warn about possibly nested block comments, and C++ comments spanning more than one physical line"
++msgstr "Bei möglicherweise geschachtelten Blockkommentaren und C++-Kommentaren, die mehr als eine physikalische Zeile umfassen, warnen"
++
++#: c.opt:164
++msgid "Synonym for -Wcomment"
++msgstr "Synonym für -Wcomment"
++
++#: c.opt:168
++msgid "Warn for implicit type conversions that may change a value"
++msgstr "Bei impliziten Typumwandlungen warnen, die einen Wert ändern könnten"
++
++#: c.opt:172
++msgid "Warn for implicit type conversions between signed and unsigned integers"
++msgstr "Bei impliziten Typumwandlungen zwischen vorzeichenbehafteten und vorzeichenlosen Ganzzahlen warnen"
++
++#: c.opt:176
++msgid "Warn when all constructors and destructors are private"
++msgstr "Warnen, wenn alle Konstruktoren und Destruktoren privat sind"
++
++#: c.opt:180
++msgid "Warn when a declaration is found after a statement"
++msgstr "Warnen, wenn eine Deklaration hinter einer Anweisung gefunden wird"
++
++#: c.opt:184
++msgid "Warn about deprecated compiler features"
++msgstr "Bei veralteten Compiler-Merkmalen warnen"
++
++#: c.opt:188
++msgid "Warn about compile-time integer division by zero"
++msgstr "Bei Ganzzahldivisionen durch Null zur Ãœbersetzungszeit warnen"
++
++#: c.opt:192
++msgid "Warn about violations of Effective C++ style rules"
++msgstr "Bei Verstößen gegen die Stil-Richtlinien von »Effective C++« warnen"
++
++#: c.opt:196
++msgid "Warn about an empty body in an if or else statement"
++msgstr "Bei leerem Körper in einer if- oder else-Anweisung warnen"
++
++#: c.opt:200
++msgid "Warn about stray tokens after #elif and #endif"
++msgstr "Bei verirrten Symbolen hinter #elif und #endif warnen"
++
++#: c.opt:208
++msgid "This switch is deprecated; use -Werror=implicit-function-declaration instead"
++msgstr "Dieser Schalter ist veraltet; stattdessen -Werror=implicit-function-declaration verwenden"
++
++#: c.opt:212
++msgid "Warn if testing floating point numbers for equality"
++msgstr "Bei Test von Gleitkommawerten auf Gleichheit warnen"
++
++#: c.opt:216
++msgid "Warn about printf/scanf/strftime/strfmon format string anomalies"
++msgstr "Bei Unregelmäßigkeiten in printf/scanf/strftime/strfmon-Formatstrings warnen"
++
++#: c.opt:220
++msgid "Warn if passing too many arguments to a function for its format string"
++msgstr "Bei zu vielen Argumenten für eine Funktion (anhand Formatzeichenkette) warnen"
++
++#: c.opt:224
++msgid "Warn about format strings that are not literals"
++msgstr "Bei Formatstrings, die keine Literale sind, warnen"
++
++#: c.opt:228
++msgid "Warn about format strings that contain NUL bytes"
++msgstr "Bei Formatstrings, die NUL-Bytes enthalten, warnen"
++
++#: c.opt:232
++msgid "Warn about possible security problems with format functions"
++msgstr "Vor möglichen Sicherheitsproblemen mit Formatfunktionen warnen"
++
++#: c.opt:236
++msgid "Warn about strftime formats yielding 2-digit years"
++msgstr "Bei strftime-Formaten, die auf Jahreszahlen mit 2 Stellen hinweisen, warnen"
++
++#: c.opt:240
++msgid "Warn about zero-length formats"
++msgstr "Bei Formaten der Länge null warnen"
++
++#: c.opt:247
++msgid "Warn whenever type qualifiers are ignored."
++msgstr "Warnen, wenn Typqualifizierer ignoriert werden."
++
++#: c.opt:251
++msgid "Warn about variables which are initialized to themselves"
++msgstr "Bei Variablen, die mit sich selbst initialisiert werden, warnen"
++
++#: c.opt:258
++msgid "Warn about implicit function declarations"
++msgstr "Bei impliziten Funktionsdeklarationen warnen"
++
++#: c.opt:262
++msgid "Warn when a declaration does not specify a type"
++msgstr "Warnen, wenn eine Deklaration keinen Typ angibt"
++
++#: c.opt:266
++msgid "Deprecated. This switch has no effect"
++msgstr "Veraltet. Dieser Schalter hat keine Auswirkung"
++
++#: c.opt:270
++msgid "Warn when there is a cast to a pointer from an integer of a different size"
++msgstr "Bei Typumwandlung in Zeiger von Ganzzahl anderer Breite warnen"
++
++#: c.opt:274
++msgid "Warn about invalid uses of the \"offsetof\" macro"
++msgstr "Bei ungültigen Benutzungen des Makros »offsetof« warnen"
++
++#: c.opt:278
++msgid "Warn about PCH files that are found but not used"
++msgstr "Bei PCH-Dateien, die gefunden, aber nicht benutzt werden, warnen"
++
++#: c.opt:282
++msgid "Do not warn about using \"long long\" when -pedantic"
++msgstr "Nicht bei Verwendung von »long long« mit -pedantic warnen"
++
++#: c.opt:286
++msgid "Warn about suspicious declarations of \"main\""
++msgstr "Vor verdächtigen Deklarationen von »main« warnen"
++
++#: c.opt:290
++msgid "Warn about possibly missing braces around initializers"
++msgstr "Bei möglicherweise fehlenden Klammern um Initialisierungen warnen"
++
++#: c.opt:294
++msgid "Warn about global functions without previous declarations"
++msgstr "Vor globalen Funktionen ohne vorherige Deklaration warnen"
++
++#: c.opt:298
++msgid "Warn about missing fields in struct initializers"
++msgstr "Bei fehlenden Feldern in struct-Initialisierungen warnen"
++
++#: c.opt:302
++msgid "Warn about functions which might be candidates for format attributes"
++msgstr "Bei Funktionen, die Kandidaten für Formatattribute sein könnten, warnen"
++
++#: c.opt:306
++msgid "Warn about user-specified include directories that do not exist"
++msgstr "Bei durch den Benutzer angegebenen Einfügepfaden, die nicht vorhanden sind, warnen"
++
++#: c.opt:310
++msgid "Warn about function parameters declared without a type specifier in K&R-style functions"
++msgstr "Bei ohne Typspezifizierung in Funktionen im K&R-Stil deklarierten Funktionsparametern warnen"
++
++#: c.opt:314
++msgid "Warn about global functions without prototypes"
++msgstr "Bei globalen Funktionen ohne Prototypen warnen"
++
++#: c.opt:318
++msgid "Warn about use of multi-character character constants"
++msgstr "Bei Verwendung von Zeichenkonstanten mit mehreren Zeichen warnen"
++
++#: c.opt:322
++msgid "Warn about \"extern\" declarations not at file scope"
++msgstr "Bei »extern«-Deklarationen außerhalb des Dateisichtbarkeitsbereiches warnen"
++
++#: c.opt:326
++msgid "Warn when non-templatized friend functions are declared within a template"
++msgstr "Warnen, wenn Nicht-Template-Friend-Funktionen innerhalb eines Templates angegeben werden"
++
++#: c.opt:330
++msgid "Warn about non-virtual destructors"
++msgstr "Bei nicht-virtuellen Destruktoren warnen"
++
++#: c.opt:334
++msgid "Warn about NULL being passed to argument slots marked as requiring non-NULL"
++msgstr "Warnen, wenn NULL an Argumentstellen, die als nicht-NULL erfordernd markiert sind, übergeben wird"
++
++#: c.opt:338
++msgid "Warn about non-normalised Unicode strings"
++msgstr "Bei nicht-normalisierten Unicode-Zeichenketten warnen"
++
++#: c.opt:342
++msgid "Warn if a C-style cast is used in a program"
++msgstr "Warnen, wenn eine Typumwandlung im C-Stil im Programm verwendet wird"
++
++#: c.opt:346
++msgid "Warn for obsolescent usage in a declaration"
++msgstr "Bei veralteter Verwendung in einer Deklaration warnen"
++
++#: c.opt:350
++msgid "Warn if an old-style parameter definition is used"
++msgstr "Warnen, wenn eine Parameterdefinition im alten Stil verwendet wird"
++
++#: c.opt:354
++msgid "Warn if a string is longer than the maximum portable length specified by the standard"
++msgstr "Warnen, wenn Zeichenkette länger als größte vom Standard angegebene portable Länge ist"
++
++#: c.opt:358
++msgid "Warn about overloaded virtual function names"
++msgstr "Bei überladenen virtuellen Funktionsnamen warnen"
++
++#: c.opt:362
++msgid "Warn about overriding initializers without side effects"
++msgstr "Beim Ãœberschreiben von Initialisierungen ohne Seiteneffekte warnen"
++
++#: c.opt:366
++msgid "Warn about possibly missing parentheses"
++msgstr "Bei möglicherweise fehlenden Klammern warnen"
++
++#: c.opt:370
++msgid "Warn when converting the type of pointers to member functions"
++msgstr "Bei Umwandlung des Typs von Zeigern auf Elementfunktionen warnen"
++
++#: c.opt:374
++msgid "Warn about function pointer arithmetic"
++msgstr "Bei Arithmetik mit Funktionszeigern warnen"
++
++#: c.opt:378
++msgid "Warn when a pointer is cast to an integer of a different size"
++msgstr "Bei Typkonvertierung von Zeiger auf Ganzzahl anderer Breite warnen"
++
++#: c.opt:382
++msgid "Warn about misuses of pragmas"
++msgstr "Bei Pragmamissbrauch warnen"
++
++#: c.opt:386
++msgid "Warn if inherited methods are unimplemented"
++msgstr "Warnen, wenn geerbte Methoden nicht implementiert sind"
++
++#: c.opt:390
++msgid "Warn about multiple declarations of the same object"
++msgstr "Bei mehreren Deklarationen des gleichen Objektes warnen"
++
++#: c.opt:394
++msgid "Warn when the compiler reorders code"
++msgstr "Warnen, wenn der Compiler Code umsortiert"
++
++#: c.opt:398
++msgid "Warn whenever a function's return type defaults to \"int\" (C), or about inconsistent return types (C++)"
++msgstr "Bei Standardrückgabetyp »int« für Funktionen (C) und inkonsistenten Rückgabetypen (C++) warnen"
++
++#: c.opt:402
++msgid "Warn if a selector has multiple methods"
++msgstr "Warnen, wenn ein Selektor mehrere Methoden hat"
++
++#: c.opt:406
++msgid "Warn about possible violations of sequence point rules"
++msgstr "Bei möglichen Verstößen gegen Sequenzpunktregeln warnen"
++
++#: c.opt:410
++msgid "Warn about signed-unsigned comparisons"
++msgstr "Bei Vergleichen von vorzeichenbehaftet mit vorzeichenlos warnen"
++
++#: c.opt:414
++msgid "Warn when overload promotes from unsigned to signed"
++msgstr "Warnen, wenn Überladung von vorzeichenbehaftet zu vorzeichenlos führt"
++
++#: c.opt:418
++msgid "Warn about uncasted NULL used as sentinel"
++msgstr "Bei als Wächter verwendetem, nicht umgewandeltem NULL warnen"
++
++#: c.opt:422
++msgid "Warn about unprototyped function declarations"
++msgstr "Bei Funktionsdeklarationen ohne Prototyp warnen"
++
++#: c.opt:426
++msgid "Warn if type signatures of candidate methods do not match exactly"
++msgstr "Wenn Typsignaturen der Kandidatenmethoden nicht exakt passen, warnen"
++
++#: c.opt:430
++msgid "Warn when synthesis behavior differs from Cfront"
++msgstr "Warnen, wenn sich Synthetisierverhalten von Cfront unterscheidet"
++
++#: c.opt:438
++msgid "Warn about features not present in traditional C"
++msgstr "Bei Merkmalen, die in traditionellem C nicht verfügbar sind, warnen"
++
++#: c.opt:442
++msgid "Warn of prototypes causing type conversions different from what would happen in the absence of prototype"
++msgstr "Bei Prototypen, die zu Typumwandlungen führen, warnen, wenn sich diese vom Fall ohne Prototypen unterscheiden"
++
++#: c.opt:446
++msgid "Warn if trigraphs are encountered that might affect the meaning of the program"
++msgstr "Warnen, wenn Trigraphs auftreten, die die Bedeutung des Programmes beeinflussen könnten"
++
++#: c.opt:450
++msgid "Warn about @selector()s without previously declared methods"
++msgstr "Bei @selector() ohne vorher deklarierte Methoden warnen"
++
++#: c.opt:454
++msgid "Warn if an undefined macro is used in an #if directive"
++msgstr "Warnen, wenn ein undefiniertes Makro in einer #if-Anweisung verwendet wird"
++
++#: c.opt:458
++msgid "Warn about unrecognized pragmas"
++msgstr "Bei nicht erkannten Pragmas warnen"
++
++#: c.opt:462
++msgid "Warn about macros defined in the main file that are not used"
++msgstr "Bei in der Hauptdatei definierten, ungenutzten Makros warnen"
++
++#: c.opt:466
++msgid "Do not warn about using variadic macros when -pedantic"
++msgstr "Nicht bei Verwendung variadischer Makros bei -pedantic warnen"
++
++#: c.opt:470
++msgid "Warn if a variable length array is used"
++msgstr "Warnen, wenn ein Feld veränderbarer Länge verwendet wird"
++
++#: c.opt:474
++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 "In C++ bedeutet ungleich Null die Warnung vor veralteter Umwandlung von Zeichenkettenliteralen in »char *«. In C erfolgt ähnliche Warnung, nur ist die Umwandlung nat. laut ISO-C-Standard nicht veraltet."
++
++#: c.opt:478
++msgid "Warn when a pointer differs in signedness in an assignment"
++msgstr "Warnen, wenn sich ein Zeiger im Vorzeichenbesitz in einer Zuweisung unterscheidet"
++
++#: c.opt:482
++msgid "A synonym for -std=c89 (for C) or -std=c++98 (for C++)"
++msgstr "Ein Synonym für -std=c89 (für C) oder -std=c++98 (für C++)"
++
++#: c.opt:490
++msgid "Enforce class member access control semantics"
++msgstr "Semantik der Zugriffskontrolle für Klassenelemente erzwingen"
++
++#: c.opt:497
++msgid "Change when template instances are emitted"
++msgstr "Ändern, wenn Templateinstanzen ausgegeben werden"
++
++#: c.opt:501
++msgid "Recognize the \"asm\" keyword"
++msgstr "Das »asm«-Schlüsselwort erkennen"
++
++#: c.opt:505
++msgid "Recognize built-in functions"
++msgstr "Eingebaute Funktionen erkennen"
++
++#: c.opt:512
++msgid "Check the return value of new"
++msgstr "Rückgabewert von new prüfen"
++
++#: c.opt:516
++msgid "Allow the arguments of the '?' operator to have different types"
++msgstr "Verschiedene Typen für die Argumente des »?«-Operators erlauben"
++
++#: c.opt:520
++msgid "Reduce the size of object files"
++msgstr "Größe von Objektdateien reduzieren"
++
++#: c.opt:524
++msgid "Use class <name> for constant strings"
++msgstr "Klasse <Name> für konstante Zeichenketten verwenden"
++
++#: c.opt:528
++msgid "Inline member functions by default"
++msgstr "Standardmäßig »inline«-Elementfunktionen"
++
++#: c.opt:532
++msgid "Preprocess directives only."
++msgstr "Nur Direktiven vorverarbeiten."
++
++#: c.opt:536
++msgid "Permit '$' as an identifier character"
++msgstr "»$« als Bezeichnerzeichen zulassen"
++
++#: c.opt:543
++msgid "Generate code to check exception specifications"
++msgstr "Code zur Überprüfung von Exception-Spezifikationen erzeugen"
++
++#: c.opt:550
++msgid "Convert all strings and character constants to character set <cset>"
++msgstr "Alle Zeichenketten und Zeichenkonstanten in <Zeichensatz> umwandeln"
++
++#: c.opt:554
++msgid "Permit universal character names (\\u and \\U) in identifiers"
++msgstr "Universelle Zeichennamen (\\u und \\U) in Bezeichnern zulassen"
++
++#: c.opt:558
++msgid "Specify the default character set for source files"
++msgstr "Standard-Zeichensatz für Quelldateien angeben"
++
++#: c.opt:566
++msgid "Scope of for-init-statement variables is local to the loop"
++msgstr "Sichtbarkeitsbereich der Variablen aus einer for-Initialisierungs-Anweisung ist für die Schleife lokal"
++
++#: c.opt:570
++msgid "Do not assume that standard C libraries and \"main\" exist"
++msgstr "Nicht annehmen, dass Standard-C-Bibliotheken und »main« vorhanden sind"
++
++#: c.opt:574
++msgid "Recognize GNU-defined keywords"
++msgstr "GNU-definierte Schlüsselworte erkennen"
++
++#: c.opt:578
++msgid "Generate code for GNU runtime environment"
++msgstr "Code für die GNU-Laufzeitumgebung erzeugen"
++
++#: c.opt:582
++msgid "Use traditional GNU semantics for inline functions"
++msgstr "Traditionelle GNU-Semantik für Inline-Funktionen verwenden"
++
++#: c.opt:595
++msgid "Assume normal C execution environment"
++msgstr "Normale C-Ausführungsumgebung vermuten"
++
++#: c.opt:599
++msgid "Enable support for huge objects"
++msgstr "Unterstützung für große Objekte einschalten"
++
++#: c.opt:603
++msgid "Export functions even if they can be inlined"
++msgstr "Funktionen exportieren, auch wenn sie »inline« sein können"
++
++#: c.opt:607
++msgid "Emit implicit instantiations of inline templates"
++msgstr "Implizite Instantiierungen von »inline«-Templates ausgeben"
++
++#: c.opt:611
++msgid "Emit implicit instantiations of templates"
++msgstr "Implizite Instantiierungen von Templates ausgeben"
++
++#: c.opt:615
++msgid "Inject friend functions into enclosing namespace"
++msgstr "Friend-Funktionen in umgebenden Namensraum einfügen"
++
++#: c.opt:622
++msgid "Allow implicit conversions between vectors with differing numbers of subparts and/or differing element types."
++msgstr "Implizite Umwandlungen zwischen Vektoren mit unterschiedlicher Anzahl der Teile und/oder abweichenden Elementtypen erlauben."
++
++#: c.opt:626
++msgid "Don't warn about uses of Microsoft extensions"
++msgstr "Nicht bei Verwendung von Microsoft-Erweiterungen warnen"
++
++#: c.opt:636
++msgid "Generate code for NeXT (Apple Mac OS X) runtime environment"
++msgstr "Code für die NeXT (Apple Mac OS X) Laufzeitumgebung erzeugen"
++
++#: c.opt:640
++msgid "Assume that receivers of Objective-C messages may be nil"
++msgstr "Annehmen, dass Empfänger von Objective-C-Nachrichten Null sein können"
++
++#: c.opt:652
++msgid "Generate special Objective-C methods to initialize/destroy non-POD C++ ivars, if needed"
++msgstr "Wenn nötig, spezielle Objective-C-Methoden zur Initialisierung/Zerstörung von nicht-POD C++ ivars, erzeugen"
++
++#: c.opt:656
++msgid "Allow fast jumps to the message dispatcher"
++msgstr "Schnelle Sprünge zum Nachrichten-Dispatcher erlauben"
++
++#: c.opt:662
++msgid "Enable Objective-C exception and synchronization syntax"
++msgstr "Objective-C-Ausnahme- und -Synchronisations-Syntax einschalten"
++
++#: c.opt:666
++msgid "Enable garbage collection (GC) in Objective-C/Objective-C++ programs"
++msgstr "Garbage Collection (GC) in Objective-C/Objective-C++-Programmen einschalten"
++
++#: c.opt:671
++msgid "Enable Objective-C setjmp exception handling runtime"
++msgstr "Laufzeitbibliothek zur Objective-C setjmp-Ausnahmebehandlung einschalten"
++
++#: c.opt:675
++msgid "Enable OpenMP"
++msgstr "OpenMP einschalten"
++
++#: c.opt:679
++msgid "Recognize C++ kewords like \"compl\" and \"xor\""
++msgstr "C++-Schlüsselworte wie »compl« und »xor« erkennen"
++
++#: c.opt:683
++msgid "Enable optional diagnostics"
++msgstr "Optionale Diagnosemeldungen einschalten"
++
++#: c.opt:690
++msgid "Look for and use PCH files even when preprocessing"
++msgstr "PCH-Dateien suchen und verwenden, sogar bei Vorverarbeitung"
++
++#: c.opt:694
++msgid "Downgrade conformance errors to warnings"
++msgstr "Ãœbereinstimmungsfehler zu Warnungen degradieren"
++
++#: c.opt:698
++msgid "Treat the input file as already preprocessed"
++msgstr "Die Eingabedatei als bereits vorverarbeitet behandeln"
++
++#: c.opt:702
++msgid "Used in Fix-and-Continue mode to indicate that object files may be swapped in at runtime"
++msgstr "Im Fix-and-Continue-Modus verwendet, um anzuzeigen, dass Objektdateien zur Laufzeit eingetauscht werden können (»swap«)"
++
++#: c.opt:706
++msgid "Enable automatic template instantiation"
++msgstr "Automatische Template-Instantiierung einschalten"
++
++#: c.opt:710
++msgid "Generate run time type descriptor information"
++msgstr "Informationen zur Typbeschreibung zur Laufzeit erzeugen"
++
++#: c.opt:714
++msgid "Use the same size for double as for float"
++msgstr "Für double die gleiche Breite wie für float verwenden"
++
++#: c.opt:722
++msgid "Force the underlying type for \"wchar_t\" to be \"unsigned short\""
++msgstr "Den für »wchar_t« zugrundeliegenden Typen auf »unsigned short« zwingen"
++
++#: c.opt:726
++msgid "When \"signed\" or \"unsigned\" is not given make the bitfield signed"
++msgstr "Wenn »signed« und »unsigned« nicht angegeben wurden, das Bitfeld vorzeichenbehaftet machen"
++
++#: c.opt:730
++msgid "Make \"char\" signed by default"
++msgstr "»char« standardmäßig vorzeichenbehaftet machen"
++
++#: c.opt:737
++msgid "Display statistics accumulated during compilation"
++msgstr "Während der Übersetzung angesammelte Statistik anzeigen"
++
++#: c.opt:744
++msgid "Distance between tab stops for column reporting"
++msgstr "Tabulatorentfernungen für Spaltenmeldungen"
++
++#: c.opt:748
++msgid "Specify maximum template instantiation depth"
++msgstr "Größte Template-Instantiierungstiefe angeben"
++
++#: c.opt:755
++msgid "Do not generate thread-safe code for initializing local statics"
++msgstr "Keinen threadsicheren Code für Initialisierung lokaler statischer Objekte erzeugen"
++
++#: c.opt:759
++msgid "When \"signed\" or \"unsigned\" is not given make the bitfield unsigned"
++msgstr "Wenn »signed« und »unsigned« nicht gegeben sind, das Bitfeld vorzeichenunbehaftet machen"
++
++#: c.opt:763
++msgid "Make \"char\" unsigned by default"
++msgstr "»char« standardmäßig vorzeichenunbehaftet machen"
++
++#: c.opt:767
++msgid "Use __cxa_atexit to register destructors"
++msgstr "__cxa_atexit verwenden, um Destruktoren zu registrieren"
++
++#: c.opt:771
++msgid "Use __cxa_get_exception_ptr in exception handling"
++msgstr "__cxa_get_exception_ptr in Ausnahmebehandlung verwenden"
++
++#: c.opt:775
++msgid "Marks all inlined methods as having hidden visibility"
++msgstr "Alle inline-Methoden mit versteckter Sichtbarkeit markieren"
++
++#: c.opt:779
++msgid "Changes visibility to match Microsoft Visual Studio by default"
++msgstr "Sichtbarkeit wird geändert, um standardmäßig zu Microsoft Visual Studio zu passen"
++
++#: c.opt:783
++msgid "Discard unused virtual functions"
++msgstr "Unbenutzte virtuelle Funktionen verwerfen"
++
++#: c.opt:787
++msgid "Implement vtables using thunks"
++msgstr "Vtables mit Thunks implementieren"
++
++#: c.opt:791
++msgid "Emit common-like symbols as weak symbols"
++msgstr "Common-ähnliche Symbole als schwache Symbole ausgeben"
++
++#: c.opt:795
++msgid "Convert all wide strings and character constants to character set <cset>"
++msgstr "Alle Wide-Zeichenketten und -konstanten in Zeichenmenge <Zeichensatz> umwandeln"
++
++#: c.opt:799
++msgid "Generate a #line directive pointing at the current working directory"
++msgstr "Eine auf das aktuelle Verzeichnis verweisende #line-Anweisung erzeugen"
++
++#: c.opt:803
++msgid "Emit cross referencing information"
++msgstr "Informationen zur Kreuzreferenz ausgeben"
++
++#: c.opt:807
++msgid "Generate lazy class lookup (via objc_getClass()) for use in Zero-Link mode"
++msgstr "Lockeres Nachschlagen von Klassen (mit objc_getClass()) für Verwendung im Null-Verknüpfungs-Modus erzeugen"
++
++#: c.opt:811
++msgid "Dump declarations to a .decl file"
++msgstr "Deklaration in .decl-Datei ausgeben"
++
++#: c.opt:815
++msgid "Aggressive reduced debug info for structs"
++msgstr "Aggressiv reduzierte Debuginfo für Structs"
++
++#: c.opt:819
++msgid "Conservative reduced debug info for structs"
++msgstr "Konservativ reduzierte Debuginfo für Structs"
++
++#: c.opt:823
++msgid "Detailed reduced debug info for structs"
++msgstr "Ausführlich reduzierte Debuginfo für Structs"
++
++#: c.opt:827 c.opt:859
++msgid "Add <dir> to the end of the system include path"
++msgstr "<Verz> an das Ende des System-Einfügepfades anfügen"
++
++#: c.opt:831
++msgid "Accept definition of macros in <file>"
++msgstr "Definitionen von Makros in <Datei> akzeptieren"
++
++#: c.opt:835
++msgid "-imultilib <dir> Set <dir> to be the multilib include subdirectory"
++msgstr "-imultilib <dir> <dir> als Multilib-include-Verzeichnis setzen"
++
++#: c.opt:839
++msgid "Include the contents of <file> before other files"
++msgstr "Inhalt der <Datei> vor anderen Dateien einfügen"
++
++#: c.opt:843
++msgid "Specify <path> as a prefix for next two options"
++msgstr "<Pfad> als ein Prefix für die nächsten zwei Optionen angeben"
++
++#: c.opt:847
++msgid "Set <dir> to be the system root directory"
++msgstr "<Verz> als System-Wurzelverzeichnis setzen"
++
++#: c.opt:851
++msgid "Add <dir> to the start of the system include path"
++msgstr "<Verz> an den Anfang des System-Einfügepfades anfügen"
++
++#: c.opt:855
++msgid "Add <dir> to the end of the quote include path"
++msgstr "<Verz> an das Ende des Zitat-Einfügepfades anfügen"
++
++#: c.opt:876
++msgid "Do not search standard system include directories (those specified with -isystem will still be used)"
++msgstr "Standard-System-Einfügepfade nicht durchsuchen (die mit -isystem angegebenen werden trotzdem noch verwendet)"
++
++#: c.opt:880
++msgid "Do not search standard system include directories for C++"
++msgstr "Standard-System-Einfügeverzeichnisse nicht für C++ durchsuchen"
++
++#: c.opt:896
++msgid "Generate C header of platform-specific features"
++msgstr "C-Header mit Plattform-spezifischen Merkmalen erzeugen"
++
++#: c.opt:900
++msgid "Print a checksum of the executable for PCH validity checking, and stop"
++msgstr "Eine Prüfsumme der ausführbaren Datei für PCH-Gültigkeitsüberprüfung ausgeben, und anhalten"
++
++#: c.opt:904
++msgid "Remap file names when including files"
++msgstr "Dateinamen beim Einfügen von Dateien neu abbilden"
++
++#: c.opt:908
++msgid "Conform to the ISO 1998 C++ standard"
++msgstr "Mit dem Standard ISO 1998 C++ übereinstimmen"
++
++#: c.opt:912
++msgid "Conform to the ISO 1998 C++ standard, with extensions that are likely to"
++msgstr "Mit dem Standard ISO 1998 C++ mit geeigneten Erweiterungen übereinstimmen"
++
++#: c.opt:919 c.opt:954
++msgid "Conform to the ISO 1990 C standard"
++msgstr "Mit dem Standard ISO 1990 C übereinstimmen"
++
++#: c.opt:923 c.opt:962
++msgid "Conform to the ISO 1999 C standard"
++msgstr "Mit dem Standard ISO 1999 C übereinstimmen"
++
++#: c.opt:927
++msgid "Deprecated in favor of -std=c99"
++msgstr "Veraltet zugunsten von -std=c99"
++
++#: c.opt:931
++msgid "Conform to the ISO 1998 C++ standard with GNU extensions"
++msgstr "Mit dem Standard ISO 1998 C++ mit GNU-Erweiterungen übereinstimmen"
++
++#: c.opt:935
++msgid "Conform to the ISO 1998 C++ standard, with GNU extensions and"
++msgstr "Mit dem Standard ISO 1998 C++ mit GNU-Erweiterungen übereinstimmen und"
++
++#: c.opt:942
++msgid "Conform to the ISO 1990 C standard with GNU extensions"
++msgstr "Mit dem Standard ISO 1990 C mit GNU-Erweiterungen übereinstimmen"
++
++#: c.opt:946
++msgid "Conform to the ISO 1999 C standard with GNU extensions"
++msgstr "Mit dem Standard ISO 1999 C mit GNU-Erweiterungen übereinstimmen"
++
++#: c.opt:950
++msgid "Deprecated in favor of -std=gnu99"
++msgstr "Veraltet zugunsten von -std=gnu99"
++
++#: c.opt:958
++msgid "Conform to the ISO 1990 C standard as amended in 1994"
++msgstr "Mit dem Standard ISO 1990 C, wie 1994 erweitert, übereinstimmen"
++
++#: c.opt:966
++msgid "Deprecated in favor of -std=iso9899:1999"
++msgstr "Veraltet zugunsten von -std=iso9899:1999"
++
++#: c.opt:970
++msgid "Enable traditional preprocessing"
++msgstr "Traditionelle Vorverarbeitung einschalten"
++
++#: c.opt:974
++msgid "Support ISO C trigraphs"
++msgstr "Trigraphs nach ISO C unterstützen"
++
++#: c.opt:978
++msgid "Do not predefine system-specific and GCC-specific macros"
++msgstr "Keine system- oder GCC-spezifischen Makros vordefinieren"
++
++#: c.opt:982
++msgid "Enable verbose output"
++msgstr "Wortreiche Ausgabe einschalten"
++
++#: ada/lang.opt:96
++msgid "Specify options to GNAT"
++msgstr "Optionen für GNAT angeben"
++
+ #: attribs.c:244
+ #, gcc-internal-format
+ msgid "%qs attribute directive ignored"
+@@ -16578,47 +16544,47 @@
+ msgid "offset outside bounds of constant string"
+ msgstr "Adressabstand ist außerhalb der Grenzen der konstanten Zeichenkette"
+
+-#: builtins.c:1001
++#: builtins.c:1015
+ #, gcc-internal-format
+ msgid "second argument to %<__builtin_prefetch%> must be a constant"
+ msgstr "Zweites Argument für %<__builtin_prefetch%> muss eine Konstante sein"
+
+-#: builtins.c:1008
++#: builtins.c:1022
+ #, gcc-internal-format
+ msgid "invalid second argument to %<__builtin_prefetch%>; using zero"
+ msgstr "Ungültiges zweites Argument für %<__builtin_prefetch%>; es wird Null verwendet"
+
+-#: builtins.c:1016
++#: builtins.c:1030
+ #, gcc-internal-format
+ msgid "third argument to %<__builtin_prefetch%> must be a constant"
+ msgstr "Drittes Argument für %<__builtin_prefetch%> muss eine Konstante sein"
+
+-#: builtins.c:1023
++#: builtins.c:1037
+ #, gcc-internal-format
+ msgid "invalid third argument to %<__builtin_prefetch%>; using zero"
+ msgstr "Ungültiges drittes Argument für %<__builtin_prefetch%>; es wird Null verwendet"
+
+-#: builtins.c:4592
++#: builtins.c:4608
+ #, gcc-internal-format
+ msgid "argument of %<__builtin_args_info%> must be constant"
+ msgstr "Argument von %<__builtin_args_info%> muss konstant sein"
+
+-#: builtins.c:4598
++#: builtins.c:4614
+ #, gcc-internal-format
+ msgid "argument of %<__builtin_args_info%> out of range"
+ msgstr "Argument von %<__builtin_args_info%> außerhalb des Wertebereichs"
+
+-#: builtins.c:4604
++#: builtins.c:4620
+ #, gcc-internal-format
+ msgid "missing argument in %<__builtin_args_info%>"
+ msgstr "Fehlendes Argument in %<__builtin_args_info%>"
+
+-#: builtins.c:4693 gimplify.c:2117
++#: builtins.c:4709 gimplify.c:2118
+ #, gcc-internal-format
+ msgid "too few arguments to function %<va_start%>"
+ msgstr "Zu wenige Argumente für %<va_start%>"
+
+-#: builtins.c:4857
++#: builtins.c:4872
+ #, gcc-internal-format
+ msgid "first argument to %<va_arg%> not of type %<va_list%>"
+ msgstr "Erstes Argument für %<va_arg%> nicht vom Typ %<va_list%>"
+@@ -16626,93 +16592,103 @@
+ #. Unfortunately, this is merely undefined, rather than a constraint
+ #. violation, so we cannot make this an error. If this call is never
+ #. executed, the program is still strictly conforming.
+-#: builtins.c:4871
++#: builtins.c:4886
+ #, gcc-internal-format
+ msgid "%qT is promoted to %qT when passed through %<...%>"
+ msgstr "%qT auf %qT erweitert beim Durchlaufen von %<...%>"
+
+-#: builtins.c:4876
++#: builtins.c:4891
+ #, gcc-internal-format
+ msgid "(so you should pass %qT not %qT to %<va_arg%>)"
+ msgstr "(Es sollte also %qT statt %qT an %<va_arg%> übergeben werden)"
+
+ #. We can, however, treat "undefined" any way we please.
+ #. Call abort to encourage the user to fix the program.
+-#: builtins.c:4882 c-typeck.c:2408
++#: builtins.c:4897 c-typeck.c:2419
+ #, gcc-internal-format
+ msgid "if this code is reached, the program will abort"
+ msgstr "Wenn dieser Code erreicht wird, wird das Programm abgebrochen"
+
+-#: builtins.c:5000
++#: builtins.c:5015
+ #, gcc-internal-format
+ msgid "invalid argument to %<__builtin_frame_address%>"
+ msgstr "Ungültiges Argument für %<__builtin_frame_address%>"
+
+-#: builtins.c:5002
++#: builtins.c:5017
+ #, gcc-internal-format
+ msgid "invalid argument to %<__builtin_return_address%>"
+ msgstr "Ungültiges Argument für %<__builtin_return_address%>"
+
+-#: builtins.c:5015
++#: builtins.c:5030
+ #, gcc-internal-format
+ msgid "unsupported argument to %<__builtin_frame_address%>"
+ msgstr "Nicht unterstütztes Argument für %<__builtin_frame_address%>"
+
+-#: builtins.c:5017
++#: builtins.c:5032
+ #, gcc-internal-format
+ msgid "unsupported argument to %<__builtin_return_address%>"
+ msgstr "Nicht unterstütztes Argument für %<__builtin_return_address%>"
+
+-#: builtins.c:5564
++#: builtins.c:5579
+ #, gcc-internal-format
+ msgid "both arguments to %<__builtin___clear_cache%> must be pointers"
+ msgstr "beide Argumente für %<__builtin___clear_cache%> müssen Zeiger sein"
+
+ #. All valid uses of __builtin_va_arg_pack () are removed during
+ #. inlining.
+-#: builtins.c:6276 expr.c:8024
++#: builtins.c:6291 expr.c:8023
+ msgid "%Kinvalid use of %<__builtin_va_arg_pack ()%>"
+ msgstr "%Kungültige Verwendung von %<__builtin_va_arg_pack ()%>"
+
+ #. All valid uses of __builtin_va_arg_pack_len () are removed during
+ #. inlining.
+-#: builtins.c:6282
++#: builtins.c:6297
+ msgid "%Kinvalid use of %<__builtin_va_arg_pack_len ()%>"
+ msgstr "%Kungültige Verwendung von %<__builtin_va_arg_pack_len ()%>"
+
+-#: builtins.c:6578
++#: builtins.c:6593
+ #, gcc-internal-format
+ msgid "%<__builtin_longjmp%> second argument must be 1"
+ msgstr "Zweites Argument für %<__builtin_longjmp%> muss 1 sein"
+
+-#: builtins.c:7209
++#: builtins.c:7224
+ #, gcc-internal-format
+ msgid "target format does not support infinity"
+ msgstr "Zielformat unterstützt nicht »unendlich«"
+
+-#: builtins.c:9623 builtins.c:9712
++#: builtins.c:9638 builtins.c:9727 builtins.c:10082
+ #, gcc-internal-format
+ msgid "non-floating-point argument to function %qs"
+ msgstr "Nicht-Gleitkomma-Argument für Funktion %qs"
+
+-#: builtins.c:11303
++#: builtins.c:10446 builtins.c:10466
+ #, gcc-internal-format
++msgid "too few arguments to function %qs"
++msgstr "Zu wenige Argumente für Funktion %qs"
++
++#: builtins.c:10452 builtins.c:10472
++#, gcc-internal-format
++msgid "too many arguments to function %qs"
++msgstr "zu viele Argumente für Funktion %qs"
++
++#: builtins.c:11377
++#, gcc-internal-format
+ msgid "%<va_start%> used in function with fixed args"
+ msgstr "%<va_start%> in Funktion mit fester Parameterzahl verwendet"
+
+-#: builtins.c:11311
++#: builtins.c:11385
+ #, gcc-internal-format
+ msgid "wrong number of arguments to function %<va_start%>"
+ msgstr "falsche Anzahl der Argumente für Funktion %<va_start%>"
+
+ #. Evidently an out of date version of <stdarg.h>; can't validate
+ #. va_start's second argument, but can still work as intended.
+-#: builtins.c:11324
++#: builtins.c:11398
+ #, gcc-internal-format
+ msgid "%<__builtin_next_arg%> called without an argument"
+ msgstr "%<__builtin_next_arg%> ohne Argument gerufen"
+
+-#: builtins.c:11329
++#: builtins.c:11403
+ #, gcc-internal-format
+ msgid "wrong number of arguments to function %<__builtin_next_arg%>"
+ msgstr "falsche Anzahl der Argumente für Funktion %<__builtin_next_arg%>"
+@@ -16722,24 +16698,24 @@
+ #. argument. We just warn and set the arg to be the last
+ #. argument so that we will get wrong-code because of
+ #. it.
+-#: builtins.c:11358
++#: builtins.c:11432
+ #, gcc-internal-format
+ msgid "second parameter of %<va_start%> not last named argument"
+ msgstr "Zweiter Parameter von %<va_start%> ist nicht letztgenanntes Argument"
+
+-#: builtins.c:11472
++#: builtins.c:11546
+ msgid "%Kfirst argument of %D must be a pointer, second integer constant"
+ msgstr "%Kerstes Argument von %D muss ein Zeiger, das zweite eine Ganzzahlkonstante sein"
+
+-#: builtins.c:11485
++#: builtins.c:11559
+ msgid "%Klast argument of %D is not integer constant between 0 and 3"
+ msgstr "%Kletztes Argument von %D ist keine Ganzzahlkonstante zwischen 0 und 3"
+
+-#: builtins.c:11529 builtins.c:11693 builtins.c:11752
++#: builtins.c:11603 builtins.c:11767 builtins.c:11826
+ msgid "%Kcall to %D will always overflow destination buffer"
+ msgstr "%KAufruf von %D wird den Zielpuffer immer überlaufen lassen"
+
+-#: builtins.c:11683
++#: builtins.c:11757
+ msgid "%Kcall to %D might overflow destination buffer"
+ msgstr "%KAufruf von %D könnte Zielpuffer überlaufen lassen"
+
+@@ -16862,440 +16838,440 @@
+ msgid "conversion to %qT alters %qT constant value"
+ msgstr "Umformung in %qT ändert konstanten Wert von %qT"
+
+-#: c-common.c:1296
++#: c-common.c:1299
+ #, gcc-internal-format
+ msgid "conversion to %qT from %qT may change the sign of the result"
+ msgstr "Umwandlung in %qT von %qT könnte das Vorzeichen des Ergebnisses ändern"
+
+-#: c-common.c:1325
++#: c-common.c:1328
+ #, gcc-internal-format
+ msgid "conversion to %qT from %qT may alter its value"
+ msgstr "Umwandlung in %qT von %qT könnte den Wert ändern"
+
+-#: c-common.c:1353
++#: c-common.c:1356
+ #, gcc-internal-format
+ msgid "large integer implicitly truncated to unsigned type"
+ msgstr "Große Ganzzahl implizit auf vorzeichenlosen Typen abgeschnitten"
+
+-#: c-common.c:1359 c-common.c:1366 c-common.c:1374
++#: c-common.c:1362 c-common.c:1369 c-common.c:1377
+ #, gcc-internal-format
+ msgid "overflow in implicit constant conversion"
+ msgstr "Ãœberlauf in impliziter Konstantenkonvertierung"
+
+-#: c-common.c:1528
++#: c-common.c:1531
+ #, gcc-internal-format
+ msgid "operation on %qE may be undefined"
+ msgstr "Operation auf %qE könnte undefiniert sein"
+
+-#: c-common.c:1821
++#: c-common.c:1824
+ #, gcc-internal-format
+ msgid "case label does not reduce to an integer constant"
+ msgstr "case-Marke reduziert nicht auf Ganzzahlkonstante"
+
+-#: c-common.c:1861
++#: c-common.c:1864
+ #, gcc-internal-format
+ msgid "case label value is less than minimum value for type"
+ msgstr "case-Marke ist kleiner als Minimalwert des Typs"
+
+-#: c-common.c:1869
++#: c-common.c:1872
+ #, gcc-internal-format
+ msgid "case label value exceeds maximum value for type"
+ msgstr "case-Marke überschreitet Maximalwert des Typs"
+
+-#: c-common.c:1877
++#: c-common.c:1880
+ #, gcc-internal-format
+ msgid "lower value in case label range less than minimum value for type"
+ msgstr "Unterer Wert in case-Marken-Bereich ist kleiner als der Minimalwert des Typs"
+
+-#: c-common.c:1886
++#: c-common.c:1889
+ #, gcc-internal-format
+ msgid "upper value in case label range exceeds maximum value for type"
+ msgstr "Oberer Wert in case-Marken-Bereich überschreitet den Maximalwert des Typs"
+
+-#: c-common.c:1960
++#: c-common.c:1963
+ #, gcc-internal-format
+ msgid "GCC cannot support operators with integer types and fixed-point types that have too many integral and fractional bits together"
+ msgstr "GCC kann keine Operatoren mit Ganzzahl- und Festkommatypen unterstützen, die zusammen zu viele Ganzzahl- und Bruch-Bits haben"
+
+-#: c-common.c:2450
++#: c-common.c:2453
+ #, gcc-internal-format
+ msgid "invalid operands to binary %s (have %qT and %qT)"
+ msgstr "Ungültige Operanden für binäres %s (haben %qT und %qT)"
+
+-#: c-common.c:2686
++#: c-common.c:2689
+ #, gcc-internal-format
+ msgid "comparison is always false due to limited range of data type"
+ msgstr "Vergleich ist durch beschränkten Wertebereich des Datentyps stets »unwahr«"
+
+-#: c-common.c:2688
++#: c-common.c:2691
+ #, gcc-internal-format
+ msgid "comparison is always true due to limited range of data type"
+ msgstr "Vergleich ist durch beschränkten Wertebereich des Datentyps stets »wahr«"
+
+-#: c-common.c:2767
++#: c-common.c:2770
+ #, gcc-internal-format
+ msgid "comparison of unsigned expression >= 0 is always true"
+ msgstr "Vergleich eines vorzeichenlosen Ausdrucks >= 0 ist stets »wahr«"
+
+-#: c-common.c:2777
++#: c-common.c:2780
+ #, gcc-internal-format
+ msgid "comparison of unsigned expression < 0 is always false"
+ msgstr "Vergleich eines vorzeichenlosen Ausdrucks < 0 ist stets »unwahr«"
+
+-#: c-common.c:2818
++#: c-common.c:2821
+ #, gcc-internal-format
+ msgid "pointer of type %<void *%> used in arithmetic"
+ msgstr "Zeiger auf Typen %<void *%> in Arithmetik verwendet"
+
+-#: c-common.c:2824
++#: c-common.c:2827
+ #, gcc-internal-format
+ msgid "pointer to a function used in arithmetic"
+ msgstr "Zeiger auf Funktion in Arithmetik verwendet"
+
+-#: c-common.c:2830
++#: c-common.c:2833
+ #, gcc-internal-format
+ msgid "pointer to member function used in arithmetic"
+ msgstr "Zeiger auf Elementfunktion in Arithmetik verwendet"
+
+-#: c-common.c:2982
++#: c-common.c:2985
+ #, gcc-internal-format
+ msgid "the address of %qD will always evaluate as %<true%>"
+ msgstr "Die Adresse von %qD wird immer zu %<wahr%> auswerten"
+
+-#: c-common.c:3051 cp/semantics.c:596 cp/typeck.c:6411
++#: c-common.c:3054 cp/semantics.c:597 cp/typeck.c:6438
+ #, gcc-internal-format
+ msgid "suggest parentheses around assignment used as truth value"
+ msgstr "Um Zuweisung, die als Wahrheitswert verwendet wird, werden Klammern empfohlen"
+
+-#: c-common.c:3123 c-typeck.c:8958
++#: c-common.c:3126 c-typeck.c:8969
+ #, gcc-internal-format
+ msgid "invalid use of %<restrict%>"
+ msgstr "Ungültige Verwendung von %<restrict%>"
+
+-#: c-common.c:3339
++#: c-common.c:3346
+ #, gcc-internal-format
+ msgid "invalid application of %<sizeof%> to a function type"
+ msgstr "Ungültige Anwendung von %<sizeof%> auf einen Funktionstypen"
+
+-#: c-common.c:3349
++#: c-common.c:3356
+ #, gcc-internal-format
+ msgid "invalid application of %qs to a void type"
+ msgstr "Ungültige Anwendung von %qs auf einen void-Typen"
+
+-#: c-common.c:3355
++#: c-common.c:3362
+ #, gcc-internal-format
+ msgid "invalid application of %qs to incomplete type %qT "
+ msgstr "Ungültige Anwendung von %qs auf unvollständigen Typen %qT"
+
+-#: c-common.c:3396
++#: c-common.c:3403
+ #, gcc-internal-format
+ msgid "%<__alignof%> applied to a bit-field"
+ msgstr "%<__alignof%> auf Bitfeld angewandt"
+
+-#: c-common.c:3969
++#: c-common.c:3976
+ #, gcc-internal-format
+ msgid "cannot disable built-in function %qs"
+ msgstr "Eingebaute Funktion %qs kann nicht abgeschaltet werden"
+
+-#: c-common.c:4172
++#: c-common.c:4179
+ #, gcc-internal-format
+ msgid "pointers are not permitted as case values"
+ msgstr "Zeiger sind nicht als case-Werte zugelassen"
+
+-#: c-common.c:4178
++#: c-common.c:4185
+ #, gcc-internal-format
+ msgid "range expressions in switch statements are non-standard"
+ msgstr "Wertebereichsausdrücke in switch-Anweisungen sind nicht standardkonform"
+
+-#: c-common.c:4204
++#: c-common.c:4211
+ #, gcc-internal-format
+ msgid "empty range specified"
+ msgstr "Leerer Wertebereich angegeben"
+
+-#: c-common.c:4264
++#: c-common.c:4271
+ #, gcc-internal-format
+ msgid "duplicate (or overlapping) case value"
+ msgstr "Doppelte (oder sich überschneidende) case-Werte"
+
+-#: c-common.c:4265
++#: c-common.c:4272
+ #, gcc-internal-format
+ msgid "%Jthis is the first entry overlapping that value"
+ msgstr "%JDies ist der erste Eintrag, der diesen Wert überschneidet"
+
+-#: c-common.c:4269
++#: c-common.c:4276
+ #, gcc-internal-format
+ msgid "duplicate case value"
+ msgstr "Doppelter case-Wert"
+
+-#: c-common.c:4270
++#: c-common.c:4277
+ #, gcc-internal-format
+ msgid "%Jpreviously used here"
+ msgstr "%JBereits hier verwendet"
+
+-#: c-common.c:4274
++#: c-common.c:4281
+ #, gcc-internal-format
+ msgid "multiple default labels in one switch"
+ msgstr "Mehrere Standardmarken in einem »switch«"
+
+-#: c-common.c:4275
++#: c-common.c:4282
+ #, gcc-internal-format
+ msgid "%Jthis is the first default label"
+ msgstr "%JDies ist die erste Standardmarke"
+
+-#: c-common.c:4324
++#: c-common.c:4331
+ #, gcc-internal-format
+ msgid "%Jcase value %qs not in enumerated type"
+ msgstr "%Jcase-Wert %qs nicht in Aufzählungstyp"
+
+-#: c-common.c:4327
++#: c-common.c:4334
+ #, gcc-internal-format
+ msgid "%Jcase value %qs not in enumerated type %qT"
+ msgstr "%Jcase-Wert %qs nicht in Aufzählungstyp %qT"
+
+-#: c-common.c:4385
++#: c-common.c:4392
+ #, gcc-internal-format
+ msgid "%Hswitch missing default case"
+ msgstr "%HDie Standardfallbehandlung in switch fehlt"
+
+-#: c-common.c:4448
++#: c-common.c:4455
+ #, gcc-internal-format
+ msgid "%Henumeration value %qE not handled in switch"
+ msgstr "%HAufzählungswert %qE wird nicht von switch behandelt"
+
+-#: c-common.c:4472
++#: c-common.c:4479
+ #, gcc-internal-format
+ msgid "taking the address of a label is non-standard"
+ msgstr "Das Ermitteln der Adresse einer Marke ist nicht standardkonform"
+
+-#: c-common.c:4622
++#: c-common.c:4629
+ #, gcc-internal-format
+ msgid "%qE attribute ignored for field of type %qT"
+ msgstr "Attribut %qE ignoriert für Feld vom Typ %qT"
+
+-#: c-common.c:4633 c-common.c:4652 c-common.c:4670 c-common.c:4697
+-#: c-common.c:4724 c-common.c:4750 c-common.c:4769 c-common.c:4793
+-#: c-common.c:4816 c-common.c:4839 c-common.c:4860 c-common.c:4881
+-#: c-common.c:4905 c-common.c:4931 c-common.c:4968 c-common.c:4995
+-#: c-common.c:5046 c-common.c:5130 c-common.c:5160 c-common.c:5179
+-#: c-common.c:5499 c-common.c:5559 c-common.c:5580 c-common.c:5644
+-#: c-common.c:5762 c-common.c:5828 c-common.c:5877 c-common.c:5923
+-#: c-common.c:5993 c-common.c:6017 c-common.c:6301 c-common.c:6324
++#: c-common.c:4640 c-common.c:4659 c-common.c:4677 c-common.c:4704
++#: c-common.c:4731 c-common.c:4757 c-common.c:4776 c-common.c:4800
++#: c-common.c:4823 c-common.c:4846 c-common.c:4867 c-common.c:4888
++#: c-common.c:4912 c-common.c:4938 c-common.c:4975 c-common.c:5002
++#: c-common.c:5045 c-common.c:5129 c-common.c:5159 c-common.c:5178
++#: c-common.c:5498 c-common.c:5558 c-common.c:5579 c-common.c:5643
++#: c-common.c:5761 c-common.c:5827 c-common.c:5876 c-common.c:5922
++#: c-common.c:5992 c-common.c:6016 c-common.c:6301 c-common.c:6324
+ #: c-common.c:6363
+ #, gcc-internal-format
+ msgid "%qE attribute ignored"
+ msgstr "Attribut %qE wird ignoriert"
+
+-#: c-common.c:4715 c-common.c:4741
++#: c-common.c:4722 c-common.c:4748
+ #, gcc-internal-format
+ msgid "%qE attribute conflicts with attribute %s"
+ msgstr "Attribut %qE steht mit Attribut %s in Konflikt"
+
+-#: c-common.c:4962
++#: c-common.c:4969
+ #, gcc-internal-format
+ msgid "%qE attribute have effect only on public objects"
+ msgstr "Attribut %qE wirkt sich nur auf öffentliche Objekte aus"
+
+-#: c-common.c:5067
++#: c-common.c:5066
+ #, gcc-internal-format
+ msgid "destructor priorities are not supported"
+ msgstr "Destruktorprioritäten werden nicht unterstützt"
+
+-#: c-common.c:5069
++#: c-common.c:5068
+ #, gcc-internal-format
+ msgid "constructor priorities are not supported"
+ msgstr "Konstruktorprioritäten werden nicht unterstützt"
+
+-#: c-common.c:5086
++#: c-common.c:5085
+ #, gcc-internal-format
+ msgid "destructor priorities from 0 to %d are reserved for the implementation"
+ msgstr "Destruktorprioritäten von 0 bis %d sind für die Implementierung vorbehalten"
+
+-#: c-common.c:5091
++#: c-common.c:5090
+ #, gcc-internal-format
+ msgid "constructor priorities from 0 to %d are reserved for the implementation"
+ msgstr "Konstruktorprioritäten von 0 bis %d sind für die Implementierung vorbehalten"
+
+-#: c-common.c:5099
++#: c-common.c:5098
+ #, gcc-internal-format
+ msgid "destructor priorities must be integers from 0 to %d inclusive"
+ msgstr "Destruktorprioritäten müssen Ganzzahlen von 0 bis einschließlich %d sein"
+
+-#: c-common.c:5102
++#: c-common.c:5101
+ #, gcc-internal-format
+ msgid "constructor priorities must be integers from 0 to %d inclusive"
+ msgstr "Konstruktorprioritäten müssen Ganzzahlen von 0 bis einschließlich %d sein"
+
+-#: c-common.c:5221
++#: c-common.c:5220
+ #, gcc-internal-format
+ msgid "unknown machine mode %qs"
+ msgstr "Unbekannter Maschinenzustand %qs"
+
+-#: c-common.c:5250
++#: c-common.c:5249
+ #, gcc-internal-format
+ msgid "specifying vector types with __attribute__ ((mode)) is deprecated"
+ msgstr "Angabe von Vektortypen mit __attribute__ ((Modus)) ist veraltet"
+
+-#: c-common.c:5253
++#: c-common.c:5252
+ #, gcc-internal-format
+ msgid "use __attribute__ ((vector_size)) instead"
+ msgstr "Stattdessen __attribute__ ((Vektorgröße)) verwenden"
+
+-#: c-common.c:5262
++#: c-common.c:5261
+ #, gcc-internal-format
+ msgid "unable to emulate %qs"
+ msgstr "%qs kann nicht emuliert werden"
+
+-#: c-common.c:5272
++#: c-common.c:5271
+ #, gcc-internal-format
+ msgid "invalid pointer mode %qs"
+ msgstr "Ungültiger Zeigermodus %qs"
+
+-#: c-common.c:5289
++#: c-common.c:5288
+ #, gcc-internal-format
+ msgid "signness of type and machine mode %qs don't match"
+ msgstr "Vorzeicheneigenschaft des Typen und Maschinenmodus %qs passen nicht zusammen"
+
+-#: c-common.c:5300
++#: c-common.c:5299
+ #, gcc-internal-format
+ msgid "no data type for mode %qs"
+ msgstr "Kein Datentyp für Zustand %qs"
+
+-#: c-common.c:5310
++#: c-common.c:5309
+ #, gcc-internal-format
+ msgid "cannot use mode %qs for enumeral types"
+ msgstr "Modus %qs kann nicht für Aufzählungstypen verwendet werden"
+
+-#: c-common.c:5337
++#: c-common.c:5336
+ #, gcc-internal-format
+ msgid "mode %qs applied to inappropriate type"
+ msgstr "Modus %qs auf unpassenden Typen angewendet"
+
+-#: c-common.c:5368
++#: c-common.c:5367
+ #, gcc-internal-format
+ msgid "%Jsection attribute cannot be specified for local variables"
+ msgstr "%JAbschnitts-Attribut kann nicht für lokale Variablen angegeben werden"
+
+-#: c-common.c:5379 config/bfin/bfin.c:4879 config/bfin/bfin.c:4930
++#: c-common.c:5378 config/bfin/bfin.c:4982 config/bfin/bfin.c:5033
+ #, gcc-internal-format
+ msgid "section of %q+D conflicts with previous declaration"
+ msgstr "Abschnitt von %q+D in Konflikt mit vorheriger Deklaration"
+
+-#: c-common.c:5388
++#: c-common.c:5387
+ #, gcc-internal-format
+ msgid "section attribute not allowed for %q+D"
+ msgstr "Abschnitts-Attribut nicht erlaubt für %q+D"
+
+-#: c-common.c:5394
++#: c-common.c:5393
+ #, gcc-internal-format
+ msgid "%Jsection attributes are not supported for this target"
+ msgstr "%JAbschnitts-Attribute werden für dieses Ziel nicht unterstützt"
+
+-#: c-common.c:5426
++#: c-common.c:5425
+ #, gcc-internal-format
+ msgid "requested alignment is not a constant"
+ msgstr "Verlangte Ausrichtung ist keine Konstante"
+
+-#: c-common.c:5431
++#: c-common.c:5430
+ #, gcc-internal-format
+ msgid "requested alignment is not a power of 2"
+ msgstr "Verlangte Ausrichtung ist keine Zweierpotenz"
+
+-#: c-common.c:5436
++#: c-common.c:5435
+ #, gcc-internal-format
+ msgid "requested alignment is too large"
+ msgstr "Verlangte Ausrichtung ist zu groß"
+
+-#: c-common.c:5462
++#: c-common.c:5461
+ #, gcc-internal-format
+ msgid "alignment may not be specified for %q+D"
+ msgstr "Für %q+D darf keine Ausrichtung angegeben werden"
+
+-#: c-common.c:5469
++#: c-common.c:5468
+ #, gcc-internal-format
+ msgid "alignment for %q+D was previously specified as %d and may not be decreased"
+ msgstr "Ausrichtung für %q+D wurde zuvor als %d angegeben und kann nicht verringert werden"
+
+-#: c-common.c:5473
++#: c-common.c:5472
+ #, gcc-internal-format
+ msgid "alignment for %q+D must be at least %d"
+ msgstr "Ausrichtung für %q+D muss mindestens %d sein"
+
+-#: c-common.c:5522
++#: c-common.c:5521
+ #, gcc-internal-format
+ msgid "%q+D defined both normally and as an alias"
+ msgstr "%q+D sowohl normal als auch als Alias definiert"
+
+-#: c-common.c:5538
++#: c-common.c:5537
+ #, gcc-internal-format
+ msgid "alias argument not a string"
+ msgstr "Alias-Argument ist keine Zeichenkette"
+
+-#: c-common.c:5601
++#: c-common.c:5600
+ #, gcc-internal-format
+ msgid "%Jweakref attribute must appear before alias attribute"
+ msgstr "%JAttribut weakref muss vor Attribut alias auftreten"
+
+-#: c-common.c:5631
++#: c-common.c:5630
+ #, gcc-internal-format
+ msgid "%qE attribute ignored on non-class types"
+ msgstr "Attribut %qE ignoriert für Nicht-Klassen-Typen"
+
+-#: c-common.c:5637
++#: c-common.c:5636
+ #, gcc-internal-format
+ msgid "%qE attribute ignored because %qT is already defined"
+ msgstr "Attribut %qE ignoriert, da %qT bereits definiert ist"
+
+-#: c-common.c:5650
++#: c-common.c:5649
+ #, gcc-internal-format
+ msgid "visibility argument not a string"
+ msgstr "Sichtbarkeitsargument ist keine Zeichenkette"
+
+-#: c-common.c:5662
++#: c-common.c:5661
+ #, gcc-internal-format
+ msgid "%qE attribute ignored on types"
+ msgstr "Attribut %qE für Typen ignoriert"
+
+-#: c-common.c:5678
++#: c-common.c:5677
+ #, gcc-internal-format
+ msgid "visibility argument must be one of \"default\", \"hidden\", \"protected\" or \"internal\""
+ msgstr "Sichtbarkeitsargument muss »default«, »hidden«, »protected« oder »internal« sein"
+
+-#: c-common.c:5689
++#: c-common.c:5688
+ #, gcc-internal-format
+ msgid "%qD redeclared with different visibility"
+ msgstr "%qD mit anderer Sichtbarkeit redeklariert"
+
+-#: c-common.c:5692 c-common.c:5696
++#: c-common.c:5691 c-common.c:5695
+ #, gcc-internal-format
+ msgid "%qD was declared %qs which implies default visibility"
+ msgstr "%qD wurde als %qs deklariert, was Standardsichtbarkeit bedeutet"
+
+-#: c-common.c:5770
++#: c-common.c:5769
+ #, gcc-internal-format
+ msgid "tls_model argument not a string"
+ msgstr "Argument für tls_model ist keine Zeichenkette"
+
+-#: c-common.c:5783
++#: c-common.c:5782
+ #, gcc-internal-format
+ msgid "tls_model argument must be one of \"local-exec\", \"initial-exec\", \"local-dynamic\" or \"global-dynamic\""
+ msgstr "Argument für tls_model muss »local-exec«, »initial-exec«, »local-dynamic« oder »global-dynamic« sein"
+
+-#: c-common.c:5802 c-common.c:5897
++#: c-common.c:5801 c-common.c:5896
+ #, gcc-internal-format
+ msgid "%J%qE attribute applies only to functions"
+ msgstr "%JAttribut %qE kann nur auf Funktionen angewandt werden"
+
+-#: c-common.c:5807 c-common.c:5902
++#: c-common.c:5806 c-common.c:5901
+ #, gcc-internal-format
+ msgid "%Jcan%'t set %qE attribute after definition"
+ msgstr "%JAttribut %qE kann nicht nach der Definition gesetzt werden"
+
+-#: c-common.c:5858
++#: c-common.c:5857
+ #, gcc-internal-format
+ msgid "alloc_size parameter outside range"
+ msgstr "Parameter alloc_size außerhalb des Wertebereiches"
+
+-#: c-common.c:5991
++#: c-common.c:5990
+ #, gcc-internal-format
+ msgid "%qE attribute ignored for %qE"
+ msgstr "Attribut %qE ignoriert für %qE"
+@@ -17405,7 +17381,7 @@
+ msgid "cannot apply %<offsetof%> when %<operator[]%> is overloaded"
+ msgstr "%<offsetof%> kann nicht angewandt werden, wenn %<operator[]%> überladen ist"
+
+-#: c-common.c:6818 cp/typeck.c:4525
++#: c-common.c:6818 cp/typeck.c:4533
+ #, gcc-internal-format
+ msgid "attempt to take address of bit-field structure member %qD"
+ msgstr "Versuch, die Adresse des Bitfeldstrukturelements %qD zu ermitteln"
+@@ -17440,14 +17416,14 @@
+ msgid "size of array is too large"
+ msgstr "Feldgröße ist zu groß"
+
+-#: c-common.c:7041 c-common.c:7090 c-typeck.c:2705
++#: c-common.c:7041 c-common.c:7090 c-typeck.c:2716
+ #, gcc-internal-format
+ msgid "too few arguments to function %qE"
+ msgstr "Zu wenige Argumente für Funktion %qE"
+
+ #. ??? This should not be an error when inlining calls to
+ #. unprototyped functions.
+-#: c-common.c:7058 c-typeck.c:4374
++#: c-common.c:7058 c-typeck.c:4385
+ #, gcc-internal-format
+ msgid "incompatible type for argument %d of %qE"
+ msgstr "Inkompatibler Typ für Argument %d von %qE"
+@@ -17527,8 +17503,8 @@
+ #. an unprototyped function, it is compile-time undefined;
+ #. making it a constraint in that case was rejected in
+ #. DR#252.
+-#: c-convert.c:95 c-typeck.c:1775 c-typeck.c:4012 cp/typeck.c:1502
+-#: cp/typeck.c:5717 cp/typeck.c:6325 fortran/convert.c:88
++#: c-convert.c:95 c-typeck.c:1785 c-typeck.c:4023 cp/typeck.c:1548
++#: cp/typeck.c:5725 cp/typeck.c:6352 fortran/convert.c:88
+ #: treelang/tree-convert.c:79
+ #, gcc-internal-format
+ msgid "void value not ignored as it ought to be"
+@@ -17540,104 +17516,104 @@
+ msgid "conversion to non-scalar type requested"
+ msgstr "Konvertierung zu Nicht-Skalar-Typ verlangt"
+
+-#: c-decl.c:546
++#: c-decl.c:547
+ #, gcc-internal-format
+ msgid "array %q+D assumed to have one element"
+ msgstr "Feld %q+D als einelementig betrachtet"
+
+-#: c-decl.c:651
++#: c-decl.c:652
+ #, gcc-internal-format
+ msgid "GCC supports only %u nested scopes"
+ msgstr "GCC unterstützt nur %u geschachtelte Gültigkeitsbereiche"
+
+-#: c-decl.c:737 cp/decl.c:358
++#: c-decl.c:738 cp/decl.c:359
+ #, gcc-internal-format
+ msgid "label %q+D used but not defined"
+ msgstr "Marke %q+D verwendet, aber nicht definiert"
+
+-#: c-decl.c:778
++#: c-decl.c:779
+ #, gcc-internal-format
+ msgid "nested function %q+D declared but never defined"
+ msgstr "Geschachtelte Funktion %q+D deklariert, aber nirgendwo definiert"
+
+-#: c-decl.c:788
++#: c-decl.c:789
+ #, gcc-internal-format
+ msgid "inline function %q+D declared but never defined"
+ msgstr "Inline-Funktion %q+D deklariert, aber nirgendwo definiert"
+
+-#: c-decl.c:801 cp/decl.c:608
++#: c-decl.c:802 cp/decl.c:609
+ #, gcc-internal-format
+ msgid "unused variable %q+D"
+ msgstr "Variable %q+D wird nicht verwendet"
+
+-#: c-decl.c:805
++#: c-decl.c:806
+ #, gcc-internal-format
+ msgid "type of array %q+D completed incompatibly with implicit initialization"
+ msgstr "Typ des Feldes %q+D vervollständigt Unverträglichkeit mit impliziter Initialisierung"
+
+-#: c-decl.c:1039
++#: c-decl.c:1040
+ #, gcc-internal-format
+ msgid "a parameter list with an ellipsis can%'t match an empty parameter name list declaration"
+ msgstr "Eine Parameterliste mit Auslassung passt nicht zu einer leeren Parameternamenslistendeklaration"
+
+-#: c-decl.c:1046
++#: c-decl.c:1047
+ #, gcc-internal-format
+ msgid "an argument type that has a default promotion can%'t match an empty parameter name list declaration"
+ msgstr "Ein Argumenttyp mit Standard-Promotion passt nicht zu leerer Parameternamenslistendeklaration"
+
+-#: c-decl.c:1087
++#: c-decl.c:1088
+ #, gcc-internal-format
+ msgid "prototype for %q+D declares more arguments than previous old-style definition"
+ msgstr "Prototyp für %q+D deklariert mehr Argumente als vorherige Definition im alten Stil"
+
+-#: c-decl.c:1093
++#: c-decl.c:1094
+ #, gcc-internal-format
+ msgid "prototype for %q+D declares fewer arguments than previous old-style definition"
+ msgstr "Prototyp für %q+D deklariert weniger Argumente als vorherige Definition im alten Stil"
+
+-#: c-decl.c:1102
++#: c-decl.c:1103
+ #, gcc-internal-format
+ msgid "prototype for %q+D declares argument %d with incompatible type"
+ msgstr "Prototyp für %q+D deklariert Argument %d mit inkompatiblem Typen"
+
+ #. If we get here, no errors were found, but do issue a warning
+ #. for this poor-style construct.
+-#: c-decl.c:1115
++#: c-decl.c:1116
+ #, gcc-internal-format
+ msgid "prototype for %q+D follows non-prototype definition"
+ msgstr "Prototyp für %q+D folgt einer Nicht-Prototyp-Definition"
+
+-#: c-decl.c:1130
++#: c-decl.c:1131
+ #, gcc-internal-format
+ msgid "previous definition of %q+D was here"
+ msgstr "Vorherige Definition von %q+D war hier"
+
+-#: c-decl.c:1132
++#: c-decl.c:1133
+ #, gcc-internal-format
+ msgid "previous implicit declaration of %q+D was here"
+ msgstr "Vorherige implizite Deklaration von %q+D war hier"
+
+-#: c-decl.c:1134
++#: c-decl.c:1135
+ #, gcc-internal-format
+ msgid "previous declaration of %q+D was here"
+ msgstr "Vorherige Deklaration von %q+D war hier"
+
+-#: c-decl.c:1174
++#: c-decl.c:1175
+ #, gcc-internal-format
+ msgid "%q+D redeclared as different kind of symbol"
+ msgstr "%q+D als andere Symbolart redeklariert"
+
+-#: c-decl.c:1178
++#: c-decl.c:1179
+ #, gcc-internal-format
+ msgid "built-in function %q+D declared as non-function"
+ msgstr "Eingebaute Funktion %q+D als Nicht-Funktion deklariert"
+
+-#: c-decl.c:1181 c-decl.c:1298 c-decl.c:1983
++#: c-decl.c:1182 c-decl.c:1299 c-decl.c:1988
+ #, gcc-internal-format
+ msgid "declaration of %q+D shadows a built-in function"
+ msgstr "Deklaration von %q+D überdeckt eine eingebaute Funktion"
+
+-#: c-decl.c:1190
++#: c-decl.c:1191
+ #, gcc-internal-format
+ msgid "redeclaration of enumerator %q+D"
+ msgstr "Redeklaration von Aufzählung %q+D"
+@@ -17645,274 +17621,274 @@
+ #. If types don't match for a built-in, throw away the
+ #. built-in. No point in calling locate_old_decl here, it
+ #. won't print anything.
+-#: c-decl.c:1211
++#: c-decl.c:1212
+ #, gcc-internal-format
+ msgid "conflicting types for built-in function %q+D"
+ msgstr "In Konflikt stehende Typen für eingebaute Funktion %q+D"
+
+-#: c-decl.c:1235 c-decl.c:1248 c-decl.c:1258
++#: c-decl.c:1236 c-decl.c:1249 c-decl.c:1259
+ #, gcc-internal-format
+ msgid "conflicting types for %q+D"
+ msgstr "In Konflikt stehende Typen für %q+D"
+
+-#: c-decl.c:1256
++#: c-decl.c:1257
+ #, gcc-internal-format
+ msgid "conflicting type qualifiers for %q+D"
+ msgstr "In Konflikt stehende Typqualifizierer für %q+D"
+
+ #. Allow OLDDECL to continue in use.
+-#: c-decl.c:1273
++#: c-decl.c:1274
+ #, gcc-internal-format
+ msgid "redefinition of typedef %q+D"
+ msgstr "Redefinition des typedef %q+D"
+
+-#: c-decl.c:1324 c-decl.c:1426
++#: c-decl.c:1325 c-decl.c:1427
+ #, gcc-internal-format
+ msgid "redefinition of %q+D"
+ msgstr "Redefinition von %q+D"
+
+-#: c-decl.c:1359 c-decl.c:1464
++#: c-decl.c:1360 c-decl.c:1465
+ #, gcc-internal-format
+ msgid "static declaration of %q+D follows non-static declaration"
+ msgstr "Statische Deklaration von %q+D folgt nicht-statischer Deklaration"
+
+-#: c-decl.c:1369 c-decl.c:1376 c-decl.c:1453 c-decl.c:1461
++#: c-decl.c:1370 c-decl.c:1377 c-decl.c:1454 c-decl.c:1462
+ #, gcc-internal-format
+ msgid "non-static declaration of %q+D follows static declaration"
+ msgstr "Nicht-statische Deklaration von %q+D folgt statischer Deklaration"
+
+-#: c-decl.c:1393
++#: c-decl.c:1394
+ #, gcc-internal-format
+ msgid "%<gnu_inline%> attribute present on %q+D"
+ msgstr "Attribut %<gnu_inline%> vorhanden bei %q+D"
+
+-#: c-decl.c:1395
++#: c-decl.c:1396
+ #, gcc-internal-format
+ msgid "%Jbut not here"
+ msgstr "%Jaber nicht hier"
+
+-#: c-decl.c:1413
++#: c-decl.c:1414
+ #, gcc-internal-format
+ msgid "thread-local declaration of %q+D follows non-thread-local declaration"
+ msgstr "Thread-lokale Deklaration von %q+D folgt nicht-Thread-lokaler Deklaration"
+
+-#: c-decl.c:1416
++#: c-decl.c:1417
+ #, gcc-internal-format
+ msgid "non-thread-local declaration of %q+D follows thread-local declaration"
+ msgstr "Nicht-Thread-lokale Deklaration von %q+D folgt Thread-lokaler Deklaration"
+
+-#: c-decl.c:1446
++#: c-decl.c:1447
+ #, gcc-internal-format
+ msgid "extern declaration of %q+D follows declaration with no linkage"
+ msgstr "extern-Deklaration von %q+D folgt Deklaration ohne Bindung"
+
+-#: c-decl.c:1482
++#: c-decl.c:1483
+ #, gcc-internal-format
+ msgid "declaration of %q+D with no linkage follows extern declaration"
+ msgstr "Deklaration von %q+D ohne Bindung folgt einer extern-Deklaration"
+
+-#: c-decl.c:1488
++#: c-decl.c:1489
+ #, gcc-internal-format
+ msgid "redeclaration of %q+D with no linkage"
+ msgstr "Redeklaration von %q+D ohne Bindung"
+
+-#: c-decl.c:1502
++#: c-decl.c:1503
+ #, gcc-internal-format
+ msgid "redeclaration of %q+D with different visibility (old visibility preserved)"
+ msgstr "Redeklaration von %q+D mit anderer Sichtbarkeit (alte Sichtbarkeit beibehalten)"
+
+-#: c-decl.c:1513
++#: c-decl.c:1514
+ #, gcc-internal-format
+ msgid "inline declaration of %qD follows declaration with attribute noinline"
+ msgstr "inline-Deklaration von %qD folgt Deklaration mit Attribut noinline"
+
+-#: c-decl.c:1520
++#: c-decl.c:1521
+ #, gcc-internal-format
+ msgid "declaration of %q+D with attribute noinline follows inline declaration "
+ msgstr "Deklaration von %q+D mit Attribut noinline folgt inline-Deklaration "
+
+-#: c-decl.c:1539
++#: c-decl.c:1540
+ #, gcc-internal-format
+ msgid "%q+D declared inline after being called"
+ msgstr "%q+D als inline deklariert, nachdem es aufgerufen wurde"
+
+-#: c-decl.c:1544
++#: c-decl.c:1545
+ #, gcc-internal-format
+ msgid "%q+D declared inline after its definition"
+ msgstr "%q+D nach der Definition als inline deklariert"
+
+-#: c-decl.c:1563
++#: c-decl.c:1564
+ #, gcc-internal-format
+ msgid "redefinition of parameter %q+D"
+ msgstr "Redefinition des Parameters %q+D"
+
+-#: c-decl.c:1590
++#: c-decl.c:1591
+ #, gcc-internal-format
+ msgid "redundant redeclaration of %q+D"
+ msgstr "Redundante Redeklaration von %q+D"
+
+-#: c-decl.c:1970
++#: c-decl.c:1975
+ #, gcc-internal-format
+ msgid "declaration of %q+D shadows previous non-variable"
+ msgstr "Deklaration von %q+D überdeckt eine vorhergehende Nicht-Variable"
+
+-#: c-decl.c:1975
++#: c-decl.c:1980
+ #, gcc-internal-format
+ msgid "declaration of %q+D shadows a parameter"
+ msgstr "Deklaration von %q+D überdeckt einen Parameter"
+
+-#: c-decl.c:1978
++#: c-decl.c:1983
+ #, gcc-internal-format
+ msgid "declaration of %q+D shadows a global declaration"
+ msgstr "Deklaration von %q+D überdeckt eine globale Deklaration"
+
+-#: c-decl.c:1988
++#: c-decl.c:1993
+ #, gcc-internal-format
+ msgid "declaration of %q+D shadows a previous local"
+ msgstr "Deklaration von %q+D überdeckt einen vorhergehenden lokalen Bezeichner"
+
+-#: c-decl.c:1991 cp/name-lookup.c:988 cp/name-lookup.c:1019
+-#: cp/name-lookup.c:1027
++#: c-decl.c:1996 cp/name-lookup.c:987 cp/name-lookup.c:1018
++#: cp/name-lookup.c:1026
+ #, gcc-internal-format
+ msgid "%Jshadowed declaration is here"
+ msgstr "%JVerdeckte Deklaration ist hier"
+
+-#: c-decl.c:2183
++#: c-decl.c:2188
+ #, gcc-internal-format
+ msgid "nested extern declaration of %qD"
+ msgstr "Geschachtelte extern-Deklaration von %qD"
+
+-#: c-decl.c:2346 c-decl.c:2349
++#: c-decl.c:2351 c-decl.c:2354
+ #, gcc-internal-format
+ msgid "implicit declaration of function %qE"
+ msgstr "Implizite Deklaration der Funktion %qE"
+
+-#: c-decl.c:2411
++#: c-decl.c:2416
+ #, gcc-internal-format
+ msgid "incompatible implicit declaration of built-in function %qD"
+ msgstr "Unverträgliche implizite Deklaration der eingebauten Funktion %qD"
+
+-#: c-decl.c:2420
++#: c-decl.c:2425
+ #, gcc-internal-format
+ msgid "incompatible implicit declaration of function %qD"
+ msgstr "Unverträgliche implizite Deklaration der Funktion %qD"
+
+-#: c-decl.c:2473
++#: c-decl.c:2478
+ #, gcc-internal-format
+ msgid "%H%qE undeclared here (not in a function)"
+ msgstr "%H%qE ist hier nicht deklariert (nicht in einer Funktion)"
+
+-#: c-decl.c:2478
++#: c-decl.c:2483
+ #, gcc-internal-format
+ msgid "%H%qE undeclared (first use in this function)"
+ msgstr "%H%qE nicht deklariert (erste Benutzung in dieser Funktion)"
+
+-#: c-decl.c:2482
++#: c-decl.c:2487
+ #, gcc-internal-format
+ msgid "%H(Each undeclared identifier is reported only once"
+ msgstr "%H(Jeder nicht deklarierte Bezeichner wird nur einmal aufgeführt"
+
+-#: c-decl.c:2483
++#: c-decl.c:2488
+ #, gcc-internal-format
+ msgid "%Hfor each function it appears in.)"
+ msgstr "%Hfür jede Funktion in der er auftritt.)"
+
+-#: c-decl.c:2521 cp/decl.c:2397
++#: c-decl.c:2526 cp/decl.c:2404
+ #, gcc-internal-format
+ msgid "label %qE referenced outside of any function"
+ msgstr "Marke %qE außerhalb einer Funktion referenziert"
+
+-#: c-decl.c:2563
++#: c-decl.c:2568
+ #, gcc-internal-format
+ msgid "duplicate label declaration %qE"
+ msgstr "Doppelte Markendeklaration %qE"
+
+-#: c-decl.c:2599
++#: c-decl.c:2604
+ #, gcc-internal-format
+ msgid "%Hduplicate label %qD"
+ msgstr "%HDoppelte Marke %qD"
+
+-#: c-decl.c:2609
++#: c-decl.c:2614
+ #, gcc-internal-format
+ msgid "%Jjump into statement expression"
+ msgstr "%JSprung in Anweisungs-Ausdruck"
+
+-#: c-decl.c:2611
++#: c-decl.c:2616
+ #, gcc-internal-format
+ msgid "%Jjump into scope of identifier with variably modified type"
+ msgstr "%JIn Gültigkeitsbereich von Bezeichner mit variabel modifiziertem Typ springen"
+
+-#: c-decl.c:2626
++#: c-decl.c:2631
+ #, gcc-internal-format
+ msgid "%Htraditional C lacks a separate namespace for labels, identifier %qE conflicts"
+ msgstr "%HTraditionelles C bietet keinen separaten Namespace für Marken an, Bezeichner %qE steht in Konflikt"
+
+-#: c-decl.c:2701
++#: c-decl.c:2706
+ #, gcc-internal-format
+ msgid "%H%qE defined as wrong kind of tag"
+ msgstr "%H%qE als falsche Symbolart definiert"
+
+-#: c-decl.c:2903
++#: c-decl.c:2908
+ #, gcc-internal-format
+ msgid "unnamed struct/union that defines no instances"
+ msgstr "Unbenannte struct/union, die keine Instanzen definiert"
+
+-#: c-decl.c:2911
++#: c-decl.c:2916
+ #, gcc-internal-format
+ msgid "empty declaration with storage class specifier does not redeclare tag"
+ msgstr "Leere Deklaration mit Speicherklassenangabe redeklariert nicht Symbol"
+
+-#: c-decl.c:2922
++#: c-decl.c:2927
+ #, gcc-internal-format
+ msgid "empty declaration with type qualifier does not redeclare tag"
+ msgstr "Leere Deklaration mit Typqualifizierer redeklariert nicht Symbol"
+
+-#: c-decl.c:2943 c-decl.c:2950
++#: c-decl.c:2948 c-decl.c:2955
+ #, gcc-internal-format
+ msgid "useless type name in empty declaration"
+ msgstr "Nutzloser Typname in leerer Deklaration"
+
+-#: c-decl.c:2958
++#: c-decl.c:2963
+ #, gcc-internal-format
+ msgid "%<inline%> in empty declaration"
+ msgstr "%<inline%> in leerer Deklaration"
+
+-#: c-decl.c:2964
++#: c-decl.c:2969
+ #, gcc-internal-format
+ msgid "%<auto%> in file-scope empty declaration"
+ msgstr "%<auto%> in leerer Deklaration im Datei-Gültigkeitsbereich"
+
+-#: c-decl.c:2970
++#: c-decl.c:2975
+ #, gcc-internal-format
+ msgid "%<register%> in file-scope empty declaration"
+ msgstr "%<register%> in leerer Deklaration im Datei-Gültigkeitsbereich"
+
+-#: c-decl.c:2976
++#: c-decl.c:2981
+ #, gcc-internal-format
+ msgid "useless storage class specifier in empty declaration"
+ msgstr "Nutzlose Speicherklassenangabe in leerer Deklaration"
+
+-#: c-decl.c:2982
++#: c-decl.c:2987
+ #, gcc-internal-format
+ msgid "useless %<__thread%> in empty declaration"
+ msgstr "Nutzloses %<__thread%> in leerer Deklaration"
+
+-#: c-decl.c:2990
++#: c-decl.c:2995
+ #, gcc-internal-format
+ msgid "useless type qualifier in empty declaration"
+ msgstr "Nutzloser Typqualifizierer in leerer Deklaration"
+
+-#: c-decl.c:2997
++#: c-decl.c:3002
+ #, gcc-internal-format
+ msgid "empty declaration"
+ msgstr "Leere Deklaration"
+
+-#: c-decl.c:3063
++#: c-decl.c:3068
+ #, gcc-internal-format
+ msgid "ISO C90 does not support %<static%> or type qualifiers in parameter array declarators"
+ msgstr "ISO-C90 unterstützt kein %<static%> oder Typkennzeichner in Parameterfelddeklaratoren"
+
+-#: c-decl.c:3066
++#: c-decl.c:3071
+ #, gcc-internal-format
+ msgid "ISO C90 does not support %<[*]%> array declarators"
+ msgstr "ISO-C90 unterstützt nicht %<[*]%>-Felddeklaratoren"
+@@ -17920,253 +17896,248 @@
+ #. C99 6.7.5.2p4
+ #. A function definition isn't function prototype scope C99 6.2.1p4.
+ #. C99 6.7.5.2p4
+-#: c-decl.c:3073 c-decl.c:5015
++#: c-decl.c:3078 c-decl.c:5014
+ #, gcc-internal-format
+ msgid "%<[*]%> not allowed in other than function prototype scope"
+ msgstr "%<[*]%> außerhalb des Bereichs des Funktionsprototypen nicht erlaubt"
+
+-#: c-decl.c:3097
++#: c-decl.c:3181
+ #, gcc-internal-format
+-msgid "static or type qualifiers in abstract declarator"
+-msgstr "static oder Typkennzeichner in abstraktem Deklarator"
+-
+-#: c-decl.c:3183
+-#, gcc-internal-format
+ msgid "%q+D is usually a function"
+ msgstr "%q+D ist üblicherweise eine Funktion"
+
+-#: c-decl.c:3192 cp/decl.c:3983 cp/decl2.c:773
++#: c-decl.c:3190 cp/decl.c:4003 cp/decl2.c:773
+ #, gcc-internal-format
+ msgid "typedef %qD is initialized (use __typeof__ instead)"
+ msgstr "typedef %qD ist initialisiert (stattdessen lieber __typeof__ verwenden)"
+
+-#: c-decl.c:3197
++#: c-decl.c:3195
+ #, gcc-internal-format
+ msgid "function %qD is initialized like a variable"
+ msgstr "Funktion %qD ist wie eine Variable initialisiert"
+
+ #. DECL_INITIAL in a PARM_DECL is really DECL_ARG_TYPE.
+-#: c-decl.c:3203
++#: c-decl.c:3201
+ #, gcc-internal-format
+ msgid "parameter %qD is initialized"
+ msgstr "Parameter %qD ist initialisiert"
+
+-#: c-decl.c:3228
++#: c-decl.c:3226
+ #, gcc-internal-format
+ msgid "variable %qD has initializer but incomplete type"
+ msgstr "Variable %qD hat Initialisierung, aber unvollständigen Typ"
+
+-#: c-decl.c:3316 c-decl.c:6108 cp/decl.c:4025 cp/decl.c:10985
++#: c-decl.c:3314 c-decl.c:6107 cp/decl.c:4045 cp/decl.c:11083
+ #, gcc-internal-format
+ msgid "inline function %q+D given attribute noinline"
+ msgstr "inline-Funktion %q+D wurde das Attribut »noinline« gegeben"
+
+-#: c-decl.c:3327
++#: c-decl.c:3326
+ #, gcc-internal-format
+ msgid "%q+D is static but declared in inline function %qD which is not static"
+ msgstr "%q+D ist statisch, aber in Inline-Funktion %qD deklariert, was nicht statisch ist"
+
+-#: c-decl.c:3418
++#: c-decl.c:3417
+ #, gcc-internal-format
+ msgid "initializer fails to determine size of %q+D"
+ msgstr "Initialisierung gibt nicht die Größe von %q+D an"
+
+-#: c-decl.c:3423
++#: c-decl.c:3422
+ #, gcc-internal-format
+ msgid "array size missing in %q+D"
+ msgstr "Feldgröße fehlt in %q+D"
+
+-#: c-decl.c:3435
++#: c-decl.c:3434
+ #, gcc-internal-format
+ msgid "zero or negative size array %q+D"
+ msgstr "Feldgröße von %q+D ist null oder negativ"
+
+-#: c-decl.c:3490 varasm.c:2067
++#: c-decl.c:3489 varasm.c:2067
+ #, gcc-internal-format
+ msgid "storage size of %q+D isn%'t known"
+ msgstr "Speichergröße von %q+D ist unbekannt"
+
+-#: c-decl.c:3500
++#: c-decl.c:3499
+ #, gcc-internal-format
+ msgid "storage size of %q+D isn%'t constant"
+ msgstr "Speichergröße von %q+D ist nicht konstant"
+
+-#: c-decl.c:3545
++#: c-decl.c:3544
+ #, gcc-internal-format
+ msgid "ignoring asm-specifier for non-static local variable %q+D"
+ msgstr "asm-Symbol für nicht-statische lokale Variable %q+D wird ignoriert"
+
+-#: c-decl.c:3573 fortran/f95-lang.c:653
++#: c-decl.c:3572 fortran/f95-lang.c:655
+ #, gcc-internal-format
+ msgid "cannot put object with volatile field into register"
+ msgstr "Objekt mit volatile-Feld kann nicht in Register geladen werden"
+
+-#: c-decl.c:3702
++#: c-decl.c:3701
+ #, gcc-internal-format
+ msgid "ISO C forbids forward parameter declarations"
+ msgstr "ISO-C verbietet Vorwärtsdeklaration für Parameter"
+
+-#: c-decl.c:3821
++#: c-decl.c:3820
+ #, gcc-internal-format
+ msgid "bit-field %qs width not an integer constant"
+ msgstr "Breite des Bitfeldes %qs ist keine Ganzzahlkonstante"
+
+-#: c-decl.c:3829
++#: c-decl.c:3828
+ #, gcc-internal-format
+ msgid "negative width in bit-field %qs"
+ msgstr "Negative Breite in Bitfeld %qs"
+
+-#: c-decl.c:3834
++#: c-decl.c:3833
+ #, gcc-internal-format
+ msgid "zero width for bit-field %qs"
+ msgstr "Breite Null für Bitfeld %qs"
+
+-#: c-decl.c:3844
++#: c-decl.c:3843
+ #, gcc-internal-format
+ msgid "bit-field %qs has invalid type"
+ msgstr "Bitfeld %qs hat ungültigen Typen"
+
+-#: c-decl.c:3854
++#: c-decl.c:3853
+ #, gcc-internal-format
+ msgid "type of bit-field %qs is a GCC extension"
+ msgstr "Typ des Bitfeldes %qs ist eine Erweiterung des GCC"
+
+-#: c-decl.c:3860
++#: c-decl.c:3859
+ #, gcc-internal-format
+ msgid "width of %qs exceeds its type"
+ msgstr "Breite von %qs überschreitet dessen Typen"
+
+-#: c-decl.c:3873
++#: c-decl.c:3872
+ #, gcc-internal-format
+ msgid "%qs is narrower than values of its type"
+ msgstr "%qs ist schmaler als die Werte seines Typs"
+
+-#: c-decl.c:3892
++#: c-decl.c:3891
+ #, gcc-internal-format
+ msgid "ISO C90 forbids array %qs whose size can%'t be evaluated"
+ msgstr "ISO-C90 verbietet Feld %qs, dessen Größe nicht ausgewertet werden kann"
+
+-#: c-decl.c:3896
++#: c-decl.c:3895
+ #, gcc-internal-format
+ msgid "ISO C90 forbids array whose size can%'t be evaluated"
+ msgstr "ISO-C90 verbietet Feld, dessen Größe nicht ausgewertet werden kann"
+
+-#: c-decl.c:3902
++#: c-decl.c:3901
+ #, gcc-internal-format
+ msgid "ISO C90 forbids variable length array %qs"
+ msgstr "ISO-C90 verbietet Feld %qs variabler Größe"
+
+-#: c-decl.c:3905
++#: c-decl.c:3904
+ #, gcc-internal-format
+ msgid "ISO C90 forbids variable length array"
+ msgstr "ISO-C90 verbietet Feld variabler Größe"
+
+-#: c-decl.c:3914
++#: c-decl.c:3913
+ #, gcc-internal-format
+ msgid "the size of array %qs can%'t be evaluated"
+ msgstr "die Größe des Feldes %qs kann nicht ausgewertet werden"
+
+-#: c-decl.c:3918
++#: c-decl.c:3917
+ #, gcc-internal-format
+ msgid "the size of array can %'t be evaluated"
+ msgstr "die Größe eines Feldes kann nicht ausgewertet werden"
+
+-#: c-decl.c:3924
++#: c-decl.c:3923
+ #, gcc-internal-format
+ msgid "variable length array %qs is used"
+ msgstr "Feld %qs variabler Größe wird verwendet"
+
+-#: c-decl.c:3928 cp/decl.c:7004
++#: c-decl.c:3927 cp/decl.c:7076
+ #, gcc-internal-format
+ msgid "variable length array is used"
+ msgstr "Feld variabler Größe wird verwendet"
+
+-#: c-decl.c:4051 c-decl.c:4328
++#: c-decl.c:4050 c-decl.c:4327
+ #, gcc-internal-format
+ msgid "variably modified %qs at file scope"
+ msgstr "variabel modifiziertes %qs im Dateibereich"
+
+-#: c-decl.c:4069
++#: c-decl.c:4068
+ #, gcc-internal-format
+ msgid "type defaults to %<int%> in declaration of %qs"
+ msgstr "%<int%> ist Standardtyp in Deklaration von %qs"
+
+-#: c-decl.c:4097
++#: c-decl.c:4096
+ #, gcc-internal-format
+ msgid "duplicate %<const%>"
+ msgstr "doppeltes %<const%>"
+
+-#: c-decl.c:4099
++#: c-decl.c:4098
+ #, gcc-internal-format
+ msgid "duplicate %<restrict%>"
+ msgstr "doppeltes %<restrict%>"
+
+-#: c-decl.c:4101
++#: c-decl.c:4100
+ #, gcc-internal-format
+ msgid "duplicate %<volatile%>"
+ msgstr "doppeltes %<volatile%>"
+
+-#: c-decl.c:4120
++#: c-decl.c:4119
+ #, gcc-internal-format
+ msgid "function definition declared %<auto%>"
+ msgstr "Funktionsdefinition deklarierte %<auto%>"
+
+-#: c-decl.c:4122
++#: c-decl.c:4121
+ #, gcc-internal-format
+ msgid "function definition declared %<register%>"
+ msgstr "Funktionsdefinition deklarierte %<register%>"
+
+-#: c-decl.c:4124
++#: c-decl.c:4123
+ #, gcc-internal-format
+ msgid "function definition declared %<typedef%>"
+ msgstr "Funktionsdefinition deklarierte %<typedef%>"
+
+-#: c-decl.c:4126
++#: c-decl.c:4125
+ #, gcc-internal-format
+ msgid "function definition declared %<__thread%>"
+ msgstr "Funktionsdefinition deklarierte %<__thread%>"
+
+-#: c-decl.c:4142
++#: c-decl.c:4141
+ #, gcc-internal-format
+ msgid "storage class specified for structure field %qs"
+ msgstr "Speicherklasse für Strukturfeld %qs angegeben"
+
+-#: c-decl.c:4146 cp/decl.c:7874
++#: c-decl.c:4145 cp/decl.c:7946
+ #, gcc-internal-format
+ msgid "storage class specified for parameter %qs"
+ msgstr "Speicherklasse für Parameter %qs angegeben"
+
+-#: c-decl.c:4149 cp/decl.c:7876
++#: c-decl.c:4148 cp/decl.c:7948
+ #, gcc-internal-format
+ msgid "storage class specified for typename"
+ msgstr "Speicherklasse für Typnamen angegeben"
+
+-#: c-decl.c:4166 cp/decl.c:7893
++#: c-decl.c:4165 cp/decl.c:7965
+ #, gcc-internal-format
+ msgid "%qs initialized and declared %<extern%>"
+ msgstr "%qs initialisiert und als %<extern%> deklariert"
+
+-#: c-decl.c:4169 cp/decl.c:7896
++#: c-decl.c:4168 cp/decl.c:7968
+ #, gcc-internal-format
+ msgid "%qs has both %<extern%> and initializer"
+ msgstr "%qs hat sowohl %<extern%> als auch Initialisierung"
+
+-#: c-decl.c:4174
++#: c-decl.c:4173
+ #, gcc-internal-format
+ msgid "file-scope declaration of %qs specifies %<auto%>"
+ msgstr "Deklaration von %qs in Datei-Sichtbarkeitsbereich spezifiziert %<auto%>"
+
+-#: c-decl.c:4176
++#: c-decl.c:4175
+ #, gcc-internal-format
+ msgid "file-scope declaration of %qs specifies %<register%>"
+ msgstr "Deklaration von %qs in Datei-Sichtbarkeitsbereich spezifiziert %<register%>"
+
+-#: c-decl.c:4181 cp/decl.c:7900
++#: c-decl.c:4180 cp/decl.c:7972
+ #, gcc-internal-format
+ msgid "nested function %qs declared %<extern%>"
+ msgstr "geschachtelte Funktion %qs als %<extern%> deklariert"
+
+-#: c-decl.c:4184 cp/decl.c:7910
++#: c-decl.c:4183 cp/decl.c:7982
+ #, gcc-internal-format
+ msgid "function-scope %qs implicitly auto and declared %<__thread%>"
+ msgstr "Funktions-Gültigkeitsbereich %qs ist implizit auto und deklarierte %<__thread%>"
+@@ -18174,468 +18145,468 @@
+ #. Only the innermost declarator (making a parameter be of
+ #. array type which is converted to pointer type)
+ #. may have static or type qualifiers.
+-#: c-decl.c:4231 c-decl.c:4472
++#: c-decl.c:4230 c-decl.c:4471
+ #, gcc-internal-format
+ msgid "static or type qualifiers in non-parameter array declarator"
+ msgstr "»static« oder Typkennzeichner in Nicht-Parameter-Felddeklarator"
+
+-#: c-decl.c:4278
++#: c-decl.c:4277
+ #, gcc-internal-format
+ msgid "declaration of %qs as array of voids"
+ msgstr "Deklaration von %qs als Feld von voids"
+
+-#: c-decl.c:4284
++#: c-decl.c:4283
+ #, gcc-internal-format
+ msgid "declaration of %qs as array of functions"
+ msgstr "Deklaration von %qs als Feld von Funktionen"
+
+-#: c-decl.c:4289
++#: c-decl.c:4288
+ #, gcc-internal-format
+ msgid "invalid use of structure with flexible array member"
+ msgstr "ungültige Verwendung einer Struktur mit flexiblem Feldelement"
+
+-#: c-decl.c:4309
++#: c-decl.c:4308
+ #, gcc-internal-format
+ msgid "size of array %qs has non-integer type"
+ msgstr "Feldgröße von %qs hat Nicht-Ganzzahltyp"
+
+-#: c-decl.c:4314
++#: c-decl.c:4313
+ #, gcc-internal-format
+ msgid "ISO C forbids zero-size array %qs"
+ msgstr "ISO-C verbietet Feld %qs der Größe null"
+
+-#: c-decl.c:4321
++#: c-decl.c:4320
+ #, gcc-internal-format
+ msgid "size of array %qs is negative"
+ msgstr "Größe des Feldes %qs ist negativ"
+
+-#: c-decl.c:4375 c-decl.c:4631 cp/decl.c:8375
++#: c-decl.c:4374 c-decl.c:4630 cp/decl.c:8447
+ #, gcc-internal-format
+ msgid "size of array %qs is too large"
+ msgstr "Feldgröße von %qs ist zu groß"
+
+-#: c-decl.c:4386
++#: c-decl.c:4385
+ #, gcc-internal-format
+ msgid "ISO C90 does not support flexible array members"
+ msgstr "ISO-C90 unterstützt keine flexiblen Felder als Elemente"
+
+ #. C99 6.7.5.2p4
+-#: c-decl.c:4399
++#: c-decl.c:4398
+ #, gcc-internal-format
+ msgid "%<[*]%> not allowed in other than a declaration"
+ msgstr "%<[*]%> nicht außerhalb einer Deklaration erlaubt"
+
+-#: c-decl.c:4422
++#: c-decl.c:4421
+ #, gcc-internal-format
+ msgid "array type has incomplete element type"
+ msgstr "Feldtyp hat unvollständigen Elementtypen"
+
+-#: c-decl.c:4504 cp/decl.c:8001
++#: c-decl.c:4503 cp/decl.c:8073
+ #, gcc-internal-format
+ msgid "%qs declared as function returning a function"
+ msgstr "%qs als Funktion, die eine Funktion zurückgibt, deklariert"
+
+-#: c-decl.c:4509 cp/decl.c:8006
++#: c-decl.c:4508 cp/decl.c:8078
+ #, gcc-internal-format
+ msgid "%qs declared as function returning an array"
+ msgstr "%qs als Funktion, die ein Feld zurückgibt, deklariert"
+
+-#: c-decl.c:4531
++#: c-decl.c:4530
+ #, gcc-internal-format
+ msgid "function definition has qualified void return type"
+ msgstr "Funktionsdefinition hat qualifizierten void-Rückgabetypen"
+
+-#: c-decl.c:4534 cp/decl.c:7990 cp/pt.c:8568
++#: c-decl.c:4533 cp/decl.c:8062 cp/pt.c:8668
+ #, gcc-internal-format
+ msgid "type qualifiers ignored on function return type"
+ msgstr "Typkennzeichner an Funktions-Rückgabewert ignoriert"
+
+-#: c-decl.c:4563 c-decl.c:4644 c-decl.c:4732 c-decl.c:4825
++#: c-decl.c:4562 c-decl.c:4643 c-decl.c:4731 c-decl.c:4824
+ #, gcc-internal-format
+ msgid "ISO C forbids qualified function types"
+ msgstr "ISO-C verbietet qualifizierte Funktionstypen"
+
+-#: c-decl.c:4652
++#: c-decl.c:4651
+ #, gcc-internal-format
+ msgid "typedef %q+D declared %<inline%>"
+ msgstr "typedef %q+D als %<inline%> deklariert"
+
+-#: c-decl.c:4667
++#: c-decl.c:4666
+ #, gcc-internal-format
+ msgid "ISO C forbids const or volatile function types"
+ msgstr "ISO-C verbietet const- oder volatile-Funktionstypen"
+
+ #. C99 6.7.2.1p8
+-#: c-decl.c:4677
++#: c-decl.c:4676
+ #, gcc-internal-format
+ 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-decl.c:4693
++#: c-decl.c:4692
+ #, gcc-internal-format
+ msgid "variable or field %qs declared void"
+ msgstr "Variable oder Feld %qs als void deklariert"
+
+-#: c-decl.c:4725
++#: c-decl.c:4724
+ #, gcc-internal-format
+ msgid "attributes in parameter array declarator ignored"
+ msgstr "Attribute in Parameterfelddeklarator ignoriert"
+
+-#: c-decl.c:4760
++#: c-decl.c:4759
+ #, gcc-internal-format
+ msgid "parameter %q+D declared %<inline%>"
+ msgstr "Parameter %q+D als %<inline%> deklariert"
+
+-#: c-decl.c:4773
++#: c-decl.c:4772
+ #, gcc-internal-format
+ msgid "field %qs declared as a function"
+ msgstr "Feld %qs als Funktion deklariert"
+
+-#: c-decl.c:4779
++#: c-decl.c:4778
+ #, gcc-internal-format
+ msgid "field %qs has incomplete type"
+ msgstr "Feld %qs hat unvollständigen Typen"
+
+-#: c-decl.c:4796 c-decl.c:4808 c-decl.c:4812
++#: c-decl.c:4795 c-decl.c:4807 c-decl.c:4811
+ #, gcc-internal-format
+ msgid "invalid storage class for function %qs"
+ msgstr "ungültige Speicherklasse für Funktion %qs"
+
+-#: c-decl.c:4831
++#: c-decl.c:4830
+ #, gcc-internal-format
+ msgid "%<noreturn%> function returns non-void value"
+ msgstr "%<noreturn%>-Funktion gibt nicht-void-Wert zurück"
+
+-#: c-decl.c:4867
++#: c-decl.c:4866
+ #, gcc-internal-format
+ msgid "cannot inline function %<main%>"
+ msgstr "%<main%> ist nicht als »inline« möglich"
+
+-#: c-decl.c:4910
++#: c-decl.c:4909
+ #, gcc-internal-format
+ msgid "variable previously declared %<static%> redeclared %<extern%>"
+ msgstr "als %<extern%> redeklarierte Variable war bereits als %<static%> deklariert"
+
+-#: c-decl.c:4920
++#: c-decl.c:4919
+ #, gcc-internal-format
+ msgid "variable %q+D declared %<inline%>"
+ msgstr "Variable %q+D als %<inline%> deklariert"
+
+ #. C99 6.7.5.2p2
+-#: c-decl.c:4951
++#: c-decl.c:4950
+ #, gcc-internal-format
+ msgid "object with variably modified type must have no linkage"
+ msgstr "Objekt mit variabel geändertem Typ darf keine Bindung haben"
+
+-#: c-decl.c:5020 c-decl.c:6199
++#: c-decl.c:5019 c-decl.c:6198
+ #, gcc-internal-format
+ msgid "function declaration isn%'t a prototype"
+ msgstr "Funktionsdeklaration ist kein Prototyp"
+
+-#: c-decl.c:5028
++#: c-decl.c:5027
+ #, gcc-internal-format
+ msgid "parameter names (without types) in function declaration"
+ msgstr "Parameternamen (ohne Typen) in Funktionsdeklaration"
+
+-#: c-decl.c:5061
++#: c-decl.c:5060
+ #, gcc-internal-format
+ msgid "parameter %u (%q+D) has incomplete type"
+ msgstr "Parameter %u (%q+D) hat unvollständigen Typen"
+
+-#: c-decl.c:5064
++#: c-decl.c:5063
+ #, gcc-internal-format
+ msgid "%Jparameter %u has incomplete type"
+ msgstr "%JParameter %u hat unvollständigen Typen"
+
+-#: c-decl.c:5073
++#: c-decl.c:5072
+ #, gcc-internal-format
+ msgid "parameter %u (%q+D) has void type"
+ msgstr "Parameter %u (%q+D) hat void-Typen"
+
+-#: c-decl.c:5076
++#: c-decl.c:5075
+ #, gcc-internal-format
+ msgid "%Jparameter %u has void type"
+ msgstr "%JParameter %u hat void-Typen"
+
+-#: c-decl.c:5138
++#: c-decl.c:5137
+ #, gcc-internal-format
+ msgid "%<void%> as only parameter may not be qualified"
+ msgstr "%<void%> kann nicht als einzelner Parameter qualifiziert werden"
+
+-#: c-decl.c:5142 c-decl.c:5176
++#: c-decl.c:5141 c-decl.c:5175
+ #, gcc-internal-format
+ msgid "%<void%> must be the only parameter"
+ msgstr "%<void%> muss der einzige Parameter sein"
+
+-#: c-decl.c:5170
++#: c-decl.c:5169
+ #, gcc-internal-format
+ msgid "parameter %q+D has just a forward declaration"
+ msgstr "Parameter %q+D hat nur eine Vorwärtsdeklaration"
+
+ #. The %s will be one of 'struct', 'union', or 'enum'.
+-#: c-decl.c:5215
++#: c-decl.c:5214
+ #, gcc-internal-format
+ msgid "%<%s %E%> declared inside parameter list"
+ msgstr "%<%s %E%> innerhalb Parameterliste deklariert"
+
+ #. The %s will be one of 'struct', 'union', or 'enum'.
+-#: c-decl.c:5219
++#: c-decl.c:5218
+ #, gcc-internal-format
+ msgid "anonymous %s declared inside parameter list"
+ msgstr "anonymes %s innerhalb Parameterliste deklariert"
+
+-#: c-decl.c:5224
++#: c-decl.c:5223
+ #, gcc-internal-format
+ msgid "its scope is only this definition or declaration, which is probably not what you want"
+ msgstr "sein Gültigkeitsbereich umfasst nur diese Definition bzw. Deklaration, was Sie wahrscheinlich nicht wollten"
+
+-#: c-decl.c:5358
++#: c-decl.c:5357
+ #, gcc-internal-format
+ msgid "redefinition of %<union %E%>"
+ msgstr "Redefinition von %<union %E%>"
+
+-#: c-decl.c:5360
++#: c-decl.c:5359
+ #, gcc-internal-format
+ msgid "redefinition of %<struct %E%>"
+ msgstr "Redefinition von %<struct %E%>"
+
+-#: c-decl.c:5365
++#: c-decl.c:5364
+ #, gcc-internal-format
+ msgid "nested redefinition of %<union %E%>"
+ msgstr "Verschachtelte Redefinition von %<union %E%>"
+
+-#: c-decl.c:5367
++#: c-decl.c:5366
+ #, gcc-internal-format
+ msgid "nested redefinition of %<struct %E%>"
+ msgstr "Verschachtelte Redefinition von %<struct %E%>"
+
+-#: c-decl.c:5442 cp/decl.c:3780
++#: c-decl.c:5441 cp/decl.c:3796
+ #, gcc-internal-format
+ msgid "declaration does not declare anything"
+ msgstr "Deklaration deklariert nichts"
+
+-#: c-decl.c:5446
++#: c-decl.c:5445
+ #, gcc-internal-format
+ msgid "ISO C doesn%'t support unnamed structs/unions"
+ msgstr "ISO-C unterstützt keine namenlosen structs/unions"
+
+-#: c-decl.c:5490 c-decl.c:5506
++#: c-decl.c:5489 c-decl.c:5505
+ #, gcc-internal-format
+ msgid "duplicate member %q+D"
+ msgstr "doppeltes Element %q+D"
+
+-#: c-decl.c:5545
++#: c-decl.c:5544
+ #, gcc-internal-format
+ msgid "union has no named members"
+ msgstr "Union hat keine benannten Elemente"
+
+-#: c-decl.c:5547
++#: c-decl.c:5546
+ #, gcc-internal-format
+ msgid "union has no members"
+ msgstr "Union hat keine Elemente"
+
+-#: c-decl.c:5552
++#: c-decl.c:5551
+ #, gcc-internal-format
+ msgid "struct has no named members"
+ msgstr "struct hat keine benannten Elemente"
+
+-#: c-decl.c:5554
++#: c-decl.c:5553
+ #, gcc-internal-format
+ msgid "struct has no members"
+ msgstr "struct hat keine Elemente"
+
+-#: c-decl.c:5616
++#: c-decl.c:5615
+ #, gcc-internal-format
+ msgid "%Jflexible array member in union"
+ msgstr "%Jflexibles Feldelement in Union"
+
+-#: c-decl.c:5621
++#: c-decl.c:5620
+ #, gcc-internal-format
+ msgid "%Jflexible array member not at end of struct"
+ msgstr "%Jflexibles Feld-Element nicht am Ende von struct"
+
+-#: c-decl.c:5626
++#: c-decl.c:5625
+ #, gcc-internal-format
+ msgid "%Jflexible array member in otherwise empty struct"
+ msgstr "%Jflexibles Feld-Element in ansonsten leerem struct"
+
+-#: c-decl.c:5633
++#: c-decl.c:5632
+ #, gcc-internal-format
+ msgid "%Jinvalid use of structure with flexible array member"
+ msgstr "%Jungültige Verwendung einer Struktur mit flexiblem Feld-Element"
+
+-#: c-decl.c:5742
++#: c-decl.c:5741
+ #, gcc-internal-format
+ msgid "union cannot be made transparent"
+ msgstr "union kann nicht transparent gemacht werden"
+
+-#: c-decl.c:5813
++#: c-decl.c:5812
+ #, gcc-internal-format
+ msgid "nested redefinition of %<enum %E%>"
+ msgstr "Verschachtelte Redefinition von %<enum %E%>"
+
+ #. This enum is a named one that has been declared already.
+-#: c-decl.c:5820
++#: c-decl.c:5819
+ #, gcc-internal-format
+ msgid "redeclaration of %<enum %E%>"
+ msgstr "Redeklaration von %<enum %E%>"
+
+-#: c-decl.c:5883
++#: c-decl.c:5882
+ #, gcc-internal-format
+ msgid "enumeration values exceed range of largest integer"
+ msgstr "Aufzählungswerte überschreiten Wertebereich des größten Ganzzahltypen"
+
+-#: c-decl.c:5900
++#: c-decl.c:5899
+ #, gcc-internal-format
+ msgid "specified mode too small for enumeral values"
+ msgstr "angegebener Modus zu klein für Aufzählungswerte"
+
+-#: c-decl.c:5996
++#: c-decl.c:5995
+ #, gcc-internal-format
+ msgid "enumerator value for %qE is not an integer constant"
+ msgstr "Aufzählungswert für %qE ist keine Ganzzahlkonstante"
+
+-#: c-decl.c:6013
++#: c-decl.c:6012
+ #, gcc-internal-format
+ msgid "overflow in enumeration values"
+ msgstr "Überlauf in Aufzählungswerten"
+
+-#: c-decl.c:6018
++#: c-decl.c:6017
+ #, gcc-internal-format
+ msgid "ISO C restricts enumerator values to range of %<int%>"
+ msgstr "ISO-C beschränkt Aufzählungswerte auf Bereich von %<int%>"
+
+-#: c-decl.c:6125
++#: c-decl.c:6124
+ #, gcc-internal-format
+ msgid "return type is an incomplete type"
+ msgstr "Rückgabetyp ist unvollständig"
+
+-#: c-decl.c:6133
++#: c-decl.c:6132
+ #, gcc-internal-format
+ msgid "return type defaults to %<int%>"
+ msgstr "Rückgabetyp ist auf %<int%> voreingestellt"
+
+-#: c-decl.c:6206
++#: c-decl.c:6205
+ #, gcc-internal-format
+ msgid "no previous prototype for %q+D"
+ msgstr "kein vorheriger Prototyp für %q+D"
+
+-#: c-decl.c:6215
++#: c-decl.c:6214
+ #, gcc-internal-format
+ msgid "%q+D was used with no prototype before its definition"
+ msgstr "%q+D wurde vor seiner Definition ohne Prototyp verwendet"
+
+-#: c-decl.c:6221 cp/decl.c:11126
++#: c-decl.c:6220 cp/decl.c:11224
+ #, gcc-internal-format
+ msgid "no previous declaration for %q+D"
+ msgstr "keine vorherige Deklaration für %q+D"
+
+-#: c-decl.c:6231
++#: c-decl.c:6230
+ #, gcc-internal-format
+ msgid "%q+D was used with no declaration before its definition"
+ msgstr "%q+D wurde vor seiner Definition ohne Deklaration verwendet"
+
+-#: c-decl.c:6254 c-decl.c:6723
++#: c-decl.c:6253 c-decl.c:6722
+ #, gcc-internal-format
+ msgid "return type of %q+D is not %<int%>"
+ msgstr "Rückgabetyp von %q+D ist nicht %<int%>"
+
+-#: c-decl.c:6259
++#: c-decl.c:6258
+ #, gcc-internal-format
+ msgid "%q+D is normally a non-static function"
+ msgstr "%q+D ist normalerweise eine Nicht-static-Funktion"
+
+-#: c-decl.c:6293
++#: c-decl.c:6292
+ #, gcc-internal-format
+ msgid "%Jold-style parameter declarations in prototyped function definition"
+ msgstr "%JParameterdeklarationen alten Stils in Prototyp-Funktionsdeklaration"
+
+-#: c-decl.c:6307
++#: c-decl.c:6306
+ #, gcc-internal-format
+ msgid "%Jtraditional C rejects ISO C style function definitions"
+ msgstr "%Jtraditionelles C weist Funktionsdefinitionen im ISO-C-Stil zurück"
+
+-#: c-decl.c:6323
++#: c-decl.c:6322
+ #, gcc-internal-format
+ msgid "%Jparameter name omitted"
+ msgstr "%JParametername ausgelassen"
+
+-#: c-decl.c:6357
++#: c-decl.c:6356
+ #, gcc-internal-format
+ msgid "%Jold-style function definition"
+ msgstr "%JFunktionsdefinition im alten Stil"
+
+-#: c-decl.c:6366
++#: c-decl.c:6365
+ #, gcc-internal-format
+ msgid "%Jparameter name missing from parameter list"
+ msgstr "%JParametername fehlt in Parameterliste"
+
+-#: c-decl.c:6377
++#: c-decl.c:6376
+ #, gcc-internal-format
+ msgid "%q+D declared as a non-parameter"
+ msgstr "%q+D als Nicht-Parameter deklariert"
+
+-#: c-decl.c:6382
++#: c-decl.c:6381
+ #, gcc-internal-format
+ msgid "multiple parameters named %q+D"
+ msgstr "mehrere Parameter wurden %q+D genannt"
+
+-#: c-decl.c:6390
++#: c-decl.c:6389
+ #, gcc-internal-format
+ msgid "parameter %q+D declared with void type"
+ msgstr "Parameter %q+D als void deklariert"
+
+-#: c-decl.c:6407 c-decl.c:6409
++#: c-decl.c:6406 c-decl.c:6408
+ #, gcc-internal-format
+ msgid "type of %q+D defaults to %<int%>"
+ msgstr "Typ von %q+D ist auf %<int%> voreingestellt"
+
+-#: c-decl.c:6428
++#: c-decl.c:6427
+ #, gcc-internal-format
+ msgid "parameter %q+D has incomplete type"
+ msgstr "Parameter %q+D hat unvollständigen Typen"
+
+-#: c-decl.c:6434
++#: c-decl.c:6433
+ #, gcc-internal-format
+ msgid "declaration for parameter %q+D but no such parameter"
+ msgstr "Deklaration für nicht vorhandenen Parameter %q+D"
+
+-#: c-decl.c:6484
++#: c-decl.c:6483
+ #, gcc-internal-format
+ msgid "number of arguments doesn%'t match built-in prototype"
+ msgstr "Anzahl der Argumente passt nicht zum eingebauten Prototypen"
+
+-#: c-decl.c:6488
++#: c-decl.c:6487
+ #, gcc-internal-format
+ msgid "number of arguments doesn%'t match prototype"
+ msgstr "Anzahl der Argumente passt nicht zum Prototypen"
+
+-#: c-decl.c:6489 c-decl.c:6529 c-decl.c:6542
++#: c-decl.c:6488 c-decl.c:6528 c-decl.c:6541
+ #, gcc-internal-format
+ msgid "%Hprototype declaration"
+ msgstr "%HPrototyp-Deklaration"
+
+-#: c-decl.c:6523
++#: c-decl.c:6522
+ #, gcc-internal-format
+ msgid "promoted argument %qD doesn%'t match built-in prototype"
+ msgstr "weitergegebenes Argument %qD passt nicht zu eingebautem Prototypen"
+
+-#: c-decl.c:6527
++#: c-decl.c:6526
+ #, gcc-internal-format
+ msgid "promoted argument %qD doesn%'t match prototype"
+ msgstr "weitergegebenes Argument %qD passt nicht zum Prototypen"
+
+-#: c-decl.c:6537
++#: c-decl.c:6536
+ #, gcc-internal-format
+ msgid "argument %qD doesn%'t match built-in prototype"
+ msgstr "Argument %qD passt nicht zu eingebautem Prototypen"
+
+-#: c-decl.c:6541
++#: c-decl.c:6540
+ #, gcc-internal-format
+ msgid "argument %qD doesn%'t match prototype"
+ msgstr "Argument %qD passt nicht zum Prototypen"
+
+-#: c-decl.c:6768 cp/decl.c:11820
++#: c-decl.c:6767 cp/decl.c:11918
+ #, gcc-internal-format
+ msgid "no return statement in function returning non-void"
+ msgstr "keine return-Anweisung in nicht void zurückgebender Funktion"
+@@ -18643,437 +18614,437 @@
+ #. If we get here, declarations have been used in a for loop without
+ #. the C99 for loop scope. This doesn't make much sense, so don't
+ #. allow it.
+-#: c-decl.c:6841
++#: c-decl.c:6840
+ #, gcc-internal-format
+ msgid "%<for%> loop initial declaration used outside C99 mode"
+ msgstr "Anfangsdeklaration in %<for%>-Schleife außerhalb C99-Modus verwendet"
+
+-#: c-decl.c:6870
++#: c-decl.c:6869
+ #, gcc-internal-format
+ msgid "declaration of static variable %q+D in %<for%> loop initial declaration"
+ msgstr "Deklaration der »static«-Variablen %q+D in Anfangsdeklaration einer %<for%>-Schleife"
+
+-#: c-decl.c:6873
++#: c-decl.c:6872
+ #, gcc-internal-format
+ msgid "declaration of %<extern%> variable %q+D in %<for%> loop initial declaration"
+ msgstr "Deklaration der %<extern%>-Variablen %q+D in Anfangsdeklaration einer %<for%>-Schleife"
+
+-#: c-decl.c:6878
++#: c-decl.c:6877
+ #, gcc-internal-format
+ msgid "%<struct %E%> declared in %<for%> loop initial declaration"
+ msgstr "%<struct %E%> in Anfangsdeklaration einer %<for%>-Schleife deklariert"
+
+-#: c-decl.c:6882
++#: c-decl.c:6881
+ #, gcc-internal-format
+ msgid "%<union %E%> declared in %<for%> loop initial declaration"
+ msgstr "%<union %E%> in Anfangsdeklaration einer %<for%>-Schleife deklariert"
+
+-#: c-decl.c:6886
++#: c-decl.c:6885
+ #, gcc-internal-format
+ msgid "%<enum %E%> declared in %<for%> loop initial declaration"
+ msgstr "%<enum %E%> in Anfangsdeklaration einer %<for%>-Schleife deklariert"
+
+-#: c-decl.c:6890
++#: c-decl.c:6889
+ #, gcc-internal-format
+ msgid "declaration of non-variable %q+D in %<for%> loop initial declaration"
+ msgstr "Deklaration der Nicht-Variablen %q+D in Anfangsdeklaration einer %<for%>-Schleife"
+
+-#: c-decl.c:7178 c-decl.c:7420 c-decl.c:7716
++#: c-decl.c:7177 c-decl.c:7419 c-decl.c:7715
+ #, gcc-internal-format
+ msgid "duplicate %qE"
+ msgstr "doppeltes %qE"
+
+-#: c-decl.c:7201 c-decl.c:7430 c-decl.c:7617
++#: c-decl.c:7200 c-decl.c:7429 c-decl.c:7616
+ #, gcc-internal-format
+ msgid "two or more data types in declaration specifiers"
+ msgstr "zwei oder mehr Datentypen in Deklaration"
+
+-#: c-decl.c:7213 cp/parser.c:2149
++#: c-decl.c:7212 cp/parser.c:2152
+ #, gcc-internal-format
+ msgid "%<long long long%> is too long for GCC"
+ msgstr "%<long long long%> ist für GCC zu lang"
+
+-#: c-decl.c:7220 c-decl.c:7520
++#: c-decl.c:7219 c-decl.c:7519
+ #, gcc-internal-format
+ msgid "both %<long long%> and %<double%> in declaration specifiers"
+ msgstr "sowohl %<long long%> als auch %<double%> in Deklaration"
+
+-#: c-decl.c:7226
++#: c-decl.c:7225
+ #, gcc-internal-format
+ msgid "ISO C90 does not support %<long long%>"
+ msgstr "ISO-C90 unterstützt nicht %<long long%>"
+
+-#: c-decl.c:7231 c-decl.c:7260
++#: c-decl.c:7230 c-decl.c:7259
+ #, gcc-internal-format
+ msgid "both %<long%> and %<short%> in declaration specifiers"
+ msgstr "sowohl %<long%> als auch %<short%> in Deklaration"
+
+-#: c-decl.c:7234 c-decl.c:7437
++#: c-decl.c:7233 c-decl.c:7436
+ #, gcc-internal-format
+ msgid "both %<long%> and %<void%> in declaration specifiers"
+ msgstr "sowohl %<long%> als auch %<void%> in Deklaration"
+
+-#: c-decl.c:7237 c-decl.c:7459
++#: c-decl.c:7236 c-decl.c:7458
+ #, gcc-internal-format
+ msgid "both %<long%> and %<_Bool%> in declaration specifiers"
+ msgstr "sowohl %<long%> als auch %<_Bool%> in Deklaration"
+
+-#: c-decl.c:7240 c-decl.c:7481
++#: c-decl.c:7239 c-decl.c:7480
+ #, gcc-internal-format
+ msgid "both %<long%> and %<char%> in declaration specifiers"
+ msgstr "sowohl %<long%> als auch %<char%> in Deklaration"
+
+-#: c-decl.c:7243 c-decl.c:7501
++#: c-decl.c:7242 c-decl.c:7500
+ #, gcc-internal-format
+ msgid "both %<long%> and %<float%> in declaration specifiers"
+ msgstr "sowohl %<long%> als auch %<float%> in Deklaration"
+
+-#: c-decl.c:7246
++#: c-decl.c:7245
+ #, gcc-internal-format
+ msgid "both %<long%> and %<_Decimal32%> in declaration specifiers"
+ msgstr "sowohl %<long%> als auch %<_Decimal32%> in Deklaration"
+
+-#: c-decl.c:7249
++#: c-decl.c:7248
+ #, gcc-internal-format
+ msgid "both %<long%> and %<_Decimal64%> in declaration specifiers"
+ msgstr "sowohl %<long%> als auch %<_Decimal64%> in Deklaration"
+
+-#: c-decl.c:7252
++#: c-decl.c:7251
+ #, gcc-internal-format
+ msgid "both %<long%> and %<_Decimal128%> in declaration specifiers"
+ msgstr "sowohl %<long%> als auch %<_Decimal128%> in Deklaration"
+
+-#: c-decl.c:7263 c-decl.c:7440
++#: c-decl.c:7262 c-decl.c:7439
+ #, gcc-internal-format
+ msgid "both %<short%> and %<void%> in declaration specifiers"
+ msgstr "sowohl %<short%> als auch %<void%> in Deklaration"
+
+-#: c-decl.c:7266 c-decl.c:7462
++#: c-decl.c:7265 c-decl.c:7461
+ #, gcc-internal-format
+ msgid "both %<short%> and %<_Bool%> in declaration specifiers"
+ msgstr "sowohl %<short%> als auch %<_Bool%> in Deklaration"
+
+-#: c-decl.c:7269 c-decl.c:7484
++#: c-decl.c:7268 c-decl.c:7483
+ #, gcc-internal-format
+ msgid "both %<short%> and %<char%> in declaration specifiers"
+ msgstr "sowohl %<short%> als auch %<char%> in Deklaration"
+
+-#: c-decl.c:7272 c-decl.c:7504
++#: c-decl.c:7271 c-decl.c:7503
+ #, gcc-internal-format
+ msgid "both %<short%> and %<float%> in declaration specifiers"
+ msgstr "sowohl %<short%> als auch %<float%> in Deklaration"
+
+-#: c-decl.c:7275 c-decl.c:7523
++#: c-decl.c:7274 c-decl.c:7522
+ #, gcc-internal-format
+ msgid "both %<short%> and %<double%> in declaration specifiers"
+ msgstr "sowohl %<short%> als auch %<double%> in Deklaration"
+
+-#: c-decl.c:7278
++#: c-decl.c:7277
+ #, gcc-internal-format
+ msgid "both %<short%> and %<_Decimal32%> in declaration specifiers"
+ msgstr "sowohl %<short%> als auch %<_Decimal32%> in Deklaration"
+
+-#: c-decl.c:7281
++#: c-decl.c:7280
+ #, gcc-internal-format
+ msgid "both %<short%> and %<_Decimal64%> in declaration specifiers"
+ msgstr "sowohl %<short%> als auch %<_Decimal64%> in Deklaration"
+
+-#: c-decl.c:7284
++#: c-decl.c:7283
+ #, gcc-internal-format
+ msgid "both %<short%> and %<_Decimal128%> in declaration specifiers"
+ msgstr "sowohl %<short%> als auch %<_Decimal128%> in Deklaration"
+
+-#: c-decl.c:7292 c-decl.c:7321
++#: c-decl.c:7291 c-decl.c:7320
+ #, gcc-internal-format
+ msgid "both %<signed%> and %<unsigned%> in declaration specifiers"
+ msgstr "sowohl %<signed%> als auch %<unsigned%> in Deklaration"
+
+-#: c-decl.c:7295 c-decl.c:7443
++#: c-decl.c:7294 c-decl.c:7442
+ #, gcc-internal-format
+ msgid "both %<signed%> and %<void%> in declaration specifiers"
+ msgstr "sowohl %<signed%> als auch %<void%> in Deklaration"
+
+-#: c-decl.c:7298 c-decl.c:7465
++#: c-decl.c:7297 c-decl.c:7464
+ #, gcc-internal-format
+ msgid "both %<signed%> and %<_Bool%> in declaration specifiers"
+ msgstr "sowohl %<signed%> als auch %<_Bool%> in Deklaration"
+
+-#: c-decl.c:7301 c-decl.c:7507
++#: c-decl.c:7300 c-decl.c:7506
+ #, gcc-internal-format
+ msgid "both %<signed%> and %<float%> in declaration specifiers"
+ msgstr "sowohl %<signed%> als auch %<float%> in Deklaration"
+
+-#: c-decl.c:7304 c-decl.c:7526
++#: c-decl.c:7303 c-decl.c:7525
+ #, gcc-internal-format
+ msgid "both %<signed%> and %<double%> in declaration specifiers"
+ msgstr "sowohl %<signed%> als auch %<double%> in Deklaration"
+
+-#: c-decl.c:7307
++#: c-decl.c:7306
+ #, gcc-internal-format
+ msgid "both %<signed%> and %<_Decimal32%> in declaration specifiers"
+ msgstr "sowohl %<signed%> als auch %<_Decimal32%> in Deklaration"
+
+-#: c-decl.c:7310
++#: c-decl.c:7309
+ #, gcc-internal-format
+ msgid "both %<signed%> and %<_Decimal64%> in declaration specifiers"
+ msgstr "sowohl %<signed%> als auch %<_Decimal64%> in Deklaration"
+
+-#: c-decl.c:7313
++#: c-decl.c:7312
+ #, gcc-internal-format
+ msgid "both %<signed%> and %<_Decimal128%> in declaration specifiers"
+ msgstr "sowohl %<signed%> als auch %<_Decimal128%> in Deklaration"
+
+-#: c-decl.c:7324 c-decl.c:7446
++#: c-decl.c:7323 c-decl.c:7445
+ #, gcc-internal-format
+ msgid "both %<unsigned%> and %<void%> in declaration specifiers"
+ msgstr "sowohl %<unsigned%> als auch %<void%> in Deklaration"
+
+-#: c-decl.c:7327 c-decl.c:7468
++#: c-decl.c:7326 c-decl.c:7467
+ #, gcc-internal-format
+ msgid "both %<unsigned%> and %<_Bool%> in declaration specifiers"
+ msgstr "sowohl %<unsigned%> als auch %<_Bool%> in Deklaration"
+
+-#: c-decl.c:7330 c-decl.c:7510
++#: c-decl.c:7329 c-decl.c:7509
+ #, gcc-internal-format
+ msgid "both %<unsigned%> and %<float%> in declaration specifiers"
+ msgstr "sowohl %<unsigned%> als auch %<float%> in Deklaration"
+
+-#: c-decl.c:7333 c-decl.c:7529
++#: c-decl.c:7332 c-decl.c:7528
+ #, gcc-internal-format
+ msgid "both %<unsigned%> and %<double%> in declaration specifiers"
+ msgstr "sowohl %<unsigned%> als auch %<double%> in Deklaration"
+
+-#: c-decl.c:7336
++#: c-decl.c:7335
+ #, gcc-internal-format
+ msgid "both %<unsigned%> and %<_Decimal32%> in declaration specifiers"
+ msgstr "sowohl %<unsigned%> als auch %<_Decimal32%> in Deklaration"
+
+-#: c-decl.c:7339
++#: c-decl.c:7338
+ #, gcc-internal-format
+ msgid "both %<unsigned%> and %<_Decimal64%> in declaration specifiers"
+ msgstr "sowohl %<unsigned%> als auch %<_Decimal64%> in Deklaration"
+
+-#: c-decl.c:7342
++#: c-decl.c:7341
+ #, gcc-internal-format
+ msgid "both %<unsigned%> and %<_Decimal128%> in declaration specifiers"
+ msgstr "sowohl %<unsigned%> als auch %<_Decimal128%> in Deklaration"
+
+-#: c-decl.c:7350
++#: c-decl.c:7349
+ #, gcc-internal-format
+ msgid "ISO C90 does not support complex types"
+ msgstr "ISO-C90 unterstützt keine komplexen Typen"
+
+-#: c-decl.c:7352 c-decl.c:7449
++#: c-decl.c:7351 c-decl.c:7448
+ #, gcc-internal-format
+ msgid "both %<complex%> and %<void%> in declaration specifiers"
+ msgstr "sowohl %<complex%> als auch %<void%> in Deklaration"
+
+-#: c-decl.c:7355 c-decl.c:7471
++#: c-decl.c:7354 c-decl.c:7470
+ #, gcc-internal-format
+ msgid "both %<complex%> and %<_Bool%> in declaration specifiers"
+ msgstr "sowohl %<complex%> als auch %<_Bool%> in Deklaration"
+
+-#: c-decl.c:7358
++#: c-decl.c:7357
+ #, gcc-internal-format
+ msgid "both %<complex%> and %<_Decimal32%> in declaration specifiers"
+ msgstr "sowohl %<complex%> als auch %<_Decimal32%> in Deklaration"
+
+-#: c-decl.c:7361
++#: c-decl.c:7360
+ #, gcc-internal-format
+ msgid "both %<complex%> and %<_Decimal64%> in declaration specifiers"
+ msgstr "sowohl %<complex%> als auch %<_Decimal64%> in Deklaration"
+
+-#: c-decl.c:7364
++#: c-decl.c:7363
+ #, gcc-internal-format
+ msgid "both %<complex%> and %<_Decimal128%> in declaration specifiers"
+ msgstr "sowohl %<complex%> als auch %<_Decimal128%> in Deklaration"
+
+-#: c-decl.c:7367
++#: c-decl.c:7366
+ #, gcc-internal-format
+ msgid "both %<complex%> and %<_Fract%> in declaration specifiers"
+ msgstr "sowohl %<complex%> als auch %<_Fract%> in Deklaration"
+
+-#: c-decl.c:7370
++#: c-decl.c:7369
+ #, gcc-internal-format
+ msgid "both %<complex%> and %<_Accum%> in declaration specifiers"
+ msgstr "sowohl %<complex%> als auch %<_Accum%> in Deklaration"
+
+-#: c-decl.c:7373
++#: c-decl.c:7372
+ #, gcc-internal-format
+ msgid "both %<complex%> and %<_Sat%> in declaration specifiers"
+ msgstr "sowohl %<complex%> als auch %<_Sat%> in Deklaration"
+
+-#: c-decl.c:7381
++#: c-decl.c:7380
+ #, gcc-internal-format
+ msgid "ISO C does not support saturating types"
+ msgstr "ISO-C unterstützt keine sättigenden Typen"
+
+-#: c-decl.c:7383 c-decl.c:7452
++#: c-decl.c:7382 c-decl.c:7451
+ #, gcc-internal-format
+ msgid "both %<_Sat%> and %<void%> in declaration specifiers"
+ msgstr "sowohl %<_Sat%> als auch %<void%> in Deklaration"
+
+-#: c-decl.c:7386 c-decl.c:7474
++#: c-decl.c:7385 c-decl.c:7473
+ #, gcc-internal-format
+ msgid "both %<_Sat%> and %<_Bool%> in declaration specifiers"
+ msgstr "sowohl %<_Sat%> als auch %<_Bool%> in Deklaration"
+
+-#: c-decl.c:7389 c-decl.c:7487
++#: c-decl.c:7388 c-decl.c:7486
+ #, gcc-internal-format
+ msgid "both %<_Sat%> and %<char%> in declaration specifiers"
+ msgstr "sowohl %<_Sat%> als auch %<char%> in Deklaration"
+
+-#: c-decl.c:7392 c-decl.c:7494
++#: c-decl.c:7391 c-decl.c:7493
+ #, gcc-internal-format
+ msgid "both %<_Sat%> and %<int%> in declaration specifiers"
+ msgstr "sowohl %<_Sat%> als auch %<int%> in Deklaration"
+
+-#: c-decl.c:7395 c-decl.c:7513
++#: c-decl.c:7394 c-decl.c:7512
+ #, gcc-internal-format
+ msgid "both %<_Sat%> and %<float%> in declaration specifiers"
+ msgstr "sowohl %<_Sat%> als auch %<float%> in Deklaration"
+
+-#: c-decl.c:7398 c-decl.c:7532
++#: c-decl.c:7397 c-decl.c:7531
+ #, gcc-internal-format
+ msgid "both %<_Sat%> and %<double%> in declaration specifiers"
+ msgstr "sowohl %<_Sat%> als auch %<double%> in Deklaration"
+
+-#: c-decl.c:7401
++#: c-decl.c:7400
+ #, gcc-internal-format
+ msgid "both %<_Sat%> and %<_Decimal32%> in declaration specifiers"
+ msgstr "sowohl %<_Sat%> als auch %<_Decimal32%> in Deklaration"
+
+-#: c-decl.c:7404
++#: c-decl.c:7403
+ #, gcc-internal-format
+ msgid "both %<_Sat%> and %<_Decimal64%> in declaration specifiers"
+ msgstr "sowohl %<_Sat%> als auch %<_Decimal64%> in Deklaration"
+
+-#: c-decl.c:7407
++#: c-decl.c:7406
+ #, gcc-internal-format
+ msgid "both %<_Sat%> and %<_Decimal128%> in declaration specifiers"
+ msgstr "sowohl %<_Sat%> als auch %<_Decimal128%> in Deklaration"
+
+-#: c-decl.c:7410
++#: c-decl.c:7409
+ #, gcc-internal-format
+ msgid "both %<_Sat%> and %<complex%> in declaration specifiers"
+ msgstr "sowohl %<_Sat%> als auch %<complex%> in Deklaration"
+
+-#: c-decl.c:7549
++#: c-decl.c:7548
+ #, gcc-internal-format
+ msgid "both %<long long%> and %<%s%> in declaration specifiers"
+ msgstr "sowohl %<long long%> als auch %<%s%> in Deklaration"
+
+-#: c-decl.c:7552
++#: c-decl.c:7551
+ #, gcc-internal-format
+ msgid "both %<long%> and %<%s%> in declaration specifiers"
+ msgstr "sowohl %<long%> als auch %<%s%> in Deklaration"
+
+-#: c-decl.c:7555
++#: c-decl.c:7554
+ #, gcc-internal-format
+ msgid "both %<short%> and %<%s%> in declaration specifiers"
+ msgstr "sowohl %<short%> als auch %<%s%> in Deklaration"
+
+-#: c-decl.c:7558
++#: c-decl.c:7557
+ #, gcc-internal-format
+ msgid "both %<signed%> and %<%s%> in declaration specifiers"
+ msgstr "sowohl %<signed%> als auch %<%s%> in Deklaration"
+
+-#: c-decl.c:7561
++#: c-decl.c:7560
+ #, gcc-internal-format
+ msgid "both %<unsigned%> and %<%s%> in declaration specifiers"
+ msgstr "sowohl %<unsigned%> als auch %<%s%> in Deklaration"
+
+-#: c-decl.c:7564 c-decl.c:7590
++#: c-decl.c:7563 c-decl.c:7589
+ #, gcc-internal-format
+ msgid "both %<complex%> and %<%s%> in declaration specifiers"
+ msgstr "sowohl %<complex%> als auch %<%s%> in Deklaration"
+
+-#: c-decl.c:7567
++#: c-decl.c:7566
+ #, gcc-internal-format
+ msgid "both %<_Sat%> and %<%s%> in declaration specifiers"
+ msgstr "sowohl %<_Sat%> als auch %<%s%> in Deklaration"
+
+-#: c-decl.c:7577
++#: c-decl.c:7576
+ #, gcc-internal-format
+ msgid "decimal floating point not supported for this target"
+ msgstr "Dezimales Gleitkomma wird für dieses Ziel nicht unterstützt"
+
+-#: c-decl.c:7579
++#: c-decl.c:7578
+ #, gcc-internal-format
+ msgid "ISO C does not support decimal floating point"
+ msgstr "ISO-C unterstützt kein dezimales Gleitkomma"
+
+-#: c-decl.c:7598
++#: c-decl.c:7597
+ #, gcc-internal-format
+ msgid "fixed-point types not supported for this target"
+ msgstr "Festkommatypen werden für dieses Ziel nicht unterstützt"
+
+-#: c-decl.c:7600
++#: c-decl.c:7599
+ #, gcc-internal-format
+ msgid "ISO C does not support fixed-point types"
+ msgstr "ISO-C unterstützt keine Ganzzahltypen"
+
+-#: c-decl.c:7634
++#: c-decl.c:7633
+ #, gcc-internal-format
+ msgid "%qE fails to be a typedef or built in type"
+ msgstr "%qE ist kein typedef oder eingebauter Typ"
+
+-#: c-decl.c:7667
++#: c-decl.c:7666
+ #, gcc-internal-format
+ msgid "%qE is not at beginning of declaration"
+ msgstr "%qE ist nicht am Anfang einer Deklaration"
+
+-#: c-decl.c:7681
++#: c-decl.c:7680
+ #, gcc-internal-format
+ msgid "%<__thread%> used with %<auto%>"
+ msgstr "%<__thread%> mit %<auto%> verwendet"
+
+-#: c-decl.c:7683
++#: c-decl.c:7682
+ #, gcc-internal-format
+ msgid "%<__thread%> used with %<register%>"
+ msgstr "%<__thread%> mit %<register%> verwendet"
+
+-#: c-decl.c:7685
++#: c-decl.c:7684
+ #, gcc-internal-format
+ msgid "%<__thread%> used with %<typedef%>"
+ msgstr "%<__thread%> mit %<typedef%> verwendet"
+
+-#: c-decl.c:7696
++#: c-decl.c:7695
+ #, gcc-internal-format
+ msgid "%<__thread%> before %<extern%>"
+ msgstr "%<__thread%> vor %<extern%>"
+
+-#: c-decl.c:7705
++#: c-decl.c:7704
+ #, gcc-internal-format
+ msgid "%<__thread%> before %<static%>"
+ msgstr "%<__thread%> vor %<static%>"
+
+-#: c-decl.c:7721
++#: c-decl.c:7720
+ #, gcc-internal-format
+ msgid "multiple storage classes in declaration specifiers"
+ msgstr "mehrere Speicherklassen in Deklaration"
+
+-#: c-decl.c:7728
++#: c-decl.c:7727
+ #, gcc-internal-format
+ msgid "%<__thread%> used with %qE"
+ msgstr "%<__thread%> mit %qE verwendet"
+
+-#: c-decl.c:7775
++#: c-decl.c:7774
+ #, gcc-internal-format
+ msgid "%<_Sat%> is used without %<_Fract%> or %<_Accum%>"
+ msgstr "%<_Sat%> ohne %<_Fract%> oder %<_Accum%> verwendet"
+
+-#: c-decl.c:7787
++#: c-decl.c:7786
+ #, gcc-internal-format
+ msgid "ISO C does not support plain %<complex%> meaning %<double complex%>"
+ msgstr "ISO-C unterstützt nicht %<double complex%> bedeutendes einfaches %<complex%>"
+
+-#: c-decl.c:7832 c-decl.c:7858
++#: c-decl.c:7831 c-decl.c:7857
+ #, gcc-internal-format
+ msgid "ISO C does not support complex integer types"
+ msgstr "ISO-C unterstützt keine komplexen Ganzzahltypen"
+
+-#: c-decl.c:8008 toplev.c:847
++#: c-decl.c:8007 toplev.c:847
+ #, gcc-internal-format
+ msgid "%q+F used but never defined"
+ msgstr "%q+F verwendet, aber nirgendwo definiert"
+@@ -19485,37 +19456,37 @@
+ msgid "invalid expression type for %<#pragma omp atomic%>"
+ msgstr "ungültiger Ausdruckstyp für %<#pragma omp atomic%>"
+
+-#: c-omp.c:218
++#: c-omp.c:219
+ #, gcc-internal-format
+ msgid "%Hinvalid type for iteration variable %qE"
+ msgstr "%Hungültiger Typ für Schleifenvariable %qE"
+
+-#: c-omp.c:222
++#: c-omp.c:223
+ #, gcc-internal-format
+ msgid "%Hiteration variable %qE is unsigned"
+ msgstr "%HSchleifenvariable %qE ist vorzeichenlos"
+
+-#: c-omp.c:233
++#: c-omp.c:234
+ #, gcc-internal-format
+ msgid "%H%qE is not initialized"
+ msgstr "%H%qE ist nicht initialisiert"
+
+-#: c-omp.c:246 cp/semantics.c:3840
++#: c-omp.c:247 cp/semantics.c:3872
+ #, gcc-internal-format
+ msgid "%Hmissing controlling predicate"
+ msgstr "%HSteuerprädikat fehlt"
+
+-#: c-omp.c:304
++#: c-omp.c:305
+ #, gcc-internal-format
+ msgid "%Hinvalid controlling predicate"
+ msgstr "%HSteuerprädikat ungültig"
+
+-#: c-omp.c:311 cp/semantics.c:3846
++#: c-omp.c:312 cp/semantics.c:3878
+ #, gcc-internal-format
+ msgid "%Hmissing increment expression"
+ msgstr "%HErhöhungsausdruck fehlt"
+
+-#: c-omp.c:361
++#: c-omp.c:362
+ #, gcc-internal-format
+ msgid "%Hinvalid increment expression"
+ msgstr "%HErhöhungsausdruck ungültig"
+@@ -19560,152 +19531,152 @@
+ msgid "obsolete option -I- used, please use -iquote instead"
+ msgstr "veraltete Option -I- verwendet, bitte stattdessen -iquote verwenden"
+
+-#: c-opts.c:508
++#: c-opts.c:510
+ #, gcc-internal-format
+ msgid "argument %qs to %<-Wnormalized%> not recognized"
+ msgstr "Argument %qs für %<-Wnormalized%> nicht erkannt"
+
+-#: c-opts.c:595
++#: c-opts.c:597
+ #, gcc-internal-format
+ msgid "switch %qs is no longer supported"
+ msgstr "Schalter %qs wird nicht mehr unterstützt"
+
+-#: c-opts.c:705
++#: c-opts.c:707
+ #, gcc-internal-format
+ msgid "-fhandle-exceptions has been renamed -fexceptions (and is now on by default)"
+ msgstr "-fhandle-exceptions wurde in -fexceptions umbenannt (und ist nun voreingestellt)"
+
+-#: c-opts.c:911
++#: c-opts.c:913
+ #, gcc-internal-format
+ msgid "output filename specified twice"
+ msgstr "Ausgabedatei doppelt angegeben"
+
+-#: c-opts.c:1051
++#: c-opts.c:1053
+ #, gcc-internal-format
+ msgid "-fno-gnu89-inline is only supported in GNU99 or C99 mode"
+ msgstr "-fno-gnu89-inline wird nur im Modus GNU99 oder C99 unterstützt"
+
+-#: c-opts.c:1126
++#: c-opts.c:1142
+ #, gcc-internal-format
+ msgid "-Wformat-y2k ignored without -Wformat"
+ msgstr "-Wformat-y2k wird ohne -Wformat ignoriert"
+
+-#: c-opts.c:1128
++#: c-opts.c:1144
+ #, gcc-internal-format
+ msgid "-Wformat-extra-args ignored without -Wformat"
+ msgstr "-Wformat-extra-args wird ohne -Wformat ignoriert"
+
+-#: c-opts.c:1130
++#: c-opts.c:1146
+ #, gcc-internal-format
+ msgid "-Wformat-zero-length ignored without -Wformat"
+ msgstr "-Wformat-zero-length wird ohne -Wformat ignoriert"
+
+-#: c-opts.c:1132
++#: c-opts.c:1148
+ #, gcc-internal-format
+ msgid "-Wformat-nonliteral ignored without -Wformat"
+ msgstr "-Wformat-nonliteral wird ohne -Wformat ignoriert"
+
+-#: c-opts.c:1134
++#: c-opts.c:1150
+ #, gcc-internal-format
+ msgid "-Wformat-contains-nul ignored without -Wformat"
+ msgstr "-Wformat-contains-nul wird ohne -Wformat ignoriert"
+
+-#: c-opts.c:1136
++#: c-opts.c:1152
+ #, gcc-internal-format
+ msgid "-Wformat-security ignored without -Wformat"
+ msgstr "-Wformat-security wird ohne -Wformat ignoriert"
+
+-#: c-opts.c:1160
++#: c-opts.c:1176
+ #, gcc-internal-format
+ msgid "opening output file %s: %m"
+ msgstr "Ausgabedatei »%s« wird geöffnet: %m"
+
+-#: c-opts.c:1165
++#: c-opts.c:1181
+ #, gcc-internal-format
+ msgid "too many filenames given. Type %s --help for usage"
+ msgstr "zu viele Dateinamen angegeben. Für Hilfe »%s --help« eingeben"
+
+-#: c-opts.c:1249
++#: c-opts.c:1265
+ #, gcc-internal-format
+ msgid "The C parser does not support -dy, option ignored"
+ msgstr "Der C-Parser unterstützt nicht -dy, Option ignoriert"
+
+-#: c-opts.c:1253
++#: c-opts.c:1269
+ #, gcc-internal-format
+ msgid "The Objective-C parser does not support -dy, option ignored"
+ msgstr "Der Objective-C-Parser unterstützt nicht -dy, Option ignoriert"
+
+-#: c-opts.c:1256
++#: c-opts.c:1272
+ #, gcc-internal-format
+ msgid "The C++ parser does not support -dy, option ignored"
+ msgstr "Der C++-Parser unterstützt nicht -dy, Option ignoriert"
+
+-#: c-opts.c:1260
++#: c-opts.c:1276
+ #, gcc-internal-format
+ msgid "The Objective-C++ parser does not support -dy, option ignored"
+ msgstr "Der Objective-C++-Parser unterstützt nicht -dy, Option ignoriert"
+
+-#: c-opts.c:1309
++#: c-opts.c:1326
+ #, gcc-internal-format
+ msgid "opening dependency file %s: %m"
+ msgstr "Abhängigkeitsdatei »%s« wird geöffnet: %m"
+
+-#: c-opts.c:1319
++#: c-opts.c:1336
+ #, gcc-internal-format
+ msgid "closing dependency file %s: %m"
+ msgstr "Abhängigkeitsdatei »%s« wird geschlossen: %m"
+
+-#: c-opts.c:1322
++#: c-opts.c:1339
+ #, gcc-internal-format
+ msgid "when writing output to %s: %m"
+ msgstr "beim Schreiben der Ausgabe nach %s: %m"
+
+-#: c-opts.c:1402
++#: c-opts.c:1419
+ #, gcc-internal-format
+ msgid "to generate dependencies you must specify either -M or -MM"
+ msgstr "um Abhängigkeiten zu erzeugen, müssen Sie entweder -M oder -MM angeben"
+
+-#: c-opts.c:1448
++#: c-opts.c:1469
+ #, gcc-internal-format
+ msgid "-fdirectives-only is incompatible with -Wunused_macros"
+ msgstr "-fdirectives-only ist mit -Wunused_macros unverträglich"
+
+-#: c-opts.c:1450
++#: c-opts.c:1471
+ #, gcc-internal-format
+ msgid "-fdirectives-only is incompatible with -traditional"
+ msgstr "-fdirectives-only ist mit -traditional unverträglich"
+
+-#: c-opts.c:1588
++#: c-opts.c:1609
+ #, gcc-internal-format
+ msgid "too late for # directive to set debug directory"
+ msgstr "zu spät für »#«-Direktive, um Debug-Verzeichnis festzulegen"
+
+-#: c-parser.c:1070
++#: c-parser.c:1072
+ #, gcc-internal-format
+ msgid "%HISO C forbids an empty source file"
+ msgstr "%HISO-C verbietet eine leere Quelldatei"
+
+-#: c-parser.c:1156 c-parser.c:6091
++#: c-parser.c:1158 c-parser.c:6150
+ #, gcc-internal-format
+ msgid "%HISO C does not allow extra %<;%> outside of a function"
+ msgstr "%HISO-C erlaubt kein zusätzliches %<;%> außerhalb einer Funktion"
+
+-#: c-parser.c:1259 c-parser.c:6640
++#: c-parser.c:1261 c-parser.c:6699
+ #, gcc-internal-format
+ msgid "expected declaration specifiers"
+ msgstr "Deklarationsspezifizierer erwartet"
+
+-#: c-parser.c:1271
++#: c-parser.c:1273
+ #, gcc-internal-format
+ msgid "%Hempty declaration"
+ msgstr "%Hleere Deklaration"
+
+-#: c-parser.c:1307
++#: c-parser.c:1309
+ #, gcc-internal-format
+ msgid "%Hdata definition has no type or storage class"
+ msgstr "%HDatendefinition hat keinen Typ oder Speicherklasse"
+
+-#: c-parser.c:1362
++#: c-parser.c:1364
+ #, gcc-internal-format
+ msgid "expected %<,%> or %<;%>"
+ msgstr "%<,%> oder %<;%> erwartet"
+@@ -19713,174 +19684,189 @@
+ #. This can appear in many cases looking nothing like a
+ #. function definition, so we don't give a more specific
+ #. error suggesting there was one.
+-#: c-parser.c:1369 c-parser.c:1386
++#: c-parser.c:1371 c-parser.c:1388
+ #, gcc-internal-format
+ msgid "expected %<=%>, %<,%>, %<;%>, %<asm%> or %<__attribute__%>"
+ msgstr " %<=%>, %<,%>, %<;%>, %<asm%> oder %<__attribute__%> erwartet"
+
+-#: c-parser.c:1378
++#: c-parser.c:1380
+ #, gcc-internal-format
+ msgid "%HISO C forbids nested functions"
+ msgstr "%HISO-C verbietet verschachtelte Funktionen"
+
+-#: c-parser.c:1743 c-parser.c:2553 c-parser.c:3189 c-parser.c:3445
+-#: c-parser.c:4308 c-parser.c:4895 c-parser.c:5298 c-parser.c:5318
+-#: c-parser.c:5434 c-parser.c:5582 c-parser.c:5599 c-parser.c:5731
+-#: c-parser.c:5743 c-parser.c:5768 c-parser.c:5903 c-parser.c:5932
+-#: c-parser.c:5940 c-parser.c:5968 c-parser.c:5982 c-parser.c:6201
+-#: c-parser.c:6300 c-parser.c:6803 c-parser.c:7426
++#: c-parser.c:1745 c-parser.c:2555 c-parser.c:3191 c-parser.c:3447
++#: c-parser.c:4367 c-parser.c:4954 c-parser.c:5357 c-parser.c:5377
++#: c-parser.c:5493 c-parser.c:5641 c-parser.c:5658 c-parser.c:5790
++#: c-parser.c:5802 c-parser.c:5827 c-parser.c:5962 c-parser.c:5991
++#: c-parser.c:5999 c-parser.c:6027 c-parser.c:6041 c-parser.c:6260
++#: c-parser.c:6359 c-parser.c:6862 c-parser.c:7493
+ #, gcc-internal-format
+ msgid "expected identifier"
+ msgstr "Bezeichner erwartet"
+
+-#: c-parser.c:1773
++#: c-parser.c:1775
+ #, gcc-internal-format
+ msgid "%Hcomma at end of enumerator list"
+ msgstr "%HKomma am Ende der Aufzählungsliste"
+
+-#: c-parser.c:1779
++#: c-parser.c:1781
+ #, gcc-internal-format
+ msgid "expected %<,%> or %<}%>"
+ msgstr "%<,%> oder %<}%> erwartet"
+
+-#: c-parser.c:1793 c-parser.c:1977 c-parser.c:6058
++#: c-parser.c:1795 c-parser.c:1979 c-parser.c:6117
+ #, gcc-internal-format
+ msgid "expected %<{%>"
+ msgstr "%<{%> erwartet"
+
+-#: c-parser.c:1804
++#: c-parser.c:1806
+ #, gcc-internal-format
+ msgid "%HISO C forbids forward references to %<enum%> types"
+ msgstr "%HISO-C verbietet Vorwärts-Referenzen auf %<enum%>-Typen"
+
+-#: c-parser.c:1911
++#: c-parser.c:1913
+ #, gcc-internal-format
+ msgid "expected class name"
+ msgstr "Klassenname erwartet"
+
+-#: c-parser.c:1930 c-parser.c:5835
++#: c-parser.c:1932 c-parser.c:5894
+ #, gcc-internal-format
+ msgid "%Hextra semicolon in struct or union specified"
+ msgstr "%Hzusätzliches Semikolon in »struct« oder »union« angegeben"
+
+-#: c-parser.c:1959
++#: c-parser.c:1961
+ #, gcc-internal-format
+ msgid "%Hno semicolon at end of struct or union"
+ msgstr "%Hkein Semikolon am Ende von »struct« oder »union«"
+
+-#: c-parser.c:1963
++#: c-parser.c:1965
+ #, gcc-internal-format
+ msgid "expected %<;%>"
+ msgstr "%<;%> erwartet"
+
+-#: c-parser.c:2042 c-parser.c:3014
++#: c-parser.c:2044 c-parser.c:3016
+ #, gcc-internal-format
+ msgid "expected specifier-qualifier-list"
+ msgstr "Spezifizierer-Qualifizierer-Liste erwartet"
+
+-#: c-parser.c:2052
++#: c-parser.c:2054
+ #, gcc-internal-format
+ msgid "%HISO C forbids member declarations with no members"
+ msgstr "%HISO-C verbietet Elementdeklarationen ohne Elemente"
+
+-#: c-parser.c:2126
++#: c-parser.c:2128
+ #, gcc-internal-format
+ msgid "expected %<,%>, %<;%> or %<}%>"
+ msgstr "%<,%>, %<;%> oder %<}%> erwartet"
+
+-#: c-parser.c:2133
++#: c-parser.c:2135
+ #, gcc-internal-format
+ msgid "expected %<:%>, %<,%>, %<;%>, %<}%> or %<__attribute__%>"
+ msgstr "%<:%>, %<,%>, %<;%>, %<}%> oder %<__attribute__%> erwartet"
+
+-#: c-parser.c:2184
++#: c-parser.c:2186
+ #, gcc-internal-format
+ msgid "%H%<typeof%> applied to a bit-field"
+ msgstr "%H%<typeof%> auf ein Bitfeld angewandt"
+
+-#: c-parser.c:2421
++#: c-parser.c:2423
+ #, gcc-internal-format
+ msgid "expected identifier or %<(%>"
+ msgstr "Bezeichner oder %<(%> erwartet"
+
+-#: c-parser.c:2622
++#: c-parser.c:2624
+ #, gcc-internal-format
+ msgid "%HISO C requires a named argument before %<...%>"
+ msgstr "%HISO-C erfordert ein benanntes Argument vor %<...%>"
+
+-#: c-parser.c:2729
++#: c-parser.c:2731
+ #, gcc-internal-format
+ msgid "expected declaration specifiers or %<...%>"
+ msgstr "Deklarationsspezifizierer oder %<...%> erwartet"
+
+-#: c-parser.c:2779
++#: c-parser.c:2781
+ #, gcc-internal-format
+ msgid "%Hwide string literal in %<asm%>"
+ msgstr "%HWide-Zeichenkettenliteral in %<asm%>"
+
+-#: c-parser.c:2786 c-parser.c:6695 cp/parser.c:20393
++#: c-parser.c:2788 c-parser.c:6754 cp/parser.c:20482
+ #, gcc-internal-format
+ msgid "expected string literal"
+ msgstr "Zeichenkettenliteral erwartet"
+
+-#: c-parser.c:3107
++#: c-parser.c:3109
+ #, gcc-internal-format
+ msgid "%HISO C forbids empty initializer braces"
+ msgstr "%HISO-C verbietet leere Initialisierungsklammern"
+
+ #. Use the colon as the error location.
+-#: c-parser.c:3154
++#: c-parser.c:3156
+ #, gcc-internal-format
+ msgid "%Hobsolete use of designated initializer with %<:%>"
+ msgstr "%Hveraltete Verwendung einer bestimmten Initialisierung mit %<:%>"
+
+-#: c-parser.c:3285
++#: c-parser.c:3287
+ #, gcc-internal-format
+ msgid "%HISO C forbids specifying range of elements to initialize"
+ msgstr "%HISO-C verbietet die Angabe eines zu initialisierenden Elementebereiches"
+
+-#: c-parser.c:3298
++#: c-parser.c:3300
+ #, gcc-internal-format
+ msgid "%HISO C90 forbids specifying subobject to initialize"
+ msgstr "%HISO-C90 verbietet die Angabe von zu initialisierenden Unterobjekten"
+
+-#: c-parser.c:3307
++#: c-parser.c:3309
+ #, gcc-internal-format
+ msgid "%Hobsolete use of designated initializer without %<=%>"
+ msgstr "%Hveraltete Verwendung einer bestimmten Initialisierung ohne %<=%>"
+
+-#: c-parser.c:3316
++#: c-parser.c:3318
+ #, gcc-internal-format
+ msgid "expected %<=%>"
+ msgstr "%<=%> erwartet"
+
+-#: c-parser.c:3461
++#: c-parser.c:3463
+ #, gcc-internal-format
+ msgid "%HISO C forbids label declarations"
+ msgstr "%HISO-C verbietet Markendeklarationen"
+
+-#: c-parser.c:3466 c-parser.c:3541
++#: c-parser.c:3468 c-parser.c:3543
+ #, gcc-internal-format
+ msgid "expected declaration or statement"
+ msgstr "Deklaration oder Anweisung erwartet"
+
+-#: c-parser.c:3494 c-parser.c:3522
++#: c-parser.c:3496 c-parser.c:3524
+ #, gcc-internal-format
+ msgid "%HISO C90 forbids mixed declarations and code"
+ msgstr "%HISO-C90 verbietet gemischte Deklarationen und Code"
+
++#: c-parser.c:3550
++#, gcc-internal-format
++msgid "%Hexpected %<}%> before %<else%>"
++msgstr "%H%<}%> vor %<else%> erwartet"
++
+ #: c-parser.c:3555
+ #, gcc-internal-format
++msgid "%H%<else%> without a previous %<if%>"
++msgstr "%H%<else%> ohne vorheriges %<if%>"
++
++#: c-parser.c:3571
++#, gcc-internal-format
+ msgid "%Hlabel at end of compound statement"
+ msgstr "%HMarke am Ende einer Verbundanweisung"
+
+-#: c-parser.c:3598
++#: c-parser.c:3614
+ #, gcc-internal-format
+ msgid "expected %<:%> or %<...%>"
+ msgstr "%<:%> oder %<...%> erwartet"
+
+-#: c-parser.c:3779
++#: c-parser.c:3647
+ #, gcc-internal-format
++msgid "%Ha label can only be part of a statement and a declaration is not a statement"
++msgstr "%Heine Marke kann nur Teil einer Anweisung sein, und eine Deklaration ist keine Anweisung"
++
++#: c-parser.c:3810
++#, gcc-internal-format
+ msgid "expected identifier or %<*%>"
+ msgstr "Bezeichner oder %<*%> erwartet"
+
+@@ -19888,188 +19874,183 @@
+ #. 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-parser.c:3841
++#: c-parser.c:3872
+ #, gcc-internal-format
+ msgid "expected statement"
+ msgstr "Anweisung erwartet"
+
+-#: c-parser.c:3851
++#: c-parser.c:4095
+ #, gcc-internal-format
+-msgid "%Ha label can only be part of a statement and a declaration is not a statement"
+-msgstr "%Heine Marke kann nur Teil einer Anweisung sein, und eine Deklaration ist keine Anweisung"
+-
+-#: c-parser.c:4036
+-#, gcc-internal-format
+ msgid "%Hsuggest braces around empty body in %<do%> statement"
+ msgstr "%Hgeschweifte Klammern um leeren Körper in %<do%>-Anweisung empfohlen"
+
+-#: c-parser.c:4192
++#: c-parser.c:4251
+ #, gcc-internal-format
+ msgid "%H%E qualifier ignored on asm"
+ msgstr "%H%E-Qualifizierer für asm ignoriert"
+
+-#: c-parser.c:4473
++#: c-parser.c:4532
+ #, gcc-internal-format
+ msgid "%HISO C forbids omitting the middle term of a ?: expression"
+ msgstr "%HISO-C verbietet das Weglassen des mittleren Terms eines ?:-Ausdruckes"
+
+-#: c-parser.c:4863
++#: c-parser.c:4922
+ #, gcc-internal-format
+ msgid "%Htraditional C rejects the unary plus operator"
+ msgstr "%Htraditionelles C weist den unären Plus-Operator zurück"
+
+ #. C99 6.7.5.2p4
+-#: c-parser.c:4974
++#: c-parser.c:5033
+ #, gcc-internal-format
+ msgid "%H%<[*]%> not allowed in other than a declaration"
+ msgstr "%H%<[*]%> nicht außerhalb einer Deklaration erlaubt"
+
+-#: c-parser.c:4988
++#: c-parser.c:5047
+ #, gcc-internal-format
+ msgid "%H%<sizeof%> applied to a bit-field"
+ msgstr "%H%<sizeof%> auf ein Bitfeld angewandt"
+
+-#: c-parser.c:5132 c-parser.c:5476 c-parser.c:5498
++#: c-parser.c:5191 c-parser.c:5535 c-parser.c:5557
+ #, gcc-internal-format
+ msgid "expected expression"
+ msgstr "Ausdruck erwartet"
+
+-#: c-parser.c:5159
++#: c-parser.c:5218
+ #, gcc-internal-format
+ msgid "%Hbraced-group within expression allowed only inside a function"
+ msgstr "%Hgeklammerte Gruppe innerhalb eines Ausdrucks nur in Funktion erlaubt"
+
+-#: c-parser.c:5173
++#: c-parser.c:5232
+ #, gcc-internal-format
+ msgid "%HISO C forbids braced-groups within expressions"
+ msgstr "%HISO-C verbietet geklammerte Gruppen innerhalb von Ausdrücken"
+
+-#: c-parser.c:5358
++#: c-parser.c:5417
+ #, gcc-internal-format
+ msgid "%Hfirst argument to %<__builtin_choose_expr%> not a constant"
+ msgstr "%Herstes Argument für %<__builtin_choose_expr%> ist keine Konstante"
+
+-#: c-parser.c:5527
++#: c-parser.c:5586
+ #, gcc-internal-format
+ msgid "%Hcompound literal has variable size"
+ msgstr "%Hzusammengesetztes Literal hat variable Größe"
+
+-#: c-parser.c:5535
++#: c-parser.c:5594
+ #, gcc-internal-format
+ msgid "%HISO C90 forbids compound literals"
+ msgstr "%HISO-C90 verbietet zusammengesetzte Literale"
+
+-#: c-parser.c:6053
++#: c-parser.c:6112
+ #, gcc-internal-format
+ msgid "%Hextra semicolon in method definition specified"
+ msgstr "%Hzusätzliches Semikolon in Methodendefinition angegeben"
+
+-#: c-parser.c:6600 cp/parser.c:20436
++#: c-parser.c:6659 cp/parser.c:20525
+ #, gcc-internal-format
+ msgid "%<#pragma omp barrier%> may only be used in compound statements"
+ msgstr "%<#pragma omp barrier%> darf nur in Verbundanweisungen verwendet werden"
+
+-#: c-parser.c:6611 cp/parser.c:20451
++#: c-parser.c:6670 cp/parser.c:20540
+ #, gcc-internal-format
+ msgid "%<#pragma omp flush%> may only be used in compound statements"
+ msgstr "%<#pragma omp flush%> darf nur in Verbundanweisungen verwendet werden"
+
+-#: c-parser.c:6623
++#: c-parser.c:6682
+ #, gcc-internal-format
+ msgid "%H%<#pragma omp section%> may only be used in %<#pragma omp sections%> construct"
+ msgstr "%H%<#pragma omp section%> darf nur in %<#pragma omp sections%>-Konstrukt verwendet werden"
+
+-#: c-parser.c:6630 cp/parser.c:20426
++#: c-parser.c:6689 cp/parser.c:20515
+ #, gcc-internal-format
+ msgid "%<#pragma GCC pch_preprocess%> must be first"
+ msgstr "%<#pragma GCC pch_preprocess%> muss zuerst kommen"
+
+-#: c-parser.c:6781 cp/parser.c:19277
++#: c-parser.c:6840 cp/parser.c:19359
+ #, gcc-internal-format
+ msgid "too many %qs clauses"
+ msgstr "zu viele %qs-Klauseln"
+
+-#: c-parser.c:6906
++#: c-parser.c:6965
+ #, gcc-internal-format
+ msgid "expected %<none%> or %<shared%>"
+ msgstr "%<none%> oder %<shared%> erwartet"
+
+-#: c-parser.c:6949
++#: c-parser.c:7008
+ #, gcc-internal-format
+ msgid "expected %<(%>"
+ msgstr "%<(%> erwartet"
+
+-#: c-parser.c:6993 c-parser.c:7170
++#: c-parser.c:7052 c-parser.c:7229
+ #, gcc-internal-format
+ msgid "expected integer expression"
+ msgstr "Ganzzahlausdruck erwartet"
+
+-#: c-parser.c:7002
++#: c-parser.c:7061
+ #, gcc-internal-format
+ msgid "%H%<num_threads%> value must be positive"
+ msgstr "%HWert %<num_threads%> muss positiv sein"
+
+-#: c-parser.c:7082
++#: c-parser.c:7141
+ #, gcc-internal-format
+ msgid "expected %<+%>, %<*%>, %<-%>, %<&%>, %<^%>, %<|%>, %<&&%>, or %<||%>"
+ msgstr "%<+%>, %<*%>, %<-%>, %<&%>, %<^%>, %<|%>, %<&&%> oder %<||%> erwartet"
+
+-#: c-parser.c:7165
++#: c-parser.c:7224
+ #, gcc-internal-format
+ msgid "%Hschedule %<runtime%> does not take a %<chunk_size%> parameter"
+ msgstr "%HAblauf %<runtime%> akzeptiert keinen Parameter %<chunk_size%>"
+
+-#: c-parser.c:7183
++#: c-parser.c:7242
+ #, gcc-internal-format
+ msgid "invalid schedule kind"
+ msgstr "ungültige Ablaufart"
+
+-#: c-parser.c:7269
++#: c-parser.c:7336
+ #, gcc-internal-format
+ msgid "expected %<#pragma omp%> clause"
+ msgstr "Klausel %<#pragma omp%> erwartet"
+
+-#: c-parser.c:7278
++#: c-parser.c:7345
+ #, gcc-internal-format
+ msgid "%H%qs is not valid for %qs"
+ msgstr "%H%qs ist für %qs ungültig"
+
+-#: c-parser.c:7378
++#: c-parser.c:7445
+ #, gcc-internal-format
+ msgid "invalid operator for %<#pragma omp atomic%>"
+ msgstr "ungültiger Operator für %<#pragma omp atomic%>"
+
+-#: c-parser.c:7429 c-parser.c:7449
++#: c-parser.c:7496 c-parser.c:7516
+ #, gcc-internal-format
+ msgid "expected %<(%> or end of line"
+ msgstr "%<(%> oder Zeilenende erwartet"
+
+-#: c-parser.c:7467
++#: c-parser.c:7534
+ #, gcc-internal-format
+ msgid "for statement expected"
+ msgstr "für Anweisung erwartet"
+
+-#: c-parser.c:7540 cp/semantics.c:3826 cp/semantics.c:3870
++#: c-parser.c:7609 cp/semantics.c:3858 cp/semantics.c:3902
+ #, gcc-internal-format
+ msgid "expected iteration declaration or initialization"
+ msgstr "Schleifendeklaration oder Initialisierung erwartet"
+
+-#: c-parser.c:7666
++#: c-parser.c:7735
+ #, gcc-internal-format
+ msgid "%Hexpected %<#pragma omp section%> or %<}%>"
+ msgstr "%H%<#pragma omp section%> oder %<}%> erwartet"
+
+-#: c-parser.c:7899 cp/semantics.c:3718
++#: c-parser.c:7968 cp/semantics.c:3750
+ #, gcc-internal-format
+ msgid "%qE declared %<threadprivate%> after first use"
+ msgstr "%qE nach erster Benutzung als %<threadprivate%> deklariert"
+
+-#: c-parser.c:7901 cp/semantics.c:3720
++#: c-parser.c:7970 cp/semantics.c:3752
+ #, gcc-internal-format
+ msgid "automatic variable %qE cannot be %<threadprivate%>"
+ msgstr "automatische Variable %qE kann nicht %<threadprivate%> sein"
+
+-#: c-parser.c:7903 cp/semantics.c:3722
++#: c-parser.c:7972 cp/semantics.c:3754
+ #, gcc-internal-format
+ msgid "%<threadprivate%> %qE has incomplete type"
+ msgstr "%<threadprivate%> %qE hat unvollständigen Typen"
+@@ -20234,122 +20215,122 @@
+ msgid "junk at end of %<#pragma pop_macro%>"
+ msgstr "Ausschuss am Ende von %<#pragma pop_macro%>"
+
+-#: c-pragma.c:406
++#: c-pragma.c:407
+ #, gcc-internal-format
+ msgid "applying #pragma weak %q+D after first use results in unspecified behavior"
+ msgstr "Anwendung von #pragma weak %q+D nach erster Benutzung führt zu nicht spezifiziertem Verhalten"
+
+-#: c-pragma.c:480 c-pragma.c:485
++#: c-pragma.c:481 c-pragma.c:486
+ #, gcc-internal-format
+ msgid "malformed #pragma weak, ignored"
+ msgstr "falsch geformtes #pragma weak, ignoriert"
+
+-#: c-pragma.c:489
++#: c-pragma.c:490
+ #, gcc-internal-format
+ msgid "junk at end of %<#pragma weak%>"
+ msgstr "Ausschuss am Ende von %<#pragma weak%>"
+
+-#: c-pragma.c:557 c-pragma.c:559
++#: c-pragma.c:558 c-pragma.c:560
+ #, gcc-internal-format
+ msgid "malformed #pragma redefine_extname, ignored"
+ msgstr "falsch geformtes #pragma redefine_extname, ignoriert"
+
+-#: c-pragma.c:562
++#: c-pragma.c:563
+ #, gcc-internal-format
+ msgid "junk at end of %<#pragma redefine_extname%>"
+ msgstr "Ausschuss am Ende von %<#pragma redefine_extname%>"
+
+-#: c-pragma.c:568
++#: c-pragma.c:569
+ #, gcc-internal-format
+ msgid "#pragma redefine_extname not supported on this target"
+ msgstr "#pragma redefine_extname für dieses Ziel nicht unterstützt"
+
+-#: c-pragma.c:585 c-pragma.c:672
++#: c-pragma.c:586 c-pragma.c:673
+ #, gcc-internal-format
+ msgid "#pragma redefine_extname ignored due to conflict with previous rename"
+ msgstr "#pragma redefine_extname wegen Konflikt mit vorheriger Umbenennung ignoriert"
+
+-#: c-pragma.c:608
++#: c-pragma.c:609
+ #, gcc-internal-format
+ msgid "#pragma redefine_extname ignored due to conflict with previous #pragma redefine_extname"
+ msgstr "#pragma redefine_extname wegen Konflikt mit vorherigem #pragma redefine_extname ignoriert"
+
+-#: c-pragma.c:627
++#: c-pragma.c:628
+ #, gcc-internal-format
+ msgid "malformed #pragma extern_prefix, ignored"
+ msgstr "falsch geformtes #pragma extern_prefix, ignoriert"
+
+-#: c-pragma.c:630
++#: c-pragma.c:631
+ #, gcc-internal-format
+ msgid "junk at end of %<#pragma extern_prefix%>"
+ msgstr "Ausschuss am Ende von %<#pragma extern_prefix%>"
+
+-#: c-pragma.c:637
++#: c-pragma.c:638
+ #, gcc-internal-format
+ msgid "#pragma extern_prefix not supported on this target"
+ msgstr "#pragma extern_prefix wird von diesem Ziel nicht unterstützt"
+
+-#: c-pragma.c:663
++#: c-pragma.c:664
+ #, gcc-internal-format
+ msgid "asm declaration ignored due to conflict with previous rename"
+ msgstr "asm-Deklaration wegen Konflikt mit vorheriger Umbenennung ignoriert"
+
+-#: c-pragma.c:694
++#: c-pragma.c:695
+ #, gcc-internal-format
+ msgid "#pragma redefine_extname ignored due to conflict with __asm__ declaration"
+ msgstr "#pragma redefine_extname wegen Konflikt mit __asm__-Deklaration ignoriert"
+
+-#: c-pragma.c:756
++#: c-pragma.c:757
+ #, gcc-internal-format
+ msgid "#pragma GCC visibility push() must specify default, internal, hidden or protected"
+ msgstr "#pragma GCC visibility push() muss default, internal, hidden oder protected angeben"
+
+-#: c-pragma.c:791
++#: c-pragma.c:792
+ #, gcc-internal-format
+ msgid "#pragma GCC visibility must be followed by push or pop"
+ msgstr "#pragma GCC visibility muss von push oder pop gefolgt werden"
+
+-#: c-pragma.c:797
++#: c-pragma.c:798
+ #, gcc-internal-format
+ msgid "no matching push for %<#pragma GCC visibility pop%>"
+ msgstr "kein passendes push für %<#pragma GCC visibility pop%>"
+
+-#: c-pragma.c:804 c-pragma.c:811
++#: c-pragma.c:805 c-pragma.c:812
+ #, gcc-internal-format
+ msgid "missing %<(%> after %<#pragma GCC visibility push%> - ignored"
+ msgstr "%<(%> hinter %<#pragma GCC visibility push%> fehlt - ignoriert"
+
+-#: c-pragma.c:807
++#: c-pragma.c:808
+ #, gcc-internal-format
+ msgid "malformed #pragma GCC visibility push"
+ msgstr "Falsch geformtes #pragma GCC visibility push"
+
+-#: c-pragma.c:815
++#: c-pragma.c:816
+ #, gcc-internal-format
+ msgid "junk at end of %<#pragma GCC visibility%>"
+ msgstr "Ausschuss am Ende von %<#pragma GCC visibility%>"
+
+-#: c-pragma.c:831
++#: c-pragma.c:832
+ #, gcc-internal-format
+ msgid "#pragma GCC diagnostic not allowed inside functions"
+ msgstr "#pragma GCC diagnostic nicht innerhalb von Funktionen erlaubt"
+
+-#: c-pragma.c:837
++#: c-pragma.c:838
+ #, gcc-internal-format
+ msgid "missing [error|warning|ignored] after %<#pragma GCC diagnostic%>"
+ msgstr "[error|warning|ignored] nach %<#pragma GCC diagnostic%> fehlt"
+
+-#: c-pragma.c:846
++#: c-pragma.c:847
+ #, gcc-internal-format
+ msgid "expected [error|warning|ignored] after %<#pragma GCC diagnostic%>"
+ msgstr " [error|warning|ignored] nach %<#pragma GCC diagnostic%> erwartet"
+
+-#: c-pragma.c:850
++#: c-pragma.c:851
+ #, gcc-internal-format
+ msgid "missing option after %<#pragma GCC diagnostic%> kind"
+ msgstr "Option hinter %<#pragma GCC diagnostic%> Art fehlt"
+
+-#: c-pragma.c:864
++#: c-pragma.c:865
+ #, gcc-internal-format
+ msgid "unknown option after %<#pragma GCC diagnostic%> kind"
+ msgstr "Option hinter %<#pragma GCC diagnostic%> Art unbekannt"
+@@ -20359,7 +20340,7 @@
+ msgid "%qD has an incomplete type"
+ msgstr "%qD hat unvollständigen Typ"
+
+-#: c-typeck.c:195 cp/call.c:2785
++#: c-typeck.c:195 cp/call.c:2771
+ #, gcc-internal-format
+ msgid "invalid use of void expression"
+ msgstr "falsche Benutzung eines void-Ausdruckes"
+@@ -20390,92 +20371,92 @@
+ msgid "function types not truly compatible in ISO C"
+ msgstr "Funktionstypen nicht wirklich kompatibel in ISO-C"
+
+-#: c-typeck.c:621
++#: c-typeck.c:627
+ #, gcc-internal-format
+ msgid "can%'t mix operands of decimal float and vector types"
+ msgstr "Operanden von dezimalen Gleitkomma- und Vektortypen können nicht gemischt werden"
+
+-#: c-typeck.c:626
++#: c-typeck.c:632
+ #, gcc-internal-format
+ msgid "can%'t mix operands of decimal float and complex types"
+ msgstr "Operanden von dezimalen Gleitkomma- und komplexen Typen können nicht gemischt werden"
+
+-#: c-typeck.c:631
++#: c-typeck.c:637
+ #, gcc-internal-format
+ msgid "can%'t mix operands of decimal float and other float types"
+ msgstr "Operanden von dezimalen und anderen Gleitkommatypen können nicht gemischt werden"
+
+-#: c-typeck.c:1037
++#: c-typeck.c:1043
+ #, gcc-internal-format
+ msgid "types are not quite compatible"
+ msgstr "Typen nicht ganz kompatibel"
+
+-#: c-typeck.c:1356
++#: c-typeck.c:1366
+ #, gcc-internal-format
+ msgid "function return types not compatible due to %<volatile%>"
+ msgstr "Funktionsrückgabetypen nicht kompatibel wegen %<volatile%>"
+
+-#: c-typeck.c:1515 c-typeck.c:2853
++#: c-typeck.c:1525 c-typeck.c:2864
+ #, gcc-internal-format
+ msgid "arithmetic on pointer to an incomplete type"
+ msgstr "Arithmetik mit Zeiger auf unvollständigen Typen"
+
+-#: c-typeck.c:1912
++#: c-typeck.c:1922
+ #, gcc-internal-format
+ msgid "%qT has no member named %qE"
+ msgstr "%qT hat kein Element namens %qE"
+
+-#: c-typeck.c:1953
++#: c-typeck.c:1963
+ #, gcc-internal-format
+ msgid "request for member %qE in something not a structure or union"
+ msgstr "Anfrage nach Element %qE in etwas, was keine Struktur oder Variante ist"
+
+-#: c-typeck.c:1997
++#: c-typeck.c:2007
+ #, gcc-internal-format
+ msgid "dereferencing pointer to incomplete type"
+ msgstr "Dereferenzierung eines Zeigers auf unvollständigen Typen"
+
+-#: c-typeck.c:2001
++#: c-typeck.c:2011
+ #, gcc-internal-format
+ msgid "dereferencing %<void *%> pointer"
+ msgstr "Dereferenzierung eines %<void *%>-Zeigers"
+
+-#: c-typeck.c:2018
++#: c-typeck.c:2028
+ #, gcc-internal-format
+ msgid "invalid type argument of %qs (have %qT)"
+ msgstr "ungültiger Argumenttyp von %qs (haben %qT)"
+
+-#: c-typeck.c:2046 cp/typeck.c:2524
++#: c-typeck.c:2056 cp/typeck.c:2570
+ #, gcc-internal-format
+ msgid "subscripted value is neither array nor pointer"
+ msgstr "indizierter Wert ist weder ein Feld noch ein Zeiger"
+
+-#: c-typeck.c:2057 cp/typeck.c:2443 cp/typeck.c:2529
++#: c-typeck.c:2067 cp/typeck.c:2489 cp/typeck.c:2575
+ #, gcc-internal-format
+ msgid "array subscript is not an integer"
+ msgstr "Feldindex ist keine Ganzzahl"
+
+-#: c-typeck.c:2063
++#: c-typeck.c:2073
+ #, gcc-internal-format
+ msgid "subscripted value is pointer to function"
+ msgstr "indizierter Wert ist Zeiger auf Funktion"
+
+-#: c-typeck.c:2110
++#: c-typeck.c:2120
+ #, gcc-internal-format
+ msgid "ISO C forbids subscripting %<register%> array"
+ msgstr "ISO-C verbietet, ein %<register%>-Feld zu indizieren"
+
+-#: c-typeck.c:2112
++#: c-typeck.c:2122
+ #, gcc-internal-format
+ msgid "ISO C90 forbids subscripting non-lvalue array"
+ msgstr "ISO-C90 verbietet, ein Nicht-L-Wert-Feld zu indizieren"
+
+-#: c-typeck.c:2228
++#: c-typeck.c:2239
+ #, gcc-internal-format
+ msgid "%H%qD is static but used in inline function %qD which is not static"
+ msgstr "%H%qD ist statisch, wird jedoch in Inline-Funktion %qD verwendet, was nicht statisch ist"
+
+-#: c-typeck.c:2376
++#: c-typeck.c:2387
+ #, gcc-internal-format
+ msgid "called object %qE is not a function"
+ msgstr "gerufenes Objekt %qE ist keine Funktion"
+@@ -20483,795 +20464,795 @@
+ #. This situation leads to run-time undefined behavior. We can't,
+ #. therefore, simply error unless we can prove that all possible
+ #. executions of the program must execute the code.
+-#: c-typeck.c:2404
++#: c-typeck.c:2415
+ #, gcc-internal-format
+ msgid "function called through a non-compatible type"
+ msgstr "Funktion über nicht kompatiblen Typen aufgerufen"
+
+-#: c-typeck.c:2515
++#: c-typeck.c:2526
+ #, gcc-internal-format
+ msgid "too many arguments to function %qE"
+ msgstr "zu viele Argumente für Funktion %qE"
+
+-#: c-typeck.c:2536
++#: c-typeck.c:2547
+ #, gcc-internal-format
+ msgid "type of formal parameter %d is incomplete"
+ msgstr "Typ des formalen Parameters %d ist unvollständig"
+
+-#: c-typeck.c:2549
++#: c-typeck.c:2560
+ #, gcc-internal-format
+ msgid "passing argument %d of %qE as integer rather than floating due to prototype"
+ msgstr "Ãœbergabe des Arguments %d von %qE als Ganzzahl statt Gleitkomma aufgrund des Prototyps"
+
+-#: c-typeck.c:2554
++#: c-typeck.c:2565
+ #, gcc-internal-format
+ msgid "passing argument %d of %qE as integer rather than complex due to prototype"
+ msgstr "Ãœbergabe des Arguments %d von %qE als Ganzzahl statt komplex aufgrund des Prototyps"
+
+-#: c-typeck.c:2559
++#: c-typeck.c:2570
+ #, gcc-internal-format
+ msgid "passing argument %d of %qE as complex rather than floating due to prototype"
+ msgstr "Ãœbergabe des Arguments %d von %qE als komplex statt Gleitkomma aufgrund des Prototyps"
+
+-#: c-typeck.c:2564
++#: c-typeck.c:2575
+ #, gcc-internal-format
+ msgid "passing argument %d of %qE as floating rather than integer due to prototype"
+ msgstr "Ãœbergabe des Arguments %d von %qE als Gleitkomma statt Ganzzahl aufgrund des Prototyps"
+
+-#: c-typeck.c:2569
++#: c-typeck.c:2580
+ #, gcc-internal-format
+ msgid "passing argument %d of %qE as complex rather than integer due to prototype"
+ msgstr "Ãœbergabe des Arguments %d von %qE als komplex statt Ganzzahl aufgrund des Prototyps"
+
+-#: c-typeck.c:2574
++#: c-typeck.c:2585
+ #, gcc-internal-format
+ msgid "passing argument %d of %qE as floating rather than complex due to prototype"
+ msgstr "Ãœbergabe des Arguments %d von %qE als Gleitkomma statt komplex aufgrund des Prototyps"
+
+-#: c-typeck.c:2587
++#: c-typeck.c:2598
+ #, gcc-internal-format
+ msgid "passing argument %d of %qE as %<float%> rather than %<double%> due to prototype"
+ msgstr "Ãœbergabe des Arguments %d von %qE als %<float%> statt %<double%> aufgrund des Prototyps"
+
+-#: c-typeck.c:2612
++#: c-typeck.c:2623
+ #, gcc-internal-format
+ msgid "passing argument %d of %qE as %qT rather than %qT due to prototype"
+ msgstr "Ãœbergabe des Arguments %d von %qE als %qT statt %qT aufgrund des Prototyps"
+
+-#: c-typeck.c:2633
++#: c-typeck.c:2644
+ #, gcc-internal-format
+ msgid "passing argument %d of %qE with different width due to prototype"
+ msgstr "Ãœbergabe des Arguments %d von %qE mit anderer Breite aufgrund des Prototyps"
+
+-#: c-typeck.c:2656
++#: c-typeck.c:2667
+ #, gcc-internal-format
+ msgid "passing argument %d of %qE as unsigned due to prototype"
+ msgstr "Ãœbergabe des Arguments %d von %qE als vorzeichenlos aufgrund des Prototyps"
+
+-#: c-typeck.c:2660
++#: c-typeck.c:2671
+ #, gcc-internal-format
+ msgid "passing argument %d of %qE as signed due to prototype"
+ msgstr "Ãœbergabe des Arguments %d von %qE als vorzeichenbehaftet aufgrund des Prototyps"
+
+-#: c-typeck.c:2766 c-typeck.c:2770
++#: c-typeck.c:2777 c-typeck.c:2781
+ #, gcc-internal-format
+ msgid "comparison with string literal results in unspecified behavior"
+ msgstr "Vergleich mit Zeichenkettenliteral führt zu unspezifiziertem Verhalten"
+
+-#: c-typeck.c:2795
++#: c-typeck.c:2806
+ #, gcc-internal-format
+ msgid "pointer of type %<void *%> used in subtraction"
+ msgstr "Zeiger des Typs %<void *%> in Subtraktion verwendet"
+
+-#: c-typeck.c:2797
++#: c-typeck.c:2808
+ #, gcc-internal-format
+ msgid "pointer to a function used in subtraction"
+ msgstr "Zeiger auf eine Funktion in Subtraktion verwendet"
+
+-#: c-typeck.c:2908
++#: c-typeck.c:2919
+ #, gcc-internal-format
+ msgid "wrong type argument to unary plus"
+ msgstr "Argument falschen Typs für unäres Plus"
+
+-#: c-typeck.c:2921
++#: c-typeck.c:2932
+ #, gcc-internal-format
+ msgid "wrong type argument to unary minus"
+ msgstr "Argument falschen Typs für unäres Minus"
+
+-#: c-typeck.c:2941
++#: c-typeck.c:2952
+ #, gcc-internal-format
+ msgid "ISO C does not support %<~%> for complex conjugation"
+ msgstr "ISO-C unterstützt nicht %<~%> für komplexe Konjugation"
+
+-#: c-typeck.c:2947
++#: c-typeck.c:2958
+ #, gcc-internal-format
+ msgid "wrong type argument to bit-complement"
+ msgstr "Argument falschen Typs für Bit-Komplement"
+
+-#: c-typeck.c:2955
++#: c-typeck.c:2966
+ #, gcc-internal-format
+ msgid "wrong type argument to abs"
+ msgstr "Argument falschen Typs für abs"
+
+-#: c-typeck.c:2967
++#: c-typeck.c:2978
+ #, gcc-internal-format
+ msgid "wrong type argument to conjugation"
+ msgstr "Argument falschen Typs für Konjugation"
+
+-#: c-typeck.c:2979
++#: c-typeck.c:2990
+ #, gcc-internal-format
+ msgid "wrong type argument to unary exclamation mark"
+ msgstr "Argument falschen Typs für unäres Ausrufungszeichen"
+
+-#: c-typeck.c:3013
++#: c-typeck.c:3024
+ #, gcc-internal-format
+ msgid "ISO C does not support %<++%> and %<--%> on complex types"
+ msgstr "ISO-C unterstützt kein %<++%> und %<--%> für komplexe Typen"
+
+-#: c-typeck.c:3032 c-typeck.c:3064
++#: c-typeck.c:3043 c-typeck.c:3075
+ #, gcc-internal-format
+ msgid "wrong type argument to increment"
+ msgstr "Argument falschen Typs für Inkrementierung"
+
+-#: c-typeck.c:3034 c-typeck.c:3066
++#: c-typeck.c:3045 c-typeck.c:3077
+ #, gcc-internal-format
+ msgid "wrong type argument to decrement"
+ msgstr "Argument falschen Typs für Dekrementierung"
+
+-#: c-typeck.c:3055
++#: c-typeck.c:3066
+ #, gcc-internal-format
+ msgid "increment of pointer to unknown structure"
+ msgstr "Erhöhung eines Zeigers auf unbekannte Struktur"
+
+-#: c-typeck.c:3057
++#: c-typeck.c:3068
+ #, gcc-internal-format
+ msgid "decrement of pointer to unknown structure"
+ msgstr "Verminderung eines Zeigers auf unbekannte Struktur"
+
+-#: c-typeck.c:3258
++#: c-typeck.c:3269
+ #, gcc-internal-format
+ msgid "assignment of read-only member %qD"
+ msgstr "Zuweisung des schreibgeschützten Elementes %qD"
+
+-#: c-typeck.c:3259
++#: c-typeck.c:3270
+ #, gcc-internal-format
+ msgid "increment of read-only member %qD"
+ msgstr "Erhöhung des schreibgeschützten Elementes %qD"
+
+-#: c-typeck.c:3260
++#: c-typeck.c:3271
+ #, gcc-internal-format
+ msgid "decrement of read-only member %qD"
+ msgstr "Verringerung des schreibgeschützten Elementes %qD"
+
+-#: c-typeck.c:3261
++#: c-typeck.c:3272
+ #, gcc-internal-format
+ msgid "read-only member %qD used as %<asm%> output"
+ msgstr "schreibgeschütztes Element %qD als %<asm%>-Ausgabe verwendet"
+
+-#: c-typeck.c:3265
++#: c-typeck.c:3276
+ #, gcc-internal-format
+ msgid "assignment of read-only variable %qD"
+ msgstr "Zuweisung der schreibgeschützten Variable %qD"
+
+-#: c-typeck.c:3266
++#: c-typeck.c:3277
+ #, gcc-internal-format
+ msgid "increment of read-only variable %qD"
+ msgstr "Erhöhung der schreibgeschützten Variable %qD"
+
+-#: c-typeck.c:3267
++#: c-typeck.c:3278
+ #, gcc-internal-format
+ msgid "decrement of read-only variable %qD"
+ msgstr "Verringerung der schreibgeschützten Variable %qD"
+
+-#: c-typeck.c:3268
++#: c-typeck.c:3279
+ #, gcc-internal-format
+ msgid "read-only variable %qD used as %<asm%> output"
+ msgstr "schreibgeschützte Variable %qD als %<asm%>-Ausgabe verwendet"
+
+-#: c-typeck.c:3271
++#: c-typeck.c:3282
+ #, gcc-internal-format
+ msgid "assignment of read-only location %qE"
+ msgstr "Zuweisung der schreibgeschützten Speicherstelle %qE"
+
+-#: c-typeck.c:3272
++#: c-typeck.c:3283
+ #, gcc-internal-format
+ msgid "increment of read-only location %qE"
+ msgstr "Erhöhung der schreibgeschützten Speicherstelle %qE"
+
+-#: c-typeck.c:3273
++#: c-typeck.c:3284
+ #, gcc-internal-format
+ msgid "decrement of read-only location %qE"
+ msgstr "Verringerung der schreibgeschützten Speicherstelle %qE"
+
+-#: c-typeck.c:3274
++#: c-typeck.c:3285
+ #, gcc-internal-format
+ msgid "read-only location %qE used as %<asm%> output"
+ msgstr "schreibgeschützte Stelle %E als %<asm%>-Ausgabe verwendet"
+
+-#: c-typeck.c:3310
++#: c-typeck.c:3321
+ #, gcc-internal-format
+ msgid "cannot take address of bit-field %qD"
+ msgstr "die Adresse des Bit-Feldes %qD kann nicht ermittelt werden"
+
+-#: c-typeck.c:3338
++#: c-typeck.c:3349
+ #, gcc-internal-format
+ msgid "global register variable %qD used in nested function"
+ msgstr "globale Register-Variable %qD in verschachtelter Funktion verwendet"
+
+-#: c-typeck.c:3341
++#: c-typeck.c:3352
+ #, gcc-internal-format
+ msgid "register variable %qD used in nested function"
+ msgstr "Register-Variable %qD in verschachtelter Funktion verwendet"
+
+-#: c-typeck.c:3346
++#: c-typeck.c:3357
+ #, gcc-internal-format
+ msgid "address of global register variable %qD requested"
+ msgstr "Adresse der globalen Variablen %qD angefordert"
+
+-#: c-typeck.c:3348
++#: c-typeck.c:3359
+ #, gcc-internal-format
+ msgid "address of register variable %qD requested"
+ msgstr "Adresse der Register-Variablen %qD angefordert"
+
+-#: c-typeck.c:3394
++#: c-typeck.c:3405
+ #, gcc-internal-format
+ msgid "non-lvalue array in conditional expression"
+ msgstr "Nicht-L-Wert-Feld in bedingtem Ausdruck"
+
+-#: c-typeck.c:3442
++#: c-typeck.c:3453
+ #, gcc-internal-format
+ msgid "signed and unsigned type in conditional expression"
+ msgstr "Vorzeichenloser und -behafteter Typ in bedingtem Ausdruck"
+
+-#: c-typeck.c:3449
++#: c-typeck.c:3460
+ #, gcc-internal-format
+ msgid "ISO C forbids conditional expr with only one void side"
+ msgstr "ISO-C verbietet bedingten Ausdruck mit nur einer void-Seite"
+
+-#: c-typeck.c:3463 c-typeck.c:3471
++#: c-typeck.c:3474 c-typeck.c:3482
+ #, gcc-internal-format
+ msgid "ISO C forbids conditional expr between %<void *%> and function pointer"
+ msgstr "ISO-C verbietet bedingten Ausdruck zwischen %<void *%> und Funktionszeiger"
+
+-#: c-typeck.c:3478
++#: c-typeck.c:3489
+ #, gcc-internal-format
+ msgid "pointer type mismatch in conditional expression"
+ msgstr "Zeigertyp passt nicht in bedingtem Ausdruck"
+
+-#: c-typeck.c:3485 c-typeck.c:3495
++#: c-typeck.c:3496 c-typeck.c:3506
+ #, gcc-internal-format
+ msgid "pointer/integer type mismatch in conditional expression"
+ msgstr "Zeiger-/Ganzzahltyp passt nicht in bedingtem Ausdruck"
+
+-#: c-typeck.c:3509 tree-cfg.c:3783
++#: c-typeck.c:3520 tree-cfg.c:3807
+ #, gcc-internal-format
+ msgid "type mismatch in conditional expression"
+ msgstr "Typ passt nicht in bedingtem Ausdruck"
+
+-#: c-typeck.c:3552
++#: c-typeck.c:3563
+ #, gcc-internal-format
+ msgid "left-hand operand of comma expression has no effect"
+ msgstr "linker Operand des Komma-Ausdrucks hat keinen Effekt"
+
+-#: c-typeck.c:3589
++#: c-typeck.c:3600
+ #, gcc-internal-format
+ msgid "cast specifies array type"
+ msgstr "Typkonvertierung gibt Feldtyp an"
+
+-#: c-typeck.c:3595
++#: c-typeck.c:3606
+ #, gcc-internal-format
+ msgid "cast specifies function type"
+ msgstr "Typkonvertierung gibt Funktionstyp an"
+
+-#: c-typeck.c:3612
++#: c-typeck.c:3623
+ #, gcc-internal-format
+ msgid "ISO C forbids casting nonscalar to the same type"
+ msgstr "ISO-C verbietet Typkonvertierung von Nicht-Skalar auf selben Typen"
+
+-#: c-typeck.c:3629
++#: c-typeck.c:3640
+ #, gcc-internal-format
+ msgid "ISO C forbids casts to union type"
+ msgstr "ISO-C verbietet Typkonvertierung auf union-Typ"
+
+-#: c-typeck.c:3637
++#: c-typeck.c:3648
+ #, gcc-internal-format
+ msgid "cast to union type from type not present in union"
+ msgstr "Typkonvertierung in union-Typ von nicht in union vorhandenem Typen"
+
+-#: c-typeck.c:3683
++#: c-typeck.c:3694
+ #, gcc-internal-format
+ msgid "cast adds new qualifiers to function type"
+ msgstr "Typkonvertierung fügt neue Typqualifizierer zu Funktionstyp hinzu"
+
+ #. There are qualifiers present in IN_OTYPE that are not
+ #. present in IN_TYPE.
+-#: c-typeck.c:3688
++#: c-typeck.c:3699
+ #, gcc-internal-format
+ msgid "cast discards qualifiers from pointer target type"
+ msgstr "Typkonvertierung streicht Qualifizierer von Zeiger-Zieltyp"
+
+-#: c-typeck.c:3704
++#: c-typeck.c:3715
+ #, gcc-internal-format
+ msgid "cast increases required alignment of target type"
+ msgstr "Typkonvertierung erfordert Ausrichtung des Zieltyps"
+
+-#: c-typeck.c:3715
++#: c-typeck.c:3726
+ #, gcc-internal-format
+ msgid "cast from pointer to integer of different size"
+ msgstr "Typkonvertierung von Zeiger auf Ganzzahl anderer Breite"
+
+-#: c-typeck.c:3719
++#: c-typeck.c:3730
+ #, gcc-internal-format
+ msgid "cast from function call of type %qT to non-matching type %qT"
+ msgstr "Typumwandlung von Funktionsaufruf des Typs %qT in unpassenden Typen %qT"
+
+-#: c-typeck.c:3727
++#: c-typeck.c:3738
+ #, gcc-internal-format
+ msgid "cast to pointer from integer of different size"
+ msgstr "Typkonvertierung in Zeiger von Ganzzahl anderer Breite"
+
+-#: c-typeck.c:3741
++#: c-typeck.c:3752
+ #, gcc-internal-format
+ msgid "ISO C forbids conversion of function pointer to object pointer type"
+ msgstr "ISO-C verbietet Konvertierung von Funktionszeigern in Objektzeigertyp"
+
+-#: c-typeck.c:3749
++#: c-typeck.c:3760
+ #, gcc-internal-format
+ msgid "ISO C forbids conversion of object pointer to function pointer type"
+ msgstr "ISO-C verbietet Konvertierung von Objektzeigertypen in Funktionszeigertyp"
+
+-#: c-typeck.c:4026
++#: c-typeck.c:4037
+ #, gcc-internal-format
+ msgid "cannot pass rvalue to reference parameter"
+ msgstr "R-Wert kann nicht an Referenzparameter übergeben werden"
+
+-#: c-typeck.c:4139 c-typeck.c:4306
++#: c-typeck.c:4150 c-typeck.c:4317
+ #, gcc-internal-format
+ msgid "passing argument %d of %qE makes qualified function pointer from unqualified"
+ msgstr "Ãœbergabe des Arguments %d von %qE erzeugt aus unqualifiziertem einen qualifizierten Funktionszeiger"
+
+-#: c-typeck.c:4142 c-typeck.c:4309
++#: c-typeck.c:4153 c-typeck.c:4320
+ #, gcc-internal-format
+ msgid "assignment makes qualified function pointer from unqualified"
+ msgstr "Zuweisung erzeugt aus unqualifiziertem einen qualifizierten Funktionszeiger"
+
+-#: c-typeck.c:4145 c-typeck.c:4311
++#: c-typeck.c:4156 c-typeck.c:4322
+ #, gcc-internal-format
+ msgid "initialization makes qualified function pointer from unqualified"
+ msgstr "Initialisierung erzeugt aus unqualifiziertem einen qualifizierten Funktionszeiger"
+
+-#: c-typeck.c:4148 c-typeck.c:4313
++#: c-typeck.c:4159 c-typeck.c:4324
+ #, gcc-internal-format
+ msgid "return makes qualified function pointer from unqualified"
+ msgstr "return erzeugt aus unqualifiziertem einen qualifizierten Funktionszeiger"
+
+-#: c-typeck.c:4152 c-typeck.c:4273
++#: c-typeck.c:4163 c-typeck.c:4284
+ #, gcc-internal-format
+ msgid "passing argument %d of %qE discards qualifiers from pointer target type"
+ msgstr "Ãœbergabe des Arguments %d von %qE entfernt Kennzeichner von Zeiger-Ziel-Typ"
+
+-#: c-typeck.c:4154 c-typeck.c:4275
++#: c-typeck.c:4165 c-typeck.c:4286
+ #, gcc-internal-format
+ msgid "assignment discards qualifiers from pointer target type"
+ msgstr "Zuweisung streicht Qualifizierer von Zeiger-Zieltyp"
+
+-#: c-typeck.c:4156 c-typeck.c:4277
++#: c-typeck.c:4167 c-typeck.c:4288
+ #, gcc-internal-format
+ msgid "initialization discards qualifiers from pointer target type"
+ msgstr "Initialisierung streicht Qualifizierer von Zeiger-Zieltyp"
+
+-#: c-typeck.c:4158 c-typeck.c:4279
++#: c-typeck.c:4169 c-typeck.c:4290
+ #, gcc-internal-format
+ msgid "return discards qualifiers from pointer target type"
+ msgstr "return streicht Qualifizierer von Zeiger-Zieltyp"
+
+-#: c-typeck.c:4165
++#: c-typeck.c:4176
+ #, gcc-internal-format
+ msgid "ISO C prohibits argument conversion to union type"
+ msgstr "ISO-C verbietet Argumentkonvertierung in union-Typ"
+
+-#: c-typeck.c:4201
++#: c-typeck.c:4212
+ #, gcc-internal-format
+ msgid "request for implicit conversion from %qT to %qT not permitted in C++"
+ msgstr "Anfrage zur impliziten für Umwandlung von %qT in %qT ist in C++ nicht erlaubt"
+
+-#: c-typeck.c:4214
++#: c-typeck.c:4225
+ #, gcc-internal-format
+ msgid "argument %d of %qE might be a candidate for a format attribute"
+ msgstr "Argument %d von %qE könnte Kandidat für Formatattribut sein"
+
+-#: c-typeck.c:4220
++#: c-typeck.c:4231
+ #, gcc-internal-format
+ msgid "assignment left-hand side might be a candidate for a format attribute"
+ msgstr "Links-Zuweisung könnte Kandidat für Formatattribut sein"
+
+-#: c-typeck.c:4225
++#: c-typeck.c:4236
+ #, gcc-internal-format
+ msgid "initialization left-hand side might be a candidate for a format attribute"
+ msgstr "Linke-Initialisierung könnte Kandidat für Formatattribut sein"
+
+-#: c-typeck.c:4230
++#: c-typeck.c:4241
+ #, gcc-internal-format
+ msgid "return type might be a candidate for a format attribute"
+ msgstr "Rückgabetyp könnte Kandidat für Formatattribut sein"
+
+-#: c-typeck.c:4253
++#: c-typeck.c:4264
+ #, gcc-internal-format
+ msgid "ISO C forbids passing argument %d of %qE between function pointer and %<void *%>"
+ msgstr "ISO-C verbietet Ãœbergabe des Arguments %d von %qE zwischen Funktionszeiger und %<void *%>"
+
+-#: c-typeck.c:4256
++#: c-typeck.c:4267
+ #, gcc-internal-format
+ msgid "ISO C forbids assignment between function pointer and %<void *%>"
+ msgstr "ISO-C verbietet Zuweisung zwischen Funktionszeiger und %<void *%>"
+
+-#: c-typeck.c:4258
++#: c-typeck.c:4269
+ #, gcc-internal-format
+ msgid "ISO C forbids initialization between function pointer and %<void *%>"
+ msgstr "ISO-C verbietet Initialisierung zwischen Funktionszeiger und %<void *%>"
+
+-#: c-typeck.c:4260
++#: c-typeck.c:4271
+ #, gcc-internal-format
+ msgid "ISO C forbids return between function pointer and %<void *%>"
+ msgstr "ISO-C verbietet return zwischen Funktionszeiger und %<void *%>"
+
+-#: c-typeck.c:4289
++#: c-typeck.c:4300
+ #, gcc-internal-format
+ msgid "pointer targets in passing argument %d of %qE differ in signedness"
+ msgstr "Zeigerziele bei Ãœbergabe des Arguments %d von %qE unterscheiden sich im Vorzeichenbesitz"
+
+-#: c-typeck.c:4291
++#: c-typeck.c:4302
+ #, gcc-internal-format
+ msgid "pointer targets in assignment differ in signedness"
+ msgstr "Zeigerziele in Zuweisung unterscheiden sich im Vorzeichenbesitz"
+
+-#: c-typeck.c:4293
++#: c-typeck.c:4304
+ #, gcc-internal-format
+ msgid "pointer targets in initialization differ in signedness"
+ msgstr "Zeigerziele in Initialisierung unterscheiden sich im Vorzeichenbesitz"
+
+-#: c-typeck.c:4295
++#: c-typeck.c:4306
+ #, gcc-internal-format
+ msgid "pointer targets in return differ in signedness"
+ msgstr "Zeigerziele in return unterscheiden sich im Vorzeichenbesitz"
+
+-#: c-typeck.c:4320
++#: c-typeck.c:4331
+ #, gcc-internal-format
+ msgid "passing argument %d of %qE from incompatible pointer type"
+ msgstr "Ãœbergabe des Arguments %d von %qE von inkompatiblem Zeigertyp"
+
+-#: c-typeck.c:4322
++#: c-typeck.c:4333
+ #, gcc-internal-format
+ msgid "assignment from incompatible pointer type"
+ msgstr "Zuweisung von inkompatiblem Zeigertyp"
+
+-#: c-typeck.c:4323
++#: c-typeck.c:4334
+ #, gcc-internal-format
+ msgid "initialization from incompatible pointer type"
+ msgstr "Initialisierung von inkompatiblem Zeigertyp"
+
+-#: c-typeck.c:4325
++#: c-typeck.c:4336
+ #, gcc-internal-format
+ msgid "return from incompatible pointer type"
+ msgstr "return von inkompatiblem Zeigertyp"
+
+-#: c-typeck.c:4342
++#: c-typeck.c:4353
+ #, gcc-internal-format
+ msgid "passing argument %d of %qE makes pointer from integer without a cast"
+ msgstr "Ãœbergabe des Arguments %d von %qE erzeugt Zeiger von Ganzzahl ohne Typkonvertierung"
+
+-#: c-typeck.c:4344
++#: c-typeck.c:4355
+ #, gcc-internal-format
+ msgid "assignment makes pointer from integer without a cast"
+ msgstr "Zuweisung erzeugt Zeiger von Ganzzahl ohne Typkonvertierung"
+
+-#: c-typeck.c:4346
++#: c-typeck.c:4357
+ #, gcc-internal-format
+ msgid "initialization makes pointer from integer without a cast"
+ msgstr "Initialisierung erzeugt Zeiger von Ganzzahl ohne Typkonvertierung"
+
+-#: c-typeck.c:4348
++#: c-typeck.c:4359
+ #, gcc-internal-format
+ msgid "return makes pointer from integer without a cast"
+ msgstr "return erzeugt Zeiger von Ganzzahl ohne Typkonvertierung"
+
+-#: c-typeck.c:4355
++#: c-typeck.c:4366
+ #, gcc-internal-format
+ msgid "passing argument %d of %qE makes integer from pointer without a cast"
+ msgstr "Ãœbergabe des Arguments %d von %qE erzeugt Ganzzahl von Zeiger ohne Typkonvertierung"
+
+-#: c-typeck.c:4357
++#: c-typeck.c:4368
+ #, gcc-internal-format
+ msgid "assignment makes integer from pointer without a cast"
+ msgstr "Zuweisung erzeugt Ganzzahl von Zeiger ohne Typkonvertierung"
+
+-#: c-typeck.c:4359
++#: c-typeck.c:4370
+ #, gcc-internal-format
+ msgid "initialization makes integer from pointer without a cast"
+ msgstr "Initialisierung erzeugt Ganzzahl von Zeiger ohne Typkonvertierung"
+
+-#: c-typeck.c:4361
++#: c-typeck.c:4372
+ #, gcc-internal-format
+ msgid "return makes integer from pointer without a cast"
+ msgstr "return erzeugt Ganzzahl von Zeiger ohne Typkonvertierung"
+
+-#: c-typeck.c:4377
++#: c-typeck.c:4388
+ #, gcc-internal-format
+ msgid "incompatible types in assignment"
+ msgstr "inkompatible Typen in Zuweisung"
+
+-#: c-typeck.c:4380
++#: c-typeck.c:4391
+ #, gcc-internal-format
+ msgid "incompatible types in initialization"
+ msgstr "inkompatible Typen in Initialisierung"
+
+-#: c-typeck.c:4383
++#: c-typeck.c:4394
+ #, gcc-internal-format
+ msgid "incompatible types in return"
+ msgstr "inkompatible Typen in return"
+
+-#: c-typeck.c:4439
++#: c-typeck.c:4450
+ #, gcc-internal-format
+ msgid "traditional C rejects automatic aggregate initialization"
+ msgstr "traditionelles C lehnt automatische Gesamt-Initialisierung ab"
+
+-#: c-typeck.c:4610 c-typeck.c:4625 c-typeck.c:4640
++#: c-typeck.c:4621 c-typeck.c:4636 c-typeck.c:4651
+ #, gcc-internal-format
+ msgid "(near initialization for %qs)"
+ msgstr "(nahe der Initialisierung für %qs)"
+
+-#: c-typeck.c:5180 cp/decl.c:4975
++#: c-typeck.c:5191 cp/decl.c:4995
+ #, gcc-internal-format
+ msgid "opaque vector types cannot be initialized"
+ msgstr "opake Vektortypen können nicht initialisiert werden"
+
+-#: c-typeck.c:5803
++#: c-typeck.c:5814
+ #, gcc-internal-format
+ msgid "unknown field %qE specified in initializer"
+ msgstr "unbekanntes Feld %qE in Initialisierung angegeben"
+
+-#: c-typeck.c:6703
++#: c-typeck.c:6714
+ #, gcc-internal-format
+ msgid "traditional C rejects initialization of unions"
+ msgstr "traditionelles C lehnt Initialisierung von unions ab"
+
+-#: c-typeck.c:7011
++#: c-typeck.c:7022
+ #, gcc-internal-format
+ msgid "jump into statement expression"
+ msgstr "Sprung in Anweisungs-Ausdruck"
+
+-#: c-typeck.c:7017
++#: c-typeck.c:7028
+ #, gcc-internal-format
+ msgid "jump into scope of identifier with variably modified type"
+ msgstr "in Gültigkeitsbereich des Bezeichners mit variabel modifiziertem Typen springen"
+
+-#: c-typeck.c:7054
++#: c-typeck.c:7065
+ #, gcc-internal-format
+ msgid "ISO C forbids %<goto *expr;%>"
+ msgstr "ISO-C verbietet %<goto *expr;%>"
+
+-#: c-typeck.c:7069 cp/typeck.c:6592
++#: c-typeck.c:7080 cp/typeck.c:6619
+ #, gcc-internal-format
+ msgid "function declared %<noreturn%> has a %<return%> statement"
+ msgstr "als %<noreturn%> deklarierte Funktion hat %<return%>-Anweisung"
+
+-#: c-typeck.c:7077
++#: c-typeck.c:7088
+ #, gcc-internal-format
+ msgid "%<return%> with no value, in function returning non-void"
+ msgstr "%<return%> ohne Wert in nicht-void zurückgebender Funktion"
+
+-#: c-typeck.c:7086
++#: c-typeck.c:7097
+ #, gcc-internal-format
+ msgid "%<return%> with a value, in function returning void"
+ msgstr "%<return%> mit Wert in void zurückgebender Funktion"
+
+-#: c-typeck.c:7088
++#: c-typeck.c:7099
+ #, gcc-internal-format
+ msgid "ISO C forbids %<return%> with expression, in function returning void"
+ msgstr "ISO-C verbietet %<return%> mit Ausdruck, in void zurückgebender Funktion"
+
+-#: c-typeck.c:7145
++#: c-typeck.c:7156
+ #, gcc-internal-format
+ msgid "function returns address of local variable"
+ msgstr "Funktion liefert Adresse einer lokalen Variablen zurück"
+
+-#: c-typeck.c:7217 cp/semantics.c:949
++#: c-typeck.c:7228 cp/semantics.c:952
+ #, gcc-internal-format
+ msgid "switch quantity not an integer"
+ msgstr "switch-Größe ist keine Ganzzahl"
+
+-#: c-typeck.c:7229
++#: c-typeck.c:7240
+ #, gcc-internal-format
+ msgid "%<long%> switch expression not converted to %<int%> in ISO C"
+ msgstr "%<long%> switch-Ausdruck nicht nach »int« konvertiert in ISO C"
+
+-#: c-typeck.c:7269
++#: c-typeck.c:7280
+ #, gcc-internal-format
+ msgid "case label in statement expression not containing enclosing switch statement"
+ msgstr "case-Marke in Anweisungs-Ausdruck enthält keine einschließende switch-Anweisung"
+
+-#: c-typeck.c:7272
++#: c-typeck.c:7283
+ #, gcc-internal-format
+ msgid "%<default%> label in statement expression not containing enclosing switch statement"
+ msgstr "%<default%>-Marke in Anweisungs-Ausdruck enthält keine einschließende switch-Anweisung"
+
+-#: c-typeck.c:7278
++#: c-typeck.c:7289
+ #, gcc-internal-format
+ msgid "case label in scope of identifier with variably modified type not containing enclosing switch statement"
+ msgstr "case-Marke in Gültigkeitsbereich eines Bezeichners mit variabel modifiziertem Typen, der keine einschließende switch-Anweisung enthält"
+
+-#: c-typeck.c:7281
++#: c-typeck.c:7292
+ #, gcc-internal-format
+ msgid "%<default%> label in scope of identifier with variably modified type not containing enclosing switch statement"
+ msgstr "%<default%>-Marke in Gültigkeitsbereich eines Bezeichners mit variabel modifiziertem Typen, der keine einschließende switch-Anweisung enthält"
+
+-#: c-typeck.c:7285 cp/parser.c:6804
++#: c-typeck.c:7296 cp/parser.c:6810
+ #, gcc-internal-format
+ msgid "case label not within a switch statement"
+ msgstr "case-Marke nicht innerhalb einer switch-Anweisung"
+
+-#: c-typeck.c:7287
++#: c-typeck.c:7298
+ #, gcc-internal-format
+ msgid "%<default%> label not within a switch statement"
+ msgstr "%<default%>-Marke nicht innerhalb einer switch-Anweisung"
+
+-#: c-typeck.c:7364
++#: c-typeck.c:7375
+ #, gcc-internal-format
+ msgid "%Hsuggest explicit braces to avoid ambiguous %<else%>"
+ msgstr "%Hes wird empfohlen, explizite geschweifte Klammern zu setzen, um mehrdeutiges %<else%> zu vermeiden"
+
+-#: c-typeck.c:7475 cp/cp-gimplify.c:97 cp/parser.c:7409
++#: c-typeck.c:7486 cp/cp-gimplify.c:97 cp/parser.c:7415
+ #, gcc-internal-format
+ msgid "break statement not within loop or switch"
+ msgstr "break-Anweisung nicht innerhalb einer Schleife oder »switch«"
+
+-#: c-typeck.c:7477 cp/parser.c:7430
++#: c-typeck.c:7488 cp/parser.c:7436
+ #, gcc-internal-format
+ msgid "continue statement not within a loop"
+ msgstr "continue-Anweisung nicht innerhalb einer Schleife"
+
+-#: c-typeck.c:7482 cp/parser.c:7420
++#: c-typeck.c:7493 cp/parser.c:7426
+ #, gcc-internal-format
+ msgid "break statement used with OpenMP for loop"
+ msgstr "break-Anweisung mit OpenMP für Schleife verwendet"
+
+-#: c-typeck.c:7505
++#: c-typeck.c:7516
+ #, gcc-internal-format
+ msgid "%Hstatement with no effect"
+ msgstr "%HAnweisung ohne Effekt"
+
+-#: c-typeck.c:7527
++#: c-typeck.c:7538
+ #, gcc-internal-format
+ msgid "expression statement has incomplete type"
+ msgstr "Ausdrucksanweisung hat unvollständigen Typ"
+
+-#: c-typeck.c:8082 cp/typeck.c:3259
++#: c-typeck.c:8093 cp/typeck.c:3301
+ #, gcc-internal-format
+ msgid "right shift count is negative"
+ msgstr "Rechts-Schiebe-Weite ist negativ"
+
+-#: c-typeck.c:8089 cp/typeck.c:3265
++#: c-typeck.c:8100 cp/typeck.c:3305
+ #, gcc-internal-format
+ msgid "right shift count >= width of type"
+ msgstr "Rechts-Schiebe-Weite >= Breite des Typs"
+
+-#: c-typeck.c:8111 cp/typeck.c:3284
++#: c-typeck.c:8122 cp/typeck.c:3324
+ #, gcc-internal-format
+ msgid "left shift count is negative"
+ msgstr "Links-Schiebe-Weite ist negativ"
+
+-#: c-typeck.c:8114 cp/typeck.c:3286
++#: c-typeck.c:8125 cp/typeck.c:3326
+ #, gcc-internal-format
+ msgid "left shift count >= width of type"
+ msgstr "Links-Schiebe-Weite >= Breite des Typs"
+
+-#: c-typeck.c:8132 cp/typeck.c:3324
++#: c-typeck.c:8143 cp/typeck.c:3364
+ #, gcc-internal-format
+ msgid "comparing floating point with == or != is unsafe"
+ msgstr "Vergleich von Gleitkomma mit == oder != ist unsicher"
+
+-#: c-typeck.c:8156 c-typeck.c:8163
++#: c-typeck.c:8167 c-typeck.c:8174
+ #, gcc-internal-format
+ msgid "ISO C forbids comparison of %<void *%> with function pointer"
+ msgstr "ISO-C verbietet Vergleich von %<void *%> mit Funktionszeiger"
+
+-#: c-typeck.c:8169 c-typeck.c:8227
++#: c-typeck.c:8180 c-typeck.c:8238
+ #, gcc-internal-format
+ msgid "comparison of distinct pointer types lacks a cast"
+ msgstr "in Vergleich verschiedener Zeigertypen fehlt Typkonvertierung"
+
+-#: c-typeck.c:8178 c-typeck.c:8186 cp/typeck.c:3344 cp/typeck.c:3353
++#: c-typeck.c:8189 c-typeck.c:8197 cp/typeck.c:3384 cp/typeck.c:3393
+ #, gcc-internal-format
+ msgid "the address of %qD will never be NULL"
+ msgstr "Die Adresse von %qD wird nie NULL sein"
+
+-#: c-typeck.c:8193 c-typeck.c:8198 c-typeck.c:8245 c-typeck.c:8250
++#: c-typeck.c:8204 c-typeck.c:8209 c-typeck.c:8256 c-typeck.c:8261
+ #, gcc-internal-format
+ msgid "comparison between pointer and integer"
+ msgstr "Vergleich zwischen Zeiger und Ganzzahl"
+
+-#: c-typeck.c:8219
++#: c-typeck.c:8230
+ #, gcc-internal-format
+ msgid "comparison of complete and incomplete pointers"
+ msgstr "Vergleich von vollständigen und unvollständigen Zeigern"
+
+-#: c-typeck.c:8222
++#: c-typeck.c:8233
+ #, gcc-internal-format
+ msgid "ISO C forbids ordered comparisons of pointers to functions"
+ msgstr "ISO-C verbietet geordnete Vergleiche zwischen Zeigern auf Funktionen"
+
+-#: c-typeck.c:8234 c-typeck.c:8240
++#: c-typeck.c:8245 c-typeck.c:8251
+ #, gcc-internal-format
+ msgid "ordered comparison of pointer with integer zero"
+ msgstr "geordneter Vergleich von Zeiger mit Ganzzahlnull"
+
+-#: c-typeck.c:8500
++#: c-typeck.c:8511
+ #, gcc-internal-format
+ msgid "comparison between signed and unsigned"
+ msgstr "Vergleich zwischen vorzeichenbehaftet und vorzeichenlos"
+
+-#: c-typeck.c:8546 cp/typeck.c:3830
++#: c-typeck.c:8557 cp/typeck.c:3838
+ #, gcc-internal-format
+ msgid "comparison of promoted ~unsigned with constant"
+ msgstr "Vergleich von weitergegebenem ~unsigned mit Konstante"
+
+-#: c-typeck.c:8554 cp/typeck.c:3838
++#: c-typeck.c:8565 cp/typeck.c:3846
+ #, gcc-internal-format
+ msgid "comparison of promoted ~unsigned with unsigned"
+ msgstr "Vergleich von weitergegebenem ~unsigned mit unsigned"
+
+-#: c-typeck.c:8612
++#: c-typeck.c:8623
+ #, gcc-internal-format
+ msgid "used array that cannot be converted to pointer where scalar is required"
+ msgstr "Feld, das nicht in Zeiger umgewandelt werden kann, anstelle des geforderten Skalars verwendet"
+
+-#: c-typeck.c:8616
++#: c-typeck.c:8627
+ #, gcc-internal-format
+ msgid "used struct type value where scalar is required"
+ msgstr "Wert eines struct-Typs anstelle des geforderten Skalars verwendet"
+
+-#: c-typeck.c:8620
++#: c-typeck.c:8631
+ #, gcc-internal-format
+ msgid "used union type value where scalar is required"
+ msgstr "Wert eines union-Typs anstelle des geforderten Skalars verwendet"
+
+-#: c-typeck.c:8725 cp/semantics.c:3523
++#: c-typeck.c:8736 cp/semantics.c:3555
+ #, gcc-internal-format
+ msgid "%qE has invalid type for %<reduction%>"
+ msgstr "%qE hat ungültigen Typ für %<reduction%>"
+
+-#: c-typeck.c:8759 cp/semantics.c:3536
++#: c-typeck.c:8770 cp/semantics.c:3568
+ #, gcc-internal-format
+ msgid "%qE has invalid type for %<reduction(%s)%>"
+ msgstr "%qE hat ungültigen Typ für %<reduction(%s)%>"
+
+-#: c-typeck.c:8775 cp/semantics.c:3546
++#: c-typeck.c:8786 cp/semantics.c:3578
+ #, gcc-internal-format
+ msgid "%qE must be %<threadprivate%> for %<copyin%>"
+ msgstr "%qE muss für %<copyin%> %<threadprivate%> sein"
+
+-#: c-typeck.c:8784 cp/semantics.c:3351
++#: c-typeck.c:8795 cp/semantics.c:3383
+ #, gcc-internal-format
+ msgid "%qE is not a variable in clause %qs"
+ msgstr "%qE ist in Klausel %qs keine Variable"
+
+-#: c-typeck.c:8791 c-typeck.c:8811 c-typeck.c:8831 cp/semantics.c:3377
+-#: cp/semantics.c:3396
++#: c-typeck.c:8802 c-typeck.c:8822 c-typeck.c:8842 cp/semantics.c:3409
++#: cp/semantics.c:3428
+ #, gcc-internal-format
+ msgid "%qE appears more than once in data clauses"
+ msgstr "%qE tritt in dieser Datenklausel mehrfach auf"
+
+-#: c-typeck.c:8805 cp/semantics.c:3371
++#: c-typeck.c:8816 cp/semantics.c:3403
+ #, gcc-internal-format
+ msgid "%qE is not a variable in clause %<firstprivate%>"
+ msgstr "%qE ist in Klausel %<firstprivate%> keine Variable"
+
+-#: c-typeck.c:8825 cp/semantics.c:3390
++#: c-typeck.c:8836 cp/semantics.c:3422
+ #, gcc-internal-format
+ msgid "%qE is not a variable in clause %<lastprivate%>"
+ msgstr "%qE ist in Klausel %<lastprivate%> keine Variable"
+
+-#: c-typeck.c:8883 cp/semantics.c:3587
++#: c-typeck.c:8894 cp/semantics.c:3619
+ #, gcc-internal-format
+ msgid "%qE is predetermined %qs for %qs"
+ msgstr "%qE ist vorbestimmt %qs für %qs"
+@@ -21281,12 +21262,12 @@
+ msgid "function call has aggregate value"
+ msgstr "Funktionsaufruf hat zusammengesetzten Wert"
+
+-#: cfgexpand.c:1884
++#: cfgexpand.c:1887
+ #, gcc-internal-format
+ msgid "not protecting local variables: variable length buffer"
+ msgstr "Lokale Variablen werden nicht geschützt: Puffer variabler Größe"
+
+-#: cfgexpand.c:1887
++#: cfgexpand.c:1890
+ #, gcc-internal-format
+ msgid "not protecting function: no buffer at least %d bytes long"
+ msgstr "Funktion wird nicht geschützt: Kein Puffer mit mindestens %d Bytes"
+@@ -21341,7 +21322,7 @@
+ msgid "verify_flow_info: Basic block %d succ edge is corrupted"
+ msgstr "verify_flow_info: Nachfolgekante des Basis-Blocks %d ist beschädigt"
+
+-#: cfghooks.c:184 cfgrtl.c:1840
++#: cfghooks.c:184 cfgrtl.c:1838
+ #, gcc-internal-format
+ msgid "wrong amount of branch edges after unconditional jump %i"
+ msgstr "falscher Betrag der Zweig-Kanten nach unbedingtem Sprung %i"
+@@ -21551,252 +21532,252 @@
+ msgid "%d exits recorded for loop %d (having %d exits)"
+ msgstr "%d Ausgänge für Schleife %d (mit %d Ausgängen) aufgezeichnet"
+
+-#: cfgrtl.c:1734
++#: cfgrtl.c:1732
+ #, gcc-internal-format
+ msgid "BB_RTL flag not set for block %d"
+ msgstr "Kennzeichen BB_RTL ist für Block %d nicht gesetzt"
+
+-#: cfgrtl.c:1741
++#: cfgrtl.c:1739
+ #, gcc-internal-format
+ msgid "insn %d basic block pointer is %d, should be %d"
+ msgstr "Basisblockzeiger des Befehls %d ist %d, sollte %d sein"
+
+-#: cfgrtl.c:1752
++#: cfgrtl.c:1750
+ #, gcc-internal-format
+ msgid "insn %d in header of bb %d has non-NULL basic block"
+ msgstr "Befehl %d im Kopf des Basisblockes %d hat Nicht-NULL als Basisblock"
+
+-#: cfgrtl.c:1760
++#: cfgrtl.c:1758
+ #, gcc-internal-format
+ msgid "insn %d in footer of bb %d has non-NULL basic block"
+ msgstr "Befehl %d am Ende des Basisblocks %d hat Nicht-NULL als Basisblock"
+
+-#: cfgrtl.c:1782
++#: cfgrtl.c:1780
+ #, gcc-internal-format
+ msgid "verify_flow_info: REG_BR_PROB does not match cfg %wi %i"
+ msgstr "verify_flow_info: REG_BR_PROB passt nicht zu cfg %wi %i"
+
+-#: cfgrtl.c:1797
++#: cfgrtl.c:1795
+ #, gcc-internal-format
+ msgid "fallthru edge crosses section boundary (bb %i)"
+ msgstr "Fall-Through-Kante überschreitet Abschnittsgrenze (bb %i)"
+
+-#: cfgrtl.c:1822
++#: cfgrtl.c:1820
+ #, gcc-internal-format
+ msgid "missing REG_EH_REGION note in the end of bb %i"
+ msgstr "fehlender Vermerk von REG_EH_REGION am Ende vom bb %i"
+
+-#: cfgrtl.c:1830
++#: cfgrtl.c:1828
+ #, gcc-internal-format
+ msgid "too many outgoing branch edges from bb %i"
+ msgstr "zu viele abgehende Zweig-Kanten vom bb %i"
+
+-#: cfgrtl.c:1835
++#: cfgrtl.c:1833
+ #, gcc-internal-format
+ msgid "fallthru edge after unconditional jump %i"
+ msgstr "Fallthru-Kante nach unbedingtem Sprung %i"
+
+-#: cfgrtl.c:1846
++#: cfgrtl.c:1844
+ #, gcc-internal-format
+ msgid "wrong amount of branch edges after conditional jump %i"
+ msgstr "falsche Summe der Zweig-Kanten nach bedingtem Sprung %i"
+
+-#: cfgrtl.c:1852
++#: cfgrtl.c:1850
+ #, gcc-internal-format
+ msgid "call edges for non-call insn in bb %i"
+ msgstr "Ruf-Kanten für Nicht-Aufruf-Befehl im bb %i"
+
+-#: cfgrtl.c:1861
++#: cfgrtl.c:1859
+ #, gcc-internal-format
+ msgid "abnormal edges for no purpose in bb %i"
+ msgstr "abnormale Kanten ohne Zweck in bb %i"
+
+-#: cfgrtl.c:1873
++#: cfgrtl.c:1871
+ #, gcc-internal-format
+ msgid "insn %d inside basic block %d but block_for_insn is NULL"
+ msgstr "Befehl %d innerhalb des Basis-Blockes %d, aber block_for_insn ist NULL"
+
+-#: cfgrtl.c:1877
++#: cfgrtl.c:1875
+ #, gcc-internal-format
+ msgid "insn %d inside basic block %d but block_for_insn is %i"
+ msgstr "Befehl %d innerhalb des Basis-Blockes %d, aber block_for_insn ist %i"
+
+-#: cfgrtl.c:1891 cfgrtl.c:1901
++#: cfgrtl.c:1889 cfgrtl.c:1899
+ #, gcc-internal-format
+ msgid "NOTE_INSN_BASIC_BLOCK is missing for block %d"
+ msgstr "NOTE_INSN_BASIC_BLOCK fehlt für Block %d"
+
+-#: cfgrtl.c:1914
++#: cfgrtl.c:1912
+ #, gcc-internal-format
+ msgid "NOTE_INSN_BASIC_BLOCK %d in middle of basic block %d"
+ msgstr "NOTE_INSN_BASIC_BLOCK %d in der Mitte des Basis-Blocks %d"
+
+-#: cfgrtl.c:1924
++#: cfgrtl.c:1922
+ #, gcc-internal-format
+ msgid "in basic block %d:"
+ msgstr "im Basis-Block %d:"
+
+-#: cfgrtl.c:1977 cfgrtl.c:2067
++#: cfgrtl.c:1975 cfgrtl.c:2065
+ #, gcc-internal-format
+ msgid "insn %d outside of basic blocks has non-NULL bb field"
+ msgstr "Befehl %d außerhalb eines Basis-Blockes hat Nicht-NULL als Basisblockfeld"
+
+-#: cfgrtl.c:1985
++#: cfgrtl.c:1983
+ #, gcc-internal-format
+ msgid "end insn %d for block %d not found in the insn stream"
+ msgstr "Ende-Befehl %d für Block %d nicht im Befehlsstrom gefunden"
+
+-#: cfgrtl.c:1998
++#: cfgrtl.c:1996
+ #, gcc-internal-format
+ msgid "insn %d is in multiple basic blocks (%d and %d)"
+ msgstr "Befehl %d ist in mehreren Basisblöcken (%d und %d)"
+
+-#: cfgrtl.c:2010
++#: cfgrtl.c:2008
+ #, gcc-internal-format
+ msgid "head insn %d for block %d not found in the insn stream"
+ msgstr "Kopf-Befehl %d für Block %d nicht im Befehlsstrom gefunden"
+
+-#: cfgrtl.c:2030
++#: cfgrtl.c:2028
+ #, gcc-internal-format
+ msgid "missing barrier after block %i"
+ msgstr "fehlende Sperre nach Block %i"
+
+-#: cfgrtl.c:2043
++#: cfgrtl.c:2041
+ #, gcc-internal-format
+ msgid "verify_flow_info: Incorrect blocks for fallthru %i->%i"
+ msgstr "verify_flow_info: Falsche Blöcke für »fallthru« %i->%i"
+
+-#: cfgrtl.c:2052
++#: cfgrtl.c:2050
+ #, gcc-internal-format
+ msgid "verify_flow_info: Incorrect fallthru %i->%i"
+ msgstr "verify_flow_info: Falsches »fallthru« %i->%i"
+
+-#: cfgrtl.c:2085
++#: cfgrtl.c:2083
+ #, gcc-internal-format
+ msgid "basic blocks not laid down consecutively"
+ msgstr "Basis-Blöcke sind nicht fortlaufend"
+
+-#: cfgrtl.c:2124
++#: cfgrtl.c:2122
+ #, gcc-internal-format
+ msgid "number of bb notes in insn chain (%d) != n_basic_blocks (%d)"
+ msgstr "Anzahl der bb-Vermerke in Befehlskette (%d) != n_basic_blocks (%d)"
+
+-#: cgraph.c:794
++#: cgraph.c:840
+ #, gcc-internal-format
+ msgid "%D renamed after being referenced in assembly"
+ msgstr "%D nach Referenzierung in Assemblierung umbenannt"
+
+-#: cgraphunit.c:670
++#: cgraphunit.c:675
+ #, gcc-internal-format
+ msgid "aux field set for edge %s->%s"
+ msgstr "Aux-Feld für Kante %s->%s gesetzt"
+
+-#: cgraphunit.c:676
++#: cgraphunit.c:681
+ #, gcc-internal-format
+ msgid "Execution count is negative"
+ msgstr "Ausführungszähler ist negativ"
+
+-#: cgraphunit.c:683
++#: cgraphunit.c:688
+ #, gcc-internal-format
+ msgid "caller edge count is negative"
+ msgstr "Rufer-Kantenzähler ist negativ"
+
+-#: cgraphunit.c:688
++#: cgraphunit.c:693
+ #, gcc-internal-format
+ msgid "caller edge frequency is negative"
+ msgstr "Rufer-Kantenhäufigkeit ist negativ"
+
+-#: cgraphunit.c:693
++#: cgraphunit.c:698
+ #, gcc-internal-format
+ msgid "caller edge frequency is too large"
+ msgstr "Rufer-Kantenhäufigkeit ist zu groß"
+
+-#: cgraphunit.c:702
++#: cgraphunit.c:707
+ #, gcc-internal-format
+ msgid "inlined_to pointer is wrong"
+ msgstr "inlined_to-Zeiger ist falsch"
+
+-#: cgraphunit.c:707
++#: cgraphunit.c:712
+ #, gcc-internal-format
+ msgid "multiple inline callers"
+ msgstr "mehrere Inline-Aufrufer"
+
+-#: cgraphunit.c:714
++#: cgraphunit.c:719
+ #, gcc-internal-format
+ msgid "inlined_to pointer set for noninline callers"
+ msgstr "inlined_to-Zeiger für Nicht-Inline-Aufrufer gesetzt"
+
+-#: cgraphunit.c:720
++#: cgraphunit.c:725
+ #, gcc-internal-format
+ msgid "inlined_to pointer is set but no predecessors found"
+ msgstr "inlined_to-Zeiger gesetzt, aber keine Vorgänger gefunden"
+
+-#: cgraphunit.c:725
++#: cgraphunit.c:730
+ #, gcc-internal-format
+ msgid "inlined_to pointer refers to itself"
+ msgstr "Iilined_to-Zeiger verweist auf sich selbst"
+
+-#: cgraphunit.c:735
++#: cgraphunit.c:740
+ #, gcc-internal-format
+ msgid "node not found in cgraph_hash"
+ msgstr "Knoten in cgraph_hash nicht gefunden"
+
+-#: cgraphunit.c:763
++#: cgraphunit.c:768
+ #, gcc-internal-format
+ msgid "shared call_stmt:"
+ msgstr "Gemeinsam genutztes call_stmt:"
+
+-#: cgraphunit.c:770
++#: cgraphunit.c:775
+ #, gcc-internal-format
+ msgid "edge points to wrong declaration:"
+ msgstr "Kante zeigt auf falsche Deklaration:"
+
+-#: cgraphunit.c:779
++#: cgraphunit.c:784
+ #, gcc-internal-format
+ msgid "missing callgraph edge for call stmt:"
+ msgstr "Fehlende Aufrufgraph-Kante für call stmt:"
+
+-#: cgraphunit.c:795
++#: cgraphunit.c:800
+ #, gcc-internal-format
+ msgid "edge %s->%s has no corresponding call_stmt"
+ msgstr "Kante %s->%s hat keine passende call_stmt"
+
+-#: cgraphunit.c:807
++#: cgraphunit.c:812
+ #, gcc-internal-format
+ msgid "verify_cgraph_node failed"
+ msgstr "verify_cgraph gescheitert"
+
+-#: cgraphunit.c:909 cgraphunit.c:932
++#: cgraphunit.c:915 cgraphunit.c:938
+ #, gcc-internal-format
+ msgid "%J%<externally_visible%> attribute have effect only on public objects"
+ msgstr "%J Attribut %<externally_visible%> wirkt sich nur auf öffentliche Objekte aus"
+
+-#: cgraphunit.c:1122
++#: cgraphunit.c:1128
+ #, gcc-internal-format
+ msgid "failed to reclaim unneeded function"
+ msgstr "Zurückfordern der nicht genötigten Funktion gescheitert"
+
+-#: cgraphunit.c:1454
++#: cgraphunit.c:1460
+ #, gcc-internal-format
+ msgid "nodes with no released memory found"
+ msgstr "Knoten ohne freigegebenen Speicher gefunden"
+
+-#: collect2.c:1189
++#: collect2.c:1203
+ #, gcc-internal-format
+ msgid "unknown demangling style '%s'"
+ msgstr "unbekannter Aufbereitungszustand »%s«"
+
+-#: collect2.c:1512
++#: collect2.c:1526
+ #, gcc-internal-format
+ msgid "%s terminated with signal %d [%s]%s"
+ msgstr "%s mit Signal %d [%s]%s beendet"
+
+-#: collect2.c:1530
++#: collect2.c:1544
+ #, gcc-internal-format
+ msgid "%s returned %d exit status"
+ msgstr "%s gab Ende-Status %d zurück"
+
+-#: collect2.c:2242
++#: collect2.c:2256
+ #, gcc-internal-format
+ msgid "cannot find 'ldd'"
+ msgstr "»ldd« kann nicht gefunden werden"
+@@ -21951,27 +21932,27 @@
+ msgid "dominator of %d should be %d, not %d"
+ msgstr "Herrscher über %d sollte %d sein, nicht %d"
+
+-#: dwarf2out.c:3634
++#: dwarf2out.c:3686
+ #, gcc-internal-format
+ msgid "DW_LOC_OP %s not implemented"
+ msgstr "DW_LOC_OP %s nicht implementiert"
+
+-#: emit-rtl.c:2326
++#: emit-rtl.c:2262
+ #, gcc-internal-format
+ msgid "invalid rtl sharing found in the insn"
+ msgstr "ungültige gemeinsame rtl-Benutzung in Befehl gefunden"
+
+-#: emit-rtl.c:2328
++#: emit-rtl.c:2264
+ #, gcc-internal-format
+ msgid "shared rtx"
+ msgstr "Gemeinsames rtx"
+
+-#: emit-rtl.c:2330
++#: emit-rtl.c:2266
+ #, gcc-internal-format
+ msgid "internal consistency failure"
+ msgstr "internes Konsistenzproblem"
+
+-#: emit-rtl.c:3417
++#: emit-rtl.c:3365
+ #, gcc-internal-format
+ msgid "ICE: emit_insn used where emit_jump_insn needed:\n"
+ msgstr "ICE: emit_insn verwendet, wo emit_jump_insn erforderlich:\n"
+@@ -22031,16 +22012,16 @@
+ msgid "verify_eh_tree failed"
+ msgstr "verify_eh_tree gescheitert"
+
+-#: explow.c:1281
++#: explow.c:1258
+ #, gcc-internal-format
+ msgid "stack limits not supported on this target"
+ msgstr "Kellergrenzen nicht für dieses Ziel unterstützt"
+
+-#: expr.c:8031
++#: expr.c:8030
+ msgid "%Kcall to %qs declared with attribute error: %s"
+ msgstr "%KAufruf von %qs mit Attributfehler deklariert: %s"
+
+-#: expr.c:8037
++#: expr.c:8036
+ msgid "%Kcall to %qs declared with attribute warning: %s"
+ msgstr "%KAufruf von %qs mit Attributwarnung deklariert: %s"
+
+@@ -22054,7 +22035,7 @@
+ msgid "large fixed-point constant implicitly truncated to fixed-point type"
+ msgstr "große Festkommakonstante implizit auf Festkommatypen abgeschnitten"
+
+-#: fold-const.c:992 tree-ssa-loop-niter.c:1827 tree-vrp.c:5060
++#: fold-const.c:992 tree-ssa-loop-niter.c:1827 tree-vrp.c:5076
+ #, gcc-internal-format
+ msgid "%H%s"
+ msgstr "%H%s"
+@@ -22064,77 +22045,77 @@
+ msgid "assuming signed overflow does not occur when negating a division"
+ msgstr "Annahme, dass vorzeichenbehafteter Ãœberlauf nicht auftritt, wenn Division negiert wird"
+
+-#: fold-const.c:3989 fold-const.c:4000
++#: fold-const.c:4003 fold-const.c:4014
+ #, gcc-internal-format
+ msgid "comparison is always %d due to width of bit-field"
+ msgstr "Vergleich ist immer %d wegen Breite des Bitfeldes"
+
+-#: fold-const.c:5317
++#: fold-const.c:5331
+ #, 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"
+
+-#: fold-const.c:5691 fold-const.c:5706
++#: fold-const.c:5705 fold-const.c:5720
+ #, gcc-internal-format
+ msgid "comparison is always %d"
+ msgstr "Vergleich ist immer %d"
+
+-#: fold-const.c:5835
++#: fold-const.c:5849
+ #, gcc-internal-format
+ msgid "%<or%> of unmatched not-equal tests is always 1"
+ msgstr "»oder« nicht passender Ungleichheits-Tests ist immer 1"
+
+-#: fold-const.c:5840
++#: fold-const.c:5854
+ #, gcc-internal-format
+ msgid "%<and%> of mutually exclusive equal-tests is always 0"
+ msgstr "»und« sich gegenseitig ausschließender Gleichheits-Tests ist immer 0"
+
+-#: fold-const.c:8617
++#: fold-const.c:8641
+ #, gcc-internal-format
+ msgid "assuming signed overflow does not occur when reducing constant in comparison"
+ msgstr "Annahme, dass vorzeichenbehafteter Ãœberlauf nicht auftritt, wenn Konstante in Vergleich verringert wird"
+
+-#: fold-const.c:8871
++#: fold-const.c:8895
+ #, gcc-internal-format
+ msgid "assuming signed overflow does not occur when combining constants around a comparison"
+ msgstr "Annahme, dass vorzeichenbehafteter Ãœberlauf nicht auftritt, wenn Konstanten um einen Vergleich kombiniert werden"
+
+-#: fold-const.c:13236
++#: fold-const.c:13433
+ #, gcc-internal-format
+ msgid "fold check: original tree changed by fold"
+ msgstr "Faltungstest: ursprünglicher Baum durch Faltung geändert"
+
+-#: function.c:377
++#: function.c:380
+ #, gcc-internal-format
+ msgid "%Jtotal size of local objects too large"
+ msgstr "%JGesamtgröße der lokalen Objekte zu hoch"
+
+-#: function.c:837 varasm.c:2095
++#: function.c:840 varasm.c:2095
+ #, gcc-internal-format
+ msgid "size of variable %q+D is too large"
+ msgstr "Größe der Variablen %q+D ist zu hoch"
+
+-#: function.c:1554 gimplify.c:4250
++#: function.c:1571 gimplify.c:4405
+ #, gcc-internal-format
+ msgid "impossible constraint in %<asm%>"
+ msgstr "unmögliche Bedingung in »asm«"
+
+-#: function.c:3538
++#: function.c:3557
+ #, gcc-internal-format
+ msgid "variable %q+D might be clobbered by %<longjmp%> or %<vfork%>"
+ msgstr "Variable %q+D könnte von »longjmp« oder »vfork« zerstört werden"
+
+-#: function.c:3559
++#: function.c:3578
+ #, gcc-internal-format
+ msgid "argument %q+D might be clobbered by %<longjmp%> or %<vfork%>"
+ msgstr "Argument %q+D könnte von »longjmp« oder »vfork« zerstört werden"
+
+-#: function.c:4004
++#: function.c:4027
+ #, gcc-internal-format
+ msgid "function returns an aggregate"
+ msgstr "Funktion gibt Aggregat zurück"
+
+-#: function.c:4401
++#: function.c:4424
+ #, gcc-internal-format
+ msgid "unused parameter %q+D"
+ msgstr "unbenutzter Parameter %q+D"
+@@ -22159,12 +22140,12 @@
+ msgid "extraneous argument to '%s' option"
+ msgstr "belangloses Argument für »%s«-Option"
+
+-#: gcc.c:3987
++#: gcc.c:3981
+ #, gcc-internal-format
+ msgid "warning: -pipe ignored because -save-temps specified"
+ msgstr "Warnung: -pipe ignoriert, da -save-temps angegeben"
+
+-#: gcc.c:4276
++#: gcc.c:4270
+ #, gcc-internal-format
+ msgid "warning: '-x %s' after last input file has no effect"
+ msgstr "Warnung: »-x %s« hinter letzter Eingabedatei hat keine Wirkung"
+@@ -22172,62 +22153,62 @@
+ #. Catch the case where a spec string contains something like
+ #. '%{foo:%*}'. i.e. there is no * in the pattern on the left
+ #. hand side of the :.
+-#: gcc.c:5314
++#: gcc.c:5308
+ #, gcc-internal-format
+ msgid "spec failure: '%%*' has not been initialized by pattern match"
+ msgstr "Spezifikationsfehler: »%%*« wurde nicht durch Mustererkennung initialisiert"
+
+-#: gcc.c:5323
++#: gcc.c:5317
+ #, gcc-internal-format
+ msgid "warning: use of obsolete %%[ operator in specs"
+ msgstr "Warnung: Verwendung des veralteten Operators %%[ in Spezifikation"
+
+-#: gcc.c:5404
++#: gcc.c:5398
+ #, gcc-internal-format
+ msgid "spec failure: unrecognized spec option '%c'"
+ msgstr "Spezifikationsfehler: nicht erkannte Option »%c«"
+
+-#: gcc.c:6305
++#: gcc.c:6304
+ #, gcc-internal-format
+ msgid "spec failure: more than one arg to SYSROOT_SUFFIX_SPEC"
+ msgstr "Spezifikationsfehler: mehr als ein Argument für SYSROOT_SUFFIX_SPEC"
+
+-#: gcc.c:6328
++#: gcc.c:6327
+ #, gcc-internal-format
+ msgid "spec failure: more than one arg to SYSROOT_HEADERS_SUFFIX_SPEC"
+ msgstr "Spezifikationsfehler: mehr als ein Argument für SYSROOT_HEADERS_SUFFIX_SPEC"
+
+-#: gcc.c:6415
++#: gcc.c:6414
+ #, gcc-internal-format
+ msgid "unrecognized option '-%s'"
+ msgstr "nicht erkannte Option »-%s«"
+
+-#: gcc.c:6615 gcc.c:6678
++#: gcc.c:6614 gcc.c:6677
+ #, gcc-internal-format
+ msgid "%s: %s compiler not installed on this system"
+ msgstr "%s: %s-Compiler ist auf diesem System nicht installiert"
+
+-#: gcc.c:6778
++#: gcc.c:6777
+ #, gcc-internal-format
+ msgid "%s: linker input file unused because linking not done"
+ msgstr "%s: Eingabedateien des Binders unbenutzt, da keine Bindung geschieht"
+
+-#: gcc.c:6818
++#: gcc.c:6817
+ #, gcc-internal-format
+ msgid "language %s not recognized"
+ msgstr "Sprache %s nicht erkannt"
+
+-#: gcc.c:6889
++#: gcc.c:6888
+ #, gcc-internal-format
+ msgid "%s: %s"
+ msgstr "%s: %s"
+
+-#: gcse.c:6660
++#: gcse.c:6644
+ #, gcc-internal-format
+ msgid "%s: %d basic blocks and %d edges/basic block"
+ msgstr "%s: %d Basis-Blöcke und %d Kanten/Basis-Blöcke"
+
+-#: gcse.c:6673
++#: gcse.c:6657
+ #, gcc-internal-format
+ msgid "%s: %d basic blocks and %d registers"
+ msgstr "%s: %d Basis-Blöcke und %d Register"
+@@ -22280,52 +22261,52 @@
+ msgid "can't write PCH fle: %m"
+ msgstr "PCH-Datei kann nicht geschrieben werden: %m"
+
+-#: gimplify.c:4139
++#: gimplify.c:4294
+ #, gcc-internal-format
+ msgid "invalid lvalue in asm output %d"
+ msgstr "ungültiger L-Wert in asm-Ausgabe %d"
+
+-#: gimplify.c:4251
++#: gimplify.c:4406
+ #, gcc-internal-format
+ msgid "non-memory input %d must stay in memory"
+ msgstr "Eingabe von Nicht-Speicher %d muss im Speicher bleiben"
+
+-#: gimplify.c:4264
++#: gimplify.c:4419
+ #, gcc-internal-format
+ msgid "memory input %d is not directly addressable"
+ msgstr "Speichereingabe %d ist nicht direkt adressierbar"
+
+-#: gimplify.c:4743
++#: gimplify.c:4898
+ #, gcc-internal-format
+ msgid "%qs not specified in enclosing parallel"
+ msgstr "in umgebender Parallele wurde %qs nicht angegeben"
+
+-#: gimplify.c:4745
++#: gimplify.c:4900
+ #, gcc-internal-format
+ msgid "%Henclosing parallel"
+ msgstr "%Humgebende Parallele"
+
+-#: gimplify.c:4799
++#: gimplify.c:4954
+ #, gcc-internal-format
+ msgid "iteration variable %qs should be private"
+ msgstr "Schleifenvariable %qs sollte »private« sein"
+
+-#: gimplify.c:4813
++#: gimplify.c:4968
+ #, gcc-internal-format
+ msgid "iteration variable %qs should not be firstprivate"
+ msgstr "Schleifenvariable %qs sollte nicht »firstprivate« sein"
+
+-#: gimplify.c:4816
++#: gimplify.c:4971
+ #, gcc-internal-format
+ msgid "iteration variable %qs should not be reduction"
+ msgstr "Schleifenvariable %qs sollte nicht in Reduktion sein"
+
+-#: gimplify.c:4940
++#: gimplify.c:5095
+ #, gcc-internal-format
+ msgid "%s variable %qs is private in outer context"
+ msgstr "%s Variable %qs ist im äußeren Kontext »private«"
+
+-#: gimplify.c:6108
++#: gimplify.c:6281
+ #, gcc-internal-format
+ msgid "gimplification failed"
+ msgstr "Gimplifikation gescheitert"
+@@ -22335,7 +22316,7 @@
+ msgid "%s cannot be used in asm here"
+ msgstr "%s kann nicht hier in »asm« verwendet werden"
+
+-#: graph.c:401 java/jcf-parse.c:1757 java/jcf-parse.c:1897 objc/objc-act.c:500
++#: graph.c:401 java/jcf-parse.c:1759 java/jcf-parse.c:1899 objc/objc-act.c:500
+ #, gcc-internal-format
+ msgid "can't open %s: %m"
+ msgstr "%s kann nicht geöffnet werden: %m"
+@@ -22345,158 +22326,163 @@
+ msgid "fix_sched_param: unknown param: %s"
+ msgstr "fix_sched_param: unbekannter Parameter: %s"
+
+-#: omp-low.c:1288
++#: omp-low.c:1289
+ #, gcc-internal-format
+ msgid "work-sharing region may not be closely nested inside of work-sharing, critical, ordered or master region"
+ msgstr "arbeitsteilende Region darf nicht in arbeitsteilender, kritischer, geordneter oder Master-Region eng geschachtelt sein"
+
+-#: omp-low.c:1304
++#: omp-low.c:1305
+ #, gcc-internal-format
+ msgid "master region may not be closely nested inside of work-sharing region"
+ msgstr "Master-Region darf nicht innerhalb arbeitsteilender Region eng geschachtelt sein"
+
+-#: omp-low.c:1318
++#: omp-low.c:1319
+ #, gcc-internal-format
+ msgid "ordered region may not be closely nested inside of critical region"
+ msgstr "geordnete Region darf nicht innerhalb kritischer Region eng geschachtelt sein"
+
+-#: omp-low.c:1324
++#: omp-low.c:1325
+ #, gcc-internal-format
+ msgid "ordered region must be closely nested inside a loop region with an ordered clause"
+ msgstr "geordnete Region muss innerhalb einer Schleifenregion mit geordneter Klausel eng geschachtelt sein"
+
+-#: omp-low.c:1338
++#: omp-low.c:1339
+ #, gcc-internal-format
+ msgid "critical region may not be nested inside a critical region with the same name"
+ msgstr "kritische Region darf nicht innerhalb einer kritischen Region mit gleichem Namen geschachtelt werden"
+
+-#: omp-low.c:5050 cp/decl.c:2660 cp/parser.c:7417 cp/parser.c:7437
++#: omp-low.c:5116 cp/decl.c:2667 cp/parser.c:7423 cp/parser.c:7443
+ #, gcc-internal-format
+ msgid "invalid exit from OpenMP structured block"
+ msgstr "ungültiger Ausgang von strukturiertem OpenMP-Block"
+
+-#: omp-low.c:5052
++#: omp-low.c:5118
+ #, gcc-internal-format
+ msgid "invalid entry to OpenMP structured block"
+ msgstr "ungültiger Eintritt in strukturierten OpenMP-Block"
+
+-#: opts.c:173
++#: opts.c:165
+ #, gcc-internal-format
+ msgid "argument %qs to %<-femit-struct-debug-detailed%> not recognized"
+ msgstr "Argument %qs für %<-femit-struct-debug-detailed%> nicht erkannt"
+
+-#: opts.c:207
++#: opts.c:199
+ #, gcc-internal-format
+ msgid "argument %qs to %<-femit-struct-debug-detailed%> unknown"
+ msgstr "Argument %qs für %<-femit-struct-debug-detailed%> unbekannt"
+
+-#: opts.c:213
++#: opts.c:205
+ #, gcc-internal-format
+ msgid "%<-femit-struct-debug-detailed=dir:...%> must allow at least as much as %<-femit-struct-debug-detailed=ind:...%>"
+ msgstr "%<-femit-struct-debug-detailed=dir:...%> muss zumindest so viel wie %<-femit-struct-debug-detailed=ind:...%> erlauben"
+
+ #. Eventually this should become a hard error IMO.
+-#: opts.c:438
++#: opts.c:430
+ #, gcc-internal-format
+ msgid "command line option \"%s\" is valid for %s but not for %s"
+ msgstr "Kommandozeilenoption \"%s\" ist gültig für %s, aber nicht für %s"
+
+-#: opts.c:492
++#: opts.c:484
+ #, gcc-internal-format
+ msgid "command line option %qs is not supported by this configuration"
+ msgstr "Kommandozeilenoption %qs wird von dieser Konfiguration nicht unterstützt"
+
+-#: opts.c:545
++#: opts.c:537
+ #, gcc-internal-format
+ msgid "missing argument to \"%s\""
+ msgstr "fehlendes Argument für »%s«"
+
+-#: opts.c:555
++#: opts.c:547
+ #, gcc-internal-format
+ msgid "argument to \"%s\" should be a non-negative integer"
+ msgstr "Argument von »%s« sollte eine nicht-negative Ganzzahl sein"
+
+-#: opts.c:728
++#: opts.c:720
+ #, gcc-internal-format
+ msgid "unrecognized command line option \"%s\""
+ msgstr "nicht erkannte Kommandozeilenoption »%s«"
+
+-#: opts.c:947
++#: opts.c:939
+ #, gcc-internal-format
+ msgid "-Wuninitialized is not supported without -O"
+ msgstr "-Wuninitialized wird nicht ohne -O unterstützt"
+
+-#: opts.c:962
++#: opts.c:951
+ #, gcc-internal-format
++msgid "-funit-at-a-time is required for inlining of functions that are only called once"
++msgstr "-funit-at-a-time wird für Inlining von Funktionen benötigt, die nur einmal aufgerufen werden"
++
++#: opts.c:964
++#, gcc-internal-format
+ msgid "-freorder-blocks-and-partition does not work with exceptions"
+ msgstr "-freorder-blocks-and-partition funktioniert nicht mit Ausnahmen"
+
+-#: opts.c:973
++#: opts.c:975
+ #, gcc-internal-format
+ msgid "-freorder-blocks-and-partition does not support unwind info"
+ msgstr "-freorder-blocks-and-partition unterstützt keine Abwicklungs-Informationen"
+
+-#: opts.c:987
++#: opts.c:989
+ #, 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.c:1263
++#: opts.c:1265
+ #, gcc-internal-format
+ msgid "unrecognized include_flags 0x%x passed to print_specific_help"
+ msgstr "nicht erkanntes include_flags 0x%x an print_specific_help weitergegeben"
+
+-#: opts.c:1593
++#: opts.c:1595
+ #, gcc-internal-format
+ msgid "structure alignment must be a small power of two, not %d"
+ msgstr "Strukturausrichtung muss eine kleine Zweierpotenz sein, nicht %d"
+
+-#: opts.c:1656
++#: opts.c:1658
+ #, gcc-internal-format
+ msgid "unrecognized visibility value \"%s\""
+ msgstr "unbekannter Sichtbarkeitswert \"%s\""
+
+-#: opts.c:1704
++#: opts.c:1706
+ #, gcc-internal-format
+ msgid "unrecognized register name \"%s\""
+ msgstr "unbekannter Registername: \"%s\""
+
+-#: opts.c:1728
++#: opts.c:1730
+ #, gcc-internal-format
+ msgid "unknown tls-model \"%s\""
+ msgstr "unbekanntes tls-Modell »%s«"
+
+-#: opts.c:1803
++#: opts.c:1807
+ #, gcc-internal-format
+ msgid "%s: --param arguments should be of the form NAME=VALUE"
+ msgstr "%s: »--param«-Argumente sollten von der Form NAME=VALUE sein"
+
+-#: opts.c:1808
++#: opts.c:1812
+ #, gcc-internal-format
+ msgid "invalid --param value %qs"
+ msgstr "ungültiger Wert für --param: %qs"
+
+-#: opts.c:1931
++#: opts.c:1934
+ #, gcc-internal-format
+ msgid "target system does not support debug output"
+ msgstr "Zielsystem unterstützt keine Testausgaben"
+
+-#: opts.c:1938
++#: opts.c:1941
+ #, gcc-internal-format
+ msgid "debug format \"%s\" conflicts with prior selection"
+ msgstr "Testformat »%s« steht in Konflikt mit vorheriger Auswahl"
+
+-#: opts.c:1954
++#: opts.c:1957
+ #, gcc-internal-format
+ msgid "unrecognised debug output level \"%s\""
+ msgstr "Testausgabestufe »%s« nicht erkannt"
+
+-#: opts.c:1956
++#: opts.c:1959
+ #, gcc-internal-format
+ msgid "debug output level %s is too high"
+ msgstr "Testausgabestufe »%s« ist zu groß"
+
+-#: opts.c:2038
++#: opts.c:2041
+ #, gcc-internal-format
+ msgid "-Werror=%s: No option -%s"
+ msgstr "-Werror=%s: Keine Option -%s"
+@@ -22572,9 +22558,9 @@
+ msgid "can't use '%s' as a %s register"
+ msgstr "»%s« kann nicht als ein %s-Register verwendet werden"
+
+-#: regclass.c:890 config/ia64/ia64.c:5138 config/ia64/ia64.c:5145
+-#: config/pa/pa.c:359 config/pa/pa.c:366 config/spu/spu.c:3886
+-#: config/spu/spu.c:3893
++#: regclass.c:890 config/ia64/ia64.c:5139 config/ia64/ia64.c:5146
++#: config/pa/pa.c:362 config/pa/pa.c:369 config/spu/spu.c:3875
++#: config/spu/spu.c:3882
+ #, gcc-internal-format
+ msgid "unknown register name: %s"
+ msgstr "unbekannter Registername: %s"
+@@ -22614,22 +22600,22 @@
+ msgid "validate_value_data: [%u] Non-empty reg in chain (%s %u %i)"
+ msgstr "validate_value_data: [%u] Nicht leeres Register in Kette (%s %u %i)"
+
+-#: reload.c:1252
++#: reload.c:1256
+ #, gcc-internal-format
+ msgid "cannot reload integer constant operand in %<asm%>"
+ msgstr "Ganzzahlkonstantenoperand kann in %<asm%> nicht neu geladen werden"
+
+-#: reload.c:1266
++#: reload.c:1270
+ #, gcc-internal-format
+ msgid "impossible register constraint in %<asm%>"
+ msgstr "unmögliche Registerbedingung in %<asm%>"
+
+-#: reload.c:3564
++#: reload.c:3574
+ #, gcc-internal-format
+ msgid "%<&%> constraint used with no register class"
+ msgstr "%<&%>-Bedingung ohne Registerklasse verwendet"
+
+-#: reload.c:3735 reload.c:3975
++#: reload.c:3745 reload.c:3991
+ #, gcc-internal-format
+ msgid "inconsistent operand constraints in an %<asm%>"
+ msgstr "inkonsistente Operandenbedingungen in einem %<asm%>"
+@@ -22854,49 +22840,49 @@
+ msgid "size of %q+D is larger than %wd bytes"
+ msgstr "Größe von %q+D überschreitet %wd Bytes"
+
+-#: stor-layout.c:899
++#: stor-layout.c:888
+ #, gcc-internal-format
+ msgid "packed attribute causes inefficient alignment for %q+D"
+ msgstr "gepacktes Attribut verursacht ineffiziente Ausrichtung für %q+D"
+
+-#: stor-layout.c:902
++#: stor-layout.c:891
+ #, gcc-internal-format
+ msgid "packed attribute is unnecessary for %q+D"
+ msgstr "gepacktes Attribut ist unnötig für %q+D"
+
+ #. No, we need to skip space before this field.
+ #. Bump the cumulative size to multiple of field alignment.
+-#: stor-layout.c:919
++#: stor-layout.c:908
+ #, gcc-internal-format
+ msgid "padding struct to align %q+D"
+ msgstr "struct wird aufgefüllt, um %q+D auszurichten"
+
+-#: stor-layout.c:1270
++#: stor-layout.c:1259
+ #, gcc-internal-format
+ msgid "padding struct size to alignment boundary"
+ msgstr "struct wird bis zur Ausrichtungsgrenze aufgefüllt"
+
+-#: stor-layout.c:1300
++#: stor-layout.c:1289
+ #, gcc-internal-format
+ msgid "packed attribute causes inefficient alignment for %qs"
+ msgstr "gepacktes Attribut verursacht ineffiziente Ausrichtung für %qs"
+
+-#: stor-layout.c:1304
++#: stor-layout.c:1293
+ #, gcc-internal-format
+ msgid "packed attribute is unnecessary for %qs"
+ msgstr "gepacktes Attribut ist unnötig für %qs"
+
+-#: stor-layout.c:1310
++#: stor-layout.c:1299
+ #, gcc-internal-format
+ msgid "packed attribute causes inefficient alignment"
+ msgstr "gepacktes Attribut führt zu ineffizienter Ausrichtung"
+
+-#: stor-layout.c:1312
++#: stor-layout.c:1301
+ #, gcc-internal-format
+ msgid "packed attribute is unnecessary"
+ msgstr "gepacktes Attribut ist unnötig"
+
+-#: stor-layout.c:1842
++#: stor-layout.c:1831
+ #, gcc-internal-format
+ msgid "alignment of array elements is greater than element size"
+ msgstr "Ausrichtung der Feldelemente ist größer als Elementgröße"
+@@ -22981,643 +22967,653 @@
+ msgid "unrecognized gcc debugging option: %c"
+ msgstr "GCC-Debuggingoption nicht erkannt: %c"
+
+-#: toplev.c:1411
++#: toplev.c:1413
+ #, gcc-internal-format
+ msgid "can%'t open %s for writing: %m"
+ msgstr "%s kann nicht zum Schreiben geöffnet werden: %m"
+
+-#: toplev.c:1432
++#: toplev.c:1434
+ #, gcc-internal-format
+ msgid "-frecord-gcc-switches is not supported by the current target"
+ msgstr "-frecord-gcc-switches wird für das aktuelle Ziel nicht unterstützt"
+
+-#: toplev.c:1745
++#: toplev.c:1747
+ #, gcc-internal-format
+ msgid "this target does not support %qs"
+ msgstr "dieses Ziel unterstützt nicht %qs"
+
+-#: toplev.c:1794
++#: toplev.c:1796
+ #, gcc-internal-format
+ msgid "instruction scheduling not supported on this target machine"
+ msgstr "Befehlsplanung wird von dieser Zielmaschine nicht unterstützt"
+
+-#: toplev.c:1798
++#: toplev.c:1800
+ #, gcc-internal-format
+ msgid "this target machine does not have delayed branches"
+ msgstr "diese Zielmaschine hat keine verzögerten Zweige"
+
+-#: toplev.c:1812
++#: toplev.c:1814
+ #, gcc-internal-format
+ msgid "-f%sleading-underscore not supported on this target machine"
+ msgstr "-f%sleading-underscore wird auf dieser Zielmaschine nicht unterstützt"
+
+-#: toplev.c:1885
++#: toplev.c:1887
+ #, gcc-internal-format
+ msgid "target system does not support the \"%s\" debug format"
+ msgstr "Zielsystem unterstützt nicht das Testformat \"%s\""
+
+-#: toplev.c:1898
++#: toplev.c:1900
+ #, gcc-internal-format
+ msgid "variable tracking requested, but useless unless producing debug info"
+ msgstr "Variablenverfolgung angefordert, jedoch nutzlos ohne Debug-Info"
+
+-#: toplev.c:1901
++#: toplev.c:1903
+ #, gcc-internal-format
+ msgid "variable tracking requested, but not supported by this debug format"
+ msgstr "Variablenverfolgung angefordert, jedoch nicht von diesem Debug-Format unterstützt"
+
+-#: toplev.c:1935
++#: toplev.c:1937
+ #, gcc-internal-format
+ msgid "can%'t open %s: %m"
+ msgstr "%s kann nicht geöffnet werden: %m"
+
+-#: toplev.c:1942
++#: toplev.c:1944
+ #, gcc-internal-format
+ msgid "-ffunction-sections not supported for this target"
+ msgstr "-ffunction-sections wird für dieses Ziel nicht unterstützt"
+
+-#: toplev.c:1947
++#: toplev.c:1949
+ #, gcc-internal-format
+ msgid "-fdata-sections not supported for this target"
+ msgstr "-fdata-sections wird für dieses Ziel nicht unterstützt"
+
+-#: toplev.c:1954
++#: toplev.c:1956
+ #, gcc-internal-format
+ msgid "-ffunction-sections disabled; it makes profiling impossible"
+ msgstr "-ffunction-sections ausgeschaltet; das macht Profiling unmöglich"
+
+-#: toplev.c:1961
++#: toplev.c:1963
+ #, gcc-internal-format
+ msgid "-fprefetch-loop-arrays not supported for this target"
+ msgstr "-fprefetch-loop-arrays wird für dieses Ziel nicht unterstützt"
+
+-#: toplev.c:1967
++#: toplev.c:1969
+ #, gcc-internal-format
+ msgid "-fprefetch-loop-arrays not supported for this target (try -march switches)"
+ msgstr "-fprefetch-loop-arrays wird für dieses Ziel nicht unterstützt (ggf. die »-march«-Schalter versuchen)"
+
+-#: toplev.c:1976
++#: toplev.c:1978
+ #, gcc-internal-format
+ msgid "-fprefetch-loop-arrays is not supported with -Os"
+ msgstr "-fprefetch-loop-arrays wird nicht mit -Os unterstützt"
+
+-#: toplev.c:1983
++#: toplev.c:1985
+ #, gcc-internal-format
+ msgid "-ffunction-sections may affect debugging on some targets"
+ msgstr "-ffunction-sections kann für verschiedene Ziele die Fehlersuche beeinträchtigen"
+
+-#: toplev.c:1999
++#: toplev.c:1996
+ #, gcc-internal-format
++msgid "-fassociative-math disabled; other options take precedence"
++msgstr "-fassociative-math abgeschaltet; andere Optionen haben Vorrang"
++
++#: toplev.c:2008
++#, gcc-internal-format
+ msgid "-fstack-protector not supported for this target"
+ msgstr "-fstack-protector wird für dieses Ziel nicht unterstützt"
+
+-#: toplev.c:2012
++#: toplev.c:2021
+ #, gcc-internal-format
+-msgid "unwind tables currently requires a frame pointer for correctness"
++msgid "unwind tables currently require a frame pointer for correctness"
+ msgstr "Abwicklungstabellen erfordern derzeit einen Rahmenzeiger für Korrektheit"
+
+-#: toplev.c:2198
++#: toplev.c:2207
+ #, gcc-internal-format
+ msgid "error writing to %s: %m"
+ msgstr "Fehler beim Schreiben der Datei %s: %m"
+
+-#: toplev.c:2200 java/jcf-parse.c:1776
++#: toplev.c:2209 java/jcf-parse.c:1778
+ #, gcc-internal-format
+ msgid "error closing %s: %m"
+ msgstr "Fehler beim Schließen von %s: %m"
+
+-#: tree-cfg.c:1432 tree-cfg.c:2068 tree-cfg.c:2071
++#: tree-cfg.c:1451 tree-cfg.c:2087 tree-cfg.c:2090
+ #, gcc-internal-format
+ msgid "%Hwill never be executed"
+ msgstr "%Hwird niemals ausgeführt"
+
+-#: tree-cfg.c:3134
++#: tree-cfg.c:3153
+ #, gcc-internal-format
+ msgid "SSA name in freelist but still referenced"
+ msgstr "SSA-Name in Frei-Liste, jedoch immer noch referenziert"
+
+-#: tree-cfg.c:3143
++#: tree-cfg.c:3162
+ #, gcc-internal-format
+ msgid "ASSERT_EXPR with an always-false condition"
+ msgstr "ASSERT_EXPR mit immer falscher Bedingung"
+
+-#: tree-cfg.c:3156
++#: tree-cfg.c:3175
+ #, gcc-internal-format
+ msgid "GIMPLE register modified with BIT_FIELD_REF"
+ msgstr "GIMPLE-Register mit BIT_FIELD_REF verändert"
+
+-#: tree-cfg.c:3191
++#: tree-cfg.c:3210
+ #, gcc-internal-format
+ msgid "invariant not recomputed when ADDR_EXPR changed"
+ msgstr "Invariante wird bei ADDR_EXPR-Änderung nicht neu berechnet"
+
+-#: tree-cfg.c:3197
++#: tree-cfg.c:3216
+ #, gcc-internal-format
+ msgid "constant not recomputed when ADDR_EXPR changed"
+ msgstr "Konstante wird bei ADDR_EXPR-Änderung nicht neu berechnet"
+
+-#: tree-cfg.c:3202
++#: tree-cfg.c:3221
+ #, gcc-internal-format
+ msgid "side effects not recomputed when ADDR_EXPR changed"
+ msgstr "Seiteneffekte werden bei ADDR_EXPR-Änderung nicht neu berechnet"
+
+-#: tree-cfg.c:3218
++#: tree-cfg.c:3237
+ #, gcc-internal-format
+ msgid "address taken, but ADDRESSABLE bit not set"
+ msgstr "Adresse genommen, aber ADDRESSABLE-Bit nicht gesetzt"
+
+-#: tree-cfg.c:3228
++#: tree-cfg.c:3252
+ #, gcc-internal-format
+ msgid "non-integral used in condition"
+ msgstr "Nicht-Ganzzahltyp in Bedingung verwendet"
+
+-#: tree-cfg.c:3233
++#: tree-cfg.c:3257
+ #, gcc-internal-format
+ msgid "invalid conditional operand"
+ msgstr "ungültiger bedingter Operand"
+
+-#: tree-cfg.c:3285
++#: tree-cfg.c:3309
+ #, gcc-internal-format
+ msgid "invalid reference prefix"
+ msgstr "ungültiger Referenzprefix"
+
+-#: tree-cfg.c:3296
++#: tree-cfg.c:3320
+ #, gcc-internal-format
+ msgid "invalid operand to plus/minus, type is a pointer"
+ msgstr "ungültiger Operand für Plus/Minus, Typ ist ein Zeiger"
+
+-#: tree-cfg.c:3307
++#: tree-cfg.c:3331
+ #, gcc-internal-format
+ msgid "invalid operand to pointer plus, first operand is not a pointer"
+ msgstr "ungültiger Operand für Zeiger-Plus, erster Operand ist kein Zeiger"
+
+-#: tree-cfg.c:3315
++#: tree-cfg.c:3339
+ #, gcc-internal-format
+ msgid "invalid operand to pointer plus, second operand is not an integer with type of sizetype."
+ msgstr "ungültiger Operand für Zeiger-Plus, zweiter Operand ist keine Ganzzahl mit Größentyp"
+
+-#: tree-cfg.c:3382 tree-cfg.c:3798
++#: tree-cfg.c:3406 tree-cfg.c:3822
+ #, gcc-internal-format
+ msgid "invalid operand in unary expression"
+ msgstr "ungültiger Operand in unärem Ausdruck"
+
+-#: tree-cfg.c:3392
++#: tree-cfg.c:3416
+ #, gcc-internal-format
+ msgid "type mismatch in unary expression"
+ msgstr "Typ passt nicht in unärem Ausdruck"
+
+-#: tree-cfg.c:3413
++#: tree-cfg.c:3437
+ #, gcc-internal-format
+ msgid "invalid operands in binary expression"
+ msgstr "ungültige Operanden in binärem Ausdruck"
+
+-#: tree-cfg.c:3424
++#: tree-cfg.c:3448
+ #, gcc-internal-format
+ msgid "type mismatch in binary expression"
+ msgstr "Typ passt nicht in binärem Ausdruck"
+
+-#: tree-cfg.c:3449
++#: tree-cfg.c:3473
+ #, gcc-internal-format
+ msgid "invalid expression for min lvalue"
+ msgstr "ungültiger Ausdruck für Min-L-Wert"
+
+-#: tree-cfg.c:3456
++#: tree-cfg.c:3480
+ #, gcc-internal-format
+ msgid "invalid operand in indirect reference"
+ msgstr "ungültiger Operand in indirekter Referenz"
+
+-#: tree-cfg.c:3463
++#: tree-cfg.c:3487
+ #, gcc-internal-format
+ msgid "type mismatch in indirect reference"
+ msgstr "Typ passt nicht in indirekter Referenz"
+
+-#: tree-cfg.c:3491
++#: tree-cfg.c:3515
+ #, gcc-internal-format
+ msgid "invalid operands to array reference"
+ msgstr "ungültige Operanden in Feldreferenz"
+
+-#: tree-cfg.c:3502
++#: tree-cfg.c:3526
+ #, gcc-internal-format
+ msgid "type mismatch in array reference"
+ msgstr "Typ passt nicht in Feldreferenz"
+
+-#: tree-cfg.c:3511
++#: tree-cfg.c:3535
+ #, gcc-internal-format
+ msgid "type mismatch in array range reference"
+ msgstr "Typ passt nicht in Feldbereichsreferenz"
+
+-#: tree-cfg.c:3522
++#: tree-cfg.c:3546
+ #, gcc-internal-format
+ msgid "type mismatch in real/imagpart reference"
+ msgstr "Typ passt nicht in Referenz auf realen/imaginären Anteil "
+
+-#: tree-cfg.c:3532
++#: tree-cfg.c:3556
+ #, gcc-internal-format
+ msgid "type mismatch in component reference"
+ msgstr "Typ passt nicht in Komponentenreferenz"
+
+-#: tree-cfg.c:3586
++#: tree-cfg.c:3610
+ #, gcc-internal-format
+ msgid "invalid operand in conversion"
+ msgstr "ungültiger Operand in Umwandlung"
+
+-#: tree-cfg.c:3614
++#: tree-cfg.c:3638
+ #, gcc-internal-format
+ msgid "invalid types in nop conversion"
+ msgstr "ungültige Typen in NOP-Umwandlung"
+
+-#: tree-cfg.c:3628
++#: tree-cfg.c:3652
+ #, gcc-internal-format
+ msgid "invalid operand in int to float conversion"
+ msgstr "ungültiger Operand bei Umwandlung von int in float"
+
+-#: tree-cfg.c:3634
++#: tree-cfg.c:3658
+ #, gcc-internal-format
+ msgid "invalid types in conversion to floating point"
+ msgstr "ungültige Typen in Umwandlung zu Gleitkomma"
+
+-#: tree-cfg.c:3647
++#: tree-cfg.c:3671
+ #, gcc-internal-format
+ msgid "invalid operand in float to int conversion"
+ msgstr "ungültiger Operand bei Umwandlung von float zu int"
+
+-#: tree-cfg.c:3653
++#: tree-cfg.c:3677
+ #, gcc-internal-format
+ msgid "invalid types in conversion to integer"
+ msgstr "ungültige Typen in Umwandlung in Ganzzahl"
+
+-#: tree-cfg.c:3667
++#: tree-cfg.c:3691
+ #, gcc-internal-format
+ msgid "invalid operands in complex expression"
+ msgstr "ungültige Operanden in komplexem Ausdruck"
+
+-#: tree-cfg.c:3680
++#: tree-cfg.c:3704
+ #, gcc-internal-format
+ msgid "type mismatch in complex expression"
+ msgstr "Typ passt nicht in komplexem Ausdruck"
+
+-#: tree-cfg.c:3694
++#: tree-cfg.c:3718
+ #, gcc-internal-format
+ msgid "constructor not allowed for non-vector types"
+ msgstr "Konstruktor für Nicht-Vektor-Typen nicht erlaubt"
+
+-#: tree-cfg.c:3711
++#: tree-cfg.c:3735
+ #, gcc-internal-format
+ msgid "invalid operands in shift expression"
+ msgstr "ungültige Operanden in in Schiebeausdruck"
+
+-#: tree-cfg.c:3717
++#: tree-cfg.c:3741
+ #, gcc-internal-format
+ msgid "type mismatch in shift expression"
+ msgstr "Typ passt nicht in Schiebeausdruck"
+
+-#: tree-cfg.c:3735
++#: tree-cfg.c:3759
+ #, gcc-internal-format
+ msgid "invalid (pointer) operands to plus/minus"
+ msgstr "ungültige (Zeiger-) Operanden für Plus/Minus"
+
+-#: tree-cfg.c:3748
++#: tree-cfg.c:3772
+ #, gcc-internal-format
+ msgid "invalid operands in pointer plus expression"
+ msgstr "ungültige Operanden in Pointeradditionsausdruck"
+
+-#: tree-cfg.c:3755
++#: tree-cfg.c:3779
+ #, gcc-internal-format
+ msgid "type mismatch in pointer plus expression"
+ msgstr "Typ passt nicht in Pointeradditionsausdruck"
+
+-#: tree-cfg.c:3774
++#: tree-cfg.c:3798
+ #, gcc-internal-format
+ msgid "invalid operands in conditional expression"
+ msgstr "ungültige Operanden in bedingtem Ausdruck"
+
+-#: tree-cfg.c:3807
++#: tree-cfg.c:3831
+ #, gcc-internal-format
+ msgid "type mismatch in address expression"
+ msgstr "Typ passt nicht in Adressausdruck"
+
+-#: tree-cfg.c:3827
++#: tree-cfg.c:3851
+ #, gcc-internal-format
+ msgid "invalid operands in truth expression"
+ msgstr "ungültige Operanden in Wahrheitsausdruck"
+
+-#: tree-cfg.c:3836
++#: tree-cfg.c:3860
+ #, gcc-internal-format
+ msgid "type mismatch in binary truth expression"
+ msgstr "Typ passt nicht in binärem Wahrheitsausdruck"
+
+-#: tree-cfg.c:3852
++#: tree-cfg.c:3876
+ #, gcc-internal-format
+ msgid "invalid operand in unary not"
+ msgstr "ungültiger Operand in unärem Nicht"
+
+-#: tree-cfg.c:3861
++#: tree-cfg.c:3885
+ #, gcc-internal-format
+ msgid "type mismatch in not expression"
+ msgstr "Typ passt nicht in Nicht-Ausdruck"
+
+-#: tree-cfg.c:3900
++#: tree-cfg.c:3924
+ #, gcc-internal-format
+ msgid "invalid operands in comparison expression"
+ msgstr "ungültige Operanden in Vergleichsausdruck"
+
+-#: tree-cfg.c:3917
++#: tree-cfg.c:3941
+ #, gcc-internal-format
+ msgid "type mismatch in comparison expression"
+ msgstr "Typ passt nicht in Vergleichsausdruck"
+
+-#: tree-cfg.c:3947
++#: tree-cfg.c:3971
+ #, gcc-internal-format
+ msgid "non-trivial conversion at assignment"
+ msgstr "nicht-triviale Umwandlung bei Zuweisung"
+
+-#: tree-cfg.c:3988 tree-cfg.c:4136
++#: tree-cfg.c:4012 tree-cfg.c:4160
+ #, gcc-internal-format
+ msgid "is not a valid GIMPLE statement"
+ msgstr "ist keine gültige GIMPLE-Anweisung"
+
+-#: tree-cfg.c:4015
++#: tree-cfg.c:4039
+ #, gcc-internal-format
+ msgid "invalid operand to switch statement"
+ msgstr "ungültiger Operand für switch-Anweisung"
+
+-#: tree-cfg.c:4026
++#: tree-cfg.c:4050
+ #, gcc-internal-format
+ msgid "type error in return expression"
+ msgstr "Typfehler in Rückgabeausdruck"
+
+-#: tree-cfg.c:4104
++#: tree-cfg.c:4128
+ #, gcc-internal-format
+ msgid "verify_gimple failed"
+ msgstr "verify_gimple gescheitert"
+
+-#: tree-cfg.c:4156
++#: tree-cfg.c:4180
+ #, gcc-internal-format
+ msgid "statement marked for throw, but doesn%'t"
+ msgstr "Anweisung für throw markiert, tut es jedoch nicht"
+
+-#: tree-cfg.c:4161
++#: tree-cfg.c:4185
+ #, gcc-internal-format
+ msgid "statement marked for throw in middle of block"
+ msgstr "Anweisung für throw inmitten eines Blockes markiert"
+
+-#: tree-cfg.c:4232
++#: tree-cfg.c:4256
+ #, gcc-internal-format
+ msgid "unexpected non-tuple"
+ msgstr "unerwarteter Nicht-Tupel"
+
+-#: tree-cfg.c:4261
++#: tree-cfg.c:4285
+ #, gcc-internal-format
+ msgid "Dead STMT in EH table"
+ msgstr "Totes STMT in EH-Tabelle"
+
+-#: tree-cfg.c:4295
++#: tree-cfg.c:4319
+ #, gcc-internal-format
+ msgid "bb_for_stmt (phi) is set to a wrong basic block"
+ msgstr "bb_for_stmt (phi) wird im falschen Basisblock gesetzt"
+
+-#: tree-cfg.c:4306
++#: tree-cfg.c:4330
+ #, gcc-internal-format
+ msgid "missing PHI def"
+ msgstr "Fehlende PHI-Definition"
+
+-#: tree-cfg.c:4317
++#: tree-cfg.c:4341
+ #, gcc-internal-format
+ msgid "PHI def is not a GIMPLE value"
+ msgstr "PHI def ist kein GIMPLE-Wert"
+
+-#: tree-cfg.c:4333 tree-cfg.c:4359
++#: tree-cfg.c:4357 tree-cfg.c:4383
+ #, gcc-internal-format
+ msgid "incorrect sharing of tree nodes"
+ msgstr "falscher gemeinsame Verwendung von Baumknoten"
+
+-#: tree-cfg.c:4350
++#: tree-cfg.c:4374
+ #, gcc-internal-format
+ msgid "bb_for_stmt (stmt) is set to a wrong basic block"
+ msgstr "bb_for_stmt (stmt) wird im falschen Basisblock gesetzt"
+
+-#: tree-cfg.c:4373
++#: tree-cfg.c:4397
+ #, gcc-internal-format
+ msgid "verify_stmts failed"
+ msgstr "verify_stmts gescheitert"
+
+-#: tree-cfg.c:4396
++#: tree-cfg.c:4420
+ #, gcc-internal-format
+ msgid "ENTRY_BLOCK has IL associated with it"
+ msgstr "ENTRY_BLOCK hat zugehörige IL"
+
+-#: tree-cfg.c:4402
++#: tree-cfg.c:4426
+ #, gcc-internal-format
+ msgid "EXIT_BLOCK has IL associated with it"
+ msgstr "EXIT_BLOCK hat zugehörige IL"
+
+-#: tree-cfg.c:4409
++#: tree-cfg.c:4433
+ #, gcc-internal-format
+ msgid "fallthru to exit from bb %d"
+ msgstr "Fallthru zum Austritt von bb %d"
+
+-#: tree-cfg.c:4431
++#: tree-cfg.c:4455
+ #, gcc-internal-format
+ msgid "nonlocal label "
+ msgstr "nichtlokale Marke "
+
+-#: tree-cfg.c:4440 tree-cfg.c:4450 tree-cfg.c:4475
++#: tree-cfg.c:4464 tree-cfg.c:4474 tree-cfg.c:4499
+ #, gcc-internal-format
+ msgid "label "
+ msgstr "Marke "
+
+-#: tree-cfg.c:4465
++#: tree-cfg.c:4489
+ #, gcc-internal-format
+ msgid "control flow in the middle of basic block %d"
+ msgstr "Kontrollfluss inmitten des Basis-Blockes %d"
+
+-#: tree-cfg.c:4495
++#: tree-cfg.c:4519
+ #, gcc-internal-format
+ msgid "fallthru edge after a control statement in bb %d"
+ msgstr "Fallthru-Kante hinter einer Kontrollanweisung in bb %d"
+
+-#: tree-cfg.c:4508
++#: tree-cfg.c:4532
+ #, gcc-internal-format
+ msgid "true/false edge after a non-COND_EXPR in bb %d"
+ msgstr "Wahr/Falsch-Kante hinter einer Nicht-COND_EXPR in bb %d"
+
+-#: tree-cfg.c:4524
++#: tree-cfg.c:4548
+ #, gcc-internal-format
+ msgid "COND_EXPR with code in branches at the end of bb %d"
+ msgstr "COND_EXPR mit Code in Zweigen am Ende von bb %d"
+
+-#: tree-cfg.c:4538 tree-cfg.c:4560 tree-cfg.c:4573 tree-cfg.c:4644
++#: tree-cfg.c:4562 tree-cfg.c:4584 tree-cfg.c:4597 tree-cfg.c:4668
+ #, gcc-internal-format
+ msgid "wrong outgoing edge flags at end of bb %d"
+ msgstr "Falsche ausgehende Kantenmarken am Ende des bb %d"
+
+-#: tree-cfg.c:4548
++#: tree-cfg.c:4572
+ #, gcc-internal-format
+ msgid "explicit goto at end of bb %d"
+ msgstr "Explizites Goto am Ende von bb %d"
+
+-#: tree-cfg.c:4578
++#: tree-cfg.c:4602
+ #, gcc-internal-format
+ msgid "return edge does not point to exit in bb %d"
+ msgstr "Return-Kante zeigt nicht auf Ausgang in bb %d"
+
+-#: tree-cfg.c:4611
++#: tree-cfg.c:4635
+ #, gcc-internal-format
+ msgid "found default case not at end of case vector"
+ msgstr "Standard-Fall nicht am Ende des case-Vektors gefunden"
+
+-#: tree-cfg.c:4617
++#: tree-cfg.c:4641
+ #, gcc-internal-format
+ msgid "case labels not sorted: "
+ msgstr "Case-Marken nicht sortiert: "
+
+-#: tree-cfg.c:4628
++#: tree-cfg.c:4652
+ #, gcc-internal-format
+ msgid "no default case found at end of case vector"
+ msgstr "Kein Standard-Fall am Ende des Case-Vektors gefunden"
+
+-#: tree-cfg.c:4636
++#: tree-cfg.c:4660
+ #, gcc-internal-format
+ msgid "extra outgoing edge %d->%d"
+ msgstr "Zusätzliche ausgehende Kante %d->%d"
+
+-#: tree-cfg.c:4658
++#: tree-cfg.c:4682
+ #, gcc-internal-format
+ msgid "missing edge %i->%i"
+ msgstr "Fehlende Kante %i->%i"
+
+-#: tree-cfg.c:6941 tree-cfg.c:6945
++#: tree-cfg.c:7025 tree-cfg.c:7029
+ #, gcc-internal-format
+ msgid "%H%<noreturn%> function does return"
+ msgstr "%H%<noreturn%>-Funktion kehrt zurück"
+
+-#: tree-cfg.c:6967 tree-cfg.c:6972
++#: tree-cfg.c:7051 tree-cfg.c:7056
+ #, gcc-internal-format
+ msgid "%Hcontrol reaches end of non-void function"
+ msgstr "%HKontrollfluss erreicht Ende einer Nicht-void-Funktion"
+
+-#: tree-cfg.c:7033
++#: tree-cfg.c:7117
+ #, gcc-internal-format
+ msgid "%Jfunction might be possible candidate for attribute %<noreturn%>"
+ msgstr "%JFunktion könnte möglicher Kandidat für Attribut %<noreturn%> sein"
+
+-#: tree-dump.c:933
++#: tree-dump.c:932
+ #, gcc-internal-format
+ msgid "could not open dump file %qs: %s"
+ msgstr "Abzugsdatei %qs konnte nicht geöffnet werden: %s"
+
+-#: tree-dump.c:1068
++#: tree-dump.c:1067
+ #, gcc-internal-format
+ msgid "ignoring unknown option %q.*s in %<-fdump-%s%>"
+ msgstr "unbekannte Option %q.*s in %<-fdump-%s%> wird ignoriert"
+
+-#: tree-eh.c:1788
++#: tree-eh.c:1805
+ #, gcc-internal-format
+ msgid "EH edge %i->%i is missing"
+ msgstr "EH-Kante %i->%i fehlt"
+
+-#: tree-eh.c:1793
++#: tree-eh.c:1810
+ #, gcc-internal-format
+ msgid "EH edge %i->%i miss EH flag"
+ msgstr "EH-Kante %i->%i: EH-Kennzeichen fehlt"
+
+ #. ??? might not be mistake.
+-#: tree-eh.c:1799
++#: tree-eh.c:1816
+ #, gcc-internal-format
+ msgid "EH edge %i->%i has duplicated regions"
+ msgstr "EH-Kante %i->%i hat doppelte Regionen"
+
+-#: tree-eh.c:1833
++#: tree-eh.c:1850
+ #, gcc-internal-format
+ msgid "BB %i can not throw but has EH edges"
+ msgstr "BB %i kann werfen, hat aber EH-Kanten"
+
+-#: tree-eh.c:1840
++#: tree-eh.c:1857
+ #, gcc-internal-format
+ msgid "BB %i last statement has incorrectly set region"
+ msgstr "BB %i: letzte Anweisung hat falsch gesetzte Region"
+
+-#: tree-eh.c:1851
++#: tree-eh.c:1868
+ #, gcc-internal-format
+ msgid "unnecessary EH edge %i->%i"
+ msgstr "unnötige EH-Kante %i->%i"
+
+-#: tree-inline.c:1830
++#: tree-inline.c:1880
+ #, gcc-internal-format
+ msgid "function %q+F can never be inlined because it uses alloca (override using the always_inline attribute)"
+ msgstr "die Funktion %q+F kann nie »inline« sein, da sie alloca verwendet (zum Aufheben: Attribut »always_inline« verwenden)"
+
+-#: tree-inline.c:1842
++#: tree-inline.c:1892
+ #, gcc-internal-format
+ msgid "function %q+F can never be inlined because it uses setjmp"
+ msgstr "die Funktion %q+F kann nie »inline« sein, da sie setjmp verwendet"
+
+-#: tree-inline.c:1856
++#: tree-inline.c:1906
+ #, gcc-internal-format
+ msgid "function %q+F can never be inlined because it uses variable argument lists"
+ msgstr "die Funktion %q+F kann nie »inline« sein, da sie eine variable Argumentliste verwendet"
+
+-#: tree-inline.c:1867
++#: tree-inline.c:1917
+ #, gcc-internal-format
+ msgid "function %q+F can never be inlined because it uses setjmp-longjmp exception handling"
+ msgstr "die Funktion %q+F kann nie »inline« sein, da sie »setjmp-longjmp«-Ausnahmebehandlung verwendet"
+
+-#: tree-inline.c:1874
++#: tree-inline.c:1924
+ #, gcc-internal-format
+ msgid "function %q+F can never be inlined because it uses non-local goto"
+ msgstr "die Funktion %q+F kann nie »inline« sein, da sie ein nichtlokales »goto« enthält"
+
+-#: tree-inline.c:1885
++#: tree-inline.c:1935
+ #, gcc-internal-format
+ msgid "function %q+F can never be inlined because it uses __builtin_return or __builtin_apply_args"
+ msgstr "die Funktion %q+F kann nie »inline« sein, da sie __builtin_return oder __builtin_apply_args verwendet"
+
+-#: tree-inline.c:1904
++#: tree-inline.c:1954
+ #, gcc-internal-format
+ msgid "function %q+F can never be inlined because it contains a computed goto"
+ msgstr "die Funktion %q+F kann nie »inline« sein, da sie ein berechnetes »goto« enthält"
+
+-#: tree-inline.c:1918
++#: tree-inline.c:1968
+ #, gcc-internal-format
+ msgid "function %q+F can never be inlined because it receives a non-local goto"
+ msgstr "die Funktion %q+F kann nie »inline« sein, da sie ein nichtlokales »goto« empfängt"
+
+-#: tree-inline.c:1943
++#: tree-inline.c:1993
+ #, gcc-internal-format
+ msgid "function %q+F can never be inlined because it uses variable sized variables"
+ msgstr "die Funktion %q+F kann nie »inline« sein, da sie Variablen variabler Größe verwendet"
+
+-#: tree-inline.c:2005
++#: tree-inline.c:2015
+ #, gcc-internal-format
++msgid "function %q+F can never be inlined because it saves address of local label in a static variable"
++msgstr "die Funktion %q+F kann nie »inline« sein, da sie die Adresse einer lokalen Marke in statischer Variablen speichert"
++
++#: tree-inline.c:2091
++#, gcc-internal-format
+ msgid "function %q+F can never be inlined because it is suppressed using -fno-inline"
+ msgstr "Funktion %q+F kann nie inline sein, da dies mit -fno-inline unterdrückt wird"
+
+-#: tree-inline.c:2019
++#: tree-inline.c:2105
+ #, gcc-internal-format
+ msgid "function %q+F can never be inlined because it uses attributes conflicting with inlining"
+ msgstr "Funktion %q+F kann nie inline sein, da sie mit inline in Konflikt stehende Attribute hat"
+
+-#: tree-inline.c:2588 tree-inline.c:2598
++#: tree-inline.c:2674 tree-inline.c:2684
+ #, gcc-internal-format
+ msgid "inlining failed in call to %q+F: %s"
+ msgstr "»inline« beim Aufruf von %q+F gescheitert: %s"
+
+-#: tree-inline.c:2589 tree-inline.c:2600
++#: tree-inline.c:2675 tree-inline.c:2686
+ #, gcc-internal-format
+ msgid "called from here"
+ msgstr "von hier aufgerufen"
+
+-#: tree-mudflap.c:860
++#: tree-mudflap.c:864
+ #, gcc-internal-format
+ msgid "mudflap checking not yet implemented for ARRAY_RANGE_REF"
+ msgstr "Schmutzfängerprüfung noch nicht für ARRAY_RANGE_REF implementiert"
+
+-#: tree-mudflap.c:1044
++#: tree-mudflap.c:1050
+ #, gcc-internal-format
+ msgid "mudflap cannot track %qs in stub function"
+ msgstr "Schmutzfänger kann nicht %qs in Stub-Funktion verfolgen"
+
+-#: tree-mudflap.c:1272
++#: tree-mudflap.c:1279
+ #, gcc-internal-format
+ msgid "mudflap cannot track unknown size extern %qs"
+ msgstr "Schmutzfänger kann nicht externes %qs unbekannter Größe verfolgen"
+@@ -23637,33 +23633,33 @@
+ msgid "size of return value of %q+D is larger than %wd bytes"
+ msgstr "Größe des Rückgabewertes von %q+D ist größer als %wd Bytes"
+
+-#: tree-outof-ssa.c:637 tree-outof-ssa.c:688 tree-ssa-coalesce.c:936
+-#: tree-ssa-coalesce.c:951 tree-ssa-coalesce.c:1163 tree-ssa-live.c:1043
++#: tree-outof-ssa.c:638 tree-outof-ssa.c:689 tree-ssa-coalesce.c:936
++#: tree-ssa-coalesce.c:951 tree-ssa-coalesce.c:1163 tree-ssa-live.c:1053
+ #, gcc-internal-format
+ msgid "SSA corruption"
+ msgstr "SSA-Beschädigung"
+
+-#: tree-outof-ssa.c:1105
++#: tree-outof-ssa.c:1263
+ #, gcc-internal-format
+ msgid " Pending stmts not issued on PRED edge (%d, %d)\n"
+ msgstr " Hängende Anweisungen auf PRED-Kante nicht ausgeführt (%d, %d)\n"
+
+-#: tree-outof-ssa.c:1111
++#: tree-outof-ssa.c:1269
+ #, gcc-internal-format
+ msgid " Pending stmts not issued on SUCC edge (%d, %d)\n"
+ msgstr " Hängende Anweisungen auf SUCC-Kante nicht ausgeführt (%d, %d)\n"
+
+-#: tree-outof-ssa.c:1118
++#: tree-outof-ssa.c:1276
+ #, gcc-internal-format
+ msgid " Pending stmts not issued on ENTRY edge (%d, %d)\n"
+ msgstr " Hängende Anweisungen auf ENTRY-Kante nicht ausgeführt (%d, %d)\n"
+
+-#: tree-outof-ssa.c:1124
++#: tree-outof-ssa.c:1282
+ #, gcc-internal-format
+ msgid " Pending stmts not issued on EXIT edge (%d, %d)\n"
+ msgstr " Hängende Anweisungen auf EXIT-Kante nicht ausgeführt (%d, %d)\n"
+
+-#: tree-profile.c:351
++#: tree-profile.c:356
+ #, gcc-internal-format
+ msgid "unimplemented functionality"
+ msgstr "nicht implementierte Funktionalität"
+@@ -23853,154 +23849,159 @@
+ msgid "verify_ssa failed"
+ msgstr "verify_ssa gescheitert"
+
+-#: tree-ssa.c:1284
++#: tree-ssa.c:1293
+ #, gcc-internal-format
+ msgid "%J%qD was declared here"
+ msgstr "%J%qD wurde hier deklariert"
+
+ #. We only do data flow with SSA_NAMEs, so that's all we
+ #. can warn about.
+-#: tree-ssa.c:1302
++#: tree-ssa.c:1311
+ #, gcc-internal-format
+ msgid "%H%qD is used uninitialized in this function"
+ msgstr "%H%qD wird in dieser Funktion uninitialisiert verwendet"
+
+-#: tree-ssa.c:1340
++#: tree-ssa.c:1349
+ #, gcc-internal-format
+ msgid "%H%qD may be used uninitialized in this function"
+ msgstr "%H%qD könnte in dieser Funktion uninitialisiert verwendet werden"
+
+-#: tree-vrp.c:4374
++#: tree-vrp.c:4384
+ #, gcc-internal-format
+ msgid "%Harray subscript is outside array bounds"
+ msgstr "%HFeldindex ist außerhalb der Feldgrenzen"
+
+-#: tree-vrp.c:4388
++#: tree-vrp.c:4398
+ #, gcc-internal-format
+ msgid "%Harray subscript is above array bounds"
+ msgstr "%HFeldindex ist oberhalb der Feldgrenzen"
+
+-#: tree-vrp.c:4395
++#: tree-vrp.c:4405
+ #, gcc-internal-format
+ msgid "%Harray subscript is below array bounds"
+ msgstr "%HFeldindex ist unterhalb der Feldgrenzen"
+
+-#: tree-vrp.c:5042
++#: tree-vrp.c:5058
+ #, gcc-internal-format
+ msgid "assuming signed overflow does not occur when simplifying conditional to constant"
+ msgstr "Annahme, dass vorzeichenbehafteter Ãœberlauf nicht auftritt, wenn Bedingung zu Konstante vereinfacht wird"
+
+-#: tree-vrp.c:5048
++#: tree-vrp.c:5064
+ #, gcc-internal-format
+ msgid "assuming signed overflow does not occur when simplifying conditional"
+ msgstr "Annahme, dass vorzeichenbehafteter Ãœberlauf bei Vereinfachung der Bedingung nicht auftritt"
+
+-#: tree.c:3951
++#: tree.c:3682
+ #, gcc-internal-format
++msgid "ignoring attributes applied to %qT after definition"
++msgstr "auf %qT nach einer Definition angewandte Attribute werden ignoriert"
++
++#: tree.c:3966
++#, gcc-internal-format
+ msgid "%q+D already declared with dllexport attribute: dllimport ignored"
+ msgstr "%q+D bereits mit Attribut »dllimport« deklariert: »dllimport« ignoriert"
+
+-#: tree.c:3963
++#: tree.c:3978
+ #, gcc-internal-format
+ msgid "%q+D redeclared without dllimport attribute after being referenced with dll linkage"
+ msgstr "%q+D ohne Attribut »dllimport« redeklariert, nachdem es mit dll-Bindung referenziert wurde"
+
+-#: tree.c:3979
++#: tree.c:3994
+ #, gcc-internal-format
+ msgid "%q+D redeclared without dllimport attribute: previous dllimport ignored"
+ msgstr "%qD ohne Attribut »dllimport« redeklariert: vorheriges »dllimport« ignoriert"
+
+-#: tree.c:4038 tree.c:4050 config/darwin.c:1458 config/arm/arm.c:3099
+-#: config/arm/arm.c:3127 config/avr/avr.c:4598 config/h8300/h8300.c:5281
+-#: config/h8300/h8300.c:5305 config/i386/i386.c:3056 config/i386/i386.c:22515
++#: tree.c:4053 tree.c:4065 config/darwin.c:1460 config/arm/arm.c:3099
++#: config/arm/arm.c:3127 config/avr/avr.c:4638 config/h8300/h8300.c:5281
++#: config/h8300/h8300.c:5305 config/i386/i386.c:3087 config/i386/i386.c:22599
+ #: config/ia64/ia64.c:586 config/m68hc11/m68hc11.c:1118
+-#: config/rs6000/rs6000.c:19657 config/sh/symbian.c:408
++#: config/rs6000/rs6000.c:19874 config/sh/symbian.c:408
+ #: config/sh/symbian.c:415
+ #, gcc-internal-format
+ msgid "%qs attribute ignored"
+ msgstr "Attribut %qs wird ignoriert"
+
+-#: tree.c:4066
++#: tree.c:4081
+ #, gcc-internal-format
+ msgid "inline function %q+D declared as dllimport: attribute ignored"
+ msgstr "»inline«-Funktion %q+D ist als »dllimport« deklariert: Attribut ignoriert"
+
+-#: tree.c:4074
++#: tree.c:4089
+ #, gcc-internal-format
+ msgid "function %q+D definition is marked dllimport"
+ msgstr "Funktionsdefinition von %q+D ist als »dllimport« markiert"
+
+-#: tree.c:4082 config/sh/symbian.c:430
++#: tree.c:4097 config/sh/symbian.c:430
+ #, gcc-internal-format
+ msgid "variable %q+D definition is marked dllimport"
+ msgstr "Variablendefinition von %q+D ist als dllimport markiert"
+
+-#: tree.c:4105 config/sh/symbian.c:505
++#: tree.c:4120 config/sh/symbian.c:505
+ #, gcc-internal-format
+ msgid "external linkage required for symbol %q+D because of %qs attribute"
+ msgstr "für Symbol %q+D wird wegen des Attributes %qs externe Bindung benötigt"
+
+-#: tree.c:4119
++#: tree.c:4134
+ #, gcc-internal-format
+ msgid "%qs implies default visibility, but %qD has already been declared with a different visibility"
+ msgstr "%qs impliziert Standardsichtbarkeit, aber %qD wurde bereits mit anderer Sichtbarkeit deklariert"
+
+-#: tree.c:5632
++#: tree.c:5648
+ #, gcc-internal-format
+ msgid "arrays of functions are not meaningful"
+ msgstr "Felder von Funktionen sind sinnlos"
+
+-#: tree.c:5785
++#: tree.c:5801
+ #, gcc-internal-format
+ msgid "function return type cannot be function"
+ msgstr "Rückgabetyp der Funktion kann keine Funktion sein"
+
+-#: tree.c:6802 tree.c:6887 tree.c:6948
++#: tree.c:6818 tree.c:6903 tree.c:6964
+ #, gcc-internal-format
+ msgid "tree check: %s, have %s in %s, at %s:%d"
+ msgstr "Baumprüfung: %s, haben %s in %s, bei %s:%d"
+
+-#: tree.c:6839
++#: tree.c:6855
+ #, gcc-internal-format
+ msgid "tree check: expected none of %s, have %s in %s, at %s:%d"
+ msgstr "Baumprüfung: nichts von %s erwartet, haben %s in %s, bei %s:%d"
+
+-#: tree.c:6852
++#: tree.c:6868
+ #, gcc-internal-format
+ msgid "tree check: expected class %qs, have %qs (%s) in %s, at %s:%d"
+ msgstr "Baumprüfung: Klasse %qs erwartet, haben %qs (%s) in %s, bei %s:%d"
+
+-#: tree.c:6901
++#: tree.c:6917
+ #, gcc-internal-format
+ msgid "tree check: did not expect class %qs, have %qs (%s) in %s, at %s:%d"
+ msgstr "Baumprüfung: Klasse %qs nicht erwartet, haben %qs (%s) in %s, bei %s:%d"
+
+-#: tree.c:6914
++#: tree.c:6930
+ #, gcc-internal-format
+ msgid "tree check: expected omp_clause %s, have %s in %s, at %s:%d"
+ msgstr "Baumprüfung: omp_clause %s erwartet, haben %s in %s, bei %s:%d"
+
+-#: tree.c:6974
++#: tree.c:6990
+ #, gcc-internal-format
+ msgid "tree check: expected tree that contains %qs structure, have %qs in %s, at %s:%d"
+ msgstr "Baumprüfung: Baum mit enthaltener Struktur %qs erwartet, haben %qs in %s, bei %s:%d"
+
+-#: tree.c:6988
++#: tree.c:7004
+ #, gcc-internal-format
+ msgid "tree check: accessed elt %d of tree_vec with %d elts in %s, at %s:%d"
+ msgstr "Baumprüfung: auf Elt %d von tree_vec mit %d Elts in %s bei %s:%d zugegriffen"
+
+-#: tree.c:7000
++#: tree.c:7016
+ #, gcc-internal-format
+ msgid "tree check: accessed elt %d of phi_node with %d elts in %s, at %s:%d"
+ msgstr "Baumprüfung: auf Elt %d von phi_node mit %d Elts in %s bei %s:%d zugegriffen"
+
+-#: tree.c:7013
++#: tree.c:7029
+ #, gcc-internal-format
+ msgid "tree check: accessed operand %d of %s with %d operands in %s, at %s:%d"
+ msgstr "Baumprüfung: auf Operand %d von %s mit %d Operanden in %s bei %s:%d zugegriffen"
+
+-#: tree.c:7026
++#: tree.c:7042
+ #, gcc-internal-format
+ msgid "tree check: accessed operand %d of omp_clause %s with %d operands in %s, at %s:%d"
+ msgstr "Baumprüfung: auf Operand %d von omp_clause %s mit %d Operanden in %s bei %s:%d zugegriffen"
+@@ -24252,17 +24253,17 @@
+ msgid "Unknown value %qs of -mmacosx-version-min"
+ msgstr "Unbekannter Wert %qs von -mmacosx-version-min"
+
+-#: config/darwin.c:1431
++#: config/darwin.c:1433
+ #, gcc-internal-format
+ msgid "%<%s%> 2.95 vtable-compatibility attribute applies only when compiling a kext"
+ msgstr "%<%s%> 2.95 vtable-Kompatibilitätsattribut trifft nur zu, wenn ein »kext« kompiliert wird"
+
+-#: config/darwin.c:1438
++#: config/darwin.c:1440
+ #, gcc-internal-format
+ msgid "%<%s%> 2.95 vtable-compatibility attribute applies only to C++ classes"
+ msgstr "%<%s%> 2.95 vtable-Kompatibilitätsattribut trifft nur für C++-Klassen zu"
+
+-#: config/darwin.c:1563
++#: config/darwin.c:1565
+ #, gcc-internal-format
+ msgid "internal and protected visibility attributes not supported in this configuration; ignored"
+ msgstr "interne und geschützte Sichtbarkeitsattribute werden in dieser Konfiguration nicht unterstützt; ignoriert"
+@@ -24358,7 +24359,7 @@
+ msgid "profiler support for WindISS"
+ msgstr "Profilerunterstützung für WindISS"
+
+-#: config/alpha/alpha.c:232 config/rs6000/rs6000.c:1990
++#: config/alpha/alpha.c:232 config/rs6000/rs6000.c:2020
+ #, gcc-internal-format
+ msgid "bad value %qs for -mtls-size switch"
+ msgstr "Falscher Wert %qs für Schalter -mtls-size"
+@@ -24433,18 +24434,18 @@
+ msgid "bad value %qs for -mmemory-latency"
+ msgstr "Falscher Wert %qs für -mmemory-latency"
+
+-#: config/alpha/alpha.c:6514 config/alpha/alpha.c:6517 config/s390/s390.c:8279
+-#: config/s390/s390.c:8282
++#: config/alpha/alpha.c:6522 config/alpha/alpha.c:6525 config/s390/s390.c:8335
++#: config/s390/s390.c:8338
+ #, gcc-internal-format
+ msgid "bad builtin fcode"
+ msgstr "Falscher eingebauter fcode"
+
+-#: config/arc/arc.c:388
++#: config/arc/arc.c:392
+ #, gcc-internal-format
+ msgid "argument of %qs attribute is not a string constant"
+ msgstr "Argument des Attributes %qs ist keine Zeichenkettenkonstante"
+
+-#: config/arc/arc.c:396
++#: config/arc/arc.c:400
+ #, gcc-internal-format
+ msgid "argument of %qs attribute is not \"ilink1\" or \"ilink2\""
+ msgstr "Argument des Attributes %qs ist nicht \"ilink1\" oder \"ilink2\""
+@@ -24454,7 +24455,7 @@
+ msgid "switch -mcpu=%s conflicts with -march= switch"
+ msgstr "Schalter -mcpu=%s steht in Konflikt mit dem Schalter -march="
+
+-#: config/arm/arm.c:1060 config/rs6000/rs6000.c:1504 config/sparc/sparc.c:761
++#: config/arm/arm.c:1060 config/rs6000/rs6000.c:1522 config/sparc/sparc.c:764
+ #, gcc-internal-format
+ msgid "bad value (%s) for %s switch"
+ msgstr "Falscher Wert (%s) für Schalter %s"
+@@ -24594,14 +24595,13 @@
+ msgid "unable to use '%s' for PIC register"
+ msgstr "»%s« kann nicht für PIC-Register verwendet werden"
+
+-#: config/arm/arm.c:3067 config/arm/arm.c:3085 config/avr/avr.c:4618
+-#: config/avr/avr.c:4660 config/bfin/bfin.c:4778 config/c4x/c4x.c:4071
+-#: config/h8300/h8300.c:5257 config/i386/i386.c:3009
+-#: config/m68hc11/m68hc11.c:1155 config/m68k/m68k.c:741
+-#: config/mcore/mcore.c:3032 config/mips/mips.c:1151 config/mips/mips.c:1153
+-#: config/mt/mt.c:1275 config/rs6000/rs6000.c:19583 config/sh/sh.c:7984
+-#: config/sh/sh.c:8005 config/sh/sh.c:8028 config/stormy16/stormy16.c:2252
+-#: config/v850/v850.c:2048
++#: config/arm/arm.c:3067 config/arm/arm.c:3085 config/avr/avr.c:4658
++#: config/avr/avr.c:4700 config/bfin/bfin.c:4881 config/h8300/h8300.c:5257
++#: config/i386/i386.c:3040 config/m68hc11/m68hc11.c:1155
++#: config/m68k/m68k.c:741 config/mcore/mcore.c:3032 config/mips/mips.c:1151
++#: config/mips/mips.c:1153 config/mt/mt.c:1275 config/rs6000/rs6000.c:19800
++#: config/sh/sh.c:7987 config/sh/sh.c:8008 config/sh/sh.c:8031
++#: config/stormy16/stormy16.c:2225 config/v850/v850.c:2048
+ #, gcc-internal-format
+ msgid "%qs attribute only applies to functions"
+ msgstr "Attribut %qs gilt nur für Funktionen"
+@@ -24623,7 +24623,7 @@
+ msgstr "Wähler muss »immediate« sein"
+
+ #. @@@ better error message
+-#: config/arm/arm.c:15839 config/i386/i386.c:20651 config/i386/i386.c:20685
++#: config/arm/arm.c:15839 config/i386/i386.c:20735 config/i386/i386.c:20769
+ #, gcc-internal-format
+ msgid "mask must be an immediate"
+ msgstr "Maske muss »immediate« sein"
+@@ -24648,222 +24648,187 @@
+ msgid "static variable %q+D is marked dllimport"
+ msgstr "statische Variable %q+D ist als »dllimport« markiert"
+
+-#: config/avr/avr.c:690
++#: config/avr/avr.c:718
+ #, gcc-internal-format
+ msgid "large frame pointer change (%d) with -mtiny-stack"
+ msgstr "Wechsel großer Rahmenzeiger (%d) mit -mtiny-stack"
+
+-#: config/avr/avr.c:4591
++#: config/avr/avr.c:4631
+ #, gcc-internal-format
+ msgid "only initialized variables can be placed into program memory area"
+ msgstr "Nur initialisierte Variablen können im Programmspeicherbereich platziert werden"
+
+-#: config/avr/avr.c:4635
++#: config/avr/avr.c:4675
+ #, gcc-internal-format
+ msgid "%qs appears to be a misspelled interrupt handler"
+ msgstr "%qs scheint ein falsch geschriebener Interrupt-Handler zu sein"
+
+-#: config/avr/avr.c:4643
++#: config/avr/avr.c:4683
+ #, gcc-internal-format
+ msgid "%qs appears to be a misspelled signal handler"
+ msgstr "%qs scheint ein falsch geschriebener Signal-Handler zu sein"
+
+-#: config/avr/avr.c:4751
++#: config/avr/avr.c:4791
+ #, gcc-internal-format
+ msgid "only uninitialized variables can be placed in the .noinit section"
+ msgstr "Nur uninitialisierte Variablen können im .noinit-Bereich platziert werden"
+
+-#: config/avr/avr.c:4765
++#: config/avr/avr.c:4805
+ #, gcc-internal-format
+ msgid "MCU %qs supported for assembler only"
+ msgstr "MCU %qs nur für Assemblierung unterstützt"
+
+-#: config/avr/avr.h:692
++#: config/avr/avr.h:731
+ #, gcc-internal-format
+ msgid "trampolines not supported"
+ msgstr "Keine Trampoline unterstützt"
+
+-#: config/bfin/bfin.c:2259 config/m68k/m68k.c:488
++#: config/bfin/bfin.c:2352 config/m68k/m68k.c:488
+ #, gcc-internal-format
+ msgid "-mshared-library-id=%s is not between 0 and %d"
+ msgstr "-mshared-library-id=%s ist nicht zwischen 0 und %d"
+
+-#: config/bfin/bfin.c:2279
++#: config/bfin/bfin.c:2372
+ #, gcc-internal-format
+ msgid "-mcpu=%s is not valid"
+ msgstr "-mcpu=%s ist nicht gültig"
+
+-#: config/bfin/bfin.c:2315
++#: config/bfin/bfin.c:2410
+ #, gcc-internal-format
+ msgid "-mcpu=%s has invalid silicon revision"
+ msgstr "-mcpu=%s hat ungültige Silizium-Revision"
+
+-#: config/bfin/bfin.c:2332
++#: config/bfin/bfin.c:2427
+ #, gcc-internal-format
+ msgid "bf561 support is incomplete yet."
+ msgstr "bf561 ist noch unvollständig."
+
+-#: config/bfin/bfin.c:2372
++#: config/bfin/bfin.c:2470
+ #, gcc-internal-format
+ msgid "-mshared-library-id= specified without -mid-shared-library"
+ msgstr "-mshared-library-id= ohne -mid-shared-library angegeben"
+
+-#: config/bfin/bfin.c:2378
++#: config/bfin/bfin.c:2473
+ #, gcc-internal-format
+ msgid "Can't use multiple stack checking methods together."
+ msgstr "Es können nicht mehrere Stapelprüfungsmethoden gleichzeitig verwendet werden."
+
+-#: config/bfin/bfin.c:2381
++#: config/bfin/bfin.c:2476
+ #, gcc-internal-format
+ msgid "ID shared libraries and FD-PIC mode can't be used together."
+ msgstr "ID-gemeinsam genutzte Bibliotheken und FD-PIC-Modus können nicht zusammen verwendet werden."
+
+-#: config/bfin/bfin.c:2386 config/m68k/m68k.c:582
++#: config/bfin/bfin.c:2481 config/m68k/m68k.c:582
+ #, gcc-internal-format
+ msgid "cannot specify both -msep-data and -mid-shared-library"
+ msgstr "-msep-data und -mid-shared-library können nicht zusammen angegeben werden"
+
+-#: config/bfin/bfin.c:4783
++#: config/bfin/bfin.c:4886
+ #, gcc-internal-format
+ msgid "multiple function type attributes specified"
+ msgstr "mehrere Funktionstypattribute angegeben"
+
+-#: config/bfin/bfin.c:4839 config/bfin/bfin.c:4868 config/spu/spu.c:2976
++#: config/bfin/bfin.c:4942 config/bfin/bfin.c:4971 config/spu/spu.c:2965
+ #, gcc-internal-format
+ msgid "`%s' attribute only applies to functions"
+ msgstr "Attribut »%s« gilt nur für Funktionen"
+
+-#: config/bfin/bfin.c:4850
++#: config/bfin/bfin.c:4953
+ #, gcc-internal-format
+ msgid "can't apply both longcall and shortcall attributes to the same function"
+ msgstr "Die Attribute longcall und shortcall können nicht gleichzeitig für die gleiche Funktion verwendet werden"
+
+-#: config/bfin/bfin.c:4900
++#: config/bfin/bfin.c:5003
+ #, gcc-internal-format
+ msgid "`%s' attribute only applies to variables"
+ msgstr "Attribut »%s« bezieht sich nur auf Variablen"
+
+-#: config/bfin/bfin.c:4907
++#: config/bfin/bfin.c:5010
+ #, gcc-internal-format
+ msgid "`%s' attribute cannot be specified for local variables"
+ msgstr "Attribut »%s« kann nicht für lokale Variablen angegeben werden"
+
+-#: config/c4x/c4x-c.c:68
+-#, gcc-internal-format
+-msgid "missing '(' after '#pragma %s' - ignored"
+-msgstr "»(« hinter »#pragma %s« fehlt - ignoriert"
+-
+-#: config/c4x/c4x-c.c:71
+-#, gcc-internal-format
+-msgid "missing function name in '#pragma %s' - ignored"
+-msgstr "in »#pragma %s« fehlt Funktionsname - ignoriert"
+-
+-#: config/c4x/c4x-c.c:76
+-#, gcc-internal-format
+-msgid "malformed '#pragma %s' - ignored"
+-msgstr "falsch geformtes »#pragma %s« - ignoriert"
+-
+-#: config/c4x/c4x-c.c:78
+-#, gcc-internal-format
+-msgid "missing section name in '#pragma %s' - ignored"
+-msgstr "fehlender Abschnittsname in »#pragma %s« - ignoriert"
+-
+-#: config/c4x/c4x-c.c:83
+-#, gcc-internal-format
+-msgid "missing ')' for '#pragma %s' - ignored"
+-msgstr "»)« für »#pragma %s« fehlt - ignoriert"
+-
+-#: config/c4x/c4x-c.c:86
+-#, gcc-internal-format
+-msgid "junk at end of '#pragma %s'"
+-msgstr "Ausschuss am Ende von »#pragma %s«"
+-
+-#: config/c4x/c4x.c:859
+-#, gcc-internal-format
+-msgid "ISR %s requires %d words of local vars, max is 32767"
+-msgstr "ISR %s benötigt %d Wörter lokaler Variablen, höchstens 32767"
+-
+ #. This function is for retrieving a part of an instruction name for
+ #. an operator, for immediate output. If that ever happens for
+ #. MULT, we need to apply TARGET_MUL_BUG in the caller. Make sure
+ #. we notice.
+-#: config/cris/cris.c:434
++#: config/cris/cris.c:447
+ #, gcc-internal-format
+ msgid "MULT case in cris_op_str"
+ msgstr "MULT-Fall in cris_op_str"
+
+-#: config/cris/cris.c:811
++#: config/cris/cris.c:837
+ #, gcc-internal-format
+ msgid "invalid use of ':' modifier"
+ msgstr "ungültige Verwendung des Modifizierers »:«"
+
+-#: config/cris/cris.c:983
++#: config/cris/cris.c:1024
+ #, gcc-internal-format
+ msgid "internal error: bad register: %d"
+ msgstr "interner Fehler: falsches Register: %d"
+
+-#: config/cris/cris.c:1524
++#: config/cris/cris.c:1586
+ #, gcc-internal-format
+ msgid "internal error: sideeffect-insn affecting main effect"
+ msgstr "interner Fehler: Seiteneffekt-Befehl wirkt sich auf Haupteffekt aus"
+
+-#: config/cris/cris.c:1548
++#: config/cris/cris.c:1683
+ #, gcc-internal-format
+ msgid "unknown cc_attr value"
+ msgstr "Unbekannter Wert für cc_attr"
+
+ #. If we get here, the caller got its initial tests wrong.
+-#: config/cris/cris.c:1901
++#: config/cris/cris.c:2040
+ #, gcc-internal-format
+ msgid "internal error: cris_side_effect_mode_ok with bad operands"
+ msgstr "interner Fehler: cris_side_effect_mode_ok mit falschen Operanden"
+
+-#: config/cris/cris.c:2104
++#: config/cris/cris.c:2332
+ #, gcc-internal-format
+ msgid "-max-stackframe=%d is not usable, not between 0 and %d"
+ msgstr "-max-stackframe=%d ist nicht verwendbar, nicht zwischen 0 und %d"
+
+-#: config/cris/cris.c:2132
++#: config/cris/cris.c:2360
+ #, gcc-internal-format
+ msgid "unknown CRIS version specification in -march= or -mcpu= : %s"
+ msgstr "unbekannte CRIS-Versionsangabe in -march= oder -mcpu= : %s"
+
+-#: config/cris/cris.c:2168
++#: config/cris/cris.c:2396
+ #, gcc-internal-format
+ msgid "unknown CRIS cpu version specification in -mtune= : %s"
+ msgstr "unbekannte CRIS-CPU-Versionsangabe in -mtune= : %s"
+
+-#: config/cris/cris.c:2186
++#: config/cris/cris.c:2417
+ #, gcc-internal-format
+ msgid "-fPIC and -fpic are not supported in this configuration"
+ msgstr "-fPIC und -fpic werden in dieser Konfiguration nicht unterstützt"
+
+-#: config/cris/cris.c:2201
++#: config/cris/cris.c:2432
+ #, gcc-internal-format
+ msgid "that particular -g option is invalid with -maout and -melinux"
+ msgstr "diese spezielle Option -g ist mit -maout und -melinux ungültig"
+
+-#: config/cris/cris.c:2414
++#: config/cris/cris.c:2658
+ #, gcc-internal-format
+ msgid "Unknown src"
+ msgstr "Unbekannte Quelle"
+
+-#: config/cris/cris.c:2475
++#: config/cris/cris.c:2719
+ #, gcc-internal-format
+ msgid "Unknown dest"
+ msgstr "Unbekanntes Ziel"
+
+-#: config/cris/cris.c:2760
++#: config/cris/cris.c:3004
+ #, gcc-internal-format
+ msgid "stackframe too big: %d bytes"
+ msgstr "Stapelrahmen zu groß: %d Bytes"
+
+-#: config/cris/cris.c:3213 config/cris/cris.c:3240
++#: config/cris/cris.c:3498 config/cris/cris.c:3526
+ #, gcc-internal-format
+ msgid "expand_binop failed in movsi got"
+ msgstr "expand_binop in movsi got gescheitert"
+
+-#: config/cris/cris.c:3321
++#: config/cris/cris.c:3607
+ #, gcc-internal-format
+ msgid "emitting PIC operand, but PIC register isn't set up"
+ msgstr "PIC-Operand wird ausgegeben, aber PIC-Register ist nicht vorbereitet"
+@@ -24917,7 +24882,7 @@
+ #. See cris.c for TARGET_ASM_FUNCTION_PROLOGUE and
+ #. TARGET_ASM_FUNCTION_EPILOGUE.
+ #. Node: Profiling
+-#: config/cris/cris.h:868
++#: config/cris/cris.h:948
+ #, gcc-internal-format
+ msgid "no FUNCTION_PROFILER for CRIS"
+ msgstr "kein FUNCTION_PROFILER for CRIS"
+@@ -24932,62 +24897,62 @@
+ msgid "Trampoline support for CRX"
+ msgstr "Trampolinunterstützung für CRX"
+
+-#: config/frv/frv.c:8622
++#: config/frv/frv.c:8626
+ #, gcc-internal-format
+ msgid "accumulator is not a constant integer"
+ msgstr "Akkumulator ist keine Ganzzahlkonstante"
+
+-#: config/frv/frv.c:8627
++#: config/frv/frv.c:8631
+ #, gcc-internal-format
+ msgid "accumulator number is out of bounds"
+ msgstr "Akkumulatorzahl außerhalb der Grenzen"
+
+-#: config/frv/frv.c:8638
++#: config/frv/frv.c:8642
+ #, gcc-internal-format
+ msgid "inappropriate accumulator for %qs"
+ msgstr "unpassender Akkumulator für %qs"
+
+-#: config/frv/frv.c:8715
++#: config/frv/frv.c:8719
+ #, gcc-internal-format
+ msgid "invalid IACC argument"
+ msgstr "ungültiges IACC-Argument"
+
+-#: config/frv/frv.c:8738
++#: config/frv/frv.c:8742
+ #, gcc-internal-format
+ msgid "%qs expects a constant argument"
+ msgstr "%qs erwartet ein konstantes Argument"
+
+-#: config/frv/frv.c:8743
++#: config/frv/frv.c:8747
+ #, gcc-internal-format
+ msgid "constant argument out of range for %qs"
+ msgstr "Konstantes Argument außerhalb des Wertebereiches für %qs"
+
+-#: config/frv/frv.c:9224
++#: config/frv/frv.c:9228
+ #, gcc-internal-format
+ msgid "media functions are not available unless -mmedia is used"
+ msgstr "Medienfunktionen sind ohne -mmedia nicht verfügbar"
+
+-#: config/frv/frv.c:9236
++#: config/frv/frv.c:9240
+ #, gcc-internal-format
+ msgid "this media function is only available on the fr500"
+ msgstr "diese Medienfunktion ist nur auf dem fr500 verfügbar"
+
+-#: config/frv/frv.c:9264
++#: config/frv/frv.c:9268
+ #, gcc-internal-format
+ msgid "this media function is only available on the fr400 and fr550"
+ msgstr "diese Medienfunktion ist nur auf dem fr400 und fr550 verfügbar"
+
+-#: config/frv/frv.c:9283
++#: config/frv/frv.c:9287
+ #, gcc-internal-format
+ msgid "this builtin function is only available on the fr405 and fr450"
+ msgstr "diese eingebaute Funktion ist nur auf dem fr405 und fr450 verfügbar"
+
+-#: config/frv/frv.c:9292
++#: config/frv/frv.c:9296
+ #, gcc-internal-format
+ msgid "this builtin function is only available on the fr500 and fr550"
+ msgstr "diese eingebaute Funktion ist nur auf dem fr500 und fr550 verfügbar"
+
+-#: config/frv/frv.c:9304
++#: config/frv/frv.c:9308
+ #, gcc-internal-format
+ msgid "this builtin function is only available on the fr450"
+ msgstr "diese eingebaute Funktion ist nur auf dem fr450 verfügbar"
+@@ -25012,311 +24977,316 @@
+ msgid "can't set position in PCH file: %m"
+ msgstr "Position in PCH-Datei kann nicht gesetzt werden: %m"
+
+-#: config/i386/i386.c:2133 config/i386/i386.c:2333
++#: config/i386/i386.c:2158 config/i386/i386.c:2358
+ #, gcc-internal-format
+ msgid "bad value (%s) for -mtune= switch"
+ msgstr "Falscher Wert (%s) für Schalter -mtune="
+
+-#: config/i386/i386.c:2174
++#: config/i386/i386.c:2199
+ #, gcc-internal-format
+ msgid "bad value (%s) for -mstringop-strategy= switch"
+ msgstr "Falscher Wert (%s) für Schalter -mstringop-strategy="
+
+-#: config/i386/i386.c:2177
++#: config/i386/i386.c:2202
+ #, 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.c:2186
++#: config/i386/i386.c:2211
+ #, gcc-internal-format
+ msgid "generic CPU can be used only for -mtune= switch"
+ msgstr "generische CPU kann nur für Schalter -mtune= verwendet werden"
+
+-#: config/i386/i386.c:2188 config/i386/i386.c:2297 config/mt/mt.c:804
++#: config/i386/i386.c:2213 config/i386/i386.c:2322 config/mt/mt.c:804
+ #, gcc-internal-format
+ msgid "bad value (%s) for -march= switch"
+ msgstr "Falscher Wert (%s) für Schalter -march="
+
+-#: config/i386/i386.c:2199
++#: config/i386/i386.c:2224
+ #, gcc-internal-format
+ msgid "code model %s does not support PIC mode"
+ msgstr "Codemodell %s unterstützt keinen PIC-Modus"
+
+-#: config/i386/i386.c:2205 config/sparc/sparc.c:725
++#: config/i386/i386.c:2230 config/sparc/sparc.c:728
+ #, gcc-internal-format
+ msgid "bad value (%s) for -mcmodel= switch"
+ msgstr "Falscher Wert (%s) für Schalter -mcmodel="
+
+-#: config/i386/i386.c:2228
++#: config/i386/i386.c:2253
+ #, gcc-internal-format
+ msgid "bad value (%s) for -masm= switch"
+ msgstr "Falscher Wert (%s) für Schalter -masm="
+
+-#: config/i386/i386.c:2231
++#: config/i386/i386.c:2256
+ #, 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.c:2234
++#: config/i386/i386.c:2259
+ #, gcc-internal-format
+ msgid "%i-bit mode not compiled in"
+ msgstr "%i-Bit-Modus nicht einkompiliert"
+
+-#: config/i386/i386.c:2245 config/i386/i386.c:2319
++#: config/i386/i386.c:2270 config/i386/i386.c:2344
+ #, 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.c:2351
++#: config/i386/i386.c:2376
+ #, gcc-internal-format
+ msgid "-mregparm is ignored in 64-bit mode"
+ msgstr "-mregparm wird im 64-Bit-Modus ignoriert"
+
+-#: config/i386/i386.c:2354
++#: config/i386/i386.c:2379
+ #, gcc-internal-format
+ msgid "-mregparm=%d is not between 0 and %d"
+ msgstr "-mregparm=%d ist nicht zwischen 0 und %d"
+
+-#: config/i386/i386.c:2366
++#: config/i386/i386.c:2391
+ #, gcc-internal-format
+ msgid "-malign-loops is obsolete, use -falign-loops"
+ msgstr "-malign-loops ist veraltet, Ersatz: -falign-loops"
+
+-#: config/i386/i386.c:2371 config/i386/i386.c:2384 config/i386/i386.c:2397
++#: config/i386/i386.c:2396 config/i386/i386.c:2409 config/i386/i386.c:2422
+ #, gcc-internal-format
+ msgid "-malign-loops=%d is not between 0 and %d"
+ msgstr "-malign-loops=%d ist nicht zwischen 0 und %d"
+
+-#: config/i386/i386.c:2379
++#: config/i386/i386.c:2404
+ #, gcc-internal-format
+ msgid "-malign-jumps is obsolete, use -falign-jumps"
+ msgstr "-malign-jumps ist veraltet, Ersatz: -falign-jumps"
+
+-#: config/i386/i386.c:2392
++#: config/i386/i386.c:2417
+ #, gcc-internal-format
+ msgid "-malign-functions is obsolete, use -falign-functions"
+ msgstr "-malign-functions ist veraltet, Ersatz: -falign-functions"
+
+-#: config/i386/i386.c:2425
++#: config/i386/i386.c:2450
+ #, gcc-internal-format
+ msgid "-mbranch-cost=%d is not between 0 and 5"
+ msgstr "-mbranch-cost=%d ist nicht zwischen 0 und 5"
+
+-#: config/i386/i386.c:2433
++#: config/i386/i386.c:2458
+ #, gcc-internal-format
+ msgid "-mlarge-data-threshold=%d is negative"
+ msgstr "-mlarge-data-threshold=%d ist negativ"
+
+-#: config/i386/i386.c:2447
++#: config/i386/i386.c:2472
+ #, gcc-internal-format
+ msgid "bad value (%s) for -mtls-dialect= switch"
+ msgstr "Falscher Wert (%s) für Schalter -mtls-dialect="
+
+-#: config/i386/i386.c:2455
++#: config/i386/i386.c:2480
+ #, gcc-internal-format
+ msgid "pc%d is not valid precision setting (32, 64 or 80)"
+ msgstr "pc%d ist kein gültiger Präzisionswert (32, 64 oder 80)"
+
+-#: config/i386/i386.c:2471
++#: config/i386/i386.c:2496
+ #, gcc-internal-format
+ msgid "-mrtd is ignored in 64bit mode"
+ msgstr "-mrtd wird im 64-Bit-Modus ignoriert"
+
+-#: config/i386/i386.c:2560
++#: config/i386/i386.c:2585
+ #, gcc-internal-format
+ msgid "-mpreferred-stack-boundary=%d is not between %d and 12"
+ msgstr "-mpreferred-stack-boundary=%d ist nicht zwischen %d und 12"
+
+-#: config/i386/i386.c:2569
++#: config/i386/i386.c:2594
+ #, gcc-internal-format
+ msgid "-msseregparm used without SSE enabled"
+ msgstr "-msseregparm ohne aktiviertes SSE verwendet"
+
+-#: config/i386/i386.c:2580 config/i386/i386.c:2591
++#: config/i386/i386.c:2605 config/i386/i386.c:2616
+ #, gcc-internal-format
+ msgid "SSE instruction set disabled, using 387 arithmetics"
+ msgstr "SSE-Befehlssatz ausgeschaltet, es wird 387-Arithmetik verwendet"
+
+-#: config/i386/i386.c:2596
++#: config/i386/i386.c:2621
+ #, gcc-internal-format
+ msgid "387 instruction set disabled, using SSE arithmetics"
+ msgstr "387-Befehlssatz ausgeschaltet, es wird SSE-Arithmetik verwendet"
+
+-#: config/i386/i386.c:2603
++#: config/i386/i386.c:2628
+ #, gcc-internal-format
+ msgid "bad value (%s) for -mfpmath= switch"
+ msgstr "Falscher Wert (%s) für Schalter -mfpmath="
+
+-#: config/i386/i386.c:2616
++#: config/i386/i386.c:2641
+ #, gcc-internal-format
+ msgid "unknown vectorization library ABI type (%s) for -mveclibabi= switch"
+ msgstr "unbekannte ABI-Typ (%s) für Vektorisierungsbibliothek bei Schalter -mveclibabi="
+
+-#: config/i386/i386.c:2635
++#: config/i386/i386.c:2660
+ #, gcc-internal-format
+ msgid "unwind tables currently require either a frame pointer or -maccumulate-outgoing-args for correctness"
+ msgstr "Abwicklungstabellen erfordern derzeit entweder einen Rahmenzeiger oder -maccumulate-outgoing-args für Korrektheit"
+
+-#: config/i386/i386.c:3022 config/i386/i386.c:3075
++#: config/i386/i386.c:3053 config/i386/i386.c:3106
+ #, gcc-internal-format
+ msgid "fastcall and regparm attributes are not compatible"
+ msgstr "Attribute fastcall und regparm sind nicht verträglich"
+
+-#: config/i386/i386.c:3029
++#: config/i386/i386.c:3060
+ #, gcc-internal-format
+ msgid "%qs attribute requires an integer constant argument"
+ msgstr "Attribut %qs benötigt eine Ganzzahlkonstante als Argument"
+
+-#: config/i386/i386.c:3035
++#: config/i386/i386.c:3066
+ #, gcc-internal-format
+ msgid "argument to %qs attribute larger than %d"
+ msgstr "Argument für Attribut %qs ist größer als %d"
+
+-#: config/i386/i386.c:3045
++#: config/i386/i386.c:3076
+ #, gcc-internal-format
+ msgid "%s functions limited to %d register parameters"
+ msgstr "%s Funktionen auf %d Registerparameter beschränkt"
+
+-#: config/i386/i386.c:3067 config/i386/i386.c:3102
++#: config/i386/i386.c:3098 config/i386/i386.c:3133
+ #, gcc-internal-format
+ msgid "fastcall and cdecl attributes are not compatible"
+ msgstr "Attribute fastcall und cdecl sind nicht verträglich"
+
+-#: config/i386/i386.c:3071
++#: config/i386/i386.c:3102
+ #, gcc-internal-format
+ msgid "fastcall and stdcall attributes are not compatible"
+ msgstr "Attribute fastcall und stdcall sind nicht verträglich"
+
+-#: config/i386/i386.c:3085 config/i386/i386.c:3098
++#: config/i386/i386.c:3116 config/i386/i386.c:3129
+ #, gcc-internal-format
+ msgid "stdcall and cdecl attributes are not compatible"
+ msgstr "Attribute stdcall und cdecl sind nicht verträglich"
+
+-#: config/i386/i386.c:3089
++#: config/i386/i386.c:3120
+ #, gcc-internal-format
+ msgid "stdcall and fastcall attributes are not compatible"
+ msgstr "Attribute stdcall und fastcall sind nicht verträglich"
+
+-#: config/i386/i386.c:3236
++#: config/i386/i386.c:3271
+ #, gcc-internal-format
+ msgid "Calling %qD with attribute sseregparm without SSE/SSE2 enabled"
+ msgstr "Aufruf von %qD mit Attribut sseregparam ohne SSE/SSE2 aktiviert"
+
+-#: config/i386/i386.c:3239
++#: config/i386/i386.c:3274
+ #, gcc-internal-format
+ msgid "Calling %qT with attribute sseregparm without SSE/SSE2 enabled"
+ msgstr "Aufruf von %qT mit Attribut sseregparam ohne SSE/SSE2 aktiviert"
+
+-#: config/i386/i386.c:3925
++#: config/i386/i386.c:3971
+ #, gcc-internal-format
+ msgid "SSE register return with SSE disabled"
+ msgstr "SSE-Registerrückgabe mit SSE ausgeschaltet"
+
+-#: config/i386/i386.c:3931
++#: config/i386/i386.c:3977
+ #, gcc-internal-format
+ msgid "SSE register argument with SSE disabled"
+ msgstr "SSE-Registerargument mit SSE ausgeschaltet"
+
+-#: config/i386/i386.c:3947
++#: config/i386/i386.c:3993
+ #, gcc-internal-format
+ msgid "x87 register return with x87 disabled"
+ msgstr "x87-Registerrückgabe mit ausgeschaltetem x87"
+
+-#: config/i386/i386.c:4265
++#: config/i386/i386.c:4314
+ #, 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.c:4283
++#: config/i386/i386.c:4332
+ #, 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.c:4810
++#: config/i386/i386.c:4859
+ #, 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.c:4820
++#: config/i386/i386.c:4869
+ #, 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.c:6171
++#: config/i386/i386.c:6220
+ #, gcc-internal-format
+ msgid "-mstackrealign ignored for nested functions"
+ msgstr "-mstackrealign für geschachtelte Funktionen ignoriert"
+
+-#: config/i386/i386.c:6173
++#: config/i386/i386.c:6222
+ #, gcc-internal-format
+ msgid "%s not supported for nested functions"
+ msgstr "%s für geschachtelte Funktionen nicht unterstützt"
+
+-#: config/i386/i386.c:8576
++#: config/i386/i386.c:8631
+ #, gcc-internal-format
+ msgid "extended registers have no high halves"
+ msgstr "erweiterte Register haben keine oberen Hälften"
+
+-#: config/i386/i386.c:8591
++#: config/i386/i386.c:8646
+ #, gcc-internal-format
+ msgid "unsupported operand size for extended register"
+ msgstr "nicht unterstützte Operandengröße für erweitertes Register"
+
+-#: config/i386/i386.c:19610
++#: config/i386/i386.c:19694
+ #, gcc-internal-format
+ msgid "the third argument must be a 4-bit immediate"
+ msgstr "Argument 3 muss ein 4-Bit-Immediate sein"
+
+-#: config/i386/i386.c:19614
++#: config/i386/i386.c:19698
+ #, gcc-internal-format
+ msgid "the third argument must be an 8-bit immediate"
+ msgstr "Argument 3 muss ein 5-Bit-Immediate sein"
+
+-#: config/i386/i386.c:19836
++#: config/i386/i386.c:19920
+ #, gcc-internal-format
+ msgid "last argument must be an immediate"
+ msgstr "das letzte Argument muss ein Immediate sein"
+
+-#: config/i386/i386.c:19963
++#: config/i386/i386.c:20047
+ #, gcc-internal-format
+ msgid "the second argument must be a 4-bit immediate"
+ msgstr "Argument 2 muss ein 4-Bit-Immediate sein"
+
+-#: config/i386/i386.c:20209
++#: config/i386/i386.c:20293
+ #, gcc-internal-format
+ msgid "the fifth argument must be a 8-bit immediate"
+ msgstr "Argument 5 muss ein 8-Bit-Immediate sein"
+
+-#: config/i386/i386.c:20304
++#: config/i386/i386.c:20388
+ #, gcc-internal-format
+ msgid "the third argument must be a 8-bit immediate"
+ msgstr "Argument 3 muss ein 8-Bit-Immediate sein"
+
+-#: config/i386/i386.c:20374 config/rs6000/rs6000.c:8133
++#: config/i386/i386.c:20458 config/rs6000/rs6000.c:8240
+ #, gcc-internal-format
+ msgid "selector must be an integer constant in the range 0..%wi"
+ msgstr "Selektor eine Ganzzahlkonstante im Bereich 0..%wi sein"
+
+-#: config/i386/i386.c:20774 config/i386/i386.c:20970
++#: config/i386/i386.c:20858 config/i386/i386.c:21054
+ #, gcc-internal-format
+ msgid "shift must be an immediate"
+ msgstr "Verschiebung muss direkt angegeben werden"
+
+-#: config/i386/i386.c:21033 config/i386/i386.c:21075
++#: config/i386/i386.c:21117 config/i386/i386.c:21159
+ #, gcc-internal-format
+ msgid "index mask must be an immediate"
+ msgstr "Indexmaske muss ein Immediate sein"
+
+-#: config/i386/i386.c:21038 config/i386/i386.c:21080
++#: config/i386/i386.c:21122 config/i386/i386.c:21164
+ #, gcc-internal-format
+ msgid "length mask must be an immediate"
+ msgstr "Längenmaske muss ein Immediate sein"
+
+-#: config/i386/i386.c:22525 config/rs6000/rs6000.c:19666
++#: config/i386/i386.c:22609 config/rs6000/rs6000.c:19883
+ #, gcc-internal-format
+ msgid "%qs incompatible attribute ignored"
+ msgstr "%qs-inkompatibles Attribut wird ignoriert"
+
++#: config/i386/netware.c:253
++#, gcc-internal-format
++msgid "-fPIC and -fpic are not supported for this target"
++msgstr "-fPIC und -fpic werden für dieses Ziel nicht unterstützt"
++
+ #: config/i386/winnt-cxx.c:71 config/sh/symbian.c:172
+ #, gcc-internal-format
+ msgid "definition of static data member %q+D of dllimport'd class"
+@@ -25382,57 +25352,57 @@
+ msgid "%Jaddress area attribute cannot be specified for functions"
+ msgstr "%JAdressbereichsattribut kann nicht für Funktionen angegeben werden"
+
+-#: config/ia64/ia64.c:5126 config/pa/pa.c:347 config/spu/spu.c:3875
++#: config/ia64/ia64.c:5127 config/pa/pa.c:350 config/spu/spu.c:3864
+ #, gcc-internal-format
+ msgid "value of -mfixed-range must have form REG1-REG2"
+ msgstr "Wert von -mfixed-range muss die Form REG1-REG2 haben"
+
+-#: config/ia64/ia64.c:5153 config/pa/pa.c:374 config/spu/spu.c:3901
++#: config/ia64/ia64.c:5154 config/pa/pa.c:377 config/spu/spu.c:3890
+ #, gcc-internal-format
+ msgid "%s-%s is an empty range"
+ msgstr "%s-%s ist ein leerer Bereich"
+
+-#: config/ia64/ia64.c:5181
++#: config/ia64/ia64.c:5182
+ #, gcc-internal-format
+ msgid "bad value %<%s%> for -mtls-size= switch"
+ msgstr "Falscher Wert %<%s%> für Schalter -mtls-size="
+
+-#: config/ia64/ia64.c:5209
++#: config/ia64/ia64.c:5210
+ #, gcc-internal-format
+ msgid "bad value %<%s%> for -mtune= switch"
+ msgstr "Falscher Wert %<%s%> für Schalter -mtune="
+
+-#: config/ia64/ia64.c:5228
++#: config/ia64/ia64.c:5229
+ #, gcc-internal-format
+ msgid "not yet implemented: latency-optimized inline square root"
+ msgstr "noch nicht implementiert: Wartezeit-optimierte eingebettete Quadratwurzel"
+
+-#: config/ia64/ia64.c:9950
++#: config/ia64/ia64.c:9951
+ #, gcc-internal-format
+ msgid "version attribute is not a string"
+ msgstr "Versionsattribut ist keine Zeichenkette"
+
+-#: config/iq2000/iq2000.c:1812
++#: config/iq2000/iq2000.c:1816
+ #, gcc-internal-format
+ msgid "gp_offset (%ld) or end_offset (%ld) is less than zero"
+ msgstr "gp_offset (%ld) oder end_offset (%ld) ist kleiner als Null"
+
+-#: config/iq2000/iq2000.c:2583
++#: config/iq2000/iq2000.c:2587
+ #, gcc-internal-format
+ msgid "argument %qd is not a constant"
+ msgstr "Argument %qd ist keine Konstante"
+
+-#: config/iq2000/iq2000.c:2885 config/mt/mt.c:349 config/xtensa/xtensa.c:2118
++#: config/iq2000/iq2000.c:2889 config/mt/mt.c:349 config/xtensa/xtensa.c:2124
+ #, gcc-internal-format
+ msgid "PRINT_OPERAND_ADDRESS, null pointer"
+ msgstr "PRINT_OPERAND_ADDRESS, Null-Zeiger"
+
+-#: config/iq2000/iq2000.c:3040
++#: config/iq2000/iq2000.c:3044
+ #, gcc-internal-format
+ msgid "PRINT_OPERAND: Unknown punctuation '%c'"
+ msgstr "PRINT_OPERAND: Unbekanntes Zeichen '%c'"
+
+-#: config/iq2000/iq2000.c:3049 config/xtensa/xtensa.c:1972
++#: config/iq2000/iq2000.c:3053 config/xtensa/xtensa.c:1978
+ #, gcc-internal-format
+ msgid "PRINT_OPERAND null pointer"
+ msgstr "PRINT_OPERAND Null-Zeiger"
+@@ -25457,22 +25427,22 @@
+ msgid "invalid target memregs value '%d'"
+ msgstr "ungültiger Wert »%d« für Ziel-Memregs"
+
+-#: config/m32c/m32c.c:2759
++#: config/m32c/m32c.c:2766
+ #, gcc-internal-format
+ msgid "`%s' attribute is not supported for R8C target"
+ msgstr "Attribut »%s« wird für Ziel R8C nicht unterstützt"
+
+-#: config/m32c/m32c.c:2767
++#: config/m32c/m32c.c:2774
+ #, gcc-internal-format
+ msgid "`%s' attribute applies only to functions"
+ msgstr "Attribut »%s« kann nur auf Funktionen angewandt werden"
+
+-#: config/m32c/m32c.c:2775
++#: config/m32c/m32c.c:2782
+ #, gcc-internal-format
+ msgid "`%s' attribute argument not an integer constant"
+ msgstr "Argument des Attributs »%s« ist keine Ganzzahlkonstante"
+
+-#: config/m32c/m32c.c:2784
++#: config/m32c/m32c.c:2791
+ #, gcc-internal-format
+ msgid "`%s' attribute argument should be between 18 to 255"
+ msgstr "Argument des Attributs »%s« sollte zwischen 18 und 255 sein"
+@@ -25522,7 +25492,7 @@
+ msgid "interrupt_thread is available only on fido"
+ msgstr "interrupt_thread ist nur auf Fido verfügbar"
+
+-#: config/m68k/m68k.c:1072 config/rs6000/rs6000.c:15014
++#: config/m68k/m68k.c:1072 config/rs6000/rs6000.c:15226
+ #, gcc-internal-format
+ msgid "stack limit expression is not supported"
+ msgstr "Ausdruck der Stapelgrenze wird nicht unterstützt"
+@@ -25537,114 +25507,114 @@
+ msgid "%qs redeclared with conflicting %qs attributes"
+ msgstr "%qs mit in Konflikt stehenden Attributen %qs redeklariert"
+
+-#: config/mips/mips.c:2348
++#: config/mips/mips.c:2382
+ #, gcc-internal-format
+ msgid "MIPS16 TLS"
+ msgstr "MIPS16-TLS"
+
+-#: config/mips/mips.c:5439
++#: config/mips/mips.c:5500
+ #, gcc-internal-format
+ msgid "cannot handle inconsistent calls to %qs"
+ msgstr "inkonsistente Aufrufe von %qs können nicht behandelt werden"
+
+-#: config/mips/mips.c:10258
++#: config/mips/mips.c:10337
+ #, gcc-internal-format
+ msgid "invalid argument to built-in function"
+ msgstr "ungültiges Argument für eingebaute Funktion"
+
+-#: config/mips/mips.c:10530
++#: config/mips/mips.c:10609
+ #, gcc-internal-format
+ msgid "built-in function %qs not supported for MIPS16"
+ msgstr "eingebaute Funktion %qs nicht für MIPS16 unterstützt"
+
+-#: config/mips/mips.c:11679 config/mips/mips.c:12065
++#: config/mips/mips.c:11751 config/mips/mips.c:12137
+ #, gcc-internal-format
+ msgid "MIPS16 PIC"
+ msgstr "MIPS16-PIC"
+
+-#: config/mips/mips.c:11682
++#: config/mips/mips.c:11754
+ #, gcc-internal-format
+ msgid "hard-float MIPS16 code for ABIs other than o32 and o64"
+ msgstr "Hardware-Fließkommacode für MIPS16 für ABIs außer o32 und o64"
+
+-#: config/mips/mips.c:11810
++#: config/mips/mips.c:11882
+ #, gcc-internal-format
+ msgid "CPU names must be lower case"
+ msgstr "CPU-Namen müssen klein geschrieben sein"
+
+-#: config/mips/mips.c:11938
++#: config/mips/mips.c:12010
+ #, gcc-internal-format
+ msgid "%<-%s%> conflicts with the other architecture options, which specify a %s processor"
+ msgstr "%<-%s%> steht in Konflikt mit den anderen Architekturoptionen, die einen %s-Prozessor angeben"
+
+-#: config/mips/mips.c:11954
++#: config/mips/mips.c:12026
+ #, gcc-internal-format
+ msgid "%<-march=%s%> is not compatible with the selected ABI"
+ msgstr "%<-march=%s%> ist mit dem ausgewählten ABI unverträglich"
+
+-#: config/mips/mips.c:11969
++#: config/mips/mips.c:12041
+ #, gcc-internal-format
+ msgid "%<-mgp64%> used with a 32-bit processor"
+ msgstr "%<-mgp64%> mit einem 32-Bit-Prozessor verwendet"
+
+-#: config/mips/mips.c:11971
++#: config/mips/mips.c:12043
+ #, gcc-internal-format
+ msgid "%<-mgp32%> used with a 64-bit ABI"
+ msgstr "%<-mgp32%> mit einem 64-Bit-ABI verwendet"
+
+-#: config/mips/mips.c:11973
++#: config/mips/mips.c:12045
+ #, gcc-internal-format
+ msgid "%<-mgp64%> used with a 32-bit ABI"
+ msgstr "%<-mgp64%> mit einem 32-Bit-ABI verwendet"
+
+-#: config/mips/mips.c:11989 config/mips/mips.c:11991 config/mips/mips.c:12058
++#: config/mips/mips.c:12061 config/mips/mips.c:12063 config/mips/mips.c:12130
+ #, gcc-internal-format
+ msgid "unsupported combination: %s"
+ msgstr "nicht unterstützte Kombination: %s"
+
+-#: config/mips/mips.c:11995
++#: config/mips/mips.c:12067
+ #, gcc-internal-format
+ msgid "%<-mgp32%> and %<-mfp64%> can only be combined if the target supports the mfhc1 and mthc1 instructions"
+ msgstr "%<-mgp32%> und %<-mfp64%> können nur kombiniert werden, wenn das Ziel die Befehle mfhc1 und mthc1 unterstützt"
+
+-#: config/mips/mips.c:11998
++#: config/mips/mips.c:12070
+ #, gcc-internal-format
+ msgid "%<-mgp32%> and %<-mfp64%> can only be combined when using the o32 ABI"
+ msgstr "%<-mgp32%> und %<-mfp64%> können nur kombiniert werden, wenn o32-ABI verwendet wird"
+
+-#: config/mips/mips.c:12052
++#: config/mips/mips.c:12124
+ #, gcc-internal-format
+ msgid "the %qs architecture does not support branch-likely instructions"
+ msgstr "die Architektur %qs unterstützt keine Befehle mit Sprungwahrscheinlichkeit"
+
+-#: config/mips/mips.c:12098
++#: config/mips/mips.c:12170
+ #, gcc-internal-format
+ msgid "%<-mno-gpopt%> needs %<-mexplicit-relocs%>"
+ msgstr "%<-mno-gpopt%> erfordert %<-mexplicit-relocs%>"
+
+-#: config/mips/mips.c:12106 config/mips/mips.c:12109
++#: config/mips/mips.c:12178 config/mips/mips.c:12181
+ #, gcc-internal-format
+ msgid "cannot use small-data accesses for %qs"
+ msgstr "Kleindatenzugriffe für %qs nicht möglich"
+
+-#: config/mips/mips.c:12123
++#: config/mips/mips.c:12195
+ #, gcc-internal-format
+ msgid "%<-mips3d%> requires %<-mpaired-single%>"
+ msgstr "%<-mips3d%> erfordert %<-mpaired-single%>"
+
+-#: config/mips/mips.c:12132
++#: config/mips/mips.c:12204
+ #, gcc-internal-format
+ msgid "%qs must be used with %qs"
+ msgstr "%qs muss mit %qs verwendet werden"
+
+-#: config/mips/mips.c:12139
++#: config/mips/mips.c:12211
+ #, gcc-internal-format
+ msgid "the %qs architecture does not support paired-single instructions"
+ msgstr "die Architektur %qs unterstützt keine paarweisen Einzel-Befehle"
+
+ #. Output assembler code to FILE to increment profiler label # LABELNO
+ #. for profiling a function entry.
+-#: config/mips/mips.h:2110
++#: config/mips/mips.h:2111
+ #, gcc-internal-format
+ msgid "mips16 function profiling"
+ msgstr "Profiling für mips16-Funktionen"
+@@ -25674,28 +25644,28 @@
+ msgid "MMIX Internal: Last named vararg would not fit in a register"
+ msgstr "MMIX-intern: Letzte benannte Vararg würde nicht in ein Register passen"
+
+-#: config/mmix/mmix.c:1495 config/mmix/mmix.c:1519 config/mmix/mmix.c:1635
++#: config/mmix/mmix.c:1491 config/mmix/mmix.c:1515 config/mmix/mmix.c:1631
+ #, gcc-internal-format
+ msgid "MMIX Internal: Bad register: %d"
+ msgstr "MMIX-intern: Falsches Register: %d"
+
+ #. Presumably there's a missing case above if we get here.
+-#: config/mmix/mmix.c:1627
++#: config/mmix/mmix.c:1623
+ #, gcc-internal-format
+ msgid "MMIX Internal: Missing %qc case in mmix_print_operand"
+ msgstr "MMIX-intern: Fall %qc fehlt in mmix_print_operand"
+
+-#: config/mmix/mmix.c:1913
++#: config/mmix/mmix.c:1909
+ #, gcc-internal-format
+ msgid "stack frame not a multiple of 8 bytes: %wd"
+ msgstr "Stapelrahmen ist kein Vielfaches von 8 Bytes: %wd"
+
+-#: config/mmix/mmix.c:2149
++#: config/mmix/mmix.c:2145
+ #, gcc-internal-format
+ msgid "stack frame not a multiple of octabyte: %wd"
+ msgstr "Stapelrahmen ist kein Vielfaches eines Octabytes: %wd"
+
+-#: config/mmix/mmix.c:2489 config/mmix/mmix.c:2553
++#: config/mmix/mmix.c:2485 config/mmix/mmix.c:2549
+ #, gcc-internal-format
+ msgid "MMIX Internal: %s is not a shiftable int"
+ msgstr "MMIX-intern: %s ist kein schiebbares int"
+@@ -25705,27 +25675,27 @@
+ msgid "info pointer NULL"
+ msgstr "Info-Zeiger NULL"
+
+-#: config/pa/pa.c:479
++#: config/pa/pa.c:482
+ #, gcc-internal-format
+ msgid "PIC code generation is not supported in the portable runtime model"
+ msgstr "PIC-Codeerzeugung wird im portierbaren Laufzeitmodell nicht unterstützt"
+
+-#: config/pa/pa.c:484
++#: config/pa/pa.c:487
+ #, gcc-internal-format
+ msgid "PIC code generation is not compatible with fast indirect calls"
+ msgstr "PIC-Codeerzeugung ist mit schnellen indirekten Aufrufen unverträglich"
+
+-#: config/pa/pa.c:489
++#: config/pa/pa.c:492
+ #, gcc-internal-format
+ msgid "-g is only supported when using GAS on this processor,"
+ msgstr "-g wird nur bei der Verwendung von GAS auf diesem Prozessor unterstützt"
+
+-#: config/pa/pa.c:490
++#: config/pa/pa.c:493
+ #, gcc-internal-format
+ msgid "-g option disabled"
+ msgstr "Option -g ausgeschaltet"
+
+-#: config/pa/pa.c:8285
++#: config/pa/pa.c:8373
+ #, gcc-internal-format
+ msgid "alignment (%u) for %s exceeds maximum alignment for global common data. Using %u"
+ msgstr "Ausrichtung (%u) für %s überschreitet maximale Ausrichtung für gobale gemeinsame Daten. Es wird %u verwendet"
+@@ -25794,250 +25764,251 @@
+ msgid "junk at end of #pragma longcall"
+ msgstr "Ausschuss am Ende von #pragma longcall"
+
+-#: config/rs6000/rs6000-c.c:2550
++#: config/rs6000/rs6000-c.c:2553
+ #, gcc-internal-format
+ msgid "passing arg %d of %qE discards qualifiers frompointer target type"
+ msgstr "Ãœbergabe des Arguments %d von %qE entfernt Kennzeichner von Zeiger-Ziel-Typ"
+
+-#: config/rs6000/rs6000-c.c:2593
++#: config/rs6000/rs6000-c.c:2596
+ #, gcc-internal-format
+ msgid "invalid parameter combination for AltiVec intrinsic"
+ msgstr "ungültige Parameterkombination für intrinsisches AltiVec"
+
+-#: config/rs6000/rs6000.c:1294
++#: config/rs6000/rs6000.c:1312
+ #, gcc-internal-format
+ msgid "-mdynamic-no-pic overrides -fpic or -fPIC"
+ msgstr "-mdynamic-no-pic hebt -fpic oder -fPIC auf"
+
+-#: config/rs6000/rs6000.c:1305
++#: config/rs6000/rs6000.c:1323
+ #, gcc-internal-format
+ msgid "-m64 requires PowerPC64 architecture, enabling"
+ msgstr "-m64 erfordert PowerPC64-Architektur voraus, eingeschaltet"
+
+-#: config/rs6000/rs6000.c:1528
++#: config/rs6000/rs6000.c:1546
+ #, gcc-internal-format
+ msgid "-mmultiple is not supported on little endian systems"
+ msgstr "-mmultiple wird auf »little endian«-Systemen nicht unterstützt"
+
+-#: config/rs6000/rs6000.c:1535
++#: config/rs6000/rs6000.c:1553
+ #, gcc-internal-format
+ msgid "-mstring is not supported on little endian systems"
+ msgstr "-mstring wird auf »little endian«-Systemen nicht unterstützt"
+
+-#: config/rs6000/rs6000.c:1549
++#: config/rs6000/rs6000.c:1567
+ #, gcc-internal-format
+ msgid "unknown -mdebug-%s switch"
+ msgstr "unbekannter Schalter -mdebug-%s"
+
+-#: config/rs6000/rs6000.c:1561
++#: config/rs6000/rs6000.c:1579
+ #, gcc-internal-format
+ msgid "unknown -mtraceback arg %qs; expecting %<full%>, %<partial%> or %<none%>"
+ msgstr "unbekanntes Argument %qs für -mtraceback; %<full%>, %<partial%> oder %<none%> erwartet"
+
+-#: config/rs6000/rs6000.c:1973
++#: config/rs6000/rs6000.c:2003
+ #, gcc-internal-format
+ msgid "unknown -m%s= option specified: '%s'"
+ msgstr "unbekannte Option für -m%s= angegeben: »%s«"
+
+-#: config/rs6000/rs6000.c:2186
++#: config/rs6000/rs6000.c:2218
+ #, gcc-internal-format
+ msgid "not configured for ABI: '%s'"
+ msgstr "nicht für ABI konfiguriert: »%s«"
+
+-#: config/rs6000/rs6000.c:2199
++#: config/rs6000/rs6000.c:2231
+ #, gcc-internal-format
+ msgid "Using darwin64 ABI"
+ msgstr "darwin64-ABI wird verwendet"
+
+-#: config/rs6000/rs6000.c:2204
++#: config/rs6000/rs6000.c:2236
+ #, gcc-internal-format
+ msgid "Using old darwin ABI"
+ msgstr "Altes darwin-ABI wird verwendet"
+
+-#: config/rs6000/rs6000.c:2211
++#: config/rs6000/rs6000.c:2243
+ #, gcc-internal-format
+ msgid "Using IBM extended precision long double"
+ msgstr "IBM long doubles mit erweiterter Genauigkeit werden verwendet"
+
+-#: config/rs6000/rs6000.c:2217
++#: config/rs6000/rs6000.c:2249
+ #, gcc-internal-format
+ msgid "Using IEEE extended precision long double"
+ msgstr "IEEE long doubles mit erweiterter Genauigkeit werden verwendet"
+
+-#: config/rs6000/rs6000.c:2222
++#: config/rs6000/rs6000.c:2254
+ #, gcc-internal-format
+ msgid "unknown ABI specified: '%s'"
+ msgstr "unbekanntes ABI angegeben: »%s«"
+
+-#: config/rs6000/rs6000.c:2249
++#: config/rs6000/rs6000.c:2281
+ #, gcc-internal-format
+ msgid "invalid option for -mfloat-gprs: '%s'"
+ msgstr "ungültige Option für -mfloat-gprs: »%s«"
+
+-#: config/rs6000/rs6000.c:2259
++#: config/rs6000/rs6000.c:2291
+ #, gcc-internal-format
+ msgid "Unknown switch -mlong-double-%s"
+ msgstr "Unbekannter Schalter -mlong-double-%s"
+
+-#: config/rs6000/rs6000.c:2280
++#: config/rs6000/rs6000.c:2312
+ #, gcc-internal-format
+ msgid "-malign-power is not supported for 64-bit Darwin; it is incompatible with the installed C and C++ libraries"
+ msgstr "-malign-power wird für 64-Bit-Darwin nicht unterstützt; es ist mit den installierten C- und C++-Bibliotheken unverträglich"
+
+-#: config/rs6000/rs6000.c:2288
++#: config/rs6000/rs6000.c:2320
+ #, gcc-internal-format
+ msgid "unknown -malign-XXXXX option specified: '%s'"
+ msgstr "unbekannte Option -malign-XXXXX angegeben: »%s«"
+
+-#: config/rs6000/rs6000.c:4989
++#: config/rs6000/rs6000.c:5087
+ #, gcc-internal-format
+ msgid "GCC vector returned by reference: non-standard ABI extension with no compatibility guarantee"
+ msgstr "GCC-Vektor per Referenz zurückgegeben: Nicht-Standard-ABI-Erweiterung ohne Kompatibilitätsgarantie"
+
+-#: config/rs6000/rs6000.c:5062
++#: config/rs6000/rs6000.c:5160
+ #, gcc-internal-format
+ msgid "cannot return value in vector register because altivec instructions are disabled, use -maltivec to enable them"
+ msgstr "Wert kann nicht in Vektorregister zurückgegeben werden, da AltiVec-Befehle ausgeschaltet sind; -maltivec schaltet sie ein"
+
+-#: config/rs6000/rs6000.c:5320
++#: config/rs6000/rs6000.c:5418
+ #, gcc-internal-format
+ msgid "cannot pass argument in vector register because altivec instructions are disabled, use -maltivec to enable them"
+ msgstr "Argument kann nicht in Vektorregister übergegeben werden, da AltiVec-Befehle ausgeschaltet sind; -maltivec schaltet sie ein"
+
+-#: config/rs6000/rs6000.c:6221
++#: config/rs6000/rs6000.c:6322
+ #, gcc-internal-format
+ msgid "GCC vector passed by reference: non-standard ABI extension with no compatibility guarantee"
+ msgstr "GCC-Vektor per Referenz übergegeben: Nicht-Standard-ABI-Erweiterung ohne Kompatibilitätsgarantie"
+
+-#: config/rs6000/rs6000.c:7461
++#: config/rs6000/rs6000.c:7568
+ #, gcc-internal-format
+ msgid "argument 1 must be a 5-bit signed literal"
+ msgstr "Argument 1 muss ein vorzeichenbehaftetes 5-Bit-Symbol sein"
+
+-#: config/rs6000/rs6000.c:7564 config/rs6000/rs6000.c:8475
++#: config/rs6000/rs6000.c:7671 config/rs6000/rs6000.c:8582
+ #, gcc-internal-format
+ msgid "argument 2 must be a 5-bit unsigned literal"
+ msgstr "Argument 2 muss ein vorzeichenloses 5-Bit-Symbol sein"
+
+-#: config/rs6000/rs6000.c:7604
++#: config/rs6000/rs6000.c:7711
+ #, gcc-internal-format
+ msgid "argument 1 of __builtin_altivec_predicate must be a constant"
+ msgstr "Argument 1 von __builtin_altivec_predicate muss eine Konstante sein"
+
+-#: config/rs6000/rs6000.c:7657
++#: config/rs6000/rs6000.c:7764
+ #, gcc-internal-format
+ msgid "argument 1 of __builtin_altivec_predicate is out of range"
+ msgstr "Argument 1 von __builtin_altivec_predicate ist außerhalb des Wertebereiches"
+
+-#: config/rs6000/rs6000.c:7906
++#: config/rs6000/rs6000.c:8013
+ #, gcc-internal-format
+ msgid "argument 3 must be a 4-bit unsigned literal"
+ msgstr "Argument 3 muss ein vorzeichenloses 4-Bit-Symbol sein"
+
+-#: config/rs6000/rs6000.c:8078
++#: config/rs6000/rs6000.c:8185
+ #, gcc-internal-format
+ msgid "argument to %qs must be a 2-bit unsigned literal"
+ msgstr "Argument für %qs muss ein vorzeichenloses 2-Bit-Symbol sein"
+
+-#: config/rs6000/rs6000.c:8220
++#: config/rs6000/rs6000.c:8327
+ #, gcc-internal-format
+ msgid "unresolved overload for Altivec builtin %qF"
+ msgstr "ungelöste Überladung des eingebauten Altivec %qF"
+
+-#: config/rs6000/rs6000.c:8302
++#: config/rs6000/rs6000.c:8409
+ #, gcc-internal-format
+ msgid "argument to dss must be a 2-bit unsigned literal"
+ msgstr "Argument für dss muss ein vorzeichenloses 2-Bit-Symbol sein"
+
+-#: config/rs6000/rs6000.c:8595
++#: config/rs6000/rs6000.c:8702
+ #, gcc-internal-format
+ msgid "argument 1 of __builtin_paired_predicate must be a constant"
+ msgstr "Argument 1 von __builtin_paired_predicate muss eine Konstante sein"
+
+-#: config/rs6000/rs6000.c:8642
++#: config/rs6000/rs6000.c:8749
+ #, gcc-internal-format
+ msgid "argument 1 of __builtin_paired_predicate is out of range"
+ msgstr "Argument 1 von __builtin_paired_predicate ist außerhalb des Wertebereiches"
+
+-#: config/rs6000/rs6000.c:8667
++#: config/rs6000/rs6000.c:8774
+ #, gcc-internal-format
+ msgid "argument 1 of __builtin_spe_predicate must be a constant"
+ msgstr "Argument 1 von __builtin_spe_predicate muss eine Konstante sein"
+
+-#: config/rs6000/rs6000.c:8739
++#: config/rs6000/rs6000.c:8846
+ #, gcc-internal-format
+ msgid "argument 1 of __builtin_spe_predicate is out of range"
+ msgstr "Argument 1 von __builtin_spe_predicate ist außerhalb des Wertebereiches"
+
+-#: config/rs6000/rs6000.c:14977
++#: config/rs6000/rs6000.c:15189
+ #, gcc-internal-format
+ msgid "stack frame too large"
+ msgstr "Stapelrahmen zu groß"
+
+-#: config/rs6000/rs6000.c:17598
++#: config/rs6000/rs6000.c:17811
+ #, 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.c:19470
++#: config/rs6000/rs6000.c:19687
+ #, gcc-internal-format
+ msgid "use of %<long%> in AltiVec types is invalid for 64-bit code"
+ msgstr "Verwendung von %<long%> in AltiVec-Typen ist für 64-Bit-Code ungültig"
+
+-#: config/rs6000/rs6000.c:19472
++#: config/rs6000/rs6000.c:19689
+ #, gcc-internal-format
+ msgid "use of %<long%> in AltiVec types is deprecated; use %<int%>"
+ msgstr "Verwendung von %<long%> in AltiVec-Typen ist veraltet; %<int%> verwenden"
+
+-#: config/rs6000/rs6000.c:19476
++#: config/rs6000/rs6000.c:19693
+ #, gcc-internal-format
+ msgid "use of %<long long%> in AltiVec types is invalid"
+ msgstr "Verwendung von %<long long%> in AltiVec-Typen ist ungültig"
+
+-#: config/rs6000/rs6000.c:19478
++#: config/rs6000/rs6000.c:19695
+ #, gcc-internal-format
+ msgid "use of %<double%> in AltiVec types is invalid"
+ msgstr "Verwendung von %<double%> in AltiVec-Typen ist ungültig"
+
+-#: config/rs6000/rs6000.c:19480
++#: config/rs6000/rs6000.c:19697
+ #, gcc-internal-format
+ msgid "use of %<long double%> in AltiVec types is invalid"
+ msgstr "Verwendung von %<long double%> in AltiVec-Typen ist ungültig"
+
+-#: config/rs6000/rs6000.c:19482
++#: config/rs6000/rs6000.c:19699
+ #, 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.c:19484
++#: config/rs6000/rs6000.c:19701
+ #, gcc-internal-format
+ msgid "use of %<complex%> in AltiVec types is invalid"
+ msgstr "Verwendung von %<complex%> in AltiVec-Typen ist ungültig"
+
+-#: config/rs6000/rs6000.c:19486
++#: config/rs6000/rs6000.c:19703
+ #, 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/aix43.h:38 config/rs6000/aix51.h:37 config/rs6000/aix52.h:38
+-#: config/rs6000/aix53.h:38
++#: config/rs6000/aix53.h:38 config/rs6000/aix61.h:38
+ #, gcc-internal-format
+ msgid "-maix64 and POWER architecture are incompatible"
+ msgstr "-maix64 und die Architektur POWER sind unverträglich"
+
+ #: config/rs6000/aix43.h:43 config/rs6000/aix51.h:42 config/rs6000/aix52.h:43
+-#: config/rs6000/aix53.h:43
++#: config/rs6000/aix53.h:43 config/rs6000/aix61.h:43
+ #, gcc-internal-format
+ msgid "-maix64 requires PowerPC64 architecture remain enabled"
+ msgstr "-maix64 setzt eingeschaltete PowerPC64-Architektur voraus"
+
+ #: config/rs6000/aix43.h:49 config/rs6000/aix52.h:49 config/rs6000/aix53.h:49
++#: config/rs6000/aix61.h:49
+ #, gcc-internal-format
+ msgid "soft-float and long-double-128 are incompatible"
+ msgstr "soft-float und long-double-128 sind unverträglich"
+
+ #: config/rs6000/aix43.h:53 config/rs6000/aix51.h:46 config/rs6000/aix52.h:53
+-#: config/rs6000/aix53.h:53
++#: config/rs6000/aix53.h:53 config/rs6000/aix61.h:53
+ #, gcc-internal-format
+ msgid "-maix64 required: 64-bit computation with 32-bit addressing not yet supported"
+ msgstr "-maix64 benötigt: 64-Bit-Berechnung mit 32-Bit-Adressierung noch nicht unterstützt"
+@@ -26079,7 +26050,7 @@
+ #. Number of bytes into the frame return addresses can be found. See
+ #. rs6000_stack_info in rs6000.c for more information on how the different
+ #. abi's store the return address.
+-#: config/rs6000/rs6000.h:1560
++#: config/rs6000/rs6000.h:1569
+ #, gcc-internal-format
+ msgid "RETURN_ADDRESS_OFFSET not supported"
+ msgstr "RETURN_ADDRESS_OFFSET nicht unterstützt"
+@@ -26202,22 +26173,22 @@
+ msgid "-mstack-guard implies use of -mstack-size"
+ msgstr "-mstack-guard bringt -mstack-size mit sich"
+
+-#: config/s390/s390.c:6640
++#: config/s390/s390.c:6679
+ #, gcc-internal-format
+ msgid "total size of local variables exceeds architecture limit"
+ msgstr "Gesamtgröße der lokalen Variablen übersteigt Grenze der Architektur"
+
+-#: config/s390/s390.c:7298
++#: config/s390/s390.c:7349
+ #, gcc-internal-format
+ msgid "frame size of function %qs is "
+ msgstr "Rahmengröße der Funktion %qs ist "
+
+-#: config/s390/s390.c:7328
++#: config/s390/s390.c:7379
+ #, gcc-internal-format
+ msgid "frame size of %qs is "
+ msgstr "Rahmengröße von %qs ist "
+
+-#: config/s390/s390.c:7332
++#: config/s390/s390.c:7383
+ #, gcc-internal-format
+ msgid "%qs uses dynamic stack allocation"
+ msgstr "%qs verwendet dynamische Stackanforderung"
+@@ -26227,44 +26198,44 @@
+ msgid "-fPIC and -G are incompatible"
+ msgstr "-fPIC und -G sind unverträglich"
+
+-#: config/sh/sh.c:6894
++#: config/sh/sh.c:6897
+ #, gcc-internal-format
+ msgid "__builtin_saveregs not supported by this subtarget"
+ msgstr "__builtin_saveregs wird für dieses Teilziel nicht unterstützt"
+
+-#: config/sh/sh.c:7904
++#: config/sh/sh.c:7907
+ #, gcc-internal-format
+ msgid "%qs attribute only applies to interrupt functions"
+ msgstr "Attribut %qs bezieht sich nur auf Unterbrechungsfunktionen"
+
+-#: config/sh/sh.c:7990
++#: config/sh/sh.c:7993
+ #, gcc-internal-format
+ msgid "attribute interrupt_handler is not compatible with -m5-compact"
+ msgstr "Attribut interrupt_handler ist mit -m5-compact unverträglich"
+
+ #. The argument must be a constant string.
+-#: config/sh/sh.c:8012
++#: config/sh/sh.c:8015
+ #, gcc-internal-format
+ msgid "%qs attribute argument not a string constant"
+ msgstr "Attributargument %qs ist keine Zeichenkettenkonstante"
+
+ #. The argument must be a constant integer.
+-#: config/sh/sh.c:8037
++#: config/sh/sh.c:8040
+ #, gcc-internal-format
+ msgid "%qs attribute argument not an integer constant"
+ msgstr "Attributargument %qs ist keine Ganzzahlkonstante"
+
+-#: config/sh/sh.c:10085
++#: config/sh/sh.c:10084
+ #, gcc-internal-format
+ msgid "r0 needs to be available as a call-clobbered register"
+ msgstr "r0 muss als aufrufzerstörtes Register verfügbar sein"
+
+-#: config/sh/sh.c:10106
++#: config/sh/sh.c:10105
+ #, gcc-internal-format
+ msgid "Need a second call-clobbered general purpose register"
+ msgstr "Ein zweites aufrufzerstörtes Mehrzweckregister wird benötigt"
+
+-#: config/sh/sh.c:10114
++#: config/sh/sh.c:10113
+ #, gcc-internal-format
+ msgid "Need a call-clobbered target register"
+ msgstr "Aufrufzerstörtes Zielregister erforderlich"
+@@ -26294,7 +26265,7 @@
+ msgid "%s %q+D %s after being referenced with dllimport linkage"
+ msgstr "%s %q+D %s nach Referenzierung mit dllimport-Bindung"
+
+-#: config/sh/symbian.c:891 cp/tree.c:2737
++#: config/sh/symbian.c:891 cp/tree.c:2753
+ #, gcc-internal-format
+ msgid "lang_* check: failed in %s, at %s:%d"
+ msgstr "Überprüfung von lang_*: in %s, bei %s:%d gescheitert"
+@@ -26337,17 +26308,17 @@
+ msgid "-mrelax is only supported for RTP PIC"
+ msgstr "-mrelax wird nur für RTP PIC unterstützt"
+
+-#: config/sparc/sparc.c:698
++#: config/sparc/sparc.c:701
+ #, gcc-internal-format
+ msgid "%s is not supported by this configuration"
+ msgstr "%s wird von dieser Konfiguration nicht unterstützt"
+
+-#: config/sparc/sparc.c:705
++#: config/sparc/sparc.c:708
+ #, gcc-internal-format
+ msgid "-mlong-double-64 not allowed with -m64"
+ msgstr "-mlong-double-64 ist mit -m64 nicht erlaubt"
+
+-#: config/sparc/sparc.c:730
++#: config/sparc/sparc.c:733
+ #, gcc-internal-format
+ msgid "-mcmodel= is not supported on 32 bit systems"
+ msgstr "-mcmodel= wird auf 32-Bit-Systemen nicht unterstützt"
+@@ -26367,67 +26338,57 @@
+ msgid "parameter list does not match a valid signature for %s()"
+ msgstr "Parameterliste passt zu keiner gültigen Signatur für %s()"
+
+-#: config/spu/spu.c:337 config/spu/spu.c:348
++#: config/spu/spu.c:341 config/spu/spu.c:352
+ #, gcc-internal-format
+ msgid "Unknown architecture '%s'"
+ msgstr "Unbekannte Architektur »%s«"
+
+-#: config/spu/spu.c:3034
++#: config/spu/spu.c:3023
+ #, gcc-internal-format
+ msgid "`%s' attribute ignored"
+ msgstr "Attribut »%s« wird ignoriert"
+
+-#: config/spu/spu.c:5218
++#: config/spu/spu.c:5207
+ #, gcc-internal-format
+ msgid "%s expects an integer literal in the range [%d, %d]."
+ msgstr "%s erwartet ein Ganzzahlliteral im Bereich [%d, %d]."
+
+-#: config/spu/spu.c:5238
++#: config/spu/spu.c:5227
+ #, gcc-internal-format
+ msgid "%s expects an integer literal in the range [%d, %d]. ("
+ msgstr "%s erwartet ein Ganzzahlliteral im Bereich [%d, %d]. ("
+
+-#: config/spu/spu.c:5268
++#: config/spu/spu.c:5257
+ #, gcc-internal-format
+ msgid "%d least significant bits of %s are ignored."
+ msgstr "%d niederwertigste Bits von %s werden ignoriert."
+
+-#: config/stormy16/stormy16.c:499
++#: config/stormy16/stormy16.c:1080
+ #, gcc-internal-format
+-msgid "constant halfword load operand out of range"
+-msgstr "Konstanter Halbwort-Lade-Operand außerhalb des Wertebereiches"
+-
+-#: config/stormy16/stormy16.c:509
+-#, gcc-internal-format
+-msgid "constant arithmetic operand out of range"
+-msgstr "Konstanter arithmetischer Operand außerhalb des Wertebereiches"
+-
+-#: config/stormy16/stormy16.c:1108
+-#, gcc-internal-format
+ msgid "local variable memory requirements exceed capacity"
+ msgstr "Lokale Variablenspeicheranforderungen überschreiten Kapazität"
+
+-#: config/stormy16/stormy16.c:1274
++#: config/stormy16/stormy16.c:1246
+ #, gcc-internal-format
+ msgid "function_profiler support"
+ msgstr "function_profiler-Unterstützung"
+
+-#: config/stormy16/stormy16.c:1363
++#: config/stormy16/stormy16.c:1335
+ #, gcc-internal-format
+ msgid "cannot use va_start in interrupt function"
+ msgstr "va_start in Unterbrechungsfunktion kann nicht verwendet werden"
+
+-#: config/stormy16/stormy16.c:1906
++#: config/stormy16/stormy16.c:1879
+ #, gcc-internal-format
+ msgid "switch statement of size %lu entries too large"
+ msgstr "switch-Anweisung der Größe %lu Einträge zu groß"
+
+-#: config/stormy16/stormy16.c:2274
++#: config/stormy16/stormy16.c:2247
+ #, gcc-internal-format
+ msgid "%<__BELOW100__%> attribute only applies to variables"
+ msgstr "Attribut %<__BELOW100__%> bezieht sich nur auf Variablen"
+
+-#: config/stormy16/stormy16.c:2281
++#: config/stormy16/stormy16.c:2254
+ #, gcc-internal-format
+ msgid "__BELOW100__ attribute not allowed with auto storage class"
+ msgstr "Attribut __BELOW100__ nicht mit Speicherklasse »auto« erlaubt"
+@@ -26552,345 +26513,345 @@
+ msgid "too much stack space to prepare: %d"
+ msgstr "Zu viel Stapelspeicher vorzubereiten: %d"
+
+-#: config/xtensa/xtensa.c:1861
++#: config/xtensa/xtensa.c:1865
+ #, gcc-internal-format
+ msgid "boolean registers required for the floating-point option"
+ msgstr "Boolsche Register für die Gleitkommaoption benötigt"
+
+-#: config/xtensa/xtensa.c:1896
++#: config/xtensa/xtensa.c:1900
+ #, gcc-internal-format
+ msgid "-f%s is not supported with CONST16 instructions"
+ msgstr "-f%s wird mit CONST16-Befehlen nicht unterstützt"
+
+-#: config/xtensa/xtensa.c:1901
++#: config/xtensa/xtensa.c:1905
+ #, gcc-internal-format
+ msgid "PIC is required but not supported with CONST16 instructions"
+ msgstr "PIC wird benötigt, wird aber nicht mit CONST16-Befehlen unterstützt"
+
+-#: config/xtensa/xtensa.c:2745 config/xtensa/xtensa.c:2765
++#: config/xtensa/xtensa.c:2770 config/xtensa/xtensa.c:2790
+ #, gcc-internal-format
+ msgid "bad builtin code"
+ msgstr "Falscher eingebauter Code"
+
+-#: config/xtensa/xtensa.c:2873
++#: config/xtensa/xtensa.c:2898
+ #, gcc-internal-format
+ msgid "only uninitialized variables can be placed in a .bss section"
+ msgstr "Nur uninitialisierte Variablen können in einem .bss-Abschnitt platziert werden"
+
+-#: ada/misc.c:261
++#: ada/misc.c:260
+ #, gcc-internal-format
+ msgid "missing argument to \"-%s\""
+ msgstr "fehlendes Argument für »-%s«"
+
+-#: ada/misc.c:311
++#: ada/misc.c:310
+ #, gcc-internal-format
+ msgid "%<-gnat%> misspelled as %<-gant%>"
+ msgstr "%<-gnat%> falsch buchstabiert als %<-gant%>"
+
+-#: cp/call.c:2462
++#: cp/call.c:2448
+ #, gcc-internal-format
+ msgid "%s %D(%T, %T, %T) <built-in>"
+ msgstr "%s %D(%T, %T, %T) <eingebaut>"
+
+-#: cp/call.c:2467
++#: cp/call.c:2453
+ #, gcc-internal-format
+ msgid "%s %D(%T, %T) <built-in>"
+ msgstr "%s %D(%T, %T) <eingebaut>"
+
+-#: cp/call.c:2471
++#: cp/call.c:2457
+ #, gcc-internal-format
+ msgid "%s %D(%T) <built-in>"
+ msgstr "%s %D(%T) <eingebaut>"
+
+-#: cp/call.c:2475
++#: cp/call.c:2461
+ #, gcc-internal-format
+ msgid "%s %T <conversion>"
+ msgstr "%s %T <Umformung>"
+
+-#: cp/call.c:2477
++#: cp/call.c:2463
+ #, gcc-internal-format
+ msgid "%s %+#D <near match>"
+ msgstr "%s %+#D <nahe Ãœbereinstimmung>"
+
+-#: cp/call.c:2479 cp/pt.c:1397
++#: cp/call.c:2465 cp/pt.c:1405
+ #, gcc-internal-format
+ msgid "%s %+#D"
+ msgstr "%s %+#D"
+
+-#: cp/call.c:2720
++#: cp/call.c:2706
+ #, gcc-internal-format
+ msgid "conversion from %qT to %qT is ambiguous"
+ msgstr "Umformung von %qT in %qT ist nicht eindeutig"
+
+-#: cp/call.c:2873 cp/call.c:2891 cp/call.c:2954
++#: cp/call.c:2859 cp/call.c:2877 cp/call.c:2940
+ #, gcc-internal-format
+ msgid "no matching function for call to %<%D(%A)%>"
+ msgstr "keine passende Funktion für Aufruf von %<%D(%A)%>"
+
+-#: cp/call.c:2894 cp/call.c:2957
++#: cp/call.c:2880 cp/call.c:2943
+ #, gcc-internal-format
+ msgid "call of overloaded %<%D(%A)%> is ambiguous"
+ msgstr "Aufruf des überladenen %<%D(%A)%> ist nicht eindeutig"
+
+ #. It's no good looking for an overloaded operator() on a
+ #. pointer-to-member-function.
+-#: cp/call.c:3029
++#: cp/call.c:3015
+ #, gcc-internal-format
+ msgid "pointer-to-member function %E cannot be called without an object; consider using .* or ->*"
+ msgstr "Zeiger auf Elementfunktion %E kann nicht ohne Objekt aufgerufen werden; Beispiele: .* oder ->*"
+
+-#: cp/call.c:3103
++#: cp/call.c:3089
+ #, gcc-internal-format
+ msgid "no match for call to %<(%T) (%A)%>"
+ msgstr "keine Übereinstimmung für Aufruf von %<(%T) (%A)%>"
+
+-#: cp/call.c:3112
++#: cp/call.c:3098
+ #, gcc-internal-format
+ msgid "call of %<(%T) (%A)%> is ambiguous"
+ msgstr "Aufruf von %<(%T) (%A)%> ist nicht eindeutig"
+
+-#: cp/call.c:3150
++#: cp/call.c:3136
+ #, gcc-internal-format
+ msgid "%s for ternary %<operator?:%> in %<%E ? %E : %E%>"
+ msgstr "%s für ternären %<operator?:%> in %<%E ? %E : %E%>"
+
+-#: cp/call.c:3156
++#: cp/call.c:3142
+ #, gcc-internal-format
+ msgid "%s for %<operator%s%> in %<%E%s%>"
+ msgstr "%s für %<operator%s%> in %<%E%s%>"
+
+-#: cp/call.c:3160
++#: cp/call.c:3146
+ #, gcc-internal-format
+ msgid "%s for %<operator[]%> in %<%E[%E]%>"
+ msgstr "%s für %<operator[]%> in %<%E[%E]%>"
+
+-#: cp/call.c:3165
++#: cp/call.c:3151
+ #, gcc-internal-format
+ msgid "%s for %qs in %<%s %E%>"
+ msgstr "%s für %qs in %<%s %E%>"
+
+-#: cp/call.c:3170
++#: cp/call.c:3156
+ #, gcc-internal-format
+ msgid "%s for %<operator%s%> in %<%E %s %E%>"
+ msgstr "%s für %<operator%s%> in %<%E %s %E%>"
+
+-#: cp/call.c:3173
++#: cp/call.c:3159
+ #, gcc-internal-format
+ msgid "%s for %<operator%s%> in %<%s%E%>"
+ msgstr "%s für %<operator%s%> in %<%s%E%>"
+
+-#: cp/call.c:3265
++#: cp/call.c:3251
+ #, gcc-internal-format
+ msgid "ISO C++ forbids omitting the middle term of a ?: expression"
+ msgstr "ISO-C++ verbietet das Auslassen des mittleren Terms eines »?:«-Ausdruckes"
+
+-#: cp/call.c:3343
++#: cp/call.c:3329
+ #, gcc-internal-format
+ msgid "second operand to the conditional operator is of type %<void%>, but the third operand is neither a throw-expression nor of type %<void%>"
+ msgstr "zweiter Operand für Bedingungsoperator ist vom Typ %<void%>, aber der dritte Operand ist weder ein Throw-Ausdruck noch vom Typ %<void%>"
+
+-#: cp/call.c:3348
++#: cp/call.c:3334
+ #, gcc-internal-format
+ msgid "third operand to the conditional operator is of type %<void%>, but the second operand is neither a throw-expression nor of type %<void%>"
+ msgstr "dritter Operand für Bedingungsoperator ist vom Typ %<void%>, aber der zweite Operand ist weder ein Throw-Ausdruck noch vom Typ %<void%>"
+
+-#: cp/call.c:3389 cp/call.c:3609
++#: cp/call.c:3375 cp/call.c:3595
+ #, gcc-internal-format
+ msgid "operands to ?: have different types %qT and %qT"
+ msgstr "Operanden für ?: haben verschiedene Typen: %qT und %qT"
+
+-#: cp/call.c:3563
++#: cp/call.c:3549
+ #, gcc-internal-format
+ msgid "enumeral mismatch in conditional expression: %qT vs %qT"
+ msgstr "Aufzählungsfehler in bedingtem Ausdruck: %qT vs. %qT"
+
+-#: cp/call.c:3570
++#: cp/call.c:3556
+ #, gcc-internal-format
+ msgid "enumeral and non-enumeral type in conditional expression"
+ msgstr "Aufzählungs- und Nicht-Aufzählungstyp in bedingtem Ausdruck"
+
+-#: cp/call.c:3874
++#: cp/call.c:3860
+ #, gcc-internal-format
+ msgid "no %<%D(int)%> declared for postfix %qs, trying prefix operator instead"
+ msgstr "kein %<%D(int)%> für Suffix %qs deklariert, stattdessen wird Präfixoperator versucht"
+
+-#: cp/call.c:3947
++#: cp/call.c:3936
+ #, gcc-internal-format
+ msgid "comparison between %q#T and %q#T"
+ msgstr "Vergleich zwischen %q#T und %q#T"
+
+-#: cp/call.c:4229
++#: cp/call.c:4218
+ #, gcc-internal-format
+ msgid "no corresponding deallocation function for `%D'"
+ msgstr "keine passende Freigabefunktion für »%D«"
+
+-#: cp/call.c:4234
++#: cp/call.c:4223
+ #, gcc-internal-format
+ msgid "no suitable %<operator %s%> for %qT"
+ msgstr "kein geeignetes %<operator %s%> für %qT"
+
+-#: cp/call.c:4252
++#: cp/call.c:4241
+ #, gcc-internal-format
+ msgid "%q+#D is private"
+ msgstr "%q+#D ist privat"
+
+-#: cp/call.c:4254
++#: cp/call.c:4243
+ #, gcc-internal-format
+ msgid "%q+#D is protected"
+ msgstr "%q+#D ist geschützt"
+
+-#: cp/call.c:4256
++#: cp/call.c:4245
+ #, gcc-internal-format
+ msgid "%q+#D is inaccessible"
+ msgstr "%q+#D ist unzugänglich"
+
+-#: cp/call.c:4257
++#: cp/call.c:4246
+ #, gcc-internal-format
+ msgid "within this context"
+ msgstr "in diesem Zusammenhang"
+
+-#: cp/call.c:4303
++#: cp/call.c:4292
+ #, gcc-internal-format
+ msgid "passing NULL to non-pointer argument %P of %qD"
+ msgstr "Ãœbergabe von NULL an Nicht-Zeiger-Argument %P von %qD"
+
+-#: cp/call.c:4306
++#: cp/call.c:4295
+ #, gcc-internal-format
+ msgid "converting to non-pointer type %qT from NULL"
+ msgstr "Konvertierung in Nicht-Zeiger-Typ %qT von NULL"
+
+-#: cp/call.c:4312
++#: cp/call.c:4301
+ #, gcc-internal-format
+ msgid "converting %<false%> to pointer type for argument %P of %qD"
+ msgstr "%<false%> wird für Argument %P von %qD in Zeigertyp umgewandelt"
+
+-#: cp/call.c:4356 cp/cvt.c:217
++#: cp/call.c:4346 cp/cvt.c:217
+ #, gcc-internal-format
+ msgid "invalid conversion from %qT to %qT"
+ msgstr "ungültige Umwandlung von %qT in %qT"
+
+-#: cp/call.c:4358
++#: cp/call.c:4348
+ #, gcc-internal-format
+ msgid " initializing argument %P of %qD"
+ msgstr " Argument %P von %qD wird initialisiert"
+
+-#: cp/call.c:4491
++#: cp/call.c:4498
+ #, gcc-internal-format
+ msgid "cannot bind bitfield %qE to %qT"
+ msgstr "das Bitfeld %qE kann nicht mit %qT verbunden werden"
+
+-#: cp/call.c:4494 cp/call.c:4510
++#: cp/call.c:4501 cp/call.c:4517
+ #, gcc-internal-format
+ msgid "cannot bind packed field %qE to %qT"
+ msgstr "das gepackte Feld %qE kann nicht mit %qT verbunden werden"
+
+-#: cp/call.c:4497
++#: cp/call.c:4504
+ #, gcc-internal-format
+ msgid "cannot bind rvalue %qE to %qT"
+ msgstr "der R-Wert %qE kann nicht mit %qT verbunden werden"
+
+-#: cp/call.c:4611
++#: cp/call.c:4620
+ #, gcc-internal-format
+ msgid "cannot pass objects of non-POD type %q#T through %<...%>; call will abort at runtime"
+ msgstr "Objekte des Nicht-POD-Typs %q#T können nicht über %<...%> übergeben werden; Aufruf wird zur Laufzeit abbrechen"
+
+ #. Undefined behavior [expr.call] 5.2.2/7.
+-#: cp/call.c:4639
++#: cp/call.c:4648
+ #, gcc-internal-format
+ msgid "cannot receive objects of non-POD type %q#T through %<...%>; call will abort at runtime"
+ msgstr "Objekte des Nicht-POD-Typs %q#T können nicht über %<...%> empfangen werden; Aufruf wird zur Laufzeit abbrechen"
+
+-#: cp/call.c:4687
++#: cp/call.c:4696
+ #, gcc-internal-format
+ msgid "the default argument for parameter %d of %qD has not yet been parsed"
+ msgstr "das Standardargument für den Parameter %d von %qD wurde noch nicht gelesen"
+
+-#: cp/call.c:4697
++#: cp/call.c:4706
+ #, gcc-internal-format
+ msgid "recursive evaluation of default argument for %q#D"
+ msgstr "rekursive Auswertung des Standardarguments für %q#D"
+
+-#: cp/call.c:4802
++#: cp/call.c:4811
+ #, gcc-internal-format
+ msgid "argument of function call might be a candidate for a format attribute"
+ msgstr "Argument des Funktionsaufrufs könnte Kandidat für Formatattribut sein"
+
+-#: cp/call.c:4950
++#: cp/call.c:4959
+ #, gcc-internal-format
+ msgid "passing %qT as %<this%> argument of %q#D discards qualifiers"
+ msgstr "Die Ãœbergabe von %qT als %<this%>-Argument von %q#D streicht Qualifizierer"
+
+-#: cp/call.c:4969
++#: cp/call.c:4978
+ #, gcc-internal-format
+ msgid "%qT is not an accessible base of %qT"
+ msgstr "%qT ist keine erreichbare Basis von %qT"
+
+-#: cp/call.c:5229
++#: cp/call.c:5238
+ #, gcc-internal-format
+ msgid "could not find class$ field in java interface type %qT"
+ msgstr "class$-Feld konnte nicht im Java-Schnittstellentyp %qT gefunden werden"
+
+-#: cp/call.c:5470
++#: cp/call.c:5479
+ #, gcc-internal-format
+ msgid "call to non-function %qD"
+ msgstr "Aufruf der Nicht-Funktion %qD"
+
+-#: cp/call.c:5595
++#: cp/call.c:5604
+ #, gcc-internal-format
+ msgid "no matching function for call to %<%T::%s(%A)%#V%>"
+ msgstr "keine passende Funktion für Aufruf von %<%T::%s(%A)%#V%>"
+
+-#: cp/call.c:5613
++#: cp/call.c:5622
+ #, gcc-internal-format
+ msgid "call of overloaded %<%s(%A)%> is ambiguous"
+ msgstr "Aufruf des überladenen %<%s(%A)%> ist mehrdeutig"
+
+-#: cp/call.c:5639
++#: cp/call.c:5648
+ #, gcc-internal-format
+ msgid "cannot call member function %qD without object"
+ msgstr "Elementfunktion %qD kann nicht ohne Objekt aufgerufen werden"
+
+-#: cp/call.c:6283
++#: cp/call.c:6307
+ #, gcc-internal-format
+ msgid "passing %qT chooses %qT over %qT"
+ msgstr "Übergabe von %qT wählt %qT statt %qT"
+
+-#: cp/call.c:6285 cp/name-lookup.c:4320 cp/name-lookup.c:4753
++#: cp/call.c:6309 cp/name-lookup.c:4322 cp/name-lookup.c:4757
+ #, gcc-internal-format
+ msgid " in call to %qD"
+ msgstr " in Aufruf von %qD"
+
+-#: cp/call.c:6342
++#: cp/call.c:6366
+ #, gcc-internal-format
+ msgid "choosing %qD over %qD"
+ msgstr "Wahl von %qD statt %qD"
+
+-#: cp/call.c:6343
++#: cp/call.c:6367
+ #, gcc-internal-format
+ msgid " for conversion from %qT to %qT"
+ msgstr " für Umwandlung von %qT in %qT"
+
+-#: cp/call.c:6345
++#: cp/call.c:6369
+ #, gcc-internal-format
+ msgid " because conversion sequence for the argument is better"
+ msgstr " denn die Umwandlungsfolge für das Argument ist besser"
+
+-#: cp/call.c:6459
++#: cp/call.c:6483
+ #, 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 "ISO C++ besagt, dass diese mehrdeutig sind, auch wenn die schlechteste Umwandlung für das erste besser ist als die schlechteste Umwandlung für das zweite:"
+
+-#: cp/call.c:6603
++#: cp/call.c:6627
+ #, gcc-internal-format
+ msgid "could not convert %qE to %qT"
+ msgstr "%qE konnte nicht nach %qT konvertiert werden"
+
+-#: cp/call.c:6737
++#: cp/call.c:6761
+ #, gcc-internal-format
+ msgid "invalid initialization of non-const reference of type %qT from a temporary of type %qT"
+ msgstr "ungültige Initialisierung einer nicht-konstanten Referenz des Typs %qT von temporärem Wert des Typs %qT"
+
+-#: cp/call.c:6741
++#: cp/call.c:6765
+ #, gcc-internal-format
+ msgid "invalid initialization of reference of type %qT from expression of type %qT"
+ msgstr "ungültige Initialisierung einer Referenz des Typs %qT von Ausdruck des Typs %qT"
+@@ -26900,343 +26861,343 @@
+ msgid "cannot convert from base %qT to derived type %qT via virtual base %qT"
+ msgstr "Es kann nicht von Basis %qT in abgeleiteten Typ %qT über virtuelle Basis %qT gewandelt werden"
+
+-#: cp/class.c:961
++#: cp/class.c:971
+ #, gcc-internal-format
+ msgid "Java class %qT cannot have a destructor"
+ msgstr "Java-Klasse %qT kann keinen Destruktor haben"
+
+-#: cp/class.c:963
++#: cp/class.c:973
+ #, gcc-internal-format
+ msgid "Java class %qT cannot have an implicit non-trivial destructor"
+ msgstr "Java-Klasse %qT kann keinen impliziten nicht-trivialen Destruktor haben"
+
+-#: cp/class.c:1062
++#: cp/class.c:1074
+ #, gcc-internal-format
+ msgid "repeated using declaration %q+D"
+ msgstr "Wiederholte using-Deklaration %q+D"
+
+-#: cp/class.c:1064
++#: cp/class.c:1076
+ #, gcc-internal-format
+ msgid "using declaration %q+D conflicts with a previous using declaration"
+ msgstr "Using-Deklaration %q+D in Konflikt mit vorheriger using-Deklaration"
+
+-#: cp/class.c:1069
++#: cp/class.c:1081
+ #, gcc-internal-format
+ msgid "%q+#D cannot be overloaded"
+ msgstr "%q+#D kann nicht überladen werden"
+
+-#: cp/class.c:1070
++#: cp/class.c:1082
+ #, gcc-internal-format
+ msgid "with %q+#D"
+ msgstr "mit %q+#D"
+
+-#: cp/class.c:1137
++#: cp/class.c:1149
+ #, gcc-internal-format
+ msgid "conflicting access specifications for method %q+D, ignored"
+ msgstr "Zugriffsangaben für Methode %q+D stehen in Konflikt, ignoriert"
+
+-#: cp/class.c:1140
++#: cp/class.c:1152
+ #, gcc-internal-format
+ msgid "conflicting access specifications for field %qE, ignored"
+ msgstr "Zugriffsangaben für Feld %qE stehen in Konflikt, ignoriert"
+
+-#: cp/class.c:1201 cp/class.c:1209
++#: cp/class.c:1213 cp/class.c:1221
+ #, gcc-internal-format
+ msgid "%q+D invalid in %q#T"
+ msgstr "%q+D ungültig in %q#T"
+
+-#: cp/class.c:1202
++#: cp/class.c:1214
+ #, gcc-internal-format
+ msgid " because of local method %q+#D with same name"
+ msgstr " wegen lokaler Methode %q+#D mit gleichem Namen"
+
+-#: cp/class.c:1210
++#: cp/class.c:1222
+ #, gcc-internal-format
+ msgid " because of local member %q+#D with same name"
+ msgstr " wegen lokalem Element %q+#D mit gleichem Namen"
+
+-#: cp/class.c:1253
++#: cp/class.c:1265
+ #, gcc-internal-format
+ msgid "base class %q#T has a non-virtual destructor"
+ msgstr "Basisklasse %q#T hat einen nicht-virtuellen Destruktor"
+
+-#: cp/class.c:1570
++#: cp/class.c:1582
+ #, gcc-internal-format
+ msgid "all member functions in class %qT are private"
+ msgstr "alle Elementfunktionen in Klasse %qT sind privat"
+
+-#: cp/class.c:1582
++#: cp/class.c:1594
+ #, gcc-internal-format
+ msgid "%q#T only defines a private destructor and has no friends"
+ msgstr "%q#T definiert nur einen privaten Destruktor und hat keine »friends«"
+
+-#: cp/class.c:1626
++#: cp/class.c:1639
+ #, gcc-internal-format
+ msgid "%q#T only defines private constructors and has no friends"
+ msgstr "%q#T definiert nur private Konstruktoren und hat keine »friends«"
+
+-#: cp/class.c:2019
++#: cp/class.c:2032
+ #, gcc-internal-format
+ msgid "no unique final overrider for %qD in %qT"
+ msgstr "%qD wurde nicht eindeutig und endgültig in %qT überschrieben"
+
+ #. Here we know it is a hider, and no overrider exists.
+-#: cp/class.c:2439
++#: cp/class.c:2452
+ #, gcc-internal-format
+ msgid "%q+D was hidden"
+ msgstr "%q+D war versteckt"
+
+-#: cp/class.c:2440
++#: cp/class.c:2453
+ #, gcc-internal-format
+ msgid " by %q+D"
+ msgstr " von %q+D"
+
+-#: cp/class.c:2483 cp/decl2.c:1135
++#: cp/class.c:2496 cp/decl2.c:1178
+ #, gcc-internal-format
+ msgid "%q+#D invalid; an anonymous union can only have non-static data members"
+ msgstr "%q+#D ungültig; eine anonyme Union kann nur nicht-statische Datenelemente haben"
+
+-#: cp/class.c:2486
++#: cp/class.c:2499
+ #, gcc-internal-format
+ msgid "%q+#D invalid; an anonymous struct can only have non-static data members"
+ msgstr "%q+#D ungültig; eine anonyme struct kann nur nicht-statische Datenelemente haben"
+
+-#: cp/class.c:2494 cp/decl2.c:1141
++#: cp/class.c:2507 cp/decl2.c:1184
+ #, gcc-internal-format
+ msgid "private member %q+#D in anonymous union"
+ msgstr "privates Element %q+#D in anonymer Union"
+
+-#: cp/class.c:2496
++#: cp/class.c:2509
+ #, gcc-internal-format
+ msgid "private member %q+#D in anonymous struct"
+ msgstr "privates Element %q+#D in anonymer struct"
+
+-#: cp/class.c:2501 cp/decl2.c:1143
++#: cp/class.c:2514 cp/decl2.c:1186
+ #, gcc-internal-format
+ msgid "protected member %q+#D in anonymous union"
+ msgstr "geschütztes Element %q+#D in anonymer Union"
+
+-#: cp/class.c:2503
++#: cp/class.c:2516
+ #, gcc-internal-format
+ msgid "protected member %q+#D in anonymous struct"
+ msgstr "geschütztes Element %q+#D in anonymer struct"
+
+-#: cp/class.c:2677
++#: cp/class.c:2695
+ #, gcc-internal-format
+ msgid "bit-field %q+#D with non-integral type"
+ msgstr "Bit-Feld %q+#D mit Nicht-Ganzzahl-Typ"
+
+-#: cp/class.c:2690
++#: cp/class.c:2708
+ #, gcc-internal-format
+ msgid "bit-field %q+D width not an integer constant"
+ msgstr "Breite des Bitfeldes %q+D ist keine Ganzzahlkonstante"
+
+-#: cp/class.c:2695
++#: cp/class.c:2713
+ #, gcc-internal-format
+ msgid "negative width in bit-field %q+D"
+ msgstr "negative Breite in Bitfeld %q+D"
+
+-#: cp/class.c:2700
++#: cp/class.c:2718
+ #, gcc-internal-format
+ msgid "zero width for bit-field %q+D"
+ msgstr "Breite Null für Bitfeld %q+D"
+
+-#: cp/class.c:2706
++#: cp/class.c:2724
+ #, gcc-internal-format
+ msgid "width of %q+D exceeds its type"
+ msgstr "Breite von %q+D übersteigt seinen Typen"
+
+-#: cp/class.c:2715
++#: cp/class.c:2733
+ #, gcc-internal-format
+ msgid "%q+D is too small to hold all values of %q#T"
+ msgstr "%q+D ist zu klein um alle Werte von %q#T aufzunehmen"
+
+-#: cp/class.c:2772
++#: cp/class.c:2790
+ #, gcc-internal-format
+ msgid "member %q+#D with constructor not allowed in union"
+ msgstr "Element %q+#D mit Konstruktor nicht erlaubt in Union"
+
+-#: cp/class.c:2775
++#: cp/class.c:2793
+ #, gcc-internal-format
+ msgid "member %q+#D with destructor not allowed in union"
+ msgstr "Element %q+#D mit Destruktor nicht erlaubt in Union"
+
+-#: cp/class.c:2777
++#: cp/class.c:2795
+ #, gcc-internal-format
+ msgid "member %q+#D with copy assignment operator not allowed in union"
+ msgstr "Element %q+#D mit Copy-Zuweisungsoperator ist nicht erlaubt in Union"
+
+-#: cp/class.c:2801
++#: cp/class.c:2819
+ #, gcc-internal-format
+ msgid "multiple fields in union %qT initialized"
+ msgstr "in Union %qT werden mehrere Felder initialisiert"
+
+-#: cp/class.c:2890
++#: cp/class.c:2908
+ #, gcc-internal-format
+ msgid "%q+D may not be static because it is a member of a union"
+ msgstr "%q+D kann nicht static sein, da es ein Union-Element ist"
+
+-#: cp/class.c:2895
++#: cp/class.c:2913
+ #, gcc-internal-format
+ msgid "%q+D may not have reference type %qT because it is a member of a union"
+ msgstr "%q+D darf keinen Referenztyp %qT haben, da es ein Element einer Union ist"
+
+-#: cp/class.c:2906
++#: cp/class.c:2924
+ #, gcc-internal-format
+ msgid "field %q+D invalidly declared function type"
+ msgstr "Feld %q+D deklarierte ungültigerweise einen Funktionstypen"
+
+-#: cp/class.c:2912
++#: cp/class.c:2930
+ #, gcc-internal-format
+ msgid "field %q+D invalidly declared method type"
+ msgstr "Feld %q+D deklarierte ungültigerweise einen Methodentypen"
+
+-#: cp/class.c:2944
++#: cp/class.c:2968
+ #, gcc-internal-format
+-msgid "non-static reference %q+#D in class without a constructor"
+-msgstr "nicht-statische Referenz %q+#D in Klasse ohne Konstruktor"
+-
+-#: cp/class.c:2955
+-#, gcc-internal-format
+ msgid "ignoring packed attribute because of unpacked non-POD field %q+#D"
+ msgstr "»gepackt«-Attribut für ungepacktes nicht-POD-Feld %q+#D wird ignoriert"
+
+-#: cp/class.c:3022
++#: cp/class.c:3047
+ #, gcc-internal-format
+-msgid "non-static const member %q+#D in class without a constructor"
+-msgstr "nicht-statisches const-Element %q+#D in Klasse ohne einen Konstruktor"
+-
+-#: cp/class.c:3037
+-#, gcc-internal-format
+ msgid "field %q+#D with same name as class"
+ msgstr "Feld %q+#D mit gleichem Namen wie Klasse"
+
+-#: cp/class.c:3068
++#: cp/class.c:3078
+ #, gcc-internal-format
+ msgid "%q#T has pointer data members"
+ msgstr "%q#T hat Zeigertypen als Elemente"
+
+-#: cp/class.c:3073
++#: cp/class.c:3083
+ #, gcc-internal-format
+ msgid " but does not override %<%T(const %T&)%>"
+ msgstr " aber überschreibt nicht %<%T(const %T&)%>"
+
+-#: cp/class.c:3075
++#: cp/class.c:3085
+ #, gcc-internal-format
+ msgid " or %<operator=(const %T&)%>"
+ msgstr " oder %<operator=(const %T&)%>"
+
+-#: cp/class.c:3079
++#: cp/class.c:3089
+ #, gcc-internal-format
+ msgid " but does not override %<operator=(const %T&)%>"
+ msgstr " aber überschreibt nicht %<operator=(const %T&)%>"
+
+-#: cp/class.c:3540
++#: cp/class.c:3550
+ #, gcc-internal-format
+ msgid "offset of empty base %qT may not be ABI-compliant and maychange in a future version of GCC"
+ msgstr "Versatz der leeren Basis %qT könnte ABI-unverträglich sein und sich in zukünftigen GCC-Versionen ändern"
+
+-#: cp/class.c:3665
++#: cp/class.c:3675
+ #, gcc-internal-format
+ msgid "class %qT will be considered nearly empty in a future version of GCC"
+ msgstr "Klasse %qT wird in zukünftigen GCC-Versionen als annähernd leer betrachtet werden"
+
+-#: cp/class.c:3747
++#: cp/class.c:3757
+ #, gcc-internal-format
+ msgid "initializer specified for non-virtual method %q+D"
+ msgstr "Initialisierung für nicht-virtuelle Methode %q+D angegeben"
+
+-#: cp/class.c:4412
++#: cp/class.c:4228
+ #, gcc-internal-format
++msgid "non-static reference %q+#D in class without a constructor"
++msgstr "nicht-statische Referenz %q+#D in Klasse ohne Konstruktor"
++
++#: cp/class.c:4233
++#, gcc-internal-format
++msgid "non-static const member %q+#D in class without a constructor"
++msgstr "nicht-statisches const-Element %q+#D in Klasse ohne einen Konstruktor"
++
++#: cp/class.c:4488
++#, gcc-internal-format
+ msgid "offset of virtual base %qT is not ABI-compliant and may change in a future version of GCC"
+ msgstr "Versatz der virtuellen Basis %qT ist ABI-unverträglich und kann sich in zukünftigen GCC-Versionen ändern"
+
+-#: cp/class.c:4513
++#: cp/class.c:4589
+ #, gcc-internal-format
+ msgid "direct base %qT inaccessible in %qT due to ambiguity"
+ msgstr "direkte Basis %qT ist in %qT durch Mehrdeutigkeit unzugänglich"
+
+-#: cp/class.c:4525
++#: cp/class.c:4601
+ #, gcc-internal-format
+ msgid "virtual base %qT inaccessible in %qT due to ambiguity"
+ msgstr "virtuelle Basis %qT ist in %qT durch Mehrdeutigkeit unzugänglich"
+
+-#: cp/class.c:4704
++#: cp/class.c:4780
+ #, gcc-internal-format
+ msgid "size assigned to %qT may not be ABI-compliant and may change in a future version of GCC"
+ msgstr "%qT zugewiesene Größe könnte ABI-unverträglich sein und sich in zukünftigen GCC-Versionen ändern"
+
+-#: cp/class.c:4744
++#: cp/class.c:4820
+ #, gcc-internal-format
+ msgid "the offset of %qD may not be ABI-compliant and may change in a future version of GCC"
+ msgstr "der Versatz von %qD könnte ABI-unverträglich sein und sich in einer zukünftigen GCC-Version ändern"
+
+-#: cp/class.c:4772
++#: cp/class.c:4848
+ #, gcc-internal-format
+ msgid "offset of %q+D is not ABI-compliant and may change in a future version of GCC"
+ msgstr "Versatz von %q+D ist ABI-unverträglich und kann sich in zukünftigen GCC-Versionen ändern"
+
+-#: cp/class.c:4781
++#: cp/class.c:4857
+ #, gcc-internal-format
+ msgid "%q+D contains empty classes which may cause base classes to be placed at different locations in a future version of GCC"
+ msgstr "%q+D enthält leere Klassen, die in zukünftigen GCC-Versionen die Basisklassen an andere Orte verschieben können"
+
+-#: cp/class.c:4864
++#: cp/class.c:4944
+ #, gcc-internal-format
+ msgid "layout of classes derived from empty class %qT may change in a future version of GCC"
+ msgstr "die Anordnung der von der leeren Klasse %qT abgeleiteten Klassen könnte sich in zukünftigen GCC-Versionen ändern"
+
+-#: cp/class.c:5010 cp/parser.c:14608
++#: cp/class.c:5090 cp/parser.c:14688
+ #, gcc-internal-format
+ msgid "redefinition of %q#T"
+ msgstr "Redefinition von %q#T"
+
+-#: cp/class.c:5166
++#: cp/class.c:5246
+ #, gcc-internal-format
+ msgid "%q#T has virtual functions and accessible non-virtual destructor"
+ msgstr "%q#T hat virtuelle Funktionen und erreichbaren nicht-virtuellen Destruktor"
+
+-#: cp/class.c:5268
++#: cp/class.c:5348
+ #, gcc-internal-format
+ msgid "trying to finish struct, but kicked out due to previous parse errors"
+ msgstr "Lesen der struct konnte wegen Syntaxfehlern nicht beendet werden"
+
+-#: cp/class.c:5728
++#: cp/class.c:5808
+ #, gcc-internal-format
+ msgid "language string %<\"%E\"%> not recognized"
+ msgstr "Sprachen-Zeichenkette %<\"%E\"%> nicht erkannt"
+
+-#: cp/class.c:5817
++#: cp/class.c:5897
+ #, gcc-internal-format
+ msgid "cannot resolve overloaded function %qD based on conversion to type %qT"
+ msgstr "überladene Funktion %qD konnte nicht durch Umwandlung in Typ %qT aufgelöst werden"
+
+-#: cp/class.c:5946
++#: cp/class.c:6026
+ #, gcc-internal-format
+ msgid "no matches converting function %qD to type %q#T"
+ msgstr "bei der Umwandlung der Funktion %qD in den Typ %q#T gab es keine Ãœbereinstimmungen"
+
+-#: cp/class.c:5969
++#: cp/class.c:6049
+ #, gcc-internal-format
+ msgid "converting overloaded function %qD to type %q#T is ambiguous"
+ msgstr "Umwandung der überladenen Funktion %qD in den Typ %q#T ist mehrdeutig"
+
+-#: cp/class.c:5995
++#: cp/class.c:6075
+ #, gcc-internal-format
+ msgid "assuming pointer to member %qD"
+ msgstr "Zeiger auf Element %qD wird angenommen"
+
+-#: cp/class.c:5998
++#: cp/class.c:6078
+ #, gcc-internal-format
+ msgid "(a pointer to member can only be formed with %<&%E%>)"
+ msgstr "(ein Zeiger auf ein Element kann nur mit %<»&%E%> erzeugt werden)"
+
+-#: cp/class.c:6054 cp/class.c:6088
++#: cp/class.c:6134 cp/class.c:6168
+ #, gcc-internal-format
+ msgid "not enough type information"
+ msgstr "zu wenig Typinformationen"
+
+-#: cp/class.c:6071
++#: cp/class.c:6151
+ #, gcc-internal-format
+ msgid "argument of type %qT does not match %qT"
+ msgstr "Argument des Typs %qT passt nicht zu %qT"
+@@ -27246,12 +27207,12 @@
+ #. A name N used in a class S shall refer to the same declaration
+ #. in its context and when re-evaluated in the completed scope of
+ #. S.
+-#: cp/class.c:6358 cp/decl.c:1199 cp/name-lookup.c:526
++#: cp/class.c:6438 cp/decl.c:1200 cp/name-lookup.c:525
+ #, gcc-internal-format
+ msgid "declaration of %q#D"
+ msgstr "Deklaration von %q#D"
+
+-#: cp/class.c:6359
++#: cp/class.c:6439
+ #, gcc-internal-format
+ msgid "changes meaning of %qD from %q+#D"
+ msgstr "verändert die Bedeutung von %qD von %q+#D"
+@@ -27286,7 +27247,7 @@
+ msgid "conversion from %qT to %qT discards qualifiers"
+ msgstr "Umwandlung von %qT in %qT löscht Qualifizierer"
+
+-#: cp/cvt.c:470 cp/typeck.c:5257
++#: cp/cvt.c:470 cp/typeck.c:5265
+ #, gcc-internal-format
+ msgid "casting %qT to %qT does not dereference pointer"
+ msgstr "Umwandlung von %qT in %qT dereferenziert nicht den Zeiger"
+@@ -27296,190 +27257,190 @@
+ msgid "cannot convert type %qT to type %qT"
+ msgstr "Typ %qT kann nicht in den Typ %qT umgewandelt werden"
+
+-#: cp/cvt.c:656
++#: cp/cvt.c:649
+ #, gcc-internal-format
+ msgid "conversion from %q#T to %q#T"
+ msgstr "Umwandlung von %q#T nach %q#T"
+
+-#: cp/cvt.c:668 cp/cvt.c:688
++#: cp/cvt.c:661 cp/cvt.c:681
+ #, gcc-internal-format
+ msgid "%q#T used where a %qT was expected"
+ msgstr "%q#T verwendet, wo %qT erwartet wurde"
+
+-#: cp/cvt.c:703
++#: cp/cvt.c:696
+ #, gcc-internal-format
+ msgid "%q#T used where a floating point value was expected"
+ msgstr "%q#T verwendet, wo ein Gleitkommawert erwartet wurde"
+
+-#: cp/cvt.c:750
++#: cp/cvt.c:743
+ #, gcc-internal-format
+ msgid "conversion from %qT to non-scalar type %qT requested"
+ msgstr "Umwandlung von %qT in nicht-skalaren Typen %qT angefordert"
+
+-#: cp/cvt.c:784
++#: cp/cvt.c:777
+ #, gcc-internal-format
+ msgid "pseudo-destructor is not called"
+ msgstr "Pseudo-Destruktor wird nicht aufgerufen"
+
+-#: cp/cvt.c:844
++#: cp/cvt.c:837
+ #, gcc-internal-format
+ msgid "object of incomplete type %qT will not be accessed in %s"
+ msgstr "auf Objekt unvollständigen Typs %qT wird in %s nicht zugegriffen"
+
+-#: cp/cvt.c:849
++#: cp/cvt.c:842
+ #, gcc-internal-format
+ msgid "object of type %qT will not be accessed in %s"
+ msgstr "auf Objekt des Typs %qT wird in %s nicht zugegriffen"
+
+-#: cp/cvt.c:865
++#: cp/cvt.c:858
+ #, gcc-internal-format
+ msgid "object %qE of incomplete type %qT will not be accessed in %s"
+ msgstr "auf Objekt %qE des unvollständigen Typs %qT wird in %s nicht zugegriffen"
+
+ #. [over.over] enumerates the places where we can take the address
+ #. of an overloaded function, and this is not one of them.
+-#: cp/cvt.c:902
++#: cp/cvt.c:895
+ #, gcc-internal-format
+ msgid "%s cannot resolve address of overloaded function"
+ msgstr "%s kann die Adresse der überladenen Funktion nicht auflösen"
+
+ #. Only warn when there is no &.
+-#: cp/cvt.c:909
++#: cp/cvt.c:902
+ #, gcc-internal-format
+ msgid "%s is a reference, not call, to function %qE"
+ msgstr "%s ist eine Referenz, kein Aufruf, zur Funktion %qE"
+
+-#: cp/cvt.c:926
++#: cp/cvt.c:919
+ #, gcc-internal-format
+ msgid "%s has no effect"
+ msgstr "%s hat keinen Effekt"
+
+-#: cp/cvt.c:958
++#: cp/cvt.c:951
+ #, gcc-internal-format
+ msgid "value computed is not used"
+ msgstr "berechneter Wert ist unbenutzt"
+
+-#: cp/cvt.c:1068
++#: cp/cvt.c:1061
+ #, gcc-internal-format
+ msgid "converting NULL to non-pointer type"
+ msgstr "Umwandlung von NULL in Nicht-Zeiger-Typ"
+
+-#: cp/cvt.c:1174
++#: cp/cvt.c:1167
+ #, gcc-internal-format
+ msgid "ambiguous default type conversion from %qT"
+ msgstr "mehrdeutige Standard-Typumwandlung von %qT"
+
+-#: cp/cvt.c:1176
++#: cp/cvt.c:1169
+ #, gcc-internal-format
+ msgid " candidate conversions include %qD and %qD"
+ msgstr " in Frage kommende Umwandlungen beziehen %qD und %qD ein"
+
+-#: cp/decl.c:1062
++#: cp/decl.c:1063
+ #, gcc-internal-format
+ msgid "%qD was declared %<extern%> and later %<static%>"
+ msgstr "%qD wurde %<extern%> deklariert und später %<static%>"
+
+-#: cp/decl.c:1063 cp/decl.c:1618 objc/objc-act.c:2931 objc/objc-act.c:7503
++#: cp/decl.c:1064 cp/decl.c:1619 objc/objc-act.c:2931 objc/objc-act.c:7503
+ #, gcc-internal-format
+ msgid "previous declaration of %q+D"
+ msgstr "vorherige Deklaration von %q+D"
+
+-#: cp/decl.c:1096
++#: cp/decl.c:1097
+ #, gcc-internal-format
+ msgid "declaration of %qF throws different exceptions"
+ msgstr "Deklaration von %qF wirft andere Ausnahmen"
+
+-#: cp/decl.c:1097
++#: cp/decl.c:1098
+ #, gcc-internal-format
+ msgid "from previous declaration %q+F"
+ msgstr "von vorheriger Deklaration %q+F"
+
+-#: cp/decl.c:1153
++#: cp/decl.c:1154
+ #, gcc-internal-format
+ msgid "function %q+D redeclared as inline"
+ msgstr "Funktion %q+D als inline redeklariert"
+
+-#: cp/decl.c:1155
++#: cp/decl.c:1156
+ #, gcc-internal-format
+ msgid "previous declaration of %q+D with attribute noinline"
+ msgstr "vorherige Deklaration von %q+D mit Attribut noinline"
+
+-#: cp/decl.c:1162
++#: cp/decl.c:1163
+ #, gcc-internal-format
+ msgid "function %q+D redeclared with attribute noinline"
+ msgstr "Funktion %q+D mit Attribut noinline redeklariert"
+
+-#: cp/decl.c:1164
++#: cp/decl.c:1165
+ #, gcc-internal-format
+ msgid "previous declaration of %q+D was inline"
+ msgstr "vorherige Deklaration von %q+D war inline"
+
+-#: cp/decl.c:1186 cp/decl.c:1259
++#: cp/decl.c:1187 cp/decl.c:1260
+ #, gcc-internal-format
+ msgid "shadowing %s function %q#D"
+ msgstr "überschatten der %s Funktion %q#D"
+
+-#: cp/decl.c:1195
++#: cp/decl.c:1196
+ #, gcc-internal-format
+ msgid "library function %q#D redeclared as non-function %q#D"
+ msgstr "Bibliotheksfunktion %q#D als Nicht-Funktion %q#D redeklariert"
+
+-#: cp/decl.c:1200
++#: cp/decl.c:1201
+ #, gcc-internal-format
+ msgid "conflicts with built-in declaration %q#D"
+ msgstr "steht mit eingebauter Deklaration %q#D in Konflikt"
+
+-#: cp/decl.c:1254 cp/decl.c:1380 cp/decl.c:1396
++#: cp/decl.c:1255 cp/decl.c:1381 cp/decl.c:1397
+ #, gcc-internal-format
+ msgid "new declaration %q#D"
+ msgstr "neue Deklaration %q#D"
+
+-#: cp/decl.c:1255
++#: cp/decl.c:1256
+ #, gcc-internal-format
+ msgid "ambiguates built-in declaration %q#D"
+ msgstr "macht eingebaute Deklaration %q#D mehrdeutig"
+
+-#: cp/decl.c:1344
++#: cp/decl.c:1345
+ #, gcc-internal-format
+ msgid "%q#D redeclared as different kind of symbol"
+ msgstr "%q#D als andere Symbolart redeklariert"
+
+-#: cp/decl.c:1347
++#: cp/decl.c:1348
+ #, gcc-internal-format
+ msgid "previous declaration of %q+#D"
+ msgstr "vorherige Deklaration von %q+#D"
+
+-#: cp/decl.c:1366
++#: cp/decl.c:1367
+ #, gcc-internal-format
+ msgid "declaration of template %q#D"
+ msgstr "Deklaration des Templates %q#D"
+
+-#: cp/decl.c:1367 cp/name-lookup.c:527
++#: cp/decl.c:1368 cp/name-lookup.c:526
+ #, gcc-internal-format
+ msgid "conflicts with previous declaration %q+#D"
+ msgstr "steht mit vorheriger Deklaration %q+#D in Konflikt"
+
+-#: cp/decl.c:1381 cp/decl.c:1397
++#: cp/decl.c:1382 cp/decl.c:1398
+ #, gcc-internal-format
+ msgid "ambiguates old declaration %q+#D"
+ msgstr "macht alte Deklaration %q+#D mehrdeutig"
+
+-#: cp/decl.c:1389
++#: cp/decl.c:1390
+ #, gcc-internal-format
+ msgid "declaration of C function %q#D conflicts with"
+ msgstr "Deklaration der C-Funktion %q#D steht in Konflikt mit"
+
+-#: cp/decl.c:1391
++#: cp/decl.c:1392
+ #, gcc-internal-format
+ msgid "previous declaration %q+#D here"
+ msgstr "vorherige Deklaration %q+#D hier"
+
+-#: cp/decl.c:1405
++#: cp/decl.c:1406
+ #, gcc-internal-format
+ msgid "conflicting declaration %q#D"
+ msgstr "in Konflikt stehende Deklaration %q#D"
+
+-#: cp/decl.c:1406
++#: cp/decl.c:1407
+ #, gcc-internal-format
+ msgid "%q+D has a previous declaration as %q#D"
+ msgstr "%q+D hat eine vorherige Deklaration als %q#D"
+@@ -27491,63 +27452,63 @@
+ #. A namespace-name defined at global scope shall not be
+ #. declared as the name of any other entity in any global scope
+ #. of the program.
+-#: cp/decl.c:1458
++#: cp/decl.c:1459
+ #, gcc-internal-format
+ msgid "declaration of namespace %qD conflicts with"
+ msgstr "Deklaration von namespace %qD steht in Konflikt mit"
+
+-#: cp/decl.c:1459
++#: cp/decl.c:1460
+ #, gcc-internal-format
+ msgid "previous declaration of namespace %q+D here"
+ msgstr "vorherige Deklaration von namespace %q+D hier"
+
+-#: cp/decl.c:1470
++#: cp/decl.c:1471
+ #, gcc-internal-format
+ msgid "%q+#D previously defined here"
+ msgstr "%q+#D wurde vorher hier definiert"
+
+ #. Prototype decl follows defn w/o prototype.
+-#: cp/decl.c:1480
++#: cp/decl.c:1481
+ #, gcc-internal-format
+ msgid "prototype for %q+#D"
+ msgstr "Prototyp für %q+#D"
+
+-#: cp/decl.c:1481
++#: cp/decl.c:1482
+ #, gcc-internal-format
+ msgid "%Jfollows non-prototype definition here"
+ msgstr "%Jfolgt Nicht-Prototyp-Definition hier"
+
+-#: cp/decl.c:1521
++#: cp/decl.c:1522
+ #, gcc-internal-format
+ msgid "previous declaration of %q+#D with %qL linkage"
+ msgstr "vorherige Deklaration von %q+#D mit %qL-Bindung"
+
+-#: cp/decl.c:1523
++#: cp/decl.c:1524
+ #, gcc-internal-format
+ msgid "conflicts with new declaration with %qL linkage"
+ msgstr "steht mit neuer Deklaration mit %qL-Bindung in Konflikt"
+
+-#: cp/decl.c:1546 cp/decl.c:1552
++#: cp/decl.c:1547 cp/decl.c:1553
+ #, gcc-internal-format
+ msgid "default argument given for parameter %d of %q#D"
+ msgstr "Standardargument für Parameter %d von %q#D angegeben"
+
+-#: cp/decl.c:1548 cp/decl.c:1554
++#: cp/decl.c:1549 cp/decl.c:1555
+ #, gcc-internal-format
+ msgid "after previous specification in %q+#D"
+ msgstr "nach vorheriger Spezifikation in %q+#D"
+
+-#: cp/decl.c:1563
++#: cp/decl.c:1564
+ #, gcc-internal-format
+ msgid "%q#D was used before it was declared inline"
+ msgstr "%q#D wurde verwendet, bevor es »inline« deklariert wurde"
+
+-#: cp/decl.c:1564
++#: cp/decl.c:1565
+ #, gcc-internal-format
+ msgid "%Jprevious non-inline declaration here"
+ msgstr "%Jvorherige Nicht-inline-Deklaration hier"
+
+-#: cp/decl.c:1617
++#: cp/decl.c:1618
+ #, gcc-internal-format
+ msgid "redundant redeclaration of %qD in same scope"
+ msgstr "redundante Redeklaration von %qD im selben Gültigkeitsbereich"
+@@ -27560,313 +27521,319 @@
+ #. that specialization that would cause an implicit
+ #. instantiation to take place, in every translation unit in
+ #. which such a use occurs.
+-#: cp/decl.c:1932
++#: cp/decl.c:1939
+ #, gcc-internal-format
+ msgid "explicit specialization of %qD after first use"
+ msgstr "explizite Spezialisierung von %qD nach erster Benutzung"
+
+-#: cp/decl.c:2028
++#: cp/decl.c:2035
+ #, gcc-internal-format
+ msgid "%q+D: visibility attribute ignored because it"
+ msgstr "%q+D: Sichtbarkeitsattribut ignoriert, da es"
+
+-#: cp/decl.c:2030
++#: cp/decl.c:2037
+ #, gcc-internal-format
+ msgid "%Jconflicts with previous declaration here"
+ msgstr "%Jin Konflikt mit vorheriger Deklaration (hier) steht"
+
+-#: cp/decl.c:2457
++#: cp/decl.c:2464
+ #, gcc-internal-format
+ msgid "jump to label %qD"
+ msgstr "Sprung zur Marke %qD"
+
+-#: cp/decl.c:2459
++#: cp/decl.c:2466
+ #, gcc-internal-format
+ msgid "jump to case label"
+ msgstr "Sprung zur case-Marke"
+
+-#: cp/decl.c:2461
++#: cp/decl.c:2468
+ #, gcc-internal-format
+ msgid "%H from here"
+ msgstr "%H von hier"
+
+-#: cp/decl.c:2480 cp/decl.c:2643
++#: cp/decl.c:2487 cp/decl.c:2650
+ #, gcc-internal-format
+ msgid " exits OpenMP structured block"
+ msgstr " beendet OpenMP-strukturierten Block"
+
+-#: cp/decl.c:2501
++#: cp/decl.c:2508
+ #, gcc-internal-format
+ msgid " crosses initialization of %q+#D"
+ msgstr " überschneidet Initialisierung von %q+#D"
+
+-#: cp/decl.c:2503 cp/decl.c:2618
++#: cp/decl.c:2510 cp/decl.c:2625
+ #, gcc-internal-format
+ msgid " enters scope of non-POD %q+#D"
+ msgstr " tritt in Gültigkeitsbereich des nicht-POD %q+#D ein"
+
+-#: cp/decl.c:2516 cp/decl.c:2622
++#: cp/decl.c:2523 cp/decl.c:2629
+ #, gcc-internal-format
+ msgid " enters try block"
+ msgstr " tritt in try-Block ein"
+
+-#: cp/decl.c:2518 cp/decl.c:2624
++#: cp/decl.c:2525 cp/decl.c:2631
+ #, gcc-internal-format
+ msgid " enters catch block"
+ msgstr " tritt in catch-Block ein"
+
+-#: cp/decl.c:2528 cp/decl.c:2627
++#: cp/decl.c:2535 cp/decl.c:2634
+ #, gcc-internal-format
+ msgid " enters OpenMP structured block"
+ msgstr " tritt in OpenMP-strukturierten Block ein"
+
+-#: cp/decl.c:2599 cp/decl.c:2639
++#: cp/decl.c:2606 cp/decl.c:2646
+ #, gcc-internal-format
+ msgid "jump to label %q+D"
+ msgstr "Sprung zur Marke %q+D"
+
+-#: cp/decl.c:2600 cp/decl.c:2640
++#: cp/decl.c:2607 cp/decl.c:2647
+ #, gcc-internal-format
+ msgid " from here"
+ msgstr " von hier"
+
+ #. Can't skip init of __exception_info.
+-#: cp/decl.c:2612
++#: cp/decl.c:2619
+ #, gcc-internal-format
+ msgid "%J enters catch block"
+ msgstr "%J tritt in catch-Block ein"
+
+-#: cp/decl.c:2616
++#: cp/decl.c:2623
+ #, gcc-internal-format
+ msgid " skips initialization of %q+#D"
+ msgstr " überspringt Initialisierung von %q+#D"
+
+-#: cp/decl.c:2692
++#: cp/decl.c:2699
+ #, gcc-internal-format
+ msgid "label named wchar_t"
+ msgstr "Marke wurde wchar_t genannt"
+
+-#: cp/decl.c:2696
++#: cp/decl.c:2703
+ #, gcc-internal-format
+ msgid "duplicate label %qD"
+ msgstr "doppelte Marke %qD"
+
+-#: cp/decl.c:2962
++#: cp/decl.c:2969
+ #, gcc-internal-format
+ msgid "%qD is not a type"
+ msgstr "%qD ist kein Typ"
+
+-#: cp/decl.c:2968 cp/parser.c:4033
++#: cp/decl.c:2975 cp/parser.c:4037
+ #, gcc-internal-format
+ msgid "%qD used without template parameters"
+ msgstr "%qD ohne Template-Parameter verwendet"
+
+-#: cp/decl.c:2983
++#: cp/decl.c:2990
+ #, gcc-internal-format
+ msgid "%q#T is not a class"
+ msgstr "%q#T ist keine Klasse"
+
+-#: cp/decl.c:2995 cp/decl.c:3063
++#: cp/decl.c:3002 cp/decl.c:3070
+ #, gcc-internal-format
+ msgid "no class template named %q#T in %q#T"
+ msgstr "kein Klassentemplate namens %q#T in %q#T"
+
+-#: cp/decl.c:3003
++#: cp/decl.c:3010
+ #, gcc-internal-format
+ msgid "%<typename %T::%D%> names %q#T, which is not a class template"
+ msgstr "%<typename %T::%D%> benennt %q#T, was kein Klassentemplate ist"
+
+-#: cp/decl.c:3010
++#: cp/decl.c:3017
+ #, gcc-internal-format
+ msgid "%<typename %T::%D%> names %q#T, which is not a type"
+ msgstr "%<typename %T::%D%> benennt %q#T, was kein Typ ist"
+
+-#: cp/decl.c:3072
++#: cp/decl.c:3079
+ #, gcc-internal-format
+ msgid "template parameters do not match template"
+ msgstr "Template-Parameter passen nicht zum Template"
+
+-#: cp/decl.c:3073 cp/friend.c:321 cp/friend.c:329
++#: cp/decl.c:3080 cp/friend.c:321 cp/friend.c:329
+ #, gcc-internal-format
+ msgid "%q+D declared here"
+ msgstr "%q+D hier deklariert"
+
+-#: cp/decl.c:3711
++#: cp/decl.c:3727
+ #, gcc-internal-format
+ msgid "%Jan anonymous struct cannot have function members"
+ msgstr "%Jeine anonyme struct kann keine Funktionselemente haben"
+
+-#: cp/decl.c:3713
++#: cp/decl.c:3729
+ #, gcc-internal-format
+ msgid "%Jan anonymous union cannot have function members"
+ msgstr "%Jeine anonyme Union kann keine Funktionselemente haben"
+
+-#: cp/decl.c:3731
++#: cp/decl.c:3747
+ #, 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.c:3734
++#: cp/decl.c:3750
+ #, 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.c:3737
++#: cp/decl.c:3753
+ #, 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.c:3762
++#: cp/decl.c:3778
+ #, gcc-internal-format
+ msgid "multiple types in one declaration"
+ msgstr "mehrere Typen in einer Deklaration"
+
+-#: cp/decl.c:3766
++#: cp/decl.c:3782
+ #, gcc-internal-format
+ msgid "redeclaration of C++ built-in type %qT"
+ msgstr "Redeklaration des eingebauten C++-Typs %qT"
+
+-#: cp/decl.c:3803
++#: cp/decl.c:3819
+ #, gcc-internal-format
+ msgid "missing type-name in typedef-declaration"
+ msgstr "fehlender Typname in typedef-Deklaration"
+
+-#: cp/decl.c:3811
++#: cp/decl.c:3827
+ #, gcc-internal-format
+ msgid "ISO C++ prohibits anonymous structs"
+ msgstr "ISO-C++ verbietet anonyme structs"
+
+-#: cp/decl.c:3818
++#: cp/decl.c:3834
+ #, gcc-internal-format
+ msgid "%qs can only be specified for functions"
+ msgstr "%qs kann nur für Funktionen angegeben werden"
+
+-#: cp/decl.c:3824
++#: cp/decl.c:3840
+ #, gcc-internal-format
+ msgid "%<friend%> can only be specified inside a class"
+ msgstr "%<friend%> kann nur innerhalb einer Klasse angegeben werden"
+
+-#: cp/decl.c:3826
++#: cp/decl.c:3842
+ #, gcc-internal-format
+ msgid "%<explicit%> can only be specified for constructors"
+ msgstr "%<explicit%> kann nur für Konstruktoren angegeben werden"
+
+-#: cp/decl.c:3828
++#: cp/decl.c:3844
+ #, 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.c:3834
++#: cp/decl.c:3850
+ #, gcc-internal-format
+ msgid "qualifiers can only be specified for objects and functions"
+ msgstr "Qualifizierer können nur für Objekte und Funktionen angegeben werden"
+
+-#: cp/decl.c:3837
++#: cp/decl.c:3853
+ #, gcc-internal-format
+ msgid "%<typedef%> was ignored in this declaration"
+ msgstr "%<typedef%> wurde in dieser Deklaration ignoriert"
+
+-#: cp/decl.c:3866
++#: cp/decl.c:3882
+ #, gcc-internal-format
+ msgid "attribute ignored in declaration of %q+#T"
+ msgstr "Attribut in Deklaration von %q+#T ignoriert"
+
+-#: cp/decl.c:3867
++#: cp/decl.c:3883
+ #, 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.c:3909
++#: cp/decl.c:3925
+ #, gcc-internal-format
+-msgid "ignoring attributes applied to class type outside of definition"
+-msgstr "auf Klassentyp angewandte Attribute außerhalb einer Definition werden ignoriert"
++msgid "ignoring attributes applied to class type %qT outside of definition"
++msgstr "auf Klassentyp %qT angewandte Attribute außerhalb einer Definition werden ignoriert"
+
+-#: cp/decl.c:3987
++#. A template type parameter or other dependent type.
++#: cp/decl.c:3929
+ #, 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.c:4007
++#, gcc-internal-format
+ msgid "function %q#D is initialized like a variable"
+ msgstr "Funktion %q#D ist wie eine Variable initialisiert"
+
+-#: cp/decl.c:3998
++#: cp/decl.c:4018
+ #, gcc-internal-format
+ msgid "declaration of %q#D has %<extern%> and is initialized"
+ msgstr "Deklaration von %q#D hat %<extern%> und ist initialisiert"
+
+-#: cp/decl.c:4014
++#: cp/decl.c:4034
+ #, gcc-internal-format
+ msgid "definition of %q#D is marked %<dllimport%>"
+ msgstr "Definition von %q#D ist als »dllimport« markiert"
+
+-#: cp/decl.c:4033
++#: cp/decl.c:4053
+ #, gcc-internal-format
+ msgid "%q#D is not a static member of %q#T"
+ msgstr "%q#D ist kein statisches Element von %q#T"
+
+-#: cp/decl.c:4039
++#: cp/decl.c:4059
+ #, 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.c:4048
++#: cp/decl.c:4068
+ #, gcc-internal-format
+ msgid "template header not allowed in member definition of explicitly specialized class"
+ msgstr "Template-Header in Elementdefinition einer explizit spezialisierten Klasse nicht erlaubt"
+
+-#: cp/decl.c:4056
++#: cp/decl.c:4076
+ #, gcc-internal-format
+ msgid "duplicate initialization of %qD"
+ msgstr "doppelte Initialisierung von %qD"
+
+-#: cp/decl.c:4095
++#: cp/decl.c:4115
+ #, 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.c:4188
++#: cp/decl.c:4208
+ #, gcc-internal-format
+ msgid "variable %q#D has initializer but incomplete type"
+ msgstr "Variable %q#D hat Initialisierung, aber unvollständigen Typ"
+
+-#: cp/decl.c:4194 cp/decl.c:4906
++#: cp/decl.c:4214 cp/decl.c:4926
+ #, gcc-internal-format
+ msgid "elements of array %q#D have incomplete type"
+ msgstr "Elemente des Feldes %q#D haben unvollständigen Typ"
+
+-#: cp/decl.c:4200
++#: cp/decl.c:4220
+ #, 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.c:4236
++#: cp/decl.c:4256
+ #, gcc-internal-format
+ msgid "%qD declared as reference but not initialized"
+ msgstr "%qD als Referenz deklariert, aber nicht initialisiert"
+
+-#: cp/decl.c:4242
++#: cp/decl.c:4262
+ #, gcc-internal-format
+ msgid "ISO C++ forbids use of initializer list to initialize reference %qD"
+ msgstr "ISO-C++ verbietet die Verwendung einer Initialisierungsliste zur Initialisierung der Referenz %qD"
+
+-#: cp/decl.c:4268
++#: cp/decl.c:4288
+ #, gcc-internal-format
+ msgid "cannot initialize %qT from %qT"
+ msgstr "%qT kann nicht von %qT initialisiert werden"
+
+-#: cp/decl.c:4296
++#: cp/decl.c:4316
+ #, 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 Feld verwendet"
+
+-#: cp/decl.c:4345
++#: cp/decl.c:4365
+ #, gcc-internal-format
+ msgid "initializer fails to determine size of %qD"
+ msgstr "Initialisierung gibt nicht die Größe von %qD an"
+
+-#: cp/decl.c:4352
++#: cp/decl.c:4372
+ #, gcc-internal-format
+ msgid "array size missing in %qD"
+ msgstr "Feldgröße fehlt in %qD"
+
+-#: cp/decl.c:4364
++#: cp/decl.c:4384
+ #, gcc-internal-format
+ msgid "zero-size array %qD"
+ msgstr "Feld %qD der Größe null"
+@@ -27874,240 +27841,250 @@
+ #. An automatic variable with an incomplete type: that is an error.
+ #. Don't talk about array types here, since we took care of that
+ #. message in grokdeclarator.
+-#: cp/decl.c:4407
++#: cp/decl.c:4427
+ #, gcc-internal-format
+ msgid "storage size of %qD isn't known"
+ msgstr "Speichergröße von %qD ist unbekannt"
+
+-#: cp/decl.c:4429
++#: cp/decl.c:4449
+ #, gcc-internal-format
+ msgid "storage size of %qD isn't constant"
+ msgstr "Speichergröße von %qD ist nicht konstant"
+
+-#: cp/decl.c:4478
++#: cp/decl.c:4498
+ #, 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 der statischen Daten %q+#D der inline-Funktion ist falsch (mehrere Kopien wären die Folge)"
+
+-#: cp/decl.c:4481
++#: cp/decl.c:4501
+ #, gcc-internal-format
+ msgid "%J you can work around this by removing the initializer"
+ msgstr "%J dies kann durch das Löschen des Initialisierers umgangen werden"
+
+-#: cp/decl.c:4508
++#: cp/decl.c:4528
+ #, gcc-internal-format
+ msgid "uninitialized const %qD"
+ msgstr "nicht initialisiertes const %qD"
+
+-#: cp/decl.c:4620
++#: cp/decl.c:4640
+ #, 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.c:4662
++#: cp/decl.c:4682
+ #, gcc-internal-format
+ msgid "initializer for %qT must be brace-enclosed"
+ msgstr "Initialisierung für %qT muss geklammert sein"
+
+-#: cp/decl.c:4680
++#: cp/decl.c:4700
+ #, gcc-internal-format
+ msgid "%qT has no non-static data member named %qD"
+ msgstr "%qT hat kein nicht-statisches Datenelement namens %qD"
+
+-#: cp/decl.c:4731
++#: cp/decl.c:4751
+ #, gcc-internal-format
+ msgid "braces around scalar initializer for type %qT"
+ msgstr "geschweifte Klammern um skalare Initialisierung für Typ %qT"
+
+-#: cp/decl.c:4814
++#: cp/decl.c:4834
+ #, gcc-internal-format
+ msgid "missing braces around initializer for %qT"
+ msgstr "geschweifte Klammern fehlen um Initialisierung für %qT"
+
+-#: cp/decl.c:4871
++#: cp/decl.c:4891
+ #, gcc-internal-format
+ msgid "too many initializers for %qT"
+ msgstr "zu viele Initialisierer für %qT"
+
+-#: cp/decl.c:4914
++#: cp/decl.c:4934
+ #, gcc-internal-format
+ msgid "variable-sized object %qD may not be initialized"
+ msgstr "Objekt %qD variabler Größe kann nicht initialisiert werden"
+
+-#: cp/decl.c:4920
++#: cp/decl.c:4940
+ #, gcc-internal-format
+ msgid "%qD has incomplete type"
+ msgstr "%qD hat unvollständigen Typen"
+
+-#: cp/decl.c:4935
++#: cp/decl.c:4955
+ #, gcc-internal-format
+ msgid "scalar object %qD requires one element in initializer"
+ msgstr "skalares Objekt %qD erfordert ein Element in Initialisierung"
+
+ #. A non-aggregate that is not a scalar cannot be initialized
+ #. via an initializer-list in C++98.
+-#: cp/decl.c:4945
++#: cp/decl.c:4965
+ #, gcc-internal-format
+ msgid "braces around initializer for non-aggregate type %qT"
+ msgstr "geschweifte Klammern um Initialisierung für Nicht-Aggregat-Typ %qT"
+
+-#: cp/decl.c:4995
++#: cp/decl.c:5015
+ #, gcc-internal-format
+ msgid "%qD must be initialized by constructor, not by %<{...}%>"
+ msgstr "%qD muss mit Konstruktor initialisiert werden, nicht mit %<{...}%>"
+
+-#: cp/decl.c:5031
++#: cp/decl.c:5051
+ #, gcc-internal-format
+ msgid "array %qD initialized by parenthesized string literal %qE"
+ msgstr "Feld %qD mit geklammerter Zeichenkettenkonstante %qE initialisiert"
+
+-#: cp/decl.c:5046
++#: cp/decl.c:5066
+ #, gcc-internal-format
+ msgid "structure %qD with uninitialized const members"
+ msgstr "Struktur %qD mit nicht initialisierten const-Elementen"
+
+-#: cp/decl.c:5048
++#: cp/decl.c:5068
+ #, gcc-internal-format
+ msgid "structure %qD with uninitialized reference members"
+ msgstr "Struktur %qD mit nicht initialisierten Referenzelementen"
+
+-#: cp/decl.c:5330
++#: cp/decl.c:5364
+ #, gcc-internal-format
+ msgid "assignment (not initialization) in declaration"
+ msgstr "Zuweisung (nicht Initialisierung) in Deklaration"
+
+-#: cp/decl.c:5420
++#: cp/decl.c:5460
+ #, gcc-internal-format
+ msgid "shadowing previous type declaration of %q#D"
+ msgstr "vorherige Typdeklaration von %q#D wird überschattet"
+
+-#: cp/decl.c:5450
++#: cp/decl.c:5490
+ #, gcc-internal-format
+ msgid "%qD cannot be thread-local because it has non-POD type %qT"
+ msgstr "%qD kann nicht Thread-lokal sein, weil es Nicht-POD-Typen %qT hat"
+
+-#: cp/decl.c:5485
++#: cp/decl.c:5522
+ #, gcc-internal-format
++msgid "Java object %qD not allocated with %<new%>"
++msgstr "Java-Objekt %qD nicht mit %<new%> reserviert"
++
++#: cp/decl.c:5539
++#, gcc-internal-format
+ msgid "%qD is thread-local and so cannot be dynamically initialized"
+ msgstr "%qD ist Thread-lokal und kann damit nicht dynamisch initialisiert werden"
+
+-#: cp/decl.c:5503
++#: cp/decl.c:5557
+ #, gcc-internal-format
+ msgid "%qD cannot be initialized by a non-constant expression when being declared"
+ msgstr "%qD kann bei der Deklaration nicht von nicht konstantem Ausdruck initialisiert werden"
+
+-#: cp/decl.c:6160
++#: cp/decl.c:5597
+ #, gcc-internal-format
++msgid "non-static data member %qD has Java class type"
++msgstr "nicht-statisches Datenelement %qD hat Java-Klassentyp"
++
++#: cp/decl.c:6232
++#, 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.c:6162
++#: cp/decl.c:6234
+ #, 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.c:6183
++#: cp/decl.c:6255
+ #, gcc-internal-format
+ msgid "%qD declared as a %<virtual%> %s"
+ msgstr "%qD als %<virtuelles%> %s deklariert"
+
+-#: cp/decl.c:6185
++#: cp/decl.c:6257
+ #, gcc-internal-format
+ msgid "%qD declared as an %<inline%> %s"
+ msgstr "%qD als %<inline%> %s deklariert"
+
+-#: cp/decl.c:6187
++#: cp/decl.c:6259
+ #, gcc-internal-format
+ msgid "%<const%> and %<volatile%> function specifiers on %qD invalid in %s declaration"
+ msgstr "Funktionsspezifizierer %<const%> und %<volatile%> an %qD ungültig in %s-Deklaration"
+
+-#: cp/decl.c:6191
++#: cp/decl.c:6263
+ #, gcc-internal-format
+ msgid "%q+D declared as a friend"
+ msgstr "%q+D als »friend« deklariert"
+
+-#: cp/decl.c:6197
++#: cp/decl.c:6269
+ #, gcc-internal-format
+ msgid "%q+D declared with an exception specification"
+ msgstr "%q+D mit einer Ausnahmespezifikation deklariert"
+
+-#: cp/decl.c:6231
++#: cp/decl.c:6303
+ #, 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.c:6342
++#: cp/decl.c:6414
+ #, gcc-internal-format
+ msgid "defining explicit specialization %qD in friend declaration"
+ msgstr "Definition der expliziten Spezialisierung %qD in friend-Deklaration"
+
+ #. Something like `template <class T> friend void f<T>()'.
+-#: cp/decl.c:6352
++#: cp/decl.c:6424
+ #, 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.c:6382
++#: cp/decl.c:6454
+ #, 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.c:6390
++#: cp/decl.c:6462
+ #, gcc-internal-format
+ msgid "%<inline%> is not allowed in declaration of friend template specialization %qD"
+ msgstr "%<inline%> ist nicht in Deklaration der friend-Template-Spezialisierung %qD erlaubt"
+
+-#: cp/decl.c:6433
++#: cp/decl.c:6505
+ #, gcc-internal-format
+ msgid "cannot declare %<::main%> to be a template"
+ msgstr "%<::main%> kann nicht als Template deklariert werden"
+
+-#: cp/decl.c:6435
++#: cp/decl.c:6507
+ #, gcc-internal-format
+ msgid "cannot declare %<::main%> to be inline"
+ msgstr "%<::main%> kann nicht inline deklariert werden"
+
+-#: cp/decl.c:6437
++#: cp/decl.c:6509
+ #, gcc-internal-format
+ msgid "cannot declare %<::main%> to be static"
+ msgstr "%<::main%> kann nicht statisch deklariert werden"
+
+-#: cp/decl.c:6465
++#: cp/decl.c:6537
+ #, gcc-internal-format
+ msgid "non-local function %q#D uses anonymous type"
+ msgstr "nicht lokale Funktion %q#D verwendet anonymen Typen"
+
+-#: cp/decl.c:6468 cp/decl.c:6748
++#: cp/decl.c:6540 cp/decl.c:6820
+ #, gcc-internal-format
+ msgid "%q+#D does not refer to the unqualified type, so it is not used for linkage"
+ msgstr "%q+#D verweist nicht auf den unqualifizierten Typen, also wird es nicht zum Binden verwendet"
+
+-#: cp/decl.c:6474
++#: cp/decl.c:6546
+ #, gcc-internal-format
+ msgid "non-local function %q#D uses local type %qT"
+ msgstr "nicht lokale Funktion %q#D verwendet lokalen Typen %qT"
+
+-#: cp/decl.c:6498
++#: cp/decl.c:6570
+ #, gcc-internal-format
+ msgid "static member function %qD cannot have cv-qualifier"
+ msgstr "statische Elementfunktion %qD kann nicht CV-Qualifizierer haben"
+
+-#: cp/decl.c:6499
++#: cp/decl.c:6571
+ #, gcc-internal-format
+ msgid "non-member function %qD cannot have cv-qualifier"
+ msgstr "Nicht-Elementfunktion %qD kann nicht CV-Qualifizierer haben"
+
+-#: cp/decl.c:6547
++#: cp/decl.c:6619
+ #, gcc-internal-format
+ msgid "%<::main%> must return %<int%>"
+ msgstr "%<::main%> muss %<int%> zurückgeben"
+
+-#: cp/decl.c:6586
++#: cp/decl.c:6658
+ #, gcc-internal-format
+ msgid "definition of implicitly-declared %qD"
+ msgstr "Definition des implizit deklarierten %qD"
+
+-#: cp/decl.c:6603 cp/decl2.c:677
++#: cp/decl.c:6675 cp/decl2.c:677
+ #, gcc-internal-format
+ msgid "no %q#D member function declared in class %qT"
+ msgstr "keine Elementfunktion %q#D in Klasse %qT deklariert"
+@@ -28116,546 +28093,551 @@
+ #. 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/decl.c:6745
++#: cp/decl.c:6817
+ #, gcc-internal-format
+ msgid "non-local variable %q#D uses anonymous type"
+ msgstr "nicht lokale Variable %q#D verwendet anonymen Typen"
+
+-#: cp/decl.c:6754
++#: cp/decl.c:6826
+ #, gcc-internal-format
+ msgid "non-local variable %q#D uses local type %qT"
+ msgstr "nicht-lokale Variable %q#D« verwendet lokalen Typen %qT"
+
+-#: cp/decl.c:6876
++#: cp/decl.c:6948
+ #, 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.c:6886
++#: cp/decl.c:6958
+ #, 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.c:6890
++#: cp/decl.c:6962
+ #, 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.c:6915
++#: cp/decl.c:6987
+ #, gcc-internal-format
+ msgid "size of array %qD has non-integral type %qT"
+ msgstr "Feldgröße von %qD hat nicht-ganzzahligen Typen %qT"
+
+-#: cp/decl.c:6917
++#: cp/decl.c:6989
+ #, gcc-internal-format
+ msgid "size of array has non-integral type %qT"
+ msgstr "Feldgröße hat nicht-ganzzahligen Typen %qT"
+
+-#: cp/decl.c:6965
++#: cp/decl.c:7037
+ #, gcc-internal-format
+ msgid "size of array %qD is negative"
+ msgstr "Größe des Feldes %qD ist negativ"
+
+-#: cp/decl.c:6967
++#: cp/decl.c:7039
+ #, gcc-internal-format
+ msgid "size of array is negative"
+ msgstr "Größe des Feldes ist negativ"
+
+-#: cp/decl.c:6975
++#: cp/decl.c:7047
+ #, gcc-internal-format
+ msgid "ISO C++ forbids zero-size array %qD"
+ msgstr "ISO-C++ verbietet Feld %qD der Größe null"
+
+-#: cp/decl.c:6977
++#: cp/decl.c:7049
+ #, gcc-internal-format
+ msgid "ISO C++ forbids zero-size array"
+ msgstr "ISO-C++ verbietet Feld der Größe null"
+
+-#: cp/decl.c:6984
++#: cp/decl.c:7056
+ #, gcc-internal-format
+ msgid "size of array %qD is not an integral constant-expression"
+ msgstr "Größe des Feldes %qD ist kein konstanter Ganzzahlausdruck"
+
+-#: cp/decl.c:6987
++#: cp/decl.c:7059
+ #, gcc-internal-format
+ msgid "size of array is not an integral constant-expression"
+ msgstr "Größe des Feldes ist kein konstanter Ganzzahlausdruck"
+
+-#: cp/decl.c:6993
++#: cp/decl.c:7065
+ #, gcc-internal-format
+ msgid "ISO C++ forbids variable length array %qD"
+ msgstr "ISO-C++ verbietet Feld %qD variabler Länge"
+
+-#: cp/decl.c:6995
++#: cp/decl.c:7067
+ #, gcc-internal-format
+ msgid "ISO C++ forbids variable length array"
+ msgstr "ISO-C++ verbietet Feld variabler Länge"
+
+-#: cp/decl.c:7001
++#: cp/decl.c:7073
+ #, gcc-internal-format
+ msgid "variable length array %qD is used"
+ msgstr "Feld %qD variabler Länge wird verwendet"
+
+-#: cp/decl.c:7035
++#: cp/decl.c:7107
+ #, gcc-internal-format
+ msgid "overflow in array dimension"
+ msgstr "Überlauf in Feldgröße"
+
+-#: cp/decl.c:7116
++#: cp/decl.c:7188
+ #, gcc-internal-format
+ msgid "declaration of %qD as %s"
+ msgstr "Deklaration von %qD als %s"
+
+-#: cp/decl.c:7118
++#: cp/decl.c:7190
+ #, gcc-internal-format
+ msgid "creating %s"
+ msgstr "Erzeugen von %s"
+
+-#: cp/decl.c:7130
++#: cp/decl.c:7202
+ #, 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.c:7134
++#: cp/decl.c:7206
+ #, 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.c:7169
++#: cp/decl.c:7241
+ #, gcc-internal-format
+ msgid "return type specification for constructor invalid"
+ msgstr "Angabe des Rückgabetyps für Konstruktor ist ungültig"
+
+-#: cp/decl.c:7179
++#: cp/decl.c:7251
+ #, gcc-internal-format
+ msgid "return type specification for destructor invalid"
+ msgstr "Angabe des Rückgabetyps für Destruktor ist ungültig"
+
+-#: cp/decl.c:7192
++#: cp/decl.c:7264
+ #, gcc-internal-format
+ msgid "return type specified for %<operator %T%>"
+ msgstr "Rückgabetyp für %<operator %T%> angegeben"
+
+-#: cp/decl.c:7214
++#: cp/decl.c:7286
+ #, gcc-internal-format
+ msgid "unnamed variable or field declared void"
+ msgstr "unbenannte Variable oder Feld als »void« deklariert"
+
+-#: cp/decl.c:7218
++#: cp/decl.c:7290
+ #, gcc-internal-format
+ msgid "variable or field %qE declared void"
+ msgstr "Variable oder Feld %qE als »void« deklariert"
+
+-#: cp/decl.c:7221
++#: cp/decl.c:7293
+ #, gcc-internal-format
+ msgid "variable or field declared void"
+ msgstr "Variable oder Feld als »void« deklariert"
+
+-#: cp/decl.c:7388
++#: cp/decl.c:7460
+ #, gcc-internal-format
+ msgid "invalid use of qualified-name %<::%D%>"
+ msgstr "ungültige Verwendung des qualifizierten Namens %<::%D%>"
+
+-#: cp/decl.c:7391
++#: cp/decl.c:7463
+ #, gcc-internal-format
+ msgid "invalid use of qualified-name %<%T::%D%>"
+ msgstr "ungültige Verwendung des qualifizierten Namens %<%T::%D%>"
+
+-#: cp/decl.c:7394
++#: cp/decl.c:7466
+ #, gcc-internal-format
+ msgid "invalid use of qualified-name %<%D::%D%>"
+ msgstr "ungültige Verwendung des qualifizierten Namens %<%D::%D%>"
+
+-#: cp/decl.c:7406
++#: cp/decl.c:7478
+ #, gcc-internal-format
+ msgid "type %qT is not derived from type %qT"
+ msgstr "Typ %qT ist nicht vom Typ %qT abgeleitet"
+
+-#: cp/decl.c:7422 cp/decl.c:7512 cp/decl.c:8660
++#: cp/decl.c:7494 cp/decl.c:7584 cp/decl.c:8732
+ #, gcc-internal-format
+ msgid "declaration of %qD as non-function"
+ msgstr "Deklaration von %qD als Nicht-Funktion"
+
+-#: cp/decl.c:7428
++#: cp/decl.c:7500
+ #, gcc-internal-format
+ msgid "declaration of %qD as non-member"
+ msgstr "Deklaration von %qD als Nicht-Element"
+
+-#: cp/decl.c:7457
++#: cp/decl.c:7529
+ #, gcc-internal-format
+ msgid "declarator-id missing; using reserved word %qD"
+ msgstr "Deklarator-ID fehlt: reserviertes Wort %qD wird verwendet"
+
+-#: cp/decl.c:7504
++#: cp/decl.c:7576
+ #, gcc-internal-format
+ msgid "function definition does not declare parameters"
+ msgstr "Funktionsdefinition deklariert keine Parameter"
+
+-#: cp/decl.c:7546
++#: cp/decl.c:7618
+ #, gcc-internal-format
+ msgid "two or more data types in declaration of %qs"
+ msgstr "zwei oder mehr Datentypen in Deklaration von %qs"
+
+-#: cp/decl.c:7552
++#: cp/decl.c:7624
+ #, gcc-internal-format
+ msgid "conflicting specifiers in declaration of %qs"
+ msgstr "in Konflikt stehende Spezifikationen für Deklaration von %qs"
+
+-#: cp/decl.c:7623 cp/decl.c:7626
++#: cp/decl.c:7695 cp/decl.c:7698
+ #, gcc-internal-format
+ msgid "ISO C++ forbids declaration of %qs with no type"
+ msgstr "ISO-C++ verbietet Deklaration von %qs ohne Typ"
+
+-#: cp/decl.c:7651
++#: cp/decl.c:7723
+ #, gcc-internal-format
+ msgid "%<signed%> or %<unsigned%> invalid for %qs"
+ msgstr "%<signed%> oder %<unsigned%> ungültig für %qs"
+
+-#: cp/decl.c:7653
++#: cp/decl.c:7725
+ #, gcc-internal-format
+ msgid "%<signed%> and %<unsigned%> specified together for %qs"
+ msgstr "%<signed%> und %<unsigned%> für %qs gleichzeitig angegeben"
+
+-#: cp/decl.c:7655
++#: cp/decl.c:7727
+ #, gcc-internal-format
+ msgid "%<long long%> invalid for %qs"
+ msgstr "%<long long%> ungültig für %qs"
+
+-#: cp/decl.c:7657
++#: cp/decl.c:7729
+ #, gcc-internal-format
+ msgid "%<long%> invalid for %qs"
+ msgstr "%<long%> ungültig für %qs"
+
+-#: cp/decl.c:7659
++#: cp/decl.c:7731
+ #, gcc-internal-format
+ msgid "%<short%> invalid for %qs"
+ msgstr "%<short%> ungültig für %qs"
+
+-#: cp/decl.c:7661
++#: cp/decl.c:7733
+ #, gcc-internal-format
+ msgid "%<long%> or %<short%> invalid for %qs"
+ msgstr "%<long%> oder %<short%> ungültig für %qs"
+
+-#: cp/decl.c:7663
++#: cp/decl.c:7735
+ #, gcc-internal-format
+ msgid "%<long%> or %<short%> specified with char for %qs"
+ msgstr "%<long%> oder %<short%> mit »char« für %qs angegeben"
+
+-#: cp/decl.c:7665
++#: cp/decl.c:7737
+ #, gcc-internal-format
+ msgid "%<long%> and %<short%> specified together for %qs"
+ msgstr "%<long%> und %<short%> für %qs gleichzeitig angegeben"
+
+-#: cp/decl.c:7671
++#: cp/decl.c:7743
+ #, gcc-internal-format
+ msgid "long, short, signed or unsigned used invalidly for %qs"
+ msgstr "long, short, signed oder unsigned ungültig verwendet für %qs"
+
+-#: cp/decl.c:7735
++#: cp/decl.c:7807
+ #, gcc-internal-format
+ msgid "complex invalid for %qs"
+ msgstr "complex ungültig für %qs"
+
+-#: cp/decl.c:7764
++#: cp/decl.c:7836
+ #, gcc-internal-format
+ msgid "qualifiers are not allowed on declaration of %<operator %T%>"
+ msgstr "Qualifizierer sind bei Deklaration von %<operator %T%> nicht erlaubt"
+
+-#: cp/decl.c:7776 cp/typeck.c:7011
++#: cp/decl.c:7848 cp/typeck.c:7039
+ #, gcc-internal-format
+ msgid "ignoring %qV qualifiers added to function type %qT"
+ msgstr "Qualifizierer %qV an Funktionstyp %qT werden ignoriert"
+
+-#: cp/decl.c:7799
++#: cp/decl.c:7871
+ #, gcc-internal-format
+ msgid "member %qD cannot be declared both virtual and static"
+ msgstr "Element %qD kann nicht gleichzeitig virtuell und statisch deklariert werden"
+
+-#: cp/decl.c:7807
++#: cp/decl.c:7879
+ #, gcc-internal-format
+ msgid "%<%T::%D%> is not a valid declarator"
+ msgstr "%<%T::%D%> ist kein gültiger Deklarator"
+
+-#: cp/decl.c:7816
++#: cp/decl.c:7888
+ #, gcc-internal-format
+ msgid "typedef declaration invalid in parameter declaration"
+ msgstr "»typedef«-Deklaration in Parameterdeklaration ungültig"
+
+-#: cp/decl.c:7822
++#: cp/decl.c:7894
+ #, gcc-internal-format
+ msgid "storage class specifiers invalid in parameter declarations"
+ msgstr "Speicherklassenangaben sind in Parameterdeklarationen ungültig"
+
+-#: cp/decl.c:7829
++#: cp/decl.c:7901
+ #, gcc-internal-format
+ msgid "virtual outside class declaration"
+ msgstr "»virtual« außerhalb einer Klassendeklaration"
+
+-#: cp/decl.c:7847
++#: cp/decl.c:7919
+ #, gcc-internal-format
+ msgid "multiple storage classes in declaration of %qs"
+ msgstr "mehrere Speicherklassen in Deklaration von %qs"
+
+-#: cp/decl.c:7870
++#: cp/decl.c:7942
+ #, gcc-internal-format
+ msgid "storage class specified for %qs"
+ msgstr "Speicherklasse %qs angegeben"
+
+-#: cp/decl.c:7904
++#: cp/decl.c:7976
+ #, gcc-internal-format
+ msgid "top-level declaration of %qs specifies %<auto%>"
+ msgstr "Deklaration höchster Ebene von %qs gibt %<auto%> an"
+
+-#: cp/decl.c:7916
++#: cp/decl.c:7988
+ #, gcc-internal-format
+ msgid "storage class specifiers invalid in friend function declarations"
+ msgstr "Speicherklassenangaben sind in friend-Funktionsdeklarationen ungültig"
+
+-#: cp/decl.c:8043
++#: cp/decl.c:8115
+ #, gcc-internal-format
+ msgid "destructor cannot be static member function"
+ msgstr "Destruktor kann keine statische Elementfunktion sein"
+
+-#: cp/decl.c:8048
++#: cp/decl.c:8120
+ #, gcc-internal-format
+ msgid "destructors may not be cv-qualified"
+ msgstr "Destruktoren dürfen nicht CV-qualifiziert sein"
+
+-#: cp/decl.c:8066
++#: cp/decl.c:8138
+ #, gcc-internal-format
+ msgid "constructors cannot be declared virtual"
+ msgstr "Konstruktoren können nicht als virtuell deklariert werden"
+
+-#: cp/decl.c:8079
++#: cp/decl.c:8151
+ #, gcc-internal-format
+ msgid "can't initialize friend function %qs"
+ msgstr "friend-Funktion %qs kann nicht initialisiert werden"
+
+ #. Cannot be both friend and virtual.
+-#: cp/decl.c:8083
++#: cp/decl.c:8155
+ #, gcc-internal-format
+ msgid "virtual functions cannot be friends"
+ msgstr "virtuelle Funktionen können keine friends sein"
+
+-#: cp/decl.c:8087
++#: cp/decl.c:8159
+ #, gcc-internal-format
+ msgid "friend declaration not in class definition"
+ msgstr "friend-Deklaration nicht in Klassendefinition"
+
+-#: cp/decl.c:8089
++#: cp/decl.c:8161
+ #, gcc-internal-format
+ msgid "can't define friend function %qs in a local class definition"
+ msgstr "friend-Funktion %qs kann nicht in einer lokalen Klassendefinition definiert werden"
+
+-#: cp/decl.c:8102
++#: cp/decl.c:8174
+ #, gcc-internal-format
+ msgid "destructors may not have parameters"
+ msgstr "Destruktoren dürfen keine Parameter haben"
+
+-#: cp/decl.c:8121
++#: cp/decl.c:8193
+ #, gcc-internal-format
+ msgid "cannot declare pointer to %q#T"
+ msgstr "Zeiger auf %q#T kann nicht deklariert werden"
+
+-#: cp/decl.c:8134 cp/decl.c:8141
++#: cp/decl.c:8206 cp/decl.c:8213
+ #, gcc-internal-format
+ msgid "cannot declare reference to %q#T"
+ msgstr "Referenz auf %q#T kann nicht deklariert werden"
+
+-#: cp/decl.c:8143
++#: cp/decl.c:8215
+ #, gcc-internal-format
+ msgid "cannot declare pointer to %q#T member"
+ msgstr "Zeiger auf Element %q#T kann nicht deklariert werden"
+
+-#: cp/decl.c:8194
++#: cp/decl.c:8266
+ #, 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.c:8238
++#: cp/decl.c:8310
+ #, gcc-internal-format
+ msgid "template-id %qD used as a declarator"
+ msgstr "Template-ID %qD als Deklarator verwendet"
+
+-#: cp/decl.c:8289
++#: cp/decl.c:8361
+ #, gcc-internal-format
+ msgid "member functions are implicitly friends of their class"
+ msgstr "Elementfunktionen sind implizite »friends« ihrer Klasse"
+
+-#: cp/decl.c:8293
++#: cp/decl.c:8365
+ #, gcc-internal-format
+ msgid "extra qualification %<%T::%> on member %qs"
+ msgstr "zusätzliche Qualifizierung %<%T::%> an Element %qs"
+
+-#: cp/decl.c:8325
++#: cp/decl.c:8397
+ #, gcc-internal-format
+ msgid "cannot define member function %<%T::%s%> within %<%T%>"
+ msgstr "Elementfunktion %<%T::%s%> innerhalb von %<%T%> kann nicht definiert werden"
+
+-#: cp/decl.c:8342
++#: cp/decl.c:8414
+ #, gcc-internal-format
+ msgid "cannot declare member %<%T::%s%> within %qT"
+ msgstr "Element %<%T::%s%> kann nicht in %qT deklariert werden"
+
+-#: cp/decl.c:8365
++#: cp/decl.c:8437
+ #, gcc-internal-format
+ msgid "non-parameter %qs cannot be a parameter pack"
+ msgstr "Nicht-Parameter %qs kann kein Parameterpack sein"
+
+-#: cp/decl.c:8386
++#: cp/decl.c:8458
+ #, gcc-internal-format
+ msgid "data member may not have variably modified type %qT"
+ msgstr "Datenelement darf nicht variabel modifizierten Typ %qT haben"
+
+-#: cp/decl.c:8388
++#: cp/decl.c:8460
+ #, gcc-internal-format
+ msgid "parameter may not have variably modified type %qT"
+ msgstr "Parameter darf nicht variabel modifizierten Typ %qT haben"
+
+ #. [dcl.fct.spec] The explicit specifier shall only be used in
+ #. declarations of constructors within a class definition.
+-#: cp/decl.c:8396
++#: cp/decl.c:8468
+ #, gcc-internal-format
+ msgid "only declarations of constructors can be %<explicit%>"
+ msgstr "nur Deklarationen von Konstruktoren können %<explicit%> sein"
+
+-#: cp/decl.c:8404
++#: cp/decl.c:8476
+ #, gcc-internal-format
+ msgid "non-member %qs cannot be declared %<mutable%>"
+ msgstr "Nicht-Element %qs kann nicht als %<mutable%> deklariert sein"
+
+-#: cp/decl.c:8409
++#: cp/decl.c:8481
+ #, gcc-internal-format
+ msgid "non-object member %qs cannot be declared %<mutable%>"
+ msgstr "Nicht-Objekt-Element %qs kann nicht als %<mutable%> deklariert sein"
+
+-#: cp/decl.c:8415
++#: cp/decl.c:8487
+ #, gcc-internal-format
+ msgid "function %qs cannot be declared %<mutable%>"
+ msgstr "Funktion %qs kann nicht als %<mutable%> deklariert sein"
+
+-#: cp/decl.c:8420
++#: cp/decl.c:8492
+ #, gcc-internal-format
+ msgid "static %qs cannot be declared %<mutable%>"
+ msgstr "statisches %qs kann nicht als %<mutable%> deklariert sein"
+
+-#: cp/decl.c:8425
++#: cp/decl.c:8497
+ #, gcc-internal-format
+ msgid "const %qs cannot be declared %<mutable%>"
+ msgstr "Konstante %qs kann nicht als %<mutable%> deklariert sein"
+
+-#: cp/decl.c:8462
++#: cp/decl.c:8534
+ #, gcc-internal-format
+ msgid "%Jtypedef name may not be a nested-name-specifier"
+ msgstr "%Jtypedef-Name darf kein Spezifizierer mit geschachteltem Namen sein"
+
+-#: cp/decl.c:8478
++#: cp/decl.c:8550
+ #, 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.c:8564
++#: cp/decl.c:8636
+ #, gcc-internal-format
+ msgid "qualified function types cannot be used to declare static member functions"
+ msgstr "qualifizierte Funktionstypen können nicht verwendet werden, um statische Elementfunktionen zu deklarieren"
+
+-#: cp/decl.c:8566
++#: cp/decl.c:8638
+ #, gcc-internal-format
+ msgid "qualified function types cannot be used to declare free functions"
+ msgstr "qualifizierte Funktionstypen können nicht verwendet werden, um free-Funktionen zu deklarieren"
+
+-#: cp/decl.c:8592
++#: cp/decl.c:8664
+ #, gcc-internal-format
+ msgid "type qualifiers specified for friend class declaration"
+ msgstr "Typkennzeichner für friend-Klassen-Deklaration angegeben"
+
+-#: cp/decl.c:8597
++#: cp/decl.c:8669
+ #, gcc-internal-format
+ msgid "%<inline%> specified for friend class declaration"
+ msgstr "%<inline%> für friend-Klassen-Deklaration angegeben"
+
+-#: cp/decl.c:8605
++#: cp/decl.c:8677
+ #, gcc-internal-format
+ msgid "template parameters cannot be friends"
+ msgstr "Template-Parameter können keine »friends« sein"
+
+-#: cp/decl.c:8607
++#: cp/decl.c:8679
+ #, gcc-internal-format
+ msgid "friend declaration requires class-key, i.e. %<friend class %T::%D%>"
+ msgstr "friend-Deklaration erfordert Klassenschlüssel, d.h. %<friend class %T::%D%>"
+
+-#: cp/decl.c:8611
++#: cp/decl.c:8683
+ #, gcc-internal-format
+ msgid "friend declaration requires class-key, i.e. %<friend %#T%>"
+ msgstr "friend-Deklaration erfordert Klassenschlüssel, d.h. %<friend %#T%>"
+
+-#: cp/decl.c:8624
++#: cp/decl.c:8696
+ #, 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.c:8635
++#: cp/decl.c:8707
+ #, gcc-internal-format
+ msgid "invalid qualifiers on non-member function type"
+ msgstr "ungültige Qualifizierer an Nicht-Element-Funktionstyp"
+
+-#: cp/decl.c:8650
++#: cp/decl.c:8722
+ #, gcc-internal-format
+ msgid "abstract declarator %qT used as declaration"
+ msgstr "abstrakter Deklarator %qT als Deklaration verwendet"
+
+-#: cp/decl.c:8679
++#: cp/decl.c:8751
+ #, gcc-internal-format
+ msgid "cannot use %<::%> in parameter declaration"
+ msgstr "%<::%> kann nicht in Parameterdeklaration verwendet werden"
+
+ #. Something like struct S { int N::j; };
+-#: cp/decl.c:8725
++#: cp/decl.c:8797
+ #, gcc-internal-format
+ msgid "invalid use of %<::%>"
+ msgstr "ungültige Verwendung von %<::%>"
+
+-#: cp/decl.c:8740
++#: cp/decl.c:8812
+ #, gcc-internal-format
+ msgid "can't make %qD into a method -- not in a class"
+ msgstr "%qD kann nicht zur Methode gemacht werden -- nicht in einer Klasse"
+
+-#: cp/decl.c:8749
++#: cp/decl.c:8821
+ #, gcc-internal-format
+ msgid "function %qD declared virtual inside a union"
+ msgstr "Funktion %qD als virtuell innerhalb einer Union deklariert"
+
+-#: cp/decl.c:8758
++#: cp/decl.c:8830
+ #, gcc-internal-format
+ msgid "%qD cannot be declared virtual, since it is always static"
+ msgstr "%qD kann nicht als virtuell deklariert werden, da es immer statisch ist"
+
+-#: cp/decl.c:8774
++#: cp/decl.c:8846
+ #, 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.c:8784
++#: cp/decl.c:8856
+ #, gcc-internal-format
+ msgid "declaration of %qD as member of %qT"
+ msgstr "Deklaration von %qD als Element %qT"
+
+-#: cp/decl.c:8860
++#: cp/decl.c:8863
+ #, 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.c:8939
++#, gcc-internal-format
+ msgid "field %qD has incomplete type"
+ msgstr "Feld %qD hat unvollständigen Typen"
+
+-#: cp/decl.c:8862
++#: cp/decl.c:8941
+ #, gcc-internal-format
+ msgid "name %qT has incomplete type"
+ msgstr "Name %qT hat unvollständigen Typen"
+
+-#: cp/decl.c:8871
++#: cp/decl.c:8950
+ #, gcc-internal-format
+ msgid " in instantiation of template %qT"
+ msgstr " in Instanziierung des Templates %qT"
+
+-#: cp/decl.c:8880
++#: cp/decl.c:8959
+ #, 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"
+@@ -28672,103 +28654,108 @@
+ #. the rest of the compiler does not correctly
+ #. handle the initialization unless the member is
+ #. static so we make it static below.
+-#: cp/decl.c:8932
++#: cp/decl.c:9011
+ #, gcc-internal-format
+ msgid "ISO C++ forbids initialization of member %qD"
+ msgstr "ISO-C++ verbietet Initialisierung des Elementes %qD"
+
+-#: cp/decl.c:8934
++#: cp/decl.c:9013
+ #, gcc-internal-format
+ msgid "making %qD static"
+ msgstr "%qD wird statisch gemacht"
+
+-#: cp/decl.c:8999
++#: cp/decl.c:9078
+ #, gcc-internal-format
+ msgid "storage class %<auto%> invalid for function %qs"
+ msgstr "Speicherklasse %<auto%> ungültig für Funktion %qs"
+
+-#: cp/decl.c:9001
++#: cp/decl.c:9080
+ #, gcc-internal-format
+ msgid "storage class %<register%> invalid for function %qs"
+ msgstr "Speicherklasse %<register%> ungültig für Funktion %qs"
+
+-#: cp/decl.c:9003
++#: cp/decl.c:9082
+ #, gcc-internal-format
+ msgid "storage class %<__thread%> invalid for function %qs"
+ msgstr "Speicherklasse %<__thread%> ungültig für Funktion %qs"
+
+-#: cp/decl.c:9014
++#: cp/decl.c:9093
+ #, gcc-internal-format
+ msgid "%<static%> specified invalid for function %qs declared out of global scope"
+ msgstr "%<static%> ungültig für außerhalb des globalen Gültigkeitsbereiches deklarierte Funktion %qs"
+
+-#: cp/decl.c:9017
++#: cp/decl.c:9096
+ #, gcc-internal-format
+ msgid "%<inline%> specifier invalid for function %qs declared out of global scope"
+ msgstr "%<inline%> ungültig für außerhalb des globalen Gültigkeitsbereiches deklarierte Funktion %qs"
+
+-#: cp/decl.c:9025
++#: cp/decl.c:9104
+ #, gcc-internal-format
+ msgid "virtual non-class function %qs"
+ msgstr "virtuelle Nicht-Klassen-Funktion %qs"
+
+-#: cp/decl.c:9056
++#: cp/decl.c:9135
+ #, gcc-internal-format
+ msgid "cannot declare member function %qD to have static linkage"
+ msgstr "Elementfunktion %qD kann nicht deklariert werden, statische Bindung zu haben"
+
+ #. FIXME need arm citation
+-#: cp/decl.c:9063
++#: cp/decl.c:9142
+ #, gcc-internal-format
+ msgid "cannot declare static function inside another function"
+ msgstr "statische Funktion innerhalb anderer Funktion kann nicht deklariert werden"
+
+-#: cp/decl.c:9093
++#: cp/decl.c:9172
+ #, gcc-internal-format
+ msgid "%<static%> may not be used when defining (as opposed to declaring) a static data member"
+ msgstr "%<static%> darf nicht bei der Definition (im Gegensatz zu Deklaration) eines statischen Datenelementes verwendet werden"
+
+-#: cp/decl.c:9100
++#: cp/decl.c:9179
+ #, gcc-internal-format
+ msgid "static member %qD declared %<register%>"
+ msgstr "statisches Element %qD als %<register%> deklariert"
+
+-#: cp/decl.c:9105
++#: cp/decl.c:9184
+ #, 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.c:9234
++#: cp/decl.c:9313
+ #, gcc-internal-format
+ msgid "default argument for %q#D has type %qT"
+ msgstr "Standardargument für %q#D hat Typ %qT"
+
+-#: cp/decl.c:9237
++#: cp/decl.c:9316
+ #, gcc-internal-format
+ msgid "default argument for parameter of type %qT has type %qT"
+ msgstr "Standardargument für Parameter des Typs %qT hat Typ %qT"
+
+-#: cp/decl.c:9253
++#: cp/decl.c:9332
+ #, gcc-internal-format
+ msgid "default argument %qE uses local variable %qD"
+ msgstr "Standardargument %qE verwendet lokale Variable %qD"
+
+-#: cp/decl.c:9323
++#: cp/decl.c:9399
+ #, gcc-internal-format
++msgid "parameter %qD has Java class type"
++msgstr "Parameter %qD hat Java-Klassentyp"
++
++#: cp/decl.c:9412
++#, gcc-internal-format
+ msgid "parameter %qD invalidly declared method type"
+ msgstr "Parameter %qD deklariert ungültigerweise Methodentyp"
+
+-#: cp/decl.c:9347
++#: cp/decl.c:9436
+ #, gcc-internal-format
+ msgid "parameter %qD includes %s to array of unknown bound %qT"
+ msgstr "Parameter %qD bezieht %s in Feld mit unbekannter Grenze %qT ein"
+
+-#: cp/decl.c:9361
++#: cp/decl.c:9450
+ #, gcc-internal-format
+ msgid "parameter packs must be at the end of the parameter list"
+ msgstr "Parameterpacks müssen am Ende der Parameterliste stehen"
+
+-#: cp/decl.c:9366
++#: cp/decl.c:9455
+ #, gcc-internal-format
+ msgid "multiple parameters named %qE"
+ msgstr "mehrere Parameter wurden %qE genannt"
+@@ -28788,138 +28775,138 @@
+ #. or implicitly defined), there's no need to worry about their
+ #. existence. Theoretically, they should never even be
+ #. instantiated, but that's hard to forestall.
+-#: cp/decl.c:9581
++#: cp/decl.c:9672
+ #, gcc-internal-format
+ msgid "invalid constructor; you probably meant %<%T (const %T&)%>"
+ msgstr "ungültiger Konstruktor; wahrscheinlich war %<%T (const %T&)%> gemeint"
+
+-#: cp/decl.c:9703
++#: cp/decl.c:9794
+ #, gcc-internal-format
+ msgid "%qD may not be declared within a namespace"
+ msgstr "%qD darf nicht innerhalb eines Namensbereiches definiert werden"
+
+-#: cp/decl.c:9708
++#: cp/decl.c:9799
+ #, gcc-internal-format
+ msgid "%qD may not be declared as static"
+ msgstr "%qD darf nicht als »static« deklariert werden"
+
+-#: cp/decl.c:9731
++#: cp/decl.c:9825
+ #, gcc-internal-format
+ msgid "%qD must be a nonstatic member function"
+ msgstr "%qD muss eine nichtstatische Elementfunktion sein"
+
+-#: cp/decl.c:9740
++#: cp/decl.c:9834
+ #, 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.c:9761
++#: cp/decl.c:9855
+ #, 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"
+
+-#: cp/decl.c:9802
++#: cp/decl.c:9896
+ #, gcc-internal-format
+ msgid "conversion to %s%s will never use a type conversion operator"
+ msgstr "Umwandlung in %s%s wird nie einen Typumwandlungsoperator verwenden"
+
+ #. 13.4.0.3
+-#: cp/decl.c:9810
++#: cp/decl.c:9904
+ #, gcc-internal-format
+ msgid "ISO C++ prohibits overloading operator ?:"
+ msgstr "ISO-C++ verbietet Ãœberladen des Operators ?:"
+
+-#: cp/decl.c:9815
++#: cp/decl.c:9909
+ #, gcc-internal-format
+ msgid "%qD must not have variable number of arguments"
+ msgstr "»%qD« darf keine variable Argumentanzahl haben"
+
+-#: cp/decl.c:9866
++#: cp/decl.c:9960
+ #, gcc-internal-format
+ msgid "postfix %qD must take %<int%> as its argument"
+ msgstr "Suffix-%qD muss %<int%> als sein Argument nehmen"
+
+-#: cp/decl.c:9869
++#: cp/decl.c:9963
+ #, gcc-internal-format
+ msgid "postfix %qD must take %<int%> as its second argument"
+ msgstr "Suffix-%qD muss %<int%> als sein zweites Argument nehmen"
+
+-#: cp/decl.c:9877
++#: cp/decl.c:9971
+ #, gcc-internal-format
+ msgid "%qD must take either zero or one argument"
+ msgstr "%qD muss entweder null oder ein Argument nehmen"
+
+-#: cp/decl.c:9879
++#: cp/decl.c:9973
+ #, gcc-internal-format
+ msgid "%qD must take either one or two arguments"
+ msgstr "»%D« muss entweder ein oder zwei Argumente nehmen"
+
+-#: cp/decl.c:9901
++#: cp/decl.c:9995
+ #, gcc-internal-format
+ msgid "prefix %qD should return %qT"
+ msgstr "Präfix-%qD sollte %qT zurückgeben"
+
+-#: cp/decl.c:9907
++#: cp/decl.c:10001
+ #, gcc-internal-format
+ msgid "postfix %qD should return %qT"
+ msgstr "Suffix-%qD sollte %qT zurückgeben"
+
+-#: cp/decl.c:9916
++#: cp/decl.c:10010
+ #, gcc-internal-format
+ msgid "%qD must take %<void%>"
+ msgstr "%qD muss %<void%> nehmen"
+
+-#: cp/decl.c:9918 cp/decl.c:9927
++#: cp/decl.c:10012 cp/decl.c:10021
+ #, gcc-internal-format
+ msgid "%qD must take exactly one argument"
+ msgstr "%qD muss genau ein Argument nehmen"
+
+-#: cp/decl.c:9929
++#: cp/decl.c:10023
+ #, gcc-internal-format
+ msgid "%qD must take exactly two arguments"
+ msgstr "%qD muss genau zwei Argumente nehmen"
+
+-#: cp/decl.c:9938
++#: cp/decl.c:10032
+ #, gcc-internal-format
+ msgid "user-defined %qD always evaluates both arguments"
+ msgstr "benutzerdefiniertes %qD wertet immer beide Argumente aus"
+
+-#: cp/decl.c:9952
++#: cp/decl.c:10046
+ #, gcc-internal-format
+ msgid "%qD should return by value"
+ msgstr "%qD sollte Wert zurückgeben"
+
+-#: cp/decl.c:9964 cp/decl.c:9968
++#: cp/decl.c:10058 cp/decl.c:10062
+ #, gcc-internal-format
+ msgid "%qD cannot have default arguments"
+ msgstr "%qD kann keine Standardargumente haben"
+
+-#: cp/decl.c:10026
++#: cp/decl.c:10120
+ #, gcc-internal-format
+ msgid "using template type parameter %qT after %qs"
+ msgstr "Templatetyp-Parameter %qT wird nach %qs verwendet"
+
+-#: cp/decl.c:10041
++#: cp/decl.c:10135
+ #, gcc-internal-format
+ msgid "using typedef-name %qD after %qs"
+ msgstr "typedef-Name %qD wird nach %qs verwendet"
+
+-#: cp/decl.c:10042
++#: cp/decl.c:10136
+ #, gcc-internal-format
+ msgid "%q+D has a previous declaration here"
+ msgstr "%q+D hat eine vorherige Deklaration hier"
+
+-#: cp/decl.c:10050
++#: cp/decl.c:10144
+ #, gcc-internal-format
+ msgid "%qT referred to as %qs"
+ msgstr "%qT als %qs verwendet"
+
+-#: cp/decl.c:10051 cp/decl.c:10058
++#: cp/decl.c:10145 cp/decl.c:10152
+ #, gcc-internal-format
+ msgid "%q+T has a previous declaration here"
+ msgstr "%q+T hat eine vorherige Deklaration hier"
+
+-#: cp/decl.c:10057
++#: cp/decl.c:10151
+ #, gcc-internal-format
+ msgid "%qT referred to as enum"
+ msgstr "%qT als enum verwendet"
+@@ -28931,73 +28918,73 @@
+ #. void f(class C); // No template header here
+ #.
+ #. then the required template argument is missing.
+-#: cp/decl.c:10072
++#: cp/decl.c:10166
+ #, gcc-internal-format
+ msgid "template argument required for %<%s %T%>"
+ msgstr "Template-Argument für %<%s %T%> benötigt"
+
+-#: cp/decl.c:10120 cp/name-lookup.c:2698
++#: cp/decl.c:10214 cp/name-lookup.c:2700
+ #, 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.c:10150 cp/name-lookup.c:2207 cp/parser.c:4036 cp/parser.c:14029
+-#: cp/parser.c:16234
++#: cp/decl.c:10244 cp/name-lookup.c:2209 cp/parser.c:4040 cp/parser.c:14099
++#: cp/parser.c:16316
+ #, gcc-internal-format
+ msgid "reference to %qD is ambiguous"
+ msgstr "Referenz auf %qD ist mehrdeutig"
+
+-#: cp/decl.c:10264
++#: cp/decl.c:10358
+ #, gcc-internal-format
+ msgid "use of enum %q#D without previous declaration"
+ msgstr "Verwendung des enum %q#D ohne vorherige Deklaration"
+
+-#: cp/decl.c:10285
++#: cp/decl.c:10379
+ #, gcc-internal-format
+ msgid "redeclaration of %qT as a non-template"
+ msgstr "Redeklaration von %qT als Nicht-Template"
+
+-#: cp/decl.c:10286 cp/pt.c:4154
++#: cp/decl.c:10380
+ #, gcc-internal-format
+ msgid "previous declaration %q+D"
+ msgstr "vorherige Deklaration %q+D"
+
+-#: cp/decl.c:10397
++#: cp/decl.c:10491
+ #, gcc-internal-format
+ msgid "derived union %qT invalid"
+ msgstr "abgeleitete Union %qT ist ungültig"
+
+-#: cp/decl.c:10406
++#: cp/decl.c:10500
+ #, gcc-internal-format
+ msgid "Java class %qT cannot have multiple bases"
+ msgstr "Java-Klasse %qT kann nicht mehrere Basen haben"
+
+-#: cp/decl.c:10417
++#: cp/decl.c:10511
+ #, gcc-internal-format
+ msgid "Java class %qT cannot have virtual bases"
+ msgstr "Java-Klasse %qT kann keine virtuellen Basen haben"
+
+-#: cp/decl.c:10440
++#: cp/decl.c:10534
+ #, 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.c:10473
++#: cp/decl.c:10567
+ #, gcc-internal-format
+ msgid "recursive type %qT undefined"
+ msgstr "rekursiver Typ %qT nicht definiert"
+
+-#: cp/decl.c:10475
++#: cp/decl.c:10569
+ #, gcc-internal-format
+ msgid "duplicate base type %qT invalid"
+ msgstr "doppelter Basistyp %qT ungültig"
+
+-#: cp/decl.c:10552
++#: cp/decl.c:10646
+ #, gcc-internal-format
+ msgid "multiple definition of %q#T"
+ msgstr "mehrfache Definition von %q#T"
+
+-#: cp/decl.c:10553
++#: cp/decl.c:10647
+ #, gcc-internal-format
+ msgid "%Jprevious definition here"
+ msgstr "%Jvorherige Definition hier"
+@@ -29006,47 +28993,52 @@
+ #.
+ #. IF no integral type can represent all the enumerator values, the
+ #. enumeration is ill-formed.
+-#: cp/decl.c:10692
++#: cp/decl.c:10786
+ #, 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.c:10803
++#: cp/decl.c:10897
+ #, gcc-internal-format
+ msgid "enumerator value for %qD is not an integer constant"
+ msgstr "Aufzählungswert für %qD ist keine Ganzzahlkonstante"
+
+-#: cp/decl.c:10831
++#: cp/decl.c:10925
+ #, gcc-internal-format
+ msgid "overflow in enumeration values at %qD"
+ msgstr "Überlauf in Aufzählungswerten bei %qD"
+
+-#: cp/decl.c:10906
++#: cp/decl.c:11002
+ #, gcc-internal-format
+ msgid "return type %q#T is incomplete"
+ msgstr "Rückgabetyp %q#T ist unvollständig"
+
+-#: cp/decl.c:11031 cp/typeck.c:6711
++#: cp/decl.c:11004
+ #, gcc-internal-format
++msgid "return type has Java class type %q#T"
++msgstr "Rückgabetyp hat Java-Klassentyp %q#T"
++
++#: cp/decl.c:11129 cp/typeck.c:6739
++#, gcc-internal-format
+ msgid "%<operator=%> should return a reference to %<*this%>"
+ msgstr "%<operator=%> sollte eine Referenz auf %<*this%> zurück geben"
+
+-#: cp/decl.c:11420
++#: cp/decl.c:11518
+ #, gcc-internal-format
+ msgid "parameter %qD declared void"
+ msgstr "Parameter %qD leer definiert"
+
+-#: cp/decl.c:11908
++#: cp/decl.c:12006
+ #, gcc-internal-format
+ msgid "invalid member function declaration"
+ msgstr "ungültige Elementfunktionsdeklaration"
+
+-#: cp/decl.c:11923
++#: cp/decl.c:12021
+ #, gcc-internal-format
+ msgid "%qD is already defined in class %qT"
+ msgstr "%qD ist bereits in Klasse %qT definiert"
+
+-#: cp/decl.c:12170
++#: cp/decl.c:12268
+ #, gcc-internal-format
+ msgid "static member function %q#D declared with type qualifiers"
+ msgstr "statische Elementfunktion %q#D mit Typqualifizierern deklariert"
+@@ -29086,7 +29078,7 @@
+ msgid "deleting %qT is undefined"
+ msgstr "Löschen von %qT ist nicht definiert"
+
+-#: cp/decl2.c:459 cp/pt.c:3828
++#: cp/decl2.c:459 cp/pt.c:3831
+ #, gcc-internal-format
+ msgid "template declaration of %q#D"
+ msgstr "Templatedeklaration von %q#D"
+@@ -29171,22 +29163,22 @@
+ msgid "static member %qD cannot be a bit-field"
+ msgstr "statisches Element %qD kann kein Bitfeld sein"
+
+-#: cp/decl2.c:1122
++#: cp/decl2.c:1165
+ #, gcc-internal-format
+ msgid "anonymous struct not inside named type"
+ msgstr "anonymes struct nicht innerhalb eines benannten Typs"
+
+-#: cp/decl2.c:1206
++#: cp/decl2.c:1249
+ #, gcc-internal-format
+ msgid "namespace-scope anonymous aggregates must be static"
+ msgstr "anonymes Aggregat im Gültigkeitsbereich eines Namespace muss statisch sein"
+
+-#: cp/decl2.c:1215
++#: cp/decl2.c:1258
+ #, gcc-internal-format
+ msgid "anonymous union with no members"
+ msgstr "anonyme Union ohne Element"
+
+-#: cp/decl2.c:1251
++#: cp/decl2.c:1294
+ #, gcc-internal-format
+ msgid "%<operator new%> must return type %qT"
+ msgstr "%<operator new%> muss Typ %qT zurück geben"
+@@ -29195,52 +29187,52 @@
+ #.
+ #. The first parameter shall not have an associated default
+ #. argument.
+-#: cp/decl2.c:1262
++#: cp/decl2.c:1305
+ #, gcc-internal-format
+ msgid "the first parameter of %<operator new%> cannot have a default argument"
+ msgstr "der erste Parameter von %<operator_new%> kann nicht das Standardargument haben"
+
+-#: cp/decl2.c:1278
++#: cp/decl2.c:1321
+ #, gcc-internal-format
+ msgid "%<operator new%> takes type %<size_t%> (%qT) as first parameter"
+ msgstr "%<operator new%> nimmt Typ %<size_t%> (%qT) als ersten Parameter"
+
+-#: cp/decl2.c:1307
++#: cp/decl2.c:1350
+ #, gcc-internal-format
+ msgid "%<operator delete%> must return type %qT"
+ msgstr "%<operator delete%> muss Typ %qT zurück geben"
+
+-#: cp/decl2.c:1316
++#: cp/decl2.c:1359
+ #, gcc-internal-format
+ msgid "%<operator delete%> takes type %qT as first parameter"
+ msgstr "%<operator delete%> nimmt Typ %qT als ersten Parameter"
+
+-#: cp/decl2.c:1985
++#: cp/decl2.c:2028
+ #, gcc-internal-format
+ msgid "%qT has a field %qD whose type uses the anonymous namespace"
+ msgstr "%qT hat ein Feld %qD, dessen Typ den anonymen Namensbereich verwendet"
+
+-#: cp/decl2.c:1992
++#: cp/decl2.c:2035
+ #, gcc-internal-format
+ msgid "%qT declared with greater visibility than the type of its field %qD"
+ msgstr "%qT mit bedeutenderer Sichtbarkeit als der Typ seines Feldes %qD deklariert"
+
+-#: cp/decl2.c:2005
++#: cp/decl2.c:2048
+ #, gcc-internal-format
+ msgid "%qT has a base %qT whose type uses the anonymous namespace"
+ msgstr "%qT hat Basis %qT, dessen Typ den anonymen Namensbereich verwendet"
+
+-#: cp/decl2.c:2011
++#: cp/decl2.c:2054
+ #, gcc-internal-format
+ msgid "%qT declared with greater visibility than its base %qT"
+ msgstr "%qT mit bedeutenderer Sichtbarkeit als seine Basis %qT deklariert"
+
+-#: cp/decl2.c:3395
++#: cp/decl2.c:3441
+ #, gcc-internal-format
+ msgid "inline function %q+D used but never defined"
+ msgstr "inline-Funktion %q+D verwendet, aber nirgendwo definiert"
+
+-#: cp/decl2.c:3543
++#: cp/decl2.c:3589
+ #, gcc-internal-format
+ msgid "default argument missing for parameter %P of %q+#D"
+ msgstr "Standardargument fehlt für Parameter %P von %q+#D"
+@@ -29248,7 +29240,7 @@
+ #. We really want to suppress this warning in system headers,
+ #. because libstdc++ uses variadic templates even when we aren't
+ #. in C++0x mode.
+-#: cp/error.c:2669
++#: cp/error.c:2712
+ #, gcc-internal-format
+ msgid "ISO C++ does not include variadic templates"
+ msgstr "ISO-C++ beinhaltet keine variadischen Templates"
+@@ -29280,7 +29272,7 @@
+ msgid "throwing NULL, which has integral, not pointer type"
+ msgstr "wirft NULL, was ganzzahlig, aber kein Zeigertyp ist"
+
+-#: cp/except.c:643 cp/init.c:1780
++#: cp/except.c:643 cp/init.c:1915
+ #, gcc-internal-format
+ msgid "%qD should never be overloaded"
+ msgstr "%qD sollte niemals überladen werden"
+@@ -29379,232 +29371,247 @@
+ msgid "member %qD declared as friend before type %qT defined"
+ msgstr "Element %qD als »friend« deklariert, bevor Typ %qT definiert wurde"
+
+-#: cp/friend.c:550
++#: cp/friend.c:543
+ #, gcc-internal-format
++msgid "friend declaration %qD in local class without prior declaration"
++msgstr "Friend-Deklaration %qD in lokaler Klasse ohne vorherige Deklaration"
++
++#: cp/friend.c:564
++#, gcc-internal-format
+ msgid "friend declaration %q#D declares a non-template function"
+ msgstr "»friend«-Deklaration %q#D deklariert eine Nicht-Template-Funktion"
+
+-#: cp/friend.c:554
++#: cp/friend.c:568
+ #, 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 "(wenn das nicht beabsichtigt war, sollte sicher gestellt werden, dass das Funktions-Template bereits deklariert wurde, und <> hier hinter Funktionsnamen eingefügt wurde) "
+
+-#: cp/init.c:334
++#: cp/init.c:374
+ #, gcc-internal-format
++msgid "value-initialization of reference"
++msgstr "Wert-Initialisierung von Referenz"
++
++#: cp/init.c:481
++#, gcc-internal-format
+ msgid "%J%qD should be initialized in the member initialization list"
+ msgstr "%J%qD sollte in Elementinitialisierungsliste initialisiert werden"
+
+-#: cp/init.c:382
++#: cp/init.c:529
+ #, gcc-internal-format
+ msgid "%Jdefault-initialization of %q#D, which has reference type"
+ msgstr "%JStandardinitialisierung von %q#D, das Referenztyp hat"
+
+-#: cp/init.c:388
++#: cp/init.c:535
+ #, gcc-internal-format
+ msgid "%Juninitialized reference member %qD"
+ msgstr "%Jnicht initialisiertes Referenzelement %qD"
+
+-#: cp/init.c:391
++#: cp/init.c:538
+ #, gcc-internal-format
+ msgid "%Juninitialized member %qD with %<const%> type %qT"
+ msgstr "%Jnicht initialisiertes Element %qD mit %<const%>-Typ %qT"
+
+-#: cp/init.c:534
++#: cp/init.c:681
+ #, gcc-internal-format
+ msgid "%q+D will be initialized after"
+ msgstr "%q+D wird initialisiert nach"
+
+-#: cp/init.c:537
++#: cp/init.c:684
+ #, gcc-internal-format
+ msgid "base %qT will be initialized after"
+ msgstr "Basis %qT wird initialisiert nach"
+
+-#: cp/init.c:540
++#: cp/init.c:687
+ #, gcc-internal-format
+ msgid " %q+#D"
+ msgstr " %q+#D"
+
+-#: cp/init.c:542
++#: cp/init.c:689
+ #, gcc-internal-format
+ msgid " base %qT"
+ msgstr " Basis %qT"
+
+-#: cp/init.c:543
++#: cp/init.c:690
+ #, gcc-internal-format
+ msgid "%J when initialized here"
+ msgstr "%J während es hier initialisiert wurde"
+
+-#: cp/init.c:559
++#: cp/init.c:706
+ #, gcc-internal-format
+ msgid "%Jmultiple initializations given for %qD"
+ msgstr "%Jmehrere Initialisierungen für %qD angegeben"
+
+-#: cp/init.c:562
++#: cp/init.c:709
+ #, gcc-internal-format
+ msgid "%Jmultiple initializations given for base %qT"
+ msgstr "%Jmehrere Initialisierungen für Basis %qT angegeben"
+
+-#: cp/init.c:629
++#: cp/init.c:776
+ #, gcc-internal-format
+ msgid "%Jinitializations for multiple members of %qT"
+ msgstr "%JInitialisierungen für mehrere Elemente von %qT"
+
+-#: cp/init.c:691
++#: cp/init.c:839
+ #, gcc-internal-format
+ msgid "%Jbase class %q#T should be explicitly initialized in the copy constructor"
+ msgstr "%JBasisklasse %q#T sollte explizit im Kopierkonstruktor initialisiert werden"
+
+-#: cp/init.c:915 cp/init.c:934
++#: cp/init.c:1063 cp/init.c:1082
+ #, gcc-internal-format
+ msgid "class %qT does not have any field named %qD"
+ msgstr "Klasse %qT hat keinen Feldnamen %qD"
+
+-#: cp/init.c:921
++#: cp/init.c:1069
+ #, gcc-internal-format
+ msgid "%q#D is a static data member; it can only be initialized at its definition"
+ msgstr "%q#D« ist ein statisches Datenelement; es kann nur bei seiner Definition initialisiert werden"
+
+-#: cp/init.c:928
++#: cp/init.c:1076
+ #, gcc-internal-format
+ msgid "%q#D is not a non-static data member of %qT"
+ msgstr "%q#D ist kein Nicht-static-Datenelement von %qT"
+
+-#: cp/init.c:967
++#: cp/init.c:1115
+ #, gcc-internal-format
+ msgid "unnamed initializer for %qT, which has no base classes"
+ msgstr "unbenannte Initialisierung für %qT, das keine Basisklassen hat"
+
+-#: cp/init.c:975
++#: cp/init.c:1123
+ #, gcc-internal-format
+ msgid "unnamed initializer for %qT, which uses multiple inheritance"
+ msgstr "unbenannte Initialisierung für %qT, das Mehrfachvererbung verwendet"
+
+-#: cp/init.c:1021
++#: cp/init.c:1169
+ #, gcc-internal-format
+ msgid "%qD is both a direct base and an indirect virtual base"
+ msgstr "%qD ist sowohl eine direkte Basis als auch eine indirekte virtuelle Basis"
+
+-#: cp/init.c:1029
++#: cp/init.c:1177
+ #, gcc-internal-format
+ msgid "type %qT is not a direct or virtual base of %qT"
+ msgstr "Typ %qT ist keine direkte oder virtuelle Basis von %qT"
+
+-#: cp/init.c:1032
++#: cp/init.c:1180
+ #, gcc-internal-format
+ msgid "type %qT is not a direct base of %qT"
+ msgstr "Typ %qT ist keine direkte Basis von %qT"
+
+-#: cp/init.c:1112
++#: cp/init.c:1260
+ #, gcc-internal-format
+ msgid "bad array initializer"
+ msgstr "schlechte Feldinitialisierung"
+
+-#: cp/init.c:1287
++#: cp/init.c:1435
+ #, gcc-internal-format
+ msgid "%qT is not an aggregate type"
+ msgstr "%qT ist kein Aggregattyp"
+
+-#: cp/init.c:1341
++#: cp/init.c:1489
+ #, gcc-internal-format
+ msgid "incomplete type %qT does not have member %qD"
+ msgstr "unvollständiger Typ %qT hat kein Element %qD"
+
+-#: cp/init.c:1354
++#: cp/init.c:1502
+ #, gcc-internal-format
+ msgid "invalid pointer to bit-field %qD"
+ msgstr "ungültiger Zeiger auf Bitfeld %qD"
+
+-#: cp/init.c:1431
++#: cp/init.c:1579
+ #, gcc-internal-format
+ msgid "invalid use of non-static member function %qD"
+ msgstr "ungültige Verwendung der nicht-statischen Elementfunktion %qD"
+
+-#: cp/init.c:1437
++#: cp/init.c:1585
+ #, gcc-internal-format
+ msgid "invalid use of non-static data member %qD"
+ msgstr "ungültige Verwendung des nicht-statischen Datenelementes %qD"
+
+-#: cp/init.c:1714
++#: cp/init.c:1862
+ #, gcc-internal-format
+ msgid "invalid type %<void%> for new"
+ msgstr "ungültiger Typ %<void%> für %<new%>"
+
+-#: cp/init.c:1724
++#: cp/init.c:1872
+ #, gcc-internal-format
+ msgid "uninitialized const in %<new%> of %q#T"
+ msgstr "nicht initialisierte Konstante in %<new%> von %q#T"
+
+-#: cp/init.c:1775
++#: cp/init.c:1910
+ #, gcc-internal-format
+ msgid "call to Java constructor with %qs undefined"
+ msgstr "Aufruf von Java-Konstruktor mit %qs ist nicht definiert"
+
+-#: cp/init.c:1815
++#: cp/init.c:1926
+ #, gcc-internal-format
++msgid "Java class %q#T object allocated using placement new"
++msgstr "Objekt der Java-Klasse %q#T mit Platzierung new reserviert"
++
++#: cp/init.c:1955
++#, gcc-internal-format
+ msgid "no suitable %qD found in class %qT"
+ msgstr "Kein passendes %qD in Klasse %qT gefunden"
+
+-#: cp/init.c:1820
++#: cp/init.c:1960
+ #, gcc-internal-format
+ msgid "request for member %qD is ambiguous"
+ msgstr "Abfrage des Elementes %qD ist mehrdeutig"
+
+-#: cp/init.c:1972
++#: cp/init.c:2134
+ #, gcc-internal-format
+ msgid "ISO C++ forbids initialization in array new"
+ msgstr "ISO-C++ verbietet Initialisierung eines Feldes mit »new«"
+
+-#: cp/init.c:2174
++#: cp/init.c:2336
+ #, gcc-internal-format
+ msgid "size in array new must have integral type"
+ msgstr "Größe des Feldes bei »new« muss Ganzzahltyp haben"
+
+-#: cp/init.c:2183
++#: cp/init.c:2345
+ #, gcc-internal-format
+ msgid "new cannot be applied to a reference type"
+ msgstr "»new« kann nicht auf Referenztyp angewendet werden"
+
+-#: cp/init.c:2189
++#: cp/init.c:2351
+ #, gcc-internal-format
+ msgid "new cannot be applied to a function type"
+ msgstr "»new« kann nicht auf Funktionstyp angewendet werden"
+
+-#: cp/init.c:2228
++#: cp/init.c:2390
+ #, gcc-internal-format
+ msgid "call to Java constructor, while %<jclass%> undefined"
+ msgstr "Aufruf von Java-Konstruktor, wobei %<jclass%> nicht definiert ist"
+
+-#: cp/init.c:2246
++#: cp/init.c:2408
+ #, gcc-internal-format
+ msgid "can't find %<class$%> in %qT"
+ msgstr "%<class$%> in %qT kann nicht gefunden werden"
+
+-#: cp/init.c:2607
++#: cp/init.c:2769
+ #, gcc-internal-format
+ msgid "initializer ends prematurely"
+ msgstr "Initialisierung endet vorzeitig"
+
+-#: cp/init.c:2662
++#: cp/init.c:2824
+ #, gcc-internal-format
+ msgid "cannot initialize multi-dimensional array with initializer"
+ msgstr "mehrdimensionales Feld kann nicht initialisiert werden"
+
+-#: cp/init.c:2799
++#: cp/init.c:2961
+ #, gcc-internal-format
+ msgid "possible problem detected in invocation of delete operator:"
+ msgstr "mögliches Problem bei Aufruf des »delete«-Operators erkannt"
+
+-#: cp/init.c:2802
++#: cp/init.c:2964
+ #, gcc-internal-format
+ msgid "neither the destructor nor the class-specific operator delete will be called, even if they are declared when the class is defined."
+ msgstr "weder der Destruktor noch der klassenspezifische Operator »delete« wird aufgerufen, auch wenn sie bei der Klassendefinition deklariert werden"
+
+-#: cp/init.c:2823
++#: cp/init.c:2985
+ #, gcc-internal-format
+ msgid "unknown array size in delete"
+ msgstr "unbekannte Feldgröße in »delete«"
+
+-#: cp/init.c:3070
++#: cp/init.c:3232
+ #, gcc-internal-format
+ msgid "type to vector delete is neither pointer or array type"
+ msgstr "Typ für Vektor-»delete« ist weder Zeiger- noch Feldtyp"
+@@ -29669,22 +29676,22 @@
+ msgid "mangling typeof, use decltype instead"
+ msgstr "defektes typeof, stattdessen decltype verwenden"
+
+-#: cp/mangle.c:2208
++#: cp/mangle.c:2211
+ #, gcc-internal-format
+ msgid "call_expr cannot be mangled due to a defect in the C++ ABI"
+ msgstr "call_expr kann wegen eines Fehlers im C++-ABI nicht verarbeitet werden"
+
+-#: cp/mangle.c:2216
++#: cp/mangle.c:2219
+ #, gcc-internal-format
+ msgid "zero-operand casts cannot be mangled due to a defect in the C++ ABI"
+ msgstr "Null-Operanden-Umwandlungen können wegen eines Fehlers im C++-ABI nicht verarbeitet werden"
+
+-#: cp/mangle.c:2266
++#: cp/mangle.c:2269
+ #, gcc-internal-format
+ msgid "omitted middle operand to %<?:%> operand cannot be mangled"
+ msgstr "ausgelassener mittlerer Operand für Operator %<?:%> kann nicht verarbeitet werden"
+
+-#: cp/mangle.c:2584
++#: cp/mangle.c:2587
+ #, gcc-internal-format
+ msgid "the mangled name of %qD will change in a future version of GCC"
+ msgstr "der verarbeitete Name von %qD« wird sich in einer zukünftigen Version des GCC ändern"
+@@ -29694,27 +29701,27 @@
+ msgid "generic thunk code fails for method %q#D which uses %<...%>"
+ msgstr "allgemeiner Thunk-Code für Methode %q#D mit %<...%> scheitert"
+
+-#: cp/method.c:697
++#: cp/method.c:698
+ #, gcc-internal-format
+ msgid "non-static const member %q#D, can't use default assignment operator"
+ msgstr "nicht-statisches konstantes Element %q#D, Standard-Zuweisungsoperator kann nicht verwendet werden"
+
+-#: cp/method.c:703
++#: cp/method.c:704
+ #, gcc-internal-format
+ msgid "non-static reference member %q#D, can't use default assignment operator"
+ msgstr "nicht-statisches Referenzelement %q#D, Standard-Zuweisungsoperator kann nicht verwendet werden"
+
+-#: cp/method.c:815
++#: cp/method.c:816
+ #, gcc-internal-format
+ msgid "%Hsynthesized method %qD first required here "
+ msgstr "%Hkünstlich erzeugte Methode %qD zuerst hier erfordert "
+
+-#: cp/method.c:1158
++#: cp/method.c:1159
+ #, gcc-internal-format
+ msgid "vtable layout for class %qT may not be ABI-compliantand may change in a future version of GCC due to implicit virtual destructor"
+ msgstr "vtable-Anordnung für Klasse %qT könnte ABI-unverträglich sein und sich in zukünftigen GCC-Versionen durch implizite virtuelle Destruktoren ändern"
+
+-#: cp/name-lookup.c:728
++#: cp/name-lookup.c:727
+ #, gcc-internal-format
+ msgid "redeclaration of %<wchar_t%> as %qT"
+ msgstr "Redeklaration von %<wchar_t%> als %qT"
+@@ -29725,243 +29732,243 @@
+ #. [basic.start.main]
+ #.
+ #. This function shall not be overloaded.
+-#: cp/name-lookup.c:758
++#: cp/name-lookup.c:757
+ #, gcc-internal-format
+ msgid "invalid redeclaration of %q+D"
+ msgstr "ungültige Redeklaration von %q+D"
+
+-#: cp/name-lookup.c:759
++#: cp/name-lookup.c:758
+ #, gcc-internal-format
+ msgid "as %qD"
+ msgstr "als %qD"
+
+-#: cp/name-lookup.c:850
++#: cp/name-lookup.c:849
+ #, gcc-internal-format
+ msgid "type mismatch with previous external decl of %q#D"
+ msgstr "Typen passen nicht zu vorheriger externer Deklaration von %q#D"
+
+-#: cp/name-lookup.c:851
++#: cp/name-lookup.c:850
+ #, gcc-internal-format
+ msgid "previous external decl of %q+#D"
+ msgstr "vorherige externe Deklaration von %q+#D"
+
+-#: cp/name-lookup.c:942
++#: cp/name-lookup.c:941
+ #, gcc-internal-format
+ msgid "extern declaration of %q#D doesn't match"
+ msgstr "externe Deklaration von %q#D passt nicht"
+
+-#: cp/name-lookup.c:943
++#: cp/name-lookup.c:942
+ #, gcc-internal-format
+ msgid "global declaration %q+#D"
+ msgstr "globale Deklaration von %q+#D"
+
+-#: cp/name-lookup.c:980 cp/name-lookup.c:987
++#: cp/name-lookup.c:979 cp/name-lookup.c:986
+ #, gcc-internal-format
+ msgid "declaration of %q#D shadows a parameter"
+ msgstr "Deklaration von %q#D überdeckt einen Parameter"
+
+ #. Location of previous decl is not useful in this case.
+-#: cp/name-lookup.c:1012
++#: cp/name-lookup.c:1011
+ #, gcc-internal-format
+ msgid "declaration of %qD shadows a member of 'this'"
+ msgstr "Deklaration von %qD überdeckt ein Element von 'this'"
+
+-#: cp/name-lookup.c:1018
++#: cp/name-lookup.c:1017
+ #, gcc-internal-format
+ msgid "declaration of %qD shadows a previous local"
+ msgstr "Deklaration von %qD überdeckt einen vorhergehenden lokalen Bezeichner"
+
+-#: cp/name-lookup.c:1025
++#: cp/name-lookup.c:1024
+ #, gcc-internal-format
+ msgid "declaration of %qD shadows a global declaration"
+ msgstr "Deklaration von %qD überdeckt eine globale Deklaration"
+
+-#: cp/name-lookup.c:1148
++#: cp/name-lookup.c:1147
+ #, gcc-internal-format
+ msgid "name lookup of %qD changed"
+ msgstr "Suche nach %qD hat sich geändert"
+
+-#: cp/name-lookup.c:1149
++#: cp/name-lookup.c:1148
+ #, gcc-internal-format
+ msgid " matches this %q+D under ISO standard rules"
+ msgstr " passt nach ISO-Standardregeln zu diesem %q+D"
+
+-#: cp/name-lookup.c:1151
++#: cp/name-lookup.c:1150
+ #, gcc-internal-format
+ msgid " matches this %q+D under old rules"
+ msgstr " passt nach den alten Regeln zu diesem %q+D"
+
+-#: cp/name-lookup.c:1169 cp/name-lookup.c:1177
++#: cp/name-lookup.c:1168 cp/name-lookup.c:1176
+ #, gcc-internal-format
+ msgid "name lookup of %qD changed for new ISO %<for%> scoping"
+ msgstr "Namenssuche von %qD hat sich für neue ISO-Regeln zum »for«-Gültigkeitsbereich geändert"
+
+-#: cp/name-lookup.c:1171
++#: cp/name-lookup.c:1170
+ #, gcc-internal-format
+ msgid " cannot use obsolete binding at %q+D because it has a destructor"
+ msgstr " veraltete Bindung bei %q+D kann nicht verwendet werden, weil es einen Destruktor hat"
+
+-#: cp/name-lookup.c:1179
++#: cp/name-lookup.c:1178
+ #, gcc-internal-format
+ msgid " using obsolete binding at %q+D"
+ msgstr " bei %q+D wird veraltete Bindung verwendet"
+
+-#: cp/name-lookup.c:1232
++#: cp/name-lookup.c:1231
+ #, gcc-internal-format
+ msgid "%s %s(%E) %p %d\n"
+ msgstr "%s %s(%E) %p %d\n"
+
+-#: cp/name-lookup.c:1235
++#: cp/name-lookup.c:1234
+ #, gcc-internal-format
+ msgid "%s %s %p %d\n"
+ msgstr "%s %s %p %d\n"
+
+-#: cp/name-lookup.c:1362
++#: cp/name-lookup.c:1361
+ #, gcc-internal-format
+ msgid "XXX is_class_level != (current_scope == class_scope)\n"
+ msgstr "XXX is_class_level != (current_scope == class_scope)\n"
+
+-#: cp/name-lookup.c:1920
++#: cp/name-lookup.c:1922
+ #, gcc-internal-format
+ msgid "%q#D hides constructor for %q#T"
+ msgstr "%q#D verdeckt Konstruktor für %q#T"
+
+-#: cp/name-lookup.c:1937
++#: cp/name-lookup.c:1939
+ #, gcc-internal-format
+ msgid "%q#D conflicts with previous using declaration %q#D"
+ msgstr "%q#D steht mit vorheriger %<using%>-Deklaration %q#D in Konflikt"
+
+-#: cp/name-lookup.c:1960
++#: cp/name-lookup.c:1962
+ #, gcc-internal-format
+ msgid "previous non-function declaration %q+#D"
+ msgstr "vorherige Deklaration %q+#D einer Nicht-Funktion"
+
+-#: cp/name-lookup.c:1961
++#: cp/name-lookup.c:1963
+ #, gcc-internal-format
+ msgid "conflicts with function declaration %q#D"
+ msgstr "steht mit Funktionsdeklaration %q#D in Konflikt"
+
+ #. It's a nested name with template parameter dependent scope.
+ #. This can only be using-declaration for class member.
+-#: cp/name-lookup.c:2039 cp/name-lookup.c:2064
++#: cp/name-lookup.c:2041 cp/name-lookup.c:2066
+ #, gcc-internal-format
+ msgid "%qT is not a namespace"
+ msgstr "%qT ist kein Namensbereich"
+
+ #. 7.3.3/5
+ #. A using-declaration shall not name a template-id.
+-#: cp/name-lookup.c:2049
++#: cp/name-lookup.c:2051
+ #, gcc-internal-format
+ msgid "a using-declaration cannot specify a template-id. Try %<using %D%>"
+ msgstr "eine %<using%>-Deklaration kann keine Template-ID angeben. Stattdessen %<using %D%> versuchen"
+
+-#: cp/name-lookup.c:2056
++#: cp/name-lookup.c:2058
+ #, gcc-internal-format
+ msgid "namespace %qD not allowed in using-declaration"
+ msgstr "namespace %qD in %<using%>-Deklaration nicht erlaubt"
+
+-#: cp/name-lookup.c:2092
++#: cp/name-lookup.c:2094
+ #, gcc-internal-format
+ msgid "%qD not declared"
+ msgstr "%qD nicht deklariert"
+
+-#: cp/name-lookup.c:2128 cp/name-lookup.c:2165 cp/name-lookup.c:2199
+-#: cp/name-lookup.c:2214
++#: cp/name-lookup.c:2130 cp/name-lookup.c:2167 cp/name-lookup.c:2201
++#: cp/name-lookup.c:2216
+ #, gcc-internal-format
+ msgid "%qD is already declared in this scope"
+ msgstr "%qD wurde in diesem Gültigkeitsbereich bereits deklariert"
+
+-#: cp/name-lookup.c:2817
++#: cp/name-lookup.c:2819
+ #, gcc-internal-format
+ msgid "using-declaration for non-member at class scope"
+ msgstr "»using«-Deklaration für Nicht-Element im Gültigkeitsbereich der Klasse"
+
+-#: cp/name-lookup.c:2824
++#: cp/name-lookup.c:2826
+ #, gcc-internal-format
+ msgid "%<%T::%D%> names destructor"
+ msgstr "%<%T::%D%> benennt Destruktor"
+
+-#: cp/name-lookup.c:2829
++#: cp/name-lookup.c:2831
+ #, gcc-internal-format
+ msgid "%<%T::%D%> names constructor"
+ msgstr "%<%T::%D%> benennt Konstruktor"
+
+-#: cp/name-lookup.c:2834
++#: cp/name-lookup.c:2836
+ #, gcc-internal-format
+ msgid "%<%T::%D%> names constructor in %qT"
+ msgstr "%<%T::%D%> benennt Konstruktor in %qT"
+
+-#: cp/name-lookup.c:2884
++#: cp/name-lookup.c:2886
+ #, gcc-internal-format
+ msgid "no members matching %<%T::%D%> in %q#T"
+ msgstr "kein Element passt zu %<%T::%D%> in %q#T"
+
+-#: cp/name-lookup.c:2952
++#: cp/name-lookup.c:2954
+ #, gcc-internal-format
+ msgid "declaration of %qD not in a namespace surrounding %qD"
+ msgstr "Deklaration von %qD nicht in einem Namensbereich um %qD"
+
+-#: cp/name-lookup.c:2960
++#: cp/name-lookup.c:2962
+ #, gcc-internal-format
+ msgid "explicit qualification in declaration of %qD"
+ msgstr "explizite Qualifizierung in Deklaration von %qD"
+
+-#: cp/name-lookup.c:3003
++#: cp/name-lookup.c:3005
+ #, gcc-internal-format
+ msgid "%qD should have been declared inside %qD"
+ msgstr "%qD sollte innerhalb von %qD deklariert werden"
+
+-#: cp/name-lookup.c:3048
++#: cp/name-lookup.c:3050
+ #, gcc-internal-format
+ msgid "%qD attribute requires a single NTBS argument"
+ msgstr "Attribut %qD erfordert ein einzelnes NTBS-Argument"
+
+-#: cp/name-lookup.c:3055
++#: cp/name-lookup.c:3057
+ #, gcc-internal-format
+ msgid "%qD attribute is meaningless since members of the anonymous namespace get local symbols"
+ msgstr "Attribut %qD ist bedeutungslos, da die Elemente des anonymen Namensraums lokale Symbole erhalten"
+
+-#: cp/name-lookup.c:3064 cp/name-lookup.c:3433
++#: cp/name-lookup.c:3066 cp/name-lookup.c:3435
+ #, gcc-internal-format
+ msgid "%qD attribute directive ignored"
+ msgstr "Attribut-Anweisung %qD wird ignoriert"
+
+-#: cp/name-lookup.c:3109
++#: cp/name-lookup.c:3111
+ #, gcc-internal-format
+ msgid "namespace alias %qD not allowed here, assuming %qD"
+ msgstr "Namensbereich-Alias %qD ist hier nicht erlaubt, %qD angenommen"
+
+-#: cp/name-lookup.c:3421
++#: cp/name-lookup.c:3423
+ #, gcc-internal-format
+ msgid "strong using only meaningful at namespace scope"
+ msgstr "starkes »using« ist nur im Gültigkeitsbereich des Namensbereiches sinnvoll"
+
+-#: cp/name-lookup.c:3425
++#: cp/name-lookup.c:3427
+ #, gcc-internal-format
+ msgid "current namespace %qD does not enclose strongly used namespace %qD"
+ msgstr "aktueller Namensbereich %qD schließt nicht stark verwendeten Namensbereich %qD ein"
+
+-#: cp/name-lookup.c:4318
++#: cp/name-lookup.c:4320
+ #, gcc-internal-format
+ msgid "%q+D is not a function,"
+ msgstr "%q+D ist keine Funktion,"
+
+-#: cp/name-lookup.c:4319
++#: cp/name-lookup.c:4321
+ #, gcc-internal-format
+ msgid " conflict with %q+D"
+ msgstr " Konflikt mit %q+D"
+
+-#: cp/name-lookup.c:4752
++#: cp/name-lookup.c:4756
+ #, gcc-internal-format
+ msgid "argument dependent lookup finds %q+D"
+ msgstr "Argumentabhängiges Nachschlagen findet %q+D"
+
+-#: cp/name-lookup.c:5184
++#: cp/name-lookup.c:5188
+ #, gcc-internal-format
+ msgid "XXX entering pop_everything ()\n"
+ msgstr "XXX Eintritt in pop_everything ()\n"
+
+-#: cp/name-lookup.c:5193
++#: cp/name-lookup.c:5197
+ #, gcc-internal-format
+ msgid "XXX leaving pop_everything ()\n"
+ msgstr "XXX pop_everything () wird verlassen\n"
+@@ -29971,368 +29978,373 @@
+ msgid "identifier %<%s%> will become a keyword in C++0x"
+ msgstr "Bezeichner %<%s%> wird in C++0x ein Schlüsselwort"
+
+-#: cp/parser.c:2066
++#: cp/parser.c:2069
+ #, gcc-internal-format
+ msgid "%<#pragma%> is not allowed here"
+ msgstr "%<#pragma%> ist hier nicht erlaubt"
+
+-#: cp/parser.c:2096
++#: cp/parser.c:2099
+ #, gcc-internal-format
+ msgid "%<%E::%E%> has not been declared"
+ msgstr "%<%E::%E%> wurde nicht deklariert"
+
+-#: cp/parser.c:2099
++#: cp/parser.c:2102
+ #, gcc-internal-format
+ msgid "%<::%E%> has not been declared"
+ msgstr "%<::%E%> wurde nicht deklariert"
+
+-#: cp/parser.c:2102
++#: cp/parser.c:2105
+ #, gcc-internal-format
+ msgid "request for member %qE in non-class type %qT"
+ msgstr "Abfrage des Elementes %qE in Nicht-Klassentyp %qT"
+
+-#: cp/parser.c:2105
++#: cp/parser.c:2108
+ #, gcc-internal-format
+ msgid "%<%T::%E%> has not been declared"
+ msgstr "%<%T::%E%> wurde nicht deklariert"
+
+-#: cp/parser.c:2108
++#: cp/parser.c:2111
+ #, gcc-internal-format
+ msgid "%qE has not been declared"
+ msgstr "%qE wurde nicht deklariert"
+
+-#: cp/parser.c:2111
++#: cp/parser.c:2114
+ #, gcc-internal-format
+ msgid "%<%E::%E%> %s"
+ msgstr "%<%E::%E%> %s"
+
+-#: cp/parser.c:2113
++#: cp/parser.c:2116
+ #, gcc-internal-format
+ msgid "%<::%E%> %s"
+ msgstr "%<::%E%> %s"
+
+-#: cp/parser.c:2115
++#: cp/parser.c:2118
+ #, gcc-internal-format
+ msgid "%qE %s"
+ msgstr "%qE %s"
+
+-#: cp/parser.c:2151
++#: cp/parser.c:2155
+ #, gcc-internal-format
+-msgid "ISO C++ does not support %<long long%>"
+-msgstr "ISO-C++ unterstützt nicht %<long long%>"
++msgid "ISO C++ 1998 does not support %<long long%>"
++msgstr "ISO-C++ 1998 unterstützt nicht %<long long%>"
+
+-#: cp/parser.c:2171
++#: cp/parser.c:2175
+ #, gcc-internal-format
+ msgid "duplicate %qs"
+ msgstr "doppeltes %qs"
+
+-#: cp/parser.c:2214
++#: cp/parser.c:2218
+ #, gcc-internal-format
+ msgid "new types may not be defined in a return type"
+ msgstr "neue Typen dürfen nicht in einem Rückgabetyp definiert werden"
+
+-#: cp/parser.c:2215
++#: cp/parser.c:2219
+ #, gcc-internal-format
+ msgid "(perhaps a semicolon is missing after the definition of %qT)"
+ msgstr "(vielleicht fehlt ein Semikolon hinter der Definition von %qT)"
+
+-#: cp/parser.c:2234 cp/parser.c:4077 cp/pt.c:5443
++#: cp/parser.c:2238 cp/parser.c:4081 cp/pt.c:5509
+ #, gcc-internal-format
+ msgid "%qT is not a template"
+ msgstr "%qT ist kein Template"
+
+-#: cp/parser.c:2236
++#: cp/parser.c:2240
+ #, gcc-internal-format
+ msgid "%qE is not a template"
+ msgstr "%qE ist kein Template"
+
+-#: cp/parser.c:2238
++#: cp/parser.c:2242
+ #, gcc-internal-format
+ msgid "invalid template-id"
+ msgstr "ungültige Template-ID"
+
+-#: cp/parser.c:2267
++#: cp/parser.c:2271
+ #, gcc-internal-format
+ msgid "%s cannot appear in a constant-expression"
+ msgstr "%s kann nicht in einem Konstanten-Ausdruck auftreten"
+
+-#: cp/parser.c:2292
++#: cp/parser.c:2296
+ #, 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/parser.c:2294
++#: cp/parser.c:2298
+ #, gcc-internal-format
+ msgid "invalid use of destructor %qD as a type"
+ msgstr "ungültige Benutzung des Destruktors %qD als Typ"
+
+ #. Something like 'unsigned A a;'
+-#: cp/parser.c:2297
++#: cp/parser.c:2301
+ #, gcc-internal-format
+ msgid "invalid combination of multiple type-specifiers"
+ msgstr "ungültige Kombination mehrerer Typ-Spezifizierer"
+
+ #. Issue an error message.
+-#: cp/parser.c:2301
++#: cp/parser.c:2305
+ #, gcc-internal-format
+ msgid "%qE does not name a type"
+ msgstr "%qE bezeichnet keinen Typ"
+
+-#: cp/parser.c:2333
++#: cp/parser.c:2337
+ #, gcc-internal-format
+ msgid "(perhaps %<typename %T::%E%> was intended)"
+ msgstr "(vielleicht war %<typename %T::%E%> beabsichtigt)"
+
+-#: cp/parser.c:2348
++#: cp/parser.c:2352
+ #, gcc-internal-format
+ msgid "%qE in namespace %qE does not name a type"
+ msgstr "%qE in Namensbereich %qE bezeichnet keinen Typ"
+
+-#: cp/parser.c:2351
++#: cp/parser.c:2355
+ #, gcc-internal-format
+ msgid "%qE in class %qT does not name a type"
+ msgstr "%qE in Klasse %qT bezeichnet keinen Typen"
+
+-#: cp/parser.c:3160
++#: cp/parser.c:3164
+ #, gcc-internal-format
+ msgid "ISO C++ forbids braced-groups within expressions"
+ msgstr "ISO-C++ verbietet Gruppen in geschweiften Klammern innerhalb von Ausdrücken"
+
+-#: cp/parser.c:3171
++#: cp/parser.c:3175
+ #, gcc-internal-format
+ msgid "statement-expressions are not allowed outside functions nor in template-argument lists"
+ msgstr "Anweisungs-Ausdrücke sind weder außerhalb von Funktionen noch in Template-Argumenten erlaubt"
+
+-#: cp/parser.c:3229
++#: cp/parser.c:3233
+ #, gcc-internal-format
+ msgid "%<this%> may not be used in this context"
+ msgstr "%<this%> darf in diesem Kontext nicht verwendet werden"
+
+-#: cp/parser.c:3412
++#: cp/parser.c:3416
+ #, gcc-internal-format
+ msgid "local variable %qD may not appear in this context"
+ msgstr "lokale Variable %qD darf in diesem Kontext nicht auftauchen"
+
+-#: cp/parser.c:3711
++#: cp/parser.c:3715
+ #, gcc-internal-format
+ msgid "scope %qT before %<~%> is not a class-name"
+ msgstr "Bereich %qT vor %<~%> ist kein Klassenname"
+
+-#: cp/parser.c:3812
++#: cp/parser.c:3816
+ #, gcc-internal-format
+ msgid "declaration of %<~%T%> as member of %qT"
+ msgstr "Deklaration von %<~%T%> als Element von %qT"
+
+-#: cp/parser.c:3826
++#: cp/parser.c:3830
+ #, gcc-internal-format
+ msgid "typedef-name %qD used as destructor declarator"
+ msgstr "typedef-Name %qD als Destruktor-Deklarator verwendet"
+
+-#: cp/parser.c:4480
++#: cp/parser.c:4484
+ #, gcc-internal-format
+ msgid "ISO C++ forbids compound-literals"
+ msgstr "ISO-C++ verbietet zusammengesetzte Literale"
+
+-#: cp/parser.c:4837
++#: cp/parser.c:4841
+ #, gcc-internal-format
+ msgid "%qE does not have class type"
+ msgstr "%qE hat keinen Klassentyp"
+
+-#: cp/parser.c:4920 cp/typeck.c:1978
++#: cp/parser.c:4924 cp/typeck.c:2024
+ #, gcc-internal-format
+ msgid "invalid use of %qD"
+ msgstr "ungültige Verwendung von %qD"
+
+-#: cp/parser.c:5480
++#: cp/parser.c:5486
+ #, gcc-internal-format
+ msgid "array bound forbidden after parenthesized type-id"
+ msgstr "Feldgrenze hinter geklammerter type-id ist verboten"
+
+-#: cp/parser.c:5481
++#: cp/parser.c:5487
+ #, gcc-internal-format
+ msgid "try removing the parentheses around the type-id"
+ msgstr "Klammern um die Type-ID sollten entfernt werden"
+
+-#: cp/parser.c:5671
++#: cp/parser.c:5677
+ #, gcc-internal-format
+ msgid "expression in new-declarator must have integral or enumeration type"
+ msgstr "Ausdruck in new-Deklarator muss Ganzzahl- oder Aufzählungstyp haben"
+
+-#: cp/parser.c:5860
++#: cp/parser.c:5866
+ #, gcc-internal-format
+ msgid "use of old-style cast"
+ msgstr "Verwendung einer Typumwandlung im alten Stil"
+
+-#: cp/parser.c:5986
++#: cp/parser.c:5992
+ #, gcc-internal-format
+ msgid "%H%<>>%> operator will be treated as two right angle brackets in C++0x"
+ msgstr "%HOperator %<>>%> wird in C++0x als zwei spitze schließende Klammern behandelt"
+
+-#: cp/parser.c:5989
++#: cp/parser.c:5995
+ #, gcc-internal-format
+ msgid "suggest parentheses around %<>>%> expression"
+ msgstr "Klammern um %<>>%>-Ausdruck empfohlen"
+
+-#: cp/parser.c:6793
++#: cp/parser.c:6799
+ #, gcc-internal-format
+ msgid "case label %qE not within a switch statement"
+ msgstr "case-Marke %qE nicht innerhalb einer switch-Anweisung"
+
+-#: cp/parser.c:6922
++#: cp/parser.c:6928
+ #, gcc-internal-format
+ msgid "%<else%> without a previous %<if%>"
+ msgstr "%<else%> ohne vorheriges %<if%>"
+
+-#: cp/parser.c:7208
++#: cp/parser.c:7214
+ #, gcc-internal-format
+ msgid "suggest a space before %<;%> or explicit braces around empty body in %<%s%> statement"
+ msgstr "vor %<;%> wird ein Leerzeichen empfohlen oder explizite geschweifte Klammern um leeren Körper in Anweisung %<%s%>"
+
+-#: cp/parser.c:7468
++#: cp/parser.c:7474
+ #, gcc-internal-format
+ msgid "ISO C++ forbids computed gotos"
+ msgstr "ISO-C++ verbietet berechnete Gotos"
+
+-#: cp/parser.c:7608
++#: cp/parser.c:7614
+ #, gcc-internal-format
+ msgid "extra %<;%>"
+ msgstr "zusätzliches %<;%>"
+
+-#: cp/parser.c:7825
++#: cp/parser.c:7831
+ #, gcc-internal-format
+ msgid "%<__label__%> not at the beginning of a block"
+ msgstr "%<__label__%> nicht am Anfang eines Blocks"
+
+-#: cp/parser.c:7958
++#: cp/parser.c:7964
+ #, gcc-internal-format
+ msgid "mixing declarations and function-definitions is forbidden"
+ msgstr "Vermischung von Deklarationen und Funktionsdefinitionen ist verboten"
+
+-#: cp/parser.c:8090
++#: cp/parser.c:8096
+ #, gcc-internal-format
+ msgid "%<friend%> used outside of class"
+ msgstr "%<friend%> außerhalb einer Klasse verwendet"
+
+-#: cp/parser.c:8244
++#: cp/parser.c:8250
+ #, gcc-internal-format
+ msgid "class definition may not be declared a friend"
+ msgstr "Klassendefinition darf nicht als »friend« deklariert sein"
+
+-#: cp/parser.c:8308 cp/parser.c:15155
++#: cp/parser.c:8314 cp/parser.c:15235
+ #, gcc-internal-format
+ msgid "templates may not be %<virtual%>"
+ msgstr "Templates dürfen nicht %<virtual%> sein"
+
+-#: cp/parser.c:8775
++#: cp/parser.c:8786
+ #, gcc-internal-format
+ msgid "only constructors take base initializers"
+ msgstr "nur Konstruktoren nehmen Basisinitialisierungen"
+
+-#: cp/parser.c:8795
++#: cp/parser.c:8806
+ #, gcc-internal-format
+ msgid "cannot expand initializer for member %<%D%>"
+ msgstr "Initialisierung für Element %<%D%> kann nicht aufgelöst werden"
+
+-#: cp/parser.c:8847
++#: cp/parser.c:8858
+ #, gcc-internal-format
+ msgid "anachronistic old-style base class initializer"
+ msgstr "anachronistische Basisklasseninitialisierung im alten Stil"
+
+-#: cp/parser.c:8892
++#: cp/parser.c:8903
+ #, gcc-internal-format
+ msgid "keyword %<typename%> not allowed in this context (a qualified member initializer is implicitly a type)"
+ msgstr "Schlüsselwort %<typename%> in diesem Kontext nicht erlaubt (eine qualifizierte Elementinitialisierung ist implizit ein Typ)"
+
+ #. Warn that we do not support `export'.
+-#: cp/parser.c:9237
++#: cp/parser.c:9248
+ #, gcc-internal-format
+ msgid "keyword %<export%> not implemented, and will be ignored"
+ msgstr "Schlüsselwort %<export%> nicht implementiert, und wird ignoriert"
+
+-#: cp/parser.c:9482 cp/parser.c:9583
++#: cp/parser.c:9419 cp/parser.c:9517 cp/parser.c:9618
+ #, gcc-internal-format
+ msgid "template parameter pack %qD cannot have a default argument"
+ msgstr "Templateparameterpack %qD kann kein Standardargument haben"
+
+-#: cp/parser.c:9485 cp/parser.c:9586
++#: cp/parser.c:9422
+ #, gcc-internal-format
++msgid "template parameter pack cannot have a default argument"
++msgstr "Templateparameterpack kann kein Standardargument haben"
++
++#: cp/parser.c:9520 cp/parser.c:9621
++#, gcc-internal-format
+ msgid "template parameter packs cannot have default arguments"
+ msgstr "Template-Parameterpacks können keine Standardargumente haben"
+
+ #. Otherwise, emit an error about the invalid digraph, but continue
+ #. parsing because we got our argument list.
+-#: cp/parser.c:9723
++#: cp/parser.c:9758
+ #, gcc-internal-format
+ msgid "%<<::%> cannot begin a template-argument list"
+ msgstr "%<<::%> kann keine Templateargumentliste einleiten"
+
+-#: cp/parser.c:9724
++#: cp/parser.c:9759
+ #, gcc-internal-format
+ msgid "%<<:%> is an alternate spelling for %<[%>. Insert whitespace between %<<%> and %<::%>"
+ msgstr "%<<:%> ist eine andere Schreibweise für %<[%>. Leerraum zwischen %<<%> und %<::%> einfügen"
+
+-#: cp/parser.c:9731
++#: cp/parser.c:9766
+ #, gcc-internal-format
+ msgid "(if you use -fpermissive G++ will accept your code)"
+ msgstr "(G++ wird den Code mit »-fpermissive« akzeptieren)"
+
+-#: cp/parser.c:9804
++#: cp/parser.c:9839
+ #, gcc-internal-format
+ msgid "parse error in template argument list"
+ msgstr "Syntaxfehler in Templateargumentliste"
+
+ #. Explain what went wrong.
+-#: cp/parser.c:9917
++#: cp/parser.c:9952
+ #, gcc-internal-format
+ msgid "non-template %qD used as template"
+ msgstr "Nicht-Template %qD als Template verwendet"
+
+-#: cp/parser.c:9918
++#: cp/parser.c:9953
+ #, gcc-internal-format
+ msgid "use %<%T::template %D%> to indicate that it is a template"
+ msgstr "%<%T::template %D%> verwenden, um dies als Template zu kennzeichnen"
+
+-#: cp/parser.c:10441
++#: cp/parser.c:10476
+ #, gcc-internal-format
+ msgid "template specialization with C linkage"
+ msgstr "Templatespezialisierung mit C-Bindung angegeben"
+
+-#: cp/parser.c:11032
++#: cp/parser.c:11067
+ #, gcc-internal-format
+ msgid "using %<typename%> outside of template"
+ msgstr "%<typename%> außerhalb des Templates verwendet"
+
+-#: cp/parser.c:11191
++#: cp/parser.c:11226
+ #, gcc-internal-format
+ msgid "declaration %qD does not declare anything"
+ msgstr "Deklaration %qD deklariert nichts"
+
+-#: cp/parser.c:11275
++#: cp/parser.c:11310
+ #, gcc-internal-format
+ msgid "attributes ignored on uninstantiated type"
+ msgstr "Attribute an instanziiertem Typen ignoriert"
+
+-#: cp/parser.c:11279
++#: cp/parser.c:11314
+ #, gcc-internal-format
+ msgid "attributes ignored on template instantiation"
+ msgstr "Attribute an Templateinstanziierung ignoriert"
+
+-#: cp/parser.c:11284
++#: cp/parser.c:11319
+ #, gcc-internal-format
+ msgid "attributes ignored on elaborated-type-specifier that is not a forward declaration"
+ msgstr "Attribute an Spezifizierer ausführlichen Typs ignoriert, der keine Vorwärtsdeklaration ist"
+
+-#: cp/parser.c:11406
++#: cp/parser.c:11441
+ #, gcc-internal-format
+ msgid "comma at end of enumerator list"
+ msgstr "Komma am Ende der Aufzählungsliste"
+
+-#: cp/parser.c:11498
++#: cp/parser.c:11533
+ #, gcc-internal-format
+ msgid "%qD is not a namespace-name"
+ msgstr "%qD ist kein Namensbereichs-Name"
+
+-#: cp/parser.c:11599
++#: cp/parser.c:11634
+ #, gcc-internal-format
+ msgid "%<namespace%> definition is not allowed here"
+ msgstr "%<namespace%>-Definition ist hier nicht erlaubt"
+@@ -30340,142 +30352,157 @@
+ #. [namespace.udecl]
+ #.
+ #. A using declaration shall not name a template-id.
+-#: cp/parser.c:11738
++#: cp/parser.c:11773
+ #, gcc-internal-format
+ msgid "a template-id may not appear in a using-declaration"
+ msgstr "eine Template-ID darf nicht in »using«-Deklaration auftreten"
+
+-#: cp/parser.c:12094
++#: cp/parser.c:12135
+ #, gcc-internal-format
+ msgid "an asm-specification is not allowed on a function-definition"
+ msgstr "asm-Spezifikation ist bei Funktionsdefinition nicht erlaubt"
+
+-#: cp/parser.c:12096
++#: cp/parser.c:12137
+ #, gcc-internal-format
+ msgid "attributes are not allowed on a function-definition"
+ msgstr "bei einer Funktionsdefinition sind keine Attribute erlaubt"
+
+-#: cp/parser.c:12229
++#: cp/parser.c:12270
+ #, gcc-internal-format
+ msgid "initializer provided for function"
+ msgstr "Initialisierung für Funktion bereitgestellt"
+
+-#: cp/parser.c:12249
++#: cp/parser.c:12290
+ #, gcc-internal-format
+ msgid "attributes after parenthesized initializer ignored"
+ msgstr "Attribute hinter geklammerter Initialisierung werden ignoriert"
+
+-#: cp/parser.c:12630 cp/pt.c:8772
++#: cp/parser.c:12671 cp/pt.c:8893
+ #, gcc-internal-format
+ msgid "array bound is not an integer constant"
+ msgstr "Feldgrenze ist keine Ganzzahlkonstante"
+
+-#: cp/parser.c:12739
++#: cp/parser.c:12780
+ #, gcc-internal-format
+ msgid "%<%T::%E%> is not a type"
+ msgstr "%<%T::%E%> ist kein Typ"
+
+-#: cp/parser.c:12765
++#: cp/parser.c:12806
+ #, gcc-internal-format
+ msgid "invalid use of constructor as a template"
+ msgstr "ungültige Benutzung des Konstruktors als Template"
+
+-#: cp/parser.c:12766
++#: cp/parser.c:12807
+ #, gcc-internal-format
+ msgid "use %<%T::%D%> instead of %<%T::%D%> to name the constructor in a qualified name"
+ msgstr "%<%T::%D%> statt %<%T::%D%> verwenden, um den Konstruktor mit qualifiziertem Namen zu benennen"
+
+-#: cp/parser.c:12938
++#: cp/parser.c:12979
+ #, gcc-internal-format
+ msgid "%qD is a namespace"
+ msgstr "%qD ist ein Namensbereich"
+
+-#: cp/parser.c:13013
++#: cp/parser.c:13054
+ #, gcc-internal-format
+ msgid "duplicate cv-qualifier"
+ msgstr "doppelter CV-Qualifizierer"
+
+-#: cp/parser.c:13600
++#: cp/parser.c:13640
+ #, gcc-internal-format
+ msgid "file ends in default argument"
+ msgstr "Datei endet in Standardargument"
+
+-#: cp/parser.c:13673
++#: cp/parser.c:13683
+ #, gcc-internal-format
+ msgid "deprecated use of default argument for parameter of non-function"
+ msgstr "veraltete Verwendung des Standardarguments für Parameter einer Nicht-Funktion"
+
+-#: cp/parser.c:13676
++#: cp/parser.c:13686
+ #, gcc-internal-format
+ msgid "default arguments are only permitted for function parameters"
+ msgstr "Standardargumente sind nur für Funktionsparameter zugelassen"
+
+-#: cp/parser.c:13877
++#: cp/parser.c:13702
+ #, gcc-internal-format
++msgid "%sparameter pack %qD cannot have a default argument"
++msgstr "%sParameterpack %qD kann kein Standardargument haben"
++
++#: cp/parser.c:13705
++#, gcc-internal-format
++msgid "%sparameter pack cannot have a default argument"
++msgstr "%sParameterpack kann kein Standardargument haben"
++
++#: cp/parser.c:13947
++#, gcc-internal-format
+ msgid "ISO C++ does not allow designated initializers"
+ msgstr "ISO-C++ erlaubt keine benannten Initialisierungen"
+
+-#: cp/parser.c:14477
++#: cp/parser.c:14547
+ #, gcc-internal-format
+ msgid "invalid class name in declaration of %qD"
+ msgstr "ungültiger Klassenname in Deklaration von %qD"
+
+-#: cp/parser.c:14489
++#: cp/parser.c:14559
+ #, gcc-internal-format
+ msgid "declaration of %qD in namespace %qD which does not enclose %qD"
+ msgstr "Deklaration von %qD in Namensraum %qD, der nicht %qD einschließt"
+
+-#: cp/parser.c:14492
++#: cp/parser.c:14562
+ #, gcc-internal-format
+ msgid "declaration of %qD in %qD which does not enclose %qD"
+ msgstr "Deklaration von %qD in %qD, das nicht %qD einschließt"
+
+-#: cp/parser.c:14505
++#: cp/parser.c:14575
+ #, gcc-internal-format
+ msgid "extra qualification ignored"
+ msgstr "zusätzliche Qualifizierung ignoriert"
+
+-#: cp/parser.c:14516
++#: cp/parser.c:14586
+ #, gcc-internal-format
+ msgid "an explicit specialization must be preceded by %<template <>%>"
+ msgstr "einer expliziten Spezialisierung muss %<template <>%> vorausgehen"
+
+-#: cp/parser.c:14609
++#: cp/parser.c:14613
+ #, gcc-internal-format
++msgid "function template %qD redeclared as a class template"
++msgstr "Funktions-Template %qD als Klassentemplate redeklariert"
++
++#: cp/parser.c:14689
++#, gcc-internal-format
+ msgid "previous definition of %q+#T"
+ msgstr "vorherige Definition von %q+#T"
+
+-#: cp/parser.c:14855
++#: cp/parser.c:14935
+ #, gcc-internal-format
+ msgid "%Hextra %<;%>"
+ msgstr "%Hzusätzliches %<;%>"
+
+-#: cp/parser.c:14873
++#: cp/parser.c:14953
+ #, gcc-internal-format
+ msgid "a class-key must be used when declaring a friend"
+ msgstr "ein Klassenschlüssel muss bei Deklaration als »friend« verwendet werden"
+
+-#: cp/parser.c:14887
++#: cp/parser.c:14967
+ #, gcc-internal-format
+ msgid "friend declaration does not name a class or function"
+ msgstr "»friend«-Deklaration benennt keine Klasse oder Funktion"
+
+-#: cp/parser.c:15064
++#: cp/parser.c:15144
+ #, gcc-internal-format
+ msgid "pure-specifier on function-definition"
+ msgstr "reiner Spezifizierer bei Funktionsdefinition"
+
+-#: cp/parser.c:15356
++#: cp/parser.c:15438
+ #, gcc-internal-format
+ msgid "keyword %<typename%> not allowed outside of templates"
+ msgstr "Schlüsselwort %<typename%> nicht außerhalb von Templates erlaubt"
+
+-#: cp/parser.c:15358
++#: cp/parser.c:15440
+ #, gcc-internal-format
+ msgid "keyword %<typename%> not allowed in this context (the base class is implicitly a type)"
+ msgstr "Schlüsselwort %<typename%> nicht erlaubt in diesem Kontext (die Basisklasse ist implizit ein Typ)"
+
+-#: cp/parser.c:16407
++#: cp/parser.c:16489
+ #, gcc-internal-format
+ msgid "too few template-parameter-lists"
+ msgstr "zu wenige Templateparameterlisten"
+@@ -30484,13 +30511,13 @@
+ #. something like:
+ #.
+ #. template <class T> template <class U> void S::f();
+-#: cp/parser.c:16422
++#: cp/parser.c:16504
+ #, gcc-internal-format
+ msgid "too many template-parameter-lists"
+ msgstr "zu viele Templateparameterlisten"
+
+ #. Issue an error message.
+-#: cp/parser.c:16694
++#: cp/parser.c:16776
+ #, gcc-internal-format
+ msgid "named return values are no longer supported"
+ msgstr "benannte Rückgabewerte werden nicht mehr unterstützt"
+@@ -30498,234 +30525,234 @@
+ #. 14.5.2.2 [temp.mem]
+ #.
+ #. A local class shall not have member templates.
+-#: cp/parser.c:16766
++#: cp/parser.c:16848
+ #, gcc-internal-format
+ msgid "invalid declaration of member template in local class"
+ msgstr "ungültige Deklaration eines Elementtemplates in lokaler Klasse"
+
+-#: cp/parser.c:16775
++#: cp/parser.c:16857
+ #, gcc-internal-format
+ msgid "template with C linkage"
+ msgstr "Template mit C-Bindung"
+
+-#: cp/parser.c:16919
++#: cp/parser.c:17001
+ #, gcc-internal-format
+ msgid "template declaration of %qs"
+ msgstr "Templatedeklaration von %qs"
+
+-#: cp/parser.c:16982
++#: cp/parser.c:17064
+ #, gcc-internal-format
+ msgid "explicit template specialization cannot have a storage class"
+ msgstr "explizite Template-Spezialisierung kann keine Speicherklasse haben"
+
+-#: cp/parser.c:17171
++#: cp/parser.c:17253
+ #, gcc-internal-format
+ msgid "%H%<>>%> should be %<> >%> within a nested template argument list"
+ msgstr "%H%<>>%> sollte innerhalb einer geschachtelten Templateargumentliste %<> >%> sein"
+
+-#: cp/parser.c:17184
++#: cp/parser.c:17266
+ #, gcc-internal-format
+ msgid "spurious %<>>%>, use %<>%> to terminate a template argument list"
+ msgstr "falsches %<>>%>; %<>%> verwenden, um eine Templateargumentliste zu beenden"
+
+-#: cp/parser.c:17519
++#: cp/parser.c:17601
+ #, gcc-internal-format
+ msgid "invalid use of %qD in linkage specification"
+ msgstr "ungültige Verwendung von %qD in Spezifizierung der Bindung"
+
+-#: cp/parser.c:17532
++#: cp/parser.c:17614
+ #, gcc-internal-format
+ msgid "%<__thread%> before %qD"
+ msgstr "%<__thread%> vor %qD"
+
+-#: cp/parser.c:17847
++#: cp/parser.c:17929
+ #, gcc-internal-format
+ msgid "%qs tag used in naming %q#T"
+ msgstr "Markierung %qs bei Benennung von %q#T verwendet"
+
+-#: cp/parser.c:17868
++#: cp/parser.c:17950
+ #, gcc-internal-format
+ msgid "%qD redeclared with different access"
+ msgstr "%qD mit anderem Zugriff redeklariert"
+
+-#: cp/parser.c:17885
++#: cp/parser.c:17967
+ #, gcc-internal-format
+ msgid "%<template%> (as a disambiguator) is only allowed within templates"
+ msgstr "%<template%> (zur Erklärung) ist nur innerhalb von Templates erlaubt"
+
+-#: cp/parser.c:18138 cp/parser.c:19061 cp/parser.c:19192
++#: cp/parser.c:18220 cp/parser.c:19143 cp/parser.c:19274
+ #, gcc-internal-format
+ msgid "misplaced %<@%D%> Objective-C++ construct"
+ msgstr "unpassendes Objective-C++-Konstrukt %<@%D%>"
+
+-#: cp/parser.c:18279
++#: cp/parser.c:18361
+ #, gcc-internal-format
+ msgid "%<@encode%> must specify a type as an argument"
+ msgstr "%<@encode%> muss als Argument einen Typen angeben"
+
+-#: cp/parser.c:18594
++#: cp/parser.c:18676
+ #, gcc-internal-format
+ msgid "invalid Objective-C++ selector name"
+ msgstr "Ungültiger Objective-C++-Selektorname"
+
+-#: cp/parser.c:18925
++#: cp/parser.c:19007
+ #, gcc-internal-format
+ msgid "identifier expected after %<@protocol%>"
+ msgstr "Bezeichner nach %<@protocol%> erwartet"
+
+-#: cp/parser.c:19626
++#: cp/parser.c:19708
+ #, gcc-internal-format
+ msgid "schedule %<runtime%> does not take a %<chunk_size%> parameter"
+ msgstr "Ablauf %<runtime%> akzeptiert keinen Parameter %<chunk_size%>"
+
+-#: cp/parser.c:19735
++#: cp/parser.c:19824
+ #, gcc-internal-format
+ msgid "%qs is not valid for %qs"
+ msgstr "%qs ist für %qs ungültig"
+
+-#: cp/parser.c:20390
++#: cp/parser.c:20479
+ #, gcc-internal-format
+ msgid "junk at end of %<#pragma GCC pch_preprocess%>"
+ msgstr "Ausschuss am Ende von %<#pragma GCC pch_preprocess%>"
+
+-#: cp/parser.c:20477
++#: cp/parser.c:20566
+ #, gcc-internal-format
+ msgid "%<#pragma omp section%> may only be used in %<#pragma omp sections%> construct"
+ msgstr "%<#pragma omp section%> darf nur in %<#pragma omp sections%>-Konstrukt verwendet werden"
+
+-#: cp/parser.c:20535
++#: cp/parser.c:20624
+ #, gcc-internal-format
+ msgid "inter-module optimizations not implemented for C++"
+ msgstr "Optimierungen zwischen Modulen noch nicht implementiert für C++"
+
+-#: cp/pt.c:249
++#: cp/pt.c:252
+ #, gcc-internal-format
+ msgid "data member %qD cannot be a member template"
+ msgstr "Datenelement %qD kann kein Elementtemplate sein"
+
+-#: cp/pt.c:261
++#: cp/pt.c:264
+ #, gcc-internal-format
+ msgid "invalid member template declaration %qD"
+ msgstr "ungültige Elementtemplatedeklaration %qD"
+
+-#: cp/pt.c:609
++#: cp/pt.c:612
+ #, gcc-internal-format
+ msgid "explicit specialization in non-namespace scope %qD"
+ msgstr "explizite Spezialisierung in Gültigkeitsbereich des Nicht-Namensbereiches %qD"
+
+-#: cp/pt.c:623
++#: cp/pt.c:626
+ #, gcc-internal-format
+ msgid "enclosing class templates are not explicitly specialized"
+ msgstr "einschließende Klassentemplates werden nicht explizit spezialisiert"
+
+-#: cp/pt.c:711
++#: cp/pt.c:714
+ #, gcc-internal-format
+ msgid "specialization of %qD in different namespace"
+ msgstr "Spezialisierung von %qD in anderem Namensbereich"
+
+-#: cp/pt.c:712 cp/pt.c:809
++#: cp/pt.c:715 cp/pt.c:812
+ #, gcc-internal-format
+ msgid " from definition of %q+#D"
+ msgstr " aus Definition von %q+#D"
+
+-#: cp/pt.c:729
++#: cp/pt.c:732
+ #, gcc-internal-format
+ msgid "explicit instantiation of %qD in namespace %qD (which does not enclose namespace %qD)"
+ msgstr "explizite Instantiierung von %qD in Namensbereich %qD (das nicht Namensbereich %qD einschließt)"
+
+-#: cp/pt.c:747
++#: cp/pt.c:750
+ #, gcc-internal-format
+ msgid "name of class shadows template template parameter %qD"
+ msgstr "Name der Klasse verdeckt Template-Templateparameter %qD"
+
+-#: cp/pt.c:776
++#: cp/pt.c:779
+ #, gcc-internal-format
+ msgid "specialization of %qT after instantiation"
+ msgstr "Spezialisierung von %qT hinter Instanziierung"
+
+-#: cp/pt.c:808
++#: cp/pt.c:811
+ #, gcc-internal-format
+ msgid "specializing %q#T in different namespace"
+ msgstr "%q#T wird in anderem Namensbereich spezialisiert"
+
+-#: cp/pt.c:823
++#: cp/pt.c:826
+ #, gcc-internal-format
+ msgid "specialization %qT after instantiation %qT"
+ msgstr "Spezialisierung %qT hinter Instanziierung %qT"
+
+-#: cp/pt.c:836
++#: cp/pt.c:839
+ #, gcc-internal-format
+ msgid "explicit specialization of non-template %qT"
+ msgstr "explizite Spezialisierung des Nicht-Templates %qT"
+
+-#: cp/pt.c:1238
++#: cp/pt.c:1246
+ #, gcc-internal-format
+ msgid "specialization of %qD after instantiation"
+ msgstr "Spezialisierung von %qD nach Instanziierung"
+
+-#: cp/pt.c:1464
++#: cp/pt.c:1472
+ #, gcc-internal-format
+ msgid "%qD is not a function template"
+ msgstr "%qD ist kein Funktionstemplate"
+
+-#: cp/pt.c:1673
++#: cp/pt.c:1681
+ #, gcc-internal-format
+ msgid "template-id %qD for %q+D does not match any template declaration"
+ msgstr "Template-ID %qD für %q+D passt zu keiner Templatedeklaration"
+
+-#: cp/pt.c:1681
++#: cp/pt.c:1689
+ #, gcc-internal-format
+ msgid "ambiguous template specialization %qD for %q+D"
+ msgstr "mehrdeutige Templatespezialisierung %qD für %q+D"
+
+ #. This case handles bogus declarations like template <>
+ #. template <class T> void f<int>();
+-#: cp/pt.c:1916 cp/pt.c:1970
++#: cp/pt.c:1924 cp/pt.c:1978
+ #, gcc-internal-format
+ msgid "template-id %qD in declaration of primary template"
+ msgstr "Template-ID %qD in Deklaration des ersten Templates"
+
+-#: cp/pt.c:1929
++#: cp/pt.c:1937
+ #, gcc-internal-format
+ msgid "template parameter list used in explicit instantiation"
+ msgstr "Templateparameterliste in expliziter Instanziierung verwendet"
+
+-#: cp/pt.c:1935
++#: cp/pt.c:1943
+ #, gcc-internal-format
+ msgid "definition provided for explicit instantiation"
+ msgstr "Definition für explizite Instanziierung angegeben"
+
+-#: cp/pt.c:1943
++#: cp/pt.c:1951
+ #, gcc-internal-format
+ msgid "too many template parameter lists in declaration of %qD"
+ msgstr "zu viele Templateparameterlisten in Deklaration von %qD"
+
+-#: cp/pt.c:1946
++#: cp/pt.c:1954
+ #, gcc-internal-format
+ msgid "too few template parameter lists in declaration of %qD"
+ msgstr "zu wenige Templateparameterlisten in Deklaration von %qD"
+
+-#: cp/pt.c:1948
++#: cp/pt.c:1956
+ #, gcc-internal-format
+ msgid "explicit specialization of %qD must be introduced by %<template <>%>"
+ msgstr "der expliziten Spezialisierung von %D muss %<template <>%> vorausgehen"
+
+-#: cp/pt.c:1967
++#: cp/pt.c:1975
+ #, gcc-internal-format
+ msgid "function template partial specialization %qD is not allowed"
+ msgstr "Teilspezialisierung %qD des Funktionstemplates ist nicht erlaubt"
+
+-#: cp/pt.c:1999
++#: cp/pt.c:2007
+ #, gcc-internal-format
+ msgid "default argument specified in explicit specialization"
+ msgstr "Standardargument in expliziter Spezialisierung angegeben"
+
+-#: cp/pt.c:2029
++#: cp/pt.c:2037
+ #, gcc-internal-format
+ msgid "%qD is not a template function"
+ msgstr "%qD ist keine Templatefunktion"
+
+-#: cp/pt.c:2037
++#: cp/pt.c:2045
+ #, gcc-internal-format
+ msgid "%qD is not declared in %qD"
+ msgstr "%qD in %qD nicht deklariert"
+@@ -30738,100 +30765,110 @@
+ #. program is ill-formed.
+ #.
+ #. Similar language is found in [temp.explicit].
+-#: cp/pt.c:2099
++#: cp/pt.c:2107
+ #, gcc-internal-format
+ msgid "specialization of implicitly-declared special member function"
+ msgstr "Spezialisierung der implizit deklarierten speziellen Elementfunktion"
+
+-#: cp/pt.c:2143
++#: cp/pt.c:2151
+ #, gcc-internal-format
+ msgid "no member function %qD declared in %qT"
+ msgstr "keine Elementfunktion %qD in %qT deklariert"
+
+-#: cp/pt.c:2642
++#: cp/pt.c:2628
+ #, gcc-internal-format
+ msgid "base initializer expansion %<%T%> contains no parameter packs"
+ msgstr "Auflösung der Basisinitialisierung %<%T%> enthält keine Parameterpacks"
+
+-#: cp/pt.c:2701
++#: cp/pt.c:2687
+ #, gcc-internal-format
+ msgid "expansion pattern %<%T%> contains no argument packs"
+ msgstr "Auflösungsmuster %<%T%> enthält keine Argumentpacks"
+
+-#: cp/pt.c:2703
++#: cp/pt.c:2689
+ #, gcc-internal-format
+ msgid "expansion pattern %<%E%> contains no argument packs"
+ msgstr "Auflösungsmuster %<%E%> enthält keine Argumentpacks"
+
+-#: cp/pt.c:2745
++#: cp/pt.c:2730
+ #, gcc-internal-format
+ msgid "parameter packs not expanded with `...':"
+ msgstr "Parameterpacks nicht mit »...« aufgelöst:"
+
+-#: cp/pt.c:2760 cp/pt.c:3383
++#: cp/pt.c:2745 cp/pt.c:3361
+ #, gcc-internal-format
+ msgid " %qD"
+ msgstr " %qD"
+
+-#: cp/pt.c:2762
++#: cp/pt.c:2747
+ #, gcc-internal-format
+ msgid " <anonymous>"
+ msgstr " <anonym>"
+
+-#: cp/pt.c:2875
++#: cp/pt.c:2852
+ #, gcc-internal-format
+ msgid "declaration of %q+#D"
+ msgstr "Deklaration von %q+#D"
+
+-#: cp/pt.c:2876
++#: cp/pt.c:2853
+ #, gcc-internal-format
+ msgid " shadows template parm %q+#D"
+ msgstr " überdeckt Templateparameter %q+#D"
+
+-#: cp/pt.c:3379
++#: cp/pt.c:3357
+ #, gcc-internal-format
+ msgid "template parameters not used in partial specialization:"
+ msgstr "nicht in partieller Spezialisierung verwendete Templateparameter:"
+
+-#: cp/pt.c:3394
++#: cp/pt.c:3372
+ #, gcc-internal-format
+ msgid "partial specialization %qT does not specialize any template arguments"
+ msgstr "Teilspezialisierung %qT spezialisiert keine Templateargumente"
+
+-#: cp/pt.c:3439
++#: cp/pt.c:3417
+ #, gcc-internal-format
+ msgid "parameter pack argument %qE must be at the end of the template argument list"
+ msgstr "Argument %qE für Parameterpack muss am Ende der Templateargumentliste sein"
+
+-#: cp/pt.c:3441
++#: cp/pt.c:3419
+ #, gcc-internal-format
+ msgid "parameter pack argument %qT must be at the end of the template argument list"
+ msgstr "Argument %qT für Parameterpack muss am Ende der Templateargumentliste sein"
+
+-#: cp/pt.c:3462
++#: cp/pt.c:3440
+ #, gcc-internal-format
+ msgid "template argument %qE involves template parameter(s)"
+ msgstr "Templateargument %qE betrifft Templateparameter"
+
+-#: cp/pt.c:3505
++#: cp/pt.c:3484
+ #, gcc-internal-format
+ msgid "type %qT of template argument %qE depends on template parameter(s)"
+ msgstr "Typ %qT des Templatearguments %qE hängt von Templateparameter(n) ab"
+
+-#: cp/pt.c:3611
++#: cp/pt.c:3591
+ #, gcc-internal-format
+ msgid "no default argument for %qD"
+ msgstr "kein Standard-Argument für %qD"
+
+-#: cp/pt.c:3796
++#: cp/pt.c:3609
+ #, gcc-internal-format
++msgid "parameter pack %qE must be at the end of the template parameter list"
++msgstr "Parameterpack %qE muss am Ende der Templateparameterliste sein"
++
++#: cp/pt.c:3612
++#, gcc-internal-format
++msgid "parameter pack %qT must be at the end of the template parameter list"
++msgstr "Parameterpack %qT muss am Ende der Templateparameterliste sein"
++
++#: cp/pt.c:3799
++#, gcc-internal-format
+ msgid "template class without a name"
+ msgstr "Templateklasse ohne Namen"
+
+ #. [temp.mem]
+ #.
+ #. A destructor shall not be a member template.
+-#: cp/pt.c:3804
++#: cp/pt.c:3807
+ #, gcc-internal-format
+ msgid "destructor %qD declared as member template"
+ msgstr "Destruktor %qD als Element-Template deklariert"
+@@ -30841,77 +30878,72 @@
+ #. An allocation function can be a function
+ #. template. ... Template allocation functions shall
+ #. have two or more parameters.
+-#: cp/pt.c:3819
++#: cp/pt.c:3822
+ #, gcc-internal-format
+ msgid "invalid template declaration of %qD"
+ msgstr "ungültige Templatedeklaration von %qD"
+
+-#: cp/pt.c:3890
++#: cp/pt.c:3939
+ #, gcc-internal-format
+-msgid "parameter pack %qE must be at the end of the template parameter list"
+-msgstr "Parameterpack %qE muss am Ende der Templateparameterliste sein"
+-
+-#: cp/pt.c:3893
+-#, gcc-internal-format
+-msgid "parameter pack %qT must be at the end of the template parameter list"
+-msgstr "Parameterpack %qT muss am Ende der Templateparameterliste sein"
+-
+-#: cp/pt.c:3953
+-#, gcc-internal-format
+ msgid "template definition of non-template %q#D"
+ msgstr "Template-Definition eines Nicht-Templates %q#D"
+
+-#: cp/pt.c:3996
++#: cp/pt.c:3982
+ #, gcc-internal-format
+ msgid "expected %d levels of template parms for %q#D, got %d"
+ msgstr "%d Ebenen von Template-Parametern für %q#D erwartet, %d erhalten"
+
+-#: cp/pt.c:4008
++#: cp/pt.c:3994
+ #, gcc-internal-format
+ msgid "got %d template parameters for %q#D"
+ msgstr "%d Template-Parameter für %q#D erhalten"
+
+-#: cp/pt.c:4011
++#: cp/pt.c:3997
+ #, gcc-internal-format
+ msgid "got %d template parameters for %q#T"
+ msgstr "%d Template-Parameter für %q#T erhalten"
+
+-#: cp/pt.c:4013
++#: cp/pt.c:3999
+ #, gcc-internal-format
+ msgid " but %d required"
+ msgstr " aber %d benötigt"
+
+-#: cp/pt.c:4031
++#: cp/pt.c:4017
+ #, gcc-internal-format
+ msgid "template arguments to %qD do not match original template %qD"
+ msgstr "Template-Argumente für %qD passen nicht zum ursprünglichen Template %qD"
+
+-#: cp/pt.c:4035
++#: cp/pt.c:4021
+ #, gcc-internal-format
+ msgid "use template<> for an explicit specialization"
+ msgstr "template<> für eine explizite Spezialisierung verwenden"
+
+-#: cp/pt.c:4131
++#: cp/pt.c:4117
+ #, gcc-internal-format
+ msgid "%qT is not a template type"
+ msgstr "%qT ist kein Template-Typ"
+
+-#: cp/pt.c:4144
++#: cp/pt.c:4130
+ #, gcc-internal-format
+ msgid "template specifiers not specified in declaration of %qD"
+ msgstr "keine Templatespezifizierer in Deklaration von %qD angegeben"
+
+-#: cp/pt.c:4155
++#: cp/pt.c:4140
+ #, gcc-internal-format
+-msgid "used %d template parameter(s) instead of %d"
+-msgstr "%d Template-Parameter statt %d verwendet"
++msgid "redeclared with %d template parameter(s)"
++msgstr "mit %d Template-Parameter(n) redeklariert"
+
+-#: cp/pt.c:4184
++#: cp/pt.c:4142
+ #, gcc-internal-format
++msgid "previous declaration %q+D used %d template parameter(s)"
++msgstr "vorherige Deklaration %q+D verwendete %d Template-Parameter"
++
++#: cp/pt.c:4176
++#, gcc-internal-format
+ msgid "template parameter %q+#D"
+ msgstr "Template-Parameter %q+#D"
+
+-#: cp/pt.c:4185
++#: cp/pt.c:4177
+ #, gcc-internal-format
+ msgid "redeclared here as %q#D"
+ msgstr "hier als %q#D redeklariert"
+@@ -30920,182 +30952,182 @@
+ #.
+ #. A template-parameter may not be given default arguments
+ #. by two different declarations in the same scope.
+-#: cp/pt.c:4195
++#: cp/pt.c:4187
+ #, gcc-internal-format
+ msgid "redefinition of default argument for %q#D"
+ msgstr "Redefinition des Standardarguments für %q#D"
+
+-#: cp/pt.c:4196
++#: cp/pt.c:4188
+ #, gcc-internal-format
+-msgid "%J original definition appeared here"
+-msgstr "%J ursprüngliche Definition trat hier auf"
++msgid "%Joriginal definition appeared here"
++msgstr "%Jursprüngliche Definition trat hier auf"
+
+-#: cp/pt.c:4300
++#: cp/pt.c:4292
+ #, gcc-internal-format
+ msgid "%qE is not a valid template argument for type %qT because function %qD has not external linkage"
+ msgstr "%qE ist kein gültiges Templateargument für Typ %qT, da die Funktion %qD keine externe Bindung hat"
+
+-#: cp/pt.c:4341
++#: cp/pt.c:4333
+ #, 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 "%qE ist kein gültiges Templateargument für Typ %qT, da Zeichenkettensymbole in diesem Zusammenhang nicht verwendet werden können"
+
+-#: cp/pt.c:4418
++#: cp/pt.c:4410
+ #, gcc-internal-format
+ msgid "%qE is not a valid template argument for type %qT because it is a non-constant expression"
+ msgstr "%qE ist kein gültiges Templateargument für Typ %qT, weil es ein nicht konstanter Ausdruck ist"
+
+-#: cp/pt.c:4462
++#: cp/pt.c:4454
+ #, gcc-internal-format
+ msgid "%qD is not a valid template argument because %qD is a variable, not the address of a variable"
+ msgstr "%qD ist kein gültiges Templateargument, weil %qD eine Variable und nicht die Adresse einer Variable ist"
+
+-#: cp/pt.c:4480
++#: cp/pt.c:4472
+ #, gcc-internal-format
+ msgid "%qE is not a valid template argument of type %qT because %qE is not a variable"
+ msgstr "%qE ist kein gültiges Templateargument für Typ %qT, weil %qE keine Variable ist"
+
+-#: cp/pt.c:4487
++#: cp/pt.c:4479
+ #, gcc-internal-format
+ msgid "%qE is not a valid template argument of type %qT because %qD does not have external linkage"
+ msgstr "%qE ist kein gültiges Templateargument des Typs %qT, weil %qD keine externe Bindung hat"
+
+-#: cp/pt.c:4517
++#: cp/pt.c:4509
+ #, gcc-internal-format
+ msgid "%qE is not a valid template argument for type %qT because of conflicts in cv-qualification"
+ msgstr "%qE ist kein gültiges Templateargument für Typ %qT, da es in CV-Qualifikation in Konflikt steht"
+
+-#: cp/pt.c:4524
++#: cp/pt.c:4516
+ #, gcc-internal-format
+ msgid "%qE is not a valid template argument for type %qT because it is not an lvalue"
+ msgstr "%qE ist kein gültiges Templateargument für Typ %qT, weil es kein L-Wert ist"
+
+-#: cp/pt.c:4537
++#: cp/pt.c:4529
+ #, gcc-internal-format
+ msgid "%qE is not a valid template argument for type %qT because object %qD has not external linkage"
+ msgstr "%qE ist kein gültiges Templateargument für Typ %qT, weil Objekt %qD keine externe Bindung hat"
+
+-#: cp/pt.c:4577
++#: cp/pt.c:4569
+ #, gcc-internal-format
+ msgid "%qE is not a valid template argument for type %qT because it is a pointer"
+ msgstr "%qE ist kein gültiges Templateargument für Typ %qT, weil es ein Zeiger ist"
+
+-#: cp/pt.c:4579
++#: cp/pt.c:4571
+ #, gcc-internal-format
+ msgid "try using %qE instead"
+ msgstr "stattdessen %qE verwenden"
+
+-#: cp/pt.c:4614
++#: cp/pt.c:4606
+ #, gcc-internal-format
+ msgid "%qE is not a valid template argument for type %qT because it is of type %qT"
+ msgstr "%qE ist kein gültiges Templateargument für Typ %qT, weil es vom Typ %qT ist"
+
+-#: cp/pt.c:4617
++#: cp/pt.c:4609
+ #, gcc-internal-format
+ msgid "standard conversions are not allowed in this context"
+ msgstr "Standardumwandlungen sind in diesem Kontext nicht erlaubt"
+
+-#: cp/pt.c:4797
++#: cp/pt.c:4860
+ #, gcc-internal-format
+ msgid "to refer to a type member of a template parameter, use %<typename %E%>"
+ msgstr "um auf ein Typelement eines Templateparameters zu verweisen, %<typename %E%> verwenden"
+
+-#: cp/pt.c:4813 cp/pt.c:4832 cp/pt.c:4882
++#: cp/pt.c:4876 cp/pt.c:4895 cp/pt.c:4945
+ #, gcc-internal-format
+ msgid "type/value mismatch at argument %d in template parameter list for %qD"
+ msgstr "Typ/Wert des Arguments %d passt nicht in Template-Parameterliste für %qD"
+
+-#: cp/pt.c:4817
++#: cp/pt.c:4880
+ #, gcc-internal-format
+ msgid " expected a constant of type %qT, got %qT"
+ msgstr " Konstante des Typs %qT erwartet, %qT erhalten"
+
+-#: cp/pt.c:4821
++#: cp/pt.c:4884
+ #, gcc-internal-format
+ msgid " expected a class template, got %qE"
+ msgstr " Klassentemplate erwartet, %qE erhalten"
+
+-#: cp/pt.c:4823
++#: cp/pt.c:4886
+ #, gcc-internal-format
+ msgid " expected a type, got %qE"
+ msgstr " einen Typ erwartet, %qE erhalten"
+
+-#: cp/pt.c:4836
++#: cp/pt.c:4899
+ #, gcc-internal-format
+ msgid " expected a type, got %qT"
+ msgstr " einen Typ erwartet, %qT erhalten"
+
+-#: cp/pt.c:4838
++#: cp/pt.c:4901
+ #, gcc-internal-format
+ msgid " expected a class template, got %qT"
+ msgstr " Klassentemplate erwartet, %qT erhalten"
+
+-#: cp/pt.c:4885
++#: cp/pt.c:4948
+ #, gcc-internal-format
+ msgid " expected a template of type %qD, got %qD"
+ msgstr " ein Template des Typs %qD erwartet, %qD erhalten"
+
+-#: cp/pt.c:4928
++#: cp/pt.c:4991
+ #, gcc-internal-format
+ msgid "could not convert template argument %qE to %qT"
+ msgstr "Templateargument %qE konnte nicht in %qT umgewandelt werden"
+
+-#: cp/pt.c:4984
++#: cp/pt.c:5047
+ #, gcc-internal-format
+ msgid "wrong number of template arguments (%d, should be %d)"
+ msgstr "falsche Anzahl der Templateargumente (%d, sollte %d sein)"
+
+-#: cp/pt.c:5116
++#: cp/pt.c:5179
+ #, gcc-internal-format
+ msgid "wrong number of template arguments (%d, should be %d%s)"
+ msgstr "falsche Anzahl der Templateargumente (%d, sollte %d%s sein)"
+
+-#: cp/pt.c:5120
++#: cp/pt.c:5183
+ #, gcc-internal-format
+ msgid "provided for %q+D"
+ msgstr "für %q+D bereitgestellt"
+
+-#: cp/pt.c:5177
++#: cp/pt.c:5242
+ #, gcc-internal-format
+ msgid "cannot expand %<%E%> into a fixed-length argument list"
+ msgstr "%<%E%> kann nicht in Argumentliste fester Länge aufgelöst werden"
+
+-#: cp/pt.c:5180
++#: cp/pt.c:5245
+ #, gcc-internal-format
+ msgid "cannot expand %<%T%> into a fixed-length argument list"
+ msgstr "%<%T%> kann nicht in Argumentliste fester Länge aufgelöst werden"
+
+-#: cp/pt.c:5195
++#: cp/pt.c:5261
+ #, gcc-internal-format
+ msgid "template argument %d is invalid"
+ msgstr "Templateargument %d ist ungültig"
+
+-#: cp/pt.c:5455
++#: cp/pt.c:5521
+ #, gcc-internal-format
+ msgid "non-template type %qT used as a template"
+ msgstr "Nicht-Template-Typ %qT als Template verwendet"
+
+-#: cp/pt.c:5457
++#: cp/pt.c:5523
+ #, gcc-internal-format
+ msgid "for template declaration %q+D"
+ msgstr "Für Template-Deklaration %q+D"
+
+-#: cp/pt.c:6132
++#: cp/pt.c:6221
+ #, gcc-internal-format
+ msgid "template instantiation depth exceeds maximum of %d (use -ftemplate-depth-NN to increase the maximum) instantiating %qD"
+ msgstr "Instanziierungstiefe für Templates überschreitet Höchstwert %d (-ftemplate-depth-NN verwenden, um dies zu erhöhen) bei Instanziierung von %qD"
+
+-#: cp/pt.c:7237
++#: cp/pt.c:7333
+ #, gcc-internal-format
+ msgid "mismatched argument pack lengths while expanding %<%T%>"
+ msgstr "Argumentpacklängen passen nicht bei Auflösung von %<%T%>"
+
+-#: cp/pt.c:7241
++#: cp/pt.c:7337
+ #, gcc-internal-format
+ msgid "mismatched argument pack lengths while expanding %<%E%>"
+ msgstr "Argumentpacklängen passen nicht bei Auflösung von %<%E%>"
+
+-#: cp/pt.c:8189
++#: cp/pt.c:8289
+ #, gcc-internal-format
+ msgid "instantiation of %q+D as type %qT"
+ msgstr "Instanziierung von %q+D als Typ %qT"
+@@ -31113,242 +31145,242 @@
+ #.
+ #. is an attempt to declare a variable with function
+ #. type.
+-#: cp/pt.c:8324
++#: cp/pt.c:8424
+ #, gcc-internal-format
+ msgid "variable %qD has function type"
+ msgstr "Variable %qD hat Funktionstyp"
+
+-#: cp/pt.c:8471
++#: cp/pt.c:8571
+ #, gcc-internal-format
+ msgid "invalid parameter type %qT"
+ msgstr "ungültiger Parametertyp %qT"
+
+-#: cp/pt.c:8473
++#: cp/pt.c:8573
+ #, gcc-internal-format
+ msgid "in declaration %q+D"
+ msgstr "in Deklaration %q+D"
+
+-#: cp/pt.c:8550
++#: cp/pt.c:8650
+ #, gcc-internal-format
+ msgid "function returning an array"
+ msgstr "Funktion gibt ein Feld zurück"
+
+-#: cp/pt.c:8552
++#: cp/pt.c:8652
+ #, gcc-internal-format
+ msgid "function returning a function"
+ msgstr "Funktion gibt eine Funktion"
+
+-#: cp/pt.c:8586
++#: cp/pt.c:8686
+ #, gcc-internal-format
+ msgid "creating pointer to member function of non-class type %qT"
+ msgstr "Erzeugung eines Zeigers auf Elementfunktion des Nicht-Klassentyps %qT"
+
+-#: cp/pt.c:8792
++#: cp/pt.c:8913
+ #, gcc-internal-format
+ msgid "creating array with negative size (%qE)"
+ msgstr "Feld negativer Größe (%qE) wird erzeugt"
+
+-#: cp/pt.c:9047
++#: cp/pt.c:9168
+ #, gcc-internal-format
+ msgid "forming reference to void"
+ msgstr "Referenz auf »void« wird gebildet"
+
+-#: cp/pt.c:9049
++#: cp/pt.c:9170
+ #, gcc-internal-format
+ msgid "forming %s to reference type %qT"
+ msgstr "%s wird in Referenztyp %qT umgeformt"
+
+-#: cp/pt.c:9100
++#: cp/pt.c:9221
+ #, 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.c:9106
++#: cp/pt.c:9227
+ #, gcc-internal-format
+ msgid "creating pointer to member reference type %qT"
+ msgstr "Zeiger auf Elementreferenztyp %qT wird erzeugt"
+
+-#: cp/pt.c:9112
++#: cp/pt.c:9233
+ #, gcc-internal-format
+ msgid "creating pointer to member of type void"
+ msgstr "Zeiger auf Element mit Typ »void« wird erzeugt"
+
+-#: cp/pt.c:9179
++#: cp/pt.c:9300
+ #, gcc-internal-format
+ msgid "creating array of %qT"
+ msgstr "Feld von %qT wird erzeugt"
+
+-#: cp/pt.c:9185
++#: cp/pt.c:9306
+ #, gcc-internal-format
+ msgid "creating array of %qT, which is an abstract class type"
+ msgstr "Feld von %qT wird erzeugt, was ein abstrakter Klassentyp ist"
+
+-#: cp/pt.c:9236
++#: cp/pt.c:9357
+ #, gcc-internal-format
+ msgid "%qT is not a class, struct, or union type"
+ msgstr "%qT ist kein Klassen-, Struktur- oder Union-Typ"
+
+-#: cp/pt.c:9271
++#: cp/pt.c:9392
+ #, 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.c:9274
++#: cp/pt.c:9395
+ #, gcc-internal-format
+ msgid "%qT resolves to %qT, which is is not a class type"
+ msgstr "%qT wird in %qT aufgelöst, was kein Klassentyp ist"
+
+-#: cp/pt.c:9375
++#: cp/pt.c:9496
+ #, gcc-internal-format
+ msgid "use of %qs in template"
+ msgstr "Verwendung von %qs in Template"
+
+-#: cp/pt.c:9512
++#: cp/pt.c:9633
+ #, 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.c:9514
++#: cp/pt.c:9635
+ #, gcc-internal-format
+ msgid "say %<typename %E%> if a type is meant"
+ msgstr "%<typename %E%> sagen, wenn ein Typ gemeint ist"
+
+-#: cp/pt.c:9643
++#: cp/pt.c:9764
+ #, gcc-internal-format
+ msgid "using invalid field %qD"
+ msgstr "ungültiges Feld %qD wird verwendet"
+
+-#: cp/pt.c:9952 cp/pt.c:10432
++#: cp/pt.c:10073 cp/pt.c:10553
+ #, gcc-internal-format
+ msgid "invalid use of pack expansion expression"
+ msgstr "falsche Benutzung eines Packauflösungs-Ausdruckes"
+
+-#: cp/pt.c:9956 cp/pt.c:10436
++#: cp/pt.c:10077 cp/pt.c:10557
+ #, gcc-internal-format
+ msgid "use %<...%> to expand argument pack"
+ msgstr "%<...%> verwenden, um Argumentpack aufzulösen"
+
+-#: cp/pt.c:10594
++#: cp/pt.c:10715
+ #, gcc-internal-format
+ msgid "a cast to a type other than an integral or enumeration type cannot appear in a constant-expression"
+ msgstr "Eine Typumwandlung, die weder zu ganzzahligen noch Aufzählungstypen führt, kann nicht in einem Konstantenausdruck auftreten"
+
+-#: cp/pt.c:11052
++#: cp/pt.c:11181
+ #, gcc-internal-format
+ msgid "%qT is not a class or namespace"
+ msgstr "%qT ist keine Klasse oder Namensbereich"
+
+-#: cp/pt.c:11055
++#: cp/pt.c:11184
+ #, gcc-internal-format
+ msgid "%qD is not a class or namespace"
+ msgstr "%qD ist keine Klasse oder Namensbereich"
+
+-#: cp/pt.c:11265
++#: cp/pt.c:11394
+ #, gcc-internal-format
+ msgid "%qT is/uses anonymous type"
+ msgstr "%qT ist/verwendet anonymen Typen"
+
+-#: cp/pt.c:11267
++#: cp/pt.c:11396
+ #, gcc-internal-format
+ msgid "template argument for %qD uses local type %qT"
+ msgstr "Templateargument für %qD verwendet lokalen Typ %qT"
+
+-#: cp/pt.c:11277
++#: cp/pt.c:11406
+ #, gcc-internal-format
+ msgid "%qT is a variably modified type"
+ msgstr "%qT ist ein variabel modifizierter Typ"
+
+-#: cp/pt.c:11288
++#: cp/pt.c:11417
+ #, gcc-internal-format
+ msgid "integral expression %qE is not constant"
+ msgstr "Ganzzahlausdruck %qE ist nicht konstant"
+
+-#: cp/pt.c:11293
++#: cp/pt.c:11422
+ #, gcc-internal-format
+ msgid " trying to instantiate %qD"
+ msgstr " Versuch, %qD zu instanziieren"
+
+-#: cp/pt.c:13959
++#: cp/pt.c:14173
+ #, gcc-internal-format
+ msgid "ambiguous class template instantiation for %q#T"
+ msgstr "mehrdeutige Klassentemplate-Instanziierung für %q#T"
+
+-#: cp/pt.c:13962
++#: cp/pt.c:14176
+ #, gcc-internal-format
+ msgid "%s %+#T"
+ msgstr "%s %+#T"
+
+-#: cp/pt.c:13985 cp/pt.c:14068
++#: cp/pt.c:14199 cp/pt.c:14282
+ #, gcc-internal-format
+ msgid "explicit instantiation of non-template %q#D"
+ msgstr "explizite Instanziierung des Nicht-Templates %q#D"
+
+-#: cp/pt.c:14000
++#: cp/pt.c:14214
+ #, 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.c:14006 cp/pt.c:14063
++#: cp/pt.c:14220 cp/pt.c:14277
+ #, gcc-internal-format
+ msgid "no matching template for %qD found"
+ msgstr "kein passendes Template für %qD gefunden"
+
+-#: cp/pt.c:14011
++#: cp/pt.c:14225
+ #, 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.c:14019
++#: cp/pt.c:14233
+ #, gcc-internal-format
+ msgid "explicit instantiation of %q#D"
+ msgstr "explizite Instanziierung von %q#D"
+
+-#: cp/pt.c:14055
++#: cp/pt.c:14269
+ #, gcc-internal-format
+ msgid "duplicate explicit instantiation of %q#D"
+ msgstr "doppelte explizite Instanziierung von %q#D"
+
+-#: cp/pt.c:14077
++#: cp/pt.c:14291
+ #, gcc-internal-format
+ msgid "ISO C++ forbids the use of %<extern%> on explicit instantiations"
+ msgstr "ISO-C++ verbietet die Verwendung von %<extern%> bei expliziten Instanziierungen"
+
+-#: cp/pt.c:14082 cp/pt.c:14175
++#: cp/pt.c:14296 cp/pt.c:14389
+ #, gcc-internal-format
+ msgid "storage class %qD applied to template instantiation"
+ msgstr "Speicherklasse %qD auf Templateinstanziierung angewendet"
+
+-#: cp/pt.c:14147
++#: cp/pt.c:14361
+ #, gcc-internal-format
+ msgid "explicit instantiation of non-template type %qT"
+ msgstr "explizite Instanziierung des Nicht-Templatetyps %qT"
+
+-#: cp/pt.c:14156
++#: cp/pt.c:14370
+ #, 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.c:14164
++#: cp/pt.c:14378
+ #, 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.c:14209
++#: cp/pt.c:14423
+ #, gcc-internal-format
+ msgid "duplicate explicit instantiation of %q#T"
+ msgstr "doppelte explizite Instanziierung von %q#T"
+
+-#: cp/pt.c:14657
++#: cp/pt.c:14871
+ #, gcc-internal-format
+ msgid "explicit instantiation of %qD but no definition available"
+ msgstr "explizite Instanziierung von %qD, aber keine Definition verfügbar"
+
+-#: cp/pt.c:14851
++#: cp/pt.c:15065
+ #, 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)"
+ msgstr "Instanziierungstiefe für Templates überschreitet Höchstwert %d (-ftemplate-depth-NN verwenden, um dies zu erhöhen) bei Instanziierung von %q+D, möglicherweise von Erzeugung der virtuellen Tabelle"
+
+-#: cp/pt.c:15193
++#: cp/pt.c:15419
+ #, gcc-internal-format
+ msgid "%q#T is not a valid type for a template constant parameter"
+ msgstr "%q#T ist kein gültiger Typ für einen Templatekonstanten-Parameter"
+@@ -31368,32 +31400,32 @@
+ msgid "can't create repository information file %qs"
+ msgstr "Repository-Informationsdatei %qs kann nicht erzeugt werden"
+
+-#: cp/rtti.c:271
++#: cp/rtti.c:285
+ #, gcc-internal-format
+ msgid "cannot use typeid with -fno-rtti"
+ msgstr "typeid kann nicht mit -fno-rtti verwendet werden"
+
+-#: cp/rtti.c:277
++#: cp/rtti.c:291
+ #, gcc-internal-format
+ msgid "must #include <typeinfo> before using typeid"
+ msgstr "vor Verwendung von typeid muss #include <typeinfo> angegeben werden"
+
+-#: cp/rtti.c:360
++#: cp/rtti.c:374
+ #, gcc-internal-format
+ msgid "cannot create type information for type %qT because it involves types of variable size"
+ msgstr "für Typ %qT kann keine Typinformation erzeugt werden, weil dies Typen variabler Größe umfasst"
+
+-#: cp/rtti.c:615 cp/rtti.c:629
++#: cp/rtti.c:629 cp/rtti.c:643
+ #, gcc-internal-format
+ msgid "dynamic_cast of %q#D to %q#T can never succeed"
+ msgstr "dynamic_cast von %q#D nach %q#T kann nie erfolgreich sein"
+
+-#: cp/rtti.c:639
++#: cp/rtti.c:653
+ #, gcc-internal-format
+ msgid "%<dynamic_cast%> not permitted with -fno-rtti"
+ msgstr "%<dynamic_cast%> ist nicht mit -fno-rtti erlaubt"
+
+-#: cp/rtti.c:716
++#: cp/rtti.c:729
+ #, gcc-internal-format
+ msgid "cannot dynamic_cast %qE (of type %q#T) to type %q#T (%s)"
+ msgstr "dynamic_cast %qE (des Typs %q#T) in Typ %q#T (%s) kann nicht vorgenommen werden"
+@@ -31455,551 +31487,551 @@
+ msgid " since %q+#D declared in base class"
+ msgstr " denn %q+#D ist in Basisklasse deklariert"
+
+-#: cp/semantics.c:762
++#: cp/semantics.c:764
+ #, gcc-internal-format
+ msgid "suggest explicit braces around empty body in %<do%> statement"
+ msgstr "es wird empfohlen, explizite geschweifte Klammern um leeren Körper in %<do%>-Anweisung zu setzen"
+
+-#: cp/semantics.c:1290
++#: cp/semantics.c:1294
+ #, gcc-internal-format
+ msgid "type of asm operand %qE could not be determined"
+ msgstr "Typ des asm-Operanden %qE konnte nicht ermittelt werden"
+
+-#: cp/semantics.c:1346
++#: cp/semantics.c:1350
+ #, gcc-internal-format
+ msgid "__label__ declarations are only allowed in function scopes"
+ msgstr "__label__-Deklarationen sind nur im Funktionsgültigkeitsbereich erlaubt"
+
+-#: cp/semantics.c:1433
++#: cp/semantics.c:1438
+ #, gcc-internal-format
+ msgid "invalid use of member %q+D in static member function"
+ msgstr "ungültige Verwendung des Elementes %q+D in statischer Elementfunktion"
+
+-#: cp/semantics.c:1435
++#: cp/semantics.c:1440
+ #, gcc-internal-format
+ msgid "invalid use of non-static data member %q+D"
+ msgstr "ungültige Verwendung des nicht-statischen Datenelementes %q+D"
+
+-#: cp/semantics.c:1436 cp/semantics.c:1475
++#: cp/semantics.c:1441 cp/semantics.c:1480
+ #, gcc-internal-format
+ msgid "from this location"
+ msgstr "von dieser Stelle"
+
+-#: cp/semantics.c:1474
++#: cp/semantics.c:1479
+ #, gcc-internal-format
+ msgid "object missing in reference to %q+D"
+ msgstr "Objekt fehlt in Referenz auf %q+D"
+
+-#: cp/semantics.c:1928
++#: cp/semantics.c:1951
+ #, gcc-internal-format
+ msgid "arguments to destructor are not allowed"
+ msgstr "Argumente für Destruktor sind nicht erlaubt"
+
+-#: cp/semantics.c:1978
++#: cp/semantics.c:2001
+ #, gcc-internal-format
+ msgid "%<this%> is unavailable for static member functions"
+ msgstr "%<this%> ist für statische Elementfunktionen nicht verfügbar"
+
+-#: cp/semantics.c:1984
++#: cp/semantics.c:2007
+ #, gcc-internal-format
+ msgid "invalid use of %<this%> in non-member function"
+ msgstr "ungültige Verwendung von %<this%> in Nicht-Element-Funktion"
+
+-#: cp/semantics.c:1986
++#: cp/semantics.c:2009
+ #, gcc-internal-format
+ msgid "invalid use of %<this%> at top level"
+ msgstr "ungültige Verwendung von %<this%> auf höchster Ebene"
+
+-#: cp/semantics.c:2010
++#: cp/semantics.c:2033
+ #, gcc-internal-format
+ msgid "invalid qualifying scope in pseudo-destructor name"
+ msgstr "ungültiger angegebener Gültigkeitsbereich in Pseudodestruktor-Name"
+
+-#: cp/semantics.c:2015 cp/typeck.c:2004
++#: cp/semantics.c:2038 cp/typeck.c:2050
+ #, gcc-internal-format
+ msgid "qualified type %qT does not match destructor name ~%qT"
+ msgstr "qualifizierter Typ %qT passt nicht zum Destruktornamen ~%qT"
+
+-#: cp/semantics.c:2037
++#: cp/semantics.c:2060
+ #, gcc-internal-format
+ msgid "%qE is not of type %qT"
+ msgstr "%qE ist nicht vom Typ %qT"
+
+-#: cp/semantics.c:2081
++#: cp/semantics.c:2104
+ #, gcc-internal-format
+ msgid "compound literal of non-object type %qT"
+ msgstr "zusammengesetztes Literal vom Nicht-Objekt-Typ %qT"
+
+-#: cp/semantics.c:2158
++#: cp/semantics.c:2181
+ #, gcc-internal-format
+ msgid "template type parameters must use the keyword %<class%> or %<typename%>"
+ msgstr "Templatetypparameter müssen das Schlüsselwort %<class%> oder %<typename%> verwenden"
+
+-#: cp/semantics.c:2195
++#: cp/semantics.c:2222
+ #, gcc-internal-format
+ msgid "invalid use of type %qT as a default value for a template template-parameter"
+ msgstr "ungültige Verwendung des Typs %qT als Standardwert für einen Template-Templateparameter"
+
+-#: cp/semantics.c:2198
++#: cp/semantics.c:2225
+ #, gcc-internal-format
+ msgid "invalid default argument for a template template parameter"
+ msgstr "ungültiges Standardargument für einen Template-Templateparameter"
+
+-#: cp/semantics.c:2215
++#: cp/semantics.c:2242
+ #, gcc-internal-format
+ msgid "definition of %q#T inside template parameter list"
+ msgstr "Definition von %q#T in Templateparameterliste"
+
+-#: cp/semantics.c:2226
++#: cp/semantics.c:2253
+ #, gcc-internal-format
+ msgid "invalid definition of qualified type %qT"
+ msgstr "ungültige Definition des qualifizierten Typen %qT"
+
+-#: cp/semantics.c:2437
++#: cp/semantics.c:2469
+ #, gcc-internal-format
+ msgid "invalid base-class specification"
+ msgstr "ungültige Spezifizierung der Basisklasse"
+
+-#: cp/semantics.c:2446
++#: cp/semantics.c:2478
+ #, gcc-internal-format
+ msgid "base class %qT has cv qualifiers"
+ msgstr "Basisklasse %qT hat CV-Kennzeichner"
+
+-#: cp/semantics.c:2468
++#: cp/semantics.c:2500
+ #, gcc-internal-format
+ msgid "incomplete type %qT used in nested name specifier"
+ msgstr "unvollständiger Typ %qT in geschachtelter Namensangabe verwendet"
+
+-#: cp/semantics.c:2471
++#: cp/semantics.c:2503
+ #, gcc-internal-format
+ msgid "reference to %<%T::%D%> is ambiguous"
+ msgstr "Referenz auf %<%T::%D%> ist mehrdeutig"
+
+-#: cp/semantics.c:2475 cp/typeck.c:1813
++#: cp/semantics.c:2507 cp/typeck.c:1859
+ #, gcc-internal-format
+ msgid "%qD is not a member of %qT"
+ msgstr "%qD ist kein Element von %qT"
+
+-#: cp/semantics.c:2478
++#: cp/semantics.c:2510
+ #, gcc-internal-format
+ msgid "%qD is not a member of %qD"
+ msgstr "%qD ist kein Element von %qD"
+
+-#: cp/semantics.c:2480
++#: cp/semantics.c:2512
+ #, gcc-internal-format
+ msgid "%<::%D%> has not been declared"
+ msgstr "%<::%D%> wurde nicht deklariert"
+
+-#: cp/semantics.c:2621
++#: cp/semantics.c:2653
+ #, gcc-internal-format
+ msgid "use of %<auto%> variable from containing function"
+ msgstr "Verwendung einer %<auto%>-Variable aus enthaltender Funktion"
+
+-#: cp/semantics.c:2623
++#: cp/semantics.c:2655
+ #, gcc-internal-format
+ msgid " %q+#D declared here"
+ msgstr " %q+#D hier deklariert"
+
+-#: cp/semantics.c:2661
++#: cp/semantics.c:2693
+ #, gcc-internal-format
+ msgid "template parameter %qD of type %qT is not allowed in an integral constant expression because it is not of integral or enumeration type"
+ msgstr "Templateparameter %qD vom Typ %qT ist in ganzzahligem Konstantenausdruck nicht erlaubt, da er nicht Ganzzahl- oder Aufzählungstyp hat"
+
+-#: cp/semantics.c:2830
++#: cp/semantics.c:2862
+ #, gcc-internal-format
+ msgid "%qD cannot appear in a constant-expression"
+ msgstr "%qD kann nicht in Konstanten-Ausdruck auftreten"
+
+-#: cp/semantics.c:2838
++#: cp/semantics.c:2870
+ #, gcc-internal-format
+ msgid "use of namespace %qD as expression"
+ msgstr "Verwendung des Namensbereiches %qD als Ausdruck"
+
+-#: cp/semantics.c:2843
++#: cp/semantics.c:2875
+ #, gcc-internal-format
+ msgid "use of class template %qT as expression"
+ msgstr "Verwendung des Klassentemplates %qT als Ausdruck"
+
+ #. Ambiguous reference to base members.
+-#: cp/semantics.c:2849
++#: cp/semantics.c:2881
+ #, gcc-internal-format
+ msgid "request for member %qD is ambiguous in multiple inheritance lattice"
+ msgstr "Abfrage des Elementes %qD ist im Gitter der Mehrfachvererbung mehrdeutig"
+
+-#: cp/semantics.c:2970 cp/semantics.c:4210
++#: cp/semantics.c:3002 cp/semantics.c:4259
+ #, gcc-internal-format
+ msgid "type of %qE is unknown"
+ msgstr "Typ von %qE ist unbekannt"
+
+-#: cp/semantics.c:2985
++#: cp/semantics.c:3017
+ #, gcc-internal-format
+ msgid "cannot apply %<offsetof%> to destructor %<~%T%>"
+ msgstr "%<offsetof%> kann nicht auf Destruktor %<~%T%> angewandt werden"
+
+-#: cp/semantics.c:2996
++#: cp/semantics.c:3028
+ #, gcc-internal-format
+ msgid "cannot apply %<offsetof%> to member function %qD"
+ msgstr "%<offsetof%> kann nicht auf Elementfunktion %qD angewandt werden"
+
+-#: cp/semantics.c:3349
++#: cp/semantics.c:3381
+ #, gcc-internal-format
+ msgid "%qD is not a variable in clause %qs"
+ msgstr "%qD ist in Klausel %qs keine Variable"
+
+-#: cp/semantics.c:3358
++#: cp/semantics.c:3390
+ #, gcc-internal-format
+ msgid "%qD appears more than once in data clauses"
+ msgstr "%qD tritt in Datenklausel mehrfach auf"
+
+-#: cp/semantics.c:3418
++#: cp/semantics.c:3450
+ #, gcc-internal-format
+ msgid "num_threads expression must be integral"
+ msgstr "num_threads-Ausdruck muss bestimmt sein"
+
+-#: cp/semantics.c:3432
++#: cp/semantics.c:3464
+ #, gcc-internal-format
+ msgid "schedule chunk size expression must be integral"
+ msgstr "Plan-Teilgrößenausdruck muss bestimmt sein"
+
+-#: cp/semantics.c:3562
++#: cp/semantics.c:3594
+ #, gcc-internal-format
+ msgid "%qE has reference type for %qs"
+ msgstr "%qE hat Referenztyp für %qs"
+
+-#: cp/semantics.c:3724
++#: cp/semantics.c:3756
+ #, gcc-internal-format
+ msgid "%<threadprivate%> %qE is not file, namespace or block scope variable"
+ msgstr "%<threadprivate%> %qE ist nicht Datei-, Namens- oder Blockbereichsvariable"
+
+ #. Report the error.
+-#: cp/semantics.c:4033
++#: cp/semantics.c:4072
+ #, gcc-internal-format
+ msgid "static assertion failed: %E"
+ msgstr "statische Behauptung gescheitert: %E"
+
+-#: cp/semantics.c:4035
++#: cp/semantics.c:4074
+ #, gcc-internal-format
+ msgid "non-constant condition for static assertion"
+ msgstr "Nicht-konstante Bedingung für statische Behauptung"
+
+-#: cp/semantics.c:4097
++#: cp/semantics.c:4099 cp/semantics.c:4194
+ #, gcc-internal-format
+-msgid "%qE refers to a set of overloaded functions"
+-msgstr "%qE verweist auf eine Menge überladener Funktionen"
++msgid "argument to decltype must be an expression"
++msgstr "Argument für decltype muss ein Ausdruck sein"
+
+ #: cp/semantics.c:4145
+ #, gcc-internal-format
+-msgid "argument to decltype must be an expression"
+-msgstr "Argument für decltype muss ein Ausdruck sein"
++msgid "%qE refers to a set of overloaded functions"
++msgstr "%qE verweist auf eine Menge überladener Funktionen"
+
+-#: cp/semantics.c:4366
++#: cp/semantics.c:4415
+ #, gcc-internal-format
+ msgid "__is_convertible_to"
+ msgstr "__is_convertible_to"
+
+-#: cp/semantics.c:4395
++#: cp/semantics.c:4444
+ #, gcc-internal-format
+ msgid "incomplete type %qT not allowed"
+ msgstr "unvollständiger Typ %qT nicht erlaubt"
+
+-#: cp/tree.c:829
++#: cp/tree.c:827
+ #, gcc-internal-format
+ msgid "%qV qualifiers cannot be applied to %qT"
+ msgstr "%qV-Qualifizierer können nicht auf %qT angewendet werden"
+
+-#: cp/tree.c:2134
++#: cp/tree.c:2132
+ #, gcc-internal-format
+ msgid "%qE attribute can only be applied to Java class definitions"
+ msgstr "Attribut %qE kann nur auf Java-Klassendefinitionen angewendet werden"
+
+-#: cp/tree.c:2163
++#: cp/tree.c:2161
+ #, gcc-internal-format
+ msgid "%qE attribute can only be applied to class definitions"
+ msgstr "Attribut %qE kann nur auf Klassendefinitionen angewendet werden"
+
+-#: cp/tree.c:2169
++#: cp/tree.c:2167
+ #, gcc-internal-format
+ msgid "%qE is obsolete; g++ vtables are now COM-compatible by default"
+ msgstr "%qE ist veraltet; g++-vtables sind jetzt standardmäßig COM-verträglich"
+
+-#: cp/tree.c:2193
++#: cp/tree.c:2191
+ #, gcc-internal-format
+ msgid "requested init_priority is not an integer constant"
+ msgstr "angefordertes init_priority ist keine Ganzzahlkonstante"
+
+-#: cp/tree.c:2214
++#: cp/tree.c:2212
+ #, gcc-internal-format
+ msgid "can only use %qE attribute on file-scope definitions of objects of class type"
+ msgstr "nur Attribut %qE kann für Definitionen von Objekten eines Klassentyps im Datei-Gültigkeitsbereich verwendet werden"
+
+-#: cp/tree.c:2222
++#: cp/tree.c:2220
+ #, gcc-internal-format
+ msgid "requested init_priority is out of range"
+ msgstr "angefordertes init_priority ist außerhalb des Wertebereiches"
+
+-#: cp/tree.c:2232
++#: cp/tree.c:2230
+ #, gcc-internal-format
+ msgid "requested init_priority is reserved for internal use"
+ msgstr "angefordertes init_priority ist für interne Verwendung reserviert"
+
+-#: cp/tree.c:2243
++#: cp/tree.c:2241
+ #, gcc-internal-format
+ msgid "%qE attribute is not supported on this platform"
+ msgstr "Attribut %qE wird auf dieser Plattform nicht unterstützt"
+
+-#: cp/typeck.c:431 cp/typeck.c:445 cp/typeck.c:545
++#: cp/typeck.c:432 cp/typeck.c:446 cp/typeck.c:546
+ #, gcc-internal-format
+ msgid "%s between distinct pointer types %qT and %qT lacks a cast"
+ msgstr "%s zwischen den verschiedenen Zeigertypen %qT und %qT benötigt Umwandlung"
+
+-#: cp/typeck.c:507
++#: cp/typeck.c:508
+ #, gcc-internal-format
+ msgid "ISO C++ forbids %s between pointer of type %<void *%> and pointer-to-function"
+ msgstr "ISO-C++ verbietet %s zwischen Zeiger des Typs %<void *%> und Zeiger auf Funktion"
+
+-#: cp/typeck.c:565
++#: cp/typeck.c:566
+ #, gcc-internal-format
+ msgid "%s between distinct pointer-to-member types %qT and %qT lacks a cast"
+ msgstr "%s zwischen verschiedenen Zeiger-auf-Element-Typen %qT und %qT fehlt eine Typkonvertierung"
+
+-#: cp/typeck.c:1129
++#: cp/typeck.c:1166
+ #, gcc-internal-format
+ msgid "canonical types differ for identical types %T and %T"
+ msgstr "kanonische Typen unterscheiden sich für identische Typen %T und %T"
+
+-#: cp/typeck.c:1136
++#: cp/typeck.c:1173
+ #, gcc-internal-format
+ msgid "same canonical type node for different types %T and %T"
+ msgstr "gleicher kanonischer Typknoten für die unterschiedlichen Typen %T und %T"
+
+-#: cp/typeck.c:1248
++#: cp/typeck.c:1285
+ #, gcc-internal-format
+ msgid "invalid application of %qs to a member function"
+ msgstr "ungültige Anwendung von %qs auf Elementfunktion"
+
+-#: cp/typeck.c:1298
++#: cp/typeck.c:1335
+ #, gcc-internal-format
+ msgid "invalid application of %<sizeof%> to a bit-field"
+ msgstr "ungültige Anwendung von %<sizeof%> auf ein Bitfeld"
+
+-#: cp/typeck.c:1303
++#: cp/typeck.c:1340
+ #, gcc-internal-format
+ msgid "ISO C++ forbids applying %<sizeof%> to an expression of function type"
+ msgstr "ISO-C++ verbietet Anwendung von %<sizeof%> auf einen Ausdruck mit Funktionstyp"
+
+-#: cp/typeck.c:1346
++#: cp/typeck.c:1383
+ #, gcc-internal-format
+ msgid "invalid application of %<__alignof%> to a bit-field"
+ msgstr "ungültige Anwendung von %<__alignof%> auf ein Bitfeld"
+
+-#: cp/typeck.c:1354
++#: cp/typeck.c:1391
+ #, gcc-internal-format
+ msgid "ISO C++ forbids applying %<__alignof%> to an expression of function type"
+ msgstr "ISO-C++ verbietet Anwendung von %<__alignof%> auf einen Ausdruck mit Funktionstyp"
+
+-#: cp/typeck.c:1405
++#: cp/typeck.c:1442
+ #, gcc-internal-format
+ msgid "invalid use of non-static member function"
+ msgstr "falsche Benutzung einer nicht-statischen Elementfunktion"
+
+-#: cp/typeck.c:1669
++#: cp/typeck.c:1715
+ #, gcc-internal-format
+ msgid "deprecated conversion from string constant to %qT"
+ msgstr "veraltete Konvertierung von Zeichenkettenkonstante in %qT"
+
+-#: cp/typeck.c:1784 cp/typeck.c:2132
++#: cp/typeck.c:1830 cp/typeck.c:2178
+ #, gcc-internal-format
+ msgid "request for member %qD in %qE, which is of non-class type %qT"
+ msgstr "Abfrage des Elementes %qD in %qE, das vom Nicht-Klassentyp %qT ist"
+
+-#: cp/typeck.c:1811
++#: cp/typeck.c:1857
+ #, gcc-internal-format
+ msgid "invalid use of nonstatic data member %qE"
+ msgstr "ungültige Benutzung des nicht-statischen Datenelements %qE"
+
+-#: cp/typeck.c:1863 cp/typeck.c:1891
++#: cp/typeck.c:1909 cp/typeck.c:1937
+ #, gcc-internal-format
+ msgid "invalid access to non-static data member %qD of NULL object"
+ msgstr "ungültiger Zugriff auf nicht-statisches Datenelement %qD des NULL-Objektes"
+
+-#: cp/typeck.c:1866 cp/typeck.c:1893
++#: cp/typeck.c:1912 cp/typeck.c:1939
+ #, gcc-internal-format
+ msgid "(perhaps the %<offsetof%> macro was used incorrectly)"
+ msgstr "(vielleicht wurde das Makro %<offsetof%> falsch verwendet)"
+
+-#: cp/typeck.c:2010
++#: cp/typeck.c:2056
+ #, gcc-internal-format
+ msgid "the type being destroyed is %qT, but the destructor refers to %qT"
+ msgstr "der zerstörte Typ ist %qT, aber der Destruktor verweist auf %qT"
+
+-#: cp/typeck.c:2049 cp/typeck.c:2069
++#: cp/typeck.c:2095 cp/typeck.c:2115
+ #, gcc-internal-format
+ msgid "%qD is not a template"
+ msgstr "%qD ist kein Template"
+
+-#: cp/typeck.c:2170
++#: cp/typeck.c:2216
+ #, gcc-internal-format
+ msgid "%<%D::%D%> is not a member of %qT"
+ msgstr "%<%D::%D%> ist kein Element von %qT"
+
+-#: cp/typeck.c:2185
++#: cp/typeck.c:2231
+ #, gcc-internal-format
+ msgid "%qT is not a base of %qT"
+ msgstr "%qT ist keine Basis von %qT"
+
+-#: cp/typeck.c:2204
++#: cp/typeck.c:2250
+ #, gcc-internal-format
+ msgid "%qD has no member named %qE"
+ msgstr "%qD hat kein Element namens %qE"
+
+-#: cp/typeck.c:2219
++#: cp/typeck.c:2265
+ #, gcc-internal-format
+ msgid "%qD is not a member template function"
+ msgstr "%qD ist keine Elementtemplatefunktion"
+
+ #. A pointer to incomplete type (other than cv void) can be
+ #. dereferenced [expr.unary.op]/1
+-#: cp/typeck.c:2352
++#: cp/typeck.c:2398
+ #, gcc-internal-format
+ msgid "%qT is not a pointer-to-object type"
+ msgstr "%qT ist kein Zeiger auf Objekt"
+
+-#: cp/typeck.c:2377
++#: cp/typeck.c:2423
+ #, gcc-internal-format
+ msgid "invalid use of %qs on pointer to member"
+ msgstr "ungültige Verwendung von %qs bei Zeiger auf Element"
+
+-#: cp/typeck.c:2381
++#: cp/typeck.c:2427
+ #, gcc-internal-format
+ msgid "invalid type argument of %qs"
+ msgstr "falsches Typ-Argument von %qs"
+
+-#: cp/typeck.c:2383
++#: cp/typeck.c:2429
+ #, gcc-internal-format
+ msgid "invalid type argument"
+ msgstr "ungültiges Typargument"
+
+-#: cp/typeck.c:2406
++#: cp/typeck.c:2452
+ #, gcc-internal-format
+ msgid "subscript missing in array reference"
+ msgstr "Index fehlt in Feldreferenz"
+
+-#: cp/typeck.c:2480
++#: cp/typeck.c:2526
+ #, gcc-internal-format
+ msgid "ISO C++ forbids subscripting non-lvalue array"
+ msgstr "ISO-C++ verbietet Indizierung eines Nicht-L-Wert-Feldes"
+
+-#: cp/typeck.c:2491
++#: cp/typeck.c:2537
+ #, gcc-internal-format
+ msgid "subscripting array declared %<register%>"
+ msgstr "Indizierung eines als %<register%> deklarierten Feldes"
+
+-#: cp/typeck.c:2576
++#: cp/typeck.c:2622
+ #, gcc-internal-format
+ msgid "object missing in use of %qE"
+ msgstr "bei Verwendung von %qE fehlt Objekt"
+
+-#: cp/typeck.c:2693
++#: cp/typeck.c:2739
+ #, gcc-internal-format
+ msgid "ISO C++ forbids calling %<::main%> from within program"
+ msgstr "ISO-C++ verbietet den Aufruf von %<::main%> vom Programm aus"
+
+-#: cp/typeck.c:2718
++#: cp/typeck.c:2764
+ #, gcc-internal-format
+ msgid "must use %<.*%> or %<->*%> to call pointer-to-member function in %<%E (...)%>"
+ msgstr "%<.*%> oder %<->*%> muss verwendet werden, um Zeiger auf Element in %<%E (...)%> aufzurufen"
+
+-#: cp/typeck.c:2732
++#: cp/typeck.c:2778
+ #, gcc-internal-format
+ msgid "%qE cannot be used as a function"
+ msgstr "%qE kann nicht als Funktion verwendet werden"
+
+-#: cp/typeck.c:2822
++#: cp/typeck.c:2868
+ #, gcc-internal-format
+ msgid "too many arguments to %s %q+#D"
+ msgstr "zu viele Argumente für %s %q+#D"
+
+-#: cp/typeck.c:2823 cp/typeck.c:2927
++#: cp/typeck.c:2869 cp/typeck.c:2973
+ #, gcc-internal-format
+ msgid "at this point in file"
+ msgstr "an dieser Stelle in der Datei"
+
+-#: cp/typeck.c:2826
++#: cp/typeck.c:2872
+ #, gcc-internal-format
+ msgid "too many arguments to function"
+ msgstr "zu viele Argumente für Funktion"
+
+-#: cp/typeck.c:2856
++#: cp/typeck.c:2902
+ #, gcc-internal-format
+ msgid "parameter %P of %qD has incomplete type %qT"
+ msgstr "Parameter %P von %qD hat unvollständigen Typen %qT"
+
+-#: cp/typeck.c:2859
++#: cp/typeck.c:2905
+ #, gcc-internal-format
+ msgid "parameter %P has incomplete type %qT"
+ msgstr "Parameter %P hat unvollständigen Typen %qT"
+
+-#: cp/typeck.c:2926
++#: cp/typeck.c:2972
+ #, gcc-internal-format
+ msgid "too few arguments to %s %q+#D"
+ msgstr "zu wenige Argumente für %s %q+#D"
+
+-#: cp/typeck.c:2930
++#: cp/typeck.c:2976
+ #, gcc-internal-format
+ msgid "too few arguments to function"
+ msgstr "zu wenige Argumente für Funktion"
+
+-#: cp/typeck.c:3098 cp/typeck.c:3108
++#: cp/typeck.c:3140 cp/typeck.c:3150
+ #, gcc-internal-format
+ msgid "assuming cast to type %qT from overloaded function"
+ msgstr "Umwandlung in Typ %qT von überladener Funktion wird angenommen"
+
+-#: cp/typeck.c:3306
++#: cp/typeck.c:3346
+ #, gcc-internal-format
+ msgid "left rotate count is negative"
+ msgstr "linker Rotationszähler ist negativ"
+
+-#: cp/typeck.c:3307
++#: cp/typeck.c:3347
+ #, gcc-internal-format
+ msgid "right rotate count is negative"
+ msgstr "rechter Rotationszähler ist negativ"
+
+-#: cp/typeck.c:3310
++#: cp/typeck.c:3350
+ #, gcc-internal-format
+ msgid "left rotate count >= width of type"
+ msgstr "linker Rotationszähler >= Breite des Typs"
+
+-#: cp/typeck.c:3311
++#: cp/typeck.c:3351
+ #, gcc-internal-format
+ msgid "right rotate count >= width of type"
+ msgstr "rechter Rotationszähler >= Breite des Typs"
+
+-#: cp/typeck.c:3327 cp/typeck.c:3502
++#: cp/typeck.c:3367 cp/typeck.c:3549
+ #, gcc-internal-format
+ msgid "comparison with string literal results in unspecified behaviour"
+ msgstr "Vergleich mit Zeichenkettenliteral führt zu undefiniertem Verhalten"
+
+-#: cp/typeck.c:3360 cp/typeck.c:3365 cp/typeck.c:3520 cp/typeck.c:3525
++#: cp/typeck.c:3400 cp/typeck.c:3405 cp/typeck.c:3567 cp/typeck.c:3572
+ #, gcc-internal-format
+ msgid "ISO C++ forbids comparison between pointer and integer"
+ msgstr "ISO-C++ verbietet Vergleich zwischen Zeiger und Ganzzahl"
+
+-#: cp/typeck.c:3539
++#: cp/typeck.c:3586
+ #, gcc-internal-format
+ msgid "unordered comparison on non-floating point argument"
+ msgstr "ungeordneter Vergleich mit Nicht-Gleitkomma-Argument"
+
+-#: cp/typeck.c:3577
++#: cp/typeck.c:3624
+ #, gcc-internal-format
+ msgid "invalid operands of types %qT and %qT to binary %qO"
+ msgstr "ungültige Operanden der Typen %qT und %qT für binäres %qO"
+
+-#: cp/typeck.c:3749
++#: cp/typeck.c:3757
+ #, gcc-internal-format
+ msgid "comparison between types %q#T and %q#T"
+ msgstr "Vergleich zwischen den Typen %q#T und %q#T"
+
+-#: cp/typeck.c:3786
++#: cp/typeck.c:3794
+ #, gcc-internal-format
+ msgid "comparison between signed and unsigned integer expressions"
+ msgstr "Vergleich zwischen vorzeichenbehafteten und vorzeichenlosen Ganzzahlausdrücken"
+@@ -32008,154 +32040,154 @@
+ #. performed. Note that pointer-difference and pointer-addition
+ #. have already been handled above, and so we don't end up here in
+ #. that case.
+-#: cp/typeck.c:3858
++#: cp/typeck.c:3866
+ #, gcc-internal-format
+ msgid "NULL used in arithmetic"
+ msgstr "NULL in Arithmetik verwendet"
+
+-#: cp/typeck.c:3927
++#: cp/typeck.c:3935
+ #, gcc-internal-format
+ msgid "ISO C++ forbids using pointer of type %<void *%> in subtraction"
+ msgstr "ISO-C++ verbietet die Verwendung eines Zeigers des Typs %<void *%> in Subtraktion"
+
+-#: cp/typeck.c:3929
++#: cp/typeck.c:3937
+ #, gcc-internal-format
+ msgid "ISO C++ forbids using pointer to a function in subtraction"
+ msgstr "ISO-C++ verbietet die Verwendung eines Zeigers auf eine Funktion in Subtraktion"
+
+-#: cp/typeck.c:3931
++#: cp/typeck.c:3939
+ #, gcc-internal-format
+ msgid "ISO C++ forbids using pointer to a method in subtraction"
+ msgstr "ISO-C++ verbietet die Verwendung eines Zeigers auf Methode in Subtraktion"
+
+-#: cp/typeck.c:3943
++#: cp/typeck.c:3951
+ #, gcc-internal-format
+ msgid "invalid use of a pointer to an incomplete type in pointer arithmetic"
+ msgstr "ungültige Verwendung eines Zeigers auf einen unvollständigen Typen in Zeigerarithmetik"
+
+-#: cp/typeck.c:4003
++#: cp/typeck.c:4011
+ #, gcc-internal-format
+ msgid "invalid use of %qE to form a pointer-to-member-function"
+ msgstr "ungültige Verwendung von %qE um Zeiger auf Elementfunktion zu erzeugen"
+
+-#: cp/typeck.c:4006
++#: cp/typeck.c:4014
+ #, gcc-internal-format
+ msgid " a qualified-id is required"
+ msgstr " eine qualifizierte ID ist erforderlich"
+
+-#: cp/typeck.c:4011
++#: cp/typeck.c:4019
+ #, gcc-internal-format
+ msgid "parentheses around %qE cannot be used to form a pointer-to-member-function"
+ msgstr "Klammern um %qE können nicht verwendet werden, einen Zeiger auf Elementfunktion zu erzeugen"
+
+-#: cp/typeck.c:4034
++#: cp/typeck.c:4042
+ #, gcc-internal-format
+ msgid "taking address of temporary"
+ msgstr "Adresse eines temporären Wertes wird ermittelt"
+
+-#: cp/typeck.c:4287
++#: cp/typeck.c:4295
+ #, gcc-internal-format
+ msgid "ISO C++ forbids incrementing an enum"
+ msgstr "ISO-C++ verbietet erhöhen einer Aufzählung"
+
+-#: cp/typeck.c:4288
++#: cp/typeck.c:4296
+ #, gcc-internal-format
+ msgid "ISO C++ forbids decrementing an enum"
+ msgstr "ISO-C++ verbietet verringern einer Aufzählung"
+
+-#: cp/typeck.c:4299
++#: cp/typeck.c:4307
+ #, gcc-internal-format
+ msgid "cannot increment a pointer to incomplete type %qT"
+ msgstr "Zeiger auf unvollständigen Typen %qT kann nicht erhöht werden"
+
+-#: cp/typeck.c:4300
++#: cp/typeck.c:4308
+ #, gcc-internal-format
+ msgid "cannot decrement a pointer to incomplete type %qT"
+ msgstr "Zeiger auf unvollständigen Typen %qT kann nicht verringert werden"
+
+-#: cp/typeck.c:4306
++#: cp/typeck.c:4314
+ #, gcc-internal-format
+ msgid "ISO C++ forbids incrementing a pointer of type %qT"
+ msgstr "ISO-C++ verbietet Erhöhen eines Zeigers vom Typ %qT"
+
+-#: cp/typeck.c:4307
++#: cp/typeck.c:4315
+ #, gcc-internal-format
+ msgid "ISO C++ forbids decrementing a pointer of type %qT"
+ msgstr "ISO-C++ verbietet Verringern eines Zeigers vom Typ %qT"
+
+-#: cp/typeck.c:4327
++#: cp/typeck.c:4335
+ #, gcc-internal-format
+ msgid "invalid use of Boolean expression as operand to %<operator--%>"
+ msgstr "ungültige Verwendung eines Boole'schen Ausdruck als Operand für %<operator--%>"
+
+ #. ARM $3.4
+-#: cp/typeck.c:4357
++#: cp/typeck.c:4365
+ #, gcc-internal-format
+ msgid "ISO C++ forbids taking address of function %<::main%>"
+ msgstr "ISO-C++ verbietet das Ermitteln der Adresse der Funktion %<::main%>"
+
+ #. An expression like &memfn.
+-#: cp/typeck.c:4413
++#: cp/typeck.c:4421
+ #, gcc-internal-format
+ msgid "ISO C++ forbids taking the address of an unqualified or parenthesized non-static member function to form a pointer to member function. Say %<&%T::%D%>"
+ msgstr "ISO-C++ verbietet das Ermitteln der Adresse einer nicht qualifizierten oder geklammerten nicht-statischen Elementfunktion, um einen Zeiger auf Elementfunktion zu erzeugen. Stattdessen %<&%T::%D%> verwenden"
+
+-#: cp/typeck.c:4418
++#: cp/typeck.c:4426
+ #, gcc-internal-format
+ msgid "ISO C++ forbids taking the address of a bound member function to form a pointer to member function. Say %<&%T::%D%>"
+ msgstr "ISO-C++ verbietet das Ermitteln der Adresse einer gebundenen Elementfunktion, um einen Zeiger auf Elementfunktion zu erzeugen. Stattdessen %<&%T::%D%> verwenden"
+
+-#: cp/typeck.c:4443
++#: cp/typeck.c:4451
+ #, gcc-internal-format
+ msgid "ISO C++ forbids taking the address of a cast to a non-lvalue expression"
+ msgstr "ISO-C++ verbietet das Ermitteln der Adresse einer Umwandlung in einen Nicht-L-Wert-Ausdruck"
+
+-#: cp/typeck.c:4467
++#: cp/typeck.c:4475
+ #, gcc-internal-format
+ msgid "cannot create pointer to reference member %qD"
+ msgstr "Zeiger auf Referenzelement %qD kann nicht erzeugt werden"
+
+-#: cp/typeck.c:4678
++#: cp/typeck.c:4686
+ #, gcc-internal-format
+ msgid "cannot take the address of %<this%>, which is an rvalue expression"
+ msgstr "Adresse von %<this%> kann nicht ermittelt werden, das ein R-Wert-Ausdruck ist"
+
+-#: cp/typeck.c:4701
++#: cp/typeck.c:4709
+ #, gcc-internal-format
+ msgid "address of explicit register variable %qD requested"
+ msgstr "Adresse der Register-Variablen %qD angefordert"
+
+-#: cp/typeck.c:4706
++#: cp/typeck.c:4714
+ #, gcc-internal-format
+ msgid "address requested for %qD, which is declared %<register%>"
+ msgstr "Adresse für %qD angefordert, was als %<register%> deklariert ist"
+
+-#: cp/typeck.c:4772
++#: cp/typeck.c:4780
+ #, gcc-internal-format
+ msgid "%s expression list treated as compound expression"
+ msgstr "%s Ausdrucksliste als zusammengesetzten Ausdruck behandelt"
+
+-#: cp/typeck.c:5175
++#: cp/typeck.c:5183
+ #, gcc-internal-format
+ msgid "invalid static_cast from type %qT to type %qT"
+ msgstr "ungültiges static_cast vom Typ %qT in den Typ %qT"
+
+-#: cp/typeck.c:5197
++#: cp/typeck.c:5205
+ #, gcc-internal-format
+ msgid "converting from %qT to %qT"
+ msgstr "Umwandlung von %qT nach %qT"
+
+-#: cp/typeck.c:5245
++#: cp/typeck.c:5253
+ #, gcc-internal-format
+ msgid "invalid cast of an rvalue expression of type %qT to type %qT"
+ msgstr "ungültige Typumwandlung eines R-Wert-Ausdrucks des Typs %qT in Typ %qT"
+
+-#: cp/typeck.c:5304
++#: cp/typeck.c:5312
+ #, gcc-internal-format
+ msgid "cast from %qT to %qT loses precision"
+ msgstr "Typumwandlung von %qT nach %qT verliert Genauigkeit"
+
+-#: cp/typeck.c:5331
++#: cp/typeck.c:5339
+ #, gcc-internal-format
+ msgid "cast from %qT to %qT increases required alignment of target type"
+ msgstr "Umwandlung von %qT in %qT erhöht erforderliche Ausrichtung des Zieltyps"
+@@ -32164,155 +32196,155 @@
+ #. where possible, and it is necessary in some cases. DR 195
+ #. addresses this issue, but as of 2004/10/26 is still in
+ #. drafting.
+-#: cp/typeck.c:5351
++#: cp/typeck.c:5359
+ #, gcc-internal-format
+ msgid "ISO C++ forbids casting between pointer-to-function and pointer-to-object"
+ msgstr "ISO-C++ verbietet Umwandlung zwischen Zeiger auf Funktion und Zeiger auf Objekt"
+
+-#: cp/typeck.c:5362
++#: cp/typeck.c:5370
+ #, gcc-internal-format
+ msgid "invalid cast from type %qT to type %qT"
+ msgstr "ungültige Umwandlung von Typ %qT in Typ %qT"
+
+-#: cp/typeck.c:5418
++#: cp/typeck.c:5426
+ #, gcc-internal-format
+ msgid "invalid use of const_cast with type %qT, which is not a pointer, reference, nor a pointer-to-data-member type"
+ msgstr "ungültige Verwendung von const_cast mit Typ %qT, das weder Zeiger, Referenz, noch vom Typ eines Zeigers auf Datenelement ist"
+
+-#: cp/typeck.c:5427
++#: cp/typeck.c:5435
+ #, gcc-internal-format
+ msgid "invalid use of const_cast with type %qT, which is a pointer or reference to a function type"
+ msgstr "ungültige Verwendung von const_cast mit Typ %qT, das ein Zeiger oder Referenz auf Funktionstyp ist"
+
+-#: cp/typeck.c:5452
++#: cp/typeck.c:5460
+ #, gcc-internal-format
+ msgid "invalid const_cast of an rvalue of type %qT to type %qT"
+ msgstr "ungültiges const_cast eines R-Wertes des Typs %qT in Typ %qT"
+
+-#: cp/typeck.c:5503
++#: cp/typeck.c:5511
+ #, gcc-internal-format
+ msgid "invalid const_cast from type %qT to type %qT"
+ msgstr "ungültiges const_cast von Typ %qT in Typ %qT"
+
+-#: cp/typeck.c:5571 cp/typeck.c:5576
++#: cp/typeck.c:5579 cp/typeck.c:5584
+ #, gcc-internal-format
+ msgid "ISO C++ forbids casting to an array type %qT"
+ msgstr "ISO-C++ verbietet Umwandlung in Feldtyp %qT"
+
+-#: cp/typeck.c:5584
++#: cp/typeck.c:5592
+ #, gcc-internal-format
+ msgid "invalid cast to function type %qT"
+ msgstr "ungültige Umwandlung in Funktionstyp %qT"
+
+-#: cp/typeck.c:5804
++#: cp/typeck.c:5812
+ #, gcc-internal-format
+ msgid " in evaluation of %<%Q(%#T, %#T)%>"
+ msgstr " in Auswertung von %<%Q(%#T, %#T)%>"
+
+-#: cp/typeck.c:5873
++#: cp/typeck.c:5881
+ #, gcc-internal-format
+ msgid "incompatible types in assignment of %qT to %qT"
+ msgstr "unverträgliche Typen in Zuweisung von %qT an %qT"
+
+-#: cp/typeck.c:5884
++#: cp/typeck.c:5892
+ #, gcc-internal-format
+ msgid "array used as initializer"
+ msgstr "Feld als Initialisierung verwendet"
+
+-#: cp/typeck.c:5886
++#: cp/typeck.c:5894
+ #, gcc-internal-format
+ msgid "invalid array assignment"
+ msgstr "Ungültiger Feldzuweisung"
+
+-#: cp/typeck.c:5998
++#: cp/typeck.c:6006
+ #, gcc-internal-format
+ msgid " in pointer to member function conversion"
+ msgstr " in Umwandlung in Zeiger auf Elementfunktion"
+
+-#: cp/typeck.c:6009
++#: cp/typeck.c:6017
+ #, gcc-internal-format
+ msgid "pointer to member conversion via virtual base %qT"
+ msgstr "Umwandlung in Zeiger auf Element über virtuelle Basis %qT"
+
+-#: cp/typeck.c:6049 cp/typeck.c:6061
++#: cp/typeck.c:6057 cp/typeck.c:6069
+ #, gcc-internal-format
+ msgid " in pointer to member conversion"
+ msgstr " in Umwandlung in Zeiger auf Element"
+
+-#: cp/typeck.c:6140
++#: cp/typeck.c:6148
+ #, gcc-internal-format
+ msgid "invalid conversion to type %qT from type %qT"
+ msgstr "ungültige Umwandlung in Typ %qT von Typ %qT"
+
+-#: cp/typeck.c:6384
++#: cp/typeck.c:6411
+ #, gcc-internal-format
+ msgid "cannot convert %qT to %qT for argument %qP to %qD"
+ msgstr "%qT kann nicht nach %qT für Argument %qP nach %qD umgewandelt werden"
+
+-#: cp/typeck.c:6387
++#: cp/typeck.c:6414
+ #, gcc-internal-format
+ msgid "cannot convert %qT to %qT in %s"
+ msgstr "%qT kann nicht nach %qT in %s umgewandelt werden"
+
+-#: cp/typeck.c:6398
++#: cp/typeck.c:6425
+ #, gcc-internal-format
+ msgid "%s might be a candidate for a format attribute"
+ msgstr "%s könnte möglicher Kandidat für Formatattribut sein"
+
+-#: cp/typeck.c:6485 cp/typeck.c:6487
++#: cp/typeck.c:6512 cp/typeck.c:6514
+ #, gcc-internal-format
+ msgid "in passing argument %P of %q+D"
+ msgstr "bei Ãœbergabe des Arguments %P von %q+D"
+
+-#: cp/typeck.c:6537
++#: cp/typeck.c:6564
+ #, gcc-internal-format
+ msgid "returning reference to temporary"
+ msgstr "Referenz auf temporären Wert wird zurückgegeben"
+
+-#: cp/typeck.c:6544
++#: cp/typeck.c:6571
+ #, gcc-internal-format
+ msgid "reference to non-lvalue returned"
+ msgstr "Referenz auf Nicht-L-Wert zurückgegeben"
+
+-#: cp/typeck.c:6560
++#: cp/typeck.c:6587
+ #, gcc-internal-format
+ msgid "reference to local variable %q+D returned"
+ msgstr "Referenz auf lokale Variable %q+D zurückgegeben"
+
+-#: cp/typeck.c:6563
++#: cp/typeck.c:6590
+ #, gcc-internal-format
+ msgid "address of local variable %q+D returned"
+ msgstr "Adresse der lokalen Variable %q+D zurückgegeben"
+
+-#: cp/typeck.c:6598
++#: cp/typeck.c:6625
+ #, gcc-internal-format
+ msgid "returning a value from a destructor"
+ msgstr "Wert von Destruktor zurückgegeben"
+
+ #. If a return statement appears in a handler of the
+ #. function-try-block of a constructor, the program is ill-formed.
+-#: cp/typeck.c:6606
++#: cp/typeck.c:6633
+ #, gcc-internal-format
+ msgid "cannot return from a handler of a function-try-block of a constructor"
+ msgstr "vom Behandler eines Funktions-try-Blocks eines Konstruktors kann nicht zurückgekehrt werden"
+
+ #. You can't return a value from a constructor.
+-#: cp/typeck.c:6609
++#: cp/typeck.c:6636
+ #, gcc-internal-format
+ msgid "returning a value from a constructor"
+ msgstr "Rückgabe eines Wertes von einem Konstruktor"
+
+-#: cp/typeck.c:6633
++#: cp/typeck.c:6661
+ #, gcc-internal-format
+ msgid "return-statement with no value, in function returning %qT"
+ msgstr "Return-Anweisung ohne Wert, in %qT zurückgebender Funktion"
+
+-#: cp/typeck.c:6654
++#: cp/typeck.c:6682
+ #, gcc-internal-format
+ msgid "return-statement with a value, in function returning 'void'"
+ msgstr "Return-Anweisung mit Wert in »void« zurückgebender Funktion"
+
+-#: cp/typeck.c:6685
++#: cp/typeck.c:6713
+ #, gcc-internal-format
+ msgid "%<operator new%> must not return NULL unless it is declared %<throw()%> (or -fcheck-new is in effect)"
+ msgstr "%<operator new%> darf nicht NULL zurückgeben, außer es ist mit %<throw()%> deklariert (oder -fcheck-new ist eingeschaltet)"
+@@ -32498,57 +32530,57 @@
+ msgid "pointer to member type %qT incompatible with object type %qT"
+ msgstr "Zeiger auf Elementtyp %qT mit Objekttyp %qT inkompatibel"
+
+-#: cp/typeck2.c:1495
++#: cp/typeck2.c:1508
+ #, 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.c:1498
++#: cp/typeck2.c:1511
+ #, gcc-internal-format
+ msgid "call to function which throws incomplete type %q#T"
+ msgstr "Aufruf einer Funktion, die unvollständigen Typen %q#T wirft"
+
+-#: fortran/f95-lang.c:233
++#: fortran/f95-lang.c:235
+ #, gcc-internal-format
+ msgid "Unexpected type in truthvalue_conversion"
+ msgstr "Unerwarteter Typ in Wahrheitswert-Umwandlung"
+
+-#: fortran/f95-lang.c:289
++#: fortran/f95-lang.c:291
+ #, gcc-internal-format
+ msgid "can't open input file: %s"
+ msgstr "Eingabedatei »%s« kann nicht geöffnet werden"
+
+-#: fortran/f95-lang.c:629
++#: fortran/f95-lang.c:631
+ #, gcc-internal-format
+ msgid "global register variable %qs used in nested function"
+ msgstr "globale Register-Variable %qs in verschachtelter Funktion verwendet"
+
+-#: fortran/f95-lang.c:633
++#: fortran/f95-lang.c:635
+ #, gcc-internal-format
+ msgid "register variable %qs used in nested function"
+ msgstr "Register-Variable %qs in verschachtelter Funktion verwendet"
+
+-#: fortran/f95-lang.c:640
++#: fortran/f95-lang.c:642
+ #, gcc-internal-format
+ msgid "address of global register variable %qs requested"
+ msgstr "Adresse der globalen Register-Variable %qs angefordert"
+
+-#: fortran/f95-lang.c:658
++#: fortran/f95-lang.c:660
+ #, gcc-internal-format
+ msgid "address of register variable %qs requested"
+ msgstr "Adresse der Register-Variablen %qs angefordert"
+
+-#: fortran/trans-array.c:3765
++#: fortran/trans-array.c:3805
+ #, gcc-internal-format
+ msgid "Possible frontend bug: array constructor not expanded"
+ msgstr "Möglicher Frontend-Fehler: Feldkonstruktor nicht expandiert"
+
+-#: fortran/trans-array.c:5418
++#: fortran/trans-array.c:5499
+ #, gcc-internal-format
+ msgid "Possible frontend bug: Deferred array size without pointer, allocatable attribute or derived type without allocatable components."
+ msgstr "Möglicher Frontend-Fehler: Aufgeschobene Feldgröße ohne Zeiger, allozierbares Attribut oder abgeleiteter Typ ohne allozierbare Komponenten."
+
+-#: fortran/trans-array.c:5894
++#: fortran/trans-array.c:5975
+ #, gcc-internal-format
+ msgid "bad expression type during walk (%d)"
+ msgstr "Falscher Ausdruckstyp beim Durchlaufen (%d)"
+@@ -32558,27 +32590,27 @@
+ msgid "gfc_conv_constant_to_tree(): invalid type: %s"
+ msgstr "gfc_conv_constant_to_tree(): ungültiger Typ: %s"
+
+-#: fortran/trans-decl.c:966
++#: fortran/trans-decl.c:972
+ #, gcc-internal-format
+ msgid "intrinsic variable which isn't a procedure"
+ msgstr "innere Variable, die keine Prozedur ist"
+
+-#: fortran/trans-decl.c:2639
++#: fortran/trans-decl.c:2644
+ #, gcc-internal-format
+ msgid "Function does not return a value"
+ msgstr "Funktion gibt keinen Wert zurück"
+
+-#: fortran/trans-decl.c:2817
++#: fortran/trans-decl.c:2832
+ #, gcc-internal-format
+ msgid "backend decl for module variable %s already exists"
+ msgstr "Backend-Deklaration für Modulvariable %s ist bereits vorhanden"
+
+-#: fortran/trans-decl.c:3351
++#: fortran/trans-decl.c:3314
+ #, gcc-internal-format
+ msgid "Function return value not set"
+ msgstr "Rückgabewert der Funktion nicht gesetzt"
+
+-#: fortran/trans-expr.c:1163
++#: fortran/trans-expr.c:1177
+ #, gcc-internal-format
+ msgid "Unknown intrinsic op"
+ msgstr "unbekannte innere Anweisung"
+@@ -32588,32 +32620,32 @@
+ msgid "Intrinsic function %s(%d) not recognized"
+ msgstr "Innere Funktion %s(%d) nicht erkannt"
+
+-#: fortran/trans-io.c:1928
++#: fortran/trans-io.c:1929
+ #, gcc-internal-format
+ msgid "Bad IO basetype (%d)"
+ msgstr "Falscher IO-Basistyp (%d)"
+
+-#: fortran/trans-types.c:386
++#: fortran/trans-types.c:387
+ #, gcc-internal-format
+ msgid "integer kind=8 not available for -fdefault-integer-8 option"
+ msgstr "integer kind=8 nicht verfügbar für Option -fdefault-integer-8"
+
+-#: fortran/trans-types.c:409
++#: fortran/trans-types.c:410
+ #, gcc-internal-format
+ msgid "real kind=8 not available for -fdefault-real-8 option"
+ msgstr "real kind=8 nicht verfügbar für Option -fdefault-real-8"
+
+-#: fortran/trans-types.c:422
++#: fortran/trans-types.c:423
+ #, gcc-internal-format
+ msgid "Use of -fdefault-double-8 requires -fdefault-real-8"
+ msgstr "Verwendung von -fdefault-double-8 erfordert -fdefault-real-8"
+
+-#: fortran/trans-types.c:1181
++#: fortran/trans-types.c:1185
+ #, gcc-internal-format
+ msgid "Array element size too big"
+ msgstr "Feldelementgröße zu hoch"
+
+-#: fortran/trans.c:1150
++#: fortran/trans.c:1151
+ #, gcc-internal-format
+ msgid "gfc_trans_code(): Bad statement code"
+ msgstr "gfc_trans_code(): Falscher Anweisungscode"
+@@ -32673,88 +32705,88 @@
+ msgid "need to insert runtime check for %s"
+ msgstr "Laufzeitprüfung für %s muss eingefügt werden"
+
+-#: java/expr.c:505 java/expr.c:552
++#: java/expr.c:524 java/expr.c:571
+ #, gcc-internal-format
+ msgid "assert: %s is assign compatible with %s"
+ msgstr "assert: %s ist mit %s zuweisungsverträglich"
+
+-#: java/expr.c:670
++#: java/expr.c:689
+ #, gcc-internal-format
+ msgid "stack underflow - dup* operation"
+ msgstr "Stapelunterlauf - dup*-Operation"
+
+-#: java/expr.c:1657
++#: java/expr.c:1676
+ #, gcc-internal-format
+ msgid "reference %qs is ambiguous: appears in interface %qs and interface %qs"
+ msgstr "Referenz %qs ist mehrdeutig: erscheint in den Schnittstellen %qs und %qs"
+
+-#: java/expr.c:1685
++#: java/expr.c:1704
+ #, gcc-internal-format
+ msgid "field %qs not found"
+ msgstr "Feld %qs nicht gefunden"
+
+-#: java/expr.c:2224
++#: java/expr.c:2243
+ #, gcc-internal-format
+ msgid "method '%s' not found in class"
+ msgstr "Methode »%s« nicht gefunden in Klasse"
+
+-#: java/expr.c:2429
++#: java/expr.c:2448
+ #, gcc-internal-format
+ msgid "failed to find class '%s'"
+ msgstr "Suche nach Klasse »%s« gescheitert"
+
+-#: java/expr.c:2470
++#: java/expr.c:2489
+ #, gcc-internal-format
+ msgid "class '%s' has no method named '%s' matching signature '%s'"
+ msgstr "Klasse »%s« hat keine Methode namens »%s«, die zur Signatur »%s« passt"
+
+-#: java/expr.c:2501
++#: java/expr.c:2520
+ #, gcc-internal-format
+ msgid "invokestatic on non static method"
+ msgstr "invokestatic an nichtstatischer Methode"
+
+-#: java/expr.c:2506
++#: java/expr.c:2525
+ #, gcc-internal-format
+ msgid "invokestatic on abstract method"
+ msgstr "invokestatic an abstrakter Methode"
+
+-#: java/expr.c:2514
++#: java/expr.c:2533
+ #, gcc-internal-format
+ msgid "invoke[non-static] on static method"
+ msgstr "invoke[non-static] an statischer Methode"
+
+-#: java/expr.c:2865
++#: java/expr.c:2890
+ #, gcc-internal-format
+ msgid "missing field '%s' in '%s'"
+ msgstr "Feld »%s« fehlt in »%s«"
+
+-#: java/expr.c:2872
++#: java/expr.c:2897
+ #, gcc-internal-format
+ msgid "mismatching signature for field '%s' in '%s'"
+ msgstr "unpassende Signatur für Feld »%s« in »%s«"
+
+-#: java/expr.c:2901
++#: java/expr.c:2926
+ #, gcc-internal-format
+ msgid "assignment to final field %q+D not in field's class"
+ msgstr "Zuweisung an final-Feld %q+D nicht in Klasse des Feldes"
+
+-#: java/expr.c:3123
++#: java/expr.c:3148
+ #, gcc-internal-format
+ msgid "invalid PC in line number table"
+ msgstr "ungültiges PC in Zeilennummerntabelle"
+
+-#: java/expr.c:3173
++#: java/expr.c:3198
+ #, gcc-internal-format
+ msgid "unreachable bytecode from %d to before %d"
+ msgstr "unerreichbarer Bytecode von %d bis vor %d"
+
+-#: java/expr.c:3217
++#: java/expr.c:3242
+ #, gcc-internal-format
+ msgid "unreachable bytecode from %d to the end of the method"
+ msgstr "unerreichbarer Bytecode von %d bis an's Ende der Methode"
+
+ #. duplicate code from LOAD macro
+-#: java/expr.c:3522
++#: java/expr.c:3547
+ #, gcc-internal-format
+ msgid "unrecogized wide sub-instruction"
+ msgstr "nicht erkannter breiter Teilbefehl"
+@@ -32820,27 +32852,27 @@
+ msgid "%Hduplicate class will only be compiled once"
+ msgstr "%Hdoppelte Klasse wird nur einmal übersetzt"
+
+-#: java/jcf-parse.c:1636
++#: java/jcf-parse.c:1638
+ #, gcc-internal-format
+ msgid "missing Code attribute"
+ msgstr "fehlendes Code-Attribut"
+
+-#: java/jcf-parse.c:1858
++#: java/jcf-parse.c:1860
+ #, gcc-internal-format
+ msgid "no input file specified"
+ msgstr "keine Eingabedatei angegeben"
+
+-#: java/jcf-parse.c:1893
++#: java/jcf-parse.c:1895
+ #, gcc-internal-format
+ msgid "can't close input file %s: %m"
+ msgstr "die Eingabedatei »%s« kann nicht geschlossen werden: %m"
+
+-#: java/jcf-parse.c:1940
++#: java/jcf-parse.c:1942
+ #, gcc-internal-format
+ msgid "bad zip/jar file %s"
+ msgstr "schlechte ZIP/JAR-Datei %s"
+
+-#: java/jcf-parse.c:2145
++#: java/jcf-parse.c:2152
+ #, gcc-internal-format
+ msgid "error while reading %s from zip file"
+ msgstr "Fehler beim Lesen von %s aus ZIP-Datei"
+@@ -32850,22 +32882,22 @@
+ msgid "warning: already-compiled .class files ignored with -C"
+ msgstr "Warnung: bereits kompilierte .class-Dateien mit -C ignoriert"
+
+-#: java/lang.c:590
++#: java/lang.c:594
+ #, gcc-internal-format
+ msgid "-findirect-dispatch is incompatible with -freduced-reflection"
+ msgstr "-findirect-dispatch ist mit -freduced-reflection unverträglich"
+
+-#: java/lang.c:593
++#: java/lang.c:597
+ #, gcc-internal-format
+ msgid "-fjni is incompatible with -freduced-reflection"
+ msgstr "-fjni ist mit -freduced-reflection unverträglich"
+
+-#: java/lang.c:604
++#: java/lang.c:608
+ #, gcc-internal-format
+ msgid "can't do dependency tracking with input from stdin"
+ msgstr "Abhängigkeiten-Verfolgung kann bei Eingabe von stdin nicht durchgeführt werden"
+
+-#: java/lang.c:620
++#: java/lang.c:624
+ #, gcc-internal-format
+ msgid "couldn't determine target name for dependency tracking"
+ msgstr "Zielname für Abhängigkeiten-Verfolgung konnte nicht ermittelt werden"
+@@ -33324,6 +33356,219 @@
+ msgid "%qD attribute ignored"
+ msgstr "Attribut %qD wird ignoriert"
+
++#~ msgid "using CONST_DOUBLE for address"
++#~ msgstr "CONST_DOUBLE für Adresse verwendet"
++
++#~ msgid "c4x_address_cost: Invalid addressing mode"
++#~ msgstr "c4x_address_cost: Ungültiger Adressierungsmodus"
++
++#~ msgid "c4x_print_operand: %%L inconsistency"
++#~ msgstr "c4x_print_operand: %%L-Inkonsistenz"
++
++#~ msgid "c4x_print_operand: %%N inconsistency"
++#~ msgstr "c4x_print_operand: %%N-Inkonsistenz"
++
++#~ msgid "c4x_print_operand: %%O inconsistency"
++#~ msgstr "c4x_print_operand: %%O-Inkonsistenz"
++
++#~ msgid "c4x_print_operand: Bad operand case"
++#~ msgstr "c4x_print_operand: Falscher Operandenfall"
++
++#~ msgid "c4x_print_operand_address: Bad post_modify"
++#~ msgstr "c4x_print_operand_address: Falsches post_modify"
++
++#~ msgid "c4x_print_operand_address: Bad pre_modify"
++#~ msgstr "c4x_print_operand_address: Falsches pre_modify"
++
++#~ msgid "c4x_print_operand_address: Bad operand case"
++#~ msgstr "c4x_print_operand_address: Falscher Operandenfall"
++
++#~ msgid "c4x_rptb_insert: Cannot find start label"
++#~ msgstr "c4x_rptb_insert: Anfangsmarke kann nicht gefunden werden"
++
++#~ msgid "invalid indirect memory address"
++#~ msgstr "ungültige indirekte Speicheradresse"
++
++#~ msgid "invalid indirect (S) memory address"
++#~ msgstr "ungültige indirekte (S) Speicheradresse"
++
++#~ msgid "c4x_valid_operands: Internal error"
++#~ msgstr "c4x_valid_operands: Interner Fehler"
++
++#~ msgid "c4x_operand_subword: invalid mode"
++#~ msgstr "c4x_operand_subword: ungültiger Modus"
++
++#~ msgid "c4x_operand_subword: invalid operand"
++#~ msgstr "c4x_operand_subword: ungültiger Operand"
++
++#~ msgid "c4x_operand_subword: invalid autoincrement"
++#~ msgstr "c4x_operand_subword: ungültige automatische Erhöhung"
++
++#~ msgid "c4x_operand_subword: invalid address"
++#~ msgstr "c4x_operand_subword: ungültige Adresse"
++
++#~ msgid "c4x_operand_subword: address not offsettable"
++#~ msgstr "c4x_operand_subword: Adresse nicht versetzbar"
++
++#~ msgid "c4x_rptb_rpts_p: Repeat block top label moved"
++#~ msgstr "c4x_rptb_rpts_p: Anfangsmarke des Wiederholungsblocks bewegt"
++
++#~ msgid "Missing DIM parameter in intrinsic '%s' at %L"
++#~ msgstr "Fehlender Parameter DIM in intrinsischem »%s« bei %L"
++
++#~ msgid "Fortran 2003: Support for intrinsic procedure '%s' in PROCEDURE statement at %C not yet implemented in gfortran"
++#~ msgstr "Fortran 2003: Unterstützung für intrinsische Prozedur »%s« in PROCEDURE-Anweisung bei %C in gfortran noch nicht implementiert"
++
++#~ msgid "Inquiry function '%s' at %L is not permitted in an initialization expression"
++#~ msgstr "Abfragefunktion »%s« bei %L ist nicht in einem Initialisierungs-Ausdruck erlaubt"
++
++#~ msgid "STAT variable '%s' of DEALLOCATE statement at %C cannot be INTENT(IN)"
++#~ msgstr "STAT-Variable »%s« der DEALLOCATE-Anweisung bei %C kann nicht INTENT(IN) sein"
++
++#~ msgid "Illegal STAT variable in DEALLOCATE statement at %C for a PURE procedure"
++#~ msgstr "Illegale STAT-Variable in DEALLOCATE-Anweisung bei %C für eine PURE-Prozedur"
++
++#~ msgid "BLOCK DATA unit cannot contain blank COMMON at %C"
++#~ msgstr "BLOCK DATA-Einheit kann kein leeres COMMON bei %C enthalten"
++
++#~ msgid "Previously initialized symbol '%s' in blank COMMON block at %C"
++#~ msgstr "Vorher initialisiertes Symbol »%s« in leerem COMMON-Block bei %C"
++
++#~ msgid "Previously initialized symbol '%s' in COMMON block '%s' at %C"
++#~ msgstr "Vorher initialisiertes Symbol »%s« in COMMON-Block »%s« bei %C"
++
++#~ msgid "Expected VARIABLE at %C"
++#~ msgstr "VARIABLE bei %C erwartet"
++
++#~ msgid "STAT tag in DEALLOCATE statement at %L must be of type INTEGER"
++#~ msgstr "STAT-Marke in DEALLOCATE-Anweisung bei %L muss Typ INTEGER haben"
++
++#~ msgid "Generate code for C30 CPU"
++#~ msgstr "Code für C30-CPU erzeugen"
++
++#~ msgid "Generate code for C31 CPU"
++#~ msgstr "Code für C31-CPU erzeugen"
++
++#~ msgid "Generate code for C32 CPU"
++#~ msgstr "Code für C32-CPU erzeugen"
++
++#~ msgid "Generate code for C33 CPU"
++#~ msgstr "Code für C33-CPU erzeugen"
++
++#~ msgid "Generate code for C40 CPU"
++#~ msgstr "Code für C40-CPU erzeugen"
++
++#~ msgid "Generate code for C44 CPU"
++#~ msgstr "Code für C44-CPU erzeugen"
++
++#~ msgid "Assume that pointers may be aliased"
++#~ msgstr "Annehmen, dass Zeiger mit anderem Namen verwendet werden können"
++
++#~ msgid "Big memory model"
++#~ msgstr "Großes Speichermodell"
++
++#~ msgid "Use the BK register as a general purpose register"
++#~ msgstr "Das BK-Register als Mehrzweckregister verwenden"
++
++#~ msgid "Generate code for CPU"
++#~ msgstr "Code für CPU erzeugen"
++
++#~ msgid "Enable use of DB instruction"
++#~ msgstr "Verwendung des DB-Befehls einschalten"
++
++#~ msgid "Enable debugging"
++#~ msgstr "Modus für Fehlersuche einschalten"
++
++#~ msgid "Enable new features under development"
++#~ msgstr "In Entwicklung befindliche neue Eigenschaften einschalten"
++
++#~ msgid "Use fast but approximate float to integer conversion"
++#~ msgstr "Schnelle aber nur angenäherte Gleitkomma-zu-Ganzzahl-Umwandlung verwenden"
++
++#~ msgid "Force RTL generation to emit valid 3 operand insns"
++#~ msgstr "RTL-Erzeugung zwingen, gültige 3-Operanden-Befehle zu generieren"
++
++#~ msgid "Force constants into registers to improve hoisting"
++#~ msgstr "Konstanten in Register zwingen, um das Setzen von Marken zu verbessern"
++
++#~ msgid "Save DP across ISR in small memory model"
++#~ msgstr "DP während ISR im kleinen Speichermodell sichern"
++
++#~ msgid "Allow unsigned iteration counts for RPTB/DB"
++#~ msgstr "Vorzeichenlose Wiederholungszähler für RPTB/DB erlauben"
++
++#~ msgid "Pass arguments on the stack"
++#~ msgstr "Argumente über den Stapel übergeben"
++
++#~ msgid "Use MPYI instruction for C3x"
++#~ msgstr "MPYI-Befehle für C3x verwenden"
++
++#~ msgid "Enable parallel instructions"
++#~ msgstr "Parallele Befehle einschalten"
++
++#~ msgid "Enable MPY||ADD and MPY||SUB instructions"
++#~ msgstr "MPY||ADD- und MPY||SUB-Befehle einschalten"
++
++#~ msgid "Preserve all 40 bits of FP reg across call"
++#~ msgstr "Alle 40 Bit des FP-Registers über Aufrufe hinweg erhalten"
++
++#~ msgid "Pass arguments in registers"
++#~ msgstr "Argumente über Register übergeben"
++
++#~ msgid "Enable use of RTPB instruction"
++#~ msgstr "Verwendung des RTPB-Befehls einschalten"
++
++#~ msgid "Enable use of RTPS instruction"
++#~ msgstr "Verwendung des RTPS-Befehls einschalten"
++
++#~ msgid "Set the maximum number of iterations for RPTS to N"
++#~ msgstr "Höchstzahl der Iterationen für RPTS auf N setzen"
++
++#~ msgid "Small memory model"
++#~ msgstr "Kleines Speichermodell"
++
++#~ msgid "Emit code compatible with TI tools"
++#~ msgstr "Mit TI-Werkzeugen kompatiblen Code erzeugen"
++
++#~ msgid "Copy memory address constants into registers before use"
++#~ msgstr "Speicheradressen-Konstanten müssen vor der Benutzung in Register kopiert werden"
++
++#~ msgid "This switch is obsolete"
++#~ msgstr "Dieser Schalter ist veraltet"
++
++#~ msgid "static or type qualifiers in abstract declarator"
++#~ msgstr "static oder Typkennzeichner in abstraktem Deklarator"
++
++#~ msgid "missing '(' after '#pragma %s' - ignored"
++#~ msgstr "»(« hinter »#pragma %s« fehlt - ignoriert"
++
++#~ msgid "missing function name in '#pragma %s' - ignored"
++#~ msgstr "in »#pragma %s« fehlt Funktionsname - ignoriert"
++
++#~ msgid "malformed '#pragma %s' - ignored"
++#~ msgstr "falsch geformtes »#pragma %s« - ignoriert"
++
++#~ msgid "missing section name in '#pragma %s' - ignored"
++#~ msgstr "fehlender Abschnittsname in »#pragma %s« - ignoriert"
++
++#~ msgid "missing ')' for '#pragma %s' - ignored"
++#~ msgstr "»)« für »#pragma %s« fehlt - ignoriert"
++
++#~ msgid "junk at end of '#pragma %s'"
++#~ msgstr "Ausschuss am Ende von »#pragma %s«"
++
++#~ msgid "ISR %s requires %d words of local vars, max is 32767"
++#~ msgstr "ISR %s benötigt %d Wörter lokaler Variablen, höchstens 32767"
++
++#~ msgid "constant halfword load operand out of range"
++#~ msgstr "Konstanter Halbwort-Lade-Operand außerhalb des Wertebereiches"
++
++#~ msgid "constant arithmetic operand out of range"
++#~ msgstr "Konstanter arithmetischer Operand außerhalb des Wertebereiches"
++
++#~ msgid "used %d template parameter(s) instead of %d"
++#~ msgstr "%d Template-Parameter statt %d verwendet"
++
+ #~ msgid "Attempt to delete prologue/epilogue insn:"
+ #~ msgstr "Versuch, Prolog/Epilog-Befehl zu löschen"
+
+@@ -33455,9 +33700,6 @@
+ #~ msgid "rhs of CHARACTER assignment at %L will be truncated (%d/%d)"
+ #~ msgstr "rhs der CHARACTER-Zuweisung bei %L wird abgeschnitten (%d/%d)"
+
+-#~ msgid "Derived type variable '%s' at %L with default initializer cannot be an EQUIVALENCE object"
+-#~ msgstr "Variable »%s« abgeleiteten Typs bei %L mit Standardinitialisierung kann kein EQUIVALENCE-Objekt sein."
+-
+ #~ msgid "Initialized objects '%s' and '%s' cannot both be in the EQUIVALENCE statement at %L"
+ #~ msgstr "Initialisierte Objekte »%s« und »%s« können nicht beide in EQUIVALENCE-Anweisung bei %L sein"
+
+@@ -34114,9 +34356,6 @@
+ #~ "%s.\n"
+ #~ "%s"
+
+-#~ msgid "Missing return statement"
+-#~ msgstr "Fehlende Rückgabeanweisung"
+-
+ #~ msgid "Unreachable statement"
+ #~ msgstr "Nicht erreichbare Anweisung"
+
+@@ -35839,10 +36078,6 @@
+ #~ msgstr "Funktion »%D« kann nicht als »friend« deklariert werden"
+
+ #, fuzzy
+-#~ msgid "invalid initializer for virtual method %qD"
+-#~ msgstr "ungültige Initialisierung für virtuelle Methode »%D«"
+-
+-#, fuzzy
+ #~ msgid "too many template parameter lists in declaration of %qT"
+ #~ msgstr "zu viele Templateparameterlisten in Deklaration von »%T«"
+
+Index: gcc/po/ja.po
+===================================================================
+--- gcc/po/ja.po (.../tags/gcc_4_3_0_release) (revision 133808)
++++ gcc/po/ja.po (.../branches/gcc-4_3-branch) (revision 133808)
+@@ -8,7 +8,7 @@
+ msgstr ""
+ "Project-Id-Version: gcc 3.0\n"
+ "Report-Msgid-Bugs-To: http://gcc.gnu.org/bugs.html\n"
+-"POT-Creation-Date: 2007-11-08 21:09+0000\n"
++"POT-Creation-Date: 2008-03-05 17:23+0100\n"
+ "PO-Revision-Date: 2001-12-05 22:47+0900\n"
+ "Last-Translator: Daisuke Yamashita <yamad@mb.infoweb.ne.jp>\n"
+ "Language-Team: Japanese <ja@li.org>\n"
+@@ -16,7 +16,7 @@
+ "Content-Type: text/plain; charset=EUC-JP\n"
+ "Content-Transfer-Encoding: 8bit\n"
+
+-#: c-decl.c:3814
++#: c-decl.c:3813
+ #, fuzzy
+ msgid "<anonymous>"
+ msgstr "<̵̾ %s>"
+@@ -340,58 +340,58 @@
+ msgid "End of search list.\n"
+ msgstr "õº÷¥ê¥¹¥È¤Î½ª¤ï¤ê\n"
+
+-#: c-opts.c:1484
++#: c-opts.c:1505
+ #, fuzzy
+ msgid "<built-in>"
+ msgstr "<ÁȤ߹þ¤ß>"
+
+-#: c-opts.c:1502
++#: c-opts.c:1523
+ #, fuzzy
+ msgid "<command-line>"
+ msgstr "<¥³¥Þ¥ó¥É¥é¥¤¥ó>"
+
+-#: c-typeck.c:2448 c-typeck.c:4851 c-typeck.c:4853 c-typeck.c:4861
+-#: c-typeck.c:4891 c-typeck.c:6267
++#: c-typeck.c:2459 c-typeck.c:4862 c-typeck.c:4864 c-typeck.c:4872
++#: c-typeck.c:4902 c-typeck.c:6278
+ msgid "initializer element is not constant"
+ msgstr "½é´ü²½»Ò¤ÎÍ×ÁǤ¬Äê¿ô¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó"
+
+-#: c-typeck.c:4654
++#: c-typeck.c:4665
+ #, fuzzy
+ msgid "array initialized from parenthesized string constant"
+ msgstr "¥ï¥¤¥Éʸ»úÎ󤫤é char ¤ÎÇÛÎ󤬽é´ü²½¤µ¤ì¤Þ¤·¤¿"
+
+-#: c-typeck.c:4715 cp/typeck2.c:677
++#: c-typeck.c:4726 cp/typeck2.c:677
+ #, gcc-internal-format
+ msgid "char-array initialized from wide string"
+ msgstr "¥ï¥¤¥Éʸ»úÎ󤫤é char ¤ÎÇÛÎ󤬽é´ü²½¤µ¤ì¤Þ¤·¤¿"
+
+-#: c-typeck.c:4720
++#: c-typeck.c:4731
+ #, fuzzy
+ msgid "wchar_t-array initialized from non-wide string"
+ msgstr "¥ï¥¤¥Éʸ»úÎ󤫤é char ¤ÎÇÛÎ󤬽é´ü²½¤µ¤ì¤Þ¤·¤¿"
+
+-#: c-typeck.c:4738 cp/typeck2.c:697
++#: c-typeck.c:4749 cp/typeck2.c:697
+ #, gcc-internal-format
+ msgid "initializer-string for array of chars is too long"
+ msgstr "char ¤ÎÇÛÎó¤Ë¤È¤Ã¤Æ½é´ü²½»Òʸ»úÎó¤¬Ä¹¤¹¤®¤Þ¤¹"
+
+-#: c-typeck.c:4744
++#: c-typeck.c:4755
+ #, fuzzy
+ msgid "array of inappropriate type initialized from string constant"
+ msgstr "¥ï¥¤¥Éʸ»úÎ󤫤é char ¤ÎÇÛÎ󤬽é´ü²½¤µ¤ì¤Þ¤·¤¿"
+
+ #. ??? This should not be an error when inlining calls to
+ #. unprototyped functions.
+-#: c-typeck.c:4808 c-typeck.c:4333 cp/typeck.c:1528
++#: c-typeck.c:4819 c-typeck.c:4344 cp/typeck.c:1574
+ #, gcc-internal-format
+ msgid "invalid use of non-lvalue array"
+ msgstr "Èóº¸ÊÕÃÍÇÛÎó¤Î̵¸ú¤ÊÍøÍÑ"
+
+-#: c-typeck.c:4834
++#: c-typeck.c:4845
+ msgid "array initialized from non-constant array expression"
+ msgstr "ÈóÄê¿ôÇÛÎó¼°¤«¤éÇÛÎ󤬽é´ü²½¤µ¤ì¤Þ¤·¤¿"
+
+-#: c-typeck.c:4898 c-typeck.c:6271
++#: c-typeck.c:4909 c-typeck.c:6282
+ #, gcc-internal-format
+ msgid "initializer element is not computable at load time"
+ msgstr "½é´ü²½»Ò¤ÎÍ×ÁÇ¤Ï¥í¡¼¥É»þ¤Ë·×»»¤µ¤ìÆÀ¤Þ¤»¤ó"
+@@ -400,149 +400,149 @@
+ #. of VLAs themselves count as VLAs, it does not make
+ #. sense to permit them to be initialized given that
+ #. ordinary VLAs may not be initialized.
+-#: c-typeck.c:4909 c-decl.c:3222 c-decl.c:3237
++#: c-typeck.c:4920 c-decl.c:3220 c-decl.c:3235
+ #, gcc-internal-format
+ msgid "variable-sized object may not be initialized"
+ msgstr "²ÄÊÑĹ¥ª¥Ö¥¸¥§¥¯¥È¤Ï½é´ü²½¤µ¤ì¤Ê¤¤¤³¤È¤Ë¤Ê¤ë¤Ç¤·¤ç¤¦"
+
+-#: c-typeck.c:4913
++#: c-typeck.c:4924
+ msgid "invalid initializer"
+ msgstr "̵¸ú¤Ê½é´ü²½»Ò"
+
+-#: c-typeck.c:5387
++#: c-typeck.c:5398
+ msgid "extra brace group at end of initializer"
+ msgstr "½é´ü²½»Ò¤Î½ª¤ï¤ê¤Ë;ʬ¤Ê¥Ö¥ì¡¼¥¹¤Î¥°¥ë¡¼¥×"
+
+-#: c-typeck.c:5407
++#: c-typeck.c:5418
+ msgid "missing braces around initializer"
+ msgstr "½é´ü²½»Ò¤Î¤Þ¤ï¤ê¤Î¥Ö¥ì¡¼¥¹¤ò·ç¤¤¤Æ¤¤¤Þ¤¹"
+
+-#: c-typeck.c:5468
++#: c-typeck.c:5479
+ msgid "braces around scalar initializer"
+ msgstr "¥¹¥«¥é¡¼½é´ü²½»Ò¤¬¥Ö¥ì¡¼¥¹¤Ç°Ï¤Þ¤ì¤Æ¤¤¤Þ¤¹"
+
+-#: c-typeck.c:5525
++#: c-typeck.c:5536
+ msgid "initialization of flexible array member in a nested context"
+ msgstr "¥Í¥¹¥È¤·¤¿Ê¸Ì®¤Ç²ÄÊÑÇÛÎó¥á¥ó¥Ð¤ò½é´ü²½¤·¤Æ¤¤¤Þ¤¹"
+
+-#: c-typeck.c:5527
++#: c-typeck.c:5538
+ msgid "initialization of a flexible array member"
+ msgstr "²ÄÊÑÇÛÎó¥á¥ó¥Ð¤ò½é´ü²½¤·¤Æ¤¤¤Þ¤¹"
+
+-#: c-typeck.c:5554
++#: c-typeck.c:5565
+ msgid "missing initializer"
+ msgstr "½é´ü²½»Ò¤ò·ç¤¤¤Æ¤¤¤Þ¤¹"
+
+-#: c-typeck.c:5576
++#: c-typeck.c:5587
+ msgid "empty scalar initializer"
+ msgstr "¶õ¤Î¥¹¥«¥é¡¼½é´ü²½»Ò"
+
+-#: c-typeck.c:5581
++#: c-typeck.c:5592
+ msgid "extra elements in scalar initializer"
+ msgstr "¥¹¥«¥é¡¼½é´ü²½»Ò¤Ë;ʬ¤ÊÍ×ÁÇ"
+
+-#: c-typeck.c:5678 c-typeck.c:5738
++#: c-typeck.c:5689 c-typeck.c:5749
+ msgid "array index in non-array initializer"
+ msgstr "ÈóÇÛÎó¤Î½é´ü²½»Ò¤ËÇÛÎ󥤥ó¥Ç¥Ã¥¯¥¹¤¬»È¤ï¤ì¤Þ¤·¤¿"
+
+-#: c-typeck.c:5683 c-typeck.c:5791
++#: c-typeck.c:5694 c-typeck.c:5802
+ msgid "field name not in record or union initializer"
+ msgstr "¥ì¥³¡¼¥É¤ä¶¦ÍÑÂΤ˥ե£¡¼¥ë¥É̾¤¬¤Ê¤¤½é´ü²½»Ò¤Ç¤¹"
+
+-#: c-typeck.c:5729
++#: c-typeck.c:5740
+ #, fuzzy
+ msgid "array index in initializer not of integer type"
+ msgstr "½é´ü²½»ÒÆâ¤ÎÇÛÎ󥤥ó¥Ç¥Ã¥¯¥¹¤¬ÇÛÎó¤Î¶­³¦¤òĶ¤¨¤Þ¤·¤¿"
+
+-#: c-typeck.c:5734 c-typeck.c:5736
++#: c-typeck.c:5745 c-typeck.c:5747
+ msgid "nonconstant array index in initializer"
+ msgstr "½é´ü²½»ÒÆâ¤ËÈóÄê¿ô¤ÎÇÛÎ󥤥ó¥Ç¥Ã¥¯¥¹¤¬¤¢¤ê¤Þ¤¹"
+
+-#: c-typeck.c:5740 c-typeck.c:5743
++#: c-typeck.c:5751 c-typeck.c:5754
+ msgid "array index in initializer exceeds array bounds"
+ msgstr "½é´ü²½»ÒÆâ¤ÎÇÛÎ󥤥ó¥Ç¥Ã¥¯¥¹¤¬ÇÛÎó¤Î¶­³¦¤òĶ¤¨¤Þ¤·¤¿"
+
+-#: c-typeck.c:5754
++#: c-typeck.c:5765
+ msgid "empty index range in initializer"
+ msgstr "½é´ü²½»ÒÆâ¤Ë¶õ¤ÎÈÏ°Ï¥¤¥ó¥Ç¥Ã¥¯¥¹¤¬¤¢¤ê¤Þ¤¹"
+
+-#: c-typeck.c:5763
++#: c-typeck.c:5774
+ msgid "array index range in initializer exceeds array bounds"
+ msgstr "½é´ü²½»Ò¤ÎÈÏ°Ï¥¤¥ó¥Ç¥Ã¥¯¥¹¤¬ÇÛÎó¤Î¶­³¦¤òĶ¤¨¤Þ¤·¤¿"
+
+-#: c-typeck.c:5838 c-typeck.c:5861 c-typeck.c:6335
++#: c-typeck.c:5849 c-typeck.c:5872 c-typeck.c:6346
+ msgid "initialized field with side-effects overwritten"
+ msgstr "½é´ü²½¤µ¤ì¤¿¥Õ¥£¡¼¥ë¥É¤¬ÉûºîÍѤǾå½ñ¤­¤µ¤ì¤Þ¤¹"
+
+-#: c-typeck.c:5840 c-typeck.c:5863 c-typeck.c:6337
++#: c-typeck.c:5851 c-typeck.c:5874 c-typeck.c:6348
+ #, fuzzy
+ msgid "initialized field overwritten"
+ msgstr "½é´ü²½¤µ¤ì¤¿¥Õ¥£¡¼¥ë¥É¤¬ÉûºîÍѤǾå½ñ¤­¤µ¤ì¤Þ¤¹"
+
+-#: c-typeck.c:6545
++#: c-typeck.c:6556
+ msgid "excess elements in char array initializer"
+ msgstr "char ÇÛÎó½é´ü²½»ÒÆâ¤ÎÍ×ÁǤ¬Â¿¤¹¤®¤Þ¤¹"
+
+-#: c-typeck.c:6552 c-typeck.c:6598
++#: c-typeck.c:6563 c-typeck.c:6609
+ msgid "excess elements in struct initializer"
+ msgstr "¹½Â¤Âνé´ü²½»ÒÆâ¤ÎÍ×ÁǤ¬Â¿¤¹¤®¤Þ¤¹"
+
+-#: c-typeck.c:6613
++#: c-typeck.c:6624
+ #, fuzzy
+ msgid "non-static initialization of a flexible array member"
+ msgstr "²ÄÊÑÇÛÎó¥á¥ó¥Ð¤ò½é´ü²½¤·¤Æ¤¤¤Þ¤¹"
+
+-#: c-typeck.c:6681
++#: c-typeck.c:6692
+ msgid "excess elements in union initializer"
+ msgstr "¶¦ÍÑÂνé´ü²½»ÒÆâ¤ÎÍ×ÁǤ¬Â¿¤¹¤®¤Þ¤¹"
+
+-#: c-typeck.c:6768
++#: c-typeck.c:6779
+ msgid "excess elements in array initializer"
+ msgstr "ÇÛÎó½é´ü²½»ÒÆâ¤ÎÍ×ÁǤ¬Â¿¤¹¤®¤Þ¤¹"
+
+-#: c-typeck.c:6798
++#: c-typeck.c:6809
+ #, fuzzy
+ msgid "excess elements in vector initializer"
+ msgstr "¹½Â¤Âνé´ü²½»ÒÆâ¤ÎÍ×ÁǤ¬Â¿¤¹¤®¤Þ¤¹"
+
+-#: c-typeck.c:6822
++#: c-typeck.c:6833
+ msgid "excess elements in scalar initializer"
+ msgstr "¥¹¥«¥é¡¼½é´ü²½»ÒÆâ¤ÎÍ×ÁǤ¬Â¿¤¹¤®¤Þ¤¹"
+
+-#: cfgrtl.c:1925
++#: cfgrtl.c:1923
+ msgid "flow control insn inside a basic block"
+ msgstr ""
+
+-#: cfgrtl.c:2054
++#: cfgrtl.c:2052
+ msgid "wrong insn in the fallthru edge"
+ msgstr ""
+
+-#: cfgrtl.c:2110
++#: cfgrtl.c:2108
+ #, fuzzy
+ msgid "insn outside basic block"
+ msgstr "´ðËÜ¥Ö¥í¥Ã¥¯ %d Æâ:"
+
+-#: cfgrtl.c:2117
++#: cfgrtl.c:2115
+ #, fuzzy
+ msgid "return not followed by barrier"
+ msgstr "'#' ¤Ë¥Þ¥¯¥í²¾°ú¿ô̾¤¬Â³¤¤¤Æ¤¤¤Þ¤»¤ó"
+
+-#: cgraph.c:339 ipa-inline.c:417
++#: cgraph.c:340 ipa-inline.c:417
+ #, fuzzy
+ msgid "function body not available"
+ msgstr "´Ø¿ô¤ò inline ¤Ë¤Ç¤­¤Þ¤»¤ó"
+
+-#: cgraph.c:341 cgraphbuild.c:96
++#: cgraph.c:342 cgraphbuild.c:96
+ #, fuzzy
+ msgid "redefined extern inline functions are not considered for inlining"
+ msgstr "¥¤¥ó¥é¥¤¥ó´Ø¿ô¤ò¥¤¥ó¥é¥¤¥ó²½¤Ç¤­¤Ê¤¤¾ì¹ç¤Ë·Ù¹ð¤¹¤ë"
+
+-#: cgraph.c:344 cgraphbuild.c:103
++#: cgraph.c:345 cgraphbuild.c:103
+ #, fuzzy
+ msgid "function not considered for inlining"
+ msgstr "´Ø¿ô¤ò inline ¤Ë¤Ç¤­¤Þ¤»¤ó"
+
+-#: cgraph.c:346 cgraphbuild.c:99
++#: cgraph.c:347 cgraphbuild.c:99
+ #, fuzzy
+ msgid "function not inlinable"
+ msgstr "´Ø¿ô¤ò inline ¤Ë¤Ç¤­¤Þ¤»¤ó"
+@@ -552,87 +552,87 @@
+ msgid "mismatched arguments"
+ msgstr "̵¸ú¤Ê·¿°ú¿ô¤Ç¤¹"
+
+-#: collect2.c:378 gcc.c:6897
++#: collect2.c:382 gcc.c:6896
+ #, fuzzy, c-format
+ msgid "internal gcc abort in %s, at %s:%d"
+ msgstr "%s ¤ÇÆâÉô¥³¥ó¥Ñ¥¤¥é¥¨¥é¡¼ (%s:%d)"
+
+-#: collect2.c:889
++#: collect2.c:903
+ #, c-format
+ msgid "no arguments"
+ msgstr "°ú¿ô¤¬¤¢¤ê¤Þ¤»¤ó"
+
+-#: collect2.c:1263 collect2.c:1411 collect2.c:1446
++#: collect2.c:1277 collect2.c:1425 collect2.c:1460
+ #, c-format
+ msgid "fopen %s"
+ msgstr "fopen %s"
+
+-#: collect2.c:1266 collect2.c:1416 collect2.c:1449
++#: collect2.c:1280 collect2.c:1430 collect2.c:1463
+ #, c-format
+ msgid "fclose %s"
+ msgstr "fclose %s"
+
+-#: collect2.c:1275
++#: collect2.c:1289
+ #, c-format
+ msgid "collect2 version %s"
+ msgstr "collect2 version %s"
+
+-#: collect2.c:1365
++#: collect2.c:1379
+ #, c-format
+ msgid "%d constructor(s) found\n"
+ msgstr "%d ¸Ä¤Î¥³¥ó¥¹¥È¥é¥¯¥¿¤¬¸«¤Ä¤«¤ê¤Þ¤·¤¿\n"
+
+-#: collect2.c:1366
++#: collect2.c:1380
+ #, c-format
+ msgid "%d destructor(s) found\n"
+ msgstr "%d ¸Ä¤Î¥Ç¥¹¥È¥é¥¯¥¿¤¬¸«¤Ä¤«¤ê¤Þ¤·¤¿\n"
+
+-#: collect2.c:1367
++#: collect2.c:1381
+ #, c-format
+ msgid "%d frame table(s) found\n"
+ msgstr "%d ¸Ä¤Î¥Õ¥ì¡¼¥à¥Æ¡¼¥Ö¥ë¤¬¸«¤Ä¤«¤ê¤Þ¤·¤¿\n"
+
+-#: collect2.c:1504
++#: collect2.c:1518
+ #, fuzzy, c-format
+ msgid "can't get program status"
+ msgstr "%s ¤«¤éÆɹþ¤á¤Þ¤»¤ó"
+
+-#: collect2.c:1573
++#: collect2.c:1587
+ #, fuzzy, c-format
+ msgid "could not open response file %s"
+ msgstr "¥½¡¼¥¹¥Õ¥¡¥¤¥ë %s ¤ò³«¤±¤Þ¤»¤ó¤Ç¤·¤¿.\n"
+
+-#: collect2.c:1578
++#: collect2.c:1592
+ #, fuzzy, c-format
+ msgid "could not write to response file %s"
+ msgstr "spec ¥Õ¥¡¥¤¥ë %s ¤ò¸«¤Ä¤±¤ë¤³¤È¤¬¤Ç¤­¤Þ¤»¤ó¤Ç¤·¤¿\n"
+
+-#: collect2.c:1583
++#: collect2.c:1597
+ #, fuzzy, c-format
+ msgid "could not close response file %s"
+ msgstr "¥½¡¼¥¹¥Õ¥¡¥¤¥ë %s ¤ò³«¤±¤Þ¤»¤ó¤Ç¤·¤¿.\n"
+
+-#: collect2.c:1601
++#: collect2.c:1615
+ #, c-format
+ msgid "[cannot find %s]"
+ msgstr "[%s ¤¬¸«¤Ä¤«¤ê¤Þ¤»¤ó]"
+
+-#: collect2.c:1616
++#: collect2.c:1630
+ #, fuzzy, c-format
+ msgid "cannot find '%s'"
+ msgstr "`%s' ¤¬¸«¤Ä¤«¤ê¤Þ¤»¤ó"
+
+-#: collect2.c:1620 collect2.c:2112 collect2.c:2267 gcc.c:2978
++#: collect2.c:1634 collect2.c:2126 collect2.c:2281 gcc.c:2974
+ #, c-format
+ msgid "pex_init failed"
+ msgstr ""
+
+-#: collect2.c:1658
++#: collect2.c:1672
+ #, c-format
+ msgid "[Leaving %s]\n"
+ msgstr "[%s ¤òÎ¥¤ì¤Þ¤¹]\n"
+
+-#: collect2.c:1878
++#: collect2.c:1892
+ #, c-format
+ msgid ""
+ "\n"
+@@ -641,32 +641,32 @@
+ "\n"
+ "write_c_file - ½ÐÎÏ̾¤Ï %s¡¢¥×¥ì¥Õ¥£¥¯¥¹¤Ï %s\n"
+
+-#: collect2.c:2086
++#: collect2.c:2100
+ #, fuzzy, c-format
+ msgid "cannot find 'nm'"
+ msgstr "`nm' ¤¬¸«¤Ä¤«¤ê¤Þ¤»¤ó"
+
+-#: collect2.c:2133
++#: collect2.c:2147
+ #, fuzzy, c-format
+ msgid "can't open nm output"
+ msgstr "½ÐÎÏ¥Õ¥¡¥¤¥ë `%s' ¤ò open ¤Ç¤­¤Þ¤»¤ó"
+
+-#: collect2.c:2177
++#: collect2.c:2191
+ #, c-format
+ msgid "init function found in object %s"
+ msgstr "init ´Ø¿ô¤ò¥ª¥Ö¥¸¥§¥¯¥È %s ¤Ç¸«¤Ä¤±¤Þ¤·¤¿"
+
+-#: collect2.c:2185
++#: collect2.c:2199
+ #, c-format
+ msgid "fini function found in object %s"
+ msgstr "fini ´Ø¿ô¤ò¥ª¥Ö¥¸¥§¥¯¥È %s ¤Ç¸«¤Ä¤±¤Þ¤·¤¿"
+
+-#: collect2.c:2288
++#: collect2.c:2302
+ #, fuzzy, c-format
+ msgid "can't open ldd output"
+ msgstr "½ÐÎÏ¥Õ¥¡¥¤¥ë `%s' ¤ò open ¤Ç¤­¤Þ¤»¤ó"
+
+-#: collect2.c:2291
++#: collect2.c:2305
+ #, c-format
+ msgid ""
+ "\n"
+@@ -675,27 +675,27 @@
+ "\n"
+ "ldd ½ÐÎϤ¬¥³¥ó¥¹¥È¥é¥¯¥¿/¥Ç¥¹¥È¥é¥¯¥¿¤òȼ¤¤¤Þ¤¹¡£\n"
+
+-#: collect2.c:2306
++#: collect2.c:2320
+ #, c-format
+ msgid "dynamic dependency %s not found"
+ msgstr "ưŪ°Í¸´Ø·¸ %s ¤¬¸«¤Ä¤«¤ê¤Þ¤»¤ó"
+
+-#: collect2.c:2318
++#: collect2.c:2332
+ #, c-format
+ msgid "unable to open dynamic dependency '%s'"
+ msgstr "ưŪ°Í¸´Ø·¸ '%s' ¤ò³«¤±¤Þ¤»¤ó"
+
+-#: collect2.c:2474
++#: collect2.c:2488
+ #, c-format
+ msgid "%s: not a COFF file"
+ msgstr "%s: COFF ¥Õ¥¡¥¤¥ë¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó"
+
+-#: collect2.c:2594
++#: collect2.c:2608
+ #, c-format
+ msgid "%s: cannot open as COFF file"
+ msgstr "%s: COFF ¥Õ¥¡¥¤¥ë¤È¤·¤Æ³«¤±¤Þ¤»¤ó"
+
+-#: collect2.c:2652
++#: collect2.c:2666
+ #, fuzzy, c-format
+ msgid "library lib%s not found"
+ msgstr "¥é¥¤¥Ö¥é¥ê lib%s ¤¬¸«¤Ä¤«¤ê¤Þ¤»¤ó"
+@@ -745,41 +745,41 @@
+ msgid "negative insn length"
+ msgstr ""
+
+-#: final.c:2609
++#: final.c:2615
+ msgid "could not split insn"
+ msgstr ""
+
+-#: final.c:2979
++#: final.c:2992
+ #, fuzzy
+ msgid "invalid 'asm': "
+ msgstr "̵¸ú¤Ê `asm': %s"
+
+-#: final.c:3162
++#: final.c:3175
+ #, c-format
+ msgid "nested assembly dialect alternatives"
+ msgstr ""
+
+-#: final.c:3179 final.c:3191
++#: final.c:3192 final.c:3204
+ #, c-format
+ msgid "unterminated assembly dialect alternative"
+ msgstr ""
+
+-#: final.c:3238
++#: final.c:3251
+ #, fuzzy, c-format
+ msgid "operand number missing after %%-letter"
+ msgstr "±é»»¿ô¤¬ %-letter ¤Î¸å¤Ë¤¢¤ê¤Þ¤»¤ó"
+
+-#: final.c:3241 final.c:3282
++#: final.c:3254 final.c:3295
+ #, c-format
+ msgid "operand number out of range"
+ msgstr "±é»»¿ô¤¬Èϰϳ°¤Ç¤¹"
+
+-#: final.c:3301
++#: final.c:3314
+ #, c-format
+ msgid "invalid %%-code"
+ msgstr "̵¸ú¤Ê %%-code"
+
+-#: final.c:3331
++#: final.c:3344
+ #, fuzzy, c-format
+ msgid "'%%l' operand isn't a label"
+ msgstr "`%l' ±é»»¤Ï¥é¥Ù¥ë¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó"
+@@ -790,13 +790,13 @@
+ #. handle them.
+ #. We can't handle floating point constants;
+ #. PRINT_OPERAND must handle them.
+-#: final.c:3433 vmsdbgout.c:487 config/i386/i386.c:8143
++#: final.c:3446 vmsdbgout.c:487 config/i386/i386.c:8198
+ #: config/pdp11/pdp11.c:1704
+ #, c-format
+ msgid "floating constant misused"
+ msgstr "ÉâÆ°¾®¿ôÄê¿ô¤ò»È¤¤Â»¤Í¤Þ¤·¤¿"
+
+-#: final.c:3493 vmsdbgout.c:544 config/i386/i386.c:8224
++#: final.c:3507 vmsdbgout.c:544 config/i386/i386.c:8279
+ #: config/pdp11/pdp11.c:1751
+ #, c-format
+ msgid "invalid expression as operand"
+@@ -807,7 +807,7 @@
+ msgid "Using built-in specs.\n"
+ msgstr "ÁȤ߹þ¤ß spec ¤ò»ÈÍÑ.\n"
+
+-#: gcc.c:1887
++#: gcc.c:1883
+ #, c-format
+ msgid ""
+ "Setting spec %s to '%s'\n"
+@@ -816,42 +816,42 @@
+ "spec %s ¤ò '%s' ¤ËÀßÄêÃæ\n"
+ "\n"
+
+-#: gcc.c:2002
++#: gcc.c:1998
+ #, c-format
+ msgid "Reading specs from %s\n"
+ msgstr "%s ¤«¤é spec ¤òÆɤ߹þ¤ßÃæ\n"
+
+-#: gcc.c:2098 gcc.c:2117
++#: gcc.c:2094 gcc.c:2113
+ #, c-format
+ msgid "specs %%include syntax malformed after %ld characters"
+ msgstr "specs ¤Î %ld ʸ»úÌܰʹߤΠ%%include ¤Î½ñ¼°¤¬ÊѤǤ¹"
+
+-#: gcc.c:2125
++#: gcc.c:2121
+ #, fuzzy, c-format
+ msgid "could not find specs file %s\n"
+ msgstr "spec ¥Õ¥¡¥¤¥ë %s ¤ò¸«¤Ä¤±¤ë¤³¤È¤¬¤Ç¤­¤Þ¤»¤ó¤Ç¤·¤¿\n"
+
+-#: gcc.c:2142 gcc.c:2150 gcc.c:2159 gcc.c:2168
++#: gcc.c:2138 gcc.c:2146 gcc.c:2155 gcc.c:2164
+ #, c-format
+ msgid "specs %%rename syntax malformed after %ld characters"
+ msgstr "specs ¤Î %ld ʸ»úÌܰʹߤΠ%%rename ¤Î½ñ¼°¤¬ÊѤǤ¹"
+
+-#: gcc.c:2177
++#: gcc.c:2173
+ #, c-format
+ msgid "specs %s spec was not found to be renamed"
+ msgstr "spec ¥Õ¥¡¥¤¥ë %s ¤Ë̾Á°¤òÊѹ¹¤¹¤ë spec ¤¬¸«¤Ä¤«¤ê¤Þ¤»¤ó¤Ç¤·¤¿"
+
+-#: gcc.c:2184
++#: gcc.c:2180
+ #, c-format
+ msgid "%s: attempt to rename spec '%s' to already defined spec '%s'"
+ msgstr ""
+
+-#: gcc.c:2189
++#: gcc.c:2185
+ #, c-format
+ msgid "rename spec %s to %s\n"
+ msgstr "spec %s ¤ò %s ¤Ë̾Á°¤òÊѹ¹\n"
+
+-#: gcc.c:2191
++#: gcc.c:2187
+ #, c-format
+ msgid ""
+ "spec is '%s'\n"
+@@ -860,37 +860,37 @@
+ "spec ¤Ï '%s' ¤Ç¤¹\n"
+ "\n"
+
+-#: gcc.c:2204
++#: gcc.c:2200
+ #, c-format
+ msgid "specs unknown %% command after %ld characters"
+ msgstr "spec ¥Õ¥¡¥¤¥ëÃæ¤Î %ld ʸ»ú¤Î¸å¤ËÉÔÌÀ¤Ê %% ¥³¥Þ¥ó¥É"
+
+-#: gcc.c:2215 gcc.c:2228
++#: gcc.c:2211 gcc.c:2224
+ #, c-format
+ msgid "specs file malformed after %ld characters"
+ msgstr "%ld ʸ»ú¤Î¸å¤Ë¤ª¤«¤·¤Ê spec ¥Õ¥¡¥¤¥ë"
+
+-#: gcc.c:2281
++#: gcc.c:2277
+ #, c-format
+ msgid "spec file has no spec for linking"
+ msgstr "spec ¥Õ¥¡¥¤¥ë¤Ë¥ê¥ó¥¯¤Ë´Ø¤¹¤ë spec ¤¬¤¢¤ê¤Þ¤»¤ó"
+
+-#: gcc.c:2609 gcc.c:4751
++#: gcc.c:2605 gcc.c:4745
+ #, c-format
+ msgid "%s\n"
+ msgstr "%s\n"
+
+-#: gcc.c:2809
++#: gcc.c:2805
+ #, c-format
+ msgid "system path '%s' is not absolute"
+ msgstr ""
+
+-#: gcc.c:2872
++#: gcc.c:2868
+ #, c-format
+ msgid "-pipe not supported"
+ msgstr "-pipe ¤Ï¼ÂÁõ¤µ¤ì¤Æ¤¤¤Þ¤»¤ó"
+
+-#: gcc.c:2934
++#: gcc.c:2930
+ #, c-format
+ msgid ""
+ "\n"
+@@ -899,17 +899,17 @@
+ "\n"
+ "³¤±¤Þ¤¹¤«? (y ¤Þ¤¿¤Ï n) "
+
+-#: gcc.c:3017
++#: gcc.c:3013
+ #, fuzzy
+ msgid "failed to get exit status"
+ msgstr "ld ¤Ï¥¹¥Æ¡¼¥¿¥¹ %d ¤Ç½ªÎ»¤·¤Þ¤·¤¿"
+
+-#: gcc.c:3023
++#: gcc.c:3019
+ #, fuzzy
+ msgid "failed to get process times"
+ msgstr "'%s' ¥¯¥é¥¹¤ò¸«¤Ä¤±¤ë¤Î¤Ë¼ºÇÔ¤·¤Þ¤·¤¿"
+
+-#: gcc.c:3049
++#: gcc.c:3045
+ #, c-format
+ msgid ""
+ "Internal error: %s (program %s)\n"
+@@ -920,80 +920,80 @@
+ "´°Á´¤Ê¥Ð¥°¥ì¥Ý¡¼¥È¤òÁ÷¤Ã¤Æ¤¯¤À¤µ¤¤¡£\n"
+ "%s ¤Ë¼ê½ç¤¬½ñ¤¤¤Æ¤¢¤ê¤Þ¤¹¡£"
+
+-#: gcc.c:3075
++#: gcc.c:3071
+ #, c-format
+ msgid "# %s %.2f %.2f\n"
+ msgstr "# %s %.2f %.2f\n"
+
+-#: gcc.c:3211
++#: gcc.c:3205
+ #, c-format
+ msgid "Usage: %s [options] file...\n"
+ msgstr "»È¤¤Êý: %s [¥ª¥×¥·¥ç¥ó] ¥Õ¥¡¥¤¥ë...\n"
+
+-#: gcc.c:3212
++#: gcc.c:3206
+ msgid "Options:\n"
+ msgstr "¥ª¥×¥·¥ç¥ó:\n"
+
+-#: gcc.c:3214
++#: gcc.c:3208
+ msgid " -pass-exit-codes Exit with highest error code from a phase\n"
+ msgstr ""
+ " -pass-exit-codes ¥Õ¥§¡¼¥º¤«¤é¤Î¥¨¥é¡¼¥³¡¼¥É¤ÎºÇÂçÃͤò exit\n"
+ " ¥³¡¼¥É¤È¤·¤ÆÊÖ¤¹\n"
+
+-#: gcc.c:3215
++#: gcc.c:3209
+ msgid " --help Display this information\n"
+ msgstr " --help ¤³¤Î¥Ø¥ë¥×¾ðÊó¤òɽ¼¨\n"
+
+-#: gcc.c:3216
++#: gcc.c:3210
+ msgid " --target-help Display target specific command line options\n"
+ msgstr " --target-help ¥¿¡¼¥²¥Ã¥È¸ÇÍ­¤Î¥³¥Þ¥ó¥É¥é¥¤¥ó¥ª¥×¥·¥ç¥ó¤òɽ¼¨\n"
+
+-#: gcc.c:3217
++#: gcc.c:3211
+ msgid " --help={target|optimizers|warnings|undocumented|params}[,{[^]joined|[^]separate}]\n"
+ msgstr ""
+
+-#: gcc.c:3218
++#: gcc.c:3212
+ #, fuzzy
+ msgid " Display specific types of command line options\n"
+ msgstr " --target-help ¥¿¡¼¥²¥Ã¥È¸ÇÍ­¤Î¥³¥Þ¥ó¥É¥é¥¤¥ó¥ª¥×¥·¥ç¥ó¤òɽ¼¨\n"
+
+-#: gcc.c:3220
++#: gcc.c:3214
+ msgid " (Use '-v --help' to display command line options of sub-processes)\n"
+ msgstr "(`-v --help' ¤ò»È¤¦¤È¡¢»Ò¥×¥í¥»¥¹¤Î¥³¥Þ¥ó¥É¥é¥¤¥ó¥ª¥×¥·¥ç¥ó¤òɽ¼¨)\n"
+
+-#: gcc.c:3221
++#: gcc.c:3215
+ msgid " -dumpspecs Display all of the built in spec strings\n"
+ msgstr " -dumpspecs ÁȤ߹þ¤Þ¤ì¤¿ spec ʸ»úÎó¤òÁ´¤Æɽ¼¨\n"
+
+-#: gcc.c:3222
++#: gcc.c:3216
+ msgid " -dumpversion Display the version of the compiler\n"
+ msgstr " -dumpversion ¥³¥ó¥Ñ¥¤¥é¤Î¥Ð¡¼¥¸¥ç¥ó¤òɽ¼¨\n"
+
+-#: gcc.c:3223
++#: gcc.c:3217
+ msgid " -dumpmachine Display the compiler's target processor\n"
+ msgstr " -dumpmachine ¥³¥ó¥Ñ¥¤¥é¤Î¥¿¡¼¥²¥Ã¥È¥×¥í¥»¥Ã¥µ¤òɽ¼¨\n"
+
+-#: gcc.c:3224
++#: gcc.c:3218
+ msgid " -print-search-dirs Display the directories in the compiler's search path\n"
+ msgstr " -print-search-dirs ¥³¥ó¥Ñ¥¤¥é¤Î¥µ¡¼¥Á¥Ñ¥¹¤Ë¤¢¤ë¥Ç¥£¥ì¥¯¥È¥ê¤òɽ¼¨\n"
+
+-#: gcc.c:3225
++#: gcc.c:3219
+ msgid " -print-libgcc-file-name Display the name of the compiler's companion library\n"
+ msgstr " -print-libgcc-file-name ¥³¥ó¥Ñ¥¤¥é¤Î¥³¥ó¥Ñ¥Ë¥ª¥ó¥é¥¤¥Ö¥é¥ê̾¤òɽ¼¨\n"
+
+-#: gcc.c:3226
++#: gcc.c:3220
+ msgid " -print-file-name=<lib> Display the full path to library <lib>\n"
+ msgstr " -print-file-name=<lib> ¥é¥¤¥Ö¥é¥ê <lib> ¤Ø¤Î¥Õ¥ë¥Ñ¥¹¤òɽ¼¨\n"
+
+-#: gcc.c:3227
++#: gcc.c:3221
+ msgid " -print-prog-name=<prog> Display the full path to compiler component <prog>\n"
+ msgstr " -print-prog-name=<prog> ¥³¥ó¥Ñ¥¤¥é¤ÎÉôÉÊ <prog> ¤Ø¤Î¥Õ¥ë¥Ñ¥¹¤òɽ¼¨\n"
+
+-#: gcc.c:3228
++#: gcc.c:3222
+ msgid " -print-multi-directory Display the root directory for versions of libgcc\n"
+ msgstr " -print-multi-directory libgcc ¤Î¥Ð¡¼¥¸¥ç¥ó¥Ç¥£¥ì¥¯¥È¥ê¥ë¡¼¥È¤òɽ¼¨\n"
+
+-#: gcc.c:3229
++#: gcc.c:3223
+ msgid ""
+ " -print-multi-lib Display the mapping between command line options and\n"
+ " multiple library search directories\n"
+@@ -1001,116 +1001,116 @@
+ " -print-multi-lib ¥³¥Þ¥ó¥É¥é¥¤¥ó¥ª¥×¥·¥ç¥ó¤ÈÊ£¿ô¤Î¥é¥¤¥Ö¥é¥êõº÷\n"
+ " ¥Ç¥£¥ì¥¯¥È¥ê¤È¤ÎÂбþ¤òɽ¼¨\n"
+
+-#: gcc.c:3232
++#: gcc.c:3226
+ #, fuzzy
+ msgid " -print-multi-os-directory Display the relative path to OS libraries\n"
+ msgstr " -print-multi-directory libgcc ¤Î¥Ð¡¼¥¸¥ç¥ó¥Ç¥£¥ì¥¯¥È¥ê¥ë¡¼¥È¤òɽ¼¨\n"
+
+-#: gcc.c:3233
++#: gcc.c:3227
+ msgid " -print-sysroot-headers-suffix Display the sysroot suffix used to find headers\n"
+ msgstr ""
+
+-#: gcc.c:3234
++#: gcc.c:3228
+ msgid " -Wa,<options> Pass comma-separated <options> on to the assembler\n"
+ msgstr " -Wa,<options> ¥«¥ó¥Þ¶èÀÚ¤ê¤Î <options> ¤ò¥¢¥»¥ó¥Ö¥é¤ËÅϤ¹\n"
+
+-#: gcc.c:3235
++#: gcc.c:3229
+ msgid " -Wp,<options> Pass comma-separated <options> on to the preprocessor\n"
+ msgstr " -Wp,<options> ¥«¥ó¥Þ¶èÀÚ¤ê¤Î <options> ¤ò¥×¥ê¥×¥í¥»¥Ã¥µ¤ËÅϤ¹\n"
+
+-#: gcc.c:3236
++#: gcc.c:3230
+ msgid " -Wl,<options> Pass comma-separated <options> on to the linker\n"
+ msgstr " -Wl,<options> ¥«¥ó¥Þ¶èÀÚ¤ê¤Î <options> ¤ò¥ê¥ó¥«¤ËÅϤ¹\n"
+
+-#: gcc.c:3237
++#: gcc.c:3231
+ #, fuzzy
+ msgid " -Xassembler <arg> Pass <arg> on to the assembler\n"
+ msgstr " -Xlinker <arg> <arg> ¤ò¥ê¥ó¥«¤ËÅϤ¹\n"
+
+-#: gcc.c:3238
++#: gcc.c:3232
+ #, fuzzy
+ msgid " -Xpreprocessor <arg> Pass <arg> on to the preprocessor\n"
+ msgstr " -Xlinker <arg> <arg> ¤ò¥ê¥ó¥«¤ËÅϤ¹\n"
+
+-#: gcc.c:3239
++#: gcc.c:3233
+ msgid " -Xlinker <arg> Pass <arg> on to the linker\n"
+ msgstr " -Xlinker <arg> <arg> ¤ò¥ê¥ó¥«¤ËÅϤ¹\n"
+
+-#: gcc.c:3240
++#: gcc.c:3234
+ #, fuzzy
+ msgid " -combine Pass multiple source files to compiler at once\n"
+ msgstr " -quiet ¥³¥ó¥Ñ¥¤¥ë¤µ¤ì¤¿´Ø¿ô¤ä·Ð²á»þ´Ö¤òɽ¼¨¤·¤Ê¤¤\n"
+
+-#: gcc.c:3241
++#: gcc.c:3235
+ msgid " -save-temps Do not delete intermediate files\n"
+ msgstr " -save-temps Ãæ´Ö¥Õ¥¡¥¤¥ë¤òºï½ü¤·¤Ê¤¤\n"
+
+-#: gcc.c:3242
++#: gcc.c:3236
+ msgid " -pipe Use pipes rather than intermediate files\n"
+ msgstr " -pipe Ãæ´Ö¥Õ¥¡¥¤¥ë¤Ç¤Ï¤Ê¤¯¥Ñ¥¤¥×¤ò»È¤¦\n"
+
+-#: gcc.c:3243
++#: gcc.c:3237
+ msgid " -time Time the execution of each subprocess\n"
+ msgstr " -time »Ò¥×¥í¥»¥¹¤´¤È¤Î¼Â¹Ô»þ´Ö¤ò·×¬¤¹¤ë\n"
+
+-#: gcc.c:3244
++#: gcc.c:3238
+ #, fuzzy
+ msgid " -specs=<file> Override built-in specs with the contents of <file>\n"
+ msgstr " -specs=<file> ÁȤ߹þ¤ß specs ¤ò <file> ¤ÎÆâÍƤÇÃÖ¤­´¹¤¨¤ë\n"
+
+-#: gcc.c:3245
++#: gcc.c:3239
+ msgid " -std=<standard> Assume that the input sources are for <standard>\n"
+ msgstr " -std=<standard> ÆþÎÏ¥½¡¼¥¹¤ò <standard> ¤È¸«¤Ê¤¹\n"
+
+-#: gcc.c:3246
++#: gcc.c:3240
+ msgid ""
+ " --sysroot=<directory> Use <directory> as the root directory for headers\n"
+ " and libraries\n"
+ msgstr ""
+
+-#: gcc.c:3249
++#: gcc.c:3243
+ msgid " -B <directory> Add <directory> to the compiler's search paths\n"
+ msgstr " -B <directory> <directory> ¤ò¥³¥ó¥Ñ¥¤¥é¤Îõº÷¥Ñ¥¹¤ËÄɲ乤ë\n"
+
+-#: gcc.c:3250
++#: gcc.c:3244
+ msgid " -b <machine> Run gcc for target <machine>, if installed\n"
+ msgstr ""
+ " -b <machine> ¥¤¥ó¥¹¥È¡¼¥ë¤µ¤ì¤Æ¤¤¤ì¤Ð¥¿¡¼¥²¥Ã¥È <machine> ¤È¤·¤Æ\n"
+ " gcc ¤ò¼Â¹Ô¤¹¤ë\n"
+
+-#: gcc.c:3251
++#: gcc.c:3245
+ msgid " -V <version> Run gcc version number <version>, if installed\n"
+ msgstr ""
+ " -V <version> ¥¤¥ó¥¹¥È¡¼¥ë¤µ¤ì¤Æ¤¤¤ì¤Ð <version> ¥Ð¡¼¥¸¥ç¥óÈÖ¹æ¤Î\n"
+ " gcc ¤È¤·¤Æ¼Â¹Ô¤¹¤ë\n"
+
+-#: gcc.c:3252
++#: gcc.c:3246
+ msgid " -v Display the programs invoked by the compiler\n"
+ msgstr " -v ¥³¥ó¥Ñ¥¤¥é¤Ë¤è¤Ã¤Æµ¯Æ°¤µ¤ì¤ë¥×¥í¥°¥é¥à¤òɽ¼¨\n"
+
+-#: gcc.c:3253
++#: gcc.c:3247
+ msgid " -### Like -v but options quoted and commands not executed\n"
+ msgstr ""
+
+-#: gcc.c:3254
++#: gcc.c:3248
+ msgid " -E Preprocess only; do not compile, assemble or link\n"
+ msgstr ""
+ " -E ¥×¥ê¥×¥í¥»¥¹¤Î¤ß -- ¥³¥ó¥Ñ¥¤¥ë¡¢¥¢¥»¥ó¥Ö¥ë¡¢¥ê¥ó¥¯\n"
+ " ¤ò¹Ô¤Ê¤ï¤Ê¤¤\n"
+
+-#: gcc.c:3255
++#: gcc.c:3249
+ msgid " -S Compile only; do not assemble or link\n"
+ msgstr " -S ¥³¥ó¥Ñ¥¤¥ë¤Î¤ß -- ¥¢¥»¥ó¥Ö¥ë¡¢¥ê¥ó¥¯¤ò¹Ô¤Ê¤ï¤Ê¤¤\n"
+
+-#: gcc.c:3256
++#: gcc.c:3250
+ msgid " -c Compile and assemble, but do not link\n"
+ msgstr " -c ¥³¥ó¥Ñ¥¤¥ë¡¢¥¢¥»¥ó¥Ö¥ë¤¹¤ë¤¬¡¢¥ê¥ó¥¯¤ò¹Ô¤Ê¤ï¤Ê¤¤\n"
+
+-#: gcc.c:3257
++#: gcc.c:3251
+ msgid " -o <file> Place the output into <file>\n"
+ msgstr " -o <file> <file> ¤Ë½ÐÎϤò¹Ô¤Ê¤¦\n"
+
+-#: gcc.c:3258
++#: gcc.c:3252
+ #, fuzzy
+ msgid ""
+ " -x <language> Specify the language of the following input files\n"
+@@ -1123,7 +1123,7 @@
+ " 'none' ¤ò»ØÄꤹ¤ë¤È¥Õ¥¡¥¤¥ë³ÈÄ¥»Ò¤Ë¤è¤Ã¤Æ¸À¸ì¤ò\n"
+ " ¿äÄꤹ¤ë¡¢¥Ç¥Õ¥©¥ë¥È¤Î¿¶¤ëÉñ¤¤¤ËÌá¤ë\n"
+
+-#: gcc.c:3265
++#: gcc.c:3259
+ #, c-format
+ msgid ""
+ "\n"
+@@ -1136,27 +1136,27 @@
+ "»Ò¥×¥í¥»¥¹¤Ë¼«Æ°Åª¤ËÅϤµ¤ì¤Þ¤¹¡£¤³¤¦¤¤¤Ã¤¿¥×¥í¥»¥¹¤Ë¤½¤Î¾¤Î¥ª¥×¥·¥ç¥ó¤òÅϤ¹\n"
+ "¤Ë¤Ï -W<letter> ¥ª¥×¥·¥ç¥ó¤ò»È¤ï¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó¡£\n"
+
+-#: gcc.c:3389
++#: gcc.c:3383
+ #, fuzzy, c-format
+ msgid "'-%c' option must have argument"
+ msgstr "-param ¥ª¥×¥·¥ç¥ó¤Ë°ú¿ô¤¬¤¢¤ê¤Þ¤»¤ó"
+
+-#: gcc.c:3411
++#: gcc.c:3405
+ #, c-format
+ msgid "couldn't run '%s': %s"
+ msgstr ""
+
+ #. translate_options () has turned --version into -fversion.
+-#: gcc.c:3612
++#: gcc.c:3606
+ #, fuzzy, c-format
+ msgid "%s %s%s\n"
+ msgstr "%s: %s"
+
+-#: gcc.c:3615 gcov.c:426 fortran/gfortranspec.c:380 java/jcf-dump.c:1168
++#: gcc.c:3609 gcov.c:427 fortran/gfortranspec.c:380 java/jcf-dump.c:1168
+ msgid "(C)"
+ msgstr ""
+
+-#: gcc.c:3616 java/jcf-dump.c:1169
++#: gcc.c:3610 java/jcf-dump.c:1169
+ #, c-format
+ msgid ""
+ "This is free software; see the source for copying conditions. There is NO\n"
+@@ -1164,160 +1164,160 @@
+ "\n"
+ msgstr ""
+
+-#: gcc.c:3728
++#: gcc.c:3722
+ #, fuzzy, c-format
+ msgid "argument to '-Xlinker' is missing"
+ msgstr "`-Xlinker' ¤Î°ú¿ô¤¬¤¢¤ê¤Þ¤»¤ó"
+
+-#: gcc.c:3736
++#: gcc.c:3730
+ #, fuzzy, c-format
+ msgid "argument to '-Xpreprocessor' is missing"
+ msgstr "`-specs' ¤Î°ú¿ô¤¬¤¢¤ê¤Þ¤»¤ó"
+
+-#: gcc.c:3743
++#: gcc.c:3737
+ #, fuzzy, c-format
+ msgid "argument to '-Xassembler' is missing"
+ msgstr "`-Xlinker' ¤Î°ú¿ô¤¬¤¢¤ê¤Þ¤»¤ó"
+
+-#: gcc.c:3750
++#: gcc.c:3744
+ #, fuzzy, c-format
+ msgid "argument to '-l' is missing"
+ msgstr "`-b' ¤Î°ú¿ô¤¬¤¢¤ê¤Þ¤»¤ó"
+
+-#: gcc.c:3771
++#: gcc.c:3765
+ #, fuzzy, c-format
+ msgid "argument to '-specs' is missing"
+ msgstr "`-specs' ¤Î°ú¿ô¤¬¤¢¤ê¤Þ¤»¤ó"
+
+-#: gcc.c:3785
++#: gcc.c:3779
+ #, fuzzy, c-format
+ msgid "argument to '-specs=' is missing"
+ msgstr "`-specs=' ¤Î°ú¿ô¤¬¤¢¤ê¤Þ¤»¤ó"
+
+-#: gcc.c:3826
++#: gcc.c:3820
+ #, c-format
+ msgid "'-%c' must come at the start of the command line"
+ msgstr ""
+
+-#: gcc.c:3835
++#: gcc.c:3829
+ #, fuzzy, c-format
+ msgid "argument to '-B' is missing"
+ msgstr "`-B' ¤Î°ú¿ô¤¬¤¢¤ê¤Þ¤»¤ó"
+
+-#: gcc.c:4185
++#: gcc.c:4179
+ #, fuzzy, c-format
+ msgid "argument to '-x' is missing"
+ msgstr "`-x' ¤Î°ú¿ô¤¬¤¢¤ê¤Þ¤»¤ó"
+
+-#: gcc.c:4213
++#: gcc.c:4207
+ #, fuzzy, c-format
+ msgid "argument to '-%s' is missing"
+ msgstr "`-%s' ¤Î°ú¿ô¤¬¤¢¤ê¤Þ¤»¤ó"
+
+-#: gcc.c:4541
++#: gcc.c:4535
+ #, c-format
+ msgid "switch '%s' does not start with '-'"
+ msgstr ""
+
+-#: gcc.c:4685
++#: gcc.c:4679
+ #, c-format
+ msgid "spec '%s' invalid"
+ msgstr ""
+
+-#: gcc.c:4824
++#: gcc.c:4818
+ #, fuzzy, c-format
+ msgid "spec '%s' has invalid '%%0%c'"
+ msgstr "¥Ó¥Ã¥È¥Õ¥£¡¼¥ë¥É `%s' ¤ÏÉÔŬÀڤʷ¿¤ò»ý¤Ã¤Æ¤¤¤Þ¤¹"
+
+-#: gcc.c:5053
++#: gcc.c:5047
+ #, fuzzy, c-format
+ msgid "could not open temporary response file %s"
+ msgstr "¥À¥ó¥×¥Õ¥¡¥¤¥ë %s ¤ò³«¤±¤Þ¤»¤ó¤Ç¤·¤¿"
+
+-#: gcc.c:5059
++#: gcc.c:5053
+ #, fuzzy, c-format
+ msgid "could not write to temporary response file %s"
+ msgstr "°ì»þ¥Õ¥¡¥¤¥ë¤òºîÀ®¤Ç¤­¤Þ¤»¤ó"
+
+-#: gcc.c:5065
++#: gcc.c:5059
+ #, fuzzy, c-format
+ msgid "could not close temporary response file %s"
+ msgstr "¥À¥ó¥×¥Õ¥¡¥¤¥ë %s ¤ò³«¤±¤Þ¤»¤ó¤Ç¤·¤¿"
+
+-#: gcc.c:5099
++#: gcc.c:5093
+ #, fuzzy, c-format
+ msgid "spec '%s' has invalid '%%W%c"
+ msgstr "¥Ó¥Ã¥È¥Õ¥£¡¼¥ë¥É `%s' ¤ÏÉÔŬÀڤʷ¿¤ò»ý¤Ã¤Æ¤¤¤Þ¤¹"
+
+-#: gcc.c:5119
++#: gcc.c:5113
+ #, fuzzy, c-format
+ msgid "spec '%s' has invalid '%%x%c'"
+ msgstr "¥Ó¥Ã¥È¥Õ¥£¡¼¥ë¥É `%s' ¤ÏÉÔŬÀڤʷ¿¤ò»ý¤Ã¤Æ¤¤¤Þ¤¹"
+
+-#: gcc.c:5341
++#: gcc.c:5335
+ #, c-format
+ msgid "Processing spec %c%s%c, which is '%s'\n"
+ msgstr "spec %c%s%c ¤ò½èÍýÃæ, ¤³¤ì¤Ï '%s' ¤Ç¤¹\n"
+
+-#: gcc.c:5465
++#: gcc.c:5459
+ #, fuzzy, c-format
+ msgid "unknown spec function '%s'"
+ msgstr "ÉÔÌÀ¤Ê¥¨¥¹¥±¡¼¥×¥·¡¼¥±¥ó¥¹ '\\%c'"
+
+-#: gcc.c:5484
++#: gcc.c:5478
+ #, fuzzy, c-format
+ msgid "error in args to spec function '%s'"
+ msgstr "´Ø¿ô `%s' ¤ËÂФ¹¤ë°ú¿ô¤¬Â¿¤¹¤®¤Þ¤¹"
+
+-#: gcc.c:5532
++#: gcc.c:5526
+ #, fuzzy, c-format
+ msgid "malformed spec function name"
+ msgstr "¥­¥ã¥¹¥È¤Ï´Ø¿ô·¿¤ò»ØÄꤷ¤Æ¤¤¤Þ¤¹"
+
+ #. )
+-#: gcc.c:5535
++#: gcc.c:5529
+ #, fuzzy, c-format
+ msgid "no arguments for spec function"
+ msgstr "´Ø¿ô¤Ø¤Î°ú¿ô¤¬¾¯¤Ê¤¹¤®¤Þ¤¹"
+
+-#: gcc.c:5554
++#: gcc.c:5548
+ #, c-format
+ msgid "malformed spec function arguments"
+ msgstr ""
+
+-#: gcc.c:5800
++#: gcc.c:5794
+ #, c-format
+ msgid "braced spec '%s' is invalid at '%c'"
+ msgstr ""
+
+-#: gcc.c:5888
++#: gcc.c:5882
+ #, c-format
+ msgid "braced spec body '%s' is invalid"
+ msgstr ""
+
+-#: gcc.c:6421
++#: gcc.c:6420
+ #, c-format
+ msgid "install: %s%s\n"
+ msgstr "¥¤¥ó¥¹¥È¡¼¥ë: %s%s\n"
+
+-#: gcc.c:6424
++#: gcc.c:6423
+ #, c-format
+ msgid "programs: %s\n"
+ msgstr "¥×¥í¥°¥é¥à: %s\n"
+
+-#: gcc.c:6426
++#: gcc.c:6425
+ #, c-format
+ msgid "libraries: %s\n"
+ msgstr "¥é¥¤¥Ö¥é¥ê: %s\n"
+
+ #. The error status indicates that only one set of fixed
+ #. headers should be built.
+-#: gcc.c:6480
++#: gcc.c:6479
+ #, c-format
+ msgid "not configured with sysroot headers suffix"
+ msgstr ""
+
+-#: gcc.c:6489
++#: gcc.c:6488
+ #, c-format
+ msgid ""
+ "\n"
+@@ -1326,47 +1326,47 @@
+ "\n"
+ "¥Ð¥°¥ì¥Ý¡¼¥È¤Î¼ê½ç¤Ï¡¢°Ê²¼¤ò»²¾È\n"
+
+-#: gcc.c:6505
++#: gcc.c:6504
+ #, fuzzy, c-format
+ msgid "Target: %s\n"
+ msgstr "¥é¥¤¥Ö¥é¥ê: %s\n"
+
+-#: gcc.c:6506
++#: gcc.c:6505
+ #, c-format
+ msgid "Configured with: %s\n"
+ msgstr "¥³¥ó¥Õ¥£¥°¥ª¥×¥·¥ç¥ó: %s\n"
+
+-#: gcc.c:6520
++#: gcc.c:6519
+ #, c-format
+ msgid "Thread model: %s\n"
+ msgstr "¥¹¥ì¥Ã¥É¥â¥Ç¥ë: %s\n"
+
+-#: gcc.c:6531
++#: gcc.c:6530
+ #, fuzzy, c-format
+ msgid "gcc version %s %s\n"
+ msgstr "gcc ¥Ð¡¼¥¸¥ç¥ó %s\n"
+
+-#: gcc.c:6533
++#: gcc.c:6532
+ #, fuzzy, c-format
+ msgid "gcc driver version %s %sexecuting gcc version %s\n"
+ msgstr "gcc ¥É¥é¥¤¥Ð¥Ð¡¼¥¸¥ç¥ó %s ¼Â¹Ô gcc ¥Ð¡¼¥¸¥ç¥ó %s\n"
+
+-#: gcc.c:6541
++#: gcc.c:6540
+ #, fuzzy, c-format
+ msgid "no input files"
+ msgstr "ÆþÎÏ¥Õ¥¡¥¤¥ë¤¬¤¢¤ê¤Þ¤»¤ó"
+
+-#: gcc.c:6590
++#: gcc.c:6589
+ #, fuzzy, c-format
+ msgid "cannot specify -o with -c or -S with multiple files"
+ msgstr "-c ¤ä -S ¤È°ì½ï¤Ë -o ¤ò»ØÄꤹ¤ë¤È¡¢Ê£¿ô¥³¥ó¥Ñ¥¤¥ë¤Ç¤­¤Þ¤»¤ó"
+
+-#: gcc.c:6624
++#: gcc.c:6623
+ #, fuzzy, c-format
+ msgid "spec '%s' is invalid"
+ msgstr "typedef `%s' ¤¬½é´ü²½¤µ¤ì¤Þ¤·¤¿"
+
+-#: gcc.c:6760
++#: gcc.c:6759
+ #, c-format
+ msgid ""
+ "\n"
+@@ -1375,59 +1375,59 @@
+ "\n"
+ msgstr ""
+
+-#: gcc.c:6761
++#: gcc.c:6760
+ #, c-format
+ msgid ""
+ "Use \"-Wl,OPTION\" to pass \"OPTION\" to the linker.\n"
+ "\n"
+ msgstr ""
+
+-#: gcc.c:7112
++#: gcc.c:7111
+ #, fuzzy, c-format
+ msgid "multilib spec '%s' is invalid"
+ msgstr "typedef `%s' ¤¬½é´ü²½¤µ¤ì¤Þ¤·¤¿"
+
+-#: gcc.c:7303
++#: gcc.c:7302
+ #, c-format
+ msgid "multilib exclusions '%s' is invalid"
+ msgstr ""
+
+-#: gcc.c:7361 gcc.c:7502
++#: gcc.c:7360 gcc.c:7501
+ #, c-format
+ msgid "multilib select '%s' is invalid"
+ msgstr ""
+
+-#: gcc.c:7540
++#: gcc.c:7539
+ #, c-format
+ msgid "multilib exclusion '%s' is invalid"
+ msgstr ""
+
+-#: gcc.c:7746
++#: gcc.c:7745
+ #, fuzzy, c-format
+ msgid "environment variable \"%s\" not defined"
+ msgstr "´Ä¶­ÊÑ¿ô DJGPP ¤¬ÄêµÁ¤µ¤ì¤Æ¤¤¤Þ¤»¤ó"
+
+-#: gcc.c:7837 gcc.c:7842
++#: gcc.c:7836 gcc.c:7841
+ #, fuzzy, c-format
+ msgid "invalid version number `%s'"
+ msgstr "̵¸ú¤Ê¥Ð¡¼¥¸¥ç¥óÈÖ¹æ·Á¼°"
+
+-#: gcc.c:7885
++#: gcc.c:7884
+ #, fuzzy, c-format
+ msgid "too few arguments to %%:version-compare"
+ msgstr "´Ø¿ô¤Ø¤Î°ú¿ô¤¬¾¯¤Ê¤¹¤®¤Þ¤¹"
+
+-#: gcc.c:7891
++#: gcc.c:7890
+ #, fuzzy, c-format
+ msgid "too many arguments to %%:version-compare"
+ msgstr "´Ø¿ô¤ËÂФ¹¤ë°ú¿ô¤¬Â¿¤¹¤®¤Þ¤¹"
+
+-#: gcc.c:7932
++#: gcc.c:7931
+ #, c-format
+ msgid "unknown operator '%s' in %%:version-compare"
+ msgstr ""
+
+-#: gcc.c:7966
++#: gcc.c:7965
+ #, c-format
+ msgid ""
+ "Assembler options\n"
+@@ -1435,89 +1435,89 @@
+ "\n"
+ msgstr ""
+
+-#: gcc.c:7967
++#: gcc.c:7966
+ #, c-format
+ msgid ""
+ "Use \"-Wa,OPTION\" to pass \"OPTION\" to the assembler.\n"
+ "\n"
+ msgstr ""
+
+-#: gcov.c:399
++#: gcov.c:400
+ #, c-format
+ msgid ""
+ "Usage: gcov [OPTION]... SOURCEFILE...\n"
+ "\n"
+ msgstr ""
+
+-#: gcov.c:400
++#: gcov.c:401
+ #, fuzzy, c-format
+ msgid ""
+ "Print code coverage information.\n"
+ "\n"
+ msgstr "¸Æ¤Ó½Ð¤·¥°¥é¥Õ¾ðÊó¤òÁ÷½Ð¤¹¤ë"
+
+-#: gcov.c:401
++#: gcov.c:402
+ #, fuzzy, c-format
+ msgid " -h, --help Print this help, then exit\n"
+ msgstr " --help ¤³¤Î¥Ø¥ë¥×¾ðÊó¤òɽ¼¨\n"
+
+-#: gcov.c:402
++#: gcov.c:403
+ #, fuzzy, c-format
+ msgid " -v, --version Print version number, then exit\n"
+ msgstr ""
+ " -V <version> ¥¤¥ó¥¹¥È¡¼¥ë¤µ¤ì¤Æ¤¤¤ì¤Ð <version> ¥Ð¡¼¥¸¥ç¥óÈÖ¹æ¤Î\n"
+ " gcc ¤È¤·¤Æ¼Â¹Ô¤¹¤ë\n"
+
+-#: gcov.c:403
++#: gcov.c:404
+ #, c-format
+ msgid " -a, --all-blocks Show information for every basic block\n"
+ msgstr ""
+
+-#: gcov.c:404
++#: gcov.c:405
+ #, c-format
+ msgid " -b, --branch-probabilities Include branch probabilities in output\n"
+ msgstr ""
+
+-#: gcov.c:405
++#: gcov.c:406
+ #, c-format
+ msgid ""
+ " -c, --branch-counts Given counts of branches taken\n"
+ " rather than percentages\n"
+ msgstr ""
+
+-#: gcov.c:407
++#: gcov.c:408
+ #, fuzzy, c-format
+ msgid " -n, --no-output Do not create an output file\n"
+ msgstr " -save-temps Ãæ´Ö¥Õ¥¡¥¤¥ë¤òºï½ü¤·¤Ê¤¤\n"
+
+-#: gcov.c:408
++#: gcov.c:409
+ #, c-format
+ msgid ""
+ " -l, --long-file-names Use long output file names for included\n"
+ " source files\n"
+ msgstr ""
+
+-#: gcov.c:410
++#: gcov.c:411
+ #, c-format
+ msgid " -f, --function-summaries Output summaries for each function\n"
+ msgstr ""
+
+-#: gcov.c:411
++#: gcov.c:412
+ #, c-format
+ msgid " -o, --object-directory DIR|FILE Search for object files in DIR or called FILE\n"
+ msgstr ""
+
+-#: gcov.c:412
++#: gcov.c:413
+ #, c-format
+ msgid " -p, --preserve-paths Preserve all pathname components\n"
+ msgstr ""
+
+-#: gcov.c:413
++#: gcov.c:414
+ #, c-format
+ msgid " -u, --unconditional-branches Show unconditional branch counts too\n"
+ msgstr ""
+
+-#: gcov.c:414
++#: gcov.c:415
+ #, fuzzy, c-format
+ msgid ""
+ "\n"
+@@ -1527,12 +1527,12 @@
+ "\n"
+ "¥Ð¥°¥ì¥Ý¡¼¥È¤Î¼ê½ç¤Ï¡¢°Ê²¼¤ò»²¾È\n"
+
+-#: gcov.c:424
++#: gcov.c:425
+ #, c-format
+ msgid "gcov %s%s\n"
+ msgstr ""
+
+-#: gcov.c:428
++#: gcov.c:429
+ #, c-format
+ msgid ""
+ "This is free software; see the source for copying conditions.\n"
+@@ -1541,206 +1541,206 @@
+ "\n"
+ msgstr ""
+
+-#: gcov.c:524
++#: gcov.c:525
+ #, fuzzy, c-format
+ msgid "%s:no functions found\n"
+ msgstr "cmd_strings ¤¬¸«¤Ä¤«¤ê¤Þ¤»¤ó"
+
+-#: gcov.c:556 gcov.c:584 fortran/dump-parse-tree.c:63
++#: gcov.c:557 gcov.c:585 fortran/dump-parse-tree.c:63
+ #, fuzzy, c-format
+ msgid "\n"
+ msgstr ":\n"
+
+-#: gcov.c:571
++#: gcov.c:572
+ #, fuzzy, c-format
+ msgid "%s:creating '%s'\n"
+ msgstr "%s ¤òºîÀ®Ãæ.\n"
+
+-#: gcov.c:575
++#: gcov.c:576
+ #, fuzzy, c-format
+ msgid "%s:error writing output file '%s'\n"
+ msgstr "%s: ¥Õ¥¡¥¤¥ë `%s' ¤Ë½ñ¤­¹þ¤ßÃæ¤Ë¥¨¥é¡¼: %s\n"
+
+-#: gcov.c:580
++#: gcov.c:581
+ #, fuzzy, c-format
+ msgid "%s:could not open output file '%s'\n"
+ msgstr "½ÐÎÏ¥Õ¥¡¥¤¥ë %s ¤ò³«¤±¤Þ¤»¤ó¤Ç¤·¤¿.\n"
+
+-#: gcov.c:729
++#: gcov.c:730
+ #, c-format
+ msgid "%s:source file is newer than graph file '%s'\n"
+ msgstr ""
+
+-#: gcov.c:734
++#: gcov.c:735
+ #, c-format
+ msgid "(the message is only displayed one per source file)\n"
+ msgstr ""
+
+-#: gcov.c:758
++#: gcov.c:759
+ #, fuzzy, c-format
+ msgid "%s:cannot open graph file\n"
+ msgstr "%s: COFF ¥Õ¥¡¥¤¥ë¤È¤·¤Æ³«¤±¤Þ¤»¤ó"
+
+-#: gcov.c:764
++#: gcov.c:765
+ #, fuzzy, c-format
+ msgid "%s:not a gcov graph file\n"
+ msgstr "%s: COFF ¥Õ¥¡¥¤¥ë¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó"
+
+-#: gcov.c:777
++#: gcov.c:778
+ #, c-format
+ msgid "%s:version '%.4s', prefer '%.4s'\n"
+ msgstr ""
+
+-#: gcov.c:829
++#: gcov.c:830
+ #, c-format
+ msgid "%s:already seen blocks for '%s'\n"
+ msgstr ""
+
+-#: gcov.c:947
++#: gcov.c:948
+ #, c-format
+ msgid "%s:corrupted\n"
+ msgstr ""
+
+-#: gcov.c:1023
++#: gcov.c:1024
+ #, c-format
+ msgid "%s:cannot open data file, assuming not executed\n"
+ msgstr ""
+
+-#: gcov.c:1030
++#: gcov.c:1031
+ #, fuzzy, c-format
+ msgid "%s:not a gcov data file\n"
+ msgstr "%s: COFF ¥Õ¥¡¥¤¥ë¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó"
+
+-#: gcov.c:1043
++#: gcov.c:1044
+ #, c-format
+ msgid "%s:version '%.4s', prefer version '%.4s'\n"
+ msgstr ""
+
+-#: gcov.c:1049
++#: gcov.c:1050
+ #, c-format
+ msgid "%s:stamp mismatch with graph file\n"
+ msgstr ""
+
+-#: gcov.c:1078
++#: gcov.c:1079
+ #, fuzzy, c-format
+ msgid "%s:unknown function '%u'\n"
+ msgstr "´Ø¿ô `%s' Æâ:"
+
+-#: gcov.c:1091
++#: gcov.c:1092
+ #, fuzzy, c-format
+ msgid "%s:profile mismatch for '%s'\n"
+ msgstr "%s: `%s' ¤ËÂФ¹¤ëÌ·½â°ìÍ÷¤Ï°Ê²¼¤ÎÄ̤ê¤Ç¤¹:\n"
+
+-#: gcov.c:1110
++#: gcov.c:1111
+ #, fuzzy, c-format
+ msgid "%s:overflowed\n"
+ msgstr "%s: ¥ª¡¼¥Ð¡¼¥Õ¥í¡¼ÈÏ°Ï¥¨¥é¡¼"
+
+-#: gcov.c:1134
++#: gcov.c:1135
+ #, c-format
+ msgid "%s:'%s' lacks entry and/or exit blocks\n"
+ msgstr ""
+
+-#: gcov.c:1139
++#: gcov.c:1140
+ #, c-format
+ msgid "%s:'%s' has arcs to entry block\n"
+ msgstr ""
+
+-#: gcov.c:1147
++#: gcov.c:1148
+ #, c-format
+ msgid "%s:'%s' has arcs from exit block\n"
+ msgstr ""
+
+-#: gcov.c:1355
++#: gcov.c:1356
+ #, c-format
+ msgid "%s:graph is unsolvable for '%s'\n"
+ msgstr ""
+
+-#: gcov.c:1435
++#: gcov.c:1436
+ #, fuzzy, c-format
+ msgid "%s '%s'\n"
+ msgstr "%s: %s"
+
+-#: gcov.c:1438
++#: gcov.c:1439
+ #, c-format
+ msgid "Lines executed:%s of %d\n"
+ msgstr ""
+
+-#: gcov.c:1442
++#: gcov.c:1443
+ #, fuzzy, c-format
+ msgid "No executable lines\n"
+ msgstr "¥Õ¥¡¥¤¥ë %s ¤Ë¼Â¹Ô²Äǽ¤Ê¥½¡¼¥¹¹Ô¤¬¤¢¤ê¤Þ¤»¤ó\n"
+
+-#: gcov.c:1448
++#: gcov.c:1449
+ #, fuzzy, c-format
+ msgid "Branches executed:%s of %d\n"
+ msgstr "¥Ö¥é¥ó¥Á %d ¤Ï°ìÅÙ¤â¼Â¹Ô¤µ¤ì¤º\n"
+
+-#: gcov.c:1452
++#: gcov.c:1453
+ #, c-format
+ msgid "Taken at least once:%s of %d\n"
+ msgstr ""
+
+-#: gcov.c:1458
++#: gcov.c:1459
+ #, fuzzy, c-format
+ msgid "No branches\n"
+ msgstr "¥Õ¥¡¥¤¥ë %s ¤Ë¤Ï¥Ö¥é¥ó¥Á¤¬¤¢¤ê¤Þ¤»¤ó\n"
+
+-#: gcov.c:1460
++#: gcov.c:1461
+ #, c-format
+ msgid "Calls executed:%s of %d\n"
+ msgstr ""
+
+-#: gcov.c:1464
++#: gcov.c:1465
+ #, fuzzy, c-format
+ msgid "No calls\n"
+ msgstr "¥Õ¥¡¥¤¥ë %s ¤Ë¸Æ¤Ó½Ð¤·¤¬¤¢¤ê¤Þ¤»¤ó\n"
+
+-#: gcov.c:1611
++#: gcov.c:1612
+ #, fuzzy, c-format
+ msgid "%s:no lines for '%s'\n"
+ msgstr "%s: `%s' ¤ËÂФ¹¤ëÌ·½â°ìÍ÷¤Ï°Ê²¼¤ÎÄ̤ê¤Ç¤¹:\n"
+
+-#: gcov.c:1806
++#: gcov.c:1807
+ #, fuzzy, c-format
+ msgid "call %2d returned %s\n"
+ msgstr "¸Æ¤Ó½Ð¤· %d ¤ÎÌá¤ê = %d\n"
+
+-#: gcov.c:1811
++#: gcov.c:1812
+ #, fuzzy, c-format
+ msgid "call %2d never executed\n"
+ msgstr "¸Æ¤Ó½Ð¤· %d ¤Ï°ìÅÙ¤â¼Â¹Ô¤»¤º\n"
+
+-#: gcov.c:1816
++#: gcov.c:1817
+ #, fuzzy, c-format
+ msgid "branch %2d taken %s%s\n"
+ msgstr "¥Ö¥é¥ó¥Á %d ¼õÍý = %d%%\n"
+
+-#: gcov.c:1820
++#: gcov.c:1821
+ #, fuzzy, c-format
+ msgid "branch %2d never executed\n"
+ msgstr "¥Ö¥é¥ó¥Á %d ¤Ï°ìÅÙ¤â¼Â¹Ô¤µ¤ì¤º\n"
+
+-#: gcov.c:1825
++#: gcov.c:1826
+ #, c-format
+ msgid "unconditional %2d taken %s\n"
+ msgstr ""
+
+-#: gcov.c:1828
++#: gcov.c:1829
+ #, fuzzy, c-format
+ msgid "unconditional %2d never executed\n"
+ msgstr "¸Æ¤Ó½Ð¤· %d ¤Ï°ìÅÙ¤â¼Â¹Ô¤»¤º\n"
+
+-#: gcov.c:1864
++#: gcov.c:1865
+ #, fuzzy, c-format
+ msgid "%s:cannot open source file\n"
+ msgstr "%s: COFF ¥Õ¥¡¥¤¥ë¤È¤·¤Æ³«¤±¤Þ¤»¤ó"
+
+-#: gcse.c:685
++#: gcse.c:679
+ msgid "GCSE disabled"
+ msgstr ""
+
+-#: gcse.c:6600
++#: gcse.c:6584
+ #, fuzzy
+ msgid "jump bypassing disabled"
+ msgstr "-g ¥ª¥×¥·¥ç¥ó¤ò̵¸ú²½¤·¤Þ¤·¤¿¡£"
+@@ -1825,84 +1825,84 @@
+ msgid " inlined from %qs"
+ msgstr "%s:%u ¤«¤é include ¤µ¤ì¤¿¥Õ¥¡¥¤¥ëÃæ"
+
+-#: loop-iv.c:2805 tree-ssa-loop-niter.c:1818
++#: loop-iv.c:2806 tree-ssa-loop-niter.c:1818
+ msgid "assuming that the loop is not infinite"
+ msgstr ""
+
+-#: loop-iv.c:2806 tree-ssa-loop-niter.c:1819
++#: loop-iv.c:2807 tree-ssa-loop-niter.c:1819
+ msgid "cannot optimize possibly infinite loops"
+ msgstr ""
+
+-#: loop-iv.c:2814 tree-ssa-loop-niter.c:1823
++#: loop-iv.c:2815 tree-ssa-loop-niter.c:1823
+ msgid "assuming that the loop counter does not overflow"
+ msgstr ""
+
+-#: loop-iv.c:2815 tree-ssa-loop-niter.c:1824
++#: loop-iv.c:2816 tree-ssa-loop-niter.c:1824
+ msgid "cannot optimize loop, the loop counter may overflow"
+ msgstr ""
+
+ #. What to print when a switch has no documentation.
+-#: opts.c:348
++#: opts.c:340
+ msgid "This switch lacks documentation"
+ msgstr ""
+
+-#: opts.c:1159
++#: opts.c:1161
+ msgid "[enabled]"
+ msgstr ""
+
+-#: opts.c:1159
++#: opts.c:1161
+ msgid "[disabled]"
+ msgstr ""
+
+-#: opts.c:1170
++#: opts.c:1172
+ #, c-format
+ msgid " No options with the desired characteristics were found\n"
+ msgstr ""
+
+-#: opts.c:1172
++#: opts.c:1174
+ #, c-format
+ msgid " All options with the desired characteristics have already been displayed\n"
+ msgstr ""
+
+-#: opts.c:1226
++#: opts.c:1228
+ msgid "The following options are target specific"
+ msgstr ""
+
+-#: opts.c:1229
++#: opts.c:1231
+ msgid "The following options control compiler warning messages"
+ msgstr ""
+
+-#: opts.c:1232
++#: opts.c:1234
+ #, fuzzy
+ msgid "The following options control optimizations"
+ msgstr "ËöÈø¸Æ¤Ó½Ð¤·ºÇŬ²½¤ò¹Ô¤¦"
+
+-#: opts.c:1235 opts.c:1273
++#: opts.c:1237 opts.c:1275
+ msgid "The following options are language-independent"
+ msgstr ""
+
+-#: opts.c:1238
++#: opts.c:1240
+ msgid "The --param option recognizes the following as parameters"
+ msgstr ""
+
+-#: opts.c:1245
++#: opts.c:1247
+ msgid "The following options are specific to the language "
+ msgstr ""
+
+-#: opts.c:1249
++#: opts.c:1251
+ msgid "The following options are supported by the language "
+ msgstr ""
+
+-#: opts.c:1260
++#: opts.c:1262
+ #, fuzzy
+ msgid "The following options are not documented"
+ msgstr " ¤³¤ì¤é¤Ï¸ºß¤·¤Þ¤¹¤¬¡¢Ê¸½ñ²½¤µ¤ì¤Æ¤¤¤Þ¤»¤ó\n"
+
+-#: opts.c:1271
++#: opts.c:1273
+ msgid "The following options are language-related"
+ msgstr ""
+
+-#: opts.c:1403
++#: opts.c:1405
+ #, c-format
+ msgid "warning: unrecognized argument to --help= switch: %.*s\n"
+ msgstr ""
+@@ -2218,7 +2218,7 @@
+ msgid "%s: input file names must have .c suffixes: %s\n"
+ msgstr "%s: ÆþÎÏ¥Õ¥¡¥¤¥ë̾¤Ë¤Ï³ÈÄ¥»Ò .c ¤¬¤Ê¤±¤ì¤Ð¤¤¤±¤Þ¤»¤ó: %s\n"
+
+-#: reload.c:3734
++#: reload.c:3744
+ #, fuzzy
+ msgid "unable to generate reloads for:"
+ msgstr "¥³¡¼¥É¤¬À¸À®¤µ¤ì¤ë CPU ¤òÁªÂò¤¹¤ë"
+@@ -2328,7 +2328,7 @@
+
+ #: toplev.c:1188
+ #, c-format
+-msgid "warning: %s header version %s differs from library version %s.\n"
++msgid "%s%swarning: %s header version %s differs from library version %s.\n"
+ msgstr ""
+
+ #: toplev.c:1190
+@@ -2336,32 +2336,32 @@
+ msgid "%s%sGGC heuristics: --param ggc-min-expand=%d --param ggc-min-heapsize=%d\n"
+ msgstr ""
+
+-#: toplev.c:1340
++#: toplev.c:1342
+ msgid "options passed: "
+ msgstr "ÅϤµ¤ì¤¿¥ª¥×¥·¥ç¥ó: "
+
+-#: toplev.c:1374
++#: toplev.c:1376
+ msgid "options enabled: "
+ msgstr "Í­¸ú¥ª¥×¥·¥ç¥ó: "
+
+-#: toplev.c:1509
++#: toplev.c:1511
+ #, c-format
+ msgid "created and used with differing settings of '%s'"
+ msgstr ""
+
+-#: toplev.c:1511
++#: toplev.c:1513
+ msgid "out of memory"
+ msgstr ""
+
+-#: toplev.c:1526
++#: toplev.c:1528
+ msgid "created and used with different settings of -fpic"
+ msgstr ""
+
+-#: toplev.c:1528
++#: toplev.c:1530
+ msgid "created and used with different settings of -fpie"
+ msgstr ""
+
+-#: tree-inline.c:2571
++#: tree-inline.c:2657
+ msgid "originally indirect function call not considered for inlining"
+ msgstr ""
+
+@@ -2423,7 +2423,7 @@
+ msgstr ""
+
+ #: params.def:93
+-msgid "The threshold ratio between current and hotest structure counts"
++msgid "The threshold ratio between current and hottest structure counts"
+ msgstr ""
+
+ #: params.def:110
+@@ -2819,114 +2819,122 @@
+ msgid "Maximum length of partial antic set when performing tree pre optimization"
+ msgstr ""
+
+-#: config/alpha/alpha.c:5015
++#: params.def:723
++msgid "Maximum size of a SCC before SCCVN stops processing a function"
++msgstr ""
++
++#: params.def:729
++msgid "Multiplier used for determining the double-queueing threshold"
++msgstr ""
++
++#: config/alpha/alpha.c:5023
+ #, c-format
+ msgid "invalid %%H value"
+ msgstr "̵¸ú¤Ê %%H ÃÍ"
+
+-#: config/alpha/alpha.c:5036 config/bfin/bfin.c:1423
++#: config/alpha/alpha.c:5044 config/bfin/bfin.c:1516
+ #, fuzzy, c-format
+ msgid "invalid %%J value"
+ msgstr "̵¸ú¤Ê %%Q ÃÍ"
+
+-#: config/alpha/alpha.c:5066 config/ia64/ia64.c:4718
++#: config/alpha/alpha.c:5074 config/ia64/ia64.c:4719
+ #, c-format
+ msgid "invalid %%r value"
+ msgstr "̵¸ú¤Ê %%r ÃÍ"
+
+-#: config/alpha/alpha.c:5076 config/ia64/ia64.c:4672
+-#: config/rs6000/rs6000.c:11670 config/xtensa/xtensa.c:2036
++#: config/alpha/alpha.c:5084 config/ia64/ia64.c:4673
++#: config/rs6000/rs6000.c:11881 config/xtensa/xtensa.c:2042
+ #, c-format
+ msgid "invalid %%R value"
+ msgstr "̵¸ú¤Ê %%R ÃÍ"
+
+-#: config/alpha/alpha.c:5082 config/rs6000/rs6000.c:11589
+-#: config/xtensa/xtensa.c:2003
++#: config/alpha/alpha.c:5090 config/rs6000/rs6000.c:11800
++#: config/xtensa/xtensa.c:2009
+ #, c-format
+ msgid "invalid %%N value"
+ msgstr "̵¸ú¤Ê %%N ÃÍ"
+
+-#: config/alpha/alpha.c:5090 config/rs6000/rs6000.c:11617
++#: config/alpha/alpha.c:5098 config/rs6000/rs6000.c:11828
+ #, c-format
+ msgid "invalid %%P value"
+ msgstr "̵¸ú¤Ê %%P ÃÍ"
+
+-#: config/alpha/alpha.c:5098
++#: config/alpha/alpha.c:5106
+ #, c-format
+ msgid "invalid %%h value"
+ msgstr "̵¸ú¤Ê %%h ÃÍ"
+
+-#: config/alpha/alpha.c:5106 config/xtensa/xtensa.c:2029
++#: config/alpha/alpha.c:5114 config/xtensa/xtensa.c:2035
+ #, c-format
+ msgid "invalid %%L value"
+ msgstr "̵¸ú¤Ê %%L ÃÍ"
+
+-#: config/alpha/alpha.c:5145 config/rs6000/rs6000.c:11571
++#: config/alpha/alpha.c:5153 config/rs6000/rs6000.c:11782
+ #, c-format
+ msgid "invalid %%m value"
+ msgstr "̵¸ú¤Ê %%m ÃÍ"
+
+-#: config/alpha/alpha.c:5153 config/rs6000/rs6000.c:11579
++#: config/alpha/alpha.c:5161 config/rs6000/rs6000.c:11790
+ #, c-format
+ msgid "invalid %%M value"
+ msgstr "̵¸ú¤Ê %%M ÃÍ"
+
+-#: config/alpha/alpha.c:5197
++#: config/alpha/alpha.c:5205
+ #, c-format
+ msgid "invalid %%U value"
+ msgstr "̵¸ú¤Ê %%U ÃÍ"
+
+-#: config/alpha/alpha.c:5209 config/alpha/alpha.c:5223
+-#: config/rs6000/rs6000.c:11678
++#: config/alpha/alpha.c:5217 config/alpha/alpha.c:5231
++#: config/rs6000/rs6000.c:11889
+ #, c-format
+ msgid "invalid %%s value"
+ msgstr "̵¸ú¤Ê %%s ÃÍ"
+
+-#: config/alpha/alpha.c:5246
++#: config/alpha/alpha.c:5254
+ #, c-format
+ msgid "invalid %%C value"
+ msgstr "̵¸ú¤Ê %%C ÃÍ"
+
+-#: config/alpha/alpha.c:5283 config/rs6000/rs6000.c:11406
+-#: config/rs6000/rs6000.c:11425
++#: config/alpha/alpha.c:5291 config/rs6000/rs6000.c:11617
++#: config/rs6000/rs6000.c:11636
+ #, c-format
+ msgid "invalid %%E value"
+ msgstr "̵¸ú¤Ê %%E ÃÍ"
+
+-#: config/alpha/alpha.c:5308 config/alpha/alpha.c:5356
++#: config/alpha/alpha.c:5316 config/alpha/alpha.c:5364
+ #, fuzzy, c-format
+ msgid "unknown relocation unspec"
+ msgstr "ÉÔÌÀ¤ÊÀßÄêºÑ¥³¥ó¥¹¥È¥é¥¯¥¿·¿¤Ç¤¹"
+
+-#: config/alpha/alpha.c:5317 config/crx/crx.c:1081
+-#: config/rs6000/rs6000.c:12005 config/spu/spu.c:1492
++#: config/alpha/alpha.c:5325 config/crx/crx.c:1081
++#: config/rs6000/rs6000.c:12216 config/spu/spu.c:1482
+ #, c-format
+ msgid "invalid %%xn code"
+ msgstr "̵¸ú¤Ê %%xn ¥³¡¼¥É"
+
+-#: config/arc/arc.c:1724 config/m32r/m32r.c:1805
++#: config/arc/arc.c:1728 config/m32r/m32r.c:1805
+ #, fuzzy, c-format
+ msgid "invalid operand to %%R code"
+ msgstr "%R ¥³¡¼¥É¤ËÂФ¹¤ë̵¸ú¤Ê¥ª¥Ú¥é¥ó¥É"
+
+-#: config/arc/arc.c:1756 config/m32r/m32r.c:1828
++#: config/arc/arc.c:1760 config/m32r/m32r.c:1828
+ #, fuzzy, c-format
+ msgid "invalid operand to %%H/%%L code"
+ msgstr "%H/%L ¥³¡¼¥É¤ËÂФ¹¤ë̵¸ú¤Ê¥ª¥Ú¥é¥ó¥É"
+
+-#: config/arc/arc.c:1778 config/m32r/m32r.c:1899
++#: config/arc/arc.c:1782 config/m32r/m32r.c:1899
+ #, fuzzy, c-format
+ msgid "invalid operand to %%U code"
+ msgstr "%U ¥³¡¼¥É¤ËÂФ¹¤ë̵¸ú¤Ê¥ª¥Ú¥é¥ó¥É"
+
+-#: config/arc/arc.c:1789
++#: config/arc/arc.c:1793
+ #, fuzzy, c-format
+ msgid "invalid operand to %%V code"
+ msgstr "%V ¥³¡¼¥É¤ËÂФ¹¤ë̵¸ú¤Ê¥ª¥Ú¥é¥ó¥É"
+
+ #. Unknown flag.
+ #. Undocumented flag.
+-#: config/arc/arc.c:1796 config/m32r/m32r.c:1926 config/sparc/sparc.c:6995
++#: config/arc/arc.c:1800 config/m32r/m32r.c:1926 config/sparc/sparc.c:6998
+ #, c-format
+ msgid "invalid operand output code"
+ msgstr "̵¸ú¤Ê¥ª¥Ú¥é¥ó¥É½ÐÎÏ¥³¡¼¥É"
+@@ -2951,9 +2959,9 @@
+ #: config/arm/arm.c:12830 config/arm/arm.c:12865 config/arm/arm.c:12884
+ #: config/arm/arm.c:12899 config/arm/arm.c:12927 config/arm/arm.c:12934
+ #: config/arm/arm.c:12942 config/arm/arm.c:12963 config/arm/arm.c:12970
+-#: config/bfin/bfin.c:1436 config/bfin/bfin.c:1443 config/bfin/bfin.c:1450
+-#: config/bfin/bfin.c:1457 config/bfin/bfin.c:1466 config/bfin/bfin.c:1473
+-#: config/bfin/bfin.c:1480 config/bfin/bfin.c:1487
++#: config/bfin/bfin.c:1529 config/bfin/bfin.c:1536 config/bfin/bfin.c:1543
++#: config/bfin/bfin.c:1550 config/bfin/bfin.c:1559 config/bfin/bfin.c:1566
++#: config/bfin/bfin.c:1573 config/bfin/bfin.c:1580
+ #, fuzzy, c-format
+ msgid "invalid operand for code '%c'"
+ msgstr "%R ¥³¡¼¥É¤ËÂФ¹¤ë̵¸ú¤Ê¥ª¥Ú¥é¥ó¥É"
+@@ -2968,268 +2976,180 @@
+ msgid "missing operand"
+ msgstr "¹à¤ò·ç¤¤¤Æ¤¤¤Þ¤¹"
+
+-#: config/avr/avr.c:1022
++#: config/avr/avr.c:1062
+ #, c-format
+ msgid "address operand requires constraint for X, Y, or Z register"
+ msgstr ""
+
+-#: config/avr/avr.c:1129
++#: config/avr/avr.c:1169
+ msgid "bad address, not (reg+disp):"
+ msgstr ""
+
+-#: config/avr/avr.c:1136
++#: config/avr/avr.c:1176
+ msgid "bad address, not post_inc or pre_dec:"
+ msgstr ""
+
+-#: config/avr/avr.c:1147
++#: config/avr/avr.c:1187
+ #, fuzzy
+ msgid "internal compiler error. Bad address:"
+ msgstr "ÆâÉô¥³¥ó¥Ñ¥¤¥é¥¨¥é¡¼."
+
+-#: config/avr/avr.c:1160
++#: config/avr/avr.c:1200
+ #, fuzzy
+ msgid "internal compiler error. Unknown mode:"
+ msgstr "ÆâÉô¥³¥ó¥Ñ¥¤¥é¥¨¥é¡¼."
+
+-#: config/avr/avr.c:1775 config/avr/avr.c:2463
++#: config/avr/avr.c:1815 config/avr/avr.c:2503
+ #, fuzzy
+ msgid "invalid insn:"
+ msgstr "̵¸ú¤Ê #line"
+
+-#: config/avr/avr.c:1814 config/avr/avr.c:1900 config/avr/avr.c:1949
+-#: config/avr/avr.c:1977 config/avr/avr.c:2072 config/avr/avr.c:2241
+-#: config/avr/avr.c:2502 config/avr/avr.c:2614
++#: config/avr/avr.c:1854 config/avr/avr.c:1940 config/avr/avr.c:1989
++#: config/avr/avr.c:2017 config/avr/avr.c:2112 config/avr/avr.c:2281
++#: config/avr/avr.c:2542 config/avr/avr.c:2654
+ msgid "incorrect insn:"
+ msgstr ""
+
+-#: config/avr/avr.c:1996 config/avr/avr.c:2157 config/avr/avr.c:2312
+-#: config/avr/avr.c:2680
++#: config/avr/avr.c:2036 config/avr/avr.c:2197 config/avr/avr.c:2352
++#: config/avr/avr.c:2720
+ #, fuzzy
+ msgid "unknown move insn:"
+ msgstr "ÉÔÌÀ¤Ê¥Þ¥·¥ó¥â¡¼¥É `%s'"
+
+-#: config/avr/avr.c:2910
++#: config/avr/avr.c:2950
+ msgid "bad shift insn:"
+ msgstr ""
+
+-#: config/avr/avr.c:3026 config/avr/avr.c:3446 config/avr/avr.c:3804
++#: config/avr/avr.c:3066 config/avr/avr.c:3486 config/avr/avr.c:3844
+ #, fuzzy
+ msgid "internal compiler error. Incorrect shift:"
+ msgstr "ÆâÉô¥³¥ó¥Ñ¥¤¥é¥¨¥é¡¼."
+
+-#: config/bfin/bfin.c:1385
++#: config/bfin/bfin.c:1478
+ #, c-format
+ msgid "invalid %%j value"
+ msgstr "̵¸ú¤Ê %%j ÃÍ"
+
+-#: config/bfin/bfin.c:1578
++#: config/bfin/bfin.c:1671
+ #, fuzzy, c-format
+ msgid "invalid const_double operand"
+ msgstr "̵¸ú¤Ê %P ¥ª¥Ú¥é¥ó¥É¤Ç¤¹"
+
+-#: config/c4x/c4x.c:1583
+-msgid "using CONST_DOUBLE for address"
+-msgstr ""
+-
+-#: config/c4x/c4x.c:1721
+-msgid "c4x_address_cost: Invalid addressing mode"
+-msgstr ""
+-
+-#: config/c4x/c4x.c:1856
+-#, fuzzy, c-format
+-msgid "c4x_print_operand: %%L inconsistency"
+-msgstr "fr30_print_operand: ǧ¼±¤Ç¤­¤Ê¤¤ %p ¥³¡¼¥É¤Ç¤¹"
+-
+-#: config/c4x/c4x.c:1862
+-#, fuzzy, c-format
+-msgid "c4x_print_operand: %%N inconsistency"
+-msgstr "fr30_print_operand: ǧ¼±¤Ç¤­¤Ê¤¤ %p ¥³¡¼¥É¤Ç¤¹"
+-
+-#: config/c4x/c4x.c:1903
+-#, fuzzy, c-format
+-msgid "c4x_print_operand: %%O inconsistency"
+-msgstr "fr30_print_operand: ǧ¼±¤Ç¤­¤Ê¤¤ %p ¥³¡¼¥É¤Ç¤¹"
+-
+-#: config/c4x/c4x.c:1998
+-#, fuzzy
+-msgid "c4x_print_operand: Bad operand case"
+-msgstr "fr30_print_operand: %A ¥³¡¼¥É¤ËÂФ¹¤ë̵¸ú¤Ê±é»»»Ò¤Ç¤¹"
+-
+-#: config/c4x/c4x.c:2039
+-#, fuzzy
+-msgid "c4x_print_operand_address: Bad post_modify"
+-msgstr "fr30_print_operand_address: ½èÍý¤µ¤ì¤Ê¤¤¥¢¥É¥ì¥¹¤Ç¤¹"
+-
+-#: config/c4x/c4x.c:2061
+-#, fuzzy
+-msgid "c4x_print_operand_address: Bad pre_modify"
+-msgstr "fr30_print_operand_address: ½èÍý¤µ¤ì¤Ê¤¤¥¢¥É¥ì¥¹¤Ç¤¹"
+-
+-#: config/c4x/c4x.c:2109 config/c4x/c4x.c:2121 config/c4x/c4x.c:2136
+-#, fuzzy
+-msgid "c4x_print_operand_address: Bad operand case"
+-msgstr "fr30_print_operand_address: ½èÍý¤µ¤ì¤Ê¤¤¥¢¥É¥ì¥¹¤Ç¤¹"
+-
+-#: config/c4x/c4x.c:2387
+-msgid "c4x_rptb_insert: Cannot find start label"
+-msgstr ""
+-
+-#: config/c4x/c4x.c:2985
+-#, fuzzy
+-msgid "invalid indirect memory address"
+-msgstr "̵¸ú¤Ê PC ¤¬¹ÔÈÖ¹æ¥Æ¡¼¥Ö¥ë¤Ë¤¢¤ê¤Þ¤¹"
+-
+-#: config/c4x/c4x.c:3074
+-msgid "invalid indirect (S) memory address"
+-msgstr ""
+-
+-#: config/c4x/c4x.c:3409
+-msgid "c4x_valid_operands: Internal error"
+-msgstr ""
+-
+-#: config/c4x/c4x.c:3848
+-#, fuzzy
+-msgid "c4x_operand_subword: invalid mode"
+-msgstr "fr30_print_operand: ̵¸ú¤Ê %x ¥³¡¼¥É¤Ç¤¹"
+-
+-#: config/c4x/c4x.c:3851
+-#, fuzzy
+-msgid "c4x_operand_subword: invalid operand"
+-msgstr "fr30_print_operand: %A ¥³¡¼¥É¤ËÂФ¹¤ë̵¸ú¤Ê±é»»»Ò¤Ç¤¹"
+-
+-#. We could handle these with some difficulty.
+-#. e.g., *p-- => *(p-=2); *(p+1).
+-#: config/c4x/c4x.c:3877
+-msgid "c4x_operand_subword: invalid autoincrement"
+-msgstr ""
+-
+-#: config/c4x/c4x.c:3883
+-msgid "c4x_operand_subword: invalid address"
+-msgstr ""
+-
+-#: config/c4x/c4x.c:3894
+-msgid "c4x_operand_subword: address not offsettable"
+-msgstr ""
+-
+-#: config/c4x/c4x.c:4096
+-msgid "c4x_rptb_rpts_p: Repeat block top label moved"
+-msgstr ""
+-
+ #. Use `%s' to print the string in case there are any escape
+ #. characters in the message.
+-#: config/cris/cris.c:491 fortran/dump-parse-tree.c:78
+-#: fortran/dump-parse-tree.c:430 fortran/dump-parse-tree.c:776
+-#: fortran/dump-parse-tree.c:821 c-typeck.c:4607 c-typeck.c:4622
+-#: c-typeck.c:4637 final.c:2984 final.c:2986 gcc.c:4737 loop-iv.c:2807
+-#: loop-iv.c:2816 rtl-error.c:112 toplev.c:610 tree-ssa-loop-niter.c:1829
+-#: cp/parser.c:2188 cp/typeck.c:4559 java/expr.c:409
++#: config/cris/cris.c:504 fortran/dump-parse-tree.c:78
++#: fortran/dump-parse-tree.c:430 fortran/dump-parse-tree.c:798
++#: fortran/dump-parse-tree.c:843 c-typeck.c:4618 c-typeck.c:4633
++#: c-typeck.c:4648 final.c:2997 final.c:2999 gcc.c:4731 loop-iv.c:2808
++#: loop-iv.c:2817 rtl-error.c:112 toplev.c:610 tree-ssa-loop-niter.c:1829
++#: cp/parser.c:2192 cp/typeck.c:4567 java/expr.c:409
+ #, gcc-internal-format
+ msgid "%s"
+ msgstr "%s"
+
+-#: config/cris/cris.c:542
++#: config/cris/cris.c:555
+ msgid "unexpected index-type in cris_print_index"
+ msgstr ""
+
+-#: config/cris/cris.c:556
++#: config/cris/cris.c:572
+ msgid "unexpected base-type in cris_print_base"
+ msgstr ""
+
+-#: config/cris/cris.c:672
++#: config/cris/cris.c:688
+ #, fuzzy
+ msgid "invalid operand for 'b' modifier"
+ msgstr "%R ¥³¡¼¥É¤ËÂФ¹¤ë̵¸ú¤Ê¥ª¥Ú¥é¥ó¥É"
+
+-#: config/cris/cris.c:689
++#: config/cris/cris.c:705
+ #, fuzzy
+ msgid "invalid operand for 'o' modifier"
+ msgstr "%R ¥³¡¼¥É¤ËÂФ¹¤ë̵¸ú¤Ê¥ª¥Ú¥é¥ó¥É"
+
+-#: config/cris/cris.c:708
++#: config/cris/cris.c:724
+ #, fuzzy
+ msgid "invalid operand for 'O' modifier"
+ msgstr "%R ¥³¡¼¥É¤ËÂФ¹¤ë̵¸ú¤Ê¥ª¥Ú¥é¥ó¥É"
+
+-#: config/cris/cris.c:741
++#: config/cris/cris.c:757
+ #, fuzzy
+ msgid "invalid operand for 'p' modifier"
+ msgstr "%p ¥³¡¼¥É¤ËÂФ¹¤ë̵¸ú¤Ê¥ª¥Ú¥é¥ó¥É"
+
+-#: config/cris/cris.c:780
++#: config/cris/cris.c:796
+ #, fuzzy
+ msgid "invalid operand for 'z' modifier"
+ msgstr "%R ¥³¡¼¥É¤ËÂФ¹¤ë̵¸ú¤Ê¥ª¥Ú¥é¥ó¥É"
+
+-#: config/cris/cris.c:834 config/cris/cris.c:864
++#: config/cris/cris.c:860 config/cris/cris.c:894
+ #, fuzzy
+ msgid "invalid operand for 'H' modifier"
+ msgstr "%R ¥³¡¼¥É¤ËÂФ¹¤ë̵¸ú¤Ê¥ª¥Ú¥é¥ó¥É"
+
+-#: config/cris/cris.c:840
++#: config/cris/cris.c:870
+ #, fuzzy
+ msgid "bad register"
+ msgstr "ÉâÆ°¾®¿ôÅÀ¥ì¥¸¥¹¥¿¤òÍøÍѤ¹¤ë"
+
+-#: config/cris/cris.c:884
++#: config/cris/cris.c:914
+ #, fuzzy
+ msgid "invalid operand for 'e' modifier"
+ msgstr "%R ¥³¡¼¥É¤ËÂФ¹¤ë̵¸ú¤Ê¥ª¥Ú¥é¥ó¥É"
+
+-#: config/cris/cris.c:901
++#: config/cris/cris.c:931
+ #, fuzzy
+ msgid "invalid operand for 'm' modifier"
+ msgstr "%R ¥³¡¼¥É¤ËÂФ¹¤ë̵¸ú¤Ê¥ª¥Ú¥é¥ó¥É"
+
+-#: config/cris/cris.c:926
++#: config/cris/cris.c:956
+ #, fuzzy
+ msgid "invalid operand for 'A' modifier"
+ msgstr "%R ¥³¡¼¥É¤ËÂФ¹¤ë̵¸ú¤Ê¥ª¥Ú¥é¥ó¥É"
+
+-#: config/cris/cris.c:949
++#: config/cris/cris.c:979
+ #, fuzzy
+ msgid "invalid operand for 'D' modifier"
+ msgstr "%R ¥³¡¼¥É¤ËÂФ¹¤ë̵¸ú¤Ê¥ª¥Ú¥é¥ó¥É"
+
+-#: config/cris/cris.c:963
++#: config/cris/cris.c:993
+ #, fuzzy
+ msgid "invalid operand for 'T' modifier"
+ msgstr "%R ¥³¡¼¥É¤ËÂФ¹¤ë̵¸ú¤Ê¥ª¥Ú¥é¥ó¥É"
+
+-#: config/cris/cris.c:972
++#: config/cris/cris.c:1013
+ #, fuzzy
+ msgid "invalid operand modifier letter"
+ msgstr "̵¸ú¤Ê¥ª¥Ú¥é¥ó¥É½ÐÎÏ¥³¡¼¥É"
+
+-#: config/cris/cris.c:1029
++#: config/cris/cris.c:1070
+ msgid "unexpected multiplicative operand"
+ msgstr ""
+
+-#: config/cris/cris.c:1049
++#: config/cris/cris.c:1090
+ #, fuzzy
+ msgid "unexpected operand"
+ msgstr "ͽ´ü¤µ¤ì¤ë¥á¥â¥ê¥ì¥¤¥Æ¥ó¥·¤òÄ´À°¤¹¤ë"
+
+-#: config/cris/cris.c:1082 config/cris/cris.c:1092
++#: config/cris/cris.c:1123 config/cris/cris.c:1133
+ #, fuzzy
+ msgid "unrecognized address"
+ msgstr "ǧ¼±ÉÔǽ¤Î¥¨¥¹¥±¡¼¥× \\r%c"
+
+-#: config/cris/cris.c:2019
++#: config/cris/cris.c:2209
+ #, fuzzy
+ msgid "unrecognized supposed constant"
+ msgstr "ǧ¼±ÉÔǽ¤Î¥¨¥¹¥±¡¼¥× \\r%c"
+
+-#: config/cris/cris.c:2394 config/cris/cris.c:2458
++#: config/cris/cris.c:2638 config/cris/cris.c:2702
+ msgid "unexpected side-effects in address"
+ msgstr ""
+
+ #. Can't possibly get a GOT-needing-fixup for a function-call,
+ #. right?
+-#: config/cris/cris.c:3253
++#: config/cris/cris.c:3539
+ msgid "Unidentifiable call op"
+ msgstr ""
+
+-#: config/cris/cris.c:3304
++#: config/cris/cris.c:3590
+ #, c-format
+ msgid "PIC register isn't set up"
+ msgstr ""
+@@ -3280,84 +3200,84 @@
+ msgid "fr30_print_operand: unhandled MEM"
+ msgstr "fr30_print_operand: ½èÍý¤µ¤ì¤Ê¤¤ MEM ¤Ç¤¹"
+
+-#: config/frv/frv.c:2542
++#: config/frv/frv.c:2546
+ #, fuzzy
+ msgid "bad insn to frv_print_operand_address:"
+ msgstr "fr30_print_operand_address: ½èÍý¤µ¤ì¤Ê¤¤¥¢¥É¥ì¥¹¤Ç¤¹"
+
+-#: config/frv/frv.c:2553
++#: config/frv/frv.c:2557
+ msgid "bad register to frv_print_operand_memory_reference_reg:"
+ msgstr ""
+
+-#: config/frv/frv.c:2592 config/frv/frv.c:2602 config/frv/frv.c:2611
+-#: config/frv/frv.c:2632 config/frv/frv.c:2637
++#: config/frv/frv.c:2596 config/frv/frv.c:2606 config/frv/frv.c:2615
++#: config/frv/frv.c:2636 config/frv/frv.c:2641
+ msgid "bad insn to frv_print_operand_memory_reference:"
+ msgstr ""
+
+-#: config/frv/frv.c:2723
++#: config/frv/frv.c:2727
+ #, c-format
+ msgid "bad condition code"
+ msgstr ""
+
+-#: config/frv/frv.c:2798
++#: config/frv/frv.c:2802
+ #, fuzzy
+ msgid "bad insn in frv_print_operand, bad const_double"
+ msgstr "¥ª¥Ú¥é¥ó¥É¤Ï const_double ¤Ç¤¹"
+
+-#: config/frv/frv.c:2859
++#: config/frv/frv.c:2863
+ msgid "bad insn to frv_print_operand, 'e' modifier:"
+ msgstr ""
+
+-#: config/frv/frv.c:2867
++#: config/frv/frv.c:2871
+ msgid "bad insn to frv_print_operand, 'F' modifier:"
+ msgstr ""
+
+-#: config/frv/frv.c:2883
++#: config/frv/frv.c:2887
+ msgid "bad insn to frv_print_operand, 'f' modifier:"
+ msgstr ""
+
+-#: config/frv/frv.c:2897
++#: config/frv/frv.c:2901
+ msgid "bad insn to frv_print_operand, 'g' modifier:"
+ msgstr ""
+
+-#: config/frv/frv.c:2945
++#: config/frv/frv.c:2949
+ msgid "bad insn to frv_print_operand, 'L' modifier:"
+ msgstr ""
+
+-#: config/frv/frv.c:2958
++#: config/frv/frv.c:2962
+ msgid "bad insn to frv_print_operand, 'M/N' modifier:"
+ msgstr ""
+
+-#: config/frv/frv.c:2979
++#: config/frv/frv.c:2983
+ msgid "bad insn to frv_print_operand, 'O' modifier:"
+ msgstr ""
+
+-#: config/frv/frv.c:2997
++#: config/frv/frv.c:3001
+ msgid "bad insn to frv_print_operand, P modifier:"
+ msgstr ""
+
+-#: config/frv/frv.c:3017
++#: config/frv/frv.c:3021
+ msgid "bad insn in frv_print_operand, z case"
+ msgstr ""
+
+-#: config/frv/frv.c:3048
++#: config/frv/frv.c:3052
+ msgid "bad insn in frv_print_operand, 0 case"
+ msgstr ""
+
+-#: config/frv/frv.c:3053
++#: config/frv/frv.c:3057
+ #, fuzzy
+ msgid "frv_print_operand: unknown code"
+ msgstr "fr30_print_operand: ÉÔÌÀ¤Ê¥³¡¼¥É¤Ç¤¹"
+
+-#: config/frv/frv.c:4422
++#: config/frv/frv.c:4426
+ msgid "bad output_move_single operand"
+ msgstr ""
+
+-#: config/frv/frv.c:4549
++#: config/frv/frv.c:4553
+ msgid "bad output_move_double operand"
+ msgstr ""
+
+-#: config/frv/frv.c:4691
++#: config/frv/frv.c:4695
+ msgid "bad output_condmove_single operand"
+ msgstr ""
+
+@@ -3375,27 +3295,27 @@
+ msgid " (frv)"
+ msgstr ""
+
+-#: config/i386/i386.c:8218
++#: config/i386/i386.c:8273
+ #, c-format
+ msgid "invalid UNSPEC as operand"
+ msgstr "¥ª¥Ú¥é¥ó¥É¤È¤·¤Æ̵¸ú¤Ê UNSPEC"
+
+-#: config/i386/i386.c:8924
++#: config/i386/i386.c:8979
+ #, c-format
+ msgid "operand is neither a constant nor a condition code, invalid operand code 'c'"
+ msgstr ""
+
+-#: config/i386/i386.c:9040
++#: config/i386/i386.c:9095
+ #, fuzzy, c-format
+ msgid "invalid operand code '%c'"
+ msgstr "%R ¥³¡¼¥É¤ËÂФ¹¤ë̵¸ú¤Ê¥ª¥Ú¥é¥ó¥É"
+
+-#: config/i386/i386.c:9089
++#: config/i386/i386.c:9144
+ #, fuzzy, c-format
+ msgid "invalid constraints for operand"
+ msgstr "¥ª¥Ú¥é¥ó¥É¤È¤·¤Æ̵¸ú¤Ê¼°"
+
+-#: config/i386/i386.c:16348
++#: config/i386/i386.c:16423
+ #, fuzzy
+ msgid "unknown insn mode"
+ msgstr "ÉÔÌÀ¤Ê¥Þ¥·¥ó¥â¡¼¥É `%s'"
+@@ -3417,37 +3337,37 @@
+ msgid "environment variable DJGPP points to corrupt file '%s'"
+ msgstr "´Ä¶­ÊÑ¿ô DJGPP ¤¬¡¢²õ¤ì¤¿¥Õ¥¡¥¤¥ë '%s' ¤ò¼¨¤·¤Æ¤¤¤Þ¤¹¡£"
+
+-#: config/ia64/ia64.c:4770
++#: config/ia64/ia64.c:4771
+ #, c-format
+ msgid "ia64_print_operand: unknown code"
+ msgstr "ia64_print_operand: ÉÔÌÀ¤Ê¥³¡¼¥É¤Ç¤¹"
+
+-#: config/ia64/ia64.c:9889
++#: config/ia64/ia64.c:9890
+ #, fuzzy
+ msgid "invalid conversion from %<__fpreg%>"
+ msgstr "̵¸ú¤Ê¥Ð¡¼¥¸¥ç¥óÈÖ¹æ·Á¼°"
+
+-#: config/ia64/ia64.c:9892
++#: config/ia64/ia64.c:9893
+ #, fuzzy
+ msgid "invalid conversion to %<__fpreg%>"
+ msgstr "%p ¥³¡¼¥É¤ËÂФ¹¤ë̵¸ú¤Ê¥ª¥Ú¥é¥ó¥É"
+
+-#: config/ia64/ia64.c:9905 config/ia64/ia64.c:9916
++#: config/ia64/ia64.c:9906 config/ia64/ia64.c:9917
+ #, fuzzy
+ msgid "invalid operation on %<__fpreg%>"
+ msgstr "%p ¥³¡¼¥É¤ËÂФ¹¤ë̵¸ú¤Ê¥ª¥Ú¥é¥ó¥É"
+
+-#: config/iq2000/iq2000.c:3118
++#: config/iq2000/iq2000.c:3122
+ #, fuzzy, c-format
+ msgid "invalid %%P operand"
+ msgstr "̵¸ú¤Ê %P ¥ª¥Ú¥é¥ó¥É¤Ç¤¹"
+
+-#: config/iq2000/iq2000.c:3126 config/rs6000/rs6000.c:11607
++#: config/iq2000/iq2000.c:3130 config/rs6000/rs6000.c:11818
+ #, c-format
+ msgid "invalid %%p value"
+ msgstr "̵¸ú¤Ê %%p ÃͤǤ¹"
+
+-#: config/iq2000/iq2000.c:3182
++#: config/iq2000/iq2000.c:3186
+ #, c-format
+ msgid "invalid use of %%d, %%x, or %%X"
+ msgstr "̵¸ú¤ÊÍÑË¡¤Î of %%d, %%x, Ëô¤Ï %%X"
+@@ -3491,7 +3411,7 @@
+ msgstr ""
+
+ #: config/m32r/m32r.c:2030 config/m32r/m32r.c:2044
+-#: config/rs6000/rs6000.c:19870
++#: config/rs6000/rs6000.c:20087
+ #, fuzzy
+ msgid "bad address"
+ msgstr "ÉÔÀµ¤Ê¥Ø¥Ã¥À¥Ð¡¼¥¸¥ç¥ó"
+@@ -3545,59 +3465,59 @@
+ msgid "invalid Z register replacement for insn"
+ msgstr "`%s' ¤ËÂФ¹¤ë¥ì¥¸¥¹¥¿Ì¾¤È¤·¤Æ̵¸ú¤Ç¤¹"
+
+-#: config/mips/mips.c:6313 config/mips/mips.c:6334 config/mips/mips.c:6438
++#: config/mips/mips.c:6371 config/mips/mips.c:6392 config/mips/mips.c:6496
+ #, fuzzy, c-format
+ msgid "'%%%c' is not a valid operand prefix"
+ msgstr "'lul' ¤ÏÀµ¾ï¤ÊÀ°¿ôÀÜÈø¼­¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó"
+
+-#: config/mips/mips.c:6382 config/mips/mips.c:6389 config/mips/mips.c:6396
+-#: config/mips/mips.c:6456
++#: config/mips/mips.c:6440 config/mips/mips.c:6447 config/mips/mips.c:6454
++#: config/mips/mips.c:6514
+ #, fuzzy, c-format
+ msgid "invalid use of '%%%c'"
+ msgstr "`restrict' ¤ÎÍÑË¡¤¬ÉÔŬÀڤǤ¹"
+
+-#: config/mips/mips.c:6701
++#: config/mips/mips.c:6761
+ msgid "mips_debugger_offset called with non stack/frame/arg pointer"
+ msgstr ""
+
+-#: config/mmix/mmix.c:1487 config/mmix/mmix.c:1617
++#: config/mmix/mmix.c:1483 config/mmix/mmix.c:1613
+ msgid "MMIX Internal: Expected a CONST_INT, not this"
+ msgstr ""
+
+-#: config/mmix/mmix.c:1566
++#: config/mmix/mmix.c:1562
+ msgid "MMIX Internal: Bad value for 'm', not a CONST_INT"
+ msgstr ""
+
+-#: config/mmix/mmix.c:1585
++#: config/mmix/mmix.c:1581
+ msgid "MMIX Internal: Expected a register, not this"
+ msgstr ""
+
+-#: config/mmix/mmix.c:1595
++#: config/mmix/mmix.c:1591
+ msgid "MMIX Internal: Expected a constant, not this"
+ msgstr ""
+
+ #. We need the original here.
+-#: config/mmix/mmix.c:1679
++#: config/mmix/mmix.c:1675
+ msgid "MMIX Internal: Cannot decode this operand"
+ msgstr ""
+
+-#: config/mmix/mmix.c:1736
++#: config/mmix/mmix.c:1732
+ msgid "MMIX Internal: This is not a recognized address"
+ msgstr ""
+
+-#: config/mmix/mmix.c:2669
++#: config/mmix/mmix.c:2665
+ msgid "MMIX Internal: Trying to output invalidly reversed condition:"
+ msgstr ""
+
+-#: config/mmix/mmix.c:2676
++#: config/mmix/mmix.c:2672
+ msgid "MMIX Internal: What's the CC of this?"
+ msgstr ""
+
+-#: config/mmix/mmix.c:2680
++#: config/mmix/mmix.c:2676
+ msgid "MMIX Internal: What is the CC of this?"
+ msgstr ""
+
+-#: config/mmix/mmix.c:2744
++#: config/mmix/mmix.c:2740
+ #, fuzzy
+ msgid "MMIX Internal: This is not a constant:"
+ msgstr "¥Õ¥£¡¼¥ë¥É½é´üÀßÄê»Ò¤¬Äê¿ô¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó"
+@@ -3626,82 +3546,82 @@
+ msgid "Try running '%s' in the shell to raise its limit.\n"
+ msgstr ""
+
+-#: config/rs6000/rs6000.c:11434
++#: config/rs6000/rs6000.c:11645
+ #, c-format
+ msgid "invalid %%f value"
+ msgstr "̵¸ú¤Ê %%f ÃͤǤ¹"
+
+-#: config/rs6000/rs6000.c:11443
++#: config/rs6000/rs6000.c:11654
+ #, c-format
+ msgid "invalid %%F value"
+ msgstr "̵¸ú¤Ê %%F ÃͤǤ¹"
+
+-#: config/rs6000/rs6000.c:11452
++#: config/rs6000/rs6000.c:11663
+ #, c-format
+ msgid "invalid %%G value"
+ msgstr "̵¸ú¤Ê %%G ÃͤǤ¹"
+
+-#: config/rs6000/rs6000.c:11487
++#: config/rs6000/rs6000.c:11698
+ #, c-format
+ msgid "invalid %%j code"
+ msgstr "̵¸ú¤Ê %%j ¥³¡¼¥É¤Ç¤¹"
+
+-#: config/rs6000/rs6000.c:11497
++#: config/rs6000/rs6000.c:11708
+ #, c-format
+ msgid "invalid %%J code"
+ msgstr "̵¸ú¤Ê %%J ¥³¡¼¥É¤Ç¤¹"
+
+-#: config/rs6000/rs6000.c:11507
++#: config/rs6000/rs6000.c:11718
+ #, c-format
+ msgid "invalid %%k value"
+ msgstr "̵¸ú¤Ê %%k ÃÍ"
+
+-#: config/rs6000/rs6000.c:11527 config/xtensa/xtensa.c:2022
++#: config/rs6000/rs6000.c:11738 config/xtensa/xtensa.c:2028
+ #, c-format
+ msgid "invalid %%K value"
+ msgstr "̵¸ú¤Ê %%K ÃͤǤ¹"
+
+-#: config/rs6000/rs6000.c:11597
++#: config/rs6000/rs6000.c:11808
+ #, c-format
+ msgid "invalid %%O value"
+ msgstr "̵¸ú¤Ê %%O ÃÍ"
+
+-#: config/rs6000/rs6000.c:11644
++#: config/rs6000/rs6000.c:11855
+ #, c-format
+ msgid "invalid %%q value"
+ msgstr "̵¸ú¤Ê %%q ÃͤǤ¹"
+
+-#: config/rs6000/rs6000.c:11688
++#: config/rs6000/rs6000.c:11899
+ #, c-format
+ msgid "invalid %%S value"
+ msgstr "̵¸ú¤Ê %%S ÃÍ"
+
+-#: config/rs6000/rs6000.c:11728
++#: config/rs6000/rs6000.c:11939
+ #, c-format
+ msgid "invalid %%T value"
+ msgstr "̵¸ú¤Ê %%T ÃͤǤ¹"
+
+-#: config/rs6000/rs6000.c:11738
++#: config/rs6000/rs6000.c:11949
+ #, c-format
+ msgid "invalid %%u value"
+ msgstr "̵¸ú¤Ê %%u ÃͤǤ¹"
+
+-#: config/rs6000/rs6000.c:11747 config/xtensa/xtensa.c:1992
++#: config/rs6000/rs6000.c:11958 config/xtensa/xtensa.c:1998
+ #, c-format
+ msgid "invalid %%v value"
+ msgstr "̵¸ú¤Ê %%v ÃͤǤ¹"
+
+-#: config/rs6000/rs6000.c:21768
++#: config/rs6000/rs6000.c:21946
+ #, fuzzy
+ msgid "AltiVec argument passed to unprototyped function"
+ msgstr "´Ø¿ô¤Ø¤Î°ú¿ô¤¬¾¯¤Ê¤¹¤®¤Þ¤¹"
+
+-#: config/s390/s390.c:4561
++#: config/s390/s390.c:4560
+ #, fuzzy, c-format
+ msgid "cannot decompose address"
+ msgstr "Ê£»¨¤Ê¥¢¥É¥ì¥·¥ó¥°¥â¡¼¥É¤òÍøÍѤ·¤Ê¤¤"
+
+-#: config/s390/s390.c:4771
++#: config/s390/s390.c:4770
+ msgid "UNKNOWN in print_operand !?"
+ msgstr ""
+
+@@ -3711,89 +3631,89 @@
+ msgid "invalid operand for code: '%c'"
+ msgstr "%R ¥³¡¼¥É¤ËÂФ¹¤ë̵¸ú¤Ê¥ª¥Ú¥é¥ó¥É"
+
+-#: config/sh/sh.c:746
++#: config/sh/sh.c:749
+ #, fuzzy, c-format
+ msgid "invalid operand to %%R"
+ msgstr "%R ¥³¡¼¥É¤ËÂФ¹¤ë̵¸ú¤Ê¥ª¥Ú¥é¥ó¥É"
+
+-#: config/sh/sh.c:773
++#: config/sh/sh.c:776
+ #, fuzzy, c-format
+ msgid "invalid operand to %%S"
+ msgstr "%R ¥³¡¼¥É¤ËÂФ¹¤ë̵¸ú¤Ê¥ª¥Ú¥é¥ó¥É"
+
+-#: config/sh/sh.c:8095
++#: config/sh/sh.c:8098
+ msgid "created and used with different architectures / ABIs"
+ msgstr ""
+
+-#: config/sh/sh.c:8097
++#: config/sh/sh.c:8100
+ msgid "created and used with different ABIs"
+ msgstr ""
+
+-#: config/sh/sh.c:8099
++#: config/sh/sh.c:8102
+ msgid "created and used with different endianness"
+ msgstr ""
+
+-#: config/sparc/sparc.c:6803 config/sparc/sparc.c:6809
++#: config/sparc/sparc.c:6806 config/sparc/sparc.c:6812
+ #, fuzzy, c-format
+ msgid "invalid %%Y operand"
+ msgstr "̵¸ú¤Ê %%Y ¥ª¥Ú¥é¥ó¥É"
+
+-#: config/sparc/sparc.c:6879
++#: config/sparc/sparc.c:6882
+ #, fuzzy, c-format
+ msgid "invalid %%A operand"
+ msgstr "̵¸ú¤Ê %%A ¥ª¥Ú¥é¥ó¥É"
+
+-#: config/sparc/sparc.c:6889
++#: config/sparc/sparc.c:6892
+ #, fuzzy, c-format
+ msgid "invalid %%B operand"
+ msgstr "̵¸ú¤Ê %%B ¥ª¥Ú¥é¥ó¥É"
+
+-#: config/sparc/sparc.c:6928
++#: config/sparc/sparc.c:6931
+ #, fuzzy, c-format
+ msgid "invalid %%c operand"
+ msgstr "̵¸ú¤Ê %%c ¥ª¥Ú¥é¥ó¥É"
+
+-#: config/sparc/sparc.c:6950
++#: config/sparc/sparc.c:6953
+ #, fuzzy, c-format
+ msgid "invalid %%d operand"
+ msgstr "̵¸ú¤Ê %%d ¥ª¥Ú¥é¥ó¥É"
+
+-#: config/sparc/sparc.c:6967
++#: config/sparc/sparc.c:6970
+ #, fuzzy, c-format
+ msgid "invalid %%f operand"
+ msgstr "̵¸ú¤Ê %%f ¥ª¥Ú¥é¥ó¥É"
+
+-#: config/sparc/sparc.c:6981
++#: config/sparc/sparc.c:6984
+ #, fuzzy, c-format
+ msgid "invalid %%s operand"
+ msgstr "̵¸ú¤Ê %P ¥ª¥Ú¥é¥ó¥É¤Ç¤¹"
+
+-#: config/sparc/sparc.c:7035
++#: config/sparc/sparc.c:7038
+ #, c-format
+ msgid "long long constant not a valid immediate operand"
+ msgstr "long long Äê¿ô¤ÏÀµ¾ï¤Ê¨ÃÍ¥ª¥Ú¥é¥ó¥É¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó"
+
+-#: config/sparc/sparc.c:7038
++#: config/sparc/sparc.c:7041
+ #, c-format
+ msgid "floating point constant not a valid immediate operand"
+ msgstr "ÉâÆ°¾®¿ôÄê¿ô¤ÏÀµ¾ï¤Ê¨ÃÍ¥ª¥Ú¥é¥ó¥É¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó"
+
+-#: config/stormy16/stormy16.c:1775 config/stormy16/stormy16.c:1846
++#: config/stormy16/stormy16.c:1748 config/stormy16/stormy16.c:1819
+ #, fuzzy, c-format
+ msgid "'B' operand is not constant"
+ msgstr "½ÐÎÏ¥ª¥Ú¥é¥ó¥É¤¬ `asm' Æâ¤ÇÄê¿ô¤Ç¤¹"
+
+-#: config/stormy16/stormy16.c:1802
++#: config/stormy16/stormy16.c:1775
+ #, c-format
+ msgid "'B' operand has multiple bits set"
+ msgstr ""
+
+-#: config/stormy16/stormy16.c:1828
++#: config/stormy16/stormy16.c:1801
+ #, fuzzy, c-format
+ msgid "'o' operand is not constant"
+ msgstr "½ÐÎÏ¥ª¥Ú¥é¥ó¥É¤¬ `asm' Æâ¤ÇÄê¿ô¤Ç¤¹"
+
+-#: config/stormy16/stormy16.c:1860
++#: config/stormy16/stormy16.c:1833
+ #, fuzzy, c-format
+ msgid "xstormy16_print_operand: unknown code"
+ msgstr "fr30_print_operand: ÉÔÌÀ¤Ê¥³¡¼¥É¤Ç¤¹"
+@@ -3806,60 +3726,60 @@
+ msgid "output_move_single:"
+ msgstr ""
+
+-#: config/xtensa/xtensa.c:652 config/xtensa/xtensa.c:684
+-#: config/xtensa/xtensa.c:693
++#: config/xtensa/xtensa.c:656 config/xtensa/xtensa.c:688
++#: config/xtensa/xtensa.c:697
+ msgid "bad test"
+ msgstr ""
+
+-#: config/xtensa/xtensa.c:1980
++#: config/xtensa/xtensa.c:1986
+ #, fuzzy, c-format
+ msgid "invalid %%D value"
+ msgstr "̵¸ú¤Ê %D ÃͤǤ¹"
+
+-#: config/xtensa/xtensa.c:2017
++#: config/xtensa/xtensa.c:2023
+ #, fuzzy
+ msgid "invalid mask"
+ msgstr "̵¸ú¤Ê #pragma %s ¤Ç¤¹"
+
+-#: config/xtensa/xtensa.c:2043
++#: config/xtensa/xtensa.c:2049
+ #, fuzzy, c-format
+ msgid "invalid %%x value"
+ msgstr "̵¸ú¤Ê %%Q ÃÍ"
+
+-#: config/xtensa/xtensa.c:2050
++#: config/xtensa/xtensa.c:2056
+ #, fuzzy, c-format
+ msgid "invalid %%d value"
+ msgstr "̵¸ú¤Ê %%Q ÃÍ"
+
+-#: config/xtensa/xtensa.c:2071 config/xtensa/xtensa.c:2081
++#: config/xtensa/xtensa.c:2077 config/xtensa/xtensa.c:2087
+ #, fuzzy, c-format
+ msgid "invalid %%t/%%b value"
+ msgstr "̵¸ú¤Ê %%b ÃÍ"
+
+-#: config/xtensa/xtensa.c:2123
++#: config/xtensa/xtensa.c:2129
+ #, fuzzy
+ msgid "invalid address"
+ msgstr "̵¸ú¤Ê¥³¡¼¥É¤Ç¤¹"
+
+-#: config/xtensa/xtensa.c:2148
++#: config/xtensa/xtensa.c:2154
+ #, fuzzy
+ msgid "no register in address"
+ msgstr "ÉÔÌÀ¤Ê¥ì¥¸¥¹¥¿Ì¾¤Ç¤¹: %s"
+
+-#: config/xtensa/xtensa.c:2156
++#: config/xtensa/xtensa.c:2162
+ #, fuzzy
+ msgid "address offset not a constant"
+ msgstr "Í׵ᤵ¤ì¤¿¥¢¥é¥¤¥ó¥á¥ó¥È¤¬Äê¿ô¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó"
+
+-#: cp/call.c:2514
++#: cp/call.c:2500
+ msgid "candidates are:"
+ msgstr ""
+
+-#: cp/call.c:6463
++#: cp/call.c:6487
+ msgid "candidate 1:"
+ msgstr ""
+
+-#: cp/call.c:6464
++#: cp/call.c:6488
+ msgid "candidate 2:"
+ msgstr ""
+
+@@ -3905,51 +3825,51 @@
+ msgid "Integer outside symmetric range implied by Standard Fortran at %L"
+ msgstr ""
+
+-#: fortran/arith.c:1425
++#: fortran/arith.c:1472
+ msgid "elemental binary operation"
+ msgstr ""
+
+-#: fortran/arith.c:1997
++#: fortran/arith.c:2044
+ #, no-c-format
+ msgid "Arithmetic OK converting %s to %s at %L"
+ msgstr ""
+
+-#: fortran/arith.c:2001
++#: fortran/arith.c:2048
+ #, no-c-format
+ msgid "Arithmetic overflow converting %s to %s at %L. This check can be disabled with the option -fno-range-check"
+ msgstr ""
+
+-#: fortran/arith.c:2006
++#: fortran/arith.c:2053
+ #, no-c-format
+ msgid "Arithmetic underflow converting %s to %s at %L"
+ msgstr ""
+
+-#: fortran/arith.c:2010
++#: fortran/arith.c:2057
+ #, no-c-format
+ msgid "Arithmetic NaN converting %s to %s at %L"
+ msgstr ""
+
+-#: fortran/arith.c:2014
++#: fortran/arith.c:2061
+ #, no-c-format
+ msgid "Division by zero converting %s to %s at %L"
+ msgstr ""
+
+-#: fortran/arith.c:2018
++#: fortran/arith.c:2065
+ #, no-c-format
+ msgid "Array operands are incommensurate converting %s to %s at %L"
+ msgstr ""
+
+-#: fortran/arith.c:2022
++#: fortran/arith.c:2069
+ #, no-c-format
+ msgid "Integer outside symmetric range implied by Standard Fortran converting %s to %s at %L"
+ msgstr ""
+
+-#: fortran/arith.c:2355
++#: fortran/arith.c:2402
+ #, no-c-format
+ msgid "The Hollerith constant at %L is too long to convert to %s"
+ msgstr ""
+
+-#: fortran/arith.c:2513
++#: fortran/arith.c:2560
+ #, fuzzy, no-c-format
+ msgid "Enumerator exceeds the C integer type at %C"
+ msgstr "È¿Éü»Ò `%s' ¤ÏÈóÀ°¿ô·¿¤Ç¤¹"
+@@ -3979,72 +3899,72 @@
+ msgid "Variable '%s' at %L in this context must be constant"
+ msgstr ""
+
+-#: fortran/array.c:299
++#: fortran/array.c:314
+ #, no-c-format
+ msgid "Expected expression in array specification at %C"
+ msgstr ""
+
+-#: fortran/array.c:386
++#: fortran/array.c:392
+ #, no-c-format
+ msgid "Bad array specification for an explicitly shaped array at %C"
+ msgstr ""
+
+-#: fortran/array.c:396
++#: fortran/array.c:402
+ #, no-c-format
+ msgid "Bad array specification for assumed shape array at %C"
+ msgstr ""
+
+-#: fortran/array.c:410
++#: fortran/array.c:416
+ #, no-c-format
+ msgid "Bad specification for deferred shape array at %C"
+ msgstr ""
+
+-#: fortran/array.c:414
++#: fortran/array.c:420
+ #, no-c-format
+ msgid "Bad specification for assumed size array at %C"
+ msgstr ""
+
+-#: fortran/array.c:423
++#: fortran/array.c:429
+ #, fuzzy, no-c-format
+ msgid "Expected another dimension in array declaration at %C"
+ msgstr "ÇÛÎó¤Î¼¡¸µ¤òÀë¸À¤Ç»ØÄꤹ¤ë¤³¤È¤Ï¤Ç¤­¤Þ¤»¤ó"
+
+-#: fortran/array.c:429
++#: fortran/array.c:435
+ #, no-c-format
+ msgid "Array specification at %C has more than %d dimensions"
+ msgstr ""
+
+-#: fortran/array.c:635
++#: fortran/array.c:641
+ #, fuzzy, no-c-format
+ msgid "duplicated initializer"
+ msgstr "½ÅÊ£¤·¤¿½é´ü²½»Ò"
+
+-#: fortran/array.c:727
++#: fortran/array.c:733
+ #, no-c-format
+ msgid "DO-iterator '%s' at %L is inside iterator of the same name"
+ msgstr ""
+
+-#: fortran/array.c:829 fortran/array.c:938
++#: fortran/array.c:835 fortran/array.c:944
+ #, no-c-format
+ msgid "Syntax error in array constructor at %C"
+ msgstr ""
+
+-#: fortran/array.c:884
++#: fortran/array.c:890
+ #, no-c-format
+ msgid "Fortran 2003: [...] style array constructors at %C"
+ msgstr ""
+
+-#: fortran/array.c:898
++#: fortran/array.c:904
+ #, no-c-format
+ msgid "Empty array constructor at %C is not allowed"
+ msgstr ""
+
+-#: fortran/array.c:982
++#: fortran/array.c:988
+ #, no-c-format
+ msgid "Element in %s array constructor at %L is %s"
+ msgstr ""
+
+-#: fortran/array.c:1309
++#: fortran/array.c:1315
+ #, no-c-format
+ msgid "Iterator step at %L cannot be zero"
+ msgstr ""
+@@ -4064,7 +3984,7 @@
+ msgid "'%s' argument of '%s' intrinsic at %L must be a numeric type"
+ msgstr ""
+
+-#: fortran/check.c:101 fortran/check.c:817 fortran/check.c:827
++#: fortran/check.c:101 fortran/check.c:810 fortran/check.c:820
+ #, no-c-format
+ msgid "'%s' argument of '%s' intrinsic at %L must be INTEGER or REAL"
+ msgstr ""
+@@ -4129,220 +4049,215 @@
+ msgid "'%s' argument of '%s' intrinsic at %L must be a variable"
+ msgstr ""
+
+-#: fortran/check.c:320
++#: fortran/check.c:356
+ #, no-c-format
+-msgid "Missing DIM parameter in intrinsic '%s' at %L"
+-msgstr ""
+-
+-#: fortran/check.c:363
+-#, no-c-format
+ msgid "'dim' argument of '%s' intrinsic at %L is not a valid dimension index"
+ msgstr ""
+
+-#: fortran/check.c:433
++#: fortran/check.c:426
+ #, no-c-format
+ msgid "Unequal character lengths (%ld and %ld) in %s intrinsic at %L"
+ msgstr ""
+
+-#: fortran/check.c:535 fortran/check.c:1938 fortran/check.c:1953
++#: fortran/check.c:528 fortran/check.c:1932 fortran/check.c:1947
+ #, no-c-format
+ msgid "'%s' argument of '%s' intrinsic at %L must be ALLOCATABLE"
+ msgstr ""
+
+-#: fortran/check.c:559 fortran/check.c:3703
++#: fortran/check.c:552 fortran/check.c:3697
+ #, no-c-format
+ msgid "'%s' and '%s' arguments of '%s' intrinsic at %L must have the same type"
+ msgstr ""
+
+-#: fortran/check.c:568 fortran/check.c:1143 fortran/check.c:1286
+-#: fortran/check.c:1360 fortran/check.c:1616
++#: fortran/check.c:561 fortran/check.c:1137 fortran/check.c:1280
++#: fortran/check.c:1354 fortran/check.c:1610
+ #, no-c-format
+ msgid "Extension: Different type kinds at %L"
+ msgstr ""
+
+-#: fortran/check.c:608 fortran/check.c:2022
++#: fortran/check.c:601 fortran/check.c:2016
+ #, no-c-format
+ msgid "'%s' argument of '%s' intrinsic at %L must be a POINTER"
+ msgstr ""
+
+-#: fortran/check.c:628
++#: fortran/check.c:621
+ #, no-c-format
+ msgid "'%s' argument of '%s' intrinsic at %L must be a pointer or target VARIABLE or FUNCTION"
+ msgstr ""
+
+-#: fortran/check.c:636
++#: fortran/check.c:629
+ #, no-c-format
+ msgid "'%s' argument of '%s' intrinsic at %L must be a POINTER or a TARGET"
+ msgstr ""
+
+-#: fortran/check.c:652
++#: fortran/check.c:645
+ #, no-c-format
+ msgid "Array section with a vector subscript at %L shall not be the target of a pointer"
+ msgstr ""
+
+-#: fortran/check.c:663
++#: fortran/check.c:656
+ #, no-c-format
+ msgid "NULL pointer at %L is not permitted as actual argument of '%s' intrinsic function"
+ msgstr ""
+
+-#: fortran/check.c:798 fortran/check.c:915
++#: fortran/check.c:791 fortran/check.c:910
+ #, no-c-format
+ msgid "'%s' argument of '%s' intrinsic at %L must not be present if 'x' is COMPLEX"
+ msgstr ""
+
+-#: fortran/check.c:848 fortran/check.c:1205 fortran/check.c:1308
+-#: fortran/check.c:1467 fortran/check.c:1484 fortran/check.c:2318
+-#: fortran/check.c:2444 fortran/check.c:2779 fortran/check.c:2821
++#: fortran/check.c:841 fortran/check.c:1199 fortran/check.c:1302
++#: fortran/check.c:1461 fortran/check.c:1478 fortran/check.c:2312
++#: fortran/check.c:2438 fortran/check.c:2773 fortran/check.c:2815
+ #, no-c-format
+ msgid "Fortran 2003: '%s' intrinsic with KIND argument at %L"
+ msgstr ""
+
+-#: fortran/check.c:964 fortran/check.c:1712 fortran/check.c:1720
++#: fortran/check.c:959 fortran/check.c:1706 fortran/check.c:1714
+ #, no-c-format
+ msgid "'%s' argument of '%s' intrinsic at %L must be numeric or LOGICAL"
+ msgstr ""
+
+-#: fortran/check.c:978
++#: fortran/check.c:973
+ #, no-c-format
+ msgid "Different shape for arguments '%s' and '%s' at %L for intrinsic 'dot_product'"
+ msgstr ""
+
+-#: fortran/check.c:997 fortran/check.c:1005
++#: fortran/check.c:992 fortran/check.c:1000
+ #, no-c-format
+ msgid "'%s' argument of '%s' intrinsic at %L must be default real"
+ msgstr ""
+
+-#: fortran/check.c:1256
++#: fortran/check.c:1250
+ #, no-c-format
+ msgid "Argument of %s at %L must be of length one"
+ msgstr ""
+
+-#: fortran/check.c:1315
++#: fortran/check.c:1309
+ #, no-c-format
+ msgid "'%s' argument of '%s' intrinsic at %L must be the same kind as '%s'"
+ msgstr ""
+
+-#: fortran/check.c:1440
++#: fortran/check.c:1434
+ #, no-c-format
+ msgid "'%s' argument of '%s' intrinsic at %L must be a non-derived type"
+ msgstr ""
+
+-#: fortran/check.c:1589
++#: fortran/check.c:1583
+ #, no-c-format
+ msgid "Intrinsic '%s' at %L must have at least two arguments"
+ msgstr ""
+
+-#: fortran/check.c:1622
++#: fortran/check.c:1616
+ #, no-c-format
+ msgid "'a%d' argument of '%s' intrinsic at %L must be %s(%d)"
+ msgstr ""
+
+-#: fortran/check.c:1655
++#: fortran/check.c:1649
+ #, no-c-format
+ msgid "Fortran 2003: '%s' intrinsic with CHARACTER argument at %L"
+ msgstr ""
+
+-#: fortran/check.c:1662
++#: fortran/check.c:1656
+ #, no-c-format
+ msgid "'a1' argument of '%s' intrinsic at %L must be INTEGER, REAL or CHARACTER"
+ msgstr ""
+
+-#: fortran/check.c:1734
++#: fortran/check.c:1728
+ #, no-c-format
+ msgid "Different shape on dimension 1 for arguments '%s' and '%s' at %L for intrinsic matmul"
+ msgstr ""
+
+-#: fortran/check.c:1753
++#: fortran/check.c:1747
+ #, no-c-format
+ msgid "Different shape on dimension 2 for argument '%s' and dimension 1 for argument '%s' at %L for intrinsic matmul"
+ msgstr ""
+
+-#: fortran/check.c:1762
++#: fortran/check.c:1756
+ #, no-c-format
+ msgid "'%s' argument of '%s' intrinsic at %L must be of rank 1 or 2"
+ msgstr ""
+
+-#: fortran/check.c:1964
++#: fortran/check.c:1958
+ #, no-c-format
+ msgid "the '%s' and '%s' arguments of '%s' intrinsic at %L must have the same rank %d/%d"
+ msgstr ""
+
+-#: fortran/check.c:1973
++#: fortran/check.c:1967
+ #, no-c-format
+ msgid "the '%s' and '%s' arguments of '%s' intrinsic at %L must be of the same kind %d/%d"
+ msgstr ""
+
+-#: fortran/check.c:2069
++#: fortran/check.c:2063
+ #, no-c-format
+ msgid "'%s' argument of '%s' intrinsic at %L must be of type REAL or COMPLEX"
+ msgstr ""
+
+-#: fortran/check.c:2090
++#: fortran/check.c:2084
+ #, no-c-format
+ msgid "'%s' argument of '%s' intrinsic at %L must be of a dummy variable"
+ msgstr ""
+
+-#: fortran/check.c:2098
++#: fortran/check.c:2092
+ #, no-c-format
+ msgid "'%s' argument of '%s' intrinsic at %L must be of an OPTIONAL dummy variable"
+ msgstr ""
+
+-#: fortran/check.c:2114
++#: fortran/check.c:2108
+ #, no-c-format
+ msgid "'%s' argument of '%s' intrinsic at %L must not be a subobject of '%s'"
+ msgstr ""
+
+-#: fortran/check.c:2231
++#: fortran/check.c:2225
+ #, no-c-format
+ msgid "'shape' argument of 'reshape' intrinsic at %L must be an array of constant size"
+ msgstr ""
+
+-#: fortran/check.c:2241
++#: fortran/check.c:2235
+ #, no-c-format
+ msgid "'shape' argument of 'reshape' intrinsic at %L has more than %d elements"
+ msgstr ""
+
+-#: fortran/check.c:2279
++#: fortran/check.c:2273
+ #, no-c-format
+ msgid "Without padding, there are not enough elements in the intrinsic RESHAPE source at %L to match the shape"
+ msgstr ""
+
+-#: fortran/check.c:2364
++#: fortran/check.c:2358
+ #, fuzzy, no-c-format
+ msgid "Missing arguments to %s intrinsic at %L"
+ msgstr "`%s' ¥ª¥×¥·¥ç¥ó¤ËÂФ¹¤ë°ú¿ô¤¬¤¢¤ê¤Þ¤»¤ó"
+
+-#: fortran/check.c:2405
++#: fortran/check.c:2399
+ #, no-c-format
+ msgid "'source' argument of 'shape' intrinsic at %L must not be an assumed size array"
+ msgstr ""
+
+-#: fortran/check.c:2479
++#: fortran/check.c:2473
+ #, no-c-format
+ msgid "'%s' argument of '%s' intrinsic at %L must be less than rank %d"
+ msgstr ""
+
+-#: fortran/check.c:2731
++#: fortran/check.c:2725
+ #, no-c-format
+ msgid "'MOLD' argument of 'TRANSFER' intrinsic at %L must not be %s"
+ msgstr ""
+
+-#: fortran/check.c:3050
++#: fortran/check.c:3044
+ #, fuzzy, no-c-format
+ msgid "Too many arguments to %s at %L"
+ msgstr "¥Õ¥©¡¼¥Þ¥Ã¥È¤Ø¤Î°ú¿ô¤¬Â¿¤¹¤®¤Þ¤¹"
+
+-#: fortran/check.c:3162 fortran/check.c:3616 fortran/check.c:3640
++#: fortran/check.c:3156 fortran/check.c:3610 fortran/check.c:3634
+ #, no-c-format
+ msgid "'%s' argument of '%s' intrinsic at %L must be INTEGER or PROCEDURE"
+ msgstr ""
+
+-#: fortran/check.c:3338
++#: fortran/check.c:3332
+ #, no-c-format
+ msgid "'%s' argument of '%s' intrinsic at %L must be of a kind not wider than the default kind (%d)"
+ msgstr ""
+
+-#: fortran/check.c:3687 fortran/check.c:3695
++#: fortran/check.c:3681 fortran/check.c:3689
+ #, no-c-format
+ msgid "'%s' argument of '%s' intrinsic at %L must be INTEGER or LOGICAL"
+ msgstr ""
+@@ -4367,890 +4282,926 @@
+ msgid "'%s' at %L already is initialized at %L"
+ msgstr ""
+
+-#: fortran/data.c:412
++#: fortran/data.c:317
++#, no-c-format
++msgid "Data element below array lower bound at %L"
++msgstr ""
++
++#: fortran/data.c:329
++#, no-c-format
++msgid "Data element above array upper bound at %L"
++msgstr ""
++
++#: fortran/data.c:435
+ #, fuzzy, no-c-format
+ msgid "Extension: re-initialization of '%s' at %L"
+ msgstr "(`%s' ¤Î½é´ü²½¤ÏÉÔ´°Á´¤Ç¤¹)"
+
+-#: fortran/decl.c:254
++#: fortran/decl.c:253
+ #, no-c-format
+ msgid "Host associated variable '%s' may not be in the DATA statement at %C"
+ msgstr ""
+
+-#: fortran/decl.c:261
++#: fortran/decl.c:260
+ #, no-c-format
+ msgid "Extension: initialization of common block variable '%s' in DATA statement at %C"
+ msgstr ""
+
+-#: fortran/decl.c:366
++#: fortran/decl.c:365
+ #, no-c-format
+ msgid "Symbol '%s' must be a PARAMETER in DATA statement at %C"
+ msgstr ""
+
+-#: fortran/decl.c:470
++#: fortran/decl.c:390
++#, fuzzy, no-c-format
++msgid "Invalid initializer %s in Data statement at %C"
++msgstr "̵¸ú¤Ê¥Ó¥Ã¥ÈÎó½é´ü²½»Ò¤Ç¤¹"
++
++#: fortran/decl.c:493
+ #, no-c-format
+ msgid "Initialization at %C is not allowed in a PURE procedure"
+ msgstr ""
+
+-#: fortran/decl.c:529
++#: fortran/decl.c:552
+ #, no-c-format
+ msgid "DATA statement at %C is not allowed in a PURE procedure"
+ msgstr ""
+
+-#: fortran/decl.c:558
++#: fortran/decl.c:581
+ #, no-c-format
+ msgid "Bad INTENT specification at %C"
+ msgstr ""
+
+-#: fortran/decl.c:600
++#: fortran/decl.c:623
+ #, no-c-format
+ msgid "Conflict in attributes of function argument at %C"
+ msgstr ""
+
+-#: fortran/decl.c:647
++#: fortran/decl.c:676
+ #, fuzzy, no-c-format
+ msgid "Syntax error in character length specification at %C"
+ msgstr "¥á¥½¥Ã¥É»ÅÍÍÆâ¤Ç¤Î¹½Ê¸²òÀÏ¥¨¥é¡¼"
+
+-#: fortran/decl.c:757
++#: fortran/decl.c:795
+ #, no-c-format
+ msgid "Procedure '%s' at %C is already defined at %L"
+ msgstr ""
+
+-#: fortran/decl.c:765
++#: fortran/decl.c:803
+ #, no-c-format
+ msgid "Name '%s' at %C is already defined as a generic interface at %L"
+ msgstr ""
+
+-#: fortran/decl.c:778
++#: fortran/decl.c:816
+ #, no-c-format
+ msgid "Procedure '%s' at %C has an explicit interface and must not have attributes declared at %L"
+ msgstr ""
+
+-#: fortran/decl.c:850
++#: fortran/decl.c:888
+ #, no-c-format
+ msgid "Procedure '%s' at %L must have the BIND(C) attribute to be C interoperable"
+ msgstr ""
+
+-#: fortran/decl.c:880
++#: fortran/decl.c:918
+ #, no-c-format
+ msgid "Type '%s' at %L is a parameter to the BIND(C) procedure '%s' but is not C interoperable because derived type '%s' is not C interoperable"
+ msgstr ""
+
+-#: fortran/decl.c:887
++#: fortran/decl.c:925
+ #, no-c-format
+ msgid "Variable '%s' at %L is a parameter to the BIND(C) procedure '%s' but may not be C interoperable"
+ msgstr ""
+
+-#: fortran/decl.c:902
++#: fortran/decl.c:940
+ #, no-c-format
+ msgid "Character argument '%s' at %L must be length 1 because procedure '%s' is BIND(C)"
+ msgstr ""
+
+-#: fortran/decl.c:916
++#: fortran/decl.c:954
+ #, no-c-format
+ msgid "Variable '%s' at %L cannot have the ALLOCATABLE attribute because procedure '%s' is BIND(C)"
+ msgstr ""
+
+-#: fortran/decl.c:925
++#: fortran/decl.c:963
+ #, no-c-format
+ msgid "Variable '%s' at %L cannot have the POINTER attribute because procedure '%s' is BIND(C)"
+ msgstr ""
+
+-#: fortran/decl.c:934
++#: fortran/decl.c:972
+ #, no-c-format
+ msgid "Variable '%s' at %L cannot have the OPTIONAL attribute because procedure '%s' is BIND(C)"
+ msgstr ""
+
+-#: fortran/decl.c:947
++#: fortran/decl.c:985
+ #, no-c-format
+ msgid "Assumed-shape array '%s' at %L cannot be an argument to the procedure '%s' at %L because the procedure is BIND(C)"
+ msgstr ""
+
+-#: fortran/decl.c:957
++#: fortran/decl.c:995
+ #, no-c-format
+ msgid "Deferred-shape array '%s' at %L cannot be an argument to the procedure '%s' at %L because the procedure is BIND(C)"
+ msgstr ""
+
+-#: fortran/decl.c:1033
++#: fortran/decl.c:1071
+ #, no-c-format
+ msgid "Variable '%s' in common block '%s' at %C must be declared with a C interoperable kind since common block '%s' is BIND(C)"
+ msgstr ""
+
+-#: fortran/decl.c:1069
++#: fortran/decl.c:1107
+ #, no-c-format
+ msgid "CHARACTER expression at %L is being truncated (%d/%d)"
+ msgstr ""
+
+-#: fortran/decl.c:1075
++#: fortran/decl.c:1113
+ #, no-c-format
+ msgid "The CHARACTER elements of the array constructor at %L must have the same length (%d/%d)"
+ msgstr ""
+
+-#: fortran/decl.c:1165
++#: fortran/decl.c:1203
+ #, no-c-format
+ msgid "Initializer not allowed for PARAMETER '%s' at %C"
+ msgstr ""
+
+-#: fortran/decl.c:1174
+-#, no-c-format
+-msgid "Initializer not allowed for COMMON variable '%s' at %C"
+-msgstr ""
+-
+-#: fortran/decl.c:1184
++#: fortran/decl.c:1213
+ #, fuzzy, no-c-format
+ msgid "PARAMETER at %L is missing an initializer"
+ msgstr "½é´ü²½»Ò¤ò·ç¤¤¤Æ¤¤¤Þ¤¹"
+
+-#: fortran/decl.c:1194
++#: fortran/decl.c:1223
+ #, no-c-format
+ msgid "Variable '%s' at %C with an initializer already appears in a DATA statement"
+ msgstr ""
+
+-#: fortran/decl.c:1344
++#: fortran/decl.c:1373
+ #, no-c-format
+ msgid "Component at %C must have the POINTER attribute"
+ msgstr ""
+
+-#: fortran/decl.c:1352
++#: fortran/decl.c:1381
+ #, no-c-format
+ msgid "Array component of structure at %C must have explicit or deferred shape"
+ msgstr ""
+
+-#: fortran/decl.c:1378
++#: fortran/decl.c:1425
+ #, no-c-format
+ msgid "Allocatable component at %C must be an array"
+ msgstr ""
+
+-#: fortran/decl.c:1389
++#: fortran/decl.c:1436
+ #, no-c-format
+ msgid "Pointer array component of structure at %C must have a deferred shape"
+ msgstr ""
+
+-#: fortran/decl.c:1398
++#: fortran/decl.c:1445
+ #, no-c-format
+ msgid "Allocatable component of structure at %C must have a deferred shape"
+ msgstr ""
+
+-#: fortran/decl.c:1407
++#: fortran/decl.c:1454
+ #, no-c-format
+ msgid "Array component of structure at %C must have an explicit shape"
+ msgstr ""
+
+-#: fortran/decl.c:1433
++#: fortran/decl.c:1480
+ #, no-c-format
+ msgid "NULL() initialization at %C is ambiguous"
+ msgstr ""
+
+-#: fortran/decl.c:1556 fortran/decl.c:5197
++#: fortran/decl.c:1603 fortran/decl.c:5395
+ #, no-c-format
+ msgid "Duplicate array spec for Cray pointee at %C"
+ msgstr ""
+
+-#: fortran/decl.c:1616
++#: fortran/decl.c:1663
+ #, no-c-format
+ msgid "the type of '%s' at %C has not been declared within the interface"
+ msgstr ""
+
+-#: fortran/decl.c:1632
++#: fortran/decl.c:1679
+ #, fuzzy, no-c-format
+ msgid "Function name '%s' not allowed at %C"
+ msgstr "¥»¥¯¥·¥ç¥ó°À­¤Ï `%s' ¤Ë¤Ï»È¤¨¤Þ¤»¤ó"
+
+-#: fortran/decl.c:1648
++#: fortran/decl.c:1695
+ #, no-c-format
+ msgid "Extension: Old-style initialization at %C"
+ msgstr ""
+
+-#: fortran/decl.c:1663
++#: fortran/decl.c:1710
+ #, no-c-format
+ msgid "Initialization at %C isn't for a pointer variable"
+ msgstr ""
+
+-#: fortran/decl.c:1671
++#: fortran/decl.c:1718
+ #, no-c-format
+ msgid "Pointer initialization requires a NULL() at %C"
+ msgstr ""
+
+-#: fortran/decl.c:1677
++#: fortran/decl.c:1724
+ #, no-c-format
+ msgid "Initialization of pointer at %C is not allowed in a PURE procedure"
+ msgstr ""
+
+-#: fortran/decl.c:1690
++#: fortran/decl.c:1737
+ #, no-c-format
+ msgid "Pointer initialization at %C requires '=>', not '='"
+ msgstr ""
+
+-#: fortran/decl.c:1699 fortran/decl.c:6129
++#: fortran/decl.c:1746 fortran/decl.c:6361
+ #, fuzzy, no-c-format
+ msgid "Expected an initialization expression at %C"
+ msgstr "Ťµ 0 ¤Î½é´ü²½¤Ï¿ä¾©¤µ¤ì¤Þ¤»¤ó"
+
+-#: fortran/decl.c:1705
++#: fortran/decl.c:1752
+ #, no-c-format
+ msgid "Initialization of variable at %C is not allowed in a PURE procedure"
+ msgstr ""
+
+-#: fortran/decl.c:1718
++#: fortran/decl.c:1765
+ #, no-c-format
+ msgid "Initialization of allocatable component at %C is not allowed"
+ msgstr ""
+
+-#: fortran/decl.c:1772 fortran/decl.c:1781
++#: fortran/decl.c:1819 fortran/decl.c:1828
+ #, fuzzy, no-c-format
+ msgid "Old-style type declaration %s*%d not supported at %C"
+ msgstr "-traditional ¤Ï C++ ¤Ç¤Ï¼õ¤±ÉÕ¤±¤é¤ì¤Þ¤»¤ó"
+
+-#: fortran/decl.c:1786
++#: fortran/decl.c:1833
+ #, fuzzy, no-c-format
+ msgid "Nonstandard type declaration %s*%d at %C"
+ msgstr "`%s' ¤Î extern Àë¸À¤¬¥Í¥¹¥È¤·¤Æ¤¤¤Þ¤¹"
+
+-#: fortran/decl.c:1838 fortran/decl.c:1897
++#: fortran/decl.c:1884 fortran/decl.c:1948
+ #, fuzzy, no-c-format
+ msgid "Missing right parenthesis at %C"
+ msgstr "Àµ¼°¤Ê²¾°ú¿ô¹à¤ò·ç¤¤¤Æ¤¤¤Þ¤¹"
+
+-#: fortran/decl.c:1853 fortran/decl.c:1931
++#: fortran/decl.c:1897 fortran/decl.c:1993
+ #, fuzzy, no-c-format
+ msgid "Expected initialization expression at %C"
+ msgstr "Ťµ 0 ¤Î½é´ü²½¤Ï¿ä¾©¤µ¤ì¤Þ¤»¤ó"
+
+-#: fortran/decl.c:1861 fortran/decl.c:1937
++#: fortran/decl.c:1905 fortran/decl.c:1999
+ #, fuzzy, no-c-format
+ msgid "Expected scalar initialization expression at %C"
+ msgstr "Ťµ 0 ¤Î½é´ü²½¤Ï¿ä¾©¤µ¤ì¤Þ¤»¤ó"
+
+-#: fortran/decl.c:1891
++#: fortran/decl.c:1936
+ #, fuzzy, no-c-format
+ msgid "Kind %d not supported for type %s at %C"
+ msgstr "VAX ÉâÆ°¾®¿ô¤Ç¤Ï´Ý¤á¥â¡¼¥É¤òÍøÍѤǤ­¤Þ¤»¤ó"
+
+-#: fortran/decl.c:1957
++#: fortran/decl.c:1946
++#, no-c-format
++msgid "Missing right parenthesis or comma at %C"
++msgstr ""
++
++#: fortran/decl.c:2019
+ #, fuzzy, no-c-format
+ msgid "Kind %d is not supported for CHARACTER at %C"
+ msgstr "VAX ÉâÆ°¾®¿ô¤Ç¤Ï´Ý¤á¥â¡¼¥É¤òÍøÍѤǤ­¤Þ¤»¤ó"
+
+-#: fortran/decl.c:2086
++#: fortran/decl.c:2148
+ #, no-c-format
+ msgid "Syntax error in CHARACTER declaration at %C"
+ msgstr ""
+
+-#: fortran/decl.c:2156
++#: fortran/decl.c:2233
+ #, no-c-format
+ msgid "Extension: BYTE type at %C"
+ msgstr ""
+
+-#: fortran/decl.c:2162
++#: fortran/decl.c:2239
+ #, no-c-format
+ msgid "BYTE type used at %C is not available on the target machine"
+ msgstr ""
+
+-#: fortran/decl.c:2211
++#: fortran/decl.c:2288
+ #, no-c-format
+ msgid "DOUBLE COMPLEX at %C does not conform to the Fortran 95 standard"
+ msgstr ""
+
+-#: fortran/decl.c:2245 fortran/decl.c:2252 fortran/decl.c:2558
+-#: fortran/decl.c:2566
++#: fortran/decl.c:2328 fortran/decl.c:2337 fortran/decl.c:2649
++#: fortran/decl.c:2657
+ #, fuzzy, no-c-format
+ msgid "Type name '%s' at %C is ambiguous"
+ msgstr "%s: ¥ª¥×¥·¥ç¥ó `%s' ¤Ï¤¢¤¤¤Þ¤¤¤Ç¤¹\n"
+
+-#: fortran/decl.c:2321
++#: fortran/decl.c:2412
+ #, no-c-format
+ msgid "Missing character range in IMPLICIT at %C"
+ msgstr ""
+
+-#: fortran/decl.c:2367
++#: fortran/decl.c:2458
+ #, no-c-format
+ msgid "Letters must be in alphabetic order in IMPLICIT statement at %C"
+ msgstr ""
+
+-#: fortran/decl.c:2421
++#: fortran/decl.c:2512
+ #, no-c-format
+ msgid "Empty IMPLICIT statement at %C"
+ msgstr ""
+
+-#: fortran/decl.c:2524
++#: fortran/decl.c:2615
+ #, no-c-format
+ msgid "IMPORT statement at %C only permitted in an INTERFACE body"
+ msgstr ""
+
+-#: fortran/decl.c:2529
++#: fortran/decl.c:2620
+ #, no-c-format
+ msgid "Fortran 2003: IMPORT statement at %C"
+ msgstr ""
+
+-#: fortran/decl.c:2544
++#: fortran/decl.c:2635
+ #, no-c-format
+ msgid "Expecting list of named entities at %C"
+ msgstr ""
+
+-#: fortran/decl.c:2572
++#: fortran/decl.c:2663
+ #, no-c-format
+ msgid "Cannot IMPORT '%s' from host scoping unit at %C - does not exist."
+ msgstr ""
+
+-#: fortran/decl.c:2579
++#: fortran/decl.c:2670
+ #, no-c-format
+ msgid "'%s' is already IMPORTed from host scoping unit at %C."
+ msgstr ""
+
+-#: fortran/decl.c:2608
++#: fortran/decl.c:2699
+ #, no-c-format
+ msgid "Syntax error in IMPORT statement at %C"
+ msgstr ""
+
+-#: fortran/decl.c:2850
++#: fortran/decl.c:2941
+ #, no-c-format
+ msgid "Missing dimension specification at %C"
+ msgstr ""
+
+-#: fortran/decl.c:2924
++#: fortran/decl.c:3015
+ #, fuzzy, no-c-format
+ msgid "Duplicate %s attribute at %L"
+ msgstr "ÄêµÁ¤Î¸å¤Ç `%s' °À­¤ò¥»¥Ã¥È¤¹¤ë¤³¤È¤Ï¤Ç¤­¤Þ¤»¤ó"
+
+-#: fortran/decl.c:2943
++#: fortran/decl.c:3034
+ #, no-c-format
+ msgid "Fortran 2003: ALLOCATABLE attribute at %C in a TYPE definition"
+ msgstr ""
+
+-#: fortran/decl.c:2953
++#: fortran/decl.c:3044
+ #, no-c-format
+ msgid "Attribute at %L is not allowed in a TYPE definition"
+ msgstr ""
+
+-#: fortran/decl.c:2971
++#: fortran/decl.c:3062
+ #, no-c-format
+ msgid "Fortran 2003: Attribute %s at %L in a TYPE definition"
+ msgstr ""
+
+-#: fortran/decl.c:2982
++#: fortran/decl.c:3073
+ #, no-c-format
+ msgid "%s attribute at %L is not allowed outside of the specification part of a module"
+ msgstr ""
+
+-#: fortran/decl.c:3034 fortran/decl.c:5437
++#: fortran/decl.c:3125 fortran/decl.c:5635
+ #, no-c-format
+ msgid "PROTECTED at %C only allowed in specification part of a module"
+ msgstr ""
+
+-#: fortran/decl.c:3040
++#: fortran/decl.c:3131
+ #, no-c-format
+ msgid "Fortran 2003: PROTECTED attribute at %C"
+ msgstr ""
+
+-#: fortran/decl.c:3071
++#: fortran/decl.c:3162
+ #, no-c-format
+ msgid "Fortran 2003: VALUE attribute at %C"
+ msgstr ""
+
+-#: fortran/decl.c:3081
++#: fortran/decl.c:3172
+ #, no-c-format
+ msgid "Fortran 2003: VOLATILE attribute at %C"
+ msgstr ""
+
+-#: fortran/decl.c:3121
++#: fortran/decl.c:3212
+ #, no-c-format
+ msgid "Multiple identifiers provided with single NAME= specifier at %C"
+ msgstr ""
+
+ #. Print an error, but continue parsing line.
+-#: fortran/decl.c:3171
++#: fortran/decl.c:3261
+ #, no-c-format
+ msgid "C kind parameter is for type %s but symbol '%s' at %L is of type %s"
+ msgstr ""
+
+-#: fortran/decl.c:3235
++#: fortran/decl.c:3325
+ #, no-c-format
+ msgid "Implicitly declared BIND(C) function '%s' at %L may not be C interoperable"
+ msgstr ""
+
+-#: fortran/decl.c:3257
++#: fortran/decl.c:3347
+ #, no-c-format
+ msgid "Variable '%s' in common block '%s' at %L may not be a C interoperable kind though common block '%s' is BIND(C)"
+ msgstr ""
+
+-#: fortran/decl.c:3266
++#: fortran/decl.c:3356
+ #, no-c-format
+ msgid "Type declaration '%s' at %L is not C interoperable but it is BIND(C)"
+ msgstr ""
+
+-#: fortran/decl.c:3270
++#: fortran/decl.c:3360
+ #, no-c-format
+ msgid "Variable '%s' at %L may not be a C interoperable kind but it is bind(c)"
+ msgstr ""
+
+-#: fortran/decl.c:3282
++#: fortran/decl.c:3372
+ #, no-c-format
+ msgid "Variable '%s' in common block '%s' at %L cannot be declared with BIND(C) since it is not a global"
+ msgstr ""
+
+-#: fortran/decl.c:3296
++#: fortran/decl.c:3386
+ #, no-c-format
+ msgid "Variable '%s' at %L cannot have both the POINTER and BIND(C) attributes"
+ msgstr ""
+
+-#: fortran/decl.c:3304
++#: fortran/decl.c:3394
+ #, no-c-format
+ msgid "Variable '%s' at %L cannot have both the ALLOCATABLE and BIND(C) attributes"
+ msgstr ""
+
+-#: fortran/decl.c:3314
++#: fortran/decl.c:3404
+ #, no-c-format
+ msgid "Return type of BIND(C) function '%s' at %L cannot be an array"
+ msgstr ""
+
+-#: fortran/decl.c:3322
++#: fortran/decl.c:3412
+ #, no-c-format
+ msgid "Return type of BIND(C) function '%s' at %L cannot be a character string"
+ msgstr ""
+
+ #. Use gfc_warning_now because we won't say that the symbol fails
+ #. just because of this.
+-#: fortran/decl.c:3334
++#: fortran/decl.c:3424
+ #, no-c-format
+ msgid "Symbol '%s' at %L is marked PRIVATE but has been given the binding label '%s'"
+ msgstr ""
+
+-#: fortran/decl.c:3409
++#: fortran/decl.c:3499
+ #, no-c-format
+ msgid "Need either entity or common block name for attribute specification statement at %C"
+ msgstr ""
+
+-#: fortran/decl.c:3456
++#: fortran/decl.c:3546
+ #, no-c-format
+ msgid "Missing entity or common block name for attribute specification statement at %C"
+ msgstr ""
+
+ #. Now we have an error, which we signal, and then fix up
+ #. because the knock-on is plain and simple confusing.
+-#: fortran/decl.c:3563
++#: fortran/decl.c:3653
+ #, no-c-format
+ msgid "Derived type at %C has not been previously defined and so cannot appear in a derived type definition"
+ msgstr ""
+
+-#: fortran/decl.c:3595
++#: fortran/decl.c:3685
+ #, fuzzy, no-c-format
+ msgid "Syntax error in data declaration at %C"
+ msgstr "`%s' ¤ÎÀë¸À¤ËÆó¤Ä°Ê¾å¤Î¥Ç¡¼¥¿·¿¤¬»ØÄꤵ¤ì¤Þ¤·¤¿"
+
+-#: fortran/decl.c:3742
++#: fortran/decl.c:3832
+ #, fuzzy, no-c-format
+ msgid "Name '%s' at %C is the name of the procedure"
+ msgstr "¥×¥í¥·¡¼¥¸¥ã³«»Ï¤È½ªÎ»¤Î¥¹¥±¥¸¥å¡¼¥ë¤ò¹Ô¤Ê¤ï¤Ê¤¤"
+
+-#: fortran/decl.c:3754
++#: fortran/decl.c:3844
+ #, no-c-format
+ msgid "Unexpected junk in formal argument list at %C"
+ msgstr ""
+
+-#: fortran/decl.c:3771
++#: fortran/decl.c:3861
+ #, no-c-format
+ msgid "Duplicate symbol '%s' in formal argument list at %C"
+ msgstr ""
+
+-#: fortran/decl.c:3822
++#: fortran/decl.c:3912
+ #, no-c-format
+ msgid "RESULT variable at %C must be different than function name"
+ msgstr ""
+
+-#: fortran/decl.c:3892
++#: fortran/decl.c:3990
+ #, fuzzy, no-c-format
+ msgid "Unexpected junk after function declaration at %C"
+ msgstr "`%s' ¤Î extern Àë¸À¤¬¥Í¥¹¥È¤·¤Æ¤¤¤Þ¤¹"
+
+-#: fortran/decl.c:3951
++#: fortran/decl.c:4000 fortran/decl.c:4734
++#, fuzzy, no-c-format
++msgid "Extension: BIND(C) attribute at %L may not be specified for an internal procedure"
++msgstr "section °À­¤Ï¥í¡¼¥«¥ëÊÑ¿ô¤ËÂФ·¤Æ¤Ï»ØÄê¤Ç¤­¤Þ¤»¤ó"
++
++#: fortran/decl.c:4066
+ #, no-c-format
+ msgid "Interface '%s' at %C may not be generic"
+ msgstr ""
+
+-#: fortran/decl.c:3956
++#: fortran/decl.c:4071
+ #, fuzzy, no-c-format
+ msgid "Interface '%s' at %C may not be a statement function"
+ msgstr "¥³¥ó¥¹¥È¥é¥¯¥¿¤òÀÅŪ¥á¥ó¥Ð´Ø¿ô¤È¤¹¤ë¤³¤È¤Ï¤Ç¤­¤Þ¤»¤ó"
+
+-#: fortran/decl.c:3967
++#: fortran/decl.c:4082
+ #, no-c-format
+ msgid "Intrinsic procedure '%s' not allowed in PROCEDURE statement at %C"
+ msgstr ""
+
+-#: fortran/decl.c:3975
++#: fortran/decl.c:4118
+ #, no-c-format
+-msgid "Fortran 2003: Support for intrinsic procedure '%s' in PROCEDURE statement at %C not yet implemented in gfortran"
+-msgstr ""
+-
+-#: fortran/decl.c:4014
+-#, no-c-format
+ msgid "BIND(C) attribute at %C requires an interface with BIND(C)"
+ msgstr ""
+
+-#: fortran/decl.c:4021
++#: fortran/decl.c:4125
+ #, no-c-format
+ msgid "BIND(C) procedure with NAME may not have POINTER attribute at %C"
+ msgstr ""
+
+-#: fortran/decl.c:4027
++#: fortran/decl.c:4131
+ #, no-c-format
+ msgid "Dummy procedure at %C may not have BIND(C) attribute with NAME"
+ msgstr ""
+
+-#: fortran/decl.c:4060 fortran/decl.c:4103
++#: fortran/decl.c:4167 fortran/decl.c:4210
+ #, no-c-format
+ msgid "Syntax error in PROCEDURE statement at %C"
+ msgstr ""
+
+-#: fortran/decl.c:4077
++#: fortran/decl.c:4184
+ #, no-c-format
+ msgid "PROCEDURE at %C must be in a generic interface"
+ msgstr ""
+
+-#: fortran/decl.c:4128
++#: fortran/decl.c:4235
+ #, no-c-format
+ msgid "Fortran 2003: Procedure components at %C are not yet implemented in gfortran"
+ msgstr ""
+
+-#: fortran/decl.c:4138
++#: fortran/decl.c:4245
+ #, no-c-format
+ msgid "Fortran 2003: PROCEDURE statement at %C"
+ msgstr ""
+
+-#: fortran/decl.c:4186
++#: fortran/decl.c:4293
+ #, no-c-format
+ msgid "Expected formal argument list in function definition at %C"
+ msgstr ""
+
+-#: fortran/decl.c:4210 fortran/decl.c:4214 fortran/decl.c:4536
+-#: fortran/decl.c:4540 fortran/symbol.c:1402
++#: fortran/decl.c:4317 fortran/decl.c:4321 fortran/decl.c:4520
++#: fortran/decl.c:4524 fortran/decl.c:4702 fortran/decl.c:4706
++#: fortran/symbol.c:1402
+ #, no-c-format
+ msgid "BIND(C) attribute at %L can only be used for variables or common blocks"
+ msgstr ""
+
+-#: fortran/decl.c:4246
++#: fortran/decl.c:4353
+ #, fuzzy, no-c-format
+ msgid "Function '%s' at %C already has a type of %s"
+ msgstr "´Ø¿ô¤Î³«»Ï°ÌÃÖ¤ò¤³¤ÎÃͤÎÆó¾è¤Ë¥¢¥é¥¤¥ó¥á¥ó¥È¤¹¤ë"
+
+-#: fortran/decl.c:4322
++#: fortran/decl.c:4441
+ #, no-c-format
+ msgid "ENTRY statement at %C cannot appear within a PROGRAM"
+ msgstr ""
+
+-#: fortran/decl.c:4325
++#: fortran/decl.c:4444
+ #, no-c-format
+ msgid "ENTRY statement at %C cannot appear within a MODULE"
+ msgstr ""
+
+-#: fortran/decl.c:4328
++#: fortran/decl.c:4447
+ #, no-c-format
+ msgid "ENTRY statement at %C cannot appear within a BLOCK DATA"
+ msgstr ""
+
+-#: fortran/decl.c:4332
++#: fortran/decl.c:4451
+ #, no-c-format
+ msgid "ENTRY statement at %C cannot appear within an INTERFACE"
+ msgstr ""
+
+-#: fortran/decl.c:4336
++#: fortran/decl.c:4455
+ #, no-c-format
+ msgid "ENTRY statement at %C cannot appear within a DERIVED TYPE block"
+ msgstr ""
+
+-#: fortran/decl.c:4340
++#: fortran/decl.c:4459
+ #, no-c-format
+ msgid "ENTRY statement at %C cannot appear within an IF-THEN block"
+ msgstr ""
+
+-#: fortran/decl.c:4344
++#: fortran/decl.c:4463
+ #, no-c-format
+ msgid "ENTRY statement at %C cannot appear within a DO block"
+ msgstr ""
+
+-#: fortran/decl.c:4348
++#: fortran/decl.c:4467
+ #, no-c-format
+ msgid "ENTRY statement at %C cannot appear within a SELECT block"
+ msgstr ""
+
+-#: fortran/decl.c:4352
++#: fortran/decl.c:4471
+ #, no-c-format
+ msgid "ENTRY statement at %C cannot appear within a FORALL block"
+ msgstr ""
+
+-#: fortran/decl.c:4356
++#: fortran/decl.c:4475
+ #, no-c-format
+ msgid "ENTRY statement at %C cannot appear within a WHERE block"
+ msgstr ""
+
+-#: fortran/decl.c:4360
++#: fortran/decl.c:4479
+ #, no-c-format
+ msgid "ENTRY statement at %C cannot appear within a contained subprogram"
+ msgstr ""
+
+-#: fortran/decl.c:4378
++#: fortran/decl.c:4497
+ #, no-c-format
+ msgid "ENTRY statement at %C cannot appear in a contained procedure"
+ msgstr ""
+
+-#: fortran/decl.c:4560
++#: fortran/decl.c:4552 fortran/decl.c:4742
+ #, no-c-format
+ msgid "Missing required parentheses before BIND(C) at %C"
+ msgstr ""
+
+-#: fortran/decl.c:4618 fortran/decl.c:4634
++#: fortran/decl.c:4801 fortran/decl.c:4817
+ #, no-c-format
+ msgid "Syntax error in NAME= specifier for binding label at %C"
+ msgstr ""
+
+-#: fortran/decl.c:4649
++#: fortran/decl.c:4832
+ #, no-c-format
+ msgid "Missing closing quote '\"' for binding label at %C"
+ msgstr ""
+
+-#: fortran/decl.c:4658
++#: fortran/decl.c:4841
+ #, no-c-format
+ msgid "Missing closing quote ''' for binding label at %C"
+ msgstr ""
+
+-#: fortran/decl.c:4668
++#: fortran/decl.c:4851
+ #, no-c-format
+ msgid "Missing closing paren for binding label at %C"
+ msgstr ""
+
+-#: fortran/decl.c:4703
++#: fortran/decl.c:4857
+ #, no-c-format
++msgid "No binding name is allowed in BIND(C) at %C"
++msgstr ""
++
++#: fortran/decl.c:4863
++#, no-c-format
++msgid "For dummy procedure %s, no binding name is allowed in BIND(C) at %C"
++msgstr ""
++
++#: fortran/decl.c:4894
++#, no-c-format
+ msgid "NAME not allowed on BIND(C) for ABSTRACT INTERFACE at %C"
+ msgstr ""
+
+-#: fortran/decl.c:4876
++#: fortran/decl.c:5066
+ #, no-c-format
+ msgid "Unexpected END statement at %C"
+ msgstr ""
+
+ #. We would have required END [something].
+-#: fortran/decl.c:4885
++#: fortran/decl.c:5075
+ #, no-c-format
+ msgid "%s statement expected at %L"
+ msgstr ""
+
+-#: fortran/decl.c:4896
++#: fortran/decl.c:5086
+ #, no-c-format
+ msgid "Expecting %s statement at %C"
+ msgstr ""
+
+-#: fortran/decl.c:4911
++#: fortran/decl.c:5101
+ #, fuzzy, no-c-format
+ msgid "Expected block name of '%s' in %s statement at %C"
+ msgstr "switch ʸ¤ÎÃæ¤Ç¥é¥Ù¥ë `%s' ¤¬½ÅÊ£¤·¤Æ¤¤¤Þ¤¹"
+
+-#: fortran/decl.c:4928
++#: fortran/decl.c:5118
+ #, fuzzy, no-c-format
+ msgid "Expected terminating name at %C"
+ msgstr "¹ÔÈÖ¹æ %u ¤ËÌá¤ë¤Ï¤º¤Ç¤·¤¿"
+
+-#: fortran/decl.c:4937
++#: fortran/decl.c:5127
+ #, fuzzy, no-c-format
+ msgid "Expected label '%s' for %s statement at %C"
+ msgstr "switch ʸ¤ÎÃæ¤Ç¥é¥Ù¥ë `%s' ¤¬½ÅÊ£¤·¤Æ¤¤¤Þ¤¹"
+
+-#: fortran/decl.c:4991
++#: fortran/decl.c:5181
+ #, no-c-format
+ msgid "Missing array specification at %L in DIMENSION statement"
+ msgstr ""
+
+-#: fortran/decl.c:5000
++#: fortran/decl.c:5189
+ #, no-c-format
++msgid "Dimensions specified for %s at %L after its initialisation"
++msgstr ""
++
++#: fortran/decl.c:5198
++#, no-c-format
+ msgid "Array specification must be deferred at %L"
+ msgstr ""
+
+-#: fortran/decl.c:5077
++#: fortran/decl.c:5275
+ #, no-c-format
+ msgid "Unexpected character in variable list at %C"
+ msgstr ""
+
+-#: fortran/decl.c:5114
++#: fortran/decl.c:5312
+ #, no-c-format
+ msgid "Expected '(' at %C"
+ msgstr ""
+
+-#: fortran/decl.c:5128 fortran/decl.c:5168
++#: fortran/decl.c:5326 fortran/decl.c:5366
+ #, no-c-format
+ msgid "Expected variable name at %C"
+ msgstr ""
+
+-#: fortran/decl.c:5144
++#: fortran/decl.c:5342
+ #, fuzzy, no-c-format
+ msgid "Cray pointer at %C must be an integer"
+ msgstr "½Ò¸ì¤Ï¼±Ê̻ҤǤʤ±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó"
+
+-#: fortran/decl.c:5148
++#: fortran/decl.c:5346
+ #, no-c-format
+ msgid "Cray pointer at %C has %d bytes of precision; memory addresses require %d bytes"
+ msgstr ""
+
+-#: fortran/decl.c:5154
++#: fortran/decl.c:5352
+ #, no-c-format
+ msgid "Expected \",\" at %C"
+ msgstr ""
+
+-#: fortran/decl.c:5217
++#: fortran/decl.c:5415
+ #, no-c-format
+ msgid "Expected \")\" at %C"
+ msgstr ""
+
+-#: fortran/decl.c:5229
++#: fortran/decl.c:5427
+ #, no-c-format
+ msgid "Expected \",\" or end of statement at %C"
+ msgstr ""
+
+-#: fortran/decl.c:5293
++#: fortran/decl.c:5491
+ #, no-c-format
+ msgid "Cray pointer declaration at %C requires -fcray-pointer flag"
+ msgstr ""
+
+-#: fortran/decl.c:5388
++#: fortran/decl.c:5586
+ #, no-c-format
+ msgid "Access specification of the %s operator at %C has already been specified"
+ msgstr ""
+
+-#: fortran/decl.c:5405
++#: fortran/decl.c:5603
+ #, no-c-format
+ msgid "Access specification of the .%s. operator at %C has already been specified"
+ msgstr ""
+
+-#: fortran/decl.c:5443
++#: fortran/decl.c:5641
+ #, no-c-format
+ msgid "Fortran 2003: PROTECTED statement at %C"
+ msgstr ""
+
+-#: fortran/decl.c:5483
++#: fortran/decl.c:5681
+ #, no-c-format
+ msgid "Syntax error in PROTECTED statement at %C"
+ msgstr ""
+
+-#: fortran/decl.c:5504
++#: fortran/decl.c:5702
+ #, no-c-format
+ msgid "PRIVATE statement at %C is only allowed in the specification part of a module"
+ msgstr ""
+
+-#: fortran/decl.c:5541
++#: fortran/decl.c:5739
+ #, no-c-format
+ msgid "PUBLIC statement at %C is only allowed in the specification part of a module"
+ msgstr ""
+
+-#: fortran/decl.c:5568
++#: fortran/decl.c:5766
+ #, no-c-format
+ msgid "Expected variable name at %C in PARAMETER statement"
+ msgstr ""
+
+-#: fortran/decl.c:5575
++#: fortran/decl.c:5773
+ #, no-c-format
+ msgid "Expected = sign in PARAMETER statement at %C"
+ msgstr ""
+
+-#: fortran/decl.c:5581
++#: fortran/decl.c:5779
+ #, no-c-format
+ msgid "Expected expression at %C in PARAMETER statement"
+ msgstr ""
+
+-#: fortran/decl.c:5639
++#: fortran/decl.c:5799
++#, fuzzy, no-c-format
++msgid "Initializing already initialized variable at %C"
++msgstr "ÇÛÎó¤ò²¾°ú¿ô¥ê¥¹¥È¤Ë¤è¤Ã¤Æ½é´ü²½¤·¤è¤¦¤È¤·¤Æ¤¤¤Þ¤¹"
++
++#: fortran/decl.c:5844
+ #, no-c-format
+ msgid "Unexpected characters in PARAMETER statement at %C"
+ msgstr ""
+
+-#: fortran/decl.c:5663
++#: fortran/decl.c:5868
+ #, no-c-format
+ msgid "Blanket SAVE statement at %C follows previous SAVE statement"
+ msgstr ""
+
+-#: fortran/decl.c:5675
++#: fortran/decl.c:5880
+ #, no-c-format
+ msgid "SAVE statement at %C follows blanket SAVE statement"
+ msgstr ""
+
+-#: fortran/decl.c:5722
++#: fortran/decl.c:5927
+ #, no-c-format
+ msgid "Syntax error in SAVE statement at %C"
+ msgstr ""
+
+-#: fortran/decl.c:5733
++#: fortran/decl.c:5938
+ #, no-c-format
+ msgid "Fortran 2003: VALUE statement at %C"
+ msgstr ""
+
+-#: fortran/decl.c:5773
++#: fortran/decl.c:5978
+ #, no-c-format
+ msgid "Syntax error in VALUE statement at %C"
+ msgstr ""
+
+-#: fortran/decl.c:5784
++#: fortran/decl.c:5989
+ #, no-c-format
+ msgid "Fortran 2003: VOLATILE statement at %C"
+ msgstr ""
+
+-#: fortran/decl.c:5826
++#: fortran/decl.c:6031
+ #, no-c-format
+ msgid "Syntax error in VOLATILE statement at %C"
+ msgstr ""
+
+-#: fortran/decl.c:5848
++#: fortran/decl.c:6054
+ #, no-c-format
+ msgid "MODULE PROCEDURE at %C must be in a generic module interface"
+ msgstr ""
+
+-#: fortran/decl.c:5910
++#: fortran/decl.c:6142
+ #, no-c-format
+ msgid "Derived type at %C can only be PRIVATE in the specification part of a module"
+ msgstr ""
+
+-#: fortran/decl.c:5922
++#: fortran/decl.c:6154
+ #, no-c-format
+ msgid "Derived type at %C can only be PUBLIC in the specification part of a module"
+ msgstr ""
+
+-#: fortran/decl.c:5979
++#: fortran/decl.c:6211
+ #, no-c-format
+ msgid "Expected :: in TYPE definition at %C"
+ msgstr ""
+
+-#: fortran/decl.c:5990
++#: fortran/decl.c:6222
+ #, no-c-format
+ msgid "Type name '%s' at %C cannot be the same as an intrinsic type"
+ msgstr ""
+
+-#: fortran/decl.c:6000
++#: fortran/decl.c:6232
+ #, no-c-format
+ msgid "Derived type name '%s' at %C already has a basic type of %s"
+ msgstr ""
+
+-#: fortran/decl.c:6016
++#: fortran/decl.c:6248
+ #, no-c-format
+ msgid "Derived type definition of '%s' at %C has already been defined"
+ msgstr ""
+
+-#: fortran/decl.c:6054
++#: fortran/decl.c:6286
+ #, no-c-format
+ msgid "Cray Pointee at %C cannot be assumed shape array"
+ msgstr ""
+
+-#: fortran/decl.c:6074
++#: fortran/decl.c:6306
+ #, no-c-format
+ msgid "Fortran 2003: ENUM and ENUMERATOR at %C"
+ msgstr ""
+
+-#: fortran/decl.c:6146
++#: fortran/decl.c:6378
+ #, no-c-format
+ msgid "ENUMERATOR %L not initialized with integer expression"
+ msgstr ""
+
+-#: fortran/decl.c:6195
++#: fortran/decl.c:6427
+ #, fuzzy, no-c-format
+ msgid "ENUM definition statement expected before %C"
+ msgstr "`*' ¤ÎÁ°¤Ë·¿¤Î̾Á°¤¬¤¢¤ë¤Ù¤­¤Ç¤¹"
+
+-#: fortran/decl.c:6228
++#: fortran/decl.c:6460
+ #, no-c-format
+ msgid "Syntax error in ENUMERATOR definition at %C"
+ msgstr ""
+@@ -5265,21 +5216,21 @@
+ msgid " "
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:73 fortran/dump-parse-tree.c:626
++#: fortran/dump-parse-tree.c:73 fortran/dump-parse-tree.c:637
+ #, fuzzy, c-format
+ msgid "(%s "
+ msgstr "%s "
+
+-#: fortran/dump-parse-tree.c:86 fortran/dump-parse-tree.c:1069
+-#: fortran/dump-parse-tree.c:1113 fortran/dump-parse-tree.c:1123
++#: fortran/dump-parse-tree.c:86 fortran/dump-parse-tree.c:1091
++#: fortran/dump-parse-tree.c:1135 fortran/dump-parse-tree.c:1145
+ #, c-format
+ msgid "%d"
+ msgstr ""
+
+ #: fortran/dump-parse-tree.c:90 fortran/dump-parse-tree.c:116
+ #: fortran/dump-parse-tree.c:159 fortran/dump-parse-tree.c:395
+-#: fortran/dump-parse-tree.c:518 fortran/dump-parse-tree.c:613
+-#: fortran/dump-parse-tree.c:636
++#: fortran/dump-parse-tree.c:518 fortran/dump-parse-tree.c:624
++#: fortran/dump-parse-tree.c:647
+ #, c-format
+ msgid ")"
+ msgstr ""
+@@ -5417,7 +5368,7 @@
+ msgid "%.2x"
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:429 fortran/dump-parse-tree.c:732
++#: fortran/dump-parse-tree.c:429 fortran/dump-parse-tree.c:754
+ #, fuzzy, c-format
+ msgid "%s:"
+ msgstr "%s"
+@@ -5532,750 +5483,755 @@
+ msgid "%s[["
+ msgstr "%s"
+
+-#: fortran/dump-parse-tree.c:551
++#: fortran/dump-parse-tree.c:560
+ #, c-format
+ msgid "(%s %s %s %s %s"
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:558
++#: fortran/dump-parse-tree.c:567
+ #, c-format
+ msgid " ALLOCATABLE"
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:560 fortran/dump-parse-tree.c:631
++#: fortran/dump-parse-tree.c:569 fortran/dump-parse-tree.c:642
+ #, c-format
+ msgid " DIMENSION"
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:562
++#: fortran/dump-parse-tree.c:571
+ #, c-format
+ msgid " EXTERNAL"
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:564
++#: fortran/dump-parse-tree.c:573
+ #, c-format
+ msgid " INTRINSIC"
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:566
++#: fortran/dump-parse-tree.c:575
+ #, c-format
+ msgid " OPTIONAL"
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:568 fortran/dump-parse-tree.c:629
++#: fortran/dump-parse-tree.c:577 fortran/dump-parse-tree.c:640
+ #, c-format
+ msgid " POINTER"
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:570
++#: fortran/dump-parse-tree.c:579
+ #, c-format
+ msgid " PROTECTED"
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:572
++#: fortran/dump-parse-tree.c:581
+ #, c-format
+ msgid " VALUE"
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:574
++#: fortran/dump-parse-tree.c:583
+ #, c-format
+ msgid " VOLATILE"
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:576
++#: fortran/dump-parse-tree.c:585
+ #, c-format
+ msgid " THREADPRIVATE"
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:578
++#: fortran/dump-parse-tree.c:587
+ #, c-format
+ msgid " TARGET"
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:580
++#: fortran/dump-parse-tree.c:589
+ #, c-format
+ msgid " DUMMY"
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:582
++#: fortran/dump-parse-tree.c:591
+ #, c-format
+ msgid " RESULT"
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:584
++#: fortran/dump-parse-tree.c:593
+ #, c-format
+ msgid " ENTRY"
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:587
++#: fortran/dump-parse-tree.c:595
+ #, c-format
++msgid " BIND(C)"
++msgstr ""
++
++#: fortran/dump-parse-tree.c:598
++#, c-format
+ msgid " DATA"
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:589
++#: fortran/dump-parse-tree.c:600
+ #, c-format
+ msgid " USE-ASSOC"
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:591
++#: fortran/dump-parse-tree.c:602
+ #, c-format
+ msgid " IN-NAMELIST"
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:593
++#: fortran/dump-parse-tree.c:604
+ #, c-format
+ msgid " IN-COMMON"
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:596
++#: fortran/dump-parse-tree.c:607
+ #, c-format
+ msgid " ABSTRACT INTERFACE"
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:598
++#: fortran/dump-parse-tree.c:609
+ #, fuzzy, c-format
+ msgid " FUNCTION"
+ msgstr "FUNCTION_EPILOGUE ¤ò»ÈÍѤ¹¤ë"
+
+-#: fortran/dump-parse-tree.c:600
++#: fortran/dump-parse-tree.c:611
+ #, c-format
+ msgid " SUBROUTINE"
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:602
++#: fortran/dump-parse-tree.c:613
+ #, c-format
+ msgid " IMPLICIT-TYPE"
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:605
++#: fortran/dump-parse-tree.c:616
+ #, c-format
+ msgid " SEQUENCE"
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:607
++#: fortran/dump-parse-tree.c:618
+ #, c-format
+ msgid " ELEMENTAL"
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:609
++#: fortran/dump-parse-tree.c:620
+ #, c-format
+ msgid " PURE"
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:611
++#: fortran/dump-parse-tree.c:622
+ #, c-format
+ msgid " RECURSIVE"
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:635 fortran/dump-parse-tree.c:682
+-#: fortran/dump-parse-tree.c:706 fortran/dump-parse-tree.c:735
+-#: fortran/dump-parse-tree.c:1276 fortran/dump-parse-tree.c:1282
+-#: fortran/dump-parse-tree.c:1784
++#: fortran/dump-parse-tree.c:646 fortran/dump-parse-tree.c:693
++#: fortran/dump-parse-tree.c:717 fortran/dump-parse-tree.c:757
++#: fortran/dump-parse-tree.c:1298 fortran/dump-parse-tree.c:1304
++#: fortran/dump-parse-tree.c:1806
+ #, c-format
+ msgid " %s"
+ msgstr " %s"
+
+-#: fortran/dump-parse-tree.c:659
++#: fortran/dump-parse-tree.c:670
+ #, c-format
+ msgid "symbol %s "
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:666
++#: fortran/dump-parse-tree.c:677
+ #, c-format
+ msgid "value: "
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:673
++#: fortran/dump-parse-tree.c:684
+ #, c-format
+ msgid "Array spec:"
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:680
++#: fortran/dump-parse-tree.c:691
+ #, fuzzy, c-format
+ msgid "Generic interfaces:"
+ msgstr "Cygwin ¥¤¥ó¥¿¡¼¥Õ¥§¥¤¥¹¤ò»ÈÍѤ¹¤ë"
+
+-#: fortran/dump-parse-tree.c:688
++#: fortran/dump-parse-tree.c:699
+ #, fuzzy, c-format
+ msgid "result: %s"
+ msgstr "%s: %s"
+
+-#: fortran/dump-parse-tree.c:694
++#: fortran/dump-parse-tree.c:705
+ #, c-format
+ msgid "components: "
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:701
++#: fortran/dump-parse-tree.c:712
+ #, c-format
+ msgid "Formal arglist:"
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:708
++#: fortran/dump-parse-tree.c:719
+ #, c-format
+ msgid " [Alt Return]"
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:715
++#: fortran/dump-parse-tree.c:726
+ #, fuzzy, c-format
+ msgid "Formal namespace"
+ msgstr "ÉÔÌÀ¤Ê #pragma namespace %s ¤Ç¤¹"
+
+-#: fortran/dump-parse-tree.c:771
++#: fortran/dump-parse-tree.c:793
+ #, c-format
+ msgid "common: /%s/ "
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:779 fortran/dump-parse-tree.c:1720
++#: fortran/dump-parse-tree.c:801 fortran/dump-parse-tree.c:1742
+ #, c-format
+ msgid ", "
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:791
++#: fortran/dump-parse-tree.c:813
+ #, c-format
+ msgid "symtree: %s Ambig %d"
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:794
++#: fortran/dump-parse-tree.c:816
+ #, fuzzy, c-format
+ msgid " from namespace %s"
+ msgstr "ÉÔÌÀ¤Ê #pragma namespace %s ¤Ç¤¹"
+
+-#: fortran/dump-parse-tree.c:820
++#: fortran/dump-parse-tree.c:842
+ #, fuzzy, c-format
+ msgid "%s,"
+ msgstr "%s"
+
+-#: fortran/dump-parse-tree.c:852
++#: fortran/dump-parse-tree.c:874
+ #, c-format
+ msgid "!$OMP %s"
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:867 fortran/dump-parse-tree.c:1010
++#: fortran/dump-parse-tree.c:889 fortran/dump-parse-tree.c:1032
+ #, fuzzy, c-format
+ msgid " (%s)"
+ msgstr " %s"
+
+-#: fortran/dump-parse-tree.c:872
++#: fortran/dump-parse-tree.c:894
+ #, c-format
+ msgid " ("
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:888
++#: fortran/dump-parse-tree.c:910
+ #, c-format
+ msgid " IF("
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:894
++#: fortran/dump-parse-tree.c:916
+ #, c-format
+ msgid " NUM_THREADS("
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:910
++#: fortran/dump-parse-tree.c:932
+ #, c-format
+ msgid " SCHEDULE (%s"
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:930
++#: fortran/dump-parse-tree.c:952
+ #, c-format
+ msgid " DEFAULT(%s)"
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:933
++#: fortran/dump-parse-tree.c:955
+ #, c-format
+ msgid " ORDERED"
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:958
++#: fortran/dump-parse-tree.c:980
+ #, c-format
+ msgid " REDUCTION(%s:"
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:972
++#: fortran/dump-parse-tree.c:994
+ #, fuzzy, c-format
+ msgid " %s("
+ msgstr " %s"
+
+-#: fortran/dump-parse-tree.c:988
++#: fortran/dump-parse-tree.c:1010
+ #, c-format
+ msgid "!$OMP SECTION\n"
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:997
++#: fortran/dump-parse-tree.c:1019
+ #, c-format
+ msgid "!$OMP END %s"
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:1002
++#: fortran/dump-parse-tree.c:1024
+ #, c-format
+ msgid " COPYPRIVATE("
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:1007
++#: fortran/dump-parse-tree.c:1029
+ #, c-format
+ msgid " NOWAIT"
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:1034
++#: fortran/dump-parse-tree.c:1056
+ #, c-format
+ msgid "NOP"
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:1038
++#: fortran/dump-parse-tree.c:1060
+ #, c-format
+ msgid "CONTINUE"
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:1042
++#: fortran/dump-parse-tree.c:1064
+ #, c-format
+ msgid "ENTRY %s"
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:1047
++#: fortran/dump-parse-tree.c:1069
+ #, c-format
+ msgid "ASSIGN "
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:1054
++#: fortran/dump-parse-tree.c:1076
+ #, c-format
+ msgid "LABEL ASSIGN "
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:1056
++#: fortran/dump-parse-tree.c:1078
+ #, fuzzy, c-format
+ msgid " %d"
+ msgstr " %s"
+
+-#: fortran/dump-parse-tree.c:1060
++#: fortran/dump-parse-tree.c:1082
+ #, c-format
+ msgid "POINTER ASSIGN "
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:1067
++#: fortran/dump-parse-tree.c:1089
+ #, c-format
+ msgid "GOTO "
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:1076
++#: fortran/dump-parse-tree.c:1098
+ #, c-format
+ msgid ", ("
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:1092 fortran/dump-parse-tree.c:1094
++#: fortran/dump-parse-tree.c:1114 fortran/dump-parse-tree.c:1116
+ #, c-format
+ msgid "CALL %s "
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:1096
++#: fortran/dump-parse-tree.c:1118
+ #, c-format
+ msgid "CALL ?? "
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:1102
++#: fortran/dump-parse-tree.c:1124
+ #, c-format
+ msgid "RETURN "
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:1108
++#: fortran/dump-parse-tree.c:1130
+ #, c-format
+ msgid "PAUSE "
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:1118
++#: fortran/dump-parse-tree.c:1140
+ #, c-format
+ msgid "STOP "
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:1128 fortran/dump-parse-tree.c:1136
++#: fortran/dump-parse-tree.c:1150 fortran/dump-parse-tree.c:1158
+ #, c-format
+ msgid "IF "
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:1130
++#: fortran/dump-parse-tree.c:1152
+ #, c-format
+ msgid " %d, %d, %d"
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:1147
++#: fortran/dump-parse-tree.c:1169
+ #, c-format
+ msgid "ELSE\n"
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:1150
++#: fortran/dump-parse-tree.c:1172
+ #, c-format
+ msgid "ELSE IF "
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:1160
++#: fortran/dump-parse-tree.c:1182
+ #, c-format
+ msgid "ENDIF"
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:1165
++#: fortran/dump-parse-tree.c:1187
+ #, c-format
+ msgid "SELECT CASE "
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:1173
++#: fortran/dump-parse-tree.c:1195
+ #, c-format
+ msgid "CASE "
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:1189
++#: fortran/dump-parse-tree.c:1211
+ #, c-format
+ msgid "END SELECT"
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:1193
++#: fortran/dump-parse-tree.c:1215
+ #, c-format
+ msgid "WHERE "
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:1204
++#: fortran/dump-parse-tree.c:1226
+ #, c-format
+ msgid "ELSE WHERE "
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:1211
++#: fortran/dump-parse-tree.c:1233
+ #, c-format
+ msgid "END WHERE"
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:1216
++#: fortran/dump-parse-tree.c:1238
+ #, c-format
+ msgid "FORALL "
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:1241
++#: fortran/dump-parse-tree.c:1263
+ #, c-format
+ msgid "END FORALL"
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:1245
++#: fortran/dump-parse-tree.c:1267
+ #, c-format
+ msgid "DO "
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:1259 fortran/dump-parse-tree.c:1270
++#: fortran/dump-parse-tree.c:1281 fortran/dump-parse-tree.c:1292
+ #, c-format
+ msgid "END DO"
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:1263
++#: fortran/dump-parse-tree.c:1285
+ #, c-format
+ msgid "DO WHILE "
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:1274
++#: fortran/dump-parse-tree.c:1296
+ #, c-format
+ msgid "CYCLE"
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:1280
++#: fortran/dump-parse-tree.c:1302
+ #, c-format
+ msgid "EXIT"
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:1286
++#: fortran/dump-parse-tree.c:1308
+ #, c-format
+ msgid "ALLOCATE "
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:1289 fortran/dump-parse-tree.c:1305
++#: fortran/dump-parse-tree.c:1311 fortran/dump-parse-tree.c:1327
+ #, c-format
+ msgid " STAT="
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:1302
++#: fortran/dump-parse-tree.c:1324
+ #, c-format
+ msgid "DEALLOCATE "
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:1318
++#: fortran/dump-parse-tree.c:1340
+ #, c-format
+ msgid "OPEN"
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:1323 fortran/dump-parse-tree.c:1402
+-#: fortran/dump-parse-tree.c:1444 fortran/dump-parse-tree.c:1467
+-#: fortran/dump-parse-tree.c:1619
++#: fortran/dump-parse-tree.c:1345 fortran/dump-parse-tree.c:1424
++#: fortran/dump-parse-tree.c:1466 fortran/dump-parse-tree.c:1489
++#: fortran/dump-parse-tree.c:1641
+ #, c-format
+ msgid " UNIT="
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:1328 fortran/dump-parse-tree.c:1407
+-#: fortran/dump-parse-tree.c:1449 fortran/dump-parse-tree.c:1478
+-#: fortran/dump-parse-tree.c:1636
++#: fortran/dump-parse-tree.c:1350 fortran/dump-parse-tree.c:1429
++#: fortran/dump-parse-tree.c:1471 fortran/dump-parse-tree.c:1500
++#: fortran/dump-parse-tree.c:1658
+ #, c-format
+ msgid " IOMSG="
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:1333 fortran/dump-parse-tree.c:1412
+-#: fortran/dump-parse-tree.c:1454 fortran/dump-parse-tree.c:1483
+-#: fortran/dump-parse-tree.c:1641
++#: fortran/dump-parse-tree.c:1355 fortran/dump-parse-tree.c:1434
++#: fortran/dump-parse-tree.c:1476 fortran/dump-parse-tree.c:1505
++#: fortran/dump-parse-tree.c:1663
+ #, c-format
+ msgid " IOSTAT="
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:1338 fortran/dump-parse-tree.c:1472
++#: fortran/dump-parse-tree.c:1360 fortran/dump-parse-tree.c:1494
+ #, c-format
+ msgid " FILE="
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:1343 fortran/dump-parse-tree.c:1417
++#: fortran/dump-parse-tree.c:1365 fortran/dump-parse-tree.c:1439
+ #, c-format
+ msgid " STATUS="
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:1348 fortran/dump-parse-tree.c:1513
++#: fortran/dump-parse-tree.c:1370 fortran/dump-parse-tree.c:1535
+ #, c-format
+ msgid " ACCESS="
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:1353 fortran/dump-parse-tree.c:1529
++#: fortran/dump-parse-tree.c:1375 fortran/dump-parse-tree.c:1551
+ #, c-format
+ msgid " FORM="
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:1358 fortran/dump-parse-tree.c:1544
++#: fortran/dump-parse-tree.c:1380 fortran/dump-parse-tree.c:1566
+ #, c-format
+ msgid " RECL="
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:1363 fortran/dump-parse-tree.c:1554
++#: fortran/dump-parse-tree.c:1385 fortran/dump-parse-tree.c:1576
+ #, c-format
+ msgid " BLANK="
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:1368 fortran/dump-parse-tree.c:1559
++#: fortran/dump-parse-tree.c:1390 fortran/dump-parse-tree.c:1581
+ #, c-format
+ msgid " POSITION="
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:1373 fortran/dump-parse-tree.c:1564
++#: fortran/dump-parse-tree.c:1395 fortran/dump-parse-tree.c:1586
+ #, c-format
+ msgid " ACTION="
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:1378 fortran/dump-parse-tree.c:1584
++#: fortran/dump-parse-tree.c:1400 fortran/dump-parse-tree.c:1606
+ #, c-format
+ msgid " DELIM="
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:1383 fortran/dump-parse-tree.c:1589
++#: fortran/dump-parse-tree.c:1405 fortran/dump-parse-tree.c:1611
+ #, c-format
+ msgid " PAD="
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:1388 fortran/dump-parse-tree.c:1594
++#: fortran/dump-parse-tree.c:1410 fortran/dump-parse-tree.c:1616
+ #, c-format
+ msgid " CONVERT="
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:1392 fortran/dump-parse-tree.c:1421
+-#: fortran/dump-parse-tree.c:1458 fortran/dump-parse-tree.c:1599
+-#: fortran/dump-parse-tree.c:1676
++#: fortran/dump-parse-tree.c:1414 fortran/dump-parse-tree.c:1443
++#: fortran/dump-parse-tree.c:1480 fortran/dump-parse-tree.c:1621
++#: fortran/dump-parse-tree.c:1698
+ #, c-format
+ msgid " ERR=%d"
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:1397
++#: fortran/dump-parse-tree.c:1419
+ #, c-format
+ msgid "CLOSE"
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:1425
++#: fortran/dump-parse-tree.c:1447
+ #, c-format
+ msgid "BACKSPACE"
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:1429
++#: fortran/dump-parse-tree.c:1451
+ #, c-format
+ msgid "ENDFILE"
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:1433
++#: fortran/dump-parse-tree.c:1455
+ #, c-format
+ msgid "REWIND"
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:1437
++#: fortran/dump-parse-tree.c:1459
+ #, c-format
+ msgid "FLUSH"
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:1462
++#: fortran/dump-parse-tree.c:1484
+ #, c-format
+ msgid "INQUIRE"
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:1488
++#: fortran/dump-parse-tree.c:1510
+ #, c-format
+ msgid " EXIST="
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:1493
++#: fortran/dump-parse-tree.c:1515
+ #, c-format
+ msgid " OPENED="
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:1498
++#: fortran/dump-parse-tree.c:1520
+ #, c-format
+ msgid " NUMBER="
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:1503
++#: fortran/dump-parse-tree.c:1525
+ #, c-format
+ msgid " NAMED="
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:1508
++#: fortran/dump-parse-tree.c:1530
+ #, c-format
+ msgid " NAME="
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:1518
++#: fortran/dump-parse-tree.c:1540
+ #, c-format
+ msgid " SEQUENTIAL="
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:1524
++#: fortran/dump-parse-tree.c:1546
+ #, c-format
+ msgid " DIRECT="
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:1534
++#: fortran/dump-parse-tree.c:1556
+ #, c-format
+ msgid " FORMATTED"
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:1539
++#: fortran/dump-parse-tree.c:1561
+ #, c-format
+ msgid " UNFORMATTED="
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:1549
++#: fortran/dump-parse-tree.c:1571
+ #, c-format
+ msgid " NEXTREC="
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:1569
++#: fortran/dump-parse-tree.c:1591
+ #, c-format
+ msgid " READ="
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:1574
++#: fortran/dump-parse-tree.c:1596
+ #, c-format
+ msgid " WRITE="
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:1579
++#: fortran/dump-parse-tree.c:1601
+ #, c-format
+ msgid " READWRITE="
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:1603
++#: fortran/dump-parse-tree.c:1625
+ #, c-format
+ msgid "IOLENGTH "
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:1609
++#: fortran/dump-parse-tree.c:1631
+ #, c-format
+ msgid "READ"
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:1613
++#: fortran/dump-parse-tree.c:1635
+ #, c-format
+ msgid "WRITE"
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:1625
++#: fortran/dump-parse-tree.c:1647
+ #, c-format
+ msgid " FMT="
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:1630
++#: fortran/dump-parse-tree.c:1652
+ #, c-format
+ msgid " FMT=%d"
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:1632
++#: fortran/dump-parse-tree.c:1654
+ #, fuzzy, c-format
+ msgid " NML=%s"
+ msgstr " %s"
+
+-#: fortran/dump-parse-tree.c:1646
++#: fortran/dump-parse-tree.c:1668
+ #, c-format
+ msgid " SIZE="
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:1651
++#: fortran/dump-parse-tree.c:1673
+ #, c-format
+ msgid " REC="
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:1656
++#: fortran/dump-parse-tree.c:1678
+ #, c-format
+ msgid " ADVANCE="
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:1667
++#: fortran/dump-parse-tree.c:1689
+ #, c-format
+ msgid "TRANSFER "
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:1672
++#: fortran/dump-parse-tree.c:1694
+ #, c-format
+ msgid "DT_END"
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:1678
++#: fortran/dump-parse-tree.c:1700
+ #, c-format
+ msgid " END=%d"
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:1680
++#: fortran/dump-parse-tree.c:1702
+ #, c-format
+ msgid " EOR=%d"
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:1714
++#: fortran/dump-parse-tree.c:1736
+ #, c-format
+ msgid "Equivalence: "
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:1740
++#: fortran/dump-parse-tree.c:1762
+ #, c-format
+ msgid "Namespace:"
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:1754
++#: fortran/dump-parse-tree.c:1776
+ #, c-format
+ msgid " %c-%c: "
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:1756
++#: fortran/dump-parse-tree.c:1778
+ #, fuzzy, c-format
+ msgid " %c: "
+ msgstr "%s: %s: "
+
+-#: fortran/dump-parse-tree.c:1765
++#: fortran/dump-parse-tree.c:1787
+ #, c-format
+ msgid "procedure name = %s"
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:1781
++#: fortran/dump-parse-tree.c:1803
+ #, fuzzy, c-format
+ msgid "Operator interfaces for %s:"
+ msgstr ""
+ "\n"
+ " %s ÍÑ¥ª¥×¥·¥ç¥ó:\n"
+
+-#: fortran/dump-parse-tree.c:1790
++#: fortran/dump-parse-tree.c:1812
+ #, fuzzy, c-format
+ msgid "User operators:\n"
+ msgstr "ÅÐÏ¿¤µ¤ì¤Æ¤¤¤Ê¤¤±é»»»Ò %s ¤Ç¤¹"
+
+-#: fortran/dump-parse-tree.c:1806
++#: fortran/dump-parse-tree.c:1828
+ #, c-format
+ msgid "CONTAINS\n"
+ msgstr ""
+@@ -6295,311 +6251,351 @@
+ msgid "Error count reached limit of %d."
+ msgstr ""
+
+-#: fortran/error.c:670 fortran/error.c:725 fortran/error.c:762
++#: fortran/error.c:670 fortran/error.c:724 fortran/error.c:761
+ #, fuzzy
+ msgid "Warning:"
+ msgstr "·Ù¹ð: "
+
+-#: fortran/error.c:727 fortran/error.c:810 fortran/error.c:836
++#: fortran/error.c:726 fortran/error.c:809 fortran/error.c:835
+ msgid "Error:"
+ msgstr ""
+
+-#: fortran/error.c:860
++#: fortran/error.c:859
+ #, fuzzy
+ msgid "Fatal Error:"
+ msgstr "ÆâÉô¥¨¥é¡¼: "
+
+-#: fortran/error.c:879
++#: fortran/error.c:878
+ #, fuzzy, no-c-format
+ msgid "Internal Error at (1):"
+ msgstr "ÆâÉô¥¨¥é¡¼: %s"
+
+-#: fortran/expr.c:252
++#: fortran/expr.c:253
+ #, c-format
+ msgid "Constant expression required at %C"
+ msgstr ""
+
+-#: fortran/expr.c:255
++#: fortran/expr.c:256
+ #, c-format
+ msgid "Integer expression required at %C"
+ msgstr ""
+
+-#: fortran/expr.c:260
++#: fortran/expr.c:261
+ #, fuzzy, c-format
+ msgid "Integer value too large in expression at %C"
+ msgstr "¼°¤ÎÀ°¿ô¤¬¥ª¡¼¥Ð¡¼¥Õ¥í¡¼¤·¤Þ¤·¤¿"
+
+-#: fortran/expr.c:1018 fortran/expr.c:1189 fortran/expr.c:1240
++#: fortran/expr.c:1037
+ #, no-c-format
++msgid "Index in dimension %d is out of bounds at %L"
++msgstr ""
++
++#: fortran/expr.c:1208 fortran/expr.c:1259
++#, no-c-format
+ msgid "index in dimension %d is out of bounds at %L"
+ msgstr ""
+
+-#: fortran/expr.c:1789
++#: fortran/expr.c:1808
+ #, no-c-format
+ msgid "elemental function arguments at %C are not compliant"
+ msgstr ""
+
+-#: fortran/expr.c:1833
++#: fortran/expr.c:1852
+ #, no-c-format
+ msgid "Numeric or CHARACTER operands are required in expression at %L"
+ msgstr ""
+
+-#: fortran/expr.c:1853
++#: fortran/expr.c:1872
+ #, no-c-format
+ msgid "Fortran 2003: Noninteger exponent in an initialization expression at %L"
+ msgstr ""
+
+-#: fortran/expr.c:1868
++#: fortran/expr.c:1887
+ #, no-c-format
+ msgid "Concatenation operator in expression at %L must have two CHARACTER operands"
+ msgstr ""
+
+-#: fortran/expr.c:1875
++#: fortran/expr.c:1894
+ #, no-c-format
+ msgid "Concat operator at %L must concatenate strings of the same kind"
+ msgstr ""
+
+-#: fortran/expr.c:1885
++#: fortran/expr.c:1904
+ #, no-c-format
+ msgid ".NOT. operator in expression at %L must have a LOGICAL operand"
+ msgstr ""
+
+-#: fortran/expr.c:1901
++#: fortran/expr.c:1920
+ #, no-c-format
+ msgid "LOGICAL operands are required in expression at %L"
+ msgstr ""
+
+-#: fortran/expr.c:1912
++#: fortran/expr.c:1931
+ #, no-c-format
+ msgid "Only intrinsic operators can be used in expression at %L"
+ msgstr ""
+
+-#: fortran/expr.c:1920
++#: fortran/expr.c:1939
+ #, no-c-format
+ msgid "Numeric operands are required in expression at %L"
+ msgstr ""
+
+-#: fortran/expr.c:1985
++#: fortran/expr.c:2030
+ #, no-c-format
+-msgid "Inquiry function '%s' at %L is not permitted in an initialization expression"
+-msgstr ""
+-
+-#: fortran/expr.c:2015
+-#, no-c-format
+ msgid "Assumed character length variable '%s' in constant expression at %L"
+ msgstr ""
+
+-#: fortran/expr.c:2061 fortran/expr.c:2067
++#: fortran/expr.c:2076 fortran/expr.c:2082
+ #, no-c-format
+ msgid "transformational intrinsic '%s' at %L is not permitted in an initialization expression"
+ msgstr ""
+
+-#: fortran/expr.c:2098
++#: fortran/expr.c:2114
+ #, no-c-format
+ msgid "Extension: Evaluation of nonstandard initialization expression at %L"
+ msgstr ""
+
+-#: fortran/expr.c:2151
++#: fortran/expr.c:2167
+ #, no-c-format
+ msgid "Function '%s' in initialization expression at %L must be an intrinsic or a specification function"
+ msgstr ""
+
+-#: fortran/expr.c:2163
++#: fortran/expr.c:2179
+ #, no-c-format
+ msgid "Intrinsic function '%s' at %L is not permitted in an initialization expression"
+ msgstr ""
+
+-#: fortran/expr.c:2207
++#: fortran/expr.c:2214
++#, fuzzy, no-c-format
++msgid "PARAMETER '%s' is used at %L before its definition is complete"
++msgstr "`%s' ¤Ï¤½¤ÎÄêµÁ¤ÎÁ°¤Ë¥×¥í¥È¥¿¥¤¥×¤Ê¤·¤Ç»È¤ï¤ì¤Þ¤·¤¿"
++
++#: fortran/expr.c:2234
+ #, no-c-format
+ msgid "Assumed size array '%s' at %L is not permitted in an initialization expression"
+ msgstr ""
+
+-#: fortran/expr.c:2213
++#: fortran/expr.c:2240
+ #, no-c-format
+ msgid "Assumed shape array '%s' at %L is not permitted in an initialization expression"
+ msgstr ""
+
+-#: fortran/expr.c:2219
++#: fortran/expr.c:2246
+ #, no-c-format
+ msgid "Deferred array '%s' at %L is not permitted in an initialization expression"
+ msgstr ""
+
+-#: fortran/expr.c:2229
++#: fortran/expr.c:2252
+ #, no-c-format
++msgid "Array '%s' at %L is a variable, which does not reduce to a constant expression"
++msgstr ""
++
++#: fortran/expr.c:2262
++#, no-c-format
+ msgid "Parameter '%s' at %L has not been declared or is a variable, which does not reduce to a constant expression"
+ msgstr ""
+
+-#: fortran/expr.c:2317
++#: fortran/expr.c:2350
+ #, no-c-format
+ msgid "Initialization expression didn't reduce %C"
+ msgstr ""
+
+-#: fortran/expr.c:2360
++#: fortran/expr.c:2393
+ #, fuzzy, no-c-format
+ msgid "Specification function '%s' at %L cannot be a statement function"
+ msgstr "¥³¥ó¥¹¥È¥é¥¯¥¿¤òÀÅŪ¥á¥ó¥Ð´Ø¿ô¤È¤¹¤ë¤³¤È¤Ï¤Ç¤­¤Þ¤»¤ó"
+
+-#: fortran/expr.c:2367
++#: fortran/expr.c:2400
+ #, fuzzy, no-c-format
+ msgid "Specification function '%s' at %L cannot be an internal function"
+ msgstr "ÁȤ߹þ¤ß´Ø¿ô `%s' ¤ÏÈó´Ø¿ô¤È¤·¤ÆÀë¸À¤µ¤ì¤Þ¤·¤¿"
+
+-#: fortran/expr.c:2374
++#: fortran/expr.c:2407
+ #, no-c-format
+ msgid "Specification function '%s' at %L must be PURE"
+ msgstr ""
+
+-#: fortran/expr.c:2381
++#: fortran/expr.c:2414
+ #, no-c-format
+ msgid "Specification function '%s' at %L cannot be RECURSIVE"
+ msgstr ""
+
+-#: fortran/expr.c:2443
++#: fortran/expr.c:2476
+ #, fuzzy, no-c-format
+ msgid "Dummy argument '%s' not allowed in expression at %L"
+ msgstr "Æó½Å¤Ë¥¯¥©¡¼¥È¤µ¤ì¤¿Ê¸»úÎó¤Ï #if ¼°Æâ¤Ç¤Ï»È¤¨¤Þ¤»¤ó"
+
+-#: fortran/expr.c:2450
++#: fortran/expr.c:2483
+ #, no-c-format
+ msgid "Dummy argument '%s' at %L cannot be OPTIONAL"
+ msgstr ""
+
+-#: fortran/expr.c:2457
++#: fortran/expr.c:2490
+ #, no-c-format
+ msgid "Dummy argument '%s' at %L cannot be INTENT(OUT)"
+ msgstr ""
+
+-#: fortran/expr.c:2479
++#: fortran/expr.c:2513
+ #, no-c-format
+ msgid "Variable '%s' cannot appear in the expression at %L"
+ msgstr ""
+
+-#: fortran/expr.c:2528
++#: fortran/expr.c:2562
+ #, no-c-format
+ msgid "Expression at %L must be of INTEGER type"
+ msgstr ""
+
+-#: fortran/expr.c:2537
++#: fortran/expr.c:2571
+ #, no-c-format
+ msgid "Function '%s' at %L must be PURE"
+ msgstr ""
+
+-#: fortran/expr.c:2546
++#: fortran/expr.c:2580
+ #, no-c-format
+ msgid "Expression at %L must be scalar"
+ msgstr ""
+
+-#: fortran/expr.c:2573
++#: fortran/expr.c:2607
+ #, no-c-format
+ msgid "Incompatible ranks in %s (%d and %d) at %L"
+ msgstr ""
+
+-#: fortran/expr.c:2587
++#: fortran/expr.c:2621
+ #, no-c-format
+ msgid "Different shape for %s at %L on dimension %d (%d and %d)"
+ msgstr ""
+
+-#: fortran/expr.c:2633 fortran/expr.c:2800
++#: fortran/expr.c:2667 fortran/expr.c:2884
+ #, no-c-format
+ msgid "Cannot assign to INTENT(IN) variable '%s' at %L"
+ msgstr ""
+
+-#: fortran/expr.c:2676
++#: fortran/expr.c:2719
+ #, no-c-format
+ msgid "'%s' at %L is not a VALUE"
+ msgstr ""
+
+-#: fortran/expr.c:2683
++#: fortran/expr.c:2726
+ #, no-c-format
+ msgid "Incompatible ranks %d and %d in assignment at %L"
+ msgstr ""
+
+-#: fortran/expr.c:2690
++#: fortran/expr.c:2733
+ #, no-c-format
+ msgid "Variable type is UNKNOWN in assignment at %L"
+ msgstr ""
+
+-#: fortran/expr.c:2702
++#: fortran/expr.c:2745
+ #, no-c-format
+ msgid "NULL appears on right-hand side in assignment at %L"
+ msgstr ""
+
+-#: fortran/expr.c:2713
++#: fortran/expr.c:2756
+ #, no-c-format
+ msgid "Vector assignment to assumed-size Cray Pointee at %L is illegal"
+ msgstr ""
+
+-#: fortran/expr.c:2722
++#: fortran/expr.c:2765
+ #, no-c-format
+ msgid "POINTER valued function appears on right-hand side of assignment at %L"
+ msgstr ""
+
+-#: fortran/expr.c:2727
++#: fortran/expr.c:2770
+ #, fuzzy
+ msgid "array assignment"
+ msgstr "ÂåÆþ"
+
+-#: fortran/expr.c:2744
++#: fortran/expr.c:2775
++#, no-c-format
++msgid "Extension: BOZ literal at %L used to initialize non-integer variable '%s'"
++msgstr ""
++
++#: fortran/expr.c:2781 fortran/resolve.c:6058
++#, no-c-format
++msgid "Extension: BOZ literal at %L outside a DATA statement and outside INT/REAL/DBLE/CMPLX"
++msgstr ""
++
++#: fortran/expr.c:2791 fortran/resolve.c:6068
++#, no-c-format
++msgid "BOZ literal at %L is bitwise transferred non-integer symbol '%s'"
++msgstr ""
++
++#: fortran/expr.c:2799 fortran/resolve.c:6077
++#, no-c-format
++msgid "Arithmetic underflow of bit-wise transferred BOZ at %L. This check can be disabled with the option -fno-range-check"
++msgstr ""
++
++#: fortran/expr.c:2803 fortran/resolve.c:6081
++#, no-c-format
++msgid "Arithmetic overflow of bit-wise transferred BOZ at %L. This check can be disabled with the option -fno-range-check"
++msgstr ""
++
++#: fortran/expr.c:2807 fortran/resolve.c:6085
++#, no-c-format
++msgid "Arithmetic NaN of bit-wise transferred BOZ at %L. This check can be disabled with the option -fno-range-check"
++msgstr ""
++
++#: fortran/expr.c:2828
+ #, fuzzy, no-c-format
+ msgid "Incompatible types in assignment at %L, %s to %s"
+ msgstr "%d ÈÖÌܤΰú¿ô¤¬ `%s' ¤Î·¿¤È¸ß´¹À­¤¬¤¢¤ê¤Þ¤»¤ó"
+
+-#: fortran/expr.c:2769
++#: fortran/expr.c:2853
+ #, no-c-format
+ msgid "Pointer assignment target is not a POINTER at %L"
+ msgstr ""
+
+-#: fortran/expr.c:2777
++#: fortran/expr.c:2861
+ #, no-c-format
+ msgid "'%s' in the pointer assignment at %L cannot be an l-value since it is a procedure"
+ msgstr ""
+
+-#: fortran/expr.c:2807
++#: fortran/expr.c:2891
+ #, no-c-format
+ msgid "Pointer assignment to non-POINTER at %L"
+ msgstr ""
+
+-#: fortran/expr.c:2816
++#: fortran/expr.c:2900
+ #, no-c-format
+ msgid "Bad pointer object in PURE procedure at %L"
+ msgstr ""
+
+-#: fortran/expr.c:2828
++#: fortran/expr.c:2912
+ #, no-c-format
+ msgid "Different types in pointer assignment at %L"
+ msgstr ""
+
+-#: fortran/expr.c:2835
++#: fortran/expr.c:2919
+ #, no-c-format
+ msgid "Different kind type parameters in pointer assignment at %L"
+ msgstr ""
+
+-#: fortran/expr.c:2842
++#: fortran/expr.c:2926
+ #, no-c-format
+ msgid "Different ranks in pointer assignment at %L"
+ msgstr ""
+
+-#: fortran/expr.c:2857
++#: fortran/expr.c:2941
+ #, no-c-format
+ msgid "Different character lengths in pointer assignment at %L"
+ msgstr ""
+
+-#: fortran/expr.c:2868
++#: fortran/expr.c:2952
+ #, no-c-format
+ msgid "Pointer assignment target is neither TARGET nor POINTER at %L"
+ msgstr ""
+
+-#: fortran/expr.c:2875
++#: fortran/expr.c:2959
+ #, no-c-format
+ msgid "Bad target in pointer assignment in PURE procedure at %L"
+ msgstr ""
+
+-#: fortran/expr.c:2881
++#: fortran/expr.c:2965
+ #, no-c-format
+ msgid "Pointer assignment with vector subscript on rhs at %L"
+ msgstr ""
+
+-#: fortran/expr.c:2888
++#: fortran/expr.c:2972
+ #, no-c-format
+ msgid "Pointer assigment target has PROTECTED attribute at %L"
+ msgstr ""
+@@ -6689,292 +6685,317 @@
+ msgid "Expecting 'END INTERFACE %s' at %C"
+ msgstr ""
+
+-#: fortran/interface.c:551
++#: fortran/interface.c:563
+ #, no-c-format
+ msgid "Alternate return cannot appear in operator interface at %L"
+ msgstr ""
+
+-#: fortran/interface.c:581
++#: fortran/interface.c:593
+ #, no-c-format
+ msgid "Operator interface at %L has the wrong number of arguments"
+ msgstr ""
+
+-#: fortran/interface.c:592
++#: fortran/interface.c:604
+ #, no-c-format
+ msgid "Assignment operator interface at %L must be a SUBROUTINE"
+ msgstr ""
+
+-#: fortran/interface.c:598
++#: fortran/interface.c:610
+ #, no-c-format
+ msgid "Assignment operator interface at %L must have two arguments"
+ msgstr ""
+
+-#: fortran/interface.c:608
++#: fortran/interface.c:620
+ #, no-c-format
+ msgid "Assignment operator interface at %L must not redefine an INTRINSIC type assignment"
+ msgstr ""
+
+-#: fortran/interface.c:617
++#: fortran/interface.c:629
+ #, no-c-format
+ msgid "Intrinsic operator interface at %L must be a FUNCTION"
+ msgstr ""
+
+-#: fortran/interface.c:627
++#: fortran/interface.c:639
+ #, no-c-format
+ msgid "First argument of defined assignment at %L must be INTENT(IN) or INTENT(INOUT)"
+ msgstr ""
+
+-#: fortran/interface.c:631
++#: fortran/interface.c:643
+ #, no-c-format
+ msgid "Second argument of defined assignment at %L must be INTENT(IN)"
+ msgstr ""
+
+-#: fortran/interface.c:637 fortran/resolve.c:8807
++#: fortran/interface.c:649 fortran/resolve.c:8998
+ #, no-c-format
+ msgid "First argument of operator interface at %L must be INTENT(IN)"
+ msgstr ""
+
+-#: fortran/interface.c:641 fortran/resolve.c:8819
++#: fortran/interface.c:653 fortran/resolve.c:9010
+ #, no-c-format
+ msgid "Second argument of operator interface at %L must be INTENT(IN)"
+ msgstr ""
+
+-#: fortran/interface.c:744
++#: fortran/interface.c:756
+ #, no-c-format
+ msgid "Operator interface at %L conflicts with intrinsic interface"
+ msgstr ""
+
+-#: fortran/interface.c:1044
++#: fortran/interface.c:1117
+ #, no-c-format
+ msgid "Procedure '%s' in %s at %L has no explicit interface"
+ msgstr ""
+
+-#: fortran/interface.c:1047
++#: fortran/interface.c:1120
+ #, no-c-format
+ msgid "Procedure '%s' in %s at %L is neither function nor subroutine"
+ msgstr ""
+
+-#: fortran/interface.c:1102 fortran/interface.c:1108
++#: fortran/interface.c:1175 fortran/interface.c:1181
+ #, no-c-format
+ msgid "Ambiguous interfaces '%s' and '%s' in %s at %L"
+ msgstr ""
+
+-#: fortran/interface.c:1144
++#: fortran/interface.c:1217
+ #, no-c-format
+ msgid "'%s' at %L is not a module procedure"
+ msgstr ""
+
+-#: fortran/interface.c:1676
++#: fortran/interface.c:1465 fortran/interface.c:2411
+ #, no-c-format
++msgid "Type/rank mismatch in argument '%s' at %L"
++msgstr ""
++
++#: fortran/interface.c:1474
++#, no-c-format
++msgid "Type mismatch in argument '%s' at %L; passed %s to %s"
++msgstr ""
++
++#: fortran/interface.c:1492 fortran/interface.c:1532
++#, no-c-format
++msgid "Rank mismatch in argument '%s' at %L (%d and %d)"
++msgstr ""
++
++#: fortran/interface.c:1519
++#, no-c-format
++msgid "Fortran 2003: Scalar CHARACTER actual argument with array dummy argument '%s' at %L"
++msgstr ""
++
++#: fortran/interface.c:1544
++#, no-c-format
++msgid "Element of assumed-shaped array passed to dummy argument '%s' at %L"
++msgstr ""
++
++#: fortran/interface.c:1861
++#, no-c-format
+ msgid "Keyword argument '%s' at %L is not in the procedure"
+ msgstr ""
+
+-#: fortran/interface.c:1684
++#: fortran/interface.c:1869
+ #, no-c-format
+ msgid "Keyword argument '%s' at %L is already associated with another actual argument"
+ msgstr ""
+
+-#: fortran/interface.c:1694
++#: fortran/interface.c:1879
+ #, no-c-format
+ msgid "More actual than formal arguments in procedure call at %L"
+ msgstr ""
+
+-#: fortran/interface.c:1706 fortran/interface.c:1935
++#: fortran/interface.c:1891 fortran/interface.c:2110
+ #, no-c-format
+ msgid "Missing alternate return spec in subroutine call at %L"
+ msgstr ""
+
+-#: fortran/interface.c:1714
++#: fortran/interface.c:1899
+ #, no-c-format
+ msgid "Unexpected alternate return spec in subroutine call at %L"
+ msgstr ""
+
+-#: fortran/interface.c:1729
++#: fortran/interface.c:1922
+ #, no-c-format
+-msgid "Fortran 2003: Scalar CHARACTER actual argument with array dummy argument '%s' at %L"
++msgid "Character length mismatch (%ld/%ld) between actual argument and pointer or allocatable dummy argument '%s' at %L"
+ msgstr ""
+
+-#: fortran/interface.c:1742
++#: fortran/interface.c:1929
+ #, no-c-format
+-msgid "Type/rank mismatch in argument '%s' at %L"
++msgid "Character length mismatch (%ld/%ld) between actual argument and assumed-shape dummy argument '%s' at %L"
+ msgstr ""
+
+-#: fortran/interface.c:1758
++#: fortran/interface.c:1943
+ #, no-c-format
+-msgid "Character length mismatch between actual argument and pointer or allocatable dummy argument '%s' at %L"
+-msgstr ""
+-
+-#: fortran/interface.c:1771
+-#, no-c-format
+ msgid "Character length of actual argument shorter than of dummy argument '%s' (%lu/%lu) at %L"
+ msgstr ""
+
+-#: fortran/interface.c:1776
++#: fortran/interface.c:1948
+ #, no-c-format
+ msgid "Actual argument contains too few elements for dummy argument '%s' (%lu/%lu) at %L"
+ msgstr ""
+
+-#: fortran/interface.c:1790
++#: fortran/interface.c:1962
+ #, no-c-format
+ msgid "Expected a procedure for argument '%s' at %L"
+ msgstr ""
+
+-#: fortran/interface.c:1800
++#: fortran/interface.c:1972
+ #, no-c-format
+ msgid "Expected a PURE procedure for argument '%s' at %L"
+ msgstr ""
+
+-#: fortran/interface.c:1814
++#: fortran/interface.c:1986
+ #, no-c-format
+ msgid "Actual argument for '%s' cannot be an assumed-size array at %L"
+ msgstr ""
+
+-#: fortran/interface.c:1823
++#: fortran/interface.c:1995
+ #, fuzzy, no-c-format
+ msgid "Actual argument for '%s' must be a pointer at %L"
+ msgstr "¥Õ¥©¡¼¥Þ¥Ã¥È°ú¿ô¤¬¥Ý¥¤¥ó¥¿¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó (°ú¿ô %d)"
+
+-#: fortran/interface.c:1832
++#: fortran/interface.c:2004
+ #, no-c-format
+ msgid "Actual argument for '%s' must be ALLOCATABLE at %L"
+ msgstr ""
+
+-#: fortran/interface.c:1843
++#: fortran/interface.c:2017
+ #, no-c-format
+-msgid "Actual argument at %L must be definable to match dummy INTENT = OUT/INOUT"
++msgid "Actual argument at %L must be definable as the dummy argument '%s' is INTENT = OUT/INOUT"
+ msgstr ""
+
+-#: fortran/interface.c:1851
++#: fortran/interface.c:2026
+ #, no-c-format
+ msgid "Actual argument at %L is use-associated with PROTECTED attribute and dummy argument '%s' is INTENT = OUT/INOUT"
+ msgstr ""
+
+-#: fortran/interface.c:1864
++#: fortran/interface.c:2039
+ #, no-c-format
+-msgid "Array-section actual argument with vector subscripts at %L is incompatible with INTENT(IN), 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) or VOLATILE attribute of the dummy argument '%s'"
+ msgstr ""
+
+-#: fortran/interface.c:1881
++#: fortran/interface.c:2056
+ #, no-c-format
+ msgid "Assumed-shape actual argument at %L is incompatible with the non-assumed-shape dummy argument '%s' due to VOLATILE attribute"
+ msgstr ""
+
+-#: fortran/interface.c:1893
++#: fortran/interface.c:2068
+ #, no-c-format
+ msgid "Array-section actual argument at %L is incompatible with the non-assumed-shape dummy argument '%s' due to VOLATILE attribute"
+ msgstr ""
+
+-#: fortran/interface.c:1912
++#: fortran/interface.c:2087
+ #, no-c-format
+ msgid "Pointer-array actual argument at %L requires an assumed-shape or pointer-array dummy argument '%s' due to VOLATILE attribute"
+ msgstr ""
+
+-#: fortran/interface.c:1942
++#: fortran/interface.c:2117
+ #, fuzzy, no-c-format
+ msgid "Missing actual argument for argument '%s' at %L"
+ msgstr "`%s' ¥ª¥×¥·¥ç¥ó¤ËÂФ¹¤ë°ú¿ô¤¬¤¢¤ê¤Þ¤»¤ó"
+
+-#: fortran/interface.c:2128
++#: fortran/interface.c:2303
+ #, no-c-format
+ msgid "Same actual argument associated with INTENT(%s) argument '%s' and INTENT(%s) argument '%s' at %L"
+ msgstr ""
+
+-#: fortran/interface.c:2184
++#: fortran/interface.c:2359
+ #, no-c-format
+ msgid "Procedure argument at %L is INTENT(IN) while interface specifies INTENT(%s)"
+ msgstr ""
+
+-#: fortran/interface.c:2194
++#: fortran/interface.c:2369
+ #, no-c-format
+ msgid "Procedure argument at %L is local to a PURE procedure and is passed to an INTENT(%s) argument"
+ msgstr ""
+
+-#: fortran/interface.c:2202
++#: fortran/interface.c:2377
+ #, no-c-format
+ msgid "Procedure argument at %L is local to a PURE procedure and has the POINTER attribute"
+ msgstr ""
+
+-#: fortran/interface.c:2225
++#: fortran/interface.c:2400
+ #, no-c-format
+ msgid "Procedure '%s' called with an implicit interface at %L"
+ msgstr ""
+
+-#: fortran/interface.c:2440
++#: fortran/interface.c:2629
+ #, no-c-format
+ msgid "Function '%s' called in lieu of an operator at %L must be PURE"
+ msgstr ""
+
+-#: fortran/interface.c:2519
++#: fortran/interface.c:2708
+ #, no-c-format
+ msgid "Entity '%s' at %C is already present in the interface"
+ msgstr ""
+
+-#: fortran/intrinsic.c:2918
++#: fortran/intrinsic.c:2923
+ #, fuzzy, no-c-format
+ msgid "Too many arguments in call to '%s' at %L"
+ msgstr "´Ø¿ô `%s' ¤ËÂФ¹¤ë°ú¿ô¤¬Â¿¤¹¤®¤Þ¤¹"
+
+-#: fortran/intrinsic.c:2933
++#: fortran/intrinsic.c:2938
+ #, no-c-format
+ msgid "The argument list functions %%VAL, %%LOC or %%REF are not allowed in this context at %L"
+ msgstr ""
+
+-#: fortran/intrinsic.c:2936
++#: fortran/intrinsic.c:2941
+ #, no-c-format
+ msgid "Can't find keyword named '%s' in call to '%s' at %L"
+ msgstr ""
+
+-#: fortran/intrinsic.c:2943
++#: fortran/intrinsic.c:2948
+ #, no-c-format
+ msgid "Argument '%s' is appears twice in call to '%s' at %L"
+ msgstr ""
+
+-#: fortran/intrinsic.c:2957
++#: fortran/intrinsic.c:2962
+ #, fuzzy, no-c-format
+ msgid "Missing actual argument '%s' in call to '%s' at %L"
+ msgstr "`%s' ¥ª¥×¥·¥ç¥ó¤ËÂФ¹¤ë°ú¿ô¤¬¤¢¤ê¤Þ¤»¤ó"
+
+-#: fortran/intrinsic.c:2972
++#: fortran/intrinsic.c:2977
+ #, no-c-format
+ msgid "ALTERNATE RETURN not permitted at %L"
+ msgstr ""
+
+-#: fortran/intrinsic.c:3021
++#: fortran/intrinsic.c:3026
+ #, no-c-format
+ msgid "Type of argument '%s' in call to '%s' at %L should be %s, not %s"
+ msgstr ""
+
+-#: fortran/intrinsic.c:3337
++#: fortran/intrinsic.c:3342
+ #, no-c-format
+ msgid "Intrinsic '%s' at %L is not included in the selected standard"
+ msgstr ""
+
+-#: fortran/intrinsic.c:3450
++#: fortran/intrinsic.c:3398
+ #, no-c-format
++msgid "Fortran 2003: Function '%s' as initialization expression at %L"
++msgstr ""
++
++#: fortran/intrinsic.c:3463
++#, no-c-format
+ msgid "Fortran 2003: Elemental function as initialization expression with non-integer/non-character arguments at %L"
+ msgstr ""
+
+-#: fortran/intrinsic.c:3508
++#: fortran/intrinsic.c:3524
+ #, no-c-format
+ msgid "Subroutine call to intrinsic '%s' at %L is not PURE"
+ msgstr ""
+
+-#: fortran/intrinsic.c:3579
++#: fortran/intrinsic.c:3595
+ #, no-c-format
+ msgid "Extension: Conversion from %s to %s at %L"
+ msgstr ""
+
+-#: fortran/intrinsic.c:3582
++#: fortran/intrinsic.c:3598
+ #, fuzzy, no-c-format
+ msgid "Conversion from %s to %s at %L"
+ msgstr "NaN ¤«¤éÀ°¿ô¤Ø¤ÎÊÑ´¹¤Ç¤¹"
+
+-#: fortran/intrinsic.c:3629
++#: fortran/intrinsic.c:3645
+ #, fuzzy, no-c-format
+ msgid "Can't convert %s to %s at %L"
+ msgstr "Ãͤò¥Ù¥¯¥È¥ë¤Ë¤ÏÊÑ´¹¤Ç¤­¤Þ¤»¤ó"
+
+-#: fortran/io.c:156 fortran/primary.c:738
++#: fortran/io.c:156 fortran/primary.c:750
+ #, no-c-format
+ msgid "Extension: backslash character at %C"
+ msgstr ""
+@@ -7180,7 +7201,7 @@
+ msgid "CLOSE statement not allowed in PURE procedure at %C"
+ msgstr ""
+
+-#: fortran/io.c:1955 fortran/match.c:1841
++#: fortran/io.c:1955 fortran/match.c:1911
+ #, no-c-format
+ msgid "%s statement not allowed in PURE procedure at %C"
+ msgstr ""
+@@ -7195,516 +7216,491 @@
+ msgid "Duplicate UNIT specification at %C"
+ msgstr ""
+
+-#: fortran/io.c:2128
++#: fortran/io.c:2132
+ #, fuzzy, no-c-format
+ msgid "Duplicate format specification at %C"
+ msgstr "¥á¥½¥Ã¥É»ÅÍÍÆâ¤Ç¤Î¹½Ê¸²òÀÏ¥¨¥é¡¼"
+
+-#: fortran/io.c:2145
++#: fortran/io.c:2149
+ #, no-c-format
+ msgid "Symbol '%s' in namelist '%s' is INTENT(IN) at %C"
+ msgstr ""
+
+-#: fortran/io.c:2181
++#: fortran/io.c:2185
+ #, no-c-format
+ msgid "Duplicate NML specification at %C"
+ msgstr ""
+
+-#: fortran/io.c:2190
++#: fortran/io.c:2194
+ #, no-c-format
+ msgid "Symbol '%s' at %C must be a NAMELIST group name"
+ msgstr ""
+
+-#: fortran/io.c:2231
++#: fortran/io.c:2235
+ #, no-c-format
+ msgid "END tag at %C not allowed in output statement"
+ msgstr ""
+
+-#: fortran/io.c:2288
++#: fortran/io.c:2292
+ #, no-c-format
+ msgid "UNIT specification at %L must be an INTEGER expression or a CHARACTER variable"
+ msgstr ""
+
+-#: fortran/io.c:2297
++#: fortran/io.c:2301
+ #, no-c-format
+ msgid "Internal unit with vector subscript at %L"
+ msgstr ""
+
+-#: fortran/io.c:2304
++#: fortran/io.c:2308
+ #, no-c-format
+ msgid "External IO UNIT cannot be an array at %L"
+ msgstr ""
+
+-#: fortran/io.c:2314
++#: fortran/io.c:2318
+ #, fuzzy, no-c-format
+ msgid "ERR tag label %d at %L not defined"
+ msgstr "¥é¥Ù¥ë `%s' ¤¬»È¤ï¤ì¤Þ¤·¤¿¤¬ÄêµÁ¤µ¤ì¤Æ¤¤¤Þ¤»¤ó"
+
+-#: fortran/io.c:2326
++#: fortran/io.c:2330
+ #, fuzzy, no-c-format
+ msgid "END tag label %d at %L not defined"
+ msgstr "¥é¥Ù¥ë `%s' ¤¬»È¤ï¤ì¤Þ¤·¤¿¤¬ÄêµÁ¤µ¤ì¤Æ¤¤¤Þ¤»¤ó"
+
+-#: fortran/io.c:2338
++#: fortran/io.c:2342
+ #, fuzzy, no-c-format
+ msgid "EOR tag label %d at %L not defined"
+ msgstr "¥é¥Ù¥ë `%s' ¤¬»È¤ï¤ì¤Þ¤·¤¿¤¬ÄêµÁ¤µ¤ì¤Æ¤¤¤Þ¤»¤ó"
+
+-#: fortran/io.c:2348
++#: fortran/io.c:2352
+ #, fuzzy, no-c-format
+ msgid "FORMAT label %d at %L not defined"
+ msgstr "¥é¥Ù¥ë `%s' ¤¬»È¤ï¤ì¤Þ¤·¤¿¤¬ÄêµÁ¤µ¤ì¤Æ¤¤¤Þ¤»¤ó"
+
+-#: fortran/io.c:2469
++#: fortran/io.c:2473
+ #, no-c-format
+ msgid "Syntax error in I/O iterator at %C"
+ msgstr ""
+
+-#: fortran/io.c:2500
++#: fortran/io.c:2504
+ #, no-c-format
+ msgid "Expected variable in READ statement at %C"
+ msgstr ""
+
+-#: fortran/io.c:2506
++#: fortran/io.c:2510
+ #, fuzzy, no-c-format
+ msgid "Expected expression in %s statement at %C"
+ msgstr "¼°Ê¸¤¬Ìµ¸ú¤Ç¤¹"
+
+-#: fortran/io.c:2516
++#: fortran/io.c:2520
+ #, no-c-format
+ msgid "Variable '%s' in input list at %C cannot be INTENT(IN)"
+ msgstr ""
+
+-#: fortran/io.c:2525
++#: fortran/io.c:2529
+ #, no-c-format
+ msgid "Cannot read to variable '%s' in PURE procedure at %C"
+ msgstr ""
+
+-#: fortran/io.c:2541
++#: fortran/io.c:2545
+ #, no-c-format
+ msgid "Cannot write to internal file unit '%s' at %C inside a PURE procedure"
+ msgstr ""
+
+ #. A general purpose syntax error.
+-#: fortran/io.c:2602 fortran/io.c:3004 fortran/gfortran.h:1998
++#: fortran/io.c:2606 fortran/io.c:3013 fortran/gfortran.h:2002
+ #, fuzzy, no-c-format
+ msgid "Syntax error in %s statement at %C"
+ msgstr "'%s' ¥È¡¼¥¯¥ó¤Î½ê¤Çʸˡ¥¨¥é¡¼"
+
+-#: fortran/io.c:2670
++#: fortran/io.c:2679
+ #, no-c-format
+ msgid "Fortran 2003: Internal file at %L with namelist"
+ msgstr ""
+
+-#: fortran/io.c:2833
++#: fortran/io.c:2842
+ #, no-c-format
+ msgid "PRINT namelist at %C is an extension"
+ msgstr ""
+
+-#: fortran/io.c:2965
++#: fortran/io.c:2974
+ #, no-c-format
+ msgid "Extension: Comma before i/o item list at %C"
+ msgstr ""
+
+-#: fortran/io.c:2974
++#: fortran/io.c:2983
+ #, no-c-format
+ msgid "Expected comma in I/O list at %C"
+ msgstr ""
+
+-#: fortran/io.c:3036
++#: fortran/io.c:3045
+ #, no-c-format
+ msgid "PRINT statement at %C not allowed within PURE procedure"
+ msgstr ""
+
+-#: fortran/io.c:3176 fortran/io.c:3227
++#: fortran/io.c:3185 fortran/io.c:3236
+ #, no-c-format
+ msgid "INQUIRE statement not allowed in PURE procedure at %C"
+ msgstr ""
+
+-#: fortran/io.c:3203
++#: fortran/io.c:3212
+ #, no-c-format
+ msgid "IOLENGTH tag invalid in INQUIRE statement at %C"
+ msgstr ""
+
+-#: fortran/io.c:3213 fortran/trans-io.c:1144
++#: fortran/io.c:3222 fortran/trans-io.c:1145
+ #, no-c-format
+ msgid "INQUIRE statement at %L cannot contain both FILE and UNIT specifiers"
+ msgstr ""
+
+-#: fortran/io.c:3220
++#: fortran/io.c:3229
+ #, no-c-format
+ msgid "INQUIRE statement at %L requires either FILE or UNIT specifier"
+ msgstr ""
+
+-#: fortran/match.c:270
++#: fortran/match.c:156
++#, fuzzy, no-c-format
++msgid "Missing ')' in statement before %L"
++msgstr "¥Þ¥¯¥í²¾°ú¿ô¥ê¥¹¥È¤Ç¡¢')' ¤ò·ç¤¤¤Æ¤¤¤Þ¤¹"
++
++#: fortran/match.c:161
+ #, no-c-format
++msgid "Missing '(' in statement before %L"
++msgstr ""
++
++#: fortran/match.c:332
++#, no-c-format
+ msgid "Integer too large at %C"
+ msgstr ""
+
+-#: fortran/match.c:363 fortran/parse.c:442
++#: fortran/match.c:425 fortran/parse.c:589
+ #, no-c-format
+ msgid "Too many digits in statement label at %C"
+ msgstr ""
+
+-#: fortran/match.c:369
++#: fortran/match.c:431
+ #, no-c-format
+ msgid "Statement label at %C is zero"
+ msgstr ""
+
+-#: fortran/match.c:402
++#: fortran/match.c:464
+ #, fuzzy, no-c-format
+ msgid "Label name '%s' at %C is ambiguous"
+ msgstr "%s: ¥ª¥×¥·¥ç¥ó `%s' ¤Ï¤¢¤¤¤Þ¤¤¤Ç¤¹\n"
+
+-#: fortran/match.c:408
++#: fortran/match.c:470
+ #, no-c-format
+ msgid "Duplicate construct label '%s' at %C"
+ msgstr ""
+
+-#: fortran/match.c:438
++#: fortran/match.c:500
+ #, fuzzy, no-c-format
+ msgid "Invalid character in name at %C"
+ msgstr "̵¸ú¤Êʸ»úÄê¿ô¤¬ #if ¤Ë¤¢¤ê¤Þ¤¹"
+
+-#: fortran/match.c:451 fortran/match.c:523
++#: fortran/match.c:513 fortran/match.c:585
+ #, no-c-format
+ msgid "Name at %C is too long"
+ msgstr ""
+
+-#: fortran/match.c:506 fortran/match.c:552
++#: fortran/match.c:568 fortran/match.c:614
+ #, no-c-format
+ msgid "Invalid C name in NAME= specifier at %C"
+ msgstr ""
+
+-#: fortran/match.c:543
++#: fortran/match.c:605
+ #, no-c-format
+ msgid "Embedded space in NAME= specifier at %C"
+ msgstr ""
+
+-#: fortran/match.c:868
++#: fortran/match.c:930
+ #, no-c-format
+ msgid "Loop variable at %C cannot be a sub-component"
+ msgstr ""
+
+-#: fortran/match.c:874
++#: fortran/match.c:936
+ #, no-c-format
+ msgid "Loop variable '%s' at %C cannot be INTENT(IN)"
+ msgstr ""
+
+-#: fortran/match.c:907
++#: fortran/match.c:969
+ #, no-c-format
+ msgid "Expected a step value in iterator at %C"
+ msgstr ""
+
+-#: fortran/match.c:919
++#: fortran/match.c:981
+ #, no-c-format
+ msgid "Syntax error in iterator at %C"
+ msgstr ""
+
+-#: fortran/match.c:1155
++#: fortran/match.c:1217
+ #, no-c-format
+ msgid "Invalid form of PROGRAM statement at %C"
+ msgstr ""
+
+-#: fortran/match.c:1196
++#: fortran/match.c:1258
+ #, no-c-format
+ msgid "Setting value of PROTECTED variable at %C"
+ msgstr ""
+
+-#: fortran/match.c:1249
++#: fortran/match.c:1311
+ #, no-c-format
+ msgid "Assigning to a PROTECTED pointer at %C"
+ msgstr ""
+
+-#: fortran/match.c:1292 fortran/match.c:1365
++#: fortran/match.c:1354 fortran/match.c:1435
+ #, no-c-format
+ msgid "Obsolescent: arithmetic IF statement at %C"
+ msgstr ""
+
+-#: fortran/match.c:1340
++#: fortran/match.c:1410
+ #, fuzzy, no-c-format
+ msgid "Syntax error in IF-expression at %C"
+ msgstr "¼°¤ÎÀ°¿ô¤¬¥ª¡¼¥Ð¡¼¥Õ¥í¡¼¤·¤Þ¤·¤¿"
+
+-#: fortran/match.c:1351
++#: fortran/match.c:1421
+ #, no-c-format
+ msgid "Block label not appropriate for arithmetic IF statement at %C"
+ msgstr ""
+
+-#: fortran/match.c:1389
++#: fortran/match.c:1459
+ #, no-c-format
+-msgid "Block label is not appropriate IF statement at %C"
++msgid "Block label is not appropriate for IF statement at %C"
+ msgstr ""
+
+-#: fortran/match.c:1468 fortran/primary.c:2522
++#: fortran/match.c:1538 fortran/primary.c:2559
+ #, no-c-format
+ msgid "Cannot assign to a named constant at %C"
+ msgstr ""
+
+-#: fortran/match.c:1478
++#: fortran/match.c:1548
+ #, no-c-format
+ msgid "Unclassifiable statement in IF-clause at %C"
+ msgstr ""
+
+-#: fortran/match.c:1485
++#: fortran/match.c:1555
+ #, no-c-format
+ msgid "Syntax error in IF-clause at %C"
+ msgstr ""
+
+-#: fortran/match.c:1529
++#: fortran/match.c:1599
+ #, no-c-format
+ msgid "Unexpected junk after ELSE statement at %C"
+ msgstr ""
+
+-#: fortran/match.c:1535 fortran/match.c:1570
++#: fortran/match.c:1605 fortran/match.c:1640
+ #, no-c-format
+ msgid "Label '%s' at %C doesn't match IF label '%s'"
+ msgstr ""
+
+-#: fortran/match.c:1564
++#: fortran/match.c:1634
+ #, no-c-format
+ msgid "Unexpected junk after ELSE IF statement at %C"
+ msgstr ""
+
+-#: fortran/match.c:1727
++#: fortran/match.c:1797
+ #, no-c-format
+ msgid "Name '%s' in %s statement at %C is not a loop name"
+ msgstr ""
+
+-#: fortran/match.c:1743
++#: fortran/match.c:1813
+ #, fuzzy, no-c-format
+ msgid "%s statement at %C is not within a loop"
+ msgstr "continue ʸ¤¬ loop ¤ÎÃæ¤Ë¤¢¤ê¤Þ¤»¤ó"
+
+-#: fortran/match.c:1746
++#: fortran/match.c:1816
+ #, fuzzy, no-c-format
+ msgid "%s statement at %C is not within loop '%s'"
+ msgstr "break ʸ¤¬ loop ¤Þ¤¿¤Ï switch ¤ÎÃæ¤Ë¤¢¤ê¤Þ¤»¤ó"
+
+-#: fortran/match.c:1754
++#: fortran/match.c:1824
+ #, no-c-format
+ msgid "%s statement at %C leaving OpenMP structured block"
+ msgstr ""
+
+-#: fortran/match.c:1767
++#: fortran/match.c:1837
+ #, no-c-format
+ msgid "EXIT statement at %C terminating !$OMP DO loop"
+ msgstr ""
+
+-#: fortran/match.c:1819
++#: fortran/match.c:1889
+ #, no-c-format
+ msgid "Too many digits in STOP code at %C"
+ msgstr ""
+
+-#: fortran/match.c:1872
++#: fortran/match.c:1942
+ #, no-c-format
+ msgid "Deleted feature: PAUSE statement at %C"
+ msgstr ""
+
+-#: fortran/match.c:1920
++#: fortran/match.c:1990
+ #, no-c-format
+ msgid "Deleted feature: ASSIGN statement at %C"
+ msgstr ""
+
+-#: fortran/match.c:1966
++#: fortran/match.c:2036
+ #, no-c-format
+ msgid "Deleted feature: Assigned GOTO statement at %C"
+ msgstr ""
+
+-#: fortran/match.c:2013 fortran/match.c:2065
++#: fortran/match.c:2083 fortran/match.c:2135
+ #, no-c-format
+ msgid "Statement label list in GOTO at %C cannot be empty"
+ msgstr ""
+
+-#: fortran/match.c:2149
++#: fortran/match.c:2219
+ #, no-c-format
+ msgid "Bad allocate-object in ALLOCATE statement at %C for a PURE procedure"
+ msgstr ""
+
+-#: fortran/match.c:2173
++#: fortran/match.c:2287
+ #, no-c-format
+-msgid "STAT variable '%s' of ALLOCATE statement at %C cannot be INTENT(IN)"
+-msgstr ""
+-
+-#: fortran/match.c:2180
+-#, no-c-format
+-msgid "Illegal STAT variable in ALLOCATE statement at %C for a PURE procedure"
+-msgstr ""
+-
+-#: fortran/match.c:2218 fortran/match.c:2382
+-#, no-c-format
+-msgid "STAT expression at %C must be a variable"
+-msgstr ""
+-
+-#: fortran/match.c:2272
+-#, no-c-format
+ msgid "Illegal variable in NULLIFY at %C for a PURE procedure"
+ msgstr ""
+
+-#: fortran/match.c:2349
++#: fortran/match.c:2364
+ #, no-c-format
+ msgid "Illegal deallocate-expression in DEALLOCATE at %C for a PURE procedure"
+ msgstr ""
+
+-#: fortran/match.c:2368
++#: fortran/match.c:2417
+ #, no-c-format
+-msgid "STAT variable '%s' of DEALLOCATE statement at %C cannot be INTENT(IN)"
+-msgstr ""
+-
+-#: fortran/match.c:2375
+-#, no-c-format
+-msgid "Illegal STAT variable in DEALLOCATE statement at %C for a PURE procedure"
+-msgstr ""
+-
+-#: fortran/match.c:2424
+-#, no-c-format
+ msgid "Alternate RETURN statement at %C is only allowed within a SUBROUTINE"
+ msgstr ""
+
+-#: fortran/match.c:2455
++#: fortran/match.c:2448
+ #, no-c-format
+ msgid "Extension: RETURN statement in main program at %C"
+ msgstr ""
+
+-#: fortran/match.c:2665
++#: fortran/match.c:2658
+ #, no-c-format
+ msgid "Syntax error in common block name at %C"
+ msgstr ""
+
+-#: fortran/match.c:2701
++#: fortran/match.c:2694
+ #, no-c-format
+ msgid "Symbol '%s' at %C is already an external symbol that is not COMMON"
+ msgstr ""
+
+-#: fortran/match.c:2719
+-#, no-c-format
+-msgid "BLOCK DATA unit cannot contain blank COMMON at %C"
+-msgstr ""
+-
+ #. If we find an error, just print it and continue,
+ #. cause it's just semantic, and we can see if there
+ #. are more errors.
+-#: fortran/match.c:2765
++#: fortran/match.c:2753
+ #, no-c-format
+ msgid "Variable '%s' at %L in common block '%s' at %C must be declared with a C interoperable kind since common block '%s' is bind(c)"
+ msgstr ""
+
+-#: fortran/match.c:2774
++#: fortran/match.c:2762
+ #, no-c-format
+ msgid "Variable '%s' in common block '%s' at %C can not be bind(c) since it is not global"
+ msgstr ""
+
+-#: fortran/match.c:2781
++#: fortran/match.c:2769
+ #, no-c-format
+ msgid "Symbol '%s' at %C is already in a COMMON block"
+ msgstr ""
+
+-#: fortran/match.c:2793
++#: fortran/match.c:2777
+ #, no-c-format
+-msgid "Previously initialized symbol '%s' in blank COMMON block at %C"
++msgid "Initialized symbol '%s' at %C can only be COMMON in BLOCK DATA"
+ msgstr ""
+
+-#: fortran/match.c:2796
++#: fortran/match.c:2804
+ #, no-c-format
+-msgid "Previously initialized symbol '%s' in COMMON block '%s' at %C"
+-msgstr ""
+-
+-#: fortran/match.c:2821
+-#, no-c-format
+ msgid "Array specification for symbol '%s' in COMMON at %C must be explicit"
+ msgstr ""
+
+-#: fortran/match.c:2831
++#: fortran/match.c:2814
+ #, no-c-format
+ msgid "Symbol '%s' in COMMON at %C cannot be a POINTER array"
+ msgstr ""
+
+-#: fortran/match.c:2863
++#: fortran/match.c:2846
+ #, no-c-format
+ msgid "Symbol '%s', in COMMON block '%s' at %C is being indirectly equivalenced to another COMMON block '%s'"
+ msgstr ""
+
+-#: fortran/match.c:2971
++#: fortran/match.c:2954
+ #, no-c-format
+ msgid "Namelist group name '%s' at %C already has a basic type of %s"
+ msgstr ""
+
+-#: fortran/match.c:2979
++#: fortran/match.c:2962
+ #, no-c-format
+ msgid "Namelist group name '%s' at %C already is USE associated and cannot be respecified."
+ msgstr ""
+
+-#: fortran/match.c:3006
++#: fortran/match.c:2989
+ #, no-c-format
+ msgid "Assumed size array '%s' in namelist '%s' at %C is not allowed"
+ msgstr ""
+
+-#: fortran/match.c:3013
++#: fortran/match.c:2996
+ #, no-c-format
+ msgid "Assumed character length '%s' in namelist '%s' at %C is not allowed"
+ msgstr ""
+
+-#: fortran/match.c:3140
++#: fortran/match.c:3123
+ #, no-c-format
+ msgid "Derived type component %C is not a permitted EQUIVALENCE member"
+ msgstr ""
+
+-#: fortran/match.c:3148
++#: fortran/match.c:3131
+ #, no-c-format
+ msgid "Array reference in EQUIVALENCE at %C cannot be an array section"
+ msgstr ""
+
+-#: fortran/match.c:3176
++#: fortran/match.c:3159
+ #, no-c-format
+ msgid "EQUIVALENCE at %C requires two or more objects"
+ msgstr ""
+
+-#: fortran/match.c:3190
++#: fortran/match.c:3173
+ #, no-c-format
+ msgid "Attempt to indirectly overlap COMMON blocks %s and %s by EQUIVALENCE at %C"
+ msgstr ""
+
+-#: fortran/match.c:3351
++#: fortran/match.c:3299
+ #, fuzzy, no-c-format
+ msgid "Statement function at %L is recursive"
+ msgstr "´Ø¿ô¤Î°ú¿ô¤¬¹½Â¤ÂΤÀ¤Ã¤¿¤é·Ù¹ð¤¹¤ë"
+
+-#: fortran/match.c:3439
++#: fortran/match.c:3387
+ #, no-c-format
+ msgid "Expected initialization expression in CASE at %C"
+ msgstr ""
+
+-#: fortran/match.c:3462
++#: fortran/match.c:3410
+ #, no-c-format
+ msgid "Expected the name of the SELECT CASE construct at %C"
+ msgstr ""
+
+-#: fortran/match.c:3474
++#: fortran/match.c:3422
+ #, no-c-format
+ msgid "Expected case name of '%s' at %C"
+ msgstr ""
+
+-#: fortran/match.c:3518
++#: fortran/match.c:3466
+ #, no-c-format
+ msgid "Unexpected CASE statement at %C"
+ msgstr ""
+
+-#: fortran/match.c:3570
++#: fortran/match.c:3518
+ #, fuzzy, no-c-format
+ msgid "Syntax error in CASE-specification at %C"
+ msgstr "¥á¥½¥Ã¥É»ÅÍÍÆâ¤Ç¤Î¹½Ê¸²òÀÏ¥¨¥é¡¼"
+
+-#: fortran/match.c:3690
++#: fortran/match.c:3638
+ #, no-c-format
+ msgid "ELSEWHERE statement at %C not enclosed in WHERE block"
+ msgstr ""
+
+-#: fortran/match.c:3728
++#: fortran/match.c:3676
+ #, no-c-format
+ msgid "Label '%s' at %C doesn't match WHERE label '%s'"
+ msgstr ""
+
+-#: fortran/match.c:3828
++#: fortran/match.c:3776
+ #, no-c-format
+ msgid "Syntax error in FORALL iterator at %C"
+ msgstr ""
+@@ -7734,7 +7730,8 @@
+ msgid "Expected exponent in expression at %C"
+ msgstr ""
+
+-#: fortran/matchexp.c:348 fortran/matchexp.c:452
++#: fortran/matchexp.c:350 fortran/matchexp.c:355 fortran/matchexp.c:459
++#: fortran/matchexp.c:464
+ #, no-c-format
+ msgid "Extension: Unary operator following arithmetic operator (use parentheses) at %C"
+ msgstr ""
+@@ -7866,125 +7863,125 @@
+ msgid "Expected real string"
+ msgstr "½ªÃ¼¤µ¤ì¤Æ¤¤¤Ê¤¤¥Õ¥©¡¼¥Þ¥Ã¥Èʸ»úÎó"
+
+-#: fortran/module.c:2722
++#: fortran/module.c:2730
+ msgid "Expected expression type"
+ msgstr ""
+
+-#: fortran/module.c:2776
++#: fortran/module.c:2784
+ msgid "Bad operator"
+ msgstr ""
+
+-#: fortran/module.c:2861
++#: fortran/module.c:2869
+ #, fuzzy
+ msgid "Bad type in constant expression"
+ msgstr "Äê¿ô¼°¤¬¥ª¡¼¥Ð¡¼¥Õ¥í¡¼¤·¤Þ¤·¤¿"
+
+-#: fortran/module.c:2898
++#: fortran/module.c:2906
+ #, no-c-format
+ msgid "Namelist %s cannot be renamed by USE association to %s"
+ msgstr ""
+
+-#: fortran/module.c:3723
++#: fortran/module.c:3847
+ #, no-c-format
+ msgid "Symbol '%s' referenced at %L not found in module '%s'"
+ msgstr ""
+
+-#: fortran/module.c:3730
++#: fortran/module.c:3854
+ #, no-c-format
+ msgid "User operator '%s' referenced at %L not found in module '%s'"
+ msgstr ""
+
+-#: fortran/module.c:3735
++#: fortran/module.c:3859
+ #, no-c-format
+ msgid "Intrinsic operator '%s' referenced at %L not found in module '%s'"
+ msgstr ""
+
+-#: fortran/module.c:4213
++#: fortran/module.c:4400
+ #, fuzzy, no-c-format
+ msgid "Can't open module file '%s' for writing at %C: %s"
+ msgstr "%s: Æɤ߹þ¤ßÍѤ˥ե¡¥¤¥ë `%s' ¤ò³«¤¯¤³¤È¤¬¤Ç¤­¤Þ¤»¤ó: %s\n"
+
+-#: fortran/module.c:4251
++#: fortran/module.c:4438
+ #, fuzzy, no-c-format
+ msgid "Error writing module file '%s' for writing: %s"
+ msgstr "%s: ¥Õ¥¡¥¤¥ë `%s' ¤Ë½ñ¤­¹þ¤ßÃæ¤Ë¥¨¥é¡¼: %s\n"
+
+-#: fortran/module.c:4281 fortran/module.c:4363
++#: fortran/module.c:4468 fortran/module.c:4550
+ #, no-c-format
+ msgid "Symbol '%s' referenced at %L does not exist in intrinsic module ISO_C_BINDING."
+ msgstr ""
+
+-#: fortran/module.c:4394
++#: fortran/module.c:4581
+ #, no-c-format
+ msgid "Symbol '%s' referenced at %L not found in intrinsic module ISO_C_BINDING"
+ msgstr ""
+
+-#: fortran/module.c:4416
++#: fortran/module.c:4603
+ #, fuzzy, no-c-format
+ msgid "Symbol '%s' already declared"
+ msgstr "¥·¥ó¥Ü¥ë¤ÎƬ¤Ë¥¢¥ó¥À¡¼¥¹¥³¥¢¤ò¤Ä¤±¤ë"
+
+-#: fortran/module.c:4471
++#: fortran/module.c:4658
+ #, no-c-format
+ msgid "Use of intrinsic module '%s' at %C conflicts with non-intrinsic module name used previously"
+ msgstr ""
+
+-#: fortran/module.c:4484
++#: fortran/module.c:4671
+ #, no-c-format
+ msgid "Symbol '%s' referenced at %L does not exist in intrinsic module ISO_FORTRAN_ENV"
+ msgstr ""
+
+-#: fortran/module.c:4492
++#: fortran/module.c:4679
+ #, no-c-format
+ msgid "Use of the NUMERIC_STORAGE_SIZE named constant from intrinsic module ISO_FORTRAN_ENV at %L is incompatible with option %s"
+ msgstr ""
+
+-#: fortran/module.c:4520
++#: fortran/module.c:4707
+ #, no-c-format
+ msgid "Use of the NUMERIC_STORAGE_SIZE named constant from intrinsic module ISO_FORTRAN_ENV at %C is incompatible with option %s"
+ msgstr ""
+
+-#: fortran/module.c:4536
++#: fortran/module.c:4723
+ #, no-c-format
+ msgid "Symbol '%s' referenced at %L not found in intrinsic module ISO_FORTRAN_ENV"
+ msgstr ""
+
+-#: fortran/module.c:4569
++#: fortran/module.c:4756
+ #, no-c-format
+ msgid "Fortran 2003: ISO_FORTRAN_ENV intrinsic module at %C"
+ msgstr ""
+
+-#: fortran/module.c:4577
++#: fortran/module.c:4764
+ #, no-c-format
+ msgid "Fortran 2003: ISO_C_BINDING module at %C"
+ msgstr ""
+
+-#: fortran/module.c:4587
++#: fortran/module.c:4774
+ #, no-c-format
+ msgid "Can't find an intrinsic module named '%s' at %C"
+ msgstr ""
+
+-#: fortran/module.c:4592
++#: fortran/module.c:4779
+ #, fuzzy, no-c-format
+ msgid "Can't open module file '%s' for reading at %C: %s"
+ msgstr "%s: Æɤ߹þ¤ßÍѤ˥ե¡¥¤¥ë `%s' ¤ò³«¤¯¤³¤È¤¬¤Ç¤­¤Þ¤»¤ó: %s\n"
+
+-#: fortran/module.c:4600
++#: fortran/module.c:4787
+ #, no-c-format
+ msgid "Use of non-intrinsic module '%s' at %C conflicts with intrinsic module name used previously"
+ msgstr ""
+
+-#: fortran/module.c:4615
++#: fortran/module.c:4802
+ #, fuzzy
+ msgid "Unexpected end of module"
+ msgstr "ͽ´ü¤·¤Ê¤¤·¿¤¬ `id' (%s) ¤Ë»ØÄꤵ¤ì¤Þ¤·¤¿"
+
+-#: fortran/module.c:4620
++#: fortran/module.c:4807
+ #, no-c-format
+ msgid "File '%s' opened at %C is not a GFORTRAN module file"
+ msgstr ""
+
+-#: fortran/module.c:4630
++#: fortran/module.c:4817
+ #, no-c-format
+ msgid "Can't USE the same module we're building!"
+ msgstr ""
+@@ -8014,7 +8011,7 @@
+ msgid "Syntax error in !$OMP THREADPRIVATE list at %C"
+ msgstr ""
+
+-#: fortran/openmp.c:696 fortran/resolve.c:5822 fortran/resolve.c:6133
++#: fortran/openmp.c:696 fortran/resolve.c:5970 fortran/resolve.c:6317
+ #, no-c-format
+ msgid "IF clause at %L requires a scalar LOGICAL expression"
+ msgstr ""
+@@ -8310,303 +8307,303 @@
+ msgid "Maximum subrecord length cannot exceed %d"
+ msgstr ""
+
+-#: fortran/parse.c:304
++#: fortran/parse.c:451
+ #, no-c-format
+ msgid "Unclassifiable statement at %C"
+ msgstr ""
+
+-#: fortran/parse.c:328
++#: fortran/parse.c:475
+ #, no-c-format
+ msgid "OpenMP directives at %C may not appear in PURE or ELEMENTAL procedures"
+ msgstr ""
+
+-#: fortran/parse.c:406
++#: fortran/parse.c:553
+ #, no-c-format
+ msgid "Unclassifiable OpenMP directive at %C"
+ msgstr ""
+
+-#: fortran/parse.c:445 fortran/parse.c:586
++#: fortran/parse.c:592 fortran/parse.c:733
+ #, no-c-format
+ msgid "Zero is not a valid statement label at %C"
+ msgstr ""
+
+-#: fortran/parse.c:452 fortran/parse.c:578
++#: fortran/parse.c:599 fortran/parse.c:725
+ #, no-c-format
+ msgid "Non-numeric character in statement label at %C"
+ msgstr ""
+
+-#: fortran/parse.c:464 fortran/parse.c:500 fortran/parse.c:626
++#: fortran/parse.c:611 fortran/parse.c:647 fortran/parse.c:773
+ #, no-c-format
+ msgid "Semicolon at %C needs to be preceded by statement"
+ msgstr ""
+
+-#: fortran/parse.c:472 fortran/parse.c:638
++#: fortran/parse.c:619 fortran/parse.c:785
+ #, no-c-format
+ msgid "Ignoring statement label in empty statement at %C"
+ msgstr ""
+
+-#: fortran/parse.c:565 fortran/parse.c:605
++#: fortran/parse.c:712 fortran/parse.c:752
+ #, no-c-format
+ msgid "Bad continuation line at %C"
+ msgstr ""
+
+-#: fortran/parse.c:664
++#: fortran/parse.c:811
+ #, no-c-format
+ msgid "Line truncated at %C"
+ msgstr ""
+
+-#: fortran/parse.c:841
++#: fortran/parse.c:997
+ #, no-c-format
+ msgid "FORMAT statement at %L does not have a statement label"
+ msgstr ""
+
+-#: fortran/parse.c:913
++#: fortran/parse.c:1069
+ msgid "arithmetic IF"
+ msgstr ""
+
+-#: fortran/parse.c:919
++#: fortran/parse.c:1075
+ #, fuzzy
+ msgid "attribute declaration"
+ msgstr "̵¸ú¤ÊÀë¸À¤Ç¤¹"
+
+-#: fortran/parse.c:949
++#: fortran/parse.c:1105
+ #, fuzzy
+ msgid "data declaration"
+ msgstr "¶õ¤ÎÀë¸À¤Ç¤¹"
+
+-#: fortran/parse.c:958
++#: fortran/parse.c:1114
+ #, fuzzy
+ msgid "derived type declaration"
+ msgstr "¶õ¤ÎÀë¸À¤Ç¤¹"
+
+-#: fortran/parse.c:1037
++#: fortran/parse.c:1193
+ msgid "block IF"
+ msgstr ""
+
+-#: fortran/parse.c:1046
++#: fortran/parse.c:1202
+ msgid "implied END DO"
+ msgstr ""
+
+-#: fortran/parse.c:1119
++#: fortran/parse.c:1275
+ msgid "assignment"
+ msgstr "ÂåÆþ"
+
+-#: fortran/parse.c:1122
++#: fortran/parse.c:1278
+ #, fuzzy
+ msgid "pointer assignment"
+ msgstr "ÂåÆþ"
+
+-#: fortran/parse.c:1131
++#: fortran/parse.c:1287
+ msgid "simple IF"
+ msgstr ""
+
+-#: fortran/parse.c:1347
++#: fortran/parse.c:1503
+ #, no-c-format
+ msgid "Unexpected %s statement at %C"
+ msgstr ""
+
+-#: fortran/parse.c:1486
++#: fortran/parse.c:1642
+ #, no-c-format
+ msgid "%s statement at %C cannot follow %s statement at %L"
+ msgstr ""
+
+-#: fortran/parse.c:1503
++#: fortran/parse.c:1659
+ #, fuzzy, no-c-format
+ msgid "Unexpected end of file in '%s'"
+ msgstr "¥Õ¥¡¥¤¥ë \"%s\" ¤ËÌá¤ë¤Ï¤º¤Ç¤·¤¿"
+
+-#: fortran/parse.c:1558
++#: fortran/parse.c:1714
+ #, no-c-format
+ msgid "Fortran 2003: Derived type definition at %C without components"
+ msgstr ""
+
+-#: fortran/parse.c:1569
++#: fortran/parse.c:1725
+ #, no-c-format
+ msgid "PRIVATE statement in TYPE at %C must be inside a MODULE"
+ msgstr ""
+
+-#: fortran/parse.c:1577
++#: fortran/parse.c:1733
+ #, no-c-format
+ msgid "PRIVATE statement at %C must precede structure components"
+ msgstr ""
+
+-#: fortran/parse.c:1585
++#: fortran/parse.c:1741
+ #, no-c-format
+ msgid "Duplicate PRIVATE statement at %C"
+ msgstr ""
+
+-#: fortran/parse.c:1597
++#: fortran/parse.c:1753
+ #, no-c-format
+ msgid "SEQUENCE statement at %C must precede structure components"
+ msgstr ""
+
+-#: fortran/parse.c:1604
++#: fortran/parse.c:1760
+ #, no-c-format
+ msgid "SEQUENCE attribute at %C already specified in TYPE statement"
+ msgstr ""
+
+-#: fortran/parse.c:1609
++#: fortran/parse.c:1765
+ #, no-c-format
+ msgid "Duplicate SEQUENCE statement at %C"
+ msgstr ""
+
+-#: fortran/parse.c:1700
++#: fortran/parse.c:1856
+ #, no-c-format
+ msgid "ENUM declaration at %C has no ENUMERATORS"
+ msgstr ""
+
+-#: fortran/parse.c:1778
++#: fortran/parse.c:1934
+ #, no-c-format
+ msgid "Unexpected %s statement in INTERFACE block at %C"
+ msgstr ""
+
+-#: fortran/parse.c:1804
++#: fortran/parse.c:1960
+ #, no-c-format
+ msgid "SUBROUTINE at %C does not belong in a generic function interface"
+ msgstr ""
+
+-#: fortran/parse.c:1808
++#: fortran/parse.c:1964
+ #, no-c-format
+ msgid "FUNCTION at %C does not belong in a generic subroutine interface"
+ msgstr ""
+
+-#: fortran/parse.c:1818
++#: fortran/parse.c:1974
+ #, no-c-format
+ msgid "Name '%s' of ABSTRACT INTERFACE at %C cannot be the same as an intrinsic type"
+ msgstr ""
+
+-#: fortran/parse.c:1849
++#: fortran/parse.c:2005
+ #, no-c-format
+ msgid "Unexpected %s statement at %C in INTERFACE body"
+ msgstr ""
+
+-#: fortran/parse.c:1863
++#: fortran/parse.c:2019
+ #, no-c-format
+ msgid "INTERFACE procedure '%s' at %L has the same name as the enclosing procedure"
+ msgstr ""
+
+-#: fortran/parse.c:1958
++#: fortran/parse.c:2134
+ #, no-c-format
+ msgid "%s statement must appear in a MODULE"
+ msgstr ""
+
+-#: fortran/parse.c:1965
++#: fortran/parse.c:2141
+ #, no-c-format
+ msgid "%s statement at %C follows another accessibility specification"
+ msgstr ""
+
+-#: fortran/parse.c:2015
++#: fortran/parse.c:2191
+ #, fuzzy, no-c-format
+ msgid "Bad kind expression for function '%s' at %L"
+ msgstr "´Ø¿ô `%s' ¤ËÂФ·¤ÆÉÔŬÀÚ¤ÊÊݸ¥¯¥é¥¹"
+
+-#: fortran/parse.c:2018
++#: fortran/parse.c:2195
+ #, no-c-format
+ msgid "The type for function '%s' at %L is not accessible"
+ msgstr ""
+
+-#: fortran/parse.c:2070
++#: fortran/parse.c:2253
+ #, no-c-format
+ msgid "ELSEWHERE statement at %C follows previous unmasked ELSEWHERE"
+ msgstr ""
+
+-#: fortran/parse.c:2091
++#: fortran/parse.c:2274
+ #, no-c-format
+ msgid "Unexpected %s statement in WHERE block at %C"
+ msgstr ""
+
+-#: fortran/parse.c:2150
++#: fortran/parse.c:2333
+ #, no-c-format
+ msgid "Unexpected %s statement in FORALL block at %C"
+ msgstr ""
+
+-#: fortran/parse.c:2201
++#: fortran/parse.c:2384
+ #, no-c-format
+ msgid "ELSE IF statement at %C cannot follow ELSE statement at %L"
+ msgstr ""
+
+-#: fortran/parse.c:2219
++#: fortran/parse.c:2402
+ #, no-c-format
+ msgid "Duplicate ELSE statements at %L and %C"
+ msgstr ""
+
+-#: fortran/parse.c:2280
++#: fortran/parse.c:2463
+ #, no-c-format
+ msgid "Expected a CASE or END SELECT statement following SELECT CASE at %C"
+ msgstr ""
+
+-#: fortran/parse.c:2338
++#: fortran/parse.c:2521
+ #, no-c-format
+ msgid "Variable '%s' at %C cannot be redefined inside loop beginning at %L"
+ msgstr ""
+
+-#: fortran/parse.c:2372
++#: fortran/parse.c:2555
+ #, no-c-format
+ msgid "End of nonblock DO statement at %C is within another block"
+ msgstr ""
+
+-#: fortran/parse.c:2381
++#: fortran/parse.c:2564
+ #, no-c-format
+ msgid "End of nonblock DO statement at %C is interwoven with another DO loop"
+ msgstr ""
+
+-#: fortran/parse.c:2430
++#: fortran/parse.c:2613
+ #, no-c-format
+ msgid "Statement label in ENDDO at %C doesn't match DO label"
+ msgstr ""
+
+-#: fortran/parse.c:2446
++#: fortran/parse.c:2629
+ #, no-c-format
+ msgid "named block DO at %L requires matching ENDDO name"
+ msgstr ""
+
+-#: fortran/parse.c:2702
++#: fortran/parse.c:2885
+ #, no-c-format
+ msgid "Name after !$omp critical and !$omp end critical does not match at %C"
+ msgstr ""
+
+-#: fortran/parse.c:2758
++#: fortran/parse.c:2941
+ #, no-c-format
+ msgid "%s statement at %C cannot terminate a non-block DO loop"
+ msgstr ""
+
+-#: fortran/parse.c:2943
++#: fortran/parse.c:3126
+ #, no-c-format
+ msgid "Contained procedure '%s' at %C is already ambiguous"
+ msgstr ""
+
+-#: fortran/parse.c:2993
++#: fortran/parse.c:3176
+ #, no-c-format
+ msgid "Unexpected %s statement in CONTAINS section at %C"
+ msgstr ""
+
+ #. This is valid in Fortran 2008.
+-#: fortran/parse.c:3018
++#: fortran/parse.c:3201
+ #, no-c-format
+ msgid "Extension: CONTAINS statement without FUNCTION or SUBROUTINE statement at %C"
+ msgstr ""
+
+-#: fortran/parse.c:3089
++#: fortran/parse.c:3272
+ #, no-c-format
+ msgid "CONTAINS statement at %C is already in a contained program unit"
+ msgstr ""
+
+-#: fortran/parse.c:3138
++#: fortran/parse.c:3321
+ #, no-c-format
+ msgid "Global name '%s' at %L is already being used as a %s at %L"
+ msgstr ""
+
+-#: fortran/parse.c:3159
++#: fortran/parse.c:3342
+ #, no-c-format
+ msgid "Blank BLOCK DATA at %C conflicts with prior BLOCK DATA at %L"
+ msgstr ""
+
+-#: fortran/parse.c:3185
++#: fortran/parse.c:3368
+ #, no-c-format
+ msgid "Unexpected %s statement in BLOCK DATA at %C"
+ msgstr ""
+
+-#: fortran/parse.c:3228
++#: fortran/parse.c:3411
+ #, no-c-format
+ msgid "Unexpected %s statement in MODULE at %C"
+ msgstr ""
+@@ -8614,7 +8611,7 @@
+ #. If we see a duplicate main program, shut down. If the second
+ #. instance is an implied main program, ie data decls or executable
+ #. statements, we're in for lots of errors.
+-#: fortran/parse.c:3416
++#: fortran/parse.c:3594
+ #, no-c-format
+ msgid "Two main PROGRAMs at %L and %C"
+ msgstr ""
+@@ -8651,7 +8648,7 @@
+
+ #: fortran/primary.c:353
+ #, no-c-format
+-msgid "Extension: Hexadecimal constant at %C uses non-standard syntax."
++msgid "Extension: Hexadecimal constant at %C uses non-standard syntax"
+ msgstr ""
+
+ #: fortran/primary.c:363
+@@ -8664,994 +8661,1039 @@
+ msgid "Illegal character in BOZ constant at %C"
+ msgstr "̵¸ú¤Êʸ»úÄê¿ô¤¬ #if ¤Ë¤¢¤ê¤Þ¤¹"
+
+-#: fortran/primary.c:391
++#: fortran/primary.c:392
+ #, no-c-format
+-msgid "Extension: BOZ constant at %C uses non-standard postfix syntax."
++msgid "Extension: BOZ constant at %C uses non-standard postfix syntax"
+ msgstr ""
+
+-#: fortran/primary.c:417
++#: fortran/primary.c:423
+ #, no-c-format
+ msgid "Integer too big for integer kind %i at %C"
+ msgstr ""
+
+-#: fortran/primary.c:517
++#: fortran/primary.c:429
+ #, no-c-format
++msgid "Fortran 2003: BOZ used outside a DATA statement at %C"
++msgstr ""
++
++#: fortran/primary.c:529
++#, no-c-format
+ msgid "Missing exponent in real number at %C"
+ msgstr ""
+
+-#: fortran/primary.c:573
++#: fortran/primary.c:585
+ #, no-c-format
+ msgid "Real number at %C has a 'd' exponent and an explicit kind"
+ msgstr ""
+
+-#: fortran/primary.c:586
++#: fortran/primary.c:598
+ #, no-c-format
+ msgid "Invalid real kind %d at %C"
+ msgstr ""
+
+-#: fortran/primary.c:600
++#: fortran/primary.c:612
+ #, no-c-format
+ msgid "Real constant overflows its kind at %C"
+ msgstr ""
+
+-#: fortran/primary.c:605
++#: fortran/primary.c:617
+ #, no-c-format
+ msgid "Real constant underflows its kind at %C"
+ msgstr ""
+
+-#: fortran/primary.c:697
++#: fortran/primary.c:709
+ #, fuzzy, no-c-format
+ msgid "Syntax error in SUBSTRING specification at %C"
+ msgstr "¥á¥½¥Ã¥É»ÅÍÍÆâ¤Ç¤Î¹½Ê¸²òÀÏ¥¨¥é¡¼"
+
+-#: fortran/primary.c:902
++#: fortran/primary.c:914
+ #, no-c-format
+ msgid "Invalid kind %d for CHARACTER constant at %C"
+ msgstr ""
+
+-#: fortran/primary.c:923
++#: fortran/primary.c:935
+ #, fuzzy, no-c-format
+ msgid "Unterminated character constant beginning at %C"
+ msgstr "½ªÃ¼¤µ¤ì¤Æ¤¤¤Ê¤¤Ê¸»úÎóÄê¿ôËô¤Ïʸ»úÄê¿ô"
+
+-#: fortran/primary.c:1035
++#: fortran/primary.c:1047
+ #, no-c-format
+ msgid "Bad kind for logical constant at %C"
+ msgstr ""
+
+-#: fortran/primary.c:1074
++#: fortran/primary.c:1086
+ #, no-c-format
+ msgid "Expected PARAMETER symbol in complex constant at %C"
+ msgstr ""
+
+-#: fortran/primary.c:1080
++#: fortran/primary.c:1092
+ #, no-c-format
+ msgid "Numeric PARAMETER required in complex constant at %C"
+ msgstr ""
+
+-#: fortran/primary.c:1086
++#: fortran/primary.c:1098
+ #, no-c-format
+ msgid "Scalar PARAMETER required in complex constant at %C"
+ msgstr ""
+
+-#: fortran/primary.c:1090
++#: fortran/primary.c:1102
+ #, no-c-format
+ msgid "Fortran 2003: PARAMETER symbol in complex constant at %C"
+ msgstr ""
+
+-#: fortran/primary.c:1120
++#: fortran/primary.c:1132
+ #, no-c-format
+ msgid "Error converting PARAMETER constant in complex constant at %C"
+ msgstr ""
+
+-#: fortran/primary.c:1249
++#: fortran/primary.c:1261
+ #, no-c-format
+ msgid "Syntax error in COMPLEX constant at %C"
+ msgstr ""
+
+-#: fortran/primary.c:1430
++#: fortran/primary.c:1442
+ #, no-c-format
+ msgid "Keyword '%s' at %C has already appeared in the current argument list"
+ msgstr ""
+
+-#: fortran/primary.c:1494
++#: fortran/primary.c:1506
+ #, fuzzy, no-c-format
+ msgid "Extension: argument list function at %C"
+ msgstr "´Ø¿ô `%s' ¤ËÂФ¹¤ë°ú¿ô¤¬Â¿¤¹¤®¤Þ¤¹"
+
+-#: fortran/primary.c:1561
++#: fortran/primary.c:1573
+ #, fuzzy, no-c-format
+ msgid "Expected alternate return label at %C"
+ msgstr "¥Õ¥¡¥¤¥ë \"%s\" ¤ËÌá¤ë¤Ï¤º¤Ç¤·¤¿"
+
+-#: fortran/primary.c:1579
++#: fortran/primary.c:1591
+ #, fuzzy, no-c-format
+ msgid "Missing keyword name in actual argument list at %C"
+ msgstr "¥Þ¥¯¥í°ú¿ô¥ê¥¹¥È¤Ë¤¢¤êÆÀ¤Ê¤¤¥È¡¼¥¯¥ó"
+
+-#: fortran/primary.c:1624
++#: fortran/primary.c:1636
+ #, no-c-format
+ msgid "Syntax error in argument list at %C"
+ msgstr ""
+
+-#: fortran/primary.c:1708
++#: fortran/primary.c:1723
+ #, fuzzy, no-c-format
+ msgid "Expected structure component name at %C"
+ msgstr "¹ÔÈÖ¹æ %u ¤ËÌá¤ë¤Ï¤º¤Ç¤·¤¿"
+
+-#: fortran/primary.c:1961
++#: fortran/primary.c:1980
+ #, no-c-format
+ msgid "Too many components in structure constructor at %C"
+ msgstr ""
+
+-#: fortran/primary.c:1974
++#: fortran/primary.c:1993
+ #, no-c-format
+ msgid "Structure constructor for '%s' at %C has PRIVATE components"
+ msgstr ""
+
+-#: fortran/primary.c:1984
++#: fortran/primary.c:2003
+ #, no-c-format
+ msgid "Too few components in structure constructor at %C"
+ msgstr ""
+
+-#: fortran/primary.c:2002
++#: fortran/primary.c:2021
+ #, no-c-format
+ msgid "Syntax error in structure constructor at %C"
+ msgstr ""
+
+-#: fortran/primary.c:2086
++#: fortran/primary.c:2105
+ #, no-c-format
+ msgid "'%s' 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.c:2188
++#: fortran/primary.c:2207
+ #, no-c-format
+ msgid "Unexpected use of subroutine name '%s' at %C"
+ msgstr ""
+
+-#: fortran/primary.c:2219
++#: fortran/primary.c:2238
+ #, fuzzy, no-c-format
+ msgid "Statement function '%s' requires argument list at %C"
+ msgstr "%s: ¥ª¥×¥·¥ç¥ó `%s' ¤Ë¤Ï°ú¿ô¤¬É¬ÍפǤ¹\n"
+
+-#: fortran/primary.c:2222
++#: fortran/primary.c:2241
+ #, fuzzy, no-c-format
+ msgid "Function '%s' requires an argument list at %C"
+ msgstr "%s: ¥ª¥×¥·¥ç¥ó `%s' ¤Ë¤Ï°ú¿ô¤¬É¬ÍפǤ¹\n"
+
+-#: fortran/primary.c:2267
++#: fortran/primary.c:2286
+ #, fuzzy, no-c-format
+ msgid "Missing argument to '%s' at %C"
+ msgstr "`%s' ¥ª¥×¥·¥ç¥ó¤ËÂФ¹¤ë°ú¿ô¤¬¤¢¤ê¤Þ¤»¤ó"
+
+-#: fortran/primary.c:2408
++#: fortran/primary.c:2427
+ #, fuzzy, no-c-format
+ msgid "Missing argument list in function '%s' at %C"
+ msgstr "`%s' ¥ª¥×¥·¥ç¥ó¤ËÂФ¹¤ë°ú¿ô¤¬¤¢¤ê¤Þ¤»¤ó"
+
+-#: fortran/primary.c:2436
++#: fortran/primary.c:2455
+ #, fuzzy, no-c-format
+ msgid "Symbol at %C is not appropriate for an expression"
+ msgstr "¼°¤ÎÉâÆ°¾®¿ôÅÀ¿ô¤¬¥ª¡¼¥Ð¡¼¥Õ¥í¡¼¤·¤Þ¤·¤¿"
+
+-#: fortran/primary.c:2504
++#: fortran/primary.c:2523
+ #, no-c-format
+ msgid "Assigning to PROTECTED variable at %C"
+ msgstr ""
+
+-#: fortran/primary.c:2520
++#: fortran/primary.c:2557
+ #, no-c-format
+ msgid "Named constant at %C in an EQUIVALENCE"
+ msgstr ""
+
+-#: fortran/primary.c:2543
+-#, no-c-format
+-msgid "Expected VARIABLE at %C"
+-msgstr ""
++#: fortran/primary.c:2579
++#, fuzzy, no-c-format
++msgid "'%s' at %C is not a variable"
++msgstr "\"%s\" ¤ÏÀµ¾ï¤Ê¥Õ¥¡¥¤¥ë̾¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó"
+
+-#: fortran/resolve.c:120
++#: fortran/resolve.c:121
+ #, no-c-format
+ msgid "Alternate return specifier in elemental subroutine '%s' at %L is not allowed"
+ msgstr ""
+
+-#: fortran/resolve.c:124
++#: fortran/resolve.c:125
+ #, no-c-format
+ msgid "Alternate return specifier in function '%s' at %L is not allowed"
+ msgstr ""
+
+-#: fortran/resolve.c:137
++#: fortran/resolve.c:138
+ #, no-c-format
+ msgid "Dummy procedure '%s' of PURE procedure at %L must also be PURE"
+ msgstr ""
+
+-#: fortran/resolve.c:144
++#: fortran/resolve.c:145
+ #, no-c-format
+ msgid "Dummy procedure at %L not allowed in ELEMENTAL procedure"
+ msgstr ""
+
+-#: fortran/resolve.c:157 fortran/resolve.c:1080
++#: fortran/resolve.c:158 fortran/resolve.c:1138
+ #, no-c-format
+ msgid "Unable to find a specific INTRINSIC procedure for the reference '%s' at %L"
+ msgstr ""
+
+-#: fortran/resolve.c:201
++#: fortran/resolve.c:202
+ #, no-c-format
+ msgid "Argument '%s' of pure function '%s' at %L must be INTENT(IN)"
+ msgstr ""
+
+-#: fortran/resolve.c:206
++#: fortran/resolve.c:207
+ #, no-c-format
+ msgid "Argument '%s' of pure subroutine '%s' at %L must have its INTENT specified"
+ msgstr ""
+
+-#: fortran/resolve.c:215
++#: fortran/resolve.c:216
+ #, no-c-format
+ msgid "Argument '%s' of elemental procedure at %L must be scalar"
+ msgstr ""
+
+-#: fortran/resolve.c:222
++#: fortran/resolve.c:223
+ #, no-c-format
+ msgid "Argument '%s' of elemental procedure at %L cannot have the POINTER attribute"
+ msgstr ""
+
+-#: fortran/resolve.c:234
++#: fortran/resolve.c:231
+ #, no-c-format
++msgid "Dummy procedure '%s' not allowed in elemental procedure '%s' at %L"
++msgstr ""
++
++#: fortran/resolve.c:243
++#, no-c-format
+ msgid "Argument '%s' of statement function at %L must be scalar"
+ msgstr ""
+
+-#: fortran/resolve.c:244
++#: fortran/resolve.c:253
+ #, no-c-format
+ msgid "Character-valued argument '%s' of statement function at %L must have constant length"
+ msgstr ""
+
+-#: fortran/resolve.c:299
++#: fortran/resolve.c:310
+ #, no-c-format
+ msgid "Contained function '%s' at %L has no IMPLICIT type"
+ msgstr ""
+
+-#: fortran/resolve.c:302
++#: fortran/resolve.c:313
+ #, no-c-format
+ msgid "Result '%s' of contained function '%s' at %L has no IMPLICIT type"
+ msgstr ""
+
+-#: fortran/resolve.c:319
++#: fortran/resolve.c:330
+ #, no-c-format
+ msgid "Character-valued internal function '%s' at %L must not be assumed length"
+ msgstr ""
+
+-#: fortran/resolve.c:490
++#: fortran/resolve.c:501
++#, fuzzy, no-c-format
++msgid "Function %s at %L has entries with mismatched array specifications"
++msgstr "¥¤¥ó¥¹¥¿¥ó¥¹ÊÑ¿ô¤Î»ÅÍͤ¬°ì´Ó¤·¤Æ¤¤¤Þ¤»¤ó"
++
++#: fortran/resolve.c:518
+ #, no-c-format
+-msgid "Procedure %s at %L has entries with mismatched array specifications"
++msgid "Extension: Function %s at %L with entries returning variables of different string lengths"
+ msgstr ""
+
+-#: fortran/resolve.c:516
++#: fortran/resolve.c:545
+ #, no-c-format
+ msgid "FUNCTION result %s can't be an array in FUNCTION %s at %L"
+ msgstr ""
+
+-#: fortran/resolve.c:520
++#: fortran/resolve.c:549
+ #, no-c-format
+ msgid "ENTRY result %s can't be an array in FUNCTION %s at %L"
+ msgstr ""
+
+-#: fortran/resolve.c:527
++#: fortran/resolve.c:556
+ #, no-c-format
+ msgid "FUNCTION result %s can't be a POINTER in FUNCTION %s at %L"
+ msgstr ""
+
+-#: fortran/resolve.c:531
++#: fortran/resolve.c:560
+ #, no-c-format
+ msgid "ENTRY result %s can't be a POINTER in FUNCTION %s at %L"
+ msgstr ""
+
+-#: fortran/resolve.c:569
++#: fortran/resolve.c:598
+ #, no-c-format
+ msgid "FUNCTION result %s can't be of type %s in FUNCTION %s at %L"
+ msgstr ""
+
+-#: fortran/resolve.c:574
++#: fortran/resolve.c:603
+ #, no-c-format
+ msgid "ENTRY result %s can't be of type %s in FUNCTION %s at %L"
+ msgstr ""
+
+-#: fortran/resolve.c:643
++#: fortran/resolve.c:661
+ #, no-c-format
++msgid "Variable '%s' at %L is in COMMON but only in BLOCK DATA initialization is allowed"
++msgstr ""
++
++#: fortran/resolve.c:665
++#, no-c-format
++msgid "Initialized variable '%s' at %L is in a blank COMMON but initialization is only allowed in named common blocks"
++msgstr ""
++
++#: fortran/resolve.c:676
++#, no-c-format
+ msgid "Derived type variable '%s' in COMMON at %L has neither the SEQUENCE nor the BIND(C) attribute"
+ msgstr ""
+
+-#: fortran/resolve.c:647
++#: fortran/resolve.c:680
+ #, no-c-format
+ msgid "Derived type variable '%s' in COMMON at %L has an ultimate component that is allocatable"
+ msgstr ""
+
+-#: fortran/resolve.c:651
++#: fortran/resolve.c:684
+ #, no-c-format
+ msgid "Derived type variable '%s' in COMMON at %L may not have default initializer"
+ msgstr ""
+
+-#: fortran/resolve.c:661
++#: fortran/resolve.c:711
+ #, no-c-format
+ msgid "COMMON block '%s' at %L is used as PARAMETER at %L"
+ msgstr ""
+
+-#: fortran/resolve.c:665
++#: fortran/resolve.c:715
+ #, no-c-format
+ msgid "COMMON block '%s' at %L is also an intrinsic procedure"
+ msgstr ""
+
+-#: fortran/resolve.c:669
++#: fortran/resolve.c:719
+ #, no-c-format
+ msgid "Fortran 2003: COMMON block '%s' at %L that is also a function result"
+ msgstr ""
+
+-#: fortran/resolve.c:674
++#: fortran/resolve.c:724
+ #, no-c-format
+ msgid "Fortran 2003: COMMON block '%s' at %L that is also a global procedure"
+ msgstr ""
+
+-#: fortran/resolve.c:736
++#: fortran/resolve.c:786
+ #, no-c-format
+ msgid "Components of structure constructor '%s' at %L are PRIVATE"
+ msgstr ""
+
+-#: fortran/resolve.c:756
++#: fortran/resolve.c:808
+ #, no-c-format
+ msgid "The rank of the element in the derived type constructor at %L does not match that of the component (%d/%d)"
+ msgstr ""
+
+-#: fortran/resolve.c:769
++#: fortran/resolve.c:821
+ #, no-c-format
+ msgid "The element in the derived type constructor at %L, for pointer component '%s', is %s but should be %s"
+ msgstr ""
+
+-#: fortran/resolve.c:786
++#: fortran/resolve.c:838
+ #, no-c-format
+ msgid "The element in the derived type constructor at %L, for pointer component '%s' should be a POINTER or a TARGET"
+ msgstr ""
+
+-#: fortran/resolve.c:913
++#: fortran/resolve.c:965
+ #, no-c-format
+ msgid "The upper bound in the last dimension must appear in the reference to the assumed size array '%s' at %L"
+ msgstr ""
+
+-#: fortran/resolve.c:976 fortran/resolve.c:5434 fortran/resolve.c:6098
++#: fortran/resolve.c:1029 fortran/resolve.c:5576 fortran/resolve.c:6282
+ #, fuzzy, no-c-format
+ msgid "Label %d referenced at %L is never defined"
+ msgstr "¥é¥Ù¥ë %s ¤¬¤¢¤é¤æ¤ë´Ø¿ô¤Î³°Â¦¤Ç»²¾È¤µ¤ì¤Þ¤·¤¿"
+
+-#: fortran/resolve.c:986
++#: fortran/resolve.c:1039
+ #, fuzzy, no-c-format
+ msgid "'%s' at %L is ambiguous"
+ msgstr "%s: ¥ª¥×¥·¥ç¥ó `%s' ¤Ï¤¢¤¤¤Þ¤¤¤Ç¤¹\n"
+
+-#: fortran/resolve.c:1018
++#: fortran/resolve.c:1075
+ #, no-c-format
+ msgid "Statement function '%s' at %L is not allowed as an actual argument"
+ msgstr ""
+
+-#: fortran/resolve.c:1026
++#: fortran/resolve.c:1083
+ #, no-c-format
+ msgid "Intrinsic '%s' at %L is not allowed as an actual argument"
+ msgstr ""
+
+-#: fortran/resolve.c:1033
++#: fortran/resolve.c:1090
+ #, no-c-format
+ msgid "Internal procedure '%s' is not allowed as an actual argument at %L"
+ msgstr ""
+
+-#: fortran/resolve.c:1039
++#: fortran/resolve.c:1096
+ #, no-c-format
+ msgid "ELEMENTAL non-INTRINSIC procedure '%s' is not allowed as an actual argument at %L"
+ msgstr ""
+
+-#: fortran/resolve.c:1059
++#: fortran/resolve.c:1116
+ #, no-c-format
+ msgid "GENERIC procedure '%s' is not allowed as an actual argument at %L"
+ msgstr ""
+
+-#: fortran/resolve.c:1098
++#: fortran/resolve.c:1157
+ #, fuzzy, no-c-format
+ msgid "Symbol '%s' at %L is ambiguous"
+ msgstr "%s: ¥ª¥×¥·¥ç¥ó `%s' ¤Ï¤¢¤¤¤Þ¤¤¤Ç¤¹\n"
+
+-#: fortran/resolve.c:1143
++#: fortran/resolve.c:1206
+ #, no-c-format
+ msgid "By-value argument at %L is not of numeric type"
+ msgstr ""
+
+-#: fortran/resolve.c:1150
++#: fortran/resolve.c:1213
+ #, no-c-format
+ msgid "By-value argument at %L cannot be an array or an array section"
+ msgstr ""
+
+-#: fortran/resolve.c:1164
++#: fortran/resolve.c:1227
+ #, no-c-format
+ msgid "By-value argument at %L is not allowed in this context"
+ msgstr ""
+
+-#: fortran/resolve.c:1176
++#: fortran/resolve.c:1239
+ #, no-c-format
+ msgid "Passing internal procedure at %L by location not allowed"
+ msgstr ""
+
+-#: fortran/resolve.c:1293
++#: fortran/resolve.c:1356
+ #, no-c-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)"
+ msgstr ""
+
+-#: fortran/resolve.c:1315
++#: fortran/resolve.c:1378
+ msgid "elemental procedure"
+ msgstr ""
+
+-#: fortran/resolve.c:1332
++#: fortran/resolve.c:1395
+ #, no-c-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"
+ msgstr ""
+
+-#: fortran/resolve.c:1466
++#: fortran/resolve.c:1531
+ #, no-c-format
+ msgid "There is no specific function for the generic '%s' at %L"
+ msgstr ""
+
+-#: fortran/resolve.c:1475
++#: fortran/resolve.c:1540
+ #, no-c-format
+ msgid "Generic function '%s' at %L is not consistent with a specific intrinsic interface"
+ msgstr ""
+
+-#: fortran/resolve.c:1513
++#: fortran/resolve.c:1594
+ #, no-c-format
+ msgid "Function '%s' at %L is INTRINSIC but is not compatible with an intrinsic"
+ msgstr ""
+
+-#: fortran/resolve.c:1559
++#: fortran/resolve.c:1640
+ #, no-c-format
+ msgid "Unable to resolve the specific function '%s' at %L"
+ msgstr ""
+
+-#: fortran/resolve.c:1615 fortran/resolve.c:8740
++#: fortran/resolve.c:1696 fortran/resolve.c:8931
+ #, no-c-format
+ msgid "Function '%s' at %L has no IMPLICIT type"
+ msgstr ""
+
+-#: fortran/resolve.c:1799
++#: fortran/resolve.c:1907
+ #, fuzzy, no-c-format
+ msgid "Argument to '%s' at %L is not a variable"
+ msgstr "`asm' ¤Î°ú¿ô¤¬Äê¿ôʸ»úÎó¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó "
+
+-#: fortran/resolve.c:1871
++#: fortran/resolve.c:1979
+ #, no-c-format
+ msgid "More actual than formal arguments in '%s' call at %L"
+ msgstr ""
+
+-#: fortran/resolve.c:1883
++#: fortran/resolve.c:1991
+ #, no-c-format
+ msgid "Parameter '%s' to '%s' at %L must be either a TARGET or an associated pointer"
+ msgstr ""
+
+-#: fortran/resolve.c:1909
++#: fortran/resolve.c:2017
+ #, no-c-format
+ msgid "Allocatable variable '%s' used as a parameter to '%s' at %L must not be an array of zero size"
+ msgstr ""
+
+-#: fortran/resolve.c:1926
++#: fortran/resolve.c:2034
+ #, no-c-format
+ msgid "Assumed-shape array '%s' at %L cannot be an argument to the procedure '%s' because it is not C interoperable"
+ msgstr ""
+
+-#: fortran/resolve.c:1936
++#: fortran/resolve.c:2044
+ #, no-c-format
+ msgid "Deferred-shape array '%s' at %L cannot be an argument to the procedure '%s' because it is not C interoperable"
+ msgstr ""
+
+-#: fortran/resolve.c:1959 fortran/resolve.c:1998
++#: fortran/resolve.c:2067 fortran/resolve.c:2106
+ #, no-c-format
+ msgid "CHARACTER argument '%s' to '%s' at %L must have a length of 1"
+ msgstr ""
+
+ #. Case 1c, section 15.1.2.5, J3/04-007: an associated
+ #. scalar pointer.
+-#: fortran/resolve.c:1974
++#: fortran/resolve.c:2082
+ #, no-c-format
+ msgid "Argument '%s' to '%s' at %L must be an associated scalar POINTER"
+ msgstr ""
+
+-#: fortran/resolve.c:1990
++#: fortran/resolve.c:2098
+ #, no-c-format
+ msgid "Parameter '%s' to '%s' at %L must be a scalar"
+ msgstr ""
+
+ #. TODO: Update this error message to allow for procedure
+ #. pointers once they are implemented.
+-#: fortran/resolve.c:2012
++#: fortran/resolve.c:2120
+ #, no-c-format
+ msgid "Parameter '%s' to '%s' at %L must be a procedure"
+ msgstr ""
+
+-#: fortran/resolve.c:2020
++#: fortran/resolve.c:2128
+ #, no-c-format
+ msgid "Parameter '%s' to '%s' at %L must be BIND(C)"
+ msgstr ""
+
+-#: fortran/resolve.c:2062
++#: fortran/resolve.c:2170
+ #, fuzzy, no-c-format
+ msgid "'%s' at %L is not a function"
+ msgstr "¸Æ¤Ó½Ð¤µ¤ì¤¿¥ª¥Ö¥¸¥§¥¯¥È¤Ï´Ø¿ô¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó"
+
+-#: fortran/resolve.c:2068
++#: fortran/resolve.c:2176
+ #, no-c-format
+ msgid "ABSTRACT INTERFACE '%s' must not be referenced at %L"
+ msgstr ""
+
+ #. Internal procedures are taken care of in resolve_contained_fntype.
+-#: fortran/resolve.c:2111
++#: fortran/resolve.c:2219
+ #, no-c-format
+ msgid "Function '%s' is declared CHARACTER(*) and cannot be used at %L since it is not a dummy argument"
+ msgstr ""
+
+-#: fortran/resolve.c:2164
++#: fortran/resolve.c:2272
+ #, no-c-format
+ msgid "User defined non-ELEMENTAL function '%s' at %L not allowed in WORKSHARE construct"
+ msgstr ""
+
+-#: fortran/resolve.c:2213
++#: fortran/resolve.c:2321
+ #, no-c-format
+ msgid "reference to non-PURE function '%s' at %L inside a FORALL %s"
+ msgstr ""
+
+-#: fortran/resolve.c:2220
++#: fortran/resolve.c:2328
+ #, no-c-format
+ msgid "Function reference to '%s' at %L is to a non-PURE procedure within a PURE procedure"
+ msgstr ""
+
+-#: fortran/resolve.c:2235
++#: fortran/resolve.c:2343
+ #, no-c-format
+ msgid "Function '%s' at %L cannot call itself, as it is not RECURSIVE"
+ msgstr ""
+
+-#: fortran/resolve.c:2243
++#: fortran/resolve.c:2351
+ #, no-c-format
+ msgid "Call to ENTRY '%s' at %L is recursive, but function '%s' is not declared as RECURSIVE"
+ msgstr ""
+
+-#: fortran/resolve.c:2285
++#: fortran/resolve.c:2393
+ #, no-c-format
+ msgid "Subroutine call to '%s' in FORALL block at %L is not PURE"
+ msgstr ""
+
+-#: fortran/resolve.c:2288
++#: fortran/resolve.c:2396
+ #, no-c-format
+ msgid "Subroutine call to '%s' at %L is not PURE"
+ msgstr ""
+
+-#: fortran/resolve.c:2351
++#: fortran/resolve.c:2459
+ #, no-c-format
+ msgid "There is no specific subroutine for the generic '%s' at %L"
+ msgstr ""
+
+-#: fortran/resolve.c:2360
++#: fortran/resolve.c:2468
+ #, no-c-format
+ msgid "Generic subroutine '%s' at %L is not consistent with an intrinsic subroutine interface"
+ msgstr ""
+
+-#: fortran/resolve.c:2468
++#: fortran/resolve.c:2576
+ #, no-c-format
+ msgid "Missing SHAPE parameter for call to %s at %L"
+ msgstr ""
+
+-#: fortran/resolve.c:2476
++#: fortran/resolve.c:2584
+ #, no-c-format
+ msgid "SHAPE parameter for call to %s at %L must be a rank 1 INTEGER array"
+ msgstr ""
+
+-#: fortran/resolve.c:2543
++#: fortran/resolve.c:2667
+ #, no-c-format
+ msgid "Subroutine '%s' at %L is INTRINSIC but is not compatible with an intrinsic"
+ msgstr ""
+
+-#: fortran/resolve.c:2587
++#: fortran/resolve.c:2711
+ #, no-c-format
+ msgid "Unable to resolve the specific subroutine '%s' at %L"
+ msgstr ""
+
+-#: fortran/resolve.c:2644
++#: fortran/resolve.c:2768
+ #, no-c-format
+ msgid "'%s' at %L has a type, which is not consistent with the CALL at %L"
+ msgstr ""
+
+-#: fortran/resolve.c:2663
++#: fortran/resolve.c:2787
+ #, no-c-format
+ msgid "SUBROUTINE '%s' at %L cannot call itself, as it is not RECURSIVE"
+ msgstr ""
+
+-#: fortran/resolve.c:2671
++#: fortran/resolve.c:2795
+ #, no-c-format
+ msgid "Call to ENTRY '%s' at %L is recursive, but subroutine '%s' is not declared as RECURSIVE"
+ msgstr ""
+
+-#: fortran/resolve.c:2741
++#: fortran/resolve.c:2865
+ #, fuzzy, no-c-format
+ msgid "Shapes for operands at %L and %L are not conformable"
+ msgstr "shared ¤È mdll ¤È¤Ï¶¦Â¸¤Ç¤­¤Þ¤»¤ó"
+
+-#: fortran/resolve.c:2792
++#: fortran/resolve.c:2916
+ #, c-format
+ msgid "Invalid context for NULL() pointer at %%L"
+ msgstr ""
+
+-#: fortran/resolve.c:2808
++#: fortran/resolve.c:2932
+ #, c-format
+ msgid "Operand of unary numeric operator '%s' at %%L is %s"
+ msgstr ""
+
+-#: fortran/resolve.c:2824
++#: fortran/resolve.c:2948
+ #, c-format
+ msgid "Operands of binary numeric operator '%s' at %%L are %s/%s"
+ msgstr ""
+
+-#: fortran/resolve.c:2838
++#: fortran/resolve.c:2962
+ #, c-format
+ msgid "Operands of string concatenation operator at %%L are %s/%s"
+ msgstr ""
+
+-#: fortran/resolve.c:2857
++#: fortran/resolve.c:2981
+ #, c-format
+ msgid "Operands of logical operator '%s' at %%L are %s/%s"
+ msgstr ""
+
+-#: fortran/resolve.c:2871
++#: fortran/resolve.c:2995
+ #, c-format
+ msgid "Operand of .not. operator at %%L is %s"
+ msgstr ""
+
+-#: fortran/resolve.c:2885
++#: fortran/resolve.c:3009
+ msgid "COMPLEX quantities cannot be compared at %L"
+ msgstr ""
+
+-#: fortran/resolve.c:2913
++#: fortran/resolve.c:3037
+ #, c-format
+ msgid "Logicals at %%L must be compared with %s instead of %s"
+ msgstr ""
+
+-#: fortran/resolve.c:2919
++#: fortran/resolve.c:3043
+ #, c-format
+ msgid "Operands of comparison operator '%s' at %%L are %s/%s"
+ msgstr ""
+
+-#: fortran/resolve.c:2927
++#: fortran/resolve.c:3051
+ #, c-format
+ msgid "Unknown operator '%s' at %%L"
+ msgstr ""
+
+-#: fortran/resolve.c:2929
++#: fortran/resolve.c:3053
+ #, c-format
+ msgid "Operand of user operator '%s' at %%L is %s"
+ msgstr ""
+
+-#: fortran/resolve.c:2932
++#: fortran/resolve.c:3056
+ #, c-format
+ msgid "Operands of user operator '%s' at %%L are %s/%s"
+ msgstr ""
+
+-#: fortran/resolve.c:3018
++#: fortran/resolve.c:3142
+ #, c-format
+ msgid "Inconsistent ranks for operator at %%L and %%L"
+ msgstr ""
+
+-#: fortran/resolve.c:3212
++#: fortran/resolve.c:3339
+ #, no-c-format
+ msgid "Array reference at %L is out of bounds (%ld < %ld) in dimension %d"
+ msgstr ""
+
+-#: fortran/resolve.c:3220
++#: fortran/resolve.c:3347
+ #, no-c-format
+ msgid "Array reference at %L is out of bounds (%ld > %ld) in dimension %d"
+ msgstr ""
+
+-#: fortran/resolve.c:3239
++#: fortran/resolve.c:3366
+ #, no-c-format
+ msgid "Illegal stride of zero at %L"
+ msgstr ""
+
+-#: fortran/resolve.c:3256
++#: fortran/resolve.c:3383
+ #, no-c-format
+ msgid "Lower array reference at %L is out of bounds (%ld < %ld) in dimension %d"
+ msgstr ""
+
+-#: fortran/resolve.c:3264
++#: fortran/resolve.c:3391
+ #, no-c-format
+ msgid "Lower array reference at %L is out of bounds (%ld > %ld) in dimension %d"
+ msgstr ""
+
+-#: fortran/resolve.c:3280
++#: fortran/resolve.c:3407
+ #, no-c-format
+ msgid "Upper array reference at %L is out of bounds (%ld < %ld) in dimension %d"
+ msgstr ""
+
+-#: fortran/resolve.c:3289
++#: fortran/resolve.c:3416
+ #, no-c-format
+ msgid "Upper array reference at %L is out of bounds (%ld > %ld) in dimension %d"
+ msgstr ""
+
+-#: fortran/resolve.c:3328
++#: fortran/resolve.c:3455
+ #, no-c-format
+ msgid "Rightmost upper bound of assumed size array section not specified at %L"
+ msgstr ""
+
+-#: fortran/resolve.c:3338
++#: fortran/resolve.c:3465
+ #, no-c-format
+ msgid "Rank mismatch in array reference at %L (%d/%d)"
+ msgstr ""
+
+-#: fortran/resolve.c:3366
++#: fortran/resolve.c:3493
+ #, no-c-format
+ msgid "Array index at %L must be scalar"
+ msgstr ""
+
+-#: fortran/resolve.c:3372
++#: fortran/resolve.c:3499
+ #, no-c-format
+ msgid "Array index at %L must be of INTEGER type"
+ msgstr ""
+
+-#: fortran/resolve.c:3378
++#: fortran/resolve.c:3505
+ #, no-c-format
+ msgid "Extension: REAL array index at %L"
+ msgstr ""
+
+-#: fortran/resolve.c:3408
++#: fortran/resolve.c:3535
+ #, no-c-format
+ msgid "Argument dim at %L must be scalar"
+ msgstr ""
+
+-#: fortran/resolve.c:3414
++#: fortran/resolve.c:3542
+ #, no-c-format
+ msgid "Argument dim at %L must be of INTEGER type"
+ msgstr ""
+
+-#: fortran/resolve.c:3534
++#: fortran/resolve.c:3663
+ #, no-c-format
+ msgid "Array index at %L is an array of rank %d"
+ msgstr ""
+
+-#: fortran/resolve.c:3571
++#: fortran/resolve.c:3700
+ #, no-c-format
+ msgid "Substring start index at %L must be of type INTEGER"
+ msgstr ""
+
+-#: fortran/resolve.c:3578
++#: fortran/resolve.c:3707
+ #, no-c-format
+ msgid "Substring start index at %L must be scalar"
+ msgstr ""
+
+-#: fortran/resolve.c:3587
++#: fortran/resolve.c:3716
+ #, no-c-format
+ msgid "Substring start index at %L is less than one"
+ msgstr ""
+
+-#: fortran/resolve.c:3600
++#: fortran/resolve.c:3729
+ #, no-c-format
+ msgid "Substring end index at %L must be of type INTEGER"
+ msgstr ""
+
+-#: fortran/resolve.c:3607
++#: fortran/resolve.c:3736
+ #, no-c-format
+ msgid "Substring end index at %L must be scalar"
+ msgstr ""
+
+-#: fortran/resolve.c:3617
++#: fortran/resolve.c:3746
+ #, no-c-format
+ msgid "Substring end index at %L exceeds the string length"
+ msgstr ""
+
+-#: fortran/resolve.c:3755
++#: fortran/resolve.c:3884
+ #, no-c-format
+ msgid "Component to the right of a part reference with nonzero rank must not have the POINTER attribute at %L"
+ msgstr ""
+
+-#: fortran/resolve.c:3762
++#: fortran/resolve.c:3891
+ #, no-c-format
+ msgid "Component to the right of a part reference with nonzero rank must not have the ALLOCATABLE attribute at %L"
+ msgstr ""
+
+-#: fortran/resolve.c:3781
++#: fortran/resolve.c:3910
+ #, no-c-format
+ msgid "Two or more part references with nonzero rank must not be specified at %L"
+ msgstr ""
+
+-#: fortran/resolve.c:3956
++#: fortran/resolve.c:4085
+ #, no-c-format
+ msgid "Variable '%s', used in a specification expression, is referenced at %L before the ENTRY statement in which it is a parameter"
+ msgstr ""
+
+-#: fortran/resolve.c:3961
++#: fortran/resolve.c:4090
+ #, no-c-format
+ msgid "Variable '%s' is used at %L before the ENTRY statement in which it is a parameter"
+ msgstr ""
+
+-#: fortran/resolve.c:4238
++#: fortran/resolve.c:4367
+ #, no-c-format
+ msgid "%s at %L must be a scalar"
+ msgstr ""
+
+-#: fortran/resolve.c:4248
++#: fortran/resolve.c:4377
+ #, no-c-format
+ msgid "Deleted feature: %s at %L must be integer"
+ msgstr ""
+
+-#: fortran/resolve.c:4252 fortran/resolve.c:4259
++#: fortran/resolve.c:4381 fortran/resolve.c:4388
+ #, no-c-format
+ msgid "%s at %L must be INTEGER"
+ msgstr ""
+
+-#: fortran/resolve.c:4279
++#: fortran/resolve.c:4408
+ #, no-c-format
+ msgid "Cannot assign to loop variable in PURE procedure at %L"
+ msgstr ""
+
+-#: fortran/resolve.c:4303
++#: fortran/resolve.c:4432
+ #, no-c-format
+ msgid "Step expression in DO loop at %L cannot be zero"
+ msgstr ""
+
+-#: fortran/resolve.c:4378
++#: fortran/resolve.c:4508
+ #, no-c-format
+ msgid "FORALL index-name at %L must be a scalar INTEGER"
+ msgstr ""
+
+-#: fortran/resolve.c:4383
++#: fortran/resolve.c:4513
+ #, no-c-format
+ msgid "FORALL start expression at %L must be a scalar INTEGER"
+ msgstr ""
+
+-#: fortran/resolve.c:4390
++#: fortran/resolve.c:4520
+ #, no-c-format
+ msgid "FORALL end expression at %L must be a scalar INTEGER"
+ msgstr ""
+
+-#: fortran/resolve.c:4398
++#: fortran/resolve.c:4528
+ #, no-c-format
+ msgid "FORALL stride expression at %L must be a scalar %s"
+ msgstr ""
+
+-#: fortran/resolve.c:4403
++#: fortran/resolve.c:4533
+ #, no-c-format
+ msgid "FORALL stride expression at %L cannot be zero"
+ msgstr ""
+
+-#: fortran/resolve.c:4419
++#: fortran/resolve.c:4549
+ #, no-c-format
+ msgid "FORALL index '%s' may not appear in triplet specification at %L"
+ msgstr ""
+
+-#: fortran/resolve.c:4499
++#: fortran/resolve.c:4629
+ #, no-c-format
+ msgid "Expression in DEALLOCATE statement at %L must be ALLOCATABLE or a POINTER"
+ msgstr ""
+
+-#: fortran/resolve.c:4506
++#: fortran/resolve.c:4636
+ #, no-c-format
+ msgid "Cannot deallocate INTENT(IN) variable '%s' at %L"
+ msgstr ""
+
+-#: fortran/resolve.c:4675
++#: fortran/resolve.c:4740
+ #, no-c-format
+ msgid "The STAT variable '%s' in an ALLOCATE statement must not be allocated in the same statement at %L"
+ msgstr ""
+
+-#: fortran/resolve.c:4711
++#: fortran/resolve.c:4776
+ #, no-c-format
+ msgid "Expression in ALLOCATE statement at %L must be ALLOCATABLE or a POINTER"
+ msgstr ""
+
+-#: fortran/resolve.c:4719
++#: fortran/resolve.c:4784
+ #, no-c-format
+ msgid "Cannot allocate INTENT(IN) variable '%s' at %L"
+ msgstr ""
+
+-#: fortran/resolve.c:4743
++#: fortran/resolve.c:4808
+ #, no-c-format
+ msgid "Array specification required in ALLOCATE statement at %L"
+ msgstr ""
+
+-#: fortran/resolve.c:4773
++#: fortran/resolve.c:4838
+ #, no-c-format
+ msgid "Bad array specification in ALLOCATE statement at %L"
+ msgstr ""
+
+-#: fortran/resolve.c:4791
++#: fortran/resolve.c:4856
+ #, no-c-format
+ msgid "'%s' must not appear an the array specification at %L in the same ALLOCATE statement where it is itself allocated"
+ msgstr ""
+
++#: fortran/resolve.c:4880
++#, no-c-format
++msgid "STAT variable '%s' of %s statement at %C cannot be INTENT(IN)"
++msgstr ""
++
++#: fortran/resolve.c:4884
++#, no-c-format
++msgid "Illegal STAT variable in %s statement at %C for a PURE procedure"
++msgstr ""
++
++#: fortran/resolve.c:4922
++#, no-c-format
++msgid "STAT tag in %s statement at %L must be a variable"
++msgstr ""
++
++#: fortran/resolve.c:4928
++#, no-c-format
++msgid "STAT tag in %s statement at %L must be of type INTEGER"
++msgstr ""
++
+ #. The cases overlap, or they are the same
+ #. 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.c:4949
++#: fortran/resolve.c:5091
+ #, no-c-format
+ msgid "CASE label at %L overlaps with CASE label at %L"
+ msgstr ""
+
+-#: fortran/resolve.c:5000
++#: fortran/resolve.c:5142
+ #, fuzzy, no-c-format
+ msgid "Expression in CASE statement at %L must be of type %s"
+ msgstr "¼°¤ÎÃæ¤Îʸ¤ËÉÔ´°Á´·¿¤¬¤¢¤ê¤Þ¤¹"
+
+-#: fortran/resolve.c:5011
++#: fortran/resolve.c:5153
+ #, no-c-format
+ msgid "Expression in CASE statement at %L must be kind %d"
+ msgstr ""
+
+-#: fortran/resolve.c:5023
++#: fortran/resolve.c:5165
+ #, no-c-format
+ msgid "Expression in CASE statement at %L must be scalar"
+ msgstr ""
+
+-#: fortran/resolve.c:5069
++#: fortran/resolve.c:5211
+ #, no-c-format
+ msgid "Selection expression in computed GOTO statement at %L must be a scalar integer expression"
+ msgstr ""
+
+-#: fortran/resolve.c:5087
++#: fortran/resolve.c:5229
+ #, no-c-format
+ msgid "Argument of SELECT statement at %L cannot be %s"
+ msgstr ""
+
+-#: fortran/resolve.c:5096
++#: fortran/resolve.c:5238
+ #, no-c-format
+ msgid "Argument of SELECT statement at %L must be a scalar expression"
+ msgstr ""
+
+-#: fortran/resolve.c:5161
++#: fortran/resolve.c:5303
+ #, no-c-format
+ msgid "The DEFAULT CASE at %L cannot be followed by a second DEFAULT CASE at %L"
+ msgstr ""
+
+-#: fortran/resolve.c:5187
++#: fortran/resolve.c:5329
+ #, no-c-format
+ msgid "Logical range in CASE statement at %L is not allowed"
+ msgstr ""
+
+-#: fortran/resolve.c:5199
++#: fortran/resolve.c:5341
+ #, no-c-format
+ msgid "constant logical value in CASE statement is repeated at %L"
+ msgstr ""
+
+-#: fortran/resolve.c:5213
++#: fortran/resolve.c:5355
+ #, no-c-format
+ msgid "Range specification at %L can never be matched"
+ msgstr ""
+
+-#: fortran/resolve.c:5316
++#: fortran/resolve.c:5458
+ #, no-c-format
+ msgid "Logical SELECT CASE block at %L has more that two cases"
+ msgstr ""
+
+-#: fortran/resolve.c:5354
++#: fortran/resolve.c:5496
+ #, no-c-format
+ msgid "Data transfer element at %L cannot have POINTER components"
+ msgstr ""
+
+-#: fortran/resolve.c:5361
++#: fortran/resolve.c:5503
+ #, no-c-format
+ msgid "Data transfer element at %L cannot have ALLOCATABLE components"
+ msgstr ""
+
+-#: fortran/resolve.c:5368
++#: fortran/resolve.c:5510
+ #, no-c-format
+ msgid "Data transfer element at %L cannot have PRIVATE components"
+ msgstr ""
+
+-#: fortran/resolve.c:5377
++#: fortran/resolve.c:5519
+ #, no-c-format
+ msgid "Data transfer element at %L cannot be a full reference to an assumed-size array"
+ msgstr ""
+
+-#: fortran/resolve.c:5441
++#: fortran/resolve.c:5583
+ #, no-c-format
+ msgid "Statement at %L is not a valid branch target statement for the branch statement at %L"
+ msgstr ""
+
+-#: fortran/resolve.c:5450
++#: fortran/resolve.c:5592
+ #, no-c-format
+ msgid "Branch at %L causes an infinite loop"
+ msgstr ""
+@@ -9659,647 +9701,657 @@
+ #. 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.c:5463
++#: fortran/resolve.c:5605
+ #, no-c-format
+ msgid "Label at %L is not in the same block as the GOTO statement at %L"
+ msgstr ""
+
+-#: fortran/resolve.c:5478 fortran/resolve.c:5492
++#: fortran/resolve.c:5620 fortran/resolve.c:5634
+ #, no-c-format
+ msgid "Deleted feature: GOTO at %L jumps to END of construct at %L"
+ msgstr ""
+
+-#: fortran/resolve.c:5569
++#: fortran/resolve.c:5711
+ #, no-c-format
+ msgid "WHERE mask at %L has inconsistent shape"
+ msgstr ""
+
+-#: fortran/resolve.c:5585
++#: fortran/resolve.c:5727
+ #, no-c-format
+ msgid "WHERE assignment target at %L has inconsistent shape"
+ msgstr ""
+
+-#: fortran/resolve.c:5600 fortran/resolve.c:5682
++#: fortran/resolve.c:5735 fortran/resolve.c:5820
+ #, no-c-format
++msgid "Non-ELEMENTAL user-defined assignment in WHERE at %L"
++msgstr ""
++
++#: fortran/resolve.c:5745 fortran/resolve.c:5830
++#, no-c-format
+ msgid "Unsupported statement inside WHERE at %L"
+ msgstr ""
+
+-#: fortran/resolve.c:5631
++#: fortran/resolve.c:5776
+ #, no-c-format
+ msgid "Assignment to a FORALL index variable at %L"
+ msgstr ""
+
+-#: fortran/resolve.c:5639
++#: fortran/resolve.c:5784
+ #, no-c-format
+ msgid "The FORALL with index '%s' cause more than one assignment to this object at %L"
+ msgstr ""
+
+-#: fortran/resolve.c:5774
++#: fortran/resolve.c:5922
+ #, no-c-format
+ msgid "An outer FORALL construct already has an index with this name %L"
+ msgstr ""
+
+-#: fortran/resolve.c:5830
++#: fortran/resolve.c:5978
+ #, no-c-format
+ msgid "WHERE/ELSEWHERE clause at %L requires a LOGICAL array"
+ msgstr ""
+
+-#: fortran/resolve.c:5890
++#: fortran/resolve.c:6037
+ #, no-c-format
+ msgid "Subroutine '%s' called instead of assignment at %L must be PURE"
+ msgstr ""
+
+-#: fortran/resolve.c:5927
++#: fortran/resolve.c:6110
+ #, no-c-format
+ msgid "CHARACTER expression will be truncated in assignment (%d/%d) at %L"
+ msgstr ""
+
+-#: fortran/resolve.c:5950
++#: fortran/resolve.c:6135
+ #, no-c-format
+ msgid "Cannot assign to variable '%s' in PURE procedure at %L"
+ msgstr ""
+
+-#: fortran/resolve.c:5962
++#: fortran/resolve.c:6147
+ #, no-c-format
+ msgid "The impure variable at %L is assigned to a derived type variable with a POINTER component in a PURE procedure (12.6)"
+ msgstr ""
+
+-#: fortran/resolve.c:6066
++#: fortran/resolve.c:6250
+ #, no-c-format
+ msgid "ASSIGNED GOTO statement at %L requires an INTEGER variable"
+ msgstr ""
+
+-#: fortran/resolve.c:6069
++#: fortran/resolve.c:6253
+ #, no-c-format
+ msgid "Variable '%s' has not been assigned a target label at %L"
+ msgstr ""
+
+-#: fortran/resolve.c:6080
++#: fortran/resolve.c:6264
+ #, no-c-format
+ msgid "Alternate RETURN statement at %L requires a SCALAR-INTEGER return specifier"
+ msgstr ""
+
+-#: fortran/resolve.c:6106
++#: fortran/resolve.c:6290
+ #, no-c-format
+ msgid "ASSIGN statement at %L requires a scalar default INTEGER variable"
+ msgstr ""
+
+-#: fortran/resolve.c:6121
++#: fortran/resolve.c:6305
+ #, no-c-format
+ msgid "Arithmetic IF statement at %L requires a numeric expression"
+ msgstr ""
+
+-#: fortran/resolve.c:6163
++#: fortran/resolve.c:6347
+ #, no-c-format
+ msgid "Exit condition of DO WHILE loop at %L must be a scalar LOGICAL expression"
+ msgstr ""
+
+-#: fortran/resolve.c:6170
++#: fortran/resolve.c:6420
+ #, no-c-format
+-msgid "STAT tag in ALLOCATE statement at %L must be of type INTEGER"
+-msgstr ""
+-
+-#: fortran/resolve.c:6182
+-#, no-c-format
+-msgid "STAT tag in DEALLOCATE statement at %L must be of type INTEGER"
+-msgstr ""
+-
+-#: fortran/resolve.c:6247
+-#, no-c-format
+ msgid "FORALL mask clause at %L requires a LOGICAL expression"
+ msgstr ""
+
+-#: fortran/resolve.c:6317 fortran/resolve.c:6373
++#: fortran/resolve.c:6490 fortran/resolve.c:6546
+ #, no-c-format
+ msgid "Binding label '%s' for common block '%s' at %L collides with the global entity '%s' at %L"
+ msgstr ""
+
+ #. Common block names match but binding labels do not.
+-#: fortran/resolve.c:6338
++#: fortran/resolve.c:6511
+ #, no-c-format
+ msgid "Binding label '%s' for common block '%s' at %L does not match the binding label '%s' for common block '%s' at %L"
+ msgstr ""
+
+-#: fortran/resolve.c:6385
++#: fortran/resolve.c:6558
+ #, no-c-format
+ msgid "Binding label '%s' for common block '%s' at %L collides with global entity '%s' at %L"
+ msgstr ""
+
+ #. Make sure global procedures don't collide with anything.
+-#: fortran/resolve.c:6437
++#: fortran/resolve.c:6610
+ #, no-c-format
+ msgid "Binding label '%s' at %L collides with the global entity '%s' at %L"
+ msgstr ""
+
+ #. Make sure procedures in interface bodies don't collide.
+-#: fortran/resolve.c:6450
++#: fortran/resolve.c:6623
+ #, no-c-format
+ msgid "Binding label '%s' in interface body at %L collides with the global entity '%s' at %L"
+ msgstr ""
+
+-#: fortran/resolve.c:6463
++#: fortran/resolve.c:6636
+ #, no-c-format
+ msgid "Binding label '%s' at %L collides with global entity '%s' at %L"
+ msgstr ""
+
+-#: fortran/resolve.c:6540
++#: fortran/resolve.c:6713
+ #, no-c-format
+ msgid "CHARACTER variable has zero length at %L"
+ msgstr ""
+
+-#: fortran/resolve.c:6828
++#: fortran/resolve.c:7001
+ #, no-c-format
+ msgid "Allocatable array '%s' at %L must have a deferred shape"
+ msgstr ""
+
+-#: fortran/resolve.c:6831
++#: fortran/resolve.c:7004
+ #, no-c-format
+ msgid "Scalar object '%s' at %L may not be ALLOCATABLE"
+ msgstr ""
+
+-#: fortran/resolve.c:6838
++#: fortran/resolve.c:7011
+ #, no-c-format
+ msgid "Array pointer '%s' at %L must have a deferred shape"
+ msgstr ""
+
+-#: fortran/resolve.c:6849
++#: fortran/resolve.c:7022
+ #, no-c-format
+ msgid "Array '%s' at %L cannot have a deferred shape"
+ msgstr ""
+
+-#: fortran/resolve.c:6878
++#: fortran/resolve.c:7051
+ #, no-c-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"
+ msgstr ""
+
+-#: fortran/resolve.c:6901
++#: fortran/resolve.c:7074
+ #, no-c-format
+ msgid "Object '%s' at %L must have the SAVE attribute for default initialization of a component"
+ msgstr ""
+
+ #. The shape of a main program or module array needs to be
+ #. constant.
+-#: fortran/resolve.c:6948
++#: fortran/resolve.c:7121
+ #, no-c-format
+ msgid "The module or main program array '%s' at %L must have constant shape"
+ msgstr ""
+
+-#: fortran/resolve.c:6961
++#: fortran/resolve.c:7134
+ #, no-c-format
+ msgid "Entity with assumed character length at %L must be a dummy argument or a PARAMETER"
+ msgstr ""
+
+-#: fortran/resolve.c:6980
++#: fortran/resolve.c:7153
+ #, no-c-format
+ msgid "'%s' at %L must have constant character length in this context"
+ msgstr ""
+
+-#: fortran/resolve.c:7012
++#: fortran/resolve.c:7185
+ #, no-c-format
+ msgid "Allocatable '%s' at %L cannot have an initializer"
+ msgstr ""
+
+-#: fortran/resolve.c:7015
++#: fortran/resolve.c:7188
+ #, no-c-format
+ msgid "External '%s' at %L cannot have an initializer"
+ msgstr ""
+
+-#: fortran/resolve.c:7019
++#: fortran/resolve.c:7192
+ #, fuzzy, no-c-format
+ msgid "Dummy '%s' at %L cannot have an initializer"
+ msgstr "`%s' ¤Ë `extern' ¤È½é´ü²½»Ò¤ÎξÊý¤¬¤¢¤ê¤Þ¤¹"
+
+-#: fortran/resolve.c:7022
++#: fortran/resolve.c:7195
+ #, no-c-format
+ msgid "Intrinsic '%s' at %L cannot have an initializer"
+ msgstr ""
+
+-#: fortran/resolve.c:7025
++#: fortran/resolve.c:7198
+ #, no-c-format
+ msgid "Function result '%s' at %L cannot have an initializer"
+ msgstr ""
+
+-#: fortran/resolve.c:7028
++#: fortran/resolve.c:7201
+ #, no-c-format
+ msgid "Automatic array '%s' at %L cannot have an initializer"
+ msgstr ""
+
+-#: fortran/resolve.c:7051
++#: fortran/resolve.c:7224
+ #, no-c-format
+ msgid "Although not referenced, '%s' at %L has ambiguous interfaces"
+ msgstr ""
+
+-#: fortran/resolve.c:7070
++#: fortran/resolve.c:7243
+ #, no-c-format
+ msgid "Character-valued statement function '%s' at %L must have constant length"
+ msgstr ""
+
+-#: fortran/resolve.c:7078
++#: fortran/resolve.c:7251
+ #, no-c-format
+ msgid "Automatic character length function '%s' at %L must have an explicit interface"
+ msgstr ""
+
+-#: fortran/resolve.c:7103
++#: fortran/resolve.c:7276
+ #, no-c-format
+ msgid "Fortran 2003: '%s' is of a PRIVATE type and cannot be a dummy argument of '%s', which is PUBLIC at %L"
+ msgstr ""
+
+-#: fortran/resolve.c:7126 fortran/resolve.c:7151
++#: fortran/resolve.c:7299 fortran/resolve.c:7324
+ #, no-c-format
+ msgid "Fortran 2003: Procedure '%s' in PUBLIC interface '%s' at %L takes dummy arguments of '%s' which is PRIVATE"
+ msgstr ""
+
+-#: fortran/resolve.c:7168
++#: fortran/resolve.c:7341
+ #, fuzzy, no-c-format
+ msgid "Function '%s' at %L cannot have an initializer"
+ msgstr "´Ø¿ô¤ò inline ¤Ë¤Ç¤­¤Þ¤»¤ó"
+
+-#: fortran/resolve.c:7177
++#: fortran/resolve.c:7350
+ #, fuzzy, no-c-format
+ msgid "External object '%s' at %L may not have an initializer"
+ msgstr "²ÄÊÑĹ¥ª¥Ö¥¸¥§¥¯¥È¤Ï½é´ü²½¤µ¤ì¤Ê¤¤¤³¤È¤Ë¤Ê¤ë¤Ç¤·¤ç¤¦"
+
+-#: fortran/resolve.c:7185
++#: fortran/resolve.c:7358
+ #, no-c-format
+ msgid "ELEMENTAL function '%s' at %L must have a scalar result"
+ msgstr ""
+
+-#: fortran/resolve.c:7206
++#: fortran/resolve.c:7379
+ #, no-c-format
+ msgid "CHARACTER(*) function '%s' at %L cannot be array-valued"
+ msgstr ""
+
+-#: fortran/resolve.c:7210
++#: fortran/resolve.c:7383
+ #, no-c-format
+ msgid "CHARACTER(*) function '%s' at %L cannot be pointer-valued"
+ msgstr ""
+
+-#: fortran/resolve.c:7214
++#: fortran/resolve.c:7387
+ #, no-c-format
+ msgid "CHARACTER(*) function '%s' at %L cannot be pure"
+ msgstr ""
+
+-#: fortran/resolve.c:7218
++#: fortran/resolve.c:7391
+ #, no-c-format
+ msgid "CHARACTER(*) function '%s' at %L cannot be recursive"
+ msgstr ""
+
+-#: fortran/resolve.c:7227
++#: fortran/resolve.c:7400
+ #, no-c-format
+ msgid "CHARACTER(*) function '%s' at %L is obsolescent in fortran 95"
+ msgstr ""
+
+-#: fortran/resolve.c:7299
++#: fortran/resolve.c:7472
+ #, no-c-format
+ msgid "Character length of component '%s' needs to be a constant specification expression at %L"
+ msgstr ""
+
+-#: fortran/resolve.c:7314
++#: fortran/resolve.c:7487
+ #, no-c-format
+ msgid "The component '%s' is a PRIVATE type and cannot be a component of '%s', which is PUBLIC at %L"
+ msgstr ""
+
+-#: fortran/resolve.c:7324
++#: fortran/resolve.c:7497
+ #, no-c-format
+ msgid "Component %s of SEQUENCE type declared at %L does not have the SEQUENCE attribute"
+ msgstr ""
+
+-#: fortran/resolve.c:7334
++#: fortran/resolve.c:7507
+ #, no-c-format
+ msgid "The pointer component '%s' of '%s' at %L is a type that has not been declared"
+ msgstr ""
+
+-#: fortran/resolve.c:7352
++#: fortran/resolve.c:7525
+ #, no-c-format
+ msgid "Component '%s' of '%s' at %L must have constant array bounds"
+ msgstr ""
+
+-#: fortran/resolve.c:7395
++#: fortran/resolve.c:7568
+ #, no-c-format
+ msgid "NAMELIST object '%s' was declared PRIVATE and cannot be member of PUBLIC namelist '%s' at %L"
+ msgstr ""
+
+-#: fortran/resolve.c:7405
++#: fortran/resolve.c:7578
+ #, no-c-format
+ msgid "NAMELIST object '%s' has use-associated PRIVATE components and cannot be member of namelist '%s' at %L"
+ msgstr ""
+
+-#: fortran/resolve.c:7418
++#: fortran/resolve.c:7591
+ #, no-c-format
+ msgid "NAMELIST object '%s' has PRIVATE components and cannot be a member of PUBLIC namelist '%s' at %L"
+ msgstr ""
+
+-#: fortran/resolve.c:7430
++#: fortran/resolve.c:7603
+ #, no-c-format
+ msgid "NAMELIST array object '%s' must not have assumed shape in namelist '%s' at %L"
+ msgstr ""
+
+-#: fortran/resolve.c:7439
++#: fortran/resolve.c:7612
+ #, no-c-format
+ msgid "NAMELIST array object '%s' must have constant shape in namelist '%s' at %L"
+ msgstr ""
+
+-#: fortran/resolve.c:7451
++#: fortran/resolve.c:7624
+ #, no-c-format
+ msgid "NAMELIST object '%s' in namelist '%s' at %L cannot have ALLOCATABLE components"
+ msgstr ""
+
+-#: fortran/resolve.c:7459
++#: fortran/resolve.c:7632
+ #, no-c-format
+ msgid "NAMELIST object '%s' in namelist '%s' at %L cannot have POINTER components"
+ msgstr ""
+
+-#: fortran/resolve.c:7485
++#: fortran/resolve.c:7658
+ #, no-c-format
+ msgid "PROCEDURE attribute conflicts with NAMELIST attribute in '%s' at %L"
+ msgstr ""
+
+-#: fortran/resolve.c:7504
++#: fortran/resolve.c:7677
+ #, no-c-format
+ msgid "Parameter array '%s' at %L cannot be automatic or of deferred shape"
+ msgstr ""
+
+-#: fortran/resolve.c:7515
++#: fortran/resolve.c:7688
+ #, no-c-format
+ msgid "Implicitly typed PARAMETER '%s' at %L doesn't match a later IMPLICIT type"
+ msgstr ""
+
+-#: fortran/resolve.c:7526
++#: fortran/resolve.c:7699
+ #, fuzzy, no-c-format
+ msgid "Incompatible derived type in PARAMETER at %L"
+ msgstr "%s ¤Ë¸ß´¹À­¤Î¤Ê¤¤·¿"
+
+-#: fortran/resolve.c:7597
++#: fortran/resolve.c:7758
+ #, no-c-format
++msgid "Interface '%s', used by procedure '%s' at %L, is declared in a later PROCEDURE statement"
++msgstr ""
++
++#: fortran/resolve.c:7772
++#, no-c-format
+ msgid "Interface '%s' of procedure '%s' at %L must be explicit"
+ msgstr ""
+
+-#: fortran/resolve.c:7622
++#: fortran/resolve.c:7797
+ #, no-c-format
+ msgid "Type specified for intrinsic function '%s' at %L is ignored"
+ msgstr ""
+
+-#: fortran/resolve.c:7629
++#: fortran/resolve.c:7804
+ #, no-c-format
+ msgid "Intrinsic subroutine '%s' at %L shall not have a type specifier"
+ msgstr ""
+
+-#: fortran/resolve.c:7636
++#: fortran/resolve.c:7811
+ #, no-c-format
+ msgid "Intrinsic '%s' at %L does not exist"
+ msgstr ""
+
+-#: fortran/resolve.c:7676
++#: fortran/resolve.c:7851
+ #, no-c-format
+ msgid "Assumed size array at %L must be a dummy argument"
+ msgstr ""
+
+-#: fortran/resolve.c:7679
++#: fortran/resolve.c:7854
+ #, no-c-format
+ msgid "Assumed shape array at %L must be a dummy argument"
+ msgstr ""
+
+-#: fortran/resolve.c:7691
++#: fortran/resolve.c:7866
+ #, no-c-format
+ msgid "Symbol at %L is not a DUMMY variable"
+ msgstr ""
+
+-#: fortran/resolve.c:7697
++#: fortran/resolve.c:7872
+ #, no-c-format
+ msgid "'%s' at %L cannot have the VALUE attribute because it is not a dummy argument"
+ msgstr ""
+
+-#: fortran/resolve.c:7707
++#: fortran/resolve.c:7882
+ #, no-c-format
+ msgid "Character dummy variable '%s' at %L with VALUE attribute must have constant length"
+ msgstr ""
+
+-#: fortran/resolve.c:7716
++#: fortran/resolve.c:7891
+ #, no-c-format
+ msgid "C interoperable character dummy variable '%s' at %L with VALUE attribute must have length one"
+ msgstr ""
+
+-#: fortran/resolve.c:7742
++#: fortran/resolve.c:7917
+ #, no-c-format
+ msgid "Variable '%s' at %L cannot be BIND(C) because it is neither a COMMON block nor declared at the module level scope"
+ msgstr ""
+
+-#: fortran/resolve.c:7795
++#: fortran/resolve.c:7970
+ #, no-c-format
+ msgid "The derived type '%s' at %L is of type '%s', which has not been defined"
+ msgstr ""
+
+-#: fortran/resolve.c:7811
++#: fortran/resolve.c:7987
+ #, no-c-format
+ msgid "Fortran 2003: PUBLIC %s '%s' at %L of PRIVATE derived type '%s'"
+ msgstr ""
+
+-#: fortran/resolve.c:7830
++#: fortran/resolve.c:8006
+ #, no-c-format
+ msgid "The INTENT(OUT) dummy argument '%s' at %L is ASSUMED SIZE and so cannot have a default initializer"
+ msgstr ""
+
+-#: fortran/resolve.c:7889
++#: fortran/resolve.c:8065
+ #, no-c-format
+ msgid "Threadprivate at %L isn't SAVEd"
+ msgstr ""
+
+-#: fortran/resolve.c:7967
++#: fortran/resolve.c:8143
+ #, no-c-format
+ msgid "BLOCK DATA element '%s' at %L must be in COMMON"
+ msgstr ""
+
+-#: fortran/resolve.c:8011
++#: fortran/resolve.c:8149
++#, fuzzy, no-c-format
++msgid "DATA array '%s' at %L must be specified in a previous declaration"
++msgstr "¥Ç¡¼¥¿Îΰè '%s' ¤ÏÁ°¤ÎÀë¸À¤ÈÌ·½â¤·¤Þ¤¹"
++
++#: fortran/resolve.c:8194
+ #, no-c-format
+ msgid "Nonconstant array section at %L in DATA statement"
+ msgstr ""
+
+-#: fortran/resolve.c:8024
++#: fortran/resolve.c:8207
+ #, no-c-format
+ msgid "DATA statement at %L has more variables than values"
+ msgstr ""
+
+-#: fortran/resolve.c:8118
++#: fortran/resolve.c:8301
+ #, no-c-format
+ msgid "iterator start at %L does not simplify"
+ msgstr ""
+
+-#: fortran/resolve.c:8125
++#: fortran/resolve.c:8308
+ #, no-c-format
+ msgid "iterator end at %L does not simplify"
+ msgstr ""
+
+-#: fortran/resolve.c:8132
++#: fortran/resolve.c:8315
+ #, no-c-format
+ msgid "iterator step at %L does not simplify"
+ msgstr ""
+
+-#: fortran/resolve.c:8258
++#: fortran/resolve.c:8441
+ #, no-c-format
+ msgid "DATA statement at %L has more values than variables"
+ msgstr ""
+
+-#: fortran/resolve.c:8349
++#: fortran/resolve.c:8532
+ #, fuzzy, no-c-format
+ msgid "Label %d at %L defined but not used"
+ msgstr "¥é¥Ù¥ë `%s' ¤¬ÄêµÁ¤µ¤ì¤Þ¤·¤¿¤¬»È¤ï¤ì¤Æ¤¤¤Þ¤»¤ó"
+
+-#: fortran/resolve.c:8354
++#: fortran/resolve.c:8537
+ #, fuzzy, no-c-format
+ msgid "Label %d at %L defined but cannot be used"
+ msgstr "¥é¥Ù¥ë `%s' ¤¬ÄêµÁ¤µ¤ì¤Þ¤·¤¿¤¬»È¤ï¤ì¤Æ¤¤¤Þ¤»¤ó"
+
+-#: fortran/resolve.c:8439
++#: fortran/resolve.c:8622
+ #, no-c-format
+ msgid "Derived type variable '%s' at %L must have SEQUENCE attribute to be an EQUIVALENCE object"
+ msgstr ""
+
+-#: fortran/resolve.c:8448
++#: fortran/resolve.c:8631
+ #, no-c-format
+ msgid "Derived type variable '%s' at %L cannot have ALLOCATABLE components to be an EQUIVALENCE object"
+ msgstr ""
+
+-#: fortran/resolve.c:8465
++#: fortran/resolve.c:8639
+ #, no-c-format
++msgid "Derived type variable '%s' at %L with default initialization cannot be in EQUIVALENCE with a variable in COMMON"
++msgstr ""
++
++#: fortran/resolve.c:8656
++#, no-c-format
+ msgid "Derived type variable '%s' at %L with pointer component(s) cannot be an EQUIVALENCE object"
+ msgstr ""
+
+-#: fortran/resolve.c:8570
++#: fortran/resolve.c:8761
+ #, no-c-format
+ msgid "Syntax error in EQUIVALENCE statement at %L"
+ msgstr ""
+
+-#: fortran/resolve.c:8585
++#: fortran/resolve.c:8776
+ #, no-c-format
+ msgid "Either all or none of the objects in the EQUIVALENCE set at %L shall have the PROTECTED attribute"
+ msgstr ""
+
+-#: fortran/resolve.c:8597
++#: fortran/resolve.c:8788
+ #, no-c-format
+ msgid "Common block member '%s' at %L cannot be an EQUIVALENCE object in the pure procedure '%s'"
+ msgstr ""
+
+-#: fortran/resolve.c:8606
++#: fortran/resolve.c:8797
+ #, no-c-format
+ msgid "Named constant '%s' at %L cannot be an EQUIVALENCE object"
+ msgstr ""
+
+-#: fortran/resolve.c:8685
++#: fortran/resolve.c:8876
+ #, no-c-format
+ msgid "Array '%s' at %L with non-constant bounds cannot be an EQUIVALENCE object"
+ msgstr ""
+
+-#: fortran/resolve.c:8696
++#: fortran/resolve.c:8887
+ #, no-c-format
+ msgid "Structure component '%s' at %L cannot be an EQUIVALENCE object"
+ msgstr ""
+
+-#: fortran/resolve.c:8707
++#: fortran/resolve.c:8898
+ #, no-c-format
+ msgid "Substring at %L has length zero"
+ msgstr ""
+
+-#: fortran/resolve.c:8750
++#: fortran/resolve.c:8941
+ #, no-c-format
+ msgid "PUBLIC function '%s' at %L cannot be of PRIVATE type '%s'"
+ msgstr ""
+
+-#: fortran/resolve.c:8762
++#: fortran/resolve.c:8953
+ #, no-c-format
+ msgid "ENTRY '%s' at %L has no IMPLICIT type"
+ msgstr ""
+
+-#: fortran/resolve.c:8788
++#: fortran/resolve.c:8979
+ #, no-c-format
+ msgid "User operator procedure '%s' at %L must be a FUNCTION"
+ msgstr ""
+
+-#: fortran/resolve.c:8795
++#: fortran/resolve.c:8986
+ #, no-c-format
+ msgid "User operator procedure '%s' at %L cannot be assumed character length"
+ msgstr ""
+
+-#: fortran/resolve.c:8801
++#: fortran/resolve.c:8992
+ #, no-c-format
+ msgid "User operator procedure '%s' at %L must have at least one argument"
+ msgstr ""
+
+-#: fortran/resolve.c:8811
++#: fortran/resolve.c:9002
+ #, no-c-format
+ msgid "First argument of operator interface at %L cannot be optional"
+ msgstr ""
+
+-#: fortran/resolve.c:8823
++#: fortran/resolve.c:9014
+ #, no-c-format
+ msgid "Second argument of operator interface at %L cannot be optional"
+ msgstr ""
+
+-#: fortran/resolve.c:8827
++#: fortran/resolve.c:9018
+ #, no-c-format
+ msgid "Operator interface at %L must have, at most, two arguments"
+ msgstr ""
+
+-#: fortran/resolve.c:8867
++#: fortran/resolve.c:9059
+ #, no-c-format
+ msgid "Contained procedure '%s' at %L of a PURE procedure must also be PURE"
+ msgstr ""
+
+-#: fortran/scanner.c:526
++#: fortran/scanner.c:530
+ #, no-c-format
+ msgid "!$OMP at %C starts a commented line as it neither is followed by a space nor is a continuation line"
+ msgstr ""
+
+-#: fortran/scanner.c:816 fortran/scanner.c:937
++#: fortran/scanner.c:820 fortran/scanner.c:941
+ #, no-c-format
+ msgid "Limit of %d continuations exceeded in statement at %C"
+ msgstr ""
+
+-#: fortran/scanner.c:861
++#: fortran/scanner.c:865
+ #, fuzzy, no-c-format
+ msgid "Missing '&' in continued character constant at %C"
+ msgstr "ʸ»úÄê¿ô¤ÎÃæ¤Ç¥Õ¥¡¥¤¥ë¤Î½ªÃ¼¤ò¸¡½Ð¤·¤Þ¤·¤¿"
+
+-#: fortran/scanner.c:1071
++#: fortran/scanner.c:1075
+ #, no-c-format
+ msgid "Nonconforming tab character at %C"
+ msgstr ""
+
+-#: fortran/scanner.c:1153 fortran/scanner.c:1156
++#: fortran/scanner.c:1158 fortran/scanner.c:1161
+ #, no-c-format
+ msgid "'&' not allowed by itself in line %d"
+ msgstr ""
+
+-#: fortran/scanner.c:1189
++#: fortran/scanner.c:1207
+ #, no-c-format
+-msgid "Nonconforming tab character in column 1 of line %d"
++msgid "Nonconforming tab character in column %d of line %d"
+ msgstr ""
+
+-#: fortran/scanner.c:1387
++#: fortran/scanner.c:1405
+ #, fuzzy, no-c-format
+ msgid "%s:%d: file %s left but not entered"
+ msgstr "¥Õ¥¡¥¤¥ë \"%s\" ¤«¤é½Ð¤Þ¤·¤¿¤¬Æþ¤Ã¤Æ¤¤¤Þ¤»¤ó"
+
+-#: fortran/scanner.c:1419
++#: fortran/scanner.c:1438
+ #, fuzzy, no-c-format
+ msgid "%s:%d: Illegal preprocessor directive"
+ msgstr "¥×¥ê¥×¥í¥»¥¹Ì¿ÎáÃæ¤Ë %s ¤¬¤¢¤ê¤Þ¤¹"
+
+-#: fortran/scanner.c:1514
++#: fortran/scanner.c:1533
+ #, no-c-format
+ msgid "File '%s' is being included recursively"
+ msgstr ""
+
+-#: fortran/scanner.c:1529
++#: fortran/scanner.c:1548
+ #, fuzzy, no-c-format
+ msgid "Can't open file '%s'"
+ msgstr "½ÐÎÏ¥Õ¥¡¥¤¥ë `%s' ¤ò open ¤Ç¤­¤Þ¤»¤ó"
+
+-#: fortran/scanner.c:1538
++#: fortran/scanner.c:1557
+ #, fuzzy, no-c-format
+ msgid "Can't open included file '%s'"
+ msgstr "½ÐÎÏ¥Õ¥¡¥¤¥ë `%s' ¤ò open ¤Ç¤­¤Þ¤»¤ó"
+
+-#: fortran/scanner.c:1676
++#: fortran/scanner.c:1701
+ #, fuzzy, c-format
+ msgid "%s:%3d %s\n"
+ msgstr "%s: %s"
+@@ -10369,134 +10421,134 @@
+ msgid "Argument of CHAR function at %L outside of range [0,255]"
+ msgstr ""
+
+-#: fortran/simplify.c:1247
++#: fortran/simplify.c:1293
+ #, no-c-format
+ msgid "Argument of IACHAR at %L must be of length one"
+ msgstr ""
+
+-#: fortran/simplify.c:1254
++#: fortran/simplify.c:1300
+ #, no-c-format
+ msgid "Argument of IACHAR function at %L outside of range 0..127"
+ msgstr ""
+
+-#: fortran/simplify.c:1293
++#: fortran/simplify.c:1339
+ #, fuzzy, no-c-format
+ msgid "Invalid second argument of IBCLR at %L"
+ msgstr "`%s' ¤Î°ú¿ô¤È¤·¤Æ̵¸ú¤Ê·¿"
+
+-#: fortran/simplify.c:1301
++#: fortran/simplify.c:1347
+ #, no-c-format
+ msgid "Second argument of IBCLR exceeds bit size at %L"
+ msgstr ""
+
+-#: fortran/simplify.c:1335
++#: fortran/simplify.c:1381
+ #, fuzzy, no-c-format
+ msgid "Invalid second argument of IBITS at %L"
+ msgstr "`%s' ¤Î°ú¿ô¤È¤·¤Æ̵¸ú¤Ê·¿"
+
+-#: fortran/simplify.c:1341
++#: fortran/simplify.c:1387
+ #, fuzzy, no-c-format
+ msgid "Invalid third argument of IBITS at %L"
+ msgstr "`%s' ¤Î°ú¿ô¤È¤·¤Æ̵¸ú¤Ê·¿"
+
+-#: fortran/simplify.c:1351
++#: fortran/simplify.c:1397
+ #, no-c-format
+ msgid "Sum of second and third arguments of IBITS exceeds bit size at %L"
+ msgstr ""
+
+-#: fortran/simplify.c:1393
++#: fortran/simplify.c:1439
+ #, fuzzy, no-c-format
+ msgid "Invalid second argument of IBSET at %L"
+ msgstr "`%s' ¤Î°ú¿ô¤È¤·¤Æ̵¸ú¤Ê·¿"
+
+-#: fortran/simplify.c:1401
++#: fortran/simplify.c:1447
+ #, no-c-format
+ msgid "Second argument of IBSET exceeds bit size at %L"
+ msgstr ""
+
+-#: fortran/simplify.c:1431
++#: fortran/simplify.c:1477
+ #, no-c-format
+ msgid "Argument of ICHAR at %L must be of length one"
+ msgstr ""
+
+-#: fortran/simplify.c:1646
++#: fortran/simplify.c:1692
+ #, fuzzy, no-c-format
+ msgid "Argument of INT at %L is not a valid type"
+ msgstr "`asm' ¤Î°ú¿ô¤¬Äê¿ôʸ»úÎó¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó "
+
+-#: fortran/simplify.c:1688
++#: fortran/simplify.c:1734
+ #, fuzzy, no-c-format
+ msgid "Argument of %s at %L is not a valid type"
+ msgstr "`asm' ¤Î°ú¿ô¤¬Äê¿ôʸ»úÎó¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó "
+
+-#: fortran/simplify.c:1786
++#: fortran/simplify.c:1832
+ #, fuzzy, no-c-format
+ msgid "Invalid second argument of ISHFT at %L"
+ msgstr "`%s' ¤Î°ú¿ô¤È¤·¤Æ̵¸ú¤Ê·¿"
+
+-#: fortran/simplify.c:1801
++#: fortran/simplify.c:1847
+ #, no-c-format
+ msgid "Magnitude of second argument of ISHFT exceeds bit size at %L"
+ msgstr ""
+
+-#: fortran/simplify.c:1865
++#: fortran/simplify.c:1911
+ #, fuzzy, no-c-format
+ msgid "Invalid second argument of ISHFTC at %L"
+ msgstr "`%s' ¤Î°ú¿ô¤È¤·¤Æ̵¸ú¤Ê·¿"
+
+-#: fortran/simplify.c:1879
++#: fortran/simplify.c:1925
+ #, fuzzy, no-c-format
+ msgid "Invalid third argument of ISHFTC at %L"
+ msgstr "`%s' ¤Î°ú¿ô¤È¤·¤Æ̵¸ú¤Ê·¿"
+
+-#: fortran/simplify.c:1885
++#: fortran/simplify.c:1931
+ #, no-c-format
+ msgid "Magnitude of third argument of ISHFTC exceeds BIT_SIZE of first argument at %L"
+ msgstr ""
+
+-#: fortran/simplify.c:1901
++#: fortran/simplify.c:1947
+ #, no-c-format
+ msgid "Magnitude of second argument of ISHFTC exceeds third argument at %L"
+ msgstr ""
+
+-#: fortran/simplify.c:1904
++#: fortran/simplify.c:1950
+ #, no-c-format
+ msgid "Magnitude of second argument of ISHFTC exceeds BIT_SIZE of first argument at %L"
+ msgstr ""
+
+-#: fortran/simplify.c:1975
++#: fortran/simplify.c:2021
+ #, no-c-format
+ msgid "Argument of KIND at %L is a DERIVED type"
+ msgstr ""
+
+-#: fortran/simplify.c:2163
++#: fortran/simplify.c:2209
+ #, fuzzy, no-c-format
+ msgid "DIM argument at %L is out of bounds"
+ msgstr "`%s' ¥ª¥×¥·¥ç¥ó¤ËÂФ¹¤ë°ú¿ô¤¬¤¢¤ê¤Þ¤»¤ó"
+
+-#: fortran/simplify.c:2318
++#: fortran/simplify.c:2364
+ #, no-c-format
+ msgid "Argument of LOG at %L cannot be less than or equal to zero"
+ msgstr ""
+
+-#: fortran/simplify.c:2331
++#: fortran/simplify.c:2377
+ #, no-c-format
+ msgid "Complex argument of LOG at %L cannot be zero"
+ msgstr ""
+
+-#: fortran/simplify.c:2374
++#: fortran/simplify.c:2420
+ #, no-c-format
+ msgid "Argument of LOG10 at %L cannot be less than or equal to zero"
+ msgstr ""
+
+ #. Result is processor-dependent.
+-#: fortran/simplify.c:2579
++#: fortran/simplify.c:2628
+ #, no-c-format
+ msgid "Second argument MOD at %L is zero"
+ msgstr ""
+
+ #. Result is processor-dependent.
+-#: fortran/simplify.c:2590
++#: fortran/simplify.c:2639
+ #, fuzzy, no-c-format
+ msgid "Second argument of MOD at %L is zero"
+ msgstr "`%s' ¤ÎÂèÆó°ú¿ô¤Ï `char **' ¤È¤¹¤Ù¤­¤Ç¤¹"
+@@ -10504,82 +10556,87 @@
+ #. Result is processor-dependent. This processor just opts
+ #. to not handle it at all.
+ #. Result is processor-dependent.
+-#: fortran/simplify.c:2638 fortran/simplify.c:2650
++#: fortran/simplify.c:2687 fortran/simplify.c:2699
+ #, no-c-format
+ msgid "Second argument of MODULO at %L is zero"
+ msgstr ""
+
+-#: fortran/simplify.c:2702
++#: fortran/simplify.c:2751
+ #, fuzzy, no-c-format
+ msgid "Second argument of NEAREST at %L shall not be zero"
+ msgstr "`%s' ¤ÎÂèÆó°ú¿ô¤Ï `char **' ¤È¤¹¤Ù¤­¤Ç¤¹"
+
+-#: fortran/simplify.c:2977
++#: fortran/simplify.c:2787
+ #, no-c-format
++msgid "Result of NEAREST is NaN at %L"
++msgstr ""
++
++#: fortran/simplify.c:3062
++#, no-c-format
+ msgid "Argument NCOPIES of REPEAT intrinsic is negative at %L"
+ msgstr ""
+
+-#: fortran/simplify.c:3032
++#: fortran/simplify.c:3117
+ #, no-c-format
+ msgid "Argument NCOPIES of REPEAT intrinsic is too large at %L"
+ msgstr ""
+
+-#: fortran/simplify.c:3122
++#: fortran/simplify.c:3232
+ #, no-c-format
+ msgid "Integer too large in shape specification at %L"
+ msgstr ""
+
+-#: fortran/simplify.c:3132
++#: fortran/simplify.c:3242
+ #, no-c-format
+ msgid "Too many dimensions in shape specification for RESHAPE at %L"
+ msgstr ""
+
+-#: fortran/simplify.c:3140
++#: fortran/simplify.c:3250
+ #, no-c-format
+ msgid "Shape specification at %L cannot be negative"
+ msgstr ""
+
+-#: fortran/simplify.c:3150
++#: fortran/simplify.c:3260
+ #, no-c-format
+ msgid "Shape specification at %L cannot be the null array"
+ msgstr ""
+
+-#: fortran/simplify.c:3171
++#: fortran/simplify.c:3281
+ #, no-c-format
+ msgid "ORDER parameter of RESHAPE at %L is not the same size as SHAPE parameter"
+ msgstr ""
+
+-#: fortran/simplify.c:3178
++#: fortran/simplify.c:3288
+ #, no-c-format
+ msgid "Error in ORDER parameter of RESHAPE at %L"
+ msgstr ""
+
+-#: fortran/simplify.c:3188
++#: fortran/simplify.c:3298
+ #, no-c-format
+ msgid "ORDER parameter of RESHAPE at %L is out of range"
+ msgstr ""
+
+-#: fortran/simplify.c:3197
++#: fortran/simplify.c:3307
+ #, no-c-format
+ msgid "Invalid permutation in ORDER parameter at %L"
+ msgstr ""
+
+-#: fortran/simplify.c:3253
++#: fortran/simplify.c:3363
+ #, no-c-format
+ msgid "PAD parameter required for short SOURCE parameter at %L"
+ msgstr ""
+
+-#: fortran/simplify.c:3372
++#: fortran/simplify.c:3482
+ #, no-c-format
+ msgid "Result of SCALE overflows its kind at %L"
+ msgstr ""
+
+-#: fortran/simplify.c:3942
++#: fortran/simplify.c:4056
+ #, fuzzy, no-c-format
+ msgid "Argument of SQRT at %L has a negative value"
+ msgstr "´Ø¿ô¸Æ¤Ó½Ð¤·¤¬½¸¹çÂΤÎÃͤò»ý¤Ã¤Æ¤¤¤Þ¤¹"
+
+-#: fortran/simplify.c:4069
++#: fortran/simplify.c:4190
+ #, no-c-format
+ msgid "Intrinsic TRANSFER at %L has partly undefined result: source size %ld < result size %ld"
+ msgstr ""
+@@ -10808,29 +10865,29 @@
+ msgid "Symbol '%s' at %C has already been host associated"
+ msgstr ""
+
+-#: fortran/symbol.c:3162
++#: fortran/symbol.c:3189
+ #, no-c-format
+ msgid "Derived type '%s' declared at %L must have the BIND attribute to be C interoperable"
+ msgstr ""
+
+-#: fortran/symbol.c:3173
++#: fortran/symbol.c:3200
+ #, fuzzy, no-c-format
+ msgid "Derived type '%s' at %L is empty"
+ msgstr "½Ò¸ì¤Î²ò¤¬¶õ¤Ç¤¹"
+
+-#: fortran/symbol.c:3190
++#: fortran/symbol.c:3217
+ #, no-c-format
+ msgid "Component '%s' at %L cannot have the POINTER attribute because it is a member of the BIND(C) derived type '%s' at %L"
+ msgstr ""
+
+-#: fortran/symbol.c:3202
++#: fortran/symbol.c:3229
+ #, no-c-format
+ msgid "Component '%s' at %L cannot have the ALLOCATABLE attribute because it is a member of the BIND(C) derived type '%s' at %L"
+ msgstr ""
+
+ #. If the derived type is bind(c), all fields must be
+ #. interop.
+-#: fortran/symbol.c:3241
++#: fortran/symbol.c:3268
+ #, no-c-format
+ msgid "Component '%s' in derived type '%s' at %L may not be C interoperable, even though derived type '%s' is BIND(C)"
+ msgstr ""
+@@ -10838,17 +10895,17 @@
+ #. If derived type is param to bind(c) routine, or to one
+ #. of the iso_c_binding procs, it must be interoperable, so
+ #. all fields must interop too.
+-#: fortran/symbol.c:3250
++#: fortran/symbol.c:3277
+ #, no-c-format
+ msgid "Component '%s' in derived type '%s' at %L may not be C interoperable"
+ msgstr ""
+
+-#: fortran/symbol.c:3264
++#: fortran/symbol.c:3291
+ #, no-c-format
+ msgid "Derived type '%s' at %L cannot be declared with both PRIVATE and BIND(C) attributes"
+ msgstr ""
+
+-#: fortran/symbol.c:3272
++#: fortran/symbol.c:3299
+ #, no-c-format
+ msgid "Derived type '%s' at %L cannot have the SEQUENCE attribute because it is BIND(C)"
+ msgstr ""
+@@ -10858,38 +10915,43 @@
+ msgid "Overlapping unequal initializers in EQUIVALENCE at %L"
+ msgstr ""
+
+-#: fortran/trans-common.c:396
++#: fortran/target-memory.c:635
+ #, no-c-format
++msgid "BOZ constant at %L is too large (%ld vs %ld bits)"
++msgstr ""
++
++#: fortran/trans-common.c:399
++#, no-c-format
+ msgid "Named COMMON block '%s' at %L shall be of the same size"
+ msgstr ""
+
+-#: fortran/trans-common.c:817
++#: fortran/trans-common.c:833
+ #, no-c-format
+ msgid "Bad array reference at %L"
+ msgstr ""
+
+-#: fortran/trans-common.c:825
++#: fortran/trans-common.c:841
+ #, no-c-format
+ msgid "Illegal reference type at %L as EQUIVALENCE object"
+ msgstr ""
+
+-#: fortran/trans-common.c:865
++#: fortran/trans-common.c:881
+ #, no-c-format
+ msgid "Inconsistent equivalence rules involving '%s' at %L and '%s' at %L"
+ msgstr ""
+
+ #. Aligning this field would misalign a previous field.
+-#: fortran/trans-common.c:998
++#: fortran/trans-common.c:1014
+ #, no-c-format
+ msgid "The equivalence set for variable '%s' declared at %L violates alignment requirements"
+ msgstr ""
+
+-#: fortran/trans-common.c:1063
++#: fortran/trans-common.c:1079
+ #, no-c-format
+ msgid "Equivalence for '%s' does not match ordering of COMMON '%s' at %L"
+ msgstr ""
+
+-#: fortran/trans-common.c:1078
++#: fortran/trans-common.c:1094
+ #, no-c-format
+ msgid "The equivalence set for '%s' cause an invalid extension to COMMON '%s' at %L"
+ msgstr ""
+@@ -10897,42 +10959,42 @@
+ #. The required offset conflicts with previous alignment
+ #. requirements. Insert padding immediately before this
+ #. segment.
+-#: fortran/trans-common.c:1089
++#: fortran/trans-common.c:1105
+ #, no-c-format
+ msgid "Padding of %d bytes required before '%s' in COMMON '%s' at %L"
+ msgstr ""
+
+-#: fortran/trans-common.c:1115
++#: fortran/trans-common.c:1131
+ #, no-c-format
+ msgid "COMMON '%s' at %L does not exist"
+ msgstr ""
+
+-#: fortran/trans-common.c:1122
++#: fortran/trans-common.c:1138
+ #, no-c-format
+ msgid "COMMON '%s' at %L requires %d bytes of padding at start"
+ msgstr ""
+
+-#: fortran/trans-decl.c:3016
++#: fortran/trans-decl.c:2979
+ #, no-c-format
+ msgid "Dummy argument '%s' at %L was declared INTENT(OUT) but was not set"
+ msgstr ""
+
+-#: fortran/trans-decl.c:3020
++#: fortran/trans-decl.c:2983
+ #, no-c-format
+ msgid "Unused dummy argument '%s' at %L"
+ msgstr ""
+
+-#: fortran/trans-decl.c:3026
++#: fortran/trans-decl.c:2989
+ #, fuzzy, no-c-format
+ msgid "Unused variable '%s' declared at %L"
+ msgstr "¥¤¥ó¥¹¥¿¥ó¥¹ÊÑ¿ô `%s' ¤Ï %s ¤ÈÀë¸À¤µ¤ì¤Æ¤¤¤Þ¤¹"
+
+-#: fortran/trans-decl.c:3052
++#: fortran/trans-decl.c:3015
+ #, fuzzy, no-c-format
+ msgid "Unused parameter '%s' declared at %L"
+ msgstr "²¾°ú¿ô `%s' ¤¬ void ¤ÈÀë¸À¤µ¤ì¤Æ¤¤¤Þ¤¹"
+
+-#: fortran/trans-expr.c:2036
++#: fortran/trans-expr.c:2199
+ #, fuzzy, no-c-format
+ msgid "Unknown argument list function at %L"
+ msgstr "´Ø¿ô `%s' ¤Ø¤Î°ú¿ô¤¬¾¯¤Ê¤¹¤®¤Þ¤¹"
+@@ -10942,12 +11004,12 @@
+ msgid "'dim' argument of %s intrinsic at %L is not a valid dimension index"
+ msgstr ""
+
+-#: fortran/trans-io.c:1850
++#: fortran/trans-io.c:1851
+ #, no-c-format
+ msgid "Derived type '%s' at %L has PRIVATE components"
+ msgstr ""
+
+-#: fortran/trans-stmt.c:438
++#: fortran/trans-stmt.c:436
+ #, no-c-format
+ msgid "An alternate return at %L without a * dummy argument"
+ msgstr ""
+@@ -11169,62 +11231,38 @@
+ msgid "cannot specify 'main' class when not linking"
+ msgstr "¥ê¥ó¥¯»þ°Ê³°¤Ë¤Ï `main' ¥¯¥é¥¹¤ò»ØÄê¤Ç¤­¤Þ¤»¤ó"
+
+-#: config/i386/nwld.h:34
+-#, fuzzy
+-msgid "Static linking is not supported.\n"
+-msgstr "¥¹¥¿¥Ã¥¯À©¸Â¼°¤ò¼õ¤±ÉÕ¤±¤Þ¤»¤ó"
+-
+-#: java/jvspec.c:80 gcc.c:820 ada/lang-specs.h:33
+-msgid "-pg and -fomit-frame-pointer are incompatible"
+-msgstr "-pg ¤È -fomit-frame-pointer ¤Ï¶¦Â¸¤Ç¤­¤Þ¤»¤ó"
+-
+ #: config/vax/netbsd-elf.h:41
+ #, fuzzy
+ msgid "the -shared option is not currently supported for VAX ELF"
+ msgstr "ÁȤ߹þ¤ß´Ø¿ô `%s' ¤Ï¸½ºß¥µ¥Ý¡¼¥È¤µ¤ì¤Æ¤¤¤Þ¤»¤ó"
+
+-#: config/sparc/sol2-gld-bi.h:17 config/sparc/sol2-gld-bi.h:22
+-#: config/sparc/sol2-bi.h:189 config/sparc/sol2-bi.h:194
+-#, fuzzy
+-msgid "does not support multilib"
+-msgstr "%s ¤Ï %s ¤ò¼õ¤±ÉÕ¤±¤Þ¤»¤ó"
+-
+ #: config/vax/vax.h:49 config/vax/vax.h:50
+ msgid "profiling not supported with -mg\n"
+ msgstr "-mg ¤Ç¤Î¥×¥í¥Õ¥¡¥¤¥ë¤ÏÄ󶡤µ¤ì¤Þ¤»¤ó\n"
+
+-#: config/rs6000/linux64.h:347 config/rs6000/linux64.h:349 config/linux.h:106
+-#: config/linux.h:108 config/rs6000/sysv4.h:897 config/rs6000/sysv4.h:899
++#: config/sh/sh.h:461
++#, fuzzy
++msgid "SH2a does not support little-endian"
++msgstr "¥¿¡¼¥²¥Ã¥È CPU ¤Ï interworking ¤ò¥µ¥Ý¡¼¥È¤·¤Þ¤»¤ó"
++
++#: config/s390/tpf.h:119
++#, fuzzy
++msgid "static is not supported on TPF-OS"
++msgstr "-traditional ¤Ï C++ ¤Ç¤Ï¼õ¤±ÉÕ¤±¤é¤ì¤Þ¤»¤ó"
++
+ #: config/alpha/linux-elf.h:33 config/alpha/linux-elf.h:35
++#: config/rs6000/sysv4.h:897 config/rs6000/sysv4.h:899
+ #: config/sparc/linux.h:126 config/sparc/linux.h:128
+-#: config/sparc/linux64.h:152 config/sparc/linux64.h:154
++#: config/sparc/linux64.h:152 config/sparc/linux64.h:154 config/linux.h:106
++#: config/linux.h:108 config/rs6000/linux64.h:347 config/rs6000/linux64.h:349
+ #, fuzzy
+ msgid "-mglibc and -muclibc used together"
+ msgstr "-mapcs-26 ¤È -mapcs-32 ¤ÏƱ»þ¤Ë»È¤¨¤Þ¤»¤ó"
+
+-#: config/i386/cygwin.h:28
+-msgid "mno-cygwin and mno-win32 are not compatible"
+-msgstr "mno-cygwin ¤È mno-win32 ¤Ï¶¦Â¸¤Ç¤­¤Þ¤»¤ó"
++#: java/jvspec.c:80 gcc.c:820 ada/lang-specs.h:33
++msgid "-pg and -fomit-frame-pointer are incompatible"
++msgstr "-pg ¤È -fomit-frame-pointer ¤Ï¶¦Â¸¤Ç¤­¤Þ¤»¤ó"
+
+-#: config/i386/cygwin.h:74 config/i386/mingw32.h:74
+-msgid "shared and mdll are not compatible"
+-msgstr "shared ¤È mdll ¤È¤Ï¶¦Â¸¤Ç¤­¤Þ¤»¤ó"
+-
+-#: config/i386/sco5.h:188
+-#, fuzzy
+-msgid "-pg not supported on this platform"
+-msgstr "init_priority °À­¤Ï¤³¤Î¥×¥é¥Ã¥È¥Õ¥©¡¼¥à¤Ç¤Ï¥µ¥Ý¡¼¥È¤µ¤ì¤Æ¤¤¤Þ¤»¤ó"
+-
+-#: config/i386/sco5.h:189
+-#, fuzzy
+-msgid "-p and -pp specified - pick one"
+-msgstr "-I- ¤¬Æó²ó»ØÄꤵ¤ì¤Þ¤·¤¿"
+-
+-#: config/i386/sco5.h:258
+-#, fuzzy
+-msgid "-G and -static are mutually exclusive"
+-msgstr "-pedantic ¤È -traditional ¤È¤ÏÁê¸ßÇÓ¾Ū¤Ç¤¹"
+-
+ #: gcc.c:792
+ #, fuzzy
+ msgid "GCC does not support -C or -CC without -E"
+@@ -11235,62 +11273,14 @@
+ msgid "-E or -x required when input is from standard input"
+ msgstr "ÆþÎϤ¬É¸½àÆþÎϤξì¹ç¤Ï -E ¤¬É¬ÍפǤ¹"
+
+-#: java/lang-specs.h:33
+-msgid "-fjni and -femit-class-files are incompatible"
+-msgstr "-fjni ¤È -femit-class-files ¤Ï¶¦Â¸¤Ç¤­¤Þ¤»¤ó"
+-
+-#: java/lang-specs.h:34
+-msgid "-fjni and -femit-class-file are incompatible"
+-msgstr "-fjini ¤È -femit-class-file ¤Ï¶¦Â¸¤Ç¤­¤Þ¤»¤ó"
+-
+-#: java/lang-specs.h:35 java/lang-specs.h:36
+-msgid "-femit-class-file should used along with -fsyntax-only"
+-msgstr ""
+-
+ #: config/mcore/mcore.h:56
+ msgid "the m210 does not have little endian support"
+ msgstr "m210 ¤Ï¥ê¥È¥ë¥¨¥ó¥Ç¥£¥¢¥ó¥µ¥Ý¡¼¥È¤ò¹Ô¤Ê¤¨¤Þ¤»¤ó"
+
+-#: config/lynx.h:70
+-msgid "cannot use mthreads and mlegacy-threads together"
+-msgstr ""
+-
+-#: config/lynx.h:95
+-msgid "cannot use mshared and static together"
+-msgstr ""
+-
+-#: config/sh/sh.h:461
+-#, fuzzy
+-msgid "SH2a does not support little-endian"
+-msgstr "¥¿¡¼¥²¥Ã¥È CPU ¤Ï interworking ¤ò¥µ¥Ý¡¼¥È¤·¤Þ¤»¤ó"
+-
+-#: config/mips/mips.h:1042 config/arc/arc.h:61
++#: config/arc/arc.h:61 config/mips/mips.h:1042
+ msgid "may not use both -EB and -EL"
+ msgstr "-EB ¤È -EL ¤ÎξÊý¤ò»È¤¦¤³¤È¤Ï¤Ç¤­¤Þ¤»¤ó"
+
+-#: config/s390/tpf.h:119
+-#, fuzzy
+-msgid "static is not supported on TPF-OS"
+-msgstr "-traditional ¤Ï C++ ¤Ç¤Ï¼õ¤±ÉÕ¤±¤é¤ì¤Þ¤»¤ó"
+-
+-#: config/rs6000/darwin.h:95
+-msgid " conflicting code gen style switches are used"
+-msgstr ""
+-
+-#: ada/lang-specs.h:34
+-msgid "-c or -S required for Ada"
+-msgstr ""
+-
+-#: config/mips/r3900.h:34
+-#, fuzzy
+-msgid "-mhard-float not supported"
+-msgstr "-mhard-float ¤Ï¼ÂÁõ¤µ¤ì¤Æ¤¤¤Þ¤»¤ó."
+-
+-#: config/mips/r3900.h:36
+-#, fuzzy
+-msgid "-msingle-float and -msoft-float cannot both be specified"
+-msgstr "-msingle-float ¤È -msoft-float ¤ò°ìÅ٤˻ØÄꤹ¤ë¤³¤È¤Ï¤Ç¤­¤Þ¤»¤ó¡£"
+-
+ #: config/vxworks.h:71
+ #, fuzzy
+ msgid "-Xbind-now and -Xbind-lazy are incompatible"
+@@ -11332,6 +11322,16 @@
+ msgid "-private_bundle not allowed with -dynamiclib"
+ msgstr "-m64 »ØÄê¥â¡¼¥É¤Ç¤Ï -mlong-double-64 ¤Ïµö²Ä¤µ¤ì¤Þ¤»¤ó"
+
++#: config/mips/r3900.h:34
++#, fuzzy
++msgid "-mhard-float not supported"
++msgstr "-mhard-float ¤Ï¼ÂÁõ¤µ¤ì¤Æ¤¤¤Þ¤»¤ó."
++
++#: config/mips/r3900.h:36
++#, fuzzy
++msgid "-msingle-float and -msoft-float cannot both be specified"
++msgstr "-msingle-float ¤È -msoft-float ¤ò°ìÅ٤˻ØÄꤹ¤ë¤³¤È¤Ï¤Ç¤­¤Þ¤»¤ó¡£"
++
+ #: config/sparc/linux64.h:211 config/sparc/linux64.h:222
+ #: config/sparc/netbsd-elf.h:125 config/sparc/netbsd-elf.h:144
+ #: config/sparc/sol2-bi.h:217 config/sparc/sol2-bi.h:227
+@@ -11339,6 +11339,10 @@
+ msgid "may not use both -m32 and -m64"
+ msgstr "-mfp64 ¤È -m4650 ¤ÎξÊý¤ò»È¤¦¤³¤È¤Ï¤Ç¤­¤Þ¤»¤ó"
+
++#: config/i386/mingw32.h:74 config/i386/cygwin.h:74
++msgid "shared and mdll are not compatible"
++msgstr "shared ¤È mdll ¤È¤Ï¶¦Â¸¤Ç¤­¤Þ¤»¤ó"
++
+ #: config/arm/arm.h:147
+ msgid "-msoft-float and -mhard_float may not be used together"
+ msgstr "-msoft-float ¤È -mhard_float ¤ÏƱ»þ¤Ë»È¤¨¤Þ¤»¤ó"
+@@ -11347,125 +11351,69 @@
+ msgid "-mbig-endian and -mlittle-endian may not be used together"
+ msgstr "-mbig-endian ¤È -mlittle-endian ¤ÏƱ»þ¤Ë»È¤¨¤Þ¤»¤ó"
+
+-#: java/lang.opt:65
+-msgid "Warn if a deprecated compiler feature, class, method, or field is used"
++#: config/rs6000/darwin.h:95
++msgid " conflicting code gen style switches are used"
+ msgstr ""
+
+-#: java/lang.opt:69
+-msgid "Warn if deprecated empty statements are found"
+-msgstr "¿ä¾©¤µ¤ì¤Ê¤¤¶õʸ¤¬¸«¤Ä¤«¤ì¤Ð·Ù¹ð¤¹¤ë"
+-
+-#: java/lang.opt:73
+-msgid "Warn if .class files are out of date"
+-msgstr ".class ¥Õ¥¡¥¤¥ë¤¬¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤è¤ê¸Å¤±¤ì¤Ð·Ù¹ð¤¹¤ë"
+-
+-#: java/lang.opt:77
+-msgid "Warn if modifiers are specified when not necessary"
+-msgstr "»ØÄꤵ¤ì¤¿½¤¾þ»Ò¤¬ÉÔÍפʤâ¤Î¤Ç¤¢¤ì¤Ð·Ù¹ð¤¹¤ë"
+-
+-#: java/lang.opt:81
+-msgid "Deprecated; use --classpath instead"
++#: ada/lang-specs.h:34
++msgid "-c or -S required for Ada"
+ msgstr ""
+
+-#: java/lang.opt:88
+-msgid "Permit the use of the assert keyword"
+-msgstr ""
+-
+-#: java/lang.opt:110
++#: config/sparc/sol2-bi.h:189 config/sparc/sol2-bi.h:194
++#: config/sparc/sol2-gld-bi.h:17 config/sparc/sol2-gld-bi.h:22
+ #, fuzzy
+-msgid "Replace system path"
+-msgstr "¥¯¥é¥¹¥Ñ¥¹¤òÀßÄꤹ¤ë"
++msgid "does not support multilib"
++msgstr "%s ¤Ï %s ¤ò¼õ¤±ÉÕ¤±¤Þ¤»¤ó"
+
+-#: java/lang.opt:114
++#: config/i386/nwld.h:34
+ #, fuzzy
+-msgid "Generate checks for references to NULL"
+-msgstr "DLL ÍѤΥ³¡¼¥É¤òÀ¸À®¤¹¤ë"
++msgid "Static linking is not supported.\n"
++msgstr "¥¹¥¿¥Ã¥¯À©¸Â¼°¤ò¼õ¤±ÉÕ¤±¤Þ¤»¤ó"
+
+-#: java/lang.opt:118
+-msgid "Set class path"
+-msgstr "¥¯¥é¥¹¥Ñ¥¹¤òÀßÄꤹ¤ë"
++#: config/i386/cygwin.h:28
++msgid "mno-cygwin and mno-win32 are not compatible"
++msgstr "mno-cygwin ¤È mno-win32 ¤Ï¶¦Â¸¤Ç¤­¤Þ¤»¤ó"
+
+-#: java/lang.opt:125
+-msgid "Output a class file"
+-msgstr ""
++#: config/i386/sco5.h:188
++#, fuzzy
++msgid "-pg not supported on this platform"
++msgstr "init_priority °À­¤Ï¤³¤Î¥×¥é¥Ã¥È¥Õ¥©¡¼¥à¤Ç¤Ï¥µ¥Ý¡¼¥È¤µ¤ì¤Æ¤¤¤Þ¤»¤ó"
+
+-#: java/lang.opt:129
+-msgid "Alias for -femit-class-file"
+-msgstr ""
+-
+-#: java/lang.opt:133
++#: config/i386/sco5.h:189
+ #, fuzzy
+-msgid "Choose input encoding (defaults from your locale)"
+-msgstr "ÆþÎÏ¥¨¥ó¥³¡¼¥Ç¥£¥ó¥°¤òÁªÂò¤¹¤ë(¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï UTF-8)"
++msgid "-p and -pp specified - pick one"
++msgstr "-I- ¤¬Æó²ó»ØÄꤵ¤ì¤Þ¤·¤¿"
+
+-#: java/lang.opt:137
+-msgid "Set the extension directory path"
+-msgstr ""
+-
+-#: java/lang.opt:144
++#: config/i386/sco5.h:258
+ #, fuzzy
+-msgid "Input file is a file with a list of filenames to compile"
+-msgstr "ÆþÎÏ¥Õ¥¡¥¤¥ë¤ò¥³¥ó¥Ñ¥¤¥ë¤¹¤ë¥Õ¥¡¥¤¥ë̾¤Î¥ê¥¹¥È¤È¤¹¤ë"
++msgid "-G and -static are mutually exclusive"
++msgstr "-pedantic ¤È -traditional ¤È¤ÏÁê¸ßÇÓ¾Ū¤Ç¤¹"
+
+-#: java/lang.opt:151
+-msgid "Always check for non gcj generated classes archives"
+-msgstr "gcj ¤¬À¸À®¤·¤Æ¤¤¤Ê¤¤¥¯¥é¥¹¥¢¡¼¥«¥¤¥Ö¤ò¾ï¤Ë¸¡ºº¤¹¤ë"
++#: java/lang-specs.h:33
++msgid "-fjni and -femit-class-files are incompatible"
++msgstr "-fjni ¤È -femit-class-files ¤Ï¶¦Â¸¤Ç¤­¤Þ¤»¤ó"
+
+-#: java/lang.opt:155
+-msgid "Assume the runtime uses a hash table to map an object to its synchronization structure"
+-msgstr ""
++#: java/lang-specs.h:34
++msgid "-fjni and -femit-class-file are incompatible"
++msgstr "-fjini ¤È -femit-class-file ¤Ï¶¦Â¸¤Ç¤­¤Þ¤»¤ó"
+
+-#: java/lang.opt:159
+-msgid "Generate instances of Class at runtime"
++#: java/lang-specs.h:35 java/lang-specs.h:36
++msgid "-femit-class-file should used along with -fsyntax-only"
+ msgstr ""
+
+-#: java/lang.opt:163
+-msgid "Use offset tables for virtual method calls"
+-msgstr ""
+-
+-#: java/lang.opt:170
+-msgid "Assume native functions are implemented using JNI"
+-msgstr "native ´Ø¿ô¤¬ JNI ¤òÍøÍѤ·¤Æ¼ÂÁõ¤·¤Æ¤¤¤ë¤â¤Î¤È¤ß¤Ê¤¹"
+-
+-#: java/lang.opt:174
++#: config/cris/cris.h:207
+ #, fuzzy
+-msgid "Enable optimization of static class initialization code"
+-msgstr "(¥¯¥é¥¹³°¤Ç¤Î½é´ü²½¤òɬÍפȤ·¤Þ¤¹)"
++msgid "Do not specify both -march=... and -mcpu=..."
++msgstr "-C ¤È -o ¤ÏξÊý¤ò°ì½ï¤Ë»ØÄê¤Ç¤­¤Þ¤»¤ó"
+
+-#: java/lang.opt:181
+-msgid "Reduce the amount of reflection meta-data generated"
++#: config/lynx.h:70
++msgid "cannot use mthreads and mlegacy-threads together"
+ msgstr ""
+
+-#: java/lang.opt:185
+-msgid "Enable assignability checks for stores into object arrays"
++#: config/lynx.h:95
++msgid "cannot use mshared and static together"
+ msgstr ""
+
+-#: java/lang.opt:189
+-#, fuzzy
+-msgid "Generate code for the Boehm GC"
+-msgstr "Boehm GC ÍѤΥ³¡¼¥É¤òÀ¸À®¤¹¤ë"
+-
+-#: java/lang.opt:193
+-msgid "Call a library routine to do integer divisions"
+-msgstr ""
+-
+-#: java/lang.opt:197
+-msgid "Generated should be loaded by bootstrap loader"
+-msgstr ""
+-
+-#: java/lang.opt:201
+-msgid "Set the source language version"
+-msgstr ""
+-
+-#: java/lang.opt:205
+-#, fuzzy
+-msgid "Set the target VM version"
+-msgstr "ÉÔÀµ¤Ê¥Ø¥Ã¥À¥Ð¡¼¥¸¥ç¥ó"
+-
+-#: ada/lang.opt:96
+-msgid "Specify options to GNAT"
+-msgstr ""
+-
+ #: fortran/lang.opt:29
+ #, fuzzy
+ msgid "Add a directory for INCLUDE and MODULE searching"
+@@ -11726,7 +11674,7 @@
+ msgid "Append a second underscore if the name already contains an underscore"
+ msgstr ""
+
+-#: fortran/lang.opt:277 c.opt:714
++#: fortran/lang.opt:277 c.opt:718
+ msgid "Use the narrowest integer type possible for enumeration types"
+ msgstr ""
+
+@@ -11759,15 +11707,69 @@
+ msgid "Accept extensions to support legacy code"
+ msgstr ""
+
+-#: treelang/lang.opt:30
+-msgid "Trace lexical analysis"
+-msgstr ""
++#: config/mcore/mcore.opt:23
++#, fuzzy
++msgid "Generate code for the M*Core M210"
++msgstr "M*Core M340 ÍѤΥ³¡¼¥É¤òÀ¸À®¤¹¤ë"
+
+-#: treelang/lang.opt:34
++#: config/mcore/mcore.opt:27
++msgid "Generate code for the M*Core M340"
++msgstr "M*Core M340 ÍѤΥ³¡¼¥É¤òÀ¸À®¤¹¤ë"
++
++#: config/mcore/mcore.opt:31
++msgid "Set maximum alignment to 4"
++msgstr "ºÇÂ祢¥é¥¤¥ó¥á¥ó¥È¤ò 4 ¤ËÀßÄꤹ¤ë"
++
++#: config/mcore/mcore.opt:35
++msgid "Force functions to be aligned to a 4 byte boundary"
++msgstr "´Ø¿ô¤ò¶¯À©Åª¤Ë 4 ¥Ð¥¤¥È¶­³¦¤Ë¥¢¥é¥¤¥ó¤¹¤ë"
++
++#: config/mcore/mcore.opt:39
++msgid "Set maximum alignment to 8"
++msgstr "ºÇÂ祢¥é¥¤¥ó¥á¥ó¥È¤ò 8 ¤ËÀßÄꤹ¤ë"
++
++#: config/mcore/mcore.opt:43 config/score/score.opt:23
+ #, fuzzy
+-msgid "Trace the parsing process"
+-msgstr "AM33 ¥×¥í¥»¥Ã¥µ¤ò¥¿¡¼¥²¥Ã¥È¤È¤¹¤ë"
++msgid "Generate big-endian code"
++msgstr "¥Ó¥Ã¥°¥¨¥ó¥Ç¥£¥¢¥ó¤Î¥³¡¼¥É¤òÀ¸À®"
+
++#: config/mcore/mcore.opt:47
++msgid "Emit call graph information"
++msgstr "¸Æ¤Ó½Ð¤·¥°¥é¥Õ¾ðÊó¤òÁ÷½Ð¤¹¤ë"
++
++#: config/mcore/mcore.opt:51
++#, fuzzy
++msgid "Use the divide instruction"
++msgstr "ʬ³äÌ¿Îá¤ò»ÈÍѤ·¤Ê¤¤"
++
++#: config/mcore/mcore.opt:55
++msgid "Inline constants if it can be done in 2 insns or less"
++msgstr "2 Ì¿Îá°Ê²¼¤Ç¹Ô¤Ê¤¨¤ëÉÔÊѽèÍý¤ò¥¤¥ó¥é¥¤¥ó¤Ë¤¹¤ë"
++
++#: config/mcore/mcore.opt:59 config/score/score.opt:27
++#, fuzzy
++msgid "Generate little-endian code"
++msgstr "¥ê¥È¥ë¥¨¥ó¥Ç¥£¥¢¥ó¤Î¥³¡¼¥É¤òÀ¸À®"
++
++#: config/mcore/mcore.opt:67
++#, fuzzy
++msgid "Use arbitrary sized immediates in bit operations"
++msgstr "¥Ó¥Ã¥È±é»»¤Ç¤Î¨ÃÍ¥µ¥¤¥º¤òÄ´Ä䤷¤Ê¤¤"
++
++#: config/mcore/mcore.opt:71
++msgid "Prefer word accesses over byte accesses"
++msgstr "¥Ð¥¤¥È¥¢¥¯¥»¥¹¤è¤ê¥ï¡¼¥É¥¢¥¯¥»¥¹¤òÁª¤Ö"
++
++#: config/mcore/mcore.opt:75
++#, fuzzy
++msgid "Set the maximum amount for a single stack increment operation"
++msgstr "ñ°ì¥¹¥¿¥Ã¥¯¥¤¥ó¥¯¥ê¥á¥ó¥ÈÁàºî¤ÎºÇÂçÃÍ"
++
++#: config/mcore/mcore.opt:79
++#, fuzzy
++msgid "Always treat bitfields as int-sized"
++msgstr "¥Ó¥Ã¥È¥Õ¥£¡¼¥ë¥É¤ò¾ï¤Ë int ¤Î¥µ¥¤¥º¤È¤·¤Æ°·¤¦"
++
+ #: config/alpha/alpha.opt:23 config/i386/i386.opt:155
+ msgid "Do not use hardware fp"
+ msgstr "¥Ï¡¼¥É¥¦¥§¥¢ÉâÆ°¾®¿ôÅÀ¤òÍøÍѤ·¤Ê¤¤"
+@@ -11886,292 +11888,6 @@
+ msgid "Specify bit size of immediate TLS offsets"
+ msgstr ""
+
+-#: config/frv/frv.opt:23
+-#, fuzzy
+-msgid "Use 4 media accumulators"
+-msgstr "¾è»»Ì¿Îá¤ò»ÈÍѤ¹¤ë"
+-
+-#: config/frv/frv.opt:27
+-#, fuzzy
+-msgid "Use 8 media accumulators"
+-msgstr "¾è»»Ì¿Îá¤ò»ÈÍѤ¹¤ë"
+-
+-#: config/frv/frv.opt:31
+-#, fuzzy
+-msgid "Enable label alignment optimizations"
+-msgstr "SSA ºÇŬ²½¤òÍ­¸ú¤Ë¤¹¤ë"
+-
+-#: config/frv/frv.opt:35
+-#, fuzzy
+-msgid "Dynamically allocate cc registers"
+-msgstr "BK ¥ì¥¸¥¹¥¿¤ò³ÎÊݤ·¤Ê¤¤"
+-
+-#: config/frv/frv.opt:42
+-msgid "Set the cost of branches"
+-msgstr ""
+-
+-#: config/frv/frv.opt:46
+-msgid "Enable conditional execution other than moves/scc"
+-msgstr ""
+-
+-#: config/frv/frv.opt:50
+-msgid "Change the maximum length of conditionally-executed sequences"
+-msgstr ""
+-
+-#: config/frv/frv.opt:54
+-msgid "Change the number of temporary registers that are available to conditionally-executed sequences"
+-msgstr ""
+-
+-#: config/frv/frv.opt:58
+-#, fuzzy
+-msgid "Enable conditional moves"
+-msgstr "¾ò·ïŪ move Ì¿Îá¤ÎÍøÍѤòÍ­¸ú¤Ë¤¹¤ë"
+-
+-#: config/frv/frv.opt:62
+-#, fuzzy
+-msgid "Set the target CPU type"
+-msgstr "¥¿¡¼¥²¥Ã¥È CPU ¤Î̾Á°¤ò»ØÄꤹ¤ë"
+-
+-#: config/frv/frv.opt:84
+-#, fuzzy
+-msgid "Use fp double instructions"
+-msgstr "¥Ó¥Ã¥È¥Õ¥£¡¼¥ë¥ÉÌ¿Îá¤ò»ÈÍѤ¹¤ë"
+-
+-#: config/frv/frv.opt:88
+-msgid "Change the ABI to allow double word insns"
+-msgstr ""
+-
+-#: config/frv/frv.opt:92 config/bfin/bfin.opt:73
+-msgid "Enable Function Descriptor PIC mode"
+-msgstr ""
+-
+-#: config/frv/frv.opt:96
+-msgid "Just use icc0/fcc0"
+-msgstr ""
+-
+-#: config/frv/frv.opt:100
+-msgid "Only use 32 FPRs"
+-msgstr ""
+-
+-#: config/frv/frv.opt:104
+-msgid "Use 64 FPRs"
+-msgstr ""
+-
+-#: config/frv/frv.opt:108
+-msgid "Only use 32 GPRs"
+-msgstr ""
+-
+-#: config/frv/frv.opt:112
+-msgid "Use 64 GPRs"
+-msgstr ""
+-
+-#: config/frv/frv.opt:116
+-msgid "Enable use of GPREL for read-only data in FDPIC"
+-msgstr ""
+-
+-#: config/frv/frv.opt:120 config/rs6000/rs6000.opt:112
+-#: config/pdp11/pdp11.opt:71
+-msgid "Use hardware floating point"
+-msgstr "¥Ï¡¼¥É¥¦¥§¥¢ÉâÆ°¾®¿ôÅÀ¤òÍøÍѤ¹¤ë"
+-
+-#: config/frv/frv.opt:124 config/bfin/bfin.opt:77
+-#, fuzzy
+-msgid "Enable inlining of PLT in function calls"
+-msgstr "´Ø¿ô¸Æ¤Ó½Ð¤·¤ÎÁ°¸å¤Ç¥ì¥¸¥¹¥¿¤ÎÊݸ¤òÍ­¸ú¤Ë¤¹¤ë"
+-
+-#: config/frv/frv.opt:128
+-#, fuzzy
+-msgid "Enable PIC support for building libraries"
+-msgstr "Â礭¤Ê¥ª¥Ö¥¸¥§¥¯¥È¤Î¥µ¥Ý¡¼¥È"
+-
+-#: config/frv/frv.opt:132
+-msgid "Follow the EABI linkage requirements"
+-msgstr ""
+-
+-#: config/frv/frv.opt:136
+-#, fuzzy
+-msgid "Disallow direct calls to global functions"
+-msgstr "¸Æ¤Ó½Ð¤µ¤ì¤¿¥ª¥Ö¥¸¥§¥¯¥È¤Ï´Ø¿ô¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó"
+-
+-#: config/frv/frv.opt:140
+-#, fuzzy
+-msgid "Use media instructions"
+-msgstr "¥Ó¥Ã¥È¥Õ¥£¡¼¥ë¥ÉÌ¿Îá¤ò»ÈÍѤ¹¤ë"
+-
+-#: config/frv/frv.opt:144
+-#, fuzzy
+-msgid "Use multiply add/subtract instructions"
+-msgstr "¾è»»-²Ã»»ÉâÆ°¾®¿ôÅÀÌ¿Îá¤ò¤ò»ÈÍѤ¹¤ë"
+-
+-#: config/frv/frv.opt:148
+-msgid "Enable optimizing &&/|| in conditional execution"
+-msgstr ""
+-
+-#: config/frv/frv.opt:152
+-#, fuzzy
+-msgid "Enable nested conditional execution optimizations"
+-msgstr "¾ò·ïŪ move Ì¿Îá¤ÎÍøÍѤòÍ­¸ú¤Ë¤¹¤ë"
+-
+-#: config/frv/frv.opt:157
+-msgid "Do not mark ABI switches in e_flags"
+-msgstr ""
+-
+-#: config/frv/frv.opt:161
+-msgid "Remove redundant membars"
+-msgstr ""
+-
+-#: config/frv/frv.opt:165
+-#, fuzzy
+-msgid "Pack VLIW instructions"
+-msgstr "POWER Ì¿Î᥻¥Ã¥È¤ò»ÈÍѤ¹¤ë"
+-
+-#: config/frv/frv.opt:169
+-msgid "Enable setting GPRs to the result of comparisons"
+-msgstr ""
+-
+-#: config/frv/frv.opt:173
+-msgid "Change the amount of scheduler lookahead"
+-msgstr ""
+-
+-#: config/frv/frv.opt:177 config/pa/pa.opt:104
+-msgid "Use software floating point"
+-msgstr "¥½¥Õ¥ÈÉâÆ°¾®¿ôÅÀ¤òÍøÍѤ¹¤ë"
+-
+-#: config/frv/frv.opt:181
+-msgid "Assume a large TLS segment"
+-msgstr ""
+-
+-#: config/frv/frv.opt:185
+-#, fuzzy
+-msgid "Do not assume a large TLS segment"
+-msgstr "GAS ¤ÎÍøÍѤòÁ°Äó¤È¤·¤Ê¤¤"
+-
+-#: config/frv/frv.opt:190
+-msgid "Cause gas to print tomcat statistics"
+-msgstr ""
+-
+-#: config/frv/frv.opt:195
+-msgid "Link with the library-pic libraries"
+-msgstr ""
+-
+-#: config/frv/frv.opt:199
+-msgid "Allow branches to be packed with other instructions"
+-msgstr ""
+-
+-#: config/mn10300/mn10300.opt:23
+-msgid "Target the AM33 processor"
+-msgstr "AM33 ¥×¥í¥»¥Ã¥µ¤ò¥¿¡¼¥²¥Ã¥È¤È¤¹¤ë"
+-
+-#: config/mn10300/mn10300.opt:27
+-#, fuzzy
+-msgid "Target the AM33/2.0 processor"
+-msgstr "AM33 ¥×¥í¥»¥Ã¥µ¤ò¥¿¡¼¥²¥Ã¥È¤È¤¹¤ë"
+-
+-#: config/mn10300/mn10300.opt:31
+-msgid "Work around hardware multiply bug"
+-msgstr "¥Ï¡¼¥É¥¦¥§¥¢¾è»»¥Ð¥°¤ËÂн褹¤ë"
+-
+-#: config/mn10300/mn10300.opt:36
+-#, fuzzy
+-msgid "Enable linker relaxations"
+-msgstr "¥ê¥ó¥«¤Î´ËϤòÍ­¸ú¤Ë¤¹¤ë"
+-
+-#: config/mn10300/mn10300.opt:40
+-msgid "Return pointers in both a0 and d0"
+-msgstr ""
+-
+-#: config/s390/tpf.opt:23
+-msgid "Enable TPF-OS tracing code"
+-msgstr ""
+-
+-#: config/s390/tpf.opt:27
+-#, fuzzy
+-msgid "Specify main object for TPF-OS"
+-msgstr "RPTS ÍѤκÇÂçÈ¿Éü¿ô¤ò»ØÄꤹ¤ë"
+-
+-#: config/s390/s390.opt:23
+-#, fuzzy
+-msgid "31 bit ABI"
+-msgstr "32 ¥Ó¥Ã¥È ABI ¤ò»ÈÍѤ¹¤ë"
+-
+-#: config/s390/s390.opt:27
+-#, fuzzy
+-msgid "64 bit ABI"
+-msgstr "64 ¥Ó¥Ã¥È ABI ¤ò»ÈÍѤ¹¤ë"
+-
+-#: config/s390/s390.opt:31 config/i386/i386.opt:59 config/spu/spu.opt:60
+-msgid "Generate code for given CPU"
+-msgstr "½êÍ¿¤Î CPU ÍѤΥ³¡¼¥É¤òÀ¸À®¤¹¤ë"
+-
+-#: config/s390/s390.opt:35
+-msgid "Maintain backchain pointer"
+-msgstr ""
+-
+-#: config/s390/s390.opt:39
+-msgid "Additional debug prints"
+-msgstr ""
+-
+-#: config/s390/s390.opt:43
+-msgid "ESA/390 architecture"
+-msgstr ""
+-
+-#: config/s390/s390.opt:47
+-#, fuzzy
+-msgid "Enable fused multiply/add instructions"
+-msgstr "ÉâÆ°¾®¿ô¤Î¾è»»/²Ã»»Ì¿Îá¤òÀ¸À®¤¹¤ë"
+-
+-#: config/s390/s390.opt:51
+-#, fuzzy
+-msgid "Enable decimal floating point hardware support"
+-msgstr "16 ¿ÊÉâÆ°¾®¿ôÄê¿ô¤¬¤Ù¤­¾è¤ò»ý¤Á¤Þ¤»¤ó"
+-
+-#: config/s390/s390.opt:55
+-#, fuzzy
+-msgid "Enable hardware floating point"
+-msgstr "¥Ï¡¼¥É¥¦¥§¥¢ÉâÆ°¾®¿ôÅÀ¤òÍøÍѤ¹¤ë"
+-
+-#: config/s390/s390.opt:67
+-msgid "Use packed stack layout"
+-msgstr ""
+-
+-#: config/s390/s390.opt:71
+-msgid "Use bras for executable < 64k"
+-msgstr ""
+-
+-#: config/s390/s390.opt:75
+-#, fuzzy
+-msgid "Disable hardware floating point"
+-msgstr "¥Ï¡¼¥É¥¦¥§¥¢ÉâÆ°¾®¿ôÅÀ¤òÍøÍѤ¹¤ë"
+-
+-#: config/s390/s390.opt:79
+-msgid "Set the max. number of bytes which has to be left to stack size before a trap instruction is triggered"
+-msgstr ""
+-
+-#: config/s390/s390.opt:83
+-msgid "Emit extra code in the function prologue in order to trap if the stack size exceeds the given limit"
+-msgstr ""
+-
+-#: config/s390/s390.opt:87 config/ia64/ia64.opt:97 config/sparc/sparc.opt:95
+-#: config/i386/i386.opt:183 config/rs6000/rs6000.opt:226 config/spu/spu.opt:64
+-msgid "Schedule code for given CPU"
+-msgstr "½êÍ¿¤Î CPU ÍѤΥ³¡¼¥É¤ò¥¹¥±¥¸¥å¡¼¥ë¤¹¤ë"
+-
+-#: config/s390/s390.opt:91
+-msgid "mvcle use"
+-msgstr ""
+-
+-#: config/s390/s390.opt:95
+-msgid "Warn if a function uses alloca or creates an array with dynamic size"
+-msgstr ""
+-
+-#: config/s390/s390.opt:99
+-msgid "Warn if a single function's framesize exceeds the given framesize"
+-msgstr ""
+-
+-#: config/s390/s390.opt:103
+-msgid "z/Architecture"
+-msgstr ""
+-
+ #: config/ia64/ilp32.opt:3
+ #, fuzzy
+ msgid "Generate ILP32 code"
+@@ -12270,11 +11986,17 @@
+ msgid "Enable earlier placing stop bits for better scheduling"
+ msgstr ""
+
+-#: config/ia64/ia64.opt:89 config/spu/spu.opt:56 config/pa/pa.opt:51
++#: config/ia64/ia64.opt:89 config/pa/pa.opt:51 config/spu/spu.opt:56
+ #, fuzzy
+ msgid "Specify range of registers to make fixed"
+ msgstr "¸ÇÄꤹ¤ë¤¿¤á¤Î¥ì¥¸¥¹¥¿¤ÎÈϰϤò»ØÄꤹ¤ë"
+
++#: config/ia64/ia64.opt:97 config/i386/i386.opt:183
++#: config/rs6000/rs6000.opt:226 config/spu/spu.opt:64 config/s390/s390.opt:87
++#: config/sparc/sparc.opt:95
++msgid "Schedule code for given CPU"
++msgstr "½êÍ¿¤Î CPU ÍѤΥ³¡¼¥É¤ò¥¹¥±¥¸¥å¡¼¥ë¤¹¤ë"
++
+ #: config/ia64/ia64.opt:101
+ #, fuzzy
+ msgid "Use data speculation before reload"
+@@ -12325,381 +12047,327 @@
+ msgid "Count speculative dependencies while calculating priority of instructions"
+ msgstr ""
+
+-#: config/m32c/m32c.opt:24 config/bfin/bfin.opt:23 config/mt/mt.opt:27
+-msgid "Use simulator runtime"
+-msgstr ""
+-
+-#: config/m32c/m32c.opt:28
++#: config/xtensa/xtensa.opt:23
+ #, fuzzy
+-msgid "Compile code for R8C variants"
+-msgstr "64 ¥Ó¥Ã¥È¥Ý¥¤¥ó¥¿ÍѤ˥³¥ó¥Ñ¥¤¥ë¤¹¤ë"
++msgid "Use CONST16 instruction to load constants"
++msgstr "½ÐÎϤ¹¤ë°ú¿ô¤ò¥»¡¼¥Ö¤¹¤ë¤¿¤á push Ì¿Îá¤ò»È¤¦"
+
+-#: config/m32c/m32c.opt:32
++#: config/xtensa/xtensa.opt:27
+ #, fuzzy
+-msgid "Compile code for M16C variants"
+-msgstr "64 ¥Ó¥Ã¥È¥Ý¥¤¥ó¥¿ÍѤ˥³¥ó¥Ñ¥¤¥ë¤¹¤ë"
++msgid "Enable fused multiply/add and multiply/subtract FP instructions"
++msgstr "ÉâÆ°¾®¿ô¤Î¾è»»/²Ã»»Ì¿Îá¤òÀ¸À®¤¹¤ë"
+
+-#: config/m32c/m32c.opt:36
+-#, fuzzy
+-msgid "Compile code for M32CM variants"
+-msgstr "32 ¥Ó¥Ã¥È¥Ý¥¤¥ó¥¿ÍѤ˥³¥ó¥Ñ¥¤¥ë¤¹¤ë"
++#: config/xtensa/xtensa.opt:31
++msgid "Use indirect CALLXn instructions for large programs"
++msgstr ""
+
+-#: config/m32c/m32c.opt:40
+-#, fuzzy
+-msgid "Compile code for M32C variants"
+-msgstr "32 ¥Ó¥Ã¥È¥Ý¥¤¥ó¥¿ÍѤ˥³¥ó¥Ñ¥¤¥ë¤¹¤ë"
++#: config/xtensa/xtensa.opt:35
++msgid "Automatically align branch targets to reduce branch penalties"
++msgstr ""
+
+-#: config/m32c/m32c.opt:44
+-msgid "Number of memreg bytes (default: 16, range: 0..16)"
++#: config/xtensa/xtensa.opt:39
++msgid "Intersperse literal pools with code in the text section"
+ msgstr ""
+
+-#: config/sparc/little-endian.opt:23
++#: config/pa/pa.opt:23 config/pa/pa.opt:76 config/pa/pa.opt:84
+ #, fuzzy
+-msgid "Generate code for little-endian"
+-msgstr "¥ê¥È¥ë¥¨¥ó¥Ç¥£¥¢¥óÍѤΥ³¡¼¥É¤òÀ¸À®¤¹¤ë"
++msgid "Generate PA1.0 code"
++msgstr "SA ¥³¡¼¥É¤òÀ¸À®¤¹¤ë"
+
+-#: config/sparc/little-endian.opt:27
++#: config/pa/pa.opt:27 config/pa/pa.opt:88 config/pa/pa.opt:108
+ #, fuzzy
+-msgid "Generate code for big-endian"
+-msgstr "¥Ó¥Ã¥°¥¨¥ó¥Ç¥£¥¢¥óÍѤΥ³¡¼¥É¤òÀ¸À®¤¹¤ë"
++msgid "Generate PA1.1 code"
++msgstr "SA ¥³¡¼¥É¤òÀ¸À®¤¹¤ë"
+
+-#: config/sparc/sparc.opt:23 config/sparc/sparc.opt:27
+-#, fuzzy
+-msgid "Use hardware FP"
+-msgstr "¥Ï¡¼¥É¥¦¥§¥¢ÉâÆ°¾®¿ôÅÀ¤òÍøÍÑ"
++#: config/pa/pa.opt:31 config/pa/pa.opt:92
++msgid "Generate PA2.0 code (requires binutils 2.10 or later)"
++msgstr ""
+
+-#: config/sparc/sparc.opt:31
++#: config/pa/pa.opt:35
+ #, fuzzy
+-msgid "Do not use hardware FP"
+-msgstr "¥Ï¡¼¥É¥¦¥§¥¢ÉâÆ°¾®¿ôÅÀ¤òÍøÍѤ·¤Ê¤¤"
++msgid "Generate code for huge switch statements"
++msgstr "¹â°Ì¥¢¥É¥ì¥¹¥á¥â¥êÍѤΥ³¡¼¥É¤òÀ¸À®¤¹¤ë"
+
+-#: config/sparc/sparc.opt:35
+-msgid "Assume possible double misalignment"
+-msgstr "double ¤¬¸í¤Ã¤¿¥¢¥é¥¤¥ó¥á¥ó¥È¤È¤Ê¤ë²ÄǽÀ­¤¬¤¢¤ë¤È¤ß¤Ê¤¹"
+-
+-#: config/sparc/sparc.opt:39
+-msgid "Pass -assert pure-text to linker"
+-msgstr "¥ê¥ó¥«¤Ë -assert pure-text ¤òÅϤ¹"
+-
+-#: config/sparc/sparc.opt:43
+-msgid "Use ABI reserved registers"
+-msgstr "ABI ͽÌó¥ì¥¸¥¹¥¿¤ò»ÈÍѤ¹¤ë"
+-
+-#: config/sparc/sparc.opt:47
++#: config/pa/pa.opt:39
+ #, fuzzy
+-msgid "Use hardware quad FP instructions"
+-msgstr "»ÍÇÜÀºÅÙÉâÆ°¾®¿ôÅÀÌ¿Îá¤ò»ÈÍѤ¹¤ë"
++msgid "Disable FP regs"
++msgstr "¥Ç¥Ð¥Ã¥°¤ò̵¸ú¤Ë¤¹¤ë"
+
+-#: config/sparc/sparc.opt:51
+-msgid "Do not use hardware quad fp instructions"
+-msgstr "»ÍÇÜÀºÅÙÉâÆ°¾®¿ôÅÀÌ¿Îá¤ò»ÈÍѤ·¤Ê¤¤"
+-
+-#: config/sparc/sparc.opt:55
++#: config/pa/pa.opt:43
+ #, fuzzy
+-msgid "Compile for V8+ ABI"
+-msgstr "v8plus ABI ÍѤ˥³¥ó¥Ñ¥¤¥ë¤¹¤ë"
++msgid "Disable indexed addressing"
++msgstr "¥Ç¥Ð¥Ã¥°¤ò̵¸ú¤Ë¤¹¤ë"
+
+-#: config/sparc/sparc.opt:59
++#: config/pa/pa.opt:47
+ #, fuzzy
+-msgid "Use UltraSPARC Visual Instruction Set extensions"
+-msgstr "Visual Ì¿Î᥻¥Ã¥È¤òÍøÍѤ¹¤ë"
++msgid "Generate fast indirect calls"
++msgstr "´ÖÀܸƤӽФ·¤ò»ÈÍѤ·¤Ê¤¤"
+
+-#: config/sparc/sparc.opt:63
+-msgid "Pointers are 64-bit"
+-msgstr "¥Ý¥¤¥ó¥¿¤ò 64 ¥Ó¥Ã¥È¤È¤¹¤ë"
++#: config/pa/pa.opt:55
++msgid "Assume code will be assembled by GAS"
++msgstr ""
+
+-#: config/sparc/sparc.opt:67
+-msgid "Pointers are 32-bit"
+-msgstr "¥Ý¥¤¥ó¥¿¤ò 32 ¥Ó¥Ã¥È¤È¤¹¤ë"
++#: config/pa/pa.opt:59
++msgid "Put jumps in call delay slots"
++msgstr ""
+
+-#: config/sparc/sparc.opt:71
+-msgid "Use 64-bit ABI"
+-msgstr "64 ¥Ó¥Ã¥È ABI ¤ò»ÈÍѤ¹¤ë"
++#: config/pa/pa.opt:64
++#, fuzzy
++msgid "Enable linker optimizations"
++msgstr "SSA ºÇŬ²½¤òÍ­¸ú¤Ë¤¹¤ë"
+
+-#: config/sparc/sparc.opt:75
+-msgid "Use 32-bit ABI"
+-msgstr "32 ¥Ó¥Ã¥È ABI ¤ò»ÈÍѤ¹¤ë"
++#: config/pa/pa.opt:68
++msgid "Always generate long calls"
++msgstr ""
+
+-#: config/sparc/sparc.opt:79
+-msgid "Use stack bias"
+-msgstr "¥¹¥¿¥Ã¥¯¥Ð¥¤¥¢¥¹¤ò»ÈÍѤ¹¤ë"
++#: config/pa/pa.opt:72
++msgid "Emit long load/store sequences"
++msgstr ""
+
+-#: config/sparc/sparc.opt:83
+-msgid "Use structs on stronger alignment for double-word copies"
+-msgstr "¥À¥Ö¥ë¥ï¡¼¥É¥³¥Ô¡¼ÍѤζ¯¤¯¥¢¥é¥¤¥ó¤µ¤ì¤¿¹½Â¤ÂΤò»ÈÍѤ¹¤ë"
++#: config/pa/pa.opt:80
++msgid "Disable space regs"
++msgstr ""
+
+-#: config/sparc/sparc.opt:87
+-msgid "Optimize tail call instructions in assembler and linker"
+-msgstr "¥¢¥»¥ó¥Ö¥é¤È¥ê¥ó¥«¤ÇËöÈø¸Æ¤Ó½Ð¤·Ì¿Îá¤òºÇŬ²½¤¹¤ë"
++#: config/pa/pa.opt:96
++#, fuzzy
++msgid "Use portable calling conventions"
++msgstr "ÉáÄ̤θƤӽФ·µ¬Ìó¤ò»È¤¦"
+
+-#: config/sparc/sparc.opt:91 config/rs6000/rs6000.opt:222
+-msgid "Use features of and schedule code for given CPU"
+-msgstr "Í¿¤¨¤é¤ì¤¿ CPU ÍѤε¡Ç½¤È¥¹¥±¥¸¥å¡¼¥ë¥³¡¼¥É¤òÍøÍѤ¹¤ë"
+-
+-#: config/sparc/sparc.opt:99
++#: config/pa/pa.opt:100
+ #, fuzzy
+-msgid "Use given SPARC-V9 code model"
+-msgstr "Í¿¤¨¤é¤ì¤¿ Sparc ¥³¡¼¥É¥â¥Ç¥ë¤ò»ÈÍѤ¹¤ë"
+-
+-#: config/sparc/sparc.opt:103
+-msgid "Enable strict 32-bit psABI struct return checking."
++msgid "Specify CPU for scheduling purposes. Valid arguments are 700, 7100, 7100LC, 7200, 7300, and 8000"
+ msgstr ""
++"ÉÔÌÀ¤Ê -mschedule= ¥ª¥×¥·¥ç¥ó (%s).\n"
++"Àµ¾ï¤Ê¥ª¥×¥·¥ç¥ó¤Ï 700, 7100, 7100LC, 7200, µÚ¤Ó 8000 ¤Ç¤¹\n"
+
+-#: config/m32r/m32r.opt:23
+-#, fuzzy
+-msgid "Compile for the m32rx"
+-msgstr "68HC12 ÍѤ˥³¥ó¥Ñ¥¤¥ë¤¹¤ë"
++#: config/pa/pa.opt:104 config/frv/frv.opt:177
++msgid "Use software floating point"
++msgstr "¥½¥Õ¥ÈÉâÆ°¾®¿ôÅÀ¤òÍøÍѤ¹¤ë"
+
+-#: config/m32r/m32r.opt:27
++#: config/pa/pa.opt:112
+ #, fuzzy
+-msgid "Compile for the m32r2"
+-msgstr "68HC12 ÍѤ˥³¥ó¥Ñ¥¤¥ë¤¹¤ë"
++msgid "Do not disable space regs"
++msgstr "ÉâÆ°¾®¿ôÅÀ¥ì¥¸¥¹¥¿¤òÍøÍѤ·¤Ê¤¤"
+
+-#: config/m32r/m32r.opt:31
+-#, fuzzy
+-msgid "Compile for the m32r"
+-msgstr "68HC12 ÍѤ˥³¥ó¥Ñ¥¤¥ë¤¹¤ë"
+-
+-#: config/m32r/m32r.opt:35
+-msgid "Align all loops to 32 byte boundary"
+-msgstr "Á´¤Æ¤Î¥ë¡¼¥×¤ò 32 ¥Ð¥¤¥È¶­³¦¤Ë¥¢¥é¥¤¥ó¤¹¤ë"
+-
+-#: config/m32r/m32r.opt:39
+-msgid "Prefer branches over conditional execution"
+-msgstr "¾ò·ï¤Î¼Â¹Ô¤è¤ê¤Ïʬ´ô¤ÎÀ¸À®¤òÍ¥À褹¤ë"
+-
+-#: config/m32r/m32r.opt:43
+-msgid "Give branches their default cost"
++#: config/pa/pa-hpux1111.opt:23 config/pa/pa-hpux1010.opt:23
++#: config/pa/pa-hpux.opt:27
++msgid "Specify UNIX standard for predefines and linking"
+ msgstr ""
+
+-#: config/m32r/m32r.opt:47
+-msgid "Display compile time statistics"
+-msgstr "¥³¥ó¥Ñ¥¤¥ë»þ´ÖÅý·×Ãͤòɽ¼¨¤¹¤ë"
+-
+-#: config/m32r/m32r.opt:51
+-msgid "Specify cache flush function"
++#: config/pa/pa64-hpux.opt:23
++msgid "Assume code will be linked by GNU ld"
+ msgstr ""
+
+-#: config/m32r/m32r.opt:55
+-msgid "Specify cache flush trap number"
++#: config/pa/pa64-hpux.opt:27
++msgid "Assume code will be linked by HP ld"
+ msgstr ""
+
+-#: config/m32r/m32r.opt:59
+-msgid "Only issue one instruction per cycle"
+-msgstr "¥µ¥¤¥¯¥ëËè¤Ë°ì¤Ä¤ÎÌ¿Îá¤À¤±¤òȯ¹Ô¤¹¤ë"
+-
+-#: config/m32r/m32r.opt:63
++#: config/pa/pa-hpux.opt:23
+ #, fuzzy
+-msgid "Allow two instructions to be issued per cycle"
+-msgstr "¥µ¥¤¥¯¥ëËè¤Ë°ì¤Ä¤ÎÌ¿Îá¤À¤±¤òȯ¹Ô¤¹¤ë"
++msgid "Generate cpp defines for server IO"
++msgstr "½êÍ¿¤Î CPU ÍѤΥ³¡¼¥É¤òÀ¸À®¤¹¤ë"
+
+-#: config/m32r/m32r.opt:67
+-msgid "Code size: small, medium or large"
+-msgstr "¥³¡¼¥É¥µ¥¤¥º: small, medium Ëô¤Ï large"
+-
+-#: config/m32r/m32r.opt:71
++#: config/pa/pa-hpux.opt:31
+ #, fuzzy
+-msgid "Don't call any cache flush functions"
+-msgstr "´Ø¿ô %s ¤Ë¸Æ¤Ó½Ð¤·¤¬¤¢¤ê¤Þ¤»¤ó\n"
++msgid "Generate cpp defines for workstation IO"
++msgstr "11/40 ÍѤΥ³¡¼¥É¤òÀ¸À®¤¹¤ë"
+
+-#: config/m32r/m32r.opt:75
+-msgid "Don't call any cache flush trap"
+-msgstr ""
+-
+-#: config/m32r/m32r.opt:82
+-msgid "Small data area: none, sdata, use"
+-msgstr "¥¹¥â¡¼¥ë¥Ç¡¼¥¿Îΰè: none, sdata, use"
+-
+-#: config/m68k/m68k.opt:23
++#: config/frv/frv.opt:23
+ #, fuzzy
+-msgid "Generate code for a 520X"
+-msgstr "c2 ÍѤΥ³¡¼¥É¤òÀ¸À®¤¹¤ë"
++msgid "Use 4 media accumulators"
++msgstr "¾è»»Ì¿Îá¤ò»ÈÍѤ¹¤ë"
+
+-#: config/m68k/m68k.opt:27
++#: config/frv/frv.opt:27
+ #, fuzzy
+-msgid "Generate code for a 5206e"
+-msgstr "c2 ÍѤΥ³¡¼¥É¤òÀ¸À®¤¹¤ë"
++msgid "Use 8 media accumulators"
++msgstr "¾è»»Ì¿Îá¤ò»ÈÍѤ¹¤ë"
+
+-#: config/m68k/m68k.opt:31
++#: config/frv/frv.opt:31
+ #, fuzzy
+-msgid "Generate code for a 528x"
+-msgstr "c2 ÍѤΥ³¡¼¥É¤òÀ¸À®¤¹¤ë"
++msgid "Enable label alignment optimizations"
++msgstr "SSA ºÇŬ²½¤òÍ­¸ú¤Ë¤¹¤ë"
+
+-#: config/m68k/m68k.opt:35
++#: config/frv/frv.opt:35
+ #, fuzzy
+-msgid "Generate code for a 5307"
+-msgstr "DLL ÍѤΥ³¡¼¥É¤òÀ¸À®¤¹¤ë"
++msgid "Dynamically allocate cc registers"
++msgstr "BK ¥ì¥¸¥¹¥¿¤ò³ÎÊݤ·¤Ê¤¤"
+
+-#: config/m68k/m68k.opt:39
+-#, fuzzy
+-msgid "Generate code for a 5407"
+-msgstr "11/40 ÍѤΥ³¡¼¥É¤òÀ¸À®¤¹¤ë"
++#: config/frv/frv.opt:42
++msgid "Set the cost of branches"
++msgstr ""
+
+-#: config/m68k/m68k.opt:43 config/m68k/m68k.opt:104
+-#, fuzzy
+-msgid "Generate code for a 68000"
+-msgstr "DLL ÍѤΥ³¡¼¥É¤òÀ¸À®¤¹¤ë"
++#: config/frv/frv.opt:46
++msgid "Enable conditional execution other than moves/scc"
++msgstr ""
+
+-#: config/m68k/m68k.opt:47
+-#, fuzzy
+-msgid "Generate code for a 68010"
+-msgstr "11/40 ÍѤΥ³¡¼¥É¤òÀ¸À®¤¹¤ë"
++#: config/frv/frv.opt:50
++msgid "Change the maximum length of conditionally-executed sequences"
++msgstr ""
+
+-#: config/m68k/m68k.opt:51 config/m68k/m68k.opt:108
+-#, fuzzy
+-msgid "Generate code for a 68020"
+-msgstr "c2 ÍѤΥ³¡¼¥É¤òÀ¸À®¤¹¤ë"
++#: config/frv/frv.opt:54
++msgid "Change the number of temporary registers that are available to conditionally-executed sequences"
++msgstr ""
+
+-#: config/m68k/m68k.opt:55
++#: config/frv/frv.opt:58
+ #, fuzzy
+-msgid "Generate code for a 68040, without any new instructions"
+-msgstr "update Ì¿Îá¤È°ì½ï¤Ë¥í¡¼¥É/¥¹¥È¥¢Ì¿Îá¤òÀ¸À®¤¹¤ë"
++msgid "Enable conditional moves"
++msgstr "¾ò·ïŪ move Ì¿Îá¤ÎÍøÍѤòÍ­¸ú¤Ë¤¹¤ë"
+
+-#: config/m68k/m68k.opt:59
++#: config/frv/frv.opt:62
+ #, fuzzy
+-msgid "Generate code for a 68060, without any new instructions"
+-msgstr "update Ì¿Îá¤È°ì½ï¤Ë¥í¡¼¥É/¥¹¥È¥¢Ì¿Îá¤òÀ¸À®¤¹¤ë"
++msgid "Set the target CPU type"
++msgstr "¥¿¡¼¥²¥Ã¥È CPU ¤Î̾Á°¤ò»ØÄꤹ¤ë"
+
+-#: config/m68k/m68k.opt:63
++#: config/frv/frv.opt:84
+ #, fuzzy
+-msgid "Generate code for a 68030"
+-msgstr "DLL ÍѤΥ³¡¼¥É¤òÀ¸À®¤¹¤ë"
++msgid "Use fp double instructions"
++msgstr "¥Ó¥Ã¥È¥Õ¥£¡¼¥ë¥ÉÌ¿Îá¤ò»ÈÍѤ¹¤ë"
+
+-#: config/m68k/m68k.opt:67
+-#, fuzzy
+-msgid "Generate code for a 68040"
+-msgstr "11/40 ÍѤΥ³¡¼¥É¤òÀ¸À®¤¹¤ë"
++#: config/frv/frv.opt:88
++msgid "Change the ABI to allow double word insns"
++msgstr ""
+
+-#: config/m68k/m68k.opt:71
+-#, fuzzy
+-msgid "Generate code for a 68060"
+-msgstr "DLL ÍѤΥ³¡¼¥É¤òÀ¸À®¤¹¤ë"
++#: config/frv/frv.opt:92 config/bfin/bfin.opt:73
++msgid "Enable Function Descriptor PIC mode"
++msgstr ""
+
+-#: config/m68k/m68k.opt:75
+-#, fuzzy
+-msgid "Generate code for a 68302"
+-msgstr "c32 ÍѤΥ³¡¼¥É¤òÀ¸À®¤¹¤ë"
++#: config/frv/frv.opt:96
++msgid "Just use icc0/fcc0"
++msgstr ""
+
+-#: config/m68k/m68k.opt:79
+-#, fuzzy
+-msgid "Generate code for a 68332"
+-msgstr "c32 ÍѤΥ³¡¼¥É¤òÀ¸À®¤¹¤ë"
++#: config/frv/frv.opt:100
++msgid "Only use 32 FPRs"
++msgstr ""
+
+-#: config/m68k/m68k.opt:84
+-#, fuzzy
+-msgid "Generate code for a 68851"
+-msgstr "c1 ÍѤΥ³¡¼¥É¤òÀ¸À®¤¹¤ë"
++#: config/frv/frv.opt:104
++msgid "Use 64 FPRs"
++msgstr ""
+
+-#: config/m68k/m68k.opt:88
+-#, fuzzy
+-msgid "Generate code that uses 68881 floating-point instructions"
+-msgstr "¥Ï¡¼¥É¥¦¥§¥¢ÉâÆ°¾®¿ôÅÀÌ¿Îá¤ò»ÈÍѤ¹¤ë"
++#: config/frv/frv.opt:108
++msgid "Only use 32 GPRs"
++msgstr ""
+
+-#: config/m68k/m68k.opt:92
+-#, fuzzy
+-msgid "Align variables on a 32-bit boundary"
+-msgstr "Á´¤Æ¤Î¥ë¡¼¥×¤ò 32 ¥Ð¥¤¥È¶­³¦¤Ë¥¢¥é¥¤¥ó¤¹¤ë"
++#: config/frv/frv.opt:112
++msgid "Use 64 GPRs"
++msgstr ""
+
+-#: config/m68k/m68k.opt:96 config/arm/arm.opt:49 config/score/score.opt:63
+-msgid "Specify the name of the target architecture"
+-msgstr "¥¿¡¼¥²¥Ã¥È¥¢¡¼¥­¥Æ¥¯¥Á¥ã¤Î̾Á°¤ò»ØÄꤹ¤ë"
++#: config/frv/frv.opt:116
++msgid "Enable use of GPREL for read-only data in FDPIC"
++msgstr ""
+
+-#: config/m68k/m68k.opt:100
+-#, fuzzy
+-msgid "Use the bit-field instructions"
+-msgstr "¥Ó¥Ã¥È¥Õ¥£¡¼¥ë¥ÉÌ¿Îá¤ò»ÈÍѤ¹¤ë"
++#: config/frv/frv.opt:120 config/rs6000/rs6000.opt:112
++#: config/pdp11/pdp11.opt:71
++msgid "Use hardware floating point"
++msgstr "¥Ï¡¼¥É¥¦¥§¥¢ÉâÆ°¾®¿ôÅÀ¤òÍøÍѤ¹¤ë"
+
+-#: config/m68k/m68k.opt:112
++#: config/frv/frv.opt:124 config/bfin/bfin.opt:77
+ #, fuzzy
+-msgid "Generate code for a ColdFire v4e"
+-msgstr "M*Core M340 ÍѤΥ³¡¼¥É¤òÀ¸À®¤¹¤ë"
++msgid "Enable inlining of PLT in function calls"
++msgstr "´Ø¿ô¸Æ¤Ó½Ð¤·¤ÎÁ°¸å¤Ç¥ì¥¸¥¹¥¿¤ÎÊݸ¤òÍ­¸ú¤Ë¤¹¤ë"
+
+-#: config/m68k/m68k.opt:116
++#: config/frv/frv.opt:128
+ #, fuzzy
+-msgid "Specify the target CPU"
+-msgstr "¥¿¡¼¥²¥Ã¥È CPU ¤Î̾Á°¤ò»ØÄꤹ¤ë"
++msgid "Enable PIC support for building libraries"
++msgstr "Â礭¤Ê¥ª¥Ö¥¸¥§¥¯¥È¤Î¥µ¥Ý¡¼¥È"
+
+-#: config/m68k/m68k.opt:120
+-#, fuzzy
+-msgid "Generate code for a cpu32"
+-msgstr "c32 ÍѤΥ³¡¼¥É¤òÀ¸À®¤¹¤ë"
++#: config/frv/frv.opt:132
++msgid "Follow the EABI linkage requirements"
++msgstr ""
+
+-#: config/m68k/m68k.opt:124
++#: config/frv/frv.opt:136
+ #, fuzzy
+-msgid "Use hardware division instructions on ColdFire"
+-msgstr "»ÍÇÜÀºÅÙÉâÆ°¾®¿ôÅÀÌ¿Îá¤ò»ÈÍѤ¹¤ë"
++msgid "Disallow direct calls to global functions"
++msgstr "¸Æ¤Ó½Ð¤µ¤ì¤¿¥ª¥Ö¥¸¥§¥¯¥È¤Ï´Ø¿ô¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó"
+
+-#: config/m68k/m68k.opt:128
++#: config/frv/frv.opt:140
+ #, fuzzy
+-msgid "Generate code for a Fido A"
+-msgstr "DLL ÍѤΥ³¡¼¥É¤òÀ¸À®¤¹¤ë"
++msgid "Use media instructions"
++msgstr "¥Ó¥Ã¥È¥Õ¥£¡¼¥ë¥ÉÌ¿Îá¤ò»ÈÍѤ¹¤ë"
+
+-#: config/m68k/m68k.opt:132
++#: config/frv/frv.opt:144
+ #, fuzzy
+-msgid "Generate code which uses hardware floating point instructions"
+-msgstr "¥Ï¡¼¥É¥¦¥§¥¢ÉâÆ°¾®¿ôÅÀÌ¿Îá¤ò»ÈÍѤ¹¤ë"
++msgid "Use multiply add/subtract instructions"
++msgstr "¾è»»-²Ã»»ÉâÆ°¾®¿ôÅÀÌ¿Îá¤ò¤ò»ÈÍѤ¹¤ë"
+
+-#: config/m68k/m68k.opt:136
+-msgid "Enable ID based shared library"
++#: config/frv/frv.opt:148
++msgid "Enable optimizing &&/|| in conditional execution"
+ msgstr ""
+
+-#: config/m68k/m68k.opt:140
++#: config/frv/frv.opt:152
+ #, fuzzy
+-msgid "Do not use the bit-field instructions"
+-msgstr "¥Ó¥Ã¥È¥Õ¥£¡¼¥ë¥ÉÌ¿Îá¤ò»ÈÍѤ·¤Ê¤¤"
++msgid "Enable nested conditional execution optimizations"
++msgstr "¾ò·ïŪ move Ì¿Îá¤ÎÍøÍѤòÍ­¸ú¤Ë¤¹¤ë"
+
+-#: config/m68k/m68k.opt:144
+-msgid "Use normal calling convention"
+-msgstr "ÉáÄ̤θƤӽФ·µ¬Ìó¤ò»È¤¦"
++#: config/frv/frv.opt:157
++msgid "Do not mark ABI switches in e_flags"
++msgstr ""
+
+-#: config/m68k/m68k.opt:148
+-msgid "Consider type 'int' to be 32 bits wide"
++#: config/frv/frv.opt:161
++msgid "Remove redundant membars"
+ msgstr ""
+
+-#: config/m68k/m68k.opt:152
++#: config/frv/frv.opt:165
+ #, fuzzy
+-msgid "Generate pc-relative code"
+-msgstr "¼«¸ÊºÆÇÛÃÖ²Äǽ¥³¡¼¥É¤òÀ¸À®¤¹¤ë"
++msgid "Pack VLIW instructions"
++msgstr "POWER Ì¿Î᥻¥Ã¥È¤ò»ÈÍѤ¹¤ë"
+
+-#: config/m68k/m68k.opt:156
+-#, fuzzy
+-msgid "Use different calling convention using 'rtd'"
+-msgstr "ÉáÄ̤θƤӽФ·µ¬Ìó¤ò»È¤¦"
++#: config/frv/frv.opt:169
++msgid "Enable setting GPRs to the result of comparisons"
++msgstr ""
+
+-#: config/m68k/m68k.opt:160 config/bfin/bfin.opt:61
+-msgid "Enable separate data segment"
++#: config/frv/frv.opt:173
++msgid "Change the amount of scheduler lookahead"
+ msgstr ""
+
+-#: config/m68k/m68k.opt:164 config/bfin/bfin.opt:57
+-msgid "ID of shared library to build"
++#: config/frv/frv.opt:181
++msgid "Assume a large TLS segment"
+ msgstr ""
+
+-#: config/m68k/m68k.opt:168
+-msgid "Consider type 'int' to be 16 bits wide"
++#: config/frv/frv.opt:185
++#, fuzzy
++msgid "Do not assume a large TLS segment"
++msgstr "GAS ¤ÎÍøÍѤòÁ°Äó¤È¤·¤Ê¤¤"
++
++#: config/frv/frv.opt:190
++msgid "Cause gas to print tomcat statistics"
+ msgstr ""
+
+-#: config/m68k/m68k.opt:172
+-msgid "Generate code with library calls for floating point"
++#: config/frv/frv.opt:195
++msgid "Link with the library-pic libraries"
+ msgstr ""
+
+-#: config/m68k/m68k.opt:176
+-#, fuzzy
+-msgid "Do not use unaligned memory references"
+-msgstr "¥¢¥é¥¤¥ó¤µ¤ì¤Ê¤¤¥¢¥¯¥»¥¹¤òµö²Ä¤·¤Ê¤¤"
++#: config/frv/frv.opt:199
++msgid "Allow branches to be packed with other instructions"
++msgstr ""
+
+-#: config/m68k/m68k.opt:180
+-#, fuzzy
+-msgid "Tune for the specified target CPU or architecture"
+-msgstr "¥¿¡¼¥²¥Ã¥È¥¢¡¼¥­¥Æ¥¯¥Á¥ã¤Î̾Á°¤ò»ØÄꤹ¤ë"
++#: config/i386/cygming.opt:23
++msgid "Create console application"
++msgstr "¥³¥ó¥½¡¼¥ë¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤òºî¤ë"
+
+-#: config/m68k/ieee.opt:24 config/i386/i386.opt:95
+-msgid "Use IEEE math for fp comparisons"
+-msgstr "ÉâÆ°¾®¿ôÅÀÈæ³Ó¤Ë IEEE µ¬³Ê¤ò»È¤¦"
++#: config/i386/cygming.opt:27
++msgid "Use the Cygwin interface"
++msgstr "Cygwin ¥¤¥ó¥¿¡¼¥Õ¥§¥¤¥¹¤ò»ÈÍѤ¹¤ë"
+
+-#: config/i386/djgpp.opt:25
+-msgid "Ignored (obsolete)"
+-msgstr ""
++#: config/i386/cygming.opt:31
++msgid "Generate code for a DLL"
++msgstr "DLL ÍѤΥ³¡¼¥É¤òÀ¸À®¤¹¤ë"
+
++#: config/i386/cygming.opt:35
++msgid "Ignore dllimport for functions"
++msgstr "´Ø¿ô¤Ø¤Î dllimport ¤ò̵»ë¤¹¤ë"
++
++#: config/i386/cygming.opt:39
++msgid "Use Mingw-specific thread support"
++msgstr "Mingw ¸ÇÍ­¤Î¥¹¥ì¥Ã¥É¥µ¥Ý¡¼¥È¤ò»ÈÍѤ¹¤ë"
++
++#: config/i386/cygming.opt:43
++msgid "Set Windows defines"
++msgstr "Windows ¤Î define ¤òÀßÄꤹ¤ë"
++
++#: config/i386/cygming.opt:47
++msgid "Create GUI application"
++msgstr "GUI ¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤òºî¤ë"
++
+ #: config/i386/i386.opt:23
+ #, fuzzy
+ msgid "sizeof(long double) is 16"
+@@ -12738,6 +12406,10 @@
+ msgid "Align destination of the string operations"
+ msgstr "ʸ»úÎóÁàºî¤Î½ñ¹þ¤ßÀè¤ò¥¢¥é¥¤¥ó¥á¥ó¥È¤¹¤ë"
+
++#: config/i386/i386.opt:59 config/spu/spu.opt:60 config/s390/s390.opt:31
++msgid "Generate code for given CPU"
++msgstr "½êÍ¿¤Î CPU ÍѤΥ³¡¼¥É¤òÀ¸À®¤¹¤ë"
++
+ #: config/i386/i386.opt:63
+ #, fuzzy
+ msgid "Use given assembler dialect"
+@@ -12769,6 +12441,10 @@
+ msgid "Generate floating point mathematics using given instruction set"
+ msgstr "¥Ï¡¼¥É¥¦¥§¥¢ÉâÆ°¾®¿ôÅÀÌ¿Îá¤ò»ÈÍѤ¹¤ë"
+
++#: config/i386/i386.opt:95 config/m68k/ieee.opt:24
++msgid "Use IEEE math for fp comparisons"
++msgstr "ÉâÆ°¾®¿ôÅÀÈæ³Ó¤Ë IEEE µ¬³Ê¤ò»È¤¦"
++
+ #: config/i386/i386.opt:99
+ msgid "Inline all known string operations"
+ msgstr "´ûÃΤÎÁ´¤Æ¤Îʸ»úÎóÁàºî¤ò inline ¤Ë¤¹¤ë"
+@@ -12927,60 +12603,432 @@
+ msgid "Enable automatic generation of fused floating point multiply-add instructions"
+ msgstr "ÉâÆ°¾®¿ô¤Î¾è»»/²Ã»»Ì¿Îá¤òÀ¸À®¤·¤Ê¤¤"
+
+-#: config/i386/cygming.opt:23
+-msgid "Create console application"
+-msgstr "¥³¥ó¥½¡¼¥ë¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤òºî¤ë"
++#: config/i386/sco5.opt:24
++msgid "Generate ELF output"
++msgstr "ELF ½ÐÎϤòÀ¸À®¤¹¤ë"
+
+-#: config/i386/cygming.opt:27
+-msgid "Use the Cygwin interface"
+-msgstr "Cygwin ¥¤¥ó¥¿¡¼¥Õ¥§¥¤¥¹¤ò»ÈÍѤ¹¤ë"
++#: config/i386/djgpp.opt:25
++msgid "Ignored (obsolete)"
++msgstr ""
+
+-#: config/i386/cygming.opt:31
+-msgid "Generate code for a DLL"
+-msgstr "DLL ÍѤΥ³¡¼¥É¤òÀ¸À®¤¹¤ë"
++#: config/iq2000/iq2000.opt:23 config/mt/mt.opt:55
++#, fuzzy
++msgid "Specify CPU for code generation purposes"
++msgstr "Ì¿Î᥹¥±¥¸¥å¡¼¥ê¥ó¥°¤Î¤¿¤á¤Ë CPU ¤ò»ØÄꤹ¤ë"
+
+-#: config/i386/cygming.opt:35
+-msgid "Ignore dllimport for functions"
+-msgstr "´Ø¿ô¤Ø¤Î dllimport ¤ò̵»ë¤¹¤ë"
++#: config/iq2000/iq2000.opt:27
++msgid "Specify CPU for scheduling purposes"
++msgstr "Ì¿Î᥹¥±¥¸¥å¡¼¥ê¥ó¥°¤Î¤¿¤á¤Ë CPU ¤ò»ØÄꤹ¤ë"
+
+-#: config/i386/cygming.opt:39
+-msgid "Use Mingw-specific thread support"
+-msgstr "Mingw ¸ÇÍ­¤Î¥¹¥ì¥Ã¥É¥µ¥Ý¡¼¥È¤ò»ÈÍѤ¹¤ë"
++#: config/iq2000/iq2000.opt:31 config/mips/mips.opt:97
++msgid "Use ROM instead of RAM"
++msgstr "RAM ¤ÎÂå¤ï¤ê¤Ë ROM ¤òÍøÍѤ¹¤ë"
+
+-#: config/i386/cygming.opt:43
+-msgid "Set Windows defines"
+-msgstr "Windows ¤Î define ¤òÀßÄꤹ¤ë"
++#: config/iq2000/iq2000.opt:35
++msgid "Use GP relative sdata/sbss sections"
++msgstr "GP ´ØÏ¢ sdata/sbss ¥»¥¯¥·¥ç¥ó¤ò»ÈÍѤ¹¤ë"
+
+-#: config/i386/cygming.opt:47
+-msgid "Create GUI application"
+-msgstr "GUI ¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤òºî¤ë"
++#: config/iq2000/iq2000.opt:40
++msgid "No default crt0.o"
++msgstr "crt0.o ¤ò¥Ç¥Õ¥©¥ë¥È¤È¤·¤Ê¤¤"
+
+-#: config/i386/sco5.opt:24
+-msgid "Generate ELF output"
+-msgstr "ELF ½ÐÎϤòÀ¸À®¤¹¤ë"
++#: config/iq2000/iq2000.opt:44 config/mips/mips.opt:265
++msgid "Put uninitialized constants in ROM (needs -membedded-data)"
++msgstr "̤½é´ü²½Äê¿ô¤ò ROM ¤ËÃÖ¤¯(Í× -membedded-data)"
+
+-#: config/rs6000/aix41.opt:24 config/rs6000/aix64.opt:32
+-msgid "Support message passing with the Parallel Environment"
+-msgstr "ÊÂÎó´Ä¶­¤Ç¤Î¥á¥Ã¥»¡¼¥¸¥Ñ¥Ã¥·¥ó¥°¤ò¥µ¥Ý¡¼¥È¤¹¤ë"
++#: config/arm/arm.opt:23
++#, fuzzy
++msgid "Specify an ABI"
++msgstr "MIPS ISA ¤ò»ØÄꤹ¤ë"
+
+-#: config/rs6000/aix.opt:24 config/rs6000/rs6000.opt:147
+-msgid "Conform more closely to IBM XLC semantics"
++#: config/arm/arm.opt:27
++msgid "Generate a call to abort if a noreturn function returns"
++msgstr "noreturn ´Ø¿ô¤¬ return ¤¹¤ë¤È¤­ abort ¤Î¸Æ¤Ó½Ð¤·¤òÀ¸À®¤¹¤ë"
++
++#: config/arm/arm.opt:34
++msgid "Pass FP arguments in FP registers"
++msgstr "FP ¥ì¥¸¥¹¥¿¤Ç FP °ú¿ô¤òÅϤ¹"
++
++#: config/arm/arm.opt:38
++msgid "Generate APCS conformant stack frames"
++msgstr "APCS Ŭ¹ç¤·¤¿¥¹¥¿¥Ã¥¯¥Õ¥ì¡¼¥à¤òÀ¸À®¤¹¤ë"
++
++#: config/arm/arm.opt:42
++msgid "Generate re-entrant, PIC code"
++msgstr "ºÆÆþ²Äǽ¤Ê PIC ¥³¡¼¥É¤òÀ¸À®¤·¤Þ¤¹"
++
++#: config/arm/arm.opt:49 config/m68k/m68k.opt:96 config/score/score.opt:63
++msgid "Specify the name of the target architecture"
++msgstr "¥¿¡¼¥²¥Ã¥È¥¢¡¼¥­¥Æ¥¯¥Á¥ã¤Î̾Á°¤ò»ØÄꤹ¤ë"
++
++#: config/arm/arm.opt:56
++msgid "Assume target CPU is configured as big endian"
++msgstr "¥¿¡¼¥²¥Ã¥È CPU ¤¬¥Ó¥Ã¥¯¥¨¥ó¥Ç¥£¥¢¥ó¤È¤·¤ÆÀßÄꤵ¤ì¤Æ¤¤¤ë¤È¤ß¤Ê¤¹"
++
++#: config/arm/arm.opt:60
++msgid "Thumb: Assume non-static functions may be called from ARM code"
++msgstr "Thumb: ÈóÀÅŪ´Ø¿ô¤¬ ARM ¥³¡¼¥É¤«¤é¸Æ¤Ó½Ð¤µ¤ì¤ë²ÄǽÀ­¤¬¤¢¤ë¤È¤ß¤Ê¤¹"
++
++#: config/arm/arm.opt:64
++msgid "Thumb: Assume function pointers may go to non-Thumb aware code"
++msgstr "Thumb: ´Ø¿ô¥Ý¥¤¥ó¥¿¤¬Èó Thumb ¤Èǧ¼±¤¹¤ë¥³¡¼¥É¤ËÆÍÆþ¤¹¤ë²ÄǽÀ­¤¬¤¢¤ë¤È¤ß¤Ê¤¹"
++
++#: config/arm/arm.opt:68
++msgid "Cirrus: Place NOPs to avoid invalid instruction combinations"
+ msgstr ""
+
+-#: config/rs6000/darwin.opt:24 config/rs6000/sysv4.opt:132
++#: config/arm/arm.opt:72 config/bfin/bfin.opt:27
++msgid "Specify the name of the target CPU"
++msgstr "¥¿¡¼¥²¥Ã¥È CPU ¤Î̾Á°¤ò»ØÄꤹ¤ë"
++
++#: config/arm/arm.opt:76
++msgid "Specify if floating point hardware should be used"
++msgstr ""
++
++#: config/arm/arm.opt:90
+ #, fuzzy
++msgid "Specify the name of the target floating point hardware/format"
++msgstr "ÉâÆ°¾®¿ôÅÀ¥¨¥ß¥å¥ì¡¼¥¿¤Î¥Ð¡¼¥¸¥ç¥ó¤ò»ØÄꤹ¤ë"
++
++#: config/arm/arm.opt:94
++msgid "Alias for -mfloat-abi=hard"
++msgstr ""
++
++#: config/arm/arm.opt:98
++msgid "Assume target CPU is configured as little endian"
++msgstr "¥¿¡¼¥²¥Ã¥È CPU ¤¬¥ê¥È¥ë¥¨¥ó¥Ç¥£¥¢¥ó¤È¤·¤ÆÀßÄꤵ¤ì¤Æ¤¤¤ë¤È¤ß¤Ê¤¹"
++
++#: config/arm/arm.opt:102
++msgid "Generate call insns as indirect calls, if necessary"
++msgstr "ɬÍפ¬¤¢¤ì¤Ð¡¢Ì¿Îá¸Æ¤Ó½Ð¤·¤ò´ÖÀܸƤӽФ·¤È¤·¤ÆÀ¸À®¤¹¤ë"
++
++#: config/arm/arm.opt:106
++msgid "Specify the register to be used for PIC addressing"
++msgstr "PIC ¥¢¥É¥ì¥·¥ó¥°¤ËÍøÍѤµ¤ì¤ë¥ì¥¸¥¹¥¿¤ò»ØÄꤹ¤ë"
++
++#: config/arm/arm.opt:110
++msgid "Store function names in object code"
++msgstr "¥ª¥Ö¥¸¥§¥¯¥È¥³¡¼¥É¤Ë´Ø¿ô̾¤ò³ÊǼ¤¹¤ë"
++
++#: config/arm/arm.opt:114
++#, fuzzy
++msgid "Permit scheduling of a function's prologue sequence"
++msgstr "´Ø¿ô³«»ÏÉôʬÍѤΥ¹¥¿¥Ö¤ò»ÈÍѤ¹¤ë"
++
++#: config/arm/arm.opt:118
++msgid "Do not load the PIC register in function prologues"
++msgstr "´Ø¿ô¤ÎÁ°ÃÖ¤­Éôʬ¤Ë PIC ¥ì¥¸¥¹¥¿¤ò¥í¡¼¥É¤·¤Ê¤¤"
++
++#: config/arm/arm.opt:122
++msgid "Alias for -mfloat-abi=soft"
++msgstr ""
++
++#: config/arm/arm.opt:126
++msgid "Specify the minimum bit alignment of structures"
++msgstr "¹½Â¤ÂÎ¥¢¥é¥¤¥ó¥á¥ó¥È¤ÎºÇ¾®¥Ó¥Ã¥È¿ô¤ò»ØÄꤹ¤ë"
++
++#: config/arm/arm.opt:130
++msgid "Compile for the Thumb not the ARM"
++msgstr "ARM ¤Ç¤Ï¤Ê¤¯ Thumb ÍѤ˥³¥ó¥Ñ¥¤¥ë¤¹¤ë"
++
++#: config/arm/arm.opt:134
++msgid "Support calls between Thumb and ARM instruction sets"
++msgstr "Thumb ¤È ARM Ì¿Î᥻¥Ã¥È´Ö¤Î¸Æ¤Ó½Ð¤·¤ò¥µ¥Ý¡¼¥È¤¹¤ë"
++
++#: config/arm/arm.opt:138
++#, fuzzy
++msgid "Specify how to access the thread pointer"
++msgstr "¥¿¡¼¥²¥Ã¥È¥¢¡¼¥­¥Æ¥¯¥Á¥ã¤Î̾Á°¤ò»ØÄꤹ¤ë"
++
++#: config/arm/arm.opt:142
++msgid "Thumb: Generate (non-leaf) stack frames even if not needed"
++msgstr "Thumb: ÉÔÍפʾì¹ç¤Ç¤â(ÈóËöü)¥¹¥¿¥Ã¥¯¥Õ¥ì¡¼¥à¤òÀ¸À®¤¹¤ë"
++
++#: config/arm/arm.opt:146
++msgid "Thumb: Generate (leaf) stack frames even if not needed"
++msgstr "Thumb: ÉÔÍפʾì¹ç¤Ç¤â(Ëöü)¥¹¥¿¥Ã¥¯¥Õ¥ì¡¼¥à¤òÀ¸À®¤¹¤ë"
++
++#: config/arm/arm.opt:150
++#, fuzzy
++msgid "Tune code for the given processor"
++msgstr "v850 ¥×¥í¥»¥Ã¥µÍѤ˥³¥ó¥Ñ¥¤¥ë¤¹¤ë"
++
++#: config/arm/arm.opt:154
++msgid "Assume big endian bytes, little endian words"
++msgstr "byte ¤¬¥Ó¥Ã¥°¥¨¥ó¥Ç¥£¥¢¥ó¤Ç word ¤¬¥ê¥È¥ë¥¨¥ó¥Ç¥£¥¢¥ó¤È¤ß¤Ê¤¹"
++
++#: config/arm/arm.opt:158
++msgid "Use Neon quad-word (rather than double-word) registers for vectorization"
++msgstr ""
++
++#: config/arm/pe.opt:23
++msgid "Ignore dllimport attribute for functions"
++msgstr "´Ø¿ô¤Î dllimport °À­¤ò̵»ë¤¹¤ë"
++
++#: config/cris/linux.opt:27
++msgid "Together with -fpic and -fPIC, do not use GOTPLT references"
++msgstr ""
++
++#: config/cris/aout.opt:27
++msgid "Compile for the MMU-less Etrax 100-based elinux system"
++msgstr ""
++
++#: config/cris/aout.opt:33
++msgid "For elinux, request a specified stack-size for this program"
++msgstr ""
++
++#: config/cris/cris.opt:45
++#, fuzzy
++msgid "Work around bug in multiplication instruction"
++msgstr "¾è»»-²Ã»»ÉâÆ°¾®¿ôÅÀÌ¿Îá¤ò»ÈÍѤ·¤Ê¤¤"
++
++#: config/cris/cris.opt:51
++msgid "Compile for ETRAX 4 (CRIS v3)"
++msgstr ""
++
++#: config/cris/cris.opt:56
++msgid "Compile for ETRAX 100 (CRIS v8)"
++msgstr ""
++
++#: config/cris/cris.opt:64
++msgid "Emit verbose debug information in assembly code"
++msgstr ""
++
++#: config/cris/cris.opt:71
++#, fuzzy
++msgid "Do not use condition codes from normal instructions"
++msgstr "¥Ó¥Ã¥È¥Õ¥£¡¼¥ë¥ÉÌ¿Îá¤ò»ÈÍѤ·¤Ê¤¤"
++
++#: config/cris/cris.opt:80
++msgid "Do not emit addressing modes with side-effect assignment"
++msgstr ""
++
++#: config/cris/cris.opt:89
++#, fuzzy
++msgid "Do not tune stack alignment"
++msgstr "¥¹¥¿¥Ã¥¯¥Ð¥¤¥¢¥¹¤ò»ÈÍѤ·¤Ê¤¤"
++
++#: config/cris/cris.opt:98
++#, fuzzy
++msgid "Do not tune writable data alignment"
++msgstr "ʸ»úÎó¤ò½ñ¤­¹þ¤ß²Äǽ¥Ç¡¼¥¿¥»¥¯¥·¥ç¥ó¤Ë³ÊǼ¤¹¤ë"
++
++#: config/cris/cris.opt:107
++msgid "Do not tune code and read-only data alignment"
++msgstr ""
++
++#: config/cris/cris.opt:116
++msgid "Align code and data to 32 bits"
++msgstr ""
++
++#: config/cris/cris.opt:133
++msgid "Don't align items in code or data"
++msgstr ""
++
++#: config/cris/cris.opt:142
++#, fuzzy
++msgid "Do not emit function prologue or epilogue"
++msgstr "´Ø¿ô¤ÎÁ°ÃÖ¤­/·ë¤Ó¤Î¤¿¤á¤Î¥µ¥Ö¥ë¡¼¥Á¥ó¤òÍøÍѤ¹¤ë"
++
++#: config/cris/cris.opt:149
++msgid "Use the most feature-enabling options allowed by other options"
++msgstr ""
++
++#: config/cris/cris.opt:158
++msgid "Override -mbest-lib-options"
++msgstr ""
++
++#: config/cris/cris.opt:165
++#, fuzzy
++msgid "Generate code for the specified chip or CPU version"
++msgstr "½êÍ¿¤Î CPU ÍѤΥ³¡¼¥É¤òÀ¸À®¤¹¤ë"
++
++#: config/cris/cris.opt:169
++#, fuzzy
++msgid "Tune alignment for the specified chip or CPU version"
++msgstr "`%s' ¤ËÂФ·¤Æ¤Î¥¢¥é¥¤¥ó¥á¥ó¥È¤Ï»ØÄê¤Ç¤­¤Þ¤»¤ó"
++
++#: config/cris/cris.opt:173
++msgid "Warn when a stackframe is larger than the specified size"
++msgstr ""
++
++#: config/avr/avr.opt:23
++#, fuzzy
++msgid "Use subroutines for function prologues and epilogues"
++msgstr "´Ø¿ô¤ÎÁ°ÃÖ¤­/·ë¤Ó¤Î¤¿¤á¤Î¥µ¥Ö¥ë¡¼¥Á¥ó¤òÍøÍѤ¹¤ë"
++
++#: config/avr/avr.opt:27
++#, fuzzy
++msgid "Select the target MCU"
++msgstr "¥¿¡¼¥²¥Ã¥È CPU ¤Î̾Á°¤ò»ØÄꤹ¤ë"
++
++#: config/avr/avr.opt:34
++#, fuzzy
++msgid "Use an 8-bit 'int' type"
++msgstr "64 ¥Ó¥Ã¥È int ·¿¤ò»ÈÍѤ¹¤ë"
++
++#: config/avr/avr.opt:38
++msgid "Change the stack pointer without disabling interrupts"
++msgstr "³ä¤ê¹þ¤ß¤Î̵¸ú²½¤Ê¤·¤Ç¥¹¥¿¥Ã¥¯¥Ý¥¤¥ó¥¿¤òÊѹ¹¤¹¤ë"
++
++#: config/avr/avr.opt:42
++msgid "Do not generate tablejump insns"
++msgstr "¥Æ¡¼¥Ö¥ë¥¸¥ã¥ó¥×Ì¿Îá¤òÀ¸À®¤·¤Ê¤¤"
++
++#: config/avr/avr.opt:52
++msgid "Use rjmp/rcall (limited range) on >8K devices"
++msgstr ""
++
++#: config/avr/avr.opt:56
++msgid "Output instruction sizes to the asm file"
++msgstr "asm ¥Õ¥¡¥¤¥ë¤ËÌ¿Î᥵¥¤¥º¤ò½ÐÎϤ¹¤ë"
++
++#: config/avr/avr.opt:60
++msgid "Change only the low 8 bits of the stack pointer"
++msgstr "¥¹¥¿¥Ã¥¯¥Ý¥¤¥ó¥¿¤Î²¼°Ì 8 ¥Ó¥Ã¥È¤À¤±¤òÊѹ¹¤¹¤ë"
++
++#: config/avr/avr.opt:64
++msgid "Relax branches"
++msgstr ""
++
++#: config/avr/avr.opt:68
++msgid "Make the linker relaxation machine assume that a program counter wrap-around occures."
++msgstr ""
++
++#: config/linux.opt:24
++#, fuzzy
++msgid "Use uClibc instead of GNU libc"
++msgstr "RAM ¤ÎÂå¤ï¤ê¤Ë ROM ¤òÍøÍѤ¹¤ë"
++
++#: config/linux.opt:28
++#, fuzzy
++msgid "Use GNU libc instead of uClibc"
++msgstr "RAM ¤ÎÂå¤ï¤ê¤Ë ROM ¤òÍøÍѤ¹¤ë"
++
++#: config/rs6000/sysv4.opt:24
++#, fuzzy
++msgid "Select ABI calling convention"
++msgstr "ABI ¸Æ¤Ó½Ð¤·µ¬Ìó¤òÁªÂò¤¹¤ë"
++
++#: config/rs6000/sysv4.opt:28
++#, fuzzy
++msgid "Select method for sdata handling"
++msgstr "sdata ¼è¤ê°·¤¤¤Î¤¿¤á¤Î¥á¥½¥Ã¥É¤òÁªÂò¤¹¤ë"
++
++#: config/rs6000/sysv4.opt:36 config/rs6000/sysv4.opt:40
++#, fuzzy
++msgid "Align to the base type of the bit-field"
++msgstr "¥Ó¥Ã¥È¥Õ¥£¡¼¥ë¥É¤Î¥Ù¡¼¥¹¥¿¥¤¥×¤Ë¥¢¥é¥¤¥ó¤¹¤ë"
++
++#: config/rs6000/sysv4.opt:45 config/rs6000/sysv4.opt:49
++#, fuzzy
++msgid "Produce code relocatable at runtime"
++msgstr "¼Â¹Ô»þ¤ËºÆÇÛÃÖ²Äǽ¤Ê¥³¡¼¥É¤òÀ¸À®¤¹¤ë"
++
++#: config/rs6000/sysv4.opt:53 config/rs6000/sysv4.opt:57
++#, fuzzy
++msgid "Produce little endian code"
++msgstr "¥ê¥È¥ë¥¨¥ó¥Ç¥£¥¢¥ó¥³¡¼¥É¤òÀ¸À®¤¹¤ë"
++
++#: config/rs6000/sysv4.opt:61 config/rs6000/sysv4.opt:65
++#, fuzzy
++msgid "Produce big endian code"
++msgstr "¥Ó¥Ã¥°¥¨¥ó¥Ç¥£¥¢¥ó¥³¡¼¥É¤òÀ¸À®¤¹¤ë"
++
++#: config/rs6000/sysv4.opt:70 config/rs6000/sysv4.opt:74
++#: config/rs6000/sysv4.opt:83 config/rs6000/sysv4.opt:100
++#: config/rs6000/sysv4.opt:128 config/rs6000/sysv4.opt:140
++msgid "no description yet"
++msgstr "ÀâÌÀ¤Ï¤Þ¤À¤¢¤ê¤Þ¤»¤ó"
++
++#: config/rs6000/sysv4.opt:78
++msgid "Assume all variable arg functions are prototyped"
++msgstr ""
++
++#: config/rs6000/sysv4.opt:87
++#, fuzzy
++msgid "Use EABI"
++msgstr "EABI ¤òÍøÍѤ¹¤ë¡£"
++
++#: config/rs6000/sysv4.opt:91
++#, fuzzy
++msgid "Allow bit-fields to cross word boundaries"
++msgstr "¥ï¡¼¥É¶­³¦¤è¤êÂ礭¤á¤Ë¥¢¥é¥¤¥ó¤¹¤ë"
++
++#: config/rs6000/sysv4.opt:95
++#, fuzzy
++msgid "Use alternate register names"
++msgstr "ÂåÂإ쥸¥¹¥¿Ì¾¤ò»ÈÍѤ¹¤ë"
++
++#: config/rs6000/sysv4.opt:104
++#, fuzzy
++msgid "Link with libsim.a, libc.a and sim-crt0.o"
++msgstr "libsim.a, libc.a µÚ¤Ó sim-crt0.o ¤È¥ê¥ó¥¯¤¹¤ë¡£"
++
++#: config/rs6000/sysv4.opt:108
++#, fuzzy
++msgid "Link with libads.a, libc.a and crt0.o"
++msgstr "libads.a, libc.a µÚ¤Ó crt0.o ¤È¥ê¥ó¥¯¤¹¤ë¡£"
++
++#: config/rs6000/sysv4.opt:112
++#, fuzzy
++msgid "Link with libyk.a, libc.a and crt0.o"
++msgstr "libyk.a, libc.a µÚ¤Ó crt0.o ¤È¥ê¥ó¥¯¤¹¤ë¡£"
++
++#: config/rs6000/sysv4.opt:116
++#, fuzzy
++msgid "Link with libmvme.a, libc.a and crt0.o"
++msgstr "libmvme.a, libc.a µÚ¤Ó crt0.o ¤È¥ê¥ó¥¯¤¹¤ë¡£"
++
++#: config/rs6000/sysv4.opt:120
++msgid "Set the PPC_EMB bit in the ELF flags header"
++msgstr "PPC_EMB ¥Ó¥Ã¥È¤ò ELF ¥Õ¥é¥°¥Ø¥Ã¥ÀÆâ¤Ë¥»¥Ã¥È¤¹¤ë"
++
++#: config/rs6000/sysv4.opt:124
++msgid "Use the WindISS simulator"
++msgstr ""
++
++#: config/rs6000/sysv4.opt:132 config/rs6000/darwin.opt:24
++#, fuzzy
+ msgid "Generate 64-bit code"
+ msgstr "SA ¥³¡¼¥É¤òÀ¸À®¤¹¤ë"
+
+-#: config/rs6000/darwin.opt:28 config/rs6000/sysv4.opt:136
++#: config/rs6000/sysv4.opt:136 config/rs6000/darwin.opt:28
+ #, fuzzy
+ msgid "Generate 32-bit code"
+ msgstr "SA ¥³¡¼¥É¤òÀ¸À®¤¹¤ë"
+
++#: config/rs6000/sysv4.opt:144
++#, fuzzy
++msgid "Generate code to use a non-exec PLT and GOT"
++msgstr "unix ¥¢¥»¥ó¥Ö¥é¤¬½èÍý¤Ç¤­¤ë¥³¡¼¥É¤òÀ¸À®¤¹¤ë"
++
++#: config/rs6000/sysv4.opt:148
++#, fuzzy
++msgid "Generate code for old exec BSS PLT"
++msgstr "c1 ÍѤΥ³¡¼¥É¤òÀ¸À®¤¹¤ë"
++
++#: config/rs6000/linux64.opt:24
++#, fuzzy
++msgid "Call mcount for profiling before a function prologue"
++msgstr "´Ø¿ô¤Î³«»ÏÉôʬ¤ËÌ¿Îá¤ò°ÜÆ°¤·¤Ê¤¤"
++
+ #: config/rs6000/darwin.opt:32
+ msgid "Generate code suitable for executables (NOT shared libs)"
+ msgstr ""
+
++#: config/rs6000/aix64.opt:24
++msgid "Compile for 64-bit pointers"
++msgstr "64 ¥Ó¥Ã¥È¥Ý¥¤¥ó¥¿ÍѤ˥³¥ó¥Ñ¥¤¥ë¤¹¤ë"
++
++#: config/rs6000/aix64.opt:28
++msgid "Compile for 32-bit pointers"
++msgstr "32 ¥Ó¥Ã¥È¥Ý¥¤¥ó¥¿ÍѤ˥³¥ó¥Ñ¥¤¥ë¤¹¤ë"
++
++#: config/rs6000/aix64.opt:32 config/rs6000/aix41.opt:24
++msgid "Support message passing with the Parallel Environment"
++msgstr "ÊÂÎó´Ä¶­¤Ç¤Î¥á¥Ã¥»¡¼¥¸¥Ñ¥Ã¥·¥ó¥°¤ò¥µ¥Ý¡¼¥È¤¹¤ë"
++
+ #: config/rs6000/rs6000.opt:24
+ msgid "Use POWER instruction set"
+ msgstr "POWER Ì¿Î᥻¥Ã¥È¤ò»ÈÍѤ¹¤ë"
+@@ -13108,6 +13156,10 @@
+ msgid "Return small structures in registers (SVR4 default)"
+ msgstr ""
+
++#: config/rs6000/rs6000.opt:147 config/rs6000/aix.opt:24
++msgid "Conform more closely to IBM XLC semantics"
++msgstr ""
++
+ #: config/rs6000/rs6000.opt:151
+ msgid "Generate software reciprocal sqrt for better throughput"
+ msgstr ""
+@@ -13177,6 +13229,10 @@
+ msgid "Specify ABI to use"
+ msgstr ""
+
++#: config/rs6000/rs6000.opt:222 config/sparc/sparc.opt:91
++msgid "Use features of and schedule code for given CPU"
++msgstr "Í¿¤¨¤é¤ì¤¿ CPU ÍѤε¡Ç½¤È¥¹¥±¥¸¥å¡¼¥ë¥³¡¼¥É¤òÍøÍѤ¹¤ë"
++
+ #: config/rs6000/rs6000.opt:230
+ msgid "Select full, part, or no traceback table"
+ msgstr ""
+@@ -13217,112 +13273,79 @@
+ msgid "Specify scheduling priority for dispatch slot restricted insns"
+ msgstr ""
+
+-#: config/rs6000/aix64.opt:24
+-msgid "Compile for 64-bit pointers"
+-msgstr "64 ¥Ó¥Ã¥È¥Ý¥¤¥ó¥¿ÍѤ˥³¥ó¥Ñ¥¤¥ë¤¹¤ë"
+-
+-#: config/rs6000/aix64.opt:28
+-msgid "Compile for 32-bit pointers"
+-msgstr "32 ¥Ó¥Ã¥È¥Ý¥¤¥ó¥¿ÍѤ˥³¥ó¥Ñ¥¤¥ë¤¹¤ë"
+-
+-#: config/rs6000/linux64.opt:24
++#: config/v850/v850.opt:23
+ #, fuzzy
+-msgid "Call mcount for profiling before a function prologue"
+-msgstr "´Ø¿ô¤Î³«»ÏÉôʬ¤ËÌ¿Îá¤ò°ÜÆ°¤·¤Ê¤¤"
++msgid "Use registers r2 and r5"
++msgstr "ÉâÆ°¾®¿ôÅÀ¥ì¥¸¥¹¥¿¤òÍøÍѤ¹¤ë"
+
+-#: config/rs6000/sysv4.opt:24
+-#, fuzzy
+-msgid "Select ABI calling convention"
+-msgstr "ABI ¸Æ¤Ó½Ð¤·µ¬Ìó¤òÁªÂò¤¹¤ë"
++#: config/v850/v850.opt:27
++msgid "Use 4 byte entries in switch tables"
++msgstr "switch ¥Æ¡¼¥Ö¥ë¤Ç 4 ¥Ð¥¤¥È¥¨¥ó¥È¥ê¤ò»ÈÍѤ¹¤ë"
+
+-#: config/rs6000/sysv4.opt:28
+-#, fuzzy
+-msgid "Select method for sdata handling"
+-msgstr "sdata ¼è¤ê°·¤¤¤Î¤¿¤á¤Î¥á¥½¥Ã¥É¤òÁªÂò¤¹¤ë"
++#: config/v850/v850.opt:31
++msgid "Enable backend debugging"
++msgstr "¥Ð¥Ã¥¯¥¨¥ó¥É¥Ç¥Ð¥Ã¥°¤òÍ­¸ú¤Ë¤¹¤ë"
+
+-#: config/rs6000/sysv4.opt:36 config/rs6000/sysv4.opt:40
++#: config/v850/v850.opt:35
+ #, fuzzy
+-msgid "Align to the base type of the bit-field"
+-msgstr "¥Ó¥Ã¥È¥Õ¥£¡¼¥ë¥É¤Î¥Ù¡¼¥¹¥¿¥¤¥×¤Ë¥¢¥é¥¤¥ó¤¹¤ë"
++msgid "Do not use the callt instruction"
++msgstr "ʬ³äÌ¿Îá¤ò»ÈÍѤ·¤Ê¤¤"
+
+-#: config/rs6000/sysv4.opt:45 config/rs6000/sysv4.opt:49
+-#, fuzzy
+-msgid "Produce code relocatable at runtime"
+-msgstr "¼Â¹Ô»þ¤ËºÆÇÛÃÖ²Äǽ¤Ê¥³¡¼¥É¤òÀ¸À®¤¹¤ë"
++#: config/v850/v850.opt:39
++msgid "Reuse r30 on a per function basis"
++msgstr "´Ø¿ô¤Î¼çÍ×ÉôʬËè¤Ë r30 ¤òºÆÍøÍѤ¹¤ë"
+
+-#: config/rs6000/sysv4.opt:53 config/rs6000/sysv4.opt:57
+-#, fuzzy
+-msgid "Produce little endian code"
+-msgstr "¥ê¥È¥ë¥¨¥ó¥Ç¥£¥¢¥ó¥³¡¼¥É¤òÀ¸À®¤¹¤ë"
++#: config/v850/v850.opt:43
++msgid "Support Green Hills ABI"
++msgstr "Green Hill ¤Î ABI ¤ò¥µ¥Ý¡¼¥È¤¹¤ë"
+
+-#: config/rs6000/sysv4.opt:61 config/rs6000/sysv4.opt:65
+-#, fuzzy
+-msgid "Produce big endian code"
+-msgstr "¥Ó¥Ã¥°¥¨¥ó¥Ç¥£¥¢¥ó¥³¡¼¥É¤òÀ¸À®¤¹¤ë"
++#: config/v850/v850.opt:47
++msgid "Prohibit PC relative function calls"
++msgstr "PC ´ØÏ¢¤Î´Ø¿ô¸Æ¤Ó½Ð¤·¤ò¶Ø¤¸¤ë"
+
+-#: config/rs6000/sysv4.opt:70 config/rs6000/sysv4.opt:74
+-#: config/rs6000/sysv4.opt:83 config/rs6000/sysv4.opt:100
+-#: config/rs6000/sysv4.opt:128 config/rs6000/sysv4.opt:140
+-msgid "no description yet"
+-msgstr "ÀâÌÀ¤Ï¤Þ¤À¤¢¤ê¤Þ¤»¤ó"
++#: config/v850/v850.opt:51
++msgid "Use stubs for function prologues"
++msgstr "´Ø¿ô³«»ÏÉôʬÍѤΥ¹¥¿¥Ö¤ò»ÈÍѤ¹¤ë"
+
+-#: config/rs6000/sysv4.opt:78
+-msgid "Assume all variable arg functions are prototyped"
+-msgstr ""
++#: config/v850/v850.opt:55
++msgid "Set the max size of data eligible for the SDA area"
++msgstr "SDA Îΰè¤Ë¤È¤Ã¤Æ˾¤Þ¤·¤¤ºÇÂç¥Ç¡¼¥¿¥µ¥¤¥º¤òÀßÄꤹ¤ë"
+
+-#: config/rs6000/sysv4.opt:87
++#: config/v850/v850.opt:59
+ #, fuzzy
+-msgid "Use EABI"
+-msgstr "EABI ¤òÍøÍѤ¹¤ë¡£"
++msgid "Enable the use of the short load instructions"
++msgstr "DB Ì¿Îá¤Î»ÈÍѤòÍ­¸ú¤Ë¤¹¤ë"
+
+-#: config/rs6000/sysv4.opt:91
+-#, fuzzy
+-msgid "Allow bit-fields to cross word boundaries"
+-msgstr "¥ï¡¼¥É¶­³¦¤è¤êÂ礭¤á¤Ë¥¢¥é¥¤¥ó¤¹¤ë"
++#: config/v850/v850.opt:63
++msgid "Same as: -mep -mprolog-function"
++msgstr "-mep -mprolog-function ¤ÈƱÍÍ"
+
+-#: config/rs6000/sysv4.opt:95
+-#, fuzzy
+-msgid "Use alternate register names"
+-msgstr "ÂåÂإ쥸¥¹¥¿Ì¾¤ò»ÈÍѤ¹¤ë"
++#: config/v850/v850.opt:67
++msgid "Set the max size of data eligible for the TDA area"
++msgstr "TDA Îΰè¤Ë¤È¤Ã¤Æ˾¤Þ¤·¤¤ºÇÂç¥Ç¡¼¥¿¥µ¥¤¥º¤òÀßÄꤹ¤ë"
+
+-#: config/rs6000/sysv4.opt:104
+-#, fuzzy
+-msgid "Link with libsim.a, libc.a and sim-crt0.o"
+-msgstr "libsim.a, libc.a µÚ¤Ó sim-crt0.o ¤È¥ê¥ó¥¯¤¹¤ë¡£"
++#: config/v850/v850.opt:71
++msgid "Enforce strict alignment"
++msgstr ""
+
+-#: config/rs6000/sysv4.opt:108
+-#, fuzzy
+-msgid "Link with libads.a, libc.a and crt0.o"
+-msgstr "libads.a, libc.a µÚ¤Ó crt0.o ¤È¥ê¥ó¥¯¤¹¤ë¡£"
++#: config/v850/v850.opt:78
++msgid "Compile for the v850 processor"
++msgstr "v850 ¥×¥í¥»¥Ã¥µÍѤ˥³¥ó¥Ñ¥¤¥ë¤¹¤ë"
+
+-#: config/rs6000/sysv4.opt:112
++#: config/v850/v850.opt:82
+ #, fuzzy
+-msgid "Link with libyk.a, libc.a and crt0.o"
+-msgstr "libyk.a, libc.a µÚ¤Ó crt0.o ¤È¥ê¥ó¥¯¤¹¤ë¡£"
++msgid "Compile for the v850e processor"
++msgstr "v850 ¥×¥í¥»¥Ã¥µÍѤ˥³¥ó¥Ñ¥¤¥ë¤¹¤ë"
+
+-#: config/rs6000/sysv4.opt:116
++#: config/v850/v850.opt:86
+ #, fuzzy
+-msgid "Link with libmvme.a, libc.a and crt0.o"
+-msgstr "libmvme.a, libc.a µÚ¤Ó crt0.o ¤È¥ê¥ó¥¯¤¹¤ë¡£"
++msgid "Compile for the v850e1 processor"
++msgstr "v850 ¥×¥í¥»¥Ã¥µÍѤ˥³¥ó¥Ñ¥¤¥ë¤¹¤ë"
+
+-#: config/rs6000/sysv4.opt:120
+-msgid "Set the PPC_EMB bit in the ELF flags header"
+-msgstr "PPC_EMB ¥Ó¥Ã¥È¤ò ELF ¥Õ¥é¥°¥Ø¥Ã¥ÀÆâ¤Ë¥»¥Ã¥È¤¹¤ë"
++#: config/v850/v850.opt:90
++msgid "Set the max size of data eligible for the ZDA area"
++msgstr "ZDA Îΰè¤Ë¤È¤Ã¤Æ˾¤Þ¤·¤¤ºÇÂç¥Ç¡¼¥¿¥µ¥¤¥º¤òÀßÄꤹ¤ë"
+
+-#: config/rs6000/sysv4.opt:124
+-msgid "Use the WindISS simulator"
+-msgstr ""
+-
+-#: config/rs6000/sysv4.opt:144
+-#, fuzzy
+-msgid "Generate code to use a non-exec PLT and GOT"
+-msgstr "unix ¥¢¥»¥ó¥Ö¥é¤¬½èÍý¤Ç¤­¤ë¥³¡¼¥É¤òÀ¸À®¤¹¤ë"
+-
+-#: config/rs6000/sysv4.opt:148
+-#, fuzzy
+-msgid "Generate code for old exec BSS PLT"
+-msgstr "c1 ÍѤΥ³¡¼¥É¤òÀ¸À®¤¹¤ë"
+-
+ #: config/spu/spu.opt:20
+ msgid "Emit warnings when run-time relocations are generated"
+ msgstr ""
+@@ -13363,69 +13386,286 @@
+ msgid "Generate code for 32 bit addressing"
+ msgstr "¥Ó¥Ã¥°¥¨¥ó¥Ç¥£¥¢¥óÍѤΥ³¡¼¥É¤òÀ¸À®¤¹¤ë"
+
+-#: config/mcore/mcore.opt:23
++#: config/vax/vax.opt:23 config/vax/vax.opt:27
++msgid "Target DFLOAT double precision code"
++msgstr ""
++
++#: config/vax/vax.opt:31 config/vax/vax.opt:35
+ #, fuzzy
+-msgid "Generate code for the M*Core M210"
+-msgstr "M*Core M340 ÍѤΥ³¡¼¥É¤òÀ¸À®¤¹¤ë"
++msgid "Generate GFLOAT double precision code"
++msgstr "¥ê¥È¥ë¥¨¥ó¥Ç¥£¥¢¥ó¤Î¥³¡¼¥É¤òÀ¸À®"
+
+-#: config/mcore/mcore.opt:27
+-msgid "Generate code for the M*Core M340"
+-msgstr "M*Core M340 ÍѤΥ³¡¼¥É¤òÀ¸À®¤¹¤ë"
++#: config/vax/vax.opt:39
++#, fuzzy
++msgid "Generate code for GNU assembler (gas)"
++msgstr "GNU as ÍѤΥ³¡¼¥É¤òÀ¸À®¤¹¤ë"
+
+-#: config/mcore/mcore.opt:31
+-msgid "Set maximum alignment to 4"
+-msgstr "ºÇÂ祢¥é¥¤¥ó¥á¥ó¥È¤ò 4 ¤ËÀßÄꤹ¤ë"
++#: config/vax/vax.opt:43
++#, fuzzy
++msgid "Generate code for UNIX assembler"
++msgstr "GNU as ÍѤΥ³¡¼¥É¤òÀ¸À®¤¹¤ë"
+
+-#: config/mcore/mcore.opt:35
+-msgid "Force functions to be aligned to a 4 byte boundary"
+-msgstr "´Ø¿ô¤ò¶¯À©Åª¤Ë 4 ¥Ð¥¤¥È¶­³¦¤Ë¥¢¥é¥¤¥ó¤¹¤ë"
++#: config/vax/vax.opt:47
++msgid "Use VAXC structure conventions"
++msgstr ""
+
+-#: config/mcore/mcore.opt:39
+-msgid "Set maximum alignment to 8"
+-msgstr "ºÇÂ祢¥é¥¤¥ó¥á¥ó¥È¤ò 8 ¤ËÀßÄꤹ¤ë"
++#: config/lynx.opt:23
++msgid "Support legacy multi-threading"
++msgstr ""
+
+-#: config/mcore/mcore.opt:43 config/score/score.opt:23
++#: config/lynx.opt:27
+ #, fuzzy
+-msgid "Generate big-endian code"
+-msgstr "¥Ó¥Ã¥°¥¨¥ó¥Ç¥£¥¢¥ó¤Î¥³¡¼¥É¤òÀ¸À®"
++msgid "Use shared libraries"
++msgstr "¥Ï¡¼¥É¥¦¥§¥¢ÉâÆ°¾®¿ôÅÀ¤òÍøÍÑ"
+
+-#: config/mcore/mcore.opt:47
+-msgid "Emit call graph information"
+-msgstr "¸Æ¤Ó½Ð¤·¥°¥é¥Õ¾ðÊó¤òÁ÷½Ð¤¹¤ë"
++#: config/lynx.opt:31
++msgid "Support multi-threading"
++msgstr ""
+
+-#: config/mcore/mcore.opt:51
++#: config/stormy16/stormy16.opt:24
++msgid "Provide libraries for the simulator"
++msgstr ""
++
++#: config/h8300/h8300.opt:23
+ #, fuzzy
+-msgid "Use the divide instruction"
+-msgstr "ʬ³äÌ¿Îá¤ò»ÈÍѤ·¤Ê¤¤"
++msgid "Generate H8S code"
++msgstr "H8/S ¥³¡¼¥É¤òÀ¸À®¤¹¤ë"
+
+-#: config/mcore/mcore.opt:55
+-msgid "Inline constants if it can be done in 2 insns or less"
+-msgstr "2 Ì¿Îá°Ê²¼¤Ç¹Ô¤Ê¤¨¤ëÉÔÊѽèÍý¤ò¥¤¥ó¥é¥¤¥ó¤Ë¤¹¤ë"
++#: config/h8300/h8300.opt:27
++#, fuzzy
++msgid "Generate H8SX code"
++msgstr "H8/S ¥³¡¼¥É¤òÀ¸À®¤¹¤ë"
+
+-#: config/mcore/mcore.opt:59 config/score/score.opt:27
++#: config/h8300/h8300.opt:31
+ #, fuzzy
+-msgid "Generate little-endian code"
+-msgstr "¥ê¥È¥ë¥¨¥ó¥Ç¥£¥¢¥ó¤Î¥³¡¼¥É¤òÀ¸À®"
++msgid "Generate H8S/2600 code"
++msgstr "H8/S2600 ¥³¡¼¥É¤òÀ¸À®¤¹¤ë"
+
+-#: config/mcore/mcore.opt:67
++#: config/h8300/h8300.opt:35
++msgid "Make integers 32 bits wide"
++msgstr "À°¿ô¤ò 32 ¥Ó¥Ã¥ÈÉý¤È¤¹¤ë"
++
++#: config/h8300/h8300.opt:42
++msgid "Use registers for argument passing"
++msgstr "°ú¿ô¤ò¥ì¥¸¥¹¥¿ÅϤ·¤Ë¤¹¤ë"
++
++#: config/h8300/h8300.opt:46
++msgid "Consider access to byte sized memory slow"
++msgstr "¥Ð¥¤¥È¥µ¥¤¥ºÃ±°Ì¤Î¥á¥â¥ê¥¢¥¯¥»¥¹¤¬ÃÙ¤¤¤³¤È¤ò¹Íθ¤¹¤ë"
++
++#: config/h8300/h8300.opt:50
++msgid "Enable linker relaxing"
++msgstr "¥ê¥ó¥«¤Î -relax ¥ª¥×¥·¥ç¥ó¤òÍ­¸ú¤Ë¤¹¤ë"
++
++#: config/h8300/h8300.opt:54
++msgid "Generate H8/300H code"
++msgstr "H8/300H ¥³¡¼¥É¤òÀ¸À®¤¹¤ë"
++
++#: config/h8300/h8300.opt:58
++msgid "Enable the normal mode"
++msgstr ""
++
++#: config/h8300/h8300.opt:62
++msgid "Use H8/300 alignment rules"
++msgstr "H8/300 ¥¢¥é¥¤¥ó¥á¥ó¥Èµ¬Â§¤ò»ÈÍѤ¹¤ë"
++
++#: config/s390/s390.opt:23
+ #, fuzzy
+-msgid "Use arbitrary sized immediates in bit operations"
+-msgstr "¥Ó¥Ã¥È±é»»¤Ç¤Î¨ÃÍ¥µ¥¤¥º¤òÄ´Ä䤷¤Ê¤¤"
++msgid "31 bit ABI"
++msgstr "32 ¥Ó¥Ã¥È ABI ¤ò»ÈÍѤ¹¤ë"
+
+-#: config/mcore/mcore.opt:71
+-msgid "Prefer word accesses over byte accesses"
+-msgstr "¥Ð¥¤¥È¥¢¥¯¥»¥¹¤è¤ê¥ï¡¼¥É¥¢¥¯¥»¥¹¤òÁª¤Ö"
++#: config/s390/s390.opt:27
++#, fuzzy
++msgid "64 bit ABI"
++msgstr "64 ¥Ó¥Ã¥È ABI ¤ò»ÈÍѤ¹¤ë"
+
+-#: config/mcore/mcore.opt:75
++#: config/s390/s390.opt:35
++msgid "Maintain backchain pointer"
++msgstr ""
++
++#: config/s390/s390.opt:39
++msgid "Additional debug prints"
++msgstr ""
++
++#: config/s390/s390.opt:43
++msgid "ESA/390 architecture"
++msgstr ""
++
++#: config/s390/s390.opt:47
+ #, fuzzy
+-msgid "Set the maximum amount for a single stack increment operation"
+-msgstr "ñ°ì¥¹¥¿¥Ã¥¯¥¤¥ó¥¯¥ê¥á¥ó¥ÈÁàºî¤ÎºÇÂçÃÍ"
++msgid "Enable fused multiply/add instructions"
++msgstr "ÉâÆ°¾®¿ô¤Î¾è»»/²Ã»»Ì¿Îá¤òÀ¸À®¤¹¤ë"
+
+-#: config/mcore/mcore.opt:79
++#: config/s390/s390.opt:51
+ #, fuzzy
+-msgid "Always treat bitfields as int-sized"
+-msgstr "¥Ó¥Ã¥È¥Õ¥£¡¼¥ë¥É¤ò¾ï¤Ë int ¤Î¥µ¥¤¥º¤È¤·¤Æ°·¤¦"
++msgid "Enable decimal floating point hardware support"
++msgstr "16 ¿ÊÉâÆ°¾®¿ôÄê¿ô¤¬¤Ù¤­¾è¤ò»ý¤Á¤Þ¤»¤ó"
+
++#: config/s390/s390.opt:55
++#, fuzzy
++msgid "Enable hardware floating point"
++msgstr "¥Ï¡¼¥É¥¦¥§¥¢ÉâÆ°¾®¿ôÅÀ¤òÍøÍѤ¹¤ë"
++
++#: config/s390/s390.opt:67
++msgid "Use packed stack layout"
++msgstr ""
++
++#: config/s390/s390.opt:71
++msgid "Use bras for executable < 64k"
++msgstr ""
++
++#: config/s390/s390.opt:75
++#, fuzzy
++msgid "Disable hardware floating point"
++msgstr "¥Ï¡¼¥É¥¦¥§¥¢ÉâÆ°¾®¿ôÅÀ¤òÍøÍѤ¹¤ë"
++
++#: config/s390/s390.opt:79
++msgid "Set the max. number of bytes which has to be left to stack size before a trap instruction is triggered"
++msgstr ""
++
++#: config/s390/s390.opt:83
++msgid "Emit extra code in the function prologue in order to trap if the stack size exceeds the given limit"
++msgstr ""
++
++#: config/s390/s390.opt:91
++msgid "mvcle use"
++msgstr ""
++
++#: config/s390/s390.opt:95
++msgid "Warn if a function uses alloca or creates an array with dynamic size"
++msgstr ""
++
++#: config/s390/s390.opt:99
++msgid "Warn if a single function's framesize exceeds the given framesize"
++msgstr ""
++
++#: config/s390/s390.opt:103
++msgid "z/Architecture"
++msgstr ""
++
++#: config/s390/tpf.opt:23
++msgid "Enable TPF-OS tracing code"
++msgstr ""
++
++#: config/s390/tpf.opt:27
++#, fuzzy
++msgid "Specify main object for TPF-OS"
++msgstr "RPTS ÍѤκÇÂçÈ¿Éü¿ô¤ò»ØÄꤹ¤ë"
++
++#: config/darwin.opt:23
++#, fuzzy
++msgid "Generate code suitable for fast turn around debugging"
++msgstr "unix ¥¢¥»¥ó¥Ö¥é¤¬½èÍý¤Ç¤­¤ë¥³¡¼¥É¤òÀ¸À®¤¹¤ë"
++
++#: config/darwin.opt:31
++msgid "The earliest MacOS X version on which this program will run"
++msgstr ""
++
++#: config/darwin.opt:35
++msgid "Set sizeof(bool) to 1"
++msgstr ""
++
++#: config/darwin.opt:39
++#, fuzzy
++msgid "Generate code for darwin loadable kernel extensions"
++msgstr "¥ê¥È¥ë¥¨¥ó¥Ç¥£¥¢¥óÍѤΥ³¡¼¥É¤òÀ¸À®¤¹¤ë"
++
++#: config/darwin.opt:43
++#, fuzzy
++msgid "Generate code for the kernel or loadable kernel extensions"
++msgstr "¥Ð¥¤¥È/¥ï¡¼¥É ISA ³ÈÄ¥ÍѤΥ³¡¼¥É¤òȯ¹Ô¤¹¤ë"
++
++#: config/darwin.opt:47
++msgid "Add <dir> to the end of the system framework include path"
++msgstr ""
++
++#: config/mn10300/mn10300.opt:23
++msgid "Target the AM33 processor"
++msgstr "AM33 ¥×¥í¥»¥Ã¥µ¤ò¥¿¡¼¥²¥Ã¥È¤È¤¹¤ë"
++
++#: config/mn10300/mn10300.opt:27
++#, fuzzy
++msgid "Target the AM33/2.0 processor"
++msgstr "AM33 ¥×¥í¥»¥Ã¥µ¤ò¥¿¡¼¥²¥Ã¥È¤È¤¹¤ë"
++
++#: config/mn10300/mn10300.opt:31
++msgid "Work around hardware multiply bug"
++msgstr "¥Ï¡¼¥É¥¦¥§¥¢¾è»»¥Ð¥°¤ËÂн褹¤ë"
++
++#: config/mn10300/mn10300.opt:36
++#, fuzzy
++msgid "Enable linker relaxations"
++msgstr "¥ê¥ó¥«¤Î´ËϤòÍ­¸ú¤Ë¤¹¤ë"
++
++#: config/mn10300/mn10300.opt:40
++msgid "Return pointers in both a0 and d0"
++msgstr ""
++
++#: config/m32r/m32r.opt:23
++#, fuzzy
++msgid "Compile for the m32rx"
++msgstr "68HC12 ÍѤ˥³¥ó¥Ñ¥¤¥ë¤¹¤ë"
++
++#: config/m32r/m32r.opt:27
++#, fuzzy
++msgid "Compile for the m32r2"
++msgstr "68HC12 ÍѤ˥³¥ó¥Ñ¥¤¥ë¤¹¤ë"
++
++#: config/m32r/m32r.opt:31
++#, fuzzy
++msgid "Compile for the m32r"
++msgstr "68HC12 ÍѤ˥³¥ó¥Ñ¥¤¥ë¤¹¤ë"
++
++#: config/m32r/m32r.opt:35
++msgid "Align all loops to 32 byte boundary"
++msgstr "Á´¤Æ¤Î¥ë¡¼¥×¤ò 32 ¥Ð¥¤¥È¶­³¦¤Ë¥¢¥é¥¤¥ó¤¹¤ë"
++
++#: config/m32r/m32r.opt:39
++msgid "Prefer branches over conditional execution"
++msgstr "¾ò·ï¤Î¼Â¹Ô¤è¤ê¤Ïʬ´ô¤ÎÀ¸À®¤òÍ¥À褹¤ë"
++
++#: config/m32r/m32r.opt:43
++msgid "Give branches their default cost"
++msgstr ""
++
++#: config/m32r/m32r.opt:47
++msgid "Display compile time statistics"
++msgstr "¥³¥ó¥Ñ¥¤¥ë»þ´ÖÅý·×Ãͤòɽ¼¨¤¹¤ë"
++
++#: config/m32r/m32r.opt:51
++msgid "Specify cache flush function"
++msgstr ""
++
++#: config/m32r/m32r.opt:55
++msgid "Specify cache flush trap number"
++msgstr ""
++
++#: config/m32r/m32r.opt:59
++msgid "Only issue one instruction per cycle"
++msgstr "¥µ¥¤¥¯¥ëËè¤Ë°ì¤Ä¤ÎÌ¿Îá¤À¤±¤òȯ¹Ô¤¹¤ë"
++
++#: config/m32r/m32r.opt:63
++#, fuzzy
++msgid "Allow two instructions to be issued per cycle"
++msgstr "¥µ¥¤¥¯¥ëËè¤Ë°ì¤Ä¤ÎÌ¿Îá¤À¤±¤òȯ¹Ô¤¹¤ë"
++
++#: config/m32r/m32r.opt:67
++msgid "Code size: small, medium or large"
++msgstr "¥³¡¼¥É¥µ¥¤¥º: small, medium Ëô¤Ï large"
++
++#: config/m32r/m32r.opt:71
++#, fuzzy
++msgid "Don't call any cache flush functions"
++msgstr "´Ø¿ô %s ¤Ë¸Æ¤Ó½Ð¤·¤¬¤¢¤ê¤Þ¤»¤ó\n"
++
++#: config/m32r/m32r.opt:75
++msgid "Don't call any cache flush trap"
++msgstr ""
++
++#: config/m32r/m32r.opt:82
++msgid "Small data area: none, sdata, use"
++msgstr "¥¹¥â¡¼¥ë¥Ç¡¼¥¿Îΰè: none, sdata, use"
++
+ #: config/arc/arc.opt:32
+ msgid "Prepend the name of the cpu to all public symbol names"
+ msgstr ""
+@@ -13447,6 +13687,583 @@
+ msgid "Put read-only data in SECTION"
+ msgstr ""
+
++#: config/m32c/m32c.opt:24 config/mt/mt.opt:27 config/bfin/bfin.opt:23
++msgid "Use simulator runtime"
++msgstr ""
++
++#: config/m32c/m32c.opt:28
++#, fuzzy
++msgid "Compile code for R8C variants"
++msgstr "64 ¥Ó¥Ã¥È¥Ý¥¤¥ó¥¿ÍѤ˥³¥ó¥Ñ¥¤¥ë¤¹¤ë"
++
++#: config/m32c/m32c.opt:32
++#, fuzzy
++msgid "Compile code for M16C variants"
++msgstr "64 ¥Ó¥Ã¥È¥Ý¥¤¥ó¥¿ÍѤ˥³¥ó¥Ñ¥¤¥ë¤¹¤ë"
++
++#: config/m32c/m32c.opt:36
++#, fuzzy
++msgid "Compile code for M32CM variants"
++msgstr "32 ¥Ó¥Ã¥È¥Ý¥¤¥ó¥¿ÍѤ˥³¥ó¥Ñ¥¤¥ë¤¹¤ë"
++
++#: config/m32c/m32c.opt:40
++#, fuzzy
++msgid "Compile code for M32C variants"
++msgstr "32 ¥Ó¥Ã¥È¥Ý¥¤¥ó¥¿ÍѤ˥³¥ó¥Ñ¥¤¥ë¤¹¤ë"
++
++#: config/m32c/m32c.opt:44
++msgid "Number of memreg bytes (default: 16, range: 0..16)"
++msgstr ""
++
++#: config/pdp11/pdp11.opt:23
++msgid "Generate code for an 11/10"
++msgstr "11/10 ÍѤΥ³¡¼¥É¤òÀ¸À®¤¹¤ë"
++
++#: config/pdp11/pdp11.opt:27
++msgid "Generate code for an 11/40"
++msgstr "11/40 ÍѤΥ³¡¼¥É¤òÀ¸À®¤¹¤ë"
++
++#: config/pdp11/pdp11.opt:31
++msgid "Generate code for an 11/45"
++msgstr "11/45 ÍѤΥ³¡¼¥É¤òÀ¸À®¤¹¤ë"
++
++#: config/pdp11/pdp11.opt:35
++#, fuzzy
++msgid "Use 16-bit abs patterns"
++msgstr "64 ¥Ó¥Ã¥È FP ¥ì¥¸¥¹¥¿¤ò»ÈÍѤ¹¤ë"
++
++#: config/pdp11/pdp11.opt:39
++#, fuzzy
++msgid "Return floating-point results in ac0 (fr0 in Unix assembler syntax)"
++msgstr "ÉâÆ°¾®¿ôÅÀ¤Î·ë²Ì¤ò ac0 ¤ÇÊÖ¤¹"
++
++#: config/pdp11/pdp11.opt:43
++msgid "Do not use inline patterns for copying memory"
++msgstr ""
++
++#: config/pdp11/pdp11.opt:47
++msgid "Use inline patterns for copying memory"
++msgstr ""
++
++#: config/pdp11/pdp11.opt:51
++msgid "Do not pretend that branches are expensive"
++msgstr ""
++
++#: config/pdp11/pdp11.opt:55
++msgid "Pretend that branches are expensive"
++msgstr ""
++
++#: config/pdp11/pdp11.opt:59
++#, fuzzy
++msgid "Use the DEC assembler syntax"
++msgstr "DEC ¥¢¥»¥ó¥Ö¥éʸˡ¤ò»ÈÍѤ¹¤ë"
++
++#: config/pdp11/pdp11.opt:63
++msgid "Use 32 bit float"
++msgstr "32 ¥Ó¥Ã¥ÈÉâÆ°¾®¿ô¤ò»ÈÍѤ¹¤ë"
++
++#: config/pdp11/pdp11.opt:67
++msgid "Use 64 bit float"
++msgstr "64 ¥Ó¥Ã¥ÈÉâÆ°¾®¿ô¤ò»ÈÍѤ¹¤ë"
++
++#: config/pdp11/pdp11.opt:75
++msgid "Use 16 bit int"
++msgstr "16 ¥Ó¥Ã¥ÈÀ°¿ô¤ò»ÈÍѤ¹¤ë"
++
++#: config/pdp11/pdp11.opt:79
++msgid "Use 32 bit int"
++msgstr "32 ¥Ó¥Ã¥ÈÀ°¿ô¤ò»ÈÍѤ¹¤ë"
++
++#: config/pdp11/pdp11.opt:87
++msgid "Target has split I&D"
++msgstr "¥¿¡¼¥²¥Ã¥È¤Ï split Ì¿Îá¤È¥Ç¡¼¥¿¥á¥â¥ê¤ò»ý¤Ä"
++
++#: config/pdp11/pdp11.opt:91
++msgid "Use UNIX assembler syntax"
++msgstr "UNIX ¥¢¥»¥ó¥Ö¥éʸˡ¤ò»ÈÍѤ¹¤ë"
++
++#: config/m68k/m68k.opt:23
++#, fuzzy
++msgid "Generate code for a 520X"
++msgstr "c2 ÍѤΥ³¡¼¥É¤òÀ¸À®¤¹¤ë"
++
++#: config/m68k/m68k.opt:27
++#, fuzzy
++msgid "Generate code for a 5206e"
++msgstr "c2 ÍѤΥ³¡¼¥É¤òÀ¸À®¤¹¤ë"
++
++#: config/m68k/m68k.opt:31
++#, fuzzy
++msgid "Generate code for a 528x"
++msgstr "c2 ÍѤΥ³¡¼¥É¤òÀ¸À®¤¹¤ë"
++
++#: config/m68k/m68k.opt:35
++#, fuzzy
++msgid "Generate code for a 5307"
++msgstr "DLL ÍѤΥ³¡¼¥É¤òÀ¸À®¤¹¤ë"
++
++#: config/m68k/m68k.opt:39
++#, fuzzy
++msgid "Generate code for a 5407"
++msgstr "11/40 ÍѤΥ³¡¼¥É¤òÀ¸À®¤¹¤ë"
++
++#: config/m68k/m68k.opt:43 config/m68k/m68k.opt:104
++#, fuzzy
++msgid "Generate code for a 68000"
++msgstr "DLL ÍѤΥ³¡¼¥É¤òÀ¸À®¤¹¤ë"
++
++#: config/m68k/m68k.opt:47
++#, fuzzy
++msgid "Generate code for a 68010"
++msgstr "11/40 ÍѤΥ³¡¼¥É¤òÀ¸À®¤¹¤ë"
++
++#: config/m68k/m68k.opt:51 config/m68k/m68k.opt:108
++#, fuzzy
++msgid "Generate code for a 68020"
++msgstr "c2 ÍѤΥ³¡¼¥É¤òÀ¸À®¤¹¤ë"
++
++#: config/m68k/m68k.opt:55
++#, fuzzy
++msgid "Generate code for a 68040, without any new instructions"
++msgstr "update Ì¿Îá¤È°ì½ï¤Ë¥í¡¼¥É/¥¹¥È¥¢Ì¿Îá¤òÀ¸À®¤¹¤ë"
++
++#: config/m68k/m68k.opt:59
++#, fuzzy
++msgid "Generate code for a 68060, without any new instructions"
++msgstr "update Ì¿Îá¤È°ì½ï¤Ë¥í¡¼¥É/¥¹¥È¥¢Ì¿Îá¤òÀ¸À®¤¹¤ë"
++
++#: config/m68k/m68k.opt:63
++#, fuzzy
++msgid "Generate code for a 68030"
++msgstr "DLL ÍѤΥ³¡¼¥É¤òÀ¸À®¤¹¤ë"
++
++#: config/m68k/m68k.opt:67
++#, fuzzy
++msgid "Generate code for a 68040"
++msgstr "11/40 ÍѤΥ³¡¼¥É¤òÀ¸À®¤¹¤ë"
++
++#: config/m68k/m68k.opt:71
++#, fuzzy
++msgid "Generate code for a 68060"
++msgstr "DLL ÍѤΥ³¡¼¥É¤òÀ¸À®¤¹¤ë"
++
++#: config/m68k/m68k.opt:75
++#, fuzzy
++msgid "Generate code for a 68302"
++msgstr "c32 ÍѤΥ³¡¼¥É¤òÀ¸À®¤¹¤ë"
++
++#: config/m68k/m68k.opt:79
++#, fuzzy
++msgid "Generate code for a 68332"
++msgstr "c32 ÍѤΥ³¡¼¥É¤òÀ¸À®¤¹¤ë"
++
++#: config/m68k/m68k.opt:84
++#, fuzzy
++msgid "Generate code for a 68851"
++msgstr "c1 ÍѤΥ³¡¼¥É¤òÀ¸À®¤¹¤ë"
++
++#: config/m68k/m68k.opt:88
++#, fuzzy
++msgid "Generate code that uses 68881 floating-point instructions"
++msgstr "¥Ï¡¼¥É¥¦¥§¥¢ÉâÆ°¾®¿ôÅÀÌ¿Îá¤ò»ÈÍѤ¹¤ë"
++
++#: config/m68k/m68k.opt:92
++#, fuzzy
++msgid "Align variables on a 32-bit boundary"
++msgstr "Á´¤Æ¤Î¥ë¡¼¥×¤ò 32 ¥Ð¥¤¥È¶­³¦¤Ë¥¢¥é¥¤¥ó¤¹¤ë"
++
++#: config/m68k/m68k.opt:100
++#, fuzzy
++msgid "Use the bit-field instructions"
++msgstr "¥Ó¥Ã¥È¥Õ¥£¡¼¥ë¥ÉÌ¿Îá¤ò»ÈÍѤ¹¤ë"
++
++#: config/m68k/m68k.opt:112
++#, fuzzy
++msgid "Generate code for a ColdFire v4e"
++msgstr "M*Core M340 ÍѤΥ³¡¼¥É¤òÀ¸À®¤¹¤ë"
++
++#: config/m68k/m68k.opt:116
++#, fuzzy
++msgid "Specify the target CPU"
++msgstr "¥¿¡¼¥²¥Ã¥È CPU ¤Î̾Á°¤ò»ØÄꤹ¤ë"
++
++#: config/m68k/m68k.opt:120
++#, fuzzy
++msgid "Generate code for a cpu32"
++msgstr "c32 ÍѤΥ³¡¼¥É¤òÀ¸À®¤¹¤ë"
++
++#: config/m68k/m68k.opt:124
++#, fuzzy
++msgid "Use hardware division instructions on ColdFire"
++msgstr "»ÍÇÜÀºÅÙÉâÆ°¾®¿ôÅÀÌ¿Îá¤ò»ÈÍѤ¹¤ë"
++
++#: config/m68k/m68k.opt:128
++#, fuzzy
++msgid "Generate code for a Fido A"
++msgstr "DLL ÍѤΥ³¡¼¥É¤òÀ¸À®¤¹¤ë"
++
++#: config/m68k/m68k.opt:132
++#, fuzzy
++msgid "Generate code which uses hardware floating point instructions"
++msgstr "¥Ï¡¼¥É¥¦¥§¥¢ÉâÆ°¾®¿ôÅÀÌ¿Îá¤ò»ÈÍѤ¹¤ë"
++
++#: config/m68k/m68k.opt:136
++msgid "Enable ID based shared library"
++msgstr ""
++
++#: config/m68k/m68k.opt:140
++#, fuzzy
++msgid "Do not use the bit-field instructions"
++msgstr "¥Ó¥Ã¥È¥Õ¥£¡¼¥ë¥ÉÌ¿Îá¤ò»ÈÍѤ·¤Ê¤¤"
++
++#: config/m68k/m68k.opt:144
++msgid "Use normal calling convention"
++msgstr "ÉáÄ̤θƤӽФ·µ¬Ìó¤ò»È¤¦"
++
++#: config/m68k/m68k.opt:148
++msgid "Consider type 'int' to be 32 bits wide"
++msgstr ""
++
++#: config/m68k/m68k.opt:152
++#, fuzzy
++msgid "Generate pc-relative code"
++msgstr "¼«¸ÊºÆÇÛÃÖ²Äǽ¥³¡¼¥É¤òÀ¸À®¤¹¤ë"
++
++#: config/m68k/m68k.opt:156
++#, fuzzy
++msgid "Use different calling convention using 'rtd'"
++msgstr "ÉáÄ̤θƤӽФ·µ¬Ìó¤ò»È¤¦"
++
++#: config/m68k/m68k.opt:160 config/bfin/bfin.opt:61
++msgid "Enable separate data segment"
++msgstr ""
++
++#: config/m68k/m68k.opt:164 config/bfin/bfin.opt:57
++msgid "ID of shared library to build"
++msgstr ""
++
++#: config/m68k/m68k.opt:168
++msgid "Consider type 'int' to be 16 bits wide"
++msgstr ""
++
++#: config/m68k/m68k.opt:172
++msgid "Generate code with library calls for floating point"
++msgstr ""
++
++#: config/m68k/m68k.opt:176
++#, fuzzy
++msgid "Do not use unaligned memory references"
++msgstr "¥¢¥é¥¤¥ó¤µ¤ì¤Ê¤¤¥¢¥¯¥»¥¹¤òµö²Ä¤·¤Ê¤¤"
++
++#: config/m68k/m68k.opt:180
++#, fuzzy
++msgid "Tune for the specified target CPU or architecture"
++msgstr "¥¿¡¼¥²¥Ã¥È¥¢¡¼¥­¥Æ¥¯¥Á¥ã¤Î̾Á°¤ò»ØÄꤹ¤ë"
++
++#: config/mmix/mmix.opt:24
++msgid "For intrinsics library: pass all parameters in registers"
++msgstr ""
++
++#: config/mmix/mmix.opt:28
++#, fuzzy
++msgid "Use register stack for parameters and return value"
++msgstr "°ú¿ô¤ò¥ì¥¸¥¹¥¿ÅϤ·¤Ë¤¹¤ë"
++
++#: config/mmix/mmix.opt:32
++#, fuzzy
++msgid "Use call-clobbered registers for parameters and return value"
++msgstr "¸Æ¤Ó½Ð¤·¤ÇÇ˲õ¤µ¤ì¤ë¥ì¥¸¥¹¥¿¤¬¥°¥í¡¼¥Ð¥ë¥ì¥¸¥¹¥¿ÊÑ¿ô¤È¤·¤Æ»È¤ï¤ì¤Þ¤·¤¿"
++
++#: config/mmix/mmix.opt:37
++#, fuzzy
++msgid "Use epsilon-respecting floating point compare instructions"
++msgstr "¥Ï¡¼¥É¥¦¥§¥¢ÉâÆ°¾®¿ôÅÀÌ¿Îá¤ò»ÈÍѤ¹¤ë"
++
++#: config/mmix/mmix.opt:41
++msgid "Use zero-extending memory loads, not sign-extending ones"
++msgstr ""
++
++#: config/mmix/mmix.opt:45
++msgid "Generate divide results with reminder having the same sign as the divisor (not the dividend)"
++msgstr ""
++
++#: config/mmix/mmix.opt:49
++msgid "Prepend global symbols with \":\" (for use with PREFIX)"
++msgstr ""
++
++#: config/mmix/mmix.opt:53
++msgid "Do not provide a default start-address 0x100 of the program"
++msgstr ""
++
++#: config/mmix/mmix.opt:57
++msgid "Link to emit program in ELF format (rather than mmo)"
++msgstr ""
++
++#: config/mmix/mmix.opt:61
++msgid "Use P-mnemonics for branches statically predicted as taken"
++msgstr ""
++
++#: config/mmix/mmix.opt:65
++msgid "Don't use P-mnemonics for branches"
++msgstr ""
++
++#: config/mmix/mmix.opt:79
++#, fuzzy
++msgid "Use addresses that allocate global registers"
++msgstr "¥«¡¼¥Í¥ë¥°¥í¡¼¥Ð¥ë¥ì¥¸¥¹¥¿¤òÍøÍÑ"
++
++#: config/mmix/mmix.opt:83
++#, fuzzy
++msgid "Do not use addresses that allocate global registers"
++msgstr "BK ¥ì¥¸¥¹¥¿¤ò³ÎÊݤ·¤Ê¤¤"
++
++#: config/mmix/mmix.opt:87
++#, fuzzy
++msgid "Generate a single exit point for each function"
++msgstr "noreturn ´Ø¿ô¤¬ return ¤¹¤ë¤È¤­ abort ¤Î¸Æ¤Ó½Ð¤·¤òÀ¸À®¤¹¤ë"
++
++#: config/mmix/mmix.opt:91
++#, fuzzy
++msgid "Do not generate a single exit point for each function"
++msgstr "multm Ì¿Îá¤òÀ¸À®¤·¤Ê¤¤"
++
++#: config/mmix/mmix.opt:95
++#, fuzzy
++msgid "Set start-address of the program"
++msgstr "°ì»þ¥ª¥Ö¥¸¥§¥¯¥È¤Î¥¢¥É¥ì¥¹¤ò¼è¤í¤¦¤È¤·¤Æ¤¤¤Þ¤¹"
++
++#: config/mmix/mmix.opt:99
++msgid "Set start-address of data"
++msgstr ""
++
++#: config/score/score.opt:31
++#, fuzzy
++msgid "Disable bcnz instruction"
++msgstr "DB Ì¿Îá¤Î»ÈÍѤò̵¸ú¤Ë¤¹¤ë"
++
++#: config/score/score.opt:35
++#, fuzzy
++msgid "Enable unaligned load/store instruction"
++msgstr "DB Ì¿Îá¤Î»ÈÍѤòÍ­¸ú¤Ë¤¹¤ë"
++
++#: config/score/score.opt:39
++msgid "Support SCORE 5 ISA"
++msgstr ""
++
++#: config/score/score.opt:43
++msgid "Support SCORE 5U ISA"
++msgstr ""
++
++#: config/score/score.opt:47
++msgid "Support SCORE 7 ISA"
++msgstr ""
++
++#: config/score/score.opt:51
++msgid "Support SCORE 7D ISA"
++msgstr ""
++
++#: config/score/score.opt:55
++msgid "Support SCORE 3 ISA"
++msgstr ""
++
++#: config/score/score.opt:59
++msgid "Support SCORE 3d ISA"
++msgstr ""
++
++#: config/crx/crx.opt:23
++#, fuzzy
++msgid "Support multiply accumulate instructions"
++msgstr "¾è»»-²Ã»»ÉâÆ°¾®¿ôÅÀÌ¿Îá¤ò¤ò»ÈÍѤ¹¤ë"
++
++#: config/crx/crx.opt:27
++#, fuzzy
++msgid "Do not use push to store function arguments"
++msgstr "½ÐÎϤ¹¤ë°ú¿ô¤ò¥»¡¼¥Ö¤¹¤ë¤¿¤á¤Ë¤Ï push Ì¿Îá¤ò»È¤ï¤Ê¤¤"
++
++#: config/crx/crx.opt:31
++msgid "Restrict doloop to the given nesting level"
++msgstr ""
++
++#: config/mt/mt.opt:23
++msgid "Use byte loads and stores when generating code."
++msgstr ""
++
++#: config/mt/mt.opt:31
++msgid "Do not include crt0.o in the startup files"
++msgstr ""
++
++#: config/mt/mt.opt:35 config/mt/mt.opt:39 config/mt/mt.opt:43
++#: config/mt/mt.opt:47 config/mt/mt.opt:51
++#, fuzzy
++msgid "Internal debug switch"
++msgstr "ÉÔÌÀ¤Ê -mdebug-%s ¥¹¥¤¥Ã¥Á¤Ç¤¹"
++
++#: config/m68hc11/m68hc11.opt:23 config/m68hc11/m68hc11.opt:31
++msgid "Compile for a 68HC11"
++msgstr "68HC11 ÍѤ˥³¥ó¥Ñ¥¤¥ë¤¹¤ë"
++
++#: config/m68hc11/m68hc11.opt:27 config/m68hc11/m68hc11.opt:35
++msgid "Compile for a 68HC12"
++msgstr "68HC12 ÍѤ˥³¥ó¥Ñ¥¤¥ë¤¹¤ë"
++
++#: config/m68hc11/m68hc11.opt:41 config/m68hc11/m68hc11.opt:45
++#, fuzzy
++msgid "Compile for a 68HCS12"
++msgstr "68HC12 ÍѤ˥³¥ó¥Ñ¥¤¥ë¤¹¤ë"
++
++#: config/m68hc11/m68hc11.opt:49
++msgid "Auto pre/post decrement increment allowed"
++msgstr "¼«Æ° pre/post ¥Ç¥¯¥ê¥á¥ó¥È ¥¤¥ó¥¯¥ê¥á¥ó¥È¤òµöÍƤ¹¤ë"
++
++#: config/m68hc11/m68hc11.opt:53
++msgid "Min/max instructions allowed"
++msgstr ""
++
++#: config/m68hc11/m68hc11.opt:57
++#, fuzzy
++msgid "Use call and rtc for function calls and returns"
++msgstr "noreturn ´Ø¿ô¤¬ return ¤¹¤ë¤È¤­ abort ¤Î¸Æ¤Ó½Ð¤·¤òÀ¸À®¤¹¤ë"
++
++#: config/m68hc11/m68hc11.opt:61
++msgid "Auto pre/post decrement increment not allowed"
++msgstr "¼«Æ° pre/post ¥Ç¥¯¥ê¥á¥ó¥È ¥¤¥ó¥¯¥ê¥á¥ó¥È¤òµöÍƤ·¤Ê¤¤"
++
++#: config/m68hc11/m68hc11.opt:65
++#, fuzzy
++msgid "Use jsr and rts for function calls and returns"
++msgstr "´Ø¿ô³«»ÏÉôʬÍѤΥ¹¥¿¥Ö¤ò»ÈÍѤ¹¤ë"
++
++#: config/m68hc11/m68hc11.opt:69
++#, fuzzy
++msgid "Min/max instructions not allowed"
++msgstr "ret Ì¿Îá¤Ï¼ÂÁõ¤µ¤ì¤Æ¤¤¤Þ¤»¤ó"
++
++#: config/m68hc11/m68hc11.opt:73
++#, fuzzy
++msgid "Use direct addressing mode for soft registers"
++msgstr "'¾®¤µ¤Ê' ½¸¹çÂΤò¥ì¥¸¥¹¥¿¤Ç¤Ï¤Ê¤¯¥á¥â¥ê¤Ë³ÊǼ¤·¤ÆÊÖ¤¹"
++
++#: config/m68hc11/m68hc11.opt:77
++msgid "Compile with 32-bit integer mode"
++msgstr "32 ¥Ó¥Ã¥ÈÀ°¿ô¥â¡¼¥É¤Ç¥³¥ó¥Ñ¥¤¥ë¤¹¤ë"
++
++#: config/m68hc11/m68hc11.opt:82
++msgid "Specify the register allocation order"
++msgstr "¥ì¥¸¥¹¥¿³ÎÊݽç¤ò»ØÄꤹ¤ë"
++
++#: config/m68hc11/m68hc11.opt:86
++#, fuzzy
++msgid "Do not use direct addressing mode for soft registers"
++msgstr "Ê£»¨¤Ê¥¢¥É¥ì¥·¥ó¥°¥â¡¼¥É¤òÍøÍѤ·¤Ê¤¤"
++
++#: config/m68hc11/m68hc11.opt:90
++msgid "Compile with 16-bit integer mode"
++msgstr "16 ¥Ó¥Ã¥ÈÀ°¿ô¥â¡¼¥É¤Ç¥³¥ó¥Ñ¥¤¥ë¤¹¤ë"
++
++#: config/m68hc11/m68hc11.opt:94
++msgid "Indicate the number of soft registers available"
++msgstr "ÍøÍѲÄǽ¥½¥Õ¥È¥ì¥¸¥¹¥¿¤Î¿ô¤ò¼¨¤¹"
++
++#: config/fr30/fr30.opt:23
++msgid "Assume small address space"
++msgstr "¥¹¥â¡¼¥ë¥¢¥É¥ì¥¹¶õ´Ö¤È¤ß¤Ê¤¹"
++
++#: config/sparc/little-endian.opt:23
++#, fuzzy
++msgid "Generate code for little-endian"
++msgstr "¥ê¥È¥ë¥¨¥ó¥Ç¥£¥¢¥óÍѤΥ³¡¼¥É¤òÀ¸À®¤¹¤ë"
++
++#: config/sparc/little-endian.opt:27
++#, fuzzy
++msgid "Generate code for big-endian"
++msgstr "¥Ó¥Ã¥°¥¨¥ó¥Ç¥£¥¢¥óÍѤΥ³¡¼¥É¤òÀ¸À®¤¹¤ë"
++
++#: config/sparc/sparc.opt:23 config/sparc/sparc.opt:27
++#, fuzzy
++msgid "Use hardware FP"
++msgstr "¥Ï¡¼¥É¥¦¥§¥¢ÉâÆ°¾®¿ôÅÀ¤òÍøÍÑ"
++
++#: config/sparc/sparc.opt:31
++#, fuzzy
++msgid "Do not use hardware FP"
++msgstr "¥Ï¡¼¥É¥¦¥§¥¢ÉâÆ°¾®¿ôÅÀ¤òÍøÍѤ·¤Ê¤¤"
++
++#: config/sparc/sparc.opt:35
++msgid "Assume possible double misalignment"
++msgstr "double ¤¬¸í¤Ã¤¿¥¢¥é¥¤¥ó¥á¥ó¥È¤È¤Ê¤ë²ÄǽÀ­¤¬¤¢¤ë¤È¤ß¤Ê¤¹"
++
++#: config/sparc/sparc.opt:39
++msgid "Pass -assert pure-text to linker"
++msgstr "¥ê¥ó¥«¤Ë -assert pure-text ¤òÅϤ¹"
++
++#: config/sparc/sparc.opt:43
++msgid "Use ABI reserved registers"
++msgstr "ABI ͽÌó¥ì¥¸¥¹¥¿¤ò»ÈÍѤ¹¤ë"
++
++#: config/sparc/sparc.opt:47
++#, fuzzy
++msgid "Use hardware quad FP instructions"
++msgstr "»ÍÇÜÀºÅÙÉâÆ°¾®¿ôÅÀÌ¿Îá¤ò»ÈÍѤ¹¤ë"
++
++#: config/sparc/sparc.opt:51
++msgid "Do not use hardware quad fp instructions"
++msgstr "»ÍÇÜÀºÅÙÉâÆ°¾®¿ôÅÀÌ¿Îá¤ò»ÈÍѤ·¤Ê¤¤"
++
++#: config/sparc/sparc.opt:55
++#, fuzzy
++msgid "Compile for V8+ ABI"
++msgstr "v8plus ABI ÍѤ˥³¥ó¥Ñ¥¤¥ë¤¹¤ë"
++
++#: config/sparc/sparc.opt:59
++#, fuzzy
++msgid "Use UltraSPARC Visual Instruction Set extensions"
++msgstr "Visual Ì¿Î᥻¥Ã¥È¤òÍøÍѤ¹¤ë"
++
++#: config/sparc/sparc.opt:63
++msgid "Pointers are 64-bit"
++msgstr "¥Ý¥¤¥ó¥¿¤ò 64 ¥Ó¥Ã¥È¤È¤¹¤ë"
++
++#: config/sparc/sparc.opt:67
++msgid "Pointers are 32-bit"
++msgstr "¥Ý¥¤¥ó¥¿¤ò 32 ¥Ó¥Ã¥È¤È¤¹¤ë"
++
++#: config/sparc/sparc.opt:71
++msgid "Use 64-bit ABI"
++msgstr "64 ¥Ó¥Ã¥È ABI ¤ò»ÈÍѤ¹¤ë"
++
++#: config/sparc/sparc.opt:75
++msgid "Use 32-bit ABI"
++msgstr "32 ¥Ó¥Ã¥È ABI ¤ò»ÈÍѤ¹¤ë"
++
++#: config/sparc/sparc.opt:79
++msgid "Use stack bias"
++msgstr "¥¹¥¿¥Ã¥¯¥Ð¥¤¥¢¥¹¤ò»ÈÍѤ¹¤ë"
++
++#: config/sparc/sparc.opt:83
++msgid "Use structs on stronger alignment for double-word copies"
++msgstr "¥À¥Ö¥ë¥ï¡¼¥É¥³¥Ô¡¼ÍѤζ¯¤¯¥¢¥é¥¤¥ó¤µ¤ì¤¿¹½Â¤ÂΤò»ÈÍѤ¹¤ë"
++
++#: config/sparc/sparc.opt:87
++msgid "Optimize tail call instructions in assembler and linker"
++msgstr "¥¢¥»¥ó¥Ö¥é¤È¥ê¥ó¥«¤ÇËöÈø¸Æ¤Ó½Ð¤·Ì¿Îá¤òºÇŬ²½¤¹¤ë"
++
++#: config/sparc/sparc.opt:99
++#, fuzzy
++msgid "Use given SPARC-V9 code model"
++msgstr "Í¿¤¨¤é¤ì¤¿ Sparc ¥³¡¼¥É¥â¥Ç¥ë¤ò»ÈÍѤ¹¤ë"
++
++#: config/sparc/sparc.opt:103
++msgid "Enable strict 32-bit psABI struct return checking."
++msgstr ""
++
++#: config/sh/superh.opt:6
++msgid "Board name [and memory region]."
++msgstr ""
++
++#: config/sh/superh.opt:10
++msgid "Runtime name."
++msgstr ""
++
+ #: config/sh/sh.opt:44
+ #, fuzzy
+ msgid "Generate SH1 code"
+@@ -13760,499 +14577,21 @@
+ msgid "Pretend a branch-around-a-move is a conditional move."
+ msgstr ""
+
+-#: config/sh/superh.opt:6
+-msgid "Board name [and memory region]."
+-msgstr ""
++#: config/vxworks.opt:24
++#, fuzzy
++msgid "Assume the VxWorks RTP environment"
++msgstr "Ä̾ï¤Î C ¼Â¹Ô´Ä¶­¤òÁ°Äó¤È¤¹¤ë"
+
+-#: config/sh/superh.opt:10
+-msgid "Runtime name."
+-msgstr ""
+-
+-#: config/arm/arm.opt:23
++#: config/vxworks.opt:31
+ #, fuzzy
+-msgid "Specify an ABI"
+-msgstr "MIPS ISA ¤ò»ØÄꤹ¤ë"
++msgid "Assume the VxWorks vThreads environment"
++msgstr "Ä̾ï¤Î C ¼Â¹Ô´Ä¶­¤òÁ°Äó¤È¤¹¤ë"
+
+-#: config/arm/arm.opt:27
+-msgid "Generate a call to abort if a noreturn function returns"
+-msgstr "noreturn ´Ø¿ô¤¬ return ¤¹¤ë¤È¤­ abort ¤Î¸Æ¤Ó½Ð¤·¤òÀ¸À®¤¹¤ë"
+-
+-#: config/arm/arm.opt:34
+-msgid "Pass FP arguments in FP registers"
+-msgstr "FP ¥ì¥¸¥¹¥¿¤Ç FP °ú¿ô¤òÅϤ¹"
+-
+-#: config/arm/arm.opt:38
+-msgid "Generate APCS conformant stack frames"
+-msgstr "APCS Ŭ¹ç¤·¤¿¥¹¥¿¥Ã¥¯¥Õ¥ì¡¼¥à¤òÀ¸À®¤¹¤ë"
+-
+-#: config/arm/arm.opt:42
+-msgid "Generate re-entrant, PIC code"
+-msgstr "ºÆÆþ²Äǽ¤Ê PIC ¥³¡¼¥É¤òÀ¸À®¤·¤Þ¤¹"
+-
+-#: config/arm/arm.opt:56
+-msgid "Assume target CPU is configured as big endian"
+-msgstr "¥¿¡¼¥²¥Ã¥È CPU ¤¬¥Ó¥Ã¥¯¥¨¥ó¥Ç¥£¥¢¥ó¤È¤·¤ÆÀßÄꤵ¤ì¤Æ¤¤¤ë¤È¤ß¤Ê¤¹"
+-
+-#: config/arm/arm.opt:60
+-msgid "Thumb: Assume non-static functions may be called from ARM code"
+-msgstr "Thumb: ÈóÀÅŪ´Ø¿ô¤¬ ARM ¥³¡¼¥É¤«¤é¸Æ¤Ó½Ð¤µ¤ì¤ë²ÄǽÀ­¤¬¤¢¤ë¤È¤ß¤Ê¤¹"
+-
+-#: config/arm/arm.opt:64
+-msgid "Thumb: Assume function pointers may go to non-Thumb aware code"
+-msgstr "Thumb: ´Ø¿ô¥Ý¥¤¥ó¥¿¤¬Èó Thumb ¤Èǧ¼±¤¹¤ë¥³¡¼¥É¤ËÆÍÆþ¤¹¤ë²ÄǽÀ­¤¬¤¢¤ë¤È¤ß¤Ê¤¹"
+-
+-#: config/arm/arm.opt:68
+-msgid "Cirrus: Place NOPs to avoid invalid instruction combinations"
+-msgstr ""
+-
+-#: config/arm/arm.opt:72 config/bfin/bfin.opt:27
+-msgid "Specify the name of the target CPU"
+-msgstr "¥¿¡¼¥²¥Ã¥È CPU ¤Î̾Á°¤ò»ØÄꤹ¤ë"
+-
+-#: config/arm/arm.opt:76
+-msgid "Specify if floating point hardware should be used"
+-msgstr ""
+-
+-#: config/arm/arm.opt:90
++#: config/mips/sdemtk.opt:23
+ #, fuzzy
+-msgid "Specify the name of the target floating point hardware/format"
++msgid "Prevent the use of all floating-point operations"
+ msgstr "ÉâÆ°¾®¿ôÅÀ¥¨¥ß¥å¥ì¡¼¥¿¤Î¥Ð¡¼¥¸¥ç¥ó¤ò»ØÄꤹ¤ë"
+
+-#: config/arm/arm.opt:94
+-msgid "Alias for -mfloat-abi=hard"
+-msgstr ""
+-
+-#: config/arm/arm.opt:98
+-msgid "Assume target CPU is configured as little endian"
+-msgstr "¥¿¡¼¥²¥Ã¥È CPU ¤¬¥ê¥È¥ë¥¨¥ó¥Ç¥£¥¢¥ó¤È¤·¤ÆÀßÄꤵ¤ì¤Æ¤¤¤ë¤È¤ß¤Ê¤¹"
+-
+-#: config/arm/arm.opt:102
+-msgid "Generate call insns as indirect calls, if necessary"
+-msgstr "ɬÍפ¬¤¢¤ì¤Ð¡¢Ì¿Îá¸Æ¤Ó½Ð¤·¤ò´ÖÀܸƤӽФ·¤È¤·¤ÆÀ¸À®¤¹¤ë"
+-
+-#: config/arm/arm.opt:106
+-msgid "Specify the register to be used for PIC addressing"
+-msgstr "PIC ¥¢¥É¥ì¥·¥ó¥°¤ËÍøÍѤµ¤ì¤ë¥ì¥¸¥¹¥¿¤ò»ØÄꤹ¤ë"
+-
+-#: config/arm/arm.opt:110
+-msgid "Store function names in object code"
+-msgstr "¥ª¥Ö¥¸¥§¥¯¥È¥³¡¼¥É¤Ë´Ø¿ô̾¤ò³ÊǼ¤¹¤ë"
+-
+-#: config/arm/arm.opt:114
+-#, fuzzy
+-msgid "Permit scheduling of a function's prologue sequence"
+-msgstr "´Ø¿ô³«»ÏÉôʬÍѤΥ¹¥¿¥Ö¤ò»ÈÍѤ¹¤ë"
+-
+-#: config/arm/arm.opt:118
+-msgid "Do not load the PIC register in function prologues"
+-msgstr "´Ø¿ô¤ÎÁ°ÃÖ¤­Éôʬ¤Ë PIC ¥ì¥¸¥¹¥¿¤ò¥í¡¼¥É¤·¤Ê¤¤"
+-
+-#: config/arm/arm.opt:122
+-msgid "Alias for -mfloat-abi=soft"
+-msgstr ""
+-
+-#: config/arm/arm.opt:126
+-msgid "Specify the minimum bit alignment of structures"
+-msgstr "¹½Â¤ÂÎ¥¢¥é¥¤¥ó¥á¥ó¥È¤ÎºÇ¾®¥Ó¥Ã¥È¿ô¤ò»ØÄꤹ¤ë"
+-
+-#: config/arm/arm.opt:130
+-msgid "Compile for the Thumb not the ARM"
+-msgstr "ARM ¤Ç¤Ï¤Ê¤¯ Thumb ÍѤ˥³¥ó¥Ñ¥¤¥ë¤¹¤ë"
+-
+-#: config/arm/arm.opt:134
+-msgid "Support calls between Thumb and ARM instruction sets"
+-msgstr "Thumb ¤È ARM Ì¿Î᥻¥Ã¥È´Ö¤Î¸Æ¤Ó½Ð¤·¤ò¥µ¥Ý¡¼¥È¤¹¤ë"
+-
+-#: config/arm/arm.opt:138
+-#, fuzzy
+-msgid "Specify how to access the thread pointer"
+-msgstr "¥¿¡¼¥²¥Ã¥È¥¢¡¼¥­¥Æ¥¯¥Á¥ã¤Î̾Á°¤ò»ØÄꤹ¤ë"
+-
+-#: config/arm/arm.opt:142
+-msgid "Thumb: Generate (non-leaf) stack frames even if not needed"
+-msgstr "Thumb: ÉÔÍפʾì¹ç¤Ç¤â(ÈóËöü)¥¹¥¿¥Ã¥¯¥Õ¥ì¡¼¥à¤òÀ¸À®¤¹¤ë"
+-
+-#: config/arm/arm.opt:146
+-msgid "Thumb: Generate (leaf) stack frames even if not needed"
+-msgstr "Thumb: ÉÔÍפʾì¹ç¤Ç¤â(Ëöü)¥¹¥¿¥Ã¥¯¥Õ¥ì¡¼¥à¤òÀ¸À®¤¹¤ë"
+-
+-#: config/arm/arm.opt:150
+-#, fuzzy
+-msgid "Tune code for the given processor"
+-msgstr "v850 ¥×¥í¥»¥Ã¥µÍѤ˥³¥ó¥Ñ¥¤¥ë¤¹¤ë"
+-
+-#: config/arm/arm.opt:154
+-msgid "Assume big endian bytes, little endian words"
+-msgstr "byte ¤¬¥Ó¥Ã¥°¥¨¥ó¥Ç¥£¥¢¥ó¤Ç word ¤¬¥ê¥È¥ë¥¨¥ó¥Ç¥£¥¢¥ó¤È¤ß¤Ê¤¹"
+-
+-#: config/arm/arm.opt:158
+-msgid "Use Neon quad-word (rather than double-word) registers for vectorization"
+-msgstr ""
+-
+-#: config/arm/pe.opt:23
+-msgid "Ignore dllimport attribute for functions"
+-msgstr "´Ø¿ô¤Î dllimport °À­¤ò̵»ë¤¹¤ë"
+-
+-#: config/pdp11/pdp11.opt:23
+-msgid "Generate code for an 11/10"
+-msgstr "11/10 ÍѤΥ³¡¼¥É¤òÀ¸À®¤¹¤ë"
+-
+-#: config/pdp11/pdp11.opt:27
+-msgid "Generate code for an 11/40"
+-msgstr "11/40 ÍѤΥ³¡¼¥É¤òÀ¸À®¤¹¤ë"
+-
+-#: config/pdp11/pdp11.opt:31
+-msgid "Generate code for an 11/45"
+-msgstr "11/45 ÍѤΥ³¡¼¥É¤òÀ¸À®¤¹¤ë"
+-
+-#: config/pdp11/pdp11.opt:35
+-#, fuzzy
+-msgid "Use 16-bit abs patterns"
+-msgstr "64 ¥Ó¥Ã¥È FP ¥ì¥¸¥¹¥¿¤ò»ÈÍѤ¹¤ë"
+-
+-#: config/pdp11/pdp11.opt:39
+-#, fuzzy
+-msgid "Return floating-point results in ac0 (fr0 in Unix assembler syntax)"
+-msgstr "ÉâÆ°¾®¿ôÅÀ¤Î·ë²Ì¤ò ac0 ¤ÇÊÖ¤¹"
+-
+-#: config/pdp11/pdp11.opt:43
+-msgid "Do not use inline patterns for copying memory"
+-msgstr ""
+-
+-#: config/pdp11/pdp11.opt:47
+-msgid "Use inline patterns for copying memory"
+-msgstr ""
+-
+-#: config/pdp11/pdp11.opt:51
+-msgid "Do not pretend that branches are expensive"
+-msgstr ""
+-
+-#: config/pdp11/pdp11.opt:55
+-msgid "Pretend that branches are expensive"
+-msgstr ""
+-
+-#: config/pdp11/pdp11.opt:59
+-#, fuzzy
+-msgid "Use the DEC assembler syntax"
+-msgstr "DEC ¥¢¥»¥ó¥Ö¥éʸˡ¤ò»ÈÍѤ¹¤ë"
+-
+-#: config/pdp11/pdp11.opt:63
+-msgid "Use 32 bit float"
+-msgstr "32 ¥Ó¥Ã¥ÈÉâÆ°¾®¿ô¤ò»ÈÍѤ¹¤ë"
+-
+-#: config/pdp11/pdp11.opt:67
+-msgid "Use 64 bit float"
+-msgstr "64 ¥Ó¥Ã¥ÈÉâÆ°¾®¿ô¤ò»ÈÍѤ¹¤ë"
+-
+-#: config/pdp11/pdp11.opt:75
+-msgid "Use 16 bit int"
+-msgstr "16 ¥Ó¥Ã¥ÈÀ°¿ô¤ò»ÈÍѤ¹¤ë"
+-
+-#: config/pdp11/pdp11.opt:79
+-msgid "Use 32 bit int"
+-msgstr "32 ¥Ó¥Ã¥ÈÀ°¿ô¤ò»ÈÍѤ¹¤ë"
+-
+-#: config/pdp11/pdp11.opt:87
+-msgid "Target has split I&D"
+-msgstr "¥¿¡¼¥²¥Ã¥È¤Ï split Ì¿Îá¤È¥Ç¡¼¥¿¥á¥â¥ê¤ò»ý¤Ä"
+-
+-#: config/pdp11/pdp11.opt:91
+-msgid "Use UNIX assembler syntax"
+-msgstr "UNIX ¥¢¥»¥ó¥Ö¥éʸˡ¤ò»ÈÍѤ¹¤ë"
+-
+-#: config/avr/avr.opt:23
+-#, fuzzy
+-msgid "Use subroutines for function prologues and epilogues"
+-msgstr "´Ø¿ô¤ÎÁ°ÃÖ¤­/·ë¤Ó¤Î¤¿¤á¤Î¥µ¥Ö¥ë¡¼¥Á¥ó¤òÍøÍѤ¹¤ë"
+-
+-#: config/avr/avr.opt:27
+-#, fuzzy
+-msgid "Select the target MCU"
+-msgstr "¥¿¡¼¥²¥Ã¥È CPU ¤Î̾Á°¤ò»ØÄꤹ¤ë"
+-
+-#: config/avr/avr.opt:34
+-#, fuzzy
+-msgid "Use an 8-bit 'int' type"
+-msgstr "64 ¥Ó¥Ã¥È int ·¿¤ò»ÈÍѤ¹¤ë"
+-
+-#: config/avr/avr.opt:38
+-msgid "Change the stack pointer without disabling interrupts"
+-msgstr "³ä¤ê¹þ¤ß¤Î̵¸ú²½¤Ê¤·¤Ç¥¹¥¿¥Ã¥¯¥Ý¥¤¥ó¥¿¤òÊѹ¹¤¹¤ë"
+-
+-#: config/avr/avr.opt:42
+-msgid "Do not generate tablejump insns"
+-msgstr "¥Æ¡¼¥Ö¥ë¥¸¥ã¥ó¥×Ì¿Îá¤òÀ¸À®¤·¤Ê¤¤"
+-
+-#: config/avr/avr.opt:52
+-msgid "Use rjmp/rcall (limited range) on >8K devices"
+-msgstr ""
+-
+-#: config/avr/avr.opt:56
+-msgid "Output instruction sizes to the asm file"
+-msgstr "asm ¥Õ¥¡¥¤¥ë¤ËÌ¿Î᥵¥¤¥º¤ò½ÐÎϤ¹¤ë"
+-
+-#: config/avr/avr.opt:60
+-msgid "Change only the low 8 bits of the stack pointer"
+-msgstr "¥¹¥¿¥Ã¥¯¥Ý¥¤¥ó¥¿¤Î²¼°Ì 8 ¥Ó¥Ã¥È¤À¤±¤òÊѹ¹¤¹¤ë"
+-
+-#: config/crx/crx.opt:23
+-#, fuzzy
+-msgid "Support multiply accumulate instructions"
+-msgstr "¾è»»-²Ã»»ÉâÆ°¾®¿ôÅÀÌ¿Îá¤ò¤ò»ÈÍѤ¹¤ë"
+-
+-#: config/crx/crx.opt:27
+-#, fuzzy
+-msgid "Do not use push to store function arguments"
+-msgstr "½ÐÎϤ¹¤ë°ú¿ô¤ò¥»¡¼¥Ö¤¹¤ë¤¿¤á¤Ë¤Ï push Ì¿Îá¤ò»È¤ï¤Ê¤¤"
+-
+-#: config/crx/crx.opt:31
+-msgid "Restrict doloop to the given nesting level"
+-msgstr ""
+-
+-#: config/c4x/c4x.opt:23
+-msgid "Generate code for C30 CPU"
+-msgstr "C30 CPU ÍѤΥ³¡¼¥É¤òÀ¸À®¤¹¤ë"
+-
+-#: config/c4x/c4x.opt:27
+-msgid "Generate code for C31 CPU"
+-msgstr "C31 CPU ÍѤΥ³¡¼¥É¤òÀ¸À®¤¹¤ë"
+-
+-#: config/c4x/c4x.opt:31
+-msgid "Generate code for C32 CPU"
+-msgstr "C32 CPU ÍѤΥ³¡¼¥É¤òÀ¸À®¤¹¤ë"
+-
+-#: config/c4x/c4x.opt:35
+-msgid "Generate code for C33 CPU"
+-msgstr "C33 CPU ÍѤΥ³¡¼¥É¤òÀ¸À®¤¹¤ë"
+-
+-#: config/c4x/c4x.opt:39
+-msgid "Generate code for C40 CPU"
+-msgstr "C40 CPU ÍѤΥ³¡¼¥É¤òÀ¸À®¤¹¤ë"
+-
+-#: config/c4x/c4x.opt:43
+-msgid "Generate code for C44 CPU"
+-msgstr "C44 CPU ÍѤΥ³¡¼¥É¤òÀ¸À®¤¹¤ë"
+-
+-#: config/c4x/c4x.opt:47
+-msgid "Assume that pointers may be aliased"
+-msgstr "¥Ý¥¤¥ó¥¿¤¬ÊÌ̾¤È¤Ê¤ê¤¦¤ë¤³¤È¤òÁ°Äó¤È¤¹¤ë"
+-
+-#: config/c4x/c4x.opt:51
+-msgid "Big memory model"
+-msgstr "¥Ó¥Ã¥°¥á¥â¥ê¥â¥Ç¥ë"
+-
+-#: config/c4x/c4x.opt:55
+-msgid "Use the BK register as a general purpose register"
+-msgstr "BK ¥ì¥¸¥¹¥¿¤òÈÆÍѥ쥸¥¹¥¿¤È¤·¤Æ»ÈÍѤ¹¤ë"
+-
+-#: config/c4x/c4x.opt:59
+-#, fuzzy
+-msgid "Generate code for CPU"
+-msgstr "C30 CPU ÍѤΥ³¡¼¥É¤òÀ¸À®¤¹¤ë"
+-
+-#: config/c4x/c4x.opt:63
+-msgid "Enable use of DB instruction"
+-msgstr "DB Ì¿Îá¤Î»ÈÍѤòÍ­¸ú¤Ë¤¹¤ë"
+-
+-#: config/c4x/c4x.opt:67
+-msgid "Enable debugging"
+-msgstr "¥Ç¥Ð¥Ã¥°¤òÍ­¸ú¤Ë¤¹¤ë"
+-
+-#: config/c4x/c4x.opt:71
+-msgid "Enable new features under development"
+-msgstr "³«È¯Ãæ¤Î¿·µ¡Ç½¤òÍ­¸ú¤Ë¤¹¤ë"
+-
+-#: config/c4x/c4x.opt:75
+-msgid "Use fast but approximate float to integer conversion"
+-msgstr "¹â®¤À¤¬¶á»÷ÃͤȤʤëÉâÆ°¾®¿ô¤«¤éÀ°¿ô¤Ø¤ÎÊÑ´¹¤òÍøÍѤ¹¤ë"
+-
+-#: config/c4x/c4x.opt:79
+-msgid "Force RTL generation to emit valid 3 operand insns"
+-msgstr "RTL À¸À®¤Ë¤Ä¤¤¤Æ¡¢Àµ¾ï¤Ê 3 ¥ª¥Ú¥é¥ó¥ÉÌ¿Îá¤ò¶¯Íפ¹¤ë"
+-
+-#: config/c4x/c4x.opt:83
+-msgid "Force constants into registers to improve hoisting"
+-msgstr "´¬¤­¾å¤²(hoist)¤ò²þÁ±¤¹¤ë¤¿¤áÄê¿ô¤ò¥ì¥¸¥¹¥¿¤Ë³ä¤êÅö¤Æ¤ë¤³¤È¤ò¶¯Íפ¹¤ë"
+-
+-#: config/c4x/c4x.opt:87 config/c4x/c4x.opt:111
+-msgid "Save DP across ISR in small memory model"
+-msgstr "¥¹¥â¡¼¥ë¥á¥â¥ê¥â¥Ç¥ë¤Ç ISR ¤ò¸Ù¤ë DP ¤ò¥»¡¼¥Ö¤¹¤ë"
+-
+-#: config/c4x/c4x.opt:91
+-#, fuzzy
+-msgid "Allow unsigned iteration counts for RPTB/DB"
+-msgstr "Éä¹ç̵¤·¤Î RPTB/DB ÍѤÎÈ¿Éü¥«¥¦¥ó¥È¤òµöÍƤ¹¤ë"
+-
+-#: config/c4x/c4x.opt:95
+-msgid "Pass arguments on the stack"
+-msgstr "°ú¿ô¤ò¥¹¥¿¥Ã¥¯ÅϤ·¤Ë¤¹¤ë"
+-
+-#: config/c4x/c4x.opt:99
+-msgid "Use MPYI instruction for C3x"
+-msgstr "MPYI Ì¿Îá¤ò C3x ÍѤ˻ÈÍѤ¹¤ë"
+-
+-#: config/c4x/c4x.opt:103
+-msgid "Enable parallel instructions"
+-msgstr "ÊÂÎóÌ¿Îá¤òÍ­¸ú¤Ë¤¹¤ë"
+-
+-#: config/c4x/c4x.opt:107
+-msgid "Enable MPY||ADD and MPY||SUB instructions"
+-msgstr "MPY||ADD ¤ª¤è¤Ó MPY||SUB Ì¿Îá¤òÍ­¸ú¤Ë¤¹¤ë"
+-
+-#: config/c4x/c4x.opt:115
+-msgid "Preserve all 40 bits of FP reg across call"
+-msgstr "¸Æ¤Ó½Ð¤·¤Î´Ö FP ¥ì¥¸¥¹¥¿¤Î 40 ¥Ó¥Ã¥ÈÁ´¤Æ¤òÊݸ¤¹¤ë"
+-
+-#: config/c4x/c4x.opt:119
+-msgid "Pass arguments in registers"
+-msgstr "°ú¿ô¤ò¥ì¥¸¥¹¥¿ÅϤ·¤Ë¤¹¤ë"
+-
+-#: config/c4x/c4x.opt:123
+-msgid "Enable use of RTPB instruction"
+-msgstr "RTPB Ì¿Îá¤ÎÍøÍѤòÍ­¸ú¤Ë¤¹¤ë"
+-
+-#: config/c4x/c4x.opt:127
+-msgid "Enable use of RTPS instruction"
+-msgstr "RTPS Ì¿Îá¤ÎÍøÍѤòÍ­¸ú¤Ë¤¹¤ë"
+-
+-#: config/c4x/c4x.opt:131
+-#, fuzzy
+-msgid "Set the maximum number of iterations for RPTS to N"
+-msgstr "RPTS ÍѤκÇÂçÈ¿Éü¿ô¤ò»ØÄꤹ¤ë"
+-
+-#: config/c4x/c4x.opt:135
+-msgid "Small memory model"
+-msgstr "¥¹¥â¡¼¥ë¥á¥â¥ê¥â¥Ç¥ë"
+-
+-#: config/c4x/c4x.opt:139
+-msgid "Emit code compatible with TI tools"
+-msgstr "TI ¥Ä¡¼¥ë¸ß´¹¤Î¥³¡¼¥É¤òȯ¹Ô¤¹¤ë"
+-
+-#: config/pa/pa-hpux.opt:23
+-#, fuzzy
+-msgid "Generate cpp defines for server IO"
+-msgstr "½êÍ¿¤Î CPU ÍѤΥ³¡¼¥É¤òÀ¸À®¤¹¤ë"
+-
+-#: config/pa/pa-hpux.opt:27 config/pa/pa-hpux1010.opt:23
+-#: config/pa/pa-hpux1111.opt:23
+-msgid "Specify UNIX standard for predefines and linking"
+-msgstr ""
+-
+-#: config/pa/pa-hpux.opt:31
+-#, fuzzy
+-msgid "Generate cpp defines for workstation IO"
+-msgstr "11/40 ÍѤΥ³¡¼¥É¤òÀ¸À®¤¹¤ë"
+-
+-#: config/pa/pa.opt:23 config/pa/pa.opt:76 config/pa/pa.opt:84
+-#, fuzzy
+-msgid "Generate PA1.0 code"
+-msgstr "SA ¥³¡¼¥É¤òÀ¸À®¤¹¤ë"
+-
+-#: config/pa/pa.opt:27 config/pa/pa.opt:88 config/pa/pa.opt:108
+-#, fuzzy
+-msgid "Generate PA1.1 code"
+-msgstr "SA ¥³¡¼¥É¤òÀ¸À®¤¹¤ë"
+-
+-#: config/pa/pa.opt:31 config/pa/pa.opt:92
+-msgid "Generate PA2.0 code (requires binutils 2.10 or later)"
+-msgstr ""
+-
+-#: config/pa/pa.opt:35
+-#, fuzzy
+-msgid "Generate code for huge switch statements"
+-msgstr "¹â°Ì¥¢¥É¥ì¥¹¥á¥â¥êÍѤΥ³¡¼¥É¤òÀ¸À®¤¹¤ë"
+-
+-#: config/pa/pa.opt:39
+-#, fuzzy
+-msgid "Disable FP regs"
+-msgstr "¥Ç¥Ð¥Ã¥°¤ò̵¸ú¤Ë¤¹¤ë"
+-
+-#: config/pa/pa.opt:43
+-#, fuzzy
+-msgid "Disable indexed addressing"
+-msgstr "¥Ç¥Ð¥Ã¥°¤ò̵¸ú¤Ë¤¹¤ë"
+-
+-#: config/pa/pa.opt:47
+-#, fuzzy
+-msgid "Generate fast indirect calls"
+-msgstr "´ÖÀܸƤӽФ·¤ò»ÈÍѤ·¤Ê¤¤"
+-
+-#: config/pa/pa.opt:55
+-msgid "Assume code will be assembled by GAS"
+-msgstr ""
+-
+-#: config/pa/pa.opt:59
+-msgid "Put jumps in call delay slots"
+-msgstr ""
+-
+-#: config/pa/pa.opt:64
+-#, fuzzy
+-msgid "Enable linker optimizations"
+-msgstr "SSA ºÇŬ²½¤òÍ­¸ú¤Ë¤¹¤ë"
+-
+-#: config/pa/pa.opt:68
+-msgid "Always generate long calls"
+-msgstr ""
+-
+-#: config/pa/pa.opt:72
+-msgid "Emit long load/store sequences"
+-msgstr ""
+-
+-#: config/pa/pa.opt:80
+-msgid "Disable space regs"
+-msgstr ""
+-
+-#: config/pa/pa.opt:96
+-#, fuzzy
+-msgid "Use portable calling conventions"
+-msgstr "ÉáÄ̤θƤӽФ·µ¬Ìó¤ò»È¤¦"
+-
+-#: config/pa/pa.opt:100
+-#, fuzzy
+-msgid "Specify CPU for scheduling purposes. Valid arguments are 700, 7100, 7100LC, 7200, 7300, and 8000"
+-msgstr ""
+-"ÉÔÌÀ¤Ê -mschedule= ¥ª¥×¥·¥ç¥ó (%s).\n"
+-"Àµ¾ï¤Ê¥ª¥×¥·¥ç¥ó¤Ï 700, 7100, 7100LC, 7200, µÚ¤Ó 8000 ¤Ç¤¹\n"
+-
+-#: config/pa/pa.opt:112
+-#, fuzzy
+-msgid "Do not disable space regs"
+-msgstr "ÉâÆ°¾®¿ôÅÀ¥ì¥¸¥¹¥¿¤òÍøÍѤ·¤Ê¤¤"
+-
+-#: config/pa/pa64-hpux.opt:23
+-msgid "Assume code will be linked by GNU ld"
+-msgstr ""
+-
+-#: config/pa/pa64-hpux.opt:27
+-msgid "Assume code will be linked by HP ld"
+-msgstr ""
+-
+-#: config/xtensa/xtensa.opt:23
+-#, fuzzy
+-msgid "Use CONST16 instruction to load constants"
+-msgstr "½ÐÎϤ¹¤ë°ú¿ô¤ò¥»¡¼¥Ö¤¹¤ë¤¿¤á push Ì¿Îá¤ò»È¤¦"
+-
+-#: config/xtensa/xtensa.opt:27
+-#, fuzzy
+-msgid "Enable fused multiply/add and multiply/subtract FP instructions"
+-msgstr "ÉâÆ°¾®¿ô¤Î¾è»»/²Ã»»Ì¿Îá¤òÀ¸À®¤¹¤ë"
+-
+-#: config/xtensa/xtensa.opt:31
+-msgid "Use indirect CALLXn instructions for large programs"
+-msgstr ""
+-
+-#: config/xtensa/xtensa.opt:35
+-msgid "Automatically align branch targets to reduce branch penalties"
+-msgstr ""
+-
+-#: config/xtensa/xtensa.opt:39
+-msgid "Intersperse literal pools with code in the text section"
+-msgstr ""
+-
+-#: config/stormy16/stormy16.opt:24
+-msgid "Provide libraries for the simulator"
+-msgstr ""
+-
+ #: config/mips/mips.opt:23
+ #, fuzzy
+ msgid "Generate code that conforms to the given ABI"
+@@ -14329,10 +14668,6 @@
+ msgid "Use little-endian byte order"
+ msgstr "¥ê¥È¥ë¥¨¥ó¥Ç¥£¥¢¥ó¤Î¥Ð¥¤¥È½ç¤ò»ÈÍѤ¹¤ë"
+
+-#: config/mips/mips.opt:97 config/iq2000/iq2000.opt:31
+-msgid "Use ROM instead of RAM"
+-msgstr "RAM ¤ÎÂå¤ï¤ê¤Ë ROM ¤òÍøÍѤ¹¤ë"
+-
+ #: config/mips/mips.opt:101
+ msgid "Use NewABI-style %reloc() assembly operators"
+ msgstr ""
+@@ -14521,10 +14856,6 @@
+ msgid "Optimize the output for PROCESSOR"
+ msgstr ""
+
+-#: config/mips/mips.opt:265 config/iq2000/iq2000.opt:44
+-msgid "Put uninitialized constants in ROM (needs -membedded-data)"
+-msgstr "̤½é´ü²½Äê¿ô¤ò ROM ¤ËÃÖ¤¯(Í× -membedded-data)"
+-
+ #: config/mips/mips.opt:269
+ #, fuzzy
+ msgid "Perform VR4130-specific alignment optimizations"
+@@ -14534,400 +14865,6 @@
+ msgid "Lift restrictions on GOT size"
+ msgstr ""
+
+-#: config/mips/sdemtk.opt:23
+-#, fuzzy
+-msgid "Prevent the use of all floating-point operations"
+-msgstr "ÉâÆ°¾®¿ôÅÀ¥¨¥ß¥å¥ì¡¼¥¿¤Î¥Ð¡¼¥¸¥ç¥ó¤ò»ØÄꤹ¤ë"
+-
+-#: config/fr30/fr30.opt:23
+-msgid "Assume small address space"
+-msgstr "¥¹¥â¡¼¥ë¥¢¥É¥ì¥¹¶õ´Ö¤È¤ß¤Ê¤¹"
+-
+-#: config/m68hc11/m68hc11.opt:23 config/m68hc11/m68hc11.opt:31
+-msgid "Compile for a 68HC11"
+-msgstr "68HC11 ÍѤ˥³¥ó¥Ñ¥¤¥ë¤¹¤ë"
+-
+-#: config/m68hc11/m68hc11.opt:27 config/m68hc11/m68hc11.opt:35
+-msgid "Compile for a 68HC12"
+-msgstr "68HC12 ÍѤ˥³¥ó¥Ñ¥¤¥ë¤¹¤ë"
+-
+-#: config/m68hc11/m68hc11.opt:41 config/m68hc11/m68hc11.opt:45
+-#, fuzzy
+-msgid "Compile for a 68HCS12"
+-msgstr "68HC12 ÍѤ˥³¥ó¥Ñ¥¤¥ë¤¹¤ë"
+-
+-#: config/m68hc11/m68hc11.opt:49
+-msgid "Auto pre/post decrement increment allowed"
+-msgstr "¼«Æ° pre/post ¥Ç¥¯¥ê¥á¥ó¥È ¥¤¥ó¥¯¥ê¥á¥ó¥È¤òµöÍƤ¹¤ë"
+-
+-#: config/m68hc11/m68hc11.opt:53
+-msgid "Min/max instructions allowed"
+-msgstr ""
+-
+-#: config/m68hc11/m68hc11.opt:57
+-#, fuzzy
+-msgid "Use call and rtc for function calls and returns"
+-msgstr "noreturn ´Ø¿ô¤¬ return ¤¹¤ë¤È¤­ abort ¤Î¸Æ¤Ó½Ð¤·¤òÀ¸À®¤¹¤ë"
+-
+-#: config/m68hc11/m68hc11.opt:61
+-msgid "Auto pre/post decrement increment not allowed"
+-msgstr "¼«Æ° pre/post ¥Ç¥¯¥ê¥á¥ó¥È ¥¤¥ó¥¯¥ê¥á¥ó¥È¤òµöÍƤ·¤Ê¤¤"
+-
+-#: config/m68hc11/m68hc11.opt:65
+-#, fuzzy
+-msgid "Use jsr and rts for function calls and returns"
+-msgstr "´Ø¿ô³«»ÏÉôʬÍѤΥ¹¥¿¥Ö¤ò»ÈÍѤ¹¤ë"
+-
+-#: config/m68hc11/m68hc11.opt:69
+-#, fuzzy
+-msgid "Min/max instructions not allowed"
+-msgstr "ret Ì¿Îá¤Ï¼ÂÁõ¤µ¤ì¤Æ¤¤¤Þ¤»¤ó"
+-
+-#: config/m68hc11/m68hc11.opt:73
+-#, fuzzy
+-msgid "Use direct addressing mode for soft registers"
+-msgstr "'¾®¤µ¤Ê' ½¸¹çÂΤò¥ì¥¸¥¹¥¿¤Ç¤Ï¤Ê¤¯¥á¥â¥ê¤Ë³ÊǼ¤·¤ÆÊÖ¤¹"
+-
+-#: config/m68hc11/m68hc11.opt:77
+-msgid "Compile with 32-bit integer mode"
+-msgstr "32 ¥Ó¥Ã¥ÈÀ°¿ô¥â¡¼¥É¤Ç¥³¥ó¥Ñ¥¤¥ë¤¹¤ë"
+-
+-#: config/m68hc11/m68hc11.opt:82
+-msgid "Specify the register allocation order"
+-msgstr "¥ì¥¸¥¹¥¿³ÎÊݽç¤ò»ØÄꤹ¤ë"
+-
+-#: config/m68hc11/m68hc11.opt:86
+-#, fuzzy
+-msgid "Do not use direct addressing mode for soft registers"
+-msgstr "Ê£»¨¤Ê¥¢¥É¥ì¥·¥ó¥°¥â¡¼¥É¤òÍøÍѤ·¤Ê¤¤"
+-
+-#: config/m68hc11/m68hc11.opt:90
+-msgid "Compile with 16-bit integer mode"
+-msgstr "16 ¥Ó¥Ã¥ÈÀ°¿ô¥â¡¼¥É¤Ç¥³¥ó¥Ñ¥¤¥ë¤¹¤ë"
+-
+-#: config/m68hc11/m68hc11.opt:94
+-msgid "Indicate the number of soft registers available"
+-msgstr "ÍøÍѲÄǽ¥½¥Õ¥È¥ì¥¸¥¹¥¿¤Î¿ô¤ò¼¨¤¹"
+-
+-#: config/vax/vax.opt:23 config/vax/vax.opt:27
+-msgid "Target DFLOAT double precision code"
+-msgstr ""
+-
+-#: config/vax/vax.opt:31 config/vax/vax.opt:35
+-#, fuzzy
+-msgid "Generate GFLOAT double precision code"
+-msgstr "¥ê¥È¥ë¥¨¥ó¥Ç¥£¥¢¥ó¤Î¥³¡¼¥É¤òÀ¸À®"
+-
+-#: config/vax/vax.opt:39
+-#, fuzzy
+-msgid "Generate code for GNU assembler (gas)"
+-msgstr "GNU as ÍѤΥ³¡¼¥É¤òÀ¸À®¤¹¤ë"
+-
+-#: config/vax/vax.opt:43
+-#, fuzzy
+-msgid "Generate code for UNIX assembler"
+-msgstr "GNU as ÍѤΥ³¡¼¥É¤òÀ¸À®¤¹¤ë"
+-
+-#: config/vax/vax.opt:47
+-msgid "Use VAXC structure conventions"
+-msgstr ""
+-
+-#: config/cris/linux.opt:27
+-msgid "Together with -fpic and -fPIC, do not use GOTPLT references"
+-msgstr ""
+-
+-#: config/cris/cris.opt:45
+-#, fuzzy
+-msgid "Work around bug in multiplication instruction"
+-msgstr "¾è»»-²Ã»»ÉâÆ°¾®¿ôÅÀÌ¿Îá¤ò»ÈÍѤ·¤Ê¤¤"
+-
+-#: config/cris/cris.opt:51
+-msgid "Compile for ETRAX 4 (CRIS v3)"
+-msgstr ""
+-
+-#: config/cris/cris.opt:56
+-msgid "Compile for ETRAX 100 (CRIS v8)"
+-msgstr ""
+-
+-#: config/cris/cris.opt:64
+-msgid "Emit verbose debug information in assembly code"
+-msgstr ""
+-
+-#: config/cris/cris.opt:71
+-#, fuzzy
+-msgid "Do not use condition codes from normal instructions"
+-msgstr "¥Ó¥Ã¥È¥Õ¥£¡¼¥ë¥ÉÌ¿Îá¤ò»ÈÍѤ·¤Ê¤¤"
+-
+-#: config/cris/cris.opt:80
+-msgid "Do not emit addressing modes with side-effect assignment"
+-msgstr ""
+-
+-#: config/cris/cris.opt:89
+-#, fuzzy
+-msgid "Do not tune stack alignment"
+-msgstr "¥¹¥¿¥Ã¥¯¥Ð¥¤¥¢¥¹¤ò»ÈÍѤ·¤Ê¤¤"
+-
+-#: config/cris/cris.opt:98
+-#, fuzzy
+-msgid "Do not tune writable data alignment"
+-msgstr "ʸ»úÎó¤ò½ñ¤­¹þ¤ß²Äǽ¥Ç¡¼¥¿¥»¥¯¥·¥ç¥ó¤Ë³ÊǼ¤¹¤ë"
+-
+-#: config/cris/cris.opt:107
+-msgid "Do not tune code and read-only data alignment"
+-msgstr ""
+-
+-#: config/cris/cris.opt:116
+-msgid "Align code and data to 32 bits"
+-msgstr ""
+-
+-#: config/cris/cris.opt:133
+-msgid "Don't align items in code or data"
+-msgstr ""
+-
+-#: config/cris/cris.opt:142
+-#, fuzzy
+-msgid "Do not emit function prologue or epilogue"
+-msgstr "´Ø¿ô¤ÎÁ°ÃÖ¤­/·ë¤Ó¤Î¤¿¤á¤Î¥µ¥Ö¥ë¡¼¥Á¥ó¤òÍøÍѤ¹¤ë"
+-
+-#: config/cris/cris.opt:149
+-msgid "Use the most feature-enabling options allowed by other options"
+-msgstr ""
+-
+-#: config/cris/cris.opt:158
+-msgid "Override -mbest-lib-options"
+-msgstr ""
+-
+-#: config/cris/cris.opt:165
+-#, fuzzy
+-msgid "Generate code for the specified chip or CPU version"
+-msgstr "½êÍ¿¤Î CPU ÍѤΥ³¡¼¥É¤òÀ¸À®¤¹¤ë"
+-
+-#: config/cris/cris.opt:169
+-#, fuzzy
+-msgid "Tune alignment for the specified chip or CPU version"
+-msgstr "`%s' ¤ËÂФ·¤Æ¤Î¥¢¥é¥¤¥ó¥á¥ó¥È¤Ï»ØÄê¤Ç¤­¤Þ¤»¤ó"
+-
+-#: config/cris/cris.opt:173
+-msgid "Warn when a stackframe is larger than the specified size"
+-msgstr ""
+-
+-#: config/cris/aout.opt:27
+-msgid "Compile for the MMU-less Etrax 100-based elinux system"
+-msgstr ""
+-
+-#: config/cris/aout.opt:33
+-msgid "For elinux, request a specified stack-size for this program"
+-msgstr ""
+-
+-#: config/h8300/h8300.opt:23
+-#, fuzzy
+-msgid "Generate H8S code"
+-msgstr "H8/S ¥³¡¼¥É¤òÀ¸À®¤¹¤ë"
+-
+-#: config/h8300/h8300.opt:27
+-#, fuzzy
+-msgid "Generate H8SX code"
+-msgstr "H8/S ¥³¡¼¥É¤òÀ¸À®¤¹¤ë"
+-
+-#: config/h8300/h8300.opt:31
+-#, fuzzy
+-msgid "Generate H8S/2600 code"
+-msgstr "H8/S2600 ¥³¡¼¥É¤òÀ¸À®¤¹¤ë"
+-
+-#: config/h8300/h8300.opt:35
+-msgid "Make integers 32 bits wide"
+-msgstr "À°¿ô¤ò 32 ¥Ó¥Ã¥ÈÉý¤È¤¹¤ë"
+-
+-#: config/h8300/h8300.opt:42
+-msgid "Use registers for argument passing"
+-msgstr "°ú¿ô¤ò¥ì¥¸¥¹¥¿ÅϤ·¤Ë¤¹¤ë"
+-
+-#: config/h8300/h8300.opt:46
+-msgid "Consider access to byte sized memory slow"
+-msgstr "¥Ð¥¤¥È¥µ¥¤¥ºÃ±°Ì¤Î¥á¥â¥ê¥¢¥¯¥»¥¹¤¬ÃÙ¤¤¤³¤È¤ò¹Íθ¤¹¤ë"
+-
+-#: config/h8300/h8300.opt:50
+-msgid "Enable linker relaxing"
+-msgstr "¥ê¥ó¥«¤Î -relax ¥ª¥×¥·¥ç¥ó¤òÍ­¸ú¤Ë¤¹¤ë"
+-
+-#: config/h8300/h8300.opt:54
+-msgid "Generate H8/300H code"
+-msgstr "H8/300H ¥³¡¼¥É¤òÀ¸À®¤¹¤ë"
+-
+-#: config/h8300/h8300.opt:58
+-msgid "Enable the normal mode"
+-msgstr ""
+-
+-#: config/h8300/h8300.opt:62
+-msgid "Use H8/300 alignment rules"
+-msgstr "H8/300 ¥¢¥é¥¤¥ó¥á¥ó¥Èµ¬Â§¤ò»ÈÍѤ¹¤ë"
+-
+-#: config/v850/v850.opt:23
+-#, fuzzy
+-msgid "Use registers r2 and r5"
+-msgstr "ÉâÆ°¾®¿ôÅÀ¥ì¥¸¥¹¥¿¤òÍøÍѤ¹¤ë"
+-
+-#: config/v850/v850.opt:27
+-msgid "Use 4 byte entries in switch tables"
+-msgstr "switch ¥Æ¡¼¥Ö¥ë¤Ç 4 ¥Ð¥¤¥È¥¨¥ó¥È¥ê¤ò»ÈÍѤ¹¤ë"
+-
+-#: config/v850/v850.opt:31
+-msgid "Enable backend debugging"
+-msgstr "¥Ð¥Ã¥¯¥¨¥ó¥É¥Ç¥Ð¥Ã¥°¤òÍ­¸ú¤Ë¤¹¤ë"
+-
+-#: config/v850/v850.opt:35
+-#, fuzzy
+-msgid "Do not use the callt instruction"
+-msgstr "ʬ³äÌ¿Îá¤ò»ÈÍѤ·¤Ê¤¤"
+-
+-#: config/v850/v850.opt:39
+-msgid "Reuse r30 on a per function basis"
+-msgstr "´Ø¿ô¤Î¼çÍ×ÉôʬËè¤Ë r30 ¤òºÆÍøÍѤ¹¤ë"
+-
+-#: config/v850/v850.opt:43
+-msgid "Support Green Hills ABI"
+-msgstr "Green Hill ¤Î ABI ¤ò¥µ¥Ý¡¼¥È¤¹¤ë"
+-
+-#: config/v850/v850.opt:47
+-msgid "Prohibit PC relative function calls"
+-msgstr "PC ´ØÏ¢¤Î´Ø¿ô¸Æ¤Ó½Ð¤·¤ò¶Ø¤¸¤ë"
+-
+-#: config/v850/v850.opt:51
+-msgid "Use stubs for function prologues"
+-msgstr "´Ø¿ô³«»ÏÉôʬÍѤΥ¹¥¿¥Ö¤ò»ÈÍѤ¹¤ë"
+-
+-#: config/v850/v850.opt:55
+-msgid "Set the max size of data eligible for the SDA area"
+-msgstr "SDA Îΰè¤Ë¤È¤Ã¤Æ˾¤Þ¤·¤¤ºÇÂç¥Ç¡¼¥¿¥µ¥¤¥º¤òÀßÄꤹ¤ë"
+-
+-#: config/v850/v850.opt:59
+-#, fuzzy
+-msgid "Enable the use of the short load instructions"
+-msgstr "DB Ì¿Îá¤Î»ÈÍѤòÍ­¸ú¤Ë¤¹¤ë"
+-
+-#: config/v850/v850.opt:63
+-msgid "Same as: -mep -mprolog-function"
+-msgstr "-mep -mprolog-function ¤ÈƱÍÍ"
+-
+-#: config/v850/v850.opt:67
+-msgid "Set the max size of data eligible for the TDA area"
+-msgstr "TDA Îΰè¤Ë¤È¤Ã¤Æ˾¤Þ¤·¤¤ºÇÂç¥Ç¡¼¥¿¥µ¥¤¥º¤òÀßÄꤹ¤ë"
+-
+-#: config/v850/v850.opt:71
+-msgid "Enforce strict alignment"
+-msgstr ""
+-
+-#: config/v850/v850.opt:78
+-msgid "Compile for the v850 processor"
+-msgstr "v850 ¥×¥í¥»¥Ã¥µÍѤ˥³¥ó¥Ñ¥¤¥ë¤¹¤ë"
+-
+-#: config/v850/v850.opt:82
+-#, fuzzy
+-msgid "Compile for the v850e processor"
+-msgstr "v850 ¥×¥í¥»¥Ã¥µÍѤ˥³¥ó¥Ñ¥¤¥ë¤¹¤ë"
+-
+-#: config/v850/v850.opt:86
+-#, fuzzy
+-msgid "Compile for the v850e1 processor"
+-msgstr "v850 ¥×¥í¥»¥Ã¥µÍѤ˥³¥ó¥Ñ¥¤¥ë¤¹¤ë"
+-
+-#: config/v850/v850.opt:90
+-msgid "Set the max size of data eligible for the ZDA area"
+-msgstr "ZDA Îΰè¤Ë¤È¤Ã¤Æ˾¤Þ¤·¤¤ºÇÂç¥Ç¡¼¥¿¥µ¥¤¥º¤òÀßÄꤹ¤ë"
+-
+-#: config/mmix/mmix.opt:24
+-msgid "For intrinsics library: pass all parameters in registers"
+-msgstr ""
+-
+-#: config/mmix/mmix.opt:28
+-#, fuzzy
+-msgid "Use register stack for parameters and return value"
+-msgstr "°ú¿ô¤ò¥ì¥¸¥¹¥¿ÅϤ·¤Ë¤¹¤ë"
+-
+-#: config/mmix/mmix.opt:32
+-#, fuzzy
+-msgid "Use call-clobbered registers for parameters and return value"
+-msgstr "¸Æ¤Ó½Ð¤·¤ÇÇ˲õ¤µ¤ì¤ë¥ì¥¸¥¹¥¿¤¬¥°¥í¡¼¥Ð¥ë¥ì¥¸¥¹¥¿ÊÑ¿ô¤È¤·¤Æ»È¤ï¤ì¤Þ¤·¤¿"
+-
+-#: config/mmix/mmix.opt:37
+-#, fuzzy
+-msgid "Use epsilon-respecting floating point compare instructions"
+-msgstr "¥Ï¡¼¥É¥¦¥§¥¢ÉâÆ°¾®¿ôÅÀÌ¿Îá¤ò»ÈÍѤ¹¤ë"
+-
+-#: config/mmix/mmix.opt:41
+-msgid "Use zero-extending memory loads, not sign-extending ones"
+-msgstr ""
+-
+-#: config/mmix/mmix.opt:45
+-msgid "Generate divide results with reminder having the same sign as the divisor (not the dividend)"
+-msgstr ""
+-
+-#: config/mmix/mmix.opt:49
+-msgid "Prepend global symbols with \":\" (for use with PREFIX)"
+-msgstr ""
+-
+-#: config/mmix/mmix.opt:53
+-msgid "Do not provide a default start-address 0x100 of the program"
+-msgstr ""
+-
+-#: config/mmix/mmix.opt:57
+-msgid "Link to emit program in ELF format (rather than mmo)"
+-msgstr ""
+-
+-#: config/mmix/mmix.opt:61
+-msgid "Use P-mnemonics for branches statically predicted as taken"
+-msgstr ""
+-
+-#: config/mmix/mmix.opt:65
+-msgid "Don't use P-mnemonics for branches"
+-msgstr ""
+-
+-#: config/mmix/mmix.opt:79
+-#, fuzzy
+-msgid "Use addresses that allocate global registers"
+-msgstr "¥«¡¼¥Í¥ë¥°¥í¡¼¥Ð¥ë¥ì¥¸¥¹¥¿¤òÍøÍÑ"
+-
+-#: config/mmix/mmix.opt:83
+-#, fuzzy
+-msgid "Do not use addresses that allocate global registers"
+-msgstr "BK ¥ì¥¸¥¹¥¿¤ò³ÎÊݤ·¤Ê¤¤"
+-
+-#: config/mmix/mmix.opt:87
+-#, fuzzy
+-msgid "Generate a single exit point for each function"
+-msgstr "noreturn ´Ø¿ô¤¬ return ¤¹¤ë¤È¤­ abort ¤Î¸Æ¤Ó½Ð¤·¤òÀ¸À®¤¹¤ë"
+-
+-#: config/mmix/mmix.opt:91
+-#, fuzzy
+-msgid "Do not generate a single exit point for each function"
+-msgstr "multm Ì¿Îá¤òÀ¸À®¤·¤Ê¤¤"
+-
+-#: config/mmix/mmix.opt:95
+-#, fuzzy
+-msgid "Set start-address of the program"
+-msgstr "°ì»þ¥ª¥Ö¥¸¥§¥¯¥È¤Î¥¢¥É¥ì¥¹¤ò¼è¤í¤¦¤È¤·¤Æ¤¤¤Þ¤¹"
+-
+-#: config/mmix/mmix.opt:99
+-msgid "Set start-address of data"
+-msgstr ""
+-
+-#: config/iq2000/iq2000.opt:23 config/mt/mt.opt:55
+-#, fuzzy
+-msgid "Specify CPU for code generation purposes"
+-msgstr "Ì¿Î᥹¥±¥¸¥å¡¼¥ê¥ó¥°¤Î¤¿¤á¤Ë CPU ¤ò»ØÄꤹ¤ë"
+-
+-#: config/iq2000/iq2000.opt:27
+-msgid "Specify CPU for scheduling purposes"
+-msgstr "Ì¿Î᥹¥±¥¸¥å¡¼¥ê¥ó¥°¤Î¤¿¤á¤Ë CPU ¤ò»ØÄꤹ¤ë"
+-
+-#: config/iq2000/iq2000.opt:35
+-msgid "Use GP relative sdata/sbss sections"
+-msgstr "GP ´ØÏ¢ sdata/sbss ¥»¥¯¥·¥ç¥ó¤ò»ÈÍѤ¹¤ë"
+-
+-#: config/iq2000/iq2000.opt:40
+-msgid "No default crt0.o"
+-msgstr "crt0.o ¤ò¥Ç¥Õ¥©¥ë¥È¤È¤·¤Ê¤¤"
+-
+ #: config/bfin/bfin.opt:31
+ #, fuzzy
+ msgid "Omit frame pointer for leaf functions"
+@@ -14965,2259 +14902,2279 @@
+ msgid "Do stack checking using bounds in L1 scratch memory"
+ msgstr ""
+
+-#: config/mt/mt.opt:23
+-msgid "Use byte loads and stores when generating code."
++#: treelang/lang.opt:30
++msgid "Trace lexical analysis"
+ msgstr ""
+
+-#: config/mt/mt.opt:31
+-msgid "Do not include crt0.o in the startup files"
+-msgstr ""
+-
+-#: config/mt/mt.opt:35 config/mt/mt.opt:39 config/mt/mt.opt:43
+-#: config/mt/mt.opt:47 config/mt/mt.opt:51
++#: treelang/lang.opt:34
+ #, fuzzy
+-msgid "Internal debug switch"
+-msgstr "ÉÔÌÀ¤Ê -mdebug-%s ¥¹¥¤¥Ã¥Á¤Ç¤¹"
++msgid "Trace the parsing process"
++msgstr "AM33 ¥×¥í¥»¥Ã¥µ¤ò¥¿¡¼¥²¥Ã¥È¤È¤¹¤ë"
+
+-#: config/vxworks.opt:24
+-#, fuzzy
+-msgid "Assume the VxWorks RTP environment"
+-msgstr "Ä̾ï¤Î C ¼Â¹Ô´Ä¶­¤òÁ°Äó¤È¤¹¤ë"
+-
+-#: config/vxworks.opt:31
+-#, fuzzy
+-msgid "Assume the VxWorks vThreads environment"
+-msgstr "Ä̾ï¤Î C ¼Â¹Ô´Ä¶­¤òÁ°Äó¤È¤¹¤ë"
+-
+-#: config/darwin.opt:23
+-#, fuzzy
+-msgid "Generate code suitable for fast turn around debugging"
+-msgstr "unix ¥¢¥»¥ó¥Ö¥é¤¬½èÍý¤Ç¤­¤ë¥³¡¼¥É¤òÀ¸À®¤¹¤ë"
+-
+-#: config/darwin.opt:31
+-msgid "The earliest MacOS X version on which this program will run"
++#: java/lang.opt:65
++msgid "Warn if a deprecated compiler feature, class, method, or field is used"
+ msgstr ""
+
+-#: config/darwin.opt:35
+-msgid "Set sizeof(bool) to 1"
+-msgstr ""
++#: java/lang.opt:69
++msgid "Warn if deprecated empty statements are found"
++msgstr "¿ä¾©¤µ¤ì¤Ê¤¤¶õʸ¤¬¸«¤Ä¤«¤ì¤Ð·Ù¹ð¤¹¤ë"
+
+-#: config/darwin.opt:39
+-#, fuzzy
+-msgid "Generate code for darwin loadable kernel extensions"
+-msgstr "¥ê¥È¥ë¥¨¥ó¥Ç¥£¥¢¥óÍѤΥ³¡¼¥É¤òÀ¸À®¤¹¤ë"
++#: java/lang.opt:73
++msgid "Warn if .class files are out of date"
++msgstr ".class ¥Õ¥¡¥¤¥ë¤¬¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤è¤ê¸Å¤±¤ì¤Ð·Ù¹ð¤¹¤ë"
+
+-#: config/darwin.opt:43
+-#, fuzzy
+-msgid "Generate code for the kernel or loadable kernel extensions"
+-msgstr "¥Ð¥¤¥È/¥ï¡¼¥É ISA ³ÈÄ¥ÍѤΥ³¡¼¥É¤òȯ¹Ô¤¹¤ë"
++#: java/lang.opt:77
++msgid "Warn if modifiers are specified when not necessary"
++msgstr "»ØÄꤵ¤ì¤¿½¤¾þ»Ò¤¬ÉÔÍפʤâ¤Î¤Ç¤¢¤ì¤Ð·Ù¹ð¤¹¤ë"
+
+-#: config/darwin.opt:47
+-msgid "Add <dir> to the end of the system framework include path"
++#: java/lang.opt:81
++msgid "Deprecated; use --classpath instead"
+ msgstr ""
+
+-#: config/lynx.opt:23
+-msgid "Support legacy multi-threading"
++#: java/lang.opt:88
++msgid "Permit the use of the assert keyword"
+ msgstr ""
+
+-#: config/lynx.opt:27
++#: java/lang.opt:110
+ #, fuzzy
+-msgid "Use shared libraries"
+-msgstr "¥Ï¡¼¥É¥¦¥§¥¢ÉâÆ°¾®¿ôÅÀ¤òÍøÍÑ"
++msgid "Replace system path"
++msgstr "¥¯¥é¥¹¥Ñ¥¹¤òÀßÄꤹ¤ë"
+
+-#: config/lynx.opt:31
+-msgid "Support multi-threading"
+-msgstr ""
+-
+-#: config/score/score.opt:31
++#: java/lang.opt:114
+ #, fuzzy
+-msgid "Disable bcnz instruction"
+-msgstr "DB Ì¿Îá¤Î»ÈÍѤò̵¸ú¤Ë¤¹¤ë"
++msgid "Generate checks for references to NULL"
++msgstr "DLL ÍѤΥ³¡¼¥É¤òÀ¸À®¤¹¤ë"
+
+-#: config/score/score.opt:35
+-#, fuzzy
+-msgid "Enable unaligned load/store instruction"
+-msgstr "DB Ì¿Îá¤Î»ÈÍѤòÍ­¸ú¤Ë¤¹¤ë"
++#: java/lang.opt:118
++msgid "Set class path"
++msgstr "¥¯¥é¥¹¥Ñ¥¹¤òÀßÄꤹ¤ë"
+
+-#: config/score/score.opt:39
+-msgid "Support SCORE 5 ISA"
++#: java/lang.opt:125
++msgid "Output a class file"
+ msgstr ""
+
+-#: config/score/score.opt:43
+-msgid "Support SCORE 5U ISA"
++#: java/lang.opt:129
++msgid "Alias for -femit-class-file"
+ msgstr ""
+
+-#: config/score/score.opt:47
+-msgid "Support SCORE 7 ISA"
+-msgstr ""
+-
+-#: config/score/score.opt:51
+-msgid "Support SCORE 7D ISA"
+-msgstr ""
+-
+-#: config/score/score.opt:55
+-msgid "Support SCORE 3 ISA"
+-msgstr ""
+-
+-#: config/score/score.opt:59
+-msgid "Support SCORE 3d ISA"
+-msgstr ""
+-
+-#: config/linux.opt:24
++#: java/lang.opt:133
+ #, fuzzy
+-msgid "Use uClibc instead of GNU libc"
+-msgstr "RAM ¤ÎÂå¤ï¤ê¤Ë ROM ¤òÍøÍѤ¹¤ë"
++msgid "Choose input encoding (defaults from your locale)"
++msgstr "ÆþÎÏ¥¨¥ó¥³¡¼¥Ç¥£¥ó¥°¤òÁªÂò¤¹¤ë(¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï UTF-8)"
+
+-#: config/linux.opt:28
+-#, fuzzy
+-msgid "Use GNU libc instead of uClibc"
+-msgstr "RAM ¤ÎÂå¤ï¤ê¤Ë ROM ¤òÍøÍѤ¹¤ë"
+-
+-#: c.opt:41
+-msgid "Assert the <answer> to <question>. Putting '-' before <question> disables the <answer> to <question>"
++#: java/lang.opt:137
++msgid "Set the extension directory path"
+ msgstr ""
+
+-#: c.opt:45
++#: java/lang.opt:144
+ #, fuzzy
+-msgid "Do not discard comments"
+-msgstr "½ªÃ¼¤µ¤ì¤Æ¤¤¤Ê¤¤¥³¥á¥ó¥È"
++msgid "Input file is a file with a list of filenames to compile"
++msgstr "ÆþÎÏ¥Õ¥¡¥¤¥ë¤ò¥³¥ó¥Ñ¥¤¥ë¤¹¤ë¥Õ¥¡¥¤¥ë̾¤Î¥ê¥¹¥È¤È¤¹¤ë"
+
+-#: c.opt:49
+-#, fuzzy
+-msgid "Do not discard comments in macro expansions"
+-msgstr "¥Ó¥Ã¥È±é»»¤Ç¤Î¨ÃÍ¥µ¥¤¥º¤òÄ´Ä䤷¤Ê¤¤"
++#: java/lang.opt:151
++msgid "Always check for non gcj generated classes archives"
++msgstr "gcj ¤¬À¸À®¤·¤Æ¤¤¤Ê¤¤¥¯¥é¥¹¥¢¡¼¥«¥¤¥Ö¤ò¾ï¤Ë¸¡ºº¤¹¤ë"
+
+-#: c.opt:53
+-msgid "Define a <macro> with <val> as its value. If just <macro> is given, <val> is taken to be 1"
++#: java/lang.opt:155
++msgid "Assume the runtime uses a hash table to map an object to its synchronization structure"
+ msgstr ""
+
+-#: c.opt:60
+-msgid "Add <dir> to the end of the main framework include path"
++#: java/lang.opt:159
++msgid "Generate instances of Class at runtime"
+ msgstr ""
+
+-#: c.opt:64
+-#, fuzzy
+-msgid "Print the name of header files as they are used"
+-msgstr "¥³¥ó¥Ñ¥¤¥ë¤µ¤ì¤¿¥×¥í¥°¥é¥àñ°Ì¤Î̾Á°¤òɽ¼¨¤¹¤ë"
+-
+-#: c.opt:68 c.opt:859
+-msgid "Add <dir> to the end of the main include path"
++#: java/lang.opt:163
++msgid "Use offset tables for virtual method calls"
+ msgstr ""
+
+-#: c.opt:72
+-#, fuzzy
+-msgid "Generate make dependencies"
+-msgstr "ưŪ°Í¸´Ø·¸¡£\n"
++#: java/lang.opt:170
++msgid "Assume native functions are implemented using JNI"
++msgstr "native ´Ø¿ô¤¬ JNI ¤òÍøÍѤ·¤Æ¼ÂÁõ¤·¤Æ¤¤¤ë¤â¤Î¤È¤ß¤Ê¤¹"
+
+-#: c.opt:76
++#: java/lang.opt:174
+ #, fuzzy
+-msgid "Generate make dependencies and compile"
+-msgstr "¥ê¥È¥ë¥¨¥ó¥Ç¥£¥¢¥ó¤Î¥³¡¼¥É¤òÀ¸À®"
++msgid "Enable optimization of static class initialization code"
++msgstr "(¥¯¥é¥¹³°¤Ç¤Î½é´ü²½¤òɬÍפȤ·¤Þ¤¹)"
+
+-#: c.opt:80
+-msgid "Write dependency output to the given file"
++#: java/lang.opt:181
++msgid "Reduce the amount of reflection meta-data generated"
+ msgstr ""
+
+-#: c.opt:84
+-msgid "Treat missing header files as generated files"
++#: java/lang.opt:185
++msgid "Enable assignability checks for stores into object arrays"
+ msgstr ""
+
+-#: c.opt:88
+-msgid "Like -M but ignore system header files"
+-msgstr ""
+-
+-#: c.opt:92
+-msgid "Like -MD but ignore system header files"
+-msgstr ""
+-
+-#: c.opt:96
++#: java/lang.opt:189
+ #, fuzzy
+-msgid "Generate phony targets for all headers"
+-msgstr "Intel as ÍѤΥ³¡¼¥É¤òÀ¸À®¤¹¤ë"
++msgid "Generate code for the Boehm GC"
++msgstr "Boehm GC ÍѤΥ³¡¼¥É¤òÀ¸À®¤¹¤ë"
+
+-#: c.opt:100
+-msgid "Add a MAKE-quoted target"
++#: java/lang.opt:193
++msgid "Call a library routine to do integer divisions"
+ msgstr ""
+
+-#: c.opt:104
+-msgid "Add an unquoted target"
++#: java/lang.opt:197
++msgid "Generated should be loaded by bootstrap loader"
+ msgstr ""
+
+-#: c.opt:108
+-#, fuzzy
+-msgid "Do not generate #line directives"
+-msgstr ".size µ¿»÷Ì¿Îá¤òÀ¸À®¤·¤Ê¤¤"
+-
+-#: c.opt:112
+-msgid "Undefine <macro>"
++#: java/lang.opt:201
++msgid "Set the source language version"
+ msgstr ""
+
+-#: c.opt:116
+-msgid "Warn about things that will change when compiling with an ABI-compliant compiler"
+-msgstr ""
+-
+-#: c.opt:120
++#: java/lang.opt:205
+ #, fuzzy
+-msgid "Warn about suspicious uses of memory addresses"
+-msgstr "µ¿¤ï¤·¤¤ main ¤ÎÀë¸À¤Ë´Ø¤·¤Æ·Ù¹ð¤¹¤ë"
++msgid "Set the target VM version"
++msgstr "ÉÔÀµ¤Ê¥Ø¥Ã¥À¥Ð¡¼¥¸¥ç¥ó"
+
+-#: c.opt:124
+-msgid "Enable most warning messages"
+-msgstr "Ëؤó¤É¤Î·Ù¹ð¥á¥Ã¥»¡¼¥¸¤òÍ­¸ú¤Ë¤¹¤ë"
+-
+-#: c.opt:128
++#: common.opt:28
+ #, fuzzy
+-msgid "Warn if a comparison is always true or always false due to the limited range of the data type"
+-msgstr "¥Ç¡¼¥¿·¿¤ÎÈÏ°ÏÀ©¸Â¤Ë¤è¤Ã¤Æ¡¢Èæ³Ó¤¬¾ï¤Ë false ¤È¤Ê¤ê¤Þ¤¹"
+-
+-#: c.opt:132
+-msgid "Warn whenever an Objective-C assignment is being intercepted by the garbage collector"
+-msgstr ""
+-
+-#: c.opt:136
+-msgid "Warn about casting functions to incompatible types"
+-msgstr "·¿¤Ë¸ß´¹À­¤Î¤Ê¤¤´Ø¿ô¤Î¥­¥ã¥¹¥È¤Ë´Ø¤·¤Æ·Ù¹ð¤¹¤ë"
+-
+-#: c.opt:140
+-msgid "Warn about C constructs that are not in the common subset of C and C++"
+-msgstr ""
+-
+-#: c.opt:144
+-#, fuzzy
+-msgid "Warn about C++ constructs whose meaning differs between ISO C++ 1998 and ISO C++ 200x"
+-msgstr "ISO C ¤Ç¤½¤Î°ÕÌ£¤¬Êѹ¹¤µ¤ì¤¿ÆâÍƤ˴ؤ·¤Æ·Ù¹ð¤¹¤ë"
+-
+-#: c.opt:148
+-msgid "Warn about casts which discard qualifiers"
+-msgstr "½¤¾þ»Ò¤ò¼è¤êµî¤ë¥­¥ã¥¹¥È¤Ë¤Ä¤¤¤Æ·Ù¹ð¤¹¤ë"
+-
+-#: c.opt:152
+-#, fuzzy
+-msgid "Warn about subscripts whose type is \"char\""
+-msgstr "ź»ú¤Î·¿¤¬ 'char' ¤Ç¤¢¤ì¤Ð·Ù¹ð¤¹¤ë"
+-
+-#: c.opt:156
+-#, fuzzy
+-msgid "Warn about variables that might be changed by \"longjmp\" or \"vfork\""
+-msgstr "ÊÑ¿ô `%s' ¤Ï `longjmp' ¤ä `vfork' ¤Ë¤è¤Ã¤Æ¹ó¤¤¤³¤È¤Ë¤Ê¤ë²ÄǽÀ­¤¬¤¢¤ê¤Þ¤¹"
+-
+-#: c.opt:160
+-msgid "Warn about possibly nested block comments, and C++ comments spanning more than one physical line"
+-msgstr ""
+-
+-#: c.opt:164
+-msgid "Synonym for -Wcomment"
+-msgstr ""
+-
+-#: c.opt:168
+-msgid "Warn for implicit type conversions that may change a value"
+-msgstr ""
+-
+-#: c.opt:172
+-#, fuzzy
+-msgid "Warn for implicit type conversions between signed and unsigned integers"
+-msgstr "Éä¹çÉÕ¤­¤ÈÉä¹ç̵¤·¤ÎÀ°¿ô¼°Æ±»Î¤ÎÈæ³Ó¤Ç¤¹"
+-
+-#: c.opt:176
+-#, fuzzy
+-msgid "Warn when all constructors and destructors are private"
+-msgstr "Á´¤Æ¤Î¥³¥ó¥¹¥È¥é¥¯¥¿/¥Ç¥¹¥È¥é¥¯¥¿¤¬ private ¤Ç¤â·Ù¹ð¤·¤Ê¤¤"
+-
+-#: c.opt:180
+-#, fuzzy
+-msgid "Warn when a declaration is found after a statement"
+-msgstr "Àë¸À¤¬·¿¤ò»ØÄꤷ¤Æ¤¤¤Ê¤¤¾ì¹ç¤Ë·Ù¹ð¤¹¤ë"
+-
+-#: c.opt:184
+-#, fuzzy
+-msgid "Warn about deprecated compiler features"
+-msgstr "¿ä¾©¤µ¤ì¤Ê¤¤¥³¥ó¥Ñ¥¤¥é¤Îµ¡Ç½¤ò¹ðÃΤ·¤Ê¤¤"
+-
+-#: c.opt:188
+-#, fuzzy
+-msgid "Warn about compile-time integer division by zero"
+-msgstr "À°¿ô¤Î¥¼¥í½ü»»¤ò¥È¥é¥Ã¥×¤¹¤ë"
+-
+-#: c.opt:192
+-msgid "Warn about violations of Effective C++ style rules"
+-msgstr "Effective C++ ¼°¤Î»Ø¿Ë¤«¤é¤Ï¤º¤ì¤ë¤â¤Î¤Ë¤Ä¤¤¤Æ·Ù¹ð¤¹¤ë"
+-
+-#: c.opt:196
+-#, fuzzy
+-msgid "Warn about an empty body in an if or else statement"
+-msgstr "else ʸ¤ÎÃæ¿È¤¬¶õ¤Ç¤¹"
+-
+-#: c.opt:200
+-msgid "Warn about stray tokens after #elif and #endif"
+-msgstr ""
+-
+-#: c.opt:208
+-msgid "This switch is deprecated; use -Werror=implicit-function-declaration instead"
+-msgstr ""
+-
+-#: c.opt:212
+-#, fuzzy
+-msgid "Warn if testing floating point numbers for equality"
+-msgstr "ÉâÆ°¾®¿ôÅÀ¿ô¤ÎÅù²Á¥Æ¥¹¥È¤Ë´Ø¤·¤Æ·Ù¹ð¤¹¤ë"
+-
+-#: c.opt:216
+-#, fuzzy
+-msgid "Warn about printf/scanf/strftime/strfmon format string anomalies"
+-msgstr "printf/scanf/strftime/strfmon ·Á¼°¤ÎÊѧŪ¤Ê¤â¤Î¤Ë´Ø¤·¤Æ·Ù¹ð¤¹¤ë"
+-
+-#: c.opt:220
+-#, fuzzy
+-msgid "Warn if passing too many arguments to a function for its format string"
+-msgstr "`va_start' ¤ËÂФ¹¤ë°ú¿ô¤¬Â¿¤¹¤®¤Þ¤¹"
+-
+-#: c.opt:224
+-#, fuzzy
+-msgid "Warn about format strings that are not literals"
+-msgstr "Ê£¿ôʸ»ú¥ê¥Æ¥é¥ë¤Î»ÈÍѤ˴ؤ·¤Æ·Ù¹ð¤¹¤ë"
+-
+-#: c.opt:228
+-msgid "Warn about format strings that contain NUL bytes"
+-msgstr ""
+-
+-#: c.opt:232
+-msgid "Warn about possible security problems with format functions"
+-msgstr "¥»¥­¥å¥ê¥Æ¥£Åª¤ÊÌäÂê¤È¤Ê¤ê¤¦¤ë format ´Ø¿ô¤Ë´Ø¤·¤Æ·Ù¹ð¤¹¤ë"
+-
+-#: c.opt:236
+-#, fuzzy
+-msgid "Warn about strftime formats yielding 2-digit years"
+-msgstr "strftime ·Á¼°¤¬Æó·å¤Çǯ¤òɽ¤·¤Æ¤¤¤ë»þ¤Î·Ù¹ð¤·¤Ê¤¤"
+-
+-#: c.opt:240
+-#, fuzzy
+-msgid "Warn about zero-length formats"
+-msgstr "Ťµ 0 ¤Î¥Õ¥©¡¼¥Þ¥Ã¥Èʸ»úÎó"
+-
+-#: c.opt:247
+-msgid "Warn about variables which are initialized to themselves"
+-msgstr ""
+-
+-#: c.opt:254
+-msgid "Warn about implicit function declarations"
+-msgstr "°ÅÌۤδؿôÀë¸À¤Ë´Ø¤·¤Æ·Ù¹ð¤¹¤ë"
+-
+-#: c.opt:258
+-msgid "Warn when a declaration does not specify a type"
+-msgstr "Àë¸À¤¬·¿¤ò»ØÄꤷ¤Æ¤¤¤Ê¤¤¾ì¹ç¤Ë·Ù¹ð¤¹¤ë"
+-
+-#: c.opt:262
+-msgid "Deprecated. This switch has no effect"
+-msgstr ""
+-
+-#: c.opt:266
+-#, fuzzy
+-msgid "Warn when there is a cast to a pointer from an integer of a different size"
+-msgstr "°Û¤Ê¤ë¥µ¥¤¥º¤ÎÀ°¿ô¤«¤é¥Ý¥¤¥ó¥¿¤Ë¥­¥ã¥¹¥È¤µ¤ì¤Þ¤·¤¿"
+-
+-#: c.opt:270
+-#, fuzzy
+-msgid "Warn about invalid uses of the \"offsetof\" macro"
+-msgstr "#import ¥Ç¥£¥ì¥¯¥Æ¥£¥Ö¤ÎÍøÍѤ˴ؤ·¤Æ·Ù¹ð¤¹¤ë"
+-
+-#: c.opt:274
+-msgid "Warn about PCH files that are found but not used"
+-msgstr ""
+-
+-#: c.opt:278
+-#, fuzzy
+-msgid "Do not warn about using \"long long\" when -pedantic"
+-msgstr "-pedantic »ØÄê»þ¤Ç¤â 'long long' ¤Î»ÈÍѤˤĤ¤¤Æ¤Ï·Ù¹ð¤·¤Ê¤¤"
+-
+-#: c.opt:282
+-#, fuzzy
+-msgid "Warn about suspicious declarations of \"main\""
+-msgstr "µ¿¤ï¤·¤¤ main ¤ÎÀë¸À¤Ë´Ø¤·¤Æ·Ù¹ð¤¹¤ë"
+-
+-#: c.opt:286
+-#, fuzzy
+-msgid "Warn about possibly missing braces around initializers"
+-msgstr "½é´ü²½»Ò¤Î¼þ¤ê¤Ë¥Ö¥ì¡¼¥¹¤ò·ç¤¤¤Æ¤¤¤ëÍͤǤ¢¤ì¤Ð·Ù¹ð¤¹¤ë"
+-
+-#: c.opt:290
+-#, fuzzy
+-msgid "Warn about global functions without previous declarations"
+-msgstr "»öÁ°¤ÎÀë¸À¤Ê¤·¤ÎÂç°è´Ø¿ô¤Ë´Ø¤·¤Æ·Ù¹ð¤¹¤ë"
+-
+-#: c.opt:294
+-#, fuzzy
+-msgid "Warn about missing fields in struct initializers"
+-msgstr "½é´ü²½»Ò¤Î¼þ¤ê¤Ë¥Ö¥ì¡¼¥¹¤ò·ç¤¤¤Æ¤¤¤ëÍͤǤ¢¤ì¤Ð·Ù¹ð¤¹¤ë"
+-
+-#: c.opt:298
+-msgid "Warn about functions which might be candidates for format attributes"
+-msgstr "format °À­¤ò¤Î¸õÊä¤È¤Ê¤ê¤½¤¦¤Ê´Ø¿ô¤Ë¤Ä¤¤¤Æ·Ù¹ð¤¹¤ë"
+-
+-#: c.opt:302
+-msgid "Warn about user-specified include directories that do not exist"
+-msgstr ""
+-
+-#: c.opt:306
+-msgid "Warn about function parameters declared without a type specifier in K&R-style functions"
+-msgstr ""
+-
+-#: c.opt:310
+-#, fuzzy
+-msgid "Warn about global functions without prototypes"
+-msgstr "¥×¥í¥È¥¿¥¤¥×¤Ê¤·¤ÎÂç°è´Ø¿ô¤Ë´Ø¤·¤Æ·Ù¹ð¤¹¤ë"
+-
+-#: c.opt:314
+-#, fuzzy
+-msgid "Warn about use of multi-character character constants"
+-msgstr "Ê£¿ôʸ»ú¥ê¥Æ¥é¥ë¤Î»ÈÍѤ˴ؤ·¤Æ·Ù¹ð¤¹¤ë"
+-
+-#: c.opt:318
+-#, fuzzy
+-msgid "Warn about \"extern\" declarations not at file scope"
+-msgstr "¥Õ¥¡¥¤¥ë¥¹¥³¡¼¥×¥ì¥Ù¥ë¤Ç¤Ê¤¤ extern ¤Ë´Ø¤·¤Æ·Ù¹ð¤¹¤ë"
+-
+-#: c.opt:322
+-#, fuzzy
+-msgid "Warn when non-templatized friend functions are declared within a template"
+-msgstr "template Æâ¤ÇÈó template ¤Î friend ´Ø¿ô¤¬Àë¸À¤µ¤ì¤¿¾ì¹ç¤Ç¤â·Ù¹ð¤·¤Ê¤¤"
+-
+-#: c.opt:326
+-#, fuzzy
+-msgid "Warn about non-virtual destructors"
+-msgstr "Èó²¾Áۥǥ¹¥È¥é¥¯¥¿¤Ë¤Ä¤¤¤Æ·Ù¹ð¤¹¤ë"
+-
+-#: c.opt:330
+-msgid "Warn about NULL being passed to argument slots marked as requiring non-NULL"
+-msgstr ""
+-
+-#: c.opt:334
+-#, fuzzy
+-msgid "Warn about non-normalised Unicode strings"
+-msgstr "Èóʸ»úÎó¥ê¥Æ¥é¥ë¤Î format ʸ»úÎó¤Ë¤Ä¤¤¤Æ·Ù¹ð¤¹¤ë"
+-
+-#: c.opt:338
+-#, fuzzy
+-msgid "Warn if a C-style cast is used in a program"
+-msgstr "C ¼°¤Î¥­¥ã¥¹¥È¤¬¥×¥í¥°¥é¥à¤Ç»È¤ï¤ì¤¿¤é·Ù¹ð¤¹¤ë"
+-
+-#: c.opt:342
+-#, fuzzy
+-msgid "Warn for obsolescent usage in a declaration"
+-msgstr "°ÅÌۤδؿôÀë¸À¤Ë´Ø¤·¤Æ·Ù¹ð¤¹¤ë"
+-
+-#: c.opt:346
+-#, fuzzy
+-msgid "Warn if an old-style parameter definition is used"
+-msgstr "´Ø¿ô¤Î²¾°ú¿ô¤¬»È¤ï¤ì¤Ê¤¤¤È¤­¤Ë·Ù¹ð¤¹¤ë"
+-
+-#: c.opt:350
+-msgid "Warn if a string is longer than the maximum portable length specified by the standard"
+-msgstr ""
+-
+-#: c.opt:354
+-msgid "Warn about overloaded virtual function names"
+-msgstr "¥ª¡¼¥Ð¡¼¥í¡¼¥É¤µ¤ì¤¿²¾ÁÛ´Ø¿ô̾¤Ë¤Ä¤¤¤Æ·Ù¹ð¤¹¤ë"
+-
+-#: c.opt:358
+-msgid "Warn about overriding initializers without side effects"
+-msgstr ""
+-
+-#: c.opt:362
+-#, fuzzy
+-msgid "Warn about possibly missing parentheses"
+-msgstr "³ç¸Ì¤ò·ç¤¤¤Æ¤¤¤ë²ÄǽÀ­¤¬¤¢¤ë¾ì¹ç¤Ë·Ù¹ð¤¹¤ë"
+-
+-#: c.opt:366
+-#, fuzzy
+-msgid "Warn when converting the type of pointers to member functions"
+-msgstr "¥Ý¥¤¥ó¥¿¤«¤é¥á¥ó¥Ð´Ø¿ô¤Ø¤Î·¿ÊÑ´¹¤Î¾ì¹ç¤Ç¤â·Ù¹ð¤·¤Ê¤¤"
+-
+-#: c.opt:370
+-msgid "Warn about function pointer arithmetic"
+-msgstr "´Ø¿ô¥Ý¥¤¥ó¥¿¤Î·×»»¤Ë´Ø¤·¤Æ·Ù¹ð¤¹¤ë"
+-
+-#: c.opt:374
+-#, fuzzy
+-msgid "Warn when a pointer is cast to an integer of a different size"
+-msgstr "¥­¥ã¥¹¥È¤Ë¤è¤Ã¤Æ¥Ý¥¤¥ó¥¿¤«¤é°Û¤Ê¤ë¥µ¥¤¥º¤ÎÀ°¿ô¤È¤Ê¤ê¤Þ¤¹"
+-
+-#: c.opt:378
+-#, fuzzy
+-msgid "Warn about misuses of pragmas"
+-msgstr "ǧ¼±¤Ç¤­¤Ê¤¤ pragma ¤Ë´Ø¤·¤Æ·Ù¹ð¤¹¤ë"
+-
+-#: c.opt:382
+-#, fuzzy
+-msgid "Warn if inherited methods are unimplemented"
+-msgstr "ÇÉÀ¸¥á¥½¥Ã¥É¤¬Ì¤¼ÂÁõ¤Î¾ì¹ç¤Ç¤â·Ù¹ð¤·¤Ê¤¤"
+-
+-#: c.opt:386
+-msgid "Warn about multiple declarations of the same object"
+-msgstr "Ʊ°ì¥ª¥Ö¥¸¥§¥¯¥È¤ÎÀë¸À¤¬Ê£¿ô¤¢¤ì¤Ð·Ù¹ð¤¹¤ë"
+-
+-#: c.opt:390
+-msgid "Warn when the compiler reorders code"
+-msgstr "¥³¥ó¥Ñ¥¤¥é¤¬¥³¡¼¥É¤òʤÙÂؤ¨¤ë¤È¤­¤Ë·Ù¹ð¤¹¤ë"
+-
+-#: c.opt:394
+-msgid "Warn whenever a function's return type defaults to \"int\" (C), or about inconsistent return types (C++)"
+-msgstr ""
+-
+-#: c.opt:398
+-msgid "Warn if a selector has multiple methods"
+-msgstr "¥»¥ì¥¯¥¿¤¬Ê£¿ô¤Î¥á¥½¥Ã¥É¤ò»ý¤Ã¤Æ¤¤¤ì¤Ð·Ù¹ð¤¹¤ë"
+-
+-#: c.opt:402
+-msgid "Warn about possible violations of sequence point rules"
+-msgstr "ÉûºîÍÑ´°Î»ÅÀµ¬Â§¤òÇˤë²ÄǽÀ­¤¬¤¢¤ë¾ì¹ç¤Ë·Ù¹ð¤¹¤ë"
+-
+-#: c.opt:406
+-#, fuzzy
+-msgid "Warn about signed-unsigned comparisons"
+-msgstr "Éä¹çÉÕ¤­/Éä¹ç̵¤·¤ÎÈæ³Ó¤Ë´Ø¤·¤Æ·Ù¹ð¤¹¤ë"
+-
+-#: c.opt:410
+-msgid "Warn when overload promotes from unsigned to signed"
+-msgstr "¥ª¡¼¥Ð¡¼¥í¡¼¥É¤¬Éä¹ç̵¤·¤«¤éÉä¹çÉÕ¤­¤Ë³Ê¾å¤²¤È¤Ê¤ë¾ì¹ç¤Ë·Ù¹ð¤¹¤ë"
+-
+-#: c.opt:414
+-msgid "Warn about uncasted NULL used as sentinel"
+-msgstr ""
+-
+-#: c.opt:418
+-#, fuzzy
+-msgid "Warn about unprototyped function declarations"
+-msgstr "¥×¥í¥È¥¿¥¤¥×¤µ¤ì¤Æ¤¤¤Ê¤¤´Ø¿ôÀë¸À¤Ë´Ø¤·¤Æ·Ù¹ð¤¹¤ë"
+-
+-#: c.opt:422
+-msgid "Warn if type signatures of candidate methods do not match exactly"
+-msgstr ""
+-
+-#: c.opt:426
+-#, fuzzy
+-msgid "Warn when synthesis behavior differs from Cfront"
+-msgstr "¹çÀ®¤Î¿¶¤ëÉñ¤¤¤¬ Cfront ¤È°Û¤Ê¤ë¾ì¹ç¤Ë·Ù¹ð¤¹¤ë"
+-
+-#: c.opt:430 common.opt:182
+-msgid "Do not suppress warnings from system headers"
+-msgstr "¥·¥¹¥Æ¥à¥Ø¥Ã¥À¤«¤é¤Î·Ù¹ð¤òÍÞÀ©¤·¤Ê¤¤"
+-
+-#: c.opt:434
+-#, fuzzy
+-msgid "Warn about features not present in traditional C"
+-msgstr "¸Å¤¤ C ¤Ç¤Ï #elif ¤ò»È¤ï¤Ê¤¤Êý¤¬¤¤¤¤¤Ç¤¹"
+-
+-#: c.opt:438
+-msgid "Warn of prototypes causing type conversions different from what would happen in the absence of prototype"
+-msgstr ""
+-
+-#: c.opt:442
+-msgid "Warn if trigraphs are encountered that might affect the meaning of the program"
+-msgstr ""
+-
+-#: c.opt:446
+-#, fuzzy
+-msgid "Warn about @selector()s without previously declared methods"
+-msgstr "»öÁ°¤ÎÀë¸À¤Ê¤·¤ÎÂç°è´Ø¿ô¤Ë´Ø¤·¤Æ·Ù¹ð¤¹¤ë"
+-
+-#: c.opt:450
+-#, fuzzy
+-msgid "Warn if an undefined macro is used in an #if directive"
+-msgstr "̤ÄêµÁËô¤ÏÉÔÀµ¤Ê # ¥Ç¥£¥ì¥¯¥Æ¥£¥Ö¤Ç¤¹"
+-
+-#: c.opt:454
+-msgid "Warn about unrecognized pragmas"
+-msgstr "ǧ¼±¤Ç¤­¤Ê¤¤ pragma ¤Ë´Ø¤·¤Æ·Ù¹ð¤¹¤ë"
+-
+-#: c.opt:458
+-msgid "Warn about macros defined in the main file that are not used"
+-msgstr ""
+-
+-#: c.opt:462
+-#, fuzzy
+-msgid "Do not warn about using variadic macros when -pedantic"
+-msgstr "-pedantic »ØÄê»þ¤Ç¤â 'long long' ¤Î»ÈÍѤˤĤ¤¤Æ¤Ï·Ù¹ð¤·¤Ê¤¤"
+-
+-#: c.opt:466
+-#, fuzzy
+-msgid "Warn if a variable length array is used"
+-msgstr "ÊÑ¿ô¤¬»È¤ï¤ì¤Ê¤¤¤È¤­¤Ë·Ù¹ð¤¹¤ë"
+-
+-#: c.opt:470
+-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.opt:474
+-#, fuzzy
+-msgid "Warn when a pointer differs in signedness in an assignment"
+-msgstr "¥ª¡¼¥Ð¡¼¥í¡¼¥É¤¬Éä¹ç̵¤·¤«¤éÉä¹çÉÕ¤­¤Ë³Ê¾å¤²¤È¤Ê¤ë¾ì¹ç¤Ë·Ù¹ð¤¹¤ë"
+-
+-#: c.opt:478
+-msgid "A synonym for -std=c89 (for C) or -std=c++98 (for C++)"
+-msgstr ""
+-
+-#: c.opt:486
+-#, fuzzy
+-msgid "Enforce class member access control semantics"
+-msgstr "¥¢¥¯¥»¥¹À©¸æ¤Î°ÕÌ£¤Ë½¾¤ï¤Ê¤¤"
+-
+-#: c.opt:493
+-msgid "Change when template instances are emitted"
+-msgstr "¥Æ¥ó¥×¥ì¡¼¥È¥¤¥ó¥¹¥¿¥ó¥¹¤¬Á÷½Ð¤µ¤ì¤¿»þ¤ËÊѹ¹¤¹¤ë"
+-
+-#: c.opt:497
+-#, fuzzy
+-msgid "Recognize the \"asm\" keyword"
+-msgstr "'asm' ͽÌó¸ì¤òǧ¼±¤µ¤»¤Ê¤¤"
+-
+-#: c.opt:501
+-#, fuzzy
+-msgid "Recognize built-in functions"
+-msgstr "¤¤¤¯¤Ä¤«¤ÎÁȤ߹þ¤ß´Ø¿ô¤òǧ¼±¤µ¤»¤Ê¤¤"
+-
+-#: c.opt:508
+-msgid "Check the return value of new"
+-msgstr "new ¤ÎÌá¤êÃͤò¸¡ºº¤¹¤ë"
+-
+-#: c.opt:512
+-msgid "Allow the arguments of the '?' operator to have different types"
+-msgstr ""
+-
+-#: c.opt:516
+-#, fuzzy
+-msgid "Reduce the size of object files"
+-msgstr "¥ª¥Ö¥¸¥§¥¯¥È¥Õ¥¡¥¤¥ë¤Î¥µ¥¤¥º¤ò¾®¤µ¤¯¤¹¤ë"
+-
+-#: c.opt:520
+-#, fuzzy
+-msgid "Use class <name> for constant strings"
+-msgstr "Äê¿ôʸ»úÎóÍѤΥ¯¥é¥¹Ì¾¤ò»ØÄꤹ¤ë"
+-
+-#: c.opt:524
+-#, fuzzy
+-msgid "Inline member functions by default"
+-msgstr "¥á¥ó¥Ð´Ø¿ô¤ò¥Ç¥Õ¥©¥ë¥È¤Ç¥¤¥ó¥é¥¤¥ó¤È¤·¤Ê¤¤"
+-
+-#: c.opt:528
+-#, fuzzy
+-msgid "Preprocess directives only."
+-msgstr "#ident ¥Ç¥£¥ì¥¯¥Æ¥£¥Ö¤ò½èÍý¤¹¤ë"
+-
+-#: c.opt:532
+-#, fuzzy
+-msgid "Permit '$' as an identifier character"
+-msgstr "¥Õ¥©¡¼¥Þ¥Ã¥È¤¬¥ï¥¤¥Éʸ»úÎó¤Ç¤¹"
+-
+-#: c.opt:539
+-#, fuzzy
+-msgid "Generate code to check exception specifications"
+-msgstr "Îã³°»ÅÍͤθ¡ºº¤ò¤¹¤ë¥³¡¼¥É¤òÀ¸À®¤·¤Ê¤¤"
+-
+-#: c.opt:546
+-msgid "Convert all strings and character constants to character set <cset>"
+-msgstr ""
+-
+-#: c.opt:550
+-#, fuzzy
+-msgid "Permit universal character names (\\u and \\U) in identifiers"
+-msgstr "¥æ¥Ë¥Ð¡¼¥µ¥ëʸ»ú̾ `\\u%04x' ¤Ï¼±Ê̻ҤÎÃæ¤Ç¤ÏÍ­¸ú¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó"
+-
+-#: c.opt:554
+-msgid "Specify the default character set for source files"
+-msgstr ""
+-
+-#: c.opt:562
+-#, fuzzy
+-msgid "Scope of for-init-statement variables is local to the loop"
+-msgstr "for ½é´ü²½Ê¸¤ÎÊÑ¿ô¤ò¥¹¥³¡¼¥×³°¤Ë³ÈÂ礹¤ë"
+-
+-#: c.opt:566
+-#, fuzzy
+-msgid "Do not assume that standard C libraries and \"main\" exist"
+-msgstr "ɸ½à¥é¥¤¥Ö¥é¥ê¤ä main ¤¬Â¸ºß¤·¤Ê¤¤²ÄǽÀ­¤¬¤¢¤ë¤â¤Î¤È¤¹¤ë"
+-
+-#: c.opt:570
+-#, fuzzy
+-msgid "Recognize GNU-defined keywords"
+-msgstr "GNU ÄêµÁ¤ÎͽÌó¸ì¤òǧ¼±¤µ¤»¤Ê¤¤"
+-
+-#: c.opt:574
+-msgid "Generate code for GNU runtime environment"
+-msgstr "GNU ¼Â¹Ô´Ä¶­ÍѤΥ³¡¼¥É¤òÀ¸À®¤¹¤ë"
+-
+-#: c.opt:578
+-#, fuzzy
+-msgid "Use traditional GNU semantics for inline functions"
+-msgstr "¸Å¤¤ C ¤Ï¶¦ÍÑÂΤνé´ü¤òµñÀ䤷¤Þ¤¹"
+-
+-#: c.opt:591
+-msgid "Assume normal C execution environment"
+-msgstr "Ä̾ï¤Î C ¼Â¹Ô´Ä¶­¤òÁ°Äó¤È¤¹¤ë"
+-
+-#: c.opt:595
+-msgid "Enable support for huge objects"
+-msgstr "Â礭¤Ê¥ª¥Ö¥¸¥§¥¯¥È¤Î¥µ¥Ý¡¼¥È"
+-
+-#: c.opt:599
+-msgid "Export functions even if they can be inlined"
+-msgstr "¥¤¥ó¥é¥¤¥ó¤Ë¤Ç¤­¤ë´Ø¿ô¤Ç¤â export ¤¹¤ë"
+-
+-#: c.opt:603
+-#, fuzzy
+-msgid "Emit implicit instantiations of inline templates"
+-msgstr "¥¤¥ó¥é¥¤¥ó¥Æ¥ó¥×¥ì¡¼¥È¤ÎÌÀ¼¨Åª¤Ê¼ÂÂβ½¤Î¤ß¤òÀ¸À®¤¹¤ë"
+-
+-#: c.opt:607
+-#, fuzzy
+-msgid "Emit implicit instantiations of templates"
+-msgstr "¥¤¥ó¥é¥¤¥ó¥Æ¥ó¥×¥ì¡¼¥È¤ÎÌÀ¼¨Åª¤Ê¼ÂÂβ½¤Î¤ß¤òÀ¸À®¤¹¤ë"
+-
+-#: c.opt:611
+-#, fuzzy
+-msgid "Inject friend functions into enclosing namespace"
+-msgstr "ñ½ã¤Ê´Ø¿ô¤ò¸Æ¤Ó½Ð¤·Â¦¤ËÅý¹ç¤¹¤ë"
+-
+-#: c.opt:618
+-msgid "Allow implicit conversions between vectors with differing numbers of subparts and/or differing element types."
+-msgstr ""
+-
+-#: c.opt:622
+-#, fuzzy
+-msgid "Don't warn about uses of Microsoft extensions"
+-msgstr "Microsoft ³ÈÄ¥¤ÎÍøÍѤ˴ؤ·¤Æ pedantic ·Ù¹ð¤ò¹Ô¤ï¤Ê¤¤"
+-
+-#: c.opt:632
+-#, fuzzy
+-msgid "Generate code for NeXT (Apple Mac OS X) runtime environment"
+-msgstr "NeXT ¼Â¹Ô´Ä¶­ÍѤΥ³¡¼¥É¤òÀ¸À®¤¹¤ë"
+-
+-#: c.opt:636
+-msgid "Assume that receivers of Objective-C messages may be nil"
+-msgstr ""
+-
+-#: c.opt:648
+-msgid "Generate special Objective-C methods to initialize/destroy non-POD C++ ivars, if needed"
+-msgstr ""
+-
+-#: c.opt:652
+-msgid "Allow fast jumps to the message dispatcher"
+-msgstr ""
+-
+-#: c.opt:658
+-msgid "Enable Objective-C exception and synchronization syntax"
+-msgstr ""
+-
+-#: c.opt:662
+-msgid "Enable garbage collection (GC) in Objective-C/Objective-C++ programs"
+-msgstr ""
+-
+-#: c.opt:667
+-#, fuzzy
+-msgid "Enable Objective-C setjmp exception handling runtime"
+-msgstr "Îã³°Ê᪤òÍ­¸ú¤Ë¤¹¤ë"
+-
+-#: c.opt:671
+-#, fuzzy
+-msgid "Enable OpenMP"
+-msgstr "¥Ç¥Ð¥Ã¥°¤òÍ­¸ú¤Ë¤¹¤ë"
+-
+-#: c.opt:675
+-msgid "Recognize C++ kewords like \"compl\" and \"xor\""
+-msgstr ""
+-
+-#: c.opt:679
+-#, fuzzy
+-msgid "Enable optional diagnostics"
+-msgstr "¥ª¥×¥·¥ç¥ó¤Î¿ÇÃÇ¥á¥Ã¥»¡¼¥¸¤òɽ¼¨¤·¤Ê¤¤"
+-
+-#: c.opt:686
+-msgid "Look for and use PCH files even when preprocessing"
+-msgstr ""
+-
+-#: c.opt:690
+-msgid "Downgrade conformance errors to warnings"
+-msgstr "µ¬³ÊŬ¹çÀ­¥¨¥é¡¼¤ò·Ù¹ð¤Ë³Ê²¼¤²¤¹¤ë"
+-
+-#: c.opt:694
+-msgid "Treat the input file as already preprocessed"
+-msgstr ""
+-
+-#: c.opt:698
+-msgid "Used in Fix-and-Continue mode to indicate that object files may be swapped in at runtime"
+-msgstr ""
+-
+-#: c.opt:702
+-msgid "Enable automatic template instantiation"
+-msgstr "¼«Æ°¥Æ¥ó¥×¥ì¡¼¥È¼ÂÂ⽤òÍ­¸ú¤Ë¤¹¤ë"
+-
+-#: c.opt:706
+-#, fuzzy
+-msgid "Generate run time type descriptor information"
+-msgstr "¼Â¹Ô»þ·¿µ­½Ò¾ðÊó¤òÀ¸À®¤·¤Ê¤¤"
+-
+-#: c.opt:710
+-msgid "Use the same size for double as for float"
+-msgstr "double ¤Î¥µ¥¤¥º¤ò float ¤ÈƱ¤¸¤È¤·¤Æ»ÈÍѤ¹¤ë"
+-
+-#: c.opt:718
+-#, fuzzy
+-msgid "Force the underlying type for \"wchar_t\" to be \"unsigned short\""
+-msgstr "wchar_t ¤Îº¬ËÜŪ¤Ê·¿¤ò `unsigned short' ¤Èʤ¤¹"
+-
+-#: c.opt:722
+-msgid "When \"signed\" or \"unsigned\" is not given make the bitfield signed"
+-msgstr ""
+-
+-#: c.opt:726
+-#, fuzzy
+-msgid "Make \"char\" signed by default"
+-msgstr "'char' ¤ò¥Ç¥Õ¥©¥ë¥È¤ÇÉä¹çÉÕ¤­¤È¤¹¤ë"
+-
+-#: c.opt:733
+-msgid "Display statistics accumulated during compilation"
+-msgstr "¥³¥ó¥Ñ¥¤¥ëÃæ¤ËÃßÀѤµ¤ì¤¿Åý·×¾ðÊó¤òɽ¼¨¤¹¤ë"
+-
+-#: c.opt:740
+-msgid "Distance between tab stops for column reporting"
+-msgstr ""
+-
+-#: c.opt:744
+-msgid "Specify maximum template instantiation depth"
+-msgstr "¥Æ¥ó¥×¥ì¡¼¥È¼ÂÂβ½¤Î¿¼¤µ¤ÎºÇÂçÃͤò»ØÄꤹ¤ë"
+-
+-#: c.opt:751
+-msgid "Do not generate thread-safe code for initializing local statics"
+-msgstr ""
+-
+-#: c.opt:755
+-msgid "When \"signed\" or \"unsigned\" is not given make the bitfield unsigned"
+-msgstr ""
+-
+-#: c.opt:759
+-#, fuzzy
+-msgid "Make \"char\" unsigned by default"
+-msgstr "'char' ¤ò¥Ç¥Õ¥©¥ë¥È¤ÇÉä¹ç̵¤·¤È¤¹¤ë"
+-
+-#: c.opt:763
+-#, fuzzy
+-msgid "Use __cxa_atexit to register destructors"
+-msgstr "¥Ç¥¹¥È¥é¥¯¥¿¤ÎÅÐÏ¿¤Ë __cxa_atexit ¤òÍøÍѤ¹¤ë"
+-
+-#: c.opt:767
+-msgid "Use __cxa_get_exception_ptr in exception handling"
+-msgstr ""
+-
+-#: c.opt:771
+-msgid "Marks all inlined methods as having hidden visibility"
+-msgstr ""
+-
+-#: c.opt:775
+-msgid "Changes visibility to match Microsoft Visual Studio by default"
+-msgstr ""
+-
+-#: c.opt:779
+-msgid "Discard unused virtual functions"
+-msgstr "»È¤ï¤ì¤Ê¤¤²¾ÁÛ´Ø¿ô¤òÀÚ¤ê¼Î¤Æ¤ë"
+-
+-#: c.opt:783
+-msgid "Implement vtables using thunks"
+-msgstr "thunk ¤ò»È¤Ã¤Æ vtable ¤ò¼ÂÁõ¤¹¤ë"
+-
+-#: c.opt:787
+-msgid "Emit common-like symbols as weak symbols"
+-msgstr "¥³¥â¥ó¥·¥ó¥Ü¥ë¤ò¥¦¥£¡¼¥¯¥·¥ó¥Ü¥ë¤ÎÍͤËÀ¸À®¤¹¤ë"
+-
+-#: c.opt:791
+-msgid "Convert all wide strings and character constants to character set <cset>"
+-msgstr ""
+-
+-#: c.opt:795
+-msgid "Generate a #line directive pointing at the current working directory"
+-msgstr ""
+-
+-#: c.opt:799
+-msgid "Emit cross referencing information"
+-msgstr "Áê¸ß»²¾È¾ðÊó¤òÀ¸À®¤¹¤ë"
+-
+-#: c.opt:803
+-msgid "Generate lazy class lookup (via objc_getClass()) for use in Zero-Link mode"
+-msgstr ""
+-
+-#: c.opt:807
+-#, fuzzy
+-msgid "Dump declarations to a .decl file"
+-msgstr "Àë¸À¤ò .decl ¥Õ¥¡¥¤¥ë¤Ë¥À¥ó¥×¤¹¤ë"
+-
+-#: c.opt:811
+-msgid "Aggressive reduced debug info for structs"
+-msgstr ""
+-
+-#: c.opt:815
+-msgid "Conservative reduced debug info for structs"
+-msgstr ""
+-
+-#: c.opt:819
+-msgid "Detailed reduced debug info for structs"
+-msgstr ""
+-
+-#: c.opt:823 c.opt:855
+-msgid "Add <dir> to the end of the system include path"
+-msgstr ""
+-
+-#: c.opt:827
+-msgid "Accept definition of macros in <file>"
+-msgstr ""
+-
+-#: c.opt:831
+-msgid "-imultilib <dir> Set <dir> to be the multilib include subdirectory"
+-msgstr ""
+-
+-#: c.opt:835
+-msgid "Include the contents of <file> before other files"
+-msgstr ""
+-
+-#: c.opt:839
+-msgid "Specify <path> as a prefix for next two options"
+-msgstr ""
+-
+-#: c.opt:843
+-msgid "Set <dir> to be the system root directory"
+-msgstr ""
+-
+-#: c.opt:847
+-msgid "Add <dir> to the start of the system include path"
+-msgstr ""
+-
+-#: c.opt:851
+-msgid "Add <dir> to the end of the quote include path"
+-msgstr ""
+-
+-#: c.opt:872
+-msgid "Do not search standard system include directories (those specified with -isystem will still be used)"
+-msgstr ""
+-
+-#: c.opt:876
+-msgid "Do not search standard system include directories for C++"
+-msgstr ""
+-
+-#: c.opt:892
+-#, fuzzy
+-msgid "Generate C header of platform-specific features"
+-msgstr "¥×¥é¥Ã¥È¥Õ¥©¡¼¥à¸ÇÍ­¤Îµ¡Ç½¤Î C ¥Ø¥Ã¥À¤òÀ¸À®¤¹¤ë"
+-
+-#: c.opt:896
+-msgid "Print a checksum of the executable for PCH validity checking, and stop"
+-msgstr ""
+-
+-#: c.opt:900
+-#, fuzzy
+-msgid "Remap file names when including files"
+-msgstr "#%s ¤Ç¤Î¥Õ¥¡¥¤¥ë̾¤¬¶õ¤Ç¤¹"
+-
+-#: c.opt:904
+-msgid "Conform to the ISO 1998 C++ standard"
+-msgstr ""
+-
+-#: c.opt:908
+-msgid "Conform to the ISO 1998 C++ standard, with extensions that are likely to"
+-msgstr ""
+-
+-#: c.opt:915 c.opt:950
+-msgid "Conform to the ISO 1990 C standard"
+-msgstr ""
+-
+-#: c.opt:919 c.opt:958
+-msgid "Conform to the ISO 1999 C standard"
+-msgstr ""
+-
+-#: c.opt:923
+-msgid "Deprecated in favor of -std=c99"
+-msgstr ""
+-
+-#: c.opt:927
+-msgid "Conform to the ISO 1998 C++ standard with GNU extensions"
+-msgstr ""
+-
+-#: c.opt:931
+-msgid "Conform to the ISO 1998 C++ standard, with GNU extensions and"
+-msgstr ""
+-
+-#: c.opt:938
+-msgid "Conform to the ISO 1990 C standard with GNU extensions"
+-msgstr ""
+-
+-#: c.opt:942
+-msgid "Conform to the ISO 1999 C standard with GNU extensions"
+-msgstr ""
+-
+-#: c.opt:946
+-msgid "Deprecated in favor of -std=gnu99"
+-msgstr ""
+-
+-#: c.opt:954
+-msgid "Conform to the ISO 1990 C standard as amended in 1994"
+-msgstr ""
+-
+-#: c.opt:962
+-msgid "Deprecated in favor of -std=iso9899:1999"
+-msgstr ""
+-
+-#: c.opt:966
+-#, fuzzy
+-msgid "Enable traditional preprocessing"
+-msgstr "¥¹¥¿¥Ã¥¯Ãµº÷¤òÍ­¸ú¤Ë¤¹¤ë"
+-
+-#: c.opt:970
+-msgid "Support ISO C trigraphs"
+-msgstr ""
+-
+-#: c.opt:974
+-msgid "Do not predefine system-specific and GCC-specific macros"
+-msgstr ""
+-
+-#: c.opt:978
+-#, fuzzy
+-msgid "Enable verbose output"
+-msgstr "¥Ç¥Ð¥Ã¥°½ÐÎϤòÍ­¸ú¤Ë¤¹¤ë"
+-
+-#: common.opt:27
+-#, fuzzy
+ msgid "Display this information"
+ msgstr " --help ¤³¤Î¾ðÊó¤òɽ¼¨¤¹¤ë\n"
+
+-#: common.opt:31
++#: common.opt:32
+ msgid "Display descriptions of a specific class of options. <class> is one or more of optimizers, target, warnings, undocumented, params"
+ msgstr ""
+
+-#: common.opt:35
++#: common.opt:36
+ msgid "Alias for --help=target"
+ msgstr ""
+
+-#: common.opt:51
++#: common.opt:52
+ msgid "Set parameter <param> to value. See below for a complete list of parameters"
+ msgstr ""
+
+-#: common.opt:58
++#: common.opt:59
+ #, fuzzy
+ msgid "Put global and static data smaller than <number> bytes into a special section (on some targets)"
+ msgstr ""
+ " -G <number> <number> ¥Ð¥¤¥È¤è¤ê¾®¤µ¤ÊÂç°è¤ª¤è¤ÓÀÅŪ¥Ç¡¼¥¿¤ò\n"
+ " ÆÃÊ̤ʥ»¥¯¥·¥ç¥ó¤ËÃÖ¤¯ (¥¿¡¼¥²¥Ã¥È¼¡Âè)\n"
+
+-#: common.opt:62
++#: common.opt:63
+ #, fuzzy
+ msgid "Set optimization level to <number>"
+ msgstr "ºÇŬ²½¥ì¥Ù¥ë¤ò¸µ¤ËÌᤷ¤Þ¤·¤¿"
+
+-#: common.opt:66
++#: common.opt:67
+ #, fuzzy
+ msgid "Optimize for space rather than speed"
+ msgstr " -Os ®ÅÙ¤è¤ê¤â¥µ¥¤¥º¤ÎºÇŬ²½¤ò¹Ô¤Ê¤¦\n"
+
+-#: common.opt:70
++#: common.opt:71
+ msgid "This switch is deprecated; use -Wextra instead"
+ msgstr ""
+
+-#: common.opt:74
++#: common.opt:75
+ msgid "Warn about returning structures, unions or arrays"
+ msgstr "¹½Â¤ÂΡ¢¶¦ÍÑÂÎËô¤ÏÇÛÎó¤òÊÖ¤¹¤â¤Î¤Ë´Ø¤·¤Æ·Ù¹ð¤¹¤ë"
+
+-#: common.opt:78
++#: common.opt:79
+ #, fuzzy
+ msgid "Warn if an array is accessed out of bounds"
+ msgstr ".class ¥Õ¥¡¥¤¥ë¤¬¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤è¤ê¸Å¤±¤ì¤Ð·Ù¹ð¤¹¤ë"
+
+-#: common.opt:82
++#: common.opt:83
+ #, fuzzy
+ msgid "Warn about inappropriate attribute usage"
+ msgstr "´Ø¿ô¥Ý¥¤¥ó¥¿¤Î·×»»¤Ë´Ø¤·¤Æ·Ù¹ð¤¹¤ë"
+
+-#: common.opt:86
++#: common.opt:87
+ msgid "Warn about pointer casts which increase alignment"
+ msgstr "¥Ý¥¤¥ó¥¿¤Î¥­¥ã¥¹¥È¤Ç¥¢¥é¥¤¥ó¥á¥ó¥È¤¬Áý²Ã¤¹¤ë¤â¤Î¤Ë´Ø¤·¤Æ·Ù¹ð¤¹¤ë"
+
+-#: common.opt:90
++#: common.opt:91
+ msgid "Warn about uses of __attribute__((deprecated)) declarations"
+ msgstr ""
+
+-#: common.opt:94
++#: common.opt:95
+ msgid "Warn when an optimization pass is disabled"
+ msgstr "ºÇŬ²½²áÄø¤¬Ìµ¸ú²½¤µ¤ì¤¿¾ì¹ç¤Ë·Ù¹ð¤¹¤ë"
+
+-#: common.opt:98
++#: common.opt:99
+ msgid "Treat all warnings as errors"
+ msgstr "Á´¤Æ¤Î·Ù¹ð¤ò¥¨¥é¡¼¤È¤·¤Æ¼è¤ê°·¤¦"
+
+-#: common.opt:102
++#: common.opt:103
+ #, fuzzy
+ msgid "Treat specified warning as error"
+ msgstr "Á´¤Æ¤Î·Ù¹ð¤ò¥¨¥é¡¼¤È¤·¤Æ¼è¤ê°·¤¦"
+
+-#: common.opt:106
++#: common.opt:107
+ msgid "Print extra (possibly unwanted) warnings"
+ msgstr ""
+
+-#: common.opt:110
++#: common.opt:111
+ msgid "Exit on the first error occurred"
+ msgstr ""
+
+-#: common.opt:114
++#: common.opt:115
+ msgid "Warn when an inlined function cannot be inlined"
+ msgstr "¥¤¥ó¥é¥¤¥ó´Ø¿ô¤ò¥¤¥ó¥é¥¤¥ó²½¤Ç¤­¤Ê¤¤¾ì¹ç¤Ë·Ù¹ð¤¹¤ë"
+
+-#: common.opt:118
++#: common.opt:119
+ #, fuzzy
+ msgid "Warn if an object is larger than <number> bytes"
+ msgstr " -Wlarger-than-<number> ¥ª¥Ö¥¸¥§¥¯¥È¤¬ <number> ¥Ð¥¤¥È¤è¤êÂ礭¤±¤ì¤Ð·Ù¹ð¤¹¤ë\n"
+
+-#: common.opt:122
++#: common.opt:123
+ msgid "Warn when a logical operator is suspicously always evaluating to true or false"
+ msgstr ""
+
+-#: common.opt:126
++#: common.opt:127
+ msgid "Warn if the loop cannot be optimized due to nontrivial assumptions."
+ msgstr ""
+
+-#: common.opt:130
++#: common.opt:131
+ #, fuzzy
+ msgid "Warn about functions which might be candidates for __attribute__((noreturn))"
+ msgstr "noreturn °À­¤Î¸õÊä¤È¤Ê¤ê¤½¤¦¤Ê´Ø¿ô¤Ë´Ø¤·¤Æ·Ù¹ð¤¹¤ë"
+
+-#: common.opt:134
++#: common.opt:135
+ #, fuzzy
+ msgid "Warn about overflow in arithmetic expressions"
+ msgstr "¼°¤ÎÉâÆ°¾®¿ôÅÀ¿ô¤¬¥ª¡¼¥Ð¡¼¥Õ¥í¡¼¤·¤Þ¤·¤¿"
+
+-#: common.opt:138
++#: common.opt:139
+ msgid "Warn when the packed attribute has no effect on struct layout"
+ msgstr "packed °À­¤¬¹½Â¤ÂÎÇÛÃ֤˱ƶÁ¤·¤Ê¤¤¾ì¹ç¤Ë·Ù¹ð¤¹¤ë"
+
+-#: common.opt:142
++#: common.opt:143
+ #, fuzzy
+ msgid "Warn when padding is required to align structure members"
+ msgstr "¹½Â¤ÂÎ¥á¥ó¥Ð¤Î¥¢¥é¥¤¥ó¤Ç¡¢¥Ñ¥Ç¥£¥ó¥°¤òÍפ¹¤ë¾ì¹ç¤Ë·Ù¹ð¤¹¤ë"
+
+-#: common.opt:146
++#: common.opt:147
+ msgid "Warn when one local variable shadows another"
+ msgstr "¤¢¤ë¥í¡¼¥«¥ëÊÑ¿ô¤¬Â¾¤Î¤â¤Î¤òʤ¤¤±£¤¹¤È¤­¤Ë·Ù¹ð¤¹¤ë"
+
+-#: common.opt:150
++#: common.opt:151
+ msgid "Warn when not issuing stack smashing protection for some reason"
+ msgstr ""
+
+-#: common.opt:154 common.opt:158
++#: common.opt:155 common.opt:159
+ #, fuzzy
+ msgid "Warn about code which might break strict aliasing rules"
+ msgstr "format °À­¤ò¤Î¸õÊä¤È¤Ê¤ê¤½¤¦¤Ê´Ø¿ô¤Ë¤Ä¤¤¤Æ·Ù¹ð¤¹¤ë"
+
+-#: common.opt:162 common.opt:166
++#: common.opt:163 common.opt:167
+ msgid "Warn about optimizations that assume that signed overflow is undefined"
+ msgstr ""
+
+-#: common.opt:170
++#: common.opt:171
+ #, fuzzy
+ msgid "Warn about enumerated switches, with no default, missing a case"
+ msgstr "ÎóµóÄê¿ô¤Î switch ¤Ç case »ØÄ꤬·ç¤±¤Æ¤¤¤ë¤â¤Î¤Ë´Ø¤·¤Æ·Ù¹ð¤¹¤ë"
+
+-#: common.opt:174
++#: common.opt:175
+ #, fuzzy
+ msgid "Warn about enumerated switches missing a \"default:\" statement"
+ msgstr "ÎóµóÄê¿ô¤Î switch ¤Ç case »ØÄ꤬·ç¤±¤Æ¤¤¤ë¤â¤Î¤Ë´Ø¤·¤Æ·Ù¹ð¤¹¤ë"
+
+-#: common.opt:178
++#: common.opt:179
+ #, fuzzy
+ msgid "Warn about all enumerated switches missing a specific case"
+ msgstr "ÎóµóÄê¿ô¤Î switch ¤Ç case »ØÄ꤬·ç¤±¤Æ¤¤¤ë¤â¤Î¤Ë´Ø¤·¤Æ·Ù¹ð¤¹¤ë"
+
+-#: common.opt:186
++#: common.opt:183 c.opt:434
++msgid "Do not suppress warnings from system headers"
++msgstr "¥·¥¹¥Æ¥à¥Ø¥Ã¥À¤«¤é¤Î·Ù¹ð¤òÍÞÀ©¤·¤Ê¤¤"
++
++#: common.opt:187
+ #, fuzzy
+ msgid "Warn about uninitialized automatic variables"
+ msgstr "½é´ü²½¤µ¤ì¤Ê¤¤¼«Æ°ÊÑ¿ô¤Ë´Ø¤·¤Æ·Ù¹ð¤¹¤ë"
+
+-#: common.opt:190
++#: common.opt:191
+ msgid "Warn about code that will never be executed"
+ msgstr "¼Â¹Ô¤µ¤ì¤ë¤³¤È¤¬¤Ê¤¤¥³¡¼¥É¤Ë´Ø¤·¤Æ·Ù¹ð¤¹¤ë"
+
+-#: common.opt:194
++#: common.opt:195
+ msgid "Enable all -Wunused- warnings"
+ msgstr ""
+
+-#: common.opt:198
++#: common.opt:199
+ msgid "Warn when a function is unused"
+ msgstr "´Ø¿ô¤¬»È¤ï¤ì¤Ê¤¤¤È¤­¤Ë·Ù¹ð¤¹¤ë"
+
+-#: common.opt:202
++#: common.opt:203
+ msgid "Warn when a label is unused"
+ msgstr "¥é¥Ù¥ë¤¬»È¤ï¤ì¤Ê¤¤¤È¤­¤Ë·Ù¹ð¤¹¤ë"
+
+-#: common.opt:206
++#: common.opt:207
+ msgid "Warn when a function parameter is unused"
+ msgstr "´Ø¿ô¤Î²¾°ú¿ô¤¬»È¤ï¤ì¤Ê¤¤¤È¤­¤Ë·Ù¹ð¤¹¤ë"
+
+-#: common.opt:210
++#: common.opt:211
+ msgid "Warn when an expression value is unused"
+ msgstr "¼°¤ÎÃͤ¬»È¤ï¤ì¤Ê¤¤¤È¤­¤Ë·Ù¹ð¤¹¤ë"
+
+-#: common.opt:214
++#: common.opt:215
+ msgid "Warn when a variable is unused"
+ msgstr "ÊÑ¿ô¤¬»È¤ï¤ì¤Ê¤¤¤È¤­¤Ë·Ù¹ð¤¹¤ë"
+
+-#: common.opt:218
++#: common.opt:219
+ #, fuzzy
+ msgid "Warn when a register variable is declared volatile"
+ msgstr "¥¤¥ó¥¹¥¿¥ó¥¹ÊÑ¿ô `%s' ¤Ï private ¤ÈÀë¸À¤µ¤ì¤Æ¤¤¤Þ¤¹"
+
+-#: common.opt:222
++#: common.opt:223
+ msgid "Warn instead of error in case profiles in -fprofile-use do not match"
+ msgstr ""
+
+-#: common.opt:226
++#: common.opt:227
+ #, fuzzy
+ msgid "Emit declaration information into <file>"
+ msgstr " -aux-info <file> Àë¸À¾ðÊó¤ò <file> ¤Øȯ¹Ô¤¹¤ë\n"
+
+-#: common.opt:239
++#: common.opt:240
+ #, fuzzy
+ msgid "Enable dumps from specific passes of the compiler"
+ msgstr " -d[letters] ¥³¥ó¥Ñ¥¤¥é¤Î²áÄø¤«¤é¤Î¥À¥ó¥×¤òÍ­¸ú¤Ë¤¹¤ë\n"
+
+-#: common.opt:243
++#: common.opt:244
+ #, fuzzy
+ msgid "Set the file basename to be used for dumps"
+ msgstr "PIC ¥¢¥É¥ì¥·¥ó¥°¤ËÍøÍѤµ¤ì¤ë¥ì¥¸¥¹¥¿¤ò»ØÄꤹ¤ë"
+
+-#: common.opt:263
++#: common.opt:264
+ msgid "Align the start of functions"
+ msgstr "´Ø¿ô¤Î³«»Ï¤ò¥¢¥é¥¤¥ó¤¹¤ë"
+
+-#: common.opt:270
++#: common.opt:271
+ msgid "Align labels which are only reached by jumping"
+ msgstr "¥é¥Ù¥ë¤Î¤¦¤Á¥¸¥ã¥ó¥×ÅþãÀè¤È¤Ê¤ë¤â¤Î¤À¤±¤ò¥¢¥é¥¤¥ó¤¹¤ë"
+
+-#: common.opt:277
++#: common.opt:278
+ msgid "Align all labels"
+ msgstr "Á´¤Æ¤Î¥é¥Ù¥ë¤ò¥¢¥é¥¤¥ó¤¹¤ë"
+
+-#: common.opt:284
++#: common.opt:285
+ msgid "Align the start of loops"
+ msgstr "¥ë¡¼¥×¤Î³«»Ï¤ò¥¢¥é¥¤¥ó¤¹¤ë"
+
+-#: common.opt:299
++#: common.opt:300
+ #, fuzzy
+ msgid "Specify that arguments may alias each other and globals"
+ msgstr "°ú¿ô¤ÈÂç°è¥Ç¡¼¥¿¤ä¾¤Î°ú¿ô¤ÈÊÌ̾¤Ë¤Ê¤ê¤¦¤ë»ö¤ò»ØÄꤹ¤ë"
+
+-#: common.opt:303
++#: common.opt:304
+ msgid "Assume arguments may alias globals but not each other"
+ msgstr "°ú¿ô¤ÈÂç°è¥Ç¡¼¥¿¤ÏÊÌ̾¤Ë¤Ê¤ê¤¦¤ë¤¬Â¾¤Î°ú¿ô¤È¤ÏÊÌ̾¤Ç¤Ï¤Ê¤¤¤È¤ß¤Ê¤¹"
+
+-#: common.opt:307
++#: common.opt:308
+ #, fuzzy
+ msgid "Assume arguments alias neither each other nor globals"
+ msgstr "°ú¿ô¤¬Âç°è¥Ç¡¼¥¿¤ä¾¤Î°ú¿ô¤ÈÊÌ̾¤Ë¤Ï¤Ê¤é¤Ê¤¤¤È¤ß¤Ê¤¹"
+
+-#: common.opt:311
++#: common.opt:312
+ #, fuzzy
+ msgid "Assume arguments alias no other storage"
+ msgstr "°ú¿ô¤¬Âç°è¥Ç¡¼¥¿¤ä¾¤Î°ú¿ô¤ÈÊÌ̾¤Ë¤Ï¤Ê¤é¤Ê¤¤¤È¤ß¤Ê¤¹"
+
+-#: common.opt:315
++#: common.opt:316
+ #, fuzzy
+ msgid "Generate unwind tables that are exact at each instruction boundary"
+ msgstr "´¬¤­Ìᤷ¤ò¹Ô¤Ê¤¦Îã³°Êä­Íѥơ¼¥Ö¥ë¤òÀ¸À®¤¹¤ë"
+
+-#: common.opt:319
++#: common.opt:320
+ #, fuzzy
+ msgid "Generate auto-inc/dec instructions"
+ msgstr "ʸ»úÌ¿Îá¤òÀ¸À®¤¹¤ë"
+
+-#: common.opt:327
++#: common.opt:328
+ #, fuzzy
+ msgid "Generate code to check bounds before indexing arrays"
+ msgstr "ÇÛÎó¤Îź»ú¤Èź»ú¶­³¦¤ò¸¡ºº¤¹¤ë¥³¡¼¥É¤òÀ¸À®¤¹¤ë"
+
+-#: common.opt:331
++#: common.opt:332
+ #, fuzzy
+ msgid "Replace add, compare, branch with branch on count register"
+ msgstr "²Ã»»¡¢Èæ³Ó¥Ö¥é¥ó¥Á¤ÎÂå¤ï¤ê¤Ë¥«¥¦¥ó¥È¥ì¥¸¥¹¥¿¤Î¥Ö¥é¥ó¥Á¤ò»È¤¦"
+
+-#: common.opt:335
++#: common.opt:336
+ msgid "Use profiling information for branch probabilities"
+ msgstr "ʬ´ô·ÐÏ©¿ä¬ÍѤΥץí¥Õ¥¡¥¤¥ë¾ðÊó¤òÍøÍѤ¹¤ë"
+
+-#: common.opt:339
++#: common.opt:340
+ msgid "Perform branch target load optimization before prologue / epilogue threading"
+ msgstr ""
+
+-#: common.opt:343
++#: common.opt:344
+ msgid "Perform branch target load optimization after prologue / epilogue threading"
+ msgstr ""
+
+-#: common.opt:347
++#: common.opt:348
+ msgid "Restrict target load migration not to re-use registers in any basic block"
+ msgstr ""
+
+-#: common.opt:351
++#: common.opt:352
+ #, fuzzy
+ msgid "Mark <register> as being preserved across functions"
+ msgstr " -fcall-saved-<register> <register> ¤¬´Ø¿ô¤òÄ̤¸¤ÆÊÝ»ý¤µ¤ì¤ë¤È¥Þ¡¼¥¯¤¹¤ë\n"
+
+-#: common.opt:355
++#: common.opt:356
+ #, fuzzy
+ msgid "Mark <register> as being corrupted by function calls"
+ msgstr " -fcall-used-<register> ´Ø¿ô¸Æ¤Ó½Ð¤·¤ÇÇ˲õ¤µ¤ì¤ë <register> ¤È¤·¤Æ¥Þ¡¼¥¯¤¹¤ë\n"
+
+-#: common.opt:362
++#: common.opt:363
+ #, fuzzy
+ msgid "Save registers around function calls"
+ msgstr "´Ø¿ô¸Æ¤Ó½Ð¤·¤ÎÁ°¸å¤Ç¥ì¥¸¥¹¥¿¤ÎÊݸ¤òÍ­¸ú¤Ë¤¹¤ë"
+
+-#: common.opt:366
++#: common.opt:367
+ msgid "Compare the results of several data dependence analyzers."
+ msgstr ""
+
+-#: common.opt:370
++#: common.opt:371
+ #, fuzzy
+ msgid "Do not put uninitialized globals in the common section"
+ msgstr "Âç°èÊÑ¿ôÅù¤ò½é´ü²½¤µ¤ì¤Ê¤¤¥³¥â¥ó¥»¥¯¥·¥ç¥ó¤ËÃÖ¤«¤Ê¤¤"
+
+-#: common.opt:374
++#: common.opt:375
+ #, fuzzy
+ msgid "Perform a register copy-propagation optimization pass"
+ msgstr "ºÇŬ²½²áÄø¤Î¥ì¥¸¥¹¥¿¤Ä¤±ÊѤ¨¤ò¹Ô¤Ê¤¦"
+
+-#: common.opt:378
++#: common.opt:379
+ #, fuzzy
+ msgid "Perform cross-jumping optimization"
+ msgstr "¥¸¥ã¥ó¥×ʬ´ôºÇŬ²½¤ò¹Ô¤Ê¤¦"
+
+-#: common.opt:382
++#: common.opt:383
+ msgid "When running CSE, follow jumps to their targets"
+ msgstr "CSE ¤ÇÆ°ºî¤¹¤ë¤È¤­¡¢¤½¤ì¤é¤Î¥¿¡¼¥²¥Ã¥È¤Ø¤Î¥¸¥ã¥ó¥×¤ËÄɿ魯¤ë"
+
+-#: common.opt:386
++#: common.opt:387
+ msgid "When running CSE, follow conditional jumps"
+ msgstr "CSE ¤ÇÆ°ºî¤¹¤ë¤È¤­¡¢¾ò·ï¥¸¥ã¥ó¥×¤ËÄɿ魯¤ë"
+
+-#: common.opt:390
++#: common.opt:391
+ msgid "Omit range reduction step when performing complex division"
+ msgstr ""
+
+-#: common.opt:394
++#: common.opt:395
+ #, fuzzy
+ msgid "Place data items into their own section"
+ msgstr "¥Ç¡¼¥¿¹àÌܤò¤½¤ì¤é¼«¿È¤Î¥»¥¯¥·¥ç¥ó¤ËÇÛÃÖ¤¹¤ë"
+
+-#: common.opt:398
++#: common.opt:399
+ msgid "List all available debugging counters with their limits and counts."
+ msgstr ""
+
+-#: common.opt:402
++#: common.opt:403
+ msgid "-fdbg-cnt=<counter>:<limit>[,<counter>:<limit>,...] Set the debug counter limit. "
+ msgstr ""
+
+-#: common.opt:406
++#: common.opt:407
+ msgid "Map one directory name to another in debug information"
+ msgstr ""
+
+-#: common.opt:412
++#: common.opt:413
+ msgid "Defer popping functions args from stack until later"
+ msgstr "´Ø¿ô°ú¿ô¤ò¥¹¥¿¥Ã¥¯¤«¤é pop ¤¹¤ë¤Î¤ò¸Æ¤Ó½Ð¤·¸å¤Þ¤ÇÃ٤餻¤ë"
+
+-#: common.opt:416
++#: common.opt:417
+ msgid "Attempt to fill delay slots of branch instructions"
+ msgstr "ʬ´ôÌ¿Îá¤ÎÃٱ䥹¥í¥Ã¥È¤ò»È¤¦¤³¤È¤ò»î¤ß¤ë"
+
+-#: common.opt:420
++#: common.opt:421
+ msgid "Delete useless null pointer checks"
+ msgstr "̵°ÕÌ£¤Ê null ¥Ý¥¤¥ó¥¿¸¡ºº¤òºï½ü¤¹¤ë"
+
+-#: common.opt:424
++#: common.opt:425
+ msgid "How often to emit source location at the beginning of line-wrapped diagnostics"
+ msgstr ""
+
+-#: common.opt:428
++#: common.opt:429
+ msgid "Amend appropriate diagnostic messages with the command line option that controls them"
+ msgstr ""
+
+-#: common.opt:432
++#: common.opt:433
+ msgid "Dump various compiler internals to a file"
+ msgstr ""
+
+-#: common.opt:436
++#: common.opt:437
+ #, fuzzy
+ msgid "Suppress output of addresses in debugging dumps"
+ msgstr "¥Ç¥Ð¥Ã¥°¥À¥ó¥×¤ÇÌ¿ÎáÈÖ¹æ¤È¹ÔÈÖ¹æ¥Î¡¼¥È¤Î½ÐÎϤòÍÞÀ©¤¹¤ë"
+
+-#: common.opt:440
++#: common.opt:441
+ #, fuzzy
+ msgid "Suppress output of instruction numbers, line number notes and addresses in debugging dumps"
+ msgstr "¥Ç¥Ð¥Ã¥°¥À¥ó¥×¤ÇÌ¿ÎáÈÖ¹æ¤È¹ÔÈÖ¹æ¥Î¡¼¥È¤Î½ÐÎϤòÍÞÀ©¤¹¤ë"
+
+-#: common.opt:444
++#: common.opt:445
+ msgid "Perform early inlining"
+ msgstr ""
+
+-#: common.opt:448
++#: common.opt:449
+ #, fuzzy
+ msgid "Perform DWARF2 duplicate elimination"
+ msgstr "ËöÈø¸Æ¤Ó½Ð¤·ºÇŬ²½¤ò¹Ô¤¦"
+
+-#: common.opt:452 common.opt:456
++#: common.opt:453 common.opt:457
+ msgid "Perform unused type elimination in debug info"
+ msgstr ""
+
+-#: common.opt:460
++#: common.opt:461
+ msgid "Do not suppress C++ class debug information."
+ msgstr ""
+
+-#: common.opt:464
++#: common.opt:465
+ msgid "Enable exception handling"
+ msgstr "Îã³°Ê᪤òÍ­¸ú¤Ë¤¹¤ë"
+
+-#: common.opt:468
++#: common.opt:469
+ #, fuzzy
+ msgid "Perform a number of minor, expensive optimizations"
+ msgstr "ÌÜΩ¤¿¤Ê¤¤¡¢¥³¥¹¥È¤Î¤«¤«¤ëºÇŬ²½¤ò¹Ô¤Ê¤¦"
+
+-#: common.opt:475
++#: common.opt:476
+ msgid "Assume no NaNs or infinities are generated"
+ msgstr ""
+
+-#: common.opt:479
++#: common.opt:480
+ #, fuzzy
+ msgid "Mark <register> as being unavailable to the compiler"
+ msgstr " -ffixed-<register> ¥³¥ó¥Ñ¥¤¥é¤ËÂФ· <register> ¤ò»ÈÍÑÉԲĤȥޡ¼¥¯¤¹¤ë\n"
+
+-#: common.opt:483
++#: common.opt:484
+ #, fuzzy
+ msgid "Don't allocate floats and doubles in extended-precision registers"
+ msgstr "À°¿ô¥ì¥¸¥¹¥¿¤Î³ÎÊݽç¤òÀ©¸æ¤¹¤ë"
+
+-#: common.opt:489
+-#, fuzzy
+-msgid "Copy memory address constants into registers before use"
+-msgstr "¥á¥â¥ê¥¢¥É¥ì¥¹Äê¿ô¤òÍøÍѤ¹¤ëÁ°¤Ë¥ì¥¸¥¹¥¿¤Ø¥³¥Ô¡¼¤¹¤ë"
++#: common.opt:488 common.opt:647 common.opt:855 common.opt:986 common.opt:1061
++msgid "Does nothing. Preserved for backward compatibility."
++msgstr ""
+
+-#: common.opt:493
++#: common.opt:492
+ msgid "Perform a forward propagation pass on RTL"
+ msgstr ""
+
+-#: common.opt:500
++#: common.opt:499
+ msgid "Allow function addresses to be held in registers"
+ msgstr "´Ø¿ô¥¢¥É¥ì¥¹¤ò¥ì¥¸¥¹¥¿¤Ë»ý¤¿¤»¤ë»ö¤òµö²Ä¤¹¤ë"
+
+-#: common.opt:504
++#: common.opt:503
+ #, fuzzy
+ msgid "Place each function into its own section"
+ msgstr "³Æ¡¹¤Î´Ø¿ô¤ò¤½¤ì¼«¿È¤Î¥»¥¯¥·¥ç¥ó¤ËÇÛÃÖ¤¹¤ë"
+
+-#: common.opt:508
++#: common.opt:507
+ #, fuzzy
+ msgid "Perform global common subexpression elimination"
+ msgstr "¥°¥í¡¼¥Ð¥ë¶¦ÄÌÉôʬ¼°¤ò½üµî¤¹¤ë"
+
+-#: common.opt:512
++#: common.opt:511
+ #, fuzzy
+ msgid "Perform enhanced load motion during global common subexpression elimination"
+ msgstr "¥°¥í¡¼¥Ð¥ë¶¦ÄÌÉôʬ¼°¤ò½üµî¤¹¤ë"
+
+-#: common.opt:516
++#: common.opt:515
+ #, fuzzy
+ msgid "Perform store motion after global common subexpression elimination"
+ msgstr "¥°¥í¡¼¥Ð¥ë¶¦ÄÌÉôʬ¼°¤ò½üµî¤¹¤ë"
+
+-#: common.opt:520
++#: common.opt:519
+ msgid "Perform redundant load after store elimination in global common subexpression"
+ msgstr ""
+
+-#: common.opt:525
++#: common.opt:524
+ #, fuzzy
+ msgid "Perform global common subexpression elimination after register allocation"
+ msgstr "¥°¥í¡¼¥Ð¥ë¶¦ÄÌÉôʬ¼°¤ò½üµî¤¹¤ë"
+
+-#: common.opt:530
++#: common.opt:529
+ #, fuzzy
+ msgid "Enable guessing of branch probabilities"
+ msgstr "ʬ´ô·ÐÏ©¿ä¬¤òÍ­¸ú¤Ë¤¹¤ë"
+
+-#: common.opt:538
++#: common.opt:537
+ msgid "Process #ident directives"
+ msgstr "#ident ¥Ç¥£¥ì¥¯¥Æ¥£¥Ö¤ò½èÍý¤¹¤ë"
+
+-#: common.opt:542
++#: common.opt:541
+ msgid "Perform conversion of conditional jumps to branchless equivalents"
+ msgstr ""
+
+-#: common.opt:546
++#: common.opt:545
+ #, fuzzy
+ msgid "Perform conversion of conditional jumps to conditional execution"
+ msgstr "¾ò·ïŪ¤Ê¼Â¹Ô¤Ø¤ÎÊѹ¹¤Î¤¿¤á¤ÎïçÃͤòÊѹ¹¤¹¤ë"
+
+-#: common.opt:554
++#: common.opt:553
+ msgid "Do not generate .size directives"
+ msgstr ".size µ¿»÷Ì¿Îá¤òÀ¸À®¤·¤Ê¤¤"
+
+-#: common.opt:563
++#: common.opt:562
+ #, fuzzy
+ msgid "Pay attention to the \"inline\" keyword"
+ msgstr "'inline' ¥­¡¼¥ï¡¼¥É¤ËÃí°Õ¤òʧ¤¦"
+
+-#: common.opt:567
++#: common.opt:566
+ #, fuzzy
+ msgid "Integrate simple functions into their callers when code size is known to not growth"
+ msgstr "ñ½ã¤Ê´Ø¿ô¤ò¸Æ¤Ó½Ð¤·Â¦¤ËÅý¹ç¤¹¤ë"
+
+-#: common.opt:571
++#: common.opt:570
+ msgid "Integrate simple functions into their callers"
+ msgstr "ñ½ã¤Ê´Ø¿ô¤ò¸Æ¤Ó½Ð¤·Â¦¤ËÅý¹ç¤¹¤ë"
+
+-#: common.opt:575
++#: common.opt:574
+ #, fuzzy
+ msgid "Integrate functions called once into their callers"
+ msgstr "ñ½ã¤Ê´Ø¿ô¤ò¸Æ¤Ó½Ð¤·Â¦¤ËÅý¹ç¤¹¤ë"
+
+-#: common.opt:582
++#: common.opt:581
+ #, fuzzy
+ msgid "Limit the size of inlined functions to <number>"
+ msgstr " -finline-limit=<number> ¥¤¥ó¥é¥¤¥ó´Ø¿ô¤Î¥µ¥¤¥º¤ò <number> ¤ËÀ©¸Â¤¹¤ë\n"
+
+-#: common.opt:586
++#: common.opt:585
+ #, fuzzy
+ msgid "Instrument function entry and exit with profiling calls"
+ msgstr "´Ø¿ô¤ÎÆþ¤ê¸ý/½Ð¸ý¤Ç¥×¥í¥Õ¥¡¥¤¥ë¸Æ¤Ó½Ð¤·¤òÀ¸À®¤¹¤ë"
+
+-#: common.opt:590
++#: common.opt:589
+ msgid "-finstrument-functions-exclude-function-list=name,... Do not instrument listed functions"
+ msgstr ""
+
+-#: common.opt:594
++#: common.opt:593
+ msgid "-finstrument-functions-exclude-file-list=filename,... Do not instrument functions listed in files"
+ msgstr ""
+
+-#: common.opt:598
++#: common.opt:597
+ msgid "Perform Interprocedural constant propagation"
+ msgstr ""
+
+-#: common.opt:602
++#: common.opt:601
+ #, fuzzy
+ msgid "Discover pure and const functions"
+ msgstr "»È¤ï¤ì¤Ê¤¤²¾ÁÛ´Ø¿ô¤òÀÚ¤ê¼Î¤Æ¤ë"
+
+-#: common.opt:606
++#: common.opt:605
+ msgid "Perform interprocedural points-to analysis"
+ msgstr ""
+
+-#: common.opt:610
++#: common.opt:609
+ msgid "Discover readonly and non addressable static variables"
+ msgstr ""
+
+-#: common.opt:614
++#: common.opt:613
+ msgid "Type based escape and alias analysis"
+ msgstr ""
+
+-#: common.opt:618
++#: common.opt:617
+ msgid "Perform matrix layout flattening and transposing based"
+ msgstr ""
+
+-#: common.opt:623
++#: common.opt:622
+ #, fuzzy
+ msgid "Perform structure layout optimizations based"
+ msgstr "¶¯Åٺ︺ºÇŬ²½¤ò¹Ô¤Ê¤¦"
+
+-#: common.opt:628
++#: common.opt:627
+ msgid "Optimize induction variables on trees"
+ msgstr ""
+
+-#: common.opt:632
++#: common.opt:631
+ #, fuzzy
+ msgid "Use jump tables for sufficiently large switch statements"
+ msgstr "case ¥é¥Ù¥ë¤¬ switch ʸ¤ÎÃæ¤Ë¤¢¤ê¤Þ¤»¤ó"
+
+-#: common.opt:636
++#: common.opt:635
+ #, fuzzy
+ msgid "Generate code for functions even if they are fully inlined"
+ msgstr "Á´¤Æ¥¤¥ó¥é¥¤¥ó¤È¤µ¤ì¤¿¤È¤·¤Æ¤â´Ø¿ô¤Î¥³¡¼¥É¤òÀ¸À®¤¹¤ë"
+
+-#: common.opt:640
++#: common.opt:639
+ msgid "Emit static const variables even if they are not used"
+ msgstr "»ÈÍѤµ¤ì¤Ê¤¤ÀÅŪÄê¿ôÊÑ¿ô¤Ç¤¢¤Ã¤Æ¤â½ÐÎϤ¹¤ë"
+
+-#: common.opt:644
++#: common.opt:643
+ #, fuzzy
+ msgid "Give external symbols a leading underscore"
+ msgstr "³°Éô¥·¥ó¥Ü¥ë¤ËƬʸ»ú¥¢¥ó¥À¡¼¥¹¥³¥¢¤ò»ý¤¿¤»¤ë"
+
+-#: common.opt:648 common.opt:852 common.opt:983
+-msgid "Does nothing. Preserved for backward compatibility."
+-msgstr ""
+-
+-#: common.opt:652
++#: common.opt:651
+ msgid "Set errno after built-in math functions"
+ msgstr "ÁȤ߹þ¤ß¿ô³Ø´Ø¿ô¤Î¸å¤Ë errno ¤ò¥»¥Ã¥È¤¹¤ë"
+
+-#: common.opt:656
++#: common.opt:655
+ #, fuzzy
+ msgid "Report on permanent memory allocation"
+ msgstr "¼Â¹Ô½ªÎ»»þ¤Ë±Ê³Ū¤Ë³ÎÊݤµ¤ì¤¿¥á¥â¥ê¤òÊó¹ð¤¹¤ë"
+
+-#: common.opt:663
++#: common.opt:662
+ msgid "Attempt to merge identical constants and constant variables"
+ msgstr ""
+
+-#: common.opt:667
++#: common.opt:666
+ msgid "Attempt to merge identical constants across compilation units"
+ msgstr ""
+
+-#: common.opt:671
++#: common.opt:670
++msgid "Attempt to merge identical debug strings across compilation units"
++msgstr ""
++
++#: common.opt:674
+ #, fuzzy
+ msgid "Limit diagnostics to <number> characters per line. 0 suppresses line-wrapping"
+ msgstr " -fmessage-length=<number> ¿ÇÃÇ¥á¥Ã¥»¡¼¥¸¤ÎŤµ¤ò°ì¹ÔÊÕ¤ê <number> ʸ»ú¤ËÀ©¸Â¤¹¤ë¡£ 0 ¤À¤È²þ¹Ô¤òÍÞÀ©¤¹¤ë\n"
+
+-#: common.opt:675
++#: common.opt:678
+ msgid "Perform SMS based modulo scheduling before the first scheduling pass"
+ msgstr ""
+
+-#: common.opt:679
++#: common.opt:682
+ msgid "Perform SMS based modulo scheduling with register moves allowed"
+ msgstr ""
+
+-#: common.opt:683
++#: common.opt:686
+ #, fuzzy
+ msgid "Move loop invariant computations out of loops"
+ msgstr "¥ë¡¼¥×Ãæ¤ËÉÔÊѤʷ׻»¤ò¥ë¡¼¥×¤Î³°¤Ë°ÜÆ°¤¹¤ë"
+
+-#: common.opt:687
++#: common.opt:690
+ msgid "Add mudflap bounds-checking instrumentation for single-threaded program"
+ msgstr ""
+
+-#: common.opt:691
++#: common.opt:694
+ msgid "Add mudflap bounds-checking instrumentation for multi-threaded program"
+ msgstr ""
+
+-#: common.opt:695
++#: common.opt:698
+ msgid "Ignore read operations when inserting mudflap instrumentation"
+ msgstr ""
+
+-#: common.opt:699
++#: common.opt:702
+ #, fuzzy
+ msgid "Use the RTL dead code elimination pass"
+ msgstr "¥Ç¥Ã¥É¥³¡¼¥É¤Î½üµî¤ò¹Ô¤Ê¤¦"
+
+-#: common.opt:703
++#: common.opt:706
+ #, fuzzy
+ msgid "Use the RTL dead store elimination pass"
+ msgstr "¥Ç¥Ã¥É¥³¡¼¥É¤Î½üµî¤ò¹Ô¤Ê¤¦"
+
+-#: common.opt:707
++#: common.opt:710
+ msgid "Enable/Disable the traditional scheduling in loops that already passed modulo scheduling"
+ msgstr ""
+
+-#: common.opt:711
++#: common.opt:714
+ msgid "Support synchronous non-call exceptions"
+ msgstr "Ʊ´üÈó¸Æ¤Ó½Ð¤·Îã³°¤ò¥µ¥Ý¡¼¥È¤¹¤ë"
+
+-#: common.opt:715
++#: common.opt:718
+ msgid "When possible do not generate stack frames"
+ msgstr "²Äǽ¤Ê¾ì¹ç¡¢¥¹¥¿¥Ã¥¯¥Õ¥ì¡¼¥à¤òÀ¸À®¤·¤Ê¤¤"
+
+-#: common.opt:719
++#: common.opt:722
+ msgid "Expand OpenMP operations on SSA form"
+ msgstr ""
+
+-#: common.opt:723
++#: common.opt:726
+ #, fuzzy
+ msgid "Do the full register move optimization pass"
+ msgstr "ºÇŬ²½²áÄø¤ÇºÇÂç¸Â¤Î regmove ¤ò¹Ô¤Ê¤¦"
+
+-#: common.opt:727
++#: common.opt:730
+ msgid "Optimize sibling and tail recursive calls"
+ msgstr "sibling ¸Æ¤Ó½Ð¤·¤äËöÈøºÆµ¢¸Æ¤Ó½Ð¤·¤òºÇŬ²½¤¹¤ë"
+
+-#: common.opt:731 common.opt:735
++#: common.opt:734 common.opt:738
+ msgid "Report on memory allocation before interprocedural optimization"
+ msgstr ""
+
+-#: common.opt:739
++#: common.opt:742
+ msgid "Pack structure members together without holes"
+ msgstr "¹½Â¤ÂÎ¥á¥ó¥Ð¤ò·ê¤¬³«¤«¤Ê¤¤¤è¤¦¤Ë¥Ñ¥Ã¥¯¤¹¤ë"
+
+-#: common.opt:743
++#: common.opt:746
+ msgid "Set initial maximum structure member alignment"
+ msgstr ""
+
+-#: common.opt:747
++#: common.opt:750
+ #, fuzzy
+ msgid "Return small aggregates in memory, not registers"
+ msgstr "'¾®¤µ¤Ê' ½¸¹çÂΤò¥ì¥¸¥¹¥¿¤Ç¤Ï¤Ê¤¯¥á¥â¥ê¤Ë³ÊǼ¤·¤ÆÊÖ¤¹"
+
+-#: common.opt:751
++#: common.opt:754
+ #, fuzzy
+ msgid "Perform loop peeling"
+ msgstr "Á´¤Æ¤Î¥ë¡¼¥×¤Ç¥ë¡¼¥×Ÿ³«¤ò¹Ô¤Ê¤¦"
+
+-#: common.opt:755
++#: common.opt:758
+ #, fuzzy
+ msgid "Enable machine specific peephole optimizations"
+ msgstr "µ¡¼ï¸ÇÍ­¤ÎÇÁ¤­·êºÇŬ²½¤òÍ­¸ú¤Ë¤¹¤ë"
+
+-#: common.opt:759
++#: common.opt:762
+ #, fuzzy
+ msgid "Enable an RTL peephole pass before sched2"
+ msgstr "ÂèÆóÌ¿ÎáÇÛÃÖ¤ÎÁ°¤Ç rtl ÇÁ¤­·ê²áÄø¤òÍ­¸ú¤Ë¤¹¤ë"
+
+-#: common.opt:763
++#: common.opt:766
+ #, fuzzy
+ msgid "Generate position-independent code if possible (large mode)"
+ msgstr "²Äǽ¤Ç¤¢¤ì¤Ð°ÌÃÖÆÈΩ¥³¡¼¥É¤òÀ¸À®¤¹¤ë"
+
+-#: common.opt:767
++#: common.opt:770
+ #, fuzzy
+ msgid "Generate position-independent code for executables if possible (large mode)"
+ msgstr "²Äǽ¤Ç¤¢¤ì¤Ð°ÌÃÖÆÈΩ¥³¡¼¥É¤òÀ¸À®¤¹¤ë"
+
+-#: common.opt:771
++#: common.opt:774
+ #, fuzzy
+ msgid "Generate position-independent code if possible (small mode)"
+ msgstr "²Äǽ¤Ç¤¢¤ì¤Ð°ÌÃÖÆÈΩ¥³¡¼¥É¤òÀ¸À®¤¹¤ë"
+
+-#: common.opt:775
++#: common.opt:778
+ #, fuzzy
+ msgid "Generate position-independent code for executables if possible (small mode)"
+ msgstr "²Äǽ¤Ç¤¢¤ì¤Ð°ÌÃÖÆÈΩ¥³¡¼¥É¤òÀ¸À®¤¹¤ë"
+
+-#: common.opt:779
++#: common.opt:782
+ #, fuzzy
+ msgid "Run predictive commoning optimization."
+ msgstr "ºÇŬ²½²áÄø¤Î¥ì¥¸¥¹¥¿¤Ä¤±ÊѤ¨¤ò¹Ô¤Ê¤¦"
+
+-#: common.opt:783
++#: common.opt:786
+ msgid "Generate prefetch instructions, if available, for arrays in loops"
+ msgstr ""
+
+-#: common.opt:787
++#: common.opt:790
+ #, fuzzy
+ msgid "Enable basic program profiling code"
+ msgstr "¥×¥í¥°¥é¥à¤¬¥³¡¼¥É¥×¥í¥Õ¥¡¥¤¥ë¤¹¤ë¸µ¤Ë¤Ê¤ë¸Ì¤òÁÞÆþ¤¹¤ë"
+
+-#: common.opt:791
++#: common.opt:794
+ #, fuzzy
+ msgid "Insert arc-based program profiling code"
+ msgstr "¥×¥í¥°¥é¥à¤¬¥³¡¼¥É¥×¥í¥Õ¥¡¥¤¥ë¤¹¤ë¸µ¤Ë¤Ê¤ë¸Ì¤òÁÞÆþ¤¹¤ë"
+
+-#: common.opt:795
++#: common.opt:798
+ msgid "Enable common options for generating profile info for profile feedback directed optimizations"
+ msgstr ""
+
+-#: common.opt:799
++#: common.opt:802
+ msgid "Enable common options for performing profile feedback directed optimizations"
+ msgstr ""
+
+-#: common.opt:803
++#: common.opt:806
+ msgid "Insert code to profile values of expressions"
+ msgstr ""
+
+-#: common.opt:810
++#: common.opt:813
+ msgid "Make compile reproducible using <string>"
+ msgstr ""
+
+-#: common.opt:820
++#: common.opt:823
+ msgid "Record gcc command line switches in the object file."
+ msgstr ""
+
+-#: common.opt:824
++#: common.opt:827
+ #, fuzzy
+ msgid "Return small aggregates in registers"
+ msgstr "'¾®¤µ¤Ê' ½¸¹çÂΤò¥ì¥¸¥¹¥¿¤Ë³ÊǼ¤·¤ÆÊÖ¤¹"
+
+-#: common.opt:828
++#: common.opt:831
+ #, fuzzy
+ msgid "Enables a register move optimization"
+ msgstr "°ÜÆ°Ì¿ÎáºÇŬ²½¥ì¥¸¥¹¥¿¤òÍ­¸ú¤Ë¤¹¤ë"
+
+-#: common.opt:832
++#: common.opt:835
+ #, fuzzy
+ msgid "Perform a register renaming optimization pass"
+ msgstr "ºÇŬ²½²áÄø¤Î¥ì¥¸¥¹¥¿¤Ä¤±ÊѤ¨¤ò¹Ô¤Ê¤¦"
+
+-#: common.opt:836
++#: common.opt:839
+ msgid "Reorder basic blocks to improve code placement"
+ msgstr "¥³¡¼¥ÉÇÛÃÖ¤ò²þÁ±¤¹¤ë¤¿¤á¤Ë´ðËÜ¥Ö¥í¥Ã¥¯¤òºÆÀ°Íý¤¹¤ë"
+
+-#: common.opt:840
++#: common.opt:843
+ #, fuzzy
+ msgid "Reorder basic blocks and partition into hot and cold sections"
+ msgstr "¥³¡¼¥ÉÇÛÃÖ¤ò²þÁ±¤¹¤ë¤¿¤á¤Ë´ðËÜ¥Ö¥í¥Ã¥¯¤òºÆÀ°Íý¤¹¤ë"
+
+-#: common.opt:844
++#: common.opt:847
+ #, fuzzy
+ msgid "Reorder functions to improve code placement"
+ msgstr "¥³¡¼¥ÉÇÛÃÖ¤ò²þÁ±¤¹¤ë¤¿¤á¤Ë´ðËÜ¥Ö¥í¥Ã¥¯¤òºÆÀ°Íý¤¹¤ë"
+
+-#: common.opt:848
++#: common.opt:851
+ #, fuzzy
+ msgid "Add a common subexpression elimination pass after loop optimizations"
+ msgstr "¥ë¡¼¥×ºÇŬ²½¸å¤Ë¶¦ÄÌÉôʬ¼°½üµî²áÄø¤ò¼Â¹Ô"
+
+-#: common.opt:856
++#: common.opt:859
+ msgid "Disable optimizations that assume default FP rounding behavior"
+ msgstr ""
+
+-#: common.opt:860
++#: common.opt:863
+ msgid "Enable scheduling across basic blocks"
+ msgstr "´ðËÜ¥Ö¥í¥Ã¥¯¤ò¸Ù¤°Ì¿ÎáÇÛÃÖ¤òÍ­¸ú¤Ë¤¹¤ë"
+
+-#: common.opt:864
++#: common.opt:867
+ msgid "Allow speculative motion of non-loads"
+ msgstr "Èó¥í¡¼¥É¤Ç¤ÎÉԳμ¤ÊÆ°ºî¤òµö²Ä¤¹¤ë"
+
+-#: common.opt:868
++#: common.opt:871
+ msgid "Allow speculative motion of some loads"
+ msgstr "¤¤¤¯¤Ä¤«¤Î¥í¡¼¥É¤Ç¤ÎÉԳμ¤ÊÆ°ºî¤òµö²Ä¤¹¤ë"
+
+-#: common.opt:872
++#: common.opt:875
+ msgid "Allow speculative motion of more loads"
+ msgstr "¤è¤ê¿¤¯¤Î¥í¡¼¥É¤Ç¤ÎÉԳμ¤ÊÆ°ºî¤òµö²Ä¤¹¤ë"
+
+-#: common.opt:876
++#: common.opt:879
+ #, fuzzy
+ msgid "Set the verbosity level of the scheduler"
+ msgstr " -fsched-verbose=<number> ¥¹¥±¥¸¥å¡¼¥é¤ÎñÁÀå¥ì¥Ù¥ë¤òÀßÄꤹ¤ë\n"
+
+-#: common.opt:880
++#: common.opt:883
+ msgid "If scheduling post reload, do superblock scheduling"
+ msgstr ""
+
+-#: common.opt:884
++#: common.opt:887
+ msgid "If scheduling post reload, do trace scheduling"
+ msgstr ""
+
+-#: common.opt:888
++#: common.opt:891
+ msgid "Reschedule instructions before register allocation"
+ msgstr "¥ì¥¸¥¹¥¿³ÎÊݤÎÁ°¤ËÌ¿Îá¤òÊ¤Ùľ¤¹"
+
+-#: common.opt:892
++#: common.opt:895
+ msgid "Reschedule instructions after register allocation"
+ msgstr "¥ì¥¸¥¹¥¿³ÎÊݤθå¤ÇÌ¿Îá¤òÊ¤Ùľ¤¹"
+
+-#: common.opt:898
++#: common.opt:901
+ msgid "Allow premature scheduling of queued insns"
+ msgstr ""
+
+-#: common.opt:902
++#: common.opt:905
+ msgid "Set number of queued insns that can be prematurely scheduled"
+ msgstr ""
+
+-#: common.opt:910 common.opt:914
++#: common.opt:913 common.opt:917
+ msgid "Set dependence distance checking in premature scheduling of queued insns"
+ msgstr ""
+
+-#: common.opt:918
++#: common.opt:921
+ msgid "Access data in the same section from shared anchor points"
+ msgstr ""
+
+-#: common.opt:922
++#: common.opt:925
+ #, fuzzy
+ msgid "Perform sequence abstraction optimization on RTL"
+ msgstr "¶¯Åٺ︺ºÇŬ²½¤ò¹Ô¤Ê¤¦"
+
+-#: common.opt:926
++#: common.opt:929
+ msgid "Eliminate redundant sign extensions using LCM."
+ msgstr ""
+
+-#: common.opt:930
++#: common.opt:933
+ msgid "Show column numbers in diagnostics, when available. Default off"
+ msgstr ""
+
+-#: common.opt:934
++#: common.opt:937
+ msgid "Disable optimizations observable by IEEE signaling NaNs"
+ msgstr ""
+
+-#: common.opt:938
++#: common.opt:941
+ msgid "Disable floating point optimizations that ignore the IEEE signedness of zero"
+ msgstr ""
+
+-#: common.opt:942
++#: common.opt:945
+ #, fuzzy
+ msgid "Convert floating point constants to single precision constants"
+ msgstr "ÉâÆ°¾®¿ôÅÀÄê¿ô¤òñÀºÅÙÄê¿ô¤ËÊÑ´¹¤¹¤ë"
+
+-#: common.opt:946
++#: common.opt:949
+ msgid "Split lifetimes of induction variables when loops are unrolled"
+ msgstr ""
+
+-#: common.opt:950
++#: common.opt:953
+ msgid "Split wide types into independent registers"
+ msgstr ""
+
+-#: common.opt:954
++#: common.opt:957
+ msgid "Apply variable expansion when loops are unrolled"
+ msgstr ""
+
+-#: common.opt:960
++#: common.opt:963
+ msgid "Insert stack checking code into the program"
+ msgstr "¥×¥í¥°¥é¥à¤Ë¥¹¥¿¥Ã¥¯¶­³¦¸¡½Ð¥³¡¼¥É¤òÁÞÆþ¤¹¤ë"
+
+-#: common.opt:967
++#: common.opt:970
+ msgid "Trap if the stack goes past <register>"
+ msgstr ""
+
+-#: common.opt:971
++#: common.opt:974
+ msgid "Trap if the stack goes past symbol <name>"
+ msgstr ""
+
+-#: common.opt:975
++#: common.opt:978
+ msgid "Use propolice as a stack protection method"
+ msgstr ""
+
+-#: common.opt:979
++#: common.opt:982
+ msgid "Use a stack protection method for every function"
+ msgstr ""
+
+-#: common.opt:991
++#: common.opt:994
+ msgid "Assume strict aliasing rules apply"
+ msgstr "¸·Ì©¤ÊÊÌ̾µ¬Â§¤ËŬ¹ç¤¹¤ë¤È¤ß¤Ê¤¹"
+
+-#: common.opt:995
++#: common.opt:998
+ #, fuzzy
+ msgid "Treat signed overflow as undefined"
+ msgstr "Windows ¤Î define ¤òÀßÄꤹ¤ë"
+
+-#: common.opt:999
++#: common.opt:1002
+ msgid "Check for syntax errors, then stop"
+ msgstr "ʸˡ¥¨¥é¡¼¤ò¸¡½Ð¤·¤Æ¡¢¤½¤³¤ÇÄä»ß¤¹¤ë"
+
+-#: common.opt:1003
++#: common.opt:1006
+ #, fuzzy
+ msgid "Create data files needed by \"gcov\""
+ msgstr "gcov ¤¬É¬ÍפȤ¹¤ë¥Ç¡¼¥¿¥Õ¥¡¥¤¥ë¤òºîÀ®¤¹¤ë"
+
+-#: common.opt:1007
++#: common.opt:1010
+ #, fuzzy
+ msgid "Perform jump threading optimizations"
+ msgstr "¥¸¥ã¥ó¥×ʬ´ôºÇŬ²½¤ò¹Ô¤Ê¤¦"
+
+-#: common.opt:1011
++#: common.opt:1014
+ #, fuzzy
+ msgid "Report the time taken by each compiler pass"
+ msgstr "¼Â¹Ô½ªÎ»»þ¤Ë¥³¥ó¥Ñ¥¤¥é¤Î³Æ²áÄø¤ËÍפ·¤¿»þ´Ö¤òÊó¹ð¤¹¤ë"
+
+-#: common.opt:1015
++#: common.opt:1018
+ msgid "Set the default thread-local storage code generation model"
+ msgstr ""
+
+-#: common.opt:1019
++#: common.opt:1022
+ msgid "Reorder top level functions, variables, and asms"
+ msgstr ""
+
+-#: common.opt:1023
++#: common.opt:1026
+ msgid "Perform superblock formation via tail duplication"
+ msgstr ""
+
+-#: common.opt:1030
++#: common.opt:1033
+ msgid "Assume floating-point operations can trap"
+ msgstr ""
+
+-#: common.opt:1034
++#: common.opt:1037
+ #, fuzzy
+ msgid "Trap for signed overflow in addition, subtraction and multiplication"
+ msgstr "Éä¹çÉÕ¤­¤Î²Ã»»/¸º»»/¾è»»¤Ç¤Î·å¤¢¤Õ¤ì¤ò¥È¥é¥Ã¥×¤¹¤ë"
+
+-#: common.opt:1038
++#: common.opt:1041
+ #, fuzzy
+ msgid "Enable SSA-CCP optimization on trees"
+ msgstr "SSA ºÇŬ²½¤òÍ­¸ú¤Ë¤¹¤ë"
+
+-#: common.opt:1042
++#: common.opt:1045
+ #, fuzzy
+ msgid "Enable SSA-CCP optimization for stores and loads"
+ msgstr "SSA ºÇŬ²½¤òÍ­¸ú¤Ë¤¹¤ë"
+
+-#: common.opt:1046
++#: common.opt:1049
+ msgid "Enable loop header copying on trees"
+ msgstr ""
+
+-#: common.opt:1050
++#: common.opt:1053
+ msgid "Replace SSA temporaries with better names in copies"
+ msgstr ""
+
+-#: common.opt:1054
++#: common.opt:1057
+ msgid "Enable copy propagation on trees"
+ msgstr ""
+
+-#: common.opt:1058
+-msgid "This switch is obsolete"
+-msgstr ""
+-
+-#: common.opt:1062
++#: common.opt:1065
+ msgid "Transform condition stores into unconditional ones"
+ msgstr ""
+
+-#: common.opt:1066
++#: common.opt:1069
+ #, fuzzy
+ msgid "Enable SSA dead code elimination optimization on trees"
+ msgstr "¥Ç¥Ã¥É¥³¡¼¥É¤Î½üµî¤ò¹Ô¤Ê¤¦"
+
+-#: common.opt:1070
++#: common.opt:1073
+ #, fuzzy
+ msgid "Enable dominator optimizations"
+ msgstr "SSA ºÇŬ²½¤òÍ­¸ú¤Ë¤¹¤ë"
+
+-#: common.opt:1074
++#: common.opt:1077
+ #, fuzzy
+ msgid "Enable dead store elimination"
+ msgstr "¥Ç¥Ã¥É¥³¡¼¥É¤Î½üµî¤ò¹Ô¤Ê¤¦"
+
+-#: common.opt:1078
++#: common.opt:1081
+ msgid "Enable Full Redundancy Elimination (FRE) on trees"
+ msgstr ""
+
+-#: common.opt:1082
++#: common.opt:1085
+ #, fuzzy
+ msgid "Enable loop invariant motion on trees"
+ msgstr "¥ë¡¼¥×Ãæ¤ËÉÔÊѤʷ׻»¤ò¥ë¡¼¥×¤Î³°¤Ë°ÜÆ°¤¹¤ë"
+
+-#: common.opt:1086
++#: common.opt:1089
+ msgid "Enable linear loop transforms on trees"
+ msgstr ""
+
+-#: common.opt:1090
++#: common.opt:1093
+ #, fuzzy
+ msgid "Create canonical induction variables in loops"
+ msgstr "¥ë¡¼¥×¤ÎÃæ¤ÎÁ´¤Æ¤Î°ìÈÌͶƳÊÑ¿ô¤ò¶¯Åٺ︺¤¹¤ë"
+
+-#: common.opt:1094
++#: common.opt:1097
+ #, fuzzy
+ msgid "Enable loop optimizations on tree level"
+ msgstr "SSA ºÇŬ²½¤òÍ­¸ú¤Ë¤¹¤ë"
+
+-#: common.opt:1098
++#: common.opt:1101
+ #, fuzzy
+ msgid "Enable automatic parallelization of loops"
+ msgstr "¼«Æ°¥Æ¥ó¥×¥ì¡¼¥È¼ÂÂ⽤òÍ­¸ú¤Ë¤¹¤ë"
+
+-#: common.opt:1102
++#: common.opt:1105
+ #, fuzzy
+ msgid "Enable SSA-PRE optimization on trees"
+ msgstr "SSA ºÇŬ²½¤òÍ­¸ú¤Ë¤¹¤ë"
+
+-#: common.opt:1106
++#: common.opt:1109
+ msgid "Enable reassociation on tree level"
+ msgstr ""
+
+-#: common.opt:1110
++#: common.opt:1113
+ msgid "Perform structural alias analysis"
+ msgstr ""
+
+-#: common.opt:1114
++#: common.opt:1117
+ #, fuzzy
+ msgid "Enable SSA code sinking on trees"
+ msgstr "SSA ºÇŬ²½¤òÍ­¸ú¤Ë¤¹¤ë"
+
+-#: common.opt:1118
++#: common.opt:1121
+ msgid "Perform scalar replacement of aggregates"
+ msgstr ""
+
+-#: common.opt:1122
++#: common.opt:1125
+ msgid "Replace temporary expressions in the SSA->normal pass"
+ msgstr ""
+
+-#: common.opt:1126
++#: common.opt:1129
+ msgid "Perform live range splitting during the SSA->normal pass"
+ msgstr ""
+
+-#: common.opt:1130
++#: common.opt:1133
+ msgid "Perform Value Range Propagation on trees"
+ msgstr ""
+
+-#: common.opt:1134
++#: common.opt:1137
+ #, fuzzy
+ msgid "Compile whole compilation unit at a time"
+ msgstr "ËÝÌõñ°ÌÁ´ÂΤò¥Õ¥¡¥¤¥ë¤Ë¥À¥ó¥×¤¹¤ë"
+
+-#: common.opt:1138
++#: common.opt:1141
+ msgid "Perform loop unrolling when iteration count is known"
+ msgstr "È¿Éü²ó¿ô¤¬´ûÃΤΤȤ­¡¢¥ë¡¼¥×Ÿ³«¤ò¹Ô¤Ê¤¦"
+
+-#: common.opt:1142
++#: common.opt:1145
+ msgid "Perform loop unrolling for all loops"
+ msgstr "Á´¤Æ¤Î¥ë¡¼¥×¤Ç¥ë¡¼¥×Ÿ³«¤ò¹Ô¤Ê¤¦"
+
+-#: common.opt:1149
++#: common.opt:1152
+ msgid "Allow loop optimizations to assume that the loops behave in normal way"
+ msgstr ""
+
+-#: common.opt:1153
++#: common.opt:1156
+ msgid "Allow optimization for floating-point arithmetic which may change the"
+ msgstr ""
+
+-#: common.opt:1158
++#: common.opt:1161
+ msgid "Same as -fassociative-math for expressions which include division."
+ msgstr ""
+
+-#: common.opt:1166
++#: common.opt:1169
+ msgid "Allow math optimizations that may violate IEEE or ISO standards"
+ msgstr ""
+
+-#: common.opt:1170
++#: common.opt:1173
+ #, fuzzy
+ msgid "Perform loop unswitching"
+ msgstr "Á´¤Æ¤Î¥ë¡¼¥×¤Ç¥ë¡¼¥×Ÿ³«¤ò¹Ô¤Ê¤¦"
+
+-#: common.opt:1174
++#: common.opt:1177
+ msgid "Just generate unwind tables for exception handling"
+ msgstr "´¬¤­Ìᤷ¤ò¹Ô¤Ê¤¦Îã³°Êä­Íѥơ¼¥Ö¥ë¤òÀ¸À®¤¹¤ë"
+
+-#: common.opt:1178
++#: common.opt:1181
+ #, fuzzy
+ msgid "Perform variable tracking"
+ msgstr "ËöÈø¸Æ¤Ó½Ð¤·ºÇŬ²½¤ò¹Ô¤¦"
+
+-#: common.opt:1182
++#: common.opt:1185
+ msgid "Perform variable tracking and also tag variables that are uninitialized"
+ msgstr ""
+
+-#: common.opt:1186
++#: common.opt:1189
+ #, fuzzy
+ msgid "Enable loop vectorization on trees"
+ msgstr "SSA ºÇŬ²½¤òÍ­¸ú¤Ë¤¹¤ë"
+
+-#: common.opt:1190
++#: common.opt:1193
+ #, fuzzy
+ msgid "Enable use of cost model in vectorization"
+ msgstr "¾ò·ïŪ move Ì¿Îá¤ÎÍøÍѤòÍ­¸ú¤Ë¤¹¤ë"
+
+-#: common.opt:1194
++#: common.opt:1197
+ msgid "Enable loop versioning when doing loop vectorization on trees"
+ msgstr ""
+
+-#: common.opt:1198
++#: common.opt:1201
+ #, fuzzy
+ msgid "Set the verbosity level of the vectorizer"
+ msgstr " -fsched-verbose=<number> ¥¹¥±¥¸¥å¡¼¥é¤ÎñÁÀå¥ì¥Ù¥ë¤òÀßÄꤹ¤ë\n"
+
+-#: common.opt:1202
++#: common.opt:1205
+ msgid "Enable copy propagation of scalar-evolution information."
+ msgstr ""
+
+-#: common.opt:1212
++#: common.opt:1215
+ #, fuzzy
+ msgid "Add extra commentary to assembler output"
+ msgstr ";ʬ¤Ê¥³¥á¥ó¥È¤ò¥¢¥»¥ó¥Ö¥é½ÐÎϤËÄɲ乤ë"
+
+-#: common.opt:1216
++#: common.opt:1219
+ msgid "Set the default symbol visibility"
+ msgstr ""
+
+-#: common.opt:1221
++#: common.opt:1224
+ msgid "Use expression value profiles in optimizations"
+ msgstr ""
+
+-#: common.opt:1225
++#: common.opt:1228
+ msgid "Construct webs and split unrelated uses of single variable"
+ msgstr ""
+
+-#: common.opt:1229
++#: common.opt:1232
+ #, fuzzy
+ msgid "Perform whole program optimizations"
+ msgstr "ËöÈø¸Æ¤Ó½Ð¤·ºÇŬ²½¤ò¹Ô¤¦"
+
+-#: common.opt:1233
++#: common.opt:1236
+ msgid "Assume signed arithmetic overflow wraps around"
+ msgstr ""
+
+-#: common.opt:1237
++#: common.opt:1240
+ #, fuzzy
+ msgid "Put zero initialized data in the bss section"
+ msgstr "Âç°èÊÑ¿ôÅù¤ò½é´ü²½¤µ¤ì¤Ê¤¤¥³¥â¥ó¥»¥¯¥·¥ç¥ó¤ËÃÖ¤«¤Ê¤¤"
+
+-#: common.opt:1241
++#: common.opt:1244
+ #, fuzzy
+ msgid "Generate debug information in default format"
+ msgstr "¥Ç¥Õ¥©¥ë¥È·Á¼°¤Î¥Ç¥Ð¥Ã¥°¾ðÊó¤òÀ¸À®¤¹¤ë"
+
+-#: common.opt:1245
++#: common.opt:1248
+ #, fuzzy
+ msgid "Generate debug information in COFF format"
+ msgstr "¥Ç¥Õ¥©¥ë¥È·Á¼°¤Î¥Ç¥Ð¥Ã¥°¾ðÊó¤òÀ¸À®¤¹¤ë"
+
+-#: common.opt:1249
++#: common.opt:1252
+ #, fuzzy
+ msgid "Generate debug information in DWARF v2 format"
+ msgstr "¥Ç¥Õ¥©¥ë¥È·Á¼°¤Î¥Ç¥Ð¥Ã¥°¾ðÊó¤òÀ¸À®¤¹¤ë"
+
+-#: common.opt:1253
++#: common.opt:1256
+ #, fuzzy
+ msgid "Generate debug information in default extended format"
+ msgstr "¥Ç¥Õ¥©¥ë¥È³ÈÄ¥·Á¼°¤Î¥Ç¥Ð¥Ã¥°¾ðÊó¤òÀ¸À®¤¹¤ë"
+
+-#: common.opt:1257
++#: common.opt:1260
+ #, fuzzy
+ msgid "Generate debug information in STABS format"
+ msgstr "¥Ç¥Õ¥©¥ë¥È·Á¼°¤Î¥Ç¥Ð¥Ã¥°¾ðÊó¤òÀ¸À®¤¹¤ë"
+
+-#: common.opt:1261
++#: common.opt:1264
+ #, fuzzy
+ msgid "Generate debug information in extended STABS format"
+ msgstr "¥Ç¥Õ¥©¥ë¥È³ÈÄ¥·Á¼°¤Î¥Ç¥Ð¥Ã¥°¾ðÊó¤òÀ¸À®¤¹¤ë"
+
+-#: common.opt:1265
++#: common.opt:1268
+ #, fuzzy
+ msgid "Generate debug information in VMS format"
+ msgstr "¥Ç¥Õ¥©¥ë¥È·Á¼°¤Î¥Ç¥Ð¥Ã¥°¾ðÊó¤òÀ¸À®¤¹¤ë"
+
+-#: common.opt:1269
++#: common.opt:1272
+ #, fuzzy
+ msgid "Generate debug information in XCOFF format"
+ msgstr "¥Ç¥Õ¥©¥ë¥È·Á¼°¤Î¥Ç¥Ð¥Ã¥°¾ðÊó¤òÀ¸À®¤¹¤ë"
+
+-#: common.opt:1273
++#: common.opt:1276
+ #, fuzzy
+ msgid "Generate debug information in extended XCOFF format"
+ msgstr "¥Ç¥Õ¥©¥ë¥È³ÈÄ¥·Á¼°¤Î¥Ç¥Ð¥Ã¥°¾ðÊó¤òÀ¸À®¤¹¤ë"
+
+-#: common.opt:1277
++#: common.opt:1280
+ #, fuzzy
+ msgid "Place output into <file>"
+ msgstr " -o <file> ½ÐÎϤò <file> ¤Ë½ñ¤­¹þ¤à\n"
+
+-#: common.opt:1281
++#: common.opt:1284
+ #, fuzzy
+ msgid "Enable function profiling"
+ msgstr "mips16 ´Ø¿ô¥×¥í¥Õ¥¡¥¤¥ë"
+
+-#: common.opt:1285
++#: common.opt:1288
+ #, fuzzy
+ msgid "Issue warnings needed for strict compliance to the standard"
+ msgstr " -pedantic ¸·Ì©¤Ê ISO C ¤Ø¤ÎŬ¹ç¤ËÍפ¹¤ë·Ù¹ð¤òȯ¤¹¤ë\n"
+
+-#: common.opt:1289
++#: common.opt:1292
+ msgid "Like -pedantic but issue them as errors"
+ msgstr ""
+
+-#: common.opt:1293
++#: common.opt:1296
+ #, fuzzy
+ msgid "Do not display functions compiled or elapsed time"
+ msgstr " -quiet ¥³¥ó¥Ñ¥¤¥ë¤µ¤ì¤¿´Ø¿ô¤ä·Ð²á»þ´Ö¤òɽ¼¨¤·¤Ê¤¤\n"
+
+-#: common.opt:1297
++#: common.opt:1300
+ #, fuzzy
+ msgid "Display the compiler's version"
+ msgstr " -version ¥³¥ó¥Ñ¥¤¥é¤Î¥Ð¡¼¥¸¥ç¥ó¤òɽ¼¨¤¹¤ë\n"
+
+-#: common.opt:1301
++#: common.opt:1304
+ #, fuzzy
+ msgid "Suppress warnings"
+ msgstr "%s: ·Ù¹ð: "
+
+-#: common.opt:1305
++#: common.opt:1308
+ msgid "Create a shared library"
+ msgstr ""
+
+-#: common.opt:1309
++#: common.opt:1312
+ #, fuzzy
+ msgid "Create a position independent executable"
+ msgstr "²Äǽ¤Ç¤¢¤ì¤Ð°ÌÃÖÆÈΩ¥³¡¼¥É¤òÀ¸À®¤¹¤ë"
+
++#: c.opt:41
++msgid "Assert the <answer> to <question>. Putting '-' before <question> disables the <answer> to <question>"
++msgstr ""
++
++#: c.opt:45
++#, fuzzy
++msgid "Do not discard comments"
++msgstr "½ªÃ¼¤µ¤ì¤Æ¤¤¤Ê¤¤¥³¥á¥ó¥È"
++
++#: c.opt:49
++#, fuzzy
++msgid "Do not discard comments in macro expansions"
++msgstr "¥Ó¥Ã¥È±é»»¤Ç¤Î¨ÃÍ¥µ¥¤¥º¤òÄ´Ä䤷¤Ê¤¤"
++
++#: c.opt:53
++msgid "Define a <macro> with <val> as its value. If just <macro> is given, <val> is taken to be 1"
++msgstr ""
++
++#: c.opt:60
++msgid "Add <dir> to the end of the main framework include path"
++msgstr ""
++
++#: c.opt:64
++#, fuzzy
++msgid "Print the name of header files as they are used"
++msgstr "¥³¥ó¥Ñ¥¤¥ë¤µ¤ì¤¿¥×¥í¥°¥é¥àñ°Ì¤Î̾Á°¤òɽ¼¨¤¹¤ë"
++
++#: c.opt:68 c.opt:863
++msgid "Add <dir> to the end of the main include path"
++msgstr ""
++
++#: c.opt:72
++#, fuzzy
++msgid "Generate make dependencies"
++msgstr "ưŪ°Í¸´Ø·¸¡£\n"
++
++#: c.opt:76
++#, fuzzy
++msgid "Generate make dependencies and compile"
++msgstr "¥ê¥È¥ë¥¨¥ó¥Ç¥£¥¢¥ó¤Î¥³¡¼¥É¤òÀ¸À®"
++
++#: c.opt:80
++msgid "Write dependency output to the given file"
++msgstr ""
++
++#: c.opt:84
++msgid "Treat missing header files as generated files"
++msgstr ""
++
++#: c.opt:88
++msgid "Like -M but ignore system header files"
++msgstr ""
++
++#: c.opt:92
++msgid "Like -MD but ignore system header files"
++msgstr ""
++
++#: c.opt:96
++#, fuzzy
++msgid "Generate phony targets for all headers"
++msgstr "Intel as ÍѤΥ³¡¼¥É¤òÀ¸À®¤¹¤ë"
++
++#: c.opt:100
++msgid "Add a MAKE-quoted target"
++msgstr ""
++
++#: c.opt:104
++msgid "Add an unquoted target"
++msgstr ""
++
++#: c.opt:108
++#, fuzzy
++msgid "Do not generate #line directives"
++msgstr ".size µ¿»÷Ì¿Îá¤òÀ¸À®¤·¤Ê¤¤"
++
++#: c.opt:112
++msgid "Undefine <macro>"
++msgstr ""
++
++#: c.opt:116
++msgid "Warn about things that will change when compiling with an ABI-compliant compiler"
++msgstr ""
++
++#: c.opt:120
++#, fuzzy
++msgid "Warn about suspicious uses of memory addresses"
++msgstr "µ¿¤ï¤·¤¤ main ¤ÎÀë¸À¤Ë´Ø¤·¤Æ·Ù¹ð¤¹¤ë"
++
++#: c.opt:124
++msgid "Enable most warning messages"
++msgstr "Ëؤó¤É¤Î·Ù¹ð¥á¥Ã¥»¡¼¥¸¤òÍ­¸ú¤Ë¤¹¤ë"
++
++#: c.opt:128
++#, fuzzy
++msgid "Warn if a comparison is always true or always false due to the limited range of the data type"
++msgstr "¥Ç¡¼¥¿·¿¤ÎÈÏ°ÏÀ©¸Â¤Ë¤è¤Ã¤Æ¡¢Èæ³Ó¤¬¾ï¤Ë false ¤È¤Ê¤ê¤Þ¤¹"
++
++#: c.opt:132
++msgid "Warn whenever an Objective-C assignment is being intercepted by the garbage collector"
++msgstr ""
++
++#: c.opt:136
++msgid "Warn about casting functions to incompatible types"
++msgstr "·¿¤Ë¸ß´¹À­¤Î¤Ê¤¤´Ø¿ô¤Î¥­¥ã¥¹¥È¤Ë´Ø¤·¤Æ·Ù¹ð¤¹¤ë"
++
++#: c.opt:140
++msgid "Warn about C constructs that are not in the common subset of C and C++"
++msgstr ""
++
++#: c.opt:144
++#, fuzzy
++msgid "Warn about C++ constructs whose meaning differs between ISO C++ 1998 and ISO C++ 200x"
++msgstr "ISO C ¤Ç¤½¤Î°ÕÌ£¤¬Êѹ¹¤µ¤ì¤¿ÆâÍƤ˴ؤ·¤Æ·Ù¹ð¤¹¤ë"
++
++#: c.opt:148
++msgid "Warn about casts which discard qualifiers"
++msgstr "½¤¾þ»Ò¤ò¼è¤êµî¤ë¥­¥ã¥¹¥È¤Ë¤Ä¤¤¤Æ·Ù¹ð¤¹¤ë"
++
++#: c.opt:152
++#, fuzzy
++msgid "Warn about subscripts whose type is \"char\""
++msgstr "ź»ú¤Î·¿¤¬ 'char' ¤Ç¤¢¤ì¤Ð·Ù¹ð¤¹¤ë"
++
++#: c.opt:156
++#, fuzzy
++msgid "Warn about variables that might be changed by \"longjmp\" or \"vfork\""
++msgstr "ÊÑ¿ô `%s' ¤Ï `longjmp' ¤ä `vfork' ¤Ë¤è¤Ã¤Æ¹ó¤¤¤³¤È¤Ë¤Ê¤ë²ÄǽÀ­¤¬¤¢¤ê¤Þ¤¹"
++
++#: c.opt:160
++msgid "Warn about possibly nested block comments, and C++ comments spanning more than one physical line"
++msgstr ""
++
++#: c.opt:164
++msgid "Synonym for -Wcomment"
++msgstr ""
++
++#: c.opt:168
++msgid "Warn for implicit type conversions that may change a value"
++msgstr ""
++
++#: c.opt:172
++#, fuzzy
++msgid "Warn for implicit type conversions between signed and unsigned integers"
++msgstr "Éä¹çÉÕ¤­¤ÈÉä¹ç̵¤·¤ÎÀ°¿ô¼°Æ±»Î¤ÎÈæ³Ó¤Ç¤¹"
++
++#: c.opt:176
++#, fuzzy
++msgid "Warn when all constructors and destructors are private"
++msgstr "Á´¤Æ¤Î¥³¥ó¥¹¥È¥é¥¯¥¿/¥Ç¥¹¥È¥é¥¯¥¿¤¬ private ¤Ç¤â·Ù¹ð¤·¤Ê¤¤"
++
++#: c.opt:180
++#, fuzzy
++msgid "Warn when a declaration is found after a statement"
++msgstr "Àë¸À¤¬·¿¤ò»ØÄꤷ¤Æ¤¤¤Ê¤¤¾ì¹ç¤Ë·Ù¹ð¤¹¤ë"
++
++#: c.opt:184
++#, fuzzy
++msgid "Warn about deprecated compiler features"
++msgstr "¿ä¾©¤µ¤ì¤Ê¤¤¥³¥ó¥Ñ¥¤¥é¤Îµ¡Ç½¤ò¹ðÃΤ·¤Ê¤¤"
++
++#: c.opt:188
++#, fuzzy
++msgid "Warn about compile-time integer division by zero"
++msgstr "À°¿ô¤Î¥¼¥í½ü»»¤ò¥È¥é¥Ã¥×¤¹¤ë"
++
++#: c.opt:192
++msgid "Warn about violations of Effective C++ style rules"
++msgstr "Effective C++ ¼°¤Î»Ø¿Ë¤«¤é¤Ï¤º¤ì¤ë¤â¤Î¤Ë¤Ä¤¤¤Æ·Ù¹ð¤¹¤ë"
++
++#: c.opt:196
++#, fuzzy
++msgid "Warn about an empty body in an if or else statement"
++msgstr "else ʸ¤ÎÃæ¿È¤¬¶õ¤Ç¤¹"
++
++#: c.opt:200
++msgid "Warn about stray tokens after #elif and #endif"
++msgstr ""
++
++#: c.opt:208
++msgid "This switch is deprecated; use -Werror=implicit-function-declaration instead"
++msgstr ""
++
++#: c.opt:212
++#, fuzzy
++msgid "Warn if testing floating point numbers for equality"
++msgstr "ÉâÆ°¾®¿ôÅÀ¿ô¤ÎÅù²Á¥Æ¥¹¥È¤Ë´Ø¤·¤Æ·Ù¹ð¤¹¤ë"
++
++#: c.opt:216
++#, fuzzy
++msgid "Warn about printf/scanf/strftime/strfmon format string anomalies"
++msgstr "printf/scanf/strftime/strfmon ·Á¼°¤ÎÊѧŪ¤Ê¤â¤Î¤Ë´Ø¤·¤Æ·Ù¹ð¤¹¤ë"
++
++#: c.opt:220
++#, fuzzy
++msgid "Warn if passing too many arguments to a function for its format string"
++msgstr "`va_start' ¤ËÂФ¹¤ë°ú¿ô¤¬Â¿¤¹¤®¤Þ¤¹"
++
++#: c.opt:224
++#, fuzzy
++msgid "Warn about format strings that are not literals"
++msgstr "Ê£¿ôʸ»ú¥ê¥Æ¥é¥ë¤Î»ÈÍѤ˴ؤ·¤Æ·Ù¹ð¤¹¤ë"
++
++#: c.opt:228
++msgid "Warn about format strings that contain NUL bytes"
++msgstr ""
++
++#: c.opt:232
++msgid "Warn about possible security problems with format functions"
++msgstr "¥»¥­¥å¥ê¥Æ¥£Åª¤ÊÌäÂê¤È¤Ê¤ê¤¦¤ë format ´Ø¿ô¤Ë´Ø¤·¤Æ·Ù¹ð¤¹¤ë"
++
++#: c.opt:236
++#, fuzzy
++msgid "Warn about strftime formats yielding 2-digit years"
++msgstr "strftime ·Á¼°¤¬Æó·å¤Çǯ¤òɽ¤·¤Æ¤¤¤ë»þ¤Î·Ù¹ð¤·¤Ê¤¤"
++
++#: c.opt:240
++#, fuzzy
++msgid "Warn about zero-length formats"
++msgstr "Ťµ 0 ¤Î¥Õ¥©¡¼¥Þ¥Ã¥Èʸ»úÎó"
++
++#: c.opt:247
++#, fuzzy
++msgid "Warn whenever type qualifiers are ignored."
++msgstr "¥È¥é¥¤¥°¥é¥Õ¤òȯ¸«¤·¤¿¤È¤­¤Ë·Ù¹ð¤¹¤ë"
++
++#: c.opt:251
++msgid "Warn about variables which are initialized to themselves"
++msgstr ""
++
++#: c.opt:258
++msgid "Warn about implicit function declarations"
++msgstr "°ÅÌۤδؿôÀë¸À¤Ë´Ø¤·¤Æ·Ù¹ð¤¹¤ë"
++
++#: c.opt:262
++msgid "Warn when a declaration does not specify a type"
++msgstr "Àë¸À¤¬·¿¤ò»ØÄꤷ¤Æ¤¤¤Ê¤¤¾ì¹ç¤Ë·Ù¹ð¤¹¤ë"
++
++#: c.opt:266
++msgid "Deprecated. This switch has no effect"
++msgstr ""
++
++#: c.opt:270
++#, fuzzy
++msgid "Warn when there is a cast to a pointer from an integer of a different size"
++msgstr "°Û¤Ê¤ë¥µ¥¤¥º¤ÎÀ°¿ô¤«¤é¥Ý¥¤¥ó¥¿¤Ë¥­¥ã¥¹¥È¤µ¤ì¤Þ¤·¤¿"
++
++#: c.opt:274
++#, fuzzy
++msgid "Warn about invalid uses of the \"offsetof\" macro"
++msgstr "#import ¥Ç¥£¥ì¥¯¥Æ¥£¥Ö¤ÎÍøÍѤ˴ؤ·¤Æ·Ù¹ð¤¹¤ë"
++
++#: c.opt:278
++msgid "Warn about PCH files that are found but not used"
++msgstr ""
++
++#: c.opt:282
++#, fuzzy
++msgid "Do not warn about using \"long long\" when -pedantic"
++msgstr "-pedantic »ØÄê»þ¤Ç¤â 'long long' ¤Î»ÈÍѤˤĤ¤¤Æ¤Ï·Ù¹ð¤·¤Ê¤¤"
++
++#: c.opt:286
++#, fuzzy
++msgid "Warn about suspicious declarations of \"main\""
++msgstr "µ¿¤ï¤·¤¤ main ¤ÎÀë¸À¤Ë´Ø¤·¤Æ·Ù¹ð¤¹¤ë"
++
++#: c.opt:290
++#, fuzzy
++msgid "Warn about possibly missing braces around initializers"
++msgstr "½é´ü²½»Ò¤Î¼þ¤ê¤Ë¥Ö¥ì¡¼¥¹¤ò·ç¤¤¤Æ¤¤¤ëÍͤǤ¢¤ì¤Ð·Ù¹ð¤¹¤ë"
++
++#: c.opt:294
++#, fuzzy
++msgid "Warn about global functions without previous declarations"
++msgstr "»öÁ°¤ÎÀë¸À¤Ê¤·¤ÎÂç°è´Ø¿ô¤Ë´Ø¤·¤Æ·Ù¹ð¤¹¤ë"
++
++#: c.opt:298
++#, fuzzy
++msgid "Warn about missing fields in struct initializers"
++msgstr "½é´ü²½»Ò¤Î¼þ¤ê¤Ë¥Ö¥ì¡¼¥¹¤ò·ç¤¤¤Æ¤¤¤ëÍͤǤ¢¤ì¤Ð·Ù¹ð¤¹¤ë"
++
++#: c.opt:302
++msgid "Warn about functions which might be candidates for format attributes"
++msgstr "format °À­¤ò¤Î¸õÊä¤È¤Ê¤ê¤½¤¦¤Ê´Ø¿ô¤Ë¤Ä¤¤¤Æ·Ù¹ð¤¹¤ë"
++
++#: c.opt:306
++msgid "Warn about user-specified include directories that do not exist"
++msgstr ""
++
++#: c.opt:310
++msgid "Warn about function parameters declared without a type specifier in K&R-style functions"
++msgstr ""
++
++#: c.opt:314
++#, fuzzy
++msgid "Warn about global functions without prototypes"
++msgstr "¥×¥í¥È¥¿¥¤¥×¤Ê¤·¤ÎÂç°è´Ø¿ô¤Ë´Ø¤·¤Æ·Ù¹ð¤¹¤ë"
++
++#: c.opt:318
++#, fuzzy
++msgid "Warn about use of multi-character character constants"
++msgstr "Ê£¿ôʸ»ú¥ê¥Æ¥é¥ë¤Î»ÈÍѤ˴ؤ·¤Æ·Ù¹ð¤¹¤ë"
++
++#: c.opt:322
++#, fuzzy
++msgid "Warn about \"extern\" declarations not at file scope"
++msgstr "¥Õ¥¡¥¤¥ë¥¹¥³¡¼¥×¥ì¥Ù¥ë¤Ç¤Ê¤¤ extern ¤Ë´Ø¤·¤Æ·Ù¹ð¤¹¤ë"
++
++#: c.opt:326
++#, fuzzy
++msgid "Warn when non-templatized friend functions are declared within a template"
++msgstr "template Æâ¤ÇÈó template ¤Î friend ´Ø¿ô¤¬Àë¸À¤µ¤ì¤¿¾ì¹ç¤Ç¤â·Ù¹ð¤·¤Ê¤¤"
++
++#: c.opt:330
++#, fuzzy
++msgid "Warn about non-virtual destructors"
++msgstr "Èó²¾Áۥǥ¹¥È¥é¥¯¥¿¤Ë¤Ä¤¤¤Æ·Ù¹ð¤¹¤ë"
++
++#: c.opt:334
++msgid "Warn about NULL being passed to argument slots marked as requiring non-NULL"
++msgstr ""
++
++#: c.opt:338
++#, fuzzy
++msgid "Warn about non-normalised Unicode strings"
++msgstr "Èóʸ»úÎó¥ê¥Æ¥é¥ë¤Î format ʸ»úÎó¤Ë¤Ä¤¤¤Æ·Ù¹ð¤¹¤ë"
++
++#: c.opt:342
++#, fuzzy
++msgid "Warn if a C-style cast is used in a program"
++msgstr "C ¼°¤Î¥­¥ã¥¹¥È¤¬¥×¥í¥°¥é¥à¤Ç»È¤ï¤ì¤¿¤é·Ù¹ð¤¹¤ë"
++
++#: c.opt:346
++#, fuzzy
++msgid "Warn for obsolescent usage in a declaration"
++msgstr "°ÅÌۤδؿôÀë¸À¤Ë´Ø¤·¤Æ·Ù¹ð¤¹¤ë"
++
++#: c.opt:350
++#, fuzzy
++msgid "Warn if an old-style parameter definition is used"
++msgstr "´Ø¿ô¤Î²¾°ú¿ô¤¬»È¤ï¤ì¤Ê¤¤¤È¤­¤Ë·Ù¹ð¤¹¤ë"
++
++#: c.opt:354
++msgid "Warn if a string is longer than the maximum portable length specified by the standard"
++msgstr ""
++
++#: c.opt:358
++msgid "Warn about overloaded virtual function names"
++msgstr "¥ª¡¼¥Ð¡¼¥í¡¼¥É¤µ¤ì¤¿²¾ÁÛ´Ø¿ô̾¤Ë¤Ä¤¤¤Æ·Ù¹ð¤¹¤ë"
++
++#: c.opt:362
++msgid "Warn about overriding initializers without side effects"
++msgstr ""
++
++#: c.opt:366
++#, fuzzy
++msgid "Warn about possibly missing parentheses"
++msgstr "³ç¸Ì¤ò·ç¤¤¤Æ¤¤¤ë²ÄǽÀ­¤¬¤¢¤ë¾ì¹ç¤Ë·Ù¹ð¤¹¤ë"
++
++#: c.opt:370
++#, fuzzy
++msgid "Warn when converting the type of pointers to member functions"
++msgstr "¥Ý¥¤¥ó¥¿¤«¤é¥á¥ó¥Ð´Ø¿ô¤Ø¤Î·¿ÊÑ´¹¤Î¾ì¹ç¤Ç¤â·Ù¹ð¤·¤Ê¤¤"
++
++#: c.opt:374
++msgid "Warn about function pointer arithmetic"
++msgstr "´Ø¿ô¥Ý¥¤¥ó¥¿¤Î·×»»¤Ë´Ø¤·¤Æ·Ù¹ð¤¹¤ë"
++
++#: c.opt:378
++#, fuzzy
++msgid "Warn when a pointer is cast to an integer of a different size"
++msgstr "¥­¥ã¥¹¥È¤Ë¤è¤Ã¤Æ¥Ý¥¤¥ó¥¿¤«¤é°Û¤Ê¤ë¥µ¥¤¥º¤ÎÀ°¿ô¤È¤Ê¤ê¤Þ¤¹"
++
++#: c.opt:382
++#, fuzzy
++msgid "Warn about misuses of pragmas"
++msgstr "ǧ¼±¤Ç¤­¤Ê¤¤ pragma ¤Ë´Ø¤·¤Æ·Ù¹ð¤¹¤ë"
++
++#: c.opt:386
++#, fuzzy
++msgid "Warn if inherited methods are unimplemented"
++msgstr "ÇÉÀ¸¥á¥½¥Ã¥É¤¬Ì¤¼ÂÁõ¤Î¾ì¹ç¤Ç¤â·Ù¹ð¤·¤Ê¤¤"
++
++#: c.opt:390
++msgid "Warn about multiple declarations of the same object"
++msgstr "Ʊ°ì¥ª¥Ö¥¸¥§¥¯¥È¤ÎÀë¸À¤¬Ê£¿ô¤¢¤ì¤Ð·Ù¹ð¤¹¤ë"
++
++#: c.opt:394
++msgid "Warn when the compiler reorders code"
++msgstr "¥³¥ó¥Ñ¥¤¥é¤¬¥³¡¼¥É¤òʤÙÂؤ¨¤ë¤È¤­¤Ë·Ù¹ð¤¹¤ë"
++
++#: c.opt:398
++msgid "Warn whenever a function's return type defaults to \"int\" (C), or about inconsistent return types (C++)"
++msgstr ""
++
++#: c.opt:402
++msgid "Warn if a selector has multiple methods"
++msgstr "¥»¥ì¥¯¥¿¤¬Ê£¿ô¤Î¥á¥½¥Ã¥É¤ò»ý¤Ã¤Æ¤¤¤ì¤Ð·Ù¹ð¤¹¤ë"
++
++#: c.opt:406
++msgid "Warn about possible violations of sequence point rules"
++msgstr "ÉûºîÍÑ´°Î»ÅÀµ¬Â§¤òÇˤë²ÄǽÀ­¤¬¤¢¤ë¾ì¹ç¤Ë·Ù¹ð¤¹¤ë"
++
++#: c.opt:410
++#, fuzzy
++msgid "Warn about signed-unsigned comparisons"
++msgstr "Éä¹çÉÕ¤­/Éä¹ç̵¤·¤ÎÈæ³Ó¤Ë´Ø¤·¤Æ·Ù¹ð¤¹¤ë"
++
++#: c.opt:414
++msgid "Warn when overload promotes from unsigned to signed"
++msgstr "¥ª¡¼¥Ð¡¼¥í¡¼¥É¤¬Éä¹ç̵¤·¤«¤éÉä¹çÉÕ¤­¤Ë³Ê¾å¤²¤È¤Ê¤ë¾ì¹ç¤Ë·Ù¹ð¤¹¤ë"
++
++#: c.opt:418
++msgid "Warn about uncasted NULL used as sentinel"
++msgstr ""
++
++#: c.opt:422
++#, fuzzy
++msgid "Warn about unprototyped function declarations"
++msgstr "¥×¥í¥È¥¿¥¤¥×¤µ¤ì¤Æ¤¤¤Ê¤¤´Ø¿ôÀë¸À¤Ë´Ø¤·¤Æ·Ù¹ð¤¹¤ë"
++
++#: c.opt:426
++msgid "Warn if type signatures of candidate methods do not match exactly"
++msgstr ""
++
++#: c.opt:430
++#, fuzzy
++msgid "Warn when synthesis behavior differs from Cfront"
++msgstr "¹çÀ®¤Î¿¶¤ëÉñ¤¤¤¬ Cfront ¤È°Û¤Ê¤ë¾ì¹ç¤Ë·Ù¹ð¤¹¤ë"
++
++#: c.opt:438
++#, fuzzy
++msgid "Warn about features not present in traditional C"
++msgstr "¸Å¤¤ C ¤Ç¤Ï #elif ¤ò»È¤ï¤Ê¤¤Êý¤¬¤¤¤¤¤Ç¤¹"
++
++#: c.opt:442
++msgid "Warn of prototypes causing type conversions different from what would happen in the absence of prototype"
++msgstr ""
++
++#: c.opt:446
++msgid "Warn if trigraphs are encountered that might affect the meaning of the program"
++msgstr ""
++
++#: c.opt:450
++#, fuzzy
++msgid "Warn about @selector()s without previously declared methods"
++msgstr "»öÁ°¤ÎÀë¸À¤Ê¤·¤ÎÂç°è´Ø¿ô¤Ë´Ø¤·¤Æ·Ù¹ð¤¹¤ë"
++
++#: c.opt:454
++#, fuzzy
++msgid "Warn if an undefined macro is used in an #if directive"
++msgstr "̤ÄêµÁËô¤ÏÉÔÀµ¤Ê # ¥Ç¥£¥ì¥¯¥Æ¥£¥Ö¤Ç¤¹"
++
++#: c.opt:458
++msgid "Warn about unrecognized pragmas"
++msgstr "ǧ¼±¤Ç¤­¤Ê¤¤ pragma ¤Ë´Ø¤·¤Æ·Ù¹ð¤¹¤ë"
++
++#: c.opt:462
++msgid "Warn about macros defined in the main file that are not used"
++msgstr ""
++
++#: c.opt:466
++#, fuzzy
++msgid "Do not warn about using variadic macros when -pedantic"
++msgstr "-pedantic »ØÄê»þ¤Ç¤â 'long long' ¤Î»ÈÍѤˤĤ¤¤Æ¤Ï·Ù¹ð¤·¤Ê¤¤"
++
++#: c.opt:470
++#, fuzzy
++msgid "Warn if a variable length array is used"
++msgstr "ÊÑ¿ô¤¬»È¤ï¤ì¤Ê¤¤¤È¤­¤Ë·Ù¹ð¤¹¤ë"
++
++#: c.opt:474
++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.opt:478
++#, fuzzy
++msgid "Warn when a pointer differs in signedness in an assignment"
++msgstr "¥ª¡¼¥Ð¡¼¥í¡¼¥É¤¬Éä¹ç̵¤·¤«¤éÉä¹çÉÕ¤­¤Ë³Ê¾å¤²¤È¤Ê¤ë¾ì¹ç¤Ë·Ù¹ð¤¹¤ë"
++
++#: c.opt:482
++msgid "A synonym for -std=c89 (for C) or -std=c++98 (for C++)"
++msgstr ""
++
++#: c.opt:490
++#, fuzzy
++msgid "Enforce class member access control semantics"
++msgstr "¥¢¥¯¥»¥¹À©¸æ¤Î°ÕÌ£¤Ë½¾¤ï¤Ê¤¤"
++
++#: c.opt:497
++msgid "Change when template instances are emitted"
++msgstr "¥Æ¥ó¥×¥ì¡¼¥È¥¤¥ó¥¹¥¿¥ó¥¹¤¬Á÷½Ð¤µ¤ì¤¿»þ¤ËÊѹ¹¤¹¤ë"
++
++#: c.opt:501
++#, fuzzy
++msgid "Recognize the \"asm\" keyword"
++msgstr "'asm' ͽÌó¸ì¤òǧ¼±¤µ¤»¤Ê¤¤"
++
++#: c.opt:505
++#, fuzzy
++msgid "Recognize built-in functions"
++msgstr "¤¤¤¯¤Ä¤«¤ÎÁȤ߹þ¤ß´Ø¿ô¤òǧ¼±¤µ¤»¤Ê¤¤"
++
++#: c.opt:512
++msgid "Check the return value of new"
++msgstr "new ¤ÎÌá¤êÃͤò¸¡ºº¤¹¤ë"
++
++#: c.opt:516
++msgid "Allow the arguments of the '?' operator to have different types"
++msgstr ""
++
++#: c.opt:520
++#, fuzzy
++msgid "Reduce the size of object files"
++msgstr "¥ª¥Ö¥¸¥§¥¯¥È¥Õ¥¡¥¤¥ë¤Î¥µ¥¤¥º¤ò¾®¤µ¤¯¤¹¤ë"
++
++#: c.opt:524
++#, fuzzy
++msgid "Use class <name> for constant strings"
++msgstr "Äê¿ôʸ»úÎóÍѤΥ¯¥é¥¹Ì¾¤ò»ØÄꤹ¤ë"
++
++#: c.opt:528
++#, fuzzy
++msgid "Inline member functions by default"
++msgstr "¥á¥ó¥Ð´Ø¿ô¤ò¥Ç¥Õ¥©¥ë¥È¤Ç¥¤¥ó¥é¥¤¥ó¤È¤·¤Ê¤¤"
++
++#: c.opt:532
++#, fuzzy
++msgid "Preprocess directives only."
++msgstr "#ident ¥Ç¥£¥ì¥¯¥Æ¥£¥Ö¤ò½èÍý¤¹¤ë"
++
++#: c.opt:536
++#, fuzzy
++msgid "Permit '$' as an identifier character"
++msgstr "¥Õ¥©¡¼¥Þ¥Ã¥È¤¬¥ï¥¤¥Éʸ»úÎó¤Ç¤¹"
++
++#: c.opt:543
++#, fuzzy
++msgid "Generate code to check exception specifications"
++msgstr "Îã³°»ÅÍͤθ¡ºº¤ò¤¹¤ë¥³¡¼¥É¤òÀ¸À®¤·¤Ê¤¤"
++
++#: c.opt:550
++msgid "Convert all strings and character constants to character set <cset>"
++msgstr ""
++
++#: c.opt:554
++#, fuzzy
++msgid "Permit universal character names (\\u and \\U) in identifiers"
++msgstr "¥æ¥Ë¥Ð¡¼¥µ¥ëʸ»ú̾ `\\u%04x' ¤Ï¼±Ê̻ҤÎÃæ¤Ç¤ÏÍ­¸ú¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó"
++
++#: c.opt:558
++msgid "Specify the default character set for source files"
++msgstr ""
++
++#: c.opt:566
++#, fuzzy
++msgid "Scope of for-init-statement variables is local to the loop"
++msgstr "for ½é´ü²½Ê¸¤ÎÊÑ¿ô¤ò¥¹¥³¡¼¥×³°¤Ë³ÈÂ礹¤ë"
++
++#: c.opt:570
++#, fuzzy
++msgid "Do not assume that standard C libraries and \"main\" exist"
++msgstr "ɸ½à¥é¥¤¥Ö¥é¥ê¤ä main ¤¬Â¸ºß¤·¤Ê¤¤²ÄǽÀ­¤¬¤¢¤ë¤â¤Î¤È¤¹¤ë"
++
++#: c.opt:574
++#, fuzzy
++msgid "Recognize GNU-defined keywords"
++msgstr "GNU ÄêµÁ¤ÎͽÌó¸ì¤òǧ¼±¤µ¤»¤Ê¤¤"
++
++#: c.opt:578
++msgid "Generate code for GNU runtime environment"
++msgstr "GNU ¼Â¹Ô´Ä¶­ÍѤΥ³¡¼¥É¤òÀ¸À®¤¹¤ë"
++
++#: c.opt:582
++#, fuzzy
++msgid "Use traditional GNU semantics for inline functions"
++msgstr "¸Å¤¤ C ¤Ï¶¦ÍÑÂΤνé´ü¤òµñÀ䤷¤Þ¤¹"
++
++#: c.opt:595
++msgid "Assume normal C execution environment"
++msgstr "Ä̾ï¤Î C ¼Â¹Ô´Ä¶­¤òÁ°Äó¤È¤¹¤ë"
++
++#: c.opt:599
++msgid "Enable support for huge objects"
++msgstr "Â礭¤Ê¥ª¥Ö¥¸¥§¥¯¥È¤Î¥µ¥Ý¡¼¥È"
++
++#: c.opt:603
++msgid "Export functions even if they can be inlined"
++msgstr "¥¤¥ó¥é¥¤¥ó¤Ë¤Ç¤­¤ë´Ø¿ô¤Ç¤â export ¤¹¤ë"
++
++#: c.opt:607
++#, fuzzy
++msgid "Emit implicit instantiations of inline templates"
++msgstr "¥¤¥ó¥é¥¤¥ó¥Æ¥ó¥×¥ì¡¼¥È¤ÎÌÀ¼¨Åª¤Ê¼ÂÂβ½¤Î¤ß¤òÀ¸À®¤¹¤ë"
++
++#: c.opt:611
++#, fuzzy
++msgid "Emit implicit instantiations of templates"
++msgstr "¥¤¥ó¥é¥¤¥ó¥Æ¥ó¥×¥ì¡¼¥È¤ÎÌÀ¼¨Åª¤Ê¼ÂÂβ½¤Î¤ß¤òÀ¸À®¤¹¤ë"
++
++#: c.opt:615
++#, fuzzy
++msgid "Inject friend functions into enclosing namespace"
++msgstr "ñ½ã¤Ê´Ø¿ô¤ò¸Æ¤Ó½Ð¤·Â¦¤ËÅý¹ç¤¹¤ë"
++
++#: c.opt:622
++msgid "Allow implicit conversions between vectors with differing numbers of subparts and/or differing element types."
++msgstr ""
++
++#: c.opt:626
++#, fuzzy
++msgid "Don't warn about uses of Microsoft extensions"
++msgstr "Microsoft ³ÈÄ¥¤ÎÍøÍѤ˴ؤ·¤Æ pedantic ·Ù¹ð¤ò¹Ô¤ï¤Ê¤¤"
++
++#: c.opt:636
++#, fuzzy
++msgid "Generate code for NeXT (Apple Mac OS X) runtime environment"
++msgstr "NeXT ¼Â¹Ô´Ä¶­ÍѤΥ³¡¼¥É¤òÀ¸À®¤¹¤ë"
++
++#: c.opt:640
++msgid "Assume that receivers of Objective-C messages may be nil"
++msgstr ""
++
++#: c.opt:652
++msgid "Generate special Objective-C methods to initialize/destroy non-POD C++ ivars, if needed"
++msgstr ""
++
++#: c.opt:656
++msgid "Allow fast jumps to the message dispatcher"
++msgstr ""
++
++#: c.opt:662
++msgid "Enable Objective-C exception and synchronization syntax"
++msgstr ""
++
++#: c.opt:666
++msgid "Enable garbage collection (GC) in Objective-C/Objective-C++ programs"
++msgstr ""
++
++#: c.opt:671
++#, fuzzy
++msgid "Enable Objective-C setjmp exception handling runtime"
++msgstr "Îã³°Ê᪤òÍ­¸ú¤Ë¤¹¤ë"
++
++#: c.opt:675
++#, fuzzy
++msgid "Enable OpenMP"
++msgstr "¥Ç¥Ð¥Ã¥°¤òÍ­¸ú¤Ë¤¹¤ë"
++
++#: c.opt:679
++msgid "Recognize C++ kewords like \"compl\" and \"xor\""
++msgstr ""
++
++#: c.opt:683
++#, fuzzy
++msgid "Enable optional diagnostics"
++msgstr "¥ª¥×¥·¥ç¥ó¤Î¿ÇÃÇ¥á¥Ã¥»¡¼¥¸¤òɽ¼¨¤·¤Ê¤¤"
++
++#: c.opt:690
++msgid "Look for and use PCH files even when preprocessing"
++msgstr ""
++
++#: c.opt:694
++msgid "Downgrade conformance errors to warnings"
++msgstr "µ¬³ÊŬ¹çÀ­¥¨¥é¡¼¤ò·Ù¹ð¤Ë³Ê²¼¤²¤¹¤ë"
++
++#: c.opt:698
++msgid "Treat the input file as already preprocessed"
++msgstr ""
++
++#: c.opt:702
++msgid "Used in Fix-and-Continue mode to indicate that object files may be swapped in at runtime"
++msgstr ""
++
++#: c.opt:706
++msgid "Enable automatic template instantiation"
++msgstr "¼«Æ°¥Æ¥ó¥×¥ì¡¼¥È¼ÂÂ⽤òÍ­¸ú¤Ë¤¹¤ë"
++
++#: c.opt:710
++#, fuzzy
++msgid "Generate run time type descriptor information"
++msgstr "¼Â¹Ô»þ·¿µ­½Ò¾ðÊó¤òÀ¸À®¤·¤Ê¤¤"
++
++#: c.opt:714
++msgid "Use the same size for double as for float"
++msgstr "double ¤Î¥µ¥¤¥º¤ò float ¤ÈƱ¤¸¤È¤·¤Æ»ÈÍѤ¹¤ë"
++
++#: c.opt:722
++#, fuzzy
++msgid "Force the underlying type for \"wchar_t\" to be \"unsigned short\""
++msgstr "wchar_t ¤Îº¬ËÜŪ¤Ê·¿¤ò `unsigned short' ¤Èʤ¤¹"
++
++#: c.opt:726
++msgid "When \"signed\" or \"unsigned\" is not given make the bitfield signed"
++msgstr ""
++
++#: c.opt:730
++#, fuzzy
++msgid "Make \"char\" signed by default"
++msgstr "'char' ¤ò¥Ç¥Õ¥©¥ë¥È¤ÇÉä¹çÉÕ¤­¤È¤¹¤ë"
++
++#: c.opt:737
++msgid "Display statistics accumulated during compilation"
++msgstr "¥³¥ó¥Ñ¥¤¥ëÃæ¤ËÃßÀѤµ¤ì¤¿Åý·×¾ðÊó¤òɽ¼¨¤¹¤ë"
++
++#: c.opt:744
++msgid "Distance between tab stops for column reporting"
++msgstr ""
++
++#: c.opt:748
++msgid "Specify maximum template instantiation depth"
++msgstr "¥Æ¥ó¥×¥ì¡¼¥È¼ÂÂβ½¤Î¿¼¤µ¤ÎºÇÂçÃͤò»ØÄꤹ¤ë"
++
++#: c.opt:755
++msgid "Do not generate thread-safe code for initializing local statics"
++msgstr ""
++
++#: c.opt:759
++msgid "When \"signed\" or \"unsigned\" is not given make the bitfield unsigned"
++msgstr ""
++
++#: c.opt:763
++#, fuzzy
++msgid "Make \"char\" unsigned by default"
++msgstr "'char' ¤ò¥Ç¥Õ¥©¥ë¥È¤ÇÉä¹ç̵¤·¤È¤¹¤ë"
++
++#: c.opt:767
++#, fuzzy
++msgid "Use __cxa_atexit to register destructors"
++msgstr "¥Ç¥¹¥È¥é¥¯¥¿¤ÎÅÐÏ¿¤Ë __cxa_atexit ¤òÍøÍѤ¹¤ë"
++
++#: c.opt:771
++msgid "Use __cxa_get_exception_ptr in exception handling"
++msgstr ""
++
++#: c.opt:775
++msgid "Marks all inlined methods as having hidden visibility"
++msgstr ""
++
++#: c.opt:779
++msgid "Changes visibility to match Microsoft Visual Studio by default"
++msgstr ""
++
++#: c.opt:783
++msgid "Discard unused virtual functions"
++msgstr "»È¤ï¤ì¤Ê¤¤²¾ÁÛ´Ø¿ô¤òÀÚ¤ê¼Î¤Æ¤ë"
++
++#: c.opt:787
++msgid "Implement vtables using thunks"
++msgstr "thunk ¤ò»È¤Ã¤Æ vtable ¤ò¼ÂÁõ¤¹¤ë"
++
++#: c.opt:791
++msgid "Emit common-like symbols as weak symbols"
++msgstr "¥³¥â¥ó¥·¥ó¥Ü¥ë¤ò¥¦¥£¡¼¥¯¥·¥ó¥Ü¥ë¤ÎÍͤËÀ¸À®¤¹¤ë"
++
++#: c.opt:795
++msgid "Convert all wide strings and character constants to character set <cset>"
++msgstr ""
++
++#: c.opt:799
++msgid "Generate a #line directive pointing at the current working directory"
++msgstr ""
++
++#: c.opt:803
++msgid "Emit cross referencing information"
++msgstr "Áê¸ß»²¾È¾ðÊó¤òÀ¸À®¤¹¤ë"
++
++#: c.opt:807
++msgid "Generate lazy class lookup (via objc_getClass()) for use in Zero-Link mode"
++msgstr ""
++
++#: c.opt:811
++#, fuzzy
++msgid "Dump declarations to a .decl file"
++msgstr "Àë¸À¤ò .decl ¥Õ¥¡¥¤¥ë¤Ë¥À¥ó¥×¤¹¤ë"
++
++#: c.opt:815
++msgid "Aggressive reduced debug info for structs"
++msgstr ""
++
++#: c.opt:819
++msgid "Conservative reduced debug info for structs"
++msgstr ""
++
++#: c.opt:823
++msgid "Detailed reduced debug info for structs"
++msgstr ""
++
++#: c.opt:827 c.opt:859
++msgid "Add <dir> to the end of the system include path"
++msgstr ""
++
++#: c.opt:831
++msgid "Accept definition of macros in <file>"
++msgstr ""
++
++#: c.opt:835
++msgid "-imultilib <dir> Set <dir> to be the multilib include subdirectory"
++msgstr ""
++
++#: c.opt:839
++msgid "Include the contents of <file> before other files"
++msgstr ""
++
++#: c.opt:843
++msgid "Specify <path> as a prefix for next two options"
++msgstr ""
++
++#: c.opt:847
++msgid "Set <dir> to be the system root directory"
++msgstr ""
++
++#: c.opt:851
++msgid "Add <dir> to the start of the system include path"
++msgstr ""
++
++#: c.opt:855
++msgid "Add <dir> to the end of the quote include path"
++msgstr ""
++
++#: c.opt:876
++msgid "Do not search standard system include directories (those specified with -isystem will still be used)"
++msgstr ""
++
++#: c.opt:880
++msgid "Do not search standard system include directories for C++"
++msgstr ""
++
++#: c.opt:896
++#, fuzzy
++msgid "Generate C header of platform-specific features"
++msgstr "¥×¥é¥Ã¥È¥Õ¥©¡¼¥à¸ÇÍ­¤Îµ¡Ç½¤Î C ¥Ø¥Ã¥À¤òÀ¸À®¤¹¤ë"
++
++#: c.opt:900
++msgid "Print a checksum of the executable for PCH validity checking, and stop"
++msgstr ""
++
++#: c.opt:904
++#, fuzzy
++msgid "Remap file names when including files"
++msgstr "#%s ¤Ç¤Î¥Õ¥¡¥¤¥ë̾¤¬¶õ¤Ç¤¹"
++
++#: c.opt:908
++msgid "Conform to the ISO 1998 C++ standard"
++msgstr ""
++
++#: c.opt:912
++msgid "Conform to the ISO 1998 C++ standard, with extensions that are likely to"
++msgstr ""
++
++#: c.opt:919 c.opt:954
++msgid "Conform to the ISO 1990 C standard"
++msgstr ""
++
++#: c.opt:923 c.opt:962
++msgid "Conform to the ISO 1999 C standard"
++msgstr ""
++
++#: c.opt:927
++msgid "Deprecated in favor of -std=c99"
++msgstr ""
++
++#: c.opt:931
++msgid "Conform to the ISO 1998 C++ standard with GNU extensions"
++msgstr ""
++
++#: c.opt:935
++msgid "Conform to the ISO 1998 C++ standard, with GNU extensions and"
++msgstr ""
++
++#: c.opt:942
++msgid "Conform to the ISO 1990 C standard with GNU extensions"
++msgstr ""
++
++#: c.opt:946
++msgid "Conform to the ISO 1999 C standard with GNU extensions"
++msgstr ""
++
++#: c.opt:950
++msgid "Deprecated in favor of -std=gnu99"
++msgstr ""
++
++#: c.opt:958
++msgid "Conform to the ISO 1990 C standard as amended in 1994"
++msgstr ""
++
++#: c.opt:966
++msgid "Deprecated in favor of -std=iso9899:1999"
++msgstr ""
++
++#: c.opt:970
++#, fuzzy
++msgid "Enable traditional preprocessing"
++msgstr "¥¹¥¿¥Ã¥¯Ãµº÷¤òÍ­¸ú¤Ë¤¹¤ë"
++
++#: c.opt:974
++msgid "Support ISO C trigraphs"
++msgstr ""
++
++#: c.opt:978
++msgid "Do not predefine system-specific and GCC-specific macros"
++msgstr ""
++
++#: c.opt:982
++#, fuzzy
++msgid "Enable verbose output"
++msgstr "¥Ç¥Ð¥Ã¥°½ÐÎϤòÍ­¸ú¤Ë¤¹¤ë"
++
++#: ada/lang.opt:96
++msgid "Specify options to GNAT"
++msgstr ""
++
+ #: attribs.c:244
+ #, fuzzy, gcc-internal-format
+ msgid "%qs attribute directive ignored"
+@@ -17258,47 +17215,47 @@
+ msgid "offset outside bounds of constant string"
+ msgstr "¥ª¥Õ¥»¥Ã¥È¤¬Äê¿ôʸ»úÎó¤Î¶­³¦¤Î³°¤Ë¤¢¤ê¤Þ¤¹"
+
+-#: builtins.c:1001
++#: builtins.c:1015
+ #, fuzzy, gcc-internal-format
+ msgid "second argument to %<__builtin_prefetch%> must be a constant"
+ msgstr "`__builtin_expect' ¤Ø¤ÎÂèÆó°ú¿ô¤ÏÄê¿ô¤Ç¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó"
+
+-#: builtins.c:1008
++#: builtins.c:1022
+ #, fuzzy, gcc-internal-format
+ msgid "invalid second argument to %<__builtin_prefetch%>; using zero"
+ msgstr "`__builtin_return_address' ¤Ø¤Î°ú¿ô¤¬ÉÔŬÀڤǤ¹"
+
+-#: builtins.c:1016
++#: builtins.c:1030
+ #, fuzzy, gcc-internal-format
+ msgid "third argument to %<__builtin_prefetch%> must be a constant"
+ msgstr "`__builtin_expect' ¤Ø¤ÎÂèÆó°ú¿ô¤ÏÄê¿ô¤Ç¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó"
+
+-#: builtins.c:1023
++#: builtins.c:1037
+ #, fuzzy, gcc-internal-format
+ msgid "invalid third argument to %<__builtin_prefetch%>; using zero"
+ msgstr "`__builtin_return_address' ¤Ø¤Î°ú¿ô¤¬ÉÔŬÀڤǤ¹"
+
+-#: builtins.c:4592
++#: builtins.c:4608
+ #, fuzzy, gcc-internal-format
+ msgid "argument of %<__builtin_args_info%> must be constant"
+ msgstr "`__builtin_args_info' ¤Î°ú¿ô¤ÏÄê¿ô¤Ç¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó"
+
+-#: builtins.c:4598
++#: builtins.c:4614
+ #, fuzzy, gcc-internal-format
+ msgid "argument of %<__builtin_args_info%> out of range"
+ msgstr "`__builtin_args_info' ¤Î°ú¿ô¤¬Èϰϳ°¤Ç¤¹"
+
+-#: builtins.c:4604
++#: builtins.c:4620
+ #, fuzzy, gcc-internal-format
+ msgid "missing argument in %<__builtin_args_info%>"
+ msgstr "`__builtin_args_info' ¤Ë°ú¿ô¤¬¤¢¤ê¤Þ¤»¤ó"
+
+-#: builtins.c:4693 gimplify.c:2117
++#: builtins.c:4709 gimplify.c:2118
+ #, fuzzy, gcc-internal-format
+ msgid "too few arguments to function %<va_start%>"
+ msgstr "`va_start' ¤ËÂФ¹¤ë°ú¿ô¤¬Â¿¤¹¤®¤Þ¤¹"
+
+-#: builtins.c:4857
++#: builtins.c:4872
+ #, fuzzy, gcc-internal-format
+ msgid "first argument to %<va_arg%> not of type %<va_list%>"
+ msgstr "`va_arg' ¤ËÂФ¹¤ëÂè°ì°ú¿ô¤¬ `va_list' ·¿¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó"
+@@ -17306,93 +17263,103 @@
+ #. Unfortunately, this is merely undefined, rather than a constraint
+ #. violation, so we cannot make this an error. If this call is never
+ #. executed, the program is still strictly conforming.
+-#: builtins.c:4871
++#: builtins.c:4886
+ #, fuzzy, gcc-internal-format
+ msgid "%qT is promoted to %qT when passed through %<...%>"
+ msgstr "`%s' ¤Ï `...' ¤Î½èÍý¤Î²áÄø¤Ç `%s' ¤Ë³Ê¾å¤²¤µ¤ì¤Þ¤·¤¿"
+
+-#: builtins.c:4876
++#: builtins.c:4891
+ #, fuzzy, gcc-internal-format
+ msgid "(so you should pass %qT not %qT to %<va_arg%>)"
+ msgstr "(½¾¤Ã¤Æ¡¢`va_arg' ¤Ë¤Ï `%s' ¤ò(`%s' ¤Ç¤Ê¤¯)ÅϤµ¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó)"
+
+ #. We can, however, treat "undefined" any way we please.
+ #. Call abort to encourage the user to fix the program.
+-#: builtins.c:4882 c-typeck.c:2408
++#: builtins.c:4897 c-typeck.c:2419
+ #, gcc-internal-format
+ msgid "if this code is reached, the program will abort"
+ msgstr ""
+
+-#: builtins.c:5000
++#: builtins.c:5015
+ #, fuzzy, gcc-internal-format
+ msgid "invalid argument to %<__builtin_frame_address%>"
+ msgstr "`__builtin_frame_address' ¤Ø¤Î°ú¿ô¤¬ÉÔŬÀڤǤ¹"
+
+-#: builtins.c:5002
++#: builtins.c:5017
+ #, fuzzy, gcc-internal-format
+ msgid "invalid argument to %<__builtin_return_address%>"
+ msgstr "`__builtin_return_address' ¤Ø¤Î°ú¿ô¤¬ÉÔŬÀڤǤ¹"
+
+-#: builtins.c:5015
++#: builtins.c:5030
+ #, fuzzy, gcc-internal-format
+ msgid "unsupported argument to %<__builtin_frame_address%>"
+ msgstr "¥µ¥Ý¡¼¥È¤µ¤ì¤Æ¤¤¤Ê¤¤ `__builtin_frame_address' ¤Ø¤Î°ú¿ô¤Ç¤¹"
+
+-#: builtins.c:5017
++#: builtins.c:5032
+ #, fuzzy, gcc-internal-format
+ msgid "unsupported argument to %<__builtin_return_address%>"
+ msgstr "¥µ¥Ý¡¼¥È¤µ¤ì¤Æ¤¤¤Ê¤¤ `__builtin_return_address' ¤Ø°ú¿ô¤Ç¤¹"
+
+-#: builtins.c:5564
++#: builtins.c:5579
+ #, fuzzy, gcc-internal-format
+ msgid "both arguments to %<__builtin___clear_cache%> must be pointers"
+ msgstr "`__builtin_eh_return_regno' ¤Î°ú¿ô¤ÏÄê¿ô¤Ç¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó"
+
+ #. All valid uses of __builtin_va_arg_pack () are removed during
+ #. inlining.
+-#: builtins.c:6276 expr.c:8024
++#: builtins.c:6291 expr.c:8023
+ msgid "%Kinvalid use of %<__builtin_va_arg_pack ()%>"
+ msgstr ""
+
+ #. All valid uses of __builtin_va_arg_pack_len () are removed during
+ #. inlining.
+-#: builtins.c:6282
++#: builtins.c:6297
+ msgid "%Kinvalid use of %<__builtin_va_arg_pack_len ()%>"
+ msgstr ""
+
+-#: builtins.c:6578
++#: builtins.c:6593
+ #, fuzzy, gcc-internal-format
+ msgid "%<__builtin_longjmp%> second argument must be 1"
+ msgstr "__builtin_longjmp ÂèÆó°ú¿ô¤Ï 1 ¤Ç¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó"
+
+-#: builtins.c:7209
++#: builtins.c:7224
+ #, fuzzy, gcc-internal-format
+ msgid "target format does not support infinity"
+ msgstr "¥¿¡¼¥²¥Ã¥È CPU ¤Ï interworking ¤ò¥µ¥Ý¡¼¥È¤·¤Þ¤»¤ó"
+
+-#: builtins.c:9623 builtins.c:9712
++#: builtins.c:9638 builtins.c:9727 builtins.c:10082
+ #, fuzzy, gcc-internal-format
+ msgid "non-floating-point argument to function %qs"
+ msgstr "´Ø¿ô `%s' ¤ËÂФ¹¤ë°ú¿ô¤¬Â¿¤¹¤®¤Þ¤¹"
+
+-#: builtins.c:11303
++#: builtins.c:10446 builtins.c:10466
+ #, fuzzy, gcc-internal-format
++msgid "too few arguments to function %qs"
++msgstr "´Ø¿ô `%s' ¤Ø¤Î°ú¿ô¤¬¾¯¤Ê¤¹¤®¤Þ¤¹"
++
++#: builtins.c:10452 builtins.c:10472
++#, fuzzy, gcc-internal-format
++msgid "too many arguments to function %qs"
++msgstr "´Ø¿ô `%s' ¤ËÂФ¹¤ë°ú¿ô¤¬Â¿¤¹¤®¤Þ¤¹"
++
++#: builtins.c:11377
++#, fuzzy, gcc-internal-format
+ msgid "%<va_start%> used in function with fixed args"
+ msgstr "`va_start' ¤¬¸ÇÄê¸Ä°ú¿ô¤Î´Ø¿ôÆâ¤Ç»È¤ï¤ì¤Þ¤·¤¿"
+
+-#: builtins.c:11311
++#: builtins.c:11385
+ #, fuzzy, gcc-internal-format
+ msgid "wrong number of arguments to function %<va_start%>"
+ msgstr "`va_start' ¤ËÂФ¹¤ë°ú¿ô¤¬Â¿¤¹¤®¤Þ¤¹"
+
+ #. Evidently an out of date version of <stdarg.h>; can't validate
+ #. va_start's second argument, but can still work as intended.
+-#: builtins.c:11324
++#: builtins.c:11398
+ #, fuzzy, gcc-internal-format
+ msgid "%<__builtin_next_arg%> called without an argument"
+ msgstr "`__builtin_next_arg' ¤¬°ú¿ô̵¤·¤Ç¤Ç¸Æ¤Ó½Ð¤µ¤ì¤Þ¤·¤¿"
+
+-#: builtins.c:11329
++#: builtins.c:11403
+ #, fuzzy, gcc-internal-format
+ msgid "wrong number of arguments to function %<__builtin_next_arg%>"
+ msgstr "`%s' °À­¤Ë»ØÄꤵ¤ì¤¿°ú¿ô¤Î¸Ä¿ô¤¬´Ö°ã¤Ã¤Æ¤¤¤Þ¤¹"
+@@ -17402,25 +17369,25 @@
+ #. argument. We just warn and set the arg to be the last
+ #. argument so that we will get wrong-code because of
+ #. it.
+-#: builtins.c:11358
++#: builtins.c:11432
+ #, fuzzy, gcc-internal-format
+ msgid "second parameter of %<va_start%> not last named argument"
+ msgstr "`va_start' ¤ÎÆóÈÖÌܤÎÃͤ¬°ú¿ô¤ÎºÇ¸å¤Î̾Á°¤Ë¤Ê¤Ã¤Æ¤¤¤Þ¤»¤ó"
+
+-#: builtins.c:11472
++#: builtins.c:11546
+ msgid "%Kfirst argument of %D must be a pointer, second integer constant"
+ msgstr ""
+
+-#: builtins.c:11485
++#: builtins.c:11559
+ #, fuzzy
+ msgid "%Klast argument of %D is not integer constant between 0 and 3"
+ msgstr "`asm' ¤Î°ú¿ô¤¬Äê¿ôʸ»úÎó¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó "
+
+-#: builtins.c:11529 builtins.c:11693 builtins.c:11752
++#: builtins.c:11603 builtins.c:11767 builtins.c:11826
+ msgid "%Kcall to %D will always overflow destination buffer"
+ msgstr ""
+
+-#: builtins.c:11683
++#: builtins.c:11757
+ msgid "%Kcall to %D might overflow destination buffer"
+ msgstr ""
+
+@@ -17543,440 +17510,440 @@
+ msgid "conversion to %qT alters %qT constant value"
+ msgstr ""
+
+-#: c-common.c:1296
++#: c-common.c:1299
+ #, gcc-internal-format
+ msgid "conversion to %qT from %qT may change the sign of the result"
+ msgstr ""
+
+-#: c-common.c:1325
++#: c-common.c:1328
+ #, fuzzy, gcc-internal-format
+ msgid "conversion to %qT from %qT may alter its value"
+ msgstr "NaN ¤«¤éÀ°¿ô¤Ø¤ÎÊÑ´¹¤Ç¤¹"
+
+-#: c-common.c:1353
++#: c-common.c:1356
+ #, gcc-internal-format
+ msgid "large integer implicitly truncated to unsigned type"
+ msgstr "Â礭¤ÊÀ°¿ô¤¬°ÅÌÛ¤ËÉä¹ç̵¤··¿¤ËÀÚ¤êµÍ¤á¤é¤ì¤Þ¤·¤¿"
+
+-#: c-common.c:1359 c-common.c:1366 c-common.c:1374
++#: c-common.c:1362 c-common.c:1369 c-common.c:1377
+ #, gcc-internal-format
+ msgid "overflow in implicit constant conversion"
+ msgstr "°ÅÌÛ¤ÎÄê¿ôÊÑ´¹¤Ç¥ª¡¼¥Ð¡¼¥Õ¥í¡¼¤·¤Þ¤·¤¿"
+
+-#: c-common.c:1528
++#: c-common.c:1531
+ #, fuzzy, gcc-internal-format
+ msgid "operation on %qE may be undefined"
+ msgstr "`%s' ¤Ç¤Î±é»»¤¬ÄêµÁ¤µ¤ì¤Æ¤¤¤Ê¤¤¤È»×¤ï¤ì¤Þ¤¹"
+
+-#: c-common.c:1821
++#: c-common.c:1824
+ #, gcc-internal-format
+ msgid "case label does not reduce to an integer constant"
+ msgstr "case ¥é¥Ù¥ë¤òÀ°¿ôÄê¿ô¤Ë´Ô¸µ¤Ç¤­¤Þ¤»¤ó"
+
+-#: c-common.c:1861
++#: c-common.c:1864
+ #, fuzzy, gcc-internal-format
+ msgid "case label value is less than minimum value for type"
+ msgstr "¤½¤Î·¿¤ÎºÇÂçÃͤè¤ê¤âÂ礭¤ÊÃͤÎÀ°¿ôÄê¿ô¤Ç¤¹"
+
+-#: c-common.c:1869
++#: c-common.c:1872
+ #, fuzzy, gcc-internal-format
+ msgid "case label value exceeds maximum value for type"
+ msgstr "¤½¤Î·¿¤ÎºÇÂçÃͤè¤ê¤âÂ礭¤ÊÃͤÎÀ°¿ôÄê¿ô¤Ç¤¹"
+
+-#: c-common.c:1877
++#: c-common.c:1880
+ #, fuzzy, gcc-internal-format
+ msgid "lower value in case label range less than minimum value for type"
+ msgstr "¤½¤Î·¿¤ÎºÇÂçÃͤè¤ê¤âÂ礭¤ÊÃͤÎÀ°¿ôÄê¿ô¤Ç¤¹"
+
+-#: c-common.c:1886
++#: c-common.c:1889
+ #, fuzzy, gcc-internal-format
+ msgid "upper value in case label range exceeds maximum value for type"
+ msgstr "¤½¤Î·¿¤ÎºÇÂçÃͤè¤ê¤âÂ礭¤ÊÃͤÎÀ°¿ôÄê¿ô¤Ç¤¹"
+
+-#: c-common.c:1960
++#: c-common.c:1963
+ #, gcc-internal-format
+ msgid "GCC cannot support operators with integer types and fixed-point types that have too many integral and fractional bits together"
+ msgstr ""
+
+-#: c-common.c:2450
++#: c-common.c:2453
+ #, fuzzy, gcc-internal-format
+ msgid "invalid operands to binary %s (have %qT and %qT)"
+ msgstr "Æó¹à±é»»»Ò %s ¤¬ÉÔŬÀڤǤ¹"
+
+-#: c-common.c:2686
++#: c-common.c:2689
+ #, gcc-internal-format
+ msgid "comparison is always false due to limited range of data type"
+ msgstr "¥Ç¡¼¥¿·¿¤ÎÈÏ°ÏÀ©¸Â¤Ë¤è¤Ã¤Æ¡¢Èæ³Ó¤¬¾ï¤Ë false ¤È¤Ê¤ê¤Þ¤¹"
+
+-#: c-common.c:2688
++#: c-common.c:2691
+ #, gcc-internal-format
+ msgid "comparison is always true due to limited range of data type"
+ msgstr "¥Ç¡¼¥¿·¿¤ÎÈÏ°ÏÀ©¸Â¤Ë¤è¤Ã¤Æ¡¢Èæ³Ó¤¬¾ï¤Ë true ¤È¤Ê¤ê¤Þ¤¹"
+
+-#: c-common.c:2767
++#: c-common.c:2770
+ #, gcc-internal-format
+ msgid "comparison of unsigned expression >= 0 is always true"
+ msgstr "Éä¹ç̵¤·¤Î¼° >= 0 ¤È¤¤¤¦Èæ³Ó¤Ï¾ï¤Ë true ¤Ç¤¹"
+
+-#: c-common.c:2777
++#: c-common.c:2780
+ #, gcc-internal-format
+ msgid "comparison of unsigned expression < 0 is always false"
+ msgstr "Éä¹ç̵¤·¤Î¼° < 0 ¤È¤¤¤¦Èæ³Ó¤Ï¾ï¤Ë false ¤Ç¤¹"
+
+-#: c-common.c:2818
++#: c-common.c:2821
+ #, fuzzy, gcc-internal-format
+ msgid "pointer of type %<void *%> used in arithmetic"
+ msgstr "`void *' ·¿¤Î¥Ý¥¤¥ó¥¿¤¬·×»»¤Ç»È¤ï¤ì¤Þ¤·¤¿"
+
+-#: c-common.c:2824
++#: c-common.c:2827
+ #, gcc-internal-format
+ msgid "pointer to a function used in arithmetic"
+ msgstr "´Ø¿ô¥Ý¥¤¥ó¥¿¤¬·×»»¤Ç»È¤ï¤ì¤Þ¤·¤¿"
+
+-#: c-common.c:2830
++#: c-common.c:2833
+ #, fuzzy, gcc-internal-format
+ msgid "pointer to member function used in arithmetic"
+ msgstr "´Ø¿ô¥Ý¥¤¥ó¥¿¤¬·×»»¤Ç»È¤ï¤ì¤Þ¤·¤¿"
+
+-#: c-common.c:2982
++#: c-common.c:2985
+ #, gcc-internal-format
+ msgid "the address of %qD will always evaluate as %<true%>"
+ msgstr ""
+
+-#: c-common.c:3051 cp/semantics.c:596 cp/typeck.c:6411
++#: c-common.c:3054 cp/semantics.c:597 cp/typeck.c:6438
+ #, gcc-internal-format
+ msgid "suggest parentheses around assignment used as truth value"
+ msgstr "¿¿µ¶ÃͤȤ·¤Æ»È¤ï¤ì¤ëÂåÆþ¤Î¤Þ¤ï¤ê¤Ç¤Ï¡¢´Ý³ç¸Ì¤Î»ÈÍѤò¤ª´«¤á¤·¤Þ¤¹"
+
+-#: c-common.c:3123 c-typeck.c:8958
++#: c-common.c:3126 c-typeck.c:8969
+ #, fuzzy, gcc-internal-format
+ msgid "invalid use of %<restrict%>"
+ msgstr "`restrict' ¤ÎÍÑË¡¤¬ÉÔŬÀڤǤ¹"
+
+-#: c-common.c:3339
++#: c-common.c:3346
+ #, fuzzy, gcc-internal-format
+ msgid "invalid application of %<sizeof%> to a function type"
+ msgstr "ISO C++ ¤Ï´Ø¿ô·¿¤Ø¤Î `sizeof' ¤ÎŬÍѤò¶Ø¤¸¤Þ¤¹"
+
+-#: c-common.c:3349
++#: c-common.c:3356
+ #, fuzzy, gcc-internal-format
+ msgid "invalid application of %qs to a void type"
+ msgstr "¥¤¥ó¥¹¥¿¥ó¥¹²½¤µ¤ì¤Ê¤¤·¿¤ËÂФ¹¤ë̵¸ú¤ÊÁàºî¤Ç¤¹"
+
+-#: c-common.c:3355
++#: c-common.c:3362
+ #, fuzzy, gcc-internal-format
+ msgid "invalid application of %qs to incomplete type %qT "
+ msgstr "ÉÔ´°Á´¤Ê typedef `%s' ¤Î»ÈÍѤÏÉÔŬÀڤǤ¹"
+
+-#: c-common.c:3396
++#: c-common.c:3403
+ #, fuzzy, gcc-internal-format
+ msgid "%<__alignof%> applied to a bit-field"
+ msgstr "¥Ó¥Ã¥È¥Õ¥£¡¼¥ë¥É¤Ë `__alignof' ¤¬Å¬ÍѤµ¤ì¤Þ¤·¤¿"
+
+-#: c-common.c:3969
++#: c-common.c:3976
+ #, fuzzy, gcc-internal-format
+ msgid "cannot disable built-in function %qs"
+ msgstr "ÁȤ߹þ¤ß´Ø¿ô `%s' ¤òʤ¤¤±£¤·¤Þ¤¹"
+
+-#: c-common.c:4172
++#: c-common.c:4179
+ #, gcc-internal-format
+ msgid "pointers are not permitted as case values"
+ msgstr "case ¤ÎÃͤȤ·¤Æ¤Î¥Ý¥¤¥ó¥¿¤Ïµö¤µ¤ì¤Æ¤¤¤Þ¤»¤ó"
+
+-#: c-common.c:4178
++#: c-common.c:4185
+ #, fuzzy, gcc-internal-format
+ msgid "range expressions in switch statements are non-standard"
+ msgstr "ISO C ¤Ç¤Ï switch ʸ¤Ç¤ÎÈϰϼ°¤Ï¶Ø¤¸¤é¤ì¤Æ¤¤¤Þ¤¹"
+
+-#: c-common.c:4204
++#: c-common.c:4211
+ #, gcc-internal-format
+ msgid "empty range specified"
+ msgstr "¶õ¤ÎÈϰϤ¬»ØÄꤵ¤ì¤Þ¤·¤¿"
+
+-#: c-common.c:4264
++#: c-common.c:4271
+ #, gcc-internal-format
+ msgid "duplicate (or overlapping) case value"
+ msgstr "Æó½Å¤Î(¤¢¤ë¤¤¤Ï½ÅÊ£¤·¤Æ¤¤¤ë) case ¤ÎÃÍ"
+
+-#: c-common.c:4265
++#: c-common.c:4272
+ #, fuzzy, gcc-internal-format
+ msgid "%Jthis is the first entry overlapping that value"
+ msgstr "¤³¤ì¤¬¤½¤ÎÃͤȽÅÊ£¤·¤¿ºÇ½é¤Î¹àÌܤǤ¹"
+
+-#: c-common.c:4269
++#: c-common.c:4276
+ #, gcc-internal-format
+ msgid "duplicate case value"
+ msgstr "½ÅÊ£¤·¤¿ case ¤ÎÃÍ"
+
+-#: c-common.c:4270
++#: c-common.c:4277
+ #, fuzzy, gcc-internal-format
+ msgid "%Jpreviously used here"
+ msgstr "Á°¤Ë¤³¤³¤Ç»È¤ï¤ì¤Þ¤·¤¿"
+
+-#: c-common.c:4274
++#: c-common.c:4281
+ #, gcc-internal-format
+ msgid "multiple default labels in one switch"
+ msgstr "°ì¤Ä¤Î switch ¤ËÊ£¿ô¤Î default ¥é¥Ù¥ë¤¬¤¢¤ê¤Þ¤¹"
+
+-#: c-common.c:4275
++#: c-common.c:4282
+ #, fuzzy, gcc-internal-format
+ msgid "%Jthis is the first default label"
+ msgstr "¤³¤ì¤¬ºÇ½é¤Î default ¥é¥Ù¥ë¤Ç¤¹"
+
+-#: c-common.c:4324
++#: c-common.c:4331
+ #, fuzzy, gcc-internal-format
+ msgid "%Jcase value %qs not in enumerated type"
+ msgstr "case ÃÍ `%ld' ¤ÏÎóµó·¿¤Ë¤Ï¤¢¤ê¤Þ¤»¤ó"
+
+-#: c-common.c:4327
++#: c-common.c:4334
+ #, fuzzy, gcc-internal-format
+ msgid "%Jcase value %qs not in enumerated type %qT"
+ msgstr "case ÃÍ `%ld' ¤ÏÎóµó·¿¤Ë¤Ï¤¢¤ê¤Þ¤»¤ó"
+
+-#: c-common.c:4385
++#: c-common.c:4392
+ #, fuzzy, gcc-internal-format
+ msgid "%Hswitch missing default case"
+ msgstr "¤³¤ì¤¬ºÇ½é¤Î default ¥é¥Ù¥ë¤Ç¤¹"
+
+-#: c-common.c:4448
++#: c-common.c:4455
+ #, fuzzy, gcc-internal-format
+ msgid "%Henumeration value %qE not handled in switch"
+ msgstr "ÎóµóÃÍ `%s' ¤Ï switch Æâ¤Ç°·¤ï¤ì¤Æ¤¤¤Þ¤»¤ó"
+
+-#: c-common.c:4472
++#: c-common.c:4479
+ #, fuzzy, gcc-internal-format
+ msgid "taking the address of a label is non-standard"
+ msgstr "°ì»þ¥ª¥Ö¥¸¥§¥¯¥È¤Î¥¢¥É¥ì¥¹¤ò¼è¤í¤¦¤È¤·¤Æ¤¤¤Þ¤¹"
+
+-#: c-common.c:4622
++#: c-common.c:4629
+ #, fuzzy, gcc-internal-format
+ msgid "%qE attribute ignored for field of type %qT"
+ msgstr "`%s' °À­¤Ï·¿¤Ë¤ÏŬÍѤµ¤ì¤Þ¤»¤ó"
+
+-#: c-common.c:4633 c-common.c:4652 c-common.c:4670 c-common.c:4697
+-#: c-common.c:4724 c-common.c:4750 c-common.c:4769 c-common.c:4793
+-#: c-common.c:4816 c-common.c:4839 c-common.c:4860 c-common.c:4881
+-#: c-common.c:4905 c-common.c:4931 c-common.c:4968 c-common.c:4995
+-#: c-common.c:5046 c-common.c:5130 c-common.c:5160 c-common.c:5179
+-#: c-common.c:5499 c-common.c:5559 c-common.c:5580 c-common.c:5644
+-#: c-common.c:5762 c-common.c:5828 c-common.c:5877 c-common.c:5923
+-#: c-common.c:5993 c-common.c:6017 c-common.c:6301 c-common.c:6324
++#: c-common.c:4640 c-common.c:4659 c-common.c:4677 c-common.c:4704
++#: c-common.c:4731 c-common.c:4757 c-common.c:4776 c-common.c:4800
++#: c-common.c:4823 c-common.c:4846 c-common.c:4867 c-common.c:4888
++#: c-common.c:4912 c-common.c:4938 c-common.c:4975 c-common.c:5002
++#: c-common.c:5045 c-common.c:5129 c-common.c:5159 c-common.c:5178
++#: c-common.c:5498 c-common.c:5558 c-common.c:5579 c-common.c:5643
++#: c-common.c:5761 c-common.c:5827 c-common.c:5876 c-common.c:5922
++#: c-common.c:5992 c-common.c:6016 c-common.c:6301 c-common.c:6324
+ #: c-common.c:6363
+ #, fuzzy, gcc-internal-format
+ msgid "%qE attribute ignored"
+ msgstr "`%s' °À­¤Ï̵»ë¤µ¤ì¤Þ¤·¤¿"
+
+-#: c-common.c:4715 c-common.c:4741
++#: c-common.c:4722 c-common.c:4748
+ #, gcc-internal-format
+ msgid "%qE attribute conflicts with attribute %s"
+ msgstr ""
+
+-#: c-common.c:4962
++#: c-common.c:4969
+ #, gcc-internal-format
+ msgid "%qE attribute have effect only on public objects"
+ msgstr ""
+
+-#: c-common.c:5067
++#: c-common.c:5066
+ #, fuzzy, gcc-internal-format
+ msgid "destructor priorities are not supported"
+ msgstr "¥¹¥¿¥Ã¥¯À©¸Â¼°¤ò¼õ¤±ÉÕ¤±¤Þ¤»¤ó"
+
+-#: c-common.c:5069
++#: c-common.c:5068
+ #, fuzzy, gcc-internal-format
+ msgid "constructor priorities are not supported"
+ msgstr "¥¹¥¿¥Ã¥¯À©¸Â¼°¤ò¼õ¤±ÉÕ¤±¤Þ¤»¤ó"
+
+-#: c-common.c:5086
++#: c-common.c:5085
+ #, gcc-internal-format
+ msgid "destructor priorities from 0 to %d are reserved for the implementation"
+ msgstr ""
+
+-#: c-common.c:5091
++#: c-common.c:5090
+ #, gcc-internal-format
+ msgid "constructor priorities from 0 to %d are reserved for the implementation"
+ msgstr ""
+
+-#: c-common.c:5099
++#: c-common.c:5098
+ #, gcc-internal-format
+ msgid "destructor priorities must be integers from 0 to %d inclusive"
+ msgstr ""
+
+-#: c-common.c:5102
++#: c-common.c:5101
+ #, gcc-internal-format
+ msgid "constructor priorities must be integers from 0 to %d inclusive"
+ msgstr ""
+
+-#: c-common.c:5221
++#: c-common.c:5220
+ #, fuzzy, gcc-internal-format
+ msgid "unknown machine mode %qs"
+ msgstr "ÉÔÌÀ¤Ê¥Þ¥·¥ó¥â¡¼¥É `%s'"
+
+-#: c-common.c:5250
++#: c-common.c:5249
+ #, gcc-internal-format
+ msgid "specifying vector types with __attribute__ ((mode)) is deprecated"
+ msgstr ""
+
+-#: c-common.c:5253
++#: c-common.c:5252
+ #, fuzzy, gcc-internal-format
+ msgid "use __attribute__ ((vector_size)) instead"
+ msgstr "`%s' °À­¤Îµ¿»÷Ì¿Î᤬̵»ë¤µ¤ì¤Þ¤·¤¿"
+
+-#: c-common.c:5262
++#: c-common.c:5261
+ #, fuzzy, gcc-internal-format
+ msgid "unable to emulate %qs"
+ msgstr "¥Õ¥¡¥¤¥ë '%s' ¤ò open ¤Ç¤­¤Þ¤»¤ó"
+
+-#: c-common.c:5272
++#: c-common.c:5271
+ #, fuzzy, gcc-internal-format
+ msgid "invalid pointer mode %qs"
+ msgstr "̵¸ú¤Ê¼±ÊÌ»Ò `%s'"
+
+-#: c-common.c:5289
++#: c-common.c:5288
+ #, fuzzy, gcc-internal-format
+ msgid "signness of type and machine mode %qs don't match"
+ msgstr "¥Õ¥¡¥¤¥ë¤Ø¤Î½ÐÆþ¤ê¸ý¤È¤Ê¤ë #-¹Ô ¤¬À°¹ç¤·¤Þ¤»¤ó"
+
+-#: c-common.c:5300
++#: c-common.c:5299
+ #, fuzzy, gcc-internal-format
+ msgid "no data type for mode %qs"
+ msgstr "¥â¡¼¥É `%s' ¤ËÂФ¹¤ë¥Ç¡¼¥¿·¿¤¬¤¢¤ê¤Þ¤»¤ó"
+
+-#: c-common.c:5310
++#: c-common.c:5309
+ #, fuzzy, gcc-internal-format
+ msgid "cannot use mode %qs for enumeral types"
+ msgstr "¥Ý¥¤¥ó¥¿·¿¤ËÊÑ´¹¤Ç¤­¤Þ¤»¤ó"
+
+-#: c-common.c:5337
++#: c-common.c:5336
+ #, fuzzy, gcc-internal-format
+ msgid "mode %qs applied to inappropriate type"
+ msgstr "sizeof ¤¬ÉÔ´°Á´¤Ê·¿¤ËŬÍѤµ¤ì¤Þ¤·¤¿"
+
+-#: c-common.c:5368
++#: c-common.c:5367
+ #, fuzzy, gcc-internal-format
+ msgid "%Jsection attribute cannot be specified for local variables"
+ msgstr "section °À­¤Ï¥í¡¼¥«¥ëÊÑ¿ô¤ËÂФ·¤Æ¤Ï»ØÄê¤Ç¤­¤Þ¤»¤ó"
+
+-#: c-common.c:5379 config/bfin/bfin.c:4879 config/bfin/bfin.c:4930
++#: c-common.c:5378 config/bfin/bfin.c:4982 config/bfin/bfin.c:5033
+ #, fuzzy, gcc-internal-format
+ msgid "section of %q+D conflicts with previous declaration"
+ msgstr "`%s' ¤Î¥»¥¯¥·¥ç¥ó¤ÏÁ°Êý¤Ç¤ËÀë¸À¤µ¤ì¤¿¤â¤Î¤È¾×Æͤ·¤Þ¤¹"
+
+-#: c-common.c:5388
++#: c-common.c:5387
+ #, fuzzy, gcc-internal-format
+ msgid "section attribute not allowed for %q+D"
+ msgstr "¥»¥¯¥·¥ç¥ó°À­¤Ï `%s' ¤Ë¤Ï»È¤¨¤Þ¤»¤ó"
+
+-#: c-common.c:5394
++#: c-common.c:5393
+ #, fuzzy, gcc-internal-format
+ msgid "%Jsection attributes are not supported for this target"
+ msgstr "¥»¥¯¥·¥ç¥ó°À­¤Ï¤³¤Î¥¿¡¼¥²¥Ã¥È¤Ç¤Ï¼ÂÁõ¤µ¤ì¤Æ¤¤¤Þ¤»¤ó"
+
+-#: c-common.c:5426
++#: c-common.c:5425
+ #, gcc-internal-format
+ msgid "requested alignment is not a constant"
+ msgstr "Í׵ᤵ¤ì¤¿¥¢¥é¥¤¥ó¥á¥ó¥È¤¬Äê¿ô¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó"
+
+-#: c-common.c:5431
++#: c-common.c:5430
+ #, gcc-internal-format
+ msgid "requested alignment is not a power of 2"
+ msgstr "Í׵ᤵ¤ì¤¿¥¢¥é¥¤¥ó¥á¥ó¥È¤¬ 2 ¤Î¤Ù¤­¾è¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó"
+
+-#: c-common.c:5436
++#: c-common.c:5435
+ #, gcc-internal-format
+ msgid "requested alignment is too large"
+ msgstr "Í׵ᤵ¤ì¤¿¥¢¥é¥¤¥ó¥á¥ó¥È¤¬Â礭¤¹¤®¤Þ¤¹"
+
+-#: c-common.c:5462
++#: c-common.c:5461
+ #, fuzzy, gcc-internal-format
+ msgid "alignment may not be specified for %q+D"
+ msgstr "`%s' ¤ËÂФ·¤Æ¤Î¥¢¥é¥¤¥ó¥á¥ó¥È¤Ï»ØÄê¤Ç¤­¤Þ¤»¤ó"
+
+-#: c-common.c:5469
++#: c-common.c:5468
+ #, gcc-internal-format
+ msgid "alignment for %q+D was previously specified as %d and may not be decreased"
+ msgstr ""
+
+-#: c-common.c:5473
++#: c-common.c:5472
+ #, gcc-internal-format
+ msgid "alignment for %q+D must be at least %d"
+ msgstr ""
+
+-#: c-common.c:5522
++#: c-common.c:5521
+ #, fuzzy, gcc-internal-format
+ msgid "%q+D defined both normally and as an alias"
+ msgstr "`%s' ¤¬Ä̾ï¤Î¤â¤Î¤È¥¨¥¤¥ê¥¢¥¹¤È¤ÎξÊý¤ÇÄêµÁ¤µ¤ì¤Þ¤·¤¿"
+
+-#: c-common.c:5538
++#: c-common.c:5537
+ #, fuzzy, gcc-internal-format
+ msgid "alias argument not a string"
+ msgstr "alias °ú¿ô¤¬Ê¸»úÎó¤Ç¤Ï¤Ê¤¤"
+
+-#: c-common.c:5601
++#: c-common.c:5600
+ #, gcc-internal-format
+ msgid "%Jweakref attribute must appear before alias attribute"
+ msgstr ""
+
+-#: c-common.c:5631
++#: c-common.c:5630
+ #, fuzzy, gcc-internal-format
+ msgid "%qE attribute ignored on non-class types"
+ msgstr "`%s' °À­¤Ï·¿¤Ë¤ÏŬÍѤµ¤ì¤Þ¤»¤ó"
+
+-#: c-common.c:5637
++#: c-common.c:5636
+ #, gcc-internal-format
+ msgid "%qE attribute ignored because %qT is already defined"
+ msgstr ""
+
+-#: c-common.c:5650
++#: c-common.c:5649
+ #, fuzzy, gcc-internal-format
+ msgid "visibility argument not a string"
+ msgstr "alias °ú¿ô¤¬Ê¸»úÎó¤Ç¤Ï¤Ê¤¤"
+
+-#: c-common.c:5662
++#: c-common.c:5661
+ #, fuzzy, gcc-internal-format
+ msgid "%qE attribute ignored on types"
+ msgstr "`%s' °À­¤Ï̵»ë¤µ¤ì¤Þ¤·¤¿"
+
+-#: c-common.c:5678
++#: c-common.c:5677
+ #, gcc-internal-format
+ msgid "visibility argument must be one of \"default\", \"hidden\", \"protected\" or \"internal\""
+ msgstr ""
+
+-#: c-common.c:5689
++#: c-common.c:5688
+ #, fuzzy, gcc-internal-format
+ msgid "%qD redeclared with different visibility"
+ msgstr "`%s' ¤¬Ê̤Υ·¥ó¥Ü¥ë¼ï¤È¤·¤ÆºÆÀë¸À¤µ¤ì¤Þ¤·¤¿"
+
+-#: c-common.c:5692 c-common.c:5696
++#: c-common.c:5691 c-common.c:5695
+ #, gcc-internal-format
+ msgid "%qD was declared %qs which implies default visibility"
+ msgstr ""
+
+-#: c-common.c:5770
++#: c-common.c:5769
+ #, fuzzy, gcc-internal-format
+ msgid "tls_model argument not a string"
+ msgstr "alias °ú¿ô¤¬Ê¸»úÎó¤Ç¤Ï¤Ê¤¤"
+
+-#: c-common.c:5783
++#: c-common.c:5782
+ #, gcc-internal-format
+ msgid "tls_model argument must be one of \"local-exec\", \"initial-exec\", \"local-dynamic\" or \"global-dynamic\""
+ msgstr ""
+
+-#: c-common.c:5802 c-common.c:5897
++#: c-common.c:5801 c-common.c:5896
+ #, fuzzy, gcc-internal-format
+ msgid "%J%qE attribute applies only to functions"
+ msgstr "`%s' °À­¤Ï´Ø¿ô¤ËÂФ·¤Æ¤Î¤ßŬÍѤµ¤ì¤Þ¤¹"
+
+-#: c-common.c:5807 c-common.c:5902
++#: c-common.c:5806 c-common.c:5901
+ #, fuzzy, gcc-internal-format
+ msgid "%Jcan%'t set %qE attribute after definition"
+ msgstr "ÄêµÁ¤Î¸å¤Ç `%s' °À­¤ò¥»¥Ã¥È¤¹¤ë¤³¤È¤Ï¤Ç¤­¤Þ¤»¤ó"
+
+-#: c-common.c:5858
++#: c-common.c:5857
+ #, gcc-internal-format
+ msgid "alloc_size parameter outside range"
+ msgstr ""
+
+-#: c-common.c:5991
++#: c-common.c:5990
+ #, fuzzy, gcc-internal-format
+ msgid "%qE attribute ignored for %qE"
+ msgstr "`%s' °À­¤Ï̵»ë¤µ¤ì¤Þ¤·¤¿"
+@@ -18086,7 +18053,7 @@
+ msgid "cannot apply %<offsetof%> when %<operator[]%> is overloaded"
+ msgstr ""
+
+-#: c-common.c:6818 cp/typeck.c:4525
++#: c-common.c:6818 cp/typeck.c:4533
+ #, fuzzy, gcc-internal-format
+ msgid "attempt to take address of bit-field structure member %qD"
+ msgstr "¹½Â¤ÂÎ¥á¥ó¥Ð `%s' ¤Î¥Ó¥Ã¥È¥Õ¥£¡¼¥ë¥É¤Î¥¢¥É¥ì¥¹¤ò¼èÆÀ¤·¤è¤¦¤È¤·¤Æ¤¤¤Þ¤¹"
+@@ -18121,14 +18088,14 @@
+ msgid "size of array is too large"
+ msgstr "ÇÛÎó `%s' ¤ÎÂ礭¤µ¤¬Â礭¤¹¤®¤Þ¤¹"
+
+-#: c-common.c:7041 c-common.c:7090 c-typeck.c:2705
++#: c-common.c:7041 c-common.c:7090 c-typeck.c:2716
+ #, fuzzy, gcc-internal-format
+ msgid "too few arguments to function %qE"
+ msgstr "´Ø¿ô¤Ø¤Î°ú¿ô¤¬¾¯¤Ê¤¹¤®¤Þ¤¹"
+
+ #. ??? This should not be an error when inlining calls to
+ #. unprototyped functions.
+-#: c-common.c:7058 c-typeck.c:4374
++#: c-common.c:7058 c-typeck.c:4385
+ #, fuzzy, gcc-internal-format
+ msgid "incompatible type for argument %d of %qE"
+ msgstr "%d ÈÖÌܤΰú¿ô¤¬ `%s' ¤Î·¿¤È¸ß´¹À­¤¬¤¢¤ê¤Þ¤»¤ó"
+@@ -18208,8 +18175,8 @@
+ #. an unprototyped function, it is compile-time undefined;
+ #. making it a constraint in that case was rejected in
+ #. DR#252.
+-#: c-convert.c:95 c-typeck.c:1775 c-typeck.c:4012 cp/typeck.c:1502
+-#: cp/typeck.c:5717 cp/typeck.c:6325 fortran/convert.c:88
++#: c-convert.c:95 c-typeck.c:1785 c-typeck.c:4023 cp/typeck.c:1548
++#: cp/typeck.c:5725 cp/typeck.c:6352 fortran/convert.c:88
+ #: treelang/tree-convert.c:79
+ #, gcc-internal-format
+ msgid "void value not ignored as it ought to be"
+@@ -18221,104 +18188,104 @@
+ msgid "conversion to non-scalar type requested"
+ msgstr "Èó¥¹¥«¥é¡¼·¿¤Ø¤ÎÊÑ´¹¤¬Í׵ᤵ¤ì¤Þ¤¹"
+
+-#: c-decl.c:546
++#: c-decl.c:547
+ #, fuzzy, gcc-internal-format
+ msgid "array %q+D assumed to have one element"
+ msgstr "ÇÛÎó `%s' ¤Ï°ìÍ×ÁǤò»ý¤Ã¤Æ¤¤¤ë¤â¤Î¤È¸«¤Ê¤µ¤ì¤Þ¤¹"
+
+-#: c-decl.c:651
++#: c-decl.c:652
+ #, gcc-internal-format
+ msgid "GCC supports only %u nested scopes"
+ msgstr ""
+
+-#: c-decl.c:737 cp/decl.c:358
++#: c-decl.c:738 cp/decl.c:359
+ #, fuzzy, gcc-internal-format
+ msgid "label %q+D used but not defined"
+ msgstr "¥é¥Ù¥ë `%s' ¤¬»È¤ï¤ì¤Þ¤·¤¿¤¬ÄêµÁ¤µ¤ì¤Æ¤¤¤Þ¤»¤ó"
+
+-#: c-decl.c:778
++#: c-decl.c:779
+ #, fuzzy, gcc-internal-format
+ msgid "nested function %q+D declared but never defined"
+ msgstr "¥Í¥¹¥È¤·¤¿´Ø¿ô `%s' ¤Ï `extern' ¤ËÀë¸À¤µ¤ì¤Þ¤·¤¿"
+
+-#: c-decl.c:788
++#: c-decl.c:789
+ #, fuzzy, gcc-internal-format
+ msgid "inline function %q+D declared but never defined"
+ msgstr "`%s' ¤¬ `static' ¤ÈÀë¸À¤µ¤ì¤Þ¤·¤¿¤¬Ì¤ÄêµÁ¤Ç¤¹"
+
+-#: c-decl.c:801 cp/decl.c:608
++#: c-decl.c:802 cp/decl.c:609
+ #, fuzzy, gcc-internal-format
+ msgid "unused variable %q+D"
+ msgstr "ÊÑ¿ô `%s' ¤Ï»È¤ï¤ì¤Þ¤»¤ó¤Ç¤·¤¿"
+
+-#: c-decl.c:805
++#: c-decl.c:806
+ #, gcc-internal-format
+ msgid "type of array %q+D completed incompatibly with implicit initialization"
+ msgstr ""
+
+-#: c-decl.c:1039
++#: c-decl.c:1040
+ #, fuzzy, gcc-internal-format
+ msgid "a parameter list with an ellipsis can%'t match an empty parameter name list declaration"
+ msgstr "¾Êάµ­¹æÉÕ¤­¥Ñ¥é¥á¥¿¥ê¥¹¥È¤Ï¡¢¶õ¤Î²¾°ú¿ô̾¥ê¥¹¥ÈÀë¸À¤È°ìÃפǤ­¤Þ¤»¤ó¡£"
+
+-#: c-decl.c:1046
++#: c-decl.c:1047
+ #, fuzzy, gcc-internal-format
+ msgid "an argument type that has a default promotion can%'t match an empty parameter name list declaration"
+ msgstr "¥Ç¥Õ¥©¥ë¥È¤Ç³Ê¾å¤²¤µ¤ì¤ë·¿¤Î°ú¿ô¤¬¡¢¶õ¤Î²¾°ú¿ô̾¥ê¥¹¥ÈÀë¸À¤ÈŬ¹ç¤·¤Þ¤»¤ó¡£"
+
+-#: c-decl.c:1087
++#: c-decl.c:1088
+ #, gcc-internal-format
+ msgid "prototype for %q+D declares more arguments than previous old-style definition"
+ msgstr ""
+
+-#: c-decl.c:1093
++#: c-decl.c:1094
+ #, gcc-internal-format
+ msgid "prototype for %q+D declares fewer arguments than previous old-style definition"
+ msgstr ""
+
+-#: c-decl.c:1102
++#: c-decl.c:1103
+ #, fuzzy, gcc-internal-format
+ msgid "prototype for %q+D declares argument %d with incompatible type"
+ msgstr "`%s' ¤Î¥×¥í¥È¥¿¥¤¥×¤¬¸å¤í¤Ë¤¢¤ê¡¢°ú¿ô %d ¤¬°ìÃפ·¤Þ¤»¤ó"
+
+ #. If we get here, no errors were found, but do issue a warning
+ #. for this poor-style construct.
+-#: c-decl.c:1115
++#: c-decl.c:1116
+ #, fuzzy, gcc-internal-format
+ msgid "prototype for %q+D follows non-prototype definition"
+ msgstr "Èó¥×¥í¥È¥¿¥¤¥×ÄêµÁ¤¬¤³¤³¤Ë¤¢¤ê¤Þ¤¹"
+
+-#: c-decl.c:1130
++#: c-decl.c:1131
+ #, fuzzy, gcc-internal-format
+ msgid "previous definition of %q+D was here"
+ msgstr "Á°Êý¤Ç¤Î `%s' ¤ÎÀë¸À"
+
+-#: c-decl.c:1132
++#: c-decl.c:1133
+ #, fuzzy, gcc-internal-format
+ msgid "previous implicit declaration of %q+D was here"
+ msgstr "Á°Êý¤Ç¤Î `%s' ¤Î°ÅÌÛŪ¤ÊÀë¸À"
+
+-#: c-decl.c:1134
++#: c-decl.c:1135
+ #, fuzzy, gcc-internal-format
+ msgid "previous declaration of %q+D was here"
+ msgstr "Á°Êý¤Ç¤Î `%s' ¤ÎÀë¸À"
+
+-#: c-decl.c:1174
++#: c-decl.c:1175
+ #, fuzzy, gcc-internal-format
+ msgid "%q+D redeclared as different kind of symbol"
+ msgstr "`%s' ¤¬Ê̤Υ·¥ó¥Ü¥ë¼ï¤È¤·¤ÆºÆÀë¸À¤µ¤ì¤Þ¤·¤¿"
+
+-#: c-decl.c:1178
++#: c-decl.c:1179
+ #, fuzzy, gcc-internal-format
+ msgid "built-in function %q+D declared as non-function"
+ msgstr "ÁȤ߹þ¤ß´Ø¿ô `%s' ¤ÏÈó´Ø¿ô¤È¤·¤ÆÀë¸À¤µ¤ì¤Þ¤·¤¿"
+
+-#: c-decl.c:1181 c-decl.c:1298 c-decl.c:1983
++#: c-decl.c:1182 c-decl.c:1299 c-decl.c:1988
+ #, fuzzy, gcc-internal-format
+ msgid "declaration of %q+D shadows a built-in function"
+ msgstr "`%s' ¤ÎÀë¸À¤Ï¥°¥í¡¼¥Ð¥ëÀë¸À¤òʤ¤¤±£¤·¤Þ¤¹"
+
+-#: c-decl.c:1190
++#: c-decl.c:1191
+ #, fuzzy, gcc-internal-format
+ msgid "redeclaration of enumerator %q+D"
+ msgstr "`enum %s' ¤ÎºÆÀë¸À"
+@@ -18326,274 +18293,274 @@
+ #. If types don't match for a built-in, throw away the
+ #. built-in. No point in calling locate_old_decl here, it
+ #. won't print anything.
+-#: c-decl.c:1211
++#: c-decl.c:1212
+ #, fuzzy, gcc-internal-format
+ msgid "conflicting types for built-in function %q+D"
+ msgstr "ÁȤ߹þ¤ß´Ø¿ô `%s' ¤È·¿¤¬Ì·½â¤·¤Þ¤¹"
+
+-#: c-decl.c:1235 c-decl.c:1248 c-decl.c:1258
++#: c-decl.c:1236 c-decl.c:1249 c-decl.c:1259
+ #, fuzzy, gcc-internal-format
+ msgid "conflicting types for %q+D"
+ msgstr "`%s' ¤È·¿¤¬Ì·½â¤·¤Þ¤¹"
+
+-#: c-decl.c:1256
++#: c-decl.c:1257
+ #, fuzzy, gcc-internal-format
+ msgid "conflicting type qualifiers for %q+D"
+ msgstr "`%s' ¤È·¿¤¬Ì·½â¤·¤Þ¤¹"
+
+ #. Allow OLDDECL to continue in use.
+-#: c-decl.c:1273
++#: c-decl.c:1274
+ #, fuzzy, gcc-internal-format
+ msgid "redefinition of typedef %q+D"
+ msgstr "`%s' ¤¬ºÆÄêµÁ¤µ¤ì¤Þ¤·¤¿"
+
+-#: c-decl.c:1324 c-decl.c:1426
++#: c-decl.c:1325 c-decl.c:1427
+ #, fuzzy, gcc-internal-format
+ msgid "redefinition of %q+D"
+ msgstr "`%s' ¤¬ºÆÄêµÁ¤µ¤ì¤Þ¤·¤¿"
+
+-#: c-decl.c:1359 c-decl.c:1464
++#: c-decl.c:1360 c-decl.c:1465
+ #, fuzzy, gcc-internal-format
+ msgid "static declaration of %q+D follows non-static declaration"
+ msgstr "`%s' ¤ÏÈó static ¤Î¸å¤Ç static Àë¸À¤µ¤ì¤Æ¤¤¤Þ¤¹"
+
+-#: c-decl.c:1369 c-decl.c:1376 c-decl.c:1453 c-decl.c:1461
++#: c-decl.c:1370 c-decl.c:1377 c-decl.c:1454 c-decl.c:1462
+ #, fuzzy, gcc-internal-format
+ msgid "non-static declaration of %q+D follows static declaration"
+ msgstr "`%s' ¤Ï static ¤Î¸å¤ÇÈó static Àë¸À¤µ¤ì¤Æ¤¤¤Þ¤¹"
+
+-#: c-decl.c:1393
++#: c-decl.c:1394
+ #, gcc-internal-format
+ msgid "%<gnu_inline%> attribute present on %q+D"
+ msgstr ""
+
+-#: c-decl.c:1395
++#: c-decl.c:1396
+ #, gcc-internal-format
+ msgid "%Jbut not here"
+ msgstr ""
+
+-#: c-decl.c:1413
++#: c-decl.c:1414
+ #, fuzzy, gcc-internal-format
+ msgid "thread-local declaration of %q+D follows non-thread-local declaration"
+ msgstr "`%s' ¤ÎÀë¸À¤Ï¥°¥í¡¼¥Ð¥ëÀë¸À¤òʤ¤¤±£¤·¤Þ¤¹"
+
+-#: c-decl.c:1416
++#: c-decl.c:1417
+ #, fuzzy, gcc-internal-format
+ msgid "non-thread-local declaration of %q+D follows thread-local declaration"
+ msgstr "`%s' ¤ÎÀë¸À¤Ï¥°¥í¡¼¥Ð¥ëÀë¸À¤òʤ¤¤±£¤·¤Þ¤¹"
+
+-#: c-decl.c:1446
++#: c-decl.c:1447
+ #, fuzzy, gcc-internal-format
+ msgid "extern declaration of %q+D follows declaration with no linkage"
+ msgstr "`%s' ¤Îextern Àë¸À¤Ï¥°¥í¡¼¥Ð¥ë¤Î¤½¤ì¤È°ìÃפ·¤Þ¤»¤ó"
+
+-#: c-decl.c:1482
++#: c-decl.c:1483
+ #, fuzzy, gcc-internal-format
+ msgid "declaration of %q+D with no linkage follows extern declaration"
+ msgstr "`%s' ¤ÎÀë¸À¤Ï¥°¥í¡¼¥Ð¥ëÀë¸À¤òʤ¤¤±£¤·¤Þ¤¹"
+
+-#: c-decl.c:1488
++#: c-decl.c:1489
+ #, fuzzy, gcc-internal-format
+ msgid "redeclaration of %q+D with no linkage"
+ msgstr "`%s' ¤¬ºÆÀë¸À¤µ¤ì¤Þ¤·¤¿"
+
+-#: c-decl.c:1502
++#: c-decl.c:1503
+ #, gcc-internal-format
+ msgid "redeclaration of %q+D with different visibility (old visibility preserved)"
+ msgstr ""
+
+-#: c-decl.c:1513
++#: c-decl.c:1514
+ #, gcc-internal-format
+ msgid "inline declaration of %qD follows declaration with attribute noinline"
+ msgstr ""
+
+-#: c-decl.c:1520
++#: c-decl.c:1521
+ #, fuzzy, gcc-internal-format
+ msgid "declaration of %q+D with attribute noinline follows inline declaration "
+ msgstr "¥¹¥¿¥Æ¥£¥Ã¥¯ÊÑ¿ô `%s' ¤ÎÀë¸À¤¬ `for' ¥ë¡¼¥×½é´ü²½Àë¸ÀÆâ¤Ë¤¢¤ê¤Þ¤¹"
+
+-#: c-decl.c:1539
++#: c-decl.c:1540
+ #, fuzzy, gcc-internal-format
+ msgid "%q+D declared inline after being called"
+ msgstr "`%s' ¤Ï¸Æ¤Ó½Ð¤µ¤ì¤ë¤è¤ê¤â¸å¤í¤Ç inline Àë¸À¤µ¤ì¤Æ¤¤¤Þ¤¹"
+
+-#: c-decl.c:1544
++#: c-decl.c:1545
+ #, fuzzy, gcc-internal-format
+ msgid "%q+D declared inline after its definition"
+ msgstr "`%s' ¤Ï¤½¤ÎÄêµÁ¤è¤ê¤â¸å¤Ç inline Àë¸À¤µ¤ì¤Æ¤¤¤Þ¤¹"
+
+-#: c-decl.c:1563
++#: c-decl.c:1564
+ #, fuzzy, gcc-internal-format
+ msgid "redefinition of parameter %q+D"
+ msgstr "`%s' ¤¬ºÆÄêµÁ¤µ¤ì¤Þ¤·¤¿"
+
+-#: c-decl.c:1590
++#: c-decl.c:1591
+ #, fuzzy, gcc-internal-format
+ msgid "redundant redeclaration of %q+D"
+ msgstr "`%s' ¤Î¾éĹ¤ÊºÆÀë¸À¤¬Æ±°ì¥¹¥³¡¼¥×Æâ¤Ë¤¢¤ê¤Þ¤¹"
+
+-#: c-decl.c:1970
++#: c-decl.c:1975
+ #, fuzzy, gcc-internal-format
+ msgid "declaration of %q+D shadows previous non-variable"
+ msgstr "`%s' ¤ÎÀë¸À¤ÏÁ°Êý¤Î¥í¡¼¥«¥ë¥·¥ó¥Ü¥ë¤òʤ¤¤±£¤·¤Þ¤¹"
+
+-#: c-decl.c:1975
++#: c-decl.c:1980
+ #, fuzzy, gcc-internal-format
+ msgid "declaration of %q+D shadows a parameter"
+ msgstr "`%s' ¤ÎÀë¸À¤Ï²¾°ú¿ô¤òʤ¤¤±£¤·¤Þ¤¹"
+
+-#: c-decl.c:1978
++#: c-decl.c:1983
+ #, fuzzy, gcc-internal-format
+ msgid "declaration of %q+D shadows a global declaration"
+ msgstr "`%s' ¤ÎÀë¸À¤Ï¥°¥í¡¼¥Ð¥ëÀë¸À¤òʤ¤¤±£¤·¤Þ¤¹"
+
+-#: c-decl.c:1988
++#: c-decl.c:1993
+ #, fuzzy, gcc-internal-format
+ msgid "declaration of %q+D shadows a previous local"
+ msgstr "`%s' ¤ÎÀë¸À¤ÏÁ°Êý¤Î¥í¡¼¥«¥ë¥·¥ó¥Ü¥ë¤òʤ¤¤±£¤·¤Þ¤¹"
+
+-#: c-decl.c:1991 cp/name-lookup.c:988 cp/name-lookup.c:1019
+-#: cp/name-lookup.c:1027
++#: c-decl.c:1996 cp/name-lookup.c:987 cp/name-lookup.c:1018
++#: cp/name-lookup.c:1026
+ #, gcc-internal-format
+ msgid "%Jshadowed declaration is here"
+ msgstr ""
+
+-#: c-decl.c:2183
++#: c-decl.c:2188
+ #, fuzzy, gcc-internal-format
+ msgid "nested extern declaration of %qD"
+ msgstr "`%s' ¤Î extern Àë¸À¤¬¥Í¥¹¥È¤·¤Æ¤¤¤Þ¤¹"
+
+-#: c-decl.c:2346 c-decl.c:2349
++#: c-decl.c:2351 c-decl.c:2354
+ #, fuzzy, gcc-internal-format
+ msgid "implicit declaration of function %qE"
+ msgstr "´Ø¿ô `%s' ¤Î°ÅÌÛ¤ÎÀë¸À"
+
+-#: c-decl.c:2411
++#: c-decl.c:2416
+ #, fuzzy, gcc-internal-format
+ msgid "incompatible implicit declaration of built-in function %qD"
+ msgstr "´Ø¿ô `%s' ¤Î°ÅÌÛ¤ÎÀë¸À"
+
+-#: c-decl.c:2420
++#: c-decl.c:2425
+ #, fuzzy, gcc-internal-format
+ msgid "incompatible implicit declaration of function %qD"
+ msgstr "´Ø¿ô `%s' ¤Î°ÅÌÛ¤ÎÀë¸À"
+
+-#: c-decl.c:2473
++#: c-decl.c:2478
+ #, fuzzy, gcc-internal-format
+ msgid "%H%qE undeclared here (not in a function)"
+ msgstr "`%s' ¤¬¤³¤³¤Ç¤ÏÄêµÁ¤µ¤ì¤Æ¤¤¤Þ¤»¤ó (´Ø¿ô¤ÎÃæ¤Ç¤Ï¤Ê¤¤)"
+
+-#: c-decl.c:2478
++#: c-decl.c:2483
+ #, fuzzy, gcc-internal-format
+ msgid "%H%qE undeclared (first use in this function)"
+ msgstr "`%s' ¤¬Àë¸À¤µ¤ì¤Æ¤¤¤Þ¤»¤ó (¤³¤Î´Ø¿ôÆâ¤ÇºÇ½é¤ËÍøÍÑ)"
+
+-#: c-decl.c:2482
++#: c-decl.c:2487
+ #, fuzzy, gcc-internal-format
+ msgid "%H(Each undeclared identifier is reported only once"
+ msgstr "(̤Àë¸À¤Î³ÆÊÑ¿ô¤Ë¤Ä¤¤¤Æ¤Ï¡¢¤½¤ì¤¬ºÇ½é¤Ë¸½¤ï¤ì¤¿¤½¤ì¤¾¤ì¤Î´Ø¿ô"
+
+-#: c-decl.c:2483
++#: c-decl.c:2488
+ #, fuzzy, gcc-internal-format
+ msgid "%Hfor each function it appears in.)"
+ msgstr " ¤ËÂФ·¤Æ°ìÅÙ¤À¤±Êó¹ð¤µ¤ì¤Þ¤¹¡£)"
+
+-#: c-decl.c:2521 cp/decl.c:2397
++#: c-decl.c:2526 cp/decl.c:2404
+ #, fuzzy, gcc-internal-format
+ msgid "label %qE referenced outside of any function"
+ msgstr "¥é¥Ù¥ë %s ¤¬¤¢¤é¤æ¤ë´Ø¿ô¤Î³°Â¦¤Ç»²¾È¤µ¤ì¤Þ¤·¤¿"
+
+-#: c-decl.c:2563
++#: c-decl.c:2568
+ #, fuzzy, gcc-internal-format
+ msgid "duplicate label declaration %qE"
+ msgstr "¥é¥Ù¥ë¤ÎÀë¸À `%s' ¤¬½ÅÊ£¤·¤Æ¤¤¤Þ¤¹"
+
+-#: c-decl.c:2599
++#: c-decl.c:2604
+ #, fuzzy, gcc-internal-format
+ msgid "%Hduplicate label %qD"
+ msgstr "½ÅÊ£¤·¤¿¥á¥ó¥Ð `%s'"
+
+-#: c-decl.c:2609
++#: c-decl.c:2614
+ #, fuzzy, gcc-internal-format
+ msgid "%Jjump into statement expression"
+ msgstr "¼°¤Î½ª¤ê°Ê¹ß¤Ë¥´¥ß¤¬¤¢¤ê¤Þ¤¹"
+
+-#: c-decl.c:2611
++#: c-decl.c:2616
+ #, gcc-internal-format
+ msgid "%Jjump into scope of identifier with variably modified type"
+ msgstr ""
+
+-#: c-decl.c:2626
++#: c-decl.c:2631
+ #, gcc-internal-format
+ msgid "%Htraditional C lacks a separate namespace for labels, identifier %qE conflicts"
+ msgstr ""
+
+-#: c-decl.c:2701
++#: c-decl.c:2706
+ #, gcc-internal-format
+ msgid "%H%qE defined as wrong kind of tag"
+ msgstr ""
+
+-#: c-decl.c:2903
++#: c-decl.c:2908
+ #, gcc-internal-format
+ msgid "unnamed struct/union that defines no instances"
+ msgstr "̵̾¹½Â¤ÂÎ/¶¦ÍÑÂΤ¬¡¢¤½¤Î¥¤¥ó¥¹¥¿¥ó¥¹¤òÄêµÁ¤·¤Æ¤¤¤Þ¤»¤ó"
+
+-#: c-decl.c:2911
++#: c-decl.c:2916
+ #, gcc-internal-format
+ msgid "empty declaration with storage class specifier does not redeclare tag"
+ msgstr ""
+
+-#: c-decl.c:2922
++#: c-decl.c:2927
+ #, fuzzy, gcc-internal-format
+ msgid "empty declaration with type qualifier does not redeclare tag"
+ msgstr "Àë¸À¤¬²¿¤âÀë¸À¤·¤Æ¤¤¤Þ¤»¤ó"
+
+-#: c-decl.c:2943 c-decl.c:2950
++#: c-decl.c:2948 c-decl.c:2955
+ #, fuzzy, gcc-internal-format
+ msgid "useless type name in empty declaration"
+ msgstr "¶õ¤ÎÀë¸À¤ÎÃæ¤Ë¡¢Ìµ°ÕÌ£¤Ê¥­¡¼¥ï¡¼¥ÉËô¤Ï·¿Ì¾¤¬¤¢¤ê¤Þ¤¹"
+
+-#: c-decl.c:2958
++#: c-decl.c:2963
+ #, fuzzy, gcc-internal-format
+ msgid "%<inline%> in empty declaration"
+ msgstr "¶õ¤ÎÀë¸À¤Ç¤¹"
+
+-#: c-decl.c:2964
++#: c-decl.c:2969
+ #, fuzzy, gcc-internal-format
+ msgid "%<auto%> in file-scope empty declaration"
+ msgstr "°ì¤Ä¤Î¶õ¤ÎÀë¸ÀÃæ¤Ë¡¢Æó¤Ä¤Î·¿¤¬»ØÄꤵ¤ì¤Æ¤¤¤Þ¤¹"
+
+-#: c-decl.c:2970
++#: c-decl.c:2975
+ #, fuzzy, gcc-internal-format
+ msgid "%<register%> in file-scope empty declaration"
+ msgstr "°ì¤Ä¤Î¶õ¤ÎÀë¸ÀÃæ¤Ë¡¢Æó¤Ä¤Î·¿¤¬»ØÄꤵ¤ì¤Æ¤¤¤Þ¤¹"
+
+-#: c-decl.c:2976
++#: c-decl.c:2981
+ #, fuzzy, gcc-internal-format
+ msgid "useless storage class specifier in empty declaration"
+ msgstr "²¾°ú¿ôÀë¸À¤ÎÃæ¤Îµ­²±¥¯¥é¥¹»ØÄê»Ò¤Ï̵¸ú¤Ç¤¹"
+
+-#: c-decl.c:2982
++#: c-decl.c:2987
+ #, fuzzy, gcc-internal-format
+ msgid "useless %<__thread%> in empty declaration"
+ msgstr "¶õ¤ÎÀë¸À¤ÎÃæ¤Ë¡¢Ìµ°ÕÌ£¤Ê¥­¡¼¥ï¡¼¥ÉËô¤Ï·¿Ì¾¤¬¤¢¤ê¤Þ¤¹"
+
+-#: c-decl.c:2990
++#: c-decl.c:2995
+ #, fuzzy, gcc-internal-format
+ msgid "useless type qualifier in empty declaration"
+ msgstr "¶õ¤ÎÀë¸À¤ÎÃæ¤Ë¡¢Ìµ°ÕÌ£¤Ê¥­¡¼¥ï¡¼¥ÉËô¤Ï·¿Ì¾¤¬¤¢¤ê¤Þ¤¹"
+
+-#: c-decl.c:2997
++#: c-decl.c:3002
+ #, gcc-internal-format
+ msgid "empty declaration"
+ msgstr "¶õ¤ÎÀë¸À¤Ç¤¹"
+
+-#: c-decl.c:3063
++#: c-decl.c:3068
+ #, gcc-internal-format
+ msgid "ISO C90 does not support %<static%> or type qualifiers in parameter array declarators"
+ msgstr ""
+
+-#: c-decl.c:3066
++#: c-decl.c:3071
+ #, fuzzy, gcc-internal-format
+ msgid "ISO C90 does not support %<[*]%> array declarators"
+ msgstr "ISO C89 ¤Ï²ÄÊÑÇÛÎó¥á¥ó¥Ð¤ò¼õ¤±ÉÕ¤±¤Þ¤»¤ó"
+@@ -18601,253 +18568,248 @@
+ #. C99 6.7.5.2p4
+ #. A function definition isn't function prototype scope C99 6.2.1p4.
+ #. C99 6.7.5.2p4
+-#: c-decl.c:3073 c-decl.c:5015
++#: c-decl.c:3078 c-decl.c:5014
+ #, gcc-internal-format
+ msgid "%<[*]%> not allowed in other than function prototype scope"
+ msgstr ""
+
+-#: c-decl.c:3097
++#: c-decl.c:3181
+ #, fuzzy, gcc-internal-format
+-msgid "static or type qualifiers in abstract declarator"
+-msgstr "¥Ý¥¤¥ó¥¿Àë¸À»Ò¤ËÉÔŬÀڤʷ¿½¤¾þ»Ò"
+-
+-#: c-decl.c:3183
+-#, fuzzy, gcc-internal-format
+ msgid "%q+D is usually a function"
+ msgstr "`%s' ¤ÏÄ̾ï¤Ï´Ø¿ô¤Ç¤¹"
+
+-#: c-decl.c:3192 cp/decl.c:3983 cp/decl2.c:773
++#: c-decl.c:3190 cp/decl.c:4003 cp/decl2.c:773
+ #, fuzzy, gcc-internal-format
+ msgid "typedef %qD is initialized (use __typeof__ instead)"
+ msgstr "typedef `%s' ¤¬½é´ü²½¤µ¤ì¤Þ¤·¤¿"
+
+-#: c-decl.c:3197
++#: c-decl.c:3195
+ #, fuzzy, gcc-internal-format
+ msgid "function %qD is initialized like a variable"
+ msgstr "´Ø¿ô `%s' ¤¬ÊÑ¿ô¤Ç¤¢¤ë¤«¤Î¤è¤¦¤Ë½é´ü²½¤µ¤ì¤Þ¤·¤¿"
+
+ #. DECL_INITIAL in a PARM_DECL is really DECL_ARG_TYPE.
+-#: c-decl.c:3203
++#: c-decl.c:3201
+ #, fuzzy, gcc-internal-format
+ msgid "parameter %qD is initialized"
+ msgstr "²¾°ú¿ô `%s' ¤¬½é´ü²½¤µ¤ì¤Þ¤·¤¿"
+
+-#: c-decl.c:3228
++#: c-decl.c:3226
+ #, fuzzy, gcc-internal-format
+ msgid "variable %qD has initializer but incomplete type"
+ msgstr "ÊÑ¿ô `%s' ¤Ë¤Ï½é´ü²½»Ò¤¬¤¢¤ê¤Þ¤¹¤¬¡¢ÉÔ´°Á´·¿¤Ç¤¹"
+
+-#: c-decl.c:3316 c-decl.c:6108 cp/decl.c:4025 cp/decl.c:10985
++#: c-decl.c:3314 c-decl.c:6107 cp/decl.c:4045 cp/decl.c:11083
+ #, fuzzy, gcc-internal-format
+ msgid "inline function %q+D given attribute noinline"
+ msgstr "´Ø¿ô¤¬Â礭¤¹¤®¤Æ inline ¤Ë¤Ç¤­¤Þ¤»¤ó"
+
+-#: c-decl.c:3327
++#: c-decl.c:3326
+ #, gcc-internal-format
+ msgid "%q+D is static but declared in inline function %qD which is not static"
+ msgstr ""
+
+-#: c-decl.c:3418
++#: c-decl.c:3417
+ #, fuzzy, gcc-internal-format
+ msgid "initializer fails to determine size of %q+D"
+ msgstr "½é´ü²½»Ò¤Ï `%s' ¤Î¥µ¥¤¥º¤ÎÆÃÄê¤Ë¼ºÇÔ¤·¤Þ¤·¤¿"
+
+-#: c-decl.c:3423
++#: c-decl.c:3422
+ #, fuzzy, gcc-internal-format
+ msgid "array size missing in %q+D"
+ msgstr "`%s' ¤Ç¤ÎÇÛÎó¥µ¥¤¥º¤ò·ç¤¤¤Æ¤¤¤Þ¤¹"
+
+-#: c-decl.c:3435
++#: c-decl.c:3434
+ #, fuzzy, gcc-internal-format
+ msgid "zero or negative size array %q+D"
+ msgstr "`%s' ¤ÎÇÛÎó¥µ¥¤¥º¤¬¥¼¥íËô¤ÏÉé¤Ç¤¹"
+
+-#: c-decl.c:3490 varasm.c:2067
++#: c-decl.c:3489 varasm.c:2067
+ #, fuzzy, gcc-internal-format
+ msgid "storage size of %q+D isn%'t known"
+ msgstr "`%s' ¤ÎÎΰ襵¥¤¥º¤¬¤ï¤«¤ê¤Þ¤»¤ó"
+
+-#: c-decl.c:3500
++#: c-decl.c:3499
+ #, fuzzy, gcc-internal-format
+ msgid "storage size of %q+D isn%'t constant"
+ msgstr "`%s' ¤ÎÎΰ襵¥¤¥º¤¬°ìÄê¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó"
+
+-#: c-decl.c:3545
++#: c-decl.c:3544
+ #, fuzzy, gcc-internal-format
+ msgid "ignoring asm-specifier for non-static local variable %q+D"
+ msgstr "Èó static ¥í¡¼¥«¥ëÊÑ¿ô `%s' ¤Ø¤Î asm »ØÄê»Ò¤Ï̵»ë¤µ¤ì¤Þ¤¹"
+
+-#: c-decl.c:3573 fortran/f95-lang.c:653
++#: c-decl.c:3572 fortran/f95-lang.c:655
+ #, gcc-internal-format
+ msgid "cannot put object with volatile field into register"
+ msgstr "volatile ¥Õ¥£¡¼¥ë¥É¤ò¥ì¥¸¥¹¥¿¤Ë»ý¤Ã¤Æ¤¤¤ë¤è¤¦¤Ê¥ª¥Ö¥¸¥§¥¯¥È¤òÃÖ¤±¤Þ¤»¤ó"
+
+-#: c-decl.c:3702
++#: c-decl.c:3701
+ #, gcc-internal-format
+ msgid "ISO C forbids forward parameter declarations"
+ msgstr "ISO C ¤ÏÁ°Êý²¾°ú¿ôÀë¸À¤ò¶Ø¤¸¤Þ¤¹"
+
+-#: c-decl.c:3821
++#: c-decl.c:3820
+ #, fuzzy, gcc-internal-format
+ msgid "bit-field %qs width not an integer constant"
+ msgstr "¥Ó¥Ã¥È¥Õ¥£¡¼¥ë¥É `%s' ¤ÎÉý¤¬À°¿ôÄê¿ô¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó"
+
+-#: c-decl.c:3829
++#: c-decl.c:3828
+ #, fuzzy, gcc-internal-format
+ msgid "negative width in bit-field %qs"
+ msgstr "¥Ó¥Ã¥È¥Õ¥£¡¼¥ë¥É `%s' ¤ÎÉý¤¬Éé¤Î¿ô¤Ç¤¹"
+
+-#: c-decl.c:3834
++#: c-decl.c:3833
+ #, fuzzy, gcc-internal-format
+ msgid "zero width for bit-field %qs"
+ msgstr "¥Ó¥Ã¥È¥Õ¥£¡¼¥ë¥É `%s' ¤ÎÉý¤¬ 0 ¤Ç¤¹"
+
+-#: c-decl.c:3844
++#: c-decl.c:3843
+ #, fuzzy, gcc-internal-format
+ msgid "bit-field %qs has invalid type"
+ msgstr "¥Ó¥Ã¥È¥Õ¥£¡¼¥ë¥É `%s' ¤ÏÉÔŬÀڤʷ¿¤ò»ý¤Ã¤Æ¤¤¤Þ¤¹"
+
+-#: c-decl.c:3854
++#: c-decl.c:3853
+ #, fuzzy, gcc-internal-format
+ msgid "type of bit-field %qs is a GCC extension"
+ msgstr "#%s ¤Ï GCC ¤Î³ÈÄ¥¤Ç¤¹"
+
+-#: c-decl.c:3860
++#: c-decl.c:3859
+ #, fuzzy, gcc-internal-format
+ msgid "width of %qs exceeds its type"
+ msgstr "`%s' ¤ÎÉý¤Ï¤½¤Î·¿¤Î¥µ¥¤¥º¤òĶ¤¨¤Æ¤¤¤Þ¤¹"
+
+-#: c-decl.c:3873
++#: c-decl.c:3872
+ #, fuzzy, gcc-internal-format
+ msgid "%qs is narrower than values of its type"
+ msgstr "`%s' ¤Ï¤½¤Î·¿¤ÎÃͤè¤ê¤â¶¹¤¤¤Ç¤¹"
+
+-#: c-decl.c:3892
++#: c-decl.c:3891
+ #, fuzzy, gcc-internal-format
+ msgid "ISO C90 forbids array %qs whose size can%'t be evaluated"
+ msgstr "ISO C89 ¤Ï¥µ¥¤¥º¤¬É¾²Á¤Ç¤­¤Ê¤¤ÇÛÎó `%s' ¤ò¶Ø¤¸¤Þ¤¹"
+
+-#: c-decl.c:3896
++#: c-decl.c:3895
+ #, fuzzy, gcc-internal-format
+ msgid "ISO C90 forbids array whose size can%'t be evaluated"
+ msgstr "ISO C89 ¤Ï¥µ¥¤¥º¤¬É¾²Á¤Ç¤­¤Ê¤¤ÇÛÎó `%s' ¤ò¶Ø¤¸¤Þ¤¹"
+
+-#: c-decl.c:3902
++#: c-decl.c:3901
+ #, fuzzy, gcc-internal-format
+ msgid "ISO C90 forbids variable length array %qs"
+ msgstr "ISO C89 ¤Ï²ÄÊÑĹ¥µ¥¤¥º¤ÎÇÛÎó `%s' ¤ò¶Ø¤¸¤Þ¤¹"
+
+-#: c-decl.c:3905
++#: c-decl.c:3904
+ #, fuzzy, gcc-internal-format
+ msgid "ISO C90 forbids variable length array"
+ msgstr "ISO C89 ¤Ï²ÄÊÑĹ¥µ¥¤¥º¤ÎÇÛÎó `%s' ¤ò¶Ø¤¸¤Þ¤¹"
+
+-#: c-decl.c:3914
++#: c-decl.c:3913
+ #, fuzzy, gcc-internal-format
+ msgid "the size of array %qs can%'t be evaluated"
+ msgstr "·¿¤ÎÂ礭¤µ¤ÏÌÀ¼¨Åª¤Ëɾ²Á¤µ¤ì¤ë¤â¤Î¤Ç¤Ï¤¢¤ê¤¨¤Þ¤»¤ó"
+
+-#: c-decl.c:3918
++#: c-decl.c:3917
+ #, fuzzy, gcc-internal-format
+ msgid "the size of array can %'t be evaluated"
+ msgstr "·¿¤ÎÂ礭¤µ¤ÏÌÀ¼¨Åª¤Ëɾ²Á¤µ¤ì¤ë¤â¤Î¤Ç¤Ï¤¢¤ê¤¨¤Þ¤»¤ó"
+
+-#: c-decl.c:3924
++#: c-decl.c:3923
+ #, gcc-internal-format
+ msgid "variable length array %qs is used"
+ msgstr ""
+
+-#: c-decl.c:3928 cp/decl.c:7004
++#: c-decl.c:3927 cp/decl.c:7076
+ #, gcc-internal-format
+ msgid "variable length array is used"
+ msgstr ""
+
+-#: c-decl.c:4051 c-decl.c:4328
++#: c-decl.c:4050 c-decl.c:4327
+ #, gcc-internal-format
+ msgid "variably modified %qs at file scope"
+ msgstr ""
+
+-#: c-decl.c:4069
++#: c-decl.c:4068
+ #, fuzzy, gcc-internal-format
+ msgid "type defaults to %<int%> in declaration of %qs"
+ msgstr "`%s' ¤ÎÀë¸À¤Ç·¿¤¬¥Ç¥Õ¥©¥ë¥È¤Î `int' ¤È¤µ¤ì¤Þ¤·¤¿"
+
+-#: c-decl.c:4097
++#: c-decl.c:4096
+ #, fuzzy, gcc-internal-format
+ msgid "duplicate %<const%>"
+ msgstr "½ÅÊ£¤·¤¿ `const'"
+
+-#: c-decl.c:4099
++#: c-decl.c:4098
+ #, fuzzy, gcc-internal-format
+ msgid "duplicate %<restrict%>"
+ msgstr "½ÅÊ£¤·¤¿¥é¥Ù¥ë `restrict'"
+
+-#: c-decl.c:4101
++#: c-decl.c:4100
+ #, fuzzy, gcc-internal-format
+ msgid "duplicate %<volatile%>"
+ msgstr "½ÅÊ£¤·¤¿ `volatile'"
+
+-#: c-decl.c:4120
++#: c-decl.c:4119
+ #, fuzzy, gcc-internal-format
+ msgid "function definition declared %<auto%>"
+ msgstr "´Ø¿ô¤ÎÄêµÁ¤¬ `auto' ¤ÈÀë¸À¤µ¤ì¤Þ¤·¤¿"
+
+-#: c-decl.c:4122
++#: c-decl.c:4121
+ #, fuzzy, gcc-internal-format
+ msgid "function definition declared %<register%>"
+ msgstr "´Ø¿ô¤ÎÄêµÁ¤¬ `register' ¤ÈÀë¸À¤µ¤ì¤Þ¤·¤¿"
+
+-#: c-decl.c:4124
++#: c-decl.c:4123
+ #, fuzzy, gcc-internal-format
+ msgid "function definition declared %<typedef%>"
+ msgstr "´Ø¿ô¤ÎÄêµÁ¤¬ `typedef' ¤ÈÀë¸À¤µ¤ì¤Þ¤·¤¿"
+
+-#: c-decl.c:4126
++#: c-decl.c:4125
+ #, fuzzy, gcc-internal-format
+ msgid "function definition declared %<__thread%>"
+ msgstr "´Ø¿ô¤ÎÄêµÁ¤¬ `typedef' ¤ÈÀë¸À¤µ¤ì¤Þ¤·¤¿"
+
+-#: c-decl.c:4142
++#: c-decl.c:4141
+ #, fuzzy, gcc-internal-format
+ msgid "storage class specified for structure field %qs"
+ msgstr "¹½Â¤ÂÎ¥Õ¥£¡¼¥ë¥É `%s' ¤Ë»ØÄꤵ¤ì¤¿µ­²±¥¯¥é¥¹"
+
+-#: c-decl.c:4146 cp/decl.c:7874
++#: c-decl.c:4145 cp/decl.c:7946
+ #, fuzzy, gcc-internal-format
+ msgid "storage class specified for parameter %qs"
+ msgstr "²¾°ú¿ô `%s' ¤Ç»ØÄꤵ¤ì¤¿µ­²±¥¯¥é¥¹"
+
+-#: c-decl.c:4149 cp/decl.c:7876
++#: c-decl.c:4148 cp/decl.c:7948
+ #, gcc-internal-format
+ msgid "storage class specified for typename"
+ msgstr "·¿Ì¾¤ËÂФ·¤Æ»ØÄꤵ¤ì¤¿µ­²±¥¯¥é¥¹"
+
+-#: c-decl.c:4166 cp/decl.c:7893
++#: c-decl.c:4165 cp/decl.c:7965
+ #, fuzzy, gcc-internal-format
+ msgid "%qs initialized and declared %<extern%>"
+ msgstr "`%s' ¤¬½é´ü²½¤µ¤ì¤ë¤È¤³¤í¤Ç¡¢`extern' Àë¸À¤µ¤ì¤Þ¤·¤¿"
+
+-#: c-decl.c:4169 cp/decl.c:7896
++#: c-decl.c:4168 cp/decl.c:7968
+ #, fuzzy, gcc-internal-format
+ msgid "%qs has both %<extern%> and initializer"
+ msgstr "`%s' ¤Ë `extern' ¤È½é´ü²½»Ò¤ÎξÊý¤¬¤¢¤ê¤Þ¤¹"
+
+-#: c-decl.c:4174
++#: c-decl.c:4173
+ #, fuzzy, gcc-internal-format
+ msgid "file-scope declaration of %qs specifies %<auto%>"
+ msgstr "`%s' ¤Î¥È¥Ã¥×¥ì¥Ù¥ë¤ÎÀë¸À¤¬ `auto' ¤ò»ØÄꤷ¤Þ¤¹"
+
+-#: c-decl.c:4176
++#: c-decl.c:4175
+ #, fuzzy, gcc-internal-format
+ msgid "file-scope declaration of %qs specifies %<register%>"
+ msgstr "`%s' ¤Î¥È¥Ã¥×¥ì¥Ù¥ë¤ÎÀë¸À¤¬ `auto' ¤ò»ØÄꤷ¤Þ¤¹"
+
+-#: c-decl.c:4181 cp/decl.c:7900
++#: c-decl.c:4180 cp/decl.c:7972
+ #, fuzzy, gcc-internal-format
+ msgid "nested function %qs declared %<extern%>"
+ msgstr "¥Í¥¹¥È¤·¤¿´Ø¿ô `%s' ¤Ï `extern' ¤ËÀë¸À¤µ¤ì¤Þ¤·¤¿"
+
+-#: c-decl.c:4184 cp/decl.c:7910
++#: c-decl.c:4183 cp/decl.c:7982
+ #, gcc-internal-format
+ msgid "function-scope %qs implicitly auto and declared %<__thread%>"
+ msgstr ""
+@@ -18855,468 +18817,468 @@
+ #. Only the innermost declarator (making a parameter be of
+ #. array type which is converted to pointer type)
+ #. may have static or type qualifiers.
+-#: c-decl.c:4231 c-decl.c:4472
++#: c-decl.c:4230 c-decl.c:4471
+ #, fuzzy, gcc-internal-format
+ msgid "static or type qualifiers in non-parameter array declarator"
+ msgstr "²¾°ú¿ôÀë¸À¤ÎÃæ¤Îµ­²±¥¯¥é¥¹»ØÄê»Ò¤Ï̵¸ú¤Ç¤¹"
+
+-#: c-decl.c:4278
++#: c-decl.c:4277
+ #, fuzzy, gcc-internal-format
+ msgid "declaration of %qs as array of voids"
+ msgstr "`%s' ¤ÎÀë¸À¤Ï void ¤ÎÇÛÎó"
+
+-#: c-decl.c:4284
++#: c-decl.c:4283
+ #, fuzzy, gcc-internal-format
+ msgid "declaration of %qs as array of functions"
+ msgstr "`%s' ¤ÎÀë¸À¤Ï´Ø¿ô¤ÎÇÛÎó"
+
+-#: c-decl.c:4289
++#: c-decl.c:4288
+ #, fuzzy, gcc-internal-format
+ msgid "invalid use of structure with flexible array member"
+ msgstr "²ÄÊÑÇÛÎó¥á¥ó¥Ð¤ò½é´ü²½¤·¤Æ¤¤¤Þ¤¹"
+
+-#: c-decl.c:4309
++#: c-decl.c:4308
+ #, fuzzy, gcc-internal-format
+ msgid "size of array %qs has non-integer type"
+ msgstr "ÇÛÎó `%s' ¤ÎÂ礭¤µ¤ÏÈóÀ°¿ô·¿"
+
+-#: c-decl.c:4314
++#: c-decl.c:4313
+ #, fuzzy, gcc-internal-format
+ msgid "ISO C forbids zero-size array %qs"
+ msgstr "ISO C ¤Ï ¥µ¥¤¥º 0 ¤ÎÇÛÎó `%s' ¤ò¶Ø¤¸¤Þ¤¹"
+
+-#: c-decl.c:4321
++#: c-decl.c:4320
+ #, fuzzy, gcc-internal-format
+ msgid "size of array %qs is negative"
+ msgstr "ÇÛÎó `%s' ¤ÎÂ礭¤µ¤¬Éé¤Ç¤¹"
+
+-#: c-decl.c:4375 c-decl.c:4631 cp/decl.c:8375
++#: c-decl.c:4374 c-decl.c:4630 cp/decl.c:8447
+ #, fuzzy, gcc-internal-format
+ msgid "size of array %qs is too large"
+ msgstr "ÇÛÎó `%s' ¤ÎÂ礭¤µ¤¬Â礭¤¹¤®¤Þ¤¹"
+
+-#: c-decl.c:4386
++#: c-decl.c:4385
+ #, fuzzy, gcc-internal-format
+ msgid "ISO C90 does not support flexible array members"
+ msgstr "ISO C89 ¤Ï²ÄÊÑÇÛÎó¥á¥ó¥Ð¤ò¼õ¤±ÉÕ¤±¤Þ¤»¤ó"
+
+ #. C99 6.7.5.2p4
+-#: c-decl.c:4399
++#: c-decl.c:4398
+ #, gcc-internal-format
+ msgid "%<[*]%> not allowed in other than a declaration"
+ msgstr ""
+
+-#: c-decl.c:4422
++#: c-decl.c:4421
+ #, gcc-internal-format
+ msgid "array type has incomplete element type"
+ msgstr "ÇÛÎó¤Î·¿¤¬ÉÔ´°Á´Í×ÁÇ·¿¤ò»ý¤Ã¤Æ¤¤¤Þ¤¹"
+
+-#: c-decl.c:4504 cp/decl.c:8001
++#: c-decl.c:4503 cp/decl.c:8073
+ #, fuzzy, gcc-internal-format
+ msgid "%qs declared as function returning a function"
+ msgstr "`%s' ¤Ï´Ø¿ô¤òÊÖ¤¹´Ø¿ô¤È¤·¤ÆÀë¸À¤µ¤ì¤Æ¤¤¤Þ¤¹"
+
+-#: c-decl.c:4509 cp/decl.c:8006
++#: c-decl.c:4508 cp/decl.c:8078
+ #, fuzzy, gcc-internal-format
+ msgid "%qs declared as function returning an array"
+ msgstr "`%s' ¤ÏÇÛÎó¤òÊÖ¤¹´Ø¿ô¤È¤·¤ÆÀë¸À¤µ¤ì¤Æ¤¤¤Þ¤¹"
+
+-#: c-decl.c:4531
++#: c-decl.c:4530
+ #, fuzzy, gcc-internal-format
+ msgid "function definition has qualified void return type"
+ msgstr "´Ø¿ô¤ÎÄêµÁ¤¬ `typedef' ¤ÈÀë¸À¤µ¤ì¤Þ¤·¤¿"
+
+-#: c-decl.c:4534 cp/decl.c:7990 cp/pt.c:8568
++#: c-decl.c:4533 cp/decl.c:8062 cp/pt.c:8668
+ #, gcc-internal-format
+ msgid "type qualifiers ignored on function return type"
+ msgstr "´Ø¿ôÌá¤êÃͤη¿½¤¾þ»Ò¤Ï̵»ë¤µ¤ì¤Þ¤·¤¿"
+
+-#: c-decl.c:4563 c-decl.c:4644 c-decl.c:4732 c-decl.c:4825
++#: c-decl.c:4562 c-decl.c:4643 c-decl.c:4731 c-decl.c:4824
+ #, gcc-internal-format
+ msgid "ISO C forbids qualified function types"
+ msgstr "ISO C ¤Ï´Ø¿ô¤Î·¿½¤¾þ»Ò¤ò¶Ø¤¸¤Þ¤¹"
+
+-#: c-decl.c:4652
++#: c-decl.c:4651
+ #, fuzzy, gcc-internal-format
+ msgid "typedef %q+D declared %<inline%>"
+ msgstr "ÊÑ¿ô `%s' ¤¬ `inline' ¤ÈÀë¸À¤µ¤ì¤Þ¤·¤¿"
+
+-#: c-decl.c:4667
++#: c-decl.c:4666
+ #, gcc-internal-format
+ msgid "ISO C forbids const or volatile function types"
+ msgstr "ISO C ¤Ï const ¤ä volatile ¤Î´Ø¿ô·¿¤ò¶Ø¤¸¤Þ¤¹"
+
+ #. C99 6.7.2.1p8
+-#: c-decl.c:4677
++#: c-decl.c:4676
+ #, gcc-internal-format
+ msgid "a member of a structure or union cannot have a variably modified type"
+ msgstr ""
+
+-#: c-decl.c:4693
++#: c-decl.c:4692
+ #, fuzzy, gcc-internal-format
+ msgid "variable or field %qs declared void"
+ msgstr "ÊÑ¿ô¤Þ¤¿¤ÏÎΰè `%s' ¤Ï void ¤ÈÀë¸À¤µ¤ì¤Æ¤¤¤Þ¤¹"
+
+-#: c-decl.c:4725
++#: c-decl.c:4724
+ #, fuzzy, gcc-internal-format
+ msgid "attributes in parameter array declarator ignored"
+ msgstr "²¾°ú¿ôÀë¸À¤ÎÃæ¤Ç `::' ¤ò»È¤¨¤Þ¤»¤ó"
+
+-#: c-decl.c:4760
++#: c-decl.c:4759
+ #, fuzzy, gcc-internal-format
+ msgid "parameter %q+D declared %<inline%>"
+ msgstr "²¾°ú¿ô `%s' ¤¬ void ¤ÈÀë¸À¤µ¤ì¤Æ¤¤¤Þ¤¹"
+
+-#: c-decl.c:4773
++#: c-decl.c:4772
+ #, fuzzy, gcc-internal-format
+ msgid "field %qs declared as a function"
+ msgstr "Îΰè `%s' ¤Ï´Ø¿ô¤È¤·¤ÆÀë¸À¤µ¤ì¤Æ¤¤¤Þ¤¹"
+
+-#: c-decl.c:4779
++#: c-decl.c:4778
+ #, fuzzy, gcc-internal-format
+ msgid "field %qs has incomplete type"
+ msgstr "Îΰè `%s' ¤ÏÉÔ´°Á´¤Ê·¿¤Ç¤¹"
+
+-#: c-decl.c:4796 c-decl.c:4808 c-decl.c:4812
++#: c-decl.c:4795 c-decl.c:4807 c-decl.c:4811
+ #, fuzzy, gcc-internal-format
+ msgid "invalid storage class for function %qs"
+ msgstr "´Ø¿ô `%s' ¤ËÂФ·¤ÆÉÔŬÀÚ¤ÊÊݸ¥¯¥é¥¹"
+
+-#: c-decl.c:4831
++#: c-decl.c:4830
+ #, fuzzy, gcc-internal-format
+ msgid "%<noreturn%> function returns non-void value"
+ msgstr "`noreturn' ´Ø¿ô¤¬Èó void ÃͤòÊÖ¤·¤Æ¤¤¤Þ¤¹"
+
+-#: c-decl.c:4867
++#: c-decl.c:4866
+ #, fuzzy, gcc-internal-format
+ msgid "cannot inline function %<main%>"
+ msgstr "`main' ¤ò inline ´Ø¿ô¤Ë¤Ï¤Ç¤­¤Þ¤»¤ó"
+
+-#: c-decl.c:4910
++#: c-decl.c:4909
+ #, gcc-internal-format
+ msgid "variable previously declared %<static%> redeclared %<extern%>"
+ msgstr ""
+
+-#: c-decl.c:4920
++#: c-decl.c:4919
+ #, fuzzy, gcc-internal-format
+ msgid "variable %q+D declared %<inline%>"
+ msgstr "ÊÑ¿ô `%s' ¤¬ `inline' ¤ÈÀë¸À¤µ¤ì¤Þ¤·¤¿"
+
+ #. C99 6.7.5.2p2
+-#: c-decl.c:4951
++#: c-decl.c:4950
+ #, gcc-internal-format
+ msgid "object with variably modified type must have no linkage"
+ msgstr ""
+
+-#: c-decl.c:5020 c-decl.c:6199
++#: c-decl.c:5019 c-decl.c:6198
+ #, fuzzy, gcc-internal-format
+ msgid "function declaration isn%'t a prototype"
+ msgstr "´Ø¿ôÀë¸À¤Ï¥×¥í¥È¥¿¥¤¥×¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó"
+
+-#: c-decl.c:5028
++#: c-decl.c:5027
+ #, gcc-internal-format
+ msgid "parameter names (without types) in function declaration"
+ msgstr "´Ø¿ôÀë¸ÀÃæ¤Ë¡Ê·¿¤Î̵¤¤¡Ë²¾°ú¿ô̾¤¬¤¢¤ê¤Þ¤¹"
+
+-#: c-decl.c:5061
++#: c-decl.c:5060
+ #, fuzzy, gcc-internal-format
+ msgid "parameter %u (%q+D) has incomplete type"
+ msgstr "²¾°ú¿ô¤¬ÉÔ´°Á´·¿¤Ç¤¹"
+
+-#: c-decl.c:5064
++#: c-decl.c:5063
+ #, fuzzy, gcc-internal-format
+ msgid "%Jparameter %u has incomplete type"
+ msgstr "²¾°ú¿ô¤¬ÉÔ´°Á´·¿¤Ç¤¹"
+
+-#: c-decl.c:5073
++#: c-decl.c:5072
+ #, fuzzy, gcc-internal-format
+ msgid "parameter %u (%q+D) has void type"
+ msgstr "²¾°ú¿ô `%s' ¤ÏÉÔ´°Á´·¿¤Ç¤¹"
+
+-#: c-decl.c:5076
++#: c-decl.c:5075
+ #, fuzzy, gcc-internal-format
+ msgid "%Jparameter %u has void type"
+ msgstr "²¾°ú¿ô `%s' ¤ÏÉÔ´°Á´·¿¤Ç¤¹"
+
+-#: c-decl.c:5138
++#: c-decl.c:5137
+ #, gcc-internal-format
+ msgid "%<void%> as only parameter may not be qualified"
+ msgstr ""
+
+-#: c-decl.c:5142 c-decl.c:5176
++#: c-decl.c:5141 c-decl.c:5175
+ #, gcc-internal-format
+ msgid "%<void%> must be the only parameter"
+ msgstr ""
+
+-#: c-decl.c:5170
++#: c-decl.c:5169
+ #, fuzzy, gcc-internal-format
+ msgid "parameter %q+D has just a forward declaration"
+ msgstr "²¾°ú¿ô `%s' ¾¯¤·Á°Êý¤ÇÀë¸À¤µ¤ì¤Þ¤·¤¿"
+
+ #. The %s will be one of 'struct', 'union', or 'enum'.
+-#: c-decl.c:5215
++#: c-decl.c:5214
+ #, fuzzy, gcc-internal-format
+ msgid "%<%s %E%> declared inside parameter list"
+ msgstr "`%s %s' ¤Ï²¾°ú¿ô¥ê¥¹¥ÈÆâ¤ÇÀë¸À¤µ¤ì¤Þ¤·¤¿"
+
+ #. The %s will be one of 'struct', 'union', or 'enum'.
+-#: c-decl.c:5219
++#: c-decl.c:5218
+ #, fuzzy, gcc-internal-format
+ msgid "anonymous %s declared inside parameter list"
+ msgstr "̵̾¹½Â¤ÂΤ¬²¾°ú¿ô¥ê¥¹¥ÈÆâ¤ÇÀë¸À¤µ¤ì¤Þ¤·¤¿"
+
+-#: c-decl.c:5224
++#: c-decl.c:5223
+ #, fuzzy, gcc-internal-format
+ msgid "its scope is only this definition or declaration, which is probably not what you want"
+ msgstr "¤½¤Î¥¹¥³¡¼¥×¤ÏÄêµÁ¤«Àë¸À¤À¤±¤Ç¤¹¡¢¶²¤é¤¯Ë¾¤ó¤À¤³¤È¤È°Û¤Ê¤ë¤Ç¤·¤ç¤¦¡£"
+
+-#: c-decl.c:5358
++#: c-decl.c:5357
+ #, fuzzy, gcc-internal-format
+ msgid "redefinition of %<union %E%>"
+ msgstr "`%s %s' ¤ÎºÆÄêµÁ"
+
+-#: c-decl.c:5360
++#: c-decl.c:5359
+ #, fuzzy, gcc-internal-format
+ msgid "redefinition of %<struct %E%>"
+ msgstr "`%s %s' ¤ÎºÆÄêµÁ"
+
+-#: c-decl.c:5365
++#: c-decl.c:5364
+ #, fuzzy, gcc-internal-format
+ msgid "nested redefinition of %<union %E%>"
+ msgstr "`%s' ¤Î¥Í¥¹¥È¤·¤¿ºÆÄêµÁ"
+
+-#: c-decl.c:5367
++#: c-decl.c:5366
+ #, fuzzy, gcc-internal-format
+ msgid "nested redefinition of %<struct %E%>"
+ msgstr "`%s' ¤Î¥Í¥¹¥È¤·¤¿ºÆÄêµÁ"
+
+-#: c-decl.c:5442 cp/decl.c:3780
++#: c-decl.c:5441 cp/decl.c:3796
+ #, gcc-internal-format
+ msgid "declaration does not declare anything"
+ msgstr "Àë¸À¤¬²¿¤âÀë¸À¤·¤Æ¤¤¤Þ¤»¤ó"
+
+-#: c-decl.c:5446
++#: c-decl.c:5445
+ #, fuzzy, gcc-internal-format
+ msgid "ISO C doesn%'t support unnamed structs/unions"
+ msgstr "ISO C ¤Ç¤Ï̵̾¹½Â¤ÂΤ䶦ÍÑÂΤò¼õ¤±ÉÕ¤±¤Þ¤»¤ó"
+
+-#: c-decl.c:5490 c-decl.c:5506
++#: c-decl.c:5489 c-decl.c:5505
+ #, fuzzy, gcc-internal-format
+ msgid "duplicate member %q+D"
+ msgstr "½ÅÊ£¤·¤¿¥á¥ó¥Ð `%s'"
+
+-#: c-decl.c:5545
++#: c-decl.c:5544
+ #, fuzzy, gcc-internal-format
+ msgid "union has no named members"
+ msgstr "̾Á°ÉÕ¤­¥á¥ó¥Ð"
+
+-#: c-decl.c:5547
++#: c-decl.c:5546
+ #, fuzzy, gcc-internal-format
+ msgid "union has no members"
+ msgstr "%s ¤Ë `%s' ¤È¤¤¤¦Ì¾Á°¤Î¥á¥ó¥Ð¤Ï¤¢¤ê¤Þ¤»¤ó"
+
+-#: c-decl.c:5552
++#: c-decl.c:5551
+ #, fuzzy, gcc-internal-format
+ msgid "struct has no named members"
+ msgstr "̾Á°ÉÕ¤­¥á¥ó¥Ð"
+
+-#: c-decl.c:5554
++#: c-decl.c:5553
+ #, fuzzy, gcc-internal-format
+ msgid "struct has no members"
+ msgstr "%s ¤Ë `%s' ¤È¤¤¤¦Ì¾Á°¤Î¥á¥ó¥Ð¤Ï¤¢¤ê¤Þ¤»¤ó"
+
+-#: c-decl.c:5616
++#: c-decl.c:5615
+ #, fuzzy, gcc-internal-format
+ msgid "%Jflexible array member in union"
+ msgstr "¶¦ÍÑÂΤ˲ÄÊÑÇÛÎó¥á¥ó¥Ð¤¬¤¢¤ê¤Þ¤¹"
+
+-#: c-decl.c:5621
++#: c-decl.c:5620
+ #, fuzzy, gcc-internal-format
+ msgid "%Jflexible array member not at end of struct"
+ msgstr "¹½Â¤ÂΤκǸå¤Ç¤Ï¤Ê¤¤½ê¤Ë²ÄÊÑÇÛÎó¥á¥ó¥Ð¤¬¤¢¤ê¤Þ¤¹"
+
+-#: c-decl.c:5626
++#: c-decl.c:5625
+ #, fuzzy, gcc-internal-format
+ msgid "%Jflexible array member in otherwise empty struct"
+ msgstr "¹½Â¤ÂΤ˲ÄÊÑÇÛÎó¥á¥ó¥Ð°Ê³°¤Î¥á¥ó¥Ð¤¬¤¢¤ê¤Þ¤»¤ó"
+
+-#: c-decl.c:5633
++#: c-decl.c:5632
+ #, fuzzy, gcc-internal-format
+ msgid "%Jinvalid use of structure with flexible array member"
+ msgstr "²ÄÊÑÇÛÎó¥á¥ó¥Ð¤ò½é´ü²½¤·¤Æ¤¤¤Þ¤¹"
+
+-#: c-decl.c:5742
++#: c-decl.c:5741
+ #, gcc-internal-format
+ msgid "union cannot be made transparent"
+ msgstr "¶¦ÍÑÂΤòÆ©²áŪ¤Ë¤Ç¤­¤Þ¤»¤ó"
+
+-#: c-decl.c:5813
++#: c-decl.c:5812
+ #, fuzzy, gcc-internal-format
+ msgid "nested redefinition of %<enum %E%>"
+ msgstr "`%s' ¤Î¥Í¥¹¥È¤·¤¿ºÆÄêµÁ"
+
+ #. This enum is a named one that has been declared already.
+-#: c-decl.c:5820
++#: c-decl.c:5819
+ #, fuzzy, gcc-internal-format
+ msgid "redeclaration of %<enum %E%>"
+ msgstr "`enum %s' ¤ÎºÆÀë¸À"
+
+-#: c-decl.c:5883
++#: c-decl.c:5882
+ #, gcc-internal-format
+ msgid "enumeration values exceed range of largest integer"
+ msgstr "Îóµó»Ò¤ÎÃͤ¬À°¿ô¤ÎÈϰϤκÇÂçÃͤòĶ¤¨¤Þ¤·¤¿"
+
+-#: c-decl.c:5900
++#: c-decl.c:5899
+ #, gcc-internal-format
+ msgid "specified mode too small for enumeral values"
+ msgstr ""
+
+-#: c-decl.c:5996
++#: c-decl.c:5995
+ #, fuzzy, gcc-internal-format
+ msgid "enumerator value for %qE is not an integer constant"
+ msgstr "`%s' ¤ÎÎóµóÃͤ¬À°¿ôÄê¿ô¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó"
+
+-#: c-decl.c:6013
++#: c-decl.c:6012
+ #, gcc-internal-format
+ msgid "overflow in enumeration values"
+ msgstr "ÎóµóÃͤ¬¥ª¡¼¥Ð¡¼¥Õ¥í¡¼"
+
+-#: c-decl.c:6018
++#: c-decl.c:6017
+ #, fuzzy, gcc-internal-format
+ msgid "ISO C restricts enumerator values to range of %<int%>"
+ msgstr "ISO C ¤ÏÎóµó»Ò¤ÎÃͤò `int' ¤ÎÈϰϤ˸ÂÄꤷ¤Æ¤¤¤Þ¤¹"
+
+-#: c-decl.c:6125
++#: c-decl.c:6124
+ #, gcc-internal-format
+ msgid "return type is an incomplete type"
+ msgstr "Ìá¤êÃͤη¿¤¬ÉÔ´°Á´·¿¤Ç¤¹"
+
+-#: c-decl.c:6133
++#: c-decl.c:6132
+ #, fuzzy, gcc-internal-format
+ msgid "return type defaults to %<int%>"
+ msgstr "Ìá¤êÃͤη¿¤ò¥Ç¥Õ¥©¥ë¥È¤Î `int' ¤È¤·¤Þ¤¹"
+
+-#: c-decl.c:6206
++#: c-decl.c:6205
+ #, fuzzy, gcc-internal-format
+ msgid "no previous prototype for %q+D"
+ msgstr "`%s' ¤ÎÁ°Êý¥×¥í¥È¥¿¥¤¥×¤¬¤¢¤ê¤Þ¤»¤ó"
+
+-#: c-decl.c:6215
++#: c-decl.c:6214
+ #, fuzzy, gcc-internal-format
+ msgid "%q+D was used with no prototype before its definition"
+ msgstr "`%s' ¤Ï¤½¤ÎÄêµÁ¤ÎÁ°¤Ë¥×¥í¥È¥¿¥¤¥×¤Ê¤·¤Ç»È¤ï¤ì¤Þ¤·¤¿"
+
+-#: c-decl.c:6221 cp/decl.c:11126
++#: c-decl.c:6220 cp/decl.c:11224
+ #, fuzzy, gcc-internal-format
+ msgid "no previous declaration for %q+D"
+ msgstr "`%s' ¤ÎÁ°ÊýÀë¸À¤¬¤¢¤ê¤Þ¤»¤ó"
+
+-#: c-decl.c:6231
++#: c-decl.c:6230
+ #, fuzzy, gcc-internal-format
+ msgid "%q+D was used with no declaration before its definition"
+ msgstr "`%s' ¤Ï¤½¤ÎÄêµÁ¤ÎÁ°¤ÇÀë¸À¤Ê¤·¤Ç»ÈÍѤµ¤ì¤Þ¤·¤¿"
+
+-#: c-decl.c:6254 c-decl.c:6723
++#: c-decl.c:6253 c-decl.c:6722
+ #, fuzzy, gcc-internal-format
+ msgid "return type of %q+D is not %<int%>"
+ msgstr "`%s' ¤ÎÌá¤êÃͤη¿¤¬ `int' ¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó"
+
+-#: c-decl.c:6259
++#: c-decl.c:6258
+ #, fuzzy, gcc-internal-format
+ msgid "%q+D is normally a non-static function"
+ msgstr "`%s' ¤ÏÄ̾Èó static ¤Ê´Ø¿ô¤Ç¤¹"
+
+-#: c-decl.c:6293
++#: c-decl.c:6292
+ #, gcc-internal-format
+ msgid "%Jold-style parameter declarations in prototyped function definition"
+ msgstr ""
+
+-#: c-decl.c:6307
++#: c-decl.c:6306
+ #, fuzzy, gcc-internal-format
+ msgid "%Jtraditional C rejects ISO C style function definitions"
+ msgstr "¸Å¤¤ C ¤Ç¤Ïʸ»úÎó·ë¹ç¤òµñÈݤ·¤Þ¤¹"
+
+-#: c-decl.c:6323
++#: c-decl.c:6322
+ #, fuzzy, gcc-internal-format
+ msgid "%Jparameter name omitted"
+ msgstr "²¾°ú¿ô¤¬¾Êά¤µ¤ì¤Þ¤·¤¿"
+
+-#: c-decl.c:6357
++#: c-decl.c:6356
+ #, fuzzy, gcc-internal-format
+ msgid "%Jold-style function definition"
+ msgstr "%s: ´Ø¿ô¤ÎÄêµÁ¤¬ÊÑ´¹¤µ¤ì¤Æ¤¤¤Þ¤»¤ó\n"
+
+-#: c-decl.c:6366
++#: c-decl.c:6365
+ #, fuzzy, gcc-internal-format
+ msgid "%Jparameter name missing from parameter list"
+ msgstr "²¾°ú¿ô¥ê¥¹¥È¤«¤é¤Î²¾°ú¿ô̾¤ò·ç¤¤¤Æ¤¤¤Þ¤¹"
+
+-#: c-decl.c:6377
++#: c-decl.c:6376
+ #, fuzzy, gcc-internal-format
+ msgid "%q+D declared as a non-parameter"
+ msgstr "`%s %s' ¤Ï²¾°ú¿ô¥ê¥¹¥ÈÆâ¤ÇÀë¸À¤µ¤ì¤Þ¤·¤¿"
+
+-#: c-decl.c:6382
++#: c-decl.c:6381
+ #, fuzzy, gcc-internal-format
+ msgid "multiple parameters named %q+D"
+ msgstr "½ÅÊ£¤·¤¿²¾°ú¿ô̾ `%s'"
+
+-#: c-decl.c:6390
++#: c-decl.c:6389
+ #, fuzzy, gcc-internal-format
+ msgid "parameter %q+D declared with void type"
+ msgstr "²¾°ú¿ô `%s' ¤¬ void ¤ÈÀë¸À¤µ¤ì¤Æ¤¤¤Þ¤¹"
+
+-#: c-decl.c:6407 c-decl.c:6409
++#: c-decl.c:6406 c-decl.c:6408
+ #, fuzzy, gcc-internal-format
+ msgid "type of %q+D defaults to %<int%>"
+ msgstr "`%s' ¤Î·¿¤ò¥Ç¥Õ¥©¥ë¥È¤Î `int' ¤È¤·¤Þ¤¹"
+
+-#: c-decl.c:6428
++#: c-decl.c:6427
+ #, fuzzy, gcc-internal-format
+ msgid "parameter %q+D has incomplete type"
+ msgstr "²¾°ú¿ô¤¬ÉÔ´°Á´·¿¤Ç¤¹"
+
+-#: c-decl.c:6434
++#: c-decl.c:6433
+ #, fuzzy, gcc-internal-format
+ msgid "declaration for parameter %q+D but no such parameter"
+ msgstr "²¾°ú¿ô `%s' ¤ÎÀë¸À¤¬¤¢¤ê¤Þ¤¹¤¬¡¢¤½¤ó¤Ê²¾°ú¿ô¤Ï¤¢¤ê¤Þ¤»¤ó"
+
+-#: c-decl.c:6484
++#: c-decl.c:6483
+ #, fuzzy, gcc-internal-format
+ msgid "number of arguments doesn%'t match built-in prototype"
+ msgstr "²¾°ú¿ô¤Î¿ô¤¬¥×¥í¥È¥¿¥¤¥×¤È°ìÃפ·¤Þ¤»¤ó"
+
+-#: c-decl.c:6488
++#: c-decl.c:6487
+ #, fuzzy, gcc-internal-format
+ msgid "number of arguments doesn%'t match prototype"
+ msgstr "²¾°ú¿ô¤Î¿ô¤¬¥×¥í¥È¥¿¥¤¥×¤È°ìÃפ·¤Þ¤»¤ó"
+
+-#: c-decl.c:6489 c-decl.c:6529 c-decl.c:6542
++#: c-decl.c:6488 c-decl.c:6528 c-decl.c:6541
+ #, fuzzy, gcc-internal-format
+ msgid "%Hprototype declaration"
+ msgstr "¶õ¤ÎÀë¸À¤Ç¤¹"
+
+-#: c-decl.c:6523
++#: c-decl.c:6522
+ #, fuzzy, gcc-internal-format
+ msgid "promoted argument %qD doesn%'t match built-in prototype"
+ msgstr "³Ê¾å¤²¤µ¤ì¤¿²¾°ú¿ô `%s' ¤Ï¥×¥í¥È¥¿¥¤¥×¤È°ìÃפ·¤Þ¤»¤ó"
+
+-#: c-decl.c:6527
++#: c-decl.c:6526
+ #, fuzzy, gcc-internal-format
+ msgid "promoted argument %qD doesn%'t match prototype"
+ msgstr "³Ê¾å¤²¤µ¤ì¤¿²¾°ú¿ô `%s' ¤Ï¥×¥í¥È¥¿¥¤¥×¤È°ìÃפ·¤Þ¤»¤ó"
+
+-#: c-decl.c:6537
++#: c-decl.c:6536
+ #, fuzzy, gcc-internal-format
+ msgid "argument %qD doesn%'t match built-in prototype"
+ msgstr "²¾°ú¿ô `%s' ¤Ï¥×¥í¥È¥¿¥¤¥×¤Ë°ìÃפ·¤Þ¤»¤ó"
+
+-#: c-decl.c:6541
++#: c-decl.c:6540
+ #, fuzzy, gcc-internal-format
+ msgid "argument %qD doesn%'t match prototype"
+ msgstr "²¾°ú¿ô `%s' ¤Ï¥×¥í¥È¥¿¥¤¥×¤Ë°ìÃפ·¤Þ¤»¤ó"
+
+-#: c-decl.c:6768 cp/decl.c:11820
++#: c-decl.c:6767 cp/decl.c:11918
+ #, fuzzy, gcc-internal-format
+ msgid "no return statement in function returning non-void"
+ msgstr "Ìá¤ê·¿¤¬´Ø¿ô¤Ç¡¢`return' ¤ËÃͤ¬¤¢¤ê¤Þ¤»¤ó"
+@@ -19324,437 +19286,437 @@
+ #. If we get here, declarations have been used in a for loop without
+ #. the C99 for loop scope. This doesn't make much sense, so don't
+ #. allow it.
+-#: c-decl.c:6841
++#: c-decl.c:6840
+ #, fuzzy, gcc-internal-format
+ msgid "%<for%> loop initial declaration used outside C99 mode"
+ msgstr "`for' ¥ë¡¼¥×¤Î½é´ü²½Àë¸À¤¬ C99 ¥â¡¼¥É°Ê³°¤Ç»È¤ï¤ì¤Þ¤·¤¿"
+
+-#: c-decl.c:6870
++#: c-decl.c:6869
+ #, fuzzy, gcc-internal-format
+ msgid "declaration of static variable %q+D in %<for%> loop initial declaration"
+ msgstr "¥¹¥¿¥Æ¥£¥Ã¥¯ÊÑ¿ô `%s' ¤ÎÀë¸À¤¬ `for' ¥ë¡¼¥×½é´ü²½Àë¸ÀÆâ¤Ë¤¢¤ê¤Þ¤¹"
+
+-#: c-decl.c:6873
++#: c-decl.c:6872
+ #, fuzzy, gcc-internal-format
+ msgid "declaration of %<extern%> variable %q+D in %<for%> loop initial declaration"
+ msgstr "`extern' ÊÑ¿ô `%s' ¤ÎÀë¸À¤¬ `for' ¥ë¡¼¥×½é´ü²½Àë¸ÀÆâ¤Ë¤¢¤ê¤Þ¤¹"
+
+-#: c-decl.c:6878
++#: c-decl.c:6877
+ #, fuzzy, gcc-internal-format
+ msgid "%<struct %E%> declared in %<for%> loop initial declaration"
+ msgstr "`%s %s' ¤¬ `for' ¥ë¡¼¥×½é´ü²½Àë¸ÀÆâ¤ÇÀë¸À¤µ¤ì¤Þ¤·¤¿"
+
+-#: c-decl.c:6882
++#: c-decl.c:6881
+ #, fuzzy, gcc-internal-format
+ msgid "%<union %E%> declared in %<for%> loop initial declaration"
+ msgstr "`%s %s' ¤¬ `for' ¥ë¡¼¥×½é´ü²½Àë¸ÀÆâ¤ÇÀë¸À¤µ¤ì¤Þ¤·¤¿"
+
+-#: c-decl.c:6886
++#: c-decl.c:6885
+ #, fuzzy, gcc-internal-format
+ msgid "%<enum %E%> declared in %<for%> loop initial declaration"
+ msgstr "`%s %s' ¤¬ `for' ¥ë¡¼¥×½é´ü²½Àë¸ÀÆâ¤ÇÀë¸À¤µ¤ì¤Þ¤·¤¿"
+
+-#: c-decl.c:6890
++#: c-decl.c:6889
+ #, fuzzy, gcc-internal-format
+ msgid "declaration of non-variable %q+D in %<for%> loop initial declaration"
+ msgstr "ÈóÊÑ¿ô `%s' ¤ÎÀë¸À¤¬ `for' ¥ë¡¼¥×½é´ü²½Àë¸À¤ÎÃæ¤Ë¤¢¤ê¤Þ¤¹"
+
+-#: c-decl.c:7178 c-decl.c:7420 c-decl.c:7716
++#: c-decl.c:7177 c-decl.c:7419 c-decl.c:7715
+ #, fuzzy, gcc-internal-format
+ msgid "duplicate %qE"
+ msgstr "`%s' ¤¬½ÅÊ£¤·¤Æ¤¤¤Þ¤¹"
+
+-#: c-decl.c:7201 c-decl.c:7430 c-decl.c:7617
++#: c-decl.c:7200 c-decl.c:7429 c-decl.c:7616
+ #, fuzzy, gcc-internal-format
+ msgid "two or more data types in declaration specifiers"
+ msgstr "`%s' ¤ÎÀë¸À¤ËÆó¤Ä°Ê¾å¤Î¥Ç¡¼¥¿·¿¤¬»ØÄꤵ¤ì¤Þ¤·¤¿"
+
+-#: c-decl.c:7213 cp/parser.c:2149
++#: c-decl.c:7212 cp/parser.c:2152
+ #, fuzzy, gcc-internal-format
+ msgid "%<long long long%> is too long for GCC"
+ msgstr "`long long long' ¤Ï GCC ¤Ë¤È¤Ã¤ÆŤ¹¤®¤Þ¤¹"
+
+-#: c-decl.c:7220 c-decl.c:7520
++#: c-decl.c:7219 c-decl.c:7519
+ #, gcc-internal-format
+ msgid "both %<long long%> and %<double%> in declaration specifiers"
+ msgstr ""
+
+-#: c-decl.c:7226
++#: c-decl.c:7225
+ #, fuzzy, gcc-internal-format
+ msgid "ISO C90 does not support %<long long%>"
+ msgstr "ISO C89 ¤Ï `long long' ¤ò¼õ¤±ÉÕ¤±¤Þ¤»¤ó"
+
+-#: c-decl.c:7231 c-decl.c:7260
++#: c-decl.c:7230 c-decl.c:7259
+ #, fuzzy, gcc-internal-format
+ msgid "both %<long%> and %<short%> in declaration specifiers"
+ msgstr "`%s' ¤ËÂФ·¤Æ long ¤È short ¤ÎξÊý¤¬»ØÄꤵ¤ì¤Æ¤¤¤Þ¤¹"
+
+-#: c-decl.c:7234 c-decl.c:7437
++#: c-decl.c:7233 c-decl.c:7436
+ #, fuzzy, gcc-internal-format
+ msgid "both %<long%> and %<void%> in declaration specifiers"
+ msgstr "`%s' ¤ËÂФ·¤Æ long ¤È short ¤ÎξÊý¤¬»ØÄꤵ¤ì¤Æ¤¤¤Þ¤¹"
+
+-#: c-decl.c:7237 c-decl.c:7459
++#: c-decl.c:7236 c-decl.c:7458
+ #, fuzzy, gcc-internal-format
+ msgid "both %<long%> and %<_Bool%> in declaration specifiers"
+ msgstr "`%s' ¤ËÂФ·¤Æ long ¤È short ¤ÎξÊý¤¬»ØÄꤵ¤ì¤Æ¤¤¤Þ¤¹"
+
+-#: c-decl.c:7240 c-decl.c:7481
++#: c-decl.c:7239 c-decl.c:7480
+ #, fuzzy, gcc-internal-format
+ msgid "both %<long%> and %<char%> in declaration specifiers"
+ msgstr "`%s' ¤ËÂФ·¤Æ long ¤È short ¤ÎξÊý¤¬»ØÄꤵ¤ì¤Æ¤¤¤Þ¤¹"
+
+-#: c-decl.c:7243 c-decl.c:7501
++#: c-decl.c:7242 c-decl.c:7500
+ #, fuzzy, gcc-internal-format
+ msgid "both %<long%> and %<float%> in declaration specifiers"
+ msgstr "`%s' ¤ËÂФ·¤Æ long ¤È short ¤ÎξÊý¤¬»ØÄꤵ¤ì¤Æ¤¤¤Þ¤¹"
+
+-#: c-decl.c:7246
++#: c-decl.c:7245
+ #, gcc-internal-format
+ msgid "both %<long%> and %<_Decimal32%> in declaration specifiers"
+ msgstr ""
+
+-#: c-decl.c:7249
++#: c-decl.c:7248
+ #, gcc-internal-format
+ msgid "both %<long%> and %<_Decimal64%> in declaration specifiers"
+ msgstr ""
+
+-#: c-decl.c:7252
++#: c-decl.c:7251
+ #, gcc-internal-format
+ msgid "both %<long%> and %<_Decimal128%> in declaration specifiers"
+ msgstr ""
+
+-#: c-decl.c:7263 c-decl.c:7440
++#: c-decl.c:7262 c-decl.c:7439
+ #, gcc-internal-format
+ msgid "both %<short%> and %<void%> in declaration specifiers"
+ msgstr ""
+
+-#: c-decl.c:7266 c-decl.c:7462
++#: c-decl.c:7265 c-decl.c:7461
+ #, gcc-internal-format
+ msgid "both %<short%> and %<_Bool%> in declaration specifiers"
+ msgstr ""
+
+-#: c-decl.c:7269 c-decl.c:7484
++#: c-decl.c:7268 c-decl.c:7483
+ #, gcc-internal-format
+ msgid "both %<short%> and %<char%> in declaration specifiers"
+ msgstr ""
+
+-#: c-decl.c:7272 c-decl.c:7504
++#: c-decl.c:7271 c-decl.c:7503
+ #, gcc-internal-format
+ msgid "both %<short%> and %<float%> in declaration specifiers"
+ msgstr ""
+
+-#: c-decl.c:7275 c-decl.c:7523
++#: c-decl.c:7274 c-decl.c:7522
+ #, gcc-internal-format
+ msgid "both %<short%> and %<double%> in declaration specifiers"
+ msgstr ""
+
+-#: c-decl.c:7278
++#: c-decl.c:7277
+ #, gcc-internal-format
+ msgid "both %<short%> and %<_Decimal32%> in declaration specifiers"
+ msgstr ""
+
+-#: c-decl.c:7281
++#: c-decl.c:7280
+ #, gcc-internal-format
+ msgid "both %<short%> and %<_Decimal64%> in declaration specifiers"
+ msgstr ""
+
+-#: c-decl.c:7284
++#: c-decl.c:7283
+ #, gcc-internal-format
+ msgid "both %<short%> and %<_Decimal128%> in declaration specifiers"
+ msgstr ""
+
+-#: c-decl.c:7292 c-decl.c:7321
++#: c-decl.c:7291 c-decl.c:7320
+ #, fuzzy, gcc-internal-format
+ msgid "both %<signed%> and %<unsigned%> in declaration specifiers"
+ msgstr "`%s' ¤ËÂФ·¤ÆÉä¹æ¤¢¤ê¤ÈÉä¹æ¤Ê¤·¤ÎξÊý¤¬»ØÄꤵ¤ì¤Æ¤¤¤Þ¤¹"
+
+-#: c-decl.c:7295 c-decl.c:7443
++#: c-decl.c:7294 c-decl.c:7442
+ #, fuzzy, gcc-internal-format
+ msgid "both %<signed%> and %<void%> in declaration specifiers"
+ msgstr "`%s' ¤ËÂФ·¤ÆÉä¹æ¤¢¤ê¤ÈÉä¹æ¤Ê¤·¤ÎξÊý¤¬»ØÄꤵ¤ì¤Æ¤¤¤Þ¤¹"
+
+-#: c-decl.c:7298 c-decl.c:7465
++#: c-decl.c:7297 c-decl.c:7464
+ #, fuzzy, gcc-internal-format
+ msgid "both %<signed%> and %<_Bool%> in declaration specifiers"
+ msgstr "`%s' ¤ËÂФ·¤ÆÉä¹æ¤¢¤ê¤ÈÉä¹æ¤Ê¤·¤ÎξÊý¤¬»ØÄꤵ¤ì¤Æ¤¤¤Þ¤¹"
+
+-#: c-decl.c:7301 c-decl.c:7507
++#: c-decl.c:7300 c-decl.c:7506
+ #, fuzzy, gcc-internal-format
+ msgid "both %<signed%> and %<float%> in declaration specifiers"
+ msgstr "`%s' ¤ËÂФ·¤ÆÉä¹æ¤¢¤ê¤ÈÉä¹æ¤Ê¤·¤ÎξÊý¤¬»ØÄꤵ¤ì¤Æ¤¤¤Þ¤¹"
+
+-#: c-decl.c:7304 c-decl.c:7526
++#: c-decl.c:7303 c-decl.c:7525
+ #, fuzzy, gcc-internal-format
+ msgid "both %<signed%> and %<double%> in declaration specifiers"
+ msgstr "`%s' ¤ËÂФ·¤ÆÉä¹æ¤¢¤ê¤ÈÉä¹æ¤Ê¤·¤ÎξÊý¤¬»ØÄꤵ¤ì¤Æ¤¤¤Þ¤¹"
+
+-#: c-decl.c:7307
++#: c-decl.c:7306
+ #, gcc-internal-format
+ msgid "both %<signed%> and %<_Decimal32%> in declaration specifiers"
+ msgstr ""
+
+-#: c-decl.c:7310
++#: c-decl.c:7309
+ #, gcc-internal-format
+ msgid "both %<signed%> and %<_Decimal64%> in declaration specifiers"
+ msgstr ""
+
+-#: c-decl.c:7313
++#: c-decl.c:7312
+ #, gcc-internal-format
+ msgid "both %<signed%> and %<_Decimal128%> in declaration specifiers"
+ msgstr ""
+
+-#: c-decl.c:7324 c-decl.c:7446
++#: c-decl.c:7323 c-decl.c:7445
+ #, fuzzy, gcc-internal-format
+ msgid "both %<unsigned%> and %<void%> in declaration specifiers"
+ msgstr "`%s' ¤ËÂФ·¤ÆÉä¹æ¤¢¤ê¤ÈÉä¹æ¤Ê¤·¤ÎξÊý¤¬»ØÄꤵ¤ì¤Æ¤¤¤Þ¤¹"
+
+-#: c-decl.c:7327 c-decl.c:7468
++#: c-decl.c:7326 c-decl.c:7467
+ #, fuzzy, gcc-internal-format
+ msgid "both %<unsigned%> and %<_Bool%> in declaration specifiers"
+ msgstr "`%s' ¤ËÂФ·¤ÆÉä¹æ¤¢¤ê¤ÈÉä¹æ¤Ê¤·¤ÎξÊý¤¬»ØÄꤵ¤ì¤Æ¤¤¤Þ¤¹"
+
+-#: c-decl.c:7330 c-decl.c:7510
++#: c-decl.c:7329 c-decl.c:7509
+ #, fuzzy, gcc-internal-format
+ msgid "both %<unsigned%> and %<float%> in declaration specifiers"
+ msgstr "`%s' ¤ËÂФ·¤ÆÉä¹æ¤¢¤ê¤ÈÉä¹æ¤Ê¤·¤ÎξÊý¤¬»ØÄꤵ¤ì¤Æ¤¤¤Þ¤¹"
+
+-#: c-decl.c:7333 c-decl.c:7529
++#: c-decl.c:7332 c-decl.c:7528
+ #, fuzzy, gcc-internal-format
+ msgid "both %<unsigned%> and %<double%> in declaration specifiers"
+ msgstr "`%s' ¤ËÂФ·¤ÆÉä¹æ¤¢¤ê¤ÈÉä¹æ¤Ê¤·¤ÎξÊý¤¬»ØÄꤵ¤ì¤Æ¤¤¤Þ¤¹"
+
+-#: c-decl.c:7336
++#: c-decl.c:7335
+ #, gcc-internal-format
+ msgid "both %<unsigned%> and %<_Decimal32%> in declaration specifiers"
+ msgstr ""
+
+-#: c-decl.c:7339
++#: c-decl.c:7338
+ #, gcc-internal-format
+ msgid "both %<unsigned%> and %<_Decimal64%> in declaration specifiers"
+ msgstr ""
+
+-#: c-decl.c:7342
++#: c-decl.c:7341
+ #, gcc-internal-format
+ msgid "both %<unsigned%> and %<_Decimal128%> in declaration specifiers"
+ msgstr ""
+
+-#: c-decl.c:7350
++#: c-decl.c:7349
+ #, fuzzy, gcc-internal-format
+ msgid "ISO C90 does not support complex types"
+ msgstr "ISO C89 ¤Ï complex ·¿¤ò¼õ¤±ÉÕ¤±¤Þ¤»¤ó"
+
+-#: c-decl.c:7352 c-decl.c:7449
++#: c-decl.c:7351 c-decl.c:7448
+ #, gcc-internal-format
+ msgid "both %<complex%> and %<void%> in declaration specifiers"
+ msgstr ""
+
+-#: c-decl.c:7355 c-decl.c:7471
++#: c-decl.c:7354 c-decl.c:7470
+ #, gcc-internal-format
+ msgid "both %<complex%> and %<_Bool%> in declaration specifiers"
+ msgstr ""
+
+-#: c-decl.c:7358
++#: c-decl.c:7357
+ #, gcc-internal-format
+ msgid "both %<complex%> and %<_Decimal32%> in declaration specifiers"
+ msgstr ""
+
+-#: c-decl.c:7361
++#: c-decl.c:7360
+ #, gcc-internal-format
+ msgid "both %<complex%> and %<_Decimal64%> in declaration specifiers"
+ msgstr ""
+
+-#: c-decl.c:7364
++#: c-decl.c:7363
+ #, gcc-internal-format
+ msgid "both %<complex%> and %<_Decimal128%> in declaration specifiers"
+ msgstr ""
+
+-#: c-decl.c:7367
++#: c-decl.c:7366
+ #, gcc-internal-format
+ msgid "both %<complex%> and %<_Fract%> in declaration specifiers"
+ msgstr ""
+
+-#: c-decl.c:7370
++#: c-decl.c:7369
+ #, gcc-internal-format
+ msgid "both %<complex%> and %<_Accum%> in declaration specifiers"
+ msgstr ""
+
+-#: c-decl.c:7373
++#: c-decl.c:7372
+ #, gcc-internal-format
+ msgid "both %<complex%> and %<_Sat%> in declaration specifiers"
+ msgstr ""
+
+-#: c-decl.c:7381
++#: c-decl.c:7380
+ #, fuzzy, gcc-internal-format
+ msgid "ISO C does not support saturating types"
+ msgstr "ISO C ¤ÏÀ°¿ô·¿¤Î complex ¤ò¼õ¤±ÉÕ¤±¤Þ¤»¤ó"
+
+-#: c-decl.c:7383 c-decl.c:7452
++#: c-decl.c:7382 c-decl.c:7451
+ #, gcc-internal-format
+ msgid "both %<_Sat%> and %<void%> in declaration specifiers"
+ msgstr ""
+
+-#: c-decl.c:7386 c-decl.c:7474
++#: c-decl.c:7385 c-decl.c:7473
+ #, gcc-internal-format
+ msgid "both %<_Sat%> and %<_Bool%> in declaration specifiers"
+ msgstr ""
+
+-#: c-decl.c:7389 c-decl.c:7487
++#: c-decl.c:7388 c-decl.c:7486
+ #, gcc-internal-format
+ msgid "both %<_Sat%> and %<char%> in declaration specifiers"
+ msgstr ""
+
+-#: c-decl.c:7392 c-decl.c:7494
++#: c-decl.c:7391 c-decl.c:7493
+ #, gcc-internal-format
+ msgid "both %<_Sat%> and %<int%> in declaration specifiers"
+ msgstr ""
+
+-#: c-decl.c:7395 c-decl.c:7513
++#: c-decl.c:7394 c-decl.c:7512
+ #, gcc-internal-format
+ msgid "both %<_Sat%> and %<float%> in declaration specifiers"
+ msgstr ""
+
+-#: c-decl.c:7398 c-decl.c:7532
++#: c-decl.c:7397 c-decl.c:7531
+ #, gcc-internal-format
+ msgid "both %<_Sat%> and %<double%> in declaration specifiers"
+ msgstr ""
+
+-#: c-decl.c:7401
++#: c-decl.c:7400
+ #, gcc-internal-format
+ msgid "both %<_Sat%> and %<_Decimal32%> in declaration specifiers"
+ msgstr ""
+
+-#: c-decl.c:7404
++#: c-decl.c:7403
+ #, gcc-internal-format
+ msgid "both %<_Sat%> and %<_Decimal64%> in declaration specifiers"
+ msgstr ""
+
+-#: c-decl.c:7407
++#: c-decl.c:7406
+ #, gcc-internal-format
+ msgid "both %<_Sat%> and %<_Decimal128%> in declaration specifiers"
+ msgstr ""
+
+-#: c-decl.c:7410
++#: c-decl.c:7409
+ #, gcc-internal-format
+ msgid "both %<_Sat%> and %<complex%> in declaration specifiers"
+ msgstr ""
+
+-#: c-decl.c:7549
++#: c-decl.c:7548
+ #, fuzzy, gcc-internal-format
+ msgid "both %<long long%> and %<%s%> in declaration specifiers"
+ msgstr "`%s' ¤ËÂФ·¤Æ long ¤È short ¤ÎξÊý¤¬»ØÄꤵ¤ì¤Æ¤¤¤Þ¤¹"
+
+-#: c-decl.c:7552
++#: c-decl.c:7551
+ #, fuzzy, gcc-internal-format
+ msgid "both %<long%> and %<%s%> in declaration specifiers"
+ msgstr "`%s' ¤ËÂФ·¤Æ long ¤È short ¤ÎξÊý¤¬»ØÄꤵ¤ì¤Æ¤¤¤Þ¤¹"
+
+-#: c-decl.c:7555
++#: c-decl.c:7554
+ #, gcc-internal-format
+ msgid "both %<short%> and %<%s%> in declaration specifiers"
+ msgstr ""
+
+-#: c-decl.c:7558
++#: c-decl.c:7557
+ #, fuzzy, gcc-internal-format
+ msgid "both %<signed%> and %<%s%> in declaration specifiers"
+ msgstr "`%s' ¤ËÂФ·¤ÆÉä¹æ¤¢¤ê¤ÈÉä¹æ¤Ê¤·¤ÎξÊý¤¬»ØÄꤵ¤ì¤Æ¤¤¤Þ¤¹"
+
+-#: c-decl.c:7561
++#: c-decl.c:7560
+ #, fuzzy, gcc-internal-format
+ msgid "both %<unsigned%> and %<%s%> in declaration specifiers"
+ msgstr "`%s' ¤ËÂФ·¤ÆÉä¹æ¤¢¤ê¤ÈÉä¹æ¤Ê¤·¤ÎξÊý¤¬»ØÄꤵ¤ì¤Æ¤¤¤Þ¤¹"
+
+-#: c-decl.c:7564 c-decl.c:7590
++#: c-decl.c:7563 c-decl.c:7589
+ #, gcc-internal-format
+ msgid "both %<complex%> and %<%s%> in declaration specifiers"
+ msgstr ""
+
+-#: c-decl.c:7567
++#: c-decl.c:7566
+ #, gcc-internal-format
+ msgid "both %<_Sat%> and %<%s%> in declaration specifiers"
+ msgstr ""
+
+-#: c-decl.c:7577
++#: c-decl.c:7576
+ #, fuzzy, gcc-internal-format
+ msgid "decimal floating point not supported for this target"
+ msgstr "-fdata-sections ¤Ï¤³¤Î¥¿¡¼¥²¥Ã¥È¤Ç¼õ¤±Æþ¤ì¤é¤ì¤Þ¤»¤ó"
+
+-#: c-decl.c:7579
++#: c-decl.c:7578
+ #, fuzzy, gcc-internal-format
+ msgid "ISO C does not support decimal floating point"
+ msgstr "ISO C89 ¤Ï `long long' ¤ò¼õ¤±ÉÕ¤±¤Þ¤»¤ó"
+
+-#: c-decl.c:7598
++#: c-decl.c:7597
+ #, fuzzy, gcc-internal-format
+ msgid "fixed-point types not supported for this target"
+ msgstr "-fdata-sections ¤Ï¤³¤Î¥¿¡¼¥²¥Ã¥È¤Ç¼õ¤±Æþ¤ì¤é¤ì¤Þ¤»¤ó"
+
+-#: c-decl.c:7600
++#: c-decl.c:7599
+ #, fuzzy, gcc-internal-format
+ msgid "ISO C does not support fixed-point types"
+ msgstr "ISO C ¤ÏÀ°¿ô·¿¤Î complex ¤ò¼õ¤±ÉÕ¤±¤Þ¤»¤ó"
+
+-#: c-decl.c:7634
++#: c-decl.c:7633
+ #, fuzzy, gcc-internal-format
+ msgid "%qE fails to be a typedef or built in type"
+ msgstr "`%s' ¤ò typedef ¤Þ¤¿¤ÏÁȤ߹þ¤ß·¿¤Ë¤Ç¤­¤Þ¤»¤ó"
+
+-#: c-decl.c:7667
++#: c-decl.c:7666
+ #, fuzzy, gcc-internal-format
+ msgid "%qE is not at beginning of declaration"
+ msgstr "`%s' ¤ÏÀë¸À¤Î»Ï¤Þ¤ê¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó"
+
+-#: c-decl.c:7681
++#: c-decl.c:7680
+ #, gcc-internal-format
+ msgid "%<__thread%> used with %<auto%>"
+ msgstr ""
+
+-#: c-decl.c:7683
++#: c-decl.c:7682
+ #, gcc-internal-format
+ msgid "%<__thread%> used with %<register%>"
+ msgstr ""
+
+-#: c-decl.c:7685
++#: c-decl.c:7684
+ #, gcc-internal-format
+ msgid "%<__thread%> used with %<typedef%>"
+ msgstr ""
+
+-#: c-decl.c:7696
++#: c-decl.c:7695
+ #, gcc-internal-format
+ msgid "%<__thread%> before %<extern%>"
+ msgstr ""
+
+-#: c-decl.c:7705
++#: c-decl.c:7704
+ #, gcc-internal-format
+ msgid "%<__thread%> before %<static%>"
+ msgstr ""
+
+-#: c-decl.c:7721
++#: c-decl.c:7720
+ #, fuzzy, gcc-internal-format
+ msgid "multiple storage classes in declaration specifiers"
+ msgstr "`%s' ¤ÎÀë¸À¤Ë¤ª¤¤¤ÆÊ£¿ô¤ÎÊݸ¥¯¥é¥¹"
+
+-#: c-decl.c:7728
++#: c-decl.c:7727
+ #, gcc-internal-format
+ msgid "%<__thread%> used with %qE"
+ msgstr ""
+
+-#: c-decl.c:7775
++#: c-decl.c:7774
+ #, gcc-internal-format
+ msgid "%<_Sat%> is used without %<_Fract%> or %<_Accum%>"
+ msgstr ""
+
+-#: c-decl.c:7787
++#: c-decl.c:7786
+ #, fuzzy, gcc-internal-format
+ msgid "ISO C does not support plain %<complex%> meaning %<double complex%>"
+ msgstr "ISO C ¤Ï `double complex' ¤ò°ÕÌ£¤¹¤ë̵½¤¾þ¤Î `complex' ¤ò¼õ¤±ÉÕ¤±¤Þ¤»¤ó"
+
+-#: c-decl.c:7832 c-decl.c:7858
++#: c-decl.c:7831 c-decl.c:7857
+ #, gcc-internal-format
+ msgid "ISO C does not support complex integer types"
+ msgstr "ISO C ¤ÏÀ°¿ô·¿¤Î complex ¤ò¼õ¤±ÉÕ¤±¤Þ¤»¤ó"
+
+-#: c-decl.c:8008 toplev.c:847
++#: c-decl.c:8007 toplev.c:847
+ #, fuzzy, gcc-internal-format
+ msgid "%q+F used but never defined"
+ msgstr "`%s' ¤¬»È¤ï¤ì¤Þ¤·¤¿¤¬Ì¤ÄêµÁ¤Ç¤¹"
+@@ -20166,37 +20128,37 @@
+ msgid "invalid expression type for %<#pragma omp atomic%>"
+ msgstr "¥ª¥Ú¥é¥ó¥É¤È¤·¤Æ̵¸ú¤Ê¼°"
+
+-#: c-omp.c:218
++#: c-omp.c:219
+ #, fuzzy, gcc-internal-format
+ msgid "%Hinvalid type for iteration variable %qE"
+ msgstr "`%s' ¤Ï¥ì¥¸¥¹¥¿ÊÑ¿ô¤È¤·¤Æ¤Ï̵¸ú¤Ê¥ì¥¸¥¹¥¿Ì¾¤Ç¤¹"
+
+-#: c-omp.c:222
++#: c-omp.c:223
+ #, fuzzy, gcc-internal-format
+ msgid "%Hiteration variable %qE is unsigned"
+ msgstr "ÊÑ¿ô¤¬»È¤ï¤ì¤Ê¤¤¤È¤­¤Ë·Ù¹ð¤¹¤ë"
+
+-#: c-omp.c:233
++#: c-omp.c:234
+ #, fuzzy, gcc-internal-format
+ msgid "%H%qE is not initialized"
+ msgstr "½é´ü²½»Ò¤ò·ç¤¤¤Æ¤¤¤Þ¤¹"
+
+-#: c-omp.c:246 cp/semantics.c:3840
++#: c-omp.c:247 cp/semantics.c:3872
+ #, fuzzy, gcc-internal-format
+ msgid "%Hmissing controlling predicate"
+ msgstr "½Ò¸ì¤Î¸å¤í¤Î '(' ¤ò·ç¤¤¤Æ¤¤¤Þ¤¹"
+
+-#: c-omp.c:304
++#: c-omp.c:305
+ #, fuzzy, gcc-internal-format
+ msgid "%Hinvalid controlling predicate"
+ msgstr "̵¸ú¤ÊÀ©¸æ¼°¤Ç¤¹"
+
+-#: c-omp.c:311 cp/semantics.c:3846
++#: c-omp.c:312 cp/semantics.c:3878
+ #, fuzzy, gcc-internal-format
+ msgid "%Hmissing increment expression"
+ msgstr "ÂåÆþ¤ÎÍÞÀ©"
+
+-#: c-omp.c:361
++#: c-omp.c:362
+ #, fuzzy, gcc-internal-format
+ msgid "%Hinvalid increment expression"
+ msgstr "̵¸ú¤ÊÀ©¸æ¼°¤Ç¤¹"
+@@ -20241,152 +20203,152 @@
+ msgid "obsolete option -I- used, please use -iquote instead"
+ msgstr ""
+
+-#: c-opts.c:508
++#: c-opts.c:510
+ #, fuzzy, gcc-internal-format
+ msgid "argument %qs to %<-Wnormalized%> not recognized"
+ msgstr "¸À¸ì %s ¤Ïǧ¼±¤Ç¤­¤Þ¤»¤ó"
+
+-#: c-opts.c:595
++#: c-opts.c:597
+ #, fuzzy, gcc-internal-format
+ msgid "switch %qs is no longer supported"
+ msgstr "-f%s ¤Ï¤â¤Ï¤ä¥µ¥Ý¡¼¥È¤µ¤ì¤Þ¤»¤ó"
+
+-#: c-opts.c:705
++#: c-opts.c:707
+ #, fuzzy, gcc-internal-format
+ msgid "-fhandle-exceptions has been renamed -fexceptions (and is now on by default)"
+ msgstr "-fhandle-exceptions ¤Ï -fexception ¤ËÊѹ¹¤µ¤ì¤Þ¤·¤¿(¤µ¤é¤Ë¥Ç¥Õ¥©¥ë¥È¤ÇÍ­¸ú¤Ç¤¹)"
+
+-#: c-opts.c:911
++#: c-opts.c:913
+ #, fuzzy, gcc-internal-format
+ msgid "output filename specified twice"
+ msgstr "½ÐÎÏ¥Õ¥¡¥¤¥ë̾¤¬Æó²ó»ØÄꤵ¤ì¤Þ¤·¤¿"
+
+-#: c-opts.c:1051
++#: c-opts.c:1053
+ #, gcc-internal-format
+ msgid "-fno-gnu89-inline is only supported in GNU99 or C99 mode"
+ msgstr ""
+
+-#: c-opts.c:1126
++#: c-opts.c:1142
+ #, gcc-internal-format
+ msgid "-Wformat-y2k ignored without -Wformat"
+ msgstr "-Wformat-y2k ¤Ï̵»ë¤µ¤ì¤Þ¤·¤¿¡Ê-Wformat ¤¬¤¢¤ê¤Þ¤»¤ó¡Ë"
+
+-#: c-opts.c:1128
++#: c-opts.c:1144
+ #, gcc-internal-format
+ msgid "-Wformat-extra-args ignored without -Wformat"
+ msgstr "-Wformat-extra-args ¤Ï̵»ë¤µ¤ì¤Þ¤·¤¿¡Ê-Wformat ¤¬¤¢¤ê¤Þ¤»¤ó¡Ë"
+
+-#: c-opts.c:1130
++#: c-opts.c:1146
+ #, fuzzy, gcc-internal-format
+ msgid "-Wformat-zero-length ignored without -Wformat"
+ msgstr "-Wformat-extra-args ¤Ï̵»ë¤µ¤ì¤Þ¤·¤¿¡Ê-Wformat ¤¬¤¢¤ê¤Þ¤»¤ó¡Ë"
+
+-#: c-opts.c:1132
++#: c-opts.c:1148
+ #, gcc-internal-format
+ msgid "-Wformat-nonliteral ignored without -Wformat"
+ msgstr "-Wformat-nonliteral ¤Ï̵»ë¤µ¤ì¤Þ¤·¤¿¡Ê-Wformat ¤¬¤¢¤ê¤Þ¤»¤ó¡Ë"
+
+-#: c-opts.c:1134
++#: c-opts.c:1150
+ #, fuzzy, gcc-internal-format
+ msgid "-Wformat-contains-nul ignored without -Wformat"
+ msgstr "-Wformat-nonliteral ¤Ï̵»ë¤µ¤ì¤Þ¤·¤¿¡Ê-Wformat ¤¬¤¢¤ê¤Þ¤»¤ó¡Ë"
+
+-#: c-opts.c:1136
++#: c-opts.c:1152
+ #, gcc-internal-format
+ msgid "-Wformat-security ignored without -Wformat"
+ msgstr "-Wformat-security ¤Ï̵»ë¤µ¤ì¤Þ¤·¤¿¡Ê-Wformat ¤¬¤¢¤ê¤Þ¤»¤ó¡Ë"
+
+-#: c-opts.c:1160
++#: c-opts.c:1176
+ #, fuzzy, gcc-internal-format
+ msgid "opening output file %s: %m"
+ msgstr "½ÐÎÏ¥Õ¥¡¥¤¥ë `%s' ¤ò open ¤Ç¤­¤Þ¤»¤ó"
+
+-#: c-opts.c:1165
++#: c-opts.c:1181
+ #, fuzzy, gcc-internal-format
+ msgid "too many filenames given. Type %s --help for usage"
+ msgstr "¥Õ¥¡¥¤¥ë̾¤¬Â¿¤¹¤®¤Þ¤¹¡£%s --help ¤È¥¿¥¤¥×¤·¤Æ»È¤¤Êý¤ò¸«¤Þ¤·¤ç¤¦"
+
+-#: c-opts.c:1249
++#: c-opts.c:1265
+ #, fuzzy, gcc-internal-format
+ msgid "The C parser does not support -dy, option ignored"
+ msgstr "APCS ºÆÆþ²Äǽ¥³¡¼¥É¤Ï¥µ¥Ý¡¼¥È¤µ¤ì¤Þ¤»¤ó¡£Ìµ»ë¤µ¤ì¤Þ¤·¤¿"
+
+-#: c-opts.c:1253
++#: c-opts.c:1269
+ #, gcc-internal-format
+ msgid "The Objective-C parser does not support -dy, option ignored"
+ msgstr ""
+
+-#: c-opts.c:1256
++#: c-opts.c:1272
+ #, fuzzy, gcc-internal-format
+ msgid "The C++ parser does not support -dy, option ignored"
+ msgstr "APCS ºÆÆþ²Äǽ¥³¡¼¥É¤Ï¥µ¥Ý¡¼¥È¤µ¤ì¤Þ¤»¤ó¡£Ìµ»ë¤µ¤ì¤Þ¤·¤¿"
+
+-#: c-opts.c:1260
++#: c-opts.c:1276
+ #, gcc-internal-format
+ msgid "The Objective-C++ parser does not support -dy, option ignored"
+ msgstr ""
+
+-#: c-opts.c:1309
++#: c-opts.c:1326
+ #, gcc-internal-format
+ msgid "opening dependency file %s: %m"
+ msgstr ""
+
+-#: c-opts.c:1319
++#: c-opts.c:1336
+ #, gcc-internal-format
+ msgid "closing dependency file %s: %m"
+ msgstr ""
+
+-#: c-opts.c:1322
++#: c-opts.c:1339
+ #, fuzzy, gcc-internal-format
+ msgid "when writing output to %s: %m"
+ msgstr "%s ¤Ø¤Î½ñ¤­¹þ¤ß¥¨¥é¡¼¤Ç¤¹"
+
+-#: c-opts.c:1402
++#: c-opts.c:1419
+ #, fuzzy, gcc-internal-format
+ msgid "to generate dependencies you must specify either -M or -MM"
+ msgstr "-M ¤« -MM ¤Î¤¤¤º¤ì¤«¤òÄɲÃŪ¤Ë»ØÄꤷ¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó"
+
+-#: c-opts.c:1448
++#: c-opts.c:1469
+ #, gcc-internal-format
+ msgid "-fdirectives-only is incompatible with -Wunused_macros"
+ msgstr ""
+
+-#: c-opts.c:1450
++#: c-opts.c:1471
+ #, gcc-internal-format
+ msgid "-fdirectives-only is incompatible with -traditional"
+ msgstr ""
+
+-#: c-opts.c:1588
++#: c-opts.c:1609
+ #, gcc-internal-format
+ msgid "too late for # directive to set debug directory"
+ msgstr ""
+
+-#: c-parser.c:1070
++#: c-parser.c:1072
+ #, fuzzy, gcc-internal-format
+ msgid "%HISO C forbids an empty source file"
+ msgstr "ISO C ¤Ï¶õ¤Î¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤ò¶Ø¤¸¤Þ¤¹"
+
+-#: c-parser.c:1156 c-parser.c:6091
++#: c-parser.c:1158 c-parser.c:6150
+ #, fuzzy, gcc-internal-format
+ msgid "%HISO C does not allow extra %<;%> outside of a function"
+ msgstr "ISO C ¤Ç¤Ï´Ø¿ô³°¤Ç¤Î;ʬ¤Ê `;' ¤òµö¤·¤Þ¤»¤ó"
+
+-#: c-parser.c:1259 c-parser.c:6640
++#: c-parser.c:1261 c-parser.c:6699
+ #, fuzzy, gcc-internal-format
+ msgid "expected declaration specifiers"
+ msgstr "`%s' ¤Î¥È¥Ã¥×¥ì¥Ù¥ë¤ÎÀë¸À¤¬ `auto' ¤ò»ØÄꤷ¤Þ¤¹"
+
+-#: c-parser.c:1271
++#: c-parser.c:1273
+ #, fuzzy, gcc-internal-format
+ msgid "%Hempty declaration"
+ msgstr "¶õ¤ÎÀë¸À¤Ç¤¹"
+
+-#: c-parser.c:1307
++#: c-parser.c:1309
+ #, fuzzy, gcc-internal-format
+ msgid "%Hdata definition has no type or storage class"
+ msgstr "¥Ç¡¼¥¿ÄêµÁ¤¬·¿¤äµ­²±¥¯¥é¥¹¤ò»ý¤Ã¤Æ¤¤¤Þ¤»¤ó"
+
+-#: c-parser.c:1362
++#: c-parser.c:1364
+ #, gcc-internal-format
+ msgid "expected %<,%> or %<;%>"
+ msgstr ""
+@@ -20394,174 +20356,189 @@
+ #. This can appear in many cases looking nothing like a
+ #. function definition, so we don't give a more specific
+ #. error suggesting there was one.
+-#: c-parser.c:1369 c-parser.c:1386
++#: c-parser.c:1371 c-parser.c:1388
+ #, gcc-internal-format
+ msgid "expected %<=%>, %<,%>, %<;%>, %<asm%> or %<__attribute__%>"
+ msgstr ""
+
+-#: c-parser.c:1378
++#: c-parser.c:1380
+ #, fuzzy, gcc-internal-format
+ msgid "%HISO C forbids nested functions"
+ msgstr "ISO C ¤Ï ¥Í¥¹¥È¤µ¤ì¤¿´Ø¿ô¤ò¶Ø¤¸¤Þ¤¹"
+
+-#: c-parser.c:1743 c-parser.c:2553 c-parser.c:3189 c-parser.c:3445
+-#: c-parser.c:4308 c-parser.c:4895 c-parser.c:5298 c-parser.c:5318
+-#: c-parser.c:5434 c-parser.c:5582 c-parser.c:5599 c-parser.c:5731
+-#: c-parser.c:5743 c-parser.c:5768 c-parser.c:5903 c-parser.c:5932
+-#: c-parser.c:5940 c-parser.c:5968 c-parser.c:5982 c-parser.c:6201
+-#: c-parser.c:6300 c-parser.c:6803 c-parser.c:7426
++#: c-parser.c:1745 c-parser.c:2555 c-parser.c:3191 c-parser.c:3447
++#: c-parser.c:4367 c-parser.c:4954 c-parser.c:5357 c-parser.c:5377
++#: c-parser.c:5493 c-parser.c:5641 c-parser.c:5658 c-parser.c:5790
++#: c-parser.c:5802 c-parser.c:5827 c-parser.c:5962 c-parser.c:5991
++#: c-parser.c:5999 c-parser.c:6027 c-parser.c:6041 c-parser.c:6260
++#: c-parser.c:6359 c-parser.c:6862 c-parser.c:7493
+ #, fuzzy, gcc-internal-format
+ msgid "expected identifier"
+ msgstr "½Ò¸ì¤Ï¼±Ê̻ҤǤʤ±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó"
+
+-#: c-parser.c:1773
++#: c-parser.c:1775
+ #, fuzzy, gcc-internal-format
+ msgid "%Hcomma at end of enumerator list"
+ msgstr "Îóµó»Ò¥ê¥¹¥È¤ÎºÇ¸å¤Ë¥«¥ó¥Þ¤¬¤¢¤ê¤Þ¤¹"
+
+-#: c-parser.c:1779
++#: c-parser.c:1781
+ #, gcc-internal-format
+ msgid "expected %<,%> or %<}%>"
+ msgstr ""
+
+-#: c-parser.c:1793 c-parser.c:1977 c-parser.c:6058
++#: c-parser.c:1795 c-parser.c:1979 c-parser.c:6117
+ #, fuzzy, gcc-internal-format
+ msgid "expected %<{%>"
+ msgstr "';' ¤¬É¬ÍפǤ¹"
+
+-#: c-parser.c:1804
++#: c-parser.c:1806
+ #, fuzzy, gcc-internal-format
+ msgid "%HISO C forbids forward references to %<enum%> types"
+ msgstr "ISO C ¤Ï `enum' ·¿¤ÎÁ°Êý»²¾È¤ò¶Ø¤¸¤Þ¤¹"
+
+-#: c-parser.c:1911
++#: c-parser.c:1913
+ #, fuzzy, gcc-internal-format
+ msgid "expected class name"
+ msgstr "¥¯¥é¥¹¥Ñ¥¹¤òÀßÄꤹ¤ë"
+
+-#: c-parser.c:1930 c-parser.c:5835
++#: c-parser.c:1932 c-parser.c:5894
+ #, fuzzy, gcc-internal-format
+ msgid "%Hextra semicolon in struct or union specified"
+ msgstr "struct ¤ä union ¤ÎÃæ¤Ç;ʬ¤Ê¥»¥ß¥³¥í¥ó¤¬»ØÄꤵ¤ì¤Þ¤·¤¿"
+
+-#: c-parser.c:1959
++#: c-parser.c:1961
+ #, fuzzy, gcc-internal-format
+ msgid "%Hno semicolon at end of struct or union"
+ msgstr "struct ¤ä union ¤ÎºÇ¸å¤Ë¥»¥ß¥³¥í¥ó¤¬¤¢¤ê¤Þ¤»¤ó"
+
+-#: c-parser.c:1963
++#: c-parser.c:1965
+ #, fuzzy, gcc-internal-format
+ msgid "expected %<;%>"
+ msgstr "';' ¤¬É¬ÍפǤ¹"
+
+-#: c-parser.c:2042 c-parser.c:3014
++#: c-parser.c:2044 c-parser.c:3016
+ #, gcc-internal-format
+ msgid "expected specifier-qualifier-list"
+ msgstr ""
+
+-#: c-parser.c:2052
++#: c-parser.c:2054
+ #, fuzzy, gcc-internal-format
+ msgid "%HISO C forbids member declarations with no members"
+ msgstr "ISO C ¤Ï¥á¥ó¥Ð¤Î¤Ê¤¤¥á¥ó¥ÐÀë¸À¤ò¶Ø¤¸¤Þ¤¹"
+
+-#: c-parser.c:2126
++#: c-parser.c:2128
+ #, gcc-internal-format
+ msgid "expected %<,%>, %<;%> or %<}%>"
+ msgstr ""
+
+-#: c-parser.c:2133
++#: c-parser.c:2135
+ #, gcc-internal-format
+ msgid "expected %<:%>, %<,%>, %<;%>, %<}%> or %<__attribute__%>"
+ msgstr ""
+
+-#: c-parser.c:2184
++#: c-parser.c:2186
+ #, fuzzy, gcc-internal-format
+ msgid "%H%<typeof%> applied to a bit-field"
+ msgstr "sizeof ¤¬¥Ó¥Ã¥È¥Õ¥£¡¼¥ë¥É¤ËŬÍѤµ¤ì¤Þ¤·¤¿"
+
+-#: c-parser.c:2421
++#: c-parser.c:2423
+ #, gcc-internal-format
+ msgid "expected identifier or %<(%>"
+ msgstr ""
+
+-#: c-parser.c:2622
++#: c-parser.c:2624
+ #, fuzzy, gcc-internal-format
+ msgid "%HISO C requires a named argument before %<...%>"
+ msgstr "ISO C ¤Ï `...' ¤ÎÁ°¤Ë̾Á°¤ò¤Ä¤±¤é¤ì¤¿°ú¿ô¤òÍ׵ᤷ¤Þ¤¹"
+
+-#: c-parser.c:2729
++#: c-parser.c:2731
+ #, fuzzy, gcc-internal-format
+ msgid "expected declaration specifiers or %<...%>"
+ msgstr "`%s' ¤Î¥È¥Ã¥×¥ì¥Ù¥ë¤ÎÀë¸À¤¬ `auto' ¤ò»ØÄꤷ¤Þ¤¹"
+
+-#: c-parser.c:2779
++#: c-parser.c:2781
+ #, gcc-internal-format
+ msgid "%Hwide string literal in %<asm%>"
+ msgstr ""
+
+-#: c-parser.c:2786 c-parser.c:6695 cp/parser.c:20393
++#: c-parser.c:2788 c-parser.c:6754 cp/parser.c:20482
+ #, fuzzy, gcc-internal-format
+ msgid "expected string literal"
+ msgstr "_Pramga ¤¬³ç¸Ì¤Ç°Ï¤Þ¤ì¤¿Ê¸»úÎó¥ê¥Æ¥é¥ë¤ò¼õ¤±¼è¤ê¤Þ¤·¤¿"
+
+-#: c-parser.c:3107
++#: c-parser.c:3109
+ #, fuzzy, gcc-internal-format
+ msgid "%HISO C forbids empty initializer braces"
+ msgstr "ISO C ¤Ç¤Ï¶õ¤Î½é´ü²½Íѥ֥졼¥¹¤ò¶Ø¤¸¤Þ¤¹"
+
+ #. Use the colon as the error location.
+-#: c-parser.c:3154
++#: c-parser.c:3156
+ #, fuzzy, gcc-internal-format
+ msgid "%Hobsolete use of designated initializer with %<:%>"
+ msgstr "`:' ¤ò¤Ä¤±¤ë¥á¥ó¥Ð»Ø̾½é´ü²½»Ò¤ÏÇѤì¤Þ¤·¤¿"
+
+-#: c-parser.c:3285
++#: c-parser.c:3287
+ #, fuzzy, gcc-internal-format
+ msgid "%HISO C forbids specifying range of elements to initialize"
+ msgstr "ISO C ¤Ï½é´ü²½ÍѤÎÍ×ÁÇÈÏ°Ï»ØÄê¤ò¶Ø¤¸¤Þ¤¹"
+
+-#: c-parser.c:3298
++#: c-parser.c:3300
+ #, fuzzy, gcc-internal-format
+ msgid "%HISO C90 forbids specifying subobject to initialize"
+ msgstr "ISO C89 ¤Ï½é´ü²½ÍѤÎÉû¥ª¥Ö¥¸¥§¥¯¥È»ØÄê¤ò¶Ø¤¸¤Þ¤¹"
+
+-#: c-parser.c:3307
++#: c-parser.c:3309
+ #, fuzzy, gcc-internal-format
+ msgid "%Hobsolete use of designated initializer without %<=%>"
+ msgstr "`=' ¤Î¤Ê¤¤¥á¥ó¥Ð»Ø̾½é´ü²½»Ò¤ÏÇѤì¤Þ¤·¤¿"
+
+-#: c-parser.c:3316
++#: c-parser.c:3318
+ #, fuzzy, gcc-internal-format
+ msgid "expected %<=%>"
+ msgstr "';' ¤¬É¬ÍפǤ¹"
+
+-#: c-parser.c:3461
++#: c-parser.c:3463
+ #, fuzzy, gcc-internal-format
+ msgid "%HISO C forbids label declarations"
+ msgstr "ISO C ¤Ï¥é¥Ù¥ëÀë¸À¤ò¶Ø¤¸¤Þ¤¹"
+
+-#: c-parser.c:3466 c-parser.c:3541
++#: c-parser.c:3468 c-parser.c:3543
+ #, fuzzy, gcc-internal-format
+ msgid "expected declaration or statement"
+ msgstr "¥¤¥ó¥¹¥¿¥ó¥¹¥á¥½¥Ã¥É `%s' ¤ÎÀë¸À¤¬½ÅÊ£¤·¤Æ¤¤¤Þ¤¹¡£"
+
+-#: c-parser.c:3494 c-parser.c:3522
++#: c-parser.c:3496 c-parser.c:3524
+ #, fuzzy, gcc-internal-format
+ msgid "%HISO C90 forbids mixed declarations and code"
+ msgstr "ISO C89 ¤ÏÀë¸À¤È¥³¡¼¥É¤È¤Îº®¹ç¤ò¶Ø¤¸¤Þ¤¹"
+
++#: c-parser.c:3550
++#, gcc-internal-format
++msgid "%Hexpected %<}%> before %<else%>"
++msgstr ""
++
+ #: c-parser.c:3555
++#, gcc-internal-format
++msgid "%H%<else%> without a previous %<if%>"
++msgstr ""
++
++#: c-parser.c:3571
+ #, fuzzy, gcc-internal-format
+ msgid "%Hlabel at end of compound statement"
+ msgstr "Ê£¹çʸ¤Î½ª¤ê¤Ç¥é¥Ù¥ë¤ò»È¤¦¤³¤È¤Ï¿ä¾©¤µ¤ì¤Þ¤»¤ó"
+
+-#: c-parser.c:3598
++#: c-parser.c:3614
+ #, gcc-internal-format
+ msgid "expected %<:%> or %<...%>"
+ msgstr ""
+
+-#: c-parser.c:3779
++#: c-parser.c:3647
+ #, gcc-internal-format
++msgid "%Ha label can only be part of a statement and a declaration is not a statement"
++msgstr ""
++
++#: c-parser.c:3810
++#, gcc-internal-format
+ msgid "expected identifier or %<*%>"
+ msgstr ""
+
+@@ -20569,188 +20546,183 @@
+ #. 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-parser.c:3841
++#: c-parser.c:3872
+ #, fuzzy, gcc-internal-format
+ msgid "expected statement"
+ msgstr "¼°Ê¸¤¬Ìµ¸ú¤Ç¤¹"
+
+-#: c-parser.c:3851
++#: c-parser.c:4095
+ #, gcc-internal-format
+-msgid "%Ha label can only be part of a statement and a declaration is not a statement"
+-msgstr ""
+-
+-#: c-parser.c:4036
+-#, gcc-internal-format
+ msgid "%Hsuggest braces around empty body in %<do%> statement"
+ msgstr ""
+
+-#: c-parser.c:4192
++#: c-parser.c:4251
+ #, fuzzy, gcc-internal-format
+ msgid "%H%E qualifier ignored on asm"
+ msgstr "asm ¤Ç¤Ï %s ½¤¾þ»Ò¤¬Ìµ»ë¤µ¤ì¤Þ¤¹"
+
+-#: c-parser.c:4473
++#: c-parser.c:4532
+ #, fuzzy, gcc-internal-format
+ msgid "%HISO C forbids omitting the middle term of a ?: expression"
+ msgstr "ISO C ¤ÏÃæ´Ö¹à¤¬¾Êά¤µ¤ì¤¿ ?: ¼°¤ò¶Ø¤¸¤Þ¤¹"
+
+-#: c-parser.c:4863
++#: c-parser.c:4922
+ #, fuzzy, gcc-internal-format
+ msgid "%Htraditional C rejects the unary plus operator"
+ msgstr "¸Å¤¤ C ¤Ç¤Ïñ¹à¥×¥é¥¹±é»»»Ò¤òµñÈݤ·¤Þ¤¹"
+
+ #. C99 6.7.5.2p4
+-#: c-parser.c:4974
++#: c-parser.c:5033
+ #, gcc-internal-format
+ msgid "%H%<[*]%> not allowed in other than a declaration"
+ msgstr ""
+
+-#: c-parser.c:4988
++#: c-parser.c:5047
+ #, fuzzy, gcc-internal-format
+ msgid "%H%<sizeof%> applied to a bit-field"
+ msgstr "sizeof ¤¬¥Ó¥Ã¥È¥Õ¥£¡¼¥ë¥É¤ËŬÍѤµ¤ì¤Þ¤·¤¿"
+
+-#: c-parser.c:5132 c-parser.c:5476 c-parser.c:5498
++#: c-parser.c:5191 c-parser.c:5535 c-parser.c:5557
+ #, fuzzy, gcc-internal-format
+ msgid "expected expression"
+ msgstr "¶õ¤Î #if ¼°¤Ç¤¹"
+
+-#: c-parser.c:5159
++#: c-parser.c:5218
+ #, fuzzy, gcc-internal-format
+ msgid "%Hbraced-group within expression allowed only inside a function"
+ msgstr "¥Ö¥ì¡¼¥¹¤Ç¤Þ¤È¤á¤é¤ì¤¿¼°¤Ï´Ø¿ô¤ÎÆ⦤ǤΤߵö¤µ¤ì¤Þ¤¹"
+
+-#: c-parser.c:5173
++#: c-parser.c:5232
+ #, fuzzy, gcc-internal-format
+ msgid "%HISO C forbids braced-groups within expressions"
+ msgstr "ISO C ¤Ï¥Ö¥ì¡¼¥¹¤Ç¤Þ¤È¤á¤é¤ì¤¿¼°¤ò¶Ø¤¸¤Þ¤¹"
+
+-#: c-parser.c:5358
++#: c-parser.c:5417
+ #, fuzzy, gcc-internal-format
+ msgid "%Hfirst argument to %<__builtin_choose_expr%> not a constant"
+ msgstr "`__builtin_eh_return_regno' ¤Î°ú¿ô¤ÏÄê¿ô¤Ç¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó"
+
+-#: c-parser.c:5527
++#: c-parser.c:5586
+ #, gcc-internal-format
+ msgid "%Hcompound literal has variable size"
+ msgstr ""
+
+-#: c-parser.c:5535
++#: c-parser.c:5594
+ #, fuzzy, gcc-internal-format
+ msgid "%HISO C90 forbids compound literals"
+ msgstr "ISO C89 ¤ÏÊ£¹ç¥ê¥Æ¥é¥ë¤ò¶Ø¤¸¤Þ¤¹"
+
+-#: c-parser.c:6053
++#: c-parser.c:6112
+ #, fuzzy, gcc-internal-format
+ msgid "%Hextra semicolon in method definition specified"
+ msgstr "struct ¤ä union ¤ÎÃæ¤Ç;ʬ¤Ê¥»¥ß¥³¥í¥ó¤¬»ØÄꤵ¤ì¤Þ¤·¤¿"
+
+-#: c-parser.c:6600 cp/parser.c:20436
++#: c-parser.c:6659 cp/parser.c:20525
+ #, gcc-internal-format
+ msgid "%<#pragma omp barrier%> may only be used in compound statements"
+ msgstr ""
+
+-#: c-parser.c:6611 cp/parser.c:20451
++#: c-parser.c:6670 cp/parser.c:20540
+ #, fuzzy, gcc-internal-format
+ msgid "%<#pragma omp flush%> may only be used in compound statements"
+ msgstr "Ê£¹çʸ¤Î½ª¤ê¤Ç¥é¥Ù¥ë¤ò»È¤¦¤³¤È¤Ï¿ä¾©¤µ¤ì¤Þ¤»¤ó"
+
+-#: c-parser.c:6623
++#: c-parser.c:6682
+ #, gcc-internal-format
+ msgid "%H%<#pragma omp section%> may only be used in %<#pragma omp sections%> construct"
+ msgstr ""
+
+-#: c-parser.c:6630 cp/parser.c:20426
++#: c-parser.c:6689 cp/parser.c:20515
+ #, gcc-internal-format
+ msgid "%<#pragma GCC pch_preprocess%> must be first"
+ msgstr ""
+
+-#: c-parser.c:6781 cp/parser.c:19277
++#: c-parser.c:6840 cp/parser.c:19359
+ #, fuzzy, gcc-internal-format
+ msgid "too many %qs clauses"
+ msgstr "ÆþÎÏ¥Õ¥¡¥¤¥ë¤¬Â¿¤¹¤®¤Þ¤¹"
+
+-#: c-parser.c:6906
++#: c-parser.c:6965
+ #, gcc-internal-format
+ msgid "expected %<none%> or %<shared%>"
+ msgstr ""
+
+-#: c-parser.c:6949
++#: c-parser.c:7008
+ #, fuzzy, gcc-internal-format
+ msgid "expected %<(%>"
+ msgstr "';' ¤¬É¬ÍפǤ¹"
+
+-#: c-parser.c:6993 c-parser.c:7170
++#: c-parser.c:7052 c-parser.c:7229
+ #, fuzzy, gcc-internal-format
+ msgid "expected integer expression"
+ msgstr "']' ¤¬É¬Íפǡ¢Ìµ¸ú¤Ê·¿É½¸½¤Ç¤¹"
+
+-#: c-parser.c:7002
++#: c-parser.c:7061
+ #, gcc-internal-format
+ msgid "%H%<num_threads%> value must be positive"
+ msgstr ""
+
+-#: c-parser.c:7082
++#: c-parser.c:7141
+ #, gcc-internal-format
+ msgid "expected %<+%>, %<*%>, %<-%>, %<&%>, %<^%>, %<|%>, %<&&%>, or %<||%>"
+ msgstr ""
+
+-#: c-parser.c:7165
++#: c-parser.c:7224
+ #, gcc-internal-format
+ msgid "%Hschedule %<runtime%> does not take a %<chunk_size%> parameter"
+ msgstr ""
+
+-#: c-parser.c:7183
++#: c-parser.c:7242
+ #, fuzzy, gcc-internal-format
+ msgid "invalid schedule kind"
+ msgstr "̵¸ú¤Ê¥³¡¼¥É¤Ç¤¹"
+
+-#: c-parser.c:7269
++#: c-parser.c:7336
+ #, gcc-internal-format
+ msgid "expected %<#pragma omp%> clause"
+ msgstr ""
+
+-#: c-parser.c:7278
++#: c-parser.c:7345
+ #, fuzzy, gcc-internal-format
+ msgid "%H%qs is not valid for %qs"
+ msgstr "\"%s\" ¤ÏÀµ¾ï¤Ê¥Õ¥¡¥¤¥ë̾¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó"
+
+-#: c-parser.c:7378
++#: c-parser.c:7445
+ #, gcc-internal-format
+ msgid "invalid operator for %<#pragma omp atomic%>"
+ msgstr ""
+
+-#: c-parser.c:7429 c-parser.c:7449
++#: c-parser.c:7496 c-parser.c:7516
+ #, fuzzy, gcc-internal-format
+ msgid "expected %<(%> or end of line"
+ msgstr "¹ÔÈÖ¹æ %u ¤ËÌá¤ë¤Ï¤º¤Ç¤·¤¿"
+
+-#: c-parser.c:7467
++#: c-parser.c:7534
+ #, fuzzy, gcc-internal-format
+ msgid "for statement expected"
+ msgstr "')' ¤Þ¤¿¤Ï¹à¤¬É¬ÍפǤ¹"
+
+-#: c-parser.c:7540 cp/semantics.c:3826 cp/semantics.c:3870
++#: c-parser.c:7609 cp/semantics.c:3858 cp/semantics.c:3902
+ #, gcc-internal-format
+ msgid "expected iteration declaration or initialization"
+ msgstr ""
+
+-#: c-parser.c:7666
++#: c-parser.c:7735
+ #, gcc-internal-format
+ msgid "%Hexpected %<#pragma omp section%> or %<}%>"
+ msgstr ""
+
+-#: c-parser.c:7899 cp/semantics.c:3718
++#: c-parser.c:7968 cp/semantics.c:3750
+ #, gcc-internal-format
+ msgid "%qE declared %<threadprivate%> after first use"
+ msgstr ""
+
+-#: c-parser.c:7901 cp/semantics.c:3720
++#: c-parser.c:7970 cp/semantics.c:3752
+ #, gcc-internal-format
+ msgid "automatic variable %qE cannot be %<threadprivate%>"
+ msgstr ""
+
+-#: c-parser.c:7903 cp/semantics.c:3722
++#: c-parser.c:7972 cp/semantics.c:3754
+ #, fuzzy, gcc-internal-format
+ msgid "%<threadprivate%> %qE has incomplete type"
+ msgstr "²¾°ú¿ô `%s' ¤ÏÉÔ´°Á´·¿¤Ç¤¹"
+@@ -20915,122 +20887,122 @@
+ msgid "junk at end of %<#pragma pop_macro%>"
+ msgstr "#pragma map ¤Î½ª¤ê¤Ë¥´¥ß¤¬¤¢¤ê¤Þ¤¹"
+
+-#: c-pragma.c:406
++#: c-pragma.c:407
+ #, gcc-internal-format
+ msgid "applying #pragma weak %q+D after first use results in unspecified behavior"
+ msgstr ""
+
+-#: c-pragma.c:480 c-pragma.c:485
++#: c-pragma.c:481 c-pragma.c:486
+ #, fuzzy, gcc-internal-format
+ msgid "malformed #pragma weak, ignored"
+ msgstr "¤ª¤«¤·¤Ê #pragma map¡¢Ìµ»ë¤µ¤ì¤Þ¤·¤¿"
+
+-#: c-pragma.c:489
++#: c-pragma.c:490
+ #, fuzzy, gcc-internal-format
+ msgid "junk at end of %<#pragma weak%>"
+ msgstr "#pragma weak ¤ÎËöÈø¤Ë¥´¥ß¤¬¤¢¤ê¤Þ¤¹"
+
+-#: c-pragma.c:557 c-pragma.c:559
++#: c-pragma.c:558 c-pragma.c:560
+ #, fuzzy, gcc-internal-format
+ msgid "malformed #pragma redefine_extname, ignored"
+ msgstr "¤ª¤«¤·¤Ê #pragma map¡¢Ìµ»ë¤µ¤ì¤Þ¤·¤¿"
+
+-#: c-pragma.c:562
++#: c-pragma.c:563
+ #, fuzzy, gcc-internal-format
+ msgid "junk at end of %<#pragma redefine_extname%>"
+ msgstr "#pragma weak ¤ÎËöÈø¤Ë¥´¥ß¤¬¤¢¤ê¤Þ¤¹"
+
+-#: c-pragma.c:568
++#: c-pragma.c:569
+ #, fuzzy, gcc-internal-format
+ msgid "#pragma redefine_extname not supported on this target"
+ msgstr "__builtin_eh_return ¤Ï¤³¤Î¥¿¡¼¥²¥Ã¥È¤Ç¤Ï¥µ¥Ý¡¼¥È¤µ¤ì¤Æ¤¤¤Þ¤»¤ó"
+
+-#: c-pragma.c:585 c-pragma.c:672
++#: c-pragma.c:586 c-pragma.c:673
+ #, gcc-internal-format
+ msgid "#pragma redefine_extname ignored due to conflict with previous rename"
+ msgstr ""
+
+-#: c-pragma.c:608
++#: c-pragma.c:609
+ #, gcc-internal-format
+ msgid "#pragma redefine_extname ignored due to conflict with previous #pragma redefine_extname"
+ msgstr ""
+
+-#: c-pragma.c:627
++#: c-pragma.c:628
+ #, fuzzy, gcc-internal-format
+ msgid "malformed #pragma extern_prefix, ignored"
+ msgstr "¤ª¤«¤·¤Ê #pragma map¡¢Ìµ»ë¤µ¤ì¤Þ¤·¤¿"
+
+-#: c-pragma.c:630
++#: c-pragma.c:631
+ #, fuzzy, gcc-internal-format
+ msgid "junk at end of %<#pragma extern_prefix%>"
+ msgstr "#pragma %s ¤ÎËöÈø¤Ë¥´¥ß"
+
+-#: c-pragma.c:637
++#: c-pragma.c:638
+ #, fuzzy, gcc-internal-format
+ msgid "#pragma extern_prefix not supported on this target"
+ msgstr "¥¹¥¿¥Ã¥¯À©¸Â¤Ï¤³¤Î¥¿¡¼¥²¥Ã¥È¤Ç¤Ï¼ÂÁõ¤µ¤ì¤Æ¤¤¤Þ¤»¤ó"
+
+-#: c-pragma.c:663
++#: c-pragma.c:664
+ #, fuzzy, gcc-internal-format
+ msgid "asm declaration ignored due to conflict with previous rename"
+ msgstr "`%s' ¤Î¥»¥¯¥·¥ç¥ó¤ÏÁ°Êý¤Ç¤ËÀë¸À¤µ¤ì¤¿¤â¤Î¤È¾×Æͤ·¤Þ¤¹"
+
+-#: c-pragma.c:694
++#: c-pragma.c:695
+ #, gcc-internal-format
+ msgid "#pragma redefine_extname ignored due to conflict with __asm__ declaration"
+ msgstr ""
+
+-#: c-pragma.c:756
++#: c-pragma.c:757
+ #, gcc-internal-format
+ msgid "#pragma GCC visibility push() must specify default, internal, hidden or protected"
+ msgstr ""
+
+-#: c-pragma.c:791
++#: c-pragma.c:792
+ #, gcc-internal-format
+ msgid "#pragma GCC visibility must be followed by push or pop"
+ msgstr ""
+
+-#: c-pragma.c:797
++#: c-pragma.c:798
+ #, gcc-internal-format
+ msgid "no matching push for %<#pragma GCC visibility pop%>"
+ msgstr ""
+
+-#: c-pragma.c:804 c-pragma.c:811
++#: c-pragma.c:805 c-pragma.c:812
+ #, gcc-internal-format
+ msgid "missing %<(%> after %<#pragma GCC visibility push%> - ignored"
+ msgstr ""
+
+-#: c-pragma.c:807
++#: c-pragma.c:808
+ #, fuzzy, gcc-internal-format
+ msgid "malformed #pragma GCC visibility push"
+ msgstr "¤ª¤«¤·¤Ê #pragma ghs section"
+
+-#: c-pragma.c:815
++#: c-pragma.c:816
+ #, fuzzy, gcc-internal-format
+ msgid "junk at end of %<#pragma GCC visibility%>"
+ msgstr "#pragma %s ¤ÎËöÈø¤Ë¥´¥ß"
+
+-#: c-pragma.c:831
++#: c-pragma.c:832
+ #, fuzzy, gcc-internal-format
+ msgid "#pragma GCC diagnostic not allowed inside functions"
+ msgstr "ISO C ¤Ç¤Ï´Ø¿ô³°¤Ç¤Î;ʬ¤Ê `;' ¤òµö¤·¤Þ¤»¤ó"
+
+-#: c-pragma.c:837
++#: c-pragma.c:838
+ #, gcc-internal-format
+ msgid "missing [error|warning|ignored] after %<#pragma GCC diagnostic%>"
+ msgstr ""
+
+-#: c-pragma.c:846
++#: c-pragma.c:847
+ #, gcc-internal-format
+ msgid "expected [error|warning|ignored] after %<#pragma GCC diagnostic%>"
+ msgstr ""
+
+-#: c-pragma.c:850
++#: c-pragma.c:851
+ #, gcc-internal-format
+ msgid "missing option after %<#pragma GCC diagnostic%> kind"
+ msgstr ""
+
+-#: c-pragma.c:864
++#: c-pragma.c:865
+ #, gcc-internal-format
+ msgid "unknown option after %<#pragma GCC diagnostic%> kind"
+ msgstr ""
+@@ -21040,7 +21012,7 @@
+ msgid "%qD has an incomplete type"
+ msgstr "`%s' ¤ÏÉÔ´°Á´·¿¤Ç¤¹"
+
+-#: c-typeck.c:195 cp/call.c:2785
++#: c-typeck.c:195 cp/call.c:2771
+ #, gcc-internal-format
+ msgid "invalid use of void expression"
+ msgstr "void ¼°¤ÎÉÔŬÀڤʻÈÍÑ"
+@@ -21071,92 +21043,92 @@
+ msgid "function types not truly compatible in ISO C"
+ msgstr "´Ø¿ô·¿¤¬ ISO C ¤È´°Á´¸ß´¹¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó"
+
+-#: c-typeck.c:621
++#: c-typeck.c:627
+ #, gcc-internal-format
+ msgid "can%'t mix operands of decimal float and vector types"
+ msgstr ""
+
+-#: c-typeck.c:626
++#: c-typeck.c:632
+ #, gcc-internal-format
+ msgid "can%'t mix operands of decimal float and complex types"
+ msgstr ""
+
+-#: c-typeck.c:631
++#: c-typeck.c:637
+ #, gcc-internal-format
+ msgid "can%'t mix operands of decimal float and other float types"
+ msgstr ""
+
+-#: c-typeck.c:1037
++#: c-typeck.c:1043
+ #, gcc-internal-format
+ msgid "types are not quite compatible"
+ msgstr "·¿¤ÏÁ´¤¯¸ß´¹¤¬¤¢¤ê¤Þ¤»¤ó"
+
+-#: c-typeck.c:1356
++#: c-typeck.c:1366
+ #, fuzzy, gcc-internal-format
+ msgid "function return types not compatible due to %<volatile%>"
+ msgstr "´Ø¿ô¤ÎÊÖ¤¹·¿¤¬´Ø¿ô¤Ç¤¢¤Ã¤Æ¤Ï¤Ê¤ê¤Þ¤»¤ó"
+
+-#: c-typeck.c:1515 c-typeck.c:2853
++#: c-typeck.c:1525 c-typeck.c:2864
+ #, gcc-internal-format
+ msgid "arithmetic on pointer to an incomplete type"
+ msgstr "ÉÔ´°Á´·¿¤Ø¤Î¥Ý¥¤¥ó¥¿¤ËÂФ¹¤ë±é»»"
+
+-#: c-typeck.c:1912
++#: c-typeck.c:1922
+ #, fuzzy, gcc-internal-format
+ msgid "%qT has no member named %qE"
+ msgstr "%s ¤Ë `%s' ¤È¤¤¤¦Ì¾Á°¤Î¥á¥ó¥Ð¤Ï¤¢¤ê¤Þ¤»¤ó"
+
+-#: c-typeck.c:1953
++#: c-typeck.c:1963
+ #, fuzzy, gcc-internal-format
+ msgid "request for member %qE in something not a structure or union"
+ msgstr "¹½Â¤ÂΤǤⶦÍÑÂΤǤâ¤Ê¤¤²¿¤«¤Ç¡¢¥á¥ó¥Ð `%s' ¤òÍ׵ᤵ¤ì¤Þ¤·¤¿"
+
+-#: c-typeck.c:1997
++#: c-typeck.c:2007
+ #, gcc-internal-format
+ msgid "dereferencing pointer to incomplete type"
+ msgstr "ÉÔ´°Á´·¿¤Î¥Ý¥¤¥ó¥¿¤Ø¤Î´ÖÀÜ»²¾È"
+
+-#: c-typeck.c:2001
++#: c-typeck.c:2011
+ #, fuzzy, gcc-internal-format
+ msgid "dereferencing %<void *%> pointer"
+ msgstr "`void *' ¥Ý¥¤¥ó¥¿¤Ø¤Î´ÖÀÜ»²¾È¤Ç¤¹"
+
+-#: c-typeck.c:2018
++#: c-typeck.c:2028
+ #, fuzzy, gcc-internal-format
+ msgid "invalid type argument of %qs (have %qT)"
+ msgstr "`%s' ¤Î°ú¿ô¤È¤·¤Æ̵¸ú¤Ê·¿"
+
+-#: c-typeck.c:2046 cp/typeck.c:2524
++#: c-typeck.c:2056 cp/typeck.c:2570
+ #, gcc-internal-format
+ msgid "subscripted value is neither array nor pointer"
+ msgstr "ź»ú¤ò¤Ä¤±¤é¤ì¤¿Ãͤ¬ÇÛÎó¤Ç¤â¥Ý¥¤¥ó¥¿¤Ç¤â¤¢¤ê¤Þ¤»¤ó"
+
+-#: c-typeck.c:2057 cp/typeck.c:2443 cp/typeck.c:2529
++#: c-typeck.c:2067 cp/typeck.c:2489 cp/typeck.c:2575
+ #, gcc-internal-format
+ msgid "array subscript is not an integer"
+ msgstr "ÇÛÎó¤Îź»ú¤¬À°¿ô·¿¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó"
+
+-#: c-typeck.c:2063
++#: c-typeck.c:2073
+ #, fuzzy, gcc-internal-format
+ msgid "subscripted value is pointer to function"
+ msgstr "ź»ú¤ò¤Ä¤±¤é¤ì¤¿Ãͤ¬ÇÛÎó¤Ç¤â¥Ý¥¤¥ó¥¿¤Ç¤â¤¢¤ê¤Þ¤»¤ó"
+
+-#: c-typeck.c:2110
++#: c-typeck.c:2120
+ #, fuzzy, gcc-internal-format
+ msgid "ISO C forbids subscripting %<register%> array"
+ msgstr "ISO C ¤Ï `register' ÇÛÎó¤Ø¤Îź»ú¤ò¶Ø¤¸¤Þ¤¹"
+
+-#: c-typeck.c:2112
++#: c-typeck.c:2122
+ #, fuzzy, gcc-internal-format
+ msgid "ISO C90 forbids subscripting non-lvalue array"
+ msgstr "ISO C89 Èóº¸ÊÕÃÍÇÛÎó¤Ø¤Îź»ú¤ò¶Ø¤¸¤Þ¤¹"
+
+-#: c-typeck.c:2228
++#: c-typeck.c:2239
+ #, gcc-internal-format
+ msgid "%H%qD is static but used in inline function %qD which is not static"
+ msgstr ""
+
+-#: c-typeck.c:2376
++#: c-typeck.c:2387
+ #, fuzzy, gcc-internal-format
+ msgid "called object %qE is not a function"
+ msgstr "¸Æ¤Ó½Ð¤µ¤ì¤¿¥ª¥Ö¥¸¥§¥¯¥È¤Ï´Ø¿ô¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó"
+@@ -21164,795 +21136,795 @@
+ #. This situation leads to run-time undefined behavior. We can't,
+ #. therefore, simply error unless we can prove that all possible
+ #. executions of the program must execute the code.
+-#: c-typeck.c:2404
++#: c-typeck.c:2415
+ #, fuzzy, gcc-internal-format
+ msgid "function called through a non-compatible type"
+ msgstr "sizeof ¤¬ÉÔ´°Á´¤Ê·¿¤ËŬÍѤµ¤ì¤Þ¤·¤¿"
+
+-#: c-typeck.c:2515
++#: c-typeck.c:2526
+ #, fuzzy, gcc-internal-format
+ msgid "too many arguments to function %qE"
+ msgstr "´Ø¿ô¤ËÂФ¹¤ë°ú¿ô¤¬Â¿¤¹¤®¤Þ¤¹"
+
+-#: c-typeck.c:2536
++#: c-typeck.c:2547
+ #, gcc-internal-format
+ msgid "type of formal parameter %d is incomplete"
+ msgstr "Àµ¼°¤Ê²¾°ú¿ô %d ¤Î·¿¤¬ÉÔ´°Á´¤Ç¤¹"
+
+-#: c-typeck.c:2549
++#: c-typeck.c:2560
+ #, fuzzy, gcc-internal-format
+ msgid "passing argument %d of %qE as integer rather than floating due to prototype"
+ msgstr "¥×¥í¥È¥¿¥¤¥×¤Ë¤è¤ë¤È %s ¤ÏÉâÆ°¾®¿ô·¿¤Ç¤Ï¤Ê¤¯À°¿ô·¿¤È¤µ¤ì¤Æ¤¤¤Þ¤¹"
+
+-#: c-typeck.c:2554
++#: c-typeck.c:2565
+ #, fuzzy, gcc-internal-format
+ msgid "passing argument %d of %qE as integer rather than complex due to prototype"
+ msgstr "¥×¥í¥È¥¿¥¤¥×¤Ë¤è¤ë¤È %s ¤ÏÊ£ÁÇ¿ô¤Ç¤Ï¤Ê¤¯À°¿ô·¿¤È¤µ¤ì¤Æ¤¤¤Þ¤¹"
+
+-#: c-typeck.c:2559
++#: c-typeck.c:2570
+ #, fuzzy, gcc-internal-format
+ msgid "passing argument %d of %qE as complex rather than floating due to prototype"
+ msgstr "¥×¥í¥È¥¿¥¤¥×¤Ë¤è¤ë¤È %s ¤ÏÉâÆ°¾®¿ô·¿¤Ç¤Ï¤Ê¤¯Ê£ÁÇ¿ô·¿¤È¤µ¤ì¤Æ¤¤¤Þ¤¹"
+
+-#: c-typeck.c:2564
++#: c-typeck.c:2575
+ #, fuzzy, gcc-internal-format
+ msgid "passing argument %d of %qE as floating rather than integer due to prototype"
+ msgstr "¥×¥í¥È¥¿¥¤¥×¤Ë¤è¤ë¤È %s ¤ÏÀ°¿ô·¿¤Ç¤Ï¤Ê¤¯ÉâÆ°¾®¿ô·¿¤È¤µ¤ì¤Æ¤¤¤Þ¤¹"
+
+-#: c-typeck.c:2569
++#: c-typeck.c:2580
+ #, fuzzy, gcc-internal-format
+ msgid "passing argument %d of %qE as complex rather than integer due to prototype"
+ msgstr "¥×¥í¥È¥¿¥¤¥×¤Ë¤è¤ë¤È %s ¤ÏÀ°¿ô·¿¤Ç¤Ï¤Ê¤¯Ê£ÁÇ¿ô·¿¤È¤µ¤ì¤Æ¤¤¤Þ¤¹"
+
+-#: c-typeck.c:2574
++#: c-typeck.c:2585
+ #, fuzzy, gcc-internal-format
+ msgid "passing argument %d of %qE as floating rather than complex due to prototype"
+ msgstr "¥×¥í¥È¥¿¥¤¥×¤Ë¤è¤ë¤È %s ¤ÏÊ£ÁÇ¿ô¤Ç¤Ï¤Ê¤¯ÉâÆ°¾®¿ô·¿¤È¤µ¤ì¤Æ¤¤¤Þ¤¹"
+
+-#: c-typeck.c:2587
++#: c-typeck.c:2598
+ #, fuzzy, gcc-internal-format
+ msgid "passing argument %d of %qE as %<float%> rather than %<double%> due to prototype"
+ msgstr "¥×¥í¥È¥¿¥¤¥×¤Ë¤è¤ë¤È %s ¤Ï `double' ¤Ç¤Ê¤¯ `float' ¤È¤µ¤ì¤Æ¤¤¤Þ¤¹"
+
+-#: c-typeck.c:2612
++#: c-typeck.c:2623
+ #, fuzzy, gcc-internal-format
+ msgid "passing argument %d of %qE as %qT rather than %qT due to prototype"
+ msgstr "¥×¥í¥È¥¿¥¤¥×¤Ë¤è¤ë¤È %s ¤ÏÊ£ÁÇ¿ô¤Ç¤Ï¤Ê¤¯À°¿ô·¿¤È¤µ¤ì¤Æ¤¤¤Þ¤¹"
+
+-#: c-typeck.c:2633
++#: c-typeck.c:2644
+ #, fuzzy, gcc-internal-format
+ msgid "passing argument %d of %qE with different width due to prototype"
+ msgstr "%s ¤Ï¥×¥í¥È¥¿¥¤¥×¤Ç¤Î·¿¤ÎÉý¤È¤Ï°Û¤Ê¤Ã¤Æ¤¤¤Þ¤¹"
+
+-#: c-typeck.c:2656
++#: c-typeck.c:2667
+ #, fuzzy, gcc-internal-format
+ msgid "passing argument %d of %qE as unsigned due to prototype"
+ msgstr "¥×¥í¥È¥¿¥¤¥×¤Ë¤è¤ê %s ¤ÏÉä¹ç¤Ê¤·¤È¤µ¤ì¤Æ¤¤¤Þ¤¹"
+
+-#: c-typeck.c:2660
++#: c-typeck.c:2671
+ #, fuzzy, gcc-internal-format
+ msgid "passing argument %d of %qE as signed due to prototype"
+ msgstr "¥×¥í¥È¥¿¥¤¥×¤Ë¤è¤ê %s ¤ÏÉä¹çÉÕ¤­¤È¤µ¤ì¤Æ¤¤¤Þ¤¹"
+
+-#: c-typeck.c:2766 c-typeck.c:2770
++#: c-typeck.c:2777 c-typeck.c:2781
+ #, gcc-internal-format
+ msgid "comparison with string literal results in unspecified behavior"
+ msgstr ""
+
+-#: c-typeck.c:2795
++#: c-typeck.c:2806
+ #, fuzzy, gcc-internal-format
+ msgid "pointer of type %<void *%> used in subtraction"
+ msgstr "`void *' ·¿¤Î¥Ý¥¤¥ó¥¿¤Îº¹¤òµá¤á¤è¤¦¤È¤·¤Æ¤¤¤Þ¤¹"
+
+-#: c-typeck.c:2797
++#: c-typeck.c:2808
+ #, gcc-internal-format
+ msgid "pointer to a function used in subtraction"
+ msgstr "´Ø¿ô¥Ý¥¤¥ó¥¿¤Îº¹¤òµá¤á¤è¤¦¤È¤·¤Æ¤¤¤Þ¤¹"
+
+-#: c-typeck.c:2908
++#: c-typeck.c:2919
+ #, gcc-internal-format
+ msgid "wrong type argument to unary plus"
+ msgstr "ñ¹à¥×¥é¥¹¤Ø¤Î°ú¿ô¤Î·¿¤¬´Ö°ã¤Ã¤Æ¤¤¤Þ¤¹"
+
+-#: c-typeck.c:2921
++#: c-typeck.c:2932
+ #, gcc-internal-format
+ msgid "wrong type argument to unary minus"
+ msgstr "ñ¹à¥Þ¥¤¥Ê¥¹¤Ø¤Î°ú¿ô¤Î·¿¤¬´Ö°ã¤Ã¤Æ¤¤¤Þ¤¹"
+
+-#: c-typeck.c:2941
++#: c-typeck.c:2952
+ #, fuzzy, gcc-internal-format
+ msgid "ISO C does not support %<~%> for complex conjugation"
+ msgstr "ISO C ¤ÏÊ£ÁǶ¦ÌòÍѤΠ`~' ¤ò¼õ¤±ÉÕ¤±¤Þ¤»¤ó"
+
+-#: c-typeck.c:2947
++#: c-typeck.c:2958
+ #, gcc-internal-format
+ msgid "wrong type argument to bit-complement"
+ msgstr "¥Ó¥Ã¥Èȿž¤Ø¤Î°ú¿ô¤Î·¿¤¬´Ö°ã¤Ã¤Æ¤¤¤Þ¤¹"
+
+-#: c-typeck.c:2955
++#: c-typeck.c:2966
+ #, gcc-internal-format
+ msgid "wrong type argument to abs"
+ msgstr "abs ¤Ø¤Î°ú¿ô¤Î·¿¤¬´Ö°ã¤Ã¤Æ¤¤¤Þ¤¹"
+
+-#: c-typeck.c:2967
++#: c-typeck.c:2978
+ #, gcc-internal-format
+ msgid "wrong type argument to conjugation"
+ msgstr "Ê£ÁǶ¦Ìò(~)¤Ø¤Î°ú¿ô¤Î·¿¤¬´Ö°ã¤Ã¤Æ¤¤¤Þ¤¹"
+
+-#: c-typeck.c:2979
++#: c-typeck.c:2990
+ #, gcc-internal-format
+ msgid "wrong type argument to unary exclamation mark"
+ msgstr "ñ¹à´¶Ã²Éä(!)¤Ø¤Î°ú¿ô¤Î·¿¤¬´Ö°ã¤Ã¤Æ¤¤¤Þ¤¹"
+
+-#: c-typeck.c:3013
++#: c-typeck.c:3024
+ #, fuzzy, gcc-internal-format
+ msgid "ISO C does not support %<++%> and %<--%> on complex types"
+ msgstr "ISO C ¤Ï complex ·¿¤Ç¤Î `++' ¤È `--' ¤ò¼õ¤±ÉÕ¤±¤Þ¤»¤ó"
+
+-#: c-typeck.c:3032 c-typeck.c:3064
++#: c-typeck.c:3043 c-typeck.c:3075
+ #, fuzzy, gcc-internal-format
+ msgid "wrong type argument to increment"
+ msgstr "¥Ó¥Ã¥Èȿž¤Ø¤Î°ú¿ô¤Î·¿¤¬´Ö°ã¤Ã¤Æ¤¤¤Þ¤¹"
+
+-#: c-typeck.c:3034 c-typeck.c:3066
++#: c-typeck.c:3045 c-typeck.c:3077
+ #, fuzzy, gcc-internal-format
+ msgid "wrong type argument to decrement"
+ msgstr "¥Ó¥Ã¥Èȿž¤Ø¤Î°ú¿ô¤Î·¿¤¬´Ö°ã¤Ã¤Æ¤¤¤Þ¤¹"
+
+-#: c-typeck.c:3055
++#: c-typeck.c:3066
+ #, fuzzy, gcc-internal-format
+ msgid "increment of pointer to unknown structure"
+ msgstr "ÉÔÌÀ¤Ê¹½Â¤ÂΤËÂФ¹¤ë¥Ý¥¤¥ó¥¿¤Î%s"
+
+-#: c-typeck.c:3057
++#: c-typeck.c:3068
+ #, fuzzy, gcc-internal-format
+ msgid "decrement of pointer to unknown structure"
+ msgstr "ÉÔÌÀ¤Ê¹½Â¤ÂΤËÂФ¹¤ë¥Ý¥¤¥ó¥¿¤Î%s"
+
+-#: c-typeck.c:3258
++#: c-typeck.c:3269
+ #, fuzzy, gcc-internal-format
+ msgid "assignment of read-only member %qD"
+ msgstr "%s¤¬Æɤ߹þ¤ßÀìÍÑ¥á¥ó¥Ð `%s' ¤Ë¹Ô¤ï¤ì¤Þ¤·¤¿"
+
+-#: c-typeck.c:3259
++#: c-typeck.c:3270
+ #, fuzzy, gcc-internal-format
+ msgid "increment of read-only member %qD"
+ msgstr "%s¤¬Æɤ߹þ¤ßÀìÍÑ¥á¥ó¥Ð `%s' ¤Ë¹Ô¤ï¤ì¤Þ¤·¤¿"
+
+-#: c-typeck.c:3260
++#: c-typeck.c:3271
+ #, fuzzy, gcc-internal-format
+ msgid "decrement of read-only member %qD"
+ msgstr "%s¤¬Æɤ߹þ¤ßÀìÍÑ¥á¥ó¥Ð `%s' ¤Ë¹Ô¤ï¤ì¤Þ¤·¤¿"
+
+-#: c-typeck.c:3261
++#: c-typeck.c:3272
+ #, gcc-internal-format
+ msgid "read-only member %qD used as %<asm%> output"
+ msgstr ""
+
+-#: c-typeck.c:3265
++#: c-typeck.c:3276
+ #, fuzzy, gcc-internal-format
+ msgid "assignment of read-only variable %qD"
+ msgstr "%s¤¬Æɤ߹þ¤ßÀìÍÑÊÑ¿ô `%s' ¤Ë¹Ô¤ï¤ì¤Þ¤·¤¿"
+
+-#: c-typeck.c:3266
++#: c-typeck.c:3277
+ #, fuzzy, gcc-internal-format
+ msgid "increment of read-only variable %qD"
+ msgstr "%s¤¬Æɤ߹þ¤ßÀìÍÑÊÑ¿ô `%s' ¤Ë¹Ô¤ï¤ì¤Þ¤·¤¿"
+
+-#: c-typeck.c:3267
++#: c-typeck.c:3278
+ #, fuzzy, gcc-internal-format
+ msgid "decrement of read-only variable %qD"
+ msgstr "%s¤¬Æɤ߹þ¤ßÀìÍÑÊÑ¿ô `%s' ¤Ë¹Ô¤ï¤ì¤Þ¤·¤¿"
+
+-#: c-typeck.c:3268
++#: c-typeck.c:3279
+ #, gcc-internal-format
+ msgid "read-only variable %qD used as %<asm%> output"
+ msgstr ""
+
+-#: c-typeck.c:3271
++#: c-typeck.c:3282
+ #, fuzzy, gcc-internal-format
+ msgid "assignment of read-only location %qE"
+ msgstr "%s¤¬Æɤ߹þ¤ßÀìÍÑÎΰè¤Ç¹Ô¤ï¤ì¤Þ¤·¤¿"
+
+-#: c-typeck.c:3272
++#: c-typeck.c:3283
+ #, fuzzy, gcc-internal-format
+ msgid "increment of read-only location %qE"
+ msgstr "%s¤¬Æɤ߹þ¤ßÀìÍÑÎΰè¤Ç¹Ô¤ï¤ì¤Þ¤·¤¿"
+
+-#: c-typeck.c:3273
++#: c-typeck.c:3284
+ #, fuzzy, gcc-internal-format
+ msgid "decrement of read-only location %qE"
+ msgstr "%s¤¬Æɤ߹þ¤ßÀìÍÑÎΰè¤Ç¹Ô¤ï¤ì¤Þ¤·¤¿"
+
+-#: c-typeck.c:3274
++#: c-typeck.c:3285
+ #, gcc-internal-format
+ msgid "read-only location %qE used as %<asm%> output"
+ msgstr ""
+
+-#: c-typeck.c:3310
++#: c-typeck.c:3321
+ #, fuzzy, gcc-internal-format
+ msgid "cannot take address of bit-field %qD"
+ msgstr "¥Ó¥Ã¥È¥Õ¥£¡¼¥ë¥É `%s' ¤Î¥¢¥É¥ì¥¹¤ò¼èÆÀ¤Ç¤­¤Þ¤»¤ó"
+
+-#: c-typeck.c:3338
++#: c-typeck.c:3349
+ #, fuzzy, gcc-internal-format
+ msgid "global register variable %qD used in nested function"
+ msgstr "Âç°è¥ì¥¸¥¹¥¿ÊÑ¿ô `%s' ¤¬Æþ¤ì»Ò´Ø¿ô¤ÎÃæ¤Ç»È¤ï¤ì¤Þ¤·¤¿"
+
+-#: c-typeck.c:3341
++#: c-typeck.c:3352
+ #, fuzzy, gcc-internal-format
+ msgid "register variable %qD used in nested function"
+ msgstr "¥ì¥¸¥¹¥¿ÊÑ¿ô `%s' ¤¬Æþ¤ì»Ò´Ø¿ô¤ÎÃæ¤Ç»È¤ï¤ì¤Þ¤·¤¿"
+
+-#: c-typeck.c:3346
++#: c-typeck.c:3357
+ #, fuzzy, gcc-internal-format
+ msgid "address of global register variable %qD requested"
+ msgstr "Í׵ᤵ¤ì¤¿Âç°è¥ì¥¸¥¹¥¿ÊÑ¿ô `%s' ¤Î¥¢¥É¥ì¥¹"
+
+-#: c-typeck.c:3348
++#: c-typeck.c:3359
+ #, fuzzy, gcc-internal-format
+ msgid "address of register variable %qD requested"
+ msgstr "register ÊÑ¿ô `%s' ¤Î¥¢¥É¥ì¥¹¤¬Í׵ᤵ¤ì¤Þ¤·¤¿"
+
+-#: c-typeck.c:3394
++#: c-typeck.c:3405
+ #, fuzzy, gcc-internal-format
+ msgid "non-lvalue array in conditional expression"
+ msgstr "¾ò·ï¼°¤Ç¤Î·¿¤ÎÁȹç¤ï¤»¤¬Å¬¹ç¤·¤Þ¤»¤ó"
+
+-#: c-typeck.c:3442
++#: c-typeck.c:3453
+ #, gcc-internal-format
+ msgid "signed and unsigned type in conditional expression"
+ msgstr "¾ò·ï¼°¤ËÉä¹çÉÕ¤­·¿¤ÈÉä¹ç̵¤··¿¤È¤¬¤¢¤ê¤Þ¤¹"
+
+-#: c-typeck.c:3449
++#: c-typeck.c:3460
+ #, gcc-internal-format
+ msgid "ISO C forbids conditional expr with only one void side"
+ msgstr "ISO C ¤ÏÊÒ¦¤À¤±¤¬ void ¤È¤Ê¤ë¾ò·ï¼°¤ò¶Ø¤¸¤Þ¤¹"
+
+-#: c-typeck.c:3463 c-typeck.c:3471
++#: c-typeck.c:3474 c-typeck.c:3482
+ #, fuzzy, gcc-internal-format
+ msgid "ISO C forbids conditional expr between %<void *%> and function pointer"
+ msgstr "ISO C ¤Ï `void *' ¤È´Ø¿ô¥Ý¥¤¥ó¥¿¤È¤ò¾ò·ï¼°¤È¤¹¤ë¤³¤È¤ò¶Ø¤¸¤Þ¤¹"
+
+-#: c-typeck.c:3478
++#: c-typeck.c:3489
+ #, gcc-internal-format
+ msgid "pointer type mismatch in conditional expression"
+ msgstr "¾ò·ï¼°¤Ç¤Î¥Ý¥¤¥ó¥¿¤Î·¿¤¬Å¬¹ç¤·¤Þ¤»¤ó"
+
+-#: c-typeck.c:3485 c-typeck.c:3495
++#: c-typeck.c:3496 c-typeck.c:3506
+ #, gcc-internal-format
+ msgid "pointer/integer type mismatch in conditional expression"
+ msgstr "¾ò·ï¼°¤Ç¥Ý¥¤¥ó¥¿·¿¤ÈÀ°¿ô·¿¤¬Å¬¹ç¤·¤Þ¤»¤ó"
+
+-#: c-typeck.c:3509 tree-cfg.c:3783
++#: c-typeck.c:3520 tree-cfg.c:3807
+ #, gcc-internal-format
+ msgid "type mismatch in conditional expression"
+ msgstr "¾ò·ï¼°¤Ç¤Î·¿¤ÎÁȹç¤ï¤»¤¬Å¬¹ç¤·¤Þ¤»¤ó"
+
+-#: c-typeck.c:3552
++#: c-typeck.c:3563
+ #, gcc-internal-format
+ msgid "left-hand operand of comma expression has no effect"
+ msgstr "¥«¥ó¥Þ±é»»»Ò¤Îº¸Â¦¤Î¼°¤Ë¸úÎϤ¬¤¢¤ê¤Þ¤»¤ó"
+
+-#: c-typeck.c:3589
++#: c-typeck.c:3600
+ #, gcc-internal-format
+ msgid "cast specifies array type"
+ msgstr "¥­¥ã¥¹¥È¤¬ÇÛÎ󷿤ò»ØÄꤷ¤Æ¤¤¤Þ¤¹"
+
+-#: c-typeck.c:3595
++#: c-typeck.c:3606
+ #, gcc-internal-format
+ msgid "cast specifies function type"
+ msgstr "¥­¥ã¥¹¥È¤Ï´Ø¿ô·¿¤ò»ØÄꤷ¤Æ¤¤¤Þ¤¹"
+
+-#: c-typeck.c:3612
++#: c-typeck.c:3623
+ #, gcc-internal-format
+ msgid "ISO C forbids casting nonscalar to the same type"
+ msgstr "ISO C ¤ÏÈó¥¹¥«¥é¡¼¤«¤éƱ¤¸·¿¤Ø¤Î¥­¥ã¥¹¥È¤ò¶Ø¤¸¤Þ¤¹"
+
+-#: c-typeck.c:3629
++#: c-typeck.c:3640
+ #, gcc-internal-format
+ msgid "ISO C forbids casts to union type"
+ msgstr "ISO C ¤Ï¶¦ÍÑÂη¿¤Ø¤Î¥­¥ã¥¹¥È¤ò¶Ø¤¸¤Þ¤¹"
+
+-#: c-typeck.c:3637
++#: c-typeck.c:3648
+ #, gcc-internal-format
+ msgid "cast to union type from type not present in union"
+ msgstr "¶¦ÍÑÂΤÎÃæ¤Ë¤Ê¤¤·¿¤«¤é¶¦ÍÑÂη¿¤Ø¥­¥ã¥¹¥È¤·¤Æ¤¤¤Þ¤¹"
+
+-#: c-typeck.c:3683
++#: c-typeck.c:3694
+ #, fuzzy, gcc-internal-format
+ msgid "cast adds new qualifiers to function type"
+ msgstr "¥­¥ã¥¹¥È¤Ï´Ø¿ô·¿¤ò»ØÄꤷ¤Æ¤¤¤Þ¤¹"
+
+ #. There are qualifiers present in IN_OTYPE that are not
+ #. present in IN_TYPE.
+-#: c-typeck.c:3688
++#: c-typeck.c:3699
+ #, gcc-internal-format
+ msgid "cast discards qualifiers from pointer target type"
+ msgstr "¥­¥ã¥¹¥È¤Ë¤è¤Ã¤Æ¥Ý¥¤¥ó¥¿¤¬¼¨¤¹·¿¤«¤é½¤¾þ»Ò¤¬ÀÚ¤ê¼Î¤Æ¤é¤ì¤Þ¤¹"
+
+-#: c-typeck.c:3704
++#: c-typeck.c:3715
+ #, gcc-internal-format
+ msgid "cast increases required alignment of target type"
+ msgstr "¥­¥ã¥¹¥È¤Ë¤è¤Ã¤Æ¥Ý¥¤¥ó¥¿¤¬¼¨¤¹·¿¤ÎÍ׵ᥢ¥é¥¤¥ó¥á¥ó¥È¤¬Áý²Ã¤·¤Þ¤¹"
+
+-#: c-typeck.c:3715
++#: c-typeck.c:3726
+ #, gcc-internal-format
+ msgid "cast from pointer to integer of different size"
+ msgstr "¥­¥ã¥¹¥È¤Ë¤è¤Ã¤Æ¥Ý¥¤¥ó¥¿¤«¤é°Û¤Ê¤ë¥µ¥¤¥º¤ÎÀ°¿ô¤È¤Ê¤ê¤Þ¤¹"
+
+-#: c-typeck.c:3719
++#: c-typeck.c:3730
+ #, gcc-internal-format
+ msgid "cast from function call of type %qT to non-matching type %qT"
+ msgstr ""
+
+-#: c-typeck.c:3727
++#: c-typeck.c:3738
+ #, gcc-internal-format
+ msgid "cast to pointer from integer of different size"
+ msgstr "°Û¤Ê¤ë¥µ¥¤¥º¤ÎÀ°¿ô¤«¤é¥Ý¥¤¥ó¥¿¤Ë¥­¥ã¥¹¥È¤µ¤ì¤Þ¤·¤¿"
+
+-#: c-typeck.c:3741
++#: c-typeck.c:3752
+ #, fuzzy, gcc-internal-format
+ msgid "ISO C forbids conversion of function pointer to object pointer type"
+ msgstr "ISO C++ ¤Ï¥Ý¥¤¥ó¥¿·×»»¤Ë¥á¥ó¥Ð´Ø¿ô¤Ø¤Î¥Ý¥¤¥ó¥¿¤ò»È¤¦¤³¤È¤ò¶Ø¤¸¤Þ¤¹"
+
+-#: c-typeck.c:3749
++#: c-typeck.c:3760
+ #, fuzzy, gcc-internal-format
+ msgid "ISO C forbids conversion of object pointer to function pointer type"
+ msgstr "ISO C ¤Ï `void *' ¤È´Ø¿ô¥Ý¥¤¥ó¥¿¤È¤ÎÈæ³Ó¤ò¶Ø¤¸¤Þ¤¹"
+
+-#: c-typeck.c:4026
++#: c-typeck.c:4037
+ #, fuzzy, gcc-internal-format
+ msgid "cannot pass rvalue to reference parameter"
+ msgstr "»²¾È·¿¤ËÂФ·¤Æ new ¤òŬÍѤǤ­¤Þ¤»¤ó"
+
+-#: c-typeck.c:4139 c-typeck.c:4306
++#: c-typeck.c:4150 c-typeck.c:4317
+ #, fuzzy, gcc-internal-format
+ msgid "passing argument %d of %qE makes qualified function pointer from unqualified"
+ msgstr "%s¤Ë¤è¤ê¡¢½¤¾þ¤µ¤ì¤Ê¤¤´Ø¿ô¥Ý¥¤¥ó¥¿¤«¤é¡¢½¤¾þ¤µ¤ì¤¿´Ø¿ô¥Ý¥¤¥ó¥¿¤òºî¤ê¤Þ¤¹"
+
+-#: c-typeck.c:4142 c-typeck.c:4309
++#: c-typeck.c:4153 c-typeck.c:4320
+ #, fuzzy, gcc-internal-format
+ msgid "assignment makes qualified function pointer from unqualified"
+ msgstr "%s¤Ë¤è¤ê¡¢½¤¾þ¤µ¤ì¤Ê¤¤´Ø¿ô¥Ý¥¤¥ó¥¿¤«¤é¡¢½¤¾þ¤µ¤ì¤¿´Ø¿ô¥Ý¥¤¥ó¥¿¤òºî¤ê¤Þ¤¹"
+
+-#: c-typeck.c:4145 c-typeck.c:4311
++#: c-typeck.c:4156 c-typeck.c:4322
+ #, fuzzy, gcc-internal-format
+ msgid "initialization makes qualified function pointer from unqualified"
+ msgstr "%s¤Ë¤è¤ê¡¢½¤¾þ¤µ¤ì¤Ê¤¤´Ø¿ô¥Ý¥¤¥ó¥¿¤«¤é¡¢½¤¾þ¤µ¤ì¤¿´Ø¿ô¥Ý¥¤¥ó¥¿¤òºî¤ê¤Þ¤¹"
+
+-#: c-typeck.c:4148 c-typeck.c:4313
++#: c-typeck.c:4159 c-typeck.c:4324
+ #, fuzzy, gcc-internal-format
+ msgid "return makes qualified function pointer from unqualified"
+ msgstr "%s¤Ë¤è¤ê¡¢½¤¾þ¤µ¤ì¤Ê¤¤´Ø¿ô¥Ý¥¤¥ó¥¿¤«¤é¡¢½¤¾þ¤µ¤ì¤¿´Ø¿ô¥Ý¥¤¥ó¥¿¤òºî¤ê¤Þ¤¹"
+
+-#: c-typeck.c:4152 c-typeck.c:4273
++#: c-typeck.c:4163 c-typeck.c:4284
+ #, fuzzy, gcc-internal-format
+ msgid "passing argument %d of %qE discards qualifiers from pointer target type"
+ msgstr "¥­¥ã¥¹¥È¤Ë¤è¤Ã¤Æ¥Ý¥¤¥ó¥¿¤¬¼¨¤¹·¿¤«¤é½¤¾þ»Ò¤¬ÀÚ¤ê¼Î¤Æ¤é¤ì¤Þ¤¹"
+
+-#: c-typeck.c:4154 c-typeck.c:4275
++#: c-typeck.c:4165 c-typeck.c:4286
+ #, fuzzy, gcc-internal-format
+ msgid "assignment discards qualifiers from pointer target type"
+ msgstr "¥­¥ã¥¹¥È¤Ë¤è¤Ã¤Æ¥Ý¥¤¥ó¥¿¤¬¼¨¤¹·¿¤«¤é½¤¾þ»Ò¤¬ÀÚ¤ê¼Î¤Æ¤é¤ì¤Þ¤¹"
+
+-#: c-typeck.c:4156 c-typeck.c:4277
++#: c-typeck.c:4167 c-typeck.c:4288
+ #, fuzzy, gcc-internal-format
+ msgid "initialization discards qualifiers from pointer target type"
+ msgstr "¥­¥ã¥¹¥È¤Ë¤è¤Ã¤Æ¥Ý¥¤¥ó¥¿¤¬¼¨¤¹·¿¤«¤é½¤¾þ»Ò¤¬ÀÚ¤ê¼Î¤Æ¤é¤ì¤Þ¤¹"
+
+-#: c-typeck.c:4158 c-typeck.c:4279
++#: c-typeck.c:4169 c-typeck.c:4290
+ #, fuzzy, gcc-internal-format
+ msgid "return discards qualifiers from pointer target type"
+ msgstr "¥­¥ã¥¹¥È¤Ë¤è¤Ã¤Æ¥Ý¥¤¥ó¥¿¤¬¼¨¤¹·¿¤«¤é½¤¾þ»Ò¤¬ÀÚ¤ê¼Î¤Æ¤é¤ì¤Þ¤¹"
+
+-#: c-typeck.c:4165
++#: c-typeck.c:4176
+ #, gcc-internal-format
+ msgid "ISO C prohibits argument conversion to union type"
+ msgstr "ISO C ¤Ç¤Ï°ú¿ô¤«¤é¶¦ÍÑÂΤؤÎÊÑ´¹¤ò¶Ø»ß¤·¤Æ¤¤¤Þ¤¹"
+
+-#: c-typeck.c:4201
++#: c-typeck.c:4212
+ #, gcc-internal-format
+ msgid "request for implicit conversion from %qT to %qT not permitted in C++"
+ msgstr ""
+
+-#: c-typeck.c:4214
++#: c-typeck.c:4225
+ #, fuzzy, gcc-internal-format
+ msgid "argument %d of %qE might be a candidate for a format attribute"
+ msgstr "´Ø¿ô¤Ï¶²¤é¤¯ `%s' format °À­¤Î¸õÊä¤È»×¤ï¤ì¤Þ¤¹"
+
+-#: c-typeck.c:4220
++#: c-typeck.c:4231
+ #, fuzzy, gcc-internal-format
+ msgid "assignment left-hand side might be a candidate for a format attribute"
+ msgstr "format °À­¤ò¤Î¸õÊä¤È¤Ê¤ê¤½¤¦¤Ê´Ø¿ô¤Ë¤Ä¤¤¤Æ·Ù¹ð¤¹¤ë"
+
+-#: c-typeck.c:4225
++#: c-typeck.c:4236
+ #, fuzzy, gcc-internal-format
+ msgid "initialization left-hand side might be a candidate for a format attribute"
+ msgstr "´Ø¿ô¤Ï¶²¤é¤¯ `%s' format °À­¤Î¸õÊä¤È»×¤ï¤ì¤Þ¤¹"
+
+-#: c-typeck.c:4230
++#: c-typeck.c:4241
+ #, fuzzy, gcc-internal-format
+ msgid "return type might be a candidate for a format attribute"
+ msgstr "´Ø¿ô¤Ï¶²¤é¤¯ `%s' format °À­¤Î¸õÊä¤È»×¤ï¤ì¤Þ¤¹"
+
+-#: c-typeck.c:4253
++#: c-typeck.c:4264
+ #, fuzzy, gcc-internal-format
+ msgid "ISO C forbids passing argument %d of %qE between function pointer and %<void *%>"
+ msgstr "ISO C ¤Ï´Ø¿ô¥Ý¥¤¥ó¥¿¤È `void *' ¤È¤Î%s¤ò¶Ø¤¸¤Þ¤¹"
+
+-#: c-typeck.c:4256
++#: c-typeck.c:4267
+ #, fuzzy, gcc-internal-format
+ msgid "ISO C forbids assignment between function pointer and %<void *%>"
+ msgstr "ISO C ¤Ï´Ø¿ô¥Ý¥¤¥ó¥¿¤È `void *' ¤È¤Î%s¤ò¶Ø¤¸¤Þ¤¹"
+
+-#: c-typeck.c:4258
++#: c-typeck.c:4269
+ #, fuzzy, gcc-internal-format
+ msgid "ISO C forbids initialization between function pointer and %<void *%>"
+ msgstr "ISO C ¤Ï´Ø¿ô¥Ý¥¤¥ó¥¿¤È `void *' ¤È¤Î%s¤ò¶Ø¤¸¤Þ¤¹"
+
+-#: c-typeck.c:4260
++#: c-typeck.c:4271
+ #, fuzzy, gcc-internal-format
+ msgid "ISO C forbids return between function pointer and %<void *%>"
+ msgstr "ISO C ¤Ï´Ø¿ô¥Ý¥¤¥ó¥¿¤È `void *' ¤È¤Î%s¤ò¶Ø¤¸¤Þ¤¹"
+
+-#: c-typeck.c:4289
++#: c-typeck.c:4300
+ #, fuzzy, gcc-internal-format
+ msgid "pointer targets in passing argument %d of %qE differ in signedness"
+ msgstr "%s ¤Ç¥Ý¥¤¥ó¥¿¤Î¼¨¤¹ÂоݤÎÉä¹æ¤Î̵ͭ¤¬°Û¤Ê¤ê¤Þ¤¹"
+
+-#: c-typeck.c:4291
++#: c-typeck.c:4302
+ #, fuzzy, gcc-internal-format
+ msgid "pointer targets in assignment differ in signedness"
+ msgstr "%s ¤Ç¥Ý¥¤¥ó¥¿¤Î¼¨¤¹ÂоݤÎÉä¹æ¤Î̵ͭ¤¬°Û¤Ê¤ê¤Þ¤¹"
+
+-#: c-typeck.c:4293
++#: c-typeck.c:4304
+ #, fuzzy, gcc-internal-format
+ msgid "pointer targets in initialization differ in signedness"
+ msgstr "%s ¤Ç¥Ý¥¤¥ó¥¿¤Î¼¨¤¹ÂоݤÎÉä¹æ¤Î̵ͭ¤¬°Û¤Ê¤ê¤Þ¤¹"
+
+-#: c-typeck.c:4295
++#: c-typeck.c:4306
+ #, fuzzy, gcc-internal-format
+ msgid "pointer targets in return differ in signedness"
+ msgstr "%s ¤Ç¥Ý¥¤¥ó¥¿¤Î¼¨¤¹ÂоݤÎÉä¹æ¤Î̵ͭ¤¬°Û¤Ê¤ê¤Þ¤¹"
+
+-#: c-typeck.c:4320
++#: c-typeck.c:4331
+ #, fuzzy, gcc-internal-format
+ msgid "passing argument %d of %qE from incompatible pointer type"
+ msgstr "¸ß´¹À­¤Î¤Ê¤¤¥Ý¥¤¥ó¥¿·¿¤«¤é¤Î%s¤Ç¤¹"
+
+-#: c-typeck.c:4322
++#: c-typeck.c:4333
+ #, fuzzy, gcc-internal-format
+ msgid "assignment from incompatible pointer type"
+ msgstr "¸ß´¹À­¤Î¤Ê¤¤¥Ý¥¤¥ó¥¿·¿¤«¤é¤Î%s¤Ç¤¹"
+
+-#: c-typeck.c:4323
++#: c-typeck.c:4334
+ #, fuzzy, gcc-internal-format
+ msgid "initialization from incompatible pointer type"
+ msgstr "¸ß´¹À­¤Î¤Ê¤¤¥Ý¥¤¥ó¥¿·¿¤«¤é¤Î%s¤Ç¤¹"
+
+-#: c-typeck.c:4325
++#: c-typeck.c:4336
+ #, fuzzy, gcc-internal-format
+ msgid "return from incompatible pointer type"
+ msgstr "¸ß´¹À­¤Î¤Ê¤¤¥Ý¥¤¥ó¥¿·¿¤«¤é¤Î%s¤Ç¤¹"
+
+-#: c-typeck.c:4342
++#: c-typeck.c:4353
+ #, fuzzy, gcc-internal-format
+ msgid "passing argument %d of %qE makes pointer from integer without a cast"
+ msgstr "%s¤Ë¤è¤ê¡¢¥­¥ã¥¹¥È¤Ê¤·¤ÇÀ°¿ô¤«¤é¥Ý¥¤¥ó¥¿¤òºî¤ê¤Þ¤·¤¿"
+
+-#: c-typeck.c:4344
++#: c-typeck.c:4355
+ #, fuzzy, gcc-internal-format
+ msgid "assignment makes pointer from integer without a cast"
+ msgstr "%s¤Ë¤è¤ê¡¢¥­¥ã¥¹¥È¤Ê¤·¤ÇÀ°¿ô¤«¤é¥Ý¥¤¥ó¥¿¤òºî¤ê¤Þ¤·¤¿"
+
+-#: c-typeck.c:4346
++#: c-typeck.c:4357
+ #, fuzzy, gcc-internal-format
+ msgid "initialization makes pointer from integer without a cast"
+ msgstr "%s¤Ë¤è¤ê¡¢¥­¥ã¥¹¥È¤Ê¤·¤ÇÀ°¿ô¤«¤é¥Ý¥¤¥ó¥¿¤òºî¤ê¤Þ¤·¤¿"
+
+-#: c-typeck.c:4348
++#: c-typeck.c:4359
+ #, fuzzy, gcc-internal-format
+ msgid "return makes pointer from integer without a cast"
+ msgstr "%s¤Ë¤è¤ê¡¢¥­¥ã¥¹¥È¤Ê¤·¤ÇÀ°¿ô¤«¤é¥Ý¥¤¥ó¥¿¤òºî¤ê¤Þ¤·¤¿"
+
+-#: c-typeck.c:4355
++#: c-typeck.c:4366
+ #, fuzzy, gcc-internal-format
+ msgid "passing argument %d of %qE makes integer from pointer without a cast"
+ msgstr "%s¤Ë¤è¤ê¡¢¥­¥ã¥¹¥È¤Ê¤·¤Ç¥Ý¥¤¥ó¥¿¤«¤éÀ°¿ô¤òºî¤ê¤Þ¤·¤¿"
+
+-#: c-typeck.c:4357
++#: c-typeck.c:4368
+ #, fuzzy, gcc-internal-format
+ msgid "assignment makes integer from pointer without a cast"
+ msgstr "%s¤Ë¤è¤ê¡¢¥­¥ã¥¹¥È¤Ê¤·¤Ç¥Ý¥¤¥ó¥¿¤«¤éÀ°¿ô¤òºî¤ê¤Þ¤·¤¿"
+
+-#: c-typeck.c:4359
++#: c-typeck.c:4370
+ #, fuzzy, gcc-internal-format
+ msgid "initialization makes integer from pointer without a cast"
+ msgstr "%s¤Ë¤è¤ê¡¢¥­¥ã¥¹¥È¤Ê¤·¤Ç¥Ý¥¤¥ó¥¿¤«¤éÀ°¿ô¤òºî¤ê¤Þ¤·¤¿"
+
+-#: c-typeck.c:4361
++#: c-typeck.c:4372
+ #, fuzzy, gcc-internal-format
+ msgid "return makes integer from pointer without a cast"
+ msgstr "%s¤Ë¤è¤ê¡¢¥­¥ã¥¹¥È¤Ê¤·¤Ç¥Ý¥¤¥ó¥¿¤«¤éÀ°¿ô¤òºî¤ê¤Þ¤·¤¿"
+
+-#: c-typeck.c:4377
++#: c-typeck.c:4388
+ #, fuzzy, gcc-internal-format
+ msgid "incompatible types in assignment"
+ msgstr "%s ¤Ë¸ß´¹À­¤Î¤Ê¤¤·¿"
+
+-#: c-typeck.c:4380
++#: c-typeck.c:4391
+ #, fuzzy, gcc-internal-format
+ msgid "incompatible types in initialization"
+ msgstr "%s ¤Ë¸ß´¹À­¤Î¤Ê¤¤·¿"
+
+-#: c-typeck.c:4383
++#: c-typeck.c:4394
+ #, fuzzy, gcc-internal-format
+ msgid "incompatible types in return"
+ msgstr "%s ¤Ë¸ß´¹À­¤Î¤Ê¤¤·¿"
+
+-#: c-typeck.c:4439
++#: c-typeck.c:4450
+ #, gcc-internal-format
+ msgid "traditional C rejects automatic aggregate initialization"
+ msgstr "¸Å¤¤ C ¤Ç¤Ï¼«Æ°Åª¤Ê½¸¹çÂΤνé´ü²½¤òµñÀ䤷¤Þ¤¹"
+
+-#: c-typeck.c:4610 c-typeck.c:4625 c-typeck.c:4640
++#: c-typeck.c:4621 c-typeck.c:4636 c-typeck.c:4651
+ #, fuzzy, gcc-internal-format
+ msgid "(near initialization for %qs)"
+ msgstr "(`%s' ¤Î½é´ü²½¤ÏÉÔ´°Á´¤Ç¤¹)"
+
+-#: c-typeck.c:5180 cp/decl.c:4975
++#: c-typeck.c:5191 cp/decl.c:4995
+ #, fuzzy, gcc-internal-format
+ msgid "opaque vector types cannot be initialized"
+ msgstr "²ÄÊÑĹ¥ª¥Ö¥¸¥§¥¯¥È¤Ï½é´ü²½¤µ¤ì¤Ê¤¤¤³¤È¤Ë¤Ê¤ë¤Ç¤·¤ç¤¦"
+
+-#: c-typeck.c:5803
++#: c-typeck.c:5814
+ #, fuzzy, gcc-internal-format
+ msgid "unknown field %qE specified in initializer"
+ msgstr "ÉÔÌÀ¤Ê¥Õ¥£¡¼¥ë¥É `%s' ¤¬½é´ü²½»Ò¤Ç»ØÄꤵ¤ì¤Þ¤·¤¿"
+
+-#: c-typeck.c:6703
++#: c-typeck.c:6714
+ #, gcc-internal-format
+ msgid "traditional C rejects initialization of unions"
+ msgstr "¸Å¤¤ C ¤Ï¶¦ÍÑÂΤνé´ü¤òµñÀ䤷¤Þ¤¹"
+
+-#: c-typeck.c:7011
++#: c-typeck.c:7022
+ #, fuzzy, gcc-internal-format
+ msgid "jump into statement expression"
+ msgstr "Äê¿ô¼°¤¬¥ª¡¼¥Ð¡¼¥Õ¥í¡¼¤·¤Þ¤·¤¿"
+
+-#: c-typeck.c:7017
++#: c-typeck.c:7028
+ #, gcc-internal-format
+ msgid "jump into scope of identifier with variably modified type"
+ msgstr ""
+
+-#: c-typeck.c:7054
++#: c-typeck.c:7065
+ #, fuzzy, gcc-internal-format
+ msgid "ISO C forbids %<goto *expr;%>"
+ msgstr "ISO C `goto *¼°;' ¤Î½ñ¤­Êý¤ò¶Ø¤¸¤Þ¤¹"
+
+-#: c-typeck.c:7069 cp/typeck.c:6592
++#: c-typeck.c:7080 cp/typeck.c:6619
+ #, fuzzy, gcc-internal-format
+ msgid "function declared %<noreturn%> has a %<return%> statement"
+ msgstr "`noreturn' ¤ÎÀë¸À¤µ¤ì¤¿´Ø¿ô¤Ë `return' ʸ¤¬¤¢¤ê¤Þ¤¹"
+
+-#: c-typeck.c:7077
++#: c-typeck.c:7088
+ #, fuzzy, gcc-internal-format
+ msgid "%<return%> with no value, in function returning non-void"
+ msgstr "Ìá¤ê·¿¤¬´Ø¿ô¤Ç¡¢`return' ¤ËÃͤ¬¤¢¤ê¤Þ¤»¤ó"
+
+-#: c-typeck.c:7086
++#: c-typeck.c:7097
+ #, fuzzy, gcc-internal-format
+ msgid "%<return%> with a value, in function returning void"
+ msgstr "Ìá¤ê·¿¤¬ void ¤Î´Ø¿ô¤Ç¡¢`return' ¤ËÃͤ¬¤¢¤ê¤Þ¤¹"
+
+-#: c-typeck.c:7088
++#: c-typeck.c:7099
+ #, fuzzy, gcc-internal-format
+ msgid "ISO C forbids %<return%> with expression, in function returning void"
+ msgstr "Ìá¤ê·¿¤¬ void ¤Î´Ø¿ô¤Ç¡¢`return' ¤ËÃͤ¬¤¢¤ê¤Þ¤¹"
+
+-#: c-typeck.c:7145
++#: c-typeck.c:7156
+ #, gcc-internal-format
+ msgid "function returns address of local variable"
+ msgstr "´Ø¿ô¤¬¥í¡¼¥«¥ëÊÑ¿ô¤Î¥¢¥É¥ì¥¹¤òÊÖ¤·¤Æ¤¤¤Þ¤¹"
+
+-#: c-typeck.c:7217 cp/semantics.c:949
++#: c-typeck.c:7228 cp/semantics.c:952
+ #, gcc-internal-format
+ msgid "switch quantity not an integer"
+ msgstr "switch ¤ÎÆâÍƤ¬À°¿ô¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó"
+
+-#: c-typeck.c:7229
++#: c-typeck.c:7240
+ #, fuzzy, gcc-internal-format
+ msgid "%<long%> switch expression not converted to %<int%> in ISO C"
+ msgstr "ISO C ¤Ç¤Ï `long' ¤Î switch ¼°¤Ï `int' ¤ËÊÑ´¹¤µ¤ì¤Þ¤»¤ó"
+
+-#: c-typeck.c:7269
++#: c-typeck.c:7280
+ #, fuzzy, gcc-internal-format
+ msgid "case label in statement expression not containing enclosing switch statement"
+ msgstr "case ¥é¥Ù¥ë¤¬ switch ʸ¤ÎÃæ¤Ë¤¢¤ê¤Þ¤»¤ó"
+
+-#: c-typeck.c:7272
++#: c-typeck.c:7283
+ #, fuzzy, gcc-internal-format
+ msgid "%<default%> label in statement expression not containing enclosing switch statement"
+ msgstr "`default' ¥é¥Ù¥ë¤¬ switch ʸ¤ÎÃæ¤Ë¤¢¤ê¤Þ¤»¤ó"
+
+-#: c-typeck.c:7278
++#: c-typeck.c:7289
+ #, gcc-internal-format
+ msgid "case label in scope of identifier with variably modified type not containing enclosing switch statement"
+ msgstr ""
+
+-#: c-typeck.c:7281
++#: c-typeck.c:7292
+ #, gcc-internal-format
+ msgid "%<default%> label in scope of identifier with variably modified type not containing enclosing switch statement"
+ msgstr ""
+
+-#: c-typeck.c:7285 cp/parser.c:6804
++#: c-typeck.c:7296 cp/parser.c:6810
+ #, gcc-internal-format
+ msgid "case label not within a switch statement"
+ msgstr "case ¥é¥Ù¥ë¤¬ switch ʸ¤ÎÃæ¤Ë¤¢¤ê¤Þ¤»¤ó"
+
+-#: c-typeck.c:7287
++#: c-typeck.c:7298
+ #, fuzzy, gcc-internal-format
+ msgid "%<default%> label not within a switch statement"
+ msgstr "`default' ¥é¥Ù¥ë¤¬ switch ʸ¤ÎÃæ¤Ë¤¢¤ê¤Þ¤»¤ó"
+
+-#: c-typeck.c:7364
++#: c-typeck.c:7375
+ #, gcc-internal-format
+ msgid "%Hsuggest explicit braces to avoid ambiguous %<else%>"
+ msgstr ""
+
+-#: c-typeck.c:7475 cp/cp-gimplify.c:97 cp/parser.c:7409
++#: c-typeck.c:7486 cp/cp-gimplify.c:97 cp/parser.c:7415
+ #, gcc-internal-format
+ msgid "break statement not within loop or switch"
+ msgstr "break ʸ¤¬ loop ¤Þ¤¿¤Ï switch ¤ÎÃæ¤Ë¤¢¤ê¤Þ¤»¤ó"
+
+-#: c-typeck.c:7477 cp/parser.c:7430
++#: c-typeck.c:7488 cp/parser.c:7436
+ #, gcc-internal-format
+ msgid "continue statement not within a loop"
+ msgstr "continue ʸ¤¬ loop ¤ÎÃæ¤Ë¤¢¤ê¤Þ¤»¤ó"
+
+-#: c-typeck.c:7482 cp/parser.c:7420
++#: c-typeck.c:7493 cp/parser.c:7426
+ #, fuzzy, gcc-internal-format
+ msgid "break statement used with OpenMP for loop"
+ msgstr "break ʸ¤¬ loop ¤Þ¤¿¤Ï switch ¤ÎÃæ¤Ë¤¢¤ê¤Þ¤»¤ó"
+
+-#: c-typeck.c:7505
++#: c-typeck.c:7516
+ #, gcc-internal-format
+ msgid "%Hstatement with no effect"
+ msgstr ""
+
+-#: c-typeck.c:7527
++#: c-typeck.c:7538
+ #, gcc-internal-format
+ msgid "expression statement has incomplete type"
+ msgstr "¼°¤ÎÃæ¤Îʸ¤ËÉÔ´°Á´·¿¤¬¤¢¤ê¤Þ¤¹"
+
+-#: c-typeck.c:8082 cp/typeck.c:3259
++#: c-typeck.c:8093 cp/typeck.c:3301
+ #, gcc-internal-format
+ msgid "right shift count is negative"
+ msgstr "±¦¥·¥Õ¥È²ó¿ô¤¬Éé¤Î¿ô¤Ç¤¹"
+
+-#: c-typeck.c:8089 cp/typeck.c:3265
++#: c-typeck.c:8100 cp/typeck.c:3305
+ #, gcc-internal-format
+ msgid "right shift count >= width of type"
+ msgstr "±¦¥·¥Õ¥È²ó¿ô >= ·¿¤ÎÉý¤È¤Ê¤Ã¤Æ¤¤¤Þ¤¹"
+
+-#: c-typeck.c:8111 cp/typeck.c:3284
++#: c-typeck.c:8122 cp/typeck.c:3324
+ #, gcc-internal-format
+ msgid "left shift count is negative"
+ msgstr "º¸¥·¥Õ¥È²ó¿ô¤¬Éé¤Î¿ô¤Ç¤¹"
+
+-#: c-typeck.c:8114 cp/typeck.c:3286
++#: c-typeck.c:8125 cp/typeck.c:3326
+ #, gcc-internal-format
+ msgid "left shift count >= width of type"
+ msgstr "º¸¥·¥Õ¥È²ó¿ô >= ·¿¤ÎÉý¤È¤Ê¤Ã¤Æ¤¤¤Þ¤¹"
+
+-#: c-typeck.c:8132 cp/typeck.c:3324
++#: c-typeck.c:8143 cp/typeck.c:3364
+ #, gcc-internal-format
+ msgid "comparing floating point with == or != is unsafe"
+ msgstr "ÉâÆ°¾®¿ôÅÀ¤ÎÈæ³Ó¤Ç == ¤ä != ¤ò»È¤¦¤Î¤Ï°ÂÁ´¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó"
+
+-#: c-typeck.c:8156 c-typeck.c:8163
++#: c-typeck.c:8167 c-typeck.c:8174
+ #, fuzzy, gcc-internal-format
+ msgid "ISO C forbids comparison of %<void *%> with function pointer"
+ msgstr "ISO C ¤Ï `void *' ¤È´Ø¿ô¥Ý¥¤¥ó¥¿¤È¤ÎÈæ³Ó¤ò¶Ø¤¸¤Þ¤¹"
+
+-#: c-typeck.c:8169 c-typeck.c:8227
++#: c-typeck.c:8180 c-typeck.c:8238
+ #, gcc-internal-format
+ msgid "comparison of distinct pointer types lacks a cast"
+ msgstr "·¿¤¬Á´¤¯°Û¤Ê¤ë¥Ý¥¤¥ó¥¿¤ÎÈæ³Ó¤Ç¥­¥ã¥¹¥È¤ò·ç¤¤¤Æ¤¤¤Þ¤¹"
+
+-#: c-typeck.c:8178 c-typeck.c:8186 cp/typeck.c:3344 cp/typeck.c:3353
++#: c-typeck.c:8189 c-typeck.c:8197 cp/typeck.c:3384 cp/typeck.c:3393
+ #, gcc-internal-format
+ msgid "the address of %qD will never be NULL"
+ msgstr ""
+
+-#: c-typeck.c:8193 c-typeck.c:8198 c-typeck.c:8245 c-typeck.c:8250
++#: c-typeck.c:8204 c-typeck.c:8209 c-typeck.c:8256 c-typeck.c:8261
+ #, gcc-internal-format
+ msgid "comparison between pointer and integer"
+ msgstr "¥Ý¥¤¥ó¥¿¤ÈÀ°¿ô¤È¤ÎÈæ³Ó¤ò¹Ô¤Ê¤Ã¤Æ¤¤¤Þ¤¹"
+
+-#: c-typeck.c:8219
++#: c-typeck.c:8230
+ #, gcc-internal-format
+ msgid "comparison of complete and incomplete pointers"
+ msgstr "´°Á´¤Ê¥Ý¥¤¥ó¥¿¤ÈÉÔ´°Á´¤Ê¥Ý¥¤¥ó¥¿¤È¤ÎÈæ³Ó¤Ç¤¹"
+
+-#: c-typeck.c:8222
++#: c-typeck.c:8233
+ #, gcc-internal-format
+ msgid "ISO C forbids ordered comparisons of pointers to functions"
+ msgstr "ISO C ´Ø¿ô¥Ý¥¤¥ó¥¿¤Î½ç½øÈæ³Ó¤ò¶Ø¤¸¤Þ¤¹"
+
+-#: c-typeck.c:8234 c-typeck.c:8240
++#: c-typeck.c:8245 c-typeck.c:8251
+ #, gcc-internal-format
+ msgid "ordered comparison of pointer with integer zero"
+ msgstr "À°¿ô 0 ¤È¥Ý¥¤¥ó¥¿¤È¤Î½ç½øÈæ³Ó¤Ç¤¹"
+
+-#: c-typeck.c:8500
++#: c-typeck.c:8511
+ #, gcc-internal-format
+ msgid "comparison between signed and unsigned"
+ msgstr "Éä¹çÉÕ¤­¤ÈÉä¹ç̵¤·¤È¤ÎÈæ³Ó¤Ç¤¹"
+
+-#: c-typeck.c:8546 cp/typeck.c:3830
++#: c-typeck.c:8557 cp/typeck.c:3838
+ #, gcc-internal-format
+ msgid "comparison of promoted ~unsigned with constant"
+ msgstr "~¤Çȿž¤µ¤ì¤¿³Ê¾å¤²Éä¹ç̵¤··¿¤ÈÄê¿ô¤È¤ÎÈæ³Ó¤Ç¤¹"
+
+-#: c-typeck.c:8554 cp/typeck.c:3838
++#: c-typeck.c:8565 cp/typeck.c:3846
+ #, gcc-internal-format
+ msgid "comparison of promoted ~unsigned with unsigned"
+ msgstr "~¤Çȿž¤µ¤ì¤¿Éä¹ç̵¤··¿¤ÈÉä¹ç̵¤··¿¤È¤ÎÈæ³Ó¤Ç¤¹"
+
+-#: c-typeck.c:8612
++#: c-typeck.c:8623
+ #, fuzzy, gcc-internal-format
+ msgid "used array that cannot be converted to pointer where scalar is required"
+ msgstr "¥¹¥«¥é¡¼¤¬É¬Íפʾì½ê¤ËÇÛÎ󷿤ÎÃͤ¬»È¤ï¤ì¤Þ¤·¤¿"
+
+-#: c-typeck.c:8616
++#: c-typeck.c:8627
+ #, fuzzy, gcc-internal-format
+ msgid "used struct type value where scalar is required"
+ msgstr "¥¹¥«¥é¡¼¤¬É¬Íפʾì½ê¤Ë¹½Â¤Âη¿¤ÎÃͤ¬»È¤ï¤ì¤Þ¤·¤¿"
+
+-#: c-typeck.c:8620
++#: c-typeck.c:8631
+ #, fuzzy, gcc-internal-format
+ msgid "used union type value where scalar is required"
+ msgstr "¥¹¥«¥é¡¼¤¬É¬Íפʾì½ê¤Ë¶¦ÍÑÂη¿¤ÎÃͤ¬»È¤ï¤ì¤Þ¤·¤¿"
+
+-#: c-typeck.c:8725 cp/semantics.c:3523
++#: c-typeck.c:8736 cp/semantics.c:3555
+ #, gcc-internal-format
+ msgid "%qE has invalid type for %<reduction%>"
+ msgstr ""
+
+-#: c-typeck.c:8759 cp/semantics.c:3536
++#: c-typeck.c:8770 cp/semantics.c:3568
+ #, gcc-internal-format
+ msgid "%qE has invalid type for %<reduction(%s)%>"
+ msgstr ""
+
+-#: c-typeck.c:8775 cp/semantics.c:3546
++#: c-typeck.c:8786 cp/semantics.c:3578
+ #, gcc-internal-format
+ msgid "%qE must be %<threadprivate%> for %<copyin%>"
+ msgstr ""
+
+-#: c-typeck.c:8784 cp/semantics.c:3351
++#: c-typeck.c:8795 cp/semantics.c:3383
+ #, fuzzy, gcc-internal-format
+ msgid "%qE is not a variable in clause %qs"
+ msgstr "¥¤¥ó¥¹¥¿¥ó¥¹ÊÑ¿ô `%s' ¤Ï %s ¤ÈÀë¸À¤µ¤ì¤Æ¤¤¤Þ¤¹"
+
+-#: c-typeck.c:8791 c-typeck.c:8811 c-typeck.c:8831 cp/semantics.c:3377
+-#: cp/semantics.c:3396
++#: c-typeck.c:8802 c-typeck.c:8822 c-typeck.c:8842 cp/semantics.c:3409
++#: cp/semantics.c:3428
+ #, gcc-internal-format
+ msgid "%qE appears more than once in data clauses"
+ msgstr ""
+
+-#: c-typeck.c:8805 cp/semantics.c:3371
++#: c-typeck.c:8816 cp/semantics.c:3403
+ #, fuzzy, gcc-internal-format
+ msgid "%qE is not a variable in clause %<firstprivate%>"
+ msgstr "¥¤¥ó¥¹¥¿¥ó¥¹ÊÑ¿ô `%s' ¤Ï private ¤ÈÀë¸À¤µ¤ì¤Æ¤¤¤Þ¤¹"
+
+-#: c-typeck.c:8825 cp/semantics.c:3390
++#: c-typeck.c:8836 cp/semantics.c:3422
+ #, fuzzy, gcc-internal-format
+ msgid "%qE is not a variable in clause %<lastprivate%>"
+ msgstr "¥¤¥ó¥¹¥¿¥ó¥¹ÊÑ¿ô `%s' ¤Ï private ¤ÈÀë¸À¤µ¤ì¤Æ¤¤¤Þ¤¹"
+
+-#: c-typeck.c:8883 cp/semantics.c:3587
++#: c-typeck.c:8894 cp/semantics.c:3619
+ #, gcc-internal-format
+ msgid "%qE is predetermined %qs for %qs"
+ msgstr ""
+@@ -21962,12 +21934,12 @@
+ msgid "function call has aggregate value"
+ msgstr "´Ø¿ô¸Æ¤Ó½Ð¤·¤¬½¸¹çÂΤÎÃͤò»ý¤Ã¤Æ¤¤¤Þ¤¹"
+
+-#: cfgexpand.c:1884
++#: cfgexpand.c:1887
+ #, gcc-internal-format
+ msgid "not protecting local variables: variable length buffer"
+ msgstr ""
+
+-#: cfgexpand.c:1887
++#: cfgexpand.c:1890
+ #, gcc-internal-format
+ msgid "not protecting function: no buffer at least %d bytes long"
+ msgstr ""
+@@ -22022,7 +21994,7 @@
+ msgid "verify_flow_info: Basic block %d succ edge is corrupted"
+ msgstr "´ðËÜ¥Ö¥í¥Ã¥¯ %d pred edge ¥ê¥¹¥È¤¬µ¡Ç½¤·¤Æ¤¤¤Þ¤»¤ó"
+
+-#: cfghooks.c:184 cfgrtl.c:1840
++#: cfghooks.c:184 cfgrtl.c:1838
+ #, gcc-internal-format
+ msgid "wrong amount of branch edges after unconditional jump %i"
+ msgstr ""
+@@ -22232,252 +22204,252 @@
+ msgid "%d exits recorded for loop %d (having %d exits)"
+ msgstr ""
+
+-#: cfgrtl.c:1734
++#: cfgrtl.c:1732
+ #, gcc-internal-format
+ msgid "BB_RTL flag not set for block %d"
+ msgstr ""
+
+-#: cfgrtl.c:1741
++#: cfgrtl.c:1739
+ #, gcc-internal-format
+ msgid "insn %d basic block pointer is %d, should be %d"
+ msgstr ""
+
+-#: cfgrtl.c:1752
++#: cfgrtl.c:1750
+ #, gcc-internal-format
+ msgid "insn %d in header of bb %d has non-NULL basic block"
+ msgstr ""
+
+-#: cfgrtl.c:1760
++#: cfgrtl.c:1758
+ #, gcc-internal-format
+ msgid "insn %d in footer of bb %d has non-NULL basic block"
+ msgstr ""
+
+-#: cfgrtl.c:1782
++#: cfgrtl.c:1780
+ #, gcc-internal-format
+ msgid "verify_flow_info: REG_BR_PROB does not match cfg %wi %i"
+ msgstr ""
+
+-#: cfgrtl.c:1797
++#: cfgrtl.c:1795
+ #, gcc-internal-format
+ msgid "fallthru edge crosses section boundary (bb %i)"
+ msgstr ""
+
+-#: cfgrtl.c:1822
++#: cfgrtl.c:1820
+ #, gcc-internal-format
+ msgid "missing REG_EH_REGION note in the end of bb %i"
+ msgstr ""
+
+-#: cfgrtl.c:1830
++#: cfgrtl.c:1828
+ #, gcc-internal-format
+ msgid "too many outgoing branch edges from bb %i"
+ msgstr ""
+
+-#: cfgrtl.c:1835
++#: cfgrtl.c:1833
+ #, gcc-internal-format
+ msgid "fallthru edge after unconditional jump %i"
+ msgstr ""
+
+-#: cfgrtl.c:1846
++#: cfgrtl.c:1844
+ #, fuzzy, gcc-internal-format
+ msgid "wrong amount of branch edges after conditional jump %i"
+ msgstr "¾ò·ï¤Î¼Â¹Ô¤è¤ê¤Ïʬ´ô¤ÎÀ¸À®¤òÍ¥À褹¤ë"
+
+-#: cfgrtl.c:1852
++#: cfgrtl.c:1850
+ #, gcc-internal-format
+ msgid "call edges for non-call insn in bb %i"
+ msgstr ""
+
+-#: cfgrtl.c:1861
++#: cfgrtl.c:1859
+ #, gcc-internal-format
+ msgid "abnormal edges for no purpose in bb %i"
+ msgstr ""
+
+-#: cfgrtl.c:1873
++#: cfgrtl.c:1871
+ #, gcc-internal-format
+ msgid "insn %d inside basic block %d but block_for_insn is NULL"
+ msgstr ""
+
+-#: cfgrtl.c:1877
++#: cfgrtl.c:1875
+ #, gcc-internal-format
+ msgid "insn %d inside basic block %d but block_for_insn is %i"
+ msgstr ""
+
+-#: cfgrtl.c:1891 cfgrtl.c:1901
++#: cfgrtl.c:1889 cfgrtl.c:1899
+ #, gcc-internal-format
+ msgid "NOTE_INSN_BASIC_BLOCK is missing for block %d"
+ msgstr "NOTE_INSN_BASIC_BLOCK ¤¬¥Ö¥í¥Ã¥¯ %d ¤Ë¤¢¤ê¤Þ¤»¤ó"
+
+-#: cfgrtl.c:1914
++#: cfgrtl.c:1912
+ #, fuzzy, gcc-internal-format
+ msgid "NOTE_INSN_BASIC_BLOCK %d in middle of basic block %d"
+ msgstr "NOTE_INSN_BASIC_BLOCK %d ¤¬´ðËÜ¥Ö¥í¥Ã¥¯ %d ¤ÎÃæ¤Û¤É¤Ë¤¢¤ê¤Þ¤¹"
+
+-#: cfgrtl.c:1924
++#: cfgrtl.c:1922
+ #, fuzzy, gcc-internal-format
+ msgid "in basic block %d:"
+ msgstr "´ðËÜ¥Ö¥í¥Ã¥¯ %d Æâ:"
+
+-#: cfgrtl.c:1977 cfgrtl.c:2067
++#: cfgrtl.c:1975 cfgrtl.c:2065
+ #, gcc-internal-format
+ msgid "insn %d outside of basic blocks has non-NULL bb field"
+ msgstr ""
+
+-#: cfgrtl.c:1985
++#: cfgrtl.c:1983
+ #, fuzzy, gcc-internal-format
+ msgid "end insn %d for block %d not found in the insn stream"
+ msgstr "½ªÎ»Ì¿Îá %d(¥Ö¥í¥Ã¥¯ %d) ¤¬°ìÏ¢¤ÎÌ¿ÎáÎó¤ÎÃæ¤Ë¸«¤Ä¤«¤ê¤Þ¤»¤ó¡£"
+
+-#: cfgrtl.c:1998
++#: cfgrtl.c:1996
+ #, fuzzy, gcc-internal-format
+ msgid "insn %d is in multiple basic blocks (%d and %d)"
+ msgstr "Ì¿Îá %d ¤¬Ê£¿ô¤Î´ðËÜ¥Ö¥í¥Ã¥¯(%d ¤È %d)¤ÎÃæ¤Ë¤¢¤ê¤Þ¤¹"
+
+-#: cfgrtl.c:2010
++#: cfgrtl.c:2008
+ #, fuzzy, gcc-internal-format
+ msgid "head insn %d for block %d not found in the insn stream"
+ msgstr "³«»ÏÌ¿Îá %d(¥Ö¥í¥Ã¥¯ %d) ¤¬°ìÏ¢¤ÎÌ¿ÎáÎó¤ÎÃæ¤Ë¸«¤Ä¤«¤ê¤Þ¤»¤ó¡£"
+
+-#: cfgrtl.c:2030
++#: cfgrtl.c:2028
+ #, gcc-internal-format
+ msgid "missing barrier after block %i"
+ msgstr ""
+
+-#: cfgrtl.c:2043
++#: cfgrtl.c:2041
+ #, gcc-internal-format
+ msgid "verify_flow_info: Incorrect blocks for fallthru %i->%i"
+ msgstr ""
+
+-#: cfgrtl.c:2052
++#: cfgrtl.c:2050
+ #, gcc-internal-format
+ msgid "verify_flow_info: Incorrect fallthru %i->%i"
+ msgstr ""
+
+-#: cfgrtl.c:2085
++#: cfgrtl.c:2083
+ #, fuzzy, gcc-internal-format
+ msgid "basic blocks not laid down consecutively"
+ msgstr "´ðËÜ¥Ö¥í¥Ã¥¯¤¬Ï¢Â³Åª¤ËÈÖ¹æÉÕ¤±¤é¤ì¤Æ¤¤¤Þ¤»¤ó"
+
+-#: cfgrtl.c:2124
++#: cfgrtl.c:2122
+ #, gcc-internal-format
+ msgid "number of bb notes in insn chain (%d) != n_basic_blocks (%d)"
+ msgstr "Ì¿ÎáÏ¢º¿Ãæ¤Î bb ¤Î¿ô (%d) ¤¬ n_basic_blocks (%d) ¤È°ã¤¤¤Þ¤¹"
+
+-#: cgraph.c:794
++#: cgraph.c:840
+ #, gcc-internal-format
+ msgid "%D renamed after being referenced in assembly"
+ msgstr ""
+
+-#: cgraphunit.c:670
++#: cgraphunit.c:675
+ #, gcc-internal-format
+ msgid "aux field set for edge %s->%s"
+ msgstr ""
+
+-#: cgraphunit.c:676
++#: cgraphunit.c:681
+ #, fuzzy, gcc-internal-format
+ msgid "Execution count is negative"
+ msgstr "º¸¥·¥Õ¥È²ó¿ô¤¬Éé¤Î¿ô¤Ç¤¹"
+
+-#: cgraphunit.c:683
++#: cgraphunit.c:688
+ #, fuzzy, gcc-internal-format
+ msgid "caller edge count is negative"
+ msgstr "º¸¥·¥Õ¥È²ó¿ô¤¬Éé¤Î¿ô¤Ç¤¹"
+
+-#: cgraphunit.c:688
++#: cgraphunit.c:693
+ #, gcc-internal-format
+ msgid "caller edge frequency is negative"
+ msgstr ""
+
+-#: cgraphunit.c:693
++#: cgraphunit.c:698
+ #, gcc-internal-format
+ msgid "caller edge frequency is too large"
+ msgstr ""
+
+-#: cgraphunit.c:702
++#: cgraphunit.c:707
+ #, fuzzy, gcc-internal-format
+ msgid "inlined_to pointer is wrong"
+ msgstr "¥»¥¯¥·¥ç¥ó¥Ý¥¤¥ó¥¿¤ò·ç¤¤¤Æ¤¤¤Þ¤¹"
+
+-#: cgraphunit.c:707
++#: cgraphunit.c:712
+ #, fuzzy, gcc-internal-format
+ msgid "multiple inline callers"
+ msgstr "½ÅÊ£¤¹¤ë `virtual' »ØÄê»Ò"
+
+-#: cgraphunit.c:714
++#: cgraphunit.c:719
+ #, gcc-internal-format
+ msgid "inlined_to pointer set for noninline callers"
+ msgstr ""
+
+-#: cgraphunit.c:720
++#: cgraphunit.c:725
+ #, gcc-internal-format
+ msgid "inlined_to pointer is set but no predecessors found"
+ msgstr ""
+
+-#: cgraphunit.c:725
++#: cgraphunit.c:730
+ #, gcc-internal-format
+ msgid "inlined_to pointer refers to itself"
+ msgstr ""
+
+-#: cgraphunit.c:735
++#: cgraphunit.c:740
+ #, fuzzy, gcc-internal-format
+ msgid "node not found in cgraph_hash"
+ msgstr "¥á¥½¥Ã¥É '%s' ¤Ï¥¯¥é¥¹Æâ¤Ë¸«¤Ä¤«¤ê¤Þ¤»¤ó"
+
+-#: cgraphunit.c:763
++#: cgraphunit.c:768
+ #, gcc-internal-format
+ msgid "shared call_stmt:"
+ msgstr ""
+
+-#: cgraphunit.c:770
++#: cgraphunit.c:775
+ #, fuzzy, gcc-internal-format
+ msgid "edge points to wrong declaration:"
+ msgstr "`%s' ¤ÏÀë¸À¤è¤ê¤âÀè¤Ë»ÈÍѤµ¤ì¤Þ¤·¤¿"
+
+-#: cgraphunit.c:779
++#: cgraphunit.c:784
+ #, gcc-internal-format
+ msgid "missing callgraph edge for call stmt:"
+ msgstr ""
+
+-#: cgraphunit.c:795
++#: cgraphunit.c:800
+ #, gcc-internal-format
+ msgid "edge %s->%s has no corresponding call_stmt"
+ msgstr ""
+
+-#: cgraphunit.c:807
++#: cgraphunit.c:812
+ #, gcc-internal-format
+ msgid "verify_cgraph_node failed"
+ msgstr ""
+
+-#: cgraphunit.c:909 cgraphunit.c:932
++#: cgraphunit.c:915 cgraphunit.c:938
+ #, gcc-internal-format
+ msgid "%J%<externally_visible%> attribute have effect only on public objects"
+ msgstr ""
+
+-#: cgraphunit.c:1122
++#: cgraphunit.c:1128
+ #, fuzzy, gcc-internal-format
+ msgid "failed to reclaim unneeded function"
+ msgstr "Îΰè `%s' ¤Ï´Ø¿ô¤È¤·¤ÆÀë¸À¤µ¤ì¤Æ¤¤¤Þ¤¹"
+
+-#: cgraphunit.c:1454
++#: cgraphunit.c:1460
+ #, gcc-internal-format
+ msgid "nodes with no released memory found"
+ msgstr ""
+
+-#: collect2.c:1189
++#: collect2.c:1203
+ #, fuzzy, gcc-internal-format
+ msgid "unknown demangling style '%s'"
+ msgstr "ÉÔÌÀ¤Ê¥Þ¥·¥ó¥â¡¼¥É `%s'"
+
+-#: collect2.c:1512
++#: collect2.c:1526
+ #, gcc-internal-format
+ msgid "%s terminated with signal %d [%s]%s"
+ msgstr "%s ¥·¥°¥Ê¥ë %d [%s]%s ¤Ç½ªÎ»¤µ¤»¤é¤ì¤Þ¤·¤¿"
+
+-#: collect2.c:1530
++#: collect2.c:1544
+ #, gcc-internal-format
+ msgid "%s returned %d exit status"
+ msgstr "%s ¤Ï exit ¾õÂÖ %d ¤òÊÖ¤·¤Þ¤·¤¿"
+
+-#: collect2.c:2242
++#: collect2.c:2256
+ #, fuzzy, gcc-internal-format
+ msgid "cannot find 'ldd'"
+ msgstr "`ldd' ¤¬¸«¤Ä¤«¤ê¤Þ¤»¤ó"
+@@ -22632,27 +22604,27 @@
+ msgid "dominator of %d should be %d, not %d"
+ msgstr ""
+
+-#: dwarf2out.c:3634
++#: dwarf2out.c:3686
+ #, fuzzy, gcc-internal-format
+ msgid "DW_LOC_OP %s not implemented"
+ msgstr "DW_LOC_OP %s ¤Ï¼ÂÁõ¤µ¤ì¤Æ¤¤¤Þ¤»¤ó\n"
+
+-#: emit-rtl.c:2326
++#: emit-rtl.c:2262
+ #, gcc-internal-format
+ msgid "invalid rtl sharing found in the insn"
+ msgstr ""
+
+-#: emit-rtl.c:2328
++#: emit-rtl.c:2264
+ #, gcc-internal-format
+ msgid "shared rtx"
+ msgstr ""
+
+-#: emit-rtl.c:2330
++#: emit-rtl.c:2266
+ #, gcc-internal-format
+ msgid "internal consistency failure"
+ msgstr ""
+
+-#: emit-rtl.c:3417
++#: emit-rtl.c:3365
+ #, gcc-internal-format
+ msgid "ICE: emit_insn used where emit_jump_insn needed:\n"
+ msgstr "ICE: emit_insn ¤¬ emit_jump_insn ¤òÍפ¹¤ë½ê¤Ç»È¤ï¤ì¤Þ¤·¤¿:\n"
+@@ -22712,16 +22684,16 @@
+ msgid "verify_eh_tree failed"
+ msgstr ""
+
+-#: explow.c:1281
++#: explow.c:1258
+ #, gcc-internal-format
+ msgid "stack limits not supported on this target"
+ msgstr "¥¹¥¿¥Ã¥¯À©¸Â¤Ï¤³¤Î¥¿¡¼¥²¥Ã¥È¤Ç¤Ï¼ÂÁõ¤µ¤ì¤Æ¤¤¤Þ¤»¤ó"
+
+-#: expr.c:8031
++#: expr.c:8030
+ msgid "%Kcall to %qs declared with attribute error: %s"
+ msgstr ""
+
+-#: expr.c:8037
++#: expr.c:8036
+ msgid "%Kcall to %qs declared with attribute warning: %s"
+ msgstr ""
+
+@@ -22735,7 +22707,7 @@
+ msgid "large fixed-point constant implicitly truncated to fixed-point type"
+ msgstr "Â礭¤ÊÀ°¿ô¤¬°ÅÌÛ¤ËÉä¹ç̵¤··¿¤ËÀÚ¤êµÍ¤á¤é¤ì¤Þ¤·¤¿"
+
+-#: fold-const.c:992 tree-ssa-loop-niter.c:1827 tree-vrp.c:5060
++#: fold-const.c:992 tree-ssa-loop-niter.c:1827 tree-vrp.c:5076
+ #, fuzzy, gcc-internal-format
+ msgid "%H%s"
+ msgstr "%s"
+@@ -22745,77 +22717,77 @@
+ msgid "assuming signed overflow does not occur when negating a division"
+ msgstr ""
+
+-#: fold-const.c:3989 fold-const.c:4000
++#: fold-const.c:4003 fold-const.c:4014
+ #, fuzzy, gcc-internal-format
+ msgid "comparison is always %d due to width of bit-field"
+ msgstr "¥Ó¥Ã¥È¥Õ¥£¡¼¥ë¥É¤ÎÉý¤Î¤»¤¤¤ÇÈæ³Ó¤¬¾ï¤Ë %d ¤È¤Ê¤ê¤Þ¤¹"
+
+-#: fold-const.c:5317
++#: fold-const.c:5331
+ #, gcc-internal-format
+ msgid "assuming signed overflow does not occur when simplifying range test"
+ msgstr ""
+
+-#: fold-const.c:5691 fold-const.c:5706
++#: fold-const.c:5705 fold-const.c:5720
+ #, gcc-internal-format
+ msgid "comparison is always %d"
+ msgstr "Èæ³Ó¤¬¾ï¤Ë %d ¤È¤Ê¤ê¤Þ¤¹"
+
+-#: fold-const.c:5835
++#: fold-const.c:5849
+ #, fuzzy, gcc-internal-format
+ msgid "%<or%> of unmatched not-equal tests is always 1"
+ msgstr "°ìÃפ·¤Ê¤¤ÃÍƱ»Î¤Ç¤ÎÈóÅù²Á¤Î `or' ¥Æ¥¹¥È¤Ï¾ï¤Ë 1 ¤Ç¤¹"
+
+-#: fold-const.c:5840
++#: fold-const.c:5854
+ #, fuzzy, gcc-internal-format
+ msgid "%<and%> of mutually exclusive equal-tests is always 0"
+ msgstr "Áê¸ßÇÓ¾Ū¤ÊÃͤÎÅù²Á¤Î `and' ¥Æ¥¹¥È¤Ï¾ï¤Ë 0 ¤Ç¤¹"
+
+-#: fold-const.c:8617
++#: fold-const.c:8641
+ #, gcc-internal-format
+ msgid "assuming signed overflow does not occur when reducing constant in comparison"
+ msgstr ""
+
+-#: fold-const.c:8871
++#: fold-const.c:8895
+ #, gcc-internal-format
+ msgid "assuming signed overflow does not occur when combining constants around a comparison"
+ msgstr ""
+
+-#: fold-const.c:13236
++#: fold-const.c:13433
+ #, gcc-internal-format
+ msgid "fold check: original tree changed by fold"
+ msgstr ""
+
+-#: function.c:377
++#: function.c:380
+ #, fuzzy, gcc-internal-format
+ msgid "%Jtotal size of local objects too large"
+ msgstr "ÊÑ¿ô `%s' ¤Î¥µ¥¤¥º¤¬Â礭¤¹¤®¤Þ¤¹"
+
+-#: function.c:837 varasm.c:2095
++#: function.c:840 varasm.c:2095
+ #, fuzzy, gcc-internal-format
+ msgid "size of variable %q+D is too large"
+ msgstr "ÊÑ¿ô `%s' ¤Î¥µ¥¤¥º¤¬Â礭¤¹¤®¤Þ¤¹"
+
+-#: function.c:1554 gimplify.c:4250
++#: function.c:1571 gimplify.c:4405
+ #, fuzzy, gcc-internal-format
+ msgid "impossible constraint in %<asm%>"
+ msgstr "`asm' Æâ¤Ç¤Ï¥ì¥¸¥¹¥¿À©Ìó¤ò¹Ô¤Ê¤¨¤Þ¤»¤ó"
+
+-#: function.c:3538
++#: function.c:3557
+ #, fuzzy, gcc-internal-format
+ msgid "variable %q+D might be clobbered by %<longjmp%> or %<vfork%>"
+ msgstr "ÊÑ¿ô `%s' ¤Ï `longjmp' ¤ä `vfork' ¤Ë¤è¤Ã¤Æ¹ó¤¤¤³¤È¤Ë¤Ê¤ë²ÄǽÀ­¤¬¤¢¤ê¤Þ¤¹"
+
+-#: function.c:3559
++#: function.c:3578
+ #, fuzzy, gcc-internal-format
+ msgid "argument %q+D might be clobbered by %<longjmp%> or %<vfork%>"
+ msgstr "°ú¿ô `%s' ¤Ï `longjmp' ¤ä `vfork' ¤Ë¤è¤Ã¤Æ¹ó¤¤¤³¤È¤Ë¤Ê¤ë²ÄǽÀ­¤¬¤¢¤ê¤Þ¤¹"
+
+-#: function.c:4004
++#: function.c:4027
+ #, gcc-internal-format
+ msgid "function returns an aggregate"
+ msgstr "´Ø¿ô¤¬½¸¹çÂΤòÊÖ¤·¤Æ¤¤¤Þ¤¹"
+
+-#: function.c:4401
++#: function.c:4424
+ #, fuzzy, gcc-internal-format
+ msgid "unused parameter %q+D"
+ msgstr "°ú¿ô `%s' ¤¬Ì¤»ÈÍѤǤ¹"
+@@ -22840,12 +22812,12 @@
+ msgid "extraneous argument to '%s' option"
+ msgstr "`%s' ¥ª¥×¥·¥ç¥ó¤ËÂФ·¤Æ̵´Ø·¸¤Ê°ú¿ô"
+
+-#: gcc.c:3987
++#: gcc.c:3981
+ #, fuzzy, gcc-internal-format
+ msgid "warning: -pipe ignored because -save-temps specified"
+ msgstr "·Ù¹ð: -save-temps ¤¬»ØÄꤵ¤ì¤¿¤Î¤Ç -pipe ¤Ï̵»ë¤µ¤ì¤Þ¤¹"
+
+-#: gcc.c:4276
++#: gcc.c:4270
+ #, fuzzy, gcc-internal-format
+ msgid "warning: '-x %s' after last input file has no effect"
+ msgstr "·Ù¹ð: ºÇ¸å¤ÎÆþÎÏ¥Õ¥¡¥¤¥ë¤Î¸å¤Î `-x %s' ¤Ï²¿¤â¤·¤Þ¤»¤ó"
+@@ -22853,62 +22825,62 @@
+ #. Catch the case where a spec string contains something like
+ #. '%{foo:%*}'. i.e. there is no * in the pattern on the left
+ #. hand side of the :.
+-#: gcc.c:5314
++#: gcc.c:5308
+ #, fuzzy, gcc-internal-format
+ msgid "spec failure: '%%*' has not been initialized by pattern match"
+ msgstr "spec ¥¨¥é¡¼: '%%*' ¤Ï¥Ñ¥¿¡¼¥ó¥Þ¥Ã¥Á¤Ç½é´ü²½¤µ¤ì¤Ê¤¤¤Þ¤Þ¤Ç¤¹"
+
+-#: gcc.c:5323
++#: gcc.c:5317
+ #, fuzzy, gcc-internal-format
+ msgid "warning: use of obsolete %%[ operator in specs"
+ msgstr "·Ù¹ð: µì¼°¤Î %%[ ±é»»»Ò¤¬ spec ¤ÎÃæ¤Ë¤¢¤ê¤Þ¤¹"
+
+-#: gcc.c:5404
++#: gcc.c:5398
+ #, fuzzy, gcc-internal-format
+ msgid "spec failure: unrecognized spec option '%c'"
+ msgstr "spec ¥¨¥é¡¼: ǧ¼±ÉÔǽ¤Ê spec ¥ª¥×¥·¥ç¥ó '%c'"
+
+-#: gcc.c:6305
++#: gcc.c:6304
+ #, gcc-internal-format
+ msgid "spec failure: more than one arg to SYSROOT_SUFFIX_SPEC"
+ msgstr ""
+
+-#: gcc.c:6328
++#: gcc.c:6327
+ #, gcc-internal-format
+ msgid "spec failure: more than one arg to SYSROOT_HEADERS_SUFFIX_SPEC"
+ msgstr ""
+
+-#: gcc.c:6415
++#: gcc.c:6414
+ #, fuzzy, gcc-internal-format
+ msgid "unrecognized option '-%s'"
+ msgstr "ǧ¼±ÉÔǽ¤Ê¥ª¥×¥·¥ç¥ó `-%s'"
+
+-#: gcc.c:6615 gcc.c:6678
++#: gcc.c:6614 gcc.c:6677
+ #, gcc-internal-format
+ msgid "%s: %s compiler not installed on this system"
+ msgstr "%s: %s ¥³¥ó¥Ñ¥¤¥é¤Ï¤³¤Î¥·¥¹¥Æ¥à¤Ë¥¤¥ó¥¹¥È¡¼¥ë¤µ¤ì¤Æ¤¤¤Þ¤»¤ó"
+
+-#: gcc.c:6778
++#: gcc.c:6777
+ #, gcc-internal-format
+ msgid "%s: linker input file unused because linking not done"
+ msgstr "%s: ¥ê¥ó¥¯¤¬´°Î»¤·¤Ê¤«¤Ã¤¿¤Î¤Ç¥ê¥ó¥«¤ÎÆþÎÏ¥Õ¥¡¥¤¥ë¤Ï»È¤ï¤ì¤Þ¤»¤ó¤Ç¤·¤¿"
+
+-#: gcc.c:6818
++#: gcc.c:6817
+ #, gcc-internal-format
+ msgid "language %s not recognized"
+ msgstr "¸À¸ì %s ¤Ïǧ¼±¤Ç¤­¤Þ¤»¤ó"
+
+-#: gcc.c:6889
++#: gcc.c:6888
+ #, gcc-internal-format
+ msgid "%s: %s"
+ msgstr "%s: %s"
+
+-#: gcse.c:6660
++#: gcse.c:6644
+ #, fuzzy, gcc-internal-format
+ msgid "%s: %d basic blocks and %d edges/basic block"
+ msgstr "GCSE ¤ò̵¸ú²½: %d > 1000 ´ðËÜ¥Ö¥í¥Ã¥¯¡¢µÚ¤Ó %d >= 20 edge/´ðËÜ¥Ö¥í¥Ã¥¯"
+
+-#: gcse.c:6673
++#: gcse.c:6657
+ #, fuzzy, gcc-internal-format
+ msgid "%s: %d basic blocks and %d registers"
+ msgstr "GCSE ¤ò̵¸ú²½: %d ´ðËÜ¥Ö¥í¥Ã¥¯¡¢µÚ¤Ó %d ¸Ä¤Î¥ì¥¸¥¹¥¿"
+@@ -22961,52 +22933,52 @@
+ msgid "can't write PCH fle: %m"
+ msgstr "%s ¤Ø½ñ¤­¹þ¤á¤Þ¤»¤ó"
+
+-#: gimplify.c:4139
++#: gimplify.c:4294
+ #, fuzzy, gcc-internal-format
+ msgid "invalid lvalue in asm output %d"
+ msgstr "asm ʸ¤ÎÃæ¤Ë̵¸ú¤Êº¸ÊÕÃÍ"
+
+-#: gimplify.c:4251
++#: gimplify.c:4406
+ #, gcc-internal-format
+ msgid "non-memory input %d must stay in memory"
+ msgstr ""
+
+-#: gimplify.c:4264
++#: gimplify.c:4419
+ #, fuzzy, gcc-internal-format
+ msgid "memory input %d is not directly addressable"
+ msgstr "½ÐÎÏÈÖ¹æ %d ¤ÏľÀÜ¥¢¥É¥ì¥¹»ØÄê¤Ç¤­¤Þ¤»¤ó"
+
+-#: gimplify.c:4743
++#: gimplify.c:4898
+ #, gcc-internal-format
+ msgid "%qs not specified in enclosing parallel"
+ msgstr ""
+
+-#: gimplify.c:4745
++#: gimplify.c:4900
+ #, gcc-internal-format
+ msgid "%Henclosing parallel"
+ msgstr ""
+
+-#: gimplify.c:4799
++#: gimplify.c:4954
+ #, fuzzy, gcc-internal-format
+ msgid "iteration variable %qs should be private"
+ msgstr "¥¤¥ó¥¹¥¿¥ó¥¹ÊÑ¿ô `%s' ¤Ï private ¤ÈÀë¸À¤µ¤ì¤Æ¤¤¤Þ¤¹"
+
+-#: gimplify.c:4813
++#: gimplify.c:4968
+ #, fuzzy, gcc-internal-format
+ msgid "iteration variable %qs should not be firstprivate"
+ msgstr "¥¤¥ó¥¹¥¿¥ó¥¹ÊÑ¿ô `%s' ¤Ï private ¤ÈÀë¸À¤µ¤ì¤Æ¤¤¤Þ¤¹"
+
+-#: gimplify.c:4816
++#: gimplify.c:4971
+ #, fuzzy, gcc-internal-format
+ msgid "iteration variable %qs should not be reduction"
+ msgstr "¥ì¥¸¥¹¥¿ÊÑ¿ô `%s' ¤¬Æþ¤ì»Ò´Ø¿ô¤ÎÃæ¤Ç»È¤ï¤ì¤Þ¤·¤¿"
+
+-#: gimplify.c:4940
++#: gimplify.c:5095
+ #, gcc-internal-format
+ msgid "%s variable %qs is private in outer context"
+ msgstr ""
+
+-#: gimplify.c:6108
++#: gimplify.c:6281
+ #, gcc-internal-format
+ msgid "gimplification failed"
+ msgstr ""
+@@ -23016,7 +22988,7 @@
+ msgid "%s cannot be used in asm here"
+ msgstr "\"%s\" ¤Ï¥Þ¥¯¥í̾¤È¤·¤Æ¤Ï»È¤¨¤Þ¤»¤ó"
+
+-#: graph.c:401 java/jcf-parse.c:1757 java/jcf-parse.c:1897 objc/objc-act.c:500
++#: graph.c:401 java/jcf-parse.c:1759 java/jcf-parse.c:1899 objc/objc-act.c:500
+ #, fuzzy, gcc-internal-format
+ msgid "can't open %s: %m"
+ msgstr "%s ¤ò³«¤±¤Þ¤»¤ó"
+@@ -23026,158 +22998,163 @@
+ msgid "fix_sched_param: unknown param: %s"
+ msgstr "fix_sched_param: ÉÔÌÀ¤Ê¥Ñ¥é¥á¥¿: %s"
+
+-#: omp-low.c:1288
++#: omp-low.c:1289
+ #, gcc-internal-format
+ msgid "work-sharing region may not be closely nested inside of work-sharing, critical, ordered or master region"
+ msgstr ""
+
+-#: omp-low.c:1304
++#: omp-low.c:1305
+ #, gcc-internal-format
+ msgid "master region may not be closely nested inside of work-sharing region"
+ msgstr ""
+
+-#: omp-low.c:1318
++#: omp-low.c:1319
+ #, gcc-internal-format
+ msgid "ordered region may not be closely nested inside of critical region"
+ msgstr ""
+
+-#: omp-low.c:1324
++#: omp-low.c:1325
+ #, gcc-internal-format
+ msgid "ordered region must be closely nested inside a loop region with an ordered clause"
+ msgstr ""
+
+-#: omp-low.c:1338
++#: omp-low.c:1339
+ #, gcc-internal-format
+ msgid "critical region may not be nested inside a critical region with the same name"
+ msgstr ""
+
+-#: omp-low.c:5050 cp/decl.c:2660 cp/parser.c:7417 cp/parser.c:7437
++#: omp-low.c:5116 cp/decl.c:2667 cp/parser.c:7423 cp/parser.c:7443
+ #, gcc-internal-format
+ msgid "invalid exit from OpenMP structured block"
+ msgstr ""
+
+-#: omp-low.c:5052
++#: omp-low.c:5118
+ #, gcc-internal-format
+ msgid "invalid entry to OpenMP structured block"
+ msgstr ""
+
+-#: opts.c:173
++#: opts.c:165
+ #, gcc-internal-format
+ msgid "argument %qs to %<-femit-struct-debug-detailed%> not recognized"
+ msgstr ""
+
+-#: opts.c:207
++#: opts.c:199
+ #, gcc-internal-format
+ msgid "argument %qs to %<-femit-struct-debug-detailed%> unknown"
+ msgstr ""
+
+-#: opts.c:213
++#: opts.c:205
+ #, gcc-internal-format
+ msgid "%<-femit-struct-debug-detailed=dir:...%> must allow at least as much as %<-femit-struct-debug-detailed=ind:...%>"
+ msgstr ""
+
+ #. Eventually this should become a hard error IMO.
+-#: opts.c:438
++#: opts.c:430
+ #, gcc-internal-format
+ msgid "command line option \"%s\" is valid for %s but not for %s"
+ msgstr ""
+
+-#: opts.c:492
++#: opts.c:484
+ #, fuzzy, gcc-internal-format
+ msgid "command line option %qs is not supported by this configuration"
+ msgstr "%s ¤Ï¤³¤Î¥³¥ó¥Õ¥£¥®¥å¥ì¡¼¥·¥ç¥ó¤Ç¤Ï¥µ¥Ý¡¼¥È¤µ¤ì¤Þ¤»¤ó"
+
+-#: opts.c:545
++#: opts.c:537
+ #, fuzzy, gcc-internal-format
+ msgid "missing argument to \"%s\""
+ msgstr "`%s' ¥ª¥×¥·¥ç¥ó¤ËÂФ¹¤ë°ú¿ô¤¬¤¢¤ê¤Þ¤»¤ó"
+
+-#: opts.c:555
++#: opts.c:547
+ #, fuzzy, gcc-internal-format
+ msgid "argument to \"%s\" should be a non-negative integer"
+ msgstr "`%s' ¤ÎÂè°ì°ú¿ô¤Ï `int' ¤È¤¹¤Ù¤­¤Ç¤¹"
+
+-#: opts.c:728
++#: opts.c:720
+ #, fuzzy, gcc-internal-format
+ msgid "unrecognized command line option \"%s\""
+ msgstr "¥³¥Þ¥ó¥É¥é¥¤¥ó¥ª¥×¥·¥ç¥ó '%s' ¤ò̵»ë¤·¤Þ¤¹"
+
+-#: opts.c:947
++#: opts.c:939
+ #, gcc-internal-format
+ msgid "-Wuninitialized is not supported without -O"
+ msgstr "-Wuninitialized ¤Ï -O ̵¤·¤Ë¤Ï¼õ¤±Æþ¤ì¤é¤ì¤Þ¤»¤ó"
+
+-#: opts.c:962
++#: opts.c:951
+ #, gcc-internal-format
++msgid "-funit-at-a-time is required for inlining of functions that are only called once"
++msgstr ""
++
++#: opts.c:964
++#, gcc-internal-format
+ msgid "-freorder-blocks-and-partition does not work with exceptions"
+ msgstr ""
+
+-#: opts.c:973
++#: opts.c:975
+ #, gcc-internal-format
+ msgid "-freorder-blocks-and-partition does not support unwind info"
+ msgstr ""
+
+-#: opts.c:987
++#: opts.c:989
+ #, gcc-internal-format
+ msgid "-freorder-blocks-and-partition does not work on this architecture"
+ msgstr ""
+
+-#: opts.c:1263
++#: opts.c:1265
+ #, gcc-internal-format
+ msgid "unrecognized include_flags 0x%x passed to print_specific_help"
+ msgstr ""
+
+-#: opts.c:1593
++#: opts.c:1595
+ #, fuzzy, gcc-internal-format
+ msgid "structure alignment must be a small power of two, not %d"
+ msgstr "Í׵ᤵ¤ì¤¿¥¢¥é¥¤¥ó¥á¥ó¥È¤¬ 2 ¤Î¤Ù¤­¾è¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó"
+
+-#: opts.c:1656
++#: opts.c:1658
+ #, fuzzy, gcc-internal-format
+ msgid "unrecognized visibility value \"%s\""
+ msgstr "ǧ¼±¤Ç¤­¤Ê¤¤¥»¥¯¥·¥ç¥ó̾ \"%s\""
+
+-#: opts.c:1704
++#: opts.c:1706
+ #, fuzzy, gcc-internal-format
+ msgid "unrecognized register name \"%s\""
+ msgstr "ǧ¼±¤Ç¤­¤Ê¤¤¥ì¥¸¥¹¥¿Ì¾ `%s'"
+
+-#: opts.c:1728
++#: opts.c:1730
+ #, fuzzy, gcc-internal-format
+ msgid "unknown tls-model \"%s\""
+ msgstr "ÉÔÌÀ¤Ê¥Þ¥·¥ó¥â¡¼¥É `%s'"
+
+-#: opts.c:1803
++#: opts.c:1807
+ #, gcc-internal-format
+ msgid "%s: --param arguments should be of the form NAME=VALUE"
+ msgstr ""
+
+-#: opts.c:1808
++#: opts.c:1812
+ #, fuzzy, gcc-internal-format
+ msgid "invalid --param value %qs"
+ msgstr "̵¸ú¤Ê¥Ñ¥é¥á¥¿ÃÍ `%s'"
+
+-#: opts.c:1931
++#: opts.c:1934
+ #, fuzzy, gcc-internal-format
+ msgid "target system does not support debug output"
+ msgstr "¥¿¡¼¥²¥Ã¥È CPU ¤Ï interworking ¤ò¥µ¥Ý¡¼¥È¤·¤Þ¤»¤ó"
+
+-#: opts.c:1938
++#: opts.c:1941
+ #, fuzzy, gcc-internal-format
+ msgid "debug format \"%s\" conflicts with prior selection"
+ msgstr "¥Ç¡¼¥¿Îΰè '%s' ¤ÏÁ°¤ÎÀë¸À¤ÈÌ·½â¤·¤Þ¤¹"
+
+-#: opts.c:1954
++#: opts.c:1957
+ #, fuzzy, gcc-internal-format
+ msgid "unrecognised debug output level \"%s\""
+ msgstr "ǧ¼±¤Ç¤­¤Ê¤¤¥»¥¯¥·¥ç¥ó̾ \"%s\""
+
+-#: opts.c:1956
++#: opts.c:1959
+ #, gcc-internal-format
+ msgid "debug output level %s is too high"
+ msgstr ""
+
+-#: opts.c:2038
++#: opts.c:2041
+ #, gcc-internal-format
+ msgid "-Werror=%s: No option -%s"
+ msgstr ""
+@@ -23253,9 +23230,9 @@
+ msgid "can't use '%s' as a %s register"
+ msgstr "'%s' ¤ò %s ¤Î¥ì¥¸¥¹¥¿¤È¤·¤Æ»È¤¦¤³¤È¤¬¤Ç¤­¤Þ¤»¤ó"
+
+-#: regclass.c:890 config/ia64/ia64.c:5138 config/ia64/ia64.c:5145
+-#: config/pa/pa.c:359 config/pa/pa.c:366 config/spu/spu.c:3886
+-#: config/spu/spu.c:3893
++#: regclass.c:890 config/ia64/ia64.c:5139 config/ia64/ia64.c:5146
++#: config/pa/pa.c:362 config/pa/pa.c:369 config/spu/spu.c:3875
++#: config/spu/spu.c:3882
+ #, gcc-internal-format
+ msgid "unknown register name: %s"
+ msgstr "ÉÔÌÀ¤Ê¥ì¥¸¥¹¥¿Ì¾¤Ç¤¹: %s"
+@@ -23295,22 +23272,22 @@
+ msgid "validate_value_data: [%u] Non-empty reg in chain (%s %u %i)"
+ msgstr ""
+
+-#: reload.c:1252
++#: reload.c:1256
+ #, fuzzy, gcc-internal-format
+ msgid "cannot reload integer constant operand in %<asm%>"
+ msgstr "À°¿ôÄê¿ô¥ª¥Ú¥é¥ó¥É¤ò `asm' Æâ¤ÇºÆ¥í¡¼¥É¤Ç¤­¤Þ¤»¤ó"
+
+-#: reload.c:1266
++#: reload.c:1270
+ #, fuzzy, gcc-internal-format
+ msgid "impossible register constraint in %<asm%>"
+ msgstr "`asm' Æâ¤Ç¤Ï¥ì¥¸¥¹¥¿À©Ìó¤ò¹Ô¤Ê¤¨¤Þ¤»¤ó"
+
+-#: reload.c:3564
++#: reload.c:3574
+ #, fuzzy, gcc-internal-format
+ msgid "%<&%> constraint used with no register class"
+ msgstr "`&' À©Ì󤬥쥸¥¹¥¿¥¯¥é¥¹Ìµ¤·¤Ç»È¤ï¤ì¤Þ¤·¤¿"
+
+-#: reload.c:3735 reload.c:3975
++#: reload.c:3745 reload.c:3991
+ #, fuzzy, gcc-internal-format
+ msgid "inconsistent operand constraints in an %<asm%>"
+ msgstr "`asm' Æâ¤Ç¤Î¥ª¥Ú¥é¥ó¥ÉÀ©Ìó¤¬Ì·½â¤·¤Æ¤¤¤Þ¤¹"
+@@ -23535,49 +23512,49 @@
+ msgid "size of %q+D is larger than %wd bytes"
+ msgstr "`%s' ¤Î¥µ¥¤¥º¤¬ %d ¥Ð¥¤¥È¤è¤êÂ礭¤¯¤Ê¤Ã¤Æ¤¤¤Þ¤¹"
+
+-#: stor-layout.c:899
++#: stor-layout.c:888
+ #, fuzzy, gcc-internal-format
+ msgid "packed attribute causes inefficient alignment for %q+D"
+ msgstr "packed °À­¤Ï `%s' ¤ËÂФ·¤ÆÉÔ¸úΨ¤Ê¥¢¥é¥¤¥ó¥á¥ó¥È¤ò°ú¤­µ¯¤³¤·¤Þ¤¹"
+
+-#: stor-layout.c:902
++#: stor-layout.c:891
+ #, fuzzy, gcc-internal-format
+ msgid "packed attribute is unnecessary for %q+D"
+ msgstr "packed °À­¤Ï `%s' ¤Ë¤ÏɬÍפ¢¤ê¤Þ¤»¤ó"
+
+ #. No, we need to skip space before this field.
+ #. Bump the cumulative size to multiple of field alignment.
+-#: stor-layout.c:919
++#: stor-layout.c:908
+ #, fuzzy, gcc-internal-format
+ msgid "padding struct to align %q+D"
+ msgstr "`%s' ¤ò¥¢¥é¥¤¥ó¤¹¤ë¤¿¤á¤Ë¹½Â¤ÂΤò¥Ñ¥Ç¥£¥ó¥°¤·¤Þ¤¹"
+
+-#: stor-layout.c:1270
++#: stor-layout.c:1259
+ #, gcc-internal-format
+ msgid "padding struct size to alignment boundary"
+ msgstr "¥¢¥é¥¤¥ó¥á¥ó¥È¶­³¦¤Î¥µ¥¤¥º¤Ë¹½Â¤ÂΤò¥Ñ¥Ç¥£¥ó¥°¤·¤Þ¤¹"
+
+-#: stor-layout.c:1300
++#: stor-layout.c:1289
+ #, fuzzy, gcc-internal-format
+ msgid "packed attribute causes inefficient alignment for %qs"
+ msgstr "packed °À­¤Ï `%s' ¤ËÂФ·¤ÆÉÔ¸úΨ¤Ê¥¢¥é¥¤¥ó¥á¥ó¥È¤ò°ú¤­µ¯¤³¤·¤Þ¤¹"
+
+-#: stor-layout.c:1304
++#: stor-layout.c:1293
+ #, fuzzy, gcc-internal-format
+ msgid "packed attribute is unnecessary for %qs"
+ msgstr "packed °À­¤Ï `%s' ¤Ë¤ÏɬÍפ¢¤ê¤Þ¤»¤ó"
+
+-#: stor-layout.c:1310
++#: stor-layout.c:1299
+ #, gcc-internal-format
+ msgid "packed attribute causes inefficient alignment"
+ msgstr "packed °À­¤ÏÉÔ¸úΨ¤Ê¥¢¥é¥¤¥ó¥á¥ó¥È¤ò°ú¤­µ¯¤³¤·¤Þ¤¹"
+
+-#: stor-layout.c:1312
++#: stor-layout.c:1301
+ #, gcc-internal-format
+ msgid "packed attribute is unnecessary"
+ msgstr "packed °À­¤ÏɬÍפ¢¤ê¤Þ¤»¤ó"
+
+-#: stor-layout.c:1842
++#: stor-layout.c:1831
+ #, fuzzy, gcc-internal-format
+ msgid "alignment of array elements is greater than element size"
+ msgstr "`%s' ¤Î¥¢¥é¥¤¥ó¥á¥ó¥È¤Ï¥ª¥Ö¥¸¥§¥¯¥È¥Õ¥¡¥¤¥ë¤ÎºÇÂçÃͤè¤ê¤âÂ礭¤¤¤Ç¤¹¡£ %d ¤ò»È¤¤¤Þ¤¹¡£"
+@@ -23662,643 +23639,653 @@
+ msgid "unrecognized gcc debugging option: %c"
+ msgstr "ǧ¼±¤Ç¤­¤Ê¤¤ gcc ¥Ç¥Ð¥Ã¥°¥ª¥×¥·¥ç¥ó: %c"
+
+-#: toplev.c:1411
++#: toplev.c:1413
+ #, fuzzy, gcc-internal-format
+ msgid "can%'t open %s for writing: %m"
+ msgstr "%s ¤ò½ñ¤­¹þ¤ßÍѤ˳«¤±¤Þ¤»¤ó¤Ç¤·¤¿"
+
+-#: toplev.c:1432
++#: toplev.c:1434
+ #, fuzzy, gcc-internal-format
+ msgid "-frecord-gcc-switches is not supported by the current target"
+ msgstr "-fdata-sections ¤Ï¤³¤Î¥¿¡¼¥²¥Ã¥È¤Ç¼õ¤±Æþ¤ì¤é¤ì¤Þ¤»¤ó"
+
+-#: toplev.c:1745
++#: toplev.c:1747
+ #, fuzzy, gcc-internal-format
+ msgid "this target does not support %qs"
+ msgstr "%s ¤Ï %s ¤ò¼õ¤±ÉÕ¤±¤Þ¤»¤ó"
+
+-#: toplev.c:1794
++#: toplev.c:1796
+ #, gcc-internal-format
+ msgid "instruction scheduling not supported on this target machine"
+ msgstr "Ì¿Î᥹¥±¥¸¥å¡¼¥ê¥ó¥°¤Ï¤³¤Î¥¿¡¼¥²¥Ã¥È¥Þ¥·¥ó¤Ç¤Ï¥µ¥Ý¡¼¥È¤µ¤ì¤Þ¤»¤ó"
+
+-#: toplev.c:1798
++#: toplev.c:1800
+ #, gcc-internal-format
+ msgid "this target machine does not have delayed branches"
+ msgstr "¤³¤Î¥¿¡¼¥²¥Ã¥È¥Þ¥·¥ó¤ÏÃÙ±äʬ´ô¤ò»ý¤Ã¤Æ¤¤¤Þ¤»¤ó"
+
+-#: toplev.c:1812
++#: toplev.c:1814
+ #, gcc-internal-format
+ msgid "-f%sleading-underscore not supported on this target machine"
+ msgstr "-f%sleading-underscore ¤Ï¤³¤Î¥¿¡¼¥²¥Ã¥È¥Þ¥·¥ó¤Ç¤Ï¥µ¥Ý¡¼¥È¤µ¤ì¤Þ¤»¤ó"
+
+-#: toplev.c:1885
++#: toplev.c:1887
+ #, fuzzy, gcc-internal-format
+ msgid "target system does not support the \"%s\" debug format"
+ msgstr "%s ¤Ï `%%%s%c' %s ¥Õ¥©¡¼¥Þ¥Ã¥È¤ò¼õ¤±ÉÕ¤±¤Þ¤»¤ó"
+
+-#: toplev.c:1898
++#: toplev.c:1900
+ #, gcc-internal-format
+ msgid "variable tracking requested, but useless unless producing debug info"
+ msgstr ""
+
+-#: toplev.c:1901
++#: toplev.c:1903
+ #, gcc-internal-format
+ msgid "variable tracking requested, but not supported by this debug format"
+ msgstr ""
+
+-#: toplev.c:1935
++#: toplev.c:1937
+ #, fuzzy, gcc-internal-format
+ msgid "can%'t open %s: %m"
+ msgstr "%s ¤ò³«¤±¤Þ¤»¤ó"
+
+-#: toplev.c:1942
++#: toplev.c:1944
+ #, fuzzy, gcc-internal-format
+ msgid "-ffunction-sections not supported for this target"
+ msgstr "-ffunction-sections ¤Ï¤³¤Î¥¿¡¼¥²¥Ã¥È¤Ç¼õ¤±Æþ¤ì¤é¤ì¤Þ¤»¤ó"
+
+-#: toplev.c:1947
++#: toplev.c:1949
+ #, fuzzy, gcc-internal-format
+ msgid "-fdata-sections not supported for this target"
+ msgstr "-fdata-sections ¤Ï¤³¤Î¥¿¡¼¥²¥Ã¥È¤Ç¼õ¤±Æþ¤ì¤é¤ì¤Þ¤»¤ó"
+
+-#: toplev.c:1954
++#: toplev.c:1956
+ #, fuzzy, gcc-internal-format
+ msgid "-ffunction-sections disabled; it makes profiling impossible"
+ msgstr "-ffunction-sections ¤¬Ìµ¸ú¤Ç¤¹ -- ¥×¥í¥Õ¥¡¥¤¥ë¤ÏÉÔ²Äǽ¤Ç¤¹"
+
+-#: toplev.c:1961
++#: toplev.c:1963
+ #, fuzzy, gcc-internal-format
+ msgid "-fprefetch-loop-arrays not supported for this target"
+ msgstr "-fdata-sections ¤Ï¤³¤Î¥¿¡¼¥²¥Ã¥È¤Ç¼õ¤±Æþ¤ì¤é¤ì¤Þ¤»¤ó"
+
+-#: toplev.c:1967
++#: toplev.c:1969
+ #, fuzzy, gcc-internal-format
+ msgid "-fprefetch-loop-arrays not supported for this target (try -march switches)"
+ msgstr "-f%sleading-underscore ¤Ï¤³¤Î¥¿¡¼¥²¥Ã¥È¥Þ¥·¥ó¤Ç¤Ï¥µ¥Ý¡¼¥È¤µ¤ì¤Þ¤»¤ó"
+
+-#: toplev.c:1976
++#: toplev.c:1978
+ #, fuzzy, gcc-internal-format
+ msgid "-fprefetch-loop-arrays is not supported with -Os"
+ msgstr "-mg ¤Ç¤Î¥×¥í¥Õ¥¡¥¤¥ë¤ÏÄ󶡤µ¤ì¤Þ¤»¤ó\n"
+
+-#: toplev.c:1983
++#: toplev.c:1985
+ #, fuzzy, gcc-internal-format
+ msgid "-ffunction-sections may affect debugging on some targets"
+ msgstr "-ffunction-sections ¤Ï¥¿¡¼¥²¥Ã¥È¤Ë¤è¤Ã¤Æ¤Ï¥Ç¥Ð¥Ã¥°¤Ë±Æ¶Á¤¹¤ë¤«¤â¤·¤ì¤Þ¤»¤ó"
+
+-#: toplev.c:1999
++#: toplev.c:1996
++#, gcc-internal-format
++msgid "-fassociative-math disabled; other options take precedence"
++msgstr ""
++
++#: toplev.c:2008
+ #, fuzzy, gcc-internal-format
+ msgid "-fstack-protector not supported for this target"
+ msgstr "-fdata-sections ¤Ï¤³¤Î¥¿¡¼¥²¥Ã¥È¤Ç¼õ¤±Æþ¤ì¤é¤ì¤Þ¤»¤ó"
+
+-#: toplev.c:2012
++#: toplev.c:2021
+ #, gcc-internal-format
+-msgid "unwind tables currently requires a frame pointer for correctness"
++msgid "unwind tables currently require a frame pointer for correctness"
+ msgstr ""
+
+-#: toplev.c:2198
++#: toplev.c:2207
+ #, fuzzy, gcc-internal-format
+ msgid "error writing to %s: %m"
+ msgstr "%s ¤Ø¤Î½ñ¤­¹þ¤ß¥¨¥é¡¼¤Ç¤¹"
+
+-#: toplev.c:2200 java/jcf-parse.c:1776
++#: toplev.c:2209 java/jcf-parse.c:1778
+ #, fuzzy, gcc-internal-format
+ msgid "error closing %s: %m"
+ msgstr "¥¨¥é¡¼¤Ë¤è¤ê %s ¤òÊĤ¸¤Þ¤¹"
+
+-#: tree-cfg.c:1432 tree-cfg.c:2068 tree-cfg.c:2071
++#: tree-cfg.c:1451 tree-cfg.c:2087 tree-cfg.c:2090
+ #, fuzzy, gcc-internal-format
+ msgid "%Hwill never be executed"
+ msgstr "¸Æ¤Ó½Ð¤· %d ¤Ï°ìÅÙ¤â¼Â¹Ô¤»¤º\n"
+
+-#: tree-cfg.c:3134
++#: tree-cfg.c:3153
+ #, gcc-internal-format
+ msgid "SSA name in freelist but still referenced"
+ msgstr ""
+
+-#: tree-cfg.c:3143
++#: tree-cfg.c:3162
+ #, gcc-internal-format
+ msgid "ASSERT_EXPR with an always-false condition"
+ msgstr ""
+
+-#: tree-cfg.c:3156
++#: tree-cfg.c:3175
+ #, gcc-internal-format
+ msgid "GIMPLE register modified with BIT_FIELD_REF"
+ msgstr ""
+
+-#: tree-cfg.c:3191
++#: tree-cfg.c:3210
+ #, gcc-internal-format
+ msgid "invariant not recomputed when ADDR_EXPR changed"
+ msgstr ""
+
+-#: tree-cfg.c:3197
++#: tree-cfg.c:3216
+ #, gcc-internal-format
+ msgid "constant not recomputed when ADDR_EXPR changed"
+ msgstr ""
+
+-#: tree-cfg.c:3202
++#: tree-cfg.c:3221
+ #, gcc-internal-format
+ msgid "side effects not recomputed when ADDR_EXPR changed"
+ msgstr ""
+
+-#: tree-cfg.c:3218
++#: tree-cfg.c:3237
+ #, gcc-internal-format
+ msgid "address taken, but ADDRESSABLE bit not set"
+ msgstr ""
+
+-#: tree-cfg.c:3228
++#: tree-cfg.c:3252
+ #, fuzzy, gcc-internal-format
+ msgid "non-integral used in condition"
+ msgstr "½ªÃ¼¤Î¤Ê¤¤ #%s ¾ò·ï"
+
+-#: tree-cfg.c:3233
++#: tree-cfg.c:3257
+ #, fuzzy, gcc-internal-format
+ msgid "invalid conditional operand"
+ msgstr "¥ª¥Ú¥é¥ó¥É¤È¤·¤Æ̵¸ú¤Ê¼°"
+
+-#: tree-cfg.c:3285
++#: tree-cfg.c:3309
+ #, fuzzy, gcc-internal-format
+ msgid "invalid reference prefix"
+ msgstr "̵¸ú¤Ê»²¾È·¿¤Ç¤¹"
+
+-#: tree-cfg.c:3296
++#: tree-cfg.c:3320
+ #, fuzzy, gcc-internal-format
+ msgid "invalid operand to plus/minus, type is a pointer"
+ msgstr "Æó¹à±é»»»Ò %s ¤¬ÉÔŬÀڤǤ¹"
+
+-#: tree-cfg.c:3307
++#: tree-cfg.c:3331
+ #, fuzzy, gcc-internal-format
+ msgid "invalid operand to pointer plus, first operand is not a pointer"
+ msgstr "`->' ¤Î¥Ù¡¼¥¹¥ª¥Ú¥é¥ó¥É¤¬¥Ý¥¤¥ó¥¿¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó"
+
+-#: tree-cfg.c:3315
++#: tree-cfg.c:3339
+ #, gcc-internal-format
+ msgid "invalid operand to pointer plus, second operand is not an integer with type of sizetype."
+ msgstr ""
+
+-#: tree-cfg.c:3382 tree-cfg.c:3798
++#: tree-cfg.c:3406 tree-cfg.c:3822
+ #, fuzzy, gcc-internal-format
+ msgid "invalid operand in unary expression"
+ msgstr "̵¸ú¤Ê¥È¡¼¥¯¥ó¤¬¼°¤Ë¤¢¤ê¤Þ¤¹"
+
+-#: tree-cfg.c:3392
++#: tree-cfg.c:3416
+ #, fuzzy, gcc-internal-format
+ msgid "type mismatch in unary expression"
+ msgstr "¾ò·ï¼°¤Ç¤Î·¿¤ÎÁȹç¤ï¤»¤¬Å¬¹ç¤·¤Þ¤»¤ó"
+
+-#: tree-cfg.c:3413
++#: tree-cfg.c:3437
+ #, fuzzy, gcc-internal-format
+ msgid "invalid operands in binary expression"
+ msgstr "Æó¹à±é»»»Ò %s ¤¬ÉÔŬÀڤǤ¹"
+
+-#: tree-cfg.c:3424
++#: tree-cfg.c:3448
+ #, fuzzy, gcc-internal-format
+ msgid "type mismatch in binary expression"
+ msgstr "¾ò·ï¼°¤Ç¤Î·¿¤ÎÁȹç¤ï¤»¤¬Å¬¹ç¤·¤Þ¤»¤ó"
+
+-#: tree-cfg.c:3449
++#: tree-cfg.c:3473
+ #, fuzzy, gcc-internal-format
+ msgid "invalid expression for min lvalue"
+ msgstr "¥ª¥Ú¥é¥ó¥É¤È¤·¤Æ̵¸ú¤Ê¼°"
+
+-#: tree-cfg.c:3456
++#: tree-cfg.c:3480
+ #, fuzzy, gcc-internal-format
+ msgid "invalid operand in indirect reference"
+ msgstr "Æó¹à±é»»»Ò %s ¤¬ÉÔŬÀڤǤ¹"
+
+-#: tree-cfg.c:3463
++#: tree-cfg.c:3487
+ #, fuzzy, gcc-internal-format
+ msgid "type mismatch in indirect reference"
+ msgstr "¾ò·ï¼°¤Ç¤Î·¿¤ÎÁȹç¤ï¤»¤¬Å¬¹ç¤·¤Þ¤»¤ó"
+
+-#: tree-cfg.c:3491
++#: tree-cfg.c:3515
+ #, fuzzy, gcc-internal-format
+ msgid "invalid operands to array reference"
+ msgstr "Æó¹à±é»»»Ò %s ¤¬ÉÔŬÀڤǤ¹"
+
+-#: tree-cfg.c:3502
++#: tree-cfg.c:3526
+ #, fuzzy, gcc-internal-format
+ msgid "type mismatch in array reference"
+ msgstr "ÇÛÎ󻲾ȤǤÎź»ú¤ò·ç¤¤¤Æ¤¤¤Þ¤¹"
+
+-#: tree-cfg.c:3511
++#: tree-cfg.c:3535
+ #, fuzzy, gcc-internal-format
+ msgid "type mismatch in array range reference"
+ msgstr "ÇÛÎ󻲾ȤǤÎź»ú¤ò·ç¤¤¤Æ¤¤¤Þ¤¹"
+
+-#: tree-cfg.c:3522
++#: tree-cfg.c:3546
+ #, fuzzy, gcc-internal-format
+ msgid "type mismatch in real/imagpart reference"
+ msgstr "·¿¤¬Á°Êý¤Î³°ÉôÀë¸À¤È°ìÃפ·¤Þ¤»¤ó"
+
+-#: tree-cfg.c:3532
++#: tree-cfg.c:3556
+ #, fuzzy, gcc-internal-format
+ msgid "type mismatch in component reference"
+ msgstr "¾ò·ï¼°¤Ç¤Î·¿¤ÎÁȹç¤ï¤»¤¬Å¬¹ç¤·¤Þ¤»¤ó"
+
+-#: tree-cfg.c:3586
++#: tree-cfg.c:3610
+ #, fuzzy, gcc-internal-format
+ msgid "invalid operand in conversion"
+ msgstr "%R ¥³¡¼¥É¤ËÂФ¹¤ë̵¸ú¤Ê¥ª¥Ú¥é¥ó¥É"
+
+-#: tree-cfg.c:3614
++#: tree-cfg.c:3638
+ #, fuzzy, gcc-internal-format
+ msgid "invalid types in nop conversion"
+ msgstr "̵¸ú¤Ê·¿É½¸½¤Ç¤¹"
+
+-#: tree-cfg.c:3628
++#: tree-cfg.c:3652
+ #, fuzzy, gcc-internal-format
+ msgid "invalid operand in int to float conversion"
+ msgstr "%R ¥³¡¼¥É¤ËÂФ¹¤ë̵¸ú¤Ê¥ª¥Ú¥é¥ó¥É"
+
+-#: tree-cfg.c:3634
++#: tree-cfg.c:3658
+ #, fuzzy, gcc-internal-format
+ msgid "invalid types in conversion to floating point"
+ msgstr "ÉâÆ°¾®¿ôÅÀ¥¨¥ß¥å¥ì¡¼¥¿¤Î¥Ð¡¼¥¸¥ç¥ó¤ò»ØÄꤹ¤ë"
+
+-#: tree-cfg.c:3647
++#: tree-cfg.c:3671
+ #, fuzzy, gcc-internal-format
+ msgid "invalid operand in float to int conversion"
+ msgstr "%R ¥³¡¼¥É¤ËÂФ¹¤ë̵¸ú¤Ê¥ª¥Ú¥é¥ó¥É"
+
+-#: tree-cfg.c:3653
++#: tree-cfg.c:3677
+ #, fuzzy, gcc-internal-format
+ msgid "invalid types in conversion to integer"
+ msgstr "new ¤ËÂФ·¤Æ̵¸ú¤Ê·¿¤Ç¤¢¤ë `void'"
+
+-#: tree-cfg.c:3667
++#: tree-cfg.c:3691
+ #, fuzzy, gcc-internal-format
+ msgid "invalid operands in complex expression"
+ msgstr "̵¸ú¤Ê¥È¡¼¥¯¥ó¤¬¼°¤Ë¤¢¤ê¤Þ¤¹"
+
+-#: tree-cfg.c:3680
++#: tree-cfg.c:3704
+ #, fuzzy, gcc-internal-format
+ msgid "type mismatch in complex expression"
+ msgstr "¾ò·ï¼°¤Ç¤Î·¿¤ÎÁȹç¤ï¤»¤¬Å¬¹ç¤·¤Þ¤»¤ó"
+
+-#: tree-cfg.c:3694
++#: tree-cfg.c:3718
+ #, fuzzy, gcc-internal-format
+ msgid "constructor not allowed for non-vector types"
+ msgstr "¥»¥¯¥·¥ç¥ó°À­¤Ï `%s' ¤Ë¤Ï»È¤¨¤Þ¤»¤ó"
+
+-#: tree-cfg.c:3711
++#: tree-cfg.c:3735
+ #, fuzzy, gcc-internal-format
+ msgid "invalid operands in shift expression"
+ msgstr "#if ¼°¤ÎÃæ¤Ë̵¸ú¤Ê¿ôÃÍ"
+
+-#: tree-cfg.c:3717
++#: tree-cfg.c:3741
+ #, fuzzy, gcc-internal-format
+ msgid "type mismatch in shift expression"
+ msgstr "¾ò·ï¼°¤Ç¤Î·¿¤ÎÁȹç¤ï¤»¤¬Å¬¹ç¤·¤Þ¤»¤ó"
+
+-#: tree-cfg.c:3735
++#: tree-cfg.c:3759
+ #, fuzzy, gcc-internal-format
+ msgid "invalid (pointer) operands to plus/minus"
+ msgstr "Æó¹à±é»»»Ò %s ¤¬ÉÔŬÀڤǤ¹"
+
+-#: tree-cfg.c:3748
++#: tree-cfg.c:3772
+ #, fuzzy, gcc-internal-format
+ msgid "invalid operands in pointer plus expression"
+ msgstr "̵¸ú¤Ê¥È¡¼¥¯¥ó¤¬¼°¤Ë¤¢¤ê¤Þ¤¹"
+
+-#: tree-cfg.c:3755
++#: tree-cfg.c:3779
+ #, fuzzy, gcc-internal-format
+ msgid "type mismatch in pointer plus expression"
+ msgstr "¾ò·ï¼°¤Ç¤Î·¿¤ÎÁȹç¤ï¤»¤¬Å¬¹ç¤·¤Þ¤»¤ó"
+
+-#: tree-cfg.c:3774
++#: tree-cfg.c:3798
+ #, fuzzy, gcc-internal-format
+ msgid "invalid operands in conditional expression"
+ msgstr "¾ò·ï¼°¤ËÉä¹çÉÕ¤­·¿¤ÈÉä¹ç̵¤··¿¤È¤¬¤¢¤ê¤Þ¤¹"
+
+-#: tree-cfg.c:3807
++#: tree-cfg.c:3831
+ #, fuzzy, gcc-internal-format
+ msgid "type mismatch in address expression"
+ msgstr "¾ò·ï¼°¤Ç¤Î·¿¤ÎÁȹç¤ï¤»¤¬Å¬¹ç¤·¤Þ¤»¤ó"
+
+-#: tree-cfg.c:3827
++#: tree-cfg.c:3851
+ #, fuzzy, gcc-internal-format
+ msgid "invalid operands in truth expression"
+ msgstr "̵¸ú¤Ê¥È¡¼¥¯¥ó¤¬¼°¤Ë¤¢¤ê¤Þ¤¹"
+
+-#: tree-cfg.c:3836
++#: tree-cfg.c:3860
+ #, fuzzy, gcc-internal-format
+ msgid "type mismatch in binary truth expression"
+ msgstr "¾ò·ï¼°¤Ç¤Î·¿¤ÎÁȹç¤ï¤»¤¬Å¬¹ç¤·¤Þ¤»¤ó"
+
+-#: tree-cfg.c:3852
++#: tree-cfg.c:3876
+ #, fuzzy, gcc-internal-format
+ msgid "invalid operand in unary not"
+ msgstr "Æó¹à±é»»»Ò %s ¤¬ÉÔŬÀڤǤ¹"
+
+-#: tree-cfg.c:3861
++#: tree-cfg.c:3885
+ #, fuzzy, gcc-internal-format
+ msgid "type mismatch in not expression"
+ msgstr "¾ò·ï¼°¤Ç¤Î·¿¤ÎÁȹç¤ï¤»¤¬Å¬¹ç¤·¤Þ¤»¤ó"
+
+-#: tree-cfg.c:3900
++#: tree-cfg.c:3924
+ #, fuzzy, gcc-internal-format
+ msgid "invalid operands in comparison expression"
+ msgstr "̵¸ú¤Ê¥È¡¼¥¯¥ó¤¬¼°¤Ë¤¢¤ê¤Þ¤¹"
+
+-#: tree-cfg.c:3917
++#: tree-cfg.c:3941
+ #, fuzzy, gcc-internal-format
+ msgid "type mismatch in comparison expression"
+ msgstr "¾ò·ï¼°¤Ç¤Î·¿¤ÎÁȹç¤ï¤»¤¬Å¬¹ç¤·¤Þ¤»¤ó"
+
+-#: tree-cfg.c:3947
++#: tree-cfg.c:3971
+ #, fuzzy, gcc-internal-format
+ msgid "non-trivial conversion at assignment"
+ msgstr "ÂåÆþ¤È¤·¤Æ̵¸ú¤Êº¸ÊÕÃͤǤ¹"
+
+-#: tree-cfg.c:3988 tree-cfg.c:4136
++#: tree-cfg.c:4012 tree-cfg.c:4160
+ #, fuzzy, gcc-internal-format
+ msgid "is not a valid GIMPLE statement"
+ msgstr "̵¸ú¤Ê½é´ü²½¼°¤Ç¤¹"
+
+-#: tree-cfg.c:4015
++#: tree-cfg.c:4039
+ #, fuzzy, gcc-internal-format
+ msgid "invalid operand to switch statement"
+ msgstr "%s ¥³¡¼¥É¤ËÂФ¹¤ë̵¸ú¤Ê¥ª¥Ú¥é¥ó¥É"
+
+-#: tree-cfg.c:4026
++#: tree-cfg.c:4050
+ #, fuzzy, gcc-internal-format
+ msgid "type error in return expression"
+ msgstr " throw ¤µ¤ì¤¿¼°¤ÎÃæ"
+
+-#: tree-cfg.c:4104
++#: tree-cfg.c:4128
+ #, gcc-internal-format
+ msgid "verify_gimple failed"
+ msgstr ""
+
+-#: tree-cfg.c:4156
++#: tree-cfg.c:4180
+ #, gcc-internal-format
+ msgid "statement marked for throw, but doesn%'t"
+ msgstr ""
+
+-#: tree-cfg.c:4161
++#: tree-cfg.c:4185
+ #, gcc-internal-format
+ msgid "statement marked for throw in middle of block"
+ msgstr ""
+
+-#: tree-cfg.c:4232
++#: tree-cfg.c:4256
+ #, gcc-internal-format
+ msgid "unexpected non-tuple"
+ msgstr ""
+
+-#: tree-cfg.c:4261
++#: tree-cfg.c:4285
+ #, gcc-internal-format
+ msgid "Dead STMT in EH table"
+ msgstr ""
+
+-#: tree-cfg.c:4295
++#: tree-cfg.c:4319
+ #, gcc-internal-format
+ msgid "bb_for_stmt (phi) is set to a wrong basic block"
+ msgstr ""
+
+-#: tree-cfg.c:4306
++#: tree-cfg.c:4330
+ #, fuzzy, gcc-internal-format
+ msgid "missing PHI def"
+ msgstr "¼±Ê̻Ҥò·ç¤¤¤Æ¤¤¤Þ¤¹"
+
+-#: tree-cfg.c:4317
++#: tree-cfg.c:4341
+ #, gcc-internal-format
+ msgid "PHI def is not a GIMPLE value"
+ msgstr ""
+
+-#: tree-cfg.c:4333 tree-cfg.c:4359
++#: tree-cfg.c:4357 tree-cfg.c:4383
+ #, gcc-internal-format
+ msgid "incorrect sharing of tree nodes"
+ msgstr ""
+
+-#: tree-cfg.c:4350
++#: tree-cfg.c:4374
+ #, gcc-internal-format
+ msgid "bb_for_stmt (stmt) is set to a wrong basic block"
+ msgstr ""
+
+-#: tree-cfg.c:4373
++#: tree-cfg.c:4397
+ #, gcc-internal-format
+ msgid "verify_stmts failed"
+ msgstr ""
+
+-#: tree-cfg.c:4396
++#: tree-cfg.c:4420
+ #, gcc-internal-format
+ msgid "ENTRY_BLOCK has IL associated with it"
+ msgstr ""
+
+-#: tree-cfg.c:4402
++#: tree-cfg.c:4426
+ #, gcc-internal-format
+ msgid "EXIT_BLOCK has IL associated with it"
+ msgstr ""
+
+-#: tree-cfg.c:4409
++#: tree-cfg.c:4433
+ #, gcc-internal-format
+ msgid "fallthru to exit from bb %d"
+ msgstr ""
+
+-#: tree-cfg.c:4431
++#: tree-cfg.c:4455
+ #, gcc-internal-format
+ msgid "nonlocal label "
+ msgstr ""
+
+-#: tree-cfg.c:4440 tree-cfg.c:4450 tree-cfg.c:4475
++#: tree-cfg.c:4464 tree-cfg.c:4474 tree-cfg.c:4499
+ #, gcc-internal-format
+ msgid "label "
+ msgstr ""
+
+-#: tree-cfg.c:4465
++#: tree-cfg.c:4489
+ #, fuzzy, gcc-internal-format
+ msgid "control flow in the middle of basic block %d"
+ msgstr "NOTE_INSN_BASIC_BLOCK %d ¤¬´ðËÜ¥Ö¥í¥Ã¥¯ %d ¤ÎÃæ¤Û¤É¤Ë¤¢¤ê¤Þ¤¹"
+
+-#: tree-cfg.c:4495
++#: tree-cfg.c:4519
+ #, gcc-internal-format
+ msgid "fallthru edge after a control statement in bb %d"
+ msgstr ""
+
+-#: tree-cfg.c:4508
++#: tree-cfg.c:4532
+ #, gcc-internal-format
+ msgid "true/false edge after a non-COND_EXPR in bb %d"
+ msgstr ""
+
+-#: tree-cfg.c:4524
++#: tree-cfg.c:4548
+ #, gcc-internal-format
+ msgid "COND_EXPR with code in branches at the end of bb %d"
+ msgstr ""
+
+-#: tree-cfg.c:4538 tree-cfg.c:4560 tree-cfg.c:4573 tree-cfg.c:4644
++#: tree-cfg.c:4562 tree-cfg.c:4584 tree-cfg.c:4597 tree-cfg.c:4668
+ #, gcc-internal-format
+ msgid "wrong outgoing edge flags at end of bb %d"
+ msgstr ""
+
+-#: tree-cfg.c:4548
++#: tree-cfg.c:4572
+ #, gcc-internal-format
+ msgid "explicit goto at end of bb %d"
+ msgstr ""
+
+-#: tree-cfg.c:4578
++#: tree-cfg.c:4602
+ #, gcc-internal-format
+ msgid "return edge does not point to exit in bb %d"
+ msgstr ""
+
+-#: tree-cfg.c:4611
++#: tree-cfg.c:4635
+ #, gcc-internal-format
+ msgid "found default case not at end of case vector"
+ msgstr ""
+
+-#: tree-cfg.c:4617
++#: tree-cfg.c:4641
+ #, fuzzy, gcc-internal-format
+ msgid "case labels not sorted: "
+ msgstr "%s ¤Ï %s ¤ò¼õ¤±ÉÕ¤±¤Þ¤»¤ó"
+
+-#: tree-cfg.c:4628
++#: tree-cfg.c:4652
+ #, gcc-internal-format
+ msgid "no default case found at end of case vector"
+ msgstr ""
+
+-#: tree-cfg.c:4636
++#: tree-cfg.c:4660
+ #, gcc-internal-format
+ msgid "extra outgoing edge %d->%d"
+ msgstr ""
+
+-#: tree-cfg.c:4658
++#: tree-cfg.c:4682
+ #, gcc-internal-format
+ msgid "missing edge %i->%i"
+ msgstr ""
+
+-#: tree-cfg.c:6941 tree-cfg.c:6945
++#: tree-cfg.c:7025 tree-cfg.c:7029
+ #, fuzzy, gcc-internal-format
+ msgid "%H%<noreturn%> function does return"
+ msgstr "`noreturn' ´Ø¿ô¤¬ return ¤·¤Æ¤¤¤Þ¤¹"
+
+-#: tree-cfg.c:6967 tree-cfg.c:6972
++#: tree-cfg.c:7051 tree-cfg.c:7056
+ #, fuzzy, gcc-internal-format
+ msgid "%Hcontrol reaches end of non-void function"
+ msgstr "À©¸æ¤¬Èó void ´Ø¿ô¤Î½ª¤ê¤ËÅþ㤷¤Þ¤·¤¿"
+
+-#: tree-cfg.c:7033
++#: tree-cfg.c:7117
+ #, fuzzy, gcc-internal-format
+ msgid "%Jfunction might be possible candidate for attribute %<noreturn%>"
+ msgstr "´Ø¿ô¤Ï¶²¤é¤¯ `noreturn' °À­¤Î¸õÊä¤È»×¤ï¤ì¤Þ¤¹"
+
+-#: tree-dump.c:933
++#: tree-dump.c:932
+ #, fuzzy, gcc-internal-format
+ msgid "could not open dump file %qs: %s"
+ msgstr "¥À¥ó¥×¥Õ¥¡¥¤¥ë %s ¤ò³«¤±¤Þ¤»¤ó¤Ç¤·¤¿"
+
+-#: tree-dump.c:1068
++#: tree-dump.c:1067
+ #, gcc-internal-format
+ msgid "ignoring unknown option %q.*s in %<-fdump-%s%>"
+ msgstr ""
+
+-#: tree-eh.c:1788
++#: tree-eh.c:1805
+ #, fuzzy, gcc-internal-format
+ msgid "EH edge %i->%i is missing"
+ msgstr "`-%s' ¤Î°ú¿ô¤¬¤¢¤ê¤Þ¤»¤ó"
+
+-#: tree-eh.c:1793
++#: tree-eh.c:1810
+ #, gcc-internal-format
+ msgid "EH edge %i->%i miss EH flag"
+ msgstr ""
+
+ #. ??? might not be mistake.
+-#: tree-eh.c:1799
++#: tree-eh.c:1816
+ #, gcc-internal-format
+ msgid "EH edge %i->%i has duplicated regions"
+ msgstr ""
+
+-#: tree-eh.c:1833
++#: tree-eh.c:1850
+ #, gcc-internal-format
+ msgid "BB %i can not throw but has EH edges"
+ msgstr ""
+
+-#: tree-eh.c:1840
++#: tree-eh.c:1857
+ #, gcc-internal-format
+ msgid "BB %i last statement has incorrectly set region"
+ msgstr ""
+
+-#: tree-eh.c:1851
++#: tree-eh.c:1868
+ #, gcc-internal-format
+ msgid "unnecessary EH edge %i->%i"
+ msgstr ""
+
+-#: tree-inline.c:1830
++#: tree-inline.c:1880
+ #, gcc-internal-format
+ msgid "function %q+F can never be inlined because it uses alloca (override using the always_inline attribute)"
+ msgstr ""
+
+-#: tree-inline.c:1842
++#: tree-inline.c:1892
+ #, gcc-internal-format
+ msgid "function %q+F can never be inlined because it uses setjmp"
+ msgstr ""
+
+-#: tree-inline.c:1856
++#: tree-inline.c:1906
+ #, gcc-internal-format
+ msgid "function %q+F can never be inlined because it uses variable argument lists"
+ msgstr ""
+
+-#: tree-inline.c:1867
++#: tree-inline.c:1917
+ #, gcc-internal-format
+ msgid "function %q+F can never be inlined because it uses setjmp-longjmp exception handling"
+ msgstr ""
+
+-#: tree-inline.c:1874
++#: tree-inline.c:1924
+ #, gcc-internal-format
+ msgid "function %q+F can never be inlined because it uses non-local goto"
+ msgstr ""
+
+-#: tree-inline.c:1885
++#: tree-inline.c:1935
+ #, gcc-internal-format
+ msgid "function %q+F can never be inlined because it uses __builtin_return or __builtin_apply_args"
+ msgstr ""
+
+-#: tree-inline.c:1904
++#: tree-inline.c:1954
+ #, gcc-internal-format
+ msgid "function %q+F can never be inlined because it contains a computed goto"
+ msgstr ""
+
+-#: tree-inline.c:1918
++#: tree-inline.c:1968
+ #, gcc-internal-format
+ msgid "function %q+F can never be inlined because it receives a non-local goto"
+ msgstr ""
+
+-#: tree-inline.c:1943
++#: tree-inline.c:1993
+ #, gcc-internal-format
+ msgid "function %q+F can never be inlined because it uses variable sized variables"
+ msgstr ""
+
+-#: tree-inline.c:2005
++#: tree-inline.c:2015
+ #, gcc-internal-format
++msgid "function %q+F can never be inlined because it saves address of local label in a static variable"
++msgstr ""
++
++#: tree-inline.c:2091
++#, gcc-internal-format
+ msgid "function %q+F can never be inlined because it is suppressed using -fno-inline"
+ msgstr ""
+
+-#: tree-inline.c:2019
++#: tree-inline.c:2105
+ #, gcc-internal-format
+ msgid "function %q+F can never be inlined because it uses attributes conflicting with inlining"
+ msgstr ""
+
+-#: tree-inline.c:2588 tree-inline.c:2598
++#: tree-inline.c:2674 tree-inline.c:2684
+ #, fuzzy, gcc-internal-format
+ msgid "inlining failed in call to %q+F: %s"
+ msgstr "`%s' ¤Ø¤Î¸Æ¤Ó½Ð¤·¤Î¥¤¥ó¥é¥¤¥ó²½¤Ë¼ºÇÔ¤·¤Þ¤·¤¿"
+
+-#: tree-inline.c:2589 tree-inline.c:2600
++#: tree-inline.c:2675 tree-inline.c:2686
+ #, gcc-internal-format
+ msgid "called from here"
+ msgstr "¤³¤³¤«¤é¸Æ¤Ð¤ì¤Þ¤·¤¿"
+
+-#: tree-mudflap.c:860
++#: tree-mudflap.c:864
+ #, gcc-internal-format
+ msgid "mudflap checking not yet implemented for ARRAY_RANGE_REF"
+ msgstr ""
+
+-#: tree-mudflap.c:1044
++#: tree-mudflap.c:1050
+ #, gcc-internal-format
+ msgid "mudflap cannot track %qs in stub function"
+ msgstr ""
+
+-#: tree-mudflap.c:1272
++#: tree-mudflap.c:1279
+ #, gcc-internal-format
+ msgid "mudflap cannot track unknown size extern %qs"
+ msgstr ""
+@@ -24318,33 +24305,33 @@
+ msgid "size of return value of %q+D is larger than %wd bytes"
+ msgstr "`%s' ¤ÎÌá¤êÃͤΥµ¥¤¥º¤¬ %d ¥Ð¥¤¥È¤è¤ê¤âÂ礭¤¯¤Ê¤ê¤Þ¤¹"
+
+-#: tree-outof-ssa.c:637 tree-outof-ssa.c:688 tree-ssa-coalesce.c:936
+-#: tree-ssa-coalesce.c:951 tree-ssa-coalesce.c:1163 tree-ssa-live.c:1043
++#: tree-outof-ssa.c:638 tree-outof-ssa.c:689 tree-ssa-coalesce.c:936
++#: tree-ssa-coalesce.c:951 tree-ssa-coalesce.c:1163 tree-ssa-live.c:1053
+ #, gcc-internal-format
+ msgid "SSA corruption"
+ msgstr ""
+
+-#: tree-outof-ssa.c:1105
++#: tree-outof-ssa.c:1263
+ #, gcc-internal-format
+ msgid " Pending stmts not issued on PRED edge (%d, %d)\n"
+ msgstr ""
+
+-#: tree-outof-ssa.c:1111
++#: tree-outof-ssa.c:1269
+ #, gcc-internal-format
+ msgid " Pending stmts not issued on SUCC edge (%d, %d)\n"
+ msgstr ""
+
+-#: tree-outof-ssa.c:1118
++#: tree-outof-ssa.c:1276
+ #, gcc-internal-format
+ msgid " Pending stmts not issued on ENTRY edge (%d, %d)\n"
+ msgstr ""
+
+-#: tree-outof-ssa.c:1124
++#: tree-outof-ssa.c:1282
+ #, gcc-internal-format
+ msgid " Pending stmts not issued on EXIT edge (%d, %d)\n"
+ msgstr ""
+
+-#: tree-profile.c:351
++#: tree-profile.c:356
+ #, gcc-internal-format
+ msgid "unimplemented functionality"
+ msgstr ""
+@@ -24534,154 +24521,159 @@
+ msgid "verify_ssa failed"
+ msgstr ""
+
+-#: tree-ssa.c:1284
++#: tree-ssa.c:1293
+ #, fuzzy, gcc-internal-format
+ msgid "%J%qD was declared here"
+ msgstr "`%s' ¤ÏÁ°¤Ë¤³¤³¤ÇÀë¸À¤µ¤ì¤Þ¤·¤¿"
+
+ #. We only do data flow with SSA_NAMEs, so that's all we
+ #. can warn about.
+-#: tree-ssa.c:1302
++#: tree-ssa.c:1311
+ #, fuzzy, gcc-internal-format
+ msgid "%H%qD is used uninitialized in this function"
+ msgstr "`%s' ¤Ï¤³¤Î´Ø¿ôÆâ¤Ç½é´ü²½¤µ¤ì¤º¤Ë»ÈÍѤµ¤ì¤ë²ÄǽÀ­¤¬¤¢¤ê¤Þ¤¹"
+
+-#: tree-ssa.c:1340
++#: tree-ssa.c:1349
+ #, fuzzy, gcc-internal-format
+ msgid "%H%qD may be used uninitialized in this function"
+ msgstr "`%s' ¤Ï¤³¤Î´Ø¿ôÆâ¤Ç½é´ü²½¤µ¤ì¤º¤Ë»ÈÍѤµ¤ì¤ë²ÄǽÀ­¤¬¤¢¤ê¤Þ¤¹"
+
+-#: tree-vrp.c:4374
++#: tree-vrp.c:4384
+ #, fuzzy, gcc-internal-format
+ msgid "%Harray subscript is outside array bounds"
+ msgstr "ÇÛÎó¤Îź»ú¤¬À°¿ô·¿¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó"
+
+-#: tree-vrp.c:4388
++#: tree-vrp.c:4398
+ #, fuzzy, gcc-internal-format
+ msgid "%Harray subscript is above array bounds"
+ msgstr "ÇÛÎó¤Îź»ú¤¬À°¿ô·¿¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó"
+
+-#: tree-vrp.c:4395
++#: tree-vrp.c:4405
+ #, fuzzy, gcc-internal-format
+ msgid "%Harray subscript is below array bounds"
+ msgstr "ÇÛÎó¤Îź»ú¤¬À°¿ô·¿¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó"
+
+-#: tree-vrp.c:5042
++#: tree-vrp.c:5058
+ #, gcc-internal-format
+ msgid "assuming signed overflow does not occur when simplifying conditional to constant"
+ msgstr ""
+
+-#: tree-vrp.c:5048
++#: tree-vrp.c:5064
+ #, gcc-internal-format
+ msgid "assuming signed overflow does not occur when simplifying conditional"
+ msgstr ""
+
+-#: tree.c:3951
++#: tree.c:3682
++#, fuzzy, gcc-internal-format
++msgid "ignoring attributes applied to %qT after definition"
++msgstr "`com_interface' °À­¤Ï¥¯¥é¥¹ÄêµÁ¤Ë¤Î¤ßÍѤ¤¤ë»ö¤¬¤Ç¤­¤Þ¤¹"
++
++#: tree.c:3966
+ #, gcc-internal-format
+ msgid "%q+D already declared with dllexport attribute: dllimport ignored"
+ msgstr ""
+
+-#: tree.c:3963
++#: tree.c:3978
+ #, gcc-internal-format
+ msgid "%q+D redeclared without dllimport attribute after being referenced with dll linkage"
+ msgstr ""
+
+-#: tree.c:3979
++#: tree.c:3994
+ #, gcc-internal-format
+ msgid "%q+D redeclared without dllimport attribute: previous dllimport ignored"
+ msgstr ""
+
+-#: tree.c:4038 tree.c:4050 config/darwin.c:1458 config/arm/arm.c:3099
+-#: config/arm/arm.c:3127 config/avr/avr.c:4598 config/h8300/h8300.c:5281
+-#: config/h8300/h8300.c:5305 config/i386/i386.c:3056 config/i386/i386.c:22515
++#: tree.c:4053 tree.c:4065 config/darwin.c:1460 config/arm/arm.c:3099
++#: config/arm/arm.c:3127 config/avr/avr.c:4638 config/h8300/h8300.c:5281
++#: config/h8300/h8300.c:5305 config/i386/i386.c:3087 config/i386/i386.c:22599
+ #: config/ia64/ia64.c:586 config/m68hc11/m68hc11.c:1118
+-#: config/rs6000/rs6000.c:19657 config/sh/symbian.c:408
++#: config/rs6000/rs6000.c:19874 config/sh/symbian.c:408
+ #: config/sh/symbian.c:415
+ #, fuzzy, gcc-internal-format
+ msgid "%qs attribute ignored"
+ msgstr "`%s' °À­¤Ï̵»ë¤µ¤ì¤Þ¤·¤¿"
+
+-#: tree.c:4066
++#: tree.c:4081
+ #, fuzzy, gcc-internal-format
+ msgid "inline function %q+D declared as dllimport: attribute ignored"
+ msgstr "ÁȤ߹þ¤ß´Ø¿ô `%s' ¤ÏÈó´Ø¿ô¤È¤·¤ÆÀë¸À¤µ¤ì¤Þ¤·¤¿"
+
+-#: tree.c:4074
++#: tree.c:4089
+ #, fuzzy, gcc-internal-format
+ msgid "function %q+D definition is marked dllimport"
+ msgstr "´Ø¿ô¤ÎÄêµÁ¤¬ `auto' ¤ÈÀë¸À¤µ¤ì¤Þ¤·¤¿"
+
+-#: tree.c:4082 config/sh/symbian.c:430
++#: tree.c:4097 config/sh/symbian.c:430
+ #, fuzzy, gcc-internal-format
+ msgid "variable %q+D definition is marked dllimport"
+ msgstr "ÀÅŪÊÑ¿ô `%s' ¤Ï dllimport ¤È¥Þ¡¼¥¯¤µ¤ì¤Æ¤¤¤Þ¤¹"
+
+-#: tree.c:4105 config/sh/symbian.c:505
++#: tree.c:4120 config/sh/symbian.c:505
+ #, gcc-internal-format
+ msgid "external linkage required for symbol %q+D because of %qs attribute"
+ msgstr ""
+
+-#: tree.c:4119
++#: tree.c:4134
+ #, gcc-internal-format
+ msgid "%qs implies default visibility, but %qD has already been declared with a different visibility"
+ msgstr ""
+
+-#: tree.c:5632
++#: tree.c:5648
+ #, gcc-internal-format
+ msgid "arrays of functions are not meaningful"
+ msgstr "´Ø¿ô¤ÎÇÛÎó¤Ï°ÕÌ£¤¬¤¢¤ê¤Þ¤»¤ó"
+
+-#: tree.c:5785
++#: tree.c:5801
+ #, gcc-internal-format
+ msgid "function return type cannot be function"
+ msgstr "´Ø¿ô¤ÎÊÖ¤¹·¿¤¬´Ø¿ô¤Ç¤¢¤Ã¤Æ¤Ï¤Ê¤ê¤Þ¤»¤ó"
+
+-#: tree.c:6802 tree.c:6887 tree.c:6948
++#: tree.c:6818 tree.c:6903 tree.c:6964
+ #, fuzzy, gcc-internal-format
+ msgid "tree check: %s, have %s in %s, at %s:%d"
+ msgstr "Tree ¸¡ºº: %s ¤¬¤¢¤ë¤Ù¤­½ê¤Ë %s ¤¬¤¢¤ê¤Þ¤¹(%s Æâ, %s:%d)"
+
+-#: tree.c:6839
++#: tree.c:6855
+ #, fuzzy, gcc-internal-format
+ msgid "tree check: expected none of %s, have %s in %s, at %s:%d"
+ msgstr "Tree ¸¡ºº: %s ¤¬¤¢¤ë¤Ù¤­½ê¤Ë %s ¤¬¤¢¤ê¤Þ¤¹(%s Æâ, %s:%d)"
+
+-#: tree.c:6852
++#: tree.c:6868
+ #, fuzzy, gcc-internal-format
+ msgid "tree check: expected class %qs, have %qs (%s) in %s, at %s:%d"
+ msgstr "Tree ¸¡ºº: ¥¯¥é¥¹ '%c' ¤Î¤Ï¤º¤¬ '%c' (%s) ¤Ç¤¹(%s Æâ, %s:%d)"
+
+-#: tree.c:6901
++#: tree.c:6917
+ #, fuzzy, gcc-internal-format
+ msgid "tree check: did not expect class %qs, have %qs (%s) in %s, at %s:%d"
+ msgstr "Tree ¸¡ºº: ¥¯¥é¥¹ '%c' ¤Î¤Ï¤º¤¬ '%c' (%s) ¤Ç¤¹(%s Æâ, %s:%d)"
+
+-#: tree.c:6914
++#: tree.c:6930
+ #, fuzzy, gcc-internal-format
+ msgid "tree check: expected omp_clause %s, have %s in %s, at %s:%d"
+ msgstr "Tree ¸¡ºº: %s ¤¬¤¢¤ë¤Ù¤­½ê¤Ë %s ¤¬¤¢¤ê¤Þ¤¹(%s Æâ, %s:%d)"
+
+-#: tree.c:6974
++#: tree.c:6990
+ #, fuzzy, gcc-internal-format
+ msgid "tree check: expected tree that contains %qs structure, have %qs in %s, at %s:%d"
+ msgstr "Tree ¸¡ºº: %s ¤¬¤¢¤ë¤Ù¤­½ê¤Ë %s ¤¬¤¢¤ê¤Þ¤¹(%s Æâ, %s:%d)"
+
+-#: tree.c:6988
++#: tree.c:7004
+ #, fuzzy, gcc-internal-format
+ msgid "tree check: accessed elt %d of tree_vec with %d elts in %s, at %s:%d"
+ msgstr "RTL check: ¥Ù¥¯¥È¥ë¤Î elt %d ¤òºÇ¸å¤Î elt %d (%s Ãæ)¤È°ì½ï¤Ë¥¢¥¯¥»¥¹¤·¤Þ¤¹ (%s:%d)"
+
+-#: tree.c:7000
++#: tree.c:7016
+ #, fuzzy, gcc-internal-format
+ msgid "tree check: accessed elt %d of phi_node with %d elts in %s, at %s:%d"
+ msgstr "RTL check: ¥Ù¥¯¥È¥ë¤Î elt %d ¤òºÇ¸å¤Î elt %d (%s Ãæ)¤È°ì½ï¤Ë¥¢¥¯¥»¥¹¤·¤Þ¤¹ (%s:%d)"
+
+-#: tree.c:7013
++#: tree.c:7029
+ #, fuzzy, gcc-internal-format
+ msgid "tree check: accessed operand %d of %s with %d operands in %s, at %s:%d"
+ msgstr "RTL ¸¡ºº: elt %d(%s) ¤¬ºÇ¸å¤Î elt %d(%s Ãæ) ¤È°ì½ï¤Ë¥¢¥¯¥»¥¹¤·¤Þ¤¹ (%s:%d)"
+
+-#: tree.c:7026
++#: tree.c:7042
+ #, fuzzy, gcc-internal-format
+ msgid "tree check: accessed operand %d of omp_clause %s with %d operands in %s, at %s:%d"
+ msgstr "RTL ¸¡ºº: elt %d(%s) ¤¬ºÇ¸å¤Î elt %d(%s Ãæ) ¤È°ì½ï¤Ë¥¢¥¯¥»¥¹¤·¤Þ¤¹ (%s:%d)"
+@@ -24933,17 +24925,17 @@
+ msgid "Unknown value %qs of -mmacosx-version-min"
+ msgstr ""
+
+-#: config/darwin.c:1431
++#: config/darwin.c:1433
+ #, gcc-internal-format
+ msgid "%<%s%> 2.95 vtable-compatibility attribute applies only when compiling a kext"
+ msgstr ""
+
+-#: config/darwin.c:1438
++#: config/darwin.c:1440
+ #, gcc-internal-format
+ msgid "%<%s%> 2.95 vtable-compatibility attribute applies only to C++ classes"
+ msgstr ""
+
+-#: config/darwin.c:1563
++#: config/darwin.c:1565
+ #, fuzzy, gcc-internal-format
+ msgid "internal and protected visibility attributes not supported in this configuration; ignored"
+ msgstr "¸½ºß¤ÎÀßÄê¤Ç¤Ï alias ÄêµÁ¤Ï¥µ¥Ý¡¼¥È¤µ¤ì¤Þ¤»¤ó -- ̵»ë¤µ¤ì¤Þ¤·¤¿"
+@@ -25039,7 +25031,7 @@
+ msgid "profiler support for WindISS"
+ msgstr ""
+
+-#: config/alpha/alpha.c:232 config/rs6000/rs6000.c:1990
++#: config/alpha/alpha.c:232 config/rs6000/rs6000.c:2020
+ #, fuzzy, gcc-internal-format
+ msgid "bad value %qs for -mtls-size switch"
+ msgstr "-mips ¥¹¥¤¥Ã¥Á¤ËÂФ¹¤ëÉÔÀµ¤ÊÃÍ (%s)"
+@@ -25114,18 +25106,18 @@
+ msgid "bad value %qs for -mmemory-latency"
+ msgstr "`%s' ¤Ï -mmemory-latency ¤Ë¤È¤Ã¤ÆÉÔÀµ¤ÊÃͤǤ¹"
+
+-#: config/alpha/alpha.c:6514 config/alpha/alpha.c:6517 config/s390/s390.c:8279
+-#: config/s390/s390.c:8282
++#: config/alpha/alpha.c:6522 config/alpha/alpha.c:6525 config/s390/s390.c:8335
++#: config/s390/s390.c:8338
+ #, fuzzy, gcc-internal-format
+ msgid "bad builtin fcode"
+ msgstr "ÁȤ߹þ¤ß¥Þ¥¯¥í \"%s\" ¤Ï̵¸ú¤Ç¤¹"
+
+-#: config/arc/arc.c:388
++#: config/arc/arc.c:392
+ #, fuzzy, gcc-internal-format
+ msgid "argument of %qs attribute is not a string constant"
+ msgstr "asm ¥Æ¥ó¥×¥ì¡¼¥È¤¬Ê¸»úÎóÄê¿ô¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó"
+
+-#: config/arc/arc.c:396
++#: config/arc/arc.c:400
+ #, gcc-internal-format
+ msgid "argument of %qs attribute is not \"ilink1\" or \"ilink2\""
+ msgstr ""
+@@ -25135,7 +25127,7 @@
+ msgid "switch -mcpu=%s conflicts with -march= switch"
+ msgstr "-mcpu=%s ¥¹¥¤¥Ã¥Á¤Ï -march= ¥¹¥¤¥Ã¥Á¤È¶¥¹ç¤·¤Þ¤¹"
+
+-#: config/arm/arm.c:1060 config/rs6000/rs6000.c:1504 config/sparc/sparc.c:761
++#: config/arm/arm.c:1060 config/rs6000/rs6000.c:1522 config/sparc/sparc.c:764
+ #, gcc-internal-format
+ msgid "bad value (%s) for %s switch"
+ msgstr "ÃÍ (%s) ¤Ï %s switch ¤Ë¤È¤Ã¤ÆÀµ¤·¤¯¤¢¤ê¤Þ¤»¤ó"
+@@ -25275,14 +25267,13 @@
+ msgid "unable to use '%s' for PIC register"
+ msgstr "'%s' ¤ò PIC ¤Î¥ì¥¸¥¹¥¿¤È¤·¤Æ»È¤¦¤³¤È¤¬¤Ç¤­¤Þ¤»¤ó"
+
+-#: config/arm/arm.c:3067 config/arm/arm.c:3085 config/avr/avr.c:4618
+-#: config/avr/avr.c:4660 config/bfin/bfin.c:4778 config/c4x/c4x.c:4071
+-#: config/h8300/h8300.c:5257 config/i386/i386.c:3009
+-#: config/m68hc11/m68hc11.c:1155 config/m68k/m68k.c:741
+-#: config/mcore/mcore.c:3032 config/mips/mips.c:1151 config/mips/mips.c:1153
+-#: config/mt/mt.c:1275 config/rs6000/rs6000.c:19583 config/sh/sh.c:7984
+-#: config/sh/sh.c:8005 config/sh/sh.c:8028 config/stormy16/stormy16.c:2252
+-#: config/v850/v850.c:2048
++#: config/arm/arm.c:3067 config/arm/arm.c:3085 config/avr/avr.c:4658
++#: config/avr/avr.c:4700 config/bfin/bfin.c:4881 config/h8300/h8300.c:5257
++#: config/i386/i386.c:3040 config/m68hc11/m68hc11.c:1155
++#: config/m68k/m68k.c:741 config/mcore/mcore.c:3032 config/mips/mips.c:1151
++#: config/mips/mips.c:1153 config/mt/mt.c:1275 config/rs6000/rs6000.c:19800
++#: config/sh/sh.c:7987 config/sh/sh.c:8008 config/sh/sh.c:8031
++#: config/stormy16/stormy16.c:2225 config/v850/v850.c:2048
+ #, fuzzy, gcc-internal-format
+ msgid "%qs attribute only applies to functions"
+ msgstr "`%s' °À­¤Ï´Ø¿ô¤ËÂФ·¤Æ¤Î¤ßŬÍѤµ¤ì¤Þ¤¹"
+@@ -25304,7 +25295,7 @@
+ msgstr "¥»¥ì¥¯¥¿¤Ï¨ÃͤǤʤ±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó"
+
+ #. @@@ better error message
+-#: config/arm/arm.c:15839 config/i386/i386.c:20651 config/i386/i386.c:20685
++#: config/arm/arm.c:15839 config/i386/i386.c:20735 config/i386/i386.c:20769
+ #, gcc-internal-format
+ msgid "mask must be an immediate"
+ msgstr "¥Þ¥¹¥¯¤Ï¨ÃͤǤʤ±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó"
+@@ -25329,222 +25320,187 @@
+ msgid "static variable %q+D is marked dllimport"
+ msgstr "ÀÅŪÊÑ¿ô `%s' ¤Ï dllimport ¤È¥Þ¡¼¥¯¤µ¤ì¤Æ¤¤¤Þ¤¹"
+
+-#: config/avr/avr.c:690
++#: config/avr/avr.c:718
+ #, gcc-internal-format
+ msgid "large frame pointer change (%d) with -mtiny-stack"
+ msgstr "-mtiny-stack ¤Ë¤è¤ê¥é¡¼¥¸¥Õ¥ì¡¼¥à¥Ý¥¤¥ó¥¿¤¬Êѹ¹¤µ¤ì¤Þ¤¹(%d)"
+
+-#: config/avr/avr.c:4591
++#: config/avr/avr.c:4631
+ #, fuzzy, gcc-internal-format
+ msgid "only initialized variables can be placed into program memory area"
+ msgstr "¥×¥í¥°¥é¥à¥á¥â¥êÎΰèÆâ¤ËÇÛÃ֤Ǥ­¤ëÊÑ¿ô¤À¤±¤ò½é´ü²½¤·¤Þ¤·¤¿"
+
+-#: config/avr/avr.c:4635
++#: config/avr/avr.c:4675
+ #, gcc-internal-format
+ msgid "%qs appears to be a misspelled interrupt handler"
+ msgstr ""
+
+-#: config/avr/avr.c:4643
++#: config/avr/avr.c:4683
+ #, gcc-internal-format
+ msgid "%qs appears to be a misspelled signal handler"
+ msgstr ""
+
+-#: config/avr/avr.c:4751
++#: config/avr/avr.c:4791
+ #, fuzzy, gcc-internal-format
+ msgid "only uninitialized variables can be placed in the .noinit section"
+ msgstr "8 ¥Ó¥Ã¥ÈÎΰèÆâ¤ËÇÛÃ֤Ǥ­¤ëÊÑ¿ô¤À¤±¤¬½é´ü²½¤µ¤ì¤Þ¤·¤¿"
+
+-#: config/avr/avr.c:4765
++#: config/avr/avr.c:4805
+ #, gcc-internal-format
+ msgid "MCU %qs supported for assembler only"
+ msgstr ""
+
+-#: config/avr/avr.h:692
++#: config/avr/avr.h:731
+ #, fuzzy, gcc-internal-format
+ msgid "trampolines not supported"
+ msgstr "¥È¥é¥ó¥Ý¥ê¥ó¤Ï¥µ¥Ý¡¼¥È¤µ¤ì¤Þ¤»¤ó\n"
+
+-#: config/bfin/bfin.c:2259 config/m68k/m68k.c:488
++#: config/bfin/bfin.c:2352 config/m68k/m68k.c:488
+ #, fuzzy, gcc-internal-format
+ msgid "-mshared-library-id=%s is not between 0 and %d"
+ msgstr "-mregparm=%d ¤¬ 0 ¤«¤é %d ¤Î´Ö¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó"
+
+-#: config/bfin/bfin.c:2279
++#: config/bfin/bfin.c:2372
+ #, fuzzy, gcc-internal-format
+ msgid "-mcpu=%s is not valid"
+ msgstr "-mcpu=%s ¤Ï -mips%d ¤ò¥µ¥Ý¡¼¥È¤·¤Þ¤»¤ó"
+
+-#: config/bfin/bfin.c:2315
++#: config/bfin/bfin.c:2410
+ #, gcc-internal-format
+ msgid "-mcpu=%s has invalid silicon revision"
+ msgstr ""
+
+-#: config/bfin/bfin.c:2332
++#: config/bfin/bfin.c:2427
+ #, fuzzy, gcc-internal-format
+ msgid "bf561 support is incomplete yet."
+ msgstr "²¾°ú¿ô¤¬ÉÔ´°Á´·¿¤Ç¤¹"
+
+-#: config/bfin/bfin.c:2372
++#: config/bfin/bfin.c:2470
+ #, gcc-internal-format
+ msgid "-mshared-library-id= specified without -mid-shared-library"
+ msgstr ""
+
+-#: config/bfin/bfin.c:2378
++#: config/bfin/bfin.c:2473
+ #, fuzzy, gcc-internal-format
+ msgid "Can't use multiple stack checking methods together."
+ msgstr "¥×¥í¥°¥é¥à¤Ë¥¹¥¿¥Ã¥¯¶­³¦¸¡½Ð¥³¡¼¥É¤òÁÞÆþ¤¹¤ë"
+
+-#: config/bfin/bfin.c:2381
++#: config/bfin/bfin.c:2476
+ #, gcc-internal-format
+ msgid "ID shared libraries and FD-PIC mode can't be used together."
+ msgstr ""
+
+-#: config/bfin/bfin.c:2386 config/m68k/m68k.c:582
++#: config/bfin/bfin.c:2481 config/m68k/m68k.c:582
+ #, fuzzy, gcc-internal-format
+ msgid "cannot specify both -msep-data and -mid-shared-library"
+ msgstr "-C ¤È -o ¤ÏξÊý¤ò°ì½ï¤Ë»ØÄê¤Ç¤­¤Þ¤»¤ó"
+
+-#: config/bfin/bfin.c:4783
++#: config/bfin/bfin.c:4886
+ #, fuzzy, gcc-internal-format
+ msgid "multiple function type attributes specified"
+ msgstr "½ÅÊ£¤¹¤ë¥¢¥¯¥»¥¹»ØÄê»Ò"
+
+-#: config/bfin/bfin.c:4839 config/bfin/bfin.c:4868 config/spu/spu.c:2976
++#: config/bfin/bfin.c:4942 config/bfin/bfin.c:4971 config/spu/spu.c:2965
+ #, fuzzy, gcc-internal-format
+ msgid "`%s' attribute only applies to functions"
+ msgstr "`%s' °À­¤Ï´Ø¿ô¤ËÂФ·¤Æ¤Î¤ßŬÍѤµ¤ì¤Þ¤¹"
+
+-#: config/bfin/bfin.c:4850
++#: config/bfin/bfin.c:4953
+ #, gcc-internal-format
+ msgid "can't apply both longcall and shortcall attributes to the same function"
+ msgstr ""
+
+-#: config/bfin/bfin.c:4900
++#: config/bfin/bfin.c:5003
+ #, fuzzy, gcc-internal-format
+ msgid "`%s' attribute only applies to variables"
+ msgstr "`%s' °À­¤Ï·¿¤Ë¤ÏŬÍѤµ¤ì¤Þ¤»¤ó"
+
+-#: config/bfin/bfin.c:4907
++#: config/bfin/bfin.c:5010
+ #, fuzzy, gcc-internal-format
+ msgid "`%s' attribute cannot be specified for local variables"
+ msgstr "section °À­¤Ï¥í¡¼¥«¥ëÊÑ¿ô¤ËÂФ·¤Æ¤Ï»ØÄê¤Ç¤­¤Þ¤»¤ó"
+
+-#: config/c4x/c4x-c.c:68
+-#, fuzzy, gcc-internal-format
+-msgid "missing '(' after '#pragma %s' - ignored"
+-msgstr "½Ò¸ì¤Î¸å¤í¤Î '(' ¤ò·ç¤¤¤Æ¤¤¤Þ¤¹"
+-
+-#: config/c4x/c4x-c.c:71
+-#, fuzzy, gcc-internal-format
+-msgid "missing function name in '#pragma %s' - ignored"
+-msgstr "¤ª¤«¤·¤Ê #pragma align - ̵»ë¤µ¤ì¤Þ¤·¤¿"
+-
+-#: config/c4x/c4x-c.c:76
+-#, fuzzy, gcc-internal-format
+-msgid "malformed '#pragma %s' - ignored"
+-msgstr "¤ª¤«¤·¤Ê #pragma align - ̵»ë¤µ¤ì¤Þ¤·¤¿"
+-
+-#: config/c4x/c4x-c.c:78
+-#, gcc-internal-format
+-msgid "missing section name in '#pragma %s' - ignored"
+-msgstr ""
+-
+-#: config/c4x/c4x-c.c:83
+-#, fuzzy, gcc-internal-format
+-msgid "missing ')' for '#pragma %s' - ignored"
+-msgstr "¤ª¤«¤·¤Ê #pragma align - ̵»ë¤µ¤ì¤Þ¤·¤¿"
+-
+-#: config/c4x/c4x-c.c:86
+-#, gcc-internal-format
+-msgid "junk at end of '#pragma %s'"
+-msgstr "'#pragma %s' ¤ÎºÇ¸å¤Ë¥´¥ß¤¬¤¢¤ê¤Þ¤¹"
+-
+-#: config/c4x/c4x.c:859
+-#, fuzzy, gcc-internal-format
+-msgid "ISR %s requires %d words of local vars, max is 32767"
+-msgstr "ISR %s ¤Ï %d ¥ï¡¼¥É¤Î¥í¡¼¥«¥ëÊÑ¿ô¤òÍ׵ᤷ¡¢ºÇÂç¤Ï 32767 ¤Ç¤¹¡£"
+-
+ #. This function is for retrieving a part of an instruction name for
+ #. an operator, for immediate output. If that ever happens for
+ #. MULT, we need to apply TARGET_MUL_BUG in the caller. Make sure
+ #. we notice.
+-#: config/cris/cris.c:434
++#: config/cris/cris.c:447
+ #, gcc-internal-format
+ msgid "MULT case in cris_op_str"
+ msgstr ""
+
+-#: config/cris/cris.c:811
++#: config/cris/cris.c:837
+ #, fuzzy, gcc-internal-format
+ msgid "invalid use of ':' modifier"
+ msgstr "void ¼°¤ÎÉÔŬÀڤʻÈÍÑ"
+
+-#: config/cris/cris.c:983
++#: config/cris/cris.c:1024
+ #, fuzzy, gcc-internal-format
+ msgid "internal error: bad register: %d"
+ msgstr "ÆâÉô¥¨¥é¡¼: "
+
+-#: config/cris/cris.c:1524
++#: config/cris/cris.c:1586
+ #, gcc-internal-format
+ msgid "internal error: sideeffect-insn affecting main effect"
+ msgstr ""
+
+-#: config/cris/cris.c:1548
++#: config/cris/cris.c:1683
+ #, gcc-internal-format
+ msgid "unknown cc_attr value"
+ msgstr ""
+
+ #. If we get here, the caller got its initial tests wrong.
+-#: config/cris/cris.c:1901
++#: config/cris/cris.c:2040
+ #, gcc-internal-format
+ msgid "internal error: cris_side_effect_mode_ok with bad operands"
+ msgstr ""
+
+-#: config/cris/cris.c:2104
++#: config/cris/cris.c:2332
+ #, fuzzy, gcc-internal-format
+ msgid "-max-stackframe=%d is not usable, not between 0 and %d"
+ msgstr "-mregparm=%d ¤¬ 0 ¤«¤é %d ¤Î´Ö¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó"
+
+-#: config/cris/cris.c:2132
++#: config/cris/cris.c:2360
+ #, gcc-internal-format
+ msgid "unknown CRIS version specification in -march= or -mcpu= : %s"
+ msgstr ""
+
+-#: config/cris/cris.c:2168
++#: config/cris/cris.c:2396
+ #, gcc-internal-format
+ msgid "unknown CRIS cpu version specification in -mtune= : %s"
+ msgstr ""
+
+-#: config/cris/cris.c:2186
++#: config/cris/cris.c:2417
+ #, fuzzy, gcc-internal-format
+ msgid "-fPIC and -fpic are not supported in this configuration"
+ msgstr "%s ¤Ï¤³¤Î¥³¥ó¥Õ¥£¥®¥å¥ì¡¼¥·¥ç¥ó¤Ç¤Ï¥µ¥Ý¡¼¥È¤µ¤ì¤Þ¤»¤ó"
+
+-#: config/cris/cris.c:2201
++#: config/cris/cris.c:2432
+ #, gcc-internal-format
+ msgid "that particular -g option is invalid with -maout and -melinux"
+ msgstr ""
+
+-#: config/cris/cris.c:2414
++#: config/cris/cris.c:2658
+ #, gcc-internal-format
+ msgid "Unknown src"
+ msgstr ""
+
+-#: config/cris/cris.c:2475
++#: config/cris/cris.c:2719
+ #, fuzzy, gcc-internal-format
+ msgid "Unknown dest"
+ msgstr "ÉÔÌÀ¤Ê -mdebug-%s ¥¹¥¤¥Ã¥Á¤Ç¤¹"
+
+-#: config/cris/cris.c:2760
++#: config/cris/cris.c:3004
+ #, gcc-internal-format
+ msgid "stackframe too big: %d bytes"
+ msgstr ""
+
+-#: config/cris/cris.c:3213 config/cris/cris.c:3240
++#: config/cris/cris.c:3498 config/cris/cris.c:3526
+ #, gcc-internal-format
+ msgid "expand_binop failed in movsi got"
+ msgstr ""
+
+-#: config/cris/cris.c:3321
++#: config/cris/cris.c:3607
+ #, gcc-internal-format
+ msgid "emitting PIC operand, but PIC register isn't set up"
+ msgstr ""
+@@ -25598,7 +25554,7 @@
+ #. See cris.c for TARGET_ASM_FUNCTION_PROLOGUE and
+ #. TARGET_ASM_FUNCTION_EPILOGUE.
+ #. Node: Profiling
+-#: config/cris/cris.h:868
++#: config/cris/cris.h:948
+ #, gcc-internal-format
+ msgid "no FUNCTION_PROFILER for CRIS"
+ msgstr ""
+@@ -25613,62 +25569,62 @@
+ msgid "Trampoline support for CRX"
+ msgstr "¥È¥é¥ó¥Ý¥ê¥ó¤Ï¥µ¥Ý¡¼¥È¤µ¤ì¤Þ¤»¤ó\n"
+
+-#: config/frv/frv.c:8622
++#: config/frv/frv.c:8626
+ #, fuzzy, gcc-internal-format
+ msgid "accumulator is not a constant integer"
+ msgstr "`asm' ¤Î°ú¿ô¤¬Äê¿ôʸ»úÎó¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó "
+
+-#: config/frv/frv.c:8627
++#: config/frv/frv.c:8631
+ #, gcc-internal-format
+ msgid "accumulator number is out of bounds"
+ msgstr ""
+
+-#: config/frv/frv.c:8638
++#: config/frv/frv.c:8642
+ #, gcc-internal-format
+ msgid "inappropriate accumulator for %qs"
+ msgstr ""
+
+-#: config/frv/frv.c:8715
++#: config/frv/frv.c:8719
+ #, fuzzy, gcc-internal-format
+ msgid "invalid IACC argument"
+ msgstr "̵¸ú¤Ê·¿°ú¿ô¤Ç¤¹"
+
+-#: config/frv/frv.c:8738
++#: config/frv/frv.c:8742
+ #, gcc-internal-format
+ msgid "%qs expects a constant argument"
+ msgstr ""
+
+-#: config/frv/frv.c:8743
++#: config/frv/frv.c:8747
+ #, fuzzy, gcc-internal-format
+ msgid "constant argument out of range for %qs"
+ msgstr "±é»»»ÒÈֹ椬¥Õ¥©¡¼¥Þ¥Ã¥È¤ÎÈϰϳ°¤Ç¤¹"
+
+-#: config/frv/frv.c:9224
++#: config/frv/frv.c:9228
+ #, gcc-internal-format
+ msgid "media functions are not available unless -mmedia is used"
+ msgstr ""
+
+-#: config/frv/frv.c:9236
++#: config/frv/frv.c:9240
+ #, gcc-internal-format
+ msgid "this media function is only available on the fr500"
+ msgstr ""
+
+-#: config/frv/frv.c:9264
++#: config/frv/frv.c:9268
+ #, gcc-internal-format
+ msgid "this media function is only available on the fr400 and fr550"
+ msgstr ""
+
+-#: config/frv/frv.c:9283
++#: config/frv/frv.c:9287
+ #, gcc-internal-format
+ msgid "this builtin function is only available on the fr405 and fr450"
+ msgstr ""
+
+-#: config/frv/frv.c:9292
++#: config/frv/frv.c:9296
+ #, gcc-internal-format
+ msgid "this builtin function is only available on the fr500 and fr550"
+ msgstr ""
+
+-#: config/frv/frv.c:9304
++#: config/frv/frv.c:9308
+ #, gcc-internal-format
+ msgid "this builtin function is only available on the fr450"
+ msgstr ""
+@@ -25693,311 +25649,316 @@
+ msgid "can't set position in PCH file: %m"
+ msgstr "¥Õ¥¡¥¤¥ë `%s' ¤Ë¥ê¥Ý¥¸¥È¥ê¾ðÊó¤òºîÀ®¤Ç¤­¤Þ¤»¤ó"
+
+-#: config/i386/i386.c:2133 config/i386/i386.c:2333
++#: config/i386/i386.c:2158 config/i386/i386.c:2358
+ #, fuzzy, gcc-internal-format
+ msgid "bad value (%s) for -mtune= switch"
+ msgstr "-mcpu= ¥¹¥¤¥Ã¥Á¤ËÂФ¹¤ëÉÔÀµ¤ÊÃÍ (%s)"
+
+-#: config/i386/i386.c:2174
++#: config/i386/i386.c:2199
+ #, fuzzy, gcc-internal-format
+ msgid "bad value (%s) for -mstringop-strategy= switch"
+ msgstr "-mips ¥¹¥¤¥Ã¥Á¤ËÂФ¹¤ëÉÔÀµ¤ÊÃÍ (%s)"
+
+-#: config/i386/i386.c:2177
++#: config/i386/i386.c:2202
+ #, gcc-internal-format
+ msgid "-mtune=x86-64 is deprecated. Use -mtune=k8 or -mtune=generic instead as appropriate."
+ msgstr ""
+
+-#: config/i386/i386.c:2186
++#: config/i386/i386.c:2211
+ #, gcc-internal-format
+ msgid "generic CPU can be used only for -mtune= switch"
+ msgstr ""
+
+-#: config/i386/i386.c:2188 config/i386/i386.c:2297 config/mt/mt.c:804
++#: config/i386/i386.c:2213 config/i386/i386.c:2322 config/mt/mt.c:804
+ #, gcc-internal-format
+ msgid "bad value (%s) for -march= switch"
+ msgstr "-march= ¥¹¥¤¥Ã¥Á¤ËÂФ¹¤ëÉÔÀµ¤ÊÃÍ (%s)"
+
+-#: config/i386/i386.c:2199
++#: config/i386/i386.c:2224
+ #, fuzzy, gcc-internal-format
+ msgid "code model %s does not support PIC mode"
+ msgstr "%s ¤Ï %s ¤ò¼õ¤±ÉÕ¤±¤Þ¤»¤ó"
+
+-#: config/i386/i386.c:2205 config/sparc/sparc.c:725
++#: config/i386/i386.c:2230 config/sparc/sparc.c:728
+ #, gcc-internal-format
+ msgid "bad value (%s) for -mcmodel= switch"
+ msgstr "-mcmodel= ¥¹¥¤¥Ã¥Á¤Ë¤È¤Ã¤ÆÉÔÀµ¤ÊÃÍ (%s)"
+
+-#: config/i386/i386.c:2228
++#: config/i386/i386.c:2253
+ #, fuzzy, gcc-internal-format
+ msgid "bad value (%s) for -masm= switch"
+ msgstr "-mabi= ¥¹¥¤¥Ã¥Á¤ËÂФ¹¤ëÉÔÀµ¤ÊÃÍ (%s)"
+
+-#: config/i386/i386.c:2231
++#: config/i386/i386.c:2256
+ #, fuzzy, gcc-internal-format
+ msgid "code model %qs not supported in the %s bit mode"
+ msgstr "-mcmodel= ¤Ï 32 bit ¥·¥¹¥Æ¥à¾å¤Ç¤Ï¥µ¥Ý¡¼¥È¤µ¤ì¤Þ¤»¤ó"
+
+-#: config/i386/i386.c:2234
++#: config/i386/i386.c:2259
+ #, gcc-internal-format
+ msgid "%i-bit mode not compiled in"
+ msgstr ""
+
+-#: config/i386/i386.c:2245 config/i386/i386.c:2319
++#: config/i386/i386.c:2270 config/i386/i386.c:2344
+ #, fuzzy, gcc-internal-format
+ msgid "CPU you selected does not support x86-64 instruction set"
+ msgstr "¥¿¡¼¥²¥Ã¥È CPU ¤Ï THUMB Ì¿Îá¤ò¥µ¥Ý¡¼¥È¤·¤Þ¤»¤ó"
+
+-#: config/i386/i386.c:2351
++#: config/i386/i386.c:2376
+ #, gcc-internal-format
+ msgid "-mregparm is ignored in 64-bit mode"
+ msgstr ""
+
+-#: config/i386/i386.c:2354
++#: config/i386/i386.c:2379
+ #, gcc-internal-format
+ msgid "-mregparm=%d is not between 0 and %d"
+ msgstr "-mregparm=%d ¤¬ 0 ¤«¤é %d ¤Î´Ö¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó"
+
+-#: config/i386/i386.c:2366
++#: config/i386/i386.c:2391
+ #, fuzzy, gcc-internal-format
+ msgid "-malign-loops is obsolete, use -falign-loops"
+ msgstr "-malign-loops=%d ¤¬ 0 ¤«¤é %d ¤Î´Ö¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó"
+
+-#: config/i386/i386.c:2371 config/i386/i386.c:2384 config/i386/i386.c:2397
++#: config/i386/i386.c:2396 config/i386/i386.c:2409 config/i386/i386.c:2422
+ #, gcc-internal-format
+ msgid "-malign-loops=%d is not between 0 and %d"
+ msgstr "-malign-loops=%d ¤¬ 0 ¤«¤é %d ¤Î´Ö¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó"
+
+-#: config/i386/i386.c:2379
++#: config/i386/i386.c:2404
+ #, fuzzy, gcc-internal-format
+ msgid "-malign-jumps is obsolete, use -falign-jumps"
+ msgstr "-malign-jumps=%d ¤¬ 0 ¤«¤é %d ¤Î´Ö¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó"
+
+-#: config/i386/i386.c:2392
++#: config/i386/i386.c:2417
+ #, fuzzy, gcc-internal-format
+ msgid "-malign-functions is obsolete, use -falign-functions"
+ msgstr "-malign-functions=%d ¤¬ 0 ¤«¤é %d ¤Î´Ö¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó"
+
+-#: config/i386/i386.c:2425
++#: config/i386/i386.c:2450
+ #, gcc-internal-format
+ msgid "-mbranch-cost=%d is not between 0 and 5"
+ msgstr "-mbranch-cost=%d ¤¬ 0 ¤«¤é 5 ¤Î´Ö¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó"
+
+-#: config/i386/i386.c:2433
++#: config/i386/i386.c:2458
+ #, gcc-internal-format
+ msgid "-mlarge-data-threshold=%d is negative"
+ msgstr ""
+
+-#: config/i386/i386.c:2447
++#: config/i386/i386.c:2472
+ #, fuzzy, gcc-internal-format
+ msgid "bad value (%s) for -mtls-dialect= switch"
+ msgstr "-msdata ¥¹¥¤¥Ã¥Á¤ËÂФ¹¤ëÉÔÀµ¤ÊÃÍ (%s)"
+
+-#: config/i386/i386.c:2455
++#: config/i386/i386.c:2480
+ #, gcc-internal-format
+ msgid "pc%d is not valid precision setting (32, 64 or 80)"
+ msgstr ""
+
+-#: config/i386/i386.c:2471
++#: config/i386/i386.c:2496
+ #, gcc-internal-format
+ msgid "-mrtd is ignored in 64bit mode"
+ msgstr ""
+
+-#: config/i386/i386.c:2560
++#: config/i386/i386.c:2585
+ #, fuzzy, gcc-internal-format
+ msgid "-mpreferred-stack-boundary=%d is not between %d and 12"
+ msgstr "-mpreferred-stack-boundary=%d ¤¬ 2 ¤«¤é 31 ¤Î´Ö¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó"
+
+-#: config/i386/i386.c:2569
++#: config/i386/i386.c:2594
+ #, gcc-internal-format
+ msgid "-msseregparm used without SSE enabled"
+ msgstr ""
+
+-#: config/i386/i386.c:2580 config/i386/i386.c:2591
++#: config/i386/i386.c:2605 config/i386/i386.c:2616
+ #, fuzzy, gcc-internal-format
+ msgid "SSE instruction set disabled, using 387 arithmetics"
+ msgstr "´Ø¿ô¥Ý¥¤¥ó¥¿¤¬·×»»¤Ç»È¤ï¤ì¤Þ¤·¤¿"
+
+-#: config/i386/i386.c:2596
++#: config/i386/i386.c:2621
+ #, fuzzy, gcc-internal-format
+ msgid "387 instruction set disabled, using SSE arithmetics"
+ msgstr "´Ø¿ô¥Ý¥¤¥ó¥¿¤¬·×»»¤Ç»È¤ï¤ì¤Þ¤·¤¿"
+
+-#: config/i386/i386.c:2603
++#: config/i386/i386.c:2628
+ #, fuzzy, gcc-internal-format
+ msgid "bad value (%s) for -mfpmath= switch"
+ msgstr "-march= ¥¹¥¤¥Ã¥Á¤ËÂФ¹¤ëÉÔÀµ¤ÊÃÍ (%s)"
+
+-#: config/i386/i386.c:2616
++#: config/i386/i386.c:2641
+ #, gcc-internal-format
+ msgid "unknown vectorization library ABI type (%s) for -mveclibabi= switch"
+ msgstr ""
+
+-#: config/i386/i386.c:2635
++#: config/i386/i386.c:2660
+ #, gcc-internal-format
+ msgid "unwind tables currently require either a frame pointer or -maccumulate-outgoing-args for correctness"
+ msgstr ""
+
+-#: config/i386/i386.c:3022 config/i386/i386.c:3075
++#: config/i386/i386.c:3053 config/i386/i386.c:3106
+ #, fuzzy, gcc-internal-format
+ msgid "fastcall and regparm attributes are not compatible"
+ msgstr "shared ¤È mdll ¤È¤Ï¶¦Â¸¤Ç¤­¤Þ¤»¤ó"
+
+-#: config/i386/i386.c:3029
++#: config/i386/i386.c:3060
+ #, fuzzy, gcc-internal-format
+ msgid "%qs attribute requires an integer constant argument"
+ msgstr "3 ¤Ä¤Î 'l' ÀÜÈø¼­¤¬À°¿ôÄê¿ô¤Ë¤Ä¤¤¤Æ¤¤¤Þ¤¹"
+
+-#: config/i386/i386.c:3035
++#: config/i386/i386.c:3066
+ #, fuzzy, gcc-internal-format
+ msgid "argument to %qs attribute larger than %d"
+ msgstr "ÄêµÁ¤Î¸å¤Ç `%s' °À­¤ò¥»¥Ã¥È¤¹¤ë¤³¤È¤Ï¤Ç¤­¤Þ¤»¤ó"
+
+-#: config/i386/i386.c:3045
++#: config/i386/i386.c:3076
+ #, gcc-internal-format
+ msgid "%s functions limited to %d register parameters"
+ msgstr ""
+
+-#: config/i386/i386.c:3067 config/i386/i386.c:3102
++#: config/i386/i386.c:3098 config/i386/i386.c:3133
+ #, fuzzy, gcc-internal-format
+ msgid "fastcall and cdecl attributes are not compatible"
+ msgstr "shared ¤È mdll ¤È¤Ï¶¦Â¸¤Ç¤­¤Þ¤»¤ó"
+
+-#: config/i386/i386.c:3071
++#: config/i386/i386.c:3102
+ #, fuzzy, gcc-internal-format
+ msgid "fastcall and stdcall attributes are not compatible"
+ msgstr "shared ¤È mdll ¤È¤Ï¶¦Â¸¤Ç¤­¤Þ¤»¤ó"
+
+-#: config/i386/i386.c:3085 config/i386/i386.c:3098
++#: config/i386/i386.c:3116 config/i386/i386.c:3129
+ #, fuzzy, gcc-internal-format
+ msgid "stdcall and cdecl attributes are not compatible"
+ msgstr "shared ¤È mdll ¤È¤Ï¶¦Â¸¤Ç¤­¤Þ¤»¤ó"
+
+-#: config/i386/i386.c:3089
++#: config/i386/i386.c:3120
+ #, fuzzy, gcc-internal-format
+ msgid "stdcall and fastcall attributes are not compatible"
+ msgstr "shared ¤È mdll ¤È¤Ï¶¦Â¸¤Ç¤­¤Þ¤»¤ó"
+
+-#: config/i386/i386.c:3236
++#: config/i386/i386.c:3271
+ #, gcc-internal-format
+ msgid "Calling %qD with attribute sseregparm without SSE/SSE2 enabled"
+ msgstr ""
+
+-#: config/i386/i386.c:3239
++#: config/i386/i386.c:3274
+ #, gcc-internal-format
+ msgid "Calling %qT with attribute sseregparm without SSE/SSE2 enabled"
+ msgstr ""
+
+-#: config/i386/i386.c:3925
++#: config/i386/i386.c:3971
+ #, gcc-internal-format
+ msgid "SSE register return with SSE disabled"
+ msgstr ""
+
+-#: config/i386/i386.c:3931
++#: config/i386/i386.c:3977
+ #, gcc-internal-format
+ msgid "SSE register argument with SSE disabled"
+ msgstr ""
+
+-#: config/i386/i386.c:3947
++#: config/i386/i386.c:3993
+ #, gcc-internal-format
+ msgid "x87 register return with x87 disabled"
+ msgstr ""
+
+-#: config/i386/i386.c:4265
++#: config/i386/i386.c:4314
+ #, gcc-internal-format
+ msgid "SSE vector argument without SSE enabled changes the ABI"
+ msgstr ""
+
+-#: config/i386/i386.c:4283
++#: config/i386/i386.c:4332
+ #, gcc-internal-format
+ msgid "MMX vector argument without MMX enabled changes the ABI"
+ msgstr ""
+
+-#: config/i386/i386.c:4810
++#: config/i386/i386.c:4859
+ #, gcc-internal-format
+ msgid "SSE vector return without SSE enabled changes the ABI"
+ msgstr ""
+
+-#: config/i386/i386.c:4820
++#: config/i386/i386.c:4869
+ #, gcc-internal-format
+ msgid "MMX vector return without MMX enabled changes the ABI"
+ msgstr ""
+
+-#: config/i386/i386.c:6171
++#: config/i386/i386.c:6220
+ #, fuzzy, gcc-internal-format
+ msgid "-mstackrealign ignored for nested functions"
+ msgstr "ISO C ¤Ï ¥Í¥¹¥È¤µ¤ì¤¿´Ø¿ô¤ò¶Ø¤¸¤Þ¤¹"
+
+-#: config/i386/i386.c:6173
++#: config/i386/i386.c:6222
+ #, fuzzy, gcc-internal-format
+ msgid "%s not supported for nested functions"
+ msgstr "%s ¤Ï¤³¤Î¥³¥ó¥Õ¥£¥®¥å¥ì¡¼¥·¥ç¥ó¤Ç¤Ï¥µ¥Ý¡¼¥È¤µ¤ì¤Þ¤»¤ó"
+
+-#: config/i386/i386.c:8576
++#: config/i386/i386.c:8631
+ #, gcc-internal-format
+ msgid "extended registers have no high halves"
+ msgstr ""
+
+-#: config/i386/i386.c:8591
++#: config/i386/i386.c:8646
+ #, gcc-internal-format
+ msgid "unsupported operand size for extended register"
+ msgstr ""
+
+-#: config/i386/i386.c:19610
++#: config/i386/i386.c:19694
+ #, fuzzy, gcc-internal-format
+ msgid "the third argument must be a 4-bit immediate"
+ msgstr "¥»¥ì¥¯¥¿¤Ï¨ÃͤǤʤ±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó"
+
+-#: config/i386/i386.c:19614
++#: config/i386/i386.c:19698
+ #, fuzzy, gcc-internal-format
+ msgid "the third argument must be an 8-bit immediate"
+ msgstr "¥»¥ì¥¯¥¿¤Ï¨ÃͤǤʤ±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó"
+
+-#: config/i386/i386.c:19836
++#: config/i386/i386.c:19920
+ #, fuzzy, gcc-internal-format
+ msgid "last argument must be an immediate"
+ msgstr "¥Þ¥¹¥¯¤Ï¨ÃͤǤʤ±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó"
+
+-#: config/i386/i386.c:19963
++#: config/i386/i386.c:20047
+ #, fuzzy, gcc-internal-format
+ msgid "the second argument must be a 4-bit immediate"
+ msgstr "¥»¥ì¥¯¥¿¤Ï¨ÃͤǤʤ±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó"
+
+-#: config/i386/i386.c:20209
++#: config/i386/i386.c:20293
+ #, fuzzy, gcc-internal-format
+ msgid "the fifth argument must be a 8-bit immediate"
+ msgstr "¥»¥ì¥¯¥¿¤Ï¨ÃͤǤʤ±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó"
+
+-#: config/i386/i386.c:20304
++#: config/i386/i386.c:20388
+ #, fuzzy, gcc-internal-format
+ msgid "the third argument must be a 8-bit immediate"
+ msgstr "¥»¥ì¥¯¥¿¤Ï¨ÃͤǤʤ±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó"
+
+-#: config/i386/i386.c:20374 config/rs6000/rs6000.c:8133
++#: config/i386/i386.c:20458 config/rs6000/rs6000.c:8240
+ #, gcc-internal-format
+ msgid "selector must be an integer constant in the range 0..%wi"
+ msgstr ""
+
+-#: config/i386/i386.c:20774 config/i386/i386.c:20970
++#: config/i386/i386.c:20858 config/i386/i386.c:21054
+ #, fuzzy, gcc-internal-format
+ msgid "shift must be an immediate"
+ msgstr "¥Þ¥¹¥¯¤Ï¨ÃͤǤʤ±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó"
+
+-#: config/i386/i386.c:21033 config/i386/i386.c:21075
++#: config/i386/i386.c:21117 config/i386/i386.c:21159
+ #, fuzzy, gcc-internal-format
+ msgid "index mask must be an immediate"
+ msgstr "¥Þ¥¹¥¯¤Ï¨ÃͤǤʤ±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó"
+
+-#: config/i386/i386.c:21038 config/i386/i386.c:21080
++#: config/i386/i386.c:21122 config/i386/i386.c:21164
+ #, fuzzy, gcc-internal-format
+ msgid "length mask must be an immediate"
+ msgstr "¥Þ¥¹¥¯¤Ï¨ÃͤǤʤ±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó"
+
+-#: config/i386/i386.c:22525 config/rs6000/rs6000.c:19666
++#: config/i386/i386.c:22609 config/rs6000/rs6000.c:19883
+ #, fuzzy, gcc-internal-format
+ msgid "%qs incompatible attribute ignored"
+ msgstr "`%s' °À­¤Ï̵»ë¤µ¤ì¤Þ¤·¤¿"
+
++#: config/i386/netware.c:253
++#, fuzzy, gcc-internal-format
++msgid "-fPIC and -fpic are not supported for this target"
++msgstr "-fdata-sections ¤Ï¤³¤Î¥¿¡¼¥²¥Ã¥È¤Ç¼õ¤±Æþ¤ì¤é¤ì¤Þ¤»¤ó"
++
+ #: config/i386/winnt-cxx.c:71 config/sh/symbian.c:172
+ #, gcc-internal-format
+ msgid "definition of static data member %q+D of dllimport'd class"
+@@ -26063,57 +26024,57 @@
+ msgid "%Jaddress area attribute cannot be specified for functions"
+ msgstr "¥Ç¡¼¥¿Îΰè°À­¤ò¥í¡¼¥«¥ëÊÑ¿ô¤Ë¤Ï»ØÄê¤Ç¤­¤Þ¤»¤ó"
+
+-#: config/ia64/ia64.c:5126 config/pa/pa.c:347 config/spu/spu.c:3875
++#: config/ia64/ia64.c:5127 config/pa/pa.c:350 config/spu/spu.c:3864
+ #, gcc-internal-format
+ msgid "value of -mfixed-range must have form REG1-REG2"
+ msgstr "-mfixed-range ¤ÎÃÍ¤Ï REG1-REG2 ·Á¼°¤ò»ý¤¿¤Í¤Ð¤Ê¤ê¤Þ¤»¤ó"
+
+-#: config/ia64/ia64.c:5153 config/pa/pa.c:374 config/spu/spu.c:3901
++#: config/ia64/ia64.c:5154 config/pa/pa.c:377 config/spu/spu.c:3890
+ #, gcc-internal-format
+ msgid "%s-%s is an empty range"
+ msgstr "%s-%s ¤¬¶õ¤ÎÈϰϤǤ¹"
+
+-#: config/ia64/ia64.c:5181
++#: config/ia64/ia64.c:5182
+ #, fuzzy, gcc-internal-format
+ msgid "bad value %<%s%> for -mtls-size= switch"
+ msgstr "-mabi= ¥¹¥¤¥Ã¥Á¤ËÂФ¹¤ëÉÔÀµ¤ÊÃÍ (%s)"
+
+-#: config/ia64/ia64.c:5209
++#: config/ia64/ia64.c:5210
+ #, fuzzy, gcc-internal-format
+ msgid "bad value %<%s%> for -mtune= switch"
+ msgstr "-mcpu= ¥¹¥¤¥Ã¥Á¤ËÂФ¹¤ëÉÔÀµ¤ÊÃÍ (%s)"
+
+-#: config/ia64/ia64.c:5228
++#: config/ia64/ia64.c:5229
+ #, gcc-internal-format
+ msgid "not yet implemented: latency-optimized inline square root"
+ msgstr ""
+
+-#: config/ia64/ia64.c:9950
++#: config/ia64/ia64.c:9951
+ #, fuzzy, gcc-internal-format
+ msgid "version attribute is not a string"
+ msgstr "#line ¤Î¸å¤ÎÆó¤ÄÌܤΥȡ¼¥¯¥ó¤¬Ê¸»úÎó¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó"
+
+-#: config/iq2000/iq2000.c:1812
++#: config/iq2000/iq2000.c:1816
+ #, fuzzy, gcc-internal-format
+ msgid "gp_offset (%ld) or end_offset (%ld) is less than zero"
+ msgstr "gp_offset (%ld) Ëô¤Ï end_offset (%ld) ¤¬¥¼¥í¤è¤ê¤â¾®¤µ¤¯¤Ê¤Ã¤Æ¤¤¤Þ¤¹"
+
+-#: config/iq2000/iq2000.c:2583
++#: config/iq2000/iq2000.c:2587
+ #, fuzzy, gcc-internal-format
+ msgid "argument %qd is not a constant"
+ msgstr "`asm' ¤Î°ú¿ô¤¬Äê¿ôʸ»úÎó¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó "
+
+-#: config/iq2000/iq2000.c:2885 config/mt/mt.c:349 config/xtensa/xtensa.c:2118
++#: config/iq2000/iq2000.c:2889 config/mt/mt.c:349 config/xtensa/xtensa.c:2124
+ #, gcc-internal-format
+ msgid "PRINT_OPERAND_ADDRESS, null pointer"
+ msgstr "PRINT_OPERAND_ADDRESS, null ¥Ý¥¤¥ó¥¿"
+
+-#: config/iq2000/iq2000.c:3040
++#: config/iq2000/iq2000.c:3044
+ #, gcc-internal-format
+ msgid "PRINT_OPERAND: Unknown punctuation '%c'"
+ msgstr "PRINT_OPERAND: ÉÔÌÀ¤Ê¶çÆÉÅÀ '%c'"
+
+-#: config/iq2000/iq2000.c:3049 config/xtensa/xtensa.c:1972
++#: config/iq2000/iq2000.c:3053 config/xtensa/xtensa.c:1978
+ #, gcc-internal-format
+ msgid "PRINT_OPERAND null pointer"
+ msgstr "PRINT_OPERAND NULL ¥Ý¥¤¥ó¥¿"
+@@ -26138,22 +26099,22 @@
+ msgid "invalid target memregs value '%d'"
+ msgstr "̵¸ú¤Ê¥Ñ¥é¥á¥¿ÃÍ `%s'"
+
+-#: config/m32c/m32c.c:2759
++#: config/m32c/m32c.c:2766
+ #, fuzzy, gcc-internal-format
+ msgid "`%s' attribute is not supported for R8C target"
+ msgstr "¥»¥¯¥·¥ç¥ó°À­¤Ï¤³¤Î¥¿¡¼¥²¥Ã¥È¤Ç¤Ï¼ÂÁõ¤µ¤ì¤Æ¤¤¤Þ¤»¤ó"
+
+-#: config/m32c/m32c.c:2767
++#: config/m32c/m32c.c:2774
+ #, gcc-internal-format
+ msgid "`%s' attribute applies only to functions"
+ msgstr "`%s' °À­¤Ï´Ø¿ô¤ËÂФ·¤Æ¤Î¤ßŬÍѤµ¤ì¤Þ¤¹"
+
+-#: config/m32c/m32c.c:2775
++#: config/m32c/m32c.c:2782
+ #, fuzzy, gcc-internal-format
+ msgid "`%s' attribute argument not an integer constant"
+ msgstr "¥Ó¥Ã¥È¥Õ¥£¡¼¥ë¥É `%s' ¤ÎÉý¤¬À°¿ôÄê¿ô¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó"
+
+-#: config/m32c/m32c.c:2784
++#: config/m32c/m32c.c:2791
+ #, gcc-internal-format
+ msgid "`%s' attribute argument should be between 18 to 255"
+ msgstr ""
+@@ -26203,7 +26164,7 @@
+ msgid "interrupt_thread is available only on fido"
+ msgstr ""
+
+-#: config/m68k/m68k.c:1072 config/rs6000/rs6000.c:15014
++#: config/m68k/m68k.c:1072 config/rs6000/rs6000.c:15226
+ #, gcc-internal-format
+ msgid "stack limit expression is not supported"
+ msgstr "¥¹¥¿¥Ã¥¯À©¸Â¼°¤ò¼õ¤±ÉÕ¤±¤Þ¤»¤ó"
+@@ -26218,114 +26179,114 @@
+ msgid "%qs redeclared with conflicting %qs attributes"
+ msgstr ""
+
+-#: config/mips/mips.c:2348
++#: config/mips/mips.c:2382
+ #, gcc-internal-format
+ msgid "MIPS16 TLS"
+ msgstr ""
+
+-#: config/mips/mips.c:5439
++#: config/mips/mips.c:5500
+ #, fuzzy, gcc-internal-format
+ msgid "cannot handle inconsistent calls to %qs"
+ msgstr "`%s' ¤Ø¤ÎÌ·½â¤·¤¿¸Æ¤Ó½Ð¤·¤òÊ᪤Ǥ­¤Þ¤»¤ó"
+
+-#: config/mips/mips.c:10258
++#: config/mips/mips.c:10337
+ #, fuzzy, gcc-internal-format
+ msgid "invalid argument to built-in function"
+ msgstr "´Ø¿ô¤ËÂФ¹¤ë°ú¿ô¤¬Â¿¤¹¤®¤Þ¤¹"
+
+-#: config/mips/mips.c:10530
++#: config/mips/mips.c:10609
+ #, fuzzy, gcc-internal-format
+ msgid "built-in function %qs not supported for MIPS16"
+ msgstr "ÁȤ߹þ¤ß´Ø¿ô `%s' ¤Ï¸½ºß¥µ¥Ý¡¼¥È¤µ¤ì¤Æ¤¤¤Þ¤»¤ó"
+
+-#: config/mips/mips.c:11679 config/mips/mips.c:12065
++#: config/mips/mips.c:11751 config/mips/mips.c:12137
+ #, gcc-internal-format
+ msgid "MIPS16 PIC"
+ msgstr ""
+
+-#: config/mips/mips.c:11682
++#: config/mips/mips.c:11754
+ #, gcc-internal-format
+ msgid "hard-float MIPS16 code for ABIs other than o32 and o64"
+ msgstr ""
+
+-#: config/mips/mips.c:11810
++#: config/mips/mips.c:11882
+ #, fuzzy, gcc-internal-format
+ msgid "CPU names must be lower case"
+ msgstr "¥·¥ó¥Ü¥ë̾¤ò¾®Ê¸»ú¤È¤¹¤ë"
+
+-#: config/mips/mips.c:11938
++#: config/mips/mips.c:12010
+ #, gcc-internal-format
+ msgid "%<-%s%> conflicts with the other architecture options, which specify a %s processor"
+ msgstr ""
+
+-#: config/mips/mips.c:11954
++#: config/mips/mips.c:12026
+ #, gcc-internal-format
+ msgid "%<-march=%s%> is not compatible with the selected ABI"
+ msgstr ""
+
+-#: config/mips/mips.c:11969
++#: config/mips/mips.c:12041
+ #, gcc-internal-format
+ msgid "%<-mgp64%> used with a 32-bit processor"
+ msgstr ""
+
+-#: config/mips/mips.c:11971
++#: config/mips/mips.c:12043
+ #, gcc-internal-format
+ msgid "%<-mgp32%> used with a 64-bit ABI"
+ msgstr ""
+
+-#: config/mips/mips.c:11973
++#: config/mips/mips.c:12045
+ #, gcc-internal-format
+ msgid "%<-mgp64%> used with a 32-bit ABI"
+ msgstr ""
+
+-#: config/mips/mips.c:11989 config/mips/mips.c:11991 config/mips/mips.c:12058
++#: config/mips/mips.c:12061 config/mips/mips.c:12063 config/mips/mips.c:12130
+ #, fuzzy, gcc-internal-format
+ msgid "unsupported combination: %s"
+ msgstr "¥µ¥Ý¡¼¥È¤µ¤ì¤Æ¤¤¤Ê¤¤¥Ð¡¼¥¸¥ç¥ó¤Ç¤¹"
+
+-#: config/mips/mips.c:11995
++#: config/mips/mips.c:12067
+ #, gcc-internal-format
+ msgid "%<-mgp32%> and %<-mfp64%> can only be combined if the target supports the mfhc1 and mthc1 instructions"
+ msgstr ""
+
+-#: config/mips/mips.c:11998
++#: config/mips/mips.c:12070
+ #, gcc-internal-format
+ msgid "%<-mgp32%> and %<-mfp64%> can only be combined when using the o32 ABI"
+ msgstr ""
+
+-#: config/mips/mips.c:12052
++#: config/mips/mips.c:12124
+ #, fuzzy, gcc-internal-format
+ msgid "the %qs architecture does not support branch-likely instructions"
+ msgstr "¥¿¡¼¥²¥Ã¥È CPU ¤Ï THUMB Ì¿Îá¤ò¥µ¥Ý¡¼¥È¤·¤Þ¤»¤ó"
+
+-#: config/mips/mips.c:12098
++#: config/mips/mips.c:12170
+ #, gcc-internal-format
+ msgid "%<-mno-gpopt%> needs %<-mexplicit-relocs%>"
+ msgstr ""
+
+-#: config/mips/mips.c:12106 config/mips/mips.c:12109
++#: config/mips/mips.c:12178 config/mips/mips.c:12181
+ #, gcc-internal-format
+ msgid "cannot use small-data accesses for %qs"
+ msgstr ""
+
+-#: config/mips/mips.c:12123
++#: config/mips/mips.c:12195
+ #, gcc-internal-format
+ msgid "%<-mips3d%> requires %<-mpaired-single%>"
+ msgstr ""
+
+-#: config/mips/mips.c:12132
++#: config/mips/mips.c:12204
+ #, fuzzy, gcc-internal-format
+ msgid "%qs must be used with %qs"
+ msgstr "-frepo ¤Ï -c ÉÕ¤­¤Ç¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó"
+
+-#: config/mips/mips.c:12139
++#: config/mips/mips.c:12211
+ #, fuzzy, gcc-internal-format
+ msgid "the %qs architecture does not support paired-single instructions"
+ msgstr "¥¿¡¼¥²¥Ã¥È CPU ¤Ï THUMB Ì¿Îá¤ò¥µ¥Ý¡¼¥È¤·¤Þ¤»¤ó"
+
+ #. Output assembler code to FILE to increment profiler label # LABELNO
+ #. for profiling a function entry.
+-#: config/mips/mips.h:2110
++#: config/mips/mips.h:2111
+ #, gcc-internal-format
+ msgid "mips16 function profiling"
+ msgstr "mips16 ´Ø¿ô¥×¥í¥Õ¥¡¥¤¥ë"
+@@ -26355,28 +26316,28 @@
+ msgid "MMIX Internal: Last named vararg would not fit in a register"
+ msgstr ""
+
+-#: config/mmix/mmix.c:1495 config/mmix/mmix.c:1519 config/mmix/mmix.c:1635
++#: config/mmix/mmix.c:1491 config/mmix/mmix.c:1515 config/mmix/mmix.c:1631
+ #, gcc-internal-format
+ msgid "MMIX Internal: Bad register: %d"
+ msgstr ""
+
+ #. Presumably there's a missing case above if we get here.
+-#: config/mmix/mmix.c:1627
++#: config/mmix/mmix.c:1623
+ #, gcc-internal-format
+ msgid "MMIX Internal: Missing %qc case in mmix_print_operand"
+ msgstr ""
+
+-#: config/mmix/mmix.c:1913
++#: config/mmix/mmix.c:1909
+ #, gcc-internal-format
+ msgid "stack frame not a multiple of 8 bytes: %wd"
+ msgstr ""
+
+-#: config/mmix/mmix.c:2149
++#: config/mmix/mmix.c:2145
+ #, gcc-internal-format
+ msgid "stack frame not a multiple of octabyte: %wd"
+ msgstr ""
+
+-#: config/mmix/mmix.c:2489 config/mmix/mmix.c:2553
++#: config/mmix/mmix.c:2485 config/mmix/mmix.c:2549
+ #, gcc-internal-format
+ msgid "MMIX Internal: %s is not a shiftable int"
+ msgstr ""
+@@ -26386,27 +26347,27 @@
+ msgid "info pointer NULL"
+ msgstr ""
+
+-#: config/pa/pa.c:479
++#: config/pa/pa.c:482
+ #, fuzzy, gcc-internal-format
+ msgid "PIC code generation is not supported in the portable runtime model"
+ msgstr "PIC ¥³¡¼¥ÉÀ¸À®¤Ï²Äȼ¹Իþ¥â¥Ç¥ë¤Ç¤Ï¥µ¥Ý¡¼¥È¤µ¤ì¤Þ¤»¤ó\n"
+
+-#: config/pa/pa.c:484
++#: config/pa/pa.c:487
+ #, fuzzy, gcc-internal-format
+ msgid "PIC code generation is not compatible with fast indirect calls"
+ msgstr "PIC ¥³¡¼¥ÉÀ¸À®¤Ï¹â®´ÖÀܸƤӽФ·¤ÈÁêÍƤì¤Þ¤»¤ó\n"
+
+-#: config/pa/pa.c:489
++#: config/pa/pa.c:492
+ #, gcc-internal-format
+ msgid "-g is only supported when using GAS on this processor,"
+ msgstr "-g ¤Ï¤³¤Î¥×¥í¥»¥Ã¥µ¤Ç¤Ï GAS ¤ò»ÈÍѤ¹¤ë»þ¤À¤±¥µ¥Ý¡¼¥È¤µ¤ì¤Þ¤¹"
+
+-#: config/pa/pa.c:490
++#: config/pa/pa.c:493
+ #, fuzzy, gcc-internal-format
+ msgid "-g option disabled"
+ msgstr "-g ¥ª¥×¥·¥ç¥ó¤ò̵¸ú²½¤·¤Þ¤·¤¿¡£"
+
+-#: config/pa/pa.c:8285
++#: config/pa/pa.c:8373
+ #, gcc-internal-format
+ msgid "alignment (%u) for %s exceeds maximum alignment for global common data. Using %u"
+ msgstr ""
+@@ -26475,250 +26436,251 @@
+ msgid "junk at end of #pragma longcall"
+ msgstr "#pragma map ¤Î½ª¤ê¤Ë¥´¥ß¤¬¤¢¤ê¤Þ¤¹"
+
+-#: config/rs6000/rs6000-c.c:2550
++#: config/rs6000/rs6000-c.c:2553
+ #, fuzzy, gcc-internal-format
+ msgid "passing arg %d of %qE discards qualifiers frompointer target type"
+ msgstr "¥­¥ã¥¹¥È¤Ë¤è¤Ã¤Æ¥Ý¥¤¥ó¥¿¤¬¼¨¤¹·¿¤«¤é½¤¾þ»Ò¤¬ÀÚ¤ê¼Î¤Æ¤é¤ì¤Þ¤¹"
+
+-#: config/rs6000/rs6000-c.c:2593
++#: config/rs6000/rs6000-c.c:2596
+ #, gcc-internal-format
+ msgid "invalid parameter combination for AltiVec intrinsic"
+ msgstr ""
+
+-#: config/rs6000/rs6000.c:1294
++#: config/rs6000/rs6000.c:1312
+ #, gcc-internal-format
+ msgid "-mdynamic-no-pic overrides -fpic or -fPIC"
+ msgstr ""
+
+-#: config/rs6000/rs6000.c:1305
++#: config/rs6000/rs6000.c:1323
+ #, fuzzy, gcc-internal-format
+ msgid "-m64 requires PowerPC64 architecture, enabling"
+ msgstr "PowerPC64 ¥¢¡¼¥­¥Æ¥¯¥Á¥ã¤Ç¤Ê¤¤¤È -maix64 ¤òÍ­¸ú¤Ë¤Ï¤Ç¤­¤Þ¤»¤ó"
+
+-#: config/rs6000/rs6000.c:1528
++#: config/rs6000/rs6000.c:1546
+ #, gcc-internal-format
+ msgid "-mmultiple is not supported on little endian systems"
+ msgstr "-mmultiple ¤Ï¥ê¥È¥ë¥¨¥ó¥Ç¥£¥¢¥ó¥·¥¹¥Æ¥à¾å¤Ç¤Ï¼õ¤±Æþ¤ì¤é¤ì¤Þ¤»¤ó"
+
+-#: config/rs6000/rs6000.c:1535
++#: config/rs6000/rs6000.c:1553
+ #, gcc-internal-format
+ msgid "-mstring is not supported on little endian systems"
+ msgstr "-mstring ¤Ï¥ê¥È¥ë¥¨¥ó¥Ç¥£¥¢¥ó¥·¥¹¥Æ¥à¾å¤Ç¤Ï¼õ¤±Æþ¤ì¤é¤ì¤Þ¤»¤ó"
+
+-#: config/rs6000/rs6000.c:1549
++#: config/rs6000/rs6000.c:1567
+ #, fuzzy, gcc-internal-format
+ msgid "unknown -mdebug-%s switch"
+ msgstr "ÉÔÌÀ¤Ê -mdebug-%s ¥¹¥¤¥Ã¥Á¤Ç¤¹"
+
+-#: config/rs6000/rs6000.c:1561
++#: config/rs6000/rs6000.c:1579
+ #, gcc-internal-format
+ msgid "unknown -mtraceback arg %qs; expecting %<full%>, %<partial%> or %<none%>"
+ msgstr ""
+
+-#: config/rs6000/rs6000.c:1973
++#: config/rs6000/rs6000.c:2003
+ #, gcc-internal-format
+ msgid "unknown -m%s= option specified: '%s'"
+ msgstr ""
+
+-#: config/rs6000/rs6000.c:2186
++#: config/rs6000/rs6000.c:2218
+ #, gcc-internal-format
+ msgid "not configured for ABI: '%s'"
+ msgstr ""
+
+-#: config/rs6000/rs6000.c:2199
++#: config/rs6000/rs6000.c:2231
+ #, gcc-internal-format
+ msgid "Using darwin64 ABI"
+ msgstr ""
+
+-#: config/rs6000/rs6000.c:2204
++#: config/rs6000/rs6000.c:2236
+ #, gcc-internal-format
+ msgid "Using old darwin ABI"
+ msgstr ""
+
+-#: config/rs6000/rs6000.c:2211
++#: config/rs6000/rs6000.c:2243
+ #, gcc-internal-format
+ msgid "Using IBM extended precision long double"
+ msgstr ""
+
+-#: config/rs6000/rs6000.c:2217
++#: config/rs6000/rs6000.c:2249
+ #, gcc-internal-format
+ msgid "Using IEEE extended precision long double"
+ msgstr ""
+
+-#: config/rs6000/rs6000.c:2222
++#: config/rs6000/rs6000.c:2254
+ #, fuzzy, gcc-internal-format
+ msgid "unknown ABI specified: '%s'"
+ msgstr "ÉÔÌÀ¤Ê¥Þ¥·¥ó¥â¡¼¥É `%s'"
+
+-#: config/rs6000/rs6000.c:2249
++#: config/rs6000/rs6000.c:2281
+ #, fuzzy, gcc-internal-format
+ msgid "invalid option for -mfloat-gprs: '%s'"
+ msgstr "̵¸ú¤Ê¥ª¥×¥·¥ç¥ó `-mshort-data-%s'"
+
+-#: config/rs6000/rs6000.c:2259
++#: config/rs6000/rs6000.c:2291
+ #, gcc-internal-format
+ msgid "Unknown switch -mlong-double-%s"
+ msgstr ""
+
+-#: config/rs6000/rs6000.c:2280
++#: config/rs6000/rs6000.c:2312
+ #, gcc-internal-format
+ msgid "-malign-power is not supported for 64-bit Darwin; it is incompatible with the installed C and C++ libraries"
+ msgstr ""
+
+-#: config/rs6000/rs6000.c:2288
++#: config/rs6000/rs6000.c:2320
+ #, gcc-internal-format
+ msgid "unknown -malign-XXXXX option specified: '%s'"
+ msgstr ""
+
+-#: config/rs6000/rs6000.c:4989
++#: config/rs6000/rs6000.c:5087
+ #, gcc-internal-format
+ msgid "GCC vector returned by reference: non-standard ABI extension with no compatibility guarantee"
+ msgstr ""
+
+-#: config/rs6000/rs6000.c:5062
++#: config/rs6000/rs6000.c:5160
+ #, gcc-internal-format
+ msgid "cannot return value in vector register because altivec instructions are disabled, use -maltivec to enable them"
+ msgstr ""
+
+-#: config/rs6000/rs6000.c:5320
++#: config/rs6000/rs6000.c:5418
+ #, gcc-internal-format
+ msgid "cannot pass argument in vector register because altivec instructions are disabled, use -maltivec to enable them"
+ msgstr ""
+
+-#: config/rs6000/rs6000.c:6221
++#: config/rs6000/rs6000.c:6322
+ #, gcc-internal-format
+ msgid "GCC vector passed by reference: non-standard ABI extension with no compatibility guarantee"
+ msgstr ""
+
+-#: config/rs6000/rs6000.c:7461
++#: config/rs6000/rs6000.c:7568
+ #, gcc-internal-format
+ msgid "argument 1 must be a 5-bit signed literal"
+ msgstr ""
+
+-#: config/rs6000/rs6000.c:7564 config/rs6000/rs6000.c:8475
++#: config/rs6000/rs6000.c:7671 config/rs6000/rs6000.c:8582
+ #, gcc-internal-format
+ msgid "argument 2 must be a 5-bit unsigned literal"
+ msgstr ""
+
+-#: config/rs6000/rs6000.c:7604
++#: config/rs6000/rs6000.c:7711
+ #, fuzzy, gcc-internal-format
+ msgid "argument 1 of __builtin_altivec_predicate must be a constant"
+ msgstr "`__builtin_eh_return_regno' ¤Î°ú¿ô¤ÏÄê¿ô¤Ç¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó"
+
+-#: config/rs6000/rs6000.c:7657
++#: config/rs6000/rs6000.c:7764
+ #, fuzzy, gcc-internal-format
+ msgid "argument 1 of __builtin_altivec_predicate is out of range"
+ msgstr "`__builtin_args_info' ¤Î°ú¿ô¤¬Èϰϳ°¤Ç¤¹"
+
+-#: config/rs6000/rs6000.c:7906
++#: config/rs6000/rs6000.c:8013
+ #, gcc-internal-format
+ msgid "argument 3 must be a 4-bit unsigned literal"
+ msgstr ""
+
+-#: config/rs6000/rs6000.c:8078
++#: config/rs6000/rs6000.c:8185
+ #, gcc-internal-format
+ msgid "argument to %qs must be a 2-bit unsigned literal"
+ msgstr ""
+
+-#: config/rs6000/rs6000.c:8220
++#: config/rs6000/rs6000.c:8327
+ #, gcc-internal-format
+ msgid "unresolved overload for Altivec builtin %qF"
+ msgstr ""
+
+-#: config/rs6000/rs6000.c:8302
++#: config/rs6000/rs6000.c:8409
+ #, gcc-internal-format
+ msgid "argument to dss must be a 2-bit unsigned literal"
+ msgstr ""
+
+-#: config/rs6000/rs6000.c:8595
++#: config/rs6000/rs6000.c:8702
+ #, fuzzy, gcc-internal-format
+ msgid "argument 1 of __builtin_paired_predicate must be a constant"
+ msgstr "`__builtin_args_info' ¤Î°ú¿ô¤ÏÄê¿ô¤Ç¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó"
+
+-#: config/rs6000/rs6000.c:8642
++#: config/rs6000/rs6000.c:8749
+ #, fuzzy, gcc-internal-format
+ msgid "argument 1 of __builtin_paired_predicate is out of range"
+ msgstr "`__builtin_args_info' ¤Î°ú¿ô¤¬Èϰϳ°¤Ç¤¹"
+
+-#: config/rs6000/rs6000.c:8667
++#: config/rs6000/rs6000.c:8774
+ #, fuzzy, gcc-internal-format
+ msgid "argument 1 of __builtin_spe_predicate must be a constant"
+ msgstr "`__builtin_eh_return_regno' ¤Î°ú¿ô¤ÏÄê¿ô¤Ç¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó"
+
+-#: config/rs6000/rs6000.c:8739
++#: config/rs6000/rs6000.c:8846
+ #, fuzzy, gcc-internal-format
+ msgid "argument 1 of __builtin_spe_predicate is out of range"
+ msgstr "`__builtin_args_info' ¤Î°ú¿ô¤¬Èϰϳ°¤Ç¤¹"
+
+-#: config/rs6000/rs6000.c:14977
++#: config/rs6000/rs6000.c:15189
+ #, fuzzy, gcc-internal-format
+ msgid "stack frame too large"
+ msgstr "%s ¤ÏÂ礭¤¹¤®¤Þ¤¹"
+
+-#: config/rs6000/rs6000.c:17598
++#: config/rs6000/rs6000.c:17811
+ #, gcc-internal-format
+ msgid "no profiling of 64-bit code for this ABI"
+ msgstr ""
+
+-#: config/rs6000/rs6000.c:19470
++#: config/rs6000/rs6000.c:19687
+ #, gcc-internal-format
+ msgid "use of %<long%> in AltiVec types is invalid for 64-bit code"
+ msgstr ""
+
+-#: config/rs6000/rs6000.c:19472
++#: config/rs6000/rs6000.c:19689
+ #, gcc-internal-format
+ msgid "use of %<long%> in AltiVec types is deprecated; use %<int%>"
+ msgstr ""
+
+-#: config/rs6000/rs6000.c:19476
++#: config/rs6000/rs6000.c:19693
+ #, gcc-internal-format
+ msgid "use of %<long long%> in AltiVec types is invalid"
+ msgstr ""
+
+-#: config/rs6000/rs6000.c:19478
++#: config/rs6000/rs6000.c:19695
+ #, gcc-internal-format
+ msgid "use of %<double%> in AltiVec types is invalid"
+ msgstr ""
+
+-#: config/rs6000/rs6000.c:19480
++#: config/rs6000/rs6000.c:19697
+ #, gcc-internal-format
+ msgid "use of %<long double%> in AltiVec types is invalid"
+ msgstr ""
+
+-#: config/rs6000/rs6000.c:19482
++#: config/rs6000/rs6000.c:19699
+ #, gcc-internal-format
+ msgid "use of boolean types in AltiVec types is invalid"
+ msgstr ""
+
+-#: config/rs6000/rs6000.c:19484
++#: config/rs6000/rs6000.c:19701
+ #, gcc-internal-format
+ msgid "use of %<complex%> in AltiVec types is invalid"
+ msgstr ""
+
+-#: config/rs6000/rs6000.c:19486
++#: config/rs6000/rs6000.c:19703
+ #, gcc-internal-format
+ msgid "use of decimal floating point types in AltiVec types is invalid"
+ msgstr ""
+
+ #: config/rs6000/aix43.h:38 config/rs6000/aix51.h:37 config/rs6000/aix52.h:38
+-#: config/rs6000/aix53.h:38
++#: config/rs6000/aix53.h:38 config/rs6000/aix61.h:38
+ #, fuzzy, gcc-internal-format
+ msgid "-maix64 and POWER architecture are incompatible"
+ msgstr "-maix64 ¤È POWER ¥¢¡¼¥­¥Æ¥¯¥Á¥ã¤È¤Ç¤Ï¸ß´¹À­¤¬¤¢¤ê¤Þ¤»¤ó"
+
+ #: config/rs6000/aix43.h:43 config/rs6000/aix51.h:42 config/rs6000/aix52.h:43
+-#: config/rs6000/aix53.h:43
++#: config/rs6000/aix53.h:43 config/rs6000/aix61.h:43
+ #, fuzzy, gcc-internal-format
+ msgid "-maix64 requires PowerPC64 architecture remain enabled"
+ msgstr "PowerPC64 ¥¢¡¼¥­¥Æ¥¯¥Á¥ã¤Ç¤Ê¤¤¤È -maix64 ¤òÍ­¸ú¤Ë¤Ï¤Ç¤­¤Þ¤»¤ó"
+
+ #: config/rs6000/aix43.h:49 config/rs6000/aix52.h:49 config/rs6000/aix53.h:49
++#: config/rs6000/aix61.h:49
+ #, fuzzy, gcc-internal-format
+ msgid "soft-float and long-double-128 are incompatible"
+ msgstr "-mrelocatable ¤È -mcall-%s ¤È¤Ï¶¦Â¸¤Ç¤­¤Þ¤»¤ó"
+
+ #: config/rs6000/aix43.h:53 config/rs6000/aix51.h:46 config/rs6000/aix52.h:53
+-#: config/rs6000/aix53.h:53
++#: config/rs6000/aix53.h:53 config/rs6000/aix61.h:53
+ #, fuzzy, gcc-internal-format
+ msgid "-maix64 required: 64-bit computation with 32-bit addressing not yet supported"
+ msgstr "-maix64 Í×µá: 32 bit ¥¢¥É¥ì¥·¥ó¥°²¼¤Î 64 bit ·×»»¤Ï¤Þ¤ÀÍøÍѤǤ­¤Þ¤»¤ó"
+@@ -26760,7 +26722,7 @@
+ #. Number of bytes into the frame return addresses can be found. See
+ #. rs6000_stack_info in rs6000.c for more information on how the different
+ #. abi's store the return address.
+-#: config/rs6000/rs6000.h:1560
++#: config/rs6000/rs6000.h:1569
+ #, gcc-internal-format
+ msgid "RETURN_ADDRESS_OFFSET not supported"
+ msgstr "RETURN_ADDRESS_OFFSET ¤Ï¥µ¥Ý¡¼¥È¤µ¤ì¤Æ¤¤¤Þ¤»¤ó"
+@@ -26883,22 +26845,22 @@
+ msgid "-mstack-guard implies use of -mstack-size"
+ msgstr ""
+
+-#: config/s390/s390.c:6640
++#: config/s390/s390.c:6679
+ #, gcc-internal-format
+ msgid "total size of local variables exceeds architecture limit"
+ msgstr ""
+
+-#: config/s390/s390.c:7298
++#: config/s390/s390.c:7349
+ #, gcc-internal-format
+ msgid "frame size of function %qs is "
+ msgstr ""
+
+-#: config/s390/s390.c:7328
++#: config/s390/s390.c:7379
+ #, fuzzy, gcc-internal-format
+ msgid "frame size of %qs is "
+ msgstr "`%s' ¤ÎÎΰ襵¥¤¥º¤¬¤ï¤«¤ê¤Þ¤»¤ó"
+
+-#: config/s390/s390.c:7332
++#: config/s390/s390.c:7383
+ #, gcc-internal-format
+ msgid "%qs uses dynamic stack allocation"
+ msgstr ""
+@@ -26908,44 +26870,44 @@
+ msgid "-fPIC and -G are incompatible"
+ msgstr "-fPIC ¤È -mcall-%s ¤Ï¶¦Â¸¤Ç¤­¤Þ¤»¤ó"
+
+-#: config/sh/sh.c:6894
++#: config/sh/sh.c:6897
+ #, fuzzy, gcc-internal-format
+ msgid "__builtin_saveregs not supported by this subtarget"
+ msgstr "__builtin_saveregs ¤Ï¤³¤Î¥¿¡¼¥²¥Ã¥È¤Ç¤Ï¼ÂÁõ¤µ¤ì¤Æ¤¤¤Þ¤»¤ó"
+
+-#: config/sh/sh.c:7904
++#: config/sh/sh.c:7907
+ #, fuzzy, gcc-internal-format
+ msgid "%qs attribute only applies to interrupt functions"
+ msgstr "`%s' °À­¤Ï´Ø¿ô¤ËÂФ·¤Æ¤Î¤ßŬÍѤµ¤ì¤Þ¤¹"
+
+-#: config/sh/sh.c:7990
++#: config/sh/sh.c:7993
+ #, gcc-internal-format
+ msgid "attribute interrupt_handler is not compatible with -m5-compact"
+ msgstr ""
+
+ #. The argument must be a constant string.
+-#: config/sh/sh.c:8012
++#: config/sh/sh.c:8015
+ #, fuzzy, gcc-internal-format
+ msgid "%qs attribute argument not a string constant"
+ msgstr "asm ¥Æ¥ó¥×¥ì¡¼¥È¤¬Ê¸»úÎóÄê¿ô¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó"
+
+ #. The argument must be a constant integer.
+-#: config/sh/sh.c:8037
++#: config/sh/sh.c:8040
+ #, fuzzy, gcc-internal-format
+ msgid "%qs attribute argument not an integer constant"
+ msgstr "Í׵ᤵ¤ì¤¿ init_priority ¤ÏÀ°¿ô·¿¤ÎÄê¿ô¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó"
+
+-#: config/sh/sh.c:10085
++#: config/sh/sh.c:10084
+ #, gcc-internal-format
+ msgid "r0 needs to be available as a call-clobbered register"
+ msgstr ""
+
+-#: config/sh/sh.c:10106
++#: config/sh/sh.c:10105
+ #, fuzzy, gcc-internal-format
+ msgid "Need a second call-clobbered general purpose register"
+ msgstr "BK ¥ì¥¸¥¹¥¿¤òÈÆÍѥ쥸¥¹¥¿¤È¤·¤Æ»ÈÍѤ¹¤ë"
+
+-#: config/sh/sh.c:10114
++#: config/sh/sh.c:10113
+ #, gcc-internal-format
+ msgid "Need a call-clobbered target register"
+ msgstr ""
+@@ -26975,7 +26937,7 @@
+ msgid "%s %q+D %s after being referenced with dllimport linkage"
+ msgstr ""
+
+-#: config/sh/symbian.c:891 cp/tree.c:2737
++#: config/sh/symbian.c:891 cp/tree.c:2753
+ #, fuzzy, gcc-internal-format
+ msgid "lang_* check: failed in %s, at %s:%d"
+ msgstr "Tree ¸¡ºº: %s ¤¬¤¢¤ë¤Ù¤­½ê¤Ë %s ¤¬¤¢¤ê¤Þ¤¹(%s Æâ, %s:%d)"
+@@ -27018,17 +26980,17 @@
+ msgid "-mrelax is only supported for RTP PIC"
+ msgstr ""
+
+-#: config/sparc/sparc.c:698
++#: config/sparc/sparc.c:701
+ #, gcc-internal-format
+ msgid "%s is not supported by this configuration"
+ msgstr "%s ¤Ï¤³¤Î¥³¥ó¥Õ¥£¥®¥å¥ì¡¼¥·¥ç¥ó¤Ç¤Ï¥µ¥Ý¡¼¥È¤µ¤ì¤Þ¤»¤ó"
+
+-#: config/sparc/sparc.c:705
++#: config/sparc/sparc.c:708
+ #, gcc-internal-format
+ msgid "-mlong-double-64 not allowed with -m64"
+ msgstr "-m64 »ØÄê¥â¡¼¥É¤Ç¤Ï -mlong-double-64 ¤Ïµö²Ä¤µ¤ì¤Þ¤»¤ó"
+
+-#: config/sparc/sparc.c:730
++#: config/sparc/sparc.c:733
+ #, gcc-internal-format
+ msgid "-mcmodel= is not supported on 32 bit systems"
+ msgstr "-mcmodel= ¤Ï 32 bit ¥·¥¹¥Æ¥à¾å¤Ç¤Ï¥µ¥Ý¡¼¥È¤µ¤ì¤Þ¤»¤ó"
+@@ -27048,67 +27010,57 @@
+ msgid "parameter list does not match a valid signature for %s()"
+ msgstr ""
+
+-#: config/spu/spu.c:337 config/spu/spu.c:348
++#: config/spu/spu.c:341 config/spu/spu.c:352
+ #, fuzzy, gcc-internal-format
+ msgid "Unknown architecture '%s'"
+ msgstr "ÉÔÌÀ¤Ê¥Þ¥·¥ó¥â¡¼¥É `%s'"
+
+-#: config/spu/spu.c:3034
++#: config/spu/spu.c:3023
+ #, gcc-internal-format
+ msgid "`%s' attribute ignored"
+ msgstr "`%s' °À­¤Ï̵»ë¤µ¤ì¤Þ¤·¤¿"
+
+-#: config/spu/spu.c:5218
++#: config/spu/spu.c:5207
+ #, gcc-internal-format
+ msgid "%s expects an integer literal in the range [%d, %d]."
+ msgstr ""
+
+-#: config/spu/spu.c:5238
++#: config/spu/spu.c:5227
+ #, gcc-internal-format
+ msgid "%s expects an integer literal in the range [%d, %d]. ("
+ msgstr ""
+
+-#: config/spu/spu.c:5268
++#: config/spu/spu.c:5257
+ #, gcc-internal-format
+ msgid "%d least significant bits of %s are ignored."
+ msgstr ""
+
+-#: config/stormy16/stormy16.c:499
++#: config/stormy16/stormy16.c:1080
+ #, gcc-internal-format
+-msgid "constant halfword load operand out of range"
+-msgstr ""
+-
+-#: config/stormy16/stormy16.c:509
+-#, fuzzy, gcc-internal-format
+-msgid "constant arithmetic operand out of range"
+-msgstr "À°¿ôÄê¿ô¤¬ÈϰϤò³°¤ì¤Æ¤¤¤Þ¤¹"
+-
+-#: config/stormy16/stormy16.c:1108
+-#, gcc-internal-format
+ msgid "local variable memory requirements exceed capacity"
+ msgstr ""
+
+-#: config/stormy16/stormy16.c:1274
++#: config/stormy16/stormy16.c:1246
+ #, gcc-internal-format
+ msgid "function_profiler support"
+ msgstr ""
+
+-#: config/stormy16/stormy16.c:1363
++#: config/stormy16/stormy16.c:1335
+ #, fuzzy, gcc-internal-format
+ msgid "cannot use va_start in interrupt function"
+ msgstr "¾¤Î´Ø¿ôÆâ¤Ç static ´Ø¿ô¤òÀë¸À¤Ç¤­¤Þ¤»¤ó"
+
+-#: config/stormy16/stormy16.c:1906
++#: config/stormy16/stormy16.c:1879
+ #, fuzzy, gcc-internal-format
+ msgid "switch statement of size %lu entries too large"
+ msgstr "ÊÑ¿ô `%s' ¤Î¥µ¥¤¥º¤¬Â礭¤¹¤®¤Þ¤¹"
+
+-#: config/stormy16/stormy16.c:2274
++#: config/stormy16/stormy16.c:2247
+ #, gcc-internal-format
+ msgid "%<__BELOW100__%> attribute only applies to variables"
+ msgstr ""
+
+-#: config/stormy16/stormy16.c:2281
++#: config/stormy16/stormy16.c:2254
+ #, gcc-internal-format
+ msgid "__BELOW100__ attribute not allowed with auto storage class"
+ msgstr ""
+@@ -27233,345 +27185,345 @@
+ msgid "too much stack space to prepare: %d"
+ msgstr "¥¹¥¿¥Ã¥¯¶õ´Öºï½üÎ̤¬ÉÔÀµ¤Ç¤¹: %d"
+
+-#: config/xtensa/xtensa.c:1861
++#: config/xtensa/xtensa.c:1865
+ #, gcc-internal-format
+ msgid "boolean registers required for the floating-point option"
+ msgstr ""
+
+-#: config/xtensa/xtensa.c:1896
++#: config/xtensa/xtensa.c:1900
+ #, fuzzy, gcc-internal-format
+ msgid "-f%s is not supported with CONST16 instructions"
+ msgstr "%s ¤Ï¤³¤Î¥³¥ó¥Õ¥£¥®¥å¥ì¡¼¥·¥ç¥ó¤Ç¤Ï¥µ¥Ý¡¼¥È¤µ¤ì¤Þ¤»¤ó"
+
+-#: config/xtensa/xtensa.c:1901
++#: config/xtensa/xtensa.c:1905
+ #, gcc-internal-format
+ msgid "PIC is required but not supported with CONST16 instructions"
+ msgstr ""
+
+-#: config/xtensa/xtensa.c:2745 config/xtensa/xtensa.c:2765
++#: config/xtensa/xtensa.c:2770 config/xtensa/xtensa.c:2790
+ #, fuzzy, gcc-internal-format
+ msgid "bad builtin code"
+ msgstr "ÁȤ߹þ¤ß¥Þ¥¯¥í \"%s\" ¤Ï̵¸ú¤Ç¤¹"
+
+-#: config/xtensa/xtensa.c:2873
++#: config/xtensa/xtensa.c:2898
+ #, fuzzy, gcc-internal-format
+ msgid "only uninitialized variables can be placed in a .bss section"
+ msgstr "8 ¥Ó¥Ã¥ÈÎΰèÆâ¤ËÇÛÃ֤Ǥ­¤ëÊÑ¿ô¤À¤±¤¬½é´ü²½¤µ¤ì¤Þ¤·¤¿"
+
+-#: ada/misc.c:261
++#: ada/misc.c:260
+ #, fuzzy, gcc-internal-format
+ msgid "missing argument to \"-%s\""
+ msgstr "`%s' ¥ª¥×¥·¥ç¥ó¤ËÂФ¹¤ë°ú¿ô¤¬¤¢¤ê¤Þ¤»¤ó"
+
+-#: ada/misc.c:311
++#: ada/misc.c:310
+ #, gcc-internal-format
+ msgid "%<-gnat%> misspelled as %<-gant%>"
+ msgstr ""
+
+-#: cp/call.c:2462
++#: cp/call.c:2448
+ #, gcc-internal-format
+ msgid "%s %D(%T, %T, %T) <built-in>"
+ msgstr ""
+
+-#: cp/call.c:2467
++#: cp/call.c:2453
+ #, gcc-internal-format
+ msgid "%s %D(%T, %T) <built-in>"
+ msgstr ""
+
+-#: cp/call.c:2471
++#: cp/call.c:2457
+ #, fuzzy, gcc-internal-format
+ msgid "%s %D(%T) <built-in>"
+ msgstr "<ÁȤ߹þ¤ß>"
+
+-#: cp/call.c:2475
++#: cp/call.c:2461
+ #, gcc-internal-format
+ msgid "%s %T <conversion>"
+ msgstr ""
+
+-#: cp/call.c:2477
++#: cp/call.c:2463
+ #, gcc-internal-format
+ msgid "%s %+#D <near match>"
+ msgstr ""
+
+-#: cp/call.c:2479 cp/pt.c:1397
++#: cp/call.c:2465 cp/pt.c:1405
+ #, fuzzy, gcc-internal-format
+ msgid "%s %+#D"
+ msgstr "%s: %s"
+
+-#: cp/call.c:2720
++#: cp/call.c:2706
+ #, fuzzy, gcc-internal-format
+ msgid "conversion from %qT to %qT is ambiguous"
+ msgstr "NaN ¤«¤éÀ°¿ô¤Ø¤ÎÊÑ´¹¤Ç¤¹"
+
+-#: cp/call.c:2873 cp/call.c:2891 cp/call.c:2954
++#: cp/call.c:2859 cp/call.c:2877 cp/call.c:2940
+ #, gcc-internal-format
+ msgid "no matching function for call to %<%D(%A)%>"
+ msgstr ""
+
+-#: cp/call.c:2894 cp/call.c:2957
++#: cp/call.c:2880 cp/call.c:2943
+ #, 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.c:3029
++#: cp/call.c:3015
+ #, gcc-internal-format
+ msgid "pointer-to-member function %E cannot be called without an object; consider using .* or ->*"
+ msgstr ""
+
+-#: cp/call.c:3103
++#: cp/call.c:3089
+ #, gcc-internal-format
+ msgid "no match for call to %<(%T) (%A)%>"
+ msgstr ""
+
+-#: cp/call.c:3112
++#: cp/call.c:3098
+ #, gcc-internal-format
+ msgid "call of %<(%T) (%A)%> is ambiguous"
+ msgstr ""
+
+-#: cp/call.c:3150
++#: cp/call.c:3136
+ #, gcc-internal-format
+ msgid "%s for ternary %<operator?:%> in %<%E ? %E : %E%>"
+ msgstr ""
+
+-#: cp/call.c:3156
++#: cp/call.c:3142
+ #, gcc-internal-format
+ msgid "%s for %<operator%s%> in %<%E%s%>"
+ msgstr ""
+
+-#: cp/call.c:3160
++#: cp/call.c:3146
+ #, gcc-internal-format
+ msgid "%s for %<operator[]%> in %<%E[%E]%>"
+ msgstr ""
+
+-#: cp/call.c:3165
++#: cp/call.c:3151
+ #, gcc-internal-format
+ msgid "%s for %qs in %<%s %E%>"
+ msgstr ""
+
+-#: cp/call.c:3170
++#: cp/call.c:3156
+ #, gcc-internal-format
+ msgid "%s for %<operator%s%> in %<%E %s %E%>"
+ msgstr ""
+
+-#: cp/call.c:3173
++#: cp/call.c:3159
+ #, gcc-internal-format
+ msgid "%s for %<operator%s%> in %<%s%E%>"
+ msgstr ""
+
+-#: cp/call.c:3265
++#: cp/call.c:3251
+ #, gcc-internal-format
+ msgid "ISO C++ forbids omitting the middle term of a ?: expression"
+ msgstr "ISO C++ ¤ÏÃæ´Ö¹à¤¬¾Êά¤µ¤ì¤¿ ?: ¼°¤ò¶Ø¤¸¤Þ¤¹"
+
+-#: cp/call.c:3343
++#: cp/call.c:3329
+ #, gcc-internal-format
+ msgid "second operand to the conditional operator is of type %<void%>, but the third operand is neither a throw-expression nor of type %<void%>"
+ msgstr ""
+
+-#: cp/call.c:3348
++#: cp/call.c:3334
+ #, gcc-internal-format
+ msgid "third operand to the conditional operator is of type %<void%>, but the second operand is neither a throw-expression nor of type %<void%>"
+ msgstr ""
+
+-#: cp/call.c:3389 cp/call.c:3609
++#: cp/call.c:3375 cp/call.c:3595
+ #, gcc-internal-format
+ msgid "operands to ?: have different types %qT and %qT"
+ msgstr ""
+
+-#: cp/call.c:3563
++#: cp/call.c:3549
+ #, fuzzy, gcc-internal-format
+ msgid "enumeral mismatch in conditional expression: %qT vs %qT"
+ msgstr "¾ò·ï¼°¤Ç¤Î·¿¤ÎÁȹç¤ï¤»¤¬Å¬¹ç¤·¤Þ¤»¤ó"
+
+-#: cp/call.c:3570
++#: cp/call.c:3556
+ #, fuzzy, gcc-internal-format
+ msgid "enumeral and non-enumeral type in conditional expression"
+ msgstr "¾ò·ï¼°¤ËÉä¹çÉÕ¤­·¿¤ÈÉä¹ç̵¤··¿¤È¤¬¤¢¤ê¤Þ¤¹"
+
+-#: cp/call.c:3874
++#: cp/call.c:3860
+ #, gcc-internal-format
+ msgid "no %<%D(int)%> declared for postfix %qs, trying prefix operator instead"
+ msgstr ""
+
+-#: cp/call.c:3947
++#: cp/call.c:3936
+ #, fuzzy, gcc-internal-format
+ msgid "comparison between %q#T and %q#T"
+ msgstr "¥Ý¥¤¥ó¥¿¤ÈÀ°¿ô¤È¤ÎÈæ³Ó¤ò¹Ô¤Ê¤Ã¤Æ¤¤¤Þ¤¹"
+
+-#: cp/call.c:4229
++#: cp/call.c:4218
+ #, gcc-internal-format
+ msgid "no corresponding deallocation function for `%D'"
+ msgstr ""
+
+-#: cp/call.c:4234
++#: cp/call.c:4223
+ #, fuzzy, gcc-internal-format
+ msgid "no suitable %<operator %s%> for %qT"
+ msgstr "¤¢¤ê¤¨¤Ê¤¤±é»»»Ò '%s'"
+
+-#: cp/call.c:4252
++#: cp/call.c:4241
+ #, gcc-internal-format
+ msgid "%q+#D is private"
+ msgstr ""
+
+-#: cp/call.c:4254
++#: cp/call.c:4243
+ #, gcc-internal-format
+ msgid "%q+#D is protected"
+ msgstr ""
+
+-#: cp/call.c:4256
++#: cp/call.c:4245
+ #, gcc-internal-format
+ msgid "%q+#D is inaccessible"
+ msgstr ""
+
+-#: cp/call.c:4257
++#: cp/call.c:4246
+ #, gcc-internal-format
+ msgid "within this context"
+ msgstr ""
+
+-#: cp/call.c:4303
++#: cp/call.c:4292
+ #, gcc-internal-format
+ msgid "passing NULL to non-pointer argument %P of %qD"
+ msgstr ""
+
+-#: cp/call.c:4306
++#: cp/call.c:4295
+ #, fuzzy, gcc-internal-format
+ msgid "converting to non-pointer type %qT from NULL"
+ msgstr "¥Ý¥¤¥ó¥¿·¿¤ËÊÑ´¹¤Ç¤­¤Þ¤»¤ó"
+
+-#: cp/call.c:4312
++#: cp/call.c:4301
+ #, fuzzy, gcc-internal-format
+ msgid "converting %<false%> to pointer type for argument %P of %qD"
+ msgstr "%d ÈÖÌܤΰú¿ô¤¬ `%s' ¤Î·¿¤È¸ß´¹À­¤¬¤¢¤ê¤Þ¤»¤ó"
+
+-#: cp/call.c:4356 cp/cvt.c:217
++#: cp/call.c:4346 cp/cvt.c:217
+ #, fuzzy, gcc-internal-format
+ msgid "invalid conversion from %qT to %qT"
+ msgstr "NaN ¤«¤éÀ°¿ô¤Ø¤ÎÊÑ´¹¤Ç¤¹"
+
+-#: cp/call.c:4358
++#: cp/call.c:4348
+ #, fuzzy, gcc-internal-format
+ msgid " initializing argument %P of %qD"
+ msgstr "`%s' ¤Î°ú¿ô¤È¤·¤Æ̵¸ú¤Ê·¿"
+
+-#: cp/call.c:4491
++#: cp/call.c:4498
+ #, gcc-internal-format
+ msgid "cannot bind bitfield %qE to %qT"
+ msgstr ""
+
+-#: cp/call.c:4494 cp/call.c:4510
++#: cp/call.c:4501 cp/call.c:4517
+ #, gcc-internal-format
+ msgid "cannot bind packed field %qE to %qT"
+ msgstr ""
+
+-#: cp/call.c:4497
++#: cp/call.c:4504
+ #, fuzzy, gcc-internal-format
+ msgid "cannot bind rvalue %qE to %qT"
+ msgstr "¥½¡¼¥¹ %s ¤¬¸«¤Ä¤«¤ê¤Þ¤»¤ó"
+
+-#: cp/call.c:4611
++#: cp/call.c:4620
+ #, gcc-internal-format
+ msgid "cannot pass objects of non-POD type %q#T through %<...%>; call will abort at runtime"
+ msgstr ""
+
+ #. Undefined behavior [expr.call] 5.2.2/7.
+-#: cp/call.c:4639
++#: cp/call.c:4648
+ #, gcc-internal-format
+ msgid "cannot receive objects of non-POD type %q#T through %<...%>; call will abort at runtime"
+ msgstr ""
+
+-#: cp/call.c:4687
++#: cp/call.c:4696
+ #, gcc-internal-format
+ msgid "the default argument for parameter %d of %qD has not yet been parsed"
+ msgstr ""
+
+-#: cp/call.c:4697
++#: cp/call.c:4706
+ #, gcc-internal-format
+ msgid "recursive evaluation of default argument for %q#D"
+ msgstr ""
+
+-#: cp/call.c:4802
++#: cp/call.c:4811
+ #, fuzzy, gcc-internal-format
+ msgid "argument of function call might be a candidate for a format attribute"
+ msgstr "format °À­¤ò¤Î¸õÊä¤È¤Ê¤ê¤½¤¦¤Ê´Ø¿ô¤Ë¤Ä¤¤¤Æ·Ù¹ð¤¹¤ë"
+
+-#: cp/call.c:4950
++#: cp/call.c:4959
+ #, gcc-internal-format
+ msgid "passing %qT as %<this%> argument of %q#D discards qualifiers"
+ msgstr ""
+
+-#: cp/call.c:4969
++#: cp/call.c:4978
+ #, gcc-internal-format
+ msgid "%qT is not an accessible base of %qT"
+ msgstr ""
+
+-#: cp/call.c:5229
++#: cp/call.c:5238
+ #, gcc-internal-format
+ msgid "could not find class$ field in java interface type %qT"
+ msgstr ""
+
+-#: cp/call.c:5470
++#: cp/call.c:5479
+ #, fuzzy, gcc-internal-format
+ msgid "call to non-function %qD"
+ msgstr "´Ø¿ô %s ¤Ë¸Æ¤Ó½Ð¤·¤¬¤¢¤ê¤Þ¤»¤ó\n"
+
+-#: cp/call.c:5595
++#: cp/call.c:5604
+ #, gcc-internal-format
+ msgid "no matching function for call to %<%T::%s(%A)%#V%>"
+ msgstr ""
+
+-#: cp/call.c:5613
++#: cp/call.c:5622
+ #, gcc-internal-format
+ msgid "call of overloaded %<%s(%A)%> is ambiguous"
+ msgstr ""
+
+-#: cp/call.c:5639
++#: cp/call.c:5648
+ #, gcc-internal-format
+ msgid "cannot call member function %qD without object"
+ msgstr ""
+
+-#: cp/call.c:6283
++#: cp/call.c:6307
+ #, gcc-internal-format
+ msgid "passing %qT chooses %qT over %qT"
+ msgstr ""
+
+-#: cp/call.c:6285 cp/name-lookup.c:4320 cp/name-lookup.c:4753
++#: cp/call.c:6309 cp/name-lookup.c:4322 cp/name-lookup.c:4757
+ #, fuzzy, gcc-internal-format
+ msgid " in call to %qD"
+ msgstr "`%s' ¤Ø¤Î¸Æ¤Ó½Ð¤·¤Ï¥¤¥ó¥é¥¤¥ó²½¤Ç¤­¤Þ¤»¤ó"
+
+-#: cp/call.c:6342
++#: cp/call.c:6366
+ #, gcc-internal-format
+ msgid "choosing %qD over %qD"
+ msgstr ""
+
+-#: cp/call.c:6343
++#: cp/call.c:6367
+ #, fuzzy, gcc-internal-format
+ msgid " for conversion from %qT to %qT"
+ msgstr "NaN ¤«¤éÀ°¿ô¤Ø¤ÎÊÑ´¹¤Ç¤¹"
+
+-#: cp/call.c:6345
++#: cp/call.c:6369
+ #, gcc-internal-format
+ msgid " because conversion sequence for the argument is better"
+ msgstr ""
+
+-#: cp/call.c:6459
++#: cp/call.c:6483
+ #, 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.c:6603
++#: cp/call.c:6627
+ #, fuzzy, gcc-internal-format
+ msgid "could not convert %qE to %qT"
+ msgstr "0x%l.8x ¤òÎΰè¤ËÊÑ´¹¤Ç¤­¤Þ¤»¤ó"
+
+-#: cp/call.c:6737
++#: cp/call.c:6761
+ #, gcc-internal-format
+ msgid "invalid initialization of non-const reference of type %qT from a temporary of type %qT"
+ msgstr ""
+
+-#: cp/call.c:6741
++#: cp/call.c:6765
+ #, gcc-internal-format
+ msgid "invalid initialization of reference of type %qT from expression of type %qT"
+ msgstr ""
+@@ -27581,343 +27533,343 @@
+ msgid "cannot convert from base %qT to derived type %qT via virtual base %qT"
+ msgstr ""
+
+-#: cp/class.c:961
++#: cp/class.c:971
+ #, gcc-internal-format
+ msgid "Java class %qT cannot have a destructor"
+ msgstr ""
+
+-#: cp/class.c:963
++#: cp/class.c:973
+ #, gcc-internal-format
+ msgid "Java class %qT cannot have an implicit non-trivial destructor"
+ msgstr ""
+
+-#: cp/class.c:1062
++#: cp/class.c:1074
+ #, fuzzy, gcc-internal-format
+ msgid "repeated using declaration %q+D"
+ msgstr "`%s' ¤Î extern Àë¸À¤¬¥Í¥¹¥È¤·¤Æ¤¤¤Þ¤¹"
+
+-#: cp/class.c:1064
++#: cp/class.c:1076
+ #, fuzzy, gcc-internal-format
+ msgid "using declaration %q+D conflicts with a previous using declaration"
+ msgstr "`%s' ¤Î¥»¥¯¥·¥ç¥ó¤ÏÁ°Êý¤Ç¤ËÀë¸À¤µ¤ì¤¿¤â¤Î¤È¾×Æͤ·¤Þ¤¹"
+
+-#: cp/class.c:1069
++#: cp/class.c:1081
+ #, gcc-internal-format
+ msgid "%q+#D cannot be overloaded"
+ msgstr ""
+
+-#: cp/class.c:1070
++#: cp/class.c:1082
+ #, gcc-internal-format
+ msgid "with %q+#D"
+ msgstr ""
+
+-#: cp/class.c:1137
++#: cp/class.c:1149
+ #, fuzzy, gcc-internal-format
+ msgid "conflicting access specifications for method %q+D, ignored"
+ msgstr "¥Õ¥£¡¼¥ë¥É `%s' ¤ËÂФ¹¤ë¥¢¥¯¥»¥¹»ØÄê»Ò¤¬¶¥¹ç¤·¤¿¤¿¤á¡¢Ìµ»ë¤µ¤ì¤Þ¤·¤¿"
+
+-#: cp/class.c:1140
++#: cp/class.c:1152
+ #, fuzzy, gcc-internal-format
+ msgid "conflicting access specifications for field %qE, ignored"
+ msgstr "¥Õ¥£¡¼¥ë¥É `%s' ¤ËÂФ¹¤ë¥¢¥¯¥»¥¹»ØÄê»Ò¤¬¶¥¹ç¤·¤¿¤¿¤á¡¢Ìµ»ë¤µ¤ì¤Þ¤·¤¿"
+
+-#: cp/class.c:1201 cp/class.c:1209
++#: cp/class.c:1213 cp/class.c:1221
+ #, fuzzy, gcc-internal-format
+ msgid "%q+D invalid in %q#T"
+ msgstr "%s: ̵¸ú¤Ê¥ª¥×¥·¥ç¥ó -- %c\n"
+
+-#: cp/class.c:1202
++#: cp/class.c:1214
+ #, gcc-internal-format
+ msgid " because of local method %q+#D with same name"
+ msgstr ""
+
+-#: cp/class.c:1210
++#: cp/class.c:1222
+ #, gcc-internal-format
+ msgid " because of local member %q+#D with same name"
+ msgstr ""
+
+-#: cp/class.c:1253
++#: cp/class.c:1265
+ #, fuzzy, gcc-internal-format
+ msgid "base class %q#T has a non-virtual destructor"
+ msgstr "Èó²¾Áۥǥ¹¥È¥é¥¯¥¿¤Ë¤Ä¤¤¤Æ·Ù¹ð¤¹¤ë"
+
+-#: cp/class.c:1570
++#: cp/class.c:1582
+ #, gcc-internal-format
+ msgid "all member functions in class %qT are private"
+ msgstr ""
+
+-#: cp/class.c:1582
++#: cp/class.c:1594
+ #, gcc-internal-format
+ msgid "%q#T only defines a private destructor and has no friends"
+ msgstr ""
+
+-#: cp/class.c:1626
++#: cp/class.c:1639
+ #, gcc-internal-format
+ msgid "%q#T only defines private constructors and has no friends"
+ msgstr ""
+
+-#: cp/class.c:2019
++#: cp/class.c:2032
+ #, gcc-internal-format
+ msgid "no unique final overrider for %qD in %qT"
+ msgstr ""
+
+ #. Here we know it is a hider, and no overrider exists.
+-#: cp/class.c:2439
++#: cp/class.c:2452
+ #, gcc-internal-format
+ msgid "%q+D was hidden"
+ msgstr ""
+
+-#: cp/class.c:2440
++#: cp/class.c:2453
+ #, gcc-internal-format
+ msgid " by %q+D"
+ msgstr ""
+
+-#: cp/class.c:2483 cp/decl2.c:1135
++#: cp/class.c:2496 cp/decl2.c:1178
+ #, gcc-internal-format
+ msgid "%q+#D invalid; an anonymous union can only have non-static data members"
+ msgstr ""
+
+-#: cp/class.c:2486
++#: cp/class.c:2499
+ #, gcc-internal-format
+ msgid "%q+#D invalid; an anonymous struct can only have non-static data members"
+ msgstr ""
+
+-#: cp/class.c:2494 cp/decl2.c:1141
++#: cp/class.c:2507 cp/decl2.c:1184
+ #, gcc-internal-format
+ msgid "private member %q+#D in anonymous union"
+ msgstr ""
+
+-#: cp/class.c:2496
++#: cp/class.c:2509
+ #, gcc-internal-format
+ msgid "private member %q+#D in anonymous struct"
+ msgstr ""
+
+-#: cp/class.c:2501 cp/decl2.c:1143
++#: cp/class.c:2514 cp/decl2.c:1186
+ #, gcc-internal-format
+ msgid "protected member %q+#D in anonymous union"
+ msgstr ""
+
+-#: cp/class.c:2503
++#: cp/class.c:2516
+ #, gcc-internal-format
+ msgid "protected member %q+#D in anonymous struct"
+ msgstr ""
+
+-#: cp/class.c:2677
++#: cp/class.c:2695
+ #, fuzzy, gcc-internal-format
+ msgid "bit-field %q+#D with non-integral type"
+ msgstr "¥Ó¥Ã¥È¥Õ¥£¡¼¥ë¥É `%s' ¤ÎÉý¤¬À°¿ôÄê¿ô¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó"
+
+-#: cp/class.c:2690
++#: cp/class.c:2708
+ #, fuzzy, gcc-internal-format
+ msgid "bit-field %q+D width not an integer constant"
+ msgstr "¥Ó¥Ã¥È¥Õ¥£¡¼¥ë¥É `%s' ¤ÎÉý¤¬À°¿ôÄê¿ô¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó"
+
+-#: cp/class.c:2695
++#: cp/class.c:2713
+ #, fuzzy, gcc-internal-format
+ msgid "negative width in bit-field %q+D"
+ msgstr "¥Ó¥Ã¥È¥Õ¥£¡¼¥ë¥É `%s' ¤ÎÉý¤¬Éé¤Î¿ô¤Ç¤¹"
+
+-#: cp/class.c:2700
++#: cp/class.c:2718
+ #, fuzzy, gcc-internal-format
+ msgid "zero width for bit-field %q+D"
+ msgstr "¥Ó¥Ã¥È¥Õ¥£¡¼¥ë¥É `%s' ¤ÎÉý¤¬ 0 ¤Ç¤¹"
+
+-#: cp/class.c:2706
++#: cp/class.c:2724
+ #, fuzzy, gcc-internal-format
+ msgid "width of %q+D exceeds its type"
+ msgstr "`%s' ¤ÎÉý¤Ï¤½¤Î·¿¤Î¥µ¥¤¥º¤òĶ¤¨¤Æ¤¤¤Þ¤¹"
+
+-#: cp/class.c:2715
++#: cp/class.c:2733
+ #, gcc-internal-format
+ msgid "%q+D is too small to hold all values of %q#T"
+ msgstr ""
+
+-#: cp/class.c:2772
++#: cp/class.c:2790
+ #, gcc-internal-format
+ msgid "member %q+#D with constructor not allowed in union"
+ msgstr ""
+
+-#: cp/class.c:2775
++#: cp/class.c:2793
+ #, gcc-internal-format
+ msgid "member %q+#D with destructor not allowed in union"
+ msgstr ""
+
+-#: cp/class.c:2777
++#: cp/class.c:2795
+ #, gcc-internal-format
+ msgid "member %q+#D with copy assignment operator not allowed in union"
+ msgstr ""
+
+-#: cp/class.c:2801
++#: cp/class.c:2819
+ #, fuzzy, gcc-internal-format
+ msgid "multiple fields in union %qT initialized"
+ msgstr "¶¦ÍÑÂνé´ü²½»ÒÆâ¤ÎÍ×ÁǤ¬Â¿¤¹¤®¤Þ¤¹"
+
+-#: cp/class.c:2890
++#: cp/class.c:2908
+ #, gcc-internal-format
+ msgid "%q+D may not be static because it is a member of a union"
+ msgstr ""
+
+-#: cp/class.c:2895
++#: cp/class.c:2913
+ #, gcc-internal-format
+ msgid "%q+D may not have reference type %qT because it is a member of a union"
+ msgstr ""
+
+-#: cp/class.c:2906
++#: cp/class.c:2924
+ #, fuzzy, gcc-internal-format
+ msgid "field %q+D invalidly declared function type"
+ msgstr "¥Ñ¥é¥á¥¿¤Ï¥á¥½¥Ã¥É¤Î·¿¤òÉÔÀµ¤ËÀë¸À¤·¤Þ¤·¤¿"
+
+-#: cp/class.c:2912
++#: cp/class.c:2930
+ #, fuzzy, gcc-internal-format
+ msgid "field %q+D invalidly declared method type"
+ msgstr "¥Ñ¥é¥á¥¿¤Ï¥á¥½¥Ã¥É¤Î·¿¤òÉÔÀµ¤ËÀë¸À¤·¤Þ¤·¤¿"
+
+-#: cp/class.c:2944
++#: cp/class.c:2968
+ #, gcc-internal-format
+-msgid "non-static reference %q+#D in class without a constructor"
+-msgstr ""
+-
+-#: cp/class.c:2955
+-#, gcc-internal-format
+ msgid "ignoring packed attribute because of unpacked non-POD field %q+#D"
+ msgstr ""
+
+-#: cp/class.c:3022
++#: cp/class.c:3047
+ #, gcc-internal-format
+-msgid "non-static const member %q+#D in class without a constructor"
+-msgstr ""
+-
+-#: cp/class.c:3037
+-#, gcc-internal-format
+ msgid "field %q+#D with same name as class"
+ msgstr ""
+
+-#: cp/class.c:3068
++#: cp/class.c:3078
+ #, fuzzy, gcc-internal-format
+ msgid "%q#T has pointer data members"
+ msgstr " ¥Ý¥¤¥ó¥¿¤«¤é¥á¥ó¥Ð¤Ø¤ÎÊÑ´¹¤Ç"
+
+-#: cp/class.c:3073
++#: cp/class.c:3083
+ #, gcc-internal-format
+ msgid " but does not override %<%T(const %T&)%>"
+ msgstr ""
+
+-#: cp/class.c:3075
++#: cp/class.c:3085
+ #, gcc-internal-format
+ msgid " or %<operator=(const %T&)%>"
+ msgstr ""
+
+-#: cp/class.c:3079
++#: cp/class.c:3089
+ #, gcc-internal-format
+ msgid " but does not override %<operator=(const %T&)%>"
+ msgstr ""
+
+-#: cp/class.c:3540
++#: cp/class.c:3550
+ #, gcc-internal-format
+ msgid "offset of empty base %qT may not be ABI-compliant and maychange in a future version of GCC"
+ msgstr ""
+
+-#: cp/class.c:3665
++#: cp/class.c:3675
+ #, gcc-internal-format
+ msgid "class %qT will be considered nearly empty in a future version of GCC"
+ msgstr ""
+
+-#: cp/class.c:3747
++#: cp/class.c:3757
+ #, fuzzy, gcc-internal-format
+ msgid "initializer specified for non-virtual method %q+D"
+ msgstr "²¾ÁÛ´Ø¿ô¤ò»ÈÍѤ¹¤ë¥ª¥Ö¥¸¥§¥¯¥ÈÍѤνé´ü²½»Ò¥ê¥¹¥È¤Ç¤¹"
+
+-#: cp/class.c:4412
++#: cp/class.c:4228
+ #, gcc-internal-format
++msgid "non-static reference %q+#D in class without a constructor"
++msgstr ""
++
++#: cp/class.c:4233
++#, gcc-internal-format
++msgid "non-static const member %q+#D in class without a constructor"
++msgstr ""
++
++#: cp/class.c:4488
++#, gcc-internal-format
+ msgid "offset of virtual base %qT is not ABI-compliant and may change in a future version of GCC"
+ msgstr ""
+
+-#: cp/class.c:4513
++#: cp/class.c:4589
+ #, gcc-internal-format
+ msgid "direct base %qT inaccessible in %qT due to ambiguity"
+ msgstr ""
+
+-#: cp/class.c:4525
++#: cp/class.c:4601
+ #, gcc-internal-format
+ msgid "virtual base %qT inaccessible in %qT due to ambiguity"
+ msgstr ""
+
+-#: cp/class.c:4704
++#: cp/class.c:4780
+ #, gcc-internal-format
+ msgid "size assigned to %qT may not be ABI-compliant and may change in a future version of GCC"
+ msgstr ""
+
+-#: cp/class.c:4744
++#: cp/class.c:4820
+ #, gcc-internal-format
+ msgid "the offset of %qD may not be ABI-compliant and may change in a future version of GCC"
+ msgstr ""
+
+-#: cp/class.c:4772
++#: cp/class.c:4848
+ #, gcc-internal-format
+ msgid "offset of %q+D is not ABI-compliant and may change in a future version of GCC"
+ msgstr ""
+
+-#: cp/class.c:4781
++#: cp/class.c:4857
+ #, gcc-internal-format
+ msgid "%q+D contains empty classes which may cause base classes to be placed at different locations in a future version of GCC"
+ msgstr ""
+
+-#: cp/class.c:4864
++#: cp/class.c:4944
+ #, gcc-internal-format
+ msgid "layout of classes derived from empty class %qT may change in a future version of GCC"
+ msgstr ""
+
+-#: cp/class.c:5010 cp/parser.c:14608
++#: cp/class.c:5090 cp/parser.c:14688
+ #, fuzzy, gcc-internal-format
+ msgid "redefinition of %q#T"
+ msgstr "`%s' ¤¬ºÆÄêµÁ¤µ¤ì¤Þ¤·¤¿"
+
+-#: cp/class.c:5166
++#: cp/class.c:5246
+ #, gcc-internal-format
+ msgid "%q#T has virtual functions and accessible non-virtual destructor"
+ msgstr ""
+
+-#: cp/class.c:5268
++#: cp/class.c:5348
+ #, fuzzy, gcc-internal-format
+ msgid "trying to finish struct, but kicked out due to previous parse errors"
+ msgstr "¹½Ê¸²òÀϤ¬¹½Â¤ÂΤνª¤ê¤Ëº¹¤·³Ý¤«¤ê¤Þ¤·¤¿¤¬¡¢Á°¤Î¥¨¥é¡¼¤Î¤»¤¤¤Çʸ̮¤ò¸«¼º¤¤¤Þ¤·¤¿"
+
+-#: cp/class.c:5728
++#: cp/class.c:5808
+ #, fuzzy, gcc-internal-format
+ msgid "language string %<\"%E\"%> not recognized"
+ msgstr "¸À¸ìʸ»úÎó `\"%s\"' ¤Ïǧ¼±¤µ¤ì¤Þ¤»¤ó"
+
+-#: cp/class.c:5817
++#: cp/class.c:5897
+ #, gcc-internal-format
+ msgid "cannot resolve overloaded function %qD based on conversion to type %qT"
+ msgstr ""
+
+-#: cp/class.c:5946
++#: cp/class.c:6026
+ #, gcc-internal-format
+ msgid "no matches converting function %qD to type %q#T"
+ msgstr ""
+
+-#: cp/class.c:5969
++#: cp/class.c:6049
+ #, gcc-internal-format
+ msgid "converting overloaded function %qD to type %q#T is ambiguous"
+ msgstr ""
+
+-#: cp/class.c:5995
++#: cp/class.c:6075
+ #, fuzzy, gcc-internal-format
+ msgid "assuming pointer to member %qD"
+ msgstr " ¥Ý¥¤¥ó¥¿¤«¤é¥á¥ó¥Ð¤Ø¤ÎÊÑ´¹¤Ç"
+
+-#: cp/class.c:5998
++#: cp/class.c:6078
+ #, gcc-internal-format
+ msgid "(a pointer to member can only be formed with %<&%E%>)"
+ msgstr ""
+
+-#: cp/class.c:6054 cp/class.c:6088
++#: cp/class.c:6134 cp/class.c:6168
+ #, gcc-internal-format
+ msgid "not enough type information"
+ msgstr "ÉÔ½½Ê¬¤Ê·¿¾ðÊó"
+
+-#: cp/class.c:6071
++#: cp/class.c:6151
+ #, fuzzy, gcc-internal-format
+ msgid "argument of type %qT does not match %qT"
+ msgstr "²¾°ú¿ô `%s' ¤Ï¥×¥í¥È¥¿¥¤¥×¤Ë°ìÃפ·¤Þ¤»¤ó"
+@@ -27927,12 +27879,12 @@
+ #. A name N used in a class S shall refer to the same declaration
+ #. in its context and when re-evaluated in the completed scope of
+ #. S.
+-#: cp/class.c:6358 cp/decl.c:1199 cp/name-lookup.c:526
++#: cp/class.c:6438 cp/decl.c:1200 cp/name-lookup.c:525
+ #, fuzzy, gcc-internal-format
+ msgid "declaration of %q#D"
+ msgstr "`%s' ¤¬ºÆÀë¸À¤µ¤ì¤Þ¤·¤¿"
+
+-#: cp/class.c:6359
++#: cp/class.c:6439
+ #, gcc-internal-format
+ msgid "changes meaning of %qD from %q+#D"
+ msgstr ""
+@@ -27967,7 +27919,7 @@
+ msgid "conversion from %qT to %qT discards qualifiers"
+ msgstr ""
+
+-#: cp/cvt.c:470 cp/typeck.c:5257
++#: cp/cvt.c:470 cp/typeck.c:5265
+ #, gcc-internal-format
+ msgid "casting %qT to %qT does not dereference pointer"
+ msgstr ""
+@@ -27977,190 +27929,190 @@
+ msgid "cannot convert type %qT to type %qT"
+ msgstr "¥Ý¥¤¥ó¥¿·¿¤ËÊÑ´¹¤Ç¤­¤Þ¤»¤ó"
+
+-#: cp/cvt.c:656
++#: cp/cvt.c:649
+ #, fuzzy, gcc-internal-format
+ msgid "conversion from %q#T to %q#T"
+ msgstr "NaN ¤«¤éÀ°¿ô¤Ø¤ÎÊÑ´¹¤Ç¤¹"
+
+-#: cp/cvt.c:668 cp/cvt.c:688
++#: cp/cvt.c:661 cp/cvt.c:681
+ #, fuzzy, gcc-internal-format
+ msgid "%q#T used where a %qT was expected"
+ msgstr "ÉâÆ°¾®¿ôÅÀ·¿¤¬¤¢¤ë¤Ù¤­²Õ½ê¤Ç¡¢½¸¹çÂΤÎÃͤ¬»È¤ï¤ì¤Þ¤·¤¿"
+
+-#: cp/cvt.c:703
++#: cp/cvt.c:696
+ #, fuzzy, gcc-internal-format
+ msgid "%q#T used where a floating point value was expected"
+ msgstr "ÉâÆ°¾®¿ôÅÀ¿ô¤¬¤¢¤ë¤Ù¤­²Õ½ê¤Ç¡¢¥Ý¥¤¥ó¥¿Ãͤ¬»È¤ï¤ì¤Þ¤·¤¿"
+
+-#: cp/cvt.c:750
++#: cp/cvt.c:743
+ #, fuzzy, gcc-internal-format
+ msgid "conversion from %qT to non-scalar type %qT requested"
+ msgstr "Èó¥¹¥«¥é¡¼·¿¤Ø¤ÎÊÑ´¹¤¬Í׵ᤵ¤ì¤Þ¤¹"
+
+-#: cp/cvt.c:784
++#: cp/cvt.c:777
+ #, gcc-internal-format
+ msgid "pseudo-destructor is not called"
+ msgstr ""
+
+-#: cp/cvt.c:844
++#: cp/cvt.c:837
+ #, gcc-internal-format
+ msgid "object of incomplete type %qT will not be accessed in %s"
+ msgstr ""
+
+-#: cp/cvt.c:849
++#: cp/cvt.c:842
+ #, gcc-internal-format
+ msgid "object of type %qT will not be accessed in %s"
+ msgstr ""
+
+-#: cp/cvt.c:865
++#: cp/cvt.c:858
+ #, gcc-internal-format
+ msgid "object %qE of incomplete type %qT will not be accessed in %s"
+ msgstr ""
+
+ #. [over.over] enumerates the places where we can take the address
+ #. of an overloaded function, and this is not one of them.
+-#: cp/cvt.c:902
++#: cp/cvt.c:895
+ #, fuzzy, gcc-internal-format
+ msgid "%s cannot resolve address of overloaded function"
+ msgstr "À©¸æ¤¬Èó void ´Ø¿ô¤Î½ª¤ê¤ËÅþ㤷¤Þ¤·¤¿"
+
+ #. Only warn when there is no &.
+-#: cp/cvt.c:909
++#: cp/cvt.c:902
+ #, gcc-internal-format
+ msgid "%s is a reference, not call, to function %qE"
+ msgstr ""
+
+-#: cp/cvt.c:926
++#: cp/cvt.c:919
+ #, fuzzy, gcc-internal-format
+ msgid "%s has no effect"
+ msgstr "%s¤¬%s¤ò»ý¤Ã¤Æ¤¤¤Þ¤»¤ó"
+
+-#: cp/cvt.c:958
++#: cp/cvt.c:951
+ #, fuzzy, gcc-internal-format
+ msgid "value computed is not used"
+ msgstr ".da ¥Õ¥¡¥¤¥ë¤ÎÆâÍƤò»È¤¤ÀڤäƤ¤¤Þ¤»¤ó\n"
+
+-#: cp/cvt.c:1068
++#: cp/cvt.c:1061
+ #, fuzzy, gcc-internal-format
+ msgid "converting NULL to non-pointer type"
+ msgstr "ÉÔ´°Á´·¿¤Ø¤ÎÊÑ´¹¤Ç¤¹"
+
+-#: cp/cvt.c:1174
++#: cp/cvt.c:1167
+ #, gcc-internal-format
+ msgid "ambiguous default type conversion from %qT"
+ msgstr ""
+
+-#: cp/cvt.c:1176
++#: cp/cvt.c:1169
+ #, gcc-internal-format
+ msgid " candidate conversions include %qD and %qD"
+ msgstr ""
+
+-#: cp/decl.c:1062
++#: cp/decl.c:1063
+ #, fuzzy, gcc-internal-format
+ msgid "%qD was declared %<extern%> and later %<static%>"
+ msgstr "`%s' ¤Ï `extern' ¤ÈÀë¸À¤µ¤ì¡¢¸å¤Ç `static' ¤ÈÀë¸À¤µ¤ì¤Þ¤·¤¿"
+
+-#: cp/decl.c:1063 cp/decl.c:1618 objc/objc-act.c:2931 objc/objc-act.c:7503
++#: cp/decl.c:1064 cp/decl.c:1619 objc/objc-act.c:2931 objc/objc-act.c:7503
+ #, fuzzy, gcc-internal-format
+ msgid "previous declaration of %q+D"
+ msgstr "Á°Êý¤Ç¤Î `%s' ¤ÎÀë¸À"
+
+-#: cp/decl.c:1096
++#: cp/decl.c:1097
+ #, fuzzy, gcc-internal-format
+ msgid "declaration of %qF throws different exceptions"
+ msgstr "`%s' ¤ÎÀë¸À¤Ï´Ø¿ô¤ÎÇÛÎó"
+
+-#: cp/decl.c:1097
++#: cp/decl.c:1098
+ #, fuzzy, gcc-internal-format
+ msgid "from previous declaration %q+F"
+ msgstr "`%s' ¤ÎÁ°ÊýÀë¸À¤¬¤¢¤ê¤Þ¤»¤ó"
+
+-#: cp/decl.c:1153
++#: cp/decl.c:1154
+ #, fuzzy, gcc-internal-format
+ msgid "function %q+D redeclared as inline"
+ msgstr "´Ø¿ô¤¬Â礭¤¹¤®¤Æ inline ¤Ë¤Ç¤­¤Þ¤»¤ó"
+
+-#: cp/decl.c:1155
++#: cp/decl.c:1156
+ #, fuzzy, gcc-internal-format
+ msgid "previous declaration of %q+D with attribute noinline"
+ msgstr "Á°Êý¤Ç¤Î `%s' ¤ÎÀë¸À"
+
+-#: cp/decl.c:1162
++#: cp/decl.c:1163
+ #, fuzzy, gcc-internal-format
+ msgid "function %q+D redeclared with attribute noinline"
+ msgstr "´Ø¿ô¤¬Â礭¤¹¤®¤Æ inline ¤Ë¤Ç¤­¤Þ¤»¤ó"
+
+-#: cp/decl.c:1164
++#: cp/decl.c:1165
+ #, fuzzy, gcc-internal-format
+ msgid "previous declaration of %q+D was inline"
+ msgstr "Á°Êý¤Ç¤Î `%s' ¤ÎÀë¸À"
+
+-#: cp/decl.c:1186 cp/decl.c:1259
++#: cp/decl.c:1187 cp/decl.c:1260
+ #, fuzzy, gcc-internal-format
+ msgid "shadowing %s function %q#D"
+ msgstr "¥é¥¤¥Ö¥é¥ê´Ø¿ô `%s' ¤òʤ¤¤±£¤·¤Þ¤¹"
+
+-#: cp/decl.c:1195
++#: cp/decl.c:1196
+ #, fuzzy, gcc-internal-format
+ msgid "library function %q#D redeclared as non-function %q#D"
+ msgstr "¥é¥¤¥Ö¥é¥ê´Ø¿ô `%s' ¤ÏÈó´Ø¿ô¤È¤·¤ÆÀë¸À¤µ¤ì¤Þ¤·¤¿"
+
+-#: cp/decl.c:1200
++#: cp/decl.c:1201
+ #, fuzzy, gcc-internal-format
+ msgid "conflicts with built-in declaration %q#D"
+ msgstr "`%s' ¤ÎÀë¸À¤¬Ì·½â¤·¤Æ¤¤¤Þ¤¹"
+
+-#: cp/decl.c:1254 cp/decl.c:1380 cp/decl.c:1396
++#: cp/decl.c:1255 cp/decl.c:1381 cp/decl.c:1397
+ #, fuzzy, gcc-internal-format
+ msgid "new declaration %q#D"
+ msgstr "¶õ¤ÎÀë¸À¤Ç¤¹"
+
+-#: cp/decl.c:1255
++#: cp/decl.c:1256
+ #, fuzzy, gcc-internal-format
+ msgid "ambiguates built-in declaration %q#D"
+ msgstr "¥é¥Ù¥ë¤ÎÀë¸À `%s' ¤¬½ÅÊ£¤·¤Æ¤¤¤Þ¤¹"
+
+-#: cp/decl.c:1344
++#: cp/decl.c:1345
+ #, fuzzy, gcc-internal-format
+ msgid "%q#D redeclared as different kind of symbol"
+ msgstr "`%s' ¤¬Ê̤Υ·¥ó¥Ü¥ë¼ï¤È¤·¤ÆºÆÀë¸À¤µ¤ì¤Þ¤·¤¿"
+
+-#: cp/decl.c:1347
++#: cp/decl.c:1348
+ #, fuzzy, gcc-internal-format
+ msgid "previous declaration of %q+#D"
+ msgstr "Á°Êý¤Ç¤Î `%s' ¤ÎÀë¸À"
+
+-#: cp/decl.c:1366
++#: cp/decl.c:1367
+ #, fuzzy, gcc-internal-format
+ msgid "declaration of template %q#D"
+ msgstr "`enum %s' ¤ÎºÆÀë¸À"
+
+-#: cp/decl.c:1367 cp/name-lookup.c:527
++#: cp/decl.c:1368 cp/name-lookup.c:526
+ #, fuzzy, gcc-internal-format
+ msgid "conflicts with previous declaration %q+#D"
+ msgstr "`%s' ¤Î¥»¥¯¥·¥ç¥ó¤ÏÁ°Êý¤Ç¤ËÀë¸À¤µ¤ì¤¿¤â¤Î¤È¾×Æͤ·¤Þ¤¹"
+
+-#: cp/decl.c:1381 cp/decl.c:1397
++#: cp/decl.c:1382 cp/decl.c:1398
+ #, fuzzy, gcc-internal-format
+ msgid "ambiguates old declaration %q+#D"
+ msgstr "¥é¥Ù¥ë¤ÎÀë¸À `%s' ¤¬½ÅÊ£¤·¤Æ¤¤¤Þ¤¹"
+
+-#: cp/decl.c:1389
++#: cp/decl.c:1390
+ #, fuzzy, gcc-internal-format
+ msgid "declaration of C function %q#D conflicts with"
+ msgstr "%s: ´Ø¿ô `%s' ¤ÎÀë¸À¤¬ÊÑ´¹¤µ¤ì¤Æ¤¤¤Þ¤»¤ó\n"
+
+-#: cp/decl.c:1391
++#: cp/decl.c:1392
+ #, fuzzy, gcc-internal-format
+ msgid "previous declaration %q+#D here"
+ msgstr "Á°Êý¤Ç¤Î `%s' ¤ÎÀë¸À"
+
+-#: cp/decl.c:1405
++#: cp/decl.c:1406
+ #, fuzzy, gcc-internal-format
+ msgid "conflicting declaration %q#D"
+ msgstr "`%s' ¤ÎÀë¸À¤¬Ì·½â¤·¤Æ¤¤¤Þ¤¹"
+
+-#: cp/decl.c:1406
++#: cp/decl.c:1407
+ #, fuzzy, gcc-internal-format
+ msgid "%q+D has a previous declaration as %q#D"
+ msgstr "Á°Êý¤Ç¤Î `%s' ¤ÎÀë¸À"
+@@ -28172,63 +28124,63 @@
+ #. A namespace-name defined at global scope shall not be
+ #. declared as the name of any other entity in any global scope
+ #. of the program.
+-#: cp/decl.c:1458
++#: cp/decl.c:1459
+ #, gcc-internal-format
+ msgid "declaration of namespace %qD conflicts with"
+ msgstr ""
+
+-#: cp/decl.c:1459
++#: cp/decl.c:1460
+ #, fuzzy, gcc-internal-format
+ msgid "previous declaration of namespace %q+D here"
+ msgstr "Á°Êý¤Ç¤Î `%s' ¤ÎÀë¸À"
+
+-#: cp/decl.c:1470
++#: cp/decl.c:1471
+ #, fuzzy, gcc-internal-format
+ msgid "%q+#D previously defined here"
+ msgstr "`%s' ¤ÏÁ°¤Ë¤³¤³¤ÇÄêµÁ¤µ¤ì¤Þ¤·¤¿"
+
+ #. Prototype decl follows defn w/o prototype.
+-#: cp/decl.c:1480
++#: cp/decl.c:1481
+ #, fuzzy, gcc-internal-format
+ msgid "prototype for %q+#D"
+ msgstr "`%s' ¤Î¥×¥í¥È¥¿¥¤¥×¤¬¸å¤í¤Ë¤¢¤ê¤Þ¤¹"
+
+-#: cp/decl.c:1481
++#: cp/decl.c:1482
+ #, fuzzy, gcc-internal-format
+ msgid "%Jfollows non-prototype definition here"
+ msgstr "Èó¥×¥í¥È¥¿¥¤¥×ÄêµÁ¤¬¤³¤³¤Ë¤¢¤ê¤Þ¤¹"
+
+-#: cp/decl.c:1521
++#: cp/decl.c:1522
+ #, fuzzy, gcc-internal-format
+ msgid "previous declaration of %q+#D with %qL linkage"
+ msgstr "Á°Êý¤Ç¤Î `%s' ¤ÎÀë¸À"
+
+-#: cp/decl.c:1523
++#: cp/decl.c:1524
+ #, fuzzy, gcc-internal-format
+ msgid "conflicts with new declaration with %qL linkage"
+ msgstr "`%s' ¤ÎÀë¸À¤¬Ì·½â¤·¤Æ¤¤¤Þ¤¹"
+
+-#: cp/decl.c:1546 cp/decl.c:1552
++#: cp/decl.c:1547 cp/decl.c:1553
+ #, gcc-internal-format
+ msgid "default argument given for parameter %d of %q#D"
+ msgstr ""
+
+-#: cp/decl.c:1548 cp/decl.c:1554
++#: cp/decl.c:1549 cp/decl.c:1555
+ #, gcc-internal-format
+ msgid "after previous specification in %q+#D"
+ msgstr ""
+
+-#: cp/decl.c:1563
++#: cp/decl.c:1564
+ #, gcc-internal-format
+ msgid "%q#D was used before it was declared inline"
+ msgstr ""
+
+-#: cp/decl.c:1564
++#: cp/decl.c:1565
+ #, fuzzy, gcc-internal-format
+ msgid "%Jprevious non-inline declaration here"
+ msgstr "Á°Êý¤Ç¤Î `%s' ¤Î°ÅÌÛŪ¤ÊÀë¸À"
+
+-#: cp/decl.c:1617
++#: cp/decl.c:1618
+ #, fuzzy, gcc-internal-format
+ msgid "redundant redeclaration of %qD in same scope"
+ msgstr "`%s' ¤Î¾éĹ¤ÊºÆÀë¸À¤¬Æ±°ì¥¹¥³¡¼¥×Æâ¤Ë¤¢¤ê¤Þ¤¹"
+@@ -28241,313 +28193,319 @@
+ #. that specialization that would cause an implicit
+ #. instantiation to take place, in every translation unit in
+ #. which such a use occurs.
+-#: cp/decl.c:1932
++#: cp/decl.c:1939
+ #, gcc-internal-format
+ msgid "explicit specialization of %qD after first use"
+ msgstr ""
+
+-#: cp/decl.c:2028
++#: cp/decl.c:2035
+ #, gcc-internal-format
+ msgid "%q+D: visibility attribute ignored because it"
+ msgstr ""
+
+-#: cp/decl.c:2030
++#: cp/decl.c:2037
+ #, fuzzy, gcc-internal-format
+ msgid "%Jconflicts with previous declaration here"
+ msgstr "`%s' ¤Î¥»¥¯¥·¥ç¥ó¤ÏÁ°Êý¤Ç¤ËÀë¸À¤µ¤ì¤¿¤â¤Î¤È¾×Æͤ·¤Þ¤¹"
+
+-#: cp/decl.c:2457
++#: cp/decl.c:2464
+ #, fuzzy, gcc-internal-format
+ msgid "jump to label %qD"
+ msgstr "case ¥é¥Ù¥ë¤Ë¥¸¥ã¥ó¥×¤·¤Æ¤¤¤Þ¤¹"
+
+-#: cp/decl.c:2459
++#: cp/decl.c:2466
+ #, gcc-internal-format
+ msgid "jump to case label"
+ msgstr "case ¥é¥Ù¥ë¤Ë¥¸¥ã¥ó¥×¤·¤Æ¤¤¤Þ¤¹"
+
+-#: cp/decl.c:2461
++#: cp/decl.c:2468
+ #, fuzzy, gcc-internal-format
+ msgid "%H from here"
+ msgstr " ¤³¤³¤«¤é"
+
+-#: cp/decl.c:2480 cp/decl.c:2643
++#: cp/decl.c:2487 cp/decl.c:2650
+ #, gcc-internal-format
+ msgid " exits OpenMP structured block"
+ msgstr ""
+
+-#: cp/decl.c:2501
++#: cp/decl.c:2508
+ #, fuzzy, gcc-internal-format
+ msgid " crosses initialization of %q+#D"
+ msgstr "(`%s' ¤Î½é´ü²½¤ÏÉÔ´°Á´¤Ç¤¹)"
+
+-#: cp/decl.c:2503 cp/decl.c:2618
++#: cp/decl.c:2510 cp/decl.c:2625
+ #, gcc-internal-format
+ msgid " enters scope of non-POD %q+#D"
+ msgstr ""
+
+-#: cp/decl.c:2516 cp/decl.c:2622
++#: cp/decl.c:2523 cp/decl.c:2629
+ #, gcc-internal-format
+ msgid " enters try block"
+ msgstr " try ¥Ö¥í¥Ã¥¯¤ËÆþ¤ê¤Þ¤¹"
+
+-#: cp/decl.c:2518 cp/decl.c:2624
++#: cp/decl.c:2525 cp/decl.c:2631
+ #, gcc-internal-format
+ msgid " enters catch block"
+ msgstr " catch ¥Ö¥í¥Ã¥¯¤ËÆþ¤ê¤Þ¤¹"
+
+-#: cp/decl.c:2528 cp/decl.c:2627
++#: cp/decl.c:2535 cp/decl.c:2634
+ #, fuzzy, gcc-internal-format
+ msgid " enters OpenMP structured block"
+ msgstr " try ¥Ö¥í¥Ã¥¯¤ËÆþ¤ê¤Þ¤¹"
+
+-#: cp/decl.c:2599 cp/decl.c:2639
++#: cp/decl.c:2606 cp/decl.c:2646
+ #, fuzzy, gcc-internal-format
+ msgid "jump to label %q+D"
+ msgstr "case ¥é¥Ù¥ë¤Ë¥¸¥ã¥ó¥×¤·¤Æ¤¤¤Þ¤¹"
+
+-#: cp/decl.c:2600 cp/decl.c:2640
++#: cp/decl.c:2607 cp/decl.c:2647
+ #, gcc-internal-format
+ msgid " from here"
+ msgstr " ¤³¤³¤«¤é"
+
+ #. Can't skip init of __exception_info.
+-#: cp/decl.c:2612
++#: cp/decl.c:2619
+ #, fuzzy, gcc-internal-format
+ msgid "%J enters catch block"
+ msgstr " catch ¥Ö¥í¥Ã¥¯¤ËÆþ¤ê¤Þ¤¹"
+
+-#: cp/decl.c:2616
++#: cp/decl.c:2623
+ #, fuzzy, gcc-internal-format
+ msgid " skips initialization of %q+#D"
+ msgstr "(`%s' ¤Î½é´ü²½¤ÏÉÔ´°Á´¤Ç¤¹)"
+
+-#: cp/decl.c:2692
++#: cp/decl.c:2699
+ #, gcc-internal-format
+ msgid "label named wchar_t"
+ msgstr ""
+
+-#: cp/decl.c:2696
++#: cp/decl.c:2703
+ #, fuzzy, gcc-internal-format
+ msgid "duplicate label %qD"
+ msgstr "½ÅÊ£¤·¤¿¥á¥ó¥Ð `%s'"
+
+-#: cp/decl.c:2962
++#: cp/decl.c:2969
+ #, fuzzy, gcc-internal-format
+ msgid "%qD is not a type"
+ msgstr "%s ¤Ï·¿ %s ¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó (°ú¿ô %d)"
+
+-#: cp/decl.c:2968 cp/parser.c:4033
++#: cp/decl.c:2975 cp/parser.c:4037
+ #, gcc-internal-format
+ msgid "%qD used without template parameters"
+ msgstr ""
+
+-#: cp/decl.c:2983
++#: cp/decl.c:2990
+ #, gcc-internal-format
+ msgid "%q#T is not a class"
+ msgstr ""
+
+-#: cp/decl.c:2995 cp/decl.c:3063
++#: cp/decl.c:3002 cp/decl.c:3070
+ #, gcc-internal-format
+ msgid "no class template named %q#T in %q#T"
+ msgstr ""
+
+-#: cp/decl.c:3003
++#: cp/decl.c:3010
+ #, gcc-internal-format
+ msgid "%<typename %T::%D%> names %q#T, which is not a class template"
+ msgstr ""
+
+-#: cp/decl.c:3010
++#: cp/decl.c:3017
+ #, gcc-internal-format
+ msgid "%<typename %T::%D%> names %q#T, which is not a type"
+ msgstr ""
+
+-#: cp/decl.c:3072
++#: cp/decl.c:3079
+ #, fuzzy, gcc-internal-format
+ msgid "template parameters do not match template"
+ msgstr "²¾°ú¿ô `%s' ¤Î·¿¤¬Àë¸À¤µ¤ì¤Æ¤¤¤Þ¤»¤ó"
+
+-#: cp/decl.c:3073 cp/friend.c:321 cp/friend.c:329
++#: cp/decl.c:3080 cp/friend.c:321 cp/friend.c:329
+ #, fuzzy, gcc-internal-format
+ msgid "%q+D declared here"
+ msgstr "`%s' ¤ÏÁ°¤Ë¤³¤³¤ÇÀë¸À¤µ¤ì¤Þ¤·¤¿"
+
+-#: cp/decl.c:3711
++#: cp/decl.c:3727
+ #, fuzzy, gcc-internal-format
+ msgid "%Jan anonymous struct cannot have function members"
+ msgstr "̵̾¹½Â¤ÂΤ¬Ì¾Á°¤Ä¤­·¿¤ÎÃæ¤Ë¤¢¤ê¤Þ¤»¤ó"
+
+-#: cp/decl.c:3713
++#: cp/decl.c:3729
+ #, gcc-internal-format
+ msgid "%Jan anonymous union cannot have function members"
+ msgstr ""
+
+-#: cp/decl.c:3731
++#: cp/decl.c:3747
+ #, gcc-internal-format
+ msgid "member %q+#D with constructor not allowed in anonymous aggregate"
+ msgstr ""
+
+-#: cp/decl.c:3734
++#: cp/decl.c:3750
+ #, gcc-internal-format
+ msgid "member %q+#D with destructor not allowed in anonymous aggregate"
+ msgstr ""
+
+-#: cp/decl.c:3737
++#: cp/decl.c:3753
+ #, gcc-internal-format
+ msgid "member %q+#D with copy assignment operator not allowed in anonymous aggregate"
+ msgstr ""
+
+-#: cp/decl.c:3762
++#: cp/decl.c:3778
+ #, gcc-internal-format
+ msgid "multiple types in one declaration"
+ msgstr "°ì¤Ä¤ÎÀë¸À¤ËÊ£¿ô¤Î·¿¤¬¤¢¤ê¤Þ¤¹"
+
+-#: cp/decl.c:3766
++#: cp/decl.c:3782
+ #, fuzzy, gcc-internal-format
+ msgid "redeclaration of C++ built-in type %qT"
+ msgstr "`enum %s' ¤ÎºÆÀë¸À"
+
+-#: cp/decl.c:3803
++#: cp/decl.c:3819
+ #, fuzzy, gcc-internal-format
+ msgid "missing type-name in typedef-declaration"
+ msgstr "typdef Àë¸À¤Ç·¿Ì¾¤ò·ç¤¤¤Æ¤¤¤Þ¤¹"
+
+-#: cp/decl.c:3811
++#: cp/decl.c:3827
+ #, gcc-internal-format
+ msgid "ISO C++ prohibits anonymous structs"
+ msgstr "ISO C++ ¤Ï̵̾¹½Â¤ÂΤò¶Ø»ß¤·¤Æ¤¤¤Þ¤¹"
+
+-#: cp/decl.c:3818
++#: cp/decl.c:3834
+ #, fuzzy, gcc-internal-format
+ msgid "%qs can only be specified for functions"
+ msgstr "Èó´Ø¿ô `%s' ¤Î°ú¿ô¤Ë format °À­¤¬»ØÄꤵ¤ì¤Þ¤·¤¿"
+
+-#: cp/decl.c:3824
++#: cp/decl.c:3840
+ #, gcc-internal-format
+ msgid "%<friend%> can only be specified inside a class"
+ msgstr ""
+
+-#: cp/decl.c:3826
++#: cp/decl.c:3842
+ #, fuzzy, gcc-internal-format
+ msgid "%<explicit%> can only be specified for constructors"
+ msgstr "¥³¥ó¥¹¥È¥é¥¯¥¿¤ËÂФ¹¤ëÌá¤êÃͤη¿»ØÄê¤Ï̵»ë¤µ¤ì¤Þ¤·¤¿"
+
+-#: cp/decl.c:3828
++#: cp/decl.c:3844
+ #, fuzzy, gcc-internal-format
+ msgid "a storage class can only be specified for objects and functions"
+ msgstr "%s ¤ËÂФ¹¤ëµ­²±¥¯¥é¥¹»ØÄê»Ò `%s'"
+
+-#: cp/decl.c:3834
++#: cp/decl.c:3850
+ #, gcc-internal-format
+ msgid "qualifiers can only be specified for objects and functions"
+ msgstr ""
+
+-#: cp/decl.c:3837
++#: cp/decl.c:3853
+ #, fuzzy, gcc-internal-format
+ msgid "%<typedef%> was ignored in this declaration"
+ msgstr "`%s' ¤ÎÀë¸À¤Ç·¿¤¬¥Ç¥Õ¥©¥ë¥È¤Î `int' ¤È¤µ¤ì¤Þ¤·¤¿"
+
+-#: cp/decl.c:3866
++#: cp/decl.c:3882
+ #, fuzzy, gcc-internal-format
+ msgid "attribute ignored in declaration of %q+#T"
+ msgstr "`%s' ¤ÎÀë¸À¤ËÆó¤Ä°Ê¾å¤Î¥Ç¡¼¥¿·¿¤¬»ØÄꤵ¤ì¤Þ¤·¤¿"
+
+-#: cp/decl.c:3867
++#: cp/decl.c:3883
+ #, gcc-internal-format
+ msgid "attribute for %q+#T must follow the %qs keyword"
+ msgstr ""
+
+-#: cp/decl.c:3909
++#: cp/decl.c:3925
+ #, fuzzy, gcc-internal-format
+-msgid "ignoring attributes applied to class type outside of definition"
++msgid "ignoring attributes applied to class type %qT outside of definition"
+ msgstr "`com_interface' °À­¤Ï¥¯¥é¥¹ÄêµÁ¤Ë¤Î¤ßÍѤ¤¤ë»ö¤¬¤Ç¤­¤Þ¤¹"
+
+-#: cp/decl.c:3987
++#. A template type parameter or other dependent type.
++#: cp/decl.c:3929
++#, gcc-internal-format
++msgid "ignoring attributes applied to dependent type %qT without an associated declaration"
++msgstr ""
++
++#: cp/decl.c:4007
+ #, fuzzy, gcc-internal-format
+ msgid "function %q#D is initialized like a variable"
+ msgstr "´Ø¿ô `%s' ¤¬ÊÑ¿ô¤Ç¤¢¤ë¤«¤Î¤è¤¦¤Ë½é´ü²½¤µ¤ì¤Þ¤·¤¿"
+
+-#: cp/decl.c:3998
++#: cp/decl.c:4018
+ #, fuzzy, gcc-internal-format
+ msgid "declaration of %q#D has %<extern%> and is initialized"
+ msgstr "`%s' ¤ÎÀë¸À¤Ë `extern' ¤¬¤Ä¤¤¤Æ¤ª¤ê¡¢½é´ü²½¤â¤µ¤ì¤Æ¤¤¤Þ¤¹"
+
+-#: cp/decl.c:4014
++#: cp/decl.c:4034
+ #, fuzzy, gcc-internal-format
+ msgid "definition of %q#D is marked %<dllimport%>"
+ msgstr "½é´ü²½¤µ¤ì¤¿ÊÑ¿ô `%s' ¤Ï dllimport ¥Þ¡¼¥¯¤µ¤ì¤Æ¤¤¤Þ¤¹"
+
+-#: cp/decl.c:4033
++#: cp/decl.c:4053
+ #, gcc-internal-format
+ msgid "%q#D is not a static member of %q#T"
+ msgstr ""
+
+-#: cp/decl.c:4039
++#: cp/decl.c:4059
+ #, gcc-internal-format
+ msgid "ISO C++ does not permit %<%T::%D%> to be defined as %<%T::%D%>"
+ msgstr ""
+
+-#: cp/decl.c:4048
++#: cp/decl.c:4068
+ #, gcc-internal-format
+ msgid "template header not allowed in member definition of explicitly specialized class"
+ msgstr ""
+
+-#: cp/decl.c:4056
++#: cp/decl.c:4076
+ #, fuzzy, gcc-internal-format
+ msgid "duplicate initialization of %qD"
+ msgstr "½ÅÊ£¤·¤¿½é´ü²½»Ò"
+
+-#: cp/decl.c:4095
++#: cp/decl.c:4115
+ #, fuzzy, gcc-internal-format
+ msgid "declaration of %q#D outside of class is not definition"
+ msgstr "friend Àë¸À¤¬¥¯¥é¥¹ÄêµÁ¤ÎÃæ¤Ë¤¢¤ê¤Þ¤»¤ó"
+
+-#: cp/decl.c:4188
++#: cp/decl.c:4208
+ #, fuzzy, gcc-internal-format
+ msgid "variable %q#D has initializer but incomplete type"
+ msgstr "ÊÑ¿ô `%s' ¤Ë¤Ï½é´ü²½»Ò¤¬¤¢¤ê¤Þ¤¹¤¬¡¢ÉÔ´°Á´·¿¤Ç¤¹"
+
+-#: cp/decl.c:4194 cp/decl.c:4906
++#: cp/decl.c:4214 cp/decl.c:4926
+ #, fuzzy, gcc-internal-format
+ msgid "elements of array %q#D have incomplete type"
+ msgstr "ÇÛÎó `%s' ¤ÎÍ×ÁǤËÉÔ´°Á´·¿¤¬¤¢¤ê¤Þ¤¹"
+
+-#: cp/decl.c:4200
++#: cp/decl.c:4220
+ #, fuzzy, gcc-internal-format
+ msgid "aggregate %q#D has incomplete type and cannot be defined"
+ msgstr "²¾°ú¿ô `%s' ¤ÏÉÔ´°Á´·¿¤Ç¤¹"
+
+-#: cp/decl.c:4236
++#: cp/decl.c:4256
+ #, gcc-internal-format
+ msgid "%qD declared as reference but not initialized"
+ msgstr ""
+
+-#: cp/decl.c:4242
++#: cp/decl.c:4262
+ #, fuzzy, gcc-internal-format
+ msgid "ISO C++ forbids use of initializer list to initialize reference %qD"
+ msgstr "ISO C++ ¤Ï new ¤Ø¤Î½¸¹çÂνé´ü²½»Ò¤ò¶Ø¤¸¤Þ¤¹"
+
+-#: cp/decl.c:4268
++#: cp/decl.c:4288
+ #, fuzzy, gcc-internal-format
+ msgid "cannot initialize %qT from %qT"
+ msgstr "friend ´Ø¿ô `%s' ¤ò½é´ü²½¤Ç¤­¤Þ¤»¤ó"
+
+-#: cp/decl.c:4296
++#: cp/decl.c:4316
+ #, gcc-internal-format
+ msgid "name %qD used in a GNU-style designated initializer for an array"
+ msgstr ""
+
+-#: cp/decl.c:4345
++#: cp/decl.c:4365
+ #, fuzzy, gcc-internal-format
+ msgid "initializer fails to determine size of %qD"
+ msgstr "½é´ü²½»Ò¤Ï `%s' ¤Î¥µ¥¤¥º¤ÎÆÃÄê¤Ë¼ºÇÔ¤·¤Þ¤·¤¿"
+
+-#: cp/decl.c:4352
++#: cp/decl.c:4372
+ #, fuzzy, gcc-internal-format
+ msgid "array size missing in %qD"
+ msgstr "`%s' ¤Ç¤ÎÇÛÎó¥µ¥¤¥º¤ò·ç¤¤¤Æ¤¤¤Þ¤¹"
+
+-#: cp/decl.c:4364
++#: cp/decl.c:4384
+ #, fuzzy, gcc-internal-format
+ msgid "zero-size array %qD"
+ msgstr "ISO C ¤Ï ¥µ¥¤¥º 0 ¤ÎÇÛÎó `%s' ¤ò¶Ø¤¸¤Þ¤¹"
+@@ -28555,240 +28513,250 @@
+ #. An automatic variable with an incomplete type: that is an error.
+ #. Don't talk about array types here, since we took care of that
+ #. message in grokdeclarator.
+-#: cp/decl.c:4407
++#: cp/decl.c:4427
+ #, fuzzy, gcc-internal-format
+ msgid "storage size of %qD isn't known"
+ msgstr "`%s' ¤ÎÎΰ襵¥¤¥º¤¬¤ï¤«¤ê¤Þ¤»¤ó"
+
+-#: cp/decl.c:4429
++#: cp/decl.c:4449
+ #, fuzzy, gcc-internal-format
+ msgid "storage size of %qD isn't constant"
+ msgstr "`%s' ¤ÎÎΰ襵¥¤¥º¤¬°ìÄê¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó"
+
+-#: cp/decl.c:4478
++#: cp/decl.c:4498
+ #, 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.c:4481
++#: cp/decl.c:4501
+ #, gcc-internal-format
+ msgid "%J you can work around this by removing the initializer"
+ msgstr ""
+
+-#: cp/decl.c:4508
++#: cp/decl.c:4528
+ #, fuzzy, gcc-internal-format
+ msgid "uninitialized const %qD"
+ msgstr "̤½é´ü²½Äê¿ô¤ò ROM ¤ËÃÖ¤«¤Ê¤¤"
+
+-#: cp/decl.c:4620
++#: cp/decl.c:4640
+ #, fuzzy, gcc-internal-format
+ msgid "invalid type %qT as initializer for a vector of type %qT"
+ msgstr "̵¸ú¤Ê¥Ó¥Ã¥ÈÎó½é´ü²½»Ò¤Ç¤¹"
+
+-#: cp/decl.c:4662
++#: cp/decl.c:4682
+ #, fuzzy, gcc-internal-format
+ msgid "initializer for %qT must be brace-enclosed"
+ msgstr "̵̾´ðÄ쥯¥é¥¹¤Î½é´üÀßÄê»Ò¤¬Û£Ëæ¤Ç¤¹"
+
+-#: cp/decl.c:4680
++#: cp/decl.c:4700
+ #, fuzzy, gcc-internal-format
+ msgid "%qT has no non-static data member named %qD"
+ msgstr "%s ¤Ë `%s' ¤È¤¤¤¦Ì¾Á°¤Î¥á¥ó¥Ð¤Ï¤¢¤ê¤Þ¤»¤ó"
+
+-#: cp/decl.c:4731
++#: cp/decl.c:4751
+ #, fuzzy, gcc-internal-format
+ msgid "braces around scalar initializer for type %qT"
+ msgstr "¥¹¥«¥é¡¼½é´ü²½»Ò¤¬¥Ö¥ì¡¼¥¹¤Ç°Ï¤Þ¤ì¤Æ¤¤¤Þ¤¹"
+
+-#: cp/decl.c:4814
++#: cp/decl.c:4834
+ #, fuzzy, gcc-internal-format
+ msgid "missing braces around initializer for %qT"
+ msgstr "½é´ü²½»Ò¤Î¤Þ¤ï¤ê¤Î¥Ö¥ì¡¼¥¹¤ò·ç¤¤¤Æ¤¤¤Þ¤¹"
+
+-#: cp/decl.c:4871
++#: cp/decl.c:4891
+ #, fuzzy, gcc-internal-format
+ msgid "too many initializers for %qT"
+ msgstr "ÆþÎÏ¥Õ¥¡¥¤¥ë¤¬Â¿¤¹¤®¤Þ¤¹"
+
+-#: cp/decl.c:4914
++#: cp/decl.c:4934
+ #, fuzzy, gcc-internal-format
+ msgid "variable-sized object %qD may not be initialized"
+ msgstr "²ÄÊÑĹ¥ª¥Ö¥¸¥§¥¯¥È¤Ï½é´ü²½¤µ¤ì¤Ê¤¤¤³¤È¤Ë¤Ê¤ë¤Ç¤·¤ç¤¦"
+
+-#: cp/decl.c:4920
++#: cp/decl.c:4940
+ #, fuzzy, gcc-internal-format
+ msgid "%qD has incomplete type"
+ msgstr "`%s' ¤ÏÉÔ´°Á´·¿¤Ç¤¹"
+
+-#: cp/decl.c:4935
++#: cp/decl.c:4955
+ #, fuzzy, gcc-internal-format
+ msgid "scalar object %qD requires one element in initializer"
+ msgstr "¶¦ÍÑÂνé´ü²½»ÒÆâ¤ÎÍ×ÁǤ¬Â¿¤¹¤®¤Þ¤¹"
+
+ #. A non-aggregate that is not a scalar cannot be initialized
+ #. via an initializer-list in C++98.
+-#: cp/decl.c:4945
++#: cp/decl.c:4965
+ #, fuzzy, gcc-internal-format
+ msgid "braces around initializer for non-aggregate type %qT"
+ msgstr "È󽸹çÂη¿¤ËÂФ·¤ÆŬÍѤµ¤ì¤¿ `sigof'"
+
+-#: cp/decl.c:4995
++#: cp/decl.c:5015
+ #, gcc-internal-format
+ msgid "%qD must be initialized by constructor, not by %<{...}%>"
+ msgstr ""
+
+-#: cp/decl.c:5031
++#: cp/decl.c:5051
+ #, fuzzy, gcc-internal-format
+ msgid "array %qD initialized by parenthesized string literal %qE"
+ msgstr "_Pramga ¤¬³ç¸Ì¤Ç°Ï¤Þ¤ì¤¿Ê¸»úÎó¥ê¥Æ¥é¥ë¤ò¼õ¤±¼è¤ê¤Þ¤·¤¿"
+
+-#: cp/decl.c:5046
++#: cp/decl.c:5066
+ #, gcc-internal-format
+ msgid "structure %qD with uninitialized const members"
+ msgstr ""
+
+-#: cp/decl.c:5048
++#: cp/decl.c:5068
+ #, gcc-internal-format
+ msgid "structure %qD with uninitialized reference members"
+ msgstr ""
+
+-#: cp/decl.c:5330
++#: cp/decl.c:5364
+ #, gcc-internal-format
+ msgid "assignment (not initialization) in declaration"
+ msgstr "Àë¸À¤ÎÃæ¤ËÂåÆþ(½é´ü²½¤Ç¤Ï¤Ê¤¯)¤¬¤¢¤ê¤Þ¤¹"
+
+-#: cp/decl.c:5420
++#: cp/decl.c:5460
+ #, fuzzy, gcc-internal-format
+ msgid "shadowing previous type declaration of %q#D"
+ msgstr "Á°Êý¤Ç¤Î `%s' ¤ÎÀë¸À"
+
+-#: cp/decl.c:5450
++#: cp/decl.c:5490
+ #, gcc-internal-format
+ msgid "%qD cannot be thread-local because it has non-POD type %qT"
+ msgstr ""
+
+-#: cp/decl.c:5485
++#: cp/decl.c:5522
+ #, gcc-internal-format
++msgid "Java object %qD not allocated with %<new%>"
++msgstr ""
++
++#: cp/decl.c:5539
++#, gcc-internal-format
+ msgid "%qD is thread-local and so cannot be dynamically initialized"
+ msgstr ""
+
+-#: cp/decl.c:5503
++#: cp/decl.c:5557
+ #, fuzzy, gcc-internal-format
+ msgid "%qD cannot be initialized by a non-constant expression when being declared"
+ msgstr "ÈóÄê¿ôÇÛÎó¼°¤«¤éÇÛÎ󤬽é´ü²½¤µ¤ì¤Þ¤·¤¿"
+
+-#: cp/decl.c:6160
++#: cp/decl.c:5597
++#, gcc-internal-format
++msgid "non-static data member %qD has Java class type"
++msgstr ""
++
++#: cp/decl.c:6232
+ #, fuzzy, gcc-internal-format
+ msgid "destructor for alien class %qT cannot be a member"
+ msgstr "¾¤Î¥¯¥é¥¹ `%s' ¤Î¥Ç¥¹¥È¥é¥¯¥¿¤ò¡¢¥á¥ó¥Ð¤Ë¤Ï¤Ç¤­¤Þ¤»¤ó"
+
+-#: cp/decl.c:6162
++#: cp/decl.c:6234
+ #, fuzzy, gcc-internal-format
+ msgid "constructor for alien class %qT cannot be a member"
+ msgstr "¾¤Î¥¯¥é¥¹ `%s' ¤Î¥Ç¥¹¥È¥é¥¯¥¿¤ò¡¢¥á¥ó¥Ð¤Ë¤Ï¤Ç¤­¤Þ¤»¤ó"
+
+-#: cp/decl.c:6183
++#: cp/decl.c:6255
+ #, gcc-internal-format
+ msgid "%qD declared as a %<virtual%> %s"
+ msgstr ""
+
+-#: cp/decl.c:6185
++#: cp/decl.c:6257
+ #, gcc-internal-format
+ msgid "%qD declared as an %<inline%> %s"
+ msgstr ""
+
+-#: cp/decl.c:6187
++#: cp/decl.c:6259
+ #, fuzzy, gcc-internal-format
+ msgid "%<const%> and %<volatile%> function specifiers on %qD invalid in %s declaration"
+ msgstr "²¾°ú¿ôÀë¸À¤ÎÃæ¤Îµ­²±¥¯¥é¥¹»ØÄê»Ò¤Ï̵¸ú¤Ç¤¹"
+
+-#: cp/decl.c:6191
++#: cp/decl.c:6263
+ #, fuzzy, gcc-internal-format
+ msgid "%q+D declared as a friend"
+ msgstr "Îΰè `%s' ¤Ï´Ø¿ô¤È¤·¤ÆÀë¸À¤µ¤ì¤Æ¤¤¤Þ¤¹"
+
+-#: cp/decl.c:6197
++#: cp/decl.c:6269
+ #, fuzzy, gcc-internal-format
+ msgid "%q+D declared with an exception specification"
+ msgstr "Îã³°»ÅÍͤθ¡ºº¤ò¤¹¤ë¥³¡¼¥É¤òÀ¸À®¤·¤Ê¤¤"
+
+-#: cp/decl.c:6231
++#: cp/decl.c:6303
+ #, gcc-internal-format
+ msgid "definition of %qD is not in namespace enclosing %qT"
+ msgstr ""
+
+-#: cp/decl.c:6342
++#: cp/decl.c:6414
+ #, fuzzy, gcc-internal-format
+ msgid "defining explicit specialization %qD in friend declaration"
+ msgstr "Àë¸À¤ÎÃæ¤ËÂåÆþ(½é´ü²½¤Ç¤Ï¤Ê¤¯)¤¬¤¢¤ê¤Þ¤¹"
+
+ #. Something like `template <class T> friend void f<T>()'.
+-#: cp/decl.c:6352
++#: cp/decl.c:6424
+ #, gcc-internal-format
+ msgid "invalid use of template-id %qD in declaration of primary template"
+ msgstr ""
+
+-#: cp/decl.c:6382
++#: cp/decl.c:6454
+ #, gcc-internal-format
+ msgid "default arguments are not allowed in declaration of friend template specialization %qD"
+ msgstr ""
+
+-#: cp/decl.c:6390
++#: cp/decl.c:6462
+ #, gcc-internal-format
+ msgid "%<inline%> is not allowed in declaration of friend template specialization %qD"
+ msgstr ""
+
+-#: cp/decl.c:6433
++#: cp/decl.c:6505
+ #, fuzzy, gcc-internal-format
+ msgid "cannot declare %<::main%> to be a template"
+ msgstr "`::main' ¤ò template ¤È¤·¤Æ¤ÏÀë¸À¤Ç¤­¤Þ¤»¤ó"
+
+-#: cp/decl.c:6435
++#: cp/decl.c:6507
+ #, fuzzy, gcc-internal-format
+ msgid "cannot declare %<::main%> to be inline"
+ msgstr "`::main' ¤ò inline ¤È¤·¤Æ¤ÏÀë¸À¤Ç¤­¤Þ¤»¤ó"
+
+-#: cp/decl.c:6437
++#: cp/decl.c:6509
+ #, fuzzy, gcc-internal-format
+ msgid "cannot declare %<::main%> to be static"
+ msgstr "`::main' ¤ò static ¤È¤·¤Æ¤ÏÀë¸À¤Ç¤­¤Þ¤»¤ó"
+
+-#: cp/decl.c:6465
++#: cp/decl.c:6537
+ #, gcc-internal-format
+ msgid "non-local function %q#D uses anonymous type"
+ msgstr ""
+
+-#: cp/decl.c:6468 cp/decl.c:6748
++#: cp/decl.c:6540 cp/decl.c:6820
+ #, gcc-internal-format
+ msgid "%q+#D does not refer to the unqualified type, so it is not used for linkage"
+ msgstr ""
+
+-#: cp/decl.c:6474
++#: cp/decl.c:6546
+ #, gcc-internal-format
+ msgid "non-local function %q#D uses local type %qT"
+ msgstr ""
+
+-#: cp/decl.c:6498
++#: cp/decl.c:6570
+ #, gcc-internal-format
+ msgid "static member function %qD cannot have cv-qualifier"
+ msgstr ""
+
+-#: cp/decl.c:6499
++#: cp/decl.c:6571
+ #, gcc-internal-format
+ msgid "non-member function %qD cannot have cv-qualifier"
+ msgstr ""
+
+-#: cp/decl.c:6547
++#: cp/decl.c:6619
+ #, fuzzy, gcc-internal-format
+ msgid "%<::main%> must return %<int%>"
+ msgstr "`main' ¤Ï `int' ¤òÊÖ¤µ¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó"
+
+-#: cp/decl.c:6586
++#: cp/decl.c:6658
+ #, gcc-internal-format
+ msgid "definition of implicitly-declared %qD"
+ msgstr ""
+
+-#: cp/decl.c:6603 cp/decl2.c:677
++#: cp/decl.c:6675 cp/decl2.c:677
+ #, fuzzy, gcc-internal-format
+ msgid "no %q#D member function declared in class %qT"
+ msgstr "¥á¥ó¥Ð´Ø¿ô¤Ø¤Î¥Ý¥¤¥ó¥¿¤¬¸Æ¤Ð¤ì¤Þ¤·¤¿¤¬¡¢¥¯¥é¥¹¥¹¥³¡¼¥×Æâ¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó"
+@@ -28797,546 +28765,551 @@
+ #. 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/decl.c:6745
++#: cp/decl.c:6817
+ #, gcc-internal-format
+ msgid "non-local variable %q#D uses anonymous type"
+ msgstr ""
+
+-#: cp/decl.c:6754
++#: cp/decl.c:6826
+ #, gcc-internal-format
+ msgid "non-local variable %q#D uses local type %qT"
+ msgstr ""
+
+-#: cp/decl.c:6876
++#: cp/decl.c:6948
+ #, gcc-internal-format
+ msgid "invalid in-class initialization of static data member of non-integral type %qT"
+ msgstr ""
+
+-#: cp/decl.c:6886
++#: cp/decl.c:6958
+ #, fuzzy, gcc-internal-format
+ msgid "ISO C++ forbids in-class initialization of non-const static member %qD"
+ msgstr "ISO C++ ¤Ï new ¼°¤Î½é´ü²½¤Ç¤Î `=' ¤ò¶Ø¤¸¤Þ¤¹"
+
+-#: cp/decl.c:6890
++#: cp/decl.c:6962
+ #, fuzzy, gcc-internal-format
+ msgid "ISO C++ forbids initialization of member constant %qD of non-integral type %qT"
+ msgstr "ISO C++ ¤Ï new ¼°¤Î½é´ü²½¤Ç¤Î `=' ¤ò¶Ø¤¸¤Þ¤¹"
+
+-#: cp/decl.c:6915
++#: cp/decl.c:6987
+ #, fuzzy, gcc-internal-format
+ msgid "size of array %qD has non-integral type %qT"
+ msgstr "ÇÛÎó `%s' ¤ÎÂ礭¤µ¤ÏÈóÀ°¿ô·¿"
+
+-#: cp/decl.c:6917
++#: cp/decl.c:6989
+ #, fuzzy, gcc-internal-format
+ msgid "size of array has non-integral type %qT"
+ msgstr "ÇÛÎó `%s' ¤ÎÂ礭¤µ¤ÏÈóÀ°¿ô·¿"
+
+-#: cp/decl.c:6965
++#: cp/decl.c:7037
+ #, fuzzy, gcc-internal-format
+ msgid "size of array %qD is negative"
+ msgstr "ÇÛÎó `%s' ¤ÎÂ礭¤µ¤¬Éé¤Ç¤¹"
+
+-#: cp/decl.c:6967
++#: cp/decl.c:7039
+ #, fuzzy, gcc-internal-format
+ msgid "size of array is negative"
+ msgstr "ÇÛÎó `%s' ¤ÎÂ礭¤µ¤¬Éé¤Ç¤¹"
+
+-#: cp/decl.c:6975
++#: cp/decl.c:7047
+ #, fuzzy, gcc-internal-format
+ msgid "ISO C++ forbids zero-size array %qD"
+ msgstr "ISO C ¤Ï ¥µ¥¤¥º 0 ¤ÎÇÛÎó `%s' ¤ò¶Ø¤¸¤Þ¤¹"
+
+-#: cp/decl.c:6977
++#: cp/decl.c:7049
+ #, fuzzy, gcc-internal-format
+ msgid "ISO C++ forbids zero-size array"
+ msgstr "ISO C ¤Ï ¥µ¥¤¥º 0 ¤ÎÇÛÎó `%s' ¤ò¶Ø¤¸¤Þ¤¹"
+
+-#: cp/decl.c:6984
++#: cp/decl.c:7056
+ #, fuzzy, gcc-internal-format
+ msgid "size of array %qD is not an integral constant-expression"
+ msgstr "ÇÛÎó `%s' ¤ÎÂ礭¤µ¤ÏÈóÀ°¿ô·¿"
+
+-#: cp/decl.c:6987
++#: cp/decl.c:7059
+ #, fuzzy, gcc-internal-format
+ msgid "size of array is not an integral constant-expression"
+ msgstr "Äê¿ô¼°¤¬·ç¤±¤Æ¤¤¤ë¤«Ìµ¸ú¤Ç¤¹"
+
+-#: cp/decl.c:6993
++#: cp/decl.c:7065
+ #, fuzzy, gcc-internal-format
+ msgid "ISO C++ forbids variable length array %qD"
+ msgstr "ISO C89 ¤Ï²ÄÊÑĹ¥µ¥¤¥º¤ÎÇÛÎó `%s' ¤ò¶Ø¤¸¤Þ¤¹"
+
+-#: cp/decl.c:6995
++#: cp/decl.c:7067
+ #, fuzzy, gcc-internal-format
+ msgid "ISO C++ forbids variable length array"
+ msgstr "ISO C89 ¤Ï²ÄÊÑĹ¥µ¥¤¥º¤ÎÇÛÎó `%s' ¤ò¶Ø¤¸¤Þ¤¹"
+
+-#: cp/decl.c:7001
++#: cp/decl.c:7073
+ #, gcc-internal-format
+ msgid "variable length array %qD is used"
+ msgstr ""
+
+-#: cp/decl.c:7035
++#: cp/decl.c:7107
+ #, gcc-internal-format
+ msgid "overflow in array dimension"
+ msgstr "ÇÛÎó¤Î¼¡¸µ¤¬¥ª¡¼¥Ð¡¼¥Õ¥í¡¼¤·¤Þ¤·¤¿"
+
+-#: cp/decl.c:7116
++#: cp/decl.c:7188
+ #, fuzzy, gcc-internal-format
+ msgid "declaration of %qD as %s"
+ msgstr "`%s' ¤¬ºÆÀë¸À¤µ¤ì¤Þ¤·¤¿"
+
+-#: cp/decl.c:7118
++#: cp/decl.c:7190
+ #, fuzzy, gcc-internal-format
+ msgid "creating %s"
+ msgstr "%s ¤òºîÀ®Ãæ.\n"
+
+-#: cp/decl.c:7130
++#: cp/decl.c:7202
+ #, gcc-internal-format
+ msgid "declaration of %qD as multidimensional array must have bounds for all dimensions except the first"
+ msgstr ""
+
+-#: cp/decl.c:7134
++#: cp/decl.c:7206
+ #, gcc-internal-format
+ msgid "multidimensional array must have bounds for all dimensions except the first"
+ msgstr ""
+
+-#: cp/decl.c:7169
++#: cp/decl.c:7241
+ #, fuzzy, gcc-internal-format
+ msgid "return type specification for constructor invalid"
+ msgstr "¥³¥ó¥¹¥È¥é¥¯¥¿¤ËÂФ¹¤ëÌá¤êÃͤη¿»ØÄê¤Ï̵»ë¤µ¤ì¤Þ¤·¤¿"
+
+-#: cp/decl.c:7179
++#: cp/decl.c:7251
+ #, fuzzy, gcc-internal-format
+ msgid "return type specification for destructor invalid"
+ msgstr "¥³¥ó¥¹¥È¥é¥¯¥¿¤ËÂФ¹¤ëÌá¤êÃͤη¿»ØÄê¤Ï̵»ë¤µ¤ì¤Þ¤·¤¿"
+
+-#: cp/decl.c:7192
++#: cp/decl.c:7264
+ #, fuzzy, gcc-internal-format
+ msgid "return type specified for %<operator %T%>"
+ msgstr "¥³¥ó¥¹¥È¥é¥¯¥¿¤ËÂФ¹¤ëÌá¤êÃͤη¿»ØÄê¤Ï̵»ë¤µ¤ì¤Þ¤·¤¿"
+
+-#: cp/decl.c:7214
++#: cp/decl.c:7286
+ #, gcc-internal-format
+ msgid "unnamed variable or field declared void"
+ msgstr "̵̾ÊÑ¿ô¤ä¥Õ¥£¡¼¥ë¥É¤¬ void ¤ÈÀë¸À¤µ¤ì¤Þ¤·¤¿"
+
+-#: cp/decl.c:7218
++#: cp/decl.c:7290
+ #, fuzzy, gcc-internal-format
+ msgid "variable or field %qE declared void"
+ msgstr "ÊÑ¿ô¤Þ¤¿¤Ï¥Õ¥£¡¼¥ë¥É¤¬ void ¤ÈÀë¸À¤µ¤ì¤Þ¤·¤¿"
+
+-#: cp/decl.c:7221
++#: cp/decl.c:7293
+ #, gcc-internal-format
+ msgid "variable or field declared void"
+ msgstr "ÊÑ¿ô¤Þ¤¿¤Ï¥Õ¥£¡¼¥ë¥É¤¬ void ¤ÈÀë¸À¤µ¤ì¤Þ¤·¤¿"
+
+-#: cp/decl.c:7388
++#: cp/decl.c:7460
+ #, fuzzy, gcc-internal-format
+ msgid "invalid use of qualified-name %<::%D%>"
+ msgstr "̤ÄêµÁ¤Î·¿ `%s %s' ¤Î»ÈÍѤÏÉÔŬÀڤǤ¹"
+
+-#: cp/decl.c:7391
++#: cp/decl.c:7463
+ #, fuzzy, gcc-internal-format
+ msgid "invalid use of qualified-name %<%T::%D%>"
+ msgstr "̤ÄêµÁ¤Î·¿ `%s %s' ¤Î»ÈÍѤÏÉÔŬÀڤǤ¹"
+
+-#: cp/decl.c:7394
++#: cp/decl.c:7466
+ #, fuzzy, gcc-internal-format
+ msgid "invalid use of qualified-name %<%D::%D%>"
+ msgstr "̤ÄêµÁ¤Î·¿ `%s %s' ¤Î»ÈÍѤÏÉÔŬÀڤǤ¹"
+
+-#: cp/decl.c:7406
++#: cp/decl.c:7478
+ #, gcc-internal-format
+ msgid "type %qT is not derived from type %qT"
+ msgstr ""
+
+-#: cp/decl.c:7422 cp/decl.c:7512 cp/decl.c:8660
++#: cp/decl.c:7494 cp/decl.c:7584 cp/decl.c:8732
+ #, fuzzy, gcc-internal-format
+ msgid "declaration of %qD as non-function"
+ msgstr "`%s' ¤ÎÀë¸À¤Ï´Ø¿ô¤ÎÇÛÎó"
+
+-#: cp/decl.c:7428
++#: cp/decl.c:7500
+ #, fuzzy, gcc-internal-format
+ msgid "declaration of %qD as non-member"
+ msgstr "`%s' ¤ÎÀë¸À¤Ï²¾°ú¿ô¤òʤ¤¤±£¤·¤Þ¤¹"
+
+-#: cp/decl.c:7457
++#: cp/decl.c:7529
+ #, gcc-internal-format
+ msgid "declarator-id missing; using reserved word %qD"
+ msgstr ""
+
+-#: cp/decl.c:7504
++#: cp/decl.c:7576
+ #, fuzzy, gcc-internal-format
+ msgid "function definition does not declare parameters"
+ msgstr "´Ø¿ô¤ÎÄêµÁ¤¬ `register' ¤ÈÀë¸À¤µ¤ì¤Þ¤·¤¿"
+
+-#: cp/decl.c:7546
++#: cp/decl.c:7618
+ #, fuzzy, gcc-internal-format
+ msgid "two or more data types in declaration of %qs"
+ msgstr "`%s' ¤ÎÀë¸À¤ËÆó¤Ä°Ê¾å¤Î¥Ç¡¼¥¿·¿¤¬»ØÄꤵ¤ì¤Þ¤·¤¿"
+
+-#: cp/decl.c:7552
++#: cp/decl.c:7624
+ #, fuzzy, gcc-internal-format
+ msgid "conflicting specifiers in declaration of %qs"
+ msgstr "`%s' ¤ÎÀë¸À¤¬Ì·½â¤·¤Æ¤¤¤Þ¤¹"
+
+-#: cp/decl.c:7623 cp/decl.c:7626
++#: cp/decl.c:7695 cp/decl.c:7698
+ #, fuzzy, gcc-internal-format
+ msgid "ISO C++ forbids declaration of %qs with no type"
+ msgstr "ISO C ¤Ï¥á¥ó¥Ð¤Î¤Ê¤¤¥á¥ó¥ÐÀë¸À¤ò¶Ø¤¸¤Þ¤¹"
+
+-#: cp/decl.c:7651
++#: cp/decl.c:7723
+ #, fuzzy, gcc-internal-format
+ msgid "%<signed%> or %<unsigned%> invalid for %qs"
+ msgstr "short, Éä¹ç¤Ä¤­¤Þ¤¿¤ÏÉä¹ç¤Ê¤·¤Ï `%s' ¤Ë¤È¤Ã¤Æ̵¸ú¤Ç¤¹"
+
+-#: cp/decl.c:7653
++#: cp/decl.c:7725
+ #, fuzzy, gcc-internal-format
+ msgid "%<signed%> and %<unsigned%> specified together for %qs"
+ msgstr "Éä¹çÉÕ¤­¤ÈÉä¹ç̵¤·¤¬ `%s' ¤ËÂФ·¤Æ°ì½ï¤ËÍ¿¤¨¤é¤ì¤Æ¤¤¤Þ¤¹"
+
+-#: cp/decl.c:7655
++#: cp/decl.c:7727
+ #, fuzzy, gcc-internal-format
+ msgid "%<long long%> invalid for %qs"
+ msgstr "`%s' ¤ËÂФ·¤Æ complex ¤ÏÉÔŬÀڤǤ¹"
+
+-#: cp/decl.c:7657
++#: cp/decl.c:7729
+ #, fuzzy, gcc-internal-format
+ msgid "%<long%> invalid for %qs"
+ msgstr "`%s' ¤ËÂФ·¤Æ complex ¤ÏÉÔŬÀڤǤ¹"
+
+-#: cp/decl.c:7659
++#: cp/decl.c:7731
+ #, fuzzy, gcc-internal-format
+ msgid "%<short%> invalid for %qs"
+ msgstr "`%s' ¤ËÂФ·¤Æ complex ¤ÏÉÔŬÀڤǤ¹"
+
+-#: cp/decl.c:7661
++#: cp/decl.c:7733
+ #, fuzzy, gcc-internal-format
+ msgid "%<long%> or %<short%> invalid for %qs"
+ msgstr "`%s' ¤ËÂФ·¤Æ long, short, signed ¤Þ¤¿¤Ï unsigned ¤ÏÉÔŬÀڤǤ¹"
+
+-#: cp/decl.c:7663
++#: cp/decl.c:7735
+ #, fuzzy, gcc-internal-format
+ msgid "%<long%> or %<short%> specified with char for %qs"
+ msgstr "`%s' ¤ËÂФ·¤Æ char ¤È¤È¤â¤Ë long ¤Þ¤¿¤Ï short ¤¬»ØÄꤵ¤ì¤Æ¤¤¤Þ¤¹"
+
+-#: cp/decl.c:7665
++#: cp/decl.c:7737
+ #, fuzzy, gcc-internal-format
+ msgid "%<long%> and %<short%> specified together for %qs"
+ msgstr "long ¤È short ¤¬ `%s' ¤ËÂФ·¤Æ°ì½ï¤Ë»ØÄꤵ¤ì¤Æ¤¤¤Þ¤¹"
+
+-#: cp/decl.c:7671
++#: cp/decl.c:7743
+ #, fuzzy, gcc-internal-format
+ msgid "long, short, signed or unsigned used invalidly for %qs"
+ msgstr "`%s' ¤ËÂФ¹¤ë long, short, singed ¤ä unsigned ¤Î»ÈÍѤÏÉÔŬÀڤǤ¹"
+
+-#: cp/decl.c:7735
++#: cp/decl.c:7807
+ #, fuzzy, gcc-internal-format
+ msgid "complex invalid for %qs"
+ msgstr "`%s' ¤ËÂФ·¤Æ complex ¤ÏÉÔŬÀڤǤ¹"
+
+-#: cp/decl.c:7764
++#: cp/decl.c:7836
+ #, gcc-internal-format
+ msgid "qualifiers are not allowed on declaration of %<operator %T%>"
+ msgstr ""
+
+-#: cp/decl.c:7776 cp/typeck.c:7011
++#: cp/decl.c:7848 cp/typeck.c:7039
+ #, fuzzy, gcc-internal-format
+ msgid "ignoring %qV qualifiers added to function type %qT"
+ msgstr "´Ø¿ôÌá¤êÃͤη¿½¤¾þ»Ò¤Ï̵»ë¤µ¤ì¤Þ¤·¤¿"
+
+-#: cp/decl.c:7799
++#: cp/decl.c:7871
+ #, fuzzy, gcc-internal-format
+ msgid "member %qD cannot be declared both virtual and static"
+ msgstr "Èó¥á¥ó¥Ð `%s' ¤ò `mutable' ¤È¤ÏÀë¸À¤Ç¤­¤Þ¤»¤ó"
+
+-#: cp/decl.c:7807
++#: cp/decl.c:7879
+ #, gcc-internal-format
+ msgid "%<%T::%D%> is not a valid declarator"
+ msgstr ""
+
+-#: cp/decl.c:7816
++#: cp/decl.c:7888
+ #, gcc-internal-format
+ msgid "typedef declaration invalid in parameter declaration"
+ msgstr "²¾°ú¿ôÀë¸À¤ÎÃæ¤Î typedef Àë¸À¤Ï̵¸ú¤Ç¤¹"
+
+-#: cp/decl.c:7822
++#: cp/decl.c:7894
+ #, gcc-internal-format
+ msgid "storage class specifiers invalid in parameter declarations"
+ msgstr "²¾°ú¿ôÀë¸À¤ÎÃæ¤Îµ­²±¥¯¥é¥¹»ØÄê»Ò¤Ï̵¸ú¤Ç¤¹"
+
+-#: cp/decl.c:7829
++#: cp/decl.c:7901
+ #, gcc-internal-format
+ msgid "virtual outside class declaration"
+ msgstr "¥¯¥é¥¹Àë¸À¤Î³°Â¦¤Ç virtual »ØÄꤷ¤Æ¤¤¤Þ¤¹"
+
+-#: cp/decl.c:7847
++#: cp/decl.c:7919
+ #, fuzzy, gcc-internal-format
+ msgid "multiple storage classes in declaration of %qs"
+ msgstr "`%s' ¤ÎÀë¸À¤Ë¤ª¤¤¤ÆÊ£¿ô¤ÎÊݸ¥¯¥é¥¹"
+
+-#: cp/decl.c:7870
++#: cp/decl.c:7942
+ #, fuzzy, gcc-internal-format
+ msgid "storage class specified for %qs"
+ msgstr "%s ¤ËÂФ¹¤ëµ­²±¥¯¥é¥¹»ØÄê»Ò `%s'"
+
+-#: cp/decl.c:7904
++#: cp/decl.c:7976
+ #, fuzzy, gcc-internal-format
+ msgid "top-level declaration of %qs specifies %<auto%>"
+ msgstr "`%s' ¤Î¥È¥Ã¥×¥ì¥Ù¥ë¤ÎÀë¸À¤¬ `auto' ¤ò»ØÄꤷ¤Þ¤¹"
+
+-#: cp/decl.c:7916
++#: cp/decl.c:7988
+ #, gcc-internal-format
+ msgid "storage class specifiers invalid in friend function declarations"
+ msgstr "friend ´Ø¿ôÀë¸ÀÆâ¤Îµ­²±¥¯¥é¥¹»ØÄê»Ò¤Ï̵¸ú¤Ç¤¹"
+
+-#: cp/decl.c:8043
++#: cp/decl.c:8115
+ #, gcc-internal-format
+ msgid "destructor cannot be static member function"
+ msgstr "¥Ç¥¹¥È¥é¥¯¥¿¤òÀÅŪ¥á¥ó¥Ð´Ø¿ô¤È¤¹¤ë¤³¤È¤Ï¤Ç¤­¤Þ¤»¤ó"
+
+-#: cp/decl.c:8048
++#: cp/decl.c:8120
+ #, fuzzy, gcc-internal-format
+ msgid "destructors may not be cv-qualified"
+ msgstr "¥³¥ó¥¹¥È¥é¥¯¥¿¤Ï virtual Àë¸À¤Ç¤­¤Þ¤»¤ó"
+
+-#: cp/decl.c:8066
++#: cp/decl.c:8138
+ #, gcc-internal-format
+ msgid "constructors cannot be declared virtual"
+ msgstr "¥³¥ó¥¹¥È¥é¥¯¥¿¤Ï virtual Àë¸À¤Ç¤­¤Þ¤»¤ó"
+
+-#: cp/decl.c:8079
++#: cp/decl.c:8151
+ #, fuzzy, gcc-internal-format
+ msgid "can't initialize friend function %qs"
+ msgstr "friend ´Ø¿ô `%s' ¤ò½é´ü²½¤Ç¤­¤Þ¤»¤ó"
+
+ #. Cannot be both friend and virtual.
+-#: cp/decl.c:8083
++#: cp/decl.c:8155
+ #, gcc-internal-format
+ msgid "virtual functions cannot be friends"
+ msgstr "²¾ÁÛ´Ø¿ô¤Ï friend ¤Ë¤Ç¤­¤Þ¤»¤ó"
+
+-#: cp/decl.c:8087
++#: cp/decl.c:8159
+ #, gcc-internal-format
+ msgid "friend declaration not in class definition"
+ msgstr "friend Àë¸À¤¬¥¯¥é¥¹ÄêµÁ¤ÎÃæ¤Ë¤¢¤ê¤Þ¤»¤ó"
+
+-#: cp/decl.c:8089
++#: cp/decl.c:8161
+ #, fuzzy, gcc-internal-format
+ msgid "can't define friend function %qs in a local class definition"
+ msgstr "friend Àë¸À¤¬¥¯¥é¥¹ÄêµÁ¤ÎÃæ¤Ë¤¢¤ê¤Þ¤»¤ó"
+
+-#: cp/decl.c:8102
++#: cp/decl.c:8174
+ #, fuzzy, gcc-internal-format
+ msgid "destructors may not have parameters"
+ msgstr "¥Ç¥¹¥È¥é¥¯¥¿¤Ï²¾°ú¿ô¤ò¼è¤ê¤Þ¤»¤ó"
+
+-#: cp/decl.c:8121
++#: cp/decl.c:8193
+ #, fuzzy, gcc-internal-format
+ msgid "cannot declare pointer to %q#T"
+ msgstr "¥Ý¥¤¥ó¥¿¤ò»²¾È¤È¤·¤ÆÀë¸À¤Ç¤­¤Þ¤»¤ó"
+
+-#: cp/decl.c:8134 cp/decl.c:8141
++#: cp/decl.c:8206 cp/decl.c:8213
+ #, fuzzy, gcc-internal-format
+ msgid "cannot declare reference to %q#T"
+ msgstr "»²¾È¤ò»²¾È¤È¤·¤ÆÀë¸À¤Ç¤­¤Þ¤»¤ó"
+
+-#: cp/decl.c:8143
++#: cp/decl.c:8215
+ #, fuzzy, gcc-internal-format
+ msgid "cannot declare pointer to %q#T member"
+ msgstr "¥Ý¥¤¥ó¥¿¤ò»²¾È¤È¤·¤ÆÀë¸À¤Ç¤­¤Þ¤»¤ó"
+
+-#: cp/decl.c:8194
++#: cp/decl.c:8266
+ #, gcc-internal-format
+ msgid "cannot declare reference to %q#T, which is not a typedef or a template type argument"
+ msgstr ""
+
+-#: cp/decl.c:8238
++#: cp/decl.c:8310
+ #, gcc-internal-format
+ msgid "template-id %qD used as a declarator"
+ msgstr ""
+
+-#: cp/decl.c:8289
++#: cp/decl.c:8361
+ #, gcc-internal-format
+ msgid "member functions are implicitly friends of their class"
+ msgstr "¥á¥ó¥Ð´Ø¿ô¤Ï°ÅÌÛŪ¤Ë¤½¤Î¥¯¥é¥¹¤Î friend ¤Ç¤¹"
+
+-#: cp/decl.c:8293
++#: cp/decl.c:8365
+ #, gcc-internal-format
+ msgid "extra qualification %<%T::%> on member %qs"
+ msgstr ""
+
+-#: cp/decl.c:8325
++#: cp/decl.c:8397
+ #, gcc-internal-format
+ msgid "cannot define member function %<%T::%s%> within %<%T%>"
+ msgstr ""
+
+-#: cp/decl.c:8342
++#: cp/decl.c:8414
+ #, gcc-internal-format
+ msgid "cannot declare member %<%T::%s%> within %qT"
+ msgstr ""
+
+-#: cp/decl.c:8365
++#: cp/decl.c:8437
+ #, fuzzy, gcc-internal-format
+ msgid "non-parameter %qs cannot be a parameter pack"
+ msgstr "Èó¥á¥ó¥Ð `%s' ¤ò `mutable' ¤È¤ÏÀë¸À¤Ç¤­¤Þ¤»¤ó"
+
+-#: cp/decl.c:8386
++#: cp/decl.c:8458
+ #, gcc-internal-format
+ msgid "data member may not have variably modified type %qT"
+ msgstr ""
+
+-#: cp/decl.c:8388
++#: cp/decl.c:8460
+ #, gcc-internal-format
+ msgid "parameter may not have variably modified type %qT"
+ msgstr ""
+
+ #. [dcl.fct.spec] The explicit specifier shall only be used in
+ #. declarations of constructors within a class definition.
+-#: cp/decl.c:8396
++#: cp/decl.c:8468
+ #, fuzzy, gcc-internal-format
+ msgid "only declarations of constructors can be %<explicit%>"
+ msgstr "`explicit' ¤Ë¤Ç¤­¤ë¤Î¤Ï¡¢¥³¥ó¥¹¥È¥é¥¯¥¿¤À¤±¤Ç¤¹"
+
+-#: cp/decl.c:8404
++#: cp/decl.c:8476
+ #, fuzzy, gcc-internal-format
+ msgid "non-member %qs cannot be declared %<mutable%>"
+ msgstr "Èó¥á¥ó¥Ð `%s' ¤ò `mutable' ¤È¤ÏÀë¸À¤Ç¤­¤Þ¤»¤ó"
+
+-#: cp/decl.c:8409
++#: cp/decl.c:8481
+ #, fuzzy, gcc-internal-format
+ msgid "non-object member %qs cannot be declared %<mutable%>"
+ msgstr "È󥪥֥¸¥§¥¯¥È¥á¥ó¥Ð `%s' ¤ò `mutable' ¤È¤ÏÀë¸À¤Ç¤­¤Þ¤»¤ó"
+
+-#: cp/decl.c:8415
++#: cp/decl.c:8487
+ #, fuzzy, gcc-internal-format
+ msgid "function %qs cannot be declared %<mutable%>"
+ msgstr "´Ø¿ô `%s' ¤ò `mutable' ¤È¤·¤Æ¤ÏÀë¸À¤Ç¤­¤Þ¤»¤ó"
+
+-#: cp/decl.c:8420
++#: cp/decl.c:8492
+ #, fuzzy, gcc-internal-format
+ msgid "static %qs cannot be declared %<mutable%>"
+ msgstr "static `%s' ¤ò mutable ¤È¤·¤ÆÀë¸À¤Ç¤­¤Þ¤»¤ó"
+
+-#: cp/decl.c:8425
++#: cp/decl.c:8497
+ #, fuzzy, gcc-internal-format
+ msgid "const %qs cannot be declared %<mutable%>"
+ msgstr "const `%s' ¤ò `mutable' ¤È¤·¤ÆÀë¸À¤Ç¤­¤Þ¤»¤ó"
+
+-#: cp/decl.c:8462
++#: cp/decl.c:8534
+ #, gcc-internal-format
+ msgid "%Jtypedef name may not be a nested-name-specifier"
+ msgstr ""
+
+-#: cp/decl.c:8478
++#: cp/decl.c:8550
+ #, gcc-internal-format
+ msgid "ISO C++ forbids nested type %qD with same name as enclosing class"
+ msgstr ""
+
+-#: cp/decl.c:8564
++#: cp/decl.c:8636
+ #, fuzzy, gcc-internal-format
+ msgid "qualified function types cannot be used to declare static member functions"
+ msgstr "¥Ç¥¹¥È¥é¥¯¥¿¤òÀÅŪ¥á¥ó¥Ð´Ø¿ô¤È¤¹¤ë¤³¤È¤Ï¤Ç¤­¤Þ¤»¤ó"
+
+-#: cp/decl.c:8566
++#: cp/decl.c:8638
+ #, fuzzy, gcc-internal-format
+ msgid "qualified function types cannot be used to declare free functions"
+ msgstr "´Ø¿ô¤ÎÊÖ¤¹·¿¤¬´Ø¿ô¤Ç¤¢¤Ã¤Æ¤Ï¤Ê¤ê¤Þ¤»¤ó"
+
+-#: cp/decl.c:8592
++#: cp/decl.c:8664
+ #, fuzzy, gcc-internal-format
+ msgid "type qualifiers specified for friend class declaration"
+ msgstr "°ì¤Ä¤Î¶õ¤ÎÀë¸ÀÃæ¤Ë¡¢Æó¤Ä¤Î·¿¤¬»ØÄꤵ¤ì¤Æ¤¤¤Þ¤¹"
+
+-#: cp/decl.c:8597
++#: cp/decl.c:8669
+ #, fuzzy, gcc-internal-format
+ msgid "%<inline%> specified for friend class declaration"
+ msgstr "¥¯¥é¥¹Àë¸À¤Î³°Â¦¤Ç virtual »ØÄꤷ¤Æ¤¤¤Þ¤¹"
+
+-#: cp/decl.c:8605
++#: cp/decl.c:8677
+ #, fuzzy, gcc-internal-format
+ msgid "template parameters cannot be friends"
+ msgstr "Ê£»¨¤Ê¥Ñ¥é¥á¥¿¤ò¤â¤Ä´Ø¿ô¤Ï inline ¤Ë¤Ç¤­¤Þ¤»¤ó"
+
+-#: cp/decl.c:8607
++#: cp/decl.c:8679
+ #, gcc-internal-format
+ msgid "friend declaration requires class-key, i.e. %<friend class %T::%D%>"
+ msgstr ""
+
+-#: cp/decl.c:8611
++#: cp/decl.c:8683
+ #, fuzzy, gcc-internal-format
+ msgid "friend declaration requires class-key, i.e. %<friend %#T%>"
+ msgstr "friend Àë¸À¤¬¥¯¥é¥¹ÄêµÁ¤ÎÃæ¤Ë¤¢¤ê¤Þ¤»¤ó"
+
+-#: cp/decl.c:8624
++#: cp/decl.c:8696
+ #, fuzzy, gcc-internal-format
+ msgid "trying to make class %qT a friend of global scope"
+ msgstr "¥¯¥é¥¹ `%s' ¤òÂç°è¥¹¥³¡¼¥×¤Î friend ¤Ë¤·¤è¤¦¤È¤·¤Æ¤¤¤Þ¤¹"
+
+-#: cp/decl.c:8635
++#: cp/decl.c:8707
+ #, fuzzy, gcc-internal-format
+ msgid "invalid qualifiers on non-member function type"
+ msgstr "Èó¥á¥ó¥Ð´Ø¿ô¤Ç¤Î `this' ¤Î»ÈÍѤÏ̵¸ú¤Ç¤¹"
+
+-#: cp/decl.c:8650
++#: cp/decl.c:8722
+ #, fuzzy, gcc-internal-format
+ msgid "abstract declarator %qT used as declaration"
+ msgstr "`%s' ¤ÎÀë¸À¤Ï¥°¥í¡¼¥Ð¥ëÀë¸À¤òʤ¤¤±£¤·¤Þ¤¹"
+
+-#: cp/decl.c:8679
++#: cp/decl.c:8751
+ #, fuzzy, gcc-internal-format
+ msgid "cannot use %<::%> in parameter declaration"
+ msgstr "²¾°ú¿ôÀë¸À¤ÎÃæ¤Ç `::' ¤ò»È¤¨¤Þ¤»¤ó"
+
+ #. Something like struct S { int N::j; };
+-#: cp/decl.c:8725
++#: cp/decl.c:8797
+ #, fuzzy, gcc-internal-format
+ msgid "invalid use of %<::%>"
+ msgstr "̵¸ú¤ÊÍÑË¡¤Î of %%d, %%x, Ëô¤Ï %%X"
+
+-#: cp/decl.c:8740
++#: cp/decl.c:8812
+ #, gcc-internal-format
+ msgid "can't make %qD into a method -- not in a class"
+ msgstr ""
+
+-#: cp/decl.c:8749
++#: cp/decl.c:8821
+ #, fuzzy, gcc-internal-format
+ msgid "function %qD declared virtual inside a union"
+ msgstr "Îΰè `%s' ¤Ï´Ø¿ô¤È¤·¤ÆÀë¸À¤µ¤ì¤Æ¤¤¤Þ¤¹"
+
+-#: cp/decl.c:8758
++#: cp/decl.c:8830
+ #, fuzzy, gcc-internal-format
+ msgid "%qD cannot be declared virtual, since it is always static"
+ msgstr "`::main' ¤ò static ¤È¤·¤Æ¤ÏÀë¸À¤Ç¤­¤Þ¤»¤ó"
+
+-#: cp/decl.c:8774
++#: cp/decl.c:8846
+ #, gcc-internal-format
+ msgid "expected qualified name in friend declaration for destructor %qD"
+ msgstr ""
+
+-#: cp/decl.c:8784
++#: cp/decl.c:8856
+ #, fuzzy, gcc-internal-format
+ msgid "declaration of %qD as member of %qT"
+ msgstr "`%s' ¤ÎÀë¸À¤Ë¤è¤ê `this' ¤Î¥á¥ó¥Ð¤¬Ê¤¤¤±£¤µ¤ì¤Þ¤¹"
+
+-#: cp/decl.c:8860
++#: cp/decl.c:8863
++#, gcc-internal-format
++msgid "expected qualified name in friend declaration for constructor %qD"
++msgstr ""
++
++#: cp/decl.c:8939
+ #, fuzzy, gcc-internal-format
+ msgid "field %qD has incomplete type"
+ msgstr "Îΰè `%s' ¤ÏÉÔ´°Á´¤Ê·¿¤Ç¤¹"
+
+-#: cp/decl.c:8862
++#: cp/decl.c:8941
+ #, fuzzy, gcc-internal-format
+ msgid "name %qT has incomplete type"
+ msgstr "²¾°ú¿ô¤¬ÉÔ´°Á´·¿¤Ç¤¹"
+
+-#: cp/decl.c:8871
++#: cp/decl.c:8950
+ #, fuzzy, gcc-internal-format
+ msgid " in instantiation of template %qT"
+ msgstr "%s: `%s' ¤Î½é´ü²½:\n"
+
+-#: cp/decl.c:8880
++#: cp/decl.c:8959
+ #, fuzzy, gcc-internal-format
+ msgid "%qE is neither function nor member function; cannot be declared friend"
+ msgstr "`%s' ¤Ï´Ø¿ô¤Ç¤â¥á¥ó¥Ð´Ø¿ô¤Ç¤â¤¢¤ê¤Þ¤»¤ó -- friend ¤È¤ÏÀë¸À¤Ç¤­¤Þ¤»¤ó"
+@@ -29353,103 +29326,108 @@
+ #. the rest of the compiler does not correctly
+ #. handle the initialization unless the member is
+ #. static so we make it static below.
+-#: cp/decl.c:8932
++#: cp/decl.c:9011
+ #, fuzzy, gcc-internal-format
+ msgid "ISO C++ forbids initialization of member %qD"
+ msgstr "ISO C++ ¤Ï new ¼°¤Î½é´ü²½¤Ç¤Î `=' ¤ò¶Ø¤¸¤Þ¤¹"
+
+-#: cp/decl.c:8934
++#: cp/decl.c:9013
+ #, gcc-internal-format
+ msgid "making %qD static"
+ msgstr ""
+
+-#: cp/decl.c:8999
++#: cp/decl.c:9078
+ #, fuzzy, gcc-internal-format
+ msgid "storage class %<auto%> invalid for function %qs"
+ msgstr "´Ø¿ô `%s' ¤ËÂФ¹¤ëµ­²±¥¯¥é¥¹ `auto' ¤Ï̵¸ú¤Ç¤¹"
+
+-#: cp/decl.c:9001
++#: cp/decl.c:9080
+ #, fuzzy, gcc-internal-format
+ msgid "storage class %<register%> invalid for function %qs"
+ msgstr "´Ø¿ô `%s' ¤ËÂФ¹¤ëµ­²±¥¯¥é¥¹ `register' ¤Ï̵¸ú¤Ç¤¹"
+
+-#: cp/decl.c:9003
++#: cp/decl.c:9082
+ #, fuzzy, gcc-internal-format
+ msgid "storage class %<__thread%> invalid for function %qs"
+ msgstr "´Ø¿ô `%s' ¤ËÂФ¹¤ëµ­²±¥¯¥é¥¹ `auto' ¤Ï̵¸ú¤Ç¤¹"
+
+-#: cp/decl.c:9014
++#: cp/decl.c:9093
+ #, fuzzy, gcc-internal-format
+ msgid "%<static%> specified invalid for function %qs declared out of global scope"
+ msgstr "Âç°è¥¹¥³¡¼¥×³°¤Î´Ø¿ô `%s' ¤ËÂФ¹¤ëµ­²±¥¯¥é¥¹ `inline' ¤Ï̵¸ú¤Ç¤¹"
+
+-#: cp/decl.c:9017
++#: cp/decl.c:9096
+ #, fuzzy, gcc-internal-format
+ msgid "%<inline%> specifier invalid for function %qs declared out of global scope"
+ msgstr "Âç°è¥¹¥³¡¼¥×³°¤Î´Ø¿ô `%s' ¤ËÂФ¹¤ëµ­²±¥¯¥é¥¹ `inline' ¤Ï̵¸ú¤Ç¤¹"
+
+-#: cp/decl.c:9025
++#: cp/decl.c:9104
+ #, fuzzy, gcc-internal-format
+ msgid "virtual non-class function %qs"
+ msgstr "virtual ¤ÊÈ󥯥饹´Ø¿ô `%s'"
+
+-#: cp/decl.c:9056
++#: cp/decl.c:9135
+ #, fuzzy, gcc-internal-format
+ msgid "cannot declare member function %qD to have static linkage"
+ msgstr "`::main' ¤ò static ¤È¤·¤Æ¤ÏÀë¸À¤Ç¤­¤Þ¤»¤ó"
+
+ #. FIXME need arm citation
+-#: cp/decl.c:9063
++#: cp/decl.c:9142
+ #, gcc-internal-format
+ msgid "cannot declare static function inside another function"
+ msgstr "¾¤Î´Ø¿ôÆâ¤Ç static ´Ø¿ô¤òÀë¸À¤Ç¤­¤Þ¤»¤ó"
+
+-#: cp/decl.c:9093
++#: cp/decl.c:9172
+ #, gcc-internal-format
+ msgid "%<static%> may not be used when defining (as opposed to declaring) a static data member"
+ msgstr ""
+
+-#: cp/decl.c:9100
++#: cp/decl.c:9179
+ #, gcc-internal-format
+ msgid "static member %qD declared %<register%>"
+ msgstr ""
+
+-#: cp/decl.c:9105
++#: cp/decl.c:9184
+ #, gcc-internal-format
+ msgid "cannot explicitly declare member %q#D to have extern linkage"
+ msgstr ""
+
+-#: cp/decl.c:9234
++#: cp/decl.c:9313
+ #, gcc-internal-format
+ msgid "default argument for %q#D has type %qT"
+ msgstr ""
+
+-#: cp/decl.c:9237
++#: cp/decl.c:9316
+ #, gcc-internal-format
+ msgid "default argument for parameter of type %qT has type %qT"
+ msgstr ""
+
+-#: cp/decl.c:9253
++#: cp/decl.c:9332
+ #, fuzzy, gcc-internal-format
+ msgid "default argument %qE uses local variable %qD"
+ msgstr "´Ø¿ô¤¬¥í¡¼¥«¥ëÊÑ¿ô¤Î¥¢¥É¥ì¥¹¤òÊÖ¤·¤Æ¤¤¤Þ¤¹"
+
+-#: cp/decl.c:9323
++#: cp/decl.c:9399
+ #, fuzzy, gcc-internal-format
++msgid "parameter %qD has Java class type"
++msgstr "²¾°ú¿ô `%s' ¤ÏÉÔ´°Á´·¿¤Ç¤¹"
++
++#: cp/decl.c:9412
++#, fuzzy, gcc-internal-format
+ msgid "parameter %qD invalidly declared method type"
+ msgstr "¥Ñ¥é¥á¥¿¤Ï¥á¥½¥Ã¥É¤Î·¿¤òÉÔÀµ¤ËÀë¸À¤·¤Þ¤·¤¿"
+
+-#: cp/decl.c:9347
++#: cp/decl.c:9436
+ #, gcc-internal-format
+ msgid "parameter %qD includes %s to array of unknown bound %qT"
+ msgstr ""
+
+-#: cp/decl.c:9361
++#: cp/decl.c:9450
+ #, fuzzy, gcc-internal-format
+ msgid "parameter packs must be at the end of the parameter list"
+ msgstr "²¾°ú¿ô¥ê¥¹¥ÈÃæ¤Î `void' ¤Ï¥ê¥¹¥ÈÁ´ÂΤòÀê¤á¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó"
+
+-#: cp/decl.c:9366
++#: cp/decl.c:9455
+ #, fuzzy, gcc-internal-format
+ msgid "multiple parameters named %qE"
+ msgstr "½ÅÊ£¤·¤¿²¾°ú¿ô̾ `%s'"
+@@ -29469,138 +29447,138 @@
+ #. or implicitly defined), there's no need to worry about their
+ #. existence. Theoretically, they should never even be
+ #. instantiated, but that's hard to forestall.
+-#: cp/decl.c:9581
++#: cp/decl.c:9672
+ #, gcc-internal-format
+ msgid "invalid constructor; you probably meant %<%T (const %T&)%>"
+ msgstr ""
+
+-#: cp/decl.c:9703
++#: cp/decl.c:9794
+ #, gcc-internal-format
+ msgid "%qD may not be declared within a namespace"
+ msgstr ""
+
+-#: cp/decl.c:9708
++#: cp/decl.c:9799
+ #, fuzzy, gcc-internal-format
+ msgid "%qD may not be declared as static"
+ msgstr "`::main' ¤ò static ¤È¤·¤Æ¤ÏÀë¸À¤Ç¤­¤Þ¤»¤ó"
+
+-#: cp/decl.c:9731
++#: cp/decl.c:9825
+ #, fuzzy, gcc-internal-format
+ msgid "%qD must be a nonstatic member function"
+ msgstr "¥Ç¥¹¥È¥é¥¯¥¿¤òÀÅŪ¥á¥ó¥Ð´Ø¿ô¤È¤¹¤ë¤³¤È¤Ï¤Ç¤­¤Þ¤»¤ó"
+
+-#: cp/decl.c:9740
++#: cp/decl.c:9834
+ #, gcc-internal-format
+ msgid "%qD must be either a non-static member function or a non-member function"
+ msgstr ""
+
+-#: cp/decl.c:9761
++#: cp/decl.c:9855
+ #, gcc-internal-format
+ msgid "%qD must have an argument of class or enumerated type"
+ msgstr ""
+
+-#: cp/decl.c:9802
++#: cp/decl.c:9896
+ #, gcc-internal-format
+ msgid "conversion to %s%s will never use a type conversion operator"
+ msgstr "%s%s ¤Ø¤ÎÊÑ´¹¤Ç·¿ÊÑ´¹±é»»»Ò¤¬ÍøÍѤµ¤ì¤ë¤³¤È¤Ï·è¤·¤Æ¤¢¤ê¤Þ¤»¤ó"
+
+ #. 13.4.0.3
+-#: cp/decl.c:9810
++#: cp/decl.c:9904
+ #, fuzzy, gcc-internal-format
+ msgid "ISO C++ prohibits overloading operator ?:"
+ msgstr "ISO C++ ¤Ï̵̾¹½Â¤ÂΤò¶Ø»ß¤·¤Æ¤¤¤Þ¤¹"
+
+-#: cp/decl.c:9815
++#: cp/decl.c:9909
+ #, gcc-internal-format
+ msgid "%qD must not have variable number of arguments"
+ msgstr ""
+
+-#: cp/decl.c:9866
++#: cp/decl.c:9960
+ #, gcc-internal-format
+ msgid "postfix %qD must take %<int%> as its argument"
+ msgstr ""
+
+-#: cp/decl.c:9869
++#: cp/decl.c:9963
+ #, gcc-internal-format
+ msgid "postfix %qD must take %<int%> as its second argument"
+ msgstr ""
+
+-#: cp/decl.c:9877
++#: cp/decl.c:9971
+ #, fuzzy, gcc-internal-format
+ msgid "%qD must take either zero or one argument"
+ msgstr "`%s' ¤Ï 0 ¤« 2 ¸Ä¤Î°ú¿ô¤·¤«¤È¤ê¤Þ¤»¤ó"
+
+-#: cp/decl.c:9879
++#: cp/decl.c:9973
+ #, fuzzy, gcc-internal-format
+ msgid "%qD must take either one or two arguments"
+ msgstr "`%s' ¤Ï 0 ¤« 2 ¸Ä¤Î°ú¿ô¤·¤«¤È¤ê¤Þ¤»¤ó"
+
+-#: cp/decl.c:9901
++#: cp/decl.c:9995
+ #, gcc-internal-format
+ msgid "prefix %qD should return %qT"
+ msgstr ""
+
+-#: cp/decl.c:9907
++#: cp/decl.c:10001
+ #, gcc-internal-format
+ msgid "postfix %qD should return %qT"
+ msgstr ""
+
+-#: cp/decl.c:9916
++#: cp/decl.c:10010
+ #, gcc-internal-format
+ msgid "%qD must take %<void%>"
+ msgstr ""
+
+-#: cp/decl.c:9918 cp/decl.c:9927
++#: cp/decl.c:10012 cp/decl.c:10021
+ #, gcc-internal-format
+ msgid "%qD must take exactly one argument"
+ msgstr ""
+
+-#: cp/decl.c:9929
++#: cp/decl.c:10023
+ #, fuzzy, gcc-internal-format
+ msgid "%qD must take exactly two arguments"
+ msgstr "`%s' ¤Ï 0 ¤« 2 ¸Ä¤Î°ú¿ô¤·¤«¤È¤ê¤Þ¤»¤ó"
+
+-#: cp/decl.c:9938
++#: cp/decl.c:10032
+ #, gcc-internal-format
+ msgid "user-defined %qD always evaluates both arguments"
+ msgstr ""
+
+-#: cp/decl.c:9952
++#: cp/decl.c:10046
+ #, gcc-internal-format
+ msgid "%qD should return by value"
+ msgstr ""
+
+-#: cp/decl.c:9964 cp/decl.c:9968
++#: cp/decl.c:10058 cp/decl.c:10062
+ #, gcc-internal-format
+ msgid "%qD cannot have default arguments"
+ msgstr ""
+
+-#: cp/decl.c:10026
++#: cp/decl.c:10120
+ #, gcc-internal-format
+ msgid "using template type parameter %qT after %qs"
+ msgstr ""
+
+-#: cp/decl.c:10041
++#: cp/decl.c:10135
+ #, gcc-internal-format
+ msgid "using typedef-name %qD after %qs"
+ msgstr ""
+
+-#: cp/decl.c:10042
++#: cp/decl.c:10136
+ #, fuzzy, gcc-internal-format
+ msgid "%q+D has a previous declaration here"
+ msgstr "Á°Êý¤Ç¤Î `%s' ¤ÎÀë¸À"
+
+-#: cp/decl.c:10050
++#: cp/decl.c:10144
+ #, gcc-internal-format
+ msgid "%qT referred to as %qs"
+ msgstr ""
+
+-#: cp/decl.c:10051 cp/decl.c:10058
++#: cp/decl.c:10145 cp/decl.c:10152
+ #, fuzzy, gcc-internal-format
+ msgid "%q+T has a previous declaration here"
+ msgstr "Á°Êý¤Ç¤Î `%s' ¤ÎÀë¸À"
+
+-#: cp/decl.c:10057
++#: cp/decl.c:10151
+ #, gcc-internal-format
+ msgid "%qT referred to as enum"
+ msgstr ""
+@@ -29612,73 +29590,73 @@
+ #. void f(class C); // No template header here
+ #.
+ #. then the required template argument is missing.
+-#: cp/decl.c:10072
++#: cp/decl.c:10166
+ #, gcc-internal-format
+ msgid "template argument required for %<%s %T%>"
+ msgstr ""
+
+-#: cp/decl.c:10120 cp/name-lookup.c:2698
++#: cp/decl.c:10214 cp/name-lookup.c:2700
+ #, gcc-internal-format
+ msgid "%qD has the same name as the class in which it is declared"
+ msgstr ""
+
+-#: cp/decl.c:10150 cp/name-lookup.c:2207 cp/parser.c:4036 cp/parser.c:14029
+-#: cp/parser.c:16234
++#: cp/decl.c:10244 cp/name-lookup.c:2209 cp/parser.c:4040 cp/parser.c:14099
++#: cp/parser.c:16316
+ #, fuzzy, gcc-internal-format
+ msgid "reference to %qD is ambiguous"
+ msgstr "%s: ¥ª¥×¥·¥ç¥ó `%s' ¤Ï¤¢¤¤¤Þ¤¤¤Ç¤¹\n"
+
+-#: cp/decl.c:10264
++#: cp/decl.c:10358
+ #, fuzzy, gcc-internal-format
+ msgid "use of enum %q#D without previous declaration"
+ msgstr "»öÁ°¤ÎÀë¸À¤Ê¤·¤ÎÂç°è´Ø¿ô¤Ë´Ø¤·¤Æ·Ù¹ð¤¹¤ë"
+
+-#: cp/decl.c:10285
++#: cp/decl.c:10379
+ #, fuzzy, gcc-internal-format
+ msgid "redeclaration of %qT as a non-template"
+ msgstr "`%s' ¤ÎÀë¸À¤Ï²¾°ú¿ô¤òʤ¤¤±£¤·¤Þ¤¹"
+
+-#: cp/decl.c:10286 cp/pt.c:4154
++#: cp/decl.c:10380
+ #, fuzzy, gcc-internal-format
+ msgid "previous declaration %q+D"
+ msgstr "Á°Êý¤Ç¤Î `%s' ¤ÎÀë¸À"
+
+-#: cp/decl.c:10397
++#: cp/decl.c:10491
+ #, gcc-internal-format
+ msgid "derived union %qT invalid"
+ msgstr ""
+
+-#: cp/decl.c:10406
++#: cp/decl.c:10500
+ #, gcc-internal-format
+ msgid "Java class %qT cannot have multiple bases"
+ msgstr ""
+
+-#: cp/decl.c:10417
++#: cp/decl.c:10511
+ #, gcc-internal-format
+ msgid "Java class %qT cannot have virtual bases"
+ msgstr ""
+
+-#: cp/decl.c:10440
++#: cp/decl.c:10534
+ #, fuzzy, gcc-internal-format
+ msgid "base type %qT fails to be a struct or class type"
+ msgstr "·¿½¤¾þ»Ò `%s' ¤Ï struct ¤ä class ¤Î¸å¤Ë¤Ï»È¤¨¤Þ¤»¤ó"
+
+-#: cp/decl.c:10473
++#: cp/decl.c:10567
+ #, gcc-internal-format
+ msgid "recursive type %qT undefined"
+ msgstr ""
+
+-#: cp/decl.c:10475
++#: cp/decl.c:10569
+ #, fuzzy, gcc-internal-format
+ msgid "duplicate base type %qT invalid"
+ msgstr "½ÅÊ£¤·¤¿ case ¤ÎÃÍ"
+
+-#: cp/decl.c:10552
++#: cp/decl.c:10646
+ #, fuzzy, gcc-internal-format
+ msgid "multiple definition of %q#T"
+ msgstr "`%s' ¤¬ºÆÄêµÁ¤µ¤ì¤Þ¤·¤¿"
+
+-#: cp/decl.c:10553
++#: cp/decl.c:10647
+ #, fuzzy, gcc-internal-format
+ msgid "%Jprevious definition here"
+ msgstr "`%s' ¤ÏÁ°¤Ë¤³¤³¤ÇÄêµÁ¤µ¤ì¤Þ¤·¤¿"
+@@ -29687,47 +29665,52 @@
+ #.
+ #. IF no integral type can represent all the enumerator values, the
+ #. enumeration is ill-formed.
+-#: cp/decl.c:10692
++#: cp/decl.c:10786
+ #, gcc-internal-format
+ msgid "no integral type can represent all of the enumerator values for %qT"
+ msgstr ""
+
+-#: cp/decl.c:10803
++#: cp/decl.c:10897
+ #, fuzzy, gcc-internal-format
+ msgid "enumerator value for %qD is not an integer constant"
+ msgstr "`%s' ¤ÎÎóµóÃͤ¬À°¿ôÄê¿ô¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó"
+
+-#: cp/decl.c:10831
++#: cp/decl.c:10925
+ #, fuzzy, gcc-internal-format
+ msgid "overflow in enumeration values at %qD"
+ msgstr "ÎóµóÃͤ¬¥ª¡¼¥Ð¡¼¥Õ¥í¡¼"
+
+-#: cp/decl.c:10906
++#: cp/decl.c:11002
+ #, fuzzy, gcc-internal-format
+ msgid "return type %q#T is incomplete"
+ msgstr "Ìá¤êÃͤη¿¤¬ÉÔ´°Á´·¿¤Ç¤¹"
+
+-#: cp/decl.c:11031 cp/typeck.c:6711
++#: cp/decl.c:11004
++#, fuzzy, gcc-internal-format
++msgid "return type has Java class type %q#T"
++msgstr "Ìá¤êÃͤη¿¤¬ÉÔ´°Á´·¿¤Ç¤¹"
++
++#: cp/decl.c:11129 cp/typeck.c:6739
+ #, gcc-internal-format
+ msgid "%<operator=%> should return a reference to %<*this%>"
+ msgstr ""
+
+-#: cp/decl.c:11420
++#: cp/decl.c:11518
+ #, fuzzy, gcc-internal-format
+ msgid "parameter %qD declared void"
+ msgstr "²¾°ú¿ô `%s' ¤¬ void ¤ÈÀë¸À¤µ¤ì¤Æ¤¤¤Þ¤¹"
+
+-#: cp/decl.c:11908
++#: cp/decl.c:12006
+ #, fuzzy, gcc-internal-format
+ msgid "invalid member function declaration"
+ msgstr "̵¸ú¤ÊÀë¸À¤Ç¤¹"
+
+-#: cp/decl.c:11923
++#: cp/decl.c:12021
+ #, gcc-internal-format
+ msgid "%qD is already defined in class %qT"
+ msgstr ""
+
+-#: cp/decl.c:12170
++#: cp/decl.c:12268
+ #, gcc-internal-format
+ msgid "static member function %q#D declared with type qualifiers"
+ msgstr ""
+@@ -29767,7 +29750,7 @@
+ msgid "deleting %qT is undefined"
+ msgstr ""
+
+-#: cp/decl2.c:459 cp/pt.c:3828
++#: cp/decl2.c:459 cp/pt.c:3831
+ #, fuzzy, gcc-internal-format
+ msgid "template declaration of %q#D"
+ msgstr "¶õ¤ÎÀë¸À¤Ç¤¹"
+@@ -29852,22 +29835,22 @@
+ msgid "static member %qD cannot be a bit-field"
+ msgstr ""
+
+-#: cp/decl2.c:1122
++#: cp/decl2.c:1165
+ #, gcc-internal-format
+ msgid "anonymous struct not inside named type"
+ msgstr "̵̾¹½Â¤ÂΤ¬Ì¾Á°¤Ä¤­·¿¤ÎÃæ¤Ë¤¢¤ê¤Þ¤»¤ó"
+
+-#: cp/decl2.c:1206
++#: cp/decl2.c:1249
+ #, gcc-internal-format
+ msgid "namespace-scope anonymous aggregates must be static"
+ msgstr "anonumous ̾Á°¶õ´Ö¤Î½¸¹çÂÎ¤Ï static ¤Ç¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó"
+
+-#: cp/decl2.c:1215
++#: cp/decl2.c:1258
+ #, fuzzy, gcc-internal-format
+ msgid "anonymous union with no members"
+ msgstr "̵̾¶¦ÍÑÂΤ˥á¥ó¥Ð¤¬¤¢¤ê¤Þ¤»¤ó"
+
+-#: cp/decl2.c:1251
++#: cp/decl2.c:1294
+ #, fuzzy, gcc-internal-format
+ msgid "%<operator new%> must return type %qT"
+ msgstr "`operator delete' ¤ÎÌá¤ê·¿¤Ï `void' ¤Ç¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó"
+@@ -29876,52 +29859,52 @@
+ #.
+ #. The first parameter shall not have an associated default
+ #. argument.
+-#: cp/decl2.c:1262
++#: cp/decl2.c:1305
+ #, gcc-internal-format
+ msgid "the first parameter of %<operator new%> cannot have a default argument"
+ msgstr ""
+
+-#: cp/decl2.c:1278
++#: cp/decl2.c:1321
+ #, fuzzy, gcc-internal-format
+ msgid "%<operator new%> takes type %<size_t%> (%qT) as first parameter"
+ msgstr "`operator new' ¤ÏÂè°ì°ú¿ô¤È¤·¤Æ `size_t' ¤ò¤È¤ê¤Þ¤¹"
+
+-#: cp/decl2.c:1307
++#: cp/decl2.c:1350
+ #, fuzzy, gcc-internal-format
+ msgid "%<operator delete%> must return type %qT"
+ msgstr "`operator delete' ¤ÎÌá¤ê·¿¤Ï `void' ¤Ç¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó"
+
+-#: cp/decl2.c:1316
++#: cp/decl2.c:1359
+ #, fuzzy, gcc-internal-format
+ msgid "%<operator delete%> takes type %qT as first parameter"
+ msgstr "`operator delete' ¤ÏÂè°ì°ú¿ô¤È¤·¤Æ `void *' ·¿¤ò¤È¤ê¤Þ¤¹"
+
+-#: cp/decl2.c:1985
++#: cp/decl2.c:2028
+ #, gcc-internal-format
+ msgid "%qT has a field %qD whose type uses the anonymous namespace"
+ msgstr ""
+
+-#: cp/decl2.c:1992
++#: cp/decl2.c:2035
+ #, gcc-internal-format
+ msgid "%qT declared with greater visibility than the type of its field %qD"
+ msgstr ""
+
+-#: cp/decl2.c:2005
++#: cp/decl2.c:2048
+ #, gcc-internal-format
+ msgid "%qT has a base %qT whose type uses the anonymous namespace"
+ msgstr ""
+
+-#: cp/decl2.c:2011
++#: cp/decl2.c:2054
+ #, gcc-internal-format
+ msgid "%qT declared with greater visibility than its base %qT"
+ msgstr ""
+
+-#: cp/decl2.c:3395
++#: cp/decl2.c:3441
+ #, fuzzy, gcc-internal-format
+ msgid "inline function %q+D used but never defined"
+ msgstr "`%s' ¤¬»È¤ï¤ì¤Þ¤·¤¿¤¬Ì¤ÄêµÁ¤Ç¤¹"
+
+-#: cp/decl2.c:3543
++#: cp/decl2.c:3589
+ #, fuzzy, gcc-internal-format
+ msgid "default argument missing for parameter %P of %q+#D"
+ msgstr "²¾°ú¿ô¥ê¥¹¥È¤«¤é¤Î²¾°ú¿ô̾¤ò·ç¤¤¤Æ¤¤¤Þ¤¹"
+@@ -29929,7 +29912,7 @@
+ #. We really want to suppress this warning in system headers,
+ #. because libstdc++ uses variadic templates even when we aren't
+ #. in C++0x mode.
+-#: cp/error.c:2669
++#: cp/error.c:2712
+ #, fuzzy, gcc-internal-format
+ msgid "ISO C++ does not include variadic templates"
+ msgstr "ISO C ¤Ç¤Ï̾Á°¤Ä¤­²ÄÊÑ°ú¿ô¥Þ¥¯¥í¤òµö¤·¤Þ¤»¤ó"
+@@ -29961,7 +29944,7 @@
+ msgid "throwing NULL, which has integral, not pointer type"
+ msgstr ""
+
+-#: cp/except.c:643 cp/init.c:1780
++#: cp/except.c:643 cp/init.c:1915
+ #, gcc-internal-format
+ msgid "%qD should never be overloaded"
+ msgstr ""
+@@ -30060,232 +30043,247 @@
+ msgid "member %qD declared as friend before type %qT defined"
+ msgstr ""
+
+-#: cp/friend.c:550
++#: cp/friend.c:543
+ #, fuzzy, gcc-internal-format
++msgid "friend declaration %qD in local class without prior declaration"
++msgstr "friend Àë¸À¤¬¥¯¥é¥¹ÄêµÁ¤ÎÃæ¤Ë¤¢¤ê¤Þ¤»¤ó"
++
++#: cp/friend.c:564
++#, fuzzy, gcc-internal-format
+ msgid "friend declaration %q#D declares a non-template function"
+ msgstr "friend Àë¸À¤¬¥¯¥é¥¹ÄêµÁ¤ÎÃæ¤Ë¤¢¤ê¤Þ¤»¤ó"
+
+-#: cp/friend.c:554
++#: cp/friend.c:568
+ #, fuzzy, 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 "¡Ê¤â¤·¤³¤ì¤¬¤¢¤Ê¤¿¤Î°Õ¿Þ¤·¤¿¤â¤Î¤Ç¤Ê¤±¤ì¤Ð¡¢´Ø¿ô¥Æ¥ó¥×¥ì¡¼¥È¤Ï´û¤ËÀë¸ÀºÑ¤Ç¤¢¤ë»ö¤ò³Îǧ¤·¡¢¤³¤³¤Î´Ø¿ô̾¤Î¸å¤í¤Ë <> ¤òÉÕ¤±Â­¤·¤Æ¤¯¤À¤µ¤¤¡Ë -Wno-non-template-friend ¤Ç¤³¤Î·Ù¹ðɽ¼¨¤ò̵¸ú¤Ë¤·¤Þ¤¹"
+
+-#: cp/init.c:334
++#: cp/init.c:374
++#, fuzzy, gcc-internal-format
++msgid "value-initialization of reference"
++msgstr "²ÄÊÑÇÛÎó¥á¥ó¥Ð¤ò½é´ü²½¤·¤Æ¤¤¤Þ¤¹"
++
++#: cp/init.c:481
+ #, gcc-internal-format
+ msgid "%J%qD should be initialized in the member initialization list"
+ msgstr ""
+
+-#: cp/init.c:382
++#: cp/init.c:529
+ #, gcc-internal-format
+ msgid "%Jdefault-initialization of %q#D, which has reference type"
+ msgstr ""
+
+-#: cp/init.c:388
++#: cp/init.c:535
+ #, gcc-internal-format
+ msgid "%Juninitialized reference member %qD"
+ msgstr ""
+
+-#: cp/init.c:391
++#: cp/init.c:538
+ #, gcc-internal-format
+ msgid "%Juninitialized member %qD with %<const%> type %qT"
+ msgstr ""
+
+-#: cp/init.c:534
++#: cp/init.c:681
+ #, gcc-internal-format
+ msgid "%q+D will be initialized after"
+ msgstr ""
+
+-#: cp/init.c:537
++#: cp/init.c:684
+ #, gcc-internal-format
+ msgid "base %qT will be initialized after"
+ msgstr ""
+
+-#: cp/init.c:540
++#: cp/init.c:687
+ #, gcc-internal-format
+ msgid " %q+#D"
+ msgstr ""
+
+-#: cp/init.c:542
++#: cp/init.c:689
+ #, gcc-internal-format
+ msgid " base %qT"
+ msgstr ""
+
+-#: cp/init.c:543
++#: cp/init.c:690
+ #, gcc-internal-format
+ msgid "%J when initialized here"
+ msgstr ""
+
+-#: cp/init.c:559
++#: cp/init.c:706
+ #, fuzzy, gcc-internal-format
+ msgid "%Jmultiple initializations given for %qD"
+ msgstr "(`%s' ¤Î½é´ü²½¤ÏÉÔ´°Á´¤Ç¤¹)"
+
+-#: cp/init.c:562
++#: cp/init.c:709
+ #, gcc-internal-format
+ msgid "%Jmultiple initializations given for base %qT"
+ msgstr ""
+
+-#: cp/init.c:629
++#: cp/init.c:776
+ #, fuzzy, gcc-internal-format
+ msgid "%Jinitializations for multiple members of %qT"
+ msgstr "²ÄÊÑÇÛÎó¥á¥ó¥Ð¤ò½é´ü²½¤·¤Æ¤¤¤Þ¤¹"
+
+-#: cp/init.c:691
++#: cp/init.c:839
+ #, gcc-internal-format
+ msgid "%Jbase class %q#T should be explicitly initialized in the copy constructor"
+ msgstr ""
+
+-#: cp/init.c:915 cp/init.c:934
++#: cp/init.c:1063 cp/init.c:1082
+ #, gcc-internal-format
+ msgid "class %qT does not have any field named %qD"
+ msgstr ""
+
+-#: cp/init.c:921
++#: cp/init.c:1069
+ #, fuzzy, gcc-internal-format
+ msgid "%q#D is a static data member; it can only be initialized at its definition"
+ msgstr "`com_interface' °À­¤Ï¥¯¥é¥¹ÄêµÁ¤Ë¤Î¤ßÍѤ¤¤ë»ö¤¬¤Ç¤­¤Þ¤¹"
+
+-#: cp/init.c:928
++#: cp/init.c:1076
+ #, gcc-internal-format
+ msgid "%q#D is not a non-static data member of %qT"
+ msgstr ""
+
+-#: cp/init.c:967
++#: cp/init.c:1115
+ #, fuzzy, gcc-internal-format
+ msgid "unnamed initializer for %qT, which has no base classes"
+ msgstr "´ðÄ쥯¥é¥¹¤ò»ý¤Ä¥¯¥é¥¹¤Î¥ª¥Ö¥¸¥§¥¯¥ÈÍѤνé´ü²½»Ò¥ê¥¹¥È¤Ç¤¹"
+
+-#: cp/init.c:975
++#: cp/init.c:1123
+ #, gcc-internal-format
+ msgid "unnamed initializer for %qT, which uses multiple inheritance"
+ msgstr ""
+
+-#: cp/init.c:1021
++#: cp/init.c:1169
+ #, gcc-internal-format
+ msgid "%qD is both a direct base and an indirect virtual base"
+ msgstr ""
+
+-#: cp/init.c:1029
++#: cp/init.c:1177
+ #, gcc-internal-format
+ msgid "type %qT is not a direct or virtual base of %qT"
+ msgstr ""
+
+-#: cp/init.c:1032
++#: cp/init.c:1180
+ #, gcc-internal-format
+ msgid "type %qT is not a direct base of %qT"
+ msgstr ""
+
+-#: cp/init.c:1112
++#: cp/init.c:1260
+ #, gcc-internal-format
+ msgid "bad array initializer"
+ msgstr "ÇÛÎó¤ÎÉÔÀµ¤Ê½é´ü²½"
+
+-#: cp/init.c:1287
++#: cp/init.c:1435
+ #, fuzzy, gcc-internal-format
+ msgid "%qT is not an aggregate type"
+ msgstr "È󽸹çÂη¿¤ËÂФ·¤ÆŬÍѤµ¤ì¤¿ `sigof'"
+
+-#: cp/init.c:1341
++#: cp/init.c:1489
+ #, gcc-internal-format
+ msgid "incomplete type %qT does not have member %qD"
+ msgstr ""
+
+-#: cp/init.c:1354
++#: cp/init.c:1502
+ #, fuzzy, gcc-internal-format
+ msgid "invalid pointer to bit-field %qD"
+ msgstr "Æó¹à±é»»»Ò %s ¤¬ÉÔŬÀڤǤ¹"
+
+-#: cp/init.c:1431
++#: cp/init.c:1579
+ #, fuzzy, gcc-internal-format
+ msgid "invalid use of non-static member function %qD"
+ msgstr "Èó¥á¥ó¥Ð´Ø¿ô¤Ç¤Î `this' ¤Î»ÈÍѤÏ̵¸ú¤Ç¤¹"
+
+-#: cp/init.c:1437
++#: cp/init.c:1585
+ #, fuzzy, gcc-internal-format
+ msgid "invalid use of non-static data member %qD"
+ msgstr "¥á¥ó¥Ð¤Ø¤Î¥Ý¥¤¥ó¥¿¤Ç¤Î̵¸ú¤Ê `%s' ¤Î»ÈÍÑ"
+
+-#: cp/init.c:1714
++#: cp/init.c:1862
+ #, fuzzy, gcc-internal-format
+ msgid "invalid type %<void%> for new"
+ msgstr "new ¤ËÂФ·¤Æ̵¸ú¤Ê·¿¤Ç¤¢¤ë `void'"
+
+-#: cp/init.c:1724
++#: cp/init.c:1872
+ #, gcc-internal-format
+ msgid "uninitialized const in %<new%> of %q#T"
+ msgstr ""
+
+-#: cp/init.c:1775
++#: cp/init.c:1910
+ #, fuzzy, gcc-internal-format
+ msgid "call to Java constructor with %qs undefined"
+ msgstr "Java ¥³¥ó¥¹¥È¥é¥¯¥¿¤¬¸Æ¤Ð¤ì¤Þ¤·¤¿¤¬¡¢`%s' ¤Ï̤ÄêµÁ¤Ç¤¹"
+
+-#: cp/init.c:1815
++#: cp/init.c:1926
++#, gcc-internal-format
++msgid "Java class %q#T object allocated using placement new"
++msgstr ""
++
++#: cp/init.c:1955
+ #, fuzzy, gcc-internal-format
+ msgid "no suitable %qD found in class %qT"
+ msgstr "¥Õ¥£¡¼¥ë¥É '%s' ¤¬¥¯¥é¥¹Æâ¤Ë¸«¤Ä¤«¤ê¤Þ¤»¤ó"
+
+-#: cp/init.c:1820
++#: cp/init.c:1960
+ #, fuzzy, gcc-internal-format
+ msgid "request for member %qD is ambiguous"
+ msgstr "Í׵ᤵ¤ì¤¿¥á¥ó¥Ð `%s' ¤Ï¿½Å·Ñ¾µ¥°¥é¥Õ¤ÎÃæ¤ÇÛ£Ëæ¤Ç¤¹"
+
+-#: cp/init.c:1972
++#: cp/init.c:2134
+ #, fuzzy, gcc-internal-format
+ msgid "ISO C++ forbids initialization in array new"
+ msgstr "ISO C++ ¤Ï new ¼°¤Î½é´ü²½¤Ç¤Î `=' ¤ò¶Ø¤¸¤Þ¤¹"
+
+-#: cp/init.c:2174
++#: cp/init.c:2336
+ #, gcc-internal-format
+ msgid "size in array new must have integral type"
+ msgstr "ÇÛÎó new ¤Ç¤Î¥µ¥¤¥º¤Ï´°Á´¤Ê·¿¤ò»ý¤¿¤Í¤Ð¤Ê¤ê¤Þ¤»¤ó"
+
+-#: cp/init.c:2183
++#: cp/init.c:2345
+ #, gcc-internal-format
+ msgid "new cannot be applied to a reference type"
+ msgstr "»²¾È·¿¤ËÂФ·¤Æ new ¤òŬÍѤǤ­¤Þ¤»¤ó"
+
+-#: cp/init.c:2189
++#: cp/init.c:2351
+ #, gcc-internal-format
+ msgid "new cannot be applied to a function type"
+ msgstr "´Ø¿ô·¿¤ËÂФ·¤Æ new ¤òŬÍѤǤ­¤Þ¤»¤ó"
+
+-#: cp/init.c:2228
++#: cp/init.c:2390
+ #, fuzzy, gcc-internal-format
+ msgid "call to Java constructor, while %<jclass%> undefined"
+ msgstr "Java ¥³¥ó¥¹¥È¥é¥¯¥¿¤¬¸Æ¤Ð¤ì¤Þ¤·¤¿¤¬¡¢`jclass' ¤Ï̤ÄêµÁ¤Ç¤¹"
+
+-#: cp/init.c:2246
++#: cp/init.c:2408
+ #, fuzzy, gcc-internal-format
+ msgid "can't find %<class$%> in %qT"
+ msgstr "class$ ¤¬¸«¤Ä¤«¤ê¤Þ¤»¤ó"
+
+-#: cp/init.c:2607
++#: cp/init.c:2769
+ #, gcc-internal-format
+ msgid "initializer ends prematurely"
+ msgstr "½é´üÀßÄê»Ò¤ÎËöÈø¤¬ËÜÍè¤è¤êÁ᤯½Ð¸½¤·¤Þ¤·¤¿"
+
+-#: cp/init.c:2662
++#: cp/init.c:2824
+ #, gcc-internal-format
+ msgid "cannot initialize multi-dimensional array with initializer"
+ msgstr "¿¼¡¸µÇÛÎó¤Ï½é´ü²½»Ò¤Ç½é´ü²½¤¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤»¤ó"
+
+-#: cp/init.c:2799
++#: cp/init.c:2961
+ #, gcc-internal-format
+ msgid "possible problem detected in invocation of delete operator:"
+ msgstr ""
+
+-#: cp/init.c:2802
++#: cp/init.c:2964
+ #, gcc-internal-format
+ msgid "neither the destructor nor the class-specific operator delete will be called, even if they are declared when the class is defined."
+ msgstr ""
+
+-#: cp/init.c:2823
++#: cp/init.c:2985
+ #, gcc-internal-format
+ msgid "unknown array size in delete"
+ msgstr "delete ¤Ç¤ÎÇÛÎó¥µ¥¤¥º¤¬ÉÔÌÀ¤Ç¤¹"
+
+-#: cp/init.c:3070
++#: cp/init.c:3232
+ #, gcc-internal-format
+ msgid "type to vector delete is neither pointer or array type"
+ msgstr "¥Ù¥¯¥È¥ë·¿¤Î delete ¤Ç¤¹¤¬¡¢¥Ý¥¤¥ó¥¿¤Ç¤âÇÛÎ󷿤Ǥ⤢¤ê¤Þ¤»¤ó"
+@@ -30350,22 +30348,22 @@
+ msgid "mangling typeof, use decltype instead"
+ msgstr ""
+
+-#: cp/mangle.c:2208
++#: cp/mangle.c:2211
+ #, fuzzy, gcc-internal-format
+ msgid "call_expr cannot be mangled due to a defect in the C++ ABI"
+ msgstr "´Ø¿ô·¿¤ËÂФ·¤Æ new ¤òŬÍѤǤ­¤Þ¤»¤ó"
+
+-#: cp/mangle.c:2216
++#: cp/mangle.c:2219
+ #, gcc-internal-format
+ msgid "zero-operand casts cannot be mangled due to a defect in the C++ ABI"
+ msgstr ""
+
+-#: cp/mangle.c:2266
++#: cp/mangle.c:2269
+ #, gcc-internal-format
+ msgid "omitted middle operand to %<?:%> operand cannot be mangled"
+ msgstr ""
+
+-#: cp/mangle.c:2584
++#: cp/mangle.c:2587
+ #, gcc-internal-format
+ msgid "the mangled name of %qD will change in a future version of GCC"
+ msgstr ""
+@@ -30375,27 +30373,27 @@
+ msgid "generic thunk code fails for method %q#D which uses %<...%>"
+ msgstr ""
+
+-#: cp/method.c:697
++#: cp/method.c:698
+ #, gcc-internal-format
+ msgid "non-static const member %q#D, can't use default assignment operator"
+ msgstr ""
+
+-#: cp/method.c:703
++#: cp/method.c:704
+ #, gcc-internal-format
+ msgid "non-static reference member %q#D, can't use default assignment operator"
+ msgstr ""
+
+-#: cp/method.c:815
++#: cp/method.c:816
+ #, gcc-internal-format
+ msgid "%Hsynthesized method %qD first required here "
+ msgstr ""
+
+-#: cp/method.c:1158
++#: cp/method.c:1159
+ #, gcc-internal-format
+ msgid "vtable layout for class %qT may not be ABI-compliantand may change in a future version of GCC due to implicit virtual destructor"
+ msgstr ""
+
+-#: cp/name-lookup.c:728
++#: cp/name-lookup.c:727
+ #, fuzzy, gcc-internal-format
+ msgid "redeclaration of %<wchar_t%> as %qT"
+ msgstr "`%s' ¤¬ºÆÀë¸À¤µ¤ì¤Þ¤·¤¿"
+@@ -30406,243 +30404,243 @@
+ #. [basic.start.main]
+ #.
+ #. This function shall not be overloaded.
+-#: cp/name-lookup.c:758
++#: cp/name-lookup.c:757
+ #, fuzzy, gcc-internal-format
+ msgid "invalid redeclaration of %q+D"
+ msgstr "̵¸ú¤ÊÀë¸À¤Ç¤¹"
+
+-#: cp/name-lookup.c:759
++#: cp/name-lookup.c:758
+ #, gcc-internal-format
+ msgid "as %qD"
+ msgstr ""
+
+-#: cp/name-lookup.c:850
++#: cp/name-lookup.c:849
+ #, fuzzy, gcc-internal-format
+ msgid "type mismatch with previous external decl of %q#D"
+ msgstr "·¿¤¬Á°Êý¤Î³°ÉôÀë¸À¤È°ìÃפ·¤Þ¤»¤ó"
+
+-#: cp/name-lookup.c:851
++#: cp/name-lookup.c:850
+ #, fuzzy, gcc-internal-format
+ msgid "previous external decl of %q+#D"
+ msgstr "Á°Êý¤Î `%s' ¤Î³°ÉôÀë¸À"
+
+-#: cp/name-lookup.c:942
++#: cp/name-lookup.c:941
+ #, fuzzy, gcc-internal-format
+ msgid "extern declaration of %q#D doesn't match"
+ msgstr "`%s' ¤Îextern Àë¸À¤Ï¥°¥í¡¼¥Ð¥ë¤Î¤½¤ì¤È°ìÃפ·¤Þ¤»¤ó"
+
+-#: cp/name-lookup.c:943
++#: cp/name-lookup.c:942
+ #, fuzzy, gcc-internal-format
+ msgid "global declaration %q+#D"
+ msgstr "̵¸ú¤ÊÀë¸À¤Ç¤¹"
+
+-#: cp/name-lookup.c:980 cp/name-lookup.c:987
++#: cp/name-lookup.c:979 cp/name-lookup.c:986
+ #, fuzzy, gcc-internal-format
+ msgid "declaration of %q#D shadows a parameter"
+ msgstr "`%s' ¤ÎÀë¸À¤Ï²¾°ú¿ô¤òʤ¤¤±£¤·¤Þ¤¹"
+
+ #. Location of previous decl is not useful in this case.
+-#: cp/name-lookup.c:1012
++#: cp/name-lookup.c:1011
+ #, fuzzy, gcc-internal-format
+ msgid "declaration of %qD shadows a member of 'this'"
+ msgstr "`%s' ¤ÎÀë¸À¤Ë¤è¤ê `this' ¤Î¥á¥ó¥Ð¤¬Ê¤¤¤±£¤µ¤ì¤Þ¤¹"
+
+-#: cp/name-lookup.c:1018
++#: cp/name-lookup.c:1017
+ #, fuzzy, gcc-internal-format
+ msgid "declaration of %qD shadows a previous local"
+ msgstr "`%s' ¤ÎÀë¸À¤ÏÁ°Êý¤Î¥í¡¼¥«¥ë¥·¥ó¥Ü¥ë¤òʤ¤¤±£¤·¤Þ¤¹"
+
+-#: cp/name-lookup.c:1025
++#: cp/name-lookup.c:1024
+ #, fuzzy, gcc-internal-format
+ msgid "declaration of %qD shadows a global declaration"
+ msgstr "`%s' ¤ÎÀë¸À¤Ï¥°¥í¡¼¥Ð¥ëÀë¸À¤òʤ¤¤±£¤·¤Þ¤¹"
+
+-#: cp/name-lookup.c:1148
++#: cp/name-lookup.c:1147
+ #, fuzzy, gcc-internal-format
+ msgid "name lookup of %qD changed"
+ msgstr "`%s' ¤Î̾Á°°ú¤­¤ÏÊѹ¹¤µ¤ì¤Þ¤·¤¿"
+
+-#: cp/name-lookup.c:1149
++#: cp/name-lookup.c:1148
+ #, gcc-internal-format
+ msgid " matches this %q+D under ISO standard rules"
+ msgstr ""
+
+-#: cp/name-lookup.c:1151
++#: cp/name-lookup.c:1150
+ #, gcc-internal-format
+ msgid " matches this %q+D under old rules"
+ msgstr ""
+
+-#: cp/name-lookup.c:1169 cp/name-lookup.c:1177
++#: cp/name-lookup.c:1168 cp/name-lookup.c:1176
+ #, fuzzy, gcc-internal-format
+ msgid "name lookup of %qD changed for new ISO %<for%> scoping"
+ msgstr "`%s' ¤Î̾Á°°ú¤­¤Ï¿·¤¿¤Ê ISO `for' ¥¹¥³¡¼¥×¤ËÊѤï¤ê¤Þ¤·¤¿"
+
+-#: cp/name-lookup.c:1171
++#: cp/name-lookup.c:1170
+ #, gcc-internal-format
+ msgid " cannot use obsolete binding at %q+D because it has a destructor"
+ msgstr ""
+
+-#: cp/name-lookup.c:1179
++#: cp/name-lookup.c:1178
+ #, gcc-internal-format
+ msgid " using obsolete binding at %q+D"
+ msgstr ""
+
+-#: cp/name-lookup.c:1232
++#: cp/name-lookup.c:1231
+ #, gcc-internal-format
+ msgid "%s %s(%E) %p %d\n"
+ msgstr ""
+
+-#: cp/name-lookup.c:1235
++#: cp/name-lookup.c:1234
+ #, fuzzy, gcc-internal-format
+ msgid "%s %s %p %d\n"
+ msgstr "%s: %s: "
+
+-#: cp/name-lookup.c:1362
++#: cp/name-lookup.c:1361
+ #, gcc-internal-format
+ msgid "XXX is_class_level != (current_scope == class_scope)\n"
+ msgstr ""
+
+-#: cp/name-lookup.c:1920
++#: cp/name-lookup.c:1922
+ #, fuzzy, gcc-internal-format
+ msgid "%q#D hides constructor for %q#T"
+ msgstr "%d ¸Ä¤Î¥³¥ó¥¹¥È¥é¥¯¥¿¤¬¸«¤Ä¤«¤ê¤Þ¤·¤¿\n"
+
+-#: cp/name-lookup.c:1937
++#: cp/name-lookup.c:1939
+ #, fuzzy, gcc-internal-format
+ msgid "%q#D conflicts with previous using declaration %q#D"
+ msgstr "`%s' ¤Î¥»¥¯¥·¥ç¥ó¤ÏÁ°Êý¤Ç¤ËÀë¸À¤µ¤ì¤¿¤â¤Î¤È¾×Æͤ·¤Þ¤¹"
+
+-#: cp/name-lookup.c:1960
++#: cp/name-lookup.c:1962
+ #, fuzzy, gcc-internal-format
+ msgid "previous non-function declaration %q+#D"
+ msgstr "Á°Êý¤Ç¤Î `%s' ¤Î°ÅÌÛŪ¤ÊÀë¸À"
+
+-#: cp/name-lookup.c:1961
++#: cp/name-lookup.c:1963
+ #, fuzzy, gcc-internal-format
+ msgid "conflicts with function declaration %q#D"
+ msgstr "`%s' ¤ÎÀë¸À¤¬Ì·½â¤·¤Æ¤¤¤Þ¤¹"
+
+ #. It's a nested name with template parameter dependent scope.
+ #. This can only be using-declaration for class member.
+-#: cp/name-lookup.c:2039 cp/name-lookup.c:2064
++#: cp/name-lookup.c:2041 cp/name-lookup.c:2066
+ #, fuzzy, gcc-internal-format
+ msgid "%qT is not a namespace"
+ msgstr "%s=%s ¤Ï¿ôÃͤǤϤ¢¤ê¤Þ¤»¤ó"
+
+ #. 7.3.3/5
+ #. A using-declaration shall not name a template-id.
+-#: cp/name-lookup.c:2049
++#: cp/name-lookup.c:2051
+ #, gcc-internal-format
+ msgid "a using-declaration cannot specify a template-id. Try %<using %D%>"
+ msgstr ""
+
+-#: cp/name-lookup.c:2056
++#: cp/name-lookup.c:2058
+ #, gcc-internal-format
+ msgid "namespace %qD not allowed in using-declaration"
+ msgstr ""
+
+-#: cp/name-lookup.c:2092
++#: cp/name-lookup.c:2094
+ #, gcc-internal-format
+ msgid "%qD not declared"
+ msgstr ""
+
+-#: cp/name-lookup.c:2128 cp/name-lookup.c:2165 cp/name-lookup.c:2199
+-#: cp/name-lookup.c:2214
++#: cp/name-lookup.c:2130 cp/name-lookup.c:2167 cp/name-lookup.c:2201
++#: cp/name-lookup.c:2216
+ #, gcc-internal-format
+ msgid "%qD is already declared in this scope"
+ msgstr ""
+
+-#: cp/name-lookup.c:2817
++#: cp/name-lookup.c:2819
+ #, gcc-internal-format
+ msgid "using-declaration for non-member at class scope"
+ msgstr ""
+
+-#: cp/name-lookup.c:2824
++#: cp/name-lookup.c:2826
+ #, gcc-internal-format
+ msgid "%<%T::%D%> names destructor"
+ msgstr ""
+
+-#: cp/name-lookup.c:2829
++#: cp/name-lookup.c:2831
+ #, gcc-internal-format
+ msgid "%<%T::%D%> names constructor"
+ msgstr ""
+
+-#: cp/name-lookup.c:2834
++#: cp/name-lookup.c:2836
+ #, gcc-internal-format
+ msgid "%<%T::%D%> names constructor in %qT"
+ msgstr ""
+
+-#: cp/name-lookup.c:2884
++#: cp/name-lookup.c:2886
+ #, gcc-internal-format
+ msgid "no members matching %<%T::%D%> in %q#T"
+ msgstr ""
+
+-#: cp/name-lookup.c:2952
++#: cp/name-lookup.c:2954
+ #, gcc-internal-format
+ msgid "declaration of %qD not in a namespace surrounding %qD"
+ msgstr ""
+
+-#: cp/name-lookup.c:2960
++#: cp/name-lookup.c:2962
+ #, fuzzy, gcc-internal-format
+ msgid "explicit qualification in declaration of %qD"
+ msgstr "`%s' ¤ÎÀë¸À¤¬Ì·½â¤·¤Æ¤¤¤Þ¤¹"
+
+-#: cp/name-lookup.c:3003
++#: cp/name-lookup.c:3005
+ #, gcc-internal-format
+ msgid "%qD should have been declared inside %qD"
+ msgstr ""
+
+-#: cp/name-lookup.c:3048
++#: cp/name-lookup.c:3050
+ #, fuzzy, gcc-internal-format
+ msgid "%qD attribute requires a single NTBS argument"
+ msgstr "%s: ¥ª¥×¥·¥ç¥ó `%s' ¤Ë¤Ï°ú¿ô¤¬É¬ÍפǤ¹\n"
+
+-#: cp/name-lookup.c:3055
++#: cp/name-lookup.c:3057
+ #, gcc-internal-format
+ msgid "%qD attribute is meaningless since members of the anonymous namespace get local symbols"
+ msgstr ""
+
+-#: cp/name-lookup.c:3064 cp/name-lookup.c:3433
++#: cp/name-lookup.c:3066 cp/name-lookup.c:3435
+ #, fuzzy, gcc-internal-format
+ msgid "%qD attribute directive ignored"
+ msgstr "`%s' °À­¤Îµ¿»÷Ì¿Î᤬̵»ë¤µ¤ì¤Þ¤·¤¿"
+
+-#: cp/name-lookup.c:3109
++#: cp/name-lookup.c:3111
+ #, gcc-internal-format
+ msgid "namespace alias %qD not allowed here, assuming %qD"
+ msgstr ""
+
+-#: cp/name-lookup.c:3421
++#: cp/name-lookup.c:3423
+ #, gcc-internal-format
+ msgid "strong using only meaningful at namespace scope"
+ msgstr ""
+
+-#: cp/name-lookup.c:3425
++#: cp/name-lookup.c:3427
+ #, gcc-internal-format
+ msgid "current namespace %qD does not enclose strongly used namespace %qD"
+ msgstr ""
+
+-#: cp/name-lookup.c:4318
++#: cp/name-lookup.c:4320
+ #, fuzzy, gcc-internal-format
+ msgid "%q+D is not a function,"
+ msgstr "¸Æ¤Ó½Ð¤µ¤ì¤¿¥ª¥Ö¥¸¥§¥¯¥È¤Ï´Ø¿ô¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó"
+
+-#: cp/name-lookup.c:4319
++#: cp/name-lookup.c:4321
+ #, fuzzy, gcc-internal-format
+ msgid " conflict with %q+D"
+ msgstr "`%s' ¤Ï `-g%s' ¤È¶¥¹ç¤¹¤ë¤¿¤á̵»ë¤µ¤ì¤Þ¤·¤¿"
+
+-#: cp/name-lookup.c:4752
++#: cp/name-lookup.c:4756
+ #, gcc-internal-format
+ msgid "argument dependent lookup finds %q+D"
+ msgstr ""
+
+-#: cp/name-lookup.c:5184
++#: cp/name-lookup.c:5188
+ #, gcc-internal-format
+ msgid "XXX entering pop_everything ()\n"
+ msgstr ""
+
+-#: cp/name-lookup.c:5193
++#: cp/name-lookup.c:5197
+ #, gcc-internal-format
+ msgid "XXX leaving pop_everything ()\n"
+ msgstr ""
+@@ -30652,368 +30650,373 @@
+ msgid "identifier %<%s%> will become a keyword in C++0x"
+ msgstr ""
+
+-#: cp/parser.c:2066
++#: cp/parser.c:2069
+ #, gcc-internal-format
+ msgid "%<#pragma%> is not allowed here"
+ msgstr ""
+
+-#: cp/parser.c:2096
++#: cp/parser.c:2099
+ #, gcc-internal-format
+ msgid "%<%E::%E%> has not been declared"
+ msgstr ""
+
+-#: cp/parser.c:2099
++#: cp/parser.c:2102
+ #, gcc-internal-format
+ msgid "%<::%E%> has not been declared"
+ msgstr ""
+
+-#: cp/parser.c:2102
++#: cp/parser.c:2105
+ #, gcc-internal-format
+ msgid "request for member %qE in non-class type %qT"
+ msgstr ""
+
+-#: cp/parser.c:2105
++#: cp/parser.c:2108
+ #, gcc-internal-format
+ msgid "%<%T::%E%> has not been declared"
+ msgstr ""
+
+-#: cp/parser.c:2108
++#: cp/parser.c:2111
+ #, gcc-internal-format
+ msgid "%qE has not been declared"
+ msgstr ""
+
+-#: cp/parser.c:2111
++#: cp/parser.c:2114
+ #, gcc-internal-format
+ msgid "%<%E::%E%> %s"
+ msgstr ""
+
+-#: cp/parser.c:2113
++#: cp/parser.c:2116
+ #, gcc-internal-format
+ msgid "%<::%E%> %s"
+ msgstr ""
+
+-#: cp/parser.c:2115
++#: cp/parser.c:2118
+ #, fuzzy, gcc-internal-format
+ msgid "%qE %s"
+ msgstr "%s: %s"
+
+-#: cp/parser.c:2151
++#: cp/parser.c:2155
+ #, fuzzy, gcc-internal-format
+-msgid "ISO C++ does not support %<long long%>"
++msgid "ISO C++ 1998 does not support %<long long%>"
+ msgstr "ISO C++ ¤Ï `long long' ¤ò¼õ¤±Æþ¤ì¤Þ¤»¤ó"
+
+-#: cp/parser.c:2171
++#: cp/parser.c:2175
+ #, fuzzy, gcc-internal-format
+ msgid "duplicate %qs"
+ msgstr "`%s' ¤¬½ÅÊ£¤·¤Æ¤¤¤Þ¤¹"
+
+-#: cp/parser.c:2214
++#: cp/parser.c:2218
+ #, fuzzy, gcc-internal-format
+ msgid "new types may not be defined in a return type"
+ msgstr "»²¾È·¿¤ËÂФ·¤Æ new ¤òŬÍѤǤ­¤Þ¤»¤ó"
+
+-#: cp/parser.c:2215
++#: cp/parser.c:2219
+ #, fuzzy, gcc-internal-format
+ msgid "(perhaps a semicolon is missing after the definition of %qT)"
+ msgstr "%s Àë¸À¤Î¸å¤í¤Î¥»¥ß¥³¥í¥ó¤ò·ç¤¤¤Æ¤¤¤Þ¤¹"
+
+-#: cp/parser.c:2234 cp/parser.c:4077 cp/pt.c:5443
++#: cp/parser.c:2238 cp/parser.c:4081 cp/pt.c:5509
+ #, gcc-internal-format
+ msgid "%qT is not a template"
+ msgstr ""
+
+-#: cp/parser.c:2236
++#: cp/parser.c:2240
+ #, gcc-internal-format
+ msgid "%qE is not a template"
+ msgstr ""
+
+-#: cp/parser.c:2238
++#: cp/parser.c:2242
+ #, fuzzy, gcc-internal-format
+ msgid "invalid template-id"
+ msgstr "̵¸ú¤Ê·¿: `void &'"
+
+-#: cp/parser.c:2267
++#: cp/parser.c:2271
+ #, fuzzy, gcc-internal-format
+ msgid "%s cannot appear in a constant-expression"
+ msgstr "Äê¿ô¼°¤¬¥ª¡¼¥Ð¡¼¥Õ¥í¡¼¤·¤Þ¤·¤¿"
+
+-#: cp/parser.c:2292
++#: cp/parser.c:2296
+ #, fuzzy, gcc-internal-format
+ msgid "invalid use of template-name %qE without an argument list"
+ msgstr "̵¸ú¤Ê¥Ç¥Õ¥©¥ë¥È¥Æ¥ó¥×¥ì¡¼¥È°ú¿ô"
+
+-#: cp/parser.c:2294
++#: cp/parser.c:2298
+ #, fuzzy, gcc-internal-format
+ msgid "invalid use of destructor %qD as a type"
+ msgstr "`restrict' ¤ÎÍÑË¡¤¬ÉÔŬÀڤǤ¹"
+
+ #. Something like 'unsigned A a;'
+-#: cp/parser.c:2297
++#: cp/parser.c:2301
+ #, gcc-internal-format
+ msgid "invalid combination of multiple type-specifiers"
+ msgstr ""
+
+ #. Issue an error message.
+-#: cp/parser.c:2301
++#: cp/parser.c:2305
+ #, gcc-internal-format
+ msgid "%qE does not name a type"
+ msgstr ""
+
+-#: cp/parser.c:2333
++#: cp/parser.c:2337
+ #, gcc-internal-format
+ msgid "(perhaps %<typename %T::%E%> was intended)"
+ msgstr ""
+
+-#: cp/parser.c:2348
++#: cp/parser.c:2352
+ #, gcc-internal-format
+ msgid "%qE in namespace %qE does not name a type"
+ msgstr ""
+
+-#: cp/parser.c:2351
++#: cp/parser.c:2355
+ #, gcc-internal-format
+ msgid "%qE in class %qT does not name a type"
+ msgstr ""
+
+-#: cp/parser.c:3160
++#: cp/parser.c:3164
+ #, gcc-internal-format
+ msgid "ISO C++ forbids braced-groups within expressions"
+ msgstr "ISO C++ ¤Ï¥Ö¥ì¡¼¥¹¤Ç¤Þ¤È¤á¤é¤ì¤¿¼°¤ò¶Ø¤¸¤Þ¤¹"
+
+-#: cp/parser.c:3171
++#: cp/parser.c:3175
+ #, gcc-internal-format
+ msgid "statement-expressions are not allowed outside functions nor in template-argument lists"
+ msgstr ""
+
+-#: cp/parser.c:3229
++#: cp/parser.c:3233
+ #, fuzzy, gcc-internal-format
+ msgid "%<this%> may not be used in this context"
+ msgstr "¥Þ¥¯¥í°ú¿ôÆâ¤Ç¥Ç¥£¥ì¥¯¥È¥ê¤ò»È¤¦¤³¤È¤Ï¤Ç¤­¤Þ¤»¤ó"
+
+-#: cp/parser.c:3412
++#: cp/parser.c:3416
+ #, gcc-internal-format
+ msgid "local variable %qD may not appear in this context"
+ msgstr ""
+
+-#: cp/parser.c:3711
++#: cp/parser.c:3715
+ #, gcc-internal-format
+ msgid "scope %qT before %<~%> is not a class-name"
+ msgstr ""
+
+-#: cp/parser.c:3812
++#: cp/parser.c:3816
+ #, fuzzy, gcc-internal-format
+ msgid "declaration of %<~%T%> as member of %qT"
+ msgstr "`%s' ¤ÎÀë¸À¤Ë¤è¤ê `this' ¤Î¥á¥ó¥Ð¤¬Ê¤¤¤±£¤µ¤ì¤Þ¤¹"
+
+-#: cp/parser.c:3826
++#: cp/parser.c:3830
+ #, gcc-internal-format
+ msgid "typedef-name %qD used as destructor declarator"
+ msgstr ""
+
+-#: cp/parser.c:4480
++#: cp/parser.c:4484
+ #, fuzzy, gcc-internal-format
+ msgid "ISO C++ forbids compound-literals"
+ msgstr "ISO C++ ¤ÏÊ£¹ç¥ê¥Æ¥é¥ë¤ò¶Ø¤¸¤Þ¤¹"
+
+-#: cp/parser.c:4837
++#: cp/parser.c:4841
+ #, gcc-internal-format
+ msgid "%qE does not have class type"
+ msgstr ""
+
+-#: cp/parser.c:4920 cp/typeck.c:1978
++#: cp/parser.c:4924 cp/typeck.c:2024
+ #, fuzzy, gcc-internal-format
+ msgid "invalid use of %qD"
+ msgstr "`restrict' ¤ÎÍÑË¡¤¬ÉÔŬÀڤǤ¹"
+
+-#: cp/parser.c:5480
++#: cp/parser.c:5486
+ #, gcc-internal-format
+ msgid "array bound forbidden after parenthesized type-id"
+ msgstr ""
+
+-#: cp/parser.c:5481
++#: cp/parser.c:5487
+ #, gcc-internal-format
+ msgid "try removing the parentheses around the type-id"
+ msgstr ""
+
+-#: cp/parser.c:5671
++#: cp/parser.c:5677
+ #, fuzzy, gcc-internal-format
+ msgid "expression in new-declarator must have integral or enumeration type"
+ msgstr "ÇÛÎó new ¤Ç¤Î¥µ¥¤¥º¤Ï´°Á´¤Ê·¿¤ò»ý¤¿¤Í¤Ð¤Ê¤ê¤Þ¤»¤ó"
+
+-#: cp/parser.c:5860
++#: cp/parser.c:5866
+ #, gcc-internal-format
+ msgid "use of old-style cast"
+ msgstr "¸Å¤¤¥¹¥¿¥¤¥ë¤Î¥­¥ã¥¹¥È¤ò»ÈÍѤ·¤Æ¤¤¤Þ¤¹"
+
+-#: cp/parser.c:5986
++#: cp/parser.c:5992
+ #, gcc-internal-format
+ msgid "%H%<>>%> operator will be treated as two right angle brackets in C++0x"
+ msgstr ""
+
+-#: cp/parser.c:5989
++#: cp/parser.c:5995
+ #, fuzzy, gcc-internal-format
+ msgid "suggest parentheses around %<>>%> expression"
+ msgstr "|| ¤È¶¦¤Ë»È¤ï¤ì¤ë && ¤Î¼þ¤ê¤Ç¤Ï³ç¸Ì¤ò¤Ä¤±¤ë¤³¤È¤ò¤ª´«¤á¤·¤Þ¤¹"
+
+-#: cp/parser.c:6793
++#: cp/parser.c:6799
+ #, fuzzy, gcc-internal-format
+ msgid "case label %qE not within a switch statement"
+ msgstr "case ¥é¥Ù¥ë¤¬ switch ʸ¤ÎÃæ¤Ë¤¢¤ê¤Þ¤»¤ó"
+
+-#: cp/parser.c:6922
++#: cp/parser.c:6928
+ #, gcc-internal-format
+ msgid "%<else%> without a previous %<if%>"
+ msgstr ""
+
+-#: cp/parser.c:7208
++#: cp/parser.c:7214
+ #, gcc-internal-format
+ msgid "suggest a space before %<;%> or explicit braces around empty body in %<%s%> statement"
+ msgstr ""
+
+-#: cp/parser.c:7468
++#: cp/parser.c:7474
+ #, gcc-internal-format
+ msgid "ISO C++ forbids computed gotos"
+ msgstr "ISO C++ ¤Ï·×»»·¿ goto ¤ò¶Ø¤¸¤Þ¤¹"
+
+-#: cp/parser.c:7608
++#: cp/parser.c:7614
+ #, gcc-internal-format
+ msgid "extra %<;%>"
+ msgstr ""
+
+-#: cp/parser.c:7825
++#: cp/parser.c:7831
+ #, gcc-internal-format
+ msgid "%<__label__%> not at the beginning of a block"
+ msgstr ""
+
+-#: cp/parser.c:7958
++#: cp/parser.c:7964
+ #, gcc-internal-format
+ msgid "mixing declarations and function-definitions is forbidden"
+ msgstr ""
+
+-#: cp/parser.c:8090
++#: cp/parser.c:8096
+ #, gcc-internal-format
+ msgid "%<friend%> used outside of class"
+ msgstr ""
+
+-#: cp/parser.c:8244
++#: cp/parser.c:8250
+ #, fuzzy, gcc-internal-format
+ msgid "class definition may not be declared a friend"
+ msgstr "`%s' ¤Ï´Ø¿ô¤Ç¤â¥á¥ó¥Ð´Ø¿ô¤Ç¤â¤¢¤ê¤Þ¤»¤ó -- friend ¤È¤ÏÀë¸À¤Ç¤­¤Þ¤»¤ó"
+
+-#: cp/parser.c:8308 cp/parser.c:15155
++#: cp/parser.c:8314 cp/parser.c:15235
+ #, gcc-internal-format
+ msgid "templates may not be %<virtual%>"
+ msgstr ""
+
+-#: cp/parser.c:8775
++#: cp/parser.c:8786
+ #, gcc-internal-format
+ msgid "only constructors take base initializers"
+ msgstr "¥³¥ó¥¹¥È¥é¥¯¥¿¤·¤«´ðÄì½é´ü²½»Ò¥ê¥¹¥È¤ò¤È¤ê¤Þ¤»¤ó"
+
+-#: cp/parser.c:8795
++#: cp/parser.c:8806
+ #, fuzzy, gcc-internal-format
+ msgid "cannot expand initializer for member %<%D%>"
+ msgstr "¥á¥ó¥Ð `%s' ¤ËÂФ¹¤ë̵¸ú¤Ê½é´üÃÍ"
+
+-#: cp/parser.c:8847
++#: cp/parser.c:8858
+ #, fuzzy, gcc-internal-format
+ msgid "anachronistic old-style base class initializer"
+ msgstr "Á°»þÂåŪ¤Ê¸Å¤¤¥¹¥¿¥¤¥ë¤Î´ðÄ쥯¥é¥¹½é´ü²½»Ò¤Ç¤¹"
+
+-#: cp/parser.c:8892
++#: cp/parser.c:8903
+ #, gcc-internal-format
+ msgid "keyword %<typename%> not allowed in this context (a qualified member initializer is implicitly a type)"
+ msgstr ""
+
+ #. Warn that we do not support `export'.
+-#: cp/parser.c:9237
++#: cp/parser.c:9248
+ #, gcc-internal-format
+ msgid "keyword %<export%> not implemented, and will be ignored"
+ msgstr ""
+
+-#: cp/parser.c:9482 cp/parser.c:9583
++#: cp/parser.c:9419 cp/parser.c:9517 cp/parser.c:9618
+ #, gcc-internal-format
+ msgid "template parameter pack %qD cannot have a default argument"
+ msgstr ""
+
+-#: cp/parser.c:9485 cp/parser.c:9586
++#: cp/parser.c:9422
++#, gcc-internal-format
++msgid "template parameter pack cannot have a default argument"
++msgstr ""
++
++#: cp/parser.c:9520 cp/parser.c:9621
+ #, fuzzy, gcc-internal-format
+ msgid "template parameter packs cannot have default arguments"
+ msgstr "strftime ¥Õ¥©¡¼¥Þ¥Ã¥È¤Ï°ú¿ô¤ò¥Õ¥©¡¼¥Þ¥Ã¥È¤Ç¤­¤Þ¤»¤ó"
+
+ #. Otherwise, emit an error about the invalid digraph, but continue
+ #. parsing because we got our argument list.
+-#: cp/parser.c:9723
++#: cp/parser.c:9758
+ #, gcc-internal-format
+ msgid "%<<::%> cannot begin a template-argument list"
+ msgstr ""
+
+-#: cp/parser.c:9724
++#: cp/parser.c:9759
+ #, gcc-internal-format
+ msgid "%<<:%> is an alternate spelling for %<[%>. Insert whitespace between %<<%> and %<::%>"
+ msgstr ""
+
+-#: cp/parser.c:9731
++#: cp/parser.c:9766
+ #, gcc-internal-format
+ msgid "(if you use -fpermissive G++ will accept your code)"
+ msgstr ""
+
+-#: cp/parser.c:9804
++#: cp/parser.c:9839
+ #, fuzzy, gcc-internal-format
+ msgid "parse error in template argument list"
+ msgstr "¥Þ¥¯¥í°ú¿ô¥ê¥¹¥È¤Ë¤¢¤êÆÀ¤Ê¤¤¥È¡¼¥¯¥ó"
+
+ #. Explain what went wrong.
+-#: cp/parser.c:9917
++#: cp/parser.c:9952
+ #, gcc-internal-format
+ msgid "non-template %qD used as template"
+ msgstr ""
+
+-#: cp/parser.c:9918
++#: cp/parser.c:9953
+ #, gcc-internal-format
+ msgid "use %<%T::template %D%> to indicate that it is a template"
+ msgstr ""
+
+-#: cp/parser.c:10441
++#: cp/parser.c:10476
+ #, gcc-internal-format
+ msgid "template specialization with C linkage"
+ msgstr ""
+
+-#: cp/parser.c:11032
++#: cp/parser.c:11067
+ #, gcc-internal-format
+ msgid "using %<typename%> outside of template"
+ msgstr ""
+
+-#: cp/parser.c:11191
++#: cp/parser.c:11226
+ #, fuzzy, gcc-internal-format
+ msgid "declaration %qD does not declare anything"
+ msgstr "Àë¸À¤¬²¿¤âÀë¸À¤·¤Æ¤¤¤Þ¤»¤ó"
+
+-#: cp/parser.c:11275
++#: cp/parser.c:11310
+ #, fuzzy, gcc-internal-format
+ msgid "attributes ignored on uninstantiated type"
+ msgstr "¥¤¥ó¥¹¥¿¥ó¥¹²½¤µ¤ì¤Ê¤¤·¿¤ËÂФ¹¤ë̵¸ú¤ÊÁàºî¤Ç¤¹"
+
+-#: cp/parser.c:11279
++#: cp/parser.c:11314
+ #, fuzzy, gcc-internal-format
+ msgid "attributes ignored on template instantiation"
+ msgstr "¼«Æ°¥Æ¥ó¥×¥ì¡¼¥È¼ÂÂ⽤òÍ­¸ú¤Ë¤¹¤ë"
+
+-#: cp/parser.c:11284
++#: cp/parser.c:11319
+ #, gcc-internal-format
+ msgid "attributes ignored on elaborated-type-specifier that is not a forward declaration"
+ msgstr ""
+
+-#: cp/parser.c:11406
++#: cp/parser.c:11441
+ #, gcc-internal-format
+ msgid "comma at end of enumerator list"
+ msgstr "Îóµó»Ò¥ê¥¹¥È¤ÎºÇ¸å¤Ë¥«¥ó¥Þ¤¬¤¢¤ê¤Þ¤¹"
+
+-#: cp/parser.c:11498
++#: cp/parser.c:11533
+ #, fuzzy, gcc-internal-format
+ msgid "%qD is not a namespace-name"
+ msgstr "\"%s\" ¤ÏÀµ¾ï¤Ê¥Õ¥¡¥¤¥ë̾¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó"
+
+-#: cp/parser.c:11599
++#: cp/parser.c:11634
+ #, gcc-internal-format
+ msgid "%<namespace%> definition is not allowed here"
+ msgstr ""
+@@ -31021,142 +31024,157 @@
+ #. [namespace.udecl]
+ #.
+ #. A using declaration shall not name a template-id.
+-#: cp/parser.c:11738
++#: cp/parser.c:11773
+ #, gcc-internal-format
+ msgid "a template-id may not appear in a using-declaration"
+ msgstr ""
+
+-#: cp/parser.c:12094
++#: cp/parser.c:12135
+ #, fuzzy, gcc-internal-format
+ msgid "an asm-specification is not allowed on a function-definition"
+ msgstr "½é´ü²½»Ò¥ê¥¹¥È¤ÏÈó¥á¥ó¥Ð´Ø¿ô¤Ç¤Ï»È¤¨¤Þ¤»¤ó"
+
+-#: cp/parser.c:12096
++#: cp/parser.c:12137
+ #, fuzzy, gcc-internal-format
+ msgid "attributes are not allowed on a function-definition"
+ msgstr "Âç°è register ÊÑ¿ô¤¬´Ø¿ôÄêµÁ¤Î¸å¤í¤Ë¤¢¤ê¤Þ¤¹"
+
+-#: cp/parser.c:12229
++#: cp/parser.c:12270
+ #, fuzzy, gcc-internal-format
+ msgid "initializer provided for function"
+ msgstr "friend ´Ø¿ô `%s' ¤ò½é´ü²½¤Ç¤­¤Þ¤»¤ó"
+
+-#: cp/parser.c:12249
++#: cp/parser.c:12290
+ #, gcc-internal-format
+ msgid "attributes after parenthesized initializer ignored"
+ msgstr ""
+
+-#: cp/parser.c:12630 cp/pt.c:8772
++#: cp/parser.c:12671 cp/pt.c:8893
+ #, fuzzy, gcc-internal-format
+ msgid "array bound is not an integer constant"
+ msgstr "ÇÛÎó¤Îź»ú¤¬À°¿ô·¿¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó"
+
+-#: cp/parser.c:12739
++#: cp/parser.c:12780
+ #, gcc-internal-format
+ msgid "%<%T::%E%> is not a type"
+ msgstr ""
+
+-#: cp/parser.c:12765
++#: cp/parser.c:12806
+ #, fuzzy, gcc-internal-format
+ msgid "invalid use of constructor as a template"
+ msgstr "¥È¥Ã¥×¥ì¥Ù¥ë¤Ç¤Î `this' ¤Î»ÈÍѤÏ̵¸ú¤Ç¤¹"
+
+-#: cp/parser.c:12766
++#: cp/parser.c:12807
+ #, gcc-internal-format
+ msgid "use %<%T::%D%> instead of %<%T::%D%> to name the constructor in a qualified name"
+ msgstr ""
+
+-#: cp/parser.c:12938
++#: cp/parser.c:12979
+ #, gcc-internal-format
+ msgid "%qD is a namespace"
+ msgstr ""
+
+-#: cp/parser.c:13013
++#: cp/parser.c:13054
+ #, fuzzy, gcc-internal-format
+ msgid "duplicate cv-qualifier"
+ msgstr "½ÅÊ£¤·¤¿ case ¤ÎÃÍ"
+
+-#: cp/parser.c:13600
++#: cp/parser.c:13640
+ #, fuzzy, gcc-internal-format
+ msgid "file ends in default argument"
+ msgstr "̵¸ú¤Ê¥Ç¥Õ¥©¥ë¥È¥Æ¥ó¥×¥ì¡¼¥È°ú¿ô"
+
+-#: cp/parser.c:13673
++#: cp/parser.c:13683
+ #, gcc-internal-format
+ msgid "deprecated use of default argument for parameter of non-function"
+ msgstr ""
+
+-#: cp/parser.c:13676
++#: cp/parser.c:13686
+ #, fuzzy, gcc-internal-format
+ msgid "default arguments are only permitted for function parameters"
+ msgstr "¥á¥½¥Ã¥É¤Ï´Ø¿ô¥Ý¥¤¥ó¥¿¤ËÊÑ´¹¤Ç¤­¤Þ¤»¤ó"
+
+-#: cp/parser.c:13877
++#: cp/parser.c:13702
++#, gcc-internal-format
++msgid "%sparameter pack %qD cannot have a default argument"
++msgstr ""
++
++#: cp/parser.c:13705
++#, gcc-internal-format
++msgid "%sparameter pack cannot have a default argument"
++msgstr ""
++
++#: cp/parser.c:13947
+ #, fuzzy, gcc-internal-format
+ msgid "ISO C++ does not allow designated initializers"
+ msgstr "ISO C++ ¤Ï̾Á°¤Ä¤­Ìá¤êÃͤòµö²Ä¤·¤Þ¤»¤ó"
+
+-#: cp/parser.c:14477
++#: cp/parser.c:14547
+ #, fuzzy, gcc-internal-format
+ msgid "invalid class name in declaration of %qD"
+ msgstr "`%s' ¤ÎÀë¸À¤Ë¤ª¤¤¤ÆÊ£¿ô¤ÎÊݸ¥¯¥é¥¹"
+
+-#: cp/parser.c:14489
++#: cp/parser.c:14559
+ #, gcc-internal-format
+ msgid "declaration of %qD in namespace %qD which does not enclose %qD"
+ msgstr ""
+
+-#: cp/parser.c:14492
++#: cp/parser.c:14562
+ #, gcc-internal-format
+ msgid "declaration of %qD in %qD which does not enclose %qD"
+ msgstr ""
+
+-#: cp/parser.c:14505
++#: cp/parser.c:14575
+ #, gcc-internal-format
+ msgid "extra qualification ignored"
+ msgstr ""
+
+-#: cp/parser.c:14516
++#: cp/parser.c:14586
+ #, gcc-internal-format
+ msgid "an explicit specialization must be preceded by %<template <>%>"
+ msgstr ""
+
+-#: cp/parser.c:14609
++#: cp/parser.c:14613
++#, gcc-internal-format
++msgid "function template %qD redeclared as a class template"
++msgstr ""
++
++#: cp/parser.c:14689
+ #, fuzzy, gcc-internal-format
+ msgid "previous definition of %q+#T"
+ msgstr "Á°Êý¤Ç¤Î `%s' ¤ÎÀë¸À"
+
+-#: cp/parser.c:14855
++#: cp/parser.c:14935
+ #, gcc-internal-format
+ msgid "%Hextra %<;%>"
+ msgstr ""
+
+-#: cp/parser.c:14873
++#: cp/parser.c:14953
+ #, gcc-internal-format
+ msgid "a class-key must be used when declaring a friend"
+ msgstr ""
+
+-#: cp/parser.c:14887
++#: cp/parser.c:14967
+ #, fuzzy, gcc-internal-format
+ msgid "friend declaration does not name a class or function"
+ msgstr "friend Àë¸À¤¬¥¯¥é¥¹ÄêµÁ¤ÎÃæ¤Ë¤¢¤ê¤Þ¤»¤ó"
+
+-#: cp/parser.c:15064
++#: cp/parser.c:15144
+ #, gcc-internal-format
+ msgid "pure-specifier on function-definition"
+ msgstr ""
+
+-#: cp/parser.c:15356
++#: cp/parser.c:15438
+ #, gcc-internal-format
+ msgid "keyword %<typename%> not allowed outside of templates"
+ msgstr ""
+
+-#: cp/parser.c:15358
++#: cp/parser.c:15440
+ #, gcc-internal-format
+ msgid "keyword %<typename%> not allowed in this context (the base class is implicitly a type)"
+ msgstr ""
+
+-#: cp/parser.c:16407
++#: cp/parser.c:16489
+ #, gcc-internal-format
+ msgid "too few template-parameter-lists"
+ msgstr ""
+@@ -31165,13 +31183,13 @@
+ #. something like:
+ #.
+ #. template <class T> template <class U> void S::f();
+-#: cp/parser.c:16422
++#: cp/parser.c:16504
+ #, gcc-internal-format
+ msgid "too many template-parameter-lists"
+ msgstr ""
+
+ #. Issue an error message.
+-#: cp/parser.c:16694
++#: cp/parser.c:16776
+ #, fuzzy, gcc-internal-format
+ msgid "named return values are no longer supported"
+ msgstr "--driver ¤ÏºÇÁ᥵¥Ý¡¼¥È¤µ¤ì¤Þ¤»¤ó"
+@@ -31179,236 +31197,236 @@
+ #. 14.5.2.2 [temp.mem]
+ #.
+ #. A local class shall not have member templates.
+-#: cp/parser.c:16766
++#: cp/parser.c:16848
+ #, gcc-internal-format
+ msgid "invalid declaration of member template in local class"
+ msgstr ""
+
+-#: cp/parser.c:16775
++#: cp/parser.c:16857
+ #, gcc-internal-format
+ msgid "template with C linkage"
+ msgstr ""
+
+-#: cp/parser.c:16919
++#: cp/parser.c:17001
+ #, fuzzy, gcc-internal-format
+ msgid "template declaration of %qs"
+ msgstr "`%s' ¤¬ºÆÀë¸À¤µ¤ì¤Þ¤·¤¿"
+
+-#: cp/parser.c:16982
++#: cp/parser.c:17064
+ #, gcc-internal-format
+ msgid "explicit template specialization cannot have a storage class"
+ msgstr ""
+
+-#: cp/parser.c:17171
++#: cp/parser.c:17253
+ #, gcc-internal-format
+ msgid "%H%<>>%> should be %<> >%> within a nested template argument list"
+ msgstr ""
+
+-#: cp/parser.c:17184
++#: cp/parser.c:17266
+ #, gcc-internal-format
+ msgid "spurious %<>>%>, use %<>%> to terminate a template argument list"
+ msgstr ""
+
+-#: cp/parser.c:17519
++#: cp/parser.c:17601
+ #, fuzzy, gcc-internal-format
+ msgid "invalid use of %qD in linkage specification"
+ msgstr "¥Æ¥ó¥×¥ì¡¼¥È·¿Åý°ìÃæ `%s' ¤¬»ÈÍѤµ¤ì¤Þ¤·¤¿"
+
+-#: cp/parser.c:17532
++#: cp/parser.c:17614
+ #, gcc-internal-format
+ msgid "%<__thread%> before %qD"
+ msgstr ""
+
+-#: cp/parser.c:17847
++#: cp/parser.c:17929
+ #, gcc-internal-format
+ msgid "%qs tag used in naming %q#T"
+ msgstr ""
+
+-#: cp/parser.c:17868
++#: cp/parser.c:17950
+ #, fuzzy, gcc-internal-format
+ msgid "%qD redeclared with different access"
+ msgstr "`%s' ¤¬Ê̤Υ·¥ó¥Ü¥ë¼ï¤È¤·¤ÆºÆÀë¸À¤µ¤ì¤Þ¤·¤¿"
+
+-#: cp/parser.c:17885
++#: cp/parser.c:17967
+ #, gcc-internal-format
+ msgid "%<template%> (as a disambiguator) is only allowed within templates"
+ msgstr ""
+
+-#: cp/parser.c:18138 cp/parser.c:19061 cp/parser.c:19192
++#: cp/parser.c:18220 cp/parser.c:19143 cp/parser.c:19274
+ #, gcc-internal-format
+ msgid "misplaced %<@%D%> Objective-C++ construct"
+ msgstr ""
+
+-#: cp/parser.c:18279
++#: cp/parser.c:18361
+ #, gcc-internal-format
+ msgid "%<@encode%> must specify a type as an argument"
+ msgstr ""
+
+-#: cp/parser.c:18594
++#: cp/parser.c:18676
+ #, gcc-internal-format
+ msgid "invalid Objective-C++ selector name"
+ msgstr ""
+
+-#: cp/parser.c:18925
++#: cp/parser.c:19007
+ #, fuzzy, gcc-internal-format
+ msgid "identifier expected after %<@protocol%>"
+ msgstr "¼±Ê̻Ҥ¬É¬ÍפǤ¹"
+
+-#: cp/parser.c:19626
++#: cp/parser.c:19708
+ #, gcc-internal-format
+ msgid "schedule %<runtime%> does not take a %<chunk_size%> parameter"
+ msgstr ""
+
+-#: cp/parser.c:19735
++#: cp/parser.c:19824
+ #, fuzzy, gcc-internal-format
+ msgid "%qs is not valid for %qs"
+ msgstr "\"%s\" ¤ÏÀµ¾ï¤Ê¥Õ¥¡¥¤¥ë̾¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó"
+
+-#: cp/parser.c:20390
++#: cp/parser.c:20479
+ #, fuzzy, gcc-internal-format
+ msgid "junk at end of %<#pragma GCC pch_preprocess%>"
+ msgstr "#pragma GCC java_exceptions ¤ÎËöÈø¤Ë¥´¥ß"
+
+-#: cp/parser.c:20477
++#: cp/parser.c:20566
+ #, gcc-internal-format
+ msgid "%<#pragma omp section%> may only be used in %<#pragma omp sections%> construct"
+ msgstr ""
+
+-#: cp/parser.c:20535
++#: cp/parser.c:20624
+ #, fuzzy, gcc-internal-format
+ msgid "inter-module optimizations not implemented for C++"
+ msgstr "ret Ì¿Îá¤Ï¼ÂÁõ¤µ¤ì¤Æ¤¤¤Þ¤»¤ó"
+
+-#: cp/pt.c:249
++#: cp/pt.c:252
+ #, gcc-internal-format
+ msgid "data member %qD cannot be a member template"
+ msgstr ""
+
+-#: cp/pt.c:261
++#: cp/pt.c:264
+ #, fuzzy, gcc-internal-format
+ msgid "invalid member template declaration %qD"
+ msgstr "¥Ý¥¤¥ó¥¿Àë¸À»Ò¤ËÉÔŬÀڤʷ¿½¤¾þ»Ò"
+
+-#: cp/pt.c:609
++#: cp/pt.c:612
+ #, gcc-internal-format
+ msgid "explicit specialization in non-namespace scope %qD"
+ msgstr ""
+
+-#: cp/pt.c:623
++#: cp/pt.c:626
+ #, gcc-internal-format
+ msgid "enclosing class templates are not explicitly specialized"
+ msgstr ""
+
+-#: cp/pt.c:711
++#: cp/pt.c:714
+ #, gcc-internal-format
+ msgid "specialization of %qD in different namespace"
+ msgstr ""
+
+-#: cp/pt.c:712 cp/pt.c:809
++#: cp/pt.c:715 cp/pt.c:812
+ #, fuzzy, gcc-internal-format
+ msgid " from definition of %q+#D"
+ msgstr "`%s' ¤¬ºÆÄêµÁ¤µ¤ì¤Þ¤·¤¿"
+
+-#: cp/pt.c:729
++#: cp/pt.c:732
+ #, gcc-internal-format
+ msgid "explicit instantiation of %qD in namespace %qD (which does not enclose namespace %qD)"
+ msgstr ""
+
+-#: cp/pt.c:747
++#: cp/pt.c:750
+ #, gcc-internal-format
+ msgid "name of class shadows template template parameter %qD"
+ msgstr ""
+
+-#: cp/pt.c:776
++#: cp/pt.c:779
+ #, gcc-internal-format
+ msgid "specialization of %qT after instantiation"
+ msgstr ""
+
+-#: cp/pt.c:808
++#: cp/pt.c:811
+ #, gcc-internal-format
+ msgid "specializing %q#T in different namespace"
+ msgstr ""
+
+-#: cp/pt.c:823
++#: cp/pt.c:826
+ #, gcc-internal-format
+ msgid "specialization %qT after instantiation %qT"
+ msgstr ""
+
+-#: cp/pt.c:836
++#: cp/pt.c:839
+ #, fuzzy, gcc-internal-format
+ msgid "explicit specialization of non-template %qT"
+ msgstr "¥¤¥ó¥é¥¤¥ó¥Æ¥ó¥×¥ì¡¼¥È¤ÎÌÀ¼¨Åª¤Ê¼ÂÂβ½¤Î¤ß¤òÀ¸À®¤¹¤ë"
+
+-#: cp/pt.c:1238
++#: cp/pt.c:1246
+ #, gcc-internal-format
+ msgid "specialization of %qD after instantiation"
+ msgstr ""
+
+-#: cp/pt.c:1464
++#: cp/pt.c:1472
+ #, fuzzy, gcc-internal-format
+ msgid "%qD is not a function template"
+ msgstr "¥­¥ã¥¹¥È¤Ë¤è¤ë´Ø¿ô¤Î·¿¤¬Å¬¹ç¤·¤Þ¤»¤ó"
+
+-#: cp/pt.c:1673
++#: cp/pt.c:1681
+ #, gcc-internal-format
+ msgid "template-id %qD for %q+D does not match any template declaration"
+ msgstr ""
+
+-#: cp/pt.c:1681
++#: cp/pt.c:1689
+ #, gcc-internal-format
+ msgid "ambiguous template specialization %qD for %q+D"
+ msgstr ""
+
+ #. This case handles bogus declarations like template <>
+ #. template <class T> void f<int>();
+-#: cp/pt.c:1916 cp/pt.c:1970
++#: cp/pt.c:1924 cp/pt.c:1978
+ #, fuzzy, gcc-internal-format
+ msgid "template-id %qD in declaration of primary template"
+ msgstr "`operator delete' ¤ÎÀë¸ÀÆâ¤Ë¿¤¹¤®¤ë°ú¿ô"
+
+-#: cp/pt.c:1929
++#: cp/pt.c:1937
+ #, fuzzy, gcc-internal-format
+ msgid "template parameter list used in explicit instantiation"
+ msgstr "#define Ãæ¤Î²¾°ú¿ô¥ê¥¹¥È¤¬½ªÃ¼¤µ¤ì¤Æ¤¤¤Þ¤»¤ó"
+
+-#: cp/pt.c:1935
++#: cp/pt.c:1943
+ #, gcc-internal-format
+ msgid "definition provided for explicit instantiation"
+ msgstr ""
+
+-#: cp/pt.c:1943
++#: cp/pt.c:1951
+ #, fuzzy, gcc-internal-format
+ msgid "too many template parameter lists in declaration of %qD"
+ msgstr "%s: ·Ù¹ð: `%s' ¤ÎÀë¸À¤Ç¤Î²¾°ú¿ô¥ê¥¹¥È¤¬Â¿¤¹¤®¤Þ¤¹\n"
+
+-#: cp/pt.c:1946
++#: cp/pt.c:1954
+ #, fuzzy, gcc-internal-format
+ msgid "too few template parameter lists in declaration of %qD"
+ msgstr ""
+ "\n"
+ "%s: ·Ù¹ð: `%s' ¤ÎÀë¸À¤Ç¤Î²¾°ú¿ô¥ê¥¹¥È¤¬¾¯¤Ê¤¹¤®¤Þ¤¹\n"
+
+-#: cp/pt.c:1948
++#: cp/pt.c:1956
+ #, gcc-internal-format
+ msgid "explicit specialization of %qD must be introduced by %<template <>%>"
+ msgstr ""
+
+-#: cp/pt.c:1967
++#: cp/pt.c:1975
+ #, gcc-internal-format
+ msgid "function template partial specialization %qD is not allowed"
+ msgstr ""
+
+-#: cp/pt.c:1999
++#: cp/pt.c:2007
+ #, gcc-internal-format
+ msgid "default argument specified in explicit specialization"
+ msgstr ""
+
+-#: cp/pt.c:2029
++#: cp/pt.c:2037
+ #, fuzzy, gcc-internal-format
+ msgid "%qD is not a template function"
+ msgstr "`%s' ¤ÏÄ̾Èó static ¤Ê´Ø¿ô¤Ç¤¹"
+
+-#: cp/pt.c:2037
++#: cp/pt.c:2045
+ #, gcc-internal-format
+ msgid "%qD is not declared in %qD"
+ msgstr ""
+@@ -31421,92 +31439,102 @@
+ #. program is ill-formed.
+ #.
+ #. Similar language is found in [temp.explicit].
+-#: cp/pt.c:2099
++#: cp/pt.c:2107
+ #, gcc-internal-format
+ msgid "specialization of implicitly-declared special member function"
+ msgstr ""
+
+-#: cp/pt.c:2143
++#: cp/pt.c:2151
+ #, fuzzy, gcc-internal-format
+ msgid "no member function %qD declared in %qT"
+ msgstr "¥Í¥¹¥È¤·¤¿´Ø¿ô `%s' ¤Ï `extern' ¤ËÀë¸À¤µ¤ì¤Þ¤·¤¿"
+
+-#: cp/pt.c:2642
++#: cp/pt.c:2628
+ #, gcc-internal-format
+ msgid "base initializer expansion %<%T%> contains no parameter packs"
+ msgstr ""
+
+-#: cp/pt.c:2701
++#: cp/pt.c:2687
+ #, gcc-internal-format
+ msgid "expansion pattern %<%T%> contains no argument packs"
+ msgstr ""
+
+-#: cp/pt.c:2703
++#: cp/pt.c:2689
+ #, gcc-internal-format
+ msgid "expansion pattern %<%E%> contains no argument packs"
+ msgstr ""
+
+-#: cp/pt.c:2745
++#: cp/pt.c:2730
+ #, gcc-internal-format
+ msgid "parameter packs not expanded with `...':"
+ msgstr ""
+
+-#: cp/pt.c:2760 cp/pt.c:3383
++#: cp/pt.c:2745 cp/pt.c:3361
+ #, gcc-internal-format
+ msgid " %qD"
+ msgstr ""
+
+-#: cp/pt.c:2762
++#: cp/pt.c:2747
+ #, fuzzy, gcc-internal-format
+ msgid " <anonymous>"
+ msgstr "<̵̾ %s>"
+
+-#: cp/pt.c:2875
++#: cp/pt.c:2852
+ #, fuzzy, gcc-internal-format
+ msgid "declaration of %q+#D"
+ msgstr "`%s' ¤¬ºÆÀë¸À¤µ¤ì¤Þ¤·¤¿"
+
+-#: cp/pt.c:2876
++#: cp/pt.c:2853
+ #, gcc-internal-format
+ msgid " shadows template parm %q+#D"
+ msgstr ""
+
+-#: cp/pt.c:3379
++#: cp/pt.c:3357
+ #, gcc-internal-format
+ msgid "template parameters not used in partial specialization:"
+ msgstr ""
+
+-#: cp/pt.c:3394
++#: cp/pt.c:3372
+ #, gcc-internal-format
+ msgid "partial specialization %qT does not specialize any template arguments"
+ msgstr ""
+
+-#: cp/pt.c:3439
++#: cp/pt.c:3417
+ #, gcc-internal-format
+ msgid "parameter pack argument %qE must be at the end of the template argument list"
+ msgstr ""
+
+-#: cp/pt.c:3441
++#: cp/pt.c:3419
+ #, gcc-internal-format
+ msgid "parameter pack argument %qT must be at the end of the template argument list"
+ msgstr ""
+
+-#: cp/pt.c:3462
++#: cp/pt.c:3440
+ #, gcc-internal-format
+ msgid "template argument %qE involves template parameter(s)"
+ msgstr ""
+
+-#: cp/pt.c:3505
++#: cp/pt.c:3484
+ #, gcc-internal-format
+ msgid "type %qT of template argument %qE depends on template parameter(s)"
+ msgstr ""
+
+-#: cp/pt.c:3611
++#: cp/pt.c:3591
+ #, fuzzy, gcc-internal-format
+ msgid "no default argument for %qD"
+ msgstr "¥Õ¥©¡¼¥Þ¥Ã¥È¤Ø¤Î°ú¿ô¤¬¾¯¤Ê¤¹¤®¤Þ¤¹"
+
+-#: cp/pt.c:3796
++#: cp/pt.c:3609
++#, fuzzy, gcc-internal-format
++msgid "parameter pack %qE must be at the end of the template parameter list"
++msgstr "²¾°ú¿ô¥ê¥¹¥È¤«¤é¤Î²¾°ú¿ô̾¤ò·ç¤¤¤Æ¤¤¤Þ¤¹"
++
++#: cp/pt.c:3612
++#, fuzzy, gcc-internal-format
++msgid "parameter pack %qT must be at the end of the template parameter list"
++msgstr "²¾°ú¿ô¥ê¥¹¥È¤«¤é¤Î²¾°ú¿ô̾¤ò·ç¤¤¤Æ¤¤¤Þ¤¹"
++
++#: cp/pt.c:3799
+ #, gcc-internal-format
+ msgid "template class without a name"
+ msgstr ""
+@@ -31514,7 +31542,7 @@
+ #. [temp.mem]
+ #.
+ #. A destructor shall not be a member template.
+-#: cp/pt.c:3804
++#: cp/pt.c:3807
+ #, gcc-internal-format
+ msgid "destructor %qD declared as member template"
+ msgstr ""
+@@ -31524,77 +31552,72 @@
+ #. An allocation function can be a function
+ #. template. ... Template allocation functions shall
+ #. have two or more parameters.
+-#: cp/pt.c:3819
++#: cp/pt.c:3822
+ #, fuzzy, gcc-internal-format
+ msgid "invalid template declaration of %qD"
+ msgstr "`%s' ¤Î extern Àë¸À¤¬¥Í¥¹¥È¤·¤Æ¤¤¤Þ¤¹"
+
+-#: cp/pt.c:3890
++#: cp/pt.c:3939
+ #, fuzzy, gcc-internal-format
+-msgid "parameter pack %qE must be at the end of the template parameter list"
+-msgstr "²¾°ú¿ô¥ê¥¹¥È¤«¤é¤Î²¾°ú¿ô̾¤ò·ç¤¤¤Æ¤¤¤Þ¤¹"
+-
+-#: cp/pt.c:3893
+-#, fuzzy, gcc-internal-format
+-msgid "parameter pack %qT must be at the end of the template parameter list"
+-msgstr "²¾°ú¿ô¥ê¥¹¥È¤«¤é¤Î²¾°ú¿ô̾¤ò·ç¤¤¤Æ¤¤¤Þ¤¹"
+-
+-#: cp/pt.c:3953
+-#, fuzzy, gcc-internal-format
+ msgid "template definition of non-template %q#D"
+ msgstr "¥¤¥ó¥¹¥¿¥ó¥¹¥á¥½¥Ã¥É `%s' ¤ÎÄêµÁ¤¬½ÅÊ£¤·¤Æ¤¤¤Þ¤¹¡£"
+
+-#: cp/pt.c:3996
++#: cp/pt.c:3982
+ #, gcc-internal-format
+ msgid "expected %d levels of template parms for %q#D, got %d"
+ msgstr ""
+
+-#: cp/pt.c:4008
++#: cp/pt.c:3994
+ #, gcc-internal-format
+ msgid "got %d template parameters for %q#D"
+ msgstr ""
+
+-#: cp/pt.c:4011
++#: cp/pt.c:3997
+ #, gcc-internal-format
+ msgid "got %d template parameters for %q#T"
+ msgstr ""
+
+-#: cp/pt.c:4013
++#: cp/pt.c:3999
+ #, gcc-internal-format
+ msgid " but %d required"
+ msgstr ""
+
+-#: cp/pt.c:4031
++#: cp/pt.c:4017
+ #, gcc-internal-format
+ msgid "template arguments to %qD do not match original template %qD"
+ msgstr ""
+
+-#: cp/pt.c:4035
++#: cp/pt.c:4021
+ #, gcc-internal-format
+ msgid "use template<> for an explicit specialization"
+ msgstr ""
+
+-#: cp/pt.c:4131
++#: cp/pt.c:4117
+ #, fuzzy, gcc-internal-format
+ msgid "%qT is not a template type"
+ msgstr "`%s' ¤ÏÉÔ´°Á´·¿¤Ç¤¹"
+
+-#: cp/pt.c:4144
++#: cp/pt.c:4130
+ #, fuzzy, gcc-internal-format
+ msgid "template specifiers not specified in declaration of %qD"
+ msgstr "friend ´Ø¿ôÀë¸ÀÆâ¤Îµ­²±¥¯¥é¥¹»ØÄê»Ò¤Ï̵¸ú¤Ç¤¹"
+
+-#: cp/pt.c:4155
+-#, fuzzy, gcc-internal-format
+-msgid "used %d template parameter(s) instead of %d"
+-msgstr "½ÅÊ£¤·¤¿²¾°ú¿ô̾ `%s'"
++#: cp/pt.c:4140
++#, gcc-internal-format
++msgid "redeclared with %d template parameter(s)"
++msgstr ""
+
+-#: cp/pt.c:4184
++#: cp/pt.c:4142
++#, gcc-internal-format
++msgid "previous declaration %q+D used %d template parameter(s)"
++msgstr ""
++
++#: cp/pt.c:4176
+ #, fuzzy, gcc-internal-format
+ msgid "template parameter %q+#D"
+ msgstr "¥Þ¥¯¥í²¾°ú¿ô \"%s\" ¤¬½ÅÊ£¤·¤Æ¤¤¤Þ¤¹"
+
+-#: cp/pt.c:4185
++#: cp/pt.c:4177
+ #, gcc-internal-format
+ msgid "redeclared here as %q#D"
+ msgstr ""
+@@ -31603,182 +31626,182 @@
+ #.
+ #. A template-parameter may not be given default arguments
+ #. by two different declarations in the same scope.
+-#: cp/pt.c:4195
++#: cp/pt.c:4187
+ #, gcc-internal-format
+ msgid "redefinition of default argument for %q#D"
+ msgstr ""
+
+-#: cp/pt.c:4196
+-#, gcc-internal-format
+-msgid "%J original definition appeared here"
+-msgstr ""
++#: cp/pt.c:4188
++#, fuzzy, gcc-internal-format
++msgid "%Joriginal definition appeared here"
++msgstr "´Ø¿ô¤ÎÄêµÁ¤¬ `typedef' ¤ÈÀë¸À¤µ¤ì¤Þ¤·¤¿"
+
+-#: cp/pt.c:4300
++#: cp/pt.c:4292
+ #, gcc-internal-format
+ msgid "%qE is not a valid template argument for type %qT because function %qD has not external linkage"
+ msgstr ""
+
+-#: cp/pt.c:4341
++#: cp/pt.c:4333
+ #, 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.c:4418
++#: cp/pt.c:4410
+ #, gcc-internal-format
+ msgid "%qE is not a valid template argument for type %qT because it is a non-constant expression"
+ msgstr ""
+
+-#: cp/pt.c:4462
++#: cp/pt.c:4454
+ #, 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.c:4480
++#: cp/pt.c:4472
+ #, gcc-internal-format
+ msgid "%qE is not a valid template argument of type %qT because %qE is not a variable"
+ msgstr ""
+
+-#: cp/pt.c:4487
++#: cp/pt.c:4479
+ #, gcc-internal-format
+ msgid "%qE is not a valid template argument of type %qT because %qD does not have external linkage"
+ msgstr ""
+
+-#: cp/pt.c:4517
++#: cp/pt.c:4509
+ #, gcc-internal-format
+ msgid "%qE is not a valid template argument for type %qT because of conflicts in cv-qualification"
+ msgstr ""
+
+-#: cp/pt.c:4524
++#: cp/pt.c:4516
+ #, gcc-internal-format
+ msgid "%qE is not a valid template argument for type %qT because it is not an lvalue"
+ msgstr ""
+
+-#: cp/pt.c:4537
++#: cp/pt.c:4529
+ #, gcc-internal-format
+ msgid "%qE is not a valid template argument for type %qT because object %qD has not external linkage"
+ msgstr ""
+
+-#: cp/pt.c:4577
++#: cp/pt.c:4569
+ #, gcc-internal-format
+ msgid "%qE is not a valid template argument for type %qT because it is a pointer"
+ msgstr ""
+
+-#: cp/pt.c:4579
++#: cp/pt.c:4571
+ #, gcc-internal-format
+ msgid "try using %qE instead"
+ msgstr ""
+
+-#: cp/pt.c:4614
++#: cp/pt.c:4606
+ #, gcc-internal-format
+ msgid "%qE is not a valid template argument for type %qT because it is of type %qT"
+ msgstr ""
+
+-#: cp/pt.c:4617
++#: cp/pt.c:4609
+ #, fuzzy, gcc-internal-format
+ msgid "standard conversions are not allowed in this context"
+ msgstr "#if ¼°¤ÎÃæ¤Ç¤Ïʸ»úÎóÄê¿ô¤¬»È¤¨¤Þ¤»¤ó"
+
+-#: cp/pt.c:4797
++#: cp/pt.c:4860
+ #, gcc-internal-format
+ msgid "to refer to a type member of a template parameter, use %<typename %E%>"
+ msgstr ""
+
+-#: cp/pt.c:4813 cp/pt.c:4832 cp/pt.c:4882
++#: cp/pt.c:4876 cp/pt.c:4895 cp/pt.c:4945
+ #, gcc-internal-format
+ msgid "type/value mismatch at argument %d in template parameter list for %qD"
+ msgstr ""
+
+-#: cp/pt.c:4817
++#: cp/pt.c:4880
+ #, gcc-internal-format
+ msgid " expected a constant of type %qT, got %qT"
+ msgstr ""
+
+-#: cp/pt.c:4821
++#: cp/pt.c:4884
+ #, gcc-internal-format
+ msgid " expected a class template, got %qE"
+ msgstr ""
+
+-#: cp/pt.c:4823
++#: cp/pt.c:4886
+ #, fuzzy, gcc-internal-format
+ msgid " expected a type, got %qE"
+ msgstr "ͽ´ü¤·¤Ê¤¤·¿¤¬ `id' (%s) ¤Ë»ØÄꤵ¤ì¤Þ¤·¤¿"
+
+-#: cp/pt.c:4836
++#: cp/pt.c:4899
+ #, fuzzy, gcc-internal-format
+ msgid " expected a type, got %qT"
+ msgstr "ͽ´ü¤·¤Ê¤¤·¿¤¬ `id' (%s) ¤Ë»ØÄꤵ¤ì¤Þ¤·¤¿"
+
+-#: cp/pt.c:4838
++#: cp/pt.c:4901
+ #, gcc-internal-format
+ msgid " expected a class template, got %qT"
+ msgstr ""
+
+-#: cp/pt.c:4885
++#: cp/pt.c:4948
+ #, gcc-internal-format
+ msgid " expected a template of type %qD, got %qD"
+ msgstr ""
+
+-#: cp/pt.c:4928
++#: cp/pt.c:4991
+ #, gcc-internal-format
+ msgid "could not convert template argument %qE to %qT"
+ msgstr ""
+
+-#: cp/pt.c:4984
++#: cp/pt.c:5047
+ #, gcc-internal-format
+ msgid "wrong number of template arguments (%d, should be %d)"
+ msgstr ""
+
+-#: cp/pt.c:5116
++#: cp/pt.c:5179
+ #, gcc-internal-format
+ msgid "wrong number of template arguments (%d, should be %d%s)"
+ msgstr ""
+
+-#: cp/pt.c:5120
++#: cp/pt.c:5183
+ #, gcc-internal-format
+ msgid "provided for %q+D"
+ msgstr ""
+
+-#: cp/pt.c:5177
++#: cp/pt.c:5242
+ #, gcc-internal-format
+ msgid "cannot expand %<%E%> into a fixed-length argument list"
+ msgstr ""
+
+-#: cp/pt.c:5180
++#: cp/pt.c:5245
+ #, gcc-internal-format
+ msgid "cannot expand %<%T%> into a fixed-length argument list"
+ msgstr ""
+
+-#: cp/pt.c:5195
++#: cp/pt.c:5261
+ #, fuzzy, gcc-internal-format
+ msgid "template argument %d is invalid"
+ msgstr "¥Þ¥¯¥í°ú¿ô \"%s\" ¤Ïʸ»úÎ󲽤µ¤ì¤Þ¤¹"
+
+-#: cp/pt.c:5455
++#: cp/pt.c:5521
+ #, gcc-internal-format
+ msgid "non-template type %qT used as a template"
+ msgstr ""
+
+-#: cp/pt.c:5457
++#: cp/pt.c:5523
+ #, fuzzy, gcc-internal-format
+ msgid "for template declaration %q+D"
+ msgstr "¶õ¤ÎÀë¸À¤Ç¤¹"
+
+-#: cp/pt.c:6132
++#: cp/pt.c:6221
+ #, gcc-internal-format
+ msgid "template instantiation depth exceeds maximum of %d (use -ftemplate-depth-NN to increase the maximum) instantiating %qD"
+ msgstr ""
+
+-#: cp/pt.c:7237
++#: cp/pt.c:7333
+ #, gcc-internal-format
+ msgid "mismatched argument pack lengths while expanding %<%T%>"
+ msgstr ""
+
+-#: cp/pt.c:7241
++#: cp/pt.c:7337
+ #, gcc-internal-format
+ msgid "mismatched argument pack lengths while expanding %<%E%>"
+ msgstr ""
+
+-#: cp/pt.c:8189
++#: cp/pt.c:8289
+ #, fuzzy, gcc-internal-format
+ msgid "instantiation of %q+D as type %qT"
+ msgstr "%s: `%s' ¤Î½é´ü²½:\n"
+@@ -31796,242 +31819,242 @@
+ #.
+ #. is an attempt to declare a variable with function
+ #. type.
+-#: cp/pt.c:8324
++#: cp/pt.c:8424
+ #, fuzzy, gcc-internal-format
+ msgid "variable %qD has function type"
+ msgstr "sizeof ¤¬´Ø¿ô·¿¤ËŬÍѤµ¤ì¤Þ¤·¤¿"
+
+-#: cp/pt.c:8471
++#: cp/pt.c:8571
+ #, fuzzy, gcc-internal-format
+ msgid "invalid parameter type %qT"
+ msgstr "²¾°ú¿ô `%s' ¤Ï̵¸ú¤Ç¤¹"
+
+-#: cp/pt.c:8473
++#: cp/pt.c:8573
+ #, fuzzy, gcc-internal-format
+ msgid "in declaration %q+D"
+ msgstr "̵¸ú¤ÊÀë¸À¤Ç¤¹"
+
+-#: cp/pt.c:8550
++#: cp/pt.c:8650
+ #, fuzzy, gcc-internal-format
+ msgid "function returning an array"
+ msgstr "´Ø¿ô¤¬½¸¹çÂΤòÊÖ¤·¤Æ¤¤¤Þ¤¹"
+
+-#: cp/pt.c:8552
++#: cp/pt.c:8652
+ #, fuzzy, gcc-internal-format
+ msgid "function returning a function"
+ msgstr "`%s' ¤Ï´Ø¿ô¤òÊÖ¤¹´Ø¿ô¤È¤·¤ÆÀë¸À¤µ¤ì¤Æ¤¤¤Þ¤¹"
+
+-#: cp/pt.c:8586
++#: cp/pt.c:8686
+ #, fuzzy, gcc-internal-format
+ msgid "creating pointer to member function of non-class type %qT"
+ msgstr "¥á¥ó¥Ð´Ø¿ô¤Ø¤Î¥Ý¥¤¥ó¥¿¤¬¸Æ¤Ð¤ì¤Þ¤·¤¿¤¬¡¢¥¯¥é¥¹¥¹¥³¡¼¥×Æâ¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó"
+
+-#: cp/pt.c:8792
++#: cp/pt.c:8913
+ #, fuzzy, gcc-internal-format
+ msgid "creating array with negative size (%qE)"
+ msgstr "Â礭¤µ¥¼¥í¤ÎÇÛÎó¤òºî¤í¤¦¤È¤·¤Æ¤¤¤Þ¤¹"
+
+-#: cp/pt.c:9047
++#: cp/pt.c:9168
+ #, fuzzy, gcc-internal-format
+ msgid "forming reference to void"
+ msgstr "°ì»þ¥ª¥Ö¥¸¥§¥¯¥È¤Ø¤Î»²¾È¤òÊÖ¤½¤¦¤È¤·¤Æ¤¤¤Þ¤¹"
+
+-#: cp/pt.c:9049
++#: cp/pt.c:9170
+ #, gcc-internal-format
+ msgid "forming %s to reference type %qT"
+ msgstr ""
+
+-#: cp/pt.c:9100
++#: cp/pt.c:9221
+ #, fuzzy, gcc-internal-format
+ msgid "creating pointer to member of non-class type %qT"
+ msgstr " ¥Ý¥¤¥ó¥¿¤«¤é¥á¥ó¥Ð¤Ø¤ÎÊÑ´¹¤Ç"
+
+-#: cp/pt.c:9106
++#: cp/pt.c:9227
+ #, fuzzy, gcc-internal-format
+ msgid "creating pointer to member reference type %qT"
+ msgstr " ¥Ý¥¤¥ó¥¿¤«¤é¥á¥ó¥Ð¤Ø¤ÎÊÑ´¹¤Ç"
+
+-#: cp/pt.c:9112
++#: cp/pt.c:9233
+ #, fuzzy, gcc-internal-format
+ msgid "creating pointer to member of type void"
+ msgstr " ¥Ý¥¤¥ó¥¿¤«¤é¥á¥ó¥Ð¤Ø¤ÎÊÑ´¹¤Ç"
+
+-#: cp/pt.c:9179
++#: cp/pt.c:9300
+ #, fuzzy, gcc-internal-format
+ msgid "creating array of %qT"
+ msgstr "Â礭¤µ¥¼¥í¤ÎÇÛÎó¤òºî¤í¤¦¤È¤·¤Æ¤¤¤Þ¤¹"
+
+-#: cp/pt.c:9185
++#: cp/pt.c:9306
+ #, gcc-internal-format
+ msgid "creating array of %qT, which is an abstract class type"
+ msgstr ""
+
+-#: cp/pt.c:9236
++#: cp/pt.c:9357
+ #, gcc-internal-format
+ msgid "%qT is not a class, struct, or union type"
+ msgstr ""
+
+-#: cp/pt.c:9271
++#: cp/pt.c:9392
+ #, gcc-internal-format
+ msgid "%qT resolves to %qT, which is not an enumeration type"
+ msgstr ""
+
+-#: cp/pt.c:9274
++#: cp/pt.c:9395
+ #, gcc-internal-format
+ msgid "%qT resolves to %qT, which is is not a class type"
+ msgstr ""
+
+-#: cp/pt.c:9375
++#: cp/pt.c:9496
+ #, fuzzy, gcc-internal-format
+ msgid "use of %qs in template"
+ msgstr "¥Æ¥ó¥×¥ì¡¼¥ÈÆâ¤Ç `%s' ¤ò»ÈÍѤ·¤Æ¤¤¤Þ¤¹"
+
+-#: cp/pt.c:9512
++#: cp/pt.c:9633
+ #, gcc-internal-format
+ msgid "dependent-name %qE is parsed as a non-type, but instantiation yields a type"
+ msgstr ""
+
+-#: cp/pt.c:9514
++#: cp/pt.c:9635
+ #, gcc-internal-format
+ msgid "say %<typename %E%> if a type is meant"
+ msgstr ""
+
+-#: cp/pt.c:9643
++#: cp/pt.c:9764
+ #, fuzzy, gcc-internal-format
+ msgid "using invalid field %qD"
+ msgstr "static ¥Õ¥£¡¼¥ë¥É `%s' ¤ò·ç¤¤¤Æ¤¤¤Þ¤¹"
+
+-#: cp/pt.c:9952 cp/pt.c:10432
++#: cp/pt.c:10073 cp/pt.c:10553
+ #, fuzzy, gcc-internal-format
+ msgid "invalid use of pack expansion expression"
+ msgstr "void ¼°¤ÎÉÔŬÀڤʻÈÍÑ"
+
+-#: cp/pt.c:9956 cp/pt.c:10436
++#: cp/pt.c:10077 cp/pt.c:10557
+ #, gcc-internal-format
+ msgid "use %<...%> to expand argument pack"
+ msgstr ""
+
+-#: cp/pt.c:10594
++#: cp/pt.c:10715
+ #, gcc-internal-format
+ msgid "a cast to a type other than an integral or enumeration type cannot appear in a constant-expression"
+ msgstr ""
+
+-#: cp/pt.c:11052
++#: cp/pt.c:11181
+ #, gcc-internal-format
+ msgid "%qT is not a class or namespace"
+ msgstr ""
+
+-#: cp/pt.c:11055
++#: cp/pt.c:11184
+ #, gcc-internal-format
+ msgid "%qD is not a class or namespace"
+ msgstr ""
+
+-#: cp/pt.c:11265
++#: cp/pt.c:11394
+ #, gcc-internal-format
+ msgid "%qT is/uses anonymous type"
+ msgstr ""
+
+-#: cp/pt.c:11267
++#: cp/pt.c:11396
+ #, gcc-internal-format
+ msgid "template argument for %qD uses local type %qT"
+ msgstr ""
+
+-#: cp/pt.c:11277
++#: cp/pt.c:11406
+ #, gcc-internal-format
+ msgid "%qT is a variably modified type"
+ msgstr ""
+
+-#: cp/pt.c:11288
++#: cp/pt.c:11417
+ #, fuzzy, gcc-internal-format
+ msgid "integral expression %qE is not constant"
+ msgstr "½é´ü²½»Ò¤ÎÍ×ÁǤ¬Äê¿ô¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó"
+
+-#: cp/pt.c:11293
++#: cp/pt.c:11422
+ #, fuzzy, gcc-internal-format
+ msgid " trying to instantiate %qD"
+ msgstr "ÉÔÀµ¤Êʸ»úÎóÄê¿ô¤Ç¤¹"
+
+-#: cp/pt.c:13959
++#: cp/pt.c:14173
+ #, fuzzy, gcc-internal-format
+ msgid "ambiguous class template instantiation for %q#T"
+ msgstr "¼«Æ°¥Æ¥ó¥×¥ì¡¼¥È¼ÂÂ⽤òÍ­¸ú¤Ë¤¹¤ë"
+
+-#: cp/pt.c:13962
++#: cp/pt.c:14176
+ #, fuzzy, gcc-internal-format
+ msgid "%s %+#T"
+ msgstr "%s: %s"
+
+-#: cp/pt.c:13985 cp/pt.c:14068
++#: cp/pt.c:14199 cp/pt.c:14282
+ #, fuzzy, gcc-internal-format
+ msgid "explicit instantiation of non-template %q#D"
+ msgstr "¥¤¥ó¥é¥¤¥ó¥Æ¥ó¥×¥ì¡¼¥È¤ÎÌÀ¼¨Åª¤Ê¼ÂÂβ½¤Î¤ß¤òÀ¸À®¤¹¤ë"
+
+-#: cp/pt.c:14000
++#: cp/pt.c:14214
+ #, gcc-internal-format
+ msgid "%qD is not a static data member of a class template"
+ msgstr ""
+
+-#: cp/pt.c:14006 cp/pt.c:14063
++#: cp/pt.c:14220 cp/pt.c:14277
+ #, gcc-internal-format
+ msgid "no matching template for %qD found"
+ msgstr ""
+
+-#: cp/pt.c:14011
++#: cp/pt.c:14225
+ #, gcc-internal-format
+ msgid "type %qT for explicit instantiation %qD does not match declared type %qT"
+ msgstr ""
+
+-#: cp/pt.c:14019
++#: cp/pt.c:14233
+ #, fuzzy, gcc-internal-format
+ msgid "explicit instantiation of %q#D"
+ msgstr "%s: `%s' ¤Î½é´ü²½:\n"
+
+-#: cp/pt.c:14055
++#: cp/pt.c:14269
+ #, fuzzy, gcc-internal-format
+ msgid "duplicate explicit instantiation of %q#D"
+ msgstr "¥¤¥ó¥é¥¤¥ó¥Æ¥ó¥×¥ì¡¼¥È¤ÎÌÀ¼¨Åª¤Ê¼ÂÂβ½¤Î¤ß¤òÀ¸À®¤¹¤ë"
+
+-#: cp/pt.c:14077
++#: cp/pt.c:14291
+ #, fuzzy, gcc-internal-format
+ msgid "ISO C++ forbids the use of %<extern%> on explicit instantiations"
+ msgstr "ISO C++ ¤Ï¸º»»¤Ë¥á¥½¥Ã¥É¤Ø¤Î¥Ý¥¤¥ó¥¿¤ò»È¤¦¤³¤È¤ò¶Ø¤¸¤Þ¤¹"
+
+-#: cp/pt.c:14082 cp/pt.c:14175
++#: cp/pt.c:14296 cp/pt.c:14389
+ #, fuzzy, gcc-internal-format
+ msgid "storage class %qD applied to template instantiation"
+ msgstr "¼«Æ°¥Æ¥ó¥×¥ì¡¼¥È¼ÂÂ⽤òÍ­¸ú¤Ë¤¹¤ë"
+
+-#: cp/pt.c:14147
++#: cp/pt.c:14361
+ #, fuzzy, gcc-internal-format
+ msgid "explicit instantiation of non-template type %qT"
+ msgstr "¥¤¥ó¥é¥¤¥ó¥Æ¥ó¥×¥ì¡¼¥È¤ÎÌÀ¼¨Åª¤Ê¼ÂÂβ½¤Î¤ß¤òÀ¸À®¤¹¤ë"
+
+-#: cp/pt.c:14156
++#: cp/pt.c:14370
+ #, fuzzy, gcc-internal-format
+ msgid "explicit instantiation of %q#T before definition of template"
+ msgstr "¥¤¥ó¥é¥¤¥ó¥Æ¥ó¥×¥ì¡¼¥È¤ÎÌÀ¼¨Åª¤Ê¼ÂÂβ½¤Î¤ß¤òÀ¸À®¤¹¤ë"
+
+-#: cp/pt.c:14164
++#: cp/pt.c:14378
+ #, fuzzy, gcc-internal-format
+ msgid "ISO C++ forbids the use of %qE on explicit instantiations"
+ msgstr "ISO C++ ¤Ï¸º»»¤Ë´Ø¿ô¤Ø¤Î¥Ý¥¤¥ó¥¿¤ò»È¤¦¤³¤È¤ò¶Ø¤¸¤Þ¤¹"
+
+-#: cp/pt.c:14209
++#: cp/pt.c:14423
+ #, fuzzy, gcc-internal-format
+ msgid "duplicate explicit instantiation of %q#T"
+ msgstr "¥¤¥ó¥é¥¤¥ó¥Æ¥ó¥×¥ì¡¼¥È¤ÎÌÀ¼¨Åª¤Ê¼ÂÂβ½¤Î¤ß¤òÀ¸À®¤¹¤ë"
+
+-#: cp/pt.c:14657
++#: cp/pt.c:14871
+ #, fuzzy, gcc-internal-format
+ msgid "explicit instantiation of %qD but no definition available"
+ msgstr "¥¤¥ó¥é¥¤¥ó¥Æ¥ó¥×¥ì¡¼¥È¤ÎÌÀ¼¨Åª¤Ê¼ÂÂβ½¤Î¤ß¤òÀ¸À®¤¹¤ë"
+
+-#: cp/pt.c:14851
++#: cp/pt.c:15065
+ #, 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)"
+ msgstr ""
+
+-#: cp/pt.c:15193
++#: cp/pt.c:15419
+ #, fuzzy, gcc-internal-format
+ msgid "%q#T is not a valid type for a template constant parameter"
+ msgstr "'#' ¤Ë¥Þ¥¯¥í²¾°ú¿ô̾¤¬Â³¤¤¤Æ¤¤¤Þ¤»¤ó"
+@@ -32051,32 +32074,32 @@
+ msgid "can't create repository information file %qs"
+ msgstr "¥Õ¥¡¥¤¥ë `%s' ¤Ë¥ê¥Ý¥¸¥È¥ê¾ðÊó¤òºîÀ®¤Ç¤­¤Þ¤»¤ó"
+
+-#: cp/rtti.c:271
++#: cp/rtti.c:285
+ #, gcc-internal-format
+ msgid "cannot use typeid with -fno-rtti"
+ msgstr "-fno-rtti ¤¬»ØÄꤵ¤ì¤ë¤È typeid ¤ò»È¤¨¤Þ¤»¤ó"
+
+-#: cp/rtti.c:277
++#: cp/rtti.c:291
+ #, gcc-internal-format
+ msgid "must #include <typeinfo> before using typeid"
+ msgstr "typeid ¤ò»È¤¦Á°¤Ë #include <typeinfo> ¤È¤·¤Ê¤¤¤È¤¤¤±¤Þ¤»¤ó"
+
+-#: cp/rtti.c:360
++#: cp/rtti.c:374
+ #, gcc-internal-format
+ msgid "cannot create type information for type %qT because it involves types of variable size"
+ msgstr ""
+
+-#: cp/rtti.c:615 cp/rtti.c:629
++#: cp/rtti.c:629 cp/rtti.c:643
+ #, gcc-internal-format
+ msgid "dynamic_cast of %q#D to %q#T can never succeed"
+ msgstr ""
+
+-#: cp/rtti.c:639
++#: cp/rtti.c:653
+ #, fuzzy, gcc-internal-format
+ msgid "%<dynamic_cast%> not permitted with -fno-rtti"
+ msgstr "-fno-rtti ¤¬»ØÄꤵ¤ì¤ë¤È typeid ¤ò»È¤¨¤Þ¤»¤ó"
+
+-#: cp/rtti.c:716
++#: cp/rtti.c:729
+ #, gcc-internal-format
+ msgid "cannot dynamic_cast %qE (of type %q#T) to type %q#T (%s)"
+ msgstr ""
+@@ -32138,551 +32161,551 @@
+ msgid " since %q+#D declared in base class"
+ msgstr ""
+
+-#: cp/semantics.c:762
++#: cp/semantics.c:764
+ #, gcc-internal-format
+ msgid "suggest explicit braces around empty body in %<do%> statement"
+ msgstr ""
+
+-#: cp/semantics.c:1290
++#: cp/semantics.c:1294
+ #, gcc-internal-format
+ msgid "type of asm operand %qE could not be determined"
+ msgstr ""
+
+-#: cp/semantics.c:1346
++#: cp/semantics.c:1350
+ #, gcc-internal-format
+ msgid "__label__ declarations are only allowed in function scopes"
+ msgstr ""
+
+-#: cp/semantics.c:1433
++#: cp/semantics.c:1438
+ #, fuzzy, gcc-internal-format
+ msgid "invalid use of member %q+D in static member function"
+ msgstr "Èó¥á¥ó¥Ð´Ø¿ô¤Ç¤Î `this' ¤Î»ÈÍѤÏ̵¸ú¤Ç¤¹"
+
+-#: cp/semantics.c:1435
++#: cp/semantics.c:1440
+ #, fuzzy, gcc-internal-format
+ msgid "invalid use of non-static data member %q+D"
+ msgstr "¥á¥ó¥Ð¤Ø¤Î¥Ý¥¤¥ó¥¿¤Ç¤Î̵¸ú¤Ê `%s' ¤Î»ÈÍÑ"
+
+-#: cp/semantics.c:1436 cp/semantics.c:1475
++#: cp/semantics.c:1441 cp/semantics.c:1480
+ #, gcc-internal-format
+ msgid "from this location"
+ msgstr ""
+
+-#: cp/semantics.c:1474
++#: cp/semantics.c:1479
+ #, fuzzy, gcc-internal-format
+ msgid "object missing in reference to %q+D"
+ msgstr "ÇÛÎ󻲾ȤǤÎź»ú¤ò·ç¤¤¤Æ¤¤¤Þ¤¹"
+
+-#: cp/semantics.c:1928
++#: cp/semantics.c:1951
+ #, fuzzy, gcc-internal-format
+ msgid "arguments to destructor are not allowed"
+ msgstr "°ú¿ô¤¬¹½Â¤ÂΤǤ¹"
+
+-#: cp/semantics.c:1978
++#: cp/semantics.c:2001
+ #, fuzzy, gcc-internal-format
+ msgid "%<this%> is unavailable for static member functions"
+ msgstr "`this' ¤ÏÀÅŪ¥á¥ó¥Ð´Ø¿ô¤«¤é»ÈÍѤǤ­¤Þ¤»¤ó"
+
+-#: cp/semantics.c:1984
++#: cp/semantics.c:2007
+ #, fuzzy, gcc-internal-format
+ msgid "invalid use of %<this%> in non-member function"
+ msgstr "Èó¥á¥ó¥Ð´Ø¿ô¤Ç¤Î `this' ¤Î»ÈÍѤÏ̵¸ú¤Ç¤¹"
+
+-#: cp/semantics.c:1986
++#: cp/semantics.c:2009
+ #, fuzzy, gcc-internal-format
+ msgid "invalid use of %<this%> at top level"
+ msgstr "¥È¥Ã¥×¥ì¥Ù¥ë¤Ç¤Î `this' ¤Î»ÈÍѤÏ̵¸ú¤Ç¤¹"
+
+-#: cp/semantics.c:2010
++#: cp/semantics.c:2033
+ #, gcc-internal-format
+ msgid "invalid qualifying scope in pseudo-destructor name"
+ msgstr ""
+
+-#: cp/semantics.c:2015 cp/typeck.c:2004
++#: cp/semantics.c:2038 cp/typeck.c:2050
+ #, gcc-internal-format
+ msgid "qualified type %qT does not match destructor name ~%qT"
+ msgstr ""
+
+-#: cp/semantics.c:2037
++#: cp/semantics.c:2060
+ #, fuzzy, gcc-internal-format
+ msgid "%qE is not of type %qT"
+ msgstr "%s ¤Ï·¿ %s ¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó (°ú¿ô %d)"
+
+-#: cp/semantics.c:2081
++#: cp/semantics.c:2104
+ #, gcc-internal-format
+ msgid "compound literal of non-object type %qT"
+ msgstr ""
+
+-#: cp/semantics.c:2158
++#: cp/semantics.c:2181
+ #, fuzzy, gcc-internal-format
+ msgid "template type parameters must use the keyword %<class%> or %<typename%>"
+ msgstr "¥Æ¥ó¥×¥ì¡¼¥È·¿²¾°ú¿ô¤Ë¤Ï `class' ¤ä `typename' ͽÌó¸ì¤ò»È¤ï¤Í¤Ð¤Ê¤ê¤Þ¤»¤ó"
+
+-#: cp/semantics.c:2195
++#: cp/semantics.c:2222
+ #, gcc-internal-format
+ msgid "invalid use of type %qT as a default value for a template template-parameter"
+ msgstr ""
+
+-#: cp/semantics.c:2198
++#: cp/semantics.c:2225
+ #, fuzzy, gcc-internal-format
+ msgid "invalid default argument for a template template parameter"
+ msgstr "̵¸ú¤Ê¥Ç¥Õ¥©¥ë¥È¥Æ¥ó¥×¥ì¡¼¥È°ú¿ô"
+
+-#: cp/semantics.c:2215
++#: cp/semantics.c:2242
+ #, fuzzy, gcc-internal-format
+ msgid "definition of %q#T inside template parameter list"
+ msgstr "`%s' ¤ÎÀë¸À¤Ï²¾°ú¿ô¥ê¥¹¥È¤Î¥·¥ó¥Ü¥ë¤òʤ¤¤±£¤·¤Þ¤¹"
+
+-#: cp/semantics.c:2226
++#: cp/semantics.c:2253
+ #, fuzzy, gcc-internal-format
+ msgid "invalid definition of qualified type %qT"
+ msgstr "¥¤¥ó¥¹¥¿¥ó¥¹²½¤µ¤ì¤Ê¤¤·¿¤ËÂФ¹¤ë̵¸ú¤ÊÁàºî¤Ç¤¹"
+
+-#: cp/semantics.c:2437
++#: cp/semantics.c:2469
+ #, fuzzy, gcc-internal-format
+ msgid "invalid base-class specification"
+ msgstr "̵¸ú¤ÊÀë¸À¤Ç¤¹"
+
+-#: cp/semantics.c:2446
++#: cp/semantics.c:2478
+ #, gcc-internal-format
+ msgid "base class %qT has cv qualifiers"
+ msgstr ""
+
+-#: cp/semantics.c:2468
++#: cp/semantics.c:2500
+ #, gcc-internal-format
+ msgid "incomplete type %qT used in nested name specifier"
+ msgstr ""
+
+-#: cp/semantics.c:2471
++#: cp/semantics.c:2503
+ #, gcc-internal-format
+ msgid "reference to %<%T::%D%> is ambiguous"
+ msgstr ""
+
+-#: cp/semantics.c:2475 cp/typeck.c:1813
++#: cp/semantics.c:2507 cp/typeck.c:1859
+ #, fuzzy, gcc-internal-format
+ msgid "%qD is not a member of %qT"
+ msgstr "%s ¤Ë `%s' ¤È¤¤¤¦Ì¾Á°¤Î¥á¥ó¥Ð¤Ï¤¢¤ê¤Þ¤»¤ó"
+
+-#: cp/semantics.c:2478
++#: cp/semantics.c:2510
+ #, fuzzy, gcc-internal-format
+ msgid "%qD is not a member of %qD"
+ msgstr "%s ¤Ë `%s' ¤È¤¤¤¦Ì¾Á°¤Î¥á¥ó¥Ð¤Ï¤¢¤ê¤Þ¤»¤ó"
+
+-#: cp/semantics.c:2480
++#: cp/semantics.c:2512
+ #, gcc-internal-format
+ msgid "%<::%D%> has not been declared"
+ msgstr ""
+
+-#: cp/semantics.c:2621
++#: cp/semantics.c:2653
+ #, gcc-internal-format
+ msgid "use of %<auto%> variable from containing function"
+ msgstr ""
+
+-#: cp/semantics.c:2623
++#: cp/semantics.c:2655
+ #, fuzzy, gcc-internal-format
+ msgid " %q+#D declared here"
+ msgstr "`%s' ¤ÏÁ°¤Ë¤³¤³¤ÇÀë¸À¤µ¤ì¤Þ¤·¤¿"
+
+-#: cp/semantics.c:2661
++#: cp/semantics.c:2693
+ #, gcc-internal-format
+ msgid "template parameter %qD of type %qT is not allowed in an integral constant expression because it is not of integral or enumeration type"
+ msgstr ""
+
+-#: cp/semantics.c:2830
++#: cp/semantics.c:2862
+ #, fuzzy, gcc-internal-format
+ msgid "%qD cannot appear in a constant-expression"
+ msgstr "Äê¿ô¼°¤¬¥ª¡¼¥Ð¡¼¥Õ¥í¡¼¤·¤Þ¤·¤¿"
+
+-#: cp/semantics.c:2838
++#: cp/semantics.c:2870
+ #, gcc-internal-format
+ msgid "use of namespace %qD as expression"
+ msgstr ""
+
+-#: cp/semantics.c:2843
++#: cp/semantics.c:2875
+ #, gcc-internal-format
+ msgid "use of class template %qT as expression"
+ msgstr ""
+
+ #. Ambiguous reference to base members.
+-#: cp/semantics.c:2849
++#: cp/semantics.c:2881
+ #, fuzzy, gcc-internal-format
+ msgid "request for member %qD is ambiguous in multiple inheritance lattice"
+ msgstr "Í׵ᤵ¤ì¤¿¥á¥ó¥Ð `%s' ¤Ï¿½Å·Ñ¾µ¥°¥é¥Õ¤ÎÃæ¤ÇÛ£Ëæ¤Ç¤¹"
+
+-#: cp/semantics.c:2970 cp/semantics.c:4210
++#: cp/semantics.c:3002 cp/semantics.c:4259
+ #, fuzzy, gcc-internal-format
+ msgid "type of %qE is unknown"
+ msgstr "¥ì¥¸¥¹¥¿ '%c' ¤¬ÉÔÌÀ¤Ç¤¹"
+
+-#: cp/semantics.c:2985
++#: cp/semantics.c:3017
+ #, gcc-internal-format
+ msgid "cannot apply %<offsetof%> to destructor %<~%T%>"
+ msgstr ""
+
+-#: cp/semantics.c:2996
++#: cp/semantics.c:3028
+ #, fuzzy, gcc-internal-format
+ msgid "cannot apply %<offsetof%> to member function %qD"
+ msgstr "ISO C++ ¤Ï¥á¥ó¥Ð´Ø¿ô¤Ø¤Î `sizeof' ¤ÎŬÍѤò¶Ø¤¸¤Þ¤¹"
+
+-#: cp/semantics.c:3349
++#: cp/semantics.c:3381
+ #, fuzzy, gcc-internal-format
+ msgid "%qD is not a variable in clause %qs"
+ msgstr "¥¤¥ó¥¹¥¿¥ó¥¹ÊÑ¿ô `%s' ¤Ï %s ¤ÈÀë¸À¤µ¤ì¤Æ¤¤¤Þ¤¹"
+
+-#: cp/semantics.c:3358
++#: cp/semantics.c:3390
+ #, gcc-internal-format
+ msgid "%qD appears more than once in data clauses"
+ msgstr ""
+
+-#: cp/semantics.c:3418
++#: cp/semantics.c:3450
+ #, gcc-internal-format
+ msgid "num_threads expression must be integral"
+ msgstr ""
+
+-#: cp/semantics.c:3432
++#: cp/semantics.c:3464
+ #, gcc-internal-format
+ msgid "schedule chunk size expression must be integral"
+ msgstr ""
+
+-#: cp/semantics.c:3562
++#: cp/semantics.c:3594
+ #, fuzzy, gcc-internal-format
+ msgid "%qE has reference type for %qs"
+ msgstr "̵¸ú¤Ê»²¾È·¿¤Ç¤¹"
+
+-#: cp/semantics.c:3724
++#: cp/semantics.c:3756
+ #, gcc-internal-format
+ msgid "%<threadprivate%> %qE is not file, namespace or block scope variable"
+ msgstr ""
+
+ #. Report the error.
+-#: cp/semantics.c:4033
++#: cp/semantics.c:4072
+ #, gcc-internal-format
+ msgid "static assertion failed: %E"
+ msgstr ""
+
+-#: cp/semantics.c:4035
++#: cp/semantics.c:4074
+ #, gcc-internal-format
+ msgid "non-constant condition for static assertion"
+ msgstr ""
+
+-#: cp/semantics.c:4097
++#: cp/semantics.c:4099 cp/semantics.c:4194
+ #, gcc-internal-format
+-msgid "%qE refers to a set of overloaded functions"
++msgid "argument to decltype must be an expression"
+ msgstr ""
+
+ #: cp/semantics.c:4145
+ #, gcc-internal-format
+-msgid "argument to decltype must be an expression"
++msgid "%qE refers to a set of overloaded functions"
+ msgstr ""
+
+-#: cp/semantics.c:4366
++#: cp/semantics.c:4415
+ #, gcc-internal-format
+ msgid "__is_convertible_to"
+ msgstr ""
+
+-#: cp/semantics.c:4395
++#: cp/semantics.c:4444
+ #, fuzzy, gcc-internal-format
+ msgid "incomplete type %qT not allowed"
+ msgstr "ÉÔ´°Á´¤Ê·¿¤Îñ°ì²½"
+
+-#: cp/tree.c:829
++#: cp/tree.c:827
+ #, gcc-internal-format
+ msgid "%qV qualifiers cannot be applied to %qT"
+ msgstr ""
+
+-#: cp/tree.c:2134
++#: cp/tree.c:2132
+ #, fuzzy, gcc-internal-format
+ msgid "%qE attribute can only be applied to Java class definitions"
+ msgstr "`java_interface' °À­¤Ï Java ¥¯¥é¥¹ÄêµÁ¤ËÂФ·¤Æ¤Î¤ßÍѤ¤¤ë»ö¤¬¤Ç¤­¤Þ¤¹"
+
+-#: cp/tree.c:2163
++#: cp/tree.c:2161
+ #, fuzzy, gcc-internal-format
+ msgid "%qE attribute can only be applied to class definitions"
+ msgstr "`com_interface' °À­¤Ï¥¯¥é¥¹ÄêµÁ¤Ë¤Î¤ßÍѤ¤¤ë»ö¤¬¤Ç¤­¤Þ¤¹"
+
+-#: cp/tree.c:2169
++#: cp/tree.c:2167
+ #, gcc-internal-format
+ msgid "%qE is obsolete; g++ vtables are now COM-compatible by default"
+ msgstr ""
+
+-#: cp/tree.c:2193
++#: cp/tree.c:2191
+ #, gcc-internal-format
+ msgid "requested init_priority is not an integer constant"
+ msgstr "Í׵ᤵ¤ì¤¿ init_priority ¤ÏÀ°¿ô·¿¤ÎÄê¿ô¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó"
+
+-#: cp/tree.c:2214
++#: cp/tree.c:2212
+ #, fuzzy, gcc-internal-format
+ msgid "can only use %qE attribute on file-scope definitions of objects of class type"
+ msgstr "init_priority °À­¤Ï¥¯¥é¥¹·¿¥ª¥Ö¥¸¥§¥¯¥È¤Î¥Õ¥¡¥¤¥ë¥¹¥³¡¼¥×ÄêµÁ¤Ç¤Î¤ß»È¤¨¤Þ¤¹"
+
+-#: cp/tree.c:2222
++#: cp/tree.c:2220
+ #, gcc-internal-format
+ msgid "requested init_priority is out of range"
+ msgstr "Í׵ᤵ¤ì¤¿ init_priority ¤¬Èϰϳ°¤Ç¤¹"
+
+-#: cp/tree.c:2232
++#: cp/tree.c:2230
+ #, gcc-internal-format
+ msgid "requested init_priority is reserved for internal use"
+ msgstr "Í׵ᤵ¤ì¤¿ init_priority ¤ÏÆâÉô¤Ç»ÈÍѤ¹¤ë¤¿¤á¤ËͽÌ󤵤ì¤Æ¤¤¤Þ¤¹"
+
+-#: cp/tree.c:2243
++#: cp/tree.c:2241
+ #, fuzzy, gcc-internal-format
+ msgid "%qE attribute is not supported on this platform"
+ msgstr "init_priority °À­¤Ï¤³¤Î¥×¥é¥Ã¥È¥Õ¥©¡¼¥à¤Ç¤Ï¥µ¥Ý¡¼¥È¤µ¤ì¤Æ¤¤¤Þ¤»¤ó"
+
+-#: cp/typeck.c:431 cp/typeck.c:445 cp/typeck.c:545
++#: cp/typeck.c:432 cp/typeck.c:446 cp/typeck.c:546
+ #, fuzzy, gcc-internal-format
+ msgid "%s between distinct pointer types %qT and %qT lacks a cast"
+ msgstr "·¿¤¬Á´¤¯°Û¤Ê¤ë¥Ý¥¤¥ó¥¿¤ÎÈæ³Ó¤Ç¥­¥ã¥¹¥È¤ò·ç¤¤¤Æ¤¤¤Þ¤¹"
+
+-#: cp/typeck.c:507
++#: cp/typeck.c:508
+ #, fuzzy, gcc-internal-format
+ msgid "ISO C++ forbids %s between pointer of type %<void *%> and pointer-to-function"
+ msgstr "ISO C++ ¤Ï `void *' ·¿¥Ý¥¤¥ó¥¿¤È´Ø¿ô¥Ý¥¤¥ó¥¿¤È¤Î %s ¤ò¶Ø¤¸¤Þ¤¹"
+
+-#: cp/typeck.c:565
++#: cp/typeck.c:566
+ #, fuzzy, gcc-internal-format
+ msgid "%s between distinct pointer-to-member types %qT and %qT lacks a cast"
+ msgstr "·¿¤¬Á´¤¯°Û¤Ê¤ë¥Ý¥¤¥ó¥¿¤ÎÈæ³Ó¤Ç¥­¥ã¥¹¥È¤ò·ç¤¤¤Æ¤¤¤Þ¤¹"
+
+-#: cp/typeck.c:1129
++#: cp/typeck.c:1166
+ #, gcc-internal-format
+ msgid "canonical types differ for identical types %T and %T"
+ msgstr ""
+
+-#: cp/typeck.c:1136
++#: cp/typeck.c:1173
+ #, gcc-internal-format
+ msgid "same canonical type node for different types %T and %T"
+ msgstr ""
+
+-#: cp/typeck.c:1248
++#: cp/typeck.c:1285
+ #, fuzzy, gcc-internal-format
+ msgid "invalid application of %qs to a member function"
+ msgstr "Èó¥á¥ó¥Ð´Ø¿ô¤Ç¤Î `this' ¤Î»ÈÍѤÏ̵¸ú¤Ç¤¹"
+
+-#: cp/typeck.c:1298
++#: cp/typeck.c:1335
+ #, fuzzy, gcc-internal-format
+ msgid "invalid application of %<sizeof%> to a bit-field"
+ msgstr "¥Ó¥Ã¥È¥Õ¥£¡¼¥ë¥É¤Ë `__alignof' ¤¬Å¬ÍѤµ¤ì¤Þ¤·¤¿"
+
+-#: cp/typeck.c:1303
++#: cp/typeck.c:1340
+ #, fuzzy, gcc-internal-format
+ msgid "ISO C++ forbids applying %<sizeof%> to an expression of function type"
+ msgstr "ISO C++ ¤Ï´Ø¿ô·¿¤Î¼°¤Ø¤Î `sizeof' ¤ÎŬÍѤò¶Ø¤¸¤Þ¤¹"
+
+-#: cp/typeck.c:1346
++#: cp/typeck.c:1383
+ #, gcc-internal-format
+ msgid "invalid application of %<__alignof%> to a bit-field"
+ msgstr ""
+
+-#: cp/typeck.c:1354
++#: cp/typeck.c:1391
+ #, fuzzy, gcc-internal-format
+ msgid "ISO C++ forbids applying %<__alignof%> to an expression of function type"
+ msgstr "ISO C++ ¤Ï´Ø¿ô·¿¤Î¼°¤Ø¤Î `sizeof' ¤ÎŬÍѤò¶Ø¤¸¤Þ¤¹"
+
+-#: cp/typeck.c:1405
++#: cp/typeck.c:1442
+ #, fuzzy, gcc-internal-format
+ msgid "invalid use of non-static member function"
+ msgstr "Èó¥á¥ó¥Ð´Ø¿ô¤Ç¤Î `this' ¤Î»ÈÍѤÏ̵¸ú¤Ç¤¹"
+
+-#: cp/typeck.c:1669
++#: cp/typeck.c:1715
+ #, fuzzy, gcc-internal-format
+ msgid "deprecated conversion from string constant to %qT"
+ msgstr "ʸ»úÎóÄê¿ôÃæ¤Î \\r ¥¨¥¹¥±¡¼¥×"
+
+-#: cp/typeck.c:1784 cp/typeck.c:2132
++#: cp/typeck.c:1830 cp/typeck.c:2178
+ #, gcc-internal-format
+ msgid "request for member %qD in %qE, which is of non-class type %qT"
+ msgstr ""
+
+-#: cp/typeck.c:1811
++#: cp/typeck.c:1857
+ #, fuzzy, gcc-internal-format
+ msgid "invalid use of nonstatic data member %qE"
+ msgstr "¥á¥ó¥Ð¤Ø¤Î¥Ý¥¤¥ó¥¿¤Ç¤Î̵¸ú¤Ê `%s' ¤Î»ÈÍÑ"
+
+-#: cp/typeck.c:1863 cp/typeck.c:1891
++#: cp/typeck.c:1909 cp/typeck.c:1937
+ #, gcc-internal-format
+ msgid "invalid access to non-static data member %qD of NULL object"
+ msgstr ""
+
+-#: cp/typeck.c:1866 cp/typeck.c:1893
++#: cp/typeck.c:1912 cp/typeck.c:1939
+ #, gcc-internal-format
+ msgid "(perhaps the %<offsetof%> macro was used incorrectly)"
+ msgstr ""
+
+-#: cp/typeck.c:2010
++#: cp/typeck.c:2056
+ #, gcc-internal-format
+ msgid "the type being destroyed is %qT, but the destructor refers to %qT"
+ msgstr ""
+
+-#: cp/typeck.c:2049 cp/typeck.c:2069
++#: cp/typeck.c:2095 cp/typeck.c:2115
+ #, gcc-internal-format
+ msgid "%qD is not a template"
+ msgstr ""
+
+-#: cp/typeck.c:2170
++#: cp/typeck.c:2216
+ #, gcc-internal-format
+ msgid "%<%D::%D%> is not a member of %qT"
+ msgstr ""
+
+-#: cp/typeck.c:2185
++#: cp/typeck.c:2231
+ #, gcc-internal-format
+ msgid "%qT is not a base of %qT"
+ msgstr ""
+
+-#: cp/typeck.c:2204
++#: cp/typeck.c:2250
+ #, fuzzy, gcc-internal-format
+ msgid "%qD has no member named %qE"
+ msgstr "%s ¤Ë `%s' ¤È¤¤¤¦Ì¾Á°¤Î¥á¥ó¥Ð¤Ï¤¢¤ê¤Þ¤»¤ó"
+
+-#: cp/typeck.c:2219
++#: cp/typeck.c:2265
+ #, fuzzy, gcc-internal-format
+ msgid "%qD is not a member template function"
+ msgstr "¥á¥ó¥Ð´Ø¿ô¤Î̾Á°¤ò·ç¤¤¤Æ¤¤¤Þ¤¹"
+
+ #. A pointer to incomplete type (other than cv void) can be
+ #. dereferenced [expr.unary.op]/1
+-#: cp/typeck.c:2352
++#: cp/typeck.c:2398
+ #, gcc-internal-format
+ msgid "%qT is not a pointer-to-object type"
+ msgstr ""
+
+-#: cp/typeck.c:2377
++#: cp/typeck.c:2423
+ #, fuzzy, gcc-internal-format
+ msgid "invalid use of %qs on pointer to member"
+ msgstr "¥á¥ó¥Ð¤Ø¤Î¥Ý¥¤¥ó¥¿¤Ç¤Î̵¸ú¤Ê `%s' ¤Î»ÈÍÑ"
+
+-#: cp/typeck.c:2381
++#: cp/typeck.c:2427
+ #, fuzzy, gcc-internal-format
+ msgid "invalid type argument of %qs"
+ msgstr "`%s' ¤Î°ú¿ô¤È¤·¤Æ̵¸ú¤Ê·¿"
+
+-#: cp/typeck.c:2383
++#: cp/typeck.c:2429
+ #, gcc-internal-format
+ msgid "invalid type argument"
+ msgstr "̵¸ú¤Ê·¿°ú¿ô¤Ç¤¹"
+
+-#: cp/typeck.c:2406
++#: cp/typeck.c:2452
+ #, gcc-internal-format
+ msgid "subscript missing in array reference"
+ msgstr "ÇÛÎ󻲾ȤǤÎź»ú¤ò·ç¤¤¤Æ¤¤¤Þ¤¹"
+
+-#: cp/typeck.c:2480
++#: cp/typeck.c:2526
+ #, gcc-internal-format
+ msgid "ISO C++ forbids subscripting non-lvalue array"
+ msgstr "ISO C++ ¤Ïº¸ÊÕÃͤǤϤʤ¤ÇÛÎó¤Îź»ú¤ò¶Ø¤¸¤Þ¤¹"
+
+-#: cp/typeck.c:2491
++#: cp/typeck.c:2537
+ #, fuzzy, gcc-internal-format
+ msgid "subscripting array declared %<register%>"
+ msgstr "`register' ¤ÈÀë¸À¤µ¤ì¤¿ÇÛÎó¤Ëź»ú¤ò¤Ä¤±¤è¤¦¤È¤·¤Æ¤¤¤Þ¤¹"
+
+-#: cp/typeck.c:2576
++#: cp/typeck.c:2622
+ #, fuzzy, gcc-internal-format
+ msgid "object missing in use of %qE"
+ msgstr "¥á¥ó¥Ð¤Ø¤Î¥Ý¥¤¥ó¥¿¹½ÃۤλÈÍѤǥª¥Ö¥¸¥§¥¯¥È¤ò·ç¤¤¤Æ¤¤¤Þ¤¹"
+
+-#: cp/typeck.c:2693
++#: cp/typeck.c:2739
+ #, fuzzy, gcc-internal-format
+ msgid "ISO C++ forbids calling %<::main%> from within program"
+ msgstr "ISO C++ ¤Ï¥×¥í¥°¥é¥à¤ÎÃ椫¤é `::main' ¤ò¸Æ¤Ó½Ð¤¹¤³¤È¤ò¶Ø¤¸¤Þ¤¹"
+
+-#: cp/typeck.c:2718
++#: cp/typeck.c:2764
+ #, gcc-internal-format
+ msgid "must use %<.*%> or %<->*%> to call pointer-to-member function in %<%E (...)%>"
+ msgstr ""
+
+-#: cp/typeck.c:2732
++#: cp/typeck.c:2778
+ #, fuzzy, gcc-internal-format
+ msgid "%qE cannot be used as a function"
+ msgstr "\"%s\" ¤Ï¥Þ¥¯¥í̾¤È¤·¤Æ¤Ï»È¤¨¤Þ¤»¤ó"
+
+-#: cp/typeck.c:2822
++#: cp/typeck.c:2868
+ #, fuzzy, gcc-internal-format
+ msgid "too many arguments to %s %q+#D"
+ msgstr "´Ø¿ô `%s' ¤ËÂФ¹¤ë°ú¿ô¤¬Â¿¤¹¤®¤Þ¤¹"
+
+-#: cp/typeck.c:2823 cp/typeck.c:2927
++#: cp/typeck.c:2869 cp/typeck.c:2973
+ #, gcc-internal-format
+ msgid "at this point in file"
+ msgstr "¥Õ¥¡¥¤¥ë¤Î¤³¤Î°ÌÃÖ"
+
+-#: cp/typeck.c:2826
++#: cp/typeck.c:2872
+ #, gcc-internal-format
+ msgid "too many arguments to function"
+ msgstr "´Ø¿ô¤ËÂФ¹¤ë°ú¿ô¤¬Â¿¤¹¤®¤Þ¤¹"
+
+-#: cp/typeck.c:2856
++#: cp/typeck.c:2902
+ #, fuzzy, gcc-internal-format
+ msgid "parameter %P of %qD has incomplete type %qT"
+ msgstr "²¾°ú¿ô¤¬ÉÔ´°Á´·¿¤Ç¤¹"
+
+-#: cp/typeck.c:2859
++#: cp/typeck.c:2905
+ #, fuzzy, gcc-internal-format
+ msgid "parameter %P has incomplete type %qT"
+ msgstr "²¾°ú¿ô¤¬ÉÔ´°Á´·¿¤Ç¤¹"
+
+-#: cp/typeck.c:2926
++#: cp/typeck.c:2972
+ #, fuzzy, gcc-internal-format
+ msgid "too few arguments to %s %q+#D"
+ msgstr "´Ø¿ô `%s' ¤Ø¤Î°ú¿ô¤¬¾¯¤Ê¤¹¤®¤Þ¤¹"
+
+-#: cp/typeck.c:2930
++#: cp/typeck.c:2976
+ #, gcc-internal-format
+ msgid "too few arguments to function"
+ msgstr "´Ø¿ô¤Ø¤Î°ú¿ô¤¬¾¯¤Ê¤¹¤®¤Þ¤¹"
+
+-#: cp/typeck.c:3098 cp/typeck.c:3108
++#: cp/typeck.c:3140 cp/typeck.c:3150
+ #, gcc-internal-format
+ msgid "assuming cast to type %qT from overloaded function"
+ msgstr ""
+
+-#: cp/typeck.c:3306
++#: cp/typeck.c:3346
+ #, fuzzy, gcc-internal-format
+ msgid "left rotate count is negative"
+ msgstr "%s ¥í¡¼¥Æ¡¼¥È²ó¿ô¤¬Éé¤ÎÃͤǤ¹"
+
+-#: cp/typeck.c:3307
++#: cp/typeck.c:3347
+ #, fuzzy, gcc-internal-format
+ msgid "right rotate count is negative"
+ msgstr "%s ¥í¡¼¥Æ¡¼¥È²ó¿ô¤¬Éé¤ÎÃͤǤ¹"
+
+-#: cp/typeck.c:3310
++#: cp/typeck.c:3350
+ #, fuzzy, gcc-internal-format
+ msgid "left rotate count >= width of type"
+ msgstr "%s ¥í¡¼¥Æ¡¼¥È²ó¿ô >= ·¿¤ÎÉý¤Ç¤¹"
+
+-#: cp/typeck.c:3311
++#: cp/typeck.c:3351
+ #, fuzzy, gcc-internal-format
+ msgid "right rotate count >= width of type"
+ msgstr "%s ¥í¡¼¥Æ¡¼¥È²ó¿ô >= ·¿¤ÎÉý¤Ç¤¹"
+
+-#: cp/typeck.c:3327 cp/typeck.c:3502
++#: cp/typeck.c:3367 cp/typeck.c:3549
+ #, gcc-internal-format
+ msgid "comparison with string literal results in unspecified behaviour"
+ msgstr ""
+
+-#: cp/typeck.c:3360 cp/typeck.c:3365 cp/typeck.c:3520 cp/typeck.c:3525
++#: cp/typeck.c:3400 cp/typeck.c:3405 cp/typeck.c:3567 cp/typeck.c:3572
+ #, gcc-internal-format
+ msgid "ISO C++ forbids comparison between pointer and integer"
+ msgstr "ISO C++ ¤Ï¥Ý¥¤¥ó¥¿¤ÈÀ°¿ô¤È¤ÎÈæ³Ó¤ò¶Ø¤¸¤Þ¤¹"
+
+-#: cp/typeck.c:3539
++#: cp/typeck.c:3586
+ #, gcc-internal-format
+ msgid "unordered comparison on non-floating point argument"
+ msgstr "ÈóÉâÆ°¾®¿ôÅÀ°ú¿ô¤Ç¤Î½ç½øÉÕ¤±¤é¤ì¤Ê¤¤Èæ³Ó¤Ç¤¹"
+
+-#: cp/typeck.c:3577
++#: cp/typeck.c:3624
+ #, fuzzy, gcc-internal-format
+ msgid "invalid operands of types %qT and %qT to binary %qO"
+ msgstr "Æó¹à±é»»»Ò %s ¤¬ÉÔŬÀڤǤ¹"
+
+-#: cp/typeck.c:3749
++#: cp/typeck.c:3757
+ #, fuzzy, gcc-internal-format
+ msgid "comparison between types %q#T and %q#T"
+ msgstr "¥Ý¥¤¥ó¥¿¤ÈÀ°¿ô¤È¤ÎÈæ³Ó¤ò¹Ô¤Ê¤Ã¤Æ¤¤¤Þ¤¹"
+
+-#: cp/typeck.c:3786
++#: cp/typeck.c:3794
+ #, gcc-internal-format
+ msgid "comparison between signed and unsigned integer expressions"
+ msgstr "Éä¹çÉÕ¤­¤ÈÉä¹ç̵¤·¤ÎÀ°¿ô¼°Æ±»Î¤ÎÈæ³Ó¤Ç¤¹"
+@@ -32691,154 +32714,154 @@
+ #. performed. Note that pointer-difference and pointer-addition
+ #. have already been handled above, and so we don't end up here in
+ #. that case.
+-#: cp/typeck.c:3858
++#: cp/typeck.c:3866
+ #, fuzzy, gcc-internal-format
+ msgid "NULL used in arithmetic"
+ msgstr "´Ø¿ô¥Ý¥¤¥ó¥¿¤¬·×»»¤Ç»È¤ï¤ì¤Þ¤·¤¿"
+
+-#: cp/typeck.c:3927
++#: cp/typeck.c:3935
+ #, fuzzy, gcc-internal-format
+ msgid "ISO C++ forbids using pointer of type %<void *%> in subtraction"
+ msgstr "ISO C++ ¤Ï¸º»»¤Ë `void *' ·¿¤Î¥Ý¥¤¥ó¥¿¤ò»È¤¦¤³¤È¤ò¶Ø¤¸¤Þ¤¹"
+
+-#: cp/typeck.c:3929
++#: cp/typeck.c:3937
+ #, gcc-internal-format
+ msgid "ISO C++ forbids using pointer to a function in subtraction"
+ msgstr "ISO C++ ¤Ï¸º»»¤Ë´Ø¿ô¤Ø¤Î¥Ý¥¤¥ó¥¿¤ò»È¤¦¤³¤È¤ò¶Ø¤¸¤Þ¤¹"
+
+-#: cp/typeck.c:3931
++#: cp/typeck.c:3939
+ #, gcc-internal-format
+ msgid "ISO C++ forbids using pointer to a method in subtraction"
+ msgstr "ISO C++ ¤Ï¸º»»¤Ë¥á¥½¥Ã¥É¤Ø¤Î¥Ý¥¤¥ó¥¿¤ò»È¤¦¤³¤È¤ò¶Ø¤¸¤Þ¤¹"
+
+-#: cp/typeck.c:3943
++#: cp/typeck.c:3951
+ #, gcc-internal-format
+ msgid "invalid use of a pointer to an incomplete type in pointer arithmetic"
+ msgstr "¥Ý¥¤¥ó¥¿±é»»¤ÇÉÔ´°Á´·¿¤Ø¤Î¥Ý¥¤¥ó¥¿¤ò»È¤¦¤³¤È¤Ï̵¸ú¤Ç¤¹"
+
+-#: cp/typeck.c:4003
++#: cp/typeck.c:4011
+ #, fuzzy, gcc-internal-format
+ msgid "invalid use of %qE to form a pointer-to-member-function"
+ msgstr "¥á¥ó¥Ð¤Ø¤Î¥Ý¥¤¥ó¥¿¤Ç¤Î̵¸ú¤Ê `%s' ¤Î»ÈÍÑ"
+
+-#: cp/typeck.c:4006
++#: cp/typeck.c:4014
+ #, gcc-internal-format
+ msgid " a qualified-id is required"
+ msgstr ""
+
+-#: cp/typeck.c:4011
++#: cp/typeck.c:4019
+ #, gcc-internal-format
+ msgid "parentheses around %qE cannot be used to form a pointer-to-member-function"
+ msgstr ""
+
+-#: cp/typeck.c:4034
++#: cp/typeck.c:4042
+ #, gcc-internal-format
+ msgid "taking address of temporary"
+ msgstr "°ì»þ¥ª¥Ö¥¸¥§¥¯¥È¤Î¥¢¥É¥ì¥¹¤ò¼è¤í¤¦¤È¤·¤Æ¤¤¤Þ¤¹"
+
+-#: cp/typeck.c:4287
++#: cp/typeck.c:4295
+ #, fuzzy, gcc-internal-format
+ msgid "ISO C++ forbids incrementing an enum"
+ msgstr "ISO C++ ¤Ï enum ¤Î %s ¤ò¶Ø¤¸¤Þ¤¹"
+
+-#: cp/typeck.c:4288
++#: cp/typeck.c:4296
+ #, fuzzy, gcc-internal-format
+ msgid "ISO C++ forbids decrementing an enum"
+ msgstr "ISO C++ ¤Ï enum ¤Î %s ¤ò¶Ø¤¸¤Þ¤¹"
+
+-#: cp/typeck.c:4299
++#: cp/typeck.c:4307
+ #, fuzzy, gcc-internal-format
+ msgid "cannot increment a pointer to incomplete type %qT"
+ msgstr "ÉÔ´°Á´·¿¤Ø¤Î¥Ý¥¤¥ó¥¿¤ËÂФ¹¤ë±é»»"
+
+-#: cp/typeck.c:4300
++#: cp/typeck.c:4308
+ #, fuzzy, gcc-internal-format
+ msgid "cannot decrement a pointer to incomplete type %qT"
+ msgstr "ÉÔ´°Á´·¿¤Î¥Ý¥¤¥ó¥¿¤Ø¤Î´ÖÀÜ»²¾È"
+
+-#: cp/typeck.c:4306
++#: cp/typeck.c:4314
+ #, fuzzy, gcc-internal-format
+ msgid "ISO C++ forbids incrementing a pointer of type %qT"
+ msgstr "ISO C++ ¤Ï¸º»»¤Ë `void *' ·¿¤Î¥Ý¥¤¥ó¥¿¤ò»È¤¦¤³¤È¤ò¶Ø¤¸¤Þ¤¹"
+
+-#: cp/typeck.c:4307
++#: cp/typeck.c:4315
+ #, fuzzy, gcc-internal-format
+ msgid "ISO C++ forbids decrementing a pointer of type %qT"
+ msgstr "ISO C++ ¤Ï¸º»»¤Ë `void *' ·¿¤Î¥Ý¥¤¥ó¥¿¤ò»È¤¦¤³¤È¤ò¶Ø¤¸¤Þ¤¹"
+
+-#: cp/typeck.c:4327
++#: cp/typeck.c:4335
+ #, fuzzy, gcc-internal-format
+ msgid "invalid use of Boolean expression as operand to %<operator--%>"
+ msgstr "¥ª¥Ú¥é¥ó¥É¤È¤·¤Æ̵¸ú¤Ê¼°"
+
+ #. ARM $3.4
+-#: cp/typeck.c:4357
++#: cp/typeck.c:4365
+ #, fuzzy, gcc-internal-format
+ msgid "ISO C++ forbids taking address of function %<::main%>"
+ msgstr "ISO C++ ¤Ï `::main' ´Ø¿ô¤Î¥¢¥É¥ì¥¹¤ò¼è¤ë¤³¤È¤ò¶Ø¤¸¤Þ¤¹"
+
+ #. An expression like &memfn.
+-#: cp/typeck.c:4413
++#: cp/typeck.c:4421
+ #, gcc-internal-format
+ msgid "ISO C++ forbids taking the address of an unqualified or parenthesized non-static member function to form a pointer to member function. Say %<&%T::%D%>"
+ msgstr ""
+
+-#: cp/typeck.c:4418
++#: cp/typeck.c:4426
+ #, fuzzy, gcc-internal-format
+ msgid "ISO C++ forbids taking the address of a bound member function to form a pointer to member function. Say %<&%T::%D%>"
+ msgstr "ISO C++ ¤ÏÈóº¸ÊÕÃͼ°¤Ø¤Î¥­¥ã¥¹¥È¤Î¥¢¥É¥ì¥¹¤ò¼è¤ë¤³¤È¤ò¶Ø¤¸¤Þ¤¹"
+
+-#: cp/typeck.c:4443
++#: cp/typeck.c:4451
+ #, gcc-internal-format
+ msgid "ISO C++ forbids taking the address of a cast to a non-lvalue expression"
+ msgstr "ISO C++ ¤ÏÈóº¸ÊÕÃͼ°¤Ø¤Î¥­¥ã¥¹¥È¤Î¥¢¥É¥ì¥¹¤ò¼è¤ë¤³¤È¤ò¶Ø¤¸¤Þ¤¹"
+
+-#: cp/typeck.c:4467
++#: cp/typeck.c:4475
+ #, fuzzy, gcc-internal-format
+ msgid "cannot create pointer to reference member %qD"
+ msgstr "¥Ý¥¤¥ó¥¿¤ò»²¾È¤È¤·¤ÆÀë¸À¤Ç¤­¤Þ¤»¤ó"
+
+-#: cp/typeck.c:4678
++#: cp/typeck.c:4686
+ #, fuzzy, gcc-internal-format
+ msgid "cannot take the address of %<this%>, which is an rvalue expression"
+ msgstr "`this' ¤Ï±¦ÊÕÃͼ°¤Ç¤¢¤ê¡¢¤½¤Î¥¢¥É¥ì¥¹¤ò¼è¤ë¤³¤È¤Ï¤Ç¤­¤Þ¤»¤ó"
+
+-#: cp/typeck.c:4701
++#: cp/typeck.c:4709
+ #, fuzzy, gcc-internal-format
+ msgid "address of explicit register variable %qD requested"
+ msgstr "register ÊÑ¿ô `%s' ¤Î¥¢¥É¥ì¥¹¤¬Í׵ᤵ¤ì¤Þ¤·¤¿"
+
+-#: cp/typeck.c:4706
++#: cp/typeck.c:4714
+ #, gcc-internal-format
+ msgid "address requested for %qD, which is declared %<register%>"
+ msgstr ""
+
+-#: cp/typeck.c:4772
++#: cp/typeck.c:4780
+ #, fuzzy, gcc-internal-format
+ msgid "%s expression list treated as compound expression"
+ msgstr "½é´ü²½»Ò¥ê¥¹¥È¤ÏÊ£¹ç¼°¤È¤·¤Æ¼è¤ê°·¤ï¤ì¤Þ¤·¤¿"
+
+-#: cp/typeck.c:5175
++#: cp/typeck.c:5183
+ #, gcc-internal-format
+ msgid "invalid static_cast from type %qT to type %qT"
+ msgstr ""
+
+-#: cp/typeck.c:5197
++#: cp/typeck.c:5205
+ #, fuzzy, gcc-internal-format
+ msgid "converting from %qT to %qT"
+ msgstr "NaN ¤«¤éÀ°¿ô¤Ø¤ÎÊÑ´¹¤Ç¤¹"
+
+-#: cp/typeck.c:5245
++#: cp/typeck.c:5253
+ #, gcc-internal-format
+ msgid "invalid cast of an rvalue expression of type %qT to type %qT"
+ msgstr ""
+
+-#: cp/typeck.c:5304
++#: cp/typeck.c:5312
+ #, fuzzy, gcc-internal-format
+ msgid "cast from %qT to %qT loses precision"
+ msgstr "%s: Á´ÂÎŪ¤ÊÀºÅÙ¤ÎÄã²¼"
+
+-#: cp/typeck.c:5331
++#: cp/typeck.c:5339
+ #, fuzzy, gcc-internal-format
+ msgid "cast from %qT to %qT increases required alignment of target type"
+ msgstr "¥­¥ã¥¹¥È¤Ë¤è¤Ã¤Æ¥Ý¥¤¥ó¥¿¤¬¼¨¤¹·¿¤ÎÍ׵ᥢ¥é¥¤¥ó¥á¥ó¥È¤¬Áý²Ã¤·¤Þ¤¹"
+@@ -32847,155 +32870,155 @@
+ #. where possible, and it is necessary in some cases. DR 195
+ #. addresses this issue, but as of 2004/10/26 is still in
+ #. drafting.
+-#: cp/typeck.c:5351
++#: cp/typeck.c:5359
+ #, gcc-internal-format
+ msgid "ISO C++ forbids casting between pointer-to-function and pointer-to-object"
+ msgstr "ISO C++ ¤Ï´Ø¿ô¥Ý¥¤¥ó¥¿¤È¥ª¥Ö¥¸¥§¥¯¥È¥Ý¥¤¥ó¥¿¤Î´Ö¤Ç¤Î¥­¥ã¥¹¥È¤ò¶Ø¤¸¤Þ¤¹"
+
+-#: cp/typeck.c:5362
++#: cp/typeck.c:5370
+ #, fuzzy, gcc-internal-format
+ msgid "invalid cast from type %qT to type %qT"
+ msgstr "ÉÔ´°Á´¤Ê typedef `%s' ¤Î»ÈÍѤÏÉÔŬÀڤǤ¹"
+
+-#: cp/typeck.c:5418
++#: cp/typeck.c:5426
+ #, gcc-internal-format
+ msgid "invalid use of const_cast with type %qT, which is not a pointer, reference, nor a pointer-to-data-member type"
+ msgstr ""
+
+-#: cp/typeck.c:5427
++#: cp/typeck.c:5435
+ #, gcc-internal-format
+ msgid "invalid use of const_cast with type %qT, which is a pointer or reference to a function type"
+ msgstr ""
+
+-#: cp/typeck.c:5452
++#: cp/typeck.c:5460
+ #, gcc-internal-format
+ msgid "invalid const_cast of an rvalue of type %qT to type %qT"
+ msgstr ""
+
+-#: cp/typeck.c:5503
++#: cp/typeck.c:5511
+ #, gcc-internal-format
+ msgid "invalid const_cast from type %qT to type %qT"
+ msgstr ""
+
+-#: cp/typeck.c:5571 cp/typeck.c:5576
++#: cp/typeck.c:5579 cp/typeck.c:5584
+ #, fuzzy, gcc-internal-format
+ msgid "ISO C++ forbids casting to an array type %qT"
+ msgstr "ISO C ¤Ï¶¦ÍÑÂη¿¤Ø¤Î¥­¥ã¥¹¥È¤ò¶Ø¤¸¤Þ¤¹"
+
+-#: cp/typeck.c:5584
++#: cp/typeck.c:5592
+ #, fuzzy, gcc-internal-format
+ msgid "invalid cast to function type %qT"
+ msgstr "´Ø¿ô `%s' ¤ËÂФ·¤ÆÉÔŬÀÚ¤ÊÊݸ¥¯¥é¥¹"
+
+-#: cp/typeck.c:5804
++#: cp/typeck.c:5812
+ #, gcc-internal-format
+ msgid " in evaluation of %<%Q(%#T, %#T)%>"
+ msgstr ""
+
+-#: cp/typeck.c:5873
++#: cp/typeck.c:5881
+ #, fuzzy, gcc-internal-format
+ msgid "incompatible types in assignment of %qT to %qT"
+ msgstr "%d ÈÖÌܤΰú¿ô¤¬ `%s' ¤Î·¿¤È¸ß´¹À­¤¬¤¢¤ê¤Þ¤»¤ó"
+
+-#: cp/typeck.c:5884
++#: cp/typeck.c:5892
+ #, fuzzy, gcc-internal-format
+ msgid "array used as initializer"
+ msgstr "ÇÛÎó¤ÎÉÔÀµ¤Ê½é´ü²½"
+
+-#: cp/typeck.c:5886
++#: cp/typeck.c:5894
+ #, fuzzy, gcc-internal-format
+ msgid "invalid array assignment"
+ msgstr "ÂåÆþ¤È¤·¤Æ̵¸ú¤Êº¸ÊÕÃͤǤ¹"
+
+-#: cp/typeck.c:5998
++#: cp/typeck.c:6006
+ #, gcc-internal-format
+ msgid " in pointer to member function conversion"
+ msgstr " ¥Ý¥¤¥ó¥¿¤«¤é¥á¥ó¥Ð´Ø¿ô¤Ø¤ÎÊÑ´¹¤Ç"
+
+-#: cp/typeck.c:6009
++#: cp/typeck.c:6017
+ #, fuzzy, gcc-internal-format
+ msgid "pointer to member conversion via virtual base %qT"
+ msgstr " ¥Ý¥¤¥ó¥¿¤«¤é¥á¥ó¥Ð¤Ø¤ÎÊÑ´¹¤Ç"
+
+-#: cp/typeck.c:6049 cp/typeck.c:6061
++#: cp/typeck.c:6057 cp/typeck.c:6069
+ #, gcc-internal-format
+ msgid " in pointer to member conversion"
+ msgstr " ¥Ý¥¤¥ó¥¿¤«¤é¥á¥ó¥Ð¤Ø¤ÎÊÑ´¹¤Ç"
+
+-#: cp/typeck.c:6140
++#: cp/typeck.c:6148
+ #, fuzzy, gcc-internal-format
+ msgid "invalid conversion to type %qT from type %qT"
+ msgstr "̵¸ú¤Ê¥Ð¡¼¥¸¥ç¥óÈÖ¹æ·Á¼°"
+
+-#: cp/typeck.c:6384
++#: cp/typeck.c:6411
+ #, gcc-internal-format
+ msgid "cannot convert %qT to %qT for argument %qP to %qD"
+ msgstr ""
+
+-#: cp/typeck.c:6387
++#: cp/typeck.c:6414
+ #, fuzzy, gcc-internal-format
+ msgid "cannot convert %qT to %qT in %s"
+ msgstr "¥Ý¥¤¥ó¥¿·¿¤ËÊÑ´¹¤Ç¤­¤Þ¤»¤ó"
+
+-#: cp/typeck.c:6398
++#: cp/typeck.c:6425
+ #, fuzzy, gcc-internal-format
+ msgid "%s might be a candidate for a format attribute"
+ msgstr "´Ø¿ô¤Ï¶²¤é¤¯ `%s' format °À­¤Î¸õÊä¤È»×¤ï¤ì¤Þ¤¹"
+
+-#: cp/typeck.c:6485 cp/typeck.c:6487
++#: cp/typeck.c:6512 cp/typeck.c:6514
+ #, fuzzy, gcc-internal-format
+ msgid "in passing argument %P of %q+D"
+ msgstr "°ú¿ô %d ¸Ä¤Î `%s' ¤òÅϤ·¤Þ¤¹"
+
+-#: cp/typeck.c:6537
++#: cp/typeck.c:6564
+ #, gcc-internal-format
+ msgid "returning reference to temporary"
+ msgstr "°ì»þ¥ª¥Ö¥¸¥§¥¯¥È¤Ø¤Î»²¾È¤òÊÖ¤½¤¦¤È¤·¤Æ¤¤¤Þ¤¹"
+
+-#: cp/typeck.c:6544
++#: cp/typeck.c:6571
+ #, gcc-internal-format
+ msgid "reference to non-lvalue returned"
+ msgstr "Èóº¸ÊÕÃͤؤλ²¾È¤¬ÊÖ¤µ¤ì¤Þ¤·¤¿"
+
+-#: cp/typeck.c:6560
++#: cp/typeck.c:6587
+ #, fuzzy, gcc-internal-format
+ msgid "reference to local variable %q+D returned"
+ msgstr "Èóº¸ÊÕÃͤؤλ²¾È¤¬ÊÖ¤µ¤ì¤Þ¤·¤¿"
+
+-#: cp/typeck.c:6563
++#: cp/typeck.c:6590
+ #, fuzzy, gcc-internal-format
+ msgid "address of local variable %q+D returned"
+ msgstr "Í׵ᤵ¤ì¤¿Âç°è¥ì¥¸¥¹¥¿ÊÑ¿ô `%s' ¤Î¥¢¥É¥ì¥¹"
+
+-#: cp/typeck.c:6598
++#: cp/typeck.c:6625
+ #, gcc-internal-format
+ msgid "returning a value from a destructor"
+ msgstr "¥Ç¥¹¥È¥é¥¯¥¿¤«¤éÃͤòÊÖ¤½¤¦¤È¤·¤Æ¤¤¤Þ¤¹"
+
+ #. If a return statement appears in a handler of the
+ #. function-try-block of a constructor, the program is ill-formed.
+-#: cp/typeck.c:6606
++#: cp/typeck.c:6633
+ #, gcc-internal-format
+ msgid "cannot return from a handler of a function-try-block of a constructor"
+ msgstr "¥³¥ó¥¹¥È¥é¥¯¥¿¤Î´Ø¿ô try ¥Ö¥í¥Ã¥¯¤Î¥Ï¥ó¥É¥é¤«¤é¤Ï return ¤Ç¤­¤Þ¤»¤ó"
+
+ #. You can't return a value from a constructor.
+-#: cp/typeck.c:6609
++#: cp/typeck.c:6636
+ #, gcc-internal-format
+ msgid "returning a value from a constructor"
+ msgstr "¥³¥ó¥¹¥È¥é¥¯¥¿¤«¤éÃͤòÊÖ¤½¤¦¤È¤·¤Æ¤¤¤Þ¤¹"
+
+-#: cp/typeck.c:6633
++#: cp/typeck.c:6661
+ #, fuzzy, gcc-internal-format
+ msgid "return-statement with no value, in function returning %qT"
+ msgstr "Ìá¤ê·¿¤¬´Ø¿ô¤Ç¡¢`return' ¤ËÃͤ¬¤¢¤ê¤Þ¤»¤ó"
+
+-#: cp/typeck.c:6654
++#: cp/typeck.c:6682
+ #, fuzzy, gcc-internal-format
+ msgid "return-statement with a value, in function returning 'void'"
+ msgstr "Ìá¤ê·¿¤¬ void ¤Î´Ø¿ô¤Ç¡¢`return' ¤ËÃͤ¬¤¢¤ê¤Þ¤¹"
+
+-#: cp/typeck.c:6685
++#: cp/typeck.c:6713
+ #, gcc-internal-format
+ msgid "%<operator new%> must not return NULL unless it is declared %<throw()%> (or -fcheck-new is in effect)"
+ msgstr ""
+@@ -33181,57 +33204,57 @@
+ msgid "pointer to member type %qT incompatible with object type %qT"
+ msgstr ""
+
+-#: cp/typeck2.c:1495
++#: cp/typeck2.c:1508
+ #, fuzzy, gcc-internal-format
+ msgid "call to function %qD which throws incomplete type %q#T"
+ msgstr "ÉÔ´°Á´·¿¤Ø¤ÎÊÑ´¹¤Ç¤¹"
+
+-#: cp/typeck2.c:1498
++#: cp/typeck2.c:1511
+ #, fuzzy, gcc-internal-format
+ msgid "call to function which throws incomplete type %q#T"
+ msgstr "ÉÔ´°Á´·¿¤Ø¤ÎÊÑ´¹¤Ç¤¹"
+
+-#: fortran/f95-lang.c:233
++#: fortran/f95-lang.c:235
+ #, gcc-internal-format
+ msgid "Unexpected type in truthvalue_conversion"
+ msgstr ""
+
+-#: fortran/f95-lang.c:289
++#: fortran/f95-lang.c:291
+ #, fuzzy, gcc-internal-format
+ msgid "can't open input file: %s"
+ msgstr "ÆþÎÏ¥Õ¥¡¥¤¥ë %s ¤ò close ¤Ç¤­¤Þ¤»¤ó"
+
+-#: fortran/f95-lang.c:629
++#: fortran/f95-lang.c:631
+ #, fuzzy, gcc-internal-format
+ msgid "global register variable %qs used in nested function"
+ msgstr "Âç°è¥ì¥¸¥¹¥¿ÊÑ¿ô `%s' ¤¬Æþ¤ì»Ò´Ø¿ô¤ÎÃæ¤Ç»È¤ï¤ì¤Þ¤·¤¿"
+
+-#: fortran/f95-lang.c:633
++#: fortran/f95-lang.c:635
+ #, fuzzy, gcc-internal-format
+ msgid "register variable %qs used in nested function"
+ msgstr "¥ì¥¸¥¹¥¿ÊÑ¿ô `%s' ¤¬Æþ¤ì»Ò´Ø¿ô¤ÎÃæ¤Ç»È¤ï¤ì¤Þ¤·¤¿"
+
+-#: fortran/f95-lang.c:640
++#: fortran/f95-lang.c:642
+ #, fuzzy, gcc-internal-format
+ msgid "address of global register variable %qs requested"
+ msgstr "Í׵ᤵ¤ì¤¿Âç°è¥ì¥¸¥¹¥¿ÊÑ¿ô `%s' ¤Î¥¢¥É¥ì¥¹"
+
+-#: fortran/f95-lang.c:658
++#: fortran/f95-lang.c:660
+ #, fuzzy, gcc-internal-format
+ msgid "address of register variable %qs requested"
+ msgstr "register ÊÑ¿ô `%s' ¤Î¥¢¥É¥ì¥¹¤¬Í׵ᤵ¤ì¤Þ¤·¤¿"
+
+-#: fortran/trans-array.c:3765
++#: fortran/trans-array.c:3805
+ #, gcc-internal-format
+ msgid "Possible frontend bug: array constructor not expanded"
+ msgstr ""
+
+-#: fortran/trans-array.c:5418
++#: fortran/trans-array.c:5499
+ #, gcc-internal-format
+ msgid "Possible frontend bug: Deferred array size without pointer, allocatable attribute or derived type without allocatable components."
+ msgstr ""
+
+-#: fortran/trans-array.c:5894
++#: fortran/trans-array.c:5975
+ #, gcc-internal-format
+ msgid "bad expression type during walk (%d)"
+ msgstr ""
+@@ -33241,27 +33264,27 @@
+ msgid "gfc_conv_constant_to_tree(): invalid type: %s"
+ msgstr ""
+
+-#: fortran/trans-decl.c:966
++#: fortran/trans-decl.c:972
+ #, gcc-internal-format
+ msgid "intrinsic variable which isn't a procedure"
+ msgstr ""
+
+-#: fortran/trans-decl.c:2639
++#: fortran/trans-decl.c:2644
+ #, fuzzy, gcc-internal-format
+ msgid "Function does not return a value"
+ msgstr "´Ø¿ô¤¬Ê¸»úÎ󷿤òÊÖ¤·¤Þ¤»¤ó"
+
+-#: fortran/trans-decl.c:2817
++#: fortran/trans-decl.c:2832
+ #, gcc-internal-format
+ msgid "backend decl for module variable %s already exists"
+ msgstr ""
+
+-#: fortran/trans-decl.c:3351
++#: fortran/trans-decl.c:3314
+ #, fuzzy, gcc-internal-format
+ msgid "Function return value not set"
+ msgstr "´Ø¿ô¤¬½¸¹çÂΤòÊÖ¤·¤Æ¤¤¤Þ¤¹"
+
+-#: fortran/trans-expr.c:1163
++#: fortran/trans-expr.c:1177
+ #, gcc-internal-format
+ msgid "Unknown intrinsic op"
+ msgstr ""
+@@ -33271,32 +33294,32 @@
+ msgid "Intrinsic function %s(%d) not recognized"
+ msgstr "¸À¸ì %s ¤Ïǧ¼±¤Ç¤­¤Þ¤»¤ó"
+
+-#: fortran/trans-io.c:1928
++#: fortran/trans-io.c:1929
+ #, gcc-internal-format
+ msgid "Bad IO basetype (%d)"
+ msgstr ""
+
+-#: fortran/trans-types.c:386
++#: fortran/trans-types.c:387
+ #, gcc-internal-format
+ msgid "integer kind=8 not available for -fdefault-integer-8 option"
+ msgstr ""
+
+-#: fortran/trans-types.c:409
++#: fortran/trans-types.c:410
+ #, gcc-internal-format
+ msgid "real kind=8 not available for -fdefault-real-8 option"
+ msgstr ""
+
+-#: fortran/trans-types.c:422
++#: fortran/trans-types.c:423
+ #, gcc-internal-format
+ msgid "Use of -fdefault-double-8 requires -fdefault-real-8"
+ msgstr ""
+
+-#: fortran/trans-types.c:1181
++#: fortran/trans-types.c:1185
+ #, gcc-internal-format
+ msgid "Array element size too big"
+ msgstr ""
+
+-#: fortran/trans.c:1150
++#: fortran/trans.c:1151
+ #, gcc-internal-format
+ msgid "gfc_trans_code(): Bad statement code"
+ msgstr ""
+@@ -33356,88 +33379,88 @@
+ msgid "need to insert runtime check for %s"
+ msgstr ""
+
+-#: java/expr.c:505 java/expr.c:552
++#: java/expr.c:524 java/expr.c:571
+ #, gcc-internal-format
+ msgid "assert: %s is assign compatible with %s"
+ msgstr ""
+
+-#: java/expr.c:670
++#: java/expr.c:689
+ #, gcc-internal-format
+ msgid "stack underflow - dup* operation"
+ msgstr "¥¹¥¿¥Ã¥¯¥¢¥ó¥À¡¼¥Õ¥í¡¼ - dup* Áàºî"
+
+-#: java/expr.c:1657
++#: java/expr.c:1676
+ #, fuzzy, gcc-internal-format
+ msgid "reference %qs is ambiguous: appears in interface %qs and interface %qs"
+ msgstr "»²¾È `%s' ¤ÏÛ£Ëæ¤Ç¤¹: interface `%s' ¤È interface `%s' ¤Ë¸½¤ì¤Þ¤·¤¿"
+
+-#: java/expr.c:1685
++#: java/expr.c:1704
+ #, fuzzy, gcc-internal-format
+ msgid "field %qs not found"
+ msgstr "¥Õ¥£¡¼¥ë¥É `%s' ¤¬¸«¤Ä¤«¤ê¤Þ¤»¤ó"
+
+-#: java/expr.c:2224
++#: java/expr.c:2243
+ #, gcc-internal-format
+ msgid "method '%s' not found in class"
+ msgstr "¥á¥½¥Ã¥É '%s' ¤Ï¥¯¥é¥¹Æâ¤Ë¸«¤Ä¤«¤ê¤Þ¤»¤ó"
+
+-#: java/expr.c:2429
++#: java/expr.c:2448
+ #, gcc-internal-format
+ msgid "failed to find class '%s'"
+ msgstr "'%s' ¥¯¥é¥¹¤ò¸«¤Ä¤±¤ë¤Î¤Ë¼ºÇÔ¤·¤Þ¤·¤¿"
+
+-#: java/expr.c:2470
++#: java/expr.c:2489
+ #, fuzzy, gcc-internal-format
+ msgid "class '%s' has no method named '%s' matching signature '%s'"
+ msgstr "¥¯¥é¥¹ '%s' ¤Ï̾Á°¤¬ '%s' ¤Ç¥·¥°¥Í¥¤¥Á¥ã '%s' ¤È°ìÃפ¹¤ë¥á¥½¥Ã¥É¤ò»ý¤Ã¤Æ¤¤¤Þ¤»¤ó"
+
+-#: java/expr.c:2501
++#: java/expr.c:2520
+ #, gcc-internal-format
+ msgid "invokestatic on non static method"
+ msgstr "ÈóÀÅŪ¥á¥½¥Ã¥É¤Ë invokestatic ¤·¤Þ¤·¤¿"
+
+-#: java/expr.c:2506
++#: java/expr.c:2525
+ #, gcc-internal-format
+ msgid "invokestatic on abstract method"
+ msgstr "Ãê¾Ý¥á¥½¥Ã¥É¤Ë invokestatic ¤·¤Þ¤·¤¿"
+
+-#: java/expr.c:2514
++#: java/expr.c:2533
+ #, gcc-internal-format
+ msgid "invoke[non-static] on static method"
+ msgstr "ÀÅŪ¥á¥½¥Ã¥É¤Ë invoke[Èó static] ¤·¤Þ¤·¤¿"
+
+-#: java/expr.c:2865
++#: java/expr.c:2890
+ #, fuzzy, gcc-internal-format
+ msgid "missing field '%s' in '%s'"
+ msgstr "¥Õ¥£¡¼¥ë¥É '%s'('%s' Æâ) ¤ò·ç¤¤¤Æ¤¤¤Þ¤¹"
+
+-#: java/expr.c:2872
++#: java/expr.c:2897
+ #, fuzzy, gcc-internal-format
+ msgid "mismatching signature for field '%s' in '%s'"
+ msgstr "¥Õ¥£¡¼¥ë¥É '%s'('%s' Æâ) ¤Î¥·¥°¥Í¥¤¥Á¥ã¤¬°ìÃפ·¤Þ¤»¤ó"
+
+-#: java/expr.c:2901
++#: java/expr.c:2926
+ #, fuzzy, gcc-internal-format
+ msgid "assignment to final field %q+D not in field's class"
+ msgstr "final ¥Õ¥£¡¼¥ë¥É `%s' ¤Ø¤ÎÂåÆþ¤Ç¤¹¤¬¡¢¤½¤Î¥Õ¥£¡¼¥ë¥É¤Î¥¯¥é¥¹Æâ¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó"
+
+-#: java/expr.c:3123
++#: java/expr.c:3148
+ #, gcc-internal-format
+ msgid "invalid PC in line number table"
+ msgstr "̵¸ú¤Ê PC ¤¬¹ÔÈÖ¹æ¥Æ¡¼¥Ö¥ë¤Ë¤¢¤ê¤Þ¤¹"
+
+-#: java/expr.c:3173
++#: java/expr.c:3198
+ #, fuzzy, gcc-internal-format
+ msgid "unreachable bytecode from %d to before %d"
+ msgstr "%d ¤«¤é %d ¤ÎÁ°¤Þ¤Ç¤Î¥Ð¥¤¥È¥³¡¼¥É¤Ë¤ÏÅþã¤Ç¤­¤Þ¤»¤ó"
+
+-#: java/expr.c:3217
++#: java/expr.c:3242
+ #, fuzzy, gcc-internal-format
+ msgid "unreachable bytecode from %d to the end of the method"
+ msgstr "%d ¤«¤é¥á¥½¥Ã¥É¤Î½ª¤ê¤Þ¤Ç¤Î¥Ð¥¤¥È¥³¡¼¥É¤Ë¤ÏÅþã¤Ç¤­¤Þ¤»¤ó"
+
+ #. duplicate code from LOAD macro
+-#: java/expr.c:3522
++#: java/expr.c:3547
+ #, gcc-internal-format
+ msgid "unrecogized wide sub-instruction"
+ msgstr "ǧ¼±¤Ç¤­¤Ê¤¤ wide sub Ì¿Îá¤Ç¤¹"
+@@ -33503,27 +33526,27 @@
+ msgid "%Hduplicate class will only be compiled once"
+ msgstr ""
+
+-#: java/jcf-parse.c:1636
++#: java/jcf-parse.c:1638
+ #, gcc-internal-format
+ msgid "missing Code attribute"
+ msgstr "Code °À­¤ò·ç¤¤¤Æ¤¤¤Þ¤¹"
+
+-#: java/jcf-parse.c:1858
++#: java/jcf-parse.c:1860
+ #, gcc-internal-format
+ msgid "no input file specified"
+ msgstr "ÆþÎÏ¥Õ¥¡¥¤¥ë¤¬»ØÄꤵ¤ì¤Æ¤¤¤Þ¤»¤ó"
+
+-#: java/jcf-parse.c:1893
++#: java/jcf-parse.c:1895
+ #, fuzzy, gcc-internal-format
+ msgid "can't close input file %s: %m"
+ msgstr "ÆþÎÏ¥Õ¥¡¥¤¥ë %s ¤ò close ¤Ç¤­¤Þ¤»¤ó"
+
+-#: java/jcf-parse.c:1940
++#: java/jcf-parse.c:1942
+ #, gcc-internal-format
+ msgid "bad zip/jar file %s"
+ msgstr "zip/jar ¥Õ¥¡¥¤¥ë %s ¤ÏÉÔÀµ¤Ç¤¹"
+
+-#: java/jcf-parse.c:2145
++#: java/jcf-parse.c:2152
+ #, fuzzy, gcc-internal-format
+ msgid "error while reading %s from zip file"
+ msgstr "¥Õ¥£¡¼¥ë¥É¤Î¹½Ê¸²òÀÏÃæ¤Ë¥¨¥é¡¼¤¬È¯À¸¤·¤Þ¤·¤¿"
+@@ -33533,22 +33556,22 @@
+ msgid "warning: already-compiled .class files ignored with -C"
+ msgstr "·Ù¹ð: ¥³¥ó¥Ñ¥¤¥ëºÑ .class ¥Õ¥¡¥¤¥ë¤Ï -C ¤Ë¤è¤ê̵»ë¤µ¤ì¤Þ¤·¤¿"
+
+-#: java/lang.c:590
++#: java/lang.c:594
+ #, gcc-internal-format
+ msgid "-findirect-dispatch is incompatible with -freduced-reflection"
+ msgstr ""
+
+-#: java/lang.c:593
++#: java/lang.c:597
+ #, fuzzy, gcc-internal-format
+ msgid "-fjni is incompatible with -freduced-reflection"
+ msgstr "-G ¤Ï¥Ç¥Õ¥©¥ë¥È¤Î PIC ¥³¡¼¥É¤È¶¦Â¸¤Ç¤­¤Þ¤»¤ó"
+
+-#: java/lang.c:604
++#: java/lang.c:608
+ #, gcc-internal-format
+ msgid "can't do dependency tracking with input from stdin"
+ msgstr "ɸ½àÆþÎϤ«¤é¤ÎÆþÎϤǤϰ͸´Ø·¸¤ÎÄÉÀפ¬¤Ç¤­¤Þ¤»¤ó"
+
+-#: java/lang.c:620
++#: java/lang.c:624
+ #, gcc-internal-format
+ msgid "couldn't determine target name for dependency tracking"
+ msgstr "°Í¸´Ø·¸¤ÎÄÉÀפΤ¿¤á¤Î¥¿¡¼¥²¥Ã¥È̾¤¬ÆÃÄê¤Ç¤­¤Þ¤»¤ó¤Ç¤·¤¿"
+@@ -34622,42 +34645,108 @@
+ #~ msgid "Unknown CPU version %d, using 40.\n"
+ #~ msgstr "ÉÔÌÀ¤Ê CPU ¥Ð¡¼¥¸¥ç¥ó %d¡¢40 ¤ò»ÈÍѤ·¤Þ¤¹¡£\n"
+
++#~ msgid "ISR %s requires %d words of local vars, max is 32767."
++#~ msgstr "ISR %s ¤Ï %d ¥ï¡¼¥É¤Î¥í¡¼¥«¥ëÊÑ¿ô¤òÍ׵ᤷ¡¢ºÇÂç¤Ï 32767 ¤Ç¤¹¡£"
++
++#~ msgid "Small memory model"
++#~ msgstr "¥¹¥â¡¼¥ë¥á¥â¥ê¥â¥Ç¥ë"
++
++#~ msgid "Big memory model"
++#~ msgstr "¥Ó¥Ã¥°¥á¥â¥ê¥â¥Ç¥ë"
++
++#~ msgid "Use MPYI instruction for C3x"
++#~ msgstr "MPYI Ì¿Îá¤ò C3x ÍѤ˻ÈÍѤ¹¤ë"
++
+ #~ msgid "Do not use MPYI instruction for C3x"
+ #~ msgstr "MPYI Ì¿Îá¤ò C3x ÍѤ˻ÈÍѤ·¤Ê¤¤"
+
++#~ msgid "Use fast but approximate float to integer conversion"
++#~ msgstr "¹â®¤À¤¬¶á»÷ÃͤȤʤëÉâÆ°¾®¿ô¤«¤éÀ°¿ô¤Ø¤ÎÊÑ´¹¤òÍøÍѤ¹¤ë"
++
+ #~ msgid "Use slow but accurate float to integer conversion"
+ #~ msgstr "Ä㮤À¤¬Àµ³Î¤ÊÉâÆ°¾®¿ô¤«¤éÀ°¿ô¤Ø¤ÎÊÑ´¹¤òÍøÍѤ¹¤ë"
+
+ #~ msgid "Disable use of RTPS instruction"
+ #~ msgstr "RTPS Ì¿Îá¤ÎÍøÍѤò̵¸ú¤Ë¤¹¤ë"
+
++#~ msgid "Enable use of RTPB instruction"
++#~ msgstr "RTPB Ì¿Îá¤ÎÍøÍѤòÍ­¸ú¤Ë¤¹¤ë"
++
+ #~ msgid "Disable use of RTPB instruction"
+ #~ msgstr "RTPB Ì¿Îá¤ÎÍøÍѤò̵¸ú¤Ë¤¹¤ë"
+
++#~ msgid "Generate code for C31 CPU"
++#~ msgstr "C31 CPU ÍѤΥ³¡¼¥É¤òÀ¸À®¤¹¤ë"
++
++#~ msgid "Generate code for C32 CPU"
++#~ msgstr "C32 CPU ÍѤΥ³¡¼¥É¤òÀ¸À®¤¹¤ë"
++
++#~ msgid "Generate code for C33 CPU"
++#~ msgstr "C33 CPU ÍѤΥ³¡¼¥É¤òÀ¸À®¤¹¤ë"
++
++#~ msgid "Generate code for C44 CPU"
++#~ msgstr "C44 CPU ÍѤΥ³¡¼¥É¤òÀ¸À®¤¹¤ë"
++
++#~ msgid "Emit code compatible with TI tools"
++#~ msgstr "TI ¥Ä¡¼¥ë¸ß´¹¤Î¥³¡¼¥É¤òȯ¹Ô¤¹¤ë"
++
+ #~ msgid "Emit code to use GAS extensions"
+ #~ msgstr "GAS ³ÈÄ¥¤òÍøÍѤ¹¤ë¥³¡¼¥É¤òȯ¹Ô¤¹¤ë"
+
++#~ msgid "Save DP across ISR in small memory model"
++#~ msgstr "¥¹¥â¡¼¥ë¥á¥â¥ê¥â¥Ç¥ë¤Ç ISR ¤ò¸Ù¤ë DP ¤ò¥»¡¼¥Ö¤¹¤ë"
++
+ #~ msgid "Don't save DP across ISR in small memory model"
+ #~ msgstr "¥¹¥â¡¼¥ë¥â¥Ç¥ë¤Ç ISR ¤ò¸Ù¤ë DP ¤ò¥»¡¼¥Ö¤·¤Ê¤¤"
+
++#~ msgid "Pass arguments on the stack"
++#~ msgstr "°ú¿ô¤ò¥¹¥¿¥Ã¥¯ÅϤ·¤Ë¤¹¤ë"
++
++#~ msgid "Pass arguments in registers"
++#~ msgstr "°ú¿ô¤ò¥ì¥¸¥¹¥¿ÅϤ·¤Ë¤¹¤ë"
++
++#~ msgid "Enable new features under development"
++#~ msgstr "³«È¯Ãæ¤Î¿·µ¡Ç½¤òÍ­¸ú¤Ë¤¹¤ë"
++
+ #~ msgid "Disable new features under development"
+ #~ msgstr "³«È¯Ãæ¤Î¿·µ¡Ç½¤ò̵¸ú¤Ë¤¹¤ë"
+
++#~ msgid "Force constants into registers to improve hoisting"
++#~ msgstr "´¬¤­¾å¤²(hoist)¤ò²þÁ±¤¹¤ë¤¿¤áÄê¿ô¤ò¥ì¥¸¥¹¥¿¤Ë³ä¤êÅö¤Æ¤ë¤³¤È¤ò¶¯Íפ¹¤ë"
++
+ #~ msgid "Don't force constants into registers"
+ #~ msgstr "Äê¿ô¤Î¥ì¥¸¥¹¥¿³ä¤êÅö¤Æ¤ò¶¯Íפ·¤Ê¤¤"
+
++#~ msgid "Force RTL generation to emit valid 3 operand insns"
++#~ msgstr "RTL À¸À®¤Ë¤Ä¤¤¤Æ¡¢Àµ¾ï¤Ê 3 ¥ª¥Ú¥é¥ó¥ÉÌ¿Îá¤ò¶¯Íפ¹¤ë"
++
+ #~ msgid "Allow RTL generation to emit invalid 3 operand insns"
+ #~ msgstr "RTL À¸À®¤Ë¤Ä¤¤¤Æ¡¢Ìµ¸ú¤Ê 3 ¥ª¥Ú¥é¥ó¥ÉÌ¿Îá¤òµöÍƤ¹¤ë"
+
++#~ msgid "Allow unsigned interation counts for RPTB/DB"
++#~ msgstr "Éä¹ç̵¤·¤Î RPTB/DB ÍѤÎÈ¿Éü¥«¥¦¥ó¥È¤òµöÍƤ¹¤ë"
++
+ #~ msgid "Disallow unsigned iteration counts for RPTB/DB"
+ #~ msgstr "Éä¹ç̵¤·¤Î RPTB/DB ÍѤÎÈ¿Éü¥«¥¦¥ó¥È¤òµöÍƤ·¤Ê¤¤"
+
++#~ msgid "Preserve all 40 bits of FP reg across call"
++#~ msgstr "¸Æ¤Ó½Ð¤·¤Î´Ö FP ¥ì¥¸¥¹¥¿¤Î 40 ¥Ó¥Ã¥ÈÁ´¤Æ¤òÊݸ¤¹¤ë"
++
+ #~ msgid "Only preserve 32 bits of FP reg across call"
+ #~ msgstr "¸Æ¤Ó½Ð¤·¤Î´Ö FP ¥ì¥¸¥¹¥¿¤Î 32 ¥Ó¥Ã¥È¤À¤±¤òÊݸ¤¹¤ë"
+
++#~ msgid "Enable parallel instructions"
++#~ msgstr "ÊÂÎóÌ¿Îá¤òÍ­¸ú¤Ë¤¹¤ë"
++
++#~ msgid "Enable MPY||ADD and MPY||SUB instructions"
++#~ msgstr "MPY||ADD ¤ª¤è¤Ó MPY||SUB Ì¿Îá¤òÍ­¸ú¤Ë¤¹¤ë"
++
+ #~ msgid "Disable MPY||ADD and MPY||SUB instructions"
+ #~ msgstr "MPY||ADD ¤ª¤è¤Ó MPY||SUB Ì¿Îá¤ò̵¸ú¤Ë¤¹¤ë"
+
++#~ msgid "Assume that pointers may be aliased"
++#~ msgstr "¥Ý¥¤¥ó¥¿¤¬ÊÌ̾¤È¤Ê¤ê¤¦¤ë¤³¤È¤òÁ°Äó¤È¤¹¤ë"
++
+ #~ msgid "Generate code for the C400"
+ #~ msgstr "C400 ÍѤΥ³¡¼¥É¤òÀ¸À®¤¹¤ë"
+
+@@ -35667,9 +35756,6 @@
+ #~ msgid "ANSI C++ forbids non-constant aggregate initializer expressions"
+ #~ msgstr "ANSI C++ ¤ÏÄê¿ô¤Ç¤Ê¤¤½¸¹çÂΤνé´ü²½»Ò¼°¤ò¶Ø¤¸¤Þ¤¹"
+
+-#~ msgid "initializing array with parameter list"
+-#~ msgstr "ÇÛÎó¤ò²¾°ú¿ô¥ê¥¹¥È¤Ë¤è¤Ã¤Æ½é´ü²½¤·¤è¤¦¤È¤·¤Æ¤¤¤Þ¤¹"
+-
+ #~ msgid "initializer for scalar variable requires one element"
+ #~ msgstr "¥¹¥«¥é¡¼ÊÑ¿ô¤Î½é´ü²½»Ò¤Ï°ì¤Ä¤ÎÍ×ÁǤòÍ׵ᤷ¤Þ¤¹"
+
+@@ -35707,6 +35793,9 @@
+ #~ msgid "integer constant contains digits beyond the radix"
+ #~ msgstr "À°¿ôÄê¿ô¤¬´ð¿ô¤òĶ¤¨¤¿¿ôÃͤò´Þ¤ó¤Ç¤¤¤Þ¤¹"
+
++#~ msgid "integer constant out of range"
++#~ msgstr "À°¿ôÄê¿ô¤¬ÈϰϤò³°¤ì¤Æ¤¤¤Þ¤¹"
++
+ #~ msgid "invalid suffix '%.*s' on integer constant"
+ #~ msgstr "ÀÜÈø¼­ '%.*s' ¤ÏÀ°¿ôÄê¿ô¤Ë¤Ï̵¸ú¤Ç¤¹"
+
+@@ -36139,9 +36228,6 @@
+ #~ msgid "anonymous variadic macros were introduced in C99"
+ #~ msgstr "̵̾²ÄÊÑ°ú¿ô¥Þ¥¯¥í¤Ï C99 ¤ÇºÎ¤êÆþ¤ì¤é¤ì¤Þ¤·¤¿"
+
+-#~ msgid "missing ')' in macro parameter list"
+-#~ msgstr "¥Þ¥¯¥í²¾°ú¿ô¥ê¥¹¥È¤Ç¡¢')' ¤ò·ç¤¤¤Æ¤¤¤Þ¤¹"
+-
+ #~ msgid "ISO C requires whitespace after the macro name"
+ #~ msgstr "ISO C ¤Ç¤Ï¥Þ¥¯¥í̾¤Î¸å¤í¤Ë¶õÇò¤òÍ׵ᤷ¤Þ¤¹"
+
+@@ -36956,6 +37042,9 @@
+ #~ msgid "Copy memory operands into registers before using"
+ #~ msgstr "¥á¥â¥ê¥ª¥Ú¥é¥ó¥É¤òÍøÍѤ¹¤ëÁ°¤Ë¥ì¥¸¥¹¥¿¤Ø¥³¥Ô¡¼¤¹¤ë"
+
++#~ msgid "Copy memory address constants into regs before using"
++#~ msgstr "¥á¥â¥ê¥¢¥É¥ì¥¹Äê¿ô¤òÍøÍѤ¹¤ëÁ°¤Ë¥ì¥¸¥¹¥¿¤Ø¥³¥Ô¡¼¤¹¤ë"
++
+ #~ msgid "Mark data as shared rather than private"
+ #~ msgstr "¥Ç¡¼¥¿¤ò¥×¥é¥¤¥Ù¡¼¥È¤Ç¤Ï¤Ê¤¯¶¦Í­¤µ¤ì¤ë¤è¤¦¥Þ¡¼¥¯¤¹¤ë"
+
+@@ -37010,9 +37099,6 @@
+ #~ msgid "Don't warn about too many arguments to format functions"
+ #~ msgstr "format ´Ø¿ô¤Ø¤Î¿¤¹¤®¤ë°ú¿ô¤Ë´Ø¤¹¤ë·Ù¹ð¤·¤Ê¤¤"
+
+-#~ msgid "Warn when trigraphs are encountered"
+-#~ msgstr "¥È¥é¥¤¥°¥é¥Õ¤òȯ¸«¤·¤¿¤È¤­¤Ë·Ù¹ð¤¹¤ë"
+-
+ #~ msgid "Mark strings as 'const char *'"
+ #~ msgstr "ʸ»úÎó¤ò 'const char *' ¤È¤·¤Æ¥Þ¡¼¥¯¤¹¤ë"
+
+Index: gcc/po/zh_TW.po
+===================================================================
+--- gcc/po/zh_TW.po (.../tags/gcc_4_3_0_release) (revision 133808)
++++ gcc/po/zh_TW.po (.../branches/gcc-4_3-branch) (revision 133808)
+@@ -8,7 +8,7 @@
+ msgstr ""
+ "Project-Id-Version: gcc 4.1.0\n"
+ "Report-Msgid-Bugs-To: http://gcc.gnu.org/bugs.html\n"
+-"POT-Creation-Date: 2007-11-08 21:09+0000\n"
++"POT-Creation-Date: 2008-03-05 17:23+0100\n"
+ "PO-Revision-Date: 2006-03-28 09:19+0800\n"
+ "Last-Translator: Wei-Lun Chao <chaoweilun@pcmail.com.tw>\n"
+ "Language-Team: Chinese (traditional) <zh-l10n@linux.org.tw>\n"
+@@ -17,7 +17,7 @@
+ "Content-Transfer-Encoding: 8bit\n"
+ "Plural-Forms: nplurals=1; plural=0;\n"
+
+-#: c-decl.c:3814
++#: c-decl.c:3813
+ msgid "<anonymous>"
+ msgstr "<anonymous>"
+
+@@ -300,54 +300,54 @@
+ msgid "End of search list.\n"
+ msgstr "æœå°‹æ¸…å–®çµæŸã€‚\n"
+
+-#: c-opts.c:1484
++#: c-opts.c:1505
+ msgid "<built-in>"
+ msgstr "<built-in>"
+
+-#: c-opts.c:1502
++#: c-opts.c:1523
+ #, fuzzy
+ msgid "<command-line>"
+ msgstr "<command line>"
+
+-#: c-typeck.c:2448 c-typeck.c:4851 c-typeck.c:4853 c-typeck.c:4861
+-#: c-typeck.c:4891 c-typeck.c:6267
++#: c-typeck.c:2459 c-typeck.c:4862 c-typeck.c:4864 c-typeck.c:4872
++#: c-typeck.c:4902 c-typeck.c:6278
+ msgid "initializer element is not constant"
+ msgstr "åˆå§‹å€¼è¨­å®šå…ƒç´ ä¸æ˜¯å¸¸æ•¸"
+
+-#: c-typeck.c:4654
++#: c-typeck.c:4665
+ msgid "array initialized from parenthesized string constant"
+ msgstr "用括號中的字串常數åˆå§‹åŒ–陣列"
+
+-#: c-typeck.c:4715 cp/typeck2.c:677
++#: c-typeck.c:4726 cp/typeck2.c:677
+ #, gcc-internal-format
+ msgid "char-array initialized from wide string"
+ msgstr "用寬字串åˆå§‹åŒ– char 陣列"
+
+-#: c-typeck.c:4720
++#: c-typeck.c:4731
+ msgid "wchar_t-array initialized from non-wide string"
+ msgstr "用窄字串åˆå§‹åŒ– wchar_t 陣列"
+
+-#: c-typeck.c:4738 cp/typeck2.c:697
++#: c-typeck.c:4749 cp/typeck2.c:697
+ #, gcc-internal-format
+ msgid "initializer-string for array of chars is too long"
+ msgstr "用以åˆå§‹åŒ–字元陣列的字串太長"
+
+-#: c-typeck.c:4744
++#: c-typeck.c:4755
+ msgid "array of inappropriate type initialized from string constant"
+ msgstr "用字串常數åˆå§‹åŒ–的陣列類型ä¸åˆé©"
+
+ #. ??? This should not be an error when inlining calls to
+ #. unprototyped functions.
+-#: c-typeck.c:4808 c-typeck.c:4333 cp/typeck.c:1528
++#: c-typeck.c:4819 c-typeck.c:4344 cp/typeck.c:1574
+ #, gcc-internal-format
+ msgid "invalid use of non-lvalue array"
+ msgstr "å°éžå·¦å€¼é™£åˆ—的無效使用"
+
+-#: c-typeck.c:4834
++#: c-typeck.c:4845
+ msgid "array initialized from non-constant array expression"
+ msgstr "用éžå¸¸æ•¸çš„陣列é‹ç®—å¼åˆå§‹åŒ–陣列"
+
+-#: c-typeck.c:4898 c-typeck.c:6271
++#: c-typeck.c:4909 c-typeck.c:6282
+ #, gcc-internal-format
+ msgid "initializer element is not computable at load time"
+ msgstr "åˆå§‹å€¼è¨­å®šä¸­çš„元素在載入時無法被計算出"
+@@ -356,141 +356,141 @@
+ #. of VLAs themselves count as VLAs, it does not make
+ #. sense to permit them to be initialized given that
+ #. ordinary VLAs may not be initialized.
+-#: c-typeck.c:4909 c-decl.c:3222 c-decl.c:3237
++#: c-typeck.c:4920 c-decl.c:3220 c-decl.c:3235
+ #, gcc-internal-format
+ msgid "variable-sized object may not be initialized"
+ msgstr "å¯è®Šå¤§å°çš„物件ä¸èƒ½è¢«åˆå§‹åŒ–"
+
+-#: c-typeck.c:4913
++#: c-typeck.c:4924
+ msgid "invalid initializer"
+ msgstr "無效的åˆå§‹å€¼è¨­å®š"
+
+-#: c-typeck.c:5387
++#: c-typeck.c:5398
+ msgid "extra brace group at end of initializer"
+ msgstr "åˆå§‹å€¼è¨­å®šé …末尾有多餘的大括號組"
+
+-#: c-typeck.c:5407
++#: c-typeck.c:5418
+ msgid "missing braces around initializer"
+ msgstr "åˆå§‹å€¼è¨­å®šå‘¨åœç¼ºå°‘大括號"
+
+-#: c-typeck.c:5468
++#: c-typeck.c:5479
+ msgid "braces around scalar initializer"
+ msgstr "標é‡åˆå§‹åŒ–帶大括號"
+
+-#: c-typeck.c:5525
++#: c-typeck.c:5536
+ msgid "initialization of flexible array member in a nested context"
+ msgstr "在巢狀的上下文中åˆå§‹åŒ–彈性陣列æˆå“¡"
+
+-#: c-typeck.c:5527
++#: c-typeck.c:5538
+ msgid "initialization of a flexible array member"
+ msgstr "å°å½ˆæ€§é™£åˆ—æˆå“¡çš„åˆå§‹åŒ–"
+
+-#: c-typeck.c:5554
++#: c-typeck.c:5565
+ msgid "missing initializer"
+ msgstr "缺少åˆå§‹å€¼è¨­å®š"
+
+-#: c-typeck.c:5576
++#: c-typeck.c:5587
+ msgid "empty scalar initializer"
+ msgstr "空的標é‡åˆå§‹å€¼è¨­å®šé …"
+
+-#: c-typeck.c:5581
++#: c-typeck.c:5592
+ msgid "extra elements in scalar initializer"
+ msgstr "標é‡åˆå§‹åŒ–設定中有多餘元素"
+
+-#: c-typeck.c:5678 c-typeck.c:5738
++#: c-typeck.c:5689 c-typeck.c:5749
+ msgid "array index in non-array initializer"
+ msgstr "在éžé™£åˆ—åˆå§‹å€¼è¨­å®šé …中出ç¾é™£åˆ—索引"
+
+-#: c-typeck.c:5683 c-typeck.c:5791
++#: c-typeck.c:5694 c-typeck.c:5802
+ msgid "field name not in record or union initializer"
+ msgstr "欄ä½åä¸åœ¨è¨˜éŒ„或è¯åˆåˆå§‹åŒ–設定中"
+
+-#: c-typeck.c:5729
++#: c-typeck.c:5740
+ msgid "array index in initializer not of integer type"
+ msgstr "åˆå§‹å€¼è¨­å®šä¸­é™£åˆ—索引ä¸æ˜¯æ•´åž‹"
+
+-#: c-typeck.c:5734 c-typeck.c:5736
++#: c-typeck.c:5745 c-typeck.c:5747
+ msgid "nonconstant array index in initializer"
+ msgstr "åˆå§‹å€¼è¨­å®šä¸­é™£åˆ—索引ä¸æ˜¯å¸¸æ•¸"
+
+-#: c-typeck.c:5740 c-typeck.c:5743
++#: c-typeck.c:5751 c-typeck.c:5754
+ msgid "array index in initializer exceeds array bounds"
+ msgstr "åˆå§‹åŒ–時陣列索引越界"
+
+-#: c-typeck.c:5754
++#: c-typeck.c:5765
+ msgid "empty index range in initializer"
+ msgstr "åˆå§‹å€¼è¨­å®šé …中索引範åœç‚ºç©º"
+
+-#: c-typeck.c:5763
++#: c-typeck.c:5774
+ msgid "array index range in initializer exceeds array bounds"
+ msgstr "åˆå§‹å€¼è¨­å®šä¸­è³‡æ–™ç´¢å¼•ç¯„åœè¶…出陣列邊界"
+
+-#: c-typeck.c:5838 c-typeck.c:5861 c-typeck.c:6335
++#: c-typeck.c:5849 c-typeck.c:5872 c-typeck.c:6346
+ msgid "initialized field with side-effects overwritten"
+ msgstr "帶副作用的欄ä½åˆå§‹åŒ–設定被覆寫"
+
+-#: c-typeck.c:5840 c-typeck.c:5863 c-typeck.c:6337
++#: c-typeck.c:5851 c-typeck.c:5874 c-typeck.c:6348
+ #, fuzzy
+ msgid "initialized field overwritten"
+ msgstr "帶副作用的欄ä½åˆå§‹åŒ–設定被覆寫"
+
+-#: c-typeck.c:6545
++#: c-typeck.c:6556
+ msgid "excess elements in char array initializer"
+ msgstr "字元陣列åˆå§‹å€¼è¨­å®šé …中有多餘元素"
+
+-#: c-typeck.c:6552 c-typeck.c:6598
++#: c-typeck.c:6563 c-typeck.c:6609
+ msgid "excess elements in struct initializer"
+ msgstr "çµæ§‹åˆå§‹å€¼è¨­å®šé …中有多餘元素"
+
+-#: c-typeck.c:6613
++#: c-typeck.c:6624
+ msgid "non-static initialization of a flexible array member"
+ msgstr "å°å½ˆæ€§é™£åˆ—æˆå“¡éžéœæ…‹åœ°åˆå§‹åŒ–"
+
+-#: c-typeck.c:6681
++#: c-typeck.c:6692
+ msgid "excess elements in union initializer"
+ msgstr "è¯åˆåˆå§‹å€¼è¨­å®šé …中有多餘元素"
+
+-#: c-typeck.c:6768
++#: c-typeck.c:6779
+ msgid "excess elements in array initializer"
+ msgstr "陣列åˆå§‹å€¼è¨­å®šé …中有多餘的元素"
+
+-#: c-typeck.c:6798
++#: c-typeck.c:6809
+ msgid "excess elements in vector initializer"
+ msgstr "å‘é‡åˆå§‹å€¼è¨­å®šé …中有多餘元素"
+
+-#: c-typeck.c:6822
++#: c-typeck.c:6833
+ msgid "excess elements in scalar initializer"
+ msgstr "標é‡åˆå§‹å€¼è¨­å®šé …中有多餘元素"
+
+-#: cfgrtl.c:1925
++#: cfgrtl.c:1923
+ msgid "flow control insn inside a basic block"
+ msgstr "基本å€å¡Šå…§æœ‰æµç¨‹æŽ§åˆ¶æŒ‡ä»¤"
+
+-#: cfgrtl.c:2054
++#: cfgrtl.c:2052
+ msgid "wrong insn in the fallthru edge"
+ msgstr "直通邊上的錯誤指令"
+
+-#: cfgrtl.c:2110
++#: cfgrtl.c:2108
+ msgid "insn outside basic block"
+ msgstr "基本å€å¡Šå¤–出ç¾æŒ‡ä»¤"
+
+-#: cfgrtl.c:2117
++#: cfgrtl.c:2115
+ msgid "return not followed by barrier"
+ msgstr "界線之後沒有 return"
+
+-#: cgraph.c:339 ipa-inline.c:417
++#: cgraph.c:340 ipa-inline.c:417
+ msgid "function body not available"
+ msgstr "函å¼é«”無法使用"
+
+-#: cgraph.c:341 cgraphbuild.c:96
++#: cgraph.c:342 cgraphbuild.c:96
+ msgid "redefined extern inline functions are not considered for inlining"
+ msgstr "ä¸è€ƒæ…®å…§è¯é‡å®šç¾©çš„外部內è¯å‡½å¼"
+
+-#: cgraph.c:344 cgraphbuild.c:103
++#: cgraph.c:345 cgraphbuild.c:103
+ msgid "function not considered for inlining"
+ msgstr "ä¸è€ƒæ…®å…§è¯å‡½å¼"
+
+-#: cgraph.c:346 cgraphbuild.c:99
++#: cgraph.c:347 cgraphbuild.c:99
+ msgid "function not inlinable"
+ msgstr "函å¼ä¸èƒ½å…§è¯"
+
+@@ -499,87 +499,87 @@
+ msgid "mismatched arguments"
+ msgstr "無效的類型åƒæ•¸"
+
+-#: collect2.c:378 gcc.c:6897
++#: collect2.c:382 gcc.c:6896
+ #, c-format
+ msgid "internal gcc abort in %s, at %s:%d"
+ msgstr "gcc 內部放棄 %s,於 %s:%d"
+
+-#: collect2.c:889
++#: collect2.c:903
+ #, c-format
+ msgid "no arguments"
+ msgstr "沒有åƒæ•¸"
+
+-#: collect2.c:1263 collect2.c:1411 collect2.c:1446
++#: collect2.c:1277 collect2.c:1425 collect2.c:1460
+ #, c-format
+ msgid "fopen %s"
+ msgstr "fopen %s"
+
+-#: collect2.c:1266 collect2.c:1416 collect2.c:1449
++#: collect2.c:1280 collect2.c:1430 collect2.c:1463
+ #, c-format
+ msgid "fclose %s"
+ msgstr "fclose %s"
+
+-#: collect2.c:1275
++#: collect2.c:1289
+ #, c-format
+ msgid "collect2 version %s"
+ msgstr "collect2 版本 %s"
+
+-#: collect2.c:1365
++#: collect2.c:1379
+ #, c-format
+ msgid "%d constructor(s) found\n"
+ msgstr "找到 %d 個建構å¼\n"
+
+-#: collect2.c:1366
++#: collect2.c:1380
+ #, c-format
+ msgid "%d destructor(s) found\n"
+ msgstr "找到 %d 個解構函å¼\n"
+
+-#: collect2.c:1367
++#: collect2.c:1381
+ #, c-format
+ msgid "%d frame table(s) found\n"
+ msgstr "找到了 %d 個框架表\n"
+
+-#: collect2.c:1504
++#: collect2.c:1518
+ #, c-format
+ msgid "can't get program status"
+ msgstr "無法ç²å–程å¼ç‹€æ…‹"
+
+-#: collect2.c:1573
++#: collect2.c:1587
+ #, fuzzy, c-format
+ msgid "could not open response file %s"
+ msgstr "找ä¸åˆ° specs 檔案 %s\n"
+
+-#: collect2.c:1578
++#: collect2.c:1592
+ #, fuzzy, c-format
+ msgid "could not write to response file %s"
+ msgstr "找ä¸åˆ° specs 檔案 %s\n"
+
+-#: collect2.c:1583
++#: collect2.c:1597
+ #, fuzzy, c-format
+ msgid "could not close response file %s"
+ msgstr "找ä¸åˆ° specs 檔案 %s\n"
+
+-#: collect2.c:1601
++#: collect2.c:1615
+ #, c-format
+ msgid "[cannot find %s]"
+ msgstr "[找ä¸åˆ° %s]"
+
+-#: collect2.c:1616
++#: collect2.c:1630
+ #, c-format
+ msgid "cannot find '%s'"
+ msgstr "找ä¸åˆ°ã€Œ%sã€"
+
+-#: collect2.c:1620 collect2.c:2112 collect2.c:2267 gcc.c:2978
++#: collect2.c:1634 collect2.c:2126 collect2.c:2281 gcc.c:2974
+ #, c-format
+ msgid "pex_init failed"
+ msgstr "pex_init 失敗"
+
+-#: collect2.c:1658
++#: collect2.c:1672
+ #, c-format
+ msgid "[Leaving %s]\n"
+ msgstr "[離開 %s]\n"
+
+-#: collect2.c:1878
++#: collect2.c:1892
+ #, c-format
+ msgid ""
+ "\n"
+@@ -588,32 +588,32 @@
+ "\n"
+ "write_c_file - 輸出å為 %s,字首為 %s\n"
+
+-#: collect2.c:2086
++#: collect2.c:2100
+ #, c-format
+ msgid "cannot find 'nm'"
+ msgstr "找ä¸åˆ° 「nmã€"
+
+-#: collect2.c:2133
++#: collect2.c:2147
+ #, c-format
+ msgid "can't open nm output"
+ msgstr "無法開啟 nm 的輸出"
+
+-#: collect2.c:2177
++#: collect2.c:2191
+ #, c-format
+ msgid "init function found in object %s"
+ msgstr "在物件 %s ä¸­ç™¼ç¾ init 函å¼"
+
+-#: collect2.c:2185
++#: collect2.c:2199
+ #, c-format
+ msgid "fini function found in object %s"
+ msgstr "在物件 %s ä¸­ç™¼ç¾ fini 函å¼"
+
+-#: collect2.c:2288
++#: collect2.c:2302
+ #, c-format
+ msgid "can't open ldd output"
+ msgstr "無法開啟 ldd 輸出"
+
+-#: collect2.c:2291
++#: collect2.c:2305
+ #, c-format
+ msgid ""
+ "\n"
+@@ -622,27 +622,27 @@
+ "\n"
+ "ldd 輸出帶有建構/解構函å¼ã€‚\n"
+
+-#: collect2.c:2306
++#: collect2.c:2320
+ #, c-format
+ msgid "dynamic dependency %s not found"
+ msgstr "找ä¸åˆ°å‹•æ…‹ä¾è³´é … %s"
+
+-#: collect2.c:2318
++#: collect2.c:2332
+ #, c-format
+ msgid "unable to open dynamic dependency '%s'"
+ msgstr "無法開啟動態ä¾è³´é …「%sã€"
+
+-#: collect2.c:2474
++#: collect2.c:2488
+ #, c-format
+ msgid "%s: not a COFF file"
+ msgstr "%s:ä¸æ˜¯ä¸€å€‹ COFF 檔案"
+
+-#: collect2.c:2594
++#: collect2.c:2608
+ #, c-format
+ msgid "%s: cannot open as COFF file"
+ msgstr "%s:無法開啟 COFF 檔案"
+
+-#: collect2.c:2652
++#: collect2.c:2666
+ #, c-format
+ msgid "library lib%s not found"
+ msgstr "找ä¸åˆ°å‡½å¼åº« lib%s"
+@@ -692,40 +692,40 @@
+ msgid "negative insn length"
+ msgstr "指令長度為負"
+
+-#: final.c:2609
++#: final.c:2615
+ msgid "could not split insn"
+ msgstr "無法分離指令"
+
+-#: final.c:2979
++#: final.c:2992
+ msgid "invalid 'asm': "
+ msgstr "無效的「asmã€ï¼š"
+
+-#: final.c:3162
++#: final.c:3175
+ #, c-format
+ msgid "nested assembly dialect alternatives"
+ msgstr "巢狀的組譯風格指示"
+
+-#: final.c:3179 final.c:3191
++#: final.c:3192 final.c:3204
+ #, c-format
+ msgid "unterminated assembly dialect alternative"
+ msgstr "未çµæŸçš„組譯風格指示"
+
+-#: final.c:3238
++#: final.c:3251
+ #, c-format
+ msgid "operand number missing after %%-letter"
+ msgstr "%% å­—æ¯å¾Œç¼ºå°‘é‹ç®—元號"
+
+-#: final.c:3241 final.c:3282
++#: final.c:3254 final.c:3295
+ #, c-format
+ msgid "operand number out of range"
+ msgstr "é‹ç®—元號超出範åœ"
+
+-#: final.c:3301
++#: final.c:3314
+ #, c-format
+ msgid "invalid %%-code"
+ msgstr "無效的 %%-code"
+
+-#: final.c:3331
++#: final.c:3344
+ #, c-format
+ msgid "'%%l' operand isn't a label"
+ msgstr "「%%lã€é‹ç®—å…ƒä¸æ˜¯ä¸€å€‹æ¨™ç±¤"
+@@ -736,13 +736,13 @@
+ #. handle them.
+ #. We can't handle floating point constants;
+ #. PRINT_OPERAND must handle them.
+-#: final.c:3433 vmsdbgout.c:487 config/i386/i386.c:8143
++#: final.c:3446 vmsdbgout.c:487 config/i386/i386.c:8198
+ #: config/pdp11/pdp11.c:1704
+ #, c-format
+ msgid "floating constant misused"
+ msgstr "錯誤地使用了浮點常數"
+
+-#: final.c:3493 vmsdbgout.c:544 config/i386/i386.c:8224
++#: final.c:3507 vmsdbgout.c:544 config/i386/i386.c:8279
+ #: config/pdp11/pdp11.c:1751
+ #, c-format
+ msgid "invalid expression as operand"
+@@ -753,7 +753,7 @@
+ msgid "Using built-in specs.\n"
+ msgstr "使用內建 specs。\n"
+
+-#: gcc.c:1887
++#: gcc.c:1883
+ #, c-format
+ msgid ""
+ "Setting spec %s to '%s'\n"
+@@ -762,42 +762,42 @@
+ "å°‡ spec %s 設為「%sã€\n"
+ "\n"
+
+-#: gcc.c:2002
++#: gcc.c:1998
+ #, c-format
+ msgid "Reading specs from %s\n"
+ msgstr "從 %s è®€å– specs\n"
+
+-#: gcc.c:2098 gcc.c:2117
++#: gcc.c:2094 gcc.c:2113
+ #, c-format
+ msgid "specs %%include syntax malformed after %ld characters"
+ msgstr "specs %%include 在 %ld 字元後語法格å¼éŒ¯èª¤"
+
+-#: gcc.c:2125
++#: gcc.c:2121
+ #, c-format
+ msgid "could not find specs file %s\n"
+ msgstr "找ä¸åˆ° specs 檔案 %s\n"
+
+-#: gcc.c:2142 gcc.c:2150 gcc.c:2159 gcc.c:2168
++#: gcc.c:2138 gcc.c:2146 gcc.c:2155 gcc.c:2164
+ #, c-format
+ msgid "specs %%rename syntax malformed after %ld characters"
+ msgstr "specs %%rename 在 %ld 字元後語法格å¼éŒ¯èª¤"
+
+-#: gcc.c:2177
++#: gcc.c:2173
+ #, c-format
+ msgid "specs %s spec was not found to be renamed"
+ msgstr "specs 找ä¸åˆ° %s spec 或已被é‡æ–°å‘½å"
+
+-#: gcc.c:2184
++#: gcc.c:2180
+ #, c-format
+ msgid "%s: attempt to rename spec '%s' to already defined spec '%s'"
+ msgstr "%s:試圖將 spec「%sã€é‡æ–°å‘½å為已定義的 spec「%sã€"
+
+-#: gcc.c:2189
++#: gcc.c:2185
+ #, c-format
+ msgid "rename spec %s to %s\n"
+ msgstr "å°‡ spec %s é‡æ–°å‘½å為 %s\n"
+
+-#: gcc.c:2191
++#: gcc.c:2187
+ #, c-format
+ msgid ""
+ "spec is '%s'\n"
+@@ -806,37 +806,37 @@
+ "spec 是「%sã€\n"
+ "\n"
+
+-#: gcc.c:2204
++#: gcc.c:2200
+ #, c-format
+ msgid "specs unknown %% command after %ld characters"
+ msgstr "specs 在 %ld 字元後出ç¾ä¸æ˜Žçš„ %% 命令"
+
+-#: gcc.c:2215 gcc.c:2228
++#: gcc.c:2211 gcc.c:2224
+ #, c-format
+ msgid "specs file malformed after %ld characters"
+ msgstr "specs 在 %ld 字元後檔案格å¼éŒ¯èª¤"
+
+-#: gcc.c:2281
++#: gcc.c:2277
+ #, c-format
+ msgid "spec file has no spec for linking"
+ msgstr "spec 檔案沒有å°é€£çµçš„設定"
+
+-#: gcc.c:2609 gcc.c:4751
++#: gcc.c:2605 gcc.c:4745
+ #, c-format
+ msgid "%s\n"
+ msgstr "%s\n"
+
+-#: gcc.c:2809
++#: gcc.c:2805
+ #, c-format
+ msgid "system path '%s' is not absolute"
+ msgstr "系統路徑「%sã€ä¸æ˜¯çµ•å°è·¯å¾‘"
+
+-#: gcc.c:2872
++#: gcc.c:2868
+ #, c-format
+ msgid "-pipe not supported"
+ msgstr "ä¸æ”¯æ´ -pipe"
+
+-#: gcc.c:2934
++#: gcc.c:2930
+ #, c-format
+ msgid ""
+ "\n"
+@@ -845,15 +845,15 @@
+ "\n"
+ "繼續?(y 或 n) "
+
+-#: gcc.c:3017
++#: gcc.c:3013
+ msgid "failed to get exit status"
+ msgstr "無法ç²å–離開狀態"
+
+-#: gcc.c:3023
++#: gcc.c:3019
+ msgid "failed to get process times"
+ msgstr "無法ç²å–處ç†åºæ™‚é–“"
+
+-#: gcc.c:3049
++#: gcc.c:3045
+ #, c-format
+ msgid ""
+ "Internal error: %s (program %s)\n"
+@@ -864,183 +864,183 @@
+ "è«‹æ交一份完整的錯誤報告。\n"
+ "具體步驟請åƒè¦‹ %s。"
+
+-#: gcc.c:3075
++#: gcc.c:3071
+ #, c-format
+ msgid "# %s %.2f %.2f\n"
+ msgstr "# %s %.2f %.2f\n"
+
+-#: gcc.c:3211
++#: gcc.c:3205
+ #, c-format
+ msgid "Usage: %s [options] file...\n"
+ msgstr "用法:%s [é¸é …] 檔案...\n"
+
+-#: gcc.c:3212
++#: gcc.c:3206
+ msgid "Options:\n"
+ msgstr "é¸é …:\n"
+
+-#: gcc.c:3214
++#: gcc.c:3208
+ msgid " -pass-exit-codes Exit with highest error code from a phase\n"
+ msgstr " -pass-exit-codes 在æŸä¸€éšŽæ®µé›¢é–‹æ™‚回傳最高的錯誤碼\n"
+
+-#: gcc.c:3215
++#: gcc.c:3209
+ msgid " --help Display this information\n"
+ msgstr " --help 顯示此輔助說明\n"
+
+-#: gcc.c:3216
++#: gcc.c:3210
+ msgid " --target-help Display target specific command line options\n"
+ msgstr " --target-help 顯示目標平臺器特定的命令列é¸é …\n"
+
+-#: gcc.c:3217
++#: gcc.c:3211
+ msgid " --help={target|optimizers|warnings|undocumented|params}[,{[^]joined|[^]separate}]\n"
+ msgstr ""
+
+-#: gcc.c:3218
++#: gcc.c:3212
+ #, fuzzy
+ msgid " Display specific types of command line options\n"
+ msgstr " --target-help 顯示目標平臺器特定的命令列é¸é …\n"
+
+-#: gcc.c:3220
++#: gcc.c:3214
+ msgid " (Use '-v --help' to display command line options of sub-processes)\n"
+ msgstr " (使用「-v --helpã€é¡¯ç¤ºå­è™•ç†åºçš„命令列åƒæ•¸)\n"
+
+-#: gcc.c:3221
++#: gcc.c:3215
+ msgid " -dumpspecs Display all of the built in spec strings\n"
+ msgstr " -dumpspecs 顯示所有內建 spec 字串\n"
+
+-#: gcc.c:3222
++#: gcc.c:3216
+ msgid " -dumpversion Display the version of the compiler\n"
+ msgstr " -dumpversion 顯示編譯器的版本號\n"
+
+-#: gcc.c:3223
++#: gcc.c:3217
+ msgid " -dumpmachine Display the compiler's target processor\n"
+ msgstr " -dumpmachine 顯示編譯器的目的處ç†å™¨\n"
+
+-#: gcc.c:3224
++#: gcc.c:3218
+ msgid " -print-search-dirs Display the directories in the compiler's search path\n"
+ msgstr " -print-search-dirs 顯示編譯器的æœå°‹è·¯å¾‘\n"
+
+-#: gcc.c:3225
++#: gcc.c:3219
+ msgid " -print-libgcc-file-name Display the name of the compiler's companion library\n"
+ msgstr " -print-libgcc-file-name 顯示編譯器伴隨函å¼åº«çš„å稱\n"
+
+-#: gcc.c:3226
++#: gcc.c:3220
+ msgid " -print-file-name=<lib> Display the full path to library <lib>\n"
+ msgstr " -print-file-name=<函å¼åº«> 顯示 <函å¼åº«> 的完整路徑\n"
+
+-#: gcc.c:3227
++#: gcc.c:3221
+ msgid " -print-prog-name=<prog> Display the full path to compiler component <prog>\n"
+ msgstr " -print-prog-name=<程å¼> 顯示編譯器元件 <程å¼> 的完整路徑\n"
+
+-#: gcc.c:3228
++#: gcc.c:3222
+ msgid " -print-multi-directory Display the root directory for versions of libgcc\n"
+ msgstr " -print-multi-directory 顯示ä¸åŒç‰ˆæœ¬ libgcc 的根目錄\n"
+
+-#: gcc.c:3229
++#: gcc.c:3223
+ msgid ""
+ " -print-multi-lib Display the mapping between command line options and\n"
+ " multiple library search directories\n"
+ msgstr " -print-multi-lib 顯示命令列é¸é …和多個版本函å¼åº«æœå°‹è·¯å¾‘é–“çš„å°æ‡‰\n"
+
+-#: gcc.c:3232
++#: gcc.c:3226
+ msgid " -print-multi-os-directory Display the relative path to OS libraries\n"
+ msgstr " -print-multi-os-directory 顯示作業系統函å¼åº«çš„相å°è·¯å¾‘\n"
+
+-#: gcc.c:3233
++#: gcc.c:3227
+ msgid " -print-sysroot-headers-suffix Display the sysroot suffix used to find headers\n"
+ msgstr ""
+
+-#: gcc.c:3234
++#: gcc.c:3228
+ msgid " -Wa,<options> Pass comma-separated <options> on to the assembler\n"
+ msgstr " -Wa,<é¸é …> 將逗號分隔的 <é¸é …> 傳éžçµ¦çµ„譯器\n"
+
+-#: gcc.c:3235
++#: gcc.c:3229
+ msgid " -Wp,<options> Pass comma-separated <options> on to the preprocessor\n"
+ msgstr " -Wp,<é¸é …> 將逗號分隔的 <é¸é …> 傳éžçµ¦å‰è™•ç†å™¨\n"
+
+-#: gcc.c:3236
++#: gcc.c:3230
+ msgid " -Wl,<options> Pass comma-separated <options> on to the linker\n"
+ msgstr " -Wl,<é¸é …> 將逗號分隔的 <é¸é …> 傳éžçµ¦é€£çµå™¨\n"
+
+-#: gcc.c:3237
++#: gcc.c:3231
+ msgid " -Xassembler <arg> Pass <arg> on to the assembler\n"
+ msgstr " -Xassembler <åƒæ•¸> å°‡ <åƒæ•¸> 傳éžçµ¦çµ„譯器\n"
+
+-#: gcc.c:3238
++#: gcc.c:3232
+ msgid " -Xpreprocessor <arg> Pass <arg> on to the preprocessor\n"
+ msgstr " -Xpreprocessor <åƒæ•¸> å°‡ <åƒæ•¸> 傳éžçµ¦å‰è™•ç†å™¨\n"
+
+-#: gcc.c:3239
++#: gcc.c:3233
+ msgid " -Xlinker <arg> Pass <arg> on to the linker\n"
+ msgstr " -Xlinker <åƒæ•¸> å°‡ <åƒæ•¸> 傳éžçµ¦é€£çµå™¨\n"
+
+-#: gcc.c:3240
++#: gcc.c:3234
+ msgid " -combine Pass multiple source files to compiler at once\n"
+ msgstr " -combine 將多個來æºæª”案一次性傳éžçµ¦çµ„譯器\n"
+
+-#: gcc.c:3241
++#: gcc.c:3235
+ msgid " -save-temps Do not delete intermediate files\n"
+ msgstr " -save-temps ä¸è¦åˆªé™¤ä¸­é–“檔案\n"
+
+-#: gcc.c:3242
++#: gcc.c:3236
+ msgid " -pipe Use pipes rather than intermediate files\n"
+ msgstr " -pipe 使用管é“代替暫時檔案\n"
+
+-#: gcc.c:3243
++#: gcc.c:3237
+ msgid " -time Time the execution of each subprocess\n"
+ msgstr " -time 為æ¯å€‹å­è™•ç†åºè¨ˆæ™‚\n"
+
+-#: gcc.c:3244
++#: gcc.c:3238
+ msgid " -specs=<file> Override built-in specs with the contents of <file>\n"
+ msgstr " -specs=<檔案> 用 <檔案> 的內容覆寫內建的 specs 檔案\n"
+
+-#: gcc.c:3245
++#: gcc.c:3239
+ msgid " -std=<standard> Assume that the input sources are for <standard>\n"
+ msgstr " -std=<標準> 指定輸入來æºæª”案éµå¾ªçš„標準\n"
+
+-#: gcc.c:3246
++#: gcc.c:3240
+ #, fuzzy
+ msgid ""
+ " --sysroot=<directory> Use <directory> as the root directory for headers\n"
+ " and libraries\n"
+ msgstr " --sysroot=<目錄> å°‡ <目錄> åšç‚ºæ¨™é ­æª”案和函å¼åº«æª”案的根目錄\n"
+
+-#: gcc.c:3249
++#: gcc.c:3243
+ msgid " -B <directory> Add <directory> to the compiler's search paths\n"
+ msgstr " -B <目錄> å°‡ <目錄> 加入到編譯器的æœå°‹è·¯å¾‘中\n"
+
+-#: gcc.c:3250
++#: gcc.c:3244
+ msgid " -b <machine> Run gcc for target <machine>, if installed\n"
+ msgstr " -b <機器> 為 gcc 指定目標平臺器(如果有安è£)\n"
+
+-#: gcc.c:3251
++#: gcc.c:3245
+ msgid " -V <version> Run gcc version number <version>, if installed\n"
+ msgstr " -V <版本> 執行指定版本的 gcc(如果有安è£)\n"
+
+-#: gcc.c:3252
++#: gcc.c:3246
+ msgid " -v Display the programs invoked by the compiler\n"
+ msgstr " -v 顯示編譯器呼å«çš„程å¼\n"
+
+-#: gcc.c:3253
++#: gcc.c:3247
+ msgid " -### Like -v but options quoted and commands not executed\n"
+ msgstr " -### 與 -v 類似,但é¸é …被引號括ä½ï¼Œä¸¦ä¸”ä¸åŸ·è¡Œå‘½ä»¤\n"
+
+-#: gcc.c:3254
++#: gcc.c:3248
+ msgid " -E Preprocess only; do not compile, assemble or link\n"
+ msgstr " -E 僅作é å…ˆè™•ç†ï¼Œä¸é€²è¡Œç·¨è­¯ã€çµ„譯和連çµ\n"
+
+-#: gcc.c:3255
++#: gcc.c:3249
+ msgid " -S Compile only; do not assemble or link\n"
+ msgstr " -S 編譯到組åˆèªžè¨€ï¼Œä¸é€²è¡Œçµ„譯和連çµ\n"
+
+-#: gcc.c:3256
++#: gcc.c:3250
+ msgid " -c Compile and assemble, but do not link\n"
+ msgstr " -c 編譯ã€çµ„譯到目的程å¼ç¢¼ï¼Œä¸é€²è¡Œé€£çµ\n"
+
+-#: gcc.c:3257
++#: gcc.c:3251
+ msgid " -o <file> Place the output into <file>\n"
+ msgstr " -o <檔案> 輸出到 <檔案>\n"
+
+-#: gcc.c:3258
++#: gcc.c:3252
+ msgid ""
+ " -x <language> Specify the language of the following input files\n"
+ " Permissible languages include: c c++ assembler none\n"
+@@ -1052,7 +1052,7 @@
+ " 「noneã€æ„味著æ¢å¾©é è¨­è¡Œç‚ºï¼Œå³æ ¹æ“šæª”案的副檔å猜測\n"
+ " 來æºæª”案的語言\n"
+
+-#: gcc.c:3265
++#: gcc.c:3259
+ #, c-format
+ msgid ""
+ "\n"
+@@ -1064,27 +1064,27 @@
+ "以 -gã€-fã€-mã€-Oã€-W 或 --param é–‹é ­çš„é¸é …將由 %s 自動傳éžçµ¦å…¶å‘¼å«çš„\n"
+ " ä¸åŒå­è™•ç†åºã€‚è‹¥è¦å‘這些處ç†åºå‚³éžå…¶å®ƒé¸é …,必須使用 -W<å­—æ¯> é¸é …。\n"
+
+-#: gcc.c:3389
++#: gcc.c:3383
+ #, c-format
+ msgid "'-%c' option must have argument"
+ msgstr "「-%cã€é¸é …必須有一個åƒæ•¸"
+
+-#: gcc.c:3411
++#: gcc.c:3405
+ #, c-format
+ msgid "couldn't run '%s': %s"
+ msgstr "無法執行「%sã€ï¼š%s"
+
+ #. translate_options () has turned --version into -fversion.
+-#: gcc.c:3612
++#: gcc.c:3606
+ #, fuzzy, c-format
+ msgid "%s %s%s\n"
+ msgstr "%s「%sã€\n"
+
+-#: gcc.c:3615 gcov.c:426 fortran/gfortranspec.c:380 java/jcf-dump.c:1168
++#: gcc.c:3609 gcov.c:427 fortran/gfortranspec.c:380 java/jcf-dump.c:1168
+ msgid "(C)"
+ msgstr "(C)"
+
+-#: gcc.c:3616 java/jcf-dump.c:1169
++#: gcc.c:3610 java/jcf-dump.c:1169
+ #, c-format
+ msgid ""
+ "This is free software; see the source for copying conditions. There is NO\n"
+@@ -1094,160 +1094,160 @@
+ "本程å¼æ˜¯è‡ªç”±è»Ÿé«”;請åƒçœ‹ä¾†æºç¨‹å¼ç¢¼çš„版權宣告。本軟體沒有任何擔ä¿ï¼›\n"
+ "包括沒有é©éŠ·æ€§å’ŒæŸä¸€å°ˆç”¨ç›®çš„下的é©ç”¨æ€§æ“”ä¿ã€‚\n"
+
+-#: gcc.c:3728
++#: gcc.c:3722
+ #, c-format
+ msgid "argument to '-Xlinker' is missing"
+ msgstr "「-Xlinkerã€ç¼ºå°‘引數"
+
+-#: gcc.c:3736
++#: gcc.c:3730
+ #, c-format
+ msgid "argument to '-Xpreprocessor' is missing"
+ msgstr "「-Xpreprocessorã€ç¼ºå°‘引數"
+
+-#: gcc.c:3743
++#: gcc.c:3737
+ #, c-format
+ msgid "argument to '-Xassembler' is missing"
+ msgstr "「-Xassemblerã€ç¼ºå°‘引數"
+
+-#: gcc.c:3750
++#: gcc.c:3744
+ #, c-format
+ msgid "argument to '-l' is missing"
+ msgstr "「-lã€ç¼ºå°‘引數"
+
+-#: gcc.c:3771
++#: gcc.c:3765
+ #, c-format
+ msgid "argument to '-specs' is missing"
+ msgstr "「-specsã€ç¼ºå°‘引數"
+
+-#: gcc.c:3785
++#: gcc.c:3779
+ #, c-format
+ msgid "argument to '-specs=' is missing"
+ msgstr "「-Xlinkerã€ç¼ºå°‘引數"
+
+-#: gcc.c:3826
++#: gcc.c:3820
+ #, c-format
+ msgid "'-%c' must come at the start of the command line"
+ msgstr "「-%cã€å¿…須出ç¾åœ¨å‘½ä»¤åˆ—çš„é–‹é ­"
+
+-#: gcc.c:3835
++#: gcc.c:3829
+ #, c-format
+ msgid "argument to '-B' is missing"
+ msgstr "「-Bã€ç¼ºå°‘引數"
+
+-#: gcc.c:4185
++#: gcc.c:4179
+ #, c-format
+ msgid "argument to '-x' is missing"
+ msgstr "「-xã€ç¼ºå°‘引數"
+
+-#: gcc.c:4213
++#: gcc.c:4207
+ #, c-format
+ msgid "argument to '-%s' is missing"
+ msgstr "「-%sã€ç¼ºå°‘引數"
+
+-#: gcc.c:4541
++#: gcc.c:4535
+ #, c-format
+ msgid "switch '%s' does not start with '-'"
+ msgstr "開關「%sã€æœªä»¥ã€Œ-ã€é–‹é ­"
+
+-#: gcc.c:4685
++#: gcc.c:4679
+ #, c-format
+ msgid "spec '%s' invalid"
+ msgstr "spec「%sã€ç„¡æ•ˆ"
+
+-#: gcc.c:4824
++#: gcc.c:4818
+ #, c-format
+ msgid "spec '%s' has invalid '%%0%c'"
+ msgstr "spec「%sã€æœ‰ç„¡æ•ˆçš„「%%0%cã€"
+
+-#: gcc.c:5053
++#: gcc.c:5047
+ #, fuzzy, c-format
+ msgid "could not open temporary response file %s"
+ msgstr "無法開啟傾å°æª”案 %qs:%s"
+
+-#: gcc.c:5059
++#: gcc.c:5053
+ #, fuzzy, c-format
+ msgid "could not write to temporary response file %s"
+ msgstr "無法建立暫時檔案"
+
+-#: gcc.c:5065
++#: gcc.c:5059
+ #, fuzzy, c-format
+ msgid "could not close temporary response file %s"
+ msgstr "無法建立暫時檔案"
+
+-#: gcc.c:5099
++#: gcc.c:5093
+ #, c-format
+ msgid "spec '%s' has invalid '%%W%c"
+ msgstr "spec「%sã€æœ‰ç„¡æ•ˆçš„「%%W%cã€"
+
+-#: gcc.c:5119
++#: gcc.c:5113
+ #, c-format
+ msgid "spec '%s' has invalid '%%x%c'"
+ msgstr "spec「%sã€æœ‰ç„¡æ•ˆçš„「%%x%cã€"
+
+-#: gcc.c:5341
++#: gcc.c:5335
+ #, c-format
+ msgid "Processing spec %c%s%c, which is '%s'\n"
+ msgstr "è™•ç† spec %c%s%c,å³ã€Œ%sã€\n"
+
+-#: gcc.c:5465
++#: gcc.c:5459
+ #, c-format
+ msgid "unknown spec function '%s'"
+ msgstr "ä¸æ˜Žçš„ spec 函å¼ã€Œ%sã€"
+
+-#: gcc.c:5484
++#: gcc.c:5478
+ #, c-format
+ msgid "error in args to spec function '%s'"
+ msgstr "給 spec 函å¼ã€Œ%sã€çš„åƒæ•¸ä¸æ­£ç¢º"
+
+-#: gcc.c:5532
++#: gcc.c:5526
+ #, c-format
+ msgid "malformed spec function name"
+ msgstr "spec 函å¼åæ ¼å¼éŒ¯èª¤"
+
+ #. )
+-#: gcc.c:5535
++#: gcc.c:5529
+ #, c-format
+ msgid "no arguments for spec function"
+ msgstr "spec 函å¼æ²’有引數"
+
+-#: gcc.c:5554
++#: gcc.c:5548
+ #, c-format
+ msgid "malformed spec function arguments"
+ msgstr "spec 函å¼å¼•æ•¸æ ¼å¼éŒ¯èª¤"
+
+-#: gcc.c:5800
++#: gcc.c:5794
+ #, c-format
+ msgid "braced spec '%s' is invalid at '%c'"
+ msgstr "大括號中的 spec「%sã€åœ¨ã€Œ%cã€ä¸­ç„¡æ•ˆ"
+
+-#: gcc.c:5888
++#: gcc.c:5882
+ #, c-format
+ msgid "braced spec body '%s' is invalid"
+ msgstr "大括號中的 spec 體「%sã€ç„¡æ•ˆ"
+
+-#: gcc.c:6421
++#: gcc.c:6420
+ #, c-format
+ msgid "install: %s%s\n"
+ msgstr "安è£ï¼š%s%s\n"
+
+-#: gcc.c:6424
++#: gcc.c:6423
+ #, c-format
+ msgid "programs: %s\n"
+ msgstr "程å¼ï¼š%s\n"
+
+-#: gcc.c:6426
++#: gcc.c:6425
+ #, c-format
+ msgid "libraries: %s\n"
+ msgstr "函å¼åº«ï¼š%s\n"
+
+ #. The error status indicates that only one set of fixed
+ #. headers should be built.
+-#: gcc.c:6480
++#: gcc.c:6479
+ #, c-format
+ msgid "not configured with sysroot headers suffix"
+ msgstr ""
+
+-#: gcc.c:6489
++#: gcc.c:6488
+ #, c-format
+ msgid ""
+ "\n"
+@@ -1256,47 +1256,47 @@
+ "\n"
+ "報告程å¼ç¼ºé™·çš„步驟請åƒè¦‹ï¼š\n"
+
+-#: gcc.c:6505
++#: gcc.c:6504
+ #, c-format
+ msgid "Target: %s\n"
+ msgstr "目的:%s\n"
+
+-#: gcc.c:6506
++#: gcc.c:6505
+ #, c-format
+ msgid "Configured with: %s\n"
+ msgstr "é…置為:%s\n"
+
+-#: gcc.c:6520
++#: gcc.c:6519
+ #, c-format
+ msgid "Thread model: %s\n"
+ msgstr "執行緒模型:%s\n"
+
+-#: gcc.c:6531
++#: gcc.c:6530
+ #, fuzzy, c-format
+ msgid "gcc version %s %s\n"
+ msgstr "gcc 版本 %s\n"
+
+-#: gcc.c:6533
++#: gcc.c:6532
+ #, fuzzy, c-format
+ msgid "gcc driver version %s %sexecuting gcc version %s\n"
+ msgstr "版本為 %s 的 gcc 驅動執行版本為 %s 的gcc\n"
+
+-#: gcc.c:6541
++#: gcc.c:6540
+ #, c-format
+ msgid "no input files"
+ msgstr "沒有輸入檔案"
+
+-#: gcc.c:6590
++#: gcc.c:6589
+ #, c-format
+ msgid "cannot specify -o with -c or -S with multiple files"
+ msgstr "當有多個檔案時ä¸èƒ½åœ¨å·²æŒ‡å®š -c 或 -S 的情æ³ä¸‹æŒ‡å®š -o"
+
+-#: gcc.c:6624
++#: gcc.c:6623
+ #, c-format
+ msgid "spec '%s' is invalid"
+ msgstr "spec「%sã€æ˜¯ç„¡æ•ˆçš„"
+
+-#: gcc.c:6760
++#: gcc.c:6759
+ #, c-format
+ msgid ""
+ "\n"
+@@ -1305,59 +1305,59 @@
+ "\n"
+ msgstr ""
+
+-#: gcc.c:6761
++#: gcc.c:6760
+ #, c-format
+ msgid ""
+ "Use \"-Wl,OPTION\" to pass \"OPTION\" to the linker.\n"
+ "\n"
+ msgstr ""
+
+-#: gcc.c:7112
++#: gcc.c:7111
+ #, c-format
+ msgid "multilib spec '%s' is invalid"
+ msgstr "multilib spec「%sã€ç„¡æ•ˆ"
+
+-#: gcc.c:7303
++#: gcc.c:7302
+ #, c-format
+ msgid "multilib exclusions '%s' is invalid"
+ msgstr "multilib 排除「%sã€ç„¡æ•ˆ"
+
+-#: gcc.c:7361 gcc.c:7502
++#: gcc.c:7360 gcc.c:7501
+ #, c-format
+ msgid "multilib select '%s' is invalid"
+ msgstr "multilib é¸æ“‡ã€Œ%sã€ç„¡æ•ˆ"
+
+-#: gcc.c:7540
++#: gcc.c:7539
+ #, c-format
+ msgid "multilib exclusion '%s' is invalid"
+ msgstr "multilib 排除「%sã€ç„¡æ•ˆ"
+
+-#: gcc.c:7746
++#: gcc.c:7745
+ #, fuzzy, c-format
+ msgid "environment variable \"%s\" not defined"
+ msgstr "沒有定義 DJGPP 環境變數"
+
+-#: gcc.c:7837 gcc.c:7842
++#: gcc.c:7836 gcc.c:7841
+ #, c-format
+ msgid "invalid version number `%s'"
+ msgstr "無效的版本號「%sã€"
+
+-#: gcc.c:7885
++#: gcc.c:7884
+ #, c-format
+ msgid "too few arguments to %%:version-compare"
+ msgstr "%%:version-compare 的引數太少"
+
+-#: gcc.c:7891
++#: gcc.c:7890
+ #, c-format
+ msgid "too many arguments to %%:version-compare"
+ msgstr "%%:version-compare 的引數太多"
+
+-#: gcc.c:7932
++#: gcc.c:7931
+ #, c-format
+ msgid "unknown operator '%s' in %%:version-compare"
+ msgstr "%%:version-compare 中有ä¸æ˜Žçš„é‹ç®—元「%sã€"
+
+-#: gcc.c:7966
++#: gcc.c:7965
+ #, c-format
+ msgid ""
+ "Assembler options\n"
+@@ -1365,14 +1365,14 @@
+ "\n"
+ msgstr ""
+
+-#: gcc.c:7967
++#: gcc.c:7966
+ #, c-format
+ msgid ""
+ "Use \"-Wa,OPTION\" to pass \"OPTION\" to the assembler.\n"
+ "\n"
+ msgstr ""
+
+-#: gcov.c:399
++#: gcov.c:400
+ #, fuzzy, c-format
+ msgid ""
+ "Usage: gcov [OPTION]... SOURCEFILE...\n"
+@@ -1381,7 +1381,7 @@
+ "用法:gconv [é¸é …]... 來æºæª”案\n"
+ "\n"
+
+-#: gcov.c:400
++#: gcov.c:401
+ #, c-format
+ msgid ""
+ "Print code coverage information.\n"
+@@ -1390,66 +1390,66 @@
+ "顯示程å¼ç¢¼è¦†å¯«è³‡è¨Šã€‚\n"
+ "\n"
+
+-#: gcov.c:401
++#: gcov.c:402
+ #, c-format
+ msgid " -h, --help Print this help, then exit\n"
+ msgstr " -h, --help 列å°æ­¤è¼”助並離開\n"
+
+-#: gcov.c:402
++#: gcov.c:403
+ #, c-format
+ msgid " -v, --version Print version number, then exit\n"
+ msgstr " -v, --version 列å°ç‰ˆæœ¬è™Ÿä¸¦é›¢é–‹\n"
+
+-#: gcov.c:403
++#: gcov.c:404
+ #, c-format
+ msgid " -a, --all-blocks Show information for every basic block\n"
+ msgstr " -a, --all-blocks 顯示æ¯å€‹åŸºæœ¬å€å¡Šçš„資訊\n"
+
+-#: gcov.c:404
++#: gcov.c:405
+ #, c-format
+ msgid " -b, --branch-probabilities Include branch probabilities in output\n"
+ msgstr " -b, --branch-probabilities 輸出包å«åˆ†æ”¯æ¦‚率\n"
+
+-#: gcov.c:405
++#: gcov.c:406
+ #, c-format
+ msgid ""
+ " -c, --branch-counts Given counts of branches taken\n"
+ " rather than percentages\n"
+ msgstr " -c, --branch-counts 給出跳轉的分支數,而ä¸æ˜¯ç™¾åˆ†æ¯”\n"
+
+-#: gcov.c:407
++#: gcov.c:408
+ #, c-format
+ msgid " -n, --no-output Do not create an output file\n"
+ msgstr " -n, --no-output ä¸å»ºç«‹è¼¸å‡ºæª”案\n"
+
+-#: gcov.c:408
++#: gcov.c:409
+ #, c-format
+ msgid ""
+ " -l, --long-file-names Use long output file names for included\n"
+ " source files\n"
+ msgstr " -l, --long-file-names 為包å«é€²ä¾†çš„來æºæª”案使用長輸出檔案å稱\n"
+
+-#: gcov.c:410
++#: gcov.c:411
+ #, c-format
+ msgid " -f, --function-summaries Output summaries for each function\n"
+ msgstr " -f, --function-summaries 輸出æ¯å€‹å‡½å¼çš„å°çµè³‡è¨Š\n"
+
+-#: gcov.c:411
++#: gcov.c:412
+ #, 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"
+
+-#: gcov.c:412
++#: gcov.c:413
+ #, c-format
+ msgid " -p, --preserve-paths Preserve all pathname components\n"
+ msgstr " -p, --preserve-paths ä¿ç•™æ‰€æœ‰è·¯å¾‘å\n"
+
+-#: gcov.c:413
++#: gcov.c:414
+ #, c-format
+ msgid " -u, --unconditional-branches Show unconditional branch counts too\n"
+ msgstr " -u, --unconditional-branches åŒæ™‚顯示無æ¢ä»¶è·³è½‰æ•¸\n"
+
+-#: gcov.c:414
++#: gcov.c:415
+ #, c-format
+ msgid ""
+ "\n"
+@@ -1460,12 +1460,12 @@
+ "æ交錯誤報告的具體步驟請åƒè¦‹ï¼š\n"
+ "%s。\n"
+
+-#: gcov.c:424
++#: gcov.c:425
+ #, fuzzy, c-format
+ msgid "gcov %s%s\n"
+ msgstr "gcov (GCC) %s\n"
+
+-#: gcov.c:428
++#: gcov.c:429
+ #, c-format
+ msgid ""
+ "This is free software; see the source for copying conditions.\n"
+@@ -1476,206 +1476,206 @@
+ "本程å¼æ˜¯è‡ªç”±è»Ÿé«”;請åƒçœ‹ä¾†æºç¨‹å¼ç¢¼çš„版權宣告。本軟體沒有任何擔ä¿ï¼›\n"
+ "包括沒有é©éŠ·æ€§å’ŒæŸä¸€å°ˆç”¨ç›®çš„下的é©ç”¨æ€§æ“”ä¿ã€‚\n"
+
+-#: gcov.c:524
++#: gcov.c:525
+ #, c-format
+ msgid "%s:no functions found\n"
+ msgstr "%s:找ä¸åˆ°å‡½å¼\n"
+
+-#: gcov.c:556 gcov.c:584 fortran/dump-parse-tree.c:63
++#: gcov.c:557 gcov.c:585 fortran/dump-parse-tree.c:63
+ #, c-format
+ msgid "\n"
+ msgstr "\n"
+
+-#: gcov.c:571
++#: gcov.c:572
+ #, c-format
+ msgid "%s:creating '%s'\n"
+ msgstr "%s:正在建立「%sã€\n"
+
+-#: gcov.c:575
++#: gcov.c:576
+ #, c-format
+ msgid "%s:error writing output file '%s'\n"
+ msgstr "%s:寫入輸出檔案「%sã€æ™‚發生錯誤\n"
+
+-#: gcov.c:580
++#: gcov.c:581
+ #, c-format
+ msgid "%s:could not open output file '%s'\n"
+ msgstr "%s:無法開啟輸出檔案「%sã€\n"
+
+-#: gcov.c:729
++#: gcov.c:730
+ #, c-format
+ msgid "%s:source file is newer than graph file '%s'\n"
+ msgstr "%s:來æºæª”案較圖檔案「%sã€æ–°\n"
+
+-#: gcov.c:734
++#: gcov.c:735
+ #, c-format
+ msgid "(the message is only displayed one per source file)\n"
+ msgstr ""
+
+-#: gcov.c:758
++#: gcov.c:759
+ #, c-format
+ msgid "%s:cannot open graph file\n"
+ msgstr "%s:無法開啟圖檔案\n"
+
+-#: gcov.c:764
++#: gcov.c:765
+ #, c-format
+ msgid "%s:not a gcov graph file\n"
+ msgstr "%s:ä¸æ˜¯ä¸€å€‹ gcov 圖檔案\n"
+
+-#: gcov.c:777
++#: gcov.c:778
+ #, c-format
+ msgid "%s:version '%.4s', prefer '%.4s'\n"
+ msgstr "%s:版本「%.4sã€ï¼Œå好「%.4sã€\n"
+
+-#: gcov.c:829
++#: gcov.c:830
+ #, c-format
+ msgid "%s:already seen blocks for '%s'\n"
+ msgstr "%s:已經看到「%sã€çš„å€å¡Š\n"
+
+-#: gcov.c:947
++#: gcov.c:948
+ #, c-format
+ msgid "%s:corrupted\n"
+ msgstr "%s:已æ壞\n"
+
+-#: gcov.c:1023
++#: gcov.c:1024
+ #, fuzzy, c-format
+ msgid "%s:cannot open data file, assuming not executed\n"
+ msgstr "%s:無法開啟資料檔案\n"
+
+-#: gcov.c:1030
++#: gcov.c:1031
+ #, c-format
+ msgid "%s:not a gcov data file\n"
+ msgstr "%s:ä¸æ˜¯ä¸€å€‹ gcov 資料檔案\n"
+
+-#: gcov.c:1043
++#: gcov.c:1044
+ #, c-format
+ msgid "%s:version '%.4s', prefer version '%.4s'\n"
+ msgstr "%s:版本「%.4sã€ï¼Œå好版本「%.4sã€\n"
+
+-#: gcov.c:1049
++#: gcov.c:1050
+ #, c-format
+ msgid "%s:stamp mismatch with graph file\n"
+ msgstr "%s:時間戳記與圖檔案ä¸åŒ¹é…\n"
+
+-#: gcov.c:1078
++#: gcov.c:1079
+ #, c-format
+ msgid "%s:unknown function '%u'\n"
+ msgstr "%s:ä¸æ˜Žå‡½å¼ã€Œ%uã€\n"
+
+-#: gcov.c:1091
++#: gcov.c:1092
+ #, c-format
+ msgid "%s:profile mismatch for '%s'\n"
+ msgstr "%s:樣本檔案與「%sã€ä¸åŒ¹é…\n"
+
+-#: gcov.c:1110
++#: gcov.c:1111
+ #, c-format
+ msgid "%s:overflowed\n"
+ msgstr "%s:溢出\n"
+
+-#: gcov.c:1134
++#: gcov.c:1135
+ #, c-format
+ msgid "%s:'%s' lacks entry and/or exit blocks\n"
+ msgstr "%s:「%sã€ç¼ºå°‘å…¥å£/出å£å¡Š\n"
+
+-#: gcov.c:1139
++#: gcov.c:1140
+ #, c-format
+ msgid "%s:'%s' has arcs to entry block\n"
+ msgstr "%s:「%sã€æœ‰åŽ»å¾€å…¥å£å¡Šçš„弧\n"
+
+-#: gcov.c:1147
++#: gcov.c:1148
+ #, c-format
+ msgid "%s:'%s' has arcs from exit block\n"
+ msgstr "%s:「%sã€æœ‰ä¾†è‡ªå‡ºå£å€å¡Šçš„弧\n"
+
+-#: gcov.c:1355
++#: gcov.c:1356
+ #, c-format
+ msgid "%s:graph is unsolvable for '%s'\n"
+ msgstr "%s:圖為「%sã€ä¸å¯è§£\n"
+
+-#: gcov.c:1435
++#: gcov.c:1436
+ #, c-format
+ msgid "%s '%s'\n"
+ msgstr "%s「%sã€\n"
+
+-#: gcov.c:1438
++#: gcov.c:1439
+ #, c-format
+ msgid "Lines executed:%s of %d\n"
+ msgstr "已執行的列數:%s (共 %d 列)\n"
+
+-#: gcov.c:1442
++#: gcov.c:1443
+ #, c-format
+ msgid "No executable lines\n"
+ msgstr "沒有å¯åŸ·è¡Œåˆ—\n"
+
+-#: gcov.c:1448
++#: gcov.c:1449
+ #, c-format
+ msgid "Branches executed:%s of %d\n"
+ msgstr "執行的分支:%s (共有 %d 個)\n"
+
+-#: gcov.c:1452
++#: gcov.c:1453
+ #, c-format
+ msgid "Taken at least once:%s of %d\n"
+ msgstr "至少執行一次的跳轉:%s(總數為 %d)\n"
+
+-#: gcov.c:1458
++#: gcov.c:1459
+ #, c-format
+ msgid "No branches\n"
+ msgstr "沒有跳轉\n"
+
+-#: gcov.c:1460
++#: gcov.c:1461
+ #, c-format
+ msgid "Calls executed:%s of %d\n"
+ msgstr "執行的呼å«ï¼š%s(å…± %d)\n"
+
+-#: gcov.c:1464
++#: gcov.c:1465
+ #, c-format
+ msgid "No calls\n"
+ msgstr "沒有呼å«\n"
+
+-#: gcov.c:1611
++#: gcov.c:1612
+ #, c-format
+ msgid "%s:no lines for '%s'\n"
+ msgstr "%s:「%sã€æ²’有列\n"
+
+-#: gcov.c:1806
++#: gcov.c:1807
+ #, c-format
+ msgid "call %2d returned %s\n"
+ msgstr "call %2d 回傳了 %s\n"
+
+-#: gcov.c:1811
++#: gcov.c:1812
+ #, c-format
+ msgid "call %2d never executed\n"
+ msgstr "call %2d 從未被執行\n"
+
+-#: gcov.c:1816
++#: gcov.c:1817
+ #, c-format
+ msgid "branch %2d taken %s%s\n"
+ msgstr "branch %2d 被執行 %s%s\n"
+
+-#: gcov.c:1820
++#: gcov.c:1821
+ #, c-format
+ msgid "branch %2d never executed\n"
+ msgstr "branch %2d 從未被執行\n"
+
+-#: gcov.c:1825
++#: gcov.c:1826
+ #, c-format
+ msgid "unconditional %2d taken %s\n"
+ msgstr "unconditional %2d 被執行 %s\n"
+
+-#: gcov.c:1828
++#: gcov.c:1829
+ #, c-format
+ msgid "unconditional %2d never executed\n"
+ msgstr "ç„¡æ¢ä»¶ %2d 從未執行\n"
+
+-#: gcov.c:1864
++#: gcov.c:1865
+ #, c-format
+ msgid "%s:cannot open source file\n"
+ msgstr "%s:無法開啟來æºæª”案\n"
+
+-#: gcse.c:685
++#: gcse.c:679
+ msgid "GCSE disabled"
+ msgstr "GCSE 被åœç”¨"
+
+-#: gcse.c:6600
++#: gcse.c:6584
+ msgid "jump bypassing disabled"
+ msgstr "ç•¥éŽè·³è¶ŠæŒ‡ä»¤è¢«åœç”¨"
+
+@@ -1760,92 +1760,92 @@
+ msgid " inlined from %qs"
+ msgstr "å° %qs 而言無效的複數"
+
+-#: loop-iv.c:2805 tree-ssa-loop-niter.c:1818
++#: loop-iv.c:2806 tree-ssa-loop-niter.c:1818
+ msgid "assuming that the loop is not infinite"
+ msgstr "å‡å®šå¾ªç’°æœ‰çª®"
+
+-#: loop-iv.c:2806 tree-ssa-loop-niter.c:1819
++#: loop-iv.c:2807 tree-ssa-loop-niter.c:1819
+ msgid "cannot optimize possibly infinite loops"
+ msgstr "無法最佳化å¯èƒ½ç„¡çª®çš„循環"
+
+-#: loop-iv.c:2814 tree-ssa-loop-niter.c:1823
++#: loop-iv.c:2815 tree-ssa-loop-niter.c:1823
+ msgid "assuming that the loop counter does not overflow"
+ msgstr "å‡å®šå¾ªç’°è¨ˆæ•¸ä¸æœƒæº¢å‡º"
+
+-#: loop-iv.c:2815 tree-ssa-loop-niter.c:1824
++#: loop-iv.c:2816 tree-ssa-loop-niter.c:1824
+ msgid "cannot optimize loop, the loop counter may overflow"
+ msgstr "無法最佳化循環,循環變數å¯èƒ½æº¢å‡º"
+
+ #. What to print when a switch has no documentation.
+-#: opts.c:348
++#: opts.c:340
+ msgid "This switch lacks documentation"
+ msgstr "此開關缺少å¯ç”¨æ–‡ä»¶"
+
+-#: opts.c:1159
++#: opts.c:1161
+ msgid "[enabled]"
+ msgstr ""
+
+-#: opts.c:1159
++#: opts.c:1161
+ #, fuzzy
+ msgid "[disabled]"
+ msgstr "GCSE 被åœç”¨"
+
+-#: opts.c:1170
++#: opts.c:1172
+ #, c-format
+ msgid " No options with the desired characteristics were found\n"
+ msgstr ""
+
+-#: opts.c:1172
++#: opts.c:1174
+ #, c-format
+ msgid " All options with the desired characteristics have already been displayed\n"
+ msgstr ""
+
+-#: opts.c:1226
++#: opts.c:1228
+ #, fuzzy
+ msgid "The following options are target specific"
+ msgstr "下列é¸é …是與具體語言無關的:\n"
+
+-#: opts.c:1229
++#: opts.c:1231
+ #, fuzzy
+ msgid "The following options control compiler warning messages"
+ msgstr "下列é¸é …是與具體語言無關的:\n"
+
+-#: opts.c:1232
++#: opts.c:1234
+ #, fuzzy
+ msgid "The following options control optimizations"
+ msgstr "進行循環最佳化"
+
+-#: opts.c:1235 opts.c:1273
++#: opts.c:1237 opts.c:1275
+ #, fuzzy
+ msgid "The following options are language-independent"
+ msgstr "下列é¸é …是與具體語言無關的:\n"
+
+-#: opts.c:1238
++#: opts.c:1240
+ #, fuzzy
+ msgid "The --param option recognizes the following as parameters"
+ msgstr "--param é¸é …å¯æŽ¥å—以下åƒæ•¸ï¼š\n"
+
+-#: opts.c:1245
++#: opts.c:1247
+ #, fuzzy
+ msgid "The following options are specific to the language "
+ msgstr "下列é¸é …是與具體語言無關的:\n"
+
+-#: opts.c:1249
++#: opts.c:1251
+ #, fuzzy
+ msgid "The following options are supported by the language "
+ msgstr "下列é¸é …是與具體語言無關的:\n"
+
+-#: opts.c:1260
++#: opts.c:1262
+ #, fuzzy
+ msgid "The following options are not documented"
+ msgstr "下列é¸é …是與具體語言無關的:\n"
+
+-#: opts.c:1271
++#: opts.c:1273
+ #, fuzzy
+ msgid "The following options are language-related"
+ msgstr "下列é¸é …是與具體語言無關的:\n"
+
+-#: opts.c:1403
++#: opts.c:1405
+ #, c-format
+ msgid "warning: unrecognized argument to --help= switch: %.*s\n"
+ msgstr ""
+@@ -2161,7 +2161,7 @@
+ msgid "%s: input file names must have .c suffixes: %s\n"
+ msgstr "%s:輸入檔案å稱必須有 .c 字尾:%s\n"
+
+-#: reload.c:3734
++#: reload.c:3744
+ msgid "unable to generate reloads for:"
+ msgstr "無法產生é‡æ–°è¼‰å…¥ï¼Œç‚ºï¼š"
+
+@@ -2264,41 +2264,43 @@
+ msgstr "%s:版本「%.4sã€ï¼Œå好版本「%.4sã€\n"
+
+ #: toplev.c:1188
+-#, c-format
+-msgid "warning: %s header version %s differs from library version %s.\n"
++#, fuzzy, c-format
++msgid "%s%swarning: %s header version %s differs from library version %s.\n"
+ msgstr ""
++"%s%s%s 版本 %s (%s)\n"
++"%s\t由 GNU C 版本 %s 編譯。\n"
+
+ #: toplev.c:1190
+ #, c-format
+ msgid "%s%sGGC heuristics: --param ggc-min-expand=%d --param ggc-min-heapsize=%d\n"
+ msgstr "%s%sGGC 準則:--param ggc-min-expand=%d --param ggc-min-heapsize=%d\n"
+
+-#: toplev.c:1340
++#: toplev.c:1342
+ msgid "options passed: "
+ msgstr "傳éžçš„é¸é …:"
+
+-#: toplev.c:1374
++#: toplev.c:1376
+ msgid "options enabled: "
+ msgstr "啟用的é¸é …:"
+
+-#: toplev.c:1509
++#: toplev.c:1511
+ #, c-format
+ msgid "created and used with differing settings of '%s'"
+ msgstr "建立和使用時使用了ä¸åŒçš„「%sã€è¨­å®š"
+
+-#: toplev.c:1511
++#: toplev.c:1513
+ msgid "out of memory"
+ msgstr "記憶體ä¸è¶³"
+
+-#: toplev.c:1526
++#: toplev.c:1528
+ msgid "created and used with different settings of -fpic"
+ msgstr "建立和使用時使用了ä¸åŒçš„ -fpic 設定"
+
+-#: toplev.c:1528
++#: toplev.c:1530
+ msgid "created and used with different settings of -fpie"
+ msgstr "建立和使用時使用了ä¸åŒçš„ -fpie 設定"
+
+-#: tree-inline.c:2571
++#: tree-inline.c:2657
+ msgid "originally indirect function call not considered for inlining"
+ msgstr "原本間接的函å¼å‘¼å«ä¸è¢«è€ƒæ…®å…§è¯"
+
+@@ -2358,7 +2360,7 @@
+
+ #: params.def:93
+ #, fuzzy
+-msgid "The threshold ratio between current and hotest structure counts"
++msgid "The threshold ratio between current and hottest structure counts"
+ msgstr "實體化的欄ä½å’Œçµæ§‹ç¸½å¤§å°ä¹‹æ¯”的閾值"
+
+ #: params.def:110
+@@ -2755,114 +2757,122 @@
+ msgid "Maximum length of partial antic set when performing tree pre optimization"
+ msgstr ""
+
+-#: config/alpha/alpha.c:5015
++#: params.def:723
++msgid "Maximum size of a SCC before SCCVN stops processing a function"
++msgstr ""
++
++#: params.def:729
++msgid "Multiplier used for determining the double-queueing threshold"
++msgstr ""
++
++#: config/alpha/alpha.c:5023
+ #, c-format
+ msgid "invalid %%H value"
+ msgstr "無效 %%H 值"
+
+-#: config/alpha/alpha.c:5036 config/bfin/bfin.c:1423
++#: config/alpha/alpha.c:5044 config/bfin/bfin.c:1516
+ #, c-format
+ msgid "invalid %%J value"
+ msgstr "無效 %%J 值"
+
+-#: config/alpha/alpha.c:5066 config/ia64/ia64.c:4718
++#: config/alpha/alpha.c:5074 config/ia64/ia64.c:4719
+ #, c-format
+ msgid "invalid %%r value"
+ msgstr "無效 %%r 值"
+
+-#: config/alpha/alpha.c:5076 config/ia64/ia64.c:4672
+-#: config/rs6000/rs6000.c:11670 config/xtensa/xtensa.c:2036
++#: config/alpha/alpha.c:5084 config/ia64/ia64.c:4673
++#: config/rs6000/rs6000.c:11881 config/xtensa/xtensa.c:2042
+ #, c-format
+ msgid "invalid %%R value"
+ msgstr "無效 %%R 值"
+
+-#: config/alpha/alpha.c:5082 config/rs6000/rs6000.c:11589
+-#: config/xtensa/xtensa.c:2003
++#: config/alpha/alpha.c:5090 config/rs6000/rs6000.c:11800
++#: config/xtensa/xtensa.c:2009
+ #, c-format
+ msgid "invalid %%N value"
+ msgstr "無效 %%N 值"
+
+-#: config/alpha/alpha.c:5090 config/rs6000/rs6000.c:11617
++#: config/alpha/alpha.c:5098 config/rs6000/rs6000.c:11828
+ #, c-format
+ msgid "invalid %%P value"
+ msgstr "無效 %%P 值"
+
+-#: config/alpha/alpha.c:5098
++#: config/alpha/alpha.c:5106
+ #, c-format
+ msgid "invalid %%h value"
+ msgstr "無效 %%h 值"
+
+-#: config/alpha/alpha.c:5106 config/xtensa/xtensa.c:2029
++#: config/alpha/alpha.c:5114 config/xtensa/xtensa.c:2035
+ #, c-format
+ msgid "invalid %%L value"
+ msgstr "無效 %%L 值"
+
+-#: config/alpha/alpha.c:5145 config/rs6000/rs6000.c:11571
++#: config/alpha/alpha.c:5153 config/rs6000/rs6000.c:11782
+ #, c-format
+ msgid "invalid %%m value"
+ msgstr "無效 %%m 值"
+
+-#: config/alpha/alpha.c:5153 config/rs6000/rs6000.c:11579
++#: config/alpha/alpha.c:5161 config/rs6000/rs6000.c:11790
+ #, c-format
+ msgid "invalid %%M value"
+ msgstr "無效 %%M 值"
+
+-#: config/alpha/alpha.c:5197
++#: config/alpha/alpha.c:5205
+ #, c-format
+ msgid "invalid %%U value"
+ msgstr "無效 %%U 值"
+
+-#: config/alpha/alpha.c:5209 config/alpha/alpha.c:5223
+-#: config/rs6000/rs6000.c:11678
++#: config/alpha/alpha.c:5217 config/alpha/alpha.c:5231
++#: config/rs6000/rs6000.c:11889
+ #, c-format
+ msgid "invalid %%s value"
+ msgstr "無效 %%s 值"
+
+-#: config/alpha/alpha.c:5246
++#: config/alpha/alpha.c:5254
+ #, c-format
+ msgid "invalid %%C value"
+ msgstr "無效 %%C 值"
+
+-#: config/alpha/alpha.c:5283 config/rs6000/rs6000.c:11406
+-#: config/rs6000/rs6000.c:11425
++#: config/alpha/alpha.c:5291 config/rs6000/rs6000.c:11617
++#: config/rs6000/rs6000.c:11636
+ #, c-format
+ msgid "invalid %%E value"
+ msgstr "無效 %%E 值"
+
+-#: config/alpha/alpha.c:5308 config/alpha/alpha.c:5356
++#: config/alpha/alpha.c:5316 config/alpha/alpha.c:5364
+ #, c-format
+ msgid "unknown relocation unspec"
+ msgstr "ä¸æ˜Žçš„ä¸å¯é æœŸé‡å®šä½"
+
+-#: config/alpha/alpha.c:5317 config/crx/crx.c:1081
+-#: config/rs6000/rs6000.c:12005 config/spu/spu.c:1492
++#: config/alpha/alpha.c:5325 config/crx/crx.c:1081
++#: config/rs6000/rs6000.c:12216 config/spu/spu.c:1482
+ #, c-format
+ msgid "invalid %%xn code"
+ msgstr "無效的 %%xn 程å¼ç¢¼"
+
+-#: config/arc/arc.c:1724 config/m32r/m32r.c:1805
++#: config/arc/arc.c:1728 config/m32r/m32r.c:1805
+ #, c-format
+ msgid "invalid operand to %%R code"
+ msgstr "%%R 程å¼ç¢¼çš„é‹ç®—元無效"
+
+-#: config/arc/arc.c:1756 config/m32r/m32r.c:1828
++#: config/arc/arc.c:1760 config/m32r/m32r.c:1828
+ #, c-format
+ msgid "invalid operand to %%H/%%L code"
+ msgstr "%%H/%%L 程å¼ç¢¼çš„é‹ç®—元無效"
+
+-#: config/arc/arc.c:1778 config/m32r/m32r.c:1899
++#: config/arc/arc.c:1782 config/m32r/m32r.c:1899
+ #, c-format
+ msgid "invalid operand to %%U code"
+ msgstr "%%U 程å¼ç¢¼çš„é‹ç®—元無效"
+
+-#: config/arc/arc.c:1789
++#: config/arc/arc.c:1793
+ #, c-format
+ msgid "invalid operand to %%V code"
+ msgstr "%%V 程å¼ç¢¼çš„é‹ç®—元無效"
+
+ #. Unknown flag.
+ #. Undocumented flag.
+-#: config/arc/arc.c:1796 config/m32r/m32r.c:1926 config/sparc/sparc.c:6995
++#: config/arc/arc.c:1800 config/m32r/m32r.c:1926 config/sparc/sparc.c:6998
+ #, c-format
+ msgid "invalid operand output code"
+ msgstr "無效的é‹ç®—元輸出程å¼ç¢¼"
+@@ -2887,9 +2897,9 @@
+ #: config/arm/arm.c:12830 config/arm/arm.c:12865 config/arm/arm.c:12884
+ #: config/arm/arm.c:12899 config/arm/arm.c:12927 config/arm/arm.c:12934
+ #: config/arm/arm.c:12942 config/arm/arm.c:12963 config/arm/arm.c:12970
+-#: config/bfin/bfin.c:1436 config/bfin/bfin.c:1443 config/bfin/bfin.c:1450
+-#: config/bfin/bfin.c:1457 config/bfin/bfin.c:1466 config/bfin/bfin.c:1473
+-#: config/bfin/bfin.c:1480 config/bfin/bfin.c:1487
++#: config/bfin/bfin.c:1529 config/bfin/bfin.c:1536 config/bfin/bfin.c:1543
++#: config/bfin/bfin.c:1550 config/bfin/bfin.c:1559 config/bfin/bfin.c:1566
++#: config/bfin/bfin.c:1573 config/bfin/bfin.c:1580
+ #, c-format
+ msgid "invalid operand for code '%c'"
+ msgstr "程å¼ç¢¼ã€Œ%cã€çš„é‹ç®—元無效"
+@@ -2904,240 +2914,159 @@
+ msgid "missing operand"
+ msgstr "缺少é‹ç®—å…ƒ"
+
+-#: config/avr/avr.c:1022
++#: config/avr/avr.c:1062
+ #, c-format
+ msgid "address operand requires constraint for X, Y, or Z register"
+ msgstr ""
+
+-#: config/avr/avr.c:1129
++#: config/avr/avr.c:1169
+ msgid "bad address, not (reg+disp):"
+ msgstr "ä½å€éŒ¯èª¤ï¼Œä¸æ˜¯(reg+disp):"
+
+-#: config/avr/avr.c:1136
++#: config/avr/avr.c:1176
+ msgid "bad address, not post_inc or pre_dec:"
+ msgstr "錯誤的ä½å€ï¼Œä¸æ˜¯ post_inc 或 pre_dec:"
+
+-#: config/avr/avr.c:1147
++#: config/avr/avr.c:1187
+ msgid "internal compiler error. Bad address:"
+ msgstr "編譯器內部錯誤。錯誤的ä½å€ï¼š"
+
+-#: config/avr/avr.c:1160
++#: config/avr/avr.c:1200
+ msgid "internal compiler error. Unknown mode:"
+ msgstr "編譯器內部錯誤。ä¸æ˜Žçš„模å¼ï¼š"
+
+-#: config/avr/avr.c:1775 config/avr/avr.c:2463
++#: config/avr/avr.c:1815 config/avr/avr.c:2503
+ msgid "invalid insn:"
+ msgstr "無效指令:"
+
+-#: config/avr/avr.c:1814 config/avr/avr.c:1900 config/avr/avr.c:1949
+-#: config/avr/avr.c:1977 config/avr/avr.c:2072 config/avr/avr.c:2241
+-#: config/avr/avr.c:2502 config/avr/avr.c:2614
++#: config/avr/avr.c:1854 config/avr/avr.c:1940 config/avr/avr.c:1989
++#: config/avr/avr.c:2017 config/avr/avr.c:2112 config/avr/avr.c:2281
++#: config/avr/avr.c:2542 config/avr/avr.c:2654
+ msgid "incorrect insn:"
+ msgstr "錯誤指令:"
+
+-#: config/avr/avr.c:1996 config/avr/avr.c:2157 config/avr/avr.c:2312
+-#: config/avr/avr.c:2680
++#: config/avr/avr.c:2036 config/avr/avr.c:2197 config/avr/avr.c:2352
++#: config/avr/avr.c:2720
+ msgid "unknown move insn:"
+ msgstr "無效的 move 指令:"
+
+-#: config/avr/avr.c:2910
++#: config/avr/avr.c:2950
+ msgid "bad shift insn:"
+ msgstr "錯誤的 shift 指令"
+
+-#: config/avr/avr.c:3026 config/avr/avr.c:3446 config/avr/avr.c:3804
++#: config/avr/avr.c:3066 config/avr/avr.c:3486 config/avr/avr.c:3844
+ msgid "internal compiler error. Incorrect shift:"
+ msgstr "編譯器內部錯誤。ä¸æ­£ç¢ºçš„移ä½é‡ï¼š"
+
+-#: config/bfin/bfin.c:1385
++#: config/bfin/bfin.c:1478
+ #, c-format
+ msgid "invalid %%j value"
+ msgstr "無效的 %%j 值"
+
+-#: config/bfin/bfin.c:1578
++#: config/bfin/bfin.c:1671
+ #, c-format
+ msgid "invalid const_double operand"
+ msgstr "無效的 const_double é‹ç®—å…ƒ"
+
+-#: config/c4x/c4x.c:1583
+-msgid "using CONST_DOUBLE for address"
+-msgstr "為ä½å€ä½¿ç”¨ CONST_DOUBLE"
+-
+-#: config/c4x/c4x.c:1721
+-msgid "c4x_address_cost: Invalid addressing mode"
+-msgstr "c4x_address_cost:無效的定å€æ¨¡å¼"
+-
+-#: config/c4x/c4x.c:1856
+-#, c-format
+-msgid "c4x_print_operand: %%L inconsistency"
+-msgstr "c4x_print_operand:%%L ä¸ä¸€è‡´"
+-
+-#: config/c4x/c4x.c:1862
+-#, c-format
+-msgid "c4x_print_operand: %%N inconsistency"
+-msgstr "c4x_print_operand:%%N ä¸ä¸€è‡´"
+-
+-#: config/c4x/c4x.c:1903
+-#, c-format
+-msgid "c4x_print_operand: %%O inconsistency"
+-msgstr "c4x_print_operand:%%O ä¸ä¸€è‡´"
+-
+-#: config/c4x/c4x.c:1998
+-msgid "c4x_print_operand: Bad operand case"
+-msgstr "c4x_print_operand:錯誤的é‹ç®—元類型"
+-
+-#: config/c4x/c4x.c:2039
+-msgid "c4x_print_operand_address: Bad post_modify"
+-msgstr "c4x_print_operand_address:錯誤的後變更"
+-
+-#: config/c4x/c4x.c:2061
+-msgid "c4x_print_operand_address: Bad pre_modify"
+-msgstr "c4x_print_operand_address:錯誤的å‰è®Šæ›´"
+-
+-#: config/c4x/c4x.c:2109 config/c4x/c4x.c:2121 config/c4x/c4x.c:2136
+-msgid "c4x_print_operand_address: Bad operand case"
+-msgstr "c4x_print_operand_address:錯誤的é‹ç®—元類型"
+-
+-#: config/c4x/c4x.c:2387
+-msgid "c4x_rptb_insert: Cannot find start label"
+-msgstr "c4x_rptb_insert:找ä¸åˆ°èµ·å§‹æ¨™ç±¤"
+-
+-#: config/c4x/c4x.c:2985
+-msgid "invalid indirect memory address"
+-msgstr "無效的間接記憶體ä½å€"
+-
+-#: config/c4x/c4x.c:3074
+-msgid "invalid indirect (S) memory address"
+-msgstr "無效的間接(S)記憶體ä½å€"
+-
+-#: config/c4x/c4x.c:3409
+-msgid "c4x_valid_operands: Internal error"
+-msgstr "c4x_valid_operands:內部錯誤"
+-
+-#: config/c4x/c4x.c:3848
+-msgid "c4x_operand_subword: invalid mode"
+-msgstr "c4x_operand_subword:無效模å¼"
+-
+-#: config/c4x/c4x.c:3851
+-msgid "c4x_operand_subword: invalid operand"
+-msgstr "c4x_operand_subword:無效é‹ç®—å…ƒ"
+-
+-#. We could handle these with some difficulty.
+-#. e.g., *p-- => *(p-=2); *(p+1).
+-#: config/c4x/c4x.c:3877
+-msgid "c4x_operand_subword: invalid autoincrement"
+-msgstr "c4x_operand_subword:無效的自差異"
+-
+-#: config/c4x/c4x.c:3883
+-msgid "c4x_operand_subword: invalid address"
+-msgstr "c4x_operand_subword:無效ä½å€"
+-
+-#: config/c4x/c4x.c:3894
+-msgid "c4x_operand_subword: address not offsettable"
+-msgstr "c4x_operand_subword:無法å–å移é‡çš„ä½å€"
+-
+-#: config/c4x/c4x.c:4096
+-msgid "c4x_rptb_rpts_p: Repeat block top label moved"
+-msgstr "c4x_rptb_rpts_p:é‡è¤‡å¡Šçš„頂層標籤被移動"
+-
+ #. Use `%s' to print the string in case there are any escape
+ #. characters in the message.
+-#: config/cris/cris.c:491 fortran/dump-parse-tree.c:78
+-#: fortran/dump-parse-tree.c:430 fortran/dump-parse-tree.c:776
+-#: fortran/dump-parse-tree.c:821 c-typeck.c:4607 c-typeck.c:4622
+-#: c-typeck.c:4637 final.c:2984 final.c:2986 gcc.c:4737 loop-iv.c:2807
+-#: loop-iv.c:2816 rtl-error.c:112 toplev.c:610 tree-ssa-loop-niter.c:1829
+-#: cp/parser.c:2188 cp/typeck.c:4559 java/expr.c:409
++#: config/cris/cris.c:504 fortran/dump-parse-tree.c:78
++#: fortran/dump-parse-tree.c:430 fortran/dump-parse-tree.c:798
++#: fortran/dump-parse-tree.c:843 c-typeck.c:4618 c-typeck.c:4633
++#: c-typeck.c:4648 final.c:2997 final.c:2999 gcc.c:4731 loop-iv.c:2808
++#: loop-iv.c:2817 rtl-error.c:112 toplev.c:610 tree-ssa-loop-niter.c:1829
++#: cp/parser.c:2192 cp/typeck.c:4567 java/expr.c:409
+ #, gcc-internal-format
+ msgid "%s"
+ msgstr "%s"
+
+-#: config/cris/cris.c:542
++#: config/cris/cris.c:555
+ msgid "unexpected index-type in cris_print_index"
+ msgstr "cris_print_index 中有éžé æœŸçš„索引類型"
+
+-#: config/cris/cris.c:556
++#: config/cris/cris.c:572
+ msgid "unexpected base-type in cris_print_base"
+ msgstr "cris_print_base 中有éžé æœŸçš„基礎類別型"
+
+-#: config/cris/cris.c:672
++#: config/cris/cris.c:688
+ msgid "invalid operand for 'b' modifier"
+ msgstr "「bã€ä¿®é£¾ç¬¦çš„é‹ç®—元無效"
+
+-#: config/cris/cris.c:689
++#: config/cris/cris.c:705
+ msgid "invalid operand for 'o' modifier"
+ msgstr "「oã€ä¿®é£¾ç¬¦çš„é‹ç®—元無效"
+
+-#: config/cris/cris.c:708
++#: config/cris/cris.c:724
+ msgid "invalid operand for 'O' modifier"
+ msgstr "「Oã€ä¿®é£¾ç¬¦çš„é‹ç®—元無效"
+
+-#: config/cris/cris.c:741
++#: config/cris/cris.c:757
+ msgid "invalid operand for 'p' modifier"
+ msgstr "「pã€ä¿®é£¾ç¬¦çš„é‹ç®—元無效"
+
+-#: config/cris/cris.c:780
++#: config/cris/cris.c:796
+ msgid "invalid operand for 'z' modifier"
+ msgstr "「zã€ä¿®é£¾ç¬¦çš„é‹ç®—元無效"
+
+-#: config/cris/cris.c:834 config/cris/cris.c:864
++#: config/cris/cris.c:860 config/cris/cris.c:894
+ msgid "invalid operand for 'H' modifier"
+ msgstr "「Hã€ä¿®é£¾ç¬¦çš„é‹ç®—元無效"
+
+-#: config/cris/cris.c:840
++#: config/cris/cris.c:870
+ msgid "bad register"
+ msgstr "錯誤的暫存器å"
+
+-#: config/cris/cris.c:884
++#: config/cris/cris.c:914
+ msgid "invalid operand for 'e' modifier"
+ msgstr "「eã€ä¿®é£¾ç¬¦çš„é‹ç®—元無效"
+
+-#: config/cris/cris.c:901
++#: config/cris/cris.c:931
+ msgid "invalid operand for 'm' modifier"
+ msgstr "「mã€ä¿®é£¾ç¬¦çš„é‹ç®—元無效"
+
+-#: config/cris/cris.c:926
++#: config/cris/cris.c:956
+ msgid "invalid operand for 'A' modifier"
+ msgstr "「Aã€ä¿®é£¾ç¬¦çš„é‹ç®—元無效"
+
+-#: config/cris/cris.c:949
++#: config/cris/cris.c:979
+ msgid "invalid operand for 'D' modifier"
+ msgstr "「Dã€ä¿®é£¾ç¬¦çš„é‹ç®—元無效"
+
+-#: config/cris/cris.c:963
++#: config/cris/cris.c:993
+ msgid "invalid operand for 'T' modifier"
+ msgstr "「Tã€ä¿®é£¾ç¬¦çš„é‹ç®—元無效"
+
+-#: config/cris/cris.c:972
++#: config/cris/cris.c:1013
+ msgid "invalid operand modifier letter"
+ msgstr "無效的é‹ç®—元修飾符字æ¯"
+
+-#: config/cris/cris.c:1029
++#: config/cris/cris.c:1070
+ msgid "unexpected multiplicative operand"
+ msgstr "無效的乘性é‹ç®—å…ƒ"
+
+-#: config/cris/cris.c:1049
++#: config/cris/cris.c:1090
+ msgid "unexpected operand"
+ msgstr "éžé æœŸçš„é‹ç®—å…ƒ"
+
+-#: config/cris/cris.c:1082 config/cris/cris.c:1092
++#: config/cris/cris.c:1123 config/cris/cris.c:1133
+ msgid "unrecognized address"
+ msgstr "無法辨識的ä½å€"
+
+-#: config/cris/cris.c:2019
++#: config/cris/cris.c:2209
+ msgid "unrecognized supposed constant"
+ msgstr "é æœŸçš„常數無法識別"
+
+-#: config/cris/cris.c:2394 config/cris/cris.c:2458
++#: config/cris/cris.c:2638 config/cris/cris.c:2702
+ msgid "unexpected side-effects in address"
+ msgstr "ä½å€ä¸­æœ‰éžé æœŸçš„副作用"
+
+ #. Can't possibly get a GOT-needing-fixup for a function-call,
+ #. right?
+-#: config/cris/cris.c:3253
++#: config/cris/cris.c:3539
+ msgid "Unidentifiable call op"
+ msgstr "無法辨識的 call 作業"
+
+-#: config/cris/cris.c:3304
++#: config/cris/cris.c:3590
+ #, c-format
+ msgid "PIC register isn't set up"
+ msgstr "尚未設定好 PIC 暫存器"
+@@ -3188,81 +3117,81 @@
+ msgid "fr30_print_operand: unhandled MEM"
+ msgstr "fr30_print_operand:未處ç†çš„ MEM"
+
+-#: config/frv/frv.c:2542
++#: config/frv/frv.c:2546
+ msgid "bad insn to frv_print_operand_address:"
+ msgstr "給 frv_print_operand_address 錯誤的指令:"
+
+-#: config/frv/frv.c:2553
++#: config/frv/frv.c:2557
+ msgid "bad register to frv_print_operand_memory_reference_reg:"
+ msgstr "給 frv_print_operand_memory_reference_reg 錯誤的暫存器:"
+
+-#: config/frv/frv.c:2592 config/frv/frv.c:2602 config/frv/frv.c:2611
+-#: config/frv/frv.c:2632 config/frv/frv.c:2637
++#: config/frv/frv.c:2596 config/frv/frv.c:2606 config/frv/frv.c:2615
++#: config/frv/frv.c:2636 config/frv/frv.c:2641
+ msgid "bad insn to frv_print_operand_memory_reference:"
+ msgstr "給 frv_print_operand_memory_reference 錯誤的指令:"
+
+-#: config/frv/frv.c:2723
++#: config/frv/frv.c:2727
+ #, c-format
+ msgid "bad condition code"
+ msgstr "錯誤的æ¢ä»¶ç¢¼"
+
+-#: config/frv/frv.c:2798
++#: config/frv/frv.c:2802
+ msgid "bad insn in frv_print_operand, bad const_double"
+ msgstr "frv_print_operand 中ä¸æ­£ç¢ºèª¤æŒ‡ä»¤ï¼ŒéŒ¯èª¤çš„ const_double"
+
+-#: config/frv/frv.c:2859
++#: config/frv/frv.c:2863
+ msgid "bad insn to frv_print_operand, 'e' modifier:"
+ msgstr "給 frv_print_operand 錯誤的指令,「eã€ä¿®é£¾ç¬¦ï¼š"
+
+-#: config/frv/frv.c:2867
++#: config/frv/frv.c:2871
+ msgid "bad insn to frv_print_operand, 'F' modifier:"
+ msgstr "給 frv_print_operand 錯誤的指令,「Fã€ä¿®é£¾ç¬¦ï¼š"
+
+-#: config/frv/frv.c:2883
++#: config/frv/frv.c:2887
+ msgid "bad insn to frv_print_operand, 'f' modifier:"
+ msgstr "給 frv_print_operand 錯誤的指令,「fã€ä¿®é£¾ç¬¦ï¼š"
+
+-#: config/frv/frv.c:2897
++#: config/frv/frv.c:2901
+ msgid "bad insn to frv_print_operand, 'g' modifier:"
+ msgstr "給 frv_print_operand 錯誤的指令,「gã€ä¿®é£¾ç¬¦ï¼š"
+
+-#: config/frv/frv.c:2945
++#: config/frv/frv.c:2949
+ msgid "bad insn to frv_print_operand, 'L' modifier:"
+ msgstr "給 frv_print_operand 錯誤的指令,「Lã€ä¿®é£¾ç¬¦ï¼š"
+
+-#: config/frv/frv.c:2958
++#: config/frv/frv.c:2962
+ msgid "bad insn to frv_print_operand, 'M/N' modifier:"
+ msgstr "給 frv_print_operand 錯誤的指令,「M/Nã€ä¿®é£¾ç¬¦ï¼š"
+
+-#: config/frv/frv.c:2979
++#: config/frv/frv.c:2983
+ msgid "bad insn to frv_print_operand, 'O' modifier:"
+ msgstr "給 frv_print_operand 錯誤的指令,「Oã€ä¿®é£¾ç¬¦ï¼š"
+
+-#: config/frv/frv.c:2997
++#: config/frv/frv.c:3001
+ msgid "bad insn to frv_print_operand, P modifier:"
+ msgstr "給 frv_print_operand 錯誤的指令,P 修飾符:"
+
+-#: config/frv/frv.c:3017
++#: config/frv/frv.c:3021
+ msgid "bad insn in frv_print_operand, z case"
+ msgstr "frv_print_operand 中ä¸æ­£ç¢ºèª¤æŒ‡ä»¤ï¼Œz case"
+
+-#: config/frv/frv.c:3048
++#: config/frv/frv.c:3052
+ msgid "bad insn in frv_print_operand, 0 case"
+ msgstr "frv_print_operand 中ä¸æ­£ç¢ºèª¤æŒ‡ä»¤ï¼Œ0 case"
+
+-#: config/frv/frv.c:3053
++#: config/frv/frv.c:3057
+ msgid "frv_print_operand: unknown code"
+ msgstr "frv_print_operand:ä¸æ˜Žç¨‹å¼ç¢¼"
+
+-#: config/frv/frv.c:4422
++#: config/frv/frv.c:4426
+ msgid "bad output_move_single operand"
+ msgstr "錯誤的 output_move_single é‹ç®—å…ƒ"
+
+-#: config/frv/frv.c:4549
++#: config/frv/frv.c:4553
+ msgid "bad output_move_double operand"
+ msgstr "錯誤的 output_move_double é‹ç®—å…ƒ"
+
+-#: config/frv/frv.c:4691
++#: config/frv/frv.c:4695
+ msgid "bad output_condmove_single operand"
+ msgstr "錯誤的 output_condmove_single é‹ç®—å…ƒ"
+
+@@ -3280,27 +3209,27 @@
+ msgid " (frv)"
+ msgstr " (frv)"
+
+-#: config/i386/i386.c:8218
++#: config/i386/i386.c:8273
+ #, c-format
+ msgid "invalid UNSPEC as operand"
+ msgstr "無效的 UNSPEC åšç‚ºé‹ç®—å…ƒ"
+
+-#: config/i386/i386.c:8924
++#: config/i386/i386.c:8979
+ #, c-format
+ msgid "operand is neither a constant nor a condition code, invalid operand code 'c'"
+ msgstr "é‹ç®—元既ä¸æ˜¯ä¸€å€‹å¸¸æ•¸ä¹Ÿä¸æ˜¯ä¸€å€‹æ¢ä»¶ç¢¼ï¼Œç„¡æ•ˆçš„é‹ç®—元程å¼ç¢¼ã€Œcã€"
+
+-#: config/i386/i386.c:9040
++#: config/i386/i386.c:9095
+ #, c-format
+ msgid "invalid operand code '%c'"
+ msgstr "無效的é‹ç®—元程å¼ç¢¼ã€Œ%cã€"
+
+-#: config/i386/i386.c:9089
++#: config/i386/i386.c:9144
+ #, c-format
+ msgid "invalid constraints for operand"
+ msgstr "é‹ç®—元的約æŸç„¡æ•ˆ"
+
+-#: config/i386/i386.c:16348
++#: config/i386/i386.c:16423
+ msgid "unknown insn mode"
+ msgstr "ä¸æ˜Žçš„指令模å¼"
+
+@@ -3321,34 +3250,34 @@
+ msgid "environment variable DJGPP points to corrupt file '%s'"
+ msgstr "環境變數 DJGPP åƒç…§çš„檔案「%sã€å·²æ壞"
+
+-#: config/ia64/ia64.c:4770
++#: config/ia64/ia64.c:4771
+ #, c-format
+ msgid "ia64_print_operand: unknown code"
+ msgstr "ia64_print_operand:ä¸æ˜Žç¨‹å¼ç¢¼"
+
+-#: config/ia64/ia64.c:9889
++#: config/ia64/ia64.c:9890
+ msgid "invalid conversion from %<__fpreg%>"
+ msgstr "從 %<__fpreg%> 的轉æ›ç„¡æ•ˆ"
+
+-#: config/ia64/ia64.c:9892
++#: config/ia64/ia64.c:9893
+ msgid "invalid conversion to %<__fpreg%>"
+ msgstr "å‘ %<__fpreg%> 的轉æ›ç„¡æ•ˆ"
+
+-#: config/ia64/ia64.c:9905 config/ia64/ia64.c:9916
++#: config/ia64/ia64.c:9906 config/ia64/ia64.c:9917
+ msgid "invalid operation on %<__fpreg%>"
+ msgstr "å° %<__fpreg%> 的作業無效"
+
+-#: config/iq2000/iq2000.c:3118
++#: config/iq2000/iq2000.c:3122
+ #, c-format
+ msgid "invalid %%P operand"
+ msgstr "無效的 %%P é‹ç®—å…ƒ"
+
+-#: config/iq2000/iq2000.c:3126 config/rs6000/rs6000.c:11607
++#: config/iq2000/iq2000.c:3130 config/rs6000/rs6000.c:11818
+ #, c-format
+ msgid "invalid %%p value"
+ msgstr "無效的 %%p 值"
+
+-#: config/iq2000/iq2000.c:3182
++#: config/iq2000/iq2000.c:3186
+ #, c-format
+ msgid "invalid use of %%d, %%x, or %%X"
+ msgstr "å° %%dã€%%x 或 %%X 的無效使用"
+@@ -3390,7 +3319,7 @@
+ msgstr "後自增ä½å€ä¸æ˜¯ä¸€å€‹æš«å­˜å™¨"
+
+ #: config/m32r/m32r.c:2030 config/m32r/m32r.c:2044
+-#: config/rs6000/rs6000.c:19870
++#: config/rs6000/rs6000.c:20087
+ msgid "bad address"
+ msgstr "錯誤ä½å€"
+
+@@ -3436,59 +3365,59 @@
+ msgid "invalid Z register replacement for insn"
+ msgstr "無效的 Z 暫存器替æ›"
+
+-#: config/mips/mips.c:6313 config/mips/mips.c:6334 config/mips/mips.c:6438
++#: config/mips/mips.c:6371 config/mips/mips.c:6392 config/mips/mips.c:6496
+ #, fuzzy, c-format
+ msgid "'%%%c' is not a valid operand prefix"
+ msgstr "「%sã€ä¸æ˜¯æœ‰æ•ˆçš„類別å"
+
+-#: config/mips/mips.c:6382 config/mips/mips.c:6389 config/mips/mips.c:6396
+-#: config/mips/mips.c:6456
++#: config/mips/mips.c:6440 config/mips/mips.c:6447 config/mips/mips.c:6454
++#: config/mips/mips.c:6514
+ #, fuzzy, c-format
+ msgid "invalid use of '%%%c'"
+ msgstr "錯誤地使用了 %qD"
+
+-#: config/mips/mips.c:6701
++#: config/mips/mips.c:6761
+ msgid "mips_debugger_offset called with non stack/frame/arg pointer"
+ msgstr ""
+
+-#: config/mmix/mmix.c:1487 config/mmix/mmix.c:1617
++#: config/mmix/mmix.c:1483 config/mmix/mmix.c:1613
+ msgid "MMIX Internal: Expected a CONST_INT, not this"
+ msgstr "MMIX 內部錯誤:é æœŸçš„是 CONST_INT,ä¸æ˜¯é€™å€‹"
+
+-#: config/mmix/mmix.c:1566
++#: config/mmix/mmix.c:1562
+ msgid "MMIX Internal: Bad value for 'm', not a CONST_INT"
+ msgstr "MMIX 內部錯誤:「mã€å€¼éŒ¯èª¤ï¼Œä¸æ˜¯ä¸€å€‹ CONST_INT"
+
+-#: config/mmix/mmix.c:1585
++#: config/mmix/mmix.c:1581
+ msgid "MMIX Internal: Expected a register, not this"
+ msgstr "MMIX 內部錯誤:需è¦ä¸€å€‹æš«å­˜å™¨ï¼Œä¸æ˜¯é€™å€‹"
+
+-#: config/mmix/mmix.c:1595
++#: config/mmix/mmix.c:1591
+ msgid "MMIX Internal: Expected a constant, not this"
+ msgstr "MMIX 內部錯誤:需è¦ä¸€å€‹å¸¸æ•¸ï¼Œä¸æ˜¯é€™å€‹"
+
+ #. We need the original here.
+-#: config/mmix/mmix.c:1679
++#: config/mmix/mmix.c:1675
+ msgid "MMIX Internal: Cannot decode this operand"
+ msgstr "MMIX 內部錯誤:無法解碼此é‹ç®—å…ƒ"
+
+-#: config/mmix/mmix.c:1736
++#: config/mmix/mmix.c:1732
+ msgid "MMIX Internal: This is not a recognized address"
+ msgstr "MMIX 內部錯誤:這ä¸æ˜¯ä¸€å€‹å¯è¾¨è­˜çš„ä½å€"
+
+-#: config/mmix/mmix.c:2669
++#: config/mmix/mmix.c:2665
+ msgid "MMIX Internal: Trying to output invalidly reversed condition:"
+ msgstr "MMIX 內部錯誤:試圖輸出無效地å轉的æ¢ä»¶ï¼š"
+
+-#: config/mmix/mmix.c:2676
++#: config/mmix/mmix.c:2672
+ msgid "MMIX Internal: What's the CC of this?"
+ msgstr "MMIX 內部錯誤:它的比較æ¢ä»¶æ˜¯ä»€éº¼ï¼Ÿ"
+
+-#: config/mmix/mmix.c:2680
++#: config/mmix/mmix.c:2676
+ msgid "MMIX Internal: What is the CC of this?"
+ msgstr "MMIX 內部錯誤:它的比較æ¢ä»¶æ˜¯ä»€éº¼ï¼Ÿ"
+
+-#: config/mmix/mmix.c:2744
++#: config/mmix/mmix.c:2740
+ msgid "MMIX Internal: This is not a constant:"
+ msgstr "MMIX 內部錯誤:這ä¸æ˜¯ä¸€å€‹å¸¸æ•¸ï¼š"
+
+@@ -3514,81 +3443,81 @@
+ msgid "Try running '%s' in the shell to raise its limit.\n"
+ msgstr "嘗試在命令解譯器中執行「%sã€ä»¥æå‡å®ƒçš„極值。\n"
+
+-#: config/rs6000/rs6000.c:11434
++#: config/rs6000/rs6000.c:11645
+ #, c-format
+ msgid "invalid %%f value"
+ msgstr "無效 %%f 值"
+
+-#: config/rs6000/rs6000.c:11443
++#: config/rs6000/rs6000.c:11654
+ #, c-format
+ msgid "invalid %%F value"
+ msgstr "無效 %%F 值"
+
+-#: config/rs6000/rs6000.c:11452
++#: config/rs6000/rs6000.c:11663
+ #, c-format
+ msgid "invalid %%G value"
+ msgstr "無效 %%G 值"
+
+-#: config/rs6000/rs6000.c:11487
++#: config/rs6000/rs6000.c:11698
+ #, c-format
+ msgid "invalid %%j code"
+ msgstr "無效 %%j 程å¼ç¢¼"
+
+-#: config/rs6000/rs6000.c:11497
++#: config/rs6000/rs6000.c:11708
+ #, c-format
+ msgid "invalid %%J code"
+ msgstr "無效 %%J 程å¼ç¢¼"
+
+-#: config/rs6000/rs6000.c:11507
++#: config/rs6000/rs6000.c:11718
+ #, c-format
+ msgid "invalid %%k value"
+ msgstr "無效 %%k 值"
+
+-#: config/rs6000/rs6000.c:11527 config/xtensa/xtensa.c:2022
++#: config/rs6000/rs6000.c:11738 config/xtensa/xtensa.c:2028
+ #, c-format
+ msgid "invalid %%K value"
+ msgstr "無效 %%K 值"
+
+-#: config/rs6000/rs6000.c:11597
++#: config/rs6000/rs6000.c:11808
+ #, c-format
+ msgid "invalid %%O value"
+ msgstr "無效 %%O 值"
+
+-#: config/rs6000/rs6000.c:11644
++#: config/rs6000/rs6000.c:11855
+ #, c-format
+ msgid "invalid %%q value"
+ msgstr "無效 %%q 值"
+
+-#: config/rs6000/rs6000.c:11688
++#: config/rs6000/rs6000.c:11899
+ #, c-format
+ msgid "invalid %%S value"
+ msgstr "無效 %%S 值"
+
+-#: config/rs6000/rs6000.c:11728
++#: config/rs6000/rs6000.c:11939
+ #, c-format
+ msgid "invalid %%T value"
+ msgstr "無效 %%T 值"
+
+-#: config/rs6000/rs6000.c:11738
++#: config/rs6000/rs6000.c:11949
+ #, c-format
+ msgid "invalid %%u value"
+ msgstr "無效 %%u 值"
+
+-#: config/rs6000/rs6000.c:11747 config/xtensa/xtensa.c:1992
++#: config/rs6000/rs6000.c:11958 config/xtensa/xtensa.c:1998
+ #, c-format
+ msgid "invalid %%v value"
+ msgstr "無效 %%v 值"
+
+-#: config/rs6000/rs6000.c:21768
++#: config/rs6000/rs6000.c:21946
+ msgid "AltiVec argument passed to unprototyped function"
+ msgstr "å‚³éž AltiVec 引數給無原型的函å¼"
+
+-#: config/s390/s390.c:4561
++#: config/s390/s390.c:4560
+ #, c-format
+ msgid "cannot decompose address"
+ msgstr "無法分解ä½å€"
+
+-#: config/s390/s390.c:4771
++#: config/s390/s390.c:4770
+ msgid "UNKNOWN in print_operand !?"
+ msgstr "UNKNOWN 出ç¾åœ¨ print_operand 中?ï¼"
+
+@@ -3598,89 +3527,89 @@
+ msgid "invalid operand for code: '%c'"
+ msgstr "程å¼ç¢¼ã€Œ%cã€çš„é‹ç®—元無效"
+
+-#: config/sh/sh.c:746
++#: config/sh/sh.c:749
+ #, c-format
+ msgid "invalid operand to %%R"
+ msgstr "%%R çš„é‹ç®—元無效"
+
+-#: config/sh/sh.c:773
++#: config/sh/sh.c:776
+ #, c-format
+ msgid "invalid operand to %%S"
+ msgstr "%%S çš„é‹ç®—元無效"
+
+-#: config/sh/sh.c:8095
++#: config/sh/sh.c:8098
+ msgid "created and used with different architectures / ABIs"
+ msgstr "建立和使用時使用了ä¸åŒçš„架構/ABI"
+
+-#: config/sh/sh.c:8097
++#: config/sh/sh.c:8100
+ msgid "created and used with different ABIs"
+ msgstr "建立和使用時使用了ä¸åŒçš„ ABI"
+
+-#: config/sh/sh.c:8099
++#: config/sh/sh.c:8102
+ msgid "created and used with different endianness"
+ msgstr "建立和使用時使用了ä¸åŒçš„高/低ä½ä½å…ƒçµ„在å‰è¨­å®š"
+
+-#: config/sparc/sparc.c:6803 config/sparc/sparc.c:6809
++#: config/sparc/sparc.c:6806 config/sparc/sparc.c:6812
+ #, c-format
+ msgid "invalid %%Y operand"
+ msgstr "無效的 %%Y é‹ç®—å…ƒ"
+
+-#: config/sparc/sparc.c:6879
++#: config/sparc/sparc.c:6882
+ #, c-format
+ msgid "invalid %%A operand"
+ msgstr "無效的 %%A é‹ç®—å…ƒ"
+
+-#: config/sparc/sparc.c:6889
++#: config/sparc/sparc.c:6892
+ #, c-format
+ msgid "invalid %%B operand"
+ msgstr "無效的 %%B é‹ç®—å…ƒ"
+
+-#: config/sparc/sparc.c:6928
++#: config/sparc/sparc.c:6931
+ #, c-format
+ msgid "invalid %%c operand"
+ msgstr "無效的 %%c é‹ç®—å…ƒ"
+
+-#: config/sparc/sparc.c:6950
++#: config/sparc/sparc.c:6953
+ #, c-format
+ msgid "invalid %%d operand"
+ msgstr "無效的 %%d é‹ç®—å…ƒ"
+
+-#: config/sparc/sparc.c:6967
++#: config/sparc/sparc.c:6970
+ #, c-format
+ msgid "invalid %%f operand"
+ msgstr "無效的 %%f é‹ç®—å…ƒ"
+
+-#: config/sparc/sparc.c:6981
++#: config/sparc/sparc.c:6984
+ #, c-format
+ msgid "invalid %%s operand"
+ msgstr "無效的 %%s é‹ç®—å…ƒ"
+
+-#: config/sparc/sparc.c:7035
++#: config/sparc/sparc.c:7038
+ #, c-format
+ msgid "long long constant not a valid immediate operand"
+ msgstr "long long 常數ä¸æ˜¯ä¸€å€‹æœ‰æ•ˆçš„ç«‹å³æ•¸å€¼é‹ç®—å…ƒ"
+
+-#: config/sparc/sparc.c:7038
++#: config/sparc/sparc.c:7041
+ #, c-format
+ msgid "floating point constant not a valid immediate operand"
+ msgstr "浮點常數ä¸æ˜¯ä¸€å€‹æœ‰æ•ˆçš„ç«‹å³æ•¸å€¼é‹ç®—å…ƒ"
+
+-#: config/stormy16/stormy16.c:1775 config/stormy16/stormy16.c:1846
++#: config/stormy16/stormy16.c:1748 config/stormy16/stormy16.c:1819
+ #, c-format
+ msgid "'B' operand is not constant"
+ msgstr "「Bã€é‹ç®—å…ƒä¸æ˜¯ä¸€å€‹å¸¸æ•¸"
+
+-#: config/stormy16/stormy16.c:1802
++#: config/stormy16/stormy16.c:1775
+ #, c-format
+ msgid "'B' operand has multiple bits set"
+ msgstr "「Bã€é‹ç®—元設定了多個ä½"
+
+-#: config/stormy16/stormy16.c:1828
++#: config/stormy16/stormy16.c:1801
+ #, c-format
+ msgid "'o' operand is not constant"
+ msgstr "「oã€é‹ç®—å…ƒä¸æ˜¯ä¸€å€‹å¸¸æ•¸"
+
+-#: config/stormy16/stormy16.c:1860
++#: config/stormy16/stormy16.c:1833
+ #, c-format
+ msgid "xstormy16_print_operand: unknown code"
+ msgstr "xstormy16_print_operand:ä¸æ˜Žç¨‹å¼ç¢¼"
+@@ -3693,56 +3622,56 @@
+ msgid "output_move_single:"
+ msgstr "output_move_single:"
+
+-#: config/xtensa/xtensa.c:652 config/xtensa/xtensa.c:684
+-#: config/xtensa/xtensa.c:693
++#: config/xtensa/xtensa.c:656 config/xtensa/xtensa.c:688
++#: config/xtensa/xtensa.c:697
+ msgid "bad test"
+ msgstr "錯誤的測試"
+
+-#: config/xtensa/xtensa.c:1980
++#: config/xtensa/xtensa.c:1986
+ #, c-format
+ msgid "invalid %%D value"
+ msgstr "無效的 %%D 值"
+
+-#: config/xtensa/xtensa.c:2017
++#: config/xtensa/xtensa.c:2023
+ msgid "invalid mask"
+ msgstr "無效é®ç½©"
+
+-#: config/xtensa/xtensa.c:2043
++#: config/xtensa/xtensa.c:2049
+ #, c-format
+ msgid "invalid %%x value"
+ msgstr "無效的 %%x 值"
+
+-#: config/xtensa/xtensa.c:2050
++#: config/xtensa/xtensa.c:2056
+ #, c-format
+ msgid "invalid %%d value"
+ msgstr "無效的 %%d 值"
+
+-#: config/xtensa/xtensa.c:2071 config/xtensa/xtensa.c:2081
++#: config/xtensa/xtensa.c:2077 config/xtensa/xtensa.c:2087
+ #, c-format
+ msgid "invalid %%t/%%b value"
+ msgstr "無效的 %%t/%%b 值"
+
+-#: config/xtensa/xtensa.c:2123
++#: config/xtensa/xtensa.c:2129
+ msgid "invalid address"
+ msgstr "無效ä½å€"
+
+-#: config/xtensa/xtensa.c:2148
++#: config/xtensa/xtensa.c:2154
+ msgid "no register in address"
+ msgstr "ä½å€ä¸­ç„¡æš«å­˜å™¨"
+
+-#: config/xtensa/xtensa.c:2156
++#: config/xtensa/xtensa.c:2162
+ msgid "address offset not a constant"
+ msgstr "ä½å€å移é‡ä¸æ˜¯ä¸€å€‹å¸¸æ•¸"
+
+-#: cp/call.c:2514
++#: cp/call.c:2500
+ msgid "candidates are:"
+ msgstr "å‚™é¸ç‚ºï¼š"
+
+-#: cp/call.c:6463
++#: cp/call.c:6487
+ msgid "candidate 1:"
+ msgstr "å‚™é¸ 1:"
+
+-#: cp/call.c:6464
++#: cp/call.c:6488
+ msgid "candidate 2:"
+ msgstr "å‚™é¸ 2:"
+
+@@ -3787,52 +3716,52 @@
+ msgid "Integer outside symmetric range implied by Standard Fortran at %L"
+ msgstr "%L 處整數超出標準 Fortran éš±å«çš„å°ç¨±ç¯„åœ"
+
+-#: fortran/arith.c:1425
++#: fortran/arith.c:1472
+ #, fuzzy
+ msgid "elemental binary operation"
+ msgstr "基本的二元作業"
+
+-#: fortran/arith.c:1997
++#: fortran/arith.c:2044
+ #, no-c-format
+ msgid "Arithmetic OK converting %s to %s at %L"
+ msgstr "從 %s 轉æ›åˆ° %s,在 %L 處:算術正常"
+
+-#: fortran/arith.c:2001
++#: fortran/arith.c:2048
+ #, no-c-format
+ msgid "Arithmetic overflow converting %s to %s at %L. This check can be disabled with the option -fno-range-check"
+ msgstr ""
+
+-#: fortran/arith.c:2006
++#: fortran/arith.c:2053
+ #, no-c-format
+ msgid "Arithmetic underflow converting %s to %s at %L"
+ msgstr "從 %s 轉æ›åˆ° %s,在 %L 處:算術å‘下溢ä½"
+
+-#: fortran/arith.c:2010
++#: fortran/arith.c:2057
+ #, no-c-format
+ msgid "Arithmetic NaN converting %s to %s at %L"
+ msgstr "從 %s 轉æ›åˆ° %s,在 %L 處:算術 NaN"
+
+-#: fortran/arith.c:2014
++#: fortran/arith.c:2061
+ #, no-c-format
+ msgid "Division by zero converting %s to %s at %L"
+ msgstr "從 %s 轉æ›åˆ° %s 時被零除,於 %L 處"
+
+-#: fortran/arith.c:2018
++#: fortran/arith.c:2065
+ #, no-c-format
+ msgid "Array operands are incommensurate converting %s to %s at %L"
+ msgstr ""
+
+-#: fortran/arith.c:2022
++#: fortran/arith.c:2069
+ #, no-c-format
+ msgid "Integer outside symmetric range implied by Standard Fortran converting %s to %s at %L"
+ msgstr ""
+
+-#: fortran/arith.c:2355
++#: fortran/arith.c:2402
+ #, no-c-format
+ msgid "The Hollerith constant at %L is too long to convert to %s"
+ msgstr "%L çš„è·å‹’瑞斯常數太長,無法被轉æ›ç‚º %s"
+
+-#: fortran/arith.c:2513
++#: fortran/arith.c:2560
+ #, no-c-format
+ msgid "Enumerator exceeds the C integer type at %C"
+ msgstr "%C 處:列舉é‡è¶…éŽ C 整數類型"
+@@ -3862,72 +3791,72 @@
+ msgid "Variable '%s' at %L in this context must be constant"
+ msgstr "變數「%sã€åœ¨ %L 處上下文中必須是常數"
+
+-#: fortran/array.c:299
++#: fortran/array.c:314
+ #, no-c-format
+ msgid "Expected expression in array specification at %C"
+ msgstr "%C 處指定陣列時需è¦é‹ç®—å¼"
+
+-#: fortran/array.c:386
++#: fortran/array.c:392
+ #, no-c-format
+ msgid "Bad array specification for an explicitly shaped array at %C"
+ msgstr ""
+
+-#: fortran/array.c:396
++#: fortran/array.c:402
+ #, no-c-format
+ msgid "Bad array specification for assumed shape array at %C"
+ msgstr ""
+
+-#: fortran/array.c:410
++#: fortran/array.c:416
+ #, no-c-format
+ msgid "Bad specification for deferred shape array at %C"
+ msgstr ""
+
+-#: fortran/array.c:414
++#: fortran/array.c:420
+ #, no-c-format
+ msgid "Bad specification for assumed size array at %C"
+ msgstr ""
+
+-#: fortran/array.c:423
++#: fortran/array.c:429
+ #, no-c-format
+ msgid "Expected another dimension in array declaration at %C"
+ msgstr "%C 處陣列宣告需è¦å¦å¤–一維"
+
+-#: fortran/array.c:429
++#: fortran/array.c:435
+ #, no-c-format
+ msgid "Array specification at %C has more than %d dimensions"
+ msgstr "%C 處陣列指定了多於 %d 的維數"
+
+-#: fortran/array.c:635
++#: fortran/array.c:641
+ #, no-c-format
+ msgid "duplicated initializer"
+ msgstr "é‡è¤‡çš„åˆå§‹å€¼è¨­å®š"
+
+-#: fortran/array.c:727
++#: fortran/array.c:733
+ #, no-c-format
+ msgid "DO-iterator '%s' at %L is inside iterator of the same name"
+ msgstr "DO 游標「%sã€åœ¨ %L 處出ç¾åœ¨å¦ä¸€å€‹åŒå游標作用欄ä½å…§"
+
+-#: fortran/array.c:829 fortran/array.c:938
++#: fortran/array.c:835 fortran/array.c:944
+ #, no-c-format
+ msgid "Syntax error in array constructor at %C"
+ msgstr "%C 陣列建構語法錯誤"
+
+-#: fortran/array.c:884
++#: fortran/array.c:890
+ #, fuzzy, no-c-format
+ msgid "Fortran 2003: [...] style array constructors at %C"
+ msgstr "Fortran 2003 中的新特性:%C 處 [...] 風格的陣列建構"
+
+-#: fortran/array.c:898
++#: fortran/array.c:904
+ #, no-c-format
+ msgid "Empty array constructor at %C is not allowed"
+ msgstr "%C 處的空陣列建構ä¸è¢«å…許"
+
+-#: fortran/array.c:982
++#: fortran/array.c:988
+ #, no-c-format
+ msgid "Element in %s array constructor at %L is %s"
+ msgstr "%s 陣列建構中的元素在 %L 處是 %s"
+
+-#: fortran/array.c:1309
++#: fortran/array.c:1315
+ #, no-c-format
+ msgid "Iterator step at %L cannot be zero"
+ msgstr "%L 迭代次數ä¸èƒ½ç‚ºé›¶"
+@@ -3947,7 +3876,7 @@
+ msgid "'%s' argument of '%s' intrinsic at %L must be a numeric type"
+ msgstr "引數「%sã€(屬於內建函å¼ã€Œ%sã€ï¼Œä½æ–¼ %L)必須具有數字類型"
+
+-#: fortran/check.c:101 fortran/check.c:817 fortran/check.c:827
++#: fortran/check.c:101 fortran/check.c:810 fortran/check.c:820
+ #, no-c-format
+ msgid "'%s' argument of '%s' intrinsic at %L must be INTEGER or REAL"
+ msgstr "引數「%sã€(屬於內建函å¼ã€Œ%sã€ï¼Œä½æ–¼ %L)必須為整數型或實數型"
+@@ -4012,220 +3941,215 @@
+ msgid "'%s' argument of '%s' intrinsic at %L must be a variable"
+ msgstr "引數「%sã€(屬於內建函å¼ã€Œ%sã€ï¼Œä½æ–¼ %L)必須是一個變數"
+
+-#: fortran/check.c:320
++#: fortran/check.c:356
+ #, no-c-format
+-msgid "Missing DIM parameter in intrinsic '%s' at %L"
+-msgstr "內建函å¼ã€Œ%sã€åœ¨ %L 處缺少 DIM åƒæ•¸"
+-
+-#: fortran/check.c:363
+-#, no-c-format
+ msgid "'dim' argument of '%s' intrinsic at %L is not a valid dimension index"
+ msgstr "「%sã€å…§å»ºå‡½å¼çš„「dimã€å¼•æ•¸(æ–¼ %L 處)ä¸æ˜¯ä¸€å€‹æœ‰æ•ˆçš„維數索引"
+
+-#: fortran/check.c:433
++#: fortran/check.c:426
+ #, fuzzy, no-c-format
+ msgid "Unequal character lengths (%ld and %ld) in %s intrinsic at %L"
+ msgstr "%L 處指標賦值時字元長度ä¸åŒ"
+
+-#: fortran/check.c:535 fortran/check.c:1938 fortran/check.c:1953
++#: fortran/check.c:528 fortran/check.c:1932 fortran/check.c:1947
+ #, no-c-format
+ msgid "'%s' argument of '%s' intrinsic at %L must be ALLOCATABLE"
+ msgstr "引數「%sã€(屬於內建函å¼ã€Œ%sã€ï¼Œä½æ–¼ %L)必須為 ALLOCATABLE"
+
+-#: fortran/check.c:559 fortran/check.c:3703
++#: fortran/check.c:552 fortran/check.c:3697
+ #, no-c-format
+ msgid "'%s' and '%s' arguments of '%s' intrinsic at %L must have the same type"
+ msgstr "「%sã€å’Œã€Œ%sã€å¼•æ•¸(屬於「%sã€å…§å»ºå‡½å¼)在 %L 處類型必須相åŒ"
+
+-#: fortran/check.c:568 fortran/check.c:1143 fortran/check.c:1286
+-#: fortran/check.c:1360 fortran/check.c:1616
++#: fortran/check.c:561 fortran/check.c:1137 fortran/check.c:1280
++#: fortran/check.c:1354 fortran/check.c:1610
+ #, no-c-format
+ msgid "Extension: Different type kinds at %L"
+ msgstr "擴充:%L 處類型種別ä¸åŒ"
+
+-#: fortran/check.c:608 fortran/check.c:2022
++#: fortran/check.c:601 fortran/check.c:2016
+ #, no-c-format
+ msgid "'%s' argument of '%s' intrinsic at %L must be a POINTER"
+ msgstr "引數「%sã€(屬於內建函å¼ã€Œ%sã€ï¼Œä½æ–¼ %L)必須是一個 POINTER"
+
+-#: fortran/check.c:628
++#: fortran/check.c:621
+ #, fuzzy, no-c-format
+ msgid "'%s' argument of '%s' intrinsic at %L must be a pointer or target VARIABLE or FUNCTION"
+ msgstr "「%sã€å¼•æ•¸(屬於內建函å¼ã€Œ%sã€ï¼Œæ–¼ %L 處)的類型必須為 REAL 或 COMPLEX"
+
+-#: fortran/check.c:636
++#: fortran/check.c:629
+ #, no-c-format
+ msgid "'%s' argument of '%s' intrinsic at %L must be a POINTER or a TARGET"
+ msgstr "引數「%sã€(屬於內建函å¼ã€Œ%sã€ï¼Œä½æ–¼ %L)必須是一個 POINTER 或 TARGET"
+
+-#: fortran/check.c:652
++#: fortran/check.c:645
+ #, no-c-format
+ msgid "Array section with a vector subscript at %L shall not be the target of a pointer"
+ msgstr "%L 處由å‘é‡ä¸‹æ¨™é¸æ“‡çš„部分陣列ä¸æ‡‰æ˜¯æŒ‡æ¨™çš„目的"
+
+-#: fortran/check.c:663
++#: fortran/check.c:656
+ #, no-c-format
+ msgid "NULL pointer at %L is not permitted as actual argument of '%s' intrinsic function"
+ msgstr "%L çš„ NULL 指標ä¸èƒ½åšç‚ºå…§å»ºå‡½å¼ã€Œ%sã€çš„引數"
+
+-#: fortran/check.c:798 fortran/check.c:915
++#: fortran/check.c:791 fortran/check.c:910
+ #, no-c-format
+ msgid "'%s' argument of '%s' intrinsic at %L must not be present if 'x' is COMPLEX"
+ msgstr "當「xã€æ˜¯ COMPLEX 時「%sã€å¼•æ•¸(屬於「%sã€å…§å»ºå‡½å¼ï¼Œåœ¨ %L 處)ä¸èƒ½å­˜åœ¨"
+
+-#: fortran/check.c:848 fortran/check.c:1205 fortran/check.c:1308
+-#: fortran/check.c:1467 fortran/check.c:1484 fortran/check.c:2318
+-#: fortran/check.c:2444 fortran/check.c:2779 fortran/check.c:2821
++#: fortran/check.c:841 fortran/check.c:1199 fortran/check.c:1302
++#: fortran/check.c:1461 fortran/check.c:1478 fortran/check.c:2312
++#: fortran/check.c:2438 fortran/check.c:2773 fortran/check.c:2815
+ #, fuzzy, no-c-format
+ msgid "Fortran 2003: '%s' intrinsic with KIND argument at %L"
+ msgstr "Fortran 2003:%C 處的 FLUSH 敘述"
+
+-#: fortran/check.c:964 fortran/check.c:1712 fortran/check.c:1720
++#: fortran/check.c:959 fortran/check.c:1706 fortran/check.c:1714
+ #, no-c-format
+ msgid "'%s' argument of '%s' intrinsic at %L must be numeric or LOGICAL"
+ msgstr "引數「%sã€(屬於內建函å¼ã€Œ%sã€ï¼Œä½æ–¼ %L)必須為數字或 LOGICAL åž‹"
+
+-#: fortran/check.c:978
++#: fortran/check.c:973
+ #, no-c-format
+ msgid "Different shape for arguments '%s' and '%s' at %L for intrinsic 'dot_product'"
+ msgstr ""
+
+-#: fortran/check.c:997 fortran/check.c:1005
++#: fortran/check.c:992 fortran/check.c:1000
+ #, fuzzy, no-c-format
+ msgid "'%s' argument of '%s' intrinsic at %L must be default real"
+ msgstr "引數「%sã€(屬於內建函å¼ã€Œ%sã€ï¼Œä½æ–¼ %L)必須是一個變數"
+
+-#: fortran/check.c:1256
++#: fortran/check.c:1250
+ #, no-c-format
+ msgid "Argument of %s at %L must be of length one"
+ msgstr "%s çš„åƒæ•¸(ä½æ–¼ %L)長度必須為 1"
+
+-#: fortran/check.c:1315
++#: fortran/check.c:1309
+ #, no-c-format
+ msgid "'%s' argument of '%s' intrinsic at %L must be the same kind as '%s'"
+ msgstr "引數「%sã€(屬於內建函å¼ã€Œ%sã€ï¼Œä½æ–¼ %L)必須具有與「%sã€ä¸€æ¨£çš„種別"
+
+-#: fortran/check.c:1440
++#: fortran/check.c:1434
+ #, no-c-format
+ msgid "'%s' argument of '%s' intrinsic at %L must be a non-derived type"
+ msgstr "引數「%sã€(屬於內建函å¼ã€Œ%sã€ï¼Œä½æ–¼ %L)ä¸èƒ½æ˜¯è¡ç”Ÿé¡žåž‹"
+
+-#: fortran/check.c:1589
++#: fortran/check.c:1583
+ #, no-c-format
+ msgid "Intrinsic '%s' at %L must have at least two arguments"
+ msgstr "內建函å¼ã€Œ%s〠於 %L 處必須有至少兩個引數"
+
+-#: fortran/check.c:1622
++#: fortran/check.c:1616
+ #, no-c-format
+ msgid "'a%d' argument of '%s' intrinsic at %L must be %s(%d)"
+ msgstr "引數「%sã€(屬於內建函å¼ã€Œ%sã€ï¼Œä½æ–¼ %L)必須是 %s(%d)"
+
+-#: fortran/check.c:1655
++#: fortran/check.c:1649
+ #, no-c-format
+ msgid "Fortran 2003: '%s' intrinsic with CHARACTER argument at %L"
+ msgstr ""
+
+-#: fortran/check.c:1662
++#: fortran/check.c:1656
+ #, fuzzy, no-c-format
+ msgid "'a1' argument of '%s' intrinsic at %L must be INTEGER, REAL or CHARACTER"
+ msgstr "「%sã€å…§å»ºå‡½å¼çš„「a1ã€å¼•æ•¸åœ¨ %L 處必須是 INTEGER 或 REAL"
+
+-#: fortran/check.c:1734
++#: fortran/check.c:1728
+ #, no-c-format
+ msgid "Different shape on dimension 1 for arguments '%s' and '%s' at %L for intrinsic matmul"
+ msgstr ""
+
+-#: fortran/check.c:1753
++#: fortran/check.c:1747
+ #, no-c-format
+ msgid "Different shape on dimension 2 for argument '%s' and dimension 1 for argument '%s' at %L for intrinsic matmul"
+ msgstr ""
+
+-#: fortran/check.c:1762
++#: fortran/check.c:1756
+ #, no-c-format
+ msgid "'%s' argument of '%s' intrinsic at %L must be of rank 1 or 2"
+ msgstr "引數「%sã€(屬於內建函å¼ã€Œ%sã€ï¼Œä½æ–¼ %L)的秩必須為 1 或 2"
+
+-#: fortran/check.c:1964
++#: fortran/check.c:1958
+ #, fuzzy, no-c-format
+ msgid "the '%s' and '%s' arguments of '%s' intrinsic at %L must have the same rank %d/%d"
+ msgstr "「%sã€å’Œã€Œ%sã€å¼•æ•¸(屬於「%sã€å…§å»ºå‡½å¼)在 %L 處類型必須相åŒ"
+
+-#: fortran/check.c:1973
++#: fortran/check.c:1967
+ #, fuzzy, no-c-format
+ msgid "the '%s' and '%s' arguments of '%s' intrinsic at %L must be of the same kind %d/%d"
+ msgstr "「%sã€å’Œã€Œ%sã€å¼•æ•¸(屬於「%sã€å…§å»ºå‡½å¼)在 %L 處類型必須相åŒ"
+
+-#: fortran/check.c:2069
++#: fortran/check.c:2063
+ #, no-c-format
+ msgid "'%s' argument of '%s' intrinsic at %L must be of type REAL or COMPLEX"
+ msgstr "「%sã€å¼•æ•¸(屬於內建函å¼ã€Œ%sã€ï¼Œæ–¼ %L 處)的類型必須為 REAL 或 COMPLEX"
+
+-#: fortran/check.c:2090
++#: fortran/check.c:2084
+ #, no-c-format
+ msgid "'%s' argument of '%s' intrinsic at %L must be of a dummy variable"
+ msgstr "引數「%sã€(屬於內建函å¼ã€Œ%sã€ï¼Œä½æ–¼ %L)必須是一個啞元變數"
+
+-#: fortran/check.c:2098
++#: fortran/check.c:2092
+ #, no-c-format
+ msgid "'%s' argument of '%s' intrinsic at %L must be of an OPTIONAL dummy variable"
+ msgstr "「%sã€å¼•æ•¸(屬於「%sã€å…§å»ºå‡½å¼ï¼Œä½æ–¼ %L)必須是一個 OPTIONAL 啞變數"
+
+-#: fortran/check.c:2114
++#: fortran/check.c:2108
+ #, fuzzy, no-c-format
+ msgid "'%s' argument of '%s' intrinsic at %L must not be a subobject of '%s'"
+ msgstr "引數「%sã€(屬於內建函å¼ã€Œ%sã€ï¼Œä½æ–¼ %L)必須是 %s"
+
+-#: fortran/check.c:2231
++#: fortran/check.c:2225
+ #, no-c-format
+ msgid "'shape' argument of 'reshape' intrinsic at %L must be an array of constant size"
+ msgstr "「reshapeã€å…§å»ºå‡½å¼çš„「shapeã€å¼•æ•¸åœ¨ %L 處必須是大å°ç‚ºå¸¸æ•¸çš„陣列"
+
+-#: fortran/check.c:2241
++#: fortran/check.c:2235
+ #, no-c-format
+ msgid "'shape' argument of 'reshape' intrinsic at %L has more than %d elements"
+ msgstr "「reshapeã€å…§å»ºå‡½å¼çš„「shapeã€å¼•æ•¸åœ¨ %L 處有多於 %d 個的元素"
+
+-#: fortran/check.c:2279
++#: fortran/check.c:2273
+ #, no-c-format
+ msgid "Without padding, there are not enough elements in the intrinsic RESHAPE source at %L to match the shape"
+ msgstr ""
+
+-#: fortran/check.c:2364
++#: fortran/check.c:2358
+ #, no-c-format
+ msgid "Missing arguments to %s intrinsic at %L"
+ msgstr "%s 內建函å¼ç¼ºå°‘引數,於 %L 處"
+
+-#: fortran/check.c:2405
++#: fortran/check.c:2399
+ #, no-c-format
+ msgid "'source' argument of 'shape' intrinsic at %L must not be an assumed size array"
+ msgstr "「shapeã€å…§å»ºå‡½å¼çš„「sourceã€å¼•æ•¸åœ¨ %L 處ä¸èƒ½æ˜¯å‡å®šå¤§å°çš„陣列"
+
+-#: fortran/check.c:2479
++#: fortran/check.c:2473
+ #, no-c-format
+ msgid "'%s' argument of '%s' intrinsic at %L must be less than rank %d"
+ msgstr "引數「%sã€(屬於內建函å¼ã€Œ%sã€ï¼Œä½æ–¼ %L)秩必須å°æ–¼ %d"
+
+-#: fortran/check.c:2731
++#: fortran/check.c:2725
+ #, fuzzy, no-c-format
+ msgid "'MOLD' argument of 'TRANSFER' intrinsic at %L must not be %s"
+ msgstr "引數「%sã€(屬於內建函å¼ã€Œ%sã€ï¼Œä½æ–¼ %L)必須是 %s"
+
+-#: fortran/check.c:3050
++#: fortran/check.c:3044
+ #, no-c-format
+ msgid "Too many arguments to %s at %L"
+ msgstr "çµ¦äºˆå‡½å¼ %s çš„åƒæ•¸å¤ªå¤šï¼Œæ–¼ %L"
+
+-#: fortran/check.c:3162 fortran/check.c:3616 fortran/check.c:3640
++#: fortran/check.c:3156 fortran/check.c:3610 fortran/check.c:3634
+ #, no-c-format
+ msgid "'%s' argument of '%s' intrinsic at %L must be INTEGER or PROCEDURE"
+ msgstr "引數「%sã€(屬於內建函å¼ã€Œ%sã€ï¼Œä½æ–¼ %L)必須為 INTEGER 或 PROCEDURE"
+
+-#: fortran/check.c:3338
++#: fortran/check.c:3332
+ #, fuzzy, no-c-format
+ msgid "'%s' argument of '%s' intrinsic at %L must be of a kind not wider than the default kind (%d)"
+ msgstr "引數「%sã€(屬於內建函å¼ã€Œ%sã€ï¼Œä½æ–¼ %L)的秩必須為 %d"
+
+-#: fortran/check.c:3687 fortran/check.c:3695
++#: fortran/check.c:3681 fortran/check.c:3689
+ #, no-c-format
+ msgid "'%s' argument of '%s' intrinsic at %L must be INTEGER or LOGICAL"
+ msgstr "引數「%sã€(屬於內建函å¼ã€Œ%sã€ï¼Œä½æ–¼ %L)必須為 INTEGER 或 LOGICAL"
+@@ -4250,890 +4174,926 @@
+ msgid "'%s' at %L already is initialized at %L"
+ msgstr "程åºã€Œ%sã€åœ¨ %C 處已經於 %L 處被宣告"
+
+-#: fortran/data.c:412
++#: fortran/data.c:317
+ #, no-c-format
++msgid "Data element below array lower bound at %L"
++msgstr ""
++
++#: fortran/data.c:329
++#, no-c-format
++msgid "Data element above array upper bound at %L"
++msgstr ""
++
++#: fortran/data.c:435
++#, no-c-format
+ msgid "Extension: re-initialization of '%s' at %L"
+ msgstr "擴充:「%sã€é‡åˆå§‹åŒ–æ–¼ %L"
+
+-#: fortran/decl.c:254
++#: fortran/decl.c:253
+ #, fuzzy, no-c-format
+ msgid "Host associated variable '%s' may not be in the DATA statement at %C"
+ msgstr "%C READ 敘述需è¦è®Šæ•¸"
+
+-#: fortran/decl.c:261
++#: fortran/decl.c:260
+ #, no-c-format
+ msgid "Extension: initialization of common block variable '%s' in DATA statement at %C"
+ msgstr "擴充:DATA 敘述中å°å…¬å…±å¡Šè®Šæ•¸ã€Œ%sã€åœ¨ %C 處åˆå§‹åŒ–"
+
+-#: fortran/decl.c:366
++#: fortran/decl.c:365
+ #, no-c-format
+ msgid "Symbol '%s' must be a PARAMETER in DATA statement at %C"
+ msgstr "DATA 敘述中符號「%sã€å¿…須是一個 PARAMETER,在 %C 處"
+
+-#: fortran/decl.c:470
++#: fortran/decl.c:390
++#, fuzzy, no-c-format
++msgid "Invalid initializer %s in Data statement at %C"
++msgstr "asm 敘述中出ç¾ç„¡æ•ˆçš„左值"
++
++#: fortran/decl.c:493
+ #, no-c-format
+ msgid "Initialization at %C is not allowed in a PURE procedure"
+ msgstr "åˆå§‹åŒ–ä¸å…許出ç¾åœ¨ %C 處的 PURE 程åºä¸­"
+
+-#: fortran/decl.c:529
++#: fortran/decl.c:552
+ #, no-c-format
+ msgid "DATA statement at %C is not allowed in a PURE procedure"
+ msgstr "DATA 敘述ä¸å…許出ç¾åœ¨ %C 處的 PURE 程åºä¸­"
+
+-#: fortran/decl.c:558
++#: fortran/decl.c:581
+ #, no-c-format
+ msgid "Bad INTENT specification at %C"
+ msgstr "%C 處錯誤地指定 INTENT"
+
+-#: fortran/decl.c:600
++#: fortran/decl.c:623
+ #, no-c-format
+ msgid "Conflict in attributes of function argument at %C"
+ msgstr ""
+
+-#: fortran/decl.c:647
++#: fortran/decl.c:676
+ #, no-c-format
+ msgid "Syntax error in character length specification at %C"
+ msgstr "%C 處指定字元長度時語法錯誤"
+
+-#: fortran/decl.c:757
++#: fortran/decl.c:795
+ #, no-c-format
+ msgid "Procedure '%s' at %C is already defined at %L"
+ msgstr "程åºã€Œ%sã€åœ¨ %C 處已經於 %L 處被宣告"
+
+-#: fortran/decl.c:765
++#: fortran/decl.c:803
+ #, fuzzy, no-c-format
+ msgid "Name '%s' at %C is already defined as a generic interface at %L"
+ msgstr "程åºã€Œ%sã€åœ¨ %C 處已經於 %L 處被宣告"
+
+-#: fortran/decl.c:778
++#: fortran/decl.c:816
+ #, no-c-format
+ msgid "Procedure '%s' at %C has an explicit interface and must not have attributes declared at %L"
+ msgstr "程åºã€Œ%sã€åœ¨ %C 處具有顯å¼ä»‹é¢ï¼Œè€Œä¸”必須在 %L 處ä¸å…·æœ‰å·²å®£å‘Šçš„屬性"
+
+-#: fortran/decl.c:850
++#: fortran/decl.c:888
+ #, fuzzy, no-c-format
+ msgid "Procedure '%s' at %L must have the BIND(C) attribute to be C interoperable"
+ msgstr "%L 處的物件「%sã€å¿…須有 SAVE 屬性 %s"
+
+-#: fortran/decl.c:880
++#: fortran/decl.c:918
+ #, no-c-format
+ msgid "Type '%s' at %L is a parameter to the BIND(C) procedure '%s' but is not C interoperable because derived type '%s' is not C interoperable"
+ msgstr ""
+
+-#: fortran/decl.c:887
++#: fortran/decl.c:925
+ #, no-c-format
+ msgid "Variable '%s' at %L is a parameter to the BIND(C) procedure '%s' but may not be C interoperable"
+ msgstr ""
+
+-#: fortran/decl.c:902
++#: fortran/decl.c:940
+ #, fuzzy, no-c-format
+ msgid "Character argument '%s' at %L must be length 1 because procedure '%s' is BIND(C)"
+ msgstr "在 %L 處的關éµå­—引數ä¸åœ¨ç¨‹åºä¸­"
+
+-#: fortran/decl.c:916
++#: fortran/decl.c:954
+ #, no-c-format
+ msgid "Variable '%s' at %L cannot have the ALLOCATABLE attribute because procedure '%s' is BIND(C)"
+ msgstr ""
+
+-#: fortran/decl.c:925
++#: fortran/decl.c:963
+ #, no-c-format
+ msgid "Variable '%s' at %L cannot have the POINTER attribute because procedure '%s' is BIND(C)"
+ msgstr ""
+
+-#: fortran/decl.c:934
++#: fortran/decl.c:972
+ #, no-c-format
+ msgid "Variable '%s' at %L cannot have the OPTIONAL attribute because procedure '%s' is BIND(C)"
+ msgstr ""
+
+-#: fortran/decl.c:947
++#: fortran/decl.c:985
+ #, no-c-format
+ msgid "Assumed-shape array '%s' at %L cannot be an argument to the procedure '%s' at %L because the procedure is BIND(C)"
+ msgstr ""
+
+-#: fortran/decl.c:957
++#: fortran/decl.c:995
+ #, no-c-format
+ msgid "Deferred-shape array '%s' at %L cannot be an argument to the procedure '%s' at %L because the procedure is BIND(C)"
+ msgstr ""
+
+-#: fortran/decl.c:1033
++#: fortran/decl.c:1071
+ #, no-c-format
+ msgid "Variable '%s' in common block '%s' at %C must be declared with a C interoperable kind since common block '%s' is BIND(C)"
+ msgstr ""
+
+-#: fortran/decl.c:1069
++#: fortran/decl.c:1107
+ #, no-c-format
+ msgid "CHARACTER expression at %L is being truncated (%d/%d)"
+ msgstr ""
+
+-#: fortran/decl.c:1075
++#: fortran/decl.c:1113
+ #, no-c-format
+ msgid "The CHARACTER elements of the array constructor at %L must have the same length (%d/%d)"
+ msgstr ""
+
+-#: fortran/decl.c:1165
++#: fortran/decl.c:1203
+ #, no-c-format
+ msgid "Initializer not allowed for PARAMETER '%s' at %C"
+ msgstr "PARAMETER「%sã€åœ¨ %C 處ä¸å…許有åˆå§‹å€¼è¨­å®š"
+
+-#: fortran/decl.c:1174
++#: fortran/decl.c:1213
+ #, no-c-format
+-msgid "Initializer not allowed for COMMON variable '%s' at %C"
+-msgstr "COMMON 變數「%sã€åœ¨ %C 處ä¸å…許有åˆå§‹å€¼è¨­å®š"
+-
+-#: fortran/decl.c:1184
+-#, no-c-format
+ msgid "PARAMETER at %L is missing an initializer"
+ msgstr "%L 處 PARAMETER 缺少åˆå§‹å€¼è¨­å®š"
+
+-#: fortran/decl.c:1194
++#: fortran/decl.c:1223
+ #, no-c-format
+ msgid "Variable '%s' at %C with an initializer already appears in a DATA statement"
+ msgstr ""
+
+-#: fortran/decl.c:1344
++#: fortran/decl.c:1373
+ #, no-c-format
+ msgid "Component at %C must have the POINTER attribute"
+ msgstr "%C 處的元件必須有 POINTER 屬性"
+
+-#: fortran/decl.c:1352
++#: fortran/decl.c:1381
+ #, no-c-format
+ msgid "Array component of structure at %C must have explicit or deferred shape"
+ msgstr ""
+
+-#: fortran/decl.c:1378
++#: fortran/decl.c:1425
+ #, fuzzy, no-c-format
+ msgid "Allocatable component at %C must be an array"
+ msgstr "%C 處 Cray 指標必須是一個整數。"
+
+-#: fortran/decl.c:1389
++#: fortran/decl.c:1436
+ #, no-c-format
+ msgid "Pointer array component of structure at %C must have a deferred shape"
+ msgstr ""
+
+-#: fortran/decl.c:1398
++#: fortran/decl.c:1445
+ #, fuzzy, no-c-format
+ msgid "Allocatable component of structure at %C must have a deferred shape"
+ msgstr "å¯æŒ‡æ´¾çš„陣列「%sã€åœ¨ %L 處必須有延é²çš„外形"
+
+-#: fortran/decl.c:1407
++#: fortran/decl.c:1454
+ #, no-c-format
+ msgid "Array component of structure at %C must have an explicit shape"
+ msgstr ""
+
+-#: fortran/decl.c:1433
++#: fortran/decl.c:1480
+ #, no-c-format
+ msgid "NULL() initialization at %C is ambiguous"
+ msgstr "%C 處的 NULL() åˆå§‹åŒ–有歧義"
+
+-#: fortran/decl.c:1556 fortran/decl.c:5197
++#: fortran/decl.c:1603 fortran/decl.c:5395
+ #, fuzzy, no-c-format
+ msgid "Duplicate array spec for Cray pointee at %C"
+ msgstr "%C 處é‡è¤‡çš„æ ¼å¼æŒ‡å®š"
+
+-#: fortran/decl.c:1616
++#: fortran/decl.c:1663
+ #, fuzzy, no-c-format
+ msgid "the type of '%s' at %C has not been declared within the interface"
+ msgstr "%qD ä¸èƒ½åœ¨å‘½å空間宣告"
+
+-#: fortran/decl.c:1632
++#: fortran/decl.c:1679
+ #, no-c-format
+ msgid "Function name '%s' not allowed at %C"
+ msgstr "函å¼å「%sã€ä¸å…許出ç¾åœ¨ %C 處"
+
+-#: fortran/decl.c:1648
++#: fortran/decl.c:1695
+ #, no-c-format
+ msgid "Extension: Old-style initialization at %C"
+ msgstr "擴充:%C 處舊å¼çš„åˆå§‹åŒ–"
+
+-#: fortran/decl.c:1663
++#: fortran/decl.c:1710
+ #, no-c-format
+ msgid "Initialization at %C isn't for a pointer variable"
+ msgstr "%C çš„åˆå§‹åŒ–ä¸æ˜¯ç‚ºæŒ‡æ¨™è®Šæ•¸æº–備的"
+
+-#: fortran/decl.c:1671
++#: fortran/decl.c:1718
+ #, no-c-format
+ msgid "Pointer initialization requires a NULL() at %C"
+ msgstr "%C 處的指標åˆå§‹åŒ–éœ€è¦ NULL()"
+
+-#: fortran/decl.c:1677
++#: fortran/decl.c:1724
+ #, no-c-format
+ msgid "Initialization of pointer at %C is not allowed in a PURE procedure"
+ msgstr "%C 處å°æŒ‡æ¨™çš„åˆå§‹åŒ–ä¸å…許出ç¾åœ¨ PURE 程åºä¸­"
+
+-#: fortran/decl.c:1690
++#: fortran/decl.c:1737
+ #, no-c-format
+ msgid "Pointer initialization at %C requires '=>', not '='"
+ msgstr "在 %C 處的指標åˆå§‹åŒ–需è¦ã€Œ=>ã€ï¼Œè€Œä¸æ˜¯ã€Œ=ã€"
+
+-#: fortran/decl.c:1699 fortran/decl.c:6129
++#: fortran/decl.c:1746 fortran/decl.c:6361
+ #, no-c-format
+ msgid "Expected an initialization expression at %C"
+ msgstr "%C 處需è¦ä¸€å€‹åˆå§‹åŒ–é‹ç®—å¼"
+
+-#: fortran/decl.c:1705
++#: fortran/decl.c:1752
+ #, no-c-format
+ msgid "Initialization of variable at %C is not allowed in a PURE procedure"
+ msgstr "%C 處å°è®Šæ•¸çš„åˆå§‹åŒ–ä¸å…許出ç¾åœ¨ PURE 程åºä¸­"
+
+-#: fortran/decl.c:1718
++#: fortran/decl.c:1765
+ #, fuzzy, no-c-format
+ msgid "Initialization of allocatable component at %C is not allowed"
+ msgstr "%C 處å°è®Šæ•¸çš„åˆå§‹åŒ–ä¸å…許出ç¾åœ¨ PURE 程åºä¸­"
+
+-#: fortran/decl.c:1772 fortran/decl.c:1781
++#: fortran/decl.c:1819 fortran/decl.c:1828
+ #, no-c-format
+ msgid "Old-style type declaration %s*%d not supported at %C"
+ msgstr "舊å¼çš„型態宣告 %s*%d 在 %C 處ä¸è¢«æ”¯æ´"
+
+-#: fortran/decl.c:1786
++#: fortran/decl.c:1833
+ #, no-c-format
+ msgid "Nonstandard type declaration %s*%d at %C"
+ msgstr "%C 處éžæ¨™æº–的型態宣告 %s*%d"
+
+-#: fortran/decl.c:1838 fortran/decl.c:1897
++#: fortran/decl.c:1884 fortran/decl.c:1948
+ #, fuzzy, no-c-format
+ msgid "Missing right parenthesis at %C"
+ msgstr "%C 處缺少å³æ‹¬è™Ÿ"
+
+-#: fortran/decl.c:1853 fortran/decl.c:1931
++#: fortran/decl.c:1897 fortran/decl.c:1993
+ #, no-c-format
+ msgid "Expected initialization expression at %C"
+ msgstr "%C 處需è¦åˆå§‹åŒ–é‹ç®—å¼"
+
+-#: fortran/decl.c:1861 fortran/decl.c:1937
++#: fortran/decl.c:1905 fortran/decl.c:1999
+ #, no-c-format
+ msgid "Expected scalar initialization expression at %C"
+ msgstr "%C 處需è¦æ¨™é‡åˆå§‹åŒ–é‹ç®—å¼"
+
+-#: fortran/decl.c:1891
++#: fortran/decl.c:1936
+ #, no-c-format
+ msgid "Kind %d not supported for type %s at %C"
+ msgstr "種別 %d 在 %C 處 ä¸ç‚ºé¡žåž‹ %s 所支æ´"
+
+-#: fortran/decl.c:1957
++#: fortran/decl.c:1946
+ #, fuzzy, no-c-format
++msgid "Missing right parenthesis or comma at %C"
++msgstr "%C 處缺少å³æ‹¬è™Ÿ"
++
++#: fortran/decl.c:2019
++#, fuzzy, no-c-format
+ msgid "Kind %d is not supported for CHARACTER at %C"
+ msgstr "種別 %d 在 %C 處 ä¸ç‚ºé¡žåž‹ %s 所支æ´"
+
+-#: fortran/decl.c:2086
++#: fortran/decl.c:2148
+ #, no-c-format
+ msgid "Syntax error in CHARACTER declaration at %C"
+ msgstr "%C 的 CHARACTER 宣告語法錯誤"
+
+-#: fortran/decl.c:2156
++#: fortran/decl.c:2233
+ #, no-c-format
+ msgid "Extension: BYTE type at %C"
+ msgstr "擴充:%C 處的 BYTE 類型"
+
+-#: fortran/decl.c:2162
++#: fortran/decl.c:2239
+ #, no-c-format
+ msgid "BYTE type used at %C is not available on the target machine"
+ msgstr "%C 使用到的 BYTE 類型在目標平臺上ä¸å¯"
+
+-#: fortran/decl.c:2211
++#: fortran/decl.c:2288
+ #, no-c-format
+ msgid "DOUBLE COMPLEX at %C does not conform to the Fortran 95 standard"
+ msgstr "%C 處的 DOUBLE COMPLEX 並ä¸éµå¾ª Fortran 95 標準"
+
+-#: fortran/decl.c:2245 fortran/decl.c:2252 fortran/decl.c:2558
+-#: fortran/decl.c:2566
++#: fortran/decl.c:2328 fortran/decl.c:2337 fortran/decl.c:2649
++#: fortran/decl.c:2657
+ #, no-c-format
+ msgid "Type name '%s' at %C is ambiguous"
+ msgstr "é¡žåž‹å「%sã€(æ–¼ %C 處)有歧義"
+
+-#: fortran/decl.c:2321
++#: fortran/decl.c:2412
+ #, no-c-format
+ msgid "Missing character range in IMPLICIT at %C"
+ msgstr ""
+
+-#: fortran/decl.c:2367
++#: fortran/decl.c:2458
+ #, no-c-format
+ msgid "Letters must be in alphabetic order in IMPLICIT statement at %C"
+ msgstr "%C 處 IMPLICIT 敘述中的字æ¯å¿…須按åºæŽ’列"
+
+-#: fortran/decl.c:2421
++#: fortran/decl.c:2512
+ #, no-c-format
+ msgid "Empty IMPLICIT statement at %C"
+ msgstr "%C IMPLICIT 敘述為空"
+
+-#: fortran/decl.c:2524
++#: fortran/decl.c:2615
+ #, fuzzy, no-c-format
+ msgid "IMPORT statement at %C only permitted in an INTERFACE body"
+ msgstr "%C 處的 ENTRY 敘述ä¸èƒ½å‡ºç¾åœ¨ INTERFACE 中"
+
+-#: fortran/decl.c:2529
++#: fortran/decl.c:2620
+ #, fuzzy, no-c-format
+ msgid "Fortran 2003: IMPORT statement at %C"
+ msgstr "Fortran 2003:%C 處的 FLUSH 敘述"
+
+-#: fortran/decl.c:2544
++#: fortran/decl.c:2635
+ #, fuzzy, no-c-format
+ msgid "Expecting list of named entities at %C"
+ msgstr "éœ€è¦ %s 敘述,於 %C"
+
+-#: fortran/decl.c:2572
++#: fortran/decl.c:2663
+ #, no-c-format
+ msgid "Cannot IMPORT '%s' from host scoping unit at %C - does not exist."
+ msgstr ""
+
+-#: fortran/decl.c:2579
++#: fortran/decl.c:2670
+ #, no-c-format
+ msgid "'%s' is already IMPORTed from host scoping unit at %C."
+ msgstr ""
+
+-#: fortran/decl.c:2608
++#: fortran/decl.c:2699
+ #, fuzzy, no-c-format
+ msgid "Syntax error in IMPORT statement at %C"
+ msgstr "%s 敘述在 %C 處語法錯誤"
+
+-#: fortran/decl.c:2850
++#: fortran/decl.c:2941
+ #, no-c-format
+ msgid "Missing dimension specification at %C"
+ msgstr "%C 處沒有指定維數"
+
+-#: fortran/decl.c:2924
++#: fortran/decl.c:3015
+ #, no-c-format
+ msgid "Duplicate %s attribute at %L"
+ msgstr "é‡è¤‡çš„ %s 屬性,ä½æ–¼ %L"
+
+-#: fortran/decl.c:2943
++#: fortran/decl.c:3034
+ #, no-c-format
+ msgid "Fortran 2003: ALLOCATABLE attribute at %C in a TYPE definition"
+ msgstr ""
+
+-#: fortran/decl.c:2953
++#: fortran/decl.c:3044
+ #, no-c-format
+ msgid "Attribute at %L is not allowed in a TYPE definition"
+ msgstr ""
+
+-#: fortran/decl.c:2971
++#: fortran/decl.c:3062
+ #, no-c-format
+ msgid "Fortran 2003: Attribute %s at %L in a TYPE definition"
+ msgstr ""
+
+-#: fortran/decl.c:2982
++#: fortran/decl.c:3073
+ #, fuzzy, no-c-format
+ msgid "%s attribute at %L is not allowed outside of the specification part of a module"
+ msgstr "%s 屬性(ä½æ–¼ %L)ä¸å…許出ç¾åœ¨ MODULE 以外"
+
+-#: fortran/decl.c:3034 fortran/decl.c:5437
++#: fortran/decl.c:3125 fortran/decl.c:5635
+ #, no-c-format
+ msgid "PROTECTED at %C only allowed in specification part of a module"
+ msgstr ""
+
+-#: fortran/decl.c:3040
++#: fortran/decl.c:3131
+ #, fuzzy, no-c-format
+ msgid "Fortran 2003: PROTECTED attribute at %C"
+ msgstr "Fortran 2003:%C 處的 FLUSH 敘述"
+
+-#: fortran/decl.c:3071
++#: fortran/decl.c:3162
+ #, fuzzy, no-c-format
+ msgid "Fortran 2003: VALUE attribute at %C"
+ msgstr "Fortran 2003:%C 處的 FLUSH 敘述"
+
+-#: fortran/decl.c:3081
++#: fortran/decl.c:3172
+ #, fuzzy, no-c-format
+ msgid "Fortran 2003: VOLATILE attribute at %C"
+ msgstr "Fortran 2003:%C 處的 FLUSH 敘述"
+
+-#: fortran/decl.c:3121
++#: fortran/decl.c:3212
+ #, no-c-format
+ msgid "Multiple identifiers provided with single NAME= specifier at %C"
+ msgstr ""
+
+ #. Print an error, but continue parsing line.
+-#: fortran/decl.c:3171
++#: fortran/decl.c:3261
+ #, no-c-format
+ msgid "C kind parameter is for type %s but symbol '%s' at %L is of type %s"
+ msgstr ""
+
+-#: fortran/decl.c:3235
++#: fortran/decl.c:3325
+ #, fuzzy, no-c-format
+ msgid "Implicitly declared BIND(C) function '%s' at %L may not be C interoperable"
+ msgstr "指定函å¼ã€Œ%sã€(ä½æ–¼ %L)ä¸èƒ½æ˜¯ä¸€å€‹å…§éƒ¨å‡½å¼"
+
+-#: fortran/decl.c:3257
++#: fortran/decl.c:3347
+ #, no-c-format
+ msgid "Variable '%s' in common block '%s' at %L may not be a C interoperable kind though common block '%s' is BIND(C)"
+ msgstr ""
+
+-#: fortran/decl.c:3266
++#: fortran/decl.c:3356
+ #, no-c-format
+ msgid "Type declaration '%s' at %L is not C interoperable but it is BIND(C)"
+ msgstr ""
+
+-#: fortran/decl.c:3270
++#: fortran/decl.c:3360
+ #, fuzzy, no-c-format
+ msgid "Variable '%s' at %L may not be a C interoperable kind but it is bind(c)"
+ msgstr "變數「%sã€åœ¨ %L 尚未指派到格å¼æ¨™ç±¤"
+
+-#: fortran/decl.c:3282
++#: fortran/decl.c:3372
+ #, no-c-format
+ msgid "Variable '%s' in common block '%s' at %L cannot be declared with BIND(C) since it is not a global"
+ msgstr ""
+
+-#: fortran/decl.c:3296
++#: fortran/decl.c:3386
+ #, fuzzy, no-c-format
+ msgid "Variable '%s' at %L cannot have both the POINTER and BIND(C) attributes"
+ msgstr "%L 處的物件「%sã€å¿…須有 SAVE 屬性 %s"
+
+-#: fortran/decl.c:3304
++#: fortran/decl.c:3394
+ #, fuzzy, no-c-format
+ msgid "Variable '%s' at %L cannot have both the ALLOCATABLE and BIND(C) attributes"
+ msgstr "%L 處的物件「%sã€å¿…須有 SAVE 屬性 %s"
+
+-#: fortran/decl.c:3314
++#: fortran/decl.c:3404
+ #, fuzzy, no-c-format
+ msgid "Return type of BIND(C) function '%s' at %L cannot be an array"
+ msgstr "CHARACTER(*) 函å¼ã€Œ%sã€(ä½æ–¼ %L)ä¸èƒ½ä»¥é™£åˆ—賦值"
+
+-#: fortran/decl.c:3322
++#: fortran/decl.c:3412
+ #, fuzzy, no-c-format
+ msgid "Return type of BIND(C) function '%s' at %L cannot be a character string"
+ msgstr "指定函å¼ã€Œ%sã€(ä½æ–¼ %L)ä¸èƒ½æ˜¯ä¸€å€‹æ•˜è¿°å‡½å¼"
+
+ #. Use gfc_warning_now because we won't say that the symbol fails
+ #. just because of this.
+-#: fortran/decl.c:3334
++#: fortran/decl.c:3424
+ #, no-c-format
+ msgid "Symbol '%s' at %L is marked PRIVATE but has been given the binding label '%s'"
+ msgstr ""
+
+-#: fortran/decl.c:3409
++#: fortran/decl.c:3499
+ #, no-c-format
+ msgid "Need either entity or common block name for attribute specification statement at %C"
+ msgstr ""
+
+-#: fortran/decl.c:3456
++#: fortran/decl.c:3546
+ #, fuzzy, no-c-format
+ msgid "Missing entity or common block name for attribute specification statement at %C"
+ msgstr "擴充:DATA 敘述中å°å…¬å…±å¡Šè®Šæ•¸ã€Œ%sã€åœ¨ %C 處åˆå§‹åŒ–"
+
+ #. Now we have an error, which we signal, and then fix up
+ #. because the knock-on is plain and simple confusing.
+-#: fortran/decl.c:3563
++#: fortran/decl.c:3653
+ #, fuzzy, no-c-format
+ msgid "Derived type at %C has not been previously defined and so cannot appear in a derived type definition"
+ msgstr "%C 處的è¡ç”Ÿé¡žåž‹å°šæœªè¢«å®šç¾©ï¼Œå› æ­¤ä¸èƒ½å‡ºç¾åœ¨è¡ç”Ÿé¡žåž‹å®šç¾©ä¸­"
+
+-#: fortran/decl.c:3595
++#: fortran/decl.c:3685
+ #, no-c-format
+ msgid "Syntax error in data declaration at %C"
+ msgstr "%C 處資料宣告語法錯誤"
+
+-#: fortran/decl.c:3742
++#: fortran/decl.c:3832
+ #, no-c-format
+ msgid "Name '%s' at %C is the name of the procedure"
+ msgstr "å稱「%sã€(ä½æ–¼ %C)是一個程åºçš„å稱"
+
+-#: fortran/decl.c:3754
++#: fortran/decl.c:3844
+ #, no-c-format
+ msgid "Unexpected junk in formal argument list at %C"
+ msgstr "%C 處åƒæ•¸æ¸…單中有éžé æœŸçš„無用字元"
+
+-#: fortran/decl.c:3771
++#: fortran/decl.c:3861
+ #, no-c-format
+ msgid "Duplicate symbol '%s' in formal argument list at %C"
+ msgstr "符號「%sã€åœ¨ %C 處的åƒæ•¸æ¸…單中é‡è¤‡å‡ºç¾"
+
+-#: fortran/decl.c:3822
++#: fortran/decl.c:3912
+ #, no-c-format
+ msgid "RESULT variable at %C must be different than function name"
+ msgstr "%C 處 RESULT 變數ä¸èƒ½èˆ‡å‡½å¼åŒå"
+
+-#: fortran/decl.c:3892
++#: fortran/decl.c:3990
+ #, no-c-format
+ msgid "Unexpected junk after function declaration at %C"
+ msgstr "%C 處的函å¼å®£å‘Šå¾Œæœ‰éžé æœŸçš„無用字元"
+
+-#: fortran/decl.c:3951
++#: fortran/decl.c:4000 fortran/decl.c:4734
+ #, fuzzy, no-c-format
++msgid "Extension: BIND(C) attribute at %L may not be specified for an internal procedure"
++msgstr "%L 處 PURE 程åºä¸èƒ½æŒ‡å®š SAVE 屬性"
++
++#: fortran/decl.c:4066
++#, fuzzy, no-c-format
+ msgid "Interface '%s' at %C may not be generic"
+ msgstr "%L 迭代次數ä¸èƒ½ç‚ºé›¶"
+
+-#: fortran/decl.c:3956
++#: fortran/decl.c:4071
+ #, fuzzy, no-c-format
+ msgid "Interface '%s' at %C may not be a statement function"
+ msgstr "指定函å¼ã€Œ%sã€(ä½æ–¼ %L)ä¸èƒ½æ˜¯ä¸€å€‹æ•˜è¿°å‡½å¼"
+
+-#: fortran/decl.c:3967
++#: fortran/decl.c:4082
+ #, fuzzy, no-c-format
+ msgid "Intrinsic procedure '%s' not allowed in PROCEDURE statement at %C"
+ msgstr "內部程åºã€Œ%sã€åœ¨ %L 處ä¸å…許åšç‚ºå¯¦éš›å¼•æ•¸"
+
+-#: fortran/decl.c:3975
++#: fortran/decl.c:4118
+ #, no-c-format
+-msgid "Fortran 2003: Support for intrinsic procedure '%s' in PROCEDURE statement at %C not yet implemented in gfortran"
+-msgstr ""
+-
+-#: fortran/decl.c:4014
+-#, no-c-format
+ msgid "BIND(C) attribute at %C requires an interface with BIND(C)"
+ msgstr ""
+
+-#: fortran/decl.c:4021
++#: fortran/decl.c:4125
+ #, no-c-format
+ msgid "BIND(C) procedure with NAME may not have POINTER attribute at %C"
+ msgstr ""
+
+-#: fortran/decl.c:4027
++#: fortran/decl.c:4131
+ #, no-c-format
+ msgid "Dummy procedure at %C may not have BIND(C) attribute with NAME"
+ msgstr ""
+
+-#: fortran/decl.c:4060 fortran/decl.c:4103
++#: fortran/decl.c:4167 fortran/decl.c:4210
+ #, fuzzy, no-c-format
+ msgid "Syntax error in PROCEDURE statement at %C"
+ msgstr "%C SAVE 敘述語法錯誤"
+
+-#: fortran/decl.c:4077
++#: fortran/decl.c:4184
+ #, no-c-format
+ msgid "PROCEDURE at %C must be in a generic interface"
+ msgstr ""
+
+-#: fortran/decl.c:4128
++#: fortran/decl.c:4235
+ #, no-c-format
+ msgid "Fortran 2003: Procedure components at %C are not yet implemented in gfortran"
+ msgstr ""
+
+-#: fortran/decl.c:4138
++#: fortran/decl.c:4245
+ #, fuzzy, no-c-format
+ msgid "Fortran 2003: PROCEDURE statement at %C"
+ msgstr "Fortran 2003:%C 處的 FLUSH 敘述"
+
+-#: fortran/decl.c:4186
++#: fortran/decl.c:4293
+ #, no-c-format
+ msgid "Expected formal argument list in function definition at %C"
+ msgstr ""
+
+-#: fortran/decl.c:4210 fortran/decl.c:4214 fortran/decl.c:4536
+-#: fortran/decl.c:4540 fortran/symbol.c:1402
++#: fortran/decl.c:4317 fortran/decl.c:4321 fortran/decl.c:4520
++#: fortran/decl.c:4524 fortran/decl.c:4702 fortran/decl.c:4706
++#: fortran/symbol.c:1402
+ #, no-c-format
+ msgid "BIND(C) attribute at %L can only be used for variables or common blocks"
+ msgstr ""
+
+-#: fortran/decl.c:4246
++#: fortran/decl.c:4353
+ #, no-c-format
+ msgid "Function '%s' at %C already has a type of %s"
+ msgstr "函å¼ã€Œ%sã€(ä½æ–¼ %C)已經具有類型 %s"
+
+-#: fortran/decl.c:4322
++#: fortran/decl.c:4441
+ #, no-c-format
+ msgid "ENTRY statement at %C cannot appear within a PROGRAM"
+ msgstr "%C 處的 ENTRY 敘述ä¸èƒ½å‡ºç¾åœ¨ PROGRAM 中"
+
+-#: fortran/decl.c:4325
++#: fortran/decl.c:4444
+ #, no-c-format
+ msgid "ENTRY statement at %C cannot appear within a MODULE"
+ msgstr "%C 處的 ENTRY 敘述ä¸èƒ½å‡ºç¾åœ¨ MODULE 中"
+
+-#: fortran/decl.c:4328
++#: fortran/decl.c:4447
+ #, no-c-format
+ msgid "ENTRY statement at %C cannot appear within a BLOCK DATA"
+ msgstr "%C 處的 ENTRY 敘述ä¸èƒ½å‡ºç¾åœ¨ BLOCK DATA 中"
+
+-#: fortran/decl.c:4332
++#: fortran/decl.c:4451
+ #, no-c-format
+ msgid "ENTRY statement at %C cannot appear within an INTERFACE"
+ msgstr "%C 處的 ENTRY 敘述ä¸èƒ½å‡ºç¾åœ¨ INTERFACE 中"
+
+-#: fortran/decl.c:4336
++#: fortran/decl.c:4455
+ #, no-c-format
+ msgid "ENTRY statement at %C cannot appear within a DERIVED TYPE block"
+ msgstr "%C 處的 ENTRY 敘述ä¸èƒ½å‡ºç¾åœ¨ DERIVED TYPE å€å¡Šä¸­"
+
+-#: fortran/decl.c:4340
++#: fortran/decl.c:4459
+ #, no-c-format
+ msgid "ENTRY statement at %C cannot appear within an IF-THEN block"
+ msgstr "%C 處的 ENTRY 敘述ä¸èƒ½å‡ºç¾åœ¨ IF-THEN å€å¡Šä¸­"
+
+-#: fortran/decl.c:4344
++#: fortran/decl.c:4463
+ #, no-c-format
+ msgid "ENTRY statement at %C cannot appear within a DO block"
+ msgstr "%C 處的 ENTRY 敘述ä¸èƒ½å‡ºç¾åœ¨ DO 中"
+
+-#: fortran/decl.c:4348
++#: fortran/decl.c:4467
+ #, no-c-format
+ msgid "ENTRY statement at %C cannot appear within a SELECT block"
+ msgstr "%C 處的 ENTRY 敘述ä¸èƒ½å‡ºç¾åœ¨ SELECT å€å¡Šä¸­"
+
+-#: fortran/decl.c:4352
++#: fortran/decl.c:4471
+ #, no-c-format
+ msgid "ENTRY statement at %C cannot appear within a FORALL block"
+ msgstr "%C 處的 ENTRY 敘述ä¸èƒ½å‡ºç¾åœ¨ FORALL å€å¡Šä¸­"
+
+-#: fortran/decl.c:4356
++#: fortran/decl.c:4475
+ #, no-c-format
+ msgid "ENTRY statement at %C cannot appear within a WHERE block"
+ msgstr "%C 處的 ENTRY 敘述ä¸èƒ½å‡ºç¾åœ¨ WHERE å€å¡Šä¸­"
+
+-#: fortran/decl.c:4360
++#: fortran/decl.c:4479
+ #, no-c-format
+ msgid "ENTRY statement at %C cannot appear within a contained subprogram"
+ msgstr "%C 處的 ENTRY 敘述ä¸èƒ½å‡ºç¾åœ¨å·¢ç‹€çš„å­ç¨‹å¼ä¸­"
+
+-#: fortran/decl.c:4378
++#: fortran/decl.c:4497
+ #, no-c-format
+ msgid "ENTRY statement at %C cannot appear in a contained procedure"
+ msgstr "%C 處 ENTRY 敘述ä¸èƒ½å‡ºç¾åœ¨è¢«åŒ…å«çš„程åºä¸­"
+
+-#: fortran/decl.c:4560
++#: fortran/decl.c:4552 fortran/decl.c:4742
+ #, no-c-format
+ msgid "Missing required parentheses before BIND(C) at %C"
+ msgstr ""
+
+-#: fortran/decl.c:4618 fortran/decl.c:4634
++#: fortran/decl.c:4801 fortran/decl.c:4817
+ #, fuzzy, no-c-format
+ msgid "Syntax error in NAME= specifier for binding label at %C"
+ msgstr "%C CASE 指定語法錯誤"
+
+-#: fortran/decl.c:4649
++#: fortran/decl.c:4832
+ #, fuzzy, no-c-format
+ msgid "Missing closing quote '\"' for binding label at %C"
+ msgstr "%C 處缺少格å¼æ¨™ç±¤"
+
+-#: fortran/decl.c:4658
++#: fortran/decl.c:4841
+ #, fuzzy, no-c-format
+ msgid "Missing closing quote ''' for binding label at %C"
+ msgstr "%C 處缺少格å¼æ¨™ç±¤"
+
+-#: fortran/decl.c:4668
++#: fortran/decl.c:4851
+ #, fuzzy, no-c-format
+ msgid "Missing closing paren for binding label at %C"
+ msgstr "%C 處缺少格å¼æ¨™ç±¤"
+
+-#: fortran/decl.c:4703
++#: fortran/decl.c:4857
++#, fuzzy, no-c-format
++msgid "No binding name is allowed in BIND(C) at %C"
++msgstr "函å¼å「%sã€ä¸å…許出ç¾åœ¨ %C 處"
++
++#: fortran/decl.c:4863
+ #, no-c-format
++msgid "For dummy procedure %s, no binding name is allowed in BIND(C) at %C"
++msgstr ""
++
++#: fortran/decl.c:4894
++#, no-c-format
+ msgid "NAME not allowed on BIND(C) for ABSTRACT INTERFACE at %C"
+ msgstr ""
+
+-#: fortran/decl.c:4876
++#: fortran/decl.c:5066
+ #, no-c-format
+ msgid "Unexpected END statement at %C"
+ msgstr "%C 處éžé æœŸçš„ END 敘述"
+
+ #. We would have required END [something].
+-#: fortran/decl.c:4885
++#: fortran/decl.c:5075
+ #, no-c-format
+ msgid "%s statement expected at %L"
+ msgstr "éœ€è¦ %s 敘述在 %L 處"
+
+-#: fortran/decl.c:4896
++#: fortran/decl.c:5086
+ #, no-c-format
+ msgid "Expecting %s statement at %C"
+ msgstr "éœ€è¦ %s 敘述,於 %C"
+
+-#: fortran/decl.c:4911
++#: fortran/decl.c:5101
+ #, no-c-format
+ msgid "Expected block name of '%s' in %s statement at %C"
+ msgstr "需è¦å¡Šå「%sã€åœ¨ã€Œ%sã€é‹ç®—å¼ä¸­ï¼Œæ–¼ %C"
+
+-#: fortran/decl.c:4928
++#: fortran/decl.c:5118
+ #, no-c-format
+ msgid "Expected terminating name at %C"
+ msgstr "%C 處需è¦çµæŸå"
+
+-#: fortran/decl.c:4937
++#: fortran/decl.c:5127
+ #, no-c-format
+ msgid "Expected label '%s' for %s statement at %C"
+ msgstr "需è¦æ¨™ç±¤ã€Œ%sã€ï¼Œç‚º %s 敘述,於 %C"
+
+-#: fortran/decl.c:4991
++#: fortran/decl.c:5181
+ #, no-c-format
+ msgid "Missing array specification at %L in DIMENSION statement"
+ msgstr ""
+
+-#: fortran/decl.c:5000
++#: fortran/decl.c:5189
+ #, no-c-format
++msgid "Dimensions specified for %s at %L after its initialisation"
++msgstr ""
++
++#: fortran/decl.c:5198
++#, no-c-format
+ msgid "Array specification must be deferred at %L"
+ msgstr "%L 處陣列指定必須延é²"
+
+-#: fortran/decl.c:5077
++#: fortran/decl.c:5275
+ #, no-c-format
+ msgid "Unexpected character in variable list at %C"
+ msgstr "%C 處變數清單中有éžé æœŸçš„無用字元"
+
+-#: fortran/decl.c:5114
++#: fortran/decl.c:5312
+ #, no-c-format
+ msgid "Expected '(' at %C"
+ msgstr "在 %C 處需è¦ã€Œ(ã€"
+
+-#: fortran/decl.c:5128 fortran/decl.c:5168
++#: fortran/decl.c:5326 fortran/decl.c:5366
+ #, no-c-format
+ msgid "Expected variable name at %C"
+ msgstr "在 %C 處需è¦è®Šæ•¸å"
+
+-#: fortran/decl.c:5144
++#: fortran/decl.c:5342
+ #, fuzzy, no-c-format
+ msgid "Cray pointer at %C must be an integer"
+ msgstr "%C 處 Cray 指標必須是一個整數。"
+
+-#: fortran/decl.c:5148
++#: fortran/decl.c:5346
+ #, fuzzy, no-c-format
+ msgid "Cray pointer at %C has %d bytes of precision; memory addresses require %d bytes"
+ msgstr "%C 處的 Cray 指標精度為 %d;記憶體ä½å€éœ€è¦ %d ä½å…ƒçµ„"
+
+-#: fortran/decl.c:5154
++#: fortran/decl.c:5352
+ #, no-c-format
+ msgid "Expected \",\" at %C"
+ msgstr "在 %C 處需è¦ã€Œ,ã€"
+
+-#: fortran/decl.c:5217
++#: fortran/decl.c:5415
+ #, no-c-format
+ msgid "Expected \")\" at %C"
+ msgstr "在 %C 處需è¦ã€Œ)ã€"
+
+-#: fortran/decl.c:5229
++#: fortran/decl.c:5427
+ #, no-c-format
+ msgid "Expected \",\" or end of statement at %C"
+ msgstr "在 %C 處需è¦ã€Œ,ã€æˆ–敘述尾"
+
+-#: fortran/decl.c:5293
++#: fortran/decl.c:5491
+ #, fuzzy, no-c-format
+ msgid "Cray pointer declaration at %C requires -fcray-pointer flag"
+ msgstr "%C 處的 Cray æŒ‡æ¨™å®£å‘Šéœ€è¦ -fcray-pointer 旗標。"
+
+-#: fortran/decl.c:5388
++#: fortran/decl.c:5586
+ #, no-c-format
+ msgid "Access specification of the %s operator at %C has already been specified"
+ msgstr ""
+
+-#: fortran/decl.c:5405
++#: fortran/decl.c:5603
+ #, no-c-format
+ msgid "Access specification of the .%s. operator at %C has already been specified"
+ msgstr ""
+
+-#: fortran/decl.c:5443
++#: fortran/decl.c:5641
+ #, fuzzy, no-c-format
+ msgid "Fortran 2003: PROTECTED statement at %C"
+ msgstr "Fortran 2003:%C 處的 FLUSH 敘述"
+
+-#: fortran/decl.c:5483
++#: fortran/decl.c:5681
+ #, fuzzy, no-c-format
+ msgid "Syntax error in PROTECTED statement at %C"
+ msgstr "%C SAVE 敘述語法錯誤"
+
+-#: fortran/decl.c:5504
++#: fortran/decl.c:5702
+ #, fuzzy, no-c-format
+ msgid "PRIVATE statement at %C is only allowed in the specification part of a module"
+ msgstr "DATA 敘述ä¸å…許出ç¾åœ¨ %C 處的 PURE 程åºä¸­"
+
+-#: fortran/decl.c:5541
++#: fortran/decl.c:5739
+ #, fuzzy, no-c-format
+ msgid "PUBLIC statement at %C is only allowed in the specification part of a module"
+ msgstr "DATA 敘述ä¸å…許出ç¾åœ¨ %C 處的 PURE 程åºä¸­"
+
+-#: fortran/decl.c:5568
++#: fortran/decl.c:5766
+ #, no-c-format
+ msgid "Expected variable name at %C in PARAMETER statement"
+ msgstr ""
+
+-#: fortran/decl.c:5575
++#: fortran/decl.c:5773
+ #, no-c-format
+ msgid "Expected = sign in PARAMETER statement at %C"
+ msgstr "%C 在 PARAMETER æ•˜è¿°ä¸­éœ€è¦ = 符號"
+
+-#: fortran/decl.c:5581
++#: fortran/decl.c:5779
+ #, no-c-format
+ msgid "Expected expression at %C in PARAMETER statement"
+ msgstr "%C 在 PARAMETER 敘述中需è¦é‹ç®—å¼"
+
+-#: fortran/decl.c:5639
++#: fortran/decl.c:5799
++#, fuzzy, no-c-format
++msgid "Initializing already initialized variable at %C"
++msgstr "COMMON 變數「%sã€åœ¨ %C 處ä¸å…許有åˆå§‹å€¼è¨­å®š"
++
++#: fortran/decl.c:5844
+ #, no-c-format
+ msgid "Unexpected characters in PARAMETER statement at %C"
+ msgstr "%C 處 PARAMETER 敘述中有éžé æœŸçš„å­—å…ƒ"
+
+-#: fortran/decl.c:5663
++#: fortran/decl.c:5868
+ #, no-c-format
+ msgid "Blanket SAVE statement at %C follows previous SAVE statement"
+ msgstr ""
+
+-#: fortran/decl.c:5675
++#: fortran/decl.c:5880
+ #, no-c-format
+ msgid "SAVE statement at %C follows blanket SAVE statement"
+ msgstr "%C 處 SAVE 敘述跟隨空白 SAVE 敘述"
+
+-#: fortran/decl.c:5722
++#: fortran/decl.c:5927
+ #, no-c-format
+ msgid "Syntax error in SAVE statement at %C"
+ msgstr "%C SAVE 敘述語法錯誤"
+
+-#: fortran/decl.c:5733
++#: fortran/decl.c:5938
+ #, fuzzy, no-c-format
+ msgid "Fortran 2003: VALUE statement at %C"
+ msgstr "Fortran 2003:%C 處的 FLUSH 敘述"
+
+-#: fortran/decl.c:5773
++#: fortran/decl.c:5978
+ #, fuzzy, no-c-format
+ msgid "Syntax error in VALUE statement at %C"
+ msgstr "%C SAVE 敘述語法錯誤"
+
+-#: fortran/decl.c:5784
++#: fortran/decl.c:5989
+ #, fuzzy, no-c-format
+ msgid "Fortran 2003: VOLATILE statement at %C"
+ msgstr "Fortran 2003:%C 處的 FLUSH 敘述"
+
+-#: fortran/decl.c:5826
++#: fortran/decl.c:6031
+ #, fuzzy, no-c-format
+ msgid "Syntax error in VOLATILE statement at %C"
+ msgstr "%C SAVE 敘述語法錯誤"
+
+-#: fortran/decl.c:5848
++#: fortran/decl.c:6054
+ #, no-c-format
+ msgid "MODULE PROCEDURE at %C must be in a generic module interface"
+ msgstr ""
+
+-#: fortran/decl.c:5910
++#: fortran/decl.c:6142
+ #, no-c-format
+ msgid "Derived type at %C can only be PRIVATE in the specification part of a module"
+ msgstr ""
+
+-#: fortran/decl.c:5922
++#: fortran/decl.c:6154
+ #, no-c-format
+ msgid "Derived type at %C can only be PUBLIC in the specification part of a module"
+ msgstr ""
+
+-#: fortran/decl.c:5979
++#: fortran/decl.c:6211
+ #, no-c-format
+ msgid "Expected :: in TYPE definition at %C"
+ msgstr "%C 在 TYPE å®šç¾©ä¸­éœ€è¦ ::"
+
+-#: fortran/decl.c:5990
++#: fortran/decl.c:6222
+ #, no-c-format
+ msgid "Type name '%s' at %C cannot be the same as an intrinsic type"
+ msgstr "類型「%sã€(ä½æ–¼ %C)ä¸èƒ½èˆ‡å…§å»ºé¡žåž‹åŒå"
+
+-#: fortran/decl.c:6000
++#: fortran/decl.c:6232
+ #, no-c-format
+ msgid "Derived type name '%s' at %C already has a basic type of %s"
+ msgstr ""
+
+-#: fortran/decl.c:6016
++#: fortran/decl.c:6248
+ #, no-c-format
+ msgid "Derived type definition of '%s' at %C has already been defined"
+ msgstr ""
+
+-#: fortran/decl.c:6054
++#: fortran/decl.c:6286
+ #, no-c-format
+ msgid "Cray Pointee at %C cannot be assumed shape array"
+ msgstr ""
+
+-#: fortran/decl.c:6074
++#: fortran/decl.c:6306
+ #, fuzzy, no-c-format
+ msgid "Fortran 2003: ENUM and ENUMERATOR at %C"
+ msgstr "Fortran 2003 新特性:%C 處的 ENUM AND ENUMERATOR"
+
+-#: fortran/decl.c:6146
++#: fortran/decl.c:6378
+ #, no-c-format
+ msgid "ENUMERATOR %L not initialized with integer expression"
+ msgstr ""
+
+-#: fortran/decl.c:6195
++#: fortran/decl.c:6427
+ #, no-c-format
+ msgid "ENUM definition statement expected before %C"
+ msgstr ""
+
+-#: fortran/decl.c:6228
++#: fortran/decl.c:6460
+ #, no-c-format
+ msgid "Syntax error in ENUMERATOR definition at %C"
+ msgstr "%C 處 ENUMERATOR 定義中語法錯誤"
+@@ -5148,21 +5108,21 @@
+ msgid " "
+ msgstr " "
+
+-#: fortran/dump-parse-tree.c:73 fortran/dump-parse-tree.c:626
++#: fortran/dump-parse-tree.c:73 fortran/dump-parse-tree.c:637
+ #, c-format
+ msgid "(%s "
+ msgstr "(%s"
+
+-#: fortran/dump-parse-tree.c:86 fortran/dump-parse-tree.c:1069
+-#: fortran/dump-parse-tree.c:1113 fortran/dump-parse-tree.c:1123
++#: fortran/dump-parse-tree.c:86 fortran/dump-parse-tree.c:1091
++#: fortran/dump-parse-tree.c:1135 fortran/dump-parse-tree.c:1145
+ #, c-format
+ msgid "%d"
+ msgstr "%d"
+
+ #: fortran/dump-parse-tree.c:90 fortran/dump-parse-tree.c:116
+ #: fortran/dump-parse-tree.c:159 fortran/dump-parse-tree.c:395
+-#: fortran/dump-parse-tree.c:518 fortran/dump-parse-tree.c:613
+-#: fortran/dump-parse-tree.c:636
++#: fortran/dump-parse-tree.c:518 fortran/dump-parse-tree.c:624
++#: fortran/dump-parse-tree.c:647
+ #, c-format
+ msgid ")"
+ msgstr ")"
+@@ -5300,7 +5260,7 @@
+ msgid "%.2x"
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:429 fortran/dump-parse-tree.c:732
++#: fortran/dump-parse-tree.c:429 fortran/dump-parse-tree.c:754
+ #, c-format
+ msgid "%s:"
+ msgstr "%s:"
+@@ -5415,748 +5375,753 @@
+ msgid "%s[["
+ msgstr "%s[["
+
+-#: fortran/dump-parse-tree.c:551
++#: fortran/dump-parse-tree.c:560
+ #, fuzzy, c-format
+ msgid "(%s %s %s %s %s"
+ msgstr "(%s %s %s %s"
+
+-#: fortran/dump-parse-tree.c:558
++#: fortran/dump-parse-tree.c:567
+ #, c-format
+ msgid " ALLOCATABLE"
+ msgstr " ALLOCATABLE"
+
+-#: fortran/dump-parse-tree.c:560 fortran/dump-parse-tree.c:631
++#: fortran/dump-parse-tree.c:569 fortran/dump-parse-tree.c:642
+ #, c-format
+ msgid " DIMENSION"
+ msgstr " DIMENSION"
+
+-#: fortran/dump-parse-tree.c:562
++#: fortran/dump-parse-tree.c:571
+ #, c-format
+ msgid " EXTERNAL"
+ msgstr " EXTERNAL"
+
+-#: fortran/dump-parse-tree.c:564
++#: fortran/dump-parse-tree.c:573
+ #, c-format
+ msgid " INTRINSIC"
+ msgstr " INTRINSIC"
+
+-#: fortran/dump-parse-tree.c:566
++#: fortran/dump-parse-tree.c:575
+ #, c-format
+ msgid " OPTIONAL"
+ msgstr " OPTIONAL"
+
+-#: fortran/dump-parse-tree.c:568 fortran/dump-parse-tree.c:629
++#: fortran/dump-parse-tree.c:577 fortran/dump-parse-tree.c:640
+ #, c-format
+ msgid " POINTER"
+ msgstr " POINTER"
+
+-#: fortran/dump-parse-tree.c:570
++#: fortran/dump-parse-tree.c:579
+ #, fuzzy, c-format
+ msgid " PROTECTED"
+ msgstr " FORMATTED"
+
+-#: fortran/dump-parse-tree.c:572
++#: fortran/dump-parse-tree.c:581
+ #, c-format
+ msgid " VALUE"
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:574
++#: fortran/dump-parse-tree.c:583
+ #, c-format
+ msgid " VOLATILE"
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:576
++#: fortran/dump-parse-tree.c:585
+ #, fuzzy, c-format
+ msgid " THREADPRIVATE"
+ msgstr " READWRITE="
+
+-#: fortran/dump-parse-tree.c:578
++#: fortran/dump-parse-tree.c:587
+ #, c-format
+ msgid " TARGET"
+ msgstr " TARGET"
+
+-#: fortran/dump-parse-tree.c:580
++#: fortran/dump-parse-tree.c:589
+ #, c-format
+ msgid " DUMMY"
+ msgstr " DUMMY"
+
+-#: fortran/dump-parse-tree.c:582
++#: fortran/dump-parse-tree.c:591
+ #, c-format
+ msgid " RESULT"
+ msgstr " RESULT"
+
+-#: fortran/dump-parse-tree.c:584
++#: fortran/dump-parse-tree.c:593
+ #, c-format
+ msgid " ENTRY"
+ msgstr " ENTRY"
+
+-#: fortran/dump-parse-tree.c:587
++#: fortran/dump-parse-tree.c:595
+ #, c-format
++msgid " BIND(C)"
++msgstr ""
++
++#: fortran/dump-parse-tree.c:598
++#, c-format
+ msgid " DATA"
+ msgstr " DATA"
+
+-#: fortran/dump-parse-tree.c:589
++#: fortran/dump-parse-tree.c:600
+ #, c-format
+ msgid " USE-ASSOC"
+ msgstr " USE-ASSOC"
+
+-#: fortran/dump-parse-tree.c:591
++#: fortran/dump-parse-tree.c:602
+ #, c-format
+ msgid " IN-NAMELIST"
+ msgstr " IN-NAMELIST"
+
+-#: fortran/dump-parse-tree.c:593
++#: fortran/dump-parse-tree.c:604
+ #, c-format
+ msgid " IN-COMMON"
+ msgstr " IN-COMMON"
+
+-#: fortran/dump-parse-tree.c:596
++#: fortran/dump-parse-tree.c:607
+ #, c-format
+ msgid " ABSTRACT INTERFACE"
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:598
++#: fortran/dump-parse-tree.c:609
+ #, c-format
+ msgid " FUNCTION"
+ msgstr " FUNCTION"
+
+-#: fortran/dump-parse-tree.c:600
++#: fortran/dump-parse-tree.c:611
+ #, c-format
+ msgid " SUBROUTINE"
+ msgstr " SUBROUTINE"
+
+-#: fortran/dump-parse-tree.c:602
++#: fortran/dump-parse-tree.c:613
+ #, c-format
+ msgid " IMPLICIT-TYPE"
+ msgstr " IMPLICIT-TYPE"
+
+-#: fortran/dump-parse-tree.c:605
++#: fortran/dump-parse-tree.c:616
+ #, c-format
+ msgid " SEQUENCE"
+ msgstr " SEQUENCE"
+
+-#: fortran/dump-parse-tree.c:607
++#: fortran/dump-parse-tree.c:618
+ #, c-format
+ msgid " ELEMENTAL"
+ msgstr " ELEMENTAL"
+
+-#: fortran/dump-parse-tree.c:609
++#: fortran/dump-parse-tree.c:620
+ #, c-format
+ msgid " PURE"
+ msgstr " PURE"
+
+-#: fortran/dump-parse-tree.c:611
++#: fortran/dump-parse-tree.c:622
+ #, c-format
+ msgid " RECURSIVE"
+ msgstr " RECURSIVE"
+
+-#: fortran/dump-parse-tree.c:635 fortran/dump-parse-tree.c:682
+-#: fortran/dump-parse-tree.c:706 fortran/dump-parse-tree.c:735
+-#: fortran/dump-parse-tree.c:1276 fortran/dump-parse-tree.c:1282
+-#: fortran/dump-parse-tree.c:1784
++#: fortran/dump-parse-tree.c:646 fortran/dump-parse-tree.c:693
++#: fortran/dump-parse-tree.c:717 fortran/dump-parse-tree.c:757
++#: fortran/dump-parse-tree.c:1298 fortran/dump-parse-tree.c:1304
++#: fortran/dump-parse-tree.c:1806
+ #, c-format
+ msgid " %s"
+ msgstr " %s"
+
+-#: fortran/dump-parse-tree.c:659
++#: fortran/dump-parse-tree.c:670
+ #, c-format
+ msgid "symbol %s "
+ msgstr "符號 %s"
+
+-#: fortran/dump-parse-tree.c:666
++#: fortran/dump-parse-tree.c:677
+ #, c-format
+ msgid "value: "
+ msgstr "值:"
+
+-#: fortran/dump-parse-tree.c:673
++#: fortran/dump-parse-tree.c:684
+ #, c-format
+ msgid "Array spec:"
+ msgstr "陣列指定:"
+
+-#: fortran/dump-parse-tree.c:680
++#: fortran/dump-parse-tree.c:691
+ #, c-format
+ msgid "Generic interfaces:"
+ msgstr "通用介é¢ï¼š"
+
+-#: fortran/dump-parse-tree.c:688
++#: fortran/dump-parse-tree.c:699
+ #, c-format
+ msgid "result: %s"
+ msgstr "çµæžœï¼š%s"
+
+-#: fortran/dump-parse-tree.c:694
++#: fortran/dump-parse-tree.c:705
+ #, c-format
+ msgid "components: "
+ msgstr "元件:"
+
+-#: fortran/dump-parse-tree.c:701
++#: fortran/dump-parse-tree.c:712
+ #, c-format
+ msgid "Formal arglist:"
+ msgstr "åƒæ•¸æ¸…單:"
+
+-#: fortran/dump-parse-tree.c:708
++#: fortran/dump-parse-tree.c:719
+ #, c-format
+ msgid " [Alt Return]"
+ msgstr " [替代回傳]"
+
+-#: fortran/dump-parse-tree.c:715
++#: fortran/dump-parse-tree.c:726
+ #, c-format
+ msgid "Formal namespace"
+ msgstr "å½¢å¼å‘½å空間"
+
+-#: fortran/dump-parse-tree.c:771
++#: fortran/dump-parse-tree.c:793
+ #, c-format
+ msgid "common: /%s/ "
+ msgstr "common: /%s/ "
+
+-#: fortran/dump-parse-tree.c:779 fortran/dump-parse-tree.c:1720
++#: fortran/dump-parse-tree.c:801 fortran/dump-parse-tree.c:1742
+ #, c-format
+ msgid ", "
+ msgstr ", "
+
+-#: fortran/dump-parse-tree.c:791
++#: fortran/dump-parse-tree.c:813
+ #, c-format
+ msgid "symtree: %s Ambig %d"
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:794
++#: fortran/dump-parse-tree.c:816
+ #, c-format
+ msgid " from namespace %s"
+ msgstr " 從命å空間 %s"
+
+-#: fortran/dump-parse-tree.c:820
++#: fortran/dump-parse-tree.c:842
+ #, fuzzy, c-format
+ msgid "%s,"
+ msgstr "%s"
+
+-#: fortran/dump-parse-tree.c:852
++#: fortran/dump-parse-tree.c:874
+ #, c-format
+ msgid "!$OMP %s"
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:867 fortran/dump-parse-tree.c:1010
++#: fortran/dump-parse-tree.c:889 fortran/dump-parse-tree.c:1032
+ #, fuzzy, c-format
+ msgid " (%s)"
+ msgstr " %s"
+
+-#: fortran/dump-parse-tree.c:872
++#: fortran/dump-parse-tree.c:894
+ #, fuzzy, c-format
+ msgid " ("
+ msgstr ", ("
+
+-#: fortran/dump-parse-tree.c:888
++#: fortran/dump-parse-tree.c:910
+ #, c-format
+ msgid " IF("
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:894
++#: fortran/dump-parse-tree.c:916
+ #, c-format
+ msgid " NUM_THREADS("
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:910
++#: fortran/dump-parse-tree.c:932
+ #, c-format
+ msgid " SCHEDULE (%s"
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:930
++#: fortran/dump-parse-tree.c:952
+ #, c-format
+ msgid " DEFAULT(%s)"
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:933
++#: fortran/dump-parse-tree.c:955
+ #, fuzzy, c-format
+ msgid " ORDERED"
+ msgstr " OPENED="
+
+-#: fortran/dump-parse-tree.c:958
++#: fortran/dump-parse-tree.c:980
+ #, fuzzy, c-format
+ msgid " REDUCTION(%s:"
+ msgstr " FUNCTION"
+
+-#: fortran/dump-parse-tree.c:972
++#: fortran/dump-parse-tree.c:994
+ #, fuzzy, c-format
+ msgid " %s("
+ msgstr "%s("
+
+-#: fortran/dump-parse-tree.c:988
++#: fortran/dump-parse-tree.c:1010
+ #, c-format
+ msgid "!$OMP SECTION\n"
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:997
++#: fortran/dump-parse-tree.c:1019
+ #, c-format
+ msgid "!$OMP END %s"
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:1002
++#: fortran/dump-parse-tree.c:1024
+ #, c-format
+ msgid " COPYPRIVATE("
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:1007
++#: fortran/dump-parse-tree.c:1029
+ #, fuzzy, c-format
+ msgid " NOWAIT"
+ msgstr " UNIT="
+
+-#: fortran/dump-parse-tree.c:1034
++#: fortran/dump-parse-tree.c:1056
+ #, c-format
+ msgid "NOP"
+ msgstr "NOP"
+
+-#: fortran/dump-parse-tree.c:1038
++#: fortran/dump-parse-tree.c:1060
+ #, c-format
+ msgid "CONTINUE"
+ msgstr "CONTINUE"
+
+-#: fortran/dump-parse-tree.c:1042
++#: fortran/dump-parse-tree.c:1064
+ #, c-format
+ msgid "ENTRY %s"
+ msgstr "ENTRY %s"
+
+-#: fortran/dump-parse-tree.c:1047
++#: fortran/dump-parse-tree.c:1069
+ #, c-format
+ msgid "ASSIGN "
+ msgstr "ASSIGN "
+
+-#: fortran/dump-parse-tree.c:1054
++#: fortran/dump-parse-tree.c:1076
+ #, c-format
+ msgid "LABEL ASSIGN "
+ msgstr "LABEL ASSIGN "
+
+-#: fortran/dump-parse-tree.c:1056
++#: fortran/dump-parse-tree.c:1078
+ #, c-format
+ msgid " %d"
+ msgstr " %d"
+
+-#: fortran/dump-parse-tree.c:1060
++#: fortran/dump-parse-tree.c:1082
+ #, c-format
+ msgid "POINTER ASSIGN "
+ msgstr "POINTER ASSIGN "
+
+-#: fortran/dump-parse-tree.c:1067
++#: fortran/dump-parse-tree.c:1089
+ #, c-format
+ msgid "GOTO "
+ msgstr "GOTO "
+
+-#: fortran/dump-parse-tree.c:1076
++#: fortran/dump-parse-tree.c:1098
+ #, c-format
+ msgid ", ("
+ msgstr ", ("
+
+-#: fortran/dump-parse-tree.c:1092 fortran/dump-parse-tree.c:1094
++#: fortran/dump-parse-tree.c:1114 fortran/dump-parse-tree.c:1116
+ #, c-format
+ msgid "CALL %s "
+ msgstr "CALL %s "
+
+-#: fortran/dump-parse-tree.c:1096
++#: fortran/dump-parse-tree.c:1118
+ #, fuzzy, c-format
+ msgid "CALL ?? "
+ msgstr "CALL %s "
+
+-#: fortran/dump-parse-tree.c:1102
++#: fortran/dump-parse-tree.c:1124
+ #, c-format
+ msgid "RETURN "
+ msgstr "RETURN "
+
+-#: fortran/dump-parse-tree.c:1108
++#: fortran/dump-parse-tree.c:1130
+ #, c-format
+ msgid "PAUSE "
+ msgstr "PAUSE "
+
+-#: fortran/dump-parse-tree.c:1118
++#: fortran/dump-parse-tree.c:1140
+ #, c-format
+ msgid "STOP "
+ msgstr "STOP "
+
+-#: fortran/dump-parse-tree.c:1128 fortran/dump-parse-tree.c:1136
++#: fortran/dump-parse-tree.c:1150 fortran/dump-parse-tree.c:1158
+ #, c-format
+ msgid "IF "
+ msgstr "IF "
+
+-#: fortran/dump-parse-tree.c:1130
++#: fortran/dump-parse-tree.c:1152
+ #, c-format
+ msgid " %d, %d, %d"
+ msgstr " %d, %d, %d"
+
+-#: fortran/dump-parse-tree.c:1147
++#: fortran/dump-parse-tree.c:1169
+ #, c-format
+ msgid "ELSE\n"
+ msgstr "ELSE\n"
+
+-#: fortran/dump-parse-tree.c:1150
++#: fortran/dump-parse-tree.c:1172
+ #, c-format
+ msgid "ELSE IF "
+ msgstr "ELSE IF "
+
+-#: fortran/dump-parse-tree.c:1160
++#: fortran/dump-parse-tree.c:1182
+ #, c-format
+ msgid "ENDIF"
+ msgstr "ENDIF"
+
+-#: fortran/dump-parse-tree.c:1165
++#: fortran/dump-parse-tree.c:1187
+ #, c-format
+ msgid "SELECT CASE "
+ msgstr "SELECT CASE "
+
+-#: fortran/dump-parse-tree.c:1173
++#: fortran/dump-parse-tree.c:1195
+ #, c-format
+ msgid "CASE "
+ msgstr "CASE "
+
+-#: fortran/dump-parse-tree.c:1189
++#: fortran/dump-parse-tree.c:1211
+ #, c-format
+ msgid "END SELECT"
+ msgstr "END SELECT"
+
+-#: fortran/dump-parse-tree.c:1193
++#: fortran/dump-parse-tree.c:1215
+ #, c-format
+ msgid "WHERE "
+ msgstr "WHERE "
+
+-#: fortran/dump-parse-tree.c:1204
++#: fortran/dump-parse-tree.c:1226
+ #, c-format
+ msgid "ELSE WHERE "
+ msgstr "ELSE WHERE "
+
+-#: fortran/dump-parse-tree.c:1211
++#: fortran/dump-parse-tree.c:1233
+ #, c-format
+ msgid "END WHERE"
+ msgstr "END WHERE"
+
+-#: fortran/dump-parse-tree.c:1216
++#: fortran/dump-parse-tree.c:1238
+ #, c-format
+ msgid "FORALL "
+ msgstr "FORALL "
+
+-#: fortran/dump-parse-tree.c:1241
++#: fortran/dump-parse-tree.c:1263
+ #, c-format
+ msgid "END FORALL"
+ msgstr "END FORALL"
+
+-#: fortran/dump-parse-tree.c:1245
++#: fortran/dump-parse-tree.c:1267
+ #, c-format
+ msgid "DO "
+ msgstr "DO "
+
+-#: fortran/dump-parse-tree.c:1259 fortran/dump-parse-tree.c:1270
++#: fortran/dump-parse-tree.c:1281 fortran/dump-parse-tree.c:1292
+ #, c-format
+ msgid "END DO"
+ msgstr "END DO"
+
+-#: fortran/dump-parse-tree.c:1263
++#: fortran/dump-parse-tree.c:1285
+ #, c-format
+ msgid "DO WHILE "
+ msgstr "DO WHILE "
+
+-#: fortran/dump-parse-tree.c:1274
++#: fortran/dump-parse-tree.c:1296
+ #, c-format
+ msgid "CYCLE"
+ msgstr "CYCLE"
+
+-#: fortran/dump-parse-tree.c:1280
++#: fortran/dump-parse-tree.c:1302
+ #, c-format
+ msgid "EXIT"
+ msgstr "EXIT"
+
+-#: fortran/dump-parse-tree.c:1286
++#: fortran/dump-parse-tree.c:1308
+ #, c-format
+ msgid "ALLOCATE "
+ msgstr "ALLOCATE "
+
+-#: fortran/dump-parse-tree.c:1289 fortran/dump-parse-tree.c:1305
++#: fortran/dump-parse-tree.c:1311 fortran/dump-parse-tree.c:1327
+ #, c-format
+ msgid " STAT="
+ msgstr " STAT="
+
+-#: fortran/dump-parse-tree.c:1302
++#: fortran/dump-parse-tree.c:1324
+ #, c-format
+ msgid "DEALLOCATE "
+ msgstr "DEALLOCATE "
+
+-#: fortran/dump-parse-tree.c:1318
++#: fortran/dump-parse-tree.c:1340
+ #, c-format
+ msgid "OPEN"
+ msgstr "OPEN"
+
+-#: fortran/dump-parse-tree.c:1323 fortran/dump-parse-tree.c:1402
+-#: fortran/dump-parse-tree.c:1444 fortran/dump-parse-tree.c:1467
+-#: fortran/dump-parse-tree.c:1619
++#: fortran/dump-parse-tree.c:1345 fortran/dump-parse-tree.c:1424
++#: fortran/dump-parse-tree.c:1466 fortran/dump-parse-tree.c:1489
++#: fortran/dump-parse-tree.c:1641
+ #, c-format
+ msgid " UNIT="
+ msgstr " UNIT="
+
+-#: fortran/dump-parse-tree.c:1328 fortran/dump-parse-tree.c:1407
+-#: fortran/dump-parse-tree.c:1449 fortran/dump-parse-tree.c:1478
+-#: fortran/dump-parse-tree.c:1636
++#: fortran/dump-parse-tree.c:1350 fortran/dump-parse-tree.c:1429
++#: fortran/dump-parse-tree.c:1471 fortran/dump-parse-tree.c:1500
++#: fortran/dump-parse-tree.c:1658
+ #, c-format
+ msgid " IOMSG="
+ msgstr " IOMSG="
+
+-#: fortran/dump-parse-tree.c:1333 fortran/dump-parse-tree.c:1412
+-#: fortran/dump-parse-tree.c:1454 fortran/dump-parse-tree.c:1483
+-#: fortran/dump-parse-tree.c:1641
++#: fortran/dump-parse-tree.c:1355 fortran/dump-parse-tree.c:1434
++#: fortran/dump-parse-tree.c:1476 fortran/dump-parse-tree.c:1505
++#: fortran/dump-parse-tree.c:1663
+ #, c-format
+ msgid " IOSTAT="
+ msgstr " IOSTAT="
+
+-#: fortran/dump-parse-tree.c:1338 fortran/dump-parse-tree.c:1472
++#: fortran/dump-parse-tree.c:1360 fortran/dump-parse-tree.c:1494
+ #, c-format
+ msgid " FILE="
+ msgstr " FILE="
+
+-#: fortran/dump-parse-tree.c:1343 fortran/dump-parse-tree.c:1417
++#: fortran/dump-parse-tree.c:1365 fortran/dump-parse-tree.c:1439
+ #, c-format
+ msgid " STATUS="
+ msgstr " STATUS="
+
+-#: fortran/dump-parse-tree.c:1348 fortran/dump-parse-tree.c:1513
++#: fortran/dump-parse-tree.c:1370 fortran/dump-parse-tree.c:1535
+ #, c-format
+ msgid " ACCESS="
+ msgstr " ACCESS="
+
+-#: fortran/dump-parse-tree.c:1353 fortran/dump-parse-tree.c:1529
++#: fortran/dump-parse-tree.c:1375 fortran/dump-parse-tree.c:1551
+ #, c-format
+ msgid " FORM="
+ msgstr " FORM="
+
+-#: fortran/dump-parse-tree.c:1358 fortran/dump-parse-tree.c:1544
++#: fortran/dump-parse-tree.c:1380 fortran/dump-parse-tree.c:1566
+ #, c-format
+ msgid " RECL="
+ msgstr " RECL="
+
+-#: fortran/dump-parse-tree.c:1363 fortran/dump-parse-tree.c:1554
++#: fortran/dump-parse-tree.c:1385 fortran/dump-parse-tree.c:1576
+ #, c-format
+ msgid " BLANK="
+ msgstr " BLANK="
+
+-#: fortran/dump-parse-tree.c:1368 fortran/dump-parse-tree.c:1559
++#: fortran/dump-parse-tree.c:1390 fortran/dump-parse-tree.c:1581
+ #, c-format
+ msgid " POSITION="
+ msgstr " POSITION="
+
+-#: fortran/dump-parse-tree.c:1373 fortran/dump-parse-tree.c:1564
++#: fortran/dump-parse-tree.c:1395 fortran/dump-parse-tree.c:1586
+ #, c-format
+ msgid " ACTION="
+ msgstr " ACTION="
+
+-#: fortran/dump-parse-tree.c:1378 fortran/dump-parse-tree.c:1584
++#: fortran/dump-parse-tree.c:1400 fortran/dump-parse-tree.c:1606
+ #, c-format
+ msgid " DELIM="
+ msgstr " DELIM="
+
+-#: fortran/dump-parse-tree.c:1383 fortran/dump-parse-tree.c:1589
++#: fortran/dump-parse-tree.c:1405 fortran/dump-parse-tree.c:1611
+ #, c-format
+ msgid " PAD="
+ msgstr " PAD="
+
+-#: fortran/dump-parse-tree.c:1388 fortran/dump-parse-tree.c:1594
++#: fortran/dump-parse-tree.c:1410 fortran/dump-parse-tree.c:1616
+ #, c-format
+ msgid " CONVERT="
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:1392 fortran/dump-parse-tree.c:1421
+-#: fortran/dump-parse-tree.c:1458 fortran/dump-parse-tree.c:1599
+-#: fortran/dump-parse-tree.c:1676
++#: fortran/dump-parse-tree.c:1414 fortran/dump-parse-tree.c:1443
++#: fortran/dump-parse-tree.c:1480 fortran/dump-parse-tree.c:1621
++#: fortran/dump-parse-tree.c:1698
+ #, c-format
+ msgid " ERR=%d"
+ msgstr " ERR=%d"
+
+-#: fortran/dump-parse-tree.c:1397
++#: fortran/dump-parse-tree.c:1419
+ #, c-format
+ msgid "CLOSE"
+ msgstr "CLOSE"
+
+-#: fortran/dump-parse-tree.c:1425
++#: fortran/dump-parse-tree.c:1447
+ #, c-format
+ msgid "BACKSPACE"
+ msgstr "BACKSPACE"
+
+-#: fortran/dump-parse-tree.c:1429
++#: fortran/dump-parse-tree.c:1451
+ #, c-format
+ msgid "ENDFILE"
+ msgstr "ENDFILE"
+
+-#: fortran/dump-parse-tree.c:1433
++#: fortran/dump-parse-tree.c:1455
+ #, c-format
+ msgid "REWIND"
+ msgstr "REWIND"
+
+-#: fortran/dump-parse-tree.c:1437
++#: fortran/dump-parse-tree.c:1459
+ #, c-format
+ msgid "FLUSH"
+ msgstr "FLUSH"
+
+-#: fortran/dump-parse-tree.c:1462
++#: fortran/dump-parse-tree.c:1484
+ #, c-format
+ msgid "INQUIRE"
+ msgstr "INQUIRE"
+
+-#: fortran/dump-parse-tree.c:1488
++#: fortran/dump-parse-tree.c:1510
+ #, c-format
+ msgid " EXIST="
+ msgstr " EXIST="
+
+-#: fortran/dump-parse-tree.c:1493
++#: fortran/dump-parse-tree.c:1515
+ #, c-format
+ msgid " OPENED="
+ msgstr " OPENED="
+
+-#: fortran/dump-parse-tree.c:1498
++#: fortran/dump-parse-tree.c:1520
+ #, c-format
+ msgid " NUMBER="
+ msgstr " NUMBER="
+
+-#: fortran/dump-parse-tree.c:1503
++#: fortran/dump-parse-tree.c:1525
+ #, c-format
+ msgid " NAMED="
+ msgstr " NAMED="
+
+-#: fortran/dump-parse-tree.c:1508
++#: fortran/dump-parse-tree.c:1530
+ #, c-format
+ msgid " NAME="
+ msgstr " NAME="
+
+-#: fortran/dump-parse-tree.c:1518
++#: fortran/dump-parse-tree.c:1540
+ #, c-format
+ msgid " SEQUENTIAL="
+ msgstr " SEQUENTIAL="
+
+-#: fortran/dump-parse-tree.c:1524
++#: fortran/dump-parse-tree.c:1546
+ #, c-format
+ msgid " DIRECT="
+ msgstr " DIRECT="
+
+-#: fortran/dump-parse-tree.c:1534
++#: fortran/dump-parse-tree.c:1556
+ #, c-format
+ msgid " FORMATTED"
+ msgstr " FORMATTED"
+
+-#: fortran/dump-parse-tree.c:1539
++#: fortran/dump-parse-tree.c:1561
+ #, c-format
+ msgid " UNFORMATTED="
+ msgstr " UNFORMATTED="
+
+-#: fortran/dump-parse-tree.c:1549
++#: fortran/dump-parse-tree.c:1571
+ #, c-format
+ msgid " NEXTREC="
+ msgstr " NEXTREC="
+
+-#: fortran/dump-parse-tree.c:1569
++#: fortran/dump-parse-tree.c:1591
+ #, c-format
+ msgid " READ="
+ msgstr " READ="
+
+-#: fortran/dump-parse-tree.c:1574
++#: fortran/dump-parse-tree.c:1596
+ #, c-format
+ msgid " WRITE="
+ msgstr " WRITE="
+
+-#: fortran/dump-parse-tree.c:1579
++#: fortran/dump-parse-tree.c:1601
+ #, c-format
+ msgid " READWRITE="
+ msgstr " READWRITE="
+
+-#: fortran/dump-parse-tree.c:1603
++#: fortran/dump-parse-tree.c:1625
+ #, c-format
+ msgid "IOLENGTH "
+ msgstr "IOLENGTH "
+
+-#: fortran/dump-parse-tree.c:1609
++#: fortran/dump-parse-tree.c:1631
+ #, c-format
+ msgid "READ"
+ msgstr "READ"
+
+-#: fortran/dump-parse-tree.c:1613
++#: fortran/dump-parse-tree.c:1635
+ #, c-format
+ msgid "WRITE"
+ msgstr "WRITE"
+
+-#: fortran/dump-parse-tree.c:1625
++#: fortran/dump-parse-tree.c:1647
+ #, c-format
+ msgid " FMT="
+ msgstr " FMT="
+
+-#: fortran/dump-parse-tree.c:1630
++#: fortran/dump-parse-tree.c:1652
+ #, c-format
+ msgid " FMT=%d"
+ msgstr " FMT=%d"
+
+-#: fortran/dump-parse-tree.c:1632
++#: fortran/dump-parse-tree.c:1654
+ #, c-format
+ msgid " NML=%s"
+ msgstr " %s"
+
+-#: fortran/dump-parse-tree.c:1646
++#: fortran/dump-parse-tree.c:1668
+ #, c-format
+ msgid " SIZE="
+ msgstr " SIZE="
+
+-#: fortran/dump-parse-tree.c:1651
++#: fortran/dump-parse-tree.c:1673
+ #, c-format
+ msgid " REC="
+ msgstr " REC="
+
+-#: fortran/dump-parse-tree.c:1656
++#: fortran/dump-parse-tree.c:1678
+ #, c-format
+ msgid " ADVANCE="
+ msgstr " ADVANCE="
+
+-#: fortran/dump-parse-tree.c:1667
++#: fortran/dump-parse-tree.c:1689
+ #, c-format
+ msgid "TRANSFER "
+ msgstr "TRANSFER "
+
+-#: fortran/dump-parse-tree.c:1672
++#: fortran/dump-parse-tree.c:1694
+ #, c-format
+ msgid "DT_END"
+ msgstr "DT_END"
+
+-#: fortran/dump-parse-tree.c:1678
++#: fortran/dump-parse-tree.c:1700
+ #, c-format
+ msgid " END=%d"
+ msgstr " END=%d"
+
+-#: fortran/dump-parse-tree.c:1680
++#: fortran/dump-parse-tree.c:1702
+ #, c-format
+ msgid " EOR=%d"
+ msgstr " EOR=%d"
+
+-#: fortran/dump-parse-tree.c:1714
++#: fortran/dump-parse-tree.c:1736
+ #, c-format
+ msgid "Equivalence: "
+ msgstr "等價:"
+
+-#: fortran/dump-parse-tree.c:1740
++#: fortran/dump-parse-tree.c:1762
+ #, c-format
+ msgid "Namespace:"
+ msgstr "命å空間:"
+
+-#: fortran/dump-parse-tree.c:1754
++#: fortran/dump-parse-tree.c:1776
+ #, c-format
+ msgid " %c-%c: "
+ msgstr " %c-%c:"
+
+-#: fortran/dump-parse-tree.c:1756
++#: fortran/dump-parse-tree.c:1778
+ #, c-format
+ msgid " %c: "
+ msgstr " %c:"
+
+-#: fortran/dump-parse-tree.c:1765
++#: fortran/dump-parse-tree.c:1787
+ #, c-format
+ msgid "procedure name = %s"
+ msgstr "程åºå = %s"
+
+-#: fortran/dump-parse-tree.c:1781
++#: fortran/dump-parse-tree.c:1803
+ #, c-format
+ msgid "Operator interfaces for %s:"
+ msgstr "%s çš„é‹ç®—å­ä»‹é¢ï¼š"
+
+-#: fortran/dump-parse-tree.c:1790
++#: fortran/dump-parse-tree.c:1812
+ #, c-format
+ msgid "User operators:\n"
+ msgstr "使用者é‹ç®—å­ï¼š\n"
+
+-#: fortran/dump-parse-tree.c:1806
++#: fortran/dump-parse-tree.c:1828
+ #, c-format
+ msgid "CONTAINS\n"
+ msgstr "CONTAINS\n"
+@@ -6176,309 +6141,349 @@
+ msgid "Error count reached limit of %d."
+ msgstr ""
+
+-#: fortran/error.c:670 fortran/error.c:725 fortran/error.c:762
++#: fortran/error.c:670 fortran/error.c:724 fortran/error.c:761
+ msgid "Warning:"
+ msgstr "警告:"
+
+-#: fortran/error.c:727 fortran/error.c:810 fortran/error.c:836
++#: fortran/error.c:726 fortran/error.c:809 fortran/error.c:835
+ msgid "Error:"
+ msgstr "錯誤:"
+
+-#: fortran/error.c:860
++#: fortran/error.c:859
+ msgid "Fatal Error:"
+ msgstr "åš´é‡éŒ¯èª¤ï¼š"
+
+-#: fortran/error.c:879
++#: fortran/error.c:878
+ #, no-c-format
+ msgid "Internal Error at (1):"
+ msgstr "(1)中的內部錯誤:"
+
+-#: fortran/expr.c:252
++#: fortran/expr.c:253
+ #, c-format
+ msgid "Constant expression required at %C"
+ msgstr "%C 處需è¦å¸¸æ•¸é‹ç®—å¼"
+
+-#: fortran/expr.c:255
++#: fortran/expr.c:256
+ #, c-format
+ msgid "Integer expression required at %C"
+ msgstr "%C 處需è¦æ•´æ•¸é‹ç®—å¼"
+
+-#: fortran/expr.c:260
++#: fortran/expr.c:261
+ #, c-format
+ msgid "Integer value too large in expression at %C"
+ msgstr "%C 處é‹ç®—å¼ä¸­æ•´æ•¸å€¼å¤ªå¤§"
+
+-#: fortran/expr.c:1018 fortran/expr.c:1189 fortran/expr.c:1240
++#: fortran/expr.c:1037
+ #, fuzzy, no-c-format
++msgid "Index in dimension %d is out of bounds at %L"
++msgstr "%L 處的 DIM åƒæ•¸è¶Šç•Œ"
++
++#: fortran/expr.c:1208 fortran/expr.c:1259
++#, fuzzy, no-c-format
+ msgid "index in dimension %d is out of bounds at %L"
+ msgstr "%L 處的å­å­—串終止索引越界"
+
+-#: fortran/expr.c:1789
++#: fortran/expr.c:1808
+ #, no-c-format
+ msgid "elemental function arguments at %C are not compliant"
+ msgstr ""
+
+-#: fortran/expr.c:1833
++#: fortran/expr.c:1852
+ #, no-c-format
+ msgid "Numeric or CHARACTER operands are required in expression at %L"
+ msgstr ""
+
+-#: fortran/expr.c:1853
++#: fortran/expr.c:1872
+ #, fuzzy, no-c-format
+ msgid "Fortran 2003: Noninteger exponent in an initialization expression at %L"
+ msgstr "%C 處需è¦ä¸€å€‹åˆå§‹åŒ–é‹ç®—å¼"
+
+-#: fortran/expr.c:1868
++#: fortran/expr.c:1887
+ #, no-c-format
+ msgid "Concatenation operator in expression at %L must have two CHARACTER operands"
+ msgstr ""
+
+-#: fortran/expr.c:1875
++#: fortran/expr.c:1894
+ #, no-c-format
+ msgid "Concat operator at %L must concatenate strings of the same kind"
+ msgstr "%L 處的粘貼é‹ç®—å­å¿…須粘貼åŒä¸€ç¨®åˆ¥çš„字串"
+
+-#: fortran/expr.c:1885
++#: fortran/expr.c:1904
+ #, no-c-format
+ msgid ".NOT. operator in expression at %L must have a LOGICAL operand"
+ msgstr "%L 處的é‹ç®—å¼ä¸­çš„ .NOT. é‹ç®—å­å¿…須帶 LOGICAL é‹ç®—å…ƒ"
+
+-#: fortran/expr.c:1901
++#: fortran/expr.c:1920
+ #, no-c-format
+ msgid "LOGICAL operands are required in expression at %L"
+ msgstr "%L 處的é‹ç®—å¼éœ€è¦ LOGICAL é‹ç®—å…ƒ"
+
+-#: fortran/expr.c:1912
++#: fortran/expr.c:1931
+ #, no-c-format
+ msgid "Only intrinsic operators can be used in expression at %L"
+ msgstr "%L 處åªæœ‰å…§å»ºé‹ç®—å­æ‰èƒ½ç”¨æ–¼é‹ç®—å¼ä¸­"
+
+-#: fortran/expr.c:1920
++#: fortran/expr.c:1939
+ #, no-c-format
+ msgid "Numeric operands are required in expression at %L"
+ msgstr "%L 處的é‹ç®—å¼éœ€è¦æ•¸å­—é‹ç®—å…ƒ"
+
+-#: fortran/expr.c:1985
++#: fortran/expr.c:2030
+ #, fuzzy, no-c-format
+-msgid "Inquiry function '%s' at %L is not permitted in an initialization expression"
+-msgstr "KIND åƒæ•¸ %s 在 %L 處必須是åˆå§‹åŒ–é‹ç®—å¼"
+-
+-#: fortran/expr.c:2015
+-#, fuzzy, no-c-format
+ msgid "Assumed character length variable '%s' in constant expression at %L"
+ msgstr "%L 處指標賦值時字元長度ä¸åŒ"
+
+-#: fortran/expr.c:2061 fortran/expr.c:2067
++#: fortran/expr.c:2076 fortran/expr.c:2082
+ #, fuzzy, no-c-format
+ msgid "transformational intrinsic '%s' at %L is not permitted in an initialization expression"
+ msgstr "KIND åƒæ•¸ %s 在 %L 處必須是åˆå§‹åŒ–é‹ç®—å¼"
+
+-#: fortran/expr.c:2098
++#: fortran/expr.c:2114
+ #, no-c-format
+ msgid "Extension: Evaluation of nonstandard initialization expression at %L"
+ msgstr ""
+
+-#: fortran/expr.c:2151
++#: fortran/expr.c:2167
+ #, no-c-format
+ msgid "Function '%s' in initialization expression at %L must be an intrinsic or a specification function"
+ msgstr ""
+
+-#: fortran/expr.c:2163
++#: fortran/expr.c:2179
+ #, fuzzy, no-c-format
+ msgid "Intrinsic function '%s' at %L is not permitted in an initialization expression"
+ msgstr "KIND åƒæ•¸ %s 在 %L 處必須是åˆå§‹åŒ–é‹ç®—å¼"
+
+-#: fortran/expr.c:2207
++#: fortran/expr.c:2214
++#, no-c-format
++msgid "PARAMETER '%s' is used at %L before its definition is complete"
++msgstr ""
++
++#: fortran/expr.c:2234
+ #, fuzzy, no-c-format
+ msgid "Assumed size array '%s' at %L is not permitted in an initialization expression"
+ msgstr "KIND åƒæ•¸ %s 在 %L 處必須是åˆå§‹åŒ–é‹ç®—å¼"
+
+-#: fortran/expr.c:2213
++#: fortran/expr.c:2240
+ #, fuzzy, no-c-format
+ msgid "Assumed shape array '%s' at %L is not permitted in an initialization expression"
+ msgstr "KIND åƒæ•¸ %s 在 %L 處必須是åˆå§‹åŒ–é‹ç®—å¼"
+
+-#: fortran/expr.c:2219
++#: fortran/expr.c:2246
+ #, fuzzy, no-c-format
+ msgid "Deferred array '%s' at %L is not permitted in an initialization expression"
+ msgstr "KIND åƒæ•¸ %s 在 %L 處必須是åˆå§‹åŒ–é‹ç®—å¼"
+
+-#: fortran/expr.c:2229
++#: fortran/expr.c:2252
+ #, no-c-format
++msgid "Array '%s' at %L is a variable, which does not reduce to a constant expression"
++msgstr ""
++
++#: fortran/expr.c:2262
++#, no-c-format
+ msgid "Parameter '%s' at %L has not been declared or is a variable, which does not reduce to a constant expression"
+ msgstr ""
+
+-#: fortran/expr.c:2317
++#: fortran/expr.c:2350
+ #, no-c-format
+ msgid "Initialization expression didn't reduce %C"
+ msgstr "åˆå§‹åŒ–é‹ç®—å¼ä¸èƒ½æ¸›ä½Ž %C"
+
+-#: fortran/expr.c:2360
++#: fortran/expr.c:2393
+ #, no-c-format
+ msgid "Specification function '%s' at %L cannot be a statement function"
+ msgstr "指定函å¼ã€Œ%sã€(ä½æ–¼ %L)ä¸èƒ½æ˜¯ä¸€å€‹æ•˜è¿°å‡½å¼"
+
+-#: fortran/expr.c:2367
++#: fortran/expr.c:2400
+ #, no-c-format
+ msgid "Specification function '%s' at %L cannot be an internal function"
+ msgstr "指定函å¼ã€Œ%sã€(ä½æ–¼ %L)ä¸èƒ½æ˜¯ä¸€å€‹å…§éƒ¨å‡½å¼"
+
+-#: fortran/expr.c:2374
++#: fortran/expr.c:2407
+ #, no-c-format
+ msgid "Specification function '%s' at %L must be PURE"
+ msgstr "指定函å¼ã€Œ%sã€(ä½æ–¼ %L)必須為 PURE"
+
+-#: fortran/expr.c:2381
++#: fortran/expr.c:2414
+ #, no-c-format
+ msgid "Specification function '%s' at %L cannot be RECURSIVE"
+ msgstr "指定函å¼ã€Œ%sã€(ä½æ–¼ %L)ä¸èƒ½æ˜¯ RECURSIVE"
+
+-#: fortran/expr.c:2443
++#: fortran/expr.c:2476
+ #, fuzzy, no-c-format
+ msgid "Dummy argument '%s' not allowed in expression at %L"
+ msgstr "變數「%sã€ä¸èƒ½å‡ºç¾åœ¨ %L 處的é‹ç®—å¼ä¸­"
+
+-#: fortran/expr.c:2450
++#: fortran/expr.c:2483
+ #, no-c-format
+ msgid "Dummy argument '%s' at %L cannot be OPTIONAL"
+ msgstr "啞元「%sã€(ä½æ–¼ %L)ä¸èƒ½æ˜¯ OPTIONAL"
+
+-#: fortran/expr.c:2457
++#: fortran/expr.c:2490
+ #, no-c-format
+ msgid "Dummy argument '%s' at %L cannot be INTENT(OUT)"
+ msgstr "「%sã€å•žå…ƒå¼•æ•¸åœ¨ %L 處ä¸èƒ½æ˜¯ INTENT(OUT)"
+
+-#: fortran/expr.c:2479
++#: fortran/expr.c:2513
+ #, no-c-format
+ msgid "Variable '%s' cannot appear in the expression at %L"
+ msgstr "變數「%sã€ä¸èƒ½å‡ºç¾åœ¨ %L 處的é‹ç®—å¼ä¸­"
+
+-#: fortran/expr.c:2528
++#: fortran/expr.c:2562
+ #, no-c-format
+ msgid "Expression at %L must be of INTEGER type"
+ msgstr "%L 處的é‹ç®—å¼å¿…須具有 INTEGER é¡žåž‹"
+
+-#: fortran/expr.c:2537
++#: fortran/expr.c:2571
+ #, fuzzy, no-c-format
+ msgid "Function '%s' at %L must be PURE"
+ msgstr "指定函å¼ã€Œ%sã€(ä½æ–¼ %L)必須為 PURE"
+
+-#: fortran/expr.c:2546
++#: fortran/expr.c:2580
+ #, no-c-format
+ msgid "Expression at %L must be scalar"
+ msgstr "%L 處的é‹ç®—å¼å¿…須具有標é‡é¡žåž‹"
+
+-#: fortran/expr.c:2573
++#: fortran/expr.c:2607
+ #, fuzzy, no-c-format
+ msgid "Incompatible ranks in %s (%d and %d) at %L"
+ msgstr "%s 中秩ä¸ç›¸å®¹ï¼Œä½æ–¼ %L"
+
+-#: fortran/expr.c:2587
++#: fortran/expr.c:2621
+ #, no-c-format
+ msgid "Different shape for %s at %L on dimension %d (%d and %d)"
+ msgstr ""
+
+-#: fortran/expr.c:2633 fortran/expr.c:2800
++#: fortran/expr.c:2667 fortran/expr.c:2884
+ #, fuzzy, no-c-format
+ msgid "Cannot assign to INTENT(IN) variable '%s' at %L"
+ msgstr "æ–¼ %L 處的 PURE 程åºä¸­ç„¡æ³•æŒ‡å®šè‡³è¿´åœˆè®Šæ•¸"
+
+-#: fortran/expr.c:2676
++#: fortran/expr.c:2719
+ #, no-c-format
+ msgid "'%s' at %L is not a VALUE"
+ msgstr ""
+
+-#: fortran/expr.c:2683
++#: fortran/expr.c:2726
+ #, no-c-format
+ msgid "Incompatible ranks %d and %d in assignment at %L"
+ msgstr "賦值中有ä¸ç›¸å®¹çš„秩 %d å’Œ %d,ä½æ–¼ %L"
+
+-#: fortran/expr.c:2690
++#: fortran/expr.c:2733
+ #, no-c-format
+ msgid "Variable type is UNKNOWN in assignment at %L"
+ msgstr "%L 處賦值中的變數類型是 UNKNOWN"
+
+-#: fortran/expr.c:2702
++#: fortran/expr.c:2745
+ #, no-c-format
+ msgid "NULL appears on right-hand side in assignment at %L"
+ msgstr "%L 處賦值å³æ‰‹é‚Šå‡ºç¾ NULL"
+
+-#: fortran/expr.c:2713
++#: fortran/expr.c:2756
+ #, no-c-format
+ msgid "Vector assignment to assumed-size Cray Pointee at %L is illegal"
+ msgstr ""
+
+-#: fortran/expr.c:2722
++#: fortran/expr.c:2765
+ #, no-c-format
+ msgid "POINTER valued function appears on right-hand side of assignment at %L"
+ msgstr "%L 處賦值å³æ‰‹é‚Šå‡ºç¾å€¼ç‚º POINTER 的函å¼"
+
+-#: fortran/expr.c:2727
++#: fortran/expr.c:2770
+ #, fuzzy
+ msgid "array assignment"
+ msgstr "陣列賦值"
+
+-#: fortran/expr.c:2744
++#: fortran/expr.c:2775
+ #, no-c-format
++msgid "Extension: BOZ literal at %L used to initialize non-integer variable '%s'"
++msgstr ""
++
++#: fortran/expr.c:2781 fortran/resolve.c:6058
++#, no-c-format
++msgid "Extension: BOZ literal at %L outside a DATA statement and outside INT/REAL/DBLE/CMPLX"
++msgstr ""
++
++#: fortran/expr.c:2791 fortran/resolve.c:6068
++#, no-c-format
++msgid "BOZ literal at %L is bitwise transferred non-integer symbol '%s'"
++msgstr ""
++
++#: fortran/expr.c:2799 fortran/resolve.c:6077
++#, no-c-format
++msgid "Arithmetic underflow of bit-wise transferred BOZ at %L. This check can be disabled with the option -fno-range-check"
++msgstr ""
++
++#: fortran/expr.c:2803 fortran/resolve.c:6081
++#, no-c-format
++msgid "Arithmetic overflow of bit-wise transferred BOZ at %L. This check can be disabled with the option -fno-range-check"
++msgstr ""
++
++#: fortran/expr.c:2807 fortran/resolve.c:6085
++#, no-c-format
++msgid "Arithmetic NaN of bit-wise transferred BOZ at %L. This check can be disabled with the option -fno-range-check"
++msgstr ""
++
++#: fortran/expr.c:2828
++#, no-c-format
+ msgid "Incompatible types in assignment at %L, %s to %s"
+ msgstr "%L 處賦值類型ä¸ç›¸å®¹ï¼Œå¾ž %s 到 %s"
+
+-#: fortran/expr.c:2769
++#: fortran/expr.c:2853
+ #, no-c-format
+ msgid "Pointer assignment target is not a POINTER at %L"
+ msgstr ""
+
+-#: fortran/expr.c:2777
++#: fortran/expr.c:2861
+ #, no-c-format
+ msgid "'%s' in the pointer assignment at %L cannot be an l-value since it is a procedure"
+ msgstr ""
+
+-#: fortran/expr.c:2807
++#: fortran/expr.c:2891
+ #, no-c-format
+ msgid "Pointer assignment to non-POINTER at %L"
+ msgstr "%L 處指標賦給éžæŒ‡æ¨™"
+
+-#: fortran/expr.c:2816
++#: fortran/expr.c:2900
+ #, no-c-format
+ msgid "Bad pointer object in PURE procedure at %L"
+ msgstr ""
+
+-#: fortran/expr.c:2828
++#: fortran/expr.c:2912
+ #, no-c-format
+ msgid "Different types in pointer assignment at %L"
+ msgstr "%L 處指標賦值時類型ä¸åŒ"
+
+-#: fortran/expr.c:2835
++#: fortran/expr.c:2919
+ #, no-c-format
+ msgid "Different kind type parameters in pointer assignment at %L"
+ msgstr ""
+
+-#: fortran/expr.c:2842
++#: fortran/expr.c:2926
+ #, no-c-format
+ msgid "Different ranks in pointer assignment at %L"
+ msgstr "%L 處指標賦值時秩ä¸åŒ"
+
+-#: fortran/expr.c:2857
++#: fortran/expr.c:2941
+ #, no-c-format
+ msgid "Different character lengths in pointer assignment at %L"
+ msgstr "%L 處指標賦值時字元長度ä¸åŒ"
+
+-#: fortran/expr.c:2868
++#: fortran/expr.c:2952
+ #, no-c-format
+ msgid "Pointer assignment target is neither TARGET nor POINTER at %L"
+ msgstr ""
+
+-#: fortran/expr.c:2875
++#: fortran/expr.c:2959
+ #, no-c-format
+ msgid "Bad target in pointer assignment in PURE procedure at %L"
+ msgstr ""
+
+-#: fortran/expr.c:2881
++#: fortran/expr.c:2965
+ #, no-c-format
+ msgid "Pointer assignment with vector subscript on rhs at %L"
+ msgstr ""
+
+-#: fortran/expr.c:2888
++#: fortran/expr.c:2972
+ #, fuzzy, no-c-format
+ msgid "Pointer assigment target has PROTECTED attribute at %L"
+ msgstr "%L 處指標賦給éžæŒ‡æ¨™"
+@@ -6572,292 +6577,317 @@
+ msgid "Expecting 'END INTERFACE %s' at %C"
+ msgstr "需è¦ã€ŒEND INTERFACE %sã€æ–¼ %C 處"
+
+-#: fortran/interface.c:551
++#: fortran/interface.c:563
+ #, fuzzy, no-c-format
+ msgid "Alternate return cannot appear in operator interface at %L"
+ msgstr "變數「%sã€ä¸èƒ½å‡ºç¾åœ¨ %L 處的é‹ç®—å¼ä¸­"
+
+-#: fortran/interface.c:581
++#: fortran/interface.c:593
+ #, no-c-format
+ msgid "Operator interface at %L has the wrong number of arguments"
+ msgstr ""
+
+-#: fortran/interface.c:592
++#: fortran/interface.c:604
+ #, no-c-format
+ msgid "Assignment operator interface at %L must be a SUBROUTINE"
+ msgstr ""
+
+-#: fortran/interface.c:598
++#: fortran/interface.c:610
+ #, fuzzy, no-c-format
+ msgid "Assignment operator interface at %L must have two arguments"
+ msgstr "%L 處é‹ç®—å­ä»‹é¢çš„第一個åƒæ•¸å¿…須是 INTENT(IN)"
+
+-#: fortran/interface.c:608
++#: fortran/interface.c:620
+ #, fuzzy, no-c-format
+ msgid "Assignment operator interface at %L must not redefine an INTRINSIC type assignment"
+ msgstr "%L 處é‹ç®—å­ä»‹é¢çš„第一個åƒæ•¸å¿…須是 INTENT(IN)"
+
+-#: fortran/interface.c:617
++#: fortran/interface.c:629
+ #, no-c-format
+ msgid "Intrinsic operator interface at %L must be a FUNCTION"
+ msgstr ""
+
+-#: fortran/interface.c:627
++#: fortran/interface.c:639
+ #, no-c-format
+ msgid "First argument of defined assignment at %L must be INTENT(IN) or INTENT(INOUT)"
+ msgstr "%L 處定義賦值的第一個åƒæ•¸å¿…須是 INTENT(IN) 或 INTENT(INOUT)"
+
+-#: fortran/interface.c:631
++#: fortran/interface.c:643
+ #, no-c-format
+ msgid "Second argument of defined assignment at %L must be INTENT(IN)"
+ msgstr "%L 處定義賦值的第二個åƒæ•¸å¿…須是 INTENT(IN)"
+
+-#: fortran/interface.c:637 fortran/resolve.c:8807
++#: fortran/interface.c:649 fortran/resolve.c:8998
+ #, no-c-format
+ msgid "First argument of operator interface at %L must be INTENT(IN)"
+ msgstr "%L 處é‹ç®—å­ä»‹é¢çš„第一個åƒæ•¸å¿…須是 INTENT(IN)"
+
+-#: fortran/interface.c:641 fortran/resolve.c:8819
++#: fortran/interface.c:653 fortran/resolve.c:9010
+ #, no-c-format
+ msgid "Second argument of operator interface at %L must be INTENT(IN)"
+ msgstr "%L 處é‹ç®—å­ä»‹é¢çš„第二個åƒæ•¸å¿…須是 INTENT(IN)"
+
+-#: fortran/interface.c:744
++#: fortran/interface.c:756
+ #, no-c-format
+ msgid "Operator interface at %L conflicts with intrinsic interface"
+ msgstr ""
+
+-#: fortran/interface.c:1044
++#: fortran/interface.c:1117
+ #, fuzzy, no-c-format
+ msgid "Procedure '%s' in %s at %L has no explicit interface"
+ msgstr "符號「%sã€åœ¨ %L 處已經有了明確介é¢"
+
+-#: fortran/interface.c:1047
++#: fortran/interface.c:1120
+ #, no-c-format
+ msgid "Procedure '%s' in %s at %L is neither function nor subroutine"
+ msgstr "程åºã€Œ%sã€(在 %s 中,ä½æ–¼ %L) æ—¢ä¸æ˜¯å‡½å¼ä¹Ÿä¸æ˜¯å­è™•ç†åº"
+
+-#: fortran/interface.c:1102 fortran/interface.c:1108
++#: fortran/interface.c:1175 fortran/interface.c:1181
+ #, no-c-format
+ msgid "Ambiguous interfaces '%s' and '%s' in %s at %L"
+ msgstr "有歧義的介é¢ã€Œ%sã€å’Œã€Œ%sã€åœ¨ %s 中,ä½æ–¼ %L"
+
+-#: fortran/interface.c:1144
++#: fortran/interface.c:1217
+ #, fuzzy, no-c-format
+ msgid "'%s' at %L is not a module procedure"
+ msgstr "å稱「%sã€(ä½æ–¼ %C)是一個程åºçš„å稱"
+
+-#: fortran/interface.c:1676
++#: fortran/interface.c:1465 fortran/interface.c:2411
+ #, no-c-format
++msgid "Type/rank mismatch in argument '%s' at %L"
++msgstr "引數「%sã€é¡žåž‹/秩ä¸åŒ¹é…,於 %L 處"
++
++#: fortran/interface.c:1474
++#, fuzzy, no-c-format
++msgid "Type mismatch in argument '%s' at %L; passed %s to %s"
++msgstr "引數「%sã€é¡žåž‹/秩ä¸åŒ¹é…,於 %L 處"
++
++#: fortran/interface.c:1492 fortran/interface.c:1532
++#, fuzzy, no-c-format
++msgid "Rank mismatch in argument '%s' at %L (%d and %d)"
++msgstr "引數「%sã€é¡žåž‹/秩ä¸åŒ¹é…,於 %L 處"
++
++#: fortran/interface.c:1519
++#, fuzzy, no-c-format
++msgid "Fortran 2003: Scalar CHARACTER actual argument with array dummy argument '%s' at %L"
++msgstr "åƒæ•¸ã€Œ%sã€åœ¨ %L 處缺少引數"
++
++#: fortran/interface.c:1544
++#, fuzzy, no-c-format
++msgid "Element of assumed-shaped array passed to dummy argument '%s' at %L"
++msgstr "å‡å®šå¤–形的陣列在 %L 處必須是啞引數"
++
++#: fortran/interface.c:1861
++#, no-c-format
+ msgid "Keyword argument '%s' at %L is not in the procedure"
+ msgstr "在 %L 處的關éµå­—引數ä¸åœ¨ç¨‹åºä¸­"
+
+-#: fortran/interface.c:1684
++#: fortran/interface.c:1869
+ #, no-c-format
+ msgid "Keyword argument '%s' at %L is already associated with another actual argument"
+ msgstr ""
+
+-#: fortran/interface.c:1694
++#: fortran/interface.c:1879
+ #, no-c-format
+ msgid "More actual than formal arguments in procedure call at %L"
+ msgstr ""
+
+-#: fortran/interface.c:1706 fortran/interface.c:1935
++#: fortran/interface.c:1891 fortran/interface.c:2110
+ #, no-c-format
+ msgid "Missing alternate return spec in subroutine call at %L"
+ msgstr ""
+
+-#: fortran/interface.c:1714
++#: fortran/interface.c:1899
+ #, no-c-format
+ msgid "Unexpected alternate return spec in subroutine call at %L"
+ msgstr ""
+
+-#: fortran/interface.c:1729
+-#, fuzzy, no-c-format
+-msgid "Fortran 2003: Scalar CHARACTER actual argument with array dummy argument '%s' at %L"
+-msgstr "åƒæ•¸ã€Œ%sã€åœ¨ %L 處缺少引數"
+-
+-#: fortran/interface.c:1742
++#: fortran/interface.c:1922
+ #, no-c-format
+-msgid "Type/rank mismatch in argument '%s' at %L"
+-msgstr "引數「%sã€é¡žåž‹/秩ä¸åŒ¹é…,於 %L 處"
++msgid "Character length mismatch (%ld/%ld) between actual argument and pointer or allocatable dummy argument '%s' at %L"
++msgstr ""
+
+-#: fortran/interface.c:1758
++#: fortran/interface.c:1929
+ #, no-c-format
+-msgid "Character length mismatch between actual argument and pointer or allocatable dummy argument '%s' at %L"
++msgid "Character length mismatch (%ld/%ld) between actual argument and assumed-shape dummy argument '%s' at %L"
+ msgstr ""
+
+-#: fortran/interface.c:1771
++#: fortran/interface.c:1943
+ #, fuzzy, no-c-format
+ msgid "Character length of actual argument shorter than of dummy argument '%s' (%lu/%lu) at %L"
+ msgstr "åƒæ•¸ã€Œ%sã€åœ¨ %L 處缺少引數"
+
+-#: fortran/interface.c:1776
++#: fortran/interface.c:1948
+ #, no-c-format
+ msgid "Actual argument contains too few elements for dummy argument '%s' (%lu/%lu) at %L"
+ msgstr ""
+
+-#: fortran/interface.c:1790
++#: fortran/interface.c:1962
+ #, fuzzy, no-c-format
+ msgid "Expected a procedure for argument '%s' at %L"
+ msgstr "åƒæ•¸ã€Œ%sã€åœ¨ %L 處缺少引數"
+
+-#: fortran/interface.c:1800
++#: fortran/interface.c:1972
+ #, fuzzy, no-c-format
+ msgid "Expected a PURE procedure for argument '%s' at %L"
+ msgstr "åƒæ•¸ã€Œ%sã€åœ¨ %L 處缺少引數"
+
+-#: fortran/interface.c:1814
++#: fortran/interface.c:1986
+ #, no-c-format
+ msgid "Actual argument for '%s' cannot be an assumed-size array at %L"
+ msgstr ""
+
+-#: fortran/interface.c:1823
++#: fortran/interface.c:1995
+ #, no-c-format
+ msgid "Actual argument for '%s' must be a pointer at %L"
+ msgstr "「%sã€çš„引數在 %L 處必須是一個指標"
+
+-#: fortran/interface.c:1832
++#: fortran/interface.c:2004
+ #, fuzzy, no-c-format
+ msgid "Actual argument for '%s' must be ALLOCATABLE at %L"
+ msgstr "「%sã€çš„引數在 %L 處必須是一個指標"
+
+-#: fortran/interface.c:1843
++#: fortran/interface.c:2017
+ #, no-c-format
+-msgid "Actual argument at %L must be definable to match dummy INTENT = OUT/INOUT"
++msgid "Actual argument at %L must be definable as the dummy argument '%s' is INTENT = OUT/INOUT"
+ msgstr ""
+
+-#: fortran/interface.c:1851
++#: fortran/interface.c:2026
+ #, no-c-format
+ msgid "Actual argument at %L is use-associated with PROTECTED attribute and dummy argument '%s' is INTENT = OUT/INOUT"
+ msgstr ""
+
+-#: fortran/interface.c:1864
++#: fortran/interface.c:2039
+ #, no-c-format
+-msgid "Array-section actual argument with vector subscripts at %L is incompatible with INTENT(IN), 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) or VOLATILE attribute of the dummy argument '%s'"
+ msgstr ""
+
+-#: fortran/interface.c:1881
++#: fortran/interface.c:2056
+ #, no-c-format
+ msgid "Assumed-shape actual argument at %L is incompatible with the non-assumed-shape dummy argument '%s' due to VOLATILE attribute"
+ msgstr ""
+
+-#: fortran/interface.c:1893
++#: fortran/interface.c:2068
+ #, no-c-format
+ msgid "Array-section actual argument at %L is incompatible with the non-assumed-shape dummy argument '%s' due to VOLATILE attribute"
+ msgstr ""
+
+-#: fortran/interface.c:1912
++#: fortran/interface.c:2087
+ #, no-c-format
+ msgid "Pointer-array actual argument at %L requires an assumed-shape or pointer-array dummy argument '%s' due to VOLATILE attribute"
+ msgstr ""
+
+-#: fortran/interface.c:1942
++#: fortran/interface.c:2117
+ #, no-c-format
+ msgid "Missing actual argument for argument '%s' at %L"
+ msgstr "åƒæ•¸ã€Œ%sã€åœ¨ %L 處缺少引數"
+
+-#: fortran/interface.c:2128
++#: fortran/interface.c:2303
+ #, no-c-format
+ msgid "Same actual argument associated with INTENT(%s) argument '%s' and INTENT(%s) argument '%s' at %L"
+ msgstr ""
+
+-#: fortran/interface.c:2184
++#: fortran/interface.c:2359
+ #, no-c-format
+ msgid "Procedure argument at %L is INTENT(IN) while interface specifies INTENT(%s)"
+ msgstr ""
+
+-#: fortran/interface.c:2194
++#: fortran/interface.c:2369
+ #, no-c-format
+ msgid "Procedure argument at %L is local to a PURE procedure and is passed to an INTENT(%s) argument"
+ msgstr ""
+
+-#: fortran/interface.c:2202
++#: fortran/interface.c:2377
+ #, no-c-format
+ msgid "Procedure argument at %L is local to a PURE procedure and has the POINTER attribute"
+ msgstr ""
+
+-#: fortran/interface.c:2225
++#: fortran/interface.c:2400
+ #, no-c-format
+ msgid "Procedure '%s' called with an implicit interface at %L"
+ msgstr "呼å«ç¨‹åºã€Œ%sã€å¸¶éš±å«ä»‹é¢ï¼Œä½æ–¼ %L"
+
+-#: fortran/interface.c:2440
++#: fortran/interface.c:2629
+ #, no-c-format
+ msgid "Function '%s' called in lieu of an operator at %L must be PURE"
+ msgstr ""
+
+-#: fortran/interface.c:2519
++#: fortran/interface.c:2708
+ #, no-c-format
+ msgid "Entity '%s' at %C is already present in the interface"
+ msgstr ""
+
+-#: fortran/intrinsic.c:2918
++#: fortran/intrinsic.c:2923
+ #, no-c-format
+ msgid "Too many arguments in call to '%s' at %L"
+ msgstr "å°ã€Œ%sã€çš„呼å«çµ¦å‡ºçš„åƒæ•¸å¤ªå¤šï¼Œæ–¼ %L 處"
+
+-#: fortran/intrinsic.c:2933
++#: fortran/intrinsic.c:2938
+ #, no-c-format
+ msgid "The argument list functions %%VAL, %%LOC or %%REF are not allowed in this context at %L"
+ msgstr ""
+
+-#: fortran/intrinsic.c:2936
++#: fortran/intrinsic.c:2941
+ #, no-c-format
+ msgid "Can't find keyword named '%s' in call to '%s' at %L"
+ msgstr ""
+
+-#: fortran/intrinsic.c:2943
++#: fortran/intrinsic.c:2948
+ #, no-c-format
+ msgid "Argument '%s' is appears twice in call to '%s' at %L"
+ msgstr ""
+
+-#: fortran/intrinsic.c:2957
++#: fortran/intrinsic.c:2962
+ #, no-c-format
+ msgid "Missing actual argument '%s' in call to '%s' at %L"
+ msgstr "缺少引數「%sã€ï¼Œåœ¨å‘¼å«ã€Œ%sã€æ™‚,ä½æ–¼ %L"
+
+-#: fortran/intrinsic.c:2972
++#: fortran/intrinsic.c:2977
+ #, no-c-format
+ msgid "ALTERNATE RETURN not permitted at %L"
+ msgstr ""
+
+-#: fortran/intrinsic.c:3021
++#: fortran/intrinsic.c:3026
+ #, no-c-format
+ msgid "Type of argument '%s' in call to '%s' at %L should be %s, not %s"
+ msgstr ""
+
+-#: fortran/intrinsic.c:3337
++#: fortran/intrinsic.c:3342
+ #, no-c-format
+ msgid "Intrinsic '%s' at %L is not included in the selected standard"
+ msgstr "內建函å¼ã€Œ%sã€(æ–¼ %L 處)ä¸ç‚ºæ‰€é¸æ“‡çš„標準所包å«"
+
+-#: fortran/intrinsic.c:3450
++#: fortran/intrinsic.c:3398
++#, fuzzy, no-c-format
++msgid "Fortran 2003: Function '%s' as initialization expression at %L"
++msgstr "%C 處需è¦ä¸€å€‹åˆå§‹åŒ–é‹ç®—å¼"
++
++#: fortran/intrinsic.c:3463
+ #, no-c-format
+ msgid "Fortran 2003: Elemental function as initialization expression with non-integer/non-character arguments at %L"
+ msgstr ""
+
+-#: fortran/intrinsic.c:3508
++#: fortran/intrinsic.c:3524
+ #, no-c-format
+ msgid "Subroutine call to intrinsic '%s' at %L is not PURE"
+ msgstr ""
+
+-#: fortran/intrinsic.c:3579
++#: fortran/intrinsic.c:3595
+ #, no-c-format
+ msgid "Extension: Conversion from %s to %s at %L"
+ msgstr "擴充:從 %s 到 %s,ä½æ–¼ %L"
+
+-#: fortran/intrinsic.c:3582
++#: fortran/intrinsic.c:3598
+ #, no-c-format
+ msgid "Conversion from %s to %s at %L"
+ msgstr "從 %s 轉æ›åˆ° %s,ä½æ–¼ %L"
+
+-#: fortran/intrinsic.c:3629
++#: fortran/intrinsic.c:3645
+ #, no-c-format
+ msgid "Can't convert %s to %s at %L"
+ msgstr "ä¸èƒ½å°‡ %s 轉æ›ç‚º %s,於 %L"
+
+-#: fortran/io.c:156 fortran/primary.c:738
++#: fortran/io.c:156 fortran/primary.c:750
+ #, fuzzy, no-c-format
+ msgid "Extension: backslash character at %C"
+ msgstr "擴充:%C 處的 $ æ述符號"
+@@ -7060,7 +7090,7 @@
+ msgid "CLOSE statement not allowed in PURE procedure at %C"
+ msgstr "CLOSE 敘述ä¸å…許出ç¾åœ¨ %C 處的 PURE 程åºä¸­"
+
+-#: fortran/io.c:1955 fortran/match.c:1841
++#: fortran/io.c:1955 fortran/match.c:1911
+ #, no-c-format
+ msgid "%s statement not allowed in PURE procedure at %C"
+ msgstr "OPEN 敘述ä¸å…許出ç¾åœ¨ %C 處的 PURE 程åºä¸­"
+@@ -7075,516 +7105,491 @@
+ msgid "Duplicate UNIT specification at %C"
+ msgstr "%C 處é‡è¤‡çš„ UNIT 指定"
+
+-#: fortran/io.c:2128
++#: fortran/io.c:2132
+ #, no-c-format
+ msgid "Duplicate format specification at %C"
+ msgstr "%C 處é‡è¤‡çš„æ ¼å¼æŒ‡å®š"
+
+-#: fortran/io.c:2145
++#: fortran/io.c:2149
+ #, no-c-format
+ msgid "Symbol '%s' in namelist '%s' is INTENT(IN) at %C"
+ msgstr "符號「%sã€åœ¨å稱清單「%sã€æ˜¯ INTENT(IN),ä½æ–¼ %C"
+
+-#: fortran/io.c:2181
++#: fortran/io.c:2185
+ #, no-c-format
+ msgid "Duplicate NML specification at %C"
+ msgstr "%C 處é‡è¤‡çš„ NML 指定"
+
+-#: fortran/io.c:2190
++#: fortran/io.c:2194
+ #, no-c-format
+ msgid "Symbol '%s' at %C must be a NAMELIST group name"
+ msgstr ""
+
+-#: fortran/io.c:2231
++#: fortran/io.c:2235
+ #, no-c-format
+ msgid "END tag at %C not allowed in output statement"
+ msgstr "%C 處的 END 標記ä¸å…許出ç¾åœ¨è¼¸å‡ºæ•˜è¿°ä¸­"
+
+-#: fortran/io.c:2288
++#: fortran/io.c:2292
+ #, no-c-format
+ msgid "UNIT specification at %L must be an INTEGER expression or a CHARACTER variable"
+ msgstr "%L 處指定的 UNIT 必須是 INTEGER é‹ç®—å¼æˆ–一個 CHARACTER 變數"
+
+-#: fortran/io.c:2297
++#: fortran/io.c:2301
+ #, no-c-format
+ msgid "Internal unit with vector subscript at %L"
+ msgstr ""
+
+-#: fortran/io.c:2304
++#: fortran/io.c:2308
+ #, no-c-format
+ msgid "External IO UNIT cannot be an array at %L"
+ msgstr "%L 處外部 IO UNIT ä¸èƒ½æ˜¯é™£åˆ—"
+
+-#: fortran/io.c:2314
++#: fortran/io.c:2318
+ #, no-c-format
+ msgid "ERR tag label %d at %L not defined"
+ msgstr "ERR 標記標籤 %d 在 %L 處未定義"
+
+-#: fortran/io.c:2326
++#: fortran/io.c:2330
+ #, no-c-format
+ msgid "END tag label %d at %L not defined"
+ msgstr "END 標記標籤 %d 在 %L 處未定義"
+
+-#: fortran/io.c:2338
++#: fortran/io.c:2342
+ #, no-c-format
+ msgid "EOR tag label %d at %L not defined"
+ msgstr "EOR 標記標籤 %d 在 %L 處未定義"
+
+-#: fortran/io.c:2348
++#: fortran/io.c:2352
+ #, no-c-format
+ msgid "FORMAT label %d at %L not defined"
+ msgstr "FORMAT 標籤 %d 在 %L 處未定義"
+
+-#: fortran/io.c:2469
++#: fortran/io.c:2473
+ #, no-c-format
+ msgid "Syntax error in I/O iterator at %C"
+ msgstr "%C 處 I/O 迭代語法錯誤"
+
+-#: fortran/io.c:2500
++#: fortran/io.c:2504
+ #, no-c-format
+ msgid "Expected variable in READ statement at %C"
+ msgstr "%C READ 敘述需è¦è®Šæ•¸"
+
+-#: fortran/io.c:2506
++#: fortran/io.c:2510
+ #, no-c-format
+ msgid "Expected expression in %s statement at %C"
+ msgstr "éœ€è¦ %s 敘述,於 %C 處"
+
+-#: fortran/io.c:2516
++#: fortran/io.c:2520
+ #, no-c-format
+ msgid "Variable '%s' in input list at %C cannot be INTENT(IN)"
+ msgstr ""
+
+-#: fortran/io.c:2525
++#: fortran/io.c:2529
+ #, no-c-format
+ msgid "Cannot read to variable '%s' in PURE procedure at %C"
+ msgstr ""
+
+-#: fortran/io.c:2541
++#: fortran/io.c:2545
+ #, no-c-format
+ msgid "Cannot write to internal file unit '%s' at %C inside a PURE procedure"
+ msgstr ""
+
+ #. A general purpose syntax error.
+-#: fortran/io.c:2602 fortran/io.c:3004 fortran/gfortran.h:1998
++#: fortran/io.c:2606 fortran/io.c:3013 fortran/gfortran.h:2002
+ #, no-c-format
+ msgid "Syntax error in %s statement at %C"
+ msgstr "%s 敘述在 %C 處語法錯誤"
+
+-#: fortran/io.c:2670
++#: fortran/io.c:2679
+ #, fuzzy, no-c-format
+ msgid "Fortran 2003: Internal file at %L with namelist"
+ msgstr "Fortran 2003:%L 處的 IOMSG 標記"
+
+-#: fortran/io.c:2833
++#: fortran/io.c:2842
+ #, no-c-format
+ msgid "PRINT namelist at %C is an extension"
+ msgstr "%C 處的 PRINT å稱清單是一個擴充"
+
+-#: fortran/io.c:2965
++#: fortran/io.c:2974
+ #, fuzzy, no-c-format
+ msgid "Extension: Comma before i/o item list at %C"
+ msgstr "擴充:從 %s 到 %s,ä½æ–¼ %L"
+
+-#: fortran/io.c:2974
++#: fortran/io.c:2983
+ #, no-c-format
+ msgid "Expected comma in I/O list at %C"
+ msgstr "%C 處 I/O 清單中需è¦é€—號"
+
+-#: fortran/io.c:3036
++#: fortran/io.c:3045
+ #, no-c-format
+ msgid "PRINT statement at %C not allowed within PURE procedure"
+ msgstr "%C 處的 PRINT 敘述ä¸å…許出ç¾åœ¨ PURE 程åºä¸­"
+
+-#: fortran/io.c:3176 fortran/io.c:3227
++#: fortran/io.c:3185 fortran/io.c:3236
+ #, no-c-format
+ msgid "INQUIRE statement not allowed in PURE procedure at %C"
+ msgstr "INQUIRE 敘述ä¸å…許出ç¾åœ¨ %C 處的 PURE 程åºä¸­"
+
+-#: fortran/io.c:3203
++#: fortran/io.c:3212
+ #, no-c-format
+ msgid "IOLENGTH tag invalid in INQUIRE statement at %C"
+ msgstr ""
+
+-#: fortran/io.c:3213 fortran/trans-io.c:1144
++#: fortran/io.c:3222 fortran/trans-io.c:1145
+ #, no-c-format
+ msgid "INQUIRE statement at %L cannot contain both FILE and UNIT specifiers"
+ msgstr ""
+
+-#: fortran/io.c:3220
++#: fortran/io.c:3229
+ #, no-c-format
+ msgid "INQUIRE statement at %L requires either FILE or UNIT specifier"
+ msgstr "%L 處的 INQUIRE æ•˜è¿°éœ€è¦ FILE 或 UNIT é™å®šç¬¦"
+
+-#: fortran/match.c:270
++#: fortran/match.c:156
+ #, no-c-format
++msgid "Missing ')' in statement before %L"
++msgstr ""
++
++#: fortran/match.c:161
++#, no-c-format
++msgid "Missing '(' in statement before %L"
++msgstr ""
++
++#: fortran/match.c:332
++#, no-c-format
+ msgid "Integer too large at %C"
+ msgstr "%C 處整數太大"
+
+-#: fortran/match.c:363 fortran/parse.c:442
++#: fortran/match.c:425 fortran/parse.c:589
+ #, no-c-format
+ msgid "Too many digits in statement label at %C"
+ msgstr "%C 處的敘述標籤太多ä½æ•¸"
+
+-#: fortran/match.c:369
++#: fortran/match.c:431
+ #, no-c-format
+ msgid "Statement label at %C is zero"
+ msgstr "%C 處敘述標籤為零"
+
+-#: fortran/match.c:402
++#: fortran/match.c:464
+ #, no-c-format
+ msgid "Label name '%s' at %C is ambiguous"
+ msgstr "標籤å「%sã€åœ¨ %C 處有歧義"
+
+-#: fortran/match.c:408
++#: fortran/match.c:470
+ #, no-c-format
+ msgid "Duplicate construct label '%s' at %C"
+ msgstr "é‡è¤‡çš„建構標籤「%sã€å‡ºç¾åœ¨ %C 處"
+
+-#: fortran/match.c:438
++#: fortran/match.c:500
+ #, fuzzy, no-c-format
+ msgid "Invalid character in name at %C"
+ msgstr "%C 處 BOZ 常數中有無效字元"
+
+-#: fortran/match.c:451 fortran/match.c:523
++#: fortran/match.c:513 fortran/match.c:585
+ #, no-c-format
+ msgid "Name at %C is too long"
+ msgstr "%C çš„å稱太長"
+
+-#: fortran/match.c:506 fortran/match.c:552
++#: fortran/match.c:568 fortran/match.c:614
+ #, no-c-format
+ msgid "Invalid C name in NAME= specifier at %C"
+ msgstr ""
+
+-#: fortran/match.c:543
++#: fortran/match.c:605
+ #, no-c-format
+ msgid "Embedded space in NAME= specifier at %C"
+ msgstr ""
+
+-#: fortran/match.c:868
++#: fortran/match.c:930
+ #, no-c-format
+ msgid "Loop variable at %C cannot be a sub-component"
+ msgstr ""
+
+-#: fortran/match.c:874
++#: fortran/match.c:936
+ #, no-c-format
+ msgid "Loop variable '%s' at %C cannot be INTENT(IN)"
+ msgstr "循環變數「%sã€åœ¨ %C 處ä¸èƒ½æ˜¯ INTENT(IN)"
+
+-#: fortran/match.c:907
++#: fortran/match.c:969
+ #, no-c-format
+ msgid "Expected a step value in iterator at %C"
+ msgstr ""
+
+-#: fortran/match.c:919
++#: fortran/match.c:981
+ #, no-c-format
+ msgid "Syntax error in iterator at %C"
+ msgstr "%C 處迭代語法錯誤"
+
+-#: fortran/match.c:1155
++#: fortran/match.c:1217
+ #, no-c-format
+ msgid "Invalid form of PROGRAM statement at %C"
+ msgstr "%C 處 PROGRAM 敘述格å¼ç„¡æ•ˆ"
+
+-#: fortran/match.c:1196
++#: fortran/match.c:1258
+ #, no-c-format
+ msgid "Setting value of PROTECTED variable at %C"
+ msgstr ""
+
+-#: fortran/match.c:1249
++#: fortran/match.c:1311
+ #, no-c-format
+ msgid "Assigning to a PROTECTED pointer at %C"
+ msgstr ""
+
+-#: fortran/match.c:1292 fortran/match.c:1365
++#: fortran/match.c:1354 fortran/match.c:1435
+ #, fuzzy, no-c-format
+ msgid "Obsolescent: arithmetic IF statement at %C"
+ msgstr "å·²éŽæ™‚:%C 處的算術 IF 敘述"
+
+-#: fortran/match.c:1340
++#: fortran/match.c:1410
+ #, no-c-format
+ msgid "Syntax error in IF-expression at %C"
+ msgstr "%C 處 IF é‹ç®—å¼èªžæ³•éŒ¯èª¤"
+
+-#: fortran/match.c:1351
++#: fortran/match.c:1421
+ #, no-c-format
+ msgid "Block label not appropriate for arithmetic IF statement at %C"
+ msgstr ""
+
+-#: fortran/match.c:1389
+-#, no-c-format
+-msgid "Block label is not appropriate IF statement at %C"
+-msgstr ""
++#: fortran/match.c:1459
++#, fuzzy, no-c-format
++msgid "Block label is not appropriate for IF statement at %C"
++msgstr "需è¦æ¨™ç±¤ã€Œ%sã€ï¼Œç‚º %s 敘述,於 %C"
+
+-#: fortran/match.c:1468 fortran/primary.c:2522
++#: fortran/match.c:1538 fortran/primary.c:2559
+ #, fuzzy, no-c-format
+ msgid "Cannot assign to a named constant at %C"
+ msgstr "%C 處é‚輯常數的種別錯誤"
+
+-#: fortran/match.c:1478
++#: fortran/match.c:1548
+ #, no-c-format
+ msgid "Unclassifiable statement in IF-clause at %C"
+ msgstr "%C 處 IF å­å¥ä¸­æœ‰ç„¡æ³•æ­¸é¡žåˆ¥çš„敘述"
+
+-#: fortran/match.c:1485
++#: fortran/match.c:1555
+ #, no-c-format
+ msgid "Syntax error in IF-clause at %C"
+ msgstr "%C 處 IF 敘述語法錯誤"
+
+-#: fortran/match.c:1529
++#: fortran/match.c:1599
+ #, no-c-format
+ msgid "Unexpected junk after ELSE statement at %C"
+ msgstr "%C 處 ELSE 敘述後有éžé æœŸçš„無用字元"
+
+-#: fortran/match.c:1535 fortran/match.c:1570
++#: fortran/match.c:1605 fortran/match.c:1640
+ #, no-c-format
+ msgid "Label '%s' at %C doesn't match IF label '%s'"
+ msgstr ""
+
+-#: fortran/match.c:1564
++#: fortran/match.c:1634
+ #, no-c-format
+ msgid "Unexpected junk after ELSE IF statement at %C"
+ msgstr ""
+
+-#: fortran/match.c:1727
++#: fortran/match.c:1797
+ #, no-c-format
+ msgid "Name '%s' in %s statement at %C is not a loop name"
+ msgstr "DATA 敘述ä¸å…許出ç¾åœ¨ %C 處 %s 敘述中的å稱「%sã€ä¸æ˜¯å€‹è¿´åœˆå稱"
+
+-#: fortran/match.c:1743
++#: fortran/match.c:1813
+ #, no-c-format
+ msgid "%s statement at %C is not within a loop"
+ msgstr "%s 敘述在 %C 處ä¸åœ¨å¾ªç’°å…§"
+
+-#: fortran/match.c:1746
++#: fortran/match.c:1816
+ #, no-c-format
+ msgid "%s statement at %C is not within loop '%s'"
+ msgstr "%s 敘述在 %C 處ä¸åœ¨å¾ªç’°ã€Œ%sã€å…§"
+
+-#: fortran/match.c:1754
++#: fortran/match.c:1824
+ #, fuzzy, no-c-format
+ msgid "%s statement at %C leaving OpenMP structured block"
+ msgstr "%s 敘述在 %C 處ä¸åœ¨å¾ªç’°å…§"
+
+-#: fortran/match.c:1767
++#: fortran/match.c:1837
+ #, fuzzy, no-c-format
+ msgid "EXIT statement at %C terminating !$OMP DO loop"
+ msgstr "%C 處的 ENTRY 敘述ä¸èƒ½å‡ºç¾åœ¨ DO 中"
+
+-#: fortran/match.c:1819
++#: fortran/match.c:1889
+ #, no-c-format
+ msgid "Too many digits in STOP code at %C"
+ msgstr "%C 處 STOP 碼中太多ä½æ•¸"
+
+-#: fortran/match.c:1872
++#: fortran/match.c:1942
+ #, fuzzy, no-c-format
+ msgid "Deleted feature: PAUSE statement at %C"
+ msgstr "å·²éŽæ™‚:%C 處的 PAUSE 敘述"
+
+-#: fortran/match.c:1920
++#: fortran/match.c:1990
+ #, fuzzy, no-c-format
+ msgid "Deleted feature: ASSIGN statement at %C"
+ msgstr "å·²éŽæ™‚:%C 處的 ASSIGN 敘述"
+
+-#: fortran/match.c:1966
++#: fortran/match.c:2036
+ #, fuzzy, no-c-format
+ msgid "Deleted feature: Assigned GOTO statement at %C"
+ msgstr "å·²éŽæ™‚:%C 處賦值 GOTO 敘述"
+
+-#: fortran/match.c:2013 fortran/match.c:2065
++#: fortran/match.c:2083 fortran/match.c:2135
+ #, no-c-format
+ msgid "Statement label list in GOTO at %C cannot be empty"
+ msgstr ""
+
+-#: fortran/match.c:2149
++#: fortran/match.c:2219
+ #, no-c-format
+ msgid "Bad allocate-object in ALLOCATE statement at %C for a PURE procedure"
+ msgstr ""
+
+-#: fortran/match.c:2173
++#: fortran/match.c:2287
+ #, no-c-format
+-msgid "STAT variable '%s' of ALLOCATE statement at %C cannot be INTENT(IN)"
+-msgstr ""
+-
+-#: fortran/match.c:2180
+-#, no-c-format
+-msgid "Illegal STAT variable in ALLOCATE statement at %C for a PURE procedure"
+-msgstr ""
+-
+-#: fortran/match.c:2218 fortran/match.c:2382
+-#, no-c-format
+-msgid "STAT expression at %C must be a variable"
+-msgstr "%C 處的 STAT é‹ç®—å¼å¿…須是一個變數"
+-
+-#: fortran/match.c:2272
+-#, no-c-format
+ msgid "Illegal variable in NULLIFY at %C for a PURE procedure"
+ msgstr ""
+
+-#: fortran/match.c:2349
++#: fortran/match.c:2364
+ #, no-c-format
+ msgid "Illegal deallocate-expression in DEALLOCATE at %C for a PURE procedure"
+ msgstr ""
+
+-#: fortran/match.c:2368
++#: fortran/match.c:2417
+ #, no-c-format
+-msgid "STAT variable '%s' of DEALLOCATE statement at %C cannot be INTENT(IN)"
+-msgstr ""
+-
+-#: fortran/match.c:2375
+-#, no-c-format
+-msgid "Illegal STAT variable in DEALLOCATE statement at %C for a PURE procedure"
+-msgstr ""
+-
+-#: fortran/match.c:2424
+-#, no-c-format
+ msgid "Alternate RETURN statement at %C is only allowed within a SUBROUTINE"
+ msgstr "%C 處的替代 RETURN 敘述åªå…許出ç¾åœ¨ SUBROUTINE 中"
+
+-#: fortran/match.c:2455
++#: fortran/match.c:2448
+ #, no-c-format
+ msgid "Extension: RETURN statement in main program at %C"
+ msgstr ""
+
+-#: fortran/match.c:2665
++#: fortran/match.c:2658
+ #, no-c-format
+ msgid "Syntax error in common block name at %C"
+ msgstr "%C 處公共塊å語法錯誤"
+
+-#: fortran/match.c:2701
++#: fortran/match.c:2694
+ #, no-c-format
+ msgid "Symbol '%s' at %C is already an external symbol that is not COMMON"
+ msgstr "符號「%sã€åœ¨ %C è™•å·²ç¶“æ˜¯å¤–éƒ¨è€Œéž COMMON 符號"
+
+-#: fortran/match.c:2719
+-#, no-c-format
+-msgid "BLOCK DATA unit cannot contain blank COMMON at %C"
+-msgstr ""
+-
+ #. If we find an error, just print it and continue,
+ #. cause it's just semantic, and we can see if there
+ #. are more errors.
+-#: fortran/match.c:2765
++#: fortran/match.c:2753
+ #, no-c-format
+ msgid "Variable '%s' at %L in common block '%s' at %C must be declared with a C interoperable kind since common block '%s' is bind(c)"
+ msgstr ""
+
+-#: fortran/match.c:2774
++#: fortran/match.c:2762
+ #, no-c-format
+ msgid "Variable '%s' in common block '%s' at %C can not be bind(c) since it is not global"
+ msgstr ""
+
+-#: fortran/match.c:2781
++#: fortran/match.c:2769
+ #, no-c-format
+ msgid "Symbol '%s' at %C is already in a COMMON block"
+ msgstr ""
+
+-#: fortran/match.c:2793
++#: fortran/match.c:2777
+ #, no-c-format
+-msgid "Previously initialized symbol '%s' in blank COMMON block at %C"
++msgid "Initialized symbol '%s' at %C can only be COMMON in BLOCK DATA"
+ msgstr ""
+
+-#: fortran/match.c:2796
++#: fortran/match.c:2804
+ #, no-c-format
+-msgid "Previously initialized symbol '%s' in COMMON block '%s' at %C"
+-msgstr ""
+-
+-#: fortran/match.c:2821
+-#, no-c-format
+ msgid "Array specification for symbol '%s' in COMMON at %C must be explicit"
+ msgstr ""
+
+-#: fortran/match.c:2831
++#: fortran/match.c:2814
+ #, no-c-format
+ msgid "Symbol '%s' in COMMON at %C cannot be a POINTER array"
+ msgstr ""
+
+-#: fortran/match.c:2863
++#: fortran/match.c:2846
+ #, no-c-format
+ msgid "Symbol '%s', in COMMON block '%s' at %C is being indirectly equivalenced to another COMMON block '%s'"
+ msgstr ""
+
+-#: fortran/match.c:2971
++#: fortran/match.c:2954
+ #, no-c-format
+ msgid "Namelist group name '%s' at %C already has a basic type of %s"
+ msgstr ""
+
+-#: fortran/match.c:2979
++#: fortran/match.c:2962
+ #, no-c-format
+ msgid "Namelist group name '%s' at %C already is USE associated and cannot be respecified."
+ msgstr ""
+
+-#: fortran/match.c:3006
++#: fortran/match.c:2989
+ #, fuzzy, no-c-format
+ msgid "Assumed size array '%s' in namelist '%s' at %C is not allowed"
+ msgstr "%3$C 處å稱清單「%2$sã€ä¸­å‡å®šçš„大å°é™£åˆ—「%1$sã€ä¸è¢«å…許。"
+
+-#: fortran/match.c:3013
++#: fortran/match.c:2996
+ #, fuzzy, no-c-format
+ msgid "Assumed character length '%s' in namelist '%s' at %C is not allowed"
+ msgstr "%3$C 處å稱清單「%2$sã€ä¸­å‡å®šçš„大å°é™£åˆ—「%1$sã€ä¸è¢«å…許。"
+
+-#: fortran/match.c:3140
++#: fortran/match.c:3123
+ #, no-c-format
+ msgid "Derived type component %C is not a permitted EQUIVALENCE member"
+ msgstr ""
+
+-#: fortran/match.c:3148
++#: fortran/match.c:3131
+ #, no-c-format
+ msgid "Array reference in EQUIVALENCE at %C cannot be an array section"
+ msgstr ""
+
+-#: fortran/match.c:3176
++#: fortran/match.c:3159
+ #, no-c-format
+ msgid "EQUIVALENCE at %C requires two or more objects"
+ msgstr ""
+
+-#: fortran/match.c:3190
++#: fortran/match.c:3173
+ #, no-c-format
+ msgid "Attempt to indirectly overlap COMMON blocks %s and %s by EQUIVALENCE at %C"
+ msgstr ""
+
+-#: fortran/match.c:3351
++#: fortran/match.c:3299
+ #, no-c-format
+ msgid "Statement function at %L is recursive"
+ msgstr "%L 處的敘述函å¼æ˜¯éžè¿´çš„"
+
+-#: fortran/match.c:3439
++#: fortran/match.c:3387
+ #, no-c-format
+ msgid "Expected initialization expression in CASE at %C"
+ msgstr "%C 處 CASE 中需è¦åˆå§‹åŒ–é‹ç®—å¼"
+
+-#: fortran/match.c:3462
++#: fortran/match.c:3410
+ #, fuzzy, no-c-format
+ msgid "Expected the name of the SELECT CASE construct at %C"
+ msgstr "%C 處需è¦ã€Œ%sã€çš„ case å"
+
+-#: fortran/match.c:3474
++#: fortran/match.c:3422
+ #, no-c-format
+ msgid "Expected case name of '%s' at %C"
+ msgstr "%C 處需è¦ã€Œ%sã€çš„ case å"
+
+-#: fortran/match.c:3518
++#: fortran/match.c:3466
+ #, no-c-format
+ msgid "Unexpected CASE statement at %C"
+ msgstr "%C 處éžé æœŸçš„ CASE 敘述"
+
+-#: fortran/match.c:3570
++#: fortran/match.c:3518
+ #, no-c-format
+ msgid "Syntax error in CASE-specification at %C"
+ msgstr "%C CASE 指定語法錯誤"
+
+-#: fortran/match.c:3690
++#: fortran/match.c:3638
+ #, no-c-format
+ msgid "ELSEWHERE statement at %C not enclosed in WHERE block"
+ msgstr ""
+
+-#: fortran/match.c:3728
++#: fortran/match.c:3676
+ #, no-c-format
+ msgid "Label '%s' at %C doesn't match WHERE label '%s'"
+ msgstr ""
+
+-#: fortran/match.c:3828
++#: fortran/match.c:3776
+ #, no-c-format
+ msgid "Syntax error in FORALL iterator at %C"
+ msgstr "%C 處 FORALL 迭代語法錯誤"
+@@ -7614,7 +7619,8 @@
+ msgid "Expected exponent in expression at %C"
+ msgstr "%C 處é‹ç®—å¼ä¸­éœ€è¦æŒ‡æ•¸éƒ¨åˆ†"
+
+-#: fortran/matchexp.c:348 fortran/matchexp.c:452
++#: fortran/matchexp.c:350 fortran/matchexp.c:355 fortran/matchexp.c:459
++#: fortran/matchexp.c:464
+ #, no-c-format
+ msgid "Extension: Unary operator following arithmetic operator (use parentheses) at %C"
+ msgstr ""
+@@ -7739,123 +7745,123 @@
+ msgid "Expected real string"
+ msgstr "需è¦å¯¦æ•¸å­—串"
+
+-#: fortran/module.c:2722
++#: fortran/module.c:2730
+ msgid "Expected expression type"
+ msgstr "需è¦é‹ç®—å¼é¡žåž‹"
+
+-#: fortran/module.c:2776
++#: fortran/module.c:2784
+ msgid "Bad operator"
+ msgstr "錯誤的é‹ç®—å­"
+
+-#: fortran/module.c:2861
++#: fortran/module.c:2869
+ msgid "Bad type in constant expression"
+ msgstr "常數é‹ç®—å¼ä¸­é¡žåž‹éŒ¯èª¤"
+
+-#: fortran/module.c:2898
++#: fortran/module.c:2906
+ #, no-c-format
+ msgid "Namelist %s cannot be renamed by USE association to %s"
+ msgstr ""
+
+-#: fortran/module.c:3723
++#: fortran/module.c:3847
+ #, no-c-format
+ msgid "Symbol '%s' referenced at %L not found in module '%s'"
+ msgstr ""
+
+-#: fortran/module.c:3730
++#: fortran/module.c:3854
+ #, no-c-format
+ msgid "User operator '%s' referenced at %L not found in module '%s'"
+ msgstr ""
+
+-#: fortran/module.c:3735
++#: fortran/module.c:3859
+ #, no-c-format
+ msgid "Intrinsic operator '%s' referenced at %L not found in module '%s'"
+ msgstr ""
+
+-#: fortran/module.c:4213
++#: fortran/module.c:4400
+ #, no-c-format
+ msgid "Can't open module file '%s' for writing at %C: %s"
+ msgstr "無法開啟模組檔案「%sã€å¯«å…¥ï¼Œåœ¨ %C 處:%s"
+
+-#: fortran/module.c:4251
++#: fortran/module.c:4438
+ #, no-c-format
+ msgid "Error writing module file '%s' for writing: %s"
+ msgstr "寫入模組檔案「%sã€æ™‚發生錯誤:%s"
+
+-#: fortran/module.c:4281 fortran/module.c:4363
++#: fortran/module.c:4468 fortran/module.c:4550
+ #, no-c-format
+ msgid "Symbol '%s' referenced at %L does not exist in intrinsic module ISO_C_BINDING."
+ msgstr ""
+
+-#: fortran/module.c:4394
++#: fortran/module.c:4581
+ #, no-c-format
+ msgid "Symbol '%s' referenced at %L not found in intrinsic module ISO_C_BINDING"
+ msgstr ""
+
+-#: fortran/module.c:4416
++#: fortran/module.c:4603
+ #, fuzzy, no-c-format
+ msgid "Symbol '%s' already declared"
+ msgstr "元件「%sã€åœ¨ %C 處已經於 %L 處被宣告"
+
+-#: fortran/module.c:4471
++#: fortran/module.c:4658
+ #, no-c-format
+ msgid "Use of intrinsic module '%s' at %C conflicts with non-intrinsic module name used previously"
+ msgstr ""
+
+-#: fortran/module.c:4484
++#: fortran/module.c:4671
+ #, no-c-format
+ msgid "Symbol '%s' referenced at %L does not exist in intrinsic module ISO_FORTRAN_ENV"
+ msgstr ""
+
+-#: fortran/module.c:4492
++#: fortran/module.c:4679
+ #, no-c-format
+ msgid "Use of the NUMERIC_STORAGE_SIZE named constant from intrinsic module ISO_FORTRAN_ENV at %L is incompatible with option %s"
+ msgstr ""
+
+-#: fortran/module.c:4520
++#: fortran/module.c:4707
+ #, no-c-format
+ msgid "Use of the NUMERIC_STORAGE_SIZE named constant from intrinsic module ISO_FORTRAN_ENV at %C is incompatible with option %s"
+ msgstr ""
+
+-#: fortran/module.c:4536
++#: fortran/module.c:4723
+ #, no-c-format
+ msgid "Symbol '%s' referenced at %L not found in intrinsic module ISO_FORTRAN_ENV"
+ msgstr ""
+
+-#: fortran/module.c:4569
++#: fortran/module.c:4756
+ #, no-c-format
+ msgid "Fortran 2003: ISO_FORTRAN_ENV intrinsic module at %C"
+ msgstr ""
+
+-#: fortran/module.c:4577
++#: fortran/module.c:4764
+ #, fuzzy, no-c-format
+ msgid "Fortran 2003: ISO_C_BINDING module at %C"
+ msgstr "Fortran 2003:%L 處的 IOMSG 標記"
+
+-#: fortran/module.c:4587
++#: fortran/module.c:4774
+ #, no-c-format
+ msgid "Can't find an intrinsic module named '%s' at %C"
+ msgstr ""
+
+-#: fortran/module.c:4592
++#: fortran/module.c:4779
+ #, no-c-format
+ msgid "Can't open module file '%s' for reading at %C: %s"
+ msgstr "無法開啟模組檔案「%sã€è®€å–,在 %C 處:%s"
+
+-#: fortran/module.c:4600
++#: fortran/module.c:4787
+ #, no-c-format
+ msgid "Use of non-intrinsic module '%s' at %C conflicts with intrinsic module name used previously"
+ msgstr ""
+
+-#: fortran/module.c:4615
++#: fortran/module.c:4802
+ msgid "Unexpected end of module"
+ msgstr "éžé æœŸçš„模組çµæŸ"
+
+-#: fortran/module.c:4620
++#: fortran/module.c:4807
+ #, no-c-format
+ msgid "File '%s' opened at %C is not a GFORTRAN module file"
+ msgstr ""
+
+-#: fortran/module.c:4630
++#: fortran/module.c:4817
+ #, no-c-format
+ msgid "Can't USE the same module we're building!"
+ msgstr ""
+@@ -7885,7 +7891,7 @@
+ msgid "Syntax error in !$OMP THREADPRIVATE list at %C"
+ msgstr "%C 的 CHARACTER 宣告語法錯誤"
+
+-#: fortran/openmp.c:696 fortran/resolve.c:5822 fortran/resolve.c:6133
++#: fortran/openmp.c:696 fortran/resolve.c:5970 fortran/resolve.c:6317
+ #, no-c-format
+ msgid "IF clause at %L requires a scalar LOGICAL expression"
+ msgstr ""
+@@ -8181,299 +8187,299 @@
+ msgid "Maximum subrecord length cannot exceed %d"
+ msgstr ""
+
+-#: fortran/parse.c:304
++#: fortran/parse.c:451
+ #, no-c-format
+ msgid "Unclassifiable statement at %C"
+ msgstr "%C 敘述無法歸類別"
+
+-#: fortran/parse.c:328
++#: fortran/parse.c:475
+ #, fuzzy, no-c-format
+ msgid "OpenMP directives at %C may not appear in PURE or ELEMENTAL procedures"
+ msgstr "在 %L 處的啞程åºä¸å…許出ç¾åœ¨ ELEMENTAL 程åºä¸­"
+
+-#: fortran/parse.c:406
++#: fortran/parse.c:553
+ #, fuzzy, no-c-format
+ msgid "Unclassifiable OpenMP directive at %C"
+ msgstr "%C 敘述無法歸類別"
+
+-#: fortran/parse.c:445 fortran/parse.c:586
++#: fortran/parse.c:592 fortran/parse.c:733
+ #, no-c-format
+ msgid "Zero is not a valid statement label at %C"
+ msgstr "零ä¸æ˜¯ %C 處的一個有效的敘述標籤"
+
+-#: fortran/parse.c:452 fortran/parse.c:578
++#: fortran/parse.c:599 fortran/parse.c:725
+ #, no-c-format
+ msgid "Non-numeric character in statement label at %C"
+ msgstr ""
+
+-#: fortran/parse.c:464 fortran/parse.c:500 fortran/parse.c:626
++#: fortran/parse.c:611 fortran/parse.c:647 fortran/parse.c:773
+ #, no-c-format
+ msgid "Semicolon at %C needs to be preceded by statement"
+ msgstr ""
+
+-#: fortran/parse.c:472 fortran/parse.c:638
++#: fortran/parse.c:619 fortran/parse.c:785
+ #, no-c-format
+ msgid "Ignoring statement label in empty statement at %C"
+ msgstr ""
+
+-#: fortran/parse.c:565 fortran/parse.c:605
++#: fortran/parse.c:712 fortran/parse.c:752
+ #, no-c-format
+ msgid "Bad continuation line at %C"
+ msgstr "%C 處錯誤的續列"
+
+-#: fortran/parse.c:664
++#: fortran/parse.c:811
+ #, no-c-format
+ msgid "Line truncated at %C"
+ msgstr "列在 %C 處被截斷"
+
+-#: fortran/parse.c:841
++#: fortran/parse.c:997
+ #, no-c-format
+ msgid "FORMAT statement at %L does not have a statement label"
+ msgstr "%L 處 FORMAT 敘述沒有敘述標籤"
+
+-#: fortran/parse.c:913
++#: fortran/parse.c:1069
+ msgid "arithmetic IF"
+ msgstr "ç®—è¡“ IF"
+
+-#: fortran/parse.c:919
++#: fortran/parse.c:1075
+ msgid "attribute declaration"
+ msgstr "屬性宣告"
+
+-#: fortran/parse.c:949
++#: fortran/parse.c:1105
+ msgid "data declaration"
+ msgstr "資料宣告"
+
+-#: fortran/parse.c:958
++#: fortran/parse.c:1114
+ msgid "derived type declaration"
+ msgstr "è¡ç”Ÿçš„類型宣告"
+
+-#: fortran/parse.c:1037
++#: fortran/parse.c:1193
+ msgid "block IF"
+ msgstr "å€å¡Š IF"
+
+-#: fortran/parse.c:1046
++#: fortran/parse.c:1202
+ msgid "implied END DO"
+ msgstr "暗示的 END DO"
+
+-#: fortran/parse.c:1119
++#: fortran/parse.c:1275
+ msgid "assignment"
+ msgstr "賦值"
+
+-#: fortran/parse.c:1122
++#: fortran/parse.c:1278
+ msgid "pointer assignment"
+ msgstr "指標賦值"
+
+-#: fortran/parse.c:1131
++#: fortran/parse.c:1287
+ msgid "simple IF"
+ msgstr "簡單的 IF"
+
+-#: fortran/parse.c:1347
++#: fortran/parse.c:1503
+ #, no-c-format
+ msgid "Unexpected %s statement at %C"
+ msgstr "éžé æœŸçš„ %s 敘述於 %C 處"
+
+-#: fortran/parse.c:1486
++#: fortran/parse.c:1642
+ #, no-c-format
+ msgid "%s statement at %C cannot follow %s statement at %L"
+ msgstr "%s 敘述在 %C 處ä¸èƒ½è·Ÿéš¨ %s 敘述在 %L 處"
+
+-#: fortran/parse.c:1503
++#: fortran/parse.c:1659
+ #, no-c-format
+ msgid "Unexpected end of file in '%s'"
+ msgstr "「%sã€ä¸­éžé æœŸçš„檔案çµå°¾"
+
+-#: fortran/parse.c:1558
++#: fortran/parse.c:1714
+ #, no-c-format
+ msgid "Fortran 2003: Derived type definition at %C without components"
+ msgstr ""
+
+-#: fortran/parse.c:1569
++#: fortran/parse.c:1725
+ #, no-c-format
+ msgid "PRIVATE statement in TYPE at %C must be inside a MODULE"
+ msgstr ""
+
+-#: fortran/parse.c:1577
++#: fortran/parse.c:1733
+ #, no-c-format
+ msgid "PRIVATE statement at %C must precede structure components"
+ msgstr ""
+
+-#: fortran/parse.c:1585
++#: fortran/parse.c:1741
+ #, no-c-format
+ msgid "Duplicate PRIVATE statement at %C"
+ msgstr "%C 處é‡è¤‡çš„ PRIVATE 敘述"
+
+-#: fortran/parse.c:1597
++#: fortran/parse.c:1753
+ #, no-c-format
+ msgid "SEQUENCE statement at %C must precede structure components"
+ msgstr ""
+
+-#: fortran/parse.c:1604
++#: fortran/parse.c:1760
+ #, no-c-format
+ msgid "SEQUENCE attribute at %C already specified in TYPE statement"
+ msgstr ""
+
+-#: fortran/parse.c:1609
++#: fortran/parse.c:1765
+ #, no-c-format
+ msgid "Duplicate SEQUENCE statement at %C"
+ msgstr "%C 處é‡è¤‡çš„ SEQUENCE 敘述"
+
+-#: fortran/parse.c:1700
++#: fortran/parse.c:1856
+ #, no-c-format
+ msgid "ENUM declaration at %C has no ENUMERATORS"
+ msgstr ""
+
+-#: fortran/parse.c:1778
++#: fortran/parse.c:1934
+ #, no-c-format
+ msgid "Unexpected %s statement in INTERFACE block at %C"
+ msgstr "éžé æœŸçš„ %s 敘述出ç¾åœ¨ %C 處的 INTERFACE å€å¡Šä¸­"
+
+-#: fortran/parse.c:1804
++#: fortran/parse.c:1960
+ #, no-c-format
+ msgid "SUBROUTINE at %C does not belong in a generic function interface"
+ msgstr ""
+
+-#: fortran/parse.c:1808
++#: fortran/parse.c:1964
+ #, no-c-format
+ msgid "FUNCTION at %C does not belong in a generic subroutine interface"
+ msgstr ""
+
+-#: fortran/parse.c:1818
++#: fortran/parse.c:1974
+ #, fuzzy, no-c-format
+ msgid "Name '%s' of ABSTRACT INTERFACE at %C cannot be the same as an intrinsic type"
+ msgstr "類型「%sã€(ä½æ–¼ %C)ä¸èƒ½èˆ‡å…§å»ºé¡žåž‹åŒå"
+
+-#: fortran/parse.c:1849
++#: fortran/parse.c:2005
+ #, no-c-format
+ msgid "Unexpected %s statement at %C in INTERFACE body"
+ msgstr "éžé æœŸçš„ %s 敘述出ç¾åœ¨ %C 處的 INTERFACE 體中"
+
+-#: fortran/parse.c:1863
++#: fortran/parse.c:2019
+ #, fuzzy, no-c-format
+ msgid "INTERFACE procedure '%s' at %L has the same name as the enclosing procedure"
+ msgstr "å稱「%sã€(ä½æ–¼ %C)是一個程åºçš„å稱"
+
+-#: fortran/parse.c:1958
++#: fortran/parse.c:2134
+ #, no-c-format
+ msgid "%s statement must appear in a MODULE"
+ msgstr "%s 敘述必須出ç¾åœ¨ MODULE 中"
+
+-#: fortran/parse.c:1965
++#: fortran/parse.c:2141
+ #, no-c-format
+ msgid "%s statement at %C follows another accessibility specification"
+ msgstr ""
+
+-#: fortran/parse.c:2015
++#: fortran/parse.c:2191
+ #, fuzzy, no-c-format
+ msgid "Bad kind expression for function '%s' at %L"
+ msgstr "函å¼ã€Œ%sã€åœ¨ %C 處缺少åƒæ•¸æ¸…å–®"
+
+-#: fortran/parse.c:2018
++#: fortran/parse.c:2195
+ #, fuzzy, no-c-format
+ msgid "The type for function '%s' at %L is not accessible"
+ msgstr "通用函å¼ã€Œ%sã€(æ–¼ %L 處)ä¸æ˜¯ä¸€å€‹å…§å»ºå‡½å¼"
+
+-#: fortran/parse.c:2070
++#: fortran/parse.c:2253
+ #, no-c-format
+ msgid "ELSEWHERE statement at %C follows previous unmasked ELSEWHERE"
+ msgstr ""
+
+-#: fortran/parse.c:2091
++#: fortran/parse.c:2274
+ #, no-c-format
+ msgid "Unexpected %s statement in WHERE block at %C"
+ msgstr "éžé æœŸçš„ %s 敘述出ç¾åœ¨ %C 處的 WHERE å€å¡Šä¸­"
+
+-#: fortran/parse.c:2150
++#: fortran/parse.c:2333
+ #, no-c-format
+ msgid "Unexpected %s statement in FORALL block at %C"
+ msgstr "éžé æœŸçš„ %s 敘述出ç¾åœ¨ %C 處的 FORALL å€å¡Šä¸­"
+
+-#: fortran/parse.c:2201
++#: fortran/parse.c:2384
+ #, no-c-format
+ msgid "ELSE IF statement at %C cannot follow ELSE statement at %L"
+ msgstr "%C 處的 ELSE IF 敘述ä¸èƒ½å‡ºç¾åœ¨ %L 處的 ELSE 敘述之後"
+
+-#: fortran/parse.c:2219
++#: fortran/parse.c:2402
+ #, no-c-format
+ msgid "Duplicate ELSE statements at %L and %C"
+ msgstr "%L å’Œ %C 處é‡è¤‡çš„ ELSE 敘述"
+
+-#: fortran/parse.c:2280
++#: fortran/parse.c:2463
+ #, no-c-format
+ msgid "Expected a CASE or END SELECT statement following SELECT CASE at %C"
+ msgstr ""
+
+-#: fortran/parse.c:2338
++#: fortran/parse.c:2521
+ #, no-c-format
+ msgid "Variable '%s' at %C cannot be redefined inside loop beginning at %L"
+ msgstr ""
+
+-#: fortran/parse.c:2372
++#: fortran/parse.c:2555
+ #, no-c-format
+ msgid "End of nonblock DO statement at %C is within another block"
+ msgstr ""
+
+-#: fortran/parse.c:2381
++#: fortran/parse.c:2564
+ #, no-c-format
+ msgid "End of nonblock DO statement at %C is interwoven with another DO loop"
+ msgstr ""
+
+-#: fortran/parse.c:2430
++#: fortran/parse.c:2613
+ #, no-c-format
+ msgid "Statement label in ENDDO at %C doesn't match DO label"
+ msgstr ""
+
+-#: fortran/parse.c:2446
++#: fortran/parse.c:2629
+ #, no-c-format
+ msgid "named block DO at %L requires matching ENDDO name"
+ msgstr ""
+
+-#: fortran/parse.c:2702
++#: fortran/parse.c:2885
+ #, no-c-format
+ msgid "Name after !$omp critical and !$omp end critical does not match at %C"
+ msgstr ""
+
+-#: fortran/parse.c:2758
++#: fortran/parse.c:2941
+ #, no-c-format
+ msgid "%s statement at %C cannot terminate a non-block DO loop"
+ msgstr ""
+
+-#: fortran/parse.c:2943
++#: fortran/parse.c:3126
+ #, no-c-format
+ msgid "Contained procedure '%s' at %C is already ambiguous"
+ msgstr ""
+
+-#: fortran/parse.c:2993
++#: fortran/parse.c:3176
+ #, no-c-format
+ msgid "Unexpected %s statement in CONTAINS section at %C"
+ msgstr "éžé æœŸçš„ %s 敘述出ç¾åœ¨ %C 處的 CONTAINS 段中"
+
+ #. This is valid in Fortran 2008.
+-#: fortran/parse.c:3018
++#: fortran/parse.c:3201
+ #, no-c-format
+ msgid "Extension: CONTAINS statement without FUNCTION or SUBROUTINE statement at %C"
+ msgstr ""
+
+-#: fortran/parse.c:3089
++#: fortran/parse.c:3272
+ #, no-c-format
+ msgid "CONTAINS statement at %C is already in a contained program unit"
+ msgstr ""
+
+-#: fortran/parse.c:3138
++#: fortran/parse.c:3321
+ #, no-c-format
+ msgid "Global name '%s' at %L is already being used as a %s at %L"
+ msgstr ""
+
+-#: fortran/parse.c:3159
++#: fortran/parse.c:3342
+ #, no-c-format
+ msgid "Blank BLOCK DATA at %C conflicts with prior BLOCK DATA at %L"
+ msgstr ""
+
+-#: fortran/parse.c:3185
++#: fortran/parse.c:3368
+ #, no-c-format
+ msgid "Unexpected %s statement in BLOCK DATA at %C"
+ msgstr "éžé æœŸçš„ %s 敘述出ç¾åœ¨ %C 處的 DATA å€å¡Šä¸­"
+
+-#: fortran/parse.c:3228
++#: fortran/parse.c:3411
+ #, no-c-format
+ msgid "Unexpected %s statement in MODULE at %C"
+ msgstr "éžé æœŸçš„ %s 敘述出ç¾åœ¨ %C 處的 MODULE 中"
+@@ -8481,7 +8487,7 @@
+ #. If we see a duplicate main program, shut down. If the second
+ #. instance is an implied main program, ie data decls or executable
+ #. statements, we're in for lots of errors.
+-#: fortran/parse.c:3416
++#: fortran/parse.c:3594
+ #, no-c-format
+ msgid "Two main PROGRAMs at %L and %C"
+ msgstr "%L 和 %C 處有兩個主 PROGRAM"
+@@ -8517,8 +8523,8 @@
+ msgstr "無效的è·å‹’瑞斯常數:%L 的整數種別應當是é è¨­çš„"
+
+ #: fortran/primary.c:353
+-#, no-c-format
+-msgid "Extension: Hexadecimal constant at %C uses non-standard syntax."
++#, fuzzy, no-c-format
++msgid "Extension: Hexadecimal constant at %C uses non-standard syntax"
+ msgstr "擴充:%C 處的å六進ä½å¸¸æ•¸ä½¿ç”¨äº†éžæ¨™æº–語法。"
+
+ #: fortran/primary.c:363
+@@ -8531,994 +8537,1039 @@
+ msgid "Illegal character in BOZ constant at %C"
+ msgstr "%C 處 BOZ 常數中有無效字元"
+
+-#: fortran/primary.c:391
+-#, no-c-format
+-msgid "Extension: BOZ constant at %C uses non-standard postfix syntax."
++#: fortran/primary.c:392
++#, fuzzy, no-c-format
++msgid "Extension: BOZ constant at %C uses non-standard postfix syntax"
+ msgstr "擴充:%C 處的 BOZ 常數使用了éžæ¨™æº–語法。"
+
+-#: fortran/primary.c:417
++#: fortran/primary.c:423
+ #, no-c-format
+ msgid "Integer too big for integer kind %i at %C"
+ msgstr "整數å°å…¶ç¨®åˆ¥ %i 來說太大,於 %C 處"
+
+-#: fortran/primary.c:517
++#: fortran/primary.c:429
++#, fuzzy, no-c-format
++msgid "Fortran 2003: BOZ used outside a DATA statement at %C"
++msgstr "Fortran 2003:%C 處的 FLUSH 敘述"
++
++#: fortran/primary.c:529
+ #, no-c-format
+ msgid "Missing exponent in real number at %C"
+ msgstr "%C 處實數缺少指數部分"
+
+-#: fortran/primary.c:573
++#: fortran/primary.c:585
+ #, no-c-format
+ msgid "Real number at %C has a 'd' exponent and an explicit kind"
+ msgstr ""
+
+-#: fortran/primary.c:586
++#: fortran/primary.c:598
+ #, no-c-format
+ msgid "Invalid real kind %d at %C"
+ msgstr "無效的實型種別 %d,在 %C 處"
+
+-#: fortran/primary.c:600
++#: fortran/primary.c:612
+ #, no-c-format
+ msgid "Real constant overflows its kind at %C"
+ msgstr "%C 處實常數å‘上溢ä½å…¶ç¨®åˆ¥"
+
+-#: fortran/primary.c:605
++#: fortran/primary.c:617
+ #, no-c-format
+ msgid "Real constant underflows its kind at %C"
+ msgstr "%C 處實常數å‘下溢ä½å…¶ç¨®åˆ¥"
+
+-#: fortran/primary.c:697
++#: fortran/primary.c:709
+ #, no-c-format
+ msgid "Syntax error in SUBSTRING specification at %C"
+ msgstr "%C SUBSTRING 指定語法錯誤"
+
+-#: fortran/primary.c:902
++#: fortran/primary.c:914
+ #, no-c-format
+ msgid "Invalid kind %d for CHARACTER constant at %C"
+ msgstr "CHARACTER 常數的種別 %d 無效,在 %C 處"
+
+-#: fortran/primary.c:923
++#: fortran/primary.c:935
+ #, no-c-format
+ msgid "Unterminated character constant beginning at %C"
+ msgstr "開始於 %C 的未終çµçš„字元常數"
+
+-#: fortran/primary.c:1035
++#: fortran/primary.c:1047
+ #, no-c-format
+ msgid "Bad kind for logical constant at %C"
+ msgstr "%C 處é‚輯常數的種別錯誤"
+
+-#: fortran/primary.c:1074
++#: fortran/primary.c:1086
+ #, no-c-format
+ msgid "Expected PARAMETER symbol in complex constant at %C"
+ msgstr ""
+
+-#: fortran/primary.c:1080
++#: fortran/primary.c:1092
+ #, no-c-format
+ msgid "Numeric PARAMETER required in complex constant at %C"
+ msgstr ""
+
+-#: fortran/primary.c:1086
++#: fortran/primary.c:1098
+ #, no-c-format
+ msgid "Scalar PARAMETER required in complex constant at %C"
+ msgstr ""
+
+-#: fortran/primary.c:1090
++#: fortran/primary.c:1102
+ #, no-c-format
+ msgid "Fortran 2003: PARAMETER symbol in complex constant at %C"
+ msgstr ""
+
+-#: fortran/primary.c:1120
++#: fortran/primary.c:1132
+ #, no-c-format
+ msgid "Error converting PARAMETER constant in complex constant at %C"
+ msgstr ""
+
+-#: fortran/primary.c:1249
++#: fortran/primary.c:1261
+ #, no-c-format
+ msgid "Syntax error in COMPLEX constant at %C"
+ msgstr "%C 處的複常數語法錯誤"
+
+-#: fortran/primary.c:1430
++#: fortran/primary.c:1442
+ #, no-c-format
+ msgid "Keyword '%s' at %C has already appeared in the current argument list"
+ msgstr ""
+
+-#: fortran/primary.c:1494
++#: fortran/primary.c:1506
+ #, fuzzy, no-c-format
+ msgid "Extension: argument list function at %C"
+ msgstr "函å¼ã€Œ%sã€åœ¨ %C 處缺少åƒæ•¸æ¸…å–®"
+
+-#: fortran/primary.c:1561
++#: fortran/primary.c:1573
+ #, no-c-format
+ msgid "Expected alternate return label at %C"
+ msgstr "%C 處需è¦æ›¿ä»£çš„回傳標籤"
+
+-#: fortran/primary.c:1579
++#: fortran/primary.c:1591
+ #, no-c-format
+ msgid "Missing keyword name in actual argument list at %C"
+ msgstr ""
+
+-#: fortran/primary.c:1624
++#: fortran/primary.c:1636
+ #, no-c-format
+ msgid "Syntax error in argument list at %C"
+ msgstr "%C 處的åƒæ•¸æ¸…單語法錯誤"
+
+-#: fortran/primary.c:1708
++#: fortran/primary.c:1723
+ #, no-c-format
+ msgid "Expected structure component name at %C"
+ msgstr "%C 處需è¦çµæ§‹å…ƒä»¶å"
+
+-#: fortran/primary.c:1961
++#: fortran/primary.c:1980
+ #, no-c-format
+ msgid "Too many components in structure constructor at %C"
+ msgstr "%C 處çµæ§‹å»ºæ§‹çš„元件太多"
+
+-#: fortran/primary.c:1974
++#: fortran/primary.c:1993
+ #, fuzzy, no-c-format
+ msgid "Structure constructor for '%s' at %C has PRIVATE components"
+ msgstr "元件「%sã€åœ¨ %C 處是「%sã€çš„ PRIVATE 元件"
+
+-#: fortran/primary.c:1984
++#: fortran/primary.c:2003
+ #, no-c-format
+ msgid "Too few components in structure constructor at %C"
+ msgstr "%C 處çµæ§‹å»ºæ§‹ä¸­å…ƒä»¶å¤ªå°‘"
+
+-#: fortran/primary.c:2002
++#: fortran/primary.c:2021
+ #, no-c-format
+ msgid "Syntax error in structure constructor at %C"
+ msgstr "%C çµæ§‹å»ºæ§‹èªžæ³•éŒ¯èª¤"
+
+-#: fortran/primary.c:2086
++#: fortran/primary.c:2105
+ #, no-c-format
+ msgid "'%s' 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.c:2188
++#: fortran/primary.c:2207
+ #, no-c-format
+ msgid "Unexpected use of subroutine name '%s' at %C"
+ msgstr "å°å­è™•ç†åºå「%sã€éžé æœŸçš„使用,在 %C 處"
+
+-#: fortran/primary.c:2219
++#: fortran/primary.c:2238
+ #, no-c-format
+ msgid "Statement function '%s' requires argument list at %C"
+ msgstr "敘述函å¼ã€Œ%sã€åœ¨ %C 處缺少åƒæ•¸æ¸…å–®"
+
+-#: fortran/primary.c:2222
++#: fortran/primary.c:2241
+ #, no-c-format
+ msgid "Function '%s' requires an argument list at %C"
+ msgstr "函å¼ã€Œ%sã€åœ¨ %C 需è¦åƒæ•¸æ¸…å–®"
+
+-#: fortran/primary.c:2267
++#: fortran/primary.c:2286
+ #, fuzzy, no-c-format
+ msgid "Missing argument to '%s' at %C"
+ msgstr "「%sã€é¸é …缺少引數"
+
+-#: fortran/primary.c:2408
++#: fortran/primary.c:2427
+ #, no-c-format
+ msgid "Missing argument list in function '%s' at %C"
+ msgstr "函å¼ã€Œ%sã€åœ¨ %C 處缺少åƒæ•¸æ¸…å–®"
+
+-#: fortran/primary.c:2436
++#: fortran/primary.c:2455
+ #, no-c-format
+ msgid "Symbol at %C is not appropriate for an expression"
+ msgstr "%C 處的符號ä¸é©ç”¨æ–¼é‹ç®—å¼"
+
+-#: fortran/primary.c:2504
++#: fortran/primary.c:2523
+ #, fuzzy, no-c-format
+ msgid "Assigning to PROTECTED variable at %C"
+ msgstr "%L è™•å‘ FORALL 索引變數賦值"
+
+-#: fortran/primary.c:2520
++#: fortran/primary.c:2557
+ #, no-c-format
+ msgid "Named constant at %C in an EQUIVALENCE"
+ msgstr ""
+
+-#: fortran/primary.c:2543
+-#, no-c-format
+-msgid "Expected VARIABLE at %C"
+-msgstr "%C è™•éœ€è¦ VARIABLE "
++#: fortran/primary.c:2579
++#, fuzzy, no-c-format
++msgid "'%s' at %C is not a variable"
++msgstr "%L 處的符號ä¸æ˜¯ä¸€å€‹ DUMMY 變數"
+
+-#: fortran/resolve.c:120
++#: fortran/resolve.c:121
+ #, no-c-format
+ msgid "Alternate return specifier in elemental subroutine '%s' at %L is not allowed"
+ msgstr ""
+
+-#: fortran/resolve.c:124
++#: fortran/resolve.c:125
+ #, no-c-format
+ msgid "Alternate return specifier in function '%s' at %L is not allowed"
+ msgstr ""
+
+-#: fortran/resolve.c:137
++#: fortran/resolve.c:138
+ #, no-c-format
+ msgid "Dummy procedure '%s' of PURE procedure at %L must also be PURE"
+ msgstr ""
+
+-#: fortran/resolve.c:144
++#: fortran/resolve.c:145
+ #, no-c-format
+ msgid "Dummy procedure at %L not allowed in ELEMENTAL procedure"
+ msgstr "在 %L 處的啞程åºä¸å…許出ç¾åœ¨ ELEMENTAL 程åºä¸­"
+
+-#: fortran/resolve.c:157 fortran/resolve.c:1080
++#: fortran/resolve.c:158 fortran/resolve.c:1138
+ #, no-c-format
+ msgid "Unable to find a specific INTRINSIC procedure for the reference '%s' at %L"
+ msgstr ""
+
+-#: fortran/resolve.c:201
++#: fortran/resolve.c:202
+ #, no-c-format
+ msgid "Argument '%s' of pure function '%s' at %L must be INTENT(IN)"
+ msgstr "%3$L 處純函å¼ã€Œ%2$sã€çš„引數「%1$sã€å¿…須是 INTENT(IN)"
+
+-#: fortran/resolve.c:206
++#: fortran/resolve.c:207
+ #, no-c-format
+ msgid "Argument '%s' of pure subroutine '%s' at %L must have its INTENT specified"
+ msgstr ""
+
+-#: fortran/resolve.c:215
++#: fortran/resolve.c:216
+ #, no-c-format
+ msgid "Argument '%s' of elemental procedure at %L must be scalar"
+ msgstr "元素程åºçš„引數「%sã€åœ¨ %L 處必須是標é‡"
+
+-#: fortran/resolve.c:222
++#: fortran/resolve.c:223
+ #, no-c-format
+ msgid "Argument '%s' of elemental procedure at %L cannot have the POINTER attribute"
+ msgstr ""
+
+-#: fortran/resolve.c:234
++#: fortran/resolve.c:231
++#, fuzzy, no-c-format
++msgid "Dummy procedure '%s' not allowed in elemental procedure '%s' at %L"
++msgstr "在 %L 處的啞程åºä¸å…許出ç¾åœ¨ ELEMENTAL 程åºä¸­"
++
++#: fortran/resolve.c:243
+ #, no-c-format
+ msgid "Argument '%s' of statement function at %L must be scalar"
+ msgstr "敘述函å¼çš„引數「%sã€åœ¨ %L 處必須是標é‡"
+
+-#: fortran/resolve.c:244
++#: fortran/resolve.c:253
+ #, fuzzy, no-c-format
+ msgid "Character-valued argument '%s' of statement function at %L must have constant length"
+ msgstr "敘述函å¼çš„引數「%sã€åœ¨ %L 處必須是標é‡"
+
+-#: fortran/resolve.c:299
++#: fortran/resolve.c:310
+ #, no-c-format
+ msgid "Contained function '%s' at %L has no IMPLICIT type"
+ msgstr ""
+
+-#: fortran/resolve.c:302
++#: fortran/resolve.c:313
+ #, fuzzy, no-c-format
+ msgid "Result '%s' of contained function '%s' at %L has no IMPLICIT type"
+ msgstr "函å¼ã€Œ%sã€åœ¨ %L 處沒有 IMPLICIT é¡žåž‹"
+
+-#: fortran/resolve.c:319
++#: fortran/resolve.c:330
+ #, no-c-format
+ msgid "Character-valued internal function '%s' at %L must not be assumed length"
+ msgstr "字元賦值的內部函å¼ã€Œ%sã€åœ¨ %L 處ä¸å…許被指派長度"
+
+-#: fortran/resolve.c:490
++#: fortran/resolve.c:501
++#, fuzzy, no-c-format
++msgid "Function %s at %L has entries with mismatched array specifications"
++msgstr "ä¸ä¸€è‡´çš„實體變數指定"
++
++#: fortran/resolve.c:518
+ #, no-c-format
+-msgid "Procedure %s at %L has entries with mismatched array specifications"
++msgid "Extension: Function %s at %L with entries returning variables of different string lengths"
+ msgstr ""
+
+-#: fortran/resolve.c:516
++#: fortran/resolve.c:545
+ #, no-c-format
+ msgid "FUNCTION result %s can't be an array in FUNCTION %s at %L"
+ msgstr ""
+
+-#: fortran/resolve.c:520
++#: fortran/resolve.c:549
+ #, no-c-format
+ msgid "ENTRY result %s can't be an array in FUNCTION %s at %L"
+ msgstr ""
+
+-#: fortran/resolve.c:527
++#: fortran/resolve.c:556
+ #, no-c-format
+ msgid "FUNCTION result %s can't be a POINTER in FUNCTION %s at %L"
+ msgstr ""
+
+-#: fortran/resolve.c:531
++#: fortran/resolve.c:560
+ #, no-c-format
+ msgid "ENTRY result %s can't be a POINTER in FUNCTION %s at %L"
+ msgstr ""
+
+-#: fortran/resolve.c:569
++#: fortran/resolve.c:598
+ #, no-c-format
+ msgid "FUNCTION result %s can't be of type %s in FUNCTION %s at %L"
+ msgstr ""
+
+-#: fortran/resolve.c:574
++#: fortran/resolve.c:603
+ #, no-c-format
+ msgid "ENTRY result %s can't be of type %s in FUNCTION %s at %L"
+ msgstr ""
+
+-#: fortran/resolve.c:643
++#: fortran/resolve.c:661
+ #, no-c-format
++msgid "Variable '%s' at %L is in COMMON but only in BLOCK DATA initialization is allowed"
++msgstr ""
++
++#: fortran/resolve.c:665
++#, no-c-format
++msgid "Initialized variable '%s' at %L is in a blank COMMON but initialization is only allowed in named common blocks"
++msgstr ""
++
++#: fortran/resolve.c:676
++#, no-c-format
+ msgid "Derived type variable '%s' in COMMON at %L has neither the SEQUENCE nor the BIND(C) attribute"
+ msgstr ""
+
+-#: fortran/resolve.c:647
++#: fortran/resolve.c:680
+ #, no-c-format
+ msgid "Derived type variable '%s' in COMMON at %L has an ultimate component that is allocatable"
+ msgstr ""
+
+-#: fortran/resolve.c:651
++#: fortran/resolve.c:684
+ #, fuzzy, no-c-format
+ msgid "Derived type variable '%s' in COMMON at %L may not have default initializer"
+ msgstr "外部物件「%sã€åœ¨ %L 處ä¸èƒ½æœ‰åˆå§‹å€¼è¨­å®š"
+
+-#: fortran/resolve.c:661
++#: fortran/resolve.c:711
+ #, no-c-format
+ msgid "COMMON block '%s' at %L is used as PARAMETER at %L"
+ msgstr ""
+
+-#: fortran/resolve.c:665
++#: fortran/resolve.c:715
+ #, fuzzy, no-c-format
+ msgid "COMMON block '%s' at %L is also an intrinsic procedure"
+ msgstr "通用å­è™•ç†åºã€Œ%sã€(æ–¼ %L 處)ä¸æ˜¯ä¸€å€‹å…§å»ºå­è™•ç†åº"
+
+-#: fortran/resolve.c:669
++#: fortran/resolve.c:719
+ #, no-c-format
+ msgid "Fortran 2003: COMMON block '%s' at %L that is also a function result"
+ msgstr ""
+
+-#: fortran/resolve.c:674
++#: fortran/resolve.c:724
+ #, no-c-format
+ msgid "Fortran 2003: COMMON block '%s' at %L that is also a global procedure"
+ msgstr ""
+
+-#: fortran/resolve.c:736
++#: fortran/resolve.c:786
+ #, fuzzy, no-c-format
+ msgid "Components of structure constructor '%s' at %L are PRIVATE"
+ msgstr "%C 處çµæ§‹å»ºæ§‹ä¸­å…ƒä»¶å¤ªå°‘"
+
+-#: fortran/resolve.c:756
++#: fortran/resolve.c:808
+ #, no-c-format
+ msgid "The rank of the element in the derived type constructor at %L does not match that of the component (%d/%d)"
+ msgstr ""
+
+-#: fortran/resolve.c:769
++#: fortran/resolve.c:821
+ #, no-c-format
+ msgid "The element in the derived type constructor at %L, for pointer component '%s', is %s but should be %s"
+ msgstr ""
+
+-#: fortran/resolve.c:786
++#: fortran/resolve.c:838
+ #, no-c-format
+ msgid "The element in the derived type constructor at %L, for pointer component '%s' should be a POINTER or a TARGET"
+ msgstr ""
+
+-#: fortran/resolve.c:913
++#: fortran/resolve.c:965
+ #, no-c-format
+ msgid "The upper bound in the last dimension must appear in the reference to the assumed size array '%s' at %L"
+ msgstr ""
+
+-#: fortran/resolve.c:976 fortran/resolve.c:5434 fortran/resolve.c:6098
++#: fortran/resolve.c:1029 fortran/resolve.c:5576 fortran/resolve.c:6282
+ #, no-c-format
+ msgid "Label %d referenced at %L is never defined"
+ msgstr "標籤 %d(åƒç…§è‡ª %L)從未被定義"
+
+-#: fortran/resolve.c:986
++#: fortran/resolve.c:1039
+ #, fuzzy, no-c-format
+ msgid "'%s' at %L is ambiguous"
+ msgstr "符號「%sã€(ä½æ–¼ %L)有歧義"
+
+-#: fortran/resolve.c:1018
++#: fortran/resolve.c:1075
+ #, no-c-format
+ msgid "Statement function '%s' at %L is not allowed as an actual argument"
+ msgstr "敘述函å¼ã€Œ%sã€åœ¨ %L 處ä¸å…許åšç‚ºå¯¦éš›å¼•æ•¸"
+
+-#: fortran/resolve.c:1026
++#: fortran/resolve.c:1083
+ #, fuzzy, no-c-format
+ msgid "Intrinsic '%s' at %L is not allowed as an actual argument"
+ msgstr "敘述函å¼ã€Œ%sã€åœ¨ %L 處ä¸å…許åšç‚ºå¯¦éš›å¼•æ•¸"
+
+-#: fortran/resolve.c:1033
++#: fortran/resolve.c:1090
+ #, no-c-format
+ msgid "Internal procedure '%s' is not allowed as an actual argument at %L"
+ msgstr "內部程åºã€Œ%sã€åœ¨ %L 處ä¸å…許åšç‚ºå¯¦éš›å¼•æ•¸"
+
+-#: fortran/resolve.c:1039
++#: fortran/resolve.c:1096
+ #, no-c-format
+ msgid "ELEMENTAL non-INTRINSIC procedure '%s' is not allowed as an actual argument at %L"
+ msgstr "ELEMENTAL non-INTRINSIC 程åºã€Œ%sã€åœ¨ %L 處ä¸å…許åšç‚ºå¯¦éš›å¼•æ•¸"
+
+-#: fortran/resolve.c:1059
++#: fortran/resolve.c:1116
+ #, fuzzy, no-c-format
+ msgid "GENERIC procedure '%s' is not allowed as an actual argument at %L"
+ msgstr "內部程åºã€Œ%sã€åœ¨ %L 處ä¸å…許åšç‚ºå¯¦éš›å¼•æ•¸"
+
+-#: fortran/resolve.c:1098
++#: fortran/resolve.c:1157
+ #, no-c-format
+ msgid "Symbol '%s' at %L is ambiguous"
+ msgstr "符號「%sã€(ä½æ–¼ %L)有歧義"
+
+-#: fortran/resolve.c:1143
++#: fortran/resolve.c:1206
+ #, fuzzy, no-c-format
+ msgid "By-value argument at %L is not of numeric type"
+ msgstr "%L 處 INT 的引數類型無效"
+
+-#: fortran/resolve.c:1150
++#: fortran/resolve.c:1213
+ #, no-c-format
+ msgid "By-value argument at %L cannot be an array or an array section"
+ msgstr ""
+
+-#: fortran/resolve.c:1164
++#: fortran/resolve.c:1227
+ #, fuzzy, no-c-format
+ msgid "By-value argument at %L is not allowed in this context"
+ msgstr "此上下文中ä¸å…許標準轉æ›"
+
+-#: fortran/resolve.c:1176
++#: fortran/resolve.c:1239
+ #, no-c-format
+ msgid "Passing internal procedure at %L by location not allowed"
+ msgstr ""
+
+-#: fortran/resolve.c:1293
++#: fortran/resolve.c:1356
+ #, no-c-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)"
+ msgstr ""
+
+-#: fortran/resolve.c:1315
++#: fortran/resolve.c:1378
+ msgid "elemental procedure"
+ msgstr ""
+
+-#: fortran/resolve.c:1332
++#: fortran/resolve.c:1395
+ #, no-c-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"
+ msgstr ""
+
+-#: fortran/resolve.c:1466
++#: fortran/resolve.c:1531
+ #, no-c-format
+ msgid "There is no specific function for the generic '%s' at %L"
+ msgstr ""
+
+-#: fortran/resolve.c:1475
++#: fortran/resolve.c:1540
+ #, no-c-format
+ msgid "Generic function '%s' at %L is not consistent with a specific intrinsic interface"
+ msgstr ""
+
+-#: fortran/resolve.c:1513
++#: fortran/resolve.c:1594
+ #, no-c-format
+ msgid "Function '%s' at %L is INTRINSIC but is not compatible with an intrinsic"
+ msgstr ""
+
+-#: fortran/resolve.c:1559
++#: fortran/resolve.c:1640
+ #, no-c-format
+ msgid "Unable to resolve the specific function '%s' at %L"
+ msgstr ""
+
+-#: fortran/resolve.c:1615 fortran/resolve.c:8740
++#: fortran/resolve.c:1696 fortran/resolve.c:8931
+ #, no-c-format
+ msgid "Function '%s' at %L has no IMPLICIT type"
+ msgstr "函å¼ã€Œ%sã€åœ¨ %L 處沒有 IMPLICIT é¡žåž‹"
+
+-#: fortran/resolve.c:1799
++#: fortran/resolve.c:1907
+ #, fuzzy, no-c-format
+ msgid "Argument to '%s' at %L is not a variable"
+ msgstr "%L 處 INT 的引數類型無效"
+
+-#: fortran/resolve.c:1871
++#: fortran/resolve.c:1979
+ #, fuzzy, no-c-format
+ msgid "More actual than formal arguments in '%s' call at %L"
+ msgstr "åƒæ•¸ã€Œ%sã€åœ¨ %L 處缺少引數"
+
+-#: fortran/resolve.c:1883
++#: fortran/resolve.c:1991
+ #, no-c-format
+ msgid "Parameter '%s' to '%s' at %L must be either a TARGET or an associated pointer"
+ msgstr ""
+
+-#: fortran/resolve.c:1909
++#: fortran/resolve.c:2017
+ #, no-c-format
+ msgid "Allocatable variable '%s' used as a parameter to '%s' at %L must not be an array of zero size"
+ msgstr ""
+
+-#: fortran/resolve.c:1926
++#: fortran/resolve.c:2034
+ #, no-c-format
+ msgid "Assumed-shape array '%s' at %L cannot be an argument to the procedure '%s' because it is not C interoperable"
+ msgstr ""
+
+-#: fortran/resolve.c:1936
++#: fortran/resolve.c:2044
+ #, no-c-format
+ msgid "Deferred-shape array '%s' at %L cannot be an argument to the procedure '%s' because it is not C interoperable"
+ msgstr ""
+
+-#: fortran/resolve.c:1959 fortran/resolve.c:1998
++#: fortran/resolve.c:2067 fortran/resolve.c:2106
+ #, fuzzy, no-c-format
+ msgid "CHARACTER argument '%s' to '%s' at %L must have a length of 1"
+ msgstr "%s çš„åƒæ•¸(ä½æ–¼ %L)長度必須為 1"
+
+ #. Case 1c, section 15.1.2.5, J3/04-007: an associated
+ #. scalar pointer.
+-#: fortran/resolve.c:1974
++#: fortran/resolve.c:2082
+ #, fuzzy, no-c-format
+ msgid "Argument '%s' to '%s' at %L must be an associated scalar POINTER"
+ msgstr "引數「%sã€(屬於內建函å¼ã€Œ%sã€ï¼Œä½æ–¼ %L)必須是一個 POINTER"
+
+-#: fortran/resolve.c:1990
++#: fortran/resolve.c:2098
+ #, fuzzy, no-c-format
+ msgid "Parameter '%s' to '%s' at %L must be a scalar"
+ msgstr "引數「%sã€(屬於內建函å¼ã€Œ%sã€ï¼Œä½æ–¼ %L)必須是一個標é‡"
+
+ #. TODO: Update this error message to allow for procedure
+ #. pointers once they are implemented.
+-#: fortran/resolve.c:2012
++#: fortran/resolve.c:2120
+ #, fuzzy, no-c-format
+ msgid "Parameter '%s' to '%s' at %L must be a procedure"
+ msgstr "å稱「%sã€(ä½æ–¼ %C)是一個程åºçš„å稱"
+
+-#: fortran/resolve.c:2020
++#: fortran/resolve.c:2128
+ #, fuzzy, no-c-format
+ msgid "Parameter '%s' to '%s' at %L must be BIND(C)"
+ msgstr "%3$L 處純函å¼ã€Œ%2$sã€çš„引數「%1$sã€å¿…須是 INTENT(IN)"
+
+-#: fortran/resolve.c:2062
++#: fortran/resolve.c:2170
+ #, fuzzy, no-c-format
+ msgid "'%s' at %L is not a function"
+ msgstr "%q+D ä¸æ˜¯ä¸€å€‹å‡½å¼ï¼Œ"
+
+-#: fortran/resolve.c:2068
++#: fortran/resolve.c:2176
+ #, no-c-format
+ msgid "ABSTRACT INTERFACE '%s' must not be referenced at %L"
+ msgstr ""
+
+ #. Internal procedures are taken care of in resolve_contained_fntype.
+-#: fortran/resolve.c:2111
++#: fortran/resolve.c:2219
+ #, no-c-format
+ msgid "Function '%s' is declared CHARACTER(*) and cannot be used at %L since it is not a dummy argument"
+ msgstr ""
+
+-#: fortran/resolve.c:2164
++#: fortran/resolve.c:2272
+ #, no-c-format
+ msgid "User defined non-ELEMENTAL function '%s' at %L not allowed in WORKSHARE construct"
+ msgstr ""
+
+-#: fortran/resolve.c:2213
++#: fortran/resolve.c:2321
+ #, no-c-format
+ msgid "reference to non-PURE function '%s' at %L inside a FORALL %s"
+ msgstr ""
+
+-#: fortran/resolve.c:2220
++#: fortran/resolve.c:2328
+ #, no-c-format
+ msgid "Function reference to '%s' at %L is to a non-PURE procedure within a PURE procedure"
+ msgstr ""
+
+-#: fortran/resolve.c:2235
++#: fortran/resolve.c:2343
+ #, fuzzy, no-c-format
+ msgid "Function '%s' at %L cannot call itself, as it is not RECURSIVE"
+ msgstr "指定函å¼ã€Œ%sã€(ä½æ–¼ %L)ä¸èƒ½æ˜¯ RECURSIVE"
+
+-#: fortran/resolve.c:2243
++#: fortran/resolve.c:2351
+ #, no-c-format
+ msgid "Call to ENTRY '%s' at %L is recursive, but function '%s' is not declared as RECURSIVE"
+ msgstr ""
+
+-#: fortran/resolve.c:2285
++#: fortran/resolve.c:2393
+ #, no-c-format
+ msgid "Subroutine call to '%s' in FORALL block at %L is not PURE"
+ msgstr ""
+
+-#: fortran/resolve.c:2288
++#: fortran/resolve.c:2396
+ #, no-c-format
+ msgid "Subroutine call to '%s' at %L is not PURE"
+ msgstr ""
+
+-#: fortran/resolve.c:2351
++#: fortran/resolve.c:2459
+ #, fuzzy, no-c-format
+ msgid "There is no specific subroutine for the generic '%s' at %L"
+ msgstr "å°å­è™•ç†åºå「%sã€éžé æœŸçš„使用,在 %C 處"
+
+-#: fortran/resolve.c:2360
++#: fortran/resolve.c:2468
+ #, no-c-format
+ msgid "Generic subroutine '%s' at %L is not consistent with an intrinsic subroutine interface"
+ msgstr ""
+
+-#: fortran/resolve.c:2468
++#: fortran/resolve.c:2576
+ #, fuzzy, no-c-format
+ msgid "Missing SHAPE parameter for call to %s at %L"
+ msgstr "缺少引數「%sã€ï¼Œåœ¨å‘¼å«ã€Œ%sã€æ™‚,ä½æ–¼ %L"
+
+-#: fortran/resolve.c:2476
++#: fortran/resolve.c:2584
+ #, no-c-format
+ msgid "SHAPE parameter for call to %s at %L must be a rank 1 INTEGER array"
+ msgstr ""
+
+-#: fortran/resolve.c:2543
++#: fortran/resolve.c:2667
+ #, no-c-format
+ msgid "Subroutine '%s' at %L is INTRINSIC but is not compatible with an intrinsic"
+ msgstr ""
+
+-#: fortran/resolve.c:2587
++#: fortran/resolve.c:2711
+ #, no-c-format
+ msgid "Unable to resolve the specific subroutine '%s' at %L"
+ msgstr ""
+
+-#: fortran/resolve.c:2644
++#: fortran/resolve.c:2768
+ #, no-c-format
+ msgid "'%s' at %L has a type, which is not consistent with the CALL at %L"
+ msgstr ""
+
+-#: fortran/resolve.c:2663
++#: fortran/resolve.c:2787
+ #, no-c-format
+ msgid "SUBROUTINE '%s' at %L cannot call itself, as it is not RECURSIVE"
+ msgstr ""
+
+-#: fortran/resolve.c:2671
++#: fortran/resolve.c:2795
+ #, no-c-format
+ msgid "Call to ENTRY '%s' at %L is recursive, but subroutine '%s' is not declared as RECURSIVE"
+ msgstr ""
+
+-#: fortran/resolve.c:2741
++#: fortran/resolve.c:2865
+ #, no-c-format
+ msgid "Shapes for operands at %L and %L are not conformable"
+ msgstr "%L å’Œ %L 處的é‹ç®—元外形ä¸ç›¸å®¹"
+
+-#: fortran/resolve.c:2792
++#: fortran/resolve.c:2916
+ #, fuzzy, c-format
+ msgid "Invalid context for NULL() pointer at %%L"
+ msgstr "%s 種別無效,於 %L 處"
+
+-#: fortran/resolve.c:2808
++#: fortran/resolve.c:2932
+ #, c-format
+ msgid "Operand of unary numeric operator '%s' at %%L is %s"
+ msgstr "å–®ä½å…ƒæ•¸å€¼é‹ç®—å­ã€Œ%sã€(ä½æ–¼ %%L)çš„é‹ç®—元為 %s"
+
+-#: fortran/resolve.c:2824
++#: fortran/resolve.c:2948
+ #, c-format
+ msgid "Operands of binary numeric operator '%s' at %%L are %s/%s"
+ msgstr "二元數值é‹ç®—å­ã€Œ%sã€(ä½æ–¼ %%L)çš„é‹ç®—元為 %s/%s"
+
+-#: fortran/resolve.c:2838
++#: fortran/resolve.c:2962
+ #, c-format
+ msgid "Operands of string concatenation operator at %%L are %s/%s"
+ msgstr "字串粘貼é‹ç®—å­(ä½æ–¼ %%L)çš„é‹ç®—元為 %s/%s"
+
+-#: fortran/resolve.c:2857
++#: fortran/resolve.c:2981
+ #, c-format
+ msgid "Operands of logical operator '%s' at %%L are %s/%s"
+ msgstr "é‚輯é‹ç®—å­ã€Œ%sã€(ä½æ–¼ %%L)çš„é‹ç®—元為 %s/%s"
+
+-#: fortran/resolve.c:2871
++#: fortran/resolve.c:2995
+ #, fuzzy, c-format
+ msgid "Operand of .not. operator at %%L is %s"
+ msgstr "%%L 處的 .NOT. é‹ç®—å­çš„é‹ç®—元為 %s"
+
+-#: fortran/resolve.c:2885
++#: fortran/resolve.c:3009
+ msgid "COMPLEX quantities cannot be compared at %L"
+ msgstr "%L 處複數ä¸èƒ½æ¯”較大å°"
+
+-#: fortran/resolve.c:2913
++#: fortran/resolve.c:3037
+ #, c-format
+ msgid "Logicals at %%L must be compared with %s instead of %s"
+ msgstr "%%L 處é‚輯值必須與 %s 比較,而ä¸æ˜¯ %s"
+
+-#: fortran/resolve.c:2919
++#: fortran/resolve.c:3043
+ #, c-format
+ msgid "Operands of comparison operator '%s' at %%L are %s/%s"
+ msgstr "比較é‹ç®—å­ã€Œ%sã€(ä½æ–¼ %%L)çš„é‹ç®—元為 %s/%s"
+
+-#: fortran/resolve.c:2927
++#: fortran/resolve.c:3051
+ #, fuzzy, c-format
+ msgid "Unknown operator '%s' at %%L"
+ msgstr "%%:version-compare 中有ä¸æ˜Žçš„é‹ç®—元「%sã€"
+
+-#: fortran/resolve.c:2929
++#: fortran/resolve.c:3053
+ #, c-format
+ msgid "Operand of user operator '%s' at %%L is %s"
+ msgstr "使用者é‹ç®—å­ã€Œ%sã€(ä½æ–¼ %%L)çš„é‹ç®—元為 %s"
+
+-#: fortran/resolve.c:2932
++#: fortran/resolve.c:3056
+ #, c-format
+ msgid "Operands of user operator '%s' at %%L are %s/%s"
+ msgstr "使用者é‹ç®—å­ã€Œ%sã€(ä½æ–¼ %%L)çš„é‹ç®—元為 %s/%s"
+
+-#: fortran/resolve.c:3018
++#: fortran/resolve.c:3142
+ #, fuzzy, c-format
+ msgid "Inconsistent ranks for operator at %%L and %%L"
+ msgstr "%L å’Œ %L 處的é‹ç®—元秩ä¸ä¸€è‡´"
+
+-#: fortran/resolve.c:3212
++#: fortran/resolve.c:3339
+ #, fuzzy, no-c-format
+ msgid "Array reference at %L is out of bounds (%ld < %ld) in dimension %d"
+ msgstr "%L 處陣列åƒç…§è¶Šç•Œ"
+
+-#: fortran/resolve.c:3220
++#: fortran/resolve.c:3347
+ #, fuzzy, no-c-format
+ msgid "Array reference at %L is out of bounds (%ld > %ld) in dimension %d"
+ msgstr "%L 處陣列åƒç…§è¶Šç•Œ"
+
+-#: fortran/resolve.c:3239
++#: fortran/resolve.c:3366
+ #, no-c-format
+ msgid "Illegal stride of zero at %L"
+ msgstr "%L 零間隔無效"
+
+-#: fortran/resolve.c:3256
++#: fortran/resolve.c:3383
+ #, fuzzy, no-c-format
+ msgid "Lower array reference at %L is out of bounds (%ld < %ld) in dimension %d"
+ msgstr "%L 處陣列åƒç…§è¶Šç•Œ"
+
+-#: fortran/resolve.c:3264
++#: fortran/resolve.c:3391
+ #, fuzzy, no-c-format
+ msgid "Lower array reference at %L is out of bounds (%ld > %ld) in dimension %d"
+ msgstr "%L 處陣列åƒç…§è¶Šç•Œ"
+
+-#: fortran/resolve.c:3280
++#: fortran/resolve.c:3407
+ #, fuzzy, no-c-format
+ msgid "Upper array reference at %L is out of bounds (%ld < %ld) in dimension %d"
+ msgstr "%L 處陣列åƒç…§è¶Šç•Œ"
+
+-#: fortran/resolve.c:3289
++#: fortran/resolve.c:3416
+ #, fuzzy, no-c-format
+ msgid "Upper array reference at %L is out of bounds (%ld > %ld) in dimension %d"
+ msgstr "%L 處陣列åƒç…§è¶Šç•Œ"
+
+-#: fortran/resolve.c:3328
++#: fortran/resolve.c:3455
+ #, no-c-format
+ msgid "Rightmost upper bound of assumed size array section not specified at %L"
+ msgstr ""
+
+-#: fortran/resolve.c:3338
++#: fortran/resolve.c:3465
+ #, no-c-format
+ msgid "Rank mismatch in array reference at %L (%d/%d)"
+ msgstr "%L 處陣列åƒç…§ä¸­ç§©ä¸åŒ¹é…(%d/%d)"
+
+-#: fortran/resolve.c:3366
++#: fortran/resolve.c:3493
+ #, no-c-format
+ msgid "Array index at %L must be scalar"
+ msgstr "%L 處陣列索引必須是標é‡"
+
+-#: fortran/resolve.c:3372
++#: fortran/resolve.c:3499
+ #, no-c-format
+ msgid "Array index at %L must be of INTEGER type"
+ msgstr "%L 處陣列索引必須具有 INTEGER 類型"
+
+-#: fortran/resolve.c:3378
++#: fortran/resolve.c:3505
+ #, no-c-format
+ msgid "Extension: REAL array index at %L"
+ msgstr "擴充:%L 處的 REAL 陣列索引"
+
+-#: fortran/resolve.c:3408
++#: fortran/resolve.c:3535
+ #, no-c-format
+ msgid "Argument dim at %L must be scalar"
+ msgstr "%L 引數維數必須是標é‡"
+
+-#: fortran/resolve.c:3414
++#: fortran/resolve.c:3542
+ #, no-c-format
+ msgid "Argument dim at %L must be of INTEGER type"
+ msgstr "%L 處引數維數必須具有 INTEGER 類型"
+
+-#: fortran/resolve.c:3534
++#: fortran/resolve.c:3663
+ #, no-c-format
+ msgid "Array index at %L is an array of rank %d"
+ msgstr "%L 處陣列索引是一個秩為 %d 的陣列"
+
+-#: fortran/resolve.c:3571
++#: fortran/resolve.c:3700
+ #, no-c-format
+ msgid "Substring start index at %L must be of type INTEGER"
+ msgstr "%L 處的å­å­—串起始索引類型必須為 INTEGER"
+
+-#: fortran/resolve.c:3578
++#: fortran/resolve.c:3707
+ #, no-c-format
+ msgid "Substring start index at %L must be scalar"
+ msgstr "%L 處的å­å­—串起始索引必須是標é‡"
+
+-#: fortran/resolve.c:3587
++#: fortran/resolve.c:3716
+ #, no-c-format
+ msgid "Substring start index at %L is less than one"
+ msgstr "%L 處的å­å­—串起始索引å°æ–¼ 1"
+
+-#: fortran/resolve.c:3600
++#: fortran/resolve.c:3729
+ #, no-c-format
+ msgid "Substring end index at %L must be of type INTEGER"
+ msgstr "%L 處的å­å­—串終止索引類型必須為 INTEGER"
+
+-#: fortran/resolve.c:3607
++#: fortran/resolve.c:3736
+ #, no-c-format
+ msgid "Substring end index at %L must be scalar"
+ msgstr "%L 處的å­å­—串終止索引必須是標é‡"
+
+-#: fortran/resolve.c:3617
++#: fortran/resolve.c:3746
+ #, fuzzy, no-c-format
+ msgid "Substring end index at %L exceeds the string length"
+ msgstr "%L 處的å­å­—串終止索引必須是標é‡"
+
+-#: fortran/resolve.c:3755
++#: fortran/resolve.c:3884
+ #, no-c-format
+ msgid "Component to the right of a part reference with nonzero rank must not have the POINTER attribute at %L"
+ msgstr ""
+
+-#: fortran/resolve.c:3762
++#: fortran/resolve.c:3891
+ #, no-c-format
+ msgid "Component to the right of a part reference with nonzero rank must not have the ALLOCATABLE attribute at %L"
+ msgstr ""
+
+-#: fortran/resolve.c:3781
++#: fortran/resolve.c:3910
+ #, no-c-format
+ msgid "Two or more part references with nonzero rank must not be specified at %L"
+ msgstr ""
+
+-#: fortran/resolve.c:3956
++#: fortran/resolve.c:4085
+ #, no-c-format
+ msgid "Variable '%s', used in a specification expression, is referenced at %L before the ENTRY statement in which it is a parameter"
+ msgstr ""
+
+-#: fortran/resolve.c:3961
++#: fortran/resolve.c:4090
+ #, no-c-format
+ msgid "Variable '%s' is used at %L before the ENTRY statement in which it is a parameter"
+ msgstr ""
+
+-#: fortran/resolve.c:4238
++#: fortran/resolve.c:4367
+ #, no-c-format
+ msgid "%s at %L must be a scalar"
+ msgstr "%s (%L 處)必須是一個標é‡"
+
+-#: fortran/resolve.c:4248
++#: fortran/resolve.c:4377
+ #, fuzzy, no-c-format
+ msgid "Deleted feature: %s at %L must be integer"
+ msgstr "%C 處 Cray 指標必須是一個整數。"
+
+-#: fortran/resolve.c:4252 fortran/resolve.c:4259
++#: fortran/resolve.c:4381 fortran/resolve.c:4388
+ #, no-c-format
+ msgid "%s at %L must be INTEGER"
+ msgstr "%s (%L 處)必須是 INTEGER"
+
+-#: fortran/resolve.c:4279
++#: fortran/resolve.c:4408
+ #, no-c-format
+ msgid "Cannot assign to loop variable in PURE procedure at %L"
+ msgstr "æ–¼ %L 處的 PURE 程åºä¸­ç„¡æ³•æŒ‡å®šè‡³è¿´åœˆè®Šæ•¸"
+
+-#: fortran/resolve.c:4303
++#: fortran/resolve.c:4432
+ #, no-c-format
+ msgid "Step expression in DO loop at %L cannot be zero"
+ msgstr "步進敘述於 %L 處的 DO 迴圈中ä¸å¯ç‚ºé›¶"
+
+-#: fortran/resolve.c:4378
++#: fortran/resolve.c:4508
+ #, no-c-format
+ msgid "FORALL index-name at %L must be a scalar INTEGER"
+ msgstr "%L 處 FORALL 索引å稱必須是 INTEGER 標é‡"
+
+-#: fortran/resolve.c:4383
++#: fortran/resolve.c:4513
+ #, no-c-format
+ msgid "FORALL start expression at %L must be a scalar INTEGER"
+ msgstr "%L 處的 FORALL 啟始敘述必須是 INTEGER 標é‡"
+
+-#: fortran/resolve.c:4390
++#: fortran/resolve.c:4520
+ #, no-c-format
+ msgid "FORALL end expression at %L must be a scalar INTEGER"
+ msgstr "%L 處的 FORALL çµæŸæ•˜è¿°å¿…須是 INTEGER 標é‡"
+
+-#: fortran/resolve.c:4398
++#: fortran/resolve.c:4528
+ #, no-c-format
+ msgid "FORALL stride expression at %L must be a scalar %s"
+ msgstr "%L 處的 FORALL 步幅敘述必須是 %s 標é‡"
+
+-#: fortran/resolve.c:4403
++#: fortran/resolve.c:4533
+ #, no-c-format
+ msgid "FORALL stride expression at %L cannot be zero"
+ msgstr "%L 處的 FORALL 步幅敘述ä¸èƒ½ç‚ºé›¶"
+
+-#: fortran/resolve.c:4419
++#: fortran/resolve.c:4549
+ #, fuzzy, no-c-format
+ msgid "FORALL index '%s' may not appear in triplet specification at %L"
+ msgstr "變數「%sã€ä¸èƒ½å‡ºç¾åœ¨ %L 處的é‹ç®—å¼ä¸­"
+
+-#: fortran/resolve.c:4499
++#: fortran/resolve.c:4629
+ #, no-c-format
+ msgid "Expression in DEALLOCATE statement at %L must be ALLOCATABLE or a POINTER"
+ msgstr ""
+
+-#: fortran/resolve.c:4506
++#: fortran/resolve.c:4636
+ #, fuzzy, no-c-format
+ msgid "Cannot deallocate INTENT(IN) variable '%s' at %L"
+ msgstr "COMMON 變數「%sã€åœ¨ %C 處ä¸å…許有åˆå§‹å€¼è¨­å®š"
+
+-#: fortran/resolve.c:4675
++#: fortran/resolve.c:4740
+ #, no-c-format
+ msgid "The STAT variable '%s' in an ALLOCATE statement must not be allocated in the same statement at %L"
+ msgstr ""
+
+-#: fortran/resolve.c:4711
++#: fortran/resolve.c:4776
+ #, no-c-format
+ msgid "Expression in ALLOCATE statement at %L must be ALLOCATABLE or a POINTER"
+ msgstr ""
+
+-#: fortran/resolve.c:4719
++#: fortran/resolve.c:4784
+ #, fuzzy, no-c-format
+ msgid "Cannot allocate INTENT(IN) variable '%s' at %L"
+ msgstr "COMMON 變數「%sã€åœ¨ %C 處ä¸å…許有åˆå§‹å€¼è¨­å®š"
+
+-#: fortran/resolve.c:4743
++#: fortran/resolve.c:4808
+ #, no-c-format
+ msgid "Array specification required in ALLOCATE statement at %L"
+ msgstr ""
+
+-#: fortran/resolve.c:4773
++#: fortran/resolve.c:4838
+ #, no-c-format
+ msgid "Bad array specification in ALLOCATE statement at %L"
+ msgstr ""
+
+-#: fortran/resolve.c:4791
++#: fortran/resolve.c:4856
+ #, no-c-format
+ msgid "'%s' must not appear an the array specification at %L in the same ALLOCATE statement where it is itself allocated"
+ msgstr ""
+
++#: fortran/resolve.c:4880
++#, fuzzy, no-c-format
++msgid "STAT variable '%s' of %s statement at %C cannot be INTENT(IN)"
++msgstr "循環變數「%sã€åœ¨ %C 處ä¸èƒ½æ˜¯ INTENT(IN)"
++
++#: fortran/resolve.c:4884
++#, fuzzy, no-c-format
++msgid "Illegal STAT variable in %s statement at %C for a PURE procedure"
++msgstr "DATA 敘述ä¸å…許出ç¾åœ¨ %C 處的 PURE 程åºä¸­"
++
++#: fortran/resolve.c:4922
++#, fuzzy, no-c-format
++msgid "STAT tag in %s statement at %L must be a variable"
++msgstr "%C 處的 STAT é‹ç®—å¼å¿…須是一個變數"
++
++#: fortran/resolve.c:4928
++#, fuzzy, no-c-format
++msgid "STAT tag in %s statement at %L must be of type INTEGER"
++msgstr "%L 處的å­å­—串起始索引類型必須為 INTEGER"
++
+ #. The cases overlap, or they are the same
+ #. 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.c:4949
++#: fortran/resolve.c:5091
+ #, no-c-format
+ msgid "CASE label at %L overlaps with CASE label at %L"
+ msgstr ""
+
+-#: fortran/resolve.c:5000
++#: fortran/resolve.c:5142
+ #, no-c-format
+ msgid "Expression in CASE statement at %L must be of type %s"
+ msgstr "%L 處 CASE 敘述中的é‹ç®—å¼å¿…須具有 %s é¡žåž‹"
+
+-#: fortran/resolve.c:5011
++#: fortran/resolve.c:5153
+ #, no-c-format
+ msgid "Expression in CASE statement at %L must be kind %d"
+ msgstr "%L 處 CASE 敘述中的é‹ç®—å¼ç¨®é¡žå¿…須為 %d"
+
+-#: fortran/resolve.c:5023
++#: fortran/resolve.c:5165
+ #, no-c-format
+ msgid "Expression in CASE statement at %L must be scalar"
+ msgstr "%L 處 CASE 敘述中的é‹ç®—å¼å¿…須為標é‡"
+
+-#: fortran/resolve.c:5069
++#: fortran/resolve.c:5211
+ #, no-c-format
+ msgid "Selection expression in computed GOTO statement at %L must be a scalar integer expression"
+ msgstr ""
+
+-#: fortran/resolve.c:5087
++#: fortran/resolve.c:5229
+ #, no-c-format
+ msgid "Argument of SELECT statement at %L cannot be %s"
+ msgstr "%L 處 SELECT 敘述的引數ä¸èƒ½æ˜¯ %s"
+
+-#: fortran/resolve.c:5096
++#: fortran/resolve.c:5238
+ #, no-c-format
+ msgid "Argument of SELECT statement at %L must be a scalar expression"
+ msgstr "%L 處 SELECT 敘述中的引數必須為標é‡"
+
+-#: fortran/resolve.c:5161
++#: fortran/resolve.c:5303
+ #, no-c-format
+ msgid "The DEFAULT CASE at %L cannot be followed by a second DEFAULT CASE at %L"
+ msgstr ""
+
+-#: fortran/resolve.c:5187
++#: fortran/resolve.c:5329
+ #, no-c-format
+ msgid "Logical range in CASE statement at %L is not allowed"
+ msgstr ""
+
+-#: fortran/resolve.c:5199
++#: fortran/resolve.c:5341
+ #, no-c-format
+ msgid "constant logical value in CASE statement is repeated at %L"
+ msgstr ""
+
+-#: fortran/resolve.c:5213
++#: fortran/resolve.c:5355
+ #, no-c-format
+ msgid "Range specification at %L can never be matched"
+ msgstr ""
+
+-#: fortran/resolve.c:5316
++#: fortran/resolve.c:5458
+ #, no-c-format
+ msgid "Logical SELECT CASE block at %L has more that two cases"
+ msgstr ""
+
+-#: fortran/resolve.c:5354
++#: fortran/resolve.c:5496
+ #, no-c-format
+ msgid "Data transfer element at %L cannot have POINTER components"
+ msgstr ""
+
+-#: fortran/resolve.c:5361
++#: fortran/resolve.c:5503
+ #, no-c-format
+ msgid "Data transfer element at %L cannot have ALLOCATABLE components"
+ msgstr ""
+
+-#: fortran/resolve.c:5368
++#: fortran/resolve.c:5510
+ #, no-c-format
+ msgid "Data transfer element at %L cannot have PRIVATE components"
+ msgstr ""
+
+-#: fortran/resolve.c:5377
++#: fortran/resolve.c:5519
+ #, no-c-format
+ msgid "Data transfer element at %L cannot be a full reference to an assumed-size array"
+ msgstr ""
+
+-#: fortran/resolve.c:5441
++#: fortran/resolve.c:5583
+ #, no-c-format
+ msgid "Statement at %L is not a valid branch target statement for the branch statement at %L"
+ msgstr ""
+
+-#: fortran/resolve.c:5450
++#: fortran/resolve.c:5592
+ #, no-c-format
+ msgid "Branch at %L causes an infinite loop"
+ msgstr "%L 處的分支導致無窮循環"
+@@ -9526,647 +9577,657 @@
+ #. 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.c:5463
++#: fortran/resolve.c:5605
+ #, no-c-format
+ msgid "Label at %L is not in the same block as the GOTO statement at %L"
+ msgstr ""
+
+-#: fortran/resolve.c:5478 fortran/resolve.c:5492
++#: fortran/resolve.c:5620 fortran/resolve.c:5634
+ #, no-c-format
+ msgid "Deleted feature: GOTO at %L jumps to END of construct at %L"
+ msgstr ""
+
+-#: fortran/resolve.c:5569
++#: fortran/resolve.c:5711
+ #, no-c-format
+ msgid "WHERE mask at %L has inconsistent shape"
+ msgstr ""
+
+-#: fortran/resolve.c:5585
++#: fortran/resolve.c:5727
+ #, no-c-format
+ msgid "WHERE assignment target at %L has inconsistent shape"
+ msgstr ""
+
+-#: fortran/resolve.c:5600 fortran/resolve.c:5682
++#: fortran/resolve.c:5735 fortran/resolve.c:5820
+ #, no-c-format
++msgid "Non-ELEMENTAL user-defined assignment in WHERE at %L"
++msgstr ""
++
++#: fortran/resolve.c:5745 fortran/resolve.c:5830
++#, no-c-format
+ msgid "Unsupported statement inside WHERE at %L"
+ msgstr "%L 處在 WHERE å…§ä¸æ”¯æ´çš„敘述"
+
+-#: fortran/resolve.c:5631
++#: fortran/resolve.c:5776
+ #, no-c-format
+ msgid "Assignment to a FORALL index variable at %L"
+ msgstr "%L è™•å‘ FORALL 索引變數賦值"
+
+-#: fortran/resolve.c:5639
++#: fortran/resolve.c:5784
+ #, no-c-format
+ msgid "The FORALL with index '%s' cause more than one assignment to this object at %L"
+ msgstr ""
+
+-#: fortran/resolve.c:5774
++#: fortran/resolve.c:5922
+ #, no-c-format
+ msgid "An outer FORALL construct already has an index with this name %L"
+ msgstr ""
+
+-#: fortran/resolve.c:5830
++#: fortran/resolve.c:5978
+ #, no-c-format
+ msgid "WHERE/ELSEWHERE clause at %L requires a LOGICAL array"
+ msgstr "%L 處的 WHERE/ELSEWHERE å­å¥éœ€è¦ä¸€å€‹ LOGICAL 陣列"
+
+-#: fortran/resolve.c:5890
++#: fortran/resolve.c:6037
+ #, no-c-format
+ msgid "Subroutine '%s' called instead of assignment at %L must be PURE"
+ msgstr "%L 處用以å–代賦值的副例程「%sã€å‘¼å«å¿…須是 PURE"
+
+-#: fortran/resolve.c:5927
++#: fortran/resolve.c:6110
+ #, no-c-format
+ msgid "CHARACTER expression will be truncated in assignment (%d/%d) at %L"
+ msgstr ""
+
+-#: fortran/resolve.c:5950
++#: fortran/resolve.c:6135
+ #, no-c-format
+ msgid "Cannot assign to variable '%s' in PURE procedure at %L"
+ msgstr ""
+
+-#: fortran/resolve.c:5962
++#: fortran/resolve.c:6147
+ #, no-c-format
+ msgid "The impure variable at %L is assigned to a derived type variable with a POINTER component in a PURE procedure (12.6)"
+ msgstr ""
+
+-#: fortran/resolve.c:6066
++#: fortran/resolve.c:6250
+ #, no-c-format
+ msgid "ASSIGNED GOTO statement at %L requires an INTEGER variable"
+ msgstr ""
+
+-#: fortran/resolve.c:6069
++#: fortran/resolve.c:6253
+ #, no-c-format
+ msgid "Variable '%s' has not been assigned a target label at %L"
+ msgstr "變數「%sã€åœ¨ %L 尚未指派到目標標籤"
+
+-#: fortran/resolve.c:6080
++#: fortran/resolve.c:6264
+ #, fuzzy, no-c-format
+ msgid "Alternate RETURN statement at %L requires a SCALAR-INTEGER return specifier"
+ msgstr "%L 處的 INQUIRE æ•˜è¿°éœ€è¦ FILE 或 UNIT é™å®šç¬¦"
+
+-#: fortran/resolve.c:6106
++#: fortran/resolve.c:6290
+ #, no-c-format
+ msgid "ASSIGN statement at %L requires a scalar default INTEGER variable"
+ msgstr ""
+
+-#: fortran/resolve.c:6121
++#: fortran/resolve.c:6305
+ #, no-c-format
+ msgid "Arithmetic IF statement at %L requires a numeric expression"
+ msgstr ""
+
+-#: fortran/resolve.c:6163
++#: fortran/resolve.c:6347
+ #, no-c-format
+ msgid "Exit condition of DO WHILE loop at %L must be a scalar LOGICAL expression"
+ msgstr ""
+
+-#: fortran/resolve.c:6170
++#: fortran/resolve.c:6420
+ #, no-c-format
+-msgid "STAT tag in ALLOCATE statement at %L must be of type INTEGER"
+-msgstr ""
+-
+-#: fortran/resolve.c:6182
+-#, no-c-format
+-msgid "STAT tag in DEALLOCATE statement at %L must be of type INTEGER"
+-msgstr ""
+-
+-#: fortran/resolve.c:6247
+-#, no-c-format
+ msgid "FORALL mask clause at %L requires a LOGICAL expression"
+ msgstr ""
+
+-#: fortran/resolve.c:6317 fortran/resolve.c:6373
++#: fortran/resolve.c:6490 fortran/resolve.c:6546
+ #, no-c-format
+ msgid "Binding label '%s' for common block '%s' at %L collides with the global entity '%s' at %L"
+ msgstr ""
+
+ #. Common block names match but binding labels do not.
+-#: fortran/resolve.c:6338
++#: fortran/resolve.c:6511
+ #, no-c-format
+ msgid "Binding label '%s' for common block '%s' at %L does not match the binding label '%s' for common block '%s' at %L"
+ msgstr ""
+
+-#: fortran/resolve.c:6385
++#: fortran/resolve.c:6558
+ #, no-c-format
+ msgid "Binding label '%s' for common block '%s' at %L collides with global entity '%s' at %L"
+ msgstr ""
+
+ #. Make sure global procedures don't collide with anything.
+-#: fortran/resolve.c:6437
++#: fortran/resolve.c:6610
+ #, no-c-format
+ msgid "Binding label '%s' at %L collides with the global entity '%s' at %L"
+ msgstr ""
+
+ #. Make sure procedures in interface bodies don't collide.
+-#: fortran/resolve.c:6450
++#: fortran/resolve.c:6623
+ #, no-c-format
+ msgid "Binding label '%s' in interface body at %L collides with the global entity '%s' at %L"
+ msgstr ""
+
+-#: fortran/resolve.c:6463
++#: fortran/resolve.c:6636
+ #, no-c-format
+ msgid "Binding label '%s' at %L collides with global entity '%s' at %L"
+ msgstr ""
+
+-#: fortran/resolve.c:6540
++#: fortran/resolve.c:6713
+ #, no-c-format
+ msgid "CHARACTER variable has zero length at %L"
+ msgstr ""
+
+-#: fortran/resolve.c:6828
++#: fortran/resolve.c:7001
+ #, no-c-format
+ msgid "Allocatable array '%s' at %L must have a deferred shape"
+ msgstr "å¯æŒ‡æ´¾çš„陣列「%sã€åœ¨ %L 處必須有延é²çš„外形"
+
+-#: fortran/resolve.c:6831
++#: fortran/resolve.c:7004
+ #, no-c-format
+ msgid "Scalar object '%s' at %L may not be ALLOCATABLE"
+ msgstr ""
+
+-#: fortran/resolve.c:6838
++#: fortran/resolve.c:7011
+ #, no-c-format
+ msgid "Array pointer '%s' at %L must have a deferred shape"
+ msgstr "陣列指標「%sã€åœ¨ %L 處必須有延é²çš„外形"
+
+-#: fortran/resolve.c:6849
++#: fortran/resolve.c:7022
+ #, no-c-format
+ msgid "Array '%s' at %L cannot have a deferred shape"
+ msgstr "陣列「%sã€åœ¨ %L 處ä¸èƒ½æœ‰å»¶é²çš„外形"
+
+-#: fortran/resolve.c:6878
++#: fortran/resolve.c:7051
+ #, no-c-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"
+ msgstr ""
+
+-#: fortran/resolve.c:6901
++#: fortran/resolve.c:7074
+ #, fuzzy, no-c-format
+ msgid "Object '%s' at %L must have the SAVE attribute for default initialization of a component"
+ msgstr "%L 處的物件「%sã€å¿…須有 SAVE 屬性 %s"
+
+ #. The shape of a main program or module array needs to be
+ #. constant.
+-#: fortran/resolve.c:6948
++#: fortran/resolve.c:7121
+ #, no-c-format
+ msgid "The module or main program array '%s' at %L must have constant shape"
+ msgstr "模組或主程å¼é™£åˆ—「%sã€åœ¨ %L 處必須有常態的外形"
+
+-#: fortran/resolve.c:6961
++#: fortran/resolve.c:7134
+ #, no-c-format
+ msgid "Entity with assumed character length at %L must be a dummy argument or a PARAMETER"
+ msgstr ""
+
+-#: fortran/resolve.c:6980
++#: fortran/resolve.c:7153
+ #, no-c-format
+ msgid "'%s' at %L must have constant character length in this context"
+ msgstr ""
+
+-#: fortran/resolve.c:7012
++#: fortran/resolve.c:7185
+ #, no-c-format
+ msgid "Allocatable '%s' at %L cannot have an initializer"
+ msgstr "å¯æŒ‡æ´¾çš„「%sã€åœ¨ %L 處ä¸èƒ½æœ‰åˆå§‹å€¼è¨­å®š"
+
+-#: fortran/resolve.c:7015
++#: fortran/resolve.c:7188
+ #, no-c-format
+ msgid "External '%s' at %L cannot have an initializer"
+ msgstr "外部「%sã€åœ¨ %L 處ä¸èƒ½æœ‰åˆå§‹å€¼è¨­å®š"
+
+-#: fortran/resolve.c:7019
++#: fortran/resolve.c:7192
+ #, no-c-format
+ msgid "Dummy '%s' at %L cannot have an initializer"
+ msgstr "啞元「%sã€åœ¨ %L 處ä¸èƒ½æœ‰åˆå§‹å€¼è¨­å®š"
+
+-#: fortran/resolve.c:7022
++#: fortran/resolve.c:7195
+ #, no-c-format
+ msgid "Intrinsic '%s' at %L cannot have an initializer"
+ msgstr "內建函å¼ã€Œ%sã€åœ¨ %L 處ä¸èƒ½æœ‰åˆå§‹å€¼è¨­å®š"
+
+-#: fortran/resolve.c:7025
++#: fortran/resolve.c:7198
+ #, no-c-format
+ msgid "Function result '%s' at %L cannot have an initializer"
+ msgstr "函å¼çµæžœã€Œ%sã€åœ¨ %L 處ä¸èƒ½æœ‰åˆå§‹å€¼è¨­å®š"
+
+-#: fortran/resolve.c:7028
++#: fortran/resolve.c:7201
+ #, no-c-format
+ msgid "Automatic array '%s' at %L cannot have an initializer"
+ msgstr "自動陣列「%sã€åœ¨ %L 處ä¸èƒ½æœ‰åˆå§‹å€¼è¨­å®š"
+
+-#: fortran/resolve.c:7051
++#: fortran/resolve.c:7224
+ #, no-c-format
+ msgid "Although not referenced, '%s' at %L has ambiguous interfaces"
+ msgstr ""
+
+-#: fortran/resolve.c:7070
++#: fortran/resolve.c:7243
+ #, no-c-format
+ msgid "Character-valued statement function '%s' at %L must have constant length"
+ msgstr ""
+
+-#: fortran/resolve.c:7078
++#: fortran/resolve.c:7251
+ #, fuzzy, no-c-format
+ msgid "Automatic character length function '%s' at %L must have an explicit interface"
+ msgstr "自動陣列「%sã€åœ¨ %L 處ä¸èƒ½æœ‰åˆå§‹å€¼è¨­å®š"
+
+-#: fortran/resolve.c:7103
++#: fortran/resolve.c:7276
+ #, no-c-format
+ msgid "Fortran 2003: '%s' is of a PRIVATE type and cannot be a dummy argument of '%s', which is PUBLIC at %L"
+ msgstr ""
+
+-#: fortran/resolve.c:7126 fortran/resolve.c:7151
++#: fortran/resolve.c:7299 fortran/resolve.c:7324
+ #, no-c-format
+ msgid "Fortran 2003: Procedure '%s' in PUBLIC interface '%s' at %L takes dummy arguments of '%s' which is PRIVATE"
+ msgstr ""
+
+-#: fortran/resolve.c:7168
++#: fortran/resolve.c:7341
+ #, fuzzy, no-c-format
+ msgid "Function '%s' at %L cannot have an initializer"
+ msgstr "函å¼çµæžœã€Œ%sã€åœ¨ %L 處ä¸èƒ½æœ‰åˆå§‹å€¼è¨­å®š"
+
+-#: fortran/resolve.c:7177
++#: fortran/resolve.c:7350
+ #, no-c-format
+ msgid "External object '%s' at %L may not have an initializer"
+ msgstr "外部物件「%sã€åœ¨ %L 處ä¸èƒ½æœ‰åˆå§‹å€¼è¨­å®š"
+
+-#: fortran/resolve.c:7185
++#: fortran/resolve.c:7358
+ #, fuzzy, no-c-format
+ msgid "ELEMENTAL function '%s' at %L must have a scalar result"
+ msgstr "內建函å¼ã€Œ%s〠於 %L 處必須有至少兩個引數"
+
+-#: fortran/resolve.c:7206
++#: fortran/resolve.c:7379
+ #, no-c-format
+ msgid "CHARACTER(*) function '%s' at %L cannot be array-valued"
+ msgstr "CHARACTER(*) 函å¼ã€Œ%sã€(ä½æ–¼ %L)ä¸èƒ½ä»¥é™£åˆ—賦值"
+
+-#: fortran/resolve.c:7210
++#: fortran/resolve.c:7383
+ #, no-c-format
+ msgid "CHARACTER(*) function '%s' at %L cannot be pointer-valued"
+ msgstr "CHARACTER(*) 函å¼ã€Œ%sã€(ä½æ–¼ %L)ä¸èƒ½ä»¥æŒ‡æ¨™è³¦å€¼"
+
+-#: fortran/resolve.c:7214
++#: fortran/resolve.c:7387
+ #, no-c-format
+ msgid "CHARACTER(*) function '%s' at %L cannot be pure"
+ msgstr "CHARACTER(*) 函å¼ã€Œ%sã€(ä½æ–¼ %L)ä¸èƒ½æ˜¯ç´”é‡"
+
+-#: fortran/resolve.c:7218
++#: fortran/resolve.c:7391
+ #, no-c-format
+ msgid "CHARACTER(*) function '%s' at %L cannot be recursive"
+ msgstr ""
+
+-#: fortran/resolve.c:7227
++#: fortran/resolve.c:7400
+ #, no-c-format
+ msgid "CHARACTER(*) function '%s' at %L is obsolescent in fortran 95"
+ msgstr ""
+
+-#: fortran/resolve.c:7299
++#: fortran/resolve.c:7472
+ #, no-c-format
+ msgid "Character length of component '%s' needs to be a constant specification expression at %L"
+ msgstr ""
+
+-#: fortran/resolve.c:7314
++#: fortran/resolve.c:7487
+ #, no-c-format
+ msgid "The component '%s' is a PRIVATE type and cannot be a component of '%s', which is PUBLIC at %L"
+ msgstr ""
+
+-#: fortran/resolve.c:7324
++#: fortran/resolve.c:7497
+ #, fuzzy, no-c-format
+ msgid "Component %s of SEQUENCE type declared at %L does not have the SEQUENCE attribute"
+ msgstr "%C 處的元件必須有 POINTER 屬性"
+
+-#: fortran/resolve.c:7334
++#: fortran/resolve.c:7507
+ #, no-c-format
+ msgid "The pointer component '%s' of '%s' at %L is a type that has not been declared"
+ msgstr ""
+
+-#: fortran/resolve.c:7352
++#: fortran/resolve.c:7525
+ #, fuzzy, no-c-format
+ msgid "Component '%s' of '%s' at %L must have constant array bounds"
+ msgstr "內建函å¼ã€Œ%s〠於 %L 處必須有至少兩個引數"
+
+-#: fortran/resolve.c:7395
++#: fortran/resolve.c:7568
+ #, no-c-format
+ msgid "NAMELIST object '%s' was declared PRIVATE and cannot be member of PUBLIC namelist '%s' at %L"
+ msgstr ""
+
+-#: fortran/resolve.c:7405
++#: fortran/resolve.c:7578
+ #, no-c-format
+ msgid "NAMELIST object '%s' has use-associated PRIVATE components and cannot be member of namelist '%s' at %L"
+ msgstr ""
+
+-#: fortran/resolve.c:7418
++#: fortran/resolve.c:7591
+ #, no-c-format
+ msgid "NAMELIST object '%s' has PRIVATE components and cannot be a member of PUBLIC namelist '%s' at %L"
+ msgstr ""
+
+-#: fortran/resolve.c:7430
++#: fortran/resolve.c:7603
+ #, no-c-format
+ msgid "NAMELIST array object '%s' must not have assumed shape in namelist '%s' at %L"
+ msgstr ""
+
+-#: fortran/resolve.c:7439
++#: fortran/resolve.c:7612
+ #, no-c-format
+ msgid "NAMELIST array object '%s' must have constant shape in namelist '%s' at %L"
+ msgstr ""
+
+-#: fortran/resolve.c:7451
++#: fortran/resolve.c:7624
+ #, no-c-format
+ msgid "NAMELIST object '%s' in namelist '%s' at %L cannot have ALLOCATABLE components"
+ msgstr ""
+
+-#: fortran/resolve.c:7459
++#: fortran/resolve.c:7632
+ #, no-c-format
+ msgid "NAMELIST object '%s' in namelist '%s' at %L cannot have POINTER components"
+ msgstr ""
+
+-#: fortran/resolve.c:7485
++#: fortran/resolve.c:7658
+ #, fuzzy, no-c-format
+ msgid "PROCEDURE attribute conflicts with NAMELIST attribute in '%s' at %L"
+ msgstr "%s 屬性與 %s 屬性è¡çªï¼Œåœ¨ã€Œ%sã€ä¸­ï¼Œä½æ–¼ %L"
+
+-#: fortran/resolve.c:7504
++#: fortran/resolve.c:7677
+ #, fuzzy, no-c-format
+ msgid "Parameter array '%s' at %L cannot be automatic or of deferred shape"
+ msgstr "陣列「%sã€åœ¨ %L 處ä¸èƒ½æœ‰å»¶é²çš„外形"
+
+-#: fortran/resolve.c:7515
++#: fortran/resolve.c:7688
+ #, no-c-format
+ msgid "Implicitly typed PARAMETER '%s' at %L doesn't match a later IMPLICIT type"
+ msgstr ""
+
+-#: fortran/resolve.c:7526
++#: fortran/resolve.c:7699
+ #, no-c-format
+ msgid "Incompatible derived type in PARAMETER at %L"
+ msgstr ""
+
+-#: fortran/resolve.c:7597
++#: fortran/resolve.c:7758
++#, no-c-format
++msgid "Interface '%s', used by procedure '%s' at %L, is declared in a later PROCEDURE statement"
++msgstr ""
++
++#: fortran/resolve.c:7772
+ #, fuzzy, no-c-format
+ msgid "Interface '%s' of procedure '%s' at %L must be explicit"
+ msgstr "元素程åºçš„引數「%sã€åœ¨ %L 處必須是標é‡"
+
+-#: fortran/resolve.c:7622
++#: fortran/resolve.c:7797
+ #, fuzzy, no-c-format
+ msgid "Type specified for intrinsic function '%s' at %L is ignored"
+ msgstr "指定函å¼ã€Œ%sã€(ä½æ–¼ %L)必須為 PURE"
+
+-#: fortran/resolve.c:7629
++#: fortran/resolve.c:7804
+ #, fuzzy, no-c-format
+ msgid "Intrinsic subroutine '%s' at %L shall not have a type specifier"
+ msgstr "內建函å¼ã€Œ%sã€åœ¨ %L 處ä¸èƒ½æœ‰åˆå§‹å€¼è¨­å®š"
+
+-#: fortran/resolve.c:7636
++#: fortran/resolve.c:7811
+ #, fuzzy, no-c-format
+ msgid "Intrinsic '%s' at %L does not exist"
+ msgstr "%L 處的內建函å¼ä¸å­˜åœ¨"
+
+-#: fortran/resolve.c:7676
++#: fortran/resolve.c:7851
+ #, no-c-format
+ msgid "Assumed size array at %L must be a dummy argument"
+ msgstr "å‡å®šå¤§å°çš„陣列在 %L 處必須是啞引數"
+
+-#: fortran/resolve.c:7679
++#: fortran/resolve.c:7854
+ #, no-c-format
+ msgid "Assumed shape array at %L must be a dummy argument"
+ msgstr "å‡å®šå¤–形的陣列在 %L 處必須是啞引數"
+
+-#: fortran/resolve.c:7691
++#: fortran/resolve.c:7866
+ #, no-c-format
+ msgid "Symbol at %L is not a DUMMY variable"
+ msgstr "%L 處的符號ä¸æ˜¯ä¸€å€‹ DUMMY 變數"
+
+-#: fortran/resolve.c:7697
++#: fortran/resolve.c:7872
+ #, no-c-format
+ msgid "'%s' at %L cannot have the VALUE attribute because it is not a dummy argument"
+ msgstr ""
+
+-#: fortran/resolve.c:7707
++#: fortran/resolve.c:7882
+ #, fuzzy, no-c-format
+ msgid "Character dummy variable '%s' at %L with VALUE attribute must have constant length"
+ msgstr "變數「%sã€åœ¨ %L 處上下文中必須是常數"
+
+-#: fortran/resolve.c:7716
++#: fortran/resolve.c:7891
+ #, no-c-format
+ msgid "C interoperable character dummy variable '%s' at %L with VALUE attribute must have length one"
+ msgstr ""
+
+-#: fortran/resolve.c:7742
++#: fortran/resolve.c:7917
+ #, no-c-format
+ msgid "Variable '%s' at %L cannot be BIND(C) because it is neither a COMMON block nor declared at the module level scope"
+ msgstr ""
+
+-#: fortran/resolve.c:7795
++#: fortran/resolve.c:7970
+ #, no-c-format
+ msgid "The derived type '%s' at %L is of type '%s', which has not been defined"
+ msgstr ""
+
+-#: fortran/resolve.c:7811
++#: fortran/resolve.c:7987
+ #, fuzzy, no-c-format
+ msgid "Fortran 2003: PUBLIC %s '%s' at %L of PRIVATE derived type '%s'"
+ msgstr "PUBLIC 函å¼ã€Œ%sã€åœ¨ %L 處ä¸èƒ½æ˜¯ PRIVATE 類型「%sã€"
+
+-#: fortran/resolve.c:7830
++#: fortran/resolve.c:8006
+ #, no-c-format
+ msgid "The INTENT(OUT) dummy argument '%s' at %L is ASSUMED SIZE and so cannot have a default initializer"
+ msgstr ""
+
+-#: fortran/resolve.c:7889
++#: fortran/resolve.c:8065
+ #, no-c-format
+ msgid "Threadprivate at %L isn't SAVEd"
+ msgstr ""
+
+-#: fortran/resolve.c:7967
++#: fortran/resolve.c:8143
+ #, no-c-format
+ msgid "BLOCK DATA element '%s' at %L must be in COMMON"
+ msgstr ""
+
+-#: fortran/resolve.c:8011
++#: fortran/resolve.c:8149
+ #, no-c-format
++msgid "DATA array '%s' at %L must be specified in a previous declaration"
++msgstr ""
++
++#: fortran/resolve.c:8194
++#, no-c-format
+ msgid "Nonconstant array section at %L in DATA statement"
+ msgstr ""
+
+-#: fortran/resolve.c:8024
++#: fortran/resolve.c:8207
+ #, no-c-format
+ msgid "DATA statement at %L has more variables than values"
+ msgstr ""
+
+-#: fortran/resolve.c:8118
++#: fortran/resolve.c:8301
+ #, no-c-format
+ msgid "iterator start at %L does not simplify"
+ msgstr ""
+
+-#: fortran/resolve.c:8125
++#: fortran/resolve.c:8308
+ #, fuzzy, no-c-format
+ msgid "iterator end at %L does not simplify"
+ msgstr "%L 處的內建函å¼ä¸å­˜åœ¨"
+
+-#: fortran/resolve.c:8132
++#: fortran/resolve.c:8315
+ #, fuzzy, no-c-format
+ msgid "iterator step at %L does not simplify"
+ msgstr "%L 迭代次數ä¸èƒ½ç‚ºé›¶"
+
+-#: fortran/resolve.c:8258
++#: fortran/resolve.c:8441
+ #, no-c-format
+ msgid "DATA statement at %L has more values than variables"
+ msgstr ""
+
+-#: fortran/resolve.c:8349
++#: fortran/resolve.c:8532
+ #, no-c-format
+ msgid "Label %d at %L defined but not used"
+ msgstr "標籤 %d 於 %L 經定義但未被使用"
+
+-#: fortran/resolve.c:8354
++#: fortran/resolve.c:8537
+ #, no-c-format
+ msgid "Label %d at %L defined but cannot be used"
+ msgstr "標籤 %d 於 %L 經定義但無法被使用"
+
+-#: fortran/resolve.c:8439
++#: fortran/resolve.c:8622
+ #, no-c-format
+ msgid "Derived type variable '%s' at %L must have SEQUENCE attribute to be an EQUIVALENCE object"
+ msgstr ""
+
+-#: fortran/resolve.c:8448
++#: fortran/resolve.c:8631
+ #, no-c-format
+ msgid "Derived type variable '%s' at %L cannot have ALLOCATABLE components to be an EQUIVALENCE object"
+ msgstr ""
+
+-#: fortran/resolve.c:8465
++#: fortran/resolve.c:8639
+ #, no-c-format
++msgid "Derived type variable '%s' at %L with default initialization cannot be in EQUIVALENCE with a variable in COMMON"
++msgstr ""
++
++#: fortran/resolve.c:8656
++#, no-c-format
+ msgid "Derived type variable '%s' at %L with pointer component(s) cannot be an EQUIVALENCE object"
+ msgstr ""
+
+-#: fortran/resolve.c:8570
++#: fortran/resolve.c:8761
+ #, no-c-format
+ msgid "Syntax error in EQUIVALENCE statement at %L"
+ msgstr "%L 處 EQUIVALENCE 敘述語法錯誤"
+
+-#: fortran/resolve.c:8585
++#: fortran/resolve.c:8776
+ #, no-c-format
+ msgid "Either all or none of the objects in the EQUIVALENCE set at %L shall have the PROTECTED attribute"
+ msgstr ""
+
+-#: fortran/resolve.c:8597
++#: fortran/resolve.c:8788
+ #, no-c-format
+ msgid "Common block member '%s' at %L cannot be an EQUIVALENCE object in the pure procedure '%s'"
+ msgstr ""
+
+-#: fortran/resolve.c:8606
++#: fortran/resolve.c:8797
+ #, no-c-format
+ msgid "Named constant '%s' at %L cannot be an EQUIVALENCE object"
+ msgstr ""
+
+-#: fortran/resolve.c:8685
++#: fortran/resolve.c:8876
+ #, no-c-format
+ msgid "Array '%s' at %L with non-constant bounds cannot be an EQUIVALENCE object"
+ msgstr ""
+
+-#: fortran/resolve.c:8696
++#: fortran/resolve.c:8887
+ #, no-c-format
+ msgid "Structure component '%s' at %L cannot be an EQUIVALENCE object"
+ msgstr ""
+
+-#: fortran/resolve.c:8707
++#: fortran/resolve.c:8898
+ #, no-c-format
+ msgid "Substring at %L has length zero"
+ msgstr "%L çš„å­å­—串長度為零"
+
+-#: fortran/resolve.c:8750
++#: fortran/resolve.c:8941
+ #, no-c-format
+ msgid "PUBLIC function '%s' at %L cannot be of PRIVATE type '%s'"
+ msgstr "PUBLIC 函å¼ã€Œ%sã€åœ¨ %L 處ä¸èƒ½æ˜¯ PRIVATE 類型「%sã€"
+
+-#: fortran/resolve.c:8762
++#: fortran/resolve.c:8953
+ #, no-c-format
+ msgid "ENTRY '%s' at %L has no IMPLICIT type"
+ msgstr "ENTRY「%sã€åœ¨ %L 處沒有 IMPLICIT é¡žåž‹"
+
+-#: fortran/resolve.c:8788
++#: fortran/resolve.c:8979
+ #, no-c-format
+ msgid "User operator procedure '%s' at %L must be a FUNCTION"
+ msgstr ""
+
+-#: fortran/resolve.c:8795
++#: fortran/resolve.c:8986
+ #, no-c-format
+ msgid "User operator procedure '%s' at %L cannot be assumed character length"
+ msgstr ""
+
+-#: fortran/resolve.c:8801
++#: fortran/resolve.c:8992
+ #, fuzzy, no-c-format
+ msgid "User operator procedure '%s' at %L must have at least one argument"
+ msgstr "內建函å¼ã€Œ%s〠於 %L 處必須有至少兩個引數"
+
+-#: fortran/resolve.c:8811
++#: fortran/resolve.c:9002
+ #, fuzzy, no-c-format
+ msgid "First argument of operator interface at %L cannot be optional"
+ msgstr "%L 處é‹ç®—å­ä»‹é¢çš„第一個åƒæ•¸å¿…須是 INTENT(IN)"
+
+-#: fortran/resolve.c:8823
++#: fortran/resolve.c:9014
+ #, fuzzy, no-c-format
+ msgid "Second argument of operator interface at %L cannot be optional"
+ msgstr "%L 處é‹ç®—å­ä»‹é¢çš„第二個åƒæ•¸å¿…須是 INTENT(IN)"
+
+-#: fortran/resolve.c:8827
++#: fortran/resolve.c:9018
+ #, fuzzy, no-c-format
+ msgid "Operator interface at %L must have, at most, two arguments"
+ msgstr "內建函å¼ã€Œ%s〠於 %L 處必須有至少兩個引數"
+
+-#: fortran/resolve.c:8867
++#: fortran/resolve.c:9059
+ #, no-c-format
+ msgid "Contained procedure '%s' at %L of a PURE procedure must also be PURE"
+ msgstr ""
+
+-#: fortran/scanner.c:526
++#: fortran/scanner.c:530
+ #, no-c-format
+ msgid "!$OMP at %C starts a commented line as it neither is followed by a space nor is a continuation line"
+ msgstr ""
+
+-#: fortran/scanner.c:816 fortran/scanner.c:937
++#: fortran/scanner.c:820 fortran/scanner.c:941
+ #, fuzzy, no-c-format
+ msgid "Limit of %d continuations exceeded in statement at %C"
+ msgstr "%C 處錯誤的續列"
+
+-#: fortran/scanner.c:861
++#: fortran/scanner.c:865
+ #, fuzzy, no-c-format
+ msgid "Missing '&' in continued character constant at %C"
+ msgstr "開始於 %C 的未終çµçš„字元常數"
+
+-#: fortran/scanner.c:1071
++#: fortran/scanner.c:1075
+ #, no-c-format
+ msgid "Nonconforming tab character at %C"
+ msgstr ""
+
+-#: fortran/scanner.c:1153 fortran/scanner.c:1156
++#: fortran/scanner.c:1158 fortran/scanner.c:1161
+ #, no-c-format
+ msgid "'&' not allowed by itself in line %d"
+ msgstr ""
+
+-#: fortran/scanner.c:1189
++#: fortran/scanner.c:1207
+ #, no-c-format
+-msgid "Nonconforming tab character in column 1 of line %d"
++msgid "Nonconforming tab character in column %d of line %d"
+ msgstr ""
+
+-#: fortran/scanner.c:1387
++#: fortran/scanner.c:1405
+ #, no-c-format
+ msgid "%s:%d: file %s left but not entered"
+ msgstr "%s:%d: 檔案 %s 被留下但未進入"
+
+-#: fortran/scanner.c:1419
++#: fortran/scanner.c:1438
+ #, no-c-format
+ msgid "%s:%d: Illegal preprocessor directive"
+ msgstr "%s:%d:無效的é åŒ…å«æŒ‡ç¤º"
+
+-#: fortran/scanner.c:1514
++#: fortran/scanner.c:1533
+ #, no-c-format
+ msgid "File '%s' is being included recursively"
+ msgstr "檔案「%sã€è¢«éžè¿´åœ°åŒ…å«"
+
+-#: fortran/scanner.c:1529
++#: fortran/scanner.c:1548
+ #, no-c-format
+ msgid "Can't open file '%s'"
+ msgstr "無法開啟檔案「%sã€"
+
+-#: fortran/scanner.c:1538
++#: fortran/scanner.c:1557
+ #, no-c-format
+ msgid "Can't open included file '%s'"
+ msgstr "無法開啟包å«æª”案「%sã€"
+
+-#: fortran/scanner.c:1676
++#: fortran/scanner.c:1701
+ #, c-format
+ msgid "%s:%3d %s\n"
+ msgstr "%s:%3d %s\n"
+@@ -10236,134 +10297,134 @@
+ msgid "Argument of CHAR function at %L outside of range [0,255]"
+ msgstr "%L 處 ICHAR çš„åƒæ•¸é•·åº¦å¿…須為 1"
+
+-#: fortran/simplify.c:1247
++#: fortran/simplify.c:1293
+ #, no-c-format
+ msgid "Argument of IACHAR at %L must be of length one"
+ msgstr "%L 處 IACHAR çš„åƒæ•¸é•·åº¦å¿…須為 1"
+
+-#: fortran/simplify.c:1254
++#: fortran/simplify.c:1300
+ #, fuzzy, no-c-format
+ msgid "Argument of IACHAR function at %L outside of range 0..127"
+ msgstr "%L 處 IACHAR çš„åƒæ•¸é•·åº¦å¿…須為 1"
+
+-#: fortran/simplify.c:1293
++#: fortran/simplify.c:1339
+ #, no-c-format
+ msgid "Invalid second argument of IBCLR at %L"
+ msgstr "%L 處 IBCLR 的第二個åƒæ•¸ç„¡æ•ˆ"
+
+-#: fortran/simplify.c:1301
++#: fortran/simplify.c:1347
+ #, no-c-format
+ msgid "Second argument of IBCLR exceeds bit size at %L"
+ msgstr ""
+
+-#: fortran/simplify.c:1335
++#: fortran/simplify.c:1381
+ #, no-c-format
+ msgid "Invalid second argument of IBITS at %L"
+ msgstr "%L 處 IBITS 的第二個åƒæ•¸ç„¡æ•ˆ"
+
+-#: fortran/simplify.c:1341
++#: fortran/simplify.c:1387
+ #, no-c-format
+ msgid "Invalid third argument of IBITS at %L"
+ msgstr "%L 處 IBITS 的第三個åƒæ•¸ç„¡æ•ˆ"
+
+-#: fortran/simplify.c:1351
++#: fortran/simplify.c:1397
+ #, no-c-format
+ msgid "Sum of second and third arguments of IBITS exceeds bit size at %L"
+ msgstr ""
+
+-#: fortran/simplify.c:1393
++#: fortran/simplify.c:1439
+ #, no-c-format
+ msgid "Invalid second argument of IBSET at %L"
+ msgstr "%L 處 IBSET 的第二個åƒæ•¸ç„¡æ•ˆ"
+
+-#: fortran/simplify.c:1401
++#: fortran/simplify.c:1447
+ #, no-c-format
+ msgid "Second argument of IBSET exceeds bit size at %L"
+ msgstr ""
+
+-#: fortran/simplify.c:1431
++#: fortran/simplify.c:1477
+ #, no-c-format
+ msgid "Argument of ICHAR at %L must be of length one"
+ msgstr "%L 處 ICHAR çš„åƒæ•¸é•·åº¦å¿…須為 1"
+
+-#: fortran/simplify.c:1646
++#: fortran/simplify.c:1692
+ #, no-c-format
+ msgid "Argument of INT at %L is not a valid type"
+ msgstr "%L 處 INT 的引數類型無效"
+
+-#: fortran/simplify.c:1688
++#: fortran/simplify.c:1734
+ #, fuzzy, no-c-format
+ msgid "Argument of %s at %L is not a valid type"
+ msgstr "%L 處 INT 的引數類型無效"
+
+-#: fortran/simplify.c:1786
++#: fortran/simplify.c:1832
+ #, no-c-format
+ msgid "Invalid second argument of ISHFT at %L"
+ msgstr "%L 處 ISHFT 的第二個åƒæ•¸ç„¡æ•ˆ"
+
+-#: fortran/simplify.c:1801
++#: fortran/simplify.c:1847
+ #, no-c-format
+ msgid "Magnitude of second argument of ISHFT exceeds bit size at %L"
+ msgstr ""
+
+-#: fortran/simplify.c:1865
++#: fortran/simplify.c:1911
+ #, no-c-format
+ msgid "Invalid second argument of ISHFTC at %L"
+ msgstr "%L 處 ISHFTC 的第二個åƒæ•¸ç„¡æ•ˆ"
+
+-#: fortran/simplify.c:1879
++#: fortran/simplify.c:1925
+ #, no-c-format
+ msgid "Invalid third argument of ISHFTC at %L"
+ msgstr "%L 處 ISHFTC 的第三個åƒæ•¸ç„¡æ•ˆ"
+
+-#: fortran/simplify.c:1885
++#: fortran/simplify.c:1931
+ #, no-c-format
+ msgid "Magnitude of third argument of ISHFTC exceeds BIT_SIZE of first argument at %L"
+ msgstr ""
+
+-#: fortran/simplify.c:1901
++#: fortran/simplify.c:1947
+ #, no-c-format
+ msgid "Magnitude of second argument of ISHFTC exceeds third argument at %L"
+ msgstr ""
+
+-#: fortran/simplify.c:1904
++#: fortran/simplify.c:1950
+ #, no-c-format
+ msgid "Magnitude of second argument of ISHFTC exceeds BIT_SIZE of first argument at %L"
+ msgstr ""
+
+-#: fortran/simplify.c:1975
++#: fortran/simplify.c:2021
+ #, no-c-format
+ msgid "Argument of KIND at %L is a DERIVED type"
+ msgstr "%L 處 KIND 的引數具有 DERIVED 類型"
+
+-#: fortran/simplify.c:2163
++#: fortran/simplify.c:2209
+ #, no-c-format
+ msgid "DIM argument at %L is out of bounds"
+ msgstr "%L 處的 DIM åƒæ•¸è¶Šç•Œ"
+
+-#: fortran/simplify.c:2318
++#: fortran/simplify.c:2364
+ #, no-c-format
+ msgid "Argument of LOG at %L cannot be less than or equal to zero"
+ msgstr ""
+
+-#: fortran/simplify.c:2331
++#: fortran/simplify.c:2377
+ #, no-c-format
+ msgid "Complex argument of LOG at %L cannot be zero"
+ msgstr ""
+
+-#: fortran/simplify.c:2374
++#: fortran/simplify.c:2420
+ #, no-c-format
+ msgid "Argument of LOG10 at %L cannot be less than or equal to zero"
+ msgstr ""
+
+ #. Result is processor-dependent.
+-#: fortran/simplify.c:2579
++#: fortran/simplify.c:2628
+ #, no-c-format
+ msgid "Second argument MOD at %L is zero"
+ msgstr "%L 處 MOD 的第二個åƒæ•¸ç‚º 0"
+
+ #. Result is processor-dependent.
+-#: fortran/simplify.c:2590
++#: fortran/simplify.c:2639
+ #, no-c-format
+ msgid "Second argument of MOD at %L is zero"
+ msgstr "%L 處 MOD 的第二個åƒæ•¸ç‚º 0"
+@@ -10371,82 +10432,87 @@
+ #. Result is processor-dependent. This processor just opts
+ #. to not handle it at all.
+ #. Result is processor-dependent.
+-#: fortran/simplify.c:2638 fortran/simplify.c:2650
++#: fortran/simplify.c:2687 fortran/simplify.c:2699
+ #, no-c-format
+ msgid "Second argument of MODULO at %L is zero"
+ msgstr "%L 處 MODULO 的第二個åƒæ•¸ç‚º 0"
+
+-#: fortran/simplify.c:2702
++#: fortran/simplify.c:2751
+ #, fuzzy, no-c-format
+ msgid "Second argument of NEAREST at %L shall not be zero"
+ msgstr "%L 處 NEAREST 的第二個åƒæ•¸ä¸èƒ½ç‚º 0"
+
+-#: fortran/simplify.c:2977
++#: fortran/simplify.c:2787
++#, fuzzy, no-c-format
++msgid "Result of NEAREST is NaN at %L"
++msgstr "%L 處 SCALE çš„çµæžœå‘上溢ä½å…¶ç¨®åˆ¥"
++
++#: fortran/simplify.c:3062
+ #, no-c-format
+ msgid "Argument NCOPIES of REPEAT intrinsic is negative at %L"
+ msgstr ""
+
+-#: fortran/simplify.c:3032
++#: fortran/simplify.c:3117
+ #, no-c-format
+ msgid "Argument NCOPIES of REPEAT intrinsic is too large at %L"
+ msgstr ""
+
+-#: fortran/simplify.c:3122
++#: fortran/simplify.c:3232
+ #, no-c-format
+ msgid "Integer too large in shape specification at %L"
+ msgstr "%L 處外形指定中整數太大"
+
+-#: fortran/simplify.c:3132
++#: fortran/simplify.c:3242
+ #, no-c-format
+ msgid "Too many dimensions in shape specification for RESHAPE at %L"
+ msgstr "%L 為 RESHAPE 指定的維數太多"
+
+-#: fortran/simplify.c:3140
++#: fortran/simplify.c:3250
+ #, no-c-format
+ msgid "Shape specification at %L cannot be negative"
+ msgstr "%L 處外形指定ä¸èƒ½ç‚ºè² æ•¸"
+
+-#: fortran/simplify.c:3150
++#: fortran/simplify.c:3260
+ #, no-c-format
+ msgid "Shape specification at %L cannot be the null array"
+ msgstr ""
+
+-#: fortran/simplify.c:3171
++#: fortran/simplify.c:3281
+ #, no-c-format
+ msgid "ORDER parameter of RESHAPE at %L is not the same size as SHAPE parameter"
+ msgstr ""
+
+-#: fortran/simplify.c:3178
++#: fortran/simplify.c:3288
+ #, no-c-format
+ msgid "Error in ORDER parameter of RESHAPE at %L"
+ msgstr ""
+
+-#: fortran/simplify.c:3188
++#: fortran/simplify.c:3298
+ #, no-c-format
+ msgid "ORDER parameter of RESHAPE at %L is out of range"
+ msgstr ""
+
+-#: fortran/simplify.c:3197
++#: fortran/simplify.c:3307
+ #, no-c-format
+ msgid "Invalid permutation in ORDER parameter at %L"
+ msgstr ""
+
+-#: fortran/simplify.c:3253
++#: fortran/simplify.c:3363
+ #, no-c-format
+ msgid "PAD parameter required for short SOURCE parameter at %L"
+ msgstr ""
+
+-#: fortran/simplify.c:3372
++#: fortran/simplify.c:3482
+ #, no-c-format
+ msgid "Result of SCALE overflows its kind at %L"
+ msgstr "%L 處 SCALE çš„çµæžœå‘上溢ä½å…¶ç¨®åˆ¥"
+
+-#: fortran/simplify.c:3942
++#: fortran/simplify.c:4056
+ #, no-c-format
+ msgid "Argument of SQRT at %L has a negative value"
+ msgstr "%L 處 SQRT çš„åƒæ•¸ç‚ºè² "
+
+-#: fortran/simplify.c:4069
++#: fortran/simplify.c:4190
+ #, no-c-format
+ msgid "Intrinsic TRANSFER at %L has partly undefined result: source size %ld < result size %ld"
+ msgstr ""
+@@ -10675,29 +10741,29 @@
+ msgid "Symbol '%s' at %C has already been host associated"
+ msgstr ""
+
+-#: fortran/symbol.c:3162
++#: fortran/symbol.c:3189
+ #, no-c-format
+ msgid "Derived type '%s' declared at %L must have the BIND attribute to be C interoperable"
+ msgstr ""
+
+-#: fortran/symbol.c:3173
++#: fortran/symbol.c:3200
+ #, no-c-format
+ msgid "Derived type '%s' at %L is empty"
+ msgstr ""
+
+-#: fortran/symbol.c:3190
++#: fortran/symbol.c:3217
+ #, no-c-format
+ msgid "Component '%s' at %L cannot have the POINTER attribute because it is a member of the BIND(C) derived type '%s' at %L"
+ msgstr ""
+
+-#: fortran/symbol.c:3202
++#: fortran/symbol.c:3229
+ #, no-c-format
+ msgid "Component '%s' at %L cannot have the ALLOCATABLE attribute because it is a member of the BIND(C) derived type '%s' at %L"
+ msgstr ""
+
+ #. If the derived type is bind(c), all fields must be
+ #. interop.
+-#: fortran/symbol.c:3241
++#: fortran/symbol.c:3268
+ #, no-c-format
+ msgid "Component '%s' in derived type '%s' at %L may not be C interoperable, even though derived type '%s' is BIND(C)"
+ msgstr ""
+@@ -10705,17 +10771,17 @@
+ #. If derived type is param to bind(c) routine, or to one
+ #. of the iso_c_binding procs, it must be interoperable, so
+ #. all fields must interop too.
+-#: fortran/symbol.c:3250
++#: fortran/symbol.c:3277
+ #, no-c-format
+ msgid "Component '%s' in derived type '%s' at %L may not be C interoperable"
+ msgstr ""
+
+-#: fortran/symbol.c:3264
++#: fortran/symbol.c:3291
+ #, no-c-format
+ msgid "Derived type '%s' at %L cannot be declared with both PRIVATE and BIND(C) attributes"
+ msgstr ""
+
+-#: fortran/symbol.c:3272
++#: fortran/symbol.c:3299
+ #, fuzzy, no-c-format
+ msgid "Derived type '%s' at %L cannot have the SEQUENCE attribute because it is BIND(C)"
+ msgstr "%L 處的物件「%sã€å¿…須有 SAVE 屬性 %s"
+@@ -10725,38 +10791,43 @@
+ msgid "Overlapping unequal initializers in EQUIVALENCE at %L"
+ msgstr ""
+
+-#: fortran/trans-common.c:396
++#: fortran/target-memory.c:635
+ #, no-c-format
++msgid "BOZ constant at %L is too large (%ld vs %ld bits)"
++msgstr ""
++
++#: fortran/trans-common.c:399
++#, no-c-format
+ msgid "Named COMMON block '%s' at %L shall be of the same size"
+ msgstr ""
+
+-#: fortran/trans-common.c:817
++#: fortran/trans-common.c:833
+ #, no-c-format
+ msgid "Bad array reference at %L"
+ msgstr "%L 處陣列åƒç…§éŒ¯èª¤"
+
+-#: fortran/trans-common.c:825
++#: fortran/trans-common.c:841
+ #, no-c-format
+ msgid "Illegal reference type at %L as EQUIVALENCE object"
+ msgstr ""
+
+-#: fortran/trans-common.c:865
++#: fortran/trans-common.c:881
+ #, no-c-format
+ msgid "Inconsistent equivalence rules involving '%s' at %L and '%s' at %L"
+ msgstr ""
+
+ #. Aligning this field would misalign a previous field.
+-#: fortran/trans-common.c:998
++#: fortran/trans-common.c:1014
+ #, no-c-format
+ msgid "The equivalence set for variable '%s' declared at %L violates alignment requirements"
+ msgstr ""
+
+-#: fortran/trans-common.c:1063
++#: fortran/trans-common.c:1079
+ #, no-c-format
+ msgid "Equivalence for '%s' does not match ordering of COMMON '%s' at %L"
+ msgstr ""
+
+-#: fortran/trans-common.c:1078
++#: fortran/trans-common.c:1094
+ #, no-c-format
+ msgid "The equivalence set for '%s' cause an invalid extension to COMMON '%s' at %L"
+ msgstr ""
+@@ -10764,42 +10835,42 @@
+ #. The required offset conflicts with previous alignment
+ #. requirements. Insert padding immediately before this
+ #. segment.
+-#: fortran/trans-common.c:1089
++#: fortran/trans-common.c:1105
+ #, no-c-format
+ msgid "Padding of %d bytes required before '%s' in COMMON '%s' at %L"
+ msgstr ""
+
+-#: fortran/trans-common.c:1115
++#: fortran/trans-common.c:1131
+ #, fuzzy, no-c-format
+ msgid "COMMON '%s' at %L does not exist"
+ msgstr "%L 處的內建函å¼ä¸å­˜åœ¨"
+
+-#: fortran/trans-common.c:1122
++#: fortran/trans-common.c:1138
+ #, no-c-format
+ msgid "COMMON '%s' at %L requires %d bytes of padding at start"
+ msgstr ""
+
+-#: fortran/trans-decl.c:3016
++#: fortran/trans-decl.c:2979
+ #, fuzzy, no-c-format
+ msgid "Dummy argument '%s' at %L was declared INTENT(OUT) but was not set"
+ msgstr "「%sã€å•žå…ƒå¼•æ•¸åœ¨ %L 處ä¸èƒ½æ˜¯ INTENT(OUT)"
+
+-#: fortran/trans-decl.c:3020
++#: fortran/trans-decl.c:2983
+ #, fuzzy, no-c-format
+ msgid "Unused dummy argument '%s' at %L"
+ msgstr "çµ¦äºˆå‡½å¼ %s çš„åƒæ•¸å¤ªå¤šï¼Œæ–¼ %L"
+
+-#: fortran/trans-decl.c:3026
++#: fortran/trans-decl.c:2989
+ #, fuzzy, no-c-format
+ msgid "Unused variable '%s' declared at %L"
+ msgstr "實體變數 %qs 宣告為 %s"
+
+-#: fortran/trans-decl.c:3052
++#: fortran/trans-decl.c:3015
+ #, fuzzy, no-c-format
+ msgid "Unused parameter '%s' declared at %L"
+ msgstr "åƒæ•¸ %qD 被宣告為 void"
+
+-#: fortran/trans-expr.c:2036
++#: fortran/trans-expr.c:2199
+ #, fuzzy, no-c-format
+ msgid "Unknown argument list function at %L"
+ msgstr "函å¼ã€Œ%sã€åœ¨ %C 處缺少åƒæ•¸æ¸…å–®"
+@@ -10809,12 +10880,12 @@
+ msgid "'dim' argument of %s intrinsic at %L is not a valid dimension index"
+ msgstr "「%sã€å…§å»ºå‡½å¼çš„「dimã€å¼•æ•¸(æ–¼ %L 處)ä¸æ˜¯ä¸€å€‹æœ‰æ•ˆçš„維數索引"
+
+-#: fortran/trans-io.c:1850
++#: fortran/trans-io.c:1851
+ #, fuzzy, no-c-format
+ msgid "Derived type '%s' at %L has PRIVATE components"
+ msgstr "元件「%sã€åœ¨ %C 處是「%sã€çš„ PRIVATE 元件"
+
+-#: fortran/trans-stmt.c:438
++#: fortran/trans-stmt.c:436
+ #, no-c-format
+ msgid "An alternate return at %L without a * dummy argument"
+ msgstr "%L ä¸å¸¶ * 啞引數的替代回傳"
+@@ -11037,56 +11108,35 @@
+ msgid "cannot specify 'main' class when not linking"
+ msgstr "ä¸é€£çµæ™‚無法指定「mainã€é¡žåˆ¥"
+
+-#: config/i386/nwld.h:34
+-msgid "Static linking is not supported.\n"
+-msgstr "ä¸æ”¯æ´éœæ…‹é€£çµã€‚\n"
+-
+-#: java/jvspec.c:80 gcc.c:820 ada/lang-specs.h:33
+-msgid "-pg and -fomit-frame-pointer are incompatible"
+-msgstr "-pg å’Œ -fomit-frame-pointer 互ä¸ç›¸å®¹"
+-
+ #: config/vax/netbsd-elf.h:41
+ msgid "the -shared option is not currently supported for VAX ELF"
+ msgstr "-shared é¸é …ç›®å‰åœ¨ VAX ELF 下ä¸å—支æ´"
+
+-#: config/sparc/sol2-gld-bi.h:17 config/sparc/sol2-gld-bi.h:22
+-#: config/sparc/sol2-bi.h:189 config/sparc/sol2-bi.h:194
+-msgid "does not support multilib"
+-msgstr "ä¸æ”¯æ´ multilib"
+-
+ #: config/vax/vax.h:49 config/vax/vax.h:50
+ msgid "profiling not supported with -mg\n"
+ msgstr "å–樣ä¸æ”¯æ´ -mg\n"
+
+-#: config/rs6000/linux64.h:347 config/rs6000/linux64.h:349 config/linux.h:106
+-#: config/linux.h:108 config/rs6000/sysv4.h:897 config/rs6000/sysv4.h:899
++#: config/sh/sh.h:461
++msgid "SH2a does not support little-endian"
++msgstr "SH2a ä¸æ”¯æ´ä½Žä½ä½å…ƒçµ„在å‰"
++
++#: config/s390/tpf.h:119
++msgid "static is not supported on TPF-OS"
++msgstr "TPF-OS ä¸æ”¯æ´ static"
++
+ #: config/alpha/linux-elf.h:33 config/alpha/linux-elf.h:35
++#: config/rs6000/sysv4.h:897 config/rs6000/sysv4.h:899
+ #: config/sparc/linux.h:126 config/sparc/linux.h:128
+-#: config/sparc/linux64.h:152 config/sparc/linux64.h:154
++#: config/sparc/linux64.h:152 config/sparc/linux64.h:154 config/linux.h:106
++#: config/linux.h:108 config/rs6000/linux64.h:347 config/rs6000/linux64.h:349
+ #, fuzzy
+ msgid "-mglibc and -muclibc used together"
+ msgstr "-mips16 å’Œ -mdsp ä¸èƒ½ä¸€èµ·ä½¿ç”¨"
+
+-#: config/i386/cygwin.h:28
+-msgid "mno-cygwin and mno-win32 are not compatible"
+-msgstr "mno-cygwin å’Œ mno-win32 互ä¸ç›¸å®¹"
++#: java/jvspec.c:80 gcc.c:820 ada/lang-specs.h:33
++msgid "-pg and -fomit-frame-pointer are incompatible"
++msgstr "-pg å’Œ -fomit-frame-pointer 互ä¸ç›¸å®¹"
+
+-#: config/i386/cygwin.h:74 config/i386/mingw32.h:74
+-msgid "shared and mdll are not compatible"
+-msgstr "shared å’Œ mdll 互ä¸ç›¸å®¹"
+-
+-#: config/i386/sco5.h:188
+-msgid "-pg not supported on this platform"
+-msgstr "-pg 在此平å°ä¸Šä¸å—支æ´"
+-
+-#: config/i386/sco5.h:189
+-msgid "-p and -pp specified - pick one"
+-msgstr "指定了 -p å’Œ -pp - é¸æ“‡å…¶ä¸­ä¹‹ä¸€"
+-
+-#: config/i386/sco5.h:258
+-msgid "-G and -static are mutually exclusive"
+-msgstr "ä¸èƒ½åŒæ™‚使用 -G å’Œ --static é¸é …"
+-
+ #: gcc.c:792
+ msgid "GCC does not support -C or -CC without -E"
+ msgstr "GCC åªå…許 -E 與 -C 或 -CC åˆç”¨"
+@@ -11095,58 +11145,14 @@
+ msgid "-E or -x required when input is from standard input"
+ msgstr "當輸入來自標準輸入è£ç½®æ™‚ï¼Œéœ€è¦ -E 或 -x"
+
+-#: java/lang-specs.h:33
+-msgid "-fjni and -femit-class-files are incompatible"
+-msgstr "-fjni å’Œ -femit-class-files 互ä¸ç›¸å®¹"
+-
+-#: java/lang-specs.h:34
+-msgid "-fjni and -femit-class-file are incompatible"
+-msgstr "-fjni 與 -femit-class-file ä¸ç›¸å®¹"
+-
+-#: java/lang-specs.h:35 java/lang-specs.h:36
+-msgid "-femit-class-file should used along with -fsyntax-only"
+-msgstr "-femit-class-file 應當與 -fsyntax-only 一起使用"
+-
+ #: config/mcore/mcore.h:56
+ msgid "the m210 does not have little endian support"
+ msgstr "m210 ä¸æ”¯æ´ä½Žä½ä½å…ƒçµ„在å‰"
+
+-#: config/lynx.h:70
+-msgid "cannot use mthreads and mlegacy-threads together"
+-msgstr "ä¸èƒ½åŒæ™‚使用 mthreads å’Œ mlegacy-threads"
+-
+-#: config/lynx.h:95
+-msgid "cannot use mshared and static together"
+-msgstr "ä¸èƒ½åŒæ™‚使用 mshared å’Œ static"
+-
+-#: config/sh/sh.h:461
+-msgid "SH2a does not support little-endian"
+-msgstr "SH2a ä¸æ”¯æ´ä½Žä½ä½å…ƒçµ„在å‰"
+-
+-#: config/mips/mips.h:1042 config/arc/arc.h:61
++#: config/arc/arc.h:61 config/mips/mips.h:1042
+ msgid "may not use both -EB and -EL"
+ msgstr "ä¸èƒ½åŒæ™‚使用 -EB å’Œ -EL"
+
+-#: config/s390/tpf.h:119
+-msgid "static is not supported on TPF-OS"
+-msgstr "TPF-OS ä¸æ”¯æ´ static"
+-
+-#: config/rs6000/darwin.h:95
+-msgid " conflicting code gen style switches are used"
+-msgstr " è¡çªçš„程å¼ç¢¼ç”¢ç”Ÿé¸é …"
+-
+-#: ada/lang-specs.h:34
+-msgid "-c or -S required for Ada"
+-msgstr "Ada éœ€è¦ -c 或是 -S"
+-
+-#: config/mips/r3900.h:34
+-msgid "-mhard-float not supported"
+-msgstr "ä¸æ”¯æ´ -mhard-float"
+-
+-#: config/mips/r3900.h:36
+-msgid "-msingle-float and -msoft-float cannot both be specified"
+-msgstr "ä¸èƒ½åŒæ™‚指定 -msingle-float å’Œ -msoft-float"
+-
+ #: config/vxworks.h:71
+ msgid "-Xbind-now and -Xbind-lazy are incompatible"
+ msgstr "-Xbind-now 與 -Xbind-lazy ä¸ç›¸å®¹"
+@@ -11183,12 +11189,24 @@
+ msgid "-private_bundle not allowed with -dynamiclib"
+ msgstr "-private_bundle ä¸èƒ½å’Œ -dynamiclib 一起使用"
+
++#: config/mips/r3900.h:34
++msgid "-mhard-float not supported"
++msgstr "ä¸æ”¯æ´ -mhard-float"
++
++#: config/mips/r3900.h:36
++msgid "-msingle-float and -msoft-float cannot both be specified"
++msgstr "ä¸èƒ½åŒæ™‚指定 -msingle-float å’Œ -msoft-float"
++
+ #: config/sparc/linux64.h:211 config/sparc/linux64.h:222
+ #: config/sparc/netbsd-elf.h:125 config/sparc/netbsd-elf.h:144
+ #: config/sparc/sol2-bi.h:217 config/sparc/sol2-bi.h:227
+ msgid "may not use both -m32 and -m64"
+ msgstr "ä¸èƒ½åŒæ™‚使用 -m32 å’Œ -m64"
+
++#: config/i386/mingw32.h:74 config/i386/cygwin.h:74
++msgid "shared and mdll are not compatible"
++msgstr "shared å’Œ mdll 互ä¸ç›¸å®¹"
++
+ #: config/arm/arm.h:147
+ msgid "-msoft-float and -mhard_float may not be used together"
+ msgstr "-msoft-float å’Œ -mhard_float ä¸èƒ½ä¸€èµ·ä½¿ç”¨"
+@@ -11197,119 +11215,64 @@
+ msgid "-mbig-endian and -mlittle-endian may not be used together"
+ msgstr "-mbig-endian å’Œ -mlittle-endian ä¸èƒ½ä¸€èµ·ä½¿ç”¨"
+
+-#: java/lang.opt:65
+-msgid "Warn if a deprecated compiler feature, class, method, or field is used"
+-msgstr "當使用éŽæ™‚的編譯器特性,類別,方法或欄ä½æ™‚給出警告"
++#: config/rs6000/darwin.h:95
++msgid " conflicting code gen style switches are used"
++msgstr " è¡çªçš„程å¼ç¢¼ç”¢ç”Ÿé¸é …"
+
+-#: java/lang.opt:69
+-msgid "Warn if deprecated empty statements are found"
+-msgstr "發ç¾éŽæ™‚的空敘述時給出警告"
++#: ada/lang-specs.h:34
++msgid "-c or -S required for Ada"
++msgstr "Ada éœ€è¦ -c 或是 -S"
+
+-#: java/lang.opt:73
+-msgid "Warn if .class files are out of date"
+-msgstr "當 .class 檔案已éŽæ™‚時給出警告"
++#: config/sparc/sol2-bi.h:189 config/sparc/sol2-bi.h:194
++#: config/sparc/sol2-gld-bi.h:17 config/sparc/sol2-gld-bi.h:22
++msgid "does not support multilib"
++msgstr "ä¸æ”¯æ´ multilib"
+
+-#: java/lang.opt:77
+-msgid "Warn if modifiers are specified when not necessary"
+-msgstr "當指定了ä¸å¿…須的修飾符時給出警告"
++#: config/i386/nwld.h:34
++msgid "Static linking is not supported.\n"
++msgstr "ä¸æ”¯æ´éœæ…‹é€£çµã€‚\n"
+
+-#: java/lang.opt:81
+-msgid "Deprecated; use --classpath instead"
+-msgstr "å·²éŽæ™‚;請改用 --classpath"
++#: config/i386/cygwin.h:28
++msgid "mno-cygwin and mno-win32 are not compatible"
++msgstr "mno-cygwin å’Œ mno-win32 互ä¸ç›¸å®¹"
+
+-#: java/lang.opt:88
+-msgid "Permit the use of the assert keyword"
+-msgstr "å…許使用 assert é—œéµå­—"
++#: config/i386/sco5.h:188
++msgid "-pg not supported on this platform"
++msgstr "-pg 在此平å°ä¸Šä¸å—支æ´"
+
+-#: java/lang.opt:110
+-msgid "Replace system path"
+-msgstr "替æ›ç³»çµ±è·¯å¾‘"
++#: config/i386/sco5.h:189
++msgid "-p and -pp specified - pick one"
++msgstr "指定了 -p å’Œ -pp - é¸æ“‡å…¶ä¸­ä¹‹ä¸€"
+
+-#: java/lang.opt:114
+-msgid "Generate checks for references to NULL"
+-msgstr "檢查åƒç…§ NULL çš„åƒç…§"
++#: config/i386/sco5.h:258
++msgid "-G and -static are mutually exclusive"
++msgstr "ä¸èƒ½åŒæ™‚使用 -G å’Œ --static é¸é …"
+
+-#: java/lang.opt:118
+-msgid "Set class path"
+-msgstr "設定類別路徑"
++#: java/lang-specs.h:33
++msgid "-fjni and -femit-class-files are incompatible"
++msgstr "-fjni å’Œ -femit-class-files 互ä¸ç›¸å®¹"
+
+-#: java/lang.opt:125
+-msgid "Output a class file"
+-msgstr "輸出一個 class 檔案"
++#: java/lang-specs.h:34
++msgid "-fjni and -femit-class-file are incompatible"
++msgstr "-fjni 與 -femit-class-file ä¸ç›¸å®¹"
+
+-#: java/lang.opt:129
+-msgid "Alias for -femit-class-file"
+-msgstr "-fmit-class-file 的別å"
++#: java/lang-specs.h:35 java/lang-specs.h:36
++msgid "-femit-class-file should used along with -fsyntax-only"
++msgstr "-femit-class-file 應當與 -fsyntax-only 一起使用"
+
+-#: java/lang.opt:133
+-msgid "Choose input encoding (defaults from your locale)"
+-msgstr "é¸æ“‡è¼¸å…¥ç·¨ç¢¼(é è¨­ä¾†è‡ªæ‚¨çš„å€åŸŸé¸é …)"
++#: config/cris/cris.h:207
++#, fuzzy
++msgid "Do not specify both -march=... and -mcpu=..."
++msgstr "ä¸èƒ½åŒæ™‚指定 -C å’Œ -o"
+
+-#: java/lang.opt:137
+-msgid "Set the extension directory path"
+-msgstr "設定擴充目錄路徑"
++#: config/lynx.h:70
++msgid "cannot use mthreads and mlegacy-threads together"
++msgstr "ä¸èƒ½åŒæ™‚使用 mthreads å’Œ mlegacy-threads"
+
+-#: java/lang.opt:144
+-msgid "Input file is a file with a list of filenames to compile"
+-msgstr "輸入檔案是一個檔案å稱清單,指定了需è¦ç·¨è­¯çš„檔案"
++#: config/lynx.h:95
++msgid "cannot use mshared and static together"
++msgstr "ä¸èƒ½åŒæ™‚使用 mshared å’Œ static"
+
+-#: java/lang.opt:151
+-msgid "Always check for non gcj generated classes archives"
+-msgstr "ç¸½æ˜¯æª¢æŸ¥éž gcj 產生的類別文件"
+-
+-#: java/lang.opt:155
+-msgid "Assume the runtime uses a hash table to map an object to its synchronization structure"
+-msgstr "å‡å®šåŸ·è¡Œæ™‚使用一張雜湊表完æˆå¾žç‰©ä»¶åˆ°å…¶åŒæ­¥çµæ§‹çš„å°æ‡‰"
+-
+-#: java/lang.opt:159
+-msgid "Generate instances of Class at runtime"
+-msgstr ""
+-
+-#: java/lang.opt:163
+-msgid "Use offset tables for virtual method calls"
+-msgstr "為虛方法呼å«ä½¿ç”¨å移表"
+-
+-#: java/lang.opt:170
+-msgid "Assume native functions are implemented using JNI"
+-msgstr "å‡å®šæœ¬åœ°å‡½å¼ä½¿ç”¨ JNI 實作"
+-
+-#: java/lang.opt:174
+-msgid "Enable optimization of static class initialization code"
+-msgstr "啟用éœæ…‹é¡žåˆ¥åˆå§‹ç¨‹å¼ç¢¼æœ€ä½³åŒ–"
+-
+-#: java/lang.opt:181
+-msgid "Reduce the amount of reflection meta-data generated"
+-msgstr ""
+-
+-#: java/lang.opt:185
+-msgid "Enable assignability checks for stores into object arrays"
+-msgstr ""
+-
+-#: java/lang.opt:189
+-msgid "Generate code for the Boehm GC"
+-msgstr "為 Boehm 產生程å¼ç¢¼"
+-
+-#: java/lang.opt:193
+-msgid "Call a library routine to do integer divisions"
+-msgstr "呼å«ä¸€å€‹å‡½å¼åº«å­ç¨‹å¼ä¾†å®Œæˆæ•´æ•¸é™¤æ³•"
+-
+-#: java/lang.opt:197
+-msgid "Generated should be loaded by bootstrap loader"
+-msgstr ""
+-
+-#: java/lang.opt:201
+-msgid "Set the source language version"
+-msgstr ""
+-
+-#: java/lang.opt:205
+-#, fuzzy
+-msgid "Set the target VM version"
+-msgstr "指定目的 CPU 的類型"
+-
+-#: ada/lang.opt:96
+-msgid "Specify options to GNAT"
+-msgstr "指定傳éžçµ¦ GNAT çš„é¸é …"
+-
+ #: fortran/lang.opt:29
+ msgid "Add a directory for INCLUDE and MODULE searching"
+ msgstr "將一個目錄加入到 INCLUDE å’Œ MODULE æœå°‹è·¯å¾‘中"
+@@ -11555,7 +11518,7 @@
+ msgid "Append a second underscore if the name already contains an underscore"
+ msgstr "當å稱已經包å«ä¸€å€‹åº•ç·šæ™‚加入第二個底線"
+
+-#: fortran/lang.opt:277 c.opt:714
++#: fortran/lang.opt:277 c.opt:718
+ msgid "Use the narrowest integer type possible for enumeration types"
+ msgstr "為列舉類型使用盡å¯èƒ½çª„的整數類型"
+
+@@ -11588,14 +11551,62 @@
+ msgid "Accept extensions to support legacy code"
+ msgstr "接å—一定的擴充以支æ´å‚³çµ±çš„程å¼ç¢¼"
+
+-#: treelang/lang.opt:30
+-msgid "Trace lexical analysis"
+-msgstr "追蹤解æž"
++#: config/mcore/mcore.opt:23
++msgid "Generate code for the M*Core M210"
++msgstr "為 M*Core M210 產生程å¼ç¢¼"
+
+-#: treelang/lang.opt:34
+-msgid "Trace the parsing process"
+-msgstr "追蹤解æžè™•ç†åº"
++#: config/mcore/mcore.opt:27
++msgid "Generate code for the M*Core M340"
++msgstr "為 M*Core M340 產生程å¼ç¢¼"
+
++#: config/mcore/mcore.opt:31
++msgid "Set maximum alignment to 4"
++msgstr "設定最大å°é½Šé‚Šç•Œç‚º 4"
++
++#: config/mcore/mcore.opt:35
++msgid "Force functions to be aligned to a 4 byte boundary"
++msgstr "將函å¼å¼·è¡Œå°é½Šåˆ° 4 ä½å…ƒçµ„邊界上"
++
++#: config/mcore/mcore.opt:39
++msgid "Set maximum alignment to 8"
++msgstr "設定最大å°é½Šé‚Šç•Œç‚º 8"
++
++#: config/mcore/mcore.opt:43 config/score/score.opt:23
++msgid "Generate big-endian code"
++msgstr "產生高ä½ä½å…ƒçµ„在å‰çš„程å¼ç¢¼"
++
++#: config/mcore/mcore.opt:47
++msgid "Emit call graph information"
++msgstr "產生呼å«åœ–資訊"
++
++#: config/mcore/mcore.opt:51
++msgid "Use the divide instruction"
++msgstr "使用除法指令"
++
++#: config/mcore/mcore.opt:55
++msgid "Inline constants if it can be done in 2 insns or less"
++msgstr "當常數å¯ä»¥ç‚ºå…©å€‹ä»¥ä¸‹çš„指令產生時內è¯å¸¸æ•¸"
++
++#: config/mcore/mcore.opt:59 config/score/score.opt:27
++msgid "Generate little-endian code"
++msgstr "產生低ä½ä½å…ƒçµ„在å‰çš„程å¼ç¢¼"
++
++#: config/mcore/mcore.opt:67
++msgid "Use arbitrary sized immediates in bit operations"
++msgstr "在ä½ä½œæ¥­ä¸­ä½¿ç”¨ä»»æ„大å°çš„ç«‹å³æ•¸å€¼"
++
++#: config/mcore/mcore.opt:71
++msgid "Prefer word accesses over byte accesses"
++msgstr "盡é‡æŒ‰å­—å­˜å–而ä¸æ˜¯æŒ‰ä½å…ƒçµ„å­˜å–"
++
++#: config/mcore/mcore.opt:75
++msgid "Set the maximum amount for a single stack increment operation"
++msgstr ""
++
++#: config/mcore/mcore.opt:79
++msgid "Always treat bitfields as int-sized"
++msgstr "總èªç‚ºä½å…ƒæ®µé•·èˆ‡ int 相åŒ"
++
+ #: config/alpha/alpha.opt:23 config/i386/i386.opt:155
+ msgid "Do not use hardware fp"
+ msgstr "ä¸ä½¿ç”¨ç¡¬é«”浮點單元"
+@@ -11711,271 +11722,6 @@
+ msgid "Specify bit size of immediate TLS offsets"
+ msgstr "指定執行緒局部存儲å移é‡ç«‹å³æ•¸å€¼çš„ä½å¤§å°"
+
+-#: config/frv/frv.opt:23
+-msgid "Use 4 media accumulators"
+-msgstr "使用 4 個多媒體累加器"
+-
+-#: config/frv/frv.opt:27
+-msgid "Use 8 media accumulators"
+-msgstr "使用 8 個多媒體累加器"
+-
+-#: config/frv/frv.opt:31
+-msgid "Enable label alignment optimizations"
+-msgstr "啟用標籤å°é½Šæœ€ä½³åŒ–"
+-
+-#: config/frv/frv.opt:35
+-msgid "Dynamically allocate cc registers"
+-msgstr "動態指派 cc 暫存器"
+-
+-#: config/frv/frv.opt:42
+-msgid "Set the cost of branches"
+-msgstr "設定分支的代價"
+-
+-#: config/frv/frv.opt:46
+-msgid "Enable conditional execution other than moves/scc"
+-msgstr "啟用æ¢ä»¶åŸ·è¡Œè€Œéž moves/scc"
+-
+-#: config/frv/frv.opt:50
+-msgid "Change the maximum length of conditionally-executed sequences"
+-msgstr "變更æ¢ä»¶åŸ·è¡Œåºåˆ—的最大長度"
+-
+-#: config/frv/frv.opt:54
+-msgid "Change the number of temporary registers that are available to conditionally-executed sequences"
+-msgstr ""
+-
+-#: config/frv/frv.opt:58
+-msgid "Enable conditional moves"
+-msgstr "啟用æ¢ä»¶è½‰ç§»"
+-
+-#: config/frv/frv.opt:62
+-msgid "Set the target CPU type"
+-msgstr "指定目的 CPU 的類型"
+-
+-#: config/frv/frv.opt:84
+-msgid "Use fp double instructions"
+-msgstr "使用浮點雙精度指令"
+-
+-#: config/frv/frv.opt:88
+-msgid "Change the ABI to allow double word insns"
+-msgstr "變更 ABI 以å…許雙字指令"
+-
+-#: config/frv/frv.opt:92 config/bfin/bfin.opt:73
+-msgid "Enable Function Descriptor PIC mode"
+-msgstr "啟用函å¼æ述符號 PIC 模å¼"
+-
+-#: config/frv/frv.opt:96
+-msgid "Just use icc0/fcc0"
+-msgstr "åªä½¿ç”¨ icc0/fcc0"
+-
+-#: config/frv/frv.opt:100
+-msgid "Only use 32 FPRs"
+-msgstr "åªä½¿ç”¨ 32 個浮點暫存器"
+-
+-#: config/frv/frv.opt:104
+-msgid "Use 64 FPRs"
+-msgstr "使用 64 個浮點暫存器"
+-
+-#: config/frv/frv.opt:108
+-msgid "Only use 32 GPRs"
+-msgstr "åªä½¿ç”¨ 32 個通用暫存器"
+-
+-#: config/frv/frv.opt:112
+-msgid "Use 64 GPRs"
+-msgstr "使用 64 個通用暫存器"
+-
+-#: config/frv/frv.opt:116
+-msgid "Enable use of GPREL for read-only data in FDPIC"
+-msgstr ""
+-
+-#: config/frv/frv.opt:120 config/rs6000/rs6000.opt:112
+-#: config/pdp11/pdp11.opt:71
+-msgid "Use hardware floating point"
+-msgstr "使用硬體浮點單元"
+-
+-#: config/frv/frv.opt:124 config/bfin/bfin.opt:77
+-msgid "Enable inlining of PLT in function calls"
+-msgstr "為函å¼å‘¼å«å•Ÿç”¨ PLT çš„å…§è¯"
+-
+-#: config/frv/frv.opt:128
+-msgid "Enable PIC support for building libraries"
+-msgstr "啟用å°å‡½å¼åº«çš„ PIC 支æ´"
+-
+-#: config/frv/frv.opt:132
+-msgid "Follow the EABI linkage requirements"
+-msgstr ""
+-
+-#: config/frv/frv.opt:136
+-msgid "Disallow direct calls to global functions"
+-msgstr "ä¸å…許直接呼å«å…¨åŸŸå‡½å¼"
+-
+-#: config/frv/frv.opt:140
+-msgid "Use media instructions"
+-msgstr "使用多媒體指令"
+-
+-#: config/frv/frv.opt:144
+-msgid "Use multiply add/subtract instructions"
+-msgstr "使用乘加/減指令"
+-
+-#: config/frv/frv.opt:148
+-msgid "Enable optimizing &&/|| in conditional execution"
+-msgstr "啟用å°æ¢ä»¶åŸ·è¡Œ && 或 || 的最佳化"
+-
+-#: config/frv/frv.opt:152
+-msgid "Enable nested conditional execution optimizations"
+-msgstr "啟用å°å·¢ç‹€æ¢ä»¶åŸ·è¡Œçš„最佳化"
+-
+-#: config/frv/frv.opt:157
+-msgid "Do not mark ABI switches in e_flags"
+-msgstr ""
+-
+-#: config/frv/frv.opt:161
+-msgid "Remove redundant membars"
+-msgstr "刪除冗餘æˆå“¡"
+-
+-#: config/frv/frv.opt:165
+-msgid "Pack VLIW instructions"
+-msgstr "打å°åŒ… VLIW 指令"
+-
+-#: config/frv/frv.opt:169
+-msgid "Enable setting GPRs to the result of comparisons"
+-msgstr ""
+-
+-#: config/frv/frv.opt:173
+-msgid "Change the amount of scheduler lookahead"
+-msgstr ""
+-
+-#: config/frv/frv.opt:177 config/pa/pa.opt:104
+-msgid "Use software floating point"
+-msgstr "使用軟體浮點單元"
+-
+-#: config/frv/frv.opt:181
+-msgid "Assume a large TLS segment"
+-msgstr "å‡å®šå¤§çš„執行緒局部存儲段"
+-
+-#: config/frv/frv.opt:185
+-msgid "Do not assume a large TLS segment"
+-msgstr "ä¸å‡å®šå¤§çš„ TLS 段"
+-
+-#: config/frv/frv.opt:190
+-msgid "Cause gas to print tomcat statistics"
+-msgstr ""
+-
+-#: config/frv/frv.opt:195
+-msgid "Link with the library-pic libraries"
+-msgstr ""
+-
+-#: config/frv/frv.opt:199
+-msgid "Allow branches to be packed with other instructions"
+-msgstr ""
+-
+-#: config/mn10300/mn10300.opt:23
+-msgid "Target the AM33 processor"
+-msgstr "目的為 AM33 處ç†å™¨"
+-
+-#: config/mn10300/mn10300.opt:27
+-msgid "Target the AM33/2.0 processor"
+-msgstr "目的為 AM33/2.0 處ç†å™¨"
+-
+-#: config/mn10300/mn10300.opt:31
+-msgid "Work around hardware multiply bug"
+-msgstr "為硬體乘法缺陷æ供變通"
+-
+-#: config/mn10300/mn10300.opt:36
+-msgid "Enable linker relaxations"
+-msgstr "啟用連çµå™¨é¬†å¼›"
+-
+-#: config/mn10300/mn10300.opt:40
+-msgid "Return pointers in both a0 and d0"
+-msgstr "在 a0 和 d0 中回傳指標"
+-
+-#: config/s390/tpf.opt:23
+-msgid "Enable TPF-OS tracing code"
+-msgstr "啟用 TPF-OS 追蹤碼"
+-
+-#: config/s390/tpf.opt:27
+-msgid "Specify main object for TPF-OS"
+-msgstr "指定 TPF-OS 主è¦ç‰©ä»¶"
+-
+-#: config/s390/s390.opt:23
+-msgid "31 bit ABI"
+-msgstr "31 ä½å…ƒ ABI"
+-
+-#: config/s390/s390.opt:27
+-msgid "64 bit ABI"
+-msgstr "64 ä½å…ƒ ABI"
+-
+-#: config/s390/s390.opt:31 config/i386/i386.opt:59 config/spu/spu.opt:60
+-msgid "Generate code for given CPU"
+-msgstr "為給定的 CPU 產生程å¼ç¢¼"
+-
+-#: config/s390/s390.opt:35
+-msgid "Maintain backchain pointer"
+-msgstr "維護åéˆæŒ‡æ¨™"
+-
+-#: config/s390/s390.opt:39
+-msgid "Additional debug prints"
+-msgstr "é¡å¤–除錯輸出"
+-
+-#: config/s390/s390.opt:43
+-msgid "ESA/390 architecture"
+-msgstr "ESA/390 çµæ§‹"
+-
+-#: config/s390/s390.opt:47
+-msgid "Enable fused multiply/add instructions"
+-msgstr "啟用èžåˆçš„乘加指令"
+-
+-#: config/s390/s390.opt:51
+-#, fuzzy
+-msgid "Enable decimal floating point hardware support"
+-msgstr "指定是å¦æ‡‰ç•¶ä½¿ç”¨ç¡¬é«”浮點"
+-
+-#: config/s390/s390.opt:55
+-#, fuzzy
+-msgid "Enable hardware floating point"
+-msgstr "使用硬體浮點單元"
+-
+-#: config/s390/s390.opt:67
+-msgid "Use packed stack layout"
+-msgstr "使用緊實的堆疊版é¢è¨­ç½®"
+-
+-#: config/s390/s390.opt:71
+-msgid "Use bras for executable < 64k"
+-msgstr ""
+-
+-#: config/s390/s390.opt:75
+-#, fuzzy
+-msgid "Disable hardware floating point"
+-msgstr "使用硬體浮點單元"
+-
+-#: config/s390/s390.opt:79
+-msgid "Set the max. number of bytes which has to be left to stack size before a trap instruction is triggered"
+-msgstr ""
+-
+-#: config/s390/s390.opt:83
+-msgid "Emit extra code in the function prologue in order to trap if the stack size exceeds the given limit"
+-msgstr "在函å¼å‰è¨€ä¸­ç”¢ç”Ÿé¡å¤–程å¼ç¢¼ä»¥ç²å–堆疊大å°è¶Šé™"
+-
+-#: config/s390/s390.opt:87 config/ia64/ia64.opt:97 config/sparc/sparc.opt:95
+-#: config/i386/i386.opt:183 config/rs6000/rs6000.opt:226 config/spu/spu.opt:64
+-msgid "Schedule code for given CPU"
+-msgstr "為指定的 CPU 最佳化程å¼ç¢¼"
+-
+-#: config/s390/s390.opt:91
+-msgid "mvcle use"
+-msgstr "使用 mvcle"
+-
+-#: config/s390/s390.opt:95
+-msgid "Warn if a function uses alloca or creates an array with dynamic size"
+-msgstr "當函å¼ä½¿ç”¨ alloca 來建立彈性陣列時給出警告"
+-
+-#: config/s390/s390.opt:99
+-msgid "Warn if a single function's framesize exceeds the given framesize"
+-msgstr "當單一函å¼çš„圖框大å°è¶…éŽçµ¦å®šå€¼æ™‚給出警告"
+-
+-#: config/s390/s390.opt:103
+-msgid "z/Architecture"
+-msgstr "z/Architecture"
+-
+ #: config/ia64/ilp32.opt:3
+ msgid "Generate ILP32 code"
+ msgstr "產生 ILP32 程å¼ç¢¼"
+@@ -12064,10 +11810,16 @@
+ msgid "Enable earlier placing stop bits for better scheduling"
+ msgstr "åŠæ—©æ”¾ç½®åœæ­¢ä½ï¼Œä»¥å–得更好的調度效果"
+
+-#: config/ia64/ia64.opt:89 config/spu/spu.opt:56 config/pa/pa.opt:51
++#: config/ia64/ia64.opt:89 config/pa/pa.opt:51 config/spu/spu.opt:56
+ msgid "Specify range of registers to make fixed"
+ msgstr ""
+
++#: config/ia64/ia64.opt:97 config/i386/i386.opt:183
++#: config/rs6000/rs6000.opt:226 config/spu/spu.opt:64 config/s390/s390.opt:87
++#: config/sparc/sparc.opt:95
++msgid "Schedule code for given CPU"
++msgstr "為指定的 CPU 最佳化程å¼ç¢¼"
++
+ #: config/ia64/ia64.opt:101
+ #, fuzzy
+ msgid "Use data speculation before reload"
+@@ -12118,341 +11870,296 @@
+ msgid "Count speculative dependencies while calculating priority of instructions"
+ msgstr ""
+
+-#: config/m32c/m32c.opt:24 config/bfin/bfin.opt:23 config/mt/mt.opt:27
+-msgid "Use simulator runtime"
+-msgstr "使用模擬器執行時"
++#: config/xtensa/xtensa.opt:23
++msgid "Use CONST16 instruction to load constants"
++msgstr "使用 CONST16 指令載入常數"
+
+-#: config/m32c/m32c.opt:28
+-msgid "Compile code for R8C variants"
+-msgstr "為 R8C 變種編譯"
++#: config/xtensa/xtensa.opt:27
++msgid "Enable fused multiply/add and multiply/subtract FP instructions"
++msgstr "啟用èžåˆçš„乘加和乘減浮點指令"
+
+-#: config/m32c/m32c.opt:32
+-msgid "Compile code for M16C variants"
+-msgstr "為 M16C 變種編譯"
++#: config/xtensa/xtensa.opt:31
++msgid "Use indirect CALLXn instructions for large programs"
++msgstr ""
+
+-#: config/m32c/m32c.opt:36
+-msgid "Compile code for M32CM variants"
+-msgstr "為 M32CM 變種編譯"
++#: config/xtensa/xtensa.opt:35
++msgid "Automatically align branch targets to reduce branch penalties"
++msgstr ""
+
+-#: config/m32c/m32c.opt:40
+-msgid "Compile code for M32C variants"
+-msgstr "為 M32C 變種編譯"
++#: config/xtensa/xtensa.opt:39
++msgid "Intersperse literal pools with code in the text section"
++msgstr ""
+
+-#: config/m32c/m32c.opt:44
+-msgid "Number of memreg bytes (default: 16, range: 0..16)"
+-msgstr "memreg ä½å…ƒçµ„數(é è¨­ï¼š16,範åœï¼š0..16)"
++#: config/pa/pa.opt:23 config/pa/pa.opt:76 config/pa/pa.opt:84
++msgid "Generate PA1.0 code"
++msgstr "產生 PA1.0 程å¼ç¢¼"
+
+-#: config/sparc/little-endian.opt:23
+-msgid "Generate code for little-endian"
+-msgstr "產生低ä½ä½å…ƒçµ„在å‰çš„程å¼ç¢¼"
++#: config/pa/pa.opt:27 config/pa/pa.opt:88 config/pa/pa.opt:108
++msgid "Generate PA1.1 code"
++msgstr "產生 PA1.1 程å¼ç¢¼"
+
+-#: config/sparc/little-endian.opt:27
+-msgid "Generate code for big-endian"
+-msgstr "產生高ä½ä½å…ƒçµ„在å‰çš„程å¼ç¢¼"
++#: config/pa/pa.opt:31 config/pa/pa.opt:92
++msgid "Generate PA2.0 code (requires binutils 2.10 or later)"
++msgstr "產生 PA2.0 程å¼ç¢¼(éœ€è¦ binutils 2.10 或更新版本)"
+
+-#: config/sparc/sparc.opt:23 config/sparc/sparc.opt:27
+-msgid "Use hardware FP"
+-msgstr "使用硬體浮點單元"
++#: config/pa/pa.opt:35
++msgid "Generate code for huge switch statements"
++msgstr "為巨型的 switch 敘述產生程å¼ç¢¼"
+
+-#: config/sparc/sparc.opt:31
+-msgid "Do not use hardware FP"
+-msgstr "ä¸ä½¿ç”¨ç¡¬é«”浮點單元"
++#: config/pa/pa.opt:39
++msgid "Disable FP regs"
++msgstr "åœç”¨æµ®é»žæš«å­˜å™¨"
+
+-#: config/sparc/sparc.opt:35
+-msgid "Assume possible double misalignment"
+-msgstr "å‡å®šå¯èƒ½çš„å…©ä¸æ­£ç¢ºé½Š"
++#: config/pa/pa.opt:43
++msgid "Disable indexed addressing"
++msgstr "åœç”¨è®Šå€å®šå€"
+
+-#: config/sparc/sparc.opt:39
+-msgid "Pass -assert pure-text to linker"
+-msgstr "å°‡ -assert pure-text 傳éžçµ¦é€£çµå™¨"
++#: config/pa/pa.opt:47
++msgid "Generate fast indirect calls"
++msgstr "產生快速間接呼å«"
+
+-#: config/sparc/sparc.opt:43
+-msgid "Use ABI reserved registers"
+-msgstr "使用 ABI ä¿ç•™çš„暫存器"
++#: config/pa/pa.opt:55
++msgid "Assume code will be assembled by GAS"
++msgstr "å‡å®šç¨‹å¼ç¢¼å°‡ç”± GAS 組譯"
+
+-#: config/sparc/sparc.opt:47
+-msgid "Use hardware quad FP instructions"
+-msgstr "使用硬體四浮點指令"
++#: config/pa/pa.opt:59
++msgid "Put jumps in call delay slots"
++msgstr "將跳轉放置在延é²å‘¼å«æ§½å…§"
+
+-#: config/sparc/sparc.opt:51
+-msgid "Do not use hardware quad fp instructions"
+-msgstr "ä¸ä½¿ç”¨ç¡¬é«”四浮點指令"
++#: config/pa/pa.opt:64
++msgid "Enable linker optimizations"
++msgstr "啟用連çµå™¨æœ€ä½³åŒ–"
+
+-#: config/sparc/sparc.opt:55
+-msgid "Compile for V8+ ABI"
+-msgstr "為 V8+ ABI 編譯"
++#: config/pa/pa.opt:68
++msgid "Always generate long calls"
++msgstr "總是產生é å‘¼å«"
+
+-#: config/sparc/sparc.opt:59
+-msgid "Use UltraSPARC Visual Instruction Set extensions"
+-msgstr "使用 UltraSPARC å¯è¦–化指令集"
++#: config/pa/pa.opt:72
++msgid "Emit long load/store sequences"
++msgstr "產生長讀/寫åºåˆ—"
+
+-#: config/sparc/sparc.opt:63
+-msgid "Pointers are 64-bit"
+-msgstr "指標是 64 ä½å…ƒ"
++#: config/pa/pa.opt:80
++msgid "Disable space regs"
++msgstr "åœç”¨ç©ºé–“暫存器"
+
+-#: config/sparc/sparc.opt:67
+-msgid "Pointers are 32-bit"
+-msgstr "指標是 32 ä½å…ƒ"
++#: config/pa/pa.opt:96
++msgid "Use portable calling conventions"
++msgstr "使用一般的呼å«ç´„定"
+
+-#: config/sparc/sparc.opt:71
+-msgid "Use 64-bit ABI"
+-msgstr "使用 64 ä½å…ƒ ABI"
++#: config/pa/pa.opt:100
++msgid "Specify CPU for scheduling purposes. Valid arguments are 700, 7100, 7100LC, 7200, 7300, and 8000"
++msgstr "指定調度最佳化的目的 CPU。有效的é¸é …是 700,7100,7100LC,7200,7300,和 8000"
+
+-#: config/sparc/sparc.opt:75
+-msgid "Use 32-bit ABI"
+-msgstr "使用 32 ä½å…ƒ ABI"
++#: config/pa/pa.opt:104 config/frv/frv.opt:177
++msgid "Use software floating point"
++msgstr "使用軟體浮點單元"
+
+-#: config/sparc/sparc.opt:79
+-msgid "Use stack bias"
+-msgstr "使用堆疊å移"
++#: config/pa/pa.opt:112
++msgid "Do not disable space regs"
++msgstr "ä¸åœç”¨ç©ºé–“暫存器"
+
+-#: config/sparc/sparc.opt:83
+-msgid "Use structs on stronger alignment for double-word copies"
+-msgstr ""
++#: config/pa/pa-hpux1111.opt:23 config/pa/pa-hpux1010.opt:23
++#: config/pa/pa-hpux.opt:27
++msgid "Specify UNIX standard for predefines and linking"
++msgstr "指定用於é å®šç¾©å’Œé€£çµçš„ UNIX 標準"
+
+-#: config/sparc/sparc.opt:87
+-msgid "Optimize tail call instructions in assembler and linker"
+-msgstr "在組譯器和連çµå™¨ä¸­æœ€ä½³åŒ–尾呼å«æŒ‡ä»¤"
++#: config/pa/pa64-hpux.opt:23
++msgid "Assume code will be linked by GNU ld"
++msgstr "å‡å®šç¨‹å¼ç¢¼å°‡ç”± GNU ld 連çµ"
+
+-#: config/sparc/sparc.opt:91 config/rs6000/rs6000.opt:222
+-msgid "Use features of and schedule code for given CPU"
+-msgstr "使用指定 CPU 的特性和調度程å¼ç¢¼"
++#: config/pa/pa64-hpux.opt:27
++msgid "Assume code will be linked by HP ld"
++msgstr "å‡å®šç¨‹å¼ç¢¼å°‡ç”± HP ld 連çµ"
+
+-#: config/sparc/sparc.opt:99
+-msgid "Use given SPARC-V9 code model"
+-msgstr "使用給定的 SPARC-V9 程å¼ç¢¼æ¨¡åž‹"
++#: config/pa/pa-hpux.opt:23
++msgid "Generate cpp defines for server IO"
++msgstr "為伺æœå™¨ IO 產生 cpp 定義"
+
+-#: config/sparc/sparc.opt:103
+-msgid "Enable strict 32-bit psABI struct return checking."
+-msgstr ""
++#: config/pa/pa-hpux.opt:31
++msgid "Generate cpp defines for workstation IO"
++msgstr "為工作站 IO 產生 cpp 定義"
+
+-#: config/m32r/m32r.opt:23
+-msgid "Compile for the m32rx"
+-msgstr "為 m32rx 編譯"
++#: config/frv/frv.opt:23
++msgid "Use 4 media accumulators"
++msgstr "使用 4 個多媒體累加器"
+
+-#: config/m32r/m32r.opt:27
+-msgid "Compile for the m32r2"
+-msgstr "為 m32r2 編譯"
++#: config/frv/frv.opt:27
++msgid "Use 8 media accumulators"
++msgstr "使用 8 個多媒體累加器"
+
+-#: config/m32r/m32r.opt:31
+-msgid "Compile for the m32r"
+-msgstr "為 m32r 編譯"
++#: config/frv/frv.opt:31
++msgid "Enable label alignment optimizations"
++msgstr "啟用標籤å°é½Šæœ€ä½³åŒ–"
+
+-#: config/m32r/m32r.opt:35
+-msgid "Align all loops to 32 byte boundary"
+-msgstr "所有循環å°é½Šåˆ° 32 ä½å…ƒçµ„邊界上"
++#: config/frv/frv.opt:35
++msgid "Dynamically allocate cc registers"
++msgstr "動態指派 cc 暫存器"
+
+-#: config/m32r/m32r.opt:39
+-msgid "Prefer branches over conditional execution"
+-msgstr "優先使用分支而ä¸æ˜¯æ¢ä»¶åŸ·è¡Œ"
++#: config/frv/frv.opt:42
++msgid "Set the cost of branches"
++msgstr "設定分支的代價"
+
+-#: config/m32r/m32r.opt:43
+-msgid "Give branches their default cost"
+-msgstr "為分支指定é è¨­ä»£åƒ¹"
++#: config/frv/frv.opt:46
++msgid "Enable conditional execution other than moves/scc"
++msgstr "啟用æ¢ä»¶åŸ·è¡Œè€Œéž moves/scc"
+
+-#: config/m32r/m32r.opt:47
+-msgid "Display compile time statistics"
+-msgstr "顯示編譯時間統計"
++#: config/frv/frv.opt:50
++msgid "Change the maximum length of conditionally-executed sequences"
++msgstr "變更æ¢ä»¶åŸ·è¡Œåºåˆ—的最大長度"
+
+-#: config/m32r/m32r.opt:51
+-msgid "Specify cache flush function"
+-msgstr "指定清空快å–的函å¼"
+-
+-#: config/m32r/m32r.opt:55
+-msgid "Specify cache flush trap number"
+-msgstr "指定清空快å–的陷阱號"
+-
+-#: config/m32r/m32r.opt:59
+-msgid "Only issue one instruction per cycle"
+-msgstr "æ¯é€±æœŸåªç™¼å‡ºä¸€æ¢æŒ‡ä»¤"
+-
+-#: config/m32r/m32r.opt:63
+-msgid "Allow two instructions to be issued per cycle"
+-msgstr "å…許æ¯é€±æœŸç™¼å‡ºå…©æ¢æŒ‡ä»¤"
+-
+-#: config/m32r/m32r.opt:67
+-msgid "Code size: small, medium or large"
+-msgstr "程å¼ç¢¼å¤§å°ï¼šå°ã€ä¸­æˆ–大"
+-
+-#: config/m32r/m32r.opt:71
+-msgid "Don't call any cache flush functions"
+-msgstr "ä¸å‘¼å«ä»»ä½•æ¸…空快å–的函å¼"
+-
+-#: config/m32r/m32r.opt:75
+-msgid "Don't call any cache flush trap"
+-msgstr "ä¸å‘¼å«ä»»ä½•æ¸…空快å–的陷阱"
+-
+-#: config/m32r/m32r.opt:82
+-msgid "Small data area: none, sdata, use"
++#: config/frv/frv.opt:54
++msgid "Change the number of temporary registers that are available to conditionally-executed sequences"
+ msgstr ""
+
+-#: config/m68k/m68k.opt:23
+-msgid "Generate code for a 520X"
+-msgstr "為 520X 產生程å¼ç¢¼"
++#: config/frv/frv.opt:58
++msgid "Enable conditional moves"
++msgstr "啟用æ¢ä»¶è½‰ç§»"
+
+-#: config/m68k/m68k.opt:27
+-msgid "Generate code for a 5206e"
+-msgstr "為 5206e 產生程å¼ç¢¼"
++#: config/frv/frv.opt:62
++msgid "Set the target CPU type"
++msgstr "指定目的 CPU 的類型"
+
+-#: config/m68k/m68k.opt:31
+-msgid "Generate code for a 528x"
+-msgstr "為 528x 產生程å¼ç¢¼"
++#: config/frv/frv.opt:84
++msgid "Use fp double instructions"
++msgstr "使用浮點雙精度指令"
+
+-#: config/m68k/m68k.opt:35
+-msgid "Generate code for a 5307"
+-msgstr "為 5307 產生程å¼ç¢¼"
++#: config/frv/frv.opt:88
++msgid "Change the ABI to allow double word insns"
++msgstr "變更 ABI 以å…許雙字指令"
+
+-#: config/m68k/m68k.opt:39
+-msgid "Generate code for a 5407"
+-msgstr "為 5407 產生程å¼ç¢¼"
++#: config/frv/frv.opt:92 config/bfin/bfin.opt:73
++msgid "Enable Function Descriptor PIC mode"
++msgstr "啟用函å¼æ述符號 PIC 模å¼"
+
+-#: config/m68k/m68k.opt:43 config/m68k/m68k.opt:104
+-msgid "Generate code for a 68000"
+-msgstr "為 68000 產生程å¼ç¢¼"
++#: config/frv/frv.opt:96
++msgid "Just use icc0/fcc0"
++msgstr "åªä½¿ç”¨ icc0/fcc0"
+
+-#: config/m68k/m68k.opt:47
+-#, fuzzy
+-msgid "Generate code for a 68010"
+-msgstr "為 68000 產生程å¼ç¢¼"
++#: config/frv/frv.opt:100
++msgid "Only use 32 FPRs"
++msgstr "åªä½¿ç”¨ 32 個浮點暫存器"
+
+-#: config/m68k/m68k.opt:51 config/m68k/m68k.opt:108
+-msgid "Generate code for a 68020"
+-msgstr "為 68020 產生程å¼ç¢¼"
++#: config/frv/frv.opt:104
++msgid "Use 64 FPRs"
++msgstr "使用 64 個浮點暫存器"
+
+-#: config/m68k/m68k.opt:55
+-msgid "Generate code for a 68040, without any new instructions"
+-msgstr "為 68040 產生程å¼ç¢¼ï¼Œä¸ä½¿ç”¨æ–°æŒ‡ä»¤"
++#: config/frv/frv.opt:108
++msgid "Only use 32 GPRs"
++msgstr "åªä½¿ç”¨ 32 個通用暫存器"
+
+-#: config/m68k/m68k.opt:59
+-msgid "Generate code for a 68060, without any new instructions"
+-msgstr "為 68060 產生程å¼ç¢¼ï¼Œä¸ä½¿ç”¨æ–°æŒ‡ä»¤"
++#: config/frv/frv.opt:112
++msgid "Use 64 GPRs"
++msgstr "使用 64 個通用暫存器"
+
+-#: config/m68k/m68k.opt:63
+-msgid "Generate code for a 68030"
+-msgstr "為 68030 產生程å¼ç¢¼"
++#: config/frv/frv.opt:116
++msgid "Enable use of GPREL for read-only data in FDPIC"
++msgstr ""
+
+-#: config/m68k/m68k.opt:67
+-msgid "Generate code for a 68040"
+-msgstr "為 68040 產生程å¼ç¢¼"
++#: config/frv/frv.opt:120 config/rs6000/rs6000.opt:112
++#: config/pdp11/pdp11.opt:71
++msgid "Use hardware floating point"
++msgstr "使用硬體浮點單元"
+
+-#: config/m68k/m68k.opt:71
+-msgid "Generate code for a 68060"
+-msgstr "為 68060 產生程å¼ç¢¼"
++#: config/frv/frv.opt:124 config/bfin/bfin.opt:77
++msgid "Enable inlining of PLT in function calls"
++msgstr "為函å¼å‘¼å«å•Ÿç”¨ PLT çš„å…§è¯"
+
+-#: config/m68k/m68k.opt:75
+-msgid "Generate code for a 68302"
+-msgstr "為 68302 產生程å¼ç¢¼"
++#: config/frv/frv.opt:128
++msgid "Enable PIC support for building libraries"
++msgstr "啟用å°å‡½å¼åº«çš„ PIC 支æ´"
+
+-#: config/m68k/m68k.opt:79
+-msgid "Generate code for a 68332"
+-msgstr "為 68332 產生程å¼ç¢¼"
++#: config/frv/frv.opt:132
++msgid "Follow the EABI linkage requirements"
++msgstr ""
+
+-#: config/m68k/m68k.opt:84
+-msgid "Generate code for a 68851"
+-msgstr "為 68851 產生程å¼ç¢¼"
++#: config/frv/frv.opt:136
++msgid "Disallow direct calls to global functions"
++msgstr "ä¸å…許直接呼å«å…¨åŸŸå‡½å¼"
+
+-#: config/m68k/m68k.opt:88
+-msgid "Generate code that uses 68881 floating-point instructions"
+-msgstr "產生使用 68881 浮點指令的程å¼ç¢¼"
++#: config/frv/frv.opt:140
++msgid "Use media instructions"
++msgstr "使用多媒體指令"
+
+-#: config/m68k/m68k.opt:92
+-msgid "Align variables on a 32-bit boundary"
+-msgstr "在 32 ä½å…ƒé‚Šç•Œä¸Šå°é½Šè®Šæ•¸"
++#: config/frv/frv.opt:144
++msgid "Use multiply add/subtract instructions"
++msgstr "使用乘加/減指令"
+
+-#: config/m68k/m68k.opt:96 config/arm/arm.opt:49 config/score/score.opt:63
+-msgid "Specify the name of the target architecture"
+-msgstr "指定目的架構的å稱"
++#: config/frv/frv.opt:148
++msgid "Enable optimizing &&/|| in conditional execution"
++msgstr "啟用å°æ¢ä»¶åŸ·è¡Œ && 或 || 的最佳化"
+
+-#: config/m68k/m68k.opt:100
+-msgid "Use the bit-field instructions"
+-msgstr "使用ä½å…ƒæ®µæŒ‡ä»¤"
++#: config/frv/frv.opt:152
++msgid "Enable nested conditional execution optimizations"
++msgstr "啟用å°å·¢ç‹€æ¢ä»¶åŸ·è¡Œçš„最佳化"
+
+-#: config/m68k/m68k.opt:112
+-#, fuzzy
+-msgid "Generate code for a ColdFire v4e"
+-msgstr "為 M*Core M340 產生程å¼ç¢¼"
++#: config/frv/frv.opt:157
++msgid "Do not mark ABI switches in e_flags"
++msgstr ""
+
+-#: config/m68k/m68k.opt:116
+-#, fuzzy
+-msgid "Specify the target CPU"
+-msgstr "é¸æ“‡ç›®çš„ MCU"
++#: config/frv/frv.opt:161
++msgid "Remove redundant membars"
++msgstr "刪除冗餘æˆå“¡"
+
+-#: config/m68k/m68k.opt:120
+-msgid "Generate code for a cpu32"
+-msgstr "為 cpu32 產生程å¼ç¢¼"
++#: config/frv/frv.opt:165
++msgid "Pack VLIW instructions"
++msgstr "打å°åŒ… VLIW 指令"
+
+-#: config/m68k/m68k.opt:124
+-#, fuzzy
+-msgid "Use hardware division instructions on ColdFire"
+-msgstr "使用硬體四浮點指令"
++#: config/frv/frv.opt:169
++msgid "Enable setting GPRs to the result of comparisons"
++msgstr ""
+
+-#: config/m68k/m68k.opt:128
+-#, fuzzy
+-msgid "Generate code for a Fido A"
+-msgstr "產生動態連çµç¨‹å¼åº«çš„程å¼ç¢¼"
++#: config/frv/frv.opt:173
++msgid "Change the amount of scheduler lookahead"
++msgstr ""
+
+-#: config/m68k/m68k.opt:132
+-#, fuzzy
+-msgid "Generate code which uses hardware floating point instructions"
+-msgstr "產生使用 68881 浮點指令的程å¼ç¢¼"
++#: config/frv/frv.opt:181
++msgid "Assume a large TLS segment"
++msgstr "å‡å®šå¤§çš„執行緒局部存儲段"
+
+-#: config/m68k/m68k.opt:136
+-msgid "Enable ID based shared library"
+-msgstr "啟用基於 ID 的共享函å¼åº«"
++#: config/frv/frv.opt:185
++msgid "Do not assume a large TLS segment"
++msgstr "ä¸å‡å®šå¤§çš„ TLS 段"
+
+-#: config/m68k/m68k.opt:140
+-msgid "Do not use the bit-field instructions"
+-msgstr "ä¸ä½¿ç”¨ä½å…ƒæ®µæŒ‡ä»¤"
++#: config/frv/frv.opt:190
++msgid "Cause gas to print tomcat statistics"
++msgstr ""
+
+-#: config/m68k/m68k.opt:144
+-msgid "Use normal calling convention"
+-msgstr "使用一般的呼å«ç´„定"
++#: config/frv/frv.opt:195
++msgid "Link with the library-pic libraries"
++msgstr ""
+
+-#: config/m68k/m68k.opt:148
+-msgid "Consider type 'int' to be 32 bits wide"
+-msgstr "èªç‚ºã€Œintã€é¡žåˆ¥æœ‰ 32 ä½å…ƒå¯¬"
++#: config/frv/frv.opt:199
++msgid "Allow branches to be packed with other instructions"
++msgstr ""
+
+-#: config/m68k/m68k.opt:152
+-msgid "Generate pc-relative code"
+-msgstr "ç”¢ç”Ÿç›¸å° pc 的程å¼ç¢¼"
++#: config/i386/cygming.opt:23
++msgid "Create console application"
++msgstr "建立命令列程å¼"
+
+-#: config/m68k/m68k.opt:156
+-msgid "Use different calling convention using 'rtd'"
+-msgstr "啟用使用「rtdã€çš„ä¸åŒçš„呼å«ç´„定"
++#: config/i386/cygming.opt:27
++msgid "Use the Cygwin interface"
++msgstr "使用 Cygwin 介é¢"
+
+-#: config/m68k/m68k.opt:160 config/bfin/bfin.opt:61
+-msgid "Enable separate data segment"
+-msgstr "啟用分離的資料段"
++#: config/i386/cygming.opt:31
++msgid "Generate code for a DLL"
++msgstr "產生動態連çµç¨‹å¼åº«çš„程å¼ç¢¼"
+
+-#: config/m68k/m68k.opt:164 config/bfin/bfin.opt:57
+-msgid "ID of shared library to build"
+-msgstr "å°‡è¦å»ºç«‹çš„共享函å¼åº«çš„ ID"
++#: config/i386/cygming.opt:35
++msgid "Ignore dllimport for functions"
++msgstr "忽略函å¼çš„ dllimport 屬性"
+
+-#: config/m68k/m68k.opt:168
+-msgid "Consider type 'int' to be 16 bits wide"
+-msgstr "èªç‚ºã€Œintã€é¡žåˆ¥æœ‰ 16 ä½å¯¬"
++#: config/i386/cygming.opt:39
++msgid "Use Mingw-specific thread support"
++msgstr "使用 Mingw 特定的執行緒支æ´"
+
+-#: config/m68k/m68k.opt:172
+-msgid "Generate code with library calls for floating point"
+-msgstr ""
++#: config/i386/cygming.opt:43
++msgid "Set Windows defines"
++msgstr "設定 Windows 定義"
+
+-#: config/m68k/m68k.opt:176
+-msgid "Do not use unaligned memory references"
+-msgstr "ä¸ä½¿ç”¨æœªå°é½Šçš„記憶體åƒç…§"
++#: config/i386/cygming.opt:47
++msgid "Create GUI application"
++msgstr "建立圖形介é¢ç¨‹å¼"
+
+-#: config/m68k/m68k.opt:180
+-#, fuzzy
+-msgid "Tune for the specified target CPU or architecture"
+-msgstr "指定目的架構的å稱"
+-
+-#: config/m68k/ieee.opt:24 config/i386/i386.opt:95
+-msgid "Use IEEE math for fp comparisons"
+-msgstr "浮點數間的比較嚴格éµå¾ª IEEE 標準"
+-
+-#: config/i386/djgpp.opt:25
+-msgid "Ignored (obsolete)"
+-msgstr "忽略(å·²éŽæ™‚)"
+-
+ #: config/i386/i386.opt:23
+ msgid "sizeof(long double) is 16"
+ msgstr "sizeof(long double) 等於 16"
+@@ -12489,6 +12196,10 @@
+ msgid "Align destination of the string operations"
+ msgstr "å°é½Šå­—串作業的目的"
+
++#: config/i386/i386.opt:59 config/spu/spu.opt:60 config/s390/s390.opt:31
++msgid "Generate code for given CPU"
++msgstr "為給定的 CPU 產生程å¼ç¢¼"
++
+ #: config/i386/i386.opt:63
+ msgid "Use given assembler dialect"
+ msgstr "使用給定的組譯風格"
+@@ -12517,6 +12228,10 @@
+ msgid "Generate floating point mathematics using given instruction set"
+ msgstr "為指定的指令集產生浮點數學程å¼ç¢¼"
+
++#: config/i386/i386.opt:95 config/m68k/ieee.opt:24
++msgid "Use IEEE math for fp comparisons"
++msgstr "浮點數間的比較嚴格éµå¾ª IEEE 標準"
++
+ #: config/i386/i386.opt:99
+ msgid "Inline all known string operations"
+ msgstr "å…§è¯æ‰€æœ‰å·²çŸ¥çš„字串作業"
+@@ -12675,58 +12390,399 @@
+ msgid "Enable automatic generation of fused floating point multiply-add instructions"
+ msgstr "產生浮點乘加指令"
+
+-#: config/i386/cygming.opt:23
+-msgid "Create console application"
+-msgstr "建立命令列程å¼"
++#: config/i386/sco5.opt:24
++msgid "Generate ELF output"
++msgstr "產生 ELF æ ¼å¼çš„輸出檔案"
+
+-#: config/i386/cygming.opt:27
+-msgid "Use the Cygwin interface"
+-msgstr "使用 Cygwin 介é¢"
++#: config/i386/djgpp.opt:25
++msgid "Ignored (obsolete)"
++msgstr "忽略(å·²éŽæ™‚)"
+
+-#: config/i386/cygming.opt:31
+-msgid "Generate code for a DLL"
+-msgstr "產生動態連çµç¨‹å¼åº«çš„程å¼ç¢¼"
++#: config/iq2000/iq2000.opt:23 config/mt/mt.opt:55
++msgid "Specify CPU for code generation purposes"
++msgstr "為程å¼ç¢¼ç”¢ç”ŸæŒ‡å®šç›®çš„ CPU"
+
+-#: config/i386/cygming.opt:35
+-msgid "Ignore dllimport for functions"
++#: config/iq2000/iq2000.opt:27
++msgid "Specify CPU for scheduling purposes"
++msgstr "為調度指定目的 CPU"
++
++#: config/iq2000/iq2000.opt:31 config/mips/mips.opt:97
++msgid "Use ROM instead of RAM"
++msgstr "使用 ROM 而ä¸æ˜¯ RAM"
++
++#: config/iq2000/iq2000.opt:35
++msgid "Use GP relative sdata/sbss sections"
++msgstr "ä½¿ç”¨ç›¸å° GP çš„ sdata/sbss å€æ®µ"
++
++#: config/iq2000/iq2000.opt:40
++msgid "No default crt0.o"
++msgstr "沒有é è¨­çš„ crt0.o"
++
++#: config/iq2000/iq2000.opt:44 config/mips/mips.opt:265
++msgid "Put uninitialized constants in ROM (needs -membedded-data)"
++msgstr "將未åˆå§‹åŒ–的常數放在 ROM 中(éœ€è¦ -membedded-data)"
++
++#: config/arm/arm.opt:23
++msgid "Specify an ABI"
++msgstr "指定一個 ABI"
++
++#: config/arm/arm.opt:27
++msgid "Generate a call to abort if a noreturn function returns"
++msgstr "當 noreturn 函å¼å›žå‚³æ™‚å‘¼å« abort"
++
++#: config/arm/arm.opt:34
++msgid "Pass FP arguments in FP registers"
++msgstr "在浮點暫存器中傳éžæµ®é»žåƒæ•¸"
++
++#: config/arm/arm.opt:38
++msgid "Generate APCS conformant stack frames"
++msgstr "產生與 APCS 相容的堆疊框架"
++
++#: config/arm/arm.opt:42
++msgid "Generate re-entrant, PIC code"
++msgstr "產生å¯é‡å…¥çš„ PIC 程å¼ç¢¼"
++
++#: config/arm/arm.opt:49 config/m68k/m68k.opt:96 config/score/score.opt:63
++msgid "Specify the name of the target architecture"
++msgstr "指定目的架構的å稱"
++
++#: config/arm/arm.opt:56
++msgid "Assume target CPU is configured as big endian"
++msgstr "å‡å®šç›®çš„ CPU 被é…置為高ä½ä½å…ƒçµ„在å‰"
++
++#: config/arm/arm.opt:60
++msgid "Thumb: Assume non-static functions may be called from ARM code"
++msgstr ""
++
++#: config/arm/arm.opt:64
++msgid "Thumb: Assume function pointers may go to non-Thumb aware code"
++msgstr ""
++
++#: config/arm/arm.opt:68
++msgid "Cirrus: Place NOPs to avoid invalid instruction combinations"
++msgstr "Cirrus:æ’å…¥ NOP 以é¿å…無效的指令組åˆ"
++
++#: config/arm/arm.opt:72 config/bfin/bfin.opt:27
++msgid "Specify the name of the target CPU"
++msgstr "指定目的 CPU çš„å稱"
++
++#: config/arm/arm.opt:76
++msgid "Specify if floating point hardware should be used"
++msgstr "指定是å¦æ‡‰ç•¶ä½¿ç”¨ç¡¬é«”浮點"
++
++#: config/arm/arm.opt:90
++msgid "Specify the name of the target floating point hardware/format"
++msgstr "指定目的浮點硬體/æ ¼å¼çš„å稱"
++
++#: config/arm/arm.opt:94
++msgid "Alias for -mfloat-abi=hard"
++msgstr "-mfloat-abi=hard 的別å"
++
++#: config/arm/arm.opt:98
++msgid "Assume target CPU is configured as little endian"
++msgstr "å‡å®šç›®çš„ CPU 被é…置為低ä½ä½å…ƒçµ„在å‰"
++
++#: config/arm/arm.opt:102
++msgid "Generate call insns as indirect calls, if necessary"
++msgstr ""
++
++#: config/arm/arm.opt:106
++msgid "Specify the register to be used for PIC addressing"
++msgstr "指定用於 PIC 定å€çš„暫存器"
++
++#: config/arm/arm.opt:110
++msgid "Store function names in object code"
++msgstr "在目的檔案中存儲函å¼å"
++
++#: config/arm/arm.opt:114
++msgid "Permit scheduling of a function's prologue sequence"
++msgstr "å…許調度函å¼å‰è¨€åºåˆ—"
++
++#: config/arm/arm.opt:118
++msgid "Do not load the PIC register in function prologues"
++msgstr "ä¸åœ¨å‡½å¼å‰è¨€ä¸­è¼‰å…¥ PIC 暫存器"
++
++#: config/arm/arm.opt:122
++msgid "Alias for -mfloat-abi=soft"
++msgstr "-mfloat-abi=soft 的別å"
++
++#: config/arm/arm.opt:126
++msgid "Specify the minimum bit alignment of structures"
++msgstr ""
++
++#: config/arm/arm.opt:130
++msgid "Compile for the Thumb not the ARM"
++msgstr "為 Thumb 而ä¸æ˜¯ ARM 編譯"
++
++#: config/arm/arm.opt:134
++msgid "Support calls between Thumb and ARM instruction sets"
++msgstr ""
++
++#: config/arm/arm.opt:138
++msgid "Specify how to access the thread pointer"
++msgstr "指定如何存å–執行緒指標"
++
++#: config/arm/arm.opt:142
++msgid "Thumb: Generate (non-leaf) stack frames even if not needed"
++msgstr "Thumb:å³ä½¿ä¸éœ€è¦ä¹Ÿç”¢ç”Ÿ(éžè‘‰)堆疊框架"
++
++#: config/arm/arm.opt:146
++msgid "Thumb: Generate (leaf) stack frames even if not needed"
++msgstr "Thumb:å³ä½¿ä¸éœ€è¦ä¹Ÿç”¢ç”Ÿ(葉)堆疊框架"
++
++#: config/arm/arm.opt:150
++msgid "Tune code for the given processor"
++msgstr "為指定的處ç†å™¨æœ€ä½³åŒ–程å¼ç¢¼"
++
++#: config/arm/arm.opt:154
++msgid "Assume big endian bytes, little endian words"
++msgstr "å‡å®šé«˜ä½ä½å…ƒçµ„在å‰ï¼Œä½Žä½å­—在å‰"
++
++#: config/arm/arm.opt:158
++msgid "Use Neon quad-word (rather than double-word) registers for vectorization"
++msgstr ""
++
++#: config/arm/pe.opt:23
++msgid "Ignore dllimport attribute for functions"
+ msgstr "忽略函å¼çš„ dllimport 屬性"
+
+-#: config/i386/cygming.opt:39
+-msgid "Use Mingw-specific thread support"
+-msgstr "使用 Mingw 特定的執行緒支æ´"
++#: config/cris/linux.opt:27
++msgid "Together with -fpic and -fPIC, do not use GOTPLT references"
++msgstr ""
+
+-#: config/i386/cygming.opt:43
+-msgid "Set Windows defines"
+-msgstr "設定 Windows 定義"
++#: config/cris/aout.opt:27
++msgid "Compile for the MMU-less Etrax 100-based elinux system"
++msgstr "為沒有 MMU 的基於 Etrax 100 的 elinux 系統編譯"
+
+-#: config/i386/cygming.opt:47
+-msgid "Create GUI application"
+-msgstr "建立圖形介é¢ç¨‹å¼"
++#: config/cris/aout.opt:33
++msgid "For elinux, request a specified stack-size for this program"
++msgstr ""
+
+-#: config/i386/sco5.opt:24
+-msgid "Generate ELF output"
+-msgstr "產生 ELF æ ¼å¼çš„輸出檔案"
++#: config/cris/cris.opt:45
++msgid "Work around bug in multiplication instruction"
++msgstr "為乘法指令中的缺陷æ供變通"
+
+-#: config/rs6000/aix41.opt:24 config/rs6000/aix64.opt:32
+-msgid "Support message passing with the Parallel Environment"
++#: config/cris/cris.opt:51
++msgid "Compile for ETRAX 4 (CRIS v3)"
++msgstr "為 ETRAX 4 (CRIS v3) 編譯"
++
++#: config/cris/cris.opt:56
++msgid "Compile for ETRAX 100 (CRIS v8)"
++msgstr "為 ETRAX 100 (CRIS v8) 編譯"
++
++#: config/cris/cris.opt:64
++msgid "Emit verbose debug information in assembly code"
++msgstr "在組譯程å¼ç¢¼ä¸­ç”¢ç”Ÿè©³ç´°çš„除錯資訊"
++
++#: config/cris/cris.opt:71
++msgid "Do not use condition codes from normal instructions"
+ msgstr ""
+
+-#: config/rs6000/aix.opt:24 config/rs6000/rs6000.opt:147
+-msgid "Conform more closely to IBM XLC semantics"
+-msgstr "盡é‡æŽ¥è¿‘ IBM XLC 語義"
++#: config/cris/cris.opt:80
++msgid "Do not emit addressing modes with side-effect assignment"
++msgstr ""
+
+-#: config/rs6000/darwin.opt:24 config/rs6000/sysv4.opt:132
++#: config/cris/cris.opt:89
++msgid "Do not tune stack alignment"
++msgstr "ä¸èª¿æ•´å †ç–Šå°é½Š"
++
++#: config/cris/cris.opt:98
++msgid "Do not tune writable data alignment"
++msgstr "ä¸èª¿æ•´å¯å¯«è³‡æ–™å°é½Š"
++
++#: config/cris/cris.opt:107
++msgid "Do not tune code and read-only data alignment"
++msgstr "ä¸èª¿æ•´ç¨‹å¼ç¢¼å’Œå”¯è®€è³‡æ–™å°é½Š"
++
++#: config/cris/cris.opt:116
++msgid "Align code and data to 32 bits"
++msgstr "將程å¼ç¢¼å’Œè³‡æ–™å°é½Šåˆ° 32 ä½å…ƒé‚Šç•Œä¸Š"
++
++#: config/cris/cris.opt:133
++msgid "Don't align items in code or data"
++msgstr ""
++
++#: config/cris/cris.opt:142
++msgid "Do not emit function prologue or epilogue"
++msgstr "ä¸ç”¢ç”Ÿå‡½å¼å‰è¨€å’Œå°¾è²"
++
++#: config/cris/cris.opt:149
++msgid "Use the most feature-enabling options allowed by other options"
++msgstr ""
++
++#: config/cris/cris.opt:158
++msgid "Override -mbest-lib-options"
++msgstr "覆寫 -mbest-lib-options"
++
++#: config/cris/cris.opt:165
++msgid "Generate code for the specified chip or CPU version"
++msgstr "為指定的晶片或 CPU 版本產生程å¼ç¢¼"
++
++#: config/cris/cris.opt:169
++msgid "Tune alignment for the specified chip or CPU version"
++msgstr "為指定的晶片或 CPU 版本調整å°é½Š"
++
++#: config/cris/cris.opt:173
++msgid "Warn when a stackframe is larger than the specified size"
++msgstr "當堆疊框架大於指定值時給出警告"
++
++#: config/avr/avr.opt:23
++msgid "Use subroutines for function prologues and epilogues"
++msgstr "使用å­ç¨‹å¼å®Œæˆå‡½å¼å‰è¨€/å°¾è²"
++
++#: config/avr/avr.opt:27
++msgid "Select the target MCU"
++msgstr "é¸æ“‡ç›®çš„ MCU"
++
++#: config/avr/avr.opt:34
++msgid "Use an 8-bit 'int' type"
++msgstr "使用 8 ä½ã€Œintã€é¡žåž‹"
++
++#: config/avr/avr.opt:38
++msgid "Change the stack pointer without disabling interrupts"
++msgstr ""
++
++#: config/avr/avr.opt:42
++msgid "Do not generate tablejump insns"
++msgstr "ä¸ç”¢ç”Ÿè·³è½‰è¡¨æŒ‡ä»¤"
++
++#: config/avr/avr.opt:52
++msgid "Use rjmp/rcall (limited range) on >8K devices"
++msgstr ""
++
++#: config/avr/avr.opt:56
++msgid "Output instruction sizes to the asm file"
++msgstr ""
++
++#: config/avr/avr.opt:60
++msgid "Change only the low 8 bits of the stack pointer"
++msgstr "åªè®Šæ›´å †ç–ŠæŒ‡æ¨™çš„低 8 ä½"
++
++#: config/avr/avr.opt:64
++#, fuzzy
++msgid "Relax branches"
++msgstr "沒有跳轉\n"
++
++#: config/avr/avr.opt:68
++msgid "Make the linker relaxation machine assume that a program counter wrap-around occures."
++msgstr ""
++
++#: config/linux.opt:24
++#, fuzzy
++msgid "Use uClibc instead of GNU libc"
++msgstr "使用 ROM 而ä¸æ˜¯ RAM"
++
++#: config/linux.opt:28
++#, fuzzy
++msgid "Use GNU libc instead of uClibc"
++msgstr "使用 ROM 而ä¸æ˜¯ RAM"
++
++#: config/rs6000/sysv4.opt:24
++msgid "Select ABI calling convention"
++msgstr "é¸æ“‡ ABI 呼å«ç´„定"
++
++#: config/rs6000/sysv4.opt:28
++msgid "Select method for sdata handling"
++msgstr ""
++
++#: config/rs6000/sysv4.opt:36 config/rs6000/sysv4.opt:40
++msgid "Align to the base type of the bit-field"
++msgstr "å°é½Šåˆ°ä½å…ƒæ®µçš„基礎類別型"
++
++#: config/rs6000/sysv4.opt:45 config/rs6000/sysv4.opt:49
++msgid "Produce code relocatable at runtime"
++msgstr "產生執行時å¯é‡å®šä½çš„程å¼ç¢¼"
++
++#: config/rs6000/sysv4.opt:53 config/rs6000/sysv4.opt:57
++msgid "Produce little endian code"
++msgstr "產生低ä½ä½å…ƒçµ„在å‰çš„程å¼ç¢¼"
++
++#: config/rs6000/sysv4.opt:61 config/rs6000/sysv4.opt:65
++msgid "Produce big endian code"
++msgstr "產生高ä½ä½å…ƒçµ„在å‰çš„程å¼ç¢¼"
++
++#: config/rs6000/sysv4.opt:70 config/rs6000/sysv4.opt:74
++#: config/rs6000/sysv4.opt:83 config/rs6000/sysv4.opt:100
++#: config/rs6000/sysv4.opt:128 config/rs6000/sysv4.opt:140
++msgid "no description yet"
++msgstr "尚未æè¿°"
++
++#: config/rs6000/sysv4.opt:78
++msgid "Assume all variable arg functions are prototyped"
++msgstr ""
++
++#: config/rs6000/sysv4.opt:87
++msgid "Use EABI"
++msgstr "使用 EABI"
++
++#: config/rs6000/sysv4.opt:91
++msgid "Allow bit-fields to cross word boundaries"
++msgstr ""
++
++#: config/rs6000/sysv4.opt:95
++msgid "Use alternate register names"
++msgstr "使用å¦ä¸€å¥—暫存器å"
++
++#: config/rs6000/sysv4.opt:104
++msgid "Link with libsim.a, libc.a and sim-crt0.o"
++msgstr "與 libsim.a,libc.a å’Œ sim-crt0.o 連çµ"
++
++#: config/rs6000/sysv4.opt:108
++msgid "Link with libads.a, libc.a and crt0.o"
++msgstr "與 libads.a,libc.a å’Œ crt0.o 連çµ"
++
++#: config/rs6000/sysv4.opt:112
++msgid "Link with libyk.a, libc.a and crt0.o"
++msgstr "與 libyk.a,libc.a å’Œ crt0.o 連çµ"
++
++#: config/rs6000/sysv4.opt:116
++msgid "Link with libmvme.a, libc.a and crt0.o"
++msgstr "與 libmvme.a,libc.a å’Œ crt0.o 連çµ"
++
++#: config/rs6000/sysv4.opt:120
++msgid "Set the PPC_EMB bit in the ELF flags header"
++msgstr "在 ELF 旗標頭中指定 PPC_EMB ä½"
++
++#: config/rs6000/sysv4.opt:124
++msgid "Use the WindISS simulator"
++msgstr "使用 WindISS 模擬器"
++
++#: config/rs6000/sysv4.opt:132 config/rs6000/darwin.opt:24
+ msgid "Generate 64-bit code"
+ msgstr "產生 64 ä½å…ƒç¨‹å¼ç¢¼"
+
+-#: config/rs6000/darwin.opt:28 config/rs6000/sysv4.opt:136
++#: config/rs6000/sysv4.opt:136 config/rs6000/darwin.opt:28
+ msgid "Generate 32-bit code"
+ msgstr "產生 32 ä½å…ƒç¨‹å¼ç¢¼"
+
++#: config/rs6000/sysv4.opt:144
++msgid "Generate code to use a non-exec PLT and GOT"
++msgstr "產生的程å¼ç¢¼ä½¿ç”¨ä¸å¯åŸ·è¡Œ PLT å’Œ GOT"
++
++#: config/rs6000/sysv4.opt:148
++msgid "Generate code for old exec BSS PLT"
++msgstr "為舊的å¯åŸ·è¡Œ BSS PLT 產生程å¼ç¢¼"
++
++#: config/rs6000/linux64.opt:24
++msgid "Call mcount for profiling before a function prologue"
++msgstr ""
++
+ #: config/rs6000/darwin.opt:32
+ msgid "Generate code suitable for executables (NOT shared libs)"
+ msgstr "產生的程å¼ç¢¼é©åˆæ–¼å¯åŸ·è¡Œæª”案(而ä¸æ˜¯å…±äº«å‡½å¼åº«)"
+
++#: config/rs6000/aix64.opt:24
++msgid "Compile for 64-bit pointers"
++msgstr "為 64 ä½å…ƒæŒ‡æ¨™ç·¨è­¯"
++
++#: config/rs6000/aix64.opt:28
++msgid "Compile for 32-bit pointers"
++msgstr "為 32 ä½å…ƒæŒ‡æ¨™ç·¨è­¯"
++
++#: config/rs6000/aix64.opt:32 config/rs6000/aix41.opt:24
++msgid "Support message passing with the Parallel Environment"
++msgstr ""
++
+ #: config/rs6000/rs6000.opt:24
+ msgid "Use POWER instruction set"
+ msgstr "使用 POWER 指令集"
+@@ -12848,6 +12904,10 @@
+ msgid "Return small structures in registers (SVR4 default)"
+ msgstr "å°çµæ§‹åœ¨æš«å­˜å™¨ä¸­å›žå‚³ (SVR4 é è¨­)"
+
++#: config/rs6000/rs6000.opt:147 config/rs6000/aix.opt:24
++msgid "Conform more closely to IBM XLC semantics"
++msgstr "盡é‡æŽ¥è¿‘ IBM XLC 語義"
++
+ #: config/rs6000/rs6000.opt:151
+ #, fuzzy
+ msgid "Generate software reciprocal sqrt for better throughput"
+@@ -12914,6 +12974,10 @@
+ msgid "Specify ABI to use"
+ msgstr "指定è¦ä½¿ç”¨çš„ ABI"
+
++#: config/rs6000/rs6000.opt:222 config/sparc/sparc.opt:91
++msgid "Use features of and schedule code for given CPU"
++msgstr "使用指定 CPU 的特性和調度程å¼ç¢¼"
++
+ #: config/rs6000/rs6000.opt:230
+ msgid "Select full, part, or no traceback table"
+ msgstr ""
+@@ -12950,96 +13014,74 @@
+ msgid "Specify scheduling priority for dispatch slot restricted insns"
+ msgstr ""
+
+-#: config/rs6000/aix64.opt:24
+-msgid "Compile for 64-bit pointers"
+-msgstr "為 64 ä½å…ƒæŒ‡æ¨™ç·¨è­¯"
++#: config/v850/v850.opt:23
++msgid "Use registers r2 and r5"
++msgstr "使用暫存器 r2 和 r5"
+
+-#: config/rs6000/aix64.opt:28
+-msgid "Compile for 32-bit pointers"
+-msgstr "為 32 ä½å…ƒæŒ‡æ¨™ç·¨è­¯"
++#: config/v850/v850.opt:27
++msgid "Use 4 byte entries in switch tables"
++msgstr "在分支表中使用 4 ä½å…ƒçµ„é•·çš„æ¢ç›®"
+
+-#: config/rs6000/linux64.opt:24
+-msgid "Call mcount for profiling before a function prologue"
+-msgstr ""
++#: config/v850/v850.opt:31
++msgid "Enable backend debugging"
++msgstr "啟用後端程å¼é™¤éŒ¯"
+
+-#: config/rs6000/sysv4.opt:24
+-msgid "Select ABI calling convention"
+-msgstr "é¸æ“‡ ABI 呼å«ç´„定"
++#: config/v850/v850.opt:35
++msgid "Do not use the callt instruction"
++msgstr "ä¸ä½¿ç”¨ callt 指令"
+
+-#: config/rs6000/sysv4.opt:28
+-msgid "Select method for sdata handling"
+-msgstr ""
++#: config/v850/v850.opt:39
++msgid "Reuse r30 on a per function basis"
++msgstr "為æ¯å€‹å‡½å¼é‡ç”¨ r30"
+
+-#: config/rs6000/sysv4.opt:36 config/rs6000/sysv4.opt:40
+-msgid "Align to the base type of the bit-field"
+-msgstr "å°é½Šåˆ°ä½å…ƒæ®µçš„基礎類別型"
++#: config/v850/v850.opt:43
++msgid "Support Green Hills ABI"
++msgstr "æ”¯æ´ Green Hills ABI"
+
+-#: config/rs6000/sysv4.opt:45 config/rs6000/sysv4.opt:49
+-msgid "Produce code relocatable at runtime"
+-msgstr "產生執行時å¯é‡å®šä½çš„程å¼ç¢¼"
++#: config/v850/v850.opt:47
++msgid "Prohibit PC relative function calls"
++msgstr "ç¦æ­¢ç›¸å° PC 的函å¼å‘¼å«"
+
+-#: config/rs6000/sysv4.opt:53 config/rs6000/sysv4.opt:57
+-msgid "Produce little endian code"
+-msgstr "產生低ä½ä½å…ƒçµ„在å‰çš„程å¼ç¢¼"
++#: config/v850/v850.opt:51
++msgid "Use stubs for function prologues"
++msgstr "使用å ä½ç¨‹å¼å®Œæˆå‡½å¼å‰è¨€/å°¾è²"
+
+-#: config/rs6000/sysv4.opt:61 config/rs6000/sysv4.opt:65
+-msgid "Produce big endian code"
+-msgstr "產生高ä½ä½å…ƒçµ„在å‰çš„程å¼ç¢¼"
++#: config/v850/v850.opt:55
++msgid "Set the max size of data eligible for the SDA area"
++msgstr ""
+
+-#: config/rs6000/sysv4.opt:70 config/rs6000/sysv4.opt:74
+-#: config/rs6000/sysv4.opt:83 config/rs6000/sysv4.opt:100
+-#: config/rs6000/sysv4.opt:128 config/rs6000/sysv4.opt:140
+-msgid "no description yet"
+-msgstr "尚未æè¿°"
++#: config/v850/v850.opt:59
++msgid "Enable the use of the short load instructions"
++msgstr "啟用å°çŸ­è¼‰å…¥æŒ‡ä»¤çš„使用"
+
+-#: config/rs6000/sysv4.opt:78
+-msgid "Assume all variable arg functions are prototyped"
+-msgstr ""
++#: config/v850/v850.opt:63
++msgid "Same as: -mep -mprolog-function"
++msgstr "與 -mep -mprolog-function 相åŒ"
+
+-#: config/rs6000/sysv4.opt:87
+-msgid "Use EABI"
+-msgstr "使用 EABI"
+-
+-#: config/rs6000/sysv4.opt:91
+-msgid "Allow bit-fields to cross word boundaries"
++#: config/v850/v850.opt:67
++msgid "Set the max size of data eligible for the TDA area"
+ msgstr ""
+
+-#: config/rs6000/sysv4.opt:95
+-msgid "Use alternate register names"
+-msgstr "使用å¦ä¸€å¥—暫存器å"
++#: config/v850/v850.opt:71
++msgid "Enforce strict alignment"
++msgstr "強制嚴格å°é½Š"
+
+-#: config/rs6000/sysv4.opt:104
+-msgid "Link with libsim.a, libc.a and sim-crt0.o"
+-msgstr "與 libsim.a,libc.a å’Œ sim-crt0.o 連çµ"
++#: config/v850/v850.opt:78
++msgid "Compile for the v850 processor"
++msgstr "為 v850 處ç†å™¨ç·¨è­¯"
+
+-#: config/rs6000/sysv4.opt:108
+-msgid "Link with libads.a, libc.a and crt0.o"
+-msgstr "與 libads.a,libc.a å’Œ crt0.o 連çµ"
++#: config/v850/v850.opt:82
++msgid "Compile for the v850e processor"
++msgstr "為 v850e 處ç†å™¨ç·¨è­¯"
+
+-#: config/rs6000/sysv4.opt:112
+-msgid "Link with libyk.a, libc.a and crt0.o"
+-msgstr "與 libyk.a,libc.a å’Œ crt0.o 連çµ"
++#: config/v850/v850.opt:86
++msgid "Compile for the v850e1 processor"
++msgstr "為 v850e1 處ç†å™¨ç·¨è­¯"
+
+-#: config/rs6000/sysv4.opt:116
+-msgid "Link with libmvme.a, libc.a and crt0.o"
+-msgstr "與 libmvme.a,libc.a å’Œ crt0.o 連çµ"
++#: config/v850/v850.opt:90
++msgid "Set the max size of data eligible for the ZDA area"
++msgstr ""
+
+-#: config/rs6000/sysv4.opt:120
+-msgid "Set the PPC_EMB bit in the ELF flags header"
+-msgstr "在 ELF 旗標頭中指定 PPC_EMB ä½"
+-
+-#: config/rs6000/sysv4.opt:124
+-msgid "Use the WindISS simulator"
+-msgstr "使用 WindISS 模擬器"
+-
+-#: config/rs6000/sysv4.opt:144
+-msgid "Generate code to use a non-exec PLT and GOT"
+-msgstr "產生的程å¼ç¢¼ä½¿ç”¨ä¸å¯åŸ·è¡Œ PLT å’Œ GOT"
+-
+-#: config/rs6000/sysv4.opt:148
+-msgid "Generate code for old exec BSS PLT"
+-msgstr "為舊的å¯åŸ·è¡Œ BSS PLT 產生程å¼ç¢¼"
+-
+ #: config/spu/spu.opt:20
+ msgid "Emit warnings when run-time relocations are generated"
+ msgstr ""
+@@ -13080,62 +13122,268 @@
+ msgid "Generate code for 32 bit addressing"
+ msgstr "產生高ä½ä½å…ƒçµ„在å‰çš„程å¼ç¢¼"
+
+-#: config/mcore/mcore.opt:23
+-msgid "Generate code for the M*Core M210"
+-msgstr "為 M*Core M210 產生程å¼ç¢¼"
++#: config/vax/vax.opt:23 config/vax/vax.opt:27
++msgid "Target DFLOAT double precision code"
++msgstr "產生 DFLOAT 雙精度程å¼ç¢¼"
+
+-#: config/mcore/mcore.opt:27
+-msgid "Generate code for the M*Core M340"
+-msgstr "為 M*Core M340 產生程å¼ç¢¼"
++#: config/vax/vax.opt:31 config/vax/vax.opt:35
++msgid "Generate GFLOAT double precision code"
++msgstr "產生 GFLOAT 雙精度程å¼ç¢¼"
+
+-#: config/mcore/mcore.opt:31
+-msgid "Set maximum alignment to 4"
+-msgstr "設定最大å°é½Šé‚Šç•Œç‚º 4"
++#: config/vax/vax.opt:39
++msgid "Generate code for GNU assembler (gas)"
++msgstr "為 GNU 組譯器(gas)產生程å¼ç¢¼"
+
+-#: config/mcore/mcore.opt:35
+-msgid "Force functions to be aligned to a 4 byte boundary"
+-msgstr "將函å¼å¼·è¡Œå°é½Šåˆ° 4 ä½å…ƒçµ„邊界上"
++#: config/vax/vax.opt:43
++msgid "Generate code for UNIX assembler"
++msgstr "為 UNIX 組譯器產生程å¼ç¢¼"
+
+-#: config/mcore/mcore.opt:39
+-msgid "Set maximum alignment to 8"
+-msgstr "設定最大å°é½Šé‚Šç•Œç‚º 8"
++#: config/vax/vax.opt:47
++msgid "Use VAXC structure conventions"
++msgstr "使用 VAXC çµæ§‹ç´„定"
+
+-#: config/mcore/mcore.opt:43 config/score/score.opt:23
+-msgid "Generate big-endian code"
+-msgstr "產生高ä½ä½å…ƒçµ„在å‰çš„程å¼ç¢¼"
++#: config/lynx.opt:23
++msgid "Support legacy multi-threading"
++msgstr "支æ´å‚³çµ±å¤šåŸ·è¡Œç·’"
+
+-#: config/mcore/mcore.opt:47
+-msgid "Emit call graph information"
+-msgstr "產生呼å«åœ–資訊"
++#: config/lynx.opt:27
++msgid "Use shared libraries"
++msgstr "使用共享函å¼åº«"
+
+-#: config/mcore/mcore.opt:51
+-msgid "Use the divide instruction"
+-msgstr "使用除法指令"
++#: config/lynx.opt:31
++msgid "Support multi-threading"
++msgstr "支æ´å¤šåŸ·è¡Œç·’"
+
+-#: config/mcore/mcore.opt:55
+-msgid "Inline constants if it can be done in 2 insns or less"
+-msgstr "當常數å¯ä»¥ç‚ºå…©å€‹ä»¥ä¸‹çš„指令產生時內è¯å¸¸æ•¸"
++#: config/stormy16/stormy16.opt:24
++msgid "Provide libraries for the simulator"
++msgstr "為模擬器æ供函å¼åº«"
+
+-#: config/mcore/mcore.opt:59 config/score/score.opt:27
+-msgid "Generate little-endian code"
+-msgstr "產生低ä½ä½å…ƒçµ„在å‰çš„程å¼ç¢¼"
++#: config/h8300/h8300.opt:23
++msgid "Generate H8S code"
++msgstr "產生 H8S 程å¼ç¢¼"
+
+-#: config/mcore/mcore.opt:67
+-msgid "Use arbitrary sized immediates in bit operations"
+-msgstr "在ä½ä½œæ¥­ä¸­ä½¿ç”¨ä»»æ„大å°çš„ç«‹å³æ•¸å€¼"
++#: config/h8300/h8300.opt:27
++msgid "Generate H8SX code"
++msgstr "產生 H8SX 程å¼ç¢¼"
+
+-#: config/mcore/mcore.opt:71
+-msgid "Prefer word accesses over byte accesses"
+-msgstr "盡é‡æŒ‰å­—å­˜å–而ä¸æ˜¯æŒ‰ä½å…ƒçµ„å­˜å–"
++#: config/h8300/h8300.opt:31
++msgid "Generate H8S/2600 code"
++msgstr "產生 H8S/2600 程å¼ç¢¼"
+
+-#: config/mcore/mcore.opt:75
+-msgid "Set the maximum amount for a single stack increment operation"
++#: config/h8300/h8300.opt:35
++msgid "Make integers 32 bits wide"
++msgstr "讓整數有 32 ä½å…ƒå¯¬"
++
++#: config/h8300/h8300.opt:42
++msgid "Use registers for argument passing"
++msgstr "使用暫存器傳éžåƒæ•¸"
++
++#: config/h8300/h8300.opt:46
++msgid "Consider access to byte sized memory slow"
+ msgstr ""
+
+-#: config/mcore/mcore.opt:79
+-msgid "Always treat bitfields as int-sized"
+-msgstr "總èªç‚ºä½å…ƒæ®µé•·èˆ‡ int 相åŒ"
++#: config/h8300/h8300.opt:50
++msgid "Enable linker relaxing"
++msgstr "啟用連çµå™¨é¬†å¼›"
+
++#: config/h8300/h8300.opt:54
++msgid "Generate H8/300H code"
++msgstr "產生 H8/300H 程å¼ç¢¼"
++
++#: config/h8300/h8300.opt:58
++msgid "Enable the normal mode"
++msgstr "啟用正常模å¼"
++
++#: config/h8300/h8300.opt:62
++msgid "Use H8/300 alignment rules"
++msgstr "使用 H8/300 å°é½Šè¦å‰‡"
++
++#: config/s390/s390.opt:23
++msgid "31 bit ABI"
++msgstr "31 ä½å…ƒ ABI"
++
++#: config/s390/s390.opt:27
++msgid "64 bit ABI"
++msgstr "64 ä½å…ƒ ABI"
++
++#: config/s390/s390.opt:35
++msgid "Maintain backchain pointer"
++msgstr "維護åéˆæŒ‡æ¨™"
++
++#: config/s390/s390.opt:39
++msgid "Additional debug prints"
++msgstr "é¡å¤–除錯輸出"
++
++#: config/s390/s390.opt:43
++msgid "ESA/390 architecture"
++msgstr "ESA/390 çµæ§‹"
++
++#: config/s390/s390.opt:47
++msgid "Enable fused multiply/add instructions"
++msgstr "啟用èžåˆçš„乘加指令"
++
++#: config/s390/s390.opt:51
++#, fuzzy
++msgid "Enable decimal floating point hardware support"
++msgstr "指定是å¦æ‡‰ç•¶ä½¿ç”¨ç¡¬é«”浮點"
++
++#: config/s390/s390.opt:55
++#, fuzzy
++msgid "Enable hardware floating point"
++msgstr "使用硬體浮點單元"
++
++#: config/s390/s390.opt:67
++msgid "Use packed stack layout"
++msgstr "使用緊實的堆疊版é¢è¨­ç½®"
++
++#: config/s390/s390.opt:71
++msgid "Use bras for executable < 64k"
++msgstr ""
++
++#: config/s390/s390.opt:75
++#, fuzzy
++msgid "Disable hardware floating point"
++msgstr "使用硬體浮點單元"
++
++#: config/s390/s390.opt:79
++msgid "Set the max. number of bytes which has to be left to stack size before a trap instruction is triggered"
++msgstr ""
++
++#: config/s390/s390.opt:83
++msgid "Emit extra code in the function prologue in order to trap if the stack size exceeds the given limit"
++msgstr "在函å¼å‰è¨€ä¸­ç”¢ç”Ÿé¡å¤–程å¼ç¢¼ä»¥ç²å–堆疊大å°è¶Šé™"
++
++#: config/s390/s390.opt:91
++msgid "mvcle use"
++msgstr "使用 mvcle"
++
++#: config/s390/s390.opt:95
++msgid "Warn if a function uses alloca or creates an array with dynamic size"
++msgstr "當函å¼ä½¿ç”¨ alloca 來建立彈性陣列時給出警告"
++
++#: config/s390/s390.opt:99
++msgid "Warn if a single function's framesize exceeds the given framesize"
++msgstr "當單一函å¼çš„圖框大å°è¶…éŽçµ¦å®šå€¼æ™‚給出警告"
++
++#: config/s390/s390.opt:103
++msgid "z/Architecture"
++msgstr "z/Architecture"
++
++#: config/s390/tpf.opt:23
++msgid "Enable TPF-OS tracing code"
++msgstr "啟用 TPF-OS 追蹤碼"
++
++#: config/s390/tpf.opt:27
++msgid "Specify main object for TPF-OS"
++msgstr "指定 TPF-OS 主è¦ç‰©ä»¶"
++
++#: config/darwin.opt:23
++msgid "Generate code suitable for fast turn around debugging"
++msgstr ""
++
++#: config/darwin.opt:31
++msgid "The earliest MacOS X version on which this program will run"
++msgstr "這個程å¼å¯èƒ½åœ¨å…¶ä¸ŠåŸ·è¡Œçš„最早的 MacOS X 版本"
++
++#: config/darwin.opt:35
++msgid "Set sizeof(bool) to 1"
++msgstr "設定 sizeof(bool) 為 1"
++
++#: config/darwin.opt:39
++#, fuzzy
++msgid "Generate code for darwin loadable kernel extensions"
++msgstr "為 68040 產生程å¼ç¢¼ï¼Œä¸ä½¿ç”¨æ–°æŒ‡ä»¤"
++
++#: config/darwin.opt:43
++#, fuzzy
++msgid "Generate code for the kernel or loadable kernel extensions"
++msgstr "為指定的晶片或 CPU 版本產生程å¼ç¢¼"
++
++#: config/darwin.opt:47
++#, fuzzy
++msgid "Add <dir> to the end of the system framework include path"
++msgstr "å°‡ <目錄> 加入到主框架包å«è·¯å¾‘的末尾"
++
++#: config/mn10300/mn10300.opt:23
++msgid "Target the AM33 processor"
++msgstr "目的為 AM33 處ç†å™¨"
++
++#: config/mn10300/mn10300.opt:27
++msgid "Target the AM33/2.0 processor"
++msgstr "目的為 AM33/2.0 處ç†å™¨"
++
++#: config/mn10300/mn10300.opt:31
++msgid "Work around hardware multiply bug"
++msgstr "為硬體乘法缺陷æ供變通"
++
++#: config/mn10300/mn10300.opt:36
++msgid "Enable linker relaxations"
++msgstr "啟用連çµå™¨é¬†å¼›"
++
++#: config/mn10300/mn10300.opt:40
++msgid "Return pointers in both a0 and d0"
++msgstr "在 a0 和 d0 中回傳指標"
++
++#: config/m32r/m32r.opt:23
++msgid "Compile for the m32rx"
++msgstr "為 m32rx 編譯"
++
++#: config/m32r/m32r.opt:27
++msgid "Compile for the m32r2"
++msgstr "為 m32r2 編譯"
++
++#: config/m32r/m32r.opt:31
++msgid "Compile for the m32r"
++msgstr "為 m32r 編譯"
++
++#: config/m32r/m32r.opt:35
++msgid "Align all loops to 32 byte boundary"
++msgstr "所有循環å°é½Šåˆ° 32 ä½å…ƒçµ„邊界上"
++
++#: config/m32r/m32r.opt:39
++msgid "Prefer branches over conditional execution"
++msgstr "優先使用分支而ä¸æ˜¯æ¢ä»¶åŸ·è¡Œ"
++
++#: config/m32r/m32r.opt:43
++msgid "Give branches their default cost"
++msgstr "為分支指定é è¨­ä»£åƒ¹"
++
++#: config/m32r/m32r.opt:47
++msgid "Display compile time statistics"
++msgstr "顯示編譯時間統計"
++
++#: config/m32r/m32r.opt:51
++msgid "Specify cache flush function"
++msgstr "指定清空快å–的函å¼"
++
++#: config/m32r/m32r.opt:55
++msgid "Specify cache flush trap number"
++msgstr "指定清空快å–的陷阱號"
++
++#: config/m32r/m32r.opt:59
++msgid "Only issue one instruction per cycle"
++msgstr "æ¯é€±æœŸåªç™¼å‡ºä¸€æ¢æŒ‡ä»¤"
++
++#: config/m32r/m32r.opt:63
++msgid "Allow two instructions to be issued per cycle"
++msgstr "å…許æ¯é€±æœŸç™¼å‡ºå…©æ¢æŒ‡ä»¤"
++
++#: config/m32r/m32r.opt:67
++msgid "Code size: small, medium or large"
++msgstr "程å¼ç¢¼å¤§å°ï¼šå°ã€ä¸­æˆ–大"
++
++#: config/m32r/m32r.opt:71
++msgid "Don't call any cache flush functions"
++msgstr "ä¸å‘¼å«ä»»ä½•æ¸…空快å–的函å¼"
++
++#: config/m32r/m32r.opt:75
++msgid "Don't call any cache flush trap"
++msgstr "ä¸å‘¼å«ä»»ä½•æ¸…空快å–的陷阱"
++
++#: config/m32r/m32r.opt:82
++msgid "Small data area: none, sdata, use"
++msgstr ""
++
+ #: config/arc/arc.opt:32
+ msgid "Prepend the name of the cpu to all public symbol names"
+ msgstr ""
+@@ -13156,6 +13404,528 @@
+ msgid "Put read-only data in SECTION"
+ msgstr "在 SECTION 中存放唯讀資料"
+
++#: config/m32c/m32c.opt:24 config/mt/mt.opt:27 config/bfin/bfin.opt:23
++msgid "Use simulator runtime"
++msgstr "使用模擬器執行時"
++
++#: config/m32c/m32c.opt:28
++msgid "Compile code for R8C variants"
++msgstr "為 R8C 變種編譯"
++
++#: config/m32c/m32c.opt:32
++msgid "Compile code for M16C variants"
++msgstr "為 M16C 變種編譯"
++
++#: config/m32c/m32c.opt:36
++msgid "Compile code for M32CM variants"
++msgstr "為 M32CM 變種編譯"
++
++#: config/m32c/m32c.opt:40
++msgid "Compile code for M32C variants"
++msgstr "為 M32C 變種編譯"
++
++#: config/m32c/m32c.opt:44
++msgid "Number of memreg bytes (default: 16, range: 0..16)"
++msgstr "memreg ä½å…ƒçµ„數(é è¨­ï¼š16,範åœï¼š0..16)"
++
++#: config/pdp11/pdp11.opt:23
++msgid "Generate code for an 11/10"
++msgstr "為 11/10 產生程å¼ç¢¼"
++
++#: config/pdp11/pdp11.opt:27
++msgid "Generate code for an 11/40"
++msgstr "為 11/40 產生程å¼ç¢¼"
++
++#: config/pdp11/pdp11.opt:31
++msgid "Generate code for an 11/45"
++msgstr "為 11/45 產生附加程å¼ç¢¼"
++
++#: config/pdp11/pdp11.opt:35
++msgid "Use 16-bit abs patterns"
++msgstr "使用 16 ä½ abs 模å¼"
++
++#: config/pdp11/pdp11.opt:39
++msgid "Return floating-point results in ac0 (fr0 in Unix assembler syntax)"
++msgstr "在 ac0(Unix 組譯語法中的 fr0)中回傳浮點çµæžœ"
++
++#: config/pdp11/pdp11.opt:43
++msgid "Do not use inline patterns for copying memory"
++msgstr ""
++
++#: config/pdp11/pdp11.opt:47
++msgid "Use inline patterns for copying memory"
++msgstr ""
++
++#: config/pdp11/pdp11.opt:51
++msgid "Do not pretend that branches are expensive"
++msgstr ""
++
++#: config/pdp11/pdp11.opt:55
++msgid "Pretend that branches are expensive"
++msgstr "å‡å®šåˆ†æ”¯ä»£åƒ¹å¾ˆé«˜æ˜‚"
++
++#: config/pdp11/pdp11.opt:59
++msgid "Use the DEC assembler syntax"
++msgstr "使用 DEC 組譯風格"
++
++#: config/pdp11/pdp11.opt:63
++msgid "Use 32 bit float"
++msgstr "使用 32 ä½å…ƒæµ®é»žæ•¸"
++
++#: config/pdp11/pdp11.opt:67
++msgid "Use 64 bit float"
++msgstr "使用 64 ä½å…ƒæµ®é»žæ•¸"
++
++#: config/pdp11/pdp11.opt:75
++msgid "Use 16 bit int"
++msgstr "使用 16 ä½æ•´æ•¸"
++
++#: config/pdp11/pdp11.opt:79
++msgid "Use 32 bit int"
++msgstr "使用 32 ä½å…ƒæ•´æ•¸"
++
++#: config/pdp11/pdp11.opt:87
++msgid "Target has split I&D"
++msgstr "目標平臺有分離的指令ã€è³‡æ–™ç©ºé–“"
++
++#: config/pdp11/pdp11.opt:91
++msgid "Use UNIX assembler syntax"
++msgstr "使用 UNIX 組譯風格"
++
++#: config/m68k/m68k.opt:23
++msgid "Generate code for a 520X"
++msgstr "為 520X 產生程å¼ç¢¼"
++
++#: config/m68k/m68k.opt:27
++msgid "Generate code for a 5206e"
++msgstr "為 5206e 產生程å¼ç¢¼"
++
++#: config/m68k/m68k.opt:31
++msgid "Generate code for a 528x"
++msgstr "為 528x 產生程å¼ç¢¼"
++
++#: config/m68k/m68k.opt:35
++msgid "Generate code for a 5307"
++msgstr "為 5307 產生程å¼ç¢¼"
++
++#: config/m68k/m68k.opt:39
++msgid "Generate code for a 5407"
++msgstr "為 5407 產生程å¼ç¢¼"
++
++#: config/m68k/m68k.opt:43 config/m68k/m68k.opt:104
++msgid "Generate code for a 68000"
++msgstr "為 68000 產生程å¼ç¢¼"
++
++#: config/m68k/m68k.opt:47
++#, fuzzy
++msgid "Generate code for a 68010"
++msgstr "為 68000 產生程å¼ç¢¼"
++
++#: config/m68k/m68k.opt:51 config/m68k/m68k.opt:108
++msgid "Generate code for a 68020"
++msgstr "為 68020 產生程å¼ç¢¼"
++
++#: config/m68k/m68k.opt:55
++msgid "Generate code for a 68040, without any new instructions"
++msgstr "為 68040 產生程å¼ç¢¼ï¼Œä¸ä½¿ç”¨æ–°æŒ‡ä»¤"
++
++#: config/m68k/m68k.opt:59
++msgid "Generate code for a 68060, without any new instructions"
++msgstr "為 68060 產生程å¼ç¢¼ï¼Œä¸ä½¿ç”¨æ–°æŒ‡ä»¤"
++
++#: config/m68k/m68k.opt:63
++msgid "Generate code for a 68030"
++msgstr "為 68030 產生程å¼ç¢¼"
++
++#: config/m68k/m68k.opt:67
++msgid "Generate code for a 68040"
++msgstr "為 68040 產生程å¼ç¢¼"
++
++#: config/m68k/m68k.opt:71
++msgid "Generate code for a 68060"
++msgstr "為 68060 產生程å¼ç¢¼"
++
++#: config/m68k/m68k.opt:75
++msgid "Generate code for a 68302"
++msgstr "為 68302 產生程å¼ç¢¼"
++
++#: config/m68k/m68k.opt:79
++msgid "Generate code for a 68332"
++msgstr "為 68332 產生程å¼ç¢¼"
++
++#: config/m68k/m68k.opt:84
++msgid "Generate code for a 68851"
++msgstr "為 68851 產生程å¼ç¢¼"
++
++#: config/m68k/m68k.opt:88
++msgid "Generate code that uses 68881 floating-point instructions"
++msgstr "產生使用 68881 浮點指令的程å¼ç¢¼"
++
++#: config/m68k/m68k.opt:92
++msgid "Align variables on a 32-bit boundary"
++msgstr "在 32 ä½å…ƒé‚Šç•Œä¸Šå°é½Šè®Šæ•¸"
++
++#: config/m68k/m68k.opt:100
++msgid "Use the bit-field instructions"
++msgstr "使用ä½å…ƒæ®µæŒ‡ä»¤"
++
++#: config/m68k/m68k.opt:112
++#, fuzzy
++msgid "Generate code for a ColdFire v4e"
++msgstr "為 M*Core M340 產生程å¼ç¢¼"
++
++#: config/m68k/m68k.opt:116
++#, fuzzy
++msgid "Specify the target CPU"
++msgstr "é¸æ“‡ç›®çš„ MCU"
++
++#: config/m68k/m68k.opt:120
++msgid "Generate code for a cpu32"
++msgstr "為 cpu32 產生程å¼ç¢¼"
++
++#: config/m68k/m68k.opt:124
++#, fuzzy
++msgid "Use hardware division instructions on ColdFire"
++msgstr "使用硬體四浮點指令"
++
++#: config/m68k/m68k.opt:128
++#, fuzzy
++msgid "Generate code for a Fido A"
++msgstr "產生動態連çµç¨‹å¼åº«çš„程å¼ç¢¼"
++
++#: config/m68k/m68k.opt:132
++#, fuzzy
++msgid "Generate code which uses hardware floating point instructions"
++msgstr "產生使用 68881 浮點指令的程å¼ç¢¼"
++
++#: config/m68k/m68k.opt:136
++msgid "Enable ID based shared library"
++msgstr "啟用基於 ID 的共享函å¼åº«"
++
++#: config/m68k/m68k.opt:140
++msgid "Do not use the bit-field instructions"
++msgstr "ä¸ä½¿ç”¨ä½å…ƒæ®µæŒ‡ä»¤"
++
++#: config/m68k/m68k.opt:144
++msgid "Use normal calling convention"
++msgstr "使用一般的呼å«ç´„定"
++
++#: config/m68k/m68k.opt:148
++msgid "Consider type 'int' to be 32 bits wide"
++msgstr "èªç‚ºã€Œintã€é¡žåˆ¥æœ‰ 32 ä½å…ƒå¯¬"
++
++#: config/m68k/m68k.opt:152
++msgid "Generate pc-relative code"
++msgstr "ç”¢ç”Ÿç›¸å° pc 的程å¼ç¢¼"
++
++#: config/m68k/m68k.opt:156
++msgid "Use different calling convention using 'rtd'"
++msgstr "啟用使用「rtdã€çš„ä¸åŒçš„呼å«ç´„定"
++
++#: config/m68k/m68k.opt:160 config/bfin/bfin.opt:61
++msgid "Enable separate data segment"
++msgstr "啟用分離的資料段"
++
++#: config/m68k/m68k.opt:164 config/bfin/bfin.opt:57
++msgid "ID of shared library to build"
++msgstr "å°‡è¦å»ºç«‹çš„共享函å¼åº«çš„ ID"
++
++#: config/m68k/m68k.opt:168
++msgid "Consider type 'int' to be 16 bits wide"
++msgstr "èªç‚ºã€Œintã€é¡žåˆ¥æœ‰ 16 ä½å¯¬"
++
++#: config/m68k/m68k.opt:172
++msgid "Generate code with library calls for floating point"
++msgstr ""
++
++#: config/m68k/m68k.opt:176
++msgid "Do not use unaligned memory references"
++msgstr "ä¸ä½¿ç”¨æœªå°é½Šçš„記憶體åƒç…§"
++
++#: config/m68k/m68k.opt:180
++#, fuzzy
++msgid "Tune for the specified target CPU or architecture"
++msgstr "指定目的架構的å稱"
++
++#: config/mmix/mmix.opt:24
++msgid "For intrinsics library: pass all parameters in registers"
++msgstr "為內建函å¼åº«ï¼šæ‰€æœ‰åƒæ•¸åœ¨æš«å­˜å™¨ä¸­å‚³éž"
++
++#: config/mmix/mmix.opt:28
++msgid "Use register stack for parameters and return value"
++msgstr "使用暫存器堆疊傳éžåƒæ•¸å’Œå›žå‚³å€¼"
++
++#: config/mmix/mmix.opt:32
++msgid "Use call-clobbered registers for parameters and return value"
++msgstr "將呼å«ç¯¡æ”¹çš„暫存器用於åƒæ•¸å’Œå›žå‚³å€¼"
++
++#: config/mmix/mmix.opt:37
++msgid "Use epsilon-respecting floating point compare instructions"
++msgstr "使用在æ„無窮å°çš„浮點比較指令"
++
++#: config/mmix/mmix.opt:41
++msgid "Use zero-extending memory loads, not sign-extending ones"
++msgstr "使用零擴充而ä¸æ˜¯ç¬¦è™Ÿæ“´å……的記憶體載入"
++
++#: config/mmix/mmix.opt:45
++msgid "Generate divide results with reminder having the same sign as the divisor (not the dividend)"
++msgstr "產生的除法çµæžœä¸­é¤˜æ•¸ç¬¦è™Ÿå°‡èˆ‡é™¤æ•¸è€Œä¸æ˜¯è¢«é™¤æ•¸ç›¸åŒ"
++
++#: config/mmix/mmix.opt:49
++msgid "Prepend global symbols with \":\" (for use with PREFIX)"
++msgstr "在全域符號å‰åŠ å…¥ã€Œ:ã€(為與 PREFIX å”作)"
++
++#: config/mmix/mmix.opt:53
++msgid "Do not provide a default start-address 0x100 of the program"
++msgstr "ä¸ç‚ºç¨‹å¼æä¾›é è¨­çš„起始ä½å€ 0x100"
++
++#: config/mmix/mmix.opt:57
++msgid "Link to emit program in ELF format (rather than mmo)"
++msgstr "連çµç”¢ç”Ÿ ELF è€Œéž mmo æ ¼å¼çš„程å¼"
++
++#: config/mmix/mmix.opt:61
++msgid "Use P-mnemonics for branches statically predicted as taken"
++msgstr "為éœæ…‹é æ¸¬ç‚ºå¿…è¦é€²è¡Œçš„跳轉使用 P 助憶符號"
++
++#: config/mmix/mmix.opt:65
++msgid "Don't use P-mnemonics for branches"
++msgstr "ä¸ç‚ºåˆ†æ”¯ä½¿ç”¨ P 助憶符號"
++
++#: config/mmix/mmix.opt:79
++msgid "Use addresses that allocate global registers"
++msgstr "使用指派全域暫存器的ä½å€"
++
++#: config/mmix/mmix.opt:83
++msgid "Do not use addresses that allocate global registers"
++msgstr "ä¸ä½¿ç”¨æŒ‡æ´¾å…¨åŸŸæš«å­˜å™¨çš„ä½å€"
++
++#: config/mmix/mmix.opt:87
++msgid "Generate a single exit point for each function"
++msgstr "為æ¯å€‹å‡½å¼ç”¢ç”Ÿå–®ä¸€çš„離開點"
++
++#: config/mmix/mmix.opt:91
++msgid "Do not generate a single exit point for each function"
++msgstr "ä¸ç‚ºæ¯å€‹å‡½å¼ç”¢ç”Ÿå–®ä¸€çš„離開點"
++
++#: config/mmix/mmix.opt:95
++msgid "Set start-address of the program"
++msgstr "設定程å¼çš„起始ä½å€"
++
++#: config/mmix/mmix.opt:99
++msgid "Set start-address of data"
++msgstr "設定資料的起始ä½å€"
++
++#: config/score/score.opt:31
++#, fuzzy
++msgid "Disable bcnz instruction"
++msgstr "使用 AltiVec 指令"
++
++#: config/score/score.opt:35
++#, fuzzy
++msgid "Enable unaligned load/store instruction"
++msgstr "啟用 DB 指令"
++
++#: config/score/score.opt:39
++msgid "Support SCORE 5 ISA"
++msgstr ""
++
++#: config/score/score.opt:43
++msgid "Support SCORE 5U ISA"
++msgstr ""
++
++#: config/score/score.opt:47
++msgid "Support SCORE 7 ISA"
++msgstr ""
++
++#: config/score/score.opt:51
++msgid "Support SCORE 7D ISA"
++msgstr ""
++
++#: config/score/score.opt:55
++msgid "Support SCORE 3 ISA"
++msgstr ""
++
++#: config/score/score.opt:59
++msgid "Support SCORE 3d ISA"
++msgstr ""
++
++#: config/crx/crx.opt:23
++msgid "Support multiply accumulate instructions"
++msgstr "支æ´ä¹˜åŠ æŒ‡ä»¤"
++
++#: config/crx/crx.opt:27
++msgid "Do not use push to store function arguments"
++msgstr "ä¸ä½¿ç”¨ push 指令儲存函å¼åƒæ•¸"
++
++#: config/crx/crx.opt:31
++msgid "Restrict doloop to the given nesting level"
++msgstr ""
++
++#: config/mt/mt.opt:23
++msgid "Use byte loads and stores when generating code."
++msgstr "產生程å¼ç¢¼æ™‚使用ä½å…ƒçµ„載入和存儲。"
++
++#: config/mt/mt.opt:31
++msgid "Do not include crt0.o in the startup files"
++msgstr "ä¸å°‡ crt0.o 包å«åœ¨å•Ÿå‹•æª”案中"
++
++#: config/mt/mt.opt:35 config/mt/mt.opt:39 config/mt/mt.opt:43
++#: config/mt/mt.opt:47 config/mt/mt.opt:51
++msgid "Internal debug switch"
++msgstr "內部除錯開關"
++
++#: config/m68hc11/m68hc11.opt:23 config/m68hc11/m68hc11.opt:31
++msgid "Compile for a 68HC11"
++msgstr "為 68HC11 組譯"
++
++#: config/m68hc11/m68hc11.opt:27 config/m68hc11/m68hc11.opt:35
++msgid "Compile for a 68HC12"
++msgstr "為 68HC12 組譯"
++
++#: config/m68hc11/m68hc11.opt:41 config/m68hc11/m68hc11.opt:45
++msgid "Compile for a 68HCS12"
++msgstr "為 68HCS12 組譯"
++
++#: config/m68hc11/m68hc11.opt:49
++msgid "Auto pre/post decrement increment allowed"
++msgstr "å…許自動å‰/後自減增"
++
++#: config/m68hc11/m68hc11.opt:53
++msgid "Min/max instructions allowed"
++msgstr "å…許 min/max 指令"
++
++#: config/m68hc11/m68hc11.opt:57
++msgid "Use call and rtc for function calls and returns"
++msgstr ""
++
++#: config/m68hc11/m68hc11.opt:61
++msgid "Auto pre/post decrement increment not allowed"
++msgstr "ä¸å…許自動å‰/後自減增"
++
++#: config/m68hc11/m68hc11.opt:65
++msgid "Use jsr and rts for function calls and returns"
++msgstr ""
++
++#: config/m68hc11/m68hc11.opt:69
++msgid "Min/max instructions not allowed"
++msgstr "ä¸å…許 min/max 指令"
++
++#: config/m68hc11/m68hc11.opt:73
++msgid "Use direct addressing mode for soft registers"
++msgstr "為軟暫存器使用直接定å€"
++
++#: config/m68hc11/m68hc11.opt:77
++msgid "Compile with 32-bit integer mode"
++msgstr "以 32 ä½å…ƒæ•´æ•¸æ¨¡å¼ç·¨è­¯"
++
++#: config/m68hc11/m68hc11.opt:82
++msgid "Specify the register allocation order"
++msgstr "指定指派暫存器的順åº"
++
++#: config/m68hc11/m68hc11.opt:86
++msgid "Do not use direct addressing mode for soft registers"
++msgstr "ä¸ç‚ºè»Ÿæš«å­˜å™¨ä½¿ç”¨ç›´æŽ¥å®šå€"
++
++#: config/m68hc11/m68hc11.opt:90
++msgid "Compile with 16-bit integer mode"
++msgstr "以 16 ä½æ•´æ•¸æ¨¡å¼ç·¨è­¯"
++
++#: config/m68hc11/m68hc11.opt:94
++msgid "Indicate the number of soft registers available"
++msgstr "指示å¯ç”¨çš„軟暫存器的數é‡"
++
++#: config/fr30/fr30.opt:23
++msgid "Assume small address space"
++msgstr "å‡å®šå°ä½å€ç©ºé–“"
++
++#: config/sparc/little-endian.opt:23
++msgid "Generate code for little-endian"
++msgstr "產生低ä½ä½å…ƒçµ„在å‰çš„程å¼ç¢¼"
++
++#: config/sparc/little-endian.opt:27
++msgid "Generate code for big-endian"
++msgstr "產生高ä½ä½å…ƒçµ„在å‰çš„程å¼ç¢¼"
++
++#: config/sparc/sparc.opt:23 config/sparc/sparc.opt:27
++msgid "Use hardware FP"
++msgstr "使用硬體浮點單元"
++
++#: config/sparc/sparc.opt:31
++msgid "Do not use hardware FP"
++msgstr "ä¸ä½¿ç”¨ç¡¬é«”浮點單元"
++
++#: config/sparc/sparc.opt:35
++msgid "Assume possible double misalignment"
++msgstr "å‡å®šå¯èƒ½çš„å…©ä¸æ­£ç¢ºé½Š"
++
++#: config/sparc/sparc.opt:39
++msgid "Pass -assert pure-text to linker"
++msgstr "å°‡ -assert pure-text 傳éžçµ¦é€£çµå™¨"
++
++#: config/sparc/sparc.opt:43
++msgid "Use ABI reserved registers"
++msgstr "使用 ABI ä¿ç•™çš„暫存器"
++
++#: config/sparc/sparc.opt:47
++msgid "Use hardware quad FP instructions"
++msgstr "使用硬體四浮點指令"
++
++#: config/sparc/sparc.opt:51
++msgid "Do not use hardware quad fp instructions"
++msgstr "ä¸ä½¿ç”¨ç¡¬é«”四浮點指令"
++
++#: config/sparc/sparc.opt:55
++msgid "Compile for V8+ ABI"
++msgstr "為 V8+ ABI 編譯"
++
++#: config/sparc/sparc.opt:59
++msgid "Use UltraSPARC Visual Instruction Set extensions"
++msgstr "使用 UltraSPARC å¯è¦–化指令集"
++
++#: config/sparc/sparc.opt:63
++msgid "Pointers are 64-bit"
++msgstr "指標是 64 ä½å…ƒ"
++
++#: config/sparc/sparc.opt:67
++msgid "Pointers are 32-bit"
++msgstr "指標是 32 ä½å…ƒ"
++
++#: config/sparc/sparc.opt:71
++msgid "Use 64-bit ABI"
++msgstr "使用 64 ä½å…ƒ ABI"
++
++#: config/sparc/sparc.opt:75
++msgid "Use 32-bit ABI"
++msgstr "使用 32 ä½å…ƒ ABI"
++
++#: config/sparc/sparc.opt:79
++msgid "Use stack bias"
++msgstr "使用堆疊å移"
++
++#: config/sparc/sparc.opt:83
++msgid "Use structs on stronger alignment for double-word copies"
++msgstr ""
++
++#: config/sparc/sparc.opt:87
++msgid "Optimize tail call instructions in assembler and linker"
++msgstr "在組譯器和連çµå™¨ä¸­æœ€ä½³åŒ–尾呼å«æŒ‡ä»¤"
++
++#: config/sparc/sparc.opt:99
++msgid "Use given SPARC-V9 code model"
++msgstr "使用給定的 SPARC-V9 程å¼ç¢¼æ¨¡åž‹"
++
++#: config/sparc/sparc.opt:103
++msgid "Enable strict 32-bit psABI struct return checking."
++msgstr ""
++
++#: config/sh/superh.opt:6
++msgid "Board name [and memory region]."
++msgstr ""
++
++#: config/sh/superh.opt:10
++msgid "Runtime name."
++msgstr ""
++
+ #: config/sh/sh.opt:44
+ msgid "Generate SH1 code"
+ msgstr "產生 SH1 程å¼ç¢¼"
+@@ -13444,467 +14214,19 @@
+ msgid "Pretend a branch-around-a-move is a conditional move."
+ msgstr ""
+
+-#: config/sh/superh.opt:6
+-msgid "Board name [and memory region]."
+-msgstr ""
++#: config/vxworks.opt:24
++msgid "Assume the VxWorks RTP environment"
++msgstr "å‡å®š VxWorks RTP 環境"
+
+-#: config/sh/superh.opt:10
+-msgid "Runtime name."
+-msgstr ""
++#: config/vxworks.opt:31
++msgid "Assume the VxWorks vThreads environment"
++msgstr "å‡å®š VxWorks vThreads 環境"
+
+-#: config/arm/arm.opt:23
+-msgid "Specify an ABI"
+-msgstr "指定一個 ABI"
++#: config/mips/sdemtk.opt:23
++#, fuzzy
++msgid "Prevent the use of all floating-point operations"
++msgstr "ä¸å…許使用任何硬體浮點指令"
+
+-#: config/arm/arm.opt:27
+-msgid "Generate a call to abort if a noreturn function returns"
+-msgstr "當 noreturn 函å¼å›žå‚³æ™‚å‘¼å« abort"
+-
+-#: config/arm/arm.opt:34
+-msgid "Pass FP arguments in FP registers"
+-msgstr "在浮點暫存器中傳éžæµ®é»žåƒæ•¸"
+-
+-#: config/arm/arm.opt:38
+-msgid "Generate APCS conformant stack frames"
+-msgstr "產生與 APCS 相容的堆疊框架"
+-
+-#: config/arm/arm.opt:42
+-msgid "Generate re-entrant, PIC code"
+-msgstr "產生å¯é‡å…¥çš„ PIC 程å¼ç¢¼"
+-
+-#: config/arm/arm.opt:56
+-msgid "Assume target CPU is configured as big endian"
+-msgstr "å‡å®šç›®çš„ CPU 被é…置為高ä½ä½å…ƒçµ„在å‰"
+-
+-#: config/arm/arm.opt:60
+-msgid "Thumb: Assume non-static functions may be called from ARM code"
+-msgstr ""
+-
+-#: config/arm/arm.opt:64
+-msgid "Thumb: Assume function pointers may go to non-Thumb aware code"
+-msgstr ""
+-
+-#: config/arm/arm.opt:68
+-msgid "Cirrus: Place NOPs to avoid invalid instruction combinations"
+-msgstr "Cirrus:æ’å…¥ NOP 以é¿å…無效的指令組åˆ"
+-
+-#: config/arm/arm.opt:72 config/bfin/bfin.opt:27
+-msgid "Specify the name of the target CPU"
+-msgstr "指定目的 CPU çš„å稱"
+-
+-#: config/arm/arm.opt:76
+-msgid "Specify if floating point hardware should be used"
+-msgstr "指定是å¦æ‡‰ç•¶ä½¿ç”¨ç¡¬é«”浮點"
+-
+-#: config/arm/arm.opt:90
+-msgid "Specify the name of the target floating point hardware/format"
+-msgstr "指定目的浮點硬體/æ ¼å¼çš„å稱"
+-
+-#: config/arm/arm.opt:94
+-msgid "Alias for -mfloat-abi=hard"
+-msgstr "-mfloat-abi=hard 的別å"
+-
+-#: config/arm/arm.opt:98
+-msgid "Assume target CPU is configured as little endian"
+-msgstr "å‡å®šç›®çš„ CPU 被é…置為低ä½ä½å…ƒçµ„在å‰"
+-
+-#: config/arm/arm.opt:102
+-msgid "Generate call insns as indirect calls, if necessary"
+-msgstr ""
+-
+-#: config/arm/arm.opt:106
+-msgid "Specify the register to be used for PIC addressing"
+-msgstr "指定用於 PIC 定å€çš„暫存器"
+-
+-#: config/arm/arm.opt:110
+-msgid "Store function names in object code"
+-msgstr "在目的檔案中存儲函å¼å"
+-
+-#: config/arm/arm.opt:114
+-msgid "Permit scheduling of a function's prologue sequence"
+-msgstr "å…許調度函å¼å‰è¨€åºåˆ—"
+-
+-#: config/arm/arm.opt:118
+-msgid "Do not load the PIC register in function prologues"
+-msgstr "ä¸åœ¨å‡½å¼å‰è¨€ä¸­è¼‰å…¥ PIC 暫存器"
+-
+-#: config/arm/arm.opt:122
+-msgid "Alias for -mfloat-abi=soft"
+-msgstr "-mfloat-abi=soft 的別å"
+-
+-#: config/arm/arm.opt:126
+-msgid "Specify the minimum bit alignment of structures"
+-msgstr ""
+-
+-#: config/arm/arm.opt:130
+-msgid "Compile for the Thumb not the ARM"
+-msgstr "為 Thumb 而ä¸æ˜¯ ARM 編譯"
+-
+-#: config/arm/arm.opt:134
+-msgid "Support calls between Thumb and ARM instruction sets"
+-msgstr ""
+-
+-#: config/arm/arm.opt:138
+-msgid "Specify how to access the thread pointer"
+-msgstr "指定如何存å–執行緒指標"
+-
+-#: config/arm/arm.opt:142
+-msgid "Thumb: Generate (non-leaf) stack frames even if not needed"
+-msgstr "Thumb:å³ä½¿ä¸éœ€è¦ä¹Ÿç”¢ç”Ÿ(éžè‘‰)堆疊框架"
+-
+-#: config/arm/arm.opt:146
+-msgid "Thumb: Generate (leaf) stack frames even if not needed"
+-msgstr "Thumb:å³ä½¿ä¸éœ€è¦ä¹Ÿç”¢ç”Ÿ(葉)堆疊框架"
+-
+-#: config/arm/arm.opt:150
+-msgid "Tune code for the given processor"
+-msgstr "為指定的處ç†å™¨æœ€ä½³åŒ–程å¼ç¢¼"
+-
+-#: config/arm/arm.opt:154
+-msgid "Assume big endian bytes, little endian words"
+-msgstr "å‡å®šé«˜ä½ä½å…ƒçµ„在å‰ï¼Œä½Žä½å­—在å‰"
+-
+-#: config/arm/arm.opt:158
+-msgid "Use Neon quad-word (rather than double-word) registers for vectorization"
+-msgstr ""
+-
+-#: config/arm/pe.opt:23
+-msgid "Ignore dllimport attribute for functions"
+-msgstr "忽略函å¼çš„ dllimport 屬性"
+-
+-#: config/pdp11/pdp11.opt:23
+-msgid "Generate code for an 11/10"
+-msgstr "為 11/10 產生程å¼ç¢¼"
+-
+-#: config/pdp11/pdp11.opt:27
+-msgid "Generate code for an 11/40"
+-msgstr "為 11/40 產生程å¼ç¢¼"
+-
+-#: config/pdp11/pdp11.opt:31
+-msgid "Generate code for an 11/45"
+-msgstr "為 11/45 產生附加程å¼ç¢¼"
+-
+-#: config/pdp11/pdp11.opt:35
+-msgid "Use 16-bit abs patterns"
+-msgstr "使用 16 ä½ abs 模å¼"
+-
+-#: config/pdp11/pdp11.opt:39
+-msgid "Return floating-point results in ac0 (fr0 in Unix assembler syntax)"
+-msgstr "在 ac0(Unix 組譯語法中的 fr0)中回傳浮點çµæžœ"
+-
+-#: config/pdp11/pdp11.opt:43
+-msgid "Do not use inline patterns for copying memory"
+-msgstr ""
+-
+-#: config/pdp11/pdp11.opt:47
+-msgid "Use inline patterns for copying memory"
+-msgstr ""
+-
+-#: config/pdp11/pdp11.opt:51
+-msgid "Do not pretend that branches are expensive"
+-msgstr ""
+-
+-#: config/pdp11/pdp11.opt:55
+-msgid "Pretend that branches are expensive"
+-msgstr "å‡å®šåˆ†æ”¯ä»£åƒ¹å¾ˆé«˜æ˜‚"
+-
+-#: config/pdp11/pdp11.opt:59
+-msgid "Use the DEC assembler syntax"
+-msgstr "使用 DEC 組譯風格"
+-
+-#: config/pdp11/pdp11.opt:63
+-msgid "Use 32 bit float"
+-msgstr "使用 32 ä½å…ƒæµ®é»žæ•¸"
+-
+-#: config/pdp11/pdp11.opt:67
+-msgid "Use 64 bit float"
+-msgstr "使用 64 ä½å…ƒæµ®é»žæ•¸"
+-
+-#: config/pdp11/pdp11.opt:75
+-msgid "Use 16 bit int"
+-msgstr "使用 16 ä½æ•´æ•¸"
+-
+-#: config/pdp11/pdp11.opt:79
+-msgid "Use 32 bit int"
+-msgstr "使用 32 ä½å…ƒæ•´æ•¸"
+-
+-#: config/pdp11/pdp11.opt:87
+-msgid "Target has split I&D"
+-msgstr "目標平臺有分離的指令ã€è³‡æ–™ç©ºé–“"
+-
+-#: config/pdp11/pdp11.opt:91
+-msgid "Use UNIX assembler syntax"
+-msgstr "使用 UNIX 組譯風格"
+-
+-#: config/avr/avr.opt:23
+-msgid "Use subroutines for function prologues and epilogues"
+-msgstr "使用å­ç¨‹å¼å®Œæˆå‡½å¼å‰è¨€/å°¾è²"
+-
+-#: config/avr/avr.opt:27
+-msgid "Select the target MCU"
+-msgstr "é¸æ“‡ç›®çš„ MCU"
+-
+-#: config/avr/avr.opt:34
+-msgid "Use an 8-bit 'int' type"
+-msgstr "使用 8 ä½ã€Œintã€é¡žåž‹"
+-
+-#: config/avr/avr.opt:38
+-msgid "Change the stack pointer without disabling interrupts"
+-msgstr ""
+-
+-#: config/avr/avr.opt:42
+-msgid "Do not generate tablejump insns"
+-msgstr "ä¸ç”¢ç”Ÿè·³è½‰è¡¨æŒ‡ä»¤"
+-
+-#: config/avr/avr.opt:52
+-msgid "Use rjmp/rcall (limited range) on >8K devices"
+-msgstr ""
+-
+-#: config/avr/avr.opt:56
+-msgid "Output instruction sizes to the asm file"
+-msgstr ""
+-
+-#: config/avr/avr.opt:60
+-msgid "Change only the low 8 bits of the stack pointer"
+-msgstr "åªè®Šæ›´å †ç–ŠæŒ‡æ¨™çš„低 8 ä½"
+-
+-#: config/crx/crx.opt:23
+-msgid "Support multiply accumulate instructions"
+-msgstr "支æ´ä¹˜åŠ æŒ‡ä»¤"
+-
+-#: config/crx/crx.opt:27
+-msgid "Do not use push to store function arguments"
+-msgstr "ä¸ä½¿ç”¨ push 指令儲存函å¼åƒæ•¸"
+-
+-#: config/crx/crx.opt:31
+-msgid "Restrict doloop to the given nesting level"
+-msgstr ""
+-
+-#: config/c4x/c4x.opt:23
+-msgid "Generate code for C30 CPU"
+-msgstr "為 C30 CPU 產生程å¼ç¢¼"
+-
+-#: config/c4x/c4x.opt:27
+-msgid "Generate code for C31 CPU"
+-msgstr "為 C31 CPU 產生程å¼ç¢¼"
+-
+-#: config/c4x/c4x.opt:31
+-msgid "Generate code for C32 CPU"
+-msgstr "為 C32 CPU 產生程å¼ç¢¼"
+-
+-#: config/c4x/c4x.opt:35
+-msgid "Generate code for C33 CPU"
+-msgstr "為 C33 CPU 產生程å¼ç¢¼"
+-
+-#: config/c4x/c4x.opt:39
+-msgid "Generate code for C40 CPU"
+-msgstr "為 C40 CPU 產生程å¼ç¢¼"
+-
+-#: config/c4x/c4x.opt:43
+-msgid "Generate code for C44 CPU"
+-msgstr "為 C44 CPU 產生程å¼ç¢¼"
+-
+-#: config/c4x/c4x.opt:47
+-msgid "Assume that pointers may be aliased"
+-msgstr "å‡å®šæŒ‡æ¨™å¯èƒ½æœ‰åˆ¥å"
+-
+-#: config/c4x/c4x.opt:51
+-msgid "Big memory model"
+-msgstr "大記憶體模型"
+-
+-#: config/c4x/c4x.opt:55
+-msgid "Use the BK register as a general purpose register"
+-msgstr "å°‡ BK 暫存器åšç‚ºä¸€å€‹é€šç”¨æš«å­˜å™¨"
+-
+-#: config/c4x/c4x.opt:59
+-msgid "Generate code for CPU"
+-msgstr "為 CPU 產生程å¼ç¢¼"
+-
+-#: config/c4x/c4x.opt:63
+-msgid "Enable use of DB instruction"
+-msgstr "啟用 DB 指令"
+-
+-#: config/c4x/c4x.opt:67
+-msgid "Enable debugging"
+-msgstr "啟用除錯"
+-
+-#: config/c4x/c4x.opt:71
+-msgid "Enable new features under development"
+-msgstr "啟用開發中的新特性"
+-
+-#: config/c4x/c4x.opt:75
+-msgid "Use fast but approximate float to integer conversion"
+-msgstr "使用快速但欠精確的浮點ï¼æ•´æ•¸è½‰æ›"
+-
+-#: config/c4x/c4x.opt:79
+-msgid "Force RTL generation to emit valid 3 operand insns"
+-msgstr ""
+-
+-#: config/c4x/c4x.opt:83
+-msgid "Force constants into registers to improve hoisting"
+-msgstr ""
+-
+-#: config/c4x/c4x.opt:87 config/c4x/c4x.opt:111
+-msgid "Save DP across ISR in small memory model"
+-msgstr ""
+-
+-#: config/c4x/c4x.opt:91
+-msgid "Allow unsigned iteration counts for RPTB/DB"
+-msgstr ""
+-
+-#: config/c4x/c4x.opt:95
+-msgid "Pass arguments on the stack"
+-msgstr "在堆疊中傳éžåƒæ•¸"
+-
+-#: config/c4x/c4x.opt:99
+-msgid "Use MPYI instruction for C3x"
+-msgstr "為 C3x 使用 MPYI 指令"
+-
+-#: config/c4x/c4x.opt:103
+-msgid "Enable parallel instructions"
+-msgstr "啟用平行指令"
+-
+-#: config/c4x/c4x.opt:107
+-msgid "Enable MPY||ADD and MPY||SUB instructions"
+-msgstr "啟用 MPY||ADD 和 MPY||SUB 指令"
+-
+-#: config/c4x/c4x.opt:115
+-msgid "Preserve all 40 bits of FP reg across call"
+-msgstr "跨越呼å«é‚Šç•Œæ™‚ä¿è­‰æµ®é»žæš«å­˜å™¨æ‰€æœ‰çš„ 40 ä½ä¸è®Š"
+-
+-#: config/c4x/c4x.opt:119
+-msgid "Pass arguments in registers"
+-msgstr "在暫存器中傳éžåƒæ•¸"
+-
+-#: config/c4x/c4x.opt:123
+-msgid "Enable use of RTPB instruction"
+-msgstr "啟用 RTPB 指令集"
+-
+-#: config/c4x/c4x.opt:127
+-msgid "Enable use of RTPS instruction"
+-msgstr "啟用 RTPS 指令集"
+-
+-#: config/c4x/c4x.opt:131
+-msgid "Set the maximum number of iterations for RPTS to N"
+-msgstr "設定 RPTS 的最大éžè¿´æ•¸ç‚º N"
+-
+-#: config/c4x/c4x.opt:135
+-msgid "Small memory model"
+-msgstr "å°è¨˜æ†¶é«”模型"
+-
+-#: config/c4x/c4x.opt:139
+-msgid "Emit code compatible with TI tools"
+-msgstr "產生與 TI 工具相容的程å¼ç¢¼"
+-
+-#: config/pa/pa-hpux.opt:23
+-msgid "Generate cpp defines for server IO"
+-msgstr "為伺æœå™¨ IO 產生 cpp 定義"
+-
+-#: config/pa/pa-hpux.opt:27 config/pa/pa-hpux1010.opt:23
+-#: config/pa/pa-hpux1111.opt:23
+-msgid "Specify UNIX standard for predefines and linking"
+-msgstr "指定用於é å®šç¾©å’Œé€£çµçš„ UNIX 標準"
+-
+-#: config/pa/pa-hpux.opt:31
+-msgid "Generate cpp defines for workstation IO"
+-msgstr "為工作站 IO 產生 cpp 定義"
+-
+-#: config/pa/pa.opt:23 config/pa/pa.opt:76 config/pa/pa.opt:84
+-msgid "Generate PA1.0 code"
+-msgstr "產生 PA1.0 程å¼ç¢¼"
+-
+-#: config/pa/pa.opt:27 config/pa/pa.opt:88 config/pa/pa.opt:108
+-msgid "Generate PA1.1 code"
+-msgstr "產生 PA1.1 程å¼ç¢¼"
+-
+-#: config/pa/pa.opt:31 config/pa/pa.opt:92
+-msgid "Generate PA2.0 code (requires binutils 2.10 or later)"
+-msgstr "產生 PA2.0 程å¼ç¢¼(éœ€è¦ binutils 2.10 或更新版本)"
+-
+-#: config/pa/pa.opt:35
+-msgid "Generate code for huge switch statements"
+-msgstr "為巨型的 switch 敘述產生程å¼ç¢¼"
+-
+-#: config/pa/pa.opt:39
+-msgid "Disable FP regs"
+-msgstr "åœç”¨æµ®é»žæš«å­˜å™¨"
+-
+-#: config/pa/pa.opt:43
+-msgid "Disable indexed addressing"
+-msgstr "åœç”¨è®Šå€å®šå€"
+-
+-#: config/pa/pa.opt:47
+-msgid "Generate fast indirect calls"
+-msgstr "產生快速間接呼å«"
+-
+-#: config/pa/pa.opt:55
+-msgid "Assume code will be assembled by GAS"
+-msgstr "å‡å®šç¨‹å¼ç¢¼å°‡ç”± GAS 組譯"
+-
+-#: config/pa/pa.opt:59
+-msgid "Put jumps in call delay slots"
+-msgstr "將跳轉放置在延é²å‘¼å«æ§½å…§"
+-
+-#: config/pa/pa.opt:64
+-msgid "Enable linker optimizations"
+-msgstr "啟用連çµå™¨æœ€ä½³åŒ–"
+-
+-#: config/pa/pa.opt:68
+-msgid "Always generate long calls"
+-msgstr "總是產生é å‘¼å«"
+-
+-#: config/pa/pa.opt:72
+-msgid "Emit long load/store sequences"
+-msgstr "產生長讀/寫åºåˆ—"
+-
+-#: config/pa/pa.opt:80
+-msgid "Disable space regs"
+-msgstr "åœç”¨ç©ºé–“暫存器"
+-
+-#: config/pa/pa.opt:96
+-msgid "Use portable calling conventions"
+-msgstr "使用一般的呼å«ç´„定"
+-
+-#: config/pa/pa.opt:100
+-msgid "Specify CPU for scheduling purposes. Valid arguments are 700, 7100, 7100LC, 7200, 7300, and 8000"
+-msgstr "指定調度最佳化的目的 CPU。有效的é¸é …是 700,7100,7100LC,7200,7300,和 8000"
+-
+-#: config/pa/pa.opt:112
+-msgid "Do not disable space regs"
+-msgstr "ä¸åœç”¨ç©ºé–“暫存器"
+-
+-#: config/pa/pa64-hpux.opt:23
+-msgid "Assume code will be linked by GNU ld"
+-msgstr "å‡å®šç¨‹å¼ç¢¼å°‡ç”± GNU ld 連çµ"
+-
+-#: config/pa/pa64-hpux.opt:27
+-msgid "Assume code will be linked by HP ld"
+-msgstr "å‡å®šç¨‹å¼ç¢¼å°‡ç”± HP ld 連çµ"
+-
+-#: config/xtensa/xtensa.opt:23
+-msgid "Use CONST16 instruction to load constants"
+-msgstr "使用 CONST16 指令載入常數"
+-
+-#: config/xtensa/xtensa.opt:27
+-msgid "Enable fused multiply/add and multiply/subtract FP instructions"
+-msgstr "啟用èžåˆçš„乘加和乘減浮點指令"
+-
+-#: config/xtensa/xtensa.opt:31
+-msgid "Use indirect CALLXn instructions for large programs"
+-msgstr ""
+-
+-#: config/xtensa/xtensa.opt:35
+-msgid "Automatically align branch targets to reduce branch penalties"
+-msgstr ""
+-
+-#: config/xtensa/xtensa.opt:39
+-msgid "Intersperse literal pools with code in the text section"
+-msgstr ""
+-
+-#: config/stormy16/stormy16.opt:24
+-msgid "Provide libraries for the simulator"
+-msgstr "為模擬器æ供函å¼åº«"
+-
+ #: config/mips/mips.opt:23
+ msgid "Generate code that conforms to the given ABI"
+ msgstr "產生éµå¾ªçµ¦å®š ABI 的程å¼ç¢¼"
+@@ -13976,10 +14298,6 @@
+ msgid "Use little-endian byte order"
+ msgstr "令低ä½ä½å…ƒçµ„在å‰"
+
+-#: config/mips/mips.opt:97 config/iq2000/iq2000.opt:31
+-msgid "Use ROM instead of RAM"
+-msgstr "使用 ROM 而ä¸æ˜¯ RAM"
+-
+ #: config/mips/mips.opt:101
+ msgid "Use NewABI-style %reloc() assembly operators"
+ msgstr "使用 NewABI 風格的 %reloc() 組譯é‹ç®—å­"
+@@ -14150,10 +14468,6 @@
+ msgid "Optimize the output for PROCESSOR"
+ msgstr "為 PROCESSOR 最佳化輸出"
+
+-#: config/mips/mips.opt:265 config/iq2000/iq2000.opt:44
+-msgid "Put uninitialized constants in ROM (needs -membedded-data)"
+-msgstr "將未åˆå§‹åŒ–的常數放在 ROM 中(éœ€è¦ -membedded-data)"
+-
+ #: config/mips/mips.opt:269
+ msgid "Perform VR4130-specific alignment optimizations"
+ msgstr "進行 VR4130 特定的å°é½Šæœ€ä½³åŒ–"
+@@ -14162,367 +14476,6 @@
+ msgid "Lift restrictions on GOT size"
+ msgstr "消除 GOT 大å°é™åˆ¶"
+
+-#: config/mips/sdemtk.opt:23
+-#, fuzzy
+-msgid "Prevent the use of all floating-point operations"
+-msgstr "ä¸å…許使用任何硬體浮點指令"
+-
+-#: config/fr30/fr30.opt:23
+-msgid "Assume small address space"
+-msgstr "å‡å®šå°ä½å€ç©ºé–“"
+-
+-#: config/m68hc11/m68hc11.opt:23 config/m68hc11/m68hc11.opt:31
+-msgid "Compile for a 68HC11"
+-msgstr "為 68HC11 組譯"
+-
+-#: config/m68hc11/m68hc11.opt:27 config/m68hc11/m68hc11.opt:35
+-msgid "Compile for a 68HC12"
+-msgstr "為 68HC12 組譯"
+-
+-#: config/m68hc11/m68hc11.opt:41 config/m68hc11/m68hc11.opt:45
+-msgid "Compile for a 68HCS12"
+-msgstr "為 68HCS12 組譯"
+-
+-#: config/m68hc11/m68hc11.opt:49
+-msgid "Auto pre/post decrement increment allowed"
+-msgstr "å…許自動å‰/後自減增"
+-
+-#: config/m68hc11/m68hc11.opt:53
+-msgid "Min/max instructions allowed"
+-msgstr "å…許 min/max 指令"
+-
+-#: config/m68hc11/m68hc11.opt:57
+-msgid "Use call and rtc for function calls and returns"
+-msgstr ""
+-
+-#: config/m68hc11/m68hc11.opt:61
+-msgid "Auto pre/post decrement increment not allowed"
+-msgstr "ä¸å…許自動å‰/後自減增"
+-
+-#: config/m68hc11/m68hc11.opt:65
+-msgid "Use jsr and rts for function calls and returns"
+-msgstr ""
+-
+-#: config/m68hc11/m68hc11.opt:69
+-msgid "Min/max instructions not allowed"
+-msgstr "ä¸å…許 min/max 指令"
+-
+-#: config/m68hc11/m68hc11.opt:73
+-msgid "Use direct addressing mode for soft registers"
+-msgstr "為軟暫存器使用直接定å€"
+-
+-#: config/m68hc11/m68hc11.opt:77
+-msgid "Compile with 32-bit integer mode"
+-msgstr "以 32 ä½å…ƒæ•´æ•¸æ¨¡å¼ç·¨è­¯"
+-
+-#: config/m68hc11/m68hc11.opt:82
+-msgid "Specify the register allocation order"
+-msgstr "指定指派暫存器的順åº"
+-
+-#: config/m68hc11/m68hc11.opt:86
+-msgid "Do not use direct addressing mode for soft registers"
+-msgstr "ä¸ç‚ºè»Ÿæš«å­˜å™¨ä½¿ç”¨ç›´æŽ¥å®šå€"
+-
+-#: config/m68hc11/m68hc11.opt:90
+-msgid "Compile with 16-bit integer mode"
+-msgstr "以 16 ä½æ•´æ•¸æ¨¡å¼ç·¨è­¯"
+-
+-#: config/m68hc11/m68hc11.opt:94
+-msgid "Indicate the number of soft registers available"
+-msgstr "指示å¯ç”¨çš„軟暫存器的數é‡"
+-
+-#: config/vax/vax.opt:23 config/vax/vax.opt:27
+-msgid "Target DFLOAT double precision code"
+-msgstr "產生 DFLOAT 雙精度程å¼ç¢¼"
+-
+-#: config/vax/vax.opt:31 config/vax/vax.opt:35
+-msgid "Generate GFLOAT double precision code"
+-msgstr "產生 GFLOAT 雙精度程å¼ç¢¼"
+-
+-#: config/vax/vax.opt:39
+-msgid "Generate code for GNU assembler (gas)"
+-msgstr "為 GNU 組譯器(gas)產生程å¼ç¢¼"
+-
+-#: config/vax/vax.opt:43
+-msgid "Generate code for UNIX assembler"
+-msgstr "為 UNIX 組譯器產生程å¼ç¢¼"
+-
+-#: config/vax/vax.opt:47
+-msgid "Use VAXC structure conventions"
+-msgstr "使用 VAXC çµæ§‹ç´„定"
+-
+-#: config/cris/linux.opt:27
+-msgid "Together with -fpic and -fPIC, do not use GOTPLT references"
+-msgstr ""
+-
+-#: config/cris/cris.opt:45
+-msgid "Work around bug in multiplication instruction"
+-msgstr "為乘法指令中的缺陷æ供變通"
+-
+-#: config/cris/cris.opt:51
+-msgid "Compile for ETRAX 4 (CRIS v3)"
+-msgstr "為 ETRAX 4 (CRIS v3) 編譯"
+-
+-#: config/cris/cris.opt:56
+-msgid "Compile for ETRAX 100 (CRIS v8)"
+-msgstr "為 ETRAX 100 (CRIS v8) 編譯"
+-
+-#: config/cris/cris.opt:64
+-msgid "Emit verbose debug information in assembly code"
+-msgstr "在組譯程å¼ç¢¼ä¸­ç”¢ç”Ÿè©³ç´°çš„除錯資訊"
+-
+-#: config/cris/cris.opt:71
+-msgid "Do not use condition codes from normal instructions"
+-msgstr ""
+-
+-#: config/cris/cris.opt:80
+-msgid "Do not emit addressing modes with side-effect assignment"
+-msgstr ""
+-
+-#: config/cris/cris.opt:89
+-msgid "Do not tune stack alignment"
+-msgstr "ä¸èª¿æ•´å †ç–Šå°é½Š"
+-
+-#: config/cris/cris.opt:98
+-msgid "Do not tune writable data alignment"
+-msgstr "ä¸èª¿æ•´å¯å¯«è³‡æ–™å°é½Š"
+-
+-#: config/cris/cris.opt:107
+-msgid "Do not tune code and read-only data alignment"
+-msgstr "ä¸èª¿æ•´ç¨‹å¼ç¢¼å’Œå”¯è®€è³‡æ–™å°é½Š"
+-
+-#: config/cris/cris.opt:116
+-msgid "Align code and data to 32 bits"
+-msgstr "將程å¼ç¢¼å’Œè³‡æ–™å°é½Šåˆ° 32 ä½å…ƒé‚Šç•Œä¸Š"
+-
+-#: config/cris/cris.opt:133
+-msgid "Don't align items in code or data"
+-msgstr ""
+-
+-#: config/cris/cris.opt:142
+-msgid "Do not emit function prologue or epilogue"
+-msgstr "ä¸ç”¢ç”Ÿå‡½å¼å‰è¨€å’Œå°¾è²"
+-
+-#: config/cris/cris.opt:149
+-msgid "Use the most feature-enabling options allowed by other options"
+-msgstr ""
+-
+-#: config/cris/cris.opt:158
+-msgid "Override -mbest-lib-options"
+-msgstr "覆寫 -mbest-lib-options"
+-
+-#: config/cris/cris.opt:165
+-msgid "Generate code for the specified chip or CPU version"
+-msgstr "為指定的晶片或 CPU 版本產生程å¼ç¢¼"
+-
+-#: config/cris/cris.opt:169
+-msgid "Tune alignment for the specified chip or CPU version"
+-msgstr "為指定的晶片或 CPU 版本調整å°é½Š"
+-
+-#: config/cris/cris.opt:173
+-msgid "Warn when a stackframe is larger than the specified size"
+-msgstr "當堆疊框架大於指定值時給出警告"
+-
+-#: config/cris/aout.opt:27
+-msgid "Compile for the MMU-less Etrax 100-based elinux system"
+-msgstr "為沒有 MMU 的基於 Etrax 100 的 elinux 系統編譯"
+-
+-#: config/cris/aout.opt:33
+-msgid "For elinux, request a specified stack-size for this program"
+-msgstr ""
+-
+-#: config/h8300/h8300.opt:23
+-msgid "Generate H8S code"
+-msgstr "產生 H8S 程å¼ç¢¼"
+-
+-#: config/h8300/h8300.opt:27
+-msgid "Generate H8SX code"
+-msgstr "產生 H8SX 程å¼ç¢¼"
+-
+-#: config/h8300/h8300.opt:31
+-msgid "Generate H8S/2600 code"
+-msgstr "產生 H8S/2600 程å¼ç¢¼"
+-
+-#: config/h8300/h8300.opt:35
+-msgid "Make integers 32 bits wide"
+-msgstr "讓整數有 32 ä½å…ƒå¯¬"
+-
+-#: config/h8300/h8300.opt:42
+-msgid "Use registers for argument passing"
+-msgstr "使用暫存器傳éžåƒæ•¸"
+-
+-#: config/h8300/h8300.opt:46
+-msgid "Consider access to byte sized memory slow"
+-msgstr ""
+-
+-#: config/h8300/h8300.opt:50
+-msgid "Enable linker relaxing"
+-msgstr "啟用連çµå™¨é¬†å¼›"
+-
+-#: config/h8300/h8300.opt:54
+-msgid "Generate H8/300H code"
+-msgstr "產生 H8/300H 程å¼ç¢¼"
+-
+-#: config/h8300/h8300.opt:58
+-msgid "Enable the normal mode"
+-msgstr "啟用正常模å¼"
+-
+-#: config/h8300/h8300.opt:62
+-msgid "Use H8/300 alignment rules"
+-msgstr "使用 H8/300 å°é½Šè¦å‰‡"
+-
+-#: config/v850/v850.opt:23
+-msgid "Use registers r2 and r5"
+-msgstr "使用暫存器 r2 和 r5"
+-
+-#: config/v850/v850.opt:27
+-msgid "Use 4 byte entries in switch tables"
+-msgstr "在分支表中使用 4 ä½å…ƒçµ„é•·çš„æ¢ç›®"
+-
+-#: config/v850/v850.opt:31
+-msgid "Enable backend debugging"
+-msgstr "啟用後端程å¼é™¤éŒ¯"
+-
+-#: config/v850/v850.opt:35
+-msgid "Do not use the callt instruction"
+-msgstr "ä¸ä½¿ç”¨ callt 指令"
+-
+-#: config/v850/v850.opt:39
+-msgid "Reuse r30 on a per function basis"
+-msgstr "為æ¯å€‹å‡½å¼é‡ç”¨ r30"
+-
+-#: config/v850/v850.opt:43
+-msgid "Support Green Hills ABI"
+-msgstr "æ”¯æ´ Green Hills ABI"
+-
+-#: config/v850/v850.opt:47
+-msgid "Prohibit PC relative function calls"
+-msgstr "ç¦æ­¢ç›¸å° PC 的函å¼å‘¼å«"
+-
+-#: config/v850/v850.opt:51
+-msgid "Use stubs for function prologues"
+-msgstr "使用å ä½ç¨‹å¼å®Œæˆå‡½å¼å‰è¨€/å°¾è²"
+-
+-#: config/v850/v850.opt:55
+-msgid "Set the max size of data eligible for the SDA area"
+-msgstr ""
+-
+-#: config/v850/v850.opt:59
+-msgid "Enable the use of the short load instructions"
+-msgstr "啟用å°çŸ­è¼‰å…¥æŒ‡ä»¤çš„使用"
+-
+-#: config/v850/v850.opt:63
+-msgid "Same as: -mep -mprolog-function"
+-msgstr "與 -mep -mprolog-function 相åŒ"
+-
+-#: config/v850/v850.opt:67
+-msgid "Set the max size of data eligible for the TDA area"
+-msgstr ""
+-
+-#: config/v850/v850.opt:71
+-msgid "Enforce strict alignment"
+-msgstr "強制嚴格å°é½Š"
+-
+-#: config/v850/v850.opt:78
+-msgid "Compile for the v850 processor"
+-msgstr "為 v850 處ç†å™¨ç·¨è­¯"
+-
+-#: config/v850/v850.opt:82
+-msgid "Compile for the v850e processor"
+-msgstr "為 v850e 處ç†å™¨ç·¨è­¯"
+-
+-#: config/v850/v850.opt:86
+-msgid "Compile for the v850e1 processor"
+-msgstr "為 v850e1 處ç†å™¨ç·¨è­¯"
+-
+-#: config/v850/v850.opt:90
+-msgid "Set the max size of data eligible for the ZDA area"
+-msgstr ""
+-
+-#: config/mmix/mmix.opt:24
+-msgid "For intrinsics library: pass all parameters in registers"
+-msgstr "為內建函å¼åº«ï¼šæ‰€æœ‰åƒæ•¸åœ¨æš«å­˜å™¨ä¸­å‚³éž"
+-
+-#: config/mmix/mmix.opt:28
+-msgid "Use register stack for parameters and return value"
+-msgstr "使用暫存器堆疊傳éžåƒæ•¸å’Œå›žå‚³å€¼"
+-
+-#: config/mmix/mmix.opt:32
+-msgid "Use call-clobbered registers for parameters and return value"
+-msgstr "將呼å«ç¯¡æ”¹çš„暫存器用於åƒæ•¸å’Œå›žå‚³å€¼"
+-
+-#: config/mmix/mmix.opt:37
+-msgid "Use epsilon-respecting floating point compare instructions"
+-msgstr "使用在æ„無窮å°çš„浮點比較指令"
+-
+-#: config/mmix/mmix.opt:41
+-msgid "Use zero-extending memory loads, not sign-extending ones"
+-msgstr "使用零擴充而ä¸æ˜¯ç¬¦è™Ÿæ“´å……的記憶體載入"
+-
+-#: config/mmix/mmix.opt:45
+-msgid "Generate divide results with reminder having the same sign as the divisor (not the dividend)"
+-msgstr "產生的除法çµæžœä¸­é¤˜æ•¸ç¬¦è™Ÿå°‡èˆ‡é™¤æ•¸è€Œä¸æ˜¯è¢«é™¤æ•¸ç›¸åŒ"
+-
+-#: config/mmix/mmix.opt:49
+-msgid "Prepend global symbols with \":\" (for use with PREFIX)"
+-msgstr "在全域符號å‰åŠ å…¥ã€Œ:ã€(為與 PREFIX å”作)"
+-
+-#: config/mmix/mmix.opt:53
+-msgid "Do not provide a default start-address 0x100 of the program"
+-msgstr "ä¸ç‚ºç¨‹å¼æä¾›é è¨­çš„起始ä½å€ 0x100"
+-
+-#: config/mmix/mmix.opt:57
+-msgid "Link to emit program in ELF format (rather than mmo)"
+-msgstr "連çµç”¢ç”Ÿ ELF è€Œéž mmo æ ¼å¼çš„程å¼"
+-
+-#: config/mmix/mmix.opt:61
+-msgid "Use P-mnemonics for branches statically predicted as taken"
+-msgstr "為éœæ…‹é æ¸¬ç‚ºå¿…è¦é€²è¡Œçš„跳轉使用 P 助憶符號"
+-
+-#: config/mmix/mmix.opt:65
+-msgid "Don't use P-mnemonics for branches"
+-msgstr "ä¸ç‚ºåˆ†æ”¯ä½¿ç”¨ P 助憶符號"
+-
+-#: config/mmix/mmix.opt:79
+-msgid "Use addresses that allocate global registers"
+-msgstr "使用指派全域暫存器的ä½å€"
+-
+-#: config/mmix/mmix.opt:83
+-msgid "Do not use addresses that allocate global registers"
+-msgstr "ä¸ä½¿ç”¨æŒ‡æ´¾å…¨åŸŸæš«å­˜å™¨çš„ä½å€"
+-
+-#: config/mmix/mmix.opt:87
+-msgid "Generate a single exit point for each function"
+-msgstr "為æ¯å€‹å‡½å¼ç”¢ç”Ÿå–®ä¸€çš„離開點"
+-
+-#: config/mmix/mmix.opt:91
+-msgid "Do not generate a single exit point for each function"
+-msgstr "ä¸ç‚ºæ¯å€‹å‡½å¼ç”¢ç”Ÿå–®ä¸€çš„離開點"
+-
+-#: config/mmix/mmix.opt:95
+-msgid "Set start-address of the program"
+-msgstr "設定程å¼çš„起始ä½å€"
+-
+-#: config/mmix/mmix.opt:99
+-msgid "Set start-address of data"
+-msgstr "設定資料的起始ä½å€"
+-
+-#: config/iq2000/iq2000.opt:23 config/mt/mt.opt:55
+-msgid "Specify CPU for code generation purposes"
+-msgstr "為程å¼ç¢¼ç”¢ç”ŸæŒ‡å®šç›®çš„ CPU"
+-
+-#: config/iq2000/iq2000.opt:27
+-msgid "Specify CPU for scheduling purposes"
+-msgstr "為調度指定目的 CPU"
+-
+-#: config/iq2000/iq2000.opt:35
+-msgid "Use GP relative sdata/sbss sections"
+-msgstr "ä½¿ç”¨ç›¸å° GP çš„ sdata/sbss å€æ®µ"
+-
+-#: config/iq2000/iq2000.opt:40
+-msgid "No default crt0.o"
+-msgstr "沒有é è¨­çš„ crt0.o"
+-
+ #: config/bfin/bfin.opt:31
+ msgid "Omit frame pointer for leaf functions"
+ msgstr "為葉函å¼(ä¸å‘¼å«å…¶å®ƒå‡½å¼çš„函å¼)忽略框架指標"
+@@ -14559,2085 +14512,2102 @@
+ msgid "Do stack checking using bounds in L1 scratch memory"
+ msgstr ""
+
+-#: config/mt/mt.opt:23
+-msgid "Use byte loads and stores when generating code."
+-msgstr "產生程å¼ç¢¼æ™‚使用ä½å…ƒçµ„載入和存儲。"
++#: treelang/lang.opt:30
++msgid "Trace lexical analysis"
++msgstr "追蹤解æž"
+
+-#: config/mt/mt.opt:31
+-msgid "Do not include crt0.o in the startup files"
+-msgstr "ä¸å°‡ crt0.o 包å«åœ¨å•Ÿå‹•æª”案中"
++#: treelang/lang.opt:34
++msgid "Trace the parsing process"
++msgstr "追蹤解æžè™•ç†åº"
+
+-#: config/mt/mt.opt:35 config/mt/mt.opt:39 config/mt/mt.opt:43
+-#: config/mt/mt.opt:47 config/mt/mt.opt:51
+-msgid "Internal debug switch"
+-msgstr "內部除錯開關"
++#: java/lang.opt:65
++msgid "Warn if a deprecated compiler feature, class, method, or field is used"
++msgstr "當使用éŽæ™‚的編譯器特性,類別,方法或欄ä½æ™‚給出警告"
+
+-#: config/vxworks.opt:24
+-msgid "Assume the VxWorks RTP environment"
+-msgstr "å‡å®š VxWorks RTP 環境"
++#: java/lang.opt:69
++msgid "Warn if deprecated empty statements are found"
++msgstr "發ç¾éŽæ™‚的空敘述時給出警告"
+
+-#: config/vxworks.opt:31
+-msgid "Assume the VxWorks vThreads environment"
+-msgstr "å‡å®š VxWorks vThreads 環境"
++#: java/lang.opt:73
++msgid "Warn if .class files are out of date"
++msgstr "當 .class 檔案已éŽæ™‚時給出警告"
+
+-#: config/darwin.opt:23
+-msgid "Generate code suitable for fast turn around debugging"
+-msgstr ""
++#: java/lang.opt:77
++msgid "Warn if modifiers are specified when not necessary"
++msgstr "當指定了ä¸å¿…須的修飾符時給出警告"
+
+-#: config/darwin.opt:31
+-msgid "The earliest MacOS X version on which this program will run"
+-msgstr "這個程å¼å¯èƒ½åœ¨å…¶ä¸ŠåŸ·è¡Œçš„最早的 MacOS X 版本"
++#: java/lang.opt:81
++msgid "Deprecated; use --classpath instead"
++msgstr "å·²éŽæ™‚;請改用 --classpath"
+
+-#: config/darwin.opt:35
+-msgid "Set sizeof(bool) to 1"
+-msgstr "設定 sizeof(bool) 為 1"
++#: java/lang.opt:88
++msgid "Permit the use of the assert keyword"
++msgstr "å…許使用 assert é—œéµå­—"
+
+-#: config/darwin.opt:39
+-#, fuzzy
+-msgid "Generate code for darwin loadable kernel extensions"
+-msgstr "為 68040 產生程å¼ç¢¼ï¼Œä¸ä½¿ç”¨æ–°æŒ‡ä»¤"
++#: java/lang.opt:110
++msgid "Replace system path"
++msgstr "替æ›ç³»çµ±è·¯å¾‘"
+
+-#: config/darwin.opt:43
+-#, fuzzy
+-msgid "Generate code for the kernel or loadable kernel extensions"
+-msgstr "為指定的晶片或 CPU 版本產生程å¼ç¢¼"
++#: java/lang.opt:114
++msgid "Generate checks for references to NULL"
++msgstr "檢查åƒç…§ NULL çš„åƒç…§"
+
+-#: config/darwin.opt:47
+-#, fuzzy
+-msgid "Add <dir> to the end of the system framework include path"
+-msgstr "å°‡ <目錄> 加入到主框架包å«è·¯å¾‘的末尾"
++#: java/lang.opt:118
++msgid "Set class path"
++msgstr "設定類別路徑"
+
+-#: config/lynx.opt:23
+-msgid "Support legacy multi-threading"
+-msgstr "支æ´å‚³çµ±å¤šåŸ·è¡Œç·’"
++#: java/lang.opt:125
++msgid "Output a class file"
++msgstr "輸出一個 class 檔案"
+
+-#: config/lynx.opt:27
+-msgid "Use shared libraries"
+-msgstr "使用共享函å¼åº«"
++#: java/lang.opt:129
++msgid "Alias for -femit-class-file"
++msgstr "-fmit-class-file 的別å"
+
+-#: config/lynx.opt:31
+-msgid "Support multi-threading"
+-msgstr "支æ´å¤šåŸ·è¡Œç·’"
++#: java/lang.opt:133
++msgid "Choose input encoding (defaults from your locale)"
++msgstr "é¸æ“‡è¼¸å…¥ç·¨ç¢¼(é è¨­ä¾†è‡ªæ‚¨çš„å€åŸŸé¸é …)"
+
+-#: config/score/score.opt:31
+-#, fuzzy
+-msgid "Disable bcnz instruction"
+-msgstr "使用 AltiVec 指令"
++#: java/lang.opt:137
++msgid "Set the extension directory path"
++msgstr "設定擴充目錄路徑"
+
+-#: config/score/score.opt:35
+-#, fuzzy
+-msgid "Enable unaligned load/store instruction"
+-msgstr "啟用 DB 指令"
++#: java/lang.opt:144
++msgid "Input file is a file with a list of filenames to compile"
++msgstr "輸入檔案是一個檔案å稱清單,指定了需è¦ç·¨è­¯çš„檔案"
+
+-#: config/score/score.opt:39
+-msgid "Support SCORE 5 ISA"
+-msgstr ""
++#: java/lang.opt:151
++msgid "Always check for non gcj generated classes archives"
++msgstr "ç¸½æ˜¯æª¢æŸ¥éž gcj 產生的類別文件"
+
+-#: config/score/score.opt:43
+-msgid "Support SCORE 5U ISA"
+-msgstr ""
++#: java/lang.opt:155
++msgid "Assume the runtime uses a hash table to map an object to its synchronization structure"
++msgstr "å‡å®šåŸ·è¡Œæ™‚使用一張雜湊表完æˆå¾žç‰©ä»¶åˆ°å…¶åŒæ­¥çµæ§‹çš„å°æ‡‰"
+
+-#: config/score/score.opt:47
+-msgid "Support SCORE 7 ISA"
++#: java/lang.opt:159
++msgid "Generate instances of Class at runtime"
+ msgstr ""
+
+-#: config/score/score.opt:51
+-msgid "Support SCORE 7D ISA"
+-msgstr ""
++#: java/lang.opt:163
++msgid "Use offset tables for virtual method calls"
++msgstr "為虛方法呼å«ä½¿ç”¨å移表"
+
+-#: config/score/score.opt:55
+-msgid "Support SCORE 3 ISA"
+-msgstr ""
++#: java/lang.opt:170
++msgid "Assume native functions are implemented using JNI"
++msgstr "å‡å®šæœ¬åœ°å‡½å¼ä½¿ç”¨ JNI 實作"
+
+-#: config/score/score.opt:59
+-msgid "Support SCORE 3d ISA"
+-msgstr ""
++#: java/lang.opt:174
++msgid "Enable optimization of static class initialization code"
++msgstr "啟用éœæ…‹é¡žåˆ¥åˆå§‹ç¨‹å¼ç¢¼æœ€ä½³åŒ–"
+
+-#: config/linux.opt:24
+-#, fuzzy
+-msgid "Use uClibc instead of GNU libc"
+-msgstr "使用 ROM 而ä¸æ˜¯ RAM"
+-
+-#: config/linux.opt:28
+-#, fuzzy
+-msgid "Use GNU libc instead of uClibc"
+-msgstr "使用 ROM 而ä¸æ˜¯ RAM"
+-
+-#: c.opt:41
+-msgid "Assert the <answer> to <question>. Putting '-' before <question> disables the <answer> to <question>"
+-msgstr "給出 <å•é¡Œ> çš„ <答案>。在 <å•é¡Œ> å‰åŠ ä¸€å€‹ã€Œ-ã€å°‡åœç”¨æ­¤ <答案>"
+-
+-#: c.opt:45
+-msgid "Do not discard comments"
+-msgstr "ä¸ä¸Ÿæ£„註釋"
+-
+-#: c.opt:49
+-msgid "Do not discard comments in macro expansions"
+-msgstr "展開巨集時ä¸ä¸Ÿæ£„註釋"
+-
+-#: c.opt:53
+-msgid "Define a <macro> with <val> as its value. If just <macro> is given, <val> is taken to be 1"
+-msgstr "å°‡ <巨集> 定義為 <值>。如果åªçµ¦å‡ºäº† <巨集>,<值> 將被定為 1"
+-
+-#: c.opt:60
+-msgid "Add <dir> to the end of the main framework include path"
+-msgstr "å°‡ <目錄> 加入到主框架包å«è·¯å¾‘的末尾"
+-
+-#: c.opt:64
+-msgid "Print the name of header files as they are used"
+-msgstr "列å°ä½¿ç”¨åˆ°çš„標頭檔案å"
+-
+-#: c.opt:68 c.opt:859
+-msgid "Add <dir> to the end of the main include path"
+-msgstr "å°‡ <目錄> 加入到主包å«è·¯å¾‘末尾"
+-
+-#: c.opt:72
+-msgid "Generate make dependencies"
+-msgstr "產生 make ä¾è³´é …"
+-
+-#: c.opt:76
+-msgid "Generate make dependencies and compile"
+-msgstr "產生 make ä¾è³´è¦å‰‡ä¸¦ç·¨è­¯"
+-
+-#: c.opt:80
+-msgid "Write dependency output to the given file"
+-msgstr "å°‡ä¾è³´é …輸出到給定檔案"
+-
+-#: c.opt:84
+-msgid "Treat missing header files as generated files"
+-msgstr "將缺失的標頭檔案看作產生的檔案"
+-
+-#: c.opt:88
+-msgid "Like -M but ignore system header files"
+-msgstr "與 -M 類似但是忽略系統標頭檔案"
+-
+-#: c.opt:92
+-msgid "Like -MD but ignore system header files"
+-msgstr "與 -MD 類似但是忽略系統標頭檔案"
+-
+-#: c.opt:96
+-msgid "Generate phony targets for all headers"
+-msgstr "為所有標頭產生å‡çš„目的"
+-
+-#: c.opt:100
+-msgid "Add a MAKE-quoted target"
+-msgstr "加入一個 MAKE 括起的目的"
+-
+-#: c.opt:104
+-msgid "Add an unquoted target"
+-msgstr "加入一個ä¸æ‹¬èµ·çš„目的"
+-
+-#: c.opt:108
+-msgid "Do not generate #line directives"
+-msgstr "ä¸ç”¢ç”Ÿ #line 指令"
+-
+-#: c.opt:112
+-msgid "Undefine <macro>"
+-msgstr "å–消定義 <巨集>"
+-
+-#: c.opt:116
+-msgid "Warn about things that will change when compiling with an ABI-compliant compiler"
+-msgstr "當çµæžœèˆ‡ ABI 相容的編譯器的編譯çµæžœä¸åŒæ™‚給出警告"
+-
+-#: c.opt:120
+-#, fuzzy
+-msgid "Warn about suspicious uses of memory addresses"
+-msgstr "å°å¯ç–‘的「mainã€å®£å‘Šçµ¦å‡ºè­¦å‘Š"
+-
+-#: c.opt:124
+-msgid "Enable most warning messages"
+-msgstr "啟用大部分警告資訊"
+-
+-#: c.opt:128
+-#, fuzzy
+-msgid "Warn if a comparison is always true or always false due to the limited range of the data type"
+-msgstr "由於資料類型範åœé™åˆ¶ï¼Œæ¯”較çµæžœæ°¸é ç‚ºå‡"
+-
+-#: c.opt:132
+-msgid "Warn whenever an Objective-C assignment is being intercepted by the garbage collector"
+-msgstr "當 Objective-C 賦值å¯èƒ½ç‚ºç„¡ç”¨å›žæ”¶æ‰€ä»‹å…¥æ™‚給出警告"
+-
+-#: c.opt:136
+-msgid "Warn about casting functions to incompatible types"
+-msgstr "當把函å¼è½‰æ›ç‚ºä¸ç›¸å®¹é¡žåž‹æ™‚給出警告"
+-
+-#: c.opt:140
+-msgid "Warn about C constructs that are not in the common subset of C and C++"
+-msgstr "當在 C 語言中使用了 C 與 C++ 交集以外的建構時給出警告"
+-
+-#: c.opt:144
+-#, fuzzy
+-msgid "Warn about C++ constructs whose meaning differs between ISO C++ 1998 and ISO C++ 200x"
+-msgstr "當在 C 語言中使用了 C 與 C++ 交集以外的建構時給出警告"
+-
+-#: c.opt:148
+-msgid "Warn about casts which discard qualifiers"
+-msgstr "當類型轉æ›ä¸Ÿå¤±é™å®šè³‡è¨Šæ™‚給出警告"
+-
+-#: c.opt:152
+-msgid "Warn about subscripts whose type is \"char\""
+-msgstr "當下標類型為「charã€æ™‚給出警告"
+-
+-#: c.opt:156
+-#, fuzzy
+-msgid "Warn about variables that might be changed by \"longjmp\" or \"vfork\""
+-msgstr "變數 %q+D 能為 %<longjmp%> 或 %<vfork%> 所篡改"
+-
+-#: c.opt:160
+-msgid "Warn about possibly nested block comments, and C++ comments spanning more than one physical line"
+-msgstr "å°å¯èƒ½å·¢ç‹€çš„註釋和長度超éŽä¸€å€‹ç‰©ç†åˆ—é•·çš„ C++ 註釋給出警告"
+-
+-#: c.opt:164
+-msgid "Synonym for -Wcomment"
+-msgstr "-Wcomment çš„åŒç¾©è©ž"
+-
+-#: c.opt:168
+-msgid "Warn for implicit type conversions that may change a value"
++#: java/lang.opt:181
++msgid "Reduce the amount of reflection meta-data generated"
+ msgstr ""
+
+-#: c.opt:172
+-#, fuzzy
+-msgid "Warn for implicit type conversions between signed and unsigned integers"
+-msgstr "在有號和無號整數é‹ç®—å¼é–“比較"
+-
+-#: c.opt:176
+-msgid "Warn when all constructors and destructors are private"
+-msgstr "當所有建構å¼å’Œè§£æ§‹å‡½å¼éƒ½æ˜¯ç§æœ‰æ™‚給出警告"
+-
+-#: c.opt:180
+-msgid "Warn when a declaration is found after a statement"
+-msgstr "當宣告出ç¾åœ¨æ•˜è¿°å¾Œæ™‚給出警告"
+-
+-#: c.opt:184
+-msgid "Warn about deprecated compiler features"
+-msgstr "å°éŽæ™‚的編譯器特性給出警告"
+-
+-#: c.opt:188
+-msgid "Warn about compile-time integer division by zero"
+-msgstr "å°ç·¨è­¯æ™‚發ç¾çš„零除給出警告"
+-
+-#: c.opt:192
+-msgid "Warn about violations of Effective C++ style rules"
+-msgstr "å°ä¸éµå¾ª Effetive C++ 的風格給出警告"
+-
+-#: c.opt:196
+-#, fuzzy
+-msgid "Warn about an empty body in an if or else statement"
+-msgstr "%Helse 敘述體為空"
+-
+-#: c.opt:200
+-msgid "Warn about stray tokens after #elif and #endif"
+-msgstr "當 #elif å’Œ #endif 後é¢è·Ÿæœ‰å…¶å®ƒè­˜åˆ¥ç¢¼æ™‚給出警告"
+-
+-#: c.opt:208
+-#, fuzzy
+-msgid "This switch is deprecated; use -Werror=implicit-function-declaration instead"
+-msgstr "此開關已éŽæ™‚;請改用 -Wextra"
+-
+-#: c.opt:212
+-msgid "Warn if testing floating point numbers for equality"
+-msgstr "當比較浮點數是å¦ç›¸ç­‰æ™‚給出警告"
+-
+-#: c.opt:216
+-msgid "Warn about printf/scanf/strftime/strfmon format string anomalies"
+-msgstr "å° printf/scanf/strftime/strfmon 中的格å¼å­—串異常給出警告"
+-
+-#: c.opt:220
+-msgid "Warn if passing too many arguments to a function for its format string"
+-msgstr "當傳éžçµ¦æ ¼å¼å­—串的引數太多時給出警告"
+-
+-#: c.opt:224
+-msgid "Warn about format strings that are not literals"
+-msgstr "當格å¼å­—串ä¸æ˜¯å­—é¢å€¼æ™‚給出警告"
+-
+-#: c.opt:228
+-#, fuzzy
+-msgid "Warn about format strings that contain NUL bytes"
+-msgstr "當格å¼å­—串ä¸æ˜¯å­—é¢å€¼æ™‚給出警告"
+-
+-#: c.opt:232
+-msgid "Warn about possible security problems with format functions"
+-msgstr "當使用格å¼å­—串的函å¼å¯èƒ½å°Žè‡´å®‰å…¨å•é¡Œæ™‚給出警告"
+-
+-#: c.opt:236
+-msgid "Warn about strftime formats yielding 2-digit years"
+-msgstr "當 strftime æ ¼å¼çµ¦å‡º 2 ä½è¨˜å¹´æ™‚給出警告"
+-
+-#: c.opt:240
+-msgid "Warn about zero-length formats"
+-msgstr "å°é•·åº¦ç‚º 0 çš„æ ¼å¼å­—串給出警告"
+-
+-#: c.opt:247
+-msgid "Warn about variables which are initialized to themselves"
+-msgstr "å°åˆå§‹åŒ–為自身的變數給出警告。"
+-
+-#: c.opt:254
+-msgid "Warn about implicit function declarations"
+-msgstr "å°éš±å«å‡½å¼å®£å‘Šçµ¦å‡ºè­¦å‘Š"
+-
+-#: c.opt:258
+-msgid "Warn when a declaration does not specify a type"
+-msgstr "當宣告未指定類型時給出警告"
+-
+-#: c.opt:262
+-msgid "Deprecated. This switch has no effect"
+-msgstr "å·²éŽæ™‚。此開關ä¸èµ·ä½œç”¨ã€‚"
+-
+-#: c.opt:266
+-msgid "Warn when there is a cast to a pointer from an integer of a different size"
+-msgstr "當將一個大å°ä¸åŒçš„整數轉æ›ç‚ºæŒ‡æ¨™æ™‚給出警告"
+-
+-#: c.opt:270
+-msgid "Warn about invalid uses of the \"offsetof\" macro"
+-msgstr "å°ã€Œoffsetofã€å·¨é›†ç„¡æ•ˆçš„使用給出警告"
+-
+-#: c.opt:274
+-msgid "Warn about PCH files that are found but not used"
+-msgstr "在找到了 PCH 檔案但未使用的情æ³çµ¦å‡ºè­¦å‘Š"
+-
+-#: c.opt:278
+-msgid "Do not warn about using \"long long\" when -pedantic"
+-msgstr "當使用 -pedantic 時ä¸æ­£ç¢ºã€Œlong longã€çµ¦å‡ºè­¦å‘Š"
+-
+-#: c.opt:282
+-msgid "Warn about suspicious declarations of \"main\""
+-msgstr "å°å¯ç–‘的「mainã€å®£å‘Šçµ¦å‡ºè­¦å‘Š"
+-
+-#: c.opt:286
+-msgid "Warn about possibly missing braces around initializers"
+-msgstr "è‹¥åˆå§‹å€¼è¨­å®šé …中å¯èƒ½ç¼ºå°‘大括號則給出警告"
+-
+-#: c.opt:290
+-msgid "Warn about global functions without previous declarations"
+-msgstr "當全域函å¼æ²’有å‰å‘宣告時給出警告"
+-
+-#: c.opt:294
+-msgid "Warn about missing fields in struct initializers"
+-msgstr "è‹¥çµæ§‹åˆå§‹å€¼è¨­å®šé …中缺少欄ä½å‰‡çµ¦å‡ºè­¦å‘Š"
+-
+-#: c.opt:298
+-msgid "Warn about functions which might be candidates for format attributes"
+-msgstr "當函å¼å¯èƒ½æ˜¯ format 屬性的備é¸æ™‚給出警告"
+-
+-#: c.opt:302
+-msgid "Warn about user-specified include directories that do not exist"
+-msgstr "當使用者給定的包å«ç›®éŒ„ä¸å­˜åœ¨æ™‚給出警告"
+-
+-#: c.opt:306
+-msgid "Warn about function parameters declared without a type specifier in K&R-style functions"
++#: java/lang.opt:185
++msgid "Enable assignability checks for stores into object arrays"
+ msgstr ""
+
+-#: c.opt:310
+-msgid "Warn about global functions without prototypes"
+-msgstr "全域函å¼æ²’有原型時給出警告"
++#: java/lang.opt:189
++msgid "Generate code for the Boehm GC"
++msgstr "為 Boehm 產生程å¼ç¢¼"
+
+-#: c.opt:314
+-msgid "Warn about use of multi-character character constants"
+-msgstr "使用多ä½å…ƒçµ„字元集的字元常數時給出警告"
++#: java/lang.opt:193
++msgid "Call a library routine to do integer divisions"
++msgstr "呼å«ä¸€å€‹å‡½å¼åº«å­ç¨‹å¼ä¾†å®Œæˆæ•´æ•¸é™¤æ³•"
+
+-#: c.opt:318
+-msgid "Warn about \"extern\" declarations not at file scope"
+-msgstr "當「externã€å®£å‘Šä¸åœ¨æª”案作用欄ä½æ™‚給出警告"
+-
+-#: c.opt:322
+-msgid "Warn when non-templatized friend functions are declared within a template"
+-msgstr "在範本內宣告未範本化的夥伴函å¼æ™‚給出警告"
+-
+-#: c.opt:326
+-msgid "Warn about non-virtual destructors"
+-msgstr "當解構函å¼ä¸æ˜¯è™›å‡½å¼æ™‚給出警告"
+-
+-#: c.opt:330
+-msgid "Warn about NULL being passed to argument slots marked as requiring non-NULL"
+-msgstr "當將 NULL 傳éžçµ¦éœ€è¦éž NULL çš„åƒæ•¸çš„函å¼æ™‚給出警告"
+-
+-#: c.opt:334
+-msgid "Warn about non-normalised Unicode strings"
+-msgstr "為未歸一化的 Unicode 字串給出警告"
+-
+-#: c.opt:338
+-msgid "Warn if a C-style cast is used in a program"
+-msgstr "程å¼ä½¿ç”¨ C 風格的類型轉æ›æ™‚給出警告"
+-
+-#: c.opt:342
+-#, fuzzy
+-msgid "Warn for obsolescent usage in a declaration"
+-msgstr "å°éš±å«å‡½å¼å®£å‘Šçµ¦å‡ºè­¦å‘Š"
+-
+-#: c.opt:346
+-msgid "Warn if an old-style parameter definition is used"
+-msgstr "使用舊å¼åƒæ•¸å®šç¾©æ™‚給出警告"
+-
+-#: c.opt:350
+-msgid "Warn if a string is longer than the maximum portable length specified by the standard"
++#: java/lang.opt:197
++msgid "Generated should be loaded by bootstrap loader"
+ msgstr ""
+
+-#: c.opt:354
+-msgid "Warn about overloaded virtual function names"
+-msgstr "多載虛函å¼å時給出警告"
+-
+-#: c.opt:358
+-#, fuzzy
+-msgid "Warn about overriding initializers without side effects"
+-msgstr "å°åˆå§‹åŒ–為自身的變數給出警告。"
+-
+-#: c.opt:362
+-msgid "Warn about possibly missing parentheses"
+-msgstr "å¯èƒ½ç¼ºå°‘括號的情æ³ä¸‹çµ¦å‡ºè­¦å‘Š"
+-
+-#: c.opt:366
+-msgid "Warn when converting the type of pointers to member functions"
+-msgstr "當變更æˆå“¡å‡½å¼æŒ‡æ¨™çš„類型時給出警告"
+-
+-#: c.opt:370
+-msgid "Warn about function pointer arithmetic"
+-msgstr "當在算術é‹ç®—å¼ä¸­ä½¿ç”¨å‡½å¼æŒ‡æ¨™æ™‚給出警告"
+-
+-#: c.opt:374
+-msgid "Warn when a pointer is cast to an integer of a different size"
+-msgstr "當將一個指標轉æ›ç‚ºå¤§å°ä¸åŒçš„整數時給出警告"
+-
+-#: c.opt:378
+-msgid "Warn about misuses of pragmas"
+-msgstr "å°éŒ¯èª¤ä½¿ç”¨çš„ pragma 加以警告"
+-
+-#: c.opt:382
+-msgid "Warn if inherited methods are unimplemented"
+-msgstr "當繼承來的方法未被實作時給出警告"
+-
+-#: c.opt:386
+-msgid "Warn about multiple declarations of the same object"
+-msgstr "å°åŒä¸€å€‹ç‰©ä»¶å¤šæ¬¡å®£å‘Šæ™‚給出警告"
+-
+-#: c.opt:390
+-msgid "Warn when the compiler reorders code"
+-msgstr "編譯器將程å¼ç¢¼é‡æ–°æŽ’åºæ™‚給出警告"
+-
+-#: c.opt:394
+-msgid "Warn whenever a function's return type defaults to \"int\" (C), or about inconsistent return types (C++)"
+-msgstr "當 C 函å¼çš„回傳值é è¨­ç‚ºã€Œintã€ï¼Œæˆ–是 C++ 函å¼çš„回傳類型ä¸ä¸€è‡´æ™‚給出警告"
+-
+-#: c.opt:398
+-msgid "Warn if a selector has multiple methods"
+-msgstr "當é¸æ“‡å­æœ‰å¤šå€‹æ–¹æ³•æ™‚給出警告"
+-
+-#: c.opt:402
+-msgid "Warn about possible violations of sequence point rules"
+-msgstr "當å¯èƒ½é•å定åºé»žè¦å‰‡æ™‚給出警告"
+-
+-#: c.opt:406
+-msgid "Warn about signed-unsigned comparisons"
+-msgstr "在有號和無號數間進行比較時給出警告"
+-
+-#: c.opt:410
+-msgid "Warn when overload promotes from unsigned to signed"
+-msgstr "當多載將無號數æå‡ç‚ºæœ‰è™Ÿæ•¸æ™‚給出警告"
+-
+-#: c.opt:414
+-msgid "Warn about uncasted NULL used as sentinel"
+-msgstr "將未作轉æ›çš„ NULL åšç‚ºå“¨å…µæ™‚給出警告"
+-
+-#: c.opt:418
+-msgid "Warn about unprototyped function declarations"
+-msgstr "使用了éžåŽŸåž‹çš„函å¼å®£å‘Šæ™‚給出莥警告"
+-
+-#: c.opt:422
+-msgid "Warn if type signatures of candidate methods do not match exactly"
+-msgstr "當備é¸æ–¹æ³•çš„類型簽字ä¸å®Œå…¨åŒ¹é…時給出警告"
+-
+-#: c.opt:426
+-msgid "Warn when synthesis behavior differs from Cfront"
+-msgstr "當綜åˆè¡Œç‚ºä¸åŒæ–¼ Cfront 時給出警告"
+-
+-#: c.opt:430 common.opt:182
+-msgid "Do not suppress warnings from system headers"
+-msgstr "ä¸æŠ‘制系統標頭檔案中的警告"
+-
+-#: c.opt:434
+-msgid "Warn about features not present in traditional C"
+-msgstr "使用了傳統 C ä¸æ”¯æ´çš„特性時給出警告"
+-
+-#: c.opt:438
+-msgid "Warn of prototypes causing type conversions different from what would happen in the absence of prototype"
++#: java/lang.opt:201
++msgid "Set the source language version"
+ msgstr ""
+
+-#: c.opt:442
+-msgid "Warn if trigraphs are encountered that might affect the meaning of the program"
+-msgstr "當三字æ¯åºåˆ—å¯èƒ½å½±éŸ¿ç¨‹å¼æ„義時給出警告"
+-
+-#: c.opt:446
+-msgid "Warn about @selector()s without previously declared methods"
+-msgstr "當使用 @selector() å»ä¸ä½œäº‹å…ˆå®£å‘Šæ™‚給出警告"
+-
+-#: c.opt:450
+-msgid "Warn if an undefined macro is used in an #if directive"
+-msgstr "當 #if 指令中用到未定義的巨集時給出警告"
+-
+-#: c.opt:454
+-msgid "Warn about unrecognized pragmas"
+-msgstr "å°ç„¡æ³•è¾¨è­˜çš„ pragma 加以警告"
+-
+-#: c.opt:458
+-msgid "Warn about macros defined in the main file that are not used"
+-msgstr "當定義在主檔案中的巨集未被使用時給出警告"
+-
+-#: c.opt:462
+-msgid "Do not warn about using variadic macros when -pedantic"
+-msgstr "指定 -pedantic 時ä¸ç‚ºå¯è®Šåƒæ•¸å·¨é›†çµ¦å‡ºè­¦å‘Š"
+-
+-#: c.opt:466
++#: java/lang.opt:205
+ #, fuzzy
+-msgid "Warn if a variable length array is used"
+-msgstr "有未使用的變數時警告"
++msgid "Set the target VM version"
++msgstr "指定目的 CPU 的類型"
+
+-#: c.opt:470
+-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.opt:474
+-msgid "Warn when a pointer differs in signedness in an assignment"
+-msgstr "當賦值時指標有/無號ä¸ä¸€è‡´æ™‚給出警告"
+-
+-#: c.opt:478
+-msgid "A synonym for -std=c89 (for C) or -std=c++98 (for C++)"
+-msgstr "-std=c89 (å° C 來說) 或 -std=c++98 (å° C++ 來說)çš„åŒç¾©è©ž"
+-
+-#: c.opt:486
+-msgid "Enforce class member access control semantics"
+-msgstr "執行類別æˆå“¡å­˜å–控制語義"
+-
+-#: c.opt:493
+-msgid "Change when template instances are emitted"
+-msgstr "使用ä¸åŒçš„範本實體化實作"
+-
+-#: c.opt:497
+-msgid "Recognize the \"asm\" keyword"
+-msgstr "識別「asmã€é—œéµå­—"
+-
+-#: c.opt:501
+-msgid "Recognize built-in functions"
+-msgstr "識別內建函å¼"
+-
+-#: c.opt:508
+-msgid "Check the return value of new"
+-msgstr "檢查 new 的回傳值"
+-
+-#: c.opt:512
+-msgid "Allow the arguments of the '?' operator to have different types"
+-msgstr "å…許「?ã€é‹ç®—å­çš„åƒæ•¸æœ‰ä¸åŒçš„é¡žåž‹"
+-
+-#: c.opt:516
+-msgid "Reduce the size of object files"
+-msgstr "減å°ç›®çš„檔案"
+-
+-#: c.opt:520
+-msgid "Use class <name> for constant strings"
+-msgstr "使用 <å> åšç‚ºå¸¸æ•¸å­—串類別的å稱"
+-
+-#: c.opt:524
+-msgid "Inline member functions by default"
+-msgstr "é è¨­å…§è¯æˆå“¡å‡½å¼"
+-
+-#: c.opt:528
+-#, fuzzy
+-msgid "Preprocess directives only."
+-msgstr "è™•ç† #ident 指令"
+-
+-#: c.opt:532
+-msgid "Permit '$' as an identifier character"
+-msgstr "å…許「$ã€åšç‚ºè­˜åˆ¥ç¢¼çš„一部分"
+-
+-#: c.opt:539
+-msgid "Generate code to check exception specifications"
+-msgstr "產生檢查異一般範的程å¼ç¢¼"
+-
+-#: c.opt:546
+-msgid "Convert all strings and character constants to character set <cset>"
+-msgstr "將所有字串和字元常數轉æ›åˆ° <字元集>"
+-
+-#: c.opt:550
+-msgid "Permit universal character names (\\u and \\U) in identifiers"
+-msgstr "å…è¨±è­˜åˆ¥ç¢¼ä¸­å‡ºç¾ Unicode å­—å…ƒå(\\u å’Œ \\U)"
+-
+-#: c.opt:554
+-msgid "Specify the default character set for source files"
+-msgstr "指定來æºç¨‹å¼ç¢¼çš„é è¨­å­—元集"
+-
+-#: c.opt:562
+-msgid "Scope of for-init-statement variables is local to the loop"
+-msgstr "for 循環åˆå§‹åŒ–中定義的變數作用欄ä½å±€é™æ–¼å¾ªç’°å…§"
+-
+-#: c.opt:566
+-msgid "Do not assume that standard C libraries and \"main\" exist"
+-msgstr "ä¸å‡å®šæ¨™æº– C 函å¼åº«å’Œã€Œmainã€å­˜åœ¨"
+-
+-#: c.opt:570
+-msgid "Recognize GNU-defined keywords"
+-msgstr "識別 GNU 定義的關éµå­—"
+-
+-#: c.opt:574
+-msgid "Generate code for GNU runtime environment"
+-msgstr "為 GNU 執行時環境產生程å¼ç¢¼"
+-
+-#: c.opt:578
+-#, fuzzy
+-msgid "Use traditional GNU semantics for inline functions"
+-msgstr "傳統 C ä¸æŽ¥å—å°è¯åˆçš„åˆå§‹åŒ–"
+-
+-#: c.opt:591
+-msgid "Assume normal C execution environment"
+-msgstr "å‡å®šä¸€èˆ¬çš„ C 執行環境"
+-
+-#: c.opt:595
+-msgid "Enable support for huge objects"
+-msgstr "啟用å°å·¨åž‹ç‰©ä»¶çš„支æ´"
+-
+-#: c.opt:599
+-msgid "Export functions even if they can be inlined"
+-msgstr "導出被內è¯çš„函å¼"
+-
+-#: c.opt:603
+-msgid "Emit implicit instantiations of inline templates"
+-msgstr "å…許內è¯ç¯„本隱å«å¯¦é«”化"
+-
+-#: c.opt:607
+-msgid "Emit implicit instantiations of templates"
+-msgstr "å…許範本隱å«å¯¦é«”化"
+-
+-#: c.opt:611
+-msgid "Inject friend functions into enclosing namespace"
+-msgstr "將夥伴函å¼å®£å‘Šè¦–作包å«å®ƒçš„命å空間中的有效宣告"
+-
+-#: c.opt:618
+-msgid "Allow implicit conversions between vectors with differing numbers of subparts and/or differing element types."
+-msgstr ""
+-
+-#: c.opt:622
+-msgid "Don't warn about uses of Microsoft extensions"
+-msgstr "使用微軟擴充時ä¸çµ¦å‡ºè­¦å‘Š"
+-
+-#: c.opt:632
+-msgid "Generate code for NeXT (Apple Mac OS X) runtime environment"
+-msgstr "為 NeXT (蘋果 Mac OS X) 執行時環境產生程å¼ç¢¼"
+-
+-#: c.opt:636
+-msgid "Assume that receivers of Objective-C messages may be nil"
+-msgstr "å‡å®š Objective-C 訊æ¯çš„接å—者å¯èƒ½æ˜¯ nil"
+-
+-#: c.opt:648
+-msgid "Generate special Objective-C methods to initialize/destroy non-POD C++ ivars, if needed"
+-msgstr "如果需è¦ï¼Œç”¢ç”Ÿç‰¹æ®Šçš„ Objective-C 方法來åˆå§‹åŒ–/解構éžç°¡å–®èˆŠè³‡æ–™ C++ 變數"
+-
+-#: c.opt:652
+-msgid "Allow fast jumps to the message dispatcher"
+-msgstr "å…許快速跳轉至訊æ¯åˆ†ç™¼è€…"
+-
+-#: c.opt:658
+-msgid "Enable Objective-C exception and synchronization syntax"
+-msgstr "啟用 Objective-C 異常和åŒæ­¥èªžæ³•"
+-
+-#: c.opt:662
+-msgid "Enable garbage collection (GC) in Objective-C/Objective-C++ programs"
+-msgstr "在 Objective-C/Objective-C++ 程å¼ä¸­å•Ÿç”¨ç„¡ç”¨æ”¶é›†"
+-
+-#: c.opt:667
+-msgid "Enable Objective-C setjmp exception handling runtime"
+-msgstr "啟用 Objective-C setjmp 異常處ç†åŸ·è¡Œæ™‚"
+-
+-#: c.opt:671
+-#, fuzzy
+-msgid "Enable OpenMP"
+-msgstr "啟用除錯"
+-
+-#: c.opt:675
+-msgid "Recognize C++ kewords like \"compl\" and \"xor\""
+-msgstr "識別「complã€ã€ã€Œxorã€ç­‰ C++ é—œéµè©ž"
+-
+-#: c.opt:679
+-msgid "Enable optional diagnostics"
+-msgstr "å•Ÿå‹•å¯é¸çš„診斷資訊"
+-
+-#: c.opt:686
+-msgid "Look for and use PCH files even when preprocessing"
+-msgstr "å³ä½¿åœ¨é å…ˆè™•ç†æ™‚也æœå°‹ä¸¦ä½¿ç”¨ PCH 檔案"
+-
+-#: c.opt:690
+-msgid "Downgrade conformance errors to warnings"
+-msgstr "將相容性錯誤é™æ ¼ç‚ºè­¦å‘Š"
+-
+-#: c.opt:694
+-msgid "Treat the input file as already preprocessed"
+-msgstr "將輸入檔案當作已經é å…ˆè™•ç†éŽçš„"
+-
+-#: c.opt:698
+-msgid "Used in Fix-and-Continue mode to indicate that object files may be swapped in at runtime"
+-msgstr "指定物件檔案å¯èƒ½åœ¨åŸ·è¡Œæ™‚被æ›å…¥ä»¥å…許「修復並繼續ã€é™¤éŒ¯æ¨¡å¼"
+-
+-#: c.opt:702
+-msgid "Enable automatic template instantiation"
+-msgstr "啟用範本自動實體化"
+-
+-#: c.opt:706
+-msgid "Generate run time type descriptor information"
+-msgstr "產生執行時類型æ述資訊"
+-
+-#: c.opt:710
+-msgid "Use the same size for double as for float"
+-msgstr "令 double 使用 float 的大å°"
+-
+-#: c.opt:718
+-msgid "Force the underlying type for \"wchar_t\" to be \"unsigned short\""
+-msgstr "強制指定「wchar_tã€çš„內在類型為「unsigned shortã€"
+-
+-#: c.opt:722
+-msgid "When \"signed\" or \"unsigned\" is not given make the bitfield signed"
+-msgstr "沒有給定「signedã€æˆ–「unsignedã€æ™‚å°‡ä½å…ƒæ®µè¦–作有號的"
+-
+-#: c.opt:726
+-msgid "Make \"char\" signed by default"
+-msgstr "使「charã€é¡žåž‹é è¨­ç‚ºæœ‰è™Ÿ"
+-
+-#: c.opt:733
+-msgid "Display statistics accumulated during compilation"
+-msgstr "顯示編譯程åºä¸­ç´¯è¨ˆçš„統計數字"
+-
+-#: c.opt:740
+-msgid "Distance between tab stops for column reporting"
+-msgstr "指定報告列號時制表ä½é–“çš„è·é›¢"
+-
+-#: c.opt:744
+-msgid "Specify maximum template instantiation depth"
+-msgstr "指定範本實體化的最大深度"
+-
+-#: c.opt:751
+-msgid "Do not generate thread-safe code for initializing local statics"
+-msgstr "ä¸ç‚ºå±€éƒ¨éœæ…‹è®Šæ•¸ç”¢ç”ŸåŸ·è¡Œç·’安全的åˆå§‹åŒ–程å¼ç¢¼"
+-
+-#: c.opt:755
+-msgid "When \"signed\" or \"unsigned\" is not given make the bitfield unsigned"
+-msgstr "未指定「signedã€æˆ–「unsignedã€æ™‚é è¨­ä½å…ƒæ®µç‚ºç„¡è™Ÿçš„"
+-
+-#: c.opt:759
+-msgid "Make \"char\" unsigned by default"
+-msgstr "使「charã€é¡žåž‹é è¨­ç‚ºç„¡è™Ÿ"
+-
+-#: c.opt:763
+-msgid "Use __cxa_atexit to register destructors"
+-msgstr "å°‡ __cxa_atexit è€Œéž atexit 登記為解構函å¼"
+-
+-#: c.opt:767
+-msgid "Use __cxa_get_exception_ptr in exception handling"
+-msgstr ""
+-
+-#: c.opt:771
+-msgid "Marks all inlined methods as having hidden visibility"
+-msgstr "將所有內è¯å‡½å¼æ¨™è¨˜ç‚ºå…·æœ‰éš±è—çš„å¯è¦‹æ€§"
+-
+-#: c.opt:775
+-msgid "Changes visibility to match Microsoft Visual Studio by default"
+-msgstr ""
+-
+-#: c.opt:779
+-msgid "Discard unused virtual functions"
+-msgstr "拋棄未使用的虛函å¼"
+-
+-#: c.opt:783
+-msgid "Implement vtables using thunks"
+-msgstr "使用 thunk 技術實作 vtable"
+-
+-#: c.opt:787
+-msgid "Emit common-like symbols as weak symbols"
+-msgstr "將公共符號視作弱符號"
+-
+-#: c.opt:791
+-msgid "Convert all wide strings and character constants to character set <cset>"
+-msgstr ""
+-
+-#: c.opt:795
+-msgid "Generate a #line directive pointing at the current working directory"
+-msgstr ""
+-
+-#: c.opt:799
+-msgid "Emit cross referencing information"
+-msgstr "產生交å‰åƒç…§è³‡è¨Š"
+-
+-#: c.opt:803
+-msgid "Generate lazy class lookup (via objc_getClass()) for use in Zero-Link mode"
+-msgstr ""
+-
+-#: c.opt:807
+-msgid "Dump declarations to a .decl file"
+-msgstr "將宣告傾å°åˆ°ä¸€å€‹ .decl 檔案中"
+-
+-#: c.opt:811
+-msgid "Aggressive reduced debug info for structs"
+-msgstr ""
+-
+-#: c.opt:815
+-msgid "Conservative reduced debug info for structs"
+-msgstr ""
+-
+-#: c.opt:819
+-msgid "Detailed reduced debug info for structs"
+-msgstr ""
+-
+-#: c.opt:823 c.opt:855
+-msgid "Add <dir> to the end of the system include path"
+-msgstr "å°‡ <目錄> 加入到系統包å«è·¯å¾‘末尾"
+-
+-#: c.opt:827
+-msgid "Accept definition of macros in <file>"
+-msgstr "æŽ¥å— <檔案> 中定義的巨集"
+-
+-#: c.opt:831
+-msgid "-imultilib <dir> Set <dir> to be the multilib include subdirectory"
+-msgstr ""
+-
+-#: c.opt:835
+-msgid "Include the contents of <file> before other files"
+-msgstr "在包å«å…¶ä»–檔案之å‰å…ˆåŒ…å« <檔案> 的內容"
+-
+-#: c.opt:839
+-msgid "Specify <path> as a prefix for next two options"
+-msgstr "å°‡ <路徑> 指定為下兩個é¸é …的字首"
+-
+-#: c.opt:843
+-msgid "Set <dir> to be the system root directory"
+-msgstr "將 <目錄> 設為系統根目錄"
+-
+-#: c.opt:847
+-msgid "Add <dir> to the start of the system include path"
+-msgstr "å°‡ <目錄> 加入到系統包å«è·¯å¾‘é–‹é ­"
+-
+-#: c.opt:851
+-msgid "Add <dir> to the end of the quote include path"
+-msgstr "å°‡ <目錄> 加入到引號包å«è·¯å¾‘末尾"
+-
+-#: c.opt:872
+-msgid "Do not search standard system include directories (those specified with -isystem will still be used)"
+-msgstr "ä¸æœå°‹æ¨™æº–系統標頭檔案目錄(但ä»å°‡ä½¿ç”¨ç”± -isystem 指定的目錄)"
+-
+-#: c.opt:876
+-msgid "Do not search standard system include directories for C++"
+-msgstr "ä¸æœå°‹ C++ 標準系統標頭檔案目錄"
+-
+-#: c.opt:892
+-msgid "Generate C header of platform-specific features"
+-msgstr "產生有平å°ç›¸é—œç‰¹æ€§çš„ C 標頭檔案"
+-
+-#: c.opt:896
+-msgid "Print a checksum of the executable for PCH validity checking, and stop"
+-msgstr ""
+-
+-#: c.opt:900
+-msgid "Remap file names when including files"
+-msgstr ""
+-
+-#: c.opt:904
+-msgid "Conform to the ISO 1998 C++ standard"
+-msgstr "éµå¾ª ISO 1998 C++ 標準"
+-
+-#: c.opt:908
+-#, fuzzy
+-msgid "Conform to the ISO 1998 C++ standard, with extensions that are likely to"
+-msgstr "éµå¾ª ISO 1998 C++ æ¨™æº–ï¼Œä¹Ÿæ”¯æ´ GNU æ“´å……"
+-
+-#: c.opt:915 c.opt:950
+-msgid "Conform to the ISO 1990 C standard"
+-msgstr "éµå¾ª ISO 1990 C 標準"
+-
+-#: c.opt:919 c.opt:958
+-msgid "Conform to the ISO 1999 C standard"
+-msgstr "éµå¾ª ISO 1999 C 標準"
+-
+-#: c.opt:923
+-msgid "Deprecated in favor of -std=c99"
+-msgstr "å·²éŽæ™‚,請使用 -std=c99"
+-
+-#: c.opt:927
+-msgid "Conform to the ISO 1998 C++ standard with GNU extensions"
+-msgstr "éµå¾ª ISO 1998 C++ æ¨™æº–ï¼Œä¹Ÿæ”¯æ´ GNU æ“´å……"
+-
+-#: c.opt:931
+-#, fuzzy
+-msgid "Conform to the ISO 1998 C++ standard, with GNU extensions and"
+-msgstr "éµå¾ª ISO 1998 C++ æ¨™æº–ï¼Œä¹Ÿæ”¯æ´ GNU æ“´å……"
+-
+-#: c.opt:938
+-msgid "Conform to the ISO 1990 C standard with GNU extensions"
+-msgstr "éµå¾ª ISO 1990 C æ¨™æº–ï¼Œä¹Ÿæ”¯æ´ GNU æ“´å……"
+-
+-#: c.opt:942
+-msgid "Conform to the ISO 1999 C standard with GNU extensions"
+-msgstr "éµå¾ª ISO 1999 C æ¨™æº–ï¼Œä¹Ÿæ”¯æ´ GNU æ“´å……"
+-
+-#: c.opt:946
+-msgid "Deprecated in favor of -std=gnu99"
+-msgstr "å·²éŽæ™‚,請使用 -std=gnu99"
+-
+-#: c.opt:954
+-msgid "Conform to the ISO 1990 C standard as amended in 1994"
+-msgstr "éµå¾ª ISO 1990 C 標準於 1994 年修訂的版本"
+-
+-#: c.opt:962
+-msgid "Deprecated in favor of -std=iso9899:1999"
+-msgstr "å·²éŽæ™‚,為 -std=iso9899:1999 所å–代"
+-
+-#: c.opt:966
+-msgid "Enable traditional preprocessing"
+-msgstr "啟用傳統é å…ˆè™•ç†"
+-
+-#: c.opt:970
+-msgid "Support ISO C trigraphs"
+-msgstr "æ”¯æ´ ISO C 三元符"
+-
+-#: c.opt:974
+-msgid "Do not predefine system-specific and GCC-specific macros"
+-msgstr "ä¸é å®šç¾©ç³»çµ±æˆ– GCC 特定的巨集"
+-
+-#: c.opt:978
+-msgid "Enable verbose output"
+-msgstr "啟用詳細輸出"
+-
+-#: common.opt:27
++#: common.opt:28
+ msgid "Display this information"
+ msgstr "顯示此資訊"
+
+-#: common.opt:31
++#: common.opt:32
+ msgid "Display descriptions of a specific class of options. <class> is one or more of optimizers, target, warnings, undocumented, params"
+ msgstr ""
+
+-#: common.opt:35
++#: common.opt:36
+ #, fuzzy
+ msgid "Alias for --help=target"
+ msgstr "-mfloat-abi=hard 的別å"
+
+-#: common.opt:51
++#: common.opt:52
+ msgid "Set parameter <param> to value. See below for a complete list of parameters"
+ msgstr "å°‡åƒæ•¸ <åƒæ•¸> 設為給定 <值>。下é¢çµ¦å‡ºæ‰€æœ‰åƒæ•¸çš„清單"
+
+-#: common.opt:58
++#: common.opt:59
+ msgid "Put global and static data smaller than <number> bytes into a special section (on some targets)"
+ msgstr "å°‡å°æ–¼ <數> ä½å…ƒçµ„的全域和éœæ…‹è³‡æ–™æ”¾å…¥ä¸€å€‹ç‰¹æ®Šçš„å€æ®µä¸­(在æŸäº›ç›®æ¨™å¹³è‡ºä¸Š)"
+
+-#: common.opt:62
++#: common.opt:63
+ msgid "Set optimization level to <number>"
+ msgstr "將最佳化等級設為 <數>"
+
+-#: common.opt:66
++#: common.opt:67
+ msgid "Optimize for space rather than speed"
+ msgstr "為最å°ç©ºé–“而ä¸æ˜¯æœ€å¤§é€Ÿåº¦æœ€ä½³åŒ–"
+
+-#: common.opt:70
++#: common.opt:71
+ msgid "This switch is deprecated; use -Wextra instead"
+ msgstr "此開關已éŽæ™‚;請改用 -Wextra"
+
+-#: common.opt:74
++#: common.opt:75
+ msgid "Warn about returning structures, unions or arrays"
+ msgstr "當回傳çµæ§‹ã€è¯åˆæˆ–陣列時給出警告"
+
+-#: common.opt:78
++#: common.opt:79
+ #, fuzzy
+ msgid "Warn if an array is accessed out of bounds"
+ msgstr "當 .class 檔案已éŽæ™‚時給出警告"
+
+-#: common.opt:82
++#: common.opt:83
+ msgid "Warn about inappropriate attribute usage"
+ msgstr "當å°å±¬æ€§çš„使用ä¸åˆé©æ™‚給出警告"
+
+-#: common.opt:86
++#: common.opt:87
+ msgid "Warn about pointer casts which increase alignment"
+ msgstr "當轉æ›æŒ‡æ¨™é¡žåž‹å°Žè‡´å°é½Šé‚Šç•Œå¢žé•·æ™‚給出警告"
+
+-#: common.opt:90
++#: common.opt:91
+ msgid "Warn about uses of __attribute__((deprecated)) declarations"
+ msgstr "å° __attribute__((deprecated)) 宣告給出警告"
+
+-#: common.opt:94
++#: common.opt:95
+ msgid "Warn when an optimization pass is disabled"
+ msgstr "當æŸè¶Ÿæœ€ä½³åŒ–被åœç”¨æ™‚給出警告"
+
+-#: common.opt:98
++#: common.opt:99
+ msgid "Treat all warnings as errors"
+ msgstr "所有的警告都當作是錯誤"
+
+-#: common.opt:102
++#: common.opt:103
+ #, fuzzy
+ msgid "Treat specified warning as error"
+ msgstr "所有的警告都當作是錯誤"
+
+-#: common.opt:106
++#: common.opt:107
+ msgid "Print extra (possibly unwanted) warnings"
+ msgstr "列å°é¡å¤–(å¯èƒ½æ‚¨ä¸¦ä¸æƒ³è¦)的警告跾資訊"
+
+-#: common.opt:110
++#: common.opt:111
+ msgid "Exit on the first error occurred"
+ msgstr "發ç¾ç¬¬ä¸€å€‹éŒ¯èª¤æ™‚å³é›¢é–‹"
+
+-#: common.opt:114
++#: common.opt:115
+ msgid "Warn when an inlined function cannot be inlined"
+ msgstr "當內è¯å‡½å¼ç„¡æ³•è¢«å…§è¯æ™‚給出警告"
+
+-#: common.opt:118
++#: common.opt:119
+ msgid "Warn if an object is larger than <number> bytes"
+ msgstr "當目的檔案大於 <n> ä½å…ƒçµ„時給出警告"
+
+-#: common.opt:122
++#: common.opt:123
+ msgid "Warn when a logical operator is suspicously always evaluating to true or false"
+ msgstr ""
+
+-#: common.opt:126
++#: common.opt:127
+ msgid "Warn if the loop cannot be optimized due to nontrivial assumptions."
+ msgstr "當循環因為ä¸å¹³å‡¡çš„å‡å®šè€Œä¸èƒ½è¢«æœ€ä½³åŒ–時給出警告"
+
+-#: common.opt:130
++#: common.opt:131
+ msgid "Warn about functions which might be candidates for __attribute__((noreturn))"
+ msgstr "當函å¼å¯èƒ½æ˜¯ __attribute__((noreturn)) çš„å‚™é¸æ™‚給出警告"
+
+-#: common.opt:134
++#: common.opt:135
+ #, fuzzy
+ msgid "Warn about overflow in arithmetic expressions"
+ msgstr "數字常數é‹ç®—å¼å‘下溢ä½æ™‚警告"
+
+-#: common.opt:138
++#: common.opt:139
+ msgid "Warn when the packed attribute has no effect on struct layout"
+ msgstr "當 packed 屬性å°çµæ§‹ç‰ˆé¢è¨­ç½®ä¸èµ·ä½œç”¨æ™‚給出警告"
+
+-#: common.opt:142
++#: common.opt:143
+ msgid "Warn when padding is required to align structure members"
+ msgstr "當需è¦å¡«è£œæ‰èƒ½å°é½Šçµæ§‹æˆå“¡æ™‚給出警告"
+
+-#: common.opt:146
++#: common.opt:147
+ msgid "Warn when one local variable shadows another"
+ msgstr "當一個局部變數掩蓋了å¦ä¸€å€‹å±€éƒ¨è®Šæ•¸æ™‚給出警告"
+
+-#: common.opt:150
++#: common.opt:151
+ msgid "Warn when not issuing stack smashing protection for some reason"
+ msgstr ""
+
+-#: common.opt:154 common.opt:158
++#: common.opt:155 common.opt:159
+ msgid "Warn about code which might break strict aliasing rules"
+ msgstr "當程å¼ç¢¼å¯èƒ½ç ´å£žå¼·é‡ç–Šè¦å‰‡æ™‚給出警告"
+
+-#: common.opt:162 common.opt:166
++#: common.opt:163 common.opt:167
+ #, fuzzy
+ msgid "Warn about optimizations that assume that signed overflow is undefined"
+ msgstr "åœç”¨å‡å®šé è¨­æµ®é»žæ¨å…¥è¡Œç‚ºçš„最佳化"
+
+-#: common.opt:170
++#: common.opt:171
+ msgid "Warn about enumerated switches, with no default, missing a case"
+ msgstr "當使用列舉類型åšç‚ºé–‹é—œè®Šæ•¸ï¼Œæ²’有æä¾› default 分支,但åˆç¼ºå°‘æŸå€‹ case 時給出警告"
+
+-#: common.opt:174
++#: common.opt:175
+ msgid "Warn about enumerated switches missing a \"default:\" statement"
+ msgstr "當使用列舉類型åšç‚ºé–‹é—œè®Šæ•¸ï¼Œä½†æ²’有æ供「defaultã€åˆ†æ”¯æ™‚給出警告"
+
+-#: common.opt:178
++#: common.opt:179
+ msgid "Warn about all enumerated switches missing a specific case"
+ msgstr "當使用列舉類型åšç‚ºé–‹é—œè®Šæ•¸ä½†åˆç¼ºå°‘æŸå€‹ case 時給出警告"
+
+-#: common.opt:186
++#: common.opt:183 c.opt:434
++msgid "Do not suppress warnings from system headers"
++msgstr "ä¸æŠ‘制系統標頭檔案中的警告"
++
++#: common.opt:187
+ msgid "Warn about uninitialized automatic variables"
+ msgstr "自動變數未åˆå§‹åŒ–時警告"
+
+-#: common.opt:190
++#: common.opt:191
+ msgid "Warn about code that will never be executed"
+ msgstr "存在永é ä¸è¢«åŸ·è¡Œçš„程å¼ç¢¼æ™‚警告"
+
+-#: common.opt:194
++#: common.opt:195
+ msgid "Enable all -Wunused- warnings"
+ msgstr "啟用所有關於「XX未使用ã€çš„警告"
+
+-#: common.opt:198
++#: common.opt:199
+ msgid "Warn when a function is unused"
+ msgstr "有未使用的函å¼æ™‚警告"
+
+-#: common.opt:202
++#: common.opt:203
+ msgid "Warn when a label is unused"
+ msgstr "有未使用的標籤時警告"
+
+-#: common.opt:206
++#: common.opt:207
+ msgid "Warn when a function parameter is unused"
+ msgstr "發ç¾æœªä½¿ç”¨çš„函å¼æŒ‡æ¨™æ™‚給出警告"
+
+-#: common.opt:210
++#: common.opt:211
+ msgid "Warn when an expression value is unused"
+ msgstr "當一個é‹ç®—å¼çš„值未被使用時給出警告"
+
+-#: common.opt:214
++#: common.opt:215
+ msgid "Warn when a variable is unused"
+ msgstr "有未使用的變數時警告"
+
+-#: common.opt:218
++#: common.opt:219
+ msgid "Warn when a register variable is declared volatile"
+ msgstr "當一個暫存器變數被宣告為 volatile 時給出警告"
+
+-#: common.opt:222
++#: common.opt:223
+ msgid "Warn instead of error in case profiles in -fprofile-use do not match"
+ msgstr ""
+
+-#: common.opt:226
++#: common.opt:227
+ msgid "Emit declaration information into <file>"
+ msgstr "將宣告資訊寫入 <檔案>"
+
+-#: common.opt:239
++#: common.opt:240
+ msgid "Enable dumps from specific passes of the compiler"
+ msgstr "為指定的æŸè¶ŸåŒ¯è­¯å•Ÿç”¨è¨˜æ†¶é«”傾å°"
+
+-#: common.opt:243
++#: common.opt:244
+ msgid "Set the file basename to be used for dumps"
+ msgstr "設定記憶體傾å°ä½¿ç”¨çš„檔案å稱字首"
+
+-#: common.opt:263
++#: common.opt:264
+ msgid "Align the start of functions"
+ msgstr "å°é½Šå‡½å¼å…¥å£"
+
+-#: common.opt:270
++#: common.opt:271
+ msgid "Align labels which are only reached by jumping"
+ msgstr "å°é½Šåªèƒ½ç‚ºè·³è½‰æ‰€åˆ°é”的標籤"
+
+-#: common.opt:277
++#: common.opt:278
+ msgid "Align all labels"
+ msgstr "å°é½Šæ‰€æœ‰çš„標籤"
+
+-#: common.opt:284
++#: common.opt:285
+ msgid "Align the start of loops"
+ msgstr "å°é½Šå¾ªç’°å…¥å£"
+
+-#: common.opt:299
++#: common.opt:300
+ msgid "Specify that arguments may alias each other and globals"
+ msgstr "指定引數å¯èƒ½äº’相é‡ç–Šï¼Œä¹Ÿå¯èƒ½èˆ‡å…¨åŸŸè³‡æ–™é‡ç–Š"
+
+-#: common.opt:303
++#: common.opt:304
+ msgid "Assume arguments may alias globals but not each other"
+ msgstr "å‡å®šå¼•æ•¸å¯èƒ½èˆ‡å…¨åŸŸè³‡æ–™é‡ç–Šï¼Œä½†äº’相ä¸é‡ç–Š"
+
+-#: common.opt:307
++#: common.opt:308
+ msgid "Assume arguments alias neither each other nor globals"
+ msgstr "å‡å®šå¼•æ•¸æ—¢ä¸äº’相é‡ç–Šï¼Œä¹Ÿä¸èˆ‡å…¨åŸŸè³‡æ–™é‡ç–Š"
+
+-#: common.opt:311
++#: common.opt:312
+ #, fuzzy
+ msgid "Assume arguments alias no other storage"
+ msgstr "å‡å®šå¼•æ•¸æ—¢ä¸äº’相é‡ç–Šï¼Œä¹Ÿä¸èˆ‡å…¨åŸŸè³‡æ–™é‡ç–Š"
+
+-#: common.opt:315
++#: common.opt:316
+ msgid "Generate unwind tables that are exact at each instruction boundary"
+ msgstr "產生精確到æ¯æ¢æŒ‡ä»¤é‚Šç•Œçš„堆疊展開表"
+
+-#: common.opt:319
++#: common.opt:320
+ #, fuzzy
+ msgid "Generate auto-inc/dec instructions"
+ msgstr "產生 isel 指令"
+
+-#: common.opt:327
++#: common.opt:328
+ msgid "Generate code to check bounds before indexing arrays"
+ msgstr "產生檢查陣列存å–是å¦è¶Šç•Œçš„程å¼ç¢¼"
+
+-#: common.opt:331
++#: common.opt:332
+ msgid "Replace add, compare, branch with branch on count register"
+ msgstr "將加/減法ã€æ¯”較ã€è·³è½‰æŒ‡ä»¤åºåˆ—替æ›ç‚ºæ ¹æ“šè¨ˆæ•¸æš«å­˜å™¨è·³è½‰æŒ‡ä»¤"
+
+-#: common.opt:335
++#: common.opt:336
+ msgid "Use profiling information for branch probabilities"
+ msgstr "為分支概率使用å–樣資訊"
+
+-#: common.opt:339
++#: common.opt:340
+ msgid "Perform branch target load optimization before prologue / epilogue threading"
+ msgstr "在開始/çµæœ«åŸ·è¡Œç·’å‰é€²è¡Œåˆ†æ”¯ç›®çš„載入最佳化"
+
+-#: common.opt:343
++#: common.opt:344
+ msgid "Perform branch target load optimization after prologue / epilogue threading"
+ msgstr "在開始/çµæœ«åŸ·è¡Œç·’後進行分支目的載入最佳化"
+
+-#: common.opt:347
++#: common.opt:348
+ msgid "Restrict target load migration not to re-use registers in any basic block"
+ msgstr ""
+
+-#: common.opt:351
++#: common.opt:352
+ msgid "Mark <register> as being preserved across functions"
+ msgstr "èªç‚º <暫存器> 跨越函å¼å‘¼å«æ™‚值ä¸è®Š"
+
+-#: common.opt:355
++#: common.opt:356
+ msgid "Mark <register> as being corrupted by function calls"
+ msgstr "èªç‚º <暫存器> 的值將被函å¼å‘¼å«æ‰€è®Šæ›´"
+
+-#: common.opt:362
++#: common.opt:363
+ msgid "Save registers around function calls"
+ msgstr "函å¼å‘¼å«å‰å¾Œå„²å­˜/æ¢å¾©æš«å­˜å™¨å€¼"
+
+-#: common.opt:366
++#: common.opt:367
+ msgid "Compare the results of several data dependence analyzers."
+ msgstr ""
+
+-#: common.opt:370
++#: common.opt:371
+ msgid "Do not put uninitialized globals in the common section"
+ msgstr "ä¸å°‡æœªåˆå§‹åŒ–的全域資料放在公共å€æ®µä¸­"
+
+-#: common.opt:374
++#: common.opt:375
+ msgid "Perform a register copy-propagation optimization pass"
+ msgstr "進行一趟暫存器副本傳éžæœ€ä½³åŒ–"
+
+-#: common.opt:378
++#: common.opt:379
+ msgid "Perform cross-jumping optimization"
+ msgstr "進行跨跳轉最佳化"
+
+-#: common.opt:382
++#: common.opt:383
+ msgid "When running CSE, follow jumps to their targets"
+ msgstr "進行 CSE 時,跟隨跳轉至目的"
+
+-#: common.opt:386
++#: common.opt:387
+ msgid "When running CSE, follow conditional jumps"
+ msgstr "進行 CSE 時,跟隨æ¢ä»¶è·³è½‰"
+
+-#: common.opt:390
++#: common.opt:391
+ msgid "Omit range reduction step when performing complex division"
+ msgstr "當進行複數除法時çœç•¥ç¸®æ¸›ç¯„åœçš„步驟"
+
+-#: common.opt:394
++#: common.opt:395
+ msgid "Place data items into their own section"
+ msgstr "å°‡æ¯å€‹è³‡æ–™é …分別放在它們å„自的å€æ®µä¸­"
+
+-#: common.opt:398
++#: common.opt:399
+ msgid "List all available debugging counters with their limits and counts."
+ msgstr ""
+
+-#: common.opt:402
++#: common.opt:403
+ msgid "-fdbg-cnt=<counter>:<limit>[,<counter>:<limit>,...] Set the debug counter limit. "
+ msgstr ""
+
+-#: common.opt:406
++#: common.opt:407
+ msgid "Map one directory name to another in debug information"
+ msgstr ""
+
+-#: common.opt:412
++#: common.opt:413
+ msgid "Defer popping functions args from stack until later"
+ msgstr "延é²å°‡å‡½å¼å¼•æ•¸å½ˆå †ç–Š"
+
+-#: common.opt:416
++#: common.opt:417
+ msgid "Attempt to fill delay slots of branch instructions"
+ msgstr "試圖利用延é²è½‰ç§»æŒ‡ä»¤å¾Œ"
+
+-#: common.opt:420
++#: common.opt:421
+ msgid "Delete useless null pointer checks"
+ msgstr "刪除無用的空指標檢查"
+
+-#: common.opt:424
++#: common.opt:425
+ msgid "How often to emit source location at the beginning of line-wrapped diagnostics"
+ msgstr ""
+
+-#: common.opt:428
++#: common.opt:429
+ msgid "Amend appropriate diagnostic messages with the command line option that controls them"
+ msgstr ""
+
+-#: common.opt:432
++#: common.opt:433
+ msgid "Dump various compiler internals to a file"
+ msgstr "將一些編譯器內部資訊傾å°åˆ°ä¸€å€‹æª”案裡"
+
+-#: common.opt:436
++#: common.opt:437
+ #, fuzzy
+ msgid "Suppress output of addresses in debugging dumps"
+ msgstr "在除錯傾å°ä¸­ä¸è¼¸å‡ºæŒ‡ä»¤æ•¸å’Œåˆ—號標記"
+
+-#: common.opt:440
++#: common.opt:441
+ #, fuzzy
+ msgid "Suppress output of instruction numbers, line number notes and addresses in debugging dumps"
+ msgstr "在除錯傾å°ä¸­ä¸è¼¸å‡ºæŒ‡ä»¤æ•¸å’Œåˆ—號標記"
+
+-#: common.opt:444
++#: common.opt:445
+ msgid "Perform early inlining"
+ msgstr "進行早內è¯"
+
+-#: common.opt:448
++#: common.opt:449
+ msgid "Perform DWARF2 duplicate elimination"
+ msgstr "進行 DWARF2 冗餘消除"
+
+-#: common.opt:452 common.opt:456
++#: common.opt:453 common.opt:457
+ msgid "Perform unused type elimination in debug info"
+ msgstr "在除錯資訊中進行無用類型消除"
+
+-#: common.opt:460
++#: common.opt:461
+ msgid "Do not suppress C++ class debug information."
+ msgstr ""
+
+-#: common.opt:464
++#: common.opt:465
+ msgid "Enable exception handling"
+ msgstr "啟用異常處ç†"
+
+-#: common.opt:468
++#: common.opt:469
+ msgid "Perform a number of minor, expensive optimizations"
+ msgstr "進行一些細微的ã€ä»£åƒ¹é«˜æ˜‚的最佳化"
+
+-#: common.opt:475
++#: common.opt:476
+ msgid "Assume no NaNs or infinities are generated"
+ msgstr "å‡å®šçµæžœä¸æœƒæ˜¯ NaN 或無é™å¤§æµ®é»žæ•¸"
+
+-#: common.opt:479
++#: common.opt:480
+ msgid "Mark <register> as being unavailable to the compiler"
+ msgstr "èªç‚º <register> å°ç·¨è­¯å™¨è€Œè¨€ç„¡æ³•ä½¿ç”¨"
+
+-#: common.opt:483
++#: common.opt:484
+ msgid "Don't allocate floats and doubles in extended-precision registers"
+ msgstr "ä¸å°‡å–®ç²¾åº¦å’Œé›™ç²¾åº¦æµ®é»žæ•¸æŒ‡æ´¾åˆ°æ“´å……精度的暫存器中"
+
+-#: common.opt:489
+-msgid "Copy memory address constants into registers before use"
+-msgstr "使用記憶體ä½å€å¸¸æ•¸å‰å…ˆå°‡å…¶è¤‡è£½åˆ°æš«å­˜å™¨ä¸­"
++#: common.opt:488 common.opt:647 common.opt:855 common.opt:986 common.opt:1061
++msgid "Does nothing. Preserved for backward compatibility."
++msgstr ""
+
+-#: common.opt:493
++#: common.opt:492
+ #, fuzzy
+ msgid "Perform a forward propagation pass on RTL"
+ msgstr "進行樹上的值欄ä½å‚³éž"
+
+-#: common.opt:500
++#: common.opt:499
+ msgid "Allow function addresses to be held in registers"
+ msgstr "å…許將函å¼ä½å€å„²å­˜åœ¨æš«å­˜å™¨ä¸­"
+
+-#: common.opt:504
++#: common.opt:503
+ msgid "Place each function into its own section"
+ msgstr "å°‡æ¯å€‹å‡½å¼åˆ†åˆ¥æ”¾åœ¨å®ƒå€‘å„自的å€æ®µä¸­"
+
+-#: common.opt:508
++#: common.opt:507
+ msgid "Perform global common subexpression elimination"
+ msgstr "進行全域公因å¼æ¶ˆåŽ»"
+
+-#: common.opt:512
++#: common.opt:511
+ msgid "Perform enhanced load motion during global common subexpression elimination"
+ msgstr "在全域公因å¼æ¶ˆåŽ»ä¸­é€²è¡Œå¢žå¼·çš„讀轉移最佳化"
+
+-#: common.opt:516
++#: common.opt:515
+ msgid "Perform store motion after global common subexpression elimination"
+ msgstr "在全域公因å¼æ¶ˆåŽ»å¾Œé€²è¡Œå­˜å„²è½‰ç§»"
+
+-#: common.opt:520
++#: common.opt:519
+ msgid "Perform redundant load after store elimination in global common subexpression"
+ msgstr "在全域公因å¼æ¶ˆåŽ»ä¸­é€²è¡Œå†—餘的寫後讀消除"
+
+-#: common.opt:525
++#: common.opt:524
+ msgid "Perform global common subexpression elimination after register allocation"
+ msgstr "在指派暫存器後進行全域公因å¼æ¶ˆåŽ»"
+
+-#: common.opt:530
++#: common.opt:529
+ msgid "Enable guessing of branch probabilities"
+ msgstr "啟用分支概率猜測"
+
+-#: common.opt:538
++#: common.opt:537
+ msgid "Process #ident directives"
+ msgstr "è™•ç† #ident 指令"
+
+-#: common.opt:542
++#: common.opt:541
+ msgid "Perform conversion of conditional jumps to branchless equivalents"
+ msgstr "å°‡æ¢ä»¶è·³è½‰æ›¿æ›ç‚ºæ²’有跳轉的等值表示"
+
+-#: common.opt:546
++#: common.opt:545
+ msgid "Perform conversion of conditional jumps to conditional execution"
+ msgstr "å°‡æ¢ä»¶è·³è½‰æ›¿æ›ç‚ºæ¢ä»¶åŸ·è¡Œ"
+
+-#: common.opt:554
++#: common.opt:553
+ msgid "Do not generate .size directives"
+ msgstr "ä¸ç”¢ç”Ÿ .size 指令"
+
+-#: common.opt:563
++#: common.opt:562
+ msgid "Pay attention to the \"inline\" keyword"
+ msgstr "ä¸å¿½ç•¥ã€Œinlineã€é—œéµå­—"
+
+-#: common.opt:567
++#: common.opt:566
+ #, fuzzy
+ msgid "Integrate simple functions into their callers when code size is known to not growth"
+ msgstr "將簡單函å¼æ•´åˆåˆ°å®ƒå€‘的呼å«è€…中"
+
+-#: common.opt:571
++#: common.opt:570
+ msgid "Integrate simple functions into their callers"
+ msgstr "將簡單函å¼æ•´åˆåˆ°å®ƒå€‘的呼å«è€…中"
+
+-#: common.opt:575
++#: common.opt:574
+ msgid "Integrate functions called once into their callers"
+ msgstr "å°‡åªè¢«å‘¼å«ä¸€æ¬¡çš„函å¼æ•´åˆåˆ°å®ƒå€‘的呼å«è€…中"
+
+-#: common.opt:582
++#: common.opt:581
+ msgid "Limit the size of inlined functions to <number>"
+ msgstr "將內è¯å‡½å¼çš„大å°é™åˆ¶åœ¨ <數> 以內"
+
+-#: common.opt:586
++#: common.opt:585
+ msgid "Instrument function entry and exit with profiling calls"
+ msgstr ""
+
+-#: common.opt:590
++#: common.opt:589
+ msgid "-finstrument-functions-exclude-function-list=name,... Do not instrument listed functions"
+ msgstr ""
+
+-#: common.opt:594
++#: common.opt:593
+ msgid "-finstrument-functions-exclude-file-list=filename,... Do not instrument functions listed in files"
+ msgstr ""
+
+-#: common.opt:598
++#: common.opt:597
+ msgid "Perform Interprocedural constant propagation"
+ msgstr "進行處ç†åºé–“的複寫傳éž"
+
+-#: common.opt:602
++#: common.opt:601
+ msgid "Discover pure and const functions"
+ msgstr "發ç¾ç´”函å¼å’Œå¸¸å‡½å¼"
+
+-#: common.opt:606
++#: common.opt:605
+ #, fuzzy
+ msgid "Perform interprocedural points-to analysis"
+ msgstr "進行處ç†åºé–“的複寫傳éž"
+
+-#: common.opt:610
++#: common.opt:609
+ msgid "Discover readonly and non addressable static variables"
+ msgstr "發ç¾å”¯è®€å’Œä¸å¯å®šå€éœæ…‹è®Šæ•¸"
+
+-#: common.opt:614
++#: common.opt:613
+ msgid "Type based escape and alias analysis"
+ msgstr ""
+
+-#: common.opt:618
++#: common.opt:617
+ msgid "Perform matrix layout flattening and transposing based"
+ msgstr ""
+
+-#: common.opt:623
++#: common.opt:622
+ #, fuzzy
+ msgid "Perform structure layout optimizations based"
+ msgstr "進行強度削減最佳化"
+
+-#: common.opt:628
++#: common.opt:627
+ msgid "Optimize induction variables on trees"
+ msgstr "在樹上最佳化歸ç´è®Šæ•¸"
+
+-#: common.opt:632
++#: common.opt:631
+ msgid "Use jump tables for sufficiently large switch statements"
+ msgstr "為足夠大的 switch 敘述使用跳轉表"
+
+-#: common.opt:636
++#: common.opt:635
+ msgid "Generate code for functions even if they are fully inlined"
+ msgstr "為完全內è¯çš„函å¼ç”¢ç”Ÿç¨‹å¼ç¢¼"
+
+-#: common.opt:640
++#: common.opt:639
+ msgid "Emit static const variables even if they are not used"
+ msgstr "ä¿ç•™æœªç”¨åˆ°çš„éœæ…‹å¸¸æ•¸"
+
+-#: common.opt:644
++#: common.opt:643
+ msgid "Give external symbols a leading underscore"
+ msgstr "給外部符號加入起始的底線"
+
+-#: common.opt:648 common.opt:852 common.opt:983
+-msgid "Does nothing. Preserved for backward compatibility."
+-msgstr ""
+-
+-#: common.opt:652
++#: common.opt:651
+ msgid "Set errno after built-in math functions"
+ msgstr "執行內建數學函å¼å¾Œè¨­å®š errno"
+
+-#: common.opt:656
++#: common.opt:655
+ msgid "Report on permanent memory allocation"
+ msgstr "報告永久性記憶體指派"
+
+-#: common.opt:663
++#: common.opt:662
+ msgid "Attempt to merge identical constants and constant variables"
+ msgstr "試圖åˆä½µç›¸åŒçš„常數和常變數"
+
+-#: common.opt:667
++#: common.opt:666
+ msgid "Attempt to merge identical constants across compilation units"
+ msgstr "試圖åˆä½µä¸åŒç·¨è­¯å–®å…ƒä¸­çš„相åŒå¸¸æ•¸"
+
+-#: common.opt:671
++#: common.opt:670
++#, fuzzy
++msgid "Attempt to merge identical debug strings across compilation units"
++msgstr "試圖åˆä½µä¸åŒç·¨è­¯å–®å…ƒä¸­çš„相åŒå¸¸æ•¸"
++
++#: common.opt:674
+ msgid "Limit diagnostics to <number> characters per line. 0 suppresses line-wrapping"
+ msgstr "t將診斷資訊é™åˆ¶åœ¨æ¯åˆ— <數字> 個字元。0 å–消自動æ›åˆ—"
+
+-#: common.opt:675
++#: common.opt:678
+ msgid "Perform SMS based modulo scheduling before the first scheduling pass"
+ msgstr "在首趟調度å‰é€²è¡ŒåŸºæ–¼ SMS 的模調度"
+
+-#: common.opt:679
++#: common.opt:682
+ #, fuzzy
+ msgid "Perform SMS based modulo scheduling with register moves allowed"
+ msgstr "在首趟調度å‰é€²è¡ŒåŸºæ–¼ SMS 的模調度"
+
+-#: common.opt:683
++#: common.opt:686
+ msgid "Move loop invariant computations out of loops"
+ msgstr "å°‡æ¯æ¬¡å¾ªç’°ä¸­ä¸è®Šçš„計算外æ"
+
+-#: common.opt:687
++#: common.opt:690
+ msgid "Add mudflap bounds-checking instrumentation for single-threaded program"
+ msgstr ""
+
+-#: common.opt:691
++#: common.opt:694
+ msgid "Add mudflap bounds-checking instrumentation for multi-threaded program"
+ msgstr ""
+
+-#: common.opt:695
++#: common.opt:698
+ msgid "Ignore read operations when inserting mudflap instrumentation"
+ msgstr ""
+
+-#: common.opt:699
++#: common.opt:702
+ #, fuzzy
+ msgid "Use the RTL dead code elimination pass"
+ msgstr "刪除死存儲"
+
+-#: common.opt:703
++#: common.opt:706
+ #, fuzzy
+ msgid "Use the RTL dead store elimination pass"
+ msgstr "刪除死存儲"
+
+-#: common.opt:707
++#: common.opt:710
+ msgid "Enable/Disable the traditional scheduling in loops that already passed modulo scheduling"
+ msgstr "啟用/åœç”¨å·²ç¶“é€éŽæ¨¡èª¿åº¦çš„循環中的傳統調度"
+
+-#: common.opt:711
++#: common.opt:714
+ msgid "Support synchronous non-call exceptions"
+ msgstr "支æ´åŒæ­¥éžå‘¼å«ç•°å¸¸"
+
+-#: common.opt:715
++#: common.opt:718
+ msgid "When possible do not generate stack frames"
+ msgstr "盡å¯èƒ½ä¸ç”¢ç”Ÿå †ç–Šæ¡†æž¶"
+
+-#: common.opt:719
++#: common.opt:722
+ msgid "Expand OpenMP operations on SSA form"
+ msgstr ""
+
+-#: common.opt:723
++#: common.opt:726
+ msgid "Do the full register move optimization pass"
+ msgstr "進行全暫存器傳é€æœ€ä½³åŒ–"
+
+-#: common.opt:727
++#: common.opt:730
+ msgid "Optimize sibling and tail recursive calls"
+ msgstr "最佳化åŒç´šéžè¿´å’Œå°¾éžè¿´"
+
+-#: common.opt:731 common.opt:735
++#: common.opt:734 common.opt:738
+ msgid "Report on memory allocation before interprocedural optimization"
+ msgstr ""
+
+-#: common.opt:739
++#: common.opt:742
+ msgid "Pack structure members together without holes"
+ msgstr "å°‡çµæ§‹æˆå“¡ä¸å¸¶é–“隔地緊實存放"
+
+-#: common.opt:743
++#: common.opt:746
+ msgid "Set initial maximum structure member alignment"
+ msgstr "設定çµæ§‹æˆå“¡æœ€å¤§å°é½Šé‚Šç•Œçš„åˆå§‹å€¼"
+
+-#: common.opt:747
++#: common.opt:750
+ msgid "Return small aggregates in memory, not registers"
+ msgstr "在記憶體而ä¸æ˜¯æš«å­˜å™¨ä¸­å›žå‚³å°èšåˆ"
+
+-#: common.opt:751
++#: common.opt:754
+ msgid "Perform loop peeling"
+ msgstr "進行循環å‰é›¢"
+
+-#: common.opt:755
++#: common.opt:758
+ msgid "Enable machine specific peephole optimizations"
+ msgstr "啟用機器相關的窺孔最佳化"
+
+-#: common.opt:759
++#: common.opt:762
+ msgid "Enable an RTL peephole pass before sched2"
+ msgstr "在 sched2 å‰é€²è¡Œä¸€è¶Ÿ RTL 窺孔最佳化"
+
+-#: common.opt:763
++#: common.opt:766
+ msgid "Generate position-independent code if possible (large mode)"
+ msgstr "盡å¯èƒ½ç”¢ç”Ÿèˆ‡ä½ç½®ç„¡é—œçš„程å¼ç¢¼(大模å¼)"
+
+-#: common.opt:767
++#: common.opt:770
+ msgid "Generate position-independent code for executables if possible (large mode)"
+ msgstr "為å¯åŸ·è¡Œæª”案盡å¯èƒ½ç”¢ç”Ÿèˆ‡ä½ç½®ç„¡é—œçš„程å¼ç¢¼(大模å¼)"
+
+-#: common.opt:771
++#: common.opt:774
+ msgid "Generate position-independent code if possible (small mode)"
+ msgstr "盡å¯èƒ½ç”¢ç”Ÿèˆ‡ä½ç½®ç„¡é—œçš„程å¼ç¢¼(å°æ¨¡å¼)"
+
+-#: common.opt:775
++#: common.opt:778
+ msgid "Generate position-independent code for executables if possible (small mode)"
+ msgstr "為å¯åŸ·è¡Œæª”案盡å¯èƒ½ç”¢ç”Ÿèˆ‡ä½ç½®ç„¡é—œçš„程å¼ç¢¼(å°æ¨¡å¼)"
+
+-#: common.opt:779
++#: common.opt:782
+ #, fuzzy
+ msgid "Run predictive commoning optimization."
+ msgstr "啟用暫存器傳é€æœ€ä½³åŒ–"
+
+-#: common.opt:783
++#: common.opt:786
+ msgid "Generate prefetch instructions, if available, for arrays in loops"
+ msgstr "如果å¯ç”¨ï¼Œç‚ºå¾ªç’°ä¸­çš„陣列產生é å–指令"
+
+-#: common.opt:787
++#: common.opt:790
+ msgid "Enable basic program profiling code"
+ msgstr "啟用基本程å¼å–樣程å¼ç¢¼"
+
+-#: common.opt:791
++#: common.opt:794
+ msgid "Insert arc-based program profiling code"
+ msgstr ""
+
+-#: common.opt:795
++#: common.opt:798
+ msgid "Enable common options for generating profile info for profile feedback directed optimizations"
+ msgstr "啟用一些公共é¸é …來產生樣本檔案,以便進行基於å–樣的最佳化"
+
+-#: common.opt:799
++#: common.opt:802
+ msgid "Enable common options for performing profile feedback directed optimizations"
+ msgstr "啟用一些公共é¸é …以進行基於å–樣的最佳化"
+
+-#: common.opt:803
++#: common.opt:806
+ msgid "Insert code to profile values of expressions"
+ msgstr "為å–樣é‹ç®—å¼çš„值æ’入相關程å¼ç¢¼"
+
+-#: common.opt:810
++#: common.opt:813
+ msgid "Make compile reproducible using <string>"
+ msgstr "使用 <字串> 作用隨機數種å­ä»¥ä½¿ç·¨è­¯çµæžœå¯ä»¥è¤‡ç¾"
+
+-#: common.opt:820
++#: common.opt:823
+ msgid "Record gcc command line switches in the object file."
+ msgstr ""
+
+-#: common.opt:824
++#: common.opt:827
+ msgid "Return small aggregates in registers"
+ msgstr "在暫存器中回傳å°èšåˆ"
+
+-#: common.opt:828
++#: common.opt:831
+ msgid "Enables a register move optimization"
+ msgstr "啟用暫存器傳é€æœ€ä½³åŒ–"
+
+-#: common.opt:832
++#: common.opt:835
+ msgid "Perform a register renaming optimization pass"
+ msgstr "進行暫存器é‡æ–°å‘½å最佳化"
+
+-#: common.opt:836
++#: common.opt:839
+ msgid "Reorder basic blocks to improve code placement"
+ msgstr "基本å€å¡Šé‡æ–°æŽ’åºä»¥æ”¹å–„程å¼ç¢¼ç‰ˆé¢è¨­ç½®"
+
+-#: common.opt:840
++#: common.opt:843
+ msgid "Reorder basic blocks and partition into hot and cold sections"
+ msgstr ""
+
+-#: common.opt:844
++#: common.opt:847
+ msgid "Reorder functions to improve code placement"
+ msgstr "函å¼é‡æ–°æŽ’åºä»¥æ”¹å–„程å¼ç¢¼ç‰ˆé¢è¨­ç½®"
+
+-#: common.opt:848
++#: common.opt:851
+ msgid "Add a common subexpression elimination pass after loop optimizations"
+ msgstr "在循環最佳化çµæŸå¾Œå¢žåŠ ä¸€è¶Ÿå…¬å› å¼æ¶ˆåŽ»"
+
+-#: common.opt:856
++#: common.opt:859
+ msgid "Disable optimizations that assume default FP rounding behavior"
+ msgstr "åœç”¨å‡å®šé è¨­æµ®é»žæ¨å…¥è¡Œç‚ºçš„最佳化"
+
+-#: common.opt:860
++#: common.opt:863
+ msgid "Enable scheduling across basic blocks"
+ msgstr "啟用基本å€å¡Šé–“的調度"
+
+-#: common.opt:864
++#: common.opt:867
+ msgid "Allow speculative motion of non-loads"
+ msgstr "å…許éžè¼‰å…¥çš„é æ¸¬ç§»å‹•"
+
+-#: common.opt:868
++#: common.opt:871
+ msgid "Allow speculative motion of some loads"
+ msgstr "å…許一些載入的é æ¸¬ç§»å‹•"
+
+-#: common.opt:872
++#: common.opt:875
+ msgid "Allow speculative motion of more loads"
+ msgstr "å…許更多載入的é æ¸¬ç§»å‹•"
+
+-#: common.opt:876
++#: common.opt:879
+ msgid "Set the verbosity level of the scheduler"
+ msgstr "指定排程程å¼è¼¸å‡ºçš„冗餘程度"
+
+-#: common.opt:880
++#: common.opt:883
+ msgid "If scheduling post reload, do superblock scheduling"
+ msgstr ""
+
+-#: common.opt:884
++#: common.opt:887
+ msgid "If scheduling post reload, do trace scheduling"
+ msgstr ""
+
+-#: common.opt:888
++#: common.opt:891
+ msgid "Reschedule instructions before register allocation"
+ msgstr "指派暫存器å‰é‡æ–°èª¿åº¦æŒ‡ä»¤"
+
+-#: common.opt:892
++#: common.opt:895
+ msgid "Reschedule instructions after register allocation"
+ msgstr "指派暫存器後é‡æ–°èª¿åº¦æŒ‡ä»¤"
+
+-#: common.opt:898
++#: common.opt:901
+ msgid "Allow premature scheduling of queued insns"
+ msgstr ""
+
+-#: common.opt:902
++#: common.opt:905
+ msgid "Set number of queued insns that can be prematurely scheduled"
+ msgstr ""
+
+-#: common.opt:910 common.opt:914
++#: common.opt:913 common.opt:917
+ msgid "Set dependence distance checking in premature scheduling of queued insns"
+ msgstr ""
+
+-#: common.opt:918
++#: common.opt:921
+ msgid "Access data in the same section from shared anchor points"
+ msgstr ""
+
+-#: common.opt:922
++#: common.opt:925
+ #, fuzzy
+ msgid "Perform sequence abstraction optimization on RTL"
+ msgstr "進行強度削減最佳化"
+
+-#: common.opt:926
++#: common.opt:929
+ msgid "Eliminate redundant sign extensions using LCM."
+ msgstr ""
+
+-#: common.opt:930
++#: common.opt:933
+ msgid "Show column numbers in diagnostics, when available. Default off"
+ msgstr ""
+
+-#: common.opt:934
++#: common.opt:937
+ msgid "Disable optimizations observable by IEEE signaling NaNs"
+ msgstr "åœç”¨ç‚º IEEE è¨Šæ¯ NaN å¯è¦‹çš„最佳化"
+
+-#: common.opt:938
++#: common.opt:941
+ msgid "Disable floating point optimizations that ignore the IEEE signedness of zero"
+ msgstr ""
+
+-#: common.opt:942
++#: common.opt:945
+ msgid "Convert floating point constants to single precision constants"
+ msgstr "將浮點常數轉æ›ç‚ºå–®ç²¾åº¦å¸¸æ•¸"
+
+-#: common.opt:946
++#: common.opt:949
+ msgid "Split lifetimes of induction variables when loops are unrolled"
+ msgstr "展開循環時分離歸ç´è®Šæ•¸çš„生存期"
+
+-#: common.opt:950
++#: common.opt:953
+ msgid "Split wide types into independent registers"
+ msgstr ""
+
+-#: common.opt:954
++#: common.opt:957
+ msgid "Apply variable expansion when loops are unrolled"
+ msgstr "展開循環時也展開變數"
+
+-#: common.opt:960
++#: common.opt:963
+ msgid "Insert stack checking code into the program"
+ msgstr "在程å¼ä¸­æ’入檢查堆疊溢出的程å¼ç¢¼"
+
+-#: common.opt:967
++#: common.opt:970
+ msgid "Trap if the stack goes past <register>"
+ msgstr ""
+
+-#: common.opt:971
++#: common.opt:974
+ msgid "Trap if the stack goes past symbol <name>"
+ msgstr ""
+
+-#: common.opt:975
++#: common.opt:978
+ msgid "Use propolice as a stack protection method"
+ msgstr ""
+
+-#: common.opt:979
++#: common.opt:982
+ msgid "Use a stack protection method for every function"
+ msgstr ""
+
+-#: common.opt:991
++#: common.opt:994
+ msgid "Assume strict aliasing rules apply"
+ msgstr "å‡å®šå¥—用強é‡ç–Šè¦å‰‡"
+
+-#: common.opt:995
++#: common.opt:998
+ #, fuzzy
+ msgid "Treat signed overflow as undefined"
+ msgstr "將缺失的標頭檔案看作產生的檔案"
+
+-#: common.opt:999
++#: common.opt:1002
+ msgid "Check for syntax errors, then stop"
+ msgstr "檢查語法錯誤,然後åœæ­¢"
+
+-#: common.opt:1003
++#: common.opt:1006
+ msgid "Create data files needed by \"gcov\""
+ msgstr "產生「gcovã€éœ€è¦çš„資料檔案"
+
+-#: common.opt:1007
++#: common.opt:1010
+ msgid "Perform jump threading optimizations"
+ msgstr "進行跳轉執行緒最佳化"
+
+-#: common.opt:1011
++#: common.opt:1014
+ msgid "Report the time taken by each compiler pass"
+ msgstr "報告æ¯è¶Ÿçµ„譯的耗時"
+
+-#: common.opt:1015
++#: common.opt:1018
+ msgid "Set the default thread-local storage code generation model"
+ msgstr "設定é è¨­çš„執行緒局部存儲程å¼ç¢¼ç”¢ç”Ÿæ¨¡å¼"
+
+-#: common.opt:1019
++#: common.opt:1022
+ msgid "Reorder top level functions, variables, and asms"
+ msgstr ""
+
+-#: common.opt:1023
++#: common.opt:1026
+ msgid "Perform superblock formation via tail duplication"
+ msgstr ""
+
+-#: common.opt:1030
++#: common.opt:1033
+ msgid "Assume floating-point operations can trap"
+ msgstr "å‡å®šæµ®é»žé‹ç®—å¯èƒ½å¼•ç™¼é™·é˜±"
+
+-#: common.opt:1034
++#: common.opt:1037
+ msgid "Trap for signed overflow in addition, subtraction and multiplication"
+ msgstr ""
+
+-#: common.opt:1038
++#: common.opt:1041
+ msgid "Enable SSA-CCP optimization on trees"
+ msgstr "啟用樹上的 SSA-CCP 最佳化"
+
+-#: common.opt:1042
++#: common.opt:1045
+ msgid "Enable SSA-CCP optimization for stores and loads"
+ msgstr "啟用載入和存儲的 SSA-CCP 最佳化"
+
+-#: common.opt:1046
++#: common.opt:1049
+ msgid "Enable loop header copying on trees"
+ msgstr "啟用樹上的循環ä¸è®Šé‡è½‰ç§»"
+
+-#: common.opt:1050
++#: common.opt:1053
+ msgid "Replace SSA temporaries with better names in copies"
+ msgstr ""
+
+-#: common.opt:1054
++#: common.opt:1057
+ msgid "Enable copy propagation on trees"
+ msgstr "在樹層級進行複寫傳éž"
+
+-#: common.opt:1058
++#: common.opt:1065
+ #, fuzzy
+-msgid "This switch is obsolete"
+-msgstr "此開關缺少å¯ç”¨æ–‡ä»¶"
+-
+-#: common.opt:1062
+-#, fuzzy
+ msgid "Transform condition stores into unconditional ones"
+ msgstr "å°‡æ¢ä»¶è·³è½‰æ›¿æ›ç‚ºæ¢ä»¶åŸ·è¡Œ"
+
+-#: common.opt:1066
++#: common.opt:1069
+ msgid "Enable SSA dead code elimination optimization on trees"
+ msgstr "啟用樹上的 SSA 死程å¼ç¢¼æ¶ˆé™¤æœ€ä½³åŒ–"
+
+-#: common.opt:1070
++#: common.opt:1073
+ msgid "Enable dominator optimizations"
+ msgstr "啟用主導最佳化"
+
+-#: common.opt:1074
++#: common.opt:1077
+ msgid "Enable dead store elimination"
+ msgstr "刪除死存儲"
+
+-#: common.opt:1078
++#: common.opt:1081
+ msgid "Enable Full Redundancy Elimination (FRE) on trees"
+ msgstr "啟用樹上的完全冗餘消除(FRE)"
+
+-#: common.opt:1082
++#: common.opt:1085
+ msgid "Enable loop invariant motion on trees"
+ msgstr "啟用樹上的循環ä¸è®Šé‡è½‰ç§»"
+
+-#: common.opt:1086
++#: common.opt:1089
+ msgid "Enable linear loop transforms on trees"
+ msgstr "啟用樹上的線性循環變æ›"
+
+-#: common.opt:1090
++#: common.opt:1093
+ msgid "Create canonical induction variables in loops"
+ msgstr "在循環中產生正è¦çš„æ­¸ç´è®Šæ•¸"
+
+-#: common.opt:1094
++#: common.opt:1097
+ msgid "Enable loop optimizations on tree level"
+ msgstr "在樹層級進行循環最佳化"
+
+-#: common.opt:1098
++#: common.opt:1101
+ #, fuzzy
+ msgid "Enable automatic parallelization of loops"
+ msgstr "啟用範本自動實體化"
+
+-#: common.opt:1102
++#: common.opt:1105
+ msgid "Enable SSA-PRE optimization on trees"
+ msgstr "啟用樹上的 SSA-PRE 最佳化"
+
+-#: common.opt:1106
++#: common.opt:1109
+ #, fuzzy
+ msgid "Enable reassociation on tree level"
+ msgstr "在樹層級進行循環最佳化"
+
+-#: common.opt:1110
++#: common.opt:1113
+ msgid "Perform structural alias analysis"
+ msgstr ""
+
+-#: common.opt:1114
++#: common.opt:1117
+ msgid "Enable SSA code sinking on trees"
+ msgstr "啟用樹上的 SSA 程å¼ç¢¼ä¸‹æ²‰æœ€ä½³åŒ–"
+
+-#: common.opt:1118
++#: common.opt:1121
+ msgid "Perform scalar replacement of aggregates"
+ msgstr "為èšåˆé¡žåž‹é€²è¡Œæ¨™é‡æ›¿æ›"
+
+-#: common.opt:1122
++#: common.opt:1125
+ msgid "Replace temporary expressions in the SSA->normal pass"
+ msgstr ""
+
+-#: common.opt:1126
++#: common.opt:1129
+ msgid "Perform live range splitting during the SSA->normal pass"
+ msgstr ""
+
+-#: common.opt:1130
++#: common.opt:1133
+ msgid "Perform Value Range Propagation on trees"
+ msgstr "進行樹上的值欄ä½å‚³éž"
+
+-#: common.opt:1134
++#: common.opt:1137
+ msgid "Compile whole compilation unit at a time"
+ msgstr "一次編譯一整個編譯單元"
+
+-#: common.opt:1138
++#: common.opt:1141
+ msgid "Perform loop unrolling when iteration count is known"
+ msgstr "展開所有迭代次數已知的循環"
+
+-#: common.opt:1142
++#: common.opt:1145
+ msgid "Perform loop unrolling for all loops"
+ msgstr "展開所有循環"
+
+-#: common.opt:1149
++#: common.opt:1152
+ msgid "Allow loop optimizations to assume that the loops behave in normal way"
+ msgstr "å…許å‡å®šå¾ªç’°ä»¥ã€Œæ­£å¸¸ã€æ–¹å¼å‹•ä½œçš„循環最佳化"
+
+-#: common.opt:1153
++#: common.opt:1156
+ msgid "Allow optimization for floating-point arithmetic which may change the"
+ msgstr ""
+
+-#: common.opt:1158
++#: common.opt:1161
+ msgid "Same as -fassociative-math for expressions which include division."
+ msgstr ""
+
+-#: common.opt:1166
++#: common.opt:1169
+ msgid "Allow math optimizations that may violate IEEE or ISO standards"
+ msgstr "å…許å¯èƒ½é•å IEEE 或 ISO 標準的最佳化"
+
+-#: common.opt:1170
++#: common.opt:1173
+ msgid "Perform loop unswitching"
+ msgstr "外æ循環內的測試敘述"
+
+-#: common.opt:1174
++#: common.opt:1177
+ msgid "Just generate unwind tables for exception handling"
+ msgstr "僅為異常處ç†ç”¢ç”Ÿå †ç–Šå±•é–‹è¡¨"
+
+-#: common.opt:1178
++#: common.opt:1181
+ msgid "Perform variable tracking"
+ msgstr "進行變數追蹤"
+
+-#: common.opt:1182
++#: common.opt:1185
+ msgid "Perform variable tracking and also tag variables that are uninitialized"
+ msgstr ""
+
+-#: common.opt:1186
++#: common.opt:1189
+ msgid "Enable loop vectorization on trees"
+ msgstr "在樹上進行循環å‘é‡åŒ–"
+
+-#: common.opt:1190
++#: common.opt:1193
+ #, fuzzy
+ msgid "Enable use of cost model in vectorization"
+ msgstr "啟用 DB 指令"
+
+-#: common.opt:1194
++#: common.opt:1197
+ msgid "Enable loop versioning when doing loop vectorization on trees"
+ msgstr "在樹上進行循環å‘é‡åŒ–時啟用多版本循環"
+
+-#: common.opt:1198
++#: common.opt:1201
+ msgid "Set the verbosity level of the vectorizer"
+ msgstr "設定å‘é‡åŒ–器輸出的冗餘程度"
+
+-#: common.opt:1202
++#: common.opt:1205
+ #, fuzzy
+ msgid "Enable copy propagation of scalar-evolution information."
+ msgstr "為載入和存儲進行複寫傳éž"
+
+-#: common.opt:1212
++#: common.opt:1215
+ msgid "Add extra commentary to assembler output"
+ msgstr "為組譯輸出加入é¡å¤–註釋"
+
+-#: common.opt:1216
++#: common.opt:1219
+ msgid "Set the default symbol visibility"
+ msgstr "設定é è¨­çš„符號å¯è¦‹æ€§"
+
+-#: common.opt:1221
++#: common.opt:1224
+ msgid "Use expression value profiles in optimizations"
+ msgstr "在最佳化中使用é‹ç®—å¼å€¼æ¨£æœ¬æ供的資訊"
+
+-#: common.opt:1225
++#: common.opt:1228
+ msgid "Construct webs and split unrelated uses of single variable"
+ msgstr ""
+
+-#: common.opt:1229
++#: common.opt:1232
+ msgid "Perform whole program optimizations"
+ msgstr "進行全程å¼æœ€ä½³åŒ–"
+
+-#: common.opt:1233
++#: common.opt:1236
+ msgid "Assume signed arithmetic overflow wraps around"
+ msgstr "å‡å®šæœ‰è™Ÿé‹ç®—溢出時回繞"
+
+-#: common.opt:1237
++#: common.opt:1240
+ msgid "Put zero initialized data in the bss section"
+ msgstr "å°‡åˆå§‹åŒ–為零的資料存放在 bss å€æ®µä¸­"
+
+-#: common.opt:1241
++#: common.opt:1244
+ msgid "Generate debug information in default format"
+ msgstr "產生é è¨­æ ¼å¼çš„除錯資訊"
+
+-#: common.opt:1245
++#: common.opt:1248
+ msgid "Generate debug information in COFF format"
+ msgstr "產生 COFF æ ¼å¼çš„除錯資訊"
+
+-#: common.opt:1249
++#: common.opt:1252
+ msgid "Generate debug information in DWARF v2 format"
+ msgstr "產生 DWARF v2 æ ¼å¼çš„除錯資訊"
+
+-#: common.opt:1253
++#: common.opt:1256
+ msgid "Generate debug information in default extended format"
+ msgstr "產生é è¨­æ“´å……æ ¼å¼çš„除錯資訊"
+
+-#: common.opt:1257
++#: common.opt:1260
+ msgid "Generate debug information in STABS format"
+ msgstr "產生 STABS æ ¼å¼çš„除錯資訊"
+
+-#: common.opt:1261
++#: common.opt:1264
+ msgid "Generate debug information in extended STABS format"
+ msgstr "產生擴充 STABS æ ¼å¼çš„除錯資訊"
+
+-#: common.opt:1265
++#: common.opt:1268
+ msgid "Generate debug information in VMS format"
+ msgstr "產生 VMS æ ¼å¼çš„除錯資訊"
+
+-#: common.opt:1269
++#: common.opt:1272
+ msgid "Generate debug information in XCOFF format"
+ msgstr "產生 XCOFF æ ¼å¼çš„除錯資訊"
+
+-#: common.opt:1273
++#: common.opt:1276
+ msgid "Generate debug information in extended XCOFF format"
+ msgstr "產生 XCOFF æ“´å……æ ¼å¼çš„除錯資訊"
+
+-#: common.opt:1277
++#: common.opt:1280
+ msgid "Place output into <file>"
+ msgstr "將輸出寫入 <file>"
+
+-#: common.opt:1281
++#: common.opt:1284
+ msgid "Enable function profiling"
+ msgstr "啟用函å¼å–樣"
+
+-#: common.opt:1285
++#: common.opt:1288
+ msgid "Issue warnings needed for strict compliance to the standard"
+ msgstr "給出標準指定的所有警告資訊"
+
+-#: common.opt:1289
++#: common.opt:1292
+ msgid "Like -pedantic but issue them as errors"
+ msgstr "與 -pedantic 類似,但將它們視作錯誤"
+
+-#: common.opt:1293
++#: common.opt:1296
+ msgid "Do not display functions compiled or elapsed time"
+ msgstr "ä¸é¡¯ç¤ºç·¨è­¯çš„函å¼æˆ–é€åŽ»çš„時間"
+
+-#: common.opt:1297
++#: common.opt:1300
+ msgid "Display the compiler's version"
+ msgstr "顯示編譯器版本"
+
+-#: common.opt:1301
++#: common.opt:1304
+ msgid "Suppress warnings"
+ msgstr "ä¸é¡¯ç¤ºè­¦å‘Š"
+
+-#: common.opt:1305
++#: common.opt:1308
+ #, fuzzy
+ msgid "Create a shared library"
+ msgstr "啟用基於 ID 的共享函å¼åº«"
+
+-#: common.opt:1309
++#: common.opt:1312
+ #, fuzzy
+ msgid "Create a position independent executable"
+ msgstr "為å¯åŸ·è¡Œæª”案盡å¯èƒ½ç”¢ç”Ÿèˆ‡ä½ç½®ç„¡é—œçš„程å¼ç¢¼(大模å¼)"
+
++#: c.opt:41
++msgid "Assert the <answer> to <question>. Putting '-' before <question> disables the <answer> to <question>"
++msgstr "給出 <å•é¡Œ> çš„ <答案>。在 <å•é¡Œ> å‰åŠ ä¸€å€‹ã€Œ-ã€å°‡åœç”¨æ­¤ <答案>"
++
++#: c.opt:45
++msgid "Do not discard comments"
++msgstr "ä¸ä¸Ÿæ£„註釋"
++
++#: c.opt:49
++msgid "Do not discard comments in macro expansions"
++msgstr "展開巨集時ä¸ä¸Ÿæ£„註釋"
++
++#: c.opt:53
++msgid "Define a <macro> with <val> as its value. If just <macro> is given, <val> is taken to be 1"
++msgstr "å°‡ <巨集> 定義為 <值>。如果åªçµ¦å‡ºäº† <巨集>,<值> 將被定為 1"
++
++#: c.opt:60
++msgid "Add <dir> to the end of the main framework include path"
++msgstr "å°‡ <目錄> 加入到主框架包å«è·¯å¾‘的末尾"
++
++#: c.opt:64
++msgid "Print the name of header files as they are used"
++msgstr "列å°ä½¿ç”¨åˆ°çš„標頭檔案å"
++
++#: c.opt:68 c.opt:863
++msgid "Add <dir> to the end of the main include path"
++msgstr "å°‡ <目錄> 加入到主包å«è·¯å¾‘末尾"
++
++#: c.opt:72
++msgid "Generate make dependencies"
++msgstr "產生 make ä¾è³´é …"
++
++#: c.opt:76
++msgid "Generate make dependencies and compile"
++msgstr "產生 make ä¾è³´è¦å‰‡ä¸¦ç·¨è­¯"
++
++#: c.opt:80
++msgid "Write dependency output to the given file"
++msgstr "å°‡ä¾è³´é …輸出到給定檔案"
++
++#: c.opt:84
++msgid "Treat missing header files as generated files"
++msgstr "將缺失的標頭檔案看作產生的檔案"
++
++#: c.opt:88
++msgid "Like -M but ignore system header files"
++msgstr "與 -M 類似但是忽略系統標頭檔案"
++
++#: c.opt:92
++msgid "Like -MD but ignore system header files"
++msgstr "與 -MD 類似但是忽略系統標頭檔案"
++
++#: c.opt:96
++msgid "Generate phony targets for all headers"
++msgstr "為所有標頭產生å‡çš„目的"
++
++#: c.opt:100
++msgid "Add a MAKE-quoted target"
++msgstr "加入一個 MAKE 括起的目的"
++
++#: c.opt:104
++msgid "Add an unquoted target"
++msgstr "加入一個ä¸æ‹¬èµ·çš„目的"
++
++#: c.opt:108
++msgid "Do not generate #line directives"
++msgstr "ä¸ç”¢ç”Ÿ #line 指令"
++
++#: c.opt:112
++msgid "Undefine <macro>"
++msgstr "å–消定義 <巨集>"
++
++#: c.opt:116
++msgid "Warn about things that will change when compiling with an ABI-compliant compiler"
++msgstr "當çµæžœèˆ‡ ABI 相容的編譯器的編譯çµæžœä¸åŒæ™‚給出警告"
++
++#: c.opt:120
++#, fuzzy
++msgid "Warn about suspicious uses of memory addresses"
++msgstr "å°å¯ç–‘的「mainã€å®£å‘Šçµ¦å‡ºè­¦å‘Š"
++
++#: c.opt:124
++msgid "Enable most warning messages"
++msgstr "啟用大部分警告資訊"
++
++#: c.opt:128
++#, fuzzy
++msgid "Warn if a comparison is always true or always false due to the limited range of the data type"
++msgstr "由於資料類型範åœé™åˆ¶ï¼Œæ¯”較çµæžœæ°¸é ç‚ºå‡"
++
++#: c.opt:132
++msgid "Warn whenever an Objective-C assignment is being intercepted by the garbage collector"
++msgstr "當 Objective-C 賦值å¯èƒ½ç‚ºç„¡ç”¨å›žæ”¶æ‰€ä»‹å…¥æ™‚給出警告"
++
++#: c.opt:136
++msgid "Warn about casting functions to incompatible types"
++msgstr "當把函å¼è½‰æ›ç‚ºä¸ç›¸å®¹é¡žåž‹æ™‚給出警告"
++
++#: c.opt:140
++msgid "Warn about C constructs that are not in the common subset of C and C++"
++msgstr "當在 C 語言中使用了 C 與 C++ 交集以外的建構時給出警告"
++
++#: c.opt:144
++#, fuzzy
++msgid "Warn about C++ constructs whose meaning differs between ISO C++ 1998 and ISO C++ 200x"
++msgstr "當在 C 語言中使用了 C 與 C++ 交集以外的建構時給出警告"
++
++#: c.opt:148
++msgid "Warn about casts which discard qualifiers"
++msgstr "當類型轉æ›ä¸Ÿå¤±é™å®šè³‡è¨Šæ™‚給出警告"
++
++#: c.opt:152
++msgid "Warn about subscripts whose type is \"char\""
++msgstr "當下標類型為「charã€æ™‚給出警告"
++
++#: c.opt:156
++#, fuzzy
++msgid "Warn about variables that might be changed by \"longjmp\" or \"vfork\""
++msgstr "變數 %q+D 能為 %<longjmp%> 或 %<vfork%> 所篡改"
++
++#: c.opt:160
++msgid "Warn about possibly nested block comments, and C++ comments spanning more than one physical line"
++msgstr "å°å¯èƒ½å·¢ç‹€çš„註釋和長度超éŽä¸€å€‹ç‰©ç†åˆ—é•·çš„ C++ 註釋給出警告"
++
++#: c.opt:164
++msgid "Synonym for -Wcomment"
++msgstr "-Wcomment çš„åŒç¾©è©ž"
++
++#: c.opt:168
++msgid "Warn for implicit type conversions that may change a value"
++msgstr ""
++
++#: c.opt:172
++#, fuzzy
++msgid "Warn for implicit type conversions between signed and unsigned integers"
++msgstr "在有號和無號整數é‹ç®—å¼é–“比較"
++
++#: c.opt:176
++msgid "Warn when all constructors and destructors are private"
++msgstr "當所有建構å¼å’Œè§£æ§‹å‡½å¼éƒ½æ˜¯ç§æœ‰æ™‚給出警告"
++
++#: c.opt:180
++msgid "Warn when a declaration is found after a statement"
++msgstr "當宣告出ç¾åœ¨æ•˜è¿°å¾Œæ™‚給出警告"
++
++#: c.opt:184
++msgid "Warn about deprecated compiler features"
++msgstr "å°éŽæ™‚的編譯器特性給出警告"
++
++#: c.opt:188
++msgid "Warn about compile-time integer division by zero"
++msgstr "å°ç·¨è­¯æ™‚發ç¾çš„零除給出警告"
++
++#: c.opt:192
++msgid "Warn about violations of Effective C++ style rules"
++msgstr "å°ä¸éµå¾ª Effetive C++ 的風格給出警告"
++
++#: c.opt:196
++#, fuzzy
++msgid "Warn about an empty body in an if or else statement"
++msgstr "%Helse 敘述體為空"
++
++#: c.opt:200
++msgid "Warn about stray tokens after #elif and #endif"
++msgstr "當 #elif å’Œ #endif 後é¢è·Ÿæœ‰å…¶å®ƒè­˜åˆ¥ç¢¼æ™‚給出警告"
++
++#: c.opt:208
++#, fuzzy
++msgid "This switch is deprecated; use -Werror=implicit-function-declaration instead"
++msgstr "此開關已éŽæ™‚;請改用 -Wextra"
++
++#: c.opt:212
++msgid "Warn if testing floating point numbers for equality"
++msgstr "當比較浮點數是å¦ç›¸ç­‰æ™‚給出警告"
++
++#: c.opt:216
++msgid "Warn about printf/scanf/strftime/strfmon format string anomalies"
++msgstr "å° printf/scanf/strftime/strfmon 中的格å¼å­—串異常給出警告"
++
++#: c.opt:220
++msgid "Warn if passing too many arguments to a function for its format string"
++msgstr "當傳éžçµ¦æ ¼å¼å­—串的引數太多時給出警告"
++
++#: c.opt:224
++msgid "Warn about format strings that are not literals"
++msgstr "當格å¼å­—串ä¸æ˜¯å­—é¢å€¼æ™‚給出警告"
++
++#: c.opt:228
++#, fuzzy
++msgid "Warn about format strings that contain NUL bytes"
++msgstr "當格å¼å­—串ä¸æ˜¯å­—é¢å€¼æ™‚給出警告"
++
++#: c.opt:232
++msgid "Warn about possible security problems with format functions"
++msgstr "當使用格å¼å­—串的函å¼å¯èƒ½å°Žè‡´å®‰å…¨å•é¡Œæ™‚給出警告"
++
++#: c.opt:236
++msgid "Warn about strftime formats yielding 2-digit years"
++msgstr "當 strftime æ ¼å¼çµ¦å‡º 2 ä½è¨˜å¹´æ™‚給出警告"
++
++#: c.opt:240
++msgid "Warn about zero-length formats"
++msgstr "å°é•·åº¦ç‚º 0 çš„æ ¼å¼å­—串給出警告"
++
++#: c.opt:247
++msgid "Warn whenever type qualifiers are ignored."
++msgstr ""
++
++#: c.opt:251
++msgid "Warn about variables which are initialized to themselves"
++msgstr "å°åˆå§‹åŒ–為自身的變數給出警告。"
++
++#: c.opt:258
++msgid "Warn about implicit function declarations"
++msgstr "å°éš±å«å‡½å¼å®£å‘Šçµ¦å‡ºè­¦å‘Š"
++
++#: c.opt:262
++msgid "Warn when a declaration does not specify a type"
++msgstr "當宣告未指定類型時給出警告"
++
++#: c.opt:266
++msgid "Deprecated. This switch has no effect"
++msgstr "å·²éŽæ™‚。此開關ä¸èµ·ä½œç”¨ã€‚"
++
++#: c.opt:270
++msgid "Warn when there is a cast to a pointer from an integer of a different size"
++msgstr "當將一個大å°ä¸åŒçš„整數轉æ›ç‚ºæŒ‡æ¨™æ™‚給出警告"
++
++#: c.opt:274
++msgid "Warn about invalid uses of the \"offsetof\" macro"
++msgstr "å°ã€Œoffsetofã€å·¨é›†ç„¡æ•ˆçš„使用給出警告"
++
++#: c.opt:278
++msgid "Warn about PCH files that are found but not used"
++msgstr "在找到了 PCH 檔案但未使用的情æ³çµ¦å‡ºè­¦å‘Š"
++
++#: c.opt:282
++msgid "Do not warn about using \"long long\" when -pedantic"
++msgstr "當使用 -pedantic 時ä¸æ­£ç¢ºã€Œlong longã€çµ¦å‡ºè­¦å‘Š"
++
++#: c.opt:286
++msgid "Warn about suspicious declarations of \"main\""
++msgstr "å°å¯ç–‘的「mainã€å®£å‘Šçµ¦å‡ºè­¦å‘Š"
++
++#: c.opt:290
++msgid "Warn about possibly missing braces around initializers"
++msgstr "è‹¥åˆå§‹å€¼è¨­å®šé …中å¯èƒ½ç¼ºå°‘大括號則給出警告"
++
++#: c.opt:294
++msgid "Warn about global functions without previous declarations"
++msgstr "當全域函å¼æ²’有å‰å‘宣告時給出警告"
++
++#: c.opt:298
++msgid "Warn about missing fields in struct initializers"
++msgstr "è‹¥çµæ§‹åˆå§‹å€¼è¨­å®šé …中缺少欄ä½å‰‡çµ¦å‡ºè­¦å‘Š"
++
++#: c.opt:302
++msgid "Warn about functions which might be candidates for format attributes"
++msgstr "當函å¼å¯èƒ½æ˜¯ format 屬性的備é¸æ™‚給出警告"
++
++#: c.opt:306
++msgid "Warn about user-specified include directories that do not exist"
++msgstr "當使用者給定的包å«ç›®éŒ„ä¸å­˜åœ¨æ™‚給出警告"
++
++#: c.opt:310
++msgid "Warn about function parameters declared without a type specifier in K&R-style functions"
++msgstr ""
++
++#: c.opt:314
++msgid "Warn about global functions without prototypes"
++msgstr "全域函å¼æ²’有原型時給出警告"
++
++#: c.opt:318
++msgid "Warn about use of multi-character character constants"
++msgstr "使用多ä½å…ƒçµ„字元集的字元常數時給出警告"
++
++#: c.opt:322
++msgid "Warn about \"extern\" declarations not at file scope"
++msgstr "當「externã€å®£å‘Šä¸åœ¨æª”案作用欄ä½æ™‚給出警告"
++
++#: c.opt:326
++msgid "Warn when non-templatized friend functions are declared within a template"
++msgstr "在範本內宣告未範本化的夥伴函å¼æ™‚給出警告"
++
++#: c.opt:330
++msgid "Warn about non-virtual destructors"
++msgstr "當解構函å¼ä¸æ˜¯è™›å‡½å¼æ™‚給出警告"
++
++#: c.opt:334
++msgid "Warn about NULL being passed to argument slots marked as requiring non-NULL"
++msgstr "當將 NULL 傳éžçµ¦éœ€è¦éž NULL çš„åƒæ•¸çš„函å¼æ™‚給出警告"
++
++#: c.opt:338
++msgid "Warn about non-normalised Unicode strings"
++msgstr "為未歸一化的 Unicode 字串給出警告"
++
++#: c.opt:342
++msgid "Warn if a C-style cast is used in a program"
++msgstr "程å¼ä½¿ç”¨ C 風格的類型轉æ›æ™‚給出警告"
++
++#: c.opt:346
++#, fuzzy
++msgid "Warn for obsolescent usage in a declaration"
++msgstr "å°éš±å«å‡½å¼å®£å‘Šçµ¦å‡ºè­¦å‘Š"
++
++#: c.opt:350
++msgid "Warn if an old-style parameter definition is used"
++msgstr "使用舊å¼åƒæ•¸å®šç¾©æ™‚給出警告"
++
++#: c.opt:354
++msgid "Warn if a string is longer than the maximum portable length specified by the standard"
++msgstr ""
++
++#: c.opt:358
++msgid "Warn about overloaded virtual function names"
++msgstr "多載虛函å¼å時給出警告"
++
++#: c.opt:362
++#, fuzzy
++msgid "Warn about overriding initializers without side effects"
++msgstr "å°åˆå§‹åŒ–為自身的變數給出警告。"
++
++#: c.opt:366
++msgid "Warn about possibly missing parentheses"
++msgstr "å¯èƒ½ç¼ºå°‘括號的情æ³ä¸‹çµ¦å‡ºè­¦å‘Š"
++
++#: c.opt:370
++msgid "Warn when converting the type of pointers to member functions"
++msgstr "當變更æˆå“¡å‡½å¼æŒ‡æ¨™çš„類型時給出警告"
++
++#: c.opt:374
++msgid "Warn about function pointer arithmetic"
++msgstr "當在算術é‹ç®—å¼ä¸­ä½¿ç”¨å‡½å¼æŒ‡æ¨™æ™‚給出警告"
++
++#: c.opt:378
++msgid "Warn when a pointer is cast to an integer of a different size"
++msgstr "當將一個指標轉æ›ç‚ºå¤§å°ä¸åŒçš„整數時給出警告"
++
++#: c.opt:382
++msgid "Warn about misuses of pragmas"
++msgstr "å°éŒ¯èª¤ä½¿ç”¨çš„ pragma 加以警告"
++
++#: c.opt:386
++msgid "Warn if inherited methods are unimplemented"
++msgstr "當繼承來的方法未被實作時給出警告"
++
++#: c.opt:390
++msgid "Warn about multiple declarations of the same object"
++msgstr "å°åŒä¸€å€‹ç‰©ä»¶å¤šæ¬¡å®£å‘Šæ™‚給出警告"
++
++#: c.opt:394
++msgid "Warn when the compiler reorders code"
++msgstr "編譯器將程å¼ç¢¼é‡æ–°æŽ’åºæ™‚給出警告"
++
++#: c.opt:398
++msgid "Warn whenever a function's return type defaults to \"int\" (C), or about inconsistent return types (C++)"
++msgstr "當 C 函å¼çš„回傳值é è¨­ç‚ºã€Œintã€ï¼Œæˆ–是 C++ 函å¼çš„回傳類型ä¸ä¸€è‡´æ™‚給出警告"
++
++#: c.opt:402
++msgid "Warn if a selector has multiple methods"
++msgstr "當é¸æ“‡å­æœ‰å¤šå€‹æ–¹æ³•æ™‚給出警告"
++
++#: c.opt:406
++msgid "Warn about possible violations of sequence point rules"
++msgstr "當å¯èƒ½é•å定åºé»žè¦å‰‡æ™‚給出警告"
++
++#: c.opt:410
++msgid "Warn about signed-unsigned comparisons"
++msgstr "在有號和無號數間進行比較時給出警告"
++
++#: c.opt:414
++msgid "Warn when overload promotes from unsigned to signed"
++msgstr "當多載將無號數æå‡ç‚ºæœ‰è™Ÿæ•¸æ™‚給出警告"
++
++#: c.opt:418
++msgid "Warn about uncasted NULL used as sentinel"
++msgstr "將未作轉æ›çš„ NULL åšç‚ºå“¨å…µæ™‚給出警告"
++
++#: c.opt:422
++msgid "Warn about unprototyped function declarations"
++msgstr "使用了éžåŽŸåž‹çš„函å¼å®£å‘Šæ™‚給出莥警告"
++
++#: c.opt:426
++msgid "Warn if type signatures of candidate methods do not match exactly"
++msgstr "當備é¸æ–¹æ³•çš„類型簽字ä¸å®Œå…¨åŒ¹é…時給出警告"
++
++#: c.opt:430
++msgid "Warn when synthesis behavior differs from Cfront"
++msgstr "當綜åˆè¡Œç‚ºä¸åŒæ–¼ Cfront 時給出警告"
++
++#: c.opt:438
++msgid "Warn about features not present in traditional C"
++msgstr "使用了傳統 C ä¸æ”¯æ´çš„特性時給出警告"
++
++#: c.opt:442
++msgid "Warn of prototypes causing type conversions different from what would happen in the absence of prototype"
++msgstr ""
++
++#: c.opt:446
++msgid "Warn if trigraphs are encountered that might affect the meaning of the program"
++msgstr "當三字æ¯åºåˆ—å¯èƒ½å½±éŸ¿ç¨‹å¼æ„義時給出警告"
++
++#: c.opt:450
++msgid "Warn about @selector()s without previously declared methods"
++msgstr "當使用 @selector() å»ä¸ä½œäº‹å…ˆå®£å‘Šæ™‚給出警告"
++
++#: c.opt:454
++msgid "Warn if an undefined macro is used in an #if directive"
++msgstr "當 #if 指令中用到未定義的巨集時給出警告"
++
++#: c.opt:458
++msgid "Warn about unrecognized pragmas"
++msgstr "å°ç„¡æ³•è¾¨è­˜çš„ pragma 加以警告"
++
++#: c.opt:462
++msgid "Warn about macros defined in the main file that are not used"
++msgstr "當定義在主檔案中的巨集未被使用時給出警告"
++
++#: c.opt:466
++msgid "Do not warn about using variadic macros when -pedantic"
++msgstr "指定 -pedantic 時ä¸ç‚ºå¯è®Šåƒæ•¸å·¨é›†çµ¦å‡ºè­¦å‘Š"
++
++#: c.opt:470
++#, fuzzy
++msgid "Warn if a variable length array is used"
++msgstr "有未使用的變數時警告"
++
++#: c.opt:474
++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.opt:478
++msgid "Warn when a pointer differs in signedness in an assignment"
++msgstr "當賦值時指標有/無號ä¸ä¸€è‡´æ™‚給出警告"
++
++#: c.opt:482
++msgid "A synonym for -std=c89 (for C) or -std=c++98 (for C++)"
++msgstr "-std=c89 (å° C 來說) 或 -std=c++98 (å° C++ 來說)çš„åŒç¾©è©ž"
++
++#: c.opt:490
++msgid "Enforce class member access control semantics"
++msgstr "執行類別æˆå“¡å­˜å–控制語義"
++
++#: c.opt:497
++msgid "Change when template instances are emitted"
++msgstr "使用ä¸åŒçš„範本實體化實作"
++
++#: c.opt:501
++msgid "Recognize the \"asm\" keyword"
++msgstr "識別「asmã€é—œéµå­—"
++
++#: c.opt:505
++msgid "Recognize built-in functions"
++msgstr "識別內建函å¼"
++
++#: c.opt:512
++msgid "Check the return value of new"
++msgstr "檢查 new 的回傳值"
++
++#: c.opt:516
++msgid "Allow the arguments of the '?' operator to have different types"
++msgstr "å…許「?ã€é‹ç®—å­çš„åƒæ•¸æœ‰ä¸åŒçš„é¡žåž‹"
++
++#: c.opt:520
++msgid "Reduce the size of object files"
++msgstr "減å°ç›®çš„檔案"
++
++#: c.opt:524
++msgid "Use class <name> for constant strings"
++msgstr "使用 <å> åšç‚ºå¸¸æ•¸å­—串類別的å稱"
++
++#: c.opt:528
++msgid "Inline member functions by default"
++msgstr "é è¨­å…§è¯æˆå“¡å‡½å¼"
++
++#: c.opt:532
++#, fuzzy
++msgid "Preprocess directives only."
++msgstr "è™•ç† #ident 指令"
++
++#: c.opt:536
++msgid "Permit '$' as an identifier character"
++msgstr "å…許「$ã€åšç‚ºè­˜åˆ¥ç¢¼çš„一部分"
++
++#: c.opt:543
++msgid "Generate code to check exception specifications"
++msgstr "產生檢查異一般範的程å¼ç¢¼"
++
++#: c.opt:550
++msgid "Convert all strings and character constants to character set <cset>"
++msgstr "將所有字串和字元常數轉æ›åˆ° <字元集>"
++
++#: c.opt:554
++msgid "Permit universal character names (\\u and \\U) in identifiers"
++msgstr "å…è¨±è­˜åˆ¥ç¢¼ä¸­å‡ºç¾ Unicode å­—å…ƒå(\\u å’Œ \\U)"
++
++#: c.opt:558
++msgid "Specify the default character set for source files"
++msgstr "指定來æºç¨‹å¼ç¢¼çš„é è¨­å­—元集"
++
++#: c.opt:566
++msgid "Scope of for-init-statement variables is local to the loop"
++msgstr "for 循環åˆå§‹åŒ–中定義的變數作用欄ä½å±€é™æ–¼å¾ªç’°å…§"
++
++#: c.opt:570
++msgid "Do not assume that standard C libraries and \"main\" exist"
++msgstr "ä¸å‡å®šæ¨™æº– C 函å¼åº«å’Œã€Œmainã€å­˜åœ¨"
++
++#: c.opt:574
++msgid "Recognize GNU-defined keywords"
++msgstr "識別 GNU 定義的關éµå­—"
++
++#: c.opt:578
++msgid "Generate code for GNU runtime environment"
++msgstr "為 GNU 執行時環境產生程å¼ç¢¼"
++
++#: c.opt:582
++#, fuzzy
++msgid "Use traditional GNU semantics for inline functions"
++msgstr "傳統 C ä¸æŽ¥å—å°è¯åˆçš„åˆå§‹åŒ–"
++
++#: c.opt:595
++msgid "Assume normal C execution environment"
++msgstr "å‡å®šä¸€èˆ¬çš„ C 執行環境"
++
++#: c.opt:599
++msgid "Enable support for huge objects"
++msgstr "啟用å°å·¨åž‹ç‰©ä»¶çš„支æ´"
++
++#: c.opt:603
++msgid "Export functions even if they can be inlined"
++msgstr "導出被內è¯çš„函å¼"
++
++#: c.opt:607
++msgid "Emit implicit instantiations of inline templates"
++msgstr "å…許內è¯ç¯„本隱å«å¯¦é«”化"
++
++#: c.opt:611
++msgid "Emit implicit instantiations of templates"
++msgstr "å…許範本隱å«å¯¦é«”化"
++
++#: c.opt:615
++msgid "Inject friend functions into enclosing namespace"
++msgstr "將夥伴函å¼å®£å‘Šè¦–作包å«å®ƒçš„命å空間中的有效宣告"
++
++#: c.opt:622
++msgid "Allow implicit conversions between vectors with differing numbers of subparts and/or differing element types."
++msgstr ""
++
++#: c.opt:626
++msgid "Don't warn about uses of Microsoft extensions"
++msgstr "使用微軟擴充時ä¸çµ¦å‡ºè­¦å‘Š"
++
++#: c.opt:636
++msgid "Generate code for NeXT (Apple Mac OS X) runtime environment"
++msgstr "為 NeXT (蘋果 Mac OS X) 執行時環境產生程å¼ç¢¼"
++
++#: c.opt:640
++msgid "Assume that receivers of Objective-C messages may be nil"
++msgstr "å‡å®š Objective-C 訊æ¯çš„接å—者å¯èƒ½æ˜¯ nil"
++
++#: c.opt:652
++msgid "Generate special Objective-C methods to initialize/destroy non-POD C++ ivars, if needed"
++msgstr "如果需è¦ï¼Œç”¢ç”Ÿç‰¹æ®Šçš„ Objective-C 方法來åˆå§‹åŒ–/解構éžç°¡å–®èˆŠè³‡æ–™ C++ 變數"
++
++#: c.opt:656
++msgid "Allow fast jumps to the message dispatcher"
++msgstr "å…許快速跳轉至訊æ¯åˆ†ç™¼è€…"
++
++#: c.opt:662
++msgid "Enable Objective-C exception and synchronization syntax"
++msgstr "啟用 Objective-C 異常和åŒæ­¥èªžæ³•"
++
++#: c.opt:666
++msgid "Enable garbage collection (GC) in Objective-C/Objective-C++ programs"
++msgstr "在 Objective-C/Objective-C++ 程å¼ä¸­å•Ÿç”¨ç„¡ç”¨æ”¶é›†"
++
++#: c.opt:671
++msgid "Enable Objective-C setjmp exception handling runtime"
++msgstr "啟用 Objective-C setjmp 異常處ç†åŸ·è¡Œæ™‚"
++
++#: c.opt:675
++#, fuzzy
++msgid "Enable OpenMP"
++msgstr "啟用除錯"
++
++#: c.opt:679
++msgid "Recognize C++ kewords like \"compl\" and \"xor\""
++msgstr "識別「complã€ã€ã€Œxorã€ç­‰ C++ é—œéµè©ž"
++
++#: c.opt:683
++msgid "Enable optional diagnostics"
++msgstr "å•Ÿå‹•å¯é¸çš„診斷資訊"
++
++#: c.opt:690
++msgid "Look for and use PCH files even when preprocessing"
++msgstr "å³ä½¿åœ¨é å…ˆè™•ç†æ™‚也æœå°‹ä¸¦ä½¿ç”¨ PCH 檔案"
++
++#: c.opt:694
++msgid "Downgrade conformance errors to warnings"
++msgstr "將相容性錯誤é™æ ¼ç‚ºè­¦å‘Š"
++
++#: c.opt:698
++msgid "Treat the input file as already preprocessed"
++msgstr "將輸入檔案當作已經é å…ˆè™•ç†éŽçš„"
++
++#: c.opt:702
++msgid "Used in Fix-and-Continue mode to indicate that object files may be swapped in at runtime"
++msgstr "指定物件檔案å¯èƒ½åœ¨åŸ·è¡Œæ™‚被æ›å…¥ä»¥å…許「修復並繼續ã€é™¤éŒ¯æ¨¡å¼"
++
++#: c.opt:706
++msgid "Enable automatic template instantiation"
++msgstr "啟用範本自動實體化"
++
++#: c.opt:710
++msgid "Generate run time type descriptor information"
++msgstr "產生執行時類型æ述資訊"
++
++#: c.opt:714
++msgid "Use the same size for double as for float"
++msgstr "令 double 使用 float 的大å°"
++
++#: c.opt:722
++msgid "Force the underlying type for \"wchar_t\" to be \"unsigned short\""
++msgstr "強制指定「wchar_tã€çš„內在類型為「unsigned shortã€"
++
++#: c.opt:726
++msgid "When \"signed\" or \"unsigned\" is not given make the bitfield signed"
++msgstr "沒有給定「signedã€æˆ–「unsignedã€æ™‚å°‡ä½å…ƒæ®µè¦–作有號的"
++
++#: c.opt:730
++msgid "Make \"char\" signed by default"
++msgstr "使「charã€é¡žåž‹é è¨­ç‚ºæœ‰è™Ÿ"
++
++#: c.opt:737
++msgid "Display statistics accumulated during compilation"
++msgstr "顯示編譯程åºä¸­ç´¯è¨ˆçš„統計數字"
++
++#: c.opt:744
++msgid "Distance between tab stops for column reporting"
++msgstr "指定報告列號時制表ä½é–“çš„è·é›¢"
++
++#: c.opt:748
++msgid "Specify maximum template instantiation depth"
++msgstr "指定範本實體化的最大深度"
++
++#: c.opt:755
++msgid "Do not generate thread-safe code for initializing local statics"
++msgstr "ä¸ç‚ºå±€éƒ¨éœæ…‹è®Šæ•¸ç”¢ç”ŸåŸ·è¡Œç·’安全的åˆå§‹åŒ–程å¼ç¢¼"
++
++#: c.opt:759
++msgid "When \"signed\" or \"unsigned\" is not given make the bitfield unsigned"
++msgstr "未指定「signedã€æˆ–「unsignedã€æ™‚é è¨­ä½å…ƒæ®µç‚ºç„¡è™Ÿçš„"
++
++#: c.opt:763
++msgid "Make \"char\" unsigned by default"
++msgstr "使「charã€é¡žåž‹é è¨­ç‚ºç„¡è™Ÿ"
++
++#: c.opt:767
++msgid "Use __cxa_atexit to register destructors"
++msgstr "å°‡ __cxa_atexit è€Œéž atexit 登記為解構函å¼"
++
++#: c.opt:771
++msgid "Use __cxa_get_exception_ptr in exception handling"
++msgstr ""
++
++#: c.opt:775
++msgid "Marks all inlined methods as having hidden visibility"
++msgstr "將所有內è¯å‡½å¼æ¨™è¨˜ç‚ºå…·æœ‰éš±è—çš„å¯è¦‹æ€§"
++
++#: c.opt:779
++msgid "Changes visibility to match Microsoft Visual Studio by default"
++msgstr ""
++
++#: c.opt:783
++msgid "Discard unused virtual functions"
++msgstr "拋棄未使用的虛函å¼"
++
++#: c.opt:787
++msgid "Implement vtables using thunks"
++msgstr "使用 thunk 技術實作 vtable"
++
++#: c.opt:791
++msgid "Emit common-like symbols as weak symbols"
++msgstr "將公共符號視作弱符號"
++
++#: c.opt:795
++msgid "Convert all wide strings and character constants to character set <cset>"
++msgstr ""
++
++#: c.opt:799
++msgid "Generate a #line directive pointing at the current working directory"
++msgstr ""
++
++#: c.opt:803
++msgid "Emit cross referencing information"
++msgstr "產生交å‰åƒç…§è³‡è¨Š"
++
++#: c.opt:807
++msgid "Generate lazy class lookup (via objc_getClass()) for use in Zero-Link mode"
++msgstr ""
++
++#: c.opt:811
++msgid "Dump declarations to a .decl file"
++msgstr "將宣告傾å°åˆ°ä¸€å€‹ .decl 檔案中"
++
++#: c.opt:815
++msgid "Aggressive reduced debug info for structs"
++msgstr ""
++
++#: c.opt:819
++msgid "Conservative reduced debug info for structs"
++msgstr ""
++
++#: c.opt:823
++msgid "Detailed reduced debug info for structs"
++msgstr ""
++
++#: c.opt:827 c.opt:859
++msgid "Add <dir> to the end of the system include path"
++msgstr "å°‡ <目錄> 加入到系統包å«è·¯å¾‘末尾"
++
++#: c.opt:831
++msgid "Accept definition of macros in <file>"
++msgstr "æŽ¥å— <檔案> 中定義的巨集"
++
++#: c.opt:835
++msgid "-imultilib <dir> Set <dir> to be the multilib include subdirectory"
++msgstr ""
++
++#: c.opt:839
++msgid "Include the contents of <file> before other files"
++msgstr "在包å«å…¶ä»–檔案之å‰å…ˆåŒ…å« <檔案> 的內容"
++
++#: c.opt:843
++msgid "Specify <path> as a prefix for next two options"
++msgstr "å°‡ <路徑> 指定為下兩個é¸é …的字首"
++
++#: c.opt:847
++msgid "Set <dir> to be the system root directory"
++msgstr "將 <目錄> 設為系統根目錄"
++
++#: c.opt:851
++msgid "Add <dir> to the start of the system include path"
++msgstr "å°‡ <目錄> 加入到系統包å«è·¯å¾‘é–‹é ­"
++
++#: c.opt:855
++msgid "Add <dir> to the end of the quote include path"
++msgstr "å°‡ <目錄> 加入到引號包å«è·¯å¾‘末尾"
++
++#: c.opt:876
++msgid "Do not search standard system include directories (those specified with -isystem will still be used)"
++msgstr "ä¸æœå°‹æ¨™æº–系統標頭檔案目錄(但ä»å°‡ä½¿ç”¨ç”± -isystem 指定的目錄)"
++
++#: c.opt:880
++msgid "Do not search standard system include directories for C++"
++msgstr "ä¸æœå°‹ C++ 標準系統標頭檔案目錄"
++
++#: c.opt:896
++msgid "Generate C header of platform-specific features"
++msgstr "產生有平å°ç›¸é—œç‰¹æ€§çš„ C 標頭檔案"
++
++#: c.opt:900
++msgid "Print a checksum of the executable for PCH validity checking, and stop"
++msgstr ""
++
++#: c.opt:904
++msgid "Remap file names when including files"
++msgstr ""
++
++#: c.opt:908
++msgid "Conform to the ISO 1998 C++ standard"
++msgstr "éµå¾ª ISO 1998 C++ 標準"
++
++#: c.opt:912
++#, fuzzy
++msgid "Conform to the ISO 1998 C++ standard, with extensions that are likely to"
++msgstr "éµå¾ª ISO 1998 C++ æ¨™æº–ï¼Œä¹Ÿæ”¯æ´ GNU æ“´å……"
++
++#: c.opt:919 c.opt:954
++msgid "Conform to the ISO 1990 C standard"
++msgstr "éµå¾ª ISO 1990 C 標準"
++
++#: c.opt:923 c.opt:962
++msgid "Conform to the ISO 1999 C standard"
++msgstr "éµå¾ª ISO 1999 C 標準"
++
++#: c.opt:927
++msgid "Deprecated in favor of -std=c99"
++msgstr "å·²éŽæ™‚,請使用 -std=c99"
++
++#: c.opt:931
++msgid "Conform to the ISO 1998 C++ standard with GNU extensions"
++msgstr "éµå¾ª ISO 1998 C++ æ¨™æº–ï¼Œä¹Ÿæ”¯æ´ GNU æ“´å……"
++
++#: c.opt:935
++#, fuzzy
++msgid "Conform to the ISO 1998 C++ standard, with GNU extensions and"
++msgstr "éµå¾ª ISO 1998 C++ æ¨™æº–ï¼Œä¹Ÿæ”¯æ´ GNU æ“´å……"
++
++#: c.opt:942
++msgid "Conform to the ISO 1990 C standard with GNU extensions"
++msgstr "éµå¾ª ISO 1990 C æ¨™æº–ï¼Œä¹Ÿæ”¯æ´ GNU æ“´å……"
++
++#: c.opt:946
++msgid "Conform to the ISO 1999 C standard with GNU extensions"
++msgstr "éµå¾ª ISO 1999 C æ¨™æº–ï¼Œä¹Ÿæ”¯æ´ GNU æ“´å……"
++
++#: c.opt:950
++msgid "Deprecated in favor of -std=gnu99"
++msgstr "å·²éŽæ™‚,請使用 -std=gnu99"
++
++#: c.opt:958
++msgid "Conform to the ISO 1990 C standard as amended in 1994"
++msgstr "éµå¾ª ISO 1990 C 標準於 1994 年修訂的版本"
++
++#: c.opt:966
++msgid "Deprecated in favor of -std=iso9899:1999"
++msgstr "å·²éŽæ™‚,為 -std=iso9899:1999 所å–代"
++
++#: c.opt:970
++msgid "Enable traditional preprocessing"
++msgstr "啟用傳統é å…ˆè™•ç†"
++
++#: c.opt:974
++msgid "Support ISO C trigraphs"
++msgstr "æ”¯æ´ ISO C 三元符"
++
++#: c.opt:978
++msgid "Do not predefine system-specific and GCC-specific macros"
++msgstr "ä¸é å®šç¾©ç³»çµ±æˆ– GCC 特定的巨集"
++
++#: c.opt:982
++msgid "Enable verbose output"
++msgstr "啟用詳細輸出"
++
++#: ada/lang.opt:96
++msgid "Specify options to GNAT"
++msgstr "指定傳éžçµ¦ GNAT çš„é¸é …"
++
+ #: attribs.c:244
+ #, gcc-internal-format
+ msgid "%qs attribute directive ignored"
+@@ -16678,47 +16648,47 @@
+ msgid "offset outside bounds of constant string"
+ msgstr "å移é‡è¶…éŽå­—串常數界"
+
+-#: builtins.c:1001
++#: builtins.c:1015
+ #, gcc-internal-format
+ msgid "second argument to %<__builtin_prefetch%> must be a constant"
+ msgstr "%<__builtin_prefetch%> 的第二個引數必須是一個常數"
+
+-#: builtins.c:1008
++#: builtins.c:1022
+ #, gcc-internal-format
+ msgid "invalid second argument to %<__builtin_prefetch%>; using zero"
+ msgstr "%<__builtin_prefetch%> 的第二個引數無效;使用 0"
+
+-#: builtins.c:1016
++#: builtins.c:1030
+ #, gcc-internal-format
+ msgid "third argument to %<__builtin_prefetch%> must be a constant"
+ msgstr "%<__builtin_prefetch%> 的第三個引數必須是一個常數"
+
+-#: builtins.c:1023
++#: builtins.c:1037
+ #, gcc-internal-format
+ msgid "invalid third argument to %<__builtin_prefetch%>; using zero"
+ msgstr "%<__builtin_prefetch%> 的第三個引數無效;使用 0"
+
+-#: builtins.c:4592
++#: builtins.c:4608
+ #, gcc-internal-format
+ msgid "argument of %<__builtin_args_info%> must be constant"
+ msgstr "%<__builtin_args_info%> 的引數必須是常數"
+
+-#: builtins.c:4598
++#: builtins.c:4614
+ #, gcc-internal-format
+ msgid "argument of %<__builtin_args_info%> out of range"
+ msgstr "%<__builtin_args_info%> 引數ä¸åœ¨å…許範åœå…§"
+
+-#: builtins.c:4604
++#: builtins.c:4620
+ #, gcc-internal-format
+ msgid "missing argument in %<__builtin_args_info%>"
+ msgstr "%<__builtin_args_info%> 缺少引數"
+
+-#: builtins.c:4693 gimplify.c:2117
++#: builtins.c:4709 gimplify.c:2118
+ #, gcc-internal-format
+ msgid "too few arguments to function %<va_start%>"
+ msgstr "çµ¦å‡½å¼ %<va_start%> çš„åƒæ•¸å¤ªå°‘"
+
+-#: builtins.c:4857
++#: builtins.c:4872
+ #, gcc-internal-format
+ msgid "first argument to %<va_arg%> not of type %<va_list%>"
+ msgstr "給 %<va_arg%> 的第一個åƒæ•¸çš„é¡žåž‹ä¸æ˜¯ %<va_list%>"
+@@ -16726,95 +16696,105 @@
+ #. Unfortunately, this is merely undefined, rather than a constraint
+ #. violation, so we cannot make this an error. If this call is never
+ #. executed, the program is still strictly conforming.
+-#: builtins.c:4871
++#: builtins.c:4886
+ #, gcc-internal-format
+ msgid "%qT is promoted to %qT when passed through %<...%>"
+ msgstr "é€éŽ %<...%> 傳éžæ™‚ %qT 被æå‡ç‚º %qT"
+
+-#: builtins.c:4876
++#: builtins.c:4891
+ #, gcc-internal-format
+ msgid "(so you should pass %qT not %qT to %<va_arg%>)"
+ msgstr "(å› æ­¤æ‚¨æ‡‰è©²å‘ %<va_arg%> å‚³éž %qT 而ä¸æ˜¯ %qT)"
+
+ #. We can, however, treat "undefined" any way we please.
+ #. Call abort to encourage the user to fix the program.
+-#: builtins.c:4882 c-typeck.c:2408
++#: builtins.c:4897 c-typeck.c:2419
+ #, gcc-internal-format
+ msgid "if this code is reached, the program will abort"
+ msgstr "如果執行到這段程å¼ç¢¼ï¼Œç¨‹å¼å°‡ä¸­æ­¢"
+
+-#: builtins.c:5000
++#: builtins.c:5015
+ #, gcc-internal-format
+ msgid "invalid argument to %<__builtin_frame_address%>"
+ msgstr "%<__builtin_frame_address%> 的引數無效"
+
+-#: builtins.c:5002
++#: builtins.c:5017
+ #, gcc-internal-format
+ msgid "invalid argument to %<__builtin_return_address%>"
+ msgstr "%<__builtin_return_address%> 的引數無效"
+
+-#: builtins.c:5015
++#: builtins.c:5030
+ #, gcc-internal-format
+ msgid "unsupported argument to %<__builtin_frame_address%>"
+ msgstr "%<__builtin_frame_address%> 的引數ä¸å—支æ´"
+
+-#: builtins.c:5017
++#: builtins.c:5032
+ #, gcc-internal-format
+ msgid "unsupported argument to %<__builtin_return_address%>"
+ msgstr "%<__builtin_return_address%> 的引數ä¸å—支æ´"
+
+-#: builtins.c:5564
++#: builtins.c:5579
+ #, fuzzy, gcc-internal-format
+ msgid "both arguments to %<__builtin___clear_cache%> must be pointers"
+ msgstr "%<__builtin_prefetch%> 的第三個引數必須是一個常數"
+
+ #. All valid uses of __builtin_va_arg_pack () are removed during
+ #. inlining.
+-#: builtins.c:6276 expr.c:8024
++#: builtins.c:6291 expr.c:8023
+ #, fuzzy
+ msgid "%Kinvalid use of %<__builtin_va_arg_pack ()%>"
+ msgstr "%<__builtin_frame_address%> 的引數無效"
+
+ #. All valid uses of __builtin_va_arg_pack_len () are removed during
+ #. inlining.
+-#: builtins.c:6282
++#: builtins.c:6297
+ #, fuzzy
+ msgid "%Kinvalid use of %<__builtin_va_arg_pack_len ()%>"
+ msgstr "%<__builtin_frame_address%> 的引數無效"
+
+-#: builtins.c:6578
++#: builtins.c:6593
+ #, gcc-internal-format
+ msgid "%<__builtin_longjmp%> second argument must be 1"
+ msgstr "%<__builtin_longjmp%> 的第二個引數必須是 1"
+
+-#: builtins.c:7209
++#: builtins.c:7224
+ #, gcc-internal-format
+ msgid "target format does not support infinity"
+ msgstr "目的格å¼ä¸æ”¯æ´ç„¡é™å¤§æµ®é»žæ•¸"
+
+-#: builtins.c:9623 builtins.c:9712
++#: builtins.c:9638 builtins.c:9727 builtins.c:10082
+ #, gcc-internal-format
+ msgid "non-floating-point argument to function %qs"
+ msgstr "çµ¦äºˆå‡½å¼ %qs çš„åƒæ•¸ä¸æ˜¯æµ®é»žæ•¸"
+
+-#: builtins.c:11303
++#: builtins.c:10446 builtins.c:10466
+ #, gcc-internal-format
++msgid "too few arguments to function %qs"
++msgstr "çµ¦äºˆå‡½å¼ %qs çš„åƒæ•¸å¤ªå°‘"
++
++#: builtins.c:10452 builtins.c:10472
++#, gcc-internal-format
++msgid "too many arguments to function %qs"
++msgstr "çµ¦äºˆå‡½å¼ %qs çš„åƒæ•¸å¤ªå¤š"
++
++#: builtins.c:11377
++#, gcc-internal-format
+ msgid "%<va_start%> used in function with fixed args"
+ msgstr "在定åƒæ•¸çš„函å¼ä¸­ä½¿ç”¨äº† %<va_start%>"
+
+-#: builtins.c:11311
++#: builtins.c:11385
+ #, fuzzy, gcc-internal-format
+ msgid "wrong number of arguments to function %<va_start%>"
+ msgstr "çµ¦å‡½å¼ %<va_start%> çš„åƒæ•¸å¤ªå°‘"
+
+ #. Evidently an out of date version of <stdarg.h>; can't validate
+ #. va_start's second argument, but can still work as intended.
+-#: builtins.c:11324
++#: builtins.c:11398
+ #, gcc-internal-format
+ msgid "%<__builtin_next_arg%> called without an argument"
+ msgstr "å‘¼å« %<__builtin_next_arg%> 時沒有給定引數"
+
+-#: builtins.c:11329
++#: builtins.c:11403
+ #, fuzzy, gcc-internal-format
+ msgid "wrong number of arguments to function %<__builtin_next_arg%>"
+ msgstr "çµ¦å‡½å¼ %<va_start%> çš„åƒæ•¸å¤ªå°‘"
+@@ -16824,27 +16804,27 @@
+ #. argument. We just warn and set the arg to be the last
+ #. argument so that we will get wrong-code because of
+ #. it.
+-#: builtins.c:11358
++#: builtins.c:11432
+ #, gcc-internal-format
+ msgid "second parameter of %<va_start%> not last named argument"
+ msgstr "%<va_start%> 的第二個åƒæ•¸ä¸æ˜¯æœ€å¾Œä¸€å€‹å…·ååƒæ•¸"
+
+-#: builtins.c:11472
++#: builtins.c:11546
+ #, fuzzy
+ msgid "%Kfirst argument of %D must be a pointer, second integer constant"
+ msgstr "%H%D 的第一個引數必須是一個指標,第二個必須是整常數"
+
+-#: builtins.c:11485
++#: builtins.c:11559
+ #, fuzzy
+ msgid "%Klast argument of %D is not integer constant between 0 and 3"
+ msgstr "%H%D 的最後一個引數ä¸æ˜¯ä¸€å€‹ 0 到 3 之間的整常數"
+
+-#: builtins.c:11529 builtins.c:11693 builtins.c:11752
++#: builtins.c:11603 builtins.c:11767 builtins.c:11826
+ #, fuzzy
+ msgid "%Kcall to %D will always overflow destination buffer"
+ msgstr "%Hå° %D 的呼å«ç¸½æ˜¯å°Žè‡´ç›®çš„ç·©è¡å€æº¢å‡º"
+
+-#: builtins.c:11683
++#: builtins.c:11757
+ #, fuzzy
+ msgid "%Kcall to %D might overflow destination buffer"
+ msgstr "%Hå° %D 的呼å«ç¸½æ˜¯å°Žè‡´ç›®çš„ç·©è¡å€æº¢å‡º"
+@@ -16968,440 +16948,440 @@
+ msgid "conversion to %qT alters %qT constant value"
+ msgstr "從 %qT 到 %qT 的轉æ›æœ‰æ­§ç¾©"
+
+-#: c-common.c:1296
++#: c-common.c:1299
+ #, fuzzy, gcc-internal-format
+ msgid "conversion to %qT from %qT may change the sign of the result"
+ msgstr "å°‡ %qE 從 %qT 轉æ›åˆ° %qT 有歧義"
+
+-#: c-common.c:1325
++#: c-common.c:1328
+ #, fuzzy, gcc-internal-format
+ msgid "conversion to %qT from %qT may alter its value"
+ msgstr "å°‡ %qE 從 %qT 轉æ›åˆ° %qT 有歧義"
+
+-#: c-common.c:1353
++#: c-common.c:1356
+ #, gcc-internal-format
+ msgid "large integer implicitly truncated to unsigned type"
+ msgstr "大整數隱å«æˆªæ–·ç‚ºç„¡è™Ÿé¡žåž‹"
+
+-#: c-common.c:1359 c-common.c:1366 c-common.c:1374
++#: c-common.c:1362 c-common.c:1369 c-common.c:1377
+ #, gcc-internal-format
+ msgid "overflow in implicit constant conversion"
+ msgstr "éš±å«å¸¸æ•¸è½‰æ›æº¢å‡º"
+
+-#: c-common.c:1528
++#: c-common.c:1531
+ #, gcc-internal-format
+ msgid "operation on %qE may be undefined"
+ msgstr "%qE 上的é‹ç®—çµæžœå¯èƒ½æ˜¯æœªå®šç¾©çš„"
+
+-#: c-common.c:1821
++#: c-common.c:1824
+ #, gcc-internal-format
+ msgid "case label does not reduce to an integer constant"
+ msgstr "case 標籤ä¸èƒ½é‚„原為一個整常數"
+
+-#: c-common.c:1861
++#: c-common.c:1864
+ #, gcc-internal-format
+ msgid "case label value is less than minimum value for type"
+ msgstr "case 標籤值比該類型的最å°å€¼é‚„è¦å°"
+
+-#: c-common.c:1869
++#: c-common.c:1872
+ #, gcc-internal-format
+ msgid "case label value exceeds maximum value for type"
+ msgstr "case 標籤值比該類型的最大值還è¦å¤§"
+
+-#: c-common.c:1877
++#: c-common.c:1880
+ #, gcc-internal-format
+ msgid "lower value in case label range less than minimum value for type"
+ msgstr "case 標籤範åœçš„下é™å€¼æ¯”該類型的最å°å€¼é‚„è¦å°"
+
+-#: c-common.c:1886
++#: c-common.c:1889
+ #, gcc-internal-format
+ msgid "upper value in case label range exceeds maximum value for type"
+ msgstr "case 標籤範åœçš„上é™å€¼æ¯”該類型的最大值還è¦å¤§"
+
+-#: c-common.c:1960
++#: c-common.c:1963
+ #, gcc-internal-format
+ msgid "GCC cannot support operators with integer types and fixed-point types that have too many integral and fractional bits together"
+ msgstr ""
+
+-#: c-common.c:2450
++#: c-common.c:2453
+ #, fuzzy, gcc-internal-format
+ msgid "invalid operands to binary %s (have %qT and %qT)"
+ msgstr "二進ä½é‹ç®—å­ %s é‹ç®—元無效"
+
+-#: c-common.c:2686
++#: c-common.c:2689
+ #, gcc-internal-format
+ msgid "comparison is always false due to limited range of data type"
+ msgstr "由於資料類型範åœé™åˆ¶ï¼Œæ¯”較çµæžœæ°¸é ç‚ºå‡"
+
+-#: c-common.c:2688
++#: c-common.c:2691
+ #, gcc-internal-format
+ msgid "comparison is always true due to limited range of data type"
+ msgstr "由於資料類型範åœé™åˆ¶ï¼Œæ¯”較çµæžœæ°¸é ç‚ºçœŸ"
+
+-#: c-common.c:2767
++#: c-common.c:2770
+ #, gcc-internal-format
+ msgid "comparison of unsigned expression >= 0 is always true"
+ msgstr "無號é‹ç®—å¼æ°¸é å¤§æ–¼æˆ–等於 0"
+
+-#: c-common.c:2777
++#: c-common.c:2780
+ #, gcc-internal-format
+ msgid "comparison of unsigned expression < 0 is always false"
+ msgstr "無號é‹ç®—å¼æ°¸é ä¸å°æ–¼ 0"
+
+-#: c-common.c:2818
++#: c-common.c:2821
+ #, gcc-internal-format
+ msgid "pointer of type %<void *%> used in arithmetic"
+ msgstr "%<void *%> 型指標用在了算術é‹ç®—å¼ä¸­"
+
+-#: c-common.c:2824
++#: c-common.c:2827
+ #, gcc-internal-format
+ msgid "pointer to a function used in arithmetic"
+ msgstr "在算術é‹ç®—å¼ä¸­ä½¿ç”¨äº†å‡½å¼æŒ‡æ¨™"
+
+-#: c-common.c:2830
++#: c-common.c:2833
+ #, gcc-internal-format
+ msgid "pointer to member function used in arithmetic"
+ msgstr "在算術é‹ç®—å¼ä¸­ä½¿ç”¨äº†æˆå“¡æŒ‡æ¨™"
+
+-#: c-common.c:2982
++#: c-common.c:2985
+ #, fuzzy, gcc-internal-format
+ msgid "the address of %qD will always evaluate as %<true%>"
+ msgstr "%qD çš„ä½å€ç¸½æ˜¯ç­‰åƒ¹ç‚º %<true%>"
+
+-#: c-common.c:3051 cp/semantics.c:596 cp/typeck.c:6411
++#: c-common.c:3054 cp/semantics.c:597 cp/typeck.c:6438
+ #, gcc-internal-format
+ msgid "suggest parentheses around assignment used as truth value"
+ msgstr "建議在åšç‚ºçœŸå€¼çš„賦值敘述å‰å¾ŒåŠ ä¸Šæ‹¬è™Ÿ"
+
+-#: c-common.c:3123 c-typeck.c:8958
++#: c-common.c:3126 c-typeck.c:8969
+ #, gcc-internal-format
+ msgid "invalid use of %<restrict%>"
+ msgstr "錯誤地使用了 %<restrict%>"
+
+-#: c-common.c:3339
++#: c-common.c:3346
+ #, gcc-internal-format
+ msgid "invalid application of %<sizeof%> to a function type"
+ msgstr "%<sizeof%> ä¸èƒ½ç”¨æ–¼å‡½å¼é¡žåž‹"
+
+-#: c-common.c:3349
++#: c-common.c:3356
+ #, gcc-internal-format
+ msgid "invalid application of %qs to a void type"
+ msgstr "%qs ä¸èƒ½ç”¨æ–¼ void é¡žåž‹"
+
+-#: c-common.c:3355
++#: c-common.c:3362
+ #, gcc-internal-format
+ msgid "invalid application of %qs to incomplete type %qT "
+ msgstr "%qs ä¸èƒ½ç”¨æ–¼ä¸å®Œå…¨çš„é¡žåž‹ %qT"
+
+-#: c-common.c:3396
++#: c-common.c:3403
+ #, gcc-internal-format
+ msgid "%<__alignof%> applied to a bit-field"
+ msgstr "å°‡ %<__alignof%> 用於ä½å…ƒæ®µ"
+
+-#: c-common.c:3969
++#: c-common.c:3976
+ #, gcc-internal-format
+ msgid "cannot disable built-in function %qs"
+ msgstr "無法åœç”¨å…§å»ºå‡½å¼ %qs"
+
+-#: c-common.c:4172
++#: c-common.c:4179
+ #, gcc-internal-format
+ msgid "pointers are not permitted as case values"
+ msgstr "指標ä¸èƒ½åšç‚º case 常數"
+
+-#: c-common.c:4178
++#: c-common.c:4185
+ #, gcc-internal-format
+ msgid "range expressions in switch statements are non-standard"
+ msgstr "在 switch 敘述中使用範åœé‹ç®—å¼ä¸ç¬¦åˆæ¨™æº–"
+
+-#: c-common.c:4204
++#: c-common.c:4211
+ #, gcc-internal-format
+ msgid "empty range specified"
+ msgstr "指定範åœç‚ºç©º"
+
+-#: c-common.c:4264
++#: c-common.c:4271
+ #, gcc-internal-format
+ msgid "duplicate (or overlapping) case value"
+ msgstr "é‡è¤‡ (或é‡ç–Š) çš„ case 值"
+
+-#: c-common.c:4265
++#: c-common.c:4272
+ #, gcc-internal-format
+ msgid "%Jthis is the first entry overlapping that value"
+ msgstr "%J這是é‡ç–Šæ­¤å€¼çš„第一個æ¢ç›®"
+
+-#: c-common.c:4269
++#: c-common.c:4276
+ #, gcc-internal-format
+ msgid "duplicate case value"
+ msgstr "é‡è¤‡çš„ case 常數"
+
+-#: c-common.c:4270
++#: c-common.c:4277
+ #, gcc-internal-format
+ msgid "%Jpreviously used here"
+ msgstr "%J已經在這裡使用éŽ"
+
+-#: c-common.c:4274
++#: c-common.c:4281
+ #, gcc-internal-format
+ msgid "multiple default labels in one switch"
+ msgstr "單一 switch 敘述中出ç¾äº†å¤šå€‹ default 標籤"
+
+-#: c-common.c:4275
++#: c-common.c:4282
+ #, gcc-internal-format
+ msgid "%Jthis is the first default label"
+ msgstr "%J這是第一個é è¨­æ¨™ç±¤"
+
+-#: c-common.c:4324
++#: c-common.c:4331
+ #, gcc-internal-format
+ msgid "%Jcase value %qs not in enumerated type"
+ msgstr "%Jcase 值 %qs ä¸åœ¨åˆ—舉類型內"
+
+-#: c-common.c:4327
++#: c-common.c:4334
+ #, gcc-internal-format
+ msgid "%Jcase value %qs not in enumerated type %qT"
+ msgstr "%Jcase 值 %qs ä¸åœ¨åˆ—舉類型 %qT å…§"
+
+-#: c-common.c:4385
++#: c-common.c:4392
+ #, gcc-internal-format
+ msgid "%Hswitch missing default case"
+ msgstr "%Hswitch 沒有é è¨­ case"
+
+-#: c-common.c:4448
++#: c-common.c:4455
+ #, gcc-internal-format
+ msgid "%Henumeration value %qE not handled in switch"
+ msgstr "%Hswitch 沒有處ç†åˆ—舉值 %qE"
+
+-#: c-common.c:4472
++#: c-common.c:4479
+ #, gcc-internal-format
+ msgid "taking the address of a label is non-standard"
+ msgstr "å–標籤的ä½å€ä¸ç¬¦åˆæ¨™æº–"
+
+-#: c-common.c:4622
++#: c-common.c:4629
+ #, gcc-internal-format
+ msgid "%qE attribute ignored for field of type %qT"
+ msgstr "%qE 屬性為 %qT 型態的欄ä½æ‰€å¿½ç•¥"
+
+-#: c-common.c:4633 c-common.c:4652 c-common.c:4670 c-common.c:4697
+-#: c-common.c:4724 c-common.c:4750 c-common.c:4769 c-common.c:4793
+-#: c-common.c:4816 c-common.c:4839 c-common.c:4860 c-common.c:4881
+-#: c-common.c:4905 c-common.c:4931 c-common.c:4968 c-common.c:4995
+-#: c-common.c:5046 c-common.c:5130 c-common.c:5160 c-common.c:5179
+-#: c-common.c:5499 c-common.c:5559 c-common.c:5580 c-common.c:5644
+-#: c-common.c:5762 c-common.c:5828 c-common.c:5877 c-common.c:5923
+-#: c-common.c:5993 c-common.c:6017 c-common.c:6301 c-common.c:6324
++#: c-common.c:4640 c-common.c:4659 c-common.c:4677 c-common.c:4704
++#: c-common.c:4731 c-common.c:4757 c-common.c:4776 c-common.c:4800
++#: c-common.c:4823 c-common.c:4846 c-common.c:4867 c-common.c:4888
++#: c-common.c:4912 c-common.c:4938 c-common.c:4975 c-common.c:5002
++#: c-common.c:5045 c-common.c:5129 c-common.c:5159 c-common.c:5178
++#: c-common.c:5498 c-common.c:5558 c-common.c:5579 c-common.c:5643
++#: c-common.c:5761 c-common.c:5827 c-common.c:5876 c-common.c:5922
++#: c-common.c:5992 c-common.c:6016 c-common.c:6301 c-common.c:6324
+ #: c-common.c:6363
+ #, gcc-internal-format
+ msgid "%qE attribute ignored"
+ msgstr "%qE 屬性被忽略"
+
+-#: c-common.c:4715 c-common.c:4741
++#: c-common.c:4722 c-common.c:4748
+ #, fuzzy, gcc-internal-format
+ msgid "%qE attribute conflicts with attribute %s"
+ msgstr "%s 屬性與 %s 屬性在 %L 處è¡çª"
+
+-#: c-common.c:4962
++#: c-common.c:4969
+ #, gcc-internal-format
+ msgid "%qE attribute have effect only on public objects"
+ msgstr "%qE 屬性åªèƒ½å¥—用到公共物件上"
+
+-#: c-common.c:5067
++#: c-common.c:5066
+ #, fuzzy, gcc-internal-format
+ msgid "destructor priorities are not supported"
+ msgstr "ä¸æ”¯æ´è¹¦åºŠ"
+
+-#: c-common.c:5069
++#: c-common.c:5068
+ #, fuzzy, gcc-internal-format
+ msgid "constructor priorities are not supported"
+ msgstr "ä¸æ”¯æ´è¹¦åºŠ"
+
+-#: c-common.c:5086
++#: c-common.c:5085
+ #, gcc-internal-format
+ msgid "destructor priorities from 0 to %d are reserved for the implementation"
+ msgstr ""
+
+-#: c-common.c:5091
++#: c-common.c:5090
+ #, gcc-internal-format
+ msgid "constructor priorities from 0 to %d are reserved for the implementation"
+ msgstr ""
+
+-#: c-common.c:5099
++#: c-common.c:5098
+ #, gcc-internal-format
+ msgid "destructor priorities must be integers from 0 to %d inclusive"
+ msgstr ""
+
+-#: c-common.c:5102
++#: c-common.c:5101
+ #, gcc-internal-format
+ msgid "constructor priorities must be integers from 0 to %d inclusive"
+ msgstr ""
+
+-#: c-common.c:5221
++#: c-common.c:5220
+ #, gcc-internal-format
+ msgid "unknown machine mode %qs"
+ msgstr "ä¸æ˜Žçš„æ©Ÿå™¨æ¨¡å¼ %qs"
+
+-#: c-common.c:5250
++#: c-common.c:5249
+ #, gcc-internal-format
+ msgid "specifying vector types with __attribute__ ((mode)) is deprecated"
+ msgstr "指定å‘é‡é¡žåž‹æ™‚使用 __attribute__ ((mode)) å·²éŽæ™‚"
+
+-#: c-common.c:5253
++#: c-common.c:5252
+ #, gcc-internal-format
+ msgid "use __attribute__ ((vector_size)) instead"
+ msgstr "改用 __attribute__ ((vector_size))"
+
+-#: c-common.c:5262
++#: c-common.c:5261
+ #, gcc-internal-format
+ msgid "unable to emulate %qs"
+ msgstr "無法列舉 %qs"
+
+-#: c-common.c:5272
++#: c-common.c:5271
+ #, gcc-internal-format
+ msgid "invalid pointer mode %qs"
+ msgstr "ç„¡æ•ˆçš„æŒ‡æ¨™æ¨¡å¼ %qs"
+
+-#: c-common.c:5289
++#: c-common.c:5288
+ #, gcc-internal-format
+ msgid "signness of type and machine mode %qs don't match"
+ msgstr ""
+
+-#: c-common.c:5300
++#: c-common.c:5299
+ #, gcc-internal-format
+ msgid "no data type for mode %qs"
+ msgstr "沒有模å¼ç‚º %qs 的資料類型"
+
+-#: c-common.c:5310
++#: c-common.c:5309
+ #, gcc-internal-format
+ msgid "cannot use mode %qs for enumeral types"
+ msgstr "ç„¡æ³•ç‚ºåˆ—èˆ‰é¡žåž‹ä½¿ç”¨æ¨¡å¼ %qs"
+
+-#: c-common.c:5337
++#: c-common.c:5336
+ #, gcc-internal-format
+ msgid "mode %qs applied to inappropriate type"
+ msgstr "å°ä¸åˆé©çš„é¡žåž‹å¥—ç”¨æ¨¡å¼ %qs"
+
+-#: c-common.c:5368
++#: c-common.c:5367
+ #, gcc-internal-format
+ msgid "%Jsection attribute cannot be specified for local variables"
+ msgstr "%Jä¸èƒ½ç‚ºå±€éƒ¨è®Šæ•¸æŒ‡å®š section 屬性"
+
+-#: c-common.c:5379 config/bfin/bfin.c:4879 config/bfin/bfin.c:4930
++#: c-common.c:5378 config/bfin/bfin.c:4982 config/bfin/bfin.c:5033
+ #, gcc-internal-format
+ msgid "section of %q+D conflicts with previous declaration"
+ msgstr "%q+D çš„å€æ®µèˆ‡æ—©å…ˆçš„宣告è¡çª"
+
+-#: c-common.c:5388
++#: c-common.c:5387
+ #, gcc-internal-format
+ msgid "section attribute not allowed for %q+D"
+ msgstr "%q+D ä¸èƒ½æœ‰ section 屬性"
+
+-#: c-common.c:5394
++#: c-common.c:5393
+ #, gcc-internal-format
+ msgid "%Jsection attributes are not supported for this target"
+ msgstr "%Jsection 屬性在此目標平臺上ä¸å—支æ´"
+
+-#: c-common.c:5426
++#: c-common.c:5425
+ #, gcc-internal-format
+ msgid "requested alignment is not a constant"
+ msgstr "è¦æ±‚çš„å°é½Šé‚Šç•Œä¸æ˜¯å¸¸æ•¸"
+
+-#: c-common.c:5431
++#: c-common.c:5430
+ #, gcc-internal-format
+ msgid "requested alignment is not a power of 2"
+ msgstr "è¦æ±‚çš„å°é½Šé‚Šç•Œä¸æ˜¯ 2 çš„æŸæ¬¡æ–¹"
+
+-#: c-common.c:5436
++#: c-common.c:5435
+ #, gcc-internal-format
+ msgid "requested alignment is too large"
+ msgstr "è¦æ±‚çš„å°é½Šé‚Šç•Œå¤ªå¤§"
+
+-#: c-common.c:5462
++#: c-common.c:5461
+ #, gcc-internal-format
+ msgid "alignment may not be specified for %q+D"
+ msgstr "ä¸èƒ½ç‚º %q+D 指定å°é½Š"
+
+-#: c-common.c:5469
++#: c-common.c:5468
+ #, gcc-internal-format
+ msgid "alignment for %q+D was previously specified as %d and may not be decreased"
+ msgstr ""
+
+-#: c-common.c:5473
++#: c-common.c:5472
+ #, fuzzy, gcc-internal-format
+ msgid "alignment for %q+D must be at least %d"
+ msgstr "「%sã€çš„引數在 %L 處必須是一個指標"
+
+-#: c-common.c:5522
++#: c-common.c:5521
+ #, gcc-internal-format
+ msgid "%q+D defined both normally and as an alias"
+ msgstr "%q+D 既有正常定義åˆæœ‰åˆ¥å定義"
+
+-#: c-common.c:5538
++#: c-common.c:5537
+ #, gcc-internal-format
+ msgid "alias argument not a string"
+ msgstr "alias çš„åƒæ•¸ä¸æ˜¯ä¸€å€‹å­—串"
+
+-#: c-common.c:5601
++#: c-common.c:5600
+ #, gcc-internal-format
+ msgid "%Jweakref attribute must appear before alias attribute"
+ msgstr "%Jweakref 屬性必須出ç¾åœ¨ alias 屬性å‰"
+
+-#: c-common.c:5631
++#: c-common.c:5630
+ #, gcc-internal-format
+ msgid "%qE attribute ignored on non-class types"
+ msgstr "%qE 屬性在ä¸æ˜¯é¡žåˆ¥çš„類型上被忽略"
+
+-#: c-common.c:5637
++#: c-common.c:5636
+ #, fuzzy, gcc-internal-format
+ msgid "%qE attribute ignored because %qT is already defined"
+ msgstr "%qE 屬性在ä¸æ˜¯é¡žåˆ¥çš„類型上被忽略"
+
+-#: c-common.c:5650
++#: c-common.c:5649
+ #, gcc-internal-format
+ msgid "visibility argument not a string"
+ msgstr "visibility 的引數ä¸æ˜¯ä¸€å€‹å­—串"
+
+-#: c-common.c:5662
++#: c-common.c:5661
+ #, gcc-internal-format
+ msgid "%qE attribute ignored on types"
+ msgstr "%qE 屬性在類型上被忽略"
+
+-#: c-common.c:5678
++#: c-common.c:5677
+ #, gcc-internal-format
+ msgid "visibility argument must be one of \"default\", \"hidden\", \"protected\" or \"internal\""
+ msgstr "visibility 的引數必須是「defaultã€ã€ã€Œhiddenã€ã€ã€Œprotectedã€æˆ–「internalã€å…¶ä¸­ä¹‹ä¸€"
+
+-#: c-common.c:5689
++#: c-common.c:5688
+ #, fuzzy, gcc-internal-format
+ msgid "%qD redeclared with different visibility"
+ msgstr "%qD é‡å®£å‘Šæ™‚有ä¸åŒçš„å¯å­˜å–性"
+
+-#: c-common.c:5692 c-common.c:5696
++#: c-common.c:5691 c-common.c:5695
+ #, gcc-internal-format
+ msgid "%qD was declared %qs which implies default visibility"
+ msgstr ""
+
+-#: c-common.c:5770
++#: c-common.c:5769
+ #, gcc-internal-format
+ msgid "tls_model argument not a string"
+ msgstr "tls_model 的引數ä¸æ˜¯ä¸€å€‹å­—串"
+
+-#: c-common.c:5783
++#: c-common.c:5782
+ #, gcc-internal-format
+ msgid "tls_model argument must be one of \"local-exec\", \"initial-exec\", \"local-dynamic\" or \"global-dynamic\""
+ msgstr "tls_model 的引數必須是「local-execã€ã€ã€Œinitial-execã€ã€ã€Œlocal-dynamicã€æˆ–「global-dynamicã€å…¶ä¸­ä¹‹ä¸€"
+
+-#: c-common.c:5802 c-common.c:5897
++#: c-common.c:5801 c-common.c:5896
+ #, gcc-internal-format
+ msgid "%J%qE attribute applies only to functions"
+ msgstr "%J%qE 屬性åªèƒ½å¥—用到函å¼ä¸Š"
+
+-#: c-common.c:5807 c-common.c:5902
++#: c-common.c:5806 c-common.c:5901
+ #, gcc-internal-format
+ msgid "%Jcan%'t set %qE attribute after definition"
+ msgstr "%J定義之後ä¸èƒ½è¨­å®š %qE 屬性"
+
+-#: c-common.c:5858
++#: c-common.c:5857
+ #, gcc-internal-format
+ msgid "alloc_size parameter outside range"
+ msgstr ""
+
+-#: c-common.c:5991
++#: c-common.c:5990
+ #, gcc-internal-format
+ msgid "%qE attribute ignored for %qE"
+ msgstr "%qE 屬性為 %qE 所忽略"
+@@ -17511,7 +17491,7 @@
+ msgid "cannot apply %<offsetof%> when %<operator[]%> is overloaded"
+ msgstr ""
+
+-#: c-common.c:6818 cp/typeck.c:4525
++#: c-common.c:6818 cp/typeck.c:4533
+ #, gcc-internal-format
+ msgid "attempt to take address of bit-field structure member %qD"
+ msgstr "試圖å–ä½å…ƒæ®µçµæ§‹æˆå“¡ %qD çš„ä½å€"
+@@ -17546,14 +17526,14 @@
+ msgid "size of array is too large"
+ msgstr "陣列 %qs 太大"
+
+-#: c-common.c:7041 c-common.c:7090 c-typeck.c:2705
++#: c-common.c:7041 c-common.c:7090 c-typeck.c:2716
+ #, gcc-internal-format
+ msgid "too few arguments to function %qE"
+ msgstr "æä¾›çµ¦å‡½å¼ %qE 的引數太少"
+
+ #. ??? This should not be an error when inlining calls to
+ #. unprototyped functions.
+-#: c-common.c:7058 c-typeck.c:4374
++#: c-common.c:7058 c-typeck.c:4385
+ #, gcc-internal-format
+ msgid "incompatible type for argument %d of %qE"
+ msgstr "引數 %d(屬於 %qE)é¡žåž‹ä¸ç›¸å®¹"
+@@ -17633,8 +17613,8 @@
+ #. an unprototyped function, it is compile-time undefined;
+ #. making it a constraint in that case was rejected in
+ #. DR#252.
+-#: c-convert.c:95 c-typeck.c:1775 c-typeck.c:4012 cp/typeck.c:1502
+-#: cp/typeck.c:5717 cp/typeck.c:6325 fortran/convert.c:88
++#: c-convert.c:95 c-typeck.c:1785 c-typeck.c:4023 cp/typeck.c:1548
++#: cp/typeck.c:5725 cp/typeck.c:6352 fortran/convert.c:88
+ #: treelang/tree-convert.c:79
+ #, gcc-internal-format
+ msgid "void value not ignored as it ought to be"
+@@ -17646,104 +17626,104 @@
+ msgid "conversion to non-scalar type requested"
+ msgstr "請求轉æ›åˆ°éžæ¨™é‡é¡žåž‹"
+
+-#: c-decl.c:546
++#: c-decl.c:547
+ #, gcc-internal-format
+ msgid "array %q+D assumed to have one element"
+ msgstr "å‡å®šé™£åˆ— %q+D 有一個元素"
+
+-#: c-decl.c:651
++#: c-decl.c:652
+ #, gcc-internal-format
+ msgid "GCC supports only %u nested scopes"
+ msgstr "GCC åªæ”¯æ´ %u 個巢狀的作用欄ä½"
+
+-#: c-decl.c:737 cp/decl.c:358
++#: c-decl.c:738 cp/decl.c:359
+ #, gcc-internal-format
+ msgid "label %q+D used but not defined"
+ msgstr "標籤 %q+D 使用å‰æœªå®šç¾©"
+
+-#: c-decl.c:778
++#: c-decl.c:779
+ #, gcc-internal-format
+ msgid "nested function %q+D declared but never defined"
+ msgstr "å·¢ç‹€å‡½å¼ %q+D 宣告éŽä½†å¾žæœªå®šç¾©"
+
+-#: c-decl.c:788
++#: c-decl.c:789
+ #, fuzzy, gcc-internal-format
+ msgid "inline function %q+D declared but never defined"
+ msgstr "å·¢ç‹€å‡½å¼ %q+D 宣告éŽä½†å¾žæœªå®šç¾©"
+
+-#: c-decl.c:801 cp/decl.c:608
++#: c-decl.c:802 cp/decl.c:609
+ #, gcc-internal-format
+ msgid "unused variable %q+D"
+ msgstr "未使用的變數 %q+D"
+
+-#: c-decl.c:805
++#: c-decl.c:806
+ #, gcc-internal-format
+ msgid "type of array %q+D completed incompatibly with implicit initialization"
+ msgstr "陣列 %q+D 類型與隱å«åˆå§‹åŒ–ä¸ç›¸å®¹"
+
+-#: c-decl.c:1039
++#: c-decl.c:1040
+ #, gcc-internal-format
+ msgid "a parameter list with an ellipsis can%'t match an empty parameter name list declaration"
+ msgstr "帶有çœç•¥è™Ÿçš„åƒæ•¸æ¸…單無法與空åƒæ•¸å清單宣告匹é…"
+
+-#: c-decl.c:1046
++#: c-decl.c:1047
+ #, gcc-internal-format
+ msgid "an argument type that has a default promotion can%'t match an empty parameter name list declaration"
+ msgstr "具有é è¨­æå‡çš„引數類型ä¸èƒ½åŒ¹é…空åƒæ•¸å清單宣告"
+
+-#: c-decl.c:1087
++#: c-decl.c:1088
+ #, gcc-internal-format
+ msgid "prototype for %q+D declares more arguments than previous old-style definition"
+ msgstr "%q+D 的原型宣告的åƒæ•¸å¤šæ–¼å…ˆå‰èˆŠå¼çš„定義"
+
+-#: c-decl.c:1093
++#: c-decl.c:1094
+ #, gcc-internal-format
+ msgid "prototype for %q+D declares fewer arguments than previous old-style definition"
+ msgstr "%q+D 的原型宣告的åƒæ•¸å°‘於先å‰èˆŠå¼çš„定義"
+
+-#: c-decl.c:1102
++#: c-decl.c:1103
+ #, gcc-internal-format
+ msgid "prototype for %q+D declares argument %d with incompatible type"
+ msgstr "%q+D 的原型å°å¼•æ•¸ %d 宣告類型ä¸ç›¸å®¹"
+
+ #. If we get here, no errors were found, but do issue a warning
+ #. for this poor-style construct.
+-#: c-decl.c:1115
++#: c-decl.c:1116
+ #, gcc-internal-format
+ msgid "prototype for %q+D follows non-prototype definition"
+ msgstr "%q+D 的原型出ç¾åœ¨éžåŽŸåž‹å®šç¾©ä¹‹å¾Œ"
+
+-#: c-decl.c:1130
++#: c-decl.c:1131
+ #, gcc-internal-format
+ msgid "previous definition of %q+D was here"
+ msgstr "%q+D 的上一個定義在此"
+
+-#: c-decl.c:1132
++#: c-decl.c:1133
+ #, gcc-internal-format
+ msgid "previous implicit declaration of %q+D was here"
+ msgstr "%q+D 的上一個隱å«å®£å‘Šåœ¨æ­¤"
+
+-#: c-decl.c:1134
++#: c-decl.c:1135
+ #, gcc-internal-format
+ msgid "previous declaration of %q+D was here"
+ msgstr "%q+D 的上一個宣告在此"
+
+-#: c-decl.c:1174
++#: c-decl.c:1175
+ #, gcc-internal-format
+ msgid "%q+D redeclared as different kind of symbol"
+ msgstr "%q+D 被é‡æ–°å®£å‘Šç‚ºä¸åŒæ„義的符號"
+
+-#: c-decl.c:1178
++#: c-decl.c:1179
+ #, gcc-internal-format
+ msgid "built-in function %q+D declared as non-function"
+ msgstr "å…§å»ºå‡½å¼ %q+D 未被宣告為函å¼"
+
+-#: c-decl.c:1181 c-decl.c:1298 c-decl.c:1983
++#: c-decl.c:1182 c-decl.c:1299 c-decl.c:1988
+ #, gcc-internal-format
+ msgid "declaration of %q+D shadows a built-in function"
+ msgstr "%q+D 的宣告隱è—了一個內建函å¼"
+
+-#: c-decl.c:1190
++#: c-decl.c:1191
+ #, gcc-internal-format
+ msgid "redeclaration of enumerator %q+D"
+ msgstr "列舉 %q+D é‡å®£å‘Š"
+@@ -17751,274 +17731,274 @@
+ #. If types don't match for a built-in, throw away the
+ #. built-in. No point in calling locate_old_decl here, it
+ #. won't print anything.
+-#: c-decl.c:1211
++#: c-decl.c:1212
+ #, gcc-internal-format
+ msgid "conflicting types for built-in function %q+D"
+ msgstr "èˆ‡å…§å»ºå‡½å¼ %q+D é¡žåž‹è¡çª"
+
+-#: c-decl.c:1235 c-decl.c:1248 c-decl.c:1258
++#: c-decl.c:1236 c-decl.c:1249 c-decl.c:1259
+ #, gcc-internal-format
+ msgid "conflicting types for %q+D"
+ msgstr "與 %q+D é¡žåž‹è¡çª"
+
+-#: c-decl.c:1256
++#: c-decl.c:1257
+ #, gcc-internal-format
+ msgid "conflicting type qualifiers for %q+D"
+ msgstr "%q+D çš„é¡žåž‹é™å®šè¡çª"
+
+ #. Allow OLDDECL to continue in use.
+-#: c-decl.c:1273
++#: c-decl.c:1274
+ #, gcc-internal-format
+ msgid "redefinition of typedef %q+D"
+ msgstr "%q+D é‡å®šç¾©"
+
+-#: c-decl.c:1324 c-decl.c:1426
++#: c-decl.c:1325 c-decl.c:1427
+ #, gcc-internal-format
+ msgid "redefinition of %q+D"
+ msgstr "%q+D é‡å®šç¾©"
+
+-#: c-decl.c:1359 c-decl.c:1464
++#: c-decl.c:1360 c-decl.c:1465
+ #, gcc-internal-format
+ msgid "static declaration of %q+D follows non-static declaration"
+ msgstr "å° %qD çš„éœæ…‹å®£å‘Šå‡ºç¾åœ¨éžéœæ…‹å®£å‘Šä¹‹å¾Œ"
+
+-#: c-decl.c:1369 c-decl.c:1376 c-decl.c:1453 c-decl.c:1461
++#: c-decl.c:1370 c-decl.c:1377 c-decl.c:1454 c-decl.c:1462
+ #, gcc-internal-format
+ msgid "non-static declaration of %q+D follows static declaration"
+ msgstr "å° %q+D çš„éœæ…‹å®£å‘Šå‡ºç¾åœ¨éžéœæ…‹å®£å‘Šä¹‹å¾Œ"
+
+-#: c-decl.c:1393
++#: c-decl.c:1394
+ #, gcc-internal-format
+ msgid "%<gnu_inline%> attribute present on %q+D"
+ msgstr ""
+
+-#: c-decl.c:1395
++#: c-decl.c:1396
+ #, fuzzy, gcc-internal-format
+ msgid "%Jbut not here"
+ msgstr "%J 第一個類型在這裡"
+
+-#: c-decl.c:1413
++#: c-decl.c:1414
+ #, gcc-internal-format
+ msgid "thread-local declaration of %q+D follows non-thread-local declaration"
+ msgstr "%q+D 的執行緒局部宣告跟在其éžåŸ·è¡Œç·’局部宣告之後"
+
+-#: c-decl.c:1416
++#: c-decl.c:1417
+ #, gcc-internal-format
+ msgid "non-thread-local declaration of %q+D follows thread-local declaration"
+ msgstr "%q+D 的執行緒局部宣告跟在其éžåŸ·è¡Œç·’局部宣告之後"
+
+-#: c-decl.c:1446
++#: c-decl.c:1447
+ #, gcc-internal-format
+ msgid "extern declaration of %q+D follows declaration with no linkage"
+ msgstr "%q+D 宣告為沒有外部連çµçš„,之å‰å»æœ‰å¤–部宣告"
+
+-#: c-decl.c:1482
++#: c-decl.c:1483
+ #, gcc-internal-format
+ msgid "declaration of %q+D with no linkage follows extern declaration"
+ msgstr "%q+D 宣告為沒有外部連çµçš„,之å‰å»æœ‰å¤–部宣告"
+
+-#: c-decl.c:1488
++#: c-decl.c:1489
+ #, gcc-internal-format
+ msgid "redeclaration of %q+D with no linkage"
+ msgstr "%q+D é‡å®£å‘Šç‚ºæ²’有外部連çµ"
+
+-#: c-decl.c:1502
++#: c-decl.c:1503
+ #, gcc-internal-format
+ msgid "redeclaration of %q+D with different visibility (old visibility preserved)"
+ msgstr "å° %q+D çš„å†æ¬¡å®£å‘Šä¸­æŒ‡å®šäº†ä¸åŒçš„å¯è¦‹æ€§ (ä¿ç•™åŽŸæœ‰çš„å¯è¦‹æ€§)"
+
+-#: c-decl.c:1513
++#: c-decl.c:1514
+ #, gcc-internal-format
+ msgid "inline declaration of %qD follows declaration with attribute noinline"
+ msgstr "%q+D 帶有 noinline 屬性的宣告出ç¾åœ¨å…¶å…§è¯å®£å‘Šä¹‹å¾Œ"
+
+-#: c-decl.c:1520
++#: c-decl.c:1521
+ #, gcc-internal-format
+ msgid "declaration of %q+D with attribute noinline follows inline declaration "
+ msgstr "%q+D 帶有 noinline 屬性的宣告出ç¾åœ¨å…¶å…§è¯å®£å‘Šä¹‹å¾Œ"
+
+-#: c-decl.c:1539
++#: c-decl.c:1540
+ #, gcc-internal-format
+ msgid "%q+D declared inline after being called"
+ msgstr "%q+D çš„å…§è¯å®£å‘Šå‡ºç¾åœ¨å…¶è¢«å‘¼å«ä¹‹å¾Œ"
+
+-#: c-decl.c:1544
++#: c-decl.c:1545
+ #, gcc-internal-format
+ msgid "%q+D declared inline after its definition"
+ msgstr "%q+D çš„å…§è¯å®£å‘Šå‡ºç¾åœ¨å…¶å®šç¾©ä¹‹å¾Œ"
+
+-#: c-decl.c:1563
++#: c-decl.c:1564
+ #, gcc-internal-format
+ msgid "redefinition of parameter %q+D"
+ msgstr "åƒæ•¸ %q+D é‡å®šç¾©"
+
+-#: c-decl.c:1590
++#: c-decl.c:1591
+ #, gcc-internal-format
+ msgid "redundant redeclaration of %q+D"
+ msgstr "å° %q+D 冗餘的é‡å®£å‘Š"
+
+-#: c-decl.c:1970
++#: c-decl.c:1975
+ #, gcc-internal-format
+ msgid "declaration of %q+D shadows previous non-variable"
+ msgstr "%q+D 的宣告隱è—了先å‰çš„一個éžè®Šæ•¸å®£å‘Š"
+
+-#: c-decl.c:1975
++#: c-decl.c:1980
+ #, gcc-internal-format
+ msgid "declaration of %q+D shadows a parameter"
+ msgstr "%q+D 的宣告隱è—了一個åƒæ•¸"
+
+-#: c-decl.c:1978
++#: c-decl.c:1983
+ #, gcc-internal-format
+ msgid "declaration of %q+D shadows a global declaration"
+ msgstr "%q+D 的宣告隱è—了一個全域宣告"
+
+-#: c-decl.c:1988
++#: c-decl.c:1993
+ #, gcc-internal-format
+ msgid "declaration of %q+D shadows a previous local"
+ msgstr "%q+D 的宣告隱è—了先å‰çš„一個局部變數"
+
+-#: c-decl.c:1991 cp/name-lookup.c:988 cp/name-lookup.c:1019
+-#: cp/name-lookup.c:1027
++#: c-decl.c:1996 cp/name-lookup.c:987 cp/name-lookup.c:1018
++#: cp/name-lookup.c:1026
+ #, gcc-internal-format
+ msgid "%Jshadowed declaration is here"
+ msgstr "%J被隱è—的宣告在這裡"
+
+-#: c-decl.c:2183
++#: c-decl.c:2188
+ #, gcc-internal-format
+ msgid "nested extern declaration of %qD"
+ msgstr "å° %qD 的巢狀的外部宣告"
+
+-#: c-decl.c:2346 c-decl.c:2349
++#: c-decl.c:2351 c-decl.c:2354
+ #, gcc-internal-format
+ msgid "implicit declaration of function %qE"
+ msgstr "éš±å«å®£å‘Šå‡½å¼ %qE"
+
+-#: c-decl.c:2411
++#: c-decl.c:2416
+ #, gcc-internal-format
+ msgid "incompatible implicit declaration of built-in function %qD"
+ msgstr "éš±å«å®£å‘Šèˆ‡å…§å»ºå‡½å¼ %qD ä¸ç›¸å®¹"
+
+-#: c-decl.c:2420
++#: c-decl.c:2425
+ #, gcc-internal-format
+ msgid "incompatible implicit declaration of function %qD"
+ msgstr "éš±å«å®£å‘Šèˆ‡å‡½å¼ %qD ä¸ç›¸å®¹"
+
+-#: c-decl.c:2473
++#: c-decl.c:2478
+ #, gcc-internal-format
+ msgid "%H%qE undeclared here (not in a function)"
+ msgstr "%H%qE 未宣告 (ä¸åœ¨å‡½å¼å…§)"
+
+-#: c-decl.c:2478
++#: c-decl.c:2483
+ #, gcc-internal-format
+ msgid "%H%qE undeclared (first use in this function)"
+ msgstr "%H%qE 未宣告 (在此函å¼å…§ç¬¬ä¸€æ¬¡ä½¿ç”¨)"
+
+-#: c-decl.c:2482
++#: c-decl.c:2487
+ #, gcc-internal-format
+ msgid "%H(Each undeclared identifier is reported only once"
+ msgstr "%H(å³ä½¿åœ¨ä¸€å€‹å‡½å¼å…§å¤šæ¬¡å‡ºç¾ï¼Œæ¯å€‹æœªå®£å‘Šçš„識別碼在其"
+
+-#: c-decl.c:2483
++#: c-decl.c:2488
+ #, gcc-internal-format
+ msgid "%Hfor each function it appears in.)"
+ msgstr "%H所在的函å¼å…§åªå ±å‘Šä¸€æ¬¡ã€‚)"
+
+-#: c-decl.c:2521 cp/decl.c:2397
++#: c-decl.c:2526 cp/decl.c:2404
+ #, gcc-internal-format
+ msgid "label %qE referenced outside of any function"
+ msgstr "標籤 %qE 在所有函å¼å¤–被åƒç…§"
+
+-#: c-decl.c:2563
++#: c-decl.c:2568
+ #, gcc-internal-format
+ msgid "duplicate label declaration %qE"
+ msgstr "é‡è¤‡çš„標籤定義 %qE"
+
+-#: c-decl.c:2599
++#: c-decl.c:2604
+ #, gcc-internal-format
+ msgid "%Hduplicate label %qD"
+ msgstr "%Hé‡è¤‡çš„標籤 %qD"
+
+-#: c-decl.c:2609
++#: c-decl.c:2614
+ #, gcc-internal-format
+ msgid "%Jjump into statement expression"
+ msgstr "%J跳轉至敘述é‹ç®—å¼ä¸­"
+
+-#: c-decl.c:2611
++#: c-decl.c:2616
+ #, gcc-internal-format
+ msgid "%Jjump into scope of identifier with variably modified type"
+ msgstr "%J跳至具有å¯è®Šé¡žåž‹çš„識別碼的作用欄ä½ä¸­"
+
+-#: c-decl.c:2626
++#: c-decl.c:2631
+ #, gcc-internal-format
+ msgid "%Htraditional C lacks a separate namespace for labels, identifier %qE conflicts"
+ msgstr "%H傳統 C ä¸ç‚ºæ¨™ç±¤æ供一個單ç¨çš„命å空間,識別碼 %qE è¡çª"
+
+-#: c-decl.c:2701
++#: c-decl.c:2706
+ #, gcc-internal-format
+ msgid "%H%qE defined as wrong kind of tag"
+ msgstr "%H%qE 定義為類型錯誤的標記"
+
+-#: c-decl.c:2903
++#: c-decl.c:2908
+ #, gcc-internal-format
+ msgid "unnamed struct/union that defines no instances"
+ msgstr "未定義任何實體的無åçµæ§‹/è¯åˆ"
+
+-#: c-decl.c:2911
++#: c-decl.c:2916
+ #, gcc-internal-format
+ msgid "empty declaration with storage class specifier does not redeclare tag"
+ msgstr "帶有存儲類別的空宣告沒有é‡å®£å‘Šæ¨™è¨˜"
+
+-#: c-decl.c:2922
++#: c-decl.c:2927
+ #, gcc-internal-format
+ msgid "empty declaration with type qualifier does not redeclare tag"
+ msgstr "帶有類型é™å®šçš„空宣告沒有é‡å®£å‘Šæ¨™è¨˜"
+
+-#: c-decl.c:2943 c-decl.c:2950
++#: c-decl.c:2948 c-decl.c:2955
+ #, gcc-internal-format
+ msgid "useless type name in empty declaration"
+ msgstr "空宣告中類型å無用"
+
+-#: c-decl.c:2958
++#: c-decl.c:2963
+ #, gcc-internal-format
+ msgid "%<inline%> in empty declaration"
+ msgstr "%<inline%> 用於空宣告中"
+
+-#: c-decl.c:2964
++#: c-decl.c:2969
+ #, gcc-internal-format
+ msgid "%<auto%> in file-scope empty declaration"
+ msgstr "檔案作用欄ä½ä¸­å‡ºç¾ %<auto%> 空宣告"
+
+-#: c-decl.c:2970
++#: c-decl.c:2975
+ #, gcc-internal-format
+ msgid "%<register%> in file-scope empty declaration"
+ msgstr "檔案作用欄ä½ä¸­å‡ºç¾ %<register%> 空宣告"
+
+-#: c-decl.c:2976
++#: c-decl.c:2981
+ #, gcc-internal-format
+ msgid "useless storage class specifier in empty declaration"
+ msgstr "空宣告中指定存儲類別無用"
+
+-#: c-decl.c:2982
++#: c-decl.c:2987
+ #, gcc-internal-format
+ msgid "useless %<__thread%> in empty declaration"
+ msgstr "空宣告中 %<__thread%> 無用"
+
+-#: c-decl.c:2990
++#: c-decl.c:2995
+ #, gcc-internal-format
+ msgid "useless type qualifier in empty declaration"
+ msgstr "空宣告中類型é™å®šç„¡ç”¨"
+
+-#: c-decl.c:2997
++#: c-decl.c:3002
+ #, gcc-internal-format
+ msgid "empty declaration"
+ msgstr "空宣告"
+
+-#: c-decl.c:3063
++#: c-decl.c:3068
+ #, gcc-internal-format
+ msgid "ISO C90 does not support %<static%> or type qualifiers in parameter array declarators"
+ msgstr "ISO C90 ä¸æ”¯æ´åœ¨åƒæ•¸é™£åˆ—宣告中使用 %<static%> 或類型é™å®šç¬¦"
+
+-#: c-decl.c:3066
++#: c-decl.c:3071
+ #, gcc-internal-format
+ msgid "ISO C90 does not support %<[*]%> array declarators"
+ msgstr "ISO C90 ä¸æ”¯æ´ %<[*]%> 陣列宣告"
+@@ -18026,253 +18006,248 @@
+ #. C99 6.7.5.2p4
+ #. A function definition isn't function prototype scope C99 6.2.1p4.
+ #. C99 6.7.5.2p4
+-#: c-decl.c:3073 c-decl.c:5015
++#: c-decl.c:3078 c-decl.c:5014
+ #, gcc-internal-format
+ msgid "%<[*]%> not allowed in other than function prototype scope"
+ msgstr ""
+
+-#: c-decl.c:3097
++#: c-decl.c:3181
+ #, gcc-internal-format
+-msgid "static or type qualifiers in abstract declarator"
+-msgstr "static 或類型é™å®šç¬¦å‡ºç¾åœ¨æŠ½è±¡å®£å‘Šä¸­"
+-
+-#: c-decl.c:3183
+-#, gcc-internal-format
+ msgid "%q+D is usually a function"
+ msgstr "%q+D 一般是一個函å¼"
+
+-#: c-decl.c:3192 cp/decl.c:3983 cp/decl2.c:773
++#: c-decl.c:3190 cp/decl.c:4003 cp/decl2.c:773
+ #, gcc-internal-format
+ msgid "typedef %qD is initialized (use __typeof__ instead)"
+ msgstr "typedef %qD 被åˆå§‹åŒ–(改用 __typeof__)"
+
+-#: c-decl.c:3197
++#: c-decl.c:3195
+ #, gcc-internal-format
+ msgid "function %qD is initialized like a variable"
+ msgstr "å‡½å¼ %qD åƒè®Šæ•¸ä¸€æ¨£è¢«åˆå§‹åŒ–"
+
+ #. DECL_INITIAL in a PARM_DECL is really DECL_ARG_TYPE.
+-#: c-decl.c:3203
++#: c-decl.c:3201
+ #, gcc-internal-format
+ msgid "parameter %qD is initialized"
+ msgstr "åƒæ•¸ %qD å·²åˆå§‹åŒ–"
+
+-#: c-decl.c:3228
++#: c-decl.c:3226
+ #, gcc-internal-format
+ msgid "variable %qD has initializer but incomplete type"
+ msgstr "變數 %qD 有åˆå§‹å€¼è¨­å®šä½†é¡žåž‹ä¸å®Œå…¨"
+
+-#: c-decl.c:3316 c-decl.c:6108 cp/decl.c:4025 cp/decl.c:10985
++#: c-decl.c:3314 c-decl.c:6107 cp/decl.c:4045 cp/decl.c:11083
+ #, gcc-internal-format
+ msgid "inline function %q+D given attribute noinline"
+ msgstr "為內è¯å‡½å¼ %q+D 給定了 noinline 屬性"
+
+-#: c-decl.c:3327
++#: c-decl.c:3326
+ #, gcc-internal-format
+ msgid "%q+D is static but declared in inline function %qD which is not static"
+ msgstr ""
+
+-#: c-decl.c:3418
++#: c-decl.c:3417
+ #, gcc-internal-format
+ msgid "initializer fails to determine size of %q+D"
+ msgstr "åˆå§‹å€¼è¨­å®šç„¡æ³•æ±ºå®š %q+D 的大å°"
+
+-#: c-decl.c:3423
++#: c-decl.c:3422
+ #, gcc-internal-format
+ msgid "array size missing in %q+D"
+ msgstr "在 %q+D 中缺少陣列大å°"
+
+-#: c-decl.c:3435
++#: c-decl.c:3434
+ #, gcc-internal-format
+ msgid "zero or negative size array %q+D"
+ msgstr "陣列 %q+D 大å°ç‚º 0 或負"
+
+-#: c-decl.c:3490 varasm.c:2067
++#: c-decl.c:3489 varasm.c:2067
+ #, gcc-internal-format
+ msgid "storage size of %q+D isn%'t known"
+ msgstr "%q+D 的存儲大å°ä¸æ˜Ž"
+
+-#: c-decl.c:3500
++#: c-decl.c:3499
+ #, gcc-internal-format
+ msgid "storage size of %q+D isn%'t constant"
+ msgstr "%q+D 的存儲大å°ä¸æ˜¯å¸¸æ•¸"
+
+-#: c-decl.c:3545
++#: c-decl.c:3544
+ #, gcc-internal-format
+ msgid "ignoring asm-specifier for non-static local variable %q+D"
+ msgstr "為éžéœæ…‹å±€éƒ¨è®Šæ•¸ %q+D 忽略了 asm é™å®šç¬¦"
+
+-#: c-decl.c:3573 fortran/f95-lang.c:653
++#: c-decl.c:3572 fortran/f95-lang.c:655
+ #, gcc-internal-format
+ msgid "cannot put object with volatile field into register"
+ msgstr "ä¸èƒ½å°‡å¸¶æœ‰ volatile 欄ä½çš„物件放入暫存器"
+
+-#: c-decl.c:3702
++#: c-decl.c:3701
+ #, gcc-internal-format
+ msgid "ISO C forbids forward parameter declarations"
+ msgstr "ISO C ä¸å…許å‰å‘åƒæ•¸å®£å‘Š"
+
+-#: c-decl.c:3821
++#: c-decl.c:3820
+ #, gcc-internal-format
+ msgid "bit-field %qs width not an integer constant"
+ msgstr "ä½å…ƒæ®µ %qs 的寬度ä¸æ˜¯ä¸€å€‹æ•´æ•¸å¸¸æ•¸"
+
+-#: c-decl.c:3829
++#: c-decl.c:3828
+ #, gcc-internal-format
+ msgid "negative width in bit-field %qs"
+ msgstr "ä½å…ƒæ®µ %qs 寬度為負"
+
+-#: c-decl.c:3834
++#: c-decl.c:3833
+ #, gcc-internal-format
+ msgid "zero width for bit-field %qs"
+ msgstr "ä½å…ƒæ®µ %qs 寬度為 0"
+
+-#: c-decl.c:3844
++#: c-decl.c:3843
+ #, gcc-internal-format
+ msgid "bit-field %qs has invalid type"
+ msgstr "ä½å…ƒæ®µ %qs 類型無效"
+
+-#: c-decl.c:3854
++#: c-decl.c:3853
+ #, gcc-internal-format
+ msgid "type of bit-field %qs is a GCC extension"
+ msgstr "ä½å…ƒæ®µé¡žåž‹ %qs 是一個 GCC æ“´å……"
+
+-#: c-decl.c:3860
++#: c-decl.c:3859
+ #, gcc-internal-format
+ msgid "width of %qs exceeds its type"
+ msgstr "%qs 的寬度超éŽå®ƒè‡ªèº«çš„é¡žåž‹"
+
+-#: c-decl.c:3873
++#: c-decl.c:3872
+ #, gcc-internal-format
+ msgid "%qs is narrower than values of its type"
+ msgstr "%qs 比其類型的值è¦çª„"
+
+-#: c-decl.c:3892
++#: c-decl.c:3891
+ #, gcc-internal-format
+ msgid "ISO C90 forbids array %qs whose size can%'t be evaluated"
+ msgstr "ISO C90 ä¸å…許陣列 %qs,因為ä¸èƒ½è¨ˆç®—其大å°"
+
+-#: c-decl.c:3896
++#: c-decl.c:3895
+ #, fuzzy, gcc-internal-format
+ msgid "ISO C90 forbids array whose size can%'t be evaluated"
+ msgstr "ISO C90 ä¸å…許陣列 %qs,因為ä¸èƒ½è¨ˆç®—其大å°"
+
+-#: c-decl.c:3902
++#: c-decl.c:3901
+ #, fuzzy, gcc-internal-format
+ msgid "ISO C90 forbids variable length array %qs"
+ msgstr "ISO C90 ä¸å…許彈性陣列 %qs"
+
+-#: c-decl.c:3905
++#: c-decl.c:3904
+ #, fuzzy, gcc-internal-format
+ msgid "ISO C90 forbids variable length array"
+ msgstr "ISO C90 ä¸å…許彈性陣列 %qs"
+
+-#: c-decl.c:3914
++#: c-decl.c:3913
+ #, fuzzy, gcc-internal-format
+ msgid "the size of array %qs can%'t be evaluated"
+ msgstr "ISO C90 ä¸å…許陣列 %qs,因為ä¸èƒ½è¨ˆç®—其大å°"
+
+-#: c-decl.c:3918
++#: c-decl.c:3917
+ #, fuzzy, gcc-internal-format
+ msgid "the size of array can %'t be evaluated"
+ msgstr "類型大å°ä¸èƒ½è¢«æ˜Žç¢ºåœ°è¨ˆç®—出"
+
+-#: c-decl.c:3924
++#: c-decl.c:3923
+ #, gcc-internal-format
+ msgid "variable length array %qs is used"
+ msgstr ""
+
+-#: c-decl.c:3928 cp/decl.c:7004
++#: c-decl.c:3927 cp/decl.c:7076
+ #, gcc-internal-format
+ msgid "variable length array is used"
+ msgstr ""
+
+-#: c-decl.c:4051 c-decl.c:4328
++#: c-decl.c:4050 c-decl.c:4327
+ #, fuzzy, gcc-internal-format
+ msgid "variably modified %qs at file scope"
+ msgstr "%qT 是一個å¯è®Šé¡žåž‹"
+
+-#: c-decl.c:4069
++#: c-decl.c:4068
+ #, gcc-internal-format
+ msgid "type defaults to %<int%> in declaration of %qs"
+ msgstr "在 %qs 的宣告中,類型é è¨­ç‚º %<int%>"
+
+-#: c-decl.c:4097
++#: c-decl.c:4096
+ #, gcc-internal-format
+ msgid "duplicate %<const%>"
+ msgstr "é‡è¤‡çš„ %<const%>"
+
+-#: c-decl.c:4099
++#: c-decl.c:4098
+ #, gcc-internal-format
+ msgid "duplicate %<restrict%>"
+ msgstr "é‡è¤‡çš„ %<restrict%>"
+
+-#: c-decl.c:4101
++#: c-decl.c:4100
+ #, gcc-internal-format
+ msgid "duplicate %<volatile%>"
+ msgstr "é‡è¤‡çš„ %<volatile%>"
+
+-#: c-decl.c:4120
++#: c-decl.c:4119
+ #, gcc-internal-format
+ msgid "function definition declared %<auto%>"
+ msgstr "函å¼å®£å‘Šå®šç¾©ç‚º %<auto%>"
+
+-#: c-decl.c:4122
++#: c-decl.c:4121
+ #, gcc-internal-format
+ msgid "function definition declared %<register%>"
+ msgstr "函å¼å®£å‘Šå®šç¾©ç‚º %<register%>"
+
+-#: c-decl.c:4124
++#: c-decl.c:4123
+ #, gcc-internal-format
+ msgid "function definition declared %<typedef%>"
+ msgstr "函å¼å®£å‘Šå®šç¾©ç‚º %<typedef%>"
+
+-#: c-decl.c:4126
++#: c-decl.c:4125
+ #, gcc-internal-format
+ msgid "function definition declared %<__thread%>"
+ msgstr "函å¼å®£å‘Šå®šç¾©ç‚º %<__thread%>"
+
+-#: c-decl.c:4142
++#: c-decl.c:4141
+ #, gcc-internal-format
+ msgid "storage class specified for structure field %qs"
+ msgstr "為çµæ§‹æ¬„ä½ %qs 指定了存儲類別"
+
+-#: c-decl.c:4146 cp/decl.c:7874
++#: c-decl.c:4145 cp/decl.c:7946
+ #, gcc-internal-format
+ msgid "storage class specified for parameter %qs"
+ msgstr "為åƒæ•¸ %qs 指定了存儲類別"
+
+-#: c-decl.c:4149 cp/decl.c:7876
++#: c-decl.c:4148 cp/decl.c:7948
+ #, gcc-internal-format
+ msgid "storage class specified for typename"
+ msgstr "為類型å指定了存儲類別"
+
+-#: c-decl.c:4166 cp/decl.c:7893
++#: c-decl.c:4165 cp/decl.c:7965
+ #, gcc-internal-format
+ msgid "%qs initialized and declared %<extern%>"
+ msgstr "%qs å·²åˆå§‹åŒ–,å»åˆè¢«å®£å‘Šç‚º %<extern%>"
+
+-#: c-decl.c:4169 cp/decl.c:7896
++#: c-decl.c:4168 cp/decl.c:7968
+ #, gcc-internal-format
+ msgid "%qs has both %<extern%> and initializer"
+ msgstr "%qs 既有 %<extern%> åˆæœ‰åˆå§‹å€¼è¨­å®š"
+
+-#: c-decl.c:4174
++#: c-decl.c:4173
+ #, gcc-internal-format
+ msgid "file-scope declaration of %qs specifies %<auto%>"
+ msgstr "檔案作用欄ä½ä¸­ %qs 的宣告指定了 %<auto%>"
+
+-#: c-decl.c:4176
++#: c-decl.c:4175
+ #, gcc-internal-format
+ msgid "file-scope declaration of %qs specifies %<register%>"
+ msgstr "檔案作用欄ä½ä¸­ %qs 的宣告指定了 %<register%>"
+
+-#: c-decl.c:4181 cp/decl.c:7900
++#: c-decl.c:4180 cp/decl.c:7972
+ #, gcc-internal-format
+ msgid "nested function %qs declared %<extern%>"
+ msgstr "å·¢ç‹€å‡½å¼ %qs 被宣告為 %<extern%>"
+
+-#: c-decl.c:4184 cp/decl.c:7910
++#: c-decl.c:4183 cp/decl.c:7982
+ #, gcc-internal-format
+ msgid "function-scope %qs implicitly auto and declared %<__thread%>"
+ msgstr "函å¼ä½œç”¨æ¬„ä½çš„ %qs éš±å«ç‚º auto,å»è¢«å®£å‘Šç‚º %<__thread%>"
+@@ -18280,468 +18255,468 @@
+ #. Only the innermost declarator (making a parameter be of
+ #. array type which is converted to pointer type)
+ #. may have static or type qualifiers.
+-#: c-decl.c:4231 c-decl.c:4472
++#: c-decl.c:4230 c-decl.c:4471
+ #, gcc-internal-format
+ msgid "static or type qualifiers in non-parameter array declarator"
+ msgstr "static 或類型é™å®šç¬¦å‡ºç¾åœ¨éžåƒæ•¸é™£åˆ—宣告中"
+
+-#: c-decl.c:4278
++#: c-decl.c:4277
+ #, gcc-internal-format
+ msgid "declaration of %qs as array of voids"
+ msgstr "%qs 宣告為 void 的陣列"
+
+-#: c-decl.c:4284
++#: c-decl.c:4283
+ #, gcc-internal-format
+ msgid "declaration of %qs as array of functions"
+ msgstr "%qs 宣告為函å¼çš„陣列"
+
+-#: c-decl.c:4289
++#: c-decl.c:4288
+ #, gcc-internal-format
+ msgid "invalid use of structure with flexible array member"
+ msgstr "å°åŒ…å«å½ˆæ€§é™£åˆ—æˆå“¡çš„çµæ§‹çš„無效使用"
+
+-#: c-decl.c:4309
++#: c-decl.c:4308
+ #, gcc-internal-format
+ msgid "size of array %qs has non-integer type"
+ msgstr "陣列 %qs 的大å°çš„é¡žåž‹ä¸æ˜¯æ•´æ•¸"
+
+-#: c-decl.c:4314
++#: c-decl.c:4313
+ #, gcc-internal-format
+ msgid "ISO C forbids zero-size array %qs"
+ msgstr "ISO C ä¸å…許大å°ç‚º 0 的陣列 %qs"
+
+-#: c-decl.c:4321
++#: c-decl.c:4320
+ #, gcc-internal-format
+ msgid "size of array %qs is negative"
+ msgstr "陣列 %qs 的大å°ç‚ºè² "
+
+-#: c-decl.c:4375 c-decl.c:4631 cp/decl.c:8375
++#: c-decl.c:4374 c-decl.c:4630 cp/decl.c:8447
+ #, gcc-internal-format
+ msgid "size of array %qs is too large"
+ msgstr "陣列 %qs 太大"
+
+-#: c-decl.c:4386
++#: c-decl.c:4385
+ #, gcc-internal-format
+ msgid "ISO C90 does not support flexible array members"
+ msgstr "ISO C90 ä¸å…許彈性陣列æˆå“¡"
+
+ #. C99 6.7.5.2p4
+-#: c-decl.c:4399
++#: c-decl.c:4398
+ #, fuzzy, gcc-internal-format
+ msgid "%<[*]%> not allowed in other than a declaration"
+ msgstr "ä¸å…許在 using 宣告中使用命å空間 %qD"
+
+-#: c-decl.c:4422
++#: c-decl.c:4421
+ #, gcc-internal-format
+ msgid "array type has incomplete element type"
+ msgstr "陣列元素的類型ä¸å®Œå…¨"
+
+-#: c-decl.c:4504 cp/decl.c:8001
++#: c-decl.c:4503 cp/decl.c:8073
+ #, gcc-internal-format
+ msgid "%qs declared as function returning a function"
+ msgstr "%qs 宣告為回傳一個函å¼çš„函å¼"
+
+-#: c-decl.c:4509 cp/decl.c:8006
++#: c-decl.c:4508 cp/decl.c:8078
+ #, gcc-internal-format
+ msgid "%qs declared as function returning an array"
+ msgstr "%qs 宣告為回傳一個陣列的函å¼"
+
+-#: c-decl.c:4531
++#: c-decl.c:4530
+ #, gcc-internal-format
+ msgid "function definition has qualified void return type"
+ msgstr "函å¼å®šç¾©æœ‰é™å®šçš„ void 回傳類型"
+
+-#: c-decl.c:4534 cp/decl.c:7990 cp/pt.c:8568
++#: c-decl.c:4533 cp/decl.c:8062 cp/pt.c:8668
+ #, gcc-internal-format
+ msgid "type qualifiers ignored on function return type"
+ msgstr "忽略函å¼å›žå‚³é¡žåž‹çš„é¡žåž‹é™å®š"
+
+-#: c-decl.c:4563 c-decl.c:4644 c-decl.c:4732 c-decl.c:4825
++#: c-decl.c:4562 c-decl.c:4643 c-decl.c:4731 c-decl.c:4824
+ #, gcc-internal-format
+ msgid "ISO C forbids qualified function types"
+ msgstr "ISO C ä¸å…許使用 const 或 volatile é™å®šå‡½å¼é¡žåž‹"
+
+-#: c-decl.c:4652
++#: c-decl.c:4651
+ #, gcc-internal-format
+ msgid "typedef %q+D declared %<inline%>"
+ msgstr "typedef %q+D 宣告為 %<inline%>"
+
+-#: c-decl.c:4667
++#: c-decl.c:4666
+ #, gcc-internal-format
+ msgid "ISO C forbids const or volatile function types"
+ msgstr "ISO C ä¸å…許使用 const 或 volatile é™å®šå‡½å¼é¡žåž‹"
+
+ #. C99 6.7.2.1p8
+-#: c-decl.c:4677
++#: c-decl.c:4676
+ #, fuzzy, gcc-internal-format
+ msgid "a member of a structure or union cannot have a variably modified type"
+ msgstr "資料æˆå“¡ä¸èƒ½å…·æœ‰å¯è®Šé¡žåž‹ %qT"
+
+-#: c-decl.c:4693
++#: c-decl.c:4692
+ #, gcc-internal-format
+ msgid "variable or field %qs declared void"
+ msgstr "è®Šæ•¸æˆ–æ¬„ä½ %qs 宣告為 void"
+
+-#: c-decl.c:4725
++#: c-decl.c:4724
+ #, gcc-internal-format
+ msgid "attributes in parameter array declarator ignored"
+ msgstr "出ç¾åœ¨åƒæ•¸é™£åˆ—宣告中的屬性被忽略"
+
+-#: c-decl.c:4760
++#: c-decl.c:4759
+ #, gcc-internal-format
+ msgid "parameter %q+D declared %<inline%>"
+ msgstr "åƒæ•¸ %q+D 宣告為 %<inline%>"
+
+-#: c-decl.c:4773
++#: c-decl.c:4772
+ #, gcc-internal-format
+ msgid "field %qs declared as a function"
+ msgstr "æ¬„ä½ %qs 宣告為一個函å¼"
+
+-#: c-decl.c:4779
++#: c-decl.c:4778
+ #, gcc-internal-format
+ msgid "field %qs has incomplete type"
+ msgstr "æ¬„ä½ %qs çš„é¡žåž‹ä¸å®Œå…¨"
+
+-#: c-decl.c:4796 c-decl.c:4808 c-decl.c:4812
++#: c-decl.c:4795 c-decl.c:4807 c-decl.c:4811
+ #, gcc-internal-format
+ msgid "invalid storage class for function %qs"
+ msgstr "å‡½å¼ %qs 的存儲類別無效"
+
+-#: c-decl.c:4831
++#: c-decl.c:4830
+ #, gcc-internal-format
+ msgid "%<noreturn%> function returns non-void value"
+ msgstr "%<noreturn%> 函å¼å›žå‚³äº†ä¸€å€‹éž void 的回傳值"
+
+-#: c-decl.c:4867
++#: c-decl.c:4866
+ #, gcc-internal-format
+ msgid "cannot inline function %<main%>"
+ msgstr "ä¸èƒ½å…§è¯ %<main%> 函å¼"
+
+-#: c-decl.c:4910
++#: c-decl.c:4909
+ #, gcc-internal-format
+ msgid "variable previously declared %<static%> redeclared %<extern%>"
+ msgstr "å…ˆå‰è¢«å®£å‘Šç‚º %<static%> 的變數é‡å®£å‘Šç‚º %<extern%>"
+
+-#: c-decl.c:4920
++#: c-decl.c:4919
+ #, gcc-internal-format
+ msgid "variable %q+D declared %<inline%>"
+ msgstr "變數 %q+D 宣告為 %<inline%>"
+
+ #. C99 6.7.5.2p2
+-#: c-decl.c:4951
++#: c-decl.c:4950
+ #, gcc-internal-format
+ msgid "object with variably modified type must have no linkage"
+ msgstr ""
+
+-#: c-decl.c:5020 c-decl.c:6199
++#: c-decl.c:5019 c-decl.c:6198
+ #, gcc-internal-format
+ msgid "function declaration isn%'t a prototype"
+ msgstr "函å¼å®£å‘Šä¸æ˜¯ä¸€å€‹åŽŸåž‹"
+
+-#: c-decl.c:5028
++#: c-decl.c:5027
+ #, gcc-internal-format
+ msgid "parameter names (without types) in function declaration"
+ msgstr "函å¼å®£å‘Šä¸­å‡ºç¾åƒæ•¸åå»æœªæŒ‡å®šé¡žåž‹"
+
+-#: c-decl.c:5061
++#: c-decl.c:5060
+ #, gcc-internal-format
+ msgid "parameter %u (%q+D) has incomplete type"
+ msgstr "åƒæ•¸ %u (%q+D) çš„é¡žåž‹ä¸å®Œå…¨"
+
+-#: c-decl.c:5064
++#: c-decl.c:5063
+ #, gcc-internal-format
+ msgid "%Jparameter %u has incomplete type"
+ msgstr "%Jåƒæ•¸ %u é¡žåž‹ä¸å®Œå…¨"
+
+-#: c-decl.c:5073
++#: c-decl.c:5072
+ #, gcc-internal-format
+ msgid "parameter %u (%q+D) has void type"
+ msgstr "åƒæ•¸ %u (%q+D)類型為 void"
+
+-#: c-decl.c:5076
++#: c-decl.c:5075
+ #, gcc-internal-format
+ msgid "%Jparameter %u has void type"
+ msgstr "%Jåƒæ•¸ %u 類型為 void"
+
+-#: c-decl.c:5138
++#: c-decl.c:5137
+ #, gcc-internal-format
+ msgid "%<void%> as only parameter may not be qualified"
+ msgstr "%<void%> åšç‚ºåƒ…有的åƒæ•¸æ™‚ä¸èƒ½è¢«é™å®š"
+
+-#: c-decl.c:5142 c-decl.c:5176
++#: c-decl.c:5141 c-decl.c:5175
+ #, gcc-internal-format
+ msgid "%<void%> must be the only parameter"
+ msgstr "%<void%> 必須是僅有的åƒæ•¸"
+
+-#: c-decl.c:5170
++#: c-decl.c:5169
+ #, gcc-internal-format
+ msgid "parameter %q+D has just a forward declaration"
+ msgstr "åƒæ•¸ %q+D 有一個å‰å‘宣告"
+
+ #. The %s will be one of 'struct', 'union', or 'enum'.
+-#: c-decl.c:5215
++#: c-decl.c:5214
+ #, gcc-internal-format
+ msgid "%<%s %E%> declared inside parameter list"
+ msgstr "%<%s %E%> 在åƒæ•¸è¡¨å…§éƒ¨å®£å‘Š"
+
+ #. The %s will be one of 'struct', 'union', or 'enum'.
+-#: c-decl.c:5219
++#: c-decl.c:5218
+ #, gcc-internal-format
+ msgid "anonymous %s declared inside parameter list"
+ msgstr "在åƒæ•¸æ¸…單中宣告了匿å %s"
+
+-#: c-decl.c:5224
++#: c-decl.c:5223
+ #, gcc-internal-format
+ msgid "its scope is only this definition or declaration, which is probably not what you want"
+ msgstr "它的作用欄ä½åƒ…é™æ–¼æ­¤å®šç¾©æˆ–宣告,這å¯èƒ½ä¸¦ä¸æ˜¯æ‚¨æƒ³è¦çš„"
+
+-#: c-decl.c:5358
++#: c-decl.c:5357
+ #, gcc-internal-format
+ msgid "redefinition of %<union %E%>"
+ msgstr "%<union %E%> é‡å®šç¾©"
+
+-#: c-decl.c:5360
++#: c-decl.c:5359
+ #, gcc-internal-format
+ msgid "redefinition of %<struct %E%>"
+ msgstr "%<struct %E%> é‡å®šç¾©"
+
+-#: c-decl.c:5365
++#: c-decl.c:5364
+ #, gcc-internal-format
+ msgid "nested redefinition of %<union %E%>"
+ msgstr "巢狀的 %<union %E%> é‡å®šç¾©"
+
+-#: c-decl.c:5367
++#: c-decl.c:5366
+ #, gcc-internal-format
+ msgid "nested redefinition of %<struct %E%>"
+ msgstr "巢狀的 %<struct %E%> é‡å®šç¾©"
+
+-#: c-decl.c:5442 cp/decl.c:3780
++#: c-decl.c:5441 cp/decl.c:3796
+ #, gcc-internal-format
+ msgid "declaration does not declare anything"
+ msgstr "沒有宣告任何æ±è¥¿"
+
+-#: c-decl.c:5446
++#: c-decl.c:5445
+ #, gcc-internal-format
+ msgid "ISO C doesn%'t support unnamed structs/unions"
+ msgstr "ISO C ä¸æ”¯æ´åŒ¿åçµæ§‹/è¯åˆ"
+
+-#: c-decl.c:5490 c-decl.c:5506
++#: c-decl.c:5489 c-decl.c:5505
+ #, gcc-internal-format
+ msgid "duplicate member %q+D"
+ msgstr "é‡è¤‡çš„æˆå“¡ %q+D"
+
+-#: c-decl.c:5545
++#: c-decl.c:5544
+ #, gcc-internal-format
+ msgid "union has no named members"
+ msgstr "è¯åˆåŒ…å«ç„¡åæˆå“¡"
+
+-#: c-decl.c:5547
++#: c-decl.c:5546
+ #, gcc-internal-format
+ msgid "union has no members"
+ msgstr "è¯åˆé«”沒有æˆå“¡"
+
+-#: c-decl.c:5552
++#: c-decl.c:5551
+ #, gcc-internal-format
+ msgid "struct has no named members"
+ msgstr "çµæ§‹ä¸åŒ…å«ä»»ä½•å…·åæˆå“¡"
+
+-#: c-decl.c:5554
++#: c-decl.c:5553
+ #, gcc-internal-format
+ msgid "struct has no members"
+ msgstr "çµæ§‹é«”沒有æˆå“¡"
+
+-#: c-decl.c:5616
++#: c-decl.c:5615
+ #, gcc-internal-format
+ msgid "%Jflexible array member in union"
+ msgstr "%Jè¯åˆä¸­å‡ºç¾å½ˆæ€§é™£åˆ—æˆå“¡"
+
+-#: c-decl.c:5621
++#: c-decl.c:5620
+ #, gcc-internal-format
+ msgid "%Jflexible array member not at end of struct"
+ msgstr "%Jçµæ§‹ä¸­çš„彈性陣列æˆå“¡æ²’有出ç¾åœ¨çµæ§‹çš„末尾"
+
+-#: c-decl.c:5626
++#: c-decl.c:5625
+ #, gcc-internal-format
+ msgid "%Jflexible array member in otherwise empty struct"
+ msgstr "%J彈性陣列是çµæ§‹ä¸­çš„唯一æˆå“¡"
+
+-#: c-decl.c:5633
++#: c-decl.c:5632
+ #, gcc-internal-format
+ msgid "%Jinvalid use of structure with flexible array member"
+ msgstr "%Jå°åŒ…å«å½ˆæ€§é™£åˆ—æˆå“¡çš„çµæ§‹çš„無效使用"
+
+-#: c-decl.c:5742
++#: c-decl.c:5741
+ #, gcc-internal-format
+ msgid "union cannot be made transparent"
+ msgstr "è¯åˆä¸èƒ½æˆç‚ºé€æ˜Žçš„"
+
+-#: c-decl.c:5813
++#: c-decl.c:5812
+ #, gcc-internal-format
+ msgid "nested redefinition of %<enum %E%>"
+ msgstr "巢狀的 %<enum %E%> é‡å®šç¾©"
+
+ #. This enum is a named one that has been declared already.
+-#: c-decl.c:5820
++#: c-decl.c:5819
+ #, gcc-internal-format
+ msgid "redeclaration of %<enum %E%>"
+ msgstr "%<enum %E%> é‡å®£å‘Š"
+
+-#: c-decl.c:5883
++#: c-decl.c:5882
+ #, gcc-internal-format
+ msgid "enumeration values exceed range of largest integer"
+ msgstr "列舉值超éŽäº†æœ€å¤§æ•´æ•¸é¡žåž‹å¯è¡¨ç¤ºçš„範åœ"
+
+-#: c-decl.c:5900
++#: c-decl.c:5899
+ #, gcc-internal-format
+ msgid "specified mode too small for enumeral values"
+ msgstr "指定的模å¼å°åˆ—舉值來說太å°"
+
+-#: c-decl.c:5996
++#: c-decl.c:5995
+ #, gcc-internal-format
+ msgid "enumerator value for %qE is not an integer constant"
+ msgstr "%qE 的列舉值ä¸æ˜¯ä¸€å€‹æ•´æ•¸å¸¸æ•¸"
+
+-#: c-decl.c:6013
++#: c-decl.c:6012
+ #, gcc-internal-format
+ msgid "overflow in enumeration values"
+ msgstr "列舉值溢出"
+
+-#: c-decl.c:6018
++#: c-decl.c:6017
+ #, gcc-internal-format
+ msgid "ISO C restricts enumerator values to range of %<int%>"
+ msgstr "ISO C 將列舉值é™åˆ¶åœ¨ %<int%> 範åœå…§"
+
+-#: c-decl.c:6125
++#: c-decl.c:6124
+ #, gcc-internal-format
+ msgid "return type is an incomplete type"
+ msgstr "回傳ä¸å®Œå…¨çš„é¡žåž‹"
+
+-#: c-decl.c:6133
++#: c-decl.c:6132
+ #, gcc-internal-format
+ msgid "return type defaults to %<int%>"
+ msgstr "回傳類型é è¨­ç‚º %<int%>"
+
+-#: c-decl.c:6206
++#: c-decl.c:6205
+ #, gcc-internal-format
+ msgid "no previous prototype for %q+D"
+ msgstr "%q+D å…ˆå‰æ²’有原型"
+
+-#: c-decl.c:6215
++#: c-decl.c:6214
+ #, gcc-internal-format
+ msgid "%q+D was used with no prototype before its definition"
+ msgstr "%q+D 定義å‰æ²’有原型"
+
+-#: c-decl.c:6221 cp/decl.c:11126
++#: c-decl.c:6220 cp/decl.c:11224
+ #, gcc-internal-format
+ msgid "no previous declaration for %q+D"
+ msgstr "%q+D å…ˆå‰æ²’有宣告éŽ"
+
+-#: c-decl.c:6231
++#: c-decl.c:6230
+ #, gcc-internal-format
+ msgid "%q+D was used with no declaration before its definition"
+ msgstr "%q+D çš„å…§è¯å®£å‘Šå‡ºç¾åœ¨å…¶å®šç¾©ä¹‹å¾Œ"
+
+-#: c-decl.c:6254 c-decl.c:6723
++#: c-decl.c:6253 c-decl.c:6722
+ #, gcc-internal-format
+ msgid "return type of %q+D is not %<int%>"
+ msgstr "%q+D 的回傳類型ä¸æ˜¯ %<int%>"
+
+-#: c-decl.c:6259
++#: c-decl.c:6258
+ #, gcc-internal-format
+ msgid "%q+D is normally a non-static function"
+ msgstr "%q+D 一般是一個éžéœæ…‹çš„函å¼"
+
+-#: c-decl.c:6293
++#: c-decl.c:6292
+ #, gcc-internal-format
+ msgid "%Jold-style parameter declarations in prototyped function definition"
+ msgstr "%J原型函å¼å®šç¾©ä¸­ä½¿ç”¨äº†èˆŠå¼åƒæ•¸å®£å‘Š"
+
+-#: c-decl.c:6307
++#: c-decl.c:6306
+ #, gcc-internal-format
+ msgid "%Jtraditional C rejects ISO C style function definitions"
+ msgstr "%J傳統 C ä¸æŽ¥å— ISO C 風格的函å¼å®šç¾©"
+
+-#: c-decl.c:6323
++#: c-decl.c:6322
+ #, gcc-internal-format
+ msgid "%Jparameter name omitted"
+ msgstr "%Jçœç•¥äº†åƒæ•¸çš„å稱"
+
+-#: c-decl.c:6357
++#: c-decl.c:6356
+ #, gcc-internal-format
+ msgid "%Jold-style function definition"
+ msgstr "%J舊å¼çš„函å¼å®šç¾©"
+
+-#: c-decl.c:6366
++#: c-decl.c:6365
+ #, gcc-internal-format
+ msgid "%Jparameter name missing from parameter list"
+ msgstr "%Jåƒæ•¸æ¸…單中缺少åƒæ•¸å"
+
+-#: c-decl.c:6377
++#: c-decl.c:6376
+ #, gcc-internal-format
+ msgid "%q+D declared as a non-parameter"
+ msgstr "%q+D 宣告為éžåƒæ•¸"
+
+-#: c-decl.c:6382
++#: c-decl.c:6381
+ #, gcc-internal-format
+ msgid "multiple parameters named %q+D"
+ msgstr "多個å為 %q+D çš„åƒæ•¸"
+
+-#: c-decl.c:6390
++#: c-decl.c:6389
+ #, gcc-internal-format
+ msgid "parameter %q+D declared with void type"
+ msgstr "åƒæ•¸ %q+D 宣告為 void é¡žåž‹"
+
+-#: c-decl.c:6407 c-decl.c:6409
++#: c-decl.c:6406 c-decl.c:6408
+ #, gcc-internal-format
+ msgid "type of %q+D defaults to %<int%>"
+ msgstr "é¡žåž‹ %q+D é è¨­ç‚º %<int%>"
+
+-#: c-decl.c:6428
++#: c-decl.c:6427
+ #, gcc-internal-format
+ msgid "parameter %q+D has incomplete type"
+ msgstr "åƒæ•¸ %q+D çš„é¡žåž‹ä¸å®Œå…¨"
+
+-#: c-decl.c:6434
++#: c-decl.c:6433
+ #, gcc-internal-format
+ msgid "declaration for parameter %q+D but no such parameter"
+ msgstr "宣告的åƒæ•¸ %q+D ä¸å­˜åœ¨"
+
+-#: c-decl.c:6484
++#: c-decl.c:6483
+ #, gcc-internal-format
+ msgid "number of arguments doesn%'t match built-in prototype"
+ msgstr "引數個數與內建原型ä¸ç¬¦"
+
+-#: c-decl.c:6488
++#: c-decl.c:6487
+ #, gcc-internal-format
+ msgid "number of arguments doesn%'t match prototype"
+ msgstr "引數數目與原型ä¸ç¬¦"
+
+-#: c-decl.c:6489 c-decl.c:6529 c-decl.c:6542
++#: c-decl.c:6488 c-decl.c:6528 c-decl.c:6541
+ #, gcc-internal-format
+ msgid "%Hprototype declaration"
+ msgstr "%H原型宣告"
+
+-#: c-decl.c:6523
++#: c-decl.c:6522
+ #, gcc-internal-format
+ msgid "promoted argument %qD doesn%'t match built-in prototype"
+ msgstr "æå‡å¾Œçš„引數 %qD 與內建原型ä¸ç¬¦"
+
+-#: c-decl.c:6527
++#: c-decl.c:6526
+ #, gcc-internal-format
+ msgid "promoted argument %qD doesn%'t match prototype"
+ msgstr "æå‡å¾Œçš„引數 %qD 與原型ä¸ç¬¦"
+
+-#: c-decl.c:6537
++#: c-decl.c:6536
+ #, gcc-internal-format
+ msgid "argument %qD doesn%'t match built-in prototype"
+ msgstr "引數 %qD 與內建原型ä¸ç¬¦"
+
+-#: c-decl.c:6541
++#: c-decl.c:6540
+ #, gcc-internal-format
+ msgid "argument %qD doesn%'t match prototype"
+ msgstr "引數 %qD 與原型ä¸ç¬¦"
+
+-#: c-decl.c:6768 cp/decl.c:11820
++#: c-decl.c:6767 cp/decl.c:11918
+ #, gcc-internal-format
+ msgid "no return statement in function returning non-void"
+ msgstr "在有回傳值的函å¼ä¸­æœªç™¼ç¾ return 敘述"
+@@ -18749,437 +18724,437 @@
+ #. If we get here, declarations have been used in a for loop without
+ #. the C99 for loop scope. This doesn't make much sense, so don't
+ #. allow it.
+-#: c-decl.c:6841
++#: c-decl.c:6840
+ #, gcc-internal-format
+ msgid "%<for%> loop initial declaration used outside C99 mode"
+ msgstr "在 C99 模å¼ä¹‹å¤–使用 %<for%> 循環åˆå§‹åŒ–宣告"
+
+-#: c-decl.c:6870
++#: c-decl.c:6869
+ #, gcc-internal-format
+ msgid "declaration of static variable %q+D in %<for%> loop initial declaration"
+ msgstr "在 %<for%> 循環åˆå§‹å®£å‘Šä¸­å®£å‘Šäº†éœæ…‹è®Šæ•¸ %q+D"
+
+-#: c-decl.c:6873
++#: c-decl.c:6872
+ #, gcc-internal-format
+ msgid "declaration of %<extern%> variable %q+D in %<for%> loop initial declaration"
+ msgstr "在 %<for%> 循環åˆå§‹å®£å‘Šä¸­å®£å‘Šäº† %<extern%> 變數 %q+D"
+
+-#: c-decl.c:6878
++#: c-decl.c:6877
+ #, gcc-internal-format
+ msgid "%<struct %E%> declared in %<for%> loop initial declaration"
+ msgstr "%<struct %E%> 宣告於 %<for%> 循環åˆå§‹å®£å‘Šä¸­"
+
+-#: c-decl.c:6882
++#: c-decl.c:6881
+ #, gcc-internal-format
+ msgid "%<union %E%> declared in %<for%> loop initial declaration"
+ msgstr "%<union %E%> 宣告於 %<for%> 循環åˆå§‹å®£å‘Šä¸­"
+
+-#: c-decl.c:6886
++#: c-decl.c:6885
+ #, gcc-internal-format
+ msgid "%<enum %E%> declared in %<for%> loop initial declaration"
+ msgstr "%<enum %E%> 宣告於 %<for%> 循環åˆå§‹å®£å‘Šä¸­"
+
+-#: c-decl.c:6890
++#: c-decl.c:6889
+ #, gcc-internal-format
+ msgid "declaration of non-variable %q+D in %<for%> loop initial declaration"
+ msgstr "在 %<for%> 循環åˆå§‹å®£å‘Šä¸­å®£å‘Šäº†éžè®Šæ•¸ %q+D"
+
+-#: c-decl.c:7178 c-decl.c:7420 c-decl.c:7716
++#: c-decl.c:7177 c-decl.c:7419 c-decl.c:7715
+ #, gcc-internal-format
+ msgid "duplicate %qE"
+ msgstr "é‡è¤‡çš„ %qE"
+
+-#: c-decl.c:7201 c-decl.c:7430 c-decl.c:7617
++#: c-decl.c:7200 c-decl.c:7429 c-decl.c:7616
+ #, gcc-internal-format
+ msgid "two or more data types in declaration specifiers"
+ msgstr "宣告指定了兩個以上的資料類型"
+
+-#: c-decl.c:7213 cp/parser.c:2149
++#: c-decl.c:7212 cp/parser.c:2152
+ #, gcc-internal-format
+ msgid "%<long long long%> is too long for GCC"
+ msgstr "%<long long long%> å° GCC 來說太長了"
+
+-#: c-decl.c:7220 c-decl.c:7520
++#: c-decl.c:7219 c-decl.c:7519
+ #, gcc-internal-format
+ msgid "both %<long long%> and %<double%> in declaration specifiers"
+ msgstr "宣告中åŒæ™‚使用了 %<long long%> å’Œ %<double%>"
+
+-#: c-decl.c:7226
++#: c-decl.c:7225
+ #, gcc-internal-format
+ msgid "ISO C90 does not support %<long long%>"
+ msgstr "ISO C90 ä¸æ”¯æ´ %<long long%>"
+
+-#: c-decl.c:7231 c-decl.c:7260
++#: c-decl.c:7230 c-decl.c:7259
+ #, gcc-internal-format
+ msgid "both %<long%> and %<short%> in declaration specifiers"
+ msgstr "宣告中åŒæ™‚使用了 <long%> å’Œ %<short%>"
+
+-#: c-decl.c:7234 c-decl.c:7437
++#: c-decl.c:7233 c-decl.c:7436
+ #, gcc-internal-format
+ msgid "both %<long%> and %<void%> in declaration specifiers"
+ msgstr "宣告中åŒæ™‚使用了 %<long%> å’Œ %<void%>"
+
+-#: c-decl.c:7237 c-decl.c:7459
++#: c-decl.c:7236 c-decl.c:7458
+ #, gcc-internal-format
+ msgid "both %<long%> and %<_Bool%> in declaration specifiers"
+ msgstr "宣告中åŒæ™‚使用了 %<long%> å’Œ %<_Bool%>"
+
+-#: c-decl.c:7240 c-decl.c:7481
++#: c-decl.c:7239 c-decl.c:7480
+ #, gcc-internal-format
+ msgid "both %<long%> and %<char%> in declaration specifiers"
+ msgstr "宣告中åŒæ™‚使用了 %<long%> å’Œ %<char%>"
+
+-#: c-decl.c:7243 c-decl.c:7501
++#: c-decl.c:7242 c-decl.c:7500
+ #, gcc-internal-format
+ msgid "both %<long%> and %<float%> in declaration specifiers"
+ msgstr "宣告中åŒæ™‚使用了 %<long%> å’Œ %<float%>"
+
+-#: c-decl.c:7246
++#: c-decl.c:7245
+ #, fuzzy, gcc-internal-format
+ msgid "both %<long%> and %<_Decimal32%> in declaration specifiers"
+ msgstr "宣告中åŒæ™‚使用了 %<long%> å’Œ %<char%>"
+
+-#: c-decl.c:7249
++#: c-decl.c:7248
+ #, fuzzy, gcc-internal-format
+ msgid "both %<long%> and %<_Decimal64%> in declaration specifiers"
+ msgstr "宣告中åŒæ™‚使用了 %<long%> å’Œ %<char%>"
+
+-#: c-decl.c:7252
++#: c-decl.c:7251
+ #, fuzzy, gcc-internal-format
+ msgid "both %<long%> and %<_Decimal128%> in declaration specifiers"
+ msgstr "宣告中åŒæ™‚使用了 %<long%> å’Œ %<char%>"
+
+-#: c-decl.c:7263 c-decl.c:7440
++#: c-decl.c:7262 c-decl.c:7439
+ #, gcc-internal-format
+ msgid "both %<short%> and %<void%> in declaration specifiers"
+ msgstr "宣告中åŒæ™‚使用了 %<short%> å’Œ %<void%>"
+
+-#: c-decl.c:7266 c-decl.c:7462
++#: c-decl.c:7265 c-decl.c:7461
+ #, gcc-internal-format
+ msgid "both %<short%> and %<_Bool%> in declaration specifiers"
+ msgstr "宣告中åŒæ™‚使用了 %<short%> å’Œ %<_Bool%>"
+
+-#: c-decl.c:7269 c-decl.c:7484
++#: c-decl.c:7268 c-decl.c:7483
+ #, gcc-internal-format
+ msgid "both %<short%> and %<char%> in declaration specifiers"
+ msgstr "宣告中åŒæ™‚使用了 %<short%> å’Œ %<char%>"
+
+-#: c-decl.c:7272 c-decl.c:7504
++#: c-decl.c:7271 c-decl.c:7503
+ #, gcc-internal-format
+ msgid "both %<short%> and %<float%> in declaration specifiers"
+ msgstr "宣告中åŒæ™‚使用了 %<short%> å’Œ %<float%>"
+
+-#: c-decl.c:7275 c-decl.c:7523
++#: c-decl.c:7274 c-decl.c:7522
+ #, gcc-internal-format
+ msgid "both %<short%> and %<double%> in declaration specifiers"
+ msgstr "宣告中åŒæ™‚使用了 %<short%> å’Œ %<double%>"
+
+-#: c-decl.c:7278
++#: c-decl.c:7277
+ #, fuzzy, gcc-internal-format
+ msgid "both %<short%> and %<_Decimal32%> in declaration specifiers"
+ msgstr "宣告中åŒæ™‚使用了 %<short%> å’Œ %<char%>"
+
+-#: c-decl.c:7281
++#: c-decl.c:7280
+ #, fuzzy, gcc-internal-format
+ msgid "both %<short%> and %<_Decimal64%> in declaration specifiers"
+ msgstr "宣告中åŒæ™‚使用了 %<short%> å’Œ %<char%>"
+
+-#: c-decl.c:7284
++#: c-decl.c:7283
+ #, fuzzy, gcc-internal-format
+ msgid "both %<short%> and %<_Decimal128%> in declaration specifiers"
+ msgstr "宣告中åŒæ™‚使用了 %<short%> å’Œ %<char%>"
+
+-#: c-decl.c:7292 c-decl.c:7321
++#: c-decl.c:7291 c-decl.c:7320
+ #, gcc-internal-format
+ msgid "both %<signed%> and %<unsigned%> in declaration specifiers"
+ msgstr "宣告中åŒæ™‚使用了 %<signed%> å’Œ %<unsigned%>"
+
+-#: c-decl.c:7295 c-decl.c:7443
++#: c-decl.c:7294 c-decl.c:7442
+ #, gcc-internal-format
+ msgid "both %<signed%> and %<void%> in declaration specifiers"
+ msgstr "宣告中åŒæ™‚使用了 %<signed%> å’Œ %<void%>"
+
+-#: c-decl.c:7298 c-decl.c:7465
++#: c-decl.c:7297 c-decl.c:7464
+ #, gcc-internal-format
+ msgid "both %<signed%> and %<_Bool%> in declaration specifiers"
+ msgstr "宣告中åŒæ™‚使用了 %<signed%> å’Œ %<_Bool%>"
+
+-#: c-decl.c:7301 c-decl.c:7507
++#: c-decl.c:7300 c-decl.c:7506
+ #, gcc-internal-format
+ msgid "both %<signed%> and %<float%> in declaration specifiers"
+ msgstr "宣告中åŒæ™‚使用了 %<signed%> å’Œ %<float%>"
+
+-#: c-decl.c:7304 c-decl.c:7526
++#: c-decl.c:7303 c-decl.c:7525
+ #, gcc-internal-format
+ msgid "both %<signed%> and %<double%> in declaration specifiers"
+ msgstr "宣告中åŒæ™‚使用了 %<signed%> å’Œ %<double%>"
+
+-#: c-decl.c:7307
++#: c-decl.c:7306
+ #, fuzzy, gcc-internal-format
+ msgid "both %<signed%> and %<_Decimal32%> in declaration specifiers"
+ msgstr "宣告中åŒæ™‚使用了 %<signed%> å’Œ %<_Bool%>"
+
+-#: c-decl.c:7310
++#: c-decl.c:7309
+ #, fuzzy, gcc-internal-format
+ msgid "both %<signed%> and %<_Decimal64%> in declaration specifiers"
+ msgstr "宣告中åŒæ™‚使用了 %<signed%> å’Œ %<_Bool%>"
+
+-#: c-decl.c:7313
++#: c-decl.c:7312
+ #, fuzzy, gcc-internal-format
+ msgid "both %<signed%> and %<_Decimal128%> in declaration specifiers"
+ msgstr "宣告中åŒæ™‚使用了 %<signed%> å’Œ %<_Bool%>"
+
+-#: c-decl.c:7324 c-decl.c:7446
++#: c-decl.c:7323 c-decl.c:7445
+ #, gcc-internal-format
+ msgid "both %<unsigned%> and %<void%> in declaration specifiers"
+ msgstr "宣告中åŒæ™‚使用了 %<unsigned%> å’Œ %<void%>"
+
+-#: c-decl.c:7327 c-decl.c:7468
++#: c-decl.c:7326 c-decl.c:7467
+ #, gcc-internal-format
+ msgid "both %<unsigned%> and %<_Bool%> in declaration specifiers"
+ msgstr "宣告中åŒæ™‚使用了 %<unsigned%> å’Œ %<_Bool%>"
+
+-#: c-decl.c:7330 c-decl.c:7510
++#: c-decl.c:7329 c-decl.c:7509
+ #, gcc-internal-format
+ msgid "both %<unsigned%> and %<float%> in declaration specifiers"
+ msgstr "宣告中åŒæ™‚使用了 %<unsigned%> å’Œ %<float%>"
+
+-#: c-decl.c:7333 c-decl.c:7529
++#: c-decl.c:7332 c-decl.c:7528
+ #, gcc-internal-format
+ msgid "both %<unsigned%> and %<double%> in declaration specifiers"
+ msgstr "宣告中åŒæ™‚使用了 %<unsigned%> å’Œ %<double%>"
+
+-#: c-decl.c:7336
++#: c-decl.c:7335
+ #, fuzzy, gcc-internal-format
+ msgid "both %<unsigned%> and %<_Decimal32%> in declaration specifiers"
+ msgstr "宣告中åŒæ™‚使用了 %<unsigned%> å’Œ %<_Bool%>"
+
+-#: c-decl.c:7339
++#: c-decl.c:7338
+ #, fuzzy, gcc-internal-format
+ msgid "both %<unsigned%> and %<_Decimal64%> in declaration specifiers"
+ msgstr "宣告中åŒæ™‚使用了 %<unsigned%> å’Œ %<_Bool%>"
+
+-#: c-decl.c:7342
++#: c-decl.c:7341
+ #, fuzzy, gcc-internal-format
+ msgid "both %<unsigned%> and %<_Decimal128%> in declaration specifiers"
+ msgstr "宣告中åŒæ™‚使用了 %<unsigned%> å’Œ %<_Bool%>"
+
+-#: c-decl.c:7350
++#: c-decl.c:7349
+ #, gcc-internal-format
+ msgid "ISO C90 does not support complex types"
+ msgstr "ISO C90 ä¸æ”¯æ´è¤‡æ•¸é¡žåž‹"
+
+-#: c-decl.c:7352 c-decl.c:7449
++#: c-decl.c:7351 c-decl.c:7448
+ #, gcc-internal-format
+ msgid "both %<complex%> and %<void%> in declaration specifiers"
+ msgstr "宣告中åŒæ™‚使用了 %<complex%> å’Œ %<void%>"
+
+-#: c-decl.c:7355 c-decl.c:7471
++#: c-decl.c:7354 c-decl.c:7470
+ #, gcc-internal-format
+ msgid "both %<complex%> and %<_Bool%> in declaration specifiers"
+ msgstr "宣告中åŒæ™‚使用了 %<complex%> å’Œ %<_Bool%>"
+
+-#: c-decl.c:7358
++#: c-decl.c:7357
+ #, fuzzy, gcc-internal-format
+ msgid "both %<complex%> and %<_Decimal32%> in declaration specifiers"
+ msgstr "宣告中åŒæ™‚使用了 %<complex%> å’Œ %<_Bool%>"
+
+-#: c-decl.c:7361
++#: c-decl.c:7360
+ #, fuzzy, gcc-internal-format
+ msgid "both %<complex%> and %<_Decimal64%> in declaration specifiers"
+ msgstr "宣告中åŒæ™‚使用了 %<complex%> å’Œ %<_Bool%>"
+
+-#: c-decl.c:7364
++#: c-decl.c:7363
+ #, fuzzy, gcc-internal-format
+ msgid "both %<complex%> and %<_Decimal128%> in declaration specifiers"
+ msgstr "宣告中åŒæ™‚使用了 %<complex%> å’Œ %<_Bool%>"
+
+-#: c-decl.c:7367
++#: c-decl.c:7366
+ #, fuzzy, gcc-internal-format
+ msgid "both %<complex%> and %<_Fract%> in declaration specifiers"
+ msgstr "宣告中åŒæ™‚使用了 %<complex%> å’Œ %<_Bool%>"
+
+-#: c-decl.c:7370
++#: c-decl.c:7369
+ #, fuzzy, gcc-internal-format
+ msgid "both %<complex%> and %<_Accum%> in declaration specifiers"
+ msgstr "宣告中åŒæ™‚使用了 %<complex%> å’Œ %<_Bool%>"
+
+-#: c-decl.c:7373
++#: c-decl.c:7372
+ #, fuzzy, gcc-internal-format
+ msgid "both %<complex%> and %<_Sat%> in declaration specifiers"
+ msgstr "宣告中åŒæ™‚使用了 %<complex%> å’Œ %<_Bool%>"
+
+-#: c-decl.c:7381
++#: c-decl.c:7380
+ #, fuzzy, gcc-internal-format
+ msgid "ISO C does not support saturating types"
+ msgstr "ISO C ä¸æ”¯æ´è¤‡æ•´æ•¸"
+
+-#: c-decl.c:7383 c-decl.c:7452
++#: c-decl.c:7382 c-decl.c:7451
+ #, fuzzy, gcc-internal-format
+ msgid "both %<_Sat%> and %<void%> in declaration specifiers"
+ msgstr "宣告中åŒæ™‚使用了 %<short%> å’Œ %<void%>"
+
+-#: c-decl.c:7386 c-decl.c:7474
++#: c-decl.c:7385 c-decl.c:7473
+ #, fuzzy, gcc-internal-format
+ msgid "both %<_Sat%> and %<_Bool%> in declaration specifiers"
+ msgstr "宣告中åŒæ™‚使用了 %<short%> å’Œ %<_Bool%>"
+
+-#: c-decl.c:7389 c-decl.c:7487
++#: c-decl.c:7388 c-decl.c:7486
+ #, fuzzy, gcc-internal-format
+ msgid "both %<_Sat%> and %<char%> in declaration specifiers"
+ msgstr "宣告中åŒæ™‚使用了 %<short%> å’Œ %<char%>"
+
+-#: c-decl.c:7392 c-decl.c:7494
++#: c-decl.c:7391 c-decl.c:7493
+ #, fuzzy, gcc-internal-format
+ msgid "both %<_Sat%> and %<int%> in declaration specifiers"
+ msgstr "宣告中åŒæ™‚使用了 %<short%> å’Œ %<void%>"
+
+-#: c-decl.c:7395 c-decl.c:7513
++#: c-decl.c:7394 c-decl.c:7512
+ #, fuzzy, gcc-internal-format
+ msgid "both %<_Sat%> and %<float%> in declaration specifiers"
+ msgstr "宣告中åŒæ™‚使用了 %<short%> å’Œ %<float%>"
+
+-#: c-decl.c:7398 c-decl.c:7532
++#: c-decl.c:7397 c-decl.c:7531
+ #, fuzzy, gcc-internal-format
+ msgid "both %<_Sat%> and %<double%> in declaration specifiers"
+ msgstr "宣告中åŒæ™‚使用了 %<short%> å’Œ %<double%>"
+
+-#: c-decl.c:7401
++#: c-decl.c:7400
+ #, fuzzy, gcc-internal-format
+ msgid "both %<_Sat%> and %<_Decimal32%> in declaration specifiers"
+ msgstr "宣告中åŒæ™‚使用了 %<short%> å’Œ %<char%>"
+
+-#: c-decl.c:7404
++#: c-decl.c:7403
+ #, fuzzy, gcc-internal-format
+ msgid "both %<_Sat%> and %<_Decimal64%> in declaration specifiers"
+ msgstr "宣告中åŒæ™‚使用了 %<short%> å’Œ %<char%>"
+
+-#: c-decl.c:7407
++#: c-decl.c:7406
+ #, fuzzy, gcc-internal-format
+ msgid "both %<_Sat%> and %<_Decimal128%> in declaration specifiers"
+ msgstr "宣告中åŒæ™‚使用了 %<short%> å’Œ %<char%>"
+
+-#: c-decl.c:7410
++#: c-decl.c:7409
+ #, fuzzy, gcc-internal-format
+ msgid "both %<_Sat%> and %<complex%> in declaration specifiers"
+ msgstr "宣告中åŒæ™‚使用了 %<short%> å’Œ %<double%>"
+
+-#: c-decl.c:7549
++#: c-decl.c:7548
+ #, fuzzy, gcc-internal-format
+ msgid "both %<long long%> and %<%s%> in declaration specifiers"
+ msgstr "宣告中åŒæ™‚使用了 %<long long%> å’Œ %<double%>"
+
+-#: c-decl.c:7552
++#: c-decl.c:7551
+ #, fuzzy, gcc-internal-format
+ msgid "both %<long%> and %<%s%> in declaration specifiers"
+ msgstr "宣告中åŒæ™‚使用了 <long%> å’Œ %<short%>"
+
+-#: c-decl.c:7555
++#: c-decl.c:7554
+ #, fuzzy, gcc-internal-format
+ msgid "both %<short%> and %<%s%> in declaration specifiers"
+ msgstr "宣告中åŒæ™‚使用了 %<short%> å’Œ %<void%>"
+
+-#: c-decl.c:7558
++#: c-decl.c:7557
+ #, fuzzy, gcc-internal-format
+ msgid "both %<signed%> and %<%s%> in declaration specifiers"
+ msgstr "宣告中åŒæ™‚使用了 %<signed%> å’Œ %<void%>"
+
+-#: c-decl.c:7561
++#: c-decl.c:7560
+ #, fuzzy, gcc-internal-format
+ msgid "both %<unsigned%> and %<%s%> in declaration specifiers"
+ msgstr "宣告中åŒæ™‚使用了 %<unsigned%> å’Œ %<void%>"
+
+-#: c-decl.c:7564 c-decl.c:7590
++#: c-decl.c:7563 c-decl.c:7589
+ #, fuzzy, gcc-internal-format
+ msgid "both %<complex%> and %<%s%> in declaration specifiers"
+ msgstr "宣告中åŒæ™‚使用了 %<complex%> å’Œ %<void%>"
+
+-#: c-decl.c:7567
++#: c-decl.c:7566
+ #, fuzzy, gcc-internal-format
+ msgid "both %<_Sat%> and %<%s%> in declaration specifiers"
+ msgstr "宣告中åŒæ™‚使用了 <long%> å’Œ %<short%>"
+
+-#: c-decl.c:7577
++#: c-decl.c:7576
+ #, fuzzy, gcc-internal-format
+ msgid "decimal floating point not supported for this target"
+ msgstr "-fdata-sections 在此目標平臺上ä¸å—支æ´"
+
+-#: c-decl.c:7579
++#: c-decl.c:7578
+ #, fuzzy, gcc-internal-format
+ msgid "ISO C does not support decimal floating point"
+ msgstr "ISO C90 ä¸æ”¯æ´ %<long long%>"
+
+-#: c-decl.c:7598
++#: c-decl.c:7597
+ #, fuzzy, gcc-internal-format
+ msgid "fixed-point types not supported for this target"
+ msgstr "-fdata-sections 在此目標平臺上ä¸å—支æ´"
+
+-#: c-decl.c:7600
++#: c-decl.c:7599
+ #, fuzzy, gcc-internal-format
+ msgid "ISO C does not support fixed-point types"
+ msgstr "ISO C ä¸æ”¯æ´è¤‡æ•´æ•¸"
+
+-#: c-decl.c:7634
++#: c-decl.c:7633
+ #, gcc-internal-format
+ msgid "%qE fails to be a typedef or built in type"
+ msgstr "%qE ä¸æ˜¯ä¸€å€‹ typedef 類型,也ä¸æ˜¯ä¸€å€‹å…§å»ºé¡žåž‹"
+
+-#: c-decl.c:7667
++#: c-decl.c:7666
+ #, gcc-internal-format
+ msgid "%qE is not at beginning of declaration"
+ msgstr "%qE 沒有出ç¾åœ¨å®£å‘Šçš„é–‹é ­"
+
+-#: c-decl.c:7681
++#: c-decl.c:7680
+ #, gcc-internal-format
+ msgid "%<__thread%> used with %<auto%>"
+ msgstr "%<__thread%> 與 %<auto%> 一起使用"
+
+-#: c-decl.c:7683
++#: c-decl.c:7682
+ #, gcc-internal-format
+ msgid "%<__thread%> used with %<register%>"
+ msgstr "%<__thread%> 與 %<register%> 一起使用"
+
+-#: c-decl.c:7685
++#: c-decl.c:7684
+ #, gcc-internal-format
+ msgid "%<__thread%> used with %<typedef%>"
+ msgstr "%<__thread%> 與 %<typedef%> 一起使用"
+
+-#: c-decl.c:7696
++#: c-decl.c:7695
+ #, gcc-internal-format
+ msgid "%<__thread%> before %<extern%>"
+ msgstr "%<__thread%> 出ç¾åœ¨ %<extern%> 之å‰"
+
+-#: c-decl.c:7705
++#: c-decl.c:7704
+ #, gcc-internal-format
+ msgid "%<__thread%> before %<static%>"
+ msgstr "%<__thread%> 出ç¾åœ¨ %<static%> 之å‰"
+
+-#: c-decl.c:7721
++#: c-decl.c:7720
+ #, gcc-internal-format
+ msgid "multiple storage classes in declaration specifiers"
+ msgstr "宣告指定了多個存儲類別"
+
+-#: c-decl.c:7728
++#: c-decl.c:7727
+ #, gcc-internal-format
+ msgid "%<__thread%> used with %qE"
+ msgstr "%<__thread%> 與 %qE 一起使用"
+
+-#: c-decl.c:7775
++#: c-decl.c:7774
+ #, fuzzy, gcc-internal-format
+ msgid "%<_Sat%> is used without %<_Fract%> or %<_Accum%>"
+ msgstr "%<@try%> 缺少å°æ‡‰çš„ %<@catch%> 或 %<@finally%>"
+
+-#: c-decl.c:7787
++#: c-decl.c:7786
+ #, gcc-internal-format
+ msgid "ISO C does not support plain %<complex%> meaning %<double complex%>"
+ msgstr "ISO C ä¸æ”¯æ´å–®ç¨ç”¨ %<complex%> 表示 %<double complex%>"
+
+-#: c-decl.c:7832 c-decl.c:7858
++#: c-decl.c:7831 c-decl.c:7857
+ #, gcc-internal-format
+ msgid "ISO C does not support complex integer types"
+ msgstr "ISO C ä¸æ”¯æ´è¤‡æ•´æ•¸"
+
+-#: c-decl.c:8008 toplev.c:847
++#: c-decl.c:8007 toplev.c:847
+ #, gcc-internal-format
+ msgid "%q+F used but never defined"
+ msgstr "%q+F 使用éŽä½†å¾žæœªå®šç¾©"
+@@ -19591,37 +19566,37 @@
+ msgid "invalid expression type for %<#pragma omp atomic%>"
+ msgstr "無效的é‹ç®—å¼åšç‚ºé‹ç®—å…ƒ"
+
+-#: c-omp.c:218
++#: c-omp.c:219
+ #, fuzzy, gcc-internal-format
+ msgid "%Hinvalid type for iteration variable %qE"
+ msgstr "屬性 %qE çš„å‘é‡é¡žåž‹ç„¡æ•ˆ"
+
+-#: c-omp.c:222
++#: c-omp.c:223
+ #, fuzzy, gcc-internal-format
+ msgid "%Hiteration variable %qE is unsigned"
+ msgstr "實體變數 %qs 大å°ä¸æ˜Ž"
+
+-#: c-omp.c:233
++#: c-omp.c:234
+ #, fuzzy, gcc-internal-format
+ msgid "%H%qE is not initialized"
+ msgstr "åƒæ•¸ %qD å·²åˆå§‹åŒ–"
+
+-#: c-omp.c:246 cp/semantics.c:3840
++#: c-omp.c:247 cp/semantics.c:3872
+ #, gcc-internal-format
+ msgid "%Hmissing controlling predicate"
+ msgstr ""
+
+-#: c-omp.c:304
++#: c-omp.c:305
+ #, fuzzy, gcc-internal-format
+ msgid "%Hinvalid controlling predicate"
+ msgstr "無效的æ¢ä»¶é‹ç®—å…ƒ"
+
+-#: c-omp.c:311 cp/semantics.c:3846
++#: c-omp.c:312 cp/semantics.c:3878
+ #, fuzzy, gcc-internal-format
+ msgid "%Hmissing increment expression"
+ msgstr "å–消賦值"
+
+-#: c-omp.c:361
++#: c-omp.c:362
+ #, fuzzy, gcc-internal-format
+ msgid "%Hinvalid increment expression"
+ msgstr "無效的真值é‹ç®—å¼"
+@@ -19666,152 +19641,152 @@
+ msgid "obsolete option -I- used, please use -iquote instead"
+ msgstr "使用了éŽæ™‚çš„é¸é … -I-,請改用 -iquote"
+
+-#: c-opts.c:508
++#: c-opts.c:510
+ #, gcc-internal-format
+ msgid "argument %qs to %<-Wnormalized%> not recognized"
+ msgstr "引數 %qs(給予 %<-Wnormalized%>)無法識別"
+
+-#: c-opts.c:595
++#: c-opts.c:597
+ #, gcc-internal-format
+ msgid "switch %qs is no longer supported"
+ msgstr "é–‹é—œ %qs ä¸å†è¢«æ”¯æ´"
+
+-#: c-opts.c:705
++#: c-opts.c:707
+ #, gcc-internal-format
+ msgid "-fhandle-exceptions has been renamed -fexceptions (and is now on by default)"
+ msgstr "-fhandle-exceptions 已被é‡æ–°å‘½å為 -fexceptions (並且ç¾åœ¨é è¨­ç‚ºé–‹)"
+
+-#: c-opts.c:911
++#: c-opts.c:913
+ #, gcc-internal-format
+ msgid "output filename specified twice"
+ msgstr "輸出檔案å稱指定了兩次"
+
+-#: c-opts.c:1051
++#: c-opts.c:1053
+ #, gcc-internal-format
+ msgid "-fno-gnu89-inline is only supported in GNU99 or C99 mode"
+ msgstr ""
+
+-#: c-opts.c:1126
++#: c-opts.c:1142
+ #, gcc-internal-format
+ msgid "-Wformat-y2k ignored without -Wformat"
+ msgstr "-Wformat-y2k 未與 -Wformat 一起使用,已忽略"
+
+-#: c-opts.c:1128
++#: c-opts.c:1144
+ #, gcc-internal-format
+ msgid "-Wformat-extra-args ignored without -Wformat"
+ msgstr "-Wformat-extra-args 未與 -Wformat 一起使用,已忽略"
+
+-#: c-opts.c:1130
++#: c-opts.c:1146
+ #, gcc-internal-format
+ msgid "-Wformat-zero-length ignored without -Wformat"
+ msgstr "-Wformat-zero-length 未與 -Wformat 一起使用,已忽略"
+
+-#: c-opts.c:1132
++#: c-opts.c:1148
+ #, gcc-internal-format
+ msgid "-Wformat-nonliteral ignored without -Wformat"
+ msgstr "-Wformat-nonliteral 未與 -Wformat 一起使用,已忽略"
+
+-#: c-opts.c:1134
++#: c-opts.c:1150
+ #, fuzzy, gcc-internal-format
+ msgid "-Wformat-contains-nul ignored without -Wformat"
+ msgstr "-Wformat-nonliteral 未與 -Wformat 一起使用,已忽略"
+
+-#: c-opts.c:1136
++#: c-opts.c:1152
+ #, gcc-internal-format
+ msgid "-Wformat-security ignored without -Wformat"
+ msgstr "-Wformat-security 未與 -Wformat 一起使用,已忽略"
+
+-#: c-opts.c:1160
++#: c-opts.c:1176
+ #, gcc-internal-format
+ msgid "opening output file %s: %m"
+ msgstr "開啟輸出檔案 %s:%m"
+
+-#: c-opts.c:1165
++#: c-opts.c:1181
+ #, gcc-internal-format
+ msgid "too many filenames given. Type %s --help for usage"
+ msgstr "給定了太多檔案å稱。試用 %s --help 以了解用法"
+
+-#: c-opts.c:1249
++#: c-opts.c:1265
+ #, fuzzy, gcc-internal-format
+ msgid "The C parser does not support -dy, option ignored"
+ msgstr "ä¸æ”¯æ´ APCS é‡å…¥ç¨‹å¼ç¢¼ã€‚已忽略"
+
+-#: c-opts.c:1253
++#: c-opts.c:1269
+ #, gcc-internal-format
+ msgid "The Objective-C parser does not support -dy, option ignored"
+ msgstr ""
+
+-#: c-opts.c:1256
++#: c-opts.c:1272
+ #, fuzzy, gcc-internal-format
+ msgid "The C++ parser does not support -dy, option ignored"
+ msgstr "ä¸æ”¯æ´ APCS é‡å…¥ç¨‹å¼ç¢¼ã€‚已忽略"
+
+-#: c-opts.c:1260
++#: c-opts.c:1276
+ #, gcc-internal-format
+ msgid "The Objective-C++ parser does not support -dy, option ignored"
+ msgstr ""
+
+-#: c-opts.c:1309
++#: c-opts.c:1326
+ #, gcc-internal-format
+ msgid "opening dependency file %s: %m"
+ msgstr "é–‹å•Ÿä¾è³´æª”案 %s:%m"
+
+-#: c-opts.c:1319
++#: c-opts.c:1336
+ #, gcc-internal-format
+ msgid "closing dependency file %s: %m"
+ msgstr "關閉ä¾è³´æª”案 %s:%m"
+
+-#: c-opts.c:1322
++#: c-opts.c:1339
+ #, gcc-internal-format
+ msgid "when writing output to %s: %m"
+ msgstr "當寫入輸出到 %s 時:%m"
+
+-#: c-opts.c:1402
++#: c-opts.c:1419
+ #, gcc-internal-format
+ msgid "to generate dependencies you must specify either -M or -MM"
+ msgstr "è¦ç”¢ç”Ÿä¾è³´é …,您必須指定 -M 或 -MM"
+
+-#: c-opts.c:1448
++#: c-opts.c:1469
+ #, gcc-internal-format
+ msgid "-fdirectives-only is incompatible with -Wunused_macros"
+ msgstr ""
+
+-#: c-opts.c:1450
++#: c-opts.c:1471
+ #, gcc-internal-format
+ msgid "-fdirectives-only is incompatible with -traditional"
+ msgstr ""
+
+-#: c-opts.c:1588
++#: c-opts.c:1609
+ #, gcc-internal-format
+ msgid "too late for # directive to set debug directory"
+ msgstr "使用 # 指示設定除錯目錄太é²"
+
+-#: c-parser.c:1070
++#: c-parser.c:1072
+ #, fuzzy, gcc-internal-format
+ msgid "%HISO C forbids an empty source file"
+ msgstr "ISO C ä¸å…許來æºæª”案為空"
+
+-#: c-parser.c:1156 c-parser.c:6091
++#: c-parser.c:1158 c-parser.c:6150
+ #, fuzzy, gcc-internal-format
+ msgid "%HISO C does not allow extra %<;%> outside of a function"
+ msgstr "ISO C ä¸æ”¯æ´åœ¨å‡½å¼å¤–使用多餘的 %<;%>"
+
+-#: c-parser.c:1259 c-parser.c:6640
++#: c-parser.c:1261 c-parser.c:6699
+ #, gcc-internal-format
+ msgid "expected declaration specifiers"
+ msgstr "需è¦æŒ‡å®šå®£å‘Š"
+
+-#: c-parser.c:1271
++#: c-parser.c:1273
+ #, fuzzy, gcc-internal-format
+ msgid "%Hempty declaration"
+ msgstr "空宣告"
+
+-#: c-parser.c:1307
++#: c-parser.c:1309
+ #, fuzzy, gcc-internal-format
+ msgid "%Hdata definition has no type or storage class"
+ msgstr "資料定義時沒有類型或存儲類別"
+
+-#: c-parser.c:1362
++#: c-parser.c:1364
+ #, gcc-internal-format
+ msgid "expected %<,%> or %<;%>"
+ msgstr "éœ€è¦ %<,%> 或 %<;%>"
+@@ -19819,174 +19794,189 @@
+ #. This can appear in many cases looking nothing like a
+ #. function definition, so we don't give a more specific
+ #. error suggesting there was one.
+-#: c-parser.c:1369 c-parser.c:1386
++#: c-parser.c:1371 c-parser.c:1388
+ #, gcc-internal-format
+ msgid "expected %<=%>, %<,%>, %<;%>, %<asm%> or %<__attribute__%>"
+ msgstr "éœ€è¦ %<=%>,%<,%>,%<;%>,%<asm%> 或 %<__attribute__%>"
+
+-#: c-parser.c:1378
++#: c-parser.c:1380
+ #, fuzzy, gcc-internal-format
+ msgid "%HISO C forbids nested functions"
+ msgstr "ISO C++ ä¸å…許巢狀函å¼"
+
+-#: c-parser.c:1743 c-parser.c:2553 c-parser.c:3189 c-parser.c:3445
+-#: c-parser.c:4308 c-parser.c:4895 c-parser.c:5298 c-parser.c:5318
+-#: c-parser.c:5434 c-parser.c:5582 c-parser.c:5599 c-parser.c:5731
+-#: c-parser.c:5743 c-parser.c:5768 c-parser.c:5903 c-parser.c:5932
+-#: c-parser.c:5940 c-parser.c:5968 c-parser.c:5982 c-parser.c:6201
+-#: c-parser.c:6300 c-parser.c:6803 c-parser.c:7426
++#: c-parser.c:1745 c-parser.c:2555 c-parser.c:3191 c-parser.c:3447
++#: c-parser.c:4367 c-parser.c:4954 c-parser.c:5357 c-parser.c:5377
++#: c-parser.c:5493 c-parser.c:5641 c-parser.c:5658 c-parser.c:5790
++#: c-parser.c:5802 c-parser.c:5827 c-parser.c:5962 c-parser.c:5991
++#: c-parser.c:5999 c-parser.c:6027 c-parser.c:6041 c-parser.c:6260
++#: c-parser.c:6359 c-parser.c:6862 c-parser.c:7493
+ #, gcc-internal-format
+ msgid "expected identifier"
+ msgstr "需è¦è­˜åˆ¥ç¢¼"
+
+-#: c-parser.c:1773
++#: c-parser.c:1775
+ #, fuzzy, gcc-internal-format
+ msgid "%Hcomma at end of enumerator list"
+ msgstr "列舉表以逗號çµå°¾"
+
+-#: c-parser.c:1779
++#: c-parser.c:1781
+ #, gcc-internal-format
+ msgid "expected %<,%> or %<}%>"
+ msgstr "éœ€è¦ %<,%> 或 %<}%>"
+
+-#: c-parser.c:1793 c-parser.c:1977 c-parser.c:6058
++#: c-parser.c:1795 c-parser.c:1979 c-parser.c:6117
+ #, gcc-internal-format
+ msgid "expected %<{%>"
+ msgstr "éœ€è¦ %<{%>"
+
+-#: c-parser.c:1804
++#: c-parser.c:1806
+ #, fuzzy, gcc-internal-format
+ msgid "%HISO C forbids forward references to %<enum%> types"
+ msgstr "ISO C ä¸å…許 %<enum%> é¡žåž‹çš„å‰å‘åƒç…§"
+
+-#: c-parser.c:1911
++#: c-parser.c:1913
+ #, gcc-internal-format
+ msgid "expected class name"
+ msgstr "需è¦é¡žåˆ¥å"
+
+-#: c-parser.c:1930 c-parser.c:5835
++#: c-parser.c:1932 c-parser.c:5894
+ #, fuzzy, gcc-internal-format
+ msgid "%Hextra semicolon in struct or union specified"
+ msgstr "為çµåˆæˆ–çµæ§‹æŒ‡å®šäº†å¤šé¤˜çš„分號"
+
+-#: c-parser.c:1959
++#: c-parser.c:1961
+ #, fuzzy, gcc-internal-format
+ msgid "%Hno semicolon at end of struct or union"
+ msgstr "çµæ§‹æˆ–è¯åˆå¾Œæ²’有分號"
+
+-#: c-parser.c:1963
++#: c-parser.c:1965
+ #, gcc-internal-format
+ msgid "expected %<;%>"
+ msgstr "éœ€è¦ %<;%>"
+
+-#: c-parser.c:2042 c-parser.c:3014
++#: c-parser.c:2044 c-parser.c:3016
+ #, gcc-internal-format
+ msgid "expected specifier-qualifier-list"
+ msgstr "需è¦æŒ‡å®šç¬¦-é™åˆ¶ç¬¦æ¸…å–®"
+
+-#: c-parser.c:2052
++#: c-parser.c:2054
+ #, fuzzy, gcc-internal-format
+ msgid "%HISO C forbids member declarations with no members"
+ msgstr "ISO C ä¸å…許ä¸å«æˆå“¡çš„æˆå“¡å®£å‘Š"
+
+-#: c-parser.c:2126
++#: c-parser.c:2128
+ #, gcc-internal-format
+ msgid "expected %<,%>, %<;%> or %<}%>"
+ msgstr "éœ€è¦ %<,%>ã€%<;%> 或 %<}%>"
+
+-#: c-parser.c:2133
++#: c-parser.c:2135
+ #, gcc-internal-format
+ msgid "expected %<:%>, %<,%>, %<;%>, %<}%> or %<__attribute__%>"
+ msgstr "éœ€è¦ %<:%>,%<,%>,%<;%>,%<}%> 或 %<__attribute__%>"
+
+-#: c-parser.c:2184
++#: c-parser.c:2186
+ #, fuzzy, gcc-internal-format
+ msgid "%H%<typeof%> applied to a bit-field"
+ msgstr "為ä½å…ƒæ®µä½¿ç”¨ %<typeof%> "
+
+-#: c-parser.c:2421
++#: c-parser.c:2423
+ #, gcc-internal-format
+ msgid "expected identifier or %<(%>"
+ msgstr "需è¦è­˜åˆ¥ç¢¼æˆ– %<(%>"
+
+-#: c-parser.c:2622
++#: c-parser.c:2624
+ #, fuzzy, gcc-internal-format
+ msgid "%HISO C requires a named argument before %<...%>"
+ msgstr "ISO C è¦æ±‚在 %<...%> å‰æœ‰ä¸€å€‹å…·ååƒæ•¸"
+
+-#: c-parser.c:2729
++#: c-parser.c:2731
+ #, gcc-internal-format
+ msgid "expected declaration specifiers or %<...%>"
+ msgstr "需è¦æŒ‡å®šå®£å‘Šæˆ– %<...%>"
+
+-#: c-parser.c:2779
++#: c-parser.c:2781
+ #, fuzzy, gcc-internal-format
+ msgid "%Hwide string literal in %<asm%>"
+ msgstr "%<asm%> 中出ç¾å¯¬å­—é¢å­—串"
+
+-#: c-parser.c:2786 c-parser.c:6695 cp/parser.c:20393
++#: c-parser.c:2788 c-parser.c:6754 cp/parser.c:20482
+ #, gcc-internal-format
+ msgid "expected string literal"
+ msgstr "需è¦å­—é¢å­—串"
+
+-#: c-parser.c:3107
++#: c-parser.c:3109
+ #, fuzzy, gcc-internal-format
+ msgid "%HISO C forbids empty initializer braces"
+ msgstr "ISO C ä¸å…許用åˆå§‹å€¼è¨­å®šä¸­æœ‰ç©ºçš„大括號å°"
+
+ #. Use the colon as the error location.
+-#: c-parser.c:3154
++#: c-parser.c:3156
+ #, fuzzy, gcc-internal-format
+ msgid "%Hobsolete use of designated initializer with %<:%>"
+ msgstr "使用 %<:%> 來指定元素åˆå§‹å€¼çš„作法已éŽæ™‚"
+
+-#: c-parser.c:3285
++#: c-parser.c:3287
+ #, fuzzy, gcc-internal-format
+ msgid "%HISO C forbids specifying range of elements to initialize"
+ msgstr "ISO C ä¸å…許在åˆå§‹åŒ–指定元素的範åœ"
+
+-#: c-parser.c:3298
++#: c-parser.c:3300
+ #, fuzzy, gcc-internal-format
+ msgid "%HISO C90 forbids specifying subobject to initialize"
+ msgstr "ISO C90 ä¸å…許指定å­ç‰©ä»¶çš„åˆå§‹å€¼"
+
+-#: c-parser.c:3307
++#: c-parser.c:3309
+ #, fuzzy, gcc-internal-format
+ msgid "%Hobsolete use of designated initializer without %<=%>"
+ msgstr "éŽæ™‚的用法,應使用 %<=%> 來指定元素åˆå§‹å€¼"
+
+-#: c-parser.c:3316
++#: c-parser.c:3318
+ #, gcc-internal-format
+ msgid "expected %<=%>"
+ msgstr "éœ€è¦ %<=%>"
+
+-#: c-parser.c:3461
++#: c-parser.c:3463
+ #, fuzzy, gcc-internal-format
+ msgid "%HISO C forbids label declarations"
+ msgstr "ISO C ä¸å…許標籤宣告"
+
+-#: c-parser.c:3466 c-parser.c:3541
++#: c-parser.c:3468 c-parser.c:3543
+ #, gcc-internal-format
+ msgid "expected declaration or statement"
+ msgstr "需è¦å®£å‘Šæˆ–敘述"
+
+-#: c-parser.c:3494 c-parser.c:3522
++#: c-parser.c:3496 c-parser.c:3524
+ #, gcc-internal-format
+ msgid "%HISO C90 forbids mixed declarations and code"
+ msgstr "%HISO C90 ä¸å…許混åˆä½¿ç”¨å®£å‘Šå’Œç¨‹å¼ç¢¼"
+
++#: c-parser.c:3550
++#, fuzzy, gcc-internal-format
++msgid "%Hexpected %<}%> before %<else%>"
++msgstr "éœ€è¦ %<,%> 或 %<;%>"
++
+ #: c-parser.c:3555
++#, gcc-internal-format
++msgid "%H%<else%> without a previous %<if%>"
++msgstr ""
++
++#: c-parser.c:3571
+ #, fuzzy, gcc-internal-format
+ msgid "%Hlabel at end of compound statement"
+ msgstr "標籤ä½æ–¼è¤‡åˆæ•˜è¿°æœ«å°¾"
+
+-#: c-parser.c:3598
++#: c-parser.c:3614
+ #, gcc-internal-format
+ msgid "expected %<:%> or %<...%>"
+ msgstr "éœ€è¦ %<:%> 或 %<...%>"
+
+-#: c-parser.c:3779
++#: c-parser.c:3647
+ #, gcc-internal-format
++msgid "%Ha label can only be part of a statement and a declaration is not a statement"
++msgstr ""
++
++#: c-parser.c:3810
++#, gcc-internal-format
+ msgid "expected identifier or %<*%>"
+ msgstr "需è¦è­˜åˆ¥ç¢¼æˆ– %<*%>"
+
+@@ -19994,188 +19984,183 @@
+ #. 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-parser.c:3841
++#: c-parser.c:3872
+ #, gcc-internal-format
+ msgid "expected statement"
+ msgstr "需è¦æ•˜è¿°"
+
+-#: c-parser.c:3851
+-#, gcc-internal-format
+-msgid "%Ha label can only be part of a statement and a declaration is not a statement"
+-msgstr ""
+-
+-#: c-parser.c:4036
++#: c-parser.c:4095
+ #, fuzzy, gcc-internal-format
+ msgid "%Hsuggest braces around empty body in %<do%> statement"
+ msgstr "%Hif 敘述體為空"
+
+-#: c-parser.c:4192
++#: c-parser.c:4251
+ #, fuzzy, gcc-internal-format
+ msgid "%H%E qualifier ignored on asm"
+ msgstr "%E é™å®šåœ¨ asm 上被忽略"
+
+-#: c-parser.c:4473
++#: c-parser.c:4532
+ #, fuzzy, gcc-internal-format
+ msgid "%HISO C forbids omitting the middle term of a ?: expression"
+ msgstr "ISO C ä¸å…許çœç•¥ ?: é‹ç®—å¼ä¸­çš„第二項"
+
+-#: c-parser.c:4863
++#: c-parser.c:4922
+ #, fuzzy, gcc-internal-format
+ msgid "%Htraditional C rejects the unary plus operator"
+ msgstr "傳統 C ä¸æŽ¥å—å–®ä½å…ƒ + é‹ç®—å­"
+
+ #. C99 6.7.5.2p4
+-#: c-parser.c:4974
++#: c-parser.c:5033
+ #, fuzzy, gcc-internal-format
+ msgid "%H%<[*]%> not allowed in other than a declaration"
+ msgstr "ä¸å…許在 using 宣告中使用命å空間 %qD"
+
+-#: c-parser.c:4988
++#: c-parser.c:5047
+ #, fuzzy, gcc-internal-format
+ msgid "%H%<sizeof%> applied to a bit-field"
+ msgstr "å°ä½å…ƒæ®µä½¿ç”¨ %<sizeof%>"
+
+-#: c-parser.c:5132 c-parser.c:5476 c-parser.c:5498
++#: c-parser.c:5191 c-parser.c:5535 c-parser.c:5557
+ #, gcc-internal-format
+ msgid "expected expression"
+ msgstr "需è¦é‹ç®—å¼"
+
+-#: c-parser.c:5159
++#: c-parser.c:5218
+ #, fuzzy, gcc-internal-format
+ msgid "%Hbraced-group within expression allowed only inside a function"
+ msgstr "é‹ç®—å¼ä¸­çš„大括號組åªå…許出ç¾åœ¨å‡½å¼ä¸­"
+
+-#: c-parser.c:5173
++#: c-parser.c:5232
+ #, fuzzy, gcc-internal-format
+ msgid "%HISO C forbids braced-groups within expressions"
+ msgstr "ISO C ä¸å…許在é‹ç®—å¼ä¸­ä½¿ç”¨å¤§æ‹¬è™Ÿçµ„"
+
+-#: c-parser.c:5358
++#: c-parser.c:5417
+ #, fuzzy, gcc-internal-format
+ msgid "%Hfirst argument to %<__builtin_choose_expr%> not a constant"
+ msgstr "%<__builtin_choose_expr%> 的第一個引數ä¸æ˜¯ä¸€å€‹å¸¸æ•¸"
+
+-#: c-parser.c:5527
++#: c-parser.c:5586
+ #, fuzzy, gcc-internal-format
+ msgid "%Hcompound literal has variable size"
+ msgstr "複åˆå­—é¢å€¼æœ‰å¯è®Šçš„大å°"
+
+-#: c-parser.c:5535
++#: c-parser.c:5594
+ #, fuzzy, gcc-internal-format
+ msgid "%HISO C90 forbids compound literals"
+ msgstr "ISO C90 ä¸å…許複åˆå­—é¢å€¼"
+
+-#: c-parser.c:6053
++#: c-parser.c:6112
+ #, fuzzy, gcc-internal-format
+ msgid "%Hextra semicolon in method definition specified"
+ msgstr "為方法定義指定了多餘的分號"
+
+-#: c-parser.c:6600 cp/parser.c:20436
++#: c-parser.c:6659 cp/parser.c:20525
+ #, gcc-internal-format
+ msgid "%<#pragma omp barrier%> may only be used in compound statements"
+ msgstr ""
+
+-#: c-parser.c:6611 cp/parser.c:20451
++#: c-parser.c:6670 cp/parser.c:20540
+ #, gcc-internal-format
+ msgid "%<#pragma omp flush%> may only be used in compound statements"
+ msgstr ""
+
+-#: c-parser.c:6623
++#: c-parser.c:6682
+ #, gcc-internal-format
+ msgid "%H%<#pragma omp section%> may only be used in %<#pragma omp sections%> construct"
+ msgstr ""
+
+-#: c-parser.c:6630 cp/parser.c:20426
++#: c-parser.c:6689 cp/parser.c:20515
+ #, fuzzy, gcc-internal-format
+ msgid "%<#pragma GCC pch_preprocess%> must be first"
+ msgstr "#pragma GCC pch_preprocess æ ¼å¼ä¸æ­£ç¢ºï¼Œå·²å¿½ç•¥"
+
+-#: c-parser.c:6781 cp/parser.c:19277
++#: c-parser.c:6840 cp/parser.c:19359
+ #, fuzzy, gcc-internal-format
+ msgid "too many %qs clauses"
+ msgstr "輸入檔案太多"
+
+-#: c-parser.c:6906
++#: c-parser.c:6965
+ #, fuzzy, gcc-internal-format
+ msgid "expected %<none%> or %<shared%>"
+ msgstr "éœ€è¦ %<,%> 或 %<;%>"
+
+-#: c-parser.c:6949
++#: c-parser.c:7008
+ #, fuzzy, gcc-internal-format
+ msgid "expected %<(%>"
+ msgstr "éœ€è¦ %<{%>"
+
+-#: c-parser.c:6993 c-parser.c:7170
++#: c-parser.c:7052 c-parser.c:7229
+ #, fuzzy, gcc-internal-format
+ msgid "expected integer expression"
+ msgstr "需è¦é‹ç®—å¼"
+
+-#: c-parser.c:7002
++#: c-parser.c:7061
+ #, gcc-internal-format
+ msgid "%H%<num_threads%> value must be positive"
+ msgstr ""
+
+-#: c-parser.c:7082
++#: c-parser.c:7141
+ #, fuzzy, gcc-internal-format
+ msgid "expected %<+%>, %<*%>, %<-%>, %<&%>, %<^%>, %<|%>, %<&&%>, or %<||%>"
+ msgstr "éœ€è¦ %<:%>,%<,%>,%<;%>,%<}%> 或 %<__attribute__%>"
+
+-#: c-parser.c:7165
++#: c-parser.c:7224
+ #, gcc-internal-format
+ msgid "%Hschedule %<runtime%> does not take a %<chunk_size%> parameter"
+ msgstr ""
+
+-#: c-parser.c:7183
++#: c-parser.c:7242
+ #, fuzzy, gcc-internal-format
+ msgid "invalid schedule kind"
+ msgstr "無效的 const_double é‹ç®—å…ƒ"
+
+-#: c-parser.c:7269
++#: c-parser.c:7336
+ #, gcc-internal-format
+ msgid "expected %<#pragma omp%> clause"
+ msgstr ""
+
+-#: c-parser.c:7278
++#: c-parser.c:7345
+ #, fuzzy, gcc-internal-format
+ msgid "%H%qs is not valid for %qs"
+ msgstr "%qs ä¸æ˜¯ä¸€å€‹æœ‰æ•ˆçš„輸出檔案"
+
+-#: c-parser.c:7378
++#: c-parser.c:7445
+ #, fuzzy, gcc-internal-format
+ msgid "invalid operator for %<#pragma omp atomic%>"
+ msgstr "å° %<__fpreg%> 的作業無效"
+
+-#: c-parser.c:7429 c-parser.c:7449
++#: c-parser.c:7496 c-parser.c:7516
+ #, fuzzy, gcc-internal-format
+ msgid "expected %<(%> or end of line"
+ msgstr "éžé æœŸçš„模組çµæŸ"
+
+-#: c-parser.c:7467
++#: c-parser.c:7534
+ #, fuzzy, gcc-internal-format
+ msgid "for statement expected"
+ msgstr "éœ€è¦ %s 敘述在 %L 處"
+
+-#: c-parser.c:7540 cp/semantics.c:3826 cp/semantics.c:3870
++#: c-parser.c:7609 cp/semantics.c:3858 cp/semantics.c:3902
+ #, fuzzy, gcc-internal-format
+ msgid "expected iteration declaration or initialization"
+ msgstr "需è¦å®£å‘Šæˆ–敘述"
+
+-#: c-parser.c:7666
++#: c-parser.c:7735
+ #, fuzzy, gcc-internal-format
+ msgid "%Hexpected %<#pragma omp section%> or %<}%>"
+ msgstr "éœ€è¦ %<,%> 或 %<}%>"
+
+-#: c-parser.c:7899 cp/semantics.c:3718
++#: c-parser.c:7968 cp/semantics.c:3750
+ #, fuzzy, gcc-internal-format
+ msgid "%qE declared %<threadprivate%> after first use"
+ msgstr "%q+F 宣告為 %<static%> å»å¾žæœªå®šç¾©éŽ"
+
+-#: c-parser.c:7901 cp/semantics.c:3720
++#: c-parser.c:7970 cp/semantics.c:3752
+ #, fuzzy, gcc-internal-format
+ msgid "automatic variable %qE cannot be %<threadprivate%>"
+ msgstr "實體變數 %qs 被宣告為ç§æœ‰çš„"
+
+-#: c-parser.c:7903 cp/semantics.c:3722
++#: c-parser.c:7972 cp/semantics.c:3754
+ #, fuzzy, gcc-internal-format
+ msgid "%<threadprivate%> %qE has incomplete type"
+ msgstr "%Jåƒæ•¸ %u é¡žåž‹ä¸å®Œå…¨"
+@@ -20340,122 +20325,122 @@
+ msgid "junk at end of %<#pragma pop_macro%>"
+ msgstr "%<#pragma pack%> 末尾有無用字元"
+
+-#: c-pragma.c:406
++#: c-pragma.c:407
+ #, gcc-internal-format
+ msgid "applying #pragma weak %q+D after first use results in unspecified behavior"
+ msgstr "在第一次使用後套用 #pragma weak %q+D 導致ä¸å¯é çŸ¥çš„後果"
+
+-#: c-pragma.c:480 c-pragma.c:485
++#: c-pragma.c:481 c-pragma.c:486
+ #, gcc-internal-format
+ msgid "malformed #pragma weak, ignored"
+ msgstr "#pragma weak æ ¼å¼éŒ¯èª¤ï¼Œå·²å¿½ç•¥"
+
+-#: c-pragma.c:489
++#: c-pragma.c:490
+ #, fuzzy, gcc-internal-format
+ msgid "junk at end of %<#pragma weak%>"
+ msgstr "%<#pragma pack%> 末尾有無用字元"
+
+-#: c-pragma.c:557 c-pragma.c:559
++#: c-pragma.c:558 c-pragma.c:560
+ #, gcc-internal-format
+ msgid "malformed #pragma redefine_extname, ignored"
+ msgstr "#pragma redefine_extname æ ¼å¼éŒ¯èª¤ï¼Œå·²å¿½ç•¥"
+
+-#: c-pragma.c:562
++#: c-pragma.c:563
+ #, fuzzy, gcc-internal-format
+ msgid "junk at end of %<#pragma redefine_extname%>"
+ msgstr "#pragma redefine_extname 末尾有無用字元"
+
+-#: c-pragma.c:568
++#: c-pragma.c:569
+ #, gcc-internal-format
+ msgid "#pragma redefine_extname not supported on this target"
+ msgstr "#pragma redefine_extname 在此目標平臺上ä¸å—支æ´"
+
+-#: c-pragma.c:585 c-pragma.c:672
++#: c-pragma.c:586 c-pragma.c:673
+ #, gcc-internal-format
+ msgid "#pragma redefine_extname ignored due to conflict with previous rename"
+ msgstr "#pragma redefine_extname 因與先å‰çš„ rename è¡çªè€Œè¢«å¿½ç•¥"
+
+-#: c-pragma.c:608
++#: c-pragma.c:609
+ #, gcc-internal-format
+ msgid "#pragma redefine_extname ignored due to conflict with previous #pragma redefine_extname"
+ msgstr "#pragma redefine_extname 因與先å‰çš„ #pragma redefine_extname è¡çªè€Œè¢«å¿½ç•¥"
+
+-#: c-pragma.c:627
++#: c-pragma.c:628
+ #, gcc-internal-format
+ msgid "malformed #pragma extern_prefix, ignored"
+ msgstr "#pragma extern_prefix æ ¼å¼éŒ¯èª¤ï¼Œå·²å¿½ç•¥"
+
+-#: c-pragma.c:630
++#: c-pragma.c:631
+ #, fuzzy, gcc-internal-format
+ msgid "junk at end of %<#pragma extern_prefix%>"
+ msgstr "#pragma extern_prefix 末尾有無用字元"
+
+-#: c-pragma.c:637
++#: c-pragma.c:638
+ #, gcc-internal-format
+ msgid "#pragma extern_prefix not supported on this target"
+ msgstr "#pragma extern_prefix 在此目標平臺上ä¸å—支æ´"
+
+-#: c-pragma.c:663
++#: c-pragma.c:664
+ #, gcc-internal-format
+ msgid "asm declaration ignored due to conflict with previous rename"
+ msgstr "asm 宣告因與先å‰çš„ rename è¡çªè€Œè¢«å¿½ç•¥"
+
+-#: c-pragma.c:694
++#: c-pragma.c:695
+ #, gcc-internal-format
+ msgid "#pragma redefine_extname ignored due to conflict with __asm__ declaration"
+ msgstr "#pragma redefine_extname 因與 __asm__ declaration è¡çªè€Œè¢«å¿½ç•¥"
+
+-#: c-pragma.c:756
++#: c-pragma.c:757
+ #, gcc-internal-format
+ msgid "#pragma GCC visibility push() must specify default, internal, hidden or protected"
+ msgstr "#pragma GCC visibility push() 必須指定 defaultã€internalã€hidden 或 protected"
+
+-#: c-pragma.c:791
++#: c-pragma.c:792
+ #, gcc-internal-format
+ msgid "#pragma GCC visibility must be followed by push or pop"
+ msgstr "#pragma GCC visibility 後é¢å¿…須跟 push 或 pop"
+
+-#: c-pragma.c:797
++#: c-pragma.c:798
+ #, gcc-internal-format
+ msgid "no matching push for %<#pragma GCC visibility pop%>"
+ msgstr "沒有與 %<#pragma GCC visibility pop%> å°æ‡‰çš„ push"
+
+-#: c-pragma.c:804 c-pragma.c:811
++#: c-pragma.c:805 c-pragma.c:812
+ #, gcc-internal-format
+ msgid "missing %<(%> after %<#pragma GCC visibility push%> - ignored"
+ msgstr "%<#pragma GCC visibility push%> 缺少 %<(%> — 已忽略"
+
+-#: c-pragma.c:807
++#: c-pragma.c:808
+ #, gcc-internal-format
+ msgid "malformed #pragma GCC visibility push"
+ msgstr "#pragma GCC visibility push æ ¼å¼éŒ¯èª¤"
+
+-#: c-pragma.c:815
++#: c-pragma.c:816
+ #, gcc-internal-format
+ msgid "junk at end of %<#pragma GCC visibility%>"
+ msgstr "%<#pragma GCC visibility%> 末尾有無用字元"
+
+-#: c-pragma.c:831
++#: c-pragma.c:832
+ #, fuzzy, gcc-internal-format
+ msgid "#pragma GCC diagnostic not allowed inside functions"
+ msgstr "#pragma GCC memregs 必須出ç¾åœ¨æ‰€æœ‰å‡½å¼å®£å‘Šä¹‹å‰"
+
+-#: c-pragma.c:837
++#: c-pragma.c:838
+ #, gcc-internal-format
+ msgid "missing [error|warning|ignored] after %<#pragma GCC diagnostic%>"
+ msgstr ""
+
+-#: c-pragma.c:846
++#: c-pragma.c:847
+ #, gcc-internal-format
+ msgid "expected [error|warning|ignored] after %<#pragma GCC diagnostic%>"
+ msgstr ""
+
+-#: c-pragma.c:850
++#: c-pragma.c:851
+ #, fuzzy, gcc-internal-format
+ msgid "missing option after %<#pragma GCC diagnostic%> kind"
+ msgstr "%<#pragma pack%> 後缺少 %<(%>,忽略"
+
+-#: c-pragma.c:864
++#: c-pragma.c:865
+ #, fuzzy, gcc-internal-format
+ msgid "unknown option after %<#pragma GCC diagnostic%> kind"
+ msgstr "%<#pragma pack%> 動作 %qs 無效 - 已忽略"
+@@ -20465,7 +20450,7 @@
+ msgid "%qD has an incomplete type"
+ msgstr "%qD é¡žåž‹ä¸å®Œå…¨"
+
+-#: c-typeck.c:195 cp/call.c:2785
++#: c-typeck.c:195 cp/call.c:2771
+ #, gcc-internal-format
+ msgid "invalid use of void expression"
+ msgstr "å° void é‹ç®—å¼çš„無效使用"
+@@ -20496,92 +20481,92 @@
+ msgid "function types not truly compatible in ISO C"
+ msgstr "函å¼é¡žåž‹èˆ‡ ISO C ä¸å®Œå…¨ç›¸å®¹"
+
+-#: c-typeck.c:621
++#: c-typeck.c:627
+ #, gcc-internal-format
+ msgid "can%'t mix operands of decimal float and vector types"
+ msgstr ""
+
+-#: c-typeck.c:626
++#: c-typeck.c:632
+ #, gcc-internal-format
+ msgid "can%'t mix operands of decimal float and complex types"
+ msgstr ""
+
+-#: c-typeck.c:631
++#: c-typeck.c:637
+ #, gcc-internal-format
+ msgid "can%'t mix operands of decimal float and other float types"
+ msgstr ""
+
+-#: c-typeck.c:1037
++#: c-typeck.c:1043
+ #, gcc-internal-format
+ msgid "types are not quite compatible"
+ msgstr "é¡žåž‹ä¸å®Œå…¨ç›¸å®¹"
+
+-#: c-typeck.c:1356
++#: c-typeck.c:1366
+ #, gcc-internal-format
+ msgid "function return types not compatible due to %<volatile%>"
+ msgstr "由於 %<volatile%>,函å¼å›žå‚³é¡žåž‹ä¸ç›¸å®¹"
+
+-#: c-typeck.c:1515 c-typeck.c:2853
++#: c-typeck.c:1525 c-typeck.c:2864
+ #, gcc-internal-format
+ msgid "arithmetic on pointer to an incomplete type"
+ msgstr "在åƒç…§ä¸å®Œå…¨é¡žåž‹çš„指標上執行算術é‹ç®—"
+
+-#: c-typeck.c:1912
++#: c-typeck.c:1922
+ #, gcc-internal-format
+ msgid "%qT has no member named %qE"
+ msgstr "%qT æ²’å…·å為 %qE çš„æˆå“¡"
+
+-#: c-typeck.c:1953
++#: c-typeck.c:1963
+ #, gcc-internal-format
+ msgid "request for member %qE in something not a structure or union"
+ msgstr "在éžçµæ§‹æˆ–è¯åˆä¸­è«‹æ±‚æˆå“¡ %qE"
+
+-#: c-typeck.c:1997
++#: c-typeck.c:2007
+ #, gcc-internal-format
+ msgid "dereferencing pointer to incomplete type"
+ msgstr "æé ˜åƒç…§ä¸å®Œå…¨é¡žåž‹çš„指標"
+
+-#: c-typeck.c:2001
++#: c-typeck.c:2011
+ #, gcc-internal-format
+ msgid "dereferencing %<void *%> pointer"
+ msgstr "æé ˜ %<void *%> 指標"
+
+-#: c-typeck.c:2018
++#: c-typeck.c:2028
+ #, fuzzy, gcc-internal-format
+ msgid "invalid type argument of %qs (have %qT)"
+ msgstr "%qs 的引數類型無效"
+
+-#: c-typeck.c:2046 cp/typeck.c:2524
++#: c-typeck.c:2056 cp/typeck.c:2570
+ #, gcc-internal-format
+ msgid "subscripted value is neither array nor pointer"
+ msgstr "下標é‹ç®—çš„å·¦é‹ç®—元既éžé™£åˆ—也éžæŒ‡æ¨™"
+
+-#: c-typeck.c:2057 cp/typeck.c:2443 cp/typeck.c:2529
++#: c-typeck.c:2067 cp/typeck.c:2489 cp/typeck.c:2575
+ #, gcc-internal-format
+ msgid "array subscript is not an integer"
+ msgstr "陣列下標ä¸æ˜¯ä¸€å€‹æ•´æ•¸"
+
+-#: c-typeck.c:2063
++#: c-typeck.c:2073
+ #, gcc-internal-format
+ msgid "subscripted value is pointer to function"
+ msgstr "下標é‹ç®—çš„å·¦é‹ç®—元是函å¼æŒ‡æ¨™"
+
+-#: c-typeck.c:2110
++#: c-typeck.c:2120
+ #, gcc-internal-format
+ msgid "ISO C forbids subscripting %<register%> array"
+ msgstr "ISO C ä¸å…è¨±æŒ‰ä¸‹æ¨™å­˜å– %<register%> 陣列"
+
+-#: c-typeck.c:2112
++#: c-typeck.c:2122
+ #, gcc-internal-format
+ msgid "ISO C90 forbids subscripting non-lvalue array"
+ msgstr "ISO C90 ä¸å…許éžå·¦å€¼çš„陣列åšç‚ºä¸‹æ¨™é‹ç®—çš„å·¦é‹ç®—å…ƒ"
+
+-#: c-typeck.c:2228
++#: c-typeck.c:2239
+ #, gcc-internal-format
+ msgid "%H%qD is static but used in inline function %qD which is not static"
+ msgstr ""
+
+-#: c-typeck.c:2376
++#: c-typeck.c:2387
+ #, gcc-internal-format
+ msgid "called object %qE is not a function"
+ msgstr "被呼å«çš„物件 %qE ä¸æ˜¯ä¸€å€‹å‡½å¼"
+@@ -20589,795 +20574,795 @@
+ #. This situation leads to run-time undefined behavior. We can't,
+ #. therefore, simply error unless we can prove that all possible
+ #. executions of the program must execute the code.
+-#: c-typeck.c:2404
++#: c-typeck.c:2415
+ #, gcc-internal-format
+ msgid "function called through a non-compatible type"
+ msgstr "函å¼ç¶“ç”±ä¸ç›¸å®¹çš„類型呼å«"
+
+-#: c-typeck.c:2515
++#: c-typeck.c:2526
+ #, gcc-internal-format
+ msgid "too many arguments to function %qE"
+ msgstr "æä¾›çµ¦å‡½å¼ %qE 的引數太多"
+
+-#: c-typeck.c:2536
++#: c-typeck.c:2547
+ #, gcc-internal-format
+ msgid "type of formal parameter %d is incomplete"
+ msgstr "引數 %d çš„é¡žåž‹ä¸å®Œå…¨"
+
+-#: c-typeck.c:2549
++#: c-typeck.c:2560
+ #, gcc-internal-format
+ msgid "passing argument %d of %qE as integer rather than floating due to prototype"
+ msgstr "根據原型,引數 %d (%qE) å°‡åšç‚ºæ•´æ•¸è€Œä¸æ˜¯æµ®é»žæ•¸å‚³éž"
+
+-#: c-typeck.c:2554
++#: c-typeck.c:2565
+ #, gcc-internal-format
+ msgid "passing argument %d of %qE as integer rather than complex due to prototype"
+ msgstr "根據原型,引數 %d (%qE) å°‡åšç‚ºæ•´æ•¸è€Œä¸æ˜¯è¤‡æ•¸å‚³éž"
+
+-#: c-typeck.c:2559
++#: c-typeck.c:2570
+ #, gcc-internal-format
+ msgid "passing argument %d of %qE as complex rather than floating due to prototype"
+ msgstr "根據原型,引數 %d (%qE) å°‡åšç‚ºè¤‡æ•¸è€Œä¸æ˜¯æµ®é»žæ•¸å‚³éž"
+
+-#: c-typeck.c:2564
++#: c-typeck.c:2575
+ #, gcc-internal-format
+ msgid "passing argument %d of %qE as floating rather than integer due to prototype"
+ msgstr "根據原型,引數 %d (%qE) å°‡åšç‚ºæµ®é»žæ•¸è€Œä¸æ˜¯æ•´æ•¸å‚³éž"
+
+-#: c-typeck.c:2569
++#: c-typeck.c:2580
+ #, gcc-internal-format
+ msgid "passing argument %d of %qE as complex rather than integer due to prototype"
+ msgstr "根據原型,引數 %d (%qE) å°‡åšç‚ºè¤‡æ•¸è€Œä¸æ˜¯æ•´æ•¸å‚³éž"
+
+-#: c-typeck.c:2574
++#: c-typeck.c:2585
+ #, gcc-internal-format
+ msgid "passing argument %d of %qE as floating rather than complex due to prototype"
+ msgstr "根據原型,引數 %d (%qE) å°‡åšç‚ºæµ®é»žæ•¸è€Œä¸æ˜¯è¤‡æ•¸å‚³éž"
+
+-#: c-typeck.c:2587
++#: c-typeck.c:2598
+ #, gcc-internal-format
+ msgid "passing argument %d of %qE as %<float%> rather than %<double%> due to prototype"
+ msgstr "根據原型,引數 %d (%qE) å°‡åšç‚º %<float%> 而ä¸æ˜¯ %<double%> 傳éž"
+
+-#: c-typeck.c:2612
++#: c-typeck.c:2623
+ #, fuzzy, gcc-internal-format
+ msgid "passing argument %d of %qE as %qT rather than %qT due to prototype"
+ msgstr "根據原型,引數 %d (%qE) å°‡åšç‚ºæ•´æ•¸è€Œä¸æ˜¯è¤‡æ•¸å‚³éž"
+
+-#: c-typeck.c:2633
++#: c-typeck.c:2644
+ #, gcc-internal-format
+ msgid "passing argument %d of %qE with different width due to prototype"
+ msgstr "根據原型,引數 %d (%qE) 將以ä¸åŒçš„寬度傳éž"
+
+-#: c-typeck.c:2656
++#: c-typeck.c:2667
+ #, gcc-internal-format
+ msgid "passing argument %d of %qE as unsigned due to prototype"
+ msgstr "根據原型,引數 %d (%qE) 將作用無號數傳éž"
+
+-#: c-typeck.c:2660
++#: c-typeck.c:2671
+ #, gcc-internal-format
+ msgid "passing argument %d of %qE as signed due to prototype"
+ msgstr "根據原型,引數 %d (%qE) å°‡åšç‚ºæœ‰è™Ÿæ•¸å‚³éž"
+
+-#: c-typeck.c:2766 c-typeck.c:2770
++#: c-typeck.c:2777 c-typeck.c:2781
+ #, fuzzy, gcc-internal-format
+ msgid "comparison with string literal results in unspecified behavior"
+ msgstr "%q+D 的弱宣告出ç¾åœ¨ç¬¬ä¸€æ¬¡ä½¿ç”¨ä¹‹å¾Œå°‡å°Žè‡´ä¸å¯é æœŸçš„行為"
+
+-#: c-typeck.c:2795
++#: c-typeck.c:2806
+ #, gcc-internal-format
+ msgid "pointer of type %<void *%> used in subtraction"
+ msgstr "在減法中使用類型為 %<void *%> 的指標"
+
+-#: c-typeck.c:2797
++#: c-typeck.c:2808
+ #, gcc-internal-format
+ msgid "pointer to a function used in subtraction"
+ msgstr "函å¼æŒ‡æ¨™ä¸èƒ½ç›¸æ¸›"
+
+-#: c-typeck.c:2908
++#: c-typeck.c:2919
+ #, gcc-internal-format
+ msgid "wrong type argument to unary plus"
+ msgstr "å–®ä½å…ƒåŠ çš„é‹ç®—元類型錯誤"
+
+-#: c-typeck.c:2921
++#: c-typeck.c:2932
+ #, gcc-internal-format
+ msgid "wrong type argument to unary minus"
+ msgstr "å–®ä½å…ƒæ¸›çš„é‹ç®—元類型錯誤"
+
+-#: c-typeck.c:2941
++#: c-typeck.c:2952
+ #, gcc-internal-format
+ msgid "ISO C does not support %<~%> for complex conjugation"
+ msgstr "ISO C ä¸æ”¯æ´ç”¨ ~ 求共軛複數"
+
+-#: c-typeck.c:2947
++#: c-typeck.c:2958
+ #, gcc-internal-format
+ msgid "wrong type argument to bit-complement"
+ msgstr "按ä½å–å的引數類型錯誤"
+
+-#: c-typeck.c:2955
++#: c-typeck.c:2966
+ #, gcc-internal-format
+ msgid "wrong type argument to abs"
+ msgstr "ä¸èƒ½å°è©²é¡žåž‹çš„引數求絕å°å€¼"
+
+-#: c-typeck.c:2967
++#: c-typeck.c:2978
+ #, gcc-internal-format
+ msgid "wrong type argument to conjugation"
+ msgstr "ä¸èƒ½å°è©²é¡žåž‹çš„引數求共軛"
+
+-#: c-typeck.c:2979
++#: c-typeck.c:2990
+ #, gcc-internal-format
+ msgid "wrong type argument to unary exclamation mark"
+ msgstr "å–®ä½å…ƒ ! 的引數類型無效"
+
+-#: c-typeck.c:3013
++#: c-typeck.c:3024
+ #, gcc-internal-format
+ msgid "ISO C does not support %<++%> and %<--%> on complex types"
+ msgstr "ISO C ä¸æ”¯æ´å°è¤‡æ•¸é¡žåž‹é€²è¡Œ %<++%> 或 %<--%> 作業"
+
+-#: c-typeck.c:3032 c-typeck.c:3064
++#: c-typeck.c:3043 c-typeck.c:3075
+ #, gcc-internal-format
+ msgid "wrong type argument to increment"
+ msgstr "該類型的引數ä¸èƒ½è‡ªå¢ž"
+
+-#: c-typeck.c:3034 c-typeck.c:3066
++#: c-typeck.c:3045 c-typeck.c:3077
+ #, gcc-internal-format
+ msgid "wrong type argument to decrement"
+ msgstr "該類型的引數ä¸èƒ½è‡ªæ¸›"
+
+-#: c-typeck.c:3055
++#: c-typeck.c:3066
+ #, gcc-internal-format
+ msgid "increment of pointer to unknown structure"
+ msgstr "自增åƒç…§ä¸æ˜Žçµæ§‹çš„指標"
+
+-#: c-typeck.c:3057
++#: c-typeck.c:3068
+ #, gcc-internal-format
+ msgid "decrement of pointer to unknown structure"
+ msgstr "自減åƒç…§ä¸æ˜Žçµæ§‹çš„指標"
+
+-#: c-typeck.c:3258
++#: c-typeck.c:3269
+ #, gcc-internal-format
+ msgid "assignment of read-only member %qD"
+ msgstr "å‘唯讀æˆå“¡ %qD 賦值"
+
+-#: c-typeck.c:3259
++#: c-typeck.c:3270
+ #, gcc-internal-format
+ msgid "increment of read-only member %qD"
+ msgstr "令唯讀æˆå“¡ %qD 自增"
+
+-#: c-typeck.c:3260
++#: c-typeck.c:3271
+ #, gcc-internal-format
+ msgid "decrement of read-only member %qD"
+ msgstr "令唯讀æˆå“¡ %qD 自減"
+
+-#: c-typeck.c:3261
++#: c-typeck.c:3272
+ #, gcc-internal-format
+ msgid "read-only member %qD used as %<asm%> output"
+ msgstr "唯讀æˆå“¡ %qD åšç‚º %<asm%> 的輸出"
+
+-#: c-typeck.c:3265
++#: c-typeck.c:3276
+ #, gcc-internal-format
+ msgid "assignment of read-only variable %qD"
+ msgstr "å‘唯讀變數 %qD 賦值"
+
+-#: c-typeck.c:3266
++#: c-typeck.c:3277
+ #, gcc-internal-format
+ msgid "increment of read-only variable %qD"
+ msgstr "令唯讀變數 %qD 自增"
+
+-#: c-typeck.c:3267
++#: c-typeck.c:3278
+ #, gcc-internal-format
+ msgid "decrement of read-only variable %qD"
+ msgstr "令唯讀æˆå“¡ %qD 自增"
+
+-#: c-typeck.c:3268
++#: c-typeck.c:3279
+ #, gcc-internal-format
+ msgid "read-only variable %qD used as %<asm%> output"
+ msgstr "唯讀變數 %qD åšç‚º %<asm%> 的輸出"
+
+-#: c-typeck.c:3271
++#: c-typeck.c:3282
+ #, fuzzy, gcc-internal-format
+ msgid "assignment of read-only location %qE"
+ msgstr "å‘唯讀ä½ç½®è³¦å€¼"
+
+-#: c-typeck.c:3272
++#: c-typeck.c:3283
+ #, fuzzy, gcc-internal-format
+ msgid "increment of read-only location %qE"
+ msgstr "令唯讀ä½ç½®è‡ªå¢ž"
+
+-#: c-typeck.c:3273
++#: c-typeck.c:3284
+ #, fuzzy, gcc-internal-format
+ msgid "decrement of read-only location %qE"
+ msgstr "令唯讀ä½ç½®è‡ªæ¸›"
+
+-#: c-typeck.c:3274
++#: c-typeck.c:3285
+ #, fuzzy, gcc-internal-format
+ msgid "read-only location %qE used as %<asm%> output"
+ msgstr "唯讀ä½ç½®åšç‚º %<asm%> 的輸出"
+
+-#: c-typeck.c:3310
++#: c-typeck.c:3321
+ #, gcc-internal-format
+ msgid "cannot take address of bit-field %qD"
+ msgstr "無法å–å¾—ä½å…ƒæ®µ %qD çš„ä½å€"
+
+-#: c-typeck.c:3338
++#: c-typeck.c:3349
+ #, gcc-internal-format
+ msgid "global register variable %qD used in nested function"
+ msgstr "巢狀函å¼ä¸­ä½¿ç”¨äº†å…¨åŸŸæš«å­˜å™¨è®Šæ•¸ %qD"
+
+-#: c-typeck.c:3341
++#: c-typeck.c:3352
+ #, gcc-internal-format
+ msgid "register variable %qD used in nested function"
+ msgstr "巢狀函å¼ä¸­ä½¿ç”¨äº†æš«å­˜å™¨è®Šæ•¸ %qD"
+
+-#: c-typeck.c:3346
++#: c-typeck.c:3357
+ #, gcc-internal-format
+ msgid "address of global register variable %qD requested"
+ msgstr "è¦æ±‚全域暫存器變數 %qD çš„ä½å€"
+
+-#: c-typeck.c:3348
++#: c-typeck.c:3359
+ #, gcc-internal-format
+ msgid "address of register variable %qD requested"
+ msgstr "è¦æ±‚暫存器變數 %qD çš„ä½å€ã€‚"
+
+-#: c-typeck.c:3394
++#: c-typeck.c:3405
+ #, gcc-internal-format
+ msgid "non-lvalue array in conditional expression"
+ msgstr "éžå·¦å€¼é™£åˆ—出ç¾åœ¨æ¢ä»¶é‹ç®—å¼ä¸­"
+
+-#: c-typeck.c:3442
++#: c-typeck.c:3453
+ #, gcc-internal-format
+ msgid "signed and unsigned type in conditional expression"
+ msgstr "有號和無號類型一起出ç¾åœ¨æ¢ä»¶é‹ç®—å¼ä¸­"
+
+-#: c-typeck.c:3449
++#: c-typeck.c:3460
+ #, gcc-internal-format
+ msgid "ISO C forbids conditional expr with only one void side"
+ msgstr "ISO C ä¸å…許æ¢ä»¶é‹ç®—å¼åƒ…有一邊為空"
+
+-#: c-typeck.c:3463 c-typeck.c:3471
++#: c-typeck.c:3474 c-typeck.c:3482
+ #, gcc-internal-format
+ msgid "ISO C forbids conditional expr between %<void *%> and function pointer"
+ msgstr "ISO C ä¸å…許在æ¢ä»¶é‹ç®—å¼ä¸­åŒæ™‚使用 %<void *%> 和函å¼æŒ‡æ¨™"
+
+-#: c-typeck.c:3478
++#: c-typeck.c:3489
+ #, gcc-internal-format
+ msgid "pointer type mismatch in conditional expression"
+ msgstr "æ¢ä»¶é‹ç®—å¼æŒ‡æ¨™é¡žåž‹ä¸åŒ¹é…"
+
+-#: c-typeck.c:3485 c-typeck.c:3495
++#: c-typeck.c:3496 c-typeck.c:3506
+ #, gcc-internal-format
+ msgid "pointer/integer type mismatch in conditional expression"
+ msgstr "æ¢ä»¶é‹ç®—å¼ä¸­æŒ‡æ¨™/整數類型ä¸åŒ¹é…"
+
+-#: c-typeck.c:3509 tree-cfg.c:3783
++#: c-typeck.c:3520 tree-cfg.c:3807
+ #, gcc-internal-format
+ msgid "type mismatch in conditional expression"
+ msgstr "æ¢ä»¶é‹ç®—å¼ä¸­é¡žåž‹ä¸åŒ¹é…"
+
+-#: c-typeck.c:3552
++#: c-typeck.c:3563
+ #, gcc-internal-format
+ msgid "left-hand operand of comma expression has no effect"
+ msgstr "逗號é‹ç®—å¼çš„å·¦é‹ç®—å…ƒä¸èµ·ä½œç”¨"
+
+-#: c-typeck.c:3589
++#: c-typeck.c:3600
+ #, gcc-internal-format
+ msgid "cast specifies array type"
+ msgstr "類型轉æ›æŒ‡å®šäº†é™£åˆ—é¡žåž‹"
+
+-#: c-typeck.c:3595
++#: c-typeck.c:3606
+ #, gcc-internal-format
+ msgid "cast specifies function type"
+ msgstr "類型轉æ›æŒ‡å®šäº†å‡½å¼é¡žåž‹"
+
+-#: c-typeck.c:3612
++#: c-typeck.c:3623
+ #, gcc-internal-format
+ msgid "ISO C forbids casting nonscalar to the same type"
+ msgstr "ISO C ä¸å…許將éžæ¨™é‡è½‰æ›ç‚ºå…¶è‡ªèº«é¡žåž‹"
+
+-#: c-typeck.c:3629
++#: c-typeck.c:3640
+ #, gcc-internal-format
+ msgid "ISO C forbids casts to union type"
+ msgstr "ISO C ä¸å…許轉æ›ç‚ºè¯åˆé¡žåž‹"
+
+-#: c-typeck.c:3637
++#: c-typeck.c:3648
+ #, gcc-internal-format
+ msgid "cast to union type from type not present in union"
+ msgstr "類型轉æ›çš„來æºé¡žåž‹æœªå‡ºç¾åœ¨è¯åˆä¸­"
+
+-#: c-typeck.c:3683
++#: c-typeck.c:3694
+ #, gcc-internal-format
+ msgid "cast adds new qualifiers to function type"
+ msgstr "類型轉æ›ç‚ºå‡½å¼é¡žåž‹åŠ å…¥äº†æ–°çš„é™å®š"
+
+ #. There are qualifiers present in IN_OTYPE that are not
+ #. present in IN_TYPE.
+-#: c-typeck.c:3688
++#: c-typeck.c:3699
+ #, gcc-internal-format
+ msgid "cast discards qualifiers from pointer target type"
+ msgstr "類型轉æ›ä¸Ÿæ£„了指標目的類型的é™å®š"
+
+-#: c-typeck.c:3704
++#: c-typeck.c:3715
+ #, gcc-internal-format
+ msgid "cast increases required alignment of target type"
+ msgstr "類型轉æ›å¢žå¤§äº†ç›®çš„é¡žåž‹çš„å°é½Šéœ€æ±‚"
+
+-#: c-typeck.c:3715
++#: c-typeck.c:3726
+ #, gcc-internal-format
+ msgid "cast from pointer to integer of different size"
+ msgstr "當將一個指標轉æ›ç‚ºå¤§å°ä¸åŒçš„整數時給出警告"
+
+-#: c-typeck.c:3719
++#: c-typeck.c:3730
+ #, gcc-internal-format
+ msgid "cast from function call of type %qT to non-matching type %qT"
+ msgstr "從類型為 %qT 的函å¼å‘¼å«è½‰æ›åˆ°ä¸åŒ¹é…çš„é¡žåž‹ %qT"
+
+-#: c-typeck.c:3727
++#: c-typeck.c:3738
+ #, gcc-internal-format
+ msgid "cast to pointer from integer of different size"
+ msgstr "當將一個指標轉æ›ç‚ºå¤§å°ä¸åŒçš„整數時給出警告"
+
+-#: c-typeck.c:3741
++#: c-typeck.c:3752
+ #, gcc-internal-format
+ msgid "ISO C forbids conversion of function pointer to object pointer type"
+ msgstr "ISO C ä¸å…許將一個函å¼æŒ‡æ¨™è½‰æ›ç‚ºä¸€å€‹ç‰©ä»¶æŒ‡æ¨™"
+
+-#: c-typeck.c:3749
++#: c-typeck.c:3760
+ #, gcc-internal-format
+ msgid "ISO C forbids conversion of object pointer to function pointer type"
+ msgstr "ISO C ä¸å…許將一個物件指標轉æ›ç‚ºä¸€å€‹å‡½å¼æŒ‡æ¨™"
+
+-#: c-typeck.c:4026
++#: c-typeck.c:4037
+ #, gcc-internal-format
+ msgid "cannot pass rvalue to reference parameter"
+ msgstr "ä¸èƒ½å°‡å³å€¼å‚³éžçµ¦åƒç…§åƒæ•¸"
+
+-#: c-typeck.c:4139 c-typeck.c:4306
++#: c-typeck.c:4150 c-typeck.c:4317
+ #, gcc-internal-format
+ msgid "passing argument %d of %qE makes qualified function pointer from unqualified"
+ msgstr "傳éžå¼•æ•¸ %d(屬於 %qE)從未é™å®šçš„函å¼æŒ‡æ¨™å»ºæ§‹äº†é™å®šçš„函å¼æŒ‡æ¨™"
+
+-#: c-typeck.c:4142 c-typeck.c:4309
++#: c-typeck.c:4153 c-typeck.c:4320
+ #, gcc-internal-format
+ msgid "assignment makes qualified function pointer from unqualified"
+ msgstr "將未é™å®šçš„函å¼æŒ‡æ¨™è³¦äºˆé™å®šçš„函å¼æŒ‡æ¨™"
+
+-#: c-typeck.c:4145 c-typeck.c:4311
++#: c-typeck.c:4156 c-typeck.c:4322
+ #, gcc-internal-format
+ msgid "initialization makes qualified function pointer from unqualified"
+ msgstr "回傳時將未é™å®šçš„函å¼æŒ‡æ¨™è³¦çµ¦é™å®šçš„函å¼æŒ‡æ¨™"
+
+-#: c-typeck.c:4148 c-typeck.c:4313
++#: c-typeck.c:4159 c-typeck.c:4324
+ #, gcc-internal-format
+ msgid "return makes qualified function pointer from unqualified"
+ msgstr "回傳時將未é™å®šçš„函å¼æŒ‡æ¨™è³¦çµ¦é™å®šçš„函å¼æŒ‡æ¨™"
+
+-#: c-typeck.c:4152 c-typeck.c:4273
++#: c-typeck.c:4163 c-typeck.c:4284
+ #, gcc-internal-format
+ msgid "passing argument %d of %qE discards qualifiers from pointer target type"
+ msgstr "傳éžå¼•æ•¸ %d(屬於 %qE)丟棄了指標目的類型的é™å®š"
+
+-#: c-typeck.c:4154 c-typeck.c:4275
++#: c-typeck.c:4165 c-typeck.c:4286
+ #, gcc-internal-format
+ msgid "assignment discards qualifiers from pointer target type"
+ msgstr "賦值丟棄了指標目的類型的é™å®š"
+
+-#: c-typeck.c:4156 c-typeck.c:4277
++#: c-typeck.c:4167 c-typeck.c:4288
+ #, gcc-internal-format
+ msgid "initialization discards qualifiers from pointer target type"
+ msgstr "åˆå§‹åŒ–丟棄了指標目的類型的é™å®š"
+
+-#: c-typeck.c:4158 c-typeck.c:4279
++#: c-typeck.c:4169 c-typeck.c:4290
+ #, gcc-internal-format
+ msgid "return discards qualifiers from pointer target type"
+ msgstr "回傳時丟棄了指標目的類型的é™å®š"
+
+-#: c-typeck.c:4165
++#: c-typeck.c:4176
+ #, gcc-internal-format
+ msgid "ISO C prohibits argument conversion to union type"
+ msgstr "ISO C ä¸å…許將引數轉æ›ç‚ºè¯åˆ"
+
+-#: c-typeck.c:4201
++#: c-typeck.c:4212
+ #, gcc-internal-format
+ msgid "request for implicit conversion from %qT to %qT not permitted in C++"
+ msgstr "C++ 中ä¸å…許從 %qT 到 %qT çš„éš±å«è½‰æ›"
+
+-#: c-typeck.c:4214
++#: c-typeck.c:4225
+ #, gcc-internal-format
+ msgid "argument %d of %qE might be a candidate for a format attribute"
+ msgstr "引數 %d(屬於 %qE)å¯èƒ½æ˜¯ format 屬性的備é¸"
+
+-#: c-typeck.c:4220
++#: c-typeck.c:4231
+ #, gcc-internal-format
+ msgid "assignment left-hand side might be a candidate for a format attribute"
+ msgstr "賦值的左手邊å¯èƒ½æ˜¯ format 屬性的備é¸æ™‚"
+
+-#: c-typeck.c:4225
++#: c-typeck.c:4236
+ #, gcc-internal-format
+ msgid "initialization left-hand side might be a candidate for a format attribute"
+ msgstr "åˆå§‹åŒ–的左手邊å¯èƒ½æ˜¯ format 屬性的備é¸æ™‚"
+
+-#: c-typeck.c:4230
++#: c-typeck.c:4241
+ #, gcc-internal-format
+ msgid "return type might be a candidate for a format attribute"
+ msgstr "回傳類型å¯èƒ½æ˜¯ format 屬性的備é¸"
+
+-#: c-typeck.c:4253
++#: c-typeck.c:4264
+ #, gcc-internal-format
+ msgid "ISO C forbids passing argument %d of %qE between function pointer and %<void *%>"
+ msgstr "ISO C ä¸å…許將引數 %d(屬於 %qE)在函å¼æŒ‡æ¨™å’Œ %<void *%> 間傳éž"
+
+-#: c-typeck.c:4256
++#: c-typeck.c:4267
+ #, gcc-internal-format
+ msgid "ISO C forbids assignment between function pointer and %<void *%>"
+ msgstr "ISO C ä¸å…許在函å¼æŒ‡æ¨™å’Œ %<void *%> 間賦值"
+
+-#: c-typeck.c:4258
++#: c-typeck.c:4269
+ #, gcc-internal-format
+ msgid "ISO C forbids initialization between function pointer and %<void *%>"
+ msgstr "ISO C ä¸å…許在函å¼æŒ‡æ¨™å’Œ %<void *%> é–“åˆå§‹åŒ–"
+
+-#: c-typeck.c:4260
++#: c-typeck.c:4271
+ #, gcc-internal-format
+ msgid "ISO C forbids return between function pointer and %<void *%>"
+ msgstr "ISO C ä¸å…許在函å¼æŒ‡æ¨™å’Œ %<void *%> 間回傳"
+
+-#: c-typeck.c:4289
++#: c-typeck.c:4300
+ #, gcc-internal-format
+ msgid "pointer targets in passing argument %d of %qE differ in signedness"
+ msgstr "傳éžåƒæ•¸ %d (屬於 %qE) 給指標時目的與指標有/無號ä¸ä¸€è‡´"
+
+-#: c-typeck.c:4291
++#: c-typeck.c:4302
+ #, gcc-internal-format
+ msgid "pointer targets in assignment differ in signedness"
+ msgstr "å°æŒ‡æ¨™è³¦å€¼æ™‚目的與指標有/無號ä¸ä¸€è‡´"
+
+-#: c-typeck.c:4293
++#: c-typeck.c:4304
+ #, gcc-internal-format
+ msgid "pointer targets in initialization differ in signedness"
+ msgstr "åˆå§‹åŒ–指標時目的與指標有/無號ä¸ä¸€è‡´"
+
+-#: c-typeck.c:4295
++#: c-typeck.c:4306
+ #, gcc-internal-format
+ msgid "pointer targets in return differ in signedness"
+ msgstr "回傳指標時目的與指標有/無號ä¸ä¸€è‡´"
+
+-#: c-typeck.c:4320
++#: c-typeck.c:4331
+ #, gcc-internal-format
+ msgid "passing argument %d of %qE from incompatible pointer type"
+ msgstr "傳éžåƒæ•¸ %d (屬於 %qE)時在ä¸ç›¸å®¹çš„指標類型間轉æ›"
+
+-#: c-typeck.c:4322
++#: c-typeck.c:4333
+ #, gcc-internal-format
+ msgid "assignment from incompatible pointer type"
+ msgstr "æ°¸é ä¸ç›¸å®¹çš„指標類型賦值"
+
+-#: c-typeck.c:4323
++#: c-typeck.c:4334
+ #, gcc-internal-format
+ msgid "initialization from incompatible pointer type"
+ msgstr "æ°¸é ä¸ç›¸å®¹çš„指標類型åˆå§‹åŒ–"
+
+-#: c-typeck.c:4325
++#: c-typeck.c:4336
+ #, gcc-internal-format
+ msgid "return from incompatible pointer type"
+ msgstr "回傳了ä¸ç›¸å®¹çš„指標類型"
+
+-#: c-typeck.c:4342
++#: c-typeck.c:4353
+ #, gcc-internal-format
+ msgid "passing argument %d of %qE makes pointer from integer without a cast"
+ msgstr "傳éžåƒæ•¸ %d (屬於 %qE)時將整數賦給指標,未作類型轉æ›"
+
+-#: c-typeck.c:4344
++#: c-typeck.c:4355
+ #, gcc-internal-format
+ msgid "assignment makes pointer from integer without a cast"
+ msgstr "賦值時將整數賦給指標,未作類型轉æ›"
+
+-#: c-typeck.c:4346
++#: c-typeck.c:4357
+ #, gcc-internal-format
+ msgid "initialization makes pointer from integer without a cast"
+ msgstr "åˆå§‹åŒ–時將整數賦給指標,未作類型轉æ›"
+
+-#: c-typeck.c:4348
++#: c-typeck.c:4359
+ #, gcc-internal-format
+ msgid "return makes pointer from integer without a cast"
+ msgstr "回傳時將整數賦給指標,未作類型轉æ›"
+
+-#: c-typeck.c:4355
++#: c-typeck.c:4366
+ #, gcc-internal-format
+ msgid "passing argument %d of %qE makes integer from pointer without a cast"
+ msgstr "傳éžåƒæ•¸ %d (屬於 %qE)時將指標賦給整數,未作類型轉æ›"
+
+-#: c-typeck.c:4357
++#: c-typeck.c:4368
+ #, gcc-internal-format
+ msgid "assignment makes integer from pointer without a cast"
+ msgstr "賦值時將指標賦給整數,未作類型轉æ›"
+
+-#: c-typeck.c:4359
++#: c-typeck.c:4370
+ #, gcc-internal-format
+ msgid "initialization makes integer from pointer without a cast"
+ msgstr "åˆå§‹åŒ–將指標賦給整數,未作類型轉æ›"
+
+-#: c-typeck.c:4361
++#: c-typeck.c:4372
+ #, gcc-internal-format
+ msgid "return makes integer from pointer without a cast"
+ msgstr "回傳時將指標賦給整數,未作類型轉æ›"
+
+-#: c-typeck.c:4377
++#: c-typeck.c:4388
+ #, gcc-internal-format
+ msgid "incompatible types in assignment"
+ msgstr "賦值時類型ä¸ç›¸å®¹"
+
+-#: c-typeck.c:4380
++#: c-typeck.c:4391
+ #, gcc-internal-format
+ msgid "incompatible types in initialization"
+ msgstr "åˆå§‹åŒ–時類型ä¸ç›¸å®¹"
+
+-#: c-typeck.c:4383
++#: c-typeck.c:4394
+ #, gcc-internal-format
+ msgid "incompatible types in return"
+ msgstr "回傳時類型ä¸ç›¸å®¹"
+
+-#: c-typeck.c:4439
++#: c-typeck.c:4450
+ #, gcc-internal-format
+ msgid "traditional C rejects automatic aggregate initialization"
+ msgstr "傳統 C ä¸æŽ¥å—自動的èšåˆåˆå§‹åŒ–"
+
+-#: c-typeck.c:4610 c-typeck.c:4625 c-typeck.c:4640
++#: c-typeck.c:4621 c-typeck.c:4636 c-typeck.c:4651
+ #, gcc-internal-format
+ msgid "(near initialization for %qs)"
+ msgstr "(在 %qs çš„åˆå§‹åŒ–附近)"
+
+-#: c-typeck.c:5180 cp/decl.c:4975
++#: c-typeck.c:5191 cp/decl.c:4995
+ #, gcc-internal-format
+ msgid "opaque vector types cannot be initialized"
+ msgstr "ä¸é€æ˜Žçš„å‘é‡é¡žåž‹ä¸èƒ½è¢«åˆå§‹åŒ–"
+
+-#: c-typeck.c:5803
++#: c-typeck.c:5814
+ #, gcc-internal-format
+ msgid "unknown field %qE specified in initializer"
+ msgstr "åˆå§‹å€¼è¨­å®šé …裡有ä¸æ˜Žçš„æ¬„ä½ %qE"
+
+-#: c-typeck.c:6703
++#: c-typeck.c:6714
+ #, gcc-internal-format
+ msgid "traditional C rejects initialization of unions"
+ msgstr "傳統 C ä¸æŽ¥å—å°è¯åˆçš„åˆå§‹åŒ–"
+
+-#: c-typeck.c:7011
++#: c-typeck.c:7022
+ #, gcc-internal-format
+ msgid "jump into statement expression"
+ msgstr "跳轉至敘述é‹ç®—å¼ä¸­"
+
+-#: c-typeck.c:7017
++#: c-typeck.c:7028
+ #, gcc-internal-format
+ msgid "jump into scope of identifier with variably modified type"
+ msgstr "跳至具有å¯è®Šé¡žåž‹çš„識別碼的作用欄ä½ä¸­"
+
+-#: c-typeck.c:7054
++#: c-typeck.c:7065
+ #, gcc-internal-format
+ msgid "ISO C forbids %<goto *expr;%>"
+ msgstr "ISO C++ ä¸å…許 %<goto *expr;%>"
+
+-#: c-typeck.c:7069 cp/typeck.c:6592
++#: c-typeck.c:7080 cp/typeck.c:6619
+ #, gcc-internal-format
+ msgid "function declared %<noreturn%> has a %<return%> statement"
+ msgstr "被宣告為 %<noreturn%> 的函å¼å»æœ‰ %<return%> 敘述"
+
+-#: c-typeck.c:7077
++#: c-typeck.c:7088
+ #, gcc-internal-format
+ msgid "%<return%> with no value, in function returning non-void"
+ msgstr "在有回傳值的的函å¼ä¸­ï¼Œ%<return%> ä¸å¸¶å›žå‚³å€¼"
+
+-#: c-typeck.c:7086
++#: c-typeck.c:7097
+ #, gcc-internal-format
+ msgid "%<return%> with a value, in function returning void"
+ msgstr "在無回傳值的函å¼ä¸­ï¼Œ%<return%> 帶回傳值"
+
+-#: c-typeck.c:7088
++#: c-typeck.c:7099
+ #, fuzzy, gcc-internal-format
+ msgid "ISO C forbids %<return%> with expression, in function returning void"
+ msgstr "在無回傳值的函å¼ä¸­ï¼Œ%<return%> 帶回傳值"
+
+-#: c-typeck.c:7145
++#: c-typeck.c:7156
+ #, gcc-internal-format
+ msgid "function returns address of local variable"
+ msgstr "函å¼å›žå‚³å±€éƒ¨è®Šæ•¸çš„ä½å€"
+
+-#: c-typeck.c:7217 cp/semantics.c:949
++#: c-typeck.c:7228 cp/semantics.c:952
+ #, gcc-internal-format
+ msgid "switch quantity not an integer"
+ msgstr "switch 敘述中的值ä¸æ˜¯ä¸€å€‹æ•´æ•¸"
+
+-#: c-typeck.c:7229
++#: c-typeck.c:7240
+ #, gcc-internal-format
+ msgid "%<long%> switch expression not converted to %<int%> in ISO C"
+ msgstr "在 ISO C 中,%<long%> é–‹é—œé‹ç®—å¼ä¸è¢«è½‰æ›ç‚º %<int%>"
+
+-#: c-typeck.c:7269
++#: c-typeck.c:7280
+ #, gcc-internal-format
+ msgid "case label in statement expression not containing enclosing switch statement"
+ msgstr "case 標籤出ç¾åœ¨æ²’有 switch 敘述的敘述é‹ç®—å¼ä¸­"
+
+-#: c-typeck.c:7272
++#: c-typeck.c:7283
+ #, gcc-internal-format
+ msgid "%<default%> label in statement expression not containing enclosing switch statement"
+ msgstr "%<default%> 標籤出ç¾åœ¨æ²’有相應 switch 敘述的敘述é‹ç®—å¼ä¸­"
+
+-#: c-typeck.c:7278
++#: c-typeck.c:7289
+ #, gcc-internal-format
+ msgid "case label in scope of identifier with variably modified type not containing enclosing switch statement"
+ msgstr "case 標籤出ç¾åœ¨æ²’有包å«çš„ switch 敘述的å¯è®Šé¡žåž‹è­˜åˆ¥ç¢¼ä½œç”¨æ¬„ä½ä¸­"
+
+-#: c-typeck.c:7281
++#: c-typeck.c:7292
+ #, gcc-internal-format
+ msgid "%<default%> label in scope of identifier with variably modified type not containing enclosing switch statement"
+ msgstr "%<default%> 標籤出ç¾åœ¨æ²’有包å«çš„ switch 敘述的å¯è®Šé¡žåž‹è­˜åˆ¥ç¢¼çš„作用欄ä½ä¸­"
+
+-#: c-typeck.c:7285 cp/parser.c:6804
++#: c-typeck.c:7296 cp/parser.c:6810
+ #, gcc-internal-format
+ msgid "case label not within a switch statement"
+ msgstr "case 標籤出ç¾åœ¨é–‹é—œæ•˜è¿°å¤–"
+
+-#: c-typeck.c:7287
++#: c-typeck.c:7298
+ #, gcc-internal-format
+ msgid "%<default%> label not within a switch statement"
+ msgstr "%<default%> 標籤未出ç¾åœ¨ switch 敘述內"
+
+-#: c-typeck.c:7364
++#: c-typeck.c:7375
+ #, gcc-internal-format
+ msgid "%Hsuggest explicit braces to avoid ambiguous %<else%>"
+ msgstr "%H建議明確地使用大括號以é¿å…出ç¾æœ‰æ­§ç¾©çš„ %<else%>"
+
+-#: c-typeck.c:7475 cp/cp-gimplify.c:97 cp/parser.c:7409
++#: c-typeck.c:7486 cp/cp-gimplify.c:97 cp/parser.c:7415
+ #, gcc-internal-format
+ msgid "break statement not within loop or switch"
+ msgstr "break 敘述ä¸åœ¨å¾ªç’°æˆ–開關敘述內"
+
+-#: c-typeck.c:7477 cp/parser.c:7430
++#: c-typeck.c:7488 cp/parser.c:7436
+ #, gcc-internal-format
+ msgid "continue statement not within a loop"
+ msgstr "continue 敘述出ç¾åœ¨å¾ªç’°ä»¥å¤–"
+
+-#: c-typeck.c:7482 cp/parser.c:7420
++#: c-typeck.c:7493 cp/parser.c:7426
+ #, fuzzy, gcc-internal-format
+ msgid "break statement used with OpenMP for loop"
+ msgstr "break 敘述ä¸åœ¨å¾ªç’°æˆ–開關敘述內"
+
+-#: c-typeck.c:7505
++#: c-typeck.c:7516
+ #, gcc-internal-format
+ msgid "%Hstatement with no effect"
+ msgstr "%H敘述ä¸èµ·ä½œç”¨"
+
+-#: c-typeck.c:7527
++#: c-typeck.c:7538
+ #, gcc-internal-format
+ msgid "expression statement has incomplete type"
+ msgstr "é‹ç®—å¼æ•˜è¿°é¡žåž‹ä¸å®Œå…¨"
+
+-#: c-typeck.c:8082 cp/typeck.c:3259
++#: c-typeck.c:8093 cp/typeck.c:3301
+ #, gcc-internal-format
+ msgid "right shift count is negative"
+ msgstr "å³ç§»æ¬¡æ•¸ç‚ºè² "
+
+-#: c-typeck.c:8089 cp/typeck.c:3265
++#: c-typeck.c:8100 cp/typeck.c:3305
+ #, gcc-internal-format
+ msgid "right shift count >= width of type"
+ msgstr "å³ç§»æ¬¡æ•¸å¤§æ–¼æˆ–等於類型寬度"
+
+-#: c-typeck.c:8111 cp/typeck.c:3284
++#: c-typeck.c:8122 cp/typeck.c:3324
+ #, gcc-internal-format
+ msgid "left shift count is negative"
+ msgstr "左移次數為負"
+
+-#: c-typeck.c:8114 cp/typeck.c:3286
++#: c-typeck.c:8125 cp/typeck.c:3326
+ #, gcc-internal-format
+ msgid "left shift count >= width of type"
+ msgstr "左移次數大於或等於類型寬度"
+
+-#: c-typeck.c:8132 cp/typeck.c:3324
++#: c-typeck.c:8143 cp/typeck.c:3364
+ #, gcc-internal-format
+ msgid "comparing floating point with == or != is unsafe"
+ msgstr "使用 == 或 != 比較浮點數是ä¸å®‰å…¨çš„"
+
+-#: c-typeck.c:8156 c-typeck.c:8163
++#: c-typeck.c:8167 c-typeck.c:8174
+ #, gcc-internal-format
+ msgid "ISO C forbids comparison of %<void *%> with function pointer"
+ msgstr "ISO C ä¸å…許在 %<void *%> 和函å¼æŒ‡æ¨™é–“比較"
+
+-#: c-typeck.c:8169 c-typeck.c:8227
++#: c-typeck.c:8180 c-typeck.c:8238
+ #, gcc-internal-format
+ msgid "comparison of distinct pointer types lacks a cast"
+ msgstr "比較ä¸ç›¸é—œçš„指標時缺少類型轉æ›"
+
+-#: c-typeck.c:8178 c-typeck.c:8186 cp/typeck.c:3344 cp/typeck.c:3353
++#: c-typeck.c:8189 c-typeck.c:8197 cp/typeck.c:3384 cp/typeck.c:3393
+ #, fuzzy, gcc-internal-format
+ msgid "the address of %qD will never be NULL"
+ msgstr "%qD çš„ä½å€ç¸½æ˜¯ç­‰åƒ¹ç‚º %<true%>"
+
+-#: c-typeck.c:8193 c-typeck.c:8198 c-typeck.c:8245 c-typeck.c:8250
++#: c-typeck.c:8204 c-typeck.c:8209 c-typeck.c:8256 c-typeck.c:8261
+ #, gcc-internal-format
+ msgid "comparison between pointer and integer"
+ msgstr "比較指標和整數"
+
+-#: c-typeck.c:8219
++#: c-typeck.c:8230
+ #, gcc-internal-format
+ msgid "comparison of complete and incomplete pointers"
+ msgstr "在完全和ä¸å®Œå…¨æŒ‡æ¨™é–“比較"
+
+-#: c-typeck.c:8222
++#: c-typeck.c:8233
+ #, gcc-internal-format
+ msgid "ISO C forbids ordered comparisons of pointers to functions"
+ msgstr "ISO C ä¸å…許函å¼æŒ‡æ¨™é–“比較大å°"
+
+-#: c-typeck.c:8234 c-typeck.c:8240
++#: c-typeck.c:8245 c-typeck.c:8251
+ #, gcc-internal-format
+ msgid "ordered comparison of pointer with integer zero"
+ msgstr "指標與整數 0 比較大å°"
+
+-#: c-typeck.c:8500
++#: c-typeck.c:8511
+ #, gcc-internal-format
+ msgid "comparison between signed and unsigned"
+ msgstr "比較有號和無號數"
+
+-#: c-typeck.c:8546 cp/typeck.c:3830
++#: c-typeck.c:8557 cp/typeck.c:3838
+ #, gcc-internal-format
+ msgid "comparison of promoted ~unsigned with constant"
+ msgstr "比較常數和å–å後åˆç¶“æå‡çš„無號數"
+
+-#: c-typeck.c:8554 cp/typeck.c:3838
++#: c-typeck.c:8565 cp/typeck.c:3846
+ #, gcc-internal-format
+ msgid "comparison of promoted ~unsigned with unsigned"
+ msgstr "比較無號數和å–å後åˆç¶“æå‡çš„無號數"
+
+-#: c-typeck.c:8612
++#: c-typeck.c:8623
+ #, gcc-internal-format
+ msgid "used array that cannot be converted to pointer where scalar is required"
+ msgstr "需è¦æ¨™é‡æ™‚使用了ä¸èƒ½è¢«è½‰æ›ç‚ºæŒ‡æ¨™çš„陣列"
+
+-#: c-typeck.c:8616
++#: c-typeck.c:8627
+ #, gcc-internal-format
+ msgid "used struct type value where scalar is required"
+ msgstr "需è¦æ¨™é‡æ™‚使用了çµæ§‹é¡žåž‹"
+
+-#: c-typeck.c:8620
++#: c-typeck.c:8631
+ #, gcc-internal-format
+ msgid "used union type value where scalar is required"
+ msgstr "需è¦æ¨™é‡æ™‚使用了è¯åˆé¡žåž‹"
+
+-#: c-typeck.c:8725 cp/semantics.c:3523
++#: c-typeck.c:8736 cp/semantics.c:3555
+ #, fuzzy, gcc-internal-format
+ msgid "%qE has invalid type for %<reduction%>"
+ msgstr "錯誤地使用了 %<restrict%>"
+
+-#: c-typeck.c:8759 cp/semantics.c:3536
++#: c-typeck.c:8770 cp/semantics.c:3568
+ #, gcc-internal-format
+ msgid "%qE has invalid type for %<reduction(%s)%>"
+ msgstr ""
+
+-#: c-typeck.c:8775 cp/semantics.c:3546
++#: c-typeck.c:8786 cp/semantics.c:3578
+ #, gcc-internal-format
+ msgid "%qE must be %<threadprivate%> for %<copyin%>"
+ msgstr ""
+
+-#: c-typeck.c:8784 cp/semantics.c:3351
++#: c-typeck.c:8795 cp/semantics.c:3383
+ #, fuzzy, gcc-internal-format
+ msgid "%qE is not a variable in clause %qs"
+ msgstr "%qT 是 %qT 的一個ä¸å¯å­˜å–的基礎類別"
+
+-#: c-typeck.c:8791 c-typeck.c:8811 c-typeck.c:8831 cp/semantics.c:3377
+-#: cp/semantics.c:3396
++#: c-typeck.c:8802 c-typeck.c:8822 c-typeck.c:8842 cp/semantics.c:3409
++#: cp/semantics.c:3428
+ #, gcc-internal-format
+ msgid "%qE appears more than once in data clauses"
+ msgstr ""
+
+-#: c-typeck.c:8805 cp/semantics.c:3371
++#: c-typeck.c:8816 cp/semantics.c:3403
+ #, fuzzy, gcc-internal-format
+ msgid "%qE is not a variable in clause %<firstprivate%>"
+ msgstr "實體變數 %qs 被宣告為ç§æœ‰çš„"
+
+-#: c-typeck.c:8825 cp/semantics.c:3390
++#: c-typeck.c:8836 cp/semantics.c:3422
+ #, fuzzy, gcc-internal-format
+ msgid "%qE is not a variable in clause %<lastprivate%>"
+ msgstr "實體變數 %qs 被宣告為ç§æœ‰çš„"
+
+-#: c-typeck.c:8883 cp/semantics.c:3587
++#: c-typeck.c:8894 cp/semantics.c:3619
+ #, gcc-internal-format
+ msgid "%qE is predetermined %qs for %qs"
+ msgstr ""
+@@ -21387,12 +21372,12 @@
+ msgid "function call has aggregate value"
+ msgstr "函å¼å‘¼å«æœ‰èšåˆé¡žåž‹"
+
+-#: cfgexpand.c:1884
++#: cfgexpand.c:1887
+ #, gcc-internal-format
+ msgid "not protecting local variables: variable length buffer"
+ msgstr "沒有ä¿è­·å±€éƒ¨è®Šæ•¸ï¼šå¯è®Šé•·åº¦çš„ç·©è¡å€"
+
+-#: cfgexpand.c:1887
++#: cfgexpand.c:1890
+ #, gcc-internal-format
+ msgid "not protecting function: no buffer at least %d bytes long"
+ msgstr "沒有ä¿è­·å‡½å¼ï¼šæ²’有至少有 %d ä½å…ƒçµ„é•·çš„ç·©è¡å€"
+@@ -21447,7 +21432,7 @@
+ msgid "verify_flow_info: Basic block %d succ edge is corrupted"
+ msgstr ""
+
+-#: cfghooks.c:184 cfgrtl.c:1840
++#: cfghooks.c:184 cfgrtl.c:1838
+ #, gcc-internal-format
+ msgid "wrong amount of branch edges after unconditional jump %i"
+ msgstr "éžæ¢ä»¶è·³è½‰ %i 之後的分支邊數ä¸æ­£ç¢º"
+@@ -21657,252 +21642,252 @@
+ msgid "%d exits recorded for loop %d (having %d exits)"
+ msgstr ""
+
+-#: cfgrtl.c:1734
++#: cfgrtl.c:1732
+ #, gcc-internal-format
+ msgid "BB_RTL flag not set for block %d"
+ msgstr ""
+
+-#: cfgrtl.c:1741
++#: cfgrtl.c:1739
+ #, gcc-internal-format
+ msgid "insn %d basic block pointer is %d, should be %d"
+ msgstr ""
+
+-#: cfgrtl.c:1752
++#: cfgrtl.c:1750
+ #, gcc-internal-format
+ msgid "insn %d in header of bb %d has non-NULL basic block"
+ msgstr ""
+
+-#: cfgrtl.c:1760
++#: cfgrtl.c:1758
+ #, gcc-internal-format
+ msgid "insn %d in footer of bb %d has non-NULL basic block"
+ msgstr ""
+
+-#: cfgrtl.c:1782
++#: cfgrtl.c:1780
+ #, gcc-internal-format
+ msgid "verify_flow_info: REG_BR_PROB does not match cfg %wi %i"
+ msgstr "verify_flow_info:REG_BR_PROB ä¸åŒ¹é… cfg %wi %i"
+
+-#: cfgrtl.c:1797
++#: cfgrtl.c:1795
+ #, gcc-internal-format
+ msgid "fallthru edge crosses section boundary (bb %i)"
+ msgstr ""
+
+-#: cfgrtl.c:1822
++#: cfgrtl.c:1820
+ #, gcc-internal-format
+ msgid "missing REG_EH_REGION note in the end of bb %i"
+ msgstr ""
+
+-#: cfgrtl.c:1830
++#: cfgrtl.c:1828
+ #, gcc-internal-format
+ msgid "too many outgoing branch edges from bb %i"
+ msgstr ""
+
+-#: cfgrtl.c:1835
++#: cfgrtl.c:1833
+ #, gcc-internal-format
+ msgid "fallthru edge after unconditional jump %i"
+ msgstr "éžæ¢ä»¶è·³è½‰ %i 之後的直通邊數"
+
+-#: cfgrtl.c:1846
++#: cfgrtl.c:1844
+ #, gcc-internal-format
+ msgid "wrong amount of branch edges after conditional jump %i"
+ msgstr "æ¢ä»¶è·³è½‰ %i 之後的分支邊數ä¸æ­£ç¢º"
+
+-#: cfgrtl.c:1852
++#: cfgrtl.c:1850
+ #, gcc-internal-format
+ msgid "call edges for non-call insn in bb %i"
+ msgstr ""
+
+-#: cfgrtl.c:1861
++#: cfgrtl.c:1859
+ #, gcc-internal-format
+ msgid "abnormal edges for no purpose in bb %i"
+ msgstr ""
+
+-#: cfgrtl.c:1873
++#: cfgrtl.c:1871
+ #, gcc-internal-format
+ msgid "insn %d inside basic block %d but block_for_insn is NULL"
+ msgstr ""
+
+-#: cfgrtl.c:1877
++#: cfgrtl.c:1875
+ #, gcc-internal-format
+ msgid "insn %d inside basic block %d but block_for_insn is %i"
+ msgstr "insn %d 在基本å€å¡Š %d 之內,但是 BLOCK_FOR_INSN 是 %i"
+
+-#: cfgrtl.c:1891 cfgrtl.c:1901
++#: cfgrtl.c:1889 cfgrtl.c:1899
+ #, gcc-internal-format
+ msgid "NOTE_INSN_BASIC_BLOCK is missing for block %d"
+ msgstr "å€å¡Š %d 缺少 NOTE_INSN_BASIC_BLOCK"
+
+-#: cfgrtl.c:1914
++#: cfgrtl.c:1912
+ #, gcc-internal-format
+ msgid "NOTE_INSN_BASIC_BLOCK %d in middle of basic block %d"
+ msgstr "NOTE_INSN_BASIC_BLOCK %d 在基本å€å¡Š %d 中間"
+
+-#: cfgrtl.c:1924
++#: cfgrtl.c:1922
+ #, gcc-internal-format
+ msgid "in basic block %d:"
+ msgstr "在基本å€å¡Š %d 中:"
+
+-#: cfgrtl.c:1977 cfgrtl.c:2067
++#: cfgrtl.c:1975 cfgrtl.c:2065
+ #, fuzzy, gcc-internal-format
+ msgid "insn %d outside of basic blocks has non-NULL bb field"
+ msgstr "基本å€å¡Šå¤–出ç¾æŒ‡ä»¤"
+
+-#: cfgrtl.c:1985
++#: cfgrtl.c:1983
+ #, gcc-internal-format
+ msgid "end insn %d for block %d not found in the insn stream"
+ msgstr ""
+
+-#: cfgrtl.c:1998
++#: cfgrtl.c:1996
+ #, gcc-internal-format
+ msgid "insn %d is in multiple basic blocks (%d and %d)"
+ msgstr ""
+
+-#: cfgrtl.c:2010
++#: cfgrtl.c:2008
+ #, gcc-internal-format
+ msgid "head insn %d for block %d not found in the insn stream"
+ msgstr ""
+
+-#: cfgrtl.c:2030
++#: cfgrtl.c:2028
+ #, gcc-internal-format
+ msgid "missing barrier after block %i"
+ msgstr "在å€å¡Š %i 之後缺少邊界"
+
+-#: cfgrtl.c:2043
++#: cfgrtl.c:2041
+ #, gcc-internal-format
+ msgid "verify_flow_info: Incorrect blocks for fallthru %i->%i"
+ msgstr "verify_flow_info:ä¸æ­£ç¢ºçš„å€å¡Šç›´é€š %i->%i"
+
+-#: cfgrtl.c:2052
++#: cfgrtl.c:2050
+ #, gcc-internal-format
+ msgid "verify_flow_info: Incorrect fallthru %i->%i"
+ msgstr "verify_flow_info:ä¸æ­£ç¢ºçš„直通 %i->%i"
+
+-#: cfgrtl.c:2085
++#: cfgrtl.c:2083
+ #, gcc-internal-format
+ msgid "basic blocks not laid down consecutively"
+ msgstr ""
+
+-#: cfgrtl.c:2124
++#: cfgrtl.c:2122
+ #, gcc-internal-format
+ msgid "number of bb notes in insn chain (%d) != n_basic_blocks (%d)"
+ msgstr ""
+
+-#: cgraph.c:794
++#: cgraph.c:840
+ #, gcc-internal-format
+ msgid "%D renamed after being referenced in assembly"
+ msgstr ""
+
+-#: cgraphunit.c:670
++#: cgraphunit.c:675
+ #, gcc-internal-format
+ msgid "aux field set for edge %s->%s"
+ msgstr "為邊 %s->%s 設定 AUX 欄ä½"
+
+-#: cgraphunit.c:676
++#: cgraphunit.c:681
+ #, gcc-internal-format
+ msgid "Execution count is negative"
+ msgstr "執行次數為負"
+
+-#: cgraphunit.c:683
++#: cgraphunit.c:688
+ #, gcc-internal-format
+ msgid "caller edge count is negative"
+ msgstr "呼å«é‚Šè¨ˆæ•¸ç‚ºè² "
+
+-#: cgraphunit.c:688
++#: cgraphunit.c:693
+ #, fuzzy, gcc-internal-format
+ msgid "caller edge frequency is negative"
+ msgstr "呼å«é‚Šè¨ˆæ•¸ç‚ºè² "
+
+-#: cgraphunit.c:693
++#: cgraphunit.c:698
+ #, fuzzy, gcc-internal-format
+ msgid "caller edge frequency is too large"
+ msgstr "呼å«é‚Šè¨ˆæ•¸ç‚ºè² "
+
+-#: cgraphunit.c:702
++#: cgraphunit.c:707
+ #, gcc-internal-format
+ msgid "inlined_to pointer is wrong"
+ msgstr "inlined_to pointer 錯誤"
+
+-#: cgraphunit.c:707
++#: cgraphunit.c:712
+ #, gcc-internal-format
+ msgid "multiple inline callers"
+ msgstr "多個內è¯å‘¼å«è€…"
+
+-#: cgraphunit.c:714
++#: cgraphunit.c:719
+ #, gcc-internal-format
+ msgid "inlined_to pointer set for noninline callers"
+ msgstr "為éžå…§è¯çš„呼å«è€…設定了 inlined_to pointer"
+
+-#: cgraphunit.c:720
++#: cgraphunit.c:725
+ #, fuzzy, gcc-internal-format
+ msgid "inlined_to pointer is set but no predecessors found"
+ msgstr "設定了 inlined_to 指標å»æ‰¾ä¸åˆ°å‰é©…"
+
+-#: cgraphunit.c:725
++#: cgraphunit.c:730
+ #, gcc-internal-format
+ msgid "inlined_to pointer refers to itself"
+ msgstr "inlined_to pointer åƒç…§è‡ªèº«"
+
+-#: cgraphunit.c:735
++#: cgraphunit.c:740
+ #, fuzzy, gcc-internal-format
+ msgid "node not found in cgraph_hash"
+ msgstr "在類別中找ä¸åˆ°æ–¹æ³•ã€Œ%sã€"
+
+-#: cgraphunit.c:763
++#: cgraphunit.c:768
+ #, gcc-internal-format
+ msgid "shared call_stmt:"
+ msgstr "共享的 call_stmt:"
+
+-#: cgraphunit.c:770
++#: cgraphunit.c:775
+ #, gcc-internal-format
+ msgid "edge points to wrong declaration:"
+ msgstr "邊緣指到ä¸å°çš„宣告:"
+
+-#: cgraphunit.c:779
++#: cgraphunit.c:784
+ #, gcc-internal-format
+ msgid "missing callgraph edge for call stmt:"
+ msgstr ""
+
+-#: cgraphunit.c:795
++#: cgraphunit.c:800
+ #, gcc-internal-format
+ msgid "edge %s->%s has no corresponding call_stmt"
+ msgstr ""
+
+-#: cgraphunit.c:807
++#: cgraphunit.c:812
+ #, gcc-internal-format
+ msgid "verify_cgraph_node failed"
+ msgstr "verify_cgraph_node 失敗"
+
+-#: cgraphunit.c:909 cgraphunit.c:932
++#: cgraphunit.c:915 cgraphunit.c:938
+ #, fuzzy, gcc-internal-format
+ msgid "%J%<externally_visible%> attribute have effect only on public objects"
+ msgstr "%qE 屬性åªèƒ½å¥—用到公共物件上"
+
+-#: cgraphunit.c:1122
++#: cgraphunit.c:1128
+ #, gcc-internal-format
+ msgid "failed to reclaim unneeded function"
+ msgstr "無法收回ä¸éœ€è¦çš„函å¼"
+
+-#: cgraphunit.c:1454
++#: cgraphunit.c:1460
+ #, gcc-internal-format
+ msgid "nodes with no released memory found"
+ msgstr ""
+
+-#: collect2.c:1189
++#: collect2.c:1203
+ #, gcc-internal-format
+ msgid "unknown demangling style '%s'"
+ msgstr "ä¸æ˜Žçš„解修飾風格「%sã€"
+
+-#: collect2.c:1512
++#: collect2.c:1526
+ #, gcc-internal-format
+ msgid "%s terminated with signal %d [%s]%s"
+ msgstr "%s 以信號 %d [%s]%s 離開。"
+
+-#: collect2.c:1530
++#: collect2.c:1544
+ #, gcc-internal-format
+ msgid "%s returned %d exit status"
+ msgstr "%s 以回傳值 %d 離開"
+
+-#: collect2.c:2242
++#: collect2.c:2256
+ #, gcc-internal-format
+ msgid "cannot find 'ldd'"
+ msgstr "找ä¸åˆ°ã€Œlddã€"
+@@ -22057,27 +22042,27 @@
+ msgid "dominator of %d should be %d, not %d"
+ msgstr "%d 的主導者應該為 %d,而ä¸æ˜¯ %d"
+
+-#: dwarf2out.c:3634
++#: dwarf2out.c:3686
+ #, gcc-internal-format
+ msgid "DW_LOC_OP %s not implemented"
+ msgstr "DW_LOC_OP %s 尚未實作"
+
+-#: emit-rtl.c:2326
++#: emit-rtl.c:2262
+ #, gcc-internal-format
+ msgid "invalid rtl sharing found in the insn"
+ msgstr "在 insn 中找到無效的 rtl 分享"
+
+-#: emit-rtl.c:2328
++#: emit-rtl.c:2264
+ #, gcc-internal-format
+ msgid "shared rtx"
+ msgstr "共享的 rtx"
+
+-#: emit-rtl.c:2330
++#: emit-rtl.c:2266
+ #, gcc-internal-format
+ msgid "internal consistency failure"
+ msgstr "內部一致性錯誤"
+
+-#: emit-rtl.c:3417
++#: emit-rtl.c:3365
+ #, gcc-internal-format
+ msgid "ICE: emit_insn used where emit_jump_insn needed:\n"
+ msgstr "ICEï¼šéœ€è¦ emit_jump_insn 時使用了 emit_insn used where:\n"
+@@ -22137,17 +22122,17 @@
+ msgid "verify_eh_tree failed"
+ msgstr "verify_eh_tree 失敗"
+
+-#: explow.c:1281
++#: explow.c:1258
+ #, gcc-internal-format
+ msgid "stack limits not supported on this target"
+ msgstr "堆疊é™åˆ¶åœ¨æ­¤ç›®æ¨™å¹³è‡ºä¸Šä¸å—支æ´"
+
+-#: expr.c:8031
++#: expr.c:8030
+ #, fuzzy
+ msgid "%Kcall to %qs declared with attribute error: %s"
+ msgstr "å‡½å¼ %q+D é‡å®£å‘Šç‚ºå¸¶æœ‰ä¸å¯å…§è¯å±¬æ€§"
+
+-#: expr.c:8037
++#: expr.c:8036
+ #, fuzzy
+ msgid "%Kcall to %qs declared with attribute warning: %s"
+ msgstr "å‡½å¼ %q+D é‡å®£å‘Šç‚ºå¸¶æœ‰ä¸å¯å…§è¯å±¬æ€§"
+@@ -22162,7 +22147,7 @@
+ msgid "large fixed-point constant implicitly truncated to fixed-point type"
+ msgstr "大整數隱å«æˆªæ–·ç‚ºç„¡è™Ÿé¡žåž‹"
+
+-#: fold-const.c:992 tree-ssa-loop-niter.c:1827 tree-vrp.c:5060
++#: fold-const.c:992 tree-ssa-loop-niter.c:1827 tree-vrp.c:5076
+ #, gcc-internal-format
+ msgid "%H%s"
+ msgstr "%H%s"
+@@ -22172,77 +22157,77 @@
+ msgid "assuming signed overflow does not occur when negating a division"
+ msgstr ""
+
+-#: fold-const.c:3989 fold-const.c:4000
++#: fold-const.c:4003 fold-const.c:4014
+ #, gcc-internal-format
+ msgid "comparison is always %d due to width of bit-field"
+ msgstr "由於ä½å…ƒæ®µå¯¬åº¦æ‰€é™ï¼Œæ¯”較çµæžœæ°¸é ç‚º %d"
+
+-#: fold-const.c:5317
++#: fold-const.c:5331
+ #, gcc-internal-format
+ msgid "assuming signed overflow does not occur when simplifying range test"
+ msgstr ""
+
+-#: fold-const.c:5691 fold-const.c:5706
++#: fold-const.c:5705 fold-const.c:5720
+ #, gcc-internal-format
+ msgid "comparison is always %d"
+ msgstr "比較çµæžœå§‹çµ‚為 %d"
+
+-#: fold-const.c:5835
++#: fold-const.c:5849
+ #, gcc-internal-format
+ msgid "%<or%> of unmatched not-equal tests is always 1"
+ msgstr "å°å…©å€‹ä¸åŒ¹é…çš„ä¸ç­‰æ¯”è¼ƒå– %<or%> çš„çµæžœç¸½ç‚º 1"
+
+-#: fold-const.c:5840
++#: fold-const.c:5854
+ #, gcc-internal-format
+ msgid "%<and%> of mutually exclusive equal-tests is always 0"
+ msgstr "å°å…©å€‹äº’æ–¥çš„ç›¸ç­‰æ¯”è¼ƒå– %<and%> çš„çµæžœæ°¸é æ˜¯ 0"
+
+-#: fold-const.c:8617
++#: fold-const.c:8641
+ #, gcc-internal-format
+ msgid "assuming signed overflow does not occur when reducing constant in comparison"
+ msgstr ""
+
+-#: fold-const.c:8871
++#: fold-const.c:8895
+ #, gcc-internal-format
+ msgid "assuming signed overflow does not occur when combining constants around a comparison"
+ msgstr ""
+
+-#: fold-const.c:13236
++#: fold-const.c:13433
+ #, gcc-internal-format
+ msgid "fold check: original tree changed by fold"
+ msgstr ""
+
+-#: function.c:377
++#: function.c:380
+ #, gcc-internal-format
+ msgid "%Jtotal size of local objects too large"
+ msgstr "%J局部物件的總大å°å¤ªå¤§"
+
+-#: function.c:837 varasm.c:2095
++#: function.c:840 varasm.c:2095
+ #, gcc-internal-format
+ msgid "size of variable %q+D is too large"
+ msgstr "變數 %q+D 的大å°å¤ªå¤§"
+
+-#: function.c:1554 gimplify.c:4250
++#: function.c:1571 gimplify.c:4405
+ #, gcc-internal-format
+ msgid "impossible constraint in %<asm%>"
+ msgstr "%<asm%> 中ä¸å¯èƒ½çš„ç´„æŸ"
+
+-#: function.c:3538
++#: function.c:3557
+ #, gcc-internal-format
+ msgid "variable %q+D might be clobbered by %<longjmp%> or %<vfork%>"
+ msgstr "變數 %q+D 能為 %<longjmp%> 或 %<vfork%> 所篡改"
+
+-#: function.c:3559
++#: function.c:3578
+ #, gcc-internal-format
+ msgid "argument %q+D might be clobbered by %<longjmp%> or %<vfork%>"
+ msgstr "引數 %q+D å¯èƒ½ç‚º %<longjmp%> 或 %<vfork%> 所篡改"
+
+-#: function.c:4004
++#: function.c:4027
+ #, gcc-internal-format
+ msgid "function returns an aggregate"
+ msgstr "函å¼å›žå‚³ä¸€å€‹èšåˆ"
+
+-#: function.c:4401
++#: function.c:4424
+ #, gcc-internal-format
+ msgid "unused parameter %q+D"
+ msgstr "未使用的åƒæ•¸ %q+D"
+@@ -22267,12 +22252,12 @@
+ msgid "extraneous argument to '%s' option"
+ msgstr "「%sã€é¸é …引數太多"
+
+-#: gcc.c:3987
++#: gcc.c:3981
+ #, gcc-internal-format
+ msgid "warning: -pipe ignored because -save-temps specified"
+ msgstr "警告:忽略 -pipe,因為指定了 -save-temps"
+
+-#: gcc.c:4276
++#: gcc.c:4270
+ #, gcc-internal-format
+ msgid "warning: '-x %s' after last input file has no effect"
+ msgstr "警告:出ç¾åœ¨æœ€å¾Œä¸€å€‹è¼¸å…¥æª”案後的「-x %sã€ä¸èµ·ä½œç”¨"
+@@ -22280,62 +22265,62 @@
+ #. Catch the case where a spec string contains something like
+ #. '%{foo:%*}'. i.e. there is no * in the pattern on the left
+ #. hand side of the :.
+-#: gcc.c:5314
++#: gcc.c:5308
+ #, gcc-internal-format
+ msgid "spec failure: '%%*' has not been initialized by pattern match"
+ msgstr "spec 失敗:「%%*ã€æœªç¶“模å¼åŒ¹é…åˆå§‹åŒ–"
+
+-#: gcc.c:5323
++#: gcc.c:5317
+ #, gcc-internal-format
+ msgid "warning: use of obsolete %%[ operator in specs"
+ msgstr "警告:在 specs 中使用éŽæ™‚çš„ %%[ é‹ç®—å­"
+
+-#: gcc.c:5404
++#: gcc.c:5398
+ #, gcc-internal-format
+ msgid "spec failure: unrecognized spec option '%c'"
+ msgstr "spec 錯誤:無法辨識的 spec é¸é …「%cã€"
+
+-#: gcc.c:6305
++#: gcc.c:6304
+ #, gcc-internal-format
+ msgid "spec failure: more than one arg to SYSROOT_SUFFIX_SPEC"
+ msgstr "spec 失敗:SYSROOT_SUFFIX_SPEC åƒæ•¸å¤šæ–¼ä¸€å€‹"
+
+-#: gcc.c:6328
++#: gcc.c:6327
+ #, gcc-internal-format
+ msgid "spec failure: more than one arg to SYSROOT_HEADERS_SUFFIX_SPEC"
+ msgstr "spec 失敗:SYSROOT_HEADERS_SUFFIX_SPEC åƒæ•¸å¤šæ–¼ä¸€å€‹"
+
+-#: gcc.c:6415
++#: gcc.c:6414
+ #, gcc-internal-format
+ msgid "unrecognized option '-%s'"
+ msgstr "無法辨識的é¸é …「-%sã€"
+
+-#: gcc.c:6615 gcc.c:6678
++#: gcc.c:6614 gcc.c:6677
+ #, gcc-internal-format
+ msgid "%s: %s compiler not installed on this system"
+ msgstr "%sï¼šæ­¤ç³»çµ±æœªå®‰è£ %s 編譯器"
+
+-#: gcc.c:6778
++#: gcc.c:6777
+ #, gcc-internal-format
+ msgid "%s: linker input file unused because linking not done"
+ msgstr "%s:未使用連çµå™¨è¼¸å…¥æª”案,因為連çµå°šæœªå®Œæˆ"
+
+-#: gcc.c:6818
++#: gcc.c:6817
+ #, gcc-internal-format
+ msgid "language %s not recognized"
+ msgstr "語言 %s 未能被識別"
+
+-#: gcc.c:6889
++#: gcc.c:6888
+ #, gcc-internal-format
+ msgid "%s: %s"
+ msgstr "%s:%s"
+
+-#: gcse.c:6660
++#: gcse.c:6644
+ #, gcc-internal-format
+ msgid "%s: %d basic blocks and %d edges/basic block"
+ msgstr ""
+
+-#: gcse.c:6673
++#: gcse.c:6657
+ #, gcc-internal-format
+ msgid "%s: %d basic blocks and %d registers"
+ msgstr "%s:%d 個基本å€å¡Šå’Œ %d 個暫存器"
+@@ -22388,52 +22373,52 @@
+ msgid "can't write PCH fle: %m"
+ msgstr "無法寫入 PCH 檔案:%m"
+
+-#: gimplify.c:4139
++#: gimplify.c:4294
+ #, gcc-internal-format
+ msgid "invalid lvalue in asm output %d"
+ msgstr "組譯輸出 %d 中左值無效"
+
+-#: gimplify.c:4251
++#: gimplify.c:4406
+ #, gcc-internal-format
+ msgid "non-memory input %d must stay in memory"
+ msgstr ""
+
+-#: gimplify.c:4264
++#: gimplify.c:4419
+ #, gcc-internal-format
+ msgid "memory input %d is not directly addressable"
+ msgstr "記憶體輸入 %d ä¸å¯ç›´æŽ¥å®šå€"
+
+-#: gimplify.c:4743
++#: gimplify.c:4898
+ #, gcc-internal-format
+ msgid "%qs not specified in enclosing parallel"
+ msgstr ""
+
+-#: gimplify.c:4745
++#: gimplify.c:4900
+ #, gcc-internal-format
+ msgid "%Henclosing parallel"
+ msgstr ""
+
+-#: gimplify.c:4799
++#: gimplify.c:4954
+ #, fuzzy, gcc-internal-format
+ msgid "iteration variable %qs should be private"
+ msgstr "實體變數 %qs 被宣告為ç§æœ‰çš„"
+
+-#: gimplify.c:4813
++#: gimplify.c:4968
+ #, fuzzy, gcc-internal-format
+ msgid "iteration variable %qs should not be firstprivate"
+ msgstr "實體變數 %qs 被宣告為ç§æœ‰çš„"
+
+-#: gimplify.c:4816
++#: gimplify.c:4971
+ #, fuzzy, gcc-internal-format
+ msgid "iteration variable %qs should not be reduction"
+ msgstr "巢狀函å¼ä¸­ä½¿ç”¨äº†æš«å­˜å™¨è®Šæ•¸ %qs"
+
+-#: gimplify.c:4940
++#: gimplify.c:5095
+ #, fuzzy, gcc-internal-format
+ msgid "%s variable %qs is private in outer context"
+ msgstr "局部變數 %qD ä¸æ‡‰å‡ºç¾åœ¨æ­¤ä¸Šä¸‹æ–‡ä¸­"
+
+-#: gimplify.c:6108
++#: gimplify.c:6281
+ #, gcc-internal-format
+ msgid "gimplification failed"
+ msgstr "gimplification 失敗"
+@@ -22443,7 +22428,7 @@
+ msgid "%s cannot be used in asm here"
+ msgstr "%s ä¸èƒ½åœ¨é€™è£¡ç”¨æ–¼ asm"
+
+-#: graph.c:401 java/jcf-parse.c:1757 java/jcf-parse.c:1897 objc/objc-act.c:500
++#: graph.c:401 java/jcf-parse.c:1759 java/jcf-parse.c:1899 objc/objc-act.c:500
+ #, gcc-internal-format
+ msgid "can't open %s: %m"
+ msgstr "無法開啟 %s:%m"
+@@ -22453,158 +22438,163 @@
+ msgid "fix_sched_param: unknown param: %s"
+ msgstr ""
+
+-#: omp-low.c:1288
++#: omp-low.c:1289
+ #, gcc-internal-format
+ msgid "work-sharing region may not be closely nested inside of work-sharing, critical, ordered or master region"
+ msgstr ""
+
+-#: omp-low.c:1304
++#: omp-low.c:1305
+ #, gcc-internal-format
+ msgid "master region may not be closely nested inside of work-sharing region"
+ msgstr ""
+
+-#: omp-low.c:1318
++#: omp-low.c:1319
+ #, gcc-internal-format
+ msgid "ordered region may not be closely nested inside of critical region"
+ msgstr ""
+
+-#: omp-low.c:1324
++#: omp-low.c:1325
+ #, gcc-internal-format
+ msgid "ordered region must be closely nested inside a loop region with an ordered clause"
+ msgstr ""
+
+-#: omp-low.c:1338
++#: omp-low.c:1339
+ #, gcc-internal-format
+ msgid "critical region may not be nested inside a critical region with the same name"
+ msgstr ""
+
+-#: omp-low.c:5050 cp/decl.c:2660 cp/parser.c:7417 cp/parser.c:7437
++#: omp-low.c:5116 cp/decl.c:2667 cp/parser.c:7423 cp/parser.c:7443
+ #, gcc-internal-format
+ msgid "invalid exit from OpenMP structured block"
+ msgstr ""
+
+-#: omp-low.c:5052
++#: omp-low.c:5118
+ #, gcc-internal-format
+ msgid "invalid entry to OpenMP structured block"
+ msgstr ""
+
+-#: opts.c:173
++#: opts.c:165
+ #, fuzzy, gcc-internal-format
+ msgid "argument %qs to %<-femit-struct-debug-detailed%> not recognized"
+ msgstr "引數 %qs(給予 %<-Wnormalized%>)無法識別"
+
+-#: opts.c:207
++#: opts.c:199
+ #, gcc-internal-format
+ msgid "argument %qs to %<-femit-struct-debug-detailed%> unknown"
+ msgstr ""
+
+-#: opts.c:213
++#: opts.c:205
+ #, gcc-internal-format
+ msgid "%<-femit-struct-debug-detailed=dir:...%> must allow at least as much as %<-femit-struct-debug-detailed=ind:...%>"
+ msgstr ""
+
+ #. Eventually this should become a hard error IMO.
+-#: opts.c:438
++#: opts.c:430
+ #, gcc-internal-format
+ msgid "command line option \"%s\" is valid for %s but not for %s"
+ msgstr "命令列é¸é …「%sã€å° %s æ˜¯æœ‰æ•ˆçš„ï¼Œä½†å° %s 無效"
+
+-#: opts.c:492
++#: opts.c:484
+ #, gcc-internal-format
+ msgid "command line option %qs is not supported by this configuration"
+ msgstr "æ­¤é…ç½®ä¸æ”¯æ´å‘½ä»¤åˆ—é¸é … %qs"
+
+-#: opts.c:545
++#: opts.c:537
+ #, gcc-internal-format
+ msgid "missing argument to \"%s\""
+ msgstr "「%sã€ç¼ºå°‘引數"
+
+-#: opts.c:555
++#: opts.c:547
+ #, gcc-internal-format
+ msgid "argument to \"%s\" should be a non-negative integer"
+ msgstr "「%sã€çš„引數應該是一個éžè² æ•´æ•¸"
+
+-#: opts.c:728
++#: opts.c:720
+ #, gcc-internal-format
+ msgid "unrecognized command line option \"%s\""
+ msgstr "無法辨識的命令列é¸é …「%sã€"
+
+-#: opts.c:947
++#: opts.c:939
+ #, gcc-internal-format
+ msgid "-Wuninitialized is not supported without -O"
+ msgstr "-Wuninitialized 在未使用 -O 時ä¸å—支æ´"
+
+-#: opts.c:962
++#: opts.c:951
+ #, gcc-internal-format
++msgid "-funit-at-a-time is required for inlining of functions that are only called once"
++msgstr ""
++
++#: opts.c:964
++#, gcc-internal-format
+ msgid "-freorder-blocks-and-partition does not work with exceptions"
+ msgstr "-freorder-blocks-and-partition ä¸èƒ½èˆ‡ç•°å¸¸ä¸€èµ·å·¥ä½œ"
+
+-#: opts.c:973
++#: opts.c:975
+ #, gcc-internal-format
+ msgid "-freorder-blocks-and-partition does not support unwind info"
+ msgstr "-freorder-blocks-and-partition ä¸æ”¯æ´å±•é–‹çš„資訊"
+
+-#: opts.c:987
++#: opts.c:989
+ #, gcc-internal-format
+ msgid "-freorder-blocks-and-partition does not work on this architecture"
+ msgstr "-freorder-blocks-and-partition ä¸èƒ½åœ¨æ­¤æž¶æ§‹ä¸‹å·¥ä½œ"
+
+-#: opts.c:1263
++#: opts.c:1265
+ #, gcc-internal-format
+ msgid "unrecognized include_flags 0x%x passed to print_specific_help"
+ msgstr ""
+
+-#: opts.c:1593
++#: opts.c:1595
+ #, gcc-internal-format
+ msgid "structure alignment must be a small power of two, not %d"
+ msgstr "çµæ§‹çš„å°é½Šå¿…須是 2 的較å°æ¬¡æ–¹ï¼Œè€Œä¸æ˜¯ %d"
+
+-#: opts.c:1656
++#: opts.c:1658
+ #, gcc-internal-format
+ msgid "unrecognized visibility value \"%s\""
+ msgstr "無法辨識的å¯è¦‹æ€§å€¼ã€Œ%sã€"
+
+-#: opts.c:1704
++#: opts.c:1706
+ #, gcc-internal-format
+ msgid "unrecognized register name \"%s\""
+ msgstr "無法辨識的暫存器å「%sã€"
+
+-#: opts.c:1728
++#: opts.c:1730
+ #, gcc-internal-format
+ msgid "unknown tls-model \"%s\""
+ msgstr "ä¸æ˜Žçš„ tls-model「%sã€"
+
+-#: opts.c:1803
++#: opts.c:1807
+ #, gcc-internal-format
+ msgid "%s: --param arguments should be of the form NAME=VALUE"
+ msgstr "%s:--param 引數的形å¼æ‡‰è©²ç‚ºã€Œå稱=值ã€"
+
+-#: opts.c:1808
++#: opts.c:1812
+ #, gcc-internal-format
+ msgid "invalid --param value %qs"
+ msgstr "無效的 --param 值 %qs"
+
+-#: opts.c:1931
++#: opts.c:1934
+ #, gcc-internal-format
+ msgid "target system does not support debug output"
+ msgstr "目的系統ä¸æ”¯æ´é™¤éŒ¯è¼¸å‡º"
+
+-#: opts.c:1938
++#: opts.c:1941
+ #, gcc-internal-format
+ msgid "debug format \"%s\" conflicts with prior selection"
+ msgstr "除錯格å¼ã€Œ%sã€èˆ‡å…ˆå‰çš„é¸æ“‡è¡çª"
+
+-#: opts.c:1954
++#: opts.c:1957
+ #, gcc-internal-format
+ msgid "unrecognised debug output level \"%s\""
+ msgstr "無法辨識的除錯輸出層級「%sã€"
+
+-#: opts.c:1956
++#: opts.c:1959
+ #, gcc-internal-format
+ msgid "debug output level %s is too high"
+ msgstr "除錯輸出層級 %s 太高"
+
+-#: opts.c:2038
++#: opts.c:2041
+ #, gcc-internal-format
+ msgid "-Werror=%s: No option -%s"
+ msgstr ""
+@@ -22680,9 +22670,9 @@
+ msgid "can't use '%s' as a %s register"
+ msgstr "無法將「%sã€åšç‚º %s 暫存器"
+
+-#: regclass.c:890 config/ia64/ia64.c:5138 config/ia64/ia64.c:5145
+-#: config/pa/pa.c:359 config/pa/pa.c:366 config/spu/spu.c:3886
+-#: config/spu/spu.c:3893
++#: regclass.c:890 config/ia64/ia64.c:5139 config/ia64/ia64.c:5146
++#: config/pa/pa.c:362 config/pa/pa.c:369 config/spu/spu.c:3875
++#: config/spu/spu.c:3882
+ #, gcc-internal-format
+ msgid "unknown register name: %s"
+ msgstr "ä¸æ˜Žçš„暫存器å:%s"
+@@ -22722,22 +22712,22 @@
+ msgid "validate_value_data: [%u] Non-empty reg in chain (%s %u %i)"
+ msgstr ""
+
+-#: reload.c:1252
++#: reload.c:1256
+ #, gcc-internal-format
+ msgid "cannot reload integer constant operand in %<asm%>"
+ msgstr "ä¸èƒ½åœ¨ %<asm%> 中é‡æ–°è¼‰å…¥æ•´æ•¸å¸¸æ•¸é‹ç®—å…ƒ"
+
+-#: reload.c:1266
++#: reload.c:1270
+ #, gcc-internal-format
+ msgid "impossible register constraint in %<asm%>"
+ msgstr "%<asm%> 中ä¸å¯èƒ½çš„暫存器約æŸ"
+
+-#: reload.c:3564
++#: reload.c:3574
+ #, gcc-internal-format
+ msgid "%<&%> constraint used with no register class"
+ msgstr "%<&%> ç´„æŸæœªèˆ‡æš«å­˜å™¨é¡žåž‹ä¸€èµ·ä½¿ç”¨"
+
+-#: reload.c:3735 reload.c:3975
++#: reload.c:3745 reload.c:3991
+ #, gcc-internal-format
+ msgid "inconsistent operand constraints in an %<asm%>"
+ msgstr "ä¸€å¥ %<asm%> 中é‹ç®—元約æŸä¸ä¸€è‡´"
+@@ -22962,49 +22952,49 @@
+ msgid "size of %q+D is larger than %wd bytes"
+ msgstr "%q+D 的大å°è¶…éŽ %wd ä½å…ƒçµ„"
+
+-#: stor-layout.c:899
++#: stor-layout.c:888
+ #, gcc-internal-format
+ msgid "packed attribute causes inefficient alignment for %q+D"
+ msgstr "packed 屬性導致 %q+D 低效率的å°é½Š"
+
+-#: stor-layout.c:902
++#: stor-layout.c:891
+ #, gcc-internal-format
+ msgid "packed attribute is unnecessary for %q+D"
+ msgstr "packed å±¬æ€§å° %q+D 來說是ä¸éœ€è¦çš„"
+
+ #. No, we need to skip space before this field.
+ #. Bump the cumulative size to multiple of field alignment.
+-#: stor-layout.c:919
++#: stor-layout.c:908
+ #, gcc-internal-format
+ msgid "padding struct to align %q+D"
+ msgstr "填補çµæ§‹ä»¥å°é½Š %q+D"
+
+-#: stor-layout.c:1270
++#: stor-layout.c:1259
+ #, gcc-internal-format
+ msgid "padding struct size to alignment boundary"
+ msgstr "å°‡çµæ§‹å¤§å°å¡«è£œåˆ°å°é½Šé‚Šç•Œä¸Š"
+
+-#: stor-layout.c:1300
++#: stor-layout.c:1289
+ #, gcc-internal-format
+ msgid "packed attribute causes inefficient alignment for %qs"
+ msgstr "packed 屬性導致 %qs 低效率的å°é½Š"
+
+-#: stor-layout.c:1304
++#: stor-layout.c:1293
+ #, gcc-internal-format
+ msgid "packed attribute is unnecessary for %qs"
+ msgstr "packed å±¬æ€§å° %qs 來說是ä¸éœ€è¦çš„"
+
+-#: stor-layout.c:1310
++#: stor-layout.c:1299
+ #, gcc-internal-format
+ msgid "packed attribute causes inefficient alignment"
+ msgstr "packed 屬性導致低效率的å°é½Š"
+
+-#: stor-layout.c:1312
++#: stor-layout.c:1301
+ #, gcc-internal-format
+ msgid "packed attribute is unnecessary"
+ msgstr "ä¸éœ€è¦ packed 屬性"
+
+-#: stor-layout.c:1842
++#: stor-layout.c:1831
+ #, gcc-internal-format
+ msgid "alignment of array elements is greater than element size"
+ msgstr "陣列元素的å°é½Šé‚Šç•Œæ¯”元素大å°é‚„è¦å¤§"
+@@ -23089,643 +23079,653 @@
+ msgid "unrecognized gcc debugging option: %c"
+ msgstr "無法辨識的 gcc 除錯é¸é …:%c"
+
+-#: toplev.c:1411
++#: toplev.c:1413
+ #, gcc-internal-format
+ msgid "can%'t open %s for writing: %m"
+ msgstr "無法開啟 %s 並寫入:%m"
+
+-#: toplev.c:1432
++#: toplev.c:1434
+ #, fuzzy, gcc-internal-format
+ msgid "-frecord-gcc-switches is not supported by the current target"
+ msgstr "-fdata-sections 在此目標平臺上ä¸å—支æ´"
+
+-#: toplev.c:1745
++#: toplev.c:1747
+ #, fuzzy, gcc-internal-format
+ msgid "this target does not support %qs"
+ msgstr "%s ä¸æ”¯æ´ %s"
+
+-#: toplev.c:1794
++#: toplev.c:1796
+ #, gcc-internal-format
+ msgid "instruction scheduling not supported on this target machine"
+ msgstr "指令調度在此目標平臺上ä¸å—支æ´"
+
+-#: toplev.c:1798
++#: toplev.c:1800
+ #, gcc-internal-format
+ msgid "this target machine does not have delayed branches"
+ msgstr "此目標平臺沒有延é²è½‰ç§»æŒ‡ä»¤"
+
+-#: toplev.c:1812
++#: toplev.c:1814
+ #, gcc-internal-format
+ msgid "-f%sleading-underscore not supported on this target machine"
+ msgstr "-f%sleading-underscore 在此目標平臺上ä¸å—支æ´"
+
+-#: toplev.c:1885
++#: toplev.c:1887
+ #, gcc-internal-format
+ msgid "target system does not support the \"%s\" debug format"
+ msgstr "目的系統ä¸æ”¯æ´ã€Œ%sã€é™¤éŒ¯æ ¼å¼"
+
+-#: toplev.c:1898
++#: toplev.c:1900
+ #, gcc-internal-format
+ msgid "variable tracking requested, but useless unless producing debug info"
+ msgstr ""
+
+-#: toplev.c:1901
++#: toplev.c:1903
+ #, gcc-internal-format
+ msgid "variable tracking requested, but not supported by this debug format"
+ msgstr ""
+
+-#: toplev.c:1935
++#: toplev.c:1937
+ #, gcc-internal-format
+ msgid "can%'t open %s: %m"
+ msgstr "無法開啟%s:%m"
+
+-#: toplev.c:1942
++#: toplev.c:1944
+ #, gcc-internal-format
+ msgid "-ffunction-sections not supported for this target"
+ msgstr "-ffunction-sections 在此目標平臺上ä¸å—支æ´"
+
+-#: toplev.c:1947
++#: toplev.c:1949
+ #, gcc-internal-format
+ msgid "-fdata-sections not supported for this target"
+ msgstr "-fdata-sections 在此目標平臺上ä¸å—支æ´"
+
+-#: toplev.c:1954
++#: toplev.c:1956
+ #, gcc-internal-format
+ msgid "-ffunction-sections disabled; it makes profiling impossible"
+ msgstr "-ffunction-sections 被åœç”¨ï¼›å› æ­¤ä¸å¯èƒ½é€²è¡Œå–樣"
+
+-#: toplev.c:1961
++#: toplev.c:1963
+ #, gcc-internal-format
+ msgid "-fprefetch-loop-arrays not supported for this target"
+ msgstr "-fprefetch-loop-arrays 在此目標平臺上ä¸å—支æ´"
+
+-#: toplev.c:1967
++#: toplev.c:1969
+ #, gcc-internal-format
+ msgid "-fprefetch-loop-arrays not supported for this target (try -march switches)"
+ msgstr "-fprefetch-loop-arrays 在此目標平臺上ä¸å—支æ´(嘗試 -march é–‹é—œ)"
+
+-#: toplev.c:1976
++#: toplev.c:1978
+ #, gcc-internal-format
+ msgid "-fprefetch-loop-arrays is not supported with -Os"
+ msgstr "-fprefetch-loop-arrays ä¸æ”¯æ´èˆ‡ -Os 並用"
+
+-#: toplev.c:1983
++#: toplev.c:1985
+ #, gcc-internal-format
+ msgid "-ffunction-sections may affect debugging on some targets"
+ msgstr "-ffunction-sections 在æŸäº›ç›®æ¨™å¹³è‡ºä¸Šå¯èƒ½æœƒå½±éŸ¿é™¤éŒ¯"
+
+-#: toplev.c:1999
++#: toplev.c:1996
+ #, gcc-internal-format
++msgid "-fassociative-math disabled; other options take precedence"
++msgstr ""
++
++#: toplev.c:2008
++#, gcc-internal-format
+ msgid "-fstack-protector not supported for this target"
+ msgstr "-fstack-protector 在此目標平臺上ä¸å—支æ´"
+
+-#: toplev.c:2012
+-#, gcc-internal-format
+-msgid "unwind tables currently requires a frame pointer for correctness"
++#: toplev.c:2021
++#, fuzzy, gcc-internal-format
++msgid "unwind tables currently require a frame pointer for correctness"
+ msgstr "解繞表目å‰éœ€è¦å †ç–Šæ¡†æž¶æŒ‡æ¨™ä¾†ä¿è­‰æ­£ç¢ºæ€§"
+
+-#: toplev.c:2198
++#: toplev.c:2207
+ #, gcc-internal-format
+ msgid "error writing to %s: %m"
+ msgstr "寫入 %s 時發生錯誤:%m"
+
+-#: toplev.c:2200 java/jcf-parse.c:1776
++#: toplev.c:2209 java/jcf-parse.c:1778
+ #, gcc-internal-format
+ msgid "error closing %s: %m"
+ msgstr "關閉 %s 時發生錯誤:%m"
+
+-#: tree-cfg.c:1432 tree-cfg.c:2068 tree-cfg.c:2071
++#: tree-cfg.c:1451 tree-cfg.c:2087 tree-cfg.c:2090
+ #, gcc-internal-format
+ msgid "%Hwill never be executed"
+ msgstr "%Hæ°¸é ä¸æœƒè¢«åŸ·è¡Œ"
+
+-#: tree-cfg.c:3134
++#: tree-cfg.c:3153
+ #, gcc-internal-format
+ msgid "SSA name in freelist but still referenced"
+ msgstr ""
+
+-#: tree-cfg.c:3143
++#: tree-cfg.c:3162
+ #, gcc-internal-format
+ msgid "ASSERT_EXPR with an always-false condition"
+ msgstr ""
+
+-#: tree-cfg.c:3156
++#: tree-cfg.c:3175
+ #, gcc-internal-format
+ msgid "GIMPLE register modified with BIT_FIELD_REF"
+ msgstr ""
+
+-#: tree-cfg.c:3191
++#: tree-cfg.c:3210
+ #, gcc-internal-format
+ msgid "invariant not recomputed when ADDR_EXPR changed"
+ msgstr ""
+
+-#: tree-cfg.c:3197
++#: tree-cfg.c:3216
+ #, gcc-internal-format
+ msgid "constant not recomputed when ADDR_EXPR changed"
+ msgstr ""
+
+-#: tree-cfg.c:3202
++#: tree-cfg.c:3221
+ #, gcc-internal-format
+ msgid "side effects not recomputed when ADDR_EXPR changed"
+ msgstr ""
+
+-#: tree-cfg.c:3218
++#: tree-cfg.c:3237
+ #, gcc-internal-format
+ msgid "address taken, but ADDRESSABLE bit not set"
+ msgstr ""
+
+-#: tree-cfg.c:3228
++#: tree-cfg.c:3252
+ #, fuzzy, gcc-internal-format
+ msgid "non-integral used in condition"
+ msgstr "æ¢ä»¶é‹ç®—å¼ä½¿ç”¨äº†éžå¸ƒæž—值"
+
+-#: tree-cfg.c:3233
++#: tree-cfg.c:3257
+ #, gcc-internal-format
+ msgid "invalid conditional operand"
+ msgstr "無效的æ¢ä»¶é‹ç®—å…ƒ"
+
+-#: tree-cfg.c:3285
++#: tree-cfg.c:3309
+ #, gcc-internal-format
+ msgid "invalid reference prefix"
+ msgstr "無效的åƒç…§å­—首"
+
+-#: tree-cfg.c:3296
++#: tree-cfg.c:3320
+ #, fuzzy, gcc-internal-format
+ msgid "invalid operand to plus/minus, type is a pointer"
+ msgstr "此指令中é‹ç®—元無效"
+
+-#: tree-cfg.c:3307
++#: tree-cfg.c:3331
+ #, gcc-internal-format
+ msgid "invalid operand to pointer plus, first operand is not a pointer"
+ msgstr ""
+
+-#: tree-cfg.c:3315
++#: tree-cfg.c:3339
+ #, gcc-internal-format
+ msgid "invalid operand to pointer plus, second operand is not an integer with type of sizetype."
+ msgstr ""
+
+-#: tree-cfg.c:3382 tree-cfg.c:3798
++#: tree-cfg.c:3406 tree-cfg.c:3822
+ #, fuzzy, gcc-internal-format
+ msgid "invalid operand in unary expression"
+ msgstr "二進ä½é‹ç®—å­ %s é‹ç®—元無效"
+
+-#: tree-cfg.c:3392
++#: tree-cfg.c:3416
+ #, fuzzy, gcc-internal-format
+ msgid "type mismatch in unary expression"
+ msgstr "æ¢ä»¶é‹ç®—å¼ä¸­é¡žåž‹ä¸åŒ¹é…"
+
+-#: tree-cfg.c:3413
++#: tree-cfg.c:3437
+ #, fuzzy, gcc-internal-format
+ msgid "invalid operands in binary expression"
+ msgstr "二進ä½é‹ç®—å­ %s é‹ç®—元無效"
+
+-#: tree-cfg.c:3424
++#: tree-cfg.c:3448
+ #, fuzzy, gcc-internal-format
+ msgid "type mismatch in binary expression"
+ msgstr "æ¢ä»¶é‹ç®—å¼ä¸­é¡žåž‹ä¸åŒ¹é…"
+
+-#: tree-cfg.c:3449
++#: tree-cfg.c:3473
+ #, fuzzy, gcc-internal-format
+ msgid "invalid expression for min lvalue"
+ msgstr "無效的é‹ç®—å¼åšç‚ºé‹ç®—å…ƒ"
+
+-#: tree-cfg.c:3456
++#: tree-cfg.c:3480
+ #, fuzzy, gcc-internal-format
+ msgid "invalid operand in indirect reference"
+ msgstr "此指令中é‹ç®—元無效"
+
+-#: tree-cfg.c:3463
++#: tree-cfg.c:3487
+ #, fuzzy, gcc-internal-format
+ msgid "type mismatch in indirect reference"
+ msgstr "æ¢ä»¶é‹ç®—å¼ä¸­é¡žåž‹ä¸åŒ¹é…"
+
+-#: tree-cfg.c:3491
++#: tree-cfg.c:3515
+ #, fuzzy, gcc-internal-format
+ msgid "invalid operands to array reference"
+ msgstr "%C 處陣列åƒç…§å½¢å¼ç„¡æ•ˆ"
+
+-#: tree-cfg.c:3502
++#: tree-cfg.c:3526
+ #, fuzzy, gcc-internal-format
+ msgid "type mismatch in array reference"
+ msgstr "%L 處陣列åƒç…§ä¸­ç§©ä¸åŒ¹é…(%d/%d)"
+
+-#: tree-cfg.c:3511
++#: tree-cfg.c:3535
+ #, fuzzy, gcc-internal-format
+ msgid "type mismatch in array range reference"
+ msgstr "%L 處陣列åƒç…§ä¸­ç§©ä¸åŒ¹é…(%d/%d)"
+
+-#: tree-cfg.c:3522
++#: tree-cfg.c:3546
+ #, fuzzy, gcc-internal-format
+ msgid "type mismatch in real/imagpart reference"
+ msgstr "æ¢ä»¶é‹ç®—å¼ä¸­é¡žåž‹ä¸åŒ¹é…"
+
+-#: tree-cfg.c:3532
++#: tree-cfg.c:3556
+ #, fuzzy, gcc-internal-format
+ msgid "type mismatch in component reference"
+ msgstr "æ¢ä»¶é‹ç®—å¼ä¸­é¡žåž‹ä¸åŒ¹é…"
+
+-#: tree-cfg.c:3586
++#: tree-cfg.c:3610
+ #, fuzzy, gcc-internal-format
+ msgid "invalid operand in conversion"
+ msgstr "此指令中é‹ç®—元無效"
+
+-#: tree-cfg.c:3614
++#: tree-cfg.c:3638
+ #, fuzzy, gcc-internal-format
+ msgid "invalid types in nop conversion"
+ msgstr "常數é‹ç®—å¼ä¸­é¡žåž‹éŒ¯èª¤"
+
+-#: tree-cfg.c:3628
++#: tree-cfg.c:3652
+ #, fuzzy, gcc-internal-format
+ msgid "invalid operand in int to float conversion"
+ msgstr "此指令中é‹ç®—元無效"
+
+-#: tree-cfg.c:3634
++#: tree-cfg.c:3658
+ #, fuzzy, gcc-internal-format
+ msgid "invalid types in conversion to floating point"
+ msgstr "å‘ %<__fpreg%> 的轉æ›ç„¡æ•ˆ"
+
+-#: tree-cfg.c:3647
++#: tree-cfg.c:3671
+ #, fuzzy, gcc-internal-format
+ msgid "invalid operand in float to int conversion"
+ msgstr "此指令中é‹ç®—元無效"
+
+-#: tree-cfg.c:3653
++#: tree-cfg.c:3677
+ #, fuzzy, gcc-internal-format
+ msgid "invalid types in conversion to integer"
+ msgstr "å‘ %<__fpreg%> 的轉æ›ç„¡æ•ˆ"
+
+-#: tree-cfg.c:3667
++#: tree-cfg.c:3691
+ #, fuzzy, gcc-internal-format
+ msgid "invalid operands in complex expression"
+ msgstr "此指令中é‹ç®—元無效"
+
+-#: tree-cfg.c:3680
++#: tree-cfg.c:3704
+ #, fuzzy, gcc-internal-format
+ msgid "type mismatch in complex expression"
+ msgstr "æ¢ä»¶é‹ç®—å¼ä¸­é¡žåž‹ä¸åŒ¹é…"
+
+-#: tree-cfg.c:3694
++#: tree-cfg.c:3718
+ #, gcc-internal-format
+ msgid "constructor not allowed for non-vector types"
+ msgstr ""
+
+-#: tree-cfg.c:3711
++#: tree-cfg.c:3735
+ #, fuzzy, gcc-internal-format
+ msgid "invalid operands in shift expression"
+ msgstr "此指令中é‹ç®—元無效"
+
+-#: tree-cfg.c:3717
++#: tree-cfg.c:3741
+ #, fuzzy, gcc-internal-format
+ msgid "type mismatch in shift expression"
+ msgstr "æ¢ä»¶é‹ç®—å¼ä¸­é¡žåž‹ä¸åŒ¹é…"
+
+-#: tree-cfg.c:3735
++#: tree-cfg.c:3759
+ #, fuzzy, gcc-internal-format
+ msgid "invalid (pointer) operands to plus/minus"
+ msgstr "二進ä½é‹ç®—å­ %s é‹ç®—元無效"
+
+-#: tree-cfg.c:3748
++#: tree-cfg.c:3772
+ #, fuzzy, gcc-internal-format
+ msgid "invalid operands in pointer plus expression"
+ msgstr "此指令中é‹ç®—元無效"
+
+-#: tree-cfg.c:3755
++#: tree-cfg.c:3779
+ #, fuzzy, gcc-internal-format
+ msgid "type mismatch in pointer plus expression"
+ msgstr "æ¢ä»¶é‹ç®—å¼ä¸­é¡žåž‹ä¸åŒ¹é…"
+
+-#: tree-cfg.c:3774
++#: tree-cfg.c:3798
+ #, fuzzy, gcc-internal-format
+ msgid "invalid operands in conditional expression"
+ msgstr "éžå·¦å€¼é™£åˆ—出ç¾åœ¨æ¢ä»¶é‹ç®—å¼ä¸­"
+
+-#: tree-cfg.c:3807
++#: tree-cfg.c:3831
+ #, fuzzy, gcc-internal-format
+ msgid "type mismatch in address expression"
+ msgstr "æ¢ä»¶é‹ç®—å¼ä¸­é¡žåž‹ä¸åŒ¹é…"
+
+-#: tree-cfg.c:3827
++#: tree-cfg.c:3851
+ #, fuzzy, gcc-internal-format
+ msgid "invalid operands in truth expression"
+ msgstr "此指令中é‹ç®—元無效"
+
+-#: tree-cfg.c:3836
++#: tree-cfg.c:3860
+ #, fuzzy, gcc-internal-format
+ msgid "type mismatch in binary truth expression"
+ msgstr "æ¢ä»¶é‹ç®—å¼ä¸­é¡žåž‹ä¸åŒ¹é…"
+
+-#: tree-cfg.c:3852
++#: tree-cfg.c:3876
+ #, fuzzy, gcc-internal-format
+ msgid "invalid operand in unary not"
+ msgstr "二進ä½é‹ç®—å­ %s é‹ç®—元無效"
+
+-#: tree-cfg.c:3861
++#: tree-cfg.c:3885
+ #, fuzzy, gcc-internal-format
+ msgid "type mismatch in not expression"
+ msgstr "æ¢ä»¶é‹ç®—å¼ä¸­é¡žåž‹ä¸åŒ¹é…"
+
+-#: tree-cfg.c:3900
++#: tree-cfg.c:3924
+ #, fuzzy, gcc-internal-format
+ msgid "invalid operands in comparison expression"
+ msgstr "å° void é‹ç®—å¼çš„無效使用"
+
+-#: tree-cfg.c:3917
++#: tree-cfg.c:3941
+ #, fuzzy, gcc-internal-format
+ msgid "type mismatch in comparison expression"
+ msgstr "æ¢ä»¶é‹ç®—å¼ä¸­é¡žåž‹ä¸åŒ¹é…"
+
+-#: tree-cfg.c:3947
++#: tree-cfg.c:3971
+ #, fuzzy, gcc-internal-format
+ msgid "non-trivial conversion at assignment"
+ msgstr "賦值é‹ç®—中的左值無效"
+
+-#: tree-cfg.c:3988 tree-cfg.c:4136
++#: tree-cfg.c:4012 tree-cfg.c:4160
+ #, gcc-internal-format
+ msgid "is not a valid GIMPLE statement"
+ msgstr "ä¸æ˜¯ä¸€å€‹æœ‰æ•ˆçš„ GIMPLE 敘述"
+
+-#: tree-cfg.c:4015
++#: tree-cfg.c:4039
+ #, fuzzy, gcc-internal-format
+ msgid "invalid operand to switch statement"
+ msgstr "%%s 程å¼ç¢¼çš„é‹ç®—元無效"
+
+-#: tree-cfg.c:4026
++#: tree-cfg.c:4050
+ #, fuzzy, gcc-internal-format
+ msgid "type error in return expression"
+ msgstr " 在拋出的é‹ç®—å¼ä¸­"
+
+-#: tree-cfg.c:4104
++#: tree-cfg.c:4128
+ #, fuzzy, gcc-internal-format
+ msgid "verify_gimple failed"
+ msgstr "verify_stmts 失敗"
+
+-#: tree-cfg.c:4156
++#: tree-cfg.c:4180
+ #, gcc-internal-format
+ msgid "statement marked for throw, but doesn%'t"
+ msgstr ""
+
+-#: tree-cfg.c:4161
++#: tree-cfg.c:4185
+ #, gcc-internal-format
+ msgid "statement marked for throw in middle of block"
+ msgstr ""
+
+-#: tree-cfg.c:4232
++#: tree-cfg.c:4256
+ #, fuzzy, gcc-internal-format
+ msgid "unexpected non-tuple"
+ msgstr "與é æœŸä¸ç¬¦çš„çµé»ž"
+
+-#: tree-cfg.c:4261
++#: tree-cfg.c:4285
+ #, gcc-internal-format
+ msgid "Dead STMT in EH table"
+ msgstr ""
+
+-#: tree-cfg.c:4295
++#: tree-cfg.c:4319
+ #, gcc-internal-format
+ msgid "bb_for_stmt (phi) is set to a wrong basic block"
+ msgstr ""
+
+-#: tree-cfg.c:4306
++#: tree-cfg.c:4330
+ #, fuzzy, gcc-internal-format
+ msgid "missing PHI def"
+ msgstr "定義缺失"
+
+-#: tree-cfg.c:4317
++#: tree-cfg.c:4341
+ #, gcc-internal-format
+ msgid "PHI def is not a GIMPLE value"
+ msgstr ""
+
+-#: tree-cfg.c:4333 tree-cfg.c:4359
++#: tree-cfg.c:4357 tree-cfg.c:4383
+ #, gcc-internal-format
+ msgid "incorrect sharing of tree nodes"
+ msgstr "å°æ¨¹çµå€æ®µçš„共享ä¸æ­£ç¢º"
+
+-#: tree-cfg.c:4350
++#: tree-cfg.c:4374
+ #, gcc-internal-format
+ msgid "bb_for_stmt (stmt) is set to a wrong basic block"
+ msgstr ""
+
+-#: tree-cfg.c:4373
++#: tree-cfg.c:4397
+ #, gcc-internal-format
+ msgid "verify_stmts failed"
+ msgstr "verify_stmts 失敗"
+
+-#: tree-cfg.c:4396
++#: tree-cfg.c:4420
+ #, gcc-internal-format
+ msgid "ENTRY_BLOCK has IL associated with it"
+ msgstr ""
+
+-#: tree-cfg.c:4402
++#: tree-cfg.c:4426
+ #, gcc-internal-format
+ msgid "EXIT_BLOCK has IL associated with it"
+ msgstr ""
+
+-#: tree-cfg.c:4409
++#: tree-cfg.c:4433
+ #, gcc-internal-format
+ msgid "fallthru to exit from bb %d"
+ msgstr ""
+
+-#: tree-cfg.c:4431
++#: tree-cfg.c:4455
+ #, gcc-internal-format
+ msgid "nonlocal label "
+ msgstr ""
+
+-#: tree-cfg.c:4440 tree-cfg.c:4450 tree-cfg.c:4475
++#: tree-cfg.c:4464 tree-cfg.c:4474 tree-cfg.c:4499
+ #, gcc-internal-format
+ msgid "label "
+ msgstr ""
+
+-#: tree-cfg.c:4465
++#: tree-cfg.c:4489
+ #, gcc-internal-format
+ msgid "control flow in the middle of basic block %d"
+ msgstr "基本å€å¡Š %d 中出ç¾æµç¨‹æŽ§åˆ¶"
+
+-#: tree-cfg.c:4495
++#: tree-cfg.c:4519
+ #, gcc-internal-format
+ msgid "fallthru edge after a control statement in bb %d"
+ msgstr ""
+
+-#: tree-cfg.c:4508
++#: tree-cfg.c:4532
+ #, gcc-internal-format
+ msgid "true/false edge after a non-COND_EXPR in bb %d"
+ msgstr ""
+
+-#: tree-cfg.c:4524
++#: tree-cfg.c:4548
+ #, gcc-internal-format
+ msgid "COND_EXPR with code in branches at the end of bb %d"
+ msgstr ""
+
+-#: tree-cfg.c:4538 tree-cfg.c:4560 tree-cfg.c:4573 tree-cfg.c:4644
++#: tree-cfg.c:4562 tree-cfg.c:4584 tree-cfg.c:4597 tree-cfg.c:4668
+ #, gcc-internal-format
+ msgid "wrong outgoing edge flags at end of bb %d"
+ msgstr ""
+
+-#: tree-cfg.c:4548
++#: tree-cfg.c:4572
+ #, gcc-internal-format
+ msgid "explicit goto at end of bb %d"
+ msgstr "基本å€å¡Š %d 末尾明確的 goto"
+
+-#: tree-cfg.c:4578
++#: tree-cfg.c:4602
+ #, gcc-internal-format
+ msgid "return edge does not point to exit in bb %d"
+ msgstr ""
+
+-#: tree-cfg.c:4611
++#: tree-cfg.c:4635
+ #, gcc-internal-format
+ msgid "found default case not at end of case vector"
+ msgstr "é è¨­ case 沒有出ç¾åœ¨ case å‘é‡æœ«å°¾"
+
+-#: tree-cfg.c:4617
++#: tree-cfg.c:4641
+ #, fuzzy, gcc-internal-format
+ msgid "case labels not sorted: "
+ msgstr "case 標籤未排åºï¼š "
+
+-#: tree-cfg.c:4628
++#: tree-cfg.c:4652
+ #, gcc-internal-format
+ msgid "no default case found at end of case vector"
+ msgstr "case å‘é‡æœ«å°¾æ²’有é è¨­ case"
+
+-#: tree-cfg.c:4636
++#: tree-cfg.c:4660
+ #, gcc-internal-format
+ msgid "extra outgoing edge %d->%d"
+ msgstr "多餘的出邊 %d->%d"
+
+-#: tree-cfg.c:4658
++#: tree-cfg.c:4682
+ #, gcc-internal-format
+ msgid "missing edge %i->%i"
+ msgstr "缺少邊 %i->%i"
+
+-#: tree-cfg.c:6941 tree-cfg.c:6945
++#: tree-cfg.c:7025 tree-cfg.c:7029
+ #, gcc-internal-format
+ msgid "%H%<noreturn%> function does return"
+ msgstr "%H%<noreturn%> 函å¼ç¢ºå¯¦æœƒå›žå‚³"
+
+-#: tree-cfg.c:6967 tree-cfg.c:6972
++#: tree-cfg.c:7051 tree-cfg.c:7056
+ #, gcc-internal-format
+ msgid "%Hcontrol reaches end of non-void function"
+ msgstr "%H在有回傳值的函å¼ä¸­ï¼ŒæŽ§åˆ¶æµç¨‹åˆ°é”函å¼å°¾"
+
+-#: tree-cfg.c:7033
++#: tree-cfg.c:7117
+ #, gcc-internal-format
+ msgid "%Jfunction might be possible candidate for attribute %<noreturn%>"
+ msgstr "%J函å¼æ˜¯å±¬æ€§ %<noreturn%> å¯èƒ½çš„å‚™é¸"
+
+-#: tree-dump.c:933
++#: tree-dump.c:932
+ #, gcc-internal-format
+ msgid "could not open dump file %qs: %s"
+ msgstr "無法開啟傾å°æª”案 %qs:%s"
+
+-#: tree-dump.c:1068
++#: tree-dump.c:1067
+ #, gcc-internal-format
+ msgid "ignoring unknown option %q.*s in %<-fdump-%s%>"
+ msgstr ""
+
+-#: tree-eh.c:1788
++#: tree-eh.c:1805
+ #, gcc-internal-format
+ msgid "EH edge %i->%i is missing"
+ msgstr "缺少 EH 邊 %i->%i"
+
+-#: tree-eh.c:1793
++#: tree-eh.c:1810
+ #, gcc-internal-format
+ msgid "EH edge %i->%i miss EH flag"
+ msgstr "EH 邊 %i->%i 缺少 EH 旗標"
+
+ #. ??? might not be mistake.
+-#: tree-eh.c:1799
++#: tree-eh.c:1816
+ #, gcc-internal-format
+ msgid "EH edge %i->%i has duplicated regions"
+ msgstr ""
+
+-#: tree-eh.c:1833
++#: tree-eh.c:1850
+ #, gcc-internal-format
+ msgid "BB %i can not throw but has EH edges"
+ msgstr ""
+
+-#: tree-eh.c:1840
++#: tree-eh.c:1857
+ #, gcc-internal-format
+ msgid "BB %i last statement has incorrectly set region"
+ msgstr ""
+
+-#: tree-eh.c:1851
++#: tree-eh.c:1868
+ #, gcc-internal-format
+ msgid "unnecessary EH edge %i->%i"
+ msgstr "ä¸éœ€è¦çš„ EH é‚Š %i->%i"
+
+-#: tree-inline.c:1830
++#: tree-inline.c:1880
+ #, gcc-internal-format
+ msgid "function %q+F can never be inlined because it uses alloca (override using the always_inline attribute)"
+ msgstr "å‡½å¼ %q+F 無法被內è¯ï¼Œå› ç‚ºå®ƒä½¿ç”¨äº† alloca (使用 always_inline 屬性強制內è¯)"
+
+-#: tree-inline.c:1842
++#: tree-inline.c:1892
+ #, gcc-internal-format
+ msgid "function %q+F can never be inlined because it uses setjmp"
+ msgstr "å‡½å¼ %q+F 無法被內è¯ï¼Œå› ç‚ºå®ƒä½¿ç”¨äº† setjmp"
+
+-#: tree-inline.c:1856
++#: tree-inline.c:1906
+ #, gcc-internal-format
+ msgid "function %q+F can never be inlined because it uses variable argument lists"
+ msgstr "å‡½å¼ %q+F 無法被內è¯ï¼Œå› ç‚ºå®ƒä½¿ç”¨äº†è®Šé•·å¼•æ•¸è¡¨"
+
+-#: tree-inline.c:1867
++#: tree-inline.c:1917
+ #, gcc-internal-format
+ msgid "function %q+F can never be inlined because it uses setjmp-longjmp exception handling"
+ msgstr "å‡½å¼ %q+F 無法被內è¯ï¼Œå› ç‚ºå®ƒä½¿ç”¨äº† setjmp-longjmp 異常處ç†"
+
+-#: tree-inline.c:1874
++#: tree-inline.c:1924
+ #, gcc-internal-format
+ msgid "function %q+F can never be inlined because it uses non-local goto"
+ msgstr "å‡½å¼ %q+F 無法被內è¯ï¼Œå› ç‚ºä½¿ç”¨äº†éžå€åŸŸæ€§çš„ goto"
+
+-#: tree-inline.c:1885
++#: tree-inline.c:1935
+ #, gcc-internal-format
+ msgid "function %q+F can never be inlined because it uses __builtin_return or __builtin_apply_args"
+ msgstr "å‡½å¼ %q+F 無法被內è¯ï¼Œå› ç‚ºä½¿ç”¨äº† __builtin_return 或 __builtin_apply_args"
+
+-#: tree-inline.c:1904
++#: tree-inline.c:1954
+ #, gcc-internal-format
+ msgid "function %q+F can never be inlined because it contains a computed goto"
+ msgstr "å‡½å¼ %q+F 無法被內è¯ï¼Œå› ç‚ºåŒ…å«ä¸€å€‹åŸ·è¡Œæ™‚ goto"
+
+-#: tree-inline.c:1918
++#: tree-inline.c:1968
+ #, gcc-internal-format
+ msgid "function %q+F can never be inlined because it receives a non-local goto"
+ msgstr "å‡½å¼ %q+F 無法被內è¯ï¼Œå› ç‚ºå®ƒæŽ¥å—一個éžå€åŸŸæ€§çš„ goto"
+
+-#: tree-inline.c:1943
++#: tree-inline.c:1993
+ #, gcc-internal-format
+ msgid "function %q+F can never be inlined because it uses variable sized variables"
+ msgstr "å‡½å¼ %q+F 無法被內è¯ï¼Œå› ç‚ºä½¿ç”¨äº†è®Šé•·è®Šæ•¸"
+
+-#: tree-inline.c:2005
++#: tree-inline.c:2015
++#, fuzzy, gcc-internal-format
++msgid "function %q+F can never be inlined because it saves address of local label in a static variable"
++msgstr "å‡½å¼ %q+F 無法被內è¯ï¼Œå› ç‚ºä½¿ç”¨äº†è®Šé•·è®Šæ•¸"
++
++#: tree-inline.c:2091
+ #, gcc-internal-format
+ msgid "function %q+F can never be inlined because it is suppressed using -fno-inline"
+ msgstr "å‡½å¼ %q+F 無法被內è¯ï¼Œå› ç‚ºä½¿ç”¨äº† -fno-inline"
+
+-#: tree-inline.c:2019
++#: tree-inline.c:2105
+ #, gcc-internal-format
+ msgid "function %q+F can never be inlined because it uses attributes conflicting with inlining"
+ msgstr "å‡½å¼ %q+F 無法被內è¯ï¼Œå› ç‚ºå®ƒä½¿ç”¨äº†èˆ‡å…§è¯è¡çªçš„屬性"
+
+-#: tree-inline.c:2588 tree-inline.c:2598
++#: tree-inline.c:2674 tree-inline.c:2684
+ #, gcc-internal-format
+ msgid "inlining failed in call to %q+F: %s"
+ msgstr "å‘¼å« %q+F 時內è¯å¤±æ•—:%s"
+
+-#: tree-inline.c:2589 tree-inline.c:2600
++#: tree-inline.c:2675 tree-inline.c:2686
+ #, gcc-internal-format
+ msgid "called from here"
+ msgstr "從此處呼å«"
+
+-#: tree-mudflap.c:860
++#: tree-mudflap.c:864
+ #, gcc-internal-format
+ msgid "mudflap checking not yet implemented for ARRAY_RANGE_REF"
+ msgstr ""
+
+-#: tree-mudflap.c:1044
++#: tree-mudflap.c:1050
+ #, gcc-internal-format
+ msgid "mudflap cannot track %qs in stub function"
+ msgstr ""
+
+-#: tree-mudflap.c:1272
++#: tree-mudflap.c:1279
+ #, gcc-internal-format
+ msgid "mudflap cannot track unknown size extern %qs"
+ msgstr ""
+@@ -23745,33 +23745,33 @@
+ msgid "size of return value of %q+D is larger than %wd bytes"
+ msgstr "%q+D 回傳值的大å°ç‚º %wd ä½å…ƒçµ„"
+
+-#: tree-outof-ssa.c:637 tree-outof-ssa.c:688 tree-ssa-coalesce.c:936
+-#: tree-ssa-coalesce.c:951 tree-ssa-coalesce.c:1163 tree-ssa-live.c:1043
++#: tree-outof-ssa.c:638 tree-outof-ssa.c:689 tree-ssa-coalesce.c:936
++#: tree-ssa-coalesce.c:951 tree-ssa-coalesce.c:1163 tree-ssa-live.c:1053
+ #, gcc-internal-format
+ msgid "SSA corruption"
+ msgstr "SSA æ壞"
+
+-#: tree-outof-ssa.c:1105
++#: tree-outof-ssa.c:1263
+ #, gcc-internal-format
+ msgid " Pending stmts not issued on PRED edge (%d, %d)\n"
+ msgstr ""
+
+-#: tree-outof-ssa.c:1111
++#: tree-outof-ssa.c:1269
+ #, gcc-internal-format
+ msgid " Pending stmts not issued on SUCC edge (%d, %d)\n"
+ msgstr ""
+
+-#: tree-outof-ssa.c:1118
++#: tree-outof-ssa.c:1276
+ #, gcc-internal-format
+ msgid " Pending stmts not issued on ENTRY edge (%d, %d)\n"
+ msgstr ""
+
+-#: tree-outof-ssa.c:1124
++#: tree-outof-ssa.c:1282
+ #, gcc-internal-format
+ msgid " Pending stmts not issued on EXIT edge (%d, %d)\n"
+ msgstr ""
+
+-#: tree-profile.c:351
++#: tree-profile.c:356
+ #, gcc-internal-format
+ msgid "unimplemented functionality"
+ msgstr "未實作的功能"
+@@ -23961,154 +23961,159 @@
+ msgid "verify_ssa failed"
+ msgstr "verify_ssa 失敗"
+
+-#: tree-ssa.c:1284
++#: tree-ssa.c:1293
+ #, fuzzy, gcc-internal-format
+ msgid "%J%qD was declared here"
+ msgstr "%q+D 已在此宣告éŽ"
+
+ #. We only do data flow with SSA_NAMEs, so that's all we
+ #. can warn about.
+-#: tree-ssa.c:1302
++#: tree-ssa.c:1311
+ #, gcc-internal-format
+ msgid "%H%qD is used uninitialized in this function"
+ msgstr "%H此函å¼ä¸­çš„ %qD 在使用å‰æœªåˆå§‹åŒ–"
+
+-#: tree-ssa.c:1340
++#: tree-ssa.c:1349
+ #, gcc-internal-format
+ msgid "%H%qD may be used uninitialized in this function"
+ msgstr "%H此函å¼ä¸­çš„ %qD 在使用å‰å¯èƒ½æœªåˆå§‹åŒ–"
+
+-#: tree-vrp.c:4374
++#: tree-vrp.c:4384
+ #, fuzzy, gcc-internal-format
+ msgid "%Harray subscript is outside array bounds"
+ msgstr "陣列下標ä¸æ˜¯ä¸€å€‹æ•´æ•¸"
+
+-#: tree-vrp.c:4388
++#: tree-vrp.c:4398
+ #, fuzzy, gcc-internal-format
+ msgid "%Harray subscript is above array bounds"
+ msgstr "陣列下標ä¸æ˜¯ä¸€å€‹æ•´æ•¸"
+
+-#: tree-vrp.c:4395
++#: tree-vrp.c:4405
+ #, fuzzy, gcc-internal-format
+ msgid "%Harray subscript is below array bounds"
+ msgstr "陣列下標ä¸æ˜¯ä¸€å€‹æ•´æ•¸"
+
+-#: tree-vrp.c:5042
++#: tree-vrp.c:5058
+ #, gcc-internal-format
+ msgid "assuming signed overflow does not occur when simplifying conditional to constant"
+ msgstr ""
+
+-#: tree-vrp.c:5048
++#: tree-vrp.c:5064
+ #, gcc-internal-format
+ msgid "assuming signed overflow does not occur when simplifying conditional"
+ msgstr ""
+
+-#: tree.c:3951
++#: tree.c:3682
++#, fuzzy, gcc-internal-format
++msgid "ignoring attributes applied to %qT after definition"
++msgstr "åªèƒ½ç‚ºé¡žåˆ¥å®šç¾©å¥—用 %qE 屬性"
++
++#: tree.c:3966
+ #, gcc-internal-format
+ msgid "%q+D already declared with dllexport attribute: dllimport ignored"
+ msgstr "%q+D 已被宣告為具有 dllexport 屬性:忽略 dllimport"
+
+-#: tree.c:3963
++#: tree.c:3978
+ #, gcc-internal-format
+ msgid "%q+D redeclared without dllimport attribute after being referenced with dll linkage"
+ msgstr "%q+D é‡å®£å‘Šæ™‚沒有 dllimport 屬性,但已被åšç‚º dllimport 連çµåƒç…§éŽ"
+
+-#: tree.c:3979
++#: tree.c:3994
+ #, gcc-internal-format
+ msgid "%q+D redeclared without dllimport attribute: previous dllimport ignored"
+ msgstr "%q+D é‡å®£å‘Šæ™‚沒有 dllimport 屬性:忽略先å‰çš„ dllimport"
+
+-#: tree.c:4038 tree.c:4050 config/darwin.c:1458 config/arm/arm.c:3099
+-#: config/arm/arm.c:3127 config/avr/avr.c:4598 config/h8300/h8300.c:5281
+-#: config/h8300/h8300.c:5305 config/i386/i386.c:3056 config/i386/i386.c:22515
++#: tree.c:4053 tree.c:4065 config/darwin.c:1460 config/arm/arm.c:3099
++#: config/arm/arm.c:3127 config/avr/avr.c:4638 config/h8300/h8300.c:5281
++#: config/h8300/h8300.c:5305 config/i386/i386.c:3087 config/i386/i386.c:22599
+ #: config/ia64/ia64.c:586 config/m68hc11/m68hc11.c:1118
+-#: config/rs6000/rs6000.c:19657 config/sh/symbian.c:408
++#: config/rs6000/rs6000.c:19874 config/sh/symbian.c:408
+ #: config/sh/symbian.c:415
+ #, gcc-internal-format
+ msgid "%qs attribute ignored"
+ msgstr "忽略 %qs 屬性"
+
+-#: tree.c:4066
++#: tree.c:4081
+ #, gcc-internal-format
+ msgid "inline function %q+D declared as dllimport: attribute ignored"
+ msgstr "å…§è¯å‡½å¼ %q+D 宣告為 dllimport:忽略此屬性"
+
+-#: tree.c:4074
++#: tree.c:4089
+ #, gcc-internal-format
+ msgid "function %q+D definition is marked dllimport"
+ msgstr "å‡½å¼ %q+D 的定義被標記為 dllimport"
+
+-#: tree.c:4082 config/sh/symbian.c:430
++#: tree.c:4097 config/sh/symbian.c:430
+ #, gcc-internal-format
+ msgid "variable %q+D definition is marked dllimport"
+ msgstr "變數 %q+D 的定義被標記為 dllimport"
+
+-#: tree.c:4105 config/sh/symbian.c:505
++#: tree.c:4120 config/sh/symbian.c:505
+ #, gcc-internal-format
+ msgid "external linkage required for symbol %q+D because of %qs attribute"
+ msgstr ""
+
+-#: tree.c:4119
++#: tree.c:4134
+ #, gcc-internal-format
+ msgid "%qs implies default visibility, but %qD has already been declared with a different visibility"
+ msgstr ""
+
+-#: tree.c:5632
++#: tree.c:5648
+ #, gcc-internal-format
+ msgid "arrays of functions are not meaningful"
+ msgstr "函å¼é™£åˆ—是沒有æ„義的"
+
+-#: tree.c:5785
++#: tree.c:5801
+ #, gcc-internal-format
+ msgid "function return type cannot be function"
+ msgstr "函å¼ä¸èƒ½å›žå‚³å‡½å¼"
+
+-#: tree.c:6802 tree.c:6887 tree.c:6948
++#: tree.c:6818 tree.c:6903 tree.c:6964
+ #, gcc-internal-format
+ msgid "tree check: %s, have %s in %s, at %s:%d"
+ msgstr "樹檢查:%s,得到 %s 在 %s,於 %s:%d"
+
+-#: tree.c:6839
++#: tree.c:6855
+ #, gcc-internal-format
+ msgid "tree check: expected none of %s, have %s in %s, at %s:%d"
+ msgstr "樹檢查:ä¸éœ€è¦ %s,得到 %s 在 %s,於 %s:%d"
+
+-#: tree.c:6852
++#: tree.c:6868
+ #, gcc-internal-format
+ msgid "tree check: expected class %qs, have %qs (%s) in %s, at %s:%d"
+ msgstr "樹檢查:需è¦é¡žåˆ¥ %qs,得到 %qs(%s) 在 %s,於 %s:%d"
+
+-#: tree.c:6901
++#: tree.c:6917
+ #, fuzzy, gcc-internal-format
+ msgid "tree check: did not expect class %qs, have %qs (%s) in %s, at %s:%d"
+ msgstr "樹檢查:需è¦é¡žåˆ¥ %qs,得到 %qs(%s) 在 %s,於 %s:%d"
+
+-#: tree.c:6914
++#: tree.c:6930
+ #, fuzzy, gcc-internal-format
+ msgid "tree check: expected omp_clause %s, have %s in %s, at %s:%d"
+ msgstr "樹檢查:ä¸éœ€è¦ %s,得到 %s 在 %s,於 %s:%d"
+
+-#: tree.c:6974
++#: tree.c:6990
+ #, fuzzy, gcc-internal-format
+ msgid "tree check: expected tree that contains %qs structure, have %qs in %s, at %s:%d"
+ msgstr "樹檢查:需è¦åŒ…å« %qs çµæ§‹çš„樹,得到 %s 在 %s,於 %s:%d"
+
+-#: tree.c:6988
++#: tree.c:7004
+ #, gcc-internal-format
+ msgid "tree check: accessed elt %d of tree_vec with %d elts in %s, at %s:%d"
+ msgstr ""
+
+-#: tree.c:7000
++#: tree.c:7016
+ #, gcc-internal-format
+ msgid "tree check: accessed elt %d of phi_node with %d elts in %s, at %s:%d"
+ msgstr ""
+
+-#: tree.c:7013
++#: tree.c:7029
+ #, gcc-internal-format
+ msgid "tree check: accessed operand %d of %s with %d operands in %s, at %s:%d"
+ msgstr ""
+
+-#: tree.c:7026
++#: tree.c:7042
+ #, fuzzy, gcc-internal-format
+ msgid "tree check: accessed operand %d of omp_clause %s with %d operands in %s, at %s:%d"
+ msgstr "樹檢查:ä¸éœ€è¦ %s,得到 %s 在 %s,於 %s:%d"
+@@ -24360,17 +24365,17 @@
+ msgid "Unknown value %qs of -mmacosx-version-min"
+ msgstr ""
+
+-#: config/darwin.c:1431
++#: config/darwin.c:1433
+ #, gcc-internal-format
+ msgid "%<%s%> 2.95 vtable-compatibility attribute applies only when compiling a kext"
+ msgstr ""
+
+-#: config/darwin.c:1438
++#: config/darwin.c:1440
+ #, gcc-internal-format
+ msgid "%<%s%> 2.95 vtable-compatibility attribute applies only to C++ classes"
+ msgstr ""
+
+-#: config/darwin.c:1563
++#: config/darwin.c:1565
+ #, gcc-internal-format
+ msgid "internal and protected visibility attributes not supported in this configuration; ignored"
+ msgstr "內部和ä¿è­·çš„å¯è¦‹æ€§å±¬æ€§åœ¨æ­¤é…置下ä¸å—支æ´ï¼›å·²å¿½ç•¥"
+@@ -24466,7 +24471,7 @@
+ msgid "profiler support for WindISS"
+ msgstr "å° WindISS çš„å–樣支æ´"
+
+-#: config/alpha/alpha.c:232 config/rs6000/rs6000.c:1990
++#: config/alpha/alpha.c:232 config/rs6000/rs6000.c:2020
+ #, gcc-internal-format
+ msgid "bad value %qs for -mtls-size switch"
+ msgstr "-mtls-size 開關的值 %qs ä¸æ­£ç¢º"
+@@ -24541,18 +24546,18 @@
+ msgid "bad value %qs for -mmemory-latency"
+ msgstr "-mmemory-latency 開關的值 %qs 錯誤"
+
+-#: config/alpha/alpha.c:6514 config/alpha/alpha.c:6517 config/s390/s390.c:8279
+-#: config/s390/s390.c:8282
++#: config/alpha/alpha.c:6522 config/alpha/alpha.c:6525 config/s390/s390.c:8335
++#: config/s390/s390.c:8338
+ #, gcc-internal-format
+ msgid "bad builtin fcode"
+ msgstr "錯誤的內建 fcode"
+
+-#: config/arc/arc.c:388
++#: config/arc/arc.c:392
+ #, gcc-internal-format
+ msgid "argument of %qs attribute is not a string constant"
+ msgstr "%qs 屬性的引數ä¸æ˜¯ä¸€å€‹å­—串常數"
+
+-#: config/arc/arc.c:396
++#: config/arc/arc.c:400
+ #, gcc-internal-format
+ msgid "argument of %qs attribute is not \"ilink1\" or \"ilink2\""
+ msgstr "%qs 屬性的引數ä¸æ˜¯ã€Œilink1ã€æˆ–「ilink2ã€"
+@@ -24562,7 +24567,7 @@
+ msgid "switch -mcpu=%s conflicts with -march= switch"
+ msgstr "é–‹é—œ -mcpu=%s 與 -march= é–‹é—œè¡çª"
+
+-#: config/arm/arm.c:1060 config/rs6000/rs6000.c:1504 config/sparc/sparc.c:761
++#: config/arm/arm.c:1060 config/rs6000/rs6000.c:1522 config/sparc/sparc.c:764
+ #, gcc-internal-format
+ msgid "bad value (%s) for %s switch"
+ msgstr "開關的åƒæ•¸(%s,屬於開關%s)ä¸æ­£ç¢º"
+@@ -24702,14 +24707,13 @@
+ msgid "unable to use '%s' for PIC register"
+ msgstr "「%sã€ä¸èƒ½åšç‚º PIC 暫存器"
+
+-#: config/arm/arm.c:3067 config/arm/arm.c:3085 config/avr/avr.c:4618
+-#: config/avr/avr.c:4660 config/bfin/bfin.c:4778 config/c4x/c4x.c:4071
+-#: config/h8300/h8300.c:5257 config/i386/i386.c:3009
+-#: config/m68hc11/m68hc11.c:1155 config/m68k/m68k.c:741
+-#: config/mcore/mcore.c:3032 config/mips/mips.c:1151 config/mips/mips.c:1153
+-#: config/mt/mt.c:1275 config/rs6000/rs6000.c:19583 config/sh/sh.c:7984
+-#: config/sh/sh.c:8005 config/sh/sh.c:8028 config/stormy16/stormy16.c:2252
+-#: config/v850/v850.c:2048
++#: config/arm/arm.c:3067 config/arm/arm.c:3085 config/avr/avr.c:4658
++#: config/avr/avr.c:4700 config/bfin/bfin.c:4881 config/h8300/h8300.c:5257
++#: config/i386/i386.c:3040 config/m68hc11/m68hc11.c:1155
++#: config/m68k/m68k.c:741 config/mcore/mcore.c:3032 config/mips/mips.c:1151
++#: config/mips/mips.c:1153 config/mt/mt.c:1275 config/rs6000/rs6000.c:19800
++#: config/sh/sh.c:7987 config/sh/sh.c:8008 config/sh/sh.c:8031
++#: config/stormy16/stormy16.c:2225 config/v850/v850.c:2048
+ #, gcc-internal-format
+ msgid "%qs attribute only applies to functions"
+ msgstr "%qs 屬性åªèƒ½å¥—用於函å¼"
+@@ -24731,7 +24735,7 @@
+ msgstr "é¸æ“‡å­å¿…須是立å³æ•¸å€¼"
+
+ #. @@@ better error message
+-#: config/arm/arm.c:15839 config/i386/i386.c:20651 config/i386/i386.c:20685
++#: config/arm/arm.c:15839 config/i386/i386.c:20735 config/i386/i386.c:20769
+ #, gcc-internal-format
+ msgid "mask must be an immediate"
+ msgstr "é®ç½©å¿…須是一個立å³æ•¸å€¼"
+@@ -24756,222 +24760,187 @@
+ msgid "static variable %q+D is marked dllimport"
+ msgstr "經åˆå§‹åŒ–的變數 %q+D 被標記為 dllimport"
+
+-#: config/avr/avr.c:690
++#: config/avr/avr.c:718
+ #, gcc-internal-format
+ msgid "large frame pointer change (%d) with -mtiny-stack"
+ msgstr "框架指標發生大的變更(%d),但å»æŒ‡å®šäº† -mtiny-stack"
+
+-#: config/avr/avr.c:4591
++#: config/avr/avr.c:4631
+ #, gcc-internal-format
+ msgid "only initialized variables can be placed into program memory area"
+ msgstr ""
+
+-#: config/avr/avr.c:4635
++#: config/avr/avr.c:4675
+ #, gcc-internal-format
+ msgid "%qs appears to be a misspelled interrupt handler"
+ msgstr "%qs 似乎是一個拼寫錯的æ’斷處ç†è€…"
+
+-#: config/avr/avr.c:4643
++#: config/avr/avr.c:4683
+ #, gcc-internal-format
+ msgid "%qs appears to be a misspelled signal handler"
+ msgstr "%qs 似乎是一個拼寫錯的信號處ç†è€…"
+
+-#: config/avr/avr.c:4751
++#: config/avr/avr.c:4791
+ #, gcc-internal-format
+ msgid "only uninitialized variables can be placed in the .noinit section"
+ msgstr "åªæœ‰æœªåˆå§‹åŒ–的變數æ‰èƒ½æ”¾åœ¨ .noinit å€æ®µä¸­"
+
+-#: config/avr/avr.c:4765
++#: config/avr/avr.c:4805
+ #, gcc-internal-format
+ msgid "MCU %qs supported for assembler only"
+ msgstr "MCU %qs åªæ”¯æ´çµ„譯器"
+
+-#: config/avr/avr.h:692
++#: config/avr/avr.h:731
+ #, gcc-internal-format
+ msgid "trampolines not supported"
+ msgstr "ä¸æ”¯æ´è¹¦åºŠ"
+
+-#: config/bfin/bfin.c:2259 config/m68k/m68k.c:488
++#: config/bfin/bfin.c:2352 config/m68k/m68k.c:488
+ #, gcc-internal-format
+ msgid "-mshared-library-id=%s is not between 0 and %d"
+ msgstr "-mshared-library-id=%s ä¸åœ¨ 0 å’Œ %d 之間"
+
+-#: config/bfin/bfin.c:2279
++#: config/bfin/bfin.c:2372
+ #, fuzzy, gcc-internal-format
+ msgid "-mcpu=%s is not valid"
+ msgstr "spec「%sã€æ˜¯ç„¡æ•ˆçš„"
+
+-#: config/bfin/bfin.c:2315
++#: config/bfin/bfin.c:2410
+ #, gcc-internal-format
+ msgid "-mcpu=%s has invalid silicon revision"
+ msgstr ""
+
+-#: config/bfin/bfin.c:2332
++#: config/bfin/bfin.c:2427
+ #, fuzzy, gcc-internal-format
+ msgid "bf561 support is incomplete yet."
+ msgstr "æ¬„ä½ %qs çš„é¡žåž‹ä¸å®Œå…¨"
+
+-#: config/bfin/bfin.c:2372
++#: config/bfin/bfin.c:2470
+ #, gcc-internal-format
+ msgid "-mshared-library-id= specified without -mid-shared-library"
+ msgstr "指定了 -mshared-library-id= å»æ²’有使用 -mid-shared-library"
+
+-#: config/bfin/bfin.c:2378
++#: config/bfin/bfin.c:2473
+ #, fuzzy, gcc-internal-format
+ msgid "Can't use multiple stack checking methods together."
+ msgstr "在程å¼ä¸­æ’入檢查堆疊溢出的程å¼ç¢¼"
+
+-#: config/bfin/bfin.c:2381
++#: config/bfin/bfin.c:2476
+ #, fuzzy, gcc-internal-format
+ msgid "ID shared libraries and FD-PIC mode can't be used together."
+ msgstr "-mips16 å’Œ -mdsp ä¸èƒ½ä¸€èµ·ä½¿ç”¨"
+
+-#: config/bfin/bfin.c:2386 config/m68k/m68k.c:582
++#: config/bfin/bfin.c:2481 config/m68k/m68k.c:582
+ #, gcc-internal-format
+ msgid "cannot specify both -msep-data and -mid-shared-library"
+ msgstr "ä¸èƒ½åŒæ™‚指定 -msep-data å’Œ -mid-shared-library"
+
+-#: config/bfin/bfin.c:4783
++#: config/bfin/bfin.c:4886
+ #, gcc-internal-format
+ msgid "multiple function type attributes specified"
+ msgstr "指定了多個函å¼é¡žåž‹å±¬æ€§"
+
+-#: config/bfin/bfin.c:4839 config/bfin/bfin.c:4868 config/spu/spu.c:2976
++#: config/bfin/bfin.c:4942 config/bfin/bfin.c:4971 config/spu/spu.c:2965
+ #, gcc-internal-format
+ msgid "`%s' attribute only applies to functions"
+ msgstr "「%sã€å±¬æ€§åªèƒ½ç”¨æ–¼å‡½å¼"
+
+-#: config/bfin/bfin.c:4850
++#: config/bfin/bfin.c:4953
+ #, gcc-internal-format
+ msgid "can't apply both longcall and shortcall attributes to the same function"
+ msgstr ""
+
+-#: config/bfin/bfin.c:4900
++#: config/bfin/bfin.c:5003
+ #, fuzzy, gcc-internal-format
+ msgid "`%s' attribute only applies to variables"
+ msgstr "%qs 屬性åªèƒ½ç‚ºè®Šæ•¸ä½¿ç”¨"
+
+-#: config/bfin/bfin.c:4907
++#: config/bfin/bfin.c:5010
+ #, fuzzy, gcc-internal-format
+ msgid "`%s' attribute cannot be specified for local variables"
+ msgstr "%Jä¸èƒ½ç‚ºå±€éƒ¨è®Šæ•¸æŒ‡å®š section 屬性"
+
+-#: config/c4x/c4x-c.c:68
+-#, gcc-internal-format
+-msgid "missing '(' after '#pragma %s' - ignored"
+-msgstr "「#pragma %sã€å¾Œç¼ºå°‘「(〠- 已忽略"
+-
+-#: config/c4x/c4x-c.c:71
+-#, gcc-internal-format
+-msgid "missing function name in '#pragma %s' - ignored"
+-msgstr "「#pragma %sã€ä¸­ç¼ºå°‘函å¼å,忽略"
+-
+-#: config/c4x/c4x-c.c:76
+-#, gcc-internal-format
+-msgid "malformed '#pragma %s' - ignored"
+-msgstr "「#pragma %sã€æ ¼å¼éŒ¯èª¤ - 已忽略"
+-
+-#: config/c4x/c4x-c.c:78
+-#, gcc-internal-format
+-msgid "missing section name in '#pragma %s' - ignored"
+-msgstr "「#pragma %sã€ä¸­ç¼ºå°‘å€æ®µå,忽略"
+-
+-#: config/c4x/c4x-c.c:83
+-#, gcc-internal-format
+-msgid "missing ')' for '#pragma %s' - ignored"
+-msgstr "「#pragma %sã€ç¼ºå°‘「(〠- 已忽略"
+-
+-#: config/c4x/c4x-c.c:86
+-#, gcc-internal-format
+-msgid "junk at end of '#pragma %s'"
+-msgstr "「#pragma %sã€æœ«å°¾æœ‰ç„¡ç”¨å­—å…ƒ"
+-
+-#: config/c4x/c4x.c:859
+-#, gcc-internal-format
+-msgid "ISR %s requires %d words of local vars, max is 32767"
+-msgstr "ISR %s éœ€è¦ %d 字大å°çš„局部變數,最大值為 32767"
+-
+ #. This function is for retrieving a part of an instruction name for
+ #. an operator, for immediate output. If that ever happens for
+ #. MULT, we need to apply TARGET_MUL_BUG in the caller. Make sure
+ #. we notice.
+-#: config/cris/cris.c:434
++#: config/cris/cris.c:447
+ #, gcc-internal-format
+ msgid "MULT case in cris_op_str"
+ msgstr ""
+
+-#: config/cris/cris.c:811
++#: config/cris/cris.c:837
+ #, gcc-internal-format
+ msgid "invalid use of ':' modifier"
+ msgstr "錯誤地使用了「:ã€ä¿®é£¾ç¬¦"
+
+-#: config/cris/cris.c:983
++#: config/cris/cris.c:1024
+ #, gcc-internal-format
+ msgid "internal error: bad register: %d"
+ msgstr "內部錯誤:錯誤的暫存器:%dt"
+
+-#: config/cris/cris.c:1524
++#: config/cris/cris.c:1586
+ #, gcc-internal-format
+ msgid "internal error: sideeffect-insn affecting main effect"
+ msgstr ""
+
+-#: config/cris/cris.c:1548
++#: config/cris/cris.c:1683
+ #, gcc-internal-format
+ msgid "unknown cc_attr value"
+ msgstr "ä¸æ˜Žçš„ cc_attr 值"
+
+ #. If we get here, the caller got its initial tests wrong.
+-#: config/cris/cris.c:1901
++#: config/cris/cris.c:2040
+ #, gcc-internal-format
+ msgid "internal error: cris_side_effect_mode_ok with bad operands"
+ msgstr ""
+
+-#: config/cris/cris.c:2104
++#: config/cris/cris.c:2332
+ #, gcc-internal-format
+ msgid "-max-stackframe=%d is not usable, not between 0 and %d"
+ msgstr "-max-stackframe=%d 無法使用,ä¸åœ¨ 0 å’Œ %d 之間"
+
+-#: config/cris/cris.c:2132
++#: config/cris/cris.c:2360
+ #, gcc-internal-format
+ msgid "unknown CRIS version specification in -march= or -mcpu= : %s"
+ msgstr "-march= 或 -mcpu= 中ä¸æ˜Žçš„ CRIS CPU 版本設定:%s"
+
+-#: config/cris/cris.c:2168
++#: config/cris/cris.c:2396
+ #, gcc-internal-format
+ msgid "unknown CRIS cpu version specification in -mtune= : %s"
+ msgstr "-mtune= 中ä¸æ˜Žçš„ CRIS CPU 版本設定:%s"
+
+-#: config/cris/cris.c:2186
++#: config/cris/cris.c:2417
+ #, gcc-internal-format
+ msgid "-fPIC and -fpic are not supported in this configuration"
+ msgstr "-fPIC å’Œ -fpic 在此é…置下ä¸å—支æ´"
+
+-#: config/cris/cris.c:2201
++#: config/cris/cris.c:2432
+ #, gcc-internal-format
+ msgid "that particular -g option is invalid with -maout and -melinux"
+ msgstr ""
+
+-#: config/cris/cris.c:2414
++#: config/cris/cris.c:2658
+ #, gcc-internal-format
+ msgid "Unknown src"
+ msgstr "ä¸æ˜Žä¾†æº"
+
+-#: config/cris/cris.c:2475
++#: config/cris/cris.c:2719
+ #, gcc-internal-format
+ msgid "Unknown dest"
+ msgstr "ä¸æ˜Žç›®çš„"
+
+-#: config/cris/cris.c:2760
++#: config/cris/cris.c:3004
+ #, gcc-internal-format
+ msgid "stackframe too big: %d bytes"
+ msgstr "堆疊框架太大:%d ä½å…ƒçµ„"
+
+-#: config/cris/cris.c:3213 config/cris/cris.c:3240
++#: config/cris/cris.c:3498 config/cris/cris.c:3526
+ #, gcc-internal-format
+ msgid "expand_binop failed in movsi got"
+ msgstr ""
+
+-#: config/cris/cris.c:3321
++#: config/cris/cris.c:3607
+ #, gcc-internal-format
+ msgid "emitting PIC operand, but PIC register isn't set up"
+ msgstr ""
+@@ -25025,7 +24994,7 @@
+ #. See cris.c for TARGET_ASM_FUNCTION_PROLOGUE and
+ #. TARGET_ASM_FUNCTION_EPILOGUE.
+ #. Node: Profiling
+-#: config/cris/cris.h:868
++#: config/cris/cris.h:948
+ #, gcc-internal-format
+ msgid "no FUNCTION_PROFILER for CRIS"
+ msgstr "CRIS 沒有 FUNCTION_PROFILER"
+@@ -25040,62 +25009,62 @@
+ msgid "Trampoline support for CRX"
+ msgstr "å° CRX 的蹦床支æ´"
+
+-#: config/frv/frv.c:8622
++#: config/frv/frv.c:8626
+ #, gcc-internal-format
+ msgid "accumulator is not a constant integer"
+ msgstr "累加數ä¸æ˜¯ä¸€å€‹æ•´å¸¸æ•¸"
+
+-#: config/frv/frv.c:8627
++#: config/frv/frv.c:8631
+ #, gcc-internal-format
+ msgid "accumulator number is out of bounds"
+ msgstr "累加器個數越界"
+
+-#: config/frv/frv.c:8638
++#: config/frv/frv.c:8642
+ #, gcc-internal-format
+ msgid "inappropriate accumulator for %qs"
+ msgstr "%qs 的累加器ä¸åˆé©"
+
+-#: config/frv/frv.c:8715
++#: config/frv/frv.c:8719
+ #, gcc-internal-format
+ msgid "invalid IACC argument"
+ msgstr "無效的 IACC 引數"
+
+-#: config/frv/frv.c:8738
++#: config/frv/frv.c:8742
+ #, gcc-internal-format
+ msgid "%qs expects a constant argument"
+ msgstr "%qs 需è¦ä¸€å€‹å¸¸æ•¸å¼•æ•¸"
+
+-#: config/frv/frv.c:8743
++#: config/frv/frv.c:8747
+ #, gcc-internal-format
+ msgid "constant argument out of range for %qs"
+ msgstr "å¸¸æ•¸å¼•æ•¸è¶…éŽ %qs 的範åœ"
+
+-#: config/frv/frv.c:9224
++#: config/frv/frv.c:9228
+ #, gcc-internal-format
+ msgid "media functions are not available unless -mmedia is used"
+ msgstr "多媒體函å¼åªåœ¨ä½¿ç”¨-mmedia 的情æ³ä¸‹å¯ç”¨"
+
+-#: config/frv/frv.c:9236
++#: config/frv/frv.c:9240
+ #, gcc-internal-format
+ msgid "this media function is only available on the fr500"
+ msgstr "此多媒體函å¼åªåœ¨ fr500 上å¯ç”¨"
+
+-#: config/frv/frv.c:9264
++#: config/frv/frv.c:9268
+ #, gcc-internal-format
+ msgid "this media function is only available on the fr400 and fr550"
+ msgstr "此多媒體函å¼åªåœ¨ fr400 å’Œ fr550 上å¯ç”¨"
+
+-#: config/frv/frv.c:9283
++#: config/frv/frv.c:9287
+ #, gcc-internal-format
+ msgid "this builtin function is only available on the fr405 and fr450"
+ msgstr "此內建函å¼åªåœ¨ fr405 å’Œ fr450 上å¯ç”¨"
+
+-#: config/frv/frv.c:9292
++#: config/frv/frv.c:9296
+ #, gcc-internal-format
+ msgid "this builtin function is only available on the fr500 and fr550"
+ msgstr "此內建函å¼åªåœ¨ fr500 å’Œ fr550 上å¯ç”¨"
+
+-#: config/frv/frv.c:9304
++#: config/frv/frv.c:9308
+ #, gcc-internal-format
+ msgid "this builtin function is only available on the fr450"
+ msgstr "此內建函å¼åªåœ¨ fr450 上å¯ç”¨"
+@@ -25120,311 +25089,316 @@
+ msgid "can't set position in PCH file: %m"
+ msgstr "ä¸èƒ½åœ¨ PCH 檔案中設定ä½ç½®ï¼š%m"
+
+-#: config/i386/i386.c:2133 config/i386/i386.c:2333
++#: config/i386/i386.c:2158 config/i386/i386.c:2358
+ #, gcc-internal-format
+ msgid "bad value (%s) for -mtune= switch"
+ msgstr "-mtune= 所帶åƒæ•¸(%s)ä¸æ­£ç¢º"
+
+-#: config/i386/i386.c:2174
++#: config/i386/i386.c:2199
+ #, fuzzy, gcc-internal-format
+ msgid "bad value (%s) for -mstringop-strategy= switch"
+ msgstr "-mtune= 所帶åƒæ•¸(%s)ä¸æ­£ç¢º"
+
+-#: config/i386/i386.c:2177
++#: config/i386/i386.c:2202
+ #, gcc-internal-format
+ msgid "-mtune=x86-64 is deprecated. Use -mtune=k8 or -mtune=generic instead as appropriate."
+ msgstr ""
+
+-#: config/i386/i386.c:2186
++#: config/i386/i386.c:2211
+ #, fuzzy, gcc-internal-format
+ msgid "generic CPU can be used only for -mtune= switch"
+ msgstr "-mtune= 所帶åƒæ•¸(%s)ä¸æ­£ç¢º"
+
+-#: config/i386/i386.c:2188 config/i386/i386.c:2297 config/mt/mt.c:804
++#: config/i386/i386.c:2213 config/i386/i386.c:2322 config/mt/mt.c:804
+ #, gcc-internal-format
+ msgid "bad value (%s) for -march= switch"
+ msgstr "-march= 所帶åƒæ•¸(%s)ä¸æ­£ç¢º"
+
+-#: config/i386/i386.c:2199
++#: config/i386/i386.c:2224
+ #, fuzzy, gcc-internal-format
+ msgid "code model %s does not support PIC mode"
+ msgstr "程å¼ç¢¼æ¨¡å¼ %s 在 PIC 模å¼ä¸‹ä¸å—支æ´"
+
+-#: config/i386/i386.c:2205 config/sparc/sparc.c:725
++#: config/i386/i386.c:2230 config/sparc/sparc.c:728
+ #, gcc-internal-format
+ msgid "bad value (%s) for -mcmodel= switch"
+ msgstr "-mcmodel= 值(%s)ä¸æ­£ç¢º"
+
+-#: config/i386/i386.c:2228
++#: config/i386/i386.c:2253
+ #, gcc-internal-format
+ msgid "bad value (%s) for -masm= switch"
+ msgstr "-masm= 值(%s)ä¸æ­£ç¢º"
+
+-#: config/i386/i386.c:2231
++#: config/i386/i386.c:2256
+ #, gcc-internal-format
+ msgid "code model %qs not supported in the %s bit mode"
+ msgstr "程å¼ç¢¼æ¨¡å¼ %qs 在 %s ä½æ¨¡å¼ä¸‹ä¸å—支æ´"
+
+-#: config/i386/i386.c:2234
++#: config/i386/i386.c:2259
+ #, gcc-internal-format
+ msgid "%i-bit mode not compiled in"
+ msgstr "æœªç·¨è­¯å…¥å° %i ä½æ¨¡å¼çš„支æ´"
+
+-#: config/i386/i386.c:2245 config/i386/i386.c:2319
++#: config/i386/i386.c:2270 config/i386/i386.c:2344
+ #, gcc-internal-format
+ msgid "CPU you selected does not support x86-64 instruction set"
+ msgstr "您é¸æ“‡çš„ CPU ä¸æ”¯æ´ x86-64 指令集"
+
+-#: config/i386/i386.c:2351
++#: config/i386/i386.c:2376
+ #, gcc-internal-format
+ msgid "-mregparm is ignored in 64-bit mode"
+ msgstr ""
+
+-#: config/i386/i386.c:2354
++#: config/i386/i386.c:2379
+ #, gcc-internal-format
+ msgid "-mregparm=%d is not between 0 and %d"
+ msgstr "-mregparm=%d ä¸åœ¨ 0 å’Œ %d 之間"
+
+-#: config/i386/i386.c:2366
++#: config/i386/i386.c:2391
+ #, gcc-internal-format
+ msgid "-malign-loops is obsolete, use -falign-loops"
+ msgstr "-malign-loops 已經éŽæ™‚,請使用 -falign-loops"
+
+-#: config/i386/i386.c:2371 config/i386/i386.c:2384 config/i386/i386.c:2397
++#: config/i386/i386.c:2396 config/i386/i386.c:2409 config/i386/i386.c:2422
+ #, gcc-internal-format
+ msgid "-malign-loops=%d is not between 0 and %d"
+ msgstr "-malign-loops=%d ä¸åœ¨ 0 å’Œ %d 之間"
+
+-#: config/i386/i386.c:2379
++#: config/i386/i386.c:2404
+ #, gcc-internal-format
+ msgid "-malign-jumps is obsolete, use -falign-jumps"
+ msgstr "-malign-jumps 已經éŽæ™‚,請使用 -falign-jumps"
+
+-#: config/i386/i386.c:2392
++#: config/i386/i386.c:2417
+ #, gcc-internal-format
+ msgid "-malign-functions is obsolete, use -falign-functions"
+ msgstr "-malign-functions å·²éŽæ™‚,請使用 -falign-functions"
+
+-#: config/i386/i386.c:2425
++#: config/i386/i386.c:2450
+ #, gcc-internal-format
+ msgid "-mbranch-cost=%d is not between 0 and 5"
+ msgstr "-mbranch-cost=%d ä¸åœ¨ 0 å’Œ 5 之間"
+
+-#: config/i386/i386.c:2433
++#: config/i386/i386.c:2458
+ #, gcc-internal-format
+ msgid "-mlarge-data-threshold=%d is negative"
+ msgstr "-mlarge-data-threshold=%d 為負"
+
+-#: config/i386/i386.c:2447
++#: config/i386/i386.c:2472
+ #, gcc-internal-format
+ msgid "bad value (%s) for -mtls-dialect= switch"
+ msgstr "為 -mtls-dialect= 開關指定了錯誤的值(%s)"
+
+-#: config/i386/i386.c:2455
++#: config/i386/i386.c:2480
+ #, gcc-internal-format
+ msgid "pc%d is not valid precision setting (32, 64 or 80)"
+ msgstr ""
+
+-#: config/i386/i386.c:2471
++#: config/i386/i386.c:2496
+ #, fuzzy, gcc-internal-format
+ msgid "-mrtd is ignored in 64bit mode"
+ msgstr "-mrtd 呼å«ç´„定在 64 ä½å…ƒæ¨¡å¼ä¸‹ä¸æ”¯æ´"
+
+-#: config/i386/i386.c:2560
++#: config/i386/i386.c:2585
+ #, gcc-internal-format
+ msgid "-mpreferred-stack-boundary=%d is not between %d and 12"
+ msgstr "-mpreferred-stack-boundary=%d ä¸åœ¨ %d å’Œ 12 之間"
+
+-#: config/i386/i386.c:2569
++#: config/i386/i386.c:2594
+ #, gcc-internal-format
+ msgid "-msseregparm used without SSE enabled"
+ msgstr "使用了 -msseregparm å»æ²’有啟用 SEE"
+
+-#: config/i386/i386.c:2580 config/i386/i386.c:2591
++#: config/i386/i386.c:2605 config/i386/i386.c:2616
+ #, gcc-internal-format
+ msgid "SSE instruction set disabled, using 387 arithmetics"
+ msgstr "SSE 指令集已åœç”¨ï¼Œä½¿ç”¨ 387 指令"
+
+-#: config/i386/i386.c:2596
++#: config/i386/i386.c:2621
+ #, gcc-internal-format
+ msgid "387 instruction set disabled, using SSE arithmetics"
+ msgstr "387 指令集已åœç”¨ï¼Œä½¿ç”¨ SSE 指令"
+
+-#: config/i386/i386.c:2603
++#: config/i386/i386.c:2628
+ #, gcc-internal-format
+ msgid "bad value (%s) for -mfpmath= switch"
+ msgstr "-mfpmath= 開關的值(%s)錯誤"
+
+-#: config/i386/i386.c:2616
++#: config/i386/i386.c:2641
+ #, gcc-internal-format
+ msgid "unknown vectorization library ABI type (%s) for -mveclibabi= switch"
+ msgstr ""
+
+-#: config/i386/i386.c:2635
++#: config/i386/i386.c:2660
+ #, gcc-internal-format
+ msgid "unwind tables currently require either a frame pointer or -maccumulate-outgoing-args for correctness"
+ msgstr "解æ²è¡¨ç›®å‰éœ€è¦æ¡†æž¶æŒ‡æ¨™æˆ– -maccumulate-outgoing-args 來ä¿è­‰æ­£ç¢ºæ€§"
+
+-#: config/i386/i386.c:3022 config/i386/i386.c:3075
++#: config/i386/i386.c:3053 config/i386/i386.c:3106
+ #, gcc-internal-format
+ msgid "fastcall and regparm attributes are not compatible"
+ msgstr "fastcall å’Œ regparm 屬性互ä¸ç›¸å®¹"
+
+-#: config/i386/i386.c:3029
++#: config/i386/i386.c:3060
+ #, gcc-internal-format
+ msgid "%qs attribute requires an integer constant argument"
+ msgstr "%qs 屬性需è¦ä¸€å€‹æ•´å¸¸æ•¸åšç‚ºå¼•æ•¸"
+
+-#: config/i386/i386.c:3035
++#: config/i386/i386.c:3066
+ #, gcc-internal-format
+ msgid "argument to %qs attribute larger than %d"
+ msgstr "%qs 屬性的引數大於 %d"
+
+-#: config/i386/i386.c:3045
++#: config/i386/i386.c:3076
+ #, gcc-internal-format
+ msgid "%s functions limited to %d register parameters"
+ msgstr ""
+
+-#: config/i386/i386.c:3067 config/i386/i386.c:3102
++#: config/i386/i386.c:3098 config/i386/i386.c:3133
+ #, gcc-internal-format
+ msgid "fastcall and cdecl attributes are not compatible"
+ msgstr "fastcall å’Œ cdecl 屬性互ä¸ç›¸å®¹"
+
+-#: config/i386/i386.c:3071
++#: config/i386/i386.c:3102
+ #, gcc-internal-format
+ msgid "fastcall and stdcall attributes are not compatible"
+ msgstr "fastcall å’Œ stdcall 屬性互ä¸ç›¸å®¹"
+
+-#: config/i386/i386.c:3085 config/i386/i386.c:3098
++#: config/i386/i386.c:3116 config/i386/i386.c:3129
+ #, gcc-internal-format
+ msgid "stdcall and cdecl attributes are not compatible"
+ msgstr "stdcall å’Œ cdecl 屬性互ä¸ç›¸å®¹"
+
+-#: config/i386/i386.c:3089
++#: config/i386/i386.c:3120
+ #, gcc-internal-format
+ msgid "stdcall and fastcall attributes are not compatible"
+ msgstr "stdcall å’Œ fastcall 屬性互ä¸ç›¸å®¹"
+
+-#: config/i386/i386.c:3236
++#: config/i386/i386.c:3271
+ #, gcc-internal-format
+ msgid "Calling %qD with attribute sseregparm without SSE/SSE2 enabled"
+ msgstr "帶屬性 sseregparm å‘¼å« %qD å»æ²’有啟用 SSE/SSE2"
+
+-#: config/i386/i386.c:3239
++#: config/i386/i386.c:3274
+ #, gcc-internal-format
+ msgid "Calling %qT with attribute sseregparm without SSE/SSE2 enabled"
+ msgstr "帶屬性 sseregparm å‘¼å« %qT å»æ²’有啟用 SSE/SSE2"
+
+-#: config/i386/i386.c:3925
++#: config/i386/i386.c:3971
+ #, gcc-internal-format
+ msgid "SSE register return with SSE disabled"
+ msgstr "å·²åœç”¨ SSE å»åœ¨ SSE 暫存器中回傳"
+
+-#: config/i386/i386.c:3931
++#: config/i386/i386.c:3977
+ #, gcc-internal-format
+ msgid "SSE register argument with SSE disabled"
+ msgstr "å·²åœç”¨ SSE å»åœ¨ SSE 暫存器中傳éžåƒæ•¸"
+
+-#: config/i386/i386.c:3947
++#: config/i386/i386.c:3993
+ #, fuzzy, gcc-internal-format
+ msgid "x87 register return with x87 disabled"
+ msgstr "å·²åœç”¨ SSE å»åœ¨ SSE 暫存器中回傳"
+
+-#: config/i386/i386.c:4265
++#: config/i386/i386.c:4314
+ #, gcc-internal-format
+ msgid "SSE vector argument without SSE enabled changes the ABI"
+ msgstr "沒有啟用 SSE,å»å‡ºç¾äº† SSE å‘é‡å¼•æ•¸ï¼Œé€™è®Šæ›´äº† ABI"
+
+-#: config/i386/i386.c:4283
++#: config/i386/i386.c:4332
+ #, gcc-internal-format
+ msgid "MMX vector argument without MMX enabled changes the ABI"
+ msgstr "沒有啟用 MMX,å»å‡ºç¾äº† MMX å‘é‡å¼•æ•¸ï¼Œé€™è®Šæ›´äº† ABI"
+
+-#: config/i386/i386.c:4810
++#: config/i386/i386.c:4859
+ #, gcc-internal-format
+ msgid "SSE vector return without SSE enabled changes the ABI"
+ msgstr "沒有啟用 SSE,å»æœ‰ SSE å‘é‡å›žå‚³å€¼ï¼Œé€™è®Šæ›´äº† ABI"
+
+-#: config/i386/i386.c:4820
++#: config/i386/i386.c:4869
+ #, gcc-internal-format
+ msgid "MMX vector return without MMX enabled changes the ABI"
+ msgstr "沒有啟用 MMXå»å›žå‚³ MMX å‘é‡ï¼Œé€™è®Šæ›´äº† ABI"
+
+-#: config/i386/i386.c:6171
++#: config/i386/i386.c:6220
+ #, fuzzy, gcc-internal-format
+ msgid "-mstackrealign ignored for nested functions"
+ msgstr "ISO C++ ä¸å…許巢狀函å¼"
+
+-#: config/i386/i386.c:6173
++#: config/i386/i386.c:6222
+ #, fuzzy, gcc-internal-format
+ msgid "%s not supported for nested functions"
+ msgstr "ä¸æ”¯æ´æ­¸ç´"
+
+-#: config/i386/i386.c:8576
++#: config/i386/i386.c:8631
+ #, gcc-internal-format
+ msgid "extended registers have no high halves"
+ msgstr "擴充的暫存器沒有高åŠéƒ¨åˆ†"
+
+-#: config/i386/i386.c:8591
++#: config/i386/i386.c:8646
+ #, gcc-internal-format
+ msgid "unsupported operand size for extended register"
+ msgstr "擴充的暫存器ä¸æ”¯æ´çš„é‹ç®—元大å°"
+
+-#: config/i386/i386.c:19610
++#: config/i386/i386.c:19694
+ #, fuzzy, gcc-internal-format
+ msgid "the third argument must be a 4-bit immediate"
+ msgstr "引數 3 必須是一個 4 ä½ç„¡è™Ÿå­—é¢å€¼"
+
+-#: config/i386/i386.c:19614
++#: config/i386/i386.c:19698
+ #, fuzzy, gcc-internal-format
+ msgid "the third argument must be an 8-bit immediate"
+ msgstr "引數 1 必須是一個 5 ä½æœ‰è™Ÿå­—é¢å€¼"
+
+-#: config/i386/i386.c:19836
++#: config/i386/i386.c:19920
+ #, fuzzy, gcc-internal-format
+ msgid "last argument must be an immediate"
+ msgstr "é®ç½©å¿…須是一個立å³æ•¸å€¼"
+
+-#: config/i386/i386.c:19963
++#: config/i386/i386.c:20047
+ #, fuzzy, gcc-internal-format
+ msgid "the second argument must be a 4-bit immediate"
+ msgstr "引數 3 必須是一個 4 ä½ç„¡è™Ÿå­—é¢å€¼"
+
+-#: config/i386/i386.c:20209
++#: config/i386/i386.c:20293
+ #, fuzzy, gcc-internal-format
+ msgid "the fifth argument must be a 8-bit immediate"
+ msgstr "引數 1 必須是一個 5 ä½æœ‰è™Ÿå­—é¢å€¼"
+
+-#: config/i386/i386.c:20304
++#: config/i386/i386.c:20388
+ #, fuzzy, gcc-internal-format
+ msgid "the third argument must be a 8-bit immediate"
+ msgstr "引數 1 必須是一個 5 ä½æœ‰è™Ÿå­—é¢å€¼"
+
+-#: config/i386/i386.c:20374 config/rs6000/rs6000.c:8133
++#: config/i386/i386.c:20458 config/rs6000/rs6000.c:8240
+ #, gcc-internal-format
+ msgid "selector must be an integer constant in the range 0..%wi"
+ msgstr "é¸æ“‡å­å¿…須是 0 到 %wi 間的整常數"
+
+-#: config/i386/i386.c:20774 config/i386/i386.c:20970
++#: config/i386/i386.c:20858 config/i386/i386.c:21054
+ #, gcc-internal-format
+ msgid "shift must be an immediate"
+ msgstr "å移值必須是立å³æ•¸å€¼"
+
+-#: config/i386/i386.c:21033 config/i386/i386.c:21075
++#: config/i386/i386.c:21117 config/i386/i386.c:21159
+ #, fuzzy, gcc-internal-format
+ msgid "index mask must be an immediate"
+ msgstr "é®ç½©å¿…須是一個立å³æ•¸å€¼"
+
+-#: config/i386/i386.c:21038 config/i386/i386.c:21080
++#: config/i386/i386.c:21122 config/i386/i386.c:21164
+ #, fuzzy, gcc-internal-format
+ msgid "length mask must be an immediate"
+ msgstr "é®ç½©å¿…須是一個立å³æ•¸å€¼"
+
+-#: config/i386/i386.c:22525 config/rs6000/rs6000.c:19666
++#: config/i386/i386.c:22609 config/rs6000/rs6000.c:19883
+ #, gcc-internal-format
+ msgid "%qs incompatible attribute ignored"
+ msgstr "%qs 忽略ä¸ç›¸å®¹çš„屬性"
+
++#: config/i386/netware.c:253
++#, fuzzy, gcc-internal-format
++msgid "-fPIC and -fpic are not supported for this target"
++msgstr "-fPIC å’Œ -fpic 在此é…置下ä¸å—支æ´"
++
+ #: config/i386/winnt-cxx.c:71 config/sh/symbian.c:172
+ #, gcc-internal-format
+ msgid "definition of static data member %q+D of dllimport'd class"
+@@ -25490,57 +25464,57 @@
+ msgid "%Jaddress area attribute cannot be specified for functions"
+ msgstr "%Jä¸èƒ½ç‚ºå‡½å¼æŒ‡å®šä½å€å€åŸŸå±¬æ€§"
+
+-#: config/ia64/ia64.c:5126 config/pa/pa.c:347 config/spu/spu.c:3875
++#: config/ia64/ia64.c:5127 config/pa/pa.c:350 config/spu/spu.c:3864
+ #, gcc-internal-format
+ msgid "value of -mfixed-range must have form REG1-REG2"
+ msgstr "-mfixed-range 值必須有「暫存器1-暫存器2ã€çš„å½¢å¼"
+
+-#: config/ia64/ia64.c:5153 config/pa/pa.c:374 config/spu/spu.c:3901
++#: config/ia64/ia64.c:5154 config/pa/pa.c:377 config/spu/spu.c:3890
+ #, gcc-internal-format
+ msgid "%s-%s is an empty range"
+ msgstr "%s-%s 是一個空的範åœ"
+
+-#: config/ia64/ia64.c:5181
++#: config/ia64/ia64.c:5182
+ #, gcc-internal-format
+ msgid "bad value %<%s%> for -mtls-size= switch"
+ msgstr "-mtls-size= 開關的值 %<%s%> 無效"
+
+-#: config/ia64/ia64.c:5209
++#: config/ia64/ia64.c:5210
+ #, gcc-internal-format
+ msgid "bad value %<%s%> for -mtune= switch"
+ msgstr "-mtune= 所帶åƒæ•¸ %<%s%> ä¸æ­£ç¢º"
+
+-#: config/ia64/ia64.c:5228
++#: config/ia64/ia64.c:5229
+ #, gcc-internal-format
+ msgid "not yet implemented: latency-optimized inline square root"
+ msgstr "尚未實作:最å°å»¶é²æœ€ä½³åŒ–çš„å…§è¯å¹³æ–¹æ ¹é‹ç®—"
+
+-#: config/ia64/ia64.c:9950
++#: config/ia64/ia64.c:9951
+ #, fuzzy, gcc-internal-format
+ msgid "version attribute is not a string"
+ msgstr "%qs 屬性的引數ä¸æ˜¯ä¸€å€‹å­—串常數"
+
+-#: config/iq2000/iq2000.c:1812
++#: config/iq2000/iq2000.c:1816
+ #, gcc-internal-format
+ msgid "gp_offset (%ld) or end_offset (%ld) is less than zero"
+ msgstr ""
+
+-#: config/iq2000/iq2000.c:2583
++#: config/iq2000/iq2000.c:2587
+ #, gcc-internal-format
+ msgid "argument %qd is not a constant"
+ msgstr "引數 %qd ä¸æ˜¯ä¸€å€‹å¸¸æ•¸"
+
+-#: config/iq2000/iq2000.c:2885 config/mt/mt.c:349 config/xtensa/xtensa.c:2118
++#: config/iq2000/iq2000.c:2889 config/mt/mt.c:349 config/xtensa/xtensa.c:2124
+ #, gcc-internal-format
+ msgid "PRINT_OPERAND_ADDRESS, null pointer"
+ msgstr "PRINT_OPERAND_ADDRESS,空指標"
+
+-#: config/iq2000/iq2000.c:3040
++#: config/iq2000/iq2000.c:3044
+ #, gcc-internal-format
+ msgid "PRINT_OPERAND: Unknown punctuation '%c'"
+ msgstr "PRINT_OPERAND:ä¸æ˜Žçš„標點「%cã€"
+
+-#: config/iq2000/iq2000.c:3049 config/xtensa/xtensa.c:1972
++#: config/iq2000/iq2000.c:3053 config/xtensa/xtensa.c:1978
+ #, gcc-internal-format
+ msgid "PRINT_OPERAND null pointer"
+ msgstr "PRINT_OPERAND 空指標"
+@@ -25565,22 +25539,22 @@
+ msgid "invalid target memregs value '%d'"
+ msgstr "無效的目的 memregs 值「%dã€"
+
+-#: config/m32c/m32c.c:2759
++#: config/m32c/m32c.c:2766
+ #, fuzzy, gcc-internal-format
+ msgid "`%s' attribute is not supported for R8C target"
+ msgstr "%Jsection 屬性在此目標平臺上ä¸å—支æ´"
+
+-#: config/m32c/m32c.c:2767
++#: config/m32c/m32c.c:2774
+ #, fuzzy, gcc-internal-format
+ msgid "`%s' attribute applies only to functions"
+ msgstr "%J%qE 屬性åªèƒ½å¥—用到函å¼ä¸Š"
+
+-#: config/m32c/m32c.c:2775
++#: config/m32c/m32c.c:2782
+ #, fuzzy, gcc-internal-format
+ msgid "`%s' attribute argument not an integer constant"
+ msgstr "%qs 屬性的åƒæ•¸ä¸æ˜¯ä¸€å€‹æ•´åž‹å¸¸æ•¸"
+
+-#: config/m32c/m32c.c:2784
++#: config/m32c/m32c.c:2791
+ #, fuzzy, gcc-internal-format
+ msgid "`%s' attribute argument should be between 18 to 255"
+ msgstr "%qs 屬性的åƒæ•¸ä¸æ˜¯ä¸€å€‹æ•´åž‹å¸¸æ•¸"
+@@ -25630,7 +25604,7 @@
+ msgid "interrupt_thread is available only on fido"
+ msgstr ""
+
+-#: config/m68k/m68k.c:1072 config/rs6000/rs6000.c:15014
++#: config/m68k/m68k.c:1072 config/rs6000/rs6000.c:15226
+ #, gcc-internal-format
+ msgid "stack limit expression is not supported"
+ msgstr "ä¸æ”¯æ´å †ç–Šé™åˆ¶é‹ç®—å¼"
+@@ -25645,114 +25619,114 @@
+ msgid "%qs redeclared with conflicting %qs attributes"
+ msgstr "%s 屬性與 %s 屬性在 %L 處è¡çª"
+
+-#: config/mips/mips.c:2348
++#: config/mips/mips.c:2382
+ #, gcc-internal-format
+ msgid "MIPS16 TLS"
+ msgstr ""
+
+-#: config/mips/mips.c:5439
++#: config/mips/mips.c:5500
+ #, gcc-internal-format
+ msgid "cannot handle inconsistent calls to %qs"
+ msgstr "無法處ç†å° %qs ä¸ä¸€è‡´çš„呼å«"
+
+-#: config/mips/mips.c:10258
++#: config/mips/mips.c:10337
+ #, fuzzy, gcc-internal-format
+ msgid "invalid argument to built-in function"
+ msgstr "給內建函å¼çš„引數無效"
+
+-#: config/mips/mips.c:10530
++#: config/mips/mips.c:10609
+ #, fuzzy, gcc-internal-format
+ msgid "built-in function %qs not supported for MIPS16"
+ msgstr "objc ä¸æ”¯æ´ ms-bitfields"
+
+-#: config/mips/mips.c:11679 config/mips/mips.c:12065
++#: config/mips/mips.c:11751 config/mips/mips.c:12137
+ #, gcc-internal-format
+ msgid "MIPS16 PIC"
+ msgstr ""
+
+-#: config/mips/mips.c:11682
++#: config/mips/mips.c:11754
+ #, gcc-internal-format
+ msgid "hard-float MIPS16 code for ABIs other than o32 and o64"
+ msgstr ""
+
+-#: config/mips/mips.c:11810
++#: config/mips/mips.c:11882
+ #, fuzzy, gcc-internal-format
+ msgid "CPU names must be lower case"
+ msgstr "cpu å必須是å°å¯«"
+
+-#: config/mips/mips.c:11938
++#: config/mips/mips.c:12010
+ #, fuzzy, gcc-internal-format
+ msgid "%<-%s%> conflicts with the other architecture options, which specify a %s processor"
+ msgstr "-%s 與指定了 %s 處ç†å™¨çš„其它架構é¸é …è¡çª"
+
+-#: config/mips/mips.c:11954
++#: config/mips/mips.c:12026
+ #, fuzzy, gcc-internal-format
+ msgid "%<-march=%s%> is not compatible with the selected ABI"
+ msgstr "-march=%s èˆ‡æ‰€é¸ ABI ä¸ç›¸å®¹"
+
+-#: config/mips/mips.c:11969
++#: config/mips/mips.c:12041
+ #, fuzzy, gcc-internal-format
+ msgid "%<-mgp64%> used with a 32-bit processor"
+ msgstr "-mgp64 與 32 ä½å…ƒè™•ç†å™¨ä¸€èµ·ä½¿ç”¨"
+
+-#: config/mips/mips.c:11971
++#: config/mips/mips.c:12043
+ #, fuzzy, gcc-internal-format
+ msgid "%<-mgp32%> used with a 64-bit ABI"
+ msgstr "-mgp32 與 64 ä½å…ƒ ABI 一起使用"
+
+-#: config/mips/mips.c:11973
++#: config/mips/mips.c:12045
+ #, fuzzy, gcc-internal-format
+ msgid "%<-mgp64%> used with a 32-bit ABI"
+ msgstr "-mgp64 與 32 ä½å…ƒ ABI 一起使用"
+
+-#: config/mips/mips.c:11989 config/mips/mips.c:11991 config/mips/mips.c:12058
++#: config/mips/mips.c:12061 config/mips/mips.c:12063 config/mips/mips.c:12130
+ #, gcc-internal-format
+ msgid "unsupported combination: %s"
+ msgstr "ä¸æ”¯æ´çš„組åˆï¼š%s"
+
+-#: config/mips/mips.c:11995
++#: config/mips/mips.c:12067
+ #, gcc-internal-format
+ msgid "%<-mgp32%> and %<-mfp64%> can only be combined if the target supports the mfhc1 and mthc1 instructions"
+ msgstr ""
+
+-#: config/mips/mips.c:11998
++#: config/mips/mips.c:12070
+ #, gcc-internal-format
+ msgid "%<-mgp32%> and %<-mfp64%> can only be combined when using the o32 ABI"
+ msgstr ""
+
+-#: config/mips/mips.c:12052
++#: config/mips/mips.c:12124
+ #, fuzzy, gcc-internal-format
+ msgid "the %qs architecture does not support branch-likely instructions"
+ msgstr "目的 CPU ä¸æ”¯æ´ THUMB 指令"
+
+-#: config/mips/mips.c:12098
++#: config/mips/mips.c:12170
+ #, gcc-internal-format
+ msgid "%<-mno-gpopt%> needs %<-mexplicit-relocs%>"
+ msgstr ""
+
+-#: config/mips/mips.c:12106 config/mips/mips.c:12109
++#: config/mips/mips.c:12178 config/mips/mips.c:12181
+ #, gcc-internal-format
+ msgid "cannot use small-data accesses for %qs"
+ msgstr ""
+
+-#: config/mips/mips.c:12123
++#: config/mips/mips.c:12195
+ #, fuzzy, gcc-internal-format
+ msgid "%<-mips3d%> requires %<-mpaired-single%>"
+ msgstr "-mips3d éœ€è¦ -mpaired-single"
+
+-#: config/mips/mips.c:12132
++#: config/mips/mips.c:12204
+ #, fuzzy, gcc-internal-format
+ msgid "%qs must be used with %qs"
+ msgstr "-frepo 必須與 -c 一起使用"
+
+-#: config/mips/mips.c:12139
++#: config/mips/mips.c:12211
+ #, fuzzy, gcc-internal-format
+ msgid "the %qs architecture does not support paired-single instructions"
+ msgstr "目的 CPU ä¸æ”¯æ´ THUMB 指令"
+
+ #. Output assembler code to FILE to increment profiler label # LABELNO
+ #. for profiling a function entry.
+-#: config/mips/mips.h:2110
++#: config/mips/mips.h:2111
+ #, gcc-internal-format
+ msgid "mips16 function profiling"
+ msgstr "mips16 函å¼å–樣"
+@@ -25782,28 +25756,28 @@
+ msgid "MMIX Internal: Last named vararg would not fit in a register"
+ msgstr "MMIX 內部錯誤:最後一個具åçš„ä¸å®šåƒæ•¸ç„¡æ³•æ”¾å…¥æš«å­˜å™¨ä¸­"
+
+-#: config/mmix/mmix.c:1495 config/mmix/mmix.c:1519 config/mmix/mmix.c:1635
++#: config/mmix/mmix.c:1491 config/mmix/mmix.c:1515 config/mmix/mmix.c:1631
+ #, gcc-internal-format
+ msgid "MMIX Internal: Bad register: %d"
+ msgstr "MMIX 內部錯誤:錯誤的暫存器:%d"
+
+ #. Presumably there's a missing case above if we get here.
+-#: config/mmix/mmix.c:1627
++#: config/mmix/mmix.c:1623
+ #, gcc-internal-format
+ msgid "MMIX Internal: Missing %qc case in mmix_print_operand"
+ msgstr "MMIX 內部錯誤:mmix_print_operand 缺少 %qc 類型"
+
+-#: config/mmix/mmix.c:1913
++#: config/mmix/mmix.c:1909
+ #, gcc-internal-format
+ msgid "stack frame not a multiple of 8 bytes: %wd"
+ msgstr "堆疊框架大å°ä¸æ˜¯ 8 ä½å…ƒçµ„çš„å€æ•¸ï¼š%wd"
+
+-#: config/mmix/mmix.c:2149
++#: config/mmix/mmix.c:2145
+ #, gcc-internal-format
+ msgid "stack frame not a multiple of octabyte: %wd"
+ msgstr "堆疊框架大å°ä¸æ˜¯ 8 ä½å…ƒçµ„çš„å€æ•¸ï¼š%wd"
+
+-#: config/mmix/mmix.c:2489 config/mmix/mmix.c:2553
++#: config/mmix/mmix.c:2485 config/mmix/mmix.c:2549
+ #, gcc-internal-format
+ msgid "MMIX Internal: %s is not a shiftable int"
+ msgstr "MMIX 內部錯誤:%s ä¸æ˜¯ä¸€å€‹å¯ç§»ä½çš„整數"
+@@ -25813,27 +25787,27 @@
+ msgid "info pointer NULL"
+ msgstr "info 指標為 NULL"
+
+-#: config/pa/pa.c:479
++#: config/pa/pa.c:482
+ #, gcc-internal-format
+ msgid "PIC code generation is not supported in the portable runtime model"
+ msgstr "PIC 程å¼ç¢¼ç”¢ç”Ÿåœ¨å¯ç§»æ¤åŸ·è¡Œæ™‚模型中ä¸å—支æ´"
+
+-#: config/pa/pa.c:484
++#: config/pa/pa.c:487
+ #, gcc-internal-format
+ msgid "PIC code generation is not compatible with fast indirect calls"
+ msgstr "PIC 程å¼ç¢¼ç”¢ç”Ÿèˆ‡å¿«é€Ÿé–“接呼å«ä¸ç›¸å®¹"
+
+-#: config/pa/pa.c:489
++#: config/pa/pa.c:492
+ #, gcc-internal-format
+ msgid "-g is only supported when using GAS on this processor,"
+ msgstr "此處ç†å™¨åªæœ‰ä½¿ç”¨ GAS 時æ‰æ”¯æ´ -g"
+
+-#: config/pa/pa.c:490
++#: config/pa/pa.c:493
+ #, gcc-internal-format
+ msgid "-g option disabled"
+ msgstr "-g é¸é …已被åœç”¨"
+
+-#: config/pa/pa.c:8285
++#: config/pa/pa.c:8373
+ #, gcc-internal-format
+ msgid "alignment (%u) for %s exceeds maximum alignment for global common data. Using %u"
+ msgstr ""
+@@ -25902,250 +25876,251 @@
+ msgid "junk at end of #pragma longcall"
+ msgstr "#pragma longcall 末尾有無用字元"
+
+-#: config/rs6000/rs6000-c.c:2550
++#: config/rs6000/rs6000-c.c:2553
+ #, gcc-internal-format
+ msgid "passing arg %d of %qE discards qualifiers frompointer target type"
+ msgstr "傳éžåƒæ•¸ %d (屬於 %qE)時丟棄了指標目的類型的類型é™å®š"
+
+-#: config/rs6000/rs6000-c.c:2593
++#: config/rs6000/rs6000-c.c:2596
+ #, gcc-internal-format
+ msgid "invalid parameter combination for AltiVec intrinsic"
+ msgstr "å° AltiVec 內建函å¼ä¾†èªªç„¡æ•ˆçš„åƒé™£åˆ—åˆ"
+
+-#: config/rs6000/rs6000.c:1294
++#: config/rs6000/rs6000.c:1312
+ #, gcc-internal-format
+ msgid "-mdynamic-no-pic overrides -fpic or -fPIC"
+ msgstr "-mdynamic-no-pic 覆寫了 -fpic 或 -fPIC"
+
+-#: config/rs6000/rs6000.c:1305
++#: config/rs6000/rs6000.c:1323
+ #, gcc-internal-format
+ msgid "-m64 requires PowerPC64 architecture, enabling"
+ msgstr "-m64 éœ€è¦ PowerPC64 架構,正在啟用"
+
+-#: config/rs6000/rs6000.c:1528
++#: config/rs6000/rs6000.c:1546
+ #, gcc-internal-format
+ msgid "-mmultiple is not supported on little endian systems"
+ msgstr "-mmultiple 在低ä½ä½å…ƒçµ„在å‰çš„系統上ä¸å—支æ´"
+
+-#: config/rs6000/rs6000.c:1535
++#: config/rs6000/rs6000.c:1553
+ #, gcc-internal-format
+ msgid "-mstring is not supported on little endian systems"
+ msgstr "-mstring 在低ä½ä½å…ƒçµ„在å‰çš„系統上ä¸å—支æ´"
+
+-#: config/rs6000/rs6000.c:1549
++#: config/rs6000/rs6000.c:1567
+ #, gcc-internal-format
+ msgid "unknown -mdebug-%s switch"
+ msgstr "ä¸æ˜Žçš„ -mdebug-%s é–‹é—œ"
+
+-#: config/rs6000/rs6000.c:1561
++#: config/rs6000/rs6000.c:1579
+ #, gcc-internal-format
+ msgid "unknown -mtraceback arg %qs; expecting %<full%>, %<partial%> or %<none%>"
+ msgstr "ä¸æ˜Žçš„ -mtraceback åƒæ•¸ %qsï¼›éœ€è¦ %<full%>ã€%<partial%> 或 %<none%>"
+
+-#: config/rs6000/rs6000.c:1973
++#: config/rs6000/rs6000.c:2003
+ #, gcc-internal-format
+ msgid "unknown -m%s= option specified: '%s'"
+ msgstr "指定了ä¸æ˜Žçš„ -m%s= é¸é …:「%sã€"
+
+-#: config/rs6000/rs6000.c:2186
++#: config/rs6000/rs6000.c:2218
+ #, gcc-internal-format
+ msgid "not configured for ABI: '%s'"
+ msgstr "沒有為此 ABI é…置:「%sã€"
+
+-#: config/rs6000/rs6000.c:2199
++#: config/rs6000/rs6000.c:2231
+ #, gcc-internal-format
+ msgid "Using darwin64 ABI"
+ msgstr "使用 darwin64 ABI"
+
+-#: config/rs6000/rs6000.c:2204
++#: config/rs6000/rs6000.c:2236
+ #, gcc-internal-format
+ msgid "Using old darwin ABI"
+ msgstr "使用舊å¼çš„ Darwin ABI"
+
+-#: config/rs6000/rs6000.c:2211
++#: config/rs6000/rs6000.c:2243
+ #, gcc-internal-format
+ msgid "Using IBM extended precision long double"
+ msgstr ""
+
+-#: config/rs6000/rs6000.c:2217
++#: config/rs6000/rs6000.c:2249
+ #, gcc-internal-format
+ msgid "Using IEEE extended precision long double"
+ msgstr ""
+
+-#: config/rs6000/rs6000.c:2222
++#: config/rs6000/rs6000.c:2254
+ #, gcc-internal-format
+ msgid "unknown ABI specified: '%s'"
+ msgstr "指定了ä¸æ˜Žçš„ ABI:「%sã€"
+
+-#: config/rs6000/rs6000.c:2249
++#: config/rs6000/rs6000.c:2281
+ #, gcc-internal-format
+ msgid "invalid option for -mfloat-gprs: '%s'"
+ msgstr "-mfloat-gprs çš„é¸é …無效:「%sã€"
+
+-#: config/rs6000/rs6000.c:2259
++#: config/rs6000/rs6000.c:2291
+ #, gcc-internal-format
+ msgid "Unknown switch -mlong-double-%s"
+ msgstr "ä¸æ˜Žçš„é–‹é—œ -mlong-double-%s"
+
+-#: config/rs6000/rs6000.c:2280
++#: config/rs6000/rs6000.c:2312
+ #, gcc-internal-format
+ msgid "-malign-power is not supported for 64-bit Darwin; it is incompatible with the installed C and C++ libraries"
+ msgstr "-malign-power 在 64 ä½å…ƒ Darwin 下ä¸å—支æ´ï¼›å®ƒèˆ‡å·²å®‰è£çš„ C å’Œ C++ 函å¼åº«ä¸ç›¸å®¹"
+
+-#: config/rs6000/rs6000.c:2288
++#: config/rs6000/rs6000.c:2320
+ #, gcc-internal-format
+ msgid "unknown -malign-XXXXX option specified: '%s'"
+ msgstr "指定了ä¸æ˜Žçš„ -malign-XXXXX é¸é …:「%sã€"
+
+-#: config/rs6000/rs6000.c:4989
++#: config/rs6000/rs6000.c:5087
+ #, gcc-internal-format
+ msgid "GCC vector returned by reference: non-standard ABI extension with no compatibility guarantee"
+ msgstr "GCC 回傳å‘é‡åƒç…§ï¼šéžæ¨™æº–çš„ ABI 擴充,ä¸ä¿è­‰ç›¸å®¹æ€§"
+
+-#: config/rs6000/rs6000.c:5062
++#: config/rs6000/rs6000.c:5160
+ #, gcc-internal-format
+ msgid "cannot return value in vector register because altivec instructions are disabled, use -maltivec to enable them"
+ msgstr "ä¸èƒ½åœ¨å‘é‡æš«å­˜å™¨ä¸­å›žå‚³å€¼ï¼Œå› ç‚º altivec 指令集已被åœç”¨ï¼Œä½¿ç”¨ -maltivec 啟用"
+
+-#: config/rs6000/rs6000.c:5320
++#: config/rs6000/rs6000.c:5418
+ #, gcc-internal-format
+ msgid "cannot pass argument in vector register because altivec instructions are disabled, use -maltivec to enable them"
+ msgstr "ä¸èƒ½åœ¨å‘é‡æš«å­˜å™¨ä¸­å‚³éžåƒæ•¸ï¼Œå› ç‚º altivec 指令集已被åœç”¨ï¼Œä½¿ç”¨ -maltivec 啟用"
+
+-#: config/rs6000/rs6000.c:6221
++#: config/rs6000/rs6000.c:6322
+ #, gcc-internal-format
+ msgid "GCC vector passed by reference: non-standard ABI extension with no compatibility guarantee"
+ msgstr "GCC 傳éžå‘é‡åƒç…§ï¼šéžæ¨™æº–çš„ ABI 擴充,ä¸ä¿è­‰ç›¸å®¹æ€§"
+
+-#: config/rs6000/rs6000.c:7461
++#: config/rs6000/rs6000.c:7568
+ #, gcc-internal-format
+ msgid "argument 1 must be a 5-bit signed literal"
+ msgstr "引數 1 必須是一個 5 ä½æœ‰è™Ÿå­—é¢å€¼"
+
+-#: config/rs6000/rs6000.c:7564 config/rs6000/rs6000.c:8475
++#: config/rs6000/rs6000.c:7671 config/rs6000/rs6000.c:8582
+ #, gcc-internal-format
+ msgid "argument 2 must be a 5-bit unsigned literal"
+ msgstr "引數 2 必須是一個 5 ä½ç„¡è™Ÿå­—é¢å€¼"
+
+-#: config/rs6000/rs6000.c:7604
++#: config/rs6000/rs6000.c:7711
+ #, gcc-internal-format
+ msgid "argument 1 of __builtin_altivec_predicate must be a constant"
+ msgstr "__builtin_altivec_predicate 的第一個引數必須是常數"
+
+-#: config/rs6000/rs6000.c:7657
++#: config/rs6000/rs6000.c:7764
+ #, gcc-internal-format
+ msgid "argument 1 of __builtin_altivec_predicate is out of range"
+ msgstr "__builtin_altivec_predicate 的第 1 個引數越界"
+
+-#: config/rs6000/rs6000.c:7906
++#: config/rs6000/rs6000.c:8013
+ #, gcc-internal-format
+ msgid "argument 3 must be a 4-bit unsigned literal"
+ msgstr "引數 3 必須是一個 4 ä½ç„¡è™Ÿå­—é¢å€¼"
+
+-#: config/rs6000/rs6000.c:8078
++#: config/rs6000/rs6000.c:8185
+ #, gcc-internal-format
+ msgid "argument to %qs must be a 2-bit unsigned literal"
+ msgstr "%qs 的引數必須是一個 2 ä½ç„¡è™ŸåŽŸæ–‡"
+
+-#: config/rs6000/rs6000.c:8220
++#: config/rs6000/rs6000.c:8327
+ #, gcc-internal-format
+ msgid "unresolved overload for Altivec builtin %qF"
+ msgstr ""
+
+-#: config/rs6000/rs6000.c:8302
++#: config/rs6000/rs6000.c:8409
+ #, gcc-internal-format
+ msgid "argument to dss must be a 2-bit unsigned literal"
+ msgstr "dss 的引數必須是一個 2 ä½ç„¡è™ŸåŽŸæ–‡"
+
+-#: config/rs6000/rs6000.c:8595
++#: config/rs6000/rs6000.c:8702
+ #, fuzzy, gcc-internal-format
+ msgid "argument 1 of __builtin_paired_predicate must be a constant"
+ msgstr "__builtin_spe_predicate 的第一個引數必須是常數"
+
+-#: config/rs6000/rs6000.c:8642
++#: config/rs6000/rs6000.c:8749
+ #, fuzzy, gcc-internal-format
+ msgid "argument 1 of __builtin_paired_predicate is out of range"
+ msgstr "__builtin_spe_predicate 的第 1 個引數越界"
+
+-#: config/rs6000/rs6000.c:8667
++#: config/rs6000/rs6000.c:8774
+ #, gcc-internal-format
+ msgid "argument 1 of __builtin_spe_predicate must be a constant"
+ msgstr "__builtin_spe_predicate 的第一個引數必須是常數"
+
+-#: config/rs6000/rs6000.c:8739
++#: config/rs6000/rs6000.c:8846
+ #, gcc-internal-format
+ msgid "argument 1 of __builtin_spe_predicate is out of range"
+ msgstr "__builtin_spe_predicate 的第 1 個引數越界"
+
+-#: config/rs6000/rs6000.c:14977
++#: config/rs6000/rs6000.c:15189
+ #, gcc-internal-format
+ msgid "stack frame too large"
+ msgstr "堆疊框架太大"
+
+-#: config/rs6000/rs6000.c:17598
++#: config/rs6000/rs6000.c:17811
+ #, gcc-internal-format
+ msgid "no profiling of 64-bit code for this ABI"
+ msgstr "æ­¤ ABI ä¸æ”¯æ´å–樣 64 ä½å…ƒç¨‹å¼ç¢¼"
+
+-#: config/rs6000/rs6000.c:19470
++#: config/rs6000/rs6000.c:19687
+ #, gcc-internal-format
+ msgid "use of %<long%> in AltiVec types is invalid for 64-bit code"
+ msgstr "å°æ–¼ 64 ä½å…ƒç¨‹å¼ç¢¼åœ¨ AltiVec 類型中使用 %<long%> 無效"
+
+-#: config/rs6000/rs6000.c:19472
++#: config/rs6000/rs6000.c:19689
+ #, gcc-internal-format
+ msgid "use of %<long%> in AltiVec types is deprecated; use %<int%>"
+ msgstr "在 AltiVec 類型中使用 %<long%> å·²éŽæ™‚;請改用 %<int%>"
+
+-#: config/rs6000/rs6000.c:19476
++#: config/rs6000/rs6000.c:19693
+ #, gcc-internal-format
+ msgid "use of %<long long%> in AltiVec types is invalid"
+ msgstr "在 AltiVec 類型中使用 %<long long%> 無效"
+
+-#: config/rs6000/rs6000.c:19478
++#: config/rs6000/rs6000.c:19695
+ #, gcc-internal-format
+ msgid "use of %<double%> in AltiVec types is invalid"
+ msgstr "在 AltiVec 類型中使用 %<double%> 無效"
+
+-#: config/rs6000/rs6000.c:19480
++#: config/rs6000/rs6000.c:19697
+ #, gcc-internal-format
+ msgid "use of %<long double%> in AltiVec types is invalid"
+ msgstr "在 AltiVec 類型中使用 %<long double%> 無效"
+
+-#: config/rs6000/rs6000.c:19482
++#: config/rs6000/rs6000.c:19699
+ #, gcc-internal-format
+ msgid "use of boolean types in AltiVec types is invalid"
+ msgstr "在 AltiVec 類型中使用布林類型無效"
+
+-#: config/rs6000/rs6000.c:19484
++#: config/rs6000/rs6000.c:19701
+ #, gcc-internal-format
+ msgid "use of %<complex%> in AltiVec types is invalid"
+ msgstr "在 AltiVec 類型中使用 %<complex%> 無效"
+
+-#: config/rs6000/rs6000.c:19486
++#: config/rs6000/rs6000.c:19703
+ #, fuzzy, gcc-internal-format
+ msgid "use of decimal floating point types in AltiVec types is invalid"
+ msgstr "在 AltiVec 類型中使用布林類型無效"
+
+ #: config/rs6000/aix43.h:38 config/rs6000/aix51.h:37 config/rs6000/aix52.h:38
+-#: config/rs6000/aix53.h:38
++#: config/rs6000/aix53.h:38 config/rs6000/aix61.h:38
+ #, gcc-internal-format
+ msgid "-maix64 and POWER architecture are incompatible"
+ msgstr "-maix64 å’Œ POWER 架構互ä¸ç›¸å®¹"
+
+ #: config/rs6000/aix43.h:43 config/rs6000/aix51.h:42 config/rs6000/aix52.h:43
+-#: config/rs6000/aix53.h:43
++#: config/rs6000/aix53.h:43 config/rs6000/aix61.h:43
+ #, gcc-internal-format
+ msgid "-maix64 requires PowerPC64 architecture remain enabled"
+ msgstr "-maix64 éœ€è¦ PowerPC64 架構被啟用"
+
+ #: config/rs6000/aix43.h:49 config/rs6000/aix52.h:49 config/rs6000/aix53.h:49
++#: config/rs6000/aix61.h:49
+ #, gcc-internal-format
+ msgid "soft-float and long-double-128 are incompatible"
+ msgstr "soft-float 與 long-double-128 互ä¸ç›¸å®¹"
+
+ #: config/rs6000/aix43.h:53 config/rs6000/aix51.h:46 config/rs6000/aix52.h:53
+-#: config/rs6000/aix53.h:53
++#: config/rs6000/aix53.h:53 config/rs6000/aix61.h:53
+ #, gcc-internal-format
+ msgid "-maix64 required: 64-bit computation with 32-bit addressing not yet supported"
+ msgstr "éœ€è¦ -maix64:目å‰å°šä¸æ”¯æ´ 64 ä½å…ƒè¨ˆç®—å’Œ 32 ä½å…ƒå®šå€æ··ç”¨"
+@@ -26187,7 +26162,7 @@
+ #. Number of bytes into the frame return addresses can be found. See
+ #. rs6000_stack_info in rs6000.c for more information on how the different
+ #. abi's store the return address.
+-#: config/rs6000/rs6000.h:1560
++#: config/rs6000/rs6000.h:1569
+ #, gcc-internal-format
+ msgid "RETURN_ADDRESS_OFFSET not supported"
+ msgstr "RETURN_ADDRESS_OFFSET ä¸å—支æ´"
+@@ -26310,22 +26285,22 @@
+ msgid "-mstack-guard implies use of -mstack-size"
+ msgstr "-mstack-guard æ„味著使用 -mstack-size"
+
+-#: config/s390/s390.c:6640
++#: config/s390/s390.c:6679
+ #, gcc-internal-format
+ msgid "total size of local variables exceeds architecture limit"
+ msgstr "局部變數大å°ç¸½å’Œè¶…éŽæž¶æ§‹æ¥µå€¼ã€‚"
+
+-#: config/s390/s390.c:7298
++#: config/s390/s390.c:7349
+ #, fuzzy, gcc-internal-format
+ msgid "frame size of function %qs is "
+ msgstr "%qs 的框架大å°æ˜¯"
+
+-#: config/s390/s390.c:7328
++#: config/s390/s390.c:7379
+ #, gcc-internal-format
+ msgid "frame size of %qs is "
+ msgstr "%qs 的框架大å°æ˜¯"
+
+-#: config/s390/s390.c:7332
++#: config/s390/s390.c:7383
+ #, gcc-internal-format
+ msgid "%qs uses dynamic stack allocation"
+ msgstr "%qs 使用動態堆疊指派"
+@@ -26335,44 +26310,44 @@
+ msgid "-fPIC and -G are incompatible"
+ msgstr "-fPIC 與 -mcall-%s 互ä¸ç›¸å®¹"
+
+-#: config/sh/sh.c:6894
++#: config/sh/sh.c:6897
+ #, gcc-internal-format
+ msgid "__builtin_saveregs not supported by this subtarget"
+ msgstr "__builtin_saveregs 在此å­ç›®çš„上ä¸å—支æ´"
+
+-#: config/sh/sh.c:7904
++#: config/sh/sh.c:7907
+ #, gcc-internal-format
+ msgid "%qs attribute only applies to interrupt functions"
+ msgstr "%qs 屬性åªèƒ½å¥—用到æ’斷函å¼ä¸Š"
+
+-#: config/sh/sh.c:7990
++#: config/sh/sh.c:7993
+ #, gcc-internal-format
+ msgid "attribute interrupt_handler is not compatible with -m5-compact"
+ msgstr "屬性 interrupt_handler 與 -m5-compact ä¸ç›¸å®¹"
+
+ #. The argument must be a constant string.
+-#: config/sh/sh.c:8012
++#: config/sh/sh.c:8015
+ #, gcc-internal-format
+ msgid "%qs attribute argument not a string constant"
+ msgstr "%qs 屬性的åƒæ•¸ä¸æ˜¯ä¸€å€‹å­—串常數"
+
+ #. The argument must be a constant integer.
+-#: config/sh/sh.c:8037
++#: config/sh/sh.c:8040
+ #, gcc-internal-format
+ msgid "%qs attribute argument not an integer constant"
+ msgstr "%qs 屬性的åƒæ•¸ä¸æ˜¯ä¸€å€‹æ•´åž‹å¸¸æ•¸"
+
+-#: config/sh/sh.c:10085
++#: config/sh/sh.c:10084
+ #, gcc-internal-format
+ msgid "r0 needs to be available as a call-clobbered register"
+ msgstr "r0 需è¦åšç‚ºå‘¼å«ç¯¡æ”¹çš„暫存器"
+
+-#: config/sh/sh.c:10106
++#: config/sh/sh.c:10105
+ #, gcc-internal-format
+ msgid "Need a second call-clobbered general purpose register"
+ msgstr "需è¦å¦ä¸€å€‹å‘¼å«ç¯¡æ”¹çš„通用暫存器"
+
+-#: config/sh/sh.c:10114
++#: config/sh/sh.c:10113
+ #, gcc-internal-format
+ msgid "Need a call-clobbered target register"
+ msgstr "需è¦ä¸€å€‹å‘¼å«ç¯¡æ”¹çš„通用暫存器"
+@@ -26402,7 +26377,7 @@
+ msgid "%s %q+D %s after being referenced with dllimport linkage"
+ msgstr "%s %q+D %s 已被åšç‚º dllimport 連çµåƒç…§éŽã€‚"
+
+-#: config/sh/symbian.c:891 cp/tree.c:2737
++#: config/sh/symbian.c:891 cp/tree.c:2753
+ #, gcc-internal-format
+ msgid "lang_* check: failed in %s, at %s:%d"
+ msgstr "lang_* check:在 %s 中失敗,於 %s:%d"
+@@ -26445,17 +26420,17 @@
+ msgid "-mrelax is only supported for RTP PIC"
+ msgstr "TPF-OS ä¸æ”¯æ´ static"
+
+-#: config/sparc/sparc.c:698
++#: config/sparc/sparc.c:701
+ #, gcc-internal-format
+ msgid "%s is not supported by this configuration"
+ msgstr "%s ä¸ç‚ºé€™å€‹é…置所支æ´"
+
+-#: config/sparc/sparc.c:705
++#: config/sparc/sparc.c:708
+ #, gcc-internal-format
+ msgid "-mlong-double-64 not allowed with -m64"
+ msgstr "-mlong-double-64 ä¸å…許與 -m64 一起使用"
+
+-#: config/sparc/sparc.c:730
++#: config/sparc/sparc.c:733
+ #, gcc-internal-format
+ msgid "-mcmodel= is not supported on 32 bit systems"
+ msgstr "32 ä½å…ƒç³»çµ±ä¸æ”¯æ´ -mcmodel="
+@@ -26475,67 +26450,57 @@
+ msgid "parameter list does not match a valid signature for %s()"
+ msgstr ""
+
+-#: config/spu/spu.c:337 config/spu/spu.c:348
++#: config/spu/spu.c:341 config/spu/spu.c:352
+ #, fuzzy, gcc-internal-format
+ msgid "Unknown architecture '%s'"
+ msgstr "ä¸æ˜Žçš„æ©Ÿå™¨æ¨¡å¼ %qs"
+
+-#: config/spu/spu.c:3034
++#: config/spu/spu.c:3023
+ #, fuzzy, gcc-internal-format
+ msgid "`%s' attribute ignored"
+ msgstr "忽略 %qs 屬性"
+
+-#: config/spu/spu.c:5218
++#: config/spu/spu.c:5207
+ #, fuzzy, gcc-internal-format
+ msgid "%s expects an integer literal in the range [%d, %d]."
+ msgstr "é¸æ“‡å­å¿…須是 0 到 %wi 間的整常數"
+
+-#: config/spu/spu.c:5238
++#: config/spu/spu.c:5227
+ #, fuzzy, gcc-internal-format
+ msgid "%s expects an integer literal in the range [%d, %d]. ("
+ msgstr "é¸æ“‡å­å¿…須是 0 到 %wi 間的整常數"
+
+-#: config/spu/spu.c:5268
++#: config/spu/spu.c:5257
+ #, gcc-internal-format
+ msgid "%d least significant bits of %s are ignored."
+ msgstr ""
+
+-#: config/stormy16/stormy16.c:499
++#: config/stormy16/stormy16.c:1080
+ #, gcc-internal-format
+-msgid "constant halfword load operand out of range"
+-msgstr "常數åŠå­—載入é‹ç®—元超éŽç¯„åœ"
+-
+-#: config/stormy16/stormy16.c:509
+-#, gcc-internal-format
+-msgid "constant arithmetic operand out of range"
+-msgstr "常數算術é‹ç®—元超éŽç¯„åœ"
+-
+-#: config/stormy16/stormy16.c:1108
+-#, gcc-internal-format
+ msgid "local variable memory requirements exceed capacity"
+ msgstr "局部變數記憶體需求超éŽå®¹é‡é™åˆ¶"
+
+-#: config/stormy16/stormy16.c:1274
++#: config/stormy16/stormy16.c:1246
+ #, gcc-internal-format
+ msgid "function_profiler support"
+ msgstr "function_profiler 支æ´"
+
+-#: config/stormy16/stormy16.c:1363
++#: config/stormy16/stormy16.c:1335
+ #, gcc-internal-format
+ msgid "cannot use va_start in interrupt function"
+ msgstr "ä¸èƒ½ç‚ºæ’斷函å¼ä½¿ç”¨ va_start"
+
+-#: config/stormy16/stormy16.c:1906
++#: config/stormy16/stormy16.c:1879
+ #, gcc-internal-format
+ msgid "switch statement of size %lu entries too large"
+ msgstr "switch 敘述太大(%lu 個æ¢ç›®)"
+
+-#: config/stormy16/stormy16.c:2274
++#: config/stormy16/stormy16.c:2247
+ #, gcc-internal-format
+ msgid "%<__BELOW100__%> attribute only applies to variables"
+ msgstr "屬性 %<__BELOW100__%> åªå°è®Šæ•¸é¡žåž‹èµ·ä½œç”¨"
+
+-#: config/stormy16/stormy16.c:2281
++#: config/stormy16/stormy16.c:2254
+ #, gcc-internal-format
+ msgid "__BELOW100__ attribute not allowed with auto storage class"
+ msgstr "__BELOW100__ 屬性ä¸å…許用於自動存儲類別"
+@@ -26660,345 +26625,345 @@
+ msgid "too much stack space to prepare: %d"
+ msgstr "è¦æº–備太多的堆疊空間:%d"
+
+-#: config/xtensa/xtensa.c:1861
++#: config/xtensa/xtensa.c:1865
+ #, gcc-internal-format
+ msgid "boolean registers required for the floating-point option"
+ msgstr "浮點é¸é …需è¦å¸ƒæž—暫存器"
+
+-#: config/xtensa/xtensa.c:1896
++#: config/xtensa/xtensa.c:1900
+ #, gcc-internal-format
+ msgid "-f%s is not supported with CONST16 instructions"
+ msgstr "CONST16 指令ä¸æ”¯æ´ -f%s"
+
+-#: config/xtensa/xtensa.c:1901
++#: config/xtensa/xtensa.c:1905
+ #, gcc-internal-format
+ msgid "PIC is required but not supported with CONST16 instructions"
+ msgstr "éœ€è¦ PIC,但 CONST16 指令ä¸æ”¯æ´"
+
+-#: config/xtensa/xtensa.c:2745 config/xtensa/xtensa.c:2765
++#: config/xtensa/xtensa.c:2770 config/xtensa/xtensa.c:2790
+ #, fuzzy, gcc-internal-format
+ msgid "bad builtin code"
+ msgstr "錯誤的內建 fcode"
+
+-#: config/xtensa/xtensa.c:2873
++#: config/xtensa/xtensa.c:2898
+ #, gcc-internal-format
+ msgid "only uninitialized variables can be placed in a .bss section"
+ msgstr "åªæœ‰æœªåˆå§‹åŒ–的變數æ‰èƒ½æ”¾åœ¨ .bss å€æ®µä¸­"
+
+-#: ada/misc.c:261
++#: ada/misc.c:260
+ #, gcc-internal-format
+ msgid "missing argument to \"-%s\""
+ msgstr "「-%sã€ç¼ºå°‘åƒæ•¸"
+
+-#: ada/misc.c:311
++#: ada/misc.c:310
+ #, gcc-internal-format
+ msgid "%<-gnat%> misspelled as %<-gant%>"
+ msgstr "%<-gnat%> 被錯誤地拼寫為 %<-gant%>"
+
+-#: cp/call.c:2462
++#: cp/call.c:2448
+ #, gcc-internal-format
+ msgid "%s %D(%T, %T, %T) <built-in>"
+ msgstr "%s %D(%T, %T, %T) <內建>"
+
+-#: cp/call.c:2467
++#: cp/call.c:2453
+ #, gcc-internal-format
+ msgid "%s %D(%T, %T) <built-in>"
+ msgstr "%s %D(%T, %T) <內建>"
+
+-#: cp/call.c:2471
++#: cp/call.c:2457
+ #, gcc-internal-format
+ msgid "%s %D(%T) <built-in>"
+ msgstr "%s %D(%T) <內建>"
+
+-#: cp/call.c:2475
++#: cp/call.c:2461
+ #, gcc-internal-format
+ msgid "%s %T <conversion>"
+ msgstr "%s %T <轉æ›>"
+
+-#: cp/call.c:2477
++#: cp/call.c:2463
+ #, gcc-internal-format
+ msgid "%s %+#D <near match>"
+ msgstr "%s %+#D <就近匹é…>"
+
+-#: cp/call.c:2479 cp/pt.c:1397
++#: cp/call.c:2465 cp/pt.c:1405
+ #, gcc-internal-format
+ msgid "%s %+#D"
+ msgstr "%s %+#D"
+
+-#: cp/call.c:2720
++#: cp/call.c:2706
+ #, gcc-internal-format
+ msgid "conversion from %qT to %qT is ambiguous"
+ msgstr "從 %qT 到 %qT 的轉æ›æœ‰æ­§ç¾©"
+
+-#: cp/call.c:2873 cp/call.c:2891 cp/call.c:2954
++#: cp/call.c:2859 cp/call.c:2877 cp/call.c:2940
+ #, gcc-internal-format
+ msgid "no matching function for call to %<%D(%A)%>"
+ msgstr "å° %<%D(%A)%> 的呼å«æ²’有匹é…的函å¼"
+
+-#: cp/call.c:2894 cp/call.c:2957
++#: cp/call.c:2880 cp/call.c:2943
+ #, gcc-internal-format
+ msgid "call of overloaded %<%D(%A)%> is ambiguous"
+ msgstr "呼å«å¤šè¼‰çš„ %<%D(%A)%> 有歧義"
+
+ #. It's no good looking for an overloaded operator() on a
+ #. pointer-to-member-function.
+-#: cp/call.c:3029
++#: cp/call.c:3015
+ #, gcc-internal-format
+ msgid "pointer-to-member function %E cannot be called without an object; consider using .* or ->*"
+ msgstr "沒有物件ä¸èƒ½å‘¼å«æˆå“¡å‡½å¼æŒ‡æ¨™ %E,考慮使用 .* 或 ->*"
+
+-#: cp/call.c:3103
++#: cp/call.c:3089
+ #, gcc-internal-format
+ msgid "no match for call to %<(%T) (%A)%>"
+ msgstr "å° %<(%T) (%A)%> 的呼å«æ²’有匹é…"
+
+-#: cp/call.c:3112
++#: cp/call.c:3098
+ #, gcc-internal-format
+ msgid "call of %<(%T) (%A)%> is ambiguous"
+ msgstr "å° %<(%T) (%A)%> 的呼å«æœ‰æ­§ç¾©"
+
+-#: cp/call.c:3150
++#: cp/call.c:3136
+ #, gcc-internal-format
+ msgid "%s for ternary %<operator?:%> in %<%E ? %E : %E%>"
+ msgstr "%s 為三元 %<operator?:%> 在 %<%E ? %E : %E%> 中"
+
+-#: cp/call.c:3156
++#: cp/call.c:3142
+ #, gcc-internal-format
+ msgid "%s for %<operator%s%> in %<%E%s%>"
+ msgstr "%s 為 %<operator%s%> 在 %<%E%s%> 中"
+
+-#: cp/call.c:3160
++#: cp/call.c:3146
+ #, gcc-internal-format
+ msgid "%s for %<operator[]%> in %<%E[%E]%>"
+ msgstr "%s 為 %<operator[]%> 在 %<%E[%E]%> 中"
+
+-#: cp/call.c:3165
++#: cp/call.c:3151
+ #, gcc-internal-format
+ msgid "%s for %qs in %<%s %E%>"
+ msgstr "%s 為 %qs 在 %<%s %E%>"
+
+-#: cp/call.c:3170
++#: cp/call.c:3156
+ #, gcc-internal-format
+ msgid "%s for %<operator%s%> in %<%E %s %E%>"
+ msgstr "%s 為 %<operator%s%> 在 %<%E %s %E%> 中"
+
+-#: cp/call.c:3173
++#: cp/call.c:3159
+ #, gcc-internal-format
+ msgid "%s for %<operator%s%> in %<%s%E%>"
+ msgstr "%s 為 %<operator%s%> 在 %<%s%E%> 中"
+
+-#: cp/call.c:3265
++#: cp/call.c:3251
+ #, gcc-internal-format
+ msgid "ISO C++ forbids omitting the middle term of a ?: expression"
+ msgstr "ISO C ä¸å…許çœç•¥ ?: é‹ç®—å¼ä¸­çš„第二項"
+
+-#: cp/call.c:3343
++#: cp/call.c:3329
+ #, gcc-internal-format
+ msgid "second operand to the conditional operator is of type %<void%>, but the third operand is neither a throw-expression nor of type %<void%>"
+ msgstr ""
+
+-#: cp/call.c:3348
++#: cp/call.c:3334
+ #, gcc-internal-format
+ msgid "third operand to the conditional operator is of type %<void%>, but the second operand is neither a throw-expression nor of type %<void%>"
+ msgstr ""
+
+-#: cp/call.c:3389 cp/call.c:3609
++#: cp/call.c:3375 cp/call.c:3595
+ #, fuzzy, gcc-internal-format
+ msgid "operands to ?: have different types %qT and %qT"
+ msgstr "?: çš„é‹ç®—元有ä¸åŒçš„é¡žåž‹"
+
+-#: cp/call.c:3563
++#: cp/call.c:3549
+ #, gcc-internal-format
+ msgid "enumeral mismatch in conditional expression: %qT vs %qT"
+ msgstr "æ¢ä»¶é‹ç®—å¼ä¸­åˆ—舉ä¸åŒ¹é…:%qT å° %qT"
+
+-#: cp/call.c:3570
++#: cp/call.c:3556
+ #, gcc-internal-format
+ msgid "enumeral and non-enumeral type in conditional expression"
+ msgstr "列舉和éžåˆ—舉類型一起出ç¾åœ¨æ¢ä»¶é‹ç®—å¼ä¸­"
+
+-#: cp/call.c:3874
++#: cp/call.c:3860
+ #, gcc-internal-format
+ msgid "no %<%D(int)%> declared for postfix %qs, trying prefix operator instead"
+ msgstr "%<%D(int)%> 沒有出ç¾åœ¨å­—å°¾ %qs 中,嘗試使用字首é‹ç®—å­"
+
+-#: cp/call.c:3947
++#: cp/call.c:3936
+ #, gcc-internal-format
+ msgid "comparison between %q#T and %q#T"
+ msgstr "在 %q#T 和 %q#T 間比較"
+
+-#: cp/call.c:4229
++#: cp/call.c:4218
+ #, gcc-internal-format
+ msgid "no corresponding deallocation function for `%D'"
+ msgstr ""
+
+-#: cp/call.c:4234
++#: cp/call.c:4223
+ #, gcc-internal-format
+ msgid "no suitable %<operator %s%> for %qT"
+ msgstr "沒有åˆé©çš„ %<operator %s%> 給 %qT"
+
+-#: cp/call.c:4252
++#: cp/call.c:4241
+ #, gcc-internal-format
+ msgid "%q+#D is private"
+ msgstr "%q+#D 是ç§æœ‰çš„"
+
+-#: cp/call.c:4254
++#: cp/call.c:4243
+ #, gcc-internal-format
+ msgid "%q+#D is protected"
+ msgstr "%q+#D 是ä¿è­·çš„"
+
+-#: cp/call.c:4256
++#: cp/call.c:4245
+ #, gcc-internal-format
+ msgid "%q+#D is inaccessible"
+ msgstr "%q+#D 無法存å–"
+
+-#: cp/call.c:4257
++#: cp/call.c:4246
+ #, gcc-internal-format
+ msgid "within this context"
+ msgstr "在此上下文中"
+
+-#: cp/call.c:4303
++#: cp/call.c:4292
+ #, gcc-internal-format
+ msgid "passing NULL to non-pointer argument %P of %qD"
+ msgstr "å°‡ NULL åšç‚ºéžæŒ‡æ¨™å¼•æ•¸ %P 傳éžçµ¦ %qD"
+
+-#: cp/call.c:4306
++#: cp/call.c:4295
+ #, gcc-internal-format
+ msgid "converting to non-pointer type %qT from NULL"
+ msgstr "å°‡ NULL 轉æ›åˆ°éžæŒ‡æ¨™é¡žåž‹ %qT"
+
+-#: cp/call.c:4312
++#: cp/call.c:4301
+ #, fuzzy, gcc-internal-format
+ msgid "converting %<false%> to pointer type for argument %P of %qD"
+ msgstr "ä¸èƒ½å¾ž %qT 轉æ›åˆ° %qT,為引數 %qP(屬於 %qD)"
+
+-#: cp/call.c:4356 cp/cvt.c:217
++#: cp/call.c:4346 cp/cvt.c:217
+ #, gcc-internal-format
+ msgid "invalid conversion from %qT to %qT"
+ msgstr "從類型 %qT 到類型 %qT 的轉æ›ç„¡æ•ˆ"
+
+-#: cp/call.c:4358
++#: cp/call.c:4348
+ #, gcc-internal-format
+ msgid " initializing argument %P of %qD"
+ msgstr " åˆå§‹åŒ–引數 %P,屬於 %qD"
+
+-#: cp/call.c:4491
++#: cp/call.c:4498
+ #, gcc-internal-format
+ msgid "cannot bind bitfield %qE to %qT"
+ msgstr "無法將ä½å…ƒæ®µ %qE 繫çµåˆ° %qT"
+
+-#: cp/call.c:4494 cp/call.c:4510
++#: cp/call.c:4501 cp/call.c:4517
+ #, gcc-internal-format
+ msgid "cannot bind packed field %qE to %qT"
+ msgstr "ä¸èƒ½å°‡ç·Šå¯¦çš„æ¬„ä½ %qE 繫çµåˆ° %qT"
+
+-#: cp/call.c:4497
++#: cp/call.c:4504
+ #, gcc-internal-format
+ msgid "cannot bind rvalue %qE to %qT"
+ msgstr "無法將å³å€¼ %qE 繫çµåˆ° %qT"
+
+-#: cp/call.c:4611
++#: cp/call.c:4620
+ #, gcc-internal-format
+ msgid "cannot pass objects of non-POD type %q#T through %<...%>; call will abort at runtime"
+ msgstr "ä¸èƒ½é€éŽ %<...%> 傳éžæœ‰éžç°¡å–®èˆŠè³‡æ–™é¡žåž‹ %q#T 的物件;呼å«æœƒåœ¨åŸ·è¡Œæ™‚中止"
+
+ #. Undefined behavior [expr.call] 5.2.2/7.
+-#: cp/call.c:4639
++#: cp/call.c:4648
+ #, gcc-internal-format
+ msgid "cannot receive objects of non-POD type %q#T through %<...%>; call will abort at runtime"
+ msgstr "ä¸èƒ½é€éŽ %<...%> 接å—有éžç°¡å–®èˆŠè³‡æ–™é¡žåž‹ %q#T 的物件;呼å«æœƒåœ¨åŸ·è¡Œæ™‚中止"
+
+-#: cp/call.c:4687
++#: cp/call.c:4696
+ #, gcc-internal-format
+ msgid "the default argument for parameter %d of %qD has not yet been parsed"
+ msgstr "åƒæ•¸ %d(屬於 %qD)尚未被解æžåˆ°"
+
+-#: cp/call.c:4697
++#: cp/call.c:4706
+ #, fuzzy, gcc-internal-format
+ msgid "recursive evaluation of default argument for %q#D"
+ msgstr "é‡å®šç¾© %q#D çš„é è¨­åƒæ•¸"
+
+-#: cp/call.c:4802
++#: cp/call.c:4811
+ #, gcc-internal-format
+ msgid "argument of function call might be a candidate for a format attribute"
+ msgstr "函å¼çš„引數å¯èƒ½æ˜¯ format 屬性的備é¸"
+
+-#: cp/call.c:4950
++#: cp/call.c:4959
+ #, gcc-internal-format
+ msgid "passing %qT as %<this%> argument of %q#D discards qualifiers"
+ msgstr "å°‡ %qT åšç‚º %q#D çš„ %<this%> 引數時丟棄了類型é™å®š"
+
+-#: cp/call.c:4969
++#: cp/call.c:4978
+ #, gcc-internal-format
+ msgid "%qT is not an accessible base of %qT"
+ msgstr "%qT 是 %qT 的一個ä¸å¯å­˜å–的基礎類別"
+
+-#: cp/call.c:5229
++#: cp/call.c:5238
+ #, gcc-internal-format
+ msgid "could not find class$ field in java interface type %qT"
+ msgstr "在 java 介é¢é¡žåž‹ %qT 中找ä¸åˆ° class$ 欄ä½"
+
+-#: cp/call.c:5470
++#: cp/call.c:5479
+ #, gcc-internal-format
+ msgid "call to non-function %qD"
+ msgstr "呼å«éžå‡½å¼çš„ %qD"
+
+-#: cp/call.c:5595
++#: cp/call.c:5604
+ #, gcc-internal-format
+ msgid "no matching function for call to %<%T::%s(%A)%#V%>"
+ msgstr "å° %<%T::%s(%A)%#V%> 的呼å«æ²’有匹é…的函å¼"
+
+-#: cp/call.c:5613
++#: cp/call.c:5622
+ #, gcc-internal-format
+ msgid "call of overloaded %<%s(%A)%> is ambiguous"
+ msgstr "å°å¤šè¼‰çš„ %<%s(%A)%> 的呼å«æœ‰æ­§ç¾©"
+
+-#: cp/call.c:5639
++#: cp/call.c:5648
+ #, gcc-internal-format
+ msgid "cannot call member function %qD without object"
+ msgstr "沒有物件無法呼å«æˆå“¡å‡½å¼ %qD"
+
+-#: cp/call.c:6283
++#: cp/call.c:6307
+ #, gcc-internal-format
+ msgid "passing %qT chooses %qT over %qT"
+ msgstr "å‚³éž %qT 時é¸æ“‡ %qT 而ä¸æ˜¯ %qT"
+
+-#: cp/call.c:6285 cp/name-lookup.c:4320 cp/name-lookup.c:4753
++#: cp/call.c:6309 cp/name-lookup.c:4322 cp/name-lookup.c:4757
+ #, gcc-internal-format
+ msgid " in call to %qD"
+ msgstr " åœ¨å‘¼å« %qD 時"
+
+-#: cp/call.c:6342
++#: cp/call.c:6366
+ #, gcc-internal-format
+ msgid "choosing %qD over %qD"
+ msgstr "é¸æ“‡ %qD 而ä¸æ˜¯ %qD"
+
+-#: cp/call.c:6343
++#: cp/call.c:6367
+ #, gcc-internal-format
+ msgid " for conversion from %qT to %qT"
+ msgstr " 當從 %qT 轉æ›ç‚º %qT 時"
+
+-#: cp/call.c:6345
++#: cp/call.c:6369
+ #, gcc-internal-format
+ msgid " because conversion sequence for the argument is better"
+ msgstr " 因為å‰è€…的引數類型轉æ›åºåˆ—更好"
+
+-#: cp/call.c:6459
++#: cp/call.c:6483
+ #, 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 "ISO C++ èªç‚ºæœ‰æ­§ç¾©ï¼Œç›¡ç®¡ç¬¬ä¸€å€‹å‚™é¸çš„最差類型轉æ›è¦å¥½æ–¼ç¬¬äºŒå€‹å‚™é¸çš„最差類型轉æ›"
+
+-#: cp/call.c:6603
++#: cp/call.c:6627
+ #, gcc-internal-format
+ msgid "could not convert %qE to %qT"
+ msgstr "ä¸èƒ½å°‡ %qE 轉æ›ç‚º %qT"
+
+-#: cp/call.c:6737
++#: cp/call.c:6761
+ #, gcc-internal-format
+ msgid "invalid initialization of non-const reference of type %qT from a temporary of type %qT"
+ msgstr "將類型為 %qT çš„éž const åƒç…§åˆå§‹åŒ–為類型為 %qT 的臨時變數無效"
+
+-#: cp/call.c:6741
++#: cp/call.c:6765
+ #, gcc-internal-format
+ msgid "invalid initialization of reference of type %qT from expression of type %qT"
+ msgstr "將類型為 %qT çš„åƒç…§åˆå§‹åŒ–為類型為 %qT çš„é‹ç®—å¼ç„¡æ•ˆ"
+@@ -27008,343 +26973,343 @@
+ msgid "cannot convert from base %qT to derived type %qT via virtual base %qT"
+ msgstr "無法從基礎類別 %qT 轉æ›åˆ°è¡ç”Ÿé¡žåˆ¥ %qT,é€éŽè™›åŸºç¤Žé¡žåˆ¥ %qT"
+
+-#: cp/class.c:961
++#: cp/class.c:971
+ #, gcc-internal-format
+ msgid "Java class %qT cannot have a destructor"
+ msgstr "Java 類別 %qT ä¸èƒ½æœ‰è§£æ§‹å‡½å¼"
+
+-#: cp/class.c:963
++#: cp/class.c:973
+ #, gcc-internal-format
+ msgid "Java class %qT cannot have an implicit non-trivial destructor"
+ msgstr "Java 類別 %qT ä¸èƒ½æœ‰éš±å«çš„éžå¹³å‡¡çš„解構函å¼"
+
+-#: cp/class.c:1062
++#: cp/class.c:1074
+ #, gcc-internal-format
+ msgid "repeated using declaration %q+D"
+ msgstr "é‡è¤‡çš„ using 宣告 %q+D"
+
+-#: cp/class.c:1064
++#: cp/class.c:1076
+ #, gcc-internal-format
+ msgid "using declaration %q+D conflicts with a previous using declaration"
+ msgstr "using 宣告 %q+D 與先å‰çš„一個 using 宣告è¡çª"
+
+-#: cp/class.c:1069
++#: cp/class.c:1081
+ #, gcc-internal-format
+ msgid "%q+#D cannot be overloaded"
+ msgstr "%q+#D 無法被多載"
+
+-#: cp/class.c:1070
++#: cp/class.c:1082
+ #, gcc-internal-format
+ msgid "with %q+#D"
+ msgstr "與 %q+#D"
+
+-#: cp/class.c:1137
++#: cp/class.c:1149
+ #, gcc-internal-format
+ msgid "conflicting access specifications for method %q+D, ignored"
+ msgstr "方法 %q+D 的權é™è¨­å®šè¡çªï¼Œå·²å¿½ç•¥"
+
+-#: cp/class.c:1140
++#: cp/class.c:1152
+ #, gcc-internal-format
+ msgid "conflicting access specifications for field %qE, ignored"
+ msgstr "æ¬„ä½ %qE 的權é™è¨­å®šè¡çªï¼Œå·²å¿½ç•¥"
+
+-#: cp/class.c:1201 cp/class.c:1209
++#: cp/class.c:1213 cp/class.c:1221
+ #, gcc-internal-format
+ msgid "%q+D invalid in %q#T"
+ msgstr "%q+D 無效,在 %q#T 中"
+
+-#: cp/class.c:1202
++#: cp/class.c:1214
+ #, gcc-internal-format
+ msgid " because of local method %q+#D with same name"
+ msgstr " 因為局部方法 %q+#D 與之åŒå"
+
+-#: cp/class.c:1210
++#: cp/class.c:1222
+ #, gcc-internal-format
+ msgid " because of local member %q+#D with same name"
+ msgstr " 因為局部æˆå“¡ %q+#D 與之åŒå"
+
+-#: cp/class.c:1253
++#: cp/class.c:1265
+ #, gcc-internal-format
+ msgid "base class %q#T has a non-virtual destructor"
+ msgstr "基礎類別 %q#T 有一個éžè™›è§£æ§‹å‡½å¼"
+
+-#: cp/class.c:1570
++#: cp/class.c:1582
+ #, gcc-internal-format
+ msgid "all member functions in class %qT are private"
+ msgstr "類別 %qT 中所有æˆå“¡å‡½å¼éƒ½æ˜¯ç§æœ‰çš„"
+
+-#: cp/class.c:1582
++#: cp/class.c:1594
+ #, gcc-internal-format
+ msgid "%q#T only defines a private destructor and has no friends"
+ msgstr "%q#T 僅定義了一個ç§æœ‰è§£æ§‹å‡½å¼ä¸”沒有夥伴"
+
+-#: cp/class.c:1626
++#: cp/class.c:1639
+ #, gcc-internal-format
+ msgid "%q#T only defines private constructors and has no friends"
+ msgstr "%q#T 僅定義了一個ç§æœ‰å»ºæ§‹å¼ä¸”沒有夥伴"
+
+-#: cp/class.c:2019
++#: cp/class.c:2032
+ #, gcc-internal-format
+ msgid "no unique final overrider for %qD in %qT"
+ msgstr "%qD 的最終多載在 %qT 中ä¸å”¯ä¸€"
+
+ #. Here we know it is a hider, and no overrider exists.
+-#: cp/class.c:2439
++#: cp/class.c:2452
+ #, gcc-internal-format
+ msgid "%q+D was hidden"
+ msgstr "%q+D 被隱è—"
+
+-#: cp/class.c:2440
++#: cp/class.c:2453
+ #, gcc-internal-format
+ msgid " by %q+D"
+ msgstr " 為 %q+D"
+
+-#: cp/class.c:2483 cp/decl2.c:1135
++#: cp/class.c:2496 cp/decl2.c:1178
+ #, gcc-internal-format
+ msgid "%q+#D invalid; an anonymous union can only have non-static data members"
+ msgstr "%q+#D 無效;匿åè¯åˆåªèƒ½æœ‰éžéœæ…‹çš„資料æˆå“¡"
+
+-#: cp/class.c:2486
++#: cp/class.c:2499
+ #, fuzzy, gcc-internal-format
+ msgid "%q+#D invalid; an anonymous struct can only have non-static data members"
+ msgstr "%q+#D 無效;匿åè¯åˆåªèƒ½æœ‰éžéœæ…‹çš„資料æˆå“¡"
+
+-#: cp/class.c:2494 cp/decl2.c:1141
++#: cp/class.c:2507 cp/decl2.c:1184
+ #, gcc-internal-format
+ msgid "private member %q+#D in anonymous union"
+ msgstr "匿åè¯åˆä¸­å‡ºç¾ç§æœ‰æˆå“¡ %q+#D"
+
+-#: cp/class.c:2496
++#: cp/class.c:2509
+ #, fuzzy, gcc-internal-format
+ msgid "private member %q+#D in anonymous struct"
+ msgstr "匿åè¯åˆä¸­å‡ºç¾ç§æœ‰æˆå“¡ %q+#D"
+
+-#: cp/class.c:2501 cp/decl2.c:1143
++#: cp/class.c:2514 cp/decl2.c:1186
+ #, gcc-internal-format
+ msgid "protected member %q+#D in anonymous union"
+ msgstr "匿åè¯åˆä¸­å‡ºç¾ä¿è­·æˆå“¡ %q+#D"
+
+-#: cp/class.c:2503
++#: cp/class.c:2516
+ #, fuzzy, gcc-internal-format
+ msgid "protected member %q+#D in anonymous struct"
+ msgstr "匿åè¯åˆä¸­å‡ºç¾ä¿è­·æˆå“¡ %q+#D"
+
+-#: cp/class.c:2677
++#: cp/class.c:2695
+ #, gcc-internal-format
+ msgid "bit-field %q+#D with non-integral type"
+ msgstr "ä½å…ƒæ®µ %q+#D 有éžæ•´æ•¸çš„é¡žåž‹"
+
+-#: cp/class.c:2690
++#: cp/class.c:2708
+ #, gcc-internal-format
+ msgid "bit-field %q+D width not an integer constant"
+ msgstr "ä½å…ƒæ®µ %q+D 的寬度ä¸æ˜¯ä¸€å€‹æ•´æ•¸å¸¸æ•¸"
+
+-#: cp/class.c:2695
++#: cp/class.c:2713
+ #, gcc-internal-format
+ msgid "negative width in bit-field %q+D"
+ msgstr "ä½å…ƒæ®µ %q+D 寬度為負"
+
+-#: cp/class.c:2700
++#: cp/class.c:2718
+ #, gcc-internal-format
+ msgid "zero width for bit-field %q+D"
+ msgstr "ä½å…ƒæ®µ %q+D 寬度為 0"
+
+-#: cp/class.c:2706
++#: cp/class.c:2724
+ #, gcc-internal-format
+ msgid "width of %q+D exceeds its type"
+ msgstr "%q+D 的寬度超éŽäº†å®ƒçš„é¡žåž‹"
+
+-#: cp/class.c:2715
++#: cp/class.c:2733
+ #, gcc-internal-format
+ msgid "%q+D is too small to hold all values of %q#T"
+ msgstr "%q+D 太å°è€Œä¸èƒ½å­˜æ”¾ %q#T 的所有å¯èƒ½å€¼"
+
+-#: cp/class.c:2772
++#: cp/class.c:2790
+ #, gcc-internal-format
+ msgid "member %q+#D with constructor not allowed in union"
+ msgstr "有建構å¼çš„æˆå“¡ %q+#D ä¸èƒ½ç”¨åœ¨è¯åˆä¸­"
+
+-#: cp/class.c:2775
++#: cp/class.c:2793
+ #, gcc-internal-format
+ msgid "member %q+#D with destructor not allowed in union"
+ msgstr "有解構函å¼çš„æˆå“¡ %q+#D ä¸èƒ½ç”¨åœ¨è¯åˆä¸­"
+
+-#: cp/class.c:2777
++#: cp/class.c:2795
+ #, gcc-internal-format
+ msgid "member %q+#D with copy assignment operator not allowed in union"
+ msgstr "有複製賦值é‹ç®—å­çš„æˆå“¡ %q+#D ä¸èƒ½ç”¨åœ¨è¯åˆä¸­"
+
+-#: cp/class.c:2801
++#: cp/class.c:2819
+ #, gcc-internal-format
+ msgid "multiple fields in union %qT initialized"
+ msgstr "åˆå§‹åŒ–了è¯åˆ %qT 中的多個欄ä½"
+
+-#: cp/class.c:2890
++#: cp/class.c:2908
+ #, gcc-internal-format
+ msgid "%q+D may not be static because it is a member of a union"
+ msgstr "%q+D ä¸èƒ½æ˜¯éœæ…‹çš„,因為它是è¯åˆçš„æˆå“¡"
+
+-#: cp/class.c:2895
++#: cp/class.c:2913
+ #, gcc-internal-format
+ msgid "%q+D may not have reference type %qT because it is a member of a union"
+ msgstr "%q+D ä¸èƒ½æœ‰åƒç…§é¡žåž‹ %qT,因為它是è¯åˆçš„æˆå“¡"
+
+-#: cp/class.c:2906
++#: cp/class.c:2924
+ #, gcc-internal-format
+ msgid "field %q+D invalidly declared function type"
+ msgstr "æ¬„ä½ %q+D 無效地宣告為函å¼é¡žåž‹"
+
+-#: cp/class.c:2912
++#: cp/class.c:2930
+ #, gcc-internal-format
+ msgid "field %q+D invalidly declared method type"
+ msgstr "æ¬„ä½ %q+D 無效地宣告為方法類型"
+
+-#: cp/class.c:2944
+-#, gcc-internal-format
+-msgid "non-static reference %q+#D in class without a constructor"
+-msgstr "類別中有éžéœæ…‹åƒç…§ %q+#D,å»æ²’有æ供建構å¼"
+-
+-#: cp/class.c:2955
++#: cp/class.c:2968
+ #, fuzzy, gcc-internal-format
+ msgid "ignoring packed attribute because of unpacked non-POD field %q+#D"
+ msgstr "為éžç·Šå¯¦çš„éžç°¡å–®èˆŠè³‡æ–™æ¬„ä½ %q+#D 忽略 packed 屬性"
+
+-#: cp/class.c:3022
++#: cp/class.c:3047
+ #, gcc-internal-format
+-msgid "non-static const member %q+#D in class without a constructor"
+-msgstr "類別中有éžéœæ…‹å¸¸æ•¸æˆå“¡ %q+#D å»æ²’有建構å¼"
+-
+-#: cp/class.c:3037
+-#, gcc-internal-format
+ msgid "field %q+#D with same name as class"
+ msgstr "æ¬„ä½ %q+#D 與類別åŒå"
+
+-#: cp/class.c:3068
++#: cp/class.c:3078
+ #, gcc-internal-format
+ msgid "%q#T has pointer data members"
+ msgstr "%q#T 有指標資料æˆå“¡"
+
+-#: cp/class.c:3073
++#: cp/class.c:3083
+ #, gcc-internal-format
+ msgid " but does not override %<%T(const %T&)%>"
+ msgstr " 但沒有多載 %<%T(const %T&)%>"
+
+-#: cp/class.c:3075
++#: cp/class.c:3085
+ #, gcc-internal-format
+ msgid " or %<operator=(const %T&)%>"
+ msgstr " 或 %<operator=(const %T&)%>"
+
+-#: cp/class.c:3079
++#: cp/class.c:3089
+ #, gcc-internal-format
+ msgid " but does not override %<operator=(const %T&)%>"
+ msgstr " 也沒有多載 %<operator=(const %T&)%>"
+
+-#: cp/class.c:3540
++#: cp/class.c:3550
+ #, gcc-internal-format
+ msgid "offset of empty base %qT may not be ABI-compliant and maychange in a future version of GCC"
+ msgstr "空基礎類別 %qT çš„å移é‡å¯èƒ½èˆ‡ ABI ä¸ç›¸å®¹ï¼Œä¸¦ä¸”å¯èƒ½åœ¨ GCC 的未來版本中變更"
+
+-#: cp/class.c:3665
++#: cp/class.c:3675
+ #, gcc-internal-format
+ msgid "class %qT will be considered nearly empty in a future version of GCC"
+ msgstr "在 GCC 的未來版本中類別 %qT 將被看作幾乎為空"
+
+-#: cp/class.c:3747
++#: cp/class.c:3757
+ #, gcc-internal-format
+ msgid "initializer specified for non-virtual method %q+D"
+ msgstr "為éžè™›æ–¹æ³• %q+D 指定了åˆå§‹å€¼è¨­å®šé …"
+
+-#: cp/class.c:4412
++#: cp/class.c:4228
+ #, gcc-internal-format
++msgid "non-static reference %q+#D in class without a constructor"
++msgstr "類別中有éžéœæ…‹åƒç…§ %q+#D,å»æ²’有æ供建構å¼"
++
++#: cp/class.c:4233
++#, gcc-internal-format
++msgid "non-static const member %q+#D in class without a constructor"
++msgstr "類別中有éžéœæ…‹å¸¸æ•¸æˆå“¡ %q+#D å»æ²’有建構å¼"
++
++#: cp/class.c:4488
++#, gcc-internal-format
+ msgid "offset of virtual base %qT is not ABI-compliant and may change in a future version of GCC"
+ msgstr "虛基礎類別 %qT çš„å移é‡èˆ‡ ABI ä¸ç›¸å®¹ï¼Œä¸¦ä¸”å¯èƒ½åœ¨ GCC 的未來版本中變更"
+
+-#: cp/class.c:4513
++#: cp/class.c:4589
+ #, gcc-internal-format
+ msgid "direct base %qT inaccessible in %qT due to ambiguity"
+ msgstr "由於存在歧義,直接基礎類別 %qT 在 %qT 中無法存å–"
+
+-#: cp/class.c:4525
++#: cp/class.c:4601
+ #, gcc-internal-format
+ msgid "virtual base %qT inaccessible in %qT due to ambiguity"
+ msgstr "由於存在歧義,虛基礎類別 %qT 在 %qT 中無法存å–"
+
+-#: cp/class.c:4704
++#: cp/class.c:4780
+ #, gcc-internal-format
+ msgid "size assigned to %qT may not be ABI-compliant and may change in a future version of GCC"
+ msgstr "賦於 %qT 的大å°å¯èƒ½èˆ‡ ABI ä¸ç›¸å®¹ï¼Œä¸¦ä¸”å¯èƒ½åœ¨ GCC 的未來版本中變更"
+
+-#: cp/class.c:4744
++#: cp/class.c:4820
+ #, gcc-internal-format
+ msgid "the offset of %qD may not be ABI-compliant and may change in a future version of GCC"
+ msgstr "%qD çš„å移é‡å¯èƒ½èˆ‡ ABI ä¸ç›¸å®¹ï¼Œä¸¦ä¸”å¯èƒ½åœ¨ GCC 的未來版本中變更"
+
+-#: cp/class.c:4772
++#: cp/class.c:4848
+ #, gcc-internal-format
+ msgid "offset of %q+D is not ABI-compliant and may change in a future version of GCC"
+ msgstr "%q+D çš„å移é‡èˆ‡ ABI ä¸ç›¸å®¹ï¼Œä¸¦ä¸”在 GCC 的未來版本中å¯èƒ½æœƒæœ‰è®ŠåŒ–"
+
+-#: cp/class.c:4781
++#: cp/class.c:4857
+ #, gcc-internal-format
+ msgid "%q+D contains empty classes which may cause base classes to be placed at different locations in a future version of GCC"
+ msgstr "%q+D 包å«ä¸€å€‹ç©ºé¡žåˆ¥ï¼ŒåŸºç¤Žé¡žåˆ¥çš„ä½ç½®åœ¨ GCC 的未來版本å¯èƒ½æœƒæœ‰è®ŠåŒ–"
+
+-#: cp/class.c:4864
++#: cp/class.c:4944
+ #, gcc-internal-format
+ msgid "layout of classes derived from empty class %qT may change in a future version of GCC"
+ msgstr "空類別 %qT çš„è¡ç”Ÿé¡žåˆ¥çš„版é¢è¨­ç½®åœ¨ GCC 的未來版本中å¯èƒ½æœƒèµ·è®ŠåŒ–"
+
+-#: cp/class.c:5010 cp/parser.c:14608
++#: cp/class.c:5090 cp/parser.c:14688
+ #, gcc-internal-format
+ msgid "redefinition of %q#T"
+ msgstr "%q#T é‡å®šç¾©"
+
+-#: cp/class.c:5166
++#: cp/class.c:5246
+ #, fuzzy, gcc-internal-format
+ msgid "%q#T has virtual functions and accessible non-virtual destructor"
+ msgstr "%q#T 有虛函å¼å»æ²’有虛解構函å¼"
+
+-#: cp/class.c:5268
++#: cp/class.c:5348
+ #, gcc-internal-format
+ msgid "trying to finish struct, but kicked out due to previous parse errors"
+ msgstr "試圖完æˆçµæ§‹ï¼Œä½†ç‚ºå…ˆå‰çš„解æžéŒ¯èª¤æ‰€æ’æ–·"
+
+-#: cp/class.c:5728
++#: cp/class.c:5808
+ #, gcc-internal-format
+ msgid "language string %<\"%E\"%> not recognized"
+ msgstr "語言字串 %<\"%E\"%> ä¸å¯è­˜åˆ¥"
+
+-#: cp/class.c:5817
++#: cp/class.c:5897
+ #, gcc-internal-format
+ msgid "cannot resolve overloaded function %qD based on conversion to type %qT"
+ msgstr "無法解æžå¤šè¼‰å‡½å¼ %qD,基於å‘é¡žåž‹ %qT 的轉æ›"
+
+-#: cp/class.c:5946
++#: cp/class.c:6026
+ #, gcc-internal-format
+ msgid "no matches converting function %qD to type %q#T"
+ msgstr "沒有å¯å°‡å‡½å¼ %qD 轉æ›åˆ°é¡žåž‹ %q#T 的匹é…é …"
+
+-#: cp/class.c:5969
++#: cp/class.c:6049
+ #, gcc-internal-format
+ msgid "converting overloaded function %qD to type %q#T is ambiguous"
+ msgstr "å°‡å¤šè¼‰å‡½å¼ %qD 轉æ›ç‚ºé¡žåž‹ %q#T 有歧義"
+
+-#: cp/class.c:5995
++#: cp/class.c:6075
+ #, gcc-internal-format
+ msgid "assuming pointer to member %qD"
+ msgstr "å‡å®šæ˜¯æˆå“¡æŒ‡æ¨™ %qD"
+
+-#: cp/class.c:5998
++#: cp/class.c:6078
+ #, gcc-internal-format
+ msgid "(a pointer to member can only be formed with %<&%E%>)"
+ msgstr "(æˆå“¡æŒ‡æ¨™åªèƒ½ç”¨ %<&%E%> 構æˆ)"
+
+-#: cp/class.c:6054 cp/class.c:6088
++#: cp/class.c:6134 cp/class.c:6168
+ #, gcc-internal-format
+ msgid "not enough type information"
+ msgstr "類型資訊ä¸å……分"
+
+-#: cp/class.c:6071
++#: cp/class.c:6151
+ #, gcc-internal-format
+ msgid "argument of type %qT does not match %qT"
+ msgstr "引數類型為 %qT,與 %qT ä¸åŒ¹é…"
+@@ -27354,12 +27319,12 @@
+ #. A name N used in a class S shall refer to the same declaration
+ #. in its context and when re-evaluated in the completed scope of
+ #. S.
+-#: cp/class.c:6358 cp/decl.c:1199 cp/name-lookup.c:526
++#: cp/class.c:6438 cp/decl.c:1200 cp/name-lookup.c:525
+ #, gcc-internal-format
+ msgid "declaration of %q#D"
+ msgstr "%q#D 的宣告"
+
+-#: cp/class.c:6359
++#: cp/class.c:6439
+ #, gcc-internal-format
+ msgid "changes meaning of %qD from %q+#D"
+ msgstr "變更了 %qD çš„åŽŸæ„ %q+#D"
+@@ -27394,7 +27359,7 @@
+ msgid "conversion from %qT to %qT discards qualifiers"
+ msgstr "從 %qT 到 %qT 的轉æ›ä¸Ÿå¤±äº†é™å®šè³‡è¨Š"
+
+-#: cp/cvt.c:470 cp/typeck.c:5257
++#: cp/cvt.c:470 cp/typeck.c:5265
+ #, gcc-internal-format
+ msgid "casting %qT to %qT does not dereference pointer"
+ msgstr "從 %qT 轉æ›åˆ° %qT 並未æ領指標"
+@@ -27404,190 +27369,190 @@
+ msgid "cannot convert type %qT to type %qT"
+ msgstr "ä¸èƒ½å°‡é¡žåž‹ %qT 轉æ›ç‚ºé¡žåž‹ %qT"
+
+-#: cp/cvt.c:656
++#: cp/cvt.c:649
+ #, gcc-internal-format
+ msgid "conversion from %q#T to %q#T"
+ msgstr "從 %q#T 到 %q#T 的轉æ›"
+
+-#: cp/cvt.c:668 cp/cvt.c:688
++#: cp/cvt.c:661 cp/cvt.c:681
+ #, gcc-internal-format
+ msgid "%q#T used where a %qT was expected"
+ msgstr "ä¸æ‡‰ä½¿ç”¨ %q#T 而應使用 %qT"
+
+-#: cp/cvt.c:703
++#: cp/cvt.c:696
+ #, gcc-internal-format
+ msgid "%q#T used where a floating point value was expected"
+ msgstr "需è¦æµ®é»žæ•¸å€¼æ™‚使用了 %q#T"
+
+-#: cp/cvt.c:750
++#: cp/cvt.c:743
+ #, gcc-internal-format
+ msgid "conversion from %qT to non-scalar type %qT requested"
+ msgstr "請求從 %qT 轉æ›åˆ°éžæ¨™é‡é¡žåž‹ %qT"
+
+-#: cp/cvt.c:784
++#: cp/cvt.c:777
+ #, gcc-internal-format
+ msgid "pseudo-destructor is not called"
+ msgstr "å½è§£æ§‹å‡½å¼æœªè¢«å‘¼å«"
+
+-#: cp/cvt.c:844
++#: cp/cvt.c:837
+ #, gcc-internal-format
+ msgid "object of incomplete type %qT will not be accessed in %s"
+ msgstr "具有ä¸å®Œå…¨é¡žåž‹ %qT 的物件ä¸æœƒåœ¨ %s 中被存å–"
+
+-#: cp/cvt.c:849
++#: cp/cvt.c:842
+ #, gcc-internal-format
+ msgid "object of type %qT will not be accessed in %s"
+ msgstr "類型為 %qT 的物件ä¸æœƒåœ¨ %s 中被存å–"
+
+-#: cp/cvt.c:865
++#: cp/cvt.c:858
+ #, gcc-internal-format
+ msgid "object %qE of incomplete type %qT will not be accessed in %s"
+ msgstr "物件 %qE 具有ä¸å®Œå…¨çš„é¡žåž‹ %qT,ä¸æœƒåœ¨ %s 中被存å–"
+
+ #. [over.over] enumerates the places where we can take the address
+ #. of an overloaded function, and this is not one of them.
+-#: cp/cvt.c:902
++#: cp/cvt.c:895
+ #, gcc-internal-format
+ msgid "%s cannot resolve address of overloaded function"
+ msgstr "%s 無法解æžå¤šè¼‰åŒ–函å¼ä½å€"
+
+ #. Only warn when there is no &.
+-#: cp/cvt.c:909
++#: cp/cvt.c:902
+ #, gcc-internal-format
+ msgid "%s is a reference, not call, to function %qE"
+ msgstr "%s 是å°å‡½å¼ %qE 的一個åƒç…§è€Œä¸æ˜¯å‘¼å«"
+
+-#: cp/cvt.c:926
++#: cp/cvt.c:919
+ #, gcc-internal-format
+ msgid "%s has no effect"
+ msgstr "%s ä¸èµ·ä½œç”¨"
+
+-#: cp/cvt.c:958
++#: cp/cvt.c:951
+ #, gcc-internal-format
+ msgid "value computed is not used"
+ msgstr "計算出的值未被使用"
+
+-#: cp/cvt.c:1068
++#: cp/cvt.c:1061
+ #, gcc-internal-format
+ msgid "converting NULL to non-pointer type"
+ msgstr "å°‡ NULL 轉æ›ç‚ºéžæŒ‡æ¨™é¡žåž‹"
+
+-#: cp/cvt.c:1174
++#: cp/cvt.c:1167
+ #, gcc-internal-format
+ msgid "ambiguous default type conversion from %qT"
+ msgstr "%qT çš„é è¨­é¡žåž‹è½‰æ›æœ‰æ­§ç¾©"
+
+-#: cp/cvt.c:1176
++#: cp/cvt.c:1169
+ #, gcc-internal-format
+ msgid " candidate conversions include %qD and %qD"
+ msgstr " å‚™é¸è½‰æ›åŒ…括 %qD å’Œ %qD"
+
+-#: cp/decl.c:1062
++#: cp/decl.c:1063
+ #, gcc-internal-format
+ msgid "%qD was declared %<extern%> and later %<static%>"
+ msgstr "%qD 先被宣告為 %<extern%> 後åˆè¢«å®£å‘Šç‚º %<static%>"
+
+-#: cp/decl.c:1063 cp/decl.c:1618 objc/objc-act.c:2931 objc/objc-act.c:7503
++#: cp/decl.c:1064 cp/decl.c:1619 objc/objc-act.c:2931 objc/objc-act.c:7503
+ #, gcc-internal-format
+ msgid "previous declaration of %q+D"
+ msgstr "%q+D çš„å‰ä¸€å€‹å®£å‘Š"
+
+-#: cp/decl.c:1096
++#: cp/decl.c:1097
+ #, gcc-internal-format
+ msgid "declaration of %qF throws different exceptions"
+ msgstr "%qF 的宣告拋出ä¸åŒçš„異常"
+
+-#: cp/decl.c:1097
++#: cp/decl.c:1098
+ #, gcc-internal-format
+ msgid "from previous declaration %q+F"
+ msgstr "從先å‰çš„宣告 %q+F"
+
+-#: cp/decl.c:1153
++#: cp/decl.c:1154
+ #, gcc-internal-format
+ msgid "function %q+D redeclared as inline"
+ msgstr "å‡½å¼ %q+D é‡å®£å‘Šç‚ºå…§è¯çš„"
+
+-#: cp/decl.c:1155
++#: cp/decl.c:1156
+ #, gcc-internal-format
+ msgid "previous declaration of %q+D with attribute noinline"
+ msgstr "å…ˆå‰ %q+D 的宣告帶有 noinline 屬性"
+
+-#: cp/decl.c:1162
++#: cp/decl.c:1163
+ #, gcc-internal-format
+ msgid "function %q+D redeclared with attribute noinline"
+ msgstr "å‡½å¼ %q+D é‡å®£å‘Šç‚ºå¸¶æœ‰ä¸å¯å…§è¯å±¬æ€§"
+
+-#: cp/decl.c:1164
++#: cp/decl.c:1165
+ #, gcc-internal-format
+ msgid "previous declaration of %q+D was inline"
+ msgstr "%q+D å…ˆå‰è¢«å®£å‘Šç‚ºå…§è¯çš„"
+
+-#: cp/decl.c:1186 cp/decl.c:1259
++#: cp/decl.c:1187 cp/decl.c:1260
+ #, gcc-internal-format
+ msgid "shadowing %s function %q#D"
+ msgstr "éš±è—了 %s å‡½å¼ %q#D"
+
+-#: cp/decl.c:1195
++#: cp/decl.c:1196
+ #, gcc-internal-format
+ msgid "library function %q#D redeclared as non-function %q#D"
+ msgstr "函å¼åº«å‡½å¼ %q#D é‡å®£å‘Šç‚ºéžå‡½å¼ %q#D"
+
+-#: cp/decl.c:1200
++#: cp/decl.c:1201
+ #, gcc-internal-format
+ msgid "conflicts with built-in declaration %q#D"
+ msgstr "與內建宣告 %q#D è¡çª"
+
+-#: cp/decl.c:1254 cp/decl.c:1380 cp/decl.c:1396
++#: cp/decl.c:1255 cp/decl.c:1381 cp/decl.c:1397
+ #, gcc-internal-format
+ msgid "new declaration %q#D"
+ msgstr "å° %q#D 的新宣告"
+
+-#: cp/decl.c:1255
++#: cp/decl.c:1256
+ #, gcc-internal-format
+ msgid "ambiguates built-in declaration %q#D"
+ msgstr "使內建宣告 %q#D 出ç¾æ­§ç¾©"
+
+-#: cp/decl.c:1344
++#: cp/decl.c:1345
+ #, gcc-internal-format
+ msgid "%q#D redeclared as different kind of symbol"
+ msgstr "%q#D 被é‡æ–°å®£å‘Šç‚ºä¸åŒæ„義的符號"
+
+-#: cp/decl.c:1347
++#: cp/decl.c:1348
+ #, gcc-internal-format
+ msgid "previous declaration of %q+#D"
+ msgstr "%q+#D çš„å‰ä¸€å€‹å®£å‘Š"
+
+-#: cp/decl.c:1366
++#: cp/decl.c:1367
+ #, gcc-internal-format
+ msgid "declaration of template %q#D"
+ msgstr "範本宣告 %q#D"
+
+-#: cp/decl.c:1367 cp/name-lookup.c:527
++#: cp/decl.c:1368 cp/name-lookup.c:526
+ #, gcc-internal-format
+ msgid "conflicts with previous declaration %q+#D"
+ msgstr "與先å‰çš„宣告 %q+#D è¡çª"
+
+-#: cp/decl.c:1381 cp/decl.c:1397
++#: cp/decl.c:1382 cp/decl.c:1398
+ #, gcc-internal-format
+ msgid "ambiguates old declaration %q+#D"
+ msgstr "使舊的宣告 %q+#D 出ç¾æ­§ç¾©"
+
+-#: cp/decl.c:1389
++#: cp/decl.c:1390
+ #, gcc-internal-format
+ msgid "declaration of C function %q#D conflicts with"
+ msgstr "C å‡½å¼ %q#D 的宣告"
+
+-#: cp/decl.c:1391
++#: cp/decl.c:1392
+ #, gcc-internal-format
+ msgid "previous declaration %q+#D here"
+ msgstr "與此處早先的宣告 %q+#D è¡çª"
+
+-#: cp/decl.c:1405
++#: cp/decl.c:1406
+ #, gcc-internal-format
+ msgid "conflicting declaration %q#D"
+ msgstr "相互è¡çªçš„宣告 %q#D"
+
+-#: cp/decl.c:1406
++#: cp/decl.c:1407
+ #, gcc-internal-format
+ msgid "%q+D has a previous declaration as %q#D"
+ msgstr "%q+D 早先被宣告為 %q#D"
+@@ -27599,63 +27564,63 @@
+ #. A namespace-name defined at global scope shall not be
+ #. declared as the name of any other entity in any global scope
+ #. of the program.
+-#: cp/decl.c:1458
++#: cp/decl.c:1459
+ #, gcc-internal-format
+ msgid "declaration of namespace %qD conflicts with"
+ msgstr "命å空間 %qD 的宣告存在è¡çªï¼Œèˆ‡"
+
+-#: cp/decl.c:1459
++#: cp/decl.c:1460
+ #, gcc-internal-format
+ msgid "previous declaration of namespace %q+D here"
+ msgstr "命å空間 %q+D 早先的宣告在這裡"
+
+-#: cp/decl.c:1470
++#: cp/decl.c:1471
+ #, gcc-internal-format
+ msgid "%q+#D previously defined here"
+ msgstr "%q+#D 已在此定義éŽ"
+
+ #. Prototype decl follows defn w/o prototype.
+-#: cp/decl.c:1480
++#: cp/decl.c:1481
+ #, gcc-internal-format
+ msgid "prototype for %q+#D"
+ msgstr "%q+#D 的原型"
+
+-#: cp/decl.c:1481
++#: cp/decl.c:1482
+ #, gcc-internal-format
+ msgid "%Jfollows non-prototype definition here"
+ msgstr "%J在這裡的éžåŽŸåž‹å®šç¾©ä¹‹å¾Œ"
+
+-#: cp/decl.c:1521
++#: cp/decl.c:1522
+ #, gcc-internal-format
+ msgid "previous declaration of %q+#D with %qL linkage"
+ msgstr "%q+#D 的早先宣告有 %qL 連çµ"
+
+-#: cp/decl.c:1523
++#: cp/decl.c:1524
+ #, gcc-internal-format
+ msgid "conflicts with new declaration with %qL linkage"
+ msgstr "與帶有 %qL 連çµçš„新宣告è¡çª"
+
+-#: cp/decl.c:1546 cp/decl.c:1552
++#: cp/decl.c:1547 cp/decl.c:1553
+ #, gcc-internal-format
+ msgid "default argument given for parameter %d of %q#D"
+ msgstr "為åƒæ•¸ %d (屬於 %q#D)指定了é è¨­å¼•æ•¸"
+
+-#: cp/decl.c:1548 cp/decl.c:1554
++#: cp/decl.c:1549 cp/decl.c:1555
+ #, gcc-internal-format
+ msgid "after previous specification in %q+#D"
+ msgstr "但先å‰åœ¨ %q+#D 中已有指定"
+
+-#: cp/decl.c:1563
++#: cp/decl.c:1564
+ #, gcc-internal-format
+ msgid "%q#D was used before it was declared inline"
+ msgstr "%q#D 在被宣告為內è¯ä¹‹å‰è¢«ç”¨åˆ°"
+
+-#: cp/decl.c:1564
++#: cp/decl.c:1565
+ #, gcc-internal-format
+ msgid "%Jprevious non-inline declaration here"
+ msgstr "%Jå…ˆå‰çš„éžå…§è¯å®£å‘Šåœ¨é€™è£¡"
+
+-#: cp/decl.c:1617
++#: cp/decl.c:1618
+ #, gcc-internal-format
+ msgid "redundant redeclaration of %qD in same scope"
+ msgstr "åŒä¸€ä½œç”¨æ¬„ä½ä¸­ %qD 冗餘的é‡å®£å‘Š"
+@@ -27668,313 +27633,319 @@
+ #. that specialization that would cause an implicit
+ #. instantiation to take place, in every translation unit in
+ #. which such a use occurs.
+-#: cp/decl.c:1932
++#: cp/decl.c:1939
+ #, gcc-internal-format
+ msgid "explicit specialization of %qD after first use"
+ msgstr "在åˆæ¬¡ä½¿ç”¨å¾Œæ˜Žç¢ºç‰¹ä¾‹åŒ– %qD"
+
+-#: cp/decl.c:2028
++#: cp/decl.c:2035
+ #, gcc-internal-format
+ msgid "%q+D: visibility attribute ignored because it"
+ msgstr "%q+D:å¯è¦‹æ€§å±¬æ€§è¢«å¿½ç•¥ï¼Œå› ç‚ºå®ƒ"
+
+-#: cp/decl.c:2030
++#: cp/decl.c:2037
+ #, gcc-internal-format
+ msgid "%Jconflicts with previous declaration here"
+ msgstr "%J與此處先å‰çš„宣告è¡çª"
+
+-#: cp/decl.c:2457
++#: cp/decl.c:2464
+ #, gcc-internal-format
+ msgid "jump to label %qD"
+ msgstr "跳轉至標籤 %qD"
+
+-#: cp/decl.c:2459
++#: cp/decl.c:2466
+ #, gcc-internal-format
+ msgid "jump to case label"
+ msgstr "跳轉至 case 標籤"
+
+-#: cp/decl.c:2461
++#: cp/decl.c:2468
+ #, gcc-internal-format
+ msgid "%H from here"
+ msgstr "%H 從這裡"
+
+-#: cp/decl.c:2480 cp/decl.c:2643
++#: cp/decl.c:2487 cp/decl.c:2650
+ #, gcc-internal-format
+ msgid " exits OpenMP structured block"
+ msgstr ""
+
+-#: cp/decl.c:2501
++#: cp/decl.c:2508
+ #, gcc-internal-format
+ msgid " crosses initialization of %q+#D"
+ msgstr " ç•¥éŽ %q+#D çš„åˆå§‹åŒ–"
+
+-#: cp/decl.c:2503 cp/decl.c:2618
++#: cp/decl.c:2510 cp/decl.c:2625
+ #, gcc-internal-format
+ msgid " enters scope of non-POD %q+#D"
+ msgstr " 進入éžç°¡å–®èˆŠè³‡æ–™ %q+#D 的作用欄ä½"
+
+-#: cp/decl.c:2516 cp/decl.c:2622
++#: cp/decl.c:2523 cp/decl.c:2629
+ #, gcc-internal-format
+ msgid " enters try block"
+ msgstr " 進入 try å€å¡Š"
+
+-#: cp/decl.c:2518 cp/decl.c:2624
++#: cp/decl.c:2525 cp/decl.c:2631
+ #, gcc-internal-format
+ msgid " enters catch block"
+ msgstr " 進入 catch å€å¡Š"
+
+-#: cp/decl.c:2528 cp/decl.c:2627
++#: cp/decl.c:2535 cp/decl.c:2634
+ #, fuzzy, gcc-internal-format
+ msgid " enters OpenMP structured block"
+ msgstr " 進入 try å€å¡Š"
+
+-#: cp/decl.c:2599 cp/decl.c:2639
++#: cp/decl.c:2606 cp/decl.c:2646
+ #, gcc-internal-format
+ msgid "jump to label %q+D"
+ msgstr "跳轉至標籤 %q+D"
+
+-#: cp/decl.c:2600 cp/decl.c:2640
++#: cp/decl.c:2607 cp/decl.c:2647
+ #, gcc-internal-format
+ msgid " from here"
+ msgstr " 從這裡"
+
+ #. Can't skip init of __exception_info.
+-#: cp/decl.c:2612
++#: cp/decl.c:2619
+ #, gcc-internal-format
+ msgid "%J enters catch block"
+ msgstr "%J 進入 catch å€å¡Š"
+
+-#: cp/decl.c:2616
++#: cp/decl.c:2623
+ #, gcc-internal-format
+ msgid " skips initialization of %q+#D"
+ msgstr " ç•¥éŽ %q+#D çš„åˆå§‹åŒ–"
+
+-#: cp/decl.c:2692
++#: cp/decl.c:2699
+ #, gcc-internal-format
+ msgid "label named wchar_t"
+ msgstr "標籤å為 wchar_t"
+
+-#: cp/decl.c:2696
++#: cp/decl.c:2703
+ #, gcc-internal-format
+ msgid "duplicate label %qD"
+ msgstr "é‡è¤‡çš„標籤 %qD"
+
+-#: cp/decl.c:2962
++#: cp/decl.c:2969
+ #, fuzzy, gcc-internal-format
+ msgid "%qD is not a type"
+ msgstr "%qD ä¸æ˜¯ä¸€å€‹ç¯„本"
+
+-#: cp/decl.c:2968 cp/parser.c:4033
++#: cp/decl.c:2975 cp/parser.c:4037
+ #, gcc-internal-format
+ msgid "%qD used without template parameters"
+ msgstr "%qD 使用時未帶範本åƒæ•¸"
+
+-#: cp/decl.c:2983
++#: cp/decl.c:2990
+ #, fuzzy, gcc-internal-format
+ msgid "%q#T is not a class"
+ msgstr "%q#T ä¸æ˜¯ä¸€å€‹ç¯„本"
+
+-#: cp/decl.c:2995 cp/decl.c:3063
++#: cp/decl.c:3002 cp/decl.c:3070
+ #, gcc-internal-format
+ msgid "no class template named %q#T in %q#T"
+ msgstr "æ²’å…·å為 %q#T 的類別範本,在%q#T 中 "
+
+-#: cp/decl.c:3003
++#: cp/decl.c:3010
+ #, fuzzy, gcc-internal-format
+ msgid "%<typename %T::%D%> names %q#T, which is not a class template"
+ msgstr "%qT 被解æžåˆ°éžé¡žåˆ¥é¡žåž‹ %qT"
+
+-#: cp/decl.c:3010
++#: cp/decl.c:3017
+ #, fuzzy, gcc-internal-format
+ msgid "%<typename %T::%D%> names %q#T, which is not a type"
+ msgstr "%<%T::%D%> ä¸æ˜¯ä¸€å€‹é¡žåž‹"
+
+-#: cp/decl.c:3072
++#: cp/decl.c:3079
+ #, gcc-internal-format
+ msgid "template parameters do not match template"
+ msgstr "範本åƒæ•¸èˆ‡ç¯„本ä¸ç¬¦"
+
+-#: cp/decl.c:3073 cp/friend.c:321 cp/friend.c:329
++#: cp/decl.c:3080 cp/friend.c:321 cp/friend.c:329
+ #, gcc-internal-format
+ msgid "%q+D declared here"
+ msgstr "%q+D 已在此宣告éŽ"
+
+-#: cp/decl.c:3711
++#: cp/decl.c:3727
+ #, fuzzy, gcc-internal-format
+ msgid "%Jan anonymous struct cannot have function members"
+ msgstr "%J一個匿åè¯åˆä¸èƒ½æœ‰å‡½å¼æˆå“¡"
+
+-#: cp/decl.c:3713
++#: cp/decl.c:3729
+ #, gcc-internal-format
+ msgid "%Jan anonymous union cannot have function members"
+ msgstr "%J一個匿åè¯åˆä¸èƒ½æœ‰å‡½å¼æˆå“¡"
+
+-#: cp/decl.c:3731
++#: cp/decl.c:3747
+ #, gcc-internal-format
+ msgid "member %q+#D with constructor not allowed in anonymous aggregate"
+ msgstr "有建構å¼çš„æˆå“¡ %q+#D ä¸å…許在匿åèšåˆä¸­å‡ºç¾"
+
+-#: cp/decl.c:3734
++#: cp/decl.c:3750
+ #, gcc-internal-format
+ msgid "member %q+#D with destructor not allowed in anonymous aggregate"
+ msgstr "有構構函å¼çš„æˆå“¡ %q+#D ä¸å…許在匿åèšåˆä¸­å‡ºç¾"
+
+-#: cp/decl.c:3737
++#: cp/decl.c:3753
+ #, gcc-internal-format
+ msgid "member %q+#D with copy assignment operator not allowed in anonymous aggregate"
+ msgstr "有複製賦值é‹ç®—å­çš„æˆå“¡ %q+#D ä¸èƒ½ç”¨åœ¨è¯åˆä¸­"
+
+-#: cp/decl.c:3762
++#: cp/decl.c:3778
+ #, gcc-internal-format
+ msgid "multiple types in one declaration"
+ msgstr "一個宣告指定了多個類型"
+
+-#: cp/decl.c:3766
++#: cp/decl.c:3782
+ #, gcc-internal-format
+ msgid "redeclaration of C++ built-in type %qT"
+ msgstr "å° C++ 內建類型 %qT çš„é‡å®£å‘Š"
+
+-#: cp/decl.c:3803
++#: cp/decl.c:3819
+ #, gcc-internal-format
+ msgid "missing type-name in typedef-declaration"
+ msgstr "typedef 宣告中缺少類型å"
+
+-#: cp/decl.c:3811
++#: cp/decl.c:3827
+ #, gcc-internal-format
+ msgid "ISO C++ prohibits anonymous structs"
+ msgstr "ISO C++ ä¸å…許匿åçµæ§‹"
+
+-#: cp/decl.c:3818
++#: cp/decl.c:3834
+ #, gcc-internal-format
+ msgid "%qs can only be specified for functions"
+ msgstr "åªèƒ½ç‚ºå‡½å¼æŒ‡å®š %qs"
+
+-#: cp/decl.c:3824
++#: cp/decl.c:3840
+ #, gcc-internal-format
+ msgid "%<friend%> can only be specified inside a class"
+ msgstr "%<friend%> åªèƒ½åœ¨é¡žåˆ¥ä¸­æŒ‡å®š"
+
+-#: cp/decl.c:3826
++#: cp/decl.c:3842
+ #, gcc-internal-format
+ msgid "%<explicit%> can only be specified for constructors"
+ msgstr "åªèƒ½ç‚ºå»ºæ§‹å¼æŒ‡å®š %<explicit%>"
+
+-#: cp/decl.c:3828
++#: cp/decl.c:3844
+ #, gcc-internal-format
+ msgid "a storage class can only be specified for objects and functions"
+ msgstr "åªèƒ½ç‚ºç‰©ä»¶å’Œå‡½å¼æŒ‡å®šå­˜å„²é¡žåˆ¥"
+
+-#: cp/decl.c:3834
++#: cp/decl.c:3850
+ #, gcc-internal-format
+ msgid "qualifiers can only be specified for objects and functions"
+ msgstr "åªèƒ½ç‚ºç‰©ä»¶å’Œå‡½å¼æŒ‡å®šé¡žåž‹é™å®š"
+
+-#: cp/decl.c:3837
++#: cp/decl.c:3853
+ #, fuzzy, gcc-internal-format
+ msgid "%<typedef%> was ignored in this declaration"
+ msgstr "åƒæ•¸å®£å‘Šä¸­å‡ºç¾çš„ typedef 宣告無效"
+
+-#: cp/decl.c:3866
++#: cp/decl.c:3882
+ #, gcc-internal-format
+ msgid "attribute ignored in declaration of %q+#T"
+ msgstr "屬性於 %q+#T 的宣告中被忽略"
+
+-#: cp/decl.c:3867
++#: cp/decl.c:3883
+ #, gcc-internal-format
+ msgid "attribute for %q+#T must follow the %qs keyword"
+ msgstr "%q+#T 的屬性必須跟在 %qs é—œéµå­—後é¢"
+
+-#: cp/decl.c:3909
++#: cp/decl.c:3925
+ #, fuzzy, gcc-internal-format
+-msgid "ignoring attributes applied to class type outside of definition"
++msgid "ignoring attributes applied to class type %qT outside of definition"
+ msgstr "åªèƒ½ç‚ºé¡žåˆ¥å®šç¾©å¥—用 %qE 屬性"
+
+-#: cp/decl.c:3987
++#. A template type parameter or other dependent type.
++#: cp/decl.c:3929
+ #, gcc-internal-format
++msgid "ignoring attributes applied to dependent type %qT without an associated declaration"
++msgstr ""
++
++#: cp/decl.c:4007
++#, gcc-internal-format
+ msgid "function %q#D is initialized like a variable"
+ msgstr "å‡½å¼ %q#D åƒè®Šæ•¸ä¸€æ¨£è¢«åˆå§‹åŒ–"
+
+-#: cp/decl.c:3998
++#: cp/decl.c:4018
+ #, gcc-internal-format
+ msgid "declaration of %q#D has %<extern%> and is initialized"
+ msgstr "%q#D 宣告有 %<extern%> 並被åˆå§‹åŒ–"
+
+-#: cp/decl.c:4014
++#: cp/decl.c:4034
+ #, fuzzy, gcc-internal-format
+ msgid "definition of %q#D is marked %<dllimport%>"
+ msgstr "å‡½å¼ %q+D 的定義被標記為 dllimport"
+
+-#: cp/decl.c:4033
++#: cp/decl.c:4053
+ #, gcc-internal-format
+ msgid "%q#D is not a static member of %q#T"
+ msgstr "%q#D ä¸æ˜¯ %q#T çš„éœæ…‹æˆå“¡"
+
+-#: cp/decl.c:4039
++#: cp/decl.c:4059
+ #, 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.c:4048
++#: cp/decl.c:4068
+ #, gcc-internal-format
+ msgid "template header not allowed in member definition of explicitly specialized class"
+ msgstr "範本頭ä¸å…許出ç¾åœ¨æ˜Žç¢ºç‰¹ä¾‹åŒ–類別的æˆå“¡å®šç¾©ä¸­"
+
+-#: cp/decl.c:4056
++#: cp/decl.c:4076
+ #, gcc-internal-format
+ msgid "duplicate initialization of %qD"
+ msgstr "ISO C++ ä¸å…許æˆå“¡ %qD çš„åˆå§‹åŒ–"
+
+-#: cp/decl.c:4095
++#: cp/decl.c:4115
+ #, gcc-internal-format
+ msgid "declaration of %q#D outside of class is not definition"
+ msgstr "出ç¾åœ¨é¡žåˆ¥å¤–çš„ %q#D 的宣告ä¸æ˜¯å®šç¾©"
+
+-#: cp/decl.c:4188
++#: cp/decl.c:4208
+ #, gcc-internal-format
+ msgid "variable %q#D has initializer but incomplete type"
+ msgstr "變數 %q#D 有åˆå§‹å€¼è¨­å®šï¼Œä½†æ˜¯é¡žåž‹ä¸å®Œå…¨"
+
+-#: cp/decl.c:4194 cp/decl.c:4906
++#: cp/decl.c:4214 cp/decl.c:4926
+ #, gcc-internal-format
+ msgid "elements of array %q#D have incomplete type"
+ msgstr "陣列 %q#D 的元素類型ä¸å®Œå…¨"
+
+-#: cp/decl.c:4200
++#: cp/decl.c:4220
+ #, gcc-internal-format
+ msgid "aggregate %q#D has incomplete type and cannot be defined"
+ msgstr "èšåˆ %q#D é¡žåž‹ä¸å®Œå…¨ï¼Œç„¡æ³•è¢«å®šç¾©"
+
+-#: cp/decl.c:4236
++#: cp/decl.c:4256
+ #, gcc-internal-format
+ msgid "%qD declared as reference but not initialized"
+ msgstr "%qD 宣告為åƒç…§å»æœªè¢«åˆå§‹åŒ–"
+
+-#: cp/decl.c:4242
++#: cp/decl.c:4262
+ #, gcc-internal-format
+ msgid "ISO C++ forbids use of initializer list to initialize reference %qD"
+ msgstr "ISO C++ ä¸å…許使用åˆå§‹å€¼è¨­å®šæ¸…單來åˆå§‹åŒ–åƒç…§ %qD"
+
+-#: cp/decl.c:4268
++#: cp/decl.c:4288
+ #, gcc-internal-format
+ msgid "cannot initialize %qT from %qT"
+ msgstr "ä¸èƒ½åˆå§‹åŒ– %qT,從 %qT"
+
+-#: cp/decl.c:4296
++#: cp/decl.c:4316
+ #, gcc-internal-format
+ msgid "name %qD used in a GNU-style designated initializer for an array"
+ msgstr "å稱 %qD 用在 GNU 風格的陣列指定元素åˆå§‹å€¼è¨­å®šä¸­"
+
+-#: cp/decl.c:4345
++#: cp/decl.c:4365
+ #, gcc-internal-format
+ msgid "initializer fails to determine size of %qD"
+ msgstr "åˆå§‹å€¼è¨­å®šç„¡æ³•æ±ºå®š %qD 的大å°"
+
+-#: cp/decl.c:4352
++#: cp/decl.c:4372
+ #, gcc-internal-format
+ msgid "array size missing in %qD"
+ msgstr "%qD 缺少陣列大å°"
+
+-#: cp/decl.c:4364
++#: cp/decl.c:4384
+ #, gcc-internal-format
+ msgid "zero-size array %qD"
+ msgstr "大å°ç‚º 0 的陣列 %qD"
+@@ -27982,240 +27953,250 @@
+ #. An automatic variable with an incomplete type: that is an error.
+ #. Don't talk about array types here, since we took care of that
+ #. message in grokdeclarator.
+-#: cp/decl.c:4407
++#: cp/decl.c:4427
+ #, gcc-internal-format
+ msgid "storage size of %qD isn't known"
+ msgstr "%qD 的存儲大å°ä¸æ˜Ž"
+
+-#: cp/decl.c:4429
++#: cp/decl.c:4449
+ #, gcc-internal-format
+ msgid "storage size of %qD isn't constant"
+ msgstr "%qD 的存儲大å°ä¸æ˜¯å¸¸æ•¸"
+
+-#: cp/decl.c:4478
++#: cp/decl.c:4498
+ #, gcc-internal-format
+ msgid "sorry: semantics of inline function static data %q+#D are wrong (you'll wind up with multiple copies)"
+ msgstr "å°ä¸èµ·ï¼šå…§è¯å‡½å¼ä¸­éœæ…‹è³‡æ–™ %q+#D 的語義是錯的(您會得到此變數的多份複製)"
+
+-#: cp/decl.c:4481
++#: cp/decl.c:4501
+ #, gcc-internal-format
+ msgid "%J you can work around this by removing the initializer"
+ msgstr "%J 變通的作法是刪除åˆå§‹å€¼è¨­å®š"
+
+-#: cp/decl.c:4508
++#: cp/decl.c:4528
+ #, gcc-internal-format
+ msgid "uninitialized const %qD"
+ msgstr "未åˆå§‹åŒ–的常數 %qD"
+
+-#: cp/decl.c:4620
++#: cp/decl.c:4640
+ #, gcc-internal-format
+ msgid "invalid type %qT as initializer for a vector of type %qT"
+ msgstr "無效類型 %qT åšç‚ºé¡žåž‹ç‚º %qT çš„å‘é‡çš„åˆå§‹åŒ–設定"
+
+-#: cp/decl.c:4662
++#: cp/decl.c:4682
+ #, gcc-internal-format
+ msgid "initializer for %qT must be brace-enclosed"
+ msgstr "%qT çš„åˆå§‹åŒ–設定必須在大括號內"
+
+-#: cp/decl.c:4680
++#: cp/decl.c:4700
+ #, gcc-internal-format
+ msgid "%qT has no non-static data member named %qD"
+ msgstr "%qT æ²’å…·å為 %qD çš„éžéœæ…‹è³‡æ–™æˆå“¡"
+
+-#: cp/decl.c:4731
++#: cp/decl.c:4751
+ #, gcc-internal-format
+ msgid "braces around scalar initializer for type %qT"
+ msgstr "é¡žåž‹ %qT 的標é‡åˆå§‹åŒ–帶大括號"
+
+-#: cp/decl.c:4814
++#: cp/decl.c:4834
+ #, gcc-internal-format
+ msgid "missing braces around initializer for %qT"
+ msgstr "%qT çš„åˆå§‹å€¼è¨­å®šå‘¨åœç¼ºå°‘大括號"
+
+-#: cp/decl.c:4871
++#: cp/decl.c:4891
+ #, gcc-internal-format
+ msgid "too many initializers for %qT"
+ msgstr "%qT çš„åˆå§‹å€¼è¨­å®šé …太多"
+
+-#: cp/decl.c:4914
++#: cp/decl.c:4934
+ #, gcc-internal-format
+ msgid "variable-sized object %qD may not be initialized"
+ msgstr "å¯è®Šå¤§å°çš„物件 %qD ä¸èƒ½è¢«åˆå§‹åŒ–"
+
+-#: cp/decl.c:4920
++#: cp/decl.c:4940
+ #, gcc-internal-format
+ msgid "%qD has incomplete type"
+ msgstr "%qD é¡žåž‹ä¸å®Œå…¨"
+
+-#: cp/decl.c:4935
++#: cp/decl.c:4955
+ #, fuzzy, gcc-internal-format
+ msgid "scalar object %qD requires one element in initializer"
+ msgstr "è¯åˆåˆå§‹å€¼è¨­å®šé …中有多餘元素"
+
+ #. A non-aggregate that is not a scalar cannot be initialized
+ #. via an initializer-list in C++98.
+-#: cp/decl.c:4945
++#: cp/decl.c:4965
+ #, fuzzy, gcc-internal-format
+ msgid "braces around initializer for non-aggregate type %qT"
+ msgstr "é¡žåž‹ %qT 的標é‡åˆå§‹åŒ–帶大括號"
+
+-#: cp/decl.c:4995
++#: cp/decl.c:5015
+ #, gcc-internal-format
+ msgid "%qD must be initialized by constructor, not by %<{...}%>"
+ msgstr "%qD 必須由建構å¼è€Œä¸æ˜¯ %<{...}%> åˆå§‹åŒ–"
+
+-#: cp/decl.c:5031
++#: cp/decl.c:5051
+ #, gcc-internal-format
+ msgid "array %qD initialized by parenthesized string literal %qE"
+ msgstr "陣列 %qD 被有括號的字é¢å­—串 %qE 所åˆå§‹åŒ–"
+
+-#: cp/decl.c:5046
++#: cp/decl.c:5066
+ #, gcc-internal-format
+ msgid "structure %qD with uninitialized const members"
+ msgstr "çµæ§‹ %qD 有未åˆå§‹åŒ–的常數æˆå“¡"
+
+-#: cp/decl.c:5048
++#: cp/decl.c:5068
+ #, gcc-internal-format
+ msgid "structure %qD with uninitialized reference members"
+ msgstr "çµæ§‹ %qD 有未åˆå§‹åŒ–çš„åƒç…§æˆå“¡"
+
+-#: cp/decl.c:5330
++#: cp/decl.c:5364
+ #, gcc-internal-format
+ msgid "assignment (not initialization) in declaration"
+ msgstr "賦值(ä¸æ˜¯åˆå§‹åŒ–)出ç¾åœ¨å®£å‘Šä¸­"
+
+-#: cp/decl.c:5420
++#: cp/decl.c:5460
+ #, gcc-internal-format
+ msgid "shadowing previous type declaration of %q#D"
+ msgstr "éš±è—了早先的類型宣告 %q#D"
+
+-#: cp/decl.c:5450
++#: cp/decl.c:5490
+ #, gcc-internal-format
+ msgid "%qD cannot be thread-local because it has non-POD type %qT"
+ msgstr "%qD ä¸èƒ½æ˜¯åŸ·è¡Œç·’å€åŸŸæ€§çš„,因為它有éžç°¡å–®èˆŠè³‡æ–™çš„é¡žåž‹ %qT"
+
+-#: cp/decl.c:5485
++#: cp/decl.c:5522
+ #, gcc-internal-format
++msgid "Java object %qD not allocated with %<new%>"
++msgstr ""
++
++#: cp/decl.c:5539
++#, gcc-internal-format
+ msgid "%qD is thread-local and so cannot be dynamically initialized"
+ msgstr "%qD 是執行緒å€åŸŸæ€§çš„,所以ä¸èƒ½è¢«å‹•æ…‹åœ°åˆå§‹åŒ–"
+
+-#: cp/decl.c:5503
++#: cp/decl.c:5557
+ #, gcc-internal-format
+ msgid "%qD cannot be initialized by a non-constant expression when being declared"
+ msgstr "%qD ä¸èƒ½ç”±ä¸€å€‹å®£å‘Šæ™‚éžå¸¸æ•¸çš„é‹ç®—å¼åˆå§‹åŒ–"
+
+-#: cp/decl.c:6160
++#: cp/decl.c:5597
++#, fuzzy, gcc-internal-format
++msgid "non-static data member %qD has Java class type"
++msgstr "為 dllimport 類別定義了éœæ…‹è³‡æ–™æˆå“¡ %q+D"
++
++#: cp/decl.c:6232
+ #, gcc-internal-format
+ msgid "destructor for alien class %qT cannot be a member"
+ msgstr "其它類別 %qT 的解構函å¼ä¸èƒ½åšç‚ºæˆå“¡"
+
+-#: cp/decl.c:6162
++#: cp/decl.c:6234
+ #, gcc-internal-format
+ msgid "constructor for alien class %qT cannot be a member"
+ msgstr "其它類別 %qT 的建構å¼ä¸èƒ½åšç‚ºæˆå“¡"
+
+-#: cp/decl.c:6183
++#: cp/decl.c:6255
+ #, gcc-internal-format
+ msgid "%qD declared as a %<virtual%> %s"
+ msgstr "%qD 宣告為 %<virtual%> %s"
+
+-#: cp/decl.c:6185
++#: cp/decl.c:6257
+ #, gcc-internal-format
+ msgid "%qD declared as an %<inline%> %s"
+ msgstr "%qD 宣告為 %<inline%> %s"
+
+-#: cp/decl.c:6187
++#: cp/decl.c:6259
+ #, gcc-internal-format
+ msgid "%<const%> and %<volatile%> function specifiers on %qD invalid in %s declaration"
+ msgstr "為 %qD 指定的 %<const%> 和 %<volatile%> 在 %s 宣告中無效"
+
+-#: cp/decl.c:6191
++#: cp/decl.c:6263
+ #, gcc-internal-format
+ msgid "%q+D declared as a friend"
+ msgstr "%q+D 宣告為夥伴"
+
+-#: cp/decl.c:6197
++#: cp/decl.c:6269
+ #, gcc-internal-format
+ msgid "%q+D declared with an exception specification"
+ msgstr "%q+D 宣告時有異常指定"
+
+-#: cp/decl.c:6231
++#: cp/decl.c:6303
+ #, gcc-internal-format
+ msgid "definition of %qD is not in namespace enclosing %qT"
+ msgstr "%qD 的定義ä¸åœ¨åŒ…å« %qT 的命å空間中"
+
+-#: cp/decl.c:6342
++#: cp/decl.c:6414
+ #, gcc-internal-format
+ msgid "defining explicit specialization %qD in friend declaration"
+ msgstr "在夥伴宣告中定義明確特例化 %qD"
+
+ #. Something like `template <class T> friend void f<T>()'.
+-#: cp/decl.c:6352
++#: cp/decl.c:6424
+ #, gcc-internal-format
+ msgid "invalid use of template-id %qD in declaration of primary template"
+ msgstr "在基本範本的宣告中å°ç¯„本識別碼 %qD 的使用無效"
+
+-#: cp/decl.c:6382
++#: cp/decl.c:6454
+ #, gcc-internal-format
+ msgid "default arguments are not allowed in declaration of friend template specialization %qD"
+ msgstr "夥伴範本特例化 %qD 中ä¸å…許出ç¾é è¨­åƒæ•¸"
+
+-#: cp/decl.c:6390
++#: cp/decl.c:6462
+ #, gcc-internal-format
+ msgid "%<inline%> is not allowed in declaration of friend template specialization %qD"
+ msgstr "%<inline%> ä¸å…許用於夥伴範本特例化 %qD 的宣告"
+
+-#: cp/decl.c:6433
++#: cp/decl.c:6505
+ #, gcc-internal-format
+ msgid "cannot declare %<::main%> to be a template"
+ msgstr "ä¸èƒ½å°‡ %<::main%> 宣告為一個範本"
+
+-#: cp/decl.c:6435
++#: cp/decl.c:6507
+ #, gcc-internal-format
+ msgid "cannot declare %<::main%> to be inline"
+ msgstr "ä¸èƒ½å°‡ %<::main%> 宣告為 inline"
+
+-#: cp/decl.c:6437
++#: cp/decl.c:6509
+ #, gcc-internal-format
+ msgid "cannot declare %<::main%> to be static"
+ msgstr "ä¸èƒ½å°‡ %<::main%> 宣告為 static"
+
+-#: cp/decl.c:6465
++#: cp/decl.c:6537
+ #, gcc-internal-format
+ msgid "non-local function %q#D uses anonymous type"
+ msgstr "éžå±€éƒ¨å‡½å¼ %q#D 使用匿åé¡žåž‹"
+
+-#: cp/decl.c:6468 cp/decl.c:6748
++#: cp/decl.c:6540 cp/decl.c:6820
+ #, gcc-internal-format
+ msgid "%q+#D does not refer to the unqualified type, so it is not used for linkage"
+ msgstr "%q+#D 未指明éžé™å®šé¡žåž‹ï¼Œæ‰€ä»¥å®ƒä¸åšç‚ºå¤–部連çµ"
+
+-#: cp/decl.c:6474
++#: cp/decl.c:6546
+ #, gcc-internal-format
+ msgid "non-local function %q#D uses local type %qT"
+ msgstr "éžå±€éƒ¨å‡½å¼ %q#D 使用了局部類型 %qT"
+
+-#: cp/decl.c:6498
++#: cp/decl.c:6570
+ #, fuzzy, gcc-internal-format
+ msgid "static member function %qD cannot have cv-qualifier"
+ msgstr "%sæˆå“¡å‡½å¼ %qD ä¸èƒ½æ“有 cv é™å®šç¬¦"
+
+-#: cp/decl.c:6499
++#: cp/decl.c:6571
+ #, fuzzy, gcc-internal-format
+ msgid "non-member function %qD cannot have cv-qualifier"
+ msgstr "%sæˆå“¡å‡½å¼ %qD ä¸èƒ½æ“有 cv é™å®šç¬¦"
+
+-#: cp/decl.c:6547
++#: cp/decl.c:6619
+ #, gcc-internal-format
+ msgid "%<::main%> must return %<int%>"
+ msgstr "%<::main%> 必須回傳 %<int%>"
+
+-#: cp/decl.c:6586
++#: cp/decl.c:6658
+ #, gcc-internal-format
+ msgid "definition of implicitly-declared %qD"
+ msgstr "éš±å«å®£å‘Šçš„ %qD 的定義"
+
+-#: cp/decl.c:6603 cp/decl2.c:677
++#: cp/decl.c:6675 cp/decl2.c:677
+ #, gcc-internal-format
+ msgid "no %q#D member function declared in class %qT"
+ msgstr "æˆå“¡å‡½å¼ %q#D 未在類別 %qT 中宣告"
+@@ -28224,546 +28205,551 @@
+ #. 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/decl.c:6745
++#: cp/decl.c:6817
+ #, gcc-internal-format
+ msgid "non-local variable %q#D uses anonymous type"
+ msgstr "éžå±€éƒ¨è®Šæ•¸ %q#D 使用了匿åé¡žåž‹"
+
+-#: cp/decl.c:6754
++#: cp/decl.c:6826
+ #, gcc-internal-format
+ msgid "non-local variable %q#D uses local type %qT"
+ msgstr "éžå±€éƒ¨è®Šæ•¸ %q#D 使用了局部類型 %qT"
+
+-#: cp/decl.c:6876
++#: cp/decl.c:6948
+ #, gcc-internal-format
+ msgid "invalid in-class initialization of static data member of non-integral type %qT"
+ msgstr "類別中å°å…·æœ‰éžæ•´æ•¸é¡žåž‹ %qT çš„éœæ…‹è³‡æ–™æˆå“¡çš„åˆå§‹åŒ–無效"
+
+-#: cp/decl.c:6886
++#: cp/decl.c:6958
+ #, gcc-internal-format
+ msgid "ISO C++ forbids in-class initialization of non-const static member %qD"
+ msgstr "ISO C++ ä¸å…許在類別內åˆå§‹åŒ–éžå¸¸æ•¸éœæ…‹æˆå“¡ %qD"
+
+-#: cp/decl.c:6890
++#: cp/decl.c:6962
+ #, gcc-internal-format
+ msgid "ISO C++ forbids initialization of member constant %qD of non-integral type %qT"
+ msgstr "ISO C++ ä¸å…許åˆå§‹åŒ–æˆå“¡å¸¸æ•¸ %qD,因為它有éžæ•´æ•¸çš„é¡žåž‹ %qT"
+
+-#: cp/decl.c:6915
++#: cp/decl.c:6987
+ #, gcc-internal-format
+ msgid "size of array %qD has non-integral type %qT"
+ msgstr "陣列 %qD 的大å°å…·æœ‰éžæ•´æ•¸é¡žåž‹ %qT"
+
+-#: cp/decl.c:6917
++#: cp/decl.c:6989
+ #, gcc-internal-format
+ msgid "size of array has non-integral type %qT"
+ msgstr "陣列 %qT 的大å°çš„é¡žåž‹ä¸æ˜¯æ•´æ•¸"
+
+-#: cp/decl.c:6965
++#: cp/decl.c:7037
+ #, gcc-internal-format
+ msgid "size of array %qD is negative"
+ msgstr "陣列 %qD 的大å°ç‚ºè² "
+
+-#: cp/decl.c:6967
++#: cp/decl.c:7039
+ #, gcc-internal-format
+ msgid "size of array is negative"
+ msgstr "陣列大å°ç‚ºè² æ•¸"
+
+-#: cp/decl.c:6975
++#: cp/decl.c:7047
+ #, gcc-internal-format
+ msgid "ISO C++ forbids zero-size array %qD"
+ msgstr "ISO C ä¸å…許大å°ç‚º 0 的陣列 %qD"
+
+-#: cp/decl.c:6977
++#: cp/decl.c:7049
+ #, gcc-internal-format
+ msgid "ISO C++ forbids zero-size array"
+ msgstr "ISO C++ ä¸å…許大å°ç‚º 0 的陣列"
+
+-#: cp/decl.c:6984
++#: cp/decl.c:7056
+ #, gcc-internal-format
+ msgid "size of array %qD is not an integral constant-expression"
+ msgstr "陣列 %qD 的大å°ä¸æ˜¯ä¸€å€‹æ•´æ•¸å¸¸é‹ç®—å¼"
+
+-#: cp/decl.c:6987
++#: cp/decl.c:7059
+ #, gcc-internal-format
+ msgid "size of array is not an integral constant-expression"
+ msgstr "陣列大å°ä¸æ˜¯ä¸€å€‹æ•´æ•¸å¸¸é‹ç®—å¼"
+
+-#: cp/decl.c:6993
++#: cp/decl.c:7065
+ #, fuzzy, gcc-internal-format
+ msgid "ISO C++ forbids variable length array %qD"
+ msgstr "ISO C++ ä¸å…許彈性陣列 %qD"
+
+-#: cp/decl.c:6995
++#: cp/decl.c:7067
+ #, fuzzy, gcc-internal-format
+ msgid "ISO C++ forbids variable length array"
+ msgstr "ISO C++ ä¸å…許彈性陣列"
+
+-#: cp/decl.c:7001
++#: cp/decl.c:7073
+ #, gcc-internal-format
+ msgid "variable length array %qD is used"
+ msgstr ""
+
+-#: cp/decl.c:7035
++#: cp/decl.c:7107
+ #, gcc-internal-format
+ msgid "overflow in array dimension"
+ msgstr "陣列維數溢出"
+
+-#: cp/decl.c:7116
++#: cp/decl.c:7188
+ #, gcc-internal-format
+ msgid "declaration of %qD as %s"
+ msgstr "%qD 宣告為 %s"
+
+-#: cp/decl.c:7118
++#: cp/decl.c:7190
+ #, gcc-internal-format
+ msgid "creating %s"
+ msgstr "建立 %s"
+
+-#: cp/decl.c:7130
++#: cp/decl.c:7202
+ #, gcc-internal-format
+ msgid "declaration of %qD as multidimensional array must have bounds for all dimensions except the first"
+ msgstr "多維陣列 %qD 的宣告必須至少指定除第一維以外所有維的大å°"
+
+-#: cp/decl.c:7134
++#: cp/decl.c:7206
+ #, gcc-internal-format
+ msgid "multidimensional array must have bounds for all dimensions except the first"
+ msgstr "宣告多維陣列必須至少指定除第一維以外所有維的大å°"
+
+-#: cp/decl.c:7169
++#: cp/decl.c:7241
+ #, gcc-internal-format
+ msgid "return type specification for constructor invalid"
+ msgstr "為建構å¼æŒ‡å®šå›žå‚³å€¼ç„¡æ•ˆ"
+
+-#: cp/decl.c:7179
++#: cp/decl.c:7251
+ #, gcc-internal-format
+ msgid "return type specification for destructor invalid"
+ msgstr "指定解構函å¼çš„回傳類型無效"
+
+-#: cp/decl.c:7192
++#: cp/decl.c:7264
+ #, gcc-internal-format
+ msgid "return type specified for %<operator %T%>"
+ msgstr "為 %<operator %T%> 指定了回傳值"
+
+-#: cp/decl.c:7214
++#: cp/decl.c:7286
+ #, gcc-internal-format
+ msgid "unnamed variable or field declared void"
+ msgstr "ç„¡å變數或欄ä½å®£å‘Šç‚º void"
+
+-#: cp/decl.c:7218
++#: cp/decl.c:7290
+ #, gcc-internal-format
+ msgid "variable or field %qE declared void"
+ msgstr "è®Šæ•¸æˆ–æ¬„ä½ %qE 宣告為 void"
+
+-#: cp/decl.c:7221
++#: cp/decl.c:7293
+ #, gcc-internal-format
+ msgid "variable or field declared void"
+ msgstr "變數或欄ä½å®£å‘Šç‚º void"
+
+-#: cp/decl.c:7388
++#: cp/decl.c:7460
+ #, fuzzy, gcc-internal-format
+ msgid "invalid use of qualified-name %<::%D%>"
+ msgstr "錯誤地使用了 %<::%>"
+
+-#: cp/decl.c:7391
++#: cp/decl.c:7463
+ #, fuzzy, gcc-internal-format
+ msgid "invalid use of qualified-name %<%T::%D%>"
+ msgstr "å°æœªå®šç¾©é¡žåž‹ %<%s %E%> 的使用無效"
+
+-#: cp/decl.c:7394
++#: cp/decl.c:7466
+ #, fuzzy, gcc-internal-format
+ msgid "invalid use of qualified-name %<%D::%D%>"
+ msgstr "å°æœªå®šç¾©é¡žåž‹ %<%s %E%> 的使用無效"
+
+-#: cp/decl.c:7406
++#: cp/decl.c:7478
+ #, gcc-internal-format
+ msgid "type %qT is not derived from type %qT"
+ msgstr "é¡žåž‹ %qT ä¸æ˜¯ç”±é¡žåž‹ %qT è¡ç”Ÿçš„"
+
+-#: cp/decl.c:7422 cp/decl.c:7512 cp/decl.c:8660
++#: cp/decl.c:7494 cp/decl.c:7584 cp/decl.c:8732
+ #, gcc-internal-format
+ msgid "declaration of %qD as non-function"
+ msgstr "%qD 沒有宣告為一個函å¼"
+
+-#: cp/decl.c:7428
++#: cp/decl.c:7500
+ #, gcc-internal-format
+ msgid "declaration of %qD as non-member"
+ msgstr "%qD 未宣告為æˆå“¡"
+
+-#: cp/decl.c:7457
++#: cp/decl.c:7529
+ #, gcc-internal-format
+ msgid "declarator-id missing; using reserved word %qD"
+ msgstr "缺少宣告識別碼:使用了ä¿ç•™å­— %qD"
+
+-#: cp/decl.c:7504
++#: cp/decl.c:7576
+ #, fuzzy, gcc-internal-format
+ msgid "function definition does not declare parameters"
+ msgstr "函å¼å®£å‘Šå®šç¾©ç‚º %<register%>"
+
+-#: cp/decl.c:7546
++#: cp/decl.c:7618
+ #, gcc-internal-format
+ msgid "two or more data types in declaration of %qs"
+ msgstr "%qs 的宣告指定了兩個以上的資料類型"
+
+-#: cp/decl.c:7552
++#: cp/decl.c:7624
+ #, fuzzy, gcc-internal-format
+ msgid "conflicting specifiers in declaration of %qs"
+ msgstr "相互è¡çªçš„宣告 %q#D"
+
+-#: cp/decl.c:7623 cp/decl.c:7626
++#: cp/decl.c:7695 cp/decl.c:7698
+ #, gcc-internal-format
+ msgid "ISO C++ forbids declaration of %qs with no type"
+ msgstr "ISO C++ ä¸å…許宣告無類型的 %qs"
+
+-#: cp/decl.c:7651
++#: cp/decl.c:7723
+ #, fuzzy, gcc-internal-format
+ msgid "%<signed%> or %<unsigned%> invalid for %qs"
+ msgstr "為 %qs 使用 shortã€signed 或 unsigned 無效"
+
+-#: cp/decl.c:7653
++#: cp/decl.c:7725
+ #, fuzzy, gcc-internal-format
+ msgid "%<signed%> and %<unsigned%> specified together for %qs"
+ msgstr "為 %qs åŒæ™‚給定了 signed å’Œ unsigned"
+
+-#: cp/decl.c:7655
++#: cp/decl.c:7727
+ #, fuzzy, gcc-internal-format
+ msgid "%<long long%> invalid for %qs"
+ msgstr "å° %qs 而言無效的複數"
+
+-#: cp/decl.c:7657
++#: cp/decl.c:7729
+ #, fuzzy, gcc-internal-format
+ msgid "%<long%> invalid for %qs"
+ msgstr "å° %qs 而言無效的複數"
+
+-#: cp/decl.c:7659
++#: cp/decl.c:7731
+ #, fuzzy, gcc-internal-format
+ msgid "%<short%> invalid for %qs"
+ msgstr "å° %qs 而言無效的複數"
+
+-#: cp/decl.c:7661
++#: cp/decl.c:7733
+ #, fuzzy, gcc-internal-format
+ msgid "%<long%> or %<short%> invalid for %qs"
+ msgstr "為 %qs 使用 longã€shortã€signed 或 unsigned 無效"
+
+-#: cp/decl.c:7663
++#: cp/decl.c:7735
+ #, fuzzy, gcc-internal-format
+ msgid "%<long%> or %<short%> specified with char for %qs"
+ msgstr "為 char %qs 給定了 long 或 short"
+
+-#: cp/decl.c:7665
++#: cp/decl.c:7737
+ #, fuzzy, gcc-internal-format
+ msgid "%<long%> and %<short%> specified together for %qs"
+ msgstr "為 %qs åŒæ™‚給定了 long å’Œ short"
+
+-#: cp/decl.c:7671
++#: cp/decl.c:7743
+ #, gcc-internal-format
+ msgid "long, short, signed or unsigned used invalidly for %qs"
+ msgstr "為 %qs 使用 longã€shortã€signed 或 unsigned 無效"
+
+-#: cp/decl.c:7735
++#: cp/decl.c:7807
+ #, gcc-internal-format
+ msgid "complex invalid for %qs"
+ msgstr "å° %qs 而言無效的複數"
+
+-#: cp/decl.c:7764
++#: cp/decl.c:7836
+ #, gcc-internal-format
+ msgid "qualifiers are not allowed on declaration of %<operator %T%>"
+ msgstr "%<operator %T%> 的宣告中ä¸èƒ½ä½¿ç”¨é™å®šç¬¦"
+
+-#: cp/decl.c:7776 cp/typeck.c:7011
++#: cp/decl.c:7848 cp/typeck.c:7039
+ #, gcc-internal-format
+ msgid "ignoring %qV qualifiers added to function type %qT"
+ msgstr "忽略 %qV é™å®šç¬¦ï¼Œåœ¨å‡½å¼é¡žåž‹ %qT 上"
+
+-#: cp/decl.c:7799
++#: cp/decl.c:7871
+ #, gcc-internal-format
+ msgid "member %qD cannot be declared both virtual and static"
+ msgstr "æˆå“¡ %qD ä¸èƒ½æ—¢è¢«å®£å‘Šç‚ºè™›å‡½å¼ï¼Œåˆè¢«å®£å‘Šç‚ºéœæ…‹å‡½å¼"
+
+-#: cp/decl.c:7807
++#: cp/decl.c:7879
+ #, gcc-internal-format
+ msgid "%<%T::%D%> is not a valid declarator"
+ msgstr "%<%T::%D%> ä¸æ˜¯ä¸€å€‹æœ‰æ•ˆçš„宣告"
+
+-#: cp/decl.c:7816
++#: cp/decl.c:7888
+ #, gcc-internal-format
+ msgid "typedef declaration invalid in parameter declaration"
+ msgstr "åƒæ•¸å®£å‘Šä¸­å‡ºç¾çš„ typedef 宣告無效"
+
+-#: cp/decl.c:7822
++#: cp/decl.c:7894
+ #, gcc-internal-format
+ msgid "storage class specifiers invalid in parameter declarations"
+ msgstr "為åƒæ•¸å®£å‘ŠæŒ‡å®šäº†ç„¡æ•ˆçš„存儲類別"
+
+-#: cp/decl.c:7829
++#: cp/decl.c:7901
+ #, gcc-internal-format
+ msgid "virtual outside class declaration"
+ msgstr "virtual 用在類別宣告以外"
+
+-#: cp/decl.c:7847
++#: cp/decl.c:7919
+ #, gcc-internal-format
+ msgid "multiple storage classes in declaration of %qs"
+ msgstr "%qs 的宣告指定了多個存儲類別"
+
+-#: cp/decl.c:7870
++#: cp/decl.c:7942
+ #, gcc-internal-format
+ msgid "storage class specified for %qs"
+ msgstr "為 %qs 指定了存儲類別"
+
+-#: cp/decl.c:7904
++#: cp/decl.c:7976
+ #, gcc-internal-format
+ msgid "top-level declaration of %qs specifies %<auto%>"
+ msgstr "在頂層將 %qs 宣告為 %<auto%>"
+
+-#: cp/decl.c:7916
++#: cp/decl.c:7988
+ #, gcc-internal-format
+ msgid "storage class specifiers invalid in friend function declarations"
+ msgstr "為夥伴函å¼å®£å‘ŠæŒ‡å®šäº†ç„¡æ•ˆçš„存儲類別"
+
+-#: cp/decl.c:8043
++#: cp/decl.c:8115
+ #, gcc-internal-format
+ msgid "destructor cannot be static member function"
+ msgstr "解構函å¼ä¸èƒ½æ˜¯éœæ…‹æˆå“¡å‡½å¼"
+
+-#: cp/decl.c:8048
++#: cp/decl.c:8120
+ #, gcc-internal-format
+ msgid "destructors may not be cv-qualified"
+ msgstr "解構函å¼ä¸èƒ½è¢« cv é™å®š"
+
+-#: cp/decl.c:8066
++#: cp/decl.c:8138
+ #, gcc-internal-format
+ msgid "constructors cannot be declared virtual"
+ msgstr "建構å¼ä¸èƒ½è¢«å®£å‘Šç‚ºè™›å‡½å¼"
+
+-#: cp/decl.c:8079
++#: cp/decl.c:8151
+ #, gcc-internal-format
+ msgid "can't initialize friend function %qs"
+ msgstr "無法åˆå§‹åŒ–å¤¥ä¼´å‡½å¼ %qs"
+
+ #. Cannot be both friend and virtual.
+-#: cp/decl.c:8083
++#: cp/decl.c:8155
+ #, gcc-internal-format
+ msgid "virtual functions cannot be friends"
+ msgstr "虛函å¼ä¸èƒ½æ˜¯å¤¥ä¼´"
+
+-#: cp/decl.c:8087
++#: cp/decl.c:8159
+ #, gcc-internal-format
+ msgid "friend declaration not in class definition"
+ msgstr "夥伴宣告ä¸åœ¨é¡žåˆ¥å®šç¾©å…§"
+
+-#: cp/decl.c:8089
++#: cp/decl.c:8161
+ #, gcc-internal-format
+ msgid "can't define friend function %qs in a local class definition"
+ msgstr "局部類別定義中ä¸èƒ½å®šç¾©å¤¥ä¼´å‡½å¼ %qs"
+
+-#: cp/decl.c:8102
++#: cp/decl.c:8174
+ #, gcc-internal-format
+ msgid "destructors may not have parameters"
+ msgstr "解構函å¼ä¸èƒ½æœ‰åƒæ•¸"
+
+-#: cp/decl.c:8121
++#: cp/decl.c:8193
+ #, gcc-internal-format
+ msgid "cannot declare pointer to %q#T"
+ msgstr "無法宣告åƒç…§ %q#T 的指標"
+
+-#: cp/decl.c:8134 cp/decl.c:8141
++#: cp/decl.c:8206 cp/decl.c:8213
+ #, gcc-internal-format
+ msgid "cannot declare reference to %q#T"
+ msgstr "ç„¡æ³•å®£å‘Šå° %q#T çš„åƒç…§"
+
+-#: cp/decl.c:8143
++#: cp/decl.c:8215
+ #, gcc-internal-format
+ msgid "cannot declare pointer to %q#T member"
+ msgstr "無法宣告åƒç…§ %q#T æˆå“¡çš„指標"
+
+-#: cp/decl.c:8194
++#: cp/decl.c:8266
+ #, gcc-internal-format
+ msgid "cannot declare reference to %q#T, which is not a typedef or a template type argument"
+ msgstr ""
+
+-#: cp/decl.c:8238
++#: cp/decl.c:8310
+ #, gcc-internal-format
+ msgid "template-id %qD used as a declarator"
+ msgstr "範本識別碼 %qD åšç‚ºå®£å‘Š"
+
+-#: cp/decl.c:8289
++#: cp/decl.c:8361
+ #, gcc-internal-format
+ msgid "member functions are implicitly friends of their class"
+ msgstr "æˆå“¡å‡½å¼éš±å«åœ°æˆç‚ºæ‰€å±¬é¡žåˆ¥çš„夥伴"
+
+-#: cp/decl.c:8293
++#: cp/decl.c:8365
+ #, gcc-internal-format
+ msgid "extra qualification %<%T::%> on member %qs"
+ msgstr "有多餘的é™å®š %<%T::%> æ–¼æˆå“¡ %qs 上"
+
+-#: cp/decl.c:8325
++#: cp/decl.c:8397
+ #, gcc-internal-format
+ msgid "cannot define member function %<%T::%s%> within %<%T%>"
+ msgstr "無法定義æˆå“¡å‡½å¼ %<%T::%s%> æ–¼ %<%T%> 之內"
+
+-#: cp/decl.c:8342
++#: cp/decl.c:8414
+ #, gcc-internal-format
+ msgid "cannot declare member %<%T::%s%> within %qT"
+ msgstr "無法宣告æˆå“¡ %<%T::%s%> æ–¼ %qT 之內"
+
+-#: cp/decl.c:8365
++#: cp/decl.c:8437
+ #, fuzzy, gcc-internal-format
+ msgid "non-parameter %qs cannot be a parameter pack"
+ msgstr "資料æˆå“¡ %qD ä¸èƒ½æ˜¯æˆå“¡ç¯„本"
+
+-#: cp/decl.c:8386
++#: cp/decl.c:8458
+ #, gcc-internal-format
+ msgid "data member may not have variably modified type %qT"
+ msgstr "資料æˆå“¡ä¸èƒ½å…·æœ‰å¯è®Šé¡žåž‹ %qT"
+
+-#: cp/decl.c:8388
++#: cp/decl.c:8460
+ #, gcc-internal-format
+ msgid "parameter may not have variably modified type %qT"
+ msgstr "åƒæ•¸ä¸èƒ½å…·æœ‰å¯è®Šé¡žåž‹ %qT"
+
+ #. [dcl.fct.spec] The explicit specifier shall only be used in
+ #. declarations of constructors within a class definition.
+-#: cp/decl.c:8396
++#: cp/decl.c:8468
+ #, gcc-internal-format
+ msgid "only declarations of constructors can be %<explicit%>"
+ msgstr "åªæœ‰å»ºæ§‹å¼æ‰èƒ½è¢«å®£å‘Šç‚º %<explicit%>"
+
+-#: cp/decl.c:8404
++#: cp/decl.c:8476
+ #, gcc-internal-format
+ msgid "non-member %qs cannot be declared %<mutable%>"
+ msgstr "éžæˆå“¡ %qs ä¸èƒ½è¢«å®£å‘Šç‚º %<mutable%>"
+
+-#: cp/decl.c:8409
++#: cp/decl.c:8481
+ #, gcc-internal-format
+ msgid "non-object member %qs cannot be declared %<mutable%>"
+ msgstr "éžç‰©ä»¶æˆå“¡ %qs ä¸èƒ½è¢«å®£å‘Šç‚º %<mutable%>"
+
+-#: cp/decl.c:8415
++#: cp/decl.c:8487
+ #, gcc-internal-format
+ msgid "function %qs cannot be declared %<mutable%>"
+ msgstr "å‡½å¼ %qs ä¸èƒ½è¢«å®£å‘Šç‚º %<mutable%>"
+
+-#: cp/decl.c:8420
++#: cp/decl.c:8492
+ #, gcc-internal-format
+ msgid "static %qs cannot be declared %<mutable%>"
+ msgstr "éœæ…‹ %qs ä¸èƒ½è¢«å®£å‘Šç‚º %<mutable%>"
+
+-#: cp/decl.c:8425
++#: cp/decl.c:8497
+ #, gcc-internal-format
+ msgid "const %qs cannot be declared %<mutable%>"
+ msgstr "常數 %qs ä¸èƒ½è¢«å®£å‘Šç‚º %<mutable%>"
+
+-#: cp/decl.c:8462
++#: cp/decl.c:8534
+ #, gcc-internal-format
+ msgid "%Jtypedef name may not be a nested-name-specifier"
+ msgstr "%Jtypedef åä¸èƒ½æ˜¯å·¢ç‹€å指定"
+
+-#: cp/decl.c:8478
++#: cp/decl.c:8550
+ #, gcc-internal-format
+ msgid "ISO C++ forbids nested type %qD with same name as enclosing class"
+ msgstr "ISO C++ ä¸å…許嵌類別的類型 %qD 與其所屬的類別åŒå"
+
+-#: cp/decl.c:8564
++#: cp/decl.c:8636
+ #, fuzzy, gcc-internal-format
+ msgid "qualified function types cannot be used to declare static member functions"
+ msgstr "é™å®šçš„函å¼é¡žåž‹ä¸èƒ½ç”¨ä¾†å®£å‘Š %s 函å¼"
+
+-#: cp/decl.c:8566
++#: cp/decl.c:8638
+ #, fuzzy, gcc-internal-format
+ msgid "qualified function types cannot be used to declare free functions"
+ msgstr "é™å®šçš„函å¼é¡žåž‹ä¸èƒ½ç”¨ä¾†å®£å‘Š %s 函å¼"
+
+-#: cp/decl.c:8592
++#: cp/decl.c:8664
+ #, gcc-internal-format
+ msgid "type qualifiers specified for friend class declaration"
+ msgstr "為夥伴類別宣告指定了類型é™å®š"
+
+-#: cp/decl.c:8597
++#: cp/decl.c:8669
+ #, gcc-internal-format
+ msgid "%<inline%> specified for friend class declaration"
+ msgstr "夥伴函å¼å®£å‘Šä¸­å‡ºç¾äº† %<inline%>"
+
+-#: cp/decl.c:8605
++#: cp/decl.c:8677
+ #, gcc-internal-format
+ msgid "template parameters cannot be friends"
+ msgstr "範本åƒæ•¸ä¸èƒ½æ˜¯å¤¥ä¼´"
+
+-#: cp/decl.c:8607
++#: cp/decl.c:8679
+ #, gcc-internal-format
+ msgid "friend declaration requires class-key, i.e. %<friend class %T::%D%>"
+ msgstr "å¤¥ä¼´å®£å‘Šéœ€è¦ classï¼Œå³ %<friend class %T::%D%>"
+
+-#: cp/decl.c:8611
++#: cp/decl.c:8683
+ #, gcc-internal-format
+ msgid "friend declaration requires class-key, i.e. %<friend %#T%>"
+ msgstr "å¤¥ä¼´å®£å‘Šéœ€è¦ classï¼Œå³ %<friend %#T%>"
+
+-#: cp/decl.c:8624
++#: cp/decl.c:8696
+ #, gcc-internal-format
+ msgid "trying to make class %qT a friend of global scope"
+ msgstr "試圖讓 %qT æˆç‚ºå…¨åŸŸæ¬„ä½çš„夥伴"
+
+-#: cp/decl.c:8635
++#: cp/decl.c:8707
+ #, gcc-internal-format
+ msgid "invalid qualifiers on non-member function type"
+ msgstr "éžæˆå“¡å‡½å¼é¡žåž‹ä¸Šçš„é™å®šç¬¦ç„¡æ•ˆ"
+
+-#: cp/decl.c:8650
++#: cp/decl.c:8722
+ #, gcc-internal-format
+ msgid "abstract declarator %qT used as declaration"
+ msgstr "抽象宣告 %qT åšç‚ºå®£å‘Š"
+
+-#: cp/decl.c:8679
++#: cp/decl.c:8751
+ #, gcc-internal-format
+ msgid "cannot use %<::%> in parameter declaration"
+ msgstr "ä¸èƒ½åœ¨åƒæ•¸å®£å‘Šä¸­ä½¿ç”¨ %<::%>"
+
+ #. Something like struct S { int N::j; };
+-#: cp/decl.c:8725
++#: cp/decl.c:8797
+ #, gcc-internal-format
+ msgid "invalid use of %<::%>"
+ msgstr "錯誤地使用了 %<::%>"
+
+-#: cp/decl.c:8740
++#: cp/decl.c:8812
+ #, gcc-internal-format
+ msgid "can't make %qD into a method -- not in a class"
+ msgstr "%qD ä¸èƒ½æ˜¯ä¸€å€‹æ–¹æ³• -- ä¸åœ¨é¡žåˆ¥ä¸­"
+
+-#: cp/decl.c:8749
++#: cp/decl.c:8821
+ #, gcc-internal-format
+ msgid "function %qD declared virtual inside a union"
+ msgstr "è¯åˆæˆå“¡å‡½å¼ %qD 被宣告為虛函å¼"
+
+-#: cp/decl.c:8758
++#: cp/decl.c:8830
+ #, gcc-internal-format
+ msgid "%qD cannot be declared virtual, since it is always static"
+ msgstr "%qD ä¸èƒ½å®£å‘Šç‚ºè™›å‡½å¼ï¼Œå› ç‚ºå®ƒç¸½æ˜¯éœæ…‹çš„"
+
+-#: cp/decl.c:8774
++#: cp/decl.c:8846
+ #, gcc-internal-format
+ msgid "expected qualified name in friend declaration for destructor %qD"
+ msgstr "åœ¨è§£æ§‹å‡½å¼ %qD 中的夥伴宣告需è¦é™å®šå"
+
+-#: cp/decl.c:8784
++#: cp/decl.c:8856
+ #, gcc-internal-format
+ msgid "declaration of %qD as member of %qT"
+ msgstr "%qD 宣告為 %qT 的一個æˆå“¡"
+
+-#: cp/decl.c:8860
++#: cp/decl.c:8863
++#, fuzzy, gcc-internal-format
++msgid "expected qualified name in friend declaration for constructor %qD"
++msgstr "åœ¨è§£æ§‹å‡½å¼ %qD 中的夥伴宣告需è¦é™å®šå"
++
++#: cp/decl.c:8939
+ #, gcc-internal-format
+ msgid "field %qD has incomplete type"
+ msgstr "æ¬„ä½ %qD é¡žåž‹ä¸å®Œå…¨"
+
+-#: cp/decl.c:8862
++#: cp/decl.c:8941
+ #, gcc-internal-format
+ msgid "name %qT has incomplete type"
+ msgstr "å稱 %qT é¡žåž‹ä¸å®Œå…¨"
+
+-#: cp/decl.c:8871
++#: cp/decl.c:8950
+ #, gcc-internal-format
+ msgid " in instantiation of template %qT"
+ msgstr " 在範本 %qT 的實體化中"
+
+-#: cp/decl.c:8880
++#: cp/decl.c:8959
+ #, gcc-internal-format
+ msgid "%qE is neither function nor member function; cannot be declared friend"
+ msgstr "%qE æ—¢ä¸æ˜¯å‡½å¼ä¹Ÿä¸æ˜¯æˆå“¡å‡½å¼ï¼›ä¸èƒ½å®£å‘Šç‚ºå¤¥ä¼´"
+@@ -28780,103 +28766,108 @@
+ #. the rest of the compiler does not correctly
+ #. handle the initialization unless the member is
+ #. static so we make it static below.
+-#: cp/decl.c:8932
++#: cp/decl.c:9011
+ #, gcc-internal-format
+ msgid "ISO C++ forbids initialization of member %qD"
+ msgstr "ISO C++ ä¸å…許æˆå“¡ %qD çš„åˆå§‹åŒ–"
+
+-#: cp/decl.c:8934
++#: cp/decl.c:9013
+ #, gcc-internal-format
+ msgid "making %qD static"
+ msgstr "使 %qD æˆç‚ºéœæ…‹çš„"
+
+-#: cp/decl.c:8999
++#: cp/decl.c:9078
+ #, gcc-internal-format
+ msgid "storage class %<auto%> invalid for function %qs"
+ msgstr "å‡½å¼ %qs 的存儲類別 %<auto%> 無效"
+
+-#: cp/decl.c:9001
++#: cp/decl.c:9080
+ #, gcc-internal-format
+ msgid "storage class %<register%> invalid for function %qs"
+ msgstr "å‡½å¼ %qs 的存儲類別 %<register%> 無效"
+
+-#: cp/decl.c:9003
++#: cp/decl.c:9082
+ #, gcc-internal-format
+ msgid "storage class %<__thread%> invalid for function %qs"
+ msgstr "å‡½å¼ %qs 的存儲類別 %<__thread%> 無效"
+
+-#: cp/decl.c:9014
++#: cp/decl.c:9093
+ #, gcc-internal-format
+ msgid "%<static%> specified invalid for function %qs declared out of global scope"
+ msgstr "在全域作用欄ä½å¤–ç‚ºå‡½å¼ %qs 指定 %<static%> 無效"
+
+-#: cp/decl.c:9017
++#: cp/decl.c:9096
+ #, gcc-internal-format
+ msgid "%<inline%> specifier invalid for function %qs declared out of global scope"
+ msgstr "在全域作用欄ä½å¤–ç‚ºå‡½å¼ %qs 指定 %<inline%> 無效"
+
+-#: cp/decl.c:9025
++#: cp/decl.c:9104
+ #, gcc-internal-format
+ msgid "virtual non-class function %qs"
+ msgstr "è™›å‡½å¼ %qs ä¸æ˜¯é¡žåˆ¥æˆå“¡"
+
+-#: cp/decl.c:9056
++#: cp/decl.c:9135
+ #, gcc-internal-format
+ msgid "cannot declare member function %qD to have static linkage"
+ msgstr "ä¸èƒ½å°‡æˆå“¡å‡½å¼ %qD 宣告為有éœæ…‹é€£çµ"
+
+ #. FIXME need arm citation
+-#: cp/decl.c:9063
++#: cp/decl.c:9142
+ #, gcc-internal-format
+ msgid "cannot declare static function inside another function"
+ msgstr "ä¸èƒ½åœ¨å¦ä¸€å€‹å‡½å¼ä¸­å®£å‘Šä¸€å€‹éœæ…‹å‡½å¼"
+
+-#: cp/decl.c:9093
++#: cp/decl.c:9172
+ #, gcc-internal-format
+ msgid "%<static%> may not be used when defining (as opposed to declaring) a static data member"
+ msgstr "與宣告ä¸åŒï¼Œå®šç¾©éœæ…‹è³‡æ–™æˆå“¡æ™‚ä¸èƒ½ä½¿ç”¨ %<static%>"
+
+-#: cp/decl.c:9100
++#: cp/decl.c:9179
+ #, gcc-internal-format
+ msgid "static member %qD declared %<register%>"
+ msgstr "éœæ…‹æˆå“¡ %qD 宣告為 %<register%>"
+
+-#: cp/decl.c:9105
++#: cp/decl.c:9184
+ #, gcc-internal-format
+ msgid "cannot explicitly declare member %q#D to have extern linkage"
+ msgstr "ä¸èƒ½æ˜Žç¢ºåœ°å°‡æˆå“¡ %q#D 宣告為有外部連çµ"
+
+-#: cp/decl.c:9234
++#: cp/decl.c:9313
+ #, gcc-internal-format
+ msgid "default argument for %q#D has type %qT"
+ msgstr "%q#D çš„é è¨­å¼•æ•¸é¡žåž‹ç‚º %qT"
+
+-#: cp/decl.c:9237
++#: cp/decl.c:9316
+ #, gcc-internal-format
+ msgid "default argument for parameter of type %qT has type %qT"
+ msgstr "類型為 %qT çš„åƒæ•¸çš„é è¨­å¼•æ•¸å»æœ‰é¡žåž‹ %qT"
+
+-#: cp/decl.c:9253
++#: cp/decl.c:9332
+ #, gcc-internal-format
+ msgid "default argument %qE uses local variable %qD"
+ msgstr "é è¨­å¼•æ•¸ %qE 使用了局部變數 %qD"
+
+-#: cp/decl.c:9323
++#: cp/decl.c:9399
++#, fuzzy, gcc-internal-format
++msgid "parameter %qD has Java class type"
++msgstr "åƒæ•¸ %q+D çš„é¡žåž‹ä¸å®Œå…¨"
++
++#: cp/decl.c:9412
+ #, gcc-internal-format
+ msgid "parameter %qD invalidly declared method type"
+ msgstr "åƒæ•¸ %qD 被無效地被宣告為具有方法類型"
+
+-#: cp/decl.c:9347
++#: cp/decl.c:9436
+ #, gcc-internal-format
+ msgid "parameter %qD includes %s to array of unknown bound %qT"
+ msgstr "åƒæ•¸ %qD 包å«äº† %s,後者åƒç…§æœ‰ä¸æ˜Žé‚Šç•Œ %qT 的陣列"
+
+-#: cp/decl.c:9361
++#: cp/decl.c:9450
+ #, fuzzy, gcc-internal-format
+ msgid "parameter packs must be at the end of the parameter list"
+ msgstr "%Jåƒæ•¸æ¸…單中缺少åƒæ•¸å"
+
+-#: cp/decl.c:9366
++#: cp/decl.c:9455
+ #, fuzzy, gcc-internal-format
+ msgid "multiple parameters named %qE"
+ msgstr "多個å為 %q+D çš„åƒæ•¸"
+@@ -28896,138 +28887,138 @@
+ #. or implicitly defined), there's no need to worry about their
+ #. existence. Theoretically, they should never even be
+ #. instantiated, but that's hard to forestall.
+-#: cp/decl.c:9581
++#: cp/decl.c:9672
+ #, gcc-internal-format
+ msgid "invalid constructor; you probably meant %<%T (const %T&)%>"
+ msgstr "無效的建構å¼ï¼šæ‚¨è¦çš„å¯èƒ½æ˜¯ %<%T (const %T&)%>"
+
+-#: cp/decl.c:9703
++#: cp/decl.c:9794
+ #, gcc-internal-format
+ msgid "%qD may not be declared within a namespace"
+ msgstr "%qD ä¸èƒ½åœ¨å‘½å空間宣告"
+
+-#: cp/decl.c:9708
++#: cp/decl.c:9799
+ #, gcc-internal-format
+ msgid "%qD may not be declared as static"
+ msgstr "%qD ä¸èƒ½è¢«å®£å‘Šç‚ºéœæ…‹çš„"
+
+-#: cp/decl.c:9731
++#: cp/decl.c:9825
+ #, gcc-internal-format
+ msgid "%qD must be a nonstatic member function"
+ msgstr "%qD 必須是一個éžéœæ…‹çš„æˆå“¡å‡½å¼"
+
+-#: cp/decl.c:9740
++#: cp/decl.c:9834
+ #, gcc-internal-format
+ msgid "%qD must be either a non-static member function or a non-member function"
+ msgstr "%qD 必須是一個éžéœæ…‹æˆå“¡å‡½å¼æˆ–éžæˆå“¡å‡½å¼"
+
+-#: cp/decl.c:9761
++#: cp/decl.c:9855
+ #, gcc-internal-format
+ msgid "%qD must have an argument of class or enumerated type"
+ msgstr "%qD 的引數必須有類別或列舉類型"
+
+-#: cp/decl.c:9802
++#: cp/decl.c:9896
+ #, gcc-internal-format
+ msgid "conversion to %s%s will never use a type conversion operator"
+ msgstr "å‘ %s%s 的轉æ›æ°¸é ä¸æœƒç”¨åˆ°é¡žåž‹è½‰æ›é‹ç®—å­"
+
+ #. 13.4.0.3
+-#: cp/decl.c:9810
++#: cp/decl.c:9904
+ #, gcc-internal-format
+ msgid "ISO C++ prohibits overloading operator ?:"
+ msgstr "ISO C++ ä¸å…許多載 ?: é‹ç®—å­"
+
+-#: cp/decl.c:9815
++#: cp/decl.c:9909
+ #, fuzzy, gcc-internal-format
+ msgid "%qD must not have variable number of arguments"
+ msgstr "%qD 必須帶 1 或 2 個引數"
+
+-#: cp/decl.c:9866
++#: cp/decl.c:9960
+ #, gcc-internal-format
+ msgid "postfix %qD must take %<int%> as its argument"
+ msgstr "å­—å°¾ %qD 必須使用 %<int%> åšç‚ºå®ƒçš„åƒæ•¸"
+
+-#: cp/decl.c:9869
++#: cp/decl.c:9963
+ #, gcc-internal-format
+ msgid "postfix %qD must take %<int%> as its second argument"
+ msgstr "å­—å°¾ %qD 必須使用 %<int%> åšç‚ºå®ƒçš„第二個åƒæ•¸"
+
+-#: cp/decl.c:9877
++#: cp/decl.c:9971
+ #, gcc-internal-format
+ msgid "%qD must take either zero or one argument"
+ msgstr "%qD 必須帶 0 或 1 個引數"
+
+-#: cp/decl.c:9879
++#: cp/decl.c:9973
+ #, gcc-internal-format
+ msgid "%qD must take either one or two arguments"
+ msgstr "%qD 必須帶 1 或 2 個引數"
+
+-#: cp/decl.c:9901
++#: cp/decl.c:9995
+ #, gcc-internal-format
+ msgid "prefix %qD should return %qT"
+ msgstr "字首 %qD 應當回傳 %qT"
+
+-#: cp/decl.c:9907
++#: cp/decl.c:10001
+ #, gcc-internal-format
+ msgid "postfix %qD should return %qT"
+ msgstr "字尾 %qD 應當回傳 %qT"
+
+-#: cp/decl.c:9916
++#: cp/decl.c:10010
+ #, gcc-internal-format
+ msgid "%qD must take %<void%>"
+ msgstr "%qD 必須有 %<void%> 類型"
+
+-#: cp/decl.c:9918 cp/decl.c:9927
++#: cp/decl.c:10012 cp/decl.c:10021
+ #, gcc-internal-format
+ msgid "%qD must take exactly one argument"
+ msgstr "%qD 帶且僅帶 1 個引數"
+
+-#: cp/decl.c:9929
++#: cp/decl.c:10023
+ #, gcc-internal-format
+ msgid "%qD must take exactly two arguments"
+ msgstr "%qD 帶且僅帶 2 個引數"
+
+-#: cp/decl.c:9938
++#: cp/decl.c:10032
+ #, gcc-internal-format
+ msgid "user-defined %qD always evaluates both arguments"
+ msgstr "使用者定義的 %qD 總是計算所有兩個åƒæ•¸"
+
+-#: cp/decl.c:9952
++#: cp/decl.c:10046
+ #, gcc-internal-format
+ msgid "%qD should return by value"
+ msgstr "%qD 應當回傳值而éžåƒç…§"
+
+-#: cp/decl.c:9964 cp/decl.c:9968
++#: cp/decl.c:10058 cp/decl.c:10062
+ #, gcc-internal-format
+ msgid "%qD cannot have default arguments"
+ msgstr "%qD ä¸èƒ½æœ‰é è¨­åƒæ•¸"
+
+-#: cp/decl.c:10026
++#: cp/decl.c:10120
+ #, gcc-internal-format
+ msgid "using template type parameter %qT after %qs"
+ msgstr "使用範本類型åƒæ•¸ %qT,在 %qs 後"
+
+-#: cp/decl.c:10041
++#: cp/decl.c:10135
+ #, gcc-internal-format
+ msgid "using typedef-name %qD after %qs"
+ msgstr "使用 typedef å %qD,在 %qs 後"
+
+-#: cp/decl.c:10042
++#: cp/decl.c:10136
+ #, gcc-internal-format
+ msgid "%q+D has a previous declaration here"
+ msgstr "%q+D å…ˆå‰åœ¨æ­¤è™•æœ‰éŽå®£å‘Š"
+
+-#: cp/decl.c:10050
++#: cp/decl.c:10144
+ #, gcc-internal-format
+ msgid "%qT referred to as %qs"
+ msgstr "%qT åšç‚º %qs 被åƒç…§"
+
+-#: cp/decl.c:10051 cp/decl.c:10058
++#: cp/decl.c:10145 cp/decl.c:10152
+ #, gcc-internal-format
+ msgid "%q+T has a previous declaration here"
+ msgstr "%q+T å…ˆå‰åœ¨æ­¤è™•æœ‰éŽå®£å‘Š"
+
+-#: cp/decl.c:10057
++#: cp/decl.c:10151
+ #, gcc-internal-format
+ msgid "%qT referred to as enum"
+ msgstr "%qT åšç‚ºåˆ—舉被åƒç…§"
+@@ -29039,73 +29030,73 @@
+ #. void f(class C); // No template header here
+ #.
+ #. then the required template argument is missing.
+-#: cp/decl.c:10072
++#: cp/decl.c:10166
+ #, gcc-internal-format
+ msgid "template argument required for %<%s %T%>"
+ msgstr "%<%s %T%> 需è¦ç¯„本åƒæ•¸"
+
+-#: cp/decl.c:10120 cp/name-lookup.c:2698
++#: cp/decl.c:10214 cp/name-lookup.c:2700
+ #, gcc-internal-format
+ msgid "%qD has the same name as the class in which it is declared"
+ msgstr "%qD 與其宣告所在的類別åŒå"
+
+-#: cp/decl.c:10150 cp/name-lookup.c:2207 cp/parser.c:4036 cp/parser.c:14029
+-#: cp/parser.c:16234
++#: cp/decl.c:10244 cp/name-lookup.c:2209 cp/parser.c:4040 cp/parser.c:14099
++#: cp/parser.c:16316
+ #, gcc-internal-format
+ msgid "reference to %qD is ambiguous"
+ msgstr "å° %qD çš„åƒç…§æœ‰æ­§ç¾©"
+
+-#: cp/decl.c:10264
++#: cp/decl.c:10358
+ #, gcc-internal-format
+ msgid "use of enum %q#D without previous declaration"
+ msgstr "使用列舉 %q#D å‰æ²’有給出宣告"
+
+-#: cp/decl.c:10285
++#: cp/decl.c:10379
+ #, gcc-internal-format
+ msgid "redeclaration of %qT as a non-template"
+ msgstr "%qT é‡å®£å‘Šç‚ºéžç¯„本"
+
+-#: cp/decl.c:10286 cp/pt.c:4154
++#: cp/decl.c:10380
+ #, gcc-internal-format
+ msgid "previous declaration %q+D"
+ msgstr "å…ˆå‰çš„宣告 %q+D"
+
+-#: cp/decl.c:10397
++#: cp/decl.c:10491
+ #, gcc-internal-format
+ msgid "derived union %qT invalid"
+ msgstr "è¡ç”Ÿè¯åˆ %qT 無效"
+
+-#: cp/decl.c:10406
++#: cp/decl.c:10500
+ #, gcc-internal-format
+ msgid "Java class %qT cannot have multiple bases"
+ msgstr "Java 類別 %qT ä¸èƒ½æœ‰å¤šå€‹åŸºç¤Žé¡žåˆ¥"
+
+-#: cp/decl.c:10417
++#: cp/decl.c:10511
+ #, gcc-internal-format
+ msgid "Java class %qT cannot have virtual bases"
+ msgstr "Java 類別 %qT ä¸èƒ½æœ‰è™›åŸºç¤Žé¡žåˆ¥"
+
+-#: cp/decl.c:10440
++#: cp/decl.c:10534
+ #, gcc-internal-format
+ msgid "base type %qT fails to be a struct or class type"
+ msgstr "基礎類別型 %qT ä¸æ˜¯çµæ§‹æˆ–類別"
+
+-#: cp/decl.c:10473
++#: cp/decl.c:10567
+ #, gcc-internal-format
+ msgid "recursive type %qT undefined"
+ msgstr "éžè¿´çš„é¡žåž‹ %qT 未定義"
+
+-#: cp/decl.c:10475
++#: cp/decl.c:10569
+ #, gcc-internal-format
+ msgid "duplicate base type %qT invalid"
+ msgstr "é‡è¤‡çš„基礎類別型 %qT 無效"
+
+-#: cp/decl.c:10552
++#: cp/decl.c:10646
+ #, gcc-internal-format
+ msgid "multiple definition of %q#T"
+ msgstr "%q#T 多次定義"
+
+-#: cp/decl.c:10553
++#: cp/decl.c:10647
+ #, gcc-internal-format
+ msgid "%Jprevious definition here"
+ msgstr "%Jå‰ä¸€å€‹å®šç¾©åœ¨é€™è£¡"
+@@ -29114,47 +29105,52 @@
+ #.
+ #. IF no integral type can represent all the enumerator values, the
+ #. enumeration is ill-formed.
+-#: cp/decl.c:10692
++#: cp/decl.c:10786
+ #, gcc-internal-format
+ msgid "no integral type can represent all of the enumerator values for %qT"
+ msgstr "沒有一個整數類型å¯ä»¥è¡¨ç¤º %qT 的所有列舉值"
+
+-#: cp/decl.c:10803
++#: cp/decl.c:10897
+ #, fuzzy, gcc-internal-format
+ msgid "enumerator value for %qD is not an integer constant"
+ msgstr "%qE 的列舉值ä¸æ˜¯ä¸€å€‹æ•´æ•¸å¸¸æ•¸"
+
+-#: cp/decl.c:10831
++#: cp/decl.c:10925
+ #, gcc-internal-format
+ msgid "overflow in enumeration values at %qD"
+ msgstr "%qD 處列舉值溢出"
+
+-#: cp/decl.c:10906
++#: cp/decl.c:11002
+ #, gcc-internal-format
+ msgid "return type %q#T is incomplete"
+ msgstr "回傳值類型 %q#T 為ä¸å®Œå…¨"
+
+-#: cp/decl.c:11031 cp/typeck.c:6711
++#: cp/decl.c:11004
++#, fuzzy, gcc-internal-format
++msgid "return type has Java class type %q#T"
++msgstr "回傳ä¸å®Œå…¨çš„é¡žåž‹"
++
++#: cp/decl.c:11129 cp/typeck.c:6739
+ #, gcc-internal-format
+ msgid "%<operator=%> should return a reference to %<*this%>"
+ msgstr "%<operator=%> æ‡‰ç•¶å›žå‚³ä¸€å€‹å° %<*this%> çš„åƒç…§"
+
+-#: cp/decl.c:11420
++#: cp/decl.c:11518
+ #, gcc-internal-format
+ msgid "parameter %qD declared void"
+ msgstr "åƒæ•¸ %qD 被宣告為 void"
+
+-#: cp/decl.c:11908
++#: cp/decl.c:12006
+ #, gcc-internal-format
+ msgid "invalid member function declaration"
+ msgstr "無效的æˆå“¡å‡½å¼å®£å‘Š"
+
+-#: cp/decl.c:11923
++#: cp/decl.c:12021
+ #, gcc-internal-format
+ msgid "%qD is already defined in class %qT"
+ msgstr "%qD 已在類別 %qT 中定義éŽ"
+
+-#: cp/decl.c:12170
++#: cp/decl.c:12268
+ #, gcc-internal-format
+ msgid "static member function %q#D declared with type qualifiers"
+ msgstr "éœæ…‹æˆå“¡å‡½å¼ %q#D 的宣告帶有類型é™å®šç¬¦"
+@@ -29194,7 +29190,7 @@
+ msgid "deleting %qT is undefined"
+ msgstr "刪除 %qT 未定義"
+
+-#: cp/decl2.c:459 cp/pt.c:3828
++#: cp/decl2.c:459 cp/pt.c:3831
+ #, gcc-internal-format
+ msgid "template declaration of %q#D"
+ msgstr "%q#D 宣告為範本"
+@@ -29279,22 +29275,22 @@
+ msgid "static member %qD cannot be a bit-field"
+ msgstr "éœæ…‹æˆå“¡ %qD ä¸èƒ½æ˜¯ä½å…ƒæ®µ"
+
+-#: cp/decl2.c:1122
++#: cp/decl2.c:1165
+ #, gcc-internal-format
+ msgid "anonymous struct not inside named type"
+ msgstr "匿åçµæ§‹ä¸åœ¨å…·åé¡žåž‹å…§"
+
+-#: cp/decl2.c:1206
++#: cp/decl2.c:1249
+ #, gcc-internal-format
+ msgid "namespace-scope anonymous aggregates must be static"
+ msgstr "命å空間欄ä½çš„匿åèšåˆå¿…須是éœæ…‹çš„"
+
+-#: cp/decl2.c:1215
++#: cp/decl2.c:1258
+ #, gcc-internal-format
+ msgid "anonymous union with no members"
+ msgstr "匿åè¯åˆæ²’有æˆå“¡"
+
+-#: cp/decl2.c:1251
++#: cp/decl2.c:1294
+ #, gcc-internal-format
+ msgid "%<operator new%> must return type %qT"
+ msgstr "%<operator new%> 必須回傳 %qT"
+@@ -29303,52 +29299,52 @@
+ #.
+ #. The first parameter shall not have an associated default
+ #. argument.
+-#: cp/decl2.c:1262
++#: cp/decl2.c:1305
+ #, fuzzy, gcc-internal-format
+ msgid "the first parameter of %<operator new%> cannot have a default argument"
+ msgstr "%<va_start%> 的第二個åƒæ•¸ä¸æ˜¯æœ€å¾Œä¸€å€‹å…·ååƒæ•¸"
+
+-#: cp/decl2.c:1278
++#: cp/decl2.c:1321
+ #, gcc-internal-format
+ msgid "%<operator new%> takes type %<size_t%> (%qT) as first parameter"
+ msgstr "%<operator new%> 的第一個åƒæ•¸é¡žåž‹ç‚º %<size_t%> (%qT)"
+
+-#: cp/decl2.c:1307
++#: cp/decl2.c:1350
+ #, gcc-internal-format
+ msgid "%<operator delete%> must return type %qT"
+ msgstr "%<operator delete%> 必須回傳 %qT"
+
+-#: cp/decl2.c:1316
++#: cp/decl2.c:1359
+ #, gcc-internal-format
+ msgid "%<operator delete%> takes type %qT as first parameter"
+ msgstr "%<operator delete%> 的第一個åƒæ•¸é¡žåž‹ç‚º %qT"
+
+-#: cp/decl2.c:1985
++#: cp/decl2.c:2028
+ #, gcc-internal-format
+ msgid "%qT has a field %qD whose type uses the anonymous namespace"
+ msgstr ""
+
+-#: cp/decl2.c:1992
++#: cp/decl2.c:2035
+ #, gcc-internal-format
+ msgid "%qT declared with greater visibility than the type of its field %qD"
+ msgstr ""
+
+-#: cp/decl2.c:2005
++#: cp/decl2.c:2048
+ #, gcc-internal-format
+ msgid "%qT has a base %qT whose type uses the anonymous namespace"
+ msgstr ""
+
+-#: cp/decl2.c:2011
++#: cp/decl2.c:2054
+ #, gcc-internal-format
+ msgid "%qT declared with greater visibility than its base %qT"
+ msgstr ""
+
+-#: cp/decl2.c:3395
++#: cp/decl2.c:3441
+ #, gcc-internal-format
+ msgid "inline function %q+D used but never defined"
+ msgstr "使用了內è¯å‡½å¼ %q+D 但從未定義éŽ"
+
+-#: cp/decl2.c:3543
++#: cp/decl2.c:3589
+ #, gcc-internal-format
+ msgid "default argument missing for parameter %P of %q+#D"
+ msgstr "åƒæ•¸ %P (屬於 %q+#D)缺少é è¨­å¼•æ•¸"
+@@ -29356,7 +29352,7 @@
+ #. We really want to suppress this warning in system headers,
+ #. because libstdc++ uses variadic templates even when we aren't
+ #. in C++0x mode.
+-#: cp/error.c:2669
++#: cp/error.c:2712
+ #, fuzzy, gcc-internal-format
+ msgid "ISO C++ does not include variadic templates"
+ msgstr "ISO C++ ä¸å…許指定元素åˆå§‹å€¼è¨­å®š"
+@@ -29388,7 +29384,7 @@
+ msgid "throwing NULL, which has integral, not pointer type"
+ msgstr "拋出 NULL,它的類型是整數而ä¸æ˜¯æŒ‡æ¨™"
+
+-#: cp/except.c:643 cp/init.c:1780
++#: cp/except.c:643 cp/init.c:1915
+ #, gcc-internal-format
+ msgid "%qD should never be overloaded"
+ msgstr "%qD æ°¸é ä¸æ‡‰è©²è¢«å¤šè¼‰"
+@@ -29487,232 +29483,247 @@
+ msgid "member %qD declared as friend before type %qT defined"
+ msgstr "æˆå“¡ %qD 在類型 %qT 被定義之å‰å®£å‘Šç‚ºå¤¥ä¼´"
+
+-#: cp/friend.c:550
++#: cp/friend.c:543
++#, fuzzy, gcc-internal-format
++msgid "friend declaration %qD in local class without prior declaration"
++msgstr "using 宣告 %q+D 與先å‰çš„一個 using 宣告è¡çª"
++
++#: cp/friend.c:564
+ #, gcc-internal-format
+ msgid "friend declaration %q#D declares a non-template function"
+ msgstr "夥伴宣告 %q#D 宣告了一個éžç¯„本函å¼"
+
+-#: cp/friend.c:554
++#: cp/friend.c:568
+ #, fuzzy, 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 "(如果這ä¸æ˜¯æ‚¨åŽŸä¾†çš„想法,請確定此函å¼ç¯„本已經宣告éŽï¼Œä¸¦åœ¨é€™è£¡çš„函å¼å後é¢åŠ å…¥ <>) -Wno-non-template-friend åœç”¨æ­¤è­¦å‘Š"
+
+-#: cp/init.c:334
++#: cp/init.c:374
++#, fuzzy, gcc-internal-format
++msgid "value-initialization of reference"
++msgstr "%Jé è¨­åˆå§‹åŒ–具有åƒç…§é¡žåž‹çš„ %q#D"
++
++#: cp/init.c:481
+ #, gcc-internal-format
+ msgid "%J%qD should be initialized in the member initialization list"
+ msgstr "%J%qD 應該在æˆå“¡åˆå§‹åŒ–清單中被åˆå§‹åŒ–"
+
+-#: cp/init.c:382
++#: cp/init.c:529
+ #, gcc-internal-format
+ msgid "%Jdefault-initialization of %q#D, which has reference type"
+ msgstr "%Jé è¨­åˆå§‹åŒ–具有åƒç…§é¡žåž‹çš„ %q#D"
+
+-#: cp/init.c:388
++#: cp/init.c:535
+ #, gcc-internal-format
+ msgid "%Juninitialized reference member %qD"
+ msgstr "%J未åˆå§‹åŒ–çš„åƒç…§æˆå“¡ %qD"
+
+-#: cp/init.c:391
++#: cp/init.c:538
+ #, gcc-internal-format
+ msgid "%Juninitialized member %qD with %<const%> type %qT"
+ msgstr "%J未åˆå§‹åŒ–çš„æˆå“¡ %qD 具有 %<const%> é¡žåž‹ %qT"
+
+-#: cp/init.c:534
++#: cp/init.c:681
+ #, gcc-internal-format
+ msgid "%q+D will be initialized after"
+ msgstr "%q+D 將隨後被åˆå§‹åŒ–"
+
+-#: cp/init.c:537
++#: cp/init.c:684
+ #, gcc-internal-format
+ msgid "base %qT will be initialized after"
+ msgstr "基礎類別 %qT 將在"
+
+-#: cp/init.c:540
++#: cp/init.c:687
+ #, gcc-internal-format
+ msgid " %q+#D"
+ msgstr " %q+#D"
+
+-#: cp/init.c:542
++#: cp/init.c:689
+ #, gcc-internal-format
+ msgid " base %qT"
+ msgstr " 基礎類別 %qT"
+
+-#: cp/init.c:543
++#: cp/init.c:690
+ #, gcc-internal-format
+ msgid "%J when initialized here"
+ msgstr "%J 當在這裡åˆå§‹åŒ–時"
+
+-#: cp/init.c:559
++#: cp/init.c:706
+ #, gcc-internal-format
+ msgid "%Jmultiple initializations given for %qD"
+ msgstr "%J為 %qD 給定了多個åˆå§‹åŒ–設定"
+
+-#: cp/init.c:562
++#: cp/init.c:709
+ #, gcc-internal-format
+ msgid "%Jmultiple initializations given for base %qT"
+ msgstr "%J為基礎類別 %qT 給定了多個åˆå§‹åŒ–設定"
+
+-#: cp/init.c:629
++#: cp/init.c:776
+ #, gcc-internal-format
+ msgid "%Jinitializations for multiple members of %qT"
+ msgstr "%Jåˆå§‹åŒ– %qT 的多個æˆå“¡"
+
+-#: cp/init.c:691
++#: cp/init.c:839
+ #, gcc-internal-format
+ msgid "%Jbase class %q#T should be explicitly initialized in the copy constructor"
+ msgstr "%J基礎類別 %q#T 應該在複製建構å¼ä¸­æ˜Žç¢ºåœ°åˆå§‹åŒ–"
+
+-#: cp/init.c:915 cp/init.c:934
++#: cp/init.c:1063 cp/init.c:1082
+ #, gcc-internal-format
+ msgid "class %qT does not have any field named %qD"
+ msgstr "類別 %qT æ²’å…·å為 %qD 的欄ä½"
+
+-#: cp/init.c:921
++#: cp/init.c:1069
+ #, gcc-internal-format
+ msgid "%q#D is a static data member; it can only be initialized at its definition"
+ msgstr "%q#D 是一個éœæ…‹è³‡æ–™æˆå“¡ï¼›å®ƒåªèƒ½åœ¨å®šç¾©æ™‚被åˆå§‹åŒ–"
+
+-#: cp/init.c:928
++#: cp/init.c:1076
+ #, gcc-internal-format
+ msgid "%q#D is not a non-static data member of %qT"
+ msgstr "%q#D ä¸æ˜¯ %qT çš„éžéœæ…‹è³‡æ–™æˆå“¡"
+
+-#: cp/init.c:967
++#: cp/init.c:1115
+ #, gcc-internal-format
+ msgid "unnamed initializer for %qT, which has no base classes"
+ msgstr "å°æ²’有基礎類別的 %qT çš„ç„¡ååˆå§‹åŒ–"
+
+-#: cp/init.c:975
++#: cp/init.c:1123
+ #, gcc-internal-format
+ msgid "unnamed initializer for %qT, which uses multiple inheritance"
+ msgstr "å°ä½¿ç”¨äº†å¤šç¹¼æ‰¿çš„ %qT çš„ç„¡ååˆå§‹åŒ–"
+
+-#: cp/init.c:1021
++#: cp/init.c:1169
+ #, gcc-internal-format
+ msgid "%qD is both a direct base and an indirect virtual base"
+ msgstr "%qD 既是一個直接基礎類別åˆæ˜¯ä¸€å€‹é–“接虛基礎類別"
+
+-#: cp/init.c:1029
++#: cp/init.c:1177
+ #, gcc-internal-format
+ msgid "type %qT is not a direct or virtual base of %qT"
+ msgstr "é¡žåž‹ %qT ä¸æ˜¯ %qT 的直接或虛基礎類別"
+
+-#: cp/init.c:1032
++#: cp/init.c:1180
+ #, gcc-internal-format
+ msgid "type %qT is not a direct base of %qT"
+ msgstr "é¡žåž‹ %qT ä¸æ˜¯ %qT 的直接基礎類別"
+
+-#: cp/init.c:1112
++#: cp/init.c:1260
+ #, gcc-internal-format
+ msgid "bad array initializer"
+ msgstr "錯誤的陣列åˆå§‹å€¼è¨­å®š"
+
+-#: cp/init.c:1287
++#: cp/init.c:1435
+ #, gcc-internal-format
+ msgid "%qT is not an aggregate type"
+ msgstr "%qT ä¸æ˜¯ä¸€å€‹èšåˆé¡žåž‹"
+
+-#: cp/init.c:1341
++#: cp/init.c:1489
+ #, gcc-internal-format
+ msgid "incomplete type %qT does not have member %qD"
+ msgstr "ä¸å®Œå…¨é¡žåž‹ %qT 沒有æˆå“¡ %qD"
+
+-#: cp/init.c:1354
++#: cp/init.c:1502
+ #, gcc-internal-format
+ msgid "invalid pointer to bit-field %qD"
+ msgstr "åƒç…§ä½å…ƒæ®µ %qD 指標無效"
+
+-#: cp/init.c:1431
++#: cp/init.c:1579
+ #, gcc-internal-format
+ msgid "invalid use of non-static member function %qD"
+ msgstr "å°éžéœæ…‹æˆå“¡å‡½å¼ %qD 的使用無效"
+
+-#: cp/init.c:1437
++#: cp/init.c:1585
+ #, gcc-internal-format
+ msgid "invalid use of non-static data member %qD"
+ msgstr "å°éžéœæ…‹è³‡æ–™æˆå“¡ %qD 的無效使用"
+
+-#: cp/init.c:1714
++#: cp/init.c:1862
+ #, gcc-internal-format
+ msgid "invalid type %<void%> for new"
+ msgstr "å° new 而言類型 %<void%> 無效"
+
+-#: cp/init.c:1724
++#: cp/init.c:1872
+ #, gcc-internal-format
+ msgid "uninitialized const in %<new%> of %q#T"
+ msgstr "%<new%> %q#T 時常數未åˆå§‹åŒ–"
+
+-#: cp/init.c:1775
++#: cp/init.c:1910
+ #, gcc-internal-format
+ msgid "call to Java constructor with %qs undefined"
+ msgstr "å‘¼å« Java 建構å¼ï¼Œä½†æ²’有定義 %qs"
+
+-#: cp/init.c:1815
++#: cp/init.c:1926
++#, fuzzy, gcc-internal-format
++msgid "Java class %q#T object allocated using placement new"
++msgstr "Java 類別 %qT ä¸èƒ½æœ‰å¤šå€‹åŸºç¤Žé¡žåˆ¥"
++
++#: cp/init.c:1955
+ #, gcc-internal-format
+ msgid "no suitable %qD found in class %qT"
+ msgstr "找ä¸åˆ°åˆé©çš„ %qD,在類別 %qT 中"
+
+-#: cp/init.c:1820
++#: cp/init.c:1960
+ #, gcc-internal-format
+ msgid "request for member %qD is ambiguous"
+ msgstr "å°æˆå“¡ %qD 的請求有歧義"
+
+-#: cp/init.c:1972
++#: cp/init.c:2134
+ #, gcc-internal-format
+ msgid "ISO C++ forbids initialization in array new"
+ msgstr "ISO C++ ä¸å…許在陣列 new 中åˆå§‹åŒ–"
+
+-#: cp/init.c:2174
++#: cp/init.c:2336
+ #, gcc-internal-format
+ msgid "size in array new must have integral type"
+ msgstr "陣列 new 的大å°å¿…須有整數類型"
+
+-#: cp/init.c:2183
++#: cp/init.c:2345
+ #, gcc-internal-format
+ msgid "new cannot be applied to a reference type"
+ msgstr "new ä¸èƒ½ç”¨æ–¼åƒç…§é¡žåž‹"
+
+-#: cp/init.c:2189
++#: cp/init.c:2351
+ #, gcc-internal-format
+ msgid "new cannot be applied to a function type"
+ msgstr "new ä¸èƒ½ç”¨æ–¼å‡½å¼é¡žåž‹"
+
+-#: cp/init.c:2228
++#: cp/init.c:2390
+ #, gcc-internal-format
+ msgid "call to Java constructor, while %<jclass%> undefined"
+ msgstr "å‘¼å« Java 建構å¼ï¼Œä½†æ²’有定義 %<jclass%>"
+
+-#: cp/init.c:2246
++#: cp/init.c:2408
+ #, fuzzy, gcc-internal-format
+ msgid "can't find %<class$%> in %qT"
+ msgstr "找ä¸åˆ°é¡žåˆ¥$"
+
+-#: cp/init.c:2607
++#: cp/init.c:2769
+ #, gcc-internal-format
+ msgid "initializer ends prematurely"
+ msgstr "åˆå§‹å€¼è¨­å®šåœ¨å®Œæˆä¹‹å‰çµæŸ"
+
+-#: cp/init.c:2662
++#: cp/init.c:2824
+ #, gcc-internal-format
+ msgid "cannot initialize multi-dimensional array with initializer"
+ msgstr "ä¸èƒ½ç”¨åˆå§‹å€¼è¨­å®šé …來åˆå§‹åŒ–多維陣列"
+
+-#: cp/init.c:2799
++#: cp/init.c:2961
+ #, gcc-internal-format
+ msgid "possible problem detected in invocation of delete operator:"
+ msgstr "åµæ¸¬åˆ°å‘¼å« delete é‹ç®—å­æ™‚å¯èƒ½å‡ºç¾çš„å•é¡Œï¼š"
+
+-#: cp/init.c:2802
++#: cp/init.c:2964
+ #, gcc-internal-format
+ msgid "neither the destructor nor the class-specific operator delete will be called, even if they are declared when the class is defined."
+ msgstr "解構函å¼å’Œé¡žåˆ¥ç‰¹å®šçš„ delete é‹ç®—å­å‡ä¸æœƒè¢«å‘¼å«ï¼Œå³ä½¿å®ƒå€‘在類別定義時已經宣告。"
+
+-#: cp/init.c:2823
++#: cp/init.c:2985
+ #, gcc-internal-format
+ msgid "unknown array size in delete"
+ msgstr "delete 時陣列大å°ä¸æ˜Ž"
+
+-#: cp/init.c:3070
++#: cp/init.c:3232
+ #, gcc-internal-format
+ msgid "type to vector delete is neither pointer or array type"
+ msgstr "å‘é‡ delete 的引數類型既éžæŒ‡æ¨™ä¹Ÿéžé™£åˆ—"
+@@ -29777,22 +29788,22 @@
+ msgid "mangling typeof, use decltype instead"
+ msgstr ""
+
+-#: cp/mangle.c:2208
++#: cp/mangle.c:2211
+ #, gcc-internal-format
+ msgid "call_expr cannot be mangled due to a defect in the C++ ABI"
+ msgstr "由於 C++ ABI 的缺陷,call_expr ä¸èƒ½è¢«ä¿®é£¾"
+
+-#: cp/mangle.c:2216
++#: cp/mangle.c:2219
+ #, gcc-internal-format
+ msgid "zero-operand casts cannot be mangled due to a defect in the C++ ABI"
+ msgstr "由於 C++ ABI 的缺陷,零é‹ç®—元的轉æ›ä¸èƒ½è¢«ä¿®é£¾"
+
+-#: cp/mangle.c:2266
++#: cp/mangle.c:2269
+ #, gcc-internal-format
+ msgid "omitted middle operand to %<?:%> operand cannot be mangled"
+ msgstr "çœç•¥çš„ %<?:%> 中é‹ç®—å…ƒä¸èƒ½è¢«ä¿®é£¾"
+
+-#: cp/mangle.c:2584
++#: cp/mangle.c:2587
+ #, gcc-internal-format
+ msgid "the mangled name of %qD will change in a future version of GCC"
+ msgstr "%qD 修飾後的å稱將在 GCC 的未來版本中有變化"
+@@ -29802,27 +29813,27 @@
+ msgid "generic thunk code fails for method %q#D which uses %<...%>"
+ msgstr "通用的轉æ›å±¤ç¨‹å¼ç¢¼(thunk)å°ä½¿ç”¨äº† %<...%> 的方法 %q#D 失效"
+
+-#: cp/method.c:697
++#: cp/method.c:698
+ #, gcc-internal-format
+ msgid "non-static const member %q#D, can't use default assignment operator"
+ msgstr "éžéœæ…‹çš„常數æˆå“¡ %q#D,ä¸èƒ½ä½¿ç”¨é è¨­çš„賦值é‹ç®—å­"
+
+-#: cp/method.c:703
++#: cp/method.c:704
+ #, gcc-internal-format
+ msgid "non-static reference member %q#D, can't use default assignment operator"
+ msgstr "éžéœæ…‹çš„åƒç…§æˆå“¡ %q#D,ä¸èƒ½ä½¿ç”¨é è¨­çš„賦值é‹ç®—å­"
+
+-#: cp/method.c:815
++#: cp/method.c:816
+ #, gcc-internal-format
+ msgid "%Hsynthesized method %qD first required here "
+ msgstr "%H在這裡第一次需è¦ç”¢ç”Ÿçš„方法 %qD"
+
+-#: cp/method.c:1158
++#: cp/method.c:1159
+ #, gcc-internal-format
+ msgid "vtable layout for class %qT may not be ABI-compliantand may change in a future version of GCC due to implicit virtual destructor"
+ msgstr "由於隱å«çš„虛解構函å¼ï¼Œé¡žåˆ¥ %qT çš„ vtable 版é¢è¨­ç½®å¯èƒ½èˆ‡ ABI ä¸ç›¸å®¹ï¼Œä¸¦ä¸”å¯èƒ½åœ¨ GCC 的未來版本中變更"
+
+-#: cp/name-lookup.c:728
++#: cp/name-lookup.c:727
+ #, gcc-internal-format
+ msgid "redeclaration of %<wchar_t%> as %qT"
+ msgstr "%<wchar_t%> é‡å®£å‘Šç‚º %qT"
+@@ -29833,243 +29844,243 @@
+ #. [basic.start.main]
+ #.
+ #. This function shall not be overloaded.
+-#: cp/name-lookup.c:758
++#: cp/name-lookup.c:757
+ #, gcc-internal-format
+ msgid "invalid redeclaration of %q+D"
+ msgstr "å° %q+#D 無效的é‡å®£å‘Š"
+
+-#: cp/name-lookup.c:759
++#: cp/name-lookup.c:758
+ #, gcc-internal-format
+ msgid "as %qD"
+ msgstr "åšç‚º %qD"
+
+-#: cp/name-lookup.c:850
++#: cp/name-lookup.c:849
+ #, gcc-internal-format
+ msgid "type mismatch with previous external decl of %q#D"
+ msgstr "類型與先å‰çš„ %q#D 的外部宣告ä¸åŒ¹é…"
+
+-#: cp/name-lookup.c:851
++#: cp/name-lookup.c:850
+ #, gcc-internal-format
+ msgid "previous external decl of %q+#D"
+ msgstr "å…ˆå‰ %q+#D 的外部宣告"
+
+-#: cp/name-lookup.c:942
++#: cp/name-lookup.c:941
+ #, gcc-internal-format
+ msgid "extern declaration of %q#D doesn't match"
+ msgstr "%q#D 的外部宣告ä¸åŒ¹é…"
+
+-#: cp/name-lookup.c:943
++#: cp/name-lookup.c:942
+ #, gcc-internal-format
+ msgid "global declaration %q+#D"
+ msgstr "全域宣告 %q+#D"
+
+-#: cp/name-lookup.c:980 cp/name-lookup.c:987
++#: cp/name-lookup.c:979 cp/name-lookup.c:986
+ #, gcc-internal-format
+ msgid "declaration of %q#D shadows a parameter"
+ msgstr "%q#D 的宣告隱è—了一個åƒæ•¸"
+
+ #. Location of previous decl is not useful in this case.
+-#: cp/name-lookup.c:1012
++#: cp/name-lookup.c:1011
+ #, gcc-internal-format
+ msgid "declaration of %qD shadows a member of 'this'"
+ msgstr "%qD 的宣告隱è—了「thisã€çš„一個æˆå“¡"
+
+-#: cp/name-lookup.c:1018
++#: cp/name-lookup.c:1017
+ #, gcc-internal-format
+ msgid "declaration of %qD shadows a previous local"
+ msgstr "%qD 的宣告隱è—了先å‰çš„一個局部變數"
+
+-#: cp/name-lookup.c:1025
++#: cp/name-lookup.c:1024
+ #, gcc-internal-format
+ msgid "declaration of %qD shadows a global declaration"
+ msgstr "%qD 的宣告隱è—了一個全域宣告"
+
+-#: cp/name-lookup.c:1148
++#: cp/name-lookup.c:1147
+ #, gcc-internal-format
+ msgid "name lookup of %qD changed"
+ msgstr "%qD çš„å稱查閱已變更"
+
+-#: cp/name-lookup.c:1149
++#: cp/name-lookup.c:1148
+ #, gcc-internal-format
+ msgid " matches this %q+D under ISO standard rules"
+ msgstr " 在 ISO 標準è¦å‰‡ä¸‹åŒ¹é…æ­¤ %q+D"
+
+-#: cp/name-lookup.c:1151
++#: cp/name-lookup.c:1150
+ #, gcc-internal-format
+ msgid " matches this %q+D under old rules"
+ msgstr " 在舊è¦å‰‡ä¸‹åŒ¹é…æ­¤ %q+D"
+
+-#: cp/name-lookup.c:1169 cp/name-lookup.c:1177
++#: cp/name-lookup.c:1168 cp/name-lookup.c:1176
+ #, gcc-internal-format
+ msgid "name lookup of %qD changed for new ISO %<for%> scoping"
+ msgstr "在新的 ISO %<for%> 作用欄ä½ä¸­ï¼Œ%qD çš„å稱æœå°‹æœ‰è®ŠåŒ–"
+
+-#: cp/name-lookup.c:1171
++#: cp/name-lookup.c:1170
+ #, gcc-internal-format
+ msgid " cannot use obsolete binding at %q+D because it has a destructor"
+ msgstr " ä¸èƒ½åœ¨ %q+D 使用éŽæ™‚的繫çµï¼Œå› ç‚ºå®ƒæœ‰è§£æ§‹å‡½å¼"
+
+-#: cp/name-lookup.c:1179
++#: cp/name-lookup.c:1178
+ #, gcc-internal-format
+ msgid " using obsolete binding at %q+D"
+ msgstr " 在 %q+D 使用éŽæ™‚的繫çµ"
+
+-#: cp/name-lookup.c:1232
++#: cp/name-lookup.c:1231
+ #, gcc-internal-format
+ msgid "%s %s(%E) %p %d\n"
+ msgstr "%s %s(%E) %p %d\n"
+
+-#: cp/name-lookup.c:1235
++#: cp/name-lookup.c:1234
+ #, gcc-internal-format
+ msgid "%s %s %p %d\n"
+ msgstr "%s %s %p %d\n"
+
+-#: cp/name-lookup.c:1362
++#: cp/name-lookup.c:1361
+ #, gcc-internal-format
+ msgid "XXX is_class_level != (current_scope == class_scope)\n"
+ msgstr "XXX is_class_level != (current_scope == class_scope)\n"
+
+-#: cp/name-lookup.c:1920
++#: cp/name-lookup.c:1922
+ #, gcc-internal-format
+ msgid "%q#D hides constructor for %q#T"
+ msgstr "%q#D éš±è—了 %q#T 的建構å¼"
+
+-#: cp/name-lookup.c:1937
++#: cp/name-lookup.c:1939
+ #, gcc-internal-format
+ msgid "%q#D conflicts with previous using declaration %q#D"
+ msgstr "%q#D 與先å‰çš„ using 宣告 %q#D è¡çª"
+
+-#: cp/name-lookup.c:1960
++#: cp/name-lookup.c:1962
+ #, gcc-internal-format
+ msgid "previous non-function declaration %q+#D"
+ msgstr "å…ˆå‰å°æ–¼ %q+#D çš„éžå‡½å¼å®£å‘Š"
+
+-#: cp/name-lookup.c:1961
++#: cp/name-lookup.c:1963
+ #, gcc-internal-format
+ msgid "conflicts with function declaration %q#D"
+ msgstr "與函å¼å®£å‘Š %q#D è¡çª"
+
+ #. It's a nested name with template parameter dependent scope.
+ #. This can only be using-declaration for class member.
+-#: cp/name-lookup.c:2039 cp/name-lookup.c:2064
++#: cp/name-lookup.c:2041 cp/name-lookup.c:2066
+ #, gcc-internal-format
+ msgid "%qT is not a namespace"
+ msgstr "%qT ä¸æ˜¯ä¸€å€‹å‘½å空間"
+
+ #. 7.3.3/5
+ #. A using-declaration shall not name a template-id.
+-#: cp/name-lookup.c:2049
++#: cp/name-lookup.c:2051
+ #, gcc-internal-format
+ msgid "a using-declaration cannot specify a template-id. Try %<using %D%>"
+ msgstr "using 宣告ä¸èƒ½æŒ‡å®šä¸€å€‹ç¯„本識別碼。請嘗試 %<using %D%>"
+
+-#: cp/name-lookup.c:2056
++#: cp/name-lookup.c:2058
+ #, gcc-internal-format
+ msgid "namespace %qD not allowed in using-declaration"
+ msgstr "ä¸å…許在 using 宣告中使用命å空間 %qD"
+
+-#: cp/name-lookup.c:2092
++#: cp/name-lookup.c:2094
+ #, gcc-internal-format
+ msgid "%qD not declared"
+ msgstr "%qD 未宣告"
+
+-#: cp/name-lookup.c:2128 cp/name-lookup.c:2165 cp/name-lookup.c:2199
+-#: cp/name-lookup.c:2214
++#: cp/name-lookup.c:2130 cp/name-lookup.c:2167 cp/name-lookup.c:2201
++#: cp/name-lookup.c:2216
+ #, gcc-internal-format
+ msgid "%qD is already declared in this scope"
+ msgstr "%qD 已在此作用欄ä½ä¸­å®£å‘ŠéŽ"
+
+-#: cp/name-lookup.c:2817
++#: cp/name-lookup.c:2819
+ #, gcc-internal-format
+ msgid "using-declaration for non-member at class scope"
+ msgstr "在類別作用欄ä½ä½¿ç”¨éžæˆå“¡çš„ using 宣告"
+
+-#: cp/name-lookup.c:2824
++#: cp/name-lookup.c:2826
+ #, gcc-internal-format
+ msgid "%<%T::%D%> names destructor"
+ msgstr "%<%T::%D%> 指定了解構函å¼"
+
+-#: cp/name-lookup.c:2829
++#: cp/name-lookup.c:2831
+ #, gcc-internal-format
+ msgid "%<%T::%D%> names constructor"
+ msgstr "%<%T::%D%> 指定了建構å¼"
+
+-#: cp/name-lookup.c:2834
++#: cp/name-lookup.c:2836
+ #, gcc-internal-format
+ msgid "%<%T::%D%> names constructor in %qT"
+ msgstr "%<%T::%D%> 在 %qT 內指定了建構å¼"
+
+-#: cp/name-lookup.c:2884
++#: cp/name-lookup.c:2886
+ #, gcc-internal-format
+ msgid "no members matching %<%T::%D%> in %q#T"
+ msgstr "沒有與 %<%T::%D%> 匹é…çš„æˆå“¡ï¼Œåœ¨ %q#T 中"
+
+-#: cp/name-lookup.c:2952
++#: cp/name-lookup.c:2954
+ #, gcc-internal-format
+ msgid "declaration of %qD not in a namespace surrounding %qD"
+ msgstr "%qD 的宣告ä¸åœ¨åŒ…å« %qD 的命å空間中"
+
+-#: cp/name-lookup.c:2960
++#: cp/name-lookup.c:2962
+ #, gcc-internal-format
+ msgid "explicit qualification in declaration of %qD"
+ msgstr "%qD 的宣告中有明確的é™å®š"
+
+-#: cp/name-lookup.c:3003
++#: cp/name-lookup.c:3005
+ #, gcc-internal-format
+ msgid "%qD should have been declared inside %qD"
+ msgstr "%qD 應當已在 %qD 內部宣告éŽ"
+
+-#: cp/name-lookup.c:3048
++#: cp/name-lookup.c:3050
+ #, fuzzy, gcc-internal-format
+ msgid "%qD attribute requires a single NTBS argument"
+ msgstr "%qs 屬性需è¦ä¸€å€‹æ•´å¸¸æ•¸åšç‚ºå¼•æ•¸"
+
+-#: cp/name-lookup.c:3055
++#: cp/name-lookup.c:3057
+ #, gcc-internal-format
+ msgid "%qD attribute is meaningless since members of the anonymous namespace get local symbols"
+ msgstr ""
+
+-#: cp/name-lookup.c:3064 cp/name-lookup.c:3433
++#: cp/name-lookup.c:3066 cp/name-lookup.c:3435
+ #, gcc-internal-format
+ msgid "%qD attribute directive ignored"
+ msgstr "指定 %qD 屬性被忽略"
+
+-#: cp/name-lookup.c:3109
++#: cp/name-lookup.c:3111
+ #, gcc-internal-format
+ msgid "namespace alias %qD not allowed here, assuming %qD"
+ msgstr "這裡ä¸å…許命å空間別å %qD,å‡å®šç‚º %qD"
+
+-#: cp/name-lookup.c:3421
++#: cp/name-lookup.c:3423
+ #, gcc-internal-format
+ msgid "strong using only meaningful at namespace scope"
+ msgstr "å¼· using åªåœ¨å‘½å空間作用欄ä½æœ‰æ„義"
+
+-#: cp/name-lookup.c:3425
++#: cp/name-lookup.c:3427
+ #, fuzzy, gcc-internal-format
+ msgid "current namespace %qD does not enclose strongly used namespace %qD"
+ msgstr "%qD 的明確實體化出ç¾åœ¨å‘½å空間 %qD 中,而後者並ä¸åŒ…å«å‘½å空間 %qD"
+
+-#: cp/name-lookup.c:4318
++#: cp/name-lookup.c:4320
+ #, gcc-internal-format
+ msgid "%q+D is not a function,"
+ msgstr "%q+D ä¸æ˜¯ä¸€å€‹å‡½å¼ï¼Œ"
+
+-#: cp/name-lookup.c:4319
++#: cp/name-lookup.c:4321
+ #, gcc-internal-format
+ msgid " conflict with %q+D"
+ msgstr " 與 %q+D è¡çª"
+
+-#: cp/name-lookup.c:4752
++#: cp/name-lookup.c:4756
+ #, gcc-internal-format
+ msgid "argument dependent lookup finds %q+D"
+ msgstr ""
+
+-#: cp/name-lookup.c:5184
++#: cp/name-lookup.c:5188
+ #, gcc-internal-format
+ msgid "XXX entering pop_everything ()\n"
+ msgstr "XXX 進入 pop_everything ()\n"
+
+-#: cp/name-lookup.c:5193
++#: cp/name-lookup.c:5197
+ #, gcc-internal-format
+ msgid "XXX leaving pop_everything ()\n"
+ msgstr "XXX 離開 pop_everything ()\n"
+@@ -30079,368 +30090,373 @@
+ msgid "identifier %<%s%> will become a keyword in C++0x"
+ msgstr ""
+
+-#: cp/parser.c:2066
++#: cp/parser.c:2069
+ #, gcc-internal-format
+ msgid "%<#pragma%> is not allowed here"
+ msgstr "在這裡ä¸å…許使用 %<#pragma%>"
+
+-#: cp/parser.c:2096
++#: cp/parser.c:2099
+ #, fuzzy, gcc-internal-format
+ msgid "%<%E::%E%> has not been declared"
+ msgstr "%<%D::%D%> 尚未宣告"
+
+-#: cp/parser.c:2099
++#: cp/parser.c:2102
+ #, fuzzy, gcc-internal-format
+ msgid "%<::%E%> has not been declared"
+ msgstr "%<::%D%> 尚未宣告"
+
+-#: cp/parser.c:2102
++#: cp/parser.c:2105
+ #, fuzzy, gcc-internal-format
+ msgid "request for member %qE in non-class type %qT"
+ msgstr "請求æˆå“¡ %qD,在éžé¡žåˆ¥é¡žåž‹ %qT 中"
+
+-#: cp/parser.c:2105
++#: cp/parser.c:2108
+ #, fuzzy, gcc-internal-format
+ msgid "%<%T::%E%> has not been declared"
+ msgstr "%<%T::%D%> 尚未宣告"
+
+-#: cp/parser.c:2108
++#: cp/parser.c:2111
+ #, fuzzy, gcc-internal-format
+ msgid "%qE has not been declared"
+ msgstr "%qD 未宣告"
+
+-#: cp/parser.c:2111
++#: cp/parser.c:2114
+ #, fuzzy, gcc-internal-format
+ msgid "%<%E::%E%> %s"
+ msgstr "%<%D::%D%> %s"
+
+-#: cp/parser.c:2113
++#: cp/parser.c:2116
+ #, fuzzy, gcc-internal-format
+ msgid "%<::%E%> %s"
+ msgstr "%<::%D%> %s"
+
+-#: cp/parser.c:2115
++#: cp/parser.c:2118
+ #, fuzzy, gcc-internal-format
+ msgid "%qE %s"
+ msgstr "%qD %s"
+
+-#: cp/parser.c:2151
+-#, gcc-internal-format
+-msgid "ISO C++ does not support %<long long%>"
++#: cp/parser.c:2155
++#, fuzzy, gcc-internal-format
++msgid "ISO C++ 1998 does not support %<long long%>"
+ msgstr "ISO C++ ä¸æ”¯æ´ %<long long%>"
+
+-#: cp/parser.c:2171
++#: cp/parser.c:2175
+ #, gcc-internal-format
+ msgid "duplicate %qs"
+ msgstr "é‡è¤‡çš„ %qs"
+
+-#: cp/parser.c:2214
++#: cp/parser.c:2218
+ #, gcc-internal-format
+ msgid "new types may not be defined in a return type"
+ msgstr "ä¸èƒ½åœ¨å›žå‚³é¡žåž‹ä¸­å®šç¾©æ–°é¡žåž‹"
+
+-#: cp/parser.c:2215
++#: cp/parser.c:2219
+ #, gcc-internal-format
+ msgid "(perhaps a semicolon is missing after the definition of %qT)"
+ msgstr "(%qT 的定義末尾å¯èƒ½ç¼ºå°‘一個分號)"
+
+-#: cp/parser.c:2234 cp/parser.c:4077 cp/pt.c:5443
++#: cp/parser.c:2238 cp/parser.c:4081 cp/pt.c:5509
+ #, gcc-internal-format
+ msgid "%qT is not a template"
+ msgstr "%qT ä¸æ˜¯ä¸€å€‹ç¯„本"
+
+-#: cp/parser.c:2236
++#: cp/parser.c:2240
+ #, gcc-internal-format
+ msgid "%qE is not a template"
+ msgstr "%qE ä¸æ˜¯ä¸€å€‹ç¯„本"
+
+-#: cp/parser.c:2238
++#: cp/parser.c:2242
+ #, gcc-internal-format
+ msgid "invalid template-id"
+ msgstr "無效的範本 ID"
+
+-#: cp/parser.c:2267
++#: cp/parser.c:2271
+ #, gcc-internal-format
+ msgid "%s cannot appear in a constant-expression"
+ msgstr "%s ä¸èƒ½å‡ºç¾åœ¨å¸¸æ•¸é‹ç®—å¼ä¸­"
+
+-#: cp/parser.c:2292
++#: cp/parser.c:2296
+ #, gcc-internal-format
+ msgid "invalid use of template-name %qE without an argument list"
+ msgstr "使用範本å %qE 時ä¸å¸¶å¼•æ•¸è¡¨ç„¡æ•ˆ"
+
+-#: cp/parser.c:2294
++#: cp/parser.c:2298
+ #, fuzzy, gcc-internal-format
+ msgid "invalid use of destructor %qD as a type"
+ msgstr "將建構å¼åšç‚ºç¯„本用法無效"
+
+ #. Something like 'unsigned A a;'
+-#: cp/parser.c:2297
++#: cp/parser.c:2301
+ #, fuzzy, gcc-internal-format
+ msgid "invalid combination of multiple type-specifiers"
+ msgstr "å°é™å®šé¡žåž‹ %qT 的定義無效"
+
+ #. Issue an error message.
+-#: cp/parser.c:2301
++#: cp/parser.c:2305
+ #, gcc-internal-format
+ msgid "%qE does not name a type"
+ msgstr "%qE 沒有命å一個類型"
+
+-#: cp/parser.c:2333
++#: cp/parser.c:2337
+ #, gcc-internal-format
+ msgid "(perhaps %<typename %T::%E%> was intended)"
+ msgstr "(也許您本æ„是想用 %<typename %T::%E%>)"
+
+-#: cp/parser.c:2348
++#: cp/parser.c:2352
+ #, gcc-internal-format
+ msgid "%qE in namespace %qE does not name a type"
+ msgstr "%qE 在命å空間 %qE 中沒有命å一個類型"
+
+-#: cp/parser.c:2351
++#: cp/parser.c:2355
+ #, gcc-internal-format
+ msgid "%qE in class %qT does not name a type"
+ msgstr "%qE 在類別 %qT 中沒有命å一個類型"
+
+-#: cp/parser.c:3160
++#: cp/parser.c:3164
+ #, gcc-internal-format
+ msgid "ISO C++ forbids braced-groups within expressions"
+ msgstr "ISO C++ ä¸å…許在é‹ç®—å¼ä¸­ä½¿ç”¨å¤§æ‹¬è™Ÿçµ„"
+
+-#: cp/parser.c:3171
++#: cp/parser.c:3175
+ #, fuzzy, gcc-internal-format
+ msgid "statement-expressions are not allowed outside functions nor in template-argument lists"
+ msgstr "敘述é‹ç®—å¼åªèƒ½ç”¨æ–¼å‡½å¼å…§"
+
+-#: cp/parser.c:3229
++#: cp/parser.c:3233
+ #, gcc-internal-format
+ msgid "%<this%> may not be used in this context"
+ msgstr "%<this%> ä¸èƒ½ç”¨åœ¨æ­¤ä¸Šä¸‹æ–‡ä¸­"
+
+-#: cp/parser.c:3412
++#: cp/parser.c:3416
+ #, gcc-internal-format
+ msgid "local variable %qD may not appear in this context"
+ msgstr "局部變數 %qD ä¸æ‡‰å‡ºç¾åœ¨æ­¤ä¸Šä¸‹æ–‡ä¸­"
+
+-#: cp/parser.c:3711
++#: cp/parser.c:3715
+ #, fuzzy, gcc-internal-format
+ msgid "scope %qT before %<~%> is not a class-name"
+ msgstr "%qT æ—¢ä¸æ˜¯é¡žåˆ¥ä¹Ÿä¸æ˜¯å‘½å空間"
+
+-#: cp/parser.c:3812
++#: cp/parser.c:3816
+ #, gcc-internal-format
+ msgid "declaration of %<~%T%> as member of %qT"
+ msgstr "%<~%T%> 宣告為 %qT 的一個æˆå“¡"
+
+-#: cp/parser.c:3826
++#: cp/parser.c:3830
+ #, gcc-internal-format
+ msgid "typedef-name %qD used as destructor declarator"
+ msgstr "typedef å %qD 用於解構函å¼å®£å‘Š"
+
+-#: cp/parser.c:4480
++#: cp/parser.c:4484
+ #, gcc-internal-format
+ msgid "ISO C++ forbids compound-literals"
+ msgstr "ISO C++ ä¸å…許複åˆå­—é¢å€¼"
+
+-#: cp/parser.c:4837
++#: cp/parser.c:4841
+ #, gcc-internal-format
+ msgid "%qE does not have class type"
+ msgstr "%qE ä¸æ˜¯ä¸€å€‹é¡žåˆ¥"
+
+-#: cp/parser.c:4920 cp/typeck.c:1978
++#: cp/parser.c:4924 cp/typeck.c:2024
+ #, gcc-internal-format
+ msgid "invalid use of %qD"
+ msgstr "錯誤地使用了 %qD"
+
+-#: cp/parser.c:5480
++#: cp/parser.c:5486
+ #, gcc-internal-format
+ msgid "array bound forbidden after parenthesized type-id"
+ msgstr "括起的類型識別碼後é¢ä¸èƒ½å‡ºç¾é™£åˆ—é‚Šç•Œ"
+
+-#: cp/parser.c:5481
++#: cp/parser.c:5487
+ #, gcc-internal-format
+ msgid "try removing the parentheses around the type-id"
+ msgstr "請嘗試刪除類型識別碼兩邊的括號"
+
+-#: cp/parser.c:5671
++#: cp/parser.c:5677
+ #, gcc-internal-format
+ msgid "expression in new-declarator must have integral or enumeration type"
+ msgstr "new 宣告中的é‹ç®—å¼å¿…須具有整數或列舉類型"
+
+-#: cp/parser.c:5860
++#: cp/parser.c:5866
+ #, gcc-internal-format
+ msgid "use of old-style cast"
+ msgstr "使用舊å¼çš„類型轉æ›"
+
+-#: cp/parser.c:5986
++#: cp/parser.c:5992
+ #, gcc-internal-format
+ msgid "%H%<>>%> operator will be treated as two right angle brackets in C++0x"
+ msgstr ""
+
+-#: cp/parser.c:5989
++#: cp/parser.c:5995
+ #, fuzzy, gcc-internal-format
+ msgid "suggest parentheses around %<>>%> expression"
+ msgstr "建議在 || çš„é‹ç®—元中出ç¾çš„ && å‰å¾ŒåŠ ä¸Šæ‹¬è™Ÿ"
+
+-#: cp/parser.c:6793
++#: cp/parser.c:6799
+ #, gcc-internal-format
+ msgid "case label %qE not within a switch statement"
+ msgstr "case 標籤 %qE 未出ç¾åœ¨ switch 敘述中"
+
+-#: cp/parser.c:6922
++#: cp/parser.c:6928
+ #, gcc-internal-format
+ msgid "%<else%> without a previous %<if%>"
+ msgstr ""
+
+-#: cp/parser.c:7208
++#: cp/parser.c:7214
+ #, gcc-internal-format
+ msgid "suggest a space before %<;%> or explicit braces around empty body in %<%s%> statement"
+ msgstr ""
+
+-#: cp/parser.c:7468
++#: cp/parser.c:7474
+ #, gcc-internal-format
+ msgid "ISO C++ forbids computed gotos"
+ msgstr "ISO C++ ä¸å…許執行時å¯çŸ¥çš„ goto 目的"
+
+-#: cp/parser.c:7608
++#: cp/parser.c:7614
+ #, gcc-internal-format
+ msgid "extra %<;%>"
+ msgstr "多餘的 %<;%>"
+
+-#: cp/parser.c:7825
++#: cp/parser.c:7831
+ #, gcc-internal-format
+ msgid "%<__label__%> not at the beginning of a block"
+ msgstr ""
+
+-#: cp/parser.c:7958
++#: cp/parser.c:7964
+ #, gcc-internal-format
+ msgid "mixing declarations and function-definitions is forbidden"
+ msgstr "ä¸èƒ½æ··åˆå®£å‘Šå’Œå‡½å¼å®šç¾©"
+
+-#: cp/parser.c:8090
++#: cp/parser.c:8096
+ #, fuzzy, gcc-internal-format
+ msgid "%<friend%> used outside of class"
+ msgstr "%<friend%> åªèƒ½åœ¨é¡žåˆ¥ä¸­æŒ‡å®š"
+
+-#: cp/parser.c:8244
++#: cp/parser.c:8250
+ #, gcc-internal-format
+ msgid "class definition may not be declared a friend"
+ msgstr "類別定義ä¸èƒ½è¢«å®£å‘Šç‚ºå¤¥ä¼´"
+
+-#: cp/parser.c:8308 cp/parser.c:15155
++#: cp/parser.c:8314 cp/parser.c:15235
+ #, gcc-internal-format
+ msgid "templates may not be %<virtual%>"
+ msgstr ""
+
+-#: cp/parser.c:8775
++#: cp/parser.c:8786
+ #, gcc-internal-format
+ msgid "only constructors take base initializers"
+ msgstr "åªæœ‰å»ºæ§‹å¼æ‰èƒ½æœ‰åŸºç¤Žé¡žåˆ¥åˆå§‹å€¼è¨­å®š"
+
+-#: cp/parser.c:8795
++#: cp/parser.c:8806
+ #, fuzzy, gcc-internal-format
+ msgid "cannot expand initializer for member %<%D%>"
+ msgstr "æˆå“¡ %qD 缺少åˆå§‹å€¼è¨­å®š"
+
+-#: cp/parser.c:8847
++#: cp/parser.c:8858
+ #, gcc-internal-format
+ msgid "anachronistic old-style base class initializer"
+ msgstr "年代錯誤的舊å¼åŸºç¤Žé¡žåˆ¥åˆå§‹å€¼è¨­å®š"
+
+-#: cp/parser.c:8892
++#: cp/parser.c:8903
+ #, gcc-internal-format
+ msgid "keyword %<typename%> not allowed in this context (a qualified member initializer is implicitly a type)"
+ msgstr "é—œéµå­— %<typename%> ä¸å…許用在此上下文中(é™å®šçš„åˆå§‹å€¼è¨­å®šéš±å«åœ°æ˜¯ä¸€å€‹é¡žåž‹)"
+
+ #. Warn that we do not support `export'.
+-#: cp/parser.c:9237
++#: cp/parser.c:9248
+ #, gcc-internal-format
+ msgid "keyword %<export%> not implemented, and will be ignored"
+ msgstr "é—œéµå­— %<export%> 未實作,將被忽略"
+
+-#: cp/parser.c:9482 cp/parser.c:9583
++#: cp/parser.c:9419 cp/parser.c:9517 cp/parser.c:9618
+ #, fuzzy, gcc-internal-format
+ msgid "template parameter pack %qD cannot have a default argument"
+ msgstr "%qD ä¸èƒ½æœ‰é è¨­åƒæ•¸"
+
+-#: cp/parser.c:9485 cp/parser.c:9586
++#: cp/parser.c:9422
+ #, fuzzy, gcc-internal-format
++msgid "template parameter pack cannot have a default argument"
++msgstr "範本åƒæ•¸ä¸èƒ½æ˜¯å¤¥ä¼´"
++
++#: cp/parser.c:9520 cp/parser.c:9621
++#, fuzzy, gcc-internal-format
+ msgid "template parameter packs cannot have default arguments"
+ msgstr "範本åƒæ•¸ä¸èƒ½æ˜¯å¤¥ä¼´"
+
+ #. Otherwise, emit an error about the invalid digraph, but continue
+ #. parsing because we got our argument list.
+-#: cp/parser.c:9723
++#: cp/parser.c:9758
+ #, gcc-internal-format
+ msgid "%<<::%> cannot begin a template-argument list"
+ msgstr "ä¸èƒ½ä»¥ %<<::%> 開始一個範本引數清單"
+
+-#: cp/parser.c:9724
++#: cp/parser.c:9759
+ #, gcc-internal-format
+ msgid "%<<:%> is an alternate spelling for %<[%>. Insert whitespace between %<<%> and %<::%>"
+ msgstr "%<<:%> 是 %<[%> çš„å¦ä¸€ç¨®æ‹¼æ³•ã€‚請在 %<<%> å’Œ %<::%> 間加上空格"
+
+-#: cp/parser.c:9731
++#: cp/parser.c:9766
+ #, gcc-internal-format
+ msgid "(if you use -fpermissive G++ will accept your code)"
+ msgstr "(如果您使用 -fpermissive G++ 會接å—您的程å¼ç¢¼)"
+
+-#: cp/parser.c:9804
++#: cp/parser.c:9839
+ #, gcc-internal-format
+ msgid "parse error in template argument list"
+ msgstr "範本引數表語法錯誤"
+
+ #. Explain what went wrong.
+-#: cp/parser.c:9917
++#: cp/parser.c:9952
+ #, gcc-internal-format
+ msgid "non-template %qD used as template"
+ msgstr "éžç¯„本 %qD åšç‚ºç¯„本"
+
+-#: cp/parser.c:9918
++#: cp/parser.c:9953
+ #, gcc-internal-format
+ msgid "use %<%T::template %D%> to indicate that it is a template"
+ msgstr "使用 %<%T::template %D%> 來表示這是一個範本"
+
+-#: cp/parser.c:10441
++#: cp/parser.c:10476
+ #, gcc-internal-format
+ msgid "template specialization with C linkage"
+ msgstr "特例化範本有 C 連çµ"
+
+-#: cp/parser.c:11032
++#: cp/parser.c:11067
+ #, gcc-internal-format
+ msgid "using %<typename%> outside of template"
+ msgstr "在範本外使用 %<typename%>"
+
+-#: cp/parser.c:11191
++#: cp/parser.c:11226
+ #, fuzzy, gcc-internal-format
+ msgid "declaration %qD does not declare anything"
+ msgstr "沒有宣告任何æ±è¥¿"
+
+-#: cp/parser.c:11275
++#: cp/parser.c:11310
+ #, fuzzy, gcc-internal-format
+ msgid "attributes ignored on uninstantiated type"
+ msgstr "%qE 屬性在ä¸æ˜¯é¡žåˆ¥çš„類型上被忽略"
+
+-#: cp/parser.c:11279
++#: cp/parser.c:11314
+ #, fuzzy, gcc-internal-format
+ msgid "attributes ignored on template instantiation"
+ msgstr "為範本實體化化套用了存儲類型 %qD"
+
+-#: cp/parser.c:11284
++#: cp/parser.c:11319
+ #, gcc-internal-format
+ msgid "attributes ignored on elaborated-type-specifier that is not a forward declaration"
+ msgstr ""
+
+-#: cp/parser.c:11406
++#: cp/parser.c:11441
+ #, gcc-internal-format
+ msgid "comma at end of enumerator list"
+ msgstr "列舉表以逗號çµå°¾"
+
+-#: cp/parser.c:11498
++#: cp/parser.c:11533
+ #, gcc-internal-format
+ msgid "%qD is not a namespace-name"
+ msgstr "%qD ä¸æ˜¯ä¸€å€‹å‘½å空間"
+
+-#: cp/parser.c:11599
++#: cp/parser.c:11634
+ #, fuzzy, gcc-internal-format
+ msgid "%<namespace%> definition is not allowed here"
+ msgstr "在這裡ä¸å…許使用 %<#pragma%>"
+@@ -30448,142 +30464,157 @@
+ #. [namespace.udecl]
+ #.
+ #. A using declaration shall not name a template-id.
+-#: cp/parser.c:11738
++#: cp/parser.c:11773
+ #, gcc-internal-format
+ msgid "a template-id may not appear in a using-declaration"
+ msgstr "範本識別碼ä¸å…許出ç¾åœ¨ using 宣告中"
+
+-#: cp/parser.c:12094
++#: cp/parser.c:12135
+ #, gcc-internal-format
+ msgid "an asm-specification is not allowed on a function-definition"
+ msgstr "函å¼å®šç¾©ä¸­ä¸å…è¨±å‡ºç¾ asm 指定"
+
+-#: cp/parser.c:12096
++#: cp/parser.c:12137
+ #, gcc-internal-format
+ msgid "attributes are not allowed on a function-definition"
+ msgstr "函å¼å®šç¾©ä¸­ä¸å…許有屬性"
+
+-#: cp/parser.c:12229
++#: cp/parser.c:12270
+ #, fuzzy, gcc-internal-format
+ msgid "initializer provided for function"
+ msgstr "無法åˆå§‹åŒ–å¤¥ä¼´å‡½å¼ %qs"
+
+-#: cp/parser.c:12249
++#: cp/parser.c:12290
+ #, gcc-internal-format
+ msgid "attributes after parenthesized initializer ignored"
+ msgstr "括起的åˆå§‹å€¼è¨­å®šå¾Œå‡ºç¾çš„屬性被忽略"
+
+-#: cp/parser.c:12630 cp/pt.c:8772
++#: cp/parser.c:12671 cp/pt.c:8893
+ #, gcc-internal-format
+ msgid "array bound is not an integer constant"
+ msgstr "陣列邊界ä¸æ˜¯ä¸€å€‹æ•´æ•¸å¸¸æ•¸"
+
+-#: cp/parser.c:12739
++#: cp/parser.c:12780
+ #, fuzzy, gcc-internal-format
+ msgid "%<%T::%E%> is not a type"
+ msgstr "%<%T::%D%> ä¸æ˜¯ä¸€å€‹é¡žåž‹"
+
+-#: cp/parser.c:12765
++#: cp/parser.c:12806
+ #, gcc-internal-format
+ msgid "invalid use of constructor as a template"
+ msgstr "將建構å¼åšç‚ºç¯„本用法無效"
+
+-#: cp/parser.c:12766
++#: cp/parser.c:12807
+ #, gcc-internal-format
+ msgid "use %<%T::%D%> instead of %<%T::%D%> to name the constructor in a qualified name"
+ msgstr "使用 %<%T::%D%> 而ä¸æ˜¯ %<%T::%D%> 來以é™å®šå指定建構å¼"
+
+-#: cp/parser.c:12938
++#: cp/parser.c:12979
+ #, gcc-internal-format
+ msgid "%qD is a namespace"
+ msgstr "%qD 是一個命å空間"
+
+-#: cp/parser.c:13013
++#: cp/parser.c:13054
+ #, gcc-internal-format
+ msgid "duplicate cv-qualifier"
+ msgstr "é‡è¤‡çš„ cv é™å®š"
+
+-#: cp/parser.c:13600
++#: cp/parser.c:13640
+ #, gcc-internal-format
+ msgid "file ends in default argument"
+ msgstr "檔案在é è¨­åƒæ•¸è™•çµæŸ"
+
+-#: cp/parser.c:13673
++#: cp/parser.c:13683
+ #, gcc-internal-format
+ msgid "deprecated use of default argument for parameter of non-function"
+ msgstr "為éžå‡½å¼æŒ‡å®šé è¨­åƒæ•¸çš„用法已éŽæ™‚"
+
+-#: cp/parser.c:13676
++#: cp/parser.c:13686
+ #, gcc-internal-format
+ msgid "default arguments are only permitted for function parameters"
+ msgstr "é è¨­åƒæ•¸åªå…許出ç¾åœ¨å‡½å¼åƒæ•¸ä¸­"
+
+-#: cp/parser.c:13877
++#: cp/parser.c:13702
++#, fuzzy, gcc-internal-format
++msgid "%sparameter pack %qD cannot have a default argument"
++msgstr "%qD ä¸èƒ½æœ‰é è¨­åƒæ•¸"
++
++#: cp/parser.c:13705
++#, fuzzy, gcc-internal-format
++msgid "%sparameter pack cannot have a default argument"
++msgstr "%qD ä¸èƒ½æœ‰é è¨­åƒæ•¸"
++
++#: cp/parser.c:13947
+ #, gcc-internal-format
+ msgid "ISO C++ does not allow designated initializers"
+ msgstr "ISO C++ ä¸å…許指定元素åˆå§‹å€¼è¨­å®š"
+
+-#: cp/parser.c:14477
++#: cp/parser.c:14547
+ #, gcc-internal-format
+ msgid "invalid class name in declaration of %qD"
+ msgstr "%qD 的宣告中類別å無效"
+
+-#: cp/parser.c:14489
++#: cp/parser.c:14559
+ #, fuzzy, gcc-internal-format
+ msgid "declaration of %qD in namespace %qD which does not enclose %qD"
+ msgstr "%qD 宣告出ç¾åœ¨ %qD 中,而後者並ä¸åŒ…å« %qD"
+
+-#: cp/parser.c:14492
++#: cp/parser.c:14562
+ #, gcc-internal-format
+ msgid "declaration of %qD in %qD which does not enclose %qD"
+ msgstr "%qD 宣告出ç¾åœ¨ %qD 中,而後者並ä¸åŒ…å« %qD"
+
+-#: cp/parser.c:14505
++#: cp/parser.c:14575
+ #, gcc-internal-format
+ msgid "extra qualification ignored"
+ msgstr "忽略é¡å¤–çš„é™å®š"
+
+-#: cp/parser.c:14516
++#: cp/parser.c:14586
+ #, gcc-internal-format
+ msgid "an explicit specialization must be preceded by %<template <>%>"
+ msgstr "明確特例化å‰å¿…須有 %<template <>%>"
+
+-#: cp/parser.c:14609
++#: cp/parser.c:14613
++#, fuzzy, gcc-internal-format
++msgid "function template %qD redeclared as a class template"
++msgstr "éžç¯„本 %qD åšç‚ºç¯„本"
++
++#: cp/parser.c:14689
+ #, gcc-internal-format
+ msgid "previous definition of %q+#T"
+ msgstr "%q+#T 的上一個定義"
+
+-#: cp/parser.c:14855
++#: cp/parser.c:14935
+ #, gcc-internal-format
+ msgid "%Hextra %<;%>"
+ msgstr "%H多餘的 %<;%>"
+
+-#: cp/parser.c:14873
++#: cp/parser.c:14953
+ #, gcc-internal-format
+ msgid "a class-key must be used when declaring a friend"
+ msgstr "宣告夥伴時必須使用 class é—œéµå­—"
+
+-#: cp/parser.c:14887
++#: cp/parser.c:14967
+ #, gcc-internal-format
+ msgid "friend declaration does not name a class or function"
+ msgstr "夥伴宣告沒有指定類別或函å¼å"
+
+-#: cp/parser.c:15064
++#: cp/parser.c:15144
+ #, gcc-internal-format
+ msgid "pure-specifier on function-definition"
+ msgstr "函å¼å®šç¾©ä¸Šæœ‰ pure 指定"
+
+-#: cp/parser.c:15356
++#: cp/parser.c:15438
+ #, gcc-internal-format
+ msgid "keyword %<typename%> not allowed outside of templates"
+ msgstr "é—œéµå­— %<typename%> ä¸èƒ½åœ¨ç¯„本以外使用"
+
+-#: cp/parser.c:15358
++#: cp/parser.c:15440
+ #, gcc-internal-format
+ msgid "keyword %<typename%> not allowed in this context (the base class is implicitly a type)"
+ msgstr "é—œéµå­— %<typename%> ä¸å…許用在此上下文中(基礎類別隱å«åœ°æ˜¯ä¸€å€‹é¡žåž‹)"
+
+-#: cp/parser.c:16407
++#: cp/parser.c:16489
+ #, gcc-internal-format
+ msgid "too few template-parameter-lists"
+ msgstr "範本åƒæ•¸è¡¨å¤ªå°‘"
+@@ -30592,13 +30623,13 @@
+ #. something like:
+ #.
+ #. template <class T> template <class U> void S::f();
+-#: cp/parser.c:16422
++#: cp/parser.c:16504
+ #, gcc-internal-format
+ msgid "too many template-parameter-lists"
+ msgstr "範本åƒæ•¸è¡¨å¤ªå¤š"
+
+ #. Issue an error message.
+-#: cp/parser.c:16694
++#: cp/parser.c:16776
+ #, gcc-internal-format
+ msgid "named return values are no longer supported"
+ msgstr "å…·å回傳值ä¸å†è¢«æ”¯æ´"
+@@ -30606,234 +30637,234 @@
+ #. 14.5.2.2 [temp.mem]
+ #.
+ #. A local class shall not have member templates.
+-#: cp/parser.c:16766
++#: cp/parser.c:16848
+ #, fuzzy, gcc-internal-format
+ msgid "invalid declaration of member template in local class"
+ msgstr "局部類別中å°æˆå“¡ç¯„本 %q#D 的宣告無效"
+
+-#: cp/parser.c:16775
++#: cp/parser.c:16857
+ #, gcc-internal-format
+ msgid "template with C linkage"
+ msgstr "C 連çµçš„範本"
+
+-#: cp/parser.c:16919
++#: cp/parser.c:17001
+ #, gcc-internal-format
+ msgid "template declaration of %qs"
+ msgstr "%qs 宣告為範本"
+
+-#: cp/parser.c:16982
++#: cp/parser.c:17064
+ #, fuzzy, gcc-internal-format
+ msgid "explicit template specialization cannot have a storage class"
+ msgstr "明確特例化出ç¾åœ¨éžå‘½åç©ºé–“ä½œç”¨æ¬„ä½ %qD 中"
+
+-#: cp/parser.c:17171
++#: cp/parser.c:17253
+ #, gcc-internal-format
+ msgid "%H%<>>%> should be %<> >%> within a nested template argument list"
+ msgstr "%H在巢狀範本引數清單中應當使用 %<> >%> è€Œéž %<>>%>"
+
+-#: cp/parser.c:17184
++#: cp/parser.c:17266
+ #, gcc-internal-format
+ msgid "spurious %<>>%>, use %<>%> to terminate a template argument list"
+ msgstr "å¯ç–‘çš„ %<>>%>,使用 %<>%> 來çµæŸç¯„本引數清單"
+
+-#: cp/parser.c:17519
++#: cp/parser.c:17601
+ #, fuzzy, gcc-internal-format
+ msgid "invalid use of %qD in linkage specification"
+ msgstr "無效的基礎類別"
+
+-#: cp/parser.c:17532
++#: cp/parser.c:17614
+ #, fuzzy, gcc-internal-format
+ msgid "%<__thread%> before %qD"
+ msgstr "%<__thread%> 出ç¾åœ¨ %<extern%> 之å‰"
+
+-#: cp/parser.c:17847
++#: cp/parser.c:17929
+ #, gcc-internal-format
+ msgid "%qs tag used in naming %q#T"
+ msgstr "使用了 %qs 標記,在命å %q#T 時"
+
+-#: cp/parser.c:17868
++#: cp/parser.c:17950
+ #, gcc-internal-format
+ msgid "%qD redeclared with different access"
+ msgstr "%qD é‡å®£å‘Šæ™‚有ä¸åŒçš„å¯å­˜å–性"
+
+-#: cp/parser.c:17885
++#: cp/parser.c:17967
+ #, gcc-internal-format
+ msgid "%<template%> (as a disambiguator) is only allowed within templates"
+ msgstr "åšç‚ºæ¶ˆæ­§ç¾©çš„ %<template%> åªèƒ½ç”¨æ–¼ç¯„本內"
+
+-#: cp/parser.c:18138 cp/parser.c:19061 cp/parser.c:19192
++#: cp/parser.c:18220 cp/parser.c:19143 cp/parser.c:19274
+ #, gcc-internal-format
+ msgid "misplaced %<@%D%> Objective-C++ construct"
+ msgstr "ä½ç½®éŒ¯èª¤çš„ %<@%D%> Objective-C++ 建構"
+
+-#: cp/parser.c:18279
++#: cp/parser.c:18361
+ #, gcc-internal-format
+ msgid "%<@encode%> must specify a type as an argument"
+ msgstr "%<@encode%> 必須指定一個類型åšç‚ºå¼•æ•¸"
+
+-#: cp/parser.c:18594
++#: cp/parser.c:18676
+ #, gcc-internal-format
+ msgid "invalid Objective-C++ selector name"
+ msgstr "無效的 Objective-C++ é¸æ“‡å­å"
+
+-#: cp/parser.c:18925
++#: cp/parser.c:19007
+ #, gcc-internal-format
+ msgid "identifier expected after %<@protocol%>"
+ msgstr "%<@protocol%> 需è¦è­˜åˆ¥ç¢¼"
+
+-#: cp/parser.c:19626
++#: cp/parser.c:19708
+ #, gcc-internal-format
+ msgid "schedule %<runtime%> does not take a %<chunk_size%> parameter"
+ msgstr ""
+
+-#: cp/parser.c:19735
++#: cp/parser.c:19824
+ #, fuzzy, gcc-internal-format
+ msgid "%qs is not valid for %qs"
+ msgstr "%qs ä¸æ˜¯ä¸€å€‹æœ‰æ•ˆçš„輸出檔案"
+
+-#: cp/parser.c:20390
++#: cp/parser.c:20479
+ #, fuzzy, gcc-internal-format
+ msgid "junk at end of %<#pragma GCC pch_preprocess%>"
+ msgstr "%<#pragma pack%> 末尾有無用字元"
+
+-#: cp/parser.c:20477
++#: cp/parser.c:20566
+ #, gcc-internal-format
+ msgid "%<#pragma omp section%> may only be used in %<#pragma omp sections%> construct"
+ msgstr ""
+
+-#: cp/parser.c:20535
++#: cp/parser.c:20624
+ #, gcc-internal-format
+ msgid "inter-module optimizations not implemented for C++"
+ msgstr "模組間最佳化æ·æœªç‚º C++ 實作"
+
+-#: cp/pt.c:249
++#: cp/pt.c:252
+ #, gcc-internal-format
+ msgid "data member %qD cannot be a member template"
+ msgstr "資料æˆå“¡ %qD ä¸èƒ½æ˜¯æˆå“¡ç¯„本"
+
+-#: cp/pt.c:261
++#: cp/pt.c:264
+ #, gcc-internal-format
+ msgid "invalid member template declaration %qD"
+ msgstr "無效的æˆå“¡ç¯„本宣告 %qD"
+
+-#: cp/pt.c:609
++#: cp/pt.c:612
+ #, gcc-internal-format
+ msgid "explicit specialization in non-namespace scope %qD"
+ msgstr "明確特例化出ç¾åœ¨éžå‘½åç©ºé–“ä½œç”¨æ¬„ä½ %qD 中"
+
+-#: cp/pt.c:623
++#: cp/pt.c:626
+ #, gcc-internal-format
+ msgid "enclosing class templates are not explicitly specialized"
+ msgstr "所包å«çš„類別範本並未被明確特例化"
+
+-#: cp/pt.c:711
++#: cp/pt.c:714
+ #, gcc-internal-format
+ msgid "specialization of %qD in different namespace"
+ msgstr "在ä¸åŒå‘½åç©ºé–“å…§å° %qD 的特例化"
+
+-#: cp/pt.c:712 cp/pt.c:809
++#: cp/pt.c:715 cp/pt.c:812
+ #, gcc-internal-format
+ msgid " from definition of %q+#D"
+ msgstr " 從 %q+#D 的定義"
+
+-#: cp/pt.c:729
++#: cp/pt.c:732
+ #, gcc-internal-format
+ msgid "explicit instantiation of %qD in namespace %qD (which does not enclose namespace %qD)"
+ msgstr "%qD 的明確實體化出ç¾åœ¨å‘½å空間 %qD 中,而後者並ä¸åŒ…å«å‘½å空間 %qD"
+
+-#: cp/pt.c:747
++#: cp/pt.c:750
+ #, fuzzy, gcc-internal-format
+ msgid "name of class shadows template template parameter %qD"
+ msgstr "範本的範本åƒæ•¸çš„é è¨­å¼•æ•¸ç„¡æ•ˆ"
+
+-#: cp/pt.c:776
++#: cp/pt.c:779
+ #, gcc-internal-format
+ msgid "specialization of %qT after instantiation"
+ msgstr "%qT 的實體化在特例化之後"
+
+-#: cp/pt.c:808
++#: cp/pt.c:811
+ #, gcc-internal-format
+ msgid "specializing %q#T in different namespace"
+ msgstr "在ä¸åŒå‘½å空間中特例化 %q#T"
+
+-#: cp/pt.c:823
++#: cp/pt.c:826
+ #, gcc-internal-format
+ msgid "specialization %qT after instantiation %qT"
+ msgstr "%qT 的實體化在 %qT 的特例化之後"
+
+-#: cp/pt.c:836
++#: cp/pt.c:839
+ #, gcc-internal-format
+ msgid "explicit specialization of non-template %qT"
+ msgstr "明確特例化éžç¯„本 %qT"
+
+-#: cp/pt.c:1238
++#: cp/pt.c:1246
+ #, gcc-internal-format
+ msgid "specialization of %qD after instantiation"
+ msgstr "%qD 的特例化在實體化之後"
+
+-#: cp/pt.c:1464
++#: cp/pt.c:1472
+ #, gcc-internal-format
+ msgid "%qD is not a function template"
+ msgstr "%qD ä¸æ˜¯ä¸€å€‹å‡½å¼ç¯„本"
+
+-#: cp/pt.c:1673
++#: cp/pt.c:1681
+ #, gcc-internal-format
+ msgid "template-id %qD for %q+D does not match any template declaration"
+ msgstr "範本識別碼 %qD(屬於 %q+D)ä¸åŒ¹é…任何範本宣告"
+
+-#: cp/pt.c:1681
++#: cp/pt.c:1689
+ #, gcc-internal-format
+ msgid "ambiguous template specialization %qD for %q+D"
+ msgstr "有歧義的範本特例化 %qD (為 %q+D)"
+
+ #. This case handles bogus declarations like template <>
+ #. template <class T> void f<int>();
+-#: cp/pt.c:1916 cp/pt.c:1970
++#: cp/pt.c:1924 cp/pt.c:1978
+ #, gcc-internal-format
+ msgid "template-id %qD in declaration of primary template"
+ msgstr "範本識別碼 %qD 出ç¾åœ¨åŸºæœ¬ç¯„本的宣告中"
+
+-#: cp/pt.c:1929
++#: cp/pt.c:1937
+ #, gcc-internal-format
+ msgid "template parameter list used in explicit instantiation"
+ msgstr "明確åˆå§‹åŒ–中出ç¾äº†ç¯„本åƒæ•¸æ¸…å–®"
+
+-#: cp/pt.c:1935
++#: cp/pt.c:1943
+ #, gcc-internal-format
+ msgid "definition provided for explicit instantiation"
+ msgstr "為明確實體化æ供的定義"
+
+-#: cp/pt.c:1943
++#: cp/pt.c:1951
+ #, gcc-internal-format
+ msgid "too many template parameter lists in declaration of %qD"
+ msgstr "%qD 宣告時範本åƒæ•¸è¡¨å¤ªå¤š"
+
+-#: cp/pt.c:1946
++#: cp/pt.c:1954
+ #, gcc-internal-format
+ msgid "too few template parameter lists in declaration of %qD"
+ msgstr "%qD 宣告時範本åƒæ•¸è¡¨å¤ªå°‘"
+
+-#: cp/pt.c:1948
++#: cp/pt.c:1956
+ #, gcc-internal-format
+ msgid "explicit specialization of %qD must be introduced by %<template <>%>"
+ msgstr "%qD 的明確特例化必須由 %<template <>%> 引入"
+
+-#: cp/pt.c:1967
++#: cp/pt.c:1975
+ #, gcc-internal-format
+ msgid "function template partial specialization %qD is not allowed"
+ msgstr "函å¼ç¯„本部分特例化 %qD 是ä¸å…許的"
+
+-#: cp/pt.c:1999
++#: cp/pt.c:2007
+ #, gcc-internal-format
+ msgid "default argument specified in explicit specialization"
+ msgstr "明確特例化時指定了é è¨­åƒæ•¸"
+
+-#: cp/pt.c:2029
++#: cp/pt.c:2037
+ #, gcc-internal-format
+ msgid "%qD is not a template function"
+ msgstr "%qD ä¸æ˜¯ä¸€å€‹ç¯„本函å¼"
+
+-#: cp/pt.c:2037
++#: cp/pt.c:2045
+ #, fuzzy, gcc-internal-format
+ msgid "%qD is not declared in %qD"
+ msgstr "%qD 未宣告"
+@@ -30846,100 +30877,110 @@
+ #. program is ill-formed.
+ #.
+ #. Similar language is found in [temp.explicit].
+-#: cp/pt.c:2099
++#: cp/pt.c:2107
+ #, gcc-internal-format
+ msgid "specialization of implicitly-declared special member function"
+ msgstr "特例化了隱å«å®£å‘Šçš„特殊æˆå“¡å‡½å¼"
+
+-#: cp/pt.c:2143
++#: cp/pt.c:2151
+ #, gcc-internal-format
+ msgid "no member function %qD declared in %qT"
+ msgstr "æˆå“¡å‡½å¼ %qD 未在 %qT 中宣告"
+
+-#: cp/pt.c:2642
++#: cp/pt.c:2628
+ #, gcc-internal-format
+ msgid "base initializer expansion %<%T%> contains no parameter packs"
+ msgstr ""
+
+-#: cp/pt.c:2701
++#: cp/pt.c:2687
+ #, gcc-internal-format
+ msgid "expansion pattern %<%T%> contains no argument packs"
+ msgstr ""
+
+-#: cp/pt.c:2703
++#: cp/pt.c:2689
+ #, gcc-internal-format
+ msgid "expansion pattern %<%E%> contains no argument packs"
+ msgstr ""
+
+-#: cp/pt.c:2745
++#: cp/pt.c:2730
+ #, gcc-internal-format
+ msgid "parameter packs not expanded with `...':"
+ msgstr ""
+
+-#: cp/pt.c:2760 cp/pt.c:3383
++#: cp/pt.c:2745 cp/pt.c:3361
+ #, gcc-internal-format
+ msgid " %qD"
+ msgstr " %qD"
+
+-#: cp/pt.c:2762
++#: cp/pt.c:2747
+ #, fuzzy, gcc-internal-format
+ msgid " <anonymous>"
+ msgstr "<anonymous>"
+
+-#: cp/pt.c:2875
++#: cp/pt.c:2852
+ #, gcc-internal-format
+ msgid "declaration of %q+#D"
+ msgstr "%q+#D 的宣告"
+
+-#: cp/pt.c:2876
++#: cp/pt.c:2853
+ #, gcc-internal-format
+ msgid " shadows template parm %q+#D"
+ msgstr " éš±è—了模版åƒæ•¸ %q+#D"
+
+-#: cp/pt.c:3379
++#: cp/pt.c:3357
+ #, gcc-internal-format
+ msgid "template parameters not used in partial specialization:"
+ msgstr "部分特例化中未用到範本åƒæ•¸ï¼š"
+
+-#: cp/pt.c:3394
++#: cp/pt.c:3372
+ #, gcc-internal-format
+ msgid "partial specialization %qT does not specialize any template arguments"
+ msgstr "部分特例化 %qT 並未特例化任何範本åƒæ•¸"
+
+-#: cp/pt.c:3439
++#: cp/pt.c:3417
+ #, gcc-internal-format
+ msgid "parameter pack argument %qE must be at the end of the template argument list"
+ msgstr ""
+
+-#: cp/pt.c:3441
++#: cp/pt.c:3419
+ #, gcc-internal-format
+ msgid "parameter pack argument %qT must be at the end of the template argument list"
+ msgstr ""
+
+-#: cp/pt.c:3462
++#: cp/pt.c:3440
+ #, gcc-internal-format
+ msgid "template argument %qE involves template parameter(s)"
+ msgstr "範本引數 %qE 混雜了範本åƒæ•¸"
+
+-#: cp/pt.c:3505
++#: cp/pt.c:3484
+ #, gcc-internal-format
+ msgid "type %qT of template argument %qE depends on template parameter(s)"
+ msgstr "é¡žåž‹ %qT(屬於範本引數 %qE)å–決於範本åƒæ•¸"
+
+-#: cp/pt.c:3611
++#: cp/pt.c:3591
+ #, gcc-internal-format
+ msgid "no default argument for %qD"
+ msgstr "%qD 沒有é è¨­åƒæ•¸"
+
+-#: cp/pt.c:3796
++#: cp/pt.c:3609
+ #, gcc-internal-format
++msgid "parameter pack %qE must be at the end of the template parameter list"
++msgstr ""
++
++#: cp/pt.c:3612
++#, gcc-internal-format
++msgid "parameter pack %qT must be at the end of the template parameter list"
++msgstr ""
++
++#: cp/pt.c:3799
++#, gcc-internal-format
+ msgid "template class without a name"
+ msgstr "範本類別沒具åå­—"
+
+ #. [temp.mem]
+ #.
+ #. A destructor shall not be a member template.
+-#: cp/pt.c:3804
++#: cp/pt.c:3807
+ #, gcc-internal-format
+ msgid "destructor %qD declared as member template"
+ msgstr "è§£æ§‹å‡½å¼ %qD 被宣告為一個æˆå“¡ç¯„本"
+@@ -30949,77 +30990,72 @@
+ #. An allocation function can be a function
+ #. template. ... Template allocation functions shall
+ #. have two or more parameters.
+-#: cp/pt.c:3819
++#: cp/pt.c:3822
+ #, gcc-internal-format
+ msgid "invalid template declaration of %qD"
+ msgstr "%qD 範本宣告無效"
+
+-#: cp/pt.c:3890
++#: cp/pt.c:3939
+ #, gcc-internal-format
+-msgid "parameter pack %qE must be at the end of the template parameter list"
+-msgstr ""
+-
+-#: cp/pt.c:3893
+-#, gcc-internal-format
+-msgid "parameter pack %qT must be at the end of the template parameter list"
+-msgstr ""
+-
+-#: cp/pt.c:3953
+-#, gcc-internal-format
+ msgid "template definition of non-template %q#D"
+ msgstr "å°éžç¯„本 %q#D 的範本定義"
+
+-#: cp/pt.c:3996
++#: cp/pt.c:3982
+ #, gcc-internal-format
+ msgid "expected %d levels of template parms for %q#D, got %d"
+ msgstr "éœ€è¦ %d ç´šçš„ %q#D 範本åƒæ•¸ï¼Œå»çµ¦å‡ºäº† %d ç´š"
+
+-#: cp/pt.c:4008
++#: cp/pt.c:3994
+ #, gcc-internal-format
+ msgid "got %d template parameters for %q#D"
+ msgstr "得到 %d 個範本åƒæ•¸ï¼Œç‚º %q#D"
+
+-#: cp/pt.c:4011
++#: cp/pt.c:3997
+ #, gcc-internal-format
+ msgid "got %d template parameters for %q#T"
+ msgstr "得到 %d 個範本åƒæ•¸ï¼Œç‚º %q#T"
+
+-#: cp/pt.c:4013
++#: cp/pt.c:3999
+ #, gcc-internal-format
+ msgid " but %d required"
+ msgstr " ä½†å¯¦éš›éœ€è¦ %d 個"
+
+-#: cp/pt.c:4031
++#: cp/pt.c:4017
+ #, fuzzy, gcc-internal-format
+ msgid "template arguments to %qD do not match original template %qD"
+ msgstr "範本åƒæ•¸èˆ‡ç¯„本ä¸ç¬¦"
+
+-#: cp/pt.c:4035
++#: cp/pt.c:4021
+ #, fuzzy, gcc-internal-format
+ msgid "use template<> for an explicit specialization"
+ msgstr "所包å«çš„類別範本並未被明確特例化"
+
+-#: cp/pt.c:4131
++#: cp/pt.c:4117
+ #, gcc-internal-format
+ msgid "%qT is not a template type"
+ msgstr "%qT ä¸æ˜¯ä¸€å€‹ç¯„本類型"
+
+-#: cp/pt.c:4144
++#: cp/pt.c:4130
+ #, gcc-internal-format
+ msgid "template specifiers not specified in declaration of %qD"
+ msgstr "%qD 的宣告中沒有 template é™å®š"
+
+-#: cp/pt.c:4155
+-#, gcc-internal-format
+-msgid "used %d template parameter(s) instead of %d"
+-msgstr "使用了 %d 個範本åƒæ•¸ï¼Œè€Œä¸æ˜¯ %d 個"
++#: cp/pt.c:4140
++#, fuzzy, gcc-internal-format
++msgid "redeclared with %d template parameter(s)"
++msgstr "%qD 使用時未帶範本åƒæ•¸"
+
+-#: cp/pt.c:4184
++#: cp/pt.c:4142
++#, fuzzy, gcc-internal-format
++msgid "previous declaration %q+D used %d template parameter(s)"
++msgstr "與此處早先的宣告 %q+#D è¡çª"
++
++#: cp/pt.c:4176
+ #, gcc-internal-format
+ msgid "template parameter %q+#D"
+ msgstr "範本åƒæ•¸ %q+#D"
+
+-#: cp/pt.c:4185
++#: cp/pt.c:4177
+ #, gcc-internal-format
+ msgid "redeclared here as %q#D"
+ msgstr "在這裡åˆè¢«å®£å‘Šç‚º %q#D"
+@@ -31028,182 +31064,182 @@
+ #.
+ #. A template-parameter may not be given default arguments
+ #. by two different declarations in the same scope.
+-#: cp/pt.c:4195
++#: cp/pt.c:4187
+ #, gcc-internal-format
+ msgid "redefinition of default argument for %q#D"
+ msgstr "é‡å®šç¾© %q#D çš„é è¨­åƒæ•¸"
+
+-#: cp/pt.c:4196
+-#, gcc-internal-format
+-msgid "%J original definition appeared here"
++#: cp/pt.c:4188
++#, fuzzy, gcc-internal-format
++msgid "%Joriginal definition appeared here"
+ msgstr "%J 原始定義出ç¾åœ¨é€™è£¡"
+
+-#: cp/pt.c:4300
++#: cp/pt.c:4292
+ #, gcc-internal-format
+ msgid "%qE is not a valid template argument for type %qT because function %qD has not external linkage"
+ msgstr "%qE ä¸æ˜¯é¡žåž‹ %qT çš„æœ‰æ•ˆç¯„æœ¬å¼•æ•¸ï¼Œå› ç‚ºå‡½å¼ %qD 沒有外部連çµ"
+
+-#: cp/pt.c:4341
++#: cp/pt.c:4333
+ #, 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 "%qE ä¸æ˜¯é¡žåž‹ %qT 的有效範本引數,因為字é¢å­—串ä¸èƒ½ç”¨åœ¨æ­¤ä¸Šä¸‹æ–‡ä¸­"
+
+-#: cp/pt.c:4418
++#: cp/pt.c:4410
+ #, gcc-internal-format
+ msgid "%qE is not a valid template argument for type %qT because it is a non-constant expression"
+ msgstr "%qE ä¸æ˜¯é¡žåž‹ %qT 的有效範本引數,因為它是一個éžå¸¸æ•¸çš„é‹ç®—å¼"
+
+-#: cp/pt.c:4462
++#: cp/pt.c:4454
+ #, fuzzy, gcc-internal-format
+ msgid "%qD is not a valid template argument because %qD is a variable, not the address of a variable"
+ msgstr "%qE ä¸æ˜¯é¡žåž‹ %qT 的有效範本引數,因為它ä¸æ˜¯ä¸€å€‹å·¦å€¼"
+
+-#: cp/pt.c:4480
++#: cp/pt.c:4472
+ #, fuzzy, gcc-internal-format
+ msgid "%qE is not a valid template argument of type %qT because %qE is not a variable"
+ msgstr "%qE ä¸æ˜¯é¡žåž‹ %qT 的有效範本引數,因為它ä¸æ˜¯ä¸€å€‹å·¦å€¼"
+
+-#: cp/pt.c:4487
++#: cp/pt.c:4479
+ #, fuzzy, gcc-internal-format
+ msgid "%qE is not a valid template argument of type %qT because %qD does not have external linkage"
+ msgstr "%qE ä¸æ˜¯é¡žåž‹ %qT 的有效範本引數,因為物件 %qD 沒有外部連çµ"
+
+-#: cp/pt.c:4517
++#: cp/pt.c:4509
+ #, gcc-internal-format
+ msgid "%qE is not a valid template argument for type %qT because of conflicts in cv-qualification"
+ msgstr "%qE ä¸æ˜¯é¡žåž‹ %qT 的有效範本引數,因為 cv é™å®šè¡çª"
+
+-#: cp/pt.c:4524
++#: cp/pt.c:4516
+ #, fuzzy, gcc-internal-format
+ msgid "%qE is not a valid template argument for type %qT because it is not an lvalue"
+ msgstr "%qE ä¸æ˜¯é¡žåž‹ %qT 的有效範本引數,因為它ä¸æ˜¯ä¸€å€‹å·¦å€¼"
+
+-#: cp/pt.c:4537
++#: cp/pt.c:4529
+ #, gcc-internal-format
+ msgid "%qE is not a valid template argument for type %qT because object %qD has not external linkage"
+ msgstr "%qE ä¸æ˜¯é¡žåž‹ %qT 的有效範本引數,因為物件 %qD 沒有外部連çµ"
+
+-#: cp/pt.c:4577
++#: cp/pt.c:4569
+ #, gcc-internal-format
+ msgid "%qE is not a valid template argument for type %qT because it is a pointer"
+ msgstr "%qE ä¸æ˜¯é¡žåž‹ %qT 的有效範本引數,因為它是一個指標"
+
+-#: cp/pt.c:4579
++#: cp/pt.c:4571
+ #, gcc-internal-format
+ msgid "try using %qE instead"
+ msgstr "嘗試使用 %qE 代替"
+
+-#: cp/pt.c:4614
++#: cp/pt.c:4606
+ #, gcc-internal-format
+ msgid "%qE is not a valid template argument for type %qT because it is of type %qT"
+ msgstr "%qE ä¸æ˜¯é¡žåž‹ %qT 的有效範本引數,因為它的類型是 %qT"
+
+-#: cp/pt.c:4617
++#: cp/pt.c:4609
+ #, gcc-internal-format
+ msgid "standard conversions are not allowed in this context"
+ msgstr "此上下文中ä¸å…許標準轉æ›"
+
+-#: cp/pt.c:4797
++#: cp/pt.c:4860
+ #, gcc-internal-format
+ msgid "to refer to a type member of a template parameter, use %<typename %E%>"
+ msgstr "需è¦ä½¿ç”¨æŸå€‹ç¯„本åƒæ•¸çš„é¡žåž‹æˆå“¡æ™‚,請使用 %<typename %E%>"
+
+-#: cp/pt.c:4813 cp/pt.c:4832 cp/pt.c:4882
++#: cp/pt.c:4876 cp/pt.c:4895 cp/pt.c:4945
+ #, gcc-internal-format
+ msgid "type/value mismatch at argument %d in template parameter list for %qD"
+ msgstr "引數 %d çš„é¡žåž‹/值ä¸åŒ¹é…,在 %qD 的範本åƒæ•¸æ¸…單中"
+
+-#: cp/pt.c:4817
++#: cp/pt.c:4880
+ #, gcc-internal-format
+ msgid " expected a constant of type %qT, got %qT"
+ msgstr " 需è¦ä¸€å€‹ %qT 類型的常數,å»çµ¦å‡ºäº† %qT"
+
+-#: cp/pt.c:4821
++#: cp/pt.c:4884
+ #, gcc-internal-format
+ msgid " expected a class template, got %qE"
+ msgstr " 需è¦ä¸€å€‹é¡žåˆ¥ç¯„本,å»çµ¦å‡ºäº† %qE"
+
+-#: cp/pt.c:4823
++#: cp/pt.c:4886
+ #, gcc-internal-format
+ msgid " expected a type, got %qE"
+ msgstr " 需è¦ä¸€å€‹é¡žåž‹ï¼Œå»çµ¦å‡ºäº† %qE"
+
+-#: cp/pt.c:4836
++#: cp/pt.c:4899
+ #, gcc-internal-format
+ msgid " expected a type, got %qT"
+ msgstr " 需è¦ä¸€å€‹é¡žåž‹ï¼Œå»çµ¦å‡ºäº† %qT"
+
+-#: cp/pt.c:4838
++#: cp/pt.c:4901
+ #, gcc-internal-format
+ msgid " expected a class template, got %qT"
+ msgstr " 需è¦ä¸€å€‹é¡žåˆ¥ç¯„本,å»çµ¦å‡ºäº† %qT"
+
+-#: cp/pt.c:4885
++#: cp/pt.c:4948
+ #, gcc-internal-format
+ msgid " expected a template of type %qD, got %qD"
+ msgstr " 需è¦ä¸€å€‹é¡žåž‹ç‚º %qD 的範本,å»çµ¦å‡ºäº† %qD"
+
+-#: cp/pt.c:4928
++#: cp/pt.c:4991
+ #, gcc-internal-format
+ msgid "could not convert template argument %qE to %qT"
+ msgstr "ä¸èƒ½å°‡ç¯„本åƒæ•¸å¾ž %qE 轉æ›åˆ° %qT"
+
+-#: cp/pt.c:4984
++#: cp/pt.c:5047
+ #, gcc-internal-format
+ msgid "wrong number of template arguments (%d, should be %d)"
+ msgstr "範本åƒæ•¸æ•¸ç›®ä¸æ­£ç¢º(ä¸æ‡‰æ˜¯ %d 個而應是 %d 個)"
+
+-#: cp/pt.c:5116
++#: cp/pt.c:5179
+ #, fuzzy, gcc-internal-format
+ msgid "wrong number of template arguments (%d, should be %d%s)"
+ msgstr "範本åƒæ•¸æ•¸ç›®ä¸æ­£ç¢º(ä¸æ‡‰æ˜¯ %d 個而應是 %d 個)"
+
+-#: cp/pt.c:5120
++#: cp/pt.c:5183
+ #, gcc-internal-format
+ msgid "provided for %q+D"
+ msgstr "æ供給 %q+D"
+
+-#: cp/pt.c:5177
++#: cp/pt.c:5242
+ #, gcc-internal-format
+ msgid "cannot expand %<%E%> into a fixed-length argument list"
+ msgstr ""
+
+-#: cp/pt.c:5180
++#: cp/pt.c:5245
+ #, gcc-internal-format
+ msgid "cannot expand %<%T%> into a fixed-length argument list"
+ msgstr ""
+
+-#: cp/pt.c:5195
++#: cp/pt.c:5261
+ #, gcc-internal-format
+ msgid "template argument %d is invalid"
+ msgstr "範本åƒæ•¸ %d 無效"
+
+-#: cp/pt.c:5455
++#: cp/pt.c:5521
+ #, gcc-internal-format
+ msgid "non-template type %qT used as a template"
+ msgstr "éžç¯„本類型 %qT åšç‚ºç¯„本"
+
+-#: cp/pt.c:5457
++#: cp/pt.c:5523
+ #, gcc-internal-format
+ msgid "for template declaration %q+D"
+ msgstr "å°æ–¼ç¯„本宣告 %q+D"
+
+-#: cp/pt.c:6132
++#: cp/pt.c:6221
+ #, gcc-internal-format
+ msgid "template instantiation depth exceeds maximum of %d (use -ftemplate-depth-NN to increase the maximum) instantiating %qD"
+ msgstr "範本實體化深度超éŽæœ€å¤§å€¼ %d(使用 use -ftemplate-depth-NN 來增大最大值),在實體化 %qD 時"
+
+-#: cp/pt.c:7237
++#: cp/pt.c:7333
+ #, gcc-internal-format
+ msgid "mismatched argument pack lengths while expanding %<%T%>"
+ msgstr ""
+
+-#: cp/pt.c:7241
++#: cp/pt.c:7337
+ #, gcc-internal-format
+ msgid "mismatched argument pack lengths while expanding %<%E%>"
+ msgstr ""
+
+-#: cp/pt.c:8189
++#: cp/pt.c:8289
+ #, gcc-internal-format
+ msgid "instantiation of %q+D as type %qT"
+ msgstr "%q+D 按類型 %qT 實體化"
+@@ -31221,242 +31257,242 @@
+ #.
+ #. is an attempt to declare a variable with function
+ #. type.
+-#: cp/pt.c:8324
++#: cp/pt.c:8424
+ #, fuzzy, gcc-internal-format
+ msgid "variable %qD has function type"
+ msgstr "變數 %qD 有åˆå§‹å€¼è¨­å®šä½†é¡žåž‹ä¸å®Œå…¨"
+
+-#: cp/pt.c:8471
++#: cp/pt.c:8571
+ #, gcc-internal-format
+ msgid "invalid parameter type %qT"
+ msgstr "無效的åƒæ•¸é¡žåž‹ %qT"
+
+-#: cp/pt.c:8473
++#: cp/pt.c:8573
+ #, gcc-internal-format
+ msgid "in declaration %q+D"
+ msgstr "在宣告 %q+D 中"
+
+-#: cp/pt.c:8550
++#: cp/pt.c:8650
+ #, gcc-internal-format
+ msgid "function returning an array"
+ msgstr "函å¼å›žå‚³äº†ä¸€å€‹é™£åˆ—"
+
+-#: cp/pt.c:8552
++#: cp/pt.c:8652
+ #, gcc-internal-format
+ msgid "function returning a function"
+ msgstr "函å¼å›žå‚³äº†ä¸€å€‹å‡½å¼"
+
+-#: cp/pt.c:8586
++#: cp/pt.c:8686
+ #, gcc-internal-format
+ msgid "creating pointer to member function of non-class type %qT"
+ msgstr "產生éžé¡žåˆ¥é¡žåž‹ %qT çš„æˆå“¡å‡½å¼æŒ‡æ¨™"
+
+-#: cp/pt.c:8792
++#: cp/pt.c:8913
+ #, gcc-internal-format
+ msgid "creating array with negative size (%qE)"
+ msgstr "建立大å°ç‚ºè² çš„陣列(%qE)"
+
+-#: cp/pt.c:9047
++#: cp/pt.c:9168
+ #, gcc-internal-format
+ msgid "forming reference to void"
+ msgstr "å½¢æˆå° void çš„åƒç…§"
+
+-#: cp/pt.c:9049
++#: cp/pt.c:9170
+ #, gcc-internal-format
+ msgid "forming %s to reference type %qT"
+ msgstr "å½¢æˆ %s,åƒç…§åƒç…§é¡žåž‹ %qT"
+
+-#: cp/pt.c:9100
++#: cp/pt.c:9221
+ #, gcc-internal-format
+ msgid "creating pointer to member of non-class type %qT"
+ msgstr "產生éžé¡žåˆ¥é¡žåž‹ %qT çš„æˆå“¡æŒ‡æ¨™"
+
+-#: cp/pt.c:9106
++#: cp/pt.c:9227
+ #, gcc-internal-format
+ msgid "creating pointer to member reference type %qT"
+ msgstr "產生åƒç…§é¡žåž‹ %qT çš„æˆå“¡æŒ‡æ¨™"
+
+-#: cp/pt.c:9112
++#: cp/pt.c:9233
+ #, gcc-internal-format
+ msgid "creating pointer to member of type void"
+ msgstr "建立åƒç…§ void é¡žåž‹çš„æˆå“¡æŒ‡æ¨™"
+
+-#: cp/pt.c:9179
++#: cp/pt.c:9300
+ #, gcc-internal-format
+ msgid "creating array of %qT"
+ msgstr "產生 %qT 的陣列"
+
+-#: cp/pt.c:9185
++#: cp/pt.c:9306
+ #, gcc-internal-format
+ msgid "creating array of %qT, which is an abstract class type"
+ msgstr "產生抽象類型 %qT 的陣列"
+
+-#: cp/pt.c:9236
++#: cp/pt.c:9357
+ #, gcc-internal-format
+ msgid "%qT is not a class, struct, or union type"
+ msgstr "%qT ä¸æ˜¯é¡žåˆ¥ã€çµæ§‹æˆ–è¯åˆé¡žåž‹"
+
+-#: cp/pt.c:9271
++#: cp/pt.c:9392
+ #, gcc-internal-format
+ msgid "%qT resolves to %qT, which is not an enumeration type"
+ msgstr "%qT 被解æžåˆ°éžåˆ—舉類型 %qT"
+
+-#: cp/pt.c:9274
++#: cp/pt.c:9395
+ #, gcc-internal-format
+ msgid "%qT resolves to %qT, which is is not a class type"
+ msgstr "%qT 被解æžåˆ°éžé¡žåˆ¥é¡žåž‹ %qT"
+
+-#: cp/pt.c:9375
++#: cp/pt.c:9496
+ #, gcc-internal-format
+ msgid "use of %qs in template"
+ msgstr "在範本中使用 %qs"
+
+-#: cp/pt.c:9512
++#: cp/pt.c:9633
+ #, gcc-internal-format
+ msgid "dependent-name %qE is parsed as a non-type, but instantiation yields a type"
+ msgstr "ä¾è³´å %qE 被解æžç‚ºéžé¡žåž‹ï¼Œä½†å¯¦é«”化å»ç”¢ç”Ÿäº†ä¸€å€‹é¡žåž‹"
+
+-#: cp/pt.c:9514
++#: cp/pt.c:9635
+ #, gcc-internal-format
+ msgid "say %<typename %E%> if a type is meant"
+ msgstr "如果您想指定類型,請使用 %<typename %E%>"
+
+-#: cp/pt.c:9643
++#: cp/pt.c:9764
+ #, gcc-internal-format
+ msgid "using invalid field %qD"
+ msgstr "ä½¿ç”¨ç„¡æ•ˆæ¬„ä½ %qD"
+
+-#: cp/pt.c:9952 cp/pt.c:10432
++#: cp/pt.c:10073 cp/pt.c:10553
+ #, fuzzy, gcc-internal-format
+ msgid "invalid use of pack expansion expression"
+ msgstr "å° void é‹ç®—å¼çš„無效使用"
+
+-#: cp/pt.c:9956 cp/pt.c:10436
++#: cp/pt.c:10077 cp/pt.c:10557
+ #, fuzzy, gcc-internal-format
+ msgid "use %<...%> to expand argument pack"
+ msgstr "%<...%> åšç‚ºå¼•æ•¸ã€‚)"
+
+-#: cp/pt.c:10594
++#: cp/pt.c:10715
+ #, gcc-internal-format
+ msgid "a cast to a type other than an integral or enumeration type cannot appear in a constant-expression"
+ msgstr ""
+
+-#: cp/pt.c:11052
++#: cp/pt.c:11181
+ #, gcc-internal-format
+ msgid "%qT is not a class or namespace"
+ msgstr "%qT æ—¢ä¸æ˜¯é¡žåˆ¥ä¹Ÿä¸æ˜¯å‘½å空間"
+
+-#: cp/pt.c:11055
++#: cp/pt.c:11184
+ #, gcc-internal-format
+ msgid "%qD is not a class or namespace"
+ msgstr "%qD æ—¢ä¸æ˜¯é¡žåˆ¥ä¹Ÿä¸æ˜¯å‘½å空間"
+
+-#: cp/pt.c:11265
++#: cp/pt.c:11394
+ #, gcc-internal-format
+ msgid "%qT is/uses anonymous type"
+ msgstr "%qT 是/使用了匿åé¡žåž‹"
+
+-#: cp/pt.c:11267
++#: cp/pt.c:11396
+ #, fuzzy, gcc-internal-format
+ msgid "template argument for %qD uses local type %qT"
+ msgstr "%q#D çš„é è¨­å¼•æ•¸é¡žåž‹ç‚º %qT"
+
+-#: cp/pt.c:11277
++#: cp/pt.c:11406
+ #, gcc-internal-format
+ msgid "%qT is a variably modified type"
+ msgstr "%qT 是一個å¯è®Šé¡žåž‹"
+
+-#: cp/pt.c:11288
++#: cp/pt.c:11417
+ #, gcc-internal-format
+ msgid "integral expression %qE is not constant"
+ msgstr "æ•´åž‹é‹ç®—å¼ %qE ä¸æ˜¯å¸¸æ•¸"
+
+-#: cp/pt.c:11293
++#: cp/pt.c:11422
+ #, gcc-internal-format
+ msgid " trying to instantiate %qD"
+ msgstr " 試圖實體化 %qD"
+
+-#: cp/pt.c:13959
++#: cp/pt.c:14173
+ #, gcc-internal-format
+ msgid "ambiguous class template instantiation for %q#T"
+ msgstr "%q#T 的類別範本實體化有歧義"
+
+-#: cp/pt.c:13962
++#: cp/pt.c:14176
+ #, gcc-internal-format
+ msgid "%s %+#T"
+ msgstr "%s %+#T"
+
+-#: cp/pt.c:13985 cp/pt.c:14068
++#: cp/pt.c:14199 cp/pt.c:14282
+ #, gcc-internal-format
+ msgid "explicit instantiation of non-template %q#D"
+ msgstr "å°éžç¯„本 %q#D 的明確實體化"
+
+-#: cp/pt.c:14000
++#: cp/pt.c:14214
+ #, fuzzy, gcc-internal-format
+ msgid "%qD is not a static data member of a class template"
+ msgstr "%q#D ä¸æ˜¯ %qT çš„éžéœæ…‹è³‡æ–™æˆå“¡"
+
+-#: cp/pt.c:14006 cp/pt.c:14063
++#: cp/pt.c:14220 cp/pt.c:14277
+ #, gcc-internal-format
+ msgid "no matching template for %qD found"
+ msgstr "沒有找到與 %qD 匹é…的範本"
+
+-#: cp/pt.c:14011
++#: cp/pt.c:14225
+ #, fuzzy, gcc-internal-format
+ msgid "type %qT for explicit instantiation %qD does not match declared type %qT"
+ msgstr "明確實體化éžç¯„本類型 %qT"
+
+-#: cp/pt.c:14019
++#: cp/pt.c:14233
+ #, gcc-internal-format
+ msgid "explicit instantiation of %q#D"
+ msgstr "å° %q#D 的明確實體化"
+
+-#: cp/pt.c:14055
++#: cp/pt.c:14269
+ #, gcc-internal-format
+ msgid "duplicate explicit instantiation of %q#D"
+ msgstr "å° %q#D é‡è¤‡çš„明確實體化"
+
+-#: cp/pt.c:14077
++#: cp/pt.c:14291
+ #, gcc-internal-format
+ msgid "ISO C++ forbids the use of %<extern%> on explicit instantiations"
+ msgstr "ISO C++ ä¸å…許在明確實體化時使用 %<extern%>"
+
+-#: cp/pt.c:14082 cp/pt.c:14175
++#: cp/pt.c:14296 cp/pt.c:14389
+ #, gcc-internal-format
+ msgid "storage class %qD applied to template instantiation"
+ msgstr "為範本實體化化套用了存儲類型 %qD"
+
+-#: cp/pt.c:14147
++#: cp/pt.c:14361
+ #, gcc-internal-format
+ msgid "explicit instantiation of non-template type %qT"
+ msgstr "明確實體化éžç¯„本類型 %qT"
+
+-#: cp/pt.c:14156
++#: cp/pt.c:14370
+ #, gcc-internal-format
+ msgid "explicit instantiation of %q#T before definition of template"
+ msgstr "%q#T 的明確實體化出ç¾åœ¨ç¯„本定義之å‰"
+
+-#: cp/pt.c:14164
++#: cp/pt.c:14378
+ #, gcc-internal-format
+ msgid "ISO C++ forbids the use of %qE on explicit instantiations"
+ msgstr "ISO C++ ä¸å…許在明確實體化時使用 %qE"
+
+-#: cp/pt.c:14209
++#: cp/pt.c:14423
+ #, gcc-internal-format
+ msgid "duplicate explicit instantiation of %q#T"
+ msgstr "å° %q#T é‡è¤‡çš„明確實體化"
+
+-#: cp/pt.c:14657
++#: cp/pt.c:14871
+ #, gcc-internal-format
+ msgid "explicit instantiation of %qD but no definition available"
+ msgstr "明確實體化 %qD 時沒有å¯ç”¨çš„定義"
+
+-#: cp/pt.c:14851
++#: cp/pt.c:15065
+ #, 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)"
+ msgstr "範本實體化深度超éŽäº†æœ€å¤§å€¼ %d,當實體化 %q+D 時,å¯èƒ½æ˜¯ç”±æ–¼ç”¢ç”Ÿè™›å‡½å¼è¡¨æ‰€è‡´(使用 -ftemplate-depth-NN 來增大最大值)"
+
+-#: cp/pt.c:15193
++#: cp/pt.c:15419
+ #, gcc-internal-format
+ msgid "%q#T is not a valid type for a template constant parameter"
+ msgstr "%q#T ä¸æ˜¯ä¸€å€‹æœ‰æ•ˆçš„範本常數åƒæ•¸é¡žåž‹"
+@@ -31476,32 +31512,32 @@
+ msgid "can't create repository information file %qs"
+ msgstr "無法建立存儲資訊檔案 %qs"
+
+-#: cp/rtti.c:271
++#: cp/rtti.c:285
+ #, gcc-internal-format
+ msgid "cannot use typeid with -fno-rtti"
+ msgstr "在指定 -fno-rtti 的情æ³ä¸‹ä¸èƒ½ä½¿ç”¨ typeid"
+
+-#: cp/rtti.c:277
++#: cp/rtti.c:291
+ #, gcc-internal-format
+ msgid "must #include <typeinfo> before using typeid"
+ msgstr "在使用 typeid 之å‰å¿…須先 #include <typeinfo>"
+
+-#: cp/rtti.c:360
++#: cp/rtti.c:374
+ #, fuzzy, gcc-internal-format
+ msgid "cannot create type information for type %qT because it involves types of variable size"
+ msgstr "無法為類型 %qT 建立類型資訊,因為它的大å°æ˜¯å¯è®Šçš„"
+
+-#: cp/rtti.c:615 cp/rtti.c:629
++#: cp/rtti.c:629 cp/rtti.c:643
+ #, gcc-internal-format
+ msgid "dynamic_cast of %q#D to %q#T can never succeed"
+ msgstr "從 %q#D 到 %q#T çš„å‹•æ…‹_轉æ›æ°¸é ä¸æœƒæˆåŠŸ"
+
+-#: cp/rtti.c:639
++#: cp/rtti.c:653
+ #, fuzzy, gcc-internal-format
+ msgid "%<dynamic_cast%> not permitted with -fno-rtti"
+ msgstr "在指定 -fno-rtti 的情æ³ä¸‹ä¸èƒ½ä½¿ç”¨ typeid"
+
+-#: cp/rtti.c:716
++#: cp/rtti.c:729
+ #, gcc-internal-format
+ msgid "cannot dynamic_cast %qE (of type %q#T) to type %q#T (%s)"
+ msgstr "無法將 %qE 從類型 %qT å‹•æ…‹_轉æ›åˆ°é¡žåž‹ %q#T (%s)"
+@@ -31563,551 +31599,551 @@
+ msgid " since %q+#D declared in base class"
+ msgstr " 因為 %q+#D 已在基礎類別中宣告éŽ"
+
+-#: cp/semantics.c:762
++#: cp/semantics.c:764
+ #, fuzzy, gcc-internal-format
+ msgid "suggest explicit braces around empty body in %<do%> statement"
+ msgstr "%H建議明確地使用大括號以é¿å…出ç¾æœ‰æ­§ç¾©çš„ %<else%>"
+
+-#: cp/semantics.c:1290
++#: cp/semantics.c:1294
+ #, gcc-internal-format
+ msgid "type of asm operand %qE could not be determined"
+ msgstr "無法確定 asm é‹ç®—å…ƒ %qE çš„é¡žåž‹"
+
+-#: cp/semantics.c:1346
++#: cp/semantics.c:1350
+ #, fuzzy, gcc-internal-format
+ msgid "__label__ declarations are only allowed in function scopes"
+ msgstr "Objective-C 宣告åªèƒ½å‡ºç¾åœ¨å…¨åŸŸä½œç”¨æ¬„ä½ä¸­"
+
+-#: cp/semantics.c:1433
++#: cp/semantics.c:1438
+ #, gcc-internal-format
+ msgid "invalid use of member %q+D in static member function"
+ msgstr "在éœæ…‹æˆå“¡å‡½å¼ä¸­ä½¿ç”¨æˆå“¡ %q+D 無效"
+
+-#: cp/semantics.c:1435
++#: cp/semantics.c:1440
+ #, gcc-internal-format
+ msgid "invalid use of non-static data member %q+D"
+ msgstr "å°éžéœæ…‹è³‡æ–™æˆå“¡ %q+D 的無效使用"
+
+-#: cp/semantics.c:1436 cp/semantics.c:1475
++#: cp/semantics.c:1441 cp/semantics.c:1480
+ #, gcc-internal-format
+ msgid "from this location"
+ msgstr "從這個地方"
+
+-#: cp/semantics.c:1474
++#: cp/semantics.c:1479
+ #, gcc-internal-format
+ msgid "object missing in reference to %q+D"
+ msgstr "å° %q+D çš„åƒç…§ç¼ºå°‘物件"
+
+-#: cp/semantics.c:1928
++#: cp/semantics.c:1951
+ #, gcc-internal-format
+ msgid "arguments to destructor are not allowed"
+ msgstr "解構函å¼ä¸èƒ½æœ‰åƒæ•¸"
+
+-#: cp/semantics.c:1978
++#: cp/semantics.c:2001
+ #, gcc-internal-format
+ msgid "%<this%> is unavailable for static member functions"
+ msgstr "éœæ…‹æˆå“¡å‡½å¼ä¸­ä¸èƒ½ä½¿ç”¨ %<this%>"
+
+-#: cp/semantics.c:1984
++#: cp/semantics.c:2007
+ #, gcc-internal-format
+ msgid "invalid use of %<this%> in non-member function"
+ msgstr "在éžæˆå“¡å‡½å¼ä¸­ä½¿ç”¨ %<this%> 無效"
+
+-#: cp/semantics.c:1986
++#: cp/semantics.c:2009
+ #, gcc-internal-format
+ msgid "invalid use of %<this%> at top level"
+ msgstr "在頂層使用 %<this%> 無效"
+
+-#: cp/semantics.c:2010
++#: cp/semantics.c:2033
+ #, gcc-internal-format
+ msgid "invalid qualifying scope in pseudo-destructor name"
+ msgstr "å½è§£æ§‹å‡½å¼åçš„é™å®šä½œç”¨æ¬„ä½ç„¡æ•ˆ"
+
+-#: cp/semantics.c:2015 cp/typeck.c:2004
++#: cp/semantics.c:2038 cp/typeck.c:2050
+ #, gcc-internal-format
+ msgid "qualified type %qT does not match destructor name ~%qT"
+ msgstr "é™å®šçš„é¡žåž‹ %qT ä¸åŒ¹é…解構函å¼å ~%qT"
+
+-#: cp/semantics.c:2037
++#: cp/semantics.c:2060
+ #, gcc-internal-format
+ msgid "%qE is not of type %qT"
+ msgstr "%qE çš„é¡žåž‹ä¸æ˜¯ %qT"
+
+-#: cp/semantics.c:2081
++#: cp/semantics.c:2104
+ #, fuzzy, gcc-internal-format
+ msgid "compound literal of non-object type %qT"
+ msgstr "複åˆå­—é¢å€¼æœ‰å¯è®Šçš„大å°"
+
+-#: cp/semantics.c:2158
++#: cp/semantics.c:2181
+ #, gcc-internal-format
+ msgid "template type parameters must use the keyword %<class%> or %<typename%>"
+ msgstr "範本åƒæ•¸å¿…須使用 %<class%> 或 %<typename%> é—œéµå­—"
+
+-#: cp/semantics.c:2195
++#: cp/semantics.c:2222
+ #, gcc-internal-format
+ msgid "invalid use of type %qT as a default value for a template template-parameter"
+ msgstr "將類型 %qT åšç‚ºç¯„本的範本åƒæ•¸çš„é è¨­å€¼ç„¡æ•ˆ"
+
+-#: cp/semantics.c:2198
++#: cp/semantics.c:2225
+ #, gcc-internal-format
+ msgid "invalid default argument for a template template parameter"
+ msgstr "範本的範本åƒæ•¸çš„é è¨­å¼•æ•¸ç„¡æ•ˆ"
+
+-#: cp/semantics.c:2215
++#: cp/semantics.c:2242
+ #, gcc-internal-format
+ msgid "definition of %q#T inside template parameter list"
+ msgstr "在範本åƒæ•¸æ¸…單中定義了 %q#T"
+
+-#: cp/semantics.c:2226
++#: cp/semantics.c:2253
+ #, gcc-internal-format
+ msgid "invalid definition of qualified type %qT"
+ msgstr "å°é™å®šé¡žåž‹ %qT 的定義無效"
+
+-#: cp/semantics.c:2437
++#: cp/semantics.c:2469
+ #, gcc-internal-format
+ msgid "invalid base-class specification"
+ msgstr "無效的基礎類別"
+
+-#: cp/semantics.c:2446
++#: cp/semantics.c:2478
+ #, gcc-internal-format
+ msgid "base class %qT has cv qualifiers"
+ msgstr "基礎類別 %qT 有 cv é™å®š"
+
+-#: cp/semantics.c:2468
++#: cp/semantics.c:2500
+ #, gcc-internal-format
+ msgid "incomplete type %qT used in nested name specifier"
+ msgstr "巢狀å指定中使用了ä¸å®Œå…¨çš„é¡žåž‹ %qT"
+
+-#: cp/semantics.c:2471
++#: cp/semantics.c:2503
+ #, gcc-internal-format
+ msgid "reference to %<%T::%D%> is ambiguous"
+ msgstr "å° %<%T::%D%> çš„åƒç…§æœ‰æ­§ç¾©"
+
+-#: cp/semantics.c:2475 cp/typeck.c:1813
++#: cp/semantics.c:2507 cp/typeck.c:1859
+ #, gcc-internal-format
+ msgid "%qD is not a member of %qT"
+ msgstr "%qD ä¸æ˜¯ %qT çš„æˆå“¡"
+
+-#: cp/semantics.c:2478
++#: cp/semantics.c:2510
+ #, gcc-internal-format
+ msgid "%qD is not a member of %qD"
+ msgstr "%qD ä¸æ˜¯ %qD çš„æˆå“¡"
+
+-#: cp/semantics.c:2480
++#: cp/semantics.c:2512
+ #, gcc-internal-format
+ msgid "%<::%D%> has not been declared"
+ msgstr "%<::%D%> 尚未宣告"
+
+-#: cp/semantics.c:2621
++#: cp/semantics.c:2653
+ #, gcc-internal-format
+ msgid "use of %<auto%> variable from containing function"
+ msgstr "在包å«å‡½å¼ä¸­ä½¿ç”¨ %<auto%> 變數"
+
+-#: cp/semantics.c:2623
++#: cp/semantics.c:2655
+ #, gcc-internal-format
+ msgid " %q+#D declared here"
+ msgstr " %q+#D 已在此宣告éŽ"
+
+-#: cp/semantics.c:2661
++#: cp/semantics.c:2693
+ #, gcc-internal-format
+ msgid "template parameter %qD of type %qT is not allowed in an integral constant expression because it is not of integral or enumeration type"
+ msgstr "範本åƒæ•¸ %qD(類型為 %qT)ä¸å…許出ç¾åœ¨æ•´æ•¸é‹ç®—å¼ä¸­ï¼Œå› ç‚ºå®ƒçš„é¡žåž‹ä¸æ˜¯æ•´æ•¸æˆ–列舉"
+
+-#: cp/semantics.c:2830
++#: cp/semantics.c:2862
+ #, gcc-internal-format
+ msgid "%qD cannot appear in a constant-expression"
+ msgstr "%qD ä¸èƒ½å‡ºç¾åœ¨å¸¸æ•¸é‹ç®—å¼ä¸­"
+
+-#: cp/semantics.c:2838
++#: cp/semantics.c:2870
+ #, gcc-internal-format
+ msgid "use of namespace %qD as expression"
+ msgstr "命å空間 %qD åšç‚ºé‹ç®—å¼"
+
+-#: cp/semantics.c:2843
++#: cp/semantics.c:2875
+ #, gcc-internal-format
+ msgid "use of class template %qT as expression"
+ msgstr "將類別範本 %qT åšç‚ºé‹ç®—å¼"
+
+ #. Ambiguous reference to base members.
+-#: cp/semantics.c:2849
++#: cp/semantics.c:2881
+ #, gcc-internal-format
+ msgid "request for member %qD is ambiguous in multiple inheritance lattice"
+ msgstr "åœ¨å¤šç¹¼æ‰¿ç¶²æ ¼ä¸­å° %qD çš„å­˜å–有歧義"
+
+-#: cp/semantics.c:2970 cp/semantics.c:4210
++#: cp/semantics.c:3002 cp/semantics.c:4259
+ #, gcc-internal-format
+ msgid "type of %qE is unknown"
+ msgstr "%qE çš„é¡žåž‹ä¸æ˜Ž"
+
+-#: cp/semantics.c:2985
++#: cp/semantics.c:3017
+ #, gcc-internal-format
+ msgid "cannot apply %<offsetof%> to destructor %<~%T%>"
+ msgstr ""
+
+-#: cp/semantics.c:2996
++#: cp/semantics.c:3028
+ #, fuzzy, gcc-internal-format
+ msgid "cannot apply %<offsetof%> to member function %qD"
+ msgstr "å°éžéœæ…‹æˆå“¡å‡½å¼ %qD 的使用無效"
+
+-#: cp/semantics.c:3349
++#: cp/semantics.c:3381
+ #, fuzzy, gcc-internal-format
+ msgid "%qD is not a variable in clause %qs"
+ msgstr "%qT 是 %qT 的一個ä¸å¯å­˜å–的基礎類別"
+
+-#: cp/semantics.c:3358
++#: cp/semantics.c:3390
+ #, gcc-internal-format
+ msgid "%qD appears more than once in data clauses"
+ msgstr ""
+
+-#: cp/semantics.c:3418
++#: cp/semantics.c:3450
+ #, gcc-internal-format
+ msgid "num_threads expression must be integral"
+ msgstr ""
+
+-#: cp/semantics.c:3432
++#: cp/semantics.c:3464
+ #, gcc-internal-format
+ msgid "schedule chunk size expression must be integral"
+ msgstr ""
+
+-#: cp/semantics.c:3562
++#: cp/semantics.c:3594
+ #, fuzzy, gcc-internal-format
+ msgid "%qE has reference type for %qs"
+ msgstr "å½¢æˆ %s,åƒç…§åƒç…§é¡žåž‹ %qT"
+
+-#: cp/semantics.c:3724
++#: cp/semantics.c:3756
+ #, gcc-internal-format
+ msgid "%<threadprivate%> %qE is not file, namespace or block scope variable"
+ msgstr ""
+
+ #. Report the error.
+-#: cp/semantics.c:4033
++#: cp/semantics.c:4072
+ #, fuzzy, gcc-internal-format
+ msgid "static assertion failed: %E"
+ msgstr "CRIS-port 判定語錯誤:"
+
+-#: cp/semantics.c:4035
++#: cp/semantics.c:4074
+ #, fuzzy, gcc-internal-format
+ msgid "non-constant condition for static assertion"
+ msgstr "å° %q+D çš„éœæ…‹å®£å‘Šå‡ºç¾åœ¨éžéœæ…‹å®£å‘Šä¹‹å¾Œ"
+
+-#: cp/semantics.c:4097
++#: cp/semantics.c:4099 cp/semantics.c:4194
+ #, fuzzy, gcc-internal-format
+-msgid "%qE refers to a set of overloaded functions"
+-msgstr "%s 無法解æžå¤šè¼‰åŒ–函å¼ä½å€"
++msgid "argument to decltype must be an expression"
++msgstr "%L 處 SELECT 敘述中的引數必須為標é‡"
+
+ #: cp/semantics.c:4145
+ #, fuzzy, gcc-internal-format
+-msgid "argument to decltype must be an expression"
+-msgstr "%L 處 SELECT 敘述中的引數必須為標é‡"
++msgid "%qE refers to a set of overloaded functions"
++msgstr "%s 無法解æžå¤šè¼‰åŒ–函å¼ä½å€"
+
+-#: cp/semantics.c:4366
++#: cp/semantics.c:4415
+ #, gcc-internal-format
+ msgid "__is_convertible_to"
+ msgstr ""
+
+-#: cp/semantics.c:4395
++#: cp/semantics.c:4444
+ #, fuzzy, gcc-internal-format
+ msgid "incomplete type %qT not allowed"
+ msgstr "ä¸å®Œå…¨é¡žåž‹ %qT 沒有æˆå“¡ %qD"
+
+-#: cp/tree.c:829
++#: cp/tree.c:827
+ #, gcc-internal-format
+ msgid "%qV qualifiers cannot be applied to %qT"
+ msgstr "%qV é™å®šç¬¦ä¸èƒ½å¥—用到 %qT 上"
+
+-#: cp/tree.c:2134
++#: cp/tree.c:2132
+ #, gcc-internal-format
+ msgid "%qE attribute can only be applied to Java class definitions"
+ msgstr "åªèƒ½ç‚º Java 類別定義套用 %qE 屬性"
+
+-#: cp/tree.c:2163
++#: cp/tree.c:2161
+ #, gcc-internal-format
+ msgid "%qE attribute can only be applied to class definitions"
+ msgstr "åªèƒ½ç‚ºé¡žåˆ¥å®šç¾©å¥—用 %qE 屬性"
+
+-#: cp/tree.c:2169
++#: cp/tree.c:2167
+ #, gcc-internal-format
+ msgid "%qE is obsolete; g++ vtables are now COM-compatible by default"
+ msgstr "%qE å·²éŽæ™‚:g++ 的虛函å¼è¡¨ç¾åœ¨é è¨­èˆ‡ COM 相容"
+
+-#: cp/tree.c:2193
++#: cp/tree.c:2191
+ #, gcc-internal-format
+ msgid "requested init_priority is not an integer constant"
+ msgstr "請求的 init_priority ä¸æ˜¯ä¸€å€‹æ•´æ•¸å¸¸æ•¸"
+
+-#: cp/tree.c:2214
++#: cp/tree.c:2212
+ #, gcc-internal-format
+ msgid "can only use %qE attribute on file-scope definitions of objects of class type"
+ msgstr "åªèƒ½å°‡ %qE 屬性用於æŸå€‹é¡žåˆ¥çš„物件的檔案作用欄ä½å®šç¾©"
+
+-#: cp/tree.c:2222
++#: cp/tree.c:2220
+ #, gcc-internal-format
+ msgid "requested init_priority is out of range"
+ msgstr "請求的 init_priority 越界"
+
+-#: cp/tree.c:2232
++#: cp/tree.c:2230
+ #, gcc-internal-format
+ msgid "requested init_priority is reserved for internal use"
+ msgstr "請求的 init_priority ä¿ç•™ç‚ºå…§éƒ¨ä½¿ç”¨"
+
+-#: cp/tree.c:2243
++#: cp/tree.c:2241
+ #, gcc-internal-format
+ msgid "%qE attribute is not supported on this platform"
+ msgstr "%qE 屬性在此平å°ä¸Šä¸å—支æ´"
+
+-#: cp/typeck.c:431 cp/typeck.c:445 cp/typeck.c:545
++#: cp/typeck.c:432 cp/typeck.c:446 cp/typeck.c:546
+ #, gcc-internal-format
+ msgid "%s between distinct pointer types %qT and %qT lacks a cast"
+ msgstr "%s(在ä¸åŒçš„指標類型 %qT å’Œ %qT 之間)需è¦ä¸€å€‹è½‰æ›"
+
+-#: cp/typeck.c:507
++#: cp/typeck.c:508
+ #, gcc-internal-format
+ msgid "ISO C++ forbids %s between pointer of type %<void *%> and pointer-to-function"
+ msgstr "ISO C++ ä¸å…許在 %<void *%> 和函å¼æŒ‡æ¨™é–“ %s"
+
+-#: cp/typeck.c:565
++#: cp/typeck.c:566
+ #, gcc-internal-format
+ msgid "%s between distinct pointer-to-member types %qT and %qT lacks a cast"
+ msgstr "%s(在ä¸åŒçš„æˆå“¡æŒ‡æ¨™é¡žåž‹ %qT å’Œ %qT 之間)需è¦ä¸€å€‹è½‰æ›"
+
+-#: cp/typeck.c:1129
++#: cp/typeck.c:1166
+ #, gcc-internal-format
+ msgid "canonical types differ for identical types %T and %T"
+ msgstr ""
+
+-#: cp/typeck.c:1136
++#: cp/typeck.c:1173
+ #, gcc-internal-format
+ msgid "same canonical type node for different types %T and %T"
+ msgstr ""
+
+-#: cp/typeck.c:1248
++#: cp/typeck.c:1285
+ #, gcc-internal-format
+ msgid "invalid application of %qs to a member function"
+ msgstr "%qs 用於æˆå“¡å‡½å¼ç„¡æ•ˆ"
+
+-#: cp/typeck.c:1298
++#: cp/typeck.c:1335
+ #, fuzzy, gcc-internal-format
+ msgid "invalid application of %<sizeof%> to a bit-field"
+ msgstr "å°ä½å…ƒæ®µä½¿ç”¨ %qs 無效"
+
+-#: cp/typeck.c:1303
++#: cp/typeck.c:1340
+ #, fuzzy, gcc-internal-format
+ msgid "ISO C++ forbids applying %<sizeof%> to an expression of function type"
+ msgstr "ISO C++ ä¸å…許將 %qs 套用到函å¼é¡žåž‹çš„é‹ç®—å¼ä¸Š"
+
+-#: cp/typeck.c:1346
++#: cp/typeck.c:1383
+ #, fuzzy, gcc-internal-format
+ msgid "invalid application of %<__alignof%> to a bit-field"
+ msgstr "å°ä½å…ƒæ®µä½¿ç”¨ %qs 無效"
+
+-#: cp/typeck.c:1354
++#: cp/typeck.c:1391
+ #, fuzzy, gcc-internal-format
+ msgid "ISO C++ forbids applying %<__alignof%> to an expression of function type"
+ msgstr "ISO C++ ä¸å…許將 %qs 套用到函å¼é¡žåž‹çš„é‹ç®—å¼ä¸Š"
+
+-#: cp/typeck.c:1405
++#: cp/typeck.c:1442
+ #, gcc-internal-format
+ msgid "invalid use of non-static member function"
+ msgstr "å°éžéœæ…‹æˆå“¡å‡½å¼çš„使用無效"
+
+-#: cp/typeck.c:1669
++#: cp/typeck.c:1715
+ #, fuzzy, gcc-internal-format
+ msgid "deprecated conversion from string constant to %qT"
+ msgstr "從字串常數到 %qT 的轉æ›å·²éŽæ™‚"
+
+-#: cp/typeck.c:1784 cp/typeck.c:2132
++#: cp/typeck.c:1830 cp/typeck.c:2178
+ #, gcc-internal-format
+ msgid "request for member %qD in %qE, which is of non-class type %qT"
+ msgstr "å°æˆå“¡ %qD 的請求出ç¾åœ¨ %qE 中,而後者具有éžé¡žåˆ¥é¡žåž‹ %qT"
+
+-#: cp/typeck.c:1811
++#: cp/typeck.c:1857
+ #, gcc-internal-format
+ msgid "invalid use of nonstatic data member %qE"
+ msgstr "å°éžéœæ…‹è³‡æ–™æˆå“¡ %qE 的使用無效"
+
+-#: cp/typeck.c:1863 cp/typeck.c:1891
++#: cp/typeck.c:1909 cp/typeck.c:1937
+ #, gcc-internal-format
+ msgid "invalid access to non-static data member %qD of NULL object"
+ msgstr "å° NULL 物件éžéœæ…‹è³‡æ–™æˆå“¡ %qD çš„å­˜å–無效"
+
+-#: cp/typeck.c:1866 cp/typeck.c:1893
++#: cp/typeck.c:1912 cp/typeck.c:1939
+ #, gcc-internal-format
+ msgid "(perhaps the %<offsetof%> macro was used incorrectly)"
+ msgstr "(å¯èƒ½éŒ¯èª¤ä½¿ç”¨äº† %<offsetof%> 巨集)"
+
+-#: cp/typeck.c:2010
++#: cp/typeck.c:2056
+ #, gcc-internal-format
+ msgid "the type being destroyed is %qT, but the destructor refers to %qT"
+ msgstr "被解構的類型是 %qT,但解構函å¼å»ä½¿ç”¨äº† %qT"
+
+-#: cp/typeck.c:2049 cp/typeck.c:2069
++#: cp/typeck.c:2095 cp/typeck.c:2115
+ #, gcc-internal-format
+ msgid "%qD is not a template"
+ msgstr "%qD ä¸æ˜¯ä¸€å€‹ç¯„本"
+
+-#: cp/typeck.c:2170
++#: cp/typeck.c:2216
+ #, gcc-internal-format
+ msgid "%<%D::%D%> is not a member of %qT"
+ msgstr "%<%D::%D%> ä¸æ˜¯ %qT çš„æˆå“¡"
+
+-#: cp/typeck.c:2185
++#: cp/typeck.c:2231
+ #, gcc-internal-format
+ msgid "%qT is not a base of %qT"
+ msgstr "%qT ä¸æ˜¯ %qT 的基礎類別"
+
+-#: cp/typeck.c:2204
++#: cp/typeck.c:2250
+ #, gcc-internal-format
+ msgid "%qD has no member named %qE"
+ msgstr "%qD æ²’å…·å為 %qE çš„æˆå“¡"
+
+-#: cp/typeck.c:2219
++#: cp/typeck.c:2265
+ #, gcc-internal-format
+ msgid "%qD is not a member template function"
+ msgstr "%qD ä¸æ˜¯ä¸€å€‹æˆå“¡ç¯„本函å¼"
+
+ #. A pointer to incomplete type (other than cv void) can be
+ #. dereferenced [expr.unary.op]/1
+-#: cp/typeck.c:2352
++#: cp/typeck.c:2398
+ #, gcc-internal-format
+ msgid "%qT is not a pointer-to-object type"
+ msgstr "%qT ä¸æ˜¯ä¸€å€‹åƒç…§ç‰©ä»¶çš„é¡žåž‹"
+
+-#: cp/typeck.c:2377
++#: cp/typeck.c:2423
+ #, gcc-internal-format
+ msgid "invalid use of %qs on pointer to member"
+ msgstr "å°‡ %qs 用在æˆå“¡æŒ‡æ¨™ä¸Šç„¡æ•ˆ"
+
+-#: cp/typeck.c:2381
++#: cp/typeck.c:2427
+ #, gcc-internal-format
+ msgid "invalid type argument of %qs"
+ msgstr "%qs 的引數類型無效"
+
+-#: cp/typeck.c:2383
++#: cp/typeck.c:2429
+ #, gcc-internal-format
+ msgid "invalid type argument"
+ msgstr "無效的類型åƒæ•¸"
+
+-#: cp/typeck.c:2406
++#: cp/typeck.c:2452
+ #, gcc-internal-format
+ msgid "subscript missing in array reference"
+ msgstr "陣列åƒç…§ç¼ºå°‘下標"
+
+-#: cp/typeck.c:2480
++#: cp/typeck.c:2526
+ #, gcc-internal-format
+ msgid "ISO C++ forbids subscripting non-lvalue array"
+ msgstr "ISO C++ ä¸å…許按下標存å–éžå·¦å€¼çš„陣列"
+
+-#: cp/typeck.c:2491
++#: cp/typeck.c:2537
+ #, gcc-internal-format
+ msgid "subscripting array declared %<register%>"
+ msgstr "按下標存å–宣告為 %<register%> 的陣列"
+
+-#: cp/typeck.c:2576
++#: cp/typeck.c:2622
+ #, gcc-internal-format
+ msgid "object missing in use of %qE"
+ msgstr "使用 %qE 時缺少物件"
+
+-#: cp/typeck.c:2693
++#: cp/typeck.c:2739
+ #, gcc-internal-format
+ msgid "ISO C++ forbids calling %<::main%> from within program"
+ msgstr "ISO C++ ä¸å…許在程å¼è£¡å‘¼å« %<::main%>"
+
+-#: cp/typeck.c:2718
++#: cp/typeck.c:2764
+ #, gcc-internal-format
+ msgid "must use %<.*%> or %<->*%> to call pointer-to-member function in %<%E (...)%>"
+ msgstr "必須用 %<.*%> or %<->*%> å‘¼å« <%E (...)%> 中的æˆå“¡å‡½å¼æŒ‡æ¨™"
+
+-#: cp/typeck.c:2732
++#: cp/typeck.c:2778
+ #, gcc-internal-format
+ msgid "%qE cannot be used as a function"
+ msgstr "%qE ä¸èƒ½åšç‚ºå‡½å¼"
+
+-#: cp/typeck.c:2822
++#: cp/typeck.c:2868
+ #, gcc-internal-format
+ msgid "too many arguments to %s %q+#D"
+ msgstr "給予 %s %q+#D 的引數太多"
+
+-#: cp/typeck.c:2823 cp/typeck.c:2927
++#: cp/typeck.c:2869 cp/typeck.c:2973
+ #, gcc-internal-format
+ msgid "at this point in file"
+ msgstr "在檔案的這個地方"
+
+-#: cp/typeck.c:2826
++#: cp/typeck.c:2872
+ #, gcc-internal-format
+ msgid "too many arguments to function"
+ msgstr "給予函å¼çš„引數太多"
+
+-#: cp/typeck.c:2856
++#: cp/typeck.c:2902
+ #, gcc-internal-format
+ msgid "parameter %P of %qD has incomplete type %qT"
+ msgstr "åƒæ•¸ %P (屬於 %qD)çš„é¡žåž‹ %qT ä¸å®Œå…¨"
+
+-#: cp/typeck.c:2859
++#: cp/typeck.c:2905
+ #, gcc-internal-format
+ msgid "parameter %P has incomplete type %qT"
+ msgstr "åƒæ•¸ %P çš„é¡žåž‹ %qT ä¸å®Œå…¨"
+
+-#: cp/typeck.c:2926
++#: cp/typeck.c:2972
+ #, gcc-internal-format
+ msgid "too few arguments to %s %q+#D"
+ msgstr "給予 %s %q+#D 的引數太少"
+
+-#: cp/typeck.c:2930
++#: cp/typeck.c:2976
+ #, gcc-internal-format
+ msgid "too few arguments to function"
+ msgstr "給予函å¼çš„引數太少"
+
+-#: cp/typeck.c:3098 cp/typeck.c:3108
++#: cp/typeck.c:3140 cp/typeck.c:3150
+ #, gcc-internal-format
+ msgid "assuming cast to type %qT from overloaded function"
+ msgstr "å‡å®šå¾žå¤šè¼‰å‡½å¼è½‰æ›åˆ°é¡žåž‹ %qT"
+
+-#: cp/typeck.c:3306
++#: cp/typeck.c:3346
+ #, fuzzy, gcc-internal-format
+ msgid "left rotate count is negative"
+ msgstr "%s 循環移ä½æ¬¡æ•¸ç‚ºè² "
+
+-#: cp/typeck.c:3307
++#: cp/typeck.c:3347
+ #, fuzzy, gcc-internal-format
+ msgid "right rotate count is negative"
+ msgstr "%s 循環移ä½æ¬¡æ•¸ç‚ºè² "
+
+-#: cp/typeck.c:3310
++#: cp/typeck.c:3350
+ #, fuzzy, gcc-internal-format
+ msgid "left rotate count >= width of type"
+ msgstr "%s 循環移ä½æ¬¡æ•¸å¤§æ–¼æˆ–等於類型寬度"
+
+-#: cp/typeck.c:3311
++#: cp/typeck.c:3351
+ #, fuzzy, gcc-internal-format
+ msgid "right rotate count >= width of type"
+ msgstr "%s 循環移ä½æ¬¡æ•¸å¤§æ–¼æˆ–等於類型寬度"
+
+-#: cp/typeck.c:3327 cp/typeck.c:3502
++#: cp/typeck.c:3367 cp/typeck.c:3549
+ #, fuzzy, gcc-internal-format
+ msgid "comparison with string literal results in unspecified behaviour"
+ msgstr "%q+D 的弱宣告出ç¾åœ¨ç¬¬ä¸€æ¬¡ä½¿ç”¨ä¹‹å¾Œå°‡å°Žè‡´ä¸å¯é æœŸçš„行為"
+
+-#: cp/typeck.c:3360 cp/typeck.c:3365 cp/typeck.c:3520 cp/typeck.c:3525
++#: cp/typeck.c:3400 cp/typeck.c:3405 cp/typeck.c:3567 cp/typeck.c:3572
+ #, gcc-internal-format
+ msgid "ISO C++ forbids comparison between pointer and integer"
+ msgstr "ISO C++ ä¸å…許比較指標和整數的值"
+
+-#: cp/typeck.c:3539
++#: cp/typeck.c:3586
+ #, gcc-internal-format
+ msgid "unordered comparison on non-floating point argument"
+ msgstr "éžæµ®é»žå¼•æ•¸é–“的無效比較"
+
+-#: cp/typeck.c:3577
++#: cp/typeck.c:3624
+ #, gcc-internal-format
+ msgid "invalid operands of types %qT and %qT to binary %qO"
+ msgstr "é‹ç®—元類型 %qT å’Œ %qT å°äºŒé€²ä½ %qO 而言無效"
+
+-#: cp/typeck.c:3749
++#: cp/typeck.c:3757
+ #, gcc-internal-format
+ msgid "comparison between types %q#T and %q#T"
+ msgstr "在類型 %q#T 和 %q#T 間比較"
+
+-#: cp/typeck.c:3786
++#: cp/typeck.c:3794
+ #, gcc-internal-format
+ msgid "comparison between signed and unsigned integer expressions"
+ msgstr "在有號和無號整數é‹ç®—å¼é–“比較"
+@@ -32116,154 +32152,154 @@
+ #. performed. Note that pointer-difference and pointer-addition
+ #. have already been handled above, and so we don't end up here in
+ #. that case.
+-#: cp/typeck.c:3858
++#: cp/typeck.c:3866
+ #, gcc-internal-format
+ msgid "NULL used in arithmetic"
+ msgstr "ç®—è¡“é‹ç®—å¼ä¸­ä½¿ç”¨äº† NULL"
+
+-#: cp/typeck.c:3927
++#: cp/typeck.c:3935
+ #, gcc-internal-format
+ msgid "ISO C++ forbids using pointer of type %<void *%> in subtraction"
+ msgstr "ISO C++ ä¸å…許在減法中使用類型為 %<void *%> 的指標"
+
+-#: cp/typeck.c:3929
++#: cp/typeck.c:3937
+ #, gcc-internal-format
+ msgid "ISO C++ forbids using pointer to a function in subtraction"
+ msgstr "ISO C++ ä¸å…許在減法中使用函å¼æŒ‡æ¨™"
+
+-#: cp/typeck.c:3931
++#: cp/typeck.c:3939
+ #, gcc-internal-format
+ msgid "ISO C++ forbids using pointer to a method in subtraction"
+ msgstr "ISO C++ ä¸å…許在減法中使用åƒç…§æ–¹æ³•çš„指標"
+
+-#: cp/typeck.c:3943
++#: cp/typeck.c:3951
+ #, gcc-internal-format
+ msgid "invalid use of a pointer to an incomplete type in pointer arithmetic"
+ msgstr "在指標算術中使用åƒç…§ä¸å®Œå…¨é¡žåž‹çš„指標無效"
+
+-#: cp/typeck.c:4003
++#: cp/typeck.c:4011
+ #, gcc-internal-format
+ msgid "invalid use of %qE to form a pointer-to-member-function"
+ msgstr "用 %qE å½¢æˆæˆå“¡å‡½å¼æŒ‡æ¨™çš„用法無效。"
+
+-#: cp/typeck.c:4006
++#: cp/typeck.c:4014
+ #, gcc-internal-format
+ msgid " a qualified-id is required"
+ msgstr " 需è¦ä¸€å€‹é™å®šçš„識別碼"
+
+-#: cp/typeck.c:4011
++#: cp/typeck.c:4019
+ #, fuzzy, gcc-internal-format
+ msgid "parentheses around %qE cannot be used to form a pointer-to-member-function"
+ msgstr "%qE 兩邊的括號ä¸èƒ½ç”¨ä¾†å»ºæ§‹ä¸€å€‹æˆå“¡å‡½å¼æŒ‡æ¨™"
+
+-#: cp/typeck.c:4034
++#: cp/typeck.c:4042
+ #, gcc-internal-format
+ msgid "taking address of temporary"
+ msgstr "å–臨時變數的ä½å€"
+
+-#: cp/typeck.c:4287
++#: cp/typeck.c:4295
+ #, fuzzy, gcc-internal-format
+ msgid "ISO C++ forbids incrementing an enum"
+ msgstr "ISO C++ ä¸å…許 %sing 一個列舉"
+
+-#: cp/typeck.c:4288
++#: cp/typeck.c:4296
+ #, fuzzy, gcc-internal-format
+ msgid "ISO C++ forbids decrementing an enum"
+ msgstr "ISO C++ ä¸å…許 %sing 一個列舉"
+
+-#: cp/typeck.c:4299
++#: cp/typeck.c:4307
+ #, fuzzy, gcc-internal-format
+ msgid "cannot increment a pointer to incomplete type %qT"
+ msgstr "ä¸èƒ½å°‡æŒ‡æ¨™ %s 到ä¸å®Œå…¨çš„é¡žåž‹ %qT"
+
+-#: cp/typeck.c:4300
++#: cp/typeck.c:4308
+ #, fuzzy, gcc-internal-format
+ msgid "cannot decrement a pointer to incomplete type %qT"
+ msgstr "ä¸èƒ½å°‡æŒ‡æ¨™ %s 到ä¸å®Œå…¨çš„é¡žåž‹ %qT"
+
+-#: cp/typeck.c:4306
++#: cp/typeck.c:4314
+ #, fuzzy, gcc-internal-format
+ msgid "ISO C++ forbids incrementing a pointer of type %qT"
+ msgstr "ISO C++ ä¸å…許 %s 一個類型為 %qT 的指標"
+
+-#: cp/typeck.c:4307
++#: cp/typeck.c:4315
+ #, fuzzy, gcc-internal-format
+ msgid "ISO C++ forbids decrementing a pointer of type %qT"
+ msgstr "ISO C++ ä¸å…許 %s 一個類型為 %qT 的指標"
+
+-#: cp/typeck.c:4327
++#: cp/typeck.c:4335
+ #, fuzzy, gcc-internal-format
+ msgid "invalid use of Boolean expression as operand to %<operator--%>"
+ msgstr "無效的é‹ç®—å¼åšç‚ºé‹ç®—å…ƒ"
+
+ #. ARM $3.4
+-#: cp/typeck.c:4357
++#: cp/typeck.c:4365
+ #, gcc-internal-format
+ msgid "ISO C++ forbids taking address of function %<::main%>"
+ msgstr "ISO C++ ä¸å…許å–å‡½å¼ %<::main%> çš„ä½å€"
+
+ #. An expression like &memfn.
+-#: cp/typeck.c:4413
++#: cp/typeck.c:4421
+ #, gcc-internal-format
+ msgid "ISO C++ forbids taking the address of an unqualified or parenthesized non-static member function to form a pointer to member function. Say %<&%T::%D%>"
+ msgstr "ISO C++ ä¸å…許é€éŽæå–一個未é™å®šçš„或帶括號的éžéœæ…‹æˆå“¡å‡½å¼çš„ä½å€ä¾†å½¢æˆä¸€å€‹æˆå“¡å‡½å¼æŒ‡æ¨™ã€‚請使用 %<&%T::%D%>"
+
+-#: cp/typeck.c:4418
++#: cp/typeck.c:4426
+ #, gcc-internal-format
+ msgid "ISO C++ forbids taking the address of a bound member function to form a pointer to member function. Say %<&%T::%D%>"
+ msgstr "ISO C++ ä¸å…許é€éŽå–已繫çµçš„æˆå“¡å‡½å¼çš„ä½å€ä¾†å»ºæ§‹æˆå“¡å‡½å¼æŒ‡æ¨™ã€‚請改用 %<&%T::%D%>"
+
+-#: cp/typeck.c:4443
++#: cp/typeck.c:4451
+ #, gcc-internal-format
+ msgid "ISO C++ forbids taking the address of a cast to a non-lvalue expression"
+ msgstr "ISO C++ ä¸å…許å–轉æ›åˆ°éžå·¦å€¼é‹ç®—å¼çš„ä½å€"
+
+-#: cp/typeck.c:4467
++#: cp/typeck.c:4475
+ #, gcc-internal-format
+ msgid "cannot create pointer to reference member %qD"
+ msgstr "ä¸èƒ½å»ºç«‹åƒç…§åƒç…§æˆå“¡ %qD 的指標"
+
+-#: cp/typeck.c:4678
++#: cp/typeck.c:4686
+ #, gcc-internal-format
+ msgid "cannot take the address of %<this%>, which is an rvalue expression"
+ msgstr "無法å–å³å€¼é‹ç®—å¼ %<this%> çš„ä½å€"
+
+-#: cp/typeck.c:4701
++#: cp/typeck.c:4709
+ #, gcc-internal-format
+ msgid "address of explicit register variable %qD requested"
+ msgstr "è¦æ±‚明確暫存器變數 %qD çš„ä½å€ã€‚"
+
+-#: cp/typeck.c:4706
++#: cp/typeck.c:4714
+ #, gcc-internal-format
+ msgid "address requested for %qD, which is declared %<register%>"
+ msgstr "請求宣告為 %<register%> çš„ %qD çš„ä½å€"
+
+-#: cp/typeck.c:4772
++#: cp/typeck.c:4780
+ #, gcc-internal-format
+ msgid "%s expression list treated as compound expression"
+ msgstr "%s é‹ç®—å¼æ¸…單被看作複åˆé‹ç®—å¼"
+
+-#: cp/typeck.c:5175
++#: cp/typeck.c:5183
+ #, gcc-internal-format
+ msgid "invalid static_cast from type %qT to type %qT"
+ msgstr "從類型 %qT 到類型 %qT 中的 static_cast 無效"
+
+-#: cp/typeck.c:5197
++#: cp/typeck.c:5205
+ #, gcc-internal-format
+ msgid "converting from %qT to %qT"
+ msgstr "從 %qT 轉æ›åˆ° %qT"
+
+-#: cp/typeck.c:5245
++#: cp/typeck.c:5253
+ #, gcc-internal-format
+ msgid "invalid cast of an rvalue expression of type %qT to type %qT"
+ msgstr "從具有類型 %qT çš„å³å€¼é‹ç®—å¼åˆ°é¡žåž‹ %qT 中的轉æ›ç„¡æ•ˆ"
+
+-#: cp/typeck.c:5304
++#: cp/typeck.c:5312
+ #, gcc-internal-format
+ msgid "cast from %qT to %qT loses precision"
+ msgstr "從 %qT 到 %qT 的轉æ›æ失精度"
+
+-#: cp/typeck.c:5331
++#: cp/typeck.c:5339
+ #, gcc-internal-format
+ msgid "cast from %qT to %qT increases required alignment of target type"
+ msgstr "從 %qT 到 %qT 的轉æ›å¢žå¤§äº†ç›®çš„é¡žåž‹çš„å°é½Šéœ€æ±‚"
+@@ -32272,155 +32308,155 @@
+ #. where possible, and it is necessary in some cases. DR 195
+ #. addresses this issue, but as of 2004/10/26 is still in
+ #. drafting.
+-#: cp/typeck.c:5351
++#: cp/typeck.c:5359
+ #, gcc-internal-format
+ msgid "ISO C++ forbids casting between pointer-to-function and pointer-to-object"
+ msgstr "ISO C++ ä¸å…許在函å¼æŒ‡æ¨™å’Œç‰©ä»¶æŒ‡æ¨™é–“進行轉æ›"
+
+-#: cp/typeck.c:5362
++#: cp/typeck.c:5370
+ #, gcc-internal-format
+ msgid "invalid cast from type %qT to type %qT"
+ msgstr "從類型 %qT 到類型 %qT 的轉æ›ç„¡æ•ˆ"
+
+-#: cp/typeck.c:5418
++#: cp/typeck.c:5426
+ #, gcc-internal-format
+ msgid "invalid use of const_cast with type %qT, which is not a pointer, reference, nor a pointer-to-data-member type"
+ msgstr "在類型 %qT 上使用 const_cast 無效,因為它既ä¸æ˜¯æŒ‡æ¨™ï¼Œä¹Ÿä¸æ˜¯åƒç…§ï¼Œä¹Ÿä¸æ˜¯è³‡æ–™æˆå“¡æŒ‡æ¨™"
+
+-#: cp/typeck.c:5427
++#: cp/typeck.c:5435
+ #, gcc-internal-format
+ msgid "invalid use of const_cast with type %qT, which is a pointer or reference to a function type"
+ msgstr "在類型 %qT 上使用 const_cast 無效,因為它是一個指標函å¼é¡žåž‹çš„指標或åƒç…§"
+
+-#: cp/typeck.c:5452
++#: cp/typeck.c:5460
+ #, gcc-internal-format
+ msgid "invalid const_cast of an rvalue of type %qT to type %qT"
+ msgstr "從類型 %qT 到類型 %qT 中的 const_cast 無效"
+
+-#: cp/typeck.c:5503
++#: cp/typeck.c:5511
+ #, gcc-internal-format
+ msgid "invalid const_cast from type %qT to type %qT"
+ msgstr "從類型 %qT 到類型 %qT 中的 const_cast 無效"
+
+-#: cp/typeck.c:5571 cp/typeck.c:5576
++#: cp/typeck.c:5579 cp/typeck.c:5584
+ #, gcc-internal-format
+ msgid "ISO C++ forbids casting to an array type %qT"
+ msgstr "ISO C++ ä¸å…許轉æ›ç‚ºé™£åˆ—é¡žåž‹ %qT"
+
+-#: cp/typeck.c:5584
++#: cp/typeck.c:5592
+ #, gcc-internal-format
+ msgid "invalid cast to function type %qT"
+ msgstr "å‘函å¼é¡žåž‹ %qT 的轉æ›ç„¡æ•ˆ"
+
+-#: cp/typeck.c:5804
++#: cp/typeck.c:5812
+ #, gcc-internal-format
+ msgid " in evaluation of %<%Q(%#T, %#T)%>"
+ msgstr " 在求 %<%Q(%#T, %#T)%> 值時"
+
+-#: cp/typeck.c:5873
++#: cp/typeck.c:5881
+ #, gcc-internal-format
+ msgid "incompatible types in assignment of %qT to %qT"
+ msgstr "å°‡ %qT 賦值給 %qT 時類型ä¸ç›¸å®¹"
+
+-#: cp/typeck.c:5884
++#: cp/typeck.c:5892
+ #, fuzzy, gcc-internal-format
+ msgid "array used as initializer"
+ msgstr "錯誤的陣列åˆå§‹å€¼è¨­å®š"
+
+-#: cp/typeck.c:5886
++#: cp/typeck.c:5894
+ #, fuzzy, gcc-internal-format
+ msgid "invalid array assignment"
+ msgstr "賦值é‹ç®—中的左值無效"
+
+-#: cp/typeck.c:5998
++#: cp/typeck.c:6006
+ #, gcc-internal-format
+ msgid " in pointer to member function conversion"
+ msgstr " 在æˆå“¡å‡½å¼æŒ‡æ¨™è½‰æ›ä¸­"
+
+-#: cp/typeck.c:6009
++#: cp/typeck.c:6017
+ #, gcc-internal-format
+ msgid "pointer to member conversion via virtual base %qT"
+ msgstr "æˆå“¡æŒ‡æ¨™è½‰æ›ç¶“由虛基礎類別 %qT"
+
+-#: cp/typeck.c:6049 cp/typeck.c:6061
++#: cp/typeck.c:6057 cp/typeck.c:6069
+ #, gcc-internal-format
+ msgid " in pointer to member conversion"
+ msgstr " 在æˆå“¡æŒ‡æ¨™è½‰æ›ä¸­"
+
+-#: cp/typeck.c:6140
++#: cp/typeck.c:6148
+ #, gcc-internal-format
+ msgid "invalid conversion to type %qT from type %qT"
+ msgstr "到類型 %qT 的轉æ›ç„¡æ•ˆï¼Œå¾žé¡žåž‹ %qT"
+
+-#: cp/typeck.c:6384
++#: cp/typeck.c:6411
+ #, gcc-internal-format
+ msgid "cannot convert %qT to %qT for argument %qP to %qD"
+ msgstr "ä¸èƒ½å¾ž %qT 轉æ›åˆ° %qT,為引數 %qP(屬於 %qD)"
+
+-#: cp/typeck.c:6387
++#: cp/typeck.c:6414
+ #, gcc-internal-format
+ msgid "cannot convert %qT to %qT in %s"
+ msgstr "ä¸èƒ½å°‡ %qT 轉æ›ç‚º %qT,在 %s 中"
+
+-#: cp/typeck.c:6398
++#: cp/typeck.c:6425
+ #, gcc-internal-format
+ msgid "%s might be a candidate for a format attribute"
+ msgstr "%s å¯èƒ½æ˜¯ format 屬性的一個備é¸"
+
+-#: cp/typeck.c:6485 cp/typeck.c:6487
++#: cp/typeck.c:6512 cp/typeck.c:6514
+ #, gcc-internal-format
+ msgid "in passing argument %P of %q+D"
+ msgstr "在傳éžå¼•æ•¸ %P (屬於 %q+D)"
+
+-#: cp/typeck.c:6537
++#: cp/typeck.c:6564
+ #, gcc-internal-format
+ msgid "returning reference to temporary"
+ msgstr "回傳臨時變數的åƒç…§"
+
+-#: cp/typeck.c:6544
++#: cp/typeck.c:6571
+ #, gcc-internal-format
+ msgid "reference to non-lvalue returned"
+ msgstr "回傳了一個éžå·¦å€¼çš„åƒç…§"
+
+-#: cp/typeck.c:6560
++#: cp/typeck.c:6587
+ #, gcc-internal-format
+ msgid "reference to local variable %q+D returned"
+ msgstr "回傳了å°å±€éƒ¨è®Šæ•¸çš„ %q+D çš„åƒç…§"
+
+-#: cp/typeck.c:6563
++#: cp/typeck.c:6590
+ #, gcc-internal-format
+ msgid "address of local variable %q+D returned"
+ msgstr "回傳了局部變數的 %q+D çš„ä½å€"
+
+-#: cp/typeck.c:6598
++#: cp/typeck.c:6625
+ #, gcc-internal-format
+ msgid "returning a value from a destructor"
+ msgstr "解構函å¼å›žå‚³å€¼"
+
+ #. If a return statement appears in a handler of the
+ #. function-try-block of a constructor, the program is ill-formed.
+-#: cp/typeck.c:6606
++#: cp/typeck.c:6633
+ #, gcc-internal-format
+ msgid "cannot return from a handler of a function-try-block of a constructor"
+ msgstr "ä¸èƒ½å¾žå»ºæ§‹å¼çš„異常處ç†ä¸­å›žå‚³"
+
+ #. You can't return a value from a constructor.
+-#: cp/typeck.c:6609
++#: cp/typeck.c:6636
+ #, gcc-internal-format
+ msgid "returning a value from a constructor"
+ msgstr "建構å¼å›žå‚³å€¼"
+
+-#: cp/typeck.c:6633
++#: cp/typeck.c:6661
+ #, gcc-internal-format
+ msgid "return-statement with no value, in function returning %qT"
+ msgstr "在回傳 %qT 的函å¼ä¸­ï¼Œå›žå‚³æ•˜è¿°ä¸å¸¶å›žå‚³å€¼"
+
+-#: cp/typeck.c:6654
++#: cp/typeck.c:6682
+ #, gcc-internal-format
+ msgid "return-statement with a value, in function returning 'void'"
+ msgstr "在回傳「voidã€çš„函å¼ä¸­ï¼Œå›žå‚³æ•˜è¿°å¸¶å›žå‚³å€¼"
+
+-#: cp/typeck.c:6685
++#: cp/typeck.c:6713
+ #, gcc-internal-format
+ msgid "%<operator new%> must not return NULL unless it is declared %<throw()%> (or -fcheck-new is in effect)"
+ msgstr "%<operator new%> ä¸èƒ½å›žå‚³ NULL,除éžå®ƒè¢«å®£å‘Šç‚º %<throw()%> (或 -fcheck-new 起作用)"
+@@ -32606,57 +32642,57 @@
+ msgid "pointer to member type %qT incompatible with object type %qT"
+ msgstr "æˆå“¡æŒ‡æ¨™é¡žåž‹ %qT 與物件類型 %qT ä¸ç›¸å®¹"
+
+-#: cp/typeck2.c:1495
++#: cp/typeck2.c:1508
+ #, gcc-internal-format
+ msgid "call to function %qD which throws incomplete type %q#T"
+ msgstr "呼å«çš„å‡½å¼ %qD 會拋出ä¸å®Œå…¨çš„é¡žåž‹ %q#T"
+
+-#: cp/typeck2.c:1498
++#: cp/typeck2.c:1511
+ #, gcc-internal-format
+ msgid "call to function which throws incomplete type %q#T"
+ msgstr "呼å«çš„函å¼æœƒæ‹‹å‡ºä¸å®Œå…¨çš„é¡žåž‹ %q#T"
+
+-#: fortran/f95-lang.c:233
++#: fortran/f95-lang.c:235
+ #, gcc-internal-format
+ msgid "Unexpected type in truthvalue_conversion"
+ msgstr "truthvalue_conversion 中類型éžé æœŸ"
+
+-#: fortran/f95-lang.c:289
++#: fortran/f95-lang.c:291
+ #, gcc-internal-format
+ msgid "can't open input file: %s"
+ msgstr "無法開啟輸入檔案:%s"
+
+-#: fortran/f95-lang.c:629
++#: fortran/f95-lang.c:631
+ #, gcc-internal-format
+ msgid "global register variable %qs used in nested function"
+ msgstr "巢狀函å¼ä¸­ä½¿ç”¨äº†å…¨åŸŸæš«å­˜å™¨è®Šæ•¸ %qs"
+
+-#: fortran/f95-lang.c:633
++#: fortran/f95-lang.c:635
+ #, gcc-internal-format
+ msgid "register variable %qs used in nested function"
+ msgstr "巢狀函å¼ä¸­ä½¿ç”¨äº†æš«å­˜å™¨è®Šæ•¸ %qs"
+
+-#: fortran/f95-lang.c:640
++#: fortran/f95-lang.c:642
+ #, gcc-internal-format
+ msgid "address of global register variable %qs requested"
+ msgstr "è¦æ±‚全域暫存器變數 %qs çš„ä½å€"
+
+-#: fortran/f95-lang.c:658
++#: fortran/f95-lang.c:660
+ #, gcc-internal-format
+ msgid "address of register variable %qs requested"
+ msgstr "è¦æ±‚暫存器變數 %qs çš„ä½å€"
+
+-#: fortran/trans-array.c:3765
++#: fortran/trans-array.c:3805
+ #, gcc-internal-format
+ msgid "Possible frontend bug: array constructor not expanded"
+ msgstr "å‰ç«¯ç¨‹å¼å¯èƒ½çš„程å¼ç¼ºé™·ï¼šé™£åˆ—建構å¼æœªèƒ½å±•é–‹"
+
+-#: fortran/trans-array.c:5418
++#: fortran/trans-array.c:5499
+ #, fuzzy, gcc-internal-format
+ msgid "Possible frontend bug: Deferred array size without pointer, allocatable attribute or derived type without allocatable components."
+ msgstr "å¯èƒ½çš„å‰ç«¯ç¨‹å¼ç¼ºé™·ï¼šæ領陣列大å°æ™‚沒有指標或å¯æŒ‡æ´¾å±¬æ€§ã€‚"
+
+-#: fortran/trans-array.c:5894
++#: fortran/trans-array.c:5975
+ #, gcc-internal-format
+ msgid "bad expression type during walk (%d)"
+ msgstr ""
+@@ -32666,27 +32702,27 @@
+ msgid "gfc_conv_constant_to_tree(): invalid type: %s"
+ msgstr "gfc_conv_constant_to_tree():無效類型;%s"
+
+-#: fortran/trans-decl.c:966
++#: fortran/trans-decl.c:972
+ #, gcc-internal-format
+ msgid "intrinsic variable which isn't a procedure"
+ msgstr "內建函å¼è®Šæ•¸ä¸æ˜¯ä¸€å€‹ç¨‹åº"
+
+-#: fortran/trans-decl.c:2639
++#: fortran/trans-decl.c:2644
+ #, gcc-internal-format
+ msgid "Function does not return a value"
+ msgstr "函å¼æ²’有回傳一個值"
+
+-#: fortran/trans-decl.c:2817
++#: fortran/trans-decl.c:2832
+ #, gcc-internal-format
+ msgid "backend decl for module variable %s already exists"
+ msgstr "模組變數 %s 的後端程å¼å®£å‘Šå·²å­˜åœ¨"
+
+-#: fortran/trans-decl.c:3351
++#: fortran/trans-decl.c:3314
+ #, gcc-internal-format
+ msgid "Function return value not set"
+ msgstr "未設定函å¼å›žå‚³å€¼"
+
+-#: fortran/trans-expr.c:1163
++#: fortran/trans-expr.c:1177
+ #, gcc-internal-format
+ msgid "Unknown intrinsic op"
+ msgstr "ä¸æ˜Žçš„內建作業"
+@@ -32696,32 +32732,32 @@
+ msgid "Intrinsic function %s(%d) not recognized"
+ msgstr "å…§éƒ¨å‡½å¼ %s(%d) 無法識別"
+
+-#: fortran/trans-io.c:1928
++#: fortran/trans-io.c:1929
+ #, gcc-internal-format
+ msgid "Bad IO basetype (%d)"
+ msgstr "錯誤的 IO 基礎類別型(%d)"
+
+-#: fortran/trans-types.c:386
++#: fortran/trans-types.c:387
+ #, gcc-internal-format
+ msgid "integer kind=8 not available for -fdefault-integer-8 option"
+ msgstr "integer kind=8 在指定了 -fdefault-integer-8 é¸é …時無法使用"
+
+-#: fortran/trans-types.c:409
++#: fortran/trans-types.c:410
+ #, gcc-internal-format
+ msgid "real kind=8 not available for -fdefault-real-8 option"
+ msgstr "real kind=8 在指定了 -fdefault-real-8 é¸é …時無法使用"
+
+-#: fortran/trans-types.c:422
++#: fortran/trans-types.c:423
+ #, gcc-internal-format
+ msgid "Use of -fdefault-double-8 requires -fdefault-real-8"
+ msgstr "使用 -fdefault-double-8 æ™‚éœ€è¦ -fdefault-real-8"
+
+-#: fortran/trans-types.c:1181
++#: fortran/trans-types.c:1185
+ #, gcc-internal-format
+ msgid "Array element size too big"
+ msgstr "陣列元素太大"
+
+-#: fortran/trans.c:1150
++#: fortran/trans.c:1151
+ #, gcc-internal-format
+ msgid "gfc_trans_code(): Bad statement code"
+ msgstr "gfc_trans_code():錯誤的敘述程å¼ç¢¼"
+@@ -32781,88 +32817,88 @@
+ msgid "need to insert runtime check for %s"
+ msgstr "需è¦ç‚º %s 加入執行時檢查"
+
+-#: java/expr.c:505 java/expr.c:552
++#: java/expr.c:524 java/expr.c:571
+ #, gcc-internal-format
+ msgid "assert: %s is assign compatible with %s"
+ msgstr "assert:%s 與 %s 賦值相容"
+
+-#: java/expr.c:670
++#: java/expr.c:689
+ #, gcc-internal-format
+ msgid "stack underflow - dup* operation"
+ msgstr "堆疊å‘ä¸‹æº¢ä½ - dup* 作業"
+
+-#: java/expr.c:1657
++#: java/expr.c:1676
+ #, gcc-internal-format
+ msgid "reference %qs is ambiguous: appears in interface %qs and interface %qs"
+ msgstr "åƒç…§ %qs 有歧義:出ç¾åœ¨ä»‹é¢ %qs å’Œä»‹é¢ %qs 中"
+
+-#: java/expr.c:1685
++#: java/expr.c:1704
+ #, gcc-internal-format
+ msgid "field %qs not found"
+ msgstr "找ä¸åˆ°æ¬„ä½ %qs。"
+
+-#: java/expr.c:2224
++#: java/expr.c:2243
+ #, gcc-internal-format
+ msgid "method '%s' not found in class"
+ msgstr "在類別中找ä¸åˆ°æ–¹æ³•ã€Œ%sã€"
+
+-#: java/expr.c:2429
++#: java/expr.c:2448
+ #, gcc-internal-format
+ msgid "failed to find class '%s'"
+ msgstr "找ä¸åˆ°é¡žåˆ¥ã€Œ%sã€"
+
+-#: java/expr.c:2470
++#: java/expr.c:2489
+ #, gcc-internal-format
+ msgid "class '%s' has no method named '%s' matching signature '%s'"
+ msgstr "類別「%sã€æ²’å…·å為「%sã€çš„方法能夠匹é…簽字「%sã€"
+
+-#: java/expr.c:2501
++#: java/expr.c:2520
+ #, gcc-internal-format
+ msgid "invokestatic on non static method"
+ msgstr "éœæ…‹å‘¼å«éžéœæ…‹æ–¹æ³•"
+
+-#: java/expr.c:2506
++#: java/expr.c:2525
+ #, gcc-internal-format
+ msgid "invokestatic on abstract method"
+ msgstr "ç‚ºæŠ½è±¡æ–¹æ³•å‘¼å« invokestatic"
+
+-#: java/expr.c:2514
++#: java/expr.c:2533
+ #, gcc-internal-format
+ msgid "invoke[non-static] on static method"
+ msgstr "éžéœæ…‹åœ°å‘¼å«éœæ…‹æ–¹æ³•"
+
+-#: java/expr.c:2865
++#: java/expr.c:2890
+ #, gcc-internal-format
+ msgid "missing field '%s' in '%s'"
+ msgstr "缺少欄ä½ã€Œ%sã€ï¼Œåœ¨ã€Œ%sã€ä¸­"
+
+-#: java/expr.c:2872
++#: java/expr.c:2897
+ #, gcc-internal-format
+ msgid "mismatching signature for field '%s' in '%s'"
+ msgstr "ä¸åŒ¹é…的欄ä½ç°½å「%sã€(在 「%sã€ä¸­)"
+
+-#: java/expr.c:2901
++#: java/expr.c:2926
+ #, gcc-internal-format
+ msgid "assignment to final field %q+D not in field's class"
+ msgstr "å° final æ¬„ä½ %q+D 的賦值出ç¾åœ¨è©²æ¬„ä½æ‰€å±¬é¡žåˆ¥ä»¥å¤–"
+
+-#: java/expr.c:3123
++#: java/expr.c:3148
+ #, gcc-internal-format
+ msgid "invalid PC in line number table"
+ msgstr "列號表中 PC 無效"
+
+-#: java/expr.c:3173
++#: java/expr.c:3198
+ #, gcc-internal-format
+ msgid "unreachable bytecode from %d to before %d"
+ msgstr "ä¸æœƒåŸ·è¡Œåˆ°çš„ä½å…ƒçµ„碼,從 %d 到 %d 之å‰"
+
+-#: java/expr.c:3217
++#: java/expr.c:3242
+ #, gcc-internal-format
+ msgid "unreachable bytecode from %d to the end of the method"
+ msgstr "ä¸æœƒåŸ·è¡Œåˆ°çš„ä½å…ƒçµ„碼,從 %d 直到方法末尾"
+
+ #. duplicate code from LOAD macro
+-#: java/expr.c:3522
++#: java/expr.c:3547
+ #, gcc-internal-format
+ msgid "unrecogized wide sub-instruction"
+ msgstr "無法辨識的寬å­æŒ‡ä»¤"
+@@ -32928,27 +32964,27 @@
+ msgid "%Hduplicate class will only be compiled once"
+ msgstr "%Hé‡è¤‡çš„類別åªæœƒè¢«ç·¨è­¯ä¸€æ¬¡"
+
+-#: java/jcf-parse.c:1636
++#: java/jcf-parse.c:1638
+ #, gcc-internal-format
+ msgid "missing Code attribute"
+ msgstr "缺少 Code 屬性"
+
+-#: java/jcf-parse.c:1858
++#: java/jcf-parse.c:1860
+ #, gcc-internal-format
+ msgid "no input file specified"
+ msgstr "沒有指定輸入檔案"
+
+-#: java/jcf-parse.c:1893
++#: java/jcf-parse.c:1895
+ #, gcc-internal-format
+ msgid "can't close input file %s: %m"
+ msgstr "ä¸èƒ½é—œé–‰è¼¸å…¥æª”案 %s:%m"
+
+-#: java/jcf-parse.c:1940
++#: java/jcf-parse.c:1942
+ #, gcc-internal-format
+ msgid "bad zip/jar file %s"
+ msgstr "æ壞的 zip/jar 檔案 %s"
+
+-#: java/jcf-parse.c:2145
++#: java/jcf-parse.c:2152
+ #, gcc-internal-format
+ msgid "error while reading %s from zip file"
+ msgstr "從 zip æª”æ¡ˆè®€å– %s 時發生錯誤"
+@@ -32958,22 +32994,22 @@
+ msgid "warning: already-compiled .class files ignored with -C"
+ msgstr "警告:-C 忽略已經編譯的 .class 檔案"
+
+-#: java/lang.c:590
++#: java/lang.c:594
+ #, gcc-internal-format
+ msgid "-findirect-dispatch is incompatible with -freduced-reflection"
+ msgstr ""
+
+-#: java/lang.c:593
++#: java/lang.c:597
+ #, fuzzy, gcc-internal-format
+ msgid "-fjni is incompatible with -freduced-reflection"
+ msgstr "-G 與é è¨­ç”¢ç”Ÿçš„ PIC 程å¼ç¢¼ä¸ç›¸å®¹"
+
+-#: java/lang.c:604
++#: java/lang.c:608
+ #, gcc-internal-format
+ msgid "can't do dependency tracking with input from stdin"
+ msgstr "從標準輸入輸入時無法進行ä¾è³´é …追蹤"
+
+-#: java/lang.c:620
++#: java/lang.c:624
+ #, gcc-internal-format
+ msgid "couldn't determine target name for dependency tracking"
+ msgstr "ä¸èƒ½ç¢ºå®šä¾è³´é …追蹤的目的å"
+@@ -33455,6 +33491,63 @@
+ #~ "%s å‰ç«¯ç¨‹å¼å¯è­˜åˆ¥ä¸‹åˆ—é¸é …:\n"
+ #~ "\n"
+
++#~ msgid "using CONST_DOUBLE for address"
++#~ msgstr "為ä½å€ä½¿ç”¨ CONST_DOUBLE"
++
++#~ msgid "c4x_address_cost: Invalid addressing mode"
++#~ msgstr "c4x_address_cost:無效的定å€æ¨¡å¼"
++
++#~ msgid "c4x_print_operand: %%L inconsistency"
++#~ msgstr "c4x_print_operand:%%L ä¸ä¸€è‡´"
++
++#~ msgid "c4x_print_operand: %%N inconsistency"
++#~ msgstr "c4x_print_operand:%%N ä¸ä¸€è‡´"
++
++#~ msgid "c4x_print_operand: %%O inconsistency"
++#~ msgstr "c4x_print_operand:%%O ä¸ä¸€è‡´"
++
++#~ msgid "c4x_print_operand: Bad operand case"
++#~ msgstr "c4x_print_operand:錯誤的é‹ç®—元類型"
++
++#~ msgid "c4x_print_operand_address: Bad post_modify"
++#~ msgstr "c4x_print_operand_address:錯誤的後變更"
++
++#~ msgid "c4x_print_operand_address: Bad pre_modify"
++#~ msgstr "c4x_print_operand_address:錯誤的å‰è®Šæ›´"
++
++#~ msgid "c4x_print_operand_address: Bad operand case"
++#~ msgstr "c4x_print_operand_address:錯誤的é‹ç®—元類型"
++
++#~ msgid "c4x_rptb_insert: Cannot find start label"
++#~ msgstr "c4x_rptb_insert:找ä¸åˆ°èµ·å§‹æ¨™ç±¤"
++
++#~ msgid "invalid indirect memory address"
++#~ msgstr "無效的間接記憶體ä½å€"
++
++#~ msgid "invalid indirect (S) memory address"
++#~ msgstr "無效的間接(S)記憶體ä½å€"
++
++#~ msgid "c4x_valid_operands: Internal error"
++#~ msgstr "c4x_valid_operands:內部錯誤"
++
++#~ msgid "c4x_operand_subword: invalid mode"
++#~ msgstr "c4x_operand_subword:無效模å¼"
++
++#~ msgid "c4x_operand_subword: invalid operand"
++#~ msgstr "c4x_operand_subword:無效é‹ç®—å…ƒ"
++
++#~ msgid "c4x_operand_subword: invalid autoincrement"
++#~ msgstr "c4x_operand_subword:無效的自差異"
++
++#~ msgid "c4x_operand_subword: invalid address"
++#~ msgstr "c4x_operand_subword:無效ä½å€"
++
++#~ msgid "c4x_operand_subword: address not offsettable"
++#~ msgstr "c4x_operand_subword:無法å–å移é‡çš„ä½å€"
++
++#~ msgid "c4x_rptb_rpts_p: Repeat block top label moved"
++#~ msgstr "c4x_rptb_rpts_p:é‡è¤‡å¡Šçš„頂層標籤被移動"
++
+ #~ msgid "PRINT_OPERAND, invalid insn for %%C"
+ #~ msgstr "PRINT_OPERAND,%%C 的指令無效"
+
+@@ -33485,6 +33578,9 @@
+ #~ msgid "Arithmetic overflow converting %s to %s at %L"
+ #~ msgstr "從 %s 轉æ›åˆ° %s,在 %L 處:算術å‘上溢ä½"
+
++#~ msgid "Missing DIM parameter in intrinsic '%s' at %L"
++#~ msgstr "內建函å¼ã€Œ%sã€åœ¨ %L 處缺少 DIM åƒæ•¸"
++
+ #~ msgid "'%s' argument of '%s' intrinsic at %L must be conformable with '%s' argument"
+ #~ msgstr "引數「%sã€(屬於內建函å¼ã€Œ%sã€ï¼Œä½æ–¼ %L)必須與「%sã€å¼•æ•¸ç›¸å®¹"
+
+@@ -33527,6 +33623,9 @@
+ #~ msgid "Integer too big for its kind at %C"
+ #~ msgstr "%C 處的整數å°å…¶ç¨®åˆ¥ä¾†èªªå¤ªå¤§"
+
++#~ msgid "Expected VARIABLE at %C"
++#~ msgstr "%C è™•éœ€è¦ VARIABLE "
++
+ #~ msgid "Obsolete: REAL DO loop iterator at %L"
+ #~ msgstr "å·²éŽæ™‚:%L 處的 REAL DO 循環游標"
+
+@@ -33685,6 +33784,63 @@
+ #~ msgid "Uninitialized locals in .bss"
+ #~ msgstr ".bss 段中未åˆå§‹åŒ–的局部變數"
+
++#~ msgid "Generate code for C31 CPU"
++#~ msgstr "為 C31 CPU 產生程å¼ç¢¼"
++
++#~ msgid "Generate code for C32 CPU"
++#~ msgstr "為 C32 CPU 產生程å¼ç¢¼"
++
++#~ msgid "Generate code for C33 CPU"
++#~ msgstr "為 C33 CPU 產生程å¼ç¢¼"
++
++#~ msgid "Generate code for C44 CPU"
++#~ msgstr "為 C44 CPU 產生程å¼ç¢¼"
++
++#~ msgid "Assume that pointers may be aliased"
++#~ msgstr "å‡å®šæŒ‡æ¨™å¯èƒ½æœ‰åˆ¥å"
++
++#~ msgid "Big memory model"
++#~ msgstr "大記憶體模型"
++
++#~ msgid "Use the BK register as a general purpose register"
++#~ msgstr "å°‡ BK 暫存器åšç‚ºä¸€å€‹é€šç”¨æš«å­˜å™¨"
++
++#~ msgid "Generate code for CPU"
++#~ msgstr "為 CPU 產生程å¼ç¢¼"
++
++#~ msgid "Enable new features under development"
++#~ msgstr "啟用開發中的新特性"
++
++#~ msgid "Use fast but approximate float to integer conversion"
++#~ msgstr "使用快速但欠精確的浮點ï¼æ•´æ•¸è½‰æ›"
++
++#~ msgid "Pass arguments on the stack"
++#~ msgstr "在堆疊中傳éžåƒæ•¸"
++
++#~ msgid "Use MPYI instruction for C3x"
++#~ msgstr "為 C3x 使用 MPYI 指令"
++
++#~ msgid "Enable parallel instructions"
++#~ msgstr "啟用平行指令"
++
++#~ msgid "Enable MPY||ADD and MPY||SUB instructions"
++#~ msgstr "啟用 MPY||ADD 和 MPY||SUB 指令"
++
++#~ msgid "Preserve all 40 bits of FP reg across call"
++#~ msgstr "跨越呼å«é‚Šç•Œæ™‚ä¿è­‰æµ®é»žæš«å­˜å™¨æ‰€æœ‰çš„ 40 ä½ä¸è®Š"
++
++#~ msgid "Pass arguments in registers"
++#~ msgstr "在暫存器中傳éžåƒæ•¸"
++
++#~ msgid "Enable use of RTPS instruction"
++#~ msgstr "啟用 RTPS 指令集"
++
++#~ msgid "Small memory model"
++#~ msgstr "å°è¨˜æ†¶é«”模型"
++
++#~ msgid "Emit code compatible with TI tools"
++#~ msgstr "產生與 TI 工具相容的程å¼ç¢¼"
++
+ #~ msgid "Use SVR4-style PIC"
+ #~ msgstr "ä¸ä½¿ç”¨ SVR4 風格的 PIC"
+
+@@ -33703,6 +33859,9 @@
+ #~ msgid "Make string literals \"const char[]\" not \"char[]\""
+ #~ msgstr "令字é¢å­—串的類型為「const char[]ã€è€Œä¸æ˜¯ã€Œchar[]ã€"
+
++#~ msgid "Copy memory address constants into registers before use"
++#~ msgstr "使用記憶體ä½å€å¸¸æ•¸å‰å…ˆå°‡å…¶è¤‡è£½åˆ°æš«å­˜å™¨ä¸­"
++
+ #~ msgid "Copy memory operands into registers before use"
+ #~ msgstr "在使用記憶體中的é‹ç®—å…ƒå‰å…ˆå°‡å…¶è¤‡è£½åˆ°æš«å­˜å™¨ä¸­"
+
+@@ -33733,6 +33892,9 @@
+ #~ msgid "GCC does not yet properly implement %<[*]%> array declarators"
+ #~ msgstr "GCC 尚未完全正確地實作 %<[*]%> 陣列宣告"
+
++#~ msgid "static or type qualifiers in abstract declarator"
++#~ msgstr "static 或類型é™å®šç¬¦å‡ºç¾åœ¨æŠ½è±¡å®£å‘Šä¸­"
++
+ #~ msgid "thread-local storage not supported for this target"
+ #~ msgstr "執行緒局部存儲在此目標平臺上ä¸å—支æ´"
+
+@@ -33781,6 +33943,24 @@
+ #~ msgid "internal error"
+ #~ msgstr "內部錯誤"
+
++#~ msgid "missing '(' after '#pragma %s' - ignored"
++#~ msgstr "「#pragma %sã€å¾Œç¼ºå°‘「(〠- 已忽略"
++
++#~ msgid "missing function name in '#pragma %s' - ignored"
++#~ msgstr "「#pragma %sã€ä¸­ç¼ºå°‘函å¼å,忽略"
++
++#~ msgid "malformed '#pragma %s' - ignored"
++#~ msgstr "「#pragma %sã€æ ¼å¼éŒ¯èª¤ - 已忽略"
++
++#~ msgid "missing section name in '#pragma %s' - ignored"
++#~ msgstr "「#pragma %sã€ä¸­ç¼ºå°‘å€æ®µå,忽略"
++
++#~ msgid "missing ')' for '#pragma %s' - ignored"
++#~ msgstr "「#pragma %sã€ç¼ºå°‘「(〠- 已忽略"
++
++#~ msgid "ISR %s requires %d words of local vars, max is 32767"
++#~ msgstr "ISR %s éœ€è¦ %d 字大å°çš„局部變數,最大值為 32767"
++
+ #~ msgid "code model %<large%> not supported yet"
+ #~ msgstr "尚未支æ´ç¨‹å¼ç¢¼æ¨¡å¼ %<large%>"
+
+@@ -33826,6 +34006,9 @@
+ #~ msgid " bytes"
+ #~ msgstr " ä½å…ƒçµ„"
+
++#~ msgid "constant arithmetic operand out of range"
++#~ msgstr "常數算術é‹ç®—元超éŽç¯„åœ"
++
+ #~ msgid "unable to call pointer to member function here"
+ #~ msgstr "無法在這裡呼å«å‡½å¼æˆå“¡æŒ‡æ¨™"
+
+@@ -33916,6 +34099,9 @@
+ #~ msgid "%qD does not declare a template type"
+ #~ msgstr "%qD 沒有宣告一個範本類型"
+
++#~ msgid "used %d template parameter(s) instead of %d"
++#~ msgstr "使用了 %d 個範本åƒæ•¸ï¼Œè€Œä¸æ˜¯ %d 個"
++
+ #~ msgid "%qE is not a valid template argument for type %qT because it is not a constant pointer"
+ #~ msgstr "%qE ä¸æ˜¯é¡žåž‹ %qT 的有效範本引數,因為它ä¸æ˜¯ä¸€å€‹å¸¸æ•¸æŒ‡æ¨™"
+
+Index: gcc/po/el.po
+===================================================================
+--- gcc/po/el.po (.../tags/gcc_4_3_0_release) (revision 133808)
++++ gcc/po/el.po (.../branches/gcc-4_3-branch) (revision 133808)
+@@ -6,7 +6,7 @@
+ msgstr ""
+ "Project-Id-Version: gcc 4.0-b20041128\n"
+ "Report-Msgid-Bugs-To: http://gcc.gnu.org/bugs.html\n"
+-"POT-Creation-Date: 2007-11-08 21:09+0000\n"
++"POT-Creation-Date: 2008-03-05 17:23+0100\n"
+ "PO-Revision-Date: 2004-12-15 18:53+0000\n"
+ "Last-Translator: Simos Xenitellis <simos74@gmx.net>\n"
+ "Language-Team: Greek <nls@tux.hellug.gr>\n"
+@@ -14,7 +14,7 @@
+ "Content-Type: text/plain; charset=utf-8\n"
+ "Content-Transfer-Encoding: 8bit\n"
+
+-#: c-decl.c:3814
++#: c-decl.c:3813
+ #, fuzzy
+ msgid "<anonymous>"
+ msgstr "((ανώνυμο))"
+@@ -299,56 +299,56 @@
+ msgid "End of search list.\n"
+ msgstr "Τέλος τμήματος"
+
+-#: c-opts.c:1484
++#: c-opts.c:1505
+ msgid "<built-in>"
+ msgstr ""
+
+-#: c-opts.c:1502
++#: c-opts.c:1523
+ msgid "<command-line>"
+ msgstr ""
+
+-#: c-typeck.c:2448 c-typeck.c:4851 c-typeck.c:4853 c-typeck.c:4861
+-#: c-typeck.c:4891 c-typeck.c:6267
++#: c-typeck.c:2459 c-typeck.c:4862 c-typeck.c:4864 c-typeck.c:4872
++#: c-typeck.c:4902 c-typeck.c:6278
+ #, fuzzy
+ msgid "initializer element is not constant"
+ msgstr "μη τεÏματιζμένο αλφαÏιθμητικό σταθεÏάς"
+
+-#: c-typeck.c:4654
++#: c-typeck.c:4665
+ #, fuzzy
+ msgid "array initialized from parenthesized string constant"
+ msgstr "μη τεÏματιζμένο αλφαÏιθμητικό σταθεÏάς"
+
+-#: c-typeck.c:4715 cp/typeck2.c:677
++#: c-typeck.c:4726 cp/typeck2.c:677
+ #, gcc-internal-format
+ msgid "char-array initialized from wide string"
+ msgstr ""
+
+-#: c-typeck.c:4720
++#: c-typeck.c:4731
+ #, fuzzy
+ msgid "wchar_t-array initialized from non-wide string"
+ msgstr "Η αλυσίδα μοÏφής δεν είναι έγκυÏη: `%s'"
+
+-#: c-typeck.c:4738 cp/typeck2.c:697
++#: c-typeck.c:4749 cp/typeck2.c:697
+ #, gcc-internal-format
+ msgid "initializer-string for array of chars is too long"
+ msgstr ""
+
+-#: c-typeck.c:4744
++#: c-typeck.c:4755
+ msgid "array of inappropriate type initialized from string constant"
+ msgstr ""
+
+ #. ??? This should not be an error when inlining calls to
+ #. unprototyped functions.
+-#: c-typeck.c:4808 c-typeck.c:4333 cp/typeck.c:1528
++#: c-typeck.c:4819 c-typeck.c:4344 cp/typeck.c:1574
+ #, fuzzy, gcc-internal-format
+ msgid "invalid use of non-lvalue array"
+ msgstr "μη έγκυÏη ÏŽÏα της μέÏας"
+
+-#: c-typeck.c:4834
++#: c-typeck.c:4845
+ msgid "array initialized from non-constant array expression"
+ msgstr ""
+
+-#: c-typeck.c:4898 c-typeck.c:6271
++#: c-typeck.c:4909 c-typeck.c:6282
+ #, gcc-internal-format
+ msgid "initializer element is not computable at load time"
+ msgstr ""
+@@ -357,145 +357,145 @@
+ #. of VLAs themselves count as VLAs, it does not make
+ #. sense to permit them to be initialized given that
+ #. ordinary VLAs may not be initialized.
+-#: c-typeck.c:4909 c-decl.c:3222 c-decl.c:3237
++#: c-typeck.c:4920 c-decl.c:3220 c-decl.c:3235
+ #, gcc-internal-format
+ msgid "variable-sized object may not be initialized"
+ msgstr ""
+
+-#: c-typeck.c:4913
++#: c-typeck.c:4924
+ #, fuzzy
+ msgid "invalid initializer"
+ msgstr "μη έγκυÏο μέγεθος οÏιζόντιου στηλοθέτη: %s"
+
+-#: c-typeck.c:5387
++#: c-typeck.c:5398
+ #, fuzzy
+ msgid "extra brace group at end of initializer"
+ msgstr "ακολουθοÏν σκουπίδια στο τέλος της γÏαμμής"
+
+-#: c-typeck.c:5407
++#: c-typeck.c:5418
+ msgid "missing braces around initializer"
+ msgstr ""
+
+-#: c-typeck.c:5468
++#: c-typeck.c:5479
+ msgid "braces around scalar initializer"
+ msgstr ""
+
+-#: c-typeck.c:5525
++#: c-typeck.c:5536
+ msgid "initialization of flexible array member in a nested context"
+ msgstr ""
+
+-#: c-typeck.c:5527
++#: c-typeck.c:5538
+ msgid "initialization of a flexible array member"
+ msgstr ""
+
+-#: c-typeck.c:5554
++#: c-typeck.c:5565
+ #, fuzzy
+ msgid "missing initializer"
+ msgstr "έχει παÏαληφθεί το αÏχείο Ï€ÏοοÏισμοÏ"
+
+-#: c-typeck.c:5576
++#: c-typeck.c:5587
+ msgid "empty scalar initializer"
+ msgstr ""
+
+-#: c-typeck.c:5581
++#: c-typeck.c:5592
+ msgid "extra elements in scalar initializer"
+ msgstr ""
+
+-#: c-typeck.c:5678 c-typeck.c:5738
++#: c-typeck.c:5689 c-typeck.c:5749
+ msgid "array index in non-array initializer"
+ msgstr ""
+
+-#: c-typeck.c:5683 c-typeck.c:5791
++#: c-typeck.c:5694 c-typeck.c:5802
+ msgid "field name not in record or union initializer"
+ msgstr ""
+
+-#: c-typeck.c:5729
++#: c-typeck.c:5740
+ msgid "array index in initializer not of integer type"
+ msgstr ""
+
+-#: c-typeck.c:5734 c-typeck.c:5736
++#: c-typeck.c:5745 c-typeck.c:5747
+ msgid "nonconstant array index in initializer"
+ msgstr ""
+
+-#: c-typeck.c:5740 c-typeck.c:5743
++#: c-typeck.c:5751 c-typeck.c:5754
+ msgid "array index in initializer exceeds array bounds"
+ msgstr ""
+
+-#: c-typeck.c:5754
++#: c-typeck.c:5765
+ msgid "empty index range in initializer"
+ msgstr ""
+
+-#: c-typeck.c:5763
++#: c-typeck.c:5774
+ msgid "array index range in initializer exceeds array bounds"
+ msgstr ""
+
+-#: c-typeck.c:5838 c-typeck.c:5861 c-typeck.c:6335
++#: c-typeck.c:5849 c-typeck.c:5872 c-typeck.c:6346
+ msgid "initialized field with side-effects overwritten"
+ msgstr ""
+
+-#: c-typeck.c:5840 c-typeck.c:5863 c-typeck.c:6337
++#: c-typeck.c:5851 c-typeck.c:5874 c-typeck.c:6348
+ msgid "initialized field overwritten"
+ msgstr ""
+
+-#: c-typeck.c:6545
++#: c-typeck.c:6556
+ msgid "excess elements in char array initializer"
+ msgstr ""
+
+-#: c-typeck.c:6552 c-typeck.c:6598
++#: c-typeck.c:6563 c-typeck.c:6609
+ msgid "excess elements in struct initializer"
+ msgstr ""
+
+-#: c-typeck.c:6613
++#: c-typeck.c:6624
+ msgid "non-static initialization of a flexible array member"
+ msgstr ""
+
+-#: c-typeck.c:6681
++#: c-typeck.c:6692
+ msgid "excess elements in union initializer"
+ msgstr ""
+
+-#: c-typeck.c:6768
++#: c-typeck.c:6779
+ msgid "excess elements in array initializer"
+ msgstr ""
+
+-#: c-typeck.c:6798
++#: c-typeck.c:6809
+ msgid "excess elements in vector initializer"
+ msgstr ""
+
+-#: c-typeck.c:6822
++#: c-typeck.c:6833
+ msgid "excess elements in scalar initializer"
+ msgstr ""
+
+-#: cfgrtl.c:1925
++#: cfgrtl.c:1923
+ msgid "flow control insn inside a basic block"
+ msgstr ""
+
+-#: cfgrtl.c:2054
++#: cfgrtl.c:2052
+ msgid "wrong insn in the fallthru edge"
+ msgstr ""
+
+-#: cfgrtl.c:2110
++#: cfgrtl.c:2108
+ msgid "insn outside basic block"
+ msgstr ""
+
+-#: cfgrtl.c:2117
++#: cfgrtl.c:2115
+ msgid "return not followed by barrier"
+ msgstr ""
+
+-#: cgraph.c:339 ipa-inline.c:417
++#: cgraph.c:340 ipa-inline.c:417
+ #, fuzzy
+ msgid "function body not available"
+ msgstr "Η λειτουÏγία δεν έχει υλοποιηθεί"
+
+-#: cgraph.c:341 cgraphbuild.c:96
++#: cgraph.c:342 cgraphbuild.c:96
+ msgid "redefined extern inline functions are not considered for inlining"
+ msgstr ""
+
+-#: cgraph.c:344 cgraphbuild.c:103
++#: cgraph.c:345 cgraphbuild.c:103
+ #, fuzzy
+ msgid "function not considered for inlining"
+ msgstr "Η λειτουÏγία δεν έχει υλοποιηθεί"
+
+-#: cgraph.c:346 cgraphbuild.c:99
++#: cgraph.c:347 cgraphbuild.c:99
+ #, fuzzy
+ msgid "function not inlinable"
+ msgstr "Η λειτουÏγία δεν έχει υλοποιηθεί"
+@@ -505,148 +505,148 @@
+ msgid "mismatched arguments"
+ msgstr "Μη έγκυÏη παÏάμετÏος"
+
+-#: collect2.c:378 gcc.c:6897
++#: collect2.c:382 gcc.c:6896
+ #, fuzzy, c-format
+ msgid "internal gcc abort in %s, at %s:%d"
+ msgstr "εσωτεÏικό σφάλμα στο %s, γÏαμμή %u"
+
+-#: collect2.c:889
++#: collect2.c:903
+ #, c-format
+ msgid "no arguments"
+ msgstr "χωÏίς οÏίσματα"
+
+ # src/getopt1.c:132
+ # src/getopt1.c:132
+-#: collect2.c:1263 collect2.c:1411 collect2.c:1446
++#: collect2.c:1277 collect2.c:1425 collect2.c:1460
+ #, c-format
+ msgid "fopen %s"
+ msgstr "fopen %s"
+
+-#: collect2.c:1266 collect2.c:1416 collect2.c:1449
++#: collect2.c:1280 collect2.c:1430 collect2.c:1463
+ #, c-format
+ msgid "fclose %s"
+ msgstr "fclose %s"
+
+-#: collect2.c:1275
++#: collect2.c:1289
+ #, c-format
+ msgid "collect2 version %s"
+ msgstr ""
+
+-#: collect2.c:1365
++#: collect2.c:1379
+ #, c-format
+ msgid "%d constructor(s) found\n"
+ msgstr ""
+
+-#: collect2.c:1366
++#: collect2.c:1380
+ #, c-format
+ msgid "%d destructor(s) found\n"
+ msgstr ""
+
+-#: collect2.c:1367
++#: collect2.c:1381
+ #, c-format
+ msgid "%d frame table(s) found\n"
+ msgstr ""
+
+-#: collect2.c:1504
++#: collect2.c:1518
+ #, fuzzy, c-format
+ msgid "can't get program status"
+ msgstr "%s: αδυναμία Ï€Ïόσβασης στο %s: %s\n"
+
+-#: collect2.c:1573
++#: collect2.c:1587
+ #, fuzzy, c-format
+ msgid "could not open response file %s"
+ msgstr "Δεν μπόÏεσα να ανοίξω το αÏχείο %s"
+
+-#: collect2.c:1578
++#: collect2.c:1592
+ #, fuzzy, c-format
+ msgid "could not write to response file %s"
+ msgstr "Δεν μπόÏεσα να ανοίξω το αÏχείο %s"
+
+-#: collect2.c:1583
++#: collect2.c:1597
+ #, fuzzy, c-format
+ msgid "could not close response file %s"
+ msgstr "Δεν μπόÏεσα να ανοίξω το αÏχείο %s"
+
+-#: collect2.c:1601
++#: collect2.c:1615
+ #, fuzzy, c-format
+ msgid "[cannot find %s]"
+ msgstr "Δεν είναι δυνατόν να εκτελεστεί το %s"
+
+-#: collect2.c:1616
++#: collect2.c:1630
+ #, fuzzy, c-format
+ msgid "cannot find '%s'"
+ msgstr "αδυναμία ανοίγματος του `%s'"
+
+-#: collect2.c:1620 collect2.c:2112 collect2.c:2267 gcc.c:2978
++#: collect2.c:1634 collect2.c:2126 collect2.c:2281 gcc.c:2974
+ #, c-format
+ msgid "pex_init failed"
+ msgstr ""
+
+-#: collect2.c:1658
++#: collect2.c:1672
+ #, fuzzy, c-format
+ msgid "[Leaving %s]\n"
+ msgstr "διαγÏαφή καταλόγου %s\n"
+
+-#: collect2.c:1878
++#: collect2.c:1892
+ #, c-format
+ msgid ""
+ "\n"
+ "write_c_file - output name is %s, prefix is %s\n"
+ msgstr ""
+
+-#: collect2.c:2086
++#: collect2.c:2100
+ #, fuzzy, c-format
+ msgid "cannot find 'nm'"
+ msgstr "αδυναμία ανοίγματος του `%s'"
+
+-#: collect2.c:2133
++#: collect2.c:2147
+ #, fuzzy, c-format
+ msgid "can't open nm output"
+ msgstr "αδυναμία ανοίγματος αÏχείου εξόδου `%s'"
+
+-#: collect2.c:2177
++#: collect2.c:2191
+ #, c-format
+ msgid "init function found in object %s"
+ msgstr ""
+
+-#: collect2.c:2185
++#: collect2.c:2199
+ #, c-format
+ msgid "fini function found in object %s"
+ msgstr ""
+
+-#: collect2.c:2288
++#: collect2.c:2302
+ #, fuzzy, c-format
+ msgid "can't open ldd output"
+ msgstr "αδυναμία ανοίγματος αÏχείου εξόδου `%s'"
+
+-#: collect2.c:2291
++#: collect2.c:2305
+ #, c-format
+ msgid ""
+ "\n"
+ "ldd output with constructors/destructors.\n"
+ msgstr ""
+
+-#: collect2.c:2306
++#: collect2.c:2320
+ #, c-format
+ msgid "dynamic dependency %s not found"
+ msgstr ""
+
+-#: collect2.c:2318
++#: collect2.c:2332
+ #, c-format
+ msgid "unable to open dynamic dependency '%s'"
+ msgstr ""
+
+-#: collect2.c:2474
++#: collect2.c:2488
+ #, fuzzy, c-format
+ msgid "%s: not a COFF file"
+ msgstr "%s: Δεν είναι κανονικό αÏχείο"
+
+-#: collect2.c:2594
++#: collect2.c:2608
+ #, fuzzy, c-format
+ msgid "%s: cannot open as COFF file"
+ msgstr "αδυναμία ανοίγματος αÏχείου εξόδου"
+
+-#: collect2.c:2652
++#: collect2.c:2666
+ #, fuzzy, c-format
+ msgid "library lib%s not found"
+ msgstr "Πιθανόν δε βÏέθηκε"
+@@ -693,42 +693,42 @@
+ msgid "negative insn length"
+ msgstr ""
+
+-#: final.c:2609
++#: final.c:2615
+ #, fuzzy
+ msgid "could not split insn"
+ msgstr "αδυναμία εÏÏεσης βÏόχου"
+
+-#: final.c:2979
++#: final.c:2992
+ #, fuzzy
+ msgid "invalid 'asm': "
+ msgstr "μη έγκυÏο μέγεθος οÏιζόντιου στηλοθέτη: %s"
+
+-#: final.c:3162
++#: final.c:3175
+ #, c-format
+ msgid "nested assembly dialect alternatives"
+ msgstr ""
+
+-#: final.c:3179 final.c:3191
++#: final.c:3192 final.c:3204
+ #, fuzzy, c-format
+ msgid "unterminated assembly dialect alternative"
+ msgstr "μη τεÏματιζόμενο συμβολικό όνομα"
+
+-#: final.c:3238
++#: final.c:3251
+ #, fuzzy, c-format
+ msgid "operand number missing after %%-letter"
+ msgstr "οÏισμός δικαιωμάτων στο %s"
+
+-#: final.c:3241 final.c:3282
++#: final.c:3254 final.c:3295
+ #, fuzzy, c-format
+ msgid "operand number out of range"
+ msgstr "Ο αÏιθμός σÏνδεσμου είναι έξω από το ÏŒÏιο"
+
+-#: final.c:3301
++#: final.c:3314
+ #, fuzzy, c-format
+ msgid "invalid %%-code"
+ msgstr "μη έγκυÏο δικαίωμα"
+
+-#: final.c:3331
++#: final.c:3344
+ #, c-format
+ msgid "'%%l' operand isn't a label"
+ msgstr ""
+@@ -739,13 +739,13 @@
+ #. handle them.
+ #. We can't handle floating point constants;
+ #. PRINT_OPERAND must handle them.
+-#: final.c:3433 vmsdbgout.c:487 config/i386/i386.c:8143
++#: final.c:3446 vmsdbgout.c:487 config/i386/i386.c:8198
+ #: config/pdp11/pdp11.c:1704
+ #, c-format
+ msgid "floating constant misused"
+ msgstr ""
+
+-#: final.c:3493 vmsdbgout.c:544 config/i386/i386.c:8224
++#: final.c:3507 vmsdbgout.c:544 config/i386/i386.c:8279
+ #: config/pdp11/pdp11.c:1751
+ #, fuzzy, c-format
+ msgid "invalid expression as operand"
+@@ -756,86 +756,86 @@
+ msgid "Using built-in specs.\n"
+ msgstr ""
+
+-#: gcc.c:1887
++#: gcc.c:1883
+ #, fuzzy, c-format
+ msgid ""
+ "Setting spec %s to '%s'\n"
+ "\n"
+ msgstr "δημιουÏγία %s %s στο %s"
+
+-#: gcc.c:2002
++#: gcc.c:1998
+ #, c-format
+ msgid "Reading specs from %s\n"
+ msgstr ""
+
+-#: gcc.c:2098 gcc.c:2117
++#: gcc.c:2094 gcc.c:2113
+ #, c-format
+ msgid "specs %%include syntax malformed after %ld characters"
+ msgstr ""
+
+-#: gcc.c:2125
++#: gcc.c:2121
+ #, fuzzy, c-format
+ msgid "could not find specs file %s\n"
+ msgstr "Δεν μπόÏεσα να ανοίξω το αÏχείο %s"
+
+-#: gcc.c:2142 gcc.c:2150 gcc.c:2159 gcc.c:2168
++#: gcc.c:2138 gcc.c:2146 gcc.c:2155 gcc.c:2164
+ #, c-format
+ msgid "specs %%rename syntax malformed after %ld characters"
+ msgstr ""
+
+-#: gcc.c:2177
++#: gcc.c:2173
+ #, c-format
+ msgid "specs %s spec was not found to be renamed"
+ msgstr ""
+
+-#: gcc.c:2184
++#: gcc.c:2180
+ #, c-format
+ msgid "%s: attempt to rename spec '%s' to already defined spec '%s'"
+ msgstr ""
+
+-#: gcc.c:2189
++#: gcc.c:2185
+ #, fuzzy, c-format
+ msgid "rename spec %s to %s\n"
+ msgstr "δημιουÏγία %s %s στο %s"
+
+-#: gcc.c:2191
++#: gcc.c:2187
+ #, c-format
+ msgid ""
+ "spec is '%s'\n"
+ "\n"
+ msgstr ""
+
+-#: gcc.c:2204
++#: gcc.c:2200
+ #, fuzzy, c-format
+ msgid "specs unknown %% command after %ld characters"
+ msgstr "λίστα με όλα τα γνωστά σÏνολα χαÏακτήÏων"
+
+-#: gcc.c:2215 gcc.c:2228
++#: gcc.c:2211 gcc.c:2224
+ #, c-format
+ msgid "specs file malformed after %ld characters"
+ msgstr ""
+
+-#: gcc.c:2281
++#: gcc.c:2277
+ #, c-format
+ msgid "spec file has no spec for linking"
+ msgstr ""
+
+-#: gcc.c:2609 gcc.c:4751
++#: gcc.c:2605 gcc.c:4745
+ #, c-format
+ msgid "%s\n"
+ msgstr ""
+
+-#: gcc.c:2809
++#: gcc.c:2805
+ #, c-format
+ msgid "system path '%s' is not absolute"
+ msgstr ""
+
+-#: gcc.c:2872
++#: gcc.c:2868
+ #, c-format
+ msgid "-pipe not supported"
+ msgstr "το -pipe δεν υποστηÏίζεται"
+
+-#: gcc.c:2934
++#: gcc.c:2930
+ #, c-format
+ msgid ""
+ "\n"
+@@ -844,16 +844,16 @@
+ "\n"
+ "Îα συνεχίσετε; (y ή n) "
+
+-#: gcc.c:3017
++#: gcc.c:3013
+ #, fuzzy
+ msgid "failed to get exit status"
+ msgstr "η ld επέστÏεψε κατάσταση εξόδου %d"
+
+-#: gcc.c:3023
++#: gcc.c:3019
+ msgid "failed to get process times"
+ msgstr ""
+
+-#: gcc.c:3049
++#: gcc.c:3045
+ #, c-format
+ msgid ""
+ "Internal error: %s (program %s)\n"
+@@ -861,78 +861,78 @@
+ "See %s for instructions."
+ msgstr ""
+
+-#: gcc.c:3075
++#: gcc.c:3071
+ #, c-format
+ msgid "# %s %.2f %.2f\n"
+ msgstr "# %s %.2f %.2f\n"
+
+-#: gcc.c:3211
++#: gcc.c:3205
+ #, c-format
+ msgid "Usage: %s [options] file...\n"
+ msgstr "χÏήση: %s [επιλογές] αÏχείο...\n"
+
+-#: gcc.c:3212
++#: gcc.c:3206
+ msgid "Options:\n"
+ msgstr "Επιλογές:\n"
+
+-#: gcc.c:3214
++#: gcc.c:3208
+ msgid " -pass-exit-codes Exit with highest error code from a phase\n"
+ msgstr " -pass-exit-codes Έξοδος με το υψηλότεÏο κωδικό σφάλματος της φάσης\n"
+
+-#: gcc.c:3215
++#: gcc.c:3209
+ msgid " --help Display this information\n"
+ msgstr " --help Εμφάνιση αυτών των πληÏοφοÏιών\n"
+
+-#: gcc.c:3216
++#: gcc.c:3210
+ msgid " --target-help Display target specific command line options\n"
+ msgstr " --target-help Εμφάνιση επιλογές γÏαμμών εντολής σχετικές με το στόχο\n"
+
+-#: gcc.c:3217
++#: gcc.c:3211
+ msgid " --help={target|optimizers|warnings|undocumented|params}[,{[^]joined|[^]separate}]\n"
+ msgstr ""
+
+-#: gcc.c:3218
++#: gcc.c:3212
+ #, fuzzy
+ msgid " Display specific types of command line options\n"
+ msgstr " --target-help Εμφάνιση επιλογές γÏαμμών εντολής σχετικές με το στόχο\n"
+
+-#: gcc.c:3220
++#: gcc.c:3214
+ msgid " (Use '-v --help' to display command line options of sub-processes)\n"
+ msgstr " (ΧÏήση '-v --help' για την εμφάνιση επιλογών γÏαμμής εντολής υποδιεÏγασιών)\n"
+
+-#: gcc.c:3221
++#: gcc.c:3215
+ msgid " -dumpspecs Display all of the built in spec strings\n"
+ msgstr " -dumpspecs Εμφάνιση όλων των Ï€ÏοκαθοÏισμένων αλφαÏιθμητικών των Ï€ÏοσδιοÏισμών\n"
+
+-#: gcc.c:3222
++#: gcc.c:3216
+ msgid " -dumpversion Display the version of the compiler\n"
+ msgstr " -dumpversion Εμφάνιση της έκδοσης του μεταγλωττιστή\n"
+
+-#: gcc.c:3223
++#: gcc.c:3217
+ msgid " -dumpmachine Display the compiler's target processor\n"
+ msgstr " -dumpmachine Εμφάνιση του επεξεÏγαστή στόχου του μεταγλωττιστή\n"
+
+-#: gcc.c:3224
++#: gcc.c:3218
+ msgid " -print-search-dirs Display the directories in the compiler's search path\n"
+ msgstr " -print-search-dirs Εμφάνιση των καταλόγων στις διαδÏομές αναζήτησης του μεταγλωττιστή\n"
+
+-#: gcc.c:3225
++#: gcc.c:3219
+ msgid " -print-libgcc-file-name Display the name of the compiler's companion library\n"
+ msgstr " -print-libgcc-file-name Εμφάνιση του ονόματος της συνοδευτικής βιβλιοθήκης του μεταγλωττιστή\n"
+
+-#: gcc.c:3226
++#: gcc.c:3220
+ msgid " -print-file-name=<lib> Display the full path to library <lib>\n"
+ msgstr " -print-file-name=<βιβλιοθ> Εμφάνιση της πλήÏης διαδÏομής στη βιβλιοθήκη <βιβλιοθ>\n"
+
+-#: gcc.c:3227
++#: gcc.c:3221
+ msgid " -print-prog-name=<prog> Display the full path to compiler component <prog>\n"
+ msgstr " -print-prog-name=<Ï€ÏόγÏ> Εμφάνιση της πλήÏης διαδÏομής στο συστατικό μεταγλωττιστή <Ï€ÏόγÏ>\n"
+
+-#: gcc.c:3228
++#: gcc.c:3222
+ msgid " -print-multi-directory Display the root directory for versions of libgcc\n"
+ msgstr " -print-multi-directory Εμφάνιση του ÏÎ¹Î¶Î¹ÎºÎ¿Ï ÎºÎ±Ï„Î±Î»ÏŒÎ³Î¿Ï… για εκδόσεις της libgcc\n"
+
+-#: gcc.c:3229
++#: gcc.c:3223
+ msgid ""
+ " -print-multi-lib Display the mapping between command line options and\n"
+ " multiple library search directories\n"
+@@ -941,111 +941,111 @@
+ " εντολής και καταλόγων αναζήτησης πολλαπλών\n"
+ " βιβλιοθηκών\n"
+
+-#: gcc.c:3232
++#: gcc.c:3226
+ #, fuzzy
+ msgid " -print-multi-os-directory Display the relative path to OS libraries\n"
+ msgstr " -print-multi-directory Εμφάνιση του ÏÎ¹Î¶Î¹ÎºÎ¿Ï ÎºÎ±Ï„Î±Î»ÏŒÎ³Î¿Ï… για εκδόσεις της libgcc\n"
+
+-#: gcc.c:3233
++#: gcc.c:3227
+ msgid " -print-sysroot-headers-suffix Display the sysroot suffix used to find headers\n"
+ msgstr ""
+
+-#: gcc.c:3234
++#: gcc.c:3228
+ msgid " -Wa,<options> Pass comma-separated <options> on to the assembler\n"
+ msgstr " -Wa,<επιλογές> ΠέÏασμα <επιλογών> διαχωÏισμένων με κόμμα στο συναÏμολογητή\n"
+
+-#: gcc.c:3235
++#: gcc.c:3229
+ msgid " -Wp,<options> Pass comma-separated <options> on to the preprocessor\n"
+ msgstr " -Wp,<επιλογές> ΠέÏασμα <επιλογών> διαχωÏισμένων με κόμμα στον Ï€Ïο-επεξεÏγαστή\n"
+
+-#: gcc.c:3236
++#: gcc.c:3230
+ msgid " -Wl,<options> Pass comma-separated <options> on to the linker\n"
+ msgstr " -Wl,<επιλογές> ΠέÏασμα <επιλογών> διαχωÏισμένων με κόμμα στο συνδέτη\n"
+
+-#: gcc.c:3237
++#: gcc.c:3231
+ #, fuzzy
+ msgid " -Xassembler <arg> Pass <arg> on to the assembler\n"
+ msgstr " -Xlinker <ÏŒÏισμα> ΠέÏασμα <οÏίσματος> στο συνδέτη\n"
+
+-#: gcc.c:3238
++#: gcc.c:3232
+ #, fuzzy
+ msgid " -Xpreprocessor <arg> Pass <arg> on to the preprocessor\n"
+ msgstr " -Xlinker <ÏŒÏισμα> ΠέÏασμα <οÏίσματος> στο συνδέτη\n"
+
+-#: gcc.c:3239
++#: gcc.c:3233
+ msgid " -Xlinker <arg> Pass <arg> on to the linker\n"
+ msgstr " -Xlinker <ÏŒÏισμα> ΠέÏασμα <οÏίσματος> στο συνδέτη\n"
+
+-#: gcc.c:3240
++#: gcc.c:3234
+ #, fuzzy
+ msgid " -combine Pass multiple source files to compiler at once\n"
+ msgstr " -o <αÏχείο> Τοποθέτηση της εξόδου στο <αÏχείο>\n"
+
+-#: gcc.c:3241
++#: gcc.c:3235
+ msgid " -save-temps Do not delete intermediate files\n"
+ msgstr " -save-temps Îα μη διαγÏαφοÏν τα ενδιάμεσα αÏχεία\n"
+
+-#: gcc.c:3242
++#: gcc.c:3236
+ msgid " -pipe Use pipes rather than intermediate files\n"
+ msgstr " -pipe ΧÏήση σωληνώσεων αντί ενδιάμεσων αÏχείων\n"
+
+-#: gcc.c:3243
++#: gcc.c:3237
+ msgid " -time Time the execution of each subprocess\n"
+ msgstr " -time ΜέτÏηση του χÏόνου εκτέλεσης κάθε υποδιεÏγασίας\n"
+
+-#: gcc.c:3244
++#: gcc.c:3238
+ msgid " -specs=<file> Override built-in specs with the contents of <file>\n"
+ msgstr " -specs=<αÏχείο> ΧÏήση του πεÏιεχομένου του <αÏχείου> αντί των Ï€ÏοκαθοÏισμένων Ï€ÏοσδιοÏισμών\n"
+
+-#: gcc.c:3245
++#: gcc.c:3239
+ msgid " -std=<standard> Assume that the input sources are for <standard>\n"
+ msgstr ""
+ " -std=<Ï€Ïότυπο> ΘεώÏησε ότι οι πηγές κώδικα είναι για το <Ï€Ïότυπο>\n"
+ "\n"
+
+-#: gcc.c:3246
++#: gcc.c:3240
+ msgid ""
+ " --sysroot=<directory> Use <directory> as the root directory for headers\n"
+ " and libraries\n"
+ msgstr ""
+
+-#: gcc.c:3249
++#: gcc.c:3243
+ msgid " -B <directory> Add <directory> to the compiler's search paths\n"
+ msgstr " -B <κατάλογος> ΠÏοσθήκη του <καταλόγου> στις διαδÏομές αναζήτησης του μεταγλωττιστή\n"
+
+-#: gcc.c:3250
++#: gcc.c:3244
+ msgid " -b <machine> Run gcc for target <machine>, if installed\n"
+ msgstr " -b <μηχανή> Εκτέλεση του gcc για το στόχο <μηχανή>, αν είναι εγκατεστημένος\n"
+
+-#: gcc.c:3251
++#: gcc.c:3245
+ msgid " -V <version> Run gcc version number <version>, if installed\n"
+ msgstr " -V <έκδοση> Εκτέλεση της έκδοσης <έκδοση> του gcc, αν είναι εγκατεστημένη\n"
+
+-#: gcc.c:3252
++#: gcc.c:3246
+ msgid " -v Display the programs invoked by the compiler\n"
+ msgstr " -v Εμφάνιση των Ï€ÏογÏαμμάτων που καλεί ο μεταγλωττιστής\n"
+
+-#: gcc.c:3253
++#: gcc.c:3247
+ msgid " -### Like -v but options quoted and commands not executed\n"
+ msgstr ""
+
+-#: gcc.c:3254
++#: gcc.c:3248
+ msgid " -E Preprocess only; do not compile, assemble or link\n"
+ msgstr " -E ΠÏοεπεξεÏγασία μόνο· όχι μεταγλώττιση, συναÏμολόγηση ή σÏνδεση\n"
+
+-#: gcc.c:3255
++#: gcc.c:3249
+ msgid " -S Compile only; do not assemble or link\n"
+ msgstr " -S Μεταγλώττιση μόνο· όχι συναÏμολόγηση ήσÏνδεση\n"
+
+-#: gcc.c:3256
++#: gcc.c:3250
+ msgid " -c Compile and assemble, but do not link\n"
+ msgstr " -c Μεταγλώττιση και συναÏμολόγηση, όχιόμως σÏνδεση\n"
+
+-#: gcc.c:3257
++#: gcc.c:3251
+ msgid " -o <file> Place the output into <file>\n"
+ msgstr " -o <αÏχείο> Τοποθέτηση της εξόδου στο <αÏχείο>\n"
+
+-#: gcc.c:3258
++#: gcc.c:3252
+ #, fuzzy
+ msgid ""
+ " -x <language> Specify the language of the following input files\n"
+@@ -1059,7 +1059,7 @@
+ " συμπεÏιφοÏά εÏÏεσης της γλώσσας βάσει της επέκτασης\n"
+ " του αÏχείου\n"
+
+-#: gcc.c:3265
++#: gcc.c:3259
+ #, c-format
+ msgid ""
+ "\n"
+@@ -1073,29 +1073,29 @@
+ " επιλογές σε αυτές τις διεÏγασίες, Ï€Ïέπει να χÏησιμοποιήσετε τις επιλογές\n"
+ " -W<γÏάμμα>.\n"
+
+-#: gcc.c:3389
++#: gcc.c:3383
+ #, fuzzy, c-format
+ msgid "'-%c' option must have argument"
+ msgstr "παÏάληψη οÏίσματος αÏχείου"
+
+-#: gcc.c:3411
++#: gcc.c:3405
+ #, c-format
+ msgid "couldn't run '%s': %s"
+ msgstr ""
+
+ # src/request.c:37
+ #. translate_options () has turned --version into -fversion.
+-#: gcc.c:3612
++#: gcc.c:3606
+ #, fuzzy, c-format
+ msgid "%s %s%s\n"
+ msgstr "%s: %s"
+
+-#: gcc.c:3615 gcov.c:426 fortran/gfortranspec.c:380 java/jcf-dump.c:1168
++#: gcc.c:3609 gcov.c:427 fortran/gfortranspec.c:380 java/jcf-dump.c:1168
+ msgid "(C)"
+ msgstr ""
+
+ # src/main.c:850
+-#: gcc.c:3616 java/jcf-dump.c:1169
++#: gcc.c:3610 java/jcf-dump.c:1169
+ #, fuzzy, c-format
+ msgid ""
+ "This is free software; see the source for copying conditions. There is NO\n"
+@@ -1106,160 +1106,160 @@
+ "αντιγÏαφής. Δεν υπάÏχει ΚΑΜΙΑ εγγÏηση· οÏτε ακόμα για ΛΕΙΤΟΥΡΓΙΚΟΤΗΤΑ ή \n"
+ "ΚΑΤΑΛΛΗΛΟΤΗΤΑ ΓΙΑ ΕÎΑ ΣΥΓΚΕΚΡΙΜΕÎΟ ΣΚΟΠΟ.\n"
+
+-#: gcc.c:3728
++#: gcc.c:3722
+ #, fuzzy, c-format
+ msgid "argument to '-Xlinker' is missing"
+ msgstr "έχουν παÏαληφθεί οÏίσματα"
+
+-#: gcc.c:3736
++#: gcc.c:3730
+ #, fuzzy, c-format
+ msgid "argument to '-Xpreprocessor' is missing"
+ msgstr "έχουν παÏαληφθεί οÏίσματα"
+
+-#: gcc.c:3743
++#: gcc.c:3737
+ #, fuzzy, c-format
+ msgid "argument to '-Xassembler' is missing"
+ msgstr "έχουν παÏαληφθεί οÏίσματα"
+
+-#: gcc.c:3750
++#: gcc.c:3744
+ #, fuzzy, c-format
+ msgid "argument to '-l' is missing"
+ msgstr "έχουν παÏαληφθεί οÏίσματα"
+
+-#: gcc.c:3771
++#: gcc.c:3765
+ #, fuzzy, c-format
+ msgid "argument to '-specs' is missing"
+ msgstr "έχουν παÏαληφθεί οÏίσματα"
+
+-#: gcc.c:3785
++#: gcc.c:3779
+ #, fuzzy, c-format
+ msgid "argument to '-specs=' is missing"
+ msgstr "έχουν παÏαληφθεί οÏίσματα"
+
+-#: gcc.c:3826
++#: gcc.c:3820
+ #, c-format
+ msgid "'-%c' must come at the start of the command line"
+ msgstr ""
+
+-#: gcc.c:3835
++#: gcc.c:3829
+ #, fuzzy, c-format
+ msgid "argument to '-B' is missing"
+ msgstr "έχουν παÏαληφθεί οÏίσματα"
+
+-#: gcc.c:4185
++#: gcc.c:4179
+ #, fuzzy, c-format
+ msgid "argument to '-x' is missing"
+ msgstr "έχουν παÏαληφθεί οÏίσματα"
+
+-#: gcc.c:4213
++#: gcc.c:4207
+ #, fuzzy, c-format
+ msgid "argument to '-%s' is missing"
+ msgstr "έχουν παÏαληφθεί οÏίσματα"
+
+-#: gcc.c:4541
++#: gcc.c:4535
+ #, c-format
+ msgid "switch '%s' does not start with '-'"
+ msgstr ""
+
+-#: gcc.c:4685
++#: gcc.c:4679
+ #, c-format
+ msgid "spec '%s' invalid"
+ msgstr ""
+
+-#: gcc.c:4824
++#: gcc.c:4818
+ #, c-format
+ msgid "spec '%s' has invalid '%%0%c'"
+ msgstr ""
+
+-#: gcc.c:5053
++#: gcc.c:5047
+ #, fuzzy, c-format
+ msgid "could not open temporary response file %s"
+ msgstr "Δεν μπόÏεσα να ανοίξω το αÏχείο %s"
+
+-#: gcc.c:5059
++#: gcc.c:5053
+ #, fuzzy, c-format
+ msgid "could not write to temporary response file %s"
+ msgstr "ΣΦΑΛΜΑ: Αδυναμία δημιουÏγίας Ï€ÏοσωÏÎ¹Î½Î¿Ï Î±Ïχείου για αλλαγή"
+
+-#: gcc.c:5065
++#: gcc.c:5059
+ #, fuzzy, c-format
+ msgid "could not close temporary response file %s"
+ msgstr "ΑδÏνατη η δημιουÏγία αÏχείου καταγÏαφών \"%s\""
+
+-#: gcc.c:5099
++#: gcc.c:5093
+ #, c-format
+ msgid "spec '%s' has invalid '%%W%c"
+ msgstr ""
+
+-#: gcc.c:5119
++#: gcc.c:5113
+ #, c-format
+ msgid "spec '%s' has invalid '%%x%c'"
+ msgstr ""
+
+-#: gcc.c:5341
++#: gcc.c:5335
+ #, c-format
+ msgid "Processing spec %c%s%c, which is '%s'\n"
+ msgstr ""
+
+-#: gcc.c:5465
++#: gcc.c:5459
+ #, fuzzy, c-format
+ msgid "unknown spec function '%s'"
+ msgstr "άγνωστο σετ `%s'"
+
+-#: gcc.c:5484
++#: gcc.c:5478
+ #, fuzzy, c-format
+ msgid "error in args to spec function '%s'"
+ msgstr "πάÏα πολλά οÏίσματα"
+
+-#: gcc.c:5532
++#: gcc.c:5526
+ #, c-format
+ msgid "malformed spec function name"
+ msgstr ""
+
+ #. )
+-#: gcc.c:5535
++#: gcc.c:5529
+ #, fuzzy, c-format
+ msgid "no arguments for spec function"
+ msgstr "Ï€Î¿Î»Ï Î»Î¯Î³Î± οÏίσματα"
+
+-#: gcc.c:5554
++#: gcc.c:5548
+ #, c-format
+ msgid "malformed spec function arguments"
+ msgstr ""
+
+-#: gcc.c:5800
++#: gcc.c:5794
+ #, c-format
+ msgid "braced spec '%s' is invalid at '%c'"
+ msgstr ""
+
+-#: gcc.c:5888
++#: gcc.c:5882
+ #, c-format
+ msgid "braced spec body '%s' is invalid"
+ msgstr ""
+
+-#: gcc.c:6421
++#: gcc.c:6420
+ #, c-format
+ msgid "install: %s%s\n"
+ msgstr "εγκατάσταση: %s%s\n"
+
+-#: gcc.c:6424
++#: gcc.c:6423
+ #, c-format
+ msgid "programs: %s\n"
+ msgstr "Ï€ÏογÏάμματα: %s\n"
+
+-#: gcc.c:6426
++#: gcc.c:6425
+ #, c-format
+ msgid "libraries: %s\n"
+ msgstr "βιβλιοθήκες: %s\n"
+
+ #. The error status indicates that only one set of fixed
+ #. headers should be built.
+-#: gcc.c:6480
++#: gcc.c:6479
+ #, c-format
+ msgid "not configured with sysroot headers suffix"
+ msgstr ""
+
+-#: gcc.c:6489
++#: gcc.c:6488
+ #, c-format
+ msgid ""
+ "\n"
+@@ -1268,47 +1268,47 @@
+ "\n"
+ "Για οδηγίες για αναφοÏές σφαλμάτων. παÏακαλώ δείτε:\n"
+
+-#: gcc.c:6505
++#: gcc.c:6504
+ #, fuzzy, c-format
+ msgid "Target: %s\n"
+ msgstr "βιβλιοθήκες: %s\n"
+
+-#: gcc.c:6506
++#: gcc.c:6505
+ #, c-format
+ msgid "Configured with: %s\n"
+ msgstr "Έχει Ïυθμιστεί με: %s\n"
+
+-#: gcc.c:6520
++#: gcc.c:6519
+ #, c-format
+ msgid "Thread model: %s\n"
+ msgstr "Μοντέλο νημάτων: %s\n"
+
+-#: gcc.c:6531
++#: gcc.c:6530
+ #, fuzzy, c-format
+ msgid "gcc version %s %s\n"
+ msgstr "έκδοση gcc %s\n"
+
+-#: gcc.c:6533
++#: gcc.c:6532
+ #, fuzzy, c-format
+ msgid "gcc driver version %s %sexecuting gcc version %s\n"
+ msgstr "έκδοση Î¿Î´Î·Î³Î¿Ï gcc %s εκτελεί την έκδοση gcc %s\n"
+
+-#: gcc.c:6541
++#: gcc.c:6540
+ #, c-format
+ msgid "no input files"
+ msgstr "δεν υπάÏχουν αÏχεία εισόδου"
+
+-#: gcc.c:6590
++#: gcc.c:6589
+ #, c-format
+ msgid "cannot specify -o with -c or -S with multiple files"
+ msgstr ""
+
+-#: gcc.c:6624
++#: gcc.c:6623
+ #, c-format
+ msgid "spec '%s' is invalid"
+ msgstr ""
+
+-#: gcc.c:6760
++#: gcc.c:6759
+ #, c-format
+ msgid ""
+ "\n"
+@@ -1317,59 +1317,59 @@
+ "\n"
+ msgstr ""
+
+-#: gcc.c:6761
++#: gcc.c:6760
+ #, c-format
+ msgid ""
+ "Use \"-Wl,OPTION\" to pass \"OPTION\" to the linker.\n"
+ "\n"
+ msgstr ""
+
+-#: gcc.c:7112
++#: gcc.c:7111
+ #, fuzzy, c-format
+ msgid "multilib spec '%s' is invalid"
+ msgstr "έχουν παÏαληφθεί οÏίσματα"
+
+-#: gcc.c:7303
++#: gcc.c:7302
+ #, c-format
+ msgid "multilib exclusions '%s' is invalid"
+ msgstr ""
+
+-#: gcc.c:7361 gcc.c:7502
++#: gcc.c:7360 gcc.c:7501
+ #, fuzzy, c-format
+ msgid "multilib select '%s' is invalid"
+ msgstr "έχουν παÏαληφθεί οÏίσματα"
+
+-#: gcc.c:7540
++#: gcc.c:7539
+ #, c-format
+ msgid "multilib exclusion '%s' is invalid"
+ msgstr ""
+
+-#: gcc.c:7746
++#: gcc.c:7745
+ #, c-format
+ msgid "environment variable \"%s\" not defined"
+ msgstr ""
+
+-#: gcc.c:7837 gcc.c:7842
++#: gcc.c:7836 gcc.c:7841
+ #, fuzzy, c-format
+ msgid "invalid version number `%s'"
+ msgstr "μη έγκυÏη διαμόÏφωση συντόμευσης"
+
+-#: gcc.c:7885
++#: gcc.c:7884
+ #, fuzzy, c-format
+ msgid "too few arguments to %%:version-compare"
+ msgstr "Ï€Î¿Î»Ï Î»Î¯Î³Î± οÏίσματα"
+
+-#: gcc.c:7891
++#: gcc.c:7890
+ #, fuzzy, c-format
+ msgid "too many arguments to %%:version-compare"
+ msgstr "πάÏα πολλά οÏίσματα στη Ïουτίνα"
+
+-#: gcc.c:7932
++#: gcc.c:7931
+ #, c-format
+ msgid "unknown operator '%s' in %%:version-compare"
+ msgstr ""
+
+-#: gcc.c:7966
++#: gcc.c:7965
+ #, c-format
+ msgid ""
+ "Assembler options\n"
+@@ -1377,14 +1377,14 @@
+ "\n"
+ msgstr ""
+
+-#: gcc.c:7967
++#: gcc.c:7966
+ #, c-format
+ msgid ""
+ "Use \"-Wa,OPTION\" to pass \"OPTION\" to the assembler.\n"
+ "\n"
+ msgstr ""
+
+-#: gcov.c:399
++#: gcov.c:400
+ #, fuzzy, c-format
+ msgid ""
+ "Usage: gcov [OPTION]... SOURCEFILE...\n"
+@@ -1393,7 +1393,7 @@
+ "ΧÏήση: gcov [ΕΠΙΛΟΓΗ]... [ΑΡΧΕΊΟΠΗΓΗΣ]\n"
+ "\n"
+
+-#: gcov.c:400
++#: gcov.c:401
+ #, c-format
+ msgid ""
+ "Print code coverage information.\n"
+@@ -1402,66 +1402,66 @@
+ "Eμφάνιση πληÏοφοÏιών κάλυψης κώδικα.\n"
+ "\n"
+
+-#: gcov.c:401
++#: gcov.c:402
+ #, c-format
+ msgid " -h, --help Print this help, then exit\n"
+ msgstr " -h, --help Εμφάνιση αυτής της βοήθειας, μετά έξοδος\n"
+
+-#: gcov.c:402
++#: gcov.c:403
+ #, c-format
+ msgid " -v, --version Print version number, then exit\n"
+ msgstr " -v, --version Εμφάνιση αÏÎ¹Î¸Î¼Î¿Ï Î­ÎºÎ´Î¿ÏƒÎ·Ï‚, μετά έξοδος\n"
+
+-#: gcov.c:403
++#: gcov.c:404
+ #, c-format
+ msgid " -a, --all-blocks Show information for every basic block\n"
+ msgstr ""
+
+-#: gcov.c:404
++#: gcov.c:405
+ #, c-format
+ msgid " -b, --branch-probabilities Include branch probabilities in output\n"
+ msgstr ""
+
+-#: gcov.c:405
++#: gcov.c:406
+ #, c-format
+ msgid ""
+ " -c, --branch-counts Given counts of branches taken\n"
+ " rather than percentages\n"
+ msgstr ""
+
+-#: gcov.c:407
++#: gcov.c:408
+ #, c-format
+ msgid " -n, --no-output Do not create an output file\n"
+ msgstr ""
+
+-#: gcov.c:408
++#: gcov.c:409
+ #, c-format
+ msgid ""
+ " -l, --long-file-names Use long output file names for included\n"
+ " source files\n"
+ msgstr ""
+
+-#: gcov.c:410
++#: gcov.c:411
+ #, c-format
+ msgid " -f, --function-summaries Output summaries for each function\n"
+ msgstr ""
+
+-#: gcov.c:411
++#: gcov.c:412
+ #, c-format
+ msgid " -o, --object-directory DIR|FILE Search for object files in DIR or called FILE\n"
+ msgstr ""
+
+-#: gcov.c:412
++#: gcov.c:413
+ #, c-format
+ msgid " -p, --preserve-paths Preserve all pathname components\n"
+ msgstr ""
+
+-#: gcov.c:413
++#: gcov.c:414
+ #, c-format
+ msgid " -u, --unconditional-branches Show unconditional branch counts too\n"
+ msgstr ""
+
+-#: gcov.c:414
++#: gcov.c:415
+ #, c-format
+ msgid ""
+ "\n"
+@@ -1472,13 +1472,13 @@
+ "Για οδηγίες στις αναφοÏές σφαλμάτων, παÏακαλώ δείτε:\n"
+ "%s.\n"
+
+-#: gcov.c:424
++#: gcov.c:425
+ #, fuzzy, c-format
+ msgid "gcov %s%s\n"
+ msgstr "gcov (GCC) %s\n"
+
+ # src/main.c:850
+-#: gcov.c:428
++#: gcov.c:429
+ #, fuzzy, c-format
+ msgid ""
+ "This is free software; see the source for copying conditions.\n"
+@@ -1490,209 +1490,209 @@
+ "αντιγÏαφής. Δεν υπάÏχει ΚΑΜΙΑ εγγÏηση· οÏτε ακόμα για ΛΕΙΤΟΥΡΓΙΚΟΤΗΤΑ ή \n"
+ "ΚΑΤΑΛΛΗΛΟΤΗΤΑ ΓΙΑ ΕÎΑ ΣΥΓΚΕΚΡΙΜΕÎΟ ΣΚΟΠΟ.\n"
+
+-#: gcov.c:524
++#: gcov.c:525
+ #, fuzzy, c-format
+ msgid "%s:no functions found\n"
+ msgstr "Δεν βÏέθηκε μέσο"
+
+-#: gcov.c:556 gcov.c:584 fortran/dump-parse-tree.c:63
++#: gcov.c:557 gcov.c:585 fortran/dump-parse-tree.c:63
+ #, fuzzy, c-format
+ msgid "\n"
+ msgstr ":\n"
+
+-#: gcov.c:571
++#: gcov.c:572
+ #, fuzzy, c-format
+ msgid "%s:creating '%s'\n"
+ msgstr "δημιουÏγία αÏχείου `%s'\n"
+
+-#: gcov.c:575
++#: gcov.c:576
+ #, fuzzy, c-format
+ msgid "%s:error writing output file '%s'\n"
+ msgstr "%s: Σφάλμα κατά την εγγÏαφή του %s\n"
+
+-#: gcov.c:580
++#: gcov.c:581
+ #, fuzzy, c-format
+ msgid "%s:could not open output file '%s'\n"
+ msgstr "αδυναμία ανοίγματος αÏχείου εξόδου `%s'"
+
+-#: gcov.c:729
++#: gcov.c:730
+ #, c-format
+ msgid "%s:source file is newer than graph file '%s'\n"
+ msgstr ""
+
+-#: gcov.c:734
++#: gcov.c:735
+ #, c-format
+ msgid "(the message is only displayed one per source file)\n"
+ msgstr ""
+
+-#: gcov.c:758
++#: gcov.c:759
+ #, fuzzy, c-format
+ msgid "%s:cannot open graph file\n"
+ msgstr "αδυναμία ανοίγματος αÏχείου εξόδου"
+
+-#: gcov.c:764
++#: gcov.c:765
+ #, fuzzy, c-format
+ msgid "%s:not a gcov graph file\n"
+ msgstr "%s: Δεν είναι κανονικό αÏχείο"
+
+-#: gcov.c:777
++#: gcov.c:778
+ #, c-format
+ msgid "%s:version '%.4s', prefer '%.4s'\n"
+ msgstr ""
+
+-#: gcov.c:829
++#: gcov.c:830
+ #, c-format
+ msgid "%s:already seen blocks for '%s'\n"
+ msgstr ""
+
+-#: gcov.c:947
++#: gcov.c:948
+ #, c-format
+ msgid "%s:corrupted\n"
+ msgstr ""
+
+-#: gcov.c:1023
++#: gcov.c:1024
+ #, fuzzy, c-format
+ msgid "%s:cannot open data file, assuming not executed\n"
+ msgstr "αδυναμία ανοίγματος αÏχείου εξόδου"
+
+-#: gcov.c:1030
++#: gcov.c:1031
+ #, fuzzy, c-format
+ msgid "%s:not a gcov data file\n"
+ msgstr "%s: Δεν είναι κανονικό αÏχείο"
+
+-#: gcov.c:1043
++#: gcov.c:1044
+ #, c-format
+ msgid "%s:version '%.4s', prefer version '%.4s'\n"
+ msgstr ""
+
+-#: gcov.c:1049
++#: gcov.c:1050
+ #, c-format
+ msgid "%s:stamp mismatch with graph file\n"
+ msgstr ""
+
+-#: gcov.c:1078
++#: gcov.c:1079
+ #, fuzzy, c-format
+ msgid "%s:unknown function '%u'\n"
+ msgstr "Στη συνάÏτηση `%s':"
+
+-#: gcov.c:1091
++#: gcov.c:1092
+ #, c-format
+ msgid "%s:profile mismatch for '%s'\n"
+ msgstr ""
+
+-#: gcov.c:1110
++#: gcov.c:1111
+ #, fuzzy, c-format
+ msgid "%s:overflowed\n"
+ msgstr "%s: σφάλμα εγγÏαφής"
+
+-#: gcov.c:1134
++#: gcov.c:1135
+ #, c-format
+ msgid "%s:'%s' lacks entry and/or exit blocks\n"
+ msgstr ""
+
+-#: gcov.c:1139
++#: gcov.c:1140
+ #, c-format
+ msgid "%s:'%s' has arcs to entry block\n"
+ msgstr ""
+
+-#: gcov.c:1147
++#: gcov.c:1148
+ #, c-format
+ msgid "%s:'%s' has arcs from exit block\n"
+ msgstr ""
+
+-#: gcov.c:1355
++#: gcov.c:1356
+ #, c-format
+ msgid "%s:graph is unsolvable for '%s'\n"
+ msgstr ""
+
+ # src/request.c:37
+-#: gcov.c:1435
++#: gcov.c:1436
+ #, fuzzy, c-format
+ msgid "%s '%s'\n"
+ msgstr "%s: %s"
+
+-#: gcov.c:1438
++#: gcov.c:1439
+ #, c-format
+ msgid "Lines executed:%s of %d\n"
+ msgstr ""
+
+-#: gcov.c:1442
++#: gcov.c:1443
+ #, fuzzy, c-format
+ msgid "No executable lines\n"
+ msgstr "δημιουÏγία αÏχείου `%s'\n"
+
+-#: gcov.c:1448
++#: gcov.c:1449
+ #, c-format
+ msgid "Branches executed:%s of %d\n"
+ msgstr ""
+
+-#: gcov.c:1452
++#: gcov.c:1453
+ #, c-format
+ msgid "Taken at least once:%s of %d\n"
+ msgstr ""
+
+-#: gcov.c:1458
++#: gcov.c:1459
+ #, fuzzy, c-format
+ msgid "No branches\n"
+ msgstr ""
+ "Δεν υπάÏχει αÏχείο `%s'.\n"
+ "\n"
+
+-#: gcov.c:1460
++#: gcov.c:1461
+ #, c-format
+ msgid "Calls executed:%s of %d\n"
+ msgstr ""
+
+-#: gcov.c:1464
++#: gcov.c:1465
+ #, fuzzy, c-format
+ msgid "No calls\n"
+ msgstr "δημιουÏγία αÏχείου `%s'\n"
+
+-#: gcov.c:1611
++#: gcov.c:1612
+ #, fuzzy, c-format
+ msgid "%s:no lines for '%s'\n"
+ msgstr "%s Ï€Ïιν από `%s'"
+
+-#: gcov.c:1806
++#: gcov.c:1807
+ #, fuzzy, c-format
+ msgid "call %2d returned %s\n"
+ msgstr " αλλά %d απαιτοÏνται"
+
+-#: gcov.c:1811
++#: gcov.c:1812
+ #, c-format
+ msgid "call %2d never executed\n"
+ msgstr ""
+
+-#: gcov.c:1816
++#: gcov.c:1817
+ #, c-format
+ msgid "branch %2d taken %s%s\n"
+ msgstr ""
+
+-#: gcov.c:1820
++#: gcov.c:1821
+ #, c-format
+ msgid "branch %2d never executed\n"
+ msgstr ""
+
+-#: gcov.c:1825
++#: gcov.c:1826
+ #, fuzzy, c-format
+ msgid "unconditional %2d taken %s\n"
+ msgstr "Άγνωστή επιλογή για το `s'"
+
+-#: gcov.c:1828
++#: gcov.c:1829
+ #, c-format
+ msgid "unconditional %2d never executed\n"
+ msgstr ""
+
+-#: gcov.c:1864
++#: gcov.c:1865
+ #, fuzzy, c-format
+ msgid "%s:cannot open source file\n"
+ msgstr "αδυναμία ανοίγματος αÏχείου εξόδου"
+
+-#: gcse.c:685
++#: gcse.c:679
+ msgid "GCSE disabled"
+ msgstr ""
+
+-#: gcse.c:6600
++#: gcse.c:6584
+ #, fuzzy
+ msgid "jump bypassing disabled"
+ msgstr "Η λειτουÏγία NIS+ απέτυχε"
+@@ -1777,82 +1777,82 @@
+ msgid " inlined from %qs"
+ msgstr "Μη έγκυÏη Ï€ÏοτεÏαιότητα `%s'"
+
+-#: loop-iv.c:2805 tree-ssa-loop-niter.c:1818
++#: loop-iv.c:2806 tree-ssa-loop-niter.c:1818
+ msgid "assuming that the loop is not infinite"
+ msgstr ""
+
+-#: loop-iv.c:2806 tree-ssa-loop-niter.c:1819
++#: loop-iv.c:2807 tree-ssa-loop-niter.c:1819
+ msgid "cannot optimize possibly infinite loops"
+ msgstr ""
+
+-#: loop-iv.c:2814 tree-ssa-loop-niter.c:1823
++#: loop-iv.c:2815 tree-ssa-loop-niter.c:1823
+ msgid "assuming that the loop counter does not overflow"
+ msgstr ""
+
+-#: loop-iv.c:2815 tree-ssa-loop-niter.c:1824
++#: loop-iv.c:2816 tree-ssa-loop-niter.c:1824
+ msgid "cannot optimize loop, the loop counter may overflow"
+ msgstr ""
+
+ #. What to print when a switch has no documentation.
+-#: opts.c:348
++#: opts.c:340
+ msgid "This switch lacks documentation"
+ msgstr "Αυτή η παÏάμετÏος δεν έχει ακόμα τεκμηÏίωση"
+
+-#: opts.c:1159
++#: opts.c:1161
+ msgid "[enabled]"
+ msgstr ""
+
+-#: opts.c:1159
++#: opts.c:1161
+ msgid "[disabled]"
+ msgstr ""
+
+-#: opts.c:1170
++#: opts.c:1172
+ #, c-format
+ msgid " No options with the desired characteristics were found\n"
+ msgstr ""
+
+-#: opts.c:1172
++#: opts.c:1174
+ #, c-format
+ msgid " All options with the desired characteristics have already been displayed\n"
+ msgstr ""
+
+-#: opts.c:1226
++#: opts.c:1228
+ msgid "The following options are target specific"
+ msgstr ""
+
+-#: opts.c:1229
++#: opts.c:1231
+ msgid "The following options control compiler warning messages"
+ msgstr ""
+
+-#: opts.c:1232
++#: opts.c:1234
+ msgid "The following options control optimizations"
+ msgstr ""
+
+-#: opts.c:1235 opts.c:1273
++#: opts.c:1237 opts.c:1275
+ msgid "The following options are language-independent"
+ msgstr ""
+
+-#: opts.c:1238
++#: opts.c:1240
+ msgid "The --param option recognizes the following as parameters"
+ msgstr ""
+
+-#: opts.c:1245
++#: opts.c:1247
+ msgid "The following options are specific to the language "
+ msgstr ""
+
+-#: opts.c:1249
++#: opts.c:1251
+ msgid "The following options are supported by the language "
+ msgstr ""
+
+-#: opts.c:1260
++#: opts.c:1262
+ msgid "The following options are not documented"
+ msgstr ""
+
+-#: opts.c:1271
++#: opts.c:1273
+ msgid "The following options are language-related"
+ msgstr ""
+
+-#: opts.c:1403
++#: opts.c:1405
+ #, c-format
+ msgid "warning: unrecognized argument to --help= switch: %.*s\n"
+ msgstr ""
+@@ -2162,7 +2162,7 @@
+ msgid "%s: input file names must have .c suffixes: %s\n"
+ msgstr "%s: το αÏχείο εισόδου είναι το αÏχείο εξόδου"
+
+-#: reload.c:3734
++#: reload.c:3744
+ #, fuzzy
+ msgid "unable to generate reloads for:"
+ msgstr "ΑδÏνατη η δημιουÏγία διεÏγασίας στον εξυπηÏετητή"
+@@ -2266,7 +2266,7 @@
+
+ #: toplev.c:1188
+ #, c-format
+-msgid "warning: %s header version %s differs from library version %s.\n"
++msgid "%s%swarning: %s header version %s differs from library version %s.\n"
+ msgstr ""
+
+ #: toplev.c:1190
+@@ -2276,36 +2276,36 @@
+
+ # src/getopt1.c:132
+ # src/getopt1.c:132
+-#: toplev.c:1340
++#: toplev.c:1342
+ #, fuzzy
+ msgid "options passed: "
+ msgstr "επιλογή %s"
+
+ # src/getopt1.c:155
+ # src/getopt1.c:155
+-#: toplev.c:1374
++#: toplev.c:1376
+ #, fuzzy
+ msgid "options enabled: "
+ msgstr "επιλογή α\n"
+
+-#: toplev.c:1509
++#: toplev.c:1511
+ #, c-format
+ msgid "created and used with differing settings of '%s'"
+ msgstr ""
+
+-#: toplev.c:1511
++#: toplev.c:1513
+ msgid "out of memory"
+ msgstr ""
+
+-#: toplev.c:1526
++#: toplev.c:1528
+ msgid "created and used with different settings of -fpic"
+ msgstr ""
+
+-#: toplev.c:1528
++#: toplev.c:1530
+ msgid "created and used with different settings of -fpie"
+ msgstr ""
+
+-#: tree-inline.c:2571
++#: tree-inline.c:2657
+ msgid "originally indirect function call not considered for inlining"
+ msgstr ""
+
+@@ -2363,7 +2363,7 @@
+ msgstr ""
+
+ #: params.def:93
+-msgid "The threshold ratio between current and hotest structure counts"
++msgid "The threshold ratio between current and hottest structure counts"
+ msgstr ""
+
+ #: params.def:110
+@@ -2756,114 +2756,122 @@
+ msgid "Maximum length of partial antic set when performing tree pre optimization"
+ msgstr ""
+
+-#: config/alpha/alpha.c:5015
++#: params.def:723
++msgid "Maximum size of a SCC before SCCVN stops processing a function"
++msgstr ""
++
++#: params.def:729
++msgid "Multiplier used for determining the double-queueing threshold"
++msgstr ""
++
++#: config/alpha/alpha.c:5023
+ #, fuzzy, c-format
+ msgid "invalid %%H value"
+ msgstr "μη έγκυÏος χÏήστης"
+
+-#: config/alpha/alpha.c:5036 config/bfin/bfin.c:1423
++#: config/alpha/alpha.c:5044 config/bfin/bfin.c:1516
+ #, fuzzy, c-format
+ msgid "invalid %%J value"
+ msgstr "μη έγκυÏος χÏήστης"
+
+-#: config/alpha/alpha.c:5066 config/ia64/ia64.c:4718
++#: config/alpha/alpha.c:5074 config/ia64/ia64.c:4719
+ #, fuzzy, c-format
+ msgid "invalid %%r value"
+ msgstr "μη έγκυÏος χÏήστης"
+
+-#: config/alpha/alpha.c:5076 config/ia64/ia64.c:4672
+-#: config/rs6000/rs6000.c:11670 config/xtensa/xtensa.c:2036
++#: config/alpha/alpha.c:5084 config/ia64/ia64.c:4673
++#: config/rs6000/rs6000.c:11881 config/xtensa/xtensa.c:2042
+ #, fuzzy, c-format
+ msgid "invalid %%R value"
+ msgstr "μη έγκυÏος χÏήστης"
+
+-#: config/alpha/alpha.c:5082 config/rs6000/rs6000.c:11589
+-#: config/xtensa/xtensa.c:2003
++#: config/alpha/alpha.c:5090 config/rs6000/rs6000.c:11800
++#: config/xtensa/xtensa.c:2009
+ #, fuzzy, c-format
+ msgid "invalid %%N value"
+ msgstr "μη έγκυÏος χÏήστης"
+
+-#: config/alpha/alpha.c:5090 config/rs6000/rs6000.c:11617
++#: config/alpha/alpha.c:5098 config/rs6000/rs6000.c:11828
+ #, fuzzy, c-format
+ msgid "invalid %%P value"
+ msgstr "μη έγκυÏος χÏήστης"
+
+-#: config/alpha/alpha.c:5098
++#: config/alpha/alpha.c:5106
+ #, fuzzy, c-format
+ msgid "invalid %%h value"
+ msgstr "μη έγκυÏος χÏήστης"
+
+-#: config/alpha/alpha.c:5106 config/xtensa/xtensa.c:2029
++#: config/alpha/alpha.c:5114 config/xtensa/xtensa.c:2035
+ #, fuzzy, c-format
+ msgid "invalid %%L value"
+ msgstr "μη έγκυÏος χÏήστης"
+
+-#: config/alpha/alpha.c:5145 config/rs6000/rs6000.c:11571
++#: config/alpha/alpha.c:5153 config/rs6000/rs6000.c:11782
+ #, fuzzy, c-format
+ msgid "invalid %%m value"
+ msgstr "μη έγκυÏος χÏήστης"
+
+-#: config/alpha/alpha.c:5153 config/rs6000/rs6000.c:11579
++#: config/alpha/alpha.c:5161 config/rs6000/rs6000.c:11790
+ #, fuzzy, c-format
+ msgid "invalid %%M value"
+ msgstr "μη έγκυÏος χÏήστης"
+
+-#: config/alpha/alpha.c:5197
++#: config/alpha/alpha.c:5205
+ #, fuzzy, c-format
+ msgid "invalid %%U value"
+ msgstr "μη έγκυÏος χÏήστης"
+
+-#: config/alpha/alpha.c:5209 config/alpha/alpha.c:5223
+-#: config/rs6000/rs6000.c:11678
++#: config/alpha/alpha.c:5217 config/alpha/alpha.c:5231
++#: config/rs6000/rs6000.c:11889
+ #, fuzzy, c-format
+ msgid "invalid %%s value"
+ msgstr "μη έγκυÏος χÏήστης"
+
+-#: config/alpha/alpha.c:5246
++#: config/alpha/alpha.c:5254
+ #, fuzzy, c-format
+ msgid "invalid %%C value"
+ msgstr "μη έγκυÏος χÏήστης"
+
+-#: config/alpha/alpha.c:5283 config/rs6000/rs6000.c:11406
+-#: config/rs6000/rs6000.c:11425
++#: config/alpha/alpha.c:5291 config/rs6000/rs6000.c:11617
++#: config/rs6000/rs6000.c:11636
+ #, fuzzy, c-format
+ msgid "invalid %%E value"
+ msgstr "μη έγκυÏος χÏήστης"
+
+-#: config/alpha/alpha.c:5308 config/alpha/alpha.c:5356
++#: config/alpha/alpha.c:5316 config/alpha/alpha.c:5364
+ #, fuzzy, c-format
+ msgid "unknown relocation unspec"
+ msgstr "Δεν είναι δυνατόν να βÏεθεί ο Ï„Ïπος του επεξεÏγαστή."
+
+-#: config/alpha/alpha.c:5317 config/crx/crx.c:1081
+-#: config/rs6000/rs6000.c:12005 config/spu/spu.c:1492
++#: config/alpha/alpha.c:5325 config/crx/crx.c:1081
++#: config/rs6000/rs6000.c:12216 config/spu/spu.c:1482
+ #, fuzzy, c-format
+ msgid "invalid %%xn code"
+ msgstr "μη έγκυÏο δικαίωμα"
+
+-#: config/arc/arc.c:1724 config/m32r/m32r.c:1805
++#: config/arc/arc.c:1728 config/m32r/m32r.c:1805
+ #, fuzzy, c-format
+ msgid "invalid operand to %%R code"
+ msgstr "Μη έγκυÏη επιλογή `%s'"
+
+-#: config/arc/arc.c:1756 config/m32r/m32r.c:1828
++#: config/arc/arc.c:1760 config/m32r/m32r.c:1828
+ #, fuzzy, c-format
+ msgid "invalid operand to %%H/%%L code"
+ msgstr "Μη έγκυÏη επιλογή `%s'"
+
+-#: config/arc/arc.c:1778 config/m32r/m32r.c:1899
++#: config/arc/arc.c:1782 config/m32r/m32r.c:1899
+ #, fuzzy, c-format
+ msgid "invalid operand to %%U code"
+ msgstr "Μη έγκυÏη επιλογή `%s'"
+
+-#: config/arc/arc.c:1789
++#: config/arc/arc.c:1793
+ #, fuzzy, c-format
+ msgid "invalid operand to %%V code"
+ msgstr "Μη έγκυÏη επιλογή `%s'"
+
+ #. Unknown flag.
+ #. Undocumented flag.
+-#: config/arc/arc.c:1796 config/m32r/m32r.c:1926 config/sparc/sparc.c:6995
++#: config/arc/arc.c:1800 config/m32r/m32r.c:1926 config/sparc/sparc.c:6998
+ #, fuzzy, c-format
+ msgid "invalid operand output code"
+ msgstr "Μη έγκυÏος κώδικας αίτησης"
+@@ -2888,9 +2896,9 @@
+ #: config/arm/arm.c:12830 config/arm/arm.c:12865 config/arm/arm.c:12884
+ #: config/arm/arm.c:12899 config/arm/arm.c:12927 config/arm/arm.c:12934
+ #: config/arm/arm.c:12942 config/arm/arm.c:12963 config/arm/arm.c:12970
+-#: config/bfin/bfin.c:1436 config/bfin/bfin.c:1443 config/bfin/bfin.c:1450
+-#: config/bfin/bfin.c:1457 config/bfin/bfin.c:1466 config/bfin/bfin.c:1473
+-#: config/bfin/bfin.c:1480 config/bfin/bfin.c:1487
++#: config/bfin/bfin.c:1529 config/bfin/bfin.c:1536 config/bfin/bfin.c:1543
++#: config/bfin/bfin.c:1550 config/bfin/bfin.c:1559 config/bfin/bfin.c:1566
++#: config/bfin/bfin.c:1573 config/bfin/bfin.c:1580
+ #, fuzzy, c-format
+ msgid "invalid operand for code '%c'"
+ msgstr "Μη έγκυÏη επιλογή `%s'"
+@@ -2905,261 +2913,179 @@
+ msgid "missing operand"
+ msgstr "έχει παÏαληφθεί η λίστα με τα πεδία"
+
+-#: config/avr/avr.c:1022
++#: config/avr/avr.c:1062
+ #, c-format
+ msgid "address operand requires constraint for X, Y, or Z register"
+ msgstr ""
+
+-#: config/avr/avr.c:1129
++#: config/avr/avr.c:1169
+ msgid "bad address, not (reg+disp):"
+ msgstr ""
+
+-#: config/avr/avr.c:1136
++#: config/avr/avr.c:1176
+ msgid "bad address, not post_inc or pre_dec:"
+ msgstr ""
+
+-#: config/avr/avr.c:1147
++#: config/avr/avr.c:1187
+ msgid "internal compiler error. Bad address:"
+ msgstr ""
+
+-#: config/avr/avr.c:1160
++#: config/avr/avr.c:1200
+ msgid "internal compiler error. Unknown mode:"
+ msgstr ""
+
+-#: config/avr/avr.c:1775 config/avr/avr.c:2463
++#: config/avr/avr.c:1815 config/avr/avr.c:2503
+ #, fuzzy
+ msgid "invalid insn:"
+ msgstr "μη έγκυÏος χÏήστης"
+
+-#: config/avr/avr.c:1814 config/avr/avr.c:1900 config/avr/avr.c:1949
+-#: config/avr/avr.c:1977 config/avr/avr.c:2072 config/avr/avr.c:2241
+-#: config/avr/avr.c:2502 config/avr/avr.c:2614
++#: config/avr/avr.c:1854 config/avr/avr.c:1940 config/avr/avr.c:1989
++#: config/avr/avr.c:2017 config/avr/avr.c:2112 config/avr/avr.c:2281
++#: config/avr/avr.c:2542 config/avr/avr.c:2654
+ #, fuzzy
+ msgid "incorrect insn:"
+ msgstr "λάθος συνθηματικό"
+
+-#: config/avr/avr.c:1996 config/avr/avr.c:2157 config/avr/avr.c:2312
+-#: config/avr/avr.c:2680
++#: config/avr/avr.c:2036 config/avr/avr.c:2197 config/avr/avr.c:2352
++#: config/avr/avr.c:2720
+ #, fuzzy
+ msgid "unknown move insn:"
+ msgstr "άγνωστο σετ `%s'"
+
+-#: config/avr/avr.c:2910
++#: config/avr/avr.c:2950
+ msgid "bad shift insn:"
+ msgstr ""
+
+-#: config/avr/avr.c:3026 config/avr/avr.c:3446 config/avr/avr.c:3804
++#: config/avr/avr.c:3066 config/avr/avr.c:3486 config/avr/avr.c:3844
+ msgid "internal compiler error. Incorrect shift:"
+ msgstr ""
+
+-#: config/bfin/bfin.c:1385
++#: config/bfin/bfin.c:1478
+ #, fuzzy, c-format
+ msgid "invalid %%j value"
+ msgstr "μη έγκυÏος χÏήστης"
+
+-#: config/bfin/bfin.c:1578
++#: config/bfin/bfin.c:1671
+ #, fuzzy, c-format
+ msgid "invalid const_double operand"
+ msgstr "μη έγκυÏος χÏήστης"
+
+-#: config/c4x/c4x.c:1583
+-msgid "using CONST_DOUBLE for address"
+-msgstr ""
+-
+-#: config/c4x/c4x.c:1721
+-msgid "c4x_address_cost: Invalid addressing mode"
+-msgstr ""
+-
+-#: config/c4x/c4x.c:1856
+-#, c-format
+-msgid "c4x_print_operand: %%L inconsistency"
+-msgstr ""
+-
+-#: config/c4x/c4x.c:1862
+-#, c-format
+-msgid "c4x_print_operand: %%N inconsistency"
+-msgstr ""
+-
+-#: config/c4x/c4x.c:1903
+-#, c-format
+-msgid "c4x_print_operand: %%O inconsistency"
+-msgstr ""
+-
+-#: config/c4x/c4x.c:1998
+-msgid "c4x_print_operand: Bad operand case"
+-msgstr ""
+-
+-#: config/c4x/c4x.c:2039
+-msgid "c4x_print_operand_address: Bad post_modify"
+-msgstr ""
+-
+-#: config/c4x/c4x.c:2061
+-msgid "c4x_print_operand_address: Bad pre_modify"
+-msgstr ""
+-
+-#: config/c4x/c4x.c:2109 config/c4x/c4x.c:2121 config/c4x/c4x.c:2136
+-msgid "c4x_print_operand_address: Bad operand case"
+-msgstr ""
+-
+-#: config/c4x/c4x.c:2387
+-msgid "c4x_rptb_insert: Cannot find start label"
+-msgstr ""
+-
+-#: config/c4x/c4x.c:2985
+-#, fuzzy
+-msgid "invalid indirect memory address"
+-msgstr "μη έγκυÏος χÏόνος λήξης"
+-
+-#: config/c4x/c4x.c:3074
+-msgid "invalid indirect (S) memory address"
+-msgstr ""
+-
+-#: config/c4x/c4x.c:3409
+-msgid "c4x_valid_operands: Internal error"
+-msgstr ""
+-
+-#: config/c4x/c4x.c:3848
+-msgid "c4x_operand_subword: invalid mode"
+-msgstr ""
+-
+-#: config/c4x/c4x.c:3851
+-msgid "c4x_operand_subword: invalid operand"
+-msgstr ""
+-
+-#. We could handle these with some difficulty.
+-#. e.g., *p-- => *(p-=2); *(p+1).
+-#: config/c4x/c4x.c:3877
+-msgid "c4x_operand_subword: invalid autoincrement"
+-msgstr ""
+-
+-#: config/c4x/c4x.c:3883
+-msgid "c4x_operand_subword: invalid address"
+-msgstr ""
+-
+-#: config/c4x/c4x.c:3894
+-msgid "c4x_operand_subword: address not offsettable"
+-msgstr ""
+-
+-#: config/c4x/c4x.c:4096
+-msgid "c4x_rptb_rpts_p: Repeat block top label moved"
+-msgstr ""
+-
+ #. Use `%s' to print the string in case there are any escape
+ #. characters in the message.
+-#: config/cris/cris.c:491 fortran/dump-parse-tree.c:78
+-#: fortran/dump-parse-tree.c:430 fortran/dump-parse-tree.c:776
+-#: fortran/dump-parse-tree.c:821 c-typeck.c:4607 c-typeck.c:4622
+-#: c-typeck.c:4637 final.c:2984 final.c:2986 gcc.c:4737 loop-iv.c:2807
+-#: loop-iv.c:2816 rtl-error.c:112 toplev.c:610 tree-ssa-loop-niter.c:1829
+-#: cp/parser.c:2188 cp/typeck.c:4559 java/expr.c:409
++#: config/cris/cris.c:504 fortran/dump-parse-tree.c:78
++#: fortran/dump-parse-tree.c:430 fortran/dump-parse-tree.c:798
++#: fortran/dump-parse-tree.c:843 c-typeck.c:4618 c-typeck.c:4633
++#: c-typeck.c:4648 final.c:2997 final.c:2999 gcc.c:4731 loop-iv.c:2808
++#: loop-iv.c:2817 rtl-error.c:112 toplev.c:610 tree-ssa-loop-niter.c:1829
++#: cp/parser.c:2192 cp/typeck.c:4567 java/expr.c:409
+ #, gcc-internal-format
+ msgid "%s"
+ msgstr "%s"
+
+-#: config/cris/cris.c:542
++#: config/cris/cris.c:555
+ msgid "unexpected index-type in cris_print_index"
+ msgstr ""
+
+-#: config/cris/cris.c:556
++#: config/cris/cris.c:572
+ msgid "unexpected base-type in cris_print_base"
+ msgstr ""
+
+-#: config/cris/cris.c:672
++#: config/cris/cris.c:688
+ #, fuzzy
+ msgid "invalid operand for 'b' modifier"
+ msgstr "Μη έγκυÏη επιλογή `%s'"
+
+-#: config/cris/cris.c:689
++#: config/cris/cris.c:705
+ #, fuzzy
+ msgid "invalid operand for 'o' modifier"
+ msgstr "Μη έγκυÏη επιλογή `%s'"
+
+-#: config/cris/cris.c:708
++#: config/cris/cris.c:724
+ #, fuzzy
+ msgid "invalid operand for 'O' modifier"
+ msgstr "Μη έγκυÏη επιλογή `%s'"
+
+-#: config/cris/cris.c:741
++#: config/cris/cris.c:757
+ #, fuzzy
+ msgid "invalid operand for 'p' modifier"
+ msgstr "Μη έγκυÏη επιλογή `%s'"
+
+-#: config/cris/cris.c:780
++#: config/cris/cris.c:796
+ #, fuzzy
+ msgid "invalid operand for 'z' modifier"
+ msgstr "Μη έγκυÏη επιλογή `%s'"
+
+-#: config/cris/cris.c:834 config/cris/cris.c:864
++#: config/cris/cris.c:860 config/cris/cris.c:894
+ #, fuzzy
+ msgid "invalid operand for 'H' modifier"
+ msgstr "Μη έγκυÏη επιλογή `%s'"
+
+-#: config/cris/cris.c:840
++#: config/cris/cris.c:870
+ #, fuzzy
+ msgid "bad register"
+ msgstr "Δεν είναι δυνατή η καταχώÏηση της υπηÏεσίας"
+
+-#: config/cris/cris.c:884
++#: config/cris/cris.c:914
+ #, fuzzy
+ msgid "invalid operand for 'e' modifier"
+ msgstr "Μη έγκυÏη επιλογή `%s'"
+
+-#: config/cris/cris.c:901
++#: config/cris/cris.c:931
+ #, fuzzy
+ msgid "invalid operand for 'm' modifier"
+ msgstr "Μη έγκυÏη επιλογή `%s'"
+
+-#: config/cris/cris.c:926
++#: config/cris/cris.c:956
+ #, fuzzy
+ msgid "invalid operand for 'A' modifier"
+ msgstr "Μη έγκυÏη επιλογή `%s'"
+
+-#: config/cris/cris.c:949
++#: config/cris/cris.c:979
+ #, fuzzy
+ msgid "invalid operand for 'D' modifier"
+ msgstr "Μη έγκυÏη επιλογή `%s'"
+
+-#: config/cris/cris.c:963
++#: config/cris/cris.c:993
+ #, fuzzy
+ msgid "invalid operand for 'T' modifier"
+ msgstr "Μη έγκυÏη επιλογή `%s'"
+
+-#: config/cris/cris.c:972
++#: config/cris/cris.c:1013
+ #, fuzzy
+ msgid "invalid operand modifier letter"
+ msgstr "Μη έγκυÏη επιλογή `%s'"
+
+-#: config/cris/cris.c:1029
++#: config/cris/cris.c:1070
+ msgid "unexpected multiplicative operand"
+ msgstr ""
+
+-#: config/cris/cris.c:1049
++#: config/cris/cris.c:1090
+ #, fuzzy
+ msgid "unexpected operand"
+ msgstr "Μη οÏισμένο όνομα %s"
+
+ # src/request.c:806 src/request.c:912
+-#: config/cris/cris.c:1082 config/cris/cris.c:1092
++#: config/cris/cris.c:1123 config/cris/cris.c:1133
+ #, fuzzy
+ msgid "unrecognized address"
+ msgstr "Μη αναγνωÏίσημο όνομα επιφάνειας `%s'"
+
+-#: config/cris/cris.c:2019
++#: config/cris/cris.c:2209
+ #, fuzzy
+ msgid "unrecognized supposed constant"
+ msgstr "άγνωστο Ï€Ïόθεμα: %s"
+
+-#: config/cris/cris.c:2394 config/cris/cris.c:2458
++#: config/cris/cris.c:2638 config/cris/cris.c:2702
+ msgid "unexpected side-effects in address"
+ msgstr ""
+
+ #. Can't possibly get a GOT-needing-fixup for a function-call,
+ #. right?
+-#: config/cris/cris.c:3253
++#: config/cris/cris.c:3539
+ msgid "Unidentifiable call op"
+ msgstr ""
+
+-#: config/cris/cris.c:3304
++#: config/cris/cris.c:3590
+ #, c-format
+ msgid "PIC register isn't set up"
+ msgstr ""
+@@ -3210,98 +3136,98 @@
+ msgid "fr30_print_operand: unhandled MEM"
+ msgstr ""
+
+-#: config/frv/frv.c:2542
++#: config/frv/frv.c:2546
+ #, fuzzy
+ msgid "bad insn to frv_print_operand_address:"
+ msgstr "Μη έγκυÏη επιλογή `%s'"
+
+-#: config/frv/frv.c:2553
++#: config/frv/frv.c:2557
+ #, fuzzy
+ msgid "bad register to frv_print_operand_memory_reference_reg:"
+ msgstr "Μη έγκυÏη επιλογή `%s'"
+
+-#: config/frv/frv.c:2592 config/frv/frv.c:2602 config/frv/frv.c:2611
+-#: config/frv/frv.c:2632 config/frv/frv.c:2637
++#: config/frv/frv.c:2596 config/frv/frv.c:2606 config/frv/frv.c:2615
++#: config/frv/frv.c:2636 config/frv/frv.c:2641
+ #, fuzzy
+ msgid "bad insn to frv_print_operand_memory_reference:"
+ msgstr "Μη έγκυÏη επιλογή `%s'"
+
+-#: config/frv/frv.c:2723
++#: config/frv/frv.c:2727
+ #, fuzzy, c-format
+ msgid "bad condition code"
+ msgstr "Δεν είναι δυνατή η καταχώÏηση της υπηÏεσίας"
+
+-#: config/frv/frv.c:2798
++#: config/frv/frv.c:2802
+ #, fuzzy
+ msgid "bad insn in frv_print_operand, bad const_double"
+ msgstr "Μη έγκυÏη επιλογή `%s'"
+
+-#: config/frv/frv.c:2859
++#: config/frv/frv.c:2863
+ #, fuzzy
+ msgid "bad insn to frv_print_operand, 'e' modifier:"
+ msgstr "Μη έγκυÏη επιλογή `%s'"
+
+-#: config/frv/frv.c:2867
++#: config/frv/frv.c:2871
+ #, fuzzy
+ msgid "bad insn to frv_print_operand, 'F' modifier:"
+ msgstr "Μη έγκυÏη επιλογή `%s'"
+
+-#: config/frv/frv.c:2883
++#: config/frv/frv.c:2887
+ #, fuzzy
+ msgid "bad insn to frv_print_operand, 'f' modifier:"
+ msgstr "Μη έγκυÏη επιλογή `%s'"
+
+-#: config/frv/frv.c:2897
++#: config/frv/frv.c:2901
+ #, fuzzy
+ msgid "bad insn to frv_print_operand, 'g' modifier:"
+ msgstr "Μη έγκυÏη επιλογή `%s'"
+
+-#: config/frv/frv.c:2945
++#: config/frv/frv.c:2949
+ #, fuzzy
+ msgid "bad insn to frv_print_operand, 'L' modifier:"
+ msgstr "Μη έγκυÏη επιλογή `%s'"
+
+-#: config/frv/frv.c:2958
++#: config/frv/frv.c:2962
+ #, fuzzy
+ msgid "bad insn to frv_print_operand, 'M/N' modifier:"
+ msgstr "Μη έγκυÏη επιλογή `%s'"
+
+-#: config/frv/frv.c:2979
++#: config/frv/frv.c:2983
+ #, fuzzy
+ msgid "bad insn to frv_print_operand, 'O' modifier:"
+ msgstr "Μη έγκυÏη επιλογή `%s'"
+
+-#: config/frv/frv.c:2997
++#: config/frv/frv.c:3001
+ #, fuzzy
+ msgid "bad insn to frv_print_operand, P modifier:"
+ msgstr "Μη έγκυÏη επιλογή `%s'"
+
+-#: config/frv/frv.c:3017
++#: config/frv/frv.c:3021
+ #, fuzzy
+ msgid "bad insn in frv_print_operand, z case"
+ msgstr "Μη έγκυÏη επιλογή `%s'"
+
+-#: config/frv/frv.c:3048
++#: config/frv/frv.c:3052
+ #, fuzzy
+ msgid "bad insn in frv_print_operand, 0 case"
+ msgstr "Μη έγκυÏη επιλογή `%s'"
+
+-#: config/frv/frv.c:3053
++#: config/frv/frv.c:3057
+ #, fuzzy
+ msgid "frv_print_operand: unknown code"
+ msgstr "μη έγκυÏο δικαίωμα"
+
+-#: config/frv/frv.c:4422
++#: config/frv/frv.c:4426
+ #, fuzzy
+ msgid "bad output_move_single operand"
+ msgstr "αÏχείο εξόδου"
+
+-#: config/frv/frv.c:4549
++#: config/frv/frv.c:4553
+ #, fuzzy
+ msgid "bad output_move_double operand"
+ msgstr "αÏχείο εξόδου"
+
+-#: config/frv/frv.c:4691
++#: config/frv/frv.c:4695
+ #, fuzzy
+ msgid "bad output_condmove_single operand"
+ msgstr "αÏχείο εξόδου"
+@@ -3320,28 +3246,28 @@
+ msgid " (frv)"
+ msgstr ""
+
+-#: config/i386/i386.c:8218
++#: config/i386/i386.c:8273
+ #, fuzzy, c-format
+ msgid "invalid UNSPEC as operand"
+ msgstr "μη έγκυÏη μετατόπιση UTC"
+
+-#: config/i386/i386.c:8924
++#: config/i386/i386.c:8979
+ #, c-format
+ msgid "operand is neither a constant nor a condition code, invalid operand code 'c'"
+ msgstr ""
+
+-#: config/i386/i386.c:9040
++#: config/i386/i386.c:9095
+ #, fuzzy, c-format
+ msgid "invalid operand code '%c'"
+ msgstr "Μη έγκυÏη επιλογή `%s'"
+
+-#: config/i386/i386.c:9089
++#: config/i386/i386.c:9144
+ #, fuzzy, c-format
+ msgid "invalid constraints for operand"
+ msgstr "μη έγκυÏος χÏήστης"
+
+ # src/grep.c:1133
+-#: config/i386/i386.c:16348
++#: config/i386/i386.c:16423
+ #, fuzzy
+ msgid "unknown insn mode"
+ msgstr "άγνωστη μέθοδος καταλόγων"
+@@ -3363,37 +3289,37 @@
+ msgid "environment variable DJGPP points to corrupt file '%s'"
+ msgstr ""
+
+-#: config/ia64/ia64.c:4770
++#: config/ia64/ia64.c:4771
+ #, c-format
+ msgid "ia64_print_operand: unknown code"
+ msgstr ""
+
+-#: config/ia64/ia64.c:9889
++#: config/ia64/ia64.c:9890
+ #, fuzzy
+ msgid "invalid conversion from %<__fpreg%>"
+ msgstr "η μετατÏοπή από `%s' σε `%s' δεν υποστηÏίζετε"
+
+-#: config/ia64/ia64.c:9892
++#: config/ia64/ia64.c:9893
+ #, fuzzy
+ msgid "invalid conversion to %<__fpreg%>"
+ msgstr "μη έγκυÏος χαÏακτήÏας `%c' στο Ï„Ïπο αλφαÏÎ¹Î¸Î¼Î·Ï„Î¹ÎºÎ¿Ï `%s'"
+
+-#: config/ia64/ia64.c:9905 config/ia64/ia64.c:9916
++#: config/ia64/ia64.c:9906 config/ia64/ia64.c:9917
+ #, fuzzy
+ msgid "invalid operation on %<__fpreg%>"
+ msgstr "Μη έγκυÏος χαÏακτήÏας παÏαβολής"
+
+-#: config/iq2000/iq2000.c:3118
++#: config/iq2000/iq2000.c:3122
+ #, fuzzy, c-format
+ msgid "invalid %%P operand"
+ msgstr "μη έγκυÏος χÏήστης"
+
+-#: config/iq2000/iq2000.c:3126 config/rs6000/rs6000.c:11607
++#: config/iq2000/iq2000.c:3130 config/rs6000/rs6000.c:11818
+ #, fuzzy, c-format
+ msgid "invalid %%p value"
+ msgstr "μη έγκυÏος χÏήστης"
+
+-#: config/iq2000/iq2000.c:3182
++#: config/iq2000/iq2000.c:3186
+ #, c-format
+ msgid "invalid use of %%d, %%x, or %%X"
+ msgstr ""
+@@ -3435,7 +3361,7 @@
+ msgstr ""
+
+ #: config/m32r/m32r.c:2030 config/m32r/m32r.c:2044
+-#: config/rs6000/rs6000.c:19870
++#: config/rs6000/rs6000.c:20087
+ #, fuzzy
+ msgid "bad address"
+ msgstr "Εσφαλμένη διεÏθυνση"
+@@ -3487,59 +3413,59 @@
+ msgid "invalid Z register replacement for insn"
+ msgstr ""
+
+-#: config/mips/mips.c:6313 config/mips/mips.c:6334 config/mips/mips.c:6438
++#: config/mips/mips.c:6371 config/mips/mips.c:6392 config/mips/mips.c:6496
+ #, fuzzy, c-format
+ msgid "'%%%c' is not a valid operand prefix"
+ msgstr "%s' δεν είναι ισχÏων θετικός ακέÏαιος."
+
+-#: config/mips/mips.c:6382 config/mips/mips.c:6389 config/mips/mips.c:6396
+-#: config/mips/mips.c:6456
++#: config/mips/mips.c:6440 config/mips/mips.c:6447 config/mips/mips.c:6454
++#: config/mips/mips.c:6514
+ #, fuzzy, c-format
+ msgid "invalid use of '%%%c'"
+ msgstr "Μη έγκυÏη ημεÏομηνία `%s'."
+
+-#: config/mips/mips.c:6701
++#: config/mips/mips.c:6761
+ msgid "mips_debugger_offset called with non stack/frame/arg pointer"
+ msgstr ""
+
+-#: config/mmix/mmix.c:1487 config/mmix/mmix.c:1617
++#: config/mmix/mmix.c:1483 config/mmix/mmix.c:1613
+ msgid "MMIX Internal: Expected a CONST_INT, not this"
+ msgstr ""
+
+-#: config/mmix/mmix.c:1566
++#: config/mmix/mmix.c:1562
+ msgid "MMIX Internal: Bad value for 'm', not a CONST_INT"
+ msgstr ""
+
+-#: config/mmix/mmix.c:1585
++#: config/mmix/mmix.c:1581
+ msgid "MMIX Internal: Expected a register, not this"
+ msgstr ""
+
+-#: config/mmix/mmix.c:1595
++#: config/mmix/mmix.c:1591
+ msgid "MMIX Internal: Expected a constant, not this"
+ msgstr ""
+
+ #. We need the original here.
+-#: config/mmix/mmix.c:1679
++#: config/mmix/mmix.c:1675
+ msgid "MMIX Internal: Cannot decode this operand"
+ msgstr ""
+
+-#: config/mmix/mmix.c:1736
++#: config/mmix/mmix.c:1732
+ msgid "MMIX Internal: This is not a recognized address"
+ msgstr ""
+
+-#: config/mmix/mmix.c:2669
++#: config/mmix/mmix.c:2665
+ msgid "MMIX Internal: Trying to output invalidly reversed condition:"
+ msgstr ""
+
+-#: config/mmix/mmix.c:2676
++#: config/mmix/mmix.c:2672
+ msgid "MMIX Internal: What's the CC of this?"
+ msgstr ""
+
+-#: config/mmix/mmix.c:2680
++#: config/mmix/mmix.c:2676
+ msgid "MMIX Internal: What is the CC of this?"
+ msgstr ""
+
+-#: config/mmix/mmix.c:2744
++#: config/mmix/mmix.c:2740
+ msgid "MMIX Internal: This is not a constant:"
+ msgstr ""
+
+@@ -3565,82 +3491,82 @@
+ msgid "Try running '%s' in the shell to raise its limit.\n"
+ msgstr ""
+
+-#: config/rs6000/rs6000.c:11434
++#: config/rs6000/rs6000.c:11645
+ #, fuzzy, c-format
+ msgid "invalid %%f value"
+ msgstr "μη έγκυÏος χÏήστης"
+
+-#: config/rs6000/rs6000.c:11443
++#: config/rs6000/rs6000.c:11654
+ #, fuzzy, c-format
+ msgid "invalid %%F value"
+ msgstr "μη έγκυÏος χÏήστης"
+
+-#: config/rs6000/rs6000.c:11452
++#: config/rs6000/rs6000.c:11663
+ #, fuzzy, c-format
+ msgid "invalid %%G value"
+ msgstr "μη έγκυÏος χÏήστης"
+
+-#: config/rs6000/rs6000.c:11487
++#: config/rs6000/rs6000.c:11698
+ #, fuzzy, c-format
+ msgid "invalid %%j code"
+ msgstr "μη έγκυÏο δικαίωμα"
+
+-#: config/rs6000/rs6000.c:11497
++#: config/rs6000/rs6000.c:11708
+ #, fuzzy, c-format
+ msgid "invalid %%J code"
+ msgstr "μη έγκυÏο δικαίωμα"
+
+-#: config/rs6000/rs6000.c:11507
++#: config/rs6000/rs6000.c:11718
+ #, fuzzy, c-format
+ msgid "invalid %%k value"
+ msgstr "μη έγκυÏος χÏήστης"
+
+-#: config/rs6000/rs6000.c:11527 config/xtensa/xtensa.c:2022
++#: config/rs6000/rs6000.c:11738 config/xtensa/xtensa.c:2028
+ #, fuzzy, c-format
+ msgid "invalid %%K value"
+ msgstr "μη έγκυÏος χÏήστης"
+
+-#: config/rs6000/rs6000.c:11597
++#: config/rs6000/rs6000.c:11808
+ #, fuzzy, c-format
+ msgid "invalid %%O value"
+ msgstr "μη έγκυÏος χÏήστης"
+
+-#: config/rs6000/rs6000.c:11644
++#: config/rs6000/rs6000.c:11855
+ #, fuzzy, c-format
+ msgid "invalid %%q value"
+ msgstr "μη έγκυÏος χÏήστης"
+
+-#: config/rs6000/rs6000.c:11688
++#: config/rs6000/rs6000.c:11899
+ #, fuzzy, c-format
+ msgid "invalid %%S value"
+ msgstr "μη έγκυÏος χÏήστης"
+
+-#: config/rs6000/rs6000.c:11728
++#: config/rs6000/rs6000.c:11939
+ #, fuzzy, c-format
+ msgid "invalid %%T value"
+ msgstr "μη έγκυÏος χÏήστης"
+
+-#: config/rs6000/rs6000.c:11738
++#: config/rs6000/rs6000.c:11949
+ #, fuzzy, c-format
+ msgid "invalid %%u value"
+ msgstr "μη έγκυÏος χÏήστης"
+
+-#: config/rs6000/rs6000.c:11747 config/xtensa/xtensa.c:1992
++#: config/rs6000/rs6000.c:11958 config/xtensa/xtensa.c:1998
+ #, fuzzy, c-format
+ msgid "invalid %%v value"
+ msgstr "μη έγκυÏος χÏήστης"
+
+-#: config/rs6000/rs6000.c:21768
++#: config/rs6000/rs6000.c:21946
+ #, fuzzy
+ msgid "AltiVec argument passed to unprototyped function"
+ msgstr "Ï€Î¿Î»Ï Î»Î¯Î³Î± οÏίσματα"
+
+-#: config/s390/s390.c:4561
++#: config/s390/s390.c:4560
+ #, fuzzy, c-format
+ msgid "cannot decompose address"
+ msgstr "Δεν είναι δυνατή η εκχώÏηση της ζητηθήσας διεÏθυνσης"
+
+-#: config/s390/s390.c:4771
++#: config/s390/s390.c:4770
+ msgid "UNKNOWN in print_operand !?"
+ msgstr ""
+
+@@ -3650,89 +3576,89 @@
+ msgid "invalid operand for code: '%c'"
+ msgstr "Μη έγκυÏη επιλογή `%s'"
+
+-#: config/sh/sh.c:746
++#: config/sh/sh.c:749
+ #, fuzzy, c-format
+ msgid "invalid operand to %%R"
+ msgstr "Μη έγκυÏη επιλογή `%s'"
+
+-#: config/sh/sh.c:773
++#: config/sh/sh.c:776
+ #, fuzzy, c-format
+ msgid "invalid operand to %%S"
+ msgstr "Μη έγκυÏη επιλογή `%s'"
+
+-#: config/sh/sh.c:8095
++#: config/sh/sh.c:8098
+ msgid "created and used with different architectures / ABIs"
+ msgstr ""
+
+-#: config/sh/sh.c:8097
++#: config/sh/sh.c:8100
+ msgid "created and used with different ABIs"
+ msgstr ""
+
+-#: config/sh/sh.c:8099
++#: config/sh/sh.c:8102
+ msgid "created and used with different endianness"
+ msgstr ""
+
+-#: config/sparc/sparc.c:6803 config/sparc/sparc.c:6809
++#: config/sparc/sparc.c:6806 config/sparc/sparc.c:6812
+ #, fuzzy, c-format
+ msgid "invalid %%Y operand"
+ msgstr "μη έγκυÏος χÏήστης"
+
+-#: config/sparc/sparc.c:6879
++#: config/sparc/sparc.c:6882
+ #, fuzzy, c-format
+ msgid "invalid %%A operand"
+ msgstr "μη έγκυÏος χÏήστης"
+
+-#: config/sparc/sparc.c:6889
++#: config/sparc/sparc.c:6892
+ #, fuzzy, c-format
+ msgid "invalid %%B operand"
+ msgstr "μη έγκυÏος χÏήστης"
+
+-#: config/sparc/sparc.c:6928
++#: config/sparc/sparc.c:6931
+ #, fuzzy, c-format
+ msgid "invalid %%c operand"
+ msgstr "μη έγκυÏος χÏήστης"
+
+-#: config/sparc/sparc.c:6950
++#: config/sparc/sparc.c:6953
+ #, fuzzy, c-format
+ msgid "invalid %%d operand"
+ msgstr "μη έγκυÏος χÏήστης"
+
+-#: config/sparc/sparc.c:6967
++#: config/sparc/sparc.c:6970
+ #, fuzzy, c-format
+ msgid "invalid %%f operand"
+ msgstr "μη έγκυÏος χÏήστης"
+
+-#: config/sparc/sparc.c:6981
++#: config/sparc/sparc.c:6984
+ #, fuzzy, c-format
+ msgid "invalid %%s operand"
+ msgstr "μη έγκυÏος χÏήστης"
+
+-#: config/sparc/sparc.c:7035
++#: config/sparc/sparc.c:7038
+ #, c-format
+ msgid "long long constant not a valid immediate operand"
+ msgstr ""
+
+-#: config/sparc/sparc.c:7038
++#: config/sparc/sparc.c:7041
+ #, c-format
+ msgid "floating point constant not a valid immediate operand"
+ msgstr ""
+
+-#: config/stormy16/stormy16.c:1775 config/stormy16/stormy16.c:1846
++#: config/stormy16/stormy16.c:1748 config/stormy16/stormy16.c:1819
+ #, fuzzy, c-format
+ msgid "'B' operand is not constant"
+ msgstr "μη τεÏματιζμένο αλφαÏιθμητικό σταθεÏάς"
+
+-#: config/stormy16/stormy16.c:1802
++#: config/stormy16/stormy16.c:1775
+ #, c-format
+ msgid "'B' operand has multiple bits set"
+ msgstr ""
+
+-#: config/stormy16/stormy16.c:1828
++#: config/stormy16/stormy16.c:1801
+ #, fuzzy, c-format
+ msgid "'o' operand is not constant"
+ msgstr "μη τεÏματιζμένο αλφαÏιθμητικό σταθεÏάς"
+
+-#: config/stormy16/stormy16.c:1860
++#: config/stormy16/stormy16.c:1833
+ #, c-format
+ msgid "xstormy16_print_operand: unknown code"
+ msgstr ""
+@@ -3746,61 +3672,61 @@
+ msgid "output_move_single:"
+ msgstr "αÏχείο εξόδου"
+
+-#: config/xtensa/xtensa.c:652 config/xtensa/xtensa.c:684
+-#: config/xtensa/xtensa.c:693
++#: config/xtensa/xtensa.c:656 config/xtensa/xtensa.c:688
++#: config/xtensa/xtensa.c:697
+ #, fuzzy
+ msgid "bad test"
+ msgstr "Εσφαλμένη διεÏθυνση"
+
+-#: config/xtensa/xtensa.c:1980
++#: config/xtensa/xtensa.c:1986
+ #, fuzzy, c-format
+ msgid "invalid %%D value"
+ msgstr "μη έγκυÏος χÏήστης"
+
+-#: config/xtensa/xtensa.c:2017
++#: config/xtensa/xtensa.c:2023
+ #, fuzzy
+ msgid "invalid mask"
+ msgstr "μη έγκυÏος χÏήστης"
+
+-#: config/xtensa/xtensa.c:2043
++#: config/xtensa/xtensa.c:2049
+ #, fuzzy, c-format
+ msgid "invalid %%x value"
+ msgstr "μη έγκυÏος χÏήστης"
+
+-#: config/xtensa/xtensa.c:2050
++#: config/xtensa/xtensa.c:2056
+ #, fuzzy, c-format
+ msgid "invalid %%d value"
+ msgstr "μη έγκυÏος χÏήστης"
+
+-#: config/xtensa/xtensa.c:2071 config/xtensa/xtensa.c:2081
++#: config/xtensa/xtensa.c:2077 config/xtensa/xtensa.c:2087
+ #, fuzzy, c-format
+ msgid "invalid %%t/%%b value"
+ msgstr "μη έγκυÏος χÏήστης"
+
+-#: config/xtensa/xtensa.c:2123
++#: config/xtensa/xtensa.c:2129
+ #, fuzzy
+ msgid "invalid address"
+ msgstr "Ακατάλληλη χÏήση του διαμοÏφωτή διεÏθυνσης"
+
+-#: config/xtensa/xtensa.c:2148
++#: config/xtensa/xtensa.c:2154
+ #, fuzzy
+ msgid "no register in address"
+ msgstr "μη έγκυÏος χÏόνος έναÏξης"
+
+-#: config/xtensa/xtensa.c:2156
++#: config/xtensa/xtensa.c:2162
+ #, fuzzy
+ msgid "address offset not a constant"
+ msgstr "%s' δεν είναι ισχÏων θετικός ακέÏαιος."
+
+-#: cp/call.c:2514
++#: cp/call.c:2500
+ msgid "candidates are:"
+ msgstr ""
+
+-#: cp/call.c:6463
++#: cp/call.c:6487
+ msgid "candidate 1:"
+ msgstr ""
+
+-#: cp/call.c:6464
++#: cp/call.c:6488
+ msgid "candidate 2:"
+ msgstr ""
+
+@@ -3846,52 +3772,52 @@
+ msgid "Integer outside symmetric range implied by Standard Fortran at %L"
+ msgstr ""
+
+-#: fortran/arith.c:1425
++#: fortran/arith.c:1472
+ #, fuzzy
+ msgid "elemental binary operation"
+ msgstr "Αγνωστος δυαδικός χειÏιστής."
+
+-#: fortran/arith.c:1997
++#: fortran/arith.c:2044
+ #, no-c-format
+ msgid "Arithmetic OK converting %s to %s at %L"
+ msgstr ""
+
+-#: fortran/arith.c:2001
++#: fortran/arith.c:2048
+ #, no-c-format
+ msgid "Arithmetic overflow converting %s to %s at %L. This check can be disabled with the option -fno-range-check"
+ msgstr ""
+
+-#: fortran/arith.c:2006
++#: fortran/arith.c:2053
+ #, no-c-format
+ msgid "Arithmetic underflow converting %s to %s at %L"
+ msgstr ""
+
+-#: fortran/arith.c:2010
++#: fortran/arith.c:2057
+ #, no-c-format
+ msgid "Arithmetic NaN converting %s to %s at %L"
+ msgstr ""
+
+-#: fortran/arith.c:2014
++#: fortran/arith.c:2061
+ #, fuzzy, no-c-format
+ msgid "Division by zero converting %s to %s at %L"
+ msgstr "ΔιαίÏεση με μηδέν στην αποτίμηση: %s"
+
+-#: fortran/arith.c:2018
++#: fortran/arith.c:2065
+ #, no-c-format
+ msgid "Array operands are incommensurate converting %s to %s at %L"
+ msgstr ""
+
+-#: fortran/arith.c:2022
++#: fortran/arith.c:2069
+ #, no-c-format
+ msgid "Integer outside symmetric range implied by Standard Fortran converting %s to %s at %L"
+ msgstr ""
+
+-#: fortran/arith.c:2355
++#: fortran/arith.c:2402
+ #, fuzzy, no-c-format
+ msgid "The Hollerith constant at %L is too long to convert to %s"
+ msgstr "μη έγκυÏος σταθεÏός χαÏακτήÏας στο αλφαÏιθμιτικό"
+
+-#: fortran/arith.c:2513
++#: fortran/arith.c:2560
+ #, no-c-format
+ msgid "Enumerator exceeds the C integer type at %C"
+ msgstr ""
+@@ -3921,72 +3847,72 @@
+ msgid "Variable '%s' at %L in this context must be constant"
+ msgstr ""
+
+-#: fortran/array.c:299
++#: fortran/array.c:314
+ #, no-c-format
+ msgid "Expected expression in array specification at %C"
+ msgstr ""
+
+-#: fortran/array.c:386
++#: fortran/array.c:392
+ #, no-c-format
+ msgid "Bad array specification for an explicitly shaped array at %C"
+ msgstr ""
+
+-#: fortran/array.c:396
++#: fortran/array.c:402
+ #, no-c-format
+ msgid "Bad array specification for assumed shape array at %C"
+ msgstr ""
+
+-#: fortran/array.c:410
++#: fortran/array.c:416
+ #, no-c-format
+ msgid "Bad specification for deferred shape array at %C"
+ msgstr ""
+
+-#: fortran/array.c:414
++#: fortran/array.c:420
+ #, no-c-format
+ msgid "Bad specification for assumed size array at %C"
+ msgstr ""
+
+-#: fortran/array.c:423
++#: fortran/array.c:429
+ #, no-c-format
+ msgid "Expected another dimension in array declaration at %C"
+ msgstr ""
+
+-#: fortran/array.c:429
++#: fortran/array.c:435
+ #, no-c-format
+ msgid "Array specification at %C has more than %d dimensions"
+ msgstr ""
+
+-#: fortran/array.c:635
++#: fortran/array.c:641
+ #, fuzzy, no-c-format
+ msgid "duplicated initializer"
+ msgstr "μη έγκυÏο μέγεθος οÏιζόντιου στηλοθέτη: %s"
+
+-#: fortran/array.c:727
++#: fortran/array.c:733
+ #, no-c-format
+ msgid "DO-iterator '%s' at %L is inside iterator of the same name"
+ msgstr ""
+
+-#: fortran/array.c:829 fortran/array.c:938
++#: fortran/array.c:835 fortran/array.c:944
+ #, fuzzy, no-c-format
+ msgid "Syntax error in array constructor at %C"
+ msgstr "συντακτικό σφάλμα στον καθοÏισμό σειÏάς"
+
+-#: fortran/array.c:884
++#: fortran/array.c:890
+ #, no-c-format
+ msgid "Fortran 2003: [...] style array constructors at %C"
+ msgstr ""
+
+-#: fortran/array.c:898
++#: fortran/array.c:904
+ #, fuzzy, no-c-format
+ msgid "Empty array constructor at %C is not allowed"
+ msgstr "Η λειτουÏγία δεν έχει υλοποιηθεί"
+
+-#: fortran/array.c:982
++#: fortran/array.c:988
+ #, no-c-format
+ msgid "Element in %s array constructor at %L is %s"
+ msgstr ""
+
+-#: fortran/array.c:1309
++#: fortran/array.c:1315
+ #, no-c-format
+ msgid "Iterator step at %L cannot be zero"
+ msgstr ""
+@@ -4006,7 +3932,7 @@
+ msgid "'%s' argument of '%s' intrinsic at %L must be a numeric type"
+ msgstr ""
+
+-#: fortran/check.c:101 fortran/check.c:817 fortran/check.c:827
++#: fortran/check.c:101 fortran/check.c:810 fortran/check.c:820
+ #, no-c-format
+ msgid "'%s' argument of '%s' intrinsic at %L must be INTEGER or REAL"
+ msgstr ""
+@@ -4071,220 +3997,215 @@
+ msgid "'%s' argument of '%s' intrinsic at %L must be a variable"
+ msgstr "Η παÏάμετÏος στο `%s' Ï€Ïέπει να είναι ένας απλός χαÏακτήÏας"
+
+-#: fortran/check.c:320
++#: fortran/check.c:356
+ #, no-c-format
+-msgid "Missing DIM parameter in intrinsic '%s' at %L"
+-msgstr ""
+-
+-#: fortran/check.c:363
+-#, no-c-format
+ msgid "'dim' argument of '%s' intrinsic at %L is not a valid dimension index"
+ msgstr ""
+
+-#: fortran/check.c:433
++#: fortran/check.c:426
+ #, no-c-format
+ msgid "Unequal character lengths (%ld and %ld) in %s intrinsic at %L"
+ msgstr ""
+
+-#: fortran/check.c:535 fortran/check.c:1938 fortran/check.c:1953
++#: fortran/check.c:528 fortran/check.c:1932 fortran/check.c:1947
+ #, no-c-format
+ msgid "'%s' argument of '%s' intrinsic at %L must be ALLOCATABLE"
+ msgstr ""
+
+-#: fortran/check.c:559 fortran/check.c:3703
++#: fortran/check.c:552 fortran/check.c:3697
+ #, no-c-format
+ msgid "'%s' and '%s' arguments of '%s' intrinsic at %L must have the same type"
+ msgstr ""
+
+-#: fortran/check.c:568 fortran/check.c:1143 fortran/check.c:1286
+-#: fortran/check.c:1360 fortran/check.c:1616
++#: fortran/check.c:561 fortran/check.c:1137 fortran/check.c:1280
++#: fortran/check.c:1354 fortran/check.c:1610
+ #, no-c-format
+ msgid "Extension: Different type kinds at %L"
+ msgstr ""
+
+-#: fortran/check.c:608 fortran/check.c:2022
++#: fortran/check.c:601 fortran/check.c:2016
+ #, no-c-format
+ msgid "'%s' argument of '%s' intrinsic at %L must be a POINTER"
+ msgstr ""
+
+-#: fortran/check.c:628
++#: fortran/check.c:621
+ #, no-c-format
+ msgid "'%s' argument of '%s' intrinsic at %L must be a pointer or target VARIABLE or FUNCTION"
+ msgstr ""
+
+-#: fortran/check.c:636
++#: fortran/check.c:629
+ #, no-c-format
+ msgid "'%s' argument of '%s' intrinsic at %L must be a POINTER or a TARGET"
+ msgstr ""
+
+-#: fortran/check.c:652
++#: fortran/check.c:645
+ #, no-c-format
+ msgid "Array section with a vector subscript at %L shall not be the target of a pointer"
+ msgstr ""
+
+-#: fortran/check.c:663
++#: fortran/check.c:656
+ #, no-c-format
+ msgid "NULL pointer at %L is not permitted as actual argument of '%s' intrinsic function"
+ msgstr ""
+
+-#: fortran/check.c:798 fortran/check.c:915
++#: fortran/check.c:791 fortran/check.c:910
+ #, no-c-format
+ msgid "'%s' argument of '%s' intrinsic at %L must not be present if 'x' is COMPLEX"
+ msgstr ""
+
+-#: fortran/check.c:848 fortran/check.c:1205 fortran/check.c:1308
+-#: fortran/check.c:1467 fortran/check.c:1484 fortran/check.c:2318
+-#: fortran/check.c:2444 fortran/check.c:2779 fortran/check.c:2821
++#: fortran/check.c:841 fortran/check.c:1199 fortran/check.c:1302
++#: fortran/check.c:1461 fortran/check.c:1478 fortran/check.c:2312
++#: fortran/check.c:2438 fortran/check.c:2773 fortran/check.c:2815
+ #, no-c-format
+ msgid "Fortran 2003: '%s' intrinsic with KIND argument at %L"
+ msgstr ""
+
+-#: fortran/check.c:964 fortran/check.c:1712 fortran/check.c:1720
++#: fortran/check.c:959 fortran/check.c:1706 fortran/check.c:1714
+ #, no-c-format
+ msgid "'%s' argument of '%s' intrinsic at %L must be numeric or LOGICAL"
+ msgstr ""
+
+-#: fortran/check.c:978
++#: fortran/check.c:973
+ #, no-c-format
+ msgid "Different shape for arguments '%s' and '%s' at %L for intrinsic 'dot_product'"
+ msgstr ""
+
+-#: fortran/check.c:997 fortran/check.c:1005
++#: fortran/check.c:992 fortran/check.c:1000
+ #, no-c-format
+ msgid "'%s' argument of '%s' intrinsic at %L must be default real"
+ msgstr ""
+
+-#: fortran/check.c:1256
++#: fortran/check.c:1250
+ #, fuzzy, no-c-format
+ msgid "Argument of %s at %L must be of length one"
+ msgstr "Η παÏάμετÏος στο `%s' Ï€Ïέπει να είναι ένας απλός χαÏακτήÏας"
+
+-#: fortran/check.c:1315
++#: fortran/check.c:1309
+ #, no-c-format
+ msgid "'%s' argument of '%s' intrinsic at %L must be the same kind as '%s'"
+ msgstr ""
+
+-#: fortran/check.c:1440
++#: fortran/check.c:1434
+ #, no-c-format
+ msgid "'%s' argument of '%s' intrinsic at %L must be a non-derived type"
+ msgstr ""
+
+-#: fortran/check.c:1589
++#: fortran/check.c:1583
+ #, fuzzy, no-c-format
+ msgid "Intrinsic '%s' at %L must have at least two arguments"
+ msgstr "η `%s' παίÏνει είτε κανένα είτε δÏο οÏίσματα"
+
+-#: fortran/check.c:1622
++#: fortran/check.c:1616
+ #, no-c-format
+ msgid "'a%d' argument of '%s' intrinsic at %L must be %s(%d)"
+ msgstr ""
+
+-#: fortran/check.c:1655
++#: fortran/check.c:1649
+ #, no-c-format
+ msgid "Fortran 2003: '%s' intrinsic with CHARACTER argument at %L"
+ msgstr ""
+
+-#: fortran/check.c:1662
++#: fortran/check.c:1656
+ #, no-c-format
+ msgid "'a1' argument of '%s' intrinsic at %L must be INTEGER, REAL or CHARACTER"
+ msgstr ""
+
+-#: fortran/check.c:1734
++#: fortran/check.c:1728
+ #, no-c-format
+ msgid "Different shape on dimension 1 for arguments '%s' and '%s' at %L for intrinsic matmul"
+ msgstr ""
+
+-#: fortran/check.c:1753
++#: fortran/check.c:1747
+ #, no-c-format
+ msgid "Different shape on dimension 2 for argument '%s' and dimension 1 for argument '%s' at %L for intrinsic matmul"
+ msgstr ""
+
+-#: fortran/check.c:1762
++#: fortran/check.c:1756
+ #, no-c-format
+ msgid "'%s' argument of '%s' intrinsic at %L must be of rank 1 or 2"
+ msgstr ""
+
+-#: fortran/check.c:1964
++#: fortran/check.c:1958
+ #, no-c-format
+ msgid "the '%s' and '%s' arguments of '%s' intrinsic at %L must have the same rank %d/%d"
+ msgstr ""
+
+-#: fortran/check.c:1973
++#: fortran/check.c:1967
+ #, no-c-format
+ msgid "the '%s' and '%s' arguments of '%s' intrinsic at %L must be of the same kind %d/%d"
+ msgstr ""
+
+-#: fortran/check.c:2069
++#: fortran/check.c:2063
+ #, no-c-format
+ msgid "'%s' argument of '%s' intrinsic at %L must be of type REAL or COMPLEX"
+ msgstr ""
+
+-#: fortran/check.c:2090
++#: fortran/check.c:2084
+ #, no-c-format
+ msgid "'%s' argument of '%s' intrinsic at %L must be of a dummy variable"
+ msgstr ""
+
+-#: fortran/check.c:2098
++#: fortran/check.c:2092
+ #, no-c-format
+ msgid "'%s' argument of '%s' intrinsic at %L must be of an OPTIONAL dummy variable"
+ msgstr ""
+
+-#: fortran/check.c:2114
++#: fortran/check.c:2108
+ #, no-c-format
+ msgid "'%s' argument of '%s' intrinsic at %L must not be a subobject of '%s'"
+ msgstr ""
+
+-#: fortran/check.c:2231
++#: fortran/check.c:2225
+ #, no-c-format
+ msgid "'shape' argument of 'reshape' intrinsic at %L must be an array of constant size"
+ msgstr ""
+
+-#: fortran/check.c:2241
++#: fortran/check.c:2235
+ #, no-c-format
+ msgid "'shape' argument of 'reshape' intrinsic at %L has more than %d elements"
+ msgstr ""
+
+-#: fortran/check.c:2279
++#: fortran/check.c:2273
+ #, no-c-format
+ msgid "Without padding, there are not enough elements in the intrinsic RESHAPE source at %L to match the shape"
+ msgstr ""
+
+-#: fortran/check.c:2364
++#: fortran/check.c:2358
+ #, fuzzy, no-c-format
+ msgid "Missing arguments to %s intrinsic at %L"
+ msgstr "Λείπει παÏάμετÏος για `%s'"
+
+-#: fortran/check.c:2405
++#: fortran/check.c:2399
+ #, no-c-format
+ msgid "'source' argument of 'shape' intrinsic at %L must not be an assumed size array"
+ msgstr ""
+
+-#: fortran/check.c:2479
++#: fortran/check.c:2473
+ #, fuzzy, no-c-format
+ msgid "'%s' argument of '%s' intrinsic at %L must be less than rank %d"
+ msgstr "%s: οι τιμές του πεδίου `%s' δεν Ï€Ïέπει να είναι μεγαλÏτεÏες από %d"
+
+-#: fortran/check.c:2731
++#: fortran/check.c:2725
+ #, no-c-format
+ msgid "'MOLD' argument of 'TRANSFER' intrinsic at %L must not be %s"
+ msgstr ""
+
+-#: fortran/check.c:3050
++#: fortran/check.c:3044
+ #, fuzzy, no-c-format
+ msgid "Too many arguments to %s at %L"
+ msgstr "πάÏα πολλά οÏίσματα"
+
+-#: fortran/check.c:3162 fortran/check.c:3616 fortran/check.c:3640
++#: fortran/check.c:3156 fortran/check.c:3610 fortran/check.c:3634
+ #, no-c-format
+ msgid "'%s' argument of '%s' intrinsic at %L must be INTEGER or PROCEDURE"
+ msgstr ""
+
+-#: fortran/check.c:3338
++#: fortran/check.c:3332
+ #, no-c-format
+ msgid "'%s' argument of '%s' intrinsic at %L must be of a kind not wider than the default kind (%d)"
+ msgstr ""
+
+-#: fortran/check.c:3687 fortran/check.c:3695
++#: fortran/check.c:3681 fortran/check.c:3689
+ #, no-c-format
+ msgid "'%s' argument of '%s' intrinsic at %L must be INTEGER or LOGICAL"
+ msgstr ""
+@@ -4309,895 +4230,931 @@
+ msgid "'%s' at %L already is initialized at %L"
+ msgstr ""
+
++#: fortran/data.c:317
++#, no-c-format
++msgid "Data element below array lower bound at %L"
++msgstr ""
++
++#: fortran/data.c:329
++#, no-c-format
++msgid "Data element above array upper bound at %L"
++msgstr ""
++
+ # src/request.c:263
+-#: fortran/data.c:412
++#: fortran/data.c:435
+ #, fuzzy, no-c-format
+ msgid "Extension: re-initialization of '%s' at %L"
+ msgstr "Το βήμα αÏχικοποίησης απέτυχε"
+
+-#: fortran/decl.c:254
++#: fortran/decl.c:253
+ #, no-c-format
+ msgid "Host associated variable '%s' may not be in the DATA statement at %C"
+ msgstr ""
+
+-#: fortran/decl.c:261
++#: fortran/decl.c:260
+ #, no-c-format
+ msgid "Extension: initialization of common block variable '%s' in DATA statement at %C"
+ msgstr ""
+
+-#: fortran/decl.c:366
++#: fortran/decl.c:365
+ #, no-c-format
+ msgid "Symbol '%s' must be a PARAMETER in DATA statement at %C"
+ msgstr ""
+
+-#: fortran/decl.c:470
++#: fortran/decl.c:390
++#, fuzzy, no-c-format
++msgid "Invalid initializer %s in Data statement at %C"
++msgstr "Μη έγκυÏη ακέÏαια παÏάμετÏος `%s'"
++
++#: fortran/decl.c:493
+ #, no-c-format
+ msgid "Initialization at %C is not allowed in a PURE procedure"
+ msgstr ""
+
+-#: fortran/decl.c:529
++#: fortran/decl.c:552
+ #, no-c-format
+ msgid "DATA statement at %C is not allowed in a PURE procedure"
+ msgstr ""
+
+-#: fortran/decl.c:558
++#: fortran/decl.c:581
+ #, no-c-format
+ msgid "Bad INTENT specification at %C"
+ msgstr ""
+
+-#: fortran/decl.c:600
++#: fortran/decl.c:623
+ #, no-c-format
+ msgid "Conflict in attributes of function argument at %C"
+ msgstr ""
+
+-#: fortran/decl.c:647
++#: fortran/decl.c:676
+ #, no-c-format
+ msgid "Syntax error in character length specification at %C"
+ msgstr ""
+
+-#: fortran/decl.c:757
++#: fortran/decl.c:795
+ #, fuzzy, no-c-format
+ msgid "Procedure '%s' at %C is already defined at %L"
+ msgstr "το `%s' είναι Ï€Ïόγονος του `%s'"
+
+-#: fortran/decl.c:765
++#: fortran/decl.c:803
+ #, no-c-format
+ msgid "Name '%s' at %C is already defined as a generic interface at %L"
+ msgstr ""
+
+-#: fortran/decl.c:778
++#: fortran/decl.c:816
+ #, no-c-format
+ msgid "Procedure '%s' at %C has an explicit interface and must not have attributes declared at %L"
+ msgstr ""
+
+-#: fortran/decl.c:850
++#: fortran/decl.c:888
+ #, no-c-format
+ msgid "Procedure '%s' at %L must have the BIND(C) attribute to be C interoperable"
+ msgstr ""
+
+-#: fortran/decl.c:880
++#: fortran/decl.c:918
+ #, no-c-format
+ msgid "Type '%s' at %L is a parameter to the BIND(C) procedure '%s' but is not C interoperable because derived type '%s' is not C interoperable"
+ msgstr ""
+
+-#: fortran/decl.c:887
++#: fortran/decl.c:925
+ #, no-c-format
+ msgid "Variable '%s' at %L is a parameter to the BIND(C) procedure '%s' but may not be C interoperable"
+ msgstr ""
+
+-#: fortran/decl.c:902
++#: fortran/decl.c:940
+ #, no-c-format
+ msgid "Character argument '%s' at %L must be length 1 because procedure '%s' is BIND(C)"
+ msgstr ""
+
+-#: fortran/decl.c:916
++#: fortran/decl.c:954
+ #, no-c-format
+ msgid "Variable '%s' at %L cannot have the ALLOCATABLE attribute because procedure '%s' is BIND(C)"
+ msgstr ""
+
+-#: fortran/decl.c:925
++#: fortran/decl.c:963
+ #, no-c-format
+ msgid "Variable '%s' at %L cannot have the POINTER attribute because procedure '%s' is BIND(C)"
+ msgstr ""
+
+-#: fortran/decl.c:934
++#: fortran/decl.c:972
+ #, no-c-format
+ msgid "Variable '%s' at %L cannot have the OPTIONAL attribute because procedure '%s' is BIND(C)"
+ msgstr ""
+
+-#: fortran/decl.c:947
++#: fortran/decl.c:985
+ #, no-c-format
+ msgid "Assumed-shape array '%s' at %L cannot be an argument to the procedure '%s' at %L because the procedure is BIND(C)"
+ msgstr ""
+
+-#: fortran/decl.c:957
++#: fortran/decl.c:995
+ #, no-c-format
+ msgid "Deferred-shape array '%s' at %L cannot be an argument to the procedure '%s' at %L because the procedure is BIND(C)"
+ msgstr ""
+
+-#: fortran/decl.c:1033
++#: fortran/decl.c:1071
+ #, no-c-format
+ msgid "Variable '%s' in common block '%s' at %C must be declared with a C interoperable kind since common block '%s' is BIND(C)"
+ msgstr ""
+
+-#: fortran/decl.c:1069
++#: fortran/decl.c:1107
+ #, no-c-format
+ msgid "CHARACTER expression at %L is being truncated (%d/%d)"
+ msgstr ""
+
+-#: fortran/decl.c:1075
++#: fortran/decl.c:1113
+ #, no-c-format
+ msgid "The CHARACTER elements of the array constructor at %L must have the same length (%d/%d)"
+ msgstr ""
+
+ # src/request.c:263
+-#: fortran/decl.c:1165
++#: fortran/decl.c:1203
+ #, fuzzy, no-c-format
+ msgid "Initializer not allowed for PARAMETER '%s' at %C"
+ msgstr "Το βήμα αÏχικοποίησης απέτυχε"
+
+-#: fortran/decl.c:1174
+-#, no-c-format
+-msgid "Initializer not allowed for COMMON variable '%s' at %C"
+-msgstr ""
+-
+-#: fortran/decl.c:1184
++#: fortran/decl.c:1213
+ #, fuzzy, no-c-format
+ msgid "PARAMETER at %L is missing an initializer"
+ msgstr "έχει παÏαληφθεί το αÏχείο Ï€ÏοοÏισμοÏ"
+
+-#: fortran/decl.c:1194
++#: fortran/decl.c:1223
+ #, no-c-format
+ msgid "Variable '%s' at %C with an initializer already appears in a DATA statement"
+ msgstr ""
+
+-#: fortran/decl.c:1344
++#: fortran/decl.c:1373
+ #, no-c-format
+ msgid "Component at %C must have the POINTER attribute"
+ msgstr ""
+
+-#: fortran/decl.c:1352
++#: fortran/decl.c:1381
+ #, no-c-format
+ msgid "Array component of structure at %C must have explicit or deferred shape"
+ msgstr ""
+
+-#: fortran/decl.c:1378
++#: fortran/decl.c:1425
+ #, no-c-format
+ msgid "Allocatable component at %C must be an array"
+ msgstr ""
+
+-#: fortran/decl.c:1389
++#: fortran/decl.c:1436
+ #, no-c-format
+ msgid "Pointer array component of structure at %C must have a deferred shape"
+ msgstr ""
+
+-#: fortran/decl.c:1398
++#: fortran/decl.c:1445
+ #, no-c-format
+ msgid "Allocatable component of structure at %C must have a deferred shape"
+ msgstr ""
+
+-#: fortran/decl.c:1407
++#: fortran/decl.c:1454
+ #, no-c-format
+ msgid "Array component of structure at %C must have an explicit shape"
+ msgstr ""
+
+-#: fortran/decl.c:1433
++#: fortran/decl.c:1480
+ #, no-c-format
+ msgid "NULL() initialization at %C is ambiguous"
+ msgstr ""
+
+-#: fortran/decl.c:1556 fortran/decl.c:5197
++#: fortran/decl.c:1603 fortran/decl.c:5395
+ #, no-c-format
+ msgid "Duplicate array spec for Cray pointee at %C"
+ msgstr ""
+
+-#: fortran/decl.c:1616
++#: fortran/decl.c:1663
+ #, no-c-format
+ msgid "the type of '%s' at %C has not been declared within the interface"
+ msgstr ""
+
+-#: fortran/decl.c:1632
++#: fortran/decl.c:1679
+ #, fuzzy, no-c-format
+ msgid "Function name '%s' not allowed at %C"
+ msgstr "συμβολικοί σÏνδεσμοι δεν υποστηÏίζονται στο σÏστημα αυτό"
+
+-#: fortran/decl.c:1648
++#: fortran/decl.c:1695
+ #, no-c-format
+ msgid "Extension: Old-style initialization at %C"
+ msgstr ""
+
+-#: fortran/decl.c:1663
++#: fortran/decl.c:1710
+ #, fuzzy, no-c-format
+ msgid "Initialization at %C isn't for a pointer variable"
+ msgstr "%s μετατÏέπει ακέÏαιο σε δείκτη χωÏίς μετατÏοπέα"
+
+ # src/request.c:263
+-#: fortran/decl.c:1671
++#: fortran/decl.c:1718
+ #, fuzzy, no-c-format
+ msgid "Pointer initialization requires a NULL() at %C"
+ msgstr "Το βήμα αÏχικοποίησης απέτυχε"
+
+-#: fortran/decl.c:1677
++#: fortran/decl.c:1724
+ #, no-c-format
+ msgid "Initialization of pointer at %C is not allowed in a PURE procedure"
+ msgstr ""
+
+-#: fortran/decl.c:1690
++#: fortran/decl.c:1737
+ #, no-c-format
+ msgid "Pointer initialization at %C requires '=>', not '='"
+ msgstr ""
+
+-#: fortran/decl.c:1699 fortran/decl.c:6129
++#: fortran/decl.c:1746 fortran/decl.c:6361
+ #, fuzzy, no-c-format
+ msgid "Expected an initialization expression at %C"
+ msgstr "Μη έγκυÏη κανονική έκφÏαση"
+
+-#: fortran/decl.c:1705
++#: fortran/decl.c:1752
+ #, no-c-format
+ msgid "Initialization of variable at %C is not allowed in a PURE procedure"
+ msgstr ""
+
+-#: fortran/decl.c:1718
++#: fortran/decl.c:1765
+ #, no-c-format
+ msgid "Initialization of allocatable component at %C is not allowed"
+ msgstr ""
+
+-#: fortran/decl.c:1772 fortran/decl.c:1781
++#: fortran/decl.c:1819 fortran/decl.c:1828
+ #, fuzzy, no-c-format
+ msgid "Old-style type declaration %s*%d not supported at %C"
+ msgstr "Η λειτουÏγία δεν υποστηÏίζεται"
+
+-#: fortran/decl.c:1786
++#: fortran/decl.c:1833
+ #, fuzzy, no-c-format
+ msgid "Nonstandard type declaration %s*%d at %C"
+ msgstr "Μη έγκυÏη επιλογή `%s'"
+
+-#: fortran/decl.c:1838 fortran/decl.c:1897
++#: fortran/decl.c:1884 fortran/decl.c:1948
+ #, fuzzy, no-c-format
+ msgid "Missing right parenthesis at %C"
+ msgstr "οÏισμός δικαιωμάτων στο %s"
+
+-#: fortran/decl.c:1853 fortran/decl.c:1931
++#: fortran/decl.c:1897 fortran/decl.c:1993
+ #, fuzzy, no-c-format
+ msgid "Expected initialization expression at %C"
+ msgstr "Μη έγκυÏη κανονική έκφÏαση"
+
+-#: fortran/decl.c:1861 fortran/decl.c:1937
++#: fortran/decl.c:1905 fortran/decl.c:1999
+ #, no-c-format
+ msgid "Expected scalar initialization expression at %C"
+ msgstr ""
+
+-#: fortran/decl.c:1891
++#: fortran/decl.c:1936
+ #, fuzzy, no-c-format
+ msgid "Kind %d not supported for type %s at %C"
+ msgstr "Το servname δεν υποστηÏίζεται από το ai_socktype"
+
+-#: fortran/decl.c:1957
++#: fortran/decl.c:1946
++#, no-c-format
++msgid "Missing right parenthesis or comma at %C"
++msgstr ""
++
++#: fortran/decl.c:2019
+ #, fuzzy, no-c-format
+ msgid "Kind %d is not supported for CHARACTER at %C"
+ msgstr "Το servname δεν υποστηÏίζεται από το ai_socktype"
+
+-#: fortran/decl.c:2086
++#: fortran/decl.c:2148
+ #, fuzzy, no-c-format
+ msgid "Syntax error in CHARACTER declaration at %C"
+ msgstr "συντακτικό σφάλμα στο οÏισμό του %s: %s"
+
+-#: fortran/decl.c:2156
++#: fortran/decl.c:2233
+ #, no-c-format
+ msgid "Extension: BYTE type at %C"
+ msgstr ""
+
+-#: fortran/decl.c:2162
++#: fortran/decl.c:2239
+ #, no-c-format
+ msgid "BYTE type used at %C is not available on the target machine"
+ msgstr ""
+
+-#: fortran/decl.c:2211
++#: fortran/decl.c:2288
+ #, no-c-format
+ msgid "DOUBLE COMPLEX at %C does not conform to the Fortran 95 standard"
+ msgstr ""
+
+ # src/getopt.c:628
+ # src/getopt.c:628
+-#: fortran/decl.c:2245 fortran/decl.c:2252 fortran/decl.c:2558
+-#: fortran/decl.c:2566
++#: fortran/decl.c:2328 fortran/decl.c:2337 fortran/decl.c:2649
++#: fortran/decl.c:2657
+ #, fuzzy, no-c-format
+ msgid "Type name '%s' at %C is ambiguous"
+ msgstr "%s: η επιλογή `%s' είναι ασαφής\n"
+
+-#: fortran/decl.c:2321
++#: fortran/decl.c:2412
+ #, no-c-format
+ msgid "Missing character range in IMPLICIT at %C"
+ msgstr ""
+
+-#: fortran/decl.c:2367
++#: fortran/decl.c:2458
+ #, no-c-format
+ msgid "Letters must be in alphabetic order in IMPLICIT statement at %C"
+ msgstr ""
+
+-#: fortran/decl.c:2421
++#: fortran/decl.c:2512
+ #, no-c-format
+ msgid "Empty IMPLICIT statement at %C"
+ msgstr ""
+
+-#: fortran/decl.c:2524
++#: fortran/decl.c:2615
+ #, no-c-format
+ msgid "IMPORT statement at %C only permitted in an INTERFACE body"
+ msgstr ""
+
+-#: fortran/decl.c:2529
++#: fortran/decl.c:2620
+ #, no-c-format
+ msgid "Fortran 2003: IMPORT statement at %C"
+ msgstr ""
+
+-#: fortran/decl.c:2544
++#: fortran/decl.c:2635
+ #, no-c-format
+ msgid "Expecting list of named entities at %C"
+ msgstr ""
+
+-#: fortran/decl.c:2572
++#: fortran/decl.c:2663
+ #, no-c-format
+ msgid "Cannot IMPORT '%s' from host scoping unit at %C - does not exist."
+ msgstr ""
+
+-#: fortran/decl.c:2579
++#: fortran/decl.c:2670
+ #, no-c-format
+ msgid "'%s' is already IMPORTed from host scoping unit at %C."
+ msgstr ""
+
+-#: fortran/decl.c:2608
++#: fortran/decl.c:2699
+ #, fuzzy, no-c-format
+ msgid "Syntax error in IMPORT statement at %C"
+ msgstr "συντακτικό σφάλμα στον οÏισμό κλάσης χαÏακτήÏων"
+
+-#: fortran/decl.c:2850
++#: fortran/decl.c:2941
+ #, fuzzy, no-c-format
+ msgid "Missing dimension specification at %C"
+ msgstr "έχει παÏαληφθεί το αÏχείο Ï€ÏοοÏισμοÏ"
+
+-#: fortran/decl.c:2924
++#: fortran/decl.c:3015
+ #, fuzzy, no-c-format
+ msgid "Duplicate %s attribute at %L"
+ msgstr "διπλό όνομα χαÏακτήÏα `%s'"
+
+-#: fortran/decl.c:2943
++#: fortran/decl.c:3034
+ #, no-c-format
+ msgid "Fortran 2003: ALLOCATABLE attribute at %C in a TYPE definition"
+ msgstr ""
+
+-#: fortran/decl.c:2953
++#: fortran/decl.c:3044
+ #, no-c-format
+ msgid "Attribute at %L is not allowed in a TYPE definition"
+ msgstr ""
+
+-#: fortran/decl.c:2971
++#: fortran/decl.c:3062
+ #, no-c-format
+ msgid "Fortran 2003: Attribute %s at %L in a TYPE definition"
+ msgstr ""
+
+-#: fortran/decl.c:2982
++#: fortran/decl.c:3073
+ #, no-c-format
+ msgid "%s attribute at %L is not allowed outside of the specification part of a module"
+ msgstr ""
+
+-#: fortran/decl.c:3034 fortran/decl.c:5437
++#: fortran/decl.c:3125 fortran/decl.c:5635
+ #, no-c-format
+ msgid "PROTECTED at %C only allowed in specification part of a module"
+ msgstr ""
+
+-#: fortran/decl.c:3040
++#: fortran/decl.c:3131
+ #, no-c-format
+ msgid "Fortran 2003: PROTECTED attribute at %C"
+ msgstr ""
+
+-#: fortran/decl.c:3071
++#: fortran/decl.c:3162
+ #, no-c-format
+ msgid "Fortran 2003: VALUE attribute at %C"
+ msgstr ""
+
+-#: fortran/decl.c:3081
++#: fortran/decl.c:3172
+ #, no-c-format
+ msgid "Fortran 2003: VOLATILE attribute at %C"
+ msgstr ""
+
+-#: fortran/decl.c:3121
++#: fortran/decl.c:3212
+ #, no-c-format
+ msgid "Multiple identifiers provided with single NAME= specifier at %C"
+ msgstr ""
+
+ #. Print an error, but continue parsing line.
+-#: fortran/decl.c:3171
++#: fortran/decl.c:3261
+ #, no-c-format
+ msgid "C kind parameter is for type %s but symbol '%s' at %L is of type %s"
+ msgstr ""
+
+-#: fortran/decl.c:3235
++#: fortran/decl.c:3325
+ #, no-c-format
+ msgid "Implicitly declared BIND(C) function '%s' at %L may not be C interoperable"
+ msgstr ""
+
+-#: fortran/decl.c:3257
++#: fortran/decl.c:3347
+ #, no-c-format
+ msgid "Variable '%s' in common block '%s' at %L may not be a C interoperable kind though common block '%s' is BIND(C)"
+ msgstr ""
+
+-#: fortran/decl.c:3266
++#: fortran/decl.c:3356
+ #, no-c-format
+ msgid "Type declaration '%s' at %L is not C interoperable but it is BIND(C)"
+ msgstr ""
+
+-#: fortran/decl.c:3270
++#: fortran/decl.c:3360
+ #, no-c-format
+ msgid "Variable '%s' at %L may not be a C interoperable kind but it is bind(c)"
+ msgstr ""
+
+-#: fortran/decl.c:3282
++#: fortran/decl.c:3372
+ #, no-c-format
+ msgid "Variable '%s' in common block '%s' at %L cannot be declared with BIND(C) since it is not a global"
+ msgstr ""
+
+-#: fortran/decl.c:3296
++#: fortran/decl.c:3386
+ #, no-c-format
+ msgid "Variable '%s' at %L cannot have both the POINTER and BIND(C) attributes"
+ msgstr ""
+
+-#: fortran/decl.c:3304
++#: fortran/decl.c:3394
+ #, no-c-format
+ msgid "Variable '%s' at %L cannot have both the ALLOCATABLE and BIND(C) attributes"
+ msgstr ""
+
+-#: fortran/decl.c:3314
++#: fortran/decl.c:3404
+ #, no-c-format
+ msgid "Return type of BIND(C) function '%s' at %L cannot be an array"
+ msgstr ""
+
+-#: fortran/decl.c:3322
++#: fortran/decl.c:3412
+ #, no-c-format
+ msgid "Return type of BIND(C) function '%s' at %L cannot be a character string"
+ msgstr ""
+
+ #. Use gfc_warning_now because we won't say that the symbol fails
+ #. just because of this.
+-#: fortran/decl.c:3334
++#: fortran/decl.c:3424
+ #, no-c-format
+ msgid "Symbol '%s' at %L is marked PRIVATE but has been given the binding label '%s'"
+ msgstr ""
+
+-#: fortran/decl.c:3409
++#: fortran/decl.c:3499
+ #, no-c-format
+ msgid "Need either entity or common block name for attribute specification statement at %C"
+ msgstr ""
+
+-#: fortran/decl.c:3456
++#: fortran/decl.c:3546
+ #, no-c-format
+ msgid "Missing entity or common block name for attribute specification statement at %C"
+ msgstr ""
+
+ #. Now we have an error, which we signal, and then fix up
+ #. because the knock-on is plain and simple confusing.
+-#: fortran/decl.c:3563
++#: fortran/decl.c:3653
+ #, no-c-format
+ msgid "Derived type at %C has not been previously defined and so cannot appear in a derived type definition"
+ msgstr ""
+
+-#: fortran/decl.c:3595
++#: fortran/decl.c:3685
+ #, fuzzy, no-c-format
+ msgid "Syntax error in data declaration at %C"
+ msgstr "συντακτικό σφάλμα στον καθοÏισμό σειÏάς"
+
+-#: fortran/decl.c:3742
++#: fortran/decl.c:3832
+ #, no-c-format
+ msgid "Name '%s' at %C is the name of the procedure"
+ msgstr ""
+
+-#: fortran/decl.c:3754
++#: fortran/decl.c:3844
+ #, no-c-format
+ msgid "Unexpected junk in formal argument list at %C"
+ msgstr ""
+
+-#: fortran/decl.c:3771
++#: fortran/decl.c:3861
+ #, no-c-format
+ msgid "Duplicate symbol '%s' in formal argument list at %C"
+ msgstr ""
+
+-#: fortran/decl.c:3822
++#: fortran/decl.c:3912
+ #, no-c-format
+ msgid "RESULT variable at %C must be different than function name"
+ msgstr ""
+
+-#: fortran/decl.c:3892
++#: fortran/decl.c:3990
+ #, fuzzy, no-c-format
+ msgid "Unexpected junk after function declaration at %C"
+ msgstr "μη έγκυÏος αÏιθμός από κενές γÏαμμές: `%s'"
+
+-#: fortran/decl.c:3951
++#: fortran/decl.c:4000 fortran/decl.c:4734
++#, fuzzy, no-c-format
++msgid "Extension: BIND(C) attribute at %L may not be specified for an internal procedure"
++msgstr "συμβολικοί σÏνδεσμοι δεν υποστηÏίζονται στο σÏστημα αυτό"
++
++#: fortran/decl.c:4066
+ #, no-c-format
+ msgid "Interface '%s' at %C may not be generic"
+ msgstr ""
+
+-#: fortran/decl.c:3956
++#: fortran/decl.c:4071
+ #, no-c-format
+ msgid "Interface '%s' at %C may not be a statement function"
+ msgstr ""
+
+-#: fortran/decl.c:3967
++#: fortran/decl.c:4082
+ #, no-c-format
+ msgid "Intrinsic procedure '%s' not allowed in PROCEDURE statement at %C"
+ msgstr ""
+
+-#: fortran/decl.c:3975
++#: fortran/decl.c:4118
+ #, no-c-format
+-msgid "Fortran 2003: Support for intrinsic procedure '%s' in PROCEDURE statement at %C not yet implemented in gfortran"
+-msgstr ""
+-
+-#: fortran/decl.c:4014
+-#, no-c-format
+ msgid "BIND(C) attribute at %C requires an interface with BIND(C)"
+ msgstr ""
+
+-#: fortran/decl.c:4021
++#: fortran/decl.c:4125
+ #, no-c-format
+ msgid "BIND(C) procedure with NAME may not have POINTER attribute at %C"
+ msgstr ""
+
+-#: fortran/decl.c:4027
++#: fortran/decl.c:4131
+ #, no-c-format
+ msgid "Dummy procedure at %C may not have BIND(C) attribute with NAME"
+ msgstr ""
+
+-#: fortran/decl.c:4060 fortran/decl.c:4103
++#: fortran/decl.c:4167 fortran/decl.c:4210
+ #, no-c-format
+ msgid "Syntax error in PROCEDURE statement at %C"
+ msgstr ""
+
+-#: fortran/decl.c:4077
++#: fortran/decl.c:4184
+ #, no-c-format
+ msgid "PROCEDURE at %C must be in a generic interface"
+ msgstr ""
+
+-#: fortran/decl.c:4128
++#: fortran/decl.c:4235
+ #, no-c-format
+ msgid "Fortran 2003: Procedure components at %C are not yet implemented in gfortran"
+ msgstr ""
+
+-#: fortran/decl.c:4138
++#: fortran/decl.c:4245
+ #, no-c-format
+ msgid "Fortran 2003: PROCEDURE statement at %C"
+ msgstr ""
+
+-#: fortran/decl.c:4186
++#: fortran/decl.c:4293
+ #, no-c-format
+ msgid "Expected formal argument list in function definition at %C"
+ msgstr ""
+
+-#: fortran/decl.c:4210 fortran/decl.c:4214 fortran/decl.c:4536
+-#: fortran/decl.c:4540 fortran/symbol.c:1402
++#: fortran/decl.c:4317 fortran/decl.c:4321 fortran/decl.c:4520
++#: fortran/decl.c:4524 fortran/decl.c:4702 fortran/decl.c:4706
++#: fortran/symbol.c:1402
+ #, no-c-format
+ msgid "BIND(C) attribute at %L can only be used for variables or common blocks"
+ msgstr ""
+
+-#: fortran/decl.c:4246
++#: fortran/decl.c:4353
+ #, no-c-format
+ msgid "Function '%s' at %C already has a type of %s"
+ msgstr ""
+
+-#: fortran/decl.c:4322
++#: fortran/decl.c:4441
+ #, no-c-format
+ msgid "ENTRY statement at %C cannot appear within a PROGRAM"
+ msgstr ""
+
+-#: fortran/decl.c:4325
++#: fortran/decl.c:4444
+ #, no-c-format
+ msgid "ENTRY statement at %C cannot appear within a MODULE"
+ msgstr ""
+
+-#: fortran/decl.c:4328
++#: fortran/decl.c:4447
+ #, no-c-format
+ msgid "ENTRY statement at %C cannot appear within a BLOCK DATA"
+ msgstr ""
+
+-#: fortran/decl.c:4332
++#: fortran/decl.c:4451
+ #, no-c-format
+ msgid "ENTRY statement at %C cannot appear within an INTERFACE"
+ msgstr ""
+
+-#: fortran/decl.c:4336
++#: fortran/decl.c:4455
+ #, no-c-format
+ msgid "ENTRY statement at %C cannot appear within a DERIVED TYPE block"
+ msgstr ""
+
+-#: fortran/decl.c:4340
++#: fortran/decl.c:4459
+ #, no-c-format
+ msgid "ENTRY statement at %C cannot appear within an IF-THEN block"
+ msgstr ""
+
+-#: fortran/decl.c:4344
++#: fortran/decl.c:4463
+ #, no-c-format
+ msgid "ENTRY statement at %C cannot appear within a DO block"
+ msgstr ""
+
+-#: fortran/decl.c:4348
++#: fortran/decl.c:4467
+ #, no-c-format
+ msgid "ENTRY statement at %C cannot appear within a SELECT block"
+ msgstr ""
+
+-#: fortran/decl.c:4352
++#: fortran/decl.c:4471
+ #, no-c-format
+ msgid "ENTRY statement at %C cannot appear within a FORALL block"
+ msgstr ""
+
+-#: fortran/decl.c:4356
++#: fortran/decl.c:4475
+ #, no-c-format
+ msgid "ENTRY statement at %C cannot appear within a WHERE block"
+ msgstr ""
+
+-#: fortran/decl.c:4360
++#: fortran/decl.c:4479
+ #, no-c-format
+ msgid "ENTRY statement at %C cannot appear within a contained subprogram"
+ msgstr ""
+
+-#: fortran/decl.c:4378
++#: fortran/decl.c:4497
+ #, fuzzy, no-c-format
+ msgid "ENTRY statement at %C cannot appear in a contained procedure"
+ msgstr "%s: μη έγκυÏη κανονική έκφÏαση: %s"
+
+-#: fortran/decl.c:4560
++#: fortran/decl.c:4552 fortran/decl.c:4742
+ #, no-c-format
+ msgid "Missing required parentheses before BIND(C) at %C"
+ msgstr ""
+
+-#: fortran/decl.c:4618 fortran/decl.c:4634
++#: fortran/decl.c:4801 fortran/decl.c:4817
+ #, no-c-format
+ msgid "Syntax error in NAME= specifier for binding label at %C"
+ msgstr ""
+
+-#: fortran/decl.c:4649
++#: fortran/decl.c:4832
+ #, no-c-format
+ msgid "Missing closing quote '\"' for binding label at %C"
+ msgstr ""
+
+-#: fortran/decl.c:4658
++#: fortran/decl.c:4841
+ #, no-c-format
+ msgid "Missing closing quote ''' for binding label at %C"
+ msgstr ""
+
+-#: fortran/decl.c:4668
++#: fortran/decl.c:4851
+ #, fuzzy, no-c-format
+ msgid "Missing closing paren for binding label at %C"
+ msgstr "Αγνωστος δυαδικός χειÏιστής."
+
+-#: fortran/decl.c:4703
++#: fortran/decl.c:4857
+ #, no-c-format
++msgid "No binding name is allowed in BIND(C) at %C"
++msgstr ""
++
++#: fortran/decl.c:4863
++#, no-c-format
++msgid "For dummy procedure %s, no binding name is allowed in BIND(C) at %C"
++msgstr ""
++
++#: fortran/decl.c:4894
++#, no-c-format
+ msgid "NAME not allowed on BIND(C) for ABSTRACT INTERFACE at %C"
+ msgstr ""
+
+-#: fortran/decl.c:4876
++#: fortran/decl.c:5066
+ #, no-c-format
+ msgid "Unexpected END statement at %C"
+ msgstr ""
+
+ #. We would have required END [something].
+-#: fortran/decl.c:4885
++#: fortran/decl.c:5075
+ #, no-c-format
+ msgid "%s statement expected at %L"
+ msgstr ""
+
+-#: fortran/decl.c:4896
++#: fortran/decl.c:5086
+ #, no-c-format
+ msgid "Expecting %s statement at %C"
+ msgstr ""
+
+-#: fortran/decl.c:4911
++#: fortran/decl.c:5101
+ #, no-c-format
+ msgid "Expected block name of '%s' in %s statement at %C"
+ msgstr ""
+
+-#: fortran/decl.c:4928
++#: fortran/decl.c:5118
+ #, no-c-format
+ msgid "Expected terminating name at %C"
+ msgstr ""
+
+-#: fortran/decl.c:4937
++#: fortran/decl.c:5127
+ #, no-c-format
+ msgid "Expected label '%s' for %s statement at %C"
+ msgstr ""
+
+-#: fortran/decl.c:4991
++#: fortran/decl.c:5181
+ #, no-c-format
+ msgid "Missing array specification at %L in DIMENSION statement"
+ msgstr ""
+
+-#: fortran/decl.c:5000
++#: fortran/decl.c:5189
+ #, no-c-format
++msgid "Dimensions specified for %s at %L after its initialisation"
++msgstr ""
++
++#: fortran/decl.c:5198
++#, no-c-format
+ msgid "Array specification must be deferred at %L"
+ msgstr ""
+
+-#: fortran/decl.c:5077
++#: fortran/decl.c:5275
+ #, no-c-format
+ msgid "Unexpected character in variable list at %C"
+ msgstr ""
+
+-#: fortran/decl.c:5114
++#: fortran/decl.c:5312
+ #, no-c-format
+ msgid "Expected '(' at %C"
+ msgstr ""
+
+-#: fortran/decl.c:5128 fortran/decl.c:5168
++#: fortran/decl.c:5326 fortran/decl.c:5366
+ #, fuzzy, no-c-format
+ msgid "Expected variable name at %C"
+ msgstr "%s: αναμενόταν αÏιθμητική τιμή."
+
+-#: fortran/decl.c:5144
++#: fortran/decl.c:5342
+ #, fuzzy, no-c-format
+ msgid "Cray pointer at %C must be an integer"
+ msgstr "η τιμή για το %s Ï€Ïέπει να είναι ακέÏαιος"
+
+-#: fortran/decl.c:5148
++#: fortran/decl.c:5346
+ #, no-c-format
+ msgid "Cray pointer at %C has %d bytes of precision; memory addresses require %d bytes"
+ msgstr ""
+
+-#: fortran/decl.c:5154
++#: fortran/decl.c:5352
+ #, no-c-format
+ msgid "Expected \",\" at %C"
+ msgstr ""
+
+-#: fortran/decl.c:5217
++#: fortran/decl.c:5415
+ #, no-c-format
+ msgid "Expected \")\" at %C"
+ msgstr ""
+
+-#: fortran/decl.c:5229
++#: fortran/decl.c:5427
+ #, no-c-format
+ msgid "Expected \",\" or end of statement at %C"
+ msgstr ""
+
+-#: fortran/decl.c:5293
++#: fortran/decl.c:5491
+ #, no-c-format
+ msgid "Cray pointer declaration at %C requires -fcray-pointer flag"
+ msgstr ""
+
+-#: fortran/decl.c:5388
++#: fortran/decl.c:5586
+ #, no-c-format
+ msgid "Access specification of the %s operator at %C has already been specified"
+ msgstr ""
+
+-#: fortran/decl.c:5405
++#: fortran/decl.c:5603
+ #, no-c-format
+ msgid "Access specification of the .%s. operator at %C has already been specified"
+ msgstr ""
+
+-#: fortran/decl.c:5443
++#: fortran/decl.c:5641
+ #, no-c-format
+ msgid "Fortran 2003: PROTECTED statement at %C"
+ msgstr ""
+
+-#: fortran/decl.c:5483
++#: fortran/decl.c:5681
+ #, no-c-format
+ msgid "Syntax error in PROTECTED statement at %C"
+ msgstr ""
+
+-#: fortran/decl.c:5504
++#: fortran/decl.c:5702
+ #, no-c-format
+ msgid "PRIVATE statement at %C is only allowed in the specification part of a module"
+ msgstr ""
+
+-#: fortran/decl.c:5541
++#: fortran/decl.c:5739
+ #, no-c-format
+ msgid "PUBLIC statement at %C is only allowed in the specification part of a module"
+ msgstr ""
+
+-#: fortran/decl.c:5568
++#: fortran/decl.c:5766
+ #, no-c-format
+ msgid "Expected variable name at %C in PARAMETER statement"
+ msgstr ""
+
+-#: fortran/decl.c:5575
++#: fortran/decl.c:5773
+ #, no-c-format
+ msgid "Expected = sign in PARAMETER statement at %C"
+ msgstr ""
+
+-#: fortran/decl.c:5581
++#: fortran/decl.c:5779
+ #, no-c-format
+ msgid "Expected expression at %C in PARAMETER statement"
+ msgstr ""
+
+-#: fortran/decl.c:5639
++#: fortran/decl.c:5799
++#, fuzzy, no-c-format
++msgid "Initializing already initialized variable at %C"
++msgstr "Μη έγκυÏη ακέÏαια παÏάμετÏος `%s'"
++
++#: fortran/decl.c:5844
+ #, no-c-format
+ msgid "Unexpected characters in PARAMETER statement at %C"
+ msgstr ""
+
+-#: fortran/decl.c:5663
++#: fortran/decl.c:5868
+ #, no-c-format
+ msgid "Blanket SAVE statement at %C follows previous SAVE statement"
+ msgstr ""
+
+-#: fortran/decl.c:5675
++#: fortran/decl.c:5880
+ #, no-c-format
+ msgid "SAVE statement at %C follows blanket SAVE statement"
+ msgstr ""
+
+-#: fortran/decl.c:5722
++#: fortran/decl.c:5927
+ #, fuzzy, no-c-format
+ msgid "Syntax error in SAVE statement at %C"
+ msgstr "συντακτικό σφάλμα στον καθοÏισμό σειÏάς"
+
+-#: fortran/decl.c:5733
++#: fortran/decl.c:5938
+ #, no-c-format
+ msgid "Fortran 2003: VALUE statement at %C"
+ msgstr ""
+
+-#: fortran/decl.c:5773
++#: fortran/decl.c:5978
+ #, fuzzy, no-c-format
+ msgid "Syntax error in VALUE statement at %C"
+ msgstr "συντακτικό σφάλμα στον οÏισμό κλάσης χαÏακτήÏων"
+
+-#: fortran/decl.c:5784
++#: fortran/decl.c:5989
+ #, no-c-format
+ msgid "Fortran 2003: VOLATILE statement at %C"
+ msgstr ""
+
+-#: fortran/decl.c:5826
++#: fortran/decl.c:6031
+ #, no-c-format
+ msgid "Syntax error in VOLATILE statement at %C"
+ msgstr ""
+
+-#: fortran/decl.c:5848
++#: fortran/decl.c:6054
+ #, no-c-format
+ msgid "MODULE PROCEDURE at %C must be in a generic module interface"
+ msgstr ""
+
+-#: fortran/decl.c:5910
++#: fortran/decl.c:6142
+ #, no-c-format
+ msgid "Derived type at %C can only be PRIVATE in the specification part of a module"
+ msgstr ""
+
+-#: fortran/decl.c:5922
++#: fortran/decl.c:6154
+ #, no-c-format
+ msgid "Derived type at %C can only be PUBLIC in the specification part of a module"
+ msgstr ""
+
+-#: fortran/decl.c:5979
++#: fortran/decl.c:6211
+ #, no-c-format
+ msgid "Expected :: in TYPE definition at %C"
+ msgstr ""
+
+-#: fortran/decl.c:5990
++#: fortran/decl.c:6222
+ #, no-c-format
+ msgid "Type name '%s' at %C cannot be the same as an intrinsic type"
+ msgstr ""
+
+-#: fortran/decl.c:6000
++#: fortran/decl.c:6232
+ #, no-c-format
+ msgid "Derived type name '%s' at %C already has a basic type of %s"
+ msgstr ""
+
+-#: fortran/decl.c:6016
++#: fortran/decl.c:6248
+ #, no-c-format
+ msgid "Derived type definition of '%s' at %C has already been defined"
+ msgstr ""
+
+-#: fortran/decl.c:6054
++#: fortran/decl.c:6286
+ #, no-c-format
+ msgid "Cray Pointee at %C cannot be assumed shape array"
+ msgstr ""
+
+-#: fortran/decl.c:6074
++#: fortran/decl.c:6306
+ #, no-c-format
+ msgid "Fortran 2003: ENUM and ENUMERATOR at %C"
+ msgstr ""
+
+-#: fortran/decl.c:6146
++#: fortran/decl.c:6378
+ #, no-c-format
+ msgid "ENUMERATOR %L not initialized with integer expression"
+ msgstr ""
+
+-#: fortran/decl.c:6195
++#: fortran/decl.c:6427
+ #, fuzzy, no-c-format
+ msgid "ENUM definition statement expected before %C"
+ msgstr "ΕγγÏαφή ονομάτων των επιλεγμένων κατηγοÏιών"
+
+-#: fortran/decl.c:6228
++#: fortran/decl.c:6460
+ #, fuzzy, no-c-format
+ msgid "Syntax error in ENUMERATOR definition at %C"
+ msgstr "συντακτικό σφάλμα στο οÏισμό του %s: %s"
+@@ -5212,21 +5169,21 @@
+ msgid " "
+ msgstr " `%D'"
+
+-#: fortran/dump-parse-tree.c:73 fortran/dump-parse-tree.c:626
++#: fortran/dump-parse-tree.c:73 fortran/dump-parse-tree.c:637
+ #, fuzzy, c-format
+ msgid "(%s "
+ msgstr "%s "
+
+-#: fortran/dump-parse-tree.c:86 fortran/dump-parse-tree.c:1069
+-#: fortran/dump-parse-tree.c:1113 fortran/dump-parse-tree.c:1123
++#: fortran/dump-parse-tree.c:86 fortran/dump-parse-tree.c:1091
++#: fortran/dump-parse-tree.c:1135 fortran/dump-parse-tree.c:1145
+ #, c-format
+ msgid "%d"
+ msgstr ""
+
+ #: fortran/dump-parse-tree.c:90 fortran/dump-parse-tree.c:116
+ #: fortran/dump-parse-tree.c:159 fortran/dump-parse-tree.c:395
+-#: fortran/dump-parse-tree.c:518 fortran/dump-parse-tree.c:613
+-#: fortran/dump-parse-tree.c:636
++#: fortran/dump-parse-tree.c:518 fortran/dump-parse-tree.c:624
++#: fortran/dump-parse-tree.c:647
+ #, c-format
+ msgid ")"
+ msgstr ""
+@@ -5365,7 +5322,7 @@
+ msgid "%.2x"
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:429 fortran/dump-parse-tree.c:732
++#: fortran/dump-parse-tree.c:429 fortran/dump-parse-tree.c:754
+ #, fuzzy, c-format
+ msgid "%s:"
+ msgstr "%s"
+@@ -5483,751 +5440,756 @@
+ msgstr "%s"
+
+ # src/request.c:37
+-#: fortran/dump-parse-tree.c:551
++#: fortran/dump-parse-tree.c:560
+ #, fuzzy, c-format
+ msgid "(%s %s %s %s %s"
+ msgstr "%s: %s: "
+
+-#: fortran/dump-parse-tree.c:558
++#: fortran/dump-parse-tree.c:567
+ #, c-format
+ msgid " ALLOCATABLE"
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:560 fortran/dump-parse-tree.c:631
++#: fortran/dump-parse-tree.c:569 fortran/dump-parse-tree.c:642
+ #, c-format
+ msgid " DIMENSION"
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:562
++#: fortran/dump-parse-tree.c:571
+ #, c-format
+ msgid " EXTERNAL"
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:564
++#: fortran/dump-parse-tree.c:573
+ #, c-format
+ msgid " INTRINSIC"
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:566
++#: fortran/dump-parse-tree.c:575
+ #, c-format
+ msgid " OPTIONAL"
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:568 fortran/dump-parse-tree.c:629
++#: fortran/dump-parse-tree.c:577 fortran/dump-parse-tree.c:640
+ #, c-format
+ msgid " POINTER"
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:570
++#: fortran/dump-parse-tree.c:579
+ #, c-format
+ msgid " PROTECTED"
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:572
++#: fortran/dump-parse-tree.c:581
+ #, c-format
+ msgid " VALUE"
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:574
++#: fortran/dump-parse-tree.c:583
+ #, c-format
+ msgid " VOLATILE"
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:576
++#: fortran/dump-parse-tree.c:585
+ #, c-format
+ msgid " THREADPRIVATE"
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:578
++#: fortran/dump-parse-tree.c:587
+ #, c-format
+ msgid " TARGET"
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:580
++#: fortran/dump-parse-tree.c:589
+ #, c-format
+ msgid " DUMMY"
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:582
++#: fortran/dump-parse-tree.c:591
+ #, c-format
+ msgid " RESULT"
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:584
++#: fortran/dump-parse-tree.c:593
+ #, c-format
+ msgid " ENTRY"
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:587
++#: fortran/dump-parse-tree.c:595
+ #, c-format
++msgid " BIND(C)"
++msgstr ""
++
++#: fortran/dump-parse-tree.c:598
++#, c-format
+ msgid " DATA"
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:589
++#: fortran/dump-parse-tree.c:600
+ #, c-format
+ msgid " USE-ASSOC"
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:591
++#: fortran/dump-parse-tree.c:602
+ #, c-format
+ msgid " IN-NAMELIST"
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:593
++#: fortran/dump-parse-tree.c:604
+ #, c-format
+ msgid " IN-COMMON"
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:596
++#: fortran/dump-parse-tree.c:607
+ #, c-format
+ msgid " ABSTRACT INTERFACE"
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:598
++#: fortran/dump-parse-tree.c:609
+ #, c-format
+ msgid " FUNCTION"
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:600
++#: fortran/dump-parse-tree.c:611
+ #, c-format
+ msgid " SUBROUTINE"
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:602
++#: fortran/dump-parse-tree.c:613
+ #, c-format
+ msgid " IMPLICIT-TYPE"
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:605
++#: fortran/dump-parse-tree.c:616
+ #, c-format
+ msgid " SEQUENCE"
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:607
++#: fortran/dump-parse-tree.c:618
+ #, c-format
+ msgid " ELEMENTAL"
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:609
++#: fortran/dump-parse-tree.c:620
+ #, c-format
+ msgid " PURE"
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:611
++#: fortran/dump-parse-tree.c:622
+ #, c-format
+ msgid " RECURSIVE"
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:635 fortran/dump-parse-tree.c:682
+-#: fortran/dump-parse-tree.c:706 fortran/dump-parse-tree.c:735
+-#: fortran/dump-parse-tree.c:1276 fortran/dump-parse-tree.c:1282
+-#: fortran/dump-parse-tree.c:1784
++#: fortran/dump-parse-tree.c:646 fortran/dump-parse-tree.c:693
++#: fortran/dump-parse-tree.c:717 fortran/dump-parse-tree.c:757
++#: fortran/dump-parse-tree.c:1298 fortran/dump-parse-tree.c:1304
++#: fortran/dump-parse-tree.c:1806
+ #, c-format
+ msgid " %s"
+ msgstr " %s"
+
+-#: fortran/dump-parse-tree.c:659
++#: fortran/dump-parse-tree.c:670
+ #, c-format
+ msgid "symbol %s "
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:666
++#: fortran/dump-parse-tree.c:677
+ #, c-format
+ msgid "value: "
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:673
++#: fortran/dump-parse-tree.c:684
+ #, c-format
+ msgid "Array spec:"
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:680
++#: fortran/dump-parse-tree.c:691
+ #, c-format
+ msgid "Generic interfaces:"
+ msgstr ""
+
+ # src/request.c:37
+-#: fortran/dump-parse-tree.c:688
++#: fortran/dump-parse-tree.c:699
+ #, fuzzy, c-format
+ msgid "result: %s"
+ msgstr "%s: %s"
+
+-#: fortran/dump-parse-tree.c:694
++#: fortran/dump-parse-tree.c:705
+ #, c-format
+ msgid "components: "
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:701
++#: fortran/dump-parse-tree.c:712
+ #, c-format
+ msgid "Formal arglist:"
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:708
++#: fortran/dump-parse-tree.c:719
+ #, c-format
+ msgid " [Alt Return]"
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:715
++#: fortran/dump-parse-tree.c:726
+ #, fuzzy, c-format
+ msgid "Formal namespace"
+ msgstr "το `%s' δεν είναι κανονικό αÏχείο"
+
+-#: fortran/dump-parse-tree.c:771
++#: fortran/dump-parse-tree.c:793
+ #, c-format
+ msgid "common: /%s/ "
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:779 fortran/dump-parse-tree.c:1720
++#: fortran/dump-parse-tree.c:801 fortran/dump-parse-tree.c:1742
+ #, c-format
+ msgid ", "
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:791
++#: fortran/dump-parse-tree.c:813
+ #, c-format
+ msgid "symtree: %s Ambig %d"
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:794
++#: fortran/dump-parse-tree.c:816
+ #, fuzzy, c-format
+ msgid " from namespace %s"
+ msgstr "άγνωστο σετ `%s'"
+
+-#: fortran/dump-parse-tree.c:820
++#: fortran/dump-parse-tree.c:842
+ #, fuzzy, c-format
+ msgid "%s,"
+ msgstr "%s"
+
+-#: fortran/dump-parse-tree.c:852
++#: fortran/dump-parse-tree.c:874
+ #, c-format
+ msgid "!$OMP %s"
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:867 fortran/dump-parse-tree.c:1010
++#: fortran/dump-parse-tree.c:889 fortran/dump-parse-tree.c:1032
+ #, fuzzy, c-format
+ msgid " (%s)"
+ msgstr " %s"
+
+-#: fortran/dump-parse-tree.c:872
++#: fortran/dump-parse-tree.c:894
+ #, c-format
+ msgid " ("
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:888
++#: fortran/dump-parse-tree.c:910
+ #, c-format
+ msgid " IF("
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:894
++#: fortran/dump-parse-tree.c:916
+ #, c-format
+ msgid " NUM_THREADS("
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:910
++#: fortran/dump-parse-tree.c:932
+ #, c-format
+ msgid " SCHEDULE (%s"
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:930
++#: fortran/dump-parse-tree.c:952
+ #, c-format
+ msgid " DEFAULT(%s)"
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:933
++#: fortran/dump-parse-tree.c:955
+ #, c-format
+ msgid " ORDERED"
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:958
++#: fortran/dump-parse-tree.c:980
+ #, c-format
+ msgid " REDUCTION(%s:"
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:972
++#: fortran/dump-parse-tree.c:994
+ #, fuzzy, c-format
+ msgid " %s("
+ msgstr " %s"
+
+-#: fortran/dump-parse-tree.c:988
++#: fortran/dump-parse-tree.c:1010
+ #, c-format
+ msgid "!$OMP SECTION\n"
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:997
++#: fortran/dump-parse-tree.c:1019
+ #, c-format
+ msgid "!$OMP END %s"
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:1002
++#: fortran/dump-parse-tree.c:1024
+ #, c-format
+ msgid " COPYPRIVATE("
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:1007
++#: fortran/dump-parse-tree.c:1029
+ #, c-format
+ msgid " NOWAIT"
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:1034
++#: fortran/dump-parse-tree.c:1056
+ #, c-format
+ msgid "NOP"
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:1038
++#: fortran/dump-parse-tree.c:1060
+ #, c-format
+ msgid "CONTINUE"
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:1042
++#: fortran/dump-parse-tree.c:1064
+ #, c-format
+ msgid "ENTRY %s"
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:1047
++#: fortran/dump-parse-tree.c:1069
+ #, c-format
+ msgid "ASSIGN "
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:1054
++#: fortran/dump-parse-tree.c:1076
+ #, c-format
+ msgid "LABEL ASSIGN "
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:1056
++#: fortran/dump-parse-tree.c:1078
+ #, fuzzy, c-format
+ msgid " %d"
+ msgstr " %s"
+
+-#: fortran/dump-parse-tree.c:1060
++#: fortran/dump-parse-tree.c:1082
+ #, c-format
+ msgid "POINTER ASSIGN "
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:1067
++#: fortran/dump-parse-tree.c:1089
+ #, c-format
+ msgid "GOTO "
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:1076
++#: fortran/dump-parse-tree.c:1098
+ #, c-format
+ msgid ", ("
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:1092 fortran/dump-parse-tree.c:1094
++#: fortran/dump-parse-tree.c:1114 fortran/dump-parse-tree.c:1116
+ #, c-format
+ msgid "CALL %s "
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:1096
++#: fortran/dump-parse-tree.c:1118
+ #, c-format
+ msgid "CALL ?? "
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:1102
++#: fortran/dump-parse-tree.c:1124
+ #, c-format
+ msgid "RETURN "
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:1108
++#: fortran/dump-parse-tree.c:1130
+ #, c-format
+ msgid "PAUSE "
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:1118
++#: fortran/dump-parse-tree.c:1140
+ #, c-format
+ msgid "STOP "
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:1128 fortran/dump-parse-tree.c:1136
++#: fortran/dump-parse-tree.c:1150 fortran/dump-parse-tree.c:1158
+ #, c-format
+ msgid "IF "
+ msgstr ""
+
+ # src/request.c:37
+-#: fortran/dump-parse-tree.c:1130
++#: fortran/dump-parse-tree.c:1152
+ #, fuzzy, c-format
+ msgid " %d, %d, %d"
+ msgstr "%s: %s: "
+
+-#: fortran/dump-parse-tree.c:1147
++#: fortran/dump-parse-tree.c:1169
+ #, c-format
+ msgid "ELSE\n"
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:1150
++#: fortran/dump-parse-tree.c:1172
+ #, c-format
+ msgid "ELSE IF "
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:1160
++#: fortran/dump-parse-tree.c:1182
+ #, c-format
+ msgid "ENDIF"
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:1165
++#: fortran/dump-parse-tree.c:1187
+ #, c-format
+ msgid "SELECT CASE "
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:1173
++#: fortran/dump-parse-tree.c:1195
+ #, c-format
+ msgid "CASE "
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:1189
++#: fortran/dump-parse-tree.c:1211
+ #, c-format
+ msgid "END SELECT"
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:1193
++#: fortran/dump-parse-tree.c:1215
+ #, c-format
+ msgid "WHERE "
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:1204
++#: fortran/dump-parse-tree.c:1226
+ #, c-format
+ msgid "ELSE WHERE "
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:1211
++#: fortran/dump-parse-tree.c:1233
+ #, c-format
+ msgid "END WHERE"
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:1216
++#: fortran/dump-parse-tree.c:1238
+ #, c-format
+ msgid "FORALL "
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:1241
++#: fortran/dump-parse-tree.c:1263
+ #, c-format
+ msgid "END FORALL"
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:1245
++#: fortran/dump-parse-tree.c:1267
+ #, c-format
+ msgid "DO "
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:1259 fortran/dump-parse-tree.c:1270
++#: fortran/dump-parse-tree.c:1281 fortran/dump-parse-tree.c:1292
+ #, c-format
+ msgid "END DO"
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:1263
++#: fortran/dump-parse-tree.c:1285
+ #, c-format
+ msgid "DO WHILE "
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:1274
++#: fortran/dump-parse-tree.c:1296
+ #, c-format
+ msgid "CYCLE"
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:1280
++#: fortran/dump-parse-tree.c:1302
+ #, c-format
+ msgid "EXIT"
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:1286
++#: fortran/dump-parse-tree.c:1308
+ #, c-format
+ msgid "ALLOCATE "
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:1289 fortran/dump-parse-tree.c:1305
++#: fortran/dump-parse-tree.c:1311 fortran/dump-parse-tree.c:1327
+ #, c-format
+ msgid " STAT="
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:1302
++#: fortran/dump-parse-tree.c:1324
+ #, c-format
+ msgid "DEALLOCATE "
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:1318
++#: fortran/dump-parse-tree.c:1340
+ #, c-format
+ msgid "OPEN"
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:1323 fortran/dump-parse-tree.c:1402
+-#: fortran/dump-parse-tree.c:1444 fortran/dump-parse-tree.c:1467
+-#: fortran/dump-parse-tree.c:1619
++#: fortran/dump-parse-tree.c:1345 fortran/dump-parse-tree.c:1424
++#: fortran/dump-parse-tree.c:1466 fortran/dump-parse-tree.c:1489
++#: fortran/dump-parse-tree.c:1641
+ #, c-format
+ msgid " UNIT="
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:1328 fortran/dump-parse-tree.c:1407
+-#: fortran/dump-parse-tree.c:1449 fortran/dump-parse-tree.c:1478
+-#: fortran/dump-parse-tree.c:1636
++#: fortran/dump-parse-tree.c:1350 fortran/dump-parse-tree.c:1429
++#: fortran/dump-parse-tree.c:1471 fortran/dump-parse-tree.c:1500
++#: fortran/dump-parse-tree.c:1658
+ #, c-format
+ msgid " IOMSG="
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:1333 fortran/dump-parse-tree.c:1412
+-#: fortran/dump-parse-tree.c:1454 fortran/dump-parse-tree.c:1483
+-#: fortran/dump-parse-tree.c:1641
++#: fortran/dump-parse-tree.c:1355 fortran/dump-parse-tree.c:1434
++#: fortran/dump-parse-tree.c:1476 fortran/dump-parse-tree.c:1505
++#: fortran/dump-parse-tree.c:1663
+ #, c-format
+ msgid " IOSTAT="
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:1338 fortran/dump-parse-tree.c:1472
++#: fortran/dump-parse-tree.c:1360 fortran/dump-parse-tree.c:1494
+ #, c-format
+ msgid " FILE="
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:1343 fortran/dump-parse-tree.c:1417
++#: fortran/dump-parse-tree.c:1365 fortran/dump-parse-tree.c:1439
+ #, c-format
+ msgid " STATUS="
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:1348 fortran/dump-parse-tree.c:1513
++#: fortran/dump-parse-tree.c:1370 fortran/dump-parse-tree.c:1535
+ #, c-format
+ msgid " ACCESS="
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:1353 fortran/dump-parse-tree.c:1529
++#: fortran/dump-parse-tree.c:1375 fortran/dump-parse-tree.c:1551
+ #, c-format
+ msgid " FORM="
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:1358 fortran/dump-parse-tree.c:1544
++#: fortran/dump-parse-tree.c:1380 fortran/dump-parse-tree.c:1566
+ #, c-format
+ msgid " RECL="
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:1363 fortran/dump-parse-tree.c:1554
++#: fortran/dump-parse-tree.c:1385 fortran/dump-parse-tree.c:1576
+ #, c-format
+ msgid " BLANK="
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:1368 fortran/dump-parse-tree.c:1559
++#: fortran/dump-parse-tree.c:1390 fortran/dump-parse-tree.c:1581
+ #, c-format
+ msgid " POSITION="
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:1373 fortran/dump-parse-tree.c:1564
++#: fortran/dump-parse-tree.c:1395 fortran/dump-parse-tree.c:1586
+ #, c-format
+ msgid " ACTION="
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:1378 fortran/dump-parse-tree.c:1584
++#: fortran/dump-parse-tree.c:1400 fortran/dump-parse-tree.c:1606
+ #, c-format
+ msgid " DELIM="
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:1383 fortran/dump-parse-tree.c:1589
++#: fortran/dump-parse-tree.c:1405 fortran/dump-parse-tree.c:1611
+ #, c-format
+ msgid " PAD="
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:1388 fortran/dump-parse-tree.c:1594
++#: fortran/dump-parse-tree.c:1410 fortran/dump-parse-tree.c:1616
+ #, c-format
+ msgid " CONVERT="
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:1392 fortran/dump-parse-tree.c:1421
+-#: fortran/dump-parse-tree.c:1458 fortran/dump-parse-tree.c:1599
+-#: fortran/dump-parse-tree.c:1676
++#: fortran/dump-parse-tree.c:1414 fortran/dump-parse-tree.c:1443
++#: fortran/dump-parse-tree.c:1480 fortran/dump-parse-tree.c:1621
++#: fortran/dump-parse-tree.c:1698
+ #, c-format
+ msgid " ERR=%d"
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:1397
++#: fortran/dump-parse-tree.c:1419
+ #, c-format
+ msgid "CLOSE"
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:1425
++#: fortran/dump-parse-tree.c:1447
+ #, c-format
+ msgid "BACKSPACE"
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:1429
++#: fortran/dump-parse-tree.c:1451
+ #, c-format
+ msgid "ENDFILE"
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:1433
++#: fortran/dump-parse-tree.c:1455
+ #, c-format
+ msgid "REWIND"
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:1437
++#: fortran/dump-parse-tree.c:1459
+ #, c-format
+ msgid "FLUSH"
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:1462
++#: fortran/dump-parse-tree.c:1484
+ #, c-format
+ msgid "INQUIRE"
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:1488
++#: fortran/dump-parse-tree.c:1510
+ #, c-format
+ msgid " EXIST="
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:1493
++#: fortran/dump-parse-tree.c:1515
+ #, c-format
+ msgid " OPENED="
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:1498
++#: fortran/dump-parse-tree.c:1520
+ #, c-format
+ msgid " NUMBER="
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:1503
++#: fortran/dump-parse-tree.c:1525
+ #, c-format
+ msgid " NAMED="
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:1508
++#: fortran/dump-parse-tree.c:1530
+ #, c-format
+ msgid " NAME="
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:1518
++#: fortran/dump-parse-tree.c:1540
+ #, c-format
+ msgid " SEQUENTIAL="
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:1524
++#: fortran/dump-parse-tree.c:1546
+ #, c-format
+ msgid " DIRECT="
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:1534
++#: fortran/dump-parse-tree.c:1556
+ #, c-format
+ msgid " FORMATTED"
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:1539
++#: fortran/dump-parse-tree.c:1561
+ #, c-format
+ msgid " UNFORMATTED="
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:1549
++#: fortran/dump-parse-tree.c:1571
+ #, c-format
+ msgid " NEXTREC="
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:1569
++#: fortran/dump-parse-tree.c:1591
+ #, c-format
+ msgid " READ="
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:1574
++#: fortran/dump-parse-tree.c:1596
+ #, c-format
+ msgid " WRITE="
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:1579
++#: fortran/dump-parse-tree.c:1601
+ #, c-format
+ msgid " READWRITE="
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:1603
++#: fortran/dump-parse-tree.c:1625
+ #, c-format
+ msgid "IOLENGTH "
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:1609
++#: fortran/dump-parse-tree.c:1631
+ #, c-format
+ msgid "READ"
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:1613
++#: fortran/dump-parse-tree.c:1635
+ #, c-format
+ msgid "WRITE"
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:1625
++#: fortran/dump-parse-tree.c:1647
+ #, c-format
+ msgid " FMT="
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:1630
++#: fortran/dump-parse-tree.c:1652
+ #, c-format
+ msgid " FMT=%d"
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:1632
++#: fortran/dump-parse-tree.c:1654
+ #, fuzzy, c-format
+ msgid " NML=%s"
+ msgstr " %s"
+
+-#: fortran/dump-parse-tree.c:1646
++#: fortran/dump-parse-tree.c:1668
+ #, c-format
+ msgid " SIZE="
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:1651
++#: fortran/dump-parse-tree.c:1673
+ #, c-format
+ msgid " REC="
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:1656
++#: fortran/dump-parse-tree.c:1678
+ #, c-format
+ msgid " ADVANCE="
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:1667
++#: fortran/dump-parse-tree.c:1689
+ #, c-format
+ msgid "TRANSFER "
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:1672
++#: fortran/dump-parse-tree.c:1694
+ #, c-format
+ msgid "DT_END"
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:1678
++#: fortran/dump-parse-tree.c:1700
+ #, c-format
+ msgid " END=%d"
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:1680
++#: fortran/dump-parse-tree.c:1702
+ #, c-format
+ msgid " EOR=%d"
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:1714
++#: fortran/dump-parse-tree.c:1736
+ #, c-format
+ msgid "Equivalence: "
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:1740
++#: fortran/dump-parse-tree.c:1762
+ #, c-format
+ msgid "Namespace:"
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:1754
++#: fortran/dump-parse-tree.c:1776
+ #, c-format
+ msgid " %c-%c: "
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:1756
++#: fortran/dump-parse-tree.c:1778
+ #, c-format
+ msgid " %c: "
+ msgstr ""
+
+-#: fortran/dump-parse-tree.c:1765
++#: fortran/dump-parse-tree.c:1787
+ #, c-format
+ msgid "procedure name = %s"
+ msgstr ""
+
+ # src/outer.c:102
+-#: fortran/dump-parse-tree.c:1781
++#: fortran/dump-parse-tree.c:1803
+ #, fuzzy, c-format
+ msgid "Operator interfaces for %s:"
+ msgstr "Ο αντιτοποθετητής επιφάνειας έχει τεθεί πεÏισσότεÏο από μια φοÏά για το `%s'"
+
+-#: fortran/dump-parse-tree.c:1790
++#: fortran/dump-parse-tree.c:1812
+ #, fuzzy, c-format
+ msgid "User operators:\n"
+ msgstr "ποτέ δεν δηλώθηκε το Ï€ÏόγÏαμμα %d\n"
+
+-#: fortran/dump-parse-tree.c:1806
++#: fortran/dump-parse-tree.c:1828
+ #, c-format
+ msgid "CONTAINS\n"
+ msgstr ""
+@@ -6248,312 +6210,352 @@
+ msgid "Error count reached limit of %d."
+ msgstr ""
+
+-#: fortran/error.c:670 fortran/error.c:725 fortran/error.c:762
++#: fortran/error.c:670 fortran/error.c:724 fortran/error.c:761
+ #, fuzzy
+ msgid "Warning:"
+ msgstr "Ï€Ïοειδοποίηση: "
+
+-#: fortran/error.c:727 fortran/error.c:810 fortran/error.c:836
++#: fortran/error.c:726 fortran/error.c:809 fortran/error.c:835
+ #, fuzzy
+ msgid "Error:"
+ msgstr "σφάλμα: "
+
+-#: fortran/error.c:860
++#: fortran/error.c:859
+ #, fuzzy
+ msgid "Fatal Error:"
+ msgstr "μοιÏαίο σφάλμα: "
+
+-#: fortran/error.c:879
++#: fortran/error.c:878
+ #, fuzzy, no-c-format
+ msgid "Internal Error at (1):"
+ msgstr "εσωτεÏικό σφάλμα"
+
+-#: fortran/expr.c:252
++#: fortran/expr.c:253
+ #, fuzzy, c-format
+ msgid "Constant expression required at %C"
+ msgstr "Αδυναμία Ï€Ïοσπέλασης του αÏχείου της αλλαγής"
+
+-#: fortran/expr.c:255
++#: fortran/expr.c:256
+ #, fuzzy, c-format
+ msgid "Integer expression required at %C"
+ msgstr "Αδυναμία Ï€Ïοσπέλασης του αÏχείου της αλλαγής"
+
+-#: fortran/expr.c:260
++#: fortran/expr.c:261
+ #, fuzzy, c-format
+ msgid "Integer value too large in expression at %C"
+ msgstr "Μη έγκυÏη κανονική έκφÏαση"
+
+-#: fortran/expr.c:1018 fortran/expr.c:1189 fortran/expr.c:1240
++#: fortran/expr.c:1037
+ #, no-c-format
++msgid "Index in dimension %d is out of bounds at %L"
++msgstr ""
++
++#: fortran/expr.c:1208 fortran/expr.c:1259
++#, no-c-format
+ msgid "index in dimension %d is out of bounds at %L"
+ msgstr ""
+
+-#: fortran/expr.c:1789
++#: fortran/expr.c:1808
+ #, no-c-format
+ msgid "elemental function arguments at %C are not compliant"
+ msgstr ""
+
+-#: fortran/expr.c:1833
++#: fortran/expr.c:1852
+ #, no-c-format
+ msgid "Numeric or CHARACTER operands are required in expression at %L"
+ msgstr ""
+
+-#: fortran/expr.c:1853
++#: fortran/expr.c:1872
+ #, no-c-format
+ msgid "Fortran 2003: Noninteger exponent in an initialization expression at %L"
+ msgstr ""
+
+-#: fortran/expr.c:1868
++#: fortran/expr.c:1887
+ #, no-c-format
+ msgid "Concatenation operator in expression at %L must have two CHARACTER operands"
+ msgstr ""
+
+-#: fortran/expr.c:1875
++#: fortran/expr.c:1894
+ #, no-c-format
+ msgid "Concat operator at %L must concatenate strings of the same kind"
+ msgstr ""
+
+-#: fortran/expr.c:1885
++#: fortran/expr.c:1904
+ #, no-c-format
+ msgid ".NOT. operator in expression at %L must have a LOGICAL operand"
+ msgstr ""
+
+-#: fortran/expr.c:1901
++#: fortran/expr.c:1920
+ #, no-c-format
+ msgid "LOGICAL operands are required in expression at %L"
+ msgstr ""
+
+-#: fortran/expr.c:1912
++#: fortran/expr.c:1931
+ #, no-c-format
+ msgid "Only intrinsic operators can be used in expression at %L"
+ msgstr ""
+
+-#: fortran/expr.c:1920
++#: fortran/expr.c:1939
+ #, no-c-format
+ msgid "Numeric operands are required in expression at %L"
+ msgstr ""
+
+-#: fortran/expr.c:1985
++#: fortran/expr.c:2030
+ #, no-c-format
+-msgid "Inquiry function '%s' at %L is not permitted in an initialization expression"
+-msgstr ""
+-
+-#: fortran/expr.c:2015
+-#, no-c-format
+ msgid "Assumed character length variable '%s' in constant expression at %L"
+ msgstr ""
+
+-#: fortran/expr.c:2061 fortran/expr.c:2067
++#: fortran/expr.c:2076 fortran/expr.c:2082
+ #, no-c-format
+ msgid "transformational intrinsic '%s' at %L is not permitted in an initialization expression"
+ msgstr ""
+
+-#: fortran/expr.c:2098
++#: fortran/expr.c:2114
+ #, no-c-format
+ msgid "Extension: Evaluation of nonstandard initialization expression at %L"
+ msgstr ""
+
+-#: fortran/expr.c:2151
++#: fortran/expr.c:2167
+ #, no-c-format
+ msgid "Function '%s' in initialization expression at %L must be an intrinsic or a specification function"
+ msgstr ""
+
+-#: fortran/expr.c:2163
++#: fortran/expr.c:2179
+ #, no-c-format
+ msgid "Intrinsic function '%s' at %L is not permitted in an initialization expression"
+ msgstr ""
+
+-#: fortran/expr.c:2207
++#: fortran/expr.c:2214
+ #, no-c-format
++msgid "PARAMETER '%s' is used at %L before its definition is complete"
++msgstr ""
++
++#: fortran/expr.c:2234
++#, no-c-format
+ msgid "Assumed size array '%s' at %L is not permitted in an initialization expression"
+ msgstr ""
+
+-#: fortran/expr.c:2213
++#: fortran/expr.c:2240
+ #, no-c-format
+ msgid "Assumed shape array '%s' at %L is not permitted in an initialization expression"
+ msgstr ""
+
+-#: fortran/expr.c:2219
++#: fortran/expr.c:2246
+ #, no-c-format
+ msgid "Deferred array '%s' at %L is not permitted in an initialization expression"
+ msgstr ""
+
+-#: fortran/expr.c:2229
++#: fortran/expr.c:2252
+ #, no-c-format
++msgid "Array '%s' at %L is a variable, which does not reduce to a constant expression"
++msgstr ""
++
++#: fortran/expr.c:2262
++#, no-c-format
+ msgid "Parameter '%s' at %L has not been declared or is a variable, which does not reduce to a constant expression"
+ msgstr ""
+
+-#: fortran/expr.c:2317
++#: fortran/expr.c:2350
+ #, fuzzy, no-c-format
+ msgid "Initialization expression didn't reduce %C"
+ msgstr "Λάθος έκφÏαση στην αποτίμηση (λάθος είσοδος): %s"
+
+-#: fortran/expr.c:2360
++#: fortran/expr.c:2393
+ #, no-c-format
+ msgid "Specification function '%s' at %L cannot be a statement function"
+ msgstr ""
+
+-#: fortran/expr.c:2367
++#: fortran/expr.c:2400
+ #, no-c-format
+ msgid "Specification function '%s' at %L cannot be an internal function"
+ msgstr ""
+
+-#: fortran/expr.c:2374
++#: fortran/expr.c:2407
+ #, no-c-format
+ msgid "Specification function '%s' at %L must be PURE"
+ msgstr ""
+
+-#: fortran/expr.c:2381
++#: fortran/expr.c:2414
+ #, no-c-format
+ msgid "Specification function '%s' at %L cannot be RECURSIVE"
+ msgstr ""
+
+-#: fortran/expr.c:2443
++#: fortran/expr.c:2476
+ #, no-c-format
+ msgid "Dummy argument '%s' not allowed in expression at %L"
+ msgstr ""
+
+-#: fortran/expr.c:2450
++#: fortran/expr.c:2483
+ #, no-c-format
+ msgid "Dummy argument '%s' at %L cannot be OPTIONAL"
+ msgstr ""
+
+-#: fortran/expr.c:2457
++#: fortran/expr.c:2490
+ #, no-c-format
+ msgid "Dummy argument '%s' at %L cannot be INTENT(OUT)"
+ msgstr ""
+
+-#: fortran/expr.c:2479
++#: fortran/expr.c:2513
+ #, fuzzy, no-c-format
+ msgid "Variable '%s' cannot appear in the expression at %L"
+ msgstr "%s: μη έγκυÏη κανονική έκφÏαση: %s"
+
+-#: fortran/expr.c:2528
++#: fortran/expr.c:2562
+ #, no-c-format
+ msgid "Expression at %L must be of INTEGER type"
+ msgstr ""
+
+-#: fortran/expr.c:2537
++#: fortran/expr.c:2571
+ #, no-c-format
+ msgid "Function '%s' at %L must be PURE"
+ msgstr ""
+
+-#: fortran/expr.c:2546
++#: fortran/expr.c:2580
+ #, no-c-format
+ msgid "Expression at %L must be scalar"
+ msgstr ""
+
+-#: fortran/expr.c:2573
++#: fortran/expr.c:2607
+ #, no-c-format
+ msgid "Incompatible ranks in %s (%d and %d) at %L"
+ msgstr ""
+
+-#: fortran/expr.c:2587
++#: fortran/expr.c:2621
+ #, no-c-format
+ msgid "Different shape for %s at %L on dimension %d (%d and %d)"
+ msgstr ""
+
+-#: fortran/expr.c:2633 fortran/expr.c:2800
++#: fortran/expr.c:2667 fortran/expr.c:2884
+ #, no-c-format
+ msgid "Cannot assign to INTENT(IN) variable '%s' at %L"
+ msgstr ""
+
+-#: fortran/expr.c:2676
++#: fortran/expr.c:2719
+ #, no-c-format
+ msgid "'%s' at %L is not a VALUE"
+ msgstr ""
+
+-#: fortran/expr.c:2683
++#: fortran/expr.c:2726
+ #, fuzzy, no-c-format
+ msgid "Incompatible ranks %d and %d in assignment at %L"
+ msgstr "μη έγκυÏο είδος αλφαÏÎ¹Î¸Î¼Î·Ï„Î¹ÎºÎ¿Ï `%s'"
+
+-#: fortran/expr.c:2690
++#: fortran/expr.c:2733
+ #, fuzzy, no-c-format
+ msgid "Variable type is UNKNOWN in assignment at %L"
+ msgstr "μη έγκυÏο είδος αλφαÏÎ¹Î¸Î¼Î·Ï„Î¹ÎºÎ¿Ï `%s'"
+
+-#: fortran/expr.c:2702
++#: fortran/expr.c:2745
+ #, no-c-format
+ msgid "NULL appears on right-hand side in assignment at %L"
+ msgstr ""
+
+-#: fortran/expr.c:2713
++#: fortran/expr.c:2756
+ #, no-c-format
+ msgid "Vector assignment to assumed-size Cray Pointee at %L is illegal"
+ msgstr ""
+
+-#: fortran/expr.c:2722
++#: fortran/expr.c:2765
+ #, fuzzy, no-c-format
+ msgid "POINTER valued function appears on right-hand side of assignment at %L"
+ msgstr "Η παÏάμετÏος κινητής υποδιαστολής δεν είναι έγκυÏη: %s"
+
+-#: fortran/expr.c:2727
++#: fortran/expr.c:2770
+ #, fuzzy
+ msgid "array assignment"
+ msgstr "Ï€ÏοσπέÏασμα οÏίσματος"
+
+-#: fortran/expr.c:2744
++#: fortran/expr.c:2775
++#, no-c-format
++msgid "Extension: BOZ literal at %L used to initialize non-integer variable '%s'"
++msgstr ""
++
++#: fortran/expr.c:2781 fortran/resolve.c:6058
++#, no-c-format
++msgid "Extension: BOZ literal at %L outside a DATA statement and outside INT/REAL/DBLE/CMPLX"
++msgstr ""
++
++#: fortran/expr.c:2791 fortran/resolve.c:6068
++#, no-c-format
++msgid "BOZ literal at %L is bitwise transferred non-integer symbol '%s'"
++msgstr ""
++
++#: fortran/expr.c:2799 fortran/resolve.c:6077
++#, no-c-format
++msgid "Arithmetic underflow of bit-wise transferred BOZ at %L. This check can be disabled with the option -fno-range-check"
++msgstr ""
++
++#: fortran/expr.c:2803 fortran/resolve.c:6081
++#, no-c-format
++msgid "Arithmetic overflow of bit-wise transferred BOZ at %L. This check can be disabled with the option -fno-range-check"
++msgstr ""
++
++#: fortran/expr.c:2807 fortran/resolve.c:6085
++#, no-c-format
++msgid "Arithmetic NaN of bit-wise transferred BOZ at %L. This check can be disabled with the option -fno-range-check"
++msgstr ""
++
++#: fortran/expr.c:2828
+ #, fuzzy, no-c-format
+ msgid "Incompatible types in assignment at %L, %s to %s"
+ msgstr "Μη έγκυÏη ακέÏαια παÏάμετÏος `%s'"
+
+-#: fortran/expr.c:2769
++#: fortran/expr.c:2853
+ #, no-c-format
+ msgid "Pointer assignment target is not a POINTER at %L"
+ msgstr ""
+
+-#: fortran/expr.c:2777
++#: fortran/expr.c:2861
+ #, no-c-format
+ msgid "'%s' in the pointer assignment at %L cannot be an l-value since it is a procedure"
+ msgstr ""
+
+-#: fortran/expr.c:2807
++#: fortran/expr.c:2891
+ #, no-c-format
+ msgid "Pointer assignment to non-POINTER at %L"
+ msgstr ""
+
+-#: fortran/expr.c:2816
++#: fortran/expr.c:2900
+ #, no-c-format
+ msgid "Bad pointer object in PURE procedure at %L"
+ msgstr ""
+
+-#: fortran/expr.c:2828
++#: fortran/expr.c:2912
+ #, fuzzy, no-c-format
+ msgid "Different types in pointer assignment at %L"
+ msgstr "μη έγκυÏο είδος αλφαÏÎ¹Î¸Î¼Î·Ï„Î¹ÎºÎ¿Ï `%s'"
+
+-#: fortran/expr.c:2835
++#: fortran/expr.c:2919
+ #, no-c-format
+ msgid "Different kind type parameters in pointer assignment at %L"
+ msgstr ""
+
+-#: fortran/expr.c:2842
++#: fortran/expr.c:2926
+ #, no-c-format
+ msgid "Different ranks in pointer assignment at %L"
+ msgstr ""
+
+-#: fortran/expr.c:2857
++#: fortran/expr.c:2941
+ #, no-c-format
+ msgid "Different character lengths in pointer assignment at %L"
+ msgstr ""
+
+-#: fortran/expr.c:2868
++#: fortran/expr.c:2952
+ #, no-c-format
+ msgid "Pointer assignment target is neither TARGET nor POINTER at %L"
+ msgstr ""
+
+-#: fortran/expr.c:2875
++#: fortran/expr.c:2959
+ #, no-c-format
+ msgid "Bad target in pointer assignment in PURE procedure at %L"
+ msgstr ""
+
+-#: fortran/expr.c:2881
++#: fortran/expr.c:2965
+ #, no-c-format
+ msgid "Pointer assignment with vector subscript on rhs at %L"
+ msgstr ""
+
+-#: fortran/expr.c:2888
++#: fortran/expr.c:2972
+ #, no-c-format
+ msgid "Pointer assigment target has PROTECTED attribute at %L"
+ msgstr ""
+@@ -6643,292 +6645,317 @@
+ msgid "Expecting 'END INTERFACE %s' at %C"
+ msgstr ""
+
+-#: fortran/interface.c:551
++#: fortran/interface.c:563
+ #, no-c-format
+ msgid "Alternate return cannot appear in operator interface at %L"
+ msgstr ""
+
+-#: fortran/interface.c:581
++#: fortran/interface.c:593
+ #, no-c-format
+ msgid "Operator interface at %L has the wrong number of arguments"
+ msgstr ""
+
+-#: fortran/interface.c:592
++#: fortran/interface.c:604
+ #, no-c-format
+ msgid "Assignment operator interface at %L must be a SUBROUTINE"
+ msgstr ""
+
+-#: fortran/interface.c:598
++#: fortran/interface.c:610
+ #, no-c-format
+ msgid "Assignment operator interface at %L must have two arguments"
+ msgstr ""
+
+-#: fortran/interface.c:608
++#: fortran/interface.c:620
+ #, no-c-format
+ msgid "Assignment operator interface at %L must not redefine an INTRINSIC type assignment"
+ msgstr ""
+
+-#: fortran/interface.c:617
++#: fortran/interface.c:629
+ #, no-c-format
+ msgid "Intrinsic operator interface at %L must be a FUNCTION"
+ msgstr ""
+
+-#: fortran/interface.c:627
++#: fortran/interface.c:639
+ #, no-c-format
+ msgid "First argument of defined assignment at %L must be INTENT(IN) or INTENT(INOUT)"
+ msgstr ""
+
+-#: fortran/interface.c:631
++#: fortran/interface.c:643
+ #, no-c-format
+ msgid "Second argument of defined assignment at %L must be INTENT(IN)"
+ msgstr ""
+
+-#: fortran/interface.c:637 fortran/resolve.c:8807
++#: fortran/interface.c:649 fortran/resolve.c:8998
+ #, no-c-format
+ msgid "First argument of operator interface at %L must be INTENT(IN)"
+ msgstr ""
+
+-#: fortran/interface.c:641 fortran/resolve.c:8819
++#: fortran/interface.c:653 fortran/resolve.c:9010
+ #, no-c-format
+ msgid "Second argument of operator interface at %L must be INTENT(IN)"
+ msgstr ""
+
+-#: fortran/interface.c:744
++#: fortran/interface.c:756
+ #, no-c-format
+ msgid "Operator interface at %L conflicts with intrinsic interface"
+ msgstr ""
+
+-#: fortran/interface.c:1044
++#: fortran/interface.c:1117
+ #, no-c-format
+ msgid "Procedure '%s' in %s at %L has no explicit interface"
+ msgstr ""
+
+-#: fortran/interface.c:1047
++#: fortran/interface.c:1120
+ #, no-c-format
+ msgid "Procedure '%s' in %s at %L is neither function nor subroutine"
+ msgstr ""
+
+-#: fortran/interface.c:1102 fortran/interface.c:1108
++#: fortran/interface.c:1175 fortran/interface.c:1181
+ #, no-c-format
+ msgid "Ambiguous interfaces '%s' and '%s' in %s at %L"
+ msgstr ""
+
+-#: fortran/interface.c:1144
++#: fortran/interface.c:1217
+ #, no-c-format
+ msgid "'%s' at %L is not a module procedure"
+ msgstr ""
+
+-#: fortran/interface.c:1676
++#: fortran/interface.c:1465 fortran/interface.c:2411
++#, no-c-format
++msgid "Type/rank mismatch in argument '%s' at %L"
++msgstr ""
++
++#: fortran/interface.c:1474
++#, no-c-format
++msgid "Type mismatch in argument '%s' at %L; passed %s to %s"
++msgstr ""
++
++#: fortran/interface.c:1492 fortran/interface.c:1532
++#, no-c-format
++msgid "Rank mismatch in argument '%s' at %L (%d and %d)"
++msgstr ""
++
++#: fortran/interface.c:1519
++#, no-c-format
++msgid "Fortran 2003: Scalar CHARACTER actual argument with array dummy argument '%s' at %L"
++msgstr ""
++
++#: fortran/interface.c:1544
++#, no-c-format
++msgid "Element of assumed-shaped array passed to dummy argument '%s' at %L"
++msgstr ""
++
++#: fortran/interface.c:1861
+ #, fuzzy, no-c-format
+ msgid "Keyword argument '%s' at %L is not in the procedure"
+ msgstr "Ï€Î¿Î»Ï Î»Î¯Î³Î± οÏίσματα"
+
+-#: fortran/interface.c:1684
++#: fortran/interface.c:1869
+ #, no-c-format
+ msgid "Keyword argument '%s' at %L is already associated with another actual argument"
+ msgstr ""
+
+-#: fortran/interface.c:1694
++#: fortran/interface.c:1879
+ #, no-c-format
+ msgid "More actual than formal arguments in procedure call at %L"
+ msgstr ""
+
+-#: fortran/interface.c:1706 fortran/interface.c:1935
++#: fortran/interface.c:1891 fortran/interface.c:2110
+ #, no-c-format
+ msgid "Missing alternate return spec in subroutine call at %L"
+ msgstr ""
+
+-#: fortran/interface.c:1714
++#: fortran/interface.c:1899
+ #, no-c-format
+ msgid "Unexpected alternate return spec in subroutine call at %L"
+ msgstr ""
+
+-#: fortran/interface.c:1729
++#: fortran/interface.c:1922
+ #, no-c-format
+-msgid "Fortran 2003: Scalar CHARACTER actual argument with array dummy argument '%s' at %L"
++msgid "Character length mismatch (%ld/%ld) between actual argument and pointer or allocatable dummy argument '%s' at %L"
+ msgstr ""
+
+-#: fortran/interface.c:1742
++#: fortran/interface.c:1929
+ #, no-c-format
+-msgid "Type/rank mismatch in argument '%s' at %L"
++msgid "Character length mismatch (%ld/%ld) between actual argument and assumed-shape dummy argument '%s' at %L"
+ msgstr ""
+
+-#: fortran/interface.c:1758
++#: fortran/interface.c:1943
+ #, no-c-format
+-msgid "Character length mismatch between actual argument and pointer or allocatable dummy argument '%s' at %L"
+-msgstr ""
+-
+-#: fortran/interface.c:1771
+-#, no-c-format
+ msgid "Character length of actual argument shorter than of dummy argument '%s' (%lu/%lu) at %L"
+ msgstr ""
+
+-#: fortran/interface.c:1776
++#: fortran/interface.c:1948
+ #, no-c-format
+ msgid "Actual argument contains too few elements for dummy argument '%s' (%lu/%lu) at %L"
+ msgstr ""
+
+-#: fortran/interface.c:1790
++#: fortran/interface.c:1962
+ #, no-c-format
+ msgid "Expected a procedure for argument '%s' at %L"
+ msgstr ""
+
+-#: fortran/interface.c:1800
++#: fortran/interface.c:1972
+ #, no-c-format
+ msgid "Expected a PURE procedure for argument '%s' at %L"
+ msgstr ""
+
+-#: fortran/interface.c:1814
++#: fortran/interface.c:1986
+ #, no-c-format
+ msgid "Actual argument for '%s' cannot be an assumed-size array at %L"
+ msgstr ""
+
+-#: fortran/interface.c:1823
++#: fortran/interface.c:1995
+ #, fuzzy, no-c-format
+ msgid "Actual argument for '%s' must be a pointer at %L"
+ msgstr "Η παÏάμετÏος στο `%s' Ï€Ïέπει να είναι ένας απλός χαÏακτήÏας"
+
+-#: fortran/interface.c:1832
++#: fortran/interface.c:2004
+ #, fuzzy, no-c-format
+ msgid "Actual argument for '%s' must be ALLOCATABLE at %L"
+ msgstr "Η παÏάμετÏος στο `%s' Ï€Ïέπει να είναι ένας απλός χαÏακτήÏας"
+
+-#: fortran/interface.c:1843
++#: fortran/interface.c:2017
+ #, no-c-format
+-msgid "Actual argument at %L must be definable to match dummy INTENT = OUT/INOUT"
++msgid "Actual argument at %L must be definable as the dummy argument '%s' is INTENT = OUT/INOUT"
+ msgstr ""
+
+-#: fortran/interface.c:1851
++#: fortran/interface.c:2026
+ #, no-c-format
+ msgid "Actual argument at %L is use-associated with PROTECTED attribute and dummy argument '%s' is INTENT = OUT/INOUT"
+ msgstr ""
+
+-#: fortran/interface.c:1864
++#: fortran/interface.c:2039
+ #, no-c-format
+-msgid "Array-section actual argument with vector subscripts at %L is incompatible with INTENT(IN), 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) or VOLATILE attribute of the dummy argument '%s'"
+ msgstr ""
+
+-#: fortran/interface.c:1881
++#: fortran/interface.c:2056
+ #, no-c-format
+ msgid "Assumed-shape actual argument at %L is incompatible with the non-assumed-shape dummy argument '%s' due to VOLATILE attribute"
+ msgstr ""
+
+-#: fortran/interface.c:1893
++#: fortran/interface.c:2068
+ #, no-c-format
+ msgid "Array-section actual argument at %L is incompatible with the non-assumed-shape dummy argument '%s' due to VOLATILE attribute"
+ msgstr ""
+
+-#: fortran/interface.c:1912
++#: fortran/interface.c:2087
+ #, no-c-format
+ msgid "Pointer-array actual argument at %L requires an assumed-shape or pointer-array dummy argument '%s' due to VOLATILE attribute"
+ msgstr ""
+
+-#: fortran/interface.c:1942
++#: fortran/interface.c:2117
+ #, fuzzy, no-c-format
+ msgid "Missing actual argument for argument '%s' at %L"
+ msgstr "Λείπει παÏάμετÏος για `%s'"
+
+-#: fortran/interface.c:2128
++#: fortran/interface.c:2303
+ #, no-c-format
+ msgid "Same actual argument associated with INTENT(%s) argument '%s' and INTENT(%s) argument '%s' at %L"
+ msgstr ""
+
+-#: fortran/interface.c:2184
++#: fortran/interface.c:2359
+ #, no-c-format
+ msgid "Procedure argument at %L is INTENT(IN) while interface specifies INTENT(%s)"
+ msgstr ""
+
+-#: fortran/interface.c:2194
++#: fortran/interface.c:2369
+ #, no-c-format
+ msgid "Procedure argument at %L is local to a PURE procedure and is passed to an INTENT(%s) argument"
+ msgstr ""
+
+-#: fortran/interface.c:2202
++#: fortran/interface.c:2377
+ #, no-c-format
+ msgid "Procedure argument at %L is local to a PURE procedure and has the POINTER attribute"
+ msgstr ""
+
+-#: fortran/interface.c:2225
++#: fortran/interface.c:2400
+ #, no-c-format
+ msgid "Procedure '%s' called with an implicit interface at %L"
+ msgstr ""
+
+-#: fortran/interface.c:2440
++#: fortran/interface.c:2629
+ #, no-c-format
+ msgid "Function '%s' called in lieu of an operator at %L must be PURE"
+ msgstr ""
+
+-#: fortran/interface.c:2519
++#: fortran/interface.c:2708
+ #, no-c-format
+ msgid "Entity '%s' at %C is already present in the interface"
+ msgstr ""
+
+-#: fortran/intrinsic.c:2918
++#: fortran/intrinsic.c:2923
+ #, fuzzy, no-c-format
+ msgid "Too many arguments in call to '%s' at %L"
+ msgstr "πάÏα πολλά οÏίσματα στη κλήση της `%s'"
+
+-#: fortran/intrinsic.c:2933
++#: fortran/intrinsic.c:2938
+ #, no-c-format
+ msgid "The argument list functions %%VAL, %%LOC or %%REF are not allowed in this context at %L"
+ msgstr ""
+
+-#: fortran/intrinsic.c:2936
++#: fortran/intrinsic.c:2941
+ #, no-c-format
+ msgid "Can't find keyword named '%s' in call to '%s' at %L"
+ msgstr ""
+
+-#: fortran/intrinsic.c:2943
++#: fortran/intrinsic.c:2948
+ #, no-c-format
+ msgid "Argument '%s' is appears twice in call to '%s' at %L"
+ msgstr ""
+
+-#: fortran/intrinsic.c:2957
++#: fortran/intrinsic.c:2962
+ #, fuzzy, no-c-format
+ msgid "Missing actual argument '%s' in call to '%s' at %L"
+ msgstr "πάÏα πολλά οÏίσματα στη κλήση της `%s'"
+
+-#: fortran/intrinsic.c:2972
++#: fortran/intrinsic.c:2977
+ #, no-c-format
+ msgid "ALTERNATE RETURN not permitted at %L"
+ msgstr ""
+
+-#: fortran/intrinsic.c:3021
++#: fortran/intrinsic.c:3026
+ #, no-c-format
+ msgid "Type of argument '%s' in call to '%s' at %L should be %s, not %s"
+ msgstr ""
+
+-#: fortran/intrinsic.c:3337
++#: fortran/intrinsic.c:3342
+ #, no-c-format
+ msgid "Intrinsic '%s' at %L is not included in the selected standard"
+ msgstr ""
+
+-#: fortran/intrinsic.c:3450
++#: fortran/intrinsic.c:3398
+ #, no-c-format
++msgid "Fortran 2003: Function '%s' as initialization expression at %L"
++msgstr ""
++
++#: fortran/intrinsic.c:3463
++#, no-c-format
+ msgid "Fortran 2003: Elemental function as initialization expression with non-integer/non-character arguments at %L"
+ msgstr ""
+
+-#: fortran/intrinsic.c:3508
++#: fortran/intrinsic.c:3524
+ #, no-c-format
+ msgid "Subroutine call to intrinsic '%s' at %L is not PURE"
+ msgstr ""
+
+-#: fortran/intrinsic.c:3579
++#: fortran/intrinsic.c:3595
+ #, fuzzy, no-c-format
+ msgid "Extension: Conversion from %s to %s at %L"
+ msgstr "η μετατÏοπή από `%s' σε `%s' δεν υποστηÏίζετε"
+
+-#: fortran/intrinsic.c:3582
++#: fortran/intrinsic.c:3598
+ #, fuzzy, no-c-format
+ msgid "Conversion from %s to %s at %L"
+ msgstr "η μετατÏοπή από `%s' σε `%s' δεν υποστηÏίζετε"
+
+-#: fortran/intrinsic.c:3629
++#: fortran/intrinsic.c:3645
+ #, fuzzy, no-c-format
+ msgid "Can't convert %s to %s at %L"
+ msgstr "δεν είναι δυνατό να δημιουÏγηθεί το %s `%s' στο `%s'"
+
+-#: fortran/io.c:156 fortran/primary.c:738
++#: fortran/io.c:156 fortran/primary.c:750
+ #, no-c-format
+ msgid "Extension: backslash character at %C"
+ msgstr ""
+@@ -7137,7 +7164,7 @@
+ msgid "CLOSE statement not allowed in PURE procedure at %C"
+ msgstr ""
+
+-#: fortran/io.c:1955 fortran/match.c:1841
++#: fortran/io.c:1955 fortran/match.c:1911
+ #, no-c-format
+ msgid "%s statement not allowed in PURE procedure at %C"
+ msgstr ""
+@@ -7152,518 +7179,493 @@
+ msgid "Duplicate UNIT specification at %C"
+ msgstr "διπλό όνομα χαÏακτήÏα `%s'"
+
+-#: fortran/io.c:2128
++#: fortran/io.c:2132
+ #, fuzzy, no-c-format
+ msgid "Duplicate format specification at %C"
+ msgstr "διπλό όνομα χαÏακτήÏα `%s'"
+
+-#: fortran/io.c:2145
++#: fortran/io.c:2149
+ #, no-c-format
+ msgid "Symbol '%s' in namelist '%s' is INTENT(IN) at %C"
+ msgstr ""
+
+-#: fortran/io.c:2181
++#: fortran/io.c:2185
+ #, fuzzy, no-c-format
+ msgid "Duplicate NML specification at %C"
+ msgstr "διπλό όνομα χαÏακτήÏα `%s'"
+
+-#: fortran/io.c:2190
++#: fortran/io.c:2194
+ #, no-c-format
+ msgid "Symbol '%s' at %C must be a NAMELIST group name"
+ msgstr ""
+
+-#: fortran/io.c:2231
++#: fortran/io.c:2235
+ #, no-c-format
+ msgid "END tag at %C not allowed in output statement"
+ msgstr ""
+
+-#: fortran/io.c:2288
++#: fortran/io.c:2292
+ #, no-c-format
+ msgid "UNIT specification at %L must be an INTEGER expression or a CHARACTER variable"
+ msgstr ""
+
+-#: fortran/io.c:2297
++#: fortran/io.c:2301
+ #, no-c-format
+ msgid "Internal unit with vector subscript at %L"
+ msgstr ""
+
+-#: fortran/io.c:2304
++#: fortran/io.c:2308
+ #, no-c-format
+ msgid "External IO UNIT cannot be an array at %L"
+ msgstr ""
+
+-#: fortran/io.c:2314
++#: fortran/io.c:2318
+ #, fuzzy, no-c-format
+ msgid "ERR tag label %d at %L not defined"
+ msgstr "το `%s' δεν είναι κανονικό αÏχείο"
+
+-#: fortran/io.c:2326
++#: fortran/io.c:2330
+ #, fuzzy, no-c-format
+ msgid "END tag label %d at %L not defined"
+ msgstr "το `%s' δεν είναι κανονικό αÏχείο"
+
+-#: fortran/io.c:2338
++#: fortran/io.c:2342
+ #, fuzzy, no-c-format
+ msgid "EOR tag label %d at %L not defined"
+ msgstr "το `%s' δεν είναι κανονικό αÏχείο"
+
+-#: fortran/io.c:2348
++#: fortran/io.c:2352
+ #, fuzzy, no-c-format
+ msgid "FORMAT label %d at %L not defined"
+ msgstr "το `%s' δεν είναι κανονικό αÏχείο"
+
+-#: fortran/io.c:2469
++#: fortran/io.c:2473
+ #, fuzzy, no-c-format
+ msgid "Syntax error in I/O iterator at %C"
+ msgstr "συντακτικό σφάλμα στον καθοÏισμό σειÏάς"
+
+-#: fortran/io.c:2500
++#: fortran/io.c:2504
+ #, no-c-format
+ msgid "Expected variable in READ statement at %C"
+ msgstr ""
+
+-#: fortran/io.c:2506
++#: fortran/io.c:2510
+ #, fuzzy, no-c-format
+ msgid "Expected expression in %s statement at %C"
+ msgstr "Μη έγκυÏη κανονική έκφÏαση"
+
+-#: fortran/io.c:2516
++#: fortran/io.c:2520
+ #, no-c-format
+ msgid "Variable '%s' in input list at %C cannot be INTENT(IN)"
+ msgstr ""
+
+-#: fortran/io.c:2525
++#: fortran/io.c:2529
+ #, no-c-format
+ msgid "Cannot read to variable '%s' in PURE procedure at %C"
+ msgstr ""
+
+-#: fortran/io.c:2541
++#: fortran/io.c:2545
+ #, no-c-format
+ msgid "Cannot write to internal file unit '%s' at %C inside a PURE procedure"
+ msgstr ""
+
+ #. A general purpose syntax error.
+-#: fortran/io.c:2602 fortran/io.c:3004 fortran/gfortran.h:1998
++#: fortran/io.c:2606 fortran/io.c:3013 fortran/gfortran.h:2002
+ #, fuzzy, no-c-format
+ msgid "Syntax error in %s statement at %C"
+ msgstr "συντακτικό σφάλμα στο σÏμβολο %qs"
+
+-#: fortran/io.c:2670
++#: fortran/io.c:2679
+ #, no-c-format
+ msgid "Fortran 2003: Internal file at %L with namelist"
+ msgstr ""
+
+-#: fortran/io.c:2833
++#: fortran/io.c:2842
+ #, no-c-format
+ msgid "PRINT namelist at %C is an extension"
+ msgstr ""
+
+-#: fortran/io.c:2965
++#: fortran/io.c:2974
+ #, no-c-format
+ msgid "Extension: Comma before i/o item list at %C"
+ msgstr ""
+
+-#: fortran/io.c:2974
++#: fortran/io.c:2983
+ #, no-c-format
+ msgid "Expected comma in I/O list at %C"
+ msgstr ""
+
+-#: fortran/io.c:3036
++#: fortran/io.c:3045
+ #, no-c-format
+ msgid "PRINT statement at %C not allowed within PURE procedure"
+ msgstr ""
+
+-#: fortran/io.c:3176 fortran/io.c:3227
++#: fortran/io.c:3185 fortran/io.c:3236
+ #, no-c-format
+ msgid "INQUIRE statement not allowed in PURE procedure at %C"
+ msgstr ""
+
+-#: fortran/io.c:3203
++#: fortran/io.c:3212
+ #, no-c-format
+ msgid "IOLENGTH tag invalid in INQUIRE statement at %C"
+ msgstr ""
+
+-#: fortran/io.c:3213 fortran/trans-io.c:1144
++#: fortran/io.c:3222 fortran/trans-io.c:1145
+ #, no-c-format
+ msgid "INQUIRE statement at %L cannot contain both FILE and UNIT specifiers"
+ msgstr ""
+
+-#: fortran/io.c:3220
++#: fortran/io.c:3229
+ #, no-c-format
+ msgid "INQUIRE statement at %L requires either FILE or UNIT specifier"
+ msgstr ""
+
+-#: fortran/match.c:270
++#: fortran/match.c:156
+ #, fuzzy, no-c-format
++msgid "Missing ')' in statement before %L"
++msgstr "Έχει παÏαληφθεί εντολή"
++
++#: fortran/match.c:161
++#, fuzzy, no-c-format
++msgid "Missing '(' in statement before %L"
++msgstr "Έχει παÏαληφθεί εντολή"
++
++#: fortran/match.c:332
++#, fuzzy, no-c-format
+ msgid "Integer too large at %C"
+ msgstr "σχετική θέση αÏχείου είναι εκτός οÏίων"
+
+-#: fortran/match.c:363 fortran/parse.c:442
++#: fortran/match.c:425 fortran/parse.c:589
+ #, no-c-format
+ msgid "Too many digits in statement label at %C"
+ msgstr ""
+
+-#: fortran/match.c:369
++#: fortran/match.c:431
+ #, no-c-format
+ msgid "Statement label at %C is zero"
+ msgstr ""
+
+ # src/getopt.c:628
+ # src/getopt.c:628
+-#: fortran/match.c:402
++#: fortran/match.c:464
+ #, fuzzy, no-c-format
+ msgid "Label name '%s' at %C is ambiguous"
+ msgstr "%s: η επιλογή `%s' είναι ασαφής\n"
+
+-#: fortran/match.c:408
++#: fortran/match.c:470
+ #, fuzzy, no-c-format
+ msgid "Duplicate construct label '%s' at %C"
+ msgstr "διπλός αÏιθμός μηνÏματος"
+
+-#: fortran/match.c:438
++#: fortran/match.c:500
+ #, fuzzy, no-c-format
+ msgid "Invalid character in name at %C"
+ msgstr "Μη έγκυÏος χαÏακτήÏας ονόματος κλάσης"
+
+-#: fortran/match.c:451 fortran/match.c:523
++#: fortran/match.c:513 fortran/match.c:585
+ #, no-c-format
+ msgid "Name at %C is too long"
+ msgstr ""
+
+-#: fortran/match.c:506 fortran/match.c:552
++#: fortran/match.c:568 fortran/match.c:614
+ #, no-c-format
+ msgid "Invalid C name in NAME= specifier at %C"
+ msgstr ""
+
+-#: fortran/match.c:543
++#: fortran/match.c:605
+ #, no-c-format
+ msgid "Embedded space in NAME= specifier at %C"
+ msgstr ""
+
+-#: fortran/match.c:868
++#: fortran/match.c:930
+ #, no-c-format
+ msgid "Loop variable at %C cannot be a sub-component"
+ msgstr ""
+
+-#: fortran/match.c:874
++#: fortran/match.c:936
+ #, no-c-format
+ msgid "Loop variable '%s' at %C cannot be INTENT(IN)"
+ msgstr ""
+
+-#: fortran/match.c:907
++#: fortran/match.c:969
+ #, no-c-format
+ msgid "Expected a step value in iterator at %C"
+ msgstr ""
+
+-#: fortran/match.c:919
++#: fortran/match.c:981
+ #, fuzzy, no-c-format
+ msgid "Syntax error in iterator at %C"
+ msgstr "συντακτικό σφάλμα στον καθοÏισμό σειÏάς"
+
+-#: fortran/match.c:1155
++#: fortran/match.c:1217
+ #, no-c-format
+ msgid "Invalid form of PROGRAM statement at %C"
+ msgstr ""
+
+-#: fortran/match.c:1196
++#: fortran/match.c:1258
+ #, no-c-format
+ msgid "Setting value of PROTECTED variable at %C"
+ msgstr ""
+
+-#: fortran/match.c:1249
++#: fortran/match.c:1311
+ #, no-c-format
+ msgid "Assigning to a PROTECTED pointer at %C"
+ msgstr ""
+
+-#: fortran/match.c:1292 fortran/match.c:1365
++#: fortran/match.c:1354 fortran/match.c:1435
+ #, no-c-format
+ msgid "Obsolescent: arithmetic IF statement at %C"
+ msgstr ""
+
+-#: fortran/match.c:1340
++#: fortran/match.c:1410
+ #, fuzzy, no-c-format
+ msgid "Syntax error in IF-expression at %C"
+ msgstr "συντακτικό σφάλμα στο οÏισμό του %s: %s"
+
+-#: fortran/match.c:1351
++#: fortran/match.c:1421
+ #, no-c-format
+ msgid "Block label not appropriate for arithmetic IF statement at %C"
+ msgstr ""
+
+-#: fortran/match.c:1389
++#: fortran/match.c:1459
+ #, no-c-format
+-msgid "Block label is not appropriate IF statement at %C"
++msgid "Block label is not appropriate for IF statement at %C"
+ msgstr ""
+
+-#: fortran/match.c:1468 fortran/primary.c:2522
++#: fortran/match.c:1538 fortran/primary.c:2559
+ #, no-c-format
+ msgid "Cannot assign to a named constant at %C"
+ msgstr ""
+
+-#: fortran/match.c:1478
++#: fortran/match.c:1548
+ #, no-c-format
+ msgid "Unclassifiable statement in IF-clause at %C"
+ msgstr ""
+
+-#: fortran/match.c:1485
++#: fortran/match.c:1555
+ #, fuzzy, no-c-format
+ msgid "Syntax error in IF-clause at %C"
+ msgstr "συντακτικό σφάλμα στον καθοÏισμό σειÏάς"
+
+-#: fortran/match.c:1529
++#: fortran/match.c:1599
+ #, no-c-format
+ msgid "Unexpected junk after ELSE statement at %C"
+ msgstr ""
+
+-#: fortran/match.c:1535 fortran/match.c:1570
++#: fortran/match.c:1605 fortran/match.c:1640
+ #, fuzzy, no-c-format
+ msgid "Label '%s' at %C doesn't match IF label '%s'"
+ msgstr "το αÏχείο δεδομένων Ï€Ïοφίλ `%s' δεν ταιÏιάζει με το διαμοιÏαζόμενο αντικείμενο `%s'"
+
+-#: fortran/match.c:1564
++#: fortran/match.c:1634
+ #, no-c-format
+ msgid "Unexpected junk after ELSE IF statement at %C"
+ msgstr ""
+
+-#: fortran/match.c:1727
++#: fortran/match.c:1797
+ #, no-c-format
+ msgid "Name '%s' in %s statement at %C is not a loop name"
+ msgstr ""
+
+-#: fortran/match.c:1743
++#: fortran/match.c:1813
+ #, no-c-format
+ msgid "%s statement at %C is not within a loop"
+ msgstr ""
+
+-#: fortran/match.c:1746
++#: fortran/match.c:1816
+ #, no-c-format
+ msgid "%s statement at %C is not within loop '%s'"
+ msgstr ""
+
+-#: fortran/match.c:1754
++#: fortran/match.c:1824
+ #, no-c-format
+ msgid "%s statement at %C leaving OpenMP structured block"
+ msgstr ""
+
+-#: fortran/match.c:1767
++#: fortran/match.c:1837
+ #, no-c-format
+ msgid "EXIT statement at %C terminating !$OMP DO loop"
+ msgstr ""
+
+-#: fortran/match.c:1819
++#: fortran/match.c:1889
+ #, no-c-format
+ msgid "Too many digits in STOP code at %C"
+ msgstr ""
+
+-#: fortran/match.c:1872
++#: fortran/match.c:1942
+ #, no-c-format
+ msgid "Deleted feature: PAUSE statement at %C"
+ msgstr ""
+
+-#: fortran/match.c:1920
++#: fortran/match.c:1990
+ #, no-c-format
+ msgid "Deleted feature: ASSIGN statement at %C"
+ msgstr ""
+
+-#: fortran/match.c:1966
++#: fortran/match.c:2036
+ #, no-c-format
+ msgid "Deleted feature: Assigned GOTO statement at %C"
+ msgstr ""
+
+-#: fortran/match.c:2013 fortran/match.c:2065
++#: fortran/match.c:2083 fortran/match.c:2135
+ #, no-c-format
+ msgid "Statement label list in GOTO at %C cannot be empty"
+ msgstr ""
+
+-#: fortran/match.c:2149
++#: fortran/match.c:2219
+ #, no-c-format
+ msgid "Bad allocate-object in ALLOCATE statement at %C for a PURE procedure"
+ msgstr ""
+
+-#: fortran/match.c:2173
++#: fortran/match.c:2287
+ #, no-c-format
+-msgid "STAT variable '%s' of ALLOCATE statement at %C cannot be INTENT(IN)"
+-msgstr ""
+-
+-#: fortran/match.c:2180
+-#, no-c-format
+-msgid "Illegal STAT variable in ALLOCATE statement at %C for a PURE procedure"
+-msgstr ""
+-
+-#: fortran/match.c:2218 fortran/match.c:2382
+-#, no-c-format
+-msgid "STAT expression at %C must be a variable"
+-msgstr ""
+-
+-#: fortran/match.c:2272
+-#, no-c-format
+ msgid "Illegal variable in NULLIFY at %C for a PURE procedure"
+ msgstr ""
+
+-#: fortran/match.c:2349
++#: fortran/match.c:2364
+ #, no-c-format
+ msgid "Illegal deallocate-expression in DEALLOCATE at %C for a PURE procedure"
+ msgstr ""
+
+-#: fortran/match.c:2368
++#: fortran/match.c:2417
+ #, no-c-format
+-msgid "STAT variable '%s' of DEALLOCATE statement at %C cannot be INTENT(IN)"
+-msgstr ""
+-
+-#: fortran/match.c:2375
+-#, no-c-format
+-msgid "Illegal STAT variable in DEALLOCATE statement at %C for a PURE procedure"
+-msgstr ""
+-
+-#: fortran/match.c:2424
+-#, no-c-format
+ msgid "Alternate RETURN statement at %C is only allowed within a SUBROUTINE"
+ msgstr ""
+
+-#: fortran/match.c:2455
++#: fortran/match.c:2448
+ #, no-c-format
+ msgid "Extension: RETURN statement in main program at %C"
+ msgstr ""
+
+-#: fortran/match.c:2665
++#: fortran/match.c:2658
+ #, fuzzy, no-c-format
+ msgid "Syntax error in common block name at %C"
+ msgstr "συντακτικό σφάλμα στον οÏισμό κλάσης χαÏακτήÏων"
+
+-#: fortran/match.c:2701
++#: fortran/match.c:2694
+ #, no-c-format
+ msgid "Symbol '%s' at %C is already an external symbol that is not COMMON"
+ msgstr ""
+
+-#: fortran/match.c:2719
+-#, no-c-format
+-msgid "BLOCK DATA unit cannot contain blank COMMON at %C"
+-msgstr ""
+-
+ #. If we find an error, just print it and continue,
+ #. cause it's just semantic, and we can see if there
+ #. are more errors.
+-#: fortran/match.c:2765
++#: fortran/match.c:2753
+ #, no-c-format
+ msgid "Variable '%s' at %L in common block '%s' at %C must be declared with a C interoperable kind since common block '%s' is bind(c)"
+ msgstr ""
+
+-#: fortran/match.c:2774
++#: fortran/match.c:2762
+ #, no-c-format
+ msgid "Variable '%s' in common block '%s' at %C can not be bind(c) since it is not global"
+ msgstr ""
+
+-#: fortran/match.c:2781
++#: fortran/match.c:2769
+ #, no-c-format
+ msgid "Symbol '%s' at %C is already in a COMMON block"
+ msgstr ""
+
+-#: fortran/match.c:2793
++#: fortran/match.c:2777
+ #, no-c-format
+-msgid "Previously initialized symbol '%s' in blank COMMON block at %C"
++msgid "Initialized symbol '%s' at %C can only be COMMON in BLOCK DATA"
+ msgstr ""
+
+-#: fortran/match.c:2796
++#: fortran/match.c:2804
+ #, no-c-format
+-msgid "Previously initialized symbol '%s' in COMMON block '%s' at %C"
+-msgstr ""
+-
+-#: fortran/match.c:2821
+-#, no-c-format
+ msgid "Array specification for symbol '%s' in COMMON at %C must be explicit"
+ msgstr ""
+
+-#: fortran/match.c:2831
++#: fortran/match.c:2814
+ #, no-c-format
+ msgid "Symbol '%s' in COMMON at %C cannot be a POINTER array"
+ msgstr ""
+
+-#: fortran/match.c:2863
++#: fortran/match.c:2846
+ #, no-c-format
+ msgid "Symbol '%s', in COMMON block '%s' at %C is being indirectly equivalenced to another COMMON block '%s'"
+ msgstr ""
+
+-#: fortran/match.c:2971
++#: fortran/match.c:2954
+ #, no-c-format
+ msgid "Namelist group name '%s' at %C already has a basic type of %s"
+ msgstr ""
+
+-#: fortran/match.c:2979
++#: fortran/match.c:2962
+ #, no-c-format
+ msgid "Namelist group name '%s' at %C already is USE associated and cannot be respecified."
+ msgstr ""
+
+-#: fortran/match.c:3006
++#: fortran/match.c:2989
+ #, no-c-format
+ msgid "Assumed size array '%s' in namelist '%s' at %C is not allowed"
+ msgstr ""
+
+-#: fortran/match.c:3013
++#: fortran/match.c:2996
+ #, no-c-format
+ msgid "Assumed character length '%s' in namelist '%s' at %C is not allowed"
+ msgstr ""
+
+-#: fortran/match.c:3140
++#: fortran/match.c:3123
+ #, no-c-format
+ msgid "Derived type component %C is not a permitted EQUIVALENCE member"
+ msgstr ""
+
+-#: fortran/match.c:3148
++#: fortran/match.c:3131
+ #, no-c-format
+ msgid "Array reference in EQUIVALENCE at %C cannot be an array section"
+ msgstr ""
+
+-#: fortran/match.c:3176
++#: fortran/match.c:3159
+ #, no-c-format
+ msgid "EQUIVALENCE at %C requires two or more objects"
+ msgstr ""
+
+-#: fortran/match.c:3190
++#: fortran/match.c:3173
+ #, no-c-format
+ msgid "Attempt to indirectly overlap COMMON blocks %s and %s by EQUIVALENCE at %C"
+ msgstr ""
+
+-#: fortran/match.c:3351
++#: fortran/match.c:3299
+ #, no-c-format
+ msgid "Statement function at %L is recursive"
+ msgstr ""
+
+-#: fortran/match.c:3439
++#: fortran/match.c:3387
+ #, no-c-format
+ msgid "Expected initialization expression in CASE at %C"
+ msgstr ""
+
+-#: fortran/match.c:3462
++#: fortran/match.c:3410
+ #, no-c-format
+ msgid "Expected the name of the SELECT CASE construct at %C"
+ msgstr ""
+
+-#: fortran/match.c:3474
++#: fortran/match.c:3422
+ #, fuzzy, no-c-format
+ msgid "Expected case name of '%s' at %C"
+ msgstr "%s: αναμενόταν αÏιθμητική τιμή."
+
+-#: fortran/match.c:3518
++#: fortran/match.c:3466
+ #, no-c-format
+ msgid "Unexpected CASE statement at %C"
+ msgstr ""
+
+-#: fortran/match.c:3570
++#: fortran/match.c:3518
+ #, fuzzy, no-c-format
+ msgid "Syntax error in CASE-specification at %C"
+ msgstr "συντακτικό σφάλμα στο οÏισμό του %s: %s"
+
+-#: fortran/match.c:3690
++#: fortran/match.c:3638
+ #, no-c-format
+ msgid "ELSEWHERE statement at %C not enclosed in WHERE block"
+ msgstr ""
+
+-#: fortran/match.c:3728
++#: fortran/match.c:3676
+ #, fuzzy, no-c-format
+ msgid "Label '%s' at %C doesn't match WHERE label '%s'"
+ msgstr "το αÏχείο δεδομένων Ï€Ïοφίλ `%s' δεν ταιÏιάζει με το διαμοιÏαζόμενο αντικείμενο `%s'"
+
+-#: fortran/match.c:3828
++#: fortran/match.c:3776
+ #, fuzzy, no-c-format
+ msgid "Syntax error in FORALL iterator at %C"
+ msgstr "συντακτικό σφάλμα στον οÏισμό κλάσης χαÏακτήÏων"
+@@ -7693,7 +7695,8 @@
+ msgid "Expected exponent in expression at %C"
+ msgstr "ΕξαίÏεση κινητής υποδιαστολής"
+
+-#: fortran/matchexp.c:348 fortran/matchexp.c:452
++#: fortran/matchexp.c:350 fortran/matchexp.c:355 fortran/matchexp.c:459
++#: fortran/matchexp.c:464
+ #, no-c-format
+ msgid "Extension: Unary operator following arithmetic operator (use parentheses) at %C"
+ msgstr ""
+@@ -7828,127 +7831,127 @@
+ msgid "Expected real string"
+ msgstr "%s: αναμενόταν αÏιθμητική τιμή."
+
+-#: fortran/module.c:2722
++#: fortran/module.c:2730
+ #, fuzzy
+ msgid "Expected expression type"
+ msgstr "Μη έγκυÏη Ï€ÏοποÏευόμενη κανονική έκφÏαση"
+
+-#: fortran/module.c:2776
++#: fortran/module.c:2784
+ #, fuzzy
+ msgid "Bad operator"
+ msgstr "μη έγκυÏος χÏήστης"
+
+-#: fortran/module.c:2861
++#: fortran/module.c:2869
+ #, fuzzy
+ msgid "Bad type in constant expression"
+ msgstr "%s: μη έγκυÏη κανονική έκφÏαση: %s"
+
+-#: fortran/module.c:2898
++#: fortran/module.c:2906
+ #, no-c-format
+ msgid "Namelist %s cannot be renamed by USE association to %s"
+ msgstr ""
+
+-#: fortran/module.c:3723
++#: fortran/module.c:3847
+ #, no-c-format
+ msgid "Symbol '%s' referenced at %L not found in module '%s'"
+ msgstr ""
+
+-#: fortran/module.c:3730
++#: fortran/module.c:3854
+ #, no-c-format
+ msgid "User operator '%s' referenced at %L not found in module '%s'"
+ msgstr ""
+
+-#: fortran/module.c:3735
++#: fortran/module.c:3859
+ #, no-c-format
+ msgid "Intrinsic operator '%s' referenced at %L not found in module '%s'"
+ msgstr ""
+
+-#: fortran/module.c:4213
++#: fortran/module.c:4400
+ #, fuzzy, no-c-format
+ msgid "Can't open module file '%s' for writing at %C: %s"
+ msgstr "%s: Δεν είναι δυνατόν να ανοιχτεί το %s: %s\n"
+
+-#: fortran/module.c:4251
++#: fortran/module.c:4438
+ #, fuzzy, no-c-format
+ msgid "Error writing module file '%s' for writing: %s"
+ msgstr "%s: Σφάλμα κατά την εγγÏαφή του %s\n"
+
+-#: fortran/module.c:4281 fortran/module.c:4363
++#: fortran/module.c:4468 fortran/module.c:4550
+ #, no-c-format
+ msgid "Symbol '%s' referenced at %L does not exist in intrinsic module ISO_C_BINDING."
+ msgstr ""
+
+-#: fortran/module.c:4394
++#: fortran/module.c:4581
+ #, no-c-format
+ msgid "Symbol '%s' referenced at %L not found in intrinsic module ISO_C_BINDING"
+ msgstr ""
+
+-#: fortran/module.c:4416
++#: fortran/module.c:4603
+ #, no-c-format
+ msgid "Symbol '%s' already declared"
+ msgstr ""
+
+-#: fortran/module.c:4471
++#: fortran/module.c:4658
+ #, no-c-format
+ msgid "Use of intrinsic module '%s' at %C conflicts with non-intrinsic module name used previously"
+ msgstr ""
+
+-#: fortran/module.c:4484
++#: fortran/module.c:4671
+ #, no-c-format
+ msgid "Symbol '%s' referenced at %L does not exist in intrinsic module ISO_FORTRAN_ENV"
+ msgstr ""
+
+-#: fortran/module.c:4492
++#: fortran/module.c:4679
+ #, no-c-format
+ msgid "Use of the NUMERIC_STORAGE_SIZE named constant from intrinsic module ISO_FORTRAN_ENV at %L is incompatible with option %s"
+ msgstr ""
+
+-#: fortran/module.c:4520
++#: fortran/module.c:4707
+ #, no-c-format
+ msgid "Use of the NUMERIC_STORAGE_SIZE named constant from intrinsic module ISO_FORTRAN_ENV at %C is incompatible with option %s"
+ msgstr ""
+
+-#: fortran/module.c:4536
++#: fortran/module.c:4723
+ #, no-c-format
+ msgid "Symbol '%s' referenced at %L not found in intrinsic module ISO_FORTRAN_ENV"
+ msgstr ""
+
+-#: fortran/module.c:4569
++#: fortran/module.c:4756
+ #, no-c-format
+ msgid "Fortran 2003: ISO_FORTRAN_ENV intrinsic module at %C"
+ msgstr ""
+
+-#: fortran/module.c:4577
++#: fortran/module.c:4764
+ #, no-c-format
+ msgid "Fortran 2003: ISO_C_BINDING module at %C"
+ msgstr ""
+
+-#: fortran/module.c:4587
++#: fortran/module.c:4774
+ #, no-c-format
+ msgid "Can't find an intrinsic module named '%s' at %C"
+ msgstr ""
+
+-#: fortran/module.c:4592
++#: fortran/module.c:4779
+ #, fuzzy, no-c-format
+ msgid "Can't open module file '%s' for reading at %C: %s"
+ msgstr "%s: Δεν είναι δυνατόν να ανοιχτεί το %s: %s\n"
+
+-#: fortran/module.c:4600
++#: fortran/module.c:4787
+ #, no-c-format
+ msgid "Use of non-intrinsic module '%s' at %C conflicts with intrinsic module name used previously"
+ msgstr ""
+
+-#: fortran/module.c:4615
++#: fortran/module.c:4802
+ #, fuzzy
+ msgid "Unexpected end of module"
+ msgstr "Μη οÏισμένο όνομα %s"
+
+-#: fortran/module.c:4620
++#: fortran/module.c:4807
+ #, no-c-format
+ msgid "File '%s' opened at %C is not a GFORTRAN module file"
+ msgstr ""
+
+-#: fortran/module.c:4630
++#: fortran/module.c:4817
+ #, no-c-format
+ msgid "Can't USE the same module we're building!"
+ msgstr ""
+@@ -7978,7 +7981,7 @@
+ msgid "Syntax error in !$OMP THREADPRIVATE list at %C"
+ msgstr ""
+
+-#: fortran/openmp.c:696 fortran/resolve.c:5822 fortran/resolve.c:6133
++#: fortran/openmp.c:696 fortran/resolve.c:5970 fortran/resolve.c:6317
+ #, no-c-format
+ msgid "IF clause at %L requires a scalar LOGICAL expression"
+ msgstr ""
+@@ -8274,304 +8277,304 @@
+ msgid "Maximum subrecord length cannot exceed %d"
+ msgstr ""
+
+-#: fortran/parse.c:304
++#: fortran/parse.c:451
+ #, fuzzy, no-c-format
+ msgid "Unclassifiable statement at %C"
+ msgstr "Μη έγκυÏη παÏάμετÏος"
+
+-#: fortran/parse.c:328
++#: fortran/parse.c:475
+ #, no-c-format
+ msgid "OpenMP directives at %C may not appear in PURE or ELEMENTAL procedures"
+ msgstr ""
+
+-#: fortran/parse.c:406
++#: fortran/parse.c:553
+ #, no-c-format
+ msgid "Unclassifiable OpenMP directive at %C"
+ msgstr ""
+
+-#: fortran/parse.c:445 fortran/parse.c:586
++#: fortran/parse.c:592 fortran/parse.c:733
+ #, fuzzy, no-c-format
+ msgid "Zero is not a valid statement label at %C"
+ msgstr "Μη έγκυÏη παÏάμετÏος"
+
+-#: fortran/parse.c:452 fortran/parse.c:578
++#: fortran/parse.c:599 fortran/parse.c:725
+ #, fuzzy, no-c-format
+ msgid "Non-numeric character in statement label at %C"
+ msgstr "κενό αλφαÏιθμητικό"
+
+-#: fortran/parse.c:464 fortran/parse.c:500 fortran/parse.c:626
++#: fortran/parse.c:611 fortran/parse.c:647 fortran/parse.c:773
+ #, no-c-format
+ msgid "Semicolon at %C needs to be preceded by statement"
+ msgstr ""
+
+-#: fortran/parse.c:472 fortran/parse.c:638
++#: fortran/parse.c:619 fortran/parse.c:785
+ #, no-c-format
+ msgid "Ignoring statement label in empty statement at %C"
+ msgstr ""
+
+-#: fortran/parse.c:565 fortran/parse.c:605
++#: fortran/parse.c:712 fortran/parse.c:752
+ #, no-c-format
+ msgid "Bad continuation line at %C"
+ msgstr ""
+
+-#: fortran/parse.c:664
++#: fortran/parse.c:811
+ #, no-c-format
+ msgid "Line truncated at %C"
+ msgstr ""
+
+-#: fortran/parse.c:841
++#: fortran/parse.c:997
+ #, no-c-format
+ msgid "FORMAT statement at %L does not have a statement label"
+ msgstr ""
+
+-#: fortran/parse.c:913
++#: fortran/parse.c:1069
+ msgid "arithmetic IF"
+ msgstr ""
+
+-#: fortran/parse.c:919
++#: fortran/parse.c:1075
+ #, fuzzy
+ msgid "attribute declaration"
+ msgstr "Μη έγκυÏη ανταλλαγή"
+
+-#: fortran/parse.c:949
++#: fortran/parse.c:1105
+ #, fuzzy
+ msgid "data declaration"
+ msgstr "κενό αλφαÏιθμητικό"
+
+-#: fortran/parse.c:958
++#: fortran/parse.c:1114
+ #, fuzzy
+ msgid "derived type declaration"
+ msgstr "κενό αλφαÏιθμητικό"
+
+-#: fortran/parse.c:1037
++#: fortran/parse.c:1193
+ msgid "block IF"
+ msgstr ""
+
+-#: fortran/parse.c:1046
++#: fortran/parse.c:1202
+ msgid "implied END DO"
+ msgstr ""
+
+-#: fortran/parse.c:1119
++#: fortran/parse.c:1275
+ #, fuzzy
+ msgid "assignment"
+ msgstr "Ï€ÏοσπέÏασμα οÏίσματος"
+
+-#: fortran/parse.c:1122
++#: fortran/parse.c:1278
+ #, fuzzy
+ msgid "pointer assignment"
+ msgstr "Ï€ÏοσπέÏασμα οÏίσματος"
+
+-#: fortran/parse.c:1131
++#: fortran/parse.c:1287
+ msgid "simple IF"
+ msgstr ""
+
+-#: fortran/parse.c:1347
++#: fortran/parse.c:1503
+ #, fuzzy, no-c-format
+ msgid "Unexpected %s statement at %C"
+ msgstr "Μη έγκυÏη παÏάμετÏος"
+
+-#: fortran/parse.c:1486
++#: fortran/parse.c:1642
+ #, no-c-format
+ msgid "%s statement at %C cannot follow %s statement at %L"
+ msgstr ""
+
+-#: fortran/parse.c:1503
++#: fortran/parse.c:1659
+ #, no-c-format
+ msgid "Unexpected end of file in '%s'"
+ msgstr ""
+
+-#: fortran/parse.c:1558
++#: fortran/parse.c:1714
+ #, no-c-format
+ msgid "Fortran 2003: Derived type definition at %C without components"
+ msgstr ""
+
+-#: fortran/parse.c:1569
++#: fortran/parse.c:1725
+ #, no-c-format
+ msgid "PRIVATE statement in TYPE at %C must be inside a MODULE"
+ msgstr ""
+
+-#: fortran/parse.c:1577
++#: fortran/parse.c:1733
+ #, no-c-format
+ msgid "PRIVATE statement at %C must precede structure components"
+ msgstr ""
+
+-#: fortran/parse.c:1585
++#: fortran/parse.c:1741
+ #, no-c-format
+ msgid "Duplicate PRIVATE statement at %C"
+ msgstr ""
+
+-#: fortran/parse.c:1597
++#: fortran/parse.c:1753
+ #, no-c-format
+ msgid "SEQUENCE statement at %C must precede structure components"
+ msgstr ""
+
+-#: fortran/parse.c:1604
++#: fortran/parse.c:1760
+ #, no-c-format
+ msgid "SEQUENCE attribute at %C already specified in TYPE statement"
+ msgstr ""
+
+-#: fortran/parse.c:1609
++#: fortran/parse.c:1765
+ #, no-c-format
+ msgid "Duplicate SEQUENCE statement at %C"
+ msgstr ""
+
+-#: fortran/parse.c:1700
++#: fortran/parse.c:1856
+ #, no-c-format
+ msgid "ENUM declaration at %C has no ENUMERATORS"
+ msgstr ""
+
+-#: fortran/parse.c:1778
++#: fortran/parse.c:1934
+ #, no-c-format
+ msgid "Unexpected %s statement in INTERFACE block at %C"
+ msgstr ""
+
+-#: fortran/parse.c:1804
++#: fortran/parse.c:1960
+ #, no-c-format
+ msgid "SUBROUTINE at %C does not belong in a generic function interface"
+ msgstr ""
+
+-#: fortran/parse.c:1808
++#: fortran/parse.c:1964
+ #, no-c-format
+ msgid "FUNCTION at %C does not belong in a generic subroutine interface"
+ msgstr ""
+
+-#: fortran/parse.c:1818
++#: fortran/parse.c:1974
+ #, no-c-format
+ msgid "Name '%s' of ABSTRACT INTERFACE at %C cannot be the same as an intrinsic type"
+ msgstr ""
+
+-#: fortran/parse.c:1849
++#: fortran/parse.c:2005
+ #, no-c-format
+ msgid "Unexpected %s statement at %C in INTERFACE body"
+ msgstr ""
+
+-#: fortran/parse.c:1863
++#: fortran/parse.c:2019
+ #, no-c-format
+ msgid "INTERFACE procedure '%s' at %L has the same name as the enclosing procedure"
+ msgstr ""
+
+-#: fortran/parse.c:1958
++#: fortran/parse.c:2134
+ #, no-c-format
+ msgid "%s statement must appear in a MODULE"
+ msgstr ""
+
+-#: fortran/parse.c:1965
++#: fortran/parse.c:2141
+ #, no-c-format
+ msgid "%s statement at %C follows another accessibility specification"
+ msgstr ""
+
+-#: fortran/parse.c:2015
++#: fortran/parse.c:2191
+ #, fuzzy, no-c-format
+ msgid "Bad kind expression for function '%s' at %L"
+ msgstr "Μη έγκυÏη κανονική έκφÏαση"
+
+-#: fortran/parse.c:2018
++#: fortran/parse.c:2195
+ #, no-c-format
+ msgid "The type for function '%s' at %L is not accessible"
+ msgstr ""
+
+-#: fortran/parse.c:2070
++#: fortran/parse.c:2253
+ #, no-c-format
+ msgid "ELSEWHERE statement at %C follows previous unmasked ELSEWHERE"
+ msgstr ""
+
+-#: fortran/parse.c:2091
++#: fortran/parse.c:2274
+ #, no-c-format
+ msgid "Unexpected %s statement in WHERE block at %C"
+ msgstr ""
+
+-#: fortran/parse.c:2150
++#: fortran/parse.c:2333
+ #, no-c-format
+ msgid "Unexpected %s statement in FORALL block at %C"
+ msgstr ""
+
+-#: fortran/parse.c:2201
++#: fortran/parse.c:2384
+ #, no-c-format
+ msgid "ELSE IF statement at %C cannot follow ELSE statement at %L"
+ msgstr ""
+
+-#: fortran/parse.c:2219
++#: fortran/parse.c:2402
+ #, no-c-format
+ msgid "Duplicate ELSE statements at %L and %C"
+ msgstr ""
+
+-#: fortran/parse.c:2280
++#: fortran/parse.c:2463
+ #, no-c-format
+ msgid "Expected a CASE or END SELECT statement following SELECT CASE at %C"
+ msgstr ""
+
+-#: fortran/parse.c:2338
++#: fortran/parse.c:2521
+ #, no-c-format
+ msgid "Variable '%s' at %C cannot be redefined inside loop beginning at %L"
+ msgstr ""
+
+-#: fortran/parse.c:2372
++#: fortran/parse.c:2555
+ #, no-c-format
+ msgid "End of nonblock DO statement at %C is within another block"
+ msgstr ""
+
+-#: fortran/parse.c:2381
++#: fortran/parse.c:2564
+ #, no-c-format
+ msgid "End of nonblock DO statement at %C is interwoven with another DO loop"
+ msgstr ""
+
+-#: fortran/parse.c:2430
++#: fortran/parse.c:2613
+ #, no-c-format
+ msgid "Statement label in ENDDO at %C doesn't match DO label"
+ msgstr ""
+
+-#: fortran/parse.c:2446
++#: fortran/parse.c:2629
+ #, no-c-format
+ msgid "named block DO at %L requires matching ENDDO name"
+ msgstr ""
+
+-#: fortran/parse.c:2702
++#: fortran/parse.c:2885
+ #, no-c-format
+ msgid "Name after !$omp critical and !$omp end critical does not match at %C"
+ msgstr ""
+
+-#: fortran/parse.c:2758
++#: fortran/parse.c:2941
+ #, no-c-format
+ msgid "%s statement at %C cannot terminate a non-block DO loop"
+ msgstr ""
+
+-#: fortran/parse.c:2943
++#: fortran/parse.c:3126
+ #, no-c-format
+ msgid "Contained procedure '%s' at %C is already ambiguous"
+ msgstr ""
+
+-#: fortran/parse.c:2993
++#: fortran/parse.c:3176
+ #, no-c-format
+ msgid "Unexpected %s statement in CONTAINS section at %C"
+ msgstr ""
+
+ #. This is valid in Fortran 2008.
+-#: fortran/parse.c:3018
++#: fortran/parse.c:3201
+ #, no-c-format
+ msgid "Extension: CONTAINS statement without FUNCTION or SUBROUTINE statement at %C"
+ msgstr ""
+
+-#: fortran/parse.c:3089
++#: fortran/parse.c:3272
+ #, no-c-format
+ msgid "CONTAINS statement at %C is already in a contained program unit"
+ msgstr ""
+
+-#: fortran/parse.c:3138
++#: fortran/parse.c:3321
+ #, no-c-format
+ msgid "Global name '%s' at %L is already being used as a %s at %L"
+ msgstr ""
+
+-#: fortran/parse.c:3159
++#: fortran/parse.c:3342
+ #, no-c-format
+ msgid "Blank BLOCK DATA at %C conflicts with prior BLOCK DATA at %L"
+ msgstr ""
+
+-#: fortran/parse.c:3185
++#: fortran/parse.c:3368
+ #, no-c-format
+ msgid "Unexpected %s statement in BLOCK DATA at %C"
+ msgstr ""
+
+-#: fortran/parse.c:3228
++#: fortran/parse.c:3411
+ #, no-c-format
+ msgid "Unexpected %s statement in MODULE at %C"
+ msgstr ""
+@@ -8579,7 +8582,7 @@
+ #. If we see a duplicate main program, shut down. If the second
+ #. instance is an implied main program, ie data decls or executable
+ #. statements, we're in for lots of errors.
+-#: fortran/parse.c:3416
++#: fortran/parse.c:3594
+ #, no-c-format
+ msgid "Two main PROGRAMs at %L and %C"
+ msgstr ""
+@@ -8616,7 +8619,7 @@
+
+ #: fortran/primary.c:353
+ #, no-c-format
+-msgid "Extension: Hexadecimal constant at %C uses non-standard syntax."
++msgid "Extension: Hexadecimal constant at %C uses non-standard syntax"
+ msgstr ""
+
+ #: fortran/primary.c:363
+@@ -8629,1000 +8632,1045 @@
+ msgid "Illegal character in BOZ constant at %C"
+ msgstr "κενό αλφαÏιθμητικό"
+
+-#: fortran/primary.c:391
++#: fortran/primary.c:392
+ #, no-c-format
+-msgid "Extension: BOZ constant at %C uses non-standard postfix syntax."
++msgid "Extension: BOZ constant at %C uses non-standard postfix syntax"
+ msgstr ""
+
+-#: fortran/primary.c:417
++#: fortran/primary.c:423
+ #, no-c-format
+ msgid "Integer too big for integer kind %i at %C"
+ msgstr ""
+
+-#: fortran/primary.c:517
++#: fortran/primary.c:429
+ #, no-c-format
++msgid "Fortran 2003: BOZ used outside a DATA statement at %C"
++msgstr ""
++
++#: fortran/primary.c:529
++#, no-c-format
+ msgid "Missing exponent in real number at %C"
+ msgstr ""
+
+-#: fortran/primary.c:573
++#: fortran/primary.c:585
+ #, no-c-format
+ msgid "Real number at %C has a 'd' exponent and an explicit kind"
+ msgstr ""
+
+-#: fortran/primary.c:586
++#: fortran/primary.c:598
+ #, no-c-format
+ msgid "Invalid real kind %d at %C"
+ msgstr ""
+
+-#: fortran/primary.c:600
++#: fortran/primary.c:612
+ #, no-c-format
+ msgid "Real constant overflows its kind at %C"
+ msgstr ""
+
+-#: fortran/primary.c:605
++#: fortran/primary.c:617
+ #, no-c-format
+ msgid "Real constant underflows its kind at %C"
+ msgstr ""
+
+-#: fortran/primary.c:697
++#: fortran/primary.c:709
+ #, fuzzy, no-c-format
+ msgid "Syntax error in SUBSTRING specification at %C"
+ msgstr "συντακτικό σφάλμα στο οÏισμό του %s: %s"
+
+-#: fortran/primary.c:902
++#: fortran/primary.c:914
+ #, no-c-format
+ msgid "Invalid kind %d for CHARACTER constant at %C"
+ msgstr ""
+
+-#: fortran/primary.c:923
++#: fortran/primary.c:935
+ #, fuzzy, no-c-format
+ msgid "Unterminated character constant beginning at %C"
+ msgstr "μη τεÏματιζμένο αλφαÏιθμητικό σταθεÏάς"
+
+-#: fortran/primary.c:1035
++#: fortran/primary.c:1047
+ #, no-c-format
+ msgid "Bad kind for logical constant at %C"
+ msgstr ""
+
+-#: fortran/primary.c:1074
++#: fortran/primary.c:1086
+ #, no-c-format
+ msgid "Expected PARAMETER symbol in complex constant at %C"
+ msgstr ""
+
+-#: fortran/primary.c:1080
++#: fortran/primary.c:1092
+ #, no-c-format
+ msgid "Numeric PARAMETER required in complex constant at %C"
+ msgstr ""
+
+-#: fortran/primary.c:1086
++#: fortran/primary.c:1098
+ #, no-c-format
+ msgid "Scalar PARAMETER required in complex constant at %C"
+ msgstr ""
+
+-#: fortran/primary.c:1090
++#: fortran/primary.c:1102
+ #, no-c-format
+ msgid "Fortran 2003: PARAMETER symbol in complex constant at %C"
+ msgstr ""
+
+-#: fortran/primary.c:1120
++#: fortran/primary.c:1132
+ #, no-c-format
+ msgid "Error converting PARAMETER constant in complex constant at %C"
+ msgstr ""
+
+-#: fortran/primary.c:1249
++#: fortran/primary.c:1261
+ #, fuzzy, no-c-format
+ msgid "Syntax error in COMPLEX constant at %C"
+ msgstr "σφάλμα κατά το κλείσιμο του αÏχείου εξόδου"
+
+-#: fortran/primary.c:1430
++#: fortran/primary.c:1442
+ #, no-c-format
+ msgid "Keyword '%s' at %C has already appeared in the current argument list"
+ msgstr ""
+
+-#: fortran/primary.c:1494
++#: fortran/primary.c:1506
+ #, fuzzy, no-c-format
+ msgid "Extension: argument list function at %C"
+ msgstr "πάÏα πολλά οÏίσματα"
+
+-#: fortran/primary.c:1561
++#: fortran/primary.c:1573
+ #, no-c-format
+ msgid "Expected alternate return label at %C"
+ msgstr ""
+
+-#: fortran/primary.c:1579
++#: fortran/primary.c:1591
+ #, no-c-format
+ msgid "Missing keyword name in actual argument list at %C"
+ msgstr ""
+
+-#: fortran/primary.c:1624
++#: fortran/primary.c:1636
+ #, fuzzy, no-c-format
+ msgid "Syntax error in argument list at %C"
+ msgstr "συντακτικό σφάλμα στον οÏισμό κλάσης χαÏακτήÏων"
+
+-#: fortran/primary.c:1708
++#: fortran/primary.c:1723
+ #, no-c-format
+ msgid "Expected structure component name at %C"
+ msgstr ""
+
+-#: fortran/primary.c:1961
++#: fortran/primary.c:1980
+ #, no-c-format
+ msgid "Too many components in structure constructor at %C"
+ msgstr ""
+
+-#: fortran/primary.c:1974
++#: fortran/primary.c:1993
+ #, no-c-format
+ msgid "Structure constructor for '%s' at %C has PRIVATE components"
+ msgstr ""
+
+-#: fortran/primary.c:1984
++#: fortran/primary.c:2003
+ #, no-c-format
+ msgid "Too few components in structure constructor at %C"
+ msgstr ""
+
+-#: fortran/primary.c:2002
++#: fortran/primary.c:2021
+ #, no-c-format
+ msgid "Syntax error in structure constructor at %C"
+ msgstr ""
+
+-#: fortran/primary.c:2086
++#: fortran/primary.c:2105
+ #, no-c-format
+ msgid "'%s' 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.c:2188
++#: fortran/primary.c:2207
+ #, no-c-format
+ msgid "Unexpected use of subroutine name '%s' at %C"
+ msgstr ""
+
+-#: fortran/primary.c:2219
++#: fortran/primary.c:2238
+ #, no-c-format
+ msgid "Statement function '%s' requires argument list at %C"
+ msgstr ""
+
+-#: fortran/primary.c:2222
++#: fortran/primary.c:2241
+ #, no-c-format
+ msgid "Function '%s' requires an argument list at %C"
+ msgstr ""
+
+-#: fortran/primary.c:2267
++#: fortran/primary.c:2286
+ #, fuzzy, no-c-format
+ msgid "Missing argument to '%s' at %C"
+ msgstr "Λείπει παÏάμετÏος για `%s'"
+
+-#: fortran/primary.c:2408
++#: fortran/primary.c:2427
+ #, fuzzy, no-c-format
+ msgid "Missing argument list in function '%s' at %C"
+ msgstr "Λείπει παÏάμετÏος για `%s'"
+
+-#: fortran/primary.c:2436
++#: fortran/primary.c:2455
+ #, fuzzy, no-c-format
+ msgid "Symbol at %C is not appropriate for an expression"
+ msgstr "ΕξαίÏεση κινητής υποδιαστολής"
+
+-#: fortran/primary.c:2504
++#: fortran/primary.c:2523
+ #, no-c-format
+ msgid "Assigning to PROTECTED variable at %C"
+ msgstr ""
+
+-#: fortran/primary.c:2520
++#: fortran/primary.c:2557
+ #, no-c-format
+ msgid "Named constant at %C in an EQUIVALENCE"
+ msgstr ""
+
+-#: fortran/primary.c:2543
+-#, no-c-format
+-msgid "Expected VARIABLE at %C"
+-msgstr ""
++#: fortran/primary.c:2579
++#, fuzzy, no-c-format
++msgid "'%s' at %C is not a variable"
++msgstr "%s' δεν είναι ισχÏων θετικός ακέÏαιος."
+
+-#: fortran/resolve.c:120
++#: fortran/resolve.c:121
+ #, no-c-format
+ msgid "Alternate return specifier in elemental subroutine '%s' at %L is not allowed"
+ msgstr ""
+
+-#: fortran/resolve.c:124
++#: fortran/resolve.c:125
+ #, no-c-format
+ msgid "Alternate return specifier in function '%s' at %L is not allowed"
+ msgstr ""
+
+-#: fortran/resolve.c:137
++#: fortran/resolve.c:138
+ #, no-c-format
+ msgid "Dummy procedure '%s' of PURE procedure at %L must also be PURE"
+ msgstr ""
+
+-#: fortran/resolve.c:144
++#: fortran/resolve.c:145
+ #, no-c-format
+ msgid "Dummy procedure at %L not allowed in ELEMENTAL procedure"
+ msgstr ""
+
+-#: fortran/resolve.c:157 fortran/resolve.c:1080
++#: fortran/resolve.c:158 fortran/resolve.c:1138
+ #, no-c-format
+ msgid "Unable to find a specific INTRINSIC procedure for the reference '%s' at %L"
+ msgstr ""
+
+-#: fortran/resolve.c:201
++#: fortran/resolve.c:202
+ #, no-c-format
+ msgid "Argument '%s' of pure function '%s' at %L must be INTENT(IN)"
+ msgstr ""
+
+-#: fortran/resolve.c:206
++#: fortran/resolve.c:207
+ #, no-c-format
+ msgid "Argument '%s' of pure subroutine '%s' at %L must have its INTENT specified"
+ msgstr ""
+
+-#: fortran/resolve.c:215
++#: fortran/resolve.c:216
+ #, no-c-format
+ msgid "Argument '%s' of elemental procedure at %L must be scalar"
+ msgstr ""
+
+-#: fortran/resolve.c:222
++#: fortran/resolve.c:223
+ #, no-c-format
+ msgid "Argument '%s' of elemental procedure at %L cannot have the POINTER attribute"
+ msgstr ""
+
+-#: fortran/resolve.c:234
++#: fortran/resolve.c:231
+ #, no-c-format
++msgid "Dummy procedure '%s' not allowed in elemental procedure '%s' at %L"
++msgstr ""
++
++#: fortran/resolve.c:243
++#, no-c-format
+ msgid "Argument '%s' of statement function at %L must be scalar"
+ msgstr ""
+
+-#: fortran/resolve.c:244
++#: fortran/resolve.c:253
+ #, no-c-format
+ msgid "Character-valued argument '%s' of statement function at %L must have constant length"
+ msgstr ""
+
+-#: fortran/resolve.c:299
++#: fortran/resolve.c:310
+ #, no-c-format
+ msgid "Contained function '%s' at %L has no IMPLICIT type"
+ msgstr ""
+
+-#: fortran/resolve.c:302
++#: fortran/resolve.c:313
+ #, no-c-format
+ msgid "Result '%s' of contained function '%s' at %L has no IMPLICIT type"
+ msgstr ""
+
+-#: fortran/resolve.c:319
++#: fortran/resolve.c:330
+ #, no-c-format
+ msgid "Character-valued internal function '%s' at %L must not be assumed length"
+ msgstr ""
+
+-#: fortran/resolve.c:490
++#: fortran/resolve.c:501
++#, fuzzy, no-c-format
++msgid "Function %s at %L has entries with mismatched array specifications"
++msgstr "Μεταγλωττισμός Ï€ÏοδιαγÏαφών τοπικών Ïυθμίσεων"
++
++#: fortran/resolve.c:518
+ #, no-c-format
+-msgid "Procedure %s at %L has entries with mismatched array specifications"
++msgid "Extension: Function %s at %L with entries returning variables of different string lengths"
+ msgstr ""
+
+-#: fortran/resolve.c:516
++#: fortran/resolve.c:545
+ #, no-c-format
+ msgid "FUNCTION result %s can't be an array in FUNCTION %s at %L"
+ msgstr ""
+
+-#: fortran/resolve.c:520
++#: fortran/resolve.c:549
+ #, no-c-format
+ msgid "ENTRY result %s can't be an array in FUNCTION %s at %L"
+ msgstr ""
+
+-#: fortran/resolve.c:527
++#: fortran/resolve.c:556
+ #, no-c-format
+ msgid "FUNCTION result %s can't be a POINTER in FUNCTION %s at %L"
+ msgstr ""
+
+-#: fortran/resolve.c:531
++#: fortran/resolve.c:560
+ #, no-c-format
+ msgid "ENTRY result %s can't be a POINTER in FUNCTION %s at %L"
+ msgstr ""
+
+-#: fortran/resolve.c:569
++#: fortran/resolve.c:598
+ #, no-c-format
+ msgid "FUNCTION result %s can't be of type %s in FUNCTION %s at %L"
+ msgstr ""
+
+-#: fortran/resolve.c:574
++#: fortran/resolve.c:603
+ #, no-c-format
+ msgid "ENTRY result %s can't be of type %s in FUNCTION %s at %L"
+ msgstr ""
+
+-#: fortran/resolve.c:643
++#: fortran/resolve.c:661
+ #, no-c-format
++msgid "Variable '%s' at %L is in COMMON but only in BLOCK DATA initialization is allowed"
++msgstr ""
++
++#: fortran/resolve.c:665
++#, no-c-format
++msgid "Initialized variable '%s' at %L is in a blank COMMON but initialization is only allowed in named common blocks"
++msgstr ""
++
++#: fortran/resolve.c:676
++#, no-c-format
+ msgid "Derived type variable '%s' in COMMON at %L has neither the SEQUENCE nor the BIND(C) attribute"
+ msgstr ""
+
+-#: fortran/resolve.c:647
++#: fortran/resolve.c:680
+ #, no-c-format
+ msgid "Derived type variable '%s' in COMMON at %L has an ultimate component that is allocatable"
+ msgstr ""
+
+-#: fortran/resolve.c:651
++#: fortran/resolve.c:684
+ #, no-c-format
+ msgid "Derived type variable '%s' in COMMON at %L may not have default initializer"
+ msgstr ""
+
+-#: fortran/resolve.c:661
++#: fortran/resolve.c:711
+ #, no-c-format
+ msgid "COMMON block '%s' at %L is used as PARAMETER at %L"
+ msgstr ""
+
+-#: fortran/resolve.c:665
++#: fortran/resolve.c:715
+ #, no-c-format
+ msgid "COMMON block '%s' at %L is also an intrinsic procedure"
+ msgstr ""
+
+-#: fortran/resolve.c:669
++#: fortran/resolve.c:719
+ #, no-c-format
+ msgid "Fortran 2003: COMMON block '%s' at %L that is also a function result"
+ msgstr ""
+
+-#: fortran/resolve.c:674
++#: fortran/resolve.c:724
+ #, no-c-format
+ msgid "Fortran 2003: COMMON block '%s' at %L that is also a global procedure"
+ msgstr ""
+
+-#: fortran/resolve.c:736
++#: fortran/resolve.c:786
+ #, no-c-format
+ msgid "Components of structure constructor '%s' at %L are PRIVATE"
+ msgstr ""
+
+-#: fortran/resolve.c:756
++#: fortran/resolve.c:808
+ #, no-c-format
+ msgid "The rank of the element in the derived type constructor at %L does not match that of the component (%d/%d)"
+ msgstr ""
+
+-#: fortran/resolve.c:769
++#: fortran/resolve.c:821
+ #, no-c-format
+ msgid "The element in the derived type constructor at %L, for pointer component '%s', is %s but should be %s"
+ msgstr ""
+
+-#: fortran/resolve.c:786
++#: fortran/resolve.c:838
+ #, no-c-format
+ msgid "The element in the derived type constructor at %L, for pointer component '%s' should be a POINTER or a TARGET"
+ msgstr ""
+
+-#: fortran/resolve.c:913
++#: fortran/resolve.c:965
+ #, no-c-format
+ msgid "The upper bound in the last dimension must appear in the reference to the assumed size array '%s' at %L"
+ msgstr ""
+
+-#: fortran/resolve.c:976 fortran/resolve.c:5434 fortran/resolve.c:6098
++#: fortran/resolve.c:1029 fortran/resolve.c:5576 fortran/resolve.c:6282
+ #, no-c-format
+ msgid "Label %d referenced at %L is never defined"
+ msgstr ""
+
+ # src/getopt.c:628
+ # src/getopt.c:628
+-#: fortran/resolve.c:986
++#: fortran/resolve.c:1039
+ #, fuzzy, no-c-format
+ msgid "'%s' at %L is ambiguous"
+ msgstr "%s: η επιλογή `%s' είναι ασαφής\n"
+
+-#: fortran/resolve.c:1018
++#: fortran/resolve.c:1075
+ #, no-c-format
+ msgid "Statement function '%s' at %L is not allowed as an actual argument"
+ msgstr ""
+
+-#: fortran/resolve.c:1026
++#: fortran/resolve.c:1083
+ #, no-c-format
+ msgid "Intrinsic '%s' at %L is not allowed as an actual argument"
+ msgstr ""
+
+-#: fortran/resolve.c:1033
++#: fortran/resolve.c:1090
+ #, no-c-format
+ msgid "Internal procedure '%s' is not allowed as an actual argument at %L"
+ msgstr ""
+
+-#: fortran/resolve.c:1039
++#: fortran/resolve.c:1096
+ #, no-c-format
+ msgid "ELEMENTAL non-INTRINSIC procedure '%s' is not allowed as an actual argument at %L"
+ msgstr ""
+
+-#: fortran/resolve.c:1059
++#: fortran/resolve.c:1116
+ #, no-c-format
+ msgid "GENERIC procedure '%s' is not allowed as an actual argument at %L"
+ msgstr ""
+
+ # src/getopt.c:628
+ # src/getopt.c:628
+-#: fortran/resolve.c:1098
++#: fortran/resolve.c:1157
+ #, fuzzy, no-c-format
+ msgid "Symbol '%s' at %L is ambiguous"
+ msgstr "%s: η επιλογή `%s' είναι ασαφής\n"
+
+-#: fortran/resolve.c:1143
++#: fortran/resolve.c:1206
+ #, no-c-format
+ msgid "By-value argument at %L is not of numeric type"
+ msgstr ""
+
+-#: fortran/resolve.c:1150
++#: fortran/resolve.c:1213
+ #, no-c-format
+ msgid "By-value argument at %L cannot be an array or an array section"
+ msgstr ""
+
+-#: fortran/resolve.c:1164
++#: fortran/resolve.c:1227
+ #, no-c-format
+ msgid "By-value argument at %L is not allowed in this context"
+ msgstr ""
+
+-#: fortran/resolve.c:1176
++#: fortran/resolve.c:1239
+ #, no-c-format
+ msgid "Passing internal procedure at %L by location not allowed"
+ msgstr ""
+
+-#: fortran/resolve.c:1293
++#: fortran/resolve.c:1356
+ #, no-c-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)"
+ msgstr ""
+
+-#: fortran/resolve.c:1315
++#: fortran/resolve.c:1378
+ #, fuzzy
+ msgid "elemental procedure"
+ msgstr "Ï€Î¿Î»Ï Î»Î¯Î³Î± οÏίσματα"
+
+-#: fortran/resolve.c:1332
++#: fortran/resolve.c:1395
+ #, no-c-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"
+ msgstr ""
+
+-#: fortran/resolve.c:1466
++#: fortran/resolve.c:1531
+ #, no-c-format
+ msgid "There is no specific function for the generic '%s' at %L"
+ msgstr ""
+
+-#: fortran/resolve.c:1475
++#: fortran/resolve.c:1540
+ #, no-c-format
+ msgid "Generic function '%s' at %L is not consistent with a specific intrinsic interface"
+ msgstr ""
+
+-#: fortran/resolve.c:1513
++#: fortran/resolve.c:1594
+ #, no-c-format
+ msgid "Function '%s' at %L is INTRINSIC but is not compatible with an intrinsic"
+ msgstr ""
+
+-#: fortran/resolve.c:1559
++#: fortran/resolve.c:1640
+ #, fuzzy, no-c-format
+ msgid "Unable to resolve the specific function '%s' at %L"
+ msgstr "πάÏα πολλά οÏίσματα"
+
+-#: fortran/resolve.c:1615 fortran/resolve.c:8740
++#: fortran/resolve.c:1696 fortran/resolve.c:8931
+ #, no-c-format
+ msgid "Function '%s' at %L has no IMPLICIT type"
+ msgstr ""
+
+-#: fortran/resolve.c:1799
++#: fortran/resolve.c:1907
+ #, fuzzy, no-c-format
+ msgid "Argument to '%s' at %L is not a variable"
+ msgstr "Η παÏάμετÏος στο `%s' Ï€Ïέπει να είναι ένας απλός χαÏακτήÏας"
+
+-#: fortran/resolve.c:1871
++#: fortran/resolve.c:1979
+ #, fuzzy, no-c-format
+ msgid "More actual than formal arguments in '%s' call at %L"
+ msgstr "πάÏα πολλά οÏίσματα στη κλήση της `%s'"
+
+-#: fortran/resolve.c:1883
++#: fortran/resolve.c:1991
+ #, no-c-format
+ msgid "Parameter '%s' to '%s' at %L must be either a TARGET or an associated pointer"
+ msgstr ""
+
+-#: fortran/resolve.c:1909
++#: fortran/resolve.c:2017
+ #, no-c-format
+ msgid "Allocatable variable '%s' used as a parameter to '%s' at %L must not be an array of zero size"
+ msgstr ""
+
+-#: fortran/resolve.c:1926
++#: fortran/resolve.c:2034
+ #, no-c-format
+ msgid "Assumed-shape array '%s' at %L cannot be an argument to the procedure '%s' because it is not C interoperable"
+ msgstr ""
+
+-#: fortran/resolve.c:1936
++#: fortran/resolve.c:2044
+ #, no-c-format
+ msgid "Deferred-shape array '%s' at %L cannot be an argument to the procedure '%s' because it is not C interoperable"
+ msgstr ""
+
+-#: fortran/resolve.c:1959 fortran/resolve.c:1998
++#: fortran/resolve.c:2067 fortran/resolve.c:2106
+ #, no-c-format
+ msgid "CHARACTER argument '%s' to '%s' at %L must have a length of 1"
+ msgstr ""
+
+ #. Case 1c, section 15.1.2.5, J3/04-007: an associated
+ #. scalar pointer.
+-#: fortran/resolve.c:1974
++#: fortran/resolve.c:2082
+ #, no-c-format
+ msgid "Argument '%s' to '%s' at %L must be an associated scalar POINTER"
+ msgstr ""
+
+-#: fortran/resolve.c:1990
++#: fortran/resolve.c:2098
+ #, no-c-format
+ msgid "Parameter '%s' to '%s' at %L must be a scalar"
+ msgstr ""
+
+ #. TODO: Update this error message to allow for procedure
+ #. pointers once they are implemented.
+-#: fortran/resolve.c:2012
++#: fortran/resolve.c:2120
+ #, fuzzy, no-c-format
+ msgid "Parameter '%s' to '%s' at %L must be a procedure"
+ msgstr "Η παÏάμετÏος στο `%s' Ï€Ïέπει να είναι ένας απλός χαÏακτήÏας"
+
+-#: fortran/resolve.c:2020
++#: fortran/resolve.c:2128
+ #, no-c-format
+ msgid "Parameter '%s' to '%s' at %L must be BIND(C)"
+ msgstr ""
+
+-#: fortran/resolve.c:2062
++#: fortran/resolve.c:2170
+ #, fuzzy, no-c-format
+ msgid "'%s' at %L is not a function"
+ msgstr "Το `%s' δεν είναι κατάλογος."
+
+-#: fortran/resolve.c:2068
++#: fortran/resolve.c:2176
+ #, no-c-format
+ msgid "ABSTRACT INTERFACE '%s' must not be referenced at %L"
+ msgstr ""
+
+ #. Internal procedures are taken care of in resolve_contained_fntype.
+-#: fortran/resolve.c:2111
++#: fortran/resolve.c:2219
+ #, no-c-format
+ msgid "Function '%s' is declared CHARACTER(*) and cannot be used at %L since it is not a dummy argument"
+ msgstr ""
+
+-#: fortran/resolve.c:2164
++#: fortran/resolve.c:2272
+ #, no-c-format
+ msgid "User defined non-ELEMENTAL function '%s' at %L not allowed in WORKSHARE construct"
+ msgstr ""
+
+-#: fortran/resolve.c:2213
++#: fortran/resolve.c:2321
+ #, no-c-format
+ msgid "reference to non-PURE function '%s' at %L inside a FORALL %s"
+ msgstr ""
+
+-#: fortran/resolve.c:2220
++#: fortran/resolve.c:2328
+ #, no-c-format
+ msgid "Function reference to '%s' at %L is to a non-PURE procedure within a PURE procedure"
+ msgstr ""
+
+-#: fortran/resolve.c:2235
++#: fortran/resolve.c:2343
+ #, no-c-format
+ msgid "Function '%s' at %L cannot call itself, as it is not RECURSIVE"
+ msgstr ""
+
+-#: fortran/resolve.c:2243
++#: fortran/resolve.c:2351
+ #, no-c-format
+ msgid "Call to ENTRY '%s' at %L is recursive, but function '%s' is not declared as RECURSIVE"
+ msgstr ""
+
+-#: fortran/resolve.c:2285
++#: fortran/resolve.c:2393
+ #, no-c-format
+ msgid "Subroutine call to '%s' in FORALL block at %L is not PURE"
+ msgstr ""
+
+-#: fortran/resolve.c:2288
++#: fortran/resolve.c:2396
+ #, no-c-format
+ msgid "Subroutine call to '%s' at %L is not PURE"
+ msgstr ""
+
+-#: fortran/resolve.c:2351
++#: fortran/resolve.c:2459
+ #, no-c-format
+ msgid "There is no specific subroutine for the generic '%s' at %L"
+ msgstr ""
+
+-#: fortran/resolve.c:2360
++#: fortran/resolve.c:2468
+ #, no-c-format
+ msgid "Generic subroutine '%s' at %L is not consistent with an intrinsic subroutine interface"
+ msgstr ""
+
+-#: fortran/resolve.c:2468
++#: fortran/resolve.c:2576
+ #, no-c-format
+ msgid "Missing SHAPE parameter for call to %s at %L"
+ msgstr ""
+
+-#: fortran/resolve.c:2476
++#: fortran/resolve.c:2584
+ #, no-c-format
+ msgid "SHAPE parameter for call to %s at %L must be a rank 1 INTEGER array"
+ msgstr ""
+
+-#: fortran/resolve.c:2543
++#: fortran/resolve.c:2667
+ #, no-c-format
+ msgid "Subroutine '%s' at %L is INTRINSIC but is not compatible with an intrinsic"
+ msgstr ""
+
+-#: fortran/resolve.c:2587
++#: fortran/resolve.c:2711
+ #, no-c-format
+ msgid "Unable to resolve the specific subroutine '%s' at %L"
+ msgstr ""
+
+-#: fortran/resolve.c:2644
++#: fortran/resolve.c:2768
+ #, no-c-format
+ msgid "'%s' at %L has a type, which is not consistent with the CALL at %L"
+ msgstr ""
+
+-#: fortran/resolve.c:2663
++#: fortran/resolve.c:2787
+ #, no-c-format
+ msgid "SUBROUTINE '%s' at %L cannot call itself, as it is not RECURSIVE"
+ msgstr ""
+
+-#: fortran/resolve.c:2671
++#: fortran/resolve.c:2795
+ #, no-c-format
+ msgid "Call to ENTRY '%s' at %L is recursive, but subroutine '%s' is not declared as RECURSIVE"
+ msgstr ""
+
+-#: fortran/resolve.c:2741
++#: fortran/resolve.c:2865
+ #, no-c-format
+ msgid "Shapes for operands at %L and %L are not conformable"
+ msgstr ""
+
+-#: fortran/resolve.c:2792
++#: fortran/resolve.c:2916
+ #, c-format
+ msgid "Invalid context for NULL() pointer at %%L"
+ msgstr ""
+
+-#: fortran/resolve.c:2808
++#: fortran/resolve.c:2932
+ #, c-format
+ msgid "Operand of unary numeric operator '%s' at %%L is %s"
+ msgstr ""
+
+-#: fortran/resolve.c:2824
++#: fortran/resolve.c:2948
+ #, c-format
+ msgid "Operands of binary numeric operator '%s' at %%L are %s/%s"
+ msgstr ""
+
+-#: fortran/resolve.c:2838
++#: fortran/resolve.c:2962
+ #, c-format
+ msgid "Operands of string concatenation operator at %%L are %s/%s"
+ msgstr ""
+
+-#: fortran/resolve.c:2857
++#: fortran/resolve.c:2981
+ #, c-format
+ msgid "Operands of logical operator '%s' at %%L are %s/%s"
+ msgstr ""
+
+-#: fortran/resolve.c:2871
++#: fortran/resolve.c:2995
+ #, c-format
+ msgid "Operand of .not. operator at %%L is %s"
+ msgstr ""
+
+-#: fortran/resolve.c:2885
++#: fortran/resolve.c:3009
+ #, fuzzy
+ msgid "COMPLEX quantities cannot be compared at %L"
+ msgstr "το `%s' είναι Ï€Ïόγονος του `%s'"
+
+-#: fortran/resolve.c:2913
++#: fortran/resolve.c:3037
+ #, c-format
+ msgid "Logicals at %%L must be compared with %s instead of %s"
+ msgstr ""
+
+-#: fortran/resolve.c:2919
++#: fortran/resolve.c:3043
+ #, c-format
+ msgid "Operands of comparison operator '%s' at %%L are %s/%s"
+ msgstr ""
+
+-#: fortran/resolve.c:2927
++#: fortran/resolve.c:3051
+ #, c-format
+ msgid "Unknown operator '%s' at %%L"
+ msgstr ""
+
+-#: fortran/resolve.c:2929
++#: fortran/resolve.c:3053
+ #, c-format
+ msgid "Operand of user operator '%s' at %%L is %s"
+ msgstr ""
+
+-#: fortran/resolve.c:2932
++#: fortran/resolve.c:3056
+ #, c-format
+ msgid "Operands of user operator '%s' at %%L are %s/%s"
+ msgstr ""
+
+-#: fortran/resolve.c:3018
++#: fortran/resolve.c:3142
+ #, c-format
+ msgid "Inconsistent ranks for operator at %%L and %%L"
+ msgstr ""
+
+-#: fortran/resolve.c:3212
++#: fortran/resolve.c:3339
+ #, no-c-format
+ msgid "Array reference at %L is out of bounds (%ld < %ld) in dimension %d"
+ msgstr ""
+
+-#: fortran/resolve.c:3220
++#: fortran/resolve.c:3347
+ #, no-c-format
+ msgid "Array reference at %L is out of bounds (%ld > %ld) in dimension %d"
+ msgstr ""
+
+-#: fortran/resolve.c:3239
++#: fortran/resolve.c:3366
+ #, no-c-format
+ msgid "Illegal stride of zero at %L"
+ msgstr ""
+
+-#: fortran/resolve.c:3256
++#: fortran/resolve.c:3383
+ #, no-c-format
+ msgid "Lower array reference at %L is out of bounds (%ld < %ld) in dimension %d"
+ msgstr ""
+
+-#: fortran/resolve.c:3264
++#: fortran/resolve.c:3391
+ #, no-c-format
+ msgid "Lower array reference at %L is out of bounds (%ld > %ld) in dimension %d"
+ msgstr ""
+
+-#: fortran/resolve.c:3280
++#: fortran/resolve.c:3407
+ #, no-c-format
+ msgid "Upper array reference at %L is out of bounds (%ld < %ld) in dimension %d"
+ msgstr ""
+
+-#: fortran/resolve.c:3289
++#: fortran/resolve.c:3416
+ #, no-c-format
+ msgid "Upper array reference at %L is out of bounds (%ld > %ld) in dimension %d"
+ msgstr ""
+
+-#: fortran/resolve.c:3328
++#: fortran/resolve.c:3455
+ #, no-c-format
+ msgid "Rightmost upper bound of assumed size array section not specified at %L"
+ msgstr ""
+
+-#: fortran/resolve.c:3338
++#: fortran/resolve.c:3465
+ #, no-c-format
+ msgid "Rank mismatch in array reference at %L (%d/%d)"
+ msgstr ""
+
+-#: fortran/resolve.c:3366
++#: fortran/resolve.c:3493
+ #, no-c-format
+ msgid "Array index at %L must be scalar"
+ msgstr ""
+
+-#: fortran/resolve.c:3372
++#: fortran/resolve.c:3499
+ #, no-c-format
+ msgid "Array index at %L must be of INTEGER type"
+ msgstr ""
+
+-#: fortran/resolve.c:3378
++#: fortran/resolve.c:3505
+ #, no-c-format
+ msgid "Extension: REAL array index at %L"
+ msgstr ""
+
+-#: fortran/resolve.c:3408
++#: fortran/resolve.c:3535
+ #, fuzzy, no-c-format
+ msgid "Argument dim at %L must be scalar"
+ msgstr "Η παÏάμετÏος στο <%s> Ï€Ïέπει να είναι ένας απλός χαÏακτήÏας"
+
+-#: fortran/resolve.c:3414
++#: fortran/resolve.c:3542
+ #, fuzzy, no-c-format
+ msgid "Argument dim at %L must be of INTEGER type"
+ msgstr "Η παÏάμετÏος στο <%s> Ï€Ïέπει να είναι ένας απλός χαÏακτήÏας"
+
+-#: fortran/resolve.c:3534
++#: fortran/resolve.c:3663
+ #, fuzzy, no-c-format
+ msgid "Array index at %L is an array of rank %d"
+ msgstr "Ο κατάλογος `%s' δεν είναι Ï€Ïοσιτός."
+
+-#: fortran/resolve.c:3571
++#: fortran/resolve.c:3700
+ #, no-c-format
+ msgid "Substring start index at %L must be of type INTEGER"
+ msgstr ""
+
+-#: fortran/resolve.c:3578
++#: fortran/resolve.c:3707
+ #, no-c-format
+ msgid "Substring start index at %L must be scalar"
+ msgstr ""
+
+-#: fortran/resolve.c:3587
++#: fortran/resolve.c:3716
+ #, no-c-format
+ msgid "Substring start index at %L is less than one"
+ msgstr ""
+
+-#: fortran/resolve.c:3600
++#: fortran/resolve.c:3729
+ #, no-c-format
+ msgid "Substring end index at %L must be of type INTEGER"
+ msgstr ""
+
+-#: fortran/resolve.c:3607
++#: fortran/resolve.c:3736
+ #, no-c-format
+ msgid "Substring end index at %L must be scalar"
+ msgstr ""
+
+-#: fortran/resolve.c:3617
++#: fortran/resolve.c:3746
+ #, no-c-format
+ msgid "Substring end index at %L exceeds the string length"
+ msgstr ""
+
+-#: fortran/resolve.c:3755
++#: fortran/resolve.c:3884
+ #, no-c-format
+ msgid "Component to the right of a part reference with nonzero rank must not have the POINTER attribute at %L"
+ msgstr ""
+
+-#: fortran/resolve.c:3762
++#: fortran/resolve.c:3891
+ #, no-c-format
+ msgid "Component to the right of a part reference with nonzero rank must not have the ALLOCATABLE attribute at %L"
+ msgstr ""
+
+-#: fortran/resolve.c:3781
++#: fortran/resolve.c:3910
+ #, no-c-format
+ msgid "Two or more part references with nonzero rank must not be specified at %L"
+ msgstr ""
+
+-#: fortran/resolve.c:3956
++#: fortran/resolve.c:4085
+ #, no-c-format
+ msgid "Variable '%s', used in a specification expression, is referenced at %L before the ENTRY statement in which it is a parameter"
+ msgstr ""
+
+-#: fortran/resolve.c:3961
++#: fortran/resolve.c:4090
+ #, no-c-format
+ msgid "Variable '%s' is used at %L before the ENTRY statement in which it is a parameter"
+ msgstr ""
+
+-#: fortran/resolve.c:4238
++#: fortran/resolve.c:4367
+ #, no-c-format
+ msgid "%s at %L must be a scalar"
+ msgstr ""
+
+-#: fortran/resolve.c:4248
++#: fortran/resolve.c:4377
+ #, no-c-format
+ msgid "Deleted feature: %s at %L must be integer"
+ msgstr ""
+
+-#: fortran/resolve.c:4252 fortran/resolve.c:4259
++#: fortran/resolve.c:4381 fortran/resolve.c:4388
+ #, no-c-format
+ msgid "%s at %L must be INTEGER"
+ msgstr ""
+
+-#: fortran/resolve.c:4279
++#: fortran/resolve.c:4408
+ #, no-c-format
+ msgid "Cannot assign to loop variable in PURE procedure at %L"
+ msgstr ""
+
+-#: fortran/resolve.c:4303
++#: fortran/resolve.c:4432
+ #, no-c-format
+ msgid "Step expression in DO loop at %L cannot be zero"
+ msgstr ""
+
+-#: fortran/resolve.c:4378
++#: fortran/resolve.c:4508
+ #, no-c-format
+ msgid "FORALL index-name at %L must be a scalar INTEGER"
+ msgstr ""
+
+-#: fortran/resolve.c:4383
++#: fortran/resolve.c:4513
+ #, no-c-format
+ msgid "FORALL start expression at %L must be a scalar INTEGER"
+ msgstr ""
+
+-#: fortran/resolve.c:4390
++#: fortran/resolve.c:4520
+ #, no-c-format
+ msgid "FORALL end expression at %L must be a scalar INTEGER"
+ msgstr ""
+
+-#: fortran/resolve.c:4398
++#: fortran/resolve.c:4528
+ #, no-c-format
+ msgid "FORALL stride expression at %L must be a scalar %s"
+ msgstr ""
+
+-#: fortran/resolve.c:4403
++#: fortran/resolve.c:4533
+ #, no-c-format
+ msgid "FORALL stride expression at %L cannot be zero"
+ msgstr ""
+
+-#: fortran/resolve.c:4419
++#: fortran/resolve.c:4549
+ #, no-c-format
+ msgid "FORALL index '%s' may not appear in triplet specification at %L"
+ msgstr ""
+
+-#: fortran/resolve.c:4499
++#: fortran/resolve.c:4629
+ #, no-c-format
+ msgid "Expression in DEALLOCATE statement at %L must be ALLOCATABLE or a POINTER"
+ msgstr ""
+
+-#: fortran/resolve.c:4506
++#: fortran/resolve.c:4636
+ #, no-c-format
+ msgid "Cannot deallocate INTENT(IN) variable '%s' at %L"
+ msgstr ""
+
+-#: fortran/resolve.c:4675
++#: fortran/resolve.c:4740
+ #, no-c-format
+ msgid "The STAT variable '%s' in an ALLOCATE statement must not be allocated in the same statement at %L"
+ msgstr ""
+
+-#: fortran/resolve.c:4711
++#: fortran/resolve.c:4776
+ #, no-c-format
+ msgid "Expression in ALLOCATE statement at %L must be ALLOCATABLE or a POINTER"
+ msgstr ""
+
+-#: fortran/resolve.c:4719
++#: fortran/resolve.c:4784
+ #, no-c-format
+ msgid "Cannot allocate INTENT(IN) variable '%s' at %L"
+ msgstr ""
+
+-#: fortran/resolve.c:4743
++#: fortran/resolve.c:4808
+ #, no-c-format
+ msgid "Array specification required in ALLOCATE statement at %L"
+ msgstr ""
+
+-#: fortran/resolve.c:4773
++#: fortran/resolve.c:4838
+ #, no-c-format
+ msgid "Bad array specification in ALLOCATE statement at %L"
+ msgstr ""
+
+-#: fortran/resolve.c:4791
++#: fortran/resolve.c:4856
+ #, no-c-format
+ msgid "'%s' must not appear an the array specification at %L in the same ALLOCATE statement where it is itself allocated"
+ msgstr ""
+
++#: fortran/resolve.c:4880
++#, no-c-format
++msgid "STAT variable '%s' of %s statement at %C cannot be INTENT(IN)"
++msgstr ""
++
++#: fortran/resolve.c:4884
++#, no-c-format
++msgid "Illegal STAT variable in %s statement at %C for a PURE procedure"
++msgstr ""
++
++#: fortran/resolve.c:4922
++#, no-c-format
++msgid "STAT tag in %s statement at %L must be a variable"
++msgstr ""
++
++#: fortran/resolve.c:4928
++#, no-c-format
++msgid "STAT tag in %s statement at %L must be of type INTEGER"
++msgstr ""
++
+ #. The cases overlap, or they are the same
+ #. 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.c:4949
++#: fortran/resolve.c:5091
+ #, no-c-format
+ msgid "CASE label at %L overlaps with CASE label at %L"
+ msgstr ""
+
+-#: fortran/resolve.c:5000
++#: fortran/resolve.c:5142
+ #, no-c-format
+ msgid "Expression in CASE statement at %L must be of type %s"
+ msgstr ""
+
+-#: fortran/resolve.c:5011
++#: fortran/resolve.c:5153
+ #, no-c-format
+ msgid "Expression in CASE statement at %L must be kind %d"
+ msgstr ""
+
+-#: fortran/resolve.c:5023
++#: fortran/resolve.c:5165
+ #, no-c-format
+ msgid "Expression in CASE statement at %L must be scalar"
+ msgstr ""
+
+-#: fortran/resolve.c:5069
++#: fortran/resolve.c:5211
+ #, no-c-format
+ msgid "Selection expression in computed GOTO statement at %L must be a scalar integer expression"
+ msgstr ""
+
+-#: fortran/resolve.c:5087
++#: fortran/resolve.c:5229
+ #, no-c-format
+ msgid "Argument of SELECT statement at %L cannot be %s"
+ msgstr ""
+
+-#: fortran/resolve.c:5096
++#: fortran/resolve.c:5238
+ #, no-c-format
+ msgid "Argument of SELECT statement at %L must be a scalar expression"
+ msgstr ""
+
+-#: fortran/resolve.c:5161
++#: fortran/resolve.c:5303
+ #, no-c-format
+ msgid "The DEFAULT CASE at %L cannot be followed by a second DEFAULT CASE at %L"
+ msgstr ""
+
+-#: fortran/resolve.c:5187
++#: fortran/resolve.c:5329
+ #, no-c-format
+ msgid "Logical range in CASE statement at %L is not allowed"
+ msgstr ""
+
+-#: fortran/resolve.c:5199
++#: fortran/resolve.c:5341
+ #, no-c-format
+ msgid "constant logical value in CASE statement is repeated at %L"
+ msgstr ""
+
+-#: fortran/resolve.c:5213
++#: fortran/resolve.c:5355
+ #, no-c-format
+ msgid "Range specification at %L can never be matched"
+ msgstr ""
+
+-#: fortran/resolve.c:5316
++#: fortran/resolve.c:5458
+ #, no-c-format
+ msgid "Logical SELECT CASE block at %L has more that two cases"
+ msgstr ""
+
+-#: fortran/resolve.c:5354
++#: fortran/resolve.c:5496
+ #, no-c-format
+ msgid "Data transfer element at %L cannot have POINTER components"
+ msgstr ""
+
+-#: fortran/resolve.c:5361
++#: fortran/resolve.c:5503
+ #, no-c-format
+ msgid "Data transfer element at %L cannot have ALLOCATABLE components"
+ msgstr ""
+
+-#: fortran/resolve.c:5368
++#: fortran/resolve.c:5510
+ #, no-c-format
+ msgid "Data transfer element at %L cannot have PRIVATE components"
+ msgstr ""
+
+-#: fortran/resolve.c:5377
++#: fortran/resolve.c:5519
+ #, no-c-format
+ msgid "Data transfer element at %L cannot be a full reference to an assumed-size array"
+ msgstr ""
+
+-#: fortran/resolve.c:5441
++#: fortran/resolve.c:5583
+ #, no-c-format
+ msgid "Statement at %L is not a valid branch target statement for the branch statement at %L"
+ msgstr ""
+
+-#: fortran/resolve.c:5450
++#: fortran/resolve.c:5592
+ #, no-c-format
+ msgid "Branch at %L causes an infinite loop"
+ msgstr ""
+@@ -9630,648 +9678,658 @@
+ #. 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.c:5463
++#: fortran/resolve.c:5605
+ #, no-c-format
+ msgid "Label at %L is not in the same block as the GOTO statement at %L"
+ msgstr ""
+
+-#: fortran/resolve.c:5478 fortran/resolve.c:5492
++#: fortran/resolve.c:5620 fortran/resolve.c:5634
+ #, no-c-format
+ msgid "Deleted feature: GOTO at %L jumps to END of construct at %L"
+ msgstr ""
+
+-#: fortran/resolve.c:5569
++#: fortran/resolve.c:5711
+ #, no-c-format
+ msgid "WHERE mask at %L has inconsistent shape"
+ msgstr ""
+
+-#: fortran/resolve.c:5585
++#: fortran/resolve.c:5727
+ #, no-c-format
+ msgid "WHERE assignment target at %L has inconsistent shape"
+ msgstr ""
+
+-#: fortran/resolve.c:5600 fortran/resolve.c:5682
++#: fortran/resolve.c:5735 fortran/resolve.c:5820
+ #, no-c-format
++msgid "Non-ELEMENTAL user-defined assignment in WHERE at %L"
++msgstr ""
++
++#: fortran/resolve.c:5745 fortran/resolve.c:5830
++#, no-c-format
+ msgid "Unsupported statement inside WHERE at %L"
+ msgstr ""
+
+-#: fortran/resolve.c:5631
++#: fortran/resolve.c:5776
+ #, fuzzy, no-c-format
+ msgid "Assignment to a FORALL index variable at %L"
+ msgstr "Μη αναγνωÏίσιμη μεταβλητή `%s'"
+
+-#: fortran/resolve.c:5639
++#: fortran/resolve.c:5784
+ #, no-c-format
+ msgid "The FORALL with index '%s' cause more than one assignment to this object at %L"
+ msgstr ""
+
+-#: fortran/resolve.c:5774
++#: fortran/resolve.c:5922
+ #, no-c-format
+ msgid "An outer FORALL construct already has an index with this name %L"
+ msgstr ""
+
+-#: fortran/resolve.c:5830
++#: fortran/resolve.c:5978
+ #, no-c-format
+ msgid "WHERE/ELSEWHERE clause at %L requires a LOGICAL array"
+ msgstr ""
+
+-#: fortran/resolve.c:5890
++#: fortran/resolve.c:6037
+ #, no-c-format
+ msgid "Subroutine '%s' called instead of assignment at %L must be PURE"
+ msgstr ""
+
+-#: fortran/resolve.c:5927
++#: fortran/resolve.c:6110
+ #, no-c-format
+ msgid "CHARACTER expression will be truncated in assignment (%d/%d) at %L"
+ msgstr ""
+
+-#: fortran/resolve.c:5950
++#: fortran/resolve.c:6135
+ #, no-c-format
+ msgid "Cannot assign to variable '%s' in PURE procedure at %L"
+ msgstr ""
+
+-#: fortran/resolve.c:5962
++#: fortran/resolve.c:6147
+ #, no-c-format
+ msgid "The impure variable at %L is assigned to a derived type variable with a POINTER component in a PURE procedure (12.6)"
+ msgstr ""
+
+-#: fortran/resolve.c:6066
++#: fortran/resolve.c:6250
+ #, no-c-format
+ msgid "ASSIGNED GOTO statement at %L requires an INTEGER variable"
+ msgstr ""
+
+-#: fortran/resolve.c:6069
++#: fortran/resolve.c:6253
+ #, no-c-format
+ msgid "Variable '%s' has not been assigned a target label at %L"
+ msgstr ""
+
+-#: fortran/resolve.c:6080
++#: fortran/resolve.c:6264
+ #, no-c-format
+ msgid "Alternate RETURN statement at %L requires a SCALAR-INTEGER return specifier"
+ msgstr ""
+
+-#: fortran/resolve.c:6106
++#: fortran/resolve.c:6290
+ #, no-c-format
+ msgid "ASSIGN statement at %L requires a scalar default INTEGER variable"
+ msgstr ""
+
+-#: fortran/resolve.c:6121
++#: fortran/resolve.c:6305
+ #, no-c-format
+ msgid "Arithmetic IF statement at %L requires a numeric expression"
+ msgstr ""
+
+-#: fortran/resolve.c:6163
++#: fortran/resolve.c:6347
+ #, no-c-format
+ msgid "Exit condition of DO WHILE loop at %L must be a scalar LOGICAL expression"
+ msgstr ""
+
+-#: fortran/resolve.c:6170
++#: fortran/resolve.c:6420
+ #, no-c-format
+-msgid "STAT tag in ALLOCATE statement at %L must be of type INTEGER"
+-msgstr ""
+-
+-#: fortran/resolve.c:6182
+-#, no-c-format
+-msgid "STAT tag in DEALLOCATE statement at %L must be of type INTEGER"
+-msgstr ""
+-
+-#: fortran/resolve.c:6247
+-#, no-c-format
+ msgid "FORALL mask clause at %L requires a LOGICAL expression"
+ msgstr ""
+
+-#: fortran/resolve.c:6317 fortran/resolve.c:6373
++#: fortran/resolve.c:6490 fortran/resolve.c:6546
+ #, no-c-format
+ msgid "Binding label '%s' for common block '%s' at %L collides with the global entity '%s' at %L"
+ msgstr ""
+
+ #. Common block names match but binding labels do not.
+-#: fortran/resolve.c:6338
++#: fortran/resolve.c:6511
+ #, no-c-format
+ msgid "Binding label '%s' for common block '%s' at %L does not match the binding label '%s' for common block '%s' at %L"
+ msgstr ""
+
+-#: fortran/resolve.c:6385
++#: fortran/resolve.c:6558
+ #, no-c-format
+ msgid "Binding label '%s' for common block '%s' at %L collides with global entity '%s' at %L"
+ msgstr ""
+
+ #. Make sure global procedures don't collide with anything.
+-#: fortran/resolve.c:6437
++#: fortran/resolve.c:6610
+ #, no-c-format
+ msgid "Binding label '%s' at %L collides with the global entity '%s' at %L"
+ msgstr ""
+
+ #. Make sure procedures in interface bodies don't collide.
+-#: fortran/resolve.c:6450
++#: fortran/resolve.c:6623
+ #, no-c-format
+ msgid "Binding label '%s' in interface body at %L collides with the global entity '%s' at %L"
+ msgstr ""
+
+-#: fortran/resolve.c:6463
++#: fortran/resolve.c:6636
+ #, no-c-format
+ msgid "Binding label '%s' at %L collides with global entity '%s' at %L"
+ msgstr ""
+
+-#: fortran/resolve.c:6540
++#: fortran/resolve.c:6713
+ #, no-c-format
+ msgid "CHARACTER variable has zero length at %L"
+ msgstr ""
+
+-#: fortran/resolve.c:6828
++#: fortran/resolve.c:7001
+ #, no-c-format
+ msgid "Allocatable array '%s' at %L must have a deferred shape"
+ msgstr ""
+
+-#: fortran/resolve.c:6831
++#: fortran/resolve.c:7004
+ #, no-c-format
+ msgid "Scalar object '%s' at %L may not be ALLOCATABLE"
+ msgstr ""
+
+-#: fortran/resolve.c:6838
++#: fortran/resolve.c:7011
+ #, no-c-format
+ msgid "Array pointer '%s' at %L must have a deferred shape"
+ msgstr ""
+
+-#: fortran/resolve.c:6849
++#: fortran/resolve.c:7022
+ #, no-c-format
+ msgid "Array '%s' at %L cannot have a deferred shape"
+ msgstr ""
+
+-#: fortran/resolve.c:6878
++#: fortran/resolve.c:7051
+ #, no-c-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"
+ msgstr ""
+
+-#: fortran/resolve.c:6901
++#: fortran/resolve.c:7074
+ #, no-c-format
+ msgid "Object '%s' at %L must have the SAVE attribute for default initialization of a component"
+ msgstr ""
+
+ #. The shape of a main program or module array needs to be
+ #. constant.
+-#: fortran/resolve.c:6948
++#: fortran/resolve.c:7121
+ #, no-c-format
+ msgid "The module or main program array '%s' at %L must have constant shape"
+ msgstr ""
+
+-#: fortran/resolve.c:6961
++#: fortran/resolve.c:7134
+ #, no-c-format
+ msgid "Entity with assumed character length at %L must be a dummy argument or a PARAMETER"
+ msgstr ""
+
+-#: fortran/resolve.c:6980
++#: fortran/resolve.c:7153
+ #, no-c-format
+ msgid "'%s' at %L must have constant character length in this context"
+ msgstr ""
+
+-#: fortran/resolve.c:7012
++#: fortran/resolve.c:7185
+ #, no-c-format
+ msgid "Allocatable '%s' at %L cannot have an initializer"
+ msgstr ""
+
+-#: fortran/resolve.c:7015
++#: fortran/resolve.c:7188
+ #, no-c-format
+ msgid "External '%s' at %L cannot have an initializer"
+ msgstr ""
+
+-#: fortran/resolve.c:7019
++#: fortran/resolve.c:7192
+ #, no-c-format
+ msgid "Dummy '%s' at %L cannot have an initializer"
+ msgstr ""
+
+-#: fortran/resolve.c:7022
++#: fortran/resolve.c:7195
+ #, no-c-format
+ msgid "Intrinsic '%s' at %L cannot have an initializer"
+ msgstr ""
+
+-#: fortran/resolve.c:7025
++#: fortran/resolve.c:7198
+ #, no-c-format
+ msgid "Function result '%s' at %L cannot have an initializer"
+ msgstr ""
+
+-#: fortran/resolve.c:7028
++#: fortran/resolve.c:7201
+ #, no-c-format
+ msgid "Automatic array '%s' at %L cannot have an initializer"
+ msgstr ""
+
+-#: fortran/resolve.c:7051
++#: fortran/resolve.c:7224
+ #, no-c-format
+ msgid "Although not referenced, '%s' at %L has ambiguous interfaces"
+ msgstr ""
+
+-#: fortran/resolve.c:7070
++#: fortran/resolve.c:7243
+ #, no-c-format
+ msgid "Character-valued statement function '%s' at %L must have constant length"
+ msgstr ""
+
+-#: fortran/resolve.c:7078
++#: fortran/resolve.c:7251
+ #, no-c-format
+ msgid "Automatic character length function '%s' at %L must have an explicit interface"
+ msgstr ""
+
+-#: fortran/resolve.c:7103
++#: fortran/resolve.c:7276
+ #, no-c-format
+ msgid "Fortran 2003: '%s' is of a PRIVATE type and cannot be a dummy argument of '%s', which is PUBLIC at %L"
+ msgstr ""
+
+-#: fortran/resolve.c:7126 fortran/resolve.c:7151
++#: fortran/resolve.c:7299 fortran/resolve.c:7324
+ #, no-c-format
+ msgid "Fortran 2003: Procedure '%s' in PUBLIC interface '%s' at %L takes dummy arguments of '%s' which is PRIVATE"
+ msgstr ""
+
+-#: fortran/resolve.c:7168
++#: fortran/resolve.c:7341
+ #, no-c-format
+ msgid "Function '%s' at %L cannot have an initializer"
+ msgstr ""
+
+-#: fortran/resolve.c:7177
++#: fortran/resolve.c:7350
+ #, no-c-format
+ msgid "External object '%s' at %L may not have an initializer"
+ msgstr ""
+
+-#: fortran/resolve.c:7185
++#: fortran/resolve.c:7358
+ #, no-c-format
+ msgid "ELEMENTAL function '%s' at %L must have a scalar result"
+ msgstr ""
+
+-#: fortran/resolve.c:7206
++#: fortran/resolve.c:7379
+ #, no-c-format
+ msgid "CHARACTER(*) function '%s' at %L cannot be array-valued"
+ msgstr ""
+
+-#: fortran/resolve.c:7210
++#: fortran/resolve.c:7383
+ #, no-c-format
+ msgid "CHARACTER(*) function '%s' at %L cannot be pointer-valued"
+ msgstr ""
+
+-#: fortran/resolve.c:7214
++#: fortran/resolve.c:7387
+ #, no-c-format
+ msgid "CHARACTER(*) function '%s' at %L cannot be pure"
+ msgstr ""
+
+-#: fortran/resolve.c:7218
++#: fortran/resolve.c:7391
+ #, no-c-format
+ msgid "CHARACTER(*) function '%s' at %L cannot be recursive"
+ msgstr ""
+
+-#: fortran/resolve.c:7227
++#: fortran/resolve.c:7400
+ #, no-c-format
+ msgid "CHARACTER(*) function '%s' at %L is obsolescent in fortran 95"
+ msgstr ""
+
+-#: fortran/resolve.c:7299
++#: fortran/resolve.c:7472
+ #, no-c-format
+ msgid "Character length of component '%s' needs to be a constant specification expression at %L"
+ msgstr ""
+
+-#: fortran/resolve.c:7314
++#: fortran/resolve.c:7487
+ #, no-c-format
+ msgid "The component '%s' is a PRIVATE type and cannot be a component of '%s', which is PUBLIC at %L"
+ msgstr ""
+
+-#: fortran/resolve.c:7324
++#: fortran/resolve.c:7497
+ #, no-c-format
+ msgid "Component %s of SEQUENCE type declared at %L does not have the SEQUENCE attribute"
+ msgstr ""
+
+-#: fortran/resolve.c:7334
++#: fortran/resolve.c:7507
+ #, no-c-format
+ msgid "The pointer component '%s' of '%s' at %L is a type that has not been declared"
+ msgstr ""
+
+-#: fortran/resolve.c:7352
++#: fortran/resolve.c:7525
+ #, no-c-format
+ msgid "Component '%s' of '%s' at %L must have constant array bounds"
+ msgstr ""
+
+-#: fortran/resolve.c:7395
++#: fortran/resolve.c:7568
+ #, no-c-format
+ msgid "NAMELIST object '%s' was declared PRIVATE and cannot be member of PUBLIC namelist '%s' at %L"
+ msgstr ""
+
+-#: fortran/resolve.c:7405
++#: fortran/resolve.c:7578
+ #, no-c-format
+ msgid "NAMELIST object '%s' has use-associated PRIVATE components and cannot be member of namelist '%s' at %L"
+ msgstr ""
+
+-#: fortran/resolve.c:7418
++#: fortran/resolve.c:7591
+ #, no-c-format
+ msgid "NAMELIST object '%s' has PRIVATE components and cannot be a member of PUBLIC namelist '%s' at %L"
+ msgstr ""
+
+-#: fortran/resolve.c:7430
++#: fortran/resolve.c:7603
+ #, no-c-format
+ msgid "NAMELIST array object '%s' must not have assumed shape in namelist '%s' at %L"
+ msgstr ""
+
+-#: fortran/resolve.c:7439
++#: fortran/resolve.c:7612
+ #, no-c-format
+ msgid "NAMELIST array object '%s' must have constant shape in namelist '%s' at %L"
+ msgstr ""
+
+-#: fortran/resolve.c:7451
++#: fortran/resolve.c:7624
+ #, no-c-format
+ msgid "NAMELIST object '%s' in namelist '%s' at %L cannot have ALLOCATABLE components"
+ msgstr ""
+
+-#: fortran/resolve.c:7459
++#: fortran/resolve.c:7632
+ #, no-c-format
+ msgid "NAMELIST object '%s' in namelist '%s' at %L cannot have POINTER components"
+ msgstr ""
+
+-#: fortran/resolve.c:7485
++#: fortran/resolve.c:7658
+ #, no-c-format
+ msgid "PROCEDURE attribute conflicts with NAMELIST attribute in '%s' at %L"
+ msgstr ""
+
+-#: fortran/resolve.c:7504
++#: fortran/resolve.c:7677
+ #, no-c-format
+ msgid "Parameter array '%s' at %L cannot be automatic or of deferred shape"
+ msgstr ""
+
+-#: fortran/resolve.c:7515
++#: fortran/resolve.c:7688
+ #, no-c-format
+ msgid "Implicitly typed PARAMETER '%s' at %L doesn't match a later IMPLICIT type"
+ msgstr ""
+
+-#: fortran/resolve.c:7526
++#: fortran/resolve.c:7699
+ #, no-c-format
+ msgid "Incompatible derived type in PARAMETER at %L"
+ msgstr ""
+
+-#: fortran/resolve.c:7597
++#: fortran/resolve.c:7758
+ #, no-c-format
++msgid "Interface '%s', used by procedure '%s' at %L, is declared in a later PROCEDURE statement"
++msgstr ""
++
++#: fortran/resolve.c:7772
++#, no-c-format
+ msgid "Interface '%s' of procedure '%s' at %L must be explicit"
+ msgstr ""
+
+-#: fortran/resolve.c:7622
++#: fortran/resolve.c:7797
+ #, no-c-format
+ msgid "Type specified for intrinsic function '%s' at %L is ignored"
+ msgstr ""
+
+-#: fortran/resolve.c:7629
++#: fortran/resolve.c:7804
+ #, no-c-format
+ msgid "Intrinsic subroutine '%s' at %L shall not have a type specifier"
+ msgstr ""
+
+-#: fortran/resolve.c:7636
++#: fortran/resolve.c:7811
+ #, no-c-format
+ msgid "Intrinsic '%s' at %L does not exist"
+ msgstr ""
+
+-#: fortran/resolve.c:7676
++#: fortran/resolve.c:7851
+ #, no-c-format
+ msgid "Assumed size array at %L must be a dummy argument"
+ msgstr ""
+
+-#: fortran/resolve.c:7679
++#: fortran/resolve.c:7854
+ #, no-c-format
+ msgid "Assumed shape array at %L must be a dummy argument"
+ msgstr ""
+
+-#: fortran/resolve.c:7691
++#: fortran/resolve.c:7866
+ #, no-c-format
+ msgid "Symbol at %L is not a DUMMY variable"
+ msgstr ""
+
+-#: fortran/resolve.c:7697
++#: fortran/resolve.c:7872
+ #, no-c-format
+ msgid "'%s' at %L cannot have the VALUE attribute because it is not a dummy argument"
+ msgstr ""
+
+-#: fortran/resolve.c:7707
++#: fortran/resolve.c:7882
+ #, no-c-format
+ msgid "Character dummy variable '%s' at %L with VALUE attribute must have constant length"
+ msgstr ""
+
+-#: fortran/resolve.c:7716
++#: fortran/resolve.c:7891
+ #, no-c-format
+ msgid "C interoperable character dummy variable '%s' at %L with VALUE attribute must have length one"
+ msgstr ""
+
+-#: fortran/resolve.c:7742
++#: fortran/resolve.c:7917
+ #, no-c-format
+ msgid "Variable '%s' at %L cannot be BIND(C) because it is neither a COMMON block nor declared at the module level scope"
+ msgstr ""
+
+-#: fortran/resolve.c:7795
++#: fortran/resolve.c:7970
+ #, no-c-format
+ msgid "The derived type '%s' at %L is of type '%s', which has not been defined"
+ msgstr ""
+
+-#: fortran/resolve.c:7811
++#: fortran/resolve.c:7987
+ #, no-c-format
+ msgid "Fortran 2003: PUBLIC %s '%s' at %L of PRIVATE derived type '%s'"
+ msgstr ""
+
+-#: fortran/resolve.c:7830
++#: fortran/resolve.c:8006
+ #, no-c-format
+ msgid "The INTENT(OUT) dummy argument '%s' at %L is ASSUMED SIZE and so cannot have a default initializer"
+ msgstr ""
+
+-#: fortran/resolve.c:7889
++#: fortran/resolve.c:8065
+ #, no-c-format
+ msgid "Threadprivate at %L isn't SAVEd"
+ msgstr ""
+
+-#: fortran/resolve.c:7967
++#: fortran/resolve.c:8143
+ #, no-c-format
+ msgid "BLOCK DATA element '%s' at %L must be in COMMON"
+ msgstr ""
+
+-#: fortran/resolve.c:8011
++#: fortran/resolve.c:8149
+ #, no-c-format
++msgid "DATA array '%s' at %L must be specified in a previous declaration"
++msgstr ""
++
++#: fortran/resolve.c:8194
++#, no-c-format
+ msgid "Nonconstant array section at %L in DATA statement"
+ msgstr ""
+
+-#: fortran/resolve.c:8024
++#: fortran/resolve.c:8207
+ #, no-c-format
+ msgid "DATA statement at %L has more variables than values"
+ msgstr ""
+
+-#: fortran/resolve.c:8118
++#: fortran/resolve.c:8301
+ #, no-c-format
+ msgid "iterator start at %L does not simplify"
+ msgstr ""
+
+-#: fortran/resolve.c:8125
++#: fortran/resolve.c:8308
+ #, no-c-format
+ msgid "iterator end at %L does not simplify"
+ msgstr ""
+
+-#: fortran/resolve.c:8132
++#: fortran/resolve.c:8315
+ #, no-c-format
+ msgid "iterator step at %L does not simplify"
+ msgstr ""
+
+-#: fortran/resolve.c:8258
++#: fortran/resolve.c:8441
+ #, no-c-format
+ msgid "DATA statement at %L has more values than variables"
+ msgstr ""
+
+-#: fortran/resolve.c:8349
++#: fortran/resolve.c:8532
+ #, fuzzy, no-c-format
+ msgid "Label %d at %L defined but not used"
+ msgstr "το `%s' δεν είναι κανονικό αÏχείο"
+
+-#: fortran/resolve.c:8354
++#: fortran/resolve.c:8537
+ #, no-c-format
+ msgid "Label %d at %L defined but cannot be used"
+ msgstr ""
+
+-#: fortran/resolve.c:8439
++#: fortran/resolve.c:8622
+ #, no-c-format
+ msgid "Derived type variable '%s' at %L must have SEQUENCE attribute to be an EQUIVALENCE object"
+ msgstr ""
+
+-#: fortran/resolve.c:8448
++#: fortran/resolve.c:8631
+ #, no-c-format
+ msgid "Derived type variable '%s' at %L cannot have ALLOCATABLE components to be an EQUIVALENCE object"
+ msgstr ""
+
+-#: fortran/resolve.c:8465
++#: fortran/resolve.c:8639
+ #, no-c-format
++msgid "Derived type variable '%s' at %L with default initialization cannot be in EQUIVALENCE with a variable in COMMON"
++msgstr ""
++
++#: fortran/resolve.c:8656
++#, no-c-format
+ msgid "Derived type variable '%s' at %L with pointer component(s) cannot be an EQUIVALENCE object"
+ msgstr ""
+
+-#: fortran/resolve.c:8570
++#: fortran/resolve.c:8761
+ #, no-c-format
+ msgid "Syntax error in EQUIVALENCE statement at %L"
+ msgstr ""
+
+-#: fortran/resolve.c:8585
++#: fortran/resolve.c:8776
+ #, no-c-format
+ msgid "Either all or none of the objects in the EQUIVALENCE set at %L shall have the PROTECTED attribute"
+ msgstr ""
+
+-#: fortran/resolve.c:8597
++#: fortran/resolve.c:8788
+ #, no-c-format
+ msgid "Common block member '%s' at %L cannot be an EQUIVALENCE object in the pure procedure '%s'"
+ msgstr ""
+
+-#: fortran/resolve.c:8606
++#: fortran/resolve.c:8797
+ #, no-c-format
+ msgid "Named constant '%s' at %L cannot be an EQUIVALENCE object"
+ msgstr ""
+
+-#: fortran/resolve.c:8685
++#: fortran/resolve.c:8876
+ #, no-c-format
+ msgid "Array '%s' at %L with non-constant bounds cannot be an EQUIVALENCE object"
+ msgstr ""
+
+-#: fortran/resolve.c:8696
++#: fortran/resolve.c:8887
+ #, no-c-format
+ msgid "Structure component '%s' at %L cannot be an EQUIVALENCE object"
+ msgstr ""
+
+-#: fortran/resolve.c:8707
++#: fortran/resolve.c:8898
+ #, no-c-format
+ msgid "Substring at %L has length zero"
+ msgstr ""
+
+-#: fortran/resolve.c:8750
++#: fortran/resolve.c:8941
+ #, no-c-format
+ msgid "PUBLIC function '%s' at %L cannot be of PRIVATE type '%s'"
+ msgstr ""
+
+-#: fortran/resolve.c:8762
++#: fortran/resolve.c:8953
+ #, no-c-format
+ msgid "ENTRY '%s' at %L has no IMPLICIT type"
+ msgstr ""
+
+-#: fortran/resolve.c:8788
++#: fortran/resolve.c:8979
+ #, no-c-format
+ msgid "User operator procedure '%s' at %L must be a FUNCTION"
+ msgstr ""
+
+-#: fortran/resolve.c:8795
++#: fortran/resolve.c:8986
+ #, no-c-format
+ msgid "User operator procedure '%s' at %L cannot be assumed character length"
+ msgstr ""
+
+-#: fortran/resolve.c:8801
++#: fortran/resolve.c:8992
+ #, no-c-format
+ msgid "User operator procedure '%s' at %L must have at least one argument"
+ msgstr ""
+
+-#: fortran/resolve.c:8811
++#: fortran/resolve.c:9002
+ #, no-c-format
+ msgid "First argument of operator interface at %L cannot be optional"
+ msgstr ""
+
+-#: fortran/resolve.c:8823
++#: fortran/resolve.c:9014
+ #, no-c-format
+ msgid "Second argument of operator interface at %L cannot be optional"
+ msgstr ""
+
+-#: fortran/resolve.c:8827
++#: fortran/resolve.c:9018
+ #, no-c-format
+ msgid "Operator interface at %L must have, at most, two arguments"
+ msgstr ""
+
+-#: fortran/resolve.c:8867
++#: fortran/resolve.c:9059
+ #, no-c-format
+ msgid "Contained procedure '%s' at %L of a PURE procedure must also be PURE"
+ msgstr ""
+
+-#: fortran/scanner.c:526
++#: fortran/scanner.c:530
+ #, no-c-format
+ msgid "!$OMP at %C starts a commented line as it neither is followed by a space nor is a continuation line"
+ msgstr ""
+
+-#: fortran/scanner.c:816 fortran/scanner.c:937
++#: fortran/scanner.c:820 fortran/scanner.c:941
+ #, no-c-format
+ msgid "Limit of %d continuations exceeded in statement at %C"
+ msgstr ""
+
+-#: fortran/scanner.c:861
++#: fortran/scanner.c:865
+ #, fuzzy, no-c-format
+ msgid "Missing '&' in continued character constant at %C"
+ msgstr "κενό αλφαÏιθμητικό"
+
+-#: fortran/scanner.c:1071
++#: fortran/scanner.c:1075
+ #, no-c-format
+ msgid "Nonconforming tab character at %C"
+ msgstr ""
+
+-#: fortran/scanner.c:1153 fortran/scanner.c:1156
++#: fortran/scanner.c:1158 fortran/scanner.c:1161
+ #, no-c-format
+ msgid "'&' not allowed by itself in line %d"
+ msgstr ""
+
+-#: fortran/scanner.c:1189
++#: fortran/scanner.c:1207
+ #, no-c-format
+-msgid "Nonconforming tab character in column 1 of line %d"
++msgid "Nonconforming tab character in column %d of line %d"
+ msgstr ""
+
+-#: fortran/scanner.c:1387
++#: fortran/scanner.c:1405
+ #, no-c-format
+ msgid "%s:%d: file %s left but not entered"
+ msgstr ""
+
+-#: fortran/scanner.c:1419
++#: fortran/scanner.c:1438
+ #, no-c-format
+ msgid "%s:%d: Illegal preprocessor directive"
+ msgstr ""
+
+-#: fortran/scanner.c:1514
++#: fortran/scanner.c:1533
+ #, no-c-format
+ msgid "File '%s' is being included recursively"
+ msgstr ""
+
+-#: fortran/scanner.c:1529
++#: fortran/scanner.c:1548
+ #, fuzzy, no-c-format
+ msgid "Can't open file '%s'"
+ msgstr "αδυναμία ανοίγματος αÏχείου εξόδου `%s'"
+
+-#: fortran/scanner.c:1538
++#: fortran/scanner.c:1557
+ #, fuzzy, no-c-format
+ msgid "Can't open included file '%s'"
+ msgstr "αδυναμία ανοίγματος αÏχείου εισόδου `%s'"
+
+ # src/request.c:37
+-#: fortran/scanner.c:1676
++#: fortran/scanner.c:1701
+ #, fuzzy, c-format
+ msgid "%s:%3d %s\n"
+ msgstr "%s: %s"
+@@ -10341,134 +10399,134 @@
+ msgid "Argument of CHAR function at %L outside of range [0,255]"
+ msgstr ""
+
+-#: fortran/simplify.c:1247
++#: fortran/simplify.c:1293
+ #, fuzzy, no-c-format
+ msgid "Argument of IACHAR at %L must be of length one"
+ msgstr "Η παÏάμετÏος στο `%s' Ï€Ïέπει να είναι ένας απλός χαÏακτήÏας"
+
+-#: fortran/simplify.c:1254
++#: fortran/simplify.c:1300
+ #, no-c-format
+ msgid "Argument of IACHAR function at %L outside of range 0..127"
+ msgstr ""
+
+-#: fortran/simplify.c:1293
++#: fortran/simplify.c:1339
+ #, fuzzy, no-c-format
+ msgid "Invalid second argument of IBCLR at %L"
+ msgstr "Η παÏάμετÏος `%s' δεν είναι έγκυÏη."
+
+-#: fortran/simplify.c:1301
++#: fortran/simplify.c:1347
+ #, no-c-format
+ msgid "Second argument of IBCLR exceeds bit size at %L"
+ msgstr ""
+
+-#: fortran/simplify.c:1335
++#: fortran/simplify.c:1381
+ #, fuzzy, no-c-format
+ msgid "Invalid second argument of IBITS at %L"
+ msgstr "Η παÏάμετÏος `%s' δεν είναι έγκυÏη."
+
+-#: fortran/simplify.c:1341
++#: fortran/simplify.c:1387
+ #, fuzzy, no-c-format
+ msgid "Invalid third argument of IBITS at %L"
+ msgstr "Η παÏάμετÏος `%s' δεν είναι έγκυÏη."
+
+-#: fortran/simplify.c:1351
++#: fortran/simplify.c:1397
+ #, no-c-format
+ msgid "Sum of second and third arguments of IBITS exceeds bit size at %L"
+ msgstr ""
+
+-#: fortran/simplify.c:1393
++#: fortran/simplify.c:1439
+ #, fuzzy, no-c-format
+ msgid "Invalid second argument of IBSET at %L"
+ msgstr "Η παÏάμετÏος `%s' δεν είναι έγκυÏη."
+
+-#: fortran/simplify.c:1401
++#: fortran/simplify.c:1447
+ #, no-c-format
+ msgid "Second argument of IBSET exceeds bit size at %L"
+ msgstr ""
+
+-#: fortran/simplify.c:1431
++#: fortran/simplify.c:1477
+ #, fuzzy, no-c-format
+ msgid "Argument of ICHAR at %L must be of length one"
+ msgstr "Η παÏάμετÏος στο `%s' Ï€Ïέπει να είναι ένας απλός χαÏακτήÏας"
+
+-#: fortran/simplify.c:1646
++#: fortran/simplify.c:1692
+ #, no-c-format
+ msgid "Argument of INT at %L is not a valid type"
+ msgstr ""
+
+-#: fortran/simplify.c:1688
++#: fortran/simplify.c:1734
+ #, fuzzy, no-c-format
+ msgid "Argument of %s at %L is not a valid type"
+ msgstr "Η παÏάμετÏος στο `%s' Ï€Ïέπει να είναι ένας απλός χαÏακτήÏας"
+
+-#: fortran/simplify.c:1786
++#: fortran/simplify.c:1832
+ #, fuzzy, no-c-format
+ msgid "Invalid second argument of ISHFT at %L"
+ msgstr "Η παÏάμετÏος `%s' δεν είναι έγκυÏη."
+
+-#: fortran/simplify.c:1801
++#: fortran/simplify.c:1847
+ #, no-c-format
+ msgid "Magnitude of second argument of ISHFT exceeds bit size at %L"
+ msgstr ""
+
+-#: fortran/simplify.c:1865
++#: fortran/simplify.c:1911
+ #, fuzzy, no-c-format
+ msgid "Invalid second argument of ISHFTC at %L"
+ msgstr "Η παÏάμετÏος `%s' δεν είναι έγκυÏη."
+
+-#: fortran/simplify.c:1879
++#: fortran/simplify.c:1925
+ #, fuzzy, no-c-format
+ msgid "Invalid third argument of ISHFTC at %L"
+ msgstr "Η παÏάμετÏος `%s' δεν είναι έγκυÏη."
+
+-#: fortran/simplify.c:1885
++#: fortran/simplify.c:1931
+ #, no-c-format
+ msgid "Magnitude of third argument of ISHFTC exceeds BIT_SIZE of first argument at %L"
+ msgstr ""
+
+-#: fortran/simplify.c:1901
++#: fortran/simplify.c:1947
+ #, no-c-format
+ msgid "Magnitude of second argument of ISHFTC exceeds third argument at %L"
+ msgstr ""
+
+-#: fortran/simplify.c:1904
++#: fortran/simplify.c:1950
+ #, no-c-format
+ msgid "Magnitude of second argument of ISHFTC exceeds BIT_SIZE of first argument at %L"
+ msgstr ""
+
+-#: fortran/simplify.c:1975
++#: fortran/simplify.c:2021
+ #, no-c-format
+ msgid "Argument of KIND at %L is a DERIVED type"
+ msgstr ""
+
+-#: fortran/simplify.c:2163
++#: fortran/simplify.c:2209
+ #, fuzzy, no-c-format
+ msgid "DIM argument at %L is out of bounds"
+ msgstr "Η παÏάμετÏος στο `%s' Ï€Ïέπει να είναι ένας απλός χαÏακτήÏας"
+
+-#: fortran/simplify.c:2318
++#: fortran/simplify.c:2364
+ #, no-c-format
+ msgid "Argument of LOG at %L cannot be less than or equal to zero"
+ msgstr ""
+
+-#: fortran/simplify.c:2331
++#: fortran/simplify.c:2377
+ #, no-c-format
+ msgid "Complex argument of LOG at %L cannot be zero"
+ msgstr ""
+
+-#: fortran/simplify.c:2374
++#: fortran/simplify.c:2420
+ #, no-c-format
+ msgid "Argument of LOG10 at %L cannot be less than or equal to zero"
+ msgstr ""
+
+ #. Result is processor-dependent.
+-#: fortran/simplify.c:2579
++#: fortran/simplify.c:2628
+ #, no-c-format
+ msgid "Second argument MOD at %L is zero"
+ msgstr ""
+
+ #. Result is processor-dependent.
+-#: fortran/simplify.c:2590
++#: fortran/simplify.c:2639
+ #, no-c-format
+ msgid "Second argument of MOD at %L is zero"
+ msgstr ""
+@@ -10476,82 +10534,87 @@
+ #. Result is processor-dependent. This processor just opts
+ #. to not handle it at all.
+ #. Result is processor-dependent.
+-#: fortran/simplify.c:2638 fortran/simplify.c:2650
++#: fortran/simplify.c:2687 fortran/simplify.c:2699
+ #, no-c-format
+ msgid "Second argument of MODULO at %L is zero"
+ msgstr ""
+
+-#: fortran/simplify.c:2702
++#: fortran/simplify.c:2751
+ #, no-c-format
+ msgid "Second argument of NEAREST at %L shall not be zero"
+ msgstr ""
+
+-#: fortran/simplify.c:2977
++#: fortran/simplify.c:2787
+ #, no-c-format
++msgid "Result of NEAREST is NaN at %L"
++msgstr ""
++
++#: fortran/simplify.c:3062
++#, no-c-format
+ msgid "Argument NCOPIES of REPEAT intrinsic is negative at %L"
+ msgstr ""
+
+-#: fortran/simplify.c:3032
++#: fortran/simplify.c:3117
+ #, no-c-format
+ msgid "Argument NCOPIES of REPEAT intrinsic is too large at %L"
+ msgstr ""
+
+-#: fortran/simplify.c:3122
++#: fortran/simplify.c:3232
+ #, fuzzy, no-c-format
+ msgid "Integer too large in shape specification at %L"
+ msgstr "%s: Μη έγκυÏη ÏÏθμιση `%s'.\n"
+
+-#: fortran/simplify.c:3132
++#: fortran/simplify.c:3242
+ #, no-c-format
+ msgid "Too many dimensions in shape specification for RESHAPE at %L"
+ msgstr ""
+
+-#: fortran/simplify.c:3140
++#: fortran/simplify.c:3250
+ #, no-c-format
+ msgid "Shape specification at %L cannot be negative"
+ msgstr ""
+
+-#: fortran/simplify.c:3150
++#: fortran/simplify.c:3260
+ #, no-c-format
+ msgid "Shape specification at %L cannot be the null array"
+ msgstr ""
+
+-#: fortran/simplify.c:3171
++#: fortran/simplify.c:3281
+ #, no-c-format
+ msgid "ORDER parameter of RESHAPE at %L is not the same size as SHAPE parameter"
+ msgstr ""
+
+-#: fortran/simplify.c:3178
++#: fortran/simplify.c:3288
+ #, no-c-format
+ msgid "Error in ORDER parameter of RESHAPE at %L"
+ msgstr ""
+
+-#: fortran/simplify.c:3188
++#: fortran/simplify.c:3298
+ #, no-c-format
+ msgid "ORDER parameter of RESHAPE at %L is out of range"
+ msgstr ""
+
+-#: fortran/simplify.c:3197
++#: fortran/simplify.c:3307
+ #, no-c-format
+ msgid "Invalid permutation in ORDER parameter at %L"
+ msgstr ""
+
+-#: fortran/simplify.c:3253
++#: fortran/simplify.c:3363
+ #, no-c-format
+ msgid "PAD parameter required for short SOURCE parameter at %L"
+ msgstr ""
+
+-#: fortran/simplify.c:3372
++#: fortran/simplify.c:3482
+ #, no-c-format
+ msgid "Result of SCALE overflows its kind at %L"
+ msgstr ""
+
+-#: fortran/simplify.c:3942
++#: fortran/simplify.c:4056
+ #, no-c-format
+ msgid "Argument of SQRT at %L has a negative value"
+ msgstr ""
+
+-#: fortran/simplify.c:4069
++#: fortran/simplify.c:4190
+ #, no-c-format
+ msgid "Intrinsic TRANSFER at %L has partly undefined result: source size %ld < result size %ld"
+ msgstr ""
+@@ -10782,29 +10845,29 @@
+ msgid "Symbol '%s' at %C has already been host associated"
+ msgstr ""
+
+-#: fortran/symbol.c:3162
++#: fortran/symbol.c:3189
+ #, no-c-format
+ msgid "Derived type '%s' declared at %L must have the BIND attribute to be C interoperable"
+ msgstr ""
+
+-#: fortran/symbol.c:3173
++#: fortran/symbol.c:3200
+ #, no-c-format
+ msgid "Derived type '%s' at %L is empty"
+ msgstr ""
+
+-#: fortran/symbol.c:3190
++#: fortran/symbol.c:3217
+ #, no-c-format
+ msgid "Component '%s' at %L cannot have the POINTER attribute because it is a member of the BIND(C) derived type '%s' at %L"
+ msgstr ""
+
+-#: fortran/symbol.c:3202
++#: fortran/symbol.c:3229
+ #, no-c-format
+ msgid "Component '%s' at %L cannot have the ALLOCATABLE attribute because it is a member of the BIND(C) derived type '%s' at %L"
+ msgstr ""
+
+ #. If the derived type is bind(c), all fields must be
+ #. interop.
+-#: fortran/symbol.c:3241
++#: fortran/symbol.c:3268
+ #, no-c-format
+ msgid "Component '%s' in derived type '%s' at %L may not be C interoperable, even though derived type '%s' is BIND(C)"
+ msgstr ""
+@@ -10812,17 +10875,17 @@
+ #. If derived type is param to bind(c) routine, or to one
+ #. of the iso_c_binding procs, it must be interoperable, so
+ #. all fields must interop too.
+-#: fortran/symbol.c:3250
++#: fortran/symbol.c:3277
+ #, no-c-format
+ msgid "Component '%s' in derived type '%s' at %L may not be C interoperable"
+ msgstr ""
+
+-#: fortran/symbol.c:3264
++#: fortran/symbol.c:3291
+ #, no-c-format
+ msgid "Derived type '%s' at %L cannot be declared with both PRIVATE and BIND(C) attributes"
+ msgstr ""
+
+-#: fortran/symbol.c:3272
++#: fortran/symbol.c:3299
+ #, no-c-format
+ msgid "Derived type '%s' at %L cannot have the SEQUENCE attribute because it is BIND(C)"
+ msgstr ""
+@@ -10832,38 +10895,43 @@
+ msgid "Overlapping unequal initializers in EQUIVALENCE at %L"
+ msgstr ""
+
+-#: fortran/trans-common.c:396
++#: fortran/target-memory.c:635
+ #, no-c-format
++msgid "BOZ constant at %L is too large (%ld vs %ld bits)"
++msgstr ""
++
++#: fortran/trans-common.c:399
++#, no-c-format
+ msgid "Named COMMON block '%s' at %L shall be of the same size"
+ msgstr ""
+
+-#: fortran/trans-common.c:817
++#: fortran/trans-common.c:833
+ #, fuzzy, no-c-format
+ msgid "Bad array reference at %L"
+ msgstr "αδυναμία αλλαγής στο κατάλογο %s"
+
+-#: fortran/trans-common.c:825
++#: fortran/trans-common.c:841
+ #, no-c-format
+ msgid "Illegal reference type at %L as EQUIVALENCE object"
+ msgstr ""
+
+-#: fortran/trans-common.c:865
++#: fortran/trans-common.c:881
+ #, no-c-format
+ msgid "Inconsistent equivalence rules involving '%s' at %L and '%s' at %L"
+ msgstr ""
+
+ #. Aligning this field would misalign a previous field.
+-#: fortran/trans-common.c:998
++#: fortran/trans-common.c:1014
+ #, no-c-format
+ msgid "The equivalence set for variable '%s' declared at %L violates alignment requirements"
+ msgstr ""
+
+-#: fortran/trans-common.c:1063
++#: fortran/trans-common.c:1079
+ #, no-c-format
+ msgid "Equivalence for '%s' does not match ordering of COMMON '%s' at %L"
+ msgstr ""
+
+-#: fortran/trans-common.c:1078
++#: fortran/trans-common.c:1094
+ #, no-c-format
+ msgid "The equivalence set for '%s' cause an invalid extension to COMMON '%s' at %L"
+ msgstr ""
+@@ -10871,43 +10939,43 @@
+ #. The required offset conflicts with previous alignment
+ #. requirements. Insert padding immediately before this
+ #. segment.
+-#: fortran/trans-common.c:1089
++#: fortran/trans-common.c:1105
+ #, no-c-format
+ msgid "Padding of %d bytes required before '%s' in COMMON '%s' at %L"
+ msgstr ""
+
+-#: fortran/trans-common.c:1115
++#: fortran/trans-common.c:1131
+ #, no-c-format
+ msgid "COMMON '%s' at %L does not exist"
+ msgstr ""
+
+-#: fortran/trans-common.c:1122
++#: fortran/trans-common.c:1138
+ #, no-c-format
+ msgid "COMMON '%s' at %L requires %d bytes of padding at start"
+ msgstr ""
+
+-#: fortran/trans-decl.c:3016
++#: fortran/trans-decl.c:2979
+ #, no-c-format
+ msgid "Dummy argument '%s' at %L was declared INTENT(OUT) but was not set"
+ msgstr ""
+
+-#: fortran/trans-decl.c:3020
++#: fortran/trans-decl.c:2983
+ #, no-c-format
+ msgid "Unused dummy argument '%s' at %L"
+ msgstr ""
+
+ # src/shred.c:1134
+-#: fortran/trans-decl.c:3026
++#: fortran/trans-decl.c:2989
+ #, fuzzy, no-c-format
+ msgid "Unused variable '%s' declared at %L"
+ msgstr "%s: το αÏχείο είναι Ï€Î¿Î»Ï Î¼ÎµÎ³Î¬Î»Î¿"
+
+-#: fortran/trans-decl.c:3052
++#: fortran/trans-decl.c:3015
+ #, fuzzy, no-c-format
+ msgid "Unused parameter '%s' declared at %L"
+ msgstr "ο χάÏτης χαÏακτήÏων `%s' οÏίστηκε ήδη"
+
+-#: fortran/trans-expr.c:2036
++#: fortran/trans-expr.c:2199
+ #, fuzzy, no-c-format
+ msgid "Unknown argument list function at %L"
+ msgstr "ΠÏοειδοποίηση: Î Î¿Î»Ï Î»Î¯Î³Î± οÏίσματα στο εσωδομημένο `%s'"
+@@ -10917,12 +10985,12 @@
+ msgid "'dim' argument of %s intrinsic at %L is not a valid dimension index"
+ msgstr ""
+
+-#: fortran/trans-io.c:1850
++#: fortran/trans-io.c:1851
+ #, no-c-format
+ msgid "Derived type '%s' at %L has PRIVATE components"
+ msgstr ""
+
+-#: fortran/trans-stmt.c:438
++#: fortran/trans-stmt.c:436
+ #, no-c-format
+ msgid "An alternate return at %L without a * dummy argument"
+ msgstr ""
+@@ -11147,65 +11215,41 @@
+ msgid "cannot specify 'main' class when not linking"
+ msgstr "Δεν είναι δυνατό να δηλωθεί αÏιθμός στηλών στην παÏάλληλη εκτÏπωση."
+
+-#: config/i386/nwld.h:34
+-#, fuzzy
+-msgid "Static linking is not supported.\n"
+-msgstr "ειδικά αÏχεία μπλοκ δεν υποστηÏίζονται"
+-
+-#: java/jvspec.c:80 gcc.c:820 ada/lang-specs.h:33
+-msgid "-pg and -fomit-frame-pointer are incompatible"
+-msgstr ""
+-
+ #: config/vax/netbsd-elf.h:41
+ #, fuzzy
+ msgid "the -shared option is not currently supported for VAX ELF"
+ msgstr "Η λειτουÏγία δεν υποστηÏίζεται"
+
+-#: config/sparc/sol2-gld-bi.h:17 config/sparc/sol2-gld-bi.h:22
+-#: config/sparc/sol2-bi.h:189 config/sparc/sol2-bi.h:194
+-#, fuzzy
+-msgid "does not support multilib"
+-msgstr "αÏχεία fifo δεν υποστηÏίζονται"
+-
+ #: config/vax/vax.h:49 config/vax/vax.h:50
+ #, fuzzy
+ msgid "profiling not supported with -mg\n"
+ msgstr "Η λειτουÏγία δεν υποστηÏίζεται"
+
+-#: config/rs6000/linux64.h:347 config/rs6000/linux64.h:349 config/linux.h:106
+-#: config/linux.h:108 config/rs6000/sysv4.h:897 config/rs6000/sysv4.h:899
++#: config/sh/sh.h:461
++#, fuzzy
++msgid "SH2a does not support little-endian"
++msgstr "Ï€Ïοειδοποίηση: το --pid=PID δεν υποστηÏίζεται σε αυτό το σÏστημα"
++
++#: config/s390/tpf.h:119
++#, fuzzy
++msgid "static is not supported on TPF-OS"
++msgstr "Η λειτουÏγία δεν υποστηÏίζεται"
++
+ #: config/alpha/linux-elf.h:33 config/alpha/linux-elf.h:35
++#: config/rs6000/sysv4.h:897 config/rs6000/sysv4.h:899
+ #: config/sparc/linux.h:126 config/sparc/linux.h:128
+-#: config/sparc/linux64.h:152 config/sparc/linux64.h:154
++#: config/sparc/linux64.h:152 config/sparc/linux64.h:154 config/linux.h:106
++#: config/linux.h:108 config/rs6000/linux64.h:347 config/rs6000/linux64.h:349
+ #, fuzzy
+ msgid "-mglibc and -muclibc used together"
+ msgstr ""
+ "Οι επιλογές για να εκτυπωθεί και να οÏιστεί η ÏŽÏα δεν μποÏοÏν να\n"
+ "χÏησιμοποιηθοÏν παÏάλληλα."
+
+-#: config/i386/cygwin.h:28
+-msgid "mno-cygwin and mno-win32 are not compatible"
++#: java/jvspec.c:80 gcc.c:820 ada/lang-specs.h:33
++msgid "-pg and -fomit-frame-pointer are incompatible"
+ msgstr ""
+
+-#: config/i386/cygwin.h:74 config/i386/mingw32.h:74
+-msgid "shared and mdll are not compatible"
+-msgstr ""
+-
+-#: config/i386/sco5.h:188
+-#, fuzzy
+-msgid "-pg not supported on this platform"
+-msgstr "Ï€Ïοειδοποίηση: το --pid=PID δεν υποστηÏίζεται σε αυτό το σÏστημα"
+-
+-#: config/i386/sco5.h:189
+-#, fuzzy
+-msgid "-p and -pp specified - pick one"
+-msgstr "μη οÏισμένο"
+-
+-#: config/i386/sco5.h:258
+-#, fuzzy
+-msgid "-G and -static are mutually exclusive"
+-msgstr "\"Ζώνη %s\" γÏαμμή και επιλογή -l είναι αμοιβαίως αποκλειόμενα"
+-
+ #: gcc.c:792
+ msgid "GCC does not support -C or -CC without -E"
+ msgstr ""
+@@ -11214,64 +11258,14 @@
+ msgid "-E or -x required when input is from standard input"
+ msgstr ""
+
+-#: java/lang-specs.h:33
+-msgid "-fjni and -femit-class-files are incompatible"
+-msgstr ""
+-
+-#: java/lang-specs.h:34
+-msgid "-fjni and -femit-class-file are incompatible"
+-msgstr ""
+-
+-#: java/lang-specs.h:35 java/lang-specs.h:36
+-msgid "-femit-class-file should used along with -fsyntax-only"
+-msgstr ""
+-
+ #: config/mcore/mcore.h:56
+ msgid "the m210 does not have little endian support"
+ msgstr ""
+
+-#: config/lynx.h:70
+-msgid "cannot use mthreads and mlegacy-threads together"
+-msgstr ""
+-
+-#: config/lynx.h:95
+-msgid "cannot use mshared and static together"
+-msgstr ""
+-
+-#: config/sh/sh.h:461
+-#, fuzzy
+-msgid "SH2a does not support little-endian"
+-msgstr "Ï€Ïοειδοποίηση: το --pid=PID δεν υποστηÏίζεται σε αυτό το σÏστημα"
+-
+-#: config/mips/mips.h:1042 config/arc/arc.h:61
++#: config/arc/arc.h:61 config/mips/mips.h:1042
+ msgid "may not use both -EB and -EL"
+ msgstr ""
+
+-#: config/s390/tpf.h:119
+-#, fuzzy
+-msgid "static is not supported on TPF-OS"
+-msgstr "Η λειτουÏγία δεν υποστηÏίζεται"
+-
+-#: config/rs6000/darwin.h:95
+-msgid " conflicting code gen style switches are used"
+-msgstr ""
+-
+-#: ada/lang-specs.h:34
+-msgid "-c or -S required for Ada"
+-msgstr ""
+-
+-#: config/mips/r3900.h:34
+-#, fuzzy
+-msgid "-mhard-float not supported"
+-msgstr "Το Ï€Ïωτόκολλο δεν υποστηÏίζεται"
+-
+-#: config/mips/r3900.h:36
+-#, fuzzy
+-msgid "-msingle-float and -msoft-float cannot both be specified"
+-msgstr ""
+-"Οι επιλογές για να εκτυπωθεί και να οÏιστεί η ÏŽÏα δεν μποÏοÏν να\n"
+-"χÏησιμοποιηθοÏν παÏάλληλα."
+-
+ #: config/vxworks.h:71
+ msgid "-Xbind-now and -Xbind-lazy are incompatible"
+ msgstr ""
+@@ -11308,6 +11302,18 @@
+ msgid "-private_bundle not allowed with -dynamiclib"
+ msgstr ""
+
++#: config/mips/r3900.h:34
++#, fuzzy
++msgid "-mhard-float not supported"
++msgstr "Το Ï€Ïωτόκολλο δεν υποστηÏίζεται"
++
++#: config/mips/r3900.h:36
++#, fuzzy
++msgid "-msingle-float and -msoft-float cannot both be specified"
++msgstr ""
++"Οι επιλογές για να εκτυπωθεί και να οÏιστεί η ÏŽÏα δεν μποÏοÏν να\n"
++"χÏησιμοποιηθοÏν παÏάλληλα."
++
+ #: config/sparc/linux64.h:211 config/sparc/linux64.h:222
+ #: config/sparc/netbsd-elf.h:125 config/sparc/netbsd-elf.h:144
+ #: config/sparc/sol2-bi.h:217 config/sparc/sol2-bi.h:227
+@@ -11315,6 +11321,10 @@
+ msgid "may not use both -m32 and -m64"
+ msgstr "δεν είναι δυνατό να παÏαληφθεί ο χÏήστης και η ομάδα"
+
++#: config/i386/mingw32.h:74 config/i386/cygwin.h:74
++msgid "shared and mdll are not compatible"
++msgstr ""
++
+ #: config/arm/arm.h:147
+ #, fuzzy
+ msgid "-msoft-float and -mhard_float may not be used together"
+@@ -11329,122 +11339,69 @@
+ "Οι επιλογές για να εκτυπωθεί και να οÏιστεί η ÏŽÏα δεν μποÏοÏν να\n"
+ "χÏησιμοποιηθοÏν παÏάλληλα."
+
+-#: java/lang.opt:65
+-msgid "Warn if a deprecated compiler feature, class, method, or field is used"
++#: config/rs6000/darwin.h:95
++msgid " conflicting code gen style switches are used"
+ msgstr ""
+
+-#: java/lang.opt:69
+-msgid "Warn if deprecated empty statements are found"
++#: ada/lang-specs.h:34
++msgid "-c or -S required for Ada"
+ msgstr ""
+
+-#: java/lang.opt:73
+-msgid "Warn if .class files are out of date"
+-msgstr ""
++#: config/sparc/sol2-bi.h:189 config/sparc/sol2-bi.h:194
++#: config/sparc/sol2-gld-bi.h:17 config/sparc/sol2-gld-bi.h:22
++#, fuzzy
++msgid "does not support multilib"
++msgstr "αÏχεία fifo δεν υποστηÏίζονται"
+
+-#: java/lang.opt:77
++#: config/i386/nwld.h:34
+ #, fuzzy
+-msgid "Warn if modifiers are specified when not necessary"
+-msgstr "δε μποÏοÏν να δηλώνονται αÏχεία όταν γίνεται χÏήση του --string"
++msgid "Static linking is not supported.\n"
++msgstr "ειδικά αÏχεία μπλοκ δεν υποστηÏίζονται"
+
+-#: java/lang.opt:81
+-msgid "Deprecated; use --classpath instead"
++#: config/i386/cygwin.h:28
++msgid "mno-cygwin and mno-win32 are not compatible"
+ msgstr ""
+
+-#: java/lang.opt:88
+-msgid "Permit the use of the assert keyword"
+-msgstr ""
++#: config/i386/sco5.h:188
++#, fuzzy
++msgid "-pg not supported on this platform"
++msgstr "Ï€Ïοειδοποίηση: το --pid=PID δεν υποστηÏίζεται σε αυτό το σÏστημα"
+
+-#: java/lang.opt:110
+-msgid "Replace system path"
+-msgstr ""
++#: config/i386/sco5.h:189
++#, fuzzy
++msgid "-p and -pp specified - pick one"
++msgstr "μη οÏισμένο"
+
+-#: java/lang.opt:114
++#: config/i386/sco5.h:258
+ #, fuzzy
+-msgid "Generate checks for references to NULL"
+-msgstr "ΧÏήση ξεχωÏιστής λανθάνουσας μνήμης για κάθε χÏήστη"
++msgid "-G and -static are mutually exclusive"
++msgstr "\"Ζώνη %s\" γÏαμμή και επιλογή -l είναι αμοιβαίως αποκλειόμενα"
+
+-#: java/lang.opt:118
+-msgid "Set class path"
++#: java/lang-specs.h:33
++msgid "-fjni and -femit-class-files are incompatible"
+ msgstr ""
+
+-#: java/lang.opt:125
+-msgid "Output a class file"
++#: java/lang-specs.h:34
++msgid "-fjni and -femit-class-file are incompatible"
+ msgstr ""
+
+-#: java/lang.opt:129
+-msgid "Alias for -femit-class-file"
++#: java/lang-specs.h:35 java/lang-specs.h:36
++msgid "-femit-class-file should used along with -fsyntax-only"
+ msgstr ""
+
+-#: java/lang.opt:133
+-msgid "Choose input encoding (defaults from your locale)"
+-msgstr ""
+-
+-#: java/lang.opt:137
+-msgid "Set the extension directory path"
+-msgstr ""
+-
+-#: java/lang.opt:144
+-msgid "Input file is a file with a list of filenames to compile"
+-msgstr ""
+-
+-#: java/lang.opt:151
+-msgid "Always check for non gcj generated classes archives"
+-msgstr ""
+-
+-#: java/lang.opt:155
+-msgid "Assume the runtime uses a hash table to map an object to its synchronization structure"
+-msgstr ""
+-
+-#: java/lang.opt:159
+-msgid "Generate instances of Class at runtime"
+-msgstr ""
+-
+-#: java/lang.opt:163
+-msgid "Use offset tables for virtual method calls"
+-msgstr ""
+-
+-#: java/lang.opt:170
+-msgid "Assume native functions are implemented using JNI"
+-msgstr ""
+-
+-#: java/lang.opt:174
+-msgid "Enable optimization of static class initialization code"
+-msgstr ""
+-
+-#: java/lang.opt:181
+-msgid "Reduce the amount of reflection meta-data generated"
+-msgstr ""
+-
+-#: java/lang.opt:185
+-msgid "Enable assignability checks for stores into object arrays"
+-msgstr ""
+-
+-#: java/lang.opt:189
++#: config/cris/cris.h:207
+ #, fuzzy
+-msgid "Generate code for the Boehm GC"
+-msgstr "ΧÏήση ξεχωÏιστής λανθάνουσας μνήμης για κάθε χÏήστη"
++msgid "Do not specify both -march=... and -mcpu=..."
++msgstr "δεν είναι δυνατό να παÏαληφθεί ο χÏήστης και η ομάδα"
+
+-#: java/lang.opt:193
+-msgid "Call a library routine to do integer divisions"
++#: config/lynx.h:70
++msgid "cannot use mthreads and mlegacy-threads together"
+ msgstr ""
+
+-#: java/lang.opt:197
+-msgid "Generated should be loaded by bootstrap loader"
++#: config/lynx.h:95
++msgid "cannot use mshared and static together"
+ msgstr ""
+
+-#: java/lang.opt:201
+-msgid "Set the source language version"
+-msgstr ""
+-
+-#: java/lang.opt:205
+-#, fuzzy
+-msgid "Set the target VM version"
+-msgstr "εσφαλμένη έκδοση κεφαλίδας"
+-
+-#: ada/lang.opt:96
+-msgid "Specify options to GNAT"
+-msgstr ""
+-
+ #: fortran/lang.opt:29
+ msgid "Add a directory for INCLUDE and MODULE searching"
+ msgstr ""
+@@ -11692,7 +11649,7 @@
+ msgid "Append a second underscore if the name already contains an underscore"
+ msgstr ""
+
+-#: fortran/lang.opt:277 c.opt:714
++#: fortran/lang.opt:277 c.opt:718
+ msgid "Use the narrowest integer type possible for enumeration types"
+ msgstr ""
+
+@@ -11724,14 +11681,65 @@
+ msgid "Accept extensions to support legacy code"
+ msgstr ""
+
+-#: treelang/lang.opt:30
+-msgid "Trace lexical analysis"
++#: config/mcore/mcore.opt:23
++#, fuzzy
++msgid "Generate code for the M*Core M210"
++msgstr "ΧÏήση ξεχωÏιστής λανθάνουσας μνήμης για κάθε χÏήστη"
++
++#: config/mcore/mcore.opt:27
++msgid "Generate code for the M*Core M340"
+ msgstr ""
+
+-#: treelang/lang.opt:34
+-msgid "Trace the parsing process"
++#: config/mcore/mcore.opt:31
++msgid "Set maximum alignment to 4"
+ msgstr ""
+
++#: config/mcore/mcore.opt:35
++msgid "Force functions to be aligned to a 4 byte boundary"
++msgstr ""
++
++#: config/mcore/mcore.opt:39
++msgid "Set maximum alignment to 8"
++msgstr ""
++
++#: config/mcore/mcore.opt:43 config/score/score.opt:23
++msgid "Generate big-endian code"
++msgstr ""
++
++#: config/mcore/mcore.opt:47
++#, fuzzy
++msgid "Emit call graph information"
++msgstr "εμφάνιση πληÏοφοÏιών Ï€Ïοόδου"
++
++#: config/mcore/mcore.opt:51
++#, fuzzy
++msgid "Use the divide instruction"
++msgstr "Ακατάλληλη εντολή"
++
++#: config/mcore/mcore.opt:55
++msgid "Inline constants if it can be done in 2 insns or less"
++msgstr ""
++
++#: config/mcore/mcore.opt:59 config/score/score.opt:27
++msgid "Generate little-endian code"
++msgstr ""
++
++#: config/mcore/mcore.opt:67
++msgid "Use arbitrary sized immediates in bit operations"
++msgstr ""
++
++#: config/mcore/mcore.opt:71
++msgid "Prefer word accesses over byte accesses"
++msgstr ""
++
++#: config/mcore/mcore.opt:75
++msgid "Set the maximum amount for a single stack increment operation"
++msgstr ""
++
++#: config/mcore/mcore.opt:79
++msgid "Always treat bitfields as int-sized"
++msgstr ""
++
+ #: config/alpha/alpha.opt:23 config/i386/i386.opt:155
+ msgid "Do not use hardware fp"
+ msgstr ""
+@@ -11850,283 +11858,6 @@
+ msgid "Specify bit size of immediate TLS offsets"
+ msgstr ""
+
+-#: config/frv/frv.opt:23
+-msgid "Use 4 media accumulators"
+-msgstr ""
+-
+-#: config/frv/frv.opt:27
+-msgid "Use 8 media accumulators"
+-msgstr ""
+-
+-#: config/frv/frv.opt:31
+-msgid "Enable label alignment optimizations"
+-msgstr ""
+-
+-#: config/frv/frv.opt:35
+-#, fuzzy
+-msgid "Dynamically allocate cc registers"
+-msgstr "Δεν είναι δυνατό να δεσμευτεί μνήμη"
+-
+-#: config/frv/frv.opt:42
+-msgid "Set the cost of branches"
+-msgstr ""
+-
+-#: config/frv/frv.opt:46
+-msgid "Enable conditional execution other than moves/scc"
+-msgstr ""
+-
+-#: config/frv/frv.opt:50
+-msgid "Change the maximum length of conditionally-executed sequences"
+-msgstr ""
+-
+-#: config/frv/frv.opt:54
+-msgid "Change the number of temporary registers that are available to conditionally-executed sequences"
+-msgstr ""
+-
+-#: config/frv/frv.opt:58
+-#, fuzzy
+-msgid "Enable conditional moves"
+-msgstr "Ακατάλληλη εντολή"
+-
+-#: config/frv/frv.opt:62
+-msgid "Set the target CPU type"
+-msgstr ""
+-
+-#: config/frv/frv.opt:84
+-#, fuzzy
+-msgid "Use fp double instructions"
+-msgstr "Ακατάλληλη εντολή"
+-
+-#: config/frv/frv.opt:88
+-msgid "Change the ABI to allow double word insns"
+-msgstr ""
+-
+-#: config/frv/frv.opt:92 config/bfin/bfin.opt:73
+-#, fuzzy
+-msgid "Enable Function Descriptor PIC mode"
+-msgstr "αδÏνατη η φόÏτωση δεδομένων Ï€Ïοφίλ"
+-
+-#: config/frv/frv.opt:96
+-msgid "Just use icc0/fcc0"
+-msgstr ""
+-
+-#: config/frv/frv.opt:100
+-msgid "Only use 32 FPRs"
+-msgstr ""
+-
+-#: config/frv/frv.opt:104
+-msgid "Use 64 FPRs"
+-msgstr ""
+-
+-#: config/frv/frv.opt:108
+-msgid "Only use 32 GPRs"
+-msgstr ""
+-
+-#: config/frv/frv.opt:112
+-msgid "Use 64 GPRs"
+-msgstr ""
+-
+-#: config/frv/frv.opt:116
+-msgid "Enable use of GPREL for read-only data in FDPIC"
+-msgstr ""
+-
+-#: config/frv/frv.opt:120 config/rs6000/rs6000.opt:112
+-#: config/pdp11/pdp11.opt:71
+-msgid "Use hardware floating point"
+-msgstr ""
+-
+-#: config/frv/frv.opt:124 config/bfin/bfin.opt:77
+-#, fuzzy
+-msgid "Enable inlining of PLT in function calls"
+-msgstr "δεν είναι δυνατό να δημιουÏγηθεί το αÏχείο fifo `%s'"
+-
+-#: config/frv/frv.opt:128
+-msgid "Enable PIC support for building libraries"
+-msgstr ""
+-
+-#: config/frv/frv.opt:132
+-msgid "Follow the EABI linkage requirements"
+-msgstr ""
+-
+-#: config/frv/frv.opt:136
+-#, fuzzy
+-msgid "Disallow direct calls to global functions"
+-msgstr "Δεν βÏέθηκαν ταιÏιάσματα στη μοÏφή `%s'.\n"
+-
+-#: config/frv/frv.opt:140
+-#, fuzzy
+-msgid "Use media instructions"
+-msgstr "Ακατάλληλη εντολή"
+-
+-#: config/frv/frv.opt:144
+-#, fuzzy
+-msgid "Use multiply add/subtract instructions"
+-msgstr "Ακατάλληλη εντολή"
+-
+-#: config/frv/frv.opt:148
+-#, fuzzy
+-msgid "Enable optimizing &&/|| in conditional execution"
+-msgstr "Μη έγκυÏη κανονική έκφÏαση"
+-
+-#: config/frv/frv.opt:152
+-msgid "Enable nested conditional execution optimizations"
+-msgstr ""
+-
+-#: config/frv/frv.opt:157
+-msgid "Do not mark ABI switches in e_flags"
+-msgstr ""
+-
+-#: config/frv/frv.opt:161
+-msgid "Remove redundant membars"
+-msgstr ""
+-
+-#: config/frv/frv.opt:165
+-#, fuzzy
+-msgid "Pack VLIW instructions"
+-msgstr "Ακατάλληλη εντολή"
+-
+-#: config/frv/frv.opt:169
+-msgid "Enable setting GPRs to the result of comparisons"
+-msgstr ""
+-
+-#: config/frv/frv.opt:173
+-msgid "Change the amount of scheduler lookahead"
+-msgstr ""
+-
+-#: config/frv/frv.opt:177 config/pa/pa.opt:104
+-msgid "Use software floating point"
+-msgstr ""
+-
+-#: config/frv/frv.opt:181
+-msgid "Assume a large TLS segment"
+-msgstr ""
+-
+-#: config/frv/frv.opt:185
+-msgid "Do not assume a large TLS segment"
+-msgstr ""
+-
+-#: config/frv/frv.opt:190
+-msgid "Cause gas to print tomcat statistics"
+-msgstr ""
+-
+-#: config/frv/frv.opt:195
+-msgid "Link with the library-pic libraries"
+-msgstr ""
+-
+-#: config/frv/frv.opt:199
+-msgid "Allow branches to be packed with other instructions"
+-msgstr ""
+-
+-#: config/mn10300/mn10300.opt:23
+-msgid "Target the AM33 processor"
+-msgstr ""
+-
+-#: config/mn10300/mn10300.opt:27
+-msgid "Target the AM33/2.0 processor"
+-msgstr ""
+-
+-#: config/mn10300/mn10300.opt:31
+-msgid "Work around hardware multiply bug"
+-msgstr ""
+-
+-#: config/mn10300/mn10300.opt:36
+-msgid "Enable linker relaxations"
+-msgstr ""
+-
+-#: config/mn10300/mn10300.opt:40
+-msgid "Return pointers in both a0 and d0"
+-msgstr ""
+-
+-#: config/s390/tpf.opt:23
+-msgid "Enable TPF-OS tracing code"
+-msgstr ""
+-
+-#: config/s390/tpf.opt:27
+-msgid "Specify main object for TPF-OS"
+-msgstr ""
+-
+-#: config/s390/s390.opt:23
+-#, fuzzy
+-msgid "31 bit ABI"
+-msgstr "ΧÏήση ABI 64-bit"
+-
+-#: config/s390/s390.opt:27
+-#, fuzzy
+-msgid "64 bit ABI"
+-msgstr "ΧÏήση ABI 64-bit"
+-
+-#: config/s390/s390.opt:31 config/i386/i386.opt:59 config/spu/spu.opt:60
+-msgid "Generate code for given CPU"
+-msgstr ""
+-
+-#: config/s390/s390.opt:35
+-msgid "Maintain backchain pointer"
+-msgstr ""
+-
+-#: config/s390/s390.opt:39
+-msgid "Additional debug prints"
+-msgstr ""
+-
+-#: config/s390/s390.opt:43
+-msgid "ESA/390 architecture"
+-msgstr ""
+-
+-#: config/s390/s390.opt:47
+-#, fuzzy
+-msgid "Enable fused multiply/add instructions"
+-msgstr "Ακατάλληλη εντολή"
+-
+-#: config/s390/s390.opt:51
+-msgid "Enable decimal floating point hardware support"
+-msgstr ""
+-
+-#: config/s390/s390.opt:55
+-msgid "Enable hardware floating point"
+-msgstr ""
+-
+-#: config/s390/s390.opt:67
+-msgid "Use packed stack layout"
+-msgstr ""
+-
+-#: config/s390/s390.opt:71
+-msgid "Use bras for executable < 64k"
+-msgstr ""
+-
+-#: config/s390/s390.opt:75
+-#, fuzzy
+-msgid "Disable hardware floating point"
+-msgstr "Ακατάλληλη εντολή"
+-
+-#: config/s390/s390.opt:79
+-msgid "Set the max. number of bytes which has to be left to stack size before a trap instruction is triggered"
+-msgstr ""
+-
+-#: config/s390/s390.opt:83
+-msgid "Emit extra code in the function prologue in order to trap if the stack size exceeds the given limit"
+-msgstr ""
+-
+-#: config/s390/s390.opt:87 config/ia64/ia64.opt:97 config/sparc/sparc.opt:95
+-#: config/i386/i386.opt:183 config/rs6000/rs6000.opt:226 config/spu/spu.opt:64
+-msgid "Schedule code for given CPU"
+-msgstr ""
+-
+-#: config/s390/s390.opt:91
+-#, fuzzy
+-msgid "mvcle use"
+-msgstr "Η συσκευή είναι απασχολημένη"
+-
+-#: config/s390/s390.opt:95
+-msgid "Warn if a function uses alloca or creates an array with dynamic size"
+-msgstr ""
+-
+-#: config/s390/s390.opt:99
+-msgid "Warn if a single function's framesize exceeds the given framesize"
+-msgstr ""
+-
+-#: config/s390/s390.opt:103
+-msgid "z/Architecture"
+-msgstr ""
+-
+ #: config/ia64/ilp32.opt:3
+ #, fuzzy
+ msgid "Generate ILP32 code"
+@@ -12217,10 +11948,16 @@
+ msgid "Enable earlier placing stop bits for better scheduling"
+ msgstr ""
+
+-#: config/ia64/ia64.opt:89 config/spu/spu.opt:56 config/pa/pa.opt:51
++#: config/ia64/ia64.opt:89 config/pa/pa.opt:51 config/spu/spu.opt:56
+ msgid "Specify range of registers to make fixed"
+ msgstr ""
+
++#: config/ia64/ia64.opt:97 config/i386/i386.opt:183
++#: config/rs6000/rs6000.opt:226 config/spu/spu.opt:64 config/s390/s390.opt:87
++#: config/sparc/sparc.opt:95
++msgid "Schedule code for given CPU"
++msgstr ""
++
+ #: config/ia64/ia64.opt:101
+ msgid "Use data speculation before reload"
+ msgstr ""
+@@ -12269,347 +12006,310 @@
+ msgid "Count speculative dependencies while calculating priority of instructions"
+ msgstr ""
+
+-#: config/m32c/m32c.opt:24 config/bfin/bfin.opt:23 config/mt/mt.opt:27
+-msgid "Use simulator runtime"
++#: config/xtensa/xtensa.opt:23
++msgid "Use CONST16 instruction to load constants"
+ msgstr ""
+
+-#: config/m32c/m32c.opt:28
+-msgid "Compile code for R8C variants"
++#: config/xtensa/xtensa.opt:27
++msgid "Enable fused multiply/add and multiply/subtract FP instructions"
+ msgstr ""
+
+-#: config/m32c/m32c.opt:32
+-msgid "Compile code for M16C variants"
++#: config/xtensa/xtensa.opt:31
++msgid "Use indirect CALLXn instructions for large programs"
+ msgstr ""
+
+-#: config/m32c/m32c.opt:36
+-msgid "Compile code for M32CM variants"
++#: config/xtensa/xtensa.opt:35
++msgid "Automatically align branch targets to reduce branch penalties"
+ msgstr ""
+
+-#: config/m32c/m32c.opt:40
+-msgid "Compile code for M32C variants"
++#: config/xtensa/xtensa.opt:39
++msgid "Intersperse literal pools with code in the text section"
+ msgstr ""
+
+-#: config/m32c/m32c.opt:44
+-msgid "Number of memreg bytes (default: 16, range: 0..16)"
++#: config/pa/pa.opt:23 config/pa/pa.opt:76 config/pa/pa.opt:84
++msgid "Generate PA1.0 code"
+ msgstr ""
+
+-#: config/sparc/little-endian.opt:23
+-#, fuzzy
+-msgid "Generate code for little-endian"
+-msgstr "ΧÏήση ξεχωÏιστής λανθάνουσας μνήμης για κάθε χÏήστη"
++#: config/pa/pa.opt:27 config/pa/pa.opt:88 config/pa/pa.opt:108
++msgid "Generate PA1.1 code"
++msgstr ""
+
+-#: config/sparc/little-endian.opt:27
+-#, fuzzy
+-msgid "Generate code for big-endian"
+-msgstr "ΧÏήση ξεχωÏιστής λανθάνουσας μνήμης για κάθε χÏήστη"
+-
+-#: config/sparc/sparc.opt:23 config/sparc/sparc.opt:27
+-msgid "Use hardware FP"
++#: config/pa/pa.opt:31 config/pa/pa.opt:92
++msgid "Generate PA2.0 code (requires binutils 2.10 or later)"
+ msgstr ""
+
+-#: config/sparc/sparc.opt:31
++#: config/pa/pa.opt:35
+ #, fuzzy
+-msgid "Do not use hardware FP"
+-msgstr "Δεν είναι δυνατή η καταχώÏηση της υπηÏεσίας"
++msgid "Generate code for huge switch statements"
++msgstr "ΧÏήση ξεχωÏιστής λανθάνουσας μνήμης για κάθε χÏήστη"
+
+-#: config/sparc/sparc.opt:35
+-msgid "Assume possible double misalignment"
++#: config/pa/pa.opt:39
++msgid "Disable FP regs"
+ msgstr ""
+
+-#: config/sparc/sparc.opt:39
+-msgid "Pass -assert pure-text to linker"
+-msgstr ""
+-
+-#: config/sparc/sparc.opt:43
+-msgid "Use ABI reserved registers"
+-msgstr ""
+-
+-#: config/sparc/sparc.opt:47
++#: config/pa/pa.opt:43
+ #, fuzzy
+-msgid "Use hardware quad FP instructions"
+-msgstr "Ακατάλληλη εντολή"
++msgid "Disable indexed addressing"
++msgstr "Ακατάλληλη χÏήση του διαμοÏφωτή διεÏθυνσης"
+
+-#: config/sparc/sparc.opt:51
+-msgid "Do not use hardware quad fp instructions"
+-msgstr ""
+-
+-#: config/sparc/sparc.opt:55
+-msgid "Compile for V8+ ABI"
+-msgstr ""
+-
+-#: config/sparc/sparc.opt:59
++#: config/pa/pa.opt:47
+ #, fuzzy
+-msgid "Use UltraSPARC Visual Instruction Set extensions"
+-msgstr "ΠαÏάνομη Εντολή"
++msgid "Generate fast indirect calls"
++msgstr "ΧÏήση ξεχωÏιστής λανθάνουσας μνήμης για κάθε χÏήστη"
+
+-#: config/sparc/sparc.opt:63
+-msgid "Pointers are 64-bit"
++#: config/pa/pa.opt:55
++msgid "Assume code will be assembled by GAS"
+ msgstr ""
+
+-#: config/sparc/sparc.opt:67
+-msgid "Pointers are 32-bit"
++#: config/pa/pa.opt:59
++msgid "Put jumps in call delay slots"
+ msgstr ""
+
+-#: config/sparc/sparc.opt:71
+-msgid "Use 64-bit ABI"
+-msgstr "ΧÏήση ABI 64-bit"
+-
+-#: config/sparc/sparc.opt:75
+-msgid "Use 32-bit ABI"
+-msgstr "ΧÏήση ABI 32-bit"
+-
+-#: config/sparc/sparc.opt:79
+-msgid "Use stack bias"
++#: config/pa/pa.opt:64
++msgid "Enable linker optimizations"
+ msgstr ""
+
+-#: config/sparc/sparc.opt:83
+-msgid "Use structs on stronger alignment for double-word copies"
++#: config/pa/pa.opt:68
++msgid "Always generate long calls"
+ msgstr ""
+
+-#: config/sparc/sparc.opt:87
+-msgid "Optimize tail call instructions in assembler and linker"
++#: config/pa/pa.opt:72
++msgid "Emit long load/store sequences"
+ msgstr ""
+
+-#: config/sparc/sparc.opt:91 config/rs6000/rs6000.opt:222
+-msgid "Use features of and schedule code for given CPU"
++#: config/pa/pa.opt:80
++msgid "Disable space regs"
+ msgstr ""
+
+-#: config/sparc/sparc.opt:99
+-msgid "Use given SPARC-V9 code model"
+-msgstr ""
++#: config/pa/pa.opt:96
++#, fuzzy
++msgid "Use portable calling conventions"
++msgstr "μη τεÏματιζμένο αλφαÏιθμητικό σταθεÏάς"
+
+-#: config/sparc/sparc.opt:103
+-msgid "Enable strict 32-bit psABI struct return checking."
++#: config/pa/pa.opt:100
++msgid "Specify CPU for scheduling purposes. Valid arguments are 700, 7100, 7100LC, 7200, 7300, and 8000"
+ msgstr ""
+
+-#: config/m32r/m32r.opt:23
+-msgid "Compile for the m32rx"
++#: config/pa/pa.opt:104 config/frv/frv.opt:177
++msgid "Use software floating point"
+ msgstr ""
+
+-#: config/m32r/m32r.opt:27
+-msgid "Compile for the m32r2"
+-msgstr ""
++#: config/pa/pa.opt:112
++#, fuzzy
++msgid "Do not disable space regs"
++msgstr "Δεν είναι δυνατό να δεσμευτεί μνήμη"
+
+-#: config/m32r/m32r.opt:31
+-msgid "Compile for the m32r"
++#: config/pa/pa-hpux1111.opt:23 config/pa/pa-hpux1010.opt:23
++#: config/pa/pa-hpux.opt:27
++msgid "Specify UNIX standard for predefines and linking"
+ msgstr ""
+
+-#: config/m32r/m32r.opt:35
+-msgid "Align all loops to 32 byte boundary"
++#: config/pa/pa64-hpux.opt:23
++msgid "Assume code will be linked by GNU ld"
+ msgstr ""
+
+-#: config/m32r/m32r.opt:39
+-msgid "Prefer branches over conditional execution"
++#: config/pa/pa64-hpux.opt:27
++msgid "Assume code will be linked by HP ld"
+ msgstr ""
+
+-#: config/m32r/m32r.opt:43
+-msgid "Give branches their default cost"
+-msgstr ""
++#: config/pa/pa-hpux.opt:23
++#, fuzzy
++msgid "Generate cpp defines for server IO"
++msgstr "ΧÏήση ξεχωÏιστής λανθάνουσας μνήμης για κάθε χÏήστη"
+
+-#: config/m32r/m32r.opt:47
+-msgid "Display compile time statistics"
++#: config/pa/pa-hpux.opt:31
++msgid "Generate cpp defines for workstation IO"
+ msgstr ""
+
+-#: config/m32r/m32r.opt:51
+-msgid "Specify cache flush function"
++#: config/frv/frv.opt:23
++msgid "Use 4 media accumulators"
+ msgstr ""
+
+-#: config/m32r/m32r.opt:55
+-msgid "Specify cache flush trap number"
++#: config/frv/frv.opt:27
++msgid "Use 8 media accumulators"
+ msgstr ""
+
+-#: config/m32r/m32r.opt:59
+-msgid "Only issue one instruction per cycle"
++#: config/frv/frv.opt:31
++msgid "Enable label alignment optimizations"
+ msgstr ""
+
+-#: config/m32r/m32r.opt:63
+-msgid "Allow two instructions to be issued per cycle"
+-msgstr ""
++#: config/frv/frv.opt:35
++#, fuzzy
++msgid "Dynamically allocate cc registers"
++msgstr "Δεν είναι δυνατό να δεσμευτεί μνήμη"
+
+-#: config/m32r/m32r.opt:67
+-msgid "Code size: small, medium or large"
++#: config/frv/frv.opt:42
++msgid "Set the cost of branches"
+ msgstr ""
+
+-#: config/m32r/m32r.opt:71
+-msgid "Don't call any cache flush functions"
++#: config/frv/frv.opt:46
++msgid "Enable conditional execution other than moves/scc"
+ msgstr ""
+
+-#: config/m32r/m32r.opt:75
+-msgid "Don't call any cache flush trap"
++#: config/frv/frv.opt:50
++msgid "Change the maximum length of conditionally-executed sequences"
+ msgstr ""
+
+-#: config/m32r/m32r.opt:82
+-msgid "Small data area: none, sdata, use"
++#: config/frv/frv.opt:54
++msgid "Change the number of temporary registers that are available to conditionally-executed sequences"
+ msgstr ""
+
+-#: config/m68k/m68k.opt:23
+-msgid "Generate code for a 520X"
+-msgstr ""
+-
+-#: config/m68k/m68k.opt:27
++#: config/frv/frv.opt:58
+ #, fuzzy
+-msgid "Generate code for a 5206e"
+-msgstr "ΧÏήση ξεχωÏιστής λανθάνουσας μνήμης για κάθε χÏήστη"
++msgid "Enable conditional moves"
++msgstr "Ακατάλληλη εντολή"
+
+-#: config/m68k/m68k.opt:31
+-#, fuzzy
+-msgid "Generate code for a 528x"
+-msgstr "ΧÏήση ξεχωÏιστής λανθάνουσας μνήμης για κάθε χÏήστη"
++#: config/frv/frv.opt:62
++msgid "Set the target CPU type"
++msgstr ""
+
+-#: config/m68k/m68k.opt:35
++#: config/frv/frv.opt:84
+ #, fuzzy
+-msgid "Generate code for a 5307"
+-msgstr "ΧÏήση ξεχωÏιστής λανθάνουσας μνήμης για κάθε χÏήστη"
++msgid "Use fp double instructions"
++msgstr "Ακατάλληλη εντολή"
+
+-#: config/m68k/m68k.opt:39
+-#, fuzzy
+-msgid "Generate code for a 5407"
+-msgstr "ΧÏήση ξεχωÏιστής λανθάνουσας μνήμης για κάθε χÏήστη"
+-
+-#: config/m68k/m68k.opt:43 config/m68k/m68k.opt:104
+-msgid "Generate code for a 68000"
++#: config/frv/frv.opt:88
++msgid "Change the ABI to allow double word insns"
+ msgstr ""
+
+-#: config/m68k/m68k.opt:47
++#: config/frv/frv.opt:92 config/bfin/bfin.opt:73
+ #, fuzzy
+-msgid "Generate code for a 68010"
+-msgstr "ΧÏήση ξεχωÏιστής λανθάνουσας μνήμης για κάθε χÏήστη"
++msgid "Enable Function Descriptor PIC mode"
++msgstr "αδÏνατη η φόÏτωση δεδομένων Ï€Ïοφίλ"
+
+-#: config/m68k/m68k.opt:51 config/m68k/m68k.opt:108
+-msgid "Generate code for a 68020"
++#: config/frv/frv.opt:96
++msgid "Just use icc0/fcc0"
+ msgstr ""
+
+-#: config/m68k/m68k.opt:55
+-msgid "Generate code for a 68040, without any new instructions"
++#: config/frv/frv.opt:100
++msgid "Only use 32 FPRs"
+ msgstr ""
+
+-#: config/m68k/m68k.opt:59
+-msgid "Generate code for a 68060, without any new instructions"
++#: config/frv/frv.opt:104
++msgid "Use 64 FPRs"
+ msgstr ""
+
+-#: config/m68k/m68k.opt:63
+-msgid "Generate code for a 68030"
++#: config/frv/frv.opt:108
++msgid "Only use 32 GPRs"
+ msgstr ""
+
+-#: config/m68k/m68k.opt:67
+-msgid "Generate code for a 68040"
++#: config/frv/frv.opt:112
++msgid "Use 64 GPRs"
+ msgstr ""
+
+-#: config/m68k/m68k.opt:71
+-msgid "Generate code for a 68060"
++#: config/frv/frv.opt:116
++msgid "Enable use of GPREL for read-only data in FDPIC"
+ msgstr ""
+
+-#: config/m68k/m68k.opt:75
+-msgid "Generate code for a 68302"
++#: config/frv/frv.opt:120 config/rs6000/rs6000.opt:112
++#: config/pdp11/pdp11.opt:71
++msgid "Use hardware floating point"
+ msgstr ""
+
+-#: config/m68k/m68k.opt:79
+-msgid "Generate code for a 68332"
+-msgstr ""
+-
+-#: config/m68k/m68k.opt:84
+-msgid "Generate code for a 68851"
+-msgstr ""
+-
+-#: config/m68k/m68k.opt:88
++#: config/frv/frv.opt:124 config/bfin/bfin.opt:77
+ #, fuzzy
+-msgid "Generate code that uses 68881 floating-point instructions"
+-msgstr "Ακατάλληλη εντολή"
++msgid "Enable inlining of PLT in function calls"
++msgstr "δεν είναι δυνατό να δημιουÏγηθεί το αÏχείο fifo `%s'"
+
+-#: config/m68k/m68k.opt:92
+-msgid "Align variables on a 32-bit boundary"
++#: config/frv/frv.opt:128
++msgid "Enable PIC support for building libraries"
+ msgstr ""
+
+-#: config/m68k/m68k.opt:96 config/arm/arm.opt:49 config/score/score.opt:63
+-msgid "Specify the name of the target architecture"
++#: config/frv/frv.opt:132
++msgid "Follow the EABI linkage requirements"
+ msgstr ""
+
+-#: config/m68k/m68k.opt:100
+-msgid "Use the bit-field instructions"
+-msgstr ""
++#: config/frv/frv.opt:136
++#, fuzzy
++msgid "Disallow direct calls to global functions"
++msgstr "Δεν βÏέθηκαν ταιÏιάσματα στη μοÏφή `%s'.\n"
+
+-#: config/m68k/m68k.opt:112
++#: config/frv/frv.opt:140
+ #, fuzzy
+-msgid "Generate code for a ColdFire v4e"
+-msgstr "ΧÏήση ξεχωÏιστής λανθάνουσας μνήμης για κάθε χÏήστη"
++msgid "Use media instructions"
++msgstr "Ακατάλληλη εντολή"
+
+-#: config/m68k/m68k.opt:116
++#: config/frv/frv.opt:144
+ #, fuzzy
+-msgid "Specify the target CPU"
+-msgstr "ΟÏισμός ονόματος Ï€ÏογÏάμματος"
++msgid "Use multiply add/subtract instructions"
++msgstr "Ακατάλληλη εντολή"
+
+-#: config/m68k/m68k.opt:120
+-msgid "Generate code for a cpu32"
++#: config/frv/frv.opt:148
++#, fuzzy
++msgid "Enable optimizing &&/|| in conditional execution"
++msgstr "Μη έγκυÏη κανονική έκφÏαση"
++
++#: config/frv/frv.opt:152
++msgid "Enable nested conditional execution optimizations"
+ msgstr ""
+
+-#: config/m68k/m68k.opt:124
+-msgid "Use hardware division instructions on ColdFire"
++#: config/frv/frv.opt:157
++msgid "Do not mark ABI switches in e_flags"
+ msgstr ""
+
+-#: config/m68k/m68k.opt:128
+-#, fuzzy
+-msgid "Generate code for a Fido A"
+-msgstr "ΧÏήση ξεχωÏιστής λανθάνουσας μνήμης για κάθε χÏήστη"
++#: config/frv/frv.opt:161
++msgid "Remove redundant membars"
++msgstr ""
+
+-#: config/m68k/m68k.opt:132
++#: config/frv/frv.opt:165
+ #, fuzzy
+-msgid "Generate code which uses hardware floating point instructions"
++msgid "Pack VLIW instructions"
+ msgstr "Ακατάλληλη εντολή"
+
+-#: config/m68k/m68k.opt:136
+-msgid "Enable ID based shared library"
++#: config/frv/frv.opt:169
++msgid "Enable setting GPRs to the result of comparisons"
+ msgstr ""
+
+-#: config/m68k/m68k.opt:140
+-msgid "Do not use the bit-field instructions"
++#: config/frv/frv.opt:173
++msgid "Change the amount of scheduler lookahead"
+ msgstr ""
+
+-#: config/m68k/m68k.opt:144
+-msgid "Use normal calling convention"
++#: config/frv/frv.opt:181
++msgid "Assume a large TLS segment"
+ msgstr ""
+
+-#: config/m68k/m68k.opt:148
+-msgid "Consider type 'int' to be 32 bits wide"
++#: config/frv/frv.opt:185
++msgid "Do not assume a large TLS segment"
+ msgstr ""
+
+-#: config/m68k/m68k.opt:152
+-msgid "Generate pc-relative code"
++#: config/frv/frv.opt:190
++msgid "Cause gas to print tomcat statistics"
+ msgstr ""
+
+-#: config/m68k/m68k.opt:156
+-msgid "Use different calling convention using 'rtd'"
++#: config/frv/frv.opt:195
++msgid "Link with the library-pic libraries"
+ msgstr ""
+
+-#: config/m68k/m68k.opt:160 config/bfin/bfin.opt:61
+-msgid "Enable separate data segment"
++#: config/frv/frv.opt:199
++msgid "Allow branches to be packed with other instructions"
+ msgstr ""
+
+-#: config/m68k/m68k.opt:164 config/bfin/bfin.opt:57
+-msgid "ID of shared library to build"
++#: config/i386/cygming.opt:23
++msgid "Create console application"
+ msgstr ""
+
+-#: config/m68k/m68k.opt:168
+-msgid "Consider type 'int' to be 16 bits wide"
++#: config/i386/cygming.opt:27
++msgid "Use the Cygwin interface"
+ msgstr ""
+
+-#: config/m68k/m68k.opt:172
+-msgid "Generate code with library calls for floating point"
++#: config/i386/cygming.opt:31
++msgid "Generate code for a DLL"
+ msgstr ""
+
+-#: config/m68k/m68k.opt:176
+-msgid "Do not use unaligned memory references"
++#: config/i386/cygming.opt:35
++msgid "Ignore dllimport for functions"
+ msgstr ""
+
+-#: config/m68k/m68k.opt:180
+-msgid "Tune for the specified target CPU or architecture"
++#: config/i386/cygming.opt:39
++msgid "Use Mingw-specific thread support"
+ msgstr ""
+
+-#: config/m68k/ieee.opt:24 config/i386/i386.opt:95
+-msgid "Use IEEE math for fp comparisons"
++#: config/i386/cygming.opt:43
++msgid "Set Windows defines"
+ msgstr ""
+
+-#: config/i386/djgpp.opt:25
+-msgid "Ignored (obsolete)"
++#: config/i386/cygming.opt:47
++msgid "Create GUI application"
+ msgstr ""
+
+ #: config/i386/i386.opt:23
+@@ -12648,6 +12348,10 @@
+ msgid "Align destination of the string operations"
+ msgstr ""
+
++#: config/i386/i386.opt:59 config/spu/spu.opt:60 config/s390/s390.opt:31
++msgid "Generate code for given CPU"
++msgstr ""
++
+ #: config/i386/i386.opt:63
+ msgid "Use given assembler dialect"
+ msgstr ""
+@@ -12676,6 +12380,10 @@
+ msgid "Generate floating point mathematics using given instruction set"
+ msgstr ""
+
++#: config/i386/i386.opt:95 config/m68k/ieee.opt:24
++msgid "Use IEEE math for fp comparisons"
++msgstr ""
++
+ #: config/i386/i386.opt:99
+ msgid "Inline all known string operations"
+ msgstr ""
+@@ -12831,58 +12539,403 @@
+ msgid "Enable automatic generation of fused floating point multiply-add instructions"
+ msgstr "Ακατάλληλη εντολή"
+
+-#: config/i386/cygming.opt:23
+-msgid "Create console application"
++#: config/i386/sco5.opt:24
++msgid "Generate ELF output"
+ msgstr ""
+
+-#: config/i386/cygming.opt:27
+-msgid "Use the Cygwin interface"
++#: config/i386/djgpp.opt:25
++msgid "Ignored (obsolete)"
+ msgstr ""
+
+-#: config/i386/cygming.opt:31
+-msgid "Generate code for a DLL"
++#: config/iq2000/iq2000.opt:23 config/mt/mt.opt:55
++msgid "Specify CPU for code generation purposes"
+ msgstr ""
+
+-#: config/i386/cygming.opt:35
+-msgid "Ignore dllimport for functions"
++#: config/iq2000/iq2000.opt:27
++msgid "Specify CPU for scheduling purposes"
+ msgstr ""
+
+-#: config/i386/cygming.opt:39
+-msgid "Use Mingw-specific thread support"
++#: config/iq2000/iq2000.opt:31 config/mips/mips.opt:97
++msgid "Use ROM instead of RAM"
+ msgstr ""
+
+-#: config/i386/cygming.opt:43
+-msgid "Set Windows defines"
++#: config/iq2000/iq2000.opt:35
++msgid "Use GP relative sdata/sbss sections"
+ msgstr ""
+
+-#: config/i386/cygming.opt:47
+-msgid "Create GUI application"
++#: config/iq2000/iq2000.opt:40
++msgid "No default crt0.o"
+ msgstr ""
+
+-#: config/i386/sco5.opt:24
+-msgid "Generate ELF output"
++#: config/iq2000/iq2000.opt:44 config/mips/mips.opt:265
++msgid "Put uninitialized constants in ROM (needs -membedded-data)"
+ msgstr ""
+
+-#: config/rs6000/aix41.opt:24 config/rs6000/aix64.opt:32
+-msgid "Support message passing with the Parallel Environment"
++#: config/arm/arm.opt:23
++msgid "Specify an ABI"
+ msgstr ""
+
+-#: config/rs6000/aix.opt:24 config/rs6000/rs6000.opt:147
+-msgid "Conform more closely to IBM XLC semantics"
++#: config/arm/arm.opt:27
++msgid "Generate a call to abort if a noreturn function returns"
+ msgstr ""
+
+-#: config/rs6000/darwin.opt:24 config/rs6000/sysv4.opt:132
++#: config/arm/arm.opt:34
++msgid "Pass FP arguments in FP registers"
++msgstr ""
++
++#: config/arm/arm.opt:38
++msgid "Generate APCS conformant stack frames"
++msgstr ""
++
++#: config/arm/arm.opt:42
++msgid "Generate re-entrant, PIC code"
++msgstr ""
++
++#: config/arm/arm.opt:49 config/m68k/m68k.opt:96 config/score/score.opt:63
++msgid "Specify the name of the target architecture"
++msgstr ""
++
++#: config/arm/arm.opt:56
++msgid "Assume target CPU is configured as big endian"
++msgstr ""
++
++#: config/arm/arm.opt:60
++msgid "Thumb: Assume non-static functions may be called from ARM code"
++msgstr ""
++
++#: config/arm/arm.opt:64
++msgid "Thumb: Assume function pointers may go to non-Thumb aware code"
++msgstr ""
++
++#: config/arm/arm.opt:68
++msgid "Cirrus: Place NOPs to avoid invalid instruction combinations"
++msgstr ""
++
++#: config/arm/arm.opt:72 config/bfin/bfin.opt:27
++msgid "Specify the name of the target CPU"
++msgstr ""
++
++#: config/arm/arm.opt:76
++msgid "Specify if floating point hardware should be used"
++msgstr ""
++
++#: config/arm/arm.opt:90
++msgid "Specify the name of the target floating point hardware/format"
++msgstr ""
++
++#: config/arm/arm.opt:94
++msgid "Alias for -mfloat-abi=hard"
++msgstr ""
++
++#: config/arm/arm.opt:98
++msgid "Assume target CPU is configured as little endian"
++msgstr ""
++
++#: config/arm/arm.opt:102
++msgid "Generate call insns as indirect calls, if necessary"
++msgstr ""
++
++#: config/arm/arm.opt:106
++msgid "Specify the register to be used for PIC addressing"
++msgstr ""
++
++#: config/arm/arm.opt:110
++msgid "Store function names in object code"
++msgstr ""
++
++#: config/arm/arm.opt:114
++msgid "Permit scheduling of a function's prologue sequence"
++msgstr ""
++
++#: config/arm/arm.opt:118
++msgid "Do not load the PIC register in function prologues"
++msgstr ""
++
++#: config/arm/arm.opt:122
++msgid "Alias for -mfloat-abi=soft"
++msgstr ""
++
++#: config/arm/arm.opt:126
++msgid "Specify the minimum bit alignment of structures"
++msgstr ""
++
++#: config/arm/arm.opt:130
++msgid "Compile for the Thumb not the ARM"
++msgstr ""
++
++#: config/arm/arm.opt:134
++msgid "Support calls between Thumb and ARM instruction sets"
++msgstr ""
++
++#: config/arm/arm.opt:138
++msgid "Specify how to access the thread pointer"
++msgstr ""
++
++#: config/arm/arm.opt:142
++msgid "Thumb: Generate (non-leaf) stack frames even if not needed"
++msgstr ""
++
++#: config/arm/arm.opt:146
++msgid "Thumb: Generate (leaf) stack frames even if not needed"
++msgstr ""
++
++#: config/arm/arm.opt:150
++msgid "Tune code for the given processor"
++msgstr ""
++
++#: config/arm/arm.opt:154
++msgid "Assume big endian bytes, little endian words"
++msgstr ""
++
++#: config/arm/arm.opt:158
++msgid "Use Neon quad-word (rather than double-word) registers for vectorization"
++msgstr ""
++
++#: config/arm/pe.opt:23
++msgid "Ignore dllimport attribute for functions"
++msgstr ""
++
++#: config/cris/linux.opt:27
++msgid "Together with -fpic and -fPIC, do not use GOTPLT references"
++msgstr ""
++
++#: config/cris/aout.opt:27
++msgid "Compile for the MMU-less Etrax 100-based elinux system"
++msgstr ""
++
++#: config/cris/aout.opt:33
++msgid "For elinux, request a specified stack-size for this program"
++msgstr ""
++
++#: config/cris/cris.opt:45
++msgid "Work around bug in multiplication instruction"
++msgstr ""
++
++#: config/cris/cris.opt:51
++msgid "Compile for ETRAX 4 (CRIS v3)"
++msgstr ""
++
++#: config/cris/cris.opt:56
++msgid "Compile for ETRAX 100 (CRIS v8)"
++msgstr ""
++
++#: config/cris/cris.opt:64
++msgid "Emit verbose debug information in assembly code"
++msgstr ""
++
++#: config/cris/cris.opt:71
++msgid "Do not use condition codes from normal instructions"
++msgstr ""
++
++#: config/cris/cris.opt:80
++msgid "Do not emit addressing modes with side-effect assignment"
++msgstr ""
++
++#: config/cris/cris.opt:89
++msgid "Do not tune stack alignment"
++msgstr ""
++
++#: config/cris/cris.opt:98
++msgid "Do not tune writable data alignment"
++msgstr ""
++
++#: config/cris/cris.opt:107
++msgid "Do not tune code and read-only data alignment"
++msgstr ""
++
++#: config/cris/cris.opt:116
++msgid "Align code and data to 32 bits"
++msgstr ""
++
++#: config/cris/cris.opt:133
++msgid "Don't align items in code or data"
++msgstr ""
++
++#: config/cris/cris.opt:142
++msgid "Do not emit function prologue or epilogue"
++msgstr ""
++
++#: config/cris/cris.opt:149
++msgid "Use the most feature-enabling options allowed by other options"
++msgstr ""
++
++#: config/cris/cris.opt:158
++msgid "Override -mbest-lib-options"
++msgstr ""
++
++#: config/cris/cris.opt:165
++msgid "Generate code for the specified chip or CPU version"
++msgstr ""
++
++#: config/cris/cris.opt:169
++msgid "Tune alignment for the specified chip or CPU version"
++msgstr ""
++
++#: config/cris/cris.opt:173
++msgid "Warn when a stackframe is larger than the specified size"
++msgstr ""
++
++#: config/avr/avr.opt:23
++msgid "Use subroutines for function prologues and epilogues"
++msgstr ""
++
++#: config/avr/avr.opt:27
++msgid "Select the target MCU"
++msgstr ""
++
++#: config/avr/avr.opt:34
++msgid "Use an 8-bit 'int' type"
++msgstr ""
++
++#: config/avr/avr.opt:38
++msgid "Change the stack pointer without disabling interrupts"
++msgstr ""
++
++#: config/avr/avr.opt:42
++msgid "Do not generate tablejump insns"
++msgstr ""
++
++#: config/avr/avr.opt:52
++msgid "Use rjmp/rcall (limited range) on >8K devices"
++msgstr ""
++
++#: config/avr/avr.opt:56
++msgid "Output instruction sizes to the asm file"
++msgstr ""
++
++#: config/avr/avr.opt:60
++msgid "Change only the low 8 bits of the stack pointer"
++msgstr ""
++
++#: config/avr/avr.opt:64
++#, fuzzy
++msgid "Relax branches"
++msgstr ""
++"Δεν υπάÏχει αÏχείο `%s'.\n"
++"\n"
++
++#: config/avr/avr.opt:68
++msgid "Make the linker relaxation machine assume that a program counter wrap-around occures."
++msgstr ""
++
++#: config/linux.opt:24
++msgid "Use uClibc instead of GNU libc"
++msgstr ""
++
++#: config/linux.opt:28
++msgid "Use GNU libc instead of uClibc"
++msgstr ""
++
++#: config/rs6000/sysv4.opt:24
++msgid "Select ABI calling convention"
++msgstr ""
++
++#: config/rs6000/sysv4.opt:28
++msgid "Select method for sdata handling"
++msgstr ""
++
++#: config/rs6000/sysv4.opt:36 config/rs6000/sysv4.opt:40
++msgid "Align to the base type of the bit-field"
++msgstr ""
++
++#: config/rs6000/sysv4.opt:45 config/rs6000/sysv4.opt:49
++msgid "Produce code relocatable at runtime"
++msgstr ""
++
++#: config/rs6000/sysv4.opt:53 config/rs6000/sysv4.opt:57
++msgid "Produce little endian code"
++msgstr ""
++
++#: config/rs6000/sysv4.opt:61 config/rs6000/sysv4.opt:65
++msgid "Produce big endian code"
++msgstr ""
++
++#: config/rs6000/sysv4.opt:70 config/rs6000/sysv4.opt:74
++#: config/rs6000/sysv4.opt:83 config/rs6000/sysv4.opt:100
++#: config/rs6000/sysv4.opt:128 config/rs6000/sysv4.opt:140
++#, fuzzy
++msgid "no description yet"
++msgstr "(χωÏίς πεÏιγÏαφή)"
++
++#: config/rs6000/sysv4.opt:78
++msgid "Assume all variable arg functions are prototyped"
++msgstr ""
++
++#: config/rs6000/sysv4.opt:87
++msgid "Use EABI"
++msgstr ""
++
++#: config/rs6000/sysv4.opt:91
++msgid "Allow bit-fields to cross word boundaries"
++msgstr ""
++
++#: config/rs6000/sysv4.opt:95
++#, fuzzy
++msgid "Use alternate register names"
++msgstr "μη τεÏματιζόμενο όνομα βάÏους"
++
++#: config/rs6000/sysv4.opt:104
++msgid "Link with libsim.a, libc.a and sim-crt0.o"
++msgstr ""
++
++#: config/rs6000/sysv4.opt:108
++msgid "Link with libads.a, libc.a and crt0.o"
++msgstr ""
++
++#: config/rs6000/sysv4.opt:112
++msgid "Link with libyk.a, libc.a and crt0.o"
++msgstr ""
++
++#: config/rs6000/sysv4.opt:116
++msgid "Link with libmvme.a, libc.a and crt0.o"
++msgstr ""
++
++#: config/rs6000/sysv4.opt:120
++msgid "Set the PPC_EMB bit in the ELF flags header"
++msgstr ""
++
++#: config/rs6000/sysv4.opt:124
++msgid "Use the WindISS simulator"
++msgstr ""
++
++#: config/rs6000/sysv4.opt:132 config/rs6000/darwin.opt:24
+ msgid "Generate 64-bit code"
+ msgstr ""
+
+-#: config/rs6000/darwin.opt:28 config/rs6000/sysv4.opt:136
++#: config/rs6000/sysv4.opt:136 config/rs6000/darwin.opt:28
+ msgid "Generate 32-bit code"
+ msgstr ""
+
++#: config/rs6000/sysv4.opt:144
++#, fuzzy
++msgid "Generate code to use a non-exec PLT and GOT"
++msgstr "ΧÏήση ξεχωÏιστής λανθάνουσας μνήμης για κάθε χÏήστη"
++
++#: config/rs6000/sysv4.opt:148
++#, fuzzy
++msgid "Generate code for old exec BSS PLT"
++msgstr "ΧÏήση ξεχωÏιστής λανθάνουσας μνήμης για κάθε χÏήστη"
++
++#: config/rs6000/linux64.opt:24
++msgid "Call mcount for profiling before a function prologue"
++msgstr ""
++
+ #: config/rs6000/darwin.opt:32
+ msgid "Generate code suitable for executables (NOT shared libs)"
+ msgstr ""
+
++#: config/rs6000/aix64.opt:24
++msgid "Compile for 64-bit pointers"
++msgstr ""
++
++#: config/rs6000/aix64.opt:28
++msgid "Compile for 32-bit pointers"
++msgstr ""
++
++#: config/rs6000/aix64.opt:32 config/rs6000/aix41.opt:24
++msgid "Support message passing with the Parallel Environment"
++msgstr ""
++
+ #: config/rs6000/rs6000.opt:24
+ msgid "Use POWER instruction set"
+ msgstr ""
+@@ -13007,6 +13060,10 @@
+ msgid "Return small structures in registers (SVR4 default)"
+ msgstr ""
+
++#: config/rs6000/rs6000.opt:147 config/rs6000/aix.opt:24
++msgid "Conform more closely to IBM XLC semantics"
++msgstr ""
++
+ #: config/rs6000/rs6000.opt:151
+ msgid "Generate software reciprocal sqrt for better throughput"
+ msgstr ""
+@@ -13074,6 +13131,10 @@
+ msgid "Specify ABI to use"
+ msgstr ""
+
++#: config/rs6000/rs6000.opt:222 config/sparc/sparc.opt:91
++msgid "Use features of and schedule code for given CPU"
++msgstr ""
++
+ #: config/rs6000/rs6000.opt:230
+ msgid "Select full, part, or no traceback table"
+ msgstr ""
+@@ -13112,100 +13173,77 @@
+ msgid "Specify scheduling priority for dispatch slot restricted insns"
+ msgstr ""
+
+-#: config/rs6000/aix64.opt:24
+-msgid "Compile for 64-bit pointers"
+-msgstr ""
++#: config/v850/v850.opt:23
++#, fuzzy
++msgid "Use registers r2 and r5"
++msgstr "Δεν είναι δυνατή η καταχώÏηση της υπηÏεσίας"
+
+-#: config/rs6000/aix64.opt:28
+-msgid "Compile for 32-bit pointers"
++#: config/v850/v850.opt:27
++msgid "Use 4 byte entries in switch tables"
+ msgstr ""
+
+-#: config/rs6000/linux64.opt:24
+-msgid "Call mcount for profiling before a function prologue"
++#: config/v850/v850.opt:31
++msgid "Enable backend debugging"
+ msgstr ""
+
+-#: config/rs6000/sysv4.opt:24
+-msgid "Select ABI calling convention"
+-msgstr ""
++#: config/v850/v850.opt:35
++#, fuzzy
++msgid "Do not use the callt instruction"
++msgstr "Ακατάλληλη εντολή"
+
+-#: config/rs6000/sysv4.opt:28
+-msgid "Select method for sdata handling"
++#: config/v850/v850.opt:39
++msgid "Reuse r30 on a per function basis"
+ msgstr ""
+
+-#: config/rs6000/sysv4.opt:36 config/rs6000/sysv4.opt:40
+-msgid "Align to the base type of the bit-field"
++#: config/v850/v850.opt:43
++msgid "Support Green Hills ABI"
+ msgstr ""
+
+-#: config/rs6000/sysv4.opt:45 config/rs6000/sysv4.opt:49
+-msgid "Produce code relocatable at runtime"
++#: config/v850/v850.opt:47
++msgid "Prohibit PC relative function calls"
+ msgstr ""
+
+-#: config/rs6000/sysv4.opt:53 config/rs6000/sysv4.opt:57
+-msgid "Produce little endian code"
++#: config/v850/v850.opt:51
++msgid "Use stubs for function prologues"
+ msgstr ""
+
+-#: config/rs6000/sysv4.opt:61 config/rs6000/sysv4.opt:65
+-msgid "Produce big endian code"
++#: config/v850/v850.opt:55
++msgid "Set the max size of data eligible for the SDA area"
+ msgstr ""
+
+-#: config/rs6000/sysv4.opt:70 config/rs6000/sysv4.opt:74
+-#: config/rs6000/sysv4.opt:83 config/rs6000/sysv4.opt:100
+-#: config/rs6000/sysv4.opt:128 config/rs6000/sysv4.opt:140
++#: config/v850/v850.opt:59
+ #, fuzzy
+-msgid "no description yet"
+-msgstr "(χωÏίς πεÏιγÏαφή)"
++msgid "Enable the use of the short load instructions"
++msgstr "Ακατάλληλη εντολή"
+
+-#: config/rs6000/sysv4.opt:78
+-msgid "Assume all variable arg functions are prototyped"
++#: config/v850/v850.opt:63
++msgid "Same as: -mep -mprolog-function"
+ msgstr ""
+
+-#: config/rs6000/sysv4.opt:87
+-msgid "Use EABI"
++#: config/v850/v850.opt:67
++msgid "Set the max size of data eligible for the TDA area"
+ msgstr ""
+
+-#: config/rs6000/sysv4.opt:91
+-msgid "Allow bit-fields to cross word boundaries"
++#: config/v850/v850.opt:71
++msgid "Enforce strict alignment"
+ msgstr ""
+
+-#: config/rs6000/sysv4.opt:95
+-#, fuzzy
+-msgid "Use alternate register names"
+-msgstr "μη τεÏματιζόμενο όνομα βάÏους"
+-
+-#: config/rs6000/sysv4.opt:104
+-msgid "Link with libsim.a, libc.a and sim-crt0.o"
++#: config/v850/v850.opt:78
++msgid "Compile for the v850 processor"
+ msgstr ""
+
+-#: config/rs6000/sysv4.opt:108
+-msgid "Link with libads.a, libc.a and crt0.o"
++#: config/v850/v850.opt:82
++msgid "Compile for the v850e processor"
+ msgstr ""
+
+-#: config/rs6000/sysv4.opt:112
+-msgid "Link with libyk.a, libc.a and crt0.o"
++#: config/v850/v850.opt:86
++msgid "Compile for the v850e1 processor"
+ msgstr ""
+
+-#: config/rs6000/sysv4.opt:116
+-msgid "Link with libmvme.a, libc.a and crt0.o"
++#: config/v850/v850.opt:90
++msgid "Set the max size of data eligible for the ZDA area"
+ msgstr ""
+
+-#: config/rs6000/sysv4.opt:120
+-msgid "Set the PPC_EMB bit in the ELF flags header"
+-msgstr ""
+-
+-#: config/rs6000/sysv4.opt:124
+-msgid "Use the WindISS simulator"
+-msgstr ""
+-
+-#: config/rs6000/sysv4.opt:144
+-#, fuzzy
+-msgid "Generate code to use a non-exec PLT and GOT"
+-msgstr "ΧÏήση ξεχωÏιστής λανθάνουσας μνήμης για κάθε χÏήστη"
+-
+-#: config/rs6000/sysv4.opt:148
+-#, fuzzy
+-msgid "Generate code for old exec BSS PLT"
+-msgstr "ΧÏήση ξεχωÏιστής λανθάνουσας μνήμης για κάθε χÏήστη"
+-
+ #: config/spu/spu.opt:20
+ msgid "Emit warnings when run-time relocations are generated"
+ msgstr ""
+@@ -13245,594 +13283,640 @@
+ msgid "Generate code for 32 bit addressing"
+ msgstr "ΧÏήση ξεχωÏιστής λανθάνουσας μνήμης για κάθε χÏήστη"
+
+-#: config/mcore/mcore.opt:23
+-#, fuzzy
+-msgid "Generate code for the M*Core M210"
+-msgstr "ΧÏήση ξεχωÏιστής λανθάνουσας μνήμης για κάθε χÏήστη"
+-
+-#: config/mcore/mcore.opt:27
+-msgid "Generate code for the M*Core M340"
++#: config/vax/vax.opt:23 config/vax/vax.opt:27
++msgid "Target DFLOAT double precision code"
+ msgstr ""
+
+-#: config/mcore/mcore.opt:31
+-msgid "Set maximum alignment to 4"
++#: config/vax/vax.opt:31 config/vax/vax.opt:35
++msgid "Generate GFLOAT double precision code"
+ msgstr ""
+
+-#: config/mcore/mcore.opt:35
+-msgid "Force functions to be aligned to a 4 byte boundary"
+-msgstr ""
++#: config/vax/vax.opt:39
++#, fuzzy
++msgid "Generate code for GNU assembler (gas)"
++msgstr "ΧÏήση ξεχωÏιστής λανθάνουσας μνήμης για κάθε χÏήστη"
+
+-#: config/mcore/mcore.opt:39
+-msgid "Set maximum alignment to 8"
+-msgstr ""
+-
+-#: config/mcore/mcore.opt:43 config/score/score.opt:23
+-msgid "Generate big-endian code"
+-msgstr ""
+-
+-#: config/mcore/mcore.opt:47
++#: config/vax/vax.opt:43
+ #, fuzzy
+-msgid "Emit call graph information"
+-msgstr "εμφάνιση πληÏοφοÏιών Ï€Ïοόδου"
++msgid "Generate code for UNIX assembler"
++msgstr "ΧÏήση ξεχωÏιστής λανθάνουσας μνήμης για κάθε χÏήστη"
+
+-#: config/mcore/mcore.opt:51
++#: config/vax/vax.opt:47
+ #, fuzzy
+-msgid "Use the divide instruction"
+-msgstr "Ακατάλληλη εντολή"
++msgid "Use VAXC structure conventions"
++msgstr "μη τεÏματιζμένο αλφαÏιθμητικό σταθεÏάς"
+
+-#: config/mcore/mcore.opt:55
+-msgid "Inline constants if it can be done in 2 insns or less"
++#: config/lynx.opt:23
++msgid "Support legacy multi-threading"
+ msgstr ""
+
+-#: config/mcore/mcore.opt:59 config/score/score.opt:27
+-msgid "Generate little-endian code"
++#: config/lynx.opt:27
++msgid "Use shared libraries"
+ msgstr ""
+
+-#: config/mcore/mcore.opt:67
+-msgid "Use arbitrary sized immediates in bit operations"
++#: config/lynx.opt:31
++msgid "Support multi-threading"
+ msgstr ""
+
+-#: config/mcore/mcore.opt:71
+-msgid "Prefer word accesses over byte accesses"
++#: config/stormy16/stormy16.opt:24
++msgid "Provide libraries for the simulator"
+ msgstr ""
+
+-#: config/mcore/mcore.opt:75
+-msgid "Set the maximum amount for a single stack increment operation"
++#: config/h8300/h8300.opt:23
++msgid "Generate H8S code"
+ msgstr ""
+
+-#: config/mcore/mcore.opt:79
+-msgid "Always treat bitfields as int-sized"
++#: config/h8300/h8300.opt:27
++msgid "Generate H8SX code"
+ msgstr ""
+
+-#: config/arc/arc.opt:32
+-msgid "Prepend the name of the cpu to all public symbol names"
++#: config/h8300/h8300.opt:31
++msgid "Generate H8S/2600 code"
+ msgstr ""
+
+-#: config/arc/arc.opt:42
+-msgid "Compile code for ARC variant CPU"
++#: config/h8300/h8300.opt:35
++msgid "Make integers 32 bits wide"
+ msgstr ""
+
+-#: config/arc/arc.opt:46
+-msgid "Put functions in SECTION"
++#: config/h8300/h8300.opt:42
++#, fuzzy
++msgid "Use registers for argument passing"
++msgstr "έχουν παÏαληφθεί οÏίσματα"
++
++#: config/h8300/h8300.opt:46
++msgid "Consider access to byte sized memory slow"
+ msgstr ""
+
+-#: config/arc/arc.opt:50
+-msgid "Put data in SECTION"
++#: config/h8300/h8300.opt:50
++msgid "Enable linker relaxing"
+ msgstr ""
+
+-#: config/arc/arc.opt:54
+-msgid "Put read-only data in SECTION"
++#: config/h8300/h8300.opt:54
++msgid "Generate H8/300H code"
+ msgstr ""
+
+-#: config/sh/sh.opt:44
++#: config/h8300/h8300.opt:58
+ #, fuzzy
+-msgid "Generate SH1 code"
+-msgstr "ΧÏήση ξεχωÏιστής λανθάνουσας μνήμης για κάθε χÏήστη"
++msgid "Enable the normal mode"
++msgstr "μηδενισμένη εγγÏαφή και γÏάψιμο πάνω σε αυτή (truncated)"
+
+-#: config/sh/sh.opt:48
++#: config/h8300/h8300.opt:62
++msgid "Use H8/300 alignment rules"
++msgstr ""
++
++#: config/s390/s390.opt:23
+ #, fuzzy
+-msgid "Generate SH2 code"
+-msgstr "ΧÏήση ξεχωÏιστής λανθάνουσας μνήμης για κάθε χÏήστη"
++msgid "31 bit ABI"
++msgstr "ΧÏήση ABI 64-bit"
+
+-#: config/sh/sh.opt:52
++#: config/s390/s390.opt:27
+ #, fuzzy
+-msgid "Generate SH2a code"
+-msgstr "ΧÏήση ξεχωÏιστής λανθάνουσας μνήμης για κάθε χÏήστη"
++msgid "64 bit ABI"
++msgstr "ΧÏήση ABI 64-bit"
+
+-#: config/sh/sh.opt:56
+-msgid "Generate SH2a FPU-less code"
++#: config/s390/s390.opt:35
++msgid "Maintain backchain pointer"
+ msgstr ""
+
+-#: config/sh/sh.opt:60
+-msgid "Generate default single-precision SH2a code"
++#: config/s390/s390.opt:39
++msgid "Additional debug prints"
+ msgstr ""
+
+-#: config/sh/sh.opt:64
+-msgid "Generate only single-precision SH2a code"
++#: config/s390/s390.opt:43
++msgid "ESA/390 architecture"
+ msgstr ""
+
+-#: config/sh/sh.opt:68
++#: config/s390/s390.opt:47
+ #, fuzzy
+-msgid "Generate SH2e code"
+-msgstr "ΧÏήση ξεχωÏιστής λανθάνουσας μνήμης για κάθε χÏήστη"
++msgid "Enable fused multiply/add instructions"
++msgstr "Ακατάλληλη εντολή"
+
+-#: config/sh/sh.opt:72
+-#, fuzzy
+-msgid "Generate SH3 code"
+-msgstr "ΧÏήση ξεχωÏιστής λανθάνουσας μνήμης για κάθε χÏήστη"
++#: config/s390/s390.opt:51
++msgid "Enable decimal floating point hardware support"
++msgstr ""
+
+-#: config/sh/sh.opt:76
+-#, fuzzy
+-msgid "Generate SH3e code"
+-msgstr "ΧÏήση ξεχωÏιστής λανθάνουσας μνήμης για κάθε χÏήστη"
++#: config/s390/s390.opt:55
++msgid "Enable hardware floating point"
++msgstr ""
+
+-#: config/sh/sh.opt:80
++#: config/s390/s390.opt:67
++msgid "Use packed stack layout"
++msgstr ""
++
++#: config/s390/s390.opt:71
++msgid "Use bras for executable < 64k"
++msgstr ""
++
++#: config/s390/s390.opt:75
+ #, fuzzy
+-msgid "Generate SH4 code"
+-msgstr "ΧÏήση ξεχωÏιστής λανθάνουσας μνήμης για κάθε χÏήστη"
++msgid "Disable hardware floating point"
++msgstr "Ακατάλληλη εντολή"
+
+-#: config/sh/sh.opt:84
+-msgid "Generate SH4-100 code"
++#: config/s390/s390.opt:79
++msgid "Set the max. number of bytes which has to be left to stack size before a trap instruction is triggered"
+ msgstr ""
+
+-#: config/sh/sh.opt:88
+-msgid "Generate SH4-200 code"
++#: config/s390/s390.opt:83
++msgid "Emit extra code in the function prologue in order to trap if the stack size exceeds the given limit"
+ msgstr ""
+
+-#: config/sh/sh.opt:94
+-msgid "Generate SH4-300 code"
++#: config/s390/s390.opt:91
++#, fuzzy
++msgid "mvcle use"
++msgstr "Η συσκευή είναι απασχολημένη"
++
++#: config/s390/s390.opt:95
++msgid "Warn if a function uses alloca or creates an array with dynamic size"
+ msgstr ""
+
+-#: config/sh/sh.opt:98
+-msgid "Generate SH4 FPU-less code"
++#: config/s390/s390.opt:99
++msgid "Warn if a single function's framesize exceeds the given framesize"
+ msgstr ""
+
+-#: config/sh/sh.opt:102
+-msgid "Generate SH4-100 FPU-less code"
++#: config/s390/s390.opt:103
++msgid "z/Architecture"
+ msgstr ""
+
+-#: config/sh/sh.opt:106
+-msgid "Generate SH4-200 FPU-less code"
++#: config/s390/tpf.opt:23
++msgid "Enable TPF-OS tracing code"
+ msgstr ""
+
+-#: config/sh/sh.opt:110
+-msgid "Generate SH4-300 FPU-less code"
++#: config/s390/tpf.opt:27
++msgid "Specify main object for TPF-OS"
+ msgstr ""
+
+-#: config/sh/sh.opt:114
+-msgid "Generate code for SH4 340 series (MMU/FPU-less)"
++#: config/darwin.opt:23
++msgid "Generate code suitable for fast turn around debugging"
+ msgstr ""
+
+-#: config/sh/sh.opt:119
+-msgid "Generate code for SH4 400 series (MMU/FPU-less)"
++#: config/darwin.opt:31
++msgid "The earliest MacOS X version on which this program will run"
+ msgstr ""
+
+-#: config/sh/sh.opt:124
+-#, fuzzy
+-msgid "Generate code for SH4 500 series (FPU-less)."
+-msgstr "ΧÏήση ξεχωÏιστής λανθάνουσας μνήμης για κάθε χÏήστη"
++#: config/darwin.opt:35
++msgid "Set sizeof(bool) to 1"
++msgstr ""
+
+-#: config/sh/sh.opt:129
+-msgid "Generate default single-precision SH4 code"
++#: config/darwin.opt:39
++msgid "Generate code for darwin loadable kernel extensions"
+ msgstr ""
+
+-#: config/sh/sh.opt:133
+-msgid "Generate default single-precision SH4-100 code"
++#: config/darwin.opt:43
++msgid "Generate code for the kernel or loadable kernel extensions"
+ msgstr ""
+
+-#: config/sh/sh.opt:137
+-msgid "Generate default single-precision SH4-200 code"
++#: config/darwin.opt:47
++msgid "Add <dir> to the end of the system framework include path"
+ msgstr ""
+
+-#: config/sh/sh.opt:141
+-msgid "Generate default single-precision SH4-300 code"
++#: config/mn10300/mn10300.opt:23
++msgid "Target the AM33 processor"
+ msgstr ""
+
+-#: config/sh/sh.opt:145
+-msgid "Generate only single-precision SH4 code"
++#: config/mn10300/mn10300.opt:27
++msgid "Target the AM33/2.0 processor"
+ msgstr ""
+
+-#: config/sh/sh.opt:149
+-msgid "Generate only single-precision SH4-100 code"
++#: config/mn10300/mn10300.opt:31
++msgid "Work around hardware multiply bug"
+ msgstr ""
+
+-#: config/sh/sh.opt:153
+-msgid "Generate only single-precision SH4-200 code"
++#: config/mn10300/mn10300.opt:36
++msgid "Enable linker relaxations"
+ msgstr ""
+
+-#: config/sh/sh.opt:157
+-msgid "Generate only single-precision SH4-300 code"
++#: config/mn10300/mn10300.opt:40
++msgid "Return pointers in both a0 and d0"
+ msgstr ""
+
+-#: config/sh/sh.opt:161
+-#, fuzzy
+-msgid "Generate SH4a code"
+-msgstr "ΧÏήση ξεχωÏιστής λανθάνουσας μνήμης για κάθε χÏήστη"
++#: config/m32r/m32r.opt:23
++msgid "Compile for the m32rx"
++msgstr ""
+
+-#: config/sh/sh.opt:165
+-msgid "Generate SH4a FPU-less code"
++#: config/m32r/m32r.opt:27
++msgid "Compile for the m32r2"
+ msgstr ""
+
+-#: config/sh/sh.opt:169
+-msgid "Generate default single-precision SH4a code"
++#: config/m32r/m32r.opt:31
++msgid "Compile for the m32r"
+ msgstr ""
+
+-#: config/sh/sh.opt:173
+-msgid "Generate only single-precision SH4a code"
++#: config/m32r/m32r.opt:35
++msgid "Align all loops to 32 byte boundary"
+ msgstr ""
+
+-#: config/sh/sh.opt:177
+-msgid "Generate SH4al-dsp code"
++#: config/m32r/m32r.opt:39
++msgid "Prefer branches over conditional execution"
+ msgstr ""
+
+-#: config/sh/sh.opt:181
+-msgid "Generate 32-bit SHmedia code"
++#: config/m32r/m32r.opt:43
++msgid "Give branches their default cost"
+ msgstr ""
+
+-#: config/sh/sh.opt:185
+-msgid "Generate 32-bit FPU-less SHmedia code"
++#: config/m32r/m32r.opt:47
++msgid "Display compile time statistics"
+ msgstr ""
+
+-#: config/sh/sh.opt:189
+-msgid "Generate 64-bit SHmedia code"
++#: config/m32r/m32r.opt:51
++msgid "Specify cache flush function"
+ msgstr ""
+
+-#: config/sh/sh.opt:193
+-msgid "Generate 64-bit FPU-less SHmedia code"
++#: config/m32r/m32r.opt:55
++msgid "Specify cache flush trap number"
+ msgstr ""
+
+-#: config/sh/sh.opt:197
+-msgid "Generate SHcompact code"
++#: config/m32r/m32r.opt:59
++msgid "Only issue one instruction per cycle"
+ msgstr ""
+
+-#: config/sh/sh.opt:201
+-msgid "Generate FPU-less SHcompact code"
++#: config/m32r/m32r.opt:63
++msgid "Allow two instructions to be issued per cycle"
+ msgstr ""
+
+-#: config/sh/sh.opt:205
+-msgid "Throttle unrolling to avoid thrashing target registers unless the unroll benefit outweighs this"
++#: config/m32r/m32r.opt:67
++msgid "Code size: small, medium or large"
+ msgstr ""
+
+-#: config/sh/sh.opt:209
+-#, fuzzy
+-msgid "Generate code in big endian mode"
+-msgstr "ΧÏήση ξεχωÏιστής λανθάνουσας μνήμης για κάθε χÏήστη"
+-
+-#: config/sh/sh.opt:213
+-#, fuzzy
+-msgid "Generate 32-bit offsets in switch tables"
+-msgstr "ΧÏήση ξεχωÏιστής λανθάνουσας μνήμης για κάθε χÏήστη"
+-
+-#: config/sh/sh.opt:217
+-msgid "Cost to assume for a branch insn"
++#: config/m32r/m32r.opt:71
++msgid "Don't call any cache flush functions"
+ msgstr ""
+
+-#: config/sh/sh.opt:221
+-msgid "Enable cbranchdi4 pattern"
++#: config/m32r/m32r.opt:75
++msgid "Don't call any cache flush trap"
+ msgstr ""
+
+-#: config/sh/sh.opt:225
+-msgid "Expand cbranchdi4 pattern early into separate comparisons and branches."
++#: config/m32r/m32r.opt:82
++msgid "Small data area: none, sdata, use"
+ msgstr ""
+
+-#: config/sh/sh.opt:229
+-msgid "Emit cmpeqdi_t pattern even when -mcbranchdi and -mexpand-cbranchdi are in effect."
++#: config/arc/arc.opt:32
++msgid "Prepend the name of the cpu to all public symbol names"
+ msgstr ""
+
+-#: config/sh/sh.opt:233
+-msgid "Enable SH5 cut2 workaround"
++#: config/arc/arc.opt:42
++msgid "Compile code for ARC variant CPU"
+ msgstr ""
+
+-#: config/sh/sh.opt:237
+-msgid "Align doubles at 64-bit boundaries"
++#: config/arc/arc.opt:46
++msgid "Put functions in SECTION"
+ msgstr ""
+
+-#: config/sh/sh.opt:241
+-msgid "Division strategy, one of: call, call2, fp, inv, inv:minlat, inv20u, inv20l, inv:call, inv:call2, inv:fp, call-div1, call-fp, call-table"
++#: config/arc/arc.opt:50
++msgid "Put data in SECTION"
+ msgstr ""
+
+-#: config/sh/sh.opt:245
+-msgid "Specify name for 32 bit signed division function"
++#: config/arc/arc.opt:54
++msgid "Put read-only data in SECTION"
+ msgstr ""
+
+-#: config/sh/sh.opt:252
+-#, fuzzy
+-msgid "Enable the use of the fused floating point multiply-accumulate operation"
+-msgstr "Ακατάλληλη εντολή"
+-
+-#: config/sh/sh.opt:256
+-msgid "Cost to assume for gettr insn"
++#: config/m32c/m32c.opt:24 config/mt/mt.opt:27 config/bfin/bfin.opt:23
++msgid "Use simulator runtime"
+ msgstr ""
+
+-#: config/sh/sh.opt:260 config/sh/sh.opt:310
+-msgid "Follow Renesas (formerly Hitachi) / SuperH calling conventions"
++#: config/m32c/m32c.opt:28
++msgid "Compile code for R8C variants"
+ msgstr ""
+
+-#: config/sh/sh.opt:264
+-msgid "Increase the IEEE compliance for floating-point code"
++#: config/m32c/m32c.opt:32
++msgid "Compile code for M16C variants"
+ msgstr ""
+
+-#: config/sh/sh.opt:268
+-msgid "Enable the use of the indexed addressing mode for SHmedia32/SHcompact"
++#: config/m32c/m32c.opt:36
++msgid "Compile code for M32CM variants"
+ msgstr ""
+
+-#: config/sh/sh.opt:272
+-msgid "inline code to invalidate instruction cache entries after setting up nested function trampolines"
++#: config/m32c/m32c.opt:40
++msgid "Compile code for M32C variants"
+ msgstr ""
+
+-#: config/sh/sh.opt:276
+-msgid "Assume symbols might be invalid"
++#: config/m32c/m32c.opt:44
++msgid "Number of memreg bytes (default: 16, range: 0..16)"
+ msgstr ""
+
+-#: config/sh/sh.opt:280
+-msgid "Annotate assembler instructions with estimated addresses"
++#: config/pdp11/pdp11.opt:23
++msgid "Generate code for an 11/10"
+ msgstr ""
+
+-#: config/sh/sh.opt:284
+-#, fuzzy
+-msgid "Generate code in little endian mode"
+-msgstr "ΧÏήση ξεχωÏιστής λανθάνουσας μνήμης για κάθε χÏήστη"
+-
+-#: config/sh/sh.opt:288
+-msgid "Mark MAC register as call-clobbered"
++#: config/pdp11/pdp11.opt:27
++msgid "Generate code for an 11/40"
+ msgstr ""
+
+-#: config/sh/sh.opt:294
+-msgid "Make structs a multiple of 4 bytes (warning: ABI altered)"
++#: config/pdp11/pdp11.opt:31
++msgid "Generate code for an 11/45"
+ msgstr ""
+
+-#: config/sh/sh.opt:298
+-msgid "Emit function-calls using global offset table when generating PIC"
++#: config/pdp11/pdp11.opt:35
++msgid "Use 16-bit abs patterns"
+ msgstr ""
+
+-#: config/sh/sh.opt:302
++#: config/pdp11/pdp11.opt:39
+ #, fuzzy
+-msgid "Assume pt* instructions won't trap"
++msgid "Return floating-point results in ac0 (fr0 in Unix assembler syntax)"
+ msgstr "ΕξαίÏεση κινητής υποδιαστολής"
+
+-#: config/sh/sh.opt:306
+-msgid "Shorten address references during linking"
++#: config/pdp11/pdp11.opt:43
++msgid "Do not use inline patterns for copying memory"
+ msgstr ""
+
+-#: config/sh/sh.opt:314
+-msgid "Deprecated. Use -Os instead"
++#: config/pdp11/pdp11.opt:47
++msgid "Use inline patterns for copying memory"
+ msgstr ""
+
+-#: config/sh/sh.opt:318
+-msgid "Cost to assume for a multiply insn"
++#: config/pdp11/pdp11.opt:51
++msgid "Do not pretend that branches are expensive"
+ msgstr ""
+
+-#: config/sh/sh.opt:322
+-msgid "Don't generate privileged-mode only code; implies -mno-inline-ic_invalidate if the inline code would not work in user mode."
++#: config/pdp11/pdp11.opt:55
++msgid "Pretend that branches are expensive"
+ msgstr ""
+
+-#: config/sh/sh.opt:328
+-msgid "Pretend a branch-around-a-move is a conditional move."
++#: config/pdp11/pdp11.opt:59
++msgid "Use the DEC assembler syntax"
+ msgstr ""
+
+-#: config/sh/superh.opt:6
+-msgid "Board name [and memory region]."
++#: config/pdp11/pdp11.opt:63
++msgid "Use 32 bit float"
+ msgstr ""
+
+-#: config/sh/superh.opt:10
+-msgid "Runtime name."
++#: config/pdp11/pdp11.opt:67
++msgid "Use 64 bit float"
+ msgstr ""
+
+-#: config/arm/arm.opt:23
+-msgid "Specify an ABI"
++#: config/pdp11/pdp11.opt:75
++msgid "Use 16 bit int"
+ msgstr ""
+
+-#: config/arm/arm.opt:27
+-msgid "Generate a call to abort if a noreturn function returns"
++#: config/pdp11/pdp11.opt:79
++msgid "Use 32 bit int"
+ msgstr ""
+
+-#: config/arm/arm.opt:34
+-msgid "Pass FP arguments in FP registers"
++#: config/pdp11/pdp11.opt:87
++msgid "Target has split I&D"
+ msgstr ""
+
+-#: config/arm/arm.opt:38
+-msgid "Generate APCS conformant stack frames"
++#: config/pdp11/pdp11.opt:91
++msgid "Use UNIX assembler syntax"
+ msgstr ""
+
+-#: config/arm/arm.opt:42
+-msgid "Generate re-entrant, PIC code"
++#: config/m68k/m68k.opt:23
++msgid "Generate code for a 520X"
+ msgstr ""
+
+-#: config/arm/arm.opt:56
+-msgid "Assume target CPU is configured as big endian"
++#: config/m68k/m68k.opt:27
++#, fuzzy
++msgid "Generate code for a 5206e"
++msgstr "ΧÏήση ξεχωÏιστής λανθάνουσας μνήμης για κάθε χÏήστη"
++
++#: config/m68k/m68k.opt:31
++#, fuzzy
++msgid "Generate code for a 528x"
++msgstr "ΧÏήση ξεχωÏιστής λανθάνουσας μνήμης για κάθε χÏήστη"
++
++#: config/m68k/m68k.opt:35
++#, fuzzy
++msgid "Generate code for a 5307"
++msgstr "ΧÏήση ξεχωÏιστής λανθάνουσας μνήμης για κάθε χÏήστη"
++
++#: config/m68k/m68k.opt:39
++#, fuzzy
++msgid "Generate code for a 5407"
++msgstr "ΧÏήση ξεχωÏιστής λανθάνουσας μνήμης για κάθε χÏήστη"
++
++#: config/m68k/m68k.opt:43 config/m68k/m68k.opt:104
++msgid "Generate code for a 68000"
+ msgstr ""
+
+-#: config/arm/arm.opt:60
+-msgid "Thumb: Assume non-static functions may be called from ARM code"
++#: config/m68k/m68k.opt:47
++#, fuzzy
++msgid "Generate code for a 68010"
++msgstr "ΧÏήση ξεχωÏιστής λανθάνουσας μνήμης για κάθε χÏήστη"
++
++#: config/m68k/m68k.opt:51 config/m68k/m68k.opt:108
++msgid "Generate code for a 68020"
+ msgstr ""
+
+-#: config/arm/arm.opt:64
+-msgid "Thumb: Assume function pointers may go to non-Thumb aware code"
++#: config/m68k/m68k.opt:55
++msgid "Generate code for a 68040, without any new instructions"
+ msgstr ""
+
+-#: config/arm/arm.opt:68
+-msgid "Cirrus: Place NOPs to avoid invalid instruction combinations"
++#: config/m68k/m68k.opt:59
++msgid "Generate code for a 68060, without any new instructions"
+ msgstr ""
+
+-#: config/arm/arm.opt:72 config/bfin/bfin.opt:27
+-msgid "Specify the name of the target CPU"
++#: config/m68k/m68k.opt:63
++msgid "Generate code for a 68030"
+ msgstr ""
+
+-#: config/arm/arm.opt:76
+-msgid "Specify if floating point hardware should be used"
++#: config/m68k/m68k.opt:67
++msgid "Generate code for a 68040"
+ msgstr ""
+
+-#: config/arm/arm.opt:90
+-msgid "Specify the name of the target floating point hardware/format"
++#: config/m68k/m68k.opt:71
++msgid "Generate code for a 68060"
+ msgstr ""
+
+-#: config/arm/arm.opt:94
+-msgid "Alias for -mfloat-abi=hard"
++#: config/m68k/m68k.opt:75
++msgid "Generate code for a 68302"
+ msgstr ""
+
+-#: config/arm/arm.opt:98
+-msgid "Assume target CPU is configured as little endian"
++#: config/m68k/m68k.opt:79
++msgid "Generate code for a 68332"
+ msgstr ""
+
+-#: config/arm/arm.opt:102
+-msgid "Generate call insns as indirect calls, if necessary"
++#: config/m68k/m68k.opt:84
++msgid "Generate code for a 68851"
+ msgstr ""
+
+-#: config/arm/arm.opt:106
+-msgid "Specify the register to be used for PIC addressing"
++#: config/m68k/m68k.opt:88
++#, fuzzy
++msgid "Generate code that uses 68881 floating-point instructions"
++msgstr "Ακατάλληλη εντολή"
++
++#: config/m68k/m68k.opt:92
++msgid "Align variables on a 32-bit boundary"
+ msgstr ""
+
+-#: config/arm/arm.opt:110
+-msgid "Store function names in object code"
++#: config/m68k/m68k.opt:100
++msgid "Use the bit-field instructions"
+ msgstr ""
+
+-#: config/arm/arm.opt:114
+-msgid "Permit scheduling of a function's prologue sequence"
++#: config/m68k/m68k.opt:112
++#, fuzzy
++msgid "Generate code for a ColdFire v4e"
++msgstr "ΧÏήση ξεχωÏιστής λανθάνουσας μνήμης για κάθε χÏήστη"
++
++#: config/m68k/m68k.opt:116
++#, fuzzy
++msgid "Specify the target CPU"
++msgstr "ΟÏισμός ονόματος Ï€ÏογÏάμματος"
++
++#: config/m68k/m68k.opt:120
++msgid "Generate code for a cpu32"
+ msgstr ""
+
+-#: config/arm/arm.opt:118
+-msgid "Do not load the PIC register in function prologues"
++#: config/m68k/m68k.opt:124
++msgid "Use hardware division instructions on ColdFire"
+ msgstr ""
+
+-#: config/arm/arm.opt:122
+-msgid "Alias for -mfloat-abi=soft"
++#: config/m68k/m68k.opt:128
++#, fuzzy
++msgid "Generate code for a Fido A"
++msgstr "ΧÏήση ξεχωÏιστής λανθάνουσας μνήμης για κάθε χÏήστη"
++
++#: config/m68k/m68k.opt:132
++#, fuzzy
++msgid "Generate code which uses hardware floating point instructions"
++msgstr "Ακατάλληλη εντολή"
++
++#: config/m68k/m68k.opt:136
++msgid "Enable ID based shared library"
+ msgstr ""
+
+-#: config/arm/arm.opt:126
+-msgid "Specify the minimum bit alignment of structures"
++#: config/m68k/m68k.opt:140
++msgid "Do not use the bit-field instructions"
+ msgstr ""
+
+-#: config/arm/arm.opt:130
+-msgid "Compile for the Thumb not the ARM"
++#: config/m68k/m68k.opt:144
++msgid "Use normal calling convention"
+ msgstr ""
+
+-#: config/arm/arm.opt:134
+-msgid "Support calls between Thumb and ARM instruction sets"
++#: config/m68k/m68k.opt:148
++msgid "Consider type 'int' to be 32 bits wide"
+ msgstr ""
+
+-#: config/arm/arm.opt:138
+-msgid "Specify how to access the thread pointer"
++#: config/m68k/m68k.opt:152
++msgid "Generate pc-relative code"
+ msgstr ""
+
+-#: config/arm/arm.opt:142
+-msgid "Thumb: Generate (non-leaf) stack frames even if not needed"
++#: config/m68k/m68k.opt:156
++msgid "Use different calling convention using 'rtd'"
+ msgstr ""
+
+-#: config/arm/arm.opt:146
+-msgid "Thumb: Generate (leaf) stack frames even if not needed"
++#: config/m68k/m68k.opt:160 config/bfin/bfin.opt:61
++msgid "Enable separate data segment"
+ msgstr ""
+
+-#: config/arm/arm.opt:150
+-msgid "Tune code for the given processor"
++#: config/m68k/m68k.opt:164 config/bfin/bfin.opt:57
++msgid "ID of shared library to build"
+ msgstr ""
+
+-#: config/arm/arm.opt:154
+-msgid "Assume big endian bytes, little endian words"
++#: config/m68k/m68k.opt:168
++msgid "Consider type 'int' to be 16 bits wide"
+ msgstr ""
+
+-#: config/arm/arm.opt:158
+-msgid "Use Neon quad-word (rather than double-word) registers for vectorization"
++#: config/m68k/m68k.opt:172
++msgid "Generate code with library calls for floating point"
+ msgstr ""
+
+-#: config/arm/pe.opt:23
+-msgid "Ignore dllimport attribute for functions"
++#: config/m68k/m68k.opt:176
++msgid "Do not use unaligned memory references"
+ msgstr ""
+
+-#: config/pdp11/pdp11.opt:23
+-msgid "Generate code for an 11/10"
++#: config/m68k/m68k.opt:180
++msgid "Tune for the specified target CPU or architecture"
+ msgstr ""
+
+-#: config/pdp11/pdp11.opt:27
+-msgid "Generate code for an 11/40"
++#: config/mmix/mmix.opt:24
++msgid "For intrinsics library: pass all parameters in registers"
+ msgstr ""
+
+-#: config/pdp11/pdp11.opt:31
+-msgid "Generate code for an 11/45"
++#: config/mmix/mmix.opt:28
++msgid "Use register stack for parameters and return value"
+ msgstr ""
+
+-#: config/pdp11/pdp11.opt:35
+-msgid "Use 16-bit abs patterns"
++#: config/mmix/mmix.opt:32
++msgid "Use call-clobbered registers for parameters and return value"
+ msgstr ""
+
+-#: config/pdp11/pdp11.opt:39
+-#, fuzzy
+-msgid "Return floating-point results in ac0 (fr0 in Unix assembler syntax)"
+-msgstr "ΕξαίÏεση κινητής υποδιαστολής"
+-
+-#: config/pdp11/pdp11.opt:43
+-msgid "Do not use inline patterns for copying memory"
++#: config/mmix/mmix.opt:37
++msgid "Use epsilon-respecting floating point compare instructions"
+ msgstr ""
+
+-#: config/pdp11/pdp11.opt:47
+-msgid "Use inline patterns for copying memory"
++#: config/mmix/mmix.opt:41
++msgid "Use zero-extending memory loads, not sign-extending ones"
+ msgstr ""
+
+-#: config/pdp11/pdp11.opt:51
+-msgid "Do not pretend that branches are expensive"
++#: config/mmix/mmix.opt:45
++msgid "Generate divide results with reminder having the same sign as the divisor (not the dividend)"
+ msgstr ""
+
+-#: config/pdp11/pdp11.opt:55
+-msgid "Pretend that branches are expensive"
++#: config/mmix/mmix.opt:49
++msgid "Prepend global symbols with \":\" (for use with PREFIX)"
+ msgstr ""
+
+-#: config/pdp11/pdp11.opt:59
+-msgid "Use the DEC assembler syntax"
++#: config/mmix/mmix.opt:53
++msgid "Do not provide a default start-address 0x100 of the program"
+ msgstr ""
+
+-#: config/pdp11/pdp11.opt:63
+-msgid "Use 32 bit float"
++#: config/mmix/mmix.opt:57
++msgid "Link to emit program in ELF format (rather than mmo)"
+ msgstr ""
+
+-#: config/pdp11/pdp11.opt:67
+-msgid "Use 64 bit float"
++#: config/mmix/mmix.opt:61
++msgid "Use P-mnemonics for branches statically predicted as taken"
+ msgstr ""
+
+-#: config/pdp11/pdp11.opt:75
+-msgid "Use 16 bit int"
++#: config/mmix/mmix.opt:65
++msgid "Don't use P-mnemonics for branches"
+ msgstr ""
+
+-#: config/pdp11/pdp11.opt:79
+-msgid "Use 32 bit int"
++#: config/mmix/mmix.opt:79
++msgid "Use addresses that allocate global registers"
+ msgstr ""
+
+-#: config/pdp11/pdp11.opt:87
+-msgid "Target has split I&D"
++#: config/mmix/mmix.opt:83
++#, fuzzy
++msgid "Do not use addresses that allocate global registers"
++msgstr "Δεν είναι δυνατό να δεσμευτεί μνήμη"
++
++#: config/mmix/mmix.opt:87
++msgid "Generate a single exit point for each function"
+ msgstr ""
+
+-#: config/pdp11/pdp11.opt:91
+-msgid "Use UNIX assembler syntax"
++#: config/mmix/mmix.opt:91
++msgid "Do not generate a single exit point for each function"
+ msgstr ""
+
+-#: config/avr/avr.opt:23
+-msgid "Use subroutines for function prologues and epilogues"
++#: config/mmix/mmix.opt:95
++msgid "Set start-address of the program"
+ msgstr ""
+
+-#: config/avr/avr.opt:27
+-msgid "Select the target MCU"
++#: config/mmix/mmix.opt:99
++msgid "Set start-address of data"
+ msgstr ""
+
+-#: config/avr/avr.opt:34
+-msgid "Use an 8-bit 'int' type"
++#: config/score/score.opt:31
++#, fuzzy
++msgid "Disable bcnz instruction"
++msgstr "Ακατάλληλη εντολή"
++
++#: config/score/score.opt:35
++#, fuzzy
++msgid "Enable unaligned load/store instruction"
++msgstr "Ακατάλληλη εντολή"
++
++#: config/score/score.opt:39
++msgid "Support SCORE 5 ISA"
+ msgstr ""
+
+-#: config/avr/avr.opt:38
+-msgid "Change the stack pointer without disabling interrupts"
++#: config/score/score.opt:43
++msgid "Support SCORE 5U ISA"
+ msgstr ""
+
+-#: config/avr/avr.opt:42
+-msgid "Do not generate tablejump insns"
++#: config/score/score.opt:47
++msgid "Support SCORE 7 ISA"
+ msgstr ""
+
+-#: config/avr/avr.opt:52
+-msgid "Use rjmp/rcall (limited range) on >8K devices"
++#: config/score/score.opt:51
++msgid "Support SCORE 7D ISA"
+ msgstr ""
+
+-#: config/avr/avr.opt:56
+-msgid "Output instruction sizes to the asm file"
++#: config/score/score.opt:55
++msgid "Support SCORE 3 ISA"
+ msgstr ""
+
+-#: config/avr/avr.opt:60
+-msgid "Change only the low 8 bits of the stack pointer"
++#: config/score/score.opt:59
++msgid "Support SCORE 3d ISA"
+ msgstr ""
+
+ #: config/crx/crx.opt:23
+@@ -13849,239 +13933,479 @@
+ msgid "Restrict doloop to the given nesting level"
+ msgstr ""
+
+-#: config/c4x/c4x.opt:23
+-msgid "Generate code for C30 CPU"
++#: config/mt/mt.opt:23
++msgid "Use byte loads and stores when generating code."
+ msgstr ""
+
+-#: config/c4x/c4x.opt:27
+-msgid "Generate code for C31 CPU"
++#: config/mt/mt.opt:31
++msgid "Do not include crt0.o in the startup files"
+ msgstr ""
+
+-#: config/c4x/c4x.opt:31
+-msgid "Generate code for C32 CPU"
++#: config/mt/mt.opt:35 config/mt/mt.opt:39 config/mt/mt.opt:43
++#: config/mt/mt.opt:47 config/mt/mt.opt:51
++msgid "Internal debug switch"
+ msgstr ""
+
+-#: config/c4x/c4x.opt:35
+-msgid "Generate code for C33 CPU"
++#: config/m68hc11/m68hc11.opt:23 config/m68hc11/m68hc11.opt:31
++msgid "Compile for a 68HC11"
+ msgstr ""
+
+-#: config/c4x/c4x.opt:39
+-msgid "Generate code for C40 CPU"
++#: config/m68hc11/m68hc11.opt:27 config/m68hc11/m68hc11.opt:35
++msgid "Compile for a 68HC12"
+ msgstr ""
+
+-#: config/c4x/c4x.opt:43
+-msgid "Generate code for C44 CPU"
++#: config/m68hc11/m68hc11.opt:41 config/m68hc11/m68hc11.opt:45
++msgid "Compile for a 68HCS12"
+ msgstr ""
+
+-#: config/c4x/c4x.opt:47
+-msgid "Assume that pointers may be aliased"
++#: config/m68hc11/m68hc11.opt:49
++msgid "Auto pre/post decrement increment allowed"
+ msgstr ""
+
+-#: config/c4x/c4x.opt:51
+-msgid "Big memory model"
++#: config/m68hc11/m68hc11.opt:53
++msgid "Min/max instructions allowed"
+ msgstr ""
+
+-#: config/c4x/c4x.opt:55
+-msgid "Use the BK register as a general purpose register"
++#: config/m68hc11/m68hc11.opt:57
++msgid "Use call and rtc for function calls and returns"
+ msgstr ""
+
+-#: config/c4x/c4x.opt:59
++#: config/m68hc11/m68hc11.opt:61
++msgid "Auto pre/post decrement increment not allowed"
++msgstr ""
++
++#: config/m68hc11/m68hc11.opt:65
++msgid "Use jsr and rts for function calls and returns"
++msgstr ""
++
++#: config/m68hc11/m68hc11.opt:69
+ #, fuzzy
+-msgid "Generate code for CPU"
++msgid "Min/max instructions not allowed"
++msgstr "Η λειτουÏγία δεν έχει υλοποιηθεί"
++
++#: config/m68hc11/m68hc11.opt:73
++#, fuzzy
++msgid "Use direct addressing mode for soft registers"
++msgstr "Ακατάλληλη χÏήση του διαμοÏφωτή διεÏθυνσης"
++
++#: config/m68hc11/m68hc11.opt:77
++msgid "Compile with 32-bit integer mode"
++msgstr ""
++
++#: config/m68hc11/m68hc11.opt:82
++#, fuzzy
++msgid "Specify the register allocation order"
++msgstr "Αποτυχία δέσμευσης πόÏων συστήματος"
++
++#: config/m68hc11/m68hc11.opt:86
++#, fuzzy
++msgid "Do not use direct addressing mode for soft registers"
++msgstr "Ακατάλληλη χÏήση του διαμοÏφωτή διεÏθυνσης"
++
++#: config/m68hc11/m68hc11.opt:90
++msgid "Compile with 16-bit integer mode"
++msgstr ""
++
++#: config/m68hc11/m68hc11.opt:94
++msgid "Indicate the number of soft registers available"
++msgstr ""
++
++#: config/fr30/fr30.opt:23
++msgid "Assume small address space"
++msgstr ""
++
++#: config/sparc/little-endian.opt:23
++#, fuzzy
++msgid "Generate code for little-endian"
+ msgstr "ΧÏήση ξεχωÏιστής λανθάνουσας μνήμης για κάθε χÏήστη"
+
+-#: config/c4x/c4x.opt:63
+-msgid "Enable use of DB instruction"
++#: config/sparc/little-endian.opt:27
++#, fuzzy
++msgid "Generate code for big-endian"
++msgstr "ΧÏήση ξεχωÏιστής λανθάνουσας μνήμης για κάθε χÏήστη"
++
++#: config/sparc/sparc.opt:23 config/sparc/sparc.opt:27
++msgid "Use hardware FP"
+ msgstr ""
+
+-#: config/c4x/c4x.opt:67
+-msgid "Enable debugging"
++#: config/sparc/sparc.opt:31
++#, fuzzy
++msgid "Do not use hardware FP"
++msgstr "Δεν είναι δυνατή η καταχώÏηση της υπηÏεσίας"
++
++#: config/sparc/sparc.opt:35
++msgid "Assume possible double misalignment"
+ msgstr ""
+
+-#: config/c4x/c4x.opt:71
+-msgid "Enable new features under development"
++#: config/sparc/sparc.opt:39
++msgid "Pass -assert pure-text to linker"
+ msgstr ""
+
+-#: config/c4x/c4x.opt:75
+-msgid "Use fast but approximate float to integer conversion"
++#: config/sparc/sparc.opt:43
++msgid "Use ABI reserved registers"
+ msgstr ""
+
+-#: config/c4x/c4x.opt:79
+-msgid "Force RTL generation to emit valid 3 operand insns"
++#: config/sparc/sparc.opt:47
++#, fuzzy
++msgid "Use hardware quad FP instructions"
++msgstr "Ακατάλληλη εντολή"
++
++#: config/sparc/sparc.opt:51
++msgid "Do not use hardware quad fp instructions"
+ msgstr ""
+
+-#: config/c4x/c4x.opt:83
+-msgid "Force constants into registers to improve hoisting"
++#: config/sparc/sparc.opt:55
++msgid "Compile for V8+ ABI"
+ msgstr ""
+
+-#: config/c4x/c4x.opt:87 config/c4x/c4x.opt:111
+-msgid "Save DP across ISR in small memory model"
++#: config/sparc/sparc.opt:59
++#, fuzzy
++msgid "Use UltraSPARC Visual Instruction Set extensions"
++msgstr "ΠαÏάνομη Εντολή"
++
++#: config/sparc/sparc.opt:63
++msgid "Pointers are 64-bit"
+ msgstr ""
+
+-#: config/c4x/c4x.opt:91
+-msgid "Allow unsigned iteration counts for RPTB/DB"
++#: config/sparc/sparc.opt:67
++msgid "Pointers are 32-bit"
+ msgstr ""
+
+-#: config/c4x/c4x.opt:95
+-msgid "Pass arguments on the stack"
++#: config/sparc/sparc.opt:71
++msgid "Use 64-bit ABI"
++msgstr "ΧÏήση ABI 64-bit"
++
++#: config/sparc/sparc.opt:75
++msgid "Use 32-bit ABI"
++msgstr "ΧÏήση ABI 32-bit"
++
++#: config/sparc/sparc.opt:79
++msgid "Use stack bias"
+ msgstr ""
+
+-#: config/c4x/c4x.opt:99
+-msgid "Use MPYI instruction for C3x"
++#: config/sparc/sparc.opt:83
++msgid "Use structs on stronger alignment for double-word copies"
+ msgstr ""
+
+-#: config/c4x/c4x.opt:103
++#: config/sparc/sparc.opt:87
++msgid "Optimize tail call instructions in assembler and linker"
++msgstr ""
++
++#: config/sparc/sparc.opt:99
++msgid "Use given SPARC-V9 code model"
++msgstr ""
++
++#: config/sparc/sparc.opt:103
++msgid "Enable strict 32-bit psABI struct return checking."
++msgstr ""
++
++#: config/sh/superh.opt:6
++msgid "Board name [and memory region]."
++msgstr ""
++
++#: config/sh/superh.opt:10
++msgid "Runtime name."
++msgstr ""
++
++#: config/sh/sh.opt:44
+ #, fuzzy
+-msgid "Enable parallel instructions"
+-msgstr "Ακατάλληλη εντολή"
++msgid "Generate SH1 code"
++msgstr "ΧÏήση ξεχωÏιστής λανθάνουσας μνήμης για κάθε χÏήστη"
+
+-#: config/c4x/c4x.opt:107
+-msgid "Enable MPY||ADD and MPY||SUB instructions"
++#: config/sh/sh.opt:48
++#, fuzzy
++msgid "Generate SH2 code"
++msgstr "ΧÏήση ξεχωÏιστής λανθάνουσας μνήμης για κάθε χÏήστη"
++
++#: config/sh/sh.opt:52
++#, fuzzy
++msgid "Generate SH2a code"
++msgstr "ΧÏήση ξεχωÏιστής λανθάνουσας μνήμης για κάθε χÏήστη"
++
++#: config/sh/sh.opt:56
++msgid "Generate SH2a FPU-less code"
+ msgstr ""
+
+-#: config/c4x/c4x.opt:115
+-msgid "Preserve all 40 bits of FP reg across call"
++#: config/sh/sh.opt:60
++msgid "Generate default single-precision SH2a code"
+ msgstr ""
+
+-#: config/c4x/c4x.opt:119
+-msgid "Pass arguments in registers"
++#: config/sh/sh.opt:64
++msgid "Generate only single-precision SH2a code"
+ msgstr ""
+
+-#: config/c4x/c4x.opt:123
+-msgid "Enable use of RTPB instruction"
++#: config/sh/sh.opt:68
++#, fuzzy
++msgid "Generate SH2e code"
++msgstr "ΧÏήση ξεχωÏιστής λανθάνουσας μνήμης για κάθε χÏήστη"
++
++#: config/sh/sh.opt:72
++#, fuzzy
++msgid "Generate SH3 code"
++msgstr "ΧÏήση ξεχωÏιστής λανθάνουσας μνήμης για κάθε χÏήστη"
++
++#: config/sh/sh.opt:76
++#, fuzzy
++msgid "Generate SH3e code"
++msgstr "ΧÏήση ξεχωÏιστής λανθάνουσας μνήμης για κάθε χÏήστη"
++
++#: config/sh/sh.opt:80
++#, fuzzy
++msgid "Generate SH4 code"
++msgstr "ΧÏήση ξεχωÏιστής λανθάνουσας μνήμης για κάθε χÏήστη"
++
++#: config/sh/sh.opt:84
++msgid "Generate SH4-100 code"
+ msgstr ""
+
+-#: config/c4x/c4x.opt:127
+-msgid "Enable use of RTPS instruction"
++#: config/sh/sh.opt:88
++msgid "Generate SH4-200 code"
+ msgstr ""
+
+-#: config/c4x/c4x.opt:131
+-msgid "Set the maximum number of iterations for RPTS to N"
++#: config/sh/sh.opt:94
++msgid "Generate SH4-300 code"
+ msgstr ""
+
+-#: config/c4x/c4x.opt:135
+-msgid "Small memory model"
++#: config/sh/sh.opt:98
++msgid "Generate SH4 FPU-less code"
+ msgstr ""
+
+-#: config/c4x/c4x.opt:139
+-msgid "Emit code compatible with TI tools"
++#: config/sh/sh.opt:102
++msgid "Generate SH4-100 FPU-less code"
+ msgstr ""
+
+-#: config/pa/pa-hpux.opt:23
++#: config/sh/sh.opt:106
++msgid "Generate SH4-200 FPU-less code"
++msgstr ""
++
++#: config/sh/sh.opt:110
++msgid "Generate SH4-300 FPU-less code"
++msgstr ""
++
++#: config/sh/sh.opt:114
++msgid "Generate code for SH4 340 series (MMU/FPU-less)"
++msgstr ""
++
++#: config/sh/sh.opt:119
++msgid "Generate code for SH4 400 series (MMU/FPU-less)"
++msgstr ""
++
++#: config/sh/sh.opt:124
+ #, fuzzy
+-msgid "Generate cpp defines for server IO"
++msgid "Generate code for SH4 500 series (FPU-less)."
+ msgstr "ΧÏήση ξεχωÏιστής λανθάνουσας μνήμης για κάθε χÏήστη"
+
+-#: config/pa/pa-hpux.opt:27 config/pa/pa-hpux1010.opt:23
+-#: config/pa/pa-hpux1111.opt:23
+-msgid "Specify UNIX standard for predefines and linking"
++#: config/sh/sh.opt:129
++msgid "Generate default single-precision SH4 code"
+ msgstr ""
+
+-#: config/pa/pa-hpux.opt:31
+-msgid "Generate cpp defines for workstation IO"
++#: config/sh/sh.opt:133
++msgid "Generate default single-precision SH4-100 code"
+ msgstr ""
+
+-#: config/pa/pa.opt:23 config/pa/pa.opt:76 config/pa/pa.opt:84
+-msgid "Generate PA1.0 code"
++#: config/sh/sh.opt:137
++msgid "Generate default single-precision SH4-200 code"
+ msgstr ""
+
+-#: config/pa/pa.opt:27 config/pa/pa.opt:88 config/pa/pa.opt:108
+-msgid "Generate PA1.1 code"
++#: config/sh/sh.opt:141
++msgid "Generate default single-precision SH4-300 code"
+ msgstr ""
+
+-#: config/pa/pa.opt:31 config/pa/pa.opt:92
+-msgid "Generate PA2.0 code (requires binutils 2.10 or later)"
++#: config/sh/sh.opt:145
++msgid "Generate only single-precision SH4 code"
+ msgstr ""
+
+-#: config/pa/pa.opt:35
++#: config/sh/sh.opt:149
++msgid "Generate only single-precision SH4-100 code"
++msgstr ""
++
++#: config/sh/sh.opt:153
++msgid "Generate only single-precision SH4-200 code"
++msgstr ""
++
++#: config/sh/sh.opt:157
++msgid "Generate only single-precision SH4-300 code"
++msgstr ""
++
++#: config/sh/sh.opt:161
+ #, fuzzy
+-msgid "Generate code for huge switch statements"
++msgid "Generate SH4a code"
+ msgstr "ΧÏήση ξεχωÏιστής λανθάνουσας μνήμης για κάθε χÏήστη"
+
+-#: config/pa/pa.opt:39
+-msgid "Disable FP regs"
++#: config/sh/sh.opt:165
++msgid "Generate SH4a FPU-less code"
+ msgstr ""
+
+-#: config/pa/pa.opt:43
++#: config/sh/sh.opt:169
++msgid "Generate default single-precision SH4a code"
++msgstr ""
++
++#: config/sh/sh.opt:173
++msgid "Generate only single-precision SH4a code"
++msgstr ""
++
++#: config/sh/sh.opt:177
++msgid "Generate SH4al-dsp code"
++msgstr ""
++
++#: config/sh/sh.opt:181
++msgid "Generate 32-bit SHmedia code"
++msgstr ""
++
++#: config/sh/sh.opt:185
++msgid "Generate 32-bit FPU-less SHmedia code"
++msgstr ""
++
++#: config/sh/sh.opt:189
++msgid "Generate 64-bit SHmedia code"
++msgstr ""
++
++#: config/sh/sh.opt:193
++msgid "Generate 64-bit FPU-less SHmedia code"
++msgstr ""
++
++#: config/sh/sh.opt:197
++msgid "Generate SHcompact code"
++msgstr ""
++
++#: config/sh/sh.opt:201
++msgid "Generate FPU-less SHcompact code"
++msgstr ""
++
++#: config/sh/sh.opt:205
++msgid "Throttle unrolling to avoid thrashing target registers unless the unroll benefit outweighs this"
++msgstr ""
++
++#: config/sh/sh.opt:209
+ #, fuzzy
+-msgid "Disable indexed addressing"
+-msgstr "Ακατάλληλη χÏήση του διαμοÏφωτή διεÏθυνσης"
++msgid "Generate code in big endian mode"
++msgstr "ΧÏήση ξεχωÏιστής λανθάνουσας μνήμης για κάθε χÏήστη"
+
+-#: config/pa/pa.opt:47
++#: config/sh/sh.opt:213
+ #, fuzzy
+-msgid "Generate fast indirect calls"
++msgid "Generate 32-bit offsets in switch tables"
+ msgstr "ΧÏήση ξεχωÏιστής λανθάνουσας μνήμης για κάθε χÏήστη"
+
+-#: config/pa/pa.opt:55
+-msgid "Assume code will be assembled by GAS"
++#: config/sh/sh.opt:217
++msgid "Cost to assume for a branch insn"
+ msgstr ""
+
+-#: config/pa/pa.opt:59
+-msgid "Put jumps in call delay slots"
++#: config/sh/sh.opt:221
++msgid "Enable cbranchdi4 pattern"
+ msgstr ""
+
+-#: config/pa/pa.opt:64
+-msgid "Enable linker optimizations"
++#: config/sh/sh.opt:225
++msgid "Expand cbranchdi4 pattern early into separate comparisons and branches."
+ msgstr ""
+
+-#: config/pa/pa.opt:68
+-msgid "Always generate long calls"
++#: config/sh/sh.opt:229
++msgid "Emit cmpeqdi_t pattern even when -mcbranchdi and -mexpand-cbranchdi are in effect."
+ msgstr ""
+
+-#: config/pa/pa.opt:72
+-msgid "Emit long load/store sequences"
++#: config/sh/sh.opt:233
++msgid "Enable SH5 cut2 workaround"
+ msgstr ""
+
+-#: config/pa/pa.opt:80
+-msgid "Disable space regs"
++#: config/sh/sh.opt:237
++msgid "Align doubles at 64-bit boundaries"
+ msgstr ""
+
+-#: config/pa/pa.opt:96
++#: config/sh/sh.opt:241
++msgid "Division strategy, one of: call, call2, fp, inv, inv:minlat, inv20u, inv20l, inv:call, inv:call2, inv:fp, call-div1, call-fp, call-table"
++msgstr ""
++
++#: config/sh/sh.opt:245
++msgid "Specify name for 32 bit signed division function"
++msgstr ""
++
++#: config/sh/sh.opt:252
+ #, fuzzy
+-msgid "Use portable calling conventions"
+-msgstr "μη τεÏματιζμένο αλφαÏιθμητικό σταθεÏάς"
++msgid "Enable the use of the fused floating point multiply-accumulate operation"
++msgstr "Ακατάλληλη εντολή"
+
+-#: config/pa/pa.opt:100
+-msgid "Specify CPU for scheduling purposes. Valid arguments are 700, 7100, 7100LC, 7200, 7300, and 8000"
++#: config/sh/sh.opt:256
++msgid "Cost to assume for gettr insn"
+ msgstr ""
+
+-#: config/pa/pa.opt:112
++#: config/sh/sh.opt:260 config/sh/sh.opt:310
++msgid "Follow Renesas (formerly Hitachi) / SuperH calling conventions"
++msgstr ""
++
++#: config/sh/sh.opt:264
++msgid "Increase the IEEE compliance for floating-point code"
++msgstr ""
++
++#: config/sh/sh.opt:268
++msgid "Enable the use of the indexed addressing mode for SHmedia32/SHcompact"
++msgstr ""
++
++#: config/sh/sh.opt:272
++msgid "inline code to invalidate instruction cache entries after setting up nested function trampolines"
++msgstr ""
++
++#: config/sh/sh.opt:276
++msgid "Assume symbols might be invalid"
++msgstr ""
++
++#: config/sh/sh.opt:280
++msgid "Annotate assembler instructions with estimated addresses"
++msgstr ""
++
++#: config/sh/sh.opt:284
+ #, fuzzy
+-msgid "Do not disable space regs"
+-msgstr "Δεν είναι δυνατό να δεσμευτεί μνήμη"
++msgid "Generate code in little endian mode"
++msgstr "ΧÏήση ξεχωÏιστής λανθάνουσας μνήμης για κάθε χÏήστη"
+
+-#: config/pa/pa64-hpux.opt:23
+-msgid "Assume code will be linked by GNU ld"
++#: config/sh/sh.opt:288
++msgid "Mark MAC register as call-clobbered"
+ msgstr ""
+
+-#: config/pa/pa64-hpux.opt:27
+-msgid "Assume code will be linked by HP ld"
++#: config/sh/sh.opt:294
++msgid "Make structs a multiple of 4 bytes (warning: ABI altered)"
+ msgstr ""
+
+-#: config/xtensa/xtensa.opt:23
+-msgid "Use CONST16 instruction to load constants"
++#: config/sh/sh.opt:298
++msgid "Emit function-calls using global offset table when generating PIC"
+ msgstr ""
+
+-#: config/xtensa/xtensa.opt:27
+-msgid "Enable fused multiply/add and multiply/subtract FP instructions"
++#: config/sh/sh.opt:302
++#, fuzzy
++msgid "Assume pt* instructions won't trap"
++msgstr "ΕξαίÏεση κινητής υποδιαστολής"
++
++#: config/sh/sh.opt:306
++msgid "Shorten address references during linking"
+ msgstr ""
+
+-#: config/xtensa/xtensa.opt:31
+-msgid "Use indirect CALLXn instructions for large programs"
++#: config/sh/sh.opt:314
++msgid "Deprecated. Use -Os instead"
+ msgstr ""
+
+-#: config/xtensa/xtensa.opt:35
+-msgid "Automatically align branch targets to reduce branch penalties"
++#: config/sh/sh.opt:318
++msgid "Cost to assume for a multiply insn"
+ msgstr ""
+
+-#: config/xtensa/xtensa.opt:39
+-msgid "Intersperse literal pools with code in the text section"
++#: config/sh/sh.opt:322
++msgid "Don't generate privileged-mode only code; implies -mno-inline-ic_invalidate if the inline code would not work in user mode."
+ msgstr ""
+
+-#: config/stormy16/stormy16.opt:24
+-msgid "Provide libraries for the simulator"
++#: config/sh/sh.opt:328
++msgid "Pretend a branch-around-a-move is a conditional move."
+ msgstr ""
+
++#: config/vxworks.opt:24
++msgid "Assume the VxWorks RTP environment"
++msgstr ""
++
++#: config/vxworks.opt:31
++msgid "Assume the VxWorks vThreads environment"
++msgstr ""
++
++#: config/mips/sdemtk.opt:23
++#, fuzzy
++msgid "Prevent the use of all floating-point operations"
++msgstr "ΕξαίÏεση κινητής υποδιαστολής"
++
+ #: config/mips/mips.opt:23
+ #, fuzzy
+ msgid "Generate code that conforms to the given ABI"
+@@ -14157,10 +14481,6 @@
+ msgid "Use little-endian byte order"
+ msgstr ""
+
+-#: config/mips/mips.opt:97 config/iq2000/iq2000.opt:31
+-msgid "Use ROM instead of RAM"
+-msgstr ""
+-
+ #: config/mips/mips.opt:101
+ msgid "Use NewABI-style %reloc() assembly operators"
+ msgstr ""
+@@ -14343,10 +14663,6 @@
+ msgid "Optimize the output for PROCESSOR"
+ msgstr ""
+
+-#: config/mips/mips.opt:265 config/iq2000/iq2000.opt:44
+-msgid "Put uninitialized constants in ROM (needs -membedded-data)"
+-msgstr ""
+-
+ #: config/mips/mips.opt:269
+ msgid "Perform VR4130-specific alignment optimizations"
+ msgstr ""
+@@ -14355,2484 +14671,2134 @@
+ msgid "Lift restrictions on GOT size"
+ msgstr ""
+
+-#: config/mips/sdemtk.opt:23
++#: config/bfin/bfin.opt:31
+ #, fuzzy
+-msgid "Prevent the use of all floating-point operations"
+-msgstr "ΕξαίÏεση κινητής υποδιαστολής"
++msgid "Omit frame pointer for leaf functions"
++msgstr "Δεν βÏέθηκαν ταιÏιάσματα στη μοÏφή `%s'.\n"
+
+-#: config/fr30/fr30.opt:23
+-msgid "Assume small address space"
++#: config/bfin/bfin.opt:35
++msgid "Program is entirely located in low 64k of memory"
+ msgstr ""
+
+-#: config/m68hc11/m68hc11.opt:23 config/m68hc11/m68hc11.opt:31
+-msgid "Compile for a 68HC11"
++#: config/bfin/bfin.opt:39
++msgid "Work around a hardware anomaly by adding a number of NOPs before a"
+ msgstr ""
+
+-#: config/m68hc11/m68hc11.opt:27 config/m68hc11/m68hc11.opt:35
+-msgid "Compile for a 68HC12"
++#: config/bfin/bfin.opt:44
++msgid "Avoid speculative loads to work around a hardware anomaly."
+ msgstr ""
+
+-#: config/m68hc11/m68hc11.opt:41 config/m68hc11/m68hc11.opt:45
+-msgid "Compile for a 68HCS12"
++#: config/bfin/bfin.opt:48
++msgid "Enabled ID based shared library"
+ msgstr ""
+
+-#: config/m68hc11/m68hc11.opt:49
+-msgid "Auto pre/post decrement increment allowed"
++#: config/bfin/bfin.opt:52
++msgid "Generate code that won't be linked against any other ID shared libraries,"
+ msgstr ""
+
+-#: config/m68hc11/m68hc11.opt:53
+-msgid "Min/max instructions allowed"
++#: config/bfin/bfin.opt:65
++msgid "Avoid generating pc-relative calls; use indirection"
+ msgstr ""
+
+-#: config/m68hc11/m68hc11.opt:57
+-msgid "Use call and rtc for function calls and returns"
++#: config/bfin/bfin.opt:69
++msgid "Link with the fast floating-point library"
+ msgstr ""
+
+-#: config/m68hc11/m68hc11.opt:61
+-msgid "Auto pre/post decrement increment not allowed"
++#: config/bfin/bfin.opt:81
++msgid "Do stack checking using bounds in L1 scratch memory"
+ msgstr ""
+
+-#: config/m68hc11/m68hc11.opt:65
+-msgid "Use jsr and rts for function calls and returns"
++#: treelang/lang.opt:30
++msgid "Trace lexical analysis"
+ msgstr ""
+
+-#: config/m68hc11/m68hc11.opt:69
+-#, fuzzy
+-msgid "Min/max instructions not allowed"
+-msgstr "Η λειτουÏγία δεν έχει υλοποιηθεί"
+-
+-#: config/m68hc11/m68hc11.opt:73
+-#, fuzzy
+-msgid "Use direct addressing mode for soft registers"
+-msgstr "Ακατάλληλη χÏήση του διαμοÏφωτή διεÏθυνσης"
+-
+-#: config/m68hc11/m68hc11.opt:77
+-msgid "Compile with 32-bit integer mode"
++#: treelang/lang.opt:34
++msgid "Trace the parsing process"
+ msgstr ""
+
+-#: config/m68hc11/m68hc11.opt:82
+-#, fuzzy
+-msgid "Specify the register allocation order"
+-msgstr "Αποτυχία δέσμευσης πόÏων συστήματος"
+-
+-#: config/m68hc11/m68hc11.opt:86
+-#, fuzzy
+-msgid "Do not use direct addressing mode for soft registers"
+-msgstr "Ακατάλληλη χÏήση του διαμοÏφωτή διεÏθυνσης"
+-
+-#: config/m68hc11/m68hc11.opt:90
+-msgid "Compile with 16-bit integer mode"
++#: java/lang.opt:65
++msgid "Warn if a deprecated compiler feature, class, method, or field is used"
+ msgstr ""
+
+-#: config/m68hc11/m68hc11.opt:94
+-msgid "Indicate the number of soft registers available"
++#: java/lang.opt:69
++msgid "Warn if deprecated empty statements are found"
+ msgstr ""
+
+-#: config/vax/vax.opt:23 config/vax/vax.opt:27
+-msgid "Target DFLOAT double precision code"
++#: java/lang.opt:73
++msgid "Warn if .class files are out of date"
+ msgstr ""
+
+-#: config/vax/vax.opt:31 config/vax/vax.opt:35
+-msgid "Generate GFLOAT double precision code"
+-msgstr ""
+-
+-#: config/vax/vax.opt:39
++#: java/lang.opt:77
+ #, fuzzy
+-msgid "Generate code for GNU assembler (gas)"
+-msgstr "ΧÏήση ξεχωÏιστής λανθάνουσας μνήμης για κάθε χÏήστη"
++msgid "Warn if modifiers are specified when not necessary"
++msgstr "δε μποÏοÏν να δηλώνονται αÏχεία όταν γίνεται χÏήση του --string"
+
+-#: config/vax/vax.opt:43
+-#, fuzzy
+-msgid "Generate code for UNIX assembler"
+-msgstr "ΧÏήση ξεχωÏιστής λανθάνουσας μνήμης για κάθε χÏήστη"
+-
+-#: config/vax/vax.opt:47
+-#, fuzzy
+-msgid "Use VAXC structure conventions"
+-msgstr "μη τεÏματιζμένο αλφαÏιθμητικό σταθεÏάς"
+-
+-#: config/cris/linux.opt:27
+-msgid "Together with -fpic and -fPIC, do not use GOTPLT references"
++#: java/lang.opt:81
++msgid "Deprecated; use --classpath instead"
+ msgstr ""
+
+-#: config/cris/cris.opt:45
+-msgid "Work around bug in multiplication instruction"
++#: java/lang.opt:88
++msgid "Permit the use of the assert keyword"
+ msgstr ""
+
+-#: config/cris/cris.opt:51
+-msgid "Compile for ETRAX 4 (CRIS v3)"
++#: java/lang.opt:110
++msgid "Replace system path"
+ msgstr ""
+
+-#: config/cris/cris.opt:56
+-msgid "Compile for ETRAX 100 (CRIS v8)"
+-msgstr ""
++#: java/lang.opt:114
++#, fuzzy
++msgid "Generate checks for references to NULL"
++msgstr "ΧÏήση ξεχωÏιστής λανθάνουσας μνήμης για κάθε χÏήστη"
+
+-#: config/cris/cris.opt:64
+-msgid "Emit verbose debug information in assembly code"
++#: java/lang.opt:118
++msgid "Set class path"
+ msgstr ""
+
+-#: config/cris/cris.opt:71
+-msgid "Do not use condition codes from normal instructions"
++#: java/lang.opt:125
++msgid "Output a class file"
+ msgstr ""
+
+-#: config/cris/cris.opt:80
+-msgid "Do not emit addressing modes with side-effect assignment"
++#: java/lang.opt:129
++msgid "Alias for -femit-class-file"
+ msgstr ""
+
+-#: config/cris/cris.opt:89
+-msgid "Do not tune stack alignment"
++#: java/lang.opt:133
++msgid "Choose input encoding (defaults from your locale)"
+ msgstr ""
+
+-#: config/cris/cris.opt:98
+-msgid "Do not tune writable data alignment"
++#: java/lang.opt:137
++msgid "Set the extension directory path"
+ msgstr ""
+
+-#: config/cris/cris.opt:107
+-msgid "Do not tune code and read-only data alignment"
++#: java/lang.opt:144
++msgid "Input file is a file with a list of filenames to compile"
+ msgstr ""
+
+-#: config/cris/cris.opt:116
+-msgid "Align code and data to 32 bits"
++#: java/lang.opt:151
++msgid "Always check for non gcj generated classes archives"
+ msgstr ""
+
+-#: config/cris/cris.opt:133
+-msgid "Don't align items in code or data"
++#: java/lang.opt:155
++msgid "Assume the runtime uses a hash table to map an object to its synchronization structure"
+ msgstr ""
+
+-#: config/cris/cris.opt:142
+-msgid "Do not emit function prologue or epilogue"
++#: java/lang.opt:159
++msgid "Generate instances of Class at runtime"
+ msgstr ""
+
+-#: config/cris/cris.opt:149
+-msgid "Use the most feature-enabling options allowed by other options"
++#: java/lang.opt:163
++msgid "Use offset tables for virtual method calls"
+ msgstr ""
+
+-#: config/cris/cris.opt:158
+-msgid "Override -mbest-lib-options"
++#: java/lang.opt:170
++msgid "Assume native functions are implemented using JNI"
+ msgstr ""
+
+-#: config/cris/cris.opt:165
+-msgid "Generate code for the specified chip or CPU version"
++#: java/lang.opt:174
++msgid "Enable optimization of static class initialization code"
+ msgstr ""
+
+-#: config/cris/cris.opt:169
+-msgid "Tune alignment for the specified chip or CPU version"
++#: java/lang.opt:181
++msgid "Reduce the amount of reflection meta-data generated"
+ msgstr ""
+
+-#: config/cris/cris.opt:173
+-msgid "Warn when a stackframe is larger than the specified size"
++#: java/lang.opt:185
++msgid "Enable assignability checks for stores into object arrays"
+ msgstr ""
+
+-#: config/cris/aout.opt:27
+-msgid "Compile for the MMU-less Etrax 100-based elinux system"
+-msgstr ""
+-
+-#: config/cris/aout.opt:33
+-msgid "For elinux, request a specified stack-size for this program"
+-msgstr ""
+-
+-#: config/h8300/h8300.opt:23
+-msgid "Generate H8S code"
+-msgstr ""
+-
+-#: config/h8300/h8300.opt:27
+-msgid "Generate H8SX code"
+-msgstr ""
+-
+-#: config/h8300/h8300.opt:31
+-msgid "Generate H8S/2600 code"
+-msgstr ""
+-
+-#: config/h8300/h8300.opt:35
+-msgid "Make integers 32 bits wide"
+-msgstr ""
+-
+-#: config/h8300/h8300.opt:42
++#: java/lang.opt:189
+ #, fuzzy
+-msgid "Use registers for argument passing"
+-msgstr "έχουν παÏαληφθεί οÏίσματα"
++msgid "Generate code for the Boehm GC"
++msgstr "ΧÏήση ξεχωÏιστής λανθάνουσας μνήμης για κάθε χÏήστη"
+
+-#: config/h8300/h8300.opt:46
+-msgid "Consider access to byte sized memory slow"
++#: java/lang.opt:193
++msgid "Call a library routine to do integer divisions"
+ msgstr ""
+
+-#: config/h8300/h8300.opt:50
+-msgid "Enable linker relaxing"
++#: java/lang.opt:197
++msgid "Generated should be loaded by bootstrap loader"
+ msgstr ""
+
+-#: config/h8300/h8300.opt:54
+-msgid "Generate H8/300H code"
++#: java/lang.opt:201
++msgid "Set the source language version"
+ msgstr ""
+
+-#: config/h8300/h8300.opt:58
++#: java/lang.opt:205
+ #, fuzzy
+-msgid "Enable the normal mode"
+-msgstr "μηδενισμένη εγγÏαφή και γÏάψιμο πάνω σε αυτή (truncated)"
++msgid "Set the target VM version"
++msgstr "εσφαλμένη έκδοση κεφαλίδας"
+
+-#: config/h8300/h8300.opt:62
+-msgid "Use H8/300 alignment rules"
+-msgstr ""
+-
+-#: config/v850/v850.opt:23
++#: common.opt:28
+ #, fuzzy
+-msgid "Use registers r2 and r5"
+-msgstr "Δεν είναι δυνατή η καταχώÏηση της υπηÏεσίας"
++msgid "Display this information"
++msgstr " --help Εμφάνιση αυτών των πληÏοφοÏιών\n"
+
+-#: config/v850/v850.opt:27
+-msgid "Use 4 byte entries in switch tables"
++#: common.opt:32
++msgid "Display descriptions of a specific class of options. <class> is one or more of optimizers, target, warnings, undocumented, params"
+ msgstr ""
+
+-#: config/v850/v850.opt:31
+-msgid "Enable backend debugging"
++#: common.opt:36
++msgid "Alias for --help=target"
+ msgstr ""
+
+-#: config/v850/v850.opt:35
+-#, fuzzy
+-msgid "Do not use the callt instruction"
+-msgstr "Ακατάλληλη εντολή"
+-
+-#: config/v850/v850.opt:39
+-msgid "Reuse r30 on a per function basis"
++#: common.opt:52
++msgid "Set parameter <param> to value. See below for a complete list of parameters"
+ msgstr ""
+
+-#: config/v850/v850.opt:43
+-msgid "Support Green Hills ABI"
++#: common.opt:59
++msgid "Put global and static data smaller than <number> bytes into a special section (on some targets)"
+ msgstr ""
+
+-#: config/v850/v850.opt:47
+-msgid "Prohibit PC relative function calls"
++#: common.opt:63
++msgid "Set optimization level to <number>"
+ msgstr ""
+
+-#: config/v850/v850.opt:51
+-msgid "Use stubs for function prologues"
++#: common.opt:67
++msgid "Optimize for space rather than speed"
+ msgstr ""
+
+-#: config/v850/v850.opt:55
+-msgid "Set the max size of data eligible for the SDA area"
++#: common.opt:71
++msgid "This switch is deprecated; use -Wextra instead"
+ msgstr ""
+
+-#: config/v850/v850.opt:59
+-#, fuzzy
+-msgid "Enable the use of the short load instructions"
+-msgstr "Ακατάλληλη εντολή"
+-
+-#: config/v850/v850.opt:63
+-msgid "Same as: -mep -mprolog-function"
++#: common.opt:75
++msgid "Warn about returning structures, unions or arrays"
+ msgstr ""
+
+-#: config/v850/v850.opt:67
+-msgid "Set the max size of data eligible for the TDA area"
++#: common.opt:79
++msgid "Warn if an array is accessed out of bounds"
+ msgstr ""
+
+-#: config/v850/v850.opt:71
+-msgid "Enforce strict alignment"
++#: common.opt:83
++msgid "Warn about inappropriate attribute usage"
+ msgstr ""
+
+-#: config/v850/v850.opt:78
+-msgid "Compile for the v850 processor"
++#: common.opt:87
++msgid "Warn about pointer casts which increase alignment"
+ msgstr ""
+
+-#: config/v850/v850.opt:82
+-msgid "Compile for the v850e processor"
++#: common.opt:91
++msgid "Warn about uses of __attribute__((deprecated)) declarations"
+ msgstr ""
+
+-#: config/v850/v850.opt:86
+-msgid "Compile for the v850e1 processor"
++#: common.opt:95
++msgid "Warn when an optimization pass is disabled"
+ msgstr ""
+
+-#: config/v850/v850.opt:90
+-msgid "Set the max size of data eligible for the ZDA area"
++#: common.opt:99
++msgid "Treat all warnings as errors"
+ msgstr ""
+
+-#: config/mmix/mmix.opt:24
+-msgid "For intrinsics library: pass all parameters in registers"
++#: common.opt:103
++msgid "Treat specified warning as error"
+ msgstr ""
+
+-#: config/mmix/mmix.opt:28
+-msgid "Use register stack for parameters and return value"
++#: common.opt:107
++msgid "Print extra (possibly unwanted) warnings"
+ msgstr ""
+
+-#: config/mmix/mmix.opt:32
+-msgid "Use call-clobbered registers for parameters and return value"
++#: common.opt:111
++msgid "Exit on the first error occurred"
+ msgstr ""
+
+-#: config/mmix/mmix.opt:37
+-msgid "Use epsilon-respecting floating point compare instructions"
++#: common.opt:115
++msgid "Warn when an inlined function cannot be inlined"
+ msgstr ""
+
+-#: config/mmix/mmix.opt:41
+-msgid "Use zero-extending memory loads, not sign-extending ones"
++#: common.opt:119
++msgid "Warn if an object is larger than <number> bytes"
+ msgstr ""
+
+-#: config/mmix/mmix.opt:45
+-msgid "Generate divide results with reminder having the same sign as the divisor (not the dividend)"
++#: common.opt:123
++msgid "Warn when a logical operator is suspicously always evaluating to true or false"
+ msgstr ""
+
+-#: config/mmix/mmix.opt:49
+-msgid "Prepend global symbols with \":\" (for use with PREFIX)"
++#: common.opt:127
++msgid "Warn if the loop cannot be optimized due to nontrivial assumptions."
+ msgstr ""
+
+-#: config/mmix/mmix.opt:53
+-msgid "Do not provide a default start-address 0x100 of the program"
++#: common.opt:131
++msgid "Warn about functions which might be candidates for __attribute__((noreturn))"
+ msgstr ""
+
+-#: config/mmix/mmix.opt:57
+-msgid "Link to emit program in ELF format (rather than mmo)"
+-msgstr ""
++#: common.opt:135
++#, fuzzy
++msgid "Warn about overflow in arithmetic expressions"
++msgstr "%s: μη έγκυÏη κανονική έκφÏαση: %s"
+
+-#: config/mmix/mmix.opt:61
+-msgid "Use P-mnemonics for branches statically predicted as taken"
++#: common.opt:139
++msgid "Warn when the packed attribute has no effect on struct layout"
+ msgstr ""
+
+-#: config/mmix/mmix.opt:65
+-msgid "Don't use P-mnemonics for branches"
++#: common.opt:143
++msgid "Warn when padding is required to align structure members"
+ msgstr ""
+
+-#: config/mmix/mmix.opt:79
+-msgid "Use addresses that allocate global registers"
++#: common.opt:147
++msgid "Warn when one local variable shadows another"
+ msgstr ""
+
+-#: config/mmix/mmix.opt:83
+-#, fuzzy
+-msgid "Do not use addresses that allocate global registers"
+-msgstr "Δεν είναι δυνατό να δεσμευτεί μνήμη"
+-
+-#: config/mmix/mmix.opt:87
+-msgid "Generate a single exit point for each function"
++#: common.opt:151
++msgid "Warn when not issuing stack smashing protection for some reason"
+ msgstr ""
+
+-#: config/mmix/mmix.opt:91
+-msgid "Do not generate a single exit point for each function"
++#: common.opt:155 common.opt:159
++msgid "Warn about code which might break strict aliasing rules"
+ msgstr ""
+
+-#: config/mmix/mmix.opt:95
+-msgid "Set start-address of the program"
++#: common.opt:163 common.opt:167
++msgid "Warn about optimizations that assume that signed overflow is undefined"
+ msgstr ""
+
+-#: config/mmix/mmix.opt:99
+-msgid "Set start-address of data"
++#: common.opt:171
++msgid "Warn about enumerated switches, with no default, missing a case"
+ msgstr ""
+
+-#: config/iq2000/iq2000.opt:23 config/mt/mt.opt:55
+-msgid "Specify CPU for code generation purposes"
++#: common.opt:175
++msgid "Warn about enumerated switches missing a \"default:\" statement"
+ msgstr ""
+
+-#: config/iq2000/iq2000.opt:27
+-msgid "Specify CPU for scheduling purposes"
++#: common.opt:179
++msgid "Warn about all enumerated switches missing a specific case"
+ msgstr ""
+
+-#: config/iq2000/iq2000.opt:35
+-msgid "Use GP relative sdata/sbss sections"
+-msgstr ""
+-
+-#: config/iq2000/iq2000.opt:40
+-msgid "No default crt0.o"
+-msgstr ""
+-
+-#: config/bfin/bfin.opt:31
++#: common.opt:183 c.opt:434
+ #, fuzzy
+-msgid "Omit frame pointer for leaf functions"
+-msgstr "Δεν βÏέθηκαν ταιÏιάσματα στη μοÏφή `%s'.\n"
++msgid "Do not suppress warnings from system headers"
++msgstr "Αποσιώπηση Ï€Ïοηδοποιήσεων και μηνυμάτων πληÏοφόÏησης"
+
+-#: config/bfin/bfin.opt:35
+-msgid "Program is entirely located in low 64k of memory"
++#: common.opt:187
++msgid "Warn about uninitialized automatic variables"
+ msgstr ""
+
+-#: config/bfin/bfin.opt:39
+-msgid "Work around a hardware anomaly by adding a number of NOPs before a"
++#: common.opt:191
++msgid "Warn about code that will never be executed"
+ msgstr ""
+
+-#: config/bfin/bfin.opt:44
+-msgid "Avoid speculative loads to work around a hardware anomaly."
++#: common.opt:195
++msgid "Enable all -Wunused- warnings"
+ msgstr ""
+
+-#: config/bfin/bfin.opt:48
+-msgid "Enabled ID based shared library"
++#: common.opt:199
++msgid "Warn when a function is unused"
+ msgstr ""
+
+-#: config/bfin/bfin.opt:52
+-msgid "Generate code that won't be linked against any other ID shared libraries,"
++#: common.opt:203
++msgid "Warn when a label is unused"
+ msgstr ""
+
+-#: config/bfin/bfin.opt:65
+-msgid "Avoid generating pc-relative calls; use indirection"
++#: common.opt:207
++msgid "Warn when a function parameter is unused"
+ msgstr ""
+
+-#: config/bfin/bfin.opt:69
+-msgid "Link with the fast floating-point library"
++#: common.opt:211
++msgid "Warn when an expression value is unused"
+ msgstr ""
+
+-#: config/bfin/bfin.opt:81
+-msgid "Do stack checking using bounds in L1 scratch memory"
++#: common.opt:215
++msgid "Warn when a variable is unused"
+ msgstr ""
+
+-#: config/mt/mt.opt:23
+-msgid "Use byte loads and stores when generating code."
+-msgstr ""
++# src/shred.c:1134
++#: common.opt:219
++#, fuzzy
++msgid "Warn when a register variable is declared volatile"
++msgstr "%s: το αÏχείο είναι Ï€Î¿Î»Ï Î¼ÎµÎ³Î¬Î»Î¿"
+
+-#: config/mt/mt.opt:31
+-msgid "Do not include crt0.o in the startup files"
++#: common.opt:223
++msgid "Warn instead of error in case profiles in -fprofile-use do not match"
+ msgstr ""
+
+-#: config/mt/mt.opt:35 config/mt/mt.opt:39 config/mt/mt.opt:43
+-#: config/mt/mt.opt:47 config/mt/mt.opt:51
+-msgid "Internal debug switch"
+-msgstr ""
++#: common.opt:227
++#, fuzzy
++msgid "Emit declaration information into <file>"
++msgstr "εμφάνιση πληÏοφοÏιών Ï€Ïοόδου"
+
+-#: config/vxworks.opt:24
+-msgid "Assume the VxWorks RTP environment"
++#: common.opt:240
++msgid "Enable dumps from specific passes of the compiler"
+ msgstr ""
+
+-#: config/vxworks.opt:31
+-msgid "Assume the VxWorks vThreads environment"
++#: common.opt:244
++msgid "Set the file basename to be used for dumps"
+ msgstr ""
+
+-#: config/darwin.opt:23
+-msgid "Generate code suitable for fast turn around debugging"
++#: common.opt:264
++msgid "Align the start of functions"
+ msgstr ""
+
+-#: config/darwin.opt:31
+-msgid "The earliest MacOS X version on which this program will run"
++#: common.opt:271
++msgid "Align labels which are only reached by jumping"
+ msgstr ""
+
+-#: config/darwin.opt:35
+-msgid "Set sizeof(bool) to 1"
++#: common.opt:278
++msgid "Align all labels"
+ msgstr ""
+
+-#: config/darwin.opt:39
+-msgid "Generate code for darwin loadable kernel extensions"
++#: common.opt:285
++msgid "Align the start of loops"
+ msgstr ""
+
+-#: config/darwin.opt:43
+-msgid "Generate code for the kernel or loadable kernel extensions"
++#: common.opt:300
++msgid "Specify that arguments may alias each other and globals"
+ msgstr ""
+
+-#: config/darwin.opt:47
+-msgid "Add <dir> to the end of the system framework include path"
++#: common.opt:304
++msgid "Assume arguments may alias globals but not each other"
+ msgstr ""
+
+-#: config/lynx.opt:23
+-msgid "Support legacy multi-threading"
++#: common.opt:308
++msgid "Assume arguments alias neither each other nor globals"
+ msgstr ""
+
+-#: config/lynx.opt:27
+-msgid "Use shared libraries"
+-msgstr ""
++#: common.opt:312
++#, fuzzy
++msgid "Assume arguments alias no other storage"
++msgstr "έχουν παÏαληφθεί οÏίσματα"
+
+-#: config/lynx.opt:31
+-msgid "Support multi-threading"
++#: common.opt:316
++msgid "Generate unwind tables that are exact at each instruction boundary"
+ msgstr ""
+
+-#: config/score/score.opt:31
++#: common.opt:320
+ #, fuzzy
+-msgid "Disable bcnz instruction"
++msgid "Generate auto-inc/dec instructions"
+ msgstr "Ακατάλληλη εντολή"
+
+-#: config/score/score.opt:35
++#: common.opt:328
+ #, fuzzy
+-msgid "Enable unaligned load/store instruction"
+-msgstr "Ακατάλληλη εντολή"
++msgid "Generate code to check bounds before indexing arrays"
++msgstr "ΧÏήση ξεχωÏιστής λανθάνουσας μνήμης για κάθε χÏήστη"
+
+-#: config/score/score.opt:39
+-msgid "Support SCORE 5 ISA"
++#: common.opt:332
++msgid "Replace add, compare, branch with branch on count register"
+ msgstr ""
+
+-#: config/score/score.opt:43
+-msgid "Support SCORE 5U ISA"
++#: common.opt:336
++msgid "Use profiling information for branch probabilities"
+ msgstr ""
+
+-#: config/score/score.opt:47
+-msgid "Support SCORE 7 ISA"
++#: common.opt:340
++msgid "Perform branch target load optimization before prologue / epilogue threading"
+ msgstr ""
+
+-#: config/score/score.opt:51
+-msgid "Support SCORE 7D ISA"
++#: common.opt:344
++msgid "Perform branch target load optimization after prologue / epilogue threading"
+ msgstr ""
+
+-#: config/score/score.opt:55
+-msgid "Support SCORE 3 ISA"
++#: common.opt:348
++msgid "Restrict target load migration not to re-use registers in any basic block"
+ msgstr ""
+
+-#: config/score/score.opt:59
+-msgid "Support SCORE 3d ISA"
++#: common.opt:352
++msgid "Mark <register> as being preserved across functions"
+ msgstr ""
+
+-#: config/linux.opt:24
+-msgid "Use uClibc instead of GNU libc"
++#: common.opt:356
++msgid "Mark <register> as being corrupted by function calls"
+ msgstr ""
+
+-#: config/linux.opt:28
+-msgid "Use GNU libc instead of uClibc"
++#: common.opt:363
++msgid "Save registers around function calls"
+ msgstr ""
+
+-#: c.opt:41
+-msgid "Assert the <answer> to <question>. Putting '-' before <question> disables the <answer> to <question>"
++#: common.opt:367
++msgid "Compare the results of several data dependence analyzers."
+ msgstr ""
+
+-#: c.opt:45
+-#, fuzzy
+-msgid "Do not discard comments"
+-msgstr "Μη τεÏματισμένη εντολή `s'"
+-
+-#: c.opt:49
+-msgid "Do not discard comments in macro expansions"
++#: common.opt:371
++msgid "Do not put uninitialized globals in the common section"
+ msgstr ""
+
+-#: c.opt:53
+-msgid "Define a <macro> with <val> as its value. If just <macro> is given, <val> is taken to be 1"
++#: common.opt:375
++msgid "Perform a register copy-propagation optimization pass"
+ msgstr ""
+
+-#: c.opt:60
+-msgid "Add <dir> to the end of the main framework include path"
++#: common.opt:379
++msgid "Perform cross-jumping optimization"
+ msgstr ""
+
+-#: c.opt:64
+-msgid "Print the name of header files as they are used"
++#: common.opt:383
++msgid "When running CSE, follow jumps to their targets"
+ msgstr ""
+
+-#: c.opt:68 c.opt:859
+-msgid "Add <dir> to the end of the main include path"
++#: common.opt:387
++msgid "When running CSE, follow conditional jumps"
+ msgstr ""
+
+-#: c.opt:72
+-#, fuzzy
+-msgid "Generate make dependencies"
+-msgstr "δυναμικές εξαÏτήσεις.\n"
+-
+-#: c.opt:76
+-msgid "Generate make dependencies and compile"
++#: common.opt:391
++msgid "Omit range reduction step when performing complex division"
+ msgstr ""
+
+-#: c.opt:80
+-msgid "Write dependency output to the given file"
++#: common.opt:395
++msgid "Place data items into their own section"
+ msgstr ""
+
+-#: c.opt:84
+-msgid "Treat missing header files as generated files"
++#: common.opt:399
++msgid "List all available debugging counters with their limits and counts."
+ msgstr ""
+
+-#: c.opt:88
+-msgid "Like -M but ignore system header files"
++#: common.opt:403
++msgid "-fdbg-cnt=<counter>:<limit>[,<counter>:<limit>,...] Set the debug counter limit. "
+ msgstr ""
+
+-#: c.opt:92
+-msgid "Like -MD but ignore system header files"
++#: common.opt:407
++msgid "Map one directory name to another in debug information"
+ msgstr ""
+
+-#: c.opt:96
+-#, fuzzy
+-msgid "Generate phony targets for all headers"
+-msgstr "ΧÏήση ξεχωÏιστής λανθάνουσας μνήμης για κάθε χÏήστη"
+-
+-#: c.opt:100
+-msgid "Add a MAKE-quoted target"
++#: common.opt:413
++msgid "Defer popping functions args from stack until later"
+ msgstr ""
+
+-#: c.opt:104
+-msgid "Add an unquoted target"
++#: common.opt:417
++msgid "Attempt to fill delay slots of branch instructions"
+ msgstr ""
+
+-#: c.opt:108
+-msgid "Do not generate #line directives"
++#: common.opt:421
++msgid "Delete useless null pointer checks"
+ msgstr ""
+
+-#: c.opt:112
+-msgid "Undefine <macro>"
++#: common.opt:425
++msgid "How often to emit source location at the beginning of line-wrapped diagnostics"
+ msgstr ""
+
+-#: c.opt:116
+-msgid "Warn about things that will change when compiling with an ABI-compliant compiler"
++#: common.opt:429
++msgid "Amend appropriate diagnostic messages with the command line option that controls them"
+ msgstr ""
+
+-#: c.opt:120
+-msgid "Warn about suspicious uses of memory addresses"
++#: common.opt:433
++msgid "Dump various compiler internals to a file"
+ msgstr ""
+
+-#: c.opt:124
+-msgid "Enable most warning messages"
++#: common.opt:437
++msgid "Suppress output of addresses in debugging dumps"
+ msgstr ""
+
+-#: c.opt:128
+-msgid "Warn if a comparison is always true or always false due to the limited range of the data type"
++#: common.opt:441
++msgid "Suppress output of instruction numbers, line number notes and addresses in debugging dumps"
+ msgstr ""
+
+-#: c.opt:132
+-msgid "Warn whenever an Objective-C assignment is being intercepted by the garbage collector"
++#: common.opt:445
++msgid "Perform early inlining"
+ msgstr ""
+
+-#: c.opt:136
+-msgid "Warn about casting functions to incompatible types"
++#: common.opt:449
++msgid "Perform DWARF2 duplicate elimination"
+ msgstr ""
+
+-#: c.opt:140
+-msgid "Warn about C constructs that are not in the common subset of C and C++"
++#: common.opt:453 common.opt:457
++msgid "Perform unused type elimination in debug info"
+ msgstr ""
+
+-#: c.opt:144
+-msgid "Warn about C++ constructs whose meaning differs between ISO C++ 1998 and ISO C++ 200x"
++#: common.opt:461
++msgid "Do not suppress C++ class debug information."
+ msgstr ""
+
+-#: c.opt:148
+-msgid "Warn about casts which discard qualifiers"
++#: common.opt:465
++msgid "Enable exception handling"
+ msgstr ""
+
+-#: c.opt:152
+-msgid "Warn about subscripts whose type is \"char\""
++#: common.opt:469
++msgid "Perform a number of minor, expensive optimizations"
+ msgstr ""
+
+-#: c.opt:156
+-msgid "Warn about variables that might be changed by \"longjmp\" or \"vfork\""
++#: common.opt:476
++msgid "Assume no NaNs or infinities are generated"
+ msgstr ""
+
+-#: c.opt:160
+-msgid "Warn about possibly nested block comments, and C++ comments spanning more than one physical line"
++#: common.opt:480
++msgid "Mark <register> as being unavailable to the compiler"
+ msgstr ""
+
+-#: c.opt:164
+-msgid "Synonym for -Wcomment"
++#: common.opt:484
++msgid "Don't allocate floats and doubles in extended-precision registers"
+ msgstr ""
+
+-#: c.opt:168
+-msgid "Warn for implicit type conversions that may change a value"
++#: common.opt:488 common.opt:647 common.opt:855 common.opt:986 common.opt:1061
++msgid "Does nothing. Preserved for backward compatibility."
+ msgstr ""
+
+-#: c.opt:172
+-msgid "Warn for implicit type conversions between signed and unsigned integers"
++#: common.opt:492
++msgid "Perform a forward propagation pass on RTL"
+ msgstr ""
+
+-#: c.opt:176
+-msgid "Warn when all constructors and destructors are private"
++#: common.opt:499
++msgid "Allow function addresses to be held in registers"
+ msgstr ""
+
+-#: c.opt:180
+-msgid "Warn when a declaration is found after a statement"
++#: common.opt:503
++msgid "Place each function into its own section"
+ msgstr ""
+
+-#: c.opt:184
+-msgid "Warn about deprecated compiler features"
++#: common.opt:507
++msgid "Perform global common subexpression elimination"
+ msgstr ""
+
+-#: c.opt:188
+-msgid "Warn about compile-time integer division by zero"
++#: common.opt:511
++msgid "Perform enhanced load motion during global common subexpression elimination"
+ msgstr ""
+
+-#: c.opt:192
+-msgid "Warn about violations of Effective C++ style rules"
++#: common.opt:515
++msgid "Perform store motion after global common subexpression elimination"
+ msgstr ""
+
+-#: c.opt:196
+-msgid "Warn about an empty body in an if or else statement"
++#: common.opt:519
++msgid "Perform redundant load after store elimination in global common subexpression"
+ msgstr ""
+
+-#: c.opt:200
+-msgid "Warn about stray tokens after #elif and #endif"
++#: common.opt:524
++msgid "Perform global common subexpression elimination after register allocation"
+ msgstr ""
+
+-#: c.opt:208
+-msgid "This switch is deprecated; use -Werror=implicit-function-declaration instead"
++#: common.opt:529
++msgid "Enable guessing of branch probabilities"
+ msgstr ""
+
+-#: c.opt:212
+-msgid "Warn if testing floating point numbers for equality"
++#: common.opt:537
++msgid "Process #ident directives"
+ msgstr ""
+
+-#: c.opt:216
+-msgid "Warn about printf/scanf/strftime/strfmon format string anomalies"
++#: common.opt:541
++msgid "Perform conversion of conditional jumps to branchless equivalents"
+ msgstr ""
+
+-#: c.opt:220
+-#, fuzzy
+-msgid "Warn if passing too many arguments to a function for its format string"
+-msgstr "πάÏα πολλά οÏίσματα σε αυτό το αλφαÏιθμητικό μοÏφής"
+-
+-#: c.opt:224
+-msgid "Warn about format strings that are not literals"
++#: common.opt:545
++msgid "Perform conversion of conditional jumps to conditional execution"
+ msgstr ""
+
+-#: c.opt:228
+-msgid "Warn about format strings that contain NUL bytes"
++#: common.opt:553
++msgid "Do not generate .size directives"
+ msgstr ""
+
+-#: c.opt:232
+-msgid "Warn about possible security problems with format functions"
++#: common.opt:562
++msgid "Pay attention to the \"inline\" keyword"
+ msgstr ""
+
+-#: c.opt:236
+-msgid "Warn about strftime formats yielding 2-digit years"
++#: common.opt:566
++msgid "Integrate simple functions into their callers when code size is known to not growth"
+ msgstr ""
+
+-#: c.opt:240
+-msgid "Warn about zero-length formats"
++#: common.opt:570
++msgid "Integrate simple functions into their callers"
+ msgstr ""
+
+-#: c.opt:247
+-msgid "Warn about variables which are initialized to themselves"
++#: common.opt:574
++msgid "Integrate functions called once into their callers"
+ msgstr ""
+
+-#: c.opt:254
+-msgid "Warn about implicit function declarations"
++#: common.opt:581
++msgid "Limit the size of inlined functions to <number>"
+ msgstr ""
+
+-#: c.opt:258
+-msgid "Warn when a declaration does not specify a type"
++#: common.opt:585
++msgid "Instrument function entry and exit with profiling calls"
+ msgstr ""
+
+-#: c.opt:262
+-msgid "Deprecated. This switch has no effect"
++#: common.opt:589
++msgid "-finstrument-functions-exclude-function-list=name,... Do not instrument listed functions"
+ msgstr ""
+
+-#: c.opt:266
+-msgid "Warn when there is a cast to a pointer from an integer of a different size"
++#: common.opt:593
++msgid "-finstrument-functions-exclude-file-list=filename,... Do not instrument functions listed in files"
+ msgstr ""
+
+-#: c.opt:270
+-msgid "Warn about invalid uses of the \"offsetof\" macro"
++#: common.opt:597
++msgid "Perform Interprocedural constant propagation"
+ msgstr ""
+
+-#: c.opt:274
+-msgid "Warn about PCH files that are found but not used"
+-msgstr ""
++#: common.opt:601
++#, fuzzy
++msgid "Discover pure and const functions"
++msgstr "Ακατάλληλη εντολή"
+
+-#: c.opt:278
+-msgid "Do not warn about using \"long long\" when -pedantic"
++#: common.opt:605
++msgid "Perform interprocedural points-to analysis"
+ msgstr ""
+
+-#: c.opt:282
+-msgid "Warn about suspicious declarations of \"main\""
++#: common.opt:609
++msgid "Discover readonly and non addressable static variables"
+ msgstr ""
+
+-#: c.opt:286
+-msgid "Warn about possibly missing braces around initializers"
++#: common.opt:613
++msgid "Type based escape and alias analysis"
+ msgstr ""
+
+-#: c.opt:290
+-msgid "Warn about global functions without previous declarations"
++#: common.opt:617
++msgid "Perform matrix layout flattening and transposing based"
+ msgstr ""
+
+-#: c.opt:294
+-msgid "Warn about missing fields in struct initializers"
++#: common.opt:622
++msgid "Perform structure layout optimizations based"
+ msgstr ""
+
+-#: c.opt:298
+-msgid "Warn about functions which might be candidates for format attributes"
++#: common.opt:627
++msgid "Optimize induction variables on trees"
+ msgstr ""
+
+-#: c.opt:302
+-msgid "Warn about user-specified include directories that do not exist"
+-msgstr ""
+-
+-#: c.opt:306
+-msgid "Warn about function parameters declared without a type specifier in K&R-style functions"
+-msgstr ""
+-
+-#: c.opt:310
+-msgid "Warn about global functions without prototypes"
+-msgstr ""
+-
+-#: c.opt:314
++#: common.opt:631
+ #, fuzzy
+-msgid "Warn about use of multi-character character constants"
+-msgstr "διπλό όνομα χαÏακτήÏα `%s'"
++msgid "Use jump tables for sufficiently large switch statements"
++msgstr "ΧÏήση ξεχωÏιστής λανθάνουσας μνήμης για κάθε χÏήστη"
+
+-#: c.opt:318
+-msgid "Warn about \"extern\" declarations not at file scope"
++#: common.opt:635
++msgid "Generate code for functions even if they are fully inlined"
+ msgstr ""
+
+-#: c.opt:322
+-msgid "Warn when non-templatized friend functions are declared within a template"
++#: common.opt:639
++msgid "Emit static const variables even if they are not used"
+ msgstr ""
+
+-#: c.opt:326
+-msgid "Warn about non-virtual destructors"
++#: common.opt:643
++msgid "Give external symbols a leading underscore"
+ msgstr ""
+
+-#: c.opt:330
+-msgid "Warn about NULL being passed to argument slots marked as requiring non-NULL"
++#: common.opt:651
++msgid "Set errno after built-in math functions"
+ msgstr ""
+
+-#: c.opt:334
+-#, fuzzy
+-msgid "Warn about non-normalised Unicode strings"
+-msgstr "αδυναμία εισαγωγής στοιχείο παÏαβολής `%.*s'"
+-
+-#: c.opt:338
+-msgid "Warn if a C-style cast is used in a program"
++#: common.opt:655
++msgid "Report on permanent memory allocation"
+ msgstr ""
+
+-#: c.opt:342
+-msgid "Warn for obsolescent usage in a declaration"
++#: common.opt:662
++msgid "Attempt to merge identical constants and constant variables"
+ msgstr ""
+
+-#: c.opt:346
+-msgid "Warn if an old-style parameter definition is used"
++#: common.opt:666
++msgid "Attempt to merge identical constants across compilation units"
+ msgstr ""
+
+-#: c.opt:350
+-msgid "Warn if a string is longer than the maximum portable length specified by the standard"
++#: common.opt:670
++msgid "Attempt to merge identical debug strings across compilation units"
+ msgstr ""
+
+-#: c.opt:354
+-msgid "Warn about overloaded virtual function names"
++#: common.opt:674
++msgid "Limit diagnostics to <number> characters per line. 0 suppresses line-wrapping"
+ msgstr ""
+
+-#: c.opt:358
+-msgid "Warn about overriding initializers without side effects"
++#: common.opt:678
++msgid "Perform SMS based modulo scheduling before the first scheduling pass"
+ msgstr ""
+
+-#: c.opt:362
+-msgid "Warn about possibly missing parentheses"
++#: common.opt:682
++msgid "Perform SMS based modulo scheduling with register moves allowed"
+ msgstr ""
+
+-#: c.opt:366
+-msgid "Warn when converting the type of pointers to member functions"
++#: common.opt:686
++msgid "Move loop invariant computations out of loops"
+ msgstr ""
+
+-#: c.opt:370
+-msgid "Warn about function pointer arithmetic"
++#: common.opt:690
++msgid "Add mudflap bounds-checking instrumentation for single-threaded program"
+ msgstr ""
+
+-#: c.opt:374
+-msgid "Warn when a pointer is cast to an integer of a different size"
++#: common.opt:694
++msgid "Add mudflap bounds-checking instrumentation for multi-threaded program"
+ msgstr ""
+
+-#: c.opt:378
+-msgid "Warn about misuses of pragmas"
++#: common.opt:698
++msgid "Ignore read operations when inserting mudflap instrumentation"
+ msgstr ""
+
+-#: c.opt:382
+-msgid "Warn if inherited methods are unimplemented"
++#: common.opt:702
++msgid "Use the RTL dead code elimination pass"
+ msgstr ""
+
+-#: c.opt:386
+-msgid "Warn about multiple declarations of the same object"
++#: common.opt:706
++msgid "Use the RTL dead store elimination pass"
+ msgstr ""
+
+-#: c.opt:390
+-msgid "Warn when the compiler reorders code"
++#: common.opt:710
++msgid "Enable/Disable the traditional scheduling in loops that already passed modulo scheduling"
+ msgstr ""
+
+-#: c.opt:394
+-msgid "Warn whenever a function's return type defaults to \"int\" (C), or about inconsistent return types (C++)"
++#: common.opt:714
++msgid "Support synchronous non-call exceptions"
+ msgstr ""
+
+-#: c.opt:398
+-msgid "Warn if a selector has multiple methods"
++#: common.opt:718
++msgid "When possible do not generate stack frames"
+ msgstr ""
+
+-#: c.opt:402
+-msgid "Warn about possible violations of sequence point rules"
++#: common.opt:722
++msgid "Expand OpenMP operations on SSA form"
+ msgstr ""
+
+-#: c.opt:406
+-msgid "Warn about signed-unsigned comparisons"
++#: common.opt:726
++msgid "Do the full register move optimization pass"
+ msgstr ""
+
+-#: c.opt:410
+-msgid "Warn when overload promotes from unsigned to signed"
++#: common.opt:730
++msgid "Optimize sibling and tail recursive calls"
+ msgstr ""
+
+-#: c.opt:414
+-msgid "Warn about uncasted NULL used as sentinel"
++#: common.opt:734 common.opt:738
++msgid "Report on memory allocation before interprocedural optimization"
+ msgstr ""
+
+-#: c.opt:418
+-#, fuzzy
+-msgid "Warn about unprototyped function declarations"
+-msgstr "αδυναμία εισαγωγής στοιχείο παÏαβολής `%.*s'"
+-
+-#: c.opt:422
+-msgid "Warn if type signatures of candidate methods do not match exactly"
++#: common.opt:742
++msgid "Pack structure members together without holes"
+ msgstr ""
+
+-#: c.opt:426
+-msgid "Warn when synthesis behavior differs from Cfront"
++#: common.opt:746
++msgid "Set initial maximum structure member alignment"
+ msgstr ""
+
+-#: c.opt:430 common.opt:182
+-#, fuzzy
+-msgid "Do not suppress warnings from system headers"
+-msgstr "Αποσιώπηση Ï€Ïοηδοποιήσεων και μηνυμάτων πληÏοφόÏησης"
+-
+-#: c.opt:434
+-msgid "Warn about features not present in traditional C"
++#: common.opt:750
++msgid "Return small aggregates in memory, not registers"
+ msgstr ""
+
+-#: c.opt:438
+-msgid "Warn of prototypes causing type conversions different from what would happen in the absence of prototype"
++#: common.opt:754
++msgid "Perform loop peeling"
+ msgstr ""
+
+-#: c.opt:442
+-msgid "Warn if trigraphs are encountered that might affect the meaning of the program"
++#: common.opt:758
++msgid "Enable machine specific peephole optimizations"
+ msgstr ""
+
+-#: c.opt:446
+-msgid "Warn about @selector()s without previously declared methods"
++#: common.opt:762
++msgid "Enable an RTL peephole pass before sched2"
+ msgstr ""
+
+-#: c.opt:450
+-#, fuzzy
+-msgid "Warn if an undefined macro is used in an #if directive"
+-msgstr "%%%c: κατευθυντήÏιος γÏαμμή μη έγκυÏη."
+-
+-#: c.opt:454
+-msgid "Warn about unrecognized pragmas"
++#: common.opt:766
++msgid "Generate position-independent code if possible (large mode)"
+ msgstr ""
+
+-#: c.opt:458
+-msgid "Warn about macros defined in the main file that are not used"
++#: common.opt:770
++msgid "Generate position-independent code for executables if possible (large mode)"
+ msgstr ""
+
+-#: c.opt:462
+-msgid "Do not warn about using variadic macros when -pedantic"
++#: common.opt:774
++msgid "Generate position-independent code if possible (small mode)"
+ msgstr ""
+
+-#: c.opt:466
+-msgid "Warn if a variable length array is used"
++#: common.opt:778
++msgid "Generate position-independent code for executables if possible (small mode)"
+ msgstr ""
+
+-#: c.opt:470
+-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."
++#: common.opt:782
++msgid "Run predictive commoning optimization."
+ msgstr ""
+
+-#: c.opt:474
+-msgid "Warn when a pointer differs in signedness in an assignment"
++#: common.opt:786
++msgid "Generate prefetch instructions, if available, for arrays in loops"
+ msgstr ""
+
+-#: c.opt:478
+-msgid "A synonym for -std=c89 (for C) or -std=c++98 (for C++)"
++#: common.opt:790
++msgid "Enable basic program profiling code"
+ msgstr ""
+
+-#: c.opt:486
+-msgid "Enforce class member access control semantics"
++#: common.opt:794
++msgid "Insert arc-based program profiling code"
+ msgstr ""
+
+-#: c.opt:493
+-msgid "Change when template instances are emitted"
++#: common.opt:798
++msgid "Enable common options for generating profile info for profile feedback directed optimizations"
+ msgstr ""
+
+-#: c.opt:497
+-msgid "Recognize the \"asm\" keyword"
++#: common.opt:802
++msgid "Enable common options for performing profile feedback directed optimizations"
+ msgstr ""
+
+-#: c.opt:501
+-#, fuzzy
+-msgid "Recognize built-in functions"
+-msgstr "αδυναμία εκτέλεσης ioctl στο `%s'"
+-
+-#: c.opt:508
+-msgid "Check the return value of new"
++#: common.opt:806
++msgid "Insert code to profile values of expressions"
+ msgstr ""
+
+-#: c.opt:512
+-msgid "Allow the arguments of the '?' operator to have different types"
++#: common.opt:813
++msgid "Make compile reproducible using <string>"
+ msgstr ""
+
+-#: c.opt:516
+-msgid "Reduce the size of object files"
++#: common.opt:823
++msgid "Record gcc command line switches in the object file."
+ msgstr ""
+
+-#: c.opt:520
+-msgid "Use class <name> for constant strings"
++#: common.opt:827
++msgid "Return small aggregates in registers"
+ msgstr ""
+
+-#: c.opt:524
+-#, fuzzy
+-msgid "Inline member functions by default"
+-msgstr "Στη συνάÏτηση μέλος `%s':"
+-
+-#: c.opt:528
+-msgid "Preprocess directives only."
++#: common.opt:831
++msgid "Enables a register move optimization"
+ msgstr ""
+
+-#: c.opt:532
+-#, fuzzy
+-msgid "Permit '$' as an identifier character"
+-msgstr "λίστα με όλα τα γνωστά σÏνολα χαÏακτήÏων"
+-
+-#: c.opt:539
+-msgid "Generate code to check exception specifications"
++#: common.opt:835
++msgid "Perform a register renaming optimization pass"
+ msgstr ""
+
+-#: c.opt:546
+-msgid "Convert all strings and character constants to character set <cset>"
++#: common.opt:839
++msgid "Reorder basic blocks to improve code placement"
+ msgstr ""
+
+-#: c.opt:550
+-msgid "Permit universal character names (\\u and \\U) in identifiers"
++#: common.opt:843
++msgid "Reorder basic blocks and partition into hot and cold sections"
+ msgstr ""
+
+-#: c.opt:554
+-msgid "Specify the default character set for source files"
++#: common.opt:847
++msgid "Reorder functions to improve code placement"
+ msgstr ""
+
+-#: c.opt:562
+-msgid "Scope of for-init-statement variables is local to the loop"
++#: common.opt:851
++msgid "Add a common subexpression elimination pass after loop optimizations"
+ msgstr ""
+
+-#: c.opt:566
+-msgid "Do not assume that standard C libraries and \"main\" exist"
++#: common.opt:859
++msgid "Disable optimizations that assume default FP rounding behavior"
+ msgstr ""
+
+-#: c.opt:570
+-msgid "Recognize GNU-defined keywords"
++#: common.opt:863
++msgid "Enable scheduling across basic blocks"
+ msgstr ""
+
+-#: c.opt:574
+-msgid "Generate code for GNU runtime environment"
++#: common.opt:867
++msgid "Allow speculative motion of non-loads"
+ msgstr ""
+
+-#: c.opt:578
+-msgid "Use traditional GNU semantics for inline functions"
++#: common.opt:871
++msgid "Allow speculative motion of some loads"
+ msgstr ""
+
+-#: c.opt:591
+-msgid "Assume normal C execution environment"
++#: common.opt:875
++msgid "Allow speculative motion of more loads"
+ msgstr ""
+
+-#: c.opt:595
+-msgid "Enable support for huge objects"
++#: common.opt:879
++msgid "Set the verbosity level of the scheduler"
+ msgstr ""
+
+-#: c.opt:599
+-msgid "Export functions even if they can be inlined"
++#: common.opt:883
++msgid "If scheduling post reload, do superblock scheduling"
+ msgstr ""
+
+-#: c.opt:603
+-#, fuzzy
+-msgid "Emit implicit instantiations of inline templates"
+-msgstr "αδυναμία ανοίγματος αÏχείου οÏÎ¹ÏƒÎ¼Î¿Ï locale `%s'"
+-
+-#: c.opt:607
+-#, fuzzy
+-msgid "Emit implicit instantiations of templates"
+-msgstr "διπλός οÏισμός συνόλου"
+-
+-#: c.opt:611
+-msgid "Inject friend functions into enclosing namespace"
++#: common.opt:887
++msgid "If scheduling post reload, do trace scheduling"
+ msgstr ""
+
+-#: c.opt:618
+-msgid "Allow implicit conversions between vectors with differing numbers of subparts and/or differing element types."
++#: common.opt:891
++msgid "Reschedule instructions before register allocation"
+ msgstr ""
+
+-#: c.opt:622
+-msgid "Don't warn about uses of Microsoft extensions"
++#: common.opt:895
++msgid "Reschedule instructions after register allocation"
+ msgstr ""
+
+-#: c.opt:632
+-msgid "Generate code for NeXT (Apple Mac OS X) runtime environment"
++#: common.opt:901
++msgid "Allow premature scheduling of queued insns"
+ msgstr ""
+
+-#: c.opt:636
+-msgid "Assume that receivers of Objective-C messages may be nil"
++#: common.opt:905
++msgid "Set number of queued insns that can be prematurely scheduled"
+ msgstr ""
+
+-#: c.opt:648
+-msgid "Generate special Objective-C methods to initialize/destroy non-POD C++ ivars, if needed"
++#: common.opt:913 common.opt:917
++msgid "Set dependence distance checking in premature scheduling of queued insns"
+ msgstr ""
+
+-#: c.opt:652
+-msgid "Allow fast jumps to the message dispatcher"
++#: common.opt:921
++msgid "Access data in the same section from shared anchor points"
+ msgstr ""
+
+-#: c.opt:658
+-msgid "Enable Objective-C exception and synchronization syntax"
++#: common.opt:925
++msgid "Perform sequence abstraction optimization on RTL"
+ msgstr ""
+
+-#: c.opt:662
+-msgid "Enable garbage collection (GC) in Objective-C/Objective-C++ programs"
++#: common.opt:929
++msgid "Eliminate redundant sign extensions using LCM."
+ msgstr ""
+
+-#: c.opt:667
+-msgid "Enable Objective-C setjmp exception handling runtime"
++#: common.opt:933
++msgid "Show column numbers in diagnostics, when available. Default off"
+ msgstr ""
+
+-#: c.opt:671
+-msgid "Enable OpenMP"
++#: common.opt:937
++msgid "Disable optimizations observable by IEEE signaling NaNs"
+ msgstr ""
+
+-#: c.opt:675
+-msgid "Recognize C++ kewords like \"compl\" and \"xor\""
++#: common.opt:941
++msgid "Disable floating point optimizations that ignore the IEEE signedness of zero"
+ msgstr ""
+
+-#: c.opt:679
+-#, fuzzy
+-msgid "Enable optional diagnostics"
+-msgstr "Ακατάλληλη εντολή"
+-
+-#: c.opt:686
+-msgid "Look for and use PCH files even when preprocessing"
++#: common.opt:945
++msgid "Convert floating point constants to single precision constants"
+ msgstr ""
+
+-#: c.opt:690
+-msgid "Downgrade conformance errors to warnings"
++#: common.opt:949
++msgid "Split lifetimes of induction variables when loops are unrolled"
+ msgstr ""
+
+-#: c.opt:694
+-msgid "Treat the input file as already preprocessed"
++#: common.opt:953
++msgid "Split wide types into independent registers"
+ msgstr ""
+
+-#: c.opt:698
+-msgid "Used in Fix-and-Continue mode to indicate that object files may be swapped in at runtime"
++#: common.opt:957
++msgid "Apply variable expansion when loops are unrolled"
+ msgstr ""
+
+-#: c.opt:702
+-msgid "Enable automatic template instantiation"
++#: common.opt:963
++msgid "Insert stack checking code into the program"
+ msgstr ""
+
+-#: c.opt:706
+-msgid "Generate run time type descriptor information"
++#: common.opt:970
++msgid "Trap if the stack goes past <register>"
+ msgstr ""
+
+-#: c.opt:710
+-msgid "Use the same size for double as for float"
++#: common.opt:974
++msgid "Trap if the stack goes past symbol <name>"
+ msgstr ""
+
+-#: c.opt:718
+-msgid "Force the underlying type for \"wchar_t\" to be \"unsigned short\""
++#: common.opt:978
++msgid "Use propolice as a stack protection method"
+ msgstr ""
+
+-#: c.opt:722
+-msgid "When \"signed\" or \"unsigned\" is not given make the bitfield signed"
++#: common.opt:982
++msgid "Use a stack protection method for every function"
+ msgstr ""
+
+-#: c.opt:726
+-msgid "Make \"char\" signed by default"
++#: common.opt:994
++msgid "Assume strict aliasing rules apply"
+ msgstr ""
+
+-#: c.opt:733
+-msgid "Display statistics accumulated during compilation"
++#: common.opt:998
++msgid "Treat signed overflow as undefined"
+ msgstr ""
+
+-#: c.opt:740
+-msgid "Distance between tab stops for column reporting"
++#: common.opt:1002
++msgid "Check for syntax errors, then stop"
+ msgstr ""
+
+-#: c.opt:744
+-msgid "Specify maximum template instantiation depth"
++#: common.opt:1006
++msgid "Create data files needed by \"gcov\""
+ msgstr ""
+
+-#: c.opt:751
+-msgid "Do not generate thread-safe code for initializing local statics"
++#: common.opt:1010
++msgid "Perform jump threading optimizations"
+ msgstr ""
+
+-#: c.opt:755
+-msgid "When \"signed\" or \"unsigned\" is not given make the bitfield unsigned"
++#: common.opt:1014
++msgid "Report the time taken by each compiler pass"
+ msgstr ""
+
+-#: c.opt:759
+-msgid "Make \"char\" unsigned by default"
++#: common.opt:1018
++msgid "Set the default thread-local storage code generation model"
+ msgstr ""
+
+-#: c.opt:763
+-msgid "Use __cxa_atexit to register destructors"
++#: common.opt:1022
++msgid "Reorder top level functions, variables, and asms"
+ msgstr ""
+
+-#: c.opt:767
+-msgid "Use __cxa_get_exception_ptr in exception handling"
++#: common.opt:1026
++msgid "Perform superblock formation via tail duplication"
+ msgstr ""
+
+-#: c.opt:771
+-msgid "Marks all inlined methods as having hidden visibility"
+-msgstr ""
++#: common.opt:1033
++#, fuzzy
++msgid "Assume floating-point operations can trap"
++msgstr "ΕξαίÏεση κινητής υποδιαστολής"
+
+-#: c.opt:775
+-msgid "Changes visibility to match Microsoft Visual Studio by default"
++#: common.opt:1037
++msgid "Trap for signed overflow in addition, subtraction and multiplication"
+ msgstr ""
+
+-#: c.opt:779
+-msgid "Discard unused virtual functions"
++#: common.opt:1041
++msgid "Enable SSA-CCP optimization on trees"
+ msgstr ""
+
+-#: c.opt:783
+-msgid "Implement vtables using thunks"
++#: common.opt:1045
++msgid "Enable SSA-CCP optimization for stores and loads"
+ msgstr ""
+
+-#: c.opt:787
+-msgid "Emit common-like symbols as weak symbols"
++#: common.opt:1049
++msgid "Enable loop header copying on trees"
+ msgstr ""
+
+-#: c.opt:791
+-msgid "Convert all wide strings and character constants to character set <cset>"
++#: common.opt:1053
++msgid "Replace SSA temporaries with better names in copies"
+ msgstr ""
+
+-#: c.opt:795
+-msgid "Generate a #line directive pointing at the current working directory"
++#: common.opt:1057
++msgid "Enable copy propagation on trees"
+ msgstr ""
+
+-#: c.opt:799
+-#, fuzzy
+-msgid "Emit cross referencing information"
+-msgstr "εμφάνιση πληÏοφοÏιών Ï€Ïοόδου"
+-
+-#: c.opt:803
+-msgid "Generate lazy class lookup (via objc_getClass()) for use in Zero-Link mode"
++#: common.opt:1065
++msgid "Transform condition stores into unconditional ones"
+ msgstr ""
+
+-#: c.opt:807
+-msgid "Dump declarations to a .decl file"
++#: common.opt:1069
++msgid "Enable SSA dead code elimination optimization on trees"
+ msgstr ""
+
+-#: c.opt:811
+-msgid "Aggressive reduced debug info for structs"
++#: common.opt:1073
++msgid "Enable dominator optimizations"
+ msgstr ""
+
+-#: c.opt:815
+-msgid "Conservative reduced debug info for structs"
++#: common.opt:1077
++msgid "Enable dead store elimination"
+ msgstr ""
+
+-#: c.opt:819
+-msgid "Detailed reduced debug info for structs"
++#: common.opt:1081
++msgid "Enable Full Redundancy Elimination (FRE) on trees"
+ msgstr ""
+
+-#: c.opt:823 c.opt:855
+-msgid "Add <dir> to the end of the system include path"
++#: common.opt:1085
++msgid "Enable loop invariant motion on trees"
+ msgstr ""
+
+-#: c.opt:827
+-msgid "Accept definition of macros in <file>"
++#: common.opt:1089
++msgid "Enable linear loop transforms on trees"
+ msgstr ""
+
+-#: c.opt:831
+-msgid "-imultilib <dir> Set <dir> to be the multilib include subdirectory"
++#: common.opt:1093
++msgid "Create canonical induction variables in loops"
+ msgstr ""
+
+-#: c.opt:835
+-msgid "Include the contents of <file> before other files"
++#: common.opt:1097
++msgid "Enable loop optimizations on tree level"
+ msgstr ""
+
+-#: c.opt:839
+-msgid "Specify <path> as a prefix for next two options"
+-msgstr ""
++#: common.opt:1101
++#, fuzzy
++msgid "Enable automatic parallelization of loops"
++msgstr "Ακατάλληλη εντολή"
+
+-#: c.opt:843
+-msgid "Set <dir> to be the system root directory"
++#: common.opt:1105
++msgid "Enable SSA-PRE optimization on trees"
+ msgstr ""
+
+-#: c.opt:847
+-msgid "Add <dir> to the start of the system include path"
++#: common.opt:1109
++msgid "Enable reassociation on tree level"
+ msgstr ""
+
+-#: c.opt:851
+-msgid "Add <dir> to the end of the quote include path"
++#: common.opt:1113
++msgid "Perform structural alias analysis"
+ msgstr ""
+
+-#: c.opt:872
+-msgid "Do not search standard system include directories (those specified with -isystem will still be used)"
++#: common.opt:1117
++msgid "Enable SSA code sinking on trees"
+ msgstr ""
+
+-#: c.opt:876
+-msgid "Do not search standard system include directories for C++"
++#: common.opt:1121
++msgid "Perform scalar replacement of aggregates"
+ msgstr ""
+
+-#: c.opt:892
+-msgid "Generate C header of platform-specific features"
++#: common.opt:1125
++msgid "Replace temporary expressions in the SSA->normal pass"
+ msgstr ""
+
+-#: c.opt:896
+-msgid "Print a checksum of the executable for PCH validity checking, and stop"
++#: common.opt:1129
++msgid "Perform live range splitting during the SSA->normal pass"
+ msgstr ""
+
+-#: c.opt:900
+-#, fuzzy
+-msgid "Remap file names when including files"
+-msgstr "Μη οÏισμένο όνομα %s"
+-
+-#: c.opt:904
+-msgid "Conform to the ISO 1998 C++ standard"
++#: common.opt:1133
++msgid "Perform Value Range Propagation on trees"
+ msgstr ""
+
+-#: c.opt:908
+-msgid "Conform to the ISO 1998 C++ standard, with extensions that are likely to"
++#: common.opt:1137
++msgid "Compile whole compilation unit at a time"
+ msgstr ""
+
+-#: c.opt:915 c.opt:950
+-msgid "Conform to the ISO 1990 C standard"
++#: common.opt:1141
++msgid "Perform loop unrolling when iteration count is known"
+ msgstr ""
+
+-#: c.opt:919 c.opt:958
+-msgid "Conform to the ISO 1999 C standard"
++#: common.opt:1145
++msgid "Perform loop unrolling for all loops"
+ msgstr ""
+
+-#: c.opt:923
+-msgid "Deprecated in favor of -std=c99"
++#: common.opt:1152
++msgid "Allow loop optimizations to assume that the loops behave in normal way"
+ msgstr ""
+
+-#: c.opt:927
+-msgid "Conform to the ISO 1998 C++ standard with GNU extensions"
++#: common.opt:1156
++msgid "Allow optimization for floating-point arithmetic which may change the"
+ msgstr ""
+
+-#: c.opt:931
+-msgid "Conform to the ISO 1998 C++ standard, with GNU extensions and"
++#: common.opt:1161
++msgid "Same as -fassociative-math for expressions which include division."
+ msgstr ""
+
+-#: c.opt:938
+-msgid "Conform to the ISO 1990 C standard with GNU extensions"
++#: common.opt:1169
++msgid "Allow math optimizations that may violate IEEE or ISO standards"
+ msgstr ""
+
+-#: c.opt:942
+-msgid "Conform to the ISO 1999 C standard with GNU extensions"
++#: common.opt:1173
++msgid "Perform loop unswitching"
+ msgstr ""
+
+-#: c.opt:946
+-msgid "Deprecated in favor of -std=gnu99"
++#: common.opt:1177
++msgid "Just generate unwind tables for exception handling"
+ msgstr ""
+
+-#: c.opt:954
+-msgid "Conform to the ISO 1990 C standard as amended in 1994"
++#: common.opt:1181
++msgid "Perform variable tracking"
+ msgstr ""
+
+-#: c.opt:962
+-msgid "Deprecated in favor of -std=iso9899:1999"
++#: common.opt:1185
++msgid "Perform variable tracking and also tag variables that are uninitialized"
+ msgstr ""
+
+-#: c.opt:966
+-msgid "Enable traditional preprocessing"
++#: common.opt:1189
++msgid "Enable loop vectorization on trees"
+ msgstr ""
+
+-#: c.opt:970
+-msgid "Support ISO C trigraphs"
+-msgstr ""
+-
+-#: c.opt:974
+-msgid "Do not predefine system-specific and GCC-specific macros"
+-msgstr ""
+-
+-#: c.opt:978
+-msgid "Enable verbose output"
+-msgstr ""
+-
+-#: common.opt:27
++#: common.opt:1193
+ #, fuzzy
+-msgid "Display this information"
+-msgstr " --help Εμφάνιση αυτών των πληÏοφοÏιών\n"
++msgid "Enable use of cost model in vectorization"
++msgstr "Ακατάλληλη εντολή"
+
+-#: common.opt:31
+-msgid "Display descriptions of a specific class of options. <class> is one or more of optimizers, target, warnings, undocumented, params"
++#: common.opt:1197
++msgid "Enable loop versioning when doing loop vectorization on trees"
+ msgstr ""
+
+-#: common.opt:35
+-msgid "Alias for --help=target"
++#: common.opt:1201
++msgid "Set the verbosity level of the vectorizer"
+ msgstr ""
+
+-#: common.opt:51
+-msgid "Set parameter <param> to value. See below for a complete list of parameters"
++#: common.opt:1205
++msgid "Enable copy propagation of scalar-evolution information."
+ msgstr ""
+
+-#: common.opt:58
+-msgid "Put global and static data smaller than <number> bytes into a special section (on some targets)"
++#: common.opt:1215
++msgid "Add extra commentary to assembler output"
+ msgstr ""
+
+-#: common.opt:62
+-msgid "Set optimization level to <number>"
++#: common.opt:1219
++msgid "Set the default symbol visibility"
+ msgstr ""
+
+-#: common.opt:66
+-msgid "Optimize for space rather than speed"
+-msgstr ""
++#: common.opt:1224
++#, fuzzy
++msgid "Use expression value profiles in optimizations"
++msgstr "Λάθος έκφÏαση στην αποτίμηση: %s"
+
+-#: common.opt:70
+-msgid "This switch is deprecated; use -Wextra instead"
++#: common.opt:1228
++msgid "Construct webs and split unrelated uses of single variable"
+ msgstr ""
+
+-#: common.opt:74
+-msgid "Warn about returning structures, unions or arrays"
++#: common.opt:1232
++msgid "Perform whole program optimizations"
+ msgstr ""
+
+-#: common.opt:78
+-msgid "Warn if an array is accessed out of bounds"
++#: common.opt:1236
++msgid "Assume signed arithmetic overflow wraps around"
+ msgstr ""
+
+-#: common.opt:82
+-msgid "Warn about inappropriate attribute usage"
++#: common.opt:1240
++msgid "Put zero initialized data in the bss section"
+ msgstr ""
+
+-#: common.opt:86
+-msgid "Warn about pointer casts which increase alignment"
++#: common.opt:1244
++msgid "Generate debug information in default format"
+ msgstr ""
+
+-#: common.opt:90
+-msgid "Warn about uses of __attribute__((deprecated)) declarations"
++#: common.opt:1248
++msgid "Generate debug information in COFF format"
+ msgstr ""
+
+-#: common.opt:94
+-msgid "Warn when an optimization pass is disabled"
++#: common.opt:1252
++msgid "Generate debug information in DWARF v2 format"
+ msgstr ""
+
+-#: common.opt:98
+-msgid "Treat all warnings as errors"
++#: common.opt:1256
++msgid "Generate debug information in default extended format"
+ msgstr ""
+
+-#: common.opt:102
+-msgid "Treat specified warning as error"
++#: common.opt:1260
++msgid "Generate debug information in STABS format"
+ msgstr ""
+
+-#: common.opt:106
+-msgid "Print extra (possibly unwanted) warnings"
++#: common.opt:1264
++msgid "Generate debug information in extended STABS format"
+ msgstr ""
+
+-#: common.opt:110
+-msgid "Exit on the first error occurred"
++#: common.opt:1268
++msgid "Generate debug information in VMS format"
+ msgstr ""
+
+-#: common.opt:114
+-msgid "Warn when an inlined function cannot be inlined"
++#: common.opt:1272
++msgid "Generate debug information in XCOFF format"
+ msgstr ""
+
+-#: common.opt:118
+-msgid "Warn if an object is larger than <number> bytes"
++#: common.opt:1276
++msgid "Generate debug information in extended XCOFF format"
+ msgstr ""
+
+-#: common.opt:122
+-msgid "Warn when a logical operator is suspicously always evaluating to true or false"
+-msgstr ""
++#: common.opt:1280
++#, fuzzy
++msgid "Place output into <file>"
++msgstr " -o <αÏχείο> Τοποθέτηση της εξόδου στο <αÏχείο>\n"
+
+-#: common.opt:126
+-msgid "Warn if the loop cannot be optimized due to nontrivial assumptions."
+-msgstr ""
+-
+-#: common.opt:130
+-msgid "Warn about functions which might be candidates for __attribute__((noreturn))"
+-msgstr ""
+-
+-#: common.opt:134
++#: common.opt:1284
+ #, fuzzy
+-msgid "Warn about overflow in arithmetic expressions"
+-msgstr "%s: μη έγκυÏη κανονική έκφÏαση: %s"
++msgid "Enable function profiling"
++msgstr "αδÏνατη η φόÏτωση δεδομένων Ï€Ïοφίλ"
+
+-#: common.opt:138
+-msgid "Warn when the packed attribute has no effect on struct layout"
++#: common.opt:1288
++msgid "Issue warnings needed for strict compliance to the standard"
+ msgstr ""
+
+-#: common.opt:142
+-msgid "Warn when padding is required to align structure members"
++#: common.opt:1292
++msgid "Like -pedantic but issue them as errors"
+ msgstr ""
+
+-#: common.opt:146
+-msgid "Warn when one local variable shadows another"
++#: common.opt:1296
++msgid "Do not display functions compiled or elapsed time"
+ msgstr ""
+
+-#: common.opt:150
+-msgid "Warn when not issuing stack smashing protection for some reason"
+-msgstr ""
++#: common.opt:1300
++#, fuzzy
++msgid "Display the compiler's version"
++msgstr " --help Εμφάνιση αυτών των πληÏοφοÏιών\n"
+
+-#: common.opt:154 common.opt:158
+-msgid "Warn about code which might break strict aliasing rules"
+-msgstr ""
++#: common.opt:1304
++#, fuzzy
++msgid "Suppress warnings"
++msgstr "%s: Ï€Ïοειδοποίηση: "
+
+-#: common.opt:162 common.opt:166
+-msgid "Warn about optimizations that assume that signed overflow is undefined"
++#: common.opt:1308
++msgid "Create a shared library"
+ msgstr ""
+
+-#: common.opt:170
+-msgid "Warn about enumerated switches, with no default, missing a case"
++#: common.opt:1312
++msgid "Create a position independent executable"
+ msgstr ""
+
+-#: common.opt:174
+-msgid "Warn about enumerated switches missing a \"default:\" statement"
++#: c.opt:41
++msgid "Assert the <answer> to <question>. Putting '-' before <question> disables the <answer> to <question>"
+ msgstr ""
+
+-#: common.opt:178
+-msgid "Warn about all enumerated switches missing a specific case"
+-msgstr ""
++#: c.opt:45
++#, fuzzy
++msgid "Do not discard comments"
++msgstr "Μη τεÏματισμένη εντολή `s'"
+
+-#: common.opt:186
+-msgid "Warn about uninitialized automatic variables"
++#: c.opt:49
++msgid "Do not discard comments in macro expansions"
+ msgstr ""
+
+-#: common.opt:190
+-msgid "Warn about code that will never be executed"
++#: c.opt:53
++msgid "Define a <macro> with <val> as its value. If just <macro> is given, <val> is taken to be 1"
+ msgstr ""
+
+-#: common.opt:194
+-msgid "Enable all -Wunused- warnings"
++#: c.opt:60
++msgid "Add <dir> to the end of the main framework include path"
+ msgstr ""
+
+-#: common.opt:198
+-msgid "Warn when a function is unused"
++#: c.opt:64
++msgid "Print the name of header files as they are used"
+ msgstr ""
+
+-#: common.opt:202
+-msgid "Warn when a label is unused"
++#: c.opt:68 c.opt:863
++msgid "Add <dir> to the end of the main include path"
+ msgstr ""
+
+-#: common.opt:206
+-msgid "Warn when a function parameter is unused"
+-msgstr ""
+-
+-#: common.opt:210
+-msgid "Warn when an expression value is unused"
+-msgstr ""
+-
+-#: common.opt:214
+-msgid "Warn when a variable is unused"
+-msgstr ""
+-
+-# src/shred.c:1134
+-#: common.opt:218
++#: c.opt:72
+ #, fuzzy
+-msgid "Warn when a register variable is declared volatile"
+-msgstr "%s: το αÏχείο είναι Ï€Î¿Î»Ï Î¼ÎµÎ³Î¬Î»Î¿"
++msgid "Generate make dependencies"
++msgstr "δυναμικές εξαÏτήσεις.\n"
+
+-#: common.opt:222
+-msgid "Warn instead of error in case profiles in -fprofile-use do not match"
++#: c.opt:76
++msgid "Generate make dependencies and compile"
+ msgstr ""
+
+-#: common.opt:226
+-#, fuzzy
+-msgid "Emit declaration information into <file>"
+-msgstr "εμφάνιση πληÏοφοÏιών Ï€Ïοόδου"
+-
+-#: common.opt:239
+-msgid "Enable dumps from specific passes of the compiler"
++#: c.opt:80
++msgid "Write dependency output to the given file"
+ msgstr ""
+
+-#: common.opt:243
+-msgid "Set the file basename to be used for dumps"
++#: c.opt:84
++msgid "Treat missing header files as generated files"
+ msgstr ""
+
+-#: common.opt:263
+-msgid "Align the start of functions"
++#: c.opt:88
++msgid "Like -M but ignore system header files"
+ msgstr ""
+
+-#: common.opt:270
+-msgid "Align labels which are only reached by jumping"
++#: c.opt:92
++msgid "Like -MD but ignore system header files"
+ msgstr ""
+
+-#: common.opt:277
+-msgid "Align all labels"
+-msgstr ""
+-
+-#: common.opt:284
+-msgid "Align the start of loops"
+-msgstr ""
+-
+-#: common.opt:299
+-msgid "Specify that arguments may alias each other and globals"
+-msgstr ""
+-
+-#: common.opt:303
+-msgid "Assume arguments may alias globals but not each other"
+-msgstr ""
+-
+-#: common.opt:307
+-msgid "Assume arguments alias neither each other nor globals"
+-msgstr ""
+-
+-#: common.opt:311
++#: c.opt:96
+ #, fuzzy
+-msgid "Assume arguments alias no other storage"
+-msgstr "έχουν παÏαληφθεί οÏίσματα"
+-
+-#: common.opt:315
+-msgid "Generate unwind tables that are exact at each instruction boundary"
+-msgstr ""
+-
+-#: common.opt:319
+-#, fuzzy
+-msgid "Generate auto-inc/dec instructions"
+-msgstr "Ακατάλληλη εντολή"
+-
+-#: common.opt:327
+-#, fuzzy
+-msgid "Generate code to check bounds before indexing arrays"
++msgid "Generate phony targets for all headers"
+ msgstr "ΧÏήση ξεχωÏιστής λανθάνουσας μνήμης για κάθε χÏήστη"
+
+-#: common.opt:331
+-msgid "Replace add, compare, branch with branch on count register"
++#: c.opt:100
++msgid "Add a MAKE-quoted target"
+ msgstr ""
+
+-#: common.opt:335
+-msgid "Use profiling information for branch probabilities"
++#: c.opt:104
++msgid "Add an unquoted target"
+ msgstr ""
+
+-#: common.opt:339
+-msgid "Perform branch target load optimization before prologue / epilogue threading"
++#: c.opt:108
++msgid "Do not generate #line directives"
+ msgstr ""
+
+-#: common.opt:343
+-msgid "Perform branch target load optimization after prologue / epilogue threading"
++#: c.opt:112
++msgid "Undefine <macro>"
+ msgstr ""
+
+-#: common.opt:347
+-msgid "Restrict target load migration not to re-use registers in any basic block"
++#: c.opt:116
++msgid "Warn about things that will change when compiling with an ABI-compliant compiler"
+ msgstr ""
+
+-#: common.opt:351
+-msgid "Mark <register> as being preserved across functions"
++#: c.opt:120
++msgid "Warn about suspicious uses of memory addresses"
+ msgstr ""
+
+-#: common.opt:355
+-msgid "Mark <register> as being corrupted by function calls"
++#: c.opt:124
++msgid "Enable most warning messages"
+ msgstr ""
+
+-#: common.opt:362
+-msgid "Save registers around function calls"
++#: c.opt:128
++msgid "Warn if a comparison is always true or always false due to the limited range of the data type"
+ msgstr ""
+
+-#: common.opt:366
+-msgid "Compare the results of several data dependence analyzers."
++#: c.opt:132
++msgid "Warn whenever an Objective-C assignment is being intercepted by the garbage collector"
+ msgstr ""
+
+-#: common.opt:370
+-msgid "Do not put uninitialized globals in the common section"
++#: c.opt:136
++msgid "Warn about casting functions to incompatible types"
+ msgstr ""
+
+-#: common.opt:374
+-msgid "Perform a register copy-propagation optimization pass"
++#: c.opt:140
++msgid "Warn about C constructs that are not in the common subset of C and C++"
+ msgstr ""
+
+-#: common.opt:378
+-msgid "Perform cross-jumping optimization"
++#: c.opt:144
++msgid "Warn about C++ constructs whose meaning differs between ISO C++ 1998 and ISO C++ 200x"
+ msgstr ""
+
+-#: common.opt:382
+-msgid "When running CSE, follow jumps to their targets"
++#: c.opt:148
++msgid "Warn about casts which discard qualifiers"
+ msgstr ""
+
+-#: common.opt:386
+-msgid "When running CSE, follow conditional jumps"
++#: c.opt:152
++msgid "Warn about subscripts whose type is \"char\""
+ msgstr ""
+
+-#: common.opt:390
+-msgid "Omit range reduction step when performing complex division"
++#: c.opt:156
++msgid "Warn about variables that might be changed by \"longjmp\" or \"vfork\""
+ msgstr ""
+
+-#: common.opt:394
+-msgid "Place data items into their own section"
++#: c.opt:160
++msgid "Warn about possibly nested block comments, and C++ comments spanning more than one physical line"
+ msgstr ""
+
+-#: common.opt:398
+-msgid "List all available debugging counters with their limits and counts."
++#: c.opt:164
++msgid "Synonym for -Wcomment"
+ msgstr ""
+
+-#: common.opt:402
+-msgid "-fdbg-cnt=<counter>:<limit>[,<counter>:<limit>,...] Set the debug counter limit. "
++#: c.opt:168
++msgid "Warn for implicit type conversions that may change a value"
+ msgstr ""
+
+-#: common.opt:406
+-msgid "Map one directory name to another in debug information"
++#: c.opt:172
++msgid "Warn for implicit type conversions between signed and unsigned integers"
+ msgstr ""
+
+-#: common.opt:412
+-msgid "Defer popping functions args from stack until later"
++#: c.opt:176
++msgid "Warn when all constructors and destructors are private"
+ msgstr ""
+
+-#: common.opt:416
+-msgid "Attempt to fill delay slots of branch instructions"
++#: c.opt:180
++msgid "Warn when a declaration is found after a statement"
+ msgstr ""
+
+-#: common.opt:420
+-msgid "Delete useless null pointer checks"
++#: c.opt:184
++msgid "Warn about deprecated compiler features"
+ msgstr ""
+
+-#: common.opt:424
+-msgid "How often to emit source location at the beginning of line-wrapped diagnostics"
++#: c.opt:188
++msgid "Warn about compile-time integer division by zero"
+ msgstr ""
+
+-#: common.opt:428
+-msgid "Amend appropriate diagnostic messages with the command line option that controls them"
++#: c.opt:192
++msgid "Warn about violations of Effective C++ style rules"
+ msgstr ""
+
+-#: common.opt:432
+-msgid "Dump various compiler internals to a file"
++#: c.opt:196
++msgid "Warn about an empty body in an if or else statement"
+ msgstr ""
+
+-#: common.opt:436
+-msgid "Suppress output of addresses in debugging dumps"
++#: c.opt:200
++msgid "Warn about stray tokens after #elif and #endif"
+ msgstr ""
+
+-#: common.opt:440
+-msgid "Suppress output of instruction numbers, line number notes and addresses in debugging dumps"
++#: c.opt:208
++msgid "This switch is deprecated; use -Werror=implicit-function-declaration instead"
+ msgstr ""
+
+-#: common.opt:444
+-msgid "Perform early inlining"
++#: c.opt:212
++msgid "Warn if testing floating point numbers for equality"
+ msgstr ""
+
+-#: common.opt:448
+-msgid "Perform DWARF2 duplicate elimination"
++#: c.opt:216
++msgid "Warn about printf/scanf/strftime/strfmon format string anomalies"
+ msgstr ""
+
+-#: common.opt:452 common.opt:456
+-msgid "Perform unused type elimination in debug info"
+-msgstr ""
++#: c.opt:220
++#, fuzzy
++msgid "Warn if passing too many arguments to a function for its format string"
++msgstr "πάÏα πολλά οÏίσματα σε αυτό το αλφαÏιθμητικό μοÏφής"
+
+-#: common.opt:460
+-msgid "Do not suppress C++ class debug information."
++#: c.opt:224
++msgid "Warn about format strings that are not literals"
+ msgstr ""
+
+-#: common.opt:464
+-msgid "Enable exception handling"
++#: c.opt:228
++msgid "Warn about format strings that contain NUL bytes"
+ msgstr ""
+
+-#: common.opt:468
+-msgid "Perform a number of minor, expensive optimizations"
++#: c.opt:232
++msgid "Warn about possible security problems with format functions"
+ msgstr ""
+
+-#: common.opt:475
+-msgid "Assume no NaNs or infinities are generated"
++#: c.opt:236
++msgid "Warn about strftime formats yielding 2-digit years"
+ msgstr ""
+
+-#: common.opt:479
+-msgid "Mark <register> as being unavailable to the compiler"
++#: c.opt:240
++msgid "Warn about zero-length formats"
+ msgstr ""
+
+-#: common.opt:483
+-msgid "Don't allocate floats and doubles in extended-precision registers"
++#: c.opt:247
++msgid "Warn whenever type qualifiers are ignored."
+ msgstr ""
+
+-#: common.opt:489
+-msgid "Copy memory address constants into registers before use"
++#: c.opt:251
++msgid "Warn about variables which are initialized to themselves"
+ msgstr ""
+
+-#: common.opt:493
+-msgid "Perform a forward propagation pass on RTL"
++#: c.opt:258
++msgid "Warn about implicit function declarations"
+ msgstr ""
+
+-#: common.opt:500
+-msgid "Allow function addresses to be held in registers"
++#: c.opt:262
++msgid "Warn when a declaration does not specify a type"
+ msgstr ""
+
+-#: common.opt:504
+-msgid "Place each function into its own section"
++#: c.opt:266
++msgid "Deprecated. This switch has no effect"
+ msgstr ""
+
+-#: common.opt:508
+-msgid "Perform global common subexpression elimination"
++#: c.opt:270
++msgid "Warn when there is a cast to a pointer from an integer of a different size"
+ msgstr ""
+
+-#: common.opt:512
+-msgid "Perform enhanced load motion during global common subexpression elimination"
++#: c.opt:274
++msgid "Warn about invalid uses of the \"offsetof\" macro"
+ msgstr ""
+
+-#: common.opt:516
+-msgid "Perform store motion after global common subexpression elimination"
++#: c.opt:278
++msgid "Warn about PCH files that are found but not used"
+ msgstr ""
+
+-#: common.opt:520
+-msgid "Perform redundant load after store elimination in global common subexpression"
++#: c.opt:282
++msgid "Do not warn about using \"long long\" when -pedantic"
+ msgstr ""
+
+-#: common.opt:525
+-msgid "Perform global common subexpression elimination after register allocation"
++#: c.opt:286
++msgid "Warn about suspicious declarations of \"main\""
+ msgstr ""
+
+-#: common.opt:530
+-msgid "Enable guessing of branch probabilities"
++#: c.opt:290
++msgid "Warn about possibly missing braces around initializers"
+ msgstr ""
+
+-#: common.opt:538
+-msgid "Process #ident directives"
++#: c.opt:294
++msgid "Warn about global functions without previous declarations"
+ msgstr ""
+
+-#: common.opt:542
+-msgid "Perform conversion of conditional jumps to branchless equivalents"
++#: c.opt:298
++msgid "Warn about missing fields in struct initializers"
+ msgstr ""
+
+-#: common.opt:546
+-msgid "Perform conversion of conditional jumps to conditional execution"
++#: c.opt:302
++msgid "Warn about functions which might be candidates for format attributes"
+ msgstr ""
+
+-#: common.opt:554
+-msgid "Do not generate .size directives"
++#: c.opt:306
++msgid "Warn about user-specified include directories that do not exist"
+ msgstr ""
+
+-#: common.opt:563
+-msgid "Pay attention to the \"inline\" keyword"
++#: c.opt:310
++msgid "Warn about function parameters declared without a type specifier in K&R-style functions"
+ msgstr ""
+
+-#: common.opt:567
+-msgid "Integrate simple functions into their callers when code size is known to not growth"
++#: c.opt:314
++msgid "Warn about global functions without prototypes"
+ msgstr ""
+
+-#: common.opt:571
+-msgid "Integrate simple functions into their callers"
+-msgstr ""
+-
+-#: common.opt:575
+-msgid "Integrate functions called once into their callers"
+-msgstr ""
+-
+-#: common.opt:582
+-msgid "Limit the size of inlined functions to <number>"
+-msgstr ""
+-
+-#: common.opt:586
+-msgid "Instrument function entry and exit with profiling calls"
+-msgstr ""
+-
+-#: common.opt:590
+-msgid "-finstrument-functions-exclude-function-list=name,... Do not instrument listed functions"
+-msgstr ""
+-
+-#: common.opt:594
+-msgid "-finstrument-functions-exclude-file-list=filename,... Do not instrument functions listed in files"
+-msgstr ""
+-
+-#: common.opt:598
+-msgid "Perform Interprocedural constant propagation"
+-msgstr ""
+-
+-#: common.opt:602
++#: c.opt:318
+ #, fuzzy
+-msgid "Discover pure and const functions"
+-msgstr "Ακατάλληλη εντολή"
++msgid "Warn about use of multi-character character constants"
++msgstr "διπλό όνομα χαÏακτήÏα `%s'"
+
+-#: common.opt:606
+-msgid "Perform interprocedural points-to analysis"
++#: c.opt:322
++msgid "Warn about \"extern\" declarations not at file scope"
+ msgstr ""
+
+-#: common.opt:610
+-msgid "Discover readonly and non addressable static variables"
++#: c.opt:326
++msgid "Warn when non-templatized friend functions are declared within a template"
+ msgstr ""
+
+-#: common.opt:614
+-msgid "Type based escape and alias analysis"
++#: c.opt:330
++msgid "Warn about non-virtual destructors"
+ msgstr ""
+
+-#: common.opt:618
+-msgid "Perform matrix layout flattening and transposing based"
++#: c.opt:334
++msgid "Warn about NULL being passed to argument slots marked as requiring non-NULL"
+ msgstr ""
+
+-#: common.opt:623
+-msgid "Perform structure layout optimizations based"
+-msgstr ""
+-
+-#: common.opt:628
+-msgid "Optimize induction variables on trees"
+-msgstr ""
+-
+-#: common.opt:632
++#: c.opt:338
+ #, fuzzy
+-msgid "Use jump tables for sufficiently large switch statements"
+-msgstr "ΧÏήση ξεχωÏιστής λανθάνουσας μνήμης για κάθε χÏήστη"
++msgid "Warn about non-normalised Unicode strings"
++msgstr "αδυναμία εισαγωγής στοιχείο παÏαβολής `%.*s'"
+
+-#: common.opt:636
+-msgid "Generate code for functions even if they are fully inlined"
++#: c.opt:342
++msgid "Warn if a C-style cast is used in a program"
+ msgstr ""
+
+-#: common.opt:640
+-msgid "Emit static const variables even if they are not used"
++#: c.opt:346
++msgid "Warn for obsolescent usage in a declaration"
+ msgstr ""
+
+-#: common.opt:644
+-msgid "Give external symbols a leading underscore"
++#: c.opt:350
++msgid "Warn if an old-style parameter definition is used"
+ msgstr ""
+
+-#: common.opt:648 common.opt:852 common.opt:983
+-msgid "Does nothing. Preserved for backward compatibility."
++#: c.opt:354
++msgid "Warn if a string is longer than the maximum portable length specified by the standard"
+ msgstr ""
+
+-#: common.opt:652
+-msgid "Set errno after built-in math functions"
++#: c.opt:358
++msgid "Warn about overloaded virtual function names"
+ msgstr ""
+
+-#: common.opt:656
+-msgid "Report on permanent memory allocation"
++#: c.opt:362
++msgid "Warn about overriding initializers without side effects"
+ msgstr ""
+
+-#: common.opt:663
+-msgid "Attempt to merge identical constants and constant variables"
++#: c.opt:366
++msgid "Warn about possibly missing parentheses"
+ msgstr ""
+
+-#: common.opt:667
+-msgid "Attempt to merge identical constants across compilation units"
++#: c.opt:370
++msgid "Warn when converting the type of pointers to member functions"
+ msgstr ""
+
+-#: common.opt:671
+-msgid "Limit diagnostics to <number> characters per line. 0 suppresses line-wrapping"
++#: c.opt:374
++msgid "Warn about function pointer arithmetic"
+ msgstr ""
+
+-#: common.opt:675
+-msgid "Perform SMS based modulo scheduling before the first scheduling pass"
++#: c.opt:378
++msgid "Warn when a pointer is cast to an integer of a different size"
+ msgstr ""
+
+-#: common.opt:679
+-msgid "Perform SMS based modulo scheduling with register moves allowed"
++#: c.opt:382
++msgid "Warn about misuses of pragmas"
+ msgstr ""
+
+-#: common.opt:683
+-msgid "Move loop invariant computations out of loops"
++#: c.opt:386
++msgid "Warn if inherited methods are unimplemented"
+ msgstr ""
+
+-#: common.opt:687
+-msgid "Add mudflap bounds-checking instrumentation for single-threaded program"
++#: c.opt:390
++msgid "Warn about multiple declarations of the same object"
+ msgstr ""
+
+-#: common.opt:691
+-msgid "Add mudflap bounds-checking instrumentation for multi-threaded program"
++#: c.opt:394
++msgid "Warn when the compiler reorders code"
+ msgstr ""
+
+-#: common.opt:695
+-msgid "Ignore read operations when inserting mudflap instrumentation"
++#: c.opt:398
++msgid "Warn whenever a function's return type defaults to \"int\" (C), or about inconsistent return types (C++)"
+ msgstr ""
+
+-#: common.opt:699
+-msgid "Use the RTL dead code elimination pass"
++#: c.opt:402
++msgid "Warn if a selector has multiple methods"
+ msgstr ""
+
+-#: common.opt:703
+-msgid "Use the RTL dead store elimination pass"
++#: c.opt:406
++msgid "Warn about possible violations of sequence point rules"
+ msgstr ""
+
+-#: common.opt:707
+-msgid "Enable/Disable the traditional scheduling in loops that already passed modulo scheduling"
++#: c.opt:410
++msgid "Warn about signed-unsigned comparisons"
+ msgstr ""
+
+-#: common.opt:711
+-msgid "Support synchronous non-call exceptions"
++#: c.opt:414
++msgid "Warn when overload promotes from unsigned to signed"
+ msgstr ""
+
+-#: common.opt:715
+-msgid "When possible do not generate stack frames"
++#: c.opt:418
++msgid "Warn about uncasted NULL used as sentinel"
+ msgstr ""
+
+-#: common.opt:719
+-msgid "Expand OpenMP operations on SSA form"
+-msgstr ""
++#: c.opt:422
++#, fuzzy
++msgid "Warn about unprototyped function declarations"
++msgstr "αδυναμία εισαγωγής στοιχείο παÏαβολής `%.*s'"
+
+-#: common.opt:723
+-msgid "Do the full register move optimization pass"
++#: c.opt:426
++msgid "Warn if type signatures of candidate methods do not match exactly"
+ msgstr ""
+
+-#: common.opt:727
+-msgid "Optimize sibling and tail recursive calls"
++#: c.opt:430
++msgid "Warn when synthesis behavior differs from Cfront"
+ msgstr ""
+
+-#: common.opt:731 common.opt:735
+-msgid "Report on memory allocation before interprocedural optimization"
++#: c.opt:438
++msgid "Warn about features not present in traditional C"
+ msgstr ""
+
+-#: common.opt:739
+-msgid "Pack structure members together without holes"
++#: c.opt:442
++msgid "Warn of prototypes causing type conversions different from what would happen in the absence of prototype"
+ msgstr ""
+
+-#: common.opt:743
+-msgid "Set initial maximum structure member alignment"
++#: c.opt:446
++msgid "Warn if trigraphs are encountered that might affect the meaning of the program"
+ msgstr ""
+
+-#: common.opt:747
+-msgid "Return small aggregates in memory, not registers"
++#: c.opt:450
++msgid "Warn about @selector()s without previously declared methods"
+ msgstr ""
+
+-#: common.opt:751
+-msgid "Perform loop peeling"
+-msgstr ""
++#: c.opt:454
++#, fuzzy
++msgid "Warn if an undefined macro is used in an #if directive"
++msgstr "%%%c: κατευθυντήÏιος γÏαμμή μη έγκυÏη."
+
+-#: common.opt:755
+-msgid "Enable machine specific peephole optimizations"
++#: c.opt:458
++msgid "Warn about unrecognized pragmas"
+ msgstr ""
+
+-#: common.opt:759
+-msgid "Enable an RTL peephole pass before sched2"
++#: c.opt:462
++msgid "Warn about macros defined in the main file that are not used"
+ msgstr ""
+
+-#: common.opt:763
+-msgid "Generate position-independent code if possible (large mode)"
++#: c.opt:466
++msgid "Do not warn about using variadic macros when -pedantic"
+ msgstr ""
+
+-#: common.opt:767
+-msgid "Generate position-independent code for executables if possible (large mode)"
++#: c.opt:470
++msgid "Warn if a variable length array is used"
+ msgstr ""
+
+-#: common.opt:771
+-msgid "Generate position-independent code if possible (small mode)"
++#: c.opt:474
++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 ""
+
+-#: common.opt:775
+-msgid "Generate position-independent code for executables if possible (small mode)"
++#: c.opt:478
++msgid "Warn when a pointer differs in signedness in an assignment"
+ msgstr ""
+
+-#: common.opt:779
+-msgid "Run predictive commoning optimization."
++#: c.opt:482
++msgid "A synonym for -std=c89 (for C) or -std=c++98 (for C++)"
+ msgstr ""
+
+-#: common.opt:783
+-msgid "Generate prefetch instructions, if available, for arrays in loops"
++#: c.opt:490
++msgid "Enforce class member access control semantics"
+ msgstr ""
+
+-#: common.opt:787
+-msgid "Enable basic program profiling code"
++#: c.opt:497
++msgid "Change when template instances are emitted"
+ msgstr ""
+
+-#: common.opt:791
+-msgid "Insert arc-based program profiling code"
++#: c.opt:501
++msgid "Recognize the \"asm\" keyword"
+ msgstr ""
+
+-#: common.opt:795
+-msgid "Enable common options for generating profile info for profile feedback directed optimizations"
+-msgstr ""
++#: c.opt:505
++#, fuzzy
++msgid "Recognize built-in functions"
++msgstr "αδυναμία εκτέλεσης ioctl στο `%s'"
+
+-#: common.opt:799
+-msgid "Enable common options for performing profile feedback directed optimizations"
++#: c.opt:512
++msgid "Check the return value of new"
+ msgstr ""
+
+-#: common.opt:803
+-msgid "Insert code to profile values of expressions"
++#: c.opt:516
++msgid "Allow the arguments of the '?' operator to have different types"
+ msgstr ""
+
+-#: common.opt:810
+-msgid "Make compile reproducible using <string>"
++#: c.opt:520
++msgid "Reduce the size of object files"
+ msgstr ""
+
+-#: common.opt:820
+-msgid "Record gcc command line switches in the object file."
++#: c.opt:524
++msgid "Use class <name> for constant strings"
+ msgstr ""
+
+-#: common.opt:824
+-msgid "Return small aggregates in registers"
+-msgstr ""
++#: c.opt:528
++#, fuzzy
++msgid "Inline member functions by default"
++msgstr "Στη συνάÏτηση μέλος `%s':"
+
+-#: common.opt:828
+-msgid "Enables a register move optimization"
++#: c.opt:532
++msgid "Preprocess directives only."
+ msgstr ""
+
+-#: common.opt:832
+-msgid "Perform a register renaming optimization pass"
+-msgstr ""
++#: c.opt:536
++#, fuzzy
++msgid "Permit '$' as an identifier character"
++msgstr "λίστα με όλα τα γνωστά σÏνολα χαÏακτήÏων"
+
+-#: common.opt:836
+-msgid "Reorder basic blocks to improve code placement"
++#: c.opt:543
++msgid "Generate code to check exception specifications"
+ msgstr ""
+
+-#: common.opt:840
+-msgid "Reorder basic blocks and partition into hot and cold sections"
++#: c.opt:550
++msgid "Convert all strings and character constants to character set <cset>"
+ msgstr ""
+
+-#: common.opt:844
+-msgid "Reorder functions to improve code placement"
++#: c.opt:554
++msgid "Permit universal character names (\\u and \\U) in identifiers"
+ msgstr ""
+
+-#: common.opt:848
+-msgid "Add a common subexpression elimination pass after loop optimizations"
++#: c.opt:558
++msgid "Specify the default character set for source files"
+ msgstr ""
+
+-#: common.opt:856
+-msgid "Disable optimizations that assume default FP rounding behavior"
++#: c.opt:566
++msgid "Scope of for-init-statement variables is local to the loop"
+ msgstr ""
+
+-#: common.opt:860
+-msgid "Enable scheduling across basic blocks"
++#: c.opt:570
++msgid "Do not assume that standard C libraries and \"main\" exist"
+ msgstr ""
+
+-#: common.opt:864
+-msgid "Allow speculative motion of non-loads"
++#: c.opt:574
++msgid "Recognize GNU-defined keywords"
+ msgstr ""
+
+-#: common.opt:868
+-msgid "Allow speculative motion of some loads"
++#: c.opt:578
++msgid "Generate code for GNU runtime environment"
+ msgstr ""
+
+-#: common.opt:872
+-msgid "Allow speculative motion of more loads"
++#: c.opt:582
++msgid "Use traditional GNU semantics for inline functions"
+ msgstr ""
+
+-#: common.opt:876
+-msgid "Set the verbosity level of the scheduler"
++#: c.opt:595
++msgid "Assume normal C execution environment"
+ msgstr ""
+
+-#: common.opt:880
+-msgid "If scheduling post reload, do superblock scheduling"
++#: c.opt:599
++msgid "Enable support for huge objects"
+ msgstr ""
+
+-#: common.opt:884
+-msgid "If scheduling post reload, do trace scheduling"
++#: c.opt:603
++msgid "Export functions even if they can be inlined"
+ msgstr ""
+
+-#: common.opt:888
+-msgid "Reschedule instructions before register allocation"
+-msgstr ""
++#: c.opt:607
++#, fuzzy
++msgid "Emit implicit instantiations of inline templates"
++msgstr "αδυναμία ανοίγματος αÏχείου οÏÎ¹ÏƒÎ¼Î¿Ï locale `%s'"
+
+-#: common.opt:892
+-msgid "Reschedule instructions after register allocation"
+-msgstr ""
++#: c.opt:611
++#, fuzzy
++msgid "Emit implicit instantiations of templates"
++msgstr "διπλός οÏισμός συνόλου"
+
+-#: common.opt:898
+-msgid "Allow premature scheduling of queued insns"
++#: c.opt:615
++msgid "Inject friend functions into enclosing namespace"
+ msgstr ""
+
+-#: common.opt:902
+-msgid "Set number of queued insns that can be prematurely scheduled"
++#: c.opt:622
++msgid "Allow implicit conversions between vectors with differing numbers of subparts and/or differing element types."
+ msgstr ""
+
+-#: common.opt:910 common.opt:914
+-msgid "Set dependence distance checking in premature scheduling of queued insns"
++#: c.opt:626
++msgid "Don't warn about uses of Microsoft extensions"
+ msgstr ""
+
+-#: common.opt:918
+-msgid "Access data in the same section from shared anchor points"
++#: c.opt:636
++msgid "Generate code for NeXT (Apple Mac OS X) runtime environment"
+ msgstr ""
+
+-#: common.opt:922
+-msgid "Perform sequence abstraction optimization on RTL"
++#: c.opt:640
++msgid "Assume that receivers of Objective-C messages may be nil"
+ msgstr ""
+
+-#: common.opt:926
+-msgid "Eliminate redundant sign extensions using LCM."
++#: c.opt:652
++msgid "Generate special Objective-C methods to initialize/destroy non-POD C++ ivars, if needed"
+ msgstr ""
+
+-#: common.opt:930
+-msgid "Show column numbers in diagnostics, when available. Default off"
++#: c.opt:656
++msgid "Allow fast jumps to the message dispatcher"
+ msgstr ""
+
+-#: common.opt:934
+-msgid "Disable optimizations observable by IEEE signaling NaNs"
++#: c.opt:662
++msgid "Enable Objective-C exception and synchronization syntax"
+ msgstr ""
+
+-#: common.opt:938
+-msgid "Disable floating point optimizations that ignore the IEEE signedness of zero"
++#: c.opt:666
++msgid "Enable garbage collection (GC) in Objective-C/Objective-C++ programs"
+ msgstr ""
+
+-#: common.opt:942
+-msgid "Convert floating point constants to single precision constants"
++#: c.opt:671
++msgid "Enable Objective-C setjmp exception handling runtime"
+ msgstr ""
+
+-#: common.opt:946
+-msgid "Split lifetimes of induction variables when loops are unrolled"
++#: c.opt:675
++msgid "Enable OpenMP"
+ msgstr ""
+
+-#: common.opt:950
+-msgid "Split wide types into independent registers"
++#: c.opt:679
++msgid "Recognize C++ kewords like \"compl\" and \"xor\""
+ msgstr ""
+
+-#: common.opt:954
+-msgid "Apply variable expansion when loops are unrolled"
+-msgstr ""
++#: c.opt:683
++#, fuzzy
++msgid "Enable optional diagnostics"
++msgstr "Ακατάλληλη εντολή"
+
+-#: common.opt:960
+-msgid "Insert stack checking code into the program"
++#: c.opt:690
++msgid "Look for and use PCH files even when preprocessing"
+ msgstr ""
+
+-#: common.opt:967
+-msgid "Trap if the stack goes past <register>"
++#: c.opt:694
++msgid "Downgrade conformance errors to warnings"
+ msgstr ""
+
+-#: common.opt:971
+-msgid "Trap if the stack goes past symbol <name>"
++#: c.opt:698
++msgid "Treat the input file as already preprocessed"
+ msgstr ""
+
+-#: common.opt:975
+-msgid "Use propolice as a stack protection method"
++#: c.opt:702
++msgid "Used in Fix-and-Continue mode to indicate that object files may be swapped in at runtime"
+ msgstr ""
+
+-#: common.opt:979
+-msgid "Use a stack protection method for every function"
++#: c.opt:706
++msgid "Enable automatic template instantiation"
+ msgstr ""
+
+-#: common.opt:991
+-msgid "Assume strict aliasing rules apply"
++#: c.opt:710
++msgid "Generate run time type descriptor information"
+ msgstr ""
+
+-#: common.opt:995
+-msgid "Treat signed overflow as undefined"
++#: c.opt:714
++msgid "Use the same size for double as for float"
+ msgstr ""
+
+-#: common.opt:999
+-msgid "Check for syntax errors, then stop"
++#: c.opt:722
++msgid "Force the underlying type for \"wchar_t\" to be \"unsigned short\""
+ msgstr ""
+
+-#: common.opt:1003
+-msgid "Create data files needed by \"gcov\""
++#: c.opt:726
++msgid "When \"signed\" or \"unsigned\" is not given make the bitfield signed"
+ msgstr ""
+
+-#: common.opt:1007
+-msgid "Perform jump threading optimizations"
++#: c.opt:730
++msgid "Make \"char\" signed by default"
+ msgstr ""
+
+-#: common.opt:1011
+-msgid "Report the time taken by each compiler pass"
++#: c.opt:737
++msgid "Display statistics accumulated during compilation"
+ msgstr ""
+
+-#: common.opt:1015
+-msgid "Set the default thread-local storage code generation model"
++#: c.opt:744
++msgid "Distance between tab stops for column reporting"
+ msgstr ""
+
+-#: common.opt:1019
+-msgid "Reorder top level functions, variables, and asms"
++#: c.opt:748
++msgid "Specify maximum template instantiation depth"
+ msgstr ""
+
+-#: common.opt:1023
+-msgid "Perform superblock formation via tail duplication"
++#: c.opt:755
++msgid "Do not generate thread-safe code for initializing local statics"
+ msgstr ""
+
+-#: common.opt:1030
+-#, fuzzy
+-msgid "Assume floating-point operations can trap"
+-msgstr "ΕξαίÏεση κινητής υποδιαστολής"
+-
+-#: common.opt:1034
+-msgid "Trap for signed overflow in addition, subtraction and multiplication"
++#: c.opt:759
++msgid "When \"signed\" or \"unsigned\" is not given make the bitfield unsigned"
+ msgstr ""
+
+-#: common.opt:1038
+-msgid "Enable SSA-CCP optimization on trees"
++#: c.opt:763
++msgid "Make \"char\" unsigned by default"
+ msgstr ""
+
+-#: common.opt:1042
+-msgid "Enable SSA-CCP optimization for stores and loads"
++#: c.opt:767
++msgid "Use __cxa_atexit to register destructors"
+ msgstr ""
+
+-#: common.opt:1046
+-msgid "Enable loop header copying on trees"
++#: c.opt:771
++msgid "Use __cxa_get_exception_ptr in exception handling"
+ msgstr ""
+
+-#: common.opt:1050
+-msgid "Replace SSA temporaries with better names in copies"
++#: c.opt:775
++msgid "Marks all inlined methods as having hidden visibility"
+ msgstr ""
+
+-#: common.opt:1054
+-msgid "Enable copy propagation on trees"
++#: c.opt:779
++msgid "Changes visibility to match Microsoft Visual Studio by default"
+ msgstr ""
+
+-#: common.opt:1058
+-#, fuzzy
+-msgid "This switch is obsolete"
+-msgstr "Αυτή η παÏάμετÏος δεν έχει ακόμα τεκμηÏίωση"
+-
+-#: common.opt:1062
+-msgid "Transform condition stores into unconditional ones"
++#: c.opt:783
++msgid "Discard unused virtual functions"
+ msgstr ""
+
+-#: common.opt:1066
+-msgid "Enable SSA dead code elimination optimization on trees"
++#: c.opt:787
++msgid "Implement vtables using thunks"
+ msgstr ""
+
+-#: common.opt:1070
+-msgid "Enable dominator optimizations"
++#: c.opt:791
++msgid "Emit common-like symbols as weak symbols"
+ msgstr ""
+
+-#: common.opt:1074
+-msgid "Enable dead store elimination"
++#: c.opt:795
++msgid "Convert all wide strings and character constants to character set <cset>"
+ msgstr ""
+
+-#: common.opt:1078
+-msgid "Enable Full Redundancy Elimination (FRE) on trees"
++#: c.opt:799
++msgid "Generate a #line directive pointing at the current working directory"
+ msgstr ""
+
+-#: common.opt:1082
+-msgid "Enable loop invariant motion on trees"
+-msgstr ""
+-
+-#: common.opt:1086
+-msgid "Enable linear loop transforms on trees"
+-msgstr ""
+-
+-#: common.opt:1090
+-msgid "Create canonical induction variables in loops"
+-msgstr ""
+-
+-#: common.opt:1094
+-msgid "Enable loop optimizations on tree level"
+-msgstr ""
+-
+-#: common.opt:1098
++#: c.opt:803
+ #, fuzzy
+-msgid "Enable automatic parallelization of loops"
+-msgstr "Ακατάλληλη εντολή"
++msgid "Emit cross referencing information"
++msgstr "εμφάνιση πληÏοφοÏιών Ï€Ïοόδου"
+
+-#: common.opt:1102
+-msgid "Enable SSA-PRE optimization on trees"
++#: c.opt:807
++msgid "Generate lazy class lookup (via objc_getClass()) for use in Zero-Link mode"
+ msgstr ""
+
+-#: common.opt:1106
+-msgid "Enable reassociation on tree level"
++#: c.opt:811
++msgid "Dump declarations to a .decl file"
+ msgstr ""
+
+-#: common.opt:1110
+-msgid "Perform structural alias analysis"
++#: c.opt:815
++msgid "Aggressive reduced debug info for structs"
+ msgstr ""
+
+-#: common.opt:1114
+-msgid "Enable SSA code sinking on trees"
++#: c.opt:819
++msgid "Conservative reduced debug info for structs"
+ msgstr ""
+
+-#: common.opt:1118
+-msgid "Perform scalar replacement of aggregates"
++#: c.opt:823
++msgid "Detailed reduced debug info for structs"
+ msgstr ""
+
+-#: common.opt:1122
+-msgid "Replace temporary expressions in the SSA->normal pass"
++#: c.opt:827 c.opt:859
++msgid "Add <dir> to the end of the system include path"
+ msgstr ""
+
+-#: common.opt:1126
+-msgid "Perform live range splitting during the SSA->normal pass"
++#: c.opt:831
++msgid "Accept definition of macros in <file>"
+ msgstr ""
+
+-#: common.opt:1130
+-msgid "Perform Value Range Propagation on trees"
++#: c.opt:835
++msgid "-imultilib <dir> Set <dir> to be the multilib include subdirectory"
+ msgstr ""
+
+-#: common.opt:1134
+-msgid "Compile whole compilation unit at a time"
++#: c.opt:839
++msgid "Include the contents of <file> before other files"
+ msgstr ""
+
+-#: common.opt:1138
+-msgid "Perform loop unrolling when iteration count is known"
++#: c.opt:843
++msgid "Specify <path> as a prefix for next two options"
+ msgstr ""
+
+-#: common.opt:1142
+-msgid "Perform loop unrolling for all loops"
++#: c.opt:847
++msgid "Set <dir> to be the system root directory"
+ msgstr ""
+
+-#: common.opt:1149
+-msgid "Allow loop optimizations to assume that the loops behave in normal way"
++#: c.opt:851
++msgid "Add <dir> to the start of the system include path"
+ msgstr ""
+
+-#: common.opt:1153
+-msgid "Allow optimization for floating-point arithmetic which may change the"
++#: c.opt:855
++msgid "Add <dir> to the end of the quote include path"
+ msgstr ""
+
+-#: common.opt:1158
+-msgid "Same as -fassociative-math for expressions which include division."
++#: c.opt:876
++msgid "Do not search standard system include directories (those specified with -isystem will still be used)"
+ msgstr ""
+
+-#: common.opt:1166
+-msgid "Allow math optimizations that may violate IEEE or ISO standards"
++#: c.opt:880
++msgid "Do not search standard system include directories for C++"
+ msgstr ""
+
+-#: common.opt:1170
+-msgid "Perform loop unswitching"
++#: c.opt:896
++msgid "Generate C header of platform-specific features"
+ msgstr ""
+
+-#: common.opt:1174
+-msgid "Just generate unwind tables for exception handling"
++#: c.opt:900
++msgid "Print a checksum of the executable for PCH validity checking, and stop"
+ msgstr ""
+
+-#: common.opt:1178
+-msgid "Perform variable tracking"
+-msgstr ""
+-
+-#: common.opt:1182
+-msgid "Perform variable tracking and also tag variables that are uninitialized"
+-msgstr ""
+-
+-#: common.opt:1186
+-msgid "Enable loop vectorization on trees"
+-msgstr ""
+-
+-#: common.opt:1190
++#: c.opt:904
+ #, fuzzy
+-msgid "Enable use of cost model in vectorization"
+-msgstr "Ακατάλληλη εντολή"
++msgid "Remap file names when including files"
++msgstr "Μη οÏισμένο όνομα %s"
+
+-#: common.opt:1194
+-msgid "Enable loop versioning when doing loop vectorization on trees"
++#: c.opt:908
++msgid "Conform to the ISO 1998 C++ standard"
+ msgstr ""
+
+-#: common.opt:1198
+-msgid "Set the verbosity level of the vectorizer"
++#: c.opt:912
++msgid "Conform to the ISO 1998 C++ standard, with extensions that are likely to"
+ msgstr ""
+
+-#: common.opt:1202
+-msgid "Enable copy propagation of scalar-evolution information."
++#: c.opt:919 c.opt:954
++msgid "Conform to the ISO 1990 C standard"
+ msgstr ""
+
+-#: common.opt:1212
+-msgid "Add extra commentary to assembler output"
++#: c.opt:923 c.opt:962
++msgid "Conform to the ISO 1999 C standard"
+ msgstr ""
+
+-#: common.opt:1216
+-msgid "Set the default symbol visibility"
++#: c.opt:927
++msgid "Deprecated in favor of -std=c99"
+ msgstr ""
+
+-#: common.opt:1221
+-#, fuzzy
+-msgid "Use expression value profiles in optimizations"
+-msgstr "Λάθος έκφÏαση στην αποτίμηση: %s"
+-
+-#: common.opt:1225
+-msgid "Construct webs and split unrelated uses of single variable"
++#: c.opt:931
++msgid "Conform to the ISO 1998 C++ standard with GNU extensions"
+ msgstr ""
+
+-#: common.opt:1229
+-msgid "Perform whole program optimizations"
++#: c.opt:935
++msgid "Conform to the ISO 1998 C++ standard, with GNU extensions and"
+ msgstr ""
+
+-#: common.opt:1233
+-msgid "Assume signed arithmetic overflow wraps around"
++#: c.opt:942
++msgid "Conform to the ISO 1990 C standard with GNU extensions"
+ msgstr ""
+
+-#: common.opt:1237
+-msgid "Put zero initialized data in the bss section"
++#: c.opt:946
++msgid "Conform to the ISO 1999 C standard with GNU extensions"
+ msgstr ""
+
+-#: common.opt:1241
+-msgid "Generate debug information in default format"
++#: c.opt:950
++msgid "Deprecated in favor of -std=gnu99"
+ msgstr ""
+
+-#: common.opt:1245
+-msgid "Generate debug information in COFF format"
++#: c.opt:958
++msgid "Conform to the ISO 1990 C standard as amended in 1994"
+ msgstr ""
+
+-#: common.opt:1249
+-msgid "Generate debug information in DWARF v2 format"
++#: c.opt:966
++msgid "Deprecated in favor of -std=iso9899:1999"
+ msgstr ""
+
+-#: common.opt:1253
+-msgid "Generate debug information in default extended format"
++#: c.opt:970
++msgid "Enable traditional preprocessing"
+ msgstr ""
+
+-#: common.opt:1257
+-msgid "Generate debug information in STABS format"
++#: c.opt:974
++msgid "Support ISO C trigraphs"
+ msgstr ""
+
+-#: common.opt:1261
+-msgid "Generate debug information in extended STABS format"
++#: c.opt:978
++msgid "Do not predefine system-specific and GCC-specific macros"
+ msgstr ""
+
+-#: common.opt:1265
+-msgid "Generate debug information in VMS format"
++#: c.opt:982
++msgid "Enable verbose output"
+ msgstr ""
+
+-#: common.opt:1269
+-msgid "Generate debug information in XCOFF format"
++#: ada/lang.opt:96
++msgid "Specify options to GNAT"
+ msgstr ""
+
+-#: common.opt:1273
+-msgid "Generate debug information in extended XCOFF format"
+-msgstr ""
+-
+-#: common.opt:1277
+-#, fuzzy
+-msgid "Place output into <file>"
+-msgstr " -o <αÏχείο> Τοποθέτηση της εξόδου στο <αÏχείο>\n"
+-
+-#: common.opt:1281
+-#, fuzzy
+-msgid "Enable function profiling"
+-msgstr "αδÏνατη η φόÏτωση δεδομένων Ï€Ïοφίλ"
+-
+-#: common.opt:1285
+-msgid "Issue warnings needed for strict compliance to the standard"
+-msgstr ""
+-
+-#: common.opt:1289
+-msgid "Like -pedantic but issue them as errors"
+-msgstr ""
+-
+-#: common.opt:1293
+-msgid "Do not display functions compiled or elapsed time"
+-msgstr ""
+-
+-#: common.opt:1297
+-#, fuzzy
+-msgid "Display the compiler's version"
+-msgstr " --help Εμφάνιση αυτών των πληÏοφοÏιών\n"
+-
+-#: common.opt:1301
+-#, fuzzy
+-msgid "Suppress warnings"
+-msgstr "%s: Ï€Ïοειδοποίηση: "
+-
+-#: common.opt:1305
+-msgid "Create a shared library"
+-msgstr ""
+-
+-#: common.opt:1309
+-msgid "Create a position independent executable"
+-msgstr ""
+-
+ #: attribs.c:244
+ #, fuzzy, gcc-internal-format
+ msgid "%qs attribute directive ignored"
+@@ -16873,47 +16839,47 @@
+ msgid "offset outside bounds of constant string"
+ msgstr ""
+
+-#: builtins.c:1001
++#: builtins.c:1015
+ #, gcc-internal-format
+ msgid "second argument to %<__builtin_prefetch%> must be a constant"
+ msgstr ""
+
+-#: builtins.c:1008
++#: builtins.c:1022
+ #, gcc-internal-format
+ msgid "invalid second argument to %<__builtin_prefetch%>; using zero"
+ msgstr ""
+
+-#: builtins.c:1016
++#: builtins.c:1030
+ #, gcc-internal-format
+ msgid "third argument to %<__builtin_prefetch%> must be a constant"
+ msgstr ""
+
+-#: builtins.c:1023
++#: builtins.c:1037
+ #, gcc-internal-format
+ msgid "invalid third argument to %<__builtin_prefetch%>; using zero"
+ msgstr ""
+
+-#: builtins.c:4592
++#: builtins.c:4608
+ #, fuzzy, gcc-internal-format
+ msgid "argument of %<__builtin_args_info%> must be constant"
+ msgstr "Λείπει παÏάμετÏος για `%s'"
+
+-#: builtins.c:4598
++#: builtins.c:4614
+ #, fuzzy, gcc-internal-format
+ msgid "argument of %<__builtin_args_info%> out of range"
+ msgstr "Λείπει παÏάμετÏος για `%s'"
+
+-#: builtins.c:4604
++#: builtins.c:4620
+ #, fuzzy, gcc-internal-format
+ msgid "missing argument in %<__builtin_args_info%>"
+ msgstr "Λείπει παÏάμετÏος για `%s'"
+
+-#: builtins.c:4693 gimplify.c:2117
++#: builtins.c:4709 gimplify.c:2118
+ #, fuzzy, gcc-internal-format
+ msgid "too few arguments to function %<va_start%>"
+ msgstr "πάÏα πολλά οÏίσματα"
+
+-#: builtins.c:4857
++#: builtins.c:4872
+ #, gcc-internal-format
+ msgid "first argument to %<va_arg%> not of type %<va_list%>"
+ msgstr ""
+@@ -16921,94 +16887,104 @@
+ #. Unfortunately, this is merely undefined, rather than a constraint
+ #. violation, so we cannot make this an error. If this call is never
+ #. executed, the program is still strictly conforming.
+-#: builtins.c:4871
++#: builtins.c:4886
+ #, gcc-internal-format
+ msgid "%qT is promoted to %qT when passed through %<...%>"
+ msgstr ""
+
+-#: builtins.c:4876
++#: builtins.c:4891
+ #, gcc-internal-format
+ msgid "(so you should pass %qT not %qT to %<va_arg%>)"
+ msgstr ""
+
+ #. We can, however, treat "undefined" any way we please.
+ #. Call abort to encourage the user to fix the program.
+-#: builtins.c:4882 c-typeck.c:2408
++#: builtins.c:4897 c-typeck.c:2419
+ #, gcc-internal-format
+ msgid "if this code is reached, the program will abort"
+ msgstr ""
+
+-#: builtins.c:5000
++#: builtins.c:5015
+ #, gcc-internal-format
+ msgid "invalid argument to %<__builtin_frame_address%>"
+ msgstr ""
+
+-#: builtins.c:5002
++#: builtins.c:5017
+ #, gcc-internal-format
+ msgid "invalid argument to %<__builtin_return_address%>"
+ msgstr ""
+
+-#: builtins.c:5015
++#: builtins.c:5030
+ #, gcc-internal-format
+ msgid "unsupported argument to %<__builtin_frame_address%>"
+ msgstr ""
+
+-#: builtins.c:5017
++#: builtins.c:5032
+ #, gcc-internal-format
+ msgid "unsupported argument to %<__builtin_return_address%>"
+ msgstr ""
+
+-#: builtins.c:5564
++#: builtins.c:5579
+ #, fuzzy, gcc-internal-format
+ msgid "both arguments to %<__builtin___clear_cache%> must be pointers"
+ msgstr "Λείπει παÏάμετÏος για `%s'"
+
+ #. All valid uses of __builtin_va_arg_pack () are removed during
+ #. inlining.
+-#: builtins.c:6276 expr.c:8024
++#: builtins.c:6291 expr.c:8023
+ #, fuzzy
+ msgid "%Kinvalid use of %<__builtin_va_arg_pack ()%>"
+ msgstr "μη έγκυÏος αÏιθμός από γÏαμμές"
+
+ #. All valid uses of __builtin_va_arg_pack_len () are removed during
+ #. inlining.
+-#: builtins.c:6282
++#: builtins.c:6297
+ msgid "%Kinvalid use of %<__builtin_va_arg_pack_len ()%>"
+ msgstr ""
+
+-#: builtins.c:6578
++#: builtins.c:6593
+ #, gcc-internal-format
+ msgid "%<__builtin_longjmp%> second argument must be 1"
+ msgstr ""
+
+-#: builtins.c:7209
++#: builtins.c:7224
+ #, gcc-internal-format
+ msgid "target format does not support infinity"
+ msgstr ""
+
+-#: builtins.c:9623 builtins.c:9712
++#: builtins.c:9638 builtins.c:9727 builtins.c:10082
+ #, fuzzy, gcc-internal-format
+ msgid "non-floating-point argument to function %qs"
+ msgstr "πάÏα πολλά οÏίσματα"
+
+-#: builtins.c:11303
++#: builtins.c:10446 builtins.c:10466
++#, fuzzy, gcc-internal-format
++msgid "too few arguments to function %qs"
++msgstr "ΠÏοειδοποίηση: Î Î¿Î»Ï Î»Î¯Î³Î± οÏίσματα στο εσωδομημένο `%s'"
++
++#: builtins.c:10452 builtins.c:10472
++#, fuzzy, gcc-internal-format
++msgid "too many arguments to function %qs"
++msgstr "πάÏα πολλά οÏίσματα"
++
++#: builtins.c:11377
+ #, gcc-internal-format
+ msgid "%<va_start%> used in function with fixed args"
+ msgstr ""
+
+-#: builtins.c:11311
++#: builtins.c:11385
+ #, fuzzy, gcc-internal-format
+ msgid "wrong number of arguments to function %<va_start%>"
+ msgstr "πάÏα πολλά οÏίσματα"
+
+ #. Evidently an out of date version of <stdarg.h>; can't validate
+ #. va_start's second argument, but can still work as intended.
+-#: builtins.c:11324
++#: builtins.c:11398
+ #, gcc-internal-format
+ msgid "%<__builtin_next_arg%> called without an argument"
+ msgstr ""
+
+-#: builtins.c:11329
++#: builtins.c:11403
+ #, fuzzy, gcc-internal-format
+ msgid "wrong number of arguments to function %<__builtin_next_arg%>"
+ msgstr "πάÏα πολλά οÏίσματα"
+@@ -17018,26 +16994,26 @@
+ #. argument. We just warn and set the arg to be the last
+ #. argument so that we will get wrong-code because of
+ #. it.
+-#: builtins.c:11358
++#: builtins.c:11432
+ #, gcc-internal-format
+ msgid "second parameter of %<va_start%> not last named argument"
+ msgstr ""
+
+-#: builtins.c:11472
++#: builtins.c:11546
+ #, fuzzy
+ msgid "%Kfirst argument of %D must be a pointer, second integer constant"
+ msgstr "η τιμή για το %s Ï€Ïέπει να είναι ακέÏαιος"
+
+-#: builtins.c:11485
++#: builtins.c:11559
+ #, fuzzy
+ msgid "%Klast argument of %D is not integer constant between 0 and 3"
+ msgstr "μη τεÏματιζμένο αλφαÏιθμητικό σταθεÏάς"
+
+-#: builtins.c:11529 builtins.c:11693 builtins.c:11752
++#: builtins.c:11603 builtins.c:11767 builtins.c:11826
+ msgid "%Kcall to %D will always overflow destination buffer"
+ msgstr ""
+
+-#: builtins.c:11683
++#: builtins.c:11757
+ msgid "%Kcall to %D might overflow destination buffer"
+ msgstr ""
+
+@@ -17160,448 +17136,448 @@
+ msgid "conversion to %qT alters %qT constant value"
+ msgstr "η μετατÏοπή από `%s' σε `%s' δεν υποστηÏίζετε"
+
+-#: c-common.c:1296
++#: c-common.c:1299
+ #, fuzzy, gcc-internal-format
+ msgid "conversion to %qT from %qT may change the sign of the result"
+ msgstr "η μετατÏοπή από `%s' σε `%s' δεν υποστηÏίζετε"
+
+-#: c-common.c:1325
++#: c-common.c:1328
+ #, fuzzy, gcc-internal-format
+ msgid "conversion to %qT from %qT may alter its value"
+ msgstr "η μετατÏοπή από `%s' σε `%s' δεν υποστηÏίζετε"
+
+-#: c-common.c:1353
++#: c-common.c:1356
+ #, gcc-internal-format
+ msgid "large integer implicitly truncated to unsigned type"
+ msgstr ""
+
+-#: c-common.c:1359 c-common.c:1366 c-common.c:1374
++#: c-common.c:1362 c-common.c:1369 c-common.c:1377
+ #, gcc-internal-format
+ msgid "overflow in implicit constant conversion"
+ msgstr ""
+
+-#: c-common.c:1528
++#: c-common.c:1531
+ #, gcc-internal-format
+ msgid "operation on %qE may be undefined"
+ msgstr ""
+
+-#: c-common.c:1821
++#: c-common.c:1824
+ #, gcc-internal-format
+ msgid "case label does not reduce to an integer constant"
+ msgstr ""
+
+-#: c-common.c:1861
++#: c-common.c:1864
+ #, fuzzy, gcc-internal-format
+ msgid "case label value is less than minimum value for type"
+ msgstr ""
+ "ο δηλωμένος αÏιθμός bytes `%s' είναι μεγαλÏτεÏος από το μέγιστο\n"
+ "που μποÏεί να αναπαÏασταθεί από το Ï„Ïπο δεδομένων `long'"
+
+-#: c-common.c:1869
++#: c-common.c:1872
+ #, fuzzy, gcc-internal-format
+ msgid "case label value exceeds maximum value for type"
+ msgstr ""
+ "ο δηλωμένος αÏιθμός bytes `%s' είναι μεγαλÏτεÏος από το μέγιστο\n"
+ "που μποÏεί να αναπαÏασταθεί από το Ï„Ïπο δεδομένων `long'"
+
+-#: c-common.c:1877
++#: c-common.c:1880
+ #, fuzzy, gcc-internal-format
+ msgid "lower value in case label range less than minimum value for type"
+ msgstr ""
+ "ο δηλωμένος αÏιθμός bytes `%s' είναι μεγαλÏτεÏος από το μέγιστο\n"
+ "που μποÏεί να αναπαÏασταθεί από το Ï„Ïπο δεδομένων `long'"
+
+-#: c-common.c:1886
++#: c-common.c:1889
+ #, fuzzy, gcc-internal-format
+ msgid "upper value in case label range exceeds maximum value for type"
+ msgstr ""
+ "ο δηλωμένος αÏιθμός bytes `%s' είναι μεγαλÏτεÏος από το μέγιστο\n"
+ "που μποÏεί να αναπαÏασταθεί από το Ï„Ïπο δεδομένων `long'"
+
+-#: c-common.c:1960
++#: c-common.c:1963
+ #, gcc-internal-format
+ msgid "GCC cannot support operators with integer types and fixed-point types that have too many integral and fractional bits together"
+ msgstr ""
+
+-#: c-common.c:2450
++#: c-common.c:2453
+ #, fuzzy, gcc-internal-format
+ msgid "invalid operands to binary %s (have %qT and %qT)"
+ msgstr "Μη έγκυÏη επιλογή `%s'"
+
+-#: c-common.c:2686
++#: c-common.c:2689
+ #, gcc-internal-format
+ msgid "comparison is always false due to limited range of data type"
+ msgstr ""
+
+-#: c-common.c:2688
++#: c-common.c:2691
+ #, gcc-internal-format
+ msgid "comparison is always true due to limited range of data type"
+ msgstr ""
+
+-#: c-common.c:2767
++#: c-common.c:2770
+ #, gcc-internal-format
+ msgid "comparison of unsigned expression >= 0 is always true"
+ msgstr ""
+
+-#: c-common.c:2777
++#: c-common.c:2780
+ #, gcc-internal-format
+ msgid "comparison of unsigned expression < 0 is always false"
+ msgstr ""
+
+-#: c-common.c:2818
++#: c-common.c:2821
+ #, gcc-internal-format
+ msgid "pointer of type %<void *%> used in arithmetic"
+ msgstr ""
+
+-#: c-common.c:2824
++#: c-common.c:2827
+ #, gcc-internal-format
+ msgid "pointer to a function used in arithmetic"
+ msgstr ""
+
+-#: c-common.c:2830
++#: c-common.c:2833
+ #, gcc-internal-format
+ msgid "pointer to member function used in arithmetic"
+ msgstr ""
+
+-#: c-common.c:2982
++#: c-common.c:2985
+ #, gcc-internal-format
+ msgid "the address of %qD will always evaluate as %<true%>"
+ msgstr ""
+
+-#: c-common.c:3051 cp/semantics.c:596 cp/typeck.c:6411
++#: c-common.c:3054 cp/semantics.c:597 cp/typeck.c:6438
+ #, gcc-internal-format
+ msgid "suggest parentheses around assignment used as truth value"
+ msgstr ""
+
+-#: c-common.c:3123 c-typeck.c:8958
++#: c-common.c:3126 c-typeck.c:8969
+ #, fuzzy, gcc-internal-format
+ msgid "invalid use of %<restrict%>"
+ msgstr "μη έγκυÏος αÏιθμός από γÏαμμές"
+
+-#: c-common.c:3339
++#: c-common.c:3346
+ #, fuzzy, gcc-internal-format
+ msgid "invalid application of %<sizeof%> to a function type"
+ msgstr "Μη έγκυÏη επιλογή `%s'"
+
+-#: c-common.c:3349
++#: c-common.c:3356
+ #, fuzzy, gcc-internal-format
+ msgid "invalid application of %qs to a void type"
+ msgstr "μη έγκυÏος αÏιθμός αÏχείου στη δήλωση πεδίου: `%s'"
+
+-#: c-common.c:3355
++#: c-common.c:3362
+ #, fuzzy, gcc-internal-format
+ msgid "invalid application of %qs to incomplete type %qT "
+ msgstr "μη έγκυÏος δεÏτεÏος τελεστής σε κατάσταση συμβατότητας `%s'"
+
+-#: c-common.c:3396
++#: c-common.c:3403
+ #, gcc-internal-format
+ msgid "%<__alignof%> applied to a bit-field"
+ msgstr ""
+
+-#: c-common.c:3969
++#: c-common.c:3976
+ #, fuzzy, gcc-internal-format
+ msgid "cannot disable built-in function %qs"
+ msgstr "αδυναμία εκτέλεσης ioctl στο `%s'"
+
+-#: c-common.c:4172
++#: c-common.c:4179
+ #, gcc-internal-format
+ msgid "pointers are not permitted as case values"
+ msgstr ""
+
+-#: c-common.c:4178
++#: c-common.c:4185
+ #, gcc-internal-format
+ msgid "range expressions in switch statements are non-standard"
+ msgstr ""
+
+-#: c-common.c:4204
++#: c-common.c:4211
+ #, fuzzy, gcc-internal-format
+ msgid "empty range specified"
+ msgstr "μη οÏισμένο"
+
+-#: c-common.c:4264
++#: c-common.c:4271
+ #, gcc-internal-format
+ msgid "duplicate (or overlapping) case value"
+ msgstr ""
+
+-#: c-common.c:4265
++#: c-common.c:4272
+ #, fuzzy, gcc-internal-format
+ msgid "%Jthis is the first entry overlapping that value"
+ msgstr "αυτός είναι ο Ï€Ïώτος οÏισμός"
+
+-#: c-common.c:4269
++#: c-common.c:4276
+ #, fuzzy, gcc-internal-format
+ msgid "duplicate case value"
+ msgstr "διπλός αÏιθμός μηνÏματος"
+
+-#: c-common.c:4270
++#: c-common.c:4277
+ #, fuzzy, gcc-internal-format
+ msgid "%Jpreviously used here"
+ msgstr "Δεν υπάÏχει Ï€ÏοηγοÏμενη κανονική έκφÏαση"
+
+-#: c-common.c:4274
++#: c-common.c:4281
+ #, gcc-internal-format
+ msgid "multiple default labels in one switch"
+ msgstr ""
+
+-#: c-common.c:4275
++#: c-common.c:4282
+ #, fuzzy, gcc-internal-format
+ msgid "%Jthis is the first default label"
+ msgstr "αυτός είναι ο Ï€Ïώτος οÏισμός"
+
+-#: c-common.c:4324
++#: c-common.c:4331
+ #, gcc-internal-format
+ msgid "%Jcase value %qs not in enumerated type"
+ msgstr ""
+
+-#: c-common.c:4327
++#: c-common.c:4334
+ #, gcc-internal-format
+ msgid "%Jcase value %qs not in enumerated type %qT"
+ msgstr ""
+
+-#: c-common.c:4385
++#: c-common.c:4392
+ #, fuzzy, gcc-internal-format
+ msgid "%Hswitch missing default case"
+ msgstr "αυτός είναι ο Ï€Ïώτος οÏισμός"
+
+-#: c-common.c:4448
++#: c-common.c:4455
+ #, gcc-internal-format
+ msgid "%Henumeration value %qE not handled in switch"
+ msgstr ""
+
+-#: c-common.c:4472
++#: c-common.c:4479
+ #, gcc-internal-format
+ msgid "taking the address of a label is non-standard"
+ msgstr ""
+
+-#: c-common.c:4622
++#: c-common.c:4629
+ #, fuzzy, gcc-internal-format
+ msgid "%qE attribute ignored for field of type %qT"
+ msgstr "το `%s' είναι Ï€Ïόγονος του `%s'"
+
+-#: c-common.c:4633 c-common.c:4652 c-common.c:4670 c-common.c:4697
+-#: c-common.c:4724 c-common.c:4750 c-common.c:4769 c-common.c:4793
+-#: c-common.c:4816 c-common.c:4839 c-common.c:4860 c-common.c:4881
+-#: c-common.c:4905 c-common.c:4931 c-common.c:4968 c-common.c:4995
+-#: c-common.c:5046 c-common.c:5130 c-common.c:5160 c-common.c:5179
+-#: c-common.c:5499 c-common.c:5559 c-common.c:5580 c-common.c:5644
+-#: c-common.c:5762 c-common.c:5828 c-common.c:5877 c-common.c:5923
+-#: c-common.c:5993 c-common.c:6017 c-common.c:6301 c-common.c:6324
++#: c-common.c:4640 c-common.c:4659 c-common.c:4677 c-common.c:4704
++#: c-common.c:4731 c-common.c:4757 c-common.c:4776 c-common.c:4800
++#: c-common.c:4823 c-common.c:4846 c-common.c:4867 c-common.c:4888
++#: c-common.c:4912 c-common.c:4938 c-common.c:4975 c-common.c:5002
++#: c-common.c:5045 c-common.c:5129 c-common.c:5159 c-common.c:5178
++#: c-common.c:5498 c-common.c:5558 c-common.c:5579 c-common.c:5643
++#: c-common.c:5761 c-common.c:5827 c-common.c:5876 c-common.c:5922
++#: c-common.c:5992 c-common.c:6016 c-common.c:6301 c-common.c:6324
+ #: c-common.c:6363
+ #, fuzzy, gcc-internal-format
+ msgid "%qE attribute ignored"
+ msgstr "το `%s' είναι Ï€Ïόγονος του `%s'"
+
+-#: c-common.c:4715 c-common.c:4741
++#: c-common.c:4722 c-common.c:4748
+ #, gcc-internal-format
+ msgid "%qE attribute conflicts with attribute %s"
+ msgstr ""
+
+-#: c-common.c:4962
++#: c-common.c:4969
+ #, gcc-internal-format
+ msgid "%qE attribute have effect only on public objects"
+ msgstr ""
+
+-#: c-common.c:5067
++#: c-common.c:5066
+ #, fuzzy, gcc-internal-format
+ msgid "destructor priorities are not supported"
+ msgstr "Η λειτουÏγία δεν υποστηÏίζεται"
+
+-#: c-common.c:5069
++#: c-common.c:5068
+ #, fuzzy, gcc-internal-format
+ msgid "constructor priorities are not supported"
+ msgstr "Η λειτουÏγία δεν υποστηÏίζεται"
+
+-#: c-common.c:5086
++#: c-common.c:5085
+ #, gcc-internal-format
+ msgid "destructor priorities from 0 to %d are reserved for the implementation"
+ msgstr ""
+
+-#: c-common.c:5091
++#: c-common.c:5090
+ #, gcc-internal-format
+ msgid "constructor priorities from 0 to %d are reserved for the implementation"
+ msgstr ""
+
+-#: c-common.c:5099
++#: c-common.c:5098
+ #, gcc-internal-format
+ msgid "destructor priorities must be integers from 0 to %d inclusive"
+ msgstr ""
+
+-#: c-common.c:5102
++#: c-common.c:5101
+ #, gcc-internal-format
+ msgid "constructor priorities must be integers from 0 to %d inclusive"
+ msgstr ""
+
+-#: c-common.c:5221
++#: c-common.c:5220
+ #, fuzzy, gcc-internal-format
+ msgid "unknown machine mode %qs"
+ msgstr "άγνωστο σετ `%s'"
+
+-#: c-common.c:5250
++#: c-common.c:5249
+ #, gcc-internal-format
+ msgid "specifying vector types with __attribute__ ((mode)) is deprecated"
+ msgstr ""
+
+-#: c-common.c:5253
++#: c-common.c:5252
+ #, gcc-internal-format
+ msgid "use __attribute__ ((vector_size)) instead"
+ msgstr ""
+
+-#: c-common.c:5262
++#: c-common.c:5261
+ #, fuzzy, gcc-internal-format
+ msgid "unable to emulate %qs"
+ msgstr "Δεν μπόÏεσα να ανοίξω το αÏχείο %s"
+
+-#: c-common.c:5272
++#: c-common.c:5271
+ #, fuzzy, gcc-internal-format
+ msgid "invalid pointer mode %qs"
+ msgstr "Μη έγκυÏη επιλογή `%s'"
+
+-#: c-common.c:5289
++#: c-common.c:5288
+ #, gcc-internal-format
+ msgid "signness of type and machine mode %qs don't match"
+ msgstr ""
+
+-#: c-common.c:5300
++#: c-common.c:5299
+ #, fuzzy, gcc-internal-format
+ msgid "no data type for mode %qs"
+ msgstr "δεν οÏίστηκε βαÏÏτητα για το σÏμβολο `%s'"
+
+-#: c-common.c:5310
++#: c-common.c:5309
+ #, fuzzy, gcc-internal-format
+ msgid "cannot use mode %qs for enumeral types"
+ msgstr "Δεν είναι δυνατόν να βÏεθεί ο Ï„Ïπος του επεξεÏγαστή."
+
+-#: c-common.c:5337
++#: c-common.c:5336
+ #, gcc-internal-format
+ msgid "mode %qs applied to inappropriate type"
+ msgstr ""
+
+-#: c-common.c:5368
++#: c-common.c:5367
+ #, fuzzy, gcc-internal-format
+ msgid "%Jsection attribute cannot be specified for local variables"
+ msgstr "συμβολικοί σÏνδεσμοι δεν υποστηÏίζονται στο σÏστημα αυτό"
+
+-#: c-common.c:5379 config/bfin/bfin.c:4879 config/bfin/bfin.c:4930
++#: c-common.c:5378 config/bfin/bfin.c:4982 config/bfin/bfin.c:5033
+ #, fuzzy, gcc-internal-format
+ msgid "section of %q+D conflicts with previous declaration"
+ msgstr "αυτός είναι ο Ï€Ïώτος οÏισμός"
+
+-#: c-common.c:5388
++#: c-common.c:5387
+ #, fuzzy, gcc-internal-format
+ msgid "section attribute not allowed for %q+D"
+ msgstr "συμβολικοί σÏνδεσμοι δεν υποστηÏίζονται στο σÏστημα αυτό"
+
+-#: c-common.c:5394
++#: c-common.c:5393
+ #, fuzzy, gcc-internal-format
+ msgid "%Jsection attributes are not supported for this target"
+ msgstr "συμβολικοί σÏνδεσμοι δεν υποστηÏίζονται στο σÏστημα αυτό"
+
+-#: c-common.c:5426
++#: c-common.c:5425
+ #, gcc-internal-format
+ msgid "requested alignment is not a constant"
+ msgstr ""
+
+-#: c-common.c:5431
++#: c-common.c:5430
+ #, gcc-internal-format
+ msgid "requested alignment is not a power of 2"
+ msgstr ""
+
+-#: c-common.c:5436
++#: c-common.c:5435
+ #, fuzzy, gcc-internal-format
+ msgid "requested alignment is too large"
+ msgstr "Κακή αίτηση παÏαμέτÏων"
+
+-#: c-common.c:5462
++#: c-common.c:5461
+ #, fuzzy, gcc-internal-format
+ msgid "alignment may not be specified for %q+D"
+ msgstr "μόνο ένα ÏŒÏισμα μποÏεί να δηλωθεί"
+
+-#: c-common.c:5469
++#: c-common.c:5468
+ #, gcc-internal-format
+ msgid "alignment for %q+D was previously specified as %d and may not be decreased"
+ msgstr ""
+
+-#: c-common.c:5473
++#: c-common.c:5472
+ #, fuzzy, gcc-internal-format
+ msgid "alignment for %q+D must be at least %d"
+ msgstr "Η παÏάμετÏος στο <%s> Ï€Ïέπει να είναι ένας απλός χαÏακτήÏας"
+
+-#: c-common.c:5522
++#: c-common.c:5521
+ #, gcc-internal-format
+ msgid "%q+D defined both normally and as an alias"
+ msgstr ""
+
+-#: c-common.c:5538
++#: c-common.c:5537
+ #, fuzzy, gcc-internal-format
+ msgid "alias argument not a string"
+ msgstr "μη τεÏματιζμένο αλφαÏιθμητικό σταθεÏάς"
+
+-#: c-common.c:5601
++#: c-common.c:5600
+ #, gcc-internal-format
+ msgid "%Jweakref attribute must appear before alias attribute"
+ msgstr ""
+
+-#: c-common.c:5631
++#: c-common.c:5630
+ #, fuzzy, gcc-internal-format
+ msgid "%qE attribute ignored on non-class types"
+ msgstr "το `%s' είναι Ï€Ïόγονος του `%s'"
+
+-#: c-common.c:5637
++#: c-common.c:5636
+ #, fuzzy, gcc-internal-format
+ msgid "%qE attribute ignored because %qT is already defined"
+ msgstr "το `%s' είναι Ï€Ïόγονος του `%s'"
+
+-#: c-common.c:5650
++#: c-common.c:5649
+ #, fuzzy, gcc-internal-format
+ msgid "visibility argument not a string"
+ msgstr "μη τεÏματιζμένο αλφαÏιθμητικό σταθεÏάς"
+
+-#: c-common.c:5662
++#: c-common.c:5661
+ #, fuzzy, gcc-internal-format
+ msgid "%qE attribute ignored on types"
+ msgstr "το `%s' είναι Ï€Ïόγονος του `%s'"
+
+-#: c-common.c:5678
++#: c-common.c:5677
+ #, gcc-internal-format
+ msgid "visibility argument must be one of \"default\", \"hidden\", \"protected\" or \"internal\""
+ msgstr ""
+
+-#: c-common.c:5689
++#: c-common.c:5688
+ #, fuzzy, gcc-internal-format
+ msgid "%qD redeclared with different visibility"
+ msgstr "συντακτικό σφάλμα στον καθοÏισμό σειÏάς"
+
+-#: c-common.c:5692 c-common.c:5696
++#: c-common.c:5691 c-common.c:5695
+ #, gcc-internal-format
+ msgid "%qD was declared %qs which implies default visibility"
+ msgstr ""
+
+-#: c-common.c:5770
++#: c-common.c:5769
+ #, fuzzy, gcc-internal-format
+ msgid "tls_model argument not a string"
+ msgstr "έχουν παÏαληφθεί οÏίσματα"
+
+-#: c-common.c:5783
++#: c-common.c:5782
+ #, gcc-internal-format
+ msgid "tls_model argument must be one of \"local-exec\", \"initial-exec\", \"local-dynamic\" or \"global-dynamic\""
+ msgstr ""
+
+-#: c-common.c:5802 c-common.c:5897
++#: c-common.c:5801 c-common.c:5896
+ #, gcc-internal-format
+ msgid "%J%qE attribute applies only to functions"
+ msgstr ""
+
+-#: c-common.c:5807 c-common.c:5902
++#: c-common.c:5806 c-common.c:5901
+ #, fuzzy, gcc-internal-format
+ msgid "%Jcan%'t set %qE attribute after definition"
+ msgstr "αυτός είναι ο Ï€Ïώτος οÏισμός"
+
+-#: c-common.c:5858
++#: c-common.c:5857
+ #, gcc-internal-format
+ msgid "alloc_size parameter outside range"
+ msgstr ""
+
+-#: c-common.c:5991
++#: c-common.c:5990
+ #, fuzzy, gcc-internal-format
+ msgid "%qE attribute ignored for %qE"
+ msgstr "το `%s' είναι Ï€Ïόγονος του `%s'"
+@@ -17711,7 +17687,7 @@
+ msgid "cannot apply %<offsetof%> when %<operator[]%> is overloaded"
+ msgstr ""
+
+-#: c-common.c:6818 cp/typeck.c:4525
++#: c-common.c:6818 cp/typeck.c:4533
+ #, fuzzy, gcc-internal-format
+ msgid "attempt to take address of bit-field structure member %qD"
+ msgstr "δεν είναι δυνατό να δημιουÏγηθεί το αÏχείο fifo `%s'"
+@@ -17746,14 +17722,14 @@
+ msgid "size of array is too large"
+ msgstr "Ο κατάλογος `%s' δεν είναι Ï€Ïοσιτός."
+
+-#: c-common.c:7041 c-common.c:7090 c-typeck.c:2705
++#: c-common.c:7041 c-common.c:7090 c-typeck.c:2716
+ #, fuzzy, gcc-internal-format
+ msgid "too few arguments to function %qE"
+ msgstr "Ï€Î¿Î»Ï Î»Î¯Î³Î± οÏίσματα"
+
+ #. ??? This should not be an error when inlining calls to
+ #. unprototyped functions.
+-#: c-common.c:7058 c-typeck.c:4374
++#: c-common.c:7058 c-typeck.c:4385
+ #, fuzzy, gcc-internal-format
+ msgid "incompatible type for argument %d of %qE"
+ msgstr "Μη έγκυÏη ακέÏαια παÏάμετÏος `%s'"
+@@ -17833,8 +17809,8 @@
+ #. an unprototyped function, it is compile-time undefined;
+ #. making it a constraint in that case was rejected in
+ #. DR#252.
+-#: c-convert.c:95 c-typeck.c:1775 c-typeck.c:4012 cp/typeck.c:1502
+-#: cp/typeck.c:5717 cp/typeck.c:6325 fortran/convert.c:88
++#: c-convert.c:95 c-typeck.c:1785 c-typeck.c:4023 cp/typeck.c:1548
++#: cp/typeck.c:5725 cp/typeck.c:6352 fortran/convert.c:88
+ #: treelang/tree-convert.c:79
+ #, gcc-internal-format
+ msgid "void value not ignored as it ought to be"
+@@ -17846,104 +17822,104 @@
+ msgid "conversion to non-scalar type requested"
+ msgstr ""
+
+-#: c-decl.c:546
++#: c-decl.c:547
+ #, gcc-internal-format
+ msgid "array %q+D assumed to have one element"
+ msgstr ""
+
+-#: c-decl.c:651
++#: c-decl.c:652
+ #, gcc-internal-format
+ msgid "GCC supports only %u nested scopes"
+ msgstr ""
+
+-#: c-decl.c:737 cp/decl.c:358
++#: c-decl.c:738 cp/decl.c:359
+ #, fuzzy, gcc-internal-format
+ msgid "label %q+D used but not defined"
+ msgstr "το `%s' δεν είναι κανονικό αÏχείο"
+
+-#: c-decl.c:778
++#: c-decl.c:779
+ #, fuzzy, gcc-internal-format
+ msgid "nested function %q+D declared but never defined"
+ msgstr "Στη συνάÏτηση μέλος `%s':"
+
+-#: c-decl.c:788
++#: c-decl.c:789
+ #, fuzzy, gcc-internal-format
+ msgid "inline function %q+D declared but never defined"
+ msgstr "Η λειτουÏγία δεν έχει υλοποιηθεί"
+
+-#: c-decl.c:801 cp/decl.c:608
++#: c-decl.c:802 cp/decl.c:609
+ #, fuzzy, gcc-internal-format
+ msgid "unused variable %q+D"
+ msgstr "αχÏησιμοποίητη μεταβλητή `%s'"
+
+-#: c-decl.c:805
++#: c-decl.c:806
+ #, gcc-internal-format
+ msgid "type of array %q+D completed incompatibly with implicit initialization"
+ msgstr ""
+
+-#: c-decl.c:1039
++#: c-decl.c:1040
+ #, gcc-internal-format
+ msgid "a parameter list with an ellipsis can%'t match an empty parameter name list declaration"
+ msgstr ""
+
+-#: c-decl.c:1046
++#: c-decl.c:1047
+ #, gcc-internal-format
+ msgid "an argument type that has a default promotion can%'t match an empty parameter name list declaration"
+ msgstr ""
+
+-#: c-decl.c:1087
++#: c-decl.c:1088
+ #, gcc-internal-format
+ msgid "prototype for %q+D declares more arguments than previous old-style definition"
+ msgstr ""
+
+-#: c-decl.c:1093
++#: c-decl.c:1094
+ #, gcc-internal-format
+ msgid "prototype for %q+D declares fewer arguments than previous old-style definition"
+ msgstr ""
+
+-#: c-decl.c:1102
++#: c-decl.c:1103
+ #, fuzzy, gcc-internal-format
+ msgid "prototype for %q+D declares argument %d with incompatible type"
+ msgstr "ο χάÏτης χαÏακτήÏων `%s' οÏίστηκε ήδη"
+
+ #. If we get here, no errors were found, but do issue a warning
+ #. for this poor-style construct.
+-#: c-decl.c:1115
++#: c-decl.c:1116
+ #, gcc-internal-format
+ msgid "prototype for %q+D follows non-prototype definition"
+ msgstr ""
+
+-#: c-decl.c:1130
++#: c-decl.c:1131
+ #, fuzzy, gcc-internal-format
+ msgid "previous definition of %q+D was here"
+ msgstr "κανένας οÏισμός του `UNDEFINED'"
+
+-#: c-decl.c:1132
++#: c-decl.c:1133
+ #, fuzzy, gcc-internal-format
+ msgid "previous implicit declaration of %q+D was here"
+ msgstr "Ï€ÏοηγοÏμενη αυτονόητη διακÏÏηξη του `%s'"
+
+-#: c-decl.c:1134
++#: c-decl.c:1135
+ #, fuzzy, gcc-internal-format
+ msgid "previous declaration of %q+D was here"
+ msgstr "Ï€ÏοηγοÏμενη αυτονόητη διακÏÏηξη του `%s'"
+
+-#: c-decl.c:1174
++#: c-decl.c:1175
+ #, gcc-internal-format
+ msgid "%q+D redeclared as different kind of symbol"
+ msgstr ""
+
+-#: c-decl.c:1178
++#: c-decl.c:1179
+ #, fuzzy, gcc-internal-format
+ msgid "built-in function %q+D declared as non-function"
+ msgstr "Η λειτουÏγία δεν έχει υλοποιηθεί"
+
+-#: c-decl.c:1181 c-decl.c:1298 c-decl.c:1983
++#: c-decl.c:1182 c-decl.c:1299 c-decl.c:1988
+ #, fuzzy, gcc-internal-format
+ msgid "declaration of %q+D shadows a built-in function"
+ msgstr "αδυναμία εκτέλεσης ioctl στο `%s'"
+
+-#: c-decl.c:1190
++#: c-decl.c:1191
+ #, fuzzy, gcc-internal-format
+ msgid "redeclaration of enumerator %q+D"
+ msgstr "δημιουÏγία αÏχείου `%s'\n"
+@@ -17951,274 +17927,274 @@
+ #. If types don't match for a built-in, throw away the
+ #. built-in. No point in calling locate_old_decl here, it
+ #. won't print anything.
+-#: c-decl.c:1211
++#: c-decl.c:1212
+ #, fuzzy, gcc-internal-format
+ msgid "conflicting types for built-in function %q+D"
+ msgstr "μη έγκυÏο είδος αλφαÏÎ¹Î¸Î¼Î·Ï„Î¹ÎºÎ¿Ï `%s'"
+
+-#: c-decl.c:1235 c-decl.c:1248 c-decl.c:1258
++#: c-decl.c:1236 c-decl.c:1249 c-decl.c:1259
+ #, fuzzy, gcc-internal-format
+ msgid "conflicting types for %q+D"
+ msgstr "μη έγκυÏο είδος αλφαÏÎ¹Î¸Î¼Î·Ï„Î¹ÎºÎ¿Ï `%s'"
+
+-#: c-decl.c:1256
++#: c-decl.c:1257
+ #, fuzzy, gcc-internal-format
+ msgid "conflicting type qualifiers for %q+D"
+ msgstr "μη έγκυÏο είδος αλφαÏÎ¹Î¸Î¼Î·Ï„Î¹ÎºÎ¿Ï `%s'"
+
+ #. Allow OLDDECL to continue in use.
+-#: c-decl.c:1273
++#: c-decl.c:1274
+ #, fuzzy, gcc-internal-format
+ msgid "redefinition of typedef %q+D"
+ msgstr "κανένας οÏισμός του `UNDEFINED'"
+
+-#: c-decl.c:1324 c-decl.c:1426
++#: c-decl.c:1325 c-decl.c:1427
+ #, fuzzy, gcc-internal-format
+ msgid "redefinition of %q+D"
+ msgstr "κανένας οÏισμός του `UNDEFINED'"
+
+-#: c-decl.c:1359 c-decl.c:1464
++#: c-decl.c:1360 c-decl.c:1465
+ #, fuzzy, gcc-internal-format
+ msgid "static declaration of %q+D follows non-static declaration"
+ msgstr "αυτονόητη διακÏÏηξη της συνάÏτησης `%s'"
+
+-#: c-decl.c:1369 c-decl.c:1376 c-decl.c:1453 c-decl.c:1461
++#: c-decl.c:1370 c-decl.c:1377 c-decl.c:1454 c-decl.c:1462
+ #, fuzzy, gcc-internal-format
+ msgid "non-static declaration of %q+D follows static declaration"
+ msgstr "αυτός είναι ο Ï€Ïώτος οÏισμός"
+
+-#: c-decl.c:1393
++#: c-decl.c:1394
+ #, gcc-internal-format
+ msgid "%<gnu_inline%> attribute present on %q+D"
+ msgstr ""
+
+-#: c-decl.c:1395
++#: c-decl.c:1396
+ #, fuzzy, gcc-internal-format
+ msgid "%Jbut not here"
+ msgstr "το `%s' δεν είναι κανονικό αÏχείο"
+
+-#: c-decl.c:1413
++#: c-decl.c:1414
+ #, fuzzy, gcc-internal-format
+ msgid "thread-local declaration of %q+D follows non-thread-local declaration"
+ msgstr "αυτός είναι ο Ï€Ïώτος οÏισμός"
+
+-#: c-decl.c:1416
++#: c-decl.c:1417
+ #, fuzzy, gcc-internal-format
+ msgid "non-thread-local declaration of %q+D follows thread-local declaration"
+ msgstr "αυτός είναι ο Ï€Ïώτος οÏισμός"
+
+-#: c-decl.c:1446
++#: c-decl.c:1447
+ #, fuzzy, gcc-internal-format
+ msgid "extern declaration of %q+D follows declaration with no linkage"
+ msgstr "δημιουÏγία αÏχείου `%s'\n"
+
+-#: c-decl.c:1482
++#: c-decl.c:1483
+ #, fuzzy, gcc-internal-format
+ msgid "declaration of %q+D with no linkage follows extern declaration"
+ msgstr "δημιουÏγία αÏχείου `%s'\n"
+
+-#: c-decl.c:1488
++#: c-decl.c:1489
+ #, fuzzy, gcc-internal-format
+ msgid "redeclaration of %q+D with no linkage"
+ msgstr "δημιουÏγία αÏχείου `%s'\n"
+
+-#: c-decl.c:1502
++#: c-decl.c:1503
+ #, gcc-internal-format
+ msgid "redeclaration of %q+D with different visibility (old visibility preserved)"
+ msgstr ""
+
+-#: c-decl.c:1513
++#: c-decl.c:1514
+ #, gcc-internal-format
+ msgid "inline declaration of %qD follows declaration with attribute noinline"
+ msgstr ""
+
+-#: c-decl.c:1520
++#: c-decl.c:1521
+ #, fuzzy, gcc-internal-format
+ msgid "declaration of %q+D with attribute noinline follows inline declaration "
+ msgstr "αυτός είναι ο Ï€Ïώτος οÏισμός"
+
+-#: c-decl.c:1539
++#: c-decl.c:1540
+ #, fuzzy, gcc-internal-format
+ msgid "%q+D declared inline after being called"
+ msgstr "%s: διπλός οÏισμός έκδοσης κατηγοÏίας"
+
+-#: c-decl.c:1544
++#: c-decl.c:1545
+ #, fuzzy, gcc-internal-format
+ msgid "%q+D declared inline after its definition"
+ msgstr "%s: διπλός οÏισμός έκδοσης κατηγοÏίας"
+
+-#: c-decl.c:1563
++#: c-decl.c:1564
+ #, fuzzy, gcc-internal-format
+ msgid "redefinition of parameter %q+D"
+ msgstr "κανένας οÏισμός του `UNDEFINED'"
+
+-#: c-decl.c:1590
++#: c-decl.c:1591
+ #, fuzzy, gcc-internal-format
+ msgid "redundant redeclaration of %q+D"
+ msgstr "Μη έγκυÏη επιλογή `%s'"
+
+-#: c-decl.c:1970
++#: c-decl.c:1975
+ #, fuzzy, gcc-internal-format
+ msgid "declaration of %q+D shadows previous non-variable"
+ msgstr "αυτός είναι ο Ï€Ïώτος οÏισμός"
+
+-#: c-decl.c:1975
++#: c-decl.c:1980
+ #, fuzzy, gcc-internal-format
+ msgid "declaration of %q+D shadows a parameter"
+ msgstr "δημιουÏγία αÏχείου `%s'\n"
+
+-#: c-decl.c:1978
++#: c-decl.c:1983
+ #, fuzzy, gcc-internal-format
+ msgid "declaration of %q+D shadows a global declaration"
+ msgstr "αυτός είναι ο Ï€Ïώτος οÏισμός"
+
+-#: c-decl.c:1988
++#: c-decl.c:1993
+ #, fuzzy, gcc-internal-format
+ msgid "declaration of %q+D shadows a previous local"
+ msgstr "αυτός είναι ο Ï€Ïώτος οÏισμός"
+
+-#: c-decl.c:1991 cp/name-lookup.c:988 cp/name-lookup.c:1019
+-#: cp/name-lookup.c:1027
++#: c-decl.c:1996 cp/name-lookup.c:987 cp/name-lookup.c:1018
++#: cp/name-lookup.c:1026
+ #, gcc-internal-format
+ msgid "%Jshadowed declaration is here"
+ msgstr ""
+
+-#: c-decl.c:2183
++#: c-decl.c:2188
+ #, fuzzy, gcc-internal-format
+ msgid "nested extern declaration of %qD"
+ msgstr "Μη έγκυÏη επιλογή `%s'"
+
+-#: c-decl.c:2346 c-decl.c:2349
++#: c-decl.c:2351 c-decl.c:2354
+ #, fuzzy, gcc-internal-format
+ msgid "implicit declaration of function %qE"
+ msgstr "αυτονόητη διακÏÏηξη της συνάÏτησης `%s'"
+
+-#: c-decl.c:2411
++#: c-decl.c:2416
+ #, fuzzy, gcc-internal-format
+ msgid "incompatible implicit declaration of built-in function %qD"
+ msgstr "αυτονόητη διακÏÏηξη της συνάÏτησης `%#D'"
+
+-#: c-decl.c:2420
++#: c-decl.c:2425
+ #, fuzzy, gcc-internal-format
+ msgid "incompatible implicit declaration of function %qD"
+ msgstr "αυτονόητη διακÏÏηξη της συνάÏτησης `%#D'"
+
+-#: c-decl.c:2473
++#: c-decl.c:2478
+ #, fuzzy, gcc-internal-format
+ msgid "%H%qE undeclared here (not in a function)"
+ msgstr "Το επώνυμο αντικείμενο δεν είναι αναζητήσιμο"
+
+-#: c-decl.c:2478
++#: c-decl.c:2483
+ #, fuzzy, gcc-internal-format
+ msgid "%H%qE undeclared (first use in this function)"
+ msgstr "%qE δεν έχει διακυÏηχθεί (Ï€Ïώτη χÏήση στη συνάÏτηση αυτή)"
+
+-#: c-decl.c:2482
++#: c-decl.c:2487
+ #, gcc-internal-format
+ msgid "%H(Each undeclared identifier is reported only once"
+ msgstr ""
+
+-#: c-decl.c:2483
++#: c-decl.c:2488
+ #, gcc-internal-format
+ msgid "%Hfor each function it appears in.)"
+ msgstr ""
+
+-#: c-decl.c:2521 cp/decl.c:2397
++#: c-decl.c:2526 cp/decl.c:2404
+ #, gcc-internal-format
+ msgid "label %qE referenced outside of any function"
+ msgstr ""
+
+-#: c-decl.c:2563
++#: c-decl.c:2568
+ #, fuzzy, gcc-internal-format
+ msgid "duplicate label declaration %qE"
+ msgstr "διπλό όνομα χαÏακτήÏα `%s'"
+
+-#: c-decl.c:2599
++#: c-decl.c:2604
+ #, fuzzy, gcc-internal-format
+ msgid "%Hduplicate label %qD"
+ msgstr "διπλό κλειδί"
+
+-#: c-decl.c:2609
++#: c-decl.c:2614
+ #, fuzzy, gcc-internal-format
+ msgid "%Jjump into statement expression"
+ msgstr "ΠÏόωÏο τέλος της κανονικής έκφÏασης"
+
+-#: c-decl.c:2611
++#: c-decl.c:2616
+ #, gcc-internal-format
+ msgid "%Jjump into scope of identifier with variably modified type"
+ msgstr ""
+
+-#: c-decl.c:2626
++#: c-decl.c:2631
+ #, gcc-internal-format
+ msgid "%Htraditional C lacks a separate namespace for labels, identifier %qE conflicts"
+ msgstr ""
+
+-#: c-decl.c:2701
++#: c-decl.c:2706
+ #, gcc-internal-format
+ msgid "%H%qE defined as wrong kind of tag"
+ msgstr ""
+
+-#: c-decl.c:2903
++#: c-decl.c:2908
+ #, gcc-internal-format
+ msgid "unnamed struct/union that defines no instances"
+ msgstr ""
+
+-#: c-decl.c:2911
++#: c-decl.c:2916
+ #, gcc-internal-format
+ msgid "empty declaration with storage class specifier does not redeclare tag"
+ msgstr ""
+
+-#: c-decl.c:2922
++#: c-decl.c:2927
+ #, gcc-internal-format
+ msgid "empty declaration with type qualifier does not redeclare tag"
+ msgstr ""
+
+-#: c-decl.c:2943 c-decl.c:2950
++#: c-decl.c:2948 c-decl.c:2955
+ #, fuzzy, gcc-internal-format
+ msgid "useless type name in empty declaration"
+ msgstr "κενό αλφαÏιθμητικό"
+
+-#: c-decl.c:2958
++#: c-decl.c:2963
+ #, fuzzy, gcc-internal-format
+ msgid "%<inline%> in empty declaration"
+ msgstr "κενό αλφαÏιθμητικό"
+
+-#: c-decl.c:2964
++#: c-decl.c:2969
+ #, gcc-internal-format
+ msgid "%<auto%> in file-scope empty declaration"
+ msgstr ""
+
+-#: c-decl.c:2970
++#: c-decl.c:2975
+ #, gcc-internal-format
+ msgid "%<register%> in file-scope empty declaration"
+ msgstr ""
+
+-#: c-decl.c:2976
++#: c-decl.c:2981
+ #, gcc-internal-format
+ msgid "useless storage class specifier in empty declaration"
+ msgstr ""
+
+-#: c-decl.c:2982
++#: c-decl.c:2987
+ #, gcc-internal-format
+ msgid "useless %<__thread%> in empty declaration"
+ msgstr ""
+
+-#: c-decl.c:2990
++#: c-decl.c:2995
+ #, gcc-internal-format
+ msgid "useless type qualifier in empty declaration"
+ msgstr ""
+
+-#: c-decl.c:2997
++#: c-decl.c:3002
+ #, fuzzy, gcc-internal-format
+ msgid "empty declaration"
+ msgstr "κενό αλφαÏιθμητικό"
+
+-#: c-decl.c:3063
++#: c-decl.c:3068
+ #, gcc-internal-format
+ msgid "ISO C90 does not support %<static%> or type qualifiers in parameter array declarators"
+ msgstr ""
+
+-#: c-decl.c:3066
++#: c-decl.c:3071
+ #, gcc-internal-format
+ msgid "ISO C90 does not support %<[*]%> array declarators"
+ msgstr ""
+@@ -18226,253 +18202,248 @@
+ #. C99 6.7.5.2p4
+ #. A function definition isn't function prototype scope C99 6.2.1p4.
+ #. C99 6.7.5.2p4
+-#: c-decl.c:3073 c-decl.c:5015
++#: c-decl.c:3078 c-decl.c:5014
+ #, gcc-internal-format
+ msgid "%<[*]%> not allowed in other than function prototype scope"
+ msgstr ""
+
+-#: c-decl.c:3097
+-#, gcc-internal-format
+-msgid "static or type qualifiers in abstract declarator"
+-msgstr ""
+-
+-#: c-decl.c:3183
++#: c-decl.c:3181
+ #, fuzzy, gcc-internal-format
+ msgid "%q+D is usually a function"
+ msgstr "Το `%s' δεν είναι κατάλογος."
+
+-#: c-decl.c:3192 cp/decl.c:3983 cp/decl2.c:773
++#: c-decl.c:3190 cp/decl.c:4003 cp/decl2.c:773
+ #, gcc-internal-format
+ msgid "typedef %qD is initialized (use __typeof__ instead)"
+ msgstr ""
+
+-#: c-decl.c:3197
++#: c-decl.c:3195
+ #, gcc-internal-format
+ msgid "function %qD is initialized like a variable"
+ msgstr ""
+
+ #. DECL_INITIAL in a PARM_DECL is really DECL_ARG_TYPE.
+-#: c-decl.c:3203
++#: c-decl.c:3201
+ #, fuzzy, gcc-internal-format
+ msgid "parameter %qD is initialized"
+ msgstr "έχουν παÏαληφθεί οÏίσματα"
+
+-#: c-decl.c:3228
++#: c-decl.c:3226
+ #, fuzzy, gcc-internal-format
+ msgid "variable %qD has initializer but incomplete type"
+ msgstr "μη πλήÏης εγγÏαφή"
+
+-#: c-decl.c:3316 c-decl.c:6108 cp/decl.c:4025 cp/decl.c:10985
++#: c-decl.c:3314 c-decl.c:6107 cp/decl.c:4045 cp/decl.c:11083
+ #, fuzzy, gcc-internal-format
+ msgid "inline function %q+D given attribute noinline"
+ msgstr "Η λειτουÏγία δεν έχει υλοποιηθεί"
+
+-#: c-decl.c:3327
++#: c-decl.c:3326
+ #, gcc-internal-format
+ msgid "%q+D is static but declared in inline function %qD which is not static"
+ msgstr ""
+
+-#: c-decl.c:3418
++#: c-decl.c:3417
+ #, gcc-internal-format
+ msgid "initializer fails to determine size of %q+D"
+ msgstr ""
+
+-#: c-decl.c:3423
++#: c-decl.c:3422
+ #, fuzzy, gcc-internal-format
+ msgid "array size missing in %q+D"
+ msgstr "σφάλμα κατά το κλείσιμο της εισόδου `%s'"
+
+-#: c-decl.c:3435
++#: c-decl.c:3434
+ #, gcc-internal-format
+ msgid "zero or negative size array %q+D"
+ msgstr ""
+
+-#: c-decl.c:3490 varasm.c:2067
++#: c-decl.c:3489 varasm.c:2067
+ #, fuzzy, gcc-internal-format
+ msgid "storage size of %q+D isn%'t known"
+ msgstr "Το όνομα `%s' είναι άγνωστο\n"
+
+-#: c-decl.c:3500
++#: c-decl.c:3499
+ #, fuzzy, gcc-internal-format
+ msgid "storage size of %q+D isn%'t constant"
+ msgstr "Το όνομα `%s' είναι άγνωστο\n"
+
+-#: c-decl.c:3545
++#: c-decl.c:3544
+ #, gcc-internal-format
+ msgid "ignoring asm-specifier for non-static local variable %q+D"
+ msgstr ""
+
+-#: c-decl.c:3573 fortran/f95-lang.c:653
++#: c-decl.c:3572 fortran/f95-lang.c:655
+ #, gcc-internal-format
+ msgid "cannot put object with volatile field into register"
+ msgstr ""
+
+-#: c-decl.c:3702
++#: c-decl.c:3701
+ #, gcc-internal-format
+ msgid "ISO C forbids forward parameter declarations"
+ msgstr ""
+
+-#: c-decl.c:3821
++#: c-decl.c:3820
+ #, fuzzy, gcc-internal-format
+ msgid "bit-field %qs width not an integer constant"
+ msgstr "Μη έγκυÏη ακέÏαια παÏάμετÏος `%s'"
+
+-#: c-decl.c:3829
++#: c-decl.c:3828
+ #, fuzzy, gcc-internal-format
+ msgid "negative width in bit-field %qs"
+ msgstr "ΑÏνητικό πλάτος στην αποτίμηση"
+
+-#: c-decl.c:3834
++#: c-decl.c:3833
+ #, fuzzy, gcc-internal-format
+ msgid "zero width for bit-field %qs"
+ msgstr "ΑÏνητικό πλάτος στην αποτίμηση"
+
+-#: c-decl.c:3844
++#: c-decl.c:3843
+ #, gcc-internal-format
+ msgid "bit-field %qs has invalid type"
+ msgstr ""
+
+-#: c-decl.c:3854
++#: c-decl.c:3853
+ #, gcc-internal-format
+ msgid "type of bit-field %qs is a GCC extension"
+ msgstr ""
+
+-#: c-decl.c:3860
++#: c-decl.c:3859
+ #, gcc-internal-format
+ msgid "width of %qs exceeds its type"
+ msgstr ""
+
+-#: c-decl.c:3873
++#: c-decl.c:3872
+ #, fuzzy, gcc-internal-format
+ msgid "%qs is narrower than values of its type"
+ msgstr "%s' δεν είναι ισχÏων θετικός ακέÏαιος."
+
+-#: c-decl.c:3892
++#: c-decl.c:3891
+ #, gcc-internal-format
+ msgid "ISO C90 forbids array %qs whose size can%'t be evaluated"
+ msgstr ""
+
+-#: c-decl.c:3896
++#: c-decl.c:3895
+ #, gcc-internal-format
+ msgid "ISO C90 forbids array whose size can%'t be evaluated"
+ msgstr ""
+
+-#: c-decl.c:3902
++#: c-decl.c:3901
+ #, gcc-internal-format
+ msgid "ISO C90 forbids variable length array %qs"
+ msgstr ""
+
+-#: c-decl.c:3905
++#: c-decl.c:3904
+ #, gcc-internal-format
+ msgid "ISO C90 forbids variable length array"
+ msgstr ""
+
+-#: c-decl.c:3914
++#: c-decl.c:3913
+ #, fuzzy, gcc-internal-format
+ msgid "the size of array %qs can%'t be evaluated"
+ msgstr "Ο κατάλογος `%s' δεν είναι Ï€Ïοσιτός."
+
+-#: c-decl.c:3918
++#: c-decl.c:3917
+ #, fuzzy, gcc-internal-format
+ msgid "the size of array can %'t be evaluated"
+ msgstr "Ο κατάλογος `%s' δεν είναι Ï€Ïοσιτός."
+
+-#: c-decl.c:3924
++#: c-decl.c:3923
+ #, gcc-internal-format
+ msgid "variable length array %qs is used"
+ msgstr ""
+
+-#: c-decl.c:3928 cp/decl.c:7004
++#: c-decl.c:3927 cp/decl.c:7076
+ #, gcc-internal-format
+ msgid "variable length array is used"
+ msgstr ""
+
+-#: c-decl.c:4051 c-decl.c:4328
++#: c-decl.c:4050 c-decl.c:4327
+ #, fuzzy, gcc-internal-format
+ msgid "variably modified %qs at file scope"
+ msgstr "ο χάÏτης χαÏακτήÏων `%s' οÏίστηκε ήδη"
+
+-#: c-decl.c:4069
++#: c-decl.c:4068
+ #, fuzzy, gcc-internal-format
+ msgid "type defaults to %<int%> in declaration of %qs"
+ msgstr "Ï€ÏοηγοÏμενη αυτονόητη διακÏÏηξη του `%s'"
+
+-#: c-decl.c:4097
++#: c-decl.c:4096
+ #, fuzzy, gcc-internal-format
+ msgid "duplicate %<const%>"
+ msgstr "διπλό κλειδί"
+
+-#: c-decl.c:4099
++#: c-decl.c:4098
+ #, fuzzy, gcc-internal-format
+ msgid "duplicate %<restrict%>"
+ msgstr "διπλό κλειδί"
+
+-#: c-decl.c:4101
++#: c-decl.c:4100
+ #, fuzzy, gcc-internal-format
+ msgid "duplicate %<volatile%>"
+ msgstr "διπλό κλειδί"
+
+-#: c-decl.c:4120
++#: c-decl.c:4119
+ #, gcc-internal-format
+ msgid "function definition declared %<auto%>"
+ msgstr ""
+
+-#: c-decl.c:4122
++#: c-decl.c:4121
+ #, gcc-internal-format
+ msgid "function definition declared %<register%>"
+ msgstr ""
+
+-#: c-decl.c:4124
++#: c-decl.c:4123
+ #, gcc-internal-format
+ msgid "function definition declared %<typedef%>"
+ msgstr ""
+
+-#: c-decl.c:4126
++#: c-decl.c:4125
+ #, gcc-internal-format
+ msgid "function definition declared %<__thread%>"
+ msgstr ""
+
+-#: c-decl.c:4142
++#: c-decl.c:4141
+ #, gcc-internal-format
+ msgid "storage class specified for structure field %qs"
+ msgstr ""
+
+-#: c-decl.c:4146 cp/decl.c:7874
++#: c-decl.c:4145 cp/decl.c:7946
+ #, gcc-internal-format
+ msgid "storage class specified for parameter %qs"
+ msgstr ""
+
+-#: c-decl.c:4149 cp/decl.c:7876
++#: c-decl.c:4148 cp/decl.c:7948
+ #, gcc-internal-format
+ msgid "storage class specified for typename"
+ msgstr ""
+
+-#: c-decl.c:4166 cp/decl.c:7893
++#: c-decl.c:4165 cp/decl.c:7965
+ #, gcc-internal-format
+ msgid "%qs initialized and declared %<extern%>"
+ msgstr ""
+
+-#: c-decl.c:4169 cp/decl.c:7896
++#: c-decl.c:4168 cp/decl.c:7968
+ #, gcc-internal-format
+ msgid "%qs has both %<extern%> and initializer"
+ msgstr ""
+
+-#: c-decl.c:4174
++#: c-decl.c:4173
+ #, gcc-internal-format
+ msgid "file-scope declaration of %qs specifies %<auto%>"
+ msgstr ""
+
+-#: c-decl.c:4176
++#: c-decl.c:4175
+ #, gcc-internal-format
+ msgid "file-scope declaration of %qs specifies %<register%>"
+ msgstr ""
+
+-#: c-decl.c:4181 cp/decl.c:7900
++#: c-decl.c:4180 cp/decl.c:7972
+ #, gcc-internal-format
+ msgid "nested function %qs declared %<extern%>"
+ msgstr ""
+
+-#: c-decl.c:4184 cp/decl.c:7910
++#: c-decl.c:4183 cp/decl.c:7982
+ #, gcc-internal-format
+ msgid "function-scope %qs implicitly auto and declared %<__thread%>"
+ msgstr ""
+@@ -18480,469 +18451,469 @@
+ #. Only the innermost declarator (making a parameter be of
+ #. array type which is converted to pointer type)
+ #. may have static or type qualifiers.
+-#: c-decl.c:4231 c-decl.c:4472
++#: c-decl.c:4230 c-decl.c:4471
+ #, gcc-internal-format
+ msgid "static or type qualifiers in non-parameter array declarator"
+ msgstr ""
+
+-#: c-decl.c:4278
++#: c-decl.c:4277
+ #, gcc-internal-format
+ msgid "declaration of %qs as array of voids"
+ msgstr ""
+
+-#: c-decl.c:4284
++#: c-decl.c:4283
+ #, fuzzy, gcc-internal-format
+ msgid "declaration of %qs as array of functions"
+ msgstr "αυτονόητη διακÏÏηξη της συνάÏτησης `%s'"
+
+-#: c-decl.c:4289
++#: c-decl.c:4288
+ #, fuzzy, gcc-internal-format
+ msgid "invalid use of structure with flexible array member"
+ msgstr "μη έγκυÏη ÏŽÏα της μέÏας"
+
+-#: c-decl.c:4309
++#: c-decl.c:4308
+ #, fuzzy, gcc-internal-format
+ msgid "size of array %qs has non-integer type"
+ msgstr "Ο κατάλογος `%s' δεν είναι Ï€Ïοσιτός."
+
+-#: c-decl.c:4314
++#: c-decl.c:4313
+ #, gcc-internal-format
+ msgid "ISO C forbids zero-size array %qs"
+ msgstr ""
+
+-#: c-decl.c:4321
++#: c-decl.c:4320
+ #, fuzzy, gcc-internal-format
+ msgid "size of array %qs is negative"
+ msgstr "Ο κατάλογος `%s' δεν είναι Ï€Ïοσιτός."
+
+-#: c-decl.c:4375 c-decl.c:4631 cp/decl.c:8375
++#: c-decl.c:4374 c-decl.c:4630 cp/decl.c:8447
+ #, fuzzy, gcc-internal-format
+ msgid "size of array %qs is too large"
+ msgstr "Ο κατάλογος `%s' δεν είναι Ï€Ïοσιτός."
+
+-#: c-decl.c:4386
++#: c-decl.c:4385
+ #, fuzzy, gcc-internal-format
+ msgid "ISO C90 does not support flexible array members"
+ msgstr "μη έγκυÏη ÏŽÏα της μέÏας"
+
+ #. C99 6.7.5.2p4
+-#: c-decl.c:4399
++#: c-decl.c:4398
+ #, fuzzy, gcc-internal-format
+ msgid "%<[*]%> not allowed in other than a declaration"
+ msgstr "αδυναμία ανάγνωσης κεφαλίδας από το `%s'"
+
+-#: c-decl.c:4422
++#: c-decl.c:4421
+ #, gcc-internal-format
+ msgid "array type has incomplete element type"
+ msgstr ""
+
+-#: c-decl.c:4504 cp/decl.c:8001
++#: c-decl.c:4503 cp/decl.c:8073
+ #, fuzzy, gcc-internal-format
+ msgid "%qs declared as function returning a function"
+ msgstr "%s: διπλός οÏισμός έκδοσης κατηγοÏίας"
+
+-#: c-decl.c:4509 cp/decl.c:8006
++#: c-decl.c:4508 cp/decl.c:8078
+ #, gcc-internal-format
+ msgid "%qs declared as function returning an array"
+ msgstr ""
+
+-#: c-decl.c:4531
++#: c-decl.c:4530
+ #, fuzzy, gcc-internal-format
+ msgid "function definition has qualified void return type"
+ msgstr "μη έγκυÏος αÏιθμός αÏχείου στη δήλωση πεδίου: `%s'"
+
+-#: c-decl.c:4534 cp/decl.c:7990 cp/pt.c:8568
++#: c-decl.c:4533 cp/decl.c:8062 cp/pt.c:8668
+ #, gcc-internal-format
+ msgid "type qualifiers ignored on function return type"
+ msgstr ""
+
+-#: c-decl.c:4563 c-decl.c:4644 c-decl.c:4732 c-decl.c:4825
++#: c-decl.c:4562 c-decl.c:4643 c-decl.c:4731 c-decl.c:4824
+ #, gcc-internal-format
+ msgid "ISO C forbids qualified function types"
+ msgstr ""
+
+-#: c-decl.c:4652
++#: c-decl.c:4651
+ #, fuzzy, gcc-internal-format
+ msgid "typedef %q+D declared %<inline%>"
+ msgstr "ο χάÏτης χαÏακτήÏων `%s' οÏίστηκε ήδη"
+
+-#: c-decl.c:4667
++#: c-decl.c:4666
+ #, gcc-internal-format
+ msgid "ISO C forbids const or volatile function types"
+ msgstr ""
+
+ #. C99 6.7.2.1p8
+-#: c-decl.c:4677
++#: c-decl.c:4676
+ #, gcc-internal-format
+ msgid "a member of a structure or union cannot have a variably modified type"
+ msgstr ""
+
+-#: c-decl.c:4693
++#: c-decl.c:4692
+ #, fuzzy, gcc-internal-format
+ msgid "variable or field %qs declared void"
+ msgstr "ο χάÏτης χαÏακτήÏων `%s' οÏίστηκε ήδη"
+
+-#: c-decl.c:4725
++#: c-decl.c:4724
+ #, gcc-internal-format
+ msgid "attributes in parameter array declarator ignored"
+ msgstr ""
+
+-#: c-decl.c:4760
++#: c-decl.c:4759
+ #, fuzzy, gcc-internal-format
+ msgid "parameter %q+D declared %<inline%>"
+ msgstr "ο χάÏτης χαÏακτήÏων `%s' οÏίστηκε ήδη"
+
+-#: c-decl.c:4773
++#: c-decl.c:4772
+ #, gcc-internal-format
+ msgid "field %qs declared as a function"
+ msgstr ""
+
+-#: c-decl.c:4779
++#: c-decl.c:4778
+ #, fuzzy, gcc-internal-format
+ msgid "field %qs has incomplete type"
+ msgstr "μη πλήÏης εγγÏαφή"
+
+-#: c-decl.c:4796 c-decl.c:4808 c-decl.c:4812
++#: c-decl.c:4795 c-decl.c:4807 c-decl.c:4811
+ #, fuzzy, gcc-internal-format
+ msgid "invalid storage class for function %qs"
+ msgstr "μη έγκυÏη τάξη χαÏακτήÏων `%s'"
+
+-#: c-decl.c:4831
++#: c-decl.c:4830
+ #, fuzzy, gcc-internal-format
+ msgid "%<noreturn%> function returns non-void value"
+ msgstr "`return' χωÏίς τιμή, σε συνάÏτηση που επιστÏέφει μη-κενό"
+
+-#: c-decl.c:4867
++#: c-decl.c:4866
+ #, fuzzy, gcc-internal-format
+ msgid "cannot inline function %<main%>"
+ msgstr "δεν είναι δυνατό να δημιουÏγηθεί το αÏχείο fifo `%s'"
+
+-#: c-decl.c:4910
++#: c-decl.c:4909
+ #, gcc-internal-format
+ msgid "variable previously declared %<static%> redeclared %<extern%>"
+ msgstr ""
+
+-#: c-decl.c:4920
++#: c-decl.c:4919
+ #, fuzzy, gcc-internal-format
+ msgid "variable %q+D declared %<inline%>"
+ msgstr "ο χάÏτης χαÏακτήÏων `%s' οÏίστηκε ήδη"
+
+ #. C99 6.7.5.2p2
+-#: c-decl.c:4951
++#: c-decl.c:4950
+ #, gcc-internal-format
+ msgid "object with variably modified type must have no linkage"
+ msgstr ""
+
+-#: c-decl.c:5020 c-decl.c:6199
++#: c-decl.c:5019 c-decl.c:6198
+ #, gcc-internal-format
+ msgid "function declaration isn%'t a prototype"
+ msgstr ""
+
+-#: c-decl.c:5028
++#: c-decl.c:5027
+ #, gcc-internal-format
+ msgid "parameter names (without types) in function declaration"
+ msgstr ""
+
+-#: c-decl.c:5061
++#: c-decl.c:5060
+ #, fuzzy, gcc-internal-format
+ msgid "parameter %u (%q+D) has incomplete type"
+ msgstr "μη πλήÏης εγγÏαφή"
+
+-#: c-decl.c:5064
++#: c-decl.c:5063
+ #, fuzzy, gcc-internal-format
+ msgid "%Jparameter %u has incomplete type"
+ msgstr "μη πλήÏης εγγÏαφή"
+
+-#: c-decl.c:5073
++#: c-decl.c:5072
+ #, fuzzy, gcc-internal-format
+ msgid "parameter %u (%q+D) has void type"
+ msgstr "μη πλήÏης εγγÏαφή"
+
+-#: c-decl.c:5076
++#: c-decl.c:5075
+ #, fuzzy, gcc-internal-format
+ msgid "%Jparameter %u has void type"
+ msgstr "μη πλήÏης εγγÏαφή"
+
+-#: c-decl.c:5138
++#: c-decl.c:5137
+ #, gcc-internal-format
+ msgid "%<void%> as only parameter may not be qualified"
+ msgstr ""
+
+-#: c-decl.c:5142 c-decl.c:5176
++#: c-decl.c:5141 c-decl.c:5175
+ #, gcc-internal-format
+ msgid "%<void%> must be the only parameter"
+ msgstr ""
+
+-#: c-decl.c:5170
++#: c-decl.c:5169
+ #, gcc-internal-format
+ msgid "parameter %q+D has just a forward declaration"
+ msgstr ""
+
+ #. The %s will be one of 'struct', 'union', or 'enum'.
+-#: c-decl.c:5215
++#: c-decl.c:5214
+ #, fuzzy, gcc-internal-format
+ msgid "%<%s %E%> declared inside parameter list"
+ msgstr "συνεχίζεται στο τμήμα"
+
+ #. The %s will be one of 'struct', 'union', or 'enum'.
+-#: c-decl.c:5219
++#: c-decl.c:5218
+ #, fuzzy, gcc-internal-format
+ msgid "anonymous %s declared inside parameter list"
+ msgstr "συνεχίζεται στο τμήμα"
+
+-#: c-decl.c:5224
++#: c-decl.c:5223
+ #, gcc-internal-format
+ msgid "its scope is only this definition or declaration, which is probably not what you want"
+ msgstr ""
+
+-#: c-decl.c:5358
++#: c-decl.c:5357
+ #, fuzzy, gcc-internal-format
+ msgid "redefinition of %<union %E%>"
+ msgstr "Οι οÏισμοί πηγή βÏίσκονται στο ΑΡΧΕΙΟ"
+
+-#: c-decl.c:5360
++#: c-decl.c:5359
+ #, fuzzy, gcc-internal-format
+ msgid "redefinition of %<struct %E%>"
+ msgstr "κανένας οÏισμός του `UNDEFINED'"
+
+-#: c-decl.c:5365
++#: c-decl.c:5364
+ #, fuzzy, gcc-internal-format
+ msgid "nested redefinition of %<union %E%>"
+ msgstr "αδυναμία ανοίγματος αÏχείου οÏÎ¹ÏƒÎ¼Î¿Ï locale `%s'"
+
+-#: c-decl.c:5367
++#: c-decl.c:5366
+ #, fuzzy, gcc-internal-format
+ msgid "nested redefinition of %<struct %E%>"
+ msgstr "αδυναμία ανοίγματος αÏχείου οÏÎ¹ÏƒÎ¼Î¿Ï locale `%s'"
+
+-#: c-decl.c:5442 cp/decl.c:3780
++#: c-decl.c:5441 cp/decl.c:3796
+ #, gcc-internal-format
+ msgid "declaration does not declare anything"
+ msgstr ""
+
+-#: c-decl.c:5446
++#: c-decl.c:5445
+ #, gcc-internal-format
+ msgid "ISO C doesn%'t support unnamed structs/unions"
+ msgstr ""
+
+-#: c-decl.c:5490 c-decl.c:5506
++#: c-decl.c:5489 c-decl.c:5505
+ #, fuzzy, gcc-internal-format
+ msgid "duplicate member %q+D"
+ msgstr "διπλός αÏιθμός μηνÏματος"
+
+-#: c-decl.c:5545
++#: c-decl.c:5544
+ #, fuzzy, gcc-internal-format
+ msgid "union has no named members"
+ msgstr "επώνυμα μέλη"
+
+-#: c-decl.c:5547
++#: c-decl.c:5546
+ #, fuzzy, gcc-internal-format
+ msgid "union has no members"
+ msgstr "επώνυμα μέλη"
+
+-#: c-decl.c:5552
++#: c-decl.c:5551
+ #, fuzzy, gcc-internal-format
+ msgid "struct has no named members"
+ msgstr "επώνυμα μέλη"
+
+ # src/request.c:37
+-#: c-decl.c:5554
++#: c-decl.c:5553
+ #, fuzzy, gcc-internal-format
+ msgid "struct has no members"
+ msgstr "%s σε %s"
+
+-#: c-decl.c:5616
++#: c-decl.c:5615
+ #, fuzzy, gcc-internal-format
+ msgid "%Jflexible array member in union"
+ msgstr "μη έγκυÏη ÏŽÏα της μέÏας"
+
+-#: c-decl.c:5621
++#: c-decl.c:5620
+ #, gcc-internal-format
+ msgid "%Jflexible array member not at end of struct"
+ msgstr ""
+
+-#: c-decl.c:5626
++#: c-decl.c:5625
+ #, gcc-internal-format
+ msgid "%Jflexible array member in otherwise empty struct"
+ msgstr ""
+
+-#: c-decl.c:5633
++#: c-decl.c:5632
+ #, fuzzy, gcc-internal-format
+ msgid "%Jinvalid use of structure with flexible array member"
+ msgstr "μη έγκυÏη ÏŽÏα της μέÏας"
+
+-#: c-decl.c:5742
++#: c-decl.c:5741
+ #, gcc-internal-format
+ msgid "union cannot be made transparent"
+ msgstr ""
+
+-#: c-decl.c:5813
++#: c-decl.c:5812
+ #, fuzzy, gcc-internal-format
+ msgid "nested redefinition of %<enum %E%>"
+ msgstr "αδυναμία ανοίγματος αÏχείου οÏÎ¹ÏƒÎ¼Î¿Ï locale `%s'"
+
+ #. This enum is a named one that has been declared already.
+-#: c-decl.c:5820
++#: c-decl.c:5819
+ #, fuzzy, gcc-internal-format
+ msgid "redeclaration of %<enum %E%>"
+ msgstr "δημιουÏγία αÏχείου `%s'\n"
+
+-#: c-decl.c:5883
++#: c-decl.c:5882
+ #, gcc-internal-format
+ msgid "enumeration values exceed range of largest integer"
+ msgstr ""
+
+-#: c-decl.c:5900
++#: c-decl.c:5899
+ #, gcc-internal-format
+ msgid "specified mode too small for enumeral values"
+ msgstr ""
+
+-#: c-decl.c:5996
++#: c-decl.c:5995
+ #, fuzzy, gcc-internal-format
+ msgid "enumerator value for %qE is not an integer constant"
+ msgstr "Μη έγκυÏη ακέÏαια παÏάμετÏος `%s'"
+
+-#: c-decl.c:6013
++#: c-decl.c:6012
+ #, gcc-internal-format
+ msgid "overflow in enumeration values"
+ msgstr ""
+
+-#: c-decl.c:6018
++#: c-decl.c:6017
+ #, gcc-internal-format
+ msgid "ISO C restricts enumerator values to range of %<int%>"
+ msgstr ""
+
+-#: c-decl.c:6125
++#: c-decl.c:6124
+ #, gcc-internal-format
+ msgid "return type is an incomplete type"
+ msgstr ""
+
+-#: c-decl.c:6133
++#: c-decl.c:6132
+ #, fuzzy, gcc-internal-format
+ msgid "return type defaults to %<int%>"
+ msgstr "ο επιστÏεφόμενος Ï„Ïπος Ï€ÏοκαθοÏίζεται σε `int'"
+
+-#: c-decl.c:6206
++#: c-decl.c:6205
+ #, fuzzy, gcc-internal-format
+ msgid "no previous prototype for %q+D"
+ msgstr "διατήÏηση ωÏών στο %s"
+
+-#: c-decl.c:6215
++#: c-decl.c:6214
+ #, fuzzy, gcc-internal-format
+ msgid "%q+D was used with no prototype before its definition"
+ msgstr "αυτή είναι η θέση του Ï€Ïώτου οÏισμοÏ"
+
+-#: c-decl.c:6221 cp/decl.c:11126
++#: c-decl.c:6220 cp/decl.c:11224
+ #, fuzzy, gcc-internal-format
+ msgid "no previous declaration for %q+D"
+ msgstr "Ï€ÏοηγοÏμενη αυτονόητη διακÏÏηξη του `%s'"
+
+-#: c-decl.c:6231
++#: c-decl.c:6230
+ #, fuzzy, gcc-internal-format
+ msgid "%q+D was used with no declaration before its definition"
+ msgstr "αυτή είναι η θέση του Ï€Ïώτου οÏισμοÏ"
+
+-#: c-decl.c:6254 c-decl.c:6723
++#: c-decl.c:6253 c-decl.c:6722
+ #, fuzzy, gcc-internal-format
+ msgid "return type of %q+D is not %<int%>"
+ msgstr "η επιστÏεφόμενη τιμή της `%s' δεν είναι `int'"
+
+-#: c-decl.c:6259
++#: c-decl.c:6258
+ #, fuzzy, gcc-internal-format
+ msgid "%q+D is normally a non-static function"
+ msgstr "η `%s' είναι συνήθως μη-στατική συνάÏτηση"
+
+-#: c-decl.c:6293
++#: c-decl.c:6292
+ #, gcc-internal-format
+ msgid "%Jold-style parameter declarations in prototyped function definition"
+ msgstr ""
+
+-#: c-decl.c:6307
++#: c-decl.c:6306
+ #, gcc-internal-format
+ msgid "%Jtraditional C rejects ISO C style function definitions"
+ msgstr ""
+
+-#: c-decl.c:6323
++#: c-decl.c:6322
+ #, fuzzy, gcc-internal-format
+ msgid "%Jparameter name omitted"
+ msgstr "έχει παÏαληφθεί το όνομα της παÏαμέτÏου"
+
+-#: c-decl.c:6357
++#: c-decl.c:6356
+ #, gcc-internal-format
+ msgid "%Jold-style function definition"
+ msgstr ""
+
+-#: c-decl.c:6366
++#: c-decl.c:6365
+ #, fuzzy, gcc-internal-format
+ msgid "%Jparameter name missing from parameter list"
+ msgstr "Ελλιπής ή κακοσχηματισμένη ιδιότητα"
+
+-#: c-decl.c:6377
++#: c-decl.c:6376
+ #, fuzzy, gcc-internal-format
+ msgid "%q+D declared as a non-parameter"
+ msgstr "Δεν υπάÏχει Ï€ÏοηγοÏμενη κανονική έκφÏαση"
+
+-#: c-decl.c:6382
++#: c-decl.c:6381
+ #, fuzzy, gcc-internal-format
+ msgid "multiple parameters named %q+D"
+ msgstr "διπλό όνομα χαÏακτήÏα `%s'"
+
+-#: c-decl.c:6390
++#: c-decl.c:6389
+ #, fuzzy, gcc-internal-format
+ msgid "parameter %q+D declared with void type"
+ msgstr "ο χάÏτης χαÏακτήÏων `%s' οÏίστηκε ήδη"
+
+-#: c-decl.c:6407 c-decl.c:6409
++#: c-decl.c:6406 c-decl.c:6408
+ #, fuzzy, gcc-internal-format
+ msgid "type of %q+D defaults to %<int%>"
+ msgstr "ο επιστÏεφόμενος Ï„Ïπος Ï€ÏοκαθοÏίζεται σε `int'"
+
+-#: c-decl.c:6428
++#: c-decl.c:6427
+ #, fuzzy, gcc-internal-format
+ msgid "parameter %q+D has incomplete type"
+ msgstr "μη πλήÏης εγγÏαφή"
+
+-#: c-decl.c:6434
++#: c-decl.c:6433
+ #, fuzzy, gcc-internal-format
+ msgid "declaration for parameter %q+D but no such parameter"
+ msgstr "δημιουÏγία αÏχείου `%s'\n"
+
+-#: c-decl.c:6484
++#: c-decl.c:6483
+ #, fuzzy, gcc-internal-format
+ msgid "number of arguments doesn%'t match built-in prototype"
+ msgstr "λάθος αÏιθμός οÏισμάτων"
+
+-#: c-decl.c:6488
++#: c-decl.c:6487
+ #, fuzzy, gcc-internal-format
+ msgid "number of arguments doesn%'t match prototype"
+ msgstr "λάθος αÏιθμός οÏισμάτων"
+
+-#: c-decl.c:6489 c-decl.c:6529 c-decl.c:6542
++#: c-decl.c:6488 c-decl.c:6528 c-decl.c:6541
+ #, fuzzy, gcc-internal-format
+ msgid "%Hprototype declaration"
+ msgstr "κενό αλφαÏιθμητικό"
+
+-#: c-decl.c:6523
++#: c-decl.c:6522
+ #, fuzzy, gcc-internal-format
+ msgid "promoted argument %qD doesn%'t match built-in prototype"
+ msgstr "λάθος αÏιθμός οÏισμάτων"
+
+-#: c-decl.c:6527
++#: c-decl.c:6526
+ #, gcc-internal-format
+ msgid "promoted argument %qD doesn%'t match prototype"
+ msgstr ""
+
+-#: c-decl.c:6537
++#: c-decl.c:6536
+ #, fuzzy, gcc-internal-format
+ msgid "argument %qD doesn%'t match built-in prototype"
+ msgstr "λάθος αÏιθμός οÏισμάτων"
+
+-#: c-decl.c:6541
++#: c-decl.c:6540
+ #, gcc-internal-format
+ msgid "argument %qD doesn%'t match prototype"
+ msgstr ""
+
+-#: c-decl.c:6768 cp/decl.c:11820
++#: c-decl.c:6767 cp/decl.c:11918
+ #, fuzzy, gcc-internal-format
+ msgid "no return statement in function returning non-void"
+ msgstr "`return' χωÏίς τιμή, σε συνάÏτηση που επιστÏέφει μη-κενό"
+@@ -18950,437 +18921,437 @@
+ #. If we get here, declarations have been used in a for loop without
+ #. the C99 for loop scope. This doesn't make much sense, so don't
+ #. allow it.
+-#: c-decl.c:6841
++#: c-decl.c:6840
+ #, gcc-internal-format
+ msgid "%<for%> loop initial declaration used outside C99 mode"
+ msgstr ""
+
+-#: c-decl.c:6870
++#: c-decl.c:6869
+ #, fuzzy, gcc-internal-format
+ msgid "declaration of static variable %q+D in %<for%> loop initial declaration"
+ msgstr "αυτός είναι ο Ï€Ïώτος οÏισμός"
+
+-#: c-decl.c:6873
++#: c-decl.c:6872
+ #, gcc-internal-format
+ msgid "declaration of %<extern%> variable %q+D in %<for%> loop initial declaration"
+ msgstr ""
+
+-#: c-decl.c:6878
++#: c-decl.c:6877
+ #, gcc-internal-format
+ msgid "%<struct %E%> declared in %<for%> loop initial declaration"
+ msgstr ""
+
+-#: c-decl.c:6882
++#: c-decl.c:6881
+ #, gcc-internal-format
+ msgid "%<union %E%> declared in %<for%> loop initial declaration"
+ msgstr ""
+
+-#: c-decl.c:6886
++#: c-decl.c:6885
+ #, gcc-internal-format
+ msgid "%<enum %E%> declared in %<for%> loop initial declaration"
+ msgstr ""
+
+-#: c-decl.c:6890
++#: c-decl.c:6889
+ #, gcc-internal-format
+ msgid "declaration of non-variable %q+D in %<for%> loop initial declaration"
+ msgstr ""
+
+-#: c-decl.c:7178 c-decl.c:7420 c-decl.c:7716
++#: c-decl.c:7177 c-decl.c:7419 c-decl.c:7715
+ #, fuzzy, gcc-internal-format
+ msgid "duplicate %qE"
+ msgstr "διπλό κλειδί"
+
+-#: c-decl.c:7201 c-decl.c:7430 c-decl.c:7617
++#: c-decl.c:7200 c-decl.c:7429 c-decl.c:7616
+ #, gcc-internal-format
+ msgid "two or more data types in declaration specifiers"
+ msgstr ""
+
+-#: c-decl.c:7213 cp/parser.c:2149
++#: c-decl.c:7212 cp/parser.c:2152
+ #, gcc-internal-format
+ msgid "%<long long long%> is too long for GCC"
+ msgstr ""
+
+-#: c-decl.c:7220 c-decl.c:7520
++#: c-decl.c:7219 c-decl.c:7519
+ #, gcc-internal-format
+ msgid "both %<long long%> and %<double%> in declaration specifiers"
+ msgstr ""
+
+-#: c-decl.c:7226
++#: c-decl.c:7225
+ #, fuzzy, gcc-internal-format
+ msgid "ISO C90 does not support %<long long%>"
+ msgstr "αÏχεία fifo δεν υποστηÏίζονται"
+
+-#: c-decl.c:7231 c-decl.c:7260
++#: c-decl.c:7230 c-decl.c:7259
+ #, gcc-internal-format
+ msgid "both %<long%> and %<short%> in declaration specifiers"
+ msgstr ""
+
+-#: c-decl.c:7234 c-decl.c:7437
++#: c-decl.c:7233 c-decl.c:7436
+ #, gcc-internal-format
+ msgid "both %<long%> and %<void%> in declaration specifiers"
+ msgstr ""
+
+-#: c-decl.c:7237 c-decl.c:7459
++#: c-decl.c:7236 c-decl.c:7458
+ #, gcc-internal-format
+ msgid "both %<long%> and %<_Bool%> in declaration specifiers"
+ msgstr ""
+
+-#: c-decl.c:7240 c-decl.c:7481
++#: c-decl.c:7239 c-decl.c:7480
+ #, gcc-internal-format
+ msgid "both %<long%> and %<char%> in declaration specifiers"
+ msgstr ""
+
+-#: c-decl.c:7243 c-decl.c:7501
++#: c-decl.c:7242 c-decl.c:7500
+ #, gcc-internal-format
+ msgid "both %<long%> and %<float%> in declaration specifiers"
+ msgstr ""
+
+-#: c-decl.c:7246
++#: c-decl.c:7245
+ #, fuzzy, gcc-internal-format
+ msgid "both %<long%> and %<_Decimal32%> in declaration specifiers"
+ msgstr "μη έγκυÏος δηλωτής πεδίου: `%s'"
+
+-#: c-decl.c:7249
++#: c-decl.c:7248
+ #, fuzzy, gcc-internal-format
+ msgid "both %<long%> and %<_Decimal64%> in declaration specifiers"
+ msgstr "μη έγκυÏος δηλωτής πεδίου: `%s'"
+
+-#: c-decl.c:7252
++#: c-decl.c:7251
+ #, fuzzy, gcc-internal-format
+ msgid "both %<long%> and %<_Decimal128%> in declaration specifiers"
+ msgstr "μη έγκυÏος δηλωτής πεδίου: `%s'"
+
+-#: c-decl.c:7263 c-decl.c:7440
++#: c-decl.c:7262 c-decl.c:7439
+ #, gcc-internal-format
+ msgid "both %<short%> and %<void%> in declaration specifiers"
+ msgstr ""
+
+-#: c-decl.c:7266 c-decl.c:7462
++#: c-decl.c:7265 c-decl.c:7461
+ #, gcc-internal-format
+ msgid "both %<short%> and %<_Bool%> in declaration specifiers"
+ msgstr ""
+
+-#: c-decl.c:7269 c-decl.c:7484
++#: c-decl.c:7268 c-decl.c:7483
+ #, gcc-internal-format
+ msgid "both %<short%> and %<char%> in declaration specifiers"
+ msgstr ""
+
+-#: c-decl.c:7272 c-decl.c:7504
++#: c-decl.c:7271 c-decl.c:7503
+ #, gcc-internal-format
+ msgid "both %<short%> and %<float%> in declaration specifiers"
+ msgstr ""
+
+-#: c-decl.c:7275 c-decl.c:7523
++#: c-decl.c:7274 c-decl.c:7522
+ #, gcc-internal-format
+ msgid "both %<short%> and %<double%> in declaration specifiers"
+ msgstr ""
+
+-#: c-decl.c:7278
++#: c-decl.c:7277
+ #, fuzzy, gcc-internal-format
+ msgid "both %<short%> and %<_Decimal32%> in declaration specifiers"
+ msgstr "μη έγκυÏος δηλωτής πεδίου: `%s'"
+
+-#: c-decl.c:7281
++#: c-decl.c:7280
+ #, fuzzy, gcc-internal-format
+ msgid "both %<short%> and %<_Decimal64%> in declaration specifiers"
+ msgstr "μη έγκυÏος δηλωτής πεδίου: `%s'"
+
+-#: c-decl.c:7284
++#: c-decl.c:7283
+ #, fuzzy, gcc-internal-format
+ msgid "both %<short%> and %<_Decimal128%> in declaration specifiers"
+ msgstr "μη έγκυÏος δηλωτής πεδίου: `%s'"
+
+-#: c-decl.c:7292 c-decl.c:7321
++#: c-decl.c:7291 c-decl.c:7320
+ #, fuzzy, gcc-internal-format
+ msgid "both %<signed%> and %<unsigned%> in declaration specifiers"
+ msgstr "μη έγκυÏος δηλωτής πεδίου: `%s'"
+
+-#: c-decl.c:7295 c-decl.c:7443
++#: c-decl.c:7294 c-decl.c:7442
+ #, fuzzy, gcc-internal-format
+ msgid "both %<signed%> and %<void%> in declaration specifiers"
+ msgstr "μη έγκυÏος δηλωτής πεδίου: `%s'"
+
+-#: c-decl.c:7298 c-decl.c:7465
++#: c-decl.c:7297 c-decl.c:7464
+ #, fuzzy, gcc-internal-format
+ msgid "both %<signed%> and %<_Bool%> in declaration specifiers"
+ msgstr "μη έγκυÏος δηλωτής πεδίου: `%s'"
+
+-#: c-decl.c:7301 c-decl.c:7507
++#: c-decl.c:7300 c-decl.c:7506
+ #, fuzzy, gcc-internal-format
+ msgid "both %<signed%> and %<float%> in declaration specifiers"
+ msgstr "μη έγκυÏος δηλωτής πεδίου: `%s'"
+
+-#: c-decl.c:7304 c-decl.c:7526
++#: c-decl.c:7303 c-decl.c:7525
+ #, fuzzy, gcc-internal-format
+ msgid "both %<signed%> and %<double%> in declaration specifiers"
+ msgstr "μη έγκυÏος δηλωτής πεδίου: `%s'"
+
+-#: c-decl.c:7307
++#: c-decl.c:7306
+ #, fuzzy, gcc-internal-format
+ msgid "both %<signed%> and %<_Decimal32%> in declaration specifiers"
+ msgstr "μη έγκυÏος δηλωτής πεδίου: `%s'"
+
+-#: c-decl.c:7310
++#: c-decl.c:7309
+ #, fuzzy, gcc-internal-format
+ msgid "both %<signed%> and %<_Decimal64%> in declaration specifiers"
+ msgstr "μη έγκυÏος δηλωτής πεδίου: `%s'"
+
+-#: c-decl.c:7313
++#: c-decl.c:7312
+ #, fuzzy, gcc-internal-format
+ msgid "both %<signed%> and %<_Decimal128%> in declaration specifiers"
+ msgstr "μη έγκυÏος δηλωτής πεδίου: `%s'"
+
+-#: c-decl.c:7324 c-decl.c:7446
++#: c-decl.c:7323 c-decl.c:7445
+ #, fuzzy, gcc-internal-format
+ msgid "both %<unsigned%> and %<void%> in declaration specifiers"
+ msgstr "μη έγκυÏος δηλωτής πεδίου: `%s'"
+
+-#: c-decl.c:7327 c-decl.c:7468
++#: c-decl.c:7326 c-decl.c:7467
+ #, fuzzy, gcc-internal-format
+ msgid "both %<unsigned%> and %<_Bool%> in declaration specifiers"
+ msgstr "μη έγκυÏος δηλωτής πεδίου: `%s'"
+
+-#: c-decl.c:7330 c-decl.c:7510
++#: c-decl.c:7329 c-decl.c:7509
+ #, fuzzy, gcc-internal-format
+ msgid "both %<unsigned%> and %<float%> in declaration specifiers"
+ msgstr "μη έγκυÏος δηλωτής πεδίου: `%s'"
+
+-#: c-decl.c:7333 c-decl.c:7529
++#: c-decl.c:7332 c-decl.c:7528
+ #, fuzzy, gcc-internal-format
+ msgid "both %<unsigned%> and %<double%> in declaration specifiers"
+ msgstr "μη έγκυÏος δηλωτής πεδίου: `%s'"
+
+-#: c-decl.c:7336
++#: c-decl.c:7335
+ #, fuzzy, gcc-internal-format
+ msgid "both %<unsigned%> and %<_Decimal32%> in declaration specifiers"
+ msgstr "μη έγκυÏος δηλωτής πεδίου: `%s'"
+
+-#: c-decl.c:7339
++#: c-decl.c:7338
+ #, fuzzy, gcc-internal-format
+ msgid "both %<unsigned%> and %<_Decimal64%> in declaration specifiers"
+ msgstr "μη έγκυÏος δηλωτής πεδίου: `%s'"
+
+-#: c-decl.c:7342
++#: c-decl.c:7341
+ #, fuzzy, gcc-internal-format
+ msgid "both %<unsigned%> and %<_Decimal128%> in declaration specifiers"
+ msgstr "μη έγκυÏος δηλωτής πεδίου: `%s'"
+
+-#: c-decl.c:7350
++#: c-decl.c:7349
+ #, fuzzy, gcc-internal-format
+ msgid "ISO C90 does not support complex types"
+ msgstr "αÏχεία fifo δεν υποστηÏίζονται"
+
+-#: c-decl.c:7352 c-decl.c:7449
++#: c-decl.c:7351 c-decl.c:7448
+ #, gcc-internal-format
+ msgid "both %<complex%> and %<void%> in declaration specifiers"
+ msgstr ""
+
+-#: c-decl.c:7355 c-decl.c:7471
++#: c-decl.c:7354 c-decl.c:7470
+ #, gcc-internal-format
+ msgid "both %<complex%> and %<_Bool%> in declaration specifiers"
+ msgstr ""
+
+-#: c-decl.c:7358
++#: c-decl.c:7357
+ #, fuzzy, gcc-internal-format
+ msgid "both %<complex%> and %<_Decimal32%> in declaration specifiers"
+ msgstr "μη έγκυÏος δηλωτής πεδίου: `%s'"
+
+-#: c-decl.c:7361
++#: c-decl.c:7360
+ #, fuzzy, gcc-internal-format
+ msgid "both %<complex%> and %<_Decimal64%> in declaration specifiers"
+ msgstr "μη έγκυÏος δηλωτής πεδίου: `%s'"
+
+-#: c-decl.c:7364
++#: c-decl.c:7363
+ #, fuzzy, gcc-internal-format
+ msgid "both %<complex%> and %<_Decimal128%> in declaration specifiers"
+ msgstr "μη έγκυÏος δηλωτής πεδίου: `%s'"
+
+-#: c-decl.c:7367
++#: c-decl.c:7366
+ #, fuzzy, gcc-internal-format
+ msgid "both %<complex%> and %<_Fract%> in declaration specifiers"
+ msgstr "μη έγκυÏος δηλωτής πεδίου: `%s'"
+
+-#: c-decl.c:7370
++#: c-decl.c:7369
+ #, fuzzy, gcc-internal-format
+ msgid "both %<complex%> and %<_Accum%> in declaration specifiers"
+ msgstr "μη έγκυÏος δηλωτής πεδίου: `%s'"
+
+-#: c-decl.c:7373
++#: c-decl.c:7372
+ #, fuzzy, gcc-internal-format
+ msgid "both %<complex%> and %<_Sat%> in declaration specifiers"
+ msgstr "μη έγκυÏος δηλωτής πεδίου: `%s'"
+
+-#: c-decl.c:7381
++#: c-decl.c:7380
+ #, fuzzy, gcc-internal-format
+ msgid "ISO C does not support saturating types"
+ msgstr "αÏχεία fifo δεν υποστηÏίζονται"
+
+-#: c-decl.c:7383 c-decl.c:7452
++#: c-decl.c:7382 c-decl.c:7451
+ #, fuzzy, gcc-internal-format
+ msgid "both %<_Sat%> and %<void%> in declaration specifiers"
+ msgstr "μη έγκυÏος δηλωτής πεδίου: `%s'"
+
+-#: c-decl.c:7386 c-decl.c:7474
++#: c-decl.c:7385 c-decl.c:7473
+ #, fuzzy, gcc-internal-format
+ msgid "both %<_Sat%> and %<_Bool%> in declaration specifiers"
+ msgstr "μη έγκυÏος δηλωτής πεδίου: `%s'"
+
+-#: c-decl.c:7389 c-decl.c:7487
++#: c-decl.c:7388 c-decl.c:7486
+ #, fuzzy, gcc-internal-format
+ msgid "both %<_Sat%> and %<char%> in declaration specifiers"
+ msgstr "μη έγκυÏος δηλωτής πεδίου: `%s'"
+
+-#: c-decl.c:7392 c-decl.c:7494
++#: c-decl.c:7391 c-decl.c:7493
+ #, fuzzy, gcc-internal-format
+ msgid "both %<_Sat%> and %<int%> in declaration specifiers"
+ msgstr "μη έγκυÏος δηλωτής πεδίου: `%s'"
+
+-#: c-decl.c:7395 c-decl.c:7513
++#: c-decl.c:7394 c-decl.c:7512
+ #, fuzzy, gcc-internal-format
+ msgid "both %<_Sat%> and %<float%> in declaration specifiers"
+ msgstr "μη έγκυÏος δηλωτής πεδίου: `%s'"
+
+-#: c-decl.c:7398 c-decl.c:7532
++#: c-decl.c:7397 c-decl.c:7531
+ #, fuzzy, gcc-internal-format
+ msgid "both %<_Sat%> and %<double%> in declaration specifiers"
+ msgstr "μη έγκυÏος δηλωτής πεδίου: `%s'"
+
+-#: c-decl.c:7401
++#: c-decl.c:7400
+ #, fuzzy, gcc-internal-format
+ msgid "both %<_Sat%> and %<_Decimal32%> in declaration specifiers"
+ msgstr "μη έγκυÏος δηλωτής πεδίου: `%s'"
+
+-#: c-decl.c:7404
++#: c-decl.c:7403
+ #, fuzzy, gcc-internal-format
+ msgid "both %<_Sat%> and %<_Decimal64%> in declaration specifiers"
+ msgstr "μη έγκυÏος δηλωτής πεδίου: `%s'"
+
+-#: c-decl.c:7407
++#: c-decl.c:7406
+ #, fuzzy, gcc-internal-format
+ msgid "both %<_Sat%> and %<_Decimal128%> in declaration specifiers"
+ msgstr "μη έγκυÏος δηλωτής πεδίου: `%s'"
+
+-#: c-decl.c:7410
++#: c-decl.c:7409
+ #, fuzzy, gcc-internal-format
+ msgid "both %<_Sat%> and %<complex%> in declaration specifiers"
+ msgstr "μη έγκυÏος δηλωτής πεδίου: `%s'"
+
+-#: c-decl.c:7549
++#: c-decl.c:7548
+ #, fuzzy, gcc-internal-format
+ msgid "both %<long long%> and %<%s%> in declaration specifiers"
+ msgstr "μη έγκυÏος δηλωτής πεδίου: `%s'"
+
+-#: c-decl.c:7552
++#: c-decl.c:7551
+ #, fuzzy, gcc-internal-format
+ msgid "both %<long%> and %<%s%> in declaration specifiers"
+ msgstr "μη έγκυÏος δηλωτής πεδίου: `%s'"
+
+-#: c-decl.c:7555
++#: c-decl.c:7554
+ #, fuzzy, gcc-internal-format
+ msgid "both %<short%> and %<%s%> in declaration specifiers"
+ msgstr "μη έγκυÏος δηλωτής πεδίου: `%s'"
+
+-#: c-decl.c:7558
++#: c-decl.c:7557
+ #, fuzzy, gcc-internal-format
+ msgid "both %<signed%> and %<%s%> in declaration specifiers"
+ msgstr "μη έγκυÏος δηλωτής πεδίου: `%s'"
+
+-#: c-decl.c:7561
++#: c-decl.c:7560
+ #, fuzzy, gcc-internal-format
+ msgid "both %<unsigned%> and %<%s%> in declaration specifiers"
+ msgstr "μη έγκυÏος δηλωτής πεδίου: `%s'"
+
+-#: c-decl.c:7564 c-decl.c:7590
++#: c-decl.c:7563 c-decl.c:7589
+ #, fuzzy, gcc-internal-format
+ msgid "both %<complex%> and %<%s%> in declaration specifiers"
+ msgstr "μη έγκυÏος δηλωτής πεδίου: `%s'"
+
+-#: c-decl.c:7567
++#: c-decl.c:7566
+ #, fuzzy, gcc-internal-format
+ msgid "both %<_Sat%> and %<%s%> in declaration specifiers"
+ msgstr "μη έγκυÏος δηλωτής πεδίου: `%s'"
+
+-#: c-decl.c:7577
++#: c-decl.c:7576
+ #, fuzzy, gcc-internal-format
+ msgid "decimal floating point not supported for this target"
+ msgstr "συμβολικοί σÏνδεσμοι δεν υποστηÏίζονται στο σÏστημα αυτό"
+
+-#: c-decl.c:7579
++#: c-decl.c:7578
+ #, fuzzy, gcc-internal-format
+ msgid "ISO C does not support decimal floating point"
+ msgstr "αÏχεία fifo δεν υποστηÏίζονται"
+
+-#: c-decl.c:7598
++#: c-decl.c:7597
+ #, fuzzy, gcc-internal-format
+ msgid "fixed-point types not supported for this target"
+ msgstr "συμβολικοί σÏνδεσμοι δεν υποστηÏίζονται στο σÏστημα αυτό"
+
+-#: c-decl.c:7600
++#: c-decl.c:7599
+ #, fuzzy, gcc-internal-format
+ msgid "ISO C does not support fixed-point types"
+ msgstr "αÏχεία fifo δεν υποστηÏίζονται"
+
+-#: c-decl.c:7634
++#: c-decl.c:7633
+ #, gcc-internal-format
+ msgid "%qE fails to be a typedef or built in type"
+ msgstr ""
+
+-#: c-decl.c:7667
++#: c-decl.c:7666
+ #, fuzzy, gcc-internal-format
+ msgid "%qE is not at beginning of declaration"
+ msgstr "το `%s' δεν είναι κανονικό αÏχείο"
+
+-#: c-decl.c:7681
++#: c-decl.c:7680
+ #, gcc-internal-format
+ msgid "%<__thread%> used with %<auto%>"
+ msgstr ""
+
+-#: c-decl.c:7683
++#: c-decl.c:7682
+ #, gcc-internal-format
+ msgid "%<__thread%> used with %<register%>"
+ msgstr ""
+
+-#: c-decl.c:7685
++#: c-decl.c:7684
+ #, gcc-internal-format
+ msgid "%<__thread%> used with %<typedef%>"
+ msgstr ""
+
+-#: c-decl.c:7696
++#: c-decl.c:7695
+ #, gcc-internal-format
+ msgid "%<__thread%> before %<extern%>"
+ msgstr ""
+
+-#: c-decl.c:7705
++#: c-decl.c:7704
+ #, gcc-internal-format
+ msgid "%<__thread%> before %<static%>"
+ msgstr ""
+
+-#: c-decl.c:7721
++#: c-decl.c:7720
+ #, gcc-internal-format
+ msgid "multiple storage classes in declaration specifiers"
+ msgstr ""
+
+-#: c-decl.c:7728
++#: c-decl.c:7727
+ #, gcc-internal-format
+ msgid "%<__thread%> used with %qE"
+ msgstr ""
+
+-#: c-decl.c:7775
++#: c-decl.c:7774
+ #, gcc-internal-format
+ msgid "%<_Sat%> is used without %<_Fract%> or %<_Accum%>"
+ msgstr ""
+
+-#: c-decl.c:7787
++#: c-decl.c:7786
+ #, gcc-internal-format
+ msgid "ISO C does not support plain %<complex%> meaning %<double complex%>"
+ msgstr ""
+
+-#: c-decl.c:7832 c-decl.c:7858
++#: c-decl.c:7831 c-decl.c:7857
+ #, gcc-internal-format
+ msgid "ISO C does not support complex integer types"
+ msgstr ""
+
+-#: c-decl.c:8008 toplev.c:847
++#: c-decl.c:8007 toplev.c:847
+ #, fuzzy, gcc-internal-format
+ msgid "%q+F used but never defined"
+ msgstr "το `%s' δεν είναι κανονικό αÏχείο"
+@@ -19792,38 +19763,38 @@
+ msgid "invalid expression type for %<#pragma omp atomic%>"
+ msgstr "%s: μη έγκυÏη κανονική έκφÏαση: %s"
+
+-#: c-omp.c:218
++#: c-omp.c:219
+ #, fuzzy, gcc-internal-format
+ msgid "%Hinvalid type for iteration variable %qE"
+ msgstr "μη έγκυÏο είδος αλφαÏÎ¹Î¸Î¼Î·Ï„Î¹ÎºÎ¿Ï `%s'"
+
+ # src/shred.c:1134
+-#: c-omp.c:222
++#: c-omp.c:223
+ #, fuzzy, gcc-internal-format
+ msgid "%Hiteration variable %qE is unsigned"
+ msgstr "%s: το αÏχείο είναι Ï€Î¿Î»Ï Î¼ÎµÎ³Î¬Î»Î¿"
+
+-#: c-omp.c:233
++#: c-omp.c:234
+ #, fuzzy, gcc-internal-format
+ msgid "%H%qE is not initialized"
+ msgstr "έχουν παÏαληφθεί οÏίσματα"
+
+-#: c-omp.c:246 cp/semantics.c:3840
++#: c-omp.c:247 cp/semantics.c:3872
+ #, gcc-internal-format
+ msgid "%Hmissing controlling predicate"
+ msgstr ""
+
+-#: c-omp.c:304
++#: c-omp.c:305
+ #, fuzzy, gcc-internal-format
+ msgid "%Hinvalid controlling predicate"
+ msgstr "μη έγκυÏο όνομα μήνα"
+
+-#: c-omp.c:311 cp/semantics.c:3846
++#: c-omp.c:312 cp/semantics.c:3878
+ #, fuzzy, gcc-internal-format
+ msgid "%Hmissing increment expression"
+ msgstr "παÏάληψη οÏίσματος αÏχείου"
+
+-#: c-omp.c:361
++#: c-omp.c:362
+ #, fuzzy, gcc-internal-format
+ msgid "%Hinvalid increment expression"
+ msgstr "Μη έγκυÏη κανονική έκφÏαση"
+@@ -19868,152 +19839,152 @@
+ msgid "obsolete option -I- used, please use -iquote instead"
+ msgstr ""
+
+-#: c-opts.c:508
++#: c-opts.c:510
+ #, gcc-internal-format
+ msgid "argument %qs to %<-Wnormalized%> not recognized"
+ msgstr ""
+
+-#: c-opts.c:595
++#: c-opts.c:597
+ #, fuzzy, gcc-internal-format
+ msgid "switch %qs is no longer supported"
+ msgstr "αÏχεία fifo δεν υποστηÏίζονται"
+
+-#: c-opts.c:705
++#: c-opts.c:707
+ #, gcc-internal-format
+ msgid "-fhandle-exceptions has been renamed -fexceptions (and is now on by default)"
+ msgstr ""
+
+-#: c-opts.c:911
++#: c-opts.c:913
+ #, gcc-internal-format
+ msgid "output filename specified twice"
+ msgstr ""
+
+-#: c-opts.c:1051
++#: c-opts.c:1053
+ #, gcc-internal-format
+ msgid "-fno-gnu89-inline is only supported in GNU99 or C99 mode"
+ msgstr ""
+
+-#: c-opts.c:1126
++#: c-opts.c:1142
+ #, gcc-internal-format
+ msgid "-Wformat-y2k ignored without -Wformat"
+ msgstr ""
+
+-#: c-opts.c:1128
++#: c-opts.c:1144
+ #, gcc-internal-format
+ msgid "-Wformat-extra-args ignored without -Wformat"
+ msgstr ""
+
+-#: c-opts.c:1130
++#: c-opts.c:1146
+ #, gcc-internal-format
+ msgid "-Wformat-zero-length ignored without -Wformat"
+ msgstr ""
+
+-#: c-opts.c:1132
++#: c-opts.c:1148
+ #, gcc-internal-format
+ msgid "-Wformat-nonliteral ignored without -Wformat"
+ msgstr ""
+
+-#: c-opts.c:1134
++#: c-opts.c:1150
+ #, gcc-internal-format
+ msgid "-Wformat-contains-nul ignored without -Wformat"
+ msgstr ""
+
+-#: c-opts.c:1136
++#: c-opts.c:1152
+ #, gcc-internal-format
+ msgid "-Wformat-security ignored without -Wformat"
+ msgstr ""
+
+-#: c-opts.c:1160
++#: c-opts.c:1176
+ #, fuzzy, gcc-internal-format
+ msgid "opening output file %s: %m"
+ msgstr "αδυναμία ανοίγματος αÏχείου εξόδου `%s'"
+
+-#: c-opts.c:1165
++#: c-opts.c:1181
+ #, gcc-internal-format
+ msgid "too many filenames given. Type %s --help for usage"
+ msgstr ""
+
+-#: c-opts.c:1249
++#: c-opts.c:1265
+ #, fuzzy, gcc-internal-format
+ msgid "The C parser does not support -dy, option ignored"
+ msgstr "αÏχεία fifo δεν υποστηÏίζονται"
+
+-#: c-opts.c:1253
++#: c-opts.c:1269
+ #, gcc-internal-format
+ msgid "The Objective-C parser does not support -dy, option ignored"
+ msgstr ""
+
+-#: c-opts.c:1256
++#: c-opts.c:1272
+ #, gcc-internal-format
+ msgid "The C++ parser does not support -dy, option ignored"
+ msgstr ""
+
+-#: c-opts.c:1260
++#: c-opts.c:1276
+ #, gcc-internal-format
+ msgid "The Objective-C++ parser does not support -dy, option ignored"
+ msgstr ""
+
+-#: c-opts.c:1309
++#: c-opts.c:1326
+ #, gcc-internal-format
+ msgid "opening dependency file %s: %m"
+ msgstr ""
+
+-#: c-opts.c:1319
++#: c-opts.c:1336
+ #, gcc-internal-format
+ msgid "closing dependency file %s: %m"
+ msgstr ""
+
+-#: c-opts.c:1322
++#: c-opts.c:1339
+ #, fuzzy, gcc-internal-format
+ msgid "when writing output to %s: %m"
+ msgstr "σφάλμα εγγÏαφής %s"
+
+-#: c-opts.c:1402
++#: c-opts.c:1419
+ #, gcc-internal-format
+ msgid "to generate dependencies you must specify either -M or -MM"
+ msgstr ""
+
+-#: c-opts.c:1448
++#: c-opts.c:1469
+ #, gcc-internal-format
+ msgid "-fdirectives-only is incompatible with -Wunused_macros"
+ msgstr ""
+
+-#: c-opts.c:1450
++#: c-opts.c:1471
+ #, gcc-internal-format
+ msgid "-fdirectives-only is incompatible with -traditional"
+ msgstr ""
+
+-#: c-opts.c:1588
++#: c-opts.c:1609
+ #, gcc-internal-format
+ msgid "too late for # directive to set debug directory"
+ msgstr ""
+
+-#: c-parser.c:1070
++#: c-parser.c:1072
+ #, gcc-internal-format
+ msgid "%HISO C forbids an empty source file"
+ msgstr ""
+
+-#: c-parser.c:1156 c-parser.c:6091
++#: c-parser.c:1158 c-parser.c:6150
+ #, gcc-internal-format
+ msgid "%HISO C does not allow extra %<;%> outside of a function"
+ msgstr ""
+
+-#: c-parser.c:1259 c-parser.c:6640
++#: c-parser.c:1261 c-parser.c:6699
+ #, fuzzy, gcc-internal-format
+ msgid "expected declaration specifiers"
+ msgstr "δημιουÏγία αÏχείου `%s'\n"
+
+-#: c-parser.c:1271
++#: c-parser.c:1273
+ #, fuzzy, gcc-internal-format
+ msgid "%Hempty declaration"
+ msgstr "κενό αλφαÏιθμητικό"
+
+-#: c-parser.c:1307
++#: c-parser.c:1309
+ #, gcc-internal-format
+ msgid "%Hdata definition has no type or storage class"
+ msgstr ""
+
+-#: c-parser.c:1362
++#: c-parser.c:1364
+ #, gcc-internal-format
+ msgid "expected %<,%> or %<;%>"
+ msgstr ""
+@@ -20021,174 +19992,189 @@
+ #. This can appear in many cases looking nothing like a
+ #. function definition, so we don't give a more specific
+ #. error suggesting there was one.
+-#: c-parser.c:1369 c-parser.c:1386
++#: c-parser.c:1371 c-parser.c:1388
+ #, gcc-internal-format
+ msgid "expected %<=%>, %<,%>, %<;%>, %<asm%> or %<__attribute__%>"
+ msgstr ""
+
+-#: c-parser.c:1378
++#: c-parser.c:1380
+ #, gcc-internal-format
+ msgid "%HISO C forbids nested functions"
+ msgstr ""
+
+-#: c-parser.c:1743 c-parser.c:2553 c-parser.c:3189 c-parser.c:3445
+-#: c-parser.c:4308 c-parser.c:4895 c-parser.c:5298 c-parser.c:5318
+-#: c-parser.c:5434 c-parser.c:5582 c-parser.c:5599 c-parser.c:5731
+-#: c-parser.c:5743 c-parser.c:5768 c-parser.c:5903 c-parser.c:5932
+-#: c-parser.c:5940 c-parser.c:5968 c-parser.c:5982 c-parser.c:6201
+-#: c-parser.c:6300 c-parser.c:6803 c-parser.c:7426
++#: c-parser.c:1745 c-parser.c:2555 c-parser.c:3191 c-parser.c:3447
++#: c-parser.c:4367 c-parser.c:4954 c-parser.c:5357 c-parser.c:5377
++#: c-parser.c:5493 c-parser.c:5641 c-parser.c:5658 c-parser.c:5790
++#: c-parser.c:5802 c-parser.c:5827 c-parser.c:5962 c-parser.c:5991
++#: c-parser.c:5999 c-parser.c:6027 c-parser.c:6041 c-parser.c:6260
++#: c-parser.c:6359 c-parser.c:6862 c-parser.c:7493
+ #, fuzzy, gcc-internal-format
+ msgid "expected identifier"
+ msgstr "%s: αναμενόταν αÏιθμητική τιμή."
+
+-#: c-parser.c:1773
++#: c-parser.c:1775
+ #, fuzzy, gcc-internal-format
+ msgid "%Hcomma at end of enumerator list"
+ msgstr "σκουπίδια στο τέλος του αÏιθμοÏ"
+
+-#: c-parser.c:1779
++#: c-parser.c:1781
+ #, gcc-internal-format
+ msgid "expected %<,%> or %<}%>"
+ msgstr ""
+
+-#: c-parser.c:1793 c-parser.c:1977 c-parser.c:6058
++#: c-parser.c:1795 c-parser.c:1979 c-parser.c:6117
+ #, fuzzy, gcc-internal-format
+ msgid "expected %<{%>"
+ msgstr "Μη οÏισμένο όνομα %s"
+
+-#: c-parser.c:1804
++#: c-parser.c:1806
+ #, gcc-internal-format
+ msgid "%HISO C forbids forward references to %<enum%> types"
+ msgstr ""
+
+-#: c-parser.c:1911
++#: c-parser.c:1913
+ #, fuzzy, gcc-internal-format
+ msgid "expected class name"
+ msgstr "%s: αναμενόταν αÏιθμητική τιμή."
+
+-#: c-parser.c:1930 c-parser.c:5835
++#: c-parser.c:1932 c-parser.c:5894
+ #, gcc-internal-format
+ msgid "%Hextra semicolon in struct or union specified"
+ msgstr ""
+
+-#: c-parser.c:1959
++#: c-parser.c:1961
+ #, gcc-internal-format
+ msgid "%Hno semicolon at end of struct or union"
+ msgstr ""
+
+-#: c-parser.c:1963
++#: c-parser.c:1965
+ #, fuzzy, gcc-internal-format
+ msgid "expected %<;%>"
+ msgstr "Μη οÏισμένο όνομα %s"
+
+-#: c-parser.c:2042 c-parser.c:3014
++#: c-parser.c:2044 c-parser.c:3016
+ #, gcc-internal-format
+ msgid "expected specifier-qualifier-list"
+ msgstr ""
+
+-#: c-parser.c:2052
++#: c-parser.c:2054
+ #, gcc-internal-format
+ msgid "%HISO C forbids member declarations with no members"
+ msgstr ""
+
+-#: c-parser.c:2126
++#: c-parser.c:2128
+ #, gcc-internal-format
+ msgid "expected %<,%>, %<;%> or %<}%>"
+ msgstr ""
+
+-#: c-parser.c:2133
++#: c-parser.c:2135
+ #, gcc-internal-format
+ msgid "expected %<:%>, %<,%>, %<;%>, %<}%> or %<__attribute__%>"
+ msgstr ""
+
+-#: c-parser.c:2184
++#: c-parser.c:2186
+ #, gcc-internal-format
+ msgid "%H%<typeof%> applied to a bit-field"
+ msgstr ""
+
+-#: c-parser.c:2421
++#: c-parser.c:2423
+ #, gcc-internal-format
+ msgid "expected identifier or %<(%>"
+ msgstr ""
+
+-#: c-parser.c:2622
++#: c-parser.c:2624
+ #, fuzzy, gcc-internal-format
+ msgid "%HISO C requires a named argument before %<...%>"
+ msgstr "Κακή αίτηση παÏαμέτÏων"
+
+-#: c-parser.c:2729
++#: c-parser.c:2731
+ #, fuzzy, gcc-internal-format
+ msgid "expected declaration specifiers or %<...%>"
+ msgstr "διπλό όνομα χαÏακτήÏα `%s'"
+
+-#: c-parser.c:2779
++#: c-parser.c:2781
+ #, fuzzy, gcc-internal-format
+ msgid "%Hwide string literal in %<asm%>"
+ msgstr "ελάχιστο μέγεθος αλφαÏιθμητικοÏ"
+
+-#: c-parser.c:2786 c-parser.c:6695 cp/parser.c:20393
++#: c-parser.c:2788 c-parser.c:6754 cp/parser.c:20482
+ #, fuzzy, gcc-internal-format
+ msgid "expected string literal"
+ msgstr "μη τεÏματιζόμενo αλφαÏιθμητικό"
+
+-#: c-parser.c:3107
++#: c-parser.c:3109
+ #, gcc-internal-format
+ msgid "%HISO C forbids empty initializer braces"
+ msgstr ""
+
+ #. Use the colon as the error location.
+-#: c-parser.c:3154
++#: c-parser.c:3156
+ #, gcc-internal-format
+ msgid "%Hobsolete use of designated initializer with %<:%>"
+ msgstr ""
+
+-#: c-parser.c:3285
++#: c-parser.c:3287
+ #, gcc-internal-format
+ msgid "%HISO C forbids specifying range of elements to initialize"
+ msgstr ""
+
+-#: c-parser.c:3298
++#: c-parser.c:3300
+ #, gcc-internal-format
+ msgid "%HISO C90 forbids specifying subobject to initialize"
+ msgstr ""
+
+-#: c-parser.c:3307
++#: c-parser.c:3309
+ #, gcc-internal-format
+ msgid "%Hobsolete use of designated initializer without %<=%>"
+ msgstr ""
+
+-#: c-parser.c:3316
++#: c-parser.c:3318
+ #, fuzzy, gcc-internal-format
+ msgid "expected %<=%>"
+ msgstr "Μη οÏισμένο όνομα %s"
+
+-#: c-parser.c:3461
++#: c-parser.c:3463
+ #, fuzzy, gcc-internal-format
+ msgid "%HISO C forbids label declarations"
+ msgstr "διπλό όνομα χαÏακτήÏα `%s'"
+
+-#: c-parser.c:3466 c-parser.c:3541
++#: c-parser.c:3468 c-parser.c:3543
+ #, fuzzy, gcc-internal-format
+ msgid "expected declaration or statement"
+ msgstr "δημιουÏγία αÏχείου `%s'\n"
+
+-#: c-parser.c:3494 c-parser.c:3522
++#: c-parser.c:3496 c-parser.c:3524
+ #, gcc-internal-format
+ msgid "%HISO C90 forbids mixed declarations and code"
+ msgstr ""
+
++#: c-parser.c:3550
++#, gcc-internal-format
++msgid "%Hexpected %<}%> before %<else%>"
++msgstr ""
++
+ #: c-parser.c:3555
+ #, gcc-internal-format
++msgid "%H%<else%> without a previous %<if%>"
++msgstr ""
++
++#: c-parser.c:3571
++#, gcc-internal-format
+ msgid "%Hlabel at end of compound statement"
+ msgstr ""
+
+-#: c-parser.c:3598
++#: c-parser.c:3614
+ #, gcc-internal-format
+ msgid "expected %<:%> or %<...%>"
+ msgstr ""
+
+-#: c-parser.c:3779
++#: c-parser.c:3647
+ #, gcc-internal-format
++msgid "%Ha label can only be part of a statement and a declaration is not a statement"
++msgstr ""
++
++#: c-parser.c:3810
++#, gcc-internal-format
+ msgid "expected identifier or %<*%>"
+ msgstr ""
+
+@@ -20196,188 +20182,183 @@
+ #. 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-parser.c:3841
++#: c-parser.c:3872
+ #, fuzzy, gcc-internal-format
+ msgid "expected statement"
+ msgstr "%s: αναμενόταν αÏιθμητική τιμή."
+
+-#: c-parser.c:3851
++#: c-parser.c:4095
+ #, gcc-internal-format
+-msgid "%Ha label can only be part of a statement and a declaration is not a statement"
+-msgstr ""
+-
+-#: c-parser.c:4036
+-#, gcc-internal-format
+ msgid "%Hsuggest braces around empty body in %<do%> statement"
+ msgstr ""
+
+-#: c-parser.c:4192
++#: c-parser.c:4251
+ #, gcc-internal-format
+ msgid "%H%E qualifier ignored on asm"
+ msgstr ""
+
+-#: c-parser.c:4473
++#: c-parser.c:4532
+ #, gcc-internal-format
+ msgid "%HISO C forbids omitting the middle term of a ?: expression"
+ msgstr ""
+
+-#: c-parser.c:4863
++#: c-parser.c:4922
+ #, gcc-internal-format
+ msgid "%Htraditional C rejects the unary plus operator"
+ msgstr ""
+
+ #. C99 6.7.5.2p4
+-#: c-parser.c:4974
++#: c-parser.c:5033
+ #, gcc-internal-format
+ msgid "%H%<[*]%> not allowed in other than a declaration"
+ msgstr ""
+
+-#: c-parser.c:4988
++#: c-parser.c:5047
+ #, gcc-internal-format
+ msgid "%H%<sizeof%> applied to a bit-field"
+ msgstr ""
+
+-#: c-parser.c:5132 c-parser.c:5476 c-parser.c:5498
++#: c-parser.c:5191 c-parser.c:5535 c-parser.c:5557
+ #, fuzzy, gcc-internal-format
+ msgid "expected expression"
+ msgstr "Μη έγκυÏη Ï€ÏοποÏευόμενη κανονική έκφÏαση"
+
+-#: c-parser.c:5159
++#: c-parser.c:5218
+ #, gcc-internal-format
+ msgid "%Hbraced-group within expression allowed only inside a function"
+ msgstr ""
+
+-#: c-parser.c:5173
++#: c-parser.c:5232
+ #, gcc-internal-format
+ msgid "%HISO C forbids braced-groups within expressions"
+ msgstr ""
+
+-#: c-parser.c:5358
++#: c-parser.c:5417
+ #, fuzzy, gcc-internal-format
+ msgid "%Hfirst argument to %<__builtin_choose_expr%> not a constant"
+ msgstr "Λείπει παÏάμετÏος για `%s'"
+
+-#: c-parser.c:5527
++#: c-parser.c:5586
+ #, gcc-internal-format
+ msgid "%Hcompound literal has variable size"
+ msgstr ""
+
+-#: c-parser.c:5535
++#: c-parser.c:5594
+ #, gcc-internal-format
+ msgid "%HISO C90 forbids compound literals"
+ msgstr ""
+
+-#: c-parser.c:6053
++#: c-parser.c:6112
+ #, gcc-internal-format
+ msgid "%Hextra semicolon in method definition specified"
+ msgstr ""
+
+-#: c-parser.c:6600 cp/parser.c:20436
++#: c-parser.c:6659 cp/parser.c:20525
+ #, gcc-internal-format
+ msgid "%<#pragma omp barrier%> may only be used in compound statements"
+ msgstr ""
+
+-#: c-parser.c:6611 cp/parser.c:20451
++#: c-parser.c:6670 cp/parser.c:20540
+ #, gcc-internal-format
+ msgid "%<#pragma omp flush%> may only be used in compound statements"
+ msgstr ""
+
+-#: c-parser.c:6623
++#: c-parser.c:6682
+ #, gcc-internal-format
+ msgid "%H%<#pragma omp section%> may only be used in %<#pragma omp sections%> construct"
+ msgstr ""
+
+-#: c-parser.c:6630 cp/parser.c:20426
++#: c-parser.c:6689 cp/parser.c:20515
+ #, fuzzy, gcc-internal-format
+ msgid "%<#pragma GCC pch_preprocess%> must be first"
+ msgstr "κακοδιαμοÏφωμένη γÏαμμή αγνοήθηκε"
+
+-#: c-parser.c:6781 cp/parser.c:19277
++#: c-parser.c:6840 cp/parser.c:19359
+ #, fuzzy, gcc-internal-format
+ msgid "too many %qs clauses"
+ msgstr "πάÏα πολλά οÏίσματα"
+
+-#: c-parser.c:6906
++#: c-parser.c:6965
+ #, gcc-internal-format
+ msgid "expected %<none%> or %<shared%>"
+ msgstr ""
+
+-#: c-parser.c:6949
++#: c-parser.c:7008
+ #, fuzzy, gcc-internal-format
+ msgid "expected %<(%>"
+ msgstr "Μη οÏισμένο όνομα %s"
+
+-#: c-parser.c:6993 c-parser.c:7170
++#: c-parser.c:7052 c-parser.c:7229
+ #, fuzzy, gcc-internal-format
+ msgid "expected integer expression"
+ msgstr "Μη έγκυÏη Ï€ÏοποÏευόμενη κανονική έκφÏαση"
+
+-#: c-parser.c:7002
++#: c-parser.c:7061
+ #, gcc-internal-format
+ msgid "%H%<num_threads%> value must be positive"
+ msgstr ""
+
+-#: c-parser.c:7082
++#: c-parser.c:7141
+ #, gcc-internal-format
+ msgid "expected %<+%>, %<*%>, %<-%>, %<&%>, %<^%>, %<|%>, %<&&%>, or %<||%>"
+ msgstr ""
+
+-#: c-parser.c:7165
++#: c-parser.c:7224
+ #, gcc-internal-format
+ msgid "%Hschedule %<runtime%> does not take a %<chunk_size%> parameter"
+ msgstr ""
+
+-#: c-parser.c:7183
++#: c-parser.c:7242
+ #, fuzzy, gcc-internal-format
+ msgid "invalid schedule kind"
+ msgstr "μη έγκυÏο δικαίωμα"
+
+-#: c-parser.c:7269
++#: c-parser.c:7336
+ #, fuzzy, gcc-internal-format
+ msgid "expected %<#pragma omp%> clause"
+ msgstr "%s: αναμενόταν αÏιθμητική τιμή."
+
+-#: c-parser.c:7278
++#: c-parser.c:7345
+ #, fuzzy, gcc-internal-format
+ msgid "%H%qs is not valid for %qs"
+ msgstr "%s' δεν είναι ισχÏων θετικός ακέÏαιος."
+
+-#: c-parser.c:7378
++#: c-parser.c:7445
+ #, fuzzy, gcc-internal-format
+ msgid "invalid operator for %<#pragma omp atomic%>"
+ msgstr "κακοδιαμοÏφωμένη γÏαμμή αγνοήθηκε"
+
+-#: c-parser.c:7429 c-parser.c:7449
++#: c-parser.c:7496 c-parser.c:7516
+ #, gcc-internal-format
+ msgid "expected %<(%> or end of line"
+ msgstr ""
+
+-#: c-parser.c:7467
++#: c-parser.c:7534
+ #, fuzzy, gcc-internal-format
+ msgid "for statement expected"
+ msgstr "αναμενόταν ')'\n"
+
+-#: c-parser.c:7540 cp/semantics.c:3826 cp/semantics.c:3870
++#: c-parser.c:7609 cp/semantics.c:3858 cp/semantics.c:3902
+ #, fuzzy, gcc-internal-format
+ msgid "expected iteration declaration or initialization"
+ msgstr "διπλό όνομα χαÏακτήÏα `%s'"
+
+-#: c-parser.c:7666
++#: c-parser.c:7735
+ #, gcc-internal-format
+ msgid "%Hexpected %<#pragma omp section%> or %<}%>"
+ msgstr ""
+
+-#: c-parser.c:7899 cp/semantics.c:3718
++#: c-parser.c:7968 cp/semantics.c:3750
+ #, gcc-internal-format
+ msgid "%qE declared %<threadprivate%> after first use"
+ msgstr ""
+
+-#: c-parser.c:7901 cp/semantics.c:3720
++#: c-parser.c:7970 cp/semantics.c:3752
+ #, gcc-internal-format
+ msgid "automatic variable %qE cannot be %<threadprivate%>"
+ msgstr ""
+
+-#: c-parser.c:7903 cp/semantics.c:3722
++#: c-parser.c:7972 cp/semantics.c:3754
+ #, fuzzy, gcc-internal-format
+ msgid "%<threadprivate%> %qE has incomplete type"
+ msgstr "μη πλήÏης εγγÏαφή"
+@@ -20542,124 +20523,124 @@
+ msgid "junk at end of %<#pragma pop_macro%>"
+ msgstr "μη τεÏματιζόμενo αλφαÏιθμητικό"
+
+-#: c-pragma.c:406
++#: c-pragma.c:407
+ #, fuzzy, gcc-internal-format
+ msgid "applying #pragma weak %q+D after first use results in unspecified behavior"
+ msgstr "Η λειτουÏγία δεν υποστηÏίζεται"
+
+-#: c-pragma.c:480 c-pragma.c:485
++#: c-pragma.c:481 c-pragma.c:486
+ #, fuzzy, gcc-internal-format
+ msgid "malformed #pragma weak, ignored"
+ msgstr "κακοδιαμοÏφωμένη γÏαμμή αγνοήθηκε"
+
+-#: c-pragma.c:489
++#: c-pragma.c:490
+ #, fuzzy, gcc-internal-format
+ msgid "junk at end of %<#pragma weak%>"
+ msgstr "μη τεÏματιζόμενo αλφαÏιθμητικό"
+
+-#: c-pragma.c:557 c-pragma.c:559
++#: c-pragma.c:558 c-pragma.c:560
+ #, fuzzy, gcc-internal-format
+ msgid "malformed #pragma redefine_extname, ignored"
+ msgstr "κακοδιαμοÏφωμένη γÏαμμή αγνοήθηκε"
+
+-#: c-pragma.c:562
++#: c-pragma.c:563
+ #, fuzzy, gcc-internal-format
+ msgid "junk at end of %<#pragma redefine_extname%>"
+ msgstr "μη τεÏματιζόμενo αλφαÏιθμητικό"
+
+-#: c-pragma.c:568
++#: c-pragma.c:569
+ #, fuzzy, gcc-internal-format
+ msgid "#pragma redefine_extname not supported on this target"
+ msgstr "συμβολικοί σÏνδεσμοι δεν υποστηÏίζονται στο σÏστημα αυτό"
+
+-#: c-pragma.c:585 c-pragma.c:672
++#: c-pragma.c:586 c-pragma.c:673
+ #, gcc-internal-format
+ msgid "#pragma redefine_extname ignored due to conflict with previous rename"
+ msgstr ""
+
+-#: c-pragma.c:608
++#: c-pragma.c:609
+ #, gcc-internal-format
+ msgid "#pragma redefine_extname ignored due to conflict with previous #pragma redefine_extname"
+ msgstr ""
+
+-#: c-pragma.c:627
++#: c-pragma.c:628
+ #, fuzzy, gcc-internal-format
+ msgid "malformed #pragma extern_prefix, ignored"
+ msgstr "κακοδιαμοÏφωμένη γÏαμμή αγνοήθηκε"
+
+-#: c-pragma.c:630
++#: c-pragma.c:631
+ #, fuzzy, gcc-internal-format
+ msgid "junk at end of %<#pragma extern_prefix%>"
+ msgstr "μη τεÏματιζόμενo αλφαÏιθμητικό"
+
+-#: c-pragma.c:637
++#: c-pragma.c:638
+ #, fuzzy, gcc-internal-format
+ msgid "#pragma extern_prefix not supported on this target"
+ msgstr "συμβολικοί σÏνδεσμοι δεν υποστηÏίζονται στο σÏστημα αυτό"
+
+-#: c-pragma.c:663
++#: c-pragma.c:664
+ #, gcc-internal-format
+ msgid "asm declaration ignored due to conflict with previous rename"
+ msgstr ""
+
+-#: c-pragma.c:694
++#: c-pragma.c:695
+ #, gcc-internal-format
+ msgid "#pragma redefine_extname ignored due to conflict with __asm__ declaration"
+ msgstr ""
+
+-#: c-pragma.c:756
++#: c-pragma.c:757
+ #, gcc-internal-format
+ msgid "#pragma GCC visibility push() must specify default, internal, hidden or protected"
+ msgstr ""
+
+-#: c-pragma.c:791
++#: c-pragma.c:792
+ #, gcc-internal-format
+ msgid "#pragma GCC visibility must be followed by push or pop"
+ msgstr ""
+
+-#: c-pragma.c:797
++#: c-pragma.c:798
+ #, fuzzy, gcc-internal-format
+ msgid "no matching push for %<#pragma GCC visibility pop%>"
+ msgstr "μη τεÏματιζόμενo αλφαÏιθμητικό"
+
+-#: c-pragma.c:804 c-pragma.c:811
++#: c-pragma.c:805 c-pragma.c:812
+ #, gcc-internal-format
+ msgid "missing %<(%> after %<#pragma GCC visibility push%> - ignored"
+ 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
+-#: c-pragma.c:807
++#: c-pragma.c:808
+ #, fuzzy, gcc-internal-format
+ msgid "malformed #pragma GCC visibility push"
+ msgstr "κακοσχηματισμένος μετÏητής επανάληψης"
+
+-#: c-pragma.c:815
++#: c-pragma.c:816
+ #, fuzzy, gcc-internal-format
+ msgid "junk at end of %<#pragma GCC visibility%>"
+ msgstr "μη τεÏματιζόμενo αλφαÏιθμητικό"
+
+-#: c-pragma.c:831
++#: c-pragma.c:832
+ #, gcc-internal-format
+ msgid "#pragma GCC diagnostic not allowed inside functions"
+ msgstr ""
+
+-#: c-pragma.c:837
++#: c-pragma.c:838
+ #, gcc-internal-format
+ msgid "missing [error|warning|ignored] after %<#pragma GCC diagnostic%>"
+ msgstr ""
+
+-#: c-pragma.c:846
++#: c-pragma.c:847
+ #, gcc-internal-format
+ msgid "expected [error|warning|ignored] after %<#pragma GCC diagnostic%>"
+ msgstr ""
+
+-#: c-pragma.c:850
++#: c-pragma.c:851
+ #, fuzzy, gcc-internal-format
+ msgid "missing option after %<#pragma GCC diagnostic%> kind"
+ msgstr "κακοδιαμοÏφωμένη γÏαμμή αγνοήθηκε"
+
+-#: c-pragma.c:864
++#: c-pragma.c:865
+ #, fuzzy, gcc-internal-format
+ msgid "unknown option after %<#pragma GCC diagnostic%> kind"
+ msgstr "κακοδιαμοÏφωμένη γÏαμμή αγνοήθηκε"
+@@ -20669,7 +20650,7 @@
+ msgid "%qD has an incomplete type"
+ msgstr "μη πλήÏης εγγÏαφή"
+
+-#: c-typeck.c:195 cp/call.c:2785
++#: c-typeck.c:195 cp/call.c:2771
+ #, fuzzy, gcc-internal-format
+ msgid "invalid use of void expression"
+ msgstr "Μη έγκυÏη κανονική έκφÏαση"
+@@ -20700,95 +20681,95 @@
+ msgid "function types not truly compatible in ISO C"
+ msgstr ""
+
+-#: c-typeck.c:621
++#: c-typeck.c:627
+ #, gcc-internal-format
+ msgid "can%'t mix operands of decimal float and vector types"
+ msgstr ""
+
+-#: c-typeck.c:626
++#: c-typeck.c:632
+ #, gcc-internal-format
+ msgid "can%'t mix operands of decimal float and complex types"
+ msgstr ""
+
+-#: c-typeck.c:631
++#: c-typeck.c:637
+ #, gcc-internal-format
+ msgid "can%'t mix operands of decimal float and other float types"
+ msgstr ""
+
+-#: c-typeck.c:1037
++#: c-typeck.c:1043
+ #, gcc-internal-format
+ msgid "types are not quite compatible"
+ msgstr ""
+
+-#: c-typeck.c:1356
++#: c-typeck.c:1366
+ #, gcc-internal-format
+ msgid "function return types not compatible due to %<volatile%>"
+ msgstr ""
+
+-#: c-typeck.c:1515 c-typeck.c:2853
++#: c-typeck.c:1525 c-typeck.c:2864
+ #, gcc-internal-format
+ msgid "arithmetic on pointer to an incomplete type"
+ msgstr ""
+
+ # src/main.c:697 src/main.c:751
+-#: c-typeck.c:1912
++#: c-typeck.c:1922
+ #, fuzzy, gcc-internal-format
+ msgid "%qT has no member named %qE"
+ msgstr "Άγνωστη γλώσσα `%s'"
+
+ # src/getopt.c:628
+ # src/getopt.c:628
+-#: c-typeck.c:1953
++#: c-typeck.c:1963
+ #, fuzzy, gcc-internal-format
+ msgid "request for member %qE in something not a structure or union"
+ msgstr "%s: η επιλογή `%s' είναι ασαφής\n"
+
+-#: c-typeck.c:1997
++#: c-typeck.c:2007
+ #, gcc-internal-format
+ msgid "dereferencing pointer to incomplete type"
+ msgstr ""
+
+-#: c-typeck.c:2001
++#: c-typeck.c:2011
+ #, fuzzy, gcc-internal-format
+ msgid "dereferencing %<void *%> pointer"
+ msgstr "Δεν μποÏεί να καθοÏιστεί το όνομα του συστήματος"
+
+-#: c-typeck.c:2018
++#: c-typeck.c:2028
+ #, fuzzy, gcc-internal-format
+ msgid "invalid type argument of %qs (have %qT)"
+ msgstr "Η παÏάμετÏος `%s' δεν είναι έγκυÏη."
+
+-#: c-typeck.c:2046 cp/typeck.c:2524
++#: c-typeck.c:2056 cp/typeck.c:2570
+ #, gcc-internal-format
+ msgid "subscripted value is neither array nor pointer"
+ msgstr ""
+
+-#: c-typeck.c:2057 cp/typeck.c:2443 cp/typeck.c:2529
++#: c-typeck.c:2067 cp/typeck.c:2489 cp/typeck.c:2575
+ #, gcc-internal-format
+ msgid "array subscript is not an integer"
+ msgstr ""
+
+-#: c-typeck.c:2063
++#: c-typeck.c:2073
+ #, fuzzy, gcc-internal-format
+ msgid "subscripted value is pointer to function"
+ msgstr "το πέÏασμα του οÏίσματος %d του δείκτη στη συνάÏτηση"
+
+-#: c-typeck.c:2110
++#: c-typeck.c:2120
+ #, gcc-internal-format
+ msgid "ISO C forbids subscripting %<register%> array"
+ msgstr ""
+
+-#: c-typeck.c:2112
++#: c-typeck.c:2122
+ #, gcc-internal-format
+ msgid "ISO C90 forbids subscripting non-lvalue array"
+ msgstr ""
+
+-#: c-typeck.c:2228
++#: c-typeck.c:2239
+ #, gcc-internal-format
+ msgid "%H%qD is static but used in inline function %qD which is not static"
+ msgstr ""
+
+-#: c-typeck.c:2376
++#: c-typeck.c:2387
+ #, fuzzy, gcc-internal-format
+ msgid "called object %qE is not a function"
+ msgstr "Το επώνυμο αντικείμενο δεν είναι αναζητήσιμο"
+@@ -20796,796 +20777,796 @@
+ #. This situation leads to run-time undefined behavior. We can't,
+ #. therefore, simply error unless we can prove that all possible
+ #. executions of the program must execute the code.
+-#: c-typeck.c:2404
++#: c-typeck.c:2415
+ #, gcc-internal-format
+ msgid "function called through a non-compatible type"
+ msgstr ""
+
+-#: c-typeck.c:2515
++#: c-typeck.c:2526
+ #, fuzzy, gcc-internal-format
+ msgid "too many arguments to function %qE"
+ msgstr "πάÏα πολλά οÏίσματα"
+
+-#: c-typeck.c:2536
++#: c-typeck.c:2547
+ #, gcc-internal-format
+ msgid "type of formal parameter %d is incomplete"
+ msgstr ""
+
+-#: c-typeck.c:2549
++#: c-typeck.c:2560
+ #, gcc-internal-format
+ msgid "passing argument %d of %qE as integer rather than floating due to prototype"
+ msgstr ""
+
+-#: c-typeck.c:2554
++#: c-typeck.c:2565
+ #, gcc-internal-format
+ msgid "passing argument %d of %qE as integer rather than complex due to prototype"
+ msgstr ""
+
+-#: c-typeck.c:2559
++#: c-typeck.c:2570
+ #, gcc-internal-format
+ msgid "passing argument %d of %qE as complex rather than floating due to prototype"
+ msgstr ""
+
+-#: c-typeck.c:2564
++#: c-typeck.c:2575
+ #, gcc-internal-format
+ msgid "passing argument %d of %qE as floating rather than integer due to prototype"
+ msgstr ""
+
+-#: c-typeck.c:2569
++#: c-typeck.c:2580
+ #, gcc-internal-format
+ msgid "passing argument %d of %qE as complex rather than integer due to prototype"
+ msgstr ""
+
+-#: c-typeck.c:2574
++#: c-typeck.c:2585
+ #, gcc-internal-format
+ msgid "passing argument %d of %qE as floating rather than complex due to prototype"
+ msgstr ""
+
+-#: c-typeck.c:2587
++#: c-typeck.c:2598
+ #, gcc-internal-format
+ msgid "passing argument %d of %qE as %<float%> rather than %<double%> due to prototype"
+ msgstr ""
+
+-#: c-typeck.c:2612
++#: c-typeck.c:2623
+ #, fuzzy, gcc-internal-format
+ msgid "passing argument %d of %qE as %qT rather than %qT due to prototype"
+ msgstr "το πέÏασμα του οÏίσματος %d του δείκτη στη συνάÏτηση"
+
+-#: c-typeck.c:2633
++#: c-typeck.c:2644
+ #, gcc-internal-format
+ msgid "passing argument %d of %qE with different width due to prototype"
+ msgstr ""
+
+-#: c-typeck.c:2656
++#: c-typeck.c:2667
+ #, gcc-internal-format
+ msgid "passing argument %d of %qE as unsigned due to prototype"
+ msgstr ""
+
+-#: c-typeck.c:2660
++#: c-typeck.c:2671
+ #, fuzzy, gcc-internal-format
+ msgid "passing argument %d of %qE as signed due to prototype"
+ msgstr "το πέÏασμα του οÏίσματος %d του δείκτη στη συνάÏτηση"
+
+-#: c-typeck.c:2766 c-typeck.c:2770
++#: c-typeck.c:2777 c-typeck.c:2781
+ #, fuzzy, gcc-internal-format
+ msgid "comparison with string literal results in unspecified behavior"
+ msgstr "Η λειτουÏγία δεν υποστηÏίζεται"
+
+-#: c-typeck.c:2795
++#: c-typeck.c:2806
+ #, gcc-internal-format
+ msgid "pointer of type %<void *%> used in subtraction"
+ msgstr ""
+
+-#: c-typeck.c:2797
++#: c-typeck.c:2808
+ #, gcc-internal-format
+ msgid "pointer to a function used in subtraction"
+ msgstr ""
+
+-#: c-typeck.c:2908
++#: c-typeck.c:2919
+ #, gcc-internal-format
+ msgid "wrong type argument to unary plus"
+ msgstr ""
+
+-#: c-typeck.c:2921
++#: c-typeck.c:2932
+ #, gcc-internal-format
+ msgid "wrong type argument to unary minus"
+ msgstr ""
+
+-#: c-typeck.c:2941
++#: c-typeck.c:2952
+ #, gcc-internal-format
+ msgid "ISO C does not support %<~%> for complex conjugation"
+ msgstr ""
+
+-#: c-typeck.c:2947
++#: c-typeck.c:2958
+ #, gcc-internal-format
+ msgid "wrong type argument to bit-complement"
+ msgstr ""
+
+-#: c-typeck.c:2955
++#: c-typeck.c:2966
+ #, fuzzy, gcc-internal-format
+ msgid "wrong type argument to abs"
+ msgstr "λάθος αÏιθμός οÏισμάτων"
+
+-#: c-typeck.c:2967
++#: c-typeck.c:2978
+ #, gcc-internal-format
+ msgid "wrong type argument to conjugation"
+ msgstr ""
+
+-#: c-typeck.c:2979
++#: c-typeck.c:2990
+ #, gcc-internal-format
+ msgid "wrong type argument to unary exclamation mark"
+ msgstr ""
+
+-#: c-typeck.c:3013
++#: c-typeck.c:3024
+ #, gcc-internal-format
+ msgid "ISO C does not support %<++%> and %<--%> on complex types"
+ msgstr ""
+
+-#: c-typeck.c:3032 c-typeck.c:3064
++#: c-typeck.c:3043 c-typeck.c:3075
+ #, gcc-internal-format
+ msgid "wrong type argument to increment"
+ msgstr ""
+
+-#: c-typeck.c:3034 c-typeck.c:3066
++#: c-typeck.c:3045 c-typeck.c:3077
+ #, gcc-internal-format
+ msgid "wrong type argument to decrement"
+ msgstr ""
+
+-#: c-typeck.c:3055
++#: c-typeck.c:3066
+ #, gcc-internal-format
+ msgid "increment of pointer to unknown structure"
+ msgstr ""
+
+-#: c-typeck.c:3057
++#: c-typeck.c:3068
+ #, gcc-internal-format
+ msgid "decrement of pointer to unknown structure"
+ msgstr ""
+
+-#: c-typeck.c:3258
++#: c-typeck.c:3269
+ #, fuzzy, gcc-internal-format
+ msgid "assignment of read-only member %qD"
+ msgstr "Μη αναγνωÏίσιμη μεταβλητή `%s'"
+
+-#: c-typeck.c:3259
++#: c-typeck.c:3270
+ #, fuzzy, gcc-internal-format
+ msgid "increment of read-only member %qD"
+ msgstr "Μη αναγνωÏίσιμη μεταβλητή `%s'"
+
+-#: c-typeck.c:3260
++#: c-typeck.c:3271
+ #, fuzzy, gcc-internal-format
+ msgid "decrement of read-only member %qD"
+ msgstr "Μη αναγνωÏίσιμη μεταβλητή `%s'"
+
+-#: c-typeck.c:3261
++#: c-typeck.c:3272
+ #, gcc-internal-format
+ msgid "read-only member %qD used as %<asm%> output"
+ msgstr ""
+
+-#: c-typeck.c:3265
++#: c-typeck.c:3276
+ #, fuzzy, gcc-internal-format
+ msgid "assignment of read-only variable %qD"
+ msgstr "Μη αναγνωÏίσιμη μεταβλητή `%s'"
+
+-#: c-typeck.c:3266
++#: c-typeck.c:3277
+ #, fuzzy, gcc-internal-format
+ msgid "increment of read-only variable %qD"
+ msgstr "Μη αναγνωÏίσιμη μεταβλητή `%s'"
+
+-#: c-typeck.c:3267
++#: c-typeck.c:3278
+ #, fuzzy, gcc-internal-format
+ msgid "decrement of read-only variable %qD"
+ msgstr "Μη αναγνωÏίσιμη μεταβλητή `%s'"
+
+-#: c-typeck.c:3268
++#: c-typeck.c:3279
+ #, gcc-internal-format
+ msgid "read-only variable %qD used as %<asm%> output"
+ msgstr ""
+
+-#: c-typeck.c:3271
++#: c-typeck.c:3282
+ #, fuzzy, gcc-internal-format
+ msgid "assignment of read-only location %qE"
+ msgstr "Η παÏάμετÏος στο <%s> Ï€Ïέπει να είναι ένας απλός χαÏακτήÏας"
+
+-#: c-typeck.c:3272
++#: c-typeck.c:3283
+ #, fuzzy, gcc-internal-format
+ msgid "increment of read-only location %qE"
+ msgstr "Η παÏάμετÏος στο <%s> Ï€Ïέπει να είναι ένας απλός χαÏακτήÏας"
+
+-#: c-typeck.c:3273
++#: c-typeck.c:3284
+ #, fuzzy, gcc-internal-format
+ msgid "decrement of read-only location %qE"
+ msgstr "Μη αναγνωÏίσιμη μεταβλητή `%s'"
+
+-#: c-typeck.c:3274
++#: c-typeck.c:3285
+ #, gcc-internal-format
+ msgid "read-only location %qE used as %<asm%> output"
+ msgstr ""
+
+-#: c-typeck.c:3310
++#: c-typeck.c:3321
+ #, fuzzy, gcc-internal-format
+ msgid "cannot take address of bit-field %qD"
+ msgstr "δεν είναι δυνατό να δημιουÏγηθεί το αÏχείο fifo `%s'"
+
+-#: c-typeck.c:3338
++#: c-typeck.c:3349
+ #, gcc-internal-format
+ msgid "global register variable %qD used in nested function"
+ msgstr ""
+
+-#: c-typeck.c:3341
++#: c-typeck.c:3352
+ #, gcc-internal-format
+ msgid "register variable %qD used in nested function"
+ msgstr ""
+
+-#: c-typeck.c:3346
++#: c-typeck.c:3357
+ #, gcc-internal-format
+ msgid "address of global register variable %qD requested"
+ msgstr ""
+
+-#: c-typeck.c:3348
++#: c-typeck.c:3359
+ #, gcc-internal-format
+ msgid "address of register variable %qD requested"
+ msgstr ""
+
+-#: c-typeck.c:3394
++#: c-typeck.c:3405
+ #, fuzzy, gcc-internal-format
+ msgid "non-lvalue array in conditional expression"
+ msgstr "Μη έγκυÏη κανονική έκφÏαση"
+
+-#: c-typeck.c:3442
++#: c-typeck.c:3453
+ #, gcc-internal-format
+ msgid "signed and unsigned type in conditional expression"
+ msgstr ""
+
+-#: c-typeck.c:3449
++#: c-typeck.c:3460
+ #, gcc-internal-format
+ msgid "ISO C forbids conditional expr with only one void side"
+ msgstr ""
+
+-#: c-typeck.c:3463 c-typeck.c:3471
++#: c-typeck.c:3474 c-typeck.c:3482
+ #, gcc-internal-format
+ msgid "ISO C forbids conditional expr between %<void *%> and function pointer"
+ msgstr ""
+
+-#: c-typeck.c:3478
++#: c-typeck.c:3489
+ #, gcc-internal-format
+ msgid "pointer type mismatch in conditional expression"
+ msgstr ""
+
+-#: c-typeck.c:3485 c-typeck.c:3495
++#: c-typeck.c:3496 c-typeck.c:3506
+ #, gcc-internal-format
+ msgid "pointer/integer type mismatch in conditional expression"
+ msgstr ""
+
+-#: c-typeck.c:3509 tree-cfg.c:3783
++#: c-typeck.c:3520 tree-cfg.c:3807
+ #, gcc-internal-format
+ msgid "type mismatch in conditional expression"
+ msgstr ""
+
+-#: c-typeck.c:3552
++#: c-typeck.c:3563
+ #, gcc-internal-format
+ msgid "left-hand operand of comma expression has no effect"
+ msgstr ""
+
+-#: c-typeck.c:3589
++#: c-typeck.c:3600
+ #, gcc-internal-format
+ msgid "cast specifies array type"
+ msgstr ""
+
+-#: c-typeck.c:3595
++#: c-typeck.c:3606
+ #, gcc-internal-format
+ msgid "cast specifies function type"
+ msgstr ""
+
+-#: c-typeck.c:3612
++#: c-typeck.c:3623
+ #, gcc-internal-format
+ msgid "ISO C forbids casting nonscalar to the same type"
+ msgstr ""
+
+-#: c-typeck.c:3629
++#: c-typeck.c:3640
+ #, gcc-internal-format
+ msgid "ISO C forbids casts to union type"
+ msgstr ""
+
+-#: c-typeck.c:3637
++#: c-typeck.c:3648
+ #, gcc-internal-format
+ msgid "cast to union type from type not present in union"
+ msgstr ""
+
+-#: c-typeck.c:3683
++#: c-typeck.c:3694
+ #, gcc-internal-format
+ msgid "cast adds new qualifiers to function type"
+ msgstr ""
+
+ #. There are qualifiers present in IN_OTYPE that are not
+ #. present in IN_TYPE.
+-#: c-typeck.c:3688
++#: c-typeck.c:3699
+ #, gcc-internal-format
+ msgid "cast discards qualifiers from pointer target type"
+ msgstr ""
+
+-#: c-typeck.c:3704
++#: c-typeck.c:3715
+ #, gcc-internal-format
+ msgid "cast increases required alignment of target type"
+ msgstr ""
+
+-#: c-typeck.c:3715
++#: c-typeck.c:3726
+ #, gcc-internal-format
+ msgid "cast from pointer to integer of different size"
+ msgstr ""
+
+-#: c-typeck.c:3719
++#: c-typeck.c:3730
+ #, gcc-internal-format
+ msgid "cast from function call of type %qT to non-matching type %qT"
+ msgstr ""
+
+-#: c-typeck.c:3727
++#: c-typeck.c:3738
+ #, gcc-internal-format
+ msgid "cast to pointer from integer of different size"
+ msgstr ""
+
+-#: c-typeck.c:3741
++#: c-typeck.c:3752
+ #, gcc-internal-format
+ msgid "ISO C forbids conversion of function pointer to object pointer type"
+ msgstr ""
+
+-#: c-typeck.c:3749
++#: c-typeck.c:3760
+ #, gcc-internal-format
+ msgid "ISO C forbids conversion of object pointer to function pointer type"
+ msgstr ""
+
+-#: c-typeck.c:4026
++#: c-typeck.c:4037
+ #, fuzzy, gcc-internal-format
+ msgid "cannot pass rvalue to reference parameter"
+ msgstr "δεν είναι δυνατόν να γίνει `stat' το locale αÏχείο `%s'"
+
+-#: c-typeck.c:4139 c-typeck.c:4306
++#: c-typeck.c:4150 c-typeck.c:4317
+ #, gcc-internal-format
+ msgid "passing argument %d of %qE makes qualified function pointer from unqualified"
+ msgstr ""
+
+-#: c-typeck.c:4142 c-typeck.c:4309
++#: c-typeck.c:4153 c-typeck.c:4320
+ #, gcc-internal-format
+ msgid "assignment makes qualified function pointer from unqualified"
+ msgstr ""
+
+-#: c-typeck.c:4145 c-typeck.c:4311
++#: c-typeck.c:4156 c-typeck.c:4322
+ #, gcc-internal-format
+ msgid "initialization makes qualified function pointer from unqualified"
+ msgstr ""
+
+-#: c-typeck.c:4148 c-typeck.c:4313
++#: c-typeck.c:4159 c-typeck.c:4324
+ #, gcc-internal-format
+ msgid "return makes qualified function pointer from unqualified"
+ msgstr ""
+
+-#: c-typeck.c:4152 c-typeck.c:4273
++#: c-typeck.c:4163 c-typeck.c:4284
+ #, gcc-internal-format
+ msgid "passing argument %d of %qE discards qualifiers from pointer target type"
+ msgstr ""
+
+-#: c-typeck.c:4154 c-typeck.c:4275
++#: c-typeck.c:4165 c-typeck.c:4286
+ #, gcc-internal-format
+ msgid "assignment discards qualifiers from pointer target type"
+ msgstr ""
+
+-#: c-typeck.c:4156 c-typeck.c:4277
++#: c-typeck.c:4167 c-typeck.c:4288
+ #, gcc-internal-format
+ msgid "initialization discards qualifiers from pointer target type"
+ msgstr ""
+
+-#: c-typeck.c:4158 c-typeck.c:4279
++#: c-typeck.c:4169 c-typeck.c:4290
+ #, gcc-internal-format
+ msgid "return discards qualifiers from pointer target type"
+ msgstr ""
+
+-#: c-typeck.c:4165
++#: c-typeck.c:4176
+ #, gcc-internal-format
+ msgid "ISO C prohibits argument conversion to union type"
+ msgstr ""
+
+-#: c-typeck.c:4201
++#: c-typeck.c:4212
+ #, fuzzy, gcc-internal-format
+ msgid "request for implicit conversion from %qT to %qT not permitted in C++"
+ msgstr "η μετατÏοπή από `%s' σε `%s' δεν υποστηÏίζετε"
+
+-#: c-typeck.c:4214
++#: c-typeck.c:4225
+ #, gcc-internal-format
+ msgid "argument %d of %qE might be a candidate for a format attribute"
+ msgstr ""
+
+-#: c-typeck.c:4220
++#: c-typeck.c:4231
+ #, gcc-internal-format
+ msgid "assignment left-hand side might be a candidate for a format attribute"
+ msgstr ""
+
+-#: c-typeck.c:4225
++#: c-typeck.c:4236
+ #, gcc-internal-format
+ msgid "initialization left-hand side might be a candidate for a format attribute"
+ msgstr ""
+
+-#: c-typeck.c:4230
++#: c-typeck.c:4241
+ #, gcc-internal-format
+ msgid "return type might be a candidate for a format attribute"
+ msgstr ""
+
+-#: c-typeck.c:4253
++#: c-typeck.c:4264
+ #, gcc-internal-format
+ msgid "ISO C forbids passing argument %d of %qE between function pointer and %<void *%>"
+ msgstr ""
+
+-#: c-typeck.c:4256
++#: c-typeck.c:4267
+ #, gcc-internal-format
+ msgid "ISO C forbids assignment between function pointer and %<void *%>"
+ msgstr ""
+
+-#: c-typeck.c:4258
++#: c-typeck.c:4269
+ #, gcc-internal-format
+ msgid "ISO C forbids initialization between function pointer and %<void *%>"
+ msgstr ""
+
+-#: c-typeck.c:4260
++#: c-typeck.c:4271
+ #, gcc-internal-format
+ msgid "ISO C forbids return between function pointer and %<void *%>"
+ msgstr ""
+
+-#: c-typeck.c:4289
++#: c-typeck.c:4300
+ #, gcc-internal-format
+ msgid "pointer targets in passing argument %d of %qE differ in signedness"
+ msgstr ""
+
+-#: c-typeck.c:4291
++#: c-typeck.c:4302
+ #, gcc-internal-format
+ msgid "pointer targets in assignment differ in signedness"
+ msgstr ""
+
+-#: c-typeck.c:4293
++#: c-typeck.c:4304
+ #, gcc-internal-format
+ msgid "pointer targets in initialization differ in signedness"
+ msgstr ""
+
+-#: c-typeck.c:4295
++#: c-typeck.c:4306
+ #, gcc-internal-format
+ msgid "pointer targets in return differ in signedness"
+ msgstr ""
+
+-#: c-typeck.c:4320
++#: c-typeck.c:4331
+ #, fuzzy, gcc-internal-format
+ msgid "passing argument %d of %qE from incompatible pointer type"
+ msgstr "Η παÏάμετÏος στο <%s> Ï€Ïέπει να είναι ένας απλός χαÏακτήÏας"
+
+-#: c-typeck.c:4322
++#: c-typeck.c:4333
+ #, fuzzy, gcc-internal-format
+ msgid "assignment from incompatible pointer type"
+ msgstr "Δεν είναι δυνατόν να βÏεθεί ο Ï„Ïπος του επεξεÏγαστή."
+
+-#: c-typeck.c:4323
++#: c-typeck.c:4334
+ #, gcc-internal-format
+ msgid "initialization from incompatible pointer type"
+ msgstr ""
+
+-#: c-typeck.c:4325
++#: c-typeck.c:4336
+ #, fuzzy, gcc-internal-format
+ msgid "return from incompatible pointer type"
+ msgstr "μη πλήÏης εγγÏαφή"
+
+-#: c-typeck.c:4342
++#: c-typeck.c:4353
+ #, fuzzy, gcc-internal-format
+ msgid "passing argument %d of %qE makes pointer from integer without a cast"
+ msgstr "%s μετατÏέπει ακέÏαιο σε δείκτη χωÏίς μετατÏοπέα"
+
+-#: c-typeck.c:4344
++#: c-typeck.c:4355
+ #, fuzzy, gcc-internal-format
+ msgid "assignment makes pointer from integer without a cast"
+ msgstr "%s μετατÏέπει ακέÏαιο σε δείκτη χωÏίς μετατÏοπέα"
+
+-#: c-typeck.c:4346
++#: c-typeck.c:4357
+ #, fuzzy, gcc-internal-format
+ msgid "initialization makes pointer from integer without a cast"
+ msgstr "%s μετατÏέπει ακέÏαιο σε δείκτη χωÏίς μετατÏοπέα"
+
+-#: c-typeck.c:4348
++#: c-typeck.c:4359
+ #, fuzzy, gcc-internal-format
+ msgid "return makes pointer from integer without a cast"
+ msgstr "%s μετατÏέπει ακέÏαιο σε δείκτη χωÏίς μετατÏοπέα"
+
+-#: c-typeck.c:4355
++#: c-typeck.c:4366
+ #, fuzzy, gcc-internal-format
+ msgid "passing argument %d of %qE makes integer from pointer without a cast"
+ msgstr "%s μετατÏέπει ακέÏαιο σε δείκτη χωÏίς μετατÏοπέα"
+
+-#: c-typeck.c:4357
++#: c-typeck.c:4368
+ #, fuzzy, gcc-internal-format
+ msgid "assignment makes integer from pointer without a cast"
+ msgstr "%s μετατÏέπει ακέÏαιο σε δείκτη χωÏίς μετατÏοπέα"
+
+-#: c-typeck.c:4359
++#: c-typeck.c:4370
+ #, fuzzy, gcc-internal-format
+ msgid "initialization makes integer from pointer without a cast"
+ msgstr "%s μετατÏέπει ακέÏαιο σε δείκτη χωÏίς μετατÏοπέα"
+
+-#: c-typeck.c:4361
++#: c-typeck.c:4372
+ #, fuzzy, gcc-internal-format
+ msgid "return makes integer from pointer without a cast"
+ msgstr "%s μετατÏέπει ακέÏαιο σε δείκτη χωÏίς μετατÏοπέα"
+
+-#: c-typeck.c:4377
++#: c-typeck.c:4388
+ #, fuzzy, gcc-internal-format
+ msgid "incompatible types in assignment"
+ msgstr "μη έγκυÏο είδος αλφαÏÎ¹Î¸Î¼Î·Ï„Î¹ÎºÎ¿Ï `%s'"
+
+-#: c-typeck.c:4380
++#: c-typeck.c:4391
+ #, fuzzy, gcc-internal-format
+ msgid "incompatible types in initialization"
+ msgstr "μη έγκυÏο είδος αλφαÏÎ¹Î¸Î¼Î·Ï„Î¹ÎºÎ¿Ï `%s'"
+
+-#: c-typeck.c:4383
++#: c-typeck.c:4394
+ #, fuzzy, gcc-internal-format
+ msgid "incompatible types in return"
+ msgstr "μη έγκυÏο είδος αλφαÏÎ¹Î¸Î¼Î·Ï„Î¹ÎºÎ¿Ï `%s'"
+
+-#: c-typeck.c:4439
++#: c-typeck.c:4450
+ #, gcc-internal-format
+ msgid "traditional C rejects automatic aggregate initialization"
+ msgstr ""
+
+ # src/request.c:263
+-#: c-typeck.c:4610 c-typeck.c:4625 c-typeck.c:4640
++#: c-typeck.c:4621 c-typeck.c:4636 c-typeck.c:4651
+ #, fuzzy, gcc-internal-format
+ msgid "(near initialization for %qs)"
+ msgstr "Το βήμα αÏχικοποίησης απέτυχε"
+
+-#: c-typeck.c:5180 cp/decl.c:4975
++#: c-typeck.c:5191 cp/decl.c:4995
+ #, fuzzy, gcc-internal-format
+ msgid "opaque vector types cannot be initialized"
+ msgstr "Η λειτουÏγία δεν έχει υλοποιηθεί"
+
+-#: c-typeck.c:5803
++#: c-typeck.c:5814
+ #, gcc-internal-format
+ msgid "unknown field %qE specified in initializer"
+ msgstr ""
+
+-#: c-typeck.c:6703
++#: c-typeck.c:6714
+ #, gcc-internal-format
+ msgid "traditional C rejects initialization of unions"
+ msgstr ""
+
+-#: c-typeck.c:7011
++#: c-typeck.c:7022
+ #, fuzzy, gcc-internal-format
+ msgid "jump into statement expression"
+ msgstr "ΠÏόωÏο τέλος της κανονικής έκφÏασης"
+
+-#: c-typeck.c:7017
++#: c-typeck.c:7028
+ #, gcc-internal-format
+ msgid "jump into scope of identifier with variably modified type"
+ msgstr ""
+
+-#: c-typeck.c:7054
++#: c-typeck.c:7065
+ #, gcc-internal-format
+ msgid "ISO C forbids %<goto *expr;%>"
+ msgstr ""
+
+-#: c-typeck.c:7069 cp/typeck.c:6592
++#: c-typeck.c:7080 cp/typeck.c:6619
+ #, gcc-internal-format
+ msgid "function declared %<noreturn%> has a %<return%> statement"
+ msgstr ""
+
+-#: c-typeck.c:7077
++#: c-typeck.c:7088
+ #, fuzzy, gcc-internal-format
+ msgid "%<return%> with no value, in function returning non-void"
+ msgstr "`return' χωÏίς τιμή, σε συνάÏτηση που επιστÏέφει μη-κενό"
+
+-#: c-typeck.c:7086
++#: c-typeck.c:7097
+ #, fuzzy, gcc-internal-format
+ msgid "%<return%> with a value, in function returning void"
+ msgstr "`return' χωÏίς τιμή, σε συνάÏτηση που επιστÏέφει μη-κενό"
+
+-#: c-typeck.c:7088
++#: c-typeck.c:7099
+ #, fuzzy, gcc-internal-format
+ msgid "ISO C forbids %<return%> with expression, in function returning void"
+ msgstr "`return' χωÏίς τιμή, σε συνάÏτηση που επιστÏέφει μη-κενό"
+
+-#: c-typeck.c:7145
++#: c-typeck.c:7156
+ #, gcc-internal-format
+ msgid "function returns address of local variable"
+ msgstr ""
+
+-#: c-typeck.c:7217 cp/semantics.c:949
++#: c-typeck.c:7228 cp/semantics.c:952
+ #, gcc-internal-format
+ msgid "switch quantity not an integer"
+ msgstr ""
+
+-#: c-typeck.c:7229
++#: c-typeck.c:7240
+ #, gcc-internal-format
+ msgid "%<long%> switch expression not converted to %<int%> in ISO C"
+ msgstr ""
+
+-#: c-typeck.c:7269
++#: c-typeck.c:7280
+ #, gcc-internal-format
+ msgid "case label in statement expression not containing enclosing switch statement"
+ msgstr ""
+
+-#: c-typeck.c:7272
++#: c-typeck.c:7283
+ #, gcc-internal-format
+ msgid "%<default%> label in statement expression not containing enclosing switch statement"
+ msgstr ""
+
+-#: c-typeck.c:7278
++#: c-typeck.c:7289
+ #, gcc-internal-format
+ msgid "case label in scope of identifier with variably modified type not containing enclosing switch statement"
+ msgstr ""
+
+-#: c-typeck.c:7281
++#: c-typeck.c:7292
+ #, gcc-internal-format
+ msgid "%<default%> label in scope of identifier with variably modified type not containing enclosing switch statement"
+ msgstr ""
+
+-#: c-typeck.c:7285 cp/parser.c:6804
++#: c-typeck.c:7296 cp/parser.c:6810
+ #, gcc-internal-format
+ msgid "case label not within a switch statement"
+ msgstr ""
+
+-#: c-typeck.c:7287
++#: c-typeck.c:7298
+ #, gcc-internal-format
+ msgid "%<default%> label not within a switch statement"
+ msgstr ""
+
+-#: c-typeck.c:7364
++#: c-typeck.c:7375
+ #, gcc-internal-format
+ msgid "%Hsuggest explicit braces to avoid ambiguous %<else%>"
+ msgstr ""
+
+-#: c-typeck.c:7475 cp/cp-gimplify.c:97 cp/parser.c:7409
++#: c-typeck.c:7486 cp/cp-gimplify.c:97 cp/parser.c:7415
+ #, gcc-internal-format
+ msgid "break statement not within loop or switch"
+ msgstr ""
+
+-#: c-typeck.c:7477 cp/parser.c:7430
++#: c-typeck.c:7488 cp/parser.c:7436
+ #, gcc-internal-format
+ msgid "continue statement not within a loop"
+ msgstr ""
+
+-#: c-typeck.c:7482 cp/parser.c:7420
++#: c-typeck.c:7493 cp/parser.c:7426
+ #, gcc-internal-format
+ msgid "break statement used with OpenMP for loop"
+ msgstr ""
+
+-#: c-typeck.c:7505
++#: c-typeck.c:7516
+ #, gcc-internal-format
+ msgid "%Hstatement with no effect"
+ msgstr ""
+
+-#: c-typeck.c:7527
++#: c-typeck.c:7538
+ #, gcc-internal-format
+ msgid "expression statement has incomplete type"
+ msgstr ""
+
+-#: c-typeck.c:8082 cp/typeck.c:3259
++#: c-typeck.c:8093 cp/typeck.c:3301
+ #, gcc-internal-format
+ msgid "right shift count is negative"
+ msgstr ""
+
+-#: c-typeck.c:8089 cp/typeck.c:3265
++#: c-typeck.c:8100 cp/typeck.c:3305
+ #, gcc-internal-format
+ msgid "right shift count >= width of type"
+ msgstr ""
+
+-#: c-typeck.c:8111 cp/typeck.c:3284
++#: c-typeck.c:8122 cp/typeck.c:3324
+ #, gcc-internal-format
+ msgid "left shift count is negative"
+ msgstr ""
+
+-#: c-typeck.c:8114 cp/typeck.c:3286
++#: c-typeck.c:8125 cp/typeck.c:3326
+ #, gcc-internal-format
+ msgid "left shift count >= width of type"
+ msgstr ""
+
+-#: c-typeck.c:8132 cp/typeck.c:3324
++#: c-typeck.c:8143 cp/typeck.c:3364
+ #, gcc-internal-format
+ msgid "comparing floating point with == or != is unsafe"
+ msgstr ""
+
+-#: c-typeck.c:8156 c-typeck.c:8163
++#: c-typeck.c:8167 c-typeck.c:8174
+ #, gcc-internal-format
+ msgid "ISO C forbids comparison of %<void *%> with function pointer"
+ msgstr ""
+
+-#: c-typeck.c:8169 c-typeck.c:8227
++#: c-typeck.c:8180 c-typeck.c:8238
+ #, gcc-internal-format
+ msgid "comparison of distinct pointer types lacks a cast"
+ msgstr ""
+
+-#: c-typeck.c:8178 c-typeck.c:8186 cp/typeck.c:3344 cp/typeck.c:3353
++#: c-typeck.c:8189 c-typeck.c:8197 cp/typeck.c:3384 cp/typeck.c:3393
+ #, gcc-internal-format
+ msgid "the address of %qD will never be NULL"
+ msgstr ""
+
+-#: c-typeck.c:8193 c-typeck.c:8198 c-typeck.c:8245 c-typeck.c:8250
++#: c-typeck.c:8204 c-typeck.c:8209 c-typeck.c:8256 c-typeck.c:8261
+ #, gcc-internal-format
+ msgid "comparison between pointer and integer"
+ msgstr ""
+
+-#: c-typeck.c:8219
++#: c-typeck.c:8230
+ #, gcc-internal-format
+ msgid "comparison of complete and incomplete pointers"
+ msgstr ""
+
+-#: c-typeck.c:8222
++#: c-typeck.c:8233
+ #, gcc-internal-format
+ msgid "ISO C forbids ordered comparisons of pointers to functions"
+ msgstr ""
+
+-#: c-typeck.c:8234 c-typeck.c:8240
++#: c-typeck.c:8245 c-typeck.c:8251
+ #, gcc-internal-format
+ msgid "ordered comparison of pointer with integer zero"
+ msgstr ""
+
+-#: c-typeck.c:8500
++#: c-typeck.c:8511
+ #, gcc-internal-format
+ msgid "comparison between signed and unsigned"
+ msgstr ""
+
+-#: c-typeck.c:8546 cp/typeck.c:3830
++#: c-typeck.c:8557 cp/typeck.c:3838
+ #, gcc-internal-format
+ msgid "comparison of promoted ~unsigned with constant"
+ msgstr ""
+
+-#: c-typeck.c:8554 cp/typeck.c:3838
++#: c-typeck.c:8565 cp/typeck.c:3846
+ #, gcc-internal-format
+ msgid "comparison of promoted ~unsigned with unsigned"
+ msgstr ""
+
+-#: c-typeck.c:8612
++#: c-typeck.c:8623
+ #, gcc-internal-format
+ msgid "used array that cannot be converted to pointer where scalar is required"
+ msgstr ""
+
+-#: c-typeck.c:8616
++#: c-typeck.c:8627
+ #, gcc-internal-format
+ msgid "used struct type value where scalar is required"
+ msgstr ""
+
+-#: c-typeck.c:8620
++#: c-typeck.c:8631
+ #, gcc-internal-format
+ msgid "used union type value where scalar is required"
+ msgstr ""
+
+-#: c-typeck.c:8725 cp/semantics.c:3523
++#: c-typeck.c:8736 cp/semantics.c:3555
+ #, fuzzy, gcc-internal-format
+ msgid "%qE has invalid type for %<reduction%>"
+ msgstr "μη έγκυÏος αÏιθμός από γÏαμμές"
+
+-#: c-typeck.c:8759 cp/semantics.c:3536
++#: c-typeck.c:8770 cp/semantics.c:3568
+ #, gcc-internal-format
+ msgid "%qE has invalid type for %<reduction(%s)%>"
+ msgstr ""
+
+-#: c-typeck.c:8775 cp/semantics.c:3546
++#: c-typeck.c:8786 cp/semantics.c:3578
+ #, gcc-internal-format
+ msgid "%qE must be %<threadprivate%> for %<copyin%>"
+ msgstr ""
+
+-#: c-typeck.c:8784 cp/semantics.c:3351
++#: c-typeck.c:8795 cp/semantics.c:3383
+ #, fuzzy, gcc-internal-format
+ msgid "%qE is not a variable in clause %qs"
+ msgstr "το `%s' είναι Ï€Ïόγονος του `%s'"
+
+-#: c-typeck.c:8791 c-typeck.c:8811 c-typeck.c:8831 cp/semantics.c:3377
+-#: cp/semantics.c:3396
++#: c-typeck.c:8802 c-typeck.c:8822 c-typeck.c:8842 cp/semantics.c:3409
++#: cp/semantics.c:3428
+ #, gcc-internal-format
+ msgid "%qE appears more than once in data clauses"
+ msgstr ""
+
+-#: c-typeck.c:8805 cp/semantics.c:3371
++#: c-typeck.c:8816 cp/semantics.c:3403
+ #, gcc-internal-format
+ msgid "%qE is not a variable in clause %<firstprivate%>"
+ msgstr ""
+
+-#: c-typeck.c:8825 cp/semantics.c:3390
++#: c-typeck.c:8836 cp/semantics.c:3422
+ #, gcc-internal-format
+ msgid "%qE is not a variable in clause %<lastprivate%>"
+ msgstr ""
+
+-#: c-typeck.c:8883 cp/semantics.c:3587
++#: c-typeck.c:8894 cp/semantics.c:3619
+ #, fuzzy, gcc-internal-format
+ msgid "%qE is predetermined %qs for %qs"
+ msgstr "το `%s' είναι Ï€Ïόγονος του `%s'"
+@@ -21595,12 +21576,12 @@
+ msgid "function call has aggregate value"
+ msgstr ""
+
+-#: cfgexpand.c:1884
++#: cfgexpand.c:1887
+ #, gcc-internal-format
+ msgid "not protecting local variables: variable length buffer"
+ msgstr ""
+
+-#: cfgexpand.c:1887
++#: cfgexpand.c:1890
+ #, gcc-internal-format
+ msgid "not protecting function: no buffer at least %d bytes long"
+ msgstr ""
+@@ -21655,7 +21636,7 @@
+ msgid "verify_flow_info: Basic block %d succ edge is corrupted"
+ msgstr ""
+
+-#: cfghooks.c:184 cfgrtl.c:1840
++#: cfghooks.c:184 cfgrtl.c:1838
+ #, gcc-internal-format
+ msgid "wrong amount of branch edges after unconditional jump %i"
+ msgstr ""
+@@ -21865,252 +21846,252 @@
+ msgid "%d exits recorded for loop %d (having %d exits)"
+ msgstr ""
+
+-#: cfgrtl.c:1734
++#: cfgrtl.c:1732
+ #, gcc-internal-format
+ msgid "BB_RTL flag not set for block %d"
+ msgstr ""
+
+-#: cfgrtl.c:1741
++#: cfgrtl.c:1739
+ #, gcc-internal-format
+ msgid "insn %d basic block pointer is %d, should be %d"
+ msgstr ""
+
+-#: cfgrtl.c:1752
++#: cfgrtl.c:1750
+ #, gcc-internal-format
+ msgid "insn %d in header of bb %d has non-NULL basic block"
+ msgstr ""
+
+-#: cfgrtl.c:1760
++#: cfgrtl.c:1758
+ #, gcc-internal-format
+ msgid "insn %d in footer of bb %d has non-NULL basic block"
+ msgstr ""
+
+-#: cfgrtl.c:1782
++#: cfgrtl.c:1780
+ #, gcc-internal-format
+ msgid "verify_flow_info: REG_BR_PROB does not match cfg %wi %i"
+ msgstr ""
+
+-#: cfgrtl.c:1797
++#: cfgrtl.c:1795
+ #, gcc-internal-format
+ msgid "fallthru edge crosses section boundary (bb %i)"
+ msgstr ""
+
+-#: cfgrtl.c:1822
++#: cfgrtl.c:1820
+ #, gcc-internal-format
+ msgid "missing REG_EH_REGION note in the end of bb %i"
+ msgstr ""
+
+-#: cfgrtl.c:1830
++#: cfgrtl.c:1828
+ #, gcc-internal-format
+ msgid "too many outgoing branch edges from bb %i"
+ msgstr ""
+
+-#: cfgrtl.c:1835
++#: cfgrtl.c:1833
+ #, gcc-internal-format
+ msgid "fallthru edge after unconditional jump %i"
+ msgstr ""
+
+-#: cfgrtl.c:1846
++#: cfgrtl.c:1844
+ #, gcc-internal-format
+ msgid "wrong amount of branch edges after conditional jump %i"
+ msgstr ""
+
+-#: cfgrtl.c:1852
++#: cfgrtl.c:1850
+ #, gcc-internal-format
+ msgid "call edges for non-call insn in bb %i"
+ msgstr ""
+
+-#: cfgrtl.c:1861
++#: cfgrtl.c:1859
+ #, gcc-internal-format
+ msgid "abnormal edges for no purpose in bb %i"
+ msgstr ""
+
+-#: cfgrtl.c:1873
++#: cfgrtl.c:1871
+ #, gcc-internal-format
+ msgid "insn %d inside basic block %d but block_for_insn is NULL"
+ msgstr ""
+
+-#: cfgrtl.c:1877
++#: cfgrtl.c:1875
+ #, gcc-internal-format
+ msgid "insn %d inside basic block %d but block_for_insn is %i"
+ msgstr ""
+
+-#: cfgrtl.c:1891 cfgrtl.c:1901
++#: cfgrtl.c:1889 cfgrtl.c:1899
+ #, gcc-internal-format
+ msgid "NOTE_INSN_BASIC_BLOCK is missing for block %d"
+ msgstr ""
+
+-#: cfgrtl.c:1914
++#: cfgrtl.c:1912
+ #, gcc-internal-format
+ msgid "NOTE_INSN_BASIC_BLOCK %d in middle of basic block %d"
+ msgstr ""
+
+-#: cfgrtl.c:1924
++#: cfgrtl.c:1922
+ #, gcc-internal-format
+ msgid "in basic block %d:"
+ msgstr ""
+
+-#: cfgrtl.c:1977 cfgrtl.c:2067
++#: cfgrtl.c:1975 cfgrtl.c:2065
+ #, gcc-internal-format
+ msgid "insn %d outside of basic blocks has non-NULL bb field"
+ msgstr ""
+
+-#: cfgrtl.c:1985
++#: cfgrtl.c:1983
+ #, gcc-internal-format
+ msgid "end insn %d for block %d not found in the insn stream"
+ msgstr ""
+
+-#: cfgrtl.c:1998
++#: cfgrtl.c:1996
+ #, gcc-internal-format
+ msgid "insn %d is in multiple basic blocks (%d and %d)"
+ msgstr ""
+
+-#: cfgrtl.c:2010
++#: cfgrtl.c:2008
+ #, gcc-internal-format
+ msgid "head insn %d for block %d not found in the insn stream"
+ msgstr ""
+
+-#: cfgrtl.c:2030
++#: cfgrtl.c:2028
+ #, gcc-internal-format
+ msgid "missing barrier after block %i"
+ msgstr ""
+
+-#: cfgrtl.c:2043
++#: cfgrtl.c:2041
+ #, gcc-internal-format
+ msgid "verify_flow_info: Incorrect blocks for fallthru %i->%i"
+ msgstr ""
+
+-#: cfgrtl.c:2052
++#: cfgrtl.c:2050
+ #, gcc-internal-format
+ msgid "verify_flow_info: Incorrect fallthru %i->%i"
+ msgstr ""
+
+-#: cfgrtl.c:2085
++#: cfgrtl.c:2083
+ #, gcc-internal-format
+ msgid "basic blocks not laid down consecutively"
+ msgstr ""
+
+-#: cfgrtl.c:2124
++#: cfgrtl.c:2122
+ #, gcc-internal-format
+ msgid "number of bb notes in insn chain (%d) != n_basic_blocks (%d)"
+ msgstr ""
+
+-#: cgraph.c:794
++#: cgraph.c:840
+ #, gcc-internal-format
+ msgid "%D renamed after being referenced in assembly"
+ msgstr ""
+
+-#: cgraphunit.c:670
++#: cgraphunit.c:675
+ #, gcc-internal-format
+ msgid "aux field set for edge %s->%s"
+ msgstr ""
+
+-#: cgraphunit.c:676
++#: cgraphunit.c:681
+ #, gcc-internal-format
+ msgid "Execution count is negative"
+ msgstr ""
+
+-#: cgraphunit.c:683
++#: cgraphunit.c:688
+ #, gcc-internal-format
+ msgid "caller edge count is negative"
+ msgstr ""
+
+-#: cgraphunit.c:688
++#: cgraphunit.c:693
+ #, gcc-internal-format
+ msgid "caller edge frequency is negative"
+ msgstr ""
+
+-#: cgraphunit.c:693
++#: cgraphunit.c:698
+ #, gcc-internal-format
+ msgid "caller edge frequency is too large"
+ msgstr ""
+
+-#: cgraphunit.c:702
++#: cgraphunit.c:707
+ #, fuzzy, gcc-internal-format
+ msgid "inlined_to pointer is wrong"
+ msgstr "οÏισμός δικαιωμάτων στο %s"
+
+-#: cgraphunit.c:707
++#: cgraphunit.c:712
+ #, gcc-internal-format
+ msgid "multiple inline callers"
+ msgstr ""
+
+-#: cgraphunit.c:714
++#: cgraphunit.c:719
+ #, fuzzy, gcc-internal-format
+ msgid "inlined_to pointer set for noninline callers"
+ msgstr "οÏισμός δικαιωμάτων στο %s"
+
+-#: cgraphunit.c:720
++#: cgraphunit.c:725
+ #, fuzzy, gcc-internal-format
+ msgid "inlined_to pointer is set but no predecessors found"
+ msgstr "οÏισμός δικαιωμάτων στο %s"
+
+-#: cgraphunit.c:725
++#: cgraphunit.c:730
+ #, fuzzy, gcc-internal-format
+ msgid "inlined_to pointer refers to itself"
+ msgstr "οÏισμός δικαιωμάτων στο %s"
+
+-#: cgraphunit.c:735
++#: cgraphunit.c:740
+ #, gcc-internal-format
+ msgid "node not found in cgraph_hash"
+ msgstr ""
+
+-#: cgraphunit.c:763
++#: cgraphunit.c:768
+ #, gcc-internal-format
+ msgid "shared call_stmt:"
+ msgstr ""
+
+-#: cgraphunit.c:770
++#: cgraphunit.c:775
+ #, fuzzy, gcc-internal-format
+ msgid "edge points to wrong declaration:"
+ msgstr "αυτός είναι ο Ï€Ïώτος οÏισμός"
+
+-#: cgraphunit.c:779
++#: cgraphunit.c:784
+ #, gcc-internal-format
+ msgid "missing callgraph edge for call stmt:"
+ msgstr ""
+
+-#: cgraphunit.c:795
++#: cgraphunit.c:800
+ #, gcc-internal-format
+ msgid "edge %s->%s has no corresponding call_stmt"
+ msgstr ""
+
+-#: cgraphunit.c:807
++#: cgraphunit.c:812
+ #, gcc-internal-format
+ msgid "verify_cgraph_node failed"
+ msgstr ""
+
+-#: cgraphunit.c:909 cgraphunit.c:932
++#: cgraphunit.c:915 cgraphunit.c:938
+ #, gcc-internal-format
+ msgid "%J%<externally_visible%> attribute have effect only on public objects"
+ msgstr ""
+
+-#: cgraphunit.c:1122
++#: cgraphunit.c:1128
+ #, fuzzy, gcc-internal-format
+ msgid "failed to reclaim unneeded function"
+ msgstr "Το επώνυμο αντικείμενο δεν είναι αναζητήσιμο"
+
+-#: cgraphunit.c:1454
++#: cgraphunit.c:1460
+ #, gcc-internal-format
+ msgid "nodes with no released memory found"
+ msgstr ""
+
+-#: collect2.c:1189
++#: collect2.c:1203
+ #, fuzzy, gcc-internal-format
+ msgid "unknown demangling style '%s'"
+ msgstr "άγνωστο σετ `%s'"
+
+-#: collect2.c:1512
++#: collect2.c:1526
+ #, fuzzy, gcc-internal-format
+ msgid "%s terminated with signal %d [%s]%s"
+ msgstr "%s: Ο Ï€ÏοεπεξεÏγαστής C απέτυχε με σήμα %d\n"
+
+-#: collect2.c:1530
++#: collect2.c:1544
+ #, gcc-internal-format
+ msgid "%s returned %d exit status"
+ msgstr ""
+
+-#: collect2.c:2242
++#: collect2.c:2256
+ #, fuzzy, gcc-internal-format
+ msgid "cannot find 'ldd'"
+ msgstr "αδυναμία ανοίγματος του `%s'"
+@@ -22265,27 +22246,27 @@
+ msgid "dominator of %d should be %d, not %d"
+ msgstr ""
+
+-#: dwarf2out.c:3634
++#: dwarf2out.c:3686
+ #, fuzzy, gcc-internal-format
+ msgid "DW_LOC_OP %s not implemented"
+ msgstr "Η λειτουÏγία δεν έχει υλοποιηθεί"
+
+-#: emit-rtl.c:2326
++#: emit-rtl.c:2262
+ #, fuzzy, gcc-internal-format
+ msgid "invalid rtl sharing found in the insn"
+ msgstr "μη έγκυÏη μέτÏηση επανάληψης `%s' στη κατασκευή [c*n]"
+
+-#: emit-rtl.c:2328
++#: emit-rtl.c:2264
+ #, gcc-internal-format
+ msgid "shared rtx"
+ msgstr ""
+
+-#: emit-rtl.c:2330
++#: emit-rtl.c:2266
+ #, fuzzy, gcc-internal-format
+ msgid "internal consistency failure"
+ msgstr "εσωτεÏικό σφάλμα gcc"
+
+-#: emit-rtl.c:3417
++#: emit-rtl.c:3365
+ #, gcc-internal-format
+ msgid "ICE: emit_insn used where emit_jump_insn needed:\n"
+ msgstr ""
+@@ -22345,16 +22326,16 @@
+ msgid "verify_eh_tree failed"
+ msgstr ""
+
+-#: explow.c:1281
++#: explow.c:1258
+ #, fuzzy, gcc-internal-format
+ msgid "stack limits not supported on this target"
+ msgstr "συμβολικοί σÏνδεσμοι δεν υποστηÏίζονται στο σÏστημα αυτό"
+
+-#: expr.c:8031
++#: expr.c:8030
+ msgid "%Kcall to %qs declared with attribute error: %s"
+ msgstr ""
+
+-#: expr.c:8037
++#: expr.c:8036
+ msgid "%Kcall to %qs declared with attribute warning: %s"
+ msgstr ""
+
+@@ -22368,7 +22349,7 @@
+ msgid "large fixed-point constant implicitly truncated to fixed-point type"
+ msgstr ""
+
+-#: fold-const.c:992 tree-ssa-loop-niter.c:1827 tree-vrp.c:5060
++#: fold-const.c:992 tree-ssa-loop-niter.c:1827 tree-vrp.c:5076
+ #, fuzzy, gcc-internal-format
+ msgid "%H%s"
+ msgstr "%s"
+@@ -22378,79 +22359,79 @@
+ msgid "assuming signed overflow does not occur when negating a division"
+ msgstr ""
+
+-#: fold-const.c:3989 fold-const.c:4000
++#: fold-const.c:4003 fold-const.c:4014
+ #, gcc-internal-format
+ msgid "comparison is always %d due to width of bit-field"
+ msgstr ""
+
+-#: fold-const.c:5317
++#: fold-const.c:5331
+ #, gcc-internal-format
+ msgid "assuming signed overflow does not occur when simplifying range test"
+ msgstr ""
+
+-#: fold-const.c:5691 fold-const.c:5706
++#: fold-const.c:5705 fold-const.c:5720
+ #, gcc-internal-format
+ msgid "comparison is always %d"
+ msgstr ""
+
+-#: fold-const.c:5835
++#: fold-const.c:5849
+ #, gcc-internal-format
+ msgid "%<or%> of unmatched not-equal tests is always 1"
+ msgstr ""
+
+-#: fold-const.c:5840
++#: fold-const.c:5854
+ #, gcc-internal-format
+ msgid "%<and%> of mutually exclusive equal-tests is always 0"
+ msgstr ""
+
+-#: fold-const.c:8617
++#: fold-const.c:8641
+ #, gcc-internal-format
+ msgid "assuming signed overflow does not occur when reducing constant in comparison"
+ msgstr ""
+
+-#: fold-const.c:8871
++#: fold-const.c:8895
+ #, gcc-internal-format
+ msgid "assuming signed overflow does not occur when combining constants around a comparison"
+ msgstr ""
+
+-#: fold-const.c:13236
++#: fold-const.c:13433
+ #, gcc-internal-format
+ msgid "fold check: original tree changed by fold"
+ msgstr ""
+
+ # src/shred.c:1134
+-#: function.c:377
++#: function.c:380
+ #, fuzzy, gcc-internal-format
+ msgid "%Jtotal size of local objects too large"
+ msgstr "%s: το αÏχείο είναι Ï€Î¿Î»Ï Î¼ÎµÎ³Î¬Î»Î¿"
+
+ # src/shred.c:1134
+-#: function.c:837 varasm.c:2095
++#: function.c:840 varasm.c:2095
+ #, fuzzy, gcc-internal-format
+ msgid "size of variable %q+D is too large"
+ msgstr "%s: το αÏχείο είναι Ï€Î¿Î»Ï Î¼ÎµÎ³Î¬Î»Î¿"
+
+-#: function.c:1554 gimplify.c:4250
++#: function.c:1571 gimplify.c:4405
+ #, gcc-internal-format
+ msgid "impossible constraint in %<asm%>"
+ msgstr ""
+
+-#: function.c:3538
++#: function.c:3557
+ #, gcc-internal-format
+ msgid "variable %q+D might be clobbered by %<longjmp%> or %<vfork%>"
+ msgstr ""
+
+-#: function.c:3559
++#: function.c:3578
+ #, gcc-internal-format
+ msgid "argument %q+D might be clobbered by %<longjmp%> or %<vfork%>"
+ msgstr ""
+
+-#: function.c:4004
++#: function.c:4027
+ #, gcc-internal-format
+ msgid "function returns an aggregate"
+ msgstr ""
+
+-#: function.c:4401
++#: function.c:4424
+ #, fuzzy, gcc-internal-format
+ msgid "unused parameter %q+D"
+ msgstr "άγνωστος χαÏακτήÏας `%s'"
+@@ -22476,12 +22457,12 @@
+ msgid "extraneous argument to '%s' option"
+ msgstr "Λείπει παÏάμετÏος για `%s'"
+
+-#: gcc.c:3987
++#: gcc.c:3981
+ #, gcc-internal-format
+ msgid "warning: -pipe ignored because -save-temps specified"
+ msgstr ""
+
+-#: gcc.c:4276
++#: gcc.c:4270
+ #, gcc-internal-format
+ msgid "warning: '-x %s' after last input file has no effect"
+ msgstr ""
+@@ -22489,63 +22470,63 @@
+ #. Catch the case where a spec string contains something like
+ #. '%{foo:%*}'. i.e. there is no * in the pattern on the left
+ #. hand side of the :.
+-#: gcc.c:5314
++#: gcc.c:5308
+ #, gcc-internal-format
+ msgid "spec failure: '%%*' has not been initialized by pattern match"
+ msgstr ""
+
+-#: gcc.c:5323
++#: gcc.c:5317
+ #, gcc-internal-format
+ msgid "warning: use of obsolete %%[ operator in specs"
+ msgstr ""
+
+-#: gcc.c:5404
++#: gcc.c:5398
+ #, fuzzy, gcc-internal-format
+ msgid "spec failure: unrecognized spec option '%c'"
+ msgstr "%s: μη αναγνωÏίσιμη επιλογή `-%c'\n"
+
+-#: gcc.c:6305
++#: gcc.c:6304
+ #, gcc-internal-format
+ msgid "spec failure: more than one arg to SYSROOT_SUFFIX_SPEC"
+ msgstr ""
+
+-#: gcc.c:6328
++#: gcc.c:6327
+ #, gcc-internal-format
+ msgid "spec failure: more than one arg to SYSROOT_HEADERS_SUFFIX_SPEC"
+ msgstr ""
+
+-#: gcc.c:6415
++#: gcc.c:6414
+ #, fuzzy, gcc-internal-format
+ msgid "unrecognized option '-%s'"
+ msgstr "μη αναγνωÏίσημη επιλογή `-%s'"
+
+-#: gcc.c:6615 gcc.c:6678
++#: gcc.c:6614 gcc.c:6677
+ #, gcc-internal-format
+ msgid "%s: %s compiler not installed on this system"
+ msgstr "%s: ο μεταγλωττιστής %s δεν έχει εγκατασταθεί στο σÏστημα αυτό"
+
+-#: gcc.c:6778
++#: gcc.c:6777
+ #, gcc-internal-format
+ msgid "%s: linker input file unused because linking not done"
+ msgstr ""
+
+-#: gcc.c:6818
++#: gcc.c:6817
+ #, gcc-internal-format
+ msgid "language %s not recognized"
+ msgstr ""
+
+ # src/request.c:37
+-#: gcc.c:6889
++#: gcc.c:6888
+ #, gcc-internal-format
+ msgid "%s: %s"
+ msgstr "%s: %s"
+
+-#: gcse.c:6660
++#: gcse.c:6644
+ #, gcc-internal-format
+ msgid "%s: %d basic blocks and %d edges/basic block"
+ msgstr ""
+
+-#: gcse.c:6673
++#: gcse.c:6657
+ #, gcc-internal-format
+ msgid "%s: %d basic blocks and %d registers"
+ msgstr ""
+@@ -22598,53 +22579,53 @@
+ msgid "can't write PCH fle: %m"
+ msgstr "αδυναμία εγγÏαφής αποτελέσματος: %s"
+
+-#: gimplify.c:4139
++#: gimplify.c:4294
+ #, fuzzy, gcc-internal-format
+ msgid "invalid lvalue in asm output %d"
+ msgstr "Η παÏάμετÏος κινητής υποδιαστολής δεν είναι έγκυÏη: %s"
+
+-#: gimplify.c:4251
++#: gimplify.c:4406
+ #, gcc-internal-format
+ msgid "non-memory input %d must stay in memory"
+ msgstr ""
+
+-#: gimplify.c:4264
++#: gimplify.c:4419
+ #, fuzzy, gcc-internal-format
+ msgid "memory input %d is not directly addressable"
+ msgstr "Ο κατάλογος `%s' δεν είναι Ï€Ïοσιτός."
+
+-#: gimplify.c:4743
++#: gimplify.c:4898
+ #, gcc-internal-format
+ msgid "%qs not specified in enclosing parallel"
+ msgstr ""
+
+-#: gimplify.c:4745
++#: gimplify.c:4900
+ #, gcc-internal-format
+ msgid "%Henclosing parallel"
+ msgstr ""
+
+ # src/shred.c:1134
+-#: gimplify.c:4799
++#: gimplify.c:4954
+ #, fuzzy, gcc-internal-format
+ msgid "iteration variable %qs should be private"
+ msgstr "%s: το αÏχείο είναι Ï€Î¿Î»Ï Î¼ÎµÎ³Î¬Î»Î¿"
+
+-#: gimplify.c:4813
++#: gimplify.c:4968
+ #, gcc-internal-format
+ msgid "iteration variable %qs should not be firstprivate"
+ msgstr ""
+
+-#: gimplify.c:4816
++#: gimplify.c:4971
+ #, gcc-internal-format
+ msgid "iteration variable %qs should not be reduction"
+ msgstr ""
+
+-#: gimplify.c:4940
++#: gimplify.c:5095
+ #, gcc-internal-format
+ msgid "%s variable %qs is private in outer context"
+ msgstr ""
+
+-#: gimplify.c:6108
++#: gimplify.c:6281
+ #, gcc-internal-format
+ msgid "gimplification failed"
+ msgstr ""
+@@ -22654,7 +22635,7 @@
+ msgid "%s cannot be used in asm here"
+ msgstr "Δεν μποÏεί να τεθεί η ημεÏομηνία."
+
+-#: graph.c:401 java/jcf-parse.c:1757 java/jcf-parse.c:1897 objc/objc-act.c:500
++#: graph.c:401 java/jcf-parse.c:1759 java/jcf-parse.c:1899 objc/objc-act.c:500
+ #, fuzzy, gcc-internal-format
+ msgid "can't open %s: %m"
+ msgstr "αδυναμία ανοίγματος του `%s'"
+@@ -22664,162 +22645,167 @@
+ msgid "fix_sched_param: unknown param: %s"
+ msgstr ""
+
+-#: omp-low.c:1288
++#: omp-low.c:1289
+ #, gcc-internal-format
+ msgid "work-sharing region may not be closely nested inside of work-sharing, critical, ordered or master region"
+ msgstr ""
+
+-#: omp-low.c:1304
++#: omp-low.c:1305
+ #, gcc-internal-format
+ msgid "master region may not be closely nested inside of work-sharing region"
+ msgstr ""
+
+-#: omp-low.c:1318
++#: omp-low.c:1319
+ #, gcc-internal-format
+ msgid "ordered region may not be closely nested inside of critical region"
+ msgstr ""
+
+-#: omp-low.c:1324
++#: omp-low.c:1325
+ #, gcc-internal-format
+ msgid "ordered region must be closely nested inside a loop region with an ordered clause"
+ msgstr ""
+
+-#: omp-low.c:1338
++#: omp-low.c:1339
+ #, gcc-internal-format
+ msgid "critical region may not be nested inside a critical region with the same name"
+ msgstr ""
+
+-#: omp-low.c:5050 cp/decl.c:2660 cp/parser.c:7417 cp/parser.c:7437
++#: omp-low.c:5116 cp/decl.c:2667 cp/parser.c:7423 cp/parser.c:7443
+ #, gcc-internal-format
+ msgid "invalid exit from OpenMP structured block"
+ msgstr ""
+
+-#: omp-low.c:5052
++#: omp-low.c:5118
+ #, gcc-internal-format
+ msgid "invalid entry to OpenMP structured block"
+ msgstr ""
+
+-#: opts.c:173
++#: opts.c:165
+ #, gcc-internal-format
+ msgid "argument %qs to %<-femit-struct-debug-detailed%> not recognized"
+ msgstr ""
+
+-#: opts.c:207
++#: opts.c:199
+ #, gcc-internal-format
+ msgid "argument %qs to %<-femit-struct-debug-detailed%> unknown"
+ msgstr ""
+
+-#: opts.c:213
++#: opts.c:205
+ #, gcc-internal-format
+ msgid "%<-femit-struct-debug-detailed=dir:...%> must allow at least as much as %<-femit-struct-debug-detailed=ind:...%>"
+ msgstr ""
+
+ #. Eventually this should become a hard error IMO.
+-#: opts.c:438
++#: opts.c:430
+ #, gcc-internal-format
+ msgid "command line option \"%s\" is valid for %s but not for %s"
+ msgstr ""
+
+-#: opts.c:492
++#: opts.c:484
+ #, fuzzy, gcc-internal-format
+ msgid "command line option %qs is not supported by this configuration"
+ msgstr "Η οικογένεια διευθÏνσεων δεν υποστηÏίζεται από την οικογένεια Ï€Ïωτοκόλλου"
+
+-#: opts.c:545
++#: opts.c:537
+ #, fuzzy, gcc-internal-format
+ msgid "missing argument to \"%s\""
+ msgstr "Λείπει παÏάμετÏος για `%s'"
+
+-#: opts.c:555
++#: opts.c:547
+ #, fuzzy, gcc-internal-format
+ msgid "argument to \"%s\" should be a non-negative integer"
+ msgstr "το Ï€Ïώτο ÏŒÏισμα της `%s' Ï€Ïέπει να είναι `int'"
+
+-#: opts.c:728
++#: opts.c:720
+ #, fuzzy, gcc-internal-format
+ msgid "unrecognized command line option \"%s\""
+ msgstr "Μη έγκυÏη επιλογή `%s'"
+
+-#: opts.c:947
++#: opts.c:939
+ #, gcc-internal-format
+ msgid "-Wuninitialized is not supported without -O"
+ msgstr ""
+
+-#: opts.c:962
++#: opts.c:951
+ #, gcc-internal-format
++msgid "-funit-at-a-time is required for inlining of functions that are only called once"
++msgstr ""
++
++#: opts.c:964
++#, gcc-internal-format
+ msgid "-freorder-blocks-and-partition does not work with exceptions"
+ msgstr ""
+
+-#: opts.c:973
++#: opts.c:975
+ #, gcc-internal-format
+ msgid "-freorder-blocks-and-partition does not support unwind info"
+ msgstr ""
+
+-#: opts.c:987
++#: opts.c:989
+ #, gcc-internal-format
+ msgid "-freorder-blocks-and-partition does not work on this architecture"
+ msgstr ""
+
+-#: opts.c:1263
++#: opts.c:1265
+ #, gcc-internal-format
+ msgid "unrecognized include_flags 0x%x passed to print_specific_help"
+ msgstr ""
+
+-#: opts.c:1593
++#: opts.c:1595
+ #, gcc-internal-format
+ msgid "structure alignment must be a small power of two, not %d"
+ msgstr ""
+
+ # src/request.c:806 src/request.c:912
+-#: opts.c:1656
++#: opts.c:1658
+ #, fuzzy, gcc-internal-format
+ msgid "unrecognized visibility value \"%s\""
+ msgstr "Μη αναγνωÏίσημο όνομα επιφάνειας `%s'"
+
+ # src/request.c:806 src/request.c:912
+-#: opts.c:1704
++#: opts.c:1706
+ #, fuzzy, gcc-internal-format
+ msgid "unrecognized register name \"%s\""
+ msgstr "Μη αναγνωÏίσημο όνομα επιφάνειας `%s'"
+
+ # src/grep.c:1133
+-#: opts.c:1728
++#: opts.c:1730
+ #, fuzzy, gcc-internal-format
+ msgid "unknown tls-model \"%s\""
+ msgstr "άγνωστη μέθοδος καταλόγων"
+
+-#: opts.c:1803
++#: opts.c:1807
+ #, gcc-internal-format
+ msgid "%s: --param arguments should be of the form NAME=VALUE"
+ msgstr ""
+
+-#: opts.c:1808
++#: opts.c:1812
+ #, fuzzy, gcc-internal-format
+ msgid "invalid --param value %qs"
+ msgstr "Μη έγκυÏο διάστημα χÏόνου `%s'"
+
+-#: opts.c:1931
++#: opts.c:1934
+ #, gcc-internal-format
+ msgid "target system does not support debug output"
+ msgstr ""
+
+-#: opts.c:1938
++#: opts.c:1941
+ #, gcc-internal-format
+ msgid "debug format \"%s\" conflicts with prior selection"
+ msgstr ""
+
+ # src/request.c:806 src/request.c:912
+-#: opts.c:1954
++#: opts.c:1957
+ #, fuzzy, gcc-internal-format
+ msgid "unrecognised debug output level \"%s\""
+ msgstr "Μη αναγνωÏίσημο όνομα επιφάνειας `%s'"
+
+-#: opts.c:1956
++#: opts.c:1959
+ #, gcc-internal-format
+ msgid "debug output level %s is too high"
+ msgstr ""
+
+-#: opts.c:2038
++#: opts.c:2041
+ #, gcc-internal-format
+ msgid "-Werror=%s: No option -%s"
+ msgstr ""
+@@ -22895,9 +22881,9 @@
+ msgid "can't use '%s' as a %s register"
+ msgstr ""
+
+-#: regclass.c:890 config/ia64/ia64.c:5138 config/ia64/ia64.c:5145
+-#: config/pa/pa.c:359 config/pa/pa.c:366 config/spu/spu.c:3886
+-#: config/spu/spu.c:3893
++#: regclass.c:890 config/ia64/ia64.c:5139 config/ia64/ia64.c:5146
++#: config/pa/pa.c:362 config/pa/pa.c:369 config/spu/spu.c:3875
++#: config/spu/spu.c:3882
+ #, fuzzy, gcc-internal-format
+ msgid "unknown register name: %s"
+ msgstr "άγνωστος χαÏακτήÏας `%s'"
+@@ -22937,22 +22923,22 @@
+ msgid "validate_value_data: [%u] Non-empty reg in chain (%s %u %i)"
+ msgstr ""
+
+-#: reload.c:1252
++#: reload.c:1256
+ #, gcc-internal-format
+ msgid "cannot reload integer constant operand in %<asm%>"
+ msgstr ""
+
+-#: reload.c:1266
++#: reload.c:1270
+ #, gcc-internal-format
+ msgid "impossible register constraint in %<asm%>"
+ msgstr ""
+
+-#: reload.c:3564
++#: reload.c:3574
+ #, gcc-internal-format
+ msgid "%<&%> constraint used with no register class"
+ msgstr ""
+
+-#: reload.c:3735 reload.c:3975
++#: reload.c:3745 reload.c:3991
+ #, gcc-internal-format
+ msgid "inconsistent operand constraints in an %<asm%>"
+ msgstr ""
+@@ -23177,49 +23163,49 @@
+ msgid "size of %q+D is larger than %wd bytes"
+ msgstr "%s: οι τιμές του πεδίου `%s' δεν Ï€Ïέπει να είναι μεγαλÏτεÏες από %d"
+
+-#: stor-layout.c:899
++#: stor-layout.c:888
+ #, fuzzy, gcc-internal-format
+ msgid "packed attribute causes inefficient alignment for %q+D"
+ msgstr "το `%s' είναι Ï€Ïόγονος του `%s'"
+
+-#: stor-layout.c:902
++#: stor-layout.c:891
+ #, fuzzy, gcc-internal-format
+ msgid "packed attribute is unnecessary for %q+D"
+ msgstr "το `%s' είναι Ï€Ïόγονος του `%s'"
+
+ #. No, we need to skip space before this field.
+ #. Bump the cumulative size to multiple of field alignment.
+-#: stor-layout.c:919
++#: stor-layout.c:908
+ #, gcc-internal-format
+ msgid "padding struct to align %q+D"
+ msgstr ""
+
+-#: stor-layout.c:1270
++#: stor-layout.c:1259
+ #, gcc-internal-format
+ msgid "padding struct size to alignment boundary"
+ msgstr ""
+
+-#: stor-layout.c:1300
++#: stor-layout.c:1289
+ #, gcc-internal-format
+ msgid "packed attribute causes inefficient alignment for %qs"
+ msgstr ""
+
+-#: stor-layout.c:1304
++#: stor-layout.c:1293
+ #, fuzzy, gcc-internal-format
+ msgid "packed attribute is unnecessary for %qs"
+ msgstr "το `%s' είναι Ï€Ïόγονος του `%s'"
+
+-#: stor-layout.c:1310
++#: stor-layout.c:1299
+ #, gcc-internal-format
+ msgid "packed attribute causes inefficient alignment"
+ msgstr ""
+
+-#: stor-layout.c:1312
++#: stor-layout.c:1301
+ #, gcc-internal-format
+ msgid "packed attribute is unnecessary"
+ msgstr ""
+
+-#: stor-layout.c:1842
++#: stor-layout.c:1831
+ #, gcc-internal-format
+ msgid "alignment of array elements is greater than element size"
+ msgstr ""
+@@ -23304,643 +23290,653 @@
+ msgid "unrecognized gcc debugging option: %c"
+ msgstr "μη αναγνωÏίσημη επιλογή `-%c'"
+
+-#: toplev.c:1411
++#: toplev.c:1413
+ #, fuzzy, gcc-internal-format
+ msgid "can%'t open %s for writing: %m"
+ msgstr "%s: Σφάλμα εγγÏαφής "
+
+-#: toplev.c:1432
++#: toplev.c:1434
+ #, fuzzy, gcc-internal-format
+ msgid "-frecord-gcc-switches is not supported by the current target"
+ msgstr "συμβολικοί σÏνδεσμοι δεν υποστηÏίζονται στο σÏστημα αυτό"
+
+-#: toplev.c:1745
++#: toplev.c:1747
+ #, fuzzy, gcc-internal-format
+ msgid "this target does not support %qs"
+ msgstr "αÏχεία fifo δεν υποστηÏίζονται"
+
+-#: toplev.c:1794
++#: toplev.c:1796
+ #, fuzzy, gcc-internal-format
+ msgid "instruction scheduling not supported on this target machine"
+ msgstr "συμβολικοί σÏνδεσμοι δεν υποστηÏίζονται στο σÏστημα αυτό"
+
+-#: toplev.c:1798
++#: toplev.c:1800
+ #, gcc-internal-format
+ msgid "this target machine does not have delayed branches"
+ msgstr ""
+
+-#: toplev.c:1812
++#: toplev.c:1814
+ #, fuzzy, gcc-internal-format
+ msgid "-f%sleading-underscore not supported on this target machine"
+ msgstr "συμβολικοί σÏνδεσμοι δεν υποστηÏίζονται στο σÏστημα αυτό"
+
+-#: toplev.c:1885
++#: toplev.c:1887
+ #, gcc-internal-format
+ msgid "target system does not support the \"%s\" debug format"
+ msgstr ""
+
+-#: toplev.c:1898
++#: toplev.c:1900
+ #, gcc-internal-format
+ msgid "variable tracking requested, but useless unless producing debug info"
+ msgstr ""
+
+-#: toplev.c:1901
++#: toplev.c:1903
+ #, gcc-internal-format
+ msgid "variable tracking requested, but not supported by this debug format"
+ msgstr ""
+
+-#: toplev.c:1935
++#: toplev.c:1937
+ #, fuzzy, gcc-internal-format
+ msgid "can%'t open %s: %m"
+ msgstr "αδυναμία ανοίγματος του `%s'"
+
+-#: toplev.c:1942
++#: toplev.c:1944
+ #, fuzzy, gcc-internal-format
+ msgid "-ffunction-sections not supported for this target"
+ msgstr "το --no-dereference (-h) δεν υποστηÏίζεται σε αυτό το σÏστημα"
+
+-#: toplev.c:1947
++#: toplev.c:1949
+ #, fuzzy, gcc-internal-format
+ msgid "-fdata-sections not supported for this target"
+ msgstr "συμβολικοί σÏνδεσμοι δεν υποστηÏίζονται στο σÏστημα αυτό"
+
+-#: toplev.c:1954
++#: toplev.c:1956
+ #, gcc-internal-format
+ msgid "-ffunction-sections disabled; it makes profiling impossible"
+ msgstr ""
+
+-#: toplev.c:1961
++#: toplev.c:1963
+ #, fuzzy, gcc-internal-format
+ msgid "-fprefetch-loop-arrays not supported for this target"
+ msgstr "το --no-dereference (-h) δεν υποστηÏίζεται σε αυτό το σÏστημα"
+
+-#: toplev.c:1967
++#: toplev.c:1969
+ #, gcc-internal-format
+ msgid "-fprefetch-loop-arrays not supported for this target (try -march switches)"
+ msgstr ""
+
+-#: toplev.c:1976
++#: toplev.c:1978
+ #, fuzzy, gcc-internal-format
+ msgid "-fprefetch-loop-arrays is not supported with -Os"
+ msgstr "το --no-dereference (-h) δεν υποστηÏίζεται σε αυτό το σÏστημα"
+
+-#: toplev.c:1983
++#: toplev.c:1985
+ #, gcc-internal-format
+ msgid "-ffunction-sections may affect debugging on some targets"
+ msgstr ""
+
+-#: toplev.c:1999
++#: toplev.c:1996
++#, gcc-internal-format
++msgid "-fassociative-math disabled; other options take precedence"
++msgstr ""
++
++#: toplev.c:2008
+ #, fuzzy, gcc-internal-format
+ msgid "-fstack-protector not supported for this target"
+ msgstr "συμβολικοί σÏνδεσμοι δεν υποστηÏίζονται στο σÏστημα αυτό"
+
+-#: toplev.c:2012
++#: toplev.c:2021
+ #, gcc-internal-format
+-msgid "unwind tables currently requires a frame pointer for correctness"
++msgid "unwind tables currently require a frame pointer for correctness"
+ msgstr ""
+
+-#: toplev.c:2198
++#: toplev.c:2207
+ #, fuzzy, gcc-internal-format
+ msgid "error writing to %s: %m"
+ msgstr "σφάλμα εγγÏαφής %s"
+
+-#: toplev.c:2200 java/jcf-parse.c:1776
++#: toplev.c:2209 java/jcf-parse.c:1778
+ #, fuzzy, gcc-internal-format
+ msgid "error closing %s: %m"
+ msgstr "σφάλμα ανάγνωσης %s"
+
+-#: tree-cfg.c:1432 tree-cfg.c:2068 tree-cfg.c:2071
++#: tree-cfg.c:1451 tree-cfg.c:2087 tree-cfg.c:2090
+ #, gcc-internal-format
+ msgid "%Hwill never be executed"
+ msgstr ""
+
+-#: tree-cfg.c:3134
++#: tree-cfg.c:3153
+ #, gcc-internal-format
+ msgid "SSA name in freelist but still referenced"
+ msgstr ""
+
+-#: tree-cfg.c:3143
++#: tree-cfg.c:3162
+ #, gcc-internal-format
+ msgid "ASSERT_EXPR with an always-false condition"
+ msgstr ""
+
+-#: tree-cfg.c:3156
++#: tree-cfg.c:3175
+ #, gcc-internal-format
+ msgid "GIMPLE register modified with BIT_FIELD_REF"
+ msgstr ""
+
+-#: tree-cfg.c:3191
++#: tree-cfg.c:3210
+ #, gcc-internal-format
+ msgid "invariant not recomputed when ADDR_EXPR changed"
+ msgstr ""
+
+-#: tree-cfg.c:3197
++#: tree-cfg.c:3216
+ #, gcc-internal-format
+ msgid "constant not recomputed when ADDR_EXPR changed"
+ msgstr ""
+
+-#: tree-cfg.c:3202
++#: tree-cfg.c:3221
+ #, gcc-internal-format
+ msgid "side effects not recomputed when ADDR_EXPR changed"
+ msgstr ""
+
+-#: tree-cfg.c:3218
++#: tree-cfg.c:3237
+ #, gcc-internal-format
+ msgid "address taken, but ADDRESSABLE bit not set"
+ msgstr ""
+
+-#: tree-cfg.c:3228
++#: tree-cfg.c:3252
+ #, fuzzy, gcc-internal-format
+ msgid "non-integral used in condition"
+ msgstr "μη τεÏματιζόμενo αλφαÏιθμητικό"
+
+-#: tree-cfg.c:3233
++#: tree-cfg.c:3257
+ #, fuzzy, gcc-internal-format
+ msgid "invalid conditional operand"
+ msgstr "μη έγκυÏος χÏήστης"
+
+-#: tree-cfg.c:3285
++#: tree-cfg.c:3309
+ #, fuzzy, gcc-internal-format
+ msgid "invalid reference prefix"
+ msgstr "Μη έγκυÏη πισω-παÏαπομπή"
+
+-#: tree-cfg.c:3296
++#: tree-cfg.c:3320
+ #, fuzzy, gcc-internal-format
+ msgid "invalid operand to plus/minus, type is a pointer"
+ msgstr "μη έγκυÏη μέτÏηση επανάληψης `%s' στη κατασκευή [c*n]"
+
+-#: tree-cfg.c:3307
++#: tree-cfg.c:3331
+ #, gcc-internal-format
+ msgid "invalid operand to pointer plus, first operand is not a pointer"
+ msgstr ""
+
+-#: tree-cfg.c:3315
++#: tree-cfg.c:3339
+ #, gcc-internal-format
+ msgid "invalid operand to pointer plus, second operand is not an integer with type of sizetype."
+ msgstr ""
+
+-#: tree-cfg.c:3382 tree-cfg.c:3798
++#: tree-cfg.c:3406 tree-cfg.c:3822
+ #, fuzzy, gcc-internal-format
+ msgid "invalid operand in unary expression"
+ msgstr "Μη έγκυÏη κανονική έκφÏαση"
+
+-#: tree-cfg.c:3392
++#: tree-cfg.c:3416
+ #, fuzzy, gcc-internal-format
+ msgid "type mismatch in unary expression"
+ msgstr "παÏάληψη οÏίσματος αÏχείου"
+
+-#: tree-cfg.c:3413
++#: tree-cfg.c:3437
+ #, fuzzy, gcc-internal-format
+ msgid "invalid operands in binary expression"
+ msgstr "Μη έγκυÏη επιλογή `%s'"
+
+-#: tree-cfg.c:3424
++#: tree-cfg.c:3448
+ #, fuzzy, gcc-internal-format
+ msgid "type mismatch in binary expression"
+ msgstr "παÏάληψη οÏίσματος αÏχείου"
+
+-#: tree-cfg.c:3449
++#: tree-cfg.c:3473
+ #, fuzzy, gcc-internal-format
+ msgid "invalid expression for min lvalue"
+ msgstr "%s: μη έγκυÏη κανονική έκφÏαση: %s"
+
+-#: tree-cfg.c:3456
++#: tree-cfg.c:3480
+ #, fuzzy, gcc-internal-format
+ msgid "invalid operand in indirect reference"
+ msgstr "μη έγκυÏη μέτÏηση επανάληψης `%s' στη κατασκευή [c*n]"
+
+-#: tree-cfg.c:3463
++#: tree-cfg.c:3487
+ #, gcc-internal-format
+ msgid "type mismatch in indirect reference"
+ msgstr ""
+
+-#: tree-cfg.c:3491
++#: tree-cfg.c:3515
+ #, fuzzy, gcc-internal-format
+ msgid "invalid operands to array reference"
+ msgstr "Μη έγκυÏη επιλογή `%s'"
+
+-#: tree-cfg.c:3502
++#: tree-cfg.c:3526
+ #, gcc-internal-format
+ msgid "type mismatch in array reference"
+ msgstr ""
+
+-#: tree-cfg.c:3511
++#: tree-cfg.c:3535
+ #, gcc-internal-format
+ msgid "type mismatch in array range reference"
+ msgstr ""
+
+-#: tree-cfg.c:3522
++#: tree-cfg.c:3546
+ #, gcc-internal-format
+ msgid "type mismatch in real/imagpart reference"
+ msgstr ""
+
+-#: tree-cfg.c:3532
++#: tree-cfg.c:3556
+ #, gcc-internal-format
+ msgid "type mismatch in component reference"
+ msgstr ""
+
+-#: tree-cfg.c:3586
++#: tree-cfg.c:3610
+ #, fuzzy, gcc-internal-format
+ msgid "invalid operand in conversion"
+ msgstr "μη έγκυÏη μέτÏηση επανάληψης `%s' στη κατασκευή [c*n]"
+
+-#: tree-cfg.c:3614
++#: tree-cfg.c:3638
+ #, fuzzy, gcc-internal-format
+ msgid "invalid types in nop conversion"
+ msgstr "Μη έγκυÏη κανονική έκφÏαση"
+
+-#: tree-cfg.c:3628
++#: tree-cfg.c:3652
+ #, fuzzy, gcc-internal-format
+ msgid "invalid operand in int to float conversion"
+ msgstr "μη έγκυÏη μέτÏηση επανάληψης `%s' στη κατασκευή [c*n]"
+
+-#: tree-cfg.c:3634
++#: tree-cfg.c:3658
+ #, fuzzy, gcc-internal-format
+ msgid "invalid types in conversion to floating point"
+ msgstr "Η παÏάμετÏος κινητής υποδιαστολής δεν είναι έγκυÏη: %s"
+
+-#: tree-cfg.c:3647
++#: tree-cfg.c:3671
+ #, fuzzy, gcc-internal-format
+ msgid "invalid operand in float to int conversion"
+ msgstr "μη έγκυÏη μέτÏηση επανάληψης `%s' στη κατασκευή [c*n]"
+
+-#: tree-cfg.c:3653
++#: tree-cfg.c:3677
+ #, fuzzy, gcc-internal-format
+ msgid "invalid types in conversion to integer"
+ msgstr "μη έγκυÏη ÏŽÏα της μέÏας"
+
+-#: tree-cfg.c:3667
++#: tree-cfg.c:3691
+ #, fuzzy, gcc-internal-format
+ msgid "invalid operands in complex expression"
+ msgstr "Μη έγκυÏη κανονική έκφÏαση"
+
+-#: tree-cfg.c:3680
++#: tree-cfg.c:3704
+ #, fuzzy, gcc-internal-format
+ msgid "type mismatch in complex expression"
+ msgstr "υπεÏβολικά πολλά δευτεÏόλεπτα αναπήδησης"
+
+-#: tree-cfg.c:3694
++#: tree-cfg.c:3718
+ #, gcc-internal-format
+ msgid "constructor not allowed for non-vector types"
+ msgstr ""
+
+-#: tree-cfg.c:3711
++#: tree-cfg.c:3735
+ #, fuzzy, gcc-internal-format
+ msgid "invalid operands in shift expression"
+ msgstr "μη έγκυÏος αÏιθμός από γÏαμμές"
+
+-#: tree-cfg.c:3717
++#: tree-cfg.c:3741
+ #, fuzzy, gcc-internal-format
+ msgid "type mismatch in shift expression"
+ msgstr "παÏάληψη οÏίσματος αÏχείου"
+
+-#: tree-cfg.c:3735
++#: tree-cfg.c:3759
+ #, fuzzy, gcc-internal-format
+ msgid "invalid (pointer) operands to plus/minus"
+ msgstr "Μη έγκυÏη επιλογή `%s'"
+
+-#: tree-cfg.c:3748
++#: tree-cfg.c:3772
+ #, fuzzy, gcc-internal-format
+ msgid "invalid operands in pointer plus expression"
+ msgstr "Μη έγκυÏη κανονική έκφÏαση"
+
+-#: tree-cfg.c:3755
++#: tree-cfg.c:3779
+ #, fuzzy, gcc-internal-format
+ msgid "type mismatch in pointer plus expression"
+ msgstr "παÏάληψη οÏίσματος αÏχείου"
+
+-#: tree-cfg.c:3774
++#: tree-cfg.c:3798
+ #, fuzzy, gcc-internal-format
+ msgid "invalid operands in conditional expression"
+ msgstr "Μη έγκυÏη κανονική έκφÏαση"
+
+-#: tree-cfg.c:3807
++#: tree-cfg.c:3831
+ #, fuzzy, gcc-internal-format
+ msgid "type mismatch in address expression"
+ msgstr "Μη έγκυÏη Ï€ÏοποÏευόμενη κανονική έκφÏαση"
+
+-#: tree-cfg.c:3827
++#: tree-cfg.c:3851
+ #, fuzzy, gcc-internal-format
+ msgid "invalid operands in truth expression"
+ msgstr "Μη έγκυÏη κανονική έκφÏαση"
+
+-#: tree-cfg.c:3836
++#: tree-cfg.c:3860
+ #, gcc-internal-format
+ msgid "type mismatch in binary truth expression"
+ msgstr ""
+
+-#: tree-cfg.c:3852
++#: tree-cfg.c:3876
+ #, fuzzy, gcc-internal-format
+ msgid "invalid operand in unary not"
+ msgstr "Μη έγκυÏη επιλογή `%s'"
+
+-#: tree-cfg.c:3861
++#: tree-cfg.c:3885
+ #, fuzzy, gcc-internal-format
+ msgid "type mismatch in not expression"
+ msgstr "παÏάληψη οÏίσματος αÏχείου"
+
+-#: tree-cfg.c:3900
++#: tree-cfg.c:3924
+ #, fuzzy, gcc-internal-format
+ msgid "invalid operands in comparison expression"
+ msgstr "Μη έγκυÏη κανονική έκφÏαση"
+
+-#: tree-cfg.c:3917
++#: tree-cfg.c:3941
+ #, fuzzy, gcc-internal-format
+ msgid "type mismatch in comparison expression"
+ msgstr "Σφάλμα στο ταίÏιασμα στην κανονική έκφÏαση `%s'"
+
+-#: tree-cfg.c:3947
++#: tree-cfg.c:3971
+ #, fuzzy, gcc-internal-format
+ msgid "non-trivial conversion at assignment"
+ msgstr "Η παÏάμετÏος κινητής υποδιαστολής δεν είναι έγκυÏη: %s"
+
+-#: tree-cfg.c:3988 tree-cfg.c:4136
++#: tree-cfg.c:4012 tree-cfg.c:4160
+ #, fuzzy, gcc-internal-format
+ msgid "is not a valid GIMPLE statement"
+ msgstr "Μη έγκυÏη παÏάμετÏος"
+
+-#: tree-cfg.c:4015
++#: tree-cfg.c:4039
+ #, fuzzy, gcc-internal-format
+ msgid "invalid operand to switch statement"
+ msgstr "Μη έγκυÏη επιλογή `%s'"
+
+-#: tree-cfg.c:4026
++#: tree-cfg.c:4050
+ #, fuzzy, gcc-internal-format
+ msgid "type error in return expression"
+ msgstr "ΕξαίÏεση κινητής υποδιαστολής"
+
+-#: tree-cfg.c:4104
++#: tree-cfg.c:4128
+ #, gcc-internal-format
+ msgid "verify_gimple failed"
+ msgstr ""
+
+-#: tree-cfg.c:4156
++#: tree-cfg.c:4180
+ #, gcc-internal-format
+ msgid "statement marked for throw, but doesn%'t"
+ msgstr ""
+
+-#: tree-cfg.c:4161
++#: tree-cfg.c:4185
+ #, gcc-internal-format
+ msgid "statement marked for throw in middle of block"
+ msgstr ""
+
+-#: tree-cfg.c:4232
++#: tree-cfg.c:4256
+ #, fuzzy, gcc-internal-format
+ msgid "unexpected non-tuple"
+ msgstr "Μη οÏισμένο όνομα %s"
+
+-#: tree-cfg.c:4261
++#: tree-cfg.c:4285
+ #, gcc-internal-format
+ msgid "Dead STMT in EH table"
+ msgstr ""
+
+-#: tree-cfg.c:4295
++#: tree-cfg.c:4319
+ #, gcc-internal-format
+ msgid "bb_for_stmt (phi) is set to a wrong basic block"
+ msgstr ""
+
+-#: tree-cfg.c:4306
++#: tree-cfg.c:4330
+ #, fuzzy, gcc-internal-format
+ msgid "missing PHI def"
+ msgstr "Έχει παÏαληφθεί εντολή"
+
+-#: tree-cfg.c:4317
++#: tree-cfg.c:4341
+ #, gcc-internal-format
+ msgid "PHI def is not a GIMPLE value"
+ msgstr ""
+
+-#: tree-cfg.c:4333 tree-cfg.c:4359
++#: tree-cfg.c:4357 tree-cfg.c:4383
+ #, gcc-internal-format
+ msgid "incorrect sharing of tree nodes"
+ msgstr ""
+
+-#: tree-cfg.c:4350
++#: tree-cfg.c:4374
+ #, gcc-internal-format
+ msgid "bb_for_stmt (stmt) is set to a wrong basic block"
+ msgstr ""
+
+-#: tree-cfg.c:4373
++#: tree-cfg.c:4397
+ #, gcc-internal-format
+ msgid "verify_stmts failed"
+ msgstr ""
+
+-#: tree-cfg.c:4396
++#: tree-cfg.c:4420
+ #, gcc-internal-format
+ msgid "ENTRY_BLOCK has IL associated with it"
+ msgstr ""
+
+-#: tree-cfg.c:4402
++#: tree-cfg.c:4426
+ #, gcc-internal-format
+ msgid "EXIT_BLOCK has IL associated with it"
+ msgstr ""
+
+-#: tree-cfg.c:4409
++#: tree-cfg.c:4433
+ #, gcc-internal-format
+ msgid "fallthru to exit from bb %d"
+ msgstr ""
+
+-#: tree-cfg.c:4431
++#: tree-cfg.c:4455
+ #, gcc-internal-format
+ msgid "nonlocal label "
+ msgstr ""
+
+-#: tree-cfg.c:4440 tree-cfg.c:4450 tree-cfg.c:4475
++#: tree-cfg.c:4464 tree-cfg.c:4474 tree-cfg.c:4499
+ #, gcc-internal-format
+ msgid "label "
+ msgstr ""
+
+-#: tree-cfg.c:4465
++#: tree-cfg.c:4489
+ #, gcc-internal-format
+ msgid "control flow in the middle of basic block %d"
+ msgstr ""
+
+-#: tree-cfg.c:4495
++#: tree-cfg.c:4519
+ #, gcc-internal-format
+ msgid "fallthru edge after a control statement in bb %d"
+ msgstr ""
+
+-#: tree-cfg.c:4508
++#: tree-cfg.c:4532
+ #, gcc-internal-format
+ msgid "true/false edge after a non-COND_EXPR in bb %d"
+ msgstr ""
+
+-#: tree-cfg.c:4524
++#: tree-cfg.c:4548
+ #, gcc-internal-format
+ msgid "COND_EXPR with code in branches at the end of bb %d"
+ msgstr ""
+
+-#: tree-cfg.c:4538 tree-cfg.c:4560 tree-cfg.c:4573 tree-cfg.c:4644
++#: tree-cfg.c:4562 tree-cfg.c:4584 tree-cfg.c:4597 tree-cfg.c:4668
+ #, gcc-internal-format
+ msgid "wrong outgoing edge flags at end of bb %d"
+ msgstr ""
+
+-#: tree-cfg.c:4548
++#: tree-cfg.c:4572
+ #, fuzzy, gcc-internal-format
+ msgid "explicit goto at end of bb %d"
+ msgstr "διπλός οÏισμός συνόλου"
+
+-#: tree-cfg.c:4578
++#: tree-cfg.c:4602
+ #, gcc-internal-format
+ msgid "return edge does not point to exit in bb %d"
+ msgstr ""
+
+-#: tree-cfg.c:4611
++#: tree-cfg.c:4635
+ #, gcc-internal-format
+ msgid "found default case not at end of case vector"
+ msgstr ""
+
+-#: tree-cfg.c:4617
++#: tree-cfg.c:4641
+ #, fuzzy, gcc-internal-format
+ msgid "case labels not sorted: "
+ msgstr "Η λειτουÏγία δεν υποστηÏίζεται"
+
+-#: tree-cfg.c:4628
++#: tree-cfg.c:4652
+ #, gcc-internal-format
+ msgid "no default case found at end of case vector"
+ msgstr ""
+
+-#: tree-cfg.c:4636
++#: tree-cfg.c:4660
+ #, gcc-internal-format
+ msgid "extra outgoing edge %d->%d"
+ msgstr ""
+
+-#: tree-cfg.c:4658
++#: tree-cfg.c:4682
+ #, fuzzy, gcc-internal-format
+ msgid "missing edge %i->%i"
+ msgstr "έχει παÏαληφθεί το αÏχείο Ï€ÏοοÏισμοÏ"
+
+-#: tree-cfg.c:6941 tree-cfg.c:6945
++#: tree-cfg.c:7025 tree-cfg.c:7029
+ #, gcc-internal-format
+ msgid "%H%<noreturn%> function does return"
+ msgstr ""
+
+-#: tree-cfg.c:6967 tree-cfg.c:6972
++#: tree-cfg.c:7051 tree-cfg.c:7056
+ #, fuzzy, gcc-internal-format
+ msgid "%Hcontrol reaches end of non-void function"
+ msgstr "ο έλεγχος φθάνει στο τέλος μη-κενής συνάÏτησης"
+
+-#: tree-cfg.c:7033
++#: tree-cfg.c:7117
+ #, gcc-internal-format
+ msgid "%Jfunction might be possible candidate for attribute %<noreturn%>"
+ msgstr ""
+
+-#: tree-dump.c:933
++#: tree-dump.c:932
+ #, fuzzy, gcc-internal-format
+ msgid "could not open dump file %qs: %s"
+ msgstr "αδυναμία ανοίγματος αÏχείου εξόδου `%s'"
+
+-#: tree-dump.c:1068
++#: tree-dump.c:1067
+ #, fuzzy, gcc-internal-format
+ msgid "ignoring unknown option %q.*s in %<-fdump-%s%>"
+ msgstr "Άγνωστη επιλογή: %s %s %s"
+
+-#: tree-eh.c:1788
++#: tree-eh.c:1805
+ #, fuzzy, gcc-internal-format
+ msgid "EH edge %i->%i is missing"
+ msgstr "έχουν παÏαληφθεί οÏίσματα"
+
+-#: tree-eh.c:1793
++#: tree-eh.c:1810
+ #, gcc-internal-format
+ msgid "EH edge %i->%i miss EH flag"
+ msgstr ""
+
+ #. ??? might not be mistake.
+-#: tree-eh.c:1799
++#: tree-eh.c:1816
+ #, gcc-internal-format
+ msgid "EH edge %i->%i has duplicated regions"
+ msgstr ""
+
+-#: tree-eh.c:1833
++#: tree-eh.c:1850
+ #, gcc-internal-format
+ msgid "BB %i can not throw but has EH edges"
+ msgstr ""
+
+-#: tree-eh.c:1840
++#: tree-eh.c:1857
+ #, gcc-internal-format
+ msgid "BB %i last statement has incorrectly set region"
+ msgstr ""
+
+-#: tree-eh.c:1851
++#: tree-eh.c:1868
+ #, fuzzy, gcc-internal-format
+ msgid "unnecessary EH edge %i->%i"
+ msgstr "έχει παÏαληφθεί το αÏχείο Ï€ÏοοÏισμοÏ"
+
+-#: tree-inline.c:1830
++#: tree-inline.c:1880
+ #, gcc-internal-format
+ msgid "function %q+F can never be inlined because it uses alloca (override using the always_inline attribute)"
+ msgstr ""
+
+-#: tree-inline.c:1842
++#: tree-inline.c:1892
+ #, gcc-internal-format
+ msgid "function %q+F can never be inlined because it uses setjmp"
+ msgstr ""
+
+-#: tree-inline.c:1856
++#: tree-inline.c:1906
+ #, gcc-internal-format
+ msgid "function %q+F can never be inlined because it uses variable argument lists"
+ msgstr ""
+
+-#: tree-inline.c:1867
++#: tree-inline.c:1917
+ #, gcc-internal-format
+ msgid "function %q+F can never be inlined because it uses setjmp-longjmp exception handling"
+ msgstr ""
+
+-#: tree-inline.c:1874
++#: tree-inline.c:1924
+ #, gcc-internal-format
+ msgid "function %q+F can never be inlined because it uses non-local goto"
+ msgstr ""
+
+-#: tree-inline.c:1885
++#: tree-inline.c:1935
+ #, gcc-internal-format
+ msgid "function %q+F can never be inlined because it uses __builtin_return or __builtin_apply_args"
+ msgstr ""
+
+-#: tree-inline.c:1904
++#: tree-inline.c:1954
+ #, gcc-internal-format
+ msgid "function %q+F can never be inlined because it contains a computed goto"
+ msgstr ""
+
+-#: tree-inline.c:1918
++#: tree-inline.c:1968
+ #, gcc-internal-format
+ msgid "function %q+F can never be inlined because it receives a non-local goto"
+ msgstr ""
+
+-#: tree-inline.c:1943
++#: tree-inline.c:1993
+ #, gcc-internal-format
+ msgid "function %q+F can never be inlined because it uses variable sized variables"
+ msgstr ""
+
+-#: tree-inline.c:2005
++#: tree-inline.c:2015
+ #, gcc-internal-format
++msgid "function %q+F can never be inlined because it saves address of local label in a static variable"
++msgstr ""
++
++#: tree-inline.c:2091
++#, gcc-internal-format
+ msgid "function %q+F can never be inlined because it is suppressed using -fno-inline"
+ msgstr ""
+
+-#: tree-inline.c:2019
++#: tree-inline.c:2105
+ #, gcc-internal-format
+ msgid "function %q+F can never be inlined because it uses attributes conflicting with inlining"
+ msgstr ""
+
+-#: tree-inline.c:2588 tree-inline.c:2598
++#: tree-inline.c:2674 tree-inline.c:2684
+ #, gcc-internal-format
+ msgid "inlining failed in call to %q+F: %s"
+ msgstr ""
+
+-#: tree-inline.c:2589 tree-inline.c:2600
++#: tree-inline.c:2675 tree-inline.c:2686
+ #, gcc-internal-format
+ msgid "called from here"
+ msgstr ""
+
+-#: tree-mudflap.c:860
++#: tree-mudflap.c:864
+ #, gcc-internal-format
+ msgid "mudflap checking not yet implemented for ARRAY_RANGE_REF"
+ msgstr ""
+
+-#: tree-mudflap.c:1044
++#: tree-mudflap.c:1050
+ #, gcc-internal-format
+ msgid "mudflap cannot track %qs in stub function"
+ msgstr ""
+
+-#: tree-mudflap.c:1272
++#: tree-mudflap.c:1279
+ #, gcc-internal-format
+ msgid "mudflap cannot track unknown size extern %qs"
+ msgstr ""
+@@ -23960,33 +23956,33 @@
+ msgid "size of return value of %q+D is larger than %wd bytes"
+ msgstr "%s: οι τιμές του πεδίου `%s' δεν Ï€Ïέπει να είναι μεγαλÏτεÏες από %d"
+
+-#: tree-outof-ssa.c:637 tree-outof-ssa.c:688 tree-ssa-coalesce.c:936
+-#: tree-ssa-coalesce.c:951 tree-ssa-coalesce.c:1163 tree-ssa-live.c:1043
++#: tree-outof-ssa.c:638 tree-outof-ssa.c:689 tree-ssa-coalesce.c:936
++#: tree-ssa-coalesce.c:951 tree-ssa-coalesce.c:1163 tree-ssa-live.c:1053
+ #, gcc-internal-format
+ msgid "SSA corruption"
+ msgstr ""
+
+-#: tree-outof-ssa.c:1105
++#: tree-outof-ssa.c:1263
+ #, gcc-internal-format
+ msgid " Pending stmts not issued on PRED edge (%d, %d)\n"
+ msgstr ""
+
+-#: tree-outof-ssa.c:1111
++#: tree-outof-ssa.c:1269
+ #, gcc-internal-format
+ msgid " Pending stmts not issued on SUCC edge (%d, %d)\n"
+ msgstr ""
+
+-#: tree-outof-ssa.c:1118
++#: tree-outof-ssa.c:1276
+ #, gcc-internal-format
+ msgid " Pending stmts not issued on ENTRY edge (%d, %d)\n"
+ msgstr ""
+
+-#: tree-outof-ssa.c:1124
++#: tree-outof-ssa.c:1282
+ #, gcc-internal-format
+ msgid " Pending stmts not issued on EXIT edge (%d, %d)\n"
+ msgstr ""
+
+-#: tree-profile.c:351
++#: tree-profile.c:356
+ #, fuzzy, gcc-internal-format
+ msgid "unimplemented functionality"
+ msgstr "πάÏα πολλά οÏίσματα"
+@@ -24176,154 +24172,159 @@
+ msgid "verify_ssa failed"
+ msgstr ""
+
+-#: tree-ssa.c:1284
++#: tree-ssa.c:1293
+ #, fuzzy, gcc-internal-format
+ msgid "%J%qD was declared here"
+ msgstr "Δεν υπάÏχει Ï€ÏοηγοÏμενη κανονική έκφÏαση"
+
+ #. We only do data flow with SSA_NAMEs, so that's all we
+ #. can warn about.
+-#: tree-ssa.c:1302
++#: tree-ssa.c:1311
+ #, gcc-internal-format
+ msgid "%H%qD is used uninitialized in this function"
+ msgstr ""
+
+-#: tree-ssa.c:1340
++#: tree-ssa.c:1349
+ #, gcc-internal-format
+ msgid "%H%qD may be used uninitialized in this function"
+ msgstr ""
+
+-#: tree-vrp.c:4374
++#: tree-vrp.c:4384
+ #, gcc-internal-format
+ msgid "%Harray subscript is outside array bounds"
+ msgstr ""
+
+-#: tree-vrp.c:4388
++#: tree-vrp.c:4398
+ #, gcc-internal-format
+ msgid "%Harray subscript is above array bounds"
+ msgstr ""
+
+-#: tree-vrp.c:4395
++#: tree-vrp.c:4405
+ #, gcc-internal-format
+ msgid "%Harray subscript is below array bounds"
+ msgstr ""
+
+-#: tree-vrp.c:5042
++#: tree-vrp.c:5058
+ #, gcc-internal-format
+ msgid "assuming signed overflow does not occur when simplifying conditional to constant"
+ msgstr ""
+
+-#: tree-vrp.c:5048
++#: tree-vrp.c:5064
+ #, gcc-internal-format
+ msgid "assuming signed overflow does not occur when simplifying conditional"
+ msgstr ""
+
+-#: tree.c:3951
++#: tree.c:3682
+ #, gcc-internal-format
++msgid "ignoring attributes applied to %qT after definition"
++msgstr ""
++
++#: tree.c:3966
++#, gcc-internal-format
+ msgid "%q+D already declared with dllexport attribute: dllimport ignored"
+ msgstr ""
+
+-#: tree.c:3963
++#: tree.c:3978
+ #, gcc-internal-format
+ msgid "%q+D redeclared without dllimport attribute after being referenced with dll linkage"
+ msgstr ""
+
+-#: tree.c:3979
++#: tree.c:3994
+ #, gcc-internal-format
+ msgid "%q+D redeclared without dllimport attribute: previous dllimport ignored"
+ msgstr ""
+
+-#: tree.c:4038 tree.c:4050 config/darwin.c:1458 config/arm/arm.c:3099
+-#: config/arm/arm.c:3127 config/avr/avr.c:4598 config/h8300/h8300.c:5281
+-#: config/h8300/h8300.c:5305 config/i386/i386.c:3056 config/i386/i386.c:22515
++#: tree.c:4053 tree.c:4065 config/darwin.c:1460 config/arm/arm.c:3099
++#: config/arm/arm.c:3127 config/avr/avr.c:4638 config/h8300/h8300.c:5281
++#: config/h8300/h8300.c:5305 config/i386/i386.c:3087 config/i386/i386.c:22599
+ #: config/ia64/ia64.c:586 config/m68hc11/m68hc11.c:1118
+-#: config/rs6000/rs6000.c:19657 config/sh/symbian.c:408
++#: config/rs6000/rs6000.c:19874 config/sh/symbian.c:408
+ #: config/sh/symbian.c:415
+ #, fuzzy, gcc-internal-format
+ msgid "%qs attribute ignored"
+ msgstr "το `%s' είναι Ï€Ïόγονος του `%s'"
+
+-#: tree.c:4066
++#: tree.c:4081
+ #, gcc-internal-format
+ msgid "inline function %q+D declared as dllimport: attribute ignored"
+ msgstr ""
+
+-#: tree.c:4074
++#: tree.c:4089
+ #, fuzzy, gcc-internal-format
+ msgid "function %q+D definition is marked dllimport"
+ msgstr "μη έγκυÏος αÏιθμός αÏχείου στη δήλωση πεδίου: `%s'"
+
+-#: tree.c:4082 config/sh/symbian.c:430
++#: tree.c:4097 config/sh/symbian.c:430
+ #, gcc-internal-format
+ msgid "variable %q+D definition is marked dllimport"
+ msgstr ""
+
+-#: tree.c:4105 config/sh/symbian.c:505
++#: tree.c:4120 config/sh/symbian.c:505
+ #, gcc-internal-format
+ msgid "external linkage required for symbol %q+D because of %qs attribute"
+ msgstr ""
+
+-#: tree.c:4119
++#: tree.c:4134
+ #, gcc-internal-format
+ msgid "%qs implies default visibility, but %qD has already been declared with a different visibility"
+ msgstr ""
+
+-#: tree.c:5632
++#: tree.c:5648
+ #, gcc-internal-format
+ msgid "arrays of functions are not meaningful"
+ msgstr ""
+
+-#: tree.c:5785
++#: tree.c:5801
+ #, gcc-internal-format
+ msgid "function return type cannot be function"
+ msgstr ""
+
+-#: tree.c:6802 tree.c:6887 tree.c:6948
++#: tree.c:6818 tree.c:6903 tree.c:6964
+ #, gcc-internal-format
+ msgid "tree check: %s, have %s in %s, at %s:%d"
+ msgstr ""
+
+-#: tree.c:6839
++#: tree.c:6855
+ #, gcc-internal-format
+ msgid "tree check: expected none of %s, have %s in %s, at %s:%d"
+ msgstr ""
+
+-#: tree.c:6852
++#: tree.c:6868
+ #, gcc-internal-format
+ msgid "tree check: expected class %qs, have %qs (%s) in %s, at %s:%d"
+ msgstr ""
+
+-#: tree.c:6901
++#: tree.c:6917
+ #, gcc-internal-format
+ msgid "tree check: did not expect class %qs, have %qs (%s) in %s, at %s:%d"
+ msgstr ""
+
+-#: tree.c:6914
++#: tree.c:6930
+ #, gcc-internal-format
+ msgid "tree check: expected omp_clause %s, have %s in %s, at %s:%d"
+ msgstr ""
+
+-#: tree.c:6974
++#: tree.c:6990
+ #, gcc-internal-format
+ msgid "tree check: expected tree that contains %qs structure, have %qs in %s, at %s:%d"
+ msgstr ""
+
+-#: tree.c:6988
++#: tree.c:7004
+ #, gcc-internal-format
+ msgid "tree check: accessed elt %d of tree_vec with %d elts in %s, at %s:%d"
+ msgstr ""
+
+-#: tree.c:7000
++#: tree.c:7016
+ #, gcc-internal-format
+ msgid "tree check: accessed elt %d of phi_node with %d elts in %s, at %s:%d"
+ msgstr ""
+
+-#: tree.c:7013
++#: tree.c:7029
+ #, gcc-internal-format
+ msgid "tree check: accessed operand %d of %s with %d operands in %s, at %s:%d"
+ msgstr ""
+
+-#: tree.c:7026
++#: tree.c:7042
+ #, gcc-internal-format
+ msgid "tree check: accessed operand %d of omp_clause %s with %d operands in %s, at %s:%d"
+ msgstr ""
+@@ -24575,17 +24576,17 @@
+ msgid "Unknown value %qs of -mmacosx-version-min"
+ msgstr ""
+
+-#: config/darwin.c:1431
++#: config/darwin.c:1433
+ #, gcc-internal-format
+ msgid "%<%s%> 2.95 vtable-compatibility attribute applies only when compiling a kext"
+ msgstr ""
+
+-#: config/darwin.c:1438
++#: config/darwin.c:1440
+ #, gcc-internal-format
+ msgid "%<%s%> 2.95 vtable-compatibility attribute applies only to C++ classes"
+ msgstr ""
+
+-#: config/darwin.c:1563
++#: config/darwin.c:1565
+ #, fuzzy, gcc-internal-format
+ msgid "internal and protected visibility attributes not supported in this configuration; ignored"
+ msgstr "Η οικογένεια διευθÏνσεων δεν υποστηÏίζεται από την οικογένεια Ï€Ïωτοκόλλου"
+@@ -24685,7 +24686,7 @@
+ msgid "profiler support for WindISS"
+ msgstr ""
+
+-#: config/alpha/alpha.c:232 config/rs6000/rs6000.c:1990
++#: config/alpha/alpha.c:232 config/rs6000/rs6000.c:2020
+ #, fuzzy, gcc-internal-format
+ msgid "bad value %qs for -mtls-size switch"
+ msgstr "Ακατάλληλη τιμή στο ai_flags"
+@@ -24760,18 +24761,18 @@
+ msgid "bad value %qs for -mmemory-latency"
+ msgstr "Ακατάλληλη τιμή στο ai_flags"
+
+-#: config/alpha/alpha.c:6514 config/alpha/alpha.c:6517 config/s390/s390.c:8279
+-#: config/s390/s390.c:8282
++#: config/alpha/alpha.c:6522 config/alpha/alpha.c:6525 config/s390/s390.c:8335
++#: config/s390/s390.c:8338
+ #, gcc-internal-format
+ msgid "bad builtin fcode"
+ msgstr ""
+
+-#: config/arc/arc.c:388
++#: config/arc/arc.c:392
+ #, fuzzy, gcc-internal-format
+ msgid "argument of %qs attribute is not a string constant"
+ msgstr "Η παÏάμετÏος στο `%s' Ï€Ïέπει να είναι ένας απλός χαÏακτήÏας"
+
+-#: config/arc/arc.c:396
++#: config/arc/arc.c:400
+ #, fuzzy, gcc-internal-format
+ msgid "argument of %qs attribute is not \"ilink1\" or \"ilink2\""
+ msgstr "Η παÏάμετÏος στο `%s' Ï€Ïέπει να είναι ένας απλός χαÏακτήÏας"
+@@ -24781,7 +24782,7 @@
+ msgid "switch -mcpu=%s conflicts with -march= switch"
+ msgstr ""
+
+-#: config/arm/arm.c:1060 config/rs6000/rs6000.c:1504 config/sparc/sparc.c:761
++#: config/arm/arm.c:1060 config/rs6000/rs6000.c:1522 config/sparc/sparc.c:764
+ #, gcc-internal-format
+ msgid "bad value (%s) for %s switch"
+ msgstr ""
+@@ -24921,14 +24922,13 @@
+ msgid "unable to use '%s' for PIC register"
+ msgstr ""
+
+-#: config/arm/arm.c:3067 config/arm/arm.c:3085 config/avr/avr.c:4618
+-#: config/avr/avr.c:4660 config/bfin/bfin.c:4778 config/c4x/c4x.c:4071
+-#: config/h8300/h8300.c:5257 config/i386/i386.c:3009
+-#: config/m68hc11/m68hc11.c:1155 config/m68k/m68k.c:741
+-#: config/mcore/mcore.c:3032 config/mips/mips.c:1151 config/mips/mips.c:1153
+-#: config/mt/mt.c:1275 config/rs6000/rs6000.c:19583 config/sh/sh.c:7984
+-#: config/sh/sh.c:8005 config/sh/sh.c:8028 config/stormy16/stormy16.c:2252
+-#: config/v850/v850.c:2048
++#: config/arm/arm.c:3067 config/arm/arm.c:3085 config/avr/avr.c:4658
++#: config/avr/avr.c:4700 config/bfin/bfin.c:4881 config/h8300/h8300.c:5257
++#: config/i386/i386.c:3040 config/m68hc11/m68hc11.c:1155
++#: config/m68k/m68k.c:741 config/mcore/mcore.c:3032 config/mips/mips.c:1151
++#: config/mips/mips.c:1153 config/mt/mt.c:1275 config/rs6000/rs6000.c:19800
++#: config/sh/sh.c:7987 config/sh/sh.c:8008 config/sh/sh.c:8031
++#: config/stormy16/stormy16.c:2225 config/v850/v850.c:2048
+ #, gcc-internal-format
+ msgid "%qs attribute only applies to functions"
+ msgstr ""
+@@ -24950,7 +24950,7 @@
+ msgstr "η τιμή για το %s Ï€Ïέπει να είναι ακέÏαιος"
+
+ #. @@@ better error message
+-#: config/arm/arm.c:15839 config/i386/i386.c:20651 config/i386/i386.c:20685
++#: config/arm/arm.c:15839 config/i386/i386.c:20735 config/i386/i386.c:20769
+ #, fuzzy, gcc-internal-format
+ msgid "mask must be an immediate"
+ msgstr "η τιμή για το %s Ï€Ïέπει να είναι ακέÏαιος"
+@@ -24977,224 +24977,189 @@
+ msgid "static variable %q+D is marked dllimport"
+ msgstr "%s: το αÏχείο είναι Ï€Î¿Î»Ï Î¼ÎµÎ³Î¬Î»Î¿"
+
+-#: config/avr/avr.c:690
++#: config/avr/avr.c:718
+ #, gcc-internal-format
+ msgid "large frame pointer change (%d) with -mtiny-stack"
+ msgstr ""
+
+-#: config/avr/avr.c:4591
++#: config/avr/avr.c:4631
+ #, gcc-internal-format
+ msgid "only initialized variables can be placed into program memory area"
+ msgstr ""
+
+-#: config/avr/avr.c:4635
++#: config/avr/avr.c:4675
+ #, gcc-internal-format
+ msgid "%qs appears to be a misspelled interrupt handler"
+ msgstr ""
+
+-#: config/avr/avr.c:4643
++#: config/avr/avr.c:4683
+ #, gcc-internal-format
+ msgid "%qs appears to be a misspelled signal handler"
+ msgstr ""
+
+-#: config/avr/avr.c:4751
++#: config/avr/avr.c:4791
+ #, gcc-internal-format
+ msgid "only uninitialized variables can be placed in the .noinit section"
+ msgstr ""
+
+-#: config/avr/avr.c:4765
++#: config/avr/avr.c:4805
+ #, gcc-internal-format
+ msgid "MCU %qs supported for assembler only"
+ msgstr ""
+
+-#: config/avr/avr.h:692
++#: config/avr/avr.h:731
+ #, fuzzy, gcc-internal-format
+ msgid "trampolines not supported"
+ msgstr "Η λειτουÏγία δεν υποστηÏίζεται"
+
+-#: config/bfin/bfin.c:2259 config/m68k/m68k.c:488
++#: config/bfin/bfin.c:2352 config/m68k/m68k.c:488
+ #, gcc-internal-format
+ msgid "-mshared-library-id=%s is not between 0 and %d"
+ msgstr ""
+
+-#: config/bfin/bfin.c:2279
++#: config/bfin/bfin.c:2372
+ #, gcc-internal-format
+ msgid "-mcpu=%s is not valid"
+ msgstr ""
+
+-#: config/bfin/bfin.c:2315
++#: config/bfin/bfin.c:2410
+ #, gcc-internal-format
+ msgid "-mcpu=%s has invalid silicon revision"
+ msgstr ""
+
+-#: config/bfin/bfin.c:2332
++#: config/bfin/bfin.c:2427
+ #, fuzzy, gcc-internal-format
+ msgid "bf561 support is incomplete yet."
+ msgstr "μη πλήÏης εγγÏαφή"
+
+-#: config/bfin/bfin.c:2372
++#: config/bfin/bfin.c:2470
+ #, gcc-internal-format
+ msgid "-mshared-library-id= specified without -mid-shared-library"
+ msgstr ""
+
+-#: config/bfin/bfin.c:2378
++#: config/bfin/bfin.c:2473
+ #, gcc-internal-format
+ msgid "Can't use multiple stack checking methods together."
+ msgstr ""
+
+-#: config/bfin/bfin.c:2381
++#: config/bfin/bfin.c:2476
+ #, gcc-internal-format
+ msgid "ID shared libraries and FD-PIC mode can't be used together."
+ msgstr ""
+
+-#: config/bfin/bfin.c:2386 config/m68k/m68k.c:582
++#: config/bfin/bfin.c:2481 config/m68k/m68k.c:582
+ #, fuzzy, gcc-internal-format
+ msgid "cannot specify both -msep-data and -mid-shared-library"
+ msgstr "δεν είναι δυνατό να παÏαληφθεί ο χÏήστης και η ομάδα"
+
+-#: config/bfin/bfin.c:4783
++#: config/bfin/bfin.c:4886
+ #, gcc-internal-format
+ msgid "multiple function type attributes specified"
+ msgstr ""
+
+-#: config/bfin/bfin.c:4839 config/bfin/bfin.c:4868 config/spu/spu.c:2976
++#: config/bfin/bfin.c:4942 config/bfin/bfin.c:4971 config/spu/spu.c:2965
+ #, fuzzy, gcc-internal-format
+ msgid "`%s' attribute only applies to functions"
+ msgstr "Ï€Ïοειδοποίηση: το --pid=PID δεν υποστηÏίζεται σε αυτό το σÏστημα"
+
+-#: config/bfin/bfin.c:4850
++#: config/bfin/bfin.c:4953
+ #, gcc-internal-format
+ msgid "can't apply both longcall and shortcall attributes to the same function"
+ msgstr ""
+
+-#: config/bfin/bfin.c:4900
++#: config/bfin/bfin.c:5003
+ #, fuzzy, gcc-internal-format
+ msgid "`%s' attribute only applies to variables"
+ msgstr "Ï€Ïοειδοποίηση: το --pid=PID δεν υποστηÏίζεται σε αυτό το σÏστημα"
+
+-#: config/bfin/bfin.c:4907
++#: config/bfin/bfin.c:5010
+ #, fuzzy, gcc-internal-format
+ msgid "`%s' attribute cannot be specified for local variables"
+ msgstr "συμβολικοί σÏνδεσμοι δεν υποστηÏίζονται στο σÏστημα αυτό"
+
+-#: config/c4x/c4x-c.c:68
+-#, gcc-internal-format
+-msgid "missing '(' after '#pragma %s' - ignored"
+-msgstr ""
+-
+-#: config/c4x/c4x-c.c:71
+-#, gcc-internal-format
+-msgid "missing function name in '#pragma %s' - ignored"
+-msgstr ""
+-
+-#: config/c4x/c4x-c.c:76
+-#, fuzzy, gcc-internal-format
+-msgid "malformed '#pragma %s' - ignored"
+-msgstr "κακοδιαμοÏφωμένη γÏαμμή αγνοήθηκε"
+-
+-#: config/c4x/c4x-c.c:78
+-#, gcc-internal-format
+-msgid "missing section name in '#pragma %s' - ignored"
+-msgstr ""
+-
+-#: config/c4x/c4x-c.c:83
+-#, gcc-internal-format
+-msgid "missing ')' for '#pragma %s' - ignored"
+-msgstr ""
+-
+-#: config/c4x/c4x-c.c:86
+-#, gcc-internal-format
+-msgid "junk at end of '#pragma %s'"
+-msgstr ""
+-
+-#: config/c4x/c4x.c:859
+-#, gcc-internal-format
+-msgid "ISR %s requires %d words of local vars, max is 32767"
+-msgstr ""
+-
+ #. This function is for retrieving a part of an instruction name for
+ #. an operator, for immediate output. If that ever happens for
+ #. MULT, we need to apply TARGET_MUL_BUG in the caller. Make sure
+ #. we notice.
+-#: config/cris/cris.c:434
++#: config/cris/cris.c:447
+ #, gcc-internal-format
+ msgid "MULT case in cris_op_str"
+ msgstr ""
+
+-#: config/cris/cris.c:811
++#: config/cris/cris.c:837
+ #, fuzzy, gcc-internal-format
+ msgid "invalid use of ':' modifier"
+ msgstr "Μη έγκυÏη επιλογή `%s'"
+
+-#: config/cris/cris.c:983
++#: config/cris/cris.c:1024
+ #, fuzzy, gcc-internal-format
+ msgid "internal error: bad register: %d"
+ msgstr "εσωτεÏικό σφάλμα στο %s, γÏαμμή %u"
+
+-#: config/cris/cris.c:1524
++#: config/cris/cris.c:1586
+ #, gcc-internal-format
+ msgid "internal error: sideeffect-insn affecting main effect"
+ msgstr ""
+
+-#: config/cris/cris.c:1548
++#: config/cris/cris.c:1683
+ #, fuzzy, gcc-internal-format
+ msgid "unknown cc_attr value"
+ msgstr "Δεν είναι δυνατόν να βÏεθεί ο Ï„Ïπος του επεξεÏγαστή."
+
+ #. If we get here, the caller got its initial tests wrong.
+-#: config/cris/cris.c:1901
++#: config/cris/cris.c:2040
+ #, gcc-internal-format
+ msgid "internal error: cris_side_effect_mode_ok with bad operands"
+ msgstr ""
+
+-#: config/cris/cris.c:2104
++#: config/cris/cris.c:2332
+ #, gcc-internal-format
+ msgid "-max-stackframe=%d is not usable, not between 0 and %d"
+ msgstr ""
+
+-#: config/cris/cris.c:2132
++#: config/cris/cris.c:2360
+ #, gcc-internal-format
+ msgid "unknown CRIS version specification in -march= or -mcpu= : %s"
+ msgstr ""
+
+-#: config/cris/cris.c:2168
++#: config/cris/cris.c:2396
+ #, fuzzy, gcc-internal-format
+ msgid "unknown CRIS cpu version specification in -mtune= : %s"
+ msgstr "πάÏα πολλές δηλώσεις μετατÏοπής στην κατάληξη"
+
+-#: config/cris/cris.c:2186
++#: config/cris/cris.c:2417
+ #, fuzzy, gcc-internal-format
+ msgid "-fPIC and -fpic are not supported in this configuration"
+ msgstr "Η οικογένεια διευθÏνσεων δεν υποστηÏίζεται από την οικογένεια Ï€Ïωτοκόλλου"
+
+-#: config/cris/cris.c:2201
++#: config/cris/cris.c:2432
+ #, gcc-internal-format
+ msgid "that particular -g option is invalid with -maout and -melinux"
+ msgstr ""
+
+ # src/grep.c:1133
+-#: config/cris/cris.c:2414
++#: config/cris/cris.c:2658
+ #, fuzzy, gcc-internal-format
+ msgid "Unknown src"
+ msgstr "άγνωστη μέθοδος καταλόγων"
+
+ # src/grep.c:1133
+-#: config/cris/cris.c:2475
++#: config/cris/cris.c:2719
+ #, fuzzy, gcc-internal-format
+ msgid "Unknown dest"
+ msgstr "άγνωστη μέθοδος καταλόγων"
+
+-#: config/cris/cris.c:2760
++#: config/cris/cris.c:3004
+ #, gcc-internal-format
+ msgid "stackframe too big: %d bytes"
+ msgstr ""
+
+-#: config/cris/cris.c:3213 config/cris/cris.c:3240
++#: config/cris/cris.c:3498 config/cris/cris.c:3526
+ #, gcc-internal-format
+ msgid "expand_binop failed in movsi got"
+ msgstr ""
+
+-#: config/cris/cris.c:3321
++#: config/cris/cris.c:3607
+ #, gcc-internal-format
+ msgid "emitting PIC operand, but PIC register isn't set up"
+ msgstr ""
+@@ -25248,7 +25213,7 @@
+ #. See cris.c for TARGET_ASM_FUNCTION_PROLOGUE and
+ #. TARGET_ASM_FUNCTION_EPILOGUE.
+ #. Node: Profiling
+-#: config/cris/cris.h:868
++#: config/cris/cris.h:948
+ #, gcc-internal-format
+ msgid "no FUNCTION_PROFILER for CRIS"
+ msgstr ""
+@@ -25263,62 +25228,62 @@
+ msgid "Trampoline support for CRX"
+ msgstr "Η λειτουÏγία δεν υποστηÏίζεται"
+
+-#: config/frv/frv.c:8622
++#: config/frv/frv.c:8626
+ #, fuzzy, gcc-internal-format
+ msgid "accumulator is not a constant integer"
+ msgstr "%s' δεν είναι ισχÏων θετικός ακέÏαιος."
+
+-#: config/frv/frv.c:8627
++#: config/frv/frv.c:8631
+ #, gcc-internal-format
+ msgid "accumulator number is out of bounds"
+ msgstr ""
+
+-#: config/frv/frv.c:8638
++#: config/frv/frv.c:8642
+ #, gcc-internal-format
+ msgid "inappropriate accumulator for %qs"
+ msgstr ""
+
+-#: config/frv/frv.c:8715
++#: config/frv/frv.c:8719
+ #, fuzzy, gcc-internal-format
+ msgid "invalid IACC argument"
+ msgstr "Μη έγκυÏη παÏάμετÏος"
+
+-#: config/frv/frv.c:8738
++#: config/frv/frv.c:8742
+ #, gcc-internal-format
+ msgid "%qs expects a constant argument"
+ msgstr ""
+
+-#: config/frv/frv.c:8743
++#: config/frv/frv.c:8747
+ #, fuzzy, gcc-internal-format
+ msgid "constant argument out of range for %qs"
+ msgstr "Ο αÏιθμός σÏνδεσμου είναι έξω από το ÏŒÏιο"
+
+-#: config/frv/frv.c:9224
++#: config/frv/frv.c:9228
+ #, gcc-internal-format
+ msgid "media functions are not available unless -mmedia is used"
+ msgstr ""
+
+-#: config/frv/frv.c:9236
++#: config/frv/frv.c:9240
+ #, gcc-internal-format
+ msgid "this media function is only available on the fr500"
+ msgstr ""
+
+-#: config/frv/frv.c:9264
++#: config/frv/frv.c:9268
+ #, gcc-internal-format
+ msgid "this media function is only available on the fr400 and fr550"
+ msgstr ""
+
+-#: config/frv/frv.c:9283
++#: config/frv/frv.c:9287
+ #, gcc-internal-format
+ msgid "this builtin function is only available on the fr405 and fr450"
+ msgstr ""
+
+-#: config/frv/frv.c:9292
++#: config/frv/frv.c:9296
+ #, gcc-internal-format
+ msgid "this builtin function is only available on the fr500 and fr550"
+ msgstr ""
+
+-#: config/frv/frv.c:9304
++#: config/frv/frv.c:9308
+ #, gcc-internal-format
+ msgid "this builtin function is only available on the fr450"
+ msgstr ""
+@@ -25343,311 +25308,316 @@
+ msgid "can't set position in PCH file: %m"
+ msgstr "αδυναμία ανοίγματος αÏχείου οÏÎ¹ÏƒÎ¼Î¿Ï locale `%s'"
+
+-#: config/i386/i386.c:2133 config/i386/i386.c:2333
++#: config/i386/i386.c:2158 config/i386/i386.c:2358
+ #, gcc-internal-format
+ msgid "bad value (%s) for -mtune= switch"
+ msgstr ""
+
+-#: config/i386/i386.c:2174
++#: config/i386/i386.c:2199
+ #, fuzzy, gcc-internal-format
+ msgid "bad value (%s) for -mstringop-strategy= switch"
+ msgstr "Ακατάλληλη τιμή στο ai_flags"
+
+-#: config/i386/i386.c:2177
++#: config/i386/i386.c:2202
+ #, gcc-internal-format
+ msgid "-mtune=x86-64 is deprecated. Use -mtune=k8 or -mtune=generic instead as appropriate."
+ msgstr ""
+
+-#: config/i386/i386.c:2186
++#: config/i386/i386.c:2211
+ #, gcc-internal-format
+ msgid "generic CPU can be used only for -mtune= switch"
+ msgstr ""
+
+-#: config/i386/i386.c:2188 config/i386/i386.c:2297 config/mt/mt.c:804
++#: config/i386/i386.c:2213 config/i386/i386.c:2322 config/mt/mt.c:804
+ #, gcc-internal-format
+ msgid "bad value (%s) for -march= switch"
+ msgstr ""
+
+-#: config/i386/i386.c:2199
++#: config/i386/i386.c:2224
+ #, fuzzy, gcc-internal-format
+ msgid "code model %s does not support PIC mode"
+ msgstr "συμβολικοί σÏνδεσμοι δεν υποστηÏίζονται στο σÏστημα αυτό"
+
+-#: config/i386/i386.c:2205 config/sparc/sparc.c:725
++#: config/i386/i386.c:2230 config/sparc/sparc.c:728
+ #, gcc-internal-format
+ msgid "bad value (%s) for -mcmodel= switch"
+ msgstr ""
+
+-#: config/i386/i386.c:2228
++#: config/i386/i386.c:2253
+ #, gcc-internal-format
+ msgid "bad value (%s) for -masm= switch"
+ msgstr ""
+
+-#: config/i386/i386.c:2231
++#: config/i386/i386.c:2256
+ #, fuzzy, gcc-internal-format
+ msgid "code model %qs not supported in the %s bit mode"
+ msgstr "συμβολικοί σÏνδεσμοι δεν υποστηÏίζονται στο σÏστημα αυτό"
+
+-#: config/i386/i386.c:2234
++#: config/i386/i386.c:2259
+ #, fuzzy, gcc-internal-format
+ msgid "%i-bit mode not compiled in"
+ msgstr "%s: η υποστήÏιξη εκσφαλμάτωσης δεν έχει συμπεÏιληφθεί στη μεταγλώττιση.\n"
+
+-#: config/i386/i386.c:2245 config/i386/i386.c:2319
++#: config/i386/i386.c:2270 config/i386/i386.c:2344
+ #, gcc-internal-format
+ msgid "CPU you selected does not support x86-64 instruction set"
+ msgstr ""
+
+-#: config/i386/i386.c:2351
++#: config/i386/i386.c:2376
+ #, gcc-internal-format
+ msgid "-mregparm is ignored in 64-bit mode"
+ msgstr ""
+
+-#: config/i386/i386.c:2354
++#: config/i386/i386.c:2379
+ #, gcc-internal-format
+ msgid "-mregparm=%d is not between 0 and %d"
+ msgstr ""
+
+-#: config/i386/i386.c:2366
++#: config/i386/i386.c:2391
+ #, gcc-internal-format
+ msgid "-malign-loops is obsolete, use -falign-loops"
+ msgstr ""
+
+-#: config/i386/i386.c:2371 config/i386/i386.c:2384 config/i386/i386.c:2397
++#: config/i386/i386.c:2396 config/i386/i386.c:2409 config/i386/i386.c:2422
+ #, gcc-internal-format
+ msgid "-malign-loops=%d is not between 0 and %d"
+ msgstr ""
+
+-#: config/i386/i386.c:2379
++#: config/i386/i386.c:2404
+ #, gcc-internal-format
+ msgid "-malign-jumps is obsolete, use -falign-jumps"
+ msgstr ""
+
+-#: config/i386/i386.c:2392
++#: config/i386/i386.c:2417
+ #, gcc-internal-format
+ msgid "-malign-functions is obsolete, use -falign-functions"
+ msgstr ""
+
+-#: config/i386/i386.c:2425
++#: config/i386/i386.c:2450
+ #, gcc-internal-format
+ msgid "-mbranch-cost=%d is not between 0 and 5"
+ msgstr ""
+
+-#: config/i386/i386.c:2433
++#: config/i386/i386.c:2458
+ #, gcc-internal-format
+ msgid "-mlarge-data-threshold=%d is negative"
+ msgstr ""
+
+-#: config/i386/i386.c:2447
++#: config/i386/i386.c:2472
+ #, fuzzy, gcc-internal-format
+ msgid "bad value (%s) for -mtls-dialect= switch"
+ msgstr "Ακατάλληλη τιμή στο ai_flags"
+
+-#: config/i386/i386.c:2455
++#: config/i386/i386.c:2480
+ #, gcc-internal-format
+ msgid "pc%d is not valid precision setting (32, 64 or 80)"
+ msgstr ""
+
+-#: config/i386/i386.c:2471
++#: config/i386/i386.c:2496
+ #, gcc-internal-format
+ msgid "-mrtd is ignored in 64bit mode"
+ msgstr ""
+
+-#: config/i386/i386.c:2560
++#: config/i386/i386.c:2585
+ #, gcc-internal-format
+ msgid "-mpreferred-stack-boundary=%d is not between %d and 12"
+ msgstr ""
+
+-#: config/i386/i386.c:2569
++#: config/i386/i386.c:2594
+ #, gcc-internal-format
+ msgid "-msseregparm used without SSE enabled"
+ msgstr ""
+
+-#: config/i386/i386.c:2580 config/i386/i386.c:2591
++#: config/i386/i386.c:2605 config/i386/i386.c:2616
+ #, gcc-internal-format
+ msgid "SSE instruction set disabled, using 387 arithmetics"
+ msgstr ""
+
+-#: config/i386/i386.c:2596
++#: config/i386/i386.c:2621
+ #, gcc-internal-format
+ msgid "387 instruction set disabled, using SSE arithmetics"
+ msgstr ""
+
+-#: config/i386/i386.c:2603
++#: config/i386/i386.c:2628
+ #, gcc-internal-format
+ msgid "bad value (%s) for -mfpmath= switch"
+ msgstr ""
+
+-#: config/i386/i386.c:2616
++#: config/i386/i386.c:2641
+ #, gcc-internal-format
+ msgid "unknown vectorization library ABI type (%s) for -mveclibabi= switch"
+ msgstr ""
+
+-#: config/i386/i386.c:2635
++#: config/i386/i386.c:2660
+ #, gcc-internal-format
+ msgid "unwind tables currently require either a frame pointer or -maccumulate-outgoing-args for correctness"
+ msgstr ""
+
+-#: config/i386/i386.c:3022 config/i386/i386.c:3075
++#: config/i386/i386.c:3053 config/i386/i386.c:3106
+ #, gcc-internal-format
+ msgid "fastcall and regparm attributes are not compatible"
+ msgstr ""
+
+-#: config/i386/i386.c:3029
++#: config/i386/i386.c:3060
+ #, fuzzy, gcc-internal-format
+ msgid "%qs attribute requires an integer constant argument"
+ msgstr "μη τεÏματιζμένο αλφαÏιθμητικό σταθεÏάς"
+
+-#: config/i386/i386.c:3035
++#: config/i386/i386.c:3066
+ #, fuzzy, gcc-internal-format
+ msgid "argument to %qs attribute larger than %d"
+ msgstr "%s: οι τιμές του πεδίου `%s' δεν Ï€Ïέπει να είναι μεγαλÏτεÏες από %d"
+
+-#: config/i386/i386.c:3045
++#: config/i386/i386.c:3076
+ #, gcc-internal-format
+ msgid "%s functions limited to %d register parameters"
+ msgstr ""
+
+-#: config/i386/i386.c:3067 config/i386/i386.c:3102
++#: config/i386/i386.c:3098 config/i386/i386.c:3133
+ #, gcc-internal-format
+ msgid "fastcall and cdecl attributes are not compatible"
+ msgstr ""
+
+-#: config/i386/i386.c:3071
++#: config/i386/i386.c:3102
+ #, gcc-internal-format
+ msgid "fastcall and stdcall attributes are not compatible"
+ msgstr ""
+
+-#: config/i386/i386.c:3085 config/i386/i386.c:3098
++#: config/i386/i386.c:3116 config/i386/i386.c:3129
+ #, gcc-internal-format
+ msgid "stdcall and cdecl attributes are not compatible"
+ msgstr ""
+
+-#: config/i386/i386.c:3089
++#: config/i386/i386.c:3120
+ #, gcc-internal-format
+ msgid "stdcall and fastcall attributes are not compatible"
+ msgstr ""
+
+-#: config/i386/i386.c:3236
++#: config/i386/i386.c:3271
+ #, gcc-internal-format
+ msgid "Calling %qD with attribute sseregparm without SSE/SSE2 enabled"
+ msgstr ""
+
+-#: config/i386/i386.c:3239
++#: config/i386/i386.c:3274
+ #, gcc-internal-format
+ msgid "Calling %qT with attribute sseregparm without SSE/SSE2 enabled"
+ msgstr ""
+
+-#: config/i386/i386.c:3925
++#: config/i386/i386.c:3971
+ #, gcc-internal-format
+ msgid "SSE register return with SSE disabled"
+ msgstr ""
+
+-#: config/i386/i386.c:3931
++#: config/i386/i386.c:3977
+ #, gcc-internal-format
+ msgid "SSE register argument with SSE disabled"
+ msgstr ""
+
+-#: config/i386/i386.c:3947
++#: config/i386/i386.c:3993
+ #, gcc-internal-format
+ msgid "x87 register return with x87 disabled"
+ msgstr ""
+
+-#: config/i386/i386.c:4265
++#: config/i386/i386.c:4314
+ #, gcc-internal-format
+ msgid "SSE vector argument without SSE enabled changes the ABI"
+ msgstr ""
+
+-#: config/i386/i386.c:4283
++#: config/i386/i386.c:4332
+ #, gcc-internal-format
+ msgid "MMX vector argument without MMX enabled changes the ABI"
+ msgstr ""
+
+-#: config/i386/i386.c:4810
++#: config/i386/i386.c:4859
+ #, gcc-internal-format
+ msgid "SSE vector return without SSE enabled changes the ABI"
+ msgstr ""
+
+-#: config/i386/i386.c:4820
++#: config/i386/i386.c:4869
+ #, gcc-internal-format
+ msgid "MMX vector return without MMX enabled changes the ABI"
+ msgstr ""
+
+-#: config/i386/i386.c:6171
++#: config/i386/i386.c:6220
+ #, gcc-internal-format
+ msgid "-mstackrealign ignored for nested functions"
+ msgstr ""
+
+-#: config/i386/i386.c:6173
++#: config/i386/i386.c:6222
+ #, fuzzy, gcc-internal-format
+ msgid "%s not supported for nested functions"
+ msgstr "Η οικογένεια διευθÏνσεων δεν υποστηÏίζεται από την οικογένεια Ï€Ïωτοκόλλου"
+
+-#: config/i386/i386.c:8576
++#: config/i386/i386.c:8631
+ #, gcc-internal-format
+ msgid "extended registers have no high halves"
+ msgstr ""
+
+-#: config/i386/i386.c:8591
++#: config/i386/i386.c:8646
+ #, gcc-internal-format
+ msgid "unsupported operand size for extended register"
+ msgstr ""
+
+-#: config/i386/i386.c:19610
++#: config/i386/i386.c:19694
+ #, fuzzy, gcc-internal-format
+ msgid "the third argument must be a 4-bit immediate"
+ msgstr "Η παÏάμετÏος στο `%s' Ï€Ïέπει να είναι ένας απλός χαÏακτήÏας"
+
+-#: config/i386/i386.c:19614
++#: config/i386/i386.c:19698
+ #, fuzzy, gcc-internal-format
+ msgid "the third argument must be an 8-bit immediate"
+ msgstr "Η παÏάμετÏος στο `%s' Ï€Ïέπει να είναι ένας απλός χαÏακτήÏας"
+
+-#: config/i386/i386.c:19836
++#: config/i386/i386.c:19920
+ #, fuzzy, gcc-internal-format
+ msgid "last argument must be an immediate"
+ msgstr "η τιμή για το %s Ï€Ïέπει να είναι ακέÏαιος"
+
+-#: config/i386/i386.c:19963
++#: config/i386/i386.c:20047
+ #, fuzzy, gcc-internal-format
+ msgid "the second argument must be a 4-bit immediate"
+ msgstr "Η παÏάμετÏος στο `%s' Ï€Ïέπει να είναι ένας απλός χαÏακτήÏας"
+
+-#: config/i386/i386.c:20209
++#: config/i386/i386.c:20293
+ #, fuzzy, gcc-internal-format
+ msgid "the fifth argument must be a 8-bit immediate"
+ msgstr "Η παÏάμετÏος στο `%s' Ï€Ïέπει να είναι ένας απλός χαÏακτήÏας"
+
+-#: config/i386/i386.c:20304
++#: config/i386/i386.c:20388
+ #, fuzzy, gcc-internal-format
+ msgid "the third argument must be a 8-bit immediate"
+ msgstr "Η παÏάμετÏος στο `%s' Ï€Ïέπει να είναι ένας απλός χαÏακτήÏας"
+
+-#: config/i386/i386.c:20374 config/rs6000/rs6000.c:8133
++#: config/i386/i386.c:20458 config/rs6000/rs6000.c:8240
+ #, fuzzy, gcc-internal-format
+ msgid "selector must be an integer constant in the range 0..%wi"
+ msgstr "η τιμή για το %s Ï€Ïέπει να είναι ακέÏαιος"
+
+-#: config/i386/i386.c:20774 config/i386/i386.c:20970
++#: config/i386/i386.c:20858 config/i386/i386.c:21054
+ #, fuzzy, gcc-internal-format
+ msgid "shift must be an immediate"
+ msgstr "η τιμή για το %s Ï€Ïέπει να είναι ακέÏαιος"
+
+-#: config/i386/i386.c:21033 config/i386/i386.c:21075
++#: config/i386/i386.c:21117 config/i386/i386.c:21159
+ #, fuzzy, gcc-internal-format
+ msgid "index mask must be an immediate"
+ msgstr "η τιμή για το %s Ï€Ïέπει να είναι ακέÏαιος"
+
+-#: config/i386/i386.c:21038 config/i386/i386.c:21080
++#: config/i386/i386.c:21122 config/i386/i386.c:21164
+ #, fuzzy, gcc-internal-format
+ msgid "length mask must be an immediate"
+ msgstr "η τιμή για το %s Ï€Ïέπει να είναι ακέÏαιος"
+
+-#: config/i386/i386.c:22525 config/rs6000/rs6000.c:19666
++#: config/i386/i386.c:22609 config/rs6000/rs6000.c:19883
+ #, fuzzy, gcc-internal-format
+ msgid "%qs incompatible attribute ignored"
+ msgstr "μη έγκυÏο δικαίωμα"
+
++#: config/i386/netware.c:253
++#, fuzzy, gcc-internal-format
++msgid "-fPIC and -fpic are not supported for this target"
++msgstr "Η οικογένεια διευθÏνσεων δεν υποστηÏίζεται από την οικογένεια Ï€Ïωτοκόλλου"
++
+ #: config/i386/winnt-cxx.c:71 config/sh/symbian.c:172
+ #, gcc-internal-format
+ msgid "definition of static data member %q+D of dllimport'd class"
+@@ -25715,57 +25685,57 @@
+ msgid "%Jaddress area attribute cannot be specified for functions"
+ msgstr ""
+
+-#: config/ia64/ia64.c:5126 config/pa/pa.c:347 config/spu/spu.c:3875
++#: config/ia64/ia64.c:5127 config/pa/pa.c:350 config/spu/spu.c:3864
+ #, gcc-internal-format
+ msgid "value of -mfixed-range must have form REG1-REG2"
+ msgstr ""
+
+-#: config/ia64/ia64.c:5153 config/pa/pa.c:374 config/spu/spu.c:3901
++#: config/ia64/ia64.c:5154 config/pa/pa.c:377 config/spu/spu.c:3890
+ #, gcc-internal-format
+ msgid "%s-%s is an empty range"
+ msgstr ""
+
+-#: config/ia64/ia64.c:5181
++#: config/ia64/ia64.c:5182
+ #, fuzzy, gcc-internal-format
+ msgid "bad value %<%s%> for -mtls-size= switch"
+ msgstr "Ακατάλληλη τιμή στο ai_flags"
+
+-#: config/ia64/ia64.c:5209
++#: config/ia64/ia64.c:5210
+ #, fuzzy, gcc-internal-format
+ msgid "bad value %<%s%> for -mtune= switch"
+ msgstr "Ακατάλληλη τιμή στο ai_flags"
+
+-#: config/ia64/ia64.c:5228
++#: config/ia64/ia64.c:5229
+ #, gcc-internal-format
+ msgid "not yet implemented: latency-optimized inline square root"
+ msgstr ""
+
+-#: config/ia64/ia64.c:9950
++#: config/ia64/ia64.c:9951
+ #, fuzzy, gcc-internal-format
+ msgid "version attribute is not a string"
+ msgstr "Η παÏάμετÏος στο `%s' Ï€Ïέπει να είναι ένας απλός χαÏακτήÏας"
+
+-#: config/iq2000/iq2000.c:1812
++#: config/iq2000/iq2000.c:1816
+ #, gcc-internal-format
+ msgid "gp_offset (%ld) or end_offset (%ld) is less than zero"
+ msgstr ""
+
+-#: config/iq2000/iq2000.c:2583
++#: config/iq2000/iq2000.c:2587
+ #, fuzzy, gcc-internal-format
+ msgid "argument %qd is not a constant"
+ msgstr "Η παÏάμετÏος στο `%s' Ï€Ïέπει να είναι ένας απλός χαÏακτήÏας"
+
+-#: config/iq2000/iq2000.c:2885 config/mt/mt.c:349 config/xtensa/xtensa.c:2118
++#: config/iq2000/iq2000.c:2889 config/mt/mt.c:349 config/xtensa/xtensa.c:2124
+ #, gcc-internal-format
+ msgid "PRINT_OPERAND_ADDRESS, null pointer"
+ msgstr ""
+
+-#: config/iq2000/iq2000.c:3040
++#: config/iq2000/iq2000.c:3044
+ #, gcc-internal-format
+ msgid "PRINT_OPERAND: Unknown punctuation '%c'"
+ msgstr ""
+
+-#: config/iq2000/iq2000.c:3049 config/xtensa/xtensa.c:1972
++#: config/iq2000/iq2000.c:3053 config/xtensa/xtensa.c:1978
+ #, gcc-internal-format
+ msgid "PRINT_OPERAND null pointer"
+ msgstr ""
+@@ -25790,22 +25760,22 @@
+ msgid "invalid target memregs value '%d'"
+ msgstr "Μη έγκυÏο διάστημα χÏόνου `%s'"
+
+-#: config/m32c/m32c.c:2759
++#: config/m32c/m32c.c:2766
+ #, fuzzy, gcc-internal-format
+ msgid "`%s' attribute is not supported for R8C target"
+ msgstr "συμβολικοί σÏνδεσμοι δεν υποστηÏίζονται στο σÏστημα αυτό"
+
+-#: config/m32c/m32c.c:2767
++#: config/m32c/m32c.c:2774
+ #, fuzzy, gcc-internal-format
+ msgid "`%s' attribute applies only to functions"
+ msgstr "Ï€Ïοειδοποίηση: το --pid=PID δεν υποστηÏίζεται σε αυτό το σÏστημα"
+
+-#: config/m32c/m32c.c:2775
++#: config/m32c/m32c.c:2782
+ #, fuzzy, gcc-internal-format
+ msgid "`%s' attribute argument not an integer constant"
+ msgstr "μη τεÏματιζμένο αλφαÏιθμητικό σταθεÏάς"
+
+-#: config/m32c/m32c.c:2784
++#: config/m32c/m32c.c:2791
+ #, fuzzy, gcc-internal-format
+ msgid "`%s' attribute argument should be between 18 to 255"
+ msgstr "μη τεÏματιζμένο αλφαÏιθμητικό σταθεÏάς"
+@@ -25855,7 +25825,7 @@
+ msgid "interrupt_thread is available only on fido"
+ msgstr ""
+
+-#: config/m68k/m68k.c:1072 config/rs6000/rs6000.c:15014
++#: config/m68k/m68k.c:1072 config/rs6000/rs6000.c:15226
+ #, fuzzy, gcc-internal-format
+ msgid "stack limit expression is not supported"
+ msgstr "ειδικά αÏχεία μπλοκ δεν υποστηÏίζονται"
+@@ -25870,114 +25840,114 @@
+ msgid "%qs redeclared with conflicting %qs attributes"
+ msgstr "συντακτικό σφάλμα στον καθοÏισμό σειÏάς"
+
+-#: config/mips/mips.c:2348
++#: config/mips/mips.c:2382
+ #, gcc-internal-format
+ msgid "MIPS16 TLS"
+ msgstr ""
+
+-#: config/mips/mips.c:5439
++#: config/mips/mips.c:5500
+ #, fuzzy, gcc-internal-format
+ msgid "cannot handle inconsistent calls to %qs"
+ msgstr "αδυναμία εκτέλεσης ioctl στο `%s'"
+
+-#: config/mips/mips.c:10258
++#: config/mips/mips.c:10337
+ #, fuzzy, gcc-internal-format
+ msgid "invalid argument to built-in function"
+ msgstr "Η παÏάμετÏος `%s' δεν είναι έγκυÏη."
+
+-#: config/mips/mips.c:10530
++#: config/mips/mips.c:10609
+ #, fuzzy, gcc-internal-format
+ msgid "built-in function %qs not supported for MIPS16"
+ msgstr "Η λειτουÏγία δεν υποστηÏίζεται"
+
+-#: config/mips/mips.c:11679 config/mips/mips.c:12065
++#: config/mips/mips.c:11751 config/mips/mips.c:12137
+ #, gcc-internal-format
+ msgid "MIPS16 PIC"
+ msgstr ""
+
+-#: config/mips/mips.c:11682
++#: config/mips/mips.c:11754
+ #, gcc-internal-format
+ msgid "hard-float MIPS16 code for ABIs other than o32 and o64"
+ msgstr ""
+
+-#: config/mips/mips.c:11810
++#: config/mips/mips.c:11882
+ #, fuzzy, gcc-internal-format
+ msgid "CPU names must be lower case"
+ msgstr "διπλός Ï€ÏοσδιοÏιστής μηνÏματος"
+
+-#: config/mips/mips.c:11938
++#: config/mips/mips.c:12010
+ #, gcc-internal-format
+ msgid "%<-%s%> conflicts with the other architecture options, which specify a %s processor"
+ msgstr ""
+
+-#: config/mips/mips.c:11954
++#: config/mips/mips.c:12026
+ #, gcc-internal-format
+ msgid "%<-march=%s%> is not compatible with the selected ABI"
+ msgstr ""
+
+-#: config/mips/mips.c:11969
++#: config/mips/mips.c:12041
+ #, fuzzy, gcc-internal-format
+ msgid "%<-mgp64%> used with a 32-bit processor"
+ msgstr "ΧÏήση ABI 32-bit"
+
+-#: config/mips/mips.c:11971
++#: config/mips/mips.c:12043
+ #, fuzzy, gcc-internal-format
+ msgid "%<-mgp32%> used with a 64-bit ABI"
+ msgstr "ΧÏήση ABI 64-bit"
+
+-#: config/mips/mips.c:11973
++#: config/mips/mips.c:12045
+ #, fuzzy, gcc-internal-format
+ msgid "%<-mgp64%> used with a 32-bit ABI"
+ msgstr "ΧÏήση ABI 32-bit"
+
+-#: config/mips/mips.c:11989 config/mips/mips.c:11991 config/mips/mips.c:12058
++#: config/mips/mips.c:12061 config/mips/mips.c:12063 config/mips/mips.c:12130
+ #, fuzzy, gcc-internal-format
+ msgid "unsupported combination: %s"
+ msgstr "Εμφάνιση έκδοσης Ï€ÏογÏάμματος"
+
+-#: config/mips/mips.c:11995
++#: config/mips/mips.c:12067
+ #, gcc-internal-format
+ msgid "%<-mgp32%> and %<-mfp64%> can only be combined if the target supports the mfhc1 and mthc1 instructions"
+ msgstr ""
+
+-#: config/mips/mips.c:11998
++#: config/mips/mips.c:12070
+ #, gcc-internal-format
+ msgid "%<-mgp32%> and %<-mfp64%> can only be combined when using the o32 ABI"
+ msgstr ""
+
+-#: config/mips/mips.c:12052
++#: config/mips/mips.c:12124
+ #, gcc-internal-format
+ msgid "the %qs architecture does not support branch-likely instructions"
+ msgstr ""
+
+-#: config/mips/mips.c:12098
++#: config/mips/mips.c:12170
+ #, gcc-internal-format
+ msgid "%<-mno-gpopt%> needs %<-mexplicit-relocs%>"
+ msgstr ""
+
+-#: config/mips/mips.c:12106 config/mips/mips.c:12109
++#: config/mips/mips.c:12178 config/mips/mips.c:12181
+ #, gcc-internal-format
+ msgid "cannot use small-data accesses for %qs"
+ msgstr ""
+
+-#: config/mips/mips.c:12123
++#: config/mips/mips.c:12195
+ #, gcc-internal-format
+ msgid "%<-mips3d%> requires %<-mpaired-single%>"
+ msgstr ""
+
+-#: config/mips/mips.c:12132
++#: config/mips/mips.c:12204
+ #, gcc-internal-format
+ msgid "%qs must be used with %qs"
+ msgstr ""
+
+-#: config/mips/mips.c:12139
++#: config/mips/mips.c:12211
+ #, fuzzy, gcc-internal-format
+ msgid "the %qs architecture does not support paired-single instructions"
+ msgstr "Το servname δεν υποστηÏίζεται από το ai_socktype"
+
+ #. Output assembler code to FILE to increment profiler label # LABELNO
+ #. for profiling a function entry.
+-#: config/mips/mips.h:2110
++#: config/mips/mips.h:2111
+ #, gcc-internal-format
+ msgid "mips16 function profiling"
+ msgstr ""
+@@ -26007,28 +25977,28 @@
+ msgid "MMIX Internal: Last named vararg would not fit in a register"
+ msgstr ""
+
+-#: config/mmix/mmix.c:1495 config/mmix/mmix.c:1519 config/mmix/mmix.c:1635
++#: config/mmix/mmix.c:1491 config/mmix/mmix.c:1515 config/mmix/mmix.c:1631
+ #, gcc-internal-format
+ msgid "MMIX Internal: Bad register: %d"
+ msgstr ""
+
+ #. Presumably there's a missing case above if we get here.
+-#: config/mmix/mmix.c:1627
++#: config/mmix/mmix.c:1623
+ #, gcc-internal-format
+ msgid "MMIX Internal: Missing %qc case in mmix_print_operand"
+ msgstr ""
+
+-#: config/mmix/mmix.c:1913
++#: config/mmix/mmix.c:1909
+ #, fuzzy, gcc-internal-format
+ msgid "stack frame not a multiple of 8 bytes: %wd"
+ msgstr "ο ίδιος κανόνας σε πολλαπλά αÏχεία"
+
+-#: config/mmix/mmix.c:2149
++#: config/mmix/mmix.c:2145
+ #, fuzzy, gcc-internal-format
+ msgid "stack frame not a multiple of octabyte: %wd"
+ msgstr "ο ίδιος κανόνας σε πολλαπλά αÏχεία"
+
+-#: config/mmix/mmix.c:2489 config/mmix/mmix.c:2553
++#: config/mmix/mmix.c:2485 config/mmix/mmix.c:2549
+ #, gcc-internal-format
+ msgid "MMIX Internal: %s is not a shiftable int"
+ msgstr ""
+@@ -26038,27 +26008,27 @@
+ msgid "info pointer NULL"
+ msgstr ""
+
+-#: config/pa/pa.c:479
++#: config/pa/pa.c:482
+ #, fuzzy, gcc-internal-format
+ msgid "PIC code generation is not supported in the portable runtime model"
+ msgstr "συμβολικοί σÏνδεσμοι δεν υποστηÏίζονται στο σÏστημα αυτό"
+
+-#: config/pa/pa.c:484
++#: config/pa/pa.c:487
+ #, fuzzy, gcc-internal-format
+ msgid "PIC code generation is not compatible with fast indirect calls"
+ msgstr "ΧÏήση ξεχωÏιστής λανθάνουσας μνήμης για κάθε χÏήστη"
+
+-#: config/pa/pa.c:489
++#: config/pa/pa.c:492
+ #, gcc-internal-format
+ msgid "-g is only supported when using GAS on this processor,"
+ msgstr ""
+
+-#: config/pa/pa.c:490
++#: config/pa/pa.c:493
+ #, fuzzy, gcc-internal-format
+ msgid "-g option disabled"
+ msgstr "Η λειτουÏγία NIS+ απέτυχε"
+
+-#: config/pa/pa.c:8285
++#: config/pa/pa.c:8373
+ #, gcc-internal-format
+ msgid "alignment (%u) for %s exceeds maximum alignment for global common data. Using %u"
+ msgstr ""
+@@ -26127,251 +26097,252 @@
+ msgid "junk at end of #pragma longcall"
+ msgstr "μη τεÏματιζόμενo αλφαÏιθμητικό"
+
+-#: config/rs6000/rs6000-c.c:2550
++#: config/rs6000/rs6000-c.c:2553
+ #, fuzzy, gcc-internal-format
+ msgid "passing arg %d of %qE discards qualifiers frompointer target type"
+ msgstr "%s μετατÏέπει ακέÏαιο σε δείκτη χωÏίς μετατÏοπέα"
+
+-#: config/rs6000/rs6000-c.c:2593
++#: config/rs6000/rs6000-c.c:2596
+ #, fuzzy, gcc-internal-format
+ msgid "invalid parameter combination for AltiVec intrinsic"
+ msgstr "μη έγκυÏος χαÏακτήÏας `%c' στο Ï„Ïπο αλφαÏÎ¹Î¸Î¼Î·Ï„Î¹ÎºÎ¿Ï `%s'"
+
+-#: config/rs6000/rs6000.c:1294
++#: config/rs6000/rs6000.c:1312
+ #, gcc-internal-format
+ msgid "-mdynamic-no-pic overrides -fpic or -fPIC"
+ msgstr ""
+
+-#: config/rs6000/rs6000.c:1305
++#: config/rs6000/rs6000.c:1323
+ #, gcc-internal-format
+ msgid "-m64 requires PowerPC64 architecture, enabling"
+ msgstr ""
+
+-#: config/rs6000/rs6000.c:1528
++#: config/rs6000/rs6000.c:1546
+ #, fuzzy, gcc-internal-format
+ msgid "-mmultiple is not supported on little endian systems"
+ msgstr "συμβολικοί σÏνδεσμοι δεν υποστηÏίζονται στο σÏστημα αυτό"
+
+-#: config/rs6000/rs6000.c:1535
++#: config/rs6000/rs6000.c:1553
+ #, fuzzy, gcc-internal-format
+ msgid "-mstring is not supported on little endian systems"
+ msgstr "Ï€Ïοειδοποίηση: το --pid=PID δεν υποστηÏίζεται σε αυτό το σÏστημα"
+
+-#: config/rs6000/rs6000.c:1549
++#: config/rs6000/rs6000.c:1567
+ #, gcc-internal-format
+ msgid "unknown -mdebug-%s switch"
+ msgstr ""
+
+-#: config/rs6000/rs6000.c:1561
++#: config/rs6000/rs6000.c:1579
+ #, gcc-internal-format
+ msgid "unknown -mtraceback arg %qs; expecting %<full%>, %<partial%> or %<none%>"
+ msgstr ""
+
+-#: config/rs6000/rs6000.c:1973
++#: config/rs6000/rs6000.c:2003
+ #, fuzzy, gcc-internal-format
+ msgid "unknown -m%s= option specified: '%s'"
+ msgstr "άγνωστο σετ `%s'"
+
+-#: config/rs6000/rs6000.c:2186
++#: config/rs6000/rs6000.c:2218
+ #, gcc-internal-format
+ msgid "not configured for ABI: '%s'"
+ msgstr ""
+
+-#: config/rs6000/rs6000.c:2199
++#: config/rs6000/rs6000.c:2231
+ #, gcc-internal-format
+ msgid "Using darwin64 ABI"
+ msgstr ""
+
+-#: config/rs6000/rs6000.c:2204
++#: config/rs6000/rs6000.c:2236
+ #, gcc-internal-format
+ msgid "Using old darwin ABI"
+ msgstr ""
+
+-#: config/rs6000/rs6000.c:2211
++#: config/rs6000/rs6000.c:2243
+ #, gcc-internal-format
+ msgid "Using IBM extended precision long double"
+ msgstr ""
+
+-#: config/rs6000/rs6000.c:2217
++#: config/rs6000/rs6000.c:2249
+ #, gcc-internal-format
+ msgid "Using IEEE extended precision long double"
+ msgstr ""
+
+-#: config/rs6000/rs6000.c:2222
++#: config/rs6000/rs6000.c:2254
+ #, fuzzy, gcc-internal-format
+ msgid "unknown ABI specified: '%s'"
+ msgstr "άγνωστο σετ `%s'"
+
+-#: config/rs6000/rs6000.c:2249
++#: config/rs6000/rs6000.c:2281
+ #, fuzzy, gcc-internal-format
+ msgid "invalid option for -mfloat-gprs: '%s'"
+ msgstr "Μη έγκυÏη επιλογή `%s'"
+
+-#: config/rs6000/rs6000.c:2259
++#: config/rs6000/rs6000.c:2291
+ #, gcc-internal-format
+ msgid "Unknown switch -mlong-double-%s"
+ msgstr ""
+
+-#: config/rs6000/rs6000.c:2280
++#: config/rs6000/rs6000.c:2312
+ #, gcc-internal-format
+ msgid "-malign-power is not supported for 64-bit Darwin; it is incompatible with the installed C and C++ libraries"
+ msgstr ""
+
+-#: config/rs6000/rs6000.c:2288
++#: config/rs6000/rs6000.c:2320
+ #, fuzzy, gcc-internal-format
+ msgid "unknown -malign-XXXXX option specified: '%s'"
+ msgstr "άγνωστο σετ `%s'"
+
+-#: config/rs6000/rs6000.c:4989
++#: config/rs6000/rs6000.c:5087
+ #, gcc-internal-format
+ msgid "GCC vector returned by reference: non-standard ABI extension with no compatibility guarantee"
+ msgstr ""
+
+-#: config/rs6000/rs6000.c:5062
++#: config/rs6000/rs6000.c:5160
+ #, gcc-internal-format
+ msgid "cannot return value in vector register because altivec instructions are disabled, use -maltivec to enable them"
+ msgstr ""
+
+-#: config/rs6000/rs6000.c:5320
++#: config/rs6000/rs6000.c:5418
+ #, gcc-internal-format
+ msgid "cannot pass argument in vector register because altivec instructions are disabled, use -maltivec to enable them"
+ msgstr ""
+
+-#: config/rs6000/rs6000.c:6221
++#: config/rs6000/rs6000.c:6322
+ #, gcc-internal-format
+ msgid "GCC vector passed by reference: non-standard ABI extension with no compatibility guarantee"
+ msgstr ""
+
+-#: config/rs6000/rs6000.c:7461
++#: config/rs6000/rs6000.c:7568
+ #, fuzzy, gcc-internal-format
+ msgid "argument 1 must be a 5-bit signed literal"
+ msgstr "Η παÏάμετÏος στο `%s' Ï€Ïέπει να είναι ένας απλός χαÏακτήÏας"
+
+-#: config/rs6000/rs6000.c:7564 config/rs6000/rs6000.c:8475
++#: config/rs6000/rs6000.c:7671 config/rs6000/rs6000.c:8582
+ #, fuzzy, gcc-internal-format
+ msgid "argument 2 must be a 5-bit unsigned literal"
+ msgstr "Η παÏάμετÏος στο `%s' Ï€Ïέπει να είναι ένας απλός χαÏακτήÏας"
+
+-#: config/rs6000/rs6000.c:7604
++#: config/rs6000/rs6000.c:7711
+ #, gcc-internal-format
+ msgid "argument 1 of __builtin_altivec_predicate must be a constant"
+ msgstr ""
+
+-#: config/rs6000/rs6000.c:7657
++#: config/rs6000/rs6000.c:7764
+ #, gcc-internal-format
+ msgid "argument 1 of __builtin_altivec_predicate is out of range"
+ msgstr ""
+
+-#: config/rs6000/rs6000.c:7906
++#: config/rs6000/rs6000.c:8013
+ #, fuzzy, gcc-internal-format
+ msgid "argument 3 must be a 4-bit unsigned literal"
+ msgstr "Η παÏάμετÏος στο `%s' Ï€Ïέπει να είναι ένας απλός χαÏακτήÏας"
+
+-#: config/rs6000/rs6000.c:8078
++#: config/rs6000/rs6000.c:8185
+ #, fuzzy, gcc-internal-format
+ msgid "argument to %qs must be a 2-bit unsigned literal"
+ msgstr "Η παÏάμετÏος στο `%s' Ï€Ïέπει να είναι ένας απλός χαÏακτήÏας"
+
+-#: config/rs6000/rs6000.c:8220
++#: config/rs6000/rs6000.c:8327
+ #, gcc-internal-format
+ msgid "unresolved overload for Altivec builtin %qF"
+ msgstr ""
+
+-#: config/rs6000/rs6000.c:8302
++#: config/rs6000/rs6000.c:8409
+ #, fuzzy, gcc-internal-format
+ msgid "argument to dss must be a 2-bit unsigned literal"
+ msgstr "Η παÏάμετÏος στο `%s' Ï€Ïέπει να είναι ένας απλός χαÏακτήÏας"
+
+-#: config/rs6000/rs6000.c:8595
++#: config/rs6000/rs6000.c:8702
+ #, fuzzy, gcc-internal-format
+ msgid "argument 1 of __builtin_paired_predicate must be a constant"
+ msgstr "Η παÏάμετÏος στο <%s> Ï€Ïέπει να είναι ένας απλός χαÏακτήÏας"
+
+-#: config/rs6000/rs6000.c:8642
++#: config/rs6000/rs6000.c:8749
+ #, fuzzy, gcc-internal-format
+ msgid "argument 1 of __builtin_paired_predicate is out of range"
+ msgstr "Η παÏάμετÏος στο <%s> Ï€Ïέπει να είναι ένας απλός χαÏακτήÏας"
+
+-#: config/rs6000/rs6000.c:8667
++#: config/rs6000/rs6000.c:8774
+ #, fuzzy, gcc-internal-format
+ msgid "argument 1 of __builtin_spe_predicate must be a constant"
+ msgstr "Η παÏάμετÏος στο <%s> Ï€Ïέπει να είναι ένας απλός χαÏακτήÏας"
+
+-#: config/rs6000/rs6000.c:8739
++#: config/rs6000/rs6000.c:8846
+ #, gcc-internal-format
+ msgid "argument 1 of __builtin_spe_predicate is out of range"
+ msgstr ""
+
+ # src/shred.c:1134
+-#: config/rs6000/rs6000.c:14977
++#: config/rs6000/rs6000.c:15189
+ #, fuzzy, gcc-internal-format
+ msgid "stack frame too large"
+ msgstr "%s: το αÏχείο είναι Ï€Î¿Î»Ï Î¼ÎµÎ³Î¬Î»Î¿"
+
+-#: config/rs6000/rs6000.c:17598
++#: config/rs6000/rs6000.c:17811
+ #, gcc-internal-format
+ msgid "no profiling of 64-bit code for this ABI"
+ msgstr ""
+
+-#: config/rs6000/rs6000.c:19470
++#: config/rs6000/rs6000.c:19687
+ #, gcc-internal-format
+ msgid "use of %<long%> in AltiVec types is invalid for 64-bit code"
+ msgstr ""
+
+-#: config/rs6000/rs6000.c:19472
++#: config/rs6000/rs6000.c:19689
+ #, gcc-internal-format
+ msgid "use of %<long%> in AltiVec types is deprecated; use %<int%>"
+ msgstr ""
+
+-#: config/rs6000/rs6000.c:19476
++#: config/rs6000/rs6000.c:19693
+ #, gcc-internal-format
+ msgid "use of %<long long%> in AltiVec types is invalid"
+ msgstr ""
+
+-#: config/rs6000/rs6000.c:19478
++#: config/rs6000/rs6000.c:19695
+ #, gcc-internal-format
+ msgid "use of %<double%> in AltiVec types is invalid"
+ msgstr ""
+
+-#: config/rs6000/rs6000.c:19480
++#: config/rs6000/rs6000.c:19697
+ #, gcc-internal-format
+ msgid "use of %<long double%> in AltiVec types is invalid"
+ msgstr ""
+
+-#: config/rs6000/rs6000.c:19482
++#: config/rs6000/rs6000.c:19699
+ #, gcc-internal-format
+ msgid "use of boolean types in AltiVec types is invalid"
+ msgstr ""
+
+-#: config/rs6000/rs6000.c:19484
++#: config/rs6000/rs6000.c:19701
+ #, gcc-internal-format
+ msgid "use of %<complex%> in AltiVec types is invalid"
+ msgstr ""
+
+-#: config/rs6000/rs6000.c:19486
++#: config/rs6000/rs6000.c:19703
+ #, gcc-internal-format
+ msgid "use of decimal floating point types in AltiVec types is invalid"
+ msgstr ""
+
+ #: config/rs6000/aix43.h:38 config/rs6000/aix51.h:37 config/rs6000/aix52.h:38
+-#: config/rs6000/aix53.h:38
++#: config/rs6000/aix53.h:38 config/rs6000/aix61.h:38
+ #, gcc-internal-format
+ msgid "-maix64 and POWER architecture are incompatible"
+ msgstr ""
+
+ #: config/rs6000/aix43.h:43 config/rs6000/aix51.h:42 config/rs6000/aix52.h:43
+-#: config/rs6000/aix53.h:43
++#: config/rs6000/aix53.h:43 config/rs6000/aix61.h:43
+ #, gcc-internal-format
+ msgid "-maix64 requires PowerPC64 architecture remain enabled"
+ msgstr ""
+
+ #: config/rs6000/aix43.h:49 config/rs6000/aix52.h:49 config/rs6000/aix53.h:49
++#: config/rs6000/aix61.h:49
+ #, gcc-internal-format
+ msgid "soft-float and long-double-128 are incompatible"
+ msgstr ""
+
+ #: config/rs6000/aix43.h:53 config/rs6000/aix51.h:46 config/rs6000/aix52.h:53
+-#: config/rs6000/aix53.h:53
++#: config/rs6000/aix53.h:53 config/rs6000/aix61.h:53
+ #, gcc-internal-format
+ msgid "-maix64 required: 64-bit computation with 32-bit addressing not yet supported"
+ msgstr ""
+@@ -26413,7 +26384,7 @@
+ #. Number of bytes into the frame return addresses can be found. See
+ #. rs6000_stack_info in rs6000.c for more information on how the different
+ #. abi's store the return address.
+-#: config/rs6000/rs6000.h:1560
++#: config/rs6000/rs6000.h:1569
+ #, gcc-internal-format
+ msgid "RETURN_ADDRESS_OFFSET not supported"
+ msgstr ""
+@@ -26536,22 +26507,22 @@
+ msgid "-mstack-guard implies use of -mstack-size"
+ msgstr ""
+
+-#: config/s390/s390.c:6640
++#: config/s390/s390.c:6679
+ #, gcc-internal-format
+ msgid "total size of local variables exceeds architecture limit"
+ msgstr ""
+
+-#: config/s390/s390.c:7298
++#: config/s390/s390.c:7349
+ #, fuzzy, gcc-internal-format
+ msgid "frame size of function %qs is "
+ msgstr "Το όνομα `%s' είναι άγνωστο\n"
+
+-#: config/s390/s390.c:7328
++#: config/s390/s390.c:7379
+ #, fuzzy, gcc-internal-format
+ msgid "frame size of %qs is "
+ msgstr "Το όνομα `%s' είναι άγνωστο\n"
+
+-#: config/s390/s390.c:7332
++#: config/s390/s390.c:7383
+ #, gcc-internal-format
+ msgid "%qs uses dynamic stack allocation"
+ msgstr ""
+@@ -26561,44 +26532,44 @@
+ msgid "-fPIC and -G are incompatible"
+ msgstr ""
+
+-#: config/sh/sh.c:6894
++#: config/sh/sh.c:6897
+ #, fuzzy, gcc-internal-format
+ msgid "__builtin_saveregs not supported by this subtarget"
+ msgstr "συμβολικοί σÏνδεσμοι δεν υποστηÏίζονται στο σÏστημα αυτό"
+
+-#: config/sh/sh.c:7904
++#: config/sh/sh.c:7907
+ #, gcc-internal-format
+ msgid "%qs attribute only applies to interrupt functions"
+ msgstr ""
+
+-#: config/sh/sh.c:7990
++#: config/sh/sh.c:7993
+ #, gcc-internal-format
+ msgid "attribute interrupt_handler is not compatible with -m5-compact"
+ msgstr ""
+
+ #. The argument must be a constant string.
+-#: config/sh/sh.c:8012
++#: config/sh/sh.c:8015
+ #, fuzzy, gcc-internal-format
+ msgid "%qs attribute argument not a string constant"
+ msgstr "μη τεÏματιζμένο αλφαÏιθμητικό σταθεÏάς"
+
+ #. The argument must be a constant integer.
+-#: config/sh/sh.c:8037
++#: config/sh/sh.c:8040
+ #, fuzzy, gcc-internal-format
+ msgid "%qs attribute argument not an integer constant"
+ msgstr "μη τεÏματιζμένο αλφαÏιθμητικό σταθεÏάς"
+
+-#: config/sh/sh.c:10085
++#: config/sh/sh.c:10084
+ #, gcc-internal-format
+ msgid "r0 needs to be available as a call-clobbered register"
+ msgstr ""
+
+-#: config/sh/sh.c:10106
++#: config/sh/sh.c:10105
+ #, gcc-internal-format
+ msgid "Need a second call-clobbered general purpose register"
+ msgstr ""
+
+-#: config/sh/sh.c:10114
++#: config/sh/sh.c:10113
+ #, gcc-internal-format
+ msgid "Need a call-clobbered target register"
+ msgstr ""
+@@ -26628,7 +26599,7 @@
+ msgid "%s %q+D %s after being referenced with dllimport linkage"
+ msgstr ""
+
+-#: config/sh/symbian.c:891 cp/tree.c:2737
++#: config/sh/symbian.c:891 cp/tree.c:2753
+ #, gcc-internal-format
+ msgid "lang_* check: failed in %s, at %s:%d"
+ msgstr ""
+@@ -26671,17 +26642,17 @@
+ msgid "-mrelax is only supported for RTP PIC"
+ msgstr ""
+
+-#: config/sparc/sparc.c:698
++#: config/sparc/sparc.c:701
+ #, fuzzy, gcc-internal-format
+ msgid "%s is not supported by this configuration"
+ msgstr "Η οικογένεια διευθÏνσεων δεν υποστηÏίζεται από την οικογένεια Ï€Ïωτοκόλλου"
+
+-#: config/sparc/sparc.c:705
++#: config/sparc/sparc.c:708
+ #, gcc-internal-format
+ msgid "-mlong-double-64 not allowed with -m64"
+ msgstr ""
+
+-#: config/sparc/sparc.c:730
++#: config/sparc/sparc.c:733
+ #, fuzzy, gcc-internal-format
+ msgid "-mcmodel= is not supported on 32 bit systems"
+ msgstr "συμβολικοί σÏνδεσμοι δεν υποστηÏίζονται στο σÏστημα αυτό"
+@@ -26701,67 +26672,57 @@
+ msgid "parameter list does not match a valid signature for %s()"
+ msgstr ""
+
+-#: config/spu/spu.c:337 config/spu/spu.c:348
++#: config/spu/spu.c:341 config/spu/spu.c:352
+ #, fuzzy, gcc-internal-format
+ msgid "Unknown architecture '%s'"
+ msgstr "άγνωστο σετ `%s'"
+
+-#: config/spu/spu.c:3034
++#: config/spu/spu.c:3023
+ #, fuzzy, gcc-internal-format
+ msgid "`%s' attribute ignored"
+ msgstr "το `%s' είναι Ï€Ïόγονος του `%s'"
+
+-#: config/spu/spu.c:5218
++#: config/spu/spu.c:5207
+ #, fuzzy, gcc-internal-format
+ msgid "%s expects an integer literal in the range [%d, %d]."
+ msgstr "η τιμή για το %s Ï€Ïέπει να είναι ακέÏαιος"
+
+-#: config/spu/spu.c:5238
++#: config/spu/spu.c:5227
+ #, fuzzy, gcc-internal-format
+ msgid "%s expects an integer literal in the range [%d, %d]. ("
+ msgstr "η τιμή για το %s Ï€Ïέπει να είναι ακέÏαιος"
+
+-#: config/spu/spu.c:5268
++#: config/spu/spu.c:5257
+ #, gcc-internal-format
+ msgid "%d least significant bits of %s are ignored."
+ msgstr ""
+
+-#: config/stormy16/stormy16.c:499
+-#, fuzzy, gcc-internal-format
+-msgid "constant halfword load operand out of range"
+-msgstr "Ο αÏιθμός σÏνδεσμου είναι έξω από το ÏŒÏιο"
+-
+-#: config/stormy16/stormy16.c:509
+-#, fuzzy, gcc-internal-format
+-msgid "constant arithmetic operand out of range"
+-msgstr "Ο αÏιθμός σÏνδεσμου είναι έξω από το ÏŒÏιο"
+-
+-#: config/stormy16/stormy16.c:1108
++#: config/stormy16/stormy16.c:1080
+ #, gcc-internal-format
+ msgid "local variable memory requirements exceed capacity"
+ msgstr ""
+
+-#: config/stormy16/stormy16.c:1274
++#: config/stormy16/stormy16.c:1246
+ #, gcc-internal-format
+ msgid "function_profiler support"
+ msgstr ""
+
+-#: config/stormy16/stormy16.c:1363
++#: config/stormy16/stormy16.c:1335
+ #, gcc-internal-format
+ msgid "cannot use va_start in interrupt function"
+ msgstr ""
+
+-#: config/stormy16/stormy16.c:1906
++#: config/stormy16/stormy16.c:1879
+ #, gcc-internal-format
+ msgid "switch statement of size %lu entries too large"
+ msgstr ""
+
+-#: config/stormy16/stormy16.c:2274
++#: config/stormy16/stormy16.c:2247
+ #, gcc-internal-format
+ msgid "%<__BELOW100__%> attribute only applies to variables"
+ msgstr ""
+
+-#: config/stormy16/stormy16.c:2281
++#: config/stormy16/stormy16.c:2254
+ #, gcc-internal-format
+ msgid "__BELOW100__ attribute not allowed with auto storage class"
+ msgstr ""
+@@ -26889,351 +26850,351 @@
+ msgid "too much stack space to prepare: %d"
+ msgstr ""
+
+-#: config/xtensa/xtensa.c:1861
++#: config/xtensa/xtensa.c:1865
+ #, gcc-internal-format
+ msgid "boolean registers required for the floating-point option"
+ msgstr ""
+
+-#: config/xtensa/xtensa.c:1896
++#: config/xtensa/xtensa.c:1900
+ #, fuzzy, gcc-internal-format
+ msgid "-f%s is not supported with CONST16 instructions"
+ msgstr "Η οικογένεια διευθÏνσεων δεν υποστηÏίζεται από την οικογένεια Ï€Ïωτοκόλλου"
+
+-#: config/xtensa/xtensa.c:1901
++#: config/xtensa/xtensa.c:1905
+ #, gcc-internal-format
+ msgid "PIC is required but not supported with CONST16 instructions"
+ msgstr ""
+
+-#: config/xtensa/xtensa.c:2745 config/xtensa/xtensa.c:2765
++#: config/xtensa/xtensa.c:2770 config/xtensa/xtensa.c:2790
+ #, fuzzy, gcc-internal-format
+ msgid "bad builtin code"
+ msgstr "μη έγκυÏο μήκος γÏαμμής: %s"
+
+-#: config/xtensa/xtensa.c:2873
++#: config/xtensa/xtensa.c:2898
+ #, gcc-internal-format
+ msgid "only uninitialized variables can be placed in a .bss section"
+ msgstr ""
+
+-#: ada/misc.c:261
++#: ada/misc.c:260
+ #, fuzzy, gcc-internal-format
+ msgid "missing argument to \"-%s\""
+ msgstr "Λείπει παÏάμετÏος για `%s'"
+
+-#: ada/misc.c:311
++#: ada/misc.c:310
+ #, gcc-internal-format
+ msgid "%<-gnat%> misspelled as %<-gant%>"
+ msgstr ""
+
+-#: cp/call.c:2462
++#: cp/call.c:2448
+ #, gcc-internal-format
+ msgid "%s %D(%T, %T, %T) <built-in>"
+ msgstr ""
+
+-#: cp/call.c:2467
++#: cp/call.c:2453
+ #, gcc-internal-format
+ msgid "%s %D(%T, %T) <built-in>"
+ msgstr ""
+
+-#: cp/call.c:2471
++#: cp/call.c:2457
+ #, gcc-internal-format
+ msgid "%s %D(%T) <built-in>"
+ msgstr ""
+
+-#: cp/call.c:2475
++#: cp/call.c:2461
+ #, gcc-internal-format
+ msgid "%s %T <conversion>"
+ msgstr ""
+
+-#: cp/call.c:2477
++#: cp/call.c:2463
+ #, gcc-internal-format
+ msgid "%s %+#D <near match>"
+ msgstr ""
+
+-#: cp/call.c:2479 cp/pt.c:1397
++#: cp/call.c:2465 cp/pt.c:1405
+ #, gcc-internal-format
+ msgid "%s %+#D"
+ msgstr ""
+
+-#: cp/call.c:2720
++#: cp/call.c:2706
+ #, fuzzy, gcc-internal-format
+ msgid "conversion from %qT to %qT is ambiguous"
+ msgstr "η μετατÏοπή από `%s' σε `%s' δεν υποστηÏίζετε"
+
+-#: cp/call.c:2873 cp/call.c:2891 cp/call.c:2954
++#: cp/call.c:2859 cp/call.c:2877 cp/call.c:2940
+ #, gcc-internal-format
+ msgid "no matching function for call to %<%D(%A)%>"
+ msgstr ""
+
+ # src/getopt.c:813
+ # src/getopt.c:813
+-#: cp/call.c:2894 cp/call.c:2957
++#: cp/call.c:2880 cp/call.c:2943
+ #, fuzzy, gcc-internal-format
+ msgid "call of overloaded %<%D(%A)%> is ambiguous"
+ msgstr "%s: η επιλογή `-W %s' είναι διφοÏοÏμενη\n"
+
+ #. It's no good looking for an overloaded operator() on a
+ #. pointer-to-member-function.
+-#: cp/call.c:3029
++#: cp/call.c:3015
+ #, gcc-internal-format
+ msgid "pointer-to-member function %E cannot be called without an object; consider using .* or ->*"
+ msgstr ""
+
+-#: cp/call.c:3103
++#: cp/call.c:3089
+ #, gcc-internal-format
+ msgid "no match for call to %<(%T) (%A)%>"
+ msgstr ""
+
+ # src/getopt.c:813
+ # src/getopt.c:813
+-#: cp/call.c:3112
++#: cp/call.c:3098
+ #, fuzzy, gcc-internal-format
+ msgid "call of %<(%T) (%A)%> is ambiguous"
+ msgstr "%s: η επιλογή `-W %s' είναι διφοÏοÏμενη\n"
+
+-#: cp/call.c:3150
++#: cp/call.c:3136
+ #, gcc-internal-format
+ msgid "%s for ternary %<operator?:%> in %<%E ? %E : %E%>"
+ msgstr ""
+
+-#: cp/call.c:3156
++#: cp/call.c:3142
+ #, gcc-internal-format
+ msgid "%s for %<operator%s%> in %<%E%s%>"
+ msgstr ""
+
+-#: cp/call.c:3160
++#: cp/call.c:3146
+ #, gcc-internal-format
+ msgid "%s for %<operator[]%> in %<%E[%E]%>"
+ msgstr ""
+
+-#: cp/call.c:3165
++#: cp/call.c:3151
+ #, gcc-internal-format
+ msgid "%s for %qs in %<%s %E%>"
+ msgstr ""
+
+-#: cp/call.c:3170
++#: cp/call.c:3156
+ #, gcc-internal-format
+ msgid "%s for %<operator%s%> in %<%E %s %E%>"
+ msgstr ""
+
+-#: cp/call.c:3173
++#: cp/call.c:3159
+ #, gcc-internal-format
+ msgid "%s for %<operator%s%> in %<%s%E%>"
+ msgstr ""
+
+-#: cp/call.c:3265
++#: cp/call.c:3251
+ #, gcc-internal-format
+ msgid "ISO C++ forbids omitting the middle term of a ?: expression"
+ msgstr ""
+
+-#: cp/call.c:3343
++#: cp/call.c:3329
+ #, gcc-internal-format
+ msgid "second operand to the conditional operator is of type %<void%>, but the third operand is neither a throw-expression nor of type %<void%>"
+ msgstr ""
+
+-#: cp/call.c:3348
++#: cp/call.c:3334
+ #, gcc-internal-format
+ msgid "third operand to the conditional operator is of type %<void%>, but the second operand is neither a throw-expression nor of type %<void%>"
+ msgstr ""
+
+-#: cp/call.c:3389 cp/call.c:3609
++#: cp/call.c:3375 cp/call.c:3595
+ #, gcc-internal-format
+ msgid "operands to ?: have different types %qT and %qT"
+ msgstr ""
+
+-#: cp/call.c:3563
++#: cp/call.c:3549
+ #, fuzzy, gcc-internal-format
+ msgid "enumeral mismatch in conditional expression: %qT vs %qT"
+ msgstr "Σφάλμα στο ταίÏιασμα στην κανονική έκφÏαση `%s'"
+
+-#: cp/call.c:3570
++#: cp/call.c:3556
+ #, gcc-internal-format
+ msgid "enumeral and non-enumeral type in conditional expression"
+ msgstr ""
+
+-#: cp/call.c:3874
++#: cp/call.c:3860
+ #, gcc-internal-format
+ msgid "no %<%D(int)%> declared for postfix %qs, trying prefix operator instead"
+ msgstr ""
+
+-#: cp/call.c:3947
++#: cp/call.c:3936
+ #, gcc-internal-format
+ msgid "comparison between %q#T and %q#T"
+ msgstr ""
+
+-#: cp/call.c:4229
++#: cp/call.c:4218
+ #, gcc-internal-format
+ msgid "no corresponding deallocation function for `%D'"
+ msgstr ""
+
+-#: cp/call.c:4234
++#: cp/call.c:4223
+ #, gcc-internal-format
+ msgid "no suitable %<operator %s%> for %qT"
+ msgstr ""
+
+-#: cp/call.c:4252
++#: cp/call.c:4241
+ #, gcc-internal-format
+ msgid "%q+#D is private"
+ msgstr ""
+
+-#: cp/call.c:4254
++#: cp/call.c:4243
+ #, fuzzy, gcc-internal-format
+ msgid "%q+#D is protected"
+ msgstr "το `%s' δεν είναι κανονικό αÏχείο"
+
+-#: cp/call.c:4256
++#: cp/call.c:4245
+ #, fuzzy, gcc-internal-format
+ msgid "%q+#D is inaccessible"
+ msgstr "το `%s' είναι μη-Ï€Ïοσπελάσιμο"
+
+-#: cp/call.c:4257
++#: cp/call.c:4246
+ #, gcc-internal-format
+ msgid "within this context"
+ msgstr ""
+
+-#: cp/call.c:4303
++#: cp/call.c:4292
+ #, fuzzy, gcc-internal-format
+ msgid "passing NULL to non-pointer argument %P of %qD"
+ msgstr "Λείπει παÏάμετÏος για `%s'"
+
+-#: cp/call.c:4306
++#: cp/call.c:4295
+ #, fuzzy, gcc-internal-format
+ msgid "converting to non-pointer type %qT from NULL"
+ msgstr "δεν είναι δυνατό να δημιουÏγηθεί το %s `%s' στο `%s'"
+
+-#: cp/call.c:4312
++#: cp/call.c:4301
+ #, fuzzy, gcc-internal-format
+ msgid "converting %<false%> to pointer type for argument %P of %qD"
+ msgstr "δεν είναι δυνατό να δημιουÏγηθεί το %s `%s' στο `%s'"
+
+-#: cp/call.c:4356 cp/cvt.c:217
++#: cp/call.c:4346 cp/cvt.c:217
+ #, fuzzy, gcc-internal-format
+ msgid "invalid conversion from %qT to %qT"
+ msgstr "η μετατÏοπή από `%s' σε `%s' δεν υποστηÏίζετε"
+
+-#: cp/call.c:4358
++#: cp/call.c:4348
+ #, fuzzy, gcc-internal-format
+ msgid " initializing argument %P of %qD"
+ msgstr "Μη έγκυÏη ακέÏαια παÏάμετÏος `%s'"
+
+-#: cp/call.c:4491
++#: cp/call.c:4498
+ #, fuzzy, gcc-internal-format
+ msgid "cannot bind bitfield %qE to %qT"
+ msgstr "δεν είναι δυνατό να μετανομαστεί το `.' ή το `..'"
+
+-#: cp/call.c:4494 cp/call.c:4510
++#: cp/call.c:4501 cp/call.c:4517
+ #, fuzzy, gcc-internal-format
+ msgid "cannot bind packed field %qE to %qT"
+ msgstr "άγνωστος χαÏακτήÏας στο πεδίο `%s' της κατηγοÏίας `%s'"
+
+-#: cp/call.c:4497
++#: cp/call.c:4504
+ #, fuzzy, gcc-internal-format
+ msgid "cannot bind rvalue %qE to %qT"
+ msgstr "δεν είναι δυνατό να μετανομαστεί το `.' ή το `..'"
+
+-#: cp/call.c:4611
++#: cp/call.c:4620
+ #, gcc-internal-format
+ msgid "cannot pass objects of non-POD type %q#T through %<...%>; call will abort at runtime"
+ msgstr ""
+
+ #. Undefined behavior [expr.call] 5.2.2/7.
+-#: cp/call.c:4639
++#: cp/call.c:4648
+ #, gcc-internal-format
+ msgid "cannot receive objects of non-POD type %q#T through %<...%>; call will abort at runtime"
+ msgstr ""
+
+-#: cp/call.c:4687
++#: cp/call.c:4696
+ #, gcc-internal-format
+ msgid "the default argument for parameter %d of %qD has not yet been parsed"
+ msgstr ""
+
+-#: cp/call.c:4697
++#: cp/call.c:4706
+ #, fuzzy, gcc-internal-format
+ msgid "recursive evaluation of default argument for %q#D"
+ msgstr "Η παÏάμετÏος `%s' δεν είναι έγκυÏη."
+
+-#: cp/call.c:4802
++#: cp/call.c:4811
+ #, gcc-internal-format
+ msgid "argument of function call might be a candidate for a format attribute"
+ msgstr ""
+
+-#: cp/call.c:4950
++#: cp/call.c:4959
+ #, gcc-internal-format
+ msgid "passing %qT as %<this%> argument of %q#D discards qualifiers"
+ msgstr ""
+
+-#: cp/call.c:4969
++#: cp/call.c:4978
+ #, fuzzy, gcc-internal-format
+ msgid "%qT is not an accessible base of %qT"
+ msgstr "το `%s' είναι Ï€Ïόγονος του `%s'"
+
+-#: cp/call.c:5229
++#: cp/call.c:5238
+ #, gcc-internal-format
+ msgid "could not find class$ field in java interface type %qT"
+ msgstr ""
+
+-#: cp/call.c:5470
++#: cp/call.c:5479
+ #, gcc-internal-format
+ msgid "call to non-function %qD"
+ msgstr "κλήση σε μη-συνάÏτηση %qD"
+
+-#: cp/call.c:5595
++#: cp/call.c:5604
+ #, gcc-internal-format
+ msgid "no matching function for call to %<%T::%s(%A)%#V%>"
+ msgstr "δεν ταιÏιάζει συνάÏτηση για την κλήση στο %<%T::%s(%A)%#V%>"
+
+ # src/getopt.c:813
+ # src/getopt.c:813
+-#: cp/call.c:5613
++#: cp/call.c:5622
+ #, gcc-internal-format
+ msgid "call of overloaded %<%s(%A)%> is ambiguous"
+ msgstr "η κλήση της υπεÏφοÏτωμένης %<%s(%A)%> είναι διφοÏοÏμενη"
+
+-#: cp/call.c:5639
++#: cp/call.c:5648
+ #, gcc-internal-format
+ msgid "cannot call member function %qD without object"
+ msgstr ""
+
+-#: cp/call.c:6283
++#: cp/call.c:6307
+ #, gcc-internal-format
+ msgid "passing %qT chooses %qT over %qT"
+ msgstr ""
+
+-#: cp/call.c:6285 cp/name-lookup.c:4320 cp/name-lookup.c:4753
++#: cp/call.c:6309 cp/name-lookup.c:4322 cp/name-lookup.c:4757
+ #, fuzzy, gcc-internal-format
+ msgid " in call to %qD"
+ msgstr "Μη έγκυÏη επιλογή `%s'"
+
+-#: cp/call.c:6342
++#: cp/call.c:6366
+ #, gcc-internal-format
+ msgid "choosing %qD over %qD"
+ msgstr ""
+
+-#: cp/call.c:6343
++#: cp/call.c:6367
+ #, fuzzy, gcc-internal-format
+ msgid " for conversion from %qT to %qT"
+ msgstr "η μετατÏοπή από `%s' σε `%s' δεν υποστηÏίζετε"
+
+-#: cp/call.c:6345
++#: cp/call.c:6369
+ #, gcc-internal-format
+ msgid " because conversion sequence for the argument is better"
+ msgstr ""
+
+-#: cp/call.c:6459
++#: cp/call.c:6483
+ #, 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.c:6603
++#: cp/call.c:6627
+ #, fuzzy, gcc-internal-format
+ msgid "could not convert %qE to %qT"
+ msgstr "δεν είναι δυνατό να δημιουÏγηθεί το %s `%s' στο `%s'"
+
+-#: cp/call.c:6737
++#: cp/call.c:6761
+ #, gcc-internal-format
+ msgid "invalid initialization of non-const reference of type %qT from a temporary of type %qT"
+ msgstr ""
+
+-#: cp/call.c:6741
++#: cp/call.c:6765
+ #, gcc-internal-format
+ msgid "invalid initialization of reference of type %qT from expression of type %qT"
+ msgstr ""
+@@ -27243,343 +27204,343 @@
+ msgid "cannot convert from base %qT to derived type %qT via virtual base %qT"
+ msgstr "δεν είναι δυνατό να δημιουÏγηθεί το %s `%s' στο `%s'"
+
+-#: cp/class.c:961
++#: cp/class.c:971
+ #, gcc-internal-format
+ msgid "Java class %qT cannot have a destructor"
+ msgstr ""
+
+-#: cp/class.c:963
++#: cp/class.c:973
+ #, gcc-internal-format
+ msgid "Java class %qT cannot have an implicit non-trivial destructor"
+ msgstr ""
+
+-#: cp/class.c:1062
++#: cp/class.c:1074
+ #, fuzzy, gcc-internal-format
+ msgid "repeated using declaration %q+D"
+ msgstr "μη έγκυÏος αÏιθμός από κενές γÏαμμές: `%s'"
+
+-#: cp/class.c:1064
++#: cp/class.c:1076
+ #, fuzzy, gcc-internal-format
+ msgid "using declaration %q+D conflicts with a previous using declaration"
+ msgstr "αυτός είναι ο Ï€Ïώτος οÏισμός"
+
+-#: cp/class.c:1069
++#: cp/class.c:1081
+ #, fuzzy, gcc-internal-format
+ msgid "%q+#D cannot be overloaded"
+ msgstr "Δεν μποÏεί να τεθεί η ημεÏομηνία."
+
+-#: cp/class.c:1070
++#: cp/class.c:1082
+ #, gcc-internal-format
+ msgid "with %q+#D"
+ msgstr ""
+
+-#: cp/class.c:1137
++#: cp/class.c:1149
+ #, gcc-internal-format
+ msgid "conflicting access specifications for method %q+D, ignored"
+ msgstr ""
+
+-#: cp/class.c:1140
++#: cp/class.c:1152
+ #, gcc-internal-format
+ msgid "conflicting access specifications for field %qE, ignored"
+ msgstr ""
+
+-#: cp/class.c:1201 cp/class.c:1209
++#: cp/class.c:1213 cp/class.c:1221
+ #, fuzzy, gcc-internal-format
+ msgid "%q+D invalid in %q#T"
+ msgstr "Μη έγκυÏη επιλογή `%s'"
+
+-#: cp/class.c:1202
++#: cp/class.c:1214
+ #, gcc-internal-format
+ msgid " because of local method %q+#D with same name"
+ msgstr ""
+
+-#: cp/class.c:1210
++#: cp/class.c:1222
+ #, gcc-internal-format
+ msgid " because of local member %q+#D with same name"
+ msgstr ""
+
+-#: cp/class.c:1253
++#: cp/class.c:1265
+ #, fuzzy, gcc-internal-format
+ msgid "base class %q#T has a non-virtual destructor"
+ msgstr "Το `%s' δεν είναι κατάλογος."
+
+-#: cp/class.c:1570
++#: cp/class.c:1582
+ #, gcc-internal-format
+ msgid "all member functions in class %qT are private"
+ msgstr ""
+
+-#: cp/class.c:1582
++#: cp/class.c:1594
+ #, gcc-internal-format
+ msgid "%q#T only defines a private destructor and has no friends"
+ msgstr ""
+
+-#: cp/class.c:1626
++#: cp/class.c:1639
+ #, gcc-internal-format
+ msgid "%q#T only defines private constructors and has no friends"
+ msgstr ""
+
+-#: cp/class.c:2019
++#: cp/class.c:2032
+ #, gcc-internal-format
+ msgid "no unique final overrider for %qD in %qT"
+ msgstr ""
+
+ #. Here we know it is a hider, and no overrider exists.
+-#: cp/class.c:2439
++#: cp/class.c:2452
+ #, gcc-internal-format
+ msgid "%q+D was hidden"
+ msgstr ""
+
+-#: cp/class.c:2440
++#: cp/class.c:2453
+ #, fuzzy, gcc-internal-format
+ msgid " by %q+D"
+ msgstr " κατά `%D'"
+
+-#: cp/class.c:2483 cp/decl2.c:1135
++#: cp/class.c:2496 cp/decl2.c:1178
+ #, fuzzy, gcc-internal-format
+ msgid "%q+#D invalid; an anonymous union can only have non-static data members"
+ msgstr "μη έγκυÏος αÏιθμός από στήλες: `%s'"
+
+-#: cp/class.c:2486
++#: cp/class.c:2499
+ #, fuzzy, gcc-internal-format
+ msgid "%q+#D invalid; an anonymous struct can only have non-static data members"
+ msgstr "μη έγκυÏος αÏιθμός από στήλες: `%s'"
+
+-#: cp/class.c:2494 cp/decl2.c:1141
++#: cp/class.c:2507 cp/decl2.c:1184
+ #, fuzzy, gcc-internal-format
+ msgid "private member %q+#D in anonymous union"
+ msgstr "μη έγκυÏος αÏιθμός πεδίου: `%s'"
+
+-#: cp/class.c:2496
++#: cp/class.c:2509
+ #, gcc-internal-format
+ msgid "private member %q+#D in anonymous struct"
+ msgstr ""
+
+-#: cp/class.c:2501 cp/decl2.c:1143
++#: cp/class.c:2514 cp/decl2.c:1186
+ #, gcc-internal-format
+ msgid "protected member %q+#D in anonymous union"
+ msgstr ""
+
+-#: cp/class.c:2503
++#: cp/class.c:2516
+ #, gcc-internal-format
+ msgid "protected member %q+#D in anonymous struct"
+ msgstr ""
+
+-#: cp/class.c:2677
++#: cp/class.c:2695
+ #, fuzzy, gcc-internal-format
+ msgid "bit-field %q+#D with non-integral type"
+ msgstr "η τιμή για το %s Ï€Ïέπει να είναι ακέÏαιος"
+
+-#: cp/class.c:2690
++#: cp/class.c:2708
+ #, fuzzy, gcc-internal-format
+ msgid "bit-field %q+D width not an integer constant"
+ msgstr "η τιμή για το %s Ï€Ïέπει να είναι ακέÏαιος"
+
+-#: cp/class.c:2695
++#: cp/class.c:2713
+ #, fuzzy, gcc-internal-format
+ msgid "negative width in bit-field %q+D"
+ msgstr "ΑÏνητικό πλάτος στην αποτίμηση"
+
+-#: cp/class.c:2700
++#: cp/class.c:2718
+ #, fuzzy, gcc-internal-format
+ msgid "zero width for bit-field %q+D"
+ msgstr "ΑÏνητικό πλάτος στην αποτίμηση"
+
+-#: cp/class.c:2706
++#: cp/class.c:2724
+ #, gcc-internal-format
+ msgid "width of %q+D exceeds its type"
+ msgstr ""
+
+-#: cp/class.c:2715
++#: cp/class.c:2733
+ #, fuzzy, gcc-internal-format
+ msgid "%q+D is too small to hold all values of %q#T"
+ msgstr "Το `%s' δεν είναι κατάλογος."
+
+-#: cp/class.c:2772
++#: cp/class.c:2790
+ #, gcc-internal-format
+ msgid "member %q+#D with constructor not allowed in union"
+ msgstr ""
+
+-#: cp/class.c:2775
++#: cp/class.c:2793
+ #, fuzzy, gcc-internal-format
+ msgid "member %q+#D with destructor not allowed in union"
+ msgstr "%s: οι τιμές του πεδίου `%s' δεν Ï€Ïέπει να είναι μεγαλÏτεÏες από %d"
+
+-#: cp/class.c:2777
++#: cp/class.c:2795
+ #, gcc-internal-format
+ msgid "member %q+#D with copy assignment operator not allowed in union"
+ msgstr ""
+
+-#: cp/class.c:2801
++#: cp/class.c:2819
+ #, gcc-internal-format
+ msgid "multiple fields in union %qT initialized"
+ msgstr ""
+
+-#: cp/class.c:2890
++#: cp/class.c:2908
+ #, fuzzy, gcc-internal-format
+ msgid "%q+D may not be static because it is a member of a union"
+ msgstr "η `%s' είναι συνήθως μη-στατική συνάÏτηση"
+
+-#: cp/class.c:2895
++#: cp/class.c:2913
+ #, fuzzy, gcc-internal-format
+ msgid "%q+D may not have reference type %qT because it is a member of a union"
+ msgstr "%s' δεν είναι ισχÏων θετικός ακέÏαιος."
+
+-#: cp/class.c:2906
++#: cp/class.c:2924
+ #, fuzzy, gcc-internal-format
+ msgid "field %q+D invalidly declared function type"
+ msgstr "Μη έγκυÏη επιλογή `%s'"
+
+-#: cp/class.c:2912
++#: cp/class.c:2930
+ #, fuzzy, gcc-internal-format
+ msgid "field %q+D invalidly declared method type"
+ msgstr "Μη έγκυÏη επιλογή `%s'"
+
+-#: cp/class.c:2944
++#: cp/class.c:2968
+ #, gcc-internal-format
+-msgid "non-static reference %q+#D in class without a constructor"
+-msgstr ""
+-
+-#: cp/class.c:2955
+-#, gcc-internal-format
+ msgid "ignoring packed attribute because of unpacked non-POD field %q+#D"
+ msgstr ""
+
+-#: cp/class.c:3022
+-#, gcc-internal-format
+-msgid "non-static const member %q+#D in class without a constructor"
+-msgstr ""
+-
+-#: cp/class.c:3037
++#: cp/class.c:3047
+ #, fuzzy, gcc-internal-format
+ msgid "field %q+#D with same name as class"
+ msgstr "ΥπάÏχει αντικείμενο με το ίδιο όνομα"
+
+-#: cp/class.c:3068
++#: cp/class.c:3078
+ #, gcc-internal-format
+ msgid "%q#T has pointer data members"
+ msgstr ""
+
+-#: cp/class.c:3073
++#: cp/class.c:3083
+ #, gcc-internal-format
+ msgid " but does not override %<%T(const %T&)%>"
+ msgstr ""
+
+-#: cp/class.c:3075
++#: cp/class.c:3085
+ #, gcc-internal-format
+ msgid " or %<operator=(const %T&)%>"
+ msgstr ""
+
+-#: cp/class.c:3079
++#: cp/class.c:3089
+ #, gcc-internal-format
+ msgid " but does not override %<operator=(const %T&)%>"
+ msgstr ""
+
+-#: cp/class.c:3540
++#: cp/class.c:3550
+ #, gcc-internal-format
+ msgid "offset of empty base %qT may not be ABI-compliant and maychange in a future version of GCC"
+ msgstr ""
+
+-#: cp/class.c:3665
++#: cp/class.c:3675
+ #, gcc-internal-format
+ msgid "class %qT will be considered nearly empty in a future version of GCC"
+ msgstr ""
+
+-#: cp/class.c:3747
++#: cp/class.c:3757
+ #, fuzzy, gcc-internal-format
+ msgid "initializer specified for non-virtual method %q+D"
+ msgstr "Μη έγκυÏη ακέÏαια παÏάμετÏος `%s'"
+
+-#: cp/class.c:4412
++#: cp/class.c:4228
+ #, gcc-internal-format
++msgid "non-static reference %q+#D in class without a constructor"
++msgstr ""
++
++#: cp/class.c:4233
++#, gcc-internal-format
++msgid "non-static const member %q+#D in class without a constructor"
++msgstr ""
++
++#: cp/class.c:4488
++#, gcc-internal-format
+ msgid "offset of virtual base %qT is not ABI-compliant and may change in a future version of GCC"
+ msgstr ""
+
+-#: cp/class.c:4513
++#: cp/class.c:4589
+ #, gcc-internal-format
+ msgid "direct base %qT inaccessible in %qT due to ambiguity"
+ msgstr ""
+
+-#: cp/class.c:4525
++#: cp/class.c:4601
+ #, gcc-internal-format
+ msgid "virtual base %qT inaccessible in %qT due to ambiguity"
+ msgstr ""
+
+-#: cp/class.c:4704
++#: cp/class.c:4780
+ #, gcc-internal-format
+ msgid "size assigned to %qT may not be ABI-compliant and may change in a future version of GCC"
+ msgstr ""
+
+-#: cp/class.c:4744
++#: cp/class.c:4820
+ #, gcc-internal-format
+ msgid "the offset of %qD may not be ABI-compliant and may change in a future version of GCC"
+ msgstr ""
+
+-#: cp/class.c:4772
++#: cp/class.c:4848
+ #, gcc-internal-format
+ msgid "offset of %q+D is not ABI-compliant and may change in a future version of GCC"
+ msgstr ""
+
+-#: cp/class.c:4781
++#: cp/class.c:4857
+ #, gcc-internal-format
+ msgid "%q+D contains empty classes which may cause base classes to be placed at different locations in a future version of GCC"
+ msgstr ""
+
+-#: cp/class.c:4864
++#: cp/class.c:4944
+ #, gcc-internal-format
+ msgid "layout of classes derived from empty class %qT may change in a future version of GCC"
+ msgstr ""
+
+-#: cp/class.c:5010 cp/parser.c:14608
++#: cp/class.c:5090 cp/parser.c:14688
+ #, fuzzy, gcc-internal-format
+ msgid "redefinition of %q#T"
+ msgstr "κανένας οÏισμός του `UNDEFINED'"
+
+-#: cp/class.c:5166
++#: cp/class.c:5246
+ #, fuzzy, gcc-internal-format
+ msgid "%q#T has virtual functions and accessible non-virtual destructor"
+ msgstr "Το `%s' δεν είναι κατάλογος."
+
+-#: cp/class.c:5268
++#: cp/class.c:5348
+ #, gcc-internal-format
+ msgid "trying to finish struct, but kicked out due to previous parse errors"
+ msgstr ""
+
+-#: cp/class.c:5728
++#: cp/class.c:5808
+ #, gcc-internal-format
+ msgid "language string %<\"%E\"%> not recognized"
+ msgstr ""
+
+-#: cp/class.c:5817
++#: cp/class.c:5897
+ #, gcc-internal-format
+ msgid "cannot resolve overloaded function %qD based on conversion to type %qT"
+ msgstr ""
+
+-#: cp/class.c:5946
++#: cp/class.c:6026
+ #, fuzzy, gcc-internal-format
+ msgid "no matches converting function %qD to type %q#T"
+ msgstr "δεν είναι δυνατό να δημιουÏγηθεί το %s `%s' στο `%s'"
+
+-#: cp/class.c:5969
++#: cp/class.c:6049
+ #, fuzzy, gcc-internal-format
+ msgid "converting overloaded function %qD to type %q#T is ambiguous"
+ msgstr "η μετατÏοπή από `%s' σε `%s' δεν υποστηÏίζετε"
+
+-#: cp/class.c:5995
++#: cp/class.c:6075
+ #, fuzzy, gcc-internal-format
+ msgid "assuming pointer to member %qD"
+ msgstr "δεν είστε μέλος της ομάδας `%s'"
+
+-#: cp/class.c:5998
++#: cp/class.c:6078
+ #, gcc-internal-format
+ msgid "(a pointer to member can only be formed with %<&%E%>)"
+ msgstr ""
+
+-#: cp/class.c:6054 cp/class.c:6088
++#: cp/class.c:6134 cp/class.c:6168
+ #, fuzzy, gcc-internal-format
+ msgid "not enough type information"
+ msgstr "εμφάνιση πληÏοφοÏιών Ï€Ïοόδου"
+
+-#: cp/class.c:6071
++#: cp/class.c:6151
+ #, gcc-internal-format
+ msgid "argument of type %qT does not match %qT"
+ msgstr ""
+@@ -27589,12 +27550,12 @@
+ #. A name N used in a class S shall refer to the same declaration
+ #. in its context and when re-evaluated in the completed scope of
+ #. S.
+-#: cp/class.c:6358 cp/decl.c:1199 cp/name-lookup.c:526
++#: cp/class.c:6438 cp/decl.c:1200 cp/name-lookup.c:525
+ #, fuzzy, gcc-internal-format
+ msgid "declaration of %q#D"
+ msgstr "δημιουÏγία αÏχείου `%s'\n"
+
+-#: cp/class.c:6359
++#: cp/class.c:6439
+ #, gcc-internal-format
+ msgid "changes meaning of %qD from %q+#D"
+ msgstr ""
+@@ -27629,7 +27590,7 @@
+ msgid "conversion from %qT to %qT discards qualifiers"
+ msgstr "η μετατÏοπή από `%s' σε `%s' δεν υποστηÏίζετε"
+
+-#: cp/cvt.c:470 cp/typeck.c:5257
++#: cp/cvt.c:470 cp/typeck.c:5265
+ #, fuzzy, gcc-internal-format
+ msgid "casting %qT to %qT does not dereference pointer"
+ msgstr "Δεν μποÏεί να καθοÏιστεί το όνομα του συστήματος"
+@@ -27639,191 +27600,191 @@
+ msgid "cannot convert type %qT to type %qT"
+ msgstr "δεν είναι δυνατό να δημιουÏγηθεί το %s `%s' στο `%s'"
+
+-#: cp/cvt.c:656
++#: cp/cvt.c:649
+ #, fuzzy, gcc-internal-format
+ msgid "conversion from %q#T to %q#T"
+ msgstr "η μετατÏοπή από `%s' σε `%s' δεν υποστηÏίζετε"
+
+-#: cp/cvt.c:668 cp/cvt.c:688
++#: cp/cvt.c:661 cp/cvt.c:681
+ #, gcc-internal-format
+ msgid "%q#T used where a %qT was expected"
+ msgstr ""
+
+-#: cp/cvt.c:703
++#: cp/cvt.c:696
+ #, gcc-internal-format
+ msgid "%q#T used where a floating point value was expected"
+ msgstr ""
+
+-#: cp/cvt.c:750
++#: cp/cvt.c:743
+ #, fuzzy, gcc-internal-format
+ msgid "conversion from %qT to non-scalar type %qT requested"
+ msgstr "η μετατÏοπή από `%s' σε `%s' δεν υποστηÏίζετε"
+
+-#: cp/cvt.c:784
++#: cp/cvt.c:777
+ #, fuzzy, gcc-internal-format
+ msgid "pseudo-destructor is not called"
+ msgstr "%s: οι τιμές του πεδίου `%s' δεν Ï€Ïέπει να είναι μεγαλÏτεÏες από %d"
+
+-#: cp/cvt.c:844
++#: cp/cvt.c:837
+ #, gcc-internal-format
+ msgid "object of incomplete type %qT will not be accessed in %s"
+ msgstr ""
+
+-#: cp/cvt.c:849
++#: cp/cvt.c:842
+ #, gcc-internal-format
+ msgid "object of type %qT will not be accessed in %s"
+ msgstr ""
+
+-#: cp/cvt.c:865
++#: cp/cvt.c:858
+ #, gcc-internal-format
+ msgid "object %qE of incomplete type %qT will not be accessed in %s"
+ msgstr ""
+
+ #. [over.over] enumerates the places where we can take the address
+ #. of an overloaded function, and this is not one of them.
+-#: cp/cvt.c:902
++#: cp/cvt.c:895
+ #, gcc-internal-format
+ msgid "%s cannot resolve address of overloaded function"
+ msgstr ""
+
+ #. Only warn when there is no &.
+-#: cp/cvt.c:909
++#: cp/cvt.c:902
+ #, gcc-internal-format
+ msgid "%s is a reference, not call, to function %qE"
+ msgstr ""
+
+ # src/request.c:37
+-#: cp/cvt.c:926
++#: cp/cvt.c:919
+ #, fuzzy, gcc-internal-format
+ msgid "%s has no effect"
+ msgstr "%s σε %s"
+
+-#: cp/cvt.c:958
++#: cp/cvt.c:951
+ #, gcc-internal-format
+ msgid "value computed is not used"
+ msgstr ""
+
+-#: cp/cvt.c:1068
++#: cp/cvt.c:1061
+ #, gcc-internal-format
+ msgid "converting NULL to non-pointer type"
+ msgstr ""
+
+-#: cp/cvt.c:1174
++#: cp/cvt.c:1167
+ #, gcc-internal-format
+ msgid "ambiguous default type conversion from %qT"
+ msgstr ""
+
+-#: cp/cvt.c:1176
++#: cp/cvt.c:1169
+ #, gcc-internal-format
+ msgid " candidate conversions include %qD and %qD"
+ msgstr ""
+
+-#: cp/decl.c:1062
++#: cp/decl.c:1063
+ #, gcc-internal-format
+ msgid "%qD was declared %<extern%> and later %<static%>"
+ msgstr ""
+
+-#: cp/decl.c:1063 cp/decl.c:1618 objc/objc-act.c:2931 objc/objc-act.c:7503
++#: cp/decl.c:1064 cp/decl.c:1619 objc/objc-act.c:2931 objc/objc-act.c:7503
+ #, fuzzy, gcc-internal-format
+ msgid "previous declaration of %q+D"
+ msgstr "Ï€ÏοηγοÏμενη αυτονόητη διακÏÏηξη του `%s'"
+
+-#: cp/decl.c:1096
++#: cp/decl.c:1097
+ #, gcc-internal-format
+ msgid "declaration of %qF throws different exceptions"
+ msgstr ""
+
+-#: cp/decl.c:1097
++#: cp/decl.c:1098
+ #, fuzzy, gcc-internal-format
+ msgid "from previous declaration %q+F"
+ msgstr "αυτός είναι ο Ï€Ïώτος οÏισμός"
+
+-#: cp/decl.c:1153
++#: cp/decl.c:1154
+ #, fuzzy, gcc-internal-format
+ msgid "function %q+D redeclared as inline"
+ msgstr "Η λειτουÏγία δεν έχει υλοποιηθεί"
+
+-#: cp/decl.c:1155
++#: cp/decl.c:1156
+ #, fuzzy, gcc-internal-format
+ msgid "previous declaration of %q+D with attribute noinline"
+ msgstr "Ï€ÏοηγοÏμενη αυτονόητη διακÏÏηξη του `%s'"
+
+-#: cp/decl.c:1162
++#: cp/decl.c:1163
+ #, fuzzy, gcc-internal-format
+ msgid "function %q+D redeclared with attribute noinline"
+ msgstr "Η λειτουÏγία δεν έχει υλοποιηθεί"
+
+-#: cp/decl.c:1164
++#: cp/decl.c:1165
+ #, fuzzy, gcc-internal-format
+ msgid "previous declaration of %q+D was inline"
+ msgstr "Ï€ÏοηγοÏμενη αυτονόητη διακÏÏηξη του `%s'"
+
+-#: cp/decl.c:1186 cp/decl.c:1259
++#: cp/decl.c:1187 cp/decl.c:1260
+ #, gcc-internal-format
+ msgid "shadowing %s function %q#D"
+ msgstr ""
+
+-#: cp/decl.c:1195
++#: cp/decl.c:1196
+ #, gcc-internal-format
+ msgid "library function %q#D redeclared as non-function %q#D"
+ msgstr ""
+
+-#: cp/decl.c:1200
++#: cp/decl.c:1201
+ #, gcc-internal-format
+ msgid "conflicts with built-in declaration %q#D"
+ msgstr ""
+
+-#: cp/decl.c:1254 cp/decl.c:1380 cp/decl.c:1396
++#: cp/decl.c:1255 cp/decl.c:1381 cp/decl.c:1397
+ #, fuzzy, gcc-internal-format
+ msgid "new declaration %q#D"
+ msgstr "δημιουÏγία αÏχείου `%s'\n"
+
+-#: cp/decl.c:1255
++#: cp/decl.c:1256
+ #, fuzzy, gcc-internal-format
+ msgid "ambiguates built-in declaration %q#D"
+ msgstr "διπλό όνομα χαÏακτήÏα `%s'"
+
+-#: cp/decl.c:1344
++#: cp/decl.c:1345
+ #, gcc-internal-format
+ msgid "%q#D redeclared as different kind of symbol"
+ msgstr ""
+
+-#: cp/decl.c:1347
++#: cp/decl.c:1348
+ #, fuzzy, gcc-internal-format
+ msgid "previous declaration of %q+#D"
+ msgstr "Ï€ÏοηγοÏμενη αυτονόητη διακÏÏηξη του `%s'"
+
+-#: cp/decl.c:1366
++#: cp/decl.c:1367
+ #, fuzzy, gcc-internal-format
+ msgid "declaration of template %q#D"
+ msgstr "δημιουÏγία αÏχείου `%s'\n"
+
+-#: cp/decl.c:1367 cp/name-lookup.c:527
++#: cp/decl.c:1368 cp/name-lookup.c:526
+ #, fuzzy, gcc-internal-format
+ msgid "conflicts with previous declaration %q+#D"
+ msgstr "αυτός είναι ο Ï€Ïώτος οÏισμός"
+
+-#: cp/decl.c:1381 cp/decl.c:1397
++#: cp/decl.c:1382 cp/decl.c:1398
+ #, fuzzy, gcc-internal-format
+ msgid "ambiguates old declaration %q+#D"
+ msgstr "διπλό όνομα χαÏακτήÏα `%s'"
+
+-#: cp/decl.c:1389
++#: cp/decl.c:1390
+ #, fuzzy, gcc-internal-format
+ msgid "declaration of C function %q#D conflicts with"
+ msgstr "αυτονόητη διακÏÏηξη της συνάÏτησης `%#D'"
+
+-#: cp/decl.c:1391
++#: cp/decl.c:1392
+ #, fuzzy, gcc-internal-format
+ msgid "previous declaration %q+#D here"
+ msgstr "Δεν υπάÏχει Ï€ÏοηγοÏμενη κανονική έκφÏαση"
+
+-#: cp/decl.c:1405
++#: cp/decl.c:1406
+ #, fuzzy, gcc-internal-format
+ msgid "conflicting declaration %q#D"
+ msgstr "Μη έγκυÏη ανταλλαγή"
+
+-#: cp/decl.c:1406
++#: cp/decl.c:1407
+ #, fuzzy, gcc-internal-format
+ msgid "%q+D has a previous declaration as %q#D"
+ msgstr "αυτός είναι ο Ï€Ïώτος οÏισμός"
+@@ -27835,63 +27796,63 @@
+ #. A namespace-name defined at global scope shall not be
+ #. declared as the name of any other entity in any global scope
+ #. of the program.
+-#: cp/decl.c:1458
++#: cp/decl.c:1459
+ #, gcc-internal-format
+ msgid "declaration of namespace %qD conflicts with"
+ msgstr ""
+
+-#: cp/decl.c:1459
++#: cp/decl.c:1460
+ #, fuzzy, gcc-internal-format
+ msgid "previous declaration of namespace %q+D here"
+ msgstr "Ï€ÏοηγοÏμενη αυτονόητη διακÏÏηξη του `%s'"
+
+-#: cp/decl.c:1470
++#: cp/decl.c:1471
+ #, fuzzy, gcc-internal-format
+ msgid "%q+#D previously defined here"
+ msgstr "Δεν υπάÏχει Ï€ÏοηγοÏμενη κανονική έκφÏαση"
+
+ #. Prototype decl follows defn w/o prototype.
+-#: cp/decl.c:1480
++#: cp/decl.c:1481
+ #, fuzzy, gcc-internal-format
+ msgid "prototype for %q+#D"
+ msgstr "διατήÏηση ωÏών στο %s"
+
+-#: cp/decl.c:1481
++#: cp/decl.c:1482
+ #, gcc-internal-format
+ msgid "%Jfollows non-prototype definition here"
+ msgstr ""
+
+-#: cp/decl.c:1521
++#: cp/decl.c:1522
+ #, fuzzy, gcc-internal-format
+ msgid "previous declaration of %q+#D with %qL linkage"
+ msgstr "Ï€ÏοηγοÏμενη αυτονόητη διακÏÏηξη του `%s'"
+
+-#: cp/decl.c:1523
++#: cp/decl.c:1524
+ #, gcc-internal-format
+ msgid "conflicts with new declaration with %qL linkage"
+ msgstr ""
+
+-#: cp/decl.c:1546 cp/decl.c:1552
++#: cp/decl.c:1547 cp/decl.c:1553
+ #, fuzzy, gcc-internal-format
+ msgid "default argument given for parameter %d of %q#D"
+ msgstr "Η παÏάμετÏος `%s' δεν είναι έγκυÏη."
+
+-#: cp/decl.c:1548 cp/decl.c:1554
++#: cp/decl.c:1549 cp/decl.c:1555
+ #, fuzzy, gcc-internal-format
+ msgid "after previous specification in %q+#D"
+ msgstr "%s: Μη έγκυÏη ÏÏθμιση `%s'.\n"
+
+-#: cp/decl.c:1563
++#: cp/decl.c:1564
+ #, gcc-internal-format
+ msgid "%q#D was used before it was declared inline"
+ msgstr ""
+
+-#: cp/decl.c:1564
++#: cp/decl.c:1565
+ #, fuzzy, gcc-internal-format
+ msgid "%Jprevious non-inline declaration here"
+ msgstr "Ï€ÏοηγοÏμενη αυτονόητη διακÏÏηξη του `%s'"
+
+-#: cp/decl.c:1617
++#: cp/decl.c:1618
+ #, fuzzy, gcc-internal-format
+ msgid "redundant redeclaration of %qD in same scope"
+ msgstr "διπλό όνομα χαÏακτήÏα `%s'"
+@@ -27904,316 +27865,322 @@
+ #. that specialization that would cause an implicit
+ #. instantiation to take place, in every translation unit in
+ #. which such a use occurs.
+-#: cp/decl.c:1932
++#: cp/decl.c:1939
+ #, fuzzy, gcc-internal-format
+ msgid "explicit specialization of %qD after first use"
+ msgstr "Ï€ÏοηγοÏμενη αυτονόητη διακÏÏηξη του `%s'"
+
+-#: cp/decl.c:2028
++#: cp/decl.c:2035
+ #, fuzzy, gcc-internal-format
+ msgid "%q+D: visibility attribute ignored because it"
+ msgstr "το `%s' είναι Ï€Ïόγονος του `%s'"
+
+-#: cp/decl.c:2030
++#: cp/decl.c:2037
+ #, fuzzy, gcc-internal-format
+ msgid "%Jconflicts with previous declaration here"
+ msgstr "αυτός είναι ο Ï€Ïώτος οÏισμός"
+
+-#: cp/decl.c:2457
++#: cp/decl.c:2464
+ #, fuzzy, gcc-internal-format
+ msgid "jump to label %qD"
+ msgstr "διπλό κλειδί"
+
+-#: cp/decl.c:2459
++#: cp/decl.c:2466
+ #, gcc-internal-format
+ msgid "jump to case label"
+ msgstr ""
+
+-#: cp/decl.c:2461
++#: cp/decl.c:2468
+ #, gcc-internal-format
+ msgid "%H from here"
+ msgstr ""
+
+-#: cp/decl.c:2480 cp/decl.c:2643
++#: cp/decl.c:2487 cp/decl.c:2650
+ #, gcc-internal-format
+ msgid " exits OpenMP structured block"
+ msgstr ""
+
+ # src/request.c:263
+-#: cp/decl.c:2501
++#: cp/decl.c:2508
+ #, fuzzy, gcc-internal-format
+ msgid " crosses initialization of %q+#D"
+ msgstr "Το βήμα αÏχικοποίησης απέτυχε"
+
+-#: cp/decl.c:2503 cp/decl.c:2618
++#: cp/decl.c:2510 cp/decl.c:2625
+ #, gcc-internal-format
+ msgid " enters scope of non-POD %q+#D"
+ msgstr ""
+
+-#: cp/decl.c:2516 cp/decl.c:2622
++#: cp/decl.c:2523 cp/decl.c:2629
+ #, gcc-internal-format
+ msgid " enters try block"
+ msgstr ""
+
+-#: cp/decl.c:2518 cp/decl.c:2624
++#: cp/decl.c:2525 cp/decl.c:2631
+ #, gcc-internal-format
+ msgid " enters catch block"
+ msgstr ""
+
+-#: cp/decl.c:2528 cp/decl.c:2627
++#: cp/decl.c:2535 cp/decl.c:2634
+ #, gcc-internal-format
+ msgid " enters OpenMP structured block"
+ msgstr ""
+
+-#: cp/decl.c:2599 cp/decl.c:2639
++#: cp/decl.c:2606 cp/decl.c:2646
+ #, fuzzy, gcc-internal-format
+ msgid "jump to label %q+D"
+ msgstr "διπλό κλειδί"
+
+-#: cp/decl.c:2600 cp/decl.c:2640
++#: cp/decl.c:2607 cp/decl.c:2647
+ #, gcc-internal-format
+ msgid " from here"
+ msgstr ""
+
+ #. Can't skip init of __exception_info.
+-#: cp/decl.c:2612
++#: cp/decl.c:2619
+ #, gcc-internal-format
+ msgid "%J enters catch block"
+ msgstr ""
+
+ # src/request.c:263
+-#: cp/decl.c:2616
++#: cp/decl.c:2623
+ #, fuzzy, gcc-internal-format
+ msgid " skips initialization of %q+#D"
+ msgstr "Το βήμα αÏχικοποίησης απέτυχε"
+
+-#: cp/decl.c:2692
++#: cp/decl.c:2699
+ #, gcc-internal-format
+ msgid "label named wchar_t"
+ msgstr ""
+
+-#: cp/decl.c:2696
++#: cp/decl.c:2703
+ #, fuzzy, gcc-internal-format
+ msgid "duplicate label %qD"
+ msgstr "διπλό κλειδί"
+
+-#: cp/decl.c:2962
++#: cp/decl.c:2969
+ #, fuzzy, gcc-internal-format
+ msgid "%qD is not a type"
+ msgstr "το `%s' δεν είναι κανονικό αÏχείο"
+
+-#: cp/decl.c:2968 cp/parser.c:4033
++#: cp/decl.c:2975 cp/parser.c:4037
+ #, fuzzy, gcc-internal-format
+ msgid "%qD used without template parameters"
+ msgstr "διπλό όνομα χαÏακτήÏα `%s'"
+
+-#: cp/decl.c:2983
++#: cp/decl.c:2990
+ #, fuzzy, gcc-internal-format
+ msgid "%q#T is not a class"
+ msgstr "το `%s' δεν είναι κανονικό αÏχείο"
+
+-#: cp/decl.c:2995 cp/decl.c:3063
++#: cp/decl.c:3002 cp/decl.c:3070
+ #, gcc-internal-format
+ msgid "no class template named %q#T in %q#T"
+ msgstr ""
+
+-#: cp/decl.c:3003
++#: cp/decl.c:3010
+ #, fuzzy, gcc-internal-format
+ msgid "%<typename %T::%D%> names %q#T, which is not a class template"
+ msgstr "το `%s' δεν είναι κανονικό αÏχείο"
+
+-#: cp/decl.c:3010
++#: cp/decl.c:3017
+ #, fuzzy, gcc-internal-format
+ msgid "%<typename %T::%D%> names %q#T, which is not a type"
+ msgstr "το `%s' δεν είναι κανονικό αÏχείο"
+
+-#: cp/decl.c:3072
++#: cp/decl.c:3079
+ #, fuzzy, gcc-internal-format
+ msgid "template parameters do not match template"
+ msgstr "ο διαχωÏιστής δε μποÏεί να είναι κενός"
+
+-#: cp/decl.c:3073 cp/friend.c:321 cp/friend.c:329
++#: cp/decl.c:3080 cp/friend.c:321 cp/friend.c:329
+ #, fuzzy, gcc-internal-format
+ msgid "%q+D declared here"
+ msgstr "Δεν υπάÏχει Ï€ÏοηγοÏμενη κανονική έκφÏαση"
+
+-#: cp/decl.c:3711
++#: cp/decl.c:3727
+ #, gcc-internal-format
+ msgid "%Jan anonymous struct cannot have function members"
+ msgstr ""
+
+-#: cp/decl.c:3713
++#: cp/decl.c:3729
+ #, gcc-internal-format
+ msgid "%Jan anonymous union cannot have function members"
+ msgstr ""
+
+-#: cp/decl.c:3731
++#: cp/decl.c:3747
+ #, gcc-internal-format
+ msgid "member %q+#D with constructor not allowed in anonymous aggregate"
+ msgstr ""
+
+-#: cp/decl.c:3734
++#: cp/decl.c:3750
+ #, gcc-internal-format
+ msgid "member %q+#D with destructor not allowed in anonymous aggregate"
+ msgstr ""
+
+-#: cp/decl.c:3737
++#: cp/decl.c:3753
+ #, gcc-internal-format
+ msgid "member %q+#D with copy assignment operator not allowed in anonymous aggregate"
+ msgstr ""
+
+-#: cp/decl.c:3762
++#: cp/decl.c:3778
+ #, gcc-internal-format
+ msgid "multiple types in one declaration"
+ msgstr ""
+
+-#: cp/decl.c:3766
++#: cp/decl.c:3782
+ #, fuzzy, gcc-internal-format
+ msgid "redeclaration of C++ built-in type %qT"
+ msgstr "δημιουÏγία αÏχείου `%s'\n"
+
+-#: cp/decl.c:3803
++#: cp/decl.c:3819
+ #, gcc-internal-format
+ msgid "missing type-name in typedef-declaration"
+ msgstr ""
+
+-#: cp/decl.c:3811
++#: cp/decl.c:3827
+ #, gcc-internal-format
+ msgid "ISO C++ prohibits anonymous structs"
+ msgstr ""
+
+-#: cp/decl.c:3818
++#: cp/decl.c:3834
+ #, gcc-internal-format
+ msgid "%qs can only be specified for functions"
+ msgstr ""
+
+-#: cp/decl.c:3824
++#: cp/decl.c:3840
+ #, gcc-internal-format
+ msgid "%<friend%> can only be specified inside a class"
+ msgstr ""
+
+-#: cp/decl.c:3826
++#: cp/decl.c:3842
+ #, gcc-internal-format
+ msgid "%<explicit%> can only be specified for constructors"
+ msgstr ""
+
+-#: cp/decl.c:3828
++#: cp/decl.c:3844
+ #, gcc-internal-format
+ msgid "a storage class can only be specified for objects and functions"
+ msgstr ""
+
+-#: cp/decl.c:3834
++#: cp/decl.c:3850
+ #, gcc-internal-format
+ msgid "qualifiers can only be specified for objects and functions"
+ msgstr ""
+
+-#: cp/decl.c:3837
++#: cp/decl.c:3853
+ #, fuzzy, gcc-internal-format
+ msgid "%<typedef%> was ignored in this declaration"
+ msgstr "Ï€ÏοηγοÏμενη αυτονόητη διακÏÏηξη του `%s'"
+
+-#: cp/decl.c:3866
++#: cp/decl.c:3882
+ #, fuzzy, gcc-internal-format
+ msgid "attribute ignored in declaration of %q+#T"
+ msgstr "αδυναμία ανάγνωσης κεφαλίδας από το `%s'"
+
+-#: cp/decl.c:3867
++#: cp/decl.c:3883
+ #, gcc-internal-format
+ msgid "attribute for %q+#T must follow the %qs keyword"
+ msgstr ""
+
+-#: cp/decl.c:3909
++#: cp/decl.c:3925
+ #, gcc-internal-format
+-msgid "ignoring attributes applied to class type outside of definition"
++msgid "ignoring attributes applied to class type %qT outside of definition"
+ msgstr ""
+
+-#: cp/decl.c:3987
++#. A template type parameter or other dependent type.
++#: cp/decl.c:3929
+ #, gcc-internal-format
++msgid "ignoring attributes applied to dependent type %qT without an associated declaration"
++msgstr ""
++
++#: cp/decl.c:4007
++#, gcc-internal-format
+ msgid "function %q#D is initialized like a variable"
+ msgstr ""
+
+-#: cp/decl.c:3998
++#: cp/decl.c:4018
+ #, gcc-internal-format
+ msgid "declaration of %q#D has %<extern%> and is initialized"
+ msgstr ""
+
+-#: cp/decl.c:4014
++#: cp/decl.c:4034
+ #, gcc-internal-format
+ msgid "definition of %q#D is marked %<dllimport%>"
+ msgstr ""
+
+-#: cp/decl.c:4033
++#: cp/decl.c:4053
+ #, fuzzy, gcc-internal-format
+ msgid "%q#D is not a static member of %q#T"
+ msgstr "το `%s' είναι Ï€Ïόγονος του `%s'"
+
+-#: cp/decl.c:4039
++#: cp/decl.c:4059
+ #, gcc-internal-format
+ msgid "ISO C++ does not permit %<%T::%D%> to be defined as %<%T::%D%>"
+ msgstr ""
+
+-#: cp/decl.c:4048
++#: cp/decl.c:4068
+ #, gcc-internal-format
+ msgid "template header not allowed in member definition of explicitly specialized class"
+ msgstr ""
+
+ # src/request.c:263
+-#: cp/decl.c:4056
++#: cp/decl.c:4076
+ #, fuzzy, gcc-internal-format
+ msgid "duplicate initialization of %qD"
+ msgstr "Το βήμα αÏχικοποίησης απέτυχε"
+
+-#: cp/decl.c:4095
++#: cp/decl.c:4115
+ #, fuzzy, gcc-internal-format
+ msgid "declaration of %q#D outside of class is not definition"
+ msgstr "συντακτικό σφάλμα στον οÏισμό κλάσης χαÏακτήÏων"
+
+-#: cp/decl.c:4188
++#: cp/decl.c:4208
+ #, fuzzy, gcc-internal-format
+ msgid "variable %q#D has initializer but incomplete type"
+ msgstr "μη πλήÏης εγγÏαφή"
+
+-#: cp/decl.c:4194 cp/decl.c:4906
++#: cp/decl.c:4214 cp/decl.c:4926
+ #, fuzzy, gcc-internal-format
+ msgid "elements of array %q#D have incomplete type"
+ msgstr "μη πλήÏης εγγÏαφή"
+
+-#: cp/decl.c:4200
++#: cp/decl.c:4220
+ #, gcc-internal-format
+ msgid "aggregate %q#D has incomplete type and cannot be defined"
+ msgstr ""
+
+-#: cp/decl.c:4236
++#: cp/decl.c:4256
+ #, gcc-internal-format
+ msgid "%qD declared as reference but not initialized"
+ msgstr ""
+
+-#: cp/decl.c:4242
++#: cp/decl.c:4262
+ #, gcc-internal-format
+ msgid "ISO C++ forbids use of initializer list to initialize reference %qD"
+ msgstr ""
+
+-#: cp/decl.c:4268
++#: cp/decl.c:4288
+ #, fuzzy, gcc-internal-format
+ msgid "cannot initialize %qT from %qT"
+ msgstr "δεν είναι δυνατό να μετανομαστεί το `.' ή το `..'"
+
+-#: cp/decl.c:4296
++#: cp/decl.c:4316
+ #, gcc-internal-format
+ msgid "name %qD used in a GNU-style designated initializer for an array"
+ msgstr ""
+
+-#: cp/decl.c:4345
++#: cp/decl.c:4365
+ #, gcc-internal-format
+ msgid "initializer fails to determine size of %qD"
+ msgstr ""
+
+-#: cp/decl.c:4352
++#: cp/decl.c:4372
+ #, fuzzy, gcc-internal-format
+ msgid "array size missing in %qD"
+ msgstr "σφάλμα κατά το κλείσιμο της εισόδου `%s'"
+
+-#: cp/decl.c:4364
++#: cp/decl.c:4384
+ #, gcc-internal-format
+ msgid "zero-size array %qD"
+ msgstr ""
+@@ -28221,240 +28188,250 @@
+ #. An automatic variable with an incomplete type: that is an error.
+ #. Don't talk about array types here, since we took care of that
+ #. message in grokdeclarator.
+-#: cp/decl.c:4407
++#: cp/decl.c:4427
+ #, fuzzy, gcc-internal-format
+ msgid "storage size of %qD isn't known"
+ msgstr "Το όνομα `%s' είναι άγνωστο\n"
+
+-#: cp/decl.c:4429
++#: cp/decl.c:4449
+ #, fuzzy, gcc-internal-format
+ msgid "storage size of %qD isn't constant"
+ msgstr "Το όνομα `%s' είναι άγνωστο\n"
+
+-#: cp/decl.c:4478
++#: cp/decl.c:4498
+ #, 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.c:4481
++#: cp/decl.c:4501
+ #, gcc-internal-format
+ msgid "%J you can work around this by removing the initializer"
+ msgstr ""
+
+-#: cp/decl.c:4508
++#: cp/decl.c:4528
+ #, gcc-internal-format
+ msgid "uninitialized const %qD"
+ msgstr "μη αÏχικοποιημένη σταθεÏά const %qD"
+
+-#: cp/decl.c:4620
++#: cp/decl.c:4640
+ #, fuzzy, gcc-internal-format
+ msgid "invalid type %qT as initializer for a vector of type %qT"
+ msgstr "Μη έγκυÏη ακέÏαια παÏάμετÏος `%s'"
+
+-#: cp/decl.c:4662
++#: cp/decl.c:4682
+ #, gcc-internal-format
+ msgid "initializer for %qT must be brace-enclosed"
+ msgstr ""
+
+-#: cp/decl.c:4680
++#: cp/decl.c:4700
+ #, fuzzy, gcc-internal-format
+ msgid "%qT has no non-static data member named %qD"
+ msgstr "το `%s' είναι Ï€Ïόγονος του `%s'"
+
+-#: cp/decl.c:4731
++#: cp/decl.c:4751
+ #, fuzzy, gcc-internal-format
+ msgid "braces around scalar initializer for type %qT"
+ msgstr "ακολουθοÏν σκουπίδια στο τέλος της γÏαμμής"
+
+-#: cp/decl.c:4814
++#: cp/decl.c:4834
+ #, fuzzy, gcc-internal-format
+ msgid "missing braces around initializer for %qT"
+ msgstr "ακολουθοÏν σκουπίδια στο τέλος της γÏαμμής"
+
+-#: cp/decl.c:4871
++#: cp/decl.c:4891
+ #, fuzzy, gcc-internal-format
+ msgid "too many initializers for %qT"
+ msgstr "υπεÏβολικά πολλά αÏχεία εισόδου"
+
+-#: cp/decl.c:4914
++#: cp/decl.c:4934
+ #, gcc-internal-format
+ msgid "variable-sized object %qD may not be initialized"
+ msgstr ""
+
+-#: cp/decl.c:4920
++#: cp/decl.c:4940
+ #, fuzzy, gcc-internal-format
+ msgid "%qD has incomplete type"
+ msgstr "μη πλήÏης εγγÏαφή"
+
+-#: cp/decl.c:4935
++#: cp/decl.c:4955
+ #, gcc-internal-format
+ msgid "scalar object %qD requires one element in initializer"
+ msgstr ""
+
+ #. A non-aggregate that is not a scalar cannot be initialized
+ #. via an initializer-list in C++98.
+-#: cp/decl.c:4945
++#: cp/decl.c:4965
+ #, fuzzy, gcc-internal-format
+ msgid "braces around initializer for non-aggregate type %qT"
+ msgstr "Μη έγκυÏη ακέÏαια παÏάμετÏος `%s'"
+
+-#: cp/decl.c:4995
++#: cp/decl.c:5015
+ #, gcc-internal-format
+ msgid "%qD must be initialized by constructor, not by %<{...}%>"
+ msgstr ""
+
+-#: cp/decl.c:5031
++#: cp/decl.c:5051
+ #, fuzzy, gcc-internal-format
+ msgid "array %qD initialized by parenthesized string literal %qE"
+ msgstr "μη τεÏματιζμένο αλφαÏιθμητικό σταθεÏάς"
+
+-#: cp/decl.c:5046
++#: cp/decl.c:5066
+ #, gcc-internal-format
+ msgid "structure %qD with uninitialized const members"
+ msgstr ""
+
+-#: cp/decl.c:5048
++#: cp/decl.c:5068
+ #, gcc-internal-format
+ msgid "structure %qD with uninitialized reference members"
+ msgstr ""
+
+-#: cp/decl.c:5330
++#: cp/decl.c:5364
+ #, gcc-internal-format
+ msgid "assignment (not initialization) in declaration"
+ msgstr ""
+
+-#: cp/decl.c:5420
++#: cp/decl.c:5460
+ #, fuzzy, gcc-internal-format
+ msgid "shadowing previous type declaration of %q#D"
+ msgstr "Ï€ÏοηγοÏμενη αυτονόητη διακÏÏηξη του `%s'"
+
+-#: cp/decl.c:5450
++#: cp/decl.c:5490
+ #, gcc-internal-format
+ msgid "%qD cannot be thread-local because it has non-POD type %qT"
+ msgstr ""
+
+-#: cp/decl.c:5485
++#: cp/decl.c:5522
+ #, gcc-internal-format
++msgid "Java object %qD not allocated with %<new%>"
++msgstr ""
++
++#: cp/decl.c:5539
++#, gcc-internal-format
+ msgid "%qD is thread-local and so cannot be dynamically initialized"
+ msgstr ""
+
+-#: cp/decl.c:5503
++#: cp/decl.c:5557
+ #, fuzzy, gcc-internal-format
+ msgid "%qD cannot be initialized by a non-constant expression when being declared"
+ msgstr "%s: μη έγκυÏη κανονική έκφÏαση: %s"
+
+-#: cp/decl.c:6160
++#: cp/decl.c:5597
+ #, gcc-internal-format
++msgid "non-static data member %qD has Java class type"
++msgstr ""
++
++#: cp/decl.c:6232
++#, gcc-internal-format
+ msgid "destructor for alien class %qT cannot be a member"
+ msgstr ""
+
+-#: cp/decl.c:6162
++#: cp/decl.c:6234
+ #, gcc-internal-format
+ msgid "constructor for alien class %qT cannot be a member"
+ msgstr ""
+
+-#: cp/decl.c:6183
++#: cp/decl.c:6255
+ #, gcc-internal-format
+ msgid "%qD declared as a %<virtual%> %s"
+ msgstr ""
+
+-#: cp/decl.c:6185
++#: cp/decl.c:6257
+ #, gcc-internal-format
+ msgid "%qD declared as an %<inline%> %s"
+ msgstr ""
+
+-#: cp/decl.c:6187
++#: cp/decl.c:6259
+ #, gcc-internal-format
+ msgid "%<const%> and %<volatile%> function specifiers on %qD invalid in %s declaration"
+ msgstr ""
+
+-#: cp/decl.c:6191
++#: cp/decl.c:6263
+ #, fuzzy, gcc-internal-format
+ msgid "%q+D declared as a friend"
+ msgstr "Δεν υπάÏχει Ï€ÏοηγοÏμενη κανονική έκφÏαση"
+
+-#: cp/decl.c:6197
++#: cp/decl.c:6269
+ #, fuzzy, gcc-internal-format
+ msgid "%q+D declared with an exception specification"
+ msgstr "συντακτικό σφάλμα στον καθοÏισμό σειÏάς"
+
+-#: cp/decl.c:6231
++#: cp/decl.c:6303
+ #, gcc-internal-format
+ msgid "definition of %qD is not in namespace enclosing %qT"
+ msgstr ""
+
+-#: cp/decl.c:6342
++#: cp/decl.c:6414
+ #, gcc-internal-format
+ msgid "defining explicit specialization %qD in friend declaration"
+ msgstr ""
+
+ #. Something like `template <class T> friend void f<T>()'.
+-#: cp/decl.c:6352
++#: cp/decl.c:6424
+ #, fuzzy, gcc-internal-format
+ msgid "invalid use of template-id %qD in declaration of primary template"
+ msgstr "Μη έγκυÏη κανονική έκφÏαση"
+
+-#: cp/decl.c:6382
++#: cp/decl.c:6454
+ #, gcc-internal-format
+ msgid "default arguments are not allowed in declaration of friend template specialization %qD"
+ msgstr ""
+
+-#: cp/decl.c:6390
++#: cp/decl.c:6462
+ #, gcc-internal-format
+ msgid "%<inline%> is not allowed in declaration of friend template specialization %qD"
+ msgstr ""
+
+-#: cp/decl.c:6433
++#: cp/decl.c:6505
+ #, fuzzy, gcc-internal-format
+ msgid "cannot declare %<::main%> to be a template"
+ msgstr "δεν είναι δυνατό να δημιουÏγηθεί το %s `%s' στο `%s'"
+
+-#: cp/decl.c:6435
++#: cp/decl.c:6507
+ #, fuzzy, gcc-internal-format
+ msgid "cannot declare %<::main%> to be inline"
+ msgstr "αδυναμία αλλαγής στο κατάλογο %s"
+
+-#: cp/decl.c:6437
++#: cp/decl.c:6509
+ #, fuzzy, gcc-internal-format
+ msgid "cannot declare %<::main%> to be static"
+ msgstr "αδυναμία αλλαγής στο κατάλογο %s"
+
+-#: cp/decl.c:6465
++#: cp/decl.c:6537
+ #, gcc-internal-format
+ msgid "non-local function %q#D uses anonymous type"
+ msgstr ""
+
+-#: cp/decl.c:6468 cp/decl.c:6748
++#: cp/decl.c:6540 cp/decl.c:6820
+ #, gcc-internal-format
+ msgid "%q+#D does not refer to the unqualified type, so it is not used for linkage"
+ msgstr ""
+
+-#: cp/decl.c:6474
++#: cp/decl.c:6546
+ #, gcc-internal-format
+ msgid "non-local function %q#D uses local type %qT"
+ msgstr ""
+
+-#: cp/decl.c:6498
++#: cp/decl.c:6570
+ #, fuzzy, gcc-internal-format
+ msgid "static member function %qD cannot have cv-qualifier"
+ msgstr "ο διαχωÏιστής δε μποÏεί να είναι κενός"
+
+-#: cp/decl.c:6499
++#: cp/decl.c:6571
+ #, fuzzy, gcc-internal-format
+ msgid "non-member function %qD cannot have cv-qualifier"
+ msgstr "Η λειτουÏγία δεν έχει υλοποιηθεί"
+
+-#: cp/decl.c:6547
++#: cp/decl.c:6619
+ #, gcc-internal-format
+ msgid "%<::main%> must return %<int%>"
+ msgstr "%<::main%> Ï€Ïέπει να επιστÏέψει %<int%>"
+
+-#: cp/decl.c:6586
++#: cp/decl.c:6658
+ #, gcc-internal-format
+ msgid "definition of implicitly-declared %qD"
+ msgstr ""
+
+-#: cp/decl.c:6603 cp/decl2.c:677
++#: cp/decl.c:6675 cp/decl2.c:677
+ #, gcc-internal-format
+ msgid "no %q#D member function declared in class %qT"
+ msgstr ""
+@@ -28463,546 +28440,551 @@
+ #. 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/decl.c:6745
++#: cp/decl.c:6817
+ #, gcc-internal-format
+ msgid "non-local variable %q#D uses anonymous type"
+ msgstr ""
+
+-#: cp/decl.c:6754
++#: cp/decl.c:6826
+ #, fuzzy, gcc-internal-format
+ msgid "non-local variable %q#D uses local type %qT"
+ msgstr "δεν είναι δυνατό να δημιουÏγηθεί το %s `%s' στο `%s'"
+
+-#: cp/decl.c:6876
++#: cp/decl.c:6948
+ #, gcc-internal-format
+ msgid "invalid in-class initialization of static data member of non-integral type %qT"
+ msgstr ""
+
+-#: cp/decl.c:6886
++#: cp/decl.c:6958
+ #, gcc-internal-format
+ msgid "ISO C++ forbids in-class initialization of non-const static member %qD"
+ msgstr ""
+
+-#: cp/decl.c:6890
++#: cp/decl.c:6962
+ #, gcc-internal-format
+ msgid "ISO C++ forbids initialization of member constant %qD of non-integral type %qT"
+ msgstr ""
+
+-#: cp/decl.c:6915
++#: cp/decl.c:6987
+ #, gcc-internal-format
+ msgid "size of array %qD has non-integral type %qT"
+ msgstr ""
+
+-#: cp/decl.c:6917
++#: cp/decl.c:6989
+ #, gcc-internal-format
+ msgid "size of array has non-integral type %qT"
+ msgstr ""
+
+-#: cp/decl.c:6965
++#: cp/decl.c:7037
+ #, fuzzy, gcc-internal-format
+ msgid "size of array %qD is negative"
+ msgstr "Ο κατάλογος `%s' δεν είναι Ï€Ïοσιτός."
+
+-#: cp/decl.c:6967
++#: cp/decl.c:7039
+ #, gcc-internal-format
+ msgid "size of array is negative"
+ msgstr ""
+
+-#: cp/decl.c:6975
++#: cp/decl.c:7047
+ #, gcc-internal-format
+ msgid "ISO C++ forbids zero-size array %qD"
+ msgstr ""
+
+-#: cp/decl.c:6977
++#: cp/decl.c:7049
+ #, gcc-internal-format
+ msgid "ISO C++ forbids zero-size array"
+ msgstr ""
+
+-#: cp/decl.c:6984
++#: cp/decl.c:7056
+ #, fuzzy, gcc-internal-format
+ msgid "size of array %qD is not an integral constant-expression"
+ msgstr "%s: μη έγκυÏη κανονική έκφÏαση: %s"
+
+-#: cp/decl.c:6987
++#: cp/decl.c:7059
+ #, gcc-internal-format
+ msgid "size of array is not an integral constant-expression"
+ msgstr ""
+
+-#: cp/decl.c:6993
++#: cp/decl.c:7065
+ #, gcc-internal-format
+ msgid "ISO C++ forbids variable length array %qD"
+ msgstr ""
+
+-#: cp/decl.c:6995
++#: cp/decl.c:7067
+ #, gcc-internal-format
+ msgid "ISO C++ forbids variable length array"
+ msgstr ""
+
+-#: cp/decl.c:7001
++#: cp/decl.c:7073
+ #, gcc-internal-format
+ msgid "variable length array %qD is used"
+ msgstr ""
+
+-#: cp/decl.c:7035
++#: cp/decl.c:7107
+ #, gcc-internal-format
+ msgid "overflow in array dimension"
+ msgstr ""
+
+-#: cp/decl.c:7116
++#: cp/decl.c:7188
+ #, fuzzy, gcc-internal-format
+ msgid "declaration of %qD as %s"
+ msgstr "δημιουÏγία αÏχείου `%s'\n"
+
+-#: cp/decl.c:7118
++#: cp/decl.c:7190
+ #, fuzzy, gcc-internal-format
+ msgid "creating %s"
+ msgstr "δημιουÏγία αÏχείου `%s'\n"
+
+-#: cp/decl.c:7130
++#: cp/decl.c:7202
+ #, gcc-internal-format
+ msgid "declaration of %qD as multidimensional array must have bounds for all dimensions except the first"
+ msgstr ""
+
+-#: cp/decl.c:7134
++#: cp/decl.c:7206
+ #, gcc-internal-format
+ msgid "multidimensional array must have bounds for all dimensions except the first"
+ msgstr ""
+
+-#: cp/decl.c:7169
++#: cp/decl.c:7241
+ #, gcc-internal-format
+ msgid "return type specification for constructor invalid"
+ msgstr ""
+
+-#: cp/decl.c:7179
++#: cp/decl.c:7251
+ #, gcc-internal-format
+ msgid "return type specification for destructor invalid"
+ msgstr ""
+
+-#: cp/decl.c:7192
++#: cp/decl.c:7264
+ #, gcc-internal-format
+ msgid "return type specified for %<operator %T%>"
+ msgstr ""
+
+-#: cp/decl.c:7214
++#: cp/decl.c:7286
+ #, gcc-internal-format
+ msgid "unnamed variable or field declared void"
+ msgstr ""
+
+-#: cp/decl.c:7218
++#: cp/decl.c:7290
+ #, fuzzy, gcc-internal-format
+ msgid "variable or field %qE declared void"
+ msgstr "ο χάÏτης χαÏακτήÏων `%s' οÏίστηκε ήδη"
+
+-#: cp/decl.c:7221
++#: cp/decl.c:7293
+ #, gcc-internal-format
+ msgid "variable or field declared void"
+ msgstr ""
+
+-#: cp/decl.c:7388
++#: cp/decl.c:7460
+ #, fuzzy, gcc-internal-format
+ msgid "invalid use of qualified-name %<::%D%>"
+ msgstr "μη έγκυÏος χÏήστης"
+
+-#: cp/decl.c:7391
++#: cp/decl.c:7463
+ #, fuzzy, gcc-internal-format
+ msgid "invalid use of qualified-name %<%T::%D%>"
+ msgstr "μη έγκυÏος αÏιθμός από κενές γÏαμμές: `%s'"
+
+-#: cp/decl.c:7394
++#: cp/decl.c:7466
+ #, fuzzy, gcc-internal-format
+ msgid "invalid use of qualified-name %<%D::%D%>"
+ msgstr "μη έγκυÏος αÏιθμός από κενές γÏαμμές: `%s'"
+
+-#: cp/decl.c:7406
++#: cp/decl.c:7478
+ #, fuzzy, gcc-internal-format
+ msgid "type %qT is not derived from type %qT"
+ msgstr "δεν είστε μέλος της ομάδας `%s'"
+
+-#: cp/decl.c:7422 cp/decl.c:7512 cp/decl.c:8660
++#: cp/decl.c:7494 cp/decl.c:7584 cp/decl.c:8732
+ #, fuzzy, gcc-internal-format
+ msgid "declaration of %qD as non-function"
+ msgstr "αυτονόητη διακÏÏηξη της συνάÏτησης `%s'"
+
+-#: cp/decl.c:7428
++#: cp/decl.c:7500
+ #, fuzzy, gcc-internal-format
+ msgid "declaration of %qD as non-member"
+ msgstr "Η λειτουÏγία δεν υποστηÏίζεται"
+
+-#: cp/decl.c:7457
++#: cp/decl.c:7529
+ #, gcc-internal-format
+ msgid "declarator-id missing; using reserved word %qD"
+ msgstr ""
+
+-#: cp/decl.c:7504
++#: cp/decl.c:7576
+ #, gcc-internal-format
+ msgid "function definition does not declare parameters"
+ msgstr ""
+
+-#: cp/decl.c:7546
++#: cp/decl.c:7618
+ #, fuzzy, gcc-internal-format
+ msgid "two or more data types in declaration of %qs"
+ msgstr "ΠÏοειδοποίηση: Î Î¿Î»Ï Î»Î¯Î³Î± οÏίσματα στο εσωδομημένο `%s'"
+
+-#: cp/decl.c:7552
++#: cp/decl.c:7624
+ #, fuzzy, gcc-internal-format
+ msgid "conflicting specifiers in declaration of %qs"
+ msgstr "Μη έγκυÏη ανταλλαγή"
+
+-#: cp/decl.c:7623 cp/decl.c:7626
++#: cp/decl.c:7695 cp/decl.c:7698
+ #, gcc-internal-format
+ msgid "ISO C++ forbids declaration of %qs with no type"
+ msgstr ""
+
+-#: cp/decl.c:7651
++#: cp/decl.c:7723
+ #, fuzzy, gcc-internal-format
+ msgid "%<signed%> or %<unsigned%> invalid for %qs"
+ msgstr "μη έγκυÏος δηλωτής πεδίου: `%s'"
+
+-#: cp/decl.c:7653
++#: cp/decl.c:7725
+ #, fuzzy, gcc-internal-format
+ msgid "%<signed%> and %<unsigned%> specified together for %qs"
+ msgstr "μη έγκυÏος δηλωτής πεδίου: `%s'"
+
+-#: cp/decl.c:7655
++#: cp/decl.c:7727
+ #, fuzzy, gcc-internal-format
+ msgid "%<long long%> invalid for %qs"
+ msgstr "Μη έγκυÏη Ï€ÏοτεÏαιότητα `%s'"
+
+-#: cp/decl.c:7657
++#: cp/decl.c:7729
+ #, fuzzy, gcc-internal-format
+ msgid "%<long%> invalid for %qs"
+ msgstr "Μη έγκυÏη Ï€ÏοτεÏαιότητα `%s'"
+
+-#: cp/decl.c:7659
++#: cp/decl.c:7731
+ #, fuzzy, gcc-internal-format
+ msgid "%<short%> invalid for %qs"
+ msgstr "Μη έγκυÏη Ï€ÏοτεÏαιότητα `%s'"
+
+-#: cp/decl.c:7661
++#: cp/decl.c:7733
+ #, fuzzy, gcc-internal-format
+ msgid "%<long%> or %<short%> invalid for %qs"
+ msgstr "μη έγκυÏος δηλωτής πεδίου: `%s'"
+
+-#: cp/decl.c:7663
++#: cp/decl.c:7735
+ #, fuzzy, gcc-internal-format
+ msgid "%<long%> or %<short%> specified with char for %qs"
+ msgstr "μόνο ένα ÏŒÏισμα μποÏεί να δηλωθεί"
+
+-#: cp/decl.c:7665
++#: cp/decl.c:7737
+ #, fuzzy, gcc-internal-format
+ msgid "%<long%> and %<short%> specified together for %qs"
+ msgstr "μόνο ένα ÏŒÏισμα μποÏεί να δηλωθεί"
+
+-#: cp/decl.c:7671
++#: cp/decl.c:7743
+ #, fuzzy, gcc-internal-format
+ msgid "long, short, signed or unsigned used invalidly for %qs"
+ msgstr "μη έγκυÏος δηλωτής πεδίου: `%s'"
+
+-#: cp/decl.c:7735
++#: cp/decl.c:7807
+ #, fuzzy, gcc-internal-format
+ msgid "complex invalid for %qs"
+ msgstr "Μη έγκυÏη Ï€ÏοτεÏαιότητα `%s'"
+
+-#: cp/decl.c:7764
++#: cp/decl.c:7836
+ #, gcc-internal-format
+ msgid "qualifiers are not allowed on declaration of %<operator %T%>"
+ msgstr ""
+
+-#: cp/decl.c:7776 cp/typeck.c:7011
++#: cp/decl.c:7848 cp/typeck.c:7039
+ #, fuzzy, gcc-internal-format
+ msgid "ignoring %qV qualifiers added to function type %qT"
+ msgstr "Μη έγκυÏη επιλογή `%s'"
+
+-#: cp/decl.c:7799
++#: cp/decl.c:7871
+ #, gcc-internal-format
+ msgid "member %qD cannot be declared both virtual and static"
+ msgstr ""
+
+-#: cp/decl.c:7807
++#: cp/decl.c:7879
+ #, fuzzy, gcc-internal-format
+ msgid "%<%T::%D%> is not a valid declarator"
+ msgstr "Το `%s' δεν είναι κατάλογος."
+
+-#: cp/decl.c:7816
++#: cp/decl.c:7888
+ #, gcc-internal-format
+ msgid "typedef declaration invalid in parameter declaration"
+ msgstr ""
+
+-#: cp/decl.c:7822
++#: cp/decl.c:7894
+ #, gcc-internal-format
+ msgid "storage class specifiers invalid in parameter declarations"
+ msgstr ""
+
+-#: cp/decl.c:7829
++#: cp/decl.c:7901
+ #, gcc-internal-format
+ msgid "virtual outside class declaration"
+ msgstr ""
+
+-#: cp/decl.c:7847
++#: cp/decl.c:7919
+ #, fuzzy, gcc-internal-format
+ msgid "multiple storage classes in declaration of %qs"
+ msgstr "διπλό όνομα χαÏακτήÏα `%s'"
+
+-#: cp/decl.c:7870
++#: cp/decl.c:7942
+ #, fuzzy, gcc-internal-format
+ msgid "storage class specified for %qs"
+ msgstr "ΕγγÏαφή ονομάτων των επιλεγμένων λέξεων-κλειδιών"
+
+-#: cp/decl.c:7904
++#: cp/decl.c:7976
+ #, gcc-internal-format
+ msgid "top-level declaration of %qs specifies %<auto%>"
+ msgstr ""
+
+-#: cp/decl.c:7916
++#: cp/decl.c:7988
+ #, gcc-internal-format
+ msgid "storage class specifiers invalid in friend function declarations"
+ msgstr ""
+
+-#: cp/decl.c:8043
++#: cp/decl.c:8115
+ #, gcc-internal-format
+ msgid "destructor cannot be static member function"
+ msgstr ""
+
+-#: cp/decl.c:8048
++#: cp/decl.c:8120
+ #, gcc-internal-format
+ msgid "destructors may not be cv-qualified"
+ msgstr ""
+
+-#: cp/decl.c:8066
++#: cp/decl.c:8138
+ #, gcc-internal-format
+ msgid "constructors cannot be declared virtual"
+ msgstr ""
+
+-#: cp/decl.c:8079
++#: cp/decl.c:8151
+ #, fuzzy, gcc-internal-format
+ msgid "can't initialize friend function %qs"
+ msgstr "Δεν ήταν δυνατή η εÏÏεση ετικέττας για μεταγωγή στο `%s'"
+
+ #. Cannot be both friend and virtual.
+-#: cp/decl.c:8083
++#: cp/decl.c:8155
+ #, gcc-internal-format
+ msgid "virtual functions cannot be friends"
+ msgstr ""
+
+-#: cp/decl.c:8087
++#: cp/decl.c:8159
+ #, fuzzy, gcc-internal-format
+ msgid "friend declaration not in class definition"
+ msgstr "συντακτικό σφάλμα στον οÏισμό κλάσης χαÏακτήÏων"
+
+-#: cp/decl.c:8089
++#: cp/decl.c:8161
+ #, fuzzy, gcc-internal-format
+ msgid "can't define friend function %qs in a local class definition"
+ msgstr "συντακτικό σφάλμα στον οÏισμό κλάσης χαÏακτήÏων"
+
+-#: cp/decl.c:8102
++#: cp/decl.c:8174
+ #, gcc-internal-format
+ msgid "destructors may not have parameters"
+ msgstr ""
+
+-#: cp/decl.c:8121
++#: cp/decl.c:8193
+ #, fuzzy, gcc-internal-format
+ msgid "cannot declare pointer to %q#T"
+ msgstr "δεν είναι δυνατό να δημιουÏγηθεί το %s `%s' στο `%s'"
+
+-#: cp/decl.c:8134 cp/decl.c:8141
++#: cp/decl.c:8206 cp/decl.c:8213
+ #, fuzzy, gcc-internal-format
+ msgid "cannot declare reference to %q#T"
+ msgstr "αδυναμία αλλαγής στο κατάλογο %s"
+
+-#: cp/decl.c:8143
++#: cp/decl.c:8215
+ #, fuzzy, gcc-internal-format
+ msgid "cannot declare pointer to %q#T member"
+ msgstr "δεν είναι δυνατόν να γίνει `stat' το locale αÏχείο `%s'"
+
+-#: cp/decl.c:8194
++#: cp/decl.c:8266
+ #, gcc-internal-format
+ msgid "cannot declare reference to %q#T, which is not a typedef or a template type argument"
+ msgstr ""
+
+-#: cp/decl.c:8238
++#: cp/decl.c:8310
+ #, gcc-internal-format
+ msgid "template-id %qD used as a declarator"
+ msgstr ""
+
+-#: cp/decl.c:8289
++#: cp/decl.c:8361
+ #, gcc-internal-format
+ msgid "member functions are implicitly friends of their class"
+ msgstr ""
+
+-#: cp/decl.c:8293
++#: cp/decl.c:8365
+ #, gcc-internal-format
+ msgid "extra qualification %<%T::%> on member %qs"
+ msgstr ""
+
+-#: cp/decl.c:8325
++#: cp/decl.c:8397
+ #, fuzzy, gcc-internal-format
+ msgid "cannot define member function %<%T::%s%> within %<%T%>"
+ msgstr "δεν είναι δυνατό να δημιουÏγηθεί το %s `%s' στο `%s'"
+
+-#: cp/decl.c:8342
++#: cp/decl.c:8414
+ #, fuzzy, gcc-internal-format
+ msgid "cannot declare member %<%T::%s%> within %qT"
+ msgstr "δεν είναι δυνατό να δημιουÏγηθεί το %s `%s' στο `%s'"
+
+-#: cp/decl.c:8365
++#: cp/decl.c:8437
+ #, gcc-internal-format
+ msgid "non-parameter %qs cannot be a parameter pack"
+ msgstr ""
+
+-#: cp/decl.c:8386
++#: cp/decl.c:8458
+ #, gcc-internal-format
+ msgid "data member may not have variably modified type %qT"
+ msgstr ""
+
+-#: cp/decl.c:8388
++#: cp/decl.c:8460
+ #, gcc-internal-format
+ msgid "parameter may not have variably modified type %qT"
+ msgstr ""
+
+ #. [dcl.fct.spec] The explicit specifier shall only be used in
+ #. declarations of constructors within a class definition.
+-#: cp/decl.c:8396
++#: cp/decl.c:8468
+ #, gcc-internal-format
+ msgid "only declarations of constructors can be %<explicit%>"
+ msgstr ""
+
+-#: cp/decl.c:8404
++#: cp/decl.c:8476
+ #, gcc-internal-format
+ msgid "non-member %qs cannot be declared %<mutable%>"
+ msgstr ""
+
+-#: cp/decl.c:8409
++#: cp/decl.c:8481
+ #, gcc-internal-format
+ msgid "non-object member %qs cannot be declared %<mutable%>"
+ msgstr ""
+
+-#: cp/decl.c:8415
++#: cp/decl.c:8487
+ #, fuzzy, gcc-internal-format
+ msgid "function %qs cannot be declared %<mutable%>"
+ msgstr "Η λειτουÏγία δεν έχει υλοποιηθεί"
+
+-#: cp/decl.c:8420
++#: cp/decl.c:8492
+ #, fuzzy, gcc-internal-format
+ msgid "static %qs cannot be declared %<mutable%>"
+ msgstr "Δεν μποÏεί να τεθεί η ημεÏομηνία."
+
+-#: cp/decl.c:8425
++#: cp/decl.c:8497
+ #, fuzzy, gcc-internal-format
+ msgid "const %qs cannot be declared %<mutable%>"
+ msgstr "Δεν μποÏεί να τεθεί η ημεÏομηνία."
+
+-#: cp/decl.c:8462
++#: cp/decl.c:8534
+ #, gcc-internal-format
+ msgid "%Jtypedef name may not be a nested-name-specifier"
+ msgstr ""
+
+-#: cp/decl.c:8478
++#: cp/decl.c:8550
+ #, fuzzy, gcc-internal-format
+ msgid "ISO C++ forbids nested type %qD with same name as enclosing class"
+ msgstr "ΥπάÏχει αντικείμενο με το ίδιο όνομα"
+
+-#: cp/decl.c:8564
++#: cp/decl.c:8636
+ #, gcc-internal-format
+ msgid "qualified function types cannot be used to declare static member functions"
+ msgstr ""
+
+-#: cp/decl.c:8566
++#: cp/decl.c:8638
+ #, fuzzy, gcc-internal-format
+ msgid "qualified function types cannot be used to declare free functions"
+ msgstr "Η λειτουÏγία δεν έχει υλοποιηθεί"
+
+-#: cp/decl.c:8592
++#: cp/decl.c:8664
+ #, gcc-internal-format
+ msgid "type qualifiers specified for friend class declaration"
+ msgstr ""
+
+-#: cp/decl.c:8597
++#: cp/decl.c:8669
+ #, gcc-internal-format
+ msgid "%<inline%> specified for friend class declaration"
+ msgstr ""
+
+-#: cp/decl.c:8605
++#: cp/decl.c:8677
+ #, fuzzy, gcc-internal-format
+ msgid "template parameters cannot be friends"
+ msgstr "ο διαχωÏιστής δε μποÏεί να είναι κενός"
+
+-#: cp/decl.c:8607
++#: cp/decl.c:8679
+ #, gcc-internal-format
+ msgid "friend declaration requires class-key, i.e. %<friend class %T::%D%>"
+ msgstr ""
+
+-#: cp/decl.c:8611
++#: cp/decl.c:8683
+ #, fuzzy, gcc-internal-format
+ msgid "friend declaration requires class-key, i.e. %<friend %#T%>"
+ msgstr "συντακτικό σφάλμα στον οÏισμό κλάσης χαÏακτήÏων"
+
+-#: cp/decl.c:8624
++#: cp/decl.c:8696
+ #, gcc-internal-format
+ msgid "trying to make class %qT a friend of global scope"
+ msgstr ""
+
+-#: cp/decl.c:8635
++#: cp/decl.c:8707
+ #, gcc-internal-format
+ msgid "invalid qualifiers on non-member function type"
+ msgstr ""
+
+-#: cp/decl.c:8650
++#: cp/decl.c:8722
+ #, gcc-internal-format
+ msgid "abstract declarator %qT used as declaration"
+ msgstr ""
+
+-#: cp/decl.c:8679
++#: cp/decl.c:8751
+ #, fuzzy, gcc-internal-format
+ msgid "cannot use %<::%> in parameter declaration"
+ msgstr "αδυναμία εισαγωγής στοιχείο παÏαβολής `%.*s'"
+
+ #. Something like struct S { int N::j; };
+-#: cp/decl.c:8725
++#: cp/decl.c:8797
+ #, fuzzy, gcc-internal-format
+ msgid "invalid use of %<::%>"
+ msgstr "μη έγκυÏος χÏήστης"
+
+-#: cp/decl.c:8740
++#: cp/decl.c:8812
+ #, gcc-internal-format
+ msgid "can't make %qD into a method -- not in a class"
+ msgstr ""
+
+-#: cp/decl.c:8749
++#: cp/decl.c:8821
+ #, gcc-internal-format
+ msgid "function %qD declared virtual inside a union"
+ msgstr ""
+
+-#: cp/decl.c:8758
++#: cp/decl.c:8830
+ #, gcc-internal-format
+ msgid "%qD cannot be declared virtual, since it is always static"
+ msgstr ""
+
+-#: cp/decl.c:8774
++#: cp/decl.c:8846
+ #, fuzzy, gcc-internal-format
+ msgid "expected qualified name in friend declaration for destructor %qD"
+ msgstr "Μη έγκυÏη επιλογή `%s'"
+
+-#: cp/decl.c:8784
++#: cp/decl.c:8856
+ #, fuzzy, gcc-internal-format
+ msgid "declaration of %qD as member of %qT"
+ msgstr "δημιουÏγία αÏχείου `%s'\n"
+
+-#: cp/decl.c:8860
++#: cp/decl.c:8863
+ #, fuzzy, gcc-internal-format
++msgid "expected qualified name in friend declaration for constructor %qD"
++msgstr "Μη έγκυÏη επιλογή `%s'"
++
++#: cp/decl.c:8939
++#, fuzzy, gcc-internal-format
+ msgid "field %qD has incomplete type"
+ msgstr "μη πλήÏης εγγÏαφή"
+
+-#: cp/decl.c:8862
++#: cp/decl.c:8941
+ #, fuzzy, gcc-internal-format
+ msgid "name %qT has incomplete type"
+ msgstr "μη πλήÏης εγγÏαφή"
+
+-#: cp/decl.c:8871
++#: cp/decl.c:8950
+ #, fuzzy, gcc-internal-format
+ msgid " in instantiation of template %qT"
+ msgstr "%s: Μη έγκυÏη ÏÏθμιση `%s'.\n"
+
+-#: cp/decl.c:8880
++#: cp/decl.c:8959
+ #, gcc-internal-format
+ msgid "%qE is neither function nor member function; cannot be declared friend"
+ msgstr ""
+@@ -29019,103 +29001,108 @@
+ #. the rest of the compiler does not correctly
+ #. handle the initialization unless the member is
+ #. static so we make it static below.
+-#: cp/decl.c:8932
++#: cp/decl.c:9011
+ #, gcc-internal-format
+ msgid "ISO C++ forbids initialization of member %qD"
+ msgstr ""
+
+-#: cp/decl.c:8934
++#: cp/decl.c:9013
+ #, gcc-internal-format
+ msgid "making %qD static"
+ msgstr ""
+
+-#: cp/decl.c:8999
++#: cp/decl.c:9078
+ #, fuzzy, gcc-internal-format
+ msgid "storage class %<auto%> invalid for function %qs"
+ msgstr "μη έγκυÏη τάξη χαÏακτήÏων `%s'"
+
+-#: cp/decl.c:9001
++#: cp/decl.c:9080
+ #, fuzzy, gcc-internal-format
+ msgid "storage class %<register%> invalid for function %qs"
+ msgstr "μη έγκυÏη τάξη χαÏακτήÏων `%s'"
+
+-#: cp/decl.c:9003
++#: cp/decl.c:9082
+ #, fuzzy, gcc-internal-format
+ msgid "storage class %<__thread%> invalid for function %qs"
+ msgstr "μη έγκυÏη τάξη χαÏακτήÏων `%s'"
+
+-#: cp/decl.c:9014
++#: cp/decl.c:9093
+ #, gcc-internal-format
+ msgid "%<static%> specified invalid for function %qs declared out of global scope"
+ msgstr ""
+
+-#: cp/decl.c:9017
++#: cp/decl.c:9096
+ #, gcc-internal-format
+ msgid "%<inline%> specifier invalid for function %qs declared out of global scope"
+ msgstr ""
+
+-#: cp/decl.c:9025
++#: cp/decl.c:9104
+ #, fuzzy, gcc-internal-format
+ msgid "virtual non-class function %qs"
+ msgstr "μη έγκυÏη τάξη χαÏακτήÏων `%s'"
+
+-#: cp/decl.c:9056
++#: cp/decl.c:9135
+ #, gcc-internal-format
+ msgid "cannot declare member function %qD to have static linkage"
+ msgstr ""
+
+ #. FIXME need arm citation
+-#: cp/decl.c:9063
++#: cp/decl.c:9142
+ #, gcc-internal-format
+ msgid "cannot declare static function inside another function"
+ msgstr ""
+
+-#: cp/decl.c:9093
++#: cp/decl.c:9172
+ #, gcc-internal-format
+ msgid "%<static%> may not be used when defining (as opposed to declaring) a static data member"
+ msgstr ""
+
+-#: cp/decl.c:9100
++#: cp/decl.c:9179
+ #, gcc-internal-format
+ msgid "static member %qD declared %<register%>"
+ msgstr ""
+
+-#: cp/decl.c:9105
++#: cp/decl.c:9184
+ #, gcc-internal-format
+ msgid "cannot explicitly declare member %q#D to have extern linkage"
+ msgstr ""
+
+-#: cp/decl.c:9234
++#: cp/decl.c:9313
+ #, fuzzy, gcc-internal-format
+ msgid "default argument for %q#D has type %qT"
+ msgstr "Η παÏάμετÏος `%s' δεν είναι έγκυÏη."
+
+-#: cp/decl.c:9237
++#: cp/decl.c:9316
+ #, gcc-internal-format
+ msgid "default argument for parameter of type %qT has type %qT"
+ msgstr ""
+
+-#: cp/decl.c:9253
++#: cp/decl.c:9332
+ #, fuzzy, gcc-internal-format
+ msgid "default argument %qE uses local variable %qD"
+ msgstr "Η παÏάμετÏος `%s' δεν είναι έγκυÏη."
+
+-#: cp/decl.c:9323
++#: cp/decl.c:9399
+ #, fuzzy, gcc-internal-format
++msgid "parameter %qD has Java class type"
++msgstr "μη πλήÏης εγγÏαφή"
++
++#: cp/decl.c:9412
++#, fuzzy, gcc-internal-format
+ msgid "parameter %qD invalidly declared method type"
+ msgstr "ο χάÏτης χαÏακτήÏων `%s' οÏίστηκε ήδη"
+
+-#: cp/decl.c:9347
++#: cp/decl.c:9436
+ #, gcc-internal-format
+ msgid "parameter %qD includes %s to array of unknown bound %qT"
+ msgstr ""
+
+-#: cp/decl.c:9361
++#: cp/decl.c:9450
+ #, fuzzy, gcc-internal-format
+ msgid "parameter packs must be at the end of the parameter list"
+ msgstr "Ελλιπής ή κακοσχηματισμένη ιδιότητα"
+
+-#: cp/decl.c:9366
++#: cp/decl.c:9455
+ #, fuzzy, gcc-internal-format
+ msgid "multiple parameters named %qE"
+ msgstr "διπλό όνομα χαÏακτήÏα `%s'"
+@@ -29135,138 +29122,138 @@
+ #. or implicitly defined), there's no need to worry about their
+ #. existence. Theoretically, they should never even be
+ #. instantiated, but that's hard to forestall.
+-#: cp/decl.c:9581
++#: cp/decl.c:9672
+ #, gcc-internal-format
+ msgid "invalid constructor; you probably meant %<%T (const %T&)%>"
+ msgstr ""
+
+-#: cp/decl.c:9703
++#: cp/decl.c:9794
+ #, gcc-internal-format
+ msgid "%qD may not be declared within a namespace"
+ msgstr ""
+
+-#: cp/decl.c:9708
++#: cp/decl.c:9799
+ #, fuzzy, gcc-internal-format
+ msgid "%qD may not be declared as static"
+ msgstr "Δεν μποÏεί να τεθεί η ημεÏομηνία."
+
+-#: cp/decl.c:9731
++#: cp/decl.c:9825
+ #, fuzzy, gcc-internal-format
+ msgid "%qD must be a nonstatic member function"
+ msgstr "η `%s' είναι συνήθως μη-στατική συνάÏτηση"
+
+-#: cp/decl.c:9740
++#: cp/decl.c:9834
+ #, gcc-internal-format
+ msgid "%qD must be either a non-static member function or a non-member function"
+ msgstr ""
+
+-#: cp/decl.c:9761
++#: cp/decl.c:9855
+ #, gcc-internal-format
+ msgid "%qD must have an argument of class or enumerated type"
+ msgstr ""
+
+-#: cp/decl.c:9802
++#: cp/decl.c:9896
+ #, gcc-internal-format
+ msgid "conversion to %s%s will never use a type conversion operator"
+ msgstr ""
+
+ #. 13.4.0.3
+-#: cp/decl.c:9810
++#: cp/decl.c:9904
+ #, gcc-internal-format
+ msgid "ISO C++ prohibits overloading operator ?:"
+ msgstr ""
+
+-#: cp/decl.c:9815
++#: cp/decl.c:9909
+ #, fuzzy, gcc-internal-format
+ msgid "%qD must not have variable number of arguments"
+ msgstr "η `%s' παίÏνει είτε κανένα είτε δÏο οÏίσματα"
+
+-#: cp/decl.c:9866
++#: cp/decl.c:9960
+ #, gcc-internal-format
+ msgid "postfix %qD must take %<int%> as its argument"
+ msgstr ""
+
+-#: cp/decl.c:9869
++#: cp/decl.c:9963
+ #, gcc-internal-format
+ msgid "postfix %qD must take %<int%> as its second argument"
+ msgstr ""
+
+-#: cp/decl.c:9877
++#: cp/decl.c:9971
+ #, fuzzy, gcc-internal-format
+ msgid "%qD must take either zero or one argument"
+ msgstr "η `%s' παίÏνει είτε κανένα είτε δÏο οÏίσματα"
+
+-#: cp/decl.c:9879
++#: cp/decl.c:9973
+ #, fuzzy, gcc-internal-format
+ msgid "%qD must take either one or two arguments"
+ msgstr "η `%s' παίÏνει είτε κανένα είτε δÏο οÏίσματα"
+
+-#: cp/decl.c:9901
++#: cp/decl.c:9995
+ #, gcc-internal-format
+ msgid "prefix %qD should return %qT"
+ msgstr ""
+
+-#: cp/decl.c:9907
++#: cp/decl.c:10001
+ #, gcc-internal-format
+ msgid "postfix %qD should return %qT"
+ msgstr ""
+
+-#: cp/decl.c:9916
++#: cp/decl.c:10010
+ #, gcc-internal-format
+ msgid "%qD must take %<void%>"
+ msgstr ""
+
+-#: cp/decl.c:9918 cp/decl.c:9927
++#: cp/decl.c:10012 cp/decl.c:10021
+ #, gcc-internal-format
+ msgid "%qD must take exactly one argument"
+ msgstr ""
+
+-#: cp/decl.c:9929
++#: cp/decl.c:10023
+ #, fuzzy, gcc-internal-format
+ msgid "%qD must take exactly two arguments"
+ msgstr "η `%s' παίÏνει είτε κανένα είτε δÏο οÏίσματα"
+
+-#: cp/decl.c:9938
++#: cp/decl.c:10032
+ #, gcc-internal-format
+ msgid "user-defined %qD always evaluates both arguments"
+ msgstr ""
+
+-#: cp/decl.c:9952
++#: cp/decl.c:10046
+ #, gcc-internal-format
+ msgid "%qD should return by value"
+ msgstr ""
+
+-#: cp/decl.c:9964 cp/decl.c:9968
++#: cp/decl.c:10058 cp/decl.c:10062
+ #, fuzzy, gcc-internal-format
+ msgid "%qD cannot have default arguments"
+ msgstr "Δεν μποÏεί να τεθεί η ημεÏομηνία."
+
+-#: cp/decl.c:10026
++#: cp/decl.c:10120
+ #, fuzzy, gcc-internal-format
+ msgid "using template type parameter %qT after %qs"
+ msgstr "ο διαχωÏιστής δε μποÏεί να είναι κενός"
+
+-#: cp/decl.c:10041
++#: cp/decl.c:10135
+ #, gcc-internal-format
+ msgid "using typedef-name %qD after %qs"
+ msgstr ""
+
+-#: cp/decl.c:10042
++#: cp/decl.c:10136
+ #, fuzzy, gcc-internal-format
+ msgid "%q+D has a previous declaration here"
+ msgstr "αυτός είναι ο Ï€Ïώτος οÏισμός"
+
+-#: cp/decl.c:10050
++#: cp/decl.c:10144
+ #, gcc-internal-format
+ msgid "%qT referred to as %qs"
+ msgstr ""
+
+-#: cp/decl.c:10051 cp/decl.c:10058
++#: cp/decl.c:10145 cp/decl.c:10152
+ #, fuzzy, gcc-internal-format
+ msgid "%q+T has a previous declaration here"
+ msgstr "αυτός είναι ο Ï€Ïώτος οÏισμός"
+
+-#: cp/decl.c:10057
++#: cp/decl.c:10151
+ #, gcc-internal-format
+ msgid "%qT referred to as enum"
+ msgstr ""
+@@ -29278,75 +29265,75 @@
+ #. void f(class C); // No template header here
+ #.
+ #. then the required template argument is missing.
+-#: cp/decl.c:10072
++#: cp/decl.c:10166
+ #, fuzzy, gcc-internal-format
+ msgid "template argument required for %<%s %T%>"
+ msgstr "έχουν παÏαληφθεί οÏίσματα"
+
+-#: cp/decl.c:10120 cp/name-lookup.c:2698
++#: cp/decl.c:10214 cp/name-lookup.c:2700
+ #, gcc-internal-format
+ msgid "%qD has the same name as the class in which it is declared"
+ msgstr ""
+
+ # src/getopt.c:628
+ # src/getopt.c:628
+-#: cp/decl.c:10150 cp/name-lookup.c:2207 cp/parser.c:4036 cp/parser.c:14029
+-#: cp/parser.c:16234
++#: cp/decl.c:10244 cp/name-lookup.c:2209 cp/parser.c:4040 cp/parser.c:14099
++#: cp/parser.c:16316
+ #, fuzzy, gcc-internal-format
+ msgid "reference to %qD is ambiguous"
+ msgstr "%s: η επιλογή `%s' είναι ασαφής\n"
+
+-#: cp/decl.c:10264
++#: cp/decl.c:10358
+ #, fuzzy, gcc-internal-format
+ msgid "use of enum %q#D without previous declaration"
+ msgstr "αυτός είναι ο Ï€Ïώτος οÏισμός"
+
+-#: cp/decl.c:10285
++#: cp/decl.c:10379
+ #, fuzzy, gcc-internal-format
+ msgid "redeclaration of %qT as a non-template"
+ msgstr "Η λειτουÏγία δεν υποστηÏίζεται"
+
+-#: cp/decl.c:10286 cp/pt.c:4154
++#: cp/decl.c:10380
+ #, fuzzy, gcc-internal-format
+ msgid "previous declaration %q+D"
+ msgstr "αυτός είναι ο Ï€Ïώτος οÏισμός"
+
+-#: cp/decl.c:10397
++#: cp/decl.c:10491
+ #, gcc-internal-format
+ msgid "derived union %qT invalid"
+ msgstr ""
+
+-#: cp/decl.c:10406
++#: cp/decl.c:10500
+ #, gcc-internal-format
+ msgid "Java class %qT cannot have multiple bases"
+ msgstr ""
+
+-#: cp/decl.c:10417
++#: cp/decl.c:10511
+ #, gcc-internal-format
+ msgid "Java class %qT cannot have virtual bases"
+ msgstr ""
+
+-#: cp/decl.c:10440
++#: cp/decl.c:10534
+ #, gcc-internal-format
+ msgid "base type %qT fails to be a struct or class type"
+ msgstr ""
+
+-#: cp/decl.c:10473
++#: cp/decl.c:10567
+ #, gcc-internal-format
+ msgid "recursive type %qT undefined"
+ msgstr ""
+
+-#: cp/decl.c:10475
++#: cp/decl.c:10569
+ #, fuzzy, gcc-internal-format
+ msgid "duplicate base type %qT invalid"
+ msgstr "διπλός οÏισμός συνόλου"
+
+-#: cp/decl.c:10552
++#: cp/decl.c:10646
+ #, fuzzy, gcc-internal-format
+ msgid "multiple definition of %q#T"
+ msgstr "αδυναμία ανοίγματος αÏχείου οÏÎ¹ÏƒÎ¼Î¿Ï locale `%s'"
+
+-#: cp/decl.c:10553
++#: cp/decl.c:10647
+ #, fuzzy, gcc-internal-format
+ msgid "%Jprevious definition here"
+ msgstr "κανένας οÏισμός του `UNDEFINED'"
+@@ -29355,47 +29342,52 @@
+ #.
+ #. IF no integral type can represent all the enumerator values, the
+ #. enumeration is ill-formed.
+-#: cp/decl.c:10692
++#: cp/decl.c:10786
+ #, gcc-internal-format
+ msgid "no integral type can represent all of the enumerator values for %qT"
+ msgstr ""
+
+-#: cp/decl.c:10803
++#: cp/decl.c:10897
+ #, fuzzy, gcc-internal-format
+ msgid "enumerator value for %qD is not an integer constant"
+ msgstr "Μη έγκυÏη ακέÏαια παÏάμετÏος `%s'"
+
+-#: cp/decl.c:10831
++#: cp/decl.c:10925
+ #, gcc-internal-format
+ msgid "overflow in enumeration values at %qD"
+ msgstr ""
+
+-#: cp/decl.c:10906
++#: cp/decl.c:11002
+ #, fuzzy, gcc-internal-format
+ msgid "return type %q#T is incomplete"
+ msgstr "η επιστÏεφόμενη τιμή της `%s' δεν είναι `int'"
+
+-#: cp/decl.c:11031 cp/typeck.c:6711
++#: cp/decl.c:11004
+ #, gcc-internal-format
++msgid "return type has Java class type %q#T"
++msgstr ""
++
++#: cp/decl.c:11129 cp/typeck.c:6739
++#, gcc-internal-format
+ msgid "%<operator=%> should return a reference to %<*this%>"
+ msgstr ""
+
+-#: cp/decl.c:11420
++#: cp/decl.c:11518
+ #, fuzzy, gcc-internal-format
+ msgid "parameter %qD declared void"
+ msgstr "ο χάÏτης χαÏακτήÏων `%s' οÏίστηκε ήδη"
+
+-#: cp/decl.c:11908
++#: cp/decl.c:12006
+ #, fuzzy, gcc-internal-format
+ msgid "invalid member function declaration"
+ msgstr "μη έγκυÏος αÏιθμός από κενές γÏαμμές: `%s'"
+
+-#: cp/decl.c:11923
++#: cp/decl.c:12021
+ #, fuzzy, gcc-internal-format
+ msgid "%qD is already defined in class %qT"
+ msgstr "το `%s' είναι Ï€Ïόγονος του `%s'"
+
+-#: cp/decl.c:12170
++#: cp/decl.c:12268
+ #, gcc-internal-format
+ msgid "static member function %q#D declared with type qualifiers"
+ msgstr ""
+@@ -29435,7 +29427,7 @@
+ msgid "deleting %qT is undefined"
+ msgstr ""
+
+-#: cp/decl2.c:459 cp/pt.c:3828
++#: cp/decl2.c:459 cp/pt.c:3831
+ #, fuzzy, gcc-internal-format
+ msgid "template declaration of %q#D"
+ msgstr "δημιουÏγία αÏχείου `%s'\n"
+@@ -29520,22 +29512,22 @@
+ msgid "static member %qD cannot be a bit-field"
+ msgstr "ο διαχωÏιστής δε μποÏεί να είναι κενός"
+
+-#: cp/decl2.c:1122
++#: cp/decl2.c:1165
+ #, gcc-internal-format
+ msgid "anonymous struct not inside named type"
+ msgstr ""
+
+-#: cp/decl2.c:1206
++#: cp/decl2.c:1249
+ #, gcc-internal-format
+ msgid "namespace-scope anonymous aggregates must be static"
+ msgstr ""
+
+-#: cp/decl2.c:1215
++#: cp/decl2.c:1258
+ #, gcc-internal-format
+ msgid "anonymous union with no members"
+ msgstr ""
+
+-#: cp/decl2.c:1251
++#: cp/decl2.c:1294
+ #, gcc-internal-format
+ msgid "%<operator new%> must return type %qT"
+ msgstr ""
+@@ -29544,52 +29536,52 @@
+ #.
+ #. The first parameter shall not have an associated default
+ #. argument.
+-#: cp/decl2.c:1262
++#: cp/decl2.c:1305
+ #, gcc-internal-format
+ msgid "the first parameter of %<operator new%> cannot have a default argument"
+ msgstr ""
+
+-#: cp/decl2.c:1278
++#: cp/decl2.c:1321
+ #, gcc-internal-format
+ msgid "%<operator new%> takes type %<size_t%> (%qT) as first parameter"
+ msgstr ""
+
+-#: cp/decl2.c:1307
++#: cp/decl2.c:1350
+ #, gcc-internal-format
+ msgid "%<operator delete%> must return type %qT"
+ msgstr ""
+
+-#: cp/decl2.c:1316
++#: cp/decl2.c:1359
+ #, gcc-internal-format
+ msgid "%<operator delete%> takes type %qT as first parameter"
+ msgstr ""
+
+-#: cp/decl2.c:1985
++#: cp/decl2.c:2028
+ #, gcc-internal-format
+ msgid "%qT has a field %qD whose type uses the anonymous namespace"
+ msgstr ""
+
+-#: cp/decl2.c:1992
++#: cp/decl2.c:2035
+ #, gcc-internal-format
+ msgid "%qT declared with greater visibility than the type of its field %qD"
+ msgstr ""
+
+-#: cp/decl2.c:2005
++#: cp/decl2.c:2048
+ #, gcc-internal-format
+ msgid "%qT has a base %qT whose type uses the anonymous namespace"
+ msgstr ""
+
+-#: cp/decl2.c:2011
++#: cp/decl2.c:2054
+ #, gcc-internal-format
+ msgid "%qT declared with greater visibility than its base %qT"
+ msgstr ""
+
+-#: cp/decl2.c:3395
++#: cp/decl2.c:3441
+ #, fuzzy, gcc-internal-format
+ msgid "inline function %q+D used but never defined"
+ msgstr "το `%s' δεν είναι κανονικό αÏχείο"
+
+-#: cp/decl2.c:3543
++#: cp/decl2.c:3589
+ #, fuzzy, gcc-internal-format
+ msgid "default argument missing for parameter %P of %q+#D"
+ msgstr "έχουν παÏαληφθεί οÏίσματα"
+@@ -29597,7 +29589,7 @@
+ #. We really want to suppress this warning in system headers,
+ #. because libstdc++ uses variadic templates even when we aren't
+ #. in C++0x mode.
+-#: cp/error.c:2669
++#: cp/error.c:2712
+ #, fuzzy, gcc-internal-format
+ msgid "ISO C++ does not include variadic templates"
+ msgstr "το `%s' δεν είναι κανονικό αÏχείο"
+@@ -29629,7 +29621,7 @@
+ msgid "throwing NULL, which has integral, not pointer type"
+ msgstr ""
+
+-#: cp/except.c:643 cp/init.c:1780
++#: cp/except.c:643 cp/init.c:1915
+ #, gcc-internal-format
+ msgid "%qD should never be overloaded"
+ msgstr ""
+@@ -29728,236 +29720,252 @@
+ msgid "member %qD declared as friend before type %qT defined"
+ msgstr ""
+
+-#: cp/friend.c:550
++#: cp/friend.c:543
+ #, fuzzy, gcc-internal-format
++msgid "friend declaration %qD in local class without prior declaration"
++msgstr "συντακτικό σφάλμα στον οÏισμό κλάσης χαÏακτήÏων"
++
++#: cp/friend.c:564
++#, fuzzy, gcc-internal-format
+ msgid "friend declaration %q#D declares a non-template function"
+ msgstr "συντακτικό σφάλμα στον οÏισμό κλάσης χαÏακτήÏων"
+
+-#: cp/friend.c:554
++#: cp/friend.c:568
+ #, 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.c:334
++# src/request.c:263
++#: cp/init.c:374
++#, fuzzy, gcc-internal-format
++msgid "value-initialization of reference"
++msgstr "Το βήμα αÏχικοποίησης απέτυχε"
++
++#: cp/init.c:481
+ #, gcc-internal-format
+ msgid "%J%qD should be initialized in the member initialization list"
+ msgstr ""
+
+-#: cp/init.c:382
++#: cp/init.c:529
+ #, gcc-internal-format
+ msgid "%Jdefault-initialization of %q#D, which has reference type"
+ msgstr ""
+
+-#: cp/init.c:388
++#: cp/init.c:535
+ #, fuzzy, gcc-internal-format
+ msgid "%Juninitialized reference member %qD"
+ msgstr "δεν είναι δυνατόν να γίνει `stat' το locale αÏχείο `%s'"
+
+-#: cp/init.c:391
++#: cp/init.c:538
+ #, gcc-internal-format
+ msgid "%Juninitialized member %qD with %<const%> type %qT"
+ msgstr ""
+
+-#: cp/init.c:534
++#: cp/init.c:681
+ #, fuzzy, gcc-internal-format
+ msgid "%q+D will be initialized after"
+ msgstr "η κλάση χαÏακτήÏων `%s' οÏίστηκε ήδη"
+
+-#: cp/init.c:537
++#: cp/init.c:684
+ #, fuzzy, gcc-internal-format
+ msgid "base %qT will be initialized after"
+ msgstr "η κλάση χαÏακτήÏων `%s' οÏίστηκε ήδη"
+
+-#: cp/init.c:540
++#: cp/init.c:687
+ #, fuzzy, gcc-internal-format
+ msgid " %q+#D"
+ msgstr " κατά `%D'"
+
+-#: cp/init.c:542
++#: cp/init.c:689
+ #, gcc-internal-format
+ msgid " base %qT"
+ msgstr ""
+
+-#: cp/init.c:543
++#: cp/init.c:690
+ #, gcc-internal-format
+ msgid "%J when initialized here"
+ msgstr ""
+
+ # src/request.c:263
+-#: cp/init.c:559
++#: cp/init.c:706
+ #, fuzzy, gcc-internal-format
+ msgid "%Jmultiple initializations given for %qD"
+ msgstr "Το βήμα αÏχικοποίησης απέτυχε"
+
+ # src/request.c:263
+-#: cp/init.c:562
++#: cp/init.c:709
+ #, fuzzy, gcc-internal-format
+ msgid "%Jmultiple initializations given for base %qT"
+ msgstr "Το βήμα αÏχικοποίησης απέτυχε"
+
+-#: cp/init.c:629
++#: cp/init.c:776
+ #, gcc-internal-format
+ msgid "%Jinitializations for multiple members of %qT"
+ msgstr ""
+
+-#: cp/init.c:691
++#: cp/init.c:839
+ #, gcc-internal-format
+ msgid "%Jbase class %q#T should be explicitly initialized in the copy constructor"
+ msgstr ""
+
+-#: cp/init.c:915 cp/init.c:934
++#: cp/init.c:1063 cp/init.c:1082
+ #, fuzzy, gcc-internal-format
+ msgid "class %qT does not have any field named %qD"
+ msgstr "το `%s' δεν είναι κανονικό αÏχείο"
+
+-#: cp/init.c:921
++#: cp/init.c:1069
+ #, gcc-internal-format
+ msgid "%q#D is a static data member; it can only be initialized at its definition"
+ msgstr ""
+
+-#: cp/init.c:928
++#: cp/init.c:1076
+ #, fuzzy, gcc-internal-format
+ msgid "%q#D is not a non-static data member of %qT"
+ msgstr "το `%s' είναι Ï€Ïόγονος του `%s'"
+
+-#: cp/init.c:967
++#: cp/init.c:1115
+ #, gcc-internal-format
+ msgid "unnamed initializer for %qT, which has no base classes"
+ msgstr ""
+
+-#: cp/init.c:975
++#: cp/init.c:1123
+ #, gcc-internal-format
+ msgid "unnamed initializer for %qT, which uses multiple inheritance"
+ msgstr ""
+
+-#: cp/init.c:1021
++#: cp/init.c:1169
+ #, gcc-internal-format
+ msgid "%qD is both a direct base and an indirect virtual base"
+ msgstr ""
+
+-#: cp/init.c:1029
++#: cp/init.c:1177
+ #, fuzzy, gcc-internal-format
+ msgid "type %qT is not a direct or virtual base of %qT"
+ msgstr "Το `%s' δεν είναι κατάλογος."
+
+-#: cp/init.c:1032
++#: cp/init.c:1180
+ #, fuzzy, gcc-internal-format
+ msgid "type %qT is not a direct base of %qT"
+ msgstr "Το `%s' δεν είναι κατάλογος."
+
+-#: cp/init.c:1112
++#: cp/init.c:1260
+ #, gcc-internal-format
+ msgid "bad array initializer"
+ msgstr ""
+
+-#: cp/init.c:1287
++#: cp/init.c:1435
+ #, fuzzy, gcc-internal-format
+ msgid "%qT is not an aggregate type"
+ msgstr "το `%s' δεν είναι κανονικό αÏχείο"
+
+-#: cp/init.c:1341
++#: cp/init.c:1489
+ #, gcc-internal-format
+ msgid "incomplete type %qT does not have member %qD"
+ msgstr ""
+
+-#: cp/init.c:1354
++#: cp/init.c:1502
+ #, fuzzy, gcc-internal-format
+ msgid "invalid pointer to bit-field %qD"
+ msgstr "ακατάλληλος Ï„Ïπος δικτÏου :`%s'\n"
+
+-#: cp/init.c:1431
++#: cp/init.c:1579
+ #, fuzzy, gcc-internal-format
+ msgid "invalid use of non-static member function %qD"
+ msgstr "μη έγκυÏος αÏιθμός από στήλες: `%s'"
+
+-#: cp/init.c:1437
++#: cp/init.c:1585
+ #, fuzzy, gcc-internal-format
+ msgid "invalid use of non-static data member %qD"
+ msgstr "μη έγκυÏος αÏιθμός από στήλες: `%s'"
+
+-#: cp/init.c:1714
++#: cp/init.c:1862
+ #, fuzzy, gcc-internal-format
+ msgid "invalid type %<void%> for new"
+ msgstr "μη έγκυÏη κατάσταση για την dlopen()"
+
+-#: cp/init.c:1724
++#: cp/init.c:1872
+ #, fuzzy, gcc-internal-format
+ msgid "uninitialized const in %<new%> of %q#T"
+ msgstr "Μη έγκυÏη επιλογή `%s'"
+
+-#: cp/init.c:1775
++#: cp/init.c:1910
+ #, gcc-internal-format
+ msgid "call to Java constructor with %qs undefined"
+ msgstr ""
+
+-#: cp/init.c:1815
++#: cp/init.c:1926
++#, gcc-internal-format
++msgid "Java class %q#T object allocated using placement new"
++msgstr ""
++
++#: cp/init.c:1955
+ #, fuzzy, gcc-internal-format
+ msgid "no suitable %qD found in class %qT"
+ msgstr "το `%s' είναι Ï€Ïόγονος του `%s'"
+
+ # src/getopt.c:628
+ # src/getopt.c:628
+-#: cp/init.c:1820
++#: cp/init.c:1960
+ #, fuzzy, gcc-internal-format
+ msgid "request for member %qD is ambiguous"
+ msgstr "%s: η επιλογή `%s' είναι ασαφής\n"
+
+-#: cp/init.c:1972
++#: cp/init.c:2134
+ #, gcc-internal-format
+ msgid "ISO C++ forbids initialization in array new"
+ msgstr ""
+
+-#: cp/init.c:2174
++#: cp/init.c:2336
+ #, gcc-internal-format
+ msgid "size in array new must have integral type"
+ msgstr ""
+
+-#: cp/init.c:2183
++#: cp/init.c:2345
+ #, gcc-internal-format
+ msgid "new cannot be applied to a reference type"
+ msgstr ""
+
+-#: cp/init.c:2189
++#: cp/init.c:2351
+ #, gcc-internal-format
+ msgid "new cannot be applied to a function type"
+ msgstr ""
+
+-#: cp/init.c:2228
++#: cp/init.c:2390
+ #, gcc-internal-format
+ msgid "call to Java constructor, while %<jclass%> undefined"
+ msgstr ""
+
+-#: cp/init.c:2246
++#: cp/init.c:2408
+ #, fuzzy, gcc-internal-format
+ msgid "can't find %<class$%> in %qT"
+ msgstr "αδυναμία εκτέλεσης ioctl στο `%s'"
+
+-#: cp/init.c:2607
++#: cp/init.c:2769
+ #, gcc-internal-format
+ msgid "initializer ends prematurely"
+ msgstr ""
+
+-#: cp/init.c:2662
++#: cp/init.c:2824
+ #, gcc-internal-format
+ msgid "cannot initialize multi-dimensional array with initializer"
+ msgstr ""
+
+-#: cp/init.c:2799
++#: cp/init.c:2961
+ #, gcc-internal-format
+ msgid "possible problem detected in invocation of delete operator:"
+ msgstr ""
+
+-#: cp/init.c:2802
++#: cp/init.c:2964
+ #, gcc-internal-format
+ msgid "neither the destructor nor the class-specific operator delete will be called, even if they are declared when the class is defined."
+ msgstr ""
+
+-#: cp/init.c:2823
++#: cp/init.c:2985
+ #, gcc-internal-format
+ msgid "unknown array size in delete"
+ msgstr ""
+
+-#: cp/init.c:3070
++#: cp/init.c:3232
+ #, gcc-internal-format
+ msgid "type to vector delete is neither pointer or array type"
+ msgstr ""
+@@ -30022,22 +30030,22 @@
+ msgid "mangling typeof, use decltype instead"
+ msgstr ""
+
+-#: cp/mangle.c:2208
++#: cp/mangle.c:2211
+ #, gcc-internal-format
+ msgid "call_expr cannot be mangled due to a defect in the C++ ABI"
+ msgstr ""
+
+-#: cp/mangle.c:2216
++#: cp/mangle.c:2219
+ #, gcc-internal-format
+ msgid "zero-operand casts cannot be mangled due to a defect in the C++ ABI"
+ msgstr ""
+
+-#: cp/mangle.c:2266
++#: cp/mangle.c:2269
+ #, gcc-internal-format
+ msgid "omitted middle operand to %<?:%> operand cannot be mangled"
+ msgstr ""
+
+-#: cp/mangle.c:2584
++#: cp/mangle.c:2587
+ #, gcc-internal-format
+ msgid "the mangled name of %qD will change in a future version of GCC"
+ msgstr ""
+@@ -30047,27 +30055,27 @@
+ msgid "generic thunk code fails for method %q#D which uses %<...%>"
+ msgstr ""
+
+-#: cp/method.c:697
++#: cp/method.c:698
+ #, gcc-internal-format
+ msgid "non-static const member %q#D, can't use default assignment operator"
+ msgstr ""
+
+-#: cp/method.c:703
++#: cp/method.c:704
+ #, gcc-internal-format
+ msgid "non-static reference member %q#D, can't use default assignment operator"
+ msgstr ""
+
+-#: cp/method.c:815
++#: cp/method.c:816
+ #, gcc-internal-format
+ msgid "%Hsynthesized method %qD first required here "
+ msgstr ""
+
+-#: cp/method.c:1158
++#: cp/method.c:1159
+ #, gcc-internal-format
+ msgid "vtable layout for class %qT may not be ABI-compliantand may change in a future version of GCC due to implicit virtual destructor"
+ msgstr ""
+
+-#: cp/name-lookup.c:728
++#: cp/name-lookup.c:727
+ #, fuzzy, gcc-internal-format
+ msgid "redeclaration of %<wchar_t%> as %qT"
+ msgstr "δημιουÏγία αÏχείου `%s'\n"
+@@ -30078,244 +30086,244 @@
+ #. [basic.start.main]
+ #.
+ #. This function shall not be overloaded.
+-#: cp/name-lookup.c:758
++#: cp/name-lookup.c:757
+ #, fuzzy, gcc-internal-format
+ msgid "invalid redeclaration of %q+D"
+ msgstr "Μη έγκυÏη επιλογή `%s'"
+
+-#: cp/name-lookup.c:759
++#: cp/name-lookup.c:758
+ #, gcc-internal-format
+ msgid "as %qD"
+ msgstr ""
+
+-#: cp/name-lookup.c:850
++#: cp/name-lookup.c:849
+ #, fuzzy, gcc-internal-format
+ msgid "type mismatch with previous external decl of %q#D"
+ msgstr "σφάλμα ταιÏιάσματος Ï„Ïπου με Ï€ÏοηγοÏμενη αυτονόητη διακÏÏηξη"
+
+-#: cp/name-lookup.c:851
++#: cp/name-lookup.c:850
+ #, fuzzy, gcc-internal-format
+ msgid "previous external decl of %q+#D"
+ msgstr "κανένας οÏισμός του `UNDEFINED'"
+
+-#: cp/name-lookup.c:942
++#: cp/name-lookup.c:941
+ #, fuzzy, gcc-internal-format
+ msgid "extern declaration of %q#D doesn't match"
+ msgstr "δημιουÏγία αÏχείου `%s'\n"
+
+-#: cp/name-lookup.c:943
++#: cp/name-lookup.c:942
+ #, fuzzy, gcc-internal-format
+ msgid "global declaration %q+#D"
+ msgstr "δημιουÏγία αÏχείου `%s'\n"
+
+-#: cp/name-lookup.c:980 cp/name-lookup.c:987
++#: cp/name-lookup.c:979 cp/name-lookup.c:986
+ #, fuzzy, gcc-internal-format
+ msgid "declaration of %q#D shadows a parameter"
+ msgstr "δημιουÏγία αÏχείου `%s'\n"
+
+ #. Location of previous decl is not useful in this case.
+-#: cp/name-lookup.c:1012
++#: cp/name-lookup.c:1011
+ #, gcc-internal-format
+ msgid "declaration of %qD shadows a member of 'this'"
+ msgstr ""
+
+-#: cp/name-lookup.c:1018
++#: cp/name-lookup.c:1017
+ #, gcc-internal-format
+ msgid "declaration of %qD shadows a previous local"
+ msgstr ""
+
+-#: cp/name-lookup.c:1025
++#: cp/name-lookup.c:1024
+ #, gcc-internal-format
+ msgid "declaration of %qD shadows a global declaration"
+ msgstr ""
+
+-#: cp/name-lookup.c:1148
++#: cp/name-lookup.c:1147
+ #, fuzzy, gcc-internal-format
+ msgid "name lookup of %qD changed"
+ msgstr "η ομάδα του %s άλλαξε σε %s\n"
+
+-#: cp/name-lookup.c:1149
++#: cp/name-lookup.c:1148
+ #, gcc-internal-format
+ msgid " matches this %q+D under ISO standard rules"
+ msgstr ""
+
+-#: cp/name-lookup.c:1151
++#: cp/name-lookup.c:1150
+ #, gcc-internal-format
+ msgid " matches this %q+D under old rules"
+ msgstr ""
+
+-#: cp/name-lookup.c:1169 cp/name-lookup.c:1177
++#: cp/name-lookup.c:1168 cp/name-lookup.c:1176
+ #, gcc-internal-format
+ msgid "name lookup of %qD changed for new ISO %<for%> scoping"
+ msgstr ""
+
+-#: cp/name-lookup.c:1171
++#: cp/name-lookup.c:1170
+ #, gcc-internal-format
+ msgid " cannot use obsolete binding at %q+D because it has a destructor"
+ msgstr ""
+
+-#: cp/name-lookup.c:1179
++#: cp/name-lookup.c:1178
+ #, gcc-internal-format
+ msgid " using obsolete binding at %q+D"
+ msgstr ""
+
+-#: cp/name-lookup.c:1232
++#: cp/name-lookup.c:1231
+ #, gcc-internal-format
+ msgid "%s %s(%E) %p %d\n"
+ msgstr ""
+
+ # src/request.c:37
+-#: cp/name-lookup.c:1235
++#: cp/name-lookup.c:1234
+ #, fuzzy, gcc-internal-format
+ msgid "%s %s %p %d\n"
+ msgstr "%s: %s: "
+
+-#: cp/name-lookup.c:1362
++#: cp/name-lookup.c:1361
+ #, gcc-internal-format
+ msgid "XXX is_class_level != (current_scope == class_scope)\n"
+ msgstr ""
+
+-#: cp/name-lookup.c:1920
++#: cp/name-lookup.c:1922
+ #, fuzzy, gcc-internal-format
+ msgid "%q#D hides constructor for %q#T"
+ msgstr "το `%s' είναι Ï€Ïόγονος του `%s'"
+
+-#: cp/name-lookup.c:1937
++#: cp/name-lookup.c:1939
+ #, fuzzy, gcc-internal-format
+ msgid "%q#D conflicts with previous using declaration %q#D"
+ msgstr "σφάλμα ταιÏιάσματος Ï„Ïπου με Ï€ÏοηγοÏμενη αυτονόητη διακÏÏηξη"
+
+-#: cp/name-lookup.c:1960
++#: cp/name-lookup.c:1962
+ #, fuzzy, gcc-internal-format
+ msgid "previous non-function declaration %q+#D"
+ msgstr "Ï€ÏοηγοÏμενη αυτονόητη διακÏÏηξη του `%s'"
+
+-#: cp/name-lookup.c:1961
++#: cp/name-lookup.c:1963
+ #, gcc-internal-format
+ msgid "conflicts with function declaration %q#D"
+ msgstr ""
+
+ #. It's a nested name with template parameter dependent scope.
+ #. This can only be using-declaration for class member.
+-#: cp/name-lookup.c:2039 cp/name-lookup.c:2064
++#: cp/name-lookup.c:2041 cp/name-lookup.c:2066
+ #, fuzzy, gcc-internal-format
+ msgid "%qT is not a namespace"
+ msgstr "το `%s' δεν είναι κανονικό αÏχείο"
+
+ #. 7.3.3/5
+ #. A using-declaration shall not name a template-id.
+-#: cp/name-lookup.c:2049
++#: cp/name-lookup.c:2051
+ #, gcc-internal-format
+ msgid "a using-declaration cannot specify a template-id. Try %<using %D%>"
+ msgstr ""
+
+-#: cp/name-lookup.c:2056
++#: cp/name-lookup.c:2058
+ #, gcc-internal-format
+ msgid "namespace %qD not allowed in using-declaration"
+ msgstr ""
+
+-#: cp/name-lookup.c:2092
++#: cp/name-lookup.c:2094
+ #, fuzzy, gcc-internal-format
+ msgid "%qD not declared"
+ msgstr "το `%s' δεν είναι κανονικό αÏχείο"
+
+-#: cp/name-lookup.c:2128 cp/name-lookup.c:2165 cp/name-lookup.c:2199
+-#: cp/name-lookup.c:2214
++#: cp/name-lookup.c:2130 cp/name-lookup.c:2167 cp/name-lookup.c:2201
++#: cp/name-lookup.c:2216
+ #, gcc-internal-format
+ msgid "%qD is already declared in this scope"
+ msgstr ""
+
+-#: cp/name-lookup.c:2817
++#: cp/name-lookup.c:2819
+ #, gcc-internal-format
+ msgid "using-declaration for non-member at class scope"
+ msgstr ""
+
+-#: cp/name-lookup.c:2824
++#: cp/name-lookup.c:2826
+ #, fuzzy, gcc-internal-format
+ msgid "%<%T::%D%> names destructor"
+ msgstr "το `%s' είναι Ï€Ïόγονος του `%s'"
+
+-#: cp/name-lookup.c:2829
++#: cp/name-lookup.c:2831
+ #, fuzzy, gcc-internal-format
+ msgid "%<%T::%D%> names constructor"
+ msgstr "το `%s' είναι Ï€Ïόγονος του `%s'"
+
+-#: cp/name-lookup.c:2834
++#: cp/name-lookup.c:2836
+ #, fuzzy, gcc-internal-format
+ msgid "%<%T::%D%> names constructor in %qT"
+ msgstr "το `%s' είναι Ï€Ïόγονος του `%s'"
+
+-#: cp/name-lookup.c:2884
++#: cp/name-lookup.c:2886
+ #, fuzzy, gcc-internal-format
+ msgid "no members matching %<%T::%D%> in %q#T"
+ msgstr "δεν είναι δυνατό να δημιουÏγηθεί το %s `%s' στο `%s'"
+
+-#: cp/name-lookup.c:2952
++#: cp/name-lookup.c:2954
+ #, gcc-internal-format
+ msgid "declaration of %qD not in a namespace surrounding %qD"
+ msgstr ""
+
+-#: cp/name-lookup.c:2960
++#: cp/name-lookup.c:2962
+ #, fuzzy, gcc-internal-format
+ msgid "explicit qualification in declaration of %qD"
+ msgstr "Μη έγκυÏη επιλογή `%s'"
+
+-#: cp/name-lookup.c:3003
++#: cp/name-lookup.c:3005
+ #, gcc-internal-format
+ msgid "%qD should have been declared inside %qD"
+ msgstr ""
+
+-#: cp/name-lookup.c:3048
++#: cp/name-lookup.c:3050
+ #, fuzzy, gcc-internal-format
+ msgid "%qD attribute requires a single NTBS argument"
+ msgstr "μη τεÏματιζμένο αλφαÏιθμητικό σταθεÏάς"
+
+-#: cp/name-lookup.c:3055
++#: cp/name-lookup.c:3057
+ #, gcc-internal-format
+ msgid "%qD attribute is meaningless since members of the anonymous namespace get local symbols"
+ msgstr ""
+
+-#: cp/name-lookup.c:3064 cp/name-lookup.c:3433
++#: cp/name-lookup.c:3066 cp/name-lookup.c:3435
+ #, fuzzy, gcc-internal-format
+ msgid "%qD attribute directive ignored"
+ msgstr "το `%s' είναι Ï€Ïόγονος του `%s'"
+
+-#: cp/name-lookup.c:3109
++#: cp/name-lookup.c:3111
+ #, gcc-internal-format
+ msgid "namespace alias %qD not allowed here, assuming %qD"
+ msgstr ""
+
+-#: cp/name-lookup.c:3421
++#: cp/name-lookup.c:3423
+ #, gcc-internal-format
+ msgid "strong using only meaningful at namespace scope"
+ msgstr ""
+
+-#: cp/name-lookup.c:3425
++#: cp/name-lookup.c:3427
+ #, gcc-internal-format
+ msgid "current namespace %qD does not enclose strongly used namespace %qD"
+ msgstr ""
+
+-#: cp/name-lookup.c:4318
++#: cp/name-lookup.c:4320
+ #, fuzzy, gcc-internal-format
+ msgid "%q+D is not a function,"
+ msgstr "Το `%s' δεν είναι κατάλογος."
+
+-#: cp/name-lookup.c:4319
++#: cp/name-lookup.c:4321
+ #, gcc-internal-format
+ msgid " conflict with %q+D"
+ msgstr ""
+
+-#: cp/name-lookup.c:4752
++#: cp/name-lookup.c:4756
+ #, gcc-internal-format
+ msgid "argument dependent lookup finds %q+D"
+ msgstr ""
+
+-#: cp/name-lookup.c:5184
++#: cp/name-lookup.c:5188
+ #, gcc-internal-format
+ msgid "XXX entering pop_everything ()\n"
+ msgstr ""
+
+-#: cp/name-lookup.c:5193
++#: cp/name-lookup.c:5197
+ #, gcc-internal-format
+ msgid "XXX leaving pop_everything ()\n"
+ msgstr ""
+@@ -30325,370 +30333,375 @@
+ msgid "identifier %<%s%> will become a keyword in C++0x"
+ msgstr ""
+
+-#: cp/parser.c:2066
++#: cp/parser.c:2069
+ #, fuzzy, gcc-internal-format
+ msgid "%<#pragma%> is not allowed here"
+ msgstr "ο χάÏτης χαÏακτήÏων `%s' οÏίστηκε ήδη"
+
+-#: cp/parser.c:2096
++#: cp/parser.c:2099
+ #, fuzzy, gcc-internal-format
+ msgid "%<%E::%E%> has not been declared"
+ msgstr "Δεν μποÏεί να τεθεί η ημεÏομηνία."
+
+-#: cp/parser.c:2099
++#: cp/parser.c:2102
+ #, fuzzy, gcc-internal-format
+ msgid "%<::%E%> has not been declared"
+ msgstr "Δεν μποÏεί να τεθεί η ημεÏομηνία."
+
+-#: cp/parser.c:2102
++#: cp/parser.c:2105
+ #, fuzzy, gcc-internal-format
+ msgid "request for member %qE in non-class type %qT"
+ msgstr "δεν είστε μέλος της ομάδας `%s'"
+
+-#: cp/parser.c:2105
++#: cp/parser.c:2108
+ #, fuzzy, gcc-internal-format
+ msgid "%<%T::%E%> has not been declared"
+ msgstr "Δεν μποÏεί να τεθεί η ημεÏομηνία."
+
+-#: cp/parser.c:2108
++#: cp/parser.c:2111
+ #, fuzzy, gcc-internal-format
+ msgid "%qE has not been declared"
+ msgstr "Δεν μποÏεί να τεθεί η ημεÏομηνία."
+
+-#: cp/parser.c:2111
++#: cp/parser.c:2114
+ #, gcc-internal-format
+ msgid "%<%E::%E%> %s"
+ msgstr ""
+
+-#: cp/parser.c:2113
++#: cp/parser.c:2116
+ #, gcc-internal-format
+ msgid "%<::%E%> %s"
+ msgstr ""
+
+-#: cp/parser.c:2115
++#: cp/parser.c:2118
+ #, fuzzy, gcc-internal-format
+ msgid "%qE %s"
+ msgstr " %s"
+
+-#: cp/parser.c:2151
++#: cp/parser.c:2155
+ #, fuzzy, gcc-internal-format
+-msgid "ISO C++ does not support %<long long%>"
++msgid "ISO C++ 1998 does not support %<long long%>"
+ msgstr "αÏχεία fifo δεν υποστηÏίζονται"
+
+-#: cp/parser.c:2171
++#: cp/parser.c:2175
+ #, fuzzy, gcc-internal-format
+ msgid "duplicate %qs"
+ msgstr "διπλό κλειδί"
+
+-#: cp/parser.c:2214
++#: cp/parser.c:2218
+ #, gcc-internal-format
+ msgid "new types may not be defined in a return type"
+ msgstr ""
+
+-#: cp/parser.c:2215
++#: cp/parser.c:2219
+ #, gcc-internal-format
+ msgid "(perhaps a semicolon is missing after the definition of %qT)"
+ msgstr ""
+
+-#: cp/parser.c:2234 cp/parser.c:4077 cp/pt.c:5443
++#: cp/parser.c:2238 cp/parser.c:4081 cp/pt.c:5509
+ #, fuzzy, gcc-internal-format
+ msgid "%qT is not a template"
+ msgstr "το `%s' δεν είναι κανονικό αÏχείο"
+
+-#: cp/parser.c:2236
++#: cp/parser.c:2240
+ #, fuzzy, gcc-internal-format
+ msgid "%qE is not a template"
+ msgstr "το `%s' δεν είναι κανονικό αÏχείο"
+
+-#: cp/parser.c:2238
++#: cp/parser.c:2242
+ #, fuzzy, gcc-internal-format
+ msgid "invalid template-id"
+ msgstr "Μη έγκυÏη ημεÏομηνία `%s'."
+
+-#: cp/parser.c:2267
++#: cp/parser.c:2271
+ #, fuzzy, gcc-internal-format
+ msgid "%s cannot appear in a constant-expression"
+ msgstr "%s: μη έγκυÏη κανονική έκφÏαση: %s"
+
+ # src/grep.c:785 src/grep.c:792
+ # src/grep.c:1060 src/grep.c:1067 src/grep.c:1076
+-#: cp/parser.c:2292
++#: cp/parser.c:2296
+ #, fuzzy, gcc-internal-format
+ msgid "invalid use of template-name %qE without an argument list"
+ msgstr "μη έγκυÏο ÏŒÏισμα μήκους πεÏιεχομένου"
+
+-#: cp/parser.c:2294
++#: cp/parser.c:2298
+ #, fuzzy, gcc-internal-format
+ msgid "invalid use of destructor %qD as a type"
+ msgstr "μη έγκυÏος αÏιθμός από γÏαμμές"
+
+ #. Something like 'unsigned A a;'
+-#: cp/parser.c:2297
++#: cp/parser.c:2301
+ #, fuzzy, gcc-internal-format
+ msgid "invalid combination of multiple type-specifiers"
+ msgstr "μη έγκυÏος αÏιθμός αÏχείου στη δήλωση πεδίου: `%s'"
+
+ #. Issue an error message.
+-#: cp/parser.c:2301
++#: cp/parser.c:2305
+ #, fuzzy, gcc-internal-format
+ msgid "%qE does not name a type"
+ msgstr "το `%s' δεν είναι κανονικό αÏχείο"
+
+-#: cp/parser.c:2333
++#: cp/parser.c:2337
+ #, gcc-internal-format
+ msgid "(perhaps %<typename %T::%E%> was intended)"
+ msgstr ""
+
+-#: cp/parser.c:2348
++#: cp/parser.c:2352
+ #, gcc-internal-format
+ msgid "%qE in namespace %qE does not name a type"
+ msgstr ""
+
+-#: cp/parser.c:2351
++#: cp/parser.c:2355
+ #, fuzzy, gcc-internal-format
+ msgid "%qE in class %qT does not name a type"
+ msgstr "το `%s' δεν είναι κανονικό αÏχείο"
+
+-#: cp/parser.c:3160
++#: cp/parser.c:3164
+ #, gcc-internal-format
+ msgid "ISO C++ forbids braced-groups within expressions"
+ msgstr ""
+
+-#: cp/parser.c:3171
++#: cp/parser.c:3175
+ #, gcc-internal-format
+ msgid "statement-expressions are not allowed outside functions nor in template-argument lists"
+ msgstr ""
+
+-#: cp/parser.c:3229
++#: cp/parser.c:3233
+ #, gcc-internal-format
+ msgid "%<this%> may not be used in this context"
+ msgstr ""
+
+-#: cp/parser.c:3412
++#: cp/parser.c:3416
+ #, gcc-internal-format
+ msgid "local variable %qD may not appear in this context"
+ msgstr ""
+
+-#: cp/parser.c:3711
++#: cp/parser.c:3715
+ #, fuzzy, gcc-internal-format
+ msgid "scope %qT before %<~%> is not a class-name"
+ msgstr "το `%s' δεν είναι κανονικό αÏχείο"
+
+-#: cp/parser.c:3812
++#: cp/parser.c:3816
+ #, fuzzy, gcc-internal-format
+ msgid "declaration of %<~%T%> as member of %qT"
+ msgstr "δημιουÏγία αÏχείου `%s'\n"
+
+-#: cp/parser.c:3826
++#: cp/parser.c:3830
+ #, gcc-internal-format
+ msgid "typedef-name %qD used as destructor declarator"
+ msgstr ""
+
+-#: cp/parser.c:4480
++#: cp/parser.c:4484
+ #, gcc-internal-format
+ msgid "ISO C++ forbids compound-literals"
+ msgstr ""
+
+-#: cp/parser.c:4837
++#: cp/parser.c:4841
+ #, fuzzy, gcc-internal-format
+ msgid "%qE does not have class type"
+ msgstr "το `%s' δεν είναι κανονικό αÏχείο"
+
+-#: cp/parser.c:4920 cp/typeck.c:1978
++#: cp/parser.c:4924 cp/typeck.c:2024
+ #, fuzzy, gcc-internal-format
+ msgid "invalid use of %qD"
+ msgstr "μη έγκυÏος χÏήστης"
+
+-#: cp/parser.c:5480
++#: cp/parser.c:5486
+ #, gcc-internal-format
+ msgid "array bound forbidden after parenthesized type-id"
+ msgstr ""
+
+-#: cp/parser.c:5481
++#: cp/parser.c:5487
+ #, gcc-internal-format
+ msgid "try removing the parentheses around the type-id"
+ msgstr ""
+
+-#: cp/parser.c:5671
++#: cp/parser.c:5677
+ #, gcc-internal-format
+ msgid "expression in new-declarator must have integral or enumeration type"
+ msgstr ""
+
+-#: cp/parser.c:5860
++#: cp/parser.c:5866
+ #, fuzzy, gcc-internal-format
+ msgid "use of old-style cast"
+ msgstr "Ï€Î±Î»Î±Î¹Î¿Ï ÎµÎ¯Î´Î¿Ï…Ï‚ θέση"
+
+-#: cp/parser.c:5986
++#: cp/parser.c:5992
+ #, gcc-internal-format
+ msgid "%H%<>>%> operator will be treated as two right angle brackets in C++0x"
+ msgstr ""
+
+-#: cp/parser.c:5989
++#: cp/parser.c:5995
+ #, gcc-internal-format
+ msgid "suggest parentheses around %<>>%> expression"
+ msgstr ""
+
+-#: cp/parser.c:6793
++#: cp/parser.c:6799
+ #, gcc-internal-format
+ msgid "case label %qE not within a switch statement"
+ msgstr ""
+
+-#: cp/parser.c:6922
++#: cp/parser.c:6928
+ #, gcc-internal-format
+ msgid "%<else%> without a previous %<if%>"
+ msgstr ""
+
+-#: cp/parser.c:7208
++#: cp/parser.c:7214
+ #, gcc-internal-format
+ msgid "suggest a space before %<;%> or explicit braces around empty body in %<%s%> statement"
+ msgstr ""
+
+-#: cp/parser.c:7468
++#: cp/parser.c:7474
+ #, gcc-internal-format
+ msgid "ISO C++ forbids computed gotos"
+ msgstr ""
+
+-#: cp/parser.c:7608
++#: cp/parser.c:7614
+ #, gcc-internal-format
+ msgid "extra %<;%>"
+ msgstr ""
+
+-#: cp/parser.c:7825
++#: cp/parser.c:7831
+ #, gcc-internal-format
+ msgid "%<__label__%> not at the beginning of a block"
+ msgstr ""
+
+-#: cp/parser.c:7958
++#: cp/parser.c:7964
+ #, gcc-internal-format
+ msgid "mixing declarations and function-definitions is forbidden"
+ msgstr ""
+
+-#: cp/parser.c:8090
++#: cp/parser.c:8096
+ #, gcc-internal-format
+ msgid "%<friend%> used outside of class"
+ msgstr ""
+
+-#: cp/parser.c:8244
++#: cp/parser.c:8250
+ #, gcc-internal-format
+ msgid "class definition may not be declared a friend"
+ msgstr ""
+
+-#: cp/parser.c:8308 cp/parser.c:15155
++#: cp/parser.c:8314 cp/parser.c:15235
+ #, gcc-internal-format
+ msgid "templates may not be %<virtual%>"
+ msgstr ""
+
+-#: cp/parser.c:8775
++#: cp/parser.c:8786
+ #, gcc-internal-format
+ msgid "only constructors take base initializers"
+ msgstr ""
+
+-#: cp/parser.c:8795
++#: cp/parser.c:8806
+ #, fuzzy, gcc-internal-format
+ msgid "cannot expand initializer for member %<%D%>"
+ msgstr "έχει παÏαληφθεί το αÏχείο Ï€ÏοοÏισμοÏ"
+
+-#: cp/parser.c:8847
++#: cp/parser.c:8858
+ #, gcc-internal-format
+ msgid "anachronistic old-style base class initializer"
+ msgstr ""
+
+-#: cp/parser.c:8892
++#: cp/parser.c:8903
+ #, gcc-internal-format
+ msgid "keyword %<typename%> not allowed in this context (a qualified member initializer is implicitly a type)"
+ msgstr ""
+
+ #. Warn that we do not support `export'.
+-#: cp/parser.c:9237
++#: cp/parser.c:9248
+ #, gcc-internal-format
+ msgid "keyword %<export%> not implemented, and will be ignored"
+ msgstr ""
+
+-#: cp/parser.c:9482 cp/parser.c:9583
++#: cp/parser.c:9419 cp/parser.c:9517 cp/parser.c:9618
+ #, fuzzy, gcc-internal-format
+ msgid "template parameter pack %qD cannot have a default argument"
+ msgstr "Δεν μποÏεί να τεθεί η ημεÏομηνία."
+
+-#: cp/parser.c:9485 cp/parser.c:9586
++#: cp/parser.c:9422
+ #, fuzzy, gcc-internal-format
++msgid "template parameter pack cannot have a default argument"
++msgstr "ο διαχωÏιστής δε μποÏεί να είναι κενός"
++
++#: cp/parser.c:9520 cp/parser.c:9621
++#, fuzzy, gcc-internal-format
+ msgid "template parameter packs cannot have default arguments"
+ msgstr "ο διαχωÏιστής δε μποÏεί να είναι κενός"
+
+ #. Otherwise, emit an error about the invalid digraph, but continue
+ #. parsing because we got our argument list.
+-#: cp/parser.c:9723
++#: cp/parser.c:9758
+ #, fuzzy, gcc-internal-format
+ msgid "%<<::%> cannot begin a template-argument list"
+ msgstr "%s' δεν είναι ισχÏων θετικός ακέÏαιος."
+
+-#: cp/parser.c:9724
++#: cp/parser.c:9759
+ #, gcc-internal-format
+ msgid "%<<:%> is an alternate spelling for %<[%>. Insert whitespace between %<<%> and %<::%>"
+ msgstr ""
+
+-#: cp/parser.c:9731
++#: cp/parser.c:9766
+ #, gcc-internal-format
+ msgid "(if you use -fpermissive G++ will accept your code)"
+ msgstr ""
+
+-#: cp/parser.c:9804
++#: cp/parser.c:9839
+ #, fuzzy, gcc-internal-format
+ msgid "parse error in template argument list"
+ msgstr "συντακτικό σφάλμα στον οÏισμό κλάσης χαÏακτήÏων"
+
+ #. Explain what went wrong.
+-#: cp/parser.c:9917
++#: cp/parser.c:9952
+ #, gcc-internal-format
+ msgid "non-template %qD used as template"
+ msgstr ""
+
+-#: cp/parser.c:9918
++#: cp/parser.c:9953
+ #, gcc-internal-format
+ msgid "use %<%T::template %D%> to indicate that it is a template"
+ msgstr ""
+
+-#: cp/parser.c:10441
++#: cp/parser.c:10476
+ #, gcc-internal-format
+ msgid "template specialization with C linkage"
+ msgstr ""
+
+-#: cp/parser.c:11032
++#: cp/parser.c:11067
+ #, gcc-internal-format
+ msgid "using %<typename%> outside of template"
+ msgstr ""
+
+-#: cp/parser.c:11191
++#: cp/parser.c:11226
+ #, fuzzy, gcc-internal-format
+ msgid "declaration %qD does not declare anything"
+ msgstr "συντακτικό σφάλμα στον οÏισμό κλάσης χαÏακτήÏων"
+
+-#: cp/parser.c:11275
++#: cp/parser.c:11310
+ #, fuzzy, gcc-internal-format
+ msgid "attributes ignored on uninstantiated type"
+ msgstr "το `%s' είναι Ï€Ïόγονος του `%s'"
+
+-#: cp/parser.c:11279
++#: cp/parser.c:11314
+ #, fuzzy, gcc-internal-format
+ msgid "attributes ignored on template instantiation"
+ msgstr "αδυναμία ανάγνωσης κεφαλίδας από το `%s'"
+
+-#: cp/parser.c:11284
++#: cp/parser.c:11319
+ #, gcc-internal-format
+ msgid "attributes ignored on elaborated-type-specifier that is not a forward declaration"
+ msgstr ""
+
+-#: cp/parser.c:11406
++#: cp/parser.c:11441
+ #, fuzzy, gcc-internal-format
+ msgid "comma at end of enumerator list"
+ msgstr "σκουπίδια στο τέλος του αÏιθμοÏ"
+
+-#: cp/parser.c:11498
++#: cp/parser.c:11533
+ #, fuzzy, gcc-internal-format
+ msgid "%qD is not a namespace-name"
+ msgstr "το `%s' δεν είναι κανονικό αÏχείο"
+
+-#: cp/parser.c:11599
++#: cp/parser.c:11634
+ #, fuzzy, gcc-internal-format
+ msgid "%<namespace%> definition is not allowed here"
+ msgstr "Η λειτουÏγία δεν έχει υλοποιηθεί"
+@@ -30696,144 +30709,159 @@
+ #. [namespace.udecl]
+ #.
+ #. A using declaration shall not name a template-id.
+-#: cp/parser.c:11738
++#: cp/parser.c:11773
+ #, gcc-internal-format
+ msgid "a template-id may not appear in a using-declaration"
+ msgstr ""
+
+-#: cp/parser.c:12094
++#: cp/parser.c:12135
+ #, gcc-internal-format
+ msgid "an asm-specification is not allowed on a function-definition"
+ msgstr ""
+
+-#: cp/parser.c:12096
++#: cp/parser.c:12137
+ #, gcc-internal-format
+ msgid "attributes are not allowed on a function-definition"
+ msgstr ""
+
+-#: cp/parser.c:12229
++#: cp/parser.c:12270
+ #, fuzzy, gcc-internal-format
+ msgid "initializer provided for function"
+ msgstr "Δεν ήταν δυνατή η εÏÏεση ετικέττας για μεταγωγή στο `%s'"
+
+-#: cp/parser.c:12249
++#: cp/parser.c:12290
+ #, gcc-internal-format
+ msgid "attributes after parenthesized initializer ignored"
+ msgstr ""
+
+-#: cp/parser.c:12630 cp/pt.c:8772
++#: cp/parser.c:12671 cp/pt.c:8893
+ #, fuzzy, gcc-internal-format
+ msgid "array bound is not an integer constant"
+ msgstr "η τιμή για το %s Ï€Ïέπει να είναι ακέÏαιος"
+
+-#: cp/parser.c:12739
++#: cp/parser.c:12780
+ #, fuzzy, gcc-internal-format
+ msgid "%<%T::%E%> is not a type"
+ msgstr "το `%s' δεν είναι κανονικό αÏχείο"
+
+-#: cp/parser.c:12765
++#: cp/parser.c:12806
+ #, fuzzy, gcc-internal-format
+ msgid "invalid use of constructor as a template"
+ msgstr "μη έγκυÏος αÏιθμός από γÏαμμές"
+
+-#: cp/parser.c:12766
++#: cp/parser.c:12807
+ #, gcc-internal-format
+ msgid "use %<%T::%D%> instead of %<%T::%D%> to name the constructor in a qualified name"
+ msgstr ""
+
+-#: cp/parser.c:12938
++#: cp/parser.c:12979
+ #, fuzzy, gcc-internal-format
+ msgid "%qD is a namespace"
+ msgstr "το `%s' δεν είναι κανονικό αÏχείο"
+
+-#: cp/parser.c:13013
++#: cp/parser.c:13054
+ #, fuzzy, gcc-internal-format
+ msgid "duplicate cv-qualifier"
+ msgstr "διπλός αÏιθμός μηνÏματος"
+
+ # src/grep.c:785 src/grep.c:792
+ # src/grep.c:1060 src/grep.c:1067 src/grep.c:1076
+-#: cp/parser.c:13600
++#: cp/parser.c:13640
+ #, fuzzy, gcc-internal-format
+ msgid "file ends in default argument"
+ msgstr "μη έγκυÏο ÏŒÏισμα μήκους πεÏιεχομένου"
+
+-#: cp/parser.c:13673
++#: cp/parser.c:13683
+ #, gcc-internal-format
+ msgid "deprecated use of default argument for parameter of non-function"
+ msgstr ""
+
+-#: cp/parser.c:13676
++#: cp/parser.c:13686
+ #, gcc-internal-format
+ msgid "default arguments are only permitted for function parameters"
+ msgstr ""
+
+-#: cp/parser.c:13877
++#: cp/parser.c:13702
++#, fuzzy, gcc-internal-format
++msgid "%sparameter pack %qD cannot have a default argument"
++msgstr "Δεν μποÏεί να τεθεί η ημεÏομηνία."
++
++#: cp/parser.c:13705
++#, fuzzy, gcc-internal-format
++msgid "%sparameter pack cannot have a default argument"
++msgstr "Δεν μποÏεί να τεθεί η ημεÏομηνία."
++
++#: cp/parser.c:13947
+ #, gcc-internal-format
+ msgid "ISO C++ does not allow designated initializers"
+ msgstr ""
+
+-#: cp/parser.c:14477
++#: cp/parser.c:14547
+ #, fuzzy, gcc-internal-format
+ msgid "invalid class name in declaration of %qD"
+ msgstr "μη έγκυÏος αÏιθμός από κενές γÏαμμές: `%s'"
+
+-#: cp/parser.c:14489
++#: cp/parser.c:14559
+ #, fuzzy, gcc-internal-format
+ msgid "declaration of %qD in namespace %qD which does not enclose %qD"
+ msgstr "Ï€ÏοηγοÏμενη αυτονόητη διακÏÏηξη του `%s'"
+
+-#: cp/parser.c:14492
++#: cp/parser.c:14562
+ #, gcc-internal-format
+ msgid "declaration of %qD in %qD which does not enclose %qD"
+ msgstr ""
+
+-#: cp/parser.c:14505
++#: cp/parser.c:14575
+ #, gcc-internal-format
+ msgid "extra qualification ignored"
+ msgstr ""
+
+-#: cp/parser.c:14516
++#: cp/parser.c:14586
+ #, gcc-internal-format
+ msgid "an explicit specialization must be preceded by %<template <>%>"
+ msgstr ""
+
+-#: cp/parser.c:14609
++#: cp/parser.c:14613
+ #, fuzzy, gcc-internal-format
++msgid "function template %qD redeclared as a class template"
++msgstr "Η λειτουÏγία δεν έχει υλοποιηθεί"
++
++#: cp/parser.c:14689
++#, fuzzy, gcc-internal-format
+ msgid "previous definition of %q+#T"
+ msgstr "κανένας οÏισμός του `UNDEFINED'"
+
+-#: cp/parser.c:14855
++#: cp/parser.c:14935
+ #, gcc-internal-format
+ msgid "%Hextra %<;%>"
+ msgstr ""
+
+-#: cp/parser.c:14873
++#: cp/parser.c:14953
+ #, gcc-internal-format
+ msgid "a class-key must be used when declaring a friend"
+ msgstr ""
+
+-#: cp/parser.c:14887
++#: cp/parser.c:14967
+ #, fuzzy, gcc-internal-format
+ msgid "friend declaration does not name a class or function"
+ msgstr "συντακτικό σφάλμα στον οÏισμό κλάσης χαÏακτήÏων"
+
+-#: cp/parser.c:15064
++#: cp/parser.c:15144
+ #, gcc-internal-format
+ msgid "pure-specifier on function-definition"
+ msgstr ""
+
+-#: cp/parser.c:15356
++#: cp/parser.c:15438
+ #, gcc-internal-format
+ msgid "keyword %<typename%> not allowed outside of templates"
+ msgstr ""
+
+-#: cp/parser.c:15358
++#: cp/parser.c:15440
+ #, gcc-internal-format
+ msgid "keyword %<typename%> not allowed in this context (the base class is implicitly a type)"
+ msgstr ""
+
+-#: cp/parser.c:16407
++#: cp/parser.c:16489
+ #, fuzzy, gcc-internal-format
+ msgid "too few template-parameter-lists"
+ msgstr "διπλό όνομα χαÏακτήÏα `%s'"
+@@ -30842,13 +30870,13 @@
+ #. something like:
+ #.
+ #. template <class T> template <class U> void S::f();
+-#: cp/parser.c:16422
++#: cp/parser.c:16504
+ #, gcc-internal-format
+ msgid "too many template-parameter-lists"
+ msgstr ""
+
+ #. Issue an error message.
+-#: cp/parser.c:16694
++#: cp/parser.c:16776
+ #, fuzzy, gcc-internal-format
+ msgid "named return values are no longer supported"
+ msgstr "αÏχεία fifo δεν υποστηÏίζονται"
+@@ -30856,234 +30884,234 @@
+ #. 14.5.2.2 [temp.mem]
+ #.
+ #. A local class shall not have member templates.
+-#: cp/parser.c:16766
++#: cp/parser.c:16848
+ #, gcc-internal-format
+ msgid "invalid declaration of member template in local class"
+ msgstr ""
+
+-#: cp/parser.c:16775
++#: cp/parser.c:16857
+ #, gcc-internal-format
+ msgid "template with C linkage"
+ msgstr ""
+
+-#: cp/parser.c:16919
++#: cp/parser.c:17001
+ #, fuzzy, gcc-internal-format
+ msgid "template declaration of %qs"
+ msgstr "δημιουÏγία αÏχείου `%s'\n"
+
+-#: cp/parser.c:16982
++#: cp/parser.c:17064
+ #, fuzzy, gcc-internal-format
+ msgid "explicit template specialization cannot have a storage class"
+ msgstr "Ï€ÏοηγοÏμενη αυτονόητη διακÏÏηξη του `%s'"
+
+-#: cp/parser.c:17171
++#: cp/parser.c:17253
+ #, gcc-internal-format
+ msgid "%H%<>>%> should be %<> >%> within a nested template argument list"
+ msgstr ""
+
+-#: cp/parser.c:17184
++#: cp/parser.c:17266
+ #, gcc-internal-format
+ msgid "spurious %<>>%>, use %<>%> to terminate a template argument list"
+ msgstr ""
+
+-#: cp/parser.c:17519
++#: cp/parser.c:17601
+ #, fuzzy, gcc-internal-format
+ msgid "invalid use of %qD in linkage specification"
+ msgstr "Μη έγκυÏη ÏÏθμιση θÏÏας (port)"
+
+-#: cp/parser.c:17532
++#: cp/parser.c:17614
+ #, gcc-internal-format
+ msgid "%<__thread%> before %qD"
+ msgstr ""
+
+-#: cp/parser.c:17847
++#: cp/parser.c:17929
+ #, fuzzy, gcc-internal-format
+ msgid "%qs tag used in naming %q#T"
+ msgstr "Μη έγκυÏη επιλογή `%s'"
+
+-#: cp/parser.c:17868
++#: cp/parser.c:17950
+ #, gcc-internal-format
+ msgid "%qD redeclared with different access"
+ msgstr ""
+
+-#: cp/parser.c:17885
++#: cp/parser.c:17967
+ #, gcc-internal-format
+ msgid "%<template%> (as a disambiguator) is only allowed within templates"
+ msgstr ""
+
+-#: cp/parser.c:18138 cp/parser.c:19061 cp/parser.c:19192
++#: cp/parser.c:18220 cp/parser.c:19143 cp/parser.c:19274
+ #, gcc-internal-format
+ msgid "misplaced %<@%D%> Objective-C++ construct"
+ msgstr ""
+
+-#: cp/parser.c:18279
++#: cp/parser.c:18361
+ #, gcc-internal-format
+ msgid "%<@encode%> must specify a type as an argument"
+ msgstr ""
+
+-#: cp/parser.c:18594
++#: cp/parser.c:18676
+ #, gcc-internal-format
+ msgid "invalid Objective-C++ selector name"
+ msgstr ""
+
+-#: cp/parser.c:18925
++#: cp/parser.c:19007
+ #, fuzzy, gcc-internal-format
+ msgid "identifier expected after %<@protocol%>"
+ msgstr "ΠÏοσδιοÏιστής αφαιÏέθηκε"
+
+-#: cp/parser.c:19626
++#: cp/parser.c:19708
+ #, gcc-internal-format
+ msgid "schedule %<runtime%> does not take a %<chunk_size%> parameter"
+ msgstr ""
+
+-#: cp/parser.c:19735
++#: cp/parser.c:19824
+ #, fuzzy, gcc-internal-format
+ msgid "%qs is not valid for %qs"
+ msgstr "%s' δεν είναι ισχÏων θετικός ακέÏαιος."
+
+-#: cp/parser.c:20390
++#: cp/parser.c:20479
+ #, fuzzy, gcc-internal-format
+ msgid "junk at end of %<#pragma GCC pch_preprocess%>"
+ msgstr "μη τεÏματιζόμενo αλφαÏιθμητικό"
+
+-#: cp/parser.c:20477
++#: cp/parser.c:20566
+ #, gcc-internal-format
+ msgid "%<#pragma omp section%> may only be used in %<#pragma omp sections%> construct"
+ msgstr ""
+
+-#: cp/parser.c:20535
++#: cp/parser.c:20624
+ #, fuzzy, gcc-internal-format
+ msgid "inter-module optimizations not implemented for C++"
+ msgstr "Η λειτουÏγία δεν έχει υλοποιηθεί"
+
+-#: cp/pt.c:249
++#: cp/pt.c:252
+ #, gcc-internal-format
+ msgid "data member %qD cannot be a member template"
+ msgstr ""
+
+-#: cp/pt.c:261
++#: cp/pt.c:264
+ #, fuzzy, gcc-internal-format
+ msgid "invalid member template declaration %qD"
+ msgstr "μη έγκυÏος αÏιθμός από κενές γÏαμμές: `%s'"
+
+-#: cp/pt.c:609
++#: cp/pt.c:612
+ #, gcc-internal-format
+ msgid "explicit specialization in non-namespace scope %qD"
+ msgstr ""
+
+-#: cp/pt.c:623
++#: cp/pt.c:626
+ #, gcc-internal-format
+ msgid "enclosing class templates are not explicitly specialized"
+ msgstr ""
+
+-#: cp/pt.c:711
++#: cp/pt.c:714
+ #, gcc-internal-format
+ msgid "specialization of %qD in different namespace"
+ msgstr ""
+
+-#: cp/pt.c:712 cp/pt.c:809
++#: cp/pt.c:715 cp/pt.c:812
+ #, fuzzy, gcc-internal-format
+ msgid " from definition of %q+#D"
+ msgstr "κανένας οÏισμός του `UNDEFINED'"
+
+-#: cp/pt.c:729
++#: cp/pt.c:732
+ #, fuzzy, gcc-internal-format
+ msgid "explicit instantiation of %qD in namespace %qD (which does not enclose namespace %qD)"
+ msgstr "αδυναμία ανοίγματος αÏχείου οÏÎ¹ÏƒÎ¼Î¿Ï locale `%s'"
+
+-#: cp/pt.c:747
++#: cp/pt.c:750
+ #, fuzzy, gcc-internal-format
+ msgid "name of class shadows template template parameter %qD"
+ msgstr "διπλό όνομα χαÏακτήÏα `%s'"
+
+-#: cp/pt.c:776
++#: cp/pt.c:779
+ #, gcc-internal-format
+ msgid "specialization of %qT after instantiation"
+ msgstr ""
+
+-#: cp/pt.c:808
++#: cp/pt.c:811
+ #, gcc-internal-format
+ msgid "specializing %q#T in different namespace"
+ msgstr ""
+
+-#: cp/pt.c:823
++#: cp/pt.c:826
+ #, gcc-internal-format
+ msgid "specialization %qT after instantiation %qT"
+ msgstr ""
+
+-#: cp/pt.c:836
++#: cp/pt.c:839
+ #, fuzzy, gcc-internal-format
+ msgid "explicit specialization of non-template %qT"
+ msgstr "αδυναμία ανοίγματος αÏχείου οÏÎ¹ÏƒÎ¼Î¿Ï locale `%s'"
+
+-#: cp/pt.c:1238
++#: cp/pt.c:1246
+ #, gcc-internal-format
+ msgid "specialization of %qD after instantiation"
+ msgstr ""
+
+-#: cp/pt.c:1464
++#: cp/pt.c:1472
+ #, fuzzy, gcc-internal-format
+ msgid "%qD is not a function template"
+ msgstr "Το `%s' δεν είναι κατάλογος."
+
+-#: cp/pt.c:1673
++#: cp/pt.c:1681
+ #, gcc-internal-format
+ msgid "template-id %qD for %q+D does not match any template declaration"
+ msgstr ""
+
+-#: cp/pt.c:1681
++#: cp/pt.c:1689
+ #, gcc-internal-format
+ msgid "ambiguous template specialization %qD for %q+D"
+ msgstr ""
+
+ #. This case handles bogus declarations like template <>
+ #. template <class T> void f<int>();
+-#: cp/pt.c:1916 cp/pt.c:1970
++#: cp/pt.c:1924 cp/pt.c:1978
+ #, gcc-internal-format
+ msgid "template-id %qD in declaration of primary template"
+ msgstr ""
+
+-#: cp/pt.c:1929
++#: cp/pt.c:1937
+ #, gcc-internal-format
+ msgid "template parameter list used in explicit instantiation"
+ msgstr ""
+
+-#: cp/pt.c:1935
++#: cp/pt.c:1943
+ #, gcc-internal-format
+ msgid "definition provided for explicit instantiation"
+ msgstr ""
+
+-#: cp/pt.c:1943
++#: cp/pt.c:1951
+ #, fuzzy, gcc-internal-format
+ msgid "too many template parameter lists in declaration of %qD"
+ msgstr "ΠÏοειδοποίηση: Î Î¿Î»Ï Î»Î¯Î³Î± οÏίσματα στο εσωδομημένο `%s'"
+
+-#: cp/pt.c:1946
++#: cp/pt.c:1954
+ #, fuzzy, gcc-internal-format
+ msgid "too few template parameter lists in declaration of %qD"
+ msgstr "ΠÏοειδοποίηση: Î Î¿Î»Ï Î»Î¯Î³Î± οÏίσματα στο εσωδομημένο `%s'"
+
+-#: cp/pt.c:1948
++#: cp/pt.c:1956
+ #, gcc-internal-format
+ msgid "explicit specialization of %qD must be introduced by %<template <>%>"
+ msgstr ""
+
+-#: cp/pt.c:1967
++#: cp/pt.c:1975
+ #, gcc-internal-format
+ msgid "function template partial specialization %qD is not allowed"
+ msgstr ""
+
+-#: cp/pt.c:1999
++#: cp/pt.c:2007
+ #, gcc-internal-format
+ msgid "default argument specified in explicit specialization"
+ msgstr ""
+
+-#: cp/pt.c:2029
++#: cp/pt.c:2037
+ #, fuzzy, gcc-internal-format
+ msgid "%qD is not a template function"
+ msgstr "Το `%s' δεν είναι κατάλογος."
+
+-#: cp/pt.c:2037
++#: cp/pt.c:2045
+ #, fuzzy, gcc-internal-format
+ msgid "%qD is not declared in %qD"
+ msgstr "το `%s' δεν είναι κανονικό αÏχείο"
+@@ -31096,92 +31124,102 @@
+ #. program is ill-formed.
+ #.
+ #. Similar language is found in [temp.explicit].
+-#: cp/pt.c:2099
++#: cp/pt.c:2107
+ #, gcc-internal-format
+ msgid "specialization of implicitly-declared special member function"
+ msgstr ""
+
+-#: cp/pt.c:2143
++#: cp/pt.c:2151
+ #, fuzzy, gcc-internal-format
+ msgid "no member function %qD declared in %qT"
+ msgstr "Στη συνάÏτηση μέλος `%s':"
+
+-#: cp/pt.c:2642
++#: cp/pt.c:2628
+ #, gcc-internal-format
+ msgid "base initializer expansion %<%T%> contains no parameter packs"
+ msgstr ""
+
+-#: cp/pt.c:2701
++#: cp/pt.c:2687
+ #, gcc-internal-format
+ msgid "expansion pattern %<%T%> contains no argument packs"
+ msgstr ""
+
+-#: cp/pt.c:2703
++#: cp/pt.c:2689
+ #, gcc-internal-format
+ msgid "expansion pattern %<%E%> contains no argument packs"
+ msgstr ""
+
+-#: cp/pt.c:2745
++#: cp/pt.c:2730
+ #, gcc-internal-format
+ msgid "parameter packs not expanded with `...':"
+ msgstr ""
+
+-#: cp/pt.c:2760 cp/pt.c:3383
++#: cp/pt.c:2745 cp/pt.c:3361
+ #, fuzzy, gcc-internal-format
+ msgid " %qD"
+ msgstr " `%D'"
+
+-#: cp/pt.c:2762
++#: cp/pt.c:2747
+ #, fuzzy, gcc-internal-format
+ msgid " <anonymous>"
+ msgstr "((ανώνυμο))"
+
+-#: cp/pt.c:2875
++#: cp/pt.c:2852
+ #, fuzzy, gcc-internal-format
+ msgid "declaration of %q+#D"
+ msgstr "δημιουÏγία αÏχείου `%s'\n"
+
+-#: cp/pt.c:2876
++#: cp/pt.c:2853
+ #, fuzzy, gcc-internal-format
+ msgid " shadows template parm %q+#D"
+ msgstr "διπλό όνομα χαÏακτήÏα `%s'"
+
+-#: cp/pt.c:3379
++#: cp/pt.c:3357
+ #, gcc-internal-format
+ msgid "template parameters not used in partial specialization:"
+ msgstr ""
+
+-#: cp/pt.c:3394
++#: cp/pt.c:3372
+ #, gcc-internal-format
+ msgid "partial specialization %qT does not specialize any template arguments"
+ msgstr ""
+
+-#: cp/pt.c:3439
++#: cp/pt.c:3417
+ #, gcc-internal-format
+ msgid "parameter pack argument %qE must be at the end of the template argument list"
+ msgstr ""
+
+-#: cp/pt.c:3441
++#: cp/pt.c:3419
+ #, gcc-internal-format
+ msgid "parameter pack argument %qT must be at the end of the template argument list"
+ msgstr ""
+
+-#: cp/pt.c:3462
++#: cp/pt.c:3440
+ #, gcc-internal-format
+ msgid "template argument %qE involves template parameter(s)"
+ msgstr ""
+
+-#: cp/pt.c:3505
++#: cp/pt.c:3484
+ #, gcc-internal-format
+ msgid "type %qT of template argument %qE depends on template parameter(s)"
+ msgstr ""
+
+-#: cp/pt.c:3611
++#: cp/pt.c:3591
+ #, fuzzy, gcc-internal-format
+ msgid "no default argument for %qD"
+ msgstr "Η παÏάμετÏος `%s' δεν είναι έγκυÏη."
+
+-#: cp/pt.c:3796
++#: cp/pt.c:3609
++#, gcc-internal-format
++msgid "parameter pack %qE must be at the end of the template parameter list"
++msgstr ""
++
++#: cp/pt.c:3612
++#, gcc-internal-format
++msgid "parameter pack %qT must be at the end of the template parameter list"
++msgstr ""
++
++#: cp/pt.c:3799
+ #, fuzzy, gcc-internal-format
+ msgid "template class without a name"
+ msgstr "μη τεÏματιζόμενο όνομα βάÏους"
+@@ -31189,7 +31227,7 @@
+ #. [temp.mem]
+ #.
+ #. A destructor shall not be a member template.
+-#: cp/pt.c:3804
++#: cp/pt.c:3807
+ #, gcc-internal-format
+ msgid "destructor %qD declared as member template"
+ msgstr ""
+@@ -31199,77 +31237,72 @@
+ #. An allocation function can be a function
+ #. template. ... Template allocation functions shall
+ #. have two or more parameters.
+-#: cp/pt.c:3819
++#: cp/pt.c:3822
+ #, fuzzy, gcc-internal-format
+ msgid "invalid template declaration of %qD"
+ msgstr "μη έγκυÏος αÏιθμός από κενές γÏαμμές: `%s'"
+
+-#: cp/pt.c:3890
+-#, gcc-internal-format
+-msgid "parameter pack %qE must be at the end of the template parameter list"
+-msgstr ""
+-
+-#: cp/pt.c:3893
+-#, gcc-internal-format
+-msgid "parameter pack %qT must be at the end of the template parameter list"
+-msgstr ""
+-
+-#: cp/pt.c:3953
++#: cp/pt.c:3939
+ #, fuzzy, gcc-internal-format
+ msgid "template definition of non-template %q#D"
+ msgstr "αδυναμία ανοίγματος αÏχείου οÏÎ¹ÏƒÎ¼Î¿Ï locale `%s'"
+
+-#: cp/pt.c:3996
++#: cp/pt.c:3982
+ #, gcc-internal-format
+ msgid "expected %d levels of template parms for %q#D, got %d"
+ msgstr ""
+
+-#: cp/pt.c:4008
++#: cp/pt.c:3994
+ #, fuzzy, gcc-internal-format
+ msgid "got %d template parameters for %q#D"
+ msgstr "διπλό όνομα χαÏακτήÏα `%s'"
+
+-#: cp/pt.c:4011
++#: cp/pt.c:3997
+ #, fuzzy, gcc-internal-format
+ msgid "got %d template parameters for %q#T"
+ msgstr "διπλό όνομα χαÏακτήÏα `%s'"
+
+-#: cp/pt.c:4013
++#: cp/pt.c:3999
+ #, gcc-internal-format
+ msgid " but %d required"
+ msgstr " αλλά %d απαιτοÏνται"
+
+-#: cp/pt.c:4031
++#: cp/pt.c:4017
+ #, fuzzy, gcc-internal-format
+ msgid "template arguments to %qD do not match original template %qD"
+ msgstr "ο διαχωÏιστής δε μποÏεί να είναι κενός"
+
+-#: cp/pt.c:4035
++#: cp/pt.c:4021
+ #, gcc-internal-format
+ msgid "use template<> for an explicit specialization"
+ msgstr ""
+
+-#: cp/pt.c:4131
++#: cp/pt.c:4117
+ #, fuzzy, gcc-internal-format
+ msgid "%qT is not a template type"
+ msgstr "το `%s' δεν είναι κανονικό αÏχείο"
+
+-#: cp/pt.c:4144
++#: cp/pt.c:4130
+ #, fuzzy, gcc-internal-format
+ msgid "template specifiers not specified in declaration of %qD"
+ msgstr "ΠÏοειδοποίηση: Î Î¿Î»Ï Î»Î¯Î³Î± οÏίσματα στο εσωδομημένο `%s'"
+
+-#: cp/pt.c:4155
++#: cp/pt.c:4140
+ #, fuzzy, gcc-internal-format
+-msgid "used %d template parameter(s) instead of %d"
++msgid "redeclared with %d template parameter(s)"
+ msgstr "διπλό όνομα χαÏακτήÏα `%s'"
+
+-#: cp/pt.c:4184
++#: cp/pt.c:4142
+ #, fuzzy, gcc-internal-format
++msgid "previous declaration %q+D used %d template parameter(s)"
++msgstr "Δεν υπάÏχει Ï€ÏοηγοÏμενη κανονική έκφÏαση"
++
++#: cp/pt.c:4176
++#, fuzzy, gcc-internal-format
+ msgid "template parameter %q+#D"
+ msgstr "διπλό όνομα χαÏακτήÏα `%s'"
+
+-#: cp/pt.c:4185
++#: cp/pt.c:4177
+ #, gcc-internal-format
+ msgid "redeclared here as %q#D"
+ msgstr ""
+@@ -31278,182 +31311,182 @@
+ #.
+ #. A template-parameter may not be given default arguments
+ #. by two different declarations in the same scope.
+-#: cp/pt.c:4195
++#: cp/pt.c:4187
+ #, fuzzy, gcc-internal-format
+ msgid "redefinition of default argument for %q#D"
+ msgstr "Η παÏάμετÏος `%s' δεν είναι έγκυÏη."
+
+-#: cp/pt.c:4196
+-#, gcc-internal-format
+-msgid "%J original definition appeared here"
+-msgstr ""
++#: cp/pt.c:4188
++#, fuzzy, gcc-internal-format
++msgid "%Joriginal definition appeared here"
++msgstr "κανένας οÏισμός του `UNDEFINED'"
+
+-#: cp/pt.c:4300
++#: cp/pt.c:4292
+ #, gcc-internal-format
+ msgid "%qE is not a valid template argument for type %qT because function %qD has not external linkage"
+ msgstr ""
+
+-#: cp/pt.c:4341
++#: cp/pt.c:4333
+ #, 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.c:4418
++#: cp/pt.c:4410
+ #, gcc-internal-format
+ msgid "%qE is not a valid template argument for type %qT because it is a non-constant expression"
+ msgstr ""
+
+-#: cp/pt.c:4462
++#: cp/pt.c:4454
+ #, fuzzy, gcc-internal-format
+ msgid "%qD is not a valid template argument because %qD is a variable, not the address of a variable"
+ msgstr "%s' δεν είναι ισχÏων θετικός ακέÏαιος."
+
+-#: cp/pt.c:4480
++#: cp/pt.c:4472
+ #, fuzzy, gcc-internal-format
+ msgid "%qE is not a valid template argument of type %qT because %qE is not a variable"
+ msgstr "%s' δεν είναι ισχÏων θετικός ακέÏαιος."
+
+-#: cp/pt.c:4487
++#: cp/pt.c:4479
+ #, fuzzy, gcc-internal-format
+ msgid "%qE is not a valid template argument of type %qT because %qD does not have external linkage"
+ msgstr "%s' δεν είναι ισχÏων θετικός ακέÏαιος."
+
+-#: cp/pt.c:4517
++#: cp/pt.c:4509
+ #, gcc-internal-format
+ msgid "%qE is not a valid template argument for type %qT because of conflicts in cv-qualification"
+ msgstr ""
+
+-#: cp/pt.c:4524
++#: cp/pt.c:4516
+ #, fuzzy, gcc-internal-format
+ msgid "%qE is not a valid template argument for type %qT because it is not an lvalue"
+ msgstr "%s' δεν είναι ισχÏων θετικός ακέÏαιος."
+
+-#: cp/pt.c:4537
++#: cp/pt.c:4529
+ #, gcc-internal-format
+ msgid "%qE is not a valid template argument for type %qT because object %qD has not external linkage"
+ msgstr ""
+
+-#: cp/pt.c:4577
++#: cp/pt.c:4569
+ #, fuzzy, gcc-internal-format
+ msgid "%qE is not a valid template argument for type %qT because it is a pointer"
+ msgstr "%s' δεν είναι ισχÏων θετικός ακέÏαιος."
+
+-#: cp/pt.c:4579
++#: cp/pt.c:4571
+ #, gcc-internal-format
+ msgid "try using %qE instead"
+ msgstr ""
+
+-#: cp/pt.c:4614
++#: cp/pt.c:4606
+ #, fuzzy, gcc-internal-format
+ msgid "%qE is not a valid template argument for type %qT because it is of type %qT"
+ msgstr "%s' δεν είναι ισχÏων θετικός ακέÏαιος."
+
+-#: cp/pt.c:4617
++#: cp/pt.c:4609
+ #, gcc-internal-format
+ msgid "standard conversions are not allowed in this context"
+ msgstr ""
+
+-#: cp/pt.c:4797
++#: cp/pt.c:4860
+ #, gcc-internal-format
+ msgid "to refer to a type member of a template parameter, use %<typename %E%>"
+ msgstr ""
+
+-#: cp/pt.c:4813 cp/pt.c:4832 cp/pt.c:4882
++#: cp/pt.c:4876 cp/pt.c:4895 cp/pt.c:4945
+ #, gcc-internal-format
+ msgid "type/value mismatch at argument %d in template parameter list for %qD"
+ msgstr ""
+
+-#: cp/pt.c:4817
++#: cp/pt.c:4880
+ #, fuzzy, gcc-internal-format
+ msgid " expected a constant of type %qT, got %qT"
+ msgstr "%s: αναμενόταν ακέÏαιος μετά το `%c'"
+
+-#: cp/pt.c:4821
++#: cp/pt.c:4884
+ #, fuzzy, gcc-internal-format
+ msgid " expected a class template, got %qE"
+ msgstr "%s: αναμενόταν ακέÏαιος μετά το `%c'"
+
+-#: cp/pt.c:4823
++#: cp/pt.c:4886
+ #, fuzzy, gcc-internal-format
+ msgid " expected a type, got %qE"
+ msgstr "%s: αναμενόταν ακέÏαιος μετά το `%c'"
+
+-#: cp/pt.c:4836
++#: cp/pt.c:4899
+ #, fuzzy, gcc-internal-format
+ msgid " expected a type, got %qT"
+ msgstr "%s: αναμενόταν ακέÏαιος μετά το `%c'"
+
+-#: cp/pt.c:4838
++#: cp/pt.c:4901
+ #, fuzzy, gcc-internal-format
+ msgid " expected a class template, got %qT"
+ msgstr "%s: αναμενόταν ακέÏαιος μετά το `%c'"
+
+-#: cp/pt.c:4885
++#: cp/pt.c:4948
+ #, fuzzy, gcc-internal-format
+ msgid " expected a template of type %qD, got %qD"
+ msgstr "%s: αναμενόταν ακέÏαιος μετά το `%c'"
+
+-#: cp/pt.c:4928
++#: cp/pt.c:4991
+ #, fuzzy, gcc-internal-format
+ msgid "could not convert template argument %qE to %qT"
+ msgstr "δεν είναι δυνατό να δημιουÏγηθεί το %s `%s' στο `%s'"
+
+-#: cp/pt.c:4984
++#: cp/pt.c:5047
+ #, fuzzy, gcc-internal-format
+ msgid "wrong number of template arguments (%d, should be %d)"
+ msgstr "λάθος αÏιθμός οÏισμάτων"
+
+-#: cp/pt.c:5116
++#: cp/pt.c:5179
+ #, fuzzy, gcc-internal-format
+ msgid "wrong number of template arguments (%d, should be %d%s)"
+ msgstr "λάθος αÏιθμός οÏισμάτων"
+
+-#: cp/pt.c:5120
++#: cp/pt.c:5183
+ #, gcc-internal-format
+ msgid "provided for %q+D"
+ msgstr ""
+
+-#: cp/pt.c:5177
++#: cp/pt.c:5242
+ #, gcc-internal-format
+ msgid "cannot expand %<%E%> into a fixed-length argument list"
+ msgstr ""
+
+-#: cp/pt.c:5180
++#: cp/pt.c:5245
+ #, gcc-internal-format
+ msgid "cannot expand %<%T%> into a fixed-length argument list"
+ msgstr ""
+
+-#: cp/pt.c:5195
++#: cp/pt.c:5261
+ #, fuzzy, gcc-internal-format
+ msgid "template argument %d is invalid"
+ msgstr "έχουν παÏαληφθεί οÏίσματα"
+
+-#: cp/pt.c:5455
++#: cp/pt.c:5521
+ #, gcc-internal-format
+ msgid "non-template type %qT used as a template"
+ msgstr ""
+
+-#: cp/pt.c:5457
++#: cp/pt.c:5523
+ #, fuzzy, gcc-internal-format
+ msgid "for template declaration %q+D"
+ msgstr "μη έγκυÏος αÏιθμός από κενές γÏαμμές: `%s'"
+
+-#: cp/pt.c:6132
++#: cp/pt.c:6221
+ #, gcc-internal-format
+ msgid "template instantiation depth exceeds maximum of %d (use -ftemplate-depth-NN to increase the maximum) instantiating %qD"
+ msgstr ""
+
+-#: cp/pt.c:7237
++#: cp/pt.c:7333
+ #, gcc-internal-format
+ msgid "mismatched argument pack lengths while expanding %<%T%>"
+ msgstr ""
+
+-#: cp/pt.c:7241
++#: cp/pt.c:7337
+ #, gcc-internal-format
+ msgid "mismatched argument pack lengths while expanding %<%E%>"
+ msgstr ""
+
+-#: cp/pt.c:8189
++#: cp/pt.c:8289
+ #, fuzzy, gcc-internal-format
+ msgid "instantiation of %q+D as type %qT"
+ msgstr "μη έγκυÏος αÏιθμός αÏχείου στη δήλωση πεδίου: `%s'"
+@@ -31471,242 +31504,242 @@
+ #.
+ #. is an attempt to declare a variable with function
+ #. type.
+-#: cp/pt.c:8324
++#: cp/pt.c:8424
+ #, fuzzy, gcc-internal-format
+ msgid "variable %qD has function type"
+ msgstr "μη πλήÏης εγγÏαφή"
+
+-#: cp/pt.c:8471
++#: cp/pt.c:8571
+ #, fuzzy, gcc-internal-format
+ msgid "invalid parameter type %qT"
+ msgstr "Μη έγκυÏη Ï€ÏοτεÏαιότητα `%s'"
+
+-#: cp/pt.c:8473
++#: cp/pt.c:8573
+ #, fuzzy, gcc-internal-format
+ msgid "in declaration %q+D"
+ msgstr "δημιουÏγία αÏχείου `%s'\n"
+
+-#: cp/pt.c:8550
++#: cp/pt.c:8650
+ #, gcc-internal-format
+ msgid "function returning an array"
+ msgstr ""
+
+-#: cp/pt.c:8552
++#: cp/pt.c:8652
+ #, gcc-internal-format
+ msgid "function returning a function"
+ msgstr ""
+
+-#: cp/pt.c:8586
++#: cp/pt.c:8686
+ #, fuzzy, gcc-internal-format
+ msgid "creating pointer to member function of non-class type %qT"
+ msgstr "δεν είστε μέλος της ομάδας `%s'"
+
+-#: cp/pt.c:8792
++#: cp/pt.c:8913
+ #, fuzzy, gcc-internal-format
+ msgid "creating array with negative size (%qE)"
+ msgstr "δημιουÏγία αÏχείου `%s'\n"
+
+-#: cp/pt.c:9047
++#: cp/pt.c:9168
+ #, gcc-internal-format
+ msgid "forming reference to void"
+ msgstr ""
+
+-#: cp/pt.c:9049
++#: cp/pt.c:9170
+ #, fuzzy, gcc-internal-format
+ msgid "forming %s to reference type %qT"
+ msgstr "δεν είστε μέλος της ομάδας `%s'"
+
+-#: cp/pt.c:9100
++#: cp/pt.c:9221
+ #, fuzzy, gcc-internal-format
+ msgid "creating pointer to member of non-class type %qT"
+ msgstr "δεν είστε μέλος της ομάδας `%s'"
+
+-#: cp/pt.c:9106
++#: cp/pt.c:9227
+ #, fuzzy, gcc-internal-format
+ msgid "creating pointer to member reference type %qT"
+ msgstr "δεν είστε μέλος της ομάδας `%s'"
+
+-#: cp/pt.c:9112
++#: cp/pt.c:9233
+ #, fuzzy, gcc-internal-format
+ msgid "creating pointer to member of type void"
+ msgstr "δεν είστε μέλος της ομάδας `%s'"
+
+-#: cp/pt.c:9179
++#: cp/pt.c:9300
+ #, fuzzy, gcc-internal-format
+ msgid "creating array of %qT"
+ msgstr "δημιουÏγία αÏχείου `%s'\n"
+
+-#: cp/pt.c:9185
++#: cp/pt.c:9306
+ #, gcc-internal-format
+ msgid "creating array of %qT, which is an abstract class type"
+ msgstr ""
+
+-#: cp/pt.c:9236
++#: cp/pt.c:9357
+ #, fuzzy, gcc-internal-format
+ msgid "%qT is not a class, struct, or union type"
+ msgstr "το `%s' δεν είναι κανονικό αÏχείο"
+
+-#: cp/pt.c:9271
++#: cp/pt.c:9392
+ #, gcc-internal-format
+ msgid "%qT resolves to %qT, which is not an enumeration type"
+ msgstr ""
+
+-#: cp/pt.c:9274
++#: cp/pt.c:9395
+ #, gcc-internal-format
+ msgid "%qT resolves to %qT, which is is not a class type"
+ msgstr ""
+
+-#: cp/pt.c:9375
++#: cp/pt.c:9496
+ #, gcc-internal-format
+ msgid "use of %qs in template"
+ msgstr ""
+
+-#: cp/pt.c:9512
++#: cp/pt.c:9633
+ #, gcc-internal-format
+ msgid "dependent-name %qE is parsed as a non-type, but instantiation yields a type"
+ msgstr ""
+
+-#: cp/pt.c:9514
++#: cp/pt.c:9635
+ #, gcc-internal-format
+ msgid "say %<typename %E%> if a type is meant"
+ msgstr ""
+
+-#: cp/pt.c:9643
++#: cp/pt.c:9764
+ #, fuzzy, gcc-internal-format
+ msgid "using invalid field %qD"
+ msgstr "έχει παÏαληφθεί η λίστα με τα πεδία"
+
+-#: cp/pt.c:9952 cp/pt.c:10432
++#: cp/pt.c:10073 cp/pt.c:10553
+ #, fuzzy, gcc-internal-format
+ msgid "invalid use of pack expansion expression"
+ msgstr "Μη έγκυÏη κανονική έκφÏαση"
+
+-#: cp/pt.c:9956 cp/pt.c:10436
++#: cp/pt.c:10077 cp/pt.c:10557
+ #, gcc-internal-format
+ msgid "use %<...%> to expand argument pack"
+ msgstr ""
+
+-#: cp/pt.c:10594
++#: cp/pt.c:10715
+ #, gcc-internal-format
+ msgid "a cast to a type other than an integral or enumeration type cannot appear in a constant-expression"
+ msgstr ""
+
+-#: cp/pt.c:11052
++#: cp/pt.c:11181
+ #, fuzzy, gcc-internal-format
+ msgid "%qT is not a class or namespace"
+ msgstr "το `%s' δεν είναι κανονικό αÏχείο"
+
+-#: cp/pt.c:11055
++#: cp/pt.c:11184
+ #, fuzzy, gcc-internal-format
+ msgid "%qD is not a class or namespace"
+ msgstr "το `%s' δεν είναι κανονικό αÏχείο"
+
+-#: cp/pt.c:11265
++#: cp/pt.c:11394
+ #, fuzzy, gcc-internal-format
+ msgid "%qT is/uses anonymous type"
+ msgstr "το `%s' δεν είναι κανονικό αÏχείο"
+
+-#: cp/pt.c:11267
++#: cp/pt.c:11396
+ #, fuzzy, gcc-internal-format
+ msgid "template argument for %qD uses local type %qT"
+ msgstr "Η παÏάμετÏος `%s' δεν είναι έγκυÏη."
+
+-#: cp/pt.c:11277
++#: cp/pt.c:11406
+ #, gcc-internal-format
+ msgid "%qT is a variably modified type"
+ msgstr ""
+
+-#: cp/pt.c:11288
++#: cp/pt.c:11417
+ #, fuzzy, gcc-internal-format
+ msgid "integral expression %qE is not constant"
+ msgstr "μη τεÏματιζμένο αλφαÏιθμητικό σταθεÏάς"
+
+-#: cp/pt.c:11293
++#: cp/pt.c:11422
+ #, fuzzy, gcc-internal-format
+ msgid " trying to instantiate %qD"
+ msgstr "μη τεÏματιζμένο αλφαÏιθμητικό σταθεÏάς"
+
+-#: cp/pt.c:13959
++#: cp/pt.c:14173
+ #, fuzzy, gcc-internal-format
+ msgid "ambiguous class template instantiation for %q#T"
+ msgstr "διπλός οÏισμός συνόλου"
+
+-#: cp/pt.c:13962
++#: cp/pt.c:14176
+ #, gcc-internal-format
+ msgid "%s %+#T"
+ msgstr ""
+
+-#: cp/pt.c:13985 cp/pt.c:14068
++#: cp/pt.c:14199 cp/pt.c:14282
+ #, fuzzy, gcc-internal-format
+ msgid "explicit instantiation of non-template %q#D"
+ msgstr "αδυναμία ανοίγματος αÏχείου οÏÎ¹ÏƒÎ¼Î¿Ï locale `%s'"
+
+-#: cp/pt.c:14000
++#: cp/pt.c:14214
+ #, fuzzy, gcc-internal-format
+ msgid "%qD is not a static data member of a class template"
+ msgstr "το `%s' είναι Ï€Ïόγονος του `%s'"
+
+-#: cp/pt.c:14006 cp/pt.c:14063
++#: cp/pt.c:14220 cp/pt.c:14277
+ #, fuzzy, gcc-internal-format
+ msgid "no matching template for %qD found"
+ msgstr "Ο έλεγχος Î¼Î¿Î½Î¿Ï€Î±Ï„Î¹Î¿Ï Î³Î¹Î± το `%s' βÏήκε `%s'"
+
+-#: cp/pt.c:14011
++#: cp/pt.c:14225
+ #, fuzzy, gcc-internal-format
+ msgid "type %qT for explicit instantiation %qD does not match declared type %qT"
+ msgstr "αδυναμία ανοίγματος αÏχείου οÏÎ¹ÏƒÎ¼Î¿Ï locale `%s'"
+
+-#: cp/pt.c:14019
++#: cp/pt.c:14233
+ #, fuzzy, gcc-internal-format
+ msgid "explicit instantiation of %q#D"
+ msgstr "διπλός οÏισμός συνόλου"
+
+-#: cp/pt.c:14055
++#: cp/pt.c:14269
+ #, fuzzy, gcc-internal-format
+ msgid "duplicate explicit instantiation of %q#D"
+ msgstr "διπλός οÏισμός συνόλου"
+
+-#: cp/pt.c:14077
++#: cp/pt.c:14291
+ #, gcc-internal-format
+ msgid "ISO C++ forbids the use of %<extern%> on explicit instantiations"
+ msgstr ""
+
+-#: cp/pt.c:14082 cp/pt.c:14175
++#: cp/pt.c:14296 cp/pt.c:14389
+ #, gcc-internal-format
+ msgid "storage class %qD applied to template instantiation"
+ msgstr ""
+
+-#: cp/pt.c:14147
++#: cp/pt.c:14361
+ #, fuzzy, gcc-internal-format
+ msgid "explicit instantiation of non-template type %qT"
+ msgstr "αδυναμία ανοίγματος αÏχείου οÏÎ¹ÏƒÎ¼Î¿Ï locale `%s'"
+
+-#: cp/pt.c:14156
++#: cp/pt.c:14370
+ #, gcc-internal-format
+ msgid "explicit instantiation of %q#T before definition of template"
+ msgstr ""
+
+-#: cp/pt.c:14164
++#: cp/pt.c:14378
+ #, gcc-internal-format
+ msgid "ISO C++ forbids the use of %qE on explicit instantiations"
+ msgstr ""
+
+-#: cp/pt.c:14209
++#: cp/pt.c:14423
+ #, fuzzy, gcc-internal-format
+ msgid "duplicate explicit instantiation of %q#T"
+ msgstr "διπλός οÏισμός συνόλου"
+
+-#: cp/pt.c:14657
++#: cp/pt.c:14871
+ #, gcc-internal-format
+ msgid "explicit instantiation of %qD but no definition available"
+ msgstr ""
+
+-#: cp/pt.c:14851
++#: cp/pt.c:15065
+ #, 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)"
+ msgstr ""
+
+-#: cp/pt.c:15193
++#: cp/pt.c:15419
+ #, fuzzy, gcc-internal-format
+ msgid "%q#T is not a valid type for a template constant parameter"
+ msgstr "%s' δεν είναι ισχÏων θετικός ακέÏαιος."
+@@ -31726,32 +31759,32 @@
+ msgid "can't create repository information file %qs"
+ msgstr "αδυναμία ανοίγματος αÏχείου οÏÎ¹ÏƒÎ¼Î¿Ï locale `%s'"
+
+-#: cp/rtti.c:271
++#: cp/rtti.c:285
+ #, fuzzy, gcc-internal-format
+ msgid "cannot use typeid with -fno-rtti"
+ msgstr "Δεν είναι δυνατό να χÏησιμοποιηθεί η επιλογή -a χωÏίς το -n"
+
+-#: cp/rtti.c:277
++#: cp/rtti.c:291
+ #, gcc-internal-format
+ msgid "must #include <typeinfo> before using typeid"
+ msgstr ""
+
+-#: cp/rtti.c:360
++#: cp/rtti.c:374
+ #, gcc-internal-format
+ msgid "cannot create type information for type %qT because it involves types of variable size"
+ msgstr ""
+
+-#: cp/rtti.c:615 cp/rtti.c:629
++#: cp/rtti.c:629 cp/rtti.c:643
+ #, gcc-internal-format
+ msgid "dynamic_cast of %q#D to %q#T can never succeed"
+ msgstr ""
+
+-#: cp/rtti.c:639
++#: cp/rtti.c:653
+ #, fuzzy, gcc-internal-format
+ msgid "%<dynamic_cast%> not permitted with -fno-rtti"
+ msgstr "Δεν είναι δυνατό να χÏησιμοποιηθεί η επιλογή -a χωÏίς το -n"
+
+-#: cp/rtti.c:716
++#: cp/rtti.c:729
+ #, fuzzy, gcc-internal-format
+ msgid "cannot dynamic_cast %qE (of type %q#T) to type %q#T (%s)"
+ msgstr "δεν είναι δυνατό να δημιουÏγηθεί το %s `%s' στο `%s'"
+@@ -31813,553 +31846,553 @@
+ msgid " since %q+#D declared in base class"
+ msgstr "Δεν υπάÏχει Ï€ÏοηγοÏμενη κανονική έκφÏαση"
+
+-#: cp/semantics.c:762
++#: cp/semantics.c:764
+ #, gcc-internal-format
+ msgid "suggest explicit braces around empty body in %<do%> statement"
+ msgstr ""
+
+-#: cp/semantics.c:1290
++#: cp/semantics.c:1294
+ #, gcc-internal-format
+ msgid "type of asm operand %qE could not be determined"
+ msgstr ""
+
+-#: cp/semantics.c:1346
++#: cp/semantics.c:1350
+ #, gcc-internal-format
+ msgid "__label__ declarations are only allowed in function scopes"
+ msgstr ""
+
+-#: cp/semantics.c:1433
++#: cp/semantics.c:1438
+ #, fuzzy, gcc-internal-format
+ msgid "invalid use of member %q+D in static member function"
+ msgstr "μη έγκυÏος αÏιθμός πεδίου: `%s'"
+
+-#: cp/semantics.c:1435
++#: cp/semantics.c:1440
+ #, fuzzy, gcc-internal-format
+ msgid "invalid use of non-static data member %q+D"
+ msgstr "μη έγκυÏος αÏιθμός από στήλες: `%s'"
+
+-#: cp/semantics.c:1436 cp/semantics.c:1475
++#: cp/semantics.c:1441 cp/semantics.c:1480
+ #, gcc-internal-format
+ msgid "from this location"
+ msgstr ""
+
+-#: cp/semantics.c:1474
++#: cp/semantics.c:1479
+ #, fuzzy, gcc-internal-format
+ msgid "object missing in reference to %q+D"
+ msgstr "δεν είστε μέλος της ομάδας `%s'"
+
+-#: cp/semantics.c:1928
++#: cp/semantics.c:1951
+ #, fuzzy, gcc-internal-format
+ msgid "arguments to destructor are not allowed"
+ msgstr "%s: οι τιμές του πεδίου `%s' δεν Ï€Ïέπει να είναι μεγαλÏτεÏες από %d"
+
+-#: cp/semantics.c:1978
++#: cp/semantics.c:2001
+ #, fuzzy, gcc-internal-format
+ msgid "%<this%> is unavailable for static member functions"
+ msgstr "η `%s' είναι συνήθως μη-στατική συνάÏτηση"
+
+-#: cp/semantics.c:1984
++#: cp/semantics.c:2007
+ #, fuzzy, gcc-internal-format
+ msgid "invalid use of %<this%> in non-member function"
+ msgstr "μη έγκυÏος αÏιθμός πεδίου: `%s'"
+
+-#: cp/semantics.c:1986
++#: cp/semantics.c:2009
+ #, fuzzy, gcc-internal-format
+ msgid "invalid use of %<this%> at top level"
+ msgstr "μη έγκυÏος χÏήστης"
+
+-#: cp/semantics.c:2010
++#: cp/semantics.c:2033
+ #, gcc-internal-format
+ msgid "invalid qualifying scope in pseudo-destructor name"
+ msgstr ""
+
+-#: cp/semantics.c:2015 cp/typeck.c:2004
++#: cp/semantics.c:2038 cp/typeck.c:2050
+ #, gcc-internal-format
+ msgid "qualified type %qT does not match destructor name ~%qT"
+ msgstr ""
+
+-#: cp/semantics.c:2037
++#: cp/semantics.c:2060
+ #, fuzzy, gcc-internal-format
+ msgid "%qE is not of type %qT"
+ msgstr "το `%s' είναι Ï€Ïόγονος του `%s'"
+
+-#: cp/semantics.c:2081
++#: cp/semantics.c:2104
+ #, gcc-internal-format
+ msgid "compound literal of non-object type %qT"
+ msgstr ""
+
+-#: cp/semantics.c:2158
++#: cp/semantics.c:2181
+ #, gcc-internal-format
+ msgid "template type parameters must use the keyword %<class%> or %<typename%>"
+ msgstr ""
+
+-#: cp/semantics.c:2195
++#: cp/semantics.c:2222
+ #, gcc-internal-format
+ msgid "invalid use of type %qT as a default value for a template template-parameter"
+ msgstr ""
+
+-#: cp/semantics.c:2198
++#: cp/semantics.c:2225
+ #, fuzzy, gcc-internal-format
+ msgid "invalid default argument for a template template parameter"
+ msgstr "%s' δεν είναι ισχÏων θετικός ακέÏαιος."
+
+-#: cp/semantics.c:2215
++#: cp/semantics.c:2242
+ #, gcc-internal-format
+ msgid "definition of %q#T inside template parameter list"
+ msgstr ""
+
+-#: cp/semantics.c:2226
++#: cp/semantics.c:2253
+ #, fuzzy, gcc-internal-format
+ msgid "invalid definition of qualified type %qT"
+ msgstr "μη έγκυÏος αÏιθμός αÏχείου στη δήλωση πεδίου: `%s'"
+
+-#: cp/semantics.c:2437
++#: cp/semantics.c:2469
+ #, fuzzy, gcc-internal-format
+ msgid "invalid base-class specification"
+ msgstr "Μη έγκυÏη ÏÏθμιση θÏÏας (port)"
+
+-#: cp/semantics.c:2446
++#: cp/semantics.c:2478
+ #, gcc-internal-format
+ msgid "base class %qT has cv qualifiers"
+ msgstr ""
+
+-#: cp/semantics.c:2468
++#: cp/semantics.c:2500
+ #, gcc-internal-format
+ msgid "incomplete type %qT used in nested name specifier"
+ msgstr ""
+
+ # src/getopt.c:628
+ # src/getopt.c:628
+-#: cp/semantics.c:2471
++#: cp/semantics.c:2503
+ #, fuzzy, gcc-internal-format
+ msgid "reference to %<%T::%D%> is ambiguous"
+ msgstr "%s: η επιλογή `%s' είναι ασαφής\n"
+
+-#: cp/semantics.c:2475 cp/typeck.c:1813
++#: cp/semantics.c:2507 cp/typeck.c:1859
+ #, fuzzy, gcc-internal-format
+ msgid "%qD is not a member of %qT"
+ msgstr "δεν είστε μέλος της ομάδας `%s'"
+
+-#: cp/semantics.c:2478
++#: cp/semantics.c:2510
+ #, fuzzy, gcc-internal-format
+ msgid "%qD is not a member of %qD"
+ msgstr "δεν είστε μέλος της ομάδας `%s'"
+
+-#: cp/semantics.c:2480
++#: cp/semantics.c:2512
+ #, fuzzy, gcc-internal-format
+ msgid "%<::%D%> has not been declared"
+ msgstr "Δεν μποÏεί να τεθεί η ημεÏομηνία."
+
+-#: cp/semantics.c:2621
++#: cp/semantics.c:2653
+ #, gcc-internal-format
+ msgid "use of %<auto%> variable from containing function"
+ msgstr ""
+
+-#: cp/semantics.c:2623
++#: cp/semantics.c:2655
+ #, fuzzy, gcc-internal-format
+ msgid " %q+#D declared here"
+ msgstr "Δεν υπάÏχει Ï€ÏοηγοÏμενη κανονική έκφÏαση"
+
+-#: cp/semantics.c:2661
++#: cp/semantics.c:2693
+ #, gcc-internal-format
+ msgid "template parameter %qD of type %qT is not allowed in an integral constant expression because it is not of integral or enumeration type"
+ msgstr ""
+
+-#: cp/semantics.c:2830
++#: cp/semantics.c:2862
+ #, fuzzy, gcc-internal-format
+ msgid "%qD cannot appear in a constant-expression"
+ msgstr "%s: μη έγκυÏη κανονική έκφÏαση: %s"
+
+-#: cp/semantics.c:2838
++#: cp/semantics.c:2870
+ #, fuzzy, gcc-internal-format
+ msgid "use of namespace %qD as expression"
+ msgstr "Μη έγκυÏη κανονική έκφÏαση"
+
+-#: cp/semantics.c:2843
++#: cp/semantics.c:2875
+ #, fuzzy, gcc-internal-format
+ msgid "use of class template %qT as expression"
+ msgstr "Μη έγκυÏη κανονική έκφÏαση"
+
+ #. Ambiguous reference to base members.
+-#: cp/semantics.c:2849
++#: cp/semantics.c:2881
+ #, gcc-internal-format
+ msgid "request for member %qD is ambiguous in multiple inheritance lattice"
+ msgstr ""
+
+-#: cp/semantics.c:2970 cp/semantics.c:4210
++#: cp/semantics.c:3002 cp/semantics.c:4259
+ #, gcc-internal-format
+ msgid "type of %qE is unknown"
+ msgstr ""
+
+-#: cp/semantics.c:2985
++#: cp/semantics.c:3017
+ #, gcc-internal-format
+ msgid "cannot apply %<offsetof%> to destructor %<~%T%>"
+ msgstr ""
+
+-#: cp/semantics.c:2996
++#: cp/semantics.c:3028
+ #, fuzzy, gcc-internal-format
+ msgid "cannot apply %<offsetof%> to member function %qD"
+ msgstr "μη έγκυÏος αÏιθμός από στήλες: `%s'"
+
+-#: cp/semantics.c:3349
++#: cp/semantics.c:3381
+ #, fuzzy, gcc-internal-format
+ msgid "%qD is not a variable in clause %qs"
+ msgstr "το `%s' είναι Ï€Ïόγονος του `%s'"
+
+-#: cp/semantics.c:3358
++#: cp/semantics.c:3390
+ #, gcc-internal-format
+ msgid "%qD appears more than once in data clauses"
+ msgstr ""
+
+-#: cp/semantics.c:3418
++#: cp/semantics.c:3450
+ #, gcc-internal-format
+ msgid "num_threads expression must be integral"
+ msgstr ""
+
+-#: cp/semantics.c:3432
++#: cp/semantics.c:3464
+ #, gcc-internal-format
+ msgid "schedule chunk size expression must be integral"
+ msgstr ""
+
+-#: cp/semantics.c:3562
++#: cp/semantics.c:3594
+ #, fuzzy, gcc-internal-format
+ msgid "%qE has reference type for %qs"
+ msgstr "δεν είστε μέλος της ομάδας `%s'"
+
+-#: cp/semantics.c:3724
++#: cp/semantics.c:3756
+ #, gcc-internal-format
+ msgid "%<threadprivate%> %qE is not file, namespace or block scope variable"
+ msgstr ""
+
+ #. Report the error.
+-#: cp/semantics.c:4033
++#: cp/semantics.c:4072
+ #, gcc-internal-format
+ msgid "static assertion failed: %E"
+ msgstr ""
+
+-#: cp/semantics.c:4035
++#: cp/semantics.c:4074
+ #, gcc-internal-format
+ msgid "non-constant condition for static assertion"
+ msgstr ""
+
+-#: cp/semantics.c:4097
++#: cp/semantics.c:4099 cp/semantics.c:4194
+ #, fuzzy, gcc-internal-format
+-msgid "%qE refers to a set of overloaded functions"
+-msgstr "Το `%s' δεν είναι κατάλογος."
++msgid "argument to decltype must be an expression"
++msgstr "Η παÏάμετÏος στο <%s> Ï€Ïέπει να είναι ένας απλός χαÏακτήÏας"
+
+ #: cp/semantics.c:4145
+ #, fuzzy, gcc-internal-format
+-msgid "argument to decltype must be an expression"
+-msgstr "Η παÏάμετÏος στο <%s> Ï€Ïέπει να είναι ένας απλός χαÏακτήÏας"
++msgid "%qE refers to a set of overloaded functions"
++msgstr "Το `%s' δεν είναι κατάλογος."
+
+-#: cp/semantics.c:4366
++#: cp/semantics.c:4415
+ #, gcc-internal-format
+ msgid "__is_convertible_to"
+ msgstr ""
+
+-#: cp/semantics.c:4395
++#: cp/semantics.c:4444
+ #, fuzzy, gcc-internal-format
+ msgid "incomplete type %qT not allowed"
+ msgstr "Μεταγλωττισμός Ï€ÏοδιαγÏαφών τοπικών Ïυθμίσεων"
+
+-#: cp/tree.c:829
++#: cp/tree.c:827
+ #, fuzzy, gcc-internal-format
+ msgid "%qV qualifiers cannot be applied to %qT"
+ msgstr "το `%s' είναι Ï€Ïόγονος του `%s'"
+
+-#: cp/tree.c:2134
++#: cp/tree.c:2132
+ #, gcc-internal-format
+ msgid "%qE attribute can only be applied to Java class definitions"
+ msgstr ""
+
+-#: cp/tree.c:2163
++#: cp/tree.c:2161
+ #, gcc-internal-format
+ msgid "%qE attribute can only be applied to class definitions"
+ msgstr ""
+
+-#: cp/tree.c:2169
++#: cp/tree.c:2167
+ #, gcc-internal-format
+ msgid "%qE is obsolete; g++ vtables are now COM-compatible by default"
+ msgstr ""
+
+-#: cp/tree.c:2193
++#: cp/tree.c:2191
+ #, gcc-internal-format
+ msgid "requested init_priority is not an integer constant"
+ msgstr ""
+
+-#: cp/tree.c:2214
++#: cp/tree.c:2212
+ #, gcc-internal-format
+ msgid "can only use %qE attribute on file-scope definitions of objects of class type"
+ msgstr ""
+
+-#: cp/tree.c:2222
++#: cp/tree.c:2220
+ #, gcc-internal-format
+ msgid "requested init_priority is out of range"
+ msgstr ""
+
+-#: cp/tree.c:2232
++#: cp/tree.c:2230
+ #, gcc-internal-format
+ msgid "requested init_priority is reserved for internal use"
+ msgstr ""
+
+-#: cp/tree.c:2243
++#: cp/tree.c:2241
+ #, fuzzy, gcc-internal-format
+ msgid "%qE attribute is not supported on this platform"
+ msgstr "Ï€Ïοειδοποίηση: το --pid=PID δεν υποστηÏίζεται σε αυτό το σÏστημα"
+
+-#: cp/typeck.c:431 cp/typeck.c:445 cp/typeck.c:545
++#: cp/typeck.c:432 cp/typeck.c:446 cp/typeck.c:546
+ #, gcc-internal-format
+ msgid "%s between distinct pointer types %qT and %qT lacks a cast"
+ msgstr ""
+
+-#: cp/typeck.c:507
++#: cp/typeck.c:508
+ #, gcc-internal-format
+ msgid "ISO C++ forbids %s between pointer of type %<void *%> and pointer-to-function"
+ msgstr ""
+
+-#: cp/typeck.c:565
++#: cp/typeck.c:566
+ #, gcc-internal-format
+ msgid "%s between distinct pointer-to-member types %qT and %qT lacks a cast"
+ msgstr ""
+
+-#: cp/typeck.c:1129
++#: cp/typeck.c:1166
+ #, gcc-internal-format
+ msgid "canonical types differ for identical types %T and %T"
+ msgstr ""
+
+-#: cp/typeck.c:1136
++#: cp/typeck.c:1173
+ #, gcc-internal-format
+ msgid "same canonical type node for different types %T and %T"
+ msgstr ""
+
+-#: cp/typeck.c:1248
++#: cp/typeck.c:1285
+ #, gcc-internal-format
+ msgid "invalid application of %qs to a member function"
+ msgstr ""
+
+-#: cp/typeck.c:1298
++#: cp/typeck.c:1335
+ #, fuzzy, gcc-internal-format
+ msgid "invalid application of %<sizeof%> to a bit-field"
+ msgstr "Μη έγκυÏη επιλογή `%s'"
+
+-#: cp/typeck.c:1303
++#: cp/typeck.c:1340
+ #, fuzzy, gcc-internal-format
+ msgid "ISO C++ forbids applying %<sizeof%> to an expression of function type"
+ msgstr "Μη έγκυÏη επιλογή `%s'"
+
+-#: cp/typeck.c:1346
++#: cp/typeck.c:1383
+ #, fuzzy, gcc-internal-format
+ msgid "invalid application of %<__alignof%> to a bit-field"
+ msgstr "Μη έγκυÏη επιλογή `%s'"
+
+-#: cp/typeck.c:1354
++#: cp/typeck.c:1391
+ #, gcc-internal-format
+ msgid "ISO C++ forbids applying %<__alignof%> to an expression of function type"
+ msgstr ""
+
+-#: cp/typeck.c:1405
++#: cp/typeck.c:1442
+ #, fuzzy, gcc-internal-format
+ msgid "invalid use of non-static member function"
+ msgstr "μη έγκυÏος αÏιθμός από στήλες: `%s'"
+
+-#: cp/typeck.c:1669
++#: cp/typeck.c:1715
+ #, fuzzy, gcc-internal-format
+ msgid "deprecated conversion from string constant to %qT"
+ msgstr "η μετατÏοπή από `%s' σε `%s' δεν υποστηÏίζετε"
+
+-#: cp/typeck.c:1784 cp/typeck.c:2132
++#: cp/typeck.c:1830 cp/typeck.c:2178
+ #, gcc-internal-format
+ msgid "request for member %qD in %qE, which is of non-class type %qT"
+ msgstr ""
+
+-#: cp/typeck.c:1811
++#: cp/typeck.c:1857
+ #, fuzzy, gcc-internal-format
+ msgid "invalid use of nonstatic data member %qE"
+ msgstr "μη έγκυÏος αÏιθμός από στήλες: `%s'"
+
+-#: cp/typeck.c:1863 cp/typeck.c:1891
++#: cp/typeck.c:1909 cp/typeck.c:1937
+ #, gcc-internal-format
+ msgid "invalid access to non-static data member %qD of NULL object"
+ msgstr ""
+
+-#: cp/typeck.c:1866 cp/typeck.c:1893
++#: cp/typeck.c:1912 cp/typeck.c:1939
+ #, gcc-internal-format
+ msgid "(perhaps the %<offsetof%> macro was used incorrectly)"
+ msgstr ""
+
+-#: cp/typeck.c:2010
++#: cp/typeck.c:2056
+ #, gcc-internal-format
+ msgid "the type being destroyed is %qT, but the destructor refers to %qT"
+ msgstr ""
+
+-#: cp/typeck.c:2049 cp/typeck.c:2069
++#: cp/typeck.c:2095 cp/typeck.c:2115
+ #, fuzzy, gcc-internal-format
+ msgid "%qD is not a template"
+ msgstr "το `%s' δεν είναι κανονικό αÏχείο"
+
+-#: cp/typeck.c:2170
++#: cp/typeck.c:2216
+ #, fuzzy, gcc-internal-format
+ msgid "%<%D::%D%> is not a member of %qT"
+ msgstr "δεν είστε μέλος της ομάδας `%s'"
+
+-#: cp/typeck.c:2185
++#: cp/typeck.c:2231
+ #, fuzzy, gcc-internal-format
+ msgid "%qT is not a base of %qT"
+ msgstr "το `%s' είναι Ï€Ïόγονος του `%s'"
+
+-#: cp/typeck.c:2204
++#: cp/typeck.c:2250
+ #, fuzzy, gcc-internal-format
+ msgid "%qD has no member named %qE"
+ msgstr "δεν είστε μέλος της ομάδας `%s'"
+
+-#: cp/typeck.c:2219
++#: cp/typeck.c:2265
+ #, fuzzy, gcc-internal-format
+ msgid "%qD is not a member template function"
+ msgstr "Το `%s' δεν είναι κατάλογος."
+
+ #. A pointer to incomplete type (other than cv void) can be
+ #. dereferenced [expr.unary.op]/1
+-#: cp/typeck.c:2352
++#: cp/typeck.c:2398
+ #, fuzzy, gcc-internal-format
+ msgid "%qT is not a pointer-to-object type"
+ msgstr "Το `%s' δεν είναι κατάλογος."
+
+-#: cp/typeck.c:2377
++#: cp/typeck.c:2423
+ #, fuzzy, gcc-internal-format
+ msgid "invalid use of %qs on pointer to member"
+ msgstr "μη έγκυÏη ÏŽÏα της μέÏας"
+
+-#: cp/typeck.c:2381
++#: cp/typeck.c:2427
+ #, fuzzy, gcc-internal-format
+ msgid "invalid type argument of %qs"
+ msgstr "Η παÏάμετÏος `%s' δεν είναι έγκυÏη."
+
+-#: cp/typeck.c:2383
++#: cp/typeck.c:2429
+ #, fuzzy, gcc-internal-format
+ msgid "invalid type argument"
+ msgstr "Μη έγκυÏη παÏάμετÏος"
+
+-#: cp/typeck.c:2406
++#: cp/typeck.c:2452
+ #, gcc-internal-format
+ msgid "subscript missing in array reference"
+ msgstr ""
+
+-#: cp/typeck.c:2480
++#: cp/typeck.c:2526
+ #, gcc-internal-format
+ msgid "ISO C++ forbids subscripting non-lvalue array"
+ msgstr ""
+
+-#: cp/typeck.c:2491
++#: cp/typeck.c:2537
+ #, gcc-internal-format
+ msgid "subscripting array declared %<register%>"
+ msgstr ""
+
+-#: cp/typeck.c:2576
++#: cp/typeck.c:2622
+ #, gcc-internal-format
+ msgid "object missing in use of %qE"
+ msgstr ""
+
+-#: cp/typeck.c:2693
++#: cp/typeck.c:2739
+ #, gcc-internal-format
+ msgid "ISO C++ forbids calling %<::main%> from within program"
+ msgstr ""
+
+-#: cp/typeck.c:2718
++#: cp/typeck.c:2764
+ #, gcc-internal-format
+ msgid "must use %<.*%> or %<->*%> to call pointer-to-member function in %<%E (...)%>"
+ msgstr ""
+
+-#: cp/typeck.c:2732
++#: cp/typeck.c:2778
+ #, fuzzy, gcc-internal-format
+ msgid "%qE cannot be used as a function"
+ msgstr "Το επώνυμο αντικείμενο δεν είναι αναζητήσιμο"
+
+-#: cp/typeck.c:2822
++#: cp/typeck.c:2868
+ #, fuzzy, gcc-internal-format
+ msgid "too many arguments to %s %q+#D"
+ msgstr "πάÏα πολλά οÏίσματα"
+
+-#: cp/typeck.c:2823 cp/typeck.c:2927
++#: cp/typeck.c:2869 cp/typeck.c:2973
+ #, gcc-internal-format
+ msgid "at this point in file"
+ msgstr ""
+
+-#: cp/typeck.c:2826
++#: cp/typeck.c:2872
+ #, fuzzy, gcc-internal-format
+ msgid "too many arguments to function"
+ msgstr "πάÏα πολλά οÏίσματα"
+
+-#: cp/typeck.c:2856
++#: cp/typeck.c:2902
+ #, fuzzy, gcc-internal-format
+ msgid "parameter %P of %qD has incomplete type %qT"
+ msgstr "μη πλήÏης εγγÏαφή"
+
+-#: cp/typeck.c:2859
++#: cp/typeck.c:2905
+ #, fuzzy, gcc-internal-format
+ msgid "parameter %P has incomplete type %qT"
+ msgstr "μη πλήÏης εγγÏαφή"
+
+-#: cp/typeck.c:2926
++#: cp/typeck.c:2972
+ #, fuzzy, gcc-internal-format
+ msgid "too few arguments to %s %q+#D"
+ msgstr "Ï€Î¿Î»Ï Î»Î¯Î³Î± οÏίσματα"
+
+-#: cp/typeck.c:2930
++#: cp/typeck.c:2976
+ #, fuzzy, gcc-internal-format
+ msgid "too few arguments to function"
+ msgstr "Ï€Î¿Î»Ï Î»Î¯Î³Î± οÏίσματα"
+
+-#: cp/typeck.c:3098 cp/typeck.c:3108
++#: cp/typeck.c:3140 cp/typeck.c:3150
+ #, gcc-internal-format
+ msgid "assuming cast to type %qT from overloaded function"
+ msgstr ""
+
+-#: cp/typeck.c:3306
++#: cp/typeck.c:3346
+ #, fuzzy, gcc-internal-format
+ msgid "left rotate count is negative"
+ msgstr "Ο κατάλογος `%s' δεν είναι Ï€Ïοσιτός."
+
+-#: cp/typeck.c:3307
++#: cp/typeck.c:3347
+ #, gcc-internal-format
+ msgid "right rotate count is negative"
+ msgstr ""
+
+-#: cp/typeck.c:3310
++#: cp/typeck.c:3350
+ #, gcc-internal-format
+ msgid "left rotate count >= width of type"
+ msgstr ""
+
+-#: cp/typeck.c:3311
++#: cp/typeck.c:3351
+ #, gcc-internal-format
+ msgid "right rotate count >= width of type"
+ msgstr ""
+
+-#: cp/typeck.c:3327 cp/typeck.c:3502
++#: cp/typeck.c:3367 cp/typeck.c:3549
+ #, fuzzy, gcc-internal-format
+ msgid "comparison with string literal results in unspecified behaviour"
+ msgstr "Η λειτουÏγία δεν υποστηÏίζεται"
+
+-#: cp/typeck.c:3360 cp/typeck.c:3365 cp/typeck.c:3520 cp/typeck.c:3525
++#: cp/typeck.c:3400 cp/typeck.c:3405 cp/typeck.c:3567 cp/typeck.c:3572
+ #, gcc-internal-format
+ msgid "ISO C++ forbids comparison between pointer and integer"
+ msgstr ""
+
+-#: cp/typeck.c:3539
++#: cp/typeck.c:3586
+ #, fuzzy, gcc-internal-format
+ msgid "unordered comparison on non-floating point argument"
+ msgstr "Η παÏάμετÏος κινητής υποδιαστολής δεν είναι έγκυÏη: %s"
+
+-#: cp/typeck.c:3577
++#: cp/typeck.c:3624
+ #, fuzzy, gcc-internal-format
+ msgid "invalid operands of types %qT and %qT to binary %qO"
+ msgstr "Μη έγκυÏη επιλογή `%s'"
+
+-#: cp/typeck.c:3749
++#: cp/typeck.c:3757
+ #, gcc-internal-format
+ msgid "comparison between types %q#T and %q#T"
+ msgstr ""
+
+-#: cp/typeck.c:3786
++#: cp/typeck.c:3794
+ #, gcc-internal-format
+ msgid "comparison between signed and unsigned integer expressions"
+ msgstr ""
+@@ -32368,154 +32401,154 @@
+ #. performed. Note that pointer-difference and pointer-addition
+ #. have already been handled above, and so we don't end up here in
+ #. that case.
+-#: cp/typeck.c:3858
++#: cp/typeck.c:3866
+ #, gcc-internal-format
+ msgid "NULL used in arithmetic"
+ msgstr ""
+
+-#: cp/typeck.c:3927
++#: cp/typeck.c:3935
+ #, gcc-internal-format
+ msgid "ISO C++ forbids using pointer of type %<void *%> in subtraction"
+ msgstr ""
+
+-#: cp/typeck.c:3929
++#: cp/typeck.c:3937
+ #, gcc-internal-format
+ msgid "ISO C++ forbids using pointer to a function in subtraction"
+ msgstr ""
+
+-#: cp/typeck.c:3931
++#: cp/typeck.c:3939
+ #, gcc-internal-format
+ msgid "ISO C++ forbids using pointer to a method in subtraction"
+ msgstr ""
+
+-#: cp/typeck.c:3943
++#: cp/typeck.c:3951
+ #, gcc-internal-format
+ msgid "invalid use of a pointer to an incomplete type in pointer arithmetic"
+ msgstr ""
+
+-#: cp/typeck.c:4003
++#: cp/typeck.c:4011
+ #, fuzzy, gcc-internal-format
+ msgid "invalid use of %qE to form a pointer-to-member-function"
+ msgstr "μη έγκυÏη ÏŽÏα της μέÏας"
+
+-#: cp/typeck.c:4006
++#: cp/typeck.c:4014
+ #, gcc-internal-format
+ msgid " a qualified-id is required"
+ msgstr ""
+
+-#: cp/typeck.c:4011
++#: cp/typeck.c:4019
+ #, gcc-internal-format
+ msgid "parentheses around %qE cannot be used to form a pointer-to-member-function"
+ msgstr ""
+
+-#: cp/typeck.c:4034
++#: cp/typeck.c:4042
+ #, gcc-internal-format
+ msgid "taking address of temporary"
+ msgstr ""
+
+-#: cp/typeck.c:4287
++#: cp/typeck.c:4295
+ #, gcc-internal-format
+ msgid "ISO C++ forbids incrementing an enum"
+ msgstr ""
+
+-#: cp/typeck.c:4288
++#: cp/typeck.c:4296
+ #, gcc-internal-format
+ msgid "ISO C++ forbids decrementing an enum"
+ msgstr ""
+
+-#: cp/typeck.c:4299
++#: cp/typeck.c:4307
+ #, fuzzy, gcc-internal-format
+ msgid "cannot increment a pointer to incomplete type %qT"
+ msgstr "μη πλήÏης εγγÏαφή"
+
+-#: cp/typeck.c:4300
++#: cp/typeck.c:4308
+ #, fuzzy, gcc-internal-format
+ msgid "cannot decrement a pointer to incomplete type %qT"
+ msgstr "μη πλήÏης εγγÏαφή"
+
+-#: cp/typeck.c:4306
++#: cp/typeck.c:4314
+ #, gcc-internal-format
+ msgid "ISO C++ forbids incrementing a pointer of type %qT"
+ msgstr ""
+
+-#: cp/typeck.c:4307
++#: cp/typeck.c:4315
+ #, gcc-internal-format
+ msgid "ISO C++ forbids decrementing a pointer of type %qT"
+ msgstr ""
+
+-#: cp/typeck.c:4327
++#: cp/typeck.c:4335
+ #, fuzzy, gcc-internal-format
+ msgid "invalid use of Boolean expression as operand to %<operator--%>"
+ msgstr "%s: μη έγκυÏη κανονική έκφÏαση: %s"
+
+ #. ARM $3.4
+-#: cp/typeck.c:4357
++#: cp/typeck.c:4365
+ #, gcc-internal-format
+ msgid "ISO C++ forbids taking address of function %<::main%>"
+ msgstr ""
+
+ #. An expression like &memfn.
+-#: cp/typeck.c:4413
++#: cp/typeck.c:4421
+ #, gcc-internal-format
+ msgid "ISO C++ forbids taking the address of an unqualified or parenthesized non-static member function to form a pointer to member function. Say %<&%T::%D%>"
+ msgstr ""
+
+-#: cp/typeck.c:4418
++#: cp/typeck.c:4426
+ #, gcc-internal-format
+ msgid "ISO C++ forbids taking the address of a bound member function to form a pointer to member function. Say %<&%T::%D%>"
+ msgstr ""
+
+-#: cp/typeck.c:4443
++#: cp/typeck.c:4451
+ #, gcc-internal-format
+ msgid "ISO C++ forbids taking the address of a cast to a non-lvalue expression"
+ msgstr ""
+
+-#: cp/typeck.c:4467
++#: cp/typeck.c:4475
+ #, fuzzy, gcc-internal-format
+ msgid "cannot create pointer to reference member %qD"
+ msgstr "δεν είναι δυνατόν να γίνει `stat' το locale αÏχείο `%s'"
+
+-#: cp/typeck.c:4678
++#: cp/typeck.c:4686
+ #, gcc-internal-format
+ msgid "cannot take the address of %<this%>, which is an rvalue expression"
+ msgstr ""
+
+-#: cp/typeck.c:4701
++#: cp/typeck.c:4709
+ #, gcc-internal-format
+ msgid "address of explicit register variable %qD requested"
+ msgstr ""
+
+-#: cp/typeck.c:4706
++#: cp/typeck.c:4714
+ #, gcc-internal-format
+ msgid "address requested for %qD, which is declared %<register%>"
+ msgstr ""
+
+-#: cp/typeck.c:4772
++#: cp/typeck.c:4780
+ #, fuzzy, gcc-internal-format
+ msgid "%s expression list treated as compound expression"
+ msgstr "Λάθος έκφÏαση στην αποτίμηση: %s"
+
+-#: cp/typeck.c:5175
++#: cp/typeck.c:5183
+ #, fuzzy, gcc-internal-format
+ msgid "invalid static_cast from type %qT to type %qT"
+ msgstr "μη έγκυÏος χαÏακτήÏας `%c' στο Ï„Ïπο αλφαÏÎ¹Î¸Î¼Î·Ï„Î¹ÎºÎ¿Ï `%s'"
+
+-#: cp/typeck.c:5197
++#: cp/typeck.c:5205
+ #, fuzzy, gcc-internal-format
+ msgid "converting from %qT to %qT"
+ msgstr "η μετατÏοπή από `%s' σε `%s' δεν υποστηÏίζετε"
+
+-#: cp/typeck.c:5245
++#: cp/typeck.c:5253
+ #, fuzzy, gcc-internal-format
+ msgid "invalid cast of an rvalue expression of type %qT to type %qT"
+ msgstr "μη έγκυÏος χαÏακτήÏας `%c' στο Ï„Ïπο αλφαÏÎ¹Î¸Î¼Î·Ï„Î¹ÎºÎ¿Ï `%s'"
+
+-#: cp/typeck.c:5304
++#: cp/typeck.c:5312
+ #, gcc-internal-format
+ msgid "cast from %qT to %qT loses precision"
+ msgstr ""
+
+-#: cp/typeck.c:5331
++#: cp/typeck.c:5339
+ #, gcc-internal-format
+ msgid "cast from %qT to %qT increases required alignment of target type"
+ msgstr ""
+@@ -32524,155 +32557,155 @@
+ #. where possible, and it is necessary in some cases. DR 195
+ #. addresses this issue, but as of 2004/10/26 is still in
+ #. drafting.
+-#: cp/typeck.c:5351
++#: cp/typeck.c:5359
+ #, gcc-internal-format
+ msgid "ISO C++ forbids casting between pointer-to-function and pointer-to-object"
+ msgstr ""
+
+-#: cp/typeck.c:5362
++#: cp/typeck.c:5370
+ #, fuzzy, gcc-internal-format
+ msgid "invalid cast from type %qT to type %qT"
+ msgstr "μη έγκυÏος χαÏακτήÏας `%c' στο Ï„Ïπο αλφαÏÎ¹Î¸Î¼Î·Ï„Î¹ÎºÎ¿Ï `%s'"
+
+-#: cp/typeck.c:5418
++#: cp/typeck.c:5426
+ #, gcc-internal-format
+ msgid "invalid use of const_cast with type %qT, which is not a pointer, reference, nor a pointer-to-data-member type"
+ msgstr ""
+
+-#: cp/typeck.c:5427
++#: cp/typeck.c:5435
+ #, gcc-internal-format
+ msgid "invalid use of const_cast with type %qT, which is a pointer or reference to a function type"
+ msgstr ""
+
+-#: cp/typeck.c:5452
++#: cp/typeck.c:5460
+ #, fuzzy, gcc-internal-format
+ msgid "invalid const_cast of an rvalue of type %qT to type %qT"
+ msgstr "μη έγκυÏος χαÏακτήÏας `%c' στο Ï„Ïπο αλφαÏÎ¹Î¸Î¼Î·Ï„Î¹ÎºÎ¿Ï `%s'"
+
+-#: cp/typeck.c:5503
++#: cp/typeck.c:5511
+ #, fuzzy, gcc-internal-format
+ msgid "invalid const_cast from type %qT to type %qT"
+ msgstr "μη έγκυÏος χαÏακτήÏας `%c' στο Ï„Ïπο αλφαÏÎ¹Î¸Î¼Î·Ï„Î¹ÎºÎ¿Ï `%s'"
+
+-#: cp/typeck.c:5571 cp/typeck.c:5576
++#: cp/typeck.c:5579 cp/typeck.c:5584
+ #, gcc-internal-format
+ msgid "ISO C++ forbids casting to an array type %qT"
+ msgstr ""
+
+-#: cp/typeck.c:5584
++#: cp/typeck.c:5592
+ #, fuzzy, gcc-internal-format
+ msgid "invalid cast to function type %qT"
+ msgstr "Μη έγκυÏη επιλογή `%s'"
+
+-#: cp/typeck.c:5804
++#: cp/typeck.c:5812
+ #, gcc-internal-format
+ msgid " in evaluation of %<%Q(%#T, %#T)%>"
+ msgstr ""
+
+-#: cp/typeck.c:5873
++#: cp/typeck.c:5881
+ #, fuzzy, gcc-internal-format
+ msgid "incompatible types in assignment of %qT to %qT"
+ msgstr "Μη έγκυÏη ακέÏαια παÏάμετÏος `%s'"
+
+-#: cp/typeck.c:5884
++#: cp/typeck.c:5892
+ #, fuzzy, gcc-internal-format
+ msgid "array used as initializer"
+ msgstr "έχουν παÏαληφθεί οÏίσματα"
+
+-#: cp/typeck.c:5886
++#: cp/typeck.c:5894
+ #, fuzzy, gcc-internal-format
+ msgid "invalid array assignment"
+ msgstr "Η παÏάμετÏος κινητής υποδιαστολής δεν είναι έγκυÏη: %s"
+
+-#: cp/typeck.c:5998
++#: cp/typeck.c:6006
+ #, gcc-internal-format
+ msgid " in pointer to member function conversion"
+ msgstr ""
+
+-#: cp/typeck.c:6009
++#: cp/typeck.c:6017
+ #, gcc-internal-format
+ msgid "pointer to member conversion via virtual base %qT"
+ msgstr ""
+
+-#: cp/typeck.c:6049 cp/typeck.c:6061
++#: cp/typeck.c:6057 cp/typeck.c:6069
+ #, gcc-internal-format
+ msgid " in pointer to member conversion"
+ msgstr ""
+
+-#: cp/typeck.c:6140
++#: cp/typeck.c:6148
+ #, fuzzy, gcc-internal-format
+ msgid "invalid conversion to type %qT from type %qT"
+ msgstr "μη έγκυÏος χαÏακτήÏας `%c' στο Ï„Ïπο αλφαÏÎ¹Î¸Î¼Î·Ï„Î¹ÎºÎ¿Ï `%s'"
+
+-#: cp/typeck.c:6384
++#: cp/typeck.c:6411
+ #, fuzzy, gcc-internal-format
+ msgid "cannot convert %qT to %qT for argument %qP to %qD"
+ msgstr "δεν είναι δυνατό να δημιουÏγηθεί το %s `%s' στο `%s'"
+
+-#: cp/typeck.c:6387
++#: cp/typeck.c:6414
+ #, fuzzy, gcc-internal-format
+ msgid "cannot convert %qT to %qT in %s"
+ msgstr "δεν είναι δυνατό να δημιουÏγηθεί το %s `%s' στο `%s'"
+
+-#: cp/typeck.c:6398
++#: cp/typeck.c:6425
+ #, gcc-internal-format
+ msgid "%s might be a candidate for a format attribute"
+ msgstr ""
+
+-#: cp/typeck.c:6485 cp/typeck.c:6487
++#: cp/typeck.c:6512 cp/typeck.c:6514
+ #, fuzzy, gcc-internal-format
+ msgid "in passing argument %P of %q+D"
+ msgstr "Λείπει παÏάμετÏος για `%s'"
+
+-#: cp/typeck.c:6537
++#: cp/typeck.c:6564
+ #, fuzzy, gcc-internal-format
+ msgid "returning reference to temporary"
+ msgstr "xdr_reference: η μνήμη εξαντλήθηκε\n"
+
+-#: cp/typeck.c:6544
++#: cp/typeck.c:6571
+ #, gcc-internal-format
+ msgid "reference to non-lvalue returned"
+ msgstr ""
+
+-#: cp/typeck.c:6560
++#: cp/typeck.c:6587
+ #, gcc-internal-format
+ msgid "reference to local variable %q+D returned"
+ msgstr ""
+
+-#: cp/typeck.c:6563
++#: cp/typeck.c:6590
+ #, gcc-internal-format
+ msgid "address of local variable %q+D returned"
+ msgstr ""
+
+-#: cp/typeck.c:6598
++#: cp/typeck.c:6625
+ #, gcc-internal-format
+ msgid "returning a value from a destructor"
+ msgstr ""
+
+ #. If a return statement appears in a handler of the
+ #. function-try-block of a constructor, the program is ill-formed.
+-#: cp/typeck.c:6606
++#: cp/typeck.c:6633
+ #, gcc-internal-format
+ msgid "cannot return from a handler of a function-try-block of a constructor"
+ msgstr ""
+
+ #. You can't return a value from a constructor.
+-#: cp/typeck.c:6609
++#: cp/typeck.c:6636
+ #, gcc-internal-format
+ msgid "returning a value from a constructor"
+ msgstr ""
+
+-#: cp/typeck.c:6633
++#: cp/typeck.c:6661
+ #, fuzzy, gcc-internal-format
+ msgid "return-statement with no value, in function returning %qT"
+ msgstr "`return' χωÏίς τιμή, σε συνάÏτηση που επιστÏέφει μη-κενό"
+
+-#: cp/typeck.c:6654
++#: cp/typeck.c:6682
+ #, fuzzy, gcc-internal-format
+ msgid "return-statement with a value, in function returning 'void'"
+ msgstr "`return' χωÏίς τιμή, σε συνάÏτηση που επιστÏέφει μη-κενό"
+
+-#: cp/typeck.c:6685
++#: cp/typeck.c:6713
+ #, gcc-internal-format
+ msgid "%<operator new%> must not return NULL unless it is declared %<throw()%> (or -fcheck-new is in effect)"
+ msgstr ""
+@@ -32858,57 +32891,57 @@
+ msgid "pointer to member type %qT incompatible with object type %qT"
+ msgstr ""
+
+-#: cp/typeck2.c:1495
++#: cp/typeck2.c:1508
+ #, fuzzy, gcc-internal-format
+ msgid "call to function %qD which throws incomplete type %q#T"
+ msgstr "μη πλήÏης εγγÏαφή"
+
+-#: cp/typeck2.c:1498
++#: cp/typeck2.c:1511
+ #, fuzzy, gcc-internal-format
+ msgid "call to function which throws incomplete type %q#T"
+ msgstr "μη πλήÏης εγγÏαφή"
+
+-#: fortran/f95-lang.c:233
++#: fortran/f95-lang.c:235
+ #, gcc-internal-format
+ msgid "Unexpected type in truthvalue_conversion"
+ msgstr ""
+
+-#: fortran/f95-lang.c:289
++#: fortran/f95-lang.c:291
+ #, fuzzy, gcc-internal-format
+ msgid "can't open input file: %s"
+ msgstr "αδυναμία ανοίγματος αÏχείου εισόδου `%s'"
+
+-#: fortran/f95-lang.c:629
++#: fortran/f95-lang.c:631
+ #, gcc-internal-format
+ msgid "global register variable %qs used in nested function"
+ msgstr ""
+
+-#: fortran/f95-lang.c:633
++#: fortran/f95-lang.c:635
+ #, gcc-internal-format
+ msgid "register variable %qs used in nested function"
+ msgstr ""
+
+-#: fortran/f95-lang.c:640
++#: fortran/f95-lang.c:642
+ #, gcc-internal-format
+ msgid "address of global register variable %qs requested"
+ msgstr ""
+
+-#: fortran/f95-lang.c:658
++#: fortran/f95-lang.c:660
+ #, gcc-internal-format
+ msgid "address of register variable %qs requested"
+ msgstr ""
+
+-#: fortran/trans-array.c:3765
++#: fortran/trans-array.c:3805
+ #, gcc-internal-format
+ msgid "Possible frontend bug: array constructor not expanded"
+ msgstr ""
+
+-#: fortran/trans-array.c:5418
++#: fortran/trans-array.c:5499
+ #, gcc-internal-format
+ msgid "Possible frontend bug: Deferred array size without pointer, allocatable attribute or derived type without allocatable components."
+ msgstr ""
+
+-#: fortran/trans-array.c:5894
++#: fortran/trans-array.c:5975
+ #, gcc-internal-format
+ msgid "bad expression type during walk (%d)"
+ msgstr ""
+@@ -32918,28 +32951,28 @@
+ msgid "gfc_conv_constant_to_tree(): invalid type: %s"
+ msgstr ""
+
+-#: fortran/trans-decl.c:966
++#: fortran/trans-decl.c:972
+ #, gcc-internal-format
+ msgid "intrinsic variable which isn't a procedure"
+ msgstr ""
+
+-#: fortran/trans-decl.c:2639
++#: fortran/trans-decl.c:2644
+ #, gcc-internal-format
+ msgid "Function does not return a value"
+ msgstr ""
+
+-#: fortran/trans-decl.c:2817
++#: fortran/trans-decl.c:2832
+ #, gcc-internal-format
+ msgid "backend decl for module variable %s already exists"
+ msgstr ""
+
+-#: fortran/trans-decl.c:3351
++#: fortran/trans-decl.c:3314
+ #, gcc-internal-format
+ msgid "Function return value not set"
+ msgstr ""
+
+ # src/grep.c:1133
+-#: fortran/trans-expr.c:1163
++#: fortran/trans-expr.c:1177
+ #, fuzzy, gcc-internal-format
+ msgid "Unknown intrinsic op"
+ msgstr "άγνωστη μέθοδος καταλόγων"
+@@ -32949,32 +32982,32 @@
+ msgid "Intrinsic function %s(%d) not recognized"
+ msgstr ""
+
+-#: fortran/trans-io.c:1928
++#: fortran/trans-io.c:1929
+ #, gcc-internal-format
+ msgid "Bad IO basetype (%d)"
+ msgstr ""
+
+-#: fortran/trans-types.c:386
++#: fortran/trans-types.c:387
+ #, gcc-internal-format
+ msgid "integer kind=8 not available for -fdefault-integer-8 option"
+ msgstr ""
+
+-#: fortran/trans-types.c:409
++#: fortran/trans-types.c:410
+ #, gcc-internal-format
+ msgid "real kind=8 not available for -fdefault-real-8 option"
+ msgstr ""
+
+-#: fortran/trans-types.c:422
++#: fortran/trans-types.c:423
+ #, gcc-internal-format
+ msgid "Use of -fdefault-double-8 requires -fdefault-real-8"
+ msgstr ""
+
+-#: fortran/trans-types.c:1181
++#: fortran/trans-types.c:1185
+ #, gcc-internal-format
+ msgid "Array element size too big"
+ msgstr ""
+
+-#: fortran/trans.c:1150
++#: fortran/trans.c:1151
+ #, gcc-internal-format
+ msgid "gfc_trans_code(): Bad statement code"
+ msgstr ""
+@@ -33034,88 +33067,88 @@
+ msgid "need to insert runtime check for %s"
+ msgstr ""
+
+-#: java/expr.c:505 java/expr.c:552
++#: java/expr.c:524 java/expr.c:571
+ #, gcc-internal-format
+ msgid "assert: %s is assign compatible with %s"
+ msgstr ""
+
+-#: java/expr.c:670
++#: java/expr.c:689
+ #, gcc-internal-format
+ msgid "stack underflow - dup* operation"
+ msgstr ""
+
+-#: java/expr.c:1657
++#: java/expr.c:1676
+ #, gcc-internal-format
+ msgid "reference %qs is ambiguous: appears in interface %qs and interface %qs"
+ msgstr ""
+
+-#: java/expr.c:1685
++#: java/expr.c:1704
+ #, fuzzy, gcc-internal-format
+ msgid "field %qs not found"
+ msgstr "το αÏχείο χάÏτη χαÏακτήÏων `%s' δεν βÏέθηκε"
+
+-#: java/expr.c:2224
++#: java/expr.c:2243
+ #, gcc-internal-format
+ msgid "method '%s' not found in class"
+ msgstr ""
+
+-#: java/expr.c:2429
++#: java/expr.c:2448
+ #, gcc-internal-format
+ msgid "failed to find class '%s'"
+ msgstr ""
+
+-#: java/expr.c:2470
++#: java/expr.c:2489
+ #, gcc-internal-format
+ msgid "class '%s' has no method named '%s' matching signature '%s'"
+ msgstr ""
+
+-#: java/expr.c:2501
++#: java/expr.c:2520
+ #, gcc-internal-format
+ msgid "invokestatic on non static method"
+ msgstr ""
+
+-#: java/expr.c:2506
++#: java/expr.c:2525
+ #, gcc-internal-format
+ msgid "invokestatic on abstract method"
+ msgstr ""
+
+-#: java/expr.c:2514
++#: java/expr.c:2533
+ #, gcc-internal-format
+ msgid "invoke[non-static] on static method"
+ msgstr ""
+
+-#: java/expr.c:2865
++#: java/expr.c:2890
+ #, gcc-internal-format
+ msgid "missing field '%s' in '%s'"
+ msgstr ""
+
+-#: java/expr.c:2872
++#: java/expr.c:2897
+ #, gcc-internal-format
+ msgid "mismatching signature for field '%s' in '%s'"
+ msgstr ""
+
+-#: java/expr.c:2901
++#: java/expr.c:2926
+ #, gcc-internal-format
+ msgid "assignment to final field %q+D not in field's class"
+ msgstr ""
+
+-#: java/expr.c:3123
++#: java/expr.c:3148
+ #, fuzzy, gcc-internal-format
+ msgid "invalid PC in line number table"
+ msgstr "μη έγκυÏος αÏχικός αÏιθμός γÏαμμής: `%s'"
+
+-#: java/expr.c:3173
++#: java/expr.c:3198
+ #, gcc-internal-format
+ msgid "unreachable bytecode from %d to before %d"
+ msgstr ""
+
+-#: java/expr.c:3217
++#: java/expr.c:3242
+ #, gcc-internal-format
+ msgid "unreachable bytecode from %d to the end of the method"
+ msgstr ""
+
+ #. duplicate code from LOAD macro
+-#: java/expr.c:3522
++#: java/expr.c:3547
+ #, gcc-internal-format
+ msgid "unrecogized wide sub-instruction"
+ msgstr ""
+@@ -33181,27 +33214,27 @@
+ msgid "%Hduplicate class will only be compiled once"
+ msgstr ""
+
+-#: java/jcf-parse.c:1636
++#: java/jcf-parse.c:1638
+ #, fuzzy, gcc-internal-format
+ msgid "missing Code attribute"
+ msgstr "Ελλιπής ή κακοσχηματισμένη ιδιότητα"
+
+-#: java/jcf-parse.c:1858
++#: java/jcf-parse.c:1860
+ #, fuzzy, gcc-internal-format
+ msgid "no input file specified"
+ msgstr "Δεν υπάÏχουν αÏχεία εισόδου"
+
+-#: java/jcf-parse.c:1893
++#: java/jcf-parse.c:1895
+ #, fuzzy, gcc-internal-format
+ msgid "can't close input file %s: %m"
+ msgstr "αδυναμία ανοίγματος αÏχείου εισόδου `%s'"
+
+-#: java/jcf-parse.c:1940
++#: java/jcf-parse.c:1942
+ #, gcc-internal-format
+ msgid "bad zip/jar file %s"
+ msgstr ""
+
+-#: java/jcf-parse.c:2145
++#: java/jcf-parse.c:2152
+ #, fuzzy, gcc-internal-format
+ msgid "error while reading %s from zip file"
+ msgstr "σφάλμα κατά το κλείσιμο του αÏχείου εξόδου"
+@@ -33211,22 +33244,22 @@
+ msgid "warning: already-compiled .class files ignored with -C"
+ msgstr ""
+
+-#: java/lang.c:590
++#: java/lang.c:594
+ #, gcc-internal-format
+ msgid "-findirect-dispatch is incompatible with -freduced-reflection"
+ msgstr ""
+
+-#: java/lang.c:593
++#: java/lang.c:597
+ #, gcc-internal-format
+ msgid "-fjni is incompatible with -freduced-reflection"
+ msgstr ""
+
+-#: java/lang.c:604
++#: java/lang.c:608
+ #, gcc-internal-format
+ msgid "can't do dependency tracking with input from stdin"
+ msgstr ""
+
+-#: java/lang.c:620
++#: java/lang.c:624
+ #, gcc-internal-format
+ msgid "couldn't determine target name for dependency tracking"
+ msgstr ""
+@@ -33830,10 +33863,18 @@
+ #~ msgstr "Δεν είναι δυνατόν να βÏεθεί ο Ï„Ïπος του επεξεÏγαστή."
+
+ #, fuzzy
++#~ msgid "malformed '#pragma %s' - ignored"
++#~ msgstr "κακοδιαμοÏφωμένη γÏαμμή αγνοήθηκε"
++
++#, fuzzy
+ #~ msgid "mode not QImode"
+ #~ msgstr "νεα_κατάσταση: κατάσταση λειτουÏγίας\n"
+
+ #, fuzzy
++#~ msgid "invalid indirect memory address"
++#~ msgstr "μη έγκυÏος χÏόνος λήξης"
++
++#, fuzzy
+ #~ msgid "invalid operand for 'v' modifier"
+ #~ msgstr "Μη έγκυÏη επιλογή `%s'"
+
+@@ -33961,10 +34002,6 @@
+ #~ msgstr "μη έγκυÏος αÏιθμός από κενές γÏαμμές: `%s'"
+
+ #, fuzzy
+-#~ msgid "invalid initializer for virtual method %qD"
+-#~ msgstr "Μη έγκυÏη ακέÏαια παÏάμετÏος `%s'"
+-
+-#, fuzzy
+ #~ msgid "using-declaration cannot name destructor"
+ #~ msgstr "συντακτικό σφάλμα στον οÏισμό κλάσης χαÏακτήÏων"
+
+@@ -34235,10 +34272,6 @@
+ #~ "%s"
+
+ #, fuzzy
+-#~ msgid "Missing return statement"
+-#~ msgstr "Έχει παÏαληφθεί εντολή"
+-
+-#, fuzzy
+ #~ msgid "Qualifier must be a reference"
+ #~ msgstr "Μη έγκυÏη πισω-παÏαπομπή"
+
+Index: gcc/po/zh_CN.po
+===================================================================
+--- gcc/po/zh_CN.po (.../tags/gcc_4_3_0_release) (revision 133808)
++++ gcc/po/zh_CN.po (.../branches/gcc-4_3-branch) (revision 133808)
+@@ -1,14 +1,14 @@
+ # Simplified Chinese translation for gcc.
+ # Copyright (C) 2005 Free Software Foundation, Inc.
+ # This file is distributed under the same license as the gcc package.
+-# Meng Jie <zuxy.meng@gmail.com>, 2005-2007.
++# Meng Jie <zuxy.meng@gmail.com>, 2005-2008.
+ #
+ msgid ""
+ msgstr ""
+-"Project-Id-Version: gcc 4.3-b20071109\n"
++"Project-Id-Version: gcc 4.3.0\n"
+ "Report-Msgid-Bugs-To: http://gcc.gnu.org/bugs.html\n"
+-"POT-Creation-Date: 2007-11-08 21:09+0000\n"
+-"PO-Revision-Date: 2007-11-28 22:07+0800\n"
++"POT-Creation-Date: 2008-03-05 17:23+0100\n"
++"PO-Revision-Date: 2008-03-24 15:08+0800\n"
+ "Last-Translator: Meng Jie <zuxy.meng@gmail.com>\n"
+ "Language-Team: Chinese (simplified) <translation-team-zh-cn@lists.sourceforge.net>\n"
+ "MIME-Version: 1.0\n"
+@@ -16,9 +16,9 @@
+ "Content-Transfer-Encoding: 8bit\n"
+ "X-Poedit-Language: Chinese\n"
+ "X-Poedit-Country: CHINA\n"
+-"X-Poedit-Basepath: C:\\MSYS\\source\\gcc-4.3-20071109\\gcc\n"
++"X-Poedit-Basepath: C:\\MSYS\\source\\gcc-4.3.0\\gcc\n"
+
+-#: c-decl.c:3814
++#: c-decl.c:3813
+ msgid "<anonymous>"
+ msgstr "<匿å>"
+
+@@ -299,53 +299,53 @@
+ msgid "End of search list.\n"
+ msgstr "æœç´¢åˆ—表结æŸã€‚\n"
+
+-#: c-opts.c:1484
++#: c-opts.c:1505
+ msgid "<built-in>"
+ msgstr "<built-in>"
+
+-#: c-opts.c:1502
++#: c-opts.c:1523
+ msgid "<command-line>"
+ msgstr "<命令行>"
+
+-#: c-typeck.c:2448 c-typeck.c:4851 c-typeck.c:4853 c-typeck.c:4861
+-#: c-typeck.c:4891 c-typeck.c:6267
++#: c-typeck.c:2459 c-typeck.c:4862 c-typeck.c:4864 c-typeck.c:4872
++#: c-typeck.c:4902 c-typeck.c:6278
+ msgid "initializer element is not constant"
+ msgstr "åˆå§‹å€¼è®¾å®šå…ƒç´ ä¸æ˜¯å¸¸é‡"
+
+-#: c-typeck.c:4654
++#: c-typeck.c:4665
+ msgid "array initialized from parenthesized string constant"
+ msgstr "用括å·ä¸­çš„字符串常é‡åˆå§‹åŒ–数组"
+
+-#: c-typeck.c:4715 cp/typeck2.c:677
++#: c-typeck.c:4726 cp/typeck2.c:677
+ #, gcc-internal-format
+ msgid "char-array initialized from wide string"
+ msgstr "用宽字符串åˆå§‹åŒ– char 数组"
+
+-#: c-typeck.c:4720
++#: c-typeck.c:4731
+ msgid "wchar_t-array initialized from non-wide string"
+ msgstr "用窄字符串åˆå§‹åŒ– wchar_t 数组"
+
+-#: c-typeck.c:4738 cp/typeck2.c:697
++#: c-typeck.c:4749 cp/typeck2.c:697
+ #, gcc-internal-format
+ msgid "initializer-string for array of chars is too long"
+ msgstr "用以åˆå§‹åŒ–字符数组的字符串太长"
+
+-#: c-typeck.c:4744
++#: c-typeck.c:4755
+ msgid "array of inappropriate type initialized from string constant"
+ msgstr "用字符串常é‡åˆå§‹åŒ–的数组类型ä¸åˆé€‚"
+
+ #. ??? This should not be an error when inlining calls to
+ #. unprototyped functions.
+-#: c-typeck.c:4808 c-typeck.c:4333 cp/typeck.c:1528
++#: c-typeck.c:4819 c-typeck.c:4344 cp/typeck.c:1574
+ #, gcc-internal-format
+ msgid "invalid use of non-lvalue array"
+ msgstr "对éžå·¦å€¼æ•°ç»„的无效使用"
+
+-#: c-typeck.c:4834
++#: c-typeck.c:4845
+ msgid "array initialized from non-constant array expression"
+ msgstr "用éžå¸¸é‡çš„数组表达å¼åˆå§‹åŒ–数组"
+
+-#: c-typeck.c:4898 c-typeck.c:6271
++#: c-typeck.c:4909 c-typeck.c:6282
+ #, gcc-internal-format
+ msgid "initializer element is not computable at load time"
+ msgstr "åˆå§‹å€¼è®¾å®šä¸­çš„元素在载入时无法被计算出"
+@@ -354,140 +354,140 @@
+ #. of VLAs themselves count as VLAs, it does not make
+ #. sense to permit them to be initialized given that
+ #. ordinary VLAs may not be initialized.
+-#: c-typeck.c:4909 c-decl.c:3222 c-decl.c:3237
++#: c-typeck.c:4920 c-decl.c:3220 c-decl.c:3235
+ #, gcc-internal-format
+ msgid "variable-sized object may not be initialized"
+ msgstr "å¯å˜å¤§å°çš„对象ä¸èƒ½è¢«åˆå§‹åŒ–"
+
+-#: c-typeck.c:4913
++#: c-typeck.c:4924
+ msgid "invalid initializer"
+ msgstr "无效的åˆå§‹å€¼è®¾å®š"
+
+-#: c-typeck.c:5387
++#: c-typeck.c:5398
+ msgid "extra brace group at end of initializer"
+ msgstr "åˆå§‹å€¼è®¾å®šé¡¹æœ«å°¾æœ‰å¤šä½™çš„花括å·ç»„"
+
+-#: c-typeck.c:5407
++#: c-typeck.c:5418
+ msgid "missing braces around initializer"
+ msgstr "åˆå§‹å€¼è®¾å®šå‘¨å›´ç¼ºå°‘花括å·"
+
+-#: c-typeck.c:5468
++#: c-typeck.c:5479
+ msgid "braces around scalar initializer"
+ msgstr "æ ‡é‡åˆå§‹åŒ–带花括å·"
+
+-#: c-typeck.c:5525
++#: c-typeck.c:5536
+ msgid "initialization of flexible array member in a nested context"
+ msgstr "在嵌套的上下文中åˆå§‹åŒ–å¯å˜æ•°ç»„æˆå‘˜"
+
+-#: c-typeck.c:5527
++#: c-typeck.c:5538
+ msgid "initialization of a flexible array member"
+ msgstr "对å¯å˜æ•°ç»„æˆå‘˜çš„åˆå§‹åŒ–"
+
+-#: c-typeck.c:5554
++#: c-typeck.c:5565
+ msgid "missing initializer"
+ msgstr "缺少åˆå§‹å€¼è®¾å®š"
+
+-#: c-typeck.c:5576
++#: c-typeck.c:5587
+ msgid "empty scalar initializer"
+ msgstr "空的标é‡åˆå§‹å€¼è®¾å®šé¡¹"
+
+-#: c-typeck.c:5581
++#: c-typeck.c:5592
+ msgid "extra elements in scalar initializer"
+ msgstr "æ ‡é‡åˆå§‹åŒ–设定中有多余元素"
+
+-#: c-typeck.c:5678 c-typeck.c:5738
++#: c-typeck.c:5689 c-typeck.c:5749
+ msgid "array index in non-array initializer"
+ msgstr "在éžæ•°ç»„åˆå§‹å€¼è®¾å®šé¡¹ä¸­å‡ºçŽ°æ•°ç»„索引"
+
+-#: c-typeck.c:5683 c-typeck.c:5791
++#: c-typeck.c:5694 c-typeck.c:5802
+ msgid "field name not in record or union initializer"
+ msgstr "字段åä¸åœ¨è®°å½•æˆ–è”åˆåˆå§‹åŒ–设定中"
+
+-#: c-typeck.c:5729
++#: c-typeck.c:5740
+ msgid "array index in initializer not of integer type"
+ msgstr "åˆå§‹å€¼è®¾å®šä¸­æ•°ç»„索引ä¸æ˜¯æ•´åž‹"
+
+-#: c-typeck.c:5734 c-typeck.c:5736
++#: c-typeck.c:5745 c-typeck.c:5747
+ msgid "nonconstant array index in initializer"
+ msgstr "åˆå§‹å€¼è®¾å®šä¸­æ•°ç»„索引ä¸æ˜¯å¸¸æ•°"
+
+-#: c-typeck.c:5740 c-typeck.c:5743
++#: c-typeck.c:5751 c-typeck.c:5754
+ msgid "array index in initializer exceeds array bounds"
+ msgstr "åˆå§‹åŒ–时数组索引越界"
+
+-#: c-typeck.c:5754
++#: c-typeck.c:5765
+ msgid "empty index range in initializer"
+ msgstr "åˆå§‹å€¼è®¾å®šé¡¹ä¸­ç´¢å¼•èŒƒå›´ä¸ºç©º"
+
+-#: c-typeck.c:5763
++#: c-typeck.c:5774
+ msgid "array index range in initializer exceeds array bounds"
+ msgstr "åˆå§‹å€¼è®¾å®šä¸­æ•°æ®ç´¢å¼•èŒƒå›´è¶…出数组边界"
+
+-#: c-typeck.c:5838 c-typeck.c:5861 c-typeck.c:6335
++#: c-typeck.c:5849 c-typeck.c:5872 c-typeck.c:6346
+ msgid "initialized field with side-effects overwritten"
+ msgstr "带副作用的字段åˆå§‹åŒ–设定被覆盖"
+
+-#: c-typeck.c:5840 c-typeck.c:5863 c-typeck.c:6337
++#: c-typeck.c:5851 c-typeck.c:5874 c-typeck.c:6348
+ msgid "initialized field overwritten"
+ msgstr "å·²åˆå§‹åŒ–的字段被覆盖"
+
+-#: c-typeck.c:6545
++#: c-typeck.c:6556
+ msgid "excess elements in char array initializer"
+ msgstr "字符数组åˆå§‹å€¼è®¾å®šé¡¹ä¸­æœ‰å¤šä½™å…ƒç´ "
+
+-#: c-typeck.c:6552 c-typeck.c:6598
++#: c-typeck.c:6563 c-typeck.c:6609
+ msgid "excess elements in struct initializer"
+ msgstr "结构åˆå§‹å€¼è®¾å®šé¡¹ä¸­æœ‰å¤šä½™å…ƒç´ "
+
+-#: c-typeck.c:6613
++#: c-typeck.c:6624
+ msgid "non-static initialization of a flexible array member"
+ msgstr "对å¯å˜æ•°ç»„æˆå‘˜éžé™æ€åœ°åˆå§‹åŒ–"
+
+-#: c-typeck.c:6681
++#: c-typeck.c:6692
+ msgid "excess elements in union initializer"
+ msgstr "è”åˆåˆå§‹å€¼è®¾å®šé¡¹ä¸­æœ‰å¤šä½™å…ƒç´ "
+
+-#: c-typeck.c:6768
++#: c-typeck.c:6779
+ msgid "excess elements in array initializer"
+ msgstr "数组åˆå§‹å€¼è®¾å®šé¡¹ä¸­æœ‰å¤šä½™çš„元素"
+
+-#: c-typeck.c:6798
++#: c-typeck.c:6809
+ msgid "excess elements in vector initializer"
+ msgstr "矢é‡åˆå§‹å€¼è®¾å®šé¡¹ä¸­æœ‰å¤šä½™å…ƒç´ "
+
+-#: c-typeck.c:6822
++#: c-typeck.c:6833
+ msgid "excess elements in scalar initializer"
+ msgstr "æ ‡é‡åˆå§‹å€¼è®¾å®šé¡¹ä¸­æœ‰å¤šä½™å…ƒç´ "
+
+-#: cfgrtl.c:1925
++#: cfgrtl.c:1923
+ msgid "flow control insn inside a basic block"
+ msgstr "基本å—内有æµç¨‹æŽ§åˆ¶æŒ‡ä»¤"
+
+-#: cfgrtl.c:2054
++#: cfgrtl.c:2052
+ msgid "wrong insn in the fallthru edge"
+ msgstr "直通边上的错误指令"
+
+-#: cfgrtl.c:2110
++#: cfgrtl.c:2108
+ msgid "insn outside basic block"
+ msgstr "基本å—外出现指令"
+
+-#: cfgrtl.c:2117
++#: cfgrtl.c:2115
+ msgid "return not followed by barrier"
+ msgstr "return åŽæ²¡æœ‰å±éšœ"
+
+-#: cgraph.c:339 ipa-inline.c:417
++#: cgraph.c:340 ipa-inline.c:417
+ msgid "function body not available"
+ msgstr "函数体ä¸å¯ç”¨"
+
+-#: cgraph.c:341 cgraphbuild.c:96
++#: cgraph.c:342 cgraphbuild.c:96
+ msgid "redefined extern inline functions are not considered for inlining"
+ msgstr "ä¸è€ƒè™‘内è”é‡å®šä¹‰çš„外部内è”函数"
+
+-#: cgraph.c:344 cgraphbuild.c:103
++#: cgraph.c:345 cgraphbuild.c:103
+ msgid "function not considered for inlining"
+ msgstr "ä¸è€ƒè™‘内è”函数"
+
+-#: cgraph.c:346 cgraphbuild.c:99
++#: cgraph.c:347 cgraphbuild.c:99
+ msgid "function not inlinable"
+ msgstr "函数ä¸èƒ½å†…è”"
+
+@@ -495,87 +495,87 @@
+ msgid "mismatched arguments"
+ msgstr "ä¸åŒ¹é…的实å‚"
+
+-#: collect2.c:378 gcc.c:6897
++#: collect2.c:382 gcc.c:6896
+ #, c-format
+ msgid "internal gcc abort in %s, at %s:%d"
+ msgstr "gcc 内部放弃 %s,于 %s:%d"
+
+-#: collect2.c:889
++#: collect2.c:903
+ #, c-format
+ msgid "no arguments"
+ msgstr "没有å‚æ•°"
+
+-#: collect2.c:1263 collect2.c:1411 collect2.c:1446
++#: collect2.c:1277 collect2.c:1425 collect2.c:1460
+ #, c-format
+ msgid "fopen %s"
+ msgstr "fopen %s"
+
+-#: collect2.c:1266 collect2.c:1416 collect2.c:1449
++#: collect2.c:1280 collect2.c:1430 collect2.c:1463
+ #, c-format
+ msgid "fclose %s"
+ msgstr "fclose %s"
+
+-#: collect2.c:1275
++#: collect2.c:1289
+ #, c-format
+ msgid "collect2 version %s"
+ msgstr "collect2 版本 %s"
+
+-#: collect2.c:1365
++#: collect2.c:1379
+ #, c-format
+ msgid "%d constructor(s) found\n"
+ msgstr "找到 %d 个构造函数\n"
+
+-#: collect2.c:1366
++#: collect2.c:1380
+ #, c-format
+ msgid "%d destructor(s) found\n"
+ msgstr "找到 %d 个æžæž„函数\n"
+
+-#: collect2.c:1367
++#: collect2.c:1381
+ #, c-format
+ msgid "%d frame table(s) found\n"
+ msgstr "找到了 %d 个框架表\n"
+
+-#: collect2.c:1504
++#: collect2.c:1518
+ #, c-format
+ msgid "can't get program status"
+ msgstr "无法获å–程åºçŠ¶æ€"
+
+-#: collect2.c:1573
++#: collect2.c:1587
+ #, c-format
+ msgid "could not open response file %s"
+ msgstr "无法打开å“应文件 %s"
+
+-#: collect2.c:1578
++#: collect2.c:1592
+ #, c-format
+ msgid "could not write to response file %s"
+ msgstr "无法写入å“应文件 %s"
+
+-#: collect2.c:1583
++#: collect2.c:1597
+ #, c-format
+ msgid "could not close response file %s"
+ msgstr "无法关闭å“应文件 %s"
+
+-#: collect2.c:1601
++#: collect2.c:1615
+ #, c-format
+ msgid "[cannot find %s]"
+ msgstr "[找ä¸åˆ° %s]"
+
+-#: collect2.c:1616
++#: collect2.c:1630
+ #, c-format
+ msgid "cannot find '%s'"
+ msgstr "找ä¸åˆ°â€˜%s’"
+
+-#: collect2.c:1620 collect2.c:2112 collect2.c:2267 gcc.c:2978
++#: collect2.c:1634 collect2.c:2126 collect2.c:2281 gcc.c:2974
+ #, c-format
+ msgid "pex_init failed"
+ msgstr "pex_init 失败"
+
+-#: collect2.c:1658
++#: collect2.c:1672
+ #, c-format
+ msgid "[Leaving %s]\n"
+ msgstr "[离开 %s]\n"
+
+-#: collect2.c:1878
++#: collect2.c:1892
+ #, c-format
+ msgid ""
+ "\n"
+@@ -584,32 +584,32 @@
+ "\n"
+ "write_c_file - 输出å为 %s,å‰ç¼€ä¸º %s\n"
+
+-#: collect2.c:2086
++#: collect2.c:2100
+ #, c-format
+ msgid "cannot find 'nm'"
+ msgstr "找ä¸åˆ° ‘nm’"
+
+-#: collect2.c:2133
++#: collect2.c:2147
+ #, c-format
+ msgid "can't open nm output"
+ msgstr "无法打开 nm 的输出"
+
+-#: collect2.c:2177
++#: collect2.c:2191
+ #, c-format
+ msgid "init function found in object %s"
+ msgstr "在对象 %s 中å‘现 init 函数"
+
+-#: collect2.c:2185
++#: collect2.c:2199
+ #, c-format
+ msgid "fini function found in object %s"
+ msgstr "在对象 %s 中å‘现 fini 函数"
+
+-#: collect2.c:2288
++#: collect2.c:2302
+ #, c-format
+ msgid "can't open ldd output"
+ msgstr "无法打开 ldd 输出"
+
+-#: collect2.c:2291
++#: collect2.c:2305
+ #, c-format
+ msgid ""
+ "\n"
+@@ -618,27 +618,27 @@
+ "\n"
+ "ldd 输出带有构造/æžæž„函数。\n"
+
+-#: collect2.c:2306
++#: collect2.c:2320
+ #, c-format
+ msgid "dynamic dependency %s not found"
+ msgstr "找ä¸åˆ°åŠ¨æ€ä¾èµ–项 %s"
+
+-#: collect2.c:2318
++#: collect2.c:2332
+ #, c-format
+ msgid "unable to open dynamic dependency '%s'"
+ msgstr "无法打开动æ€ä¾èµ–项‘%s’"
+
+-#: collect2.c:2474
++#: collect2.c:2488
+ #, c-format
+ msgid "%s: not a COFF file"
+ msgstr "%s:ä¸æ˜¯ä¸€ä¸ª COFF 文件"
+
+-#: collect2.c:2594
++#: collect2.c:2608
+ #, c-format
+ msgid "%s: cannot open as COFF file"
+ msgstr "%s:ä¸èƒ½æ‰“å¼€ COFF 文件"
+
+-#: collect2.c:2652
++#: collect2.c:2666
+ #, c-format
+ msgid "library lib%s not found"
+ msgstr "找ä¸åˆ°åº“ lib%s"
+@@ -688,40 +688,40 @@
+ msgid "negative insn length"
+ msgstr "指令长度为负"
+
+-#: final.c:2609
++#: final.c:2615
+ msgid "could not split insn"
+ msgstr "无法分离指令"
+
+-#: final.c:2979
++#: final.c:2992
+ msgid "invalid 'asm': "
+ msgstr "无效的‘asm’:"
+
+-#: final.c:3162
++#: final.c:3175
+ #, c-format
+ msgid "nested assembly dialect alternatives"
+ msgstr "嵌套的汇编风格指示"
+
+-#: final.c:3179 final.c:3191
++#: final.c:3192 final.c:3204
+ #, c-format
+ msgid "unterminated assembly dialect alternative"
+ msgstr "未结æŸçš„汇编风格指示"
+
+-#: final.c:3238
++#: final.c:3251
+ #, c-format
+ msgid "operand number missing after %%-letter"
+ msgstr "%% å­—æ¯åŽç¼ºå°‘æ“作数å·"
+
+-#: final.c:3241 final.c:3282
++#: final.c:3254 final.c:3295
+ #, c-format
+ msgid "operand number out of range"
+ msgstr "æ“作数å·è¶…出范围"
+
+-#: final.c:3301
++#: final.c:3314
+ #, c-format
+ msgid "invalid %%-code"
+ msgstr "无效的 %%-code"
+
+-#: final.c:3331
++#: final.c:3344
+ #, c-format
+ msgid "'%%l' operand isn't a label"
+ msgstr "‘%%l’æ“作数ä¸æ˜¯ä¸€ä¸ªæ ‡å·"
+@@ -732,13 +732,13 @@
+ #. handle them.
+ #. We can't handle floating point constants;
+ #. PRINT_OPERAND must handle them.
+-#: final.c:3433 vmsdbgout.c:487 config/i386/i386.c:8143
++#: final.c:3446 vmsdbgout.c:487 config/i386/i386.c:8198
+ #: config/pdp11/pdp11.c:1704
+ #, c-format
+ msgid "floating constant misused"
+ msgstr "错误地使用了浮点常é‡"
+
+-#: final.c:3493 vmsdbgout.c:544 config/i386/i386.c:8224
++#: final.c:3507 vmsdbgout.c:544 config/i386/i386.c:8279
+ #: config/pdp11/pdp11.c:1751
+ #, c-format
+ msgid "invalid expression as operand"
+@@ -749,7 +749,7 @@
+ msgid "Using built-in specs.\n"
+ msgstr "使用内建 specs。\n"
+
+-#: gcc.c:1887
++#: gcc.c:1883
+ #, c-format
+ msgid ""
+ "Setting spec %s to '%s'\n"
+@@ -758,42 +758,42 @@
+ "将 spec %s 设为‘%s’\n"
+ "\n"
+
+-#: gcc.c:2002
++#: gcc.c:1998
+ #, c-format
+ msgid "Reading specs from %s\n"
+ msgstr "从 %s è¯»å– specs\n"
+
+-#: gcc.c:2098 gcc.c:2117
++#: gcc.c:2094 gcc.c:2113
+ #, c-format
+ msgid "specs %%include syntax malformed after %ld characters"
+ msgstr "specs %%include 在 %ld 字符åŽè¯­æ³•æ ¼å¼é”™è¯¯"
+
+-#: gcc.c:2125
++#: gcc.c:2121
+ #, c-format
+ msgid "could not find specs file %s\n"
+ msgstr "找ä¸åˆ° specs 文件 %s\n"
+
+-#: gcc.c:2142 gcc.c:2150 gcc.c:2159 gcc.c:2168
++#: gcc.c:2138 gcc.c:2146 gcc.c:2155 gcc.c:2164
+ #, c-format
+ msgid "specs %%rename syntax malformed after %ld characters"
+ msgstr "specs %%rename 在 %ld 字符åŽè¯­æ³•æ ¼å¼é”™è¯¯"
+
+-#: gcc.c:2177
++#: gcc.c:2173
+ #, c-format
+ msgid "specs %s spec was not found to be renamed"
+ msgstr "specs 找ä¸åˆ° %s spec 或已被é‡å‘½å"
+
+-#: gcc.c:2184
++#: gcc.c:2180
+ #, c-format
+ msgid "%s: attempt to rename spec '%s' to already defined spec '%s'"
+ msgstr "%s:试图将 spec‘%s’é‡å‘½å为已定义的 spec‘%s’"
+
+-#: gcc.c:2189
++#: gcc.c:2185
+ #, c-format
+ msgid "rename spec %s to %s\n"
+ msgstr "å°† spec %s é‡å‘½å为 %s\n"
+
+-#: gcc.c:2191
++#: gcc.c:2187
+ #, c-format
+ msgid ""
+ "spec is '%s'\n"
+@@ -802,37 +802,37 @@
+ "spec 是‘%s’\n"
+ "\n"
+
+-#: gcc.c:2204
++#: gcc.c:2200
+ #, c-format
+ msgid "specs unknown %% command after %ld characters"
+ msgstr "specs 在 %ld 字符åŽå‡ºçŽ°æœªçŸ¥çš„ %% 命令"
+
+-#: gcc.c:2215 gcc.c:2228
++#: gcc.c:2211 gcc.c:2224
+ #, c-format
+ msgid "specs file malformed after %ld characters"
+ msgstr "specs 在 %ld 字符åŽæ–‡ä»¶æ ¼å¼é”™è¯¯"
+
+-#: gcc.c:2281
++#: gcc.c:2277
+ #, c-format
+ msgid "spec file has no spec for linking"
+ msgstr "spec 文件没有对链接的设定"
+
+-#: gcc.c:2609 gcc.c:4751
++#: gcc.c:2605 gcc.c:4745
+ #, c-format
+ msgid "%s\n"
+ msgstr "%s\n"
+
+-#: gcc.c:2809
++#: gcc.c:2805
+ #, c-format
+ msgid "system path '%s' is not absolute"
+ msgstr "系统路径‘%s’ä¸æ˜¯ç»å¯¹è·¯å¾„"
+
+-#: gcc.c:2872
++#: gcc.c:2868
+ #, c-format
+ msgid "-pipe not supported"
+ msgstr "ä¸æ”¯æŒ -pipe"
+
+-#: gcc.c:2934
++#: gcc.c:2930
+ #, c-format
+ msgid ""
+ "\n"
+@@ -841,15 +841,15 @@
+ "\n"
+ "继续?(y 或 n) "
+
+-#: gcc.c:3017
++#: gcc.c:3013
+ msgid "failed to get exit status"
+ msgstr "无法获å–退出状æ€"
+
+-#: gcc.c:3023
++#: gcc.c:3019
+ msgid "failed to get process times"
+ msgstr "无法获å–进程时间"
+
+-#: gcc.c:3049
++#: gcc.c:3045
+ #, c-format
+ msgid ""
+ "Internal error: %s (program %s)\n"
+@@ -860,181 +860,181 @@
+ "请æ交一份完整的错误报告。\n"
+ "具体步骤请å‚è§ %s。"
+
+-#: gcc.c:3075
++#: gcc.c:3071
+ #, c-format
+ msgid "# %s %.2f %.2f\n"
+ msgstr "# %s %.2f %.2f\n"
+
+-#: gcc.c:3211
++#: gcc.c:3205
+ #, c-format
+ msgid "Usage: %s [options] file...\n"
+ msgstr "用法:%s [选项] 文件...\n"
+
+-#: gcc.c:3212
++#: gcc.c:3206
+ msgid "Options:\n"
+ msgstr "选项:\n"
+
+-#: gcc.c:3214
++#: gcc.c:3208
+ msgid " -pass-exit-codes Exit with highest error code from a phase\n"
+ msgstr " -pass-exit-codes 在æŸä¸€é˜¶æ®µé€€å‡ºæ—¶è¿”回最高的错误ç \n"
+
+-#: gcc.c:3215
++#: gcc.c:3209
+ msgid " --help Display this information\n"
+ msgstr " --help 显示此帮助说明\n"
+
+-#: gcc.c:3216
++#: gcc.c:3210
+ msgid " --target-help Display target specific command line options\n"
+ msgstr " --target-help 显示目标机器特定的命令行选项\n"
+
+-#: gcc.c:3217
++#: gcc.c:3211
+ msgid " --help={target|optimizers|warnings|undocumented|params}[,{[^]joined|[^]separate}]\n"
+ msgstr " --help={target|optimizers|warnings|undocumented|params}[,{[^]joined|[^]separate}]\n"
+
+-#: gcc.c:3218
++#: gcc.c:3212
+ msgid " Display specific types of command line options\n"
+ msgstr " 显示特定类型的命令行选项\n"
+
+-#: gcc.c:3220
++#: gcc.c:3214
+ msgid " (Use '-v --help' to display command line options of sub-processes)\n"
+ msgstr " (使用‘-v --help’显示å­è¿›ç¨‹çš„命令行å‚æ•°)\n"
+
+-#: gcc.c:3221
++#: gcc.c:3215
+ msgid " -dumpspecs Display all of the built in spec strings\n"
+ msgstr " -dumpspecs 显示所有内建 spec 字符串\n"
+
+-#: gcc.c:3222
++#: gcc.c:3216
+ msgid " -dumpversion Display the version of the compiler\n"
+ msgstr " -dumpversion 显示编译器的版本å·\n"
+
+-#: gcc.c:3223
++#: gcc.c:3217
+ msgid " -dumpmachine Display the compiler's target processor\n"
+ msgstr " -dumpmachine 显示编译器的目标处ç†å™¨\n"
+
+-#: gcc.c:3224
++#: gcc.c:3218
+ msgid " -print-search-dirs Display the directories in the compiler's search path\n"
+ msgstr " -print-search-dirs 显示编译器的æœç´¢è·¯å¾„\n"
+
+-#: gcc.c:3225
++#: gcc.c:3219
+ msgid " -print-libgcc-file-name Display the name of the compiler's companion library\n"
+ msgstr " -print-libgcc-file-name 显示编译器伴éšåº“çš„å称\n"
+
+-#: gcc.c:3226
++#: gcc.c:3220
+ msgid " -print-file-name=<lib> Display the full path to library <lib>\n"
+ msgstr " -print-file-name=<库> 显示 <库> 的完整路径\n"
+
+-#: gcc.c:3227
++#: gcc.c:3221
+ msgid " -print-prog-name=<prog> Display the full path to compiler component <prog>\n"
+ msgstr " -print-prog-name=<程åº> 显示编译器组件 <程åº> 的完整路径\n"
+
+-#: gcc.c:3228
++#: gcc.c:3222
+ msgid " -print-multi-directory Display the root directory for versions of libgcc\n"
+ msgstr " -print-multi-directory 显示ä¸åŒç‰ˆæœ¬ libgcc 的根目录\n"
+
+-#: gcc.c:3229
++#: gcc.c:3223
+ msgid ""
+ " -print-multi-lib Display the mapping between command line options and\n"
+ " multiple library search directories\n"
+ msgstr " -print-multi-lib 显示命令行选项和多个版本库æœç´¢è·¯å¾„间的映射\n"
+
+-#: gcc.c:3232
++#: gcc.c:3226
+ msgid " -print-multi-os-directory Display the relative path to OS libraries\n"
+ msgstr " -print-multi-os-directory 显示æ“作系统库的相对路径\n"
+
+-#: gcc.c:3233
++#: gcc.c:3227
+ msgid " -print-sysroot-headers-suffix Display the sysroot suffix used to find headers\n"
+ msgstr " -print-sysroot-headers-suffix 显示用于寻找头文件的 sysroot åŽç¼€\n"
+
+-#: gcc.c:3234
++#: gcc.c:3228
+ msgid " -Wa,<options> Pass comma-separated <options> on to the assembler\n"
+ msgstr " -Wa,<选项> 将逗å·åˆ†éš”çš„ <选项> 传递给汇编器\n"
+
+-#: gcc.c:3235
++#: gcc.c:3229
+ msgid " -Wp,<options> Pass comma-separated <options> on to the preprocessor\n"
+ msgstr " -Wp,<选项> 将逗å·åˆ†éš”çš„ <选项> 传递给预处ç†å™¨\n"
+
+-#: gcc.c:3236
++#: gcc.c:3230
+ msgid " -Wl,<options> Pass comma-separated <options> on to the linker\n"
+ msgstr " -Wl,<选项> 将逗å·åˆ†éš”çš„ <选项> 传递给链接器\n"
+
+-#: gcc.c:3237
++#: gcc.c:3231
+ msgid " -Xassembler <arg> Pass <arg> on to the assembler\n"
+ msgstr " -Xassembler <å‚æ•°> å°† <å‚æ•°> 传递给汇编器\n"
+
+-#: gcc.c:3238
++#: gcc.c:3232
+ msgid " -Xpreprocessor <arg> Pass <arg> on to the preprocessor\n"
+ msgstr " -Xpreprocessor <å‚æ•°> å°† <å‚æ•°> 传递给预处ç†å™¨\n"
+
+-#: gcc.c:3239
++#: gcc.c:3233
+ msgid " -Xlinker <arg> Pass <arg> on to the linker\n"
+ msgstr " -Xlinker <å‚æ•°> å°† <å‚æ•°> 传递给链接器\n"
+
+-#: gcc.c:3240
++#: gcc.c:3234
+ msgid " -combine Pass multiple source files to compiler at once\n"
+ msgstr " -combine 将多个æºæ–‡ä»¶ä¸€æ¬¡æ€§ä¼ é€’给汇编器\n"
+
+-#: gcc.c:3241
++#: gcc.c:3235
+ msgid " -save-temps Do not delete intermediate files\n"
+ msgstr " -save-temps ä¸åˆ é™¤ä¸­é—´æ–‡ä»¶\n"
+
+-#: gcc.c:3242
++#: gcc.c:3236
+ msgid " -pipe Use pipes rather than intermediate files\n"
+ msgstr " -pipe 使用管é“代替临时文件\n"
+
+-#: gcc.c:3243
++#: gcc.c:3237
+ msgid " -time Time the execution of each subprocess\n"
+ msgstr " -time 为æ¯ä¸ªå­è¿›ç¨‹è®¡æ—¶\n"
+
+-#: gcc.c:3244
++#: gcc.c:3238
+ msgid " -specs=<file> Override built-in specs with the contents of <file>\n"
+ msgstr " -specs=<文件> 用 <文件> 的内容覆盖内建的 specs 文件\n"
+
+-#: gcc.c:3245
++#: gcc.c:3239
+ msgid " -std=<standard> Assume that the input sources are for <standard>\n"
+ msgstr " -std=<标准> 指定输入æºæ–‡ä»¶éµå¾ªçš„标准\n"
+
+-#: gcc.c:3246
++#: gcc.c:3240
+ msgid ""
+ " --sysroot=<directory> Use <directory> as the root directory for headers\n"
+ " and libraries\n"
+ msgstr " --sysroot=<目录> 将 <目录> 作为头文件和库文件的根目录\n"
+
+-#: gcc.c:3249
++#: gcc.c:3243
+ msgid " -B <directory> Add <directory> to the compiler's search paths\n"
+ msgstr " -B <目录> å°† <目录> 添加到编译器的æœç´¢è·¯å¾„中\n"
+
+-#: gcc.c:3250
++#: gcc.c:3244
+ msgid " -b <machine> Run gcc for target <machine>, if installed\n"
+ msgstr " -b <机器> 为 gcc 指定目标机器(如果有安装)\n"
+
+-#: gcc.c:3251
++#: gcc.c:3245
+ msgid " -V <version> Run gcc version number <version>, if installed\n"
+ msgstr " -V <版本> è¿è¡ŒæŒ‡å®šç‰ˆæœ¬çš„ gcc(如果有安装)\n"
+
+-#: gcc.c:3252
++#: gcc.c:3246
+ msgid " -v Display the programs invoked by the compiler\n"
+ msgstr " -v 显示编译器调用的程åº\n"
+
+-#: gcc.c:3253
++#: gcc.c:3247
+ msgid " -### Like -v but options quoted and commands not executed\n"
+ msgstr " -### 与 -v 类似,但选项被引å·æ‹¬ä½ï¼Œå¹¶ä¸”ä¸æ‰§è¡Œå‘½ä»¤\n"
+
+-#: gcc.c:3254
++#: gcc.c:3248
+ msgid " -E Preprocess only; do not compile, assemble or link\n"
+ msgstr " -E 仅作预处ç†ï¼Œä¸è¿›è¡Œç¼–译ã€æ±‡ç¼–和链接\n"
+
+-#: gcc.c:3255
++#: gcc.c:3249
+ msgid " -S Compile only; do not assemble or link\n"
+ msgstr " -S 编译到汇编语言,ä¸è¿›è¡Œæ±‡ç¼–和链接\n"
+
+-#: gcc.c:3256
++#: gcc.c:3250
+ msgid " -c Compile and assemble, but do not link\n"
+ msgstr " -c 编译ã€æ±‡ç¼–到目标代ç ï¼Œä¸è¿›è¡Œé“¾æŽ¥\n"
+
+-#: gcc.c:3257
++#: gcc.c:3251
+ msgid " -o <file> Place the output into <file>\n"
+ msgstr " -o <文件> 输出到 <文件>\n"
+
+-#: gcc.c:3258
++#: gcc.c:3252
+ msgid ""
+ " -x <language> Specify the language of the following input files\n"
+ " Permissible languages include: c c++ assembler none\n"
+@@ -1046,7 +1046,7 @@
+ " ‘none’æ„味ç€æ¢å¤é»˜è®¤è¡Œä¸ºï¼Œå³æ ¹æ®æ–‡ä»¶çš„扩展å猜测\n"
+ " æºæ–‡ä»¶çš„语言\n"
+
+-#: gcc.c:3265
++#: gcc.c:3259
+ #, c-format
+ msgid ""
+ "\n"
+@@ -1058,27 +1058,27 @@
+ "以 -gã€-fã€-mã€-Oã€-W 或 --param 开头的选项将由 %s 自动传递给其调用的\n"
+ " ä¸åŒå­è¿›ç¨‹ã€‚è‹¥è¦å‘这些进程传递其他选项,必须使用 -W<å­—æ¯> 选项。\n"
+
+-#: gcc.c:3389
++#: gcc.c:3383
+ #, c-format
+ msgid "'-%c' option must have argument"
+ msgstr "‘-%c’选项必须有一个å‚æ•°"
+
+-#: gcc.c:3411
++#: gcc.c:3405
+ #, c-format
+ msgid "couldn't run '%s': %s"
+ msgstr "无法è¿è¡Œâ€˜%s’:%s"
+
+ #. translate_options () has turned --version into -fversion.
+-#: gcc.c:3612
++#: gcc.c:3606
+ #, c-format
+ msgid "%s %s%s\n"
+ msgstr "%s %s%s\n"
+
+-#: gcc.c:3615 gcov.c:426 fortran/gfortranspec.c:380 java/jcf-dump.c:1168
++#: gcc.c:3609 gcov.c:427 fortran/gfortranspec.c:380 java/jcf-dump.c:1168
+ msgid "(C)"
+-msgstr "(C)"
++msgstr "©"
+
+-#: gcc.c:3616 java/jcf-dump.c:1169
++#: gcc.c:3610 java/jcf-dump.c:1169
+ #, c-format
+ msgid ""
+ "This is free software; see the source for copying conditions. There is NO\n"
+@@ -1088,160 +1088,160 @@
+ "本程åºæ˜¯è‡ªç”±è½¯ä»¶ï¼›è¯·å‚看æºä»£ç çš„版æƒå£°æ˜Žã€‚本软件没有任何担ä¿ï¼›\n"
+ "包括没有适销性和æŸä¸€ä¸“用目的下的适用性担ä¿ã€‚\n"
+
+-#: gcc.c:3728
++#: gcc.c:3722
+ #, c-format
+ msgid "argument to '-Xlinker' is missing"
+ msgstr "‘-Xlinker’缺少实å‚"
+
+-#: gcc.c:3736
++#: gcc.c:3730
+ #, c-format
+ msgid "argument to '-Xpreprocessor' is missing"
+ msgstr "‘-Xpreprocessor’缺少实å‚"
+
+-#: gcc.c:3743
++#: gcc.c:3737
+ #, c-format
+ msgid "argument to '-Xassembler' is missing"
+ msgstr "‘-Xassembler’缺少实å‚"
+
+-#: gcc.c:3750
++#: gcc.c:3744
+ #, c-format
+ msgid "argument to '-l' is missing"
+ msgstr "‘-l’缺少实å‚"
+
+-#: gcc.c:3771
++#: gcc.c:3765
+ #, c-format
+ msgid "argument to '-specs' is missing"
+ msgstr "‘-specs’缺少实å‚"
+
+-#: gcc.c:3785
++#: gcc.c:3779
+ #, c-format
+ msgid "argument to '-specs=' is missing"
+ msgstr "‘-Xlinker’缺少实å‚"
+
+-#: gcc.c:3826
++#: gcc.c:3820
+ #, c-format
+ msgid "'-%c' must come at the start of the command line"
+ msgstr "‘-%c’必须出现在命令行的开头"
+
+-#: gcc.c:3835
++#: gcc.c:3829
+ #, c-format
+ msgid "argument to '-B' is missing"
+ msgstr "‘-B’缺少实å‚"
+
+-#: gcc.c:4185
++#: gcc.c:4179
+ #, c-format
+ msgid "argument to '-x' is missing"
+ msgstr "‘-x’缺少实å‚"
+
+-#: gcc.c:4213
++#: gcc.c:4207
+ #, c-format
+ msgid "argument to '-%s' is missing"
+ msgstr "‘-%s’缺少实å‚"
+
+-#: gcc.c:4541
++#: gcc.c:4535
+ #, c-format
+ msgid "switch '%s' does not start with '-'"
+ msgstr "开关‘%s’未以‘-’开头"
+
+-#: gcc.c:4685
++#: gcc.c:4679
+ #, c-format
+ msgid "spec '%s' invalid"
+ msgstr "spec‘%s’无效"
+
+-#: gcc.c:4824
++#: gcc.c:4818
+ #, c-format
+ msgid "spec '%s' has invalid '%%0%c'"
+ msgstr "spec‘%s’有无效的‘%%0%c’"
+
+-#: gcc.c:5053
++#: gcc.c:5047
+ #, c-format
+ msgid "could not open temporary response file %s"
+ msgstr "无法打开临时å“应文件 %s"
+
+-#: gcc.c:5059
++#: gcc.c:5053
+ #, c-format
+ msgid "could not write to temporary response file %s"
+ msgstr "无法写入临时å“应文件 %s"
+
+-#: gcc.c:5065
++#: gcc.c:5059
+ #, c-format
+ msgid "could not close temporary response file %s"
+ msgstr "无法关闭临时å“应文件 %s"
+
+-#: gcc.c:5099
++#: gcc.c:5093
+ #, c-format
+ msgid "spec '%s' has invalid '%%W%c"
+ msgstr "spec‘%s’有无效的‘%%W%c’"
+
+-#: gcc.c:5119
++#: gcc.c:5113
+ #, c-format
+ msgid "spec '%s' has invalid '%%x%c'"
+ msgstr "spec‘%s’有无效的‘%%x%c’"
+
+-#: gcc.c:5341
++#: gcc.c:5335
+ #, c-format
+ msgid "Processing spec %c%s%c, which is '%s'\n"
+ msgstr "å¤„ç† spec %c%s%c,å³â€˜%s’\n"
+
+-#: gcc.c:5465
++#: gcc.c:5459
+ #, c-format
+ msgid "unknown spec function '%s'"
+ msgstr "未知的 spec 函数‘%s’"
+
+-#: gcc.c:5484
++#: gcc.c:5478
+ #, c-format
+ msgid "error in args to spec function '%s'"
+ msgstr "ç»™ spec 函数‘%s’的å‚数有错"
+
+-#: gcc.c:5532
++#: gcc.c:5526
+ #, c-format
+ msgid "malformed spec function name"
+ msgstr "spec 函数åæ ¼å¼é”™è¯¯"
+
+ #. )
+-#: gcc.c:5535
++#: gcc.c:5529
+ #, c-format
+ msgid "no arguments for spec function"
+ msgstr "spec 函数没有实å‚"
+
+-#: gcc.c:5554
++#: gcc.c:5548
+ #, c-format
+ msgid "malformed spec function arguments"
+ msgstr "spec 函数实å‚æ ¼å¼é”™è¯¯"
+
+-#: gcc.c:5800
++#: gcc.c:5794
+ #, c-format
+ msgid "braced spec '%s' is invalid at '%c'"
+ msgstr "花括å·ä¸­çš„ spec‘%s’在‘%c’中无效"
+
+-#: gcc.c:5888
++#: gcc.c:5882
+ #, c-format
+ msgid "braced spec body '%s' is invalid"
+ msgstr "花括å·ä¸­çš„ spec 体‘%s’无效"
+
+-#: gcc.c:6421
++#: gcc.c:6420
+ #, c-format
+ msgid "install: %s%s\n"
+ msgstr "安装:%s%s\n"
+
+-#: gcc.c:6424
++#: gcc.c:6423
+ #, c-format
+ msgid "programs: %s\n"
+ msgstr "程åºï¼š%s\n"
+
+-#: gcc.c:6426
++#: gcc.c:6425
+ #, c-format
+ msgid "libraries: %s\n"
+ msgstr "库:%s\n"
+
+ #. The error status indicates that only one set of fixed
+ #. headers should be built.
+-#: gcc.c:6480
++#: gcc.c:6479
+ #, c-format
+ msgid "not configured with sysroot headers suffix"
+ msgstr "没有é…ç½® sysroot 头文件åŽç¼€"
+
+-#: gcc.c:6489
++#: gcc.c:6488
+ #, c-format
+ msgid ""
+ "\n"
+@@ -1250,47 +1250,47 @@
+ "\n"
+ "报告程åºç¼ºé™·çš„步骤请å‚è§ï¼š\n"
+
+-#: gcc.c:6505
++#: gcc.c:6504
+ #, c-format
+ msgid "Target: %s\n"
+ msgstr "目标:%s\n"
+
+-#: gcc.c:6506
++#: gcc.c:6505
+ #, c-format
+ msgid "Configured with: %s\n"
+ msgstr "é…置为:%s\n"
+
+-#: gcc.c:6520
++#: gcc.c:6519
+ #, c-format
+ msgid "Thread model: %s\n"
+ msgstr "线程模型:%s\n"
+
+-#: gcc.c:6531
++#: gcc.c:6530
+ #, c-format
+ msgid "gcc version %s %s\n"
+ msgstr "gcc 版本 %s %s\n"
+
+-#: gcc.c:6533
++#: gcc.c:6532
+ #, c-format
+ msgid "gcc driver version %s %sexecuting gcc version %s\n"
+ msgstr "版本为 %s %sçš„ gcc 驱动程åºï¼Œæ‰§è¡Œç‰ˆæœ¬ä¸º %s çš„ gcc\n"
+
+-#: gcc.c:6541
++#: gcc.c:6540
+ #, c-format
+ msgid "no input files"
+ msgstr "没有输入文件"
+
+-#: gcc.c:6590
++#: gcc.c:6589
+ #, c-format
+ msgid "cannot specify -o with -c or -S with multiple files"
+ msgstr "当有多个文件时ä¸èƒ½åœ¨å·²æŒ‡å®š -c 或 -S 的情况下指定 -o"
+
+-#: gcc.c:6624
++#: gcc.c:6623
+ #, c-format
+ msgid "spec '%s' is invalid"
+ msgstr "spec‘%s’是无效的"
+
+-#: gcc.c:6760
++#: gcc.c:6759
+ #, c-format
+ msgid ""
+ "\n"
+@@ -1303,7 +1303,7 @@
+ "==============\n"
+ "\n"
+
+-#: gcc.c:6761
++#: gcc.c:6760
+ #, c-format
+ msgid ""
+ "Use \"-Wl,OPTION\" to pass \"OPTION\" to the linker.\n"
+@@ -1312,52 +1312,52 @@
+ "使用“-Wl,选项â€å°†â€œé€‰é¡¹â€ä¼ é€’给链接器。\n"
+ "\n"
+
+-#: gcc.c:7112
++#: gcc.c:7111
+ #, c-format
+ msgid "multilib spec '%s' is invalid"
+ msgstr "multilib spec‘%s’无效"
+
+-#: gcc.c:7303
++#: gcc.c:7302
+ #, c-format
+ msgid "multilib exclusions '%s' is invalid"
+ msgstr "multilib 排除‘%s’无效"
+
+-#: gcc.c:7361 gcc.c:7502
++#: gcc.c:7360 gcc.c:7501
+ #, c-format
+ msgid "multilib select '%s' is invalid"
+ msgstr "multilib 选择‘%s’无效"
+
+-#: gcc.c:7540
++#: gcc.c:7539
+ #, c-format
+ msgid "multilib exclusion '%s' is invalid"
+ msgstr "multilib 排除‘%s’无效"
+
+-#: gcc.c:7746
++#: gcc.c:7745
+ #, c-format
+ msgid "environment variable \"%s\" not defined"
+ msgstr "没有定义“%sâ€çŽ¯å¢ƒå˜é‡"
+
+-#: gcc.c:7837 gcc.c:7842
++#: gcc.c:7836 gcc.c:7841
+ #, c-format
+ msgid "invalid version number `%s'"
+ msgstr "无效的版本å·â€˜%s’"
+
+-#: gcc.c:7885
++#: gcc.c:7884
+ #, c-format
+ msgid "too few arguments to %%:version-compare"
+ msgstr "%%:version-compare 的实å‚太少"
+
+-#: gcc.c:7891
++#: gcc.c:7890
+ #, c-format
+ msgid "too many arguments to %%:version-compare"
+ msgstr "%%:version-compare 的实å‚太多"
+
+-#: gcc.c:7932
++#: gcc.c:7931
+ #, c-format
+ msgid "unknown operator '%s' in %%:version-compare"
+ msgstr "%%:version-compare 中有未知的è¿ç®—符‘%s’"
+
+-#: gcc.c:7966
++#: gcc.c:7965
+ #, c-format
+ msgid ""
+ "Assembler options\n"
+@@ -1368,7 +1368,7 @@
+ "=================\n"
+ "\n"
+
+-#: gcc.c:7967
++#: gcc.c:7966
+ #, c-format
+ msgid ""
+ "Use \"-Wa,OPTION\" to pass \"OPTION\" to the assembler.\n"
+@@ -1377,7 +1377,7 @@
+ "使用“-Wa,选项â€å°†â€œé€‰é¡¹â€ä¼ é€’给汇编器。\n"
+ "\n"
+
+-#: gcov.c:399
++#: gcov.c:400
+ #, c-format
+ msgid ""
+ "Usage: gcov [OPTION]... SOURCEFILE...\n"
+@@ -1386,7 +1386,7 @@
+ "用法:gconv [选项]... æºæ–‡ä»¶...\n"
+ "\n"
+
+-#: gcov.c:400
++#: gcov.c:401
+ #, c-format
+ msgid ""
+ "Print code coverage information.\n"
+@@ -1395,66 +1395,66 @@
+ "显示代ç è¦†ç›–ä¿¡æ¯ã€‚\n"
+ "\n"
+
+-#: gcov.c:401
++#: gcov.c:402
+ #, c-format
+ msgid " -h, --help Print this help, then exit\n"
+ msgstr " -h, --help 打å°æ­¤å¸®åŠ©å¹¶é€€å‡º\n"
+
+-#: gcov.c:402
++#: gcov.c:403
+ #, c-format
+ msgid " -v, --version Print version number, then exit\n"
+ msgstr " -v, --version 打å°ç‰ˆæœ¬å·å¹¶é€€å‡º\n"
+
+-#: gcov.c:403
++#: gcov.c:404
+ #, c-format
+ msgid " -a, --all-blocks Show information for every basic block\n"
+ msgstr " -a, --all-blocks 显示æ¯ä¸ªåŸºæœ¬å—çš„ä¿¡æ¯\n"
+
+-#: gcov.c:404
++#: gcov.c:405
+ #, c-format
+ msgid " -b, --branch-probabilities Include branch probabilities in output\n"
+ msgstr " -b, --branch-probabilities 输出包å«åˆ†æ”¯æ¦‚率\n"
+
+-#: gcov.c:405
++#: gcov.c:406
+ #, c-format
+ msgid ""
+ " -c, --branch-counts Given counts of branches taken\n"
+ " rather than percentages\n"
+ msgstr " -c, --branch-counts 给出跳转的分支数,而ä¸æ˜¯ç™¾åˆ†æ¯”\n"
+
+-#: gcov.c:407
++#: gcov.c:408
+ #, c-format
+ msgid " -n, --no-output Do not create an output file\n"
+ msgstr " -n, --no-output ä¸åˆ›å»ºè¾“出文件\n"
+
+-#: gcov.c:408
++#: gcov.c:409
+ #, c-format
+ msgid ""
+ " -l, --long-file-names Use long output file names for included\n"
+ " source files\n"
+ msgstr " -l, --long-file-names 为包å«è¿›æ¥çš„æºæ–‡ä»¶ä½¿ç”¨é•¿è¾“出文件å\n"
+
+-#: gcov.c:410
++#: gcov.c:411
+ #, c-format
+ msgid " -f, --function-summaries Output summaries for each function\n"
+ msgstr " -f, --function-summaries 输出æ¯ä¸ªå‡½æ•°çš„å°ç»“ä¿¡æ¯\n"
+
+-#: gcov.c:411
++#: gcov.c:412
+ #, 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"
+
+-#: gcov.c:412
++#: gcov.c:413
+ #, c-format
+ msgid " -p, --preserve-paths Preserve all pathname components\n"
+ msgstr " -p, --preserve-paths ä¿ç•™æ‰€æœ‰è·¯å¾„å\n"
+
+-#: gcov.c:413
++#: gcov.c:414
+ #, c-format
+ msgid " -u, --unconditional-branches Show unconditional branch counts too\n"
+ msgstr " -u, --unconditional-branches åŒæ—¶æ˜¾ç¤ºæ— æ¡ä»¶è·³è½¬æ•°\n"
+
+-#: gcov.c:414
++#: gcov.c:415
+ #, c-format
+ msgid ""
+ "\n"
+@@ -1465,12 +1465,12 @@
+ "æ交错误报告的具体步骤请å‚è§ï¼š\n"
+ "%s。\n"
+
+-#: gcov.c:424
++#: gcov.c:425
+ #, c-format
+ msgid "gcov %s%s\n"
+ msgstr "gcov %s%s\n"
+
+-#: gcov.c:428
++#: gcov.c:429
+ #, c-format
+ msgid ""
+ "This is free software; see the source for copying conditions.\n"
+@@ -1481,206 +1481,206 @@
+ "本程åºæ˜¯è‡ªç”±è½¯ä»¶ï¼›è¯·å‚看æºä»£ç çš„版æƒå£°æ˜Žã€‚本软件没有任何担ä¿ï¼›\n"
+ "包括没有适销性和æŸä¸€ä¸“用目的下的适用性担ä¿ã€‚\n"
+
+-#: gcov.c:524
++#: gcov.c:525
+ #, c-format
+ msgid "%s:no functions found\n"
+ msgstr "%s:找ä¸åˆ°å‡½æ•°\n"
+
+-#: gcov.c:556 gcov.c:584 fortran/dump-parse-tree.c:63
++#: gcov.c:557 gcov.c:585 fortran/dump-parse-tree.c:63
+ #, c-format
+ msgid "\n"
+ msgstr "\n"
+
+-#: gcov.c:571
++#: gcov.c:572
+ #, c-format
+ msgid "%s:creating '%s'\n"
+ msgstr "%s:正在创建‘%s’\n"
+
+-#: gcov.c:575
++#: gcov.c:576
+ #, c-format
+ msgid "%s:error writing output file '%s'\n"
+ msgstr "%s:写入输出文件‘%s’时出错\n"
+
+-#: gcov.c:580
++#: gcov.c:581
+ #, c-format
+ msgid "%s:could not open output file '%s'\n"
+ msgstr "%s:ä¸èƒ½æ‰“开输出文件‘%s’\n"
+
+-#: gcov.c:729
++#: gcov.c:730
+ #, c-format
+ msgid "%s:source file is newer than graph file '%s'\n"
+ msgstr "%s:æºæ–‡ä»¶è¾ƒå›¾æ–‡ä»¶â€˜%s’新\n"
+
+-#: gcov.c:734
++#: gcov.c:735
+ #, c-format
+ msgid "(the message is only displayed one per source file)\n"
+ msgstr "(æ¯ä¸ªæºæ–‡ä»¶åªæ˜¾ç¤ºä¸€æ¡ä¿¡æ¯)\n"
+
+-#: gcov.c:758
++#: gcov.c:759
+ #, c-format
+ msgid "%s:cannot open graph file\n"
+ msgstr "%s:无法打开图文件\n"
+
+-#: gcov.c:764
++#: gcov.c:765
+ #, c-format
+ msgid "%s:not a gcov graph file\n"
+ msgstr "%s:ä¸æ˜¯ä¸€ä¸ª gcov 图文件\n"
+
+-#: gcov.c:777
++#: gcov.c:778
+ #, c-format
+ msgid "%s:version '%.4s', prefer '%.4s'\n"
+ msgstr "%s:版本‘%.4s’,首选‘%.4s’\n"
+
+-#: gcov.c:829
++#: gcov.c:830
+ #, c-format
+ msgid "%s:already seen blocks for '%s'\n"
+ msgstr "%s:已ç»é‡è¿‡â€˜%s’的å—\n"
+
+-#: gcov.c:947
++#: gcov.c:948
+ #, c-format
+ msgid "%s:corrupted\n"
+ msgstr "%s:已æŸå\n"
+
+-#: gcov.c:1023
++#: gcov.c:1024
+ #, c-format
+ msgid "%s:cannot open data file, assuming not executed\n"
+ msgstr "%s:无法打开数æ®æ–‡ä»¶ï¼Œå‡å®šæœªè¢«æ‰§è¡Œè¿‡\n"
+
+-#: gcov.c:1030
++#: gcov.c:1031
+ #, c-format
+ msgid "%s:not a gcov data file\n"
+ msgstr "%s:ä¸æ˜¯ä¸€ä¸ª gcov æ•°æ®æ–‡ä»¶\n"
+
+-#: gcov.c:1043
++#: gcov.c:1044
+ #, c-format
+ msgid "%s:version '%.4s', prefer version '%.4s'\n"
+ msgstr "%s:版本‘%.4s’,首选版本‘%.4s’\n"
+
+-#: gcov.c:1049
++#: gcov.c:1050
+ #, c-format
+ msgid "%s:stamp mismatch with graph file\n"
+ msgstr "%s:时间戳与图文件ä¸åŒ¹é…\n"
+
+-#: gcov.c:1078
++#: gcov.c:1079
+ #, c-format
+ msgid "%s:unknown function '%u'\n"
+ msgstr "%s:未知函数‘%u’\n"
+
+-#: gcov.c:1091
++#: gcov.c:1092
+ #, c-format
+ msgid "%s:profile mismatch for '%s'\n"
+ msgstr "%s:样本文件与‘%s’ä¸åŒ¹é…\n"
+
+-#: gcov.c:1110
++#: gcov.c:1111
+ #, c-format
+ msgid "%s:overflowed\n"
+ msgstr "%s:溢出\n"
+
+-#: gcov.c:1134
++#: gcov.c:1135
+ #, c-format
+ msgid "%s:'%s' lacks entry and/or exit blocks\n"
+ msgstr "%s:‘%s’缺少入å£/出å£å—\n"
+
+-#: gcov.c:1139
++#: gcov.c:1140
+ #, c-format
+ msgid "%s:'%s' has arcs to entry block\n"
+ msgstr "%s:‘%s’有去往入å£å—的弧\n"
+
+-#: gcov.c:1147
++#: gcov.c:1148
+ #, c-format
+ msgid "%s:'%s' has arcs from exit block\n"
+ msgstr "%s:‘%s’有æ¥è‡ªå‡ºå£å—的弧\n"
+
+-#: gcov.c:1355
++#: gcov.c:1356
+ #, c-format
+ msgid "%s:graph is unsolvable for '%s'\n"
+ msgstr "%s:图为‘%s’ä¸å¯è§£\n"
+
+-#: gcov.c:1435
++#: gcov.c:1436
+ #, c-format
+ msgid "%s '%s'\n"
+ msgstr "%s‘%s’\n"
+
+-#: gcov.c:1438
++#: gcov.c:1439
+ #, c-format
+ msgid "Lines executed:%s of %d\n"
+ msgstr "已执行的行数:%s (共 %d 行)\n"
+
+-#: gcov.c:1442
++#: gcov.c:1443
+ #, c-format
+ msgid "No executable lines\n"
+ msgstr "没有å¯æ‰§è¡Œè¡Œ\n"
+
+-#: gcov.c:1448
++#: gcov.c:1449
+ #, c-format
+ msgid "Branches executed:%s of %d\n"
+ msgstr "执行的分支:%s (共有 %d 个)\n"
+
+-#: gcov.c:1452
++#: gcov.c:1453
+ #, c-format
+ msgid "Taken at least once:%s of %d\n"
+ msgstr "至少执行一次的跳转:%s(总数为 %d)\n"
+
+-#: gcov.c:1458
++#: gcov.c:1459
+ #, c-format
+ msgid "No branches\n"
+ msgstr "没有跳转\n"
+
+-#: gcov.c:1460
++#: gcov.c:1461
+ #, c-format
+ msgid "Calls executed:%s of %d\n"
+-msgstr "执行的调用:%s(共 %d)\n"
++msgstr "执行的调用:%s (共 %d)\n"
+
+-#: gcov.c:1464
++#: gcov.c:1465
+ #, c-format
+ msgid "No calls\n"
+ msgstr "没有调用\n"
+
+-#: gcov.c:1611
++#: gcov.c:1612
+ #, c-format
+ msgid "%s:no lines for '%s'\n"
+ msgstr "%s:‘%s’没有行\n"
+
+-#: gcov.c:1806
++#: gcov.c:1807
+ #, c-format
+ msgid "call %2d returned %s\n"
+ msgstr "call %2d 返回了 %s\n"
+
+-#: gcov.c:1811
++#: gcov.c:1812
+ #, c-format
+ msgid "call %2d never executed\n"
+ msgstr "call %2d 从未被执行\n"
+
+-#: gcov.c:1816
++#: gcov.c:1817
+ #, c-format
+ msgid "branch %2d taken %s%s\n"
+ msgstr "branch %2d 被执行 %s%s\n"
+
+-#: gcov.c:1820
++#: gcov.c:1821
+ #, c-format
+ msgid "branch %2d never executed\n"
+ msgstr "branch %2d 从未被执行\n"
+
+-#: gcov.c:1825
++#: gcov.c:1826
+ #, c-format
+ msgid "unconditional %2d taken %s\n"
+ msgstr "unconditional %2d 被执行 %s\n"
+
+-#: gcov.c:1828
++#: gcov.c:1829
+ #, c-format
+ msgid "unconditional %2d never executed\n"
+ msgstr "æ— æ¡ä»¶ %2d 从未执行\n"
+
+-#: gcov.c:1864
++#: gcov.c:1865
+ #, c-format
+ msgid "%s:cannot open source file\n"
+ msgstr "%s:无法打开æºæ–‡ä»¶\n"
+
+-#: gcse.c:685
++#: gcse.c:679
+ msgid "GCSE disabled"
+ msgstr "GCSE 被ç¦ç”¨"
+
+-#: gcse.c:6600
++#: gcse.c:6584
+ msgid "jump bypassing disabled"
+ msgstr "跳转æ—路被ç¦ç”¨"
+
+@@ -1763,82 +1763,82 @@
+ msgid " inlined from %qs"
+ msgstr " 内è”自%qs"
+
+-#: loop-iv.c:2805 tree-ssa-loop-niter.c:1818
++#: loop-iv.c:2806 tree-ssa-loop-niter.c:1818
+ msgid "assuming that the loop is not infinite"
+ msgstr "å‡å®šå¾ªçŽ¯æœ‰ç©·"
+
+-#: loop-iv.c:2806 tree-ssa-loop-niter.c:1819
++#: loop-iv.c:2807 tree-ssa-loop-niter.c:1819
+ msgid "cannot optimize possibly infinite loops"
+ msgstr "无法优化å¯èƒ½æ— ç©·çš„循环"
+
+-#: loop-iv.c:2814 tree-ssa-loop-niter.c:1823
++#: loop-iv.c:2815 tree-ssa-loop-niter.c:1823
+ msgid "assuming that the loop counter does not overflow"
+ msgstr "å‡å®šå¾ªçŽ¯è®¡æ•°ä¸ä¼šæº¢å‡º"
+
+-#: loop-iv.c:2815 tree-ssa-loop-niter.c:1824
++#: loop-iv.c:2816 tree-ssa-loop-niter.c:1824
+ msgid "cannot optimize loop, the loop counter may overflow"
+ msgstr "无法优化循环,循环å˜é‡å¯èƒ½æº¢å‡º"
+
+ #. What to print when a switch has no documentation.
+-#: opts.c:348
++#: opts.c:340
+ msgid "This switch lacks documentation"
+ msgstr "此开关缺少å¯ç”¨æ–‡æ¡£"
+
+-#: opts.c:1159
++#: opts.c:1161
+ msgid "[enabled]"
+ msgstr "[å¯ç”¨]"
+
+-#: opts.c:1159
++#: opts.c:1161
+ msgid "[disabled]"
+ msgstr "[ç¦ç”¨]"
+
+-#: opts.c:1170
++#: opts.c:1172
+ #, c-format
+ msgid " No options with the desired characteristics were found\n"
+ msgstr " 找ä¸åˆ°å…·æœ‰æŒ‡å®šç‰¹æ€§çš„选项\n"
+
+-#: opts.c:1172
++#: opts.c:1174
+ #, c-format
+ msgid " All options with the desired characteristics have already been displayed\n"
+ msgstr " 所有具有指定特性的选项已被显示\n"
+
+-#: opts.c:1226
++#: opts.c:1228
+ msgid "The following options are target specific"
+ msgstr "下列选项与特定目标机相关"
+
+-#: opts.c:1229
++#: opts.c:1231
+ msgid "The following options control compiler warning messages"
+ msgstr "下列选项控制编译器警告信æ¯"
+
+-#: opts.c:1232
++#: opts.c:1234
+ msgid "The following options control optimizations"
+ msgstr "下列选项控制优化"
+
+-#: opts.c:1235 opts.c:1273
++#: opts.c:1237 opts.c:1275
+ msgid "The following options are language-independent"
+ msgstr "下列选项与具体语言无关"
+
+-#: opts.c:1238
++#: opts.c:1240
+ msgid "The --param option recognizes the following as parameters"
+ msgstr "--param 选项å¯æŽ¥å—以下å‚æ•°"
+
+-#: opts.c:1245
++#: opts.c:1247
+ msgid "The following options are specific to the language "
+ msgstr "下列选项与特定语言相关"
+
+-#: opts.c:1249
++#: opts.c:1251
+ msgid "The following options are supported by the language "
+ msgstr "下列选项被语言支æŒ"
+
+-#: opts.c:1260
++#: opts.c:1262
+ msgid "The following options are not documented"
+ msgstr "下列选项未列入文档"
+
+-#: opts.c:1271
++#: opts.c:1273
+ msgid "The following options are language-related"
+ msgstr "下列选项与语言相关"
+
+-#: opts.c:1403
++#: opts.c:1405
+ #, c-format
+ msgid "warning: unrecognized argument to --help= switch: %.*s\n"
+ msgstr "警告:--help= 开关ä¸å¯è¯†åˆ«çš„å‚æ•° %.*s\n"
+@@ -1998,7 +1998,7 @@
+ #: protoize.c:2525
+ #, c-format
+ msgid "%s: warning: no static definition for '%s' in file '%s'\n"
+-msgstr "%s:警告:没有‘%s’的é™æ€å®šä¹‰ï¼Œåœ¨æ–‡ä»¶â€˜%s’中\n"
++msgstr "%1$s:警告:文件‘%3$s’中没有‘%2$s’的é™æ€å®šä¹‰\n"
+
+ #: protoize.c:2531
+ #, c-format
+@@ -2154,7 +2154,7 @@
+ msgid "%s: input file names must have .c suffixes: %s\n"
+ msgstr "%s:输入文件å必须有 .c åŽç¼€ï¼š%s\n"
+
+-#: reload.c:3734
++#: reload.c:3744
+ msgid "unable to generate reloads for:"
+ msgstr "无法生æˆé‡æ–°è½½å…¥ï¼Œä¸ºï¼š"
+
+@@ -2258,40 +2258,40 @@
+
+ #: toplev.c:1188
+ #, c-format
+-msgid "warning: %s header version %s differs from library version %s.\n"
+-msgstr "警告:%s 头文件版本 %s 与库版本 %s ä¸åŒã€‚\n"
++msgid "%s%swarning: %s header version %s differs from library version %s.\n"
++msgstr "%s%s警告:%s 头文件版本 %s 与库版本 %s ä¸åŒã€‚\n"
+
+ #: toplev.c:1190
+ #, c-format
+ msgid "%s%sGGC heuristics: --param ggc-min-expand=%d --param ggc-min-heapsize=%d\n"
+ msgstr "%s%sGGC 准则:--param ggc-min-expand=%d --param ggc-min-heapsize=%d\n"
+
+-#: toplev.c:1340
++#: toplev.c:1342
+ msgid "options passed: "
+ msgstr "传递的选项:"
+
+-#: toplev.c:1374
++#: toplev.c:1376
+ msgid "options enabled: "
+ msgstr "å¯ç”¨çš„选项:"
+
+-#: toplev.c:1509
++#: toplev.c:1511
+ #, c-format
+ msgid "created and used with differing settings of '%s'"
+ msgstr "创建和使用时使用了ä¸åŒçš„‘%s’设定"
+
+-#: toplev.c:1511
++#: toplev.c:1513
+ msgid "out of memory"
+ msgstr "内存ä¸è¶³"
+
+-#: toplev.c:1526
++#: toplev.c:1528
+ msgid "created and used with different settings of -fpic"
+ msgstr "创建和使用时使用了ä¸åŒçš„ -fpic 设定"
+
+-#: toplev.c:1528
++#: toplev.c:1530
+ msgid "created and used with different settings of -fpie"
+ msgstr "创建和使用时使用了ä¸åŒçš„ -fpie 设定"
+
+-#: tree-inline.c:2571
++#: tree-inline.c:2657
+ msgid "originally indirect function call not considered for inlining"
+ msgstr "原本间接的函数调用ä¸è¢«è€ƒè™‘内è”"
+
+@@ -2349,7 +2349,7 @@
+ msgstr "实例化的字段和结构总大å°ä¹‹æ¯”的阈值"
+
+ #: params.def:93
+-msgid "The threshold ratio between current and hotest structure counts"
++msgid "The threshold ratio between current and hottest structure counts"
+ msgstr "当å‰å’Œæœ€é¢‘ç¹çš„结构计数比例阈值"
+
+ #: params.def:110
+@@ -2669,9 +2669,8 @@
+ msgstr "å—间投机调度时到达一个æºå—的最å°æ¦‚率"
+
+ #: params.def:575
+-#, fuzzy
+ msgid "The maximum number of iterations through CFG to extend regions"
+-msgstr "å•ä¸ªå¾ªçŽ¯ä¸­è€ƒè™‘展开的最大指令数"
++msgstr "通过 CFG 以扩展区域的最大循环次数"
+
+ #: params.def:580
+ #, fuzzy
+@@ -2744,114 +2743,122 @@
+ msgid "Maximum length of partial antic set when performing tree pre optimization"
+ msgstr ""
+
+-#: config/alpha/alpha.c:5015
++#: params.def:723
++msgid "Maximum size of a SCC before SCCVN stops processing a function"
++msgstr ""
++
++#: params.def:729
++msgid "Multiplier used for determining the double-queueing threshold"
++msgstr ""
++
++#: config/alpha/alpha.c:5023
+ #, c-format
+ msgid "invalid %%H value"
+ msgstr "无效 %%H 值"
+
+-#: config/alpha/alpha.c:5036 config/bfin/bfin.c:1423
++#: config/alpha/alpha.c:5044 config/bfin/bfin.c:1516
+ #, c-format
+ msgid "invalid %%J value"
+ msgstr "无效 %%J 值"
+
+-#: config/alpha/alpha.c:5066 config/ia64/ia64.c:4718
++#: config/alpha/alpha.c:5074 config/ia64/ia64.c:4719
+ #, c-format
+ msgid "invalid %%r value"
+ msgstr "无效 %%r 值"
+
+-#: config/alpha/alpha.c:5076 config/ia64/ia64.c:4672
+-#: config/rs6000/rs6000.c:11670 config/xtensa/xtensa.c:2036
++#: config/alpha/alpha.c:5084 config/ia64/ia64.c:4673
++#: config/rs6000/rs6000.c:11881 config/xtensa/xtensa.c:2042
+ #, c-format
+ msgid "invalid %%R value"
+ msgstr "无效 %%R 值"
+
+-#: config/alpha/alpha.c:5082 config/rs6000/rs6000.c:11589
+-#: config/xtensa/xtensa.c:2003
++#: config/alpha/alpha.c:5090 config/rs6000/rs6000.c:11800
++#: config/xtensa/xtensa.c:2009
+ #, c-format
+ msgid "invalid %%N value"
+ msgstr "无效 %%N 值"
+
+-#: config/alpha/alpha.c:5090 config/rs6000/rs6000.c:11617
++#: config/alpha/alpha.c:5098 config/rs6000/rs6000.c:11828
+ #, c-format
+ msgid "invalid %%P value"
+ msgstr "无效 %%P 值"
+
+-#: config/alpha/alpha.c:5098
++#: config/alpha/alpha.c:5106
+ #, c-format
+ msgid "invalid %%h value"
+ msgstr "无效 %%h 值"
+
+-#: config/alpha/alpha.c:5106 config/xtensa/xtensa.c:2029
++#: config/alpha/alpha.c:5114 config/xtensa/xtensa.c:2035
+ #, c-format
+ msgid "invalid %%L value"
+ msgstr "无效 %%L 值"
+
+-#: config/alpha/alpha.c:5145 config/rs6000/rs6000.c:11571
++#: config/alpha/alpha.c:5153 config/rs6000/rs6000.c:11782
+ #, c-format
+ msgid "invalid %%m value"
+ msgstr "无效 %%m 值"
+
+-#: config/alpha/alpha.c:5153 config/rs6000/rs6000.c:11579
++#: config/alpha/alpha.c:5161 config/rs6000/rs6000.c:11790
+ #, c-format
+ msgid "invalid %%M value"
+ msgstr "无效 %%M 值"
+
+-#: config/alpha/alpha.c:5197
++#: config/alpha/alpha.c:5205
+ #, c-format
+ msgid "invalid %%U value"
+ msgstr "无效 %%U 值"
+
+-#: config/alpha/alpha.c:5209 config/alpha/alpha.c:5223
+-#: config/rs6000/rs6000.c:11678
++#: config/alpha/alpha.c:5217 config/alpha/alpha.c:5231
++#: config/rs6000/rs6000.c:11889
+ #, c-format
+ msgid "invalid %%s value"
+ msgstr "无效 %%s 值"
+
+-#: config/alpha/alpha.c:5246
++#: config/alpha/alpha.c:5254
+ #, c-format
+ msgid "invalid %%C value"
+ msgstr "无效 %%C 值"
+
+-#: config/alpha/alpha.c:5283 config/rs6000/rs6000.c:11406
+-#: config/rs6000/rs6000.c:11425
++#: config/alpha/alpha.c:5291 config/rs6000/rs6000.c:11617
++#: config/rs6000/rs6000.c:11636
+ #, c-format
+ msgid "invalid %%E value"
+ msgstr "无效 %%E 值"
+
+-#: config/alpha/alpha.c:5308 config/alpha/alpha.c:5356
++#: config/alpha/alpha.c:5316 config/alpha/alpha.c:5364
+ #, c-format
+ msgid "unknown relocation unspec"
+ msgstr "未指定未知的é‡å®šä½æ–¹å¼"
+
+-#: config/alpha/alpha.c:5317 config/crx/crx.c:1081
+-#: config/rs6000/rs6000.c:12005 config/spu/spu.c:1492
++#: config/alpha/alpha.c:5325 config/crx/crx.c:1081
++#: config/rs6000/rs6000.c:12216 config/spu/spu.c:1482
+ #, c-format
+ msgid "invalid %%xn code"
+ msgstr "无效的 %%xn 代ç "
+
+-#: config/arc/arc.c:1724 config/m32r/m32r.c:1805
++#: config/arc/arc.c:1728 config/m32r/m32r.c:1805
+ #, c-format
+ msgid "invalid operand to %%R code"
+ msgstr "%%R 代ç çš„æ“作数无效"
+
+-#: config/arc/arc.c:1756 config/m32r/m32r.c:1828
++#: config/arc/arc.c:1760 config/m32r/m32r.c:1828
+ #, c-format
+ msgid "invalid operand to %%H/%%L code"
+ msgstr "%%H/%%L 代ç çš„æ“作数无效"
+
+-#: config/arc/arc.c:1778 config/m32r/m32r.c:1899
++#: config/arc/arc.c:1782 config/m32r/m32r.c:1899
+ #, c-format
+ msgid "invalid operand to %%U code"
+ msgstr "%%U 代ç çš„æ“作数无效"
+
+-#: config/arc/arc.c:1789
++#: config/arc/arc.c:1793
+ #, c-format
+ msgid "invalid operand to %%V code"
+ msgstr "%%V 代ç çš„æ“作数无效"
+
+ #. Unknown flag.
+ #. Undocumented flag.
+-#: config/arc/arc.c:1796 config/m32r/m32r.c:1926 config/sparc/sparc.c:6995
++#: config/arc/arc.c:1800 config/m32r/m32r.c:1926 config/sparc/sparc.c:6998
+ #, c-format
+ msgid "invalid operand output code"
+ msgstr "无效的æ“作数输出代ç "
+@@ -2876,9 +2883,9 @@
+ #: config/arm/arm.c:12830 config/arm/arm.c:12865 config/arm/arm.c:12884
+ #: config/arm/arm.c:12899 config/arm/arm.c:12927 config/arm/arm.c:12934
+ #: config/arm/arm.c:12942 config/arm/arm.c:12963 config/arm/arm.c:12970
+-#: config/bfin/bfin.c:1436 config/bfin/bfin.c:1443 config/bfin/bfin.c:1450
+-#: config/bfin/bfin.c:1457 config/bfin/bfin.c:1466 config/bfin/bfin.c:1473
+-#: config/bfin/bfin.c:1480 config/bfin/bfin.c:1487
++#: config/bfin/bfin.c:1529 config/bfin/bfin.c:1536 config/bfin/bfin.c:1543
++#: config/bfin/bfin.c:1550 config/bfin/bfin.c:1559 config/bfin/bfin.c:1566
++#: config/bfin/bfin.c:1573 config/bfin/bfin.c:1580
+ #, c-format
+ msgid "invalid operand for code '%c'"
+ msgstr "代ç â€˜%c’的æ“作数无效"
+@@ -2893,240 +2900,159 @@
+ msgid "missing operand"
+ msgstr "缺少æ“作数"
+
+-#: config/avr/avr.c:1022
++#: config/avr/avr.c:1062
+ #, c-format
+ msgid "address operand requires constraint for X, Y, or Z register"
+ msgstr "地å€æ“ä½œæ•°éœ€è¦ Xã€Y 或 Z 寄存器约æŸ"
+
+-#: config/avr/avr.c:1129
++#: config/avr/avr.c:1169
+ msgid "bad address, not (reg+disp):"
+ msgstr "地å€é”™è¯¯ï¼Œä¸æ˜¯(reg+disp):"
+
+-#: config/avr/avr.c:1136
++#: config/avr/avr.c:1176
+ msgid "bad address, not post_inc or pre_dec:"
+-msgstr "错误的地å€ï¼Œä¸æ˜¯ post_inc 或 pre_dec:"
++msgstr "错误的地å€ï¼Œä¸æ˜¯ post_inc 或 pre_dec:"
+
+-#: config/avr/avr.c:1147
++#: config/avr/avr.c:1187
+ msgid "internal compiler error. Bad address:"
+ msgstr "编译器内部错误。错误的地å€ï¼š"
+
+-#: config/avr/avr.c:1160
++#: config/avr/avr.c:1200
+ msgid "internal compiler error. Unknown mode:"
+ msgstr "编译器内部错误。未知的模å¼ï¼š"
+
+-#: config/avr/avr.c:1775 config/avr/avr.c:2463
++#: config/avr/avr.c:1815 config/avr/avr.c:2503
+ msgid "invalid insn:"
+ msgstr "无效指令:"
+
+-#: config/avr/avr.c:1814 config/avr/avr.c:1900 config/avr/avr.c:1949
+-#: config/avr/avr.c:1977 config/avr/avr.c:2072 config/avr/avr.c:2241
+-#: config/avr/avr.c:2502 config/avr/avr.c:2614
++#: config/avr/avr.c:1854 config/avr/avr.c:1940 config/avr/avr.c:1989
++#: config/avr/avr.c:2017 config/avr/avr.c:2112 config/avr/avr.c:2281
++#: config/avr/avr.c:2542 config/avr/avr.c:2654
+ msgid "incorrect insn:"
+ msgstr "错误指令:"
+
+-#: config/avr/avr.c:1996 config/avr/avr.c:2157 config/avr/avr.c:2312
+-#: config/avr/avr.c:2680
++#: config/avr/avr.c:2036 config/avr/avr.c:2197 config/avr/avr.c:2352
++#: config/avr/avr.c:2720
+ msgid "unknown move insn:"
+ msgstr "无效的 move 指令:"
+
+-#: config/avr/avr.c:2910
++#: config/avr/avr.c:2950
+ msgid "bad shift insn:"
+ msgstr "错误的 shift 指令"
+
+-#: config/avr/avr.c:3026 config/avr/avr.c:3446 config/avr/avr.c:3804
++#: config/avr/avr.c:3066 config/avr/avr.c:3486 config/avr/avr.c:3844
+ msgid "internal compiler error. Incorrect shift:"
+ msgstr "编译器内部错误。ä¸æ­£ç¡®çš„移ä½é‡ï¼š"
+
+-#: config/bfin/bfin.c:1385
++#: config/bfin/bfin.c:1478
+ #, c-format
+ msgid "invalid %%j value"
+ msgstr "无效的 %%j 值"
+
+-#: config/bfin/bfin.c:1578
++#: config/bfin/bfin.c:1671
+ #, c-format
+ msgid "invalid const_double operand"
+ msgstr "无效的åŒç²¾åº¦å¸¸é‡æ“作数"
+
+-#: config/c4x/c4x.c:1583
+-msgid "using CONST_DOUBLE for address"
+-msgstr "为地å€ä½¿ç”¨ CONST_DOUBLE"
+-
+-#: config/c4x/c4x.c:1721
+-msgid "c4x_address_cost: Invalid addressing mode"
+-msgstr "c4x_address_cost:无效的寻å€æ¨¡å¼"
+-
+-#: config/c4x/c4x.c:1856
+-#, c-format
+-msgid "c4x_print_operand: %%L inconsistency"
+-msgstr "c4x_print_operand:%%L ä¸ä¸€è‡´"
+-
+-#: config/c4x/c4x.c:1862
+-#, c-format
+-msgid "c4x_print_operand: %%N inconsistency"
+-msgstr "c4x_print_operand:%%N ä¸ä¸€è‡´"
+-
+-#: config/c4x/c4x.c:1903
+-#, c-format
+-msgid "c4x_print_operand: %%O inconsistency"
+-msgstr "c4x_print_operand:%%O ä¸ä¸€è‡´"
+-
+-#: config/c4x/c4x.c:1998
+-msgid "c4x_print_operand: Bad operand case"
+-msgstr "c4x_print_operand:错误的æ“作数类型"
+-
+-#: config/c4x/c4x.c:2039
+-msgid "c4x_print_operand_address: Bad post_modify"
+-msgstr "c4x_print_operand_address:错误的åŽæ›´æ”¹"
+-
+-#: config/c4x/c4x.c:2061
+-msgid "c4x_print_operand_address: Bad pre_modify"
+-msgstr "c4x_print_operand_address:错误的å‰æ›´æ”¹"
+-
+-#: config/c4x/c4x.c:2109 config/c4x/c4x.c:2121 config/c4x/c4x.c:2136
+-msgid "c4x_print_operand_address: Bad operand case"
+-msgstr "c4x_print_operand_address:错误的æ“作数类型"
+-
+-#: config/c4x/c4x.c:2387
+-msgid "c4x_rptb_insert: Cannot find start label"
+-msgstr "c4x_rptb_insert:找ä¸åˆ°èµ·å§‹æ ‡å·"
+-
+-#: config/c4x/c4x.c:2985
+-msgid "invalid indirect memory address"
+-msgstr "无效的间接内存地å€"
+-
+-#: config/c4x/c4x.c:3074
+-msgid "invalid indirect (S) memory address"
+-msgstr "无效的间接(S)内存地å€"
+-
+-#: config/c4x/c4x.c:3409
+-msgid "c4x_valid_operands: Internal error"
+-msgstr "c4x_valid_operands:内部错误"
+-
+-#: config/c4x/c4x.c:3848
+-msgid "c4x_operand_subword: invalid mode"
+-msgstr "c4x_operand_subword:无效模å¼"
+-
+-#: config/c4x/c4x.c:3851
+-msgid "c4x_operand_subword: invalid operand"
+-msgstr "c4x_operand_subword:无效æ“作数"
+-
+-#. We could handle these with some difficulty.
+-#. e.g., *p-- => *(p-=2); *(p+1).
+-#: config/c4x/c4x.c:3877
+-msgid "c4x_operand_subword: invalid autoincrement"
+-msgstr "c4x_operand_subword:无效的自增é‡"
+-
+-#: config/c4x/c4x.c:3883
+-msgid "c4x_operand_subword: invalid address"
+-msgstr "c4x_operand_subword:无效地å€"
+-
+-#: config/c4x/c4x.c:3894
+-msgid "c4x_operand_subword: address not offsettable"
+-msgstr "c4x_operand_subword:无法å–å移é‡çš„地å€"
+-
+-#: config/c4x/c4x.c:4096
+-msgid "c4x_rptb_rpts_p: Repeat block top label moved"
+-msgstr "c4x_rptb_rpts_p:é‡å¤å—的顶层标å·è¢«ç§»åŠ¨"
+-
+ #. Use `%s' to print the string in case there are any escape
+ #. characters in the message.
+-#: config/cris/cris.c:491 fortran/dump-parse-tree.c:78
+-#: fortran/dump-parse-tree.c:430 fortran/dump-parse-tree.c:776
+-#: fortran/dump-parse-tree.c:821 c-typeck.c:4607 c-typeck.c:4622
+-#: c-typeck.c:4637 final.c:2984 final.c:2986 gcc.c:4737 loop-iv.c:2807
+-#: loop-iv.c:2816 rtl-error.c:112 toplev.c:610 tree-ssa-loop-niter.c:1829
+-#: cp/parser.c:2188 cp/typeck.c:4559 java/expr.c:409
++#: config/cris/cris.c:504 fortran/dump-parse-tree.c:78
++#: fortran/dump-parse-tree.c:430 fortran/dump-parse-tree.c:798
++#: fortran/dump-parse-tree.c:843 c-typeck.c:4618 c-typeck.c:4633
++#: c-typeck.c:4648 final.c:2997 final.c:2999 gcc.c:4731 loop-iv.c:2808
++#: loop-iv.c:2817 rtl-error.c:112 toplev.c:610 tree-ssa-loop-niter.c:1829
++#: cp/parser.c:2192 cp/typeck.c:4567 java/expr.c:409
+ #, gcc-internal-format
+ msgid "%s"
+ msgstr "%s"
+
+-#: config/cris/cris.c:542
++#: config/cris/cris.c:555
+ msgid "unexpected index-type in cris_print_index"
+ msgstr "cris_print_index 中有éžé¢„期的索引类型"
+
+-#: config/cris/cris.c:556
++#: config/cris/cris.c:572
+ msgid "unexpected base-type in cris_print_base"
+ msgstr "cris_print_base 中有éžé¢„期的基类型"
+
+-#: config/cris/cris.c:672
++#: config/cris/cris.c:688
+ msgid "invalid operand for 'b' modifier"
+ msgstr "‘b’修饰符的æ“作数无效"
+
+-#: config/cris/cris.c:689
++#: config/cris/cris.c:705
+ msgid "invalid operand for 'o' modifier"
+ msgstr "‘o’修饰符的æ“作数无效"
+
+-#: config/cris/cris.c:708
++#: config/cris/cris.c:724
+ msgid "invalid operand for 'O' modifier"
+ msgstr "‘O’修饰符的æ“作数无效"
+
+-#: config/cris/cris.c:741
++#: config/cris/cris.c:757
+ msgid "invalid operand for 'p' modifier"
+ msgstr "‘p’修饰符的æ“作数无效"
+
+-#: config/cris/cris.c:780
++#: config/cris/cris.c:796
+ msgid "invalid operand for 'z' modifier"
+ msgstr "‘z’修饰符的æ“作数无效"
+
+-#: config/cris/cris.c:834 config/cris/cris.c:864
++#: config/cris/cris.c:860 config/cris/cris.c:894
+ msgid "invalid operand for 'H' modifier"
+ msgstr "‘H’修饰符的æ“作数无效"
+
+-#: config/cris/cris.c:840
++#: config/cris/cris.c:870
+ msgid "bad register"
+ msgstr "错误的寄存器å"
+
+-#: config/cris/cris.c:884
++#: config/cris/cris.c:914
+ msgid "invalid operand for 'e' modifier"
+ msgstr "‘e’修饰符的æ“作数无效"
+
+-#: config/cris/cris.c:901
++#: config/cris/cris.c:931
+ msgid "invalid operand for 'm' modifier"
+ msgstr "‘m’修饰符的æ“作数无效"
+
+-#: config/cris/cris.c:926
++#: config/cris/cris.c:956
+ msgid "invalid operand for 'A' modifier"
+ msgstr "‘A’修饰符的æ“作数无效"
+
+-#: config/cris/cris.c:949
++#: config/cris/cris.c:979
+ msgid "invalid operand for 'D' modifier"
+ msgstr "‘D’修饰符的æ“作数无效"
+
+-#: config/cris/cris.c:963
++#: config/cris/cris.c:993
+ msgid "invalid operand for 'T' modifier"
+ msgstr "‘T’修饰符的æ“作数无效"
+
+-#: config/cris/cris.c:972
++#: config/cris/cris.c:1013
+ msgid "invalid operand modifier letter"
+ msgstr "无效的æ“作数修饰符字æ¯"
+
+-#: config/cris/cris.c:1029
++#: config/cris/cris.c:1070
+ msgid "unexpected multiplicative operand"
+ msgstr "无效的乘性æ“作数"
+
+-#: config/cris/cris.c:1049
++#: config/cris/cris.c:1090
+ msgid "unexpected operand"
+ msgstr "éžé¢„期的æ“作数"
+
+-#: config/cris/cris.c:1082 config/cris/cris.c:1092
++#: config/cris/cris.c:1123 config/cris/cris.c:1133
+ msgid "unrecognized address"
+ msgstr "无法识别的地å€"
+
+-#: config/cris/cris.c:2019
++#: config/cris/cris.c:2209
+ msgid "unrecognized supposed constant"
+ msgstr "预期的常é‡æ— æ³•è¯†åˆ«"
+
+-#: config/cris/cris.c:2394 config/cris/cris.c:2458
++#: config/cris/cris.c:2638 config/cris/cris.c:2702
+ msgid "unexpected side-effects in address"
+ msgstr "地å€ä¸­æœ‰éžé¢„期的副作用"
+
+ #. Can't possibly get a GOT-needing-fixup for a function-call,
+ #. right?
+-#: config/cris/cris.c:3253
++#: config/cris/cris.c:3539
+ msgid "Unidentifiable call op"
+ msgstr "无法识别的 call æ“作"
+
+-#: config/cris/cris.c:3304
++#: config/cris/cris.c:3590
+ #, c-format
+ msgid "PIC register isn't set up"
+ msgstr "尚未设定好 PIC 寄存器"
+@@ -3177,81 +3103,81 @@
+ msgid "fr30_print_operand: unhandled MEM"
+ msgstr "fr30_print_operand:未处ç†çš„ MEM"
+
+-#: config/frv/frv.c:2542
++#: config/frv/frv.c:2546
+ msgid "bad insn to frv_print_operand_address:"
+ msgstr "给 frv_print_operand_address 错误的指令:"
+
+-#: config/frv/frv.c:2553
++#: config/frv/frv.c:2557
+ msgid "bad register to frv_print_operand_memory_reference_reg:"
+ msgstr "给 frv_print_operand_memory_reference_reg 错误的寄存器:"
+
+-#: config/frv/frv.c:2592 config/frv/frv.c:2602 config/frv/frv.c:2611
+-#: config/frv/frv.c:2632 config/frv/frv.c:2637
++#: config/frv/frv.c:2596 config/frv/frv.c:2606 config/frv/frv.c:2615
++#: config/frv/frv.c:2636 config/frv/frv.c:2641
+ msgid "bad insn to frv_print_operand_memory_reference:"
+ msgstr "给 frv_print_operand_memory_reference 错误的指令:"
+
+-#: config/frv/frv.c:2723
++#: config/frv/frv.c:2727
+ #, c-format
+ msgid "bad condition code"
+ msgstr "错误的æ¡ä»¶ç "
+
+-#: config/frv/frv.c:2798
++#: config/frv/frv.c:2802
+ msgid "bad insn in frv_print_operand, bad const_double"
+ msgstr "frv_print_operand 中有错误指令,错误的 const_double"
+
+-#: config/frv/frv.c:2859
++#: config/frv/frv.c:2863
+ msgid "bad insn to frv_print_operand, 'e' modifier:"
+ msgstr "给 frv_print_operand 错误的指令,‘e’修饰符:"
+
+-#: config/frv/frv.c:2867
++#: config/frv/frv.c:2871
+ msgid "bad insn to frv_print_operand, 'F' modifier:"
+ msgstr "给 frv_print_operand 错误的指令,‘F’修饰符:"
+
+-#: config/frv/frv.c:2883
++#: config/frv/frv.c:2887
+ msgid "bad insn to frv_print_operand, 'f' modifier:"
+ msgstr "给 frv_print_operand 错误的指令,‘f’修饰符:"
+
+-#: config/frv/frv.c:2897
++#: config/frv/frv.c:2901
+ msgid "bad insn to frv_print_operand, 'g' modifier:"
+ msgstr "给 frv_print_operand 错误的指令,‘g’修饰符:"
+
+-#: config/frv/frv.c:2945
++#: config/frv/frv.c:2949
+ msgid "bad insn to frv_print_operand, 'L' modifier:"
+ msgstr "给 frv_print_operand 错误的指令,‘L’修饰符:"
+
+-#: config/frv/frv.c:2958
++#: config/frv/frv.c:2962
+ msgid "bad insn to frv_print_operand, 'M/N' modifier:"
+ msgstr "给 frv_print_operand 错误的指令,‘M/N’修饰符:"
+
+-#: config/frv/frv.c:2979
++#: config/frv/frv.c:2983
+ msgid "bad insn to frv_print_operand, 'O' modifier:"
+ msgstr "给 frv_print_operand 错误的指令,‘O’修饰符:"
+
+-#: config/frv/frv.c:2997
++#: config/frv/frv.c:3001
+ msgid "bad insn to frv_print_operand, P modifier:"
+ msgstr "给 frv_print_operand 错误的指令,P 修饰符:"
+
+-#: config/frv/frv.c:3017
++#: config/frv/frv.c:3021
+ msgid "bad insn in frv_print_operand, z case"
+ msgstr "frv_print_operand 中有错误指令,z case"
+
+-#: config/frv/frv.c:3048
++#: config/frv/frv.c:3052
+ msgid "bad insn in frv_print_operand, 0 case"
+ msgstr "frv_print_operand 中有错误指令,0 case"
+
+-#: config/frv/frv.c:3053
++#: config/frv/frv.c:3057
+ msgid "frv_print_operand: unknown code"
+ msgstr "frv_print_operand:未知代ç "
+
+-#: config/frv/frv.c:4422
++#: config/frv/frv.c:4426
+ msgid "bad output_move_single operand"
+ msgstr "错误的 output_move_single æ“作数"
+
+-#: config/frv/frv.c:4549
++#: config/frv/frv.c:4553
+ msgid "bad output_move_double operand"
+ msgstr "错误的 output_move_double æ“作数"
+
+-#: config/frv/frv.c:4691
++#: config/frv/frv.c:4695
+ msgid "bad output_condmove_single operand"
+ msgstr "错误的 output_condmove_single æ“作数"
+
+@@ -3269,27 +3195,27 @@
+ msgid " (frv)"
+ msgstr " (frv)"
+
+-#: config/i386/i386.c:8218
++#: config/i386/i386.c:8273
+ #, c-format
+ msgid "invalid UNSPEC as operand"
+ msgstr "无效的 UNSPEC 用作æ“作数"
+
+-#: config/i386/i386.c:8924
++#: config/i386/i386.c:8979
+ #, c-format
+ msgid "operand is neither a constant nor a condition code, invalid operand code 'c'"
+ msgstr "æ“作数既ä¸æ˜¯ä¸€ä¸ªå¸¸é‡ä¹Ÿä¸æ˜¯ä¸€ä¸ªæ¡ä»¶ç ï¼Œæ— æ•ˆçš„æ“作数代ç â€˜c’"
+
+-#: config/i386/i386.c:9040
++#: config/i386/i386.c:9095
+ #, c-format
+ msgid "invalid operand code '%c'"
+ msgstr "无效的æ“作数代ç â€˜%c’"
+
+-#: config/i386/i386.c:9089
++#: config/i386/i386.c:9144
+ #, c-format
+ msgid "invalid constraints for operand"
+ msgstr "æ“作数的约æŸæ— æ•ˆ"
+
+-#: config/i386/i386.c:16348
++#: config/i386/i386.c:16423
+ msgid "unknown insn mode"
+ msgstr "未知的指令模å¼"
+
+@@ -3310,34 +3236,34 @@
+ msgid "environment variable DJGPP points to corrupt file '%s'"
+ msgstr "环境å˜é‡ DJGPP 指å‘的文件‘%s’已æŸå"
+
+-#: config/ia64/ia64.c:4770
++#: config/ia64/ia64.c:4771
+ #, c-format
+ msgid "ia64_print_operand: unknown code"
+ msgstr "ia64_print_operand:未知代ç "
+
+-#: config/ia64/ia64.c:9889
++#: config/ia64/ia64.c:9890
+ msgid "invalid conversion from %<__fpreg%>"
+ msgstr "从%<__fpreg%>的转æ¢æ— æ•ˆ"
+
+-#: config/ia64/ia64.c:9892
++#: config/ia64/ia64.c:9893
+ msgid "invalid conversion to %<__fpreg%>"
+ msgstr "å‘%<__fpreg%>的转æ¢æ— æ•ˆ"
+
+-#: config/ia64/ia64.c:9905 config/ia64/ia64.c:9916
++#: config/ia64/ia64.c:9906 config/ia64/ia64.c:9917
+ msgid "invalid operation on %<__fpreg%>"
+ msgstr "对%<__fpreg%>çš„æ“作无效"
+
+-#: config/iq2000/iq2000.c:3118
++#: config/iq2000/iq2000.c:3122
+ #, c-format
+ msgid "invalid %%P operand"
+ msgstr "无效的 %%P æ“作数"
+
+-#: config/iq2000/iq2000.c:3126 config/rs6000/rs6000.c:11607
++#: config/iq2000/iq2000.c:3130 config/rs6000/rs6000.c:11818
+ #, c-format
+ msgid "invalid %%p value"
+ msgstr "无效的 %%p 值"
+
+-#: config/iq2000/iq2000.c:3182
++#: config/iq2000/iq2000.c:3186
+ #, c-format
+ msgid "invalid use of %%d, %%x, or %%X"
+ msgstr "对 %%dã€%%x 或 %%X 的无效使用"
+@@ -3379,7 +3305,7 @@
+ msgstr "åŽè‡ªå¢žåœ°å€ä¸æ˜¯ä¸€ä¸ªå¯„存器"
+
+ #: config/m32r/m32r.c:2030 config/m32r/m32r.c:2044
+-#: config/rs6000/rs6000.c:19870
++#: config/rs6000/rs6000.c:20087
+ msgid "bad address"
+ msgstr "错误地å€"
+
+@@ -3425,59 +3351,59 @@
+ msgid "invalid Z register replacement for insn"
+ msgstr "无效的 Z 寄存器替æ¢"
+
+-#: config/mips/mips.c:6313 config/mips/mips.c:6334 config/mips/mips.c:6438
++#: config/mips/mips.c:6371 config/mips/mips.c:6392 config/mips/mips.c:6496
+ #, c-format
+ msgid "'%%%c' is not a valid operand prefix"
+ msgstr "‘%%%c’ä¸æ˜¯ä¸€ä¸ªæœ‰æ•ˆçš„æ“作数å‰ç¼€"
+
+-#: config/mips/mips.c:6382 config/mips/mips.c:6389 config/mips/mips.c:6396
+-#: config/mips/mips.c:6456
++#: config/mips/mips.c:6440 config/mips/mips.c:6447 config/mips/mips.c:6454
++#: config/mips/mips.c:6514
+ #, c-format
+ msgid "invalid use of '%%%c'"
+ msgstr "错误地使用了‘%%%c’"
+
+-#: config/mips/mips.c:6701
++#: config/mips/mips.c:6761
+ msgid "mips_debugger_offset called with non stack/frame/arg pointer"
+ msgstr "mips_debugger_offset 为éžå †æ ˆ/框架/å‚数指针调用"
+
+-#: config/mmix/mmix.c:1487 config/mmix/mmix.c:1617
++#: config/mmix/mmix.c:1483 config/mmix/mmix.c:1613
+ msgid "MMIX Internal: Expected a CONST_INT, not this"
+ msgstr "MMIX 内部错误:预期的是整常é‡ï¼Œä¸æ˜¯è¿™ä¸ª"
+
+-#: config/mmix/mmix.c:1566
++#: config/mmix/mmix.c:1562
+ msgid "MMIX Internal: Bad value for 'm', not a CONST_INT"
+ msgstr "MMIX 内部错误:‘m’值错误,ä¸æ˜¯ä¸€ä¸ªæ•´å¸¸é‡"
+
+-#: config/mmix/mmix.c:1585
++#: config/mmix/mmix.c:1581
+ msgid "MMIX Internal: Expected a register, not this"
+ msgstr "MMIX 内部错误:需è¦ä¸€ä¸ªå¯„存器,ä¸æ˜¯è¿™ä¸ª"
+
+-#: config/mmix/mmix.c:1595
++#: config/mmix/mmix.c:1591
+ msgid "MMIX Internal: Expected a constant, not this"
+ msgstr "MMIX 内部错误:需è¦ä¸€ä¸ªå¸¸é‡ï¼Œä¸æ˜¯è¿™ä¸ª"
+
+ #. We need the original here.
+-#: config/mmix/mmix.c:1679
++#: config/mmix/mmix.c:1675
+ msgid "MMIX Internal: Cannot decode this operand"
+ msgstr "MMIX 内部错误:无法解ç æ­¤æ“作数"
+
+-#: config/mmix/mmix.c:1736
++#: config/mmix/mmix.c:1732
+ msgid "MMIX Internal: This is not a recognized address"
+ msgstr "MMIX 内部错误:这ä¸æ˜¯ä¸€ä¸ªå¯è¯†åˆ«çš„地å€"
+
+-#: config/mmix/mmix.c:2669
++#: config/mmix/mmix.c:2665
+ msgid "MMIX Internal: Trying to output invalidly reversed condition:"
+ msgstr "MMIX 内部错误:试图输出无效地å转的æ¡ä»¶ï¼š"
+
+-#: config/mmix/mmix.c:2676
++#: config/mmix/mmix.c:2672
+ msgid "MMIX Internal: What's the CC of this?"
+ msgstr "MMIX 内部错误:它的比较æ¡ä»¶æ˜¯ä»€ä¹ˆï¼Ÿ"
+
+-#: config/mmix/mmix.c:2680
++#: config/mmix/mmix.c:2676
+ msgid "MMIX Internal: What is the CC of this?"
+ msgstr "MMIX 内部错误:它的比较æ¡ä»¶æ˜¯ä»€ä¹ˆï¼Ÿ"
+
+-#: config/mmix/mmix.c:2744
++#: config/mmix/mmix.c:2740
+ msgid "MMIX Internal: This is not a constant:"
+ msgstr "MMIX 内部错误:这ä¸æ˜¯ä¸€ä¸ªå¸¸é‡ï¼š"
+
+@@ -3503,81 +3429,81 @@
+ msgid "Try running '%s' in the shell to raise its limit.\n"
+ msgstr "å°è¯•åœ¨å‘½ä»¤è§£é‡Šå™¨ä¸­è¿è¡Œâ€˜%s’以æå‡å®ƒçš„æžé™ã€‚\n"
+
+-#: config/rs6000/rs6000.c:11434
++#: config/rs6000/rs6000.c:11645
+ #, c-format
+ msgid "invalid %%f value"
+ msgstr "无效 %%f 值"
+
+-#: config/rs6000/rs6000.c:11443
++#: config/rs6000/rs6000.c:11654
+ #, c-format
+ msgid "invalid %%F value"
+ msgstr "无效 %%F 值"
+
+-#: config/rs6000/rs6000.c:11452
++#: config/rs6000/rs6000.c:11663
+ #, c-format
+ msgid "invalid %%G value"
+ msgstr "无效 %%G 值"
+
+-#: config/rs6000/rs6000.c:11487
++#: config/rs6000/rs6000.c:11698
+ #, c-format
+ msgid "invalid %%j code"
+ msgstr "无效 %%j 代ç "
+
+-#: config/rs6000/rs6000.c:11497
++#: config/rs6000/rs6000.c:11708
+ #, c-format
+ msgid "invalid %%J code"
+ msgstr "无效 %%J 代ç "
+
+-#: config/rs6000/rs6000.c:11507
++#: config/rs6000/rs6000.c:11718
+ #, c-format
+ msgid "invalid %%k value"
+ msgstr "无效 %%k 值"
+
+-#: config/rs6000/rs6000.c:11527 config/xtensa/xtensa.c:2022
++#: config/rs6000/rs6000.c:11738 config/xtensa/xtensa.c:2028
+ #, c-format
+ msgid "invalid %%K value"
+ msgstr "无效 %%K 值"
+
+-#: config/rs6000/rs6000.c:11597
++#: config/rs6000/rs6000.c:11808
+ #, c-format
+ msgid "invalid %%O value"
+ msgstr "无效 %%O 值"
+
+-#: config/rs6000/rs6000.c:11644
++#: config/rs6000/rs6000.c:11855
+ #, c-format
+ msgid "invalid %%q value"
+ msgstr "无效 %%q 值"
+
+-#: config/rs6000/rs6000.c:11688
++#: config/rs6000/rs6000.c:11899
+ #, c-format
+ msgid "invalid %%S value"
+ msgstr "无效 %%S 值"
+
+-#: config/rs6000/rs6000.c:11728
++#: config/rs6000/rs6000.c:11939
+ #, c-format
+ msgid "invalid %%T value"
+ msgstr "无效 %%T 值"
+
+-#: config/rs6000/rs6000.c:11738
++#: config/rs6000/rs6000.c:11949
+ #, c-format
+ msgid "invalid %%u value"
+ msgstr "无效 %%u 值"
+
+-#: config/rs6000/rs6000.c:11747 config/xtensa/xtensa.c:1992
++#: config/rs6000/rs6000.c:11958 config/xtensa/xtensa.c:1998
+ #, c-format
+ msgid "invalid %%v value"
+ msgstr "无效 %%v 值"
+
+-#: config/rs6000/rs6000.c:21768
++#: config/rs6000/rs6000.c:21946
+ msgid "AltiVec argument passed to unprototyped function"
+ msgstr "传递 AltiVec 实å‚给无原型的函数"
+
+-#: config/s390/s390.c:4561
++#: config/s390/s390.c:4560
+ #, c-format
+ msgid "cannot decompose address"
+ msgstr "无法分解地å€"
+
+-#: config/s390/s390.c:4771
++#: config/s390/s390.c:4770
+ msgid "UNKNOWN in print_operand !?"
+ msgstr "UNKNOWN 出现在 print_operand 中?ï¼"
+
+@@ -3587,89 +3513,89 @@
+ msgid "invalid operand for code: '%c'"
+ msgstr "代ç â€˜%c’的æ“作数无效"
+
+-#: config/sh/sh.c:746
++#: config/sh/sh.c:749
+ #, c-format
+ msgid "invalid operand to %%R"
+ msgstr "%%R çš„æ“作数无效"
+
+-#: config/sh/sh.c:773
++#: config/sh/sh.c:776
+ #, c-format
+ msgid "invalid operand to %%S"
+ msgstr "%%S çš„æ“作数无效"
+
+-#: config/sh/sh.c:8095
++#: config/sh/sh.c:8098
+ msgid "created and used with different architectures / ABIs"
+ msgstr "创建和使用时使用了ä¸åŒçš„架构/ABI"
+
+-#: config/sh/sh.c:8097
++#: config/sh/sh.c:8100
+ msgid "created and used with different ABIs"
+ msgstr "创建和使用时使用了ä¸åŒçš„ ABI"
+
+-#: config/sh/sh.c:8099
++#: config/sh/sh.c:8102
+ msgid "created and used with different endianness"
+ msgstr "创建和使用时使用了ä¸åŒçš„高/低ä½å­—节在å‰è®¾å®š"
+
+-#: config/sparc/sparc.c:6803 config/sparc/sparc.c:6809
++#: config/sparc/sparc.c:6806 config/sparc/sparc.c:6812
+ #, c-format
+ msgid "invalid %%Y operand"
+ msgstr "无效的 %%Y æ“作数"
+
+-#: config/sparc/sparc.c:6879
++#: config/sparc/sparc.c:6882
+ #, c-format
+ msgid "invalid %%A operand"
+ msgstr "无效的 %%A æ“作数"
+
+-#: config/sparc/sparc.c:6889
++#: config/sparc/sparc.c:6892
+ #, c-format
+ msgid "invalid %%B operand"
+ msgstr "无效的 %%B æ“作数"
+
+-#: config/sparc/sparc.c:6928
++#: config/sparc/sparc.c:6931
+ #, c-format
+ msgid "invalid %%c operand"
+ msgstr "无效的 %%c æ“作数"
+
+-#: config/sparc/sparc.c:6950
++#: config/sparc/sparc.c:6953
+ #, c-format
+ msgid "invalid %%d operand"
+ msgstr "无效的 %%d æ“作数"
+
+-#: config/sparc/sparc.c:6967
++#: config/sparc/sparc.c:6970
+ #, c-format
+ msgid "invalid %%f operand"
+ msgstr "无效的 %%f æ“作数"
+
+-#: config/sparc/sparc.c:6981
++#: config/sparc/sparc.c:6984
+ #, c-format
+ msgid "invalid %%s operand"
+ msgstr "无效的 %%s æ“作数"
+
+-#: config/sparc/sparc.c:7035
++#: config/sparc/sparc.c:7038
+ #, c-format
+ msgid "long long constant not a valid immediate operand"
+ msgstr "long long 常é‡ä¸æ˜¯ä¸€ä¸ªæœ‰æ•ˆçš„ç«‹å³æ•°æ“作数"
+
+-#: config/sparc/sparc.c:7038
++#: config/sparc/sparc.c:7041
+ #, c-format
+ msgid "floating point constant not a valid immediate operand"
+ msgstr "浮点常é‡ä¸æ˜¯ä¸€ä¸ªæœ‰æ•ˆçš„ç«‹å³æ•°æ“作数"
+
+-#: config/stormy16/stormy16.c:1775 config/stormy16/stormy16.c:1846
++#: config/stormy16/stormy16.c:1748 config/stormy16/stormy16.c:1819
+ #, c-format
+ msgid "'B' operand is not constant"
+ msgstr "‘B’æ“作数ä¸æ˜¯ä¸€ä¸ªå¸¸é‡"
+
+-#: config/stormy16/stormy16.c:1802
++#: config/stormy16/stormy16.c:1775
+ #, c-format
+ msgid "'B' operand has multiple bits set"
+ msgstr "‘B’æ“作数设置了多个ä½"
+
+-#: config/stormy16/stormy16.c:1828
++#: config/stormy16/stormy16.c:1801
+ #, c-format
+ msgid "'o' operand is not constant"
+ msgstr "‘o’æ“作数ä¸æ˜¯ä¸€ä¸ªå¸¸é‡"
+
+-#: config/stormy16/stormy16.c:1860
++#: config/stormy16/stormy16.c:1833
+ #, c-format
+ msgid "xstormy16_print_operand: unknown code"
+ msgstr "xstormy16_print_operand:未知代ç "
+@@ -3682,56 +3608,56 @@
+ msgid "output_move_single:"
+ msgstr "output_move_single:"
+
+-#: config/xtensa/xtensa.c:652 config/xtensa/xtensa.c:684
+-#: config/xtensa/xtensa.c:693
++#: config/xtensa/xtensa.c:656 config/xtensa/xtensa.c:688
++#: config/xtensa/xtensa.c:697
+ msgid "bad test"
+ msgstr "错误的测试"
+
+-#: config/xtensa/xtensa.c:1980
++#: config/xtensa/xtensa.c:1986
+ #, c-format
+ msgid "invalid %%D value"
+ msgstr "无效的 %%D 值"
+
+-#: config/xtensa/xtensa.c:2017
++#: config/xtensa/xtensa.c:2023
+ msgid "invalid mask"
+ msgstr "无效掩ç "
+
+-#: config/xtensa/xtensa.c:2043
++#: config/xtensa/xtensa.c:2049
+ #, c-format
+ msgid "invalid %%x value"
+ msgstr "无效的 %%x 值"
+
+-#: config/xtensa/xtensa.c:2050
++#: config/xtensa/xtensa.c:2056
+ #, c-format
+ msgid "invalid %%d value"
+ msgstr "无效的 %%d 值"
+
+-#: config/xtensa/xtensa.c:2071 config/xtensa/xtensa.c:2081
++#: config/xtensa/xtensa.c:2077 config/xtensa/xtensa.c:2087
+ #, c-format
+ msgid "invalid %%t/%%b value"
+ msgstr "无效的 %%t/%%b 值"
+
+-#: config/xtensa/xtensa.c:2123
++#: config/xtensa/xtensa.c:2129
+ msgid "invalid address"
+ msgstr "无效地å€"
+
+-#: config/xtensa/xtensa.c:2148
++#: config/xtensa/xtensa.c:2154
+ msgid "no register in address"
+ msgstr "地å€ä¸­æ— å¯„存器"
+
+-#: config/xtensa/xtensa.c:2156
++#: config/xtensa/xtensa.c:2162
+ msgid "address offset not a constant"
+ msgstr "地å€å移é‡ä¸æ˜¯ä¸€ä¸ªå¸¸é‡"
+
+-#: cp/call.c:2514
++#: cp/call.c:2500
+ msgid "candidates are:"
+ msgstr "备选为:"
+
+-#: cp/call.c:6463
++#: cp/call.c:6487
+ msgid "candidate 1:"
+ msgstr "备选 1:"
+
+-#: cp/call.c:6464
++#: cp/call.c:6488
+ msgid "candidate 2:"
+ msgstr "备选 2:"
+
+@@ -3750,470 +3676,465 @@
+
+ #: fortran/arith.c:90
+ msgid "Arithmetic OK at %L"
+-msgstr "%L 处算术正常"
++msgstr "%L处算术正常"
+
+ #: fortran/arith.c:93
+ msgid "Arithmetic overflow at %L"
+-msgstr "%L 处算术上溢"
++msgstr "%L处算术上溢"
+
+ #: fortran/arith.c:96
+ msgid "Arithmetic underflow at %L"
+-msgstr "%L 处算术下溢"
++msgstr "%L处算术下溢"
+
+ #: fortran/arith.c:99
+ msgid "Arithmetic NaN at %L"
+-msgstr "%L 处算术 NaN"
++msgstr "%L处算术 NaN"
+
+ #: fortran/arith.c:102
+ msgid "Division by zero at %L"
+-msgstr "%L 处被零除"
++msgstr "%L处被零除"
+
+ #: fortran/arith.c:105
+ msgid "Array operands are incommensurate at %L"
+-msgstr "%L 处数组æ“作数无法被使用"
++msgstr "%L处数组æ“作数无法被使用"
+
+ #: fortran/arith.c:109
+ msgid "Integer outside symmetric range implied by Standard Fortran at %L"
+-msgstr "%L 处整数超出标准 Fortran éšå«çš„对称范围"
++msgstr "%L处整数超出标准 Fortran éšå«çš„对称范围"
+
+-#: fortran/arith.c:1425
++#: fortran/arith.c:1472
+ msgid "elemental binary operation"
+ msgstr "基本二元æ“作"
+
+-#: fortran/arith.c:1997
++#: fortran/arith.c:2044
+ #, no-c-format
+ msgid "Arithmetic OK converting %s to %s at %L"
+-msgstr "从 %s 转æ¢åˆ° %s,在 %L 处:算术正常"
++msgstr "%3$L处从 %1$s 转æ¢åˆ° %2$s 算术正常"
+
+-#: fortran/arith.c:2001
++#: fortran/arith.c:2048
+ #, no-c-format
+ msgid "Arithmetic overflow converting %s to %s at %L. This check can be disabled with the option -fno-range-check"
+-msgstr "å°† %s 转æ¢åˆ° %s 时在 %L 处算术溢出。这一检查å¯ç”¨ -fno-range-check 选项关闭"
++msgstr "%3$L处将 %1$s 转æ¢åˆ° %2$s 时算术溢出。这一检查å¯ç”¨ -fno-range-check 选项关闭"
+
+-#: fortran/arith.c:2006
++#: fortran/arith.c:2053
+ #, no-c-format
+ msgid "Arithmetic underflow converting %s to %s at %L"
+-msgstr "从 %s 转æ¢åˆ° %s,在 %L 处:算术下溢"
++msgstr "%3$L处从 %1$s 转æ¢åˆ° %2$s 时算术下溢"
+
+-#: fortran/arith.c:2010
++#: fortran/arith.c:2057
+ #, no-c-format
+ msgid "Arithmetic NaN converting %s to %s at %L"
+-msgstr "从 %s 转æ¢åˆ° %s,在 %L 处:算术 NaN"
++msgstr "%3$L处从 %1$s 转æ¢åˆ° %2$s 时算术 NaN"
+
+-#: fortran/arith.c:2014
++#: fortran/arith.c:2061
+ #, no-c-format
+ msgid "Division by zero converting %s to %s at %L"
+-msgstr "从 %s 转æ¢åˆ° %s 时被零除,于 %L 处"
++msgstr "%3$L处从 %1$s 转æ¢åˆ° %2$s 时被零除"
+
+-#: fortran/arith.c:2018
++#: fortran/arith.c:2065
+ #, no-c-format
+ msgid "Array operands are incommensurate converting %s to %s at %L"
+-msgstr ""
++msgstr "%3$L处从 %1$s 到 %2$s 的转æ¢ä¸é€‚åˆæ•°ç»„æ“作数"
+
+-#: fortran/arith.c:2022
++#: fortran/arith.c:2069
+ #, no-c-format
+ msgid "Integer outside symmetric range implied by Standard Fortran converting %s to %s at %L"
+ msgstr ""
+
+-#: fortran/arith.c:2355
++#: fortran/arith.c:2402
+ #, no-c-format
+ msgid "The Hollerith constant at %L is too long to convert to %s"
+ msgstr "%L çš„è·å‹’瑞斯常数太长,无法被转æ¢ä¸º %s"
+
+-#: fortran/arith.c:2513
++#: fortran/arith.c:2560
+ #, no-c-format
+ msgid "Enumerator exceeds the C integer type at %C"
+-msgstr "%C 处:枚举é‡è¶…过 C 整数类型"
++msgstr "%C处:枚举é‡è¶…过 C 整数类型"
+
+ #: fortran/array.c:97
+ #, no-c-format
+ msgid "Expected array subscript at %C"
+-msgstr "%C 处需è¦æ•°ç»„下标"
++msgstr "%C处需è¦æ•°ç»„下标"
+
+ #: fortran/array.c:124
+ #, no-c-format
+ msgid "Expected array subscript stride at %C"
+-msgstr "%C 需è¦æ•°ç»„下标间隔"
++msgstr "%C处需è¦æ•°ç»„下标间隔"
+
+ #: fortran/array.c:167
+ #, no-c-format
+ msgid "Invalid form of array reference at %C"
+-msgstr "%C 处数组引用形å¼æ— æ•ˆ"
++msgstr "%C处数组引用形å¼æ— æ•ˆ"
+
+ #: fortran/array.c:172
+ #, no-c-format
+ msgid "Array reference at %C cannot have more than %d dimensions"
+-msgstr "%C 处的任何引用都ä¸èƒ½å¤šäºŽ %d ç»´"
++msgstr "%C处的任何引用都ä¸èƒ½å¤šäºŽ %d ç»´"
+
+ #: fortran/array.c:223
+ #, no-c-format
+ msgid "Variable '%s' at %L in this context must be constant"
+-msgstr "å˜é‡â€˜%s’在 %L 处上下文中必须是常é‡"
++msgstr "å˜é‡â€˜%s’在%L处上下文中必须是常é‡"
+
+-#: fortran/array.c:299
++#: fortran/array.c:314
+ #, no-c-format
+ msgid "Expected expression in array specification at %C"
+-msgstr "%C 处指定数组时需è¦è¡¨è¾¾å¼"
++msgstr "%C处指定数组时需è¦è¡¨è¾¾å¼"
+
+-#: fortran/array.c:386
++#: fortran/array.c:392
+ #, no-c-format
+ msgid "Bad array specification for an explicitly shaped array at %C"
+ msgstr ""
+
+-#: fortran/array.c:396
++#: fortran/array.c:402
+ #, no-c-format
+ msgid "Bad array specification for assumed shape array at %C"
+ msgstr ""
+
+-#: fortran/array.c:410
++#: fortran/array.c:416
+ #, no-c-format
+ msgid "Bad specification for deferred shape array at %C"
+ msgstr ""
+
+-#: fortran/array.c:414
++#: fortran/array.c:420
+ #, no-c-format
+ msgid "Bad specification for assumed size array at %C"
+ msgstr ""
+
+-#: fortran/array.c:423
++#: fortran/array.c:429
+ #, no-c-format
+ msgid "Expected another dimension in array declaration at %C"
+-msgstr "%C 处数组声明需è¦å¦å¤–一维"
++msgstr "%C处数组声明需è¦å¦å¤–一维"
+
+-#: fortran/array.c:429
++#: fortran/array.c:435
+ #, no-c-format
+ msgid "Array specification at %C has more than %d dimensions"
+-msgstr "%C 处数组指定了多于 %d 的维数"
++msgstr "%C处数组指定了多于 %d 的维数"
+
+-#: fortran/array.c:635
++#: fortran/array.c:641
+ #, no-c-format
+ msgid "duplicated initializer"
+ msgstr "é‡å¤çš„åˆå§‹å€¼è®¾å®š"
+
+-#: fortran/array.c:727
++#: fortran/array.c:733
+ #, no-c-format
+ msgid "DO-iterator '%s' at %L is inside iterator of the same name"
+-msgstr "DO 游标‘%s’在 %L 处出现在å¦ä¸€ä¸ªåŒå游标作用域内"
++msgstr "DO 游标‘%s’在%L处出现在å¦ä¸€ä¸ªåŒå游标作用域内"
+
+-#: fortran/array.c:829 fortran/array.c:938
++#: fortran/array.c:835 fortran/array.c:944
+ #, no-c-format
+ msgid "Syntax error in array constructor at %C"
+-msgstr "%C 数组构造语法错误"
++msgstr "%C处数组构造语法错误"
+
+-#: fortran/array.c:884
++#: fortran/array.c:890
+ #, no-c-format
+ msgid "Fortran 2003: [...] style array constructors at %C"
+-msgstr "Fortran 2003:%C 处 [...] 风格的数组构造"
++msgstr "Fortran 2003:%C处 [...] 风格的数组构造"
+
+-#: fortran/array.c:898
++#: fortran/array.c:904
+ #, no-c-format
+ msgid "Empty array constructor at %C is not allowed"
+-msgstr "%C 处的空数组构造ä¸è¢«å…许"
++msgstr "%C处的空数组构造ä¸è¢«å…许"
+
+-#: fortran/array.c:982
++#: fortran/array.c:988
+ #, no-c-format
+ msgid "Element in %s array constructor at %L is %s"
+-msgstr "%s 数组构造中的元素在 %L 处是 %s"
++msgstr "%s 数组构造中的元素在%L处是 %s"
+
+-#: fortran/array.c:1309
++#: fortran/array.c:1315
+ #, no-c-format
+ msgid "Iterator step at %L cannot be zero"
+-msgstr "%L 处游标步进ä¸èƒ½ä¸ºé›¶"
++msgstr "%L处游标步进ä¸èƒ½ä¸ºé›¶"
+
+ #: fortran/check.c:44
+ #, no-c-format
+ msgid "'%s' argument of '%s' intrinsic at %L must be a scalar"
+-msgstr "实å‚‘%s’(属于内建函数‘%s’,ä½äºŽ %L)必须是一个标é‡"
++msgstr "%3$L处内建函数‘%2$s’的实å‚‘%1$s’必须是一个标é‡"
+
+ #: fortran/check.c:59
+ #, no-c-format
+ msgid "'%s' argument of '%s' intrinsic at %L must be %s"
+-msgstr "实å‚‘%s’(属于内建函数‘%s’,ä½äºŽ %L)必须是 %s"
++msgstr "%3$L处内建函数‘%2$s’的实å‚‘%1$s’必须是 %4$s"
+
+ #: fortran/check.c:87
+ #, no-c-format
+ msgid "'%s' argument of '%s' intrinsic at %L must be a numeric type"
+-msgstr "实å‚‘%s’(属于内建函数‘%s’,ä½äºŽ %L)必须具有数字类型"
++msgstr "%3$L处内建函数‘%2$s’的实å‚‘%1$s’必须具有数字类型"
+
+-#: fortran/check.c:101 fortran/check.c:817 fortran/check.c:827
++#: fortran/check.c:101 fortran/check.c:810 fortran/check.c:820
+ #, no-c-format
+ msgid "'%s' argument of '%s' intrinsic at %L must be INTEGER or REAL"
+-msgstr "实å‚‘%s’(属于内建函数‘%s’,ä½äºŽ %L)必须为整数型或实数型"
++msgstr "%3$L处内建函数‘%2$s’的实å‚‘%1$s’必须为整数型或实数型"
+
+ #: fortran/check.c:118
+ #, no-c-format
+ msgid "'%s' argument of '%s' intrinsic at %L must be REAL or COMPLEX"
+-msgstr "实å‚‘%s’(属于内建函数‘%s’,ä½äºŽ %L)必须为实数型或å¤æ•°åž‹"
++msgstr "%3$L处内建函数‘%2$s’的实å‚‘%1$s’必须为实数型或å¤æ•°åž‹"
+
+ #: fortran/check.c:147
+ #, no-c-format
+ msgid "'%s' argument of '%s' intrinsic at %L must be a constant"
+-msgstr "实å‚‘%s’(属于内建函数‘%s’,ä½äºŽ %L)必须是一个常é‡"
++msgstr "%3$L处内建函数‘%2$s’的实å‚‘%1$s’必须是一个常é‡"
+
+ #: fortran/check.c:156
+ #, no-c-format
+ msgid "Invalid kind for %s at %L"
+-msgstr "%s ç§åˆ«æ— æ•ˆï¼ŒäºŽ %L 处"
++msgstr "%2$L处 %1$s ç§åˆ«æ— æ•ˆ"
+
+ #: fortran/check.c:175
+ #, no-c-format
+ msgid "'%s' argument of '%s' intrinsic at %L must be double precision"
+-msgstr "实å‚‘%s’(属于内建函数‘%s’,ä½äºŽ %L)必须为åŒç²¾åº¦"
++msgstr "%3$L处内建函数‘%2$s’的实å‚‘%1$s’必须为åŒç²¾åº¦"
+
+ #: fortran/check.c:192
+ #, no-c-format
+ msgid "'%s' argument of '%s' intrinsic at %L must be a logical array"
+-msgstr "实å‚‘%s’(属于内建函数‘%s’,ä½äºŽ %L)必须是一个逻辑数组"
++msgstr "%3$L处内建函数‘%2$s’的实å‚‘%1$s’必须是一个逻辑数组"
+
+ #: fortran/check.c:210
+ #, no-c-format
+ msgid "'%s' argument of '%s' intrinsic at %L must be an array"
+-msgstr "实å‚‘%s’(属于内建函数‘%s’,ä½äºŽ %L)必须是一个数组"
++msgstr "%3$L处内建函数‘%2$s’的实å‚‘%1$s’必须是一个数组"
+
+ #: fortran/check.c:225
+ #, no-c-format
+ msgid "'%s' argument of '%s' intrinsic at %L must be the same type and kind as '%s'"
+-msgstr "实å‚‘%s’(属于内建函数‘%s’,ä½äºŽ %L)必须具有与‘%s’一样的类型和ç§åˆ«"
++msgstr "%3$L处内建函数‘%2$s’的实å‚‘%1$s’必须具有与‘%4$s’一样的类型和ç§åˆ«"
+
+ #: fortran/check.c:241
+ #, no-c-format
+ msgid "'%s' argument of '%s' intrinsic at %L must be of rank %d"
+-msgstr "实å‚‘%s’(属于内建函数‘%s’,ä½äºŽ %L)的秩必须为 %d"
++msgstr "%3$L处内建函数‘%2$s’的实å‚‘%1$s’必须为 %4$d"
+
+ #: fortran/check.c:256
+ #, no-c-format
+ msgid "'%s' argument of '%s' intrinsic at %L must not be OPTIONAL"
+-msgstr "实å‚‘%s’(属于内建函数‘%s’,ä½äºŽ %L)ä¸èƒ½ä¸ºå¯é€‰çš„"
++msgstr "%3$L处内建函数‘%2$s’的实å‚‘%1$s’ä¸èƒ½ä¸ºå¯é€‰çš„"
+
+ #: fortran/check.c:275
+ #, no-c-format
+ msgid "'%s' argument of '%s' intrinsic at %L must be of kind %d"
+-msgstr "实å‚‘%s’(属于内建函数‘%s’,ä½äºŽ %L)必须具有ç§åˆ« %d"
++msgstr "%3$L处内建函数‘%2$s’的实å‚‘%1$s’必须具有ç§åˆ« %4$d"
+
+ #: fortran/check.c:297
+ #, no-c-format
+ msgid "'%s' argument of '%s' intrinsic at %L cannot be INTENT(IN)"
+-msgstr "‘%s’实å‚(属于内建函数‘%s’)在 %L 处ä¸èƒ½æ˜¯ INTENT(IN)"
++msgstr "%3$L处内建函数‘%2$s’的实å‚‘%1$s’ä¸èƒ½æ˜¯ INTENT(IN)"
+
+ #: fortran/check.c:303
+ #, no-c-format
+ msgid "'%s' argument of '%s' intrinsic at %L must be a variable"
+-msgstr "实å‚‘%s’(属于内建函数‘%s’,ä½äºŽ %L)必须是一个å˜é‡"
++msgstr "%3$L处内建函数‘%2$s’的实å‚‘%1$s’必须是一个å˜é‡"
+
+-#: fortran/check.c:320
++#: fortran/check.c:356
+ #, no-c-format
+-msgid "Missing DIM parameter in intrinsic '%s' at %L"
+-msgstr "内建函数‘%s’在 %L 处缺少 DIM å‚æ•°"
+-
+-#: fortran/check.c:363
+-#, no-c-format
+ msgid "'dim' argument of '%s' intrinsic at %L is not a valid dimension index"
+-msgstr "‘%s’内建函数的‘dim’实å‚(于 %L 处)ä¸æ˜¯ä¸€ä¸ªæœ‰æ•ˆçš„维数索引"
++msgstr "%2$L处‘%1$s’内建函数的‘dim’实å‚ä¸æ˜¯ä¸€ä¸ªæœ‰æ•ˆçš„维数索引"
+
+-#: fortran/check.c:433
++#: fortran/check.c:426
+ #, fuzzy, no-c-format
+ msgid "Unequal character lengths (%ld and %ld) in %s intrinsic at %L"
+-msgstr "%L 处指针赋值时字符长度ä¸åŒ"
++msgstr "%L处指针赋值时字符长度ä¸åŒ"
+
+-#: fortran/check.c:535 fortran/check.c:1938 fortran/check.c:1953
++#: fortran/check.c:528 fortran/check.c:1932 fortran/check.c:1947
+ #, no-c-format
+ msgid "'%s' argument of '%s' intrinsic at %L must be ALLOCATABLE"
+-msgstr "实å‚‘%s’(属于内建函数‘%s’,ä½äºŽ %L)必须为 ALLOCATABLE"
++msgstr "%3$L处内建函数‘%2$s’的实å‚‘%1$s’必须为 ALLOCATABLE"
+
+-#: fortran/check.c:559 fortran/check.c:3703
++#: fortran/check.c:552 fortran/check.c:3697
+ #, no-c-format
+ msgid "'%s' and '%s' arguments of '%s' intrinsic at %L must have the same type"
+-msgstr "‘%s’和‘%s’实å‚(属于‘%s’内建函数)在 %L 处类型必须相åŒ"
++msgstr "%4$L处‘%3$s’内建函数的‘%1$s’和‘%2$s’实å‚类型必须相åŒ"
+
+-#: fortran/check.c:568 fortran/check.c:1143 fortran/check.c:1286
+-#: fortran/check.c:1360 fortran/check.c:1616
++#: fortran/check.c:561 fortran/check.c:1137 fortran/check.c:1280
++#: fortran/check.c:1354 fortran/check.c:1610
+ #, no-c-format
+ msgid "Extension: Different type kinds at %L"
+-msgstr "扩展:%L 处类型ç§åˆ«ä¸åŒ"
++msgstr "扩展:%L处类型ç§åˆ«ä¸åŒ"
+
+-#: fortran/check.c:608 fortran/check.c:2022
++#: fortran/check.c:601 fortran/check.c:2016
+ #, no-c-format
+ msgid "'%s' argument of '%s' intrinsic at %L must be a POINTER"
+-msgstr "实å‚‘%s’(属于内建函数‘%s’,ä½äºŽ %L)必须是一个 POINTER"
++msgstr "%3$L处内建函数‘%2$s’的实å‚‘%1$s’必须是一个 POINTER"
+
+-#: fortran/check.c:628
+-#, fuzzy, no-c-format
++#: fortran/check.c:621
++#, no-c-format
+ msgid "'%s' argument of '%s' intrinsic at %L must be a pointer or target VARIABLE or FUNCTION"
+-msgstr "‘%s’实å‚(属于内建函数‘%s’,于 %L 处)的类型必须为 REAL 或 COMPLEX"
++msgstr "%3$L处内建函数‘%2$s’的‘%1$s’实å‚类型必须为指针或目标 VARIABLE 或 FUNCTION"
+
+-#: fortran/check.c:636
++#: fortran/check.c:629
+ #, no-c-format
+ msgid "'%s' argument of '%s' intrinsic at %L must be a POINTER or a TARGET"
+-msgstr "实å‚‘%s’(属于内建函数‘%s’,ä½äºŽ %L)必须是一个 POINTER 或 TARGET"
++msgstr "%3$L处内建函数‘%2$s’的实å‚‘%1$s’必须是一个 POINTER 或 TARGET"
+
+-#: fortran/check.c:652
++#: fortran/check.c:645
+ #, no-c-format
+ msgid "Array section with a vector subscript at %L shall not be the target of a pointer"
+-msgstr "%L 处由矢é‡ä¸‹æ ‡é€‰æ‹©çš„部分数组ä¸åº”是指针的目标"
++msgstr "%L处由矢é‡ä¸‹æ ‡é€‰æ‹©çš„部分数组ä¸åº”是指针的目标"
+
+-#: fortran/check.c:663
++#: fortran/check.c:656
+ #, no-c-format
+ msgid "NULL pointer at %L is not permitted as actual argument of '%s' intrinsic function"
+ msgstr "%L çš„ NULL 指针ä¸èƒ½ç”¨ä½œå†…建函数‘%s’的实å‚"
+
+-#: fortran/check.c:798 fortran/check.c:915
++#: fortran/check.c:791 fortran/check.c:910
+ #, no-c-format
+ msgid "'%s' argument of '%s' intrinsic at %L must not be present if 'x' is COMPLEX"
+-msgstr "当‘x’是 COMPLEX 时‘%s’实å‚(属于‘%s’内建函数,在 %L 处)ä¸èƒ½å­˜åœ¨"
++msgstr "当‘x’是 COMPLEX æ—¶%3$L处内建函数‘%2$s’的实å‚‘%1$s’ä¸èƒ½å­˜åœ¨"
+
+-#: fortran/check.c:848 fortran/check.c:1205 fortran/check.c:1308
+-#: fortran/check.c:1467 fortran/check.c:1484 fortran/check.c:2318
+-#: fortran/check.c:2444 fortran/check.c:2779 fortran/check.c:2821
++#: fortran/check.c:841 fortran/check.c:1199 fortran/check.c:1302
++#: fortran/check.c:1461 fortran/check.c:1478 fortran/check.c:2312
++#: fortran/check.c:2438 fortran/check.c:2773 fortran/check.c:2815
+ #, fuzzy, no-c-format
+ msgid "Fortran 2003: '%s' intrinsic with KIND argument at %L"
+-msgstr "Fortran 2003:%C 处的 FLUSH 语å¥"
++msgstr "Fortran 2003:%C处的 FLUSH 语å¥"
+
+-#: fortran/check.c:964 fortran/check.c:1712 fortran/check.c:1720
++#: fortran/check.c:959 fortran/check.c:1706 fortran/check.c:1714
+ #, no-c-format
+ msgid "'%s' argument of '%s' intrinsic at %L must be numeric or LOGICAL"
+-msgstr "实å‚‘%s’(属于内建函数‘%s’,ä½äºŽ %L)必须为数字或 LOGICAL åž‹"
++msgstr "%3$L处内建函数‘%2$s’的实å‚‘%1$s’必须为数字或 LOGICAL åž‹"
+
+-#: fortran/check.c:978
++#: fortran/check.c:973
+ #, no-c-format
+ msgid "Different shape for arguments '%s' and '%s' at %L for intrinsic 'dot_product'"
+ msgstr ""
+
+-#: fortran/check.c:997 fortran/check.c:1005
+-#, fuzzy, no-c-format
++#: fortran/check.c:992 fortran/check.c:1000
++#, no-c-format
+ msgid "'%s' argument of '%s' intrinsic at %L must be default real"
+-msgstr "实å‚‘%s’(属于内建函数‘%s’,ä½äºŽ %L)必须是一个å˜é‡"
++msgstr "%3$L处内建函数‘%2$s’的‘%1$s’实å‚类型必须为默认实型"
+
+-#: fortran/check.c:1256
++#: fortran/check.c:1250
+ #, no-c-format
+ msgid "Argument of %s at %L must be of length one"
+ msgstr "%s çš„å‚æ•°(ä½äºŽ %L)长度必须为 1"
+
+-#: fortran/check.c:1315
++#: fortran/check.c:1309
+ #, no-c-format
+ msgid "'%s' argument of '%s' intrinsic at %L must be the same kind as '%s'"
+-msgstr "实å‚‘%s’(属于内建函数‘%s’,ä½äºŽ %L)必须具有与‘%s’一样的ç§åˆ«"
++msgstr "%3$L处内建函数‘%2$s’的实å‚‘%1$s’必须具有与‘%4$s’一样的ç§åˆ«"
+
+-#: fortran/check.c:1440
++#: fortran/check.c:1434
+ #, no-c-format
+ msgid "'%s' argument of '%s' intrinsic at %L must be a non-derived type"
+-msgstr "实å‚‘%s’(属于内建函数‘%s’,ä½äºŽ %L)ä¸èƒ½æ˜¯æ´¾ç”Ÿç±»åž‹"
++msgstr "%3$L处内建函数‘%2$s’的实å‚‘%1$s’ä¸èƒ½æ˜¯æ´¾ç”Ÿç±»åž‹"
+
+-#: fortran/check.c:1589
++#: fortran/check.c:1583
+ #, no-c-format
+ msgid "Intrinsic '%s' at %L must have at least two arguments"
+-msgstr "内建函数‘%s’ 于 %L 处必须有至少两个实å‚"
++msgstr "%2$L处的内建函数‘%1$s’必须至少有两个实å‚"
+
+-#: fortran/check.c:1622
++#: fortran/check.c:1616
+ #, no-c-format
+ msgid "'a%d' argument of '%s' intrinsic at %L must be %s(%d)"
+-msgstr "实å‚‘%s’(属于内建函数‘%s’,ä½äºŽ %L)必须是 %s(%d)"
++msgstr "%3$L处内建函数‘%2$s’的实å‚‘a%1$d’必须是 %4$s(%5$d)"
+
+-#: fortran/check.c:1655
++#: fortran/check.c:1649
+ #, no-c-format
+ msgid "Fortran 2003: '%s' intrinsic with CHARACTER argument at %L"
+ msgstr ""
+
+-#: fortran/check.c:1662
++#: fortran/check.c:1656
+ #, no-c-format
+ msgid "'a1' argument of '%s' intrinsic at %L must be INTEGER, REAL or CHARACTER"
+-msgstr "‘%s’内建函数的‘a1’实å‚在 %L 处必须是 INTEGERã€REAL 或 CHARACTER"
++msgstr "%2$L处‘%1$s’内建函数的‘a1’实å‚必须是 INTEGERã€REAL 或 CHARACTER"
+
+-#: fortran/check.c:1734
++#: fortran/check.c:1728
+ #, no-c-format
+ msgid "Different shape on dimension 1 for arguments '%s' and '%s' at %L for intrinsic matmul"
+ msgstr ""
+
+-#: fortran/check.c:1753
++#: fortran/check.c:1747
+ #, no-c-format
+ msgid "Different shape on dimension 2 for argument '%s' and dimension 1 for argument '%s' at %L for intrinsic matmul"
+ msgstr ""
+
+-#: fortran/check.c:1762
++#: fortran/check.c:1756
+ #, no-c-format
+ msgid "'%s' argument of '%s' intrinsic at %L must be of rank 1 or 2"
+-msgstr "实å‚‘%s’(属于内建函数‘%s’,ä½äºŽ %L)的秩必须为 1 或 2"
++msgstr "%3$L处内建函数‘%2$s’的实å‚‘%1$s’的秩必须为 1 或 2"
+
+-#: fortran/check.c:1964
++#: fortran/check.c:1958
+ #, no-c-format
+ msgid "the '%s' and '%s' arguments of '%s' intrinsic at %L must have the same rank %d/%d"
+-msgstr "‘%s’和‘%s’实å‚(属于‘%s’内建函数)在 %L 处必须有相åŒçš„秩 %d/%d"
++msgstr "%4$L处‘%3$s’内建函数的‘%1$s’和‘%2$s’实å‚必须有相åŒçš„秩 %5$d/%6$d"
+
+-#: fortran/check.c:1973
++#: fortran/check.c:1967
+ #, no-c-format
+ msgid "the '%s' and '%s' arguments of '%s' intrinsic at %L must be of the same kind %d/%d"
+-msgstr "‘%s’和‘%s’实å‚(属于‘%s’内建函数)在 %L 处必须有相åŒçš„ç§åˆ« %d/%d"
++msgstr "%4$L处‘%3$s’内建函数的‘%1$s’和‘%2$s’实å‚必须有相åŒçš„ç§åˆ« %5$d/%6$d"
+
+-#: fortran/check.c:2069
++#: fortran/check.c:2063
+ #, no-c-format
+ msgid "'%s' argument of '%s' intrinsic at %L must be of type REAL or COMPLEX"
+-msgstr "‘%s’实å‚(属于内建函数‘%s’,于 %L 处)的类型必须为 REAL 或 COMPLEX"
++msgstr "%3$L处内建函数‘%2$s’的‘%1$s’实å‚类型必须为 REAL 或 COMPLEX"
+
+-#: fortran/check.c:2090
++#: fortran/check.c:2084
+ #, no-c-format
+ msgid "'%s' argument of '%s' intrinsic at %L must be of a dummy variable"
+-msgstr "实å‚‘%s’(属于内建函数‘%s’,ä½äºŽ %L)必须是一个哑元å˜é‡"
++msgstr "%3$L处内建函数‘%2$s’的实å‚‘%1$s’必须是一个哑元å˜é‡"
+
+-#: fortran/check.c:2098
++#: fortran/check.c:2092
+ #, no-c-format
+ msgid "'%s' argument of '%s' intrinsic at %L must be of an OPTIONAL dummy variable"
+-msgstr "‘%s’实å‚(属于‘%s’内建函数,ä½äºŽ %L)必须是一个 OPTIONAL å“‘å˜é‡"
++msgstr "%3$L处内建函数‘%2$s’的实å‚‘%1$s’必须是一个 OPTIONAL å“‘å˜é‡"
+
+-#: fortran/check.c:2114
+-#, fuzzy, no-c-format
++#: fortran/check.c:2108
++#, no-c-format
+ msgid "'%s' argument of '%s' intrinsic at %L must not be a subobject of '%s'"
+-msgstr "当‘x’是 COMPLEX 时‘%s’实å‚(属于‘%s’内建函数,在 %L 处)ä¸èƒ½å­˜åœ¨"
++msgstr "%3$L处内建函数‘%2$s’的实å‚‘%1$s’必须是‘%4$s’的å­å¯¹è±¡"
+
+-#: fortran/check.c:2231
++#: fortran/check.c:2225
+ #, no-c-format
+ msgid "'shape' argument of 'reshape' intrinsic at %L must be an array of constant size"
+-msgstr "‘reshape’内建函数的‘shape’实å‚在 %L 处必须是大å°ä¸ºå¸¸é‡çš„数组"
++msgstr "‘reshape’内建函数的‘shape’实å‚在%L处必须是大å°ä¸ºå¸¸é‡çš„数组"
+
+-#: fortran/check.c:2241
++#: fortran/check.c:2235
+ #, no-c-format
+ msgid "'shape' argument of 'reshape' intrinsic at %L has more than %d elements"
+-msgstr "‘reshape’内建函数的‘shape’实å‚在 %L 处有多于 %d 个的元素"
++msgstr "‘reshape’内建函数的‘shape’实å‚在%L处有多于 %d 个的元素"
+
+-#: fortran/check.c:2279
++#: fortran/check.c:2273
+ #, no-c-format
+ msgid "Without padding, there are not enough elements in the intrinsic RESHAPE source at %L to match the shape"
+ msgstr ""
+
+-#: fortran/check.c:2364
++#: fortran/check.c:2358
+ #, no-c-format
+ msgid "Missing arguments to %s intrinsic at %L"
+-msgstr "%s 内建函数缺少实å‚,于 %L 处"
++msgstr "%2$L处 %1$s 内建函数缺少实å‚"
+
+-#: fortran/check.c:2405
++#: fortran/check.c:2399
+ #, no-c-format
+ msgid "'source' argument of 'shape' intrinsic at %L must not be an assumed size array"
+-msgstr "‘shape’内建函数的‘source’实å‚在 %L 处ä¸èƒ½æ˜¯å‡å®šå¤§å°çš„数组"
++msgstr "‘shape’内建函数的‘source’实å‚在%L处ä¸èƒ½æ˜¯å‡å®šå¤§å°çš„数组"
+
+-#: fortran/check.c:2479
++#: fortran/check.c:2473
+ #, no-c-format
+ msgid "'%s' argument of '%s' intrinsic at %L must be less than rank %d"
+-msgstr "实å‚‘%s’(属于内建函数‘%s’,ä½äºŽ %L)秩必须å°äºŽ %d"
++msgstr "%3$L处内建函数‘%2$s’的实å‚‘%1$s’秩必须å°äºŽ %d"
+
+-#: fortran/check.c:2731
+-#, fuzzy, no-c-format
++#: fortran/check.c:2725
++#, no-c-format
+ msgid "'MOLD' argument of 'TRANSFER' intrinsic at %L must not be %s"
+-msgstr "实å‚‘%s’(属于内建函数‘%s’,ä½äºŽ %L)必须是 %s"
++msgstr "%L处‘TRANSER’内建函数的‘MOLD’å‚æ•°ä¸èƒ½æ˜¯ %s"
+
+-#: fortran/check.c:3050
++#: fortran/check.c:3044
+ #, no-c-format
+ msgid "Too many arguments to %s at %L"
+ msgstr "给予函数 %s çš„å‚数太多,于 %L"
+
+-#: fortran/check.c:3162 fortran/check.c:3616 fortran/check.c:3640
++#: fortran/check.c:3156 fortran/check.c:3610 fortran/check.c:3634
+ #, no-c-format
+ msgid "'%s' argument of '%s' intrinsic at %L must be INTEGER or PROCEDURE"
+ msgstr "实å‚‘%s’(属于内建函数‘%s’,ä½äºŽ %L)必须为 INTEGER 或 PROCEDURE"
+
+-#: fortran/check.c:3338
+-#, fuzzy, no-c-format
++#: fortran/check.c:3332
++#, no-c-format
+ msgid "'%s' argument of '%s' intrinsic at %L must be of a kind not wider than the default kind (%d)"
+-msgstr "实å‚‘%s’(属于内建函数‘%s’,ä½äºŽ %L)的秩必须为 %d"
++msgstr "%3$L处内建函数‘%2$s’的实å‚‘%1$s’的ç§åˆ«å¿…é¡»ä¸èƒ½æ¯”默认ç§åˆ«(%4$d)宽"
+
+-#: fortran/check.c:3687 fortran/check.c:3695
++#: fortran/check.c:3681 fortran/check.c:3689
+ #, no-c-format
+ msgid "'%s' argument of '%s' intrinsic at %L must be INTEGER or LOGICAL"
+ msgstr "实å‚‘%s’(属于内建函数‘%s’,ä½äºŽ %L)必须为 INTEGER 或 LOGICAL"
+@@ -4221,7 +4142,7 @@
+ #: fortran/data.c:64
+ #, no-c-format
+ msgid "non-constant array in DATA statement %L"
+-msgstr "%L 处 DATA 语å¥ä¸­æœ‰éžå¸¸é‡æ•°ç»„"
++msgstr "%L处 DATA 语å¥ä¸­æœ‰éžå¸¸é‡æ•°ç»„"
+
+ #: fortran/data.c:193
+ #, no-c-format
+@@ -4231,900 +4152,936 @@
+ #: fortran/data.c:224
+ #, no-c-format
+ msgid "initialization string truncated to match variable at %L"
+-msgstr "åˆå§‹åŒ–å­—ç¬¦ä¸²è¢«æˆªæ–­ï¼Œä»¥åŒ¹é… %L 处的å˜é‡"
++msgstr "åˆå§‹åŒ–字符串被截断,以匹é…%L处的å˜é‡"
+
+ #: fortran/data.c:293
+-#, fuzzy, no-c-format
++#, no-c-format
+ msgid "'%s' at %L already is initialized at %L"
+-msgstr "进程‘%s’在 %C 处已ç»åœ¨ %L 处被定义"
++msgstr "%2$L处的‘%1$s’已于 %3$L处被åˆå§‹åŒ–"
+
+-#: fortran/data.c:412
++#: fortran/data.c:317
+ #, no-c-format
++msgid "Data element below array lower bound at %L"
++msgstr "%L处数æ®å…ƒç´ ä½ŽäºŽæ•°ç»„下é™"
++
++#: fortran/data.c:329
++#, no-c-format
++msgid "Data element above array upper bound at %L"
++msgstr "%L处数æ®å…ƒç´ é«˜äºŽæ•°ç»„上é™"
++
++#: fortran/data.c:435
++#, no-c-format
+ msgid "Extension: re-initialization of '%s' at %L"
+ msgstr "扩展:‘%s’é‡åˆå§‹åŒ–于 %L"
+
+-#: fortran/decl.c:254
++#: fortran/decl.c:253
+ #, fuzzy, no-c-format
+ msgid "Host associated variable '%s' may not be in the DATA statement at %C"
+ msgstr "%C READ 语å¥éœ€è¦å˜é‡"
+
+-#: fortran/decl.c:261
++#: fortran/decl.c:260
+ #, no-c-format
+ msgid "Extension: initialization of common block variable '%s' in DATA statement at %C"
+-msgstr "扩展:DATA 语å¥ä¸­å¯¹å…¬å…±å—å˜é‡â€˜%s’在 %C 处åˆå§‹åŒ–"
++msgstr "扩展:DATA 语å¥ä¸­å¯¹å…¬å…±å—å˜é‡â€˜%s’在%C处åˆå§‹åŒ–"
+
+-#: fortran/decl.c:366
++#: fortran/decl.c:365
+ #, no-c-format
+ msgid "Symbol '%s' must be a PARAMETER in DATA statement at %C"
+-msgstr "DATA 语å¥ä¸­ç¬¦å·â€˜%s’必须是一个 PARAMETER,在 %C 处"
++msgstr "%2$C处 DATA 语å¥ä¸­ç¬¦å·â€˜%1$s’必须是一个 PARAMETER"
+
+-#: fortran/decl.c:470
++#: fortran/decl.c:390
+ #, no-c-format
++msgid "Invalid initializer %s in Data statement at %C"
++msgstr "%2$C处 DATA 语å¥åˆå§‹å€¼è®¾å®š %1$s 无效"
++
++#: fortran/decl.c:493
++#, no-c-format
+ msgid "Initialization at %C is not allowed in a PURE procedure"
+-msgstr "åˆå§‹åŒ–ä¸å…许出现在 %C 处的 PURE 过程中"
++msgstr "åˆå§‹åŒ–ä¸å…许出现在%C处的 PURE 过程中"
+
+-#: fortran/decl.c:529
++#: fortran/decl.c:552
+ #, no-c-format
+ msgid "DATA statement at %C is not allowed in a PURE procedure"
+-msgstr "DATA 语å¥ä¸å…许出现在 %C 处的 PURE 过程中"
++msgstr "DATA 语å¥ä¸å…许出现在%C处的 PURE 过程中"
+
+-#: fortran/decl.c:558
++#: fortran/decl.c:581
+ #, no-c-format
+ msgid "Bad INTENT specification at %C"
+-msgstr "%C 处错误地指定 INTENT"
++msgstr "%C处错误地指定 INTENT"
+
+-#: fortran/decl.c:600
++#: fortran/decl.c:623
+ #, no-c-format
+ msgid "Conflict in attributes of function argument at %C"
+ msgstr ""
+
+-#: fortran/decl.c:647
++#: fortran/decl.c:676
+ #, no-c-format
+ msgid "Syntax error in character length specification at %C"
+-msgstr "%C 处指定字符长度时语法错误"
++msgstr "%C处指定字符长度时语法错误"
+
+-#: fortran/decl.c:757
++#: fortran/decl.c:795
+ #, no-c-format
+ msgid "Procedure '%s' at %C is already defined at %L"
+-msgstr "进程‘%s’在 %C 处已ç»åœ¨ %L 处被定义"
++msgstr "%2$C处的过程‘%1$s’已ç»åœ¨%3$L处被定义"
+
+-#: fortran/decl.c:765
++#: fortran/decl.c:803
+ #, fuzzy, no-c-format
+ msgid "Name '%s' at %C is already defined as a generic interface at %L"
+-msgstr "进程‘%s’在 %C 处已ç»åœ¨ %L 处被定义"
++msgstr "进程‘%s’在%C处已ç»åœ¨%L处被定义"
+
+-#: fortran/decl.c:778
++#: fortran/decl.c:816
+ #, fuzzy, no-c-format
+ msgid "Procedure '%s' at %C has an explicit interface and must not have attributes declared at %L"
+ msgstr "调用过程‘%s’带éšå¼æŽ¥å£ï¼Œä½äºŽ %L"
+
+-#: fortran/decl.c:850
++#: fortran/decl.c:888
+ #, fuzzy, no-c-format
+ msgid "Procedure '%s' at %L must have the BIND(C) attribute to be C interoperable"
+ msgstr "%L 指定了é‡å¤çš„ SAVE 属性"
+
+-#: fortran/decl.c:880
++#: fortran/decl.c:918
+ #, no-c-format
+ msgid "Type '%s' at %L is a parameter to the BIND(C) procedure '%s' but is not C interoperable because derived type '%s' is not C interoperable"
+ msgstr ""
+
+-#: fortran/decl.c:887
++#: fortran/decl.c:925
+ #, no-c-format
+ msgid "Variable '%s' at %L is a parameter to the BIND(C) procedure '%s' but may not be C interoperable"
+ msgstr ""
+
+-#: fortran/decl.c:902
++#: fortran/decl.c:940
+ #, fuzzy, no-c-format
+ msgid "Character argument '%s' at %L must be length 1 because procedure '%s' is BIND(C)"
+-msgstr "关键字实å‚‘%s’在 %L 处ä¸åœ¨è¿›ç¨‹é‡Œ"
++msgstr "关键字实å‚‘%s’在%L处ä¸åœ¨è¿›ç¨‹é‡Œ"
+
+-#: fortran/decl.c:916
++#: fortran/decl.c:954
+ #, no-c-format
+ msgid "Variable '%s' at %L cannot have the ALLOCATABLE attribute because procedure '%s' is BIND(C)"
+ msgstr ""
+
+-#: fortran/decl.c:925
++#: fortran/decl.c:963
+ #, no-c-format
+ msgid "Variable '%s' at %L cannot have the POINTER attribute because procedure '%s' is BIND(C)"
+ msgstr ""
+
+-#: fortran/decl.c:934
++#: fortran/decl.c:972
+ #, no-c-format
+ msgid "Variable '%s' at %L cannot have the OPTIONAL attribute because procedure '%s' is BIND(C)"
+ msgstr ""
+
+-#: fortran/decl.c:947
++#: fortran/decl.c:985
+ #, no-c-format
+ msgid "Assumed-shape array '%s' at %L cannot be an argument to the procedure '%s' at %L because the procedure is BIND(C)"
+ msgstr ""
+
+-#: fortran/decl.c:957
++#: fortran/decl.c:995
+ #, no-c-format
+ msgid "Deferred-shape array '%s' at %L cannot be an argument to the procedure '%s' at %L because the procedure is BIND(C)"
+ msgstr ""
+
+-#: fortran/decl.c:1033
++#: fortran/decl.c:1071
+ #, no-c-format
+ msgid "Variable '%s' in common block '%s' at %C must be declared with a C interoperable kind since common block '%s' is BIND(C)"
+ msgstr ""
+
+-#: fortran/decl.c:1069
++#: fortran/decl.c:1107
+ #, no-c-format
+ msgid "CHARACTER expression at %L is being truncated (%d/%d)"
+-msgstr "CHARACTER 表达å¼åœ¨ %L 处被截断(%d/%d)"
++msgstr "CHARACTER 表达å¼åœ¨%L处被截断(%d/%d)"
+
+-#: fortran/decl.c:1075
++#: fortran/decl.c:1113
+ #, no-c-format
+ msgid "The CHARACTER elements of the array constructor at %L must have the same length (%d/%d)"
+ msgstr ""
+
+-#: fortran/decl.c:1165
++#: fortran/decl.c:1203
+ #, no-c-format
+ msgid "Initializer not allowed for PARAMETER '%s' at %C"
+-msgstr "PARAMETER‘%s’在 %C 处ä¸å…许有åˆå§‹å€¼è®¾å®š"
++msgstr "PARAMETER‘%s’在%C处ä¸å…许有åˆå§‹å€¼è®¾å®š"
+
+-#: fortran/decl.c:1174
++#: fortran/decl.c:1213
+ #, no-c-format
+-msgid "Initializer not allowed for COMMON variable '%s' at %C"
+-msgstr "COMMON å˜é‡â€˜%s’在 %C 处ä¸å…许有åˆå§‹å€¼è®¾å®š"
+-
+-#: fortran/decl.c:1184
+-#, no-c-format
+ msgid "PARAMETER at %L is missing an initializer"
+-msgstr "%L 处 PARAMETER 缺少åˆå§‹å€¼è®¾å®š"
++msgstr "%L处 PARAMETER 缺少åˆå§‹å€¼è®¾å®š"
+
+-#: fortran/decl.c:1194
++#: fortran/decl.c:1223
+ #, no-c-format
+ msgid "Variable '%s' at %C with an initializer already appears in a DATA statement"
+ msgstr ""
+
+-#: fortran/decl.c:1344
++#: fortran/decl.c:1373
+ #, no-c-format
+ msgid "Component at %C must have the POINTER attribute"
+-msgstr "%C 处的组件必须有 POINTER 属性"
++msgstr "%C处的组件必须有 POINTER 属性"
+
+-#: fortran/decl.c:1352
++#: fortran/decl.c:1381
+ #, no-c-format
+ msgid "Array component of structure at %C must have explicit or deferred shape"
+ msgstr ""
+
+-#: fortran/decl.c:1378
++#: fortran/decl.c:1425
+ #, no-c-format
+ msgid "Allocatable component at %C must be an array"
+-msgstr "%C 处å¯åˆ†é…的组件必须是一个数组"
++msgstr "%C处å¯åˆ†é…的组件必须是一个数组"
+
+-#: fortran/decl.c:1389
++#: fortran/decl.c:1436
+ #, no-c-format
+ msgid "Pointer array component of structure at %C must have a deferred shape"
+ msgstr ""
+
+-#: fortran/decl.c:1398
++#: fortran/decl.c:1445
+ #, no-c-format
+ msgid "Allocatable component of structure at %C must have a deferred shape"
+-msgstr "%C 处å¯åˆ†é…的组件必须有延迟的外形"
++msgstr "%C处å¯åˆ†é…的组件必须有延迟的外形"
+
+-#: fortran/decl.c:1407
++#: fortran/decl.c:1454
+ #, no-c-format
+ msgid "Array component of structure at %C must have an explicit shape"
+ msgstr ""
+
+-#: fortran/decl.c:1433
++#: fortran/decl.c:1480
+ #, no-c-format
+ msgid "NULL() initialization at %C is ambiguous"
+-msgstr "%C 处的 NULL() åˆå§‹åŒ–有歧义"
++msgstr "%C处的 NULL() åˆå§‹åŒ–有歧义"
+
+-#: fortran/decl.c:1556 fortran/decl.c:5197
++#: fortran/decl.c:1603 fortran/decl.c:5395
+ #, fuzzy, no-c-format
+ msgid "Duplicate array spec for Cray pointee at %C"
+-msgstr "%C 处é‡å¤çš„æ ¼å¼æŒ‡å®š"
++msgstr "%C处é‡å¤çš„æ ¼å¼æŒ‡å®š"
+
+-#: fortran/decl.c:1616
++#: fortran/decl.c:1663
+ #, fuzzy, no-c-format
+ msgid "the type of '%s' at %C has not been declared within the interface"
+ msgstr "%qDä¸èƒ½åœ¨å‘½å空间声明"
+
+-#: fortran/decl.c:1632
++#: fortran/decl.c:1679
+ #, no-c-format
+ msgid "Function name '%s' not allowed at %C"
+-msgstr "函数å‘%s’ä¸å…许出现在 %C 处"
++msgstr "函数å‘%s’ä¸å…许出现在%C处"
+
+-#: fortran/decl.c:1648
++#: fortran/decl.c:1695
+ #, no-c-format
+ msgid "Extension: Old-style initialization at %C"
+-msgstr "扩展:%C 处旧å¼çš„åˆå§‹åŒ–"
++msgstr "扩展:%C处旧å¼çš„åˆå§‹åŒ–"
+
+-#: fortran/decl.c:1663
++#: fortran/decl.c:1710
+ #, no-c-format
+ msgid "Initialization at %C isn't for a pointer variable"
+-msgstr "%C çš„åˆå§‹åŒ–ä¸æ˜¯ä¸ºæŒ‡é’ˆå˜é‡å‡†å¤‡çš„"
++msgstr "%C处的åˆå§‹åŒ–ä¸æ˜¯ä¸ºæŒ‡é’ˆå˜é‡å‡†å¤‡çš„"
+
+-#: fortran/decl.c:1671
++#: fortran/decl.c:1718
+ #, no-c-format
+ msgid "Pointer initialization requires a NULL() at %C"
+-msgstr "%C 处的指针åˆå§‹åŒ–éœ€è¦ NULL()"
++msgstr "%C处的指针åˆå§‹åŒ–éœ€è¦ NULL()"
+
+-#: fortran/decl.c:1677
++#: fortran/decl.c:1724
+ #, no-c-format
+ msgid "Initialization of pointer at %C is not allowed in a PURE procedure"
+-msgstr "%C 处对指针的åˆå§‹åŒ–ä¸å…许出现在 PURE 过程中"
++msgstr "%C处对指针的åˆå§‹åŒ–ä¸å…许出现在 PURE 过程中"
+
+-#: fortran/decl.c:1690
++#: fortran/decl.c:1737
+ #, no-c-format
+ msgid "Pointer initialization at %C requires '=>', not '='"
+-msgstr "在 %C 处的指针åˆå§‹åŒ–需è¦â€˜=>’,而ä¸æ˜¯â€˜=’"
++msgstr "在%C处的指针åˆå§‹åŒ–需è¦â€˜=>’,而ä¸æ˜¯â€˜=’"
+
+-#: fortran/decl.c:1699 fortran/decl.c:6129
++#: fortran/decl.c:1746 fortran/decl.c:6361
+ #, no-c-format
+ msgid "Expected an initialization expression at %C"
+-msgstr "%C 处需è¦ä¸€ä¸ªåˆå§‹åŒ–表达å¼"
++msgstr "%C处需è¦ä¸€ä¸ªåˆå§‹åŒ–表达å¼"
+
+-#: fortran/decl.c:1705
++#: fortran/decl.c:1752
+ #, no-c-format
+ msgid "Initialization of variable at %C is not allowed in a PURE procedure"
+-msgstr "%C 处对å˜é‡çš„åˆå§‹åŒ–ä¸å…许出现在 PURE 过程中"
++msgstr "%C处对å˜é‡çš„åˆå§‹åŒ–ä¸å…许出现在 PURE 过程中"
+
+-#: fortran/decl.c:1718
++#: fortran/decl.c:1765
+ #, fuzzy, no-c-format
+ msgid "Initialization of allocatable component at %C is not allowed"
+-msgstr "åˆå§‹åŒ–ä¸å…许出现在 %C 处的 PURE 过程中"
++msgstr "åˆå§‹åŒ–ä¸å…许出现在%C处的 PURE 过程中"
+
+-#: fortran/decl.c:1772 fortran/decl.c:1781
++#: fortran/decl.c:1819 fortran/decl.c:1828
+ #, no-c-format
+ msgid "Old-style type declaration %s*%d not supported at %C"
+-msgstr "æ—§å¼çš„类型声明 %s*%d 于 %C 处ä¸å—支æŒ"
++msgstr "%3$C处旧å¼çš„类型声明 %1$s*%2$d ä¸å—支æŒ"
+
+-#: fortran/decl.c:1786
++#: fortran/decl.c:1833
+ #, no-c-format
+ msgid "Nonstandard type declaration %s*%d at %C"
+-msgstr "ä¸ç¬¦åˆæ ‡å‡†çš„ %s*%d 类型声明,于 %C 处"
++msgstr "%3$C处的 %1$s*%2$d 类型声明ä¸ç¬¦åˆæ ‡å‡†"
+
+-#: fortran/decl.c:1838 fortran/decl.c:1897
++#: fortran/decl.c:1884 fortran/decl.c:1948
+ #, no-c-format
+ msgid "Missing right parenthesis at %C"
+-msgstr "%C 处缺少å³æ‹¬å·"
++msgstr "%C处缺少å³æ‹¬å·"
+
+-#: fortran/decl.c:1853 fortran/decl.c:1931
++#: fortran/decl.c:1897 fortran/decl.c:1993
+ #, no-c-format
+ msgid "Expected initialization expression at %C"
+-msgstr "%C 处需è¦åˆå§‹åŒ–表达å¼"
++msgstr "%C处需è¦åˆå§‹åŒ–表达å¼"
+
+-#: fortran/decl.c:1861 fortran/decl.c:1937
++#: fortran/decl.c:1905 fortran/decl.c:1999
+ #, no-c-format
+ msgid "Expected scalar initialization expression at %C"
+-msgstr "%C 处需è¦æ ‡é‡åˆå§‹åŒ–表达å¼"
++msgstr "%C处需è¦æ ‡é‡åˆå§‹åŒ–表达å¼"
+
+-#: fortran/decl.c:1891
++#: fortran/decl.c:1936
+ #, no-c-format
+ msgid "Kind %d not supported for type %s at %C"
+-msgstr "ç§åˆ« %d 在 %C 处 ä¸ä¸ºç±»åž‹ %s 所支æŒ"
++msgstr "ç§åˆ« %d 在%C处ä¸ä¸ºç±»åž‹ %s 所支æŒ"
+
+-#: fortran/decl.c:1957
+-#, fuzzy, no-c-format
++#: fortran/decl.c:1946
++#, no-c-format
++msgid "Missing right parenthesis or comma at %C"
++msgstr "%C处缺少å³æ‹¬å·æˆ–逗å·"
++
++#: fortran/decl.c:2019
++#, no-c-format
+ msgid "Kind %d is not supported for CHARACTER at %C"
+-msgstr "ç§åˆ« %d 在 %C 处 ä¸ä¸ºç±»åž‹ %s 所支æŒ"
++msgstr "ç§åˆ« %d 在%C处ä¸ä¸º CHARACTER 所支æŒ"
+
+-#: fortran/decl.c:2086
++#: fortran/decl.c:2148
+ #, no-c-format
+ msgid "Syntax error in CHARACTER declaration at %C"
+-msgstr "%C 的 CHARACTER 声明语法错误"
++msgstr "%C处 CHARACTER 声明语法错误"
+
+-#: fortran/decl.c:2156
++#: fortran/decl.c:2233
+ #, no-c-format
+ msgid "Extension: BYTE type at %C"
+-msgstr "扩展:%C 处的 BYTE 类型"
++msgstr "扩展:%C处的 BYTE 类型"
+
+-#: fortran/decl.c:2162
++#: fortran/decl.c:2239
+ #, no-c-format
+ msgid "BYTE type used at %C is not available on the target machine"
+-msgstr "%C 使用到的 BYTE 类型在目标机上ä¸å¯"
++msgstr "%C处使用到的 BYTE 类型在目标机上ä¸å¯ç”¨"
+
+-#: fortran/decl.c:2211
++#: fortran/decl.c:2288
+ #, no-c-format
+ msgid "DOUBLE COMPLEX at %C does not conform to the Fortran 95 standard"
+-msgstr "%C 处的 DOUBLE COMPLEX ä¸éµå¾ª Fortran 95 标准"
++msgstr "%C处的 DOUBLE COMPLEX ä¸éµå¾ª Fortran 95 标准"
+
+-#: fortran/decl.c:2245 fortran/decl.c:2252 fortran/decl.c:2558
+-#: fortran/decl.c:2566
++#: fortran/decl.c:2328 fortran/decl.c:2337 fortran/decl.c:2649
++#: fortran/decl.c:2657
+ #, no-c-format
+ msgid "Type name '%s' at %C is ambiguous"
+-msgstr "类型å‘%s’(于 %C 处)有歧义"
++msgstr "%2$C处的类型å‘%1$s’有歧义"
+
+-#: fortran/decl.c:2321
++#: fortran/decl.c:2412
+ #, no-c-format
+ msgid "Missing character range in IMPLICIT at %C"
+-msgstr "%C 处 IMPLICIT 缺少字符范围"
++msgstr "%C处 IMPLICIT 缺少字符范围"
+
+-#: fortran/decl.c:2367
++#: fortran/decl.c:2458
+ #, no-c-format
+ msgid "Letters must be in alphabetic order in IMPLICIT statement at %C"
+-msgstr "%C 处 IMPLICIT 语å¥ä¸­çš„å­—æ¯å¿…须按åºæŽ’列"
++msgstr "%C处 IMPLICIT 语å¥ä¸­çš„å­—æ¯å¿…须按åºæŽ’列"
+
+-#: fortran/decl.c:2421
++#: fortran/decl.c:2512
+ #, no-c-format
+ msgid "Empty IMPLICIT statement at %C"
+-msgstr "%C IMPLICIT 语å¥ä¸ºç©º"
++msgstr "%C处 IMPLICIT 语å¥ä¸ºç©º"
+
+-#: fortran/decl.c:2524
+-#, fuzzy, no-c-format
++#: fortran/decl.c:2615
++#, no-c-format
+ msgid "IMPORT statement at %C only permitted in an INTERFACE body"
+-msgstr "%C 处的 ENTRY 语å¥ä¸èƒ½å‡ºçŽ°åœ¨ INTERFACE 中"
++msgstr "%C处 IMPORT 语å¥åªå…许出现在接å£ä½“中"
+
+-#: fortran/decl.c:2529
++#: fortran/decl.c:2620
+ #, no-c-format
+ msgid "Fortran 2003: IMPORT statement at %C"
+-msgstr "Fortran 2003:%C 处的 IMPORT 语å¥"
++msgstr "Fortran 2003:%C处的 IMPORT 语å¥"
+
+-#: fortran/decl.c:2544
++#: fortran/decl.c:2635
+ #, fuzzy, no-c-format
+ msgid "Expecting list of named entities at %C"
+ msgstr "éœ€è¦ %s 语å¥ï¼ŒäºŽ %C"
+
+-#: fortran/decl.c:2572
++#: fortran/decl.c:2663
+ #, no-c-format
+ msgid "Cannot IMPORT '%s' from host scoping unit at %C - does not exist."
+ msgstr ""
+
+-#: fortran/decl.c:2579
++#: fortran/decl.c:2670
+ #, no-c-format
+ msgid "'%s' is already IMPORTed from host scoping unit at %C."
+ msgstr ""
+
+-#: fortran/decl.c:2608
++#: fortran/decl.c:2699
+ #, no-c-format
+ msgid "Syntax error in IMPORT statement at %C"
+-msgstr "%C 处的 IMPORT 语å¥è¯­æ³•é”™è¯¯"
++msgstr "%C处的 IMPORT 语å¥è¯­æ³•é”™è¯¯"
+
+-#: fortran/decl.c:2850
++#: fortran/decl.c:2941
+ #, no-c-format
+ msgid "Missing dimension specification at %C"
+-msgstr "%C 处没有指定维数"
++msgstr "%C处没有指定维数"
+
+-#: fortran/decl.c:2924
++#: fortran/decl.c:3015
+ #, no-c-format
+ msgid "Duplicate %s attribute at %L"
+ msgstr "é‡å¤çš„ %s 属性,ä½äºŽ %L"
+
+-#: fortran/decl.c:2943
++#: fortran/decl.c:3034
+ #, no-c-format
+ msgid "Fortran 2003: ALLOCATABLE attribute at %C in a TYPE definition"
+-msgstr "Fortran 2003:%C 处的 ALLOCATABLE 属性出现在 TYPE 定义中"
++msgstr "Fortran 2003:%C处的 ALLOCATABLE 属性出现在 TYPE 定义中"
+
+-#: fortran/decl.c:2953
++#: fortran/decl.c:3044
+ #, no-c-format
+ msgid "Attribute at %L is not allowed in a TYPE definition"
+-msgstr "%L 处的属性ä¸å…许出现在 TYPE 定义中"
++msgstr "%L处的属性ä¸å…许出现在 TYPE 定义中"
+
+-#: fortran/decl.c:2971
++#: fortran/decl.c:3062
+ #, no-c-format
+ msgid "Fortran 2003: Attribute %s at %L in a TYPE definition"
+-msgstr "Fortran 2003:属性 %s 在 %L 处出现在 TYPE 定义中"
++msgstr "Fortran 2003:属性 %s 在%L处出现在 TYPE 定义中"
+
+-#: fortran/decl.c:2982
++#: fortran/decl.c:3073
+ #, fuzzy, no-c-format
+ msgid "%s attribute at %L is not allowed outside of the specification part of a module"
+ msgstr "%s 属性(ä½äºŽ %L)ä¸å…许出现在 MODULE 以外"
+
+-#: fortran/decl.c:3034 fortran/decl.c:5437
++#: fortran/decl.c:3125 fortran/decl.c:5635
+ #, no-c-format
+ msgid "PROTECTED at %C only allowed in specification part of a module"
+ msgstr ""
+
+-#: fortran/decl.c:3040
++#: fortran/decl.c:3131
+ #, no-c-format
+ msgid "Fortran 2003: PROTECTED attribute at %C"
+-msgstr "Fortran 2003:%C 处的 PROTECT 属性"
++msgstr "Fortran 2003:%C处的 PROTECT 属性"
+
+-#: fortran/decl.c:3071
++#: fortran/decl.c:3162
+ #, no-c-format
+ msgid "Fortran 2003: VALUE attribute at %C"
+-msgstr "Fortran 2003:%C 处的 VALUE 属性"
++msgstr "Fortran 2003:%C处的 VALUE 属性"
+
+-#: fortran/decl.c:3081
++#: fortran/decl.c:3172
+ #, no-c-format
+ msgid "Fortran 2003: VOLATILE attribute at %C"
+-msgstr "Fortran 2003:%C 处的 VOLATILE 属性"
++msgstr "Fortran 2003:%C处的 VOLATILE 属性"
+
+-#: fortran/decl.c:3121
++#: fortran/decl.c:3212
+ #, no-c-format
+ msgid "Multiple identifiers provided with single NAME= specifier at %C"
+ msgstr ""
+
+ #. Print an error, but continue parsing line.
+-#: fortran/decl.c:3171
++#: fortran/decl.c:3261
+ #, no-c-format
+ msgid "C kind parameter is for type %s but symbol '%s' at %L is of type %s"
+ msgstr ""
+
+-#: fortran/decl.c:3235
++#: fortran/decl.c:3325
+ #, fuzzy, no-c-format
+ msgid "Implicitly declared BIND(C) function '%s' at %L may not be C interoperable"
+ msgstr "指定函数‘%s’(ä½äºŽ %L)ä¸èƒ½æ˜¯ä¸€ä¸ªå†…部函数"
+
+-#: fortran/decl.c:3257
++#: fortran/decl.c:3347
+ #, no-c-format
+ msgid "Variable '%s' in common block '%s' at %L may not be a C interoperable kind though common block '%s' is BIND(C)"
+ msgstr ""
+
+-#: fortran/decl.c:3266
++#: fortran/decl.c:3356
+ #, no-c-format
+ msgid "Type declaration '%s' at %L is not C interoperable but it is BIND(C)"
+ msgstr ""
+
+-#: fortran/decl.c:3270
+-#, fuzzy, no-c-format
++#: fortran/decl.c:3360
++#, no-c-format
+ msgid "Variable '%s' at %L may not be a C interoperable kind but it is bind(c)"
+-msgstr "å˜é‡â€˜%s’在 %L 尚未分é…到格å¼æ ‡å·"
++msgstr "%2$L处的å˜é‡â€˜%1$s’无法与 C 互æ“作但被声明为 BIND(C)"
+
+-#: fortran/decl.c:3282
++#: fortran/decl.c:3372
+ #, no-c-format
+ msgid "Variable '%s' in common block '%s' at %L cannot be declared with BIND(C) since it is not a global"
+ msgstr ""
+
+-#: fortran/decl.c:3296
++#: fortran/decl.c:3386
+ #, fuzzy, no-c-format
+ msgid "Variable '%s' at %L cannot have both the POINTER and BIND(C) attributes"
+ msgstr "%L 指定了é‡å¤çš„ SAVE 属性"
+
+-#: fortran/decl.c:3304
++#: fortran/decl.c:3394
+ #, fuzzy, no-c-format
+ msgid "Variable '%s' at %L cannot have both the ALLOCATABLE and BIND(C) attributes"
+ msgstr "%L 指定了é‡å¤çš„ SAVE 属性"
+
+-#: fortran/decl.c:3314
+-#, fuzzy, no-c-format
++#: fortran/decl.c:3404
++#, no-c-format
+ msgid "Return type of BIND(C) function '%s' at %L cannot be an array"
+-msgstr "CHARACTER(*) 函数‘%s’在 %L 处ä¸èƒ½ä¸ºæ•°ç»„值"
++msgstr "%2$L处的BIND(C) 函数‘%1$s’ä¸èƒ½è¿”回一个数组"
+
+-#: fortran/decl.c:3322
+-#, fuzzy, no-c-format
++#: fortran/decl.c:3412
++#, no-c-format
+ msgid "Return type of BIND(C) function '%s' at %L cannot be a character string"
+-msgstr "指定函数‘%s’(ä½äºŽ %L)ä¸èƒ½æ˜¯ä¸€ä¸ªè¯­å¥å‡½æ•°"
++msgstr "%2$L处的BIND(C) 函数‘%1$s’ä¸èƒ½è¿”回一个字符串"
+
+ #. Use gfc_warning_now because we won't say that the symbol fails
+ #. just because of this.
+-#: fortran/decl.c:3334
++#: fortran/decl.c:3424
+ #, no-c-format
+ msgid "Symbol '%s' at %L is marked PRIVATE but has been given the binding label '%s'"
+ msgstr ""
+
+-#: fortran/decl.c:3409
++#: fortran/decl.c:3499
+ #, no-c-format
+ msgid "Need either entity or common block name for attribute specification statement at %C"
+ msgstr ""
+
+-#: fortran/decl.c:3456
++#: fortran/decl.c:3546
+ #, fuzzy, no-c-format
+ msgid "Missing entity or common block name for attribute specification statement at %C"
+-msgstr "扩展:DATA 语å¥ä¸­å¯¹å…¬å…±å—å˜é‡â€˜%s’在 %C 处åˆå§‹åŒ–"
++msgstr "扩展:DATA 语å¥ä¸­å¯¹å…¬å…±å—å˜é‡â€˜%s’在%C处åˆå§‹åŒ–"
+
+ #. Now we have an error, which we signal, and then fix up
+ #. because the knock-on is plain and simple confusing.
+-#: fortran/decl.c:3563
++#: fortran/decl.c:3653
+ #, fuzzy, no-c-format
+ msgid "Derived type at %C has not been previously defined and so cannot appear in a derived type definition"
+-msgstr "%C 处的派生类型尚未被定义,因此ä¸èƒ½å‡ºçŽ°åœ¨æ´¾ç”Ÿç±»åž‹å®šä¹‰ä¸­"
++msgstr "%C处的派生类型尚未被定义,因此ä¸èƒ½å‡ºçŽ°åœ¨æ´¾ç”Ÿç±»åž‹å®šä¹‰ä¸­"
+
+-#: fortran/decl.c:3595
++#: fortran/decl.c:3685
+ #, no-c-format
+ msgid "Syntax error in data declaration at %C"
+-msgstr "%C 处数æ®å£°æ˜Žè¯­æ³•é”™è¯¯"
++msgstr "%C处数æ®å£°æ˜Žè¯­æ³•é”™è¯¯"
+
+-#: fortran/decl.c:3742
++#: fortran/decl.c:3832
+ #, no-c-format
+ msgid "Name '%s' at %C is the name of the procedure"
+-msgstr "å字‘%s’(ä½äºŽ %C)是一个过程的åå­—"
++msgstr "%2$C处的å字‘%1$s’是一个过程的åå­—"
+
+-#: fortran/decl.c:3754
++#: fortran/decl.c:3844
+ #, no-c-format
+ msgid "Unexpected junk in formal argument list at %C"
+-msgstr "%C 处形å‚列表中有éžé¢„期的垃圾字符"
++msgstr "%C处形å‚列表中有éžé¢„期的垃圾字符"
+
+-#: fortran/decl.c:3771
++#: fortran/decl.c:3861
+ #, no-c-format
+ msgid "Duplicate symbol '%s' in formal argument list at %C"
+-msgstr "符å·â€˜%s’在 %C 处的形å‚列表中é‡å¤å‡ºçŽ°"
++msgstr "符å·â€˜%s’在%C处的形å‚列表中é‡å¤å‡ºçŽ°"
+
+-#: fortran/decl.c:3822
++#: fortran/decl.c:3912
+ #, no-c-format
+ msgid "RESULT variable at %C must be different than function name"
+-msgstr "%C 处 RESULT å˜é‡ä¸èƒ½ä¸Žå‡½æ•°é‡å"
++msgstr "%C处 RESULT å˜é‡ä¸èƒ½ä¸Žå‡½æ•°é‡å"
+
+-#: fortran/decl.c:3892
++#: fortran/decl.c:3990
+ #, no-c-format
+ msgid "Unexpected junk after function declaration at %C"
+-msgstr "%C 处的函数声明åŽæœ‰éžé¢„期的垃圾字符"
++msgstr "%C处的函数声明åŽæœ‰éžé¢„期的垃圾字符"
+
+-#: fortran/decl.c:3951
++#: fortran/decl.c:4000 fortran/decl.c:4734
++#, no-c-format
++msgid "Extension: BIND(C) attribute at %L may not be specified for an internal procedure"
++msgstr "扩展:ä¸èƒ½åœ¨%L处为内部过程指定 BIND(C) 属性"
++
++#: fortran/decl.c:4066
+ #, fuzzy, no-c-format
+ msgid "Interface '%s' at %C may not be generic"
+-msgstr "%L 处游标步进ä¸èƒ½ä¸ºé›¶"
++msgstr "%L处游标步进ä¸èƒ½ä¸ºé›¶"
+
+-#: fortran/decl.c:3956
++#: fortran/decl.c:4071
+ #, fuzzy, no-c-format
+ msgid "Interface '%s' at %C may not be a statement function"
+ msgstr "指定函数‘%s’(ä½äºŽ %L)ä¸èƒ½æ˜¯ä¸€ä¸ªè¯­å¥å‡½æ•°"
+
+-#: fortran/decl.c:3967
++#: fortran/decl.c:4082
+ #, fuzzy, no-c-format
+ msgid "Intrinsic procedure '%s' not allowed in PROCEDURE statement at %C"
+-msgstr "内部过程‘%s’在 %L 处ä¸å…许用作实å‚"
++msgstr "内部过程‘%s’在%L处ä¸å…许用作实å‚"
+
+-#: fortran/decl.c:3975
++#: fortran/decl.c:4118
+ #, no-c-format
+-msgid "Fortran 2003: Support for intrinsic procedure '%s' in PROCEDURE statement at %C not yet implemented in gfortran"
+-msgstr ""
+-
+-#: fortran/decl.c:4014
+-#, no-c-format
+ msgid "BIND(C) attribute at %C requires an interface with BIND(C)"
+ msgstr ""
+
+-#: fortran/decl.c:4021
++#: fortran/decl.c:4125
+ #, no-c-format
+ msgid "BIND(C) procedure with NAME may not have POINTER attribute at %C"
+ msgstr ""
+
+-#: fortran/decl.c:4027
++#: fortran/decl.c:4131
+ #, fuzzy, no-c-format
+ msgid "Dummy procedure at %C may not have BIND(C) attribute with NAME"
+-msgstr "哑元‘%s’在 %L 处ä¸èƒ½æœ‰åˆå§‹å€¼è®¾å®š"
++msgstr "哑元‘%s’在%L处ä¸èƒ½æœ‰åˆå§‹å€¼è®¾å®š"
+
+-#: fortran/decl.c:4060 fortran/decl.c:4103
++#: fortran/decl.c:4167 fortran/decl.c:4210
+ #, no-c-format
+ msgid "Syntax error in PROCEDURE statement at %C"
+-msgstr "%C 处 PROCEDURE 语å¥è¯­æ³•é”™è¯¯"
++msgstr "%C处 PROCEDURE 语å¥è¯­æ³•é”™è¯¯"
+
+-#: fortran/decl.c:4077
++#: fortran/decl.c:4184
+ #, no-c-format
+ msgid "PROCEDURE at %C must be in a generic interface"
+ msgstr ""
+
+-#: fortran/decl.c:4128
++#: fortran/decl.c:4235
+ #, no-c-format
+ msgid "Fortran 2003: Procedure components at %C are not yet implemented in gfortran"
+ msgstr ""
+
+-#: fortran/decl.c:4138
++#: fortran/decl.c:4245
+ #, no-c-format
+ msgid "Fortran 2003: PROCEDURE statement at %C"
+-msgstr "Fortran 2003:%C 处的 PROCEDURE 语å¥"
++msgstr "Fortran 2003:%C处的 PROCEDURE 语å¥"
+
+-#: fortran/decl.c:4186
++#: fortran/decl.c:4293
+ #, no-c-format
+ msgid "Expected formal argument list in function definition at %C"
+-msgstr "函数定义在 %C 处需è¦å½¢å‚列表"
++msgstr "函数定义在%C处需è¦å½¢å‚列表"
+
+-#: fortran/decl.c:4210 fortran/decl.c:4214 fortran/decl.c:4536
+-#: fortran/decl.c:4540 fortran/symbol.c:1402
++#: fortran/decl.c:4317 fortran/decl.c:4321 fortran/decl.c:4520
++#: fortran/decl.c:4524 fortran/decl.c:4702 fortran/decl.c:4706
++#: fortran/symbol.c:1402
+ #, no-c-format
+ msgid "BIND(C) attribute at %L can only be used for variables or common blocks"
+ msgstr ""
+
+-#: fortran/decl.c:4246
++#: fortran/decl.c:4353
+ #, no-c-format
+ msgid "Function '%s' at %C already has a type of %s"
+-msgstr "函数‘%s’(ä½äºŽ %C)å·²ç»å…·æœ‰ç±»åž‹ %s"
++msgstr "%2$C处的函数‘%1$s’已ç»å…·æœ‰ç±»åž‹ %3$s"
+
+-#: fortran/decl.c:4322
++#: fortran/decl.c:4441
+ #, no-c-format
+ msgid "ENTRY statement at %C cannot appear within a PROGRAM"
+-msgstr "%C 处的 ENTRY 语å¥ä¸èƒ½å‡ºçŽ°åœ¨ PROGRAM 中"
++msgstr "%C处的 ENTRY 语å¥ä¸èƒ½å‡ºçŽ°åœ¨ PROGRAM 中"
+
+-#: fortran/decl.c:4325
++#: fortran/decl.c:4444
+ #, no-c-format
+ msgid "ENTRY statement at %C cannot appear within a MODULE"
+-msgstr "%C 处的 ENTRY 语å¥ä¸èƒ½å‡ºçŽ°åœ¨ MODULE 中"
++msgstr "%C处的 ENTRY 语å¥ä¸èƒ½å‡ºçŽ°åœ¨ MODULE 中"
+
+-#: fortran/decl.c:4328
++#: fortran/decl.c:4447
+ #, no-c-format
+ msgid "ENTRY statement at %C cannot appear within a BLOCK DATA"
+-msgstr "%C 处的 ENTRY 语å¥ä¸èƒ½å‡ºçŽ°åœ¨ BLOCK DATA 中"
++msgstr "%C处的 ENTRY 语å¥ä¸èƒ½å‡ºçŽ°åœ¨ BLOCK DATA 中"
+
+-#: fortran/decl.c:4332
++#: fortran/decl.c:4451
+ #, no-c-format
+ msgid "ENTRY statement at %C cannot appear within an INTERFACE"
+-msgstr "%C 处的 ENTRY 语å¥ä¸èƒ½å‡ºçŽ°åœ¨ INTERFACE 中"
++msgstr "%C处的 ENTRY 语å¥ä¸èƒ½å‡ºçŽ°åœ¨ INTERFACE 中"
+
+-#: fortran/decl.c:4336
++#: fortran/decl.c:4455
+ #, no-c-format
+ msgid "ENTRY statement at %C cannot appear within a DERIVED TYPE block"
+-msgstr "%C 处的 ENTRY 语å¥ä¸èƒ½å‡ºçŽ°åœ¨ DERIVED TYPE å—中"
++msgstr "%C处的 ENTRY 语å¥ä¸èƒ½å‡ºçŽ°åœ¨ DERIVED TYPE å—中"
+
+-#: fortran/decl.c:4340
++#: fortran/decl.c:4459
+ #, no-c-format
+ msgid "ENTRY statement at %C cannot appear within an IF-THEN block"
+-msgstr "%C 处的 ENTRY 语å¥ä¸èƒ½å‡ºçŽ°åœ¨ IF-THEN å—中"
++msgstr "%C处的 ENTRY 语å¥ä¸èƒ½å‡ºçŽ°åœ¨ IF-THEN å—中"
+
+-#: fortran/decl.c:4344
++#: fortran/decl.c:4463
+ #, no-c-format
+ msgid "ENTRY statement at %C cannot appear within a DO block"
+-msgstr "%C 处的 ENTRY 语å¥ä¸èƒ½å‡ºçŽ°åœ¨ DO 中"
++msgstr "%C处的 ENTRY 语å¥ä¸èƒ½å‡ºçŽ°åœ¨ DO 中"
+
+-#: fortran/decl.c:4348
++#: fortran/decl.c:4467
+ #, no-c-format
+ msgid "ENTRY statement at %C cannot appear within a SELECT block"
+-msgstr "%C 处的 ENTRY 语å¥ä¸èƒ½å‡ºçŽ°åœ¨ SELECT å—中"
++msgstr "%C处的 ENTRY 语å¥ä¸èƒ½å‡ºçŽ°åœ¨ SELECT å—中"
+
+-#: fortran/decl.c:4352
++#: fortran/decl.c:4471
+ #, no-c-format
+ msgid "ENTRY statement at %C cannot appear within a FORALL block"
+-msgstr "%C 处的 ENTRY 语å¥ä¸èƒ½å‡ºçŽ°åœ¨ FORALL å—中"
++msgstr "%C处的 ENTRY 语å¥ä¸èƒ½å‡ºçŽ°åœ¨ FORALL å—中"
+
+-#: fortran/decl.c:4356
++#: fortran/decl.c:4475
+ #, no-c-format
+ msgid "ENTRY statement at %C cannot appear within a WHERE block"
+-msgstr "%C 处的 ENTRY 语å¥ä¸èƒ½å‡ºçŽ°åœ¨ WHERE å—中"
++msgstr "%C处的 ENTRY 语å¥ä¸èƒ½å‡ºçŽ°åœ¨ WHERE å—中"
+
+-#: fortran/decl.c:4360
++#: fortran/decl.c:4479
+ #, no-c-format
+ msgid "ENTRY statement at %C cannot appear within a contained subprogram"
+-msgstr "%C 处的 ENTRY 语å¥ä¸èƒ½å‡ºçŽ°åœ¨åµŒå¥—çš„å­ç¨‹åºä¸­"
++msgstr "%C处的 ENTRY 语å¥ä¸èƒ½å‡ºçŽ°åœ¨åµŒå¥—çš„å­ç¨‹åºä¸­"
+
+-#: fortran/decl.c:4378
++#: fortran/decl.c:4497
+ #, no-c-format
+ msgid "ENTRY statement at %C cannot appear in a contained procedure"
+-msgstr "%C 处 ENTRY 语å¥ä¸èƒ½å‡ºçŽ°åœ¨è¢«åŒ…å«çš„过程中"
++msgstr "%C处 ENTRY 语å¥ä¸èƒ½å‡ºçŽ°åœ¨è¢«åŒ…å«çš„过程中"
+
+-#: fortran/decl.c:4560
++#: fortran/decl.c:4552 fortran/decl.c:4742
+ #, no-c-format
+ msgid "Missing required parentheses before BIND(C) at %C"
+ msgstr ""
+
+-#: fortran/decl.c:4618 fortran/decl.c:4634
++#: fortran/decl.c:4801 fortran/decl.c:4817
+ #, fuzzy, no-c-format
+ msgid "Syntax error in NAME= specifier for binding label at %C"
+ msgstr "%C CASE 指定语法错误"
+
+-#: fortran/decl.c:4649
++#: fortran/decl.c:4832
+ #, fuzzy, no-c-format
+ msgid "Missing closing quote '\"' for binding label at %C"
+-msgstr "%C 处缺少格å¼æ ‡å·"
++msgstr "%C处缺少格å¼æ ‡å·"
+
+-#: fortran/decl.c:4658
++#: fortran/decl.c:4841
+ #, fuzzy, no-c-format
+ msgid "Missing closing quote ''' for binding label at %C"
+-msgstr "%C 处缺少格å¼æ ‡å·"
++msgstr "%C处缺少格å¼æ ‡å·"
+
+-#: fortran/decl.c:4668
++#: fortran/decl.c:4851
+ #, fuzzy, no-c-format
+ msgid "Missing closing paren for binding label at %C"
+-msgstr "%C 处缺少格å¼æ ‡å·"
++msgstr "%C处缺少格å¼æ ‡å·"
+
+-#: fortran/decl.c:4703
++#: fortran/decl.c:4857
++#, fuzzy, no-c-format
++msgid "No binding name is allowed in BIND(C) at %C"
++msgstr "函数å‘%s’ä¸å…许出现在%C处"
++
++#: fortran/decl.c:4863
+ #, no-c-format
++msgid "For dummy procedure %s, no binding name is allowed in BIND(C) at %C"
++msgstr ""
++
++#: fortran/decl.c:4894
++#, no-c-format
+ msgid "NAME not allowed on BIND(C) for ABSTRACT INTERFACE at %C"
+ msgstr ""
+
+-#: fortran/decl.c:4876
++#: fortran/decl.c:5066
+ #, no-c-format
+ msgid "Unexpected END statement at %C"
+-msgstr "%C 处éžé¢„期的 END 语å¥"
++msgstr "%C处éžé¢„期的 END 语å¥"
+
+ #. We would have required END [something].
+-#: fortran/decl.c:4885
++#: fortran/decl.c:5075
+ #, no-c-format
+ msgid "%s statement expected at %L"
+-msgstr "éœ€è¦ %s 语å¥åœ¨ %L 处"
++msgstr "éœ€è¦ %s 语å¥åœ¨%L处"
+
+-#: fortran/decl.c:4896
++#: fortran/decl.c:5086
+ #, no-c-format
+ msgid "Expecting %s statement at %C"
+ msgstr "éœ€è¦ %s 语å¥ï¼ŒäºŽ %C"
+
+-#: fortran/decl.c:4911
++#: fortran/decl.c:5101
+ #, no-c-format
+ msgid "Expected block name of '%s' in %s statement at %C"
+ msgstr "需è¦å—å‘%s’在‘%s’表达å¼ä¸­ï¼ŒäºŽ %C"
+
+-#: fortran/decl.c:4928
++#: fortran/decl.c:5118
+ #, no-c-format
+ msgid "Expected terminating name at %C"
+-msgstr "%C 处需è¦ç»“æŸå"
++msgstr "%C处需è¦ç»“æŸå"
+
+-#: fortran/decl.c:4937
++#: fortran/decl.c:5127
+ #, no-c-format
+ msgid "Expected label '%s' for %s statement at %C"
+ msgstr "需è¦æ ‡å·â€˜%s’,为 %s 语å¥ï¼ŒäºŽ %C"
+
+-#: fortran/decl.c:4991
++#: fortran/decl.c:5181
+ #, no-c-format
+ msgid "Missing array specification at %L in DIMENSION statement"
+ msgstr ""
+
+-#: fortran/decl.c:5000
++#: fortran/decl.c:5189
+ #, no-c-format
++msgid "Dimensions specified for %s at %L after its initialisation"
++msgstr ""
++
++#: fortran/decl.c:5198
++#, no-c-format
+ msgid "Array specification must be deferred at %L"
+-msgstr "%L 处数组指定必须延迟"
++msgstr "%L处数组指定必须延迟"
+
+-#: fortran/decl.c:5077
++#: fortran/decl.c:5275
+ #, no-c-format
+ msgid "Unexpected character in variable list at %C"
+-msgstr "%C 处å˜é‡åˆ—表中有éžé¢„期的垃圾字符"
++msgstr "%C处å˜é‡åˆ—表中有éžé¢„期的垃圾字符"
+
+-#: fortran/decl.c:5114
++#: fortran/decl.c:5312
+ #, no-c-format
+ msgid "Expected '(' at %C"
+-msgstr "在 %C 处需è¦â€˜(’"
++msgstr "在%C处需è¦â€˜(’"
+
+-#: fortran/decl.c:5128 fortran/decl.c:5168
++#: fortran/decl.c:5326 fortran/decl.c:5366
+ #, no-c-format
+ msgid "Expected variable name at %C"
+-msgstr "在 %C 处需è¦å˜é‡å"
++msgstr "在%C处需è¦å˜é‡å"
+
+-#: fortran/decl.c:5144
++#: fortran/decl.c:5342
+ #, no-c-format
+ msgid "Cray pointer at %C must be an integer"
+-msgstr "%C 处 Cray 指针必须是一个整数"
++msgstr "%C处 Cray 指针必须是一个整数"
+
+-#: fortran/decl.c:5148
++#: fortran/decl.c:5346
+ #, no-c-format
+ msgid "Cray pointer at %C has %d bytes of precision; memory addresses require %d bytes"
+-msgstr "%C 处的 Cray 指针精度为 %d;内存地å€éœ€è¦ %d 字节"
++msgstr "%C处的 Cray 指针精度为 %d;内存地å€éœ€è¦ %d 字节"
+
+-#: fortran/decl.c:5154
++#: fortran/decl.c:5352
+ #, no-c-format
+ msgid "Expected \",\" at %C"
+-msgstr "在 %C 处需è¦â€œ,â€"
++msgstr "在%C处需è¦â€œ,â€"
+
+-#: fortran/decl.c:5217
++#: fortran/decl.c:5415
+ #, no-c-format
+ msgid "Expected \")\" at %C"
+-msgstr "在 %C 处需è¦â€œ)â€"
++msgstr "在%C处需è¦â€œ)â€"
+
+-#: fortran/decl.c:5229
++#: fortran/decl.c:5427
+ #, no-c-format
+ msgid "Expected \",\" or end of statement at %C"
+-msgstr "在 %C 处需è¦â€œ,â€æˆ–语å¥å°¾"
++msgstr "在%C处需è¦â€œ,â€æˆ–语å¥å°¾"
+
+-#: fortran/decl.c:5293
++#: fortran/decl.c:5491
+ #, no-c-format
+ msgid "Cray pointer declaration at %C requires -fcray-pointer flag"
+-msgstr "%C 处的 Cray æŒ‡é’ˆå£°æ˜Žéœ€è¦ -fcray-pointer 标记"
++msgstr "%C处的 Cray æŒ‡é’ˆå£°æ˜Žéœ€è¦ -fcray-pointer 标记"
+
+-#: fortran/decl.c:5388
++#: fortran/decl.c:5586
+ #, no-c-format
+ msgid "Access specification of the %s operator at %C has already been specified"
+ msgstr ""
+
+-#: fortran/decl.c:5405
++#: fortran/decl.c:5603
+ #, no-c-format
+ msgid "Access specification of the .%s. operator at %C has already been specified"
+ msgstr ""
+
+-#: fortran/decl.c:5443
++#: fortran/decl.c:5641
+ #, no-c-format
+ msgid "Fortran 2003: PROTECTED statement at %C"
+-msgstr "Fortran 2003:%C 处的 PROTECTED 语å¥"
++msgstr "Fortran 2003:%C处的 PROTECTED 语å¥"
+
+-#: fortran/decl.c:5483
++#: fortran/decl.c:5681
+ #, no-c-format
+ msgid "Syntax error in PROTECTED statement at %C"
+-msgstr "%C 处 PROTECTED 语å¥è¯­æ³•é”™è¯¯"
++msgstr "%C处 PROTECTED 语å¥è¯­æ³•é”™è¯¯"
+
+-#: fortran/decl.c:5504
++#: fortran/decl.c:5702
+ #, fuzzy, no-c-format
+ msgid "PRIVATE statement at %C is only allowed in the specification part of a module"
+-msgstr "DATA 语å¥ä¸å…许出现在 %C 处的 PURE 过程中"
++msgstr "DATA 语å¥ä¸å…许出现在%C处的 PURE 过程中"
+
+-#: fortran/decl.c:5541
++#: fortran/decl.c:5739
+ #, fuzzy, no-c-format
+ msgid "PUBLIC statement at %C is only allowed in the specification part of a module"
+-msgstr "DATA 语å¥ä¸å…许出现在 %C 处的 PURE 过程中"
++msgstr "DATA 语å¥ä¸å…许出现在%C处的 PURE 过程中"
+
+-#: fortran/decl.c:5568
++#: fortran/decl.c:5766
+ #, no-c-format
+ msgid "Expected variable name at %C in PARAMETER statement"
+-msgstr "%C 处的 PARAMETER 语å¥éœ€è¦å˜é‡å"
++msgstr "%C处的 PARAMETER 语å¥éœ€è¦å˜é‡å"
+
+-#: fortran/decl.c:5575
++#: fortran/decl.c:5773
+ #, no-c-format
+ msgid "Expected = sign in PARAMETER statement at %C"
+ msgstr "%C 在 PARAMETER 语å¥ä¸­éœ€è¦ = 符å·"
+
+-#: fortran/decl.c:5581
++#: fortran/decl.c:5779
+ #, no-c-format
+ msgid "Expected expression at %C in PARAMETER statement"
+ msgstr "%C 在 PARAMETER 语å¥ä¸­éœ€è¦è¡¨è¾¾å¼"
+
+-#: fortran/decl.c:5639
++#: fortran/decl.c:5799
++#, fuzzy, no-c-format
++msgid "Initializing already initialized variable at %C"
++msgstr "COMMON å˜é‡â€˜%s’在%C处ä¸å…许有åˆå§‹å€¼è®¾å®š"
++
++#: fortran/decl.c:5844
+ #, no-c-format
+ msgid "Unexpected characters in PARAMETER statement at %C"
+-msgstr "%C 处 PARAMETER 语å¥ä¸­æœ‰éžé¢„期的字符"
++msgstr "%C处 PARAMETER 语å¥ä¸­æœ‰éžé¢„期的字符"
+
+-#: fortran/decl.c:5663
++#: fortran/decl.c:5868
+ #, no-c-format
+ msgid "Blanket SAVE statement at %C follows previous SAVE statement"
+ msgstr ""
+
+-#: fortran/decl.c:5675
++#: fortran/decl.c:5880
+ #, no-c-format
+ msgid "SAVE statement at %C follows blanket SAVE statement"
+-msgstr "%C 处 SAVE 语å¥è·Ÿéšç©ºç™½ SAVE 语å¥"
++msgstr "%C处 SAVE 语å¥è·Ÿéšç©ºç™½ SAVE 语å¥"
+
+-#: fortran/decl.c:5722
++#: fortran/decl.c:5927
+ #, no-c-format
+ msgid "Syntax error in SAVE statement at %C"
+ msgstr "%C SAVE 语å¥è¯­æ³•é”™è¯¯"
+
+-#: fortran/decl.c:5733
++#: fortran/decl.c:5938
+ #, no-c-format
+ msgid "Fortran 2003: VALUE statement at %C"
+-msgstr "Fortran 2003:%C 处的 VALUE 语å¥"
++msgstr "Fortran 2003:%C处的 VALUE 语å¥"
+
+-#: fortran/decl.c:5773
++#: fortran/decl.c:5978
+ #, no-c-format
+ msgid "Syntax error in VALUE statement at %C"
+-msgstr "%C 处 VALUE 语å¥è¯­æ³•é”™è¯¯"
++msgstr "%C处 VALUE 语å¥è¯­æ³•é”™è¯¯"
+
+-#: fortran/decl.c:5784
++#: fortran/decl.c:5989
+ #, no-c-format
+ msgid "Fortran 2003: VOLATILE statement at %C"
+-msgstr "Fortran 2003:%C 处的 VOLATILE 语å¥"
++msgstr "Fortran 2003:%C处的 VOLATILE 语å¥"
+
+-#: fortran/decl.c:5826
++#: fortran/decl.c:6031
+ #, no-c-format
+ msgid "Syntax error in VOLATILE statement at %C"
+-msgstr "%C 处的 VOLATILE 语å¥è¯­æ³•é”™è¯¯"
++msgstr "%C处的 VOLATILE 语å¥è¯­æ³•é”™è¯¯"
+
+-#: fortran/decl.c:5848
++#: fortran/decl.c:6054
+ #, no-c-format
+ msgid "MODULE PROCEDURE at %C must be in a generic module interface"
+ msgstr ""
+
+-#: fortran/decl.c:5910
++#: fortran/decl.c:6142
+ #, fuzzy, no-c-format
+ msgid "Derived type at %C can only be PRIVATE in the specification part of a module"
+-msgstr "%C 处 MODULE 中的派生类型åªèƒ½æ˜¯ PRIVATE"
++msgstr "%C处 MODULE 中的派生类型åªèƒ½æ˜¯ PRIVATE"
+
+-#: fortran/decl.c:5922
++#: fortran/decl.c:6154
+ #, fuzzy, no-c-format
+ msgid "Derived type at %C can only be PUBLIC in the specification part of a module"
+-msgstr "%C 处 MODULE 中的派生类型åªèƒ½æ˜¯ PUBLIC"
++msgstr "%C处 MODULE 中的派生类型åªèƒ½æ˜¯ PUBLIC"
+
+-#: fortran/decl.c:5979
++#: fortran/decl.c:6211
+ #, no-c-format
+ msgid "Expected :: in TYPE definition at %C"
+ msgstr "%C 在 TYPE å®šä¹‰ä¸­éœ€è¦ ::"
+
+-#: fortran/decl.c:5990
++#: fortran/decl.c:6222
+ #, no-c-format
+ msgid "Type name '%s' at %C cannot be the same as an intrinsic type"
+ msgstr "类型‘%s’(ä½äºŽ %C)ä¸èƒ½ä¸Žå†…建类型é‡å"
+
+-#: fortran/decl.c:6000
++#: fortran/decl.c:6232
+ #, no-c-format
+ msgid "Derived type name '%s' at %C already has a basic type of %s"
+ msgstr ""
+
+-#: fortran/decl.c:6016
++#: fortran/decl.c:6248
+ #, no-c-format
+ msgid "Derived type definition of '%s' at %C has already been defined"
+ msgstr ""
+
+-#: fortran/decl.c:6054
++#: fortran/decl.c:6286
+ #, no-c-format
+ msgid "Cray Pointee at %C cannot be assumed shape array"
+ msgstr ""
+
+-#: fortran/decl.c:6074
++#: fortran/decl.c:6306
+ #, no-c-format
+ msgid "Fortran 2003: ENUM and ENUMERATOR at %C"
+-msgstr "Fortran 2003:%C 处的 ENUM 和 ENUMERATOR"
++msgstr "Fortran 2003:%C处的 ENUM 和 ENUMERATOR"
+
+-#: fortran/decl.c:6146
++#: fortran/decl.c:6378
+ #, no-c-format
+ msgid "ENUMERATOR %L not initialized with integer expression"
+ msgstr ""
+
+-#: fortran/decl.c:6195
++#: fortran/decl.c:6427
+ #, no-c-format
+ msgid "ENUM definition statement expected before %C"
+ msgstr "%C å‰éœ€è¦ ENUM 定义语å¥"
+
+-#: fortran/decl.c:6228
++#: fortran/decl.c:6460
+ #, no-c-format
+ msgid "Syntax error in ENUMERATOR definition at %C"
+-msgstr "%C 处 ENUMERATOR 定义中语法错误"
++msgstr "%C处 ENUMERATOR 定义中语法错误"
+
+ #: fortran/dump-parse-tree.c:48
+ #, c-format
+@@ -5136,21 +5093,21 @@
+ msgid " "
+ msgstr " "
+
+-#: fortran/dump-parse-tree.c:73 fortran/dump-parse-tree.c:626
++#: fortran/dump-parse-tree.c:73 fortran/dump-parse-tree.c:637
+ #, c-format
+ msgid "(%s "
+ msgstr "(%s"
+
+-#: fortran/dump-parse-tree.c:86 fortran/dump-parse-tree.c:1069
+-#: fortran/dump-parse-tree.c:1113 fortran/dump-parse-tree.c:1123
++#: fortran/dump-parse-tree.c:86 fortran/dump-parse-tree.c:1091
++#: fortran/dump-parse-tree.c:1135 fortran/dump-parse-tree.c:1145
+ #, c-format
+ msgid "%d"
+ msgstr "%d"
+
+ #: fortran/dump-parse-tree.c:90 fortran/dump-parse-tree.c:116
+ #: fortran/dump-parse-tree.c:159 fortran/dump-parse-tree.c:395
+-#: fortran/dump-parse-tree.c:518 fortran/dump-parse-tree.c:613
+-#: fortran/dump-parse-tree.c:636
++#: fortran/dump-parse-tree.c:518 fortran/dump-parse-tree.c:624
++#: fortran/dump-parse-tree.c:647
+ #, c-format
+ msgid ")"
+ msgstr ")"
+@@ -5288,7 +5245,7 @@
+ msgid "%.2x"
+ msgstr "%.2x"
+
+-#: fortran/dump-parse-tree.c:429 fortran/dump-parse-tree.c:732
++#: fortran/dump-parse-tree.c:429 fortran/dump-parse-tree.c:754
+ #, c-format
+ msgid "%s:"
+ msgstr "%s:"
+@@ -5403,748 +5360,753 @@
+ msgid "%s[["
+ msgstr "%s[["
+
+-#: fortran/dump-parse-tree.c:551
++#: fortran/dump-parse-tree.c:560
+ #, c-format
+ msgid "(%s %s %s %s %s"
+ msgstr "(%s %s %s %s %s"
+
+-#: fortran/dump-parse-tree.c:558
++#: fortran/dump-parse-tree.c:567
+ #, c-format
+ msgid " ALLOCATABLE"
+ msgstr " ALLOCATABLE"
+
+-#: fortran/dump-parse-tree.c:560 fortran/dump-parse-tree.c:631
++#: fortran/dump-parse-tree.c:569 fortran/dump-parse-tree.c:642
+ #, c-format
+ msgid " DIMENSION"
+ msgstr " DIMENSION"
+
+-#: fortran/dump-parse-tree.c:562
++#: fortran/dump-parse-tree.c:571
+ #, c-format
+ msgid " EXTERNAL"
+ msgstr " EXTERNAL"
+
+-#: fortran/dump-parse-tree.c:564
++#: fortran/dump-parse-tree.c:573
+ #, c-format
+ msgid " INTRINSIC"
+ msgstr " INTRINSIC"
+
+-#: fortran/dump-parse-tree.c:566
++#: fortran/dump-parse-tree.c:575
+ #, c-format
+ msgid " OPTIONAL"
+ msgstr " OPTIONAL"
+
+-#: fortran/dump-parse-tree.c:568 fortran/dump-parse-tree.c:629
++#: fortran/dump-parse-tree.c:577 fortran/dump-parse-tree.c:640
+ #, c-format
+ msgid " POINTER"
+ msgstr " POINTER"
+
+-#: fortran/dump-parse-tree.c:570
++#: fortran/dump-parse-tree.c:579
+ #, c-format
+ msgid " PROTECTED"
+ msgstr " PROTECTED"
+
+-#: fortran/dump-parse-tree.c:572
++#: fortran/dump-parse-tree.c:581
+ #, c-format
+ msgid " VALUE"
+ msgstr " VALUE"
+
+-#: fortran/dump-parse-tree.c:574
++#: fortran/dump-parse-tree.c:583
+ #, c-format
+ msgid " VOLATILE"
+ msgstr " VOLATILE"
+
+-#: fortran/dump-parse-tree.c:576
++#: fortran/dump-parse-tree.c:585
+ #, c-format
+ msgid " THREADPRIVATE"
+ msgstr " THREADPRIVATE"
+
+-#: fortran/dump-parse-tree.c:578
++#: fortran/dump-parse-tree.c:587
+ #, c-format
+ msgid " TARGET"
+ msgstr " TARGET"
+
+-#: fortran/dump-parse-tree.c:580
++#: fortran/dump-parse-tree.c:589
+ #, c-format
+ msgid " DUMMY"
+ msgstr " DUMMY"
+
+-#: fortran/dump-parse-tree.c:582
++#: fortran/dump-parse-tree.c:591
+ #, c-format
+ msgid " RESULT"
+ msgstr " RESULT"
+
+-#: fortran/dump-parse-tree.c:584
++#: fortran/dump-parse-tree.c:593
+ #, c-format
+ msgid " ENTRY"
+ msgstr " ENTRY"
+
+-#: fortran/dump-parse-tree.c:587
++#: fortran/dump-parse-tree.c:595
+ #, c-format
++msgid " BIND(C)"
++msgstr " BIND(C)"
++
++#: fortran/dump-parse-tree.c:598
++#, c-format
+ msgid " DATA"
+ msgstr " DATA"
+
+-#: fortran/dump-parse-tree.c:589
++#: fortran/dump-parse-tree.c:600
+ #, c-format
+ msgid " USE-ASSOC"
+ msgstr " USE-ASSOC"
+
+-#: fortran/dump-parse-tree.c:591
++#: fortran/dump-parse-tree.c:602
+ #, c-format
+ msgid " IN-NAMELIST"
+ msgstr " IN-NAMELIST"
+
+-#: fortran/dump-parse-tree.c:593
++#: fortran/dump-parse-tree.c:604
+ #, c-format
+ msgid " IN-COMMON"
+ msgstr " IN-COMMON"
+
+-#: fortran/dump-parse-tree.c:596
++#: fortran/dump-parse-tree.c:607
+ #, c-format
+ msgid " ABSTRACT INTERFACE"
+ msgstr " ABSTRACT INTERFACE"
+
+-#: fortran/dump-parse-tree.c:598
++#: fortran/dump-parse-tree.c:609
+ #, c-format
+ msgid " FUNCTION"
+ msgstr " FUNCTION"
+
+-#: fortran/dump-parse-tree.c:600
++#: fortran/dump-parse-tree.c:611
+ #, c-format
+ msgid " SUBROUTINE"
+ msgstr " SUBROUTINE"
+
+-#: fortran/dump-parse-tree.c:602
++#: fortran/dump-parse-tree.c:613
+ #, c-format
+ msgid " IMPLICIT-TYPE"
+ msgstr " IMPLICIT-TYPE"
+
+-#: fortran/dump-parse-tree.c:605
++#: fortran/dump-parse-tree.c:616
+ #, c-format
+ msgid " SEQUENCE"
+ msgstr " SEQUENCE"
+
+-#: fortran/dump-parse-tree.c:607
++#: fortran/dump-parse-tree.c:618
+ #, c-format
+ msgid " ELEMENTAL"
+ msgstr " ELEMENTAL"
+
+-#: fortran/dump-parse-tree.c:609
++#: fortran/dump-parse-tree.c:620
+ #, c-format
+ msgid " PURE"
+ msgstr " PURE"
+
+-#: fortran/dump-parse-tree.c:611
++#: fortran/dump-parse-tree.c:622
+ #, c-format
+ msgid " RECURSIVE"
+ msgstr " RECURSIVE"
+
+-#: fortran/dump-parse-tree.c:635 fortran/dump-parse-tree.c:682
+-#: fortran/dump-parse-tree.c:706 fortran/dump-parse-tree.c:735
+-#: fortran/dump-parse-tree.c:1276 fortran/dump-parse-tree.c:1282
+-#: fortran/dump-parse-tree.c:1784
++#: fortran/dump-parse-tree.c:646 fortran/dump-parse-tree.c:693
++#: fortran/dump-parse-tree.c:717 fortran/dump-parse-tree.c:757
++#: fortran/dump-parse-tree.c:1298 fortran/dump-parse-tree.c:1304
++#: fortran/dump-parse-tree.c:1806
+ #, c-format
+ msgid " %s"
+ msgstr " %s"
+
+-#: fortran/dump-parse-tree.c:659
++#: fortran/dump-parse-tree.c:670
+ #, c-format
+ msgid "symbol %s "
+ msgstr "ç¬¦å· %s"
+
+-#: fortran/dump-parse-tree.c:666
++#: fortran/dump-parse-tree.c:677
+ #, c-format
+ msgid "value: "
+ msgstr "值:"
+
+-#: fortran/dump-parse-tree.c:673
++#: fortran/dump-parse-tree.c:684
+ #, c-format
+ msgid "Array spec:"
+ msgstr "数组指定:"
+
+-#: fortran/dump-parse-tree.c:680
++#: fortran/dump-parse-tree.c:691
+ #, c-format
+ msgid "Generic interfaces:"
+ msgstr "通用接å£ï¼š"
+
+-#: fortran/dump-parse-tree.c:688
++#: fortran/dump-parse-tree.c:699
+ #, c-format
+ msgid "result: %s"
+ msgstr "结果:%s"
+
+-#: fortran/dump-parse-tree.c:694
++#: fortran/dump-parse-tree.c:705
+ #, c-format
+ msgid "components: "
+ msgstr "组件:"
+
+-#: fortran/dump-parse-tree.c:701
++#: fortran/dump-parse-tree.c:712
+ #, c-format
+ msgid "Formal arglist:"
+ msgstr "å½¢å‚列表:"
+
+-#: fortran/dump-parse-tree.c:708
++#: fortran/dump-parse-tree.c:719
+ #, c-format
+ msgid " [Alt Return]"
+ msgstr " [替代返回]"
+
+-#: fortran/dump-parse-tree.c:715
++#: fortran/dump-parse-tree.c:726
+ #, c-format
+ msgid "Formal namespace"
+ msgstr "å½¢å¼å‘½å空间"
+
+-#: fortran/dump-parse-tree.c:771
++#: fortran/dump-parse-tree.c:793
+ #, c-format
+ msgid "common: /%s/ "
+ msgstr "common: /%s/ "
+
+-#: fortran/dump-parse-tree.c:779 fortran/dump-parse-tree.c:1720
++#: fortran/dump-parse-tree.c:801 fortran/dump-parse-tree.c:1742
+ #, c-format
+ msgid ", "
+ msgstr ", "
+
+-#: fortran/dump-parse-tree.c:791
++#: fortran/dump-parse-tree.c:813
+ #, c-format
+ msgid "symtree: %s Ambig %d"
+ msgstr "symtree:%s 二义 %d"
+
+-#: fortran/dump-parse-tree.c:794
++#: fortran/dump-parse-tree.c:816
+ #, c-format
+ msgid " from namespace %s"
+ msgstr " 从命å空间 %s"
+
+-#: fortran/dump-parse-tree.c:820
++#: fortran/dump-parse-tree.c:842
+ #, c-format
+ msgid "%s,"
+ msgstr "%s,"
+
+-#: fortran/dump-parse-tree.c:852
++#: fortran/dump-parse-tree.c:874
+ #, c-format
+ msgid "!$OMP %s"
+ msgstr "!$OMP %s"
+
+-#: fortran/dump-parse-tree.c:867 fortran/dump-parse-tree.c:1010
++#: fortran/dump-parse-tree.c:889 fortran/dump-parse-tree.c:1032
+ #, c-format
+ msgid " (%s)"
+ msgstr " (%s)"
+
+-#: fortran/dump-parse-tree.c:872
++#: fortran/dump-parse-tree.c:894
+ #, c-format
+ msgid " ("
+ msgstr " ("
+
+-#: fortran/dump-parse-tree.c:888
++#: fortran/dump-parse-tree.c:910
+ #, c-format
+ msgid " IF("
+ msgstr " IF("
+
+-#: fortran/dump-parse-tree.c:894
++#: fortran/dump-parse-tree.c:916
+ #, c-format
+ msgid " NUM_THREADS("
+ msgstr " NUM_THREADS("
+
+-#: fortran/dump-parse-tree.c:910
++#: fortran/dump-parse-tree.c:932
+ #, c-format
+ msgid " SCHEDULE (%s"
+ msgstr " SCHEDULE (%s"
+
+-#: fortran/dump-parse-tree.c:930
++#: fortran/dump-parse-tree.c:952
+ #, c-format
+ msgid " DEFAULT(%s)"
+ msgstr " DEFAULT(%s)"
+
+-#: fortran/dump-parse-tree.c:933
++#: fortran/dump-parse-tree.c:955
+ #, c-format
+ msgid " ORDERED"
+ msgstr " ORDERED"
+
+-#: fortran/dump-parse-tree.c:958
++#: fortran/dump-parse-tree.c:980
+ #, c-format
+ msgid " REDUCTION(%s:"
+ msgstr " REDUCTION(%s:"
+
+-#: fortran/dump-parse-tree.c:972
++#: fortran/dump-parse-tree.c:994
+ #, c-format
+ msgid " %s("
+ msgstr " %s("
+
+-#: fortran/dump-parse-tree.c:988
++#: fortran/dump-parse-tree.c:1010
+ #, c-format
+ msgid "!$OMP SECTION\n"
+ msgstr "!$OMP SECTION\n"
+
+-#: fortran/dump-parse-tree.c:997
++#: fortran/dump-parse-tree.c:1019
+ #, c-format
+ msgid "!$OMP END %s"
+ msgstr "!$OMP END %s"
+
+-#: fortran/dump-parse-tree.c:1002
++#: fortran/dump-parse-tree.c:1024
+ #, c-format
+ msgid " COPYPRIVATE("
+ msgstr " COPYPRIVATE("
+
+-#: fortran/dump-parse-tree.c:1007
++#: fortran/dump-parse-tree.c:1029
+ #, c-format
+ msgid " NOWAIT"
+ msgstr " NOWAIT"
+
+-#: fortran/dump-parse-tree.c:1034
++#: fortran/dump-parse-tree.c:1056
+ #, c-format
+ msgid "NOP"
+ msgstr "NOP"
+
+-#: fortran/dump-parse-tree.c:1038
++#: fortran/dump-parse-tree.c:1060
+ #, c-format
+ msgid "CONTINUE"
+ msgstr "CONTINUE"
+
+-#: fortran/dump-parse-tree.c:1042
++#: fortran/dump-parse-tree.c:1064
+ #, c-format
+ msgid "ENTRY %s"
+ msgstr "ENTRY %s"
+
+-#: fortran/dump-parse-tree.c:1047
++#: fortran/dump-parse-tree.c:1069
+ #, c-format
+ msgid "ASSIGN "
+ msgstr "ASSIGN "
+
+-#: fortran/dump-parse-tree.c:1054
++#: fortran/dump-parse-tree.c:1076
+ #, c-format
+ msgid "LABEL ASSIGN "
+ msgstr "LABEL ASSIGN "
+
+-#: fortran/dump-parse-tree.c:1056
++#: fortran/dump-parse-tree.c:1078
+ #, c-format
+ msgid " %d"
+ msgstr " %d"
+
+-#: fortran/dump-parse-tree.c:1060
++#: fortran/dump-parse-tree.c:1082
+ #, c-format
+ msgid "POINTER ASSIGN "
+ msgstr "POINTER ASSIGN "
+
+-#: fortran/dump-parse-tree.c:1067
++#: fortran/dump-parse-tree.c:1089
+ #, c-format
+ msgid "GOTO "
+ msgstr "GOTO "
+
+-#: fortran/dump-parse-tree.c:1076
++#: fortran/dump-parse-tree.c:1098
+ #, c-format
+ msgid ", ("
+ msgstr ", ("
+
+-#: fortran/dump-parse-tree.c:1092 fortran/dump-parse-tree.c:1094
++#: fortran/dump-parse-tree.c:1114 fortran/dump-parse-tree.c:1116
+ #, c-format
+ msgid "CALL %s "
+ msgstr "CALL %s "
+
+-#: fortran/dump-parse-tree.c:1096
++#: fortran/dump-parse-tree.c:1118
+ #, c-format
+ msgid "CALL ?? "
+ msgstr "CALL ?? "
+
+-#: fortran/dump-parse-tree.c:1102
++#: fortran/dump-parse-tree.c:1124
+ #, c-format
+ msgid "RETURN "
+ msgstr "RETURN "
+
+-#: fortran/dump-parse-tree.c:1108
++#: fortran/dump-parse-tree.c:1130
+ #, c-format
+ msgid "PAUSE "
+ msgstr "PAUSE "
+
+-#: fortran/dump-parse-tree.c:1118
++#: fortran/dump-parse-tree.c:1140
+ #, c-format
+ msgid "STOP "
+ msgstr "STOP "
+
+-#: fortran/dump-parse-tree.c:1128 fortran/dump-parse-tree.c:1136
++#: fortran/dump-parse-tree.c:1150 fortran/dump-parse-tree.c:1158
+ #, c-format
+ msgid "IF "
+ msgstr "IF "
+
+-#: fortran/dump-parse-tree.c:1130
++#: fortran/dump-parse-tree.c:1152
+ #, c-format
+ msgid " %d, %d, %d"
+ msgstr " %d, %d, %d"
+
+-#: fortran/dump-parse-tree.c:1147
++#: fortran/dump-parse-tree.c:1169
+ #, c-format
+ msgid "ELSE\n"
+ msgstr "ELSE\n"
+
+-#: fortran/dump-parse-tree.c:1150
++#: fortran/dump-parse-tree.c:1172
+ #, c-format
+ msgid "ELSE IF "
+ msgstr "ELSE IF "
+
+-#: fortran/dump-parse-tree.c:1160
++#: fortran/dump-parse-tree.c:1182
+ #, c-format
+ msgid "ENDIF"
+ msgstr "ENDIF"
+
+-#: fortran/dump-parse-tree.c:1165
++#: fortran/dump-parse-tree.c:1187
+ #, c-format
+ msgid "SELECT CASE "
+ msgstr "SELECT CASE "
+
+-#: fortran/dump-parse-tree.c:1173
++#: fortran/dump-parse-tree.c:1195
+ #, c-format
+ msgid "CASE "
+ msgstr "CASE "
+
+-#: fortran/dump-parse-tree.c:1189
++#: fortran/dump-parse-tree.c:1211
+ #, c-format
+ msgid "END SELECT"
+ msgstr "END SELECT"
+
+-#: fortran/dump-parse-tree.c:1193
++#: fortran/dump-parse-tree.c:1215
+ #, c-format
+ msgid "WHERE "
+ msgstr "WHERE "
+
+-#: fortran/dump-parse-tree.c:1204
++#: fortran/dump-parse-tree.c:1226
+ #, c-format
+ msgid "ELSE WHERE "
+ msgstr "ELSE WHERE "
+
+-#: fortran/dump-parse-tree.c:1211
++#: fortran/dump-parse-tree.c:1233
+ #, c-format
+ msgid "END WHERE"
+ msgstr "END WHERE"
+
+-#: fortran/dump-parse-tree.c:1216
++#: fortran/dump-parse-tree.c:1238
+ #, c-format
+ msgid "FORALL "
+ msgstr "FORALL "
+
+-#: fortran/dump-parse-tree.c:1241
++#: fortran/dump-parse-tree.c:1263
+ #, c-format
+ msgid "END FORALL"
+ msgstr "END FORALL"
+
+-#: fortran/dump-parse-tree.c:1245
++#: fortran/dump-parse-tree.c:1267
+ #, c-format
+ msgid "DO "
+ msgstr "DO "
+
+-#: fortran/dump-parse-tree.c:1259 fortran/dump-parse-tree.c:1270
++#: fortran/dump-parse-tree.c:1281 fortran/dump-parse-tree.c:1292
+ #, c-format
+ msgid "END DO"
+ msgstr "END DO"
+
+-#: fortran/dump-parse-tree.c:1263
++#: fortran/dump-parse-tree.c:1285
+ #, c-format
+ msgid "DO WHILE "
+ msgstr "DO WHILE "
+
+-#: fortran/dump-parse-tree.c:1274
++#: fortran/dump-parse-tree.c:1296
+ #, c-format
+ msgid "CYCLE"
+ msgstr "CYCLE"
+
+-#: fortran/dump-parse-tree.c:1280
++#: fortran/dump-parse-tree.c:1302
+ #, c-format
+ msgid "EXIT"
+ msgstr "EXIT"
+
+-#: fortran/dump-parse-tree.c:1286
++#: fortran/dump-parse-tree.c:1308
+ #, c-format
+ msgid "ALLOCATE "
+ msgstr "ALLOCATE "
+
+-#: fortran/dump-parse-tree.c:1289 fortran/dump-parse-tree.c:1305
++#: fortran/dump-parse-tree.c:1311 fortran/dump-parse-tree.c:1327
+ #, c-format
+ msgid " STAT="
+ msgstr " STAT="
+
+-#: fortran/dump-parse-tree.c:1302
++#: fortran/dump-parse-tree.c:1324
+ #, c-format
+ msgid "DEALLOCATE "
+ msgstr "DEALLOCATE "
+
+-#: fortran/dump-parse-tree.c:1318
++#: fortran/dump-parse-tree.c:1340
+ #, c-format
+ msgid "OPEN"
+ msgstr "OPEN"
+
+-#: fortran/dump-parse-tree.c:1323 fortran/dump-parse-tree.c:1402
+-#: fortran/dump-parse-tree.c:1444 fortran/dump-parse-tree.c:1467
+-#: fortran/dump-parse-tree.c:1619
++#: fortran/dump-parse-tree.c:1345 fortran/dump-parse-tree.c:1424
++#: fortran/dump-parse-tree.c:1466 fortran/dump-parse-tree.c:1489
++#: fortran/dump-parse-tree.c:1641
+ #, c-format
+ msgid " UNIT="
+ msgstr " UNIT="
+
+-#: fortran/dump-parse-tree.c:1328 fortran/dump-parse-tree.c:1407
+-#: fortran/dump-parse-tree.c:1449 fortran/dump-parse-tree.c:1478
+-#: fortran/dump-parse-tree.c:1636
++#: fortran/dump-parse-tree.c:1350 fortran/dump-parse-tree.c:1429
++#: fortran/dump-parse-tree.c:1471 fortran/dump-parse-tree.c:1500
++#: fortran/dump-parse-tree.c:1658
+ #, c-format
+ msgid " IOMSG="
+ msgstr " IOMSG="
+
+-#: fortran/dump-parse-tree.c:1333 fortran/dump-parse-tree.c:1412
+-#: fortran/dump-parse-tree.c:1454 fortran/dump-parse-tree.c:1483
+-#: fortran/dump-parse-tree.c:1641
++#: fortran/dump-parse-tree.c:1355 fortran/dump-parse-tree.c:1434
++#: fortran/dump-parse-tree.c:1476 fortran/dump-parse-tree.c:1505
++#: fortran/dump-parse-tree.c:1663
+ #, c-format
+ msgid " IOSTAT="
+ msgstr " IOSTAT="
+
+-#: fortran/dump-parse-tree.c:1338 fortran/dump-parse-tree.c:1472
++#: fortran/dump-parse-tree.c:1360 fortran/dump-parse-tree.c:1494
+ #, c-format
+ msgid " FILE="
+ msgstr " FILE="
+
+-#: fortran/dump-parse-tree.c:1343 fortran/dump-parse-tree.c:1417
++#: fortran/dump-parse-tree.c:1365 fortran/dump-parse-tree.c:1439
+ #, c-format
+ msgid " STATUS="
+ msgstr " STATUS="
+
+-#: fortran/dump-parse-tree.c:1348 fortran/dump-parse-tree.c:1513
++#: fortran/dump-parse-tree.c:1370 fortran/dump-parse-tree.c:1535
+ #, c-format
+ msgid " ACCESS="
+ msgstr " ACCESS="
+
+-#: fortran/dump-parse-tree.c:1353 fortran/dump-parse-tree.c:1529
++#: fortran/dump-parse-tree.c:1375 fortran/dump-parse-tree.c:1551
+ #, c-format
+ msgid " FORM="
+ msgstr " FORM="
+
+-#: fortran/dump-parse-tree.c:1358 fortran/dump-parse-tree.c:1544
++#: fortran/dump-parse-tree.c:1380 fortran/dump-parse-tree.c:1566
+ #, c-format
+ msgid " RECL="
+ msgstr " RECL="
+
+-#: fortran/dump-parse-tree.c:1363 fortran/dump-parse-tree.c:1554
++#: fortran/dump-parse-tree.c:1385 fortran/dump-parse-tree.c:1576
+ #, c-format
+ msgid " BLANK="
+ msgstr " BLANK="
+
+-#: fortran/dump-parse-tree.c:1368 fortran/dump-parse-tree.c:1559
++#: fortran/dump-parse-tree.c:1390 fortran/dump-parse-tree.c:1581
+ #, c-format
+ msgid " POSITION="
+ msgstr " POSITION="
+
+-#: fortran/dump-parse-tree.c:1373 fortran/dump-parse-tree.c:1564
++#: fortran/dump-parse-tree.c:1395 fortran/dump-parse-tree.c:1586
+ #, c-format
+ msgid " ACTION="
+ msgstr " ACTION="
+
+-#: fortran/dump-parse-tree.c:1378 fortran/dump-parse-tree.c:1584
++#: fortran/dump-parse-tree.c:1400 fortran/dump-parse-tree.c:1606
+ #, c-format
+ msgid " DELIM="
+ msgstr " DELIM="
+
+-#: fortran/dump-parse-tree.c:1383 fortran/dump-parse-tree.c:1589
++#: fortran/dump-parse-tree.c:1405 fortran/dump-parse-tree.c:1611
+ #, c-format
+ msgid " PAD="
+ msgstr " PAD="
+
+-#: fortran/dump-parse-tree.c:1388 fortran/dump-parse-tree.c:1594
++#: fortran/dump-parse-tree.c:1410 fortran/dump-parse-tree.c:1616
+ #, c-format
+ msgid " CONVERT="
+ msgstr " CONVERT="
+
+-#: fortran/dump-parse-tree.c:1392 fortran/dump-parse-tree.c:1421
+-#: fortran/dump-parse-tree.c:1458 fortran/dump-parse-tree.c:1599
+-#: fortran/dump-parse-tree.c:1676
++#: fortran/dump-parse-tree.c:1414 fortran/dump-parse-tree.c:1443
++#: fortran/dump-parse-tree.c:1480 fortran/dump-parse-tree.c:1621
++#: fortran/dump-parse-tree.c:1698
+ #, c-format
+ msgid " ERR=%d"
+ msgstr " ERR=%d"
+
+-#: fortran/dump-parse-tree.c:1397
++#: fortran/dump-parse-tree.c:1419
+ #, c-format
+ msgid "CLOSE"
+ msgstr "CLOSE"
+
+-#: fortran/dump-parse-tree.c:1425
++#: fortran/dump-parse-tree.c:1447
+ #, c-format
+ msgid "BACKSPACE"
+ msgstr "BACKSPACE"
+
+-#: fortran/dump-parse-tree.c:1429
++#: fortran/dump-parse-tree.c:1451
+ #, c-format
+ msgid "ENDFILE"
+ msgstr "ENDFILE"
+
+-#: fortran/dump-parse-tree.c:1433
++#: fortran/dump-parse-tree.c:1455
+ #, c-format
+ msgid "REWIND"
+ msgstr "REWIND"
+
+-#: fortran/dump-parse-tree.c:1437
++#: fortran/dump-parse-tree.c:1459
+ #, c-format
+ msgid "FLUSH"
+ msgstr "FLUSH"
+
+-#: fortran/dump-parse-tree.c:1462
++#: fortran/dump-parse-tree.c:1484
+ #, c-format
+ msgid "INQUIRE"
+ msgstr "INQUIRE"
+
+-#: fortran/dump-parse-tree.c:1488
++#: fortran/dump-parse-tree.c:1510
+ #, c-format
+ msgid " EXIST="
+ msgstr " EXIST="
+
+-#: fortran/dump-parse-tree.c:1493
++#: fortran/dump-parse-tree.c:1515
+ #, c-format
+ msgid " OPENED="
+ msgstr " OPENED="
+
+-#: fortran/dump-parse-tree.c:1498
++#: fortran/dump-parse-tree.c:1520
+ #, c-format
+ msgid " NUMBER="
+ msgstr " NUMBER="
+
+-#: fortran/dump-parse-tree.c:1503
++#: fortran/dump-parse-tree.c:1525
+ #, c-format
+ msgid " NAMED="
+ msgstr " NAMED="
+
+-#: fortran/dump-parse-tree.c:1508
++#: fortran/dump-parse-tree.c:1530
+ #, c-format
+ msgid " NAME="
+ msgstr " NAME="
+
+-#: fortran/dump-parse-tree.c:1518
++#: fortran/dump-parse-tree.c:1540
+ #, c-format
+ msgid " SEQUENTIAL="
+ msgstr " SEQUENTIAL="
+
+-#: fortran/dump-parse-tree.c:1524
++#: fortran/dump-parse-tree.c:1546
+ #, c-format
+ msgid " DIRECT="
+ msgstr " DIRECT="
+
+-#: fortran/dump-parse-tree.c:1534
++#: fortran/dump-parse-tree.c:1556
+ #, c-format
+ msgid " FORMATTED"
+ msgstr " FORMATTED"
+
+-#: fortran/dump-parse-tree.c:1539
++#: fortran/dump-parse-tree.c:1561
+ #, c-format
+ msgid " UNFORMATTED="
+ msgstr " UNFORMATTED="
+
+-#: fortran/dump-parse-tree.c:1549
++#: fortran/dump-parse-tree.c:1571
+ #, c-format
+ msgid " NEXTREC="
+ msgstr " NEXTREC="
+
+-#: fortran/dump-parse-tree.c:1569
++#: fortran/dump-parse-tree.c:1591
+ #, c-format
+ msgid " READ="
+ msgstr " READ="
+
+-#: fortran/dump-parse-tree.c:1574
++#: fortran/dump-parse-tree.c:1596
+ #, c-format
+ msgid " WRITE="
+ msgstr " WRITE="
+
+-#: fortran/dump-parse-tree.c:1579
++#: fortran/dump-parse-tree.c:1601
+ #, c-format
+ msgid " READWRITE="
+ msgstr " READWRITE="
+
+-#: fortran/dump-parse-tree.c:1603
++#: fortran/dump-parse-tree.c:1625
+ #, c-format
+ msgid "IOLENGTH "
+ msgstr "IOLENGTH "
+
+-#: fortran/dump-parse-tree.c:1609
++#: fortran/dump-parse-tree.c:1631
+ #, c-format
+ msgid "READ"
+ msgstr "READ"
+
+-#: fortran/dump-parse-tree.c:1613
++#: fortran/dump-parse-tree.c:1635
+ #, c-format
+ msgid "WRITE"
+ msgstr "WRITE"
+
+-#: fortran/dump-parse-tree.c:1625
++#: fortran/dump-parse-tree.c:1647
+ #, c-format
+ msgid " FMT="
+ msgstr " FMT="
+
+-#: fortran/dump-parse-tree.c:1630
++#: fortran/dump-parse-tree.c:1652
+ #, c-format
+ msgid " FMT=%d"
+ msgstr " FMT=%d"
+
+-#: fortran/dump-parse-tree.c:1632
++#: fortran/dump-parse-tree.c:1654
+ #, c-format
+ msgid " NML=%s"
+ msgstr " NML=%s"
+
+-#: fortran/dump-parse-tree.c:1646
++#: fortran/dump-parse-tree.c:1668
+ #, c-format
+ msgid " SIZE="
+ msgstr " SIZE="
+
+-#: fortran/dump-parse-tree.c:1651
++#: fortran/dump-parse-tree.c:1673
+ #, c-format
+ msgid " REC="
+ msgstr " REC="
+
+-#: fortran/dump-parse-tree.c:1656
++#: fortran/dump-parse-tree.c:1678
+ #, c-format
+ msgid " ADVANCE="
+ msgstr " ADVANCE="
+
+-#: fortran/dump-parse-tree.c:1667
++#: fortran/dump-parse-tree.c:1689
+ #, c-format
+ msgid "TRANSFER "
+ msgstr "TRANSFER "
+
+-#: fortran/dump-parse-tree.c:1672
++#: fortran/dump-parse-tree.c:1694
+ #, c-format
+ msgid "DT_END"
+ msgstr "DT_END"
+
+-#: fortran/dump-parse-tree.c:1678
++#: fortran/dump-parse-tree.c:1700
+ #, c-format
+ msgid " END=%d"
+ msgstr " END=%d"
+
+-#: fortran/dump-parse-tree.c:1680
++#: fortran/dump-parse-tree.c:1702
+ #, c-format
+ msgid " EOR=%d"
+ msgstr " EOR=%d"
+
+-#: fortran/dump-parse-tree.c:1714
++#: fortran/dump-parse-tree.c:1736
+ #, c-format
+ msgid "Equivalence: "
+ msgstr "等价:"
+
+-#: fortran/dump-parse-tree.c:1740
++#: fortran/dump-parse-tree.c:1762
+ #, c-format
+ msgid "Namespace:"
+ msgstr "命å空间:"
+
+-#: fortran/dump-parse-tree.c:1754
++#: fortran/dump-parse-tree.c:1776
+ #, c-format
+ msgid " %c-%c: "
+ msgstr " %c-%c:"
+
+-#: fortran/dump-parse-tree.c:1756
++#: fortran/dump-parse-tree.c:1778
+ #, c-format
+ msgid " %c: "
+ msgstr " %c:"
+
+-#: fortran/dump-parse-tree.c:1765
++#: fortran/dump-parse-tree.c:1787
+ #, c-format
+ msgid "procedure name = %s"
+ msgstr "过程å = %s"
+
+-#: fortran/dump-parse-tree.c:1781
++#: fortran/dump-parse-tree.c:1803
+ #, c-format
+ msgid "Operator interfaces for %s:"
+ msgstr "%s çš„è¿ç®—符接å£ï¼š"
+
+-#: fortran/dump-parse-tree.c:1790
++#: fortran/dump-parse-tree.c:1812
+ #, c-format
+ msgid "User operators:\n"
+ msgstr "用户è¿ç®—符:\n"
+
+-#: fortran/dump-parse-tree.c:1806
++#: fortran/dump-parse-tree.c:1828
+ #, c-format
+ msgid "CONTAINS\n"
+ msgstr "CONTAINS\n"
+@@ -6164,311 +6126,351 @@
+ msgid "Error count reached limit of %d."
+ msgstr "错误数é‡åˆ°è¾¾ä¸Šé™ %d。"
+
+-#: fortran/error.c:670 fortran/error.c:725 fortran/error.c:762
++#: fortran/error.c:670 fortran/error.c:724 fortran/error.c:761
+ msgid "Warning:"
+ msgstr "警告:"
+
+-#: fortran/error.c:727 fortran/error.c:810 fortran/error.c:836
++#: fortran/error.c:726 fortran/error.c:809 fortran/error.c:835
+ msgid "Error:"
+ msgstr "错误:"
+
+-#: fortran/error.c:860
++#: fortran/error.c:859
+ msgid "Fatal Error:"
+ msgstr "致命错误:"
+
+-#: fortran/error.c:879
++#: fortran/error.c:878
+ #, no-c-format
+ msgid "Internal Error at (1):"
+ msgstr "(1)中的内部错误:"
+
+-#: fortran/expr.c:252
++#: fortran/expr.c:253
+ #, c-format
+ msgid "Constant expression required at %C"
+-msgstr "%C 处需è¦å¸¸é‡è¡¨è¾¾å¼"
++msgstr "%C处需è¦å¸¸é‡è¡¨è¾¾å¼"
+
+-#: fortran/expr.c:255
++#: fortran/expr.c:256
+ #, c-format
+ msgid "Integer expression required at %C"
+-msgstr "%C 处需è¦æ•´æ•°è¡¨è¾¾å¼"
++msgstr "%C处需è¦æ•´æ•°è¡¨è¾¾å¼"
+
+-#: fortran/expr.c:260
++#: fortran/expr.c:261
+ #, c-format
+ msgid "Integer value too large in expression at %C"
+-msgstr "%C 处表达å¼ä¸­æ•´æ•°å€¼å¤ªå¤§"
++msgstr "%C处表达å¼ä¸­æ•´æ•°å€¼å¤ªå¤§"
+
+-#: fortran/expr.c:1018 fortran/expr.c:1189 fortran/expr.c:1240
+-#, fuzzy, no-c-format
++#: fortran/expr.c:1037
++#, no-c-format
++msgid "Index in dimension %d is out of bounds at %L"
++msgstr "%2$L处第 %1$d 维下标越界"
++
++#: fortran/expr.c:1208 fortran/expr.c:1259
++#, no-c-format
+ msgid "index in dimension %d is out of bounds at %L"
+-msgstr "%L 处的å­å­—符串终止索引越界"
++msgstr "%2$L处第 %1$d 维下标越界"
+
+-#: fortran/expr.c:1789
++#: fortran/expr.c:1808
+ #, no-c-format
+ msgid "elemental function arguments at %C are not compliant"
+ msgstr ""
+
+-#: fortran/expr.c:1833
++#: fortran/expr.c:1852
+ #, no-c-format
+ msgid "Numeric or CHARACTER operands are required in expression at %L"
+ msgstr ""
+
+-#: fortran/expr.c:1853
++#: fortran/expr.c:1872
+ #, fuzzy, no-c-format
+ msgid "Fortran 2003: Noninteger exponent in an initialization expression at %L"
+-msgstr "%C 处需è¦ä¸€ä¸ªåˆå§‹åŒ–表达å¼"
++msgstr "%C处需è¦ä¸€ä¸ªåˆå§‹åŒ–表达å¼"
+
+-#: fortran/expr.c:1868
++#: fortran/expr.c:1887
+ #, no-c-format
+ msgid "Concatenation operator in expression at %L must have two CHARACTER operands"
+ msgstr ""
+
+-#: fortran/expr.c:1875
++#: fortran/expr.c:1894
+ #, no-c-format
+ msgid "Concat operator at %L must concatenate strings of the same kind"
+-msgstr "%L 处的毗连è¿ç®—符必须毗连åŒä¸€ç§åˆ«çš„字符串"
++msgstr "%L处的毗连è¿ç®—符必须毗连åŒä¸€ç§åˆ«çš„字符串"
+
+-#: fortran/expr.c:1885
++#: fortran/expr.c:1904
+ #, no-c-format
+ msgid ".NOT. operator in expression at %L must have a LOGICAL operand"
+-msgstr "%L 处的表达å¼ä¸­çš„ .NOT. è¿ç®—符必须带 LOGICAL æ“作数"
++msgstr "%L处的表达å¼ä¸­çš„ .NOT. è¿ç®—符必须带 LOGICAL æ“作数"
+
+-#: fortran/expr.c:1901
++#: fortran/expr.c:1920
+ #, no-c-format
+ msgid "LOGICAL operands are required in expression at %L"
+-msgstr "%L 处的表达å¼éœ€è¦ LOGICAL æ“作数"
++msgstr "%L处的表达å¼éœ€è¦ LOGICAL æ“作数"
+
+-#: fortran/expr.c:1912
++#: fortran/expr.c:1931
+ #, no-c-format
+ msgid "Only intrinsic operators can be used in expression at %L"
+-msgstr "%L 处åªæœ‰å†…建è¿ç®—符æ‰èƒ½ç”¨äºŽè¡¨è¾¾å¼ä¸­"
++msgstr "%L处åªæœ‰å†…建è¿ç®—符æ‰èƒ½ç”¨äºŽè¡¨è¾¾å¼ä¸­"
+
+-#: fortran/expr.c:1920
++#: fortran/expr.c:1939
+ #, no-c-format
+ msgid "Numeric operands are required in expression at %L"
+-msgstr "%L 处的表达å¼éœ€è¦æ•°å­—æ“作数"
++msgstr "%L处的表达å¼éœ€è¦æ•°å­—æ“作数"
+
+-#: fortran/expr.c:1985
++#: fortran/expr.c:2030
+ #, fuzzy, no-c-format
+-msgid "Inquiry function '%s' at %L is not permitted in an initialization expression"
+-msgstr "KIND å‚æ•° %s 在 %L 处必须是åˆå§‹åŒ–表达å¼"
+-
+-#: fortran/expr.c:2015
+-#, fuzzy, no-c-format
+ msgid "Assumed character length variable '%s' in constant expression at %L"
+-msgstr "å‡å®šå­—符长度å˜é‡â€˜%s’在 %L 处的常é‡è¡¨è¾¾å¼ä¸­"
++msgstr "å‡å®šå­—符长度å˜é‡â€˜%s’在%L处的常é‡è¡¨è¾¾å¼ä¸­"
+
+-#: fortran/expr.c:2061 fortran/expr.c:2067
++#: fortran/expr.c:2076 fortran/expr.c:2082
+ #, fuzzy, no-c-format
+ msgid "transformational intrinsic '%s' at %L is not permitted in an initialization expression"
+-msgstr "KIND å‚æ•° %s 在 %L 处必须是åˆå§‹åŒ–表达å¼"
++msgstr "KIND å‚æ•° %s 在%L处必须是åˆå§‹åŒ–表达å¼"
+
+-#: fortran/expr.c:2098
++#: fortran/expr.c:2114
+ #, no-c-format
+ msgid "Extension: Evaluation of nonstandard initialization expression at %L"
+-msgstr "扩展:%L 处求éžæ ‡é‡åˆå§‹åŒ–表达å¼çš„值"
++msgstr "扩展:%L处求éžæ ‡é‡åˆå§‹åŒ–表达å¼çš„值"
+
+-#: fortran/expr.c:2151
++#: fortran/expr.c:2167
+ #, no-c-format
+ msgid "Function '%s' in initialization expression at %L must be an intrinsic or a specification function"
+ msgstr ""
+
+-#: fortran/expr.c:2163
++#: fortran/expr.c:2179
+ #, fuzzy, no-c-format
+ msgid "Intrinsic function '%s' at %L is not permitted in an initialization expression"
+-msgstr "KIND å‚æ•° %s 在 %L 处必须是åˆå§‹åŒ–表达å¼"
++msgstr "KIND å‚æ•° %s 在%L处必须是åˆå§‹åŒ–表达å¼"
+
+-#: fortran/expr.c:2207
++#: fortran/expr.c:2214
++#, no-c-format
++msgid "PARAMETER '%s' is used at %L before its definition is complete"
++msgstr ""
++
++#: fortran/expr.c:2234
+ #, fuzzy, no-c-format
+ msgid "Assumed size array '%s' at %L is not permitted in an initialization expression"
+-msgstr "KIND å‚æ•° %s 在 %L 处必须是åˆå§‹åŒ–表达å¼"
++msgstr "KIND å‚æ•° %s 在%L处必须是åˆå§‹åŒ–表达å¼"
+
+-#: fortran/expr.c:2213
++#: fortran/expr.c:2240
+ #, fuzzy, no-c-format
+ msgid "Assumed shape array '%s' at %L is not permitted in an initialization expression"
+-msgstr "KIND å‚æ•° %s 在 %L 处必须是åˆå§‹åŒ–表达å¼"
++msgstr "KIND å‚æ•° %s 在%L处必须是åˆå§‹åŒ–表达å¼"
+
+-#: fortran/expr.c:2219
++#: fortran/expr.c:2246
+ #, fuzzy, no-c-format
+ msgid "Deferred array '%s' at %L is not permitted in an initialization expression"
+-msgstr "KIND å‚æ•° %s 在 %L 处必须是åˆå§‹åŒ–表达å¼"
++msgstr "KIND å‚æ•° %s 在%L处必须是åˆå§‹åŒ–表达å¼"
+
+-#: fortran/expr.c:2229
++#: fortran/expr.c:2252
++#, fuzzy, no-c-format
++msgid "Array '%s' at %L is a variable, which does not reduce to a constant expression"
++msgstr "å‚数’%s在%L处尚未声明或者是一个ä¸èƒ½è¢«å½’约为常é‡è¡¨è¾¾å¼çš„å˜é‡"
++
++#: fortran/expr.c:2262
+ #, no-c-format
+ msgid "Parameter '%s' at %L has not been declared or is a variable, which does not reduce to a constant expression"
+-msgstr "å‚数’%s在 %L 处尚未声明或者是一个ä¸èƒ½è¢«å½’约为常é‡è¡¨è¾¾å¼çš„å˜é‡"
++msgstr "å‚数’%s在%L处尚未声明或者是一个ä¸èƒ½è¢«å½’约为常é‡è¡¨è¾¾å¼çš„å˜é‡"
+
+-#: fortran/expr.c:2317
++#: fortran/expr.c:2350
+ #, no-c-format
+ msgid "Initialization expression didn't reduce %C"
+ msgstr "åˆå§‹åŒ–表达å¼ä¸èƒ½å½’约 %C"
+
+-#: fortran/expr.c:2360
++#: fortran/expr.c:2393
+ #, no-c-format
+ msgid "Specification function '%s' at %L cannot be a statement function"
+ msgstr "指定函数‘%s’(ä½äºŽ %L)ä¸èƒ½æ˜¯ä¸€ä¸ªè¯­å¥å‡½æ•°"
+
+-#: fortran/expr.c:2367
++#: fortran/expr.c:2400
+ #, no-c-format
+ msgid "Specification function '%s' at %L cannot be an internal function"
+ msgstr "指定函数‘%s’(ä½äºŽ %L)ä¸èƒ½æ˜¯ä¸€ä¸ªå†…部函数"
+
+-#: fortran/expr.c:2374
++#: fortran/expr.c:2407
+ #, no-c-format
+ msgid "Specification function '%s' at %L must be PURE"
+ msgstr "指定函数‘%s’(ä½äºŽ %L)必须为 PURE"
+
+-#: fortran/expr.c:2381
++#: fortran/expr.c:2414
+ #, no-c-format
+ msgid "Specification function '%s' at %L cannot be RECURSIVE"
+ msgstr "指定函数‘%s’(ä½äºŽ %L)ä¸èƒ½æ˜¯ RECURSIVE"
+
+-#: fortran/expr.c:2443
+-#, fuzzy, no-c-format
++#: fortran/expr.c:2476
++#, no-c-format
+ msgid "Dummy argument '%s' not allowed in expression at %L"
+-msgstr "å˜é‡â€˜%s’ä¸èƒ½å‡ºçŽ°åœ¨ %L 处的表达å¼ä¸­"
++msgstr "哑元实å‚‘%s’ä¸èƒ½å‡ºçŽ°åœ¨%L处的表达å¼ä¸­"
+
+-#: fortran/expr.c:2450
++#: fortran/expr.c:2483
+ #, no-c-format
+ msgid "Dummy argument '%s' at %L cannot be OPTIONAL"
+-msgstr "哑元‘%s’(ä½äºŽ %L)ä¸èƒ½æ˜¯ OPTIONAL"
++msgstr "%2$L处的哑元实å‚‘%1$s’ä¸èƒ½æ˜¯ OPTIONAL"
+
+-#: fortran/expr.c:2457
++#: fortran/expr.c:2490
+ #, no-c-format
+ msgid "Dummy argument '%s' at %L cannot be INTENT(OUT)"
+-msgstr "‘%s’哑元实å‚在 %L 处ä¸èƒ½æ˜¯ INTENT(OUT)"
++msgstr "%2$L处的‘%1$s’哑元实å‚ä¸èƒ½æ˜¯ INTENT(OUT)"
+
+-#: fortran/expr.c:2479
++#: fortran/expr.c:2513
+ #, no-c-format
+ msgid "Variable '%s' cannot appear in the expression at %L"
+-msgstr "å˜é‡â€˜%s’ä¸èƒ½å‡ºçŽ°åœ¨ %L 处的表达å¼ä¸­"
++msgstr "å˜é‡â€˜%s’ä¸èƒ½å‡ºçŽ°åœ¨%L处的表达å¼ä¸­"
+
+-#: fortran/expr.c:2528
++#: fortran/expr.c:2562
+ #, no-c-format
+ msgid "Expression at %L must be of INTEGER type"
+-msgstr "%L 处的表达å¼å¿…须具有 INTEGER 类型"
++msgstr "%L处的表达å¼å¿…须具有 INTEGER 类型"
+
+-#: fortran/expr.c:2537
++#: fortran/expr.c:2571
+ #, no-c-format
+ msgid "Function '%s' at %L must be PURE"
+-msgstr "函数‘%s’在 %L 处必须为 PURE"
++msgstr "函数‘%s’在%L处必须为 PURE"
+
+-#: fortran/expr.c:2546
++#: fortran/expr.c:2580
+ #, no-c-format
+ msgid "Expression at %L must be scalar"
+-msgstr "%L 处的表达å¼å¿…须具有标é‡ç±»åž‹"
++msgstr "%L处的表达å¼å¿…须具有标é‡ç±»åž‹"
+
+-#: fortran/expr.c:2573
++#: fortran/expr.c:2607
+ #, fuzzy, no-c-format
+ msgid "Incompatible ranks in %s (%d and %d) at %L"
+ msgstr "%s 中秩ä¸å…¼å®¹ï¼Œä½äºŽ %L"
+
+-#: fortran/expr.c:2587
++#: fortran/expr.c:2621
+ #, no-c-format
+ msgid "Different shape for %s at %L on dimension %d (%d and %d)"
+ msgstr ""
+
+-#: fortran/expr.c:2633 fortran/expr.c:2800
+-#, fuzzy, no-c-format
++#: fortran/expr.c:2667 fortran/expr.c:2884
++#, no-c-format
+ msgid "Cannot assign to INTENT(IN) variable '%s' at %L"
+-msgstr "循环å˜é‡â€˜%s’在 %C 处ä¸èƒ½æ˜¯ INTENT(IN)"
++msgstr "ä¸èƒ½å¯¹%2$L处的 INTENT(IN) å˜é‡â€˜%1$s’赋值"
+
+-#: fortran/expr.c:2676
++#: fortran/expr.c:2719
+ #, no-c-format
+ msgid "'%s' at %L is not a VALUE"
+-msgstr "‘%s’在 %L 处ä¸æ˜¯ä¸€ä¸ª VALUE"
++msgstr "‘%s’在%L处ä¸æ˜¯ä¸€ä¸ª VALUE"
+
+-#: fortran/expr.c:2683
++#: fortran/expr.c:2726
+ #, no-c-format
+ msgid "Incompatible ranks %d and %d in assignment at %L"
+ msgstr "赋值中有ä¸å…¼å®¹çš„秩 %d å’Œ %d,ä½äºŽ %L"
+
+-#: fortran/expr.c:2690
++#: fortran/expr.c:2733
+ #, no-c-format
+ msgid "Variable type is UNKNOWN in assignment at %L"
+-msgstr "%L 处赋值中的å˜é‡ç±»åž‹æ˜¯ UNKNOWN"
++msgstr "%L处赋值中的å˜é‡ç±»åž‹æ˜¯ UNKNOWN"
+
+-#: fortran/expr.c:2702
++#: fortran/expr.c:2745
+ #, no-c-format
+ msgid "NULL appears on right-hand side in assignment at %L"
+-msgstr "%L 处赋值å³æ‰‹è¾¹å‡ºçŽ° NULL"
++msgstr "%L处赋值å³æ‰‹è¾¹å‡ºçŽ° NULL"
+
+-#: fortran/expr.c:2713
++#: fortran/expr.c:2756
+ #, fuzzy, no-c-format
+ msgid "Vector assignment to assumed-size Cray Pointee at %L is illegal"
+-msgstr "矢é‡èµ‹å€¼ç»™ %L 处å‡å®šå¤§å°çš„ Cray 指针目标是éžæ³•çš„。"
++msgstr "矢é‡èµ‹å€¼ç»™%L处å‡å®šå¤§å°çš„ Cray 指针目标是éžæ³•çš„。"
+
+-#: fortran/expr.c:2722
++#: fortran/expr.c:2765
+ #, no-c-format
+ msgid "POINTER valued function appears on right-hand side of assignment at %L"
+-msgstr "%L 处赋值å³æ‰‹è¾¹å‡ºçŽ°å€¼ä¸º POINTER 的函数"
++msgstr "%L处赋值å³æ‰‹è¾¹å‡ºçŽ°å€¼ä¸º POINTER 的函数"
+
+-#: fortran/expr.c:2727
++#: fortran/expr.c:2770
+ msgid "array assignment"
+ msgstr "数组赋值"
+
+-#: fortran/expr.c:2744
++#: fortran/expr.c:2775
+ #, no-c-format
++msgid "Extension: BOZ literal at %L used to initialize non-integer variable '%s'"
++msgstr ""
++
++#: fortran/expr.c:2781 fortran/resolve.c:6058
++#, no-c-format
++msgid "Extension: BOZ literal at %L outside a DATA statement and outside INT/REAL/DBLE/CMPLX"
++msgstr ""
++
++#: fortran/expr.c:2791 fortran/resolve.c:6068
++#, no-c-format
++msgid "BOZ literal at %L is bitwise transferred non-integer symbol '%s'"
++msgstr ""
++
++#: fortran/expr.c:2799 fortran/resolve.c:6077
++#, fuzzy, no-c-format
++msgid "Arithmetic underflow of bit-wise transferred BOZ at %L. This check can be disabled with the option -fno-range-check"
++msgstr "å°† %s 转æ¢åˆ° %s 时在%L处算术溢出。这一检查å¯ç”¨ -fno-range-check 选项关闭"
++
++#: fortran/expr.c:2803 fortran/resolve.c:6081
++#, fuzzy, no-c-format
++msgid "Arithmetic overflow of bit-wise transferred BOZ at %L. This check can be disabled with the option -fno-range-check"
++msgstr "å°† %s 转æ¢åˆ° %s 时在%L处算术溢出。这一检查å¯ç”¨ -fno-range-check 选项关闭"
++
++#: fortran/expr.c:2807 fortran/resolve.c:6085
++#, fuzzy, no-c-format
++msgid "Arithmetic NaN of bit-wise transferred BOZ at %L. This check can be disabled with the option -fno-range-check"
++msgstr "å°† %s 转æ¢åˆ° %s 时在%L处算术溢出。这一检查å¯ç”¨ -fno-range-check 选项关闭"
++
++#: fortran/expr.c:2828
++#, no-c-format
+ msgid "Incompatible types in assignment at %L, %s to %s"
+-msgstr "%L 处赋值类型ä¸å…¼å®¹ï¼Œä»Ž %s 到 %s"
++msgstr "%L处赋值类型ä¸å…¼å®¹ï¼Œä»Ž %s 到 %s"
+
+-#: fortran/expr.c:2769
++#: fortran/expr.c:2853
+ #, no-c-format
+ msgid "Pointer assignment target is not a POINTER at %L"
+-msgstr ""
++msgstr "%L处指针赋值的目标ä¸æ˜¯ä¸€ä¸ª POINTER"
+
+-#: fortran/expr.c:2777
++#: fortran/expr.c:2861
+ #, no-c-format
+ msgid "'%s' in the pointer assignment at %L cannot be an l-value since it is a procedure"
+ msgstr ""
+
+-#: fortran/expr.c:2807
++#: fortran/expr.c:2891
+ #, no-c-format
+ msgid "Pointer assignment to non-POINTER at %L"
+-msgstr "%L 处指针赋给éžæŒ‡é’ˆ"
++msgstr "%L处指针赋给éžæŒ‡é’ˆ"
+
+-#: fortran/expr.c:2816
++#: fortran/expr.c:2900
+ #, no-c-format
+ msgid "Bad pointer object in PURE procedure at %L"
+-msgstr "%L 处 PURE 进程中有无效的指针对象"
++msgstr "%L处 PURE 过程中有无效的指针对象"
+
+-#: fortran/expr.c:2828
++#: fortran/expr.c:2912
+ #, no-c-format
+ msgid "Different types in pointer assignment at %L"
+-msgstr "%L 处指针赋值时类型ä¸åŒ"
++msgstr "%L处指针赋值时类型ä¸åŒ"
+
+-#: fortran/expr.c:2835
++#: fortran/expr.c:2919
+ #, no-c-format
+ msgid "Different kind type parameters in pointer assignment at %L"
+ msgstr ""
+
+-#: fortran/expr.c:2842
++#: fortran/expr.c:2926
+ #, no-c-format
+ msgid "Different ranks in pointer assignment at %L"
+-msgstr "%L 处指针赋值时秩ä¸åŒ"
++msgstr "%L处指针赋值时秩ä¸åŒ"
+
+-#: fortran/expr.c:2857
++#: fortran/expr.c:2941
+ #, no-c-format
+ msgid "Different character lengths in pointer assignment at %L"
+-msgstr "%L 处指针赋值时字符长度ä¸åŒ"
++msgstr "%L处指针赋值时字符长度ä¸åŒ"
+
+-#: fortran/expr.c:2868
++#: fortran/expr.c:2952
+ #, no-c-format
+ msgid "Pointer assignment target is neither TARGET nor POINTER at %L"
+ msgstr ""
+
+-#: fortran/expr.c:2875
++#: fortran/expr.c:2959
+ #, no-c-format
+ msgid "Bad target in pointer assignment in PURE procedure at %L"
+ msgstr ""
+
+-#: fortran/expr.c:2881
++#: fortran/expr.c:2965
+ #, no-c-format
+ msgid "Pointer assignment with vector subscript on rhs at %L"
+-msgstr "%L 处指针赋值的å³æ‰‹è¾¹å¸¦æœ‰çŸ¢é‡ä¸‹æ ‡"
++msgstr "%L处指针赋值的å³æ‰‹è¾¹å¸¦æœ‰çŸ¢é‡ä¸‹æ ‡"
+
+-#: fortran/expr.c:2888
++#: fortran/expr.c:2972
+ #, fuzzy, no-c-format
+ msgid "Pointer assigment target has PROTECTED attribute at %L"
+-msgstr "%L 处指针赋给éžæŒ‡é’ˆ"
++msgstr "%L处指针赋给éžæŒ‡é’ˆ"
+
+ #: fortran/gfortranspec.c:248
+ #, c-format
+@@ -6517,12 +6519,12 @@
+ #: fortran/interface.c:219
+ #, fuzzy, no-c-format
+ msgid "Dummy procedure '%s' at %C cannot have a generic interface"
+-msgstr "哑元‘%s’在 %L 处ä¸èƒ½æœ‰åˆå§‹å€¼è®¾å®š"
++msgstr "哑元‘%s’在%L处ä¸èƒ½æœ‰åˆå§‹å€¼è®¾å®š"
+
+ #: fortran/interface.c:252
+ #, no-c-format
+ msgid "Fortran 2003: ABSTRACT INTERFACE at %C"
+-msgstr "Fortran 2003:%C 处的 ABSTRACT INTERFACE"
++msgstr "Fortran 2003:%C处的 ABSTRACT INTERFACE"
+
+ #: fortran/interface.c:260
+ #, fuzzy, no-c-format
+@@ -6542,317 +6544,342 @@
+ #: fortran/interface.c:315
+ #, no-c-format
+ msgid "Expected 'END INTERFACE ASSIGNMENT (=)' at %C"
+-msgstr "%C 处需è¦â€˜END INTERFACE ASSIGNMENT (=)’或语å¥å°¾"
++msgstr "%C处需è¦â€˜END INTERFACE ASSIGNMENT (=)’或语å¥å°¾"
+
+ #: fortran/interface.c:317
+ #, no-c-format
+ msgid "Expecting 'END INTERFACE OPERATOR (%s)' at %C"
+-msgstr "需è¦â€˜END INTERFACE ASSIGNMENT (%s)’在 %C 处"
++msgstr "需è¦â€˜END INTERFACE ASSIGNMENT (%s)’在%C处"
+
+ #: fortran/interface.c:331
+ #, no-c-format
+ msgid "Expecting 'END INTERFACE OPERATOR (.%s.)' at %C"
+-msgstr "需è¦â€˜END INTERFACE ASSIGNMENT (.%s.)’在 %C 处"
++msgstr "需è¦â€˜END INTERFACE ASSIGNMENT (.%s.)’在%C处"
+
+ #: fortran/interface.c:342
+ #, no-c-format
+ msgid "Expecting 'END INTERFACE %s' at %C"
+-msgstr "需è¦â€˜END INTERFACE %s’于 %C 处"
++msgstr "%2$C处需è¦â€˜END INTERFACE %1$s’"
+
+-#: fortran/interface.c:551
++#: fortran/interface.c:563
+ #, no-c-format
+ msgid "Alternate return cannot appear in operator interface at %L"
+-msgstr "替代返回ä¸èƒ½å‡ºçŽ°åœ¨ %L 处的è¿ç®—符接å£ä¸­"
++msgstr "替代返回ä¸èƒ½å‡ºçŽ°åœ¨%L处的è¿ç®—符接å£ä¸­"
+
+-#: fortran/interface.c:581
++#: fortran/interface.c:593
+ #, no-c-format
+ msgid "Operator interface at %L has the wrong number of arguments"
+-msgstr "%L 处的è¿ç®—符接å£å®žå‚数错误"
++msgstr "%L处的è¿ç®—符接å£å®žå‚数错误"
+
+-#: fortran/interface.c:592
++#: fortran/interface.c:604
+ #, no-c-format
+ msgid "Assignment operator interface at %L must be a SUBROUTINE"
+-msgstr "%L 处的è¿ç®—符接å£å¿…须是一个 SUBROUTINE"
++msgstr "%L处的è¿ç®—符接å£å¿…须是一个 SUBROUTINE"
+
+-#: fortran/interface.c:598
++#: fortran/interface.c:610
+ #, no-c-format
+ msgid "Assignment operator interface at %L must have two arguments"
+-msgstr "%L 处的赋值è¿ç®—符接å£å¿…须有两个实å‚"
++msgstr "%L处的赋值è¿ç®—符接å£å¿…须有两个实å‚"
+
+-#: fortran/interface.c:608
++#: fortran/interface.c:620
+ #, fuzzy, no-c-format
+ msgid "Assignment operator interface at %L must not redefine an INTRINSIC type assignment"
+-msgstr "%L 处è¿ç®—符接å£çš„第一个å‚数必须是 INTENT(IN)"
++msgstr "%L处è¿ç®—符接å£çš„第一个å‚数必须是 INTENT(IN)"
+
+-#: fortran/interface.c:617
++#: fortran/interface.c:629
+ #, fuzzy, no-c-format
+ msgid "Intrinsic operator interface at %L must be a FUNCTION"
+-msgstr "%L 处è¿ç®—符接å£çš„第一个å‚数必须是 INTENT(IN)"
++msgstr "%L处è¿ç®—符接å£çš„第一个å‚数必须是 INTENT(IN)"
+
+-#: fortran/interface.c:627
++#: fortran/interface.c:639
+ #, no-c-format
+ msgid "First argument of defined assignment at %L must be INTENT(IN) or INTENT(INOUT)"
+-msgstr "%L 处定义赋值的第一个å‚数必须是 INTENT(IN) 或 INTENT(INOUT)"
++msgstr "%L处定义赋值的第一个å‚数必须是 INTENT(IN) 或 INTENT(INOUT)"
+
+-#: fortran/interface.c:631
++#: fortran/interface.c:643
+ #, no-c-format
+ msgid "Second argument of defined assignment at %L must be INTENT(IN)"
+-msgstr "%L 处定义赋值的第二个å‚数必须是 INTENT(IN)"
++msgstr "%L处定义赋值的第二个å‚数必须是 INTENT(IN)"
+
+-#: fortran/interface.c:637 fortran/resolve.c:8807
++#: fortran/interface.c:649 fortran/resolve.c:8998
+ #, no-c-format
+ msgid "First argument of operator interface at %L must be INTENT(IN)"
+-msgstr "%L 处è¿ç®—符接å£çš„第一个å‚数必须是 INTENT(IN)"
++msgstr "%L处è¿ç®—符接å£çš„第一个å‚数必须是 INTENT(IN)"
+
+-#: fortran/interface.c:641 fortran/resolve.c:8819
++#: fortran/interface.c:653 fortran/resolve.c:9010
+ #, no-c-format
+ msgid "Second argument of operator interface at %L must be INTENT(IN)"
+-msgstr "%L 处è¿ç®—符接å£çš„第二个å‚数必须是 INTENT(IN)"
++msgstr "%L处è¿ç®—符接å£çš„第二个å‚数必须是 INTENT(IN)"
+
+-#: fortran/interface.c:744
++#: fortran/interface.c:756
+ #, no-c-format
+ msgid "Operator interface at %L conflicts with intrinsic interface"
+-msgstr "%L 处è¿ç®—符接å£ä¸Žå†…建接å£å†²çª"
++msgstr "%L处è¿ç®—符接å£ä¸Žå†…建接å£å†²çª"
+
+-#: fortran/interface.c:1044
++#: fortran/interface.c:1117
+ #, fuzzy, no-c-format
+ msgid "Procedure '%s' in %s at %L has no explicit interface"
+-msgstr "符å·â€˜%s’在 %L 处已ç»æœ‰äº†æ˜¾å¼æŽ¥å£"
++msgstr "符å·â€˜%s’在%L处已ç»æœ‰äº†æ˜¾å¼æŽ¥å£"
+
+-#: fortran/interface.c:1047
++#: fortran/interface.c:1120
+ #, no-c-format
+ msgid "Procedure '%s' in %s at %L is neither function nor subroutine"
+ msgstr "过程‘%s’(在 %s 中,ä½äºŽ %L) æ—¢ä¸æ˜¯å‡½æ•°ä¹Ÿä¸æ˜¯å­è¿›ç¨‹"
+
+-#: fortran/interface.c:1102 fortran/interface.c:1108
++#: fortran/interface.c:1175 fortran/interface.c:1181
+ #, no-c-format
+ msgid "Ambiguous interfaces '%s' and '%s' in %s at %L"
+ msgstr "有歧义的接å£â€˜%s’和‘%s’在 %s 中,ä½äºŽ %L"
+
+-#: fortran/interface.c:1144
+-#, fuzzy, no-c-format
++#: fortran/interface.c:1217
++#, no-c-format
+ msgid "'%s' at %L is not a module procedure"
+-msgstr "å字‘%s’(ä½äºŽ %C)是一个过程的åå­—"
++msgstr "%2$L处的‘%1$s’并éžä¸€ä¸ªæ¨¡å—过程"
+
+-#: fortran/interface.c:1676
++#: fortran/interface.c:1465 fortran/interface.c:2411
+ #, no-c-format
++msgid "Type/rank mismatch in argument '%s' at %L"
++msgstr "%2$L处实å‚‘%1$s’类型/秩ä¸åŒ¹é…"
++
++#: fortran/interface.c:1474
++#, fuzzy, no-c-format
++msgid "Type mismatch in argument '%s' at %L; passed %s to %s"
++msgstr "实å‚‘%s’类型/秩ä¸åŒ¹é…,于%L处"
++
++#: fortran/interface.c:1492 fortran/interface.c:1532
++#, fuzzy, no-c-format
++msgid "Rank mismatch in argument '%s' at %L (%d and %d)"
++msgstr "实å‚‘%s’类型/秩ä¸åŒ¹é…,于%L处"
++
++#: fortran/interface.c:1519
++#, fuzzy, no-c-format
++msgid "Fortran 2003: Scalar CHARACTER actual argument with array dummy argument '%s' at %L"
++msgstr "å‚数‘%s’在%L处缺少实å‚"
++
++#: fortran/interface.c:1544
++#, fuzzy, no-c-format
++msgid "Element of assumed-shaped array passed to dummy argument '%s' at %L"
++msgstr "%L处å‡å®šå¤–形的数组必须是一个哑元"
++
++#: fortran/interface.c:1861
++#, no-c-format
+ msgid "Keyword argument '%s' at %L is not in the procedure"
+-msgstr "关键字实å‚‘%s’在 %L 处ä¸åœ¨è¿›ç¨‹é‡Œ"
++msgstr "%2$L处关键字实å‚‘%1$s’ä¸åœ¨è¿‡ç¨‹é‡Œ"
+
+-#: fortran/interface.c:1684
++#: fortran/interface.c:1869
+ #, no-c-format
+ msgid "Keyword argument '%s' at %L is already associated with another actual argument"
+ msgstr ""
+
+-#: fortran/interface.c:1694
++#: fortran/interface.c:1879
+ #, no-c-format
+ msgid "More actual than formal arguments in procedure call at %L"
+-msgstr "%L 处调用过程时实å‚比形å‚多"
++msgstr "%L处调用过程时实å‚比形å‚多"
+
+-#: fortran/interface.c:1706 fortran/interface.c:1935
++#: fortran/interface.c:1891 fortran/interface.c:2110
+ #, no-c-format
+ msgid "Missing alternate return spec in subroutine call at %L"
+-msgstr "%L 处å­è¿›ç¨‹è°ƒç”¨ç¼ºå°‘替代返回é™å®š"
++msgstr "%L处å­è¿›ç¨‹è°ƒç”¨ç¼ºå°‘替代返回é™å®š"
+
+-#: fortran/interface.c:1714
++#: fortran/interface.c:1899
+ #, no-c-format
+ msgid "Unexpected alternate return spec in subroutine call at %L"
+-msgstr "%L 处å­è¿›ç¨‹è°ƒç”¨ä¸­çš„替代返回é™å®šä¸Žé¢„期ä¸ç¬¦"
++msgstr "%L处å­è¿›ç¨‹è°ƒç”¨ä¸­çš„替代返回é™å®šä¸Žé¢„期ä¸ç¬¦"
+
+-#: fortran/interface.c:1729
++#: fortran/interface.c:1922
+ #, fuzzy, no-c-format
+-msgid "Fortran 2003: Scalar CHARACTER actual argument with array dummy argument '%s' at %L"
+-msgstr "å‚数‘%s’在 %L 处缺少实å‚"
++msgid "Character length mismatch (%ld/%ld) between actual argument and pointer or allocatable dummy argument '%s' at %L"
++msgstr "å‚数‘%s’在%L处缺少实å‚"
+
+-#: fortran/interface.c:1742
+-#, no-c-format
+-msgid "Type/rank mismatch in argument '%s' at %L"
+-msgstr "实å‚‘%s’类型/秩ä¸åŒ¹é…,于 %L 处"
++#: fortran/interface.c:1929
++#, fuzzy, no-c-format
++msgid "Character length mismatch (%ld/%ld) between actual argument and assumed-shape dummy argument '%s' at %L"
++msgstr "å‚数‘%s’在%L处缺少实å‚"
+
+-#: fortran/interface.c:1758
+-#, no-c-format
+-msgid "Character length mismatch between actual argument and pointer or allocatable dummy argument '%s' at %L"
+-msgstr ""
+-
+-#: fortran/interface.c:1771
++#: fortran/interface.c:1943
+ #, fuzzy, no-c-format
+ msgid "Character length of actual argument shorter than of dummy argument '%s' (%lu/%lu) at %L"
+-msgstr "å‚数‘%s’在 %L 处缺少实å‚"
++msgstr "å‚数‘%s’在%L处缺少实å‚"
+
+-#: fortran/interface.c:1776
++#: fortran/interface.c:1948
+ #, no-c-format
+ msgid "Actual argument contains too few elements for dummy argument '%s' (%lu/%lu) at %L"
+ msgstr ""
+
+-#: fortran/interface.c:1790
++#: fortran/interface.c:1962
+ #, no-c-format
+ msgid "Expected a procedure for argument '%s' at %L"
+-msgstr "å‚数‘%s’在 %L 处需è¦ä¸€ä¸ªè¿›ç¨‹"
++msgstr "å‚数‘%s’在%L处需è¦ä¸€ä¸ªè¿‡ç¨‹"
+
+-#: fortran/interface.c:1800
++#: fortran/interface.c:1972
+ #, no-c-format
+ msgid "Expected a PURE procedure for argument '%s' at %L"
+-msgstr "å‚数‘%s’在 %L 处需è¦ä¸€ä¸ª PURE 进程"
++msgstr "å‚数‘%s’在%L处需è¦ä¸€ä¸ª PURE 过程"
+
+-#: fortran/interface.c:1814
++#: fortran/interface.c:1986
+ #, no-c-format
+ msgid "Actual argument for '%s' cannot be an assumed-size array at %L"
+ msgstr ""
+
+-#: fortran/interface.c:1823
++#: fortran/interface.c:1995
+ #, no-c-format
+ msgid "Actual argument for '%s' must be a pointer at %L"
+-msgstr "‘%s’的实å‚在 %L 处必须是一个指针"
++msgstr "‘%s’的实å‚在%L处必须是一个指针"
+
+-#: fortran/interface.c:1832
++#: fortran/interface.c:2004
+ #, no-c-format
+ msgid "Actual argument for '%s' must be ALLOCATABLE at %L"
+-msgstr "‘%s’的实å‚在 %L 处必须是 ALLOCATABLE çš„"
++msgstr "‘%s’的实å‚在%L处必须是 ALLOCATABLE çš„"
+
+-#: fortran/interface.c:1843
++#: fortran/interface.c:2017
+ #, no-c-format
+-msgid "Actual argument at %L must be definable to match dummy INTENT = OUT/INOUT"
++msgid "Actual argument at %L must be definable as the dummy argument '%s' is INTENT = OUT/INOUT"
+ msgstr ""
+
+-#: fortran/interface.c:1851
++#: fortran/interface.c:2026
+ #, no-c-format
+ msgid "Actual argument at %L is use-associated with PROTECTED attribute and dummy argument '%s' is INTENT = OUT/INOUT"
+ msgstr ""
+
+-#: fortran/interface.c:1864
++#: fortran/interface.c:2039
+ #, no-c-format
+-msgid "Array-section actual argument with vector subscripts at %L is incompatible with INTENT(IN), 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) or VOLATILE attribute of the dummy argument '%s'"
+ msgstr ""
+
+-#: fortran/interface.c:1881
++#: fortran/interface.c:2056
+ #, no-c-format
+ msgid "Assumed-shape actual argument at %L is incompatible with the non-assumed-shape dummy argument '%s' due to VOLATILE attribute"
+ msgstr ""
+
+-#: fortran/interface.c:1893
++#: fortran/interface.c:2068
+ #, no-c-format
+ msgid "Array-section actual argument at %L is incompatible with the non-assumed-shape dummy argument '%s' due to VOLATILE attribute"
+ msgstr ""
+
+-#: fortran/interface.c:1912
++#: fortran/interface.c:2087
+ #, no-c-format
+ msgid "Pointer-array actual argument at %L requires an assumed-shape or pointer-array dummy argument '%s' due to VOLATILE attribute"
+ msgstr ""
+
+-#: fortran/interface.c:1942
++#: fortran/interface.c:2117
+ #, no-c-format
+ msgid "Missing actual argument for argument '%s' at %L"
+-msgstr "å‚数‘%s’在 %L 处缺少实å‚"
++msgstr "å‚数‘%s’在%L处缺少实å‚"
+
+-#: fortran/interface.c:2128
++#: fortran/interface.c:2303
+ #, no-c-format
+ msgid "Same actual argument associated with INTENT(%s) argument '%s' and INTENT(%s) argument '%s' at %L"
+ msgstr ""
+
+-#: fortran/interface.c:2184
++#: fortran/interface.c:2359
+ #, no-c-format
+ msgid "Procedure argument at %L is INTENT(IN) while interface specifies INTENT(%s)"
+ msgstr ""
+
+-#: fortran/interface.c:2194
++#: fortran/interface.c:2369
+ #, no-c-format
+ msgid "Procedure argument at %L is local to a PURE procedure and is passed to an INTENT(%s) argument"
+ msgstr ""
+
+-#: fortran/interface.c:2202
++#: fortran/interface.c:2377
+ #, no-c-format
+ msgid "Procedure argument at %L is local to a PURE procedure and has the POINTER attribute"
+ msgstr ""
+
+-#: fortran/interface.c:2225
++#: fortran/interface.c:2400
+ #, no-c-format
+ msgid "Procedure '%s' called with an implicit interface at %L"
+ msgstr "调用过程‘%s’带éšå¼æŽ¥å£ï¼Œä½äºŽ %L"
+
+-#: fortran/interface.c:2440
++#: fortran/interface.c:2629
+ #, no-c-format
+ msgid "Function '%s' called in lieu of an operator at %L must be PURE"
+ msgstr ""
+
+-#: fortran/interface.c:2519
++#: fortran/interface.c:2708
+ #, no-c-format
+ msgid "Entity '%s' at %C is already present in the interface"
+ msgstr ""
+
+-#: fortran/intrinsic.c:2918
++#: fortran/intrinsic.c:2923
+ #, no-c-format
+ msgid "Too many arguments in call to '%s' at %L"
+-msgstr "对‘%s’的调用给出的å‚数太多,于 %L 处"
++msgstr "%2$L处对‘%1$s’的调用给出的å‚数太多"
+
+-#: fortran/intrinsic.c:2933
++#: fortran/intrinsic.c:2938
+ #, fuzzy, no-c-format
+ msgid "The argument list functions %%VAL, %%LOC or %%REF are not allowed in this context at %L"
+-msgstr "%L 处上下文中ä¸å…许实å‚列表函数"
++msgstr "%L处上下文中ä¸å…许实å‚列表函数"
+
+-#: fortran/intrinsic.c:2936
++#: fortran/intrinsic.c:2941
+ #, no-c-format
+ msgid "Can't find keyword named '%s' in call to '%s' at %L"
+-msgstr "找ä¸åˆ°å为‘%s’的关键字,在对‘%s’的调用中,于 %L 处"
++msgstr "%3$L处对‘%2$s’的调用中找ä¸åˆ°å为‘%1$s’的关键字"
+
+-#: fortran/intrinsic.c:2943
++#: fortran/intrinsic.c:2948
+ #, no-c-format
+ msgid "Argument '%s' is appears twice in call to '%s' at %L"
+ msgstr ""
+
+-#: fortran/intrinsic.c:2957
++#: fortran/intrinsic.c:2962
+ #, no-c-format
+ msgid "Missing actual argument '%s' in call to '%s' at %L"
+ msgstr "缺少实å‚‘%s’,在调用‘%s’时,ä½äºŽ %L"
+
+-#: fortran/intrinsic.c:2972
++#: fortran/intrinsic.c:2977
+ #, no-c-format
+ msgid "ALTERNATE RETURN not permitted at %L"
+ msgstr "%L ä¸å…许有 ALTERNATIVE RETURN"
+
+-#: fortran/intrinsic.c:3021
++#: fortran/intrinsic.c:3026
+ #, no-c-format
+ msgid "Type of argument '%s' in call to '%s' at %L should be %s, not %s"
+ msgstr ""
+
+-#: fortran/intrinsic.c:3337
++#: fortran/intrinsic.c:3342
+ #, no-c-format
+ msgid "Intrinsic '%s' at %L is not included in the selected standard"
+-msgstr "内建函数‘%s’(于 %L 处)ä¸ä¸ºæ‰€é€‰æ‹©çš„标准所包å«"
++msgstr "%2$L处的内建函数‘%1$s’ä¸ä¸ºæ‰€é€‰æ‹©çš„标准所包å«"
+
+-#: fortran/intrinsic.c:3450
++#: fortran/intrinsic.c:3398
+ #, no-c-format
++msgid "Fortran 2003: Function '%s' as initialization expression at %L"
++msgstr "Fortran 2003:函数‘%s’在%L处用作åˆå§‹åŒ–表达å¼"
++
++#: fortran/intrinsic.c:3463
++#, no-c-format
+ msgid "Fortran 2003: Elemental function as initialization expression with non-integer/non-character arguments at %L"
+ msgstr ""
+
+-#: fortran/intrinsic.c:3508
++#: fortran/intrinsic.c:3524
+ #, no-c-format
+ msgid "Subroutine call to intrinsic '%s' at %L is not PURE"
+ msgstr ""
+
+-#: fortran/intrinsic.c:3579
++#: fortran/intrinsic.c:3595
+ #, no-c-format
+ msgid "Extension: Conversion from %s to %s at %L"
+ msgstr "扩展:从 %s 到 %s,ä½äºŽ %L"
+
+-#: fortran/intrinsic.c:3582
++#: fortran/intrinsic.c:3598
+ #, no-c-format
+ msgid "Conversion from %s to %s at %L"
+ msgstr "从 %s 转æ¢åˆ° %s,ä½äºŽ %L"
+
+-#: fortran/intrinsic.c:3629
++#: fortran/intrinsic.c:3645
+ #, no-c-format
+ msgid "Can't convert %s to %s at %L"
+ msgstr "ä¸èƒ½å°† %s 转æ¢ä¸º %s,于 %L"
+
+-#: fortran/io.c:156 fortran/primary.c:738
++#: fortran/io.c:156 fortran/primary.c:750
+ #, no-c-format
+ msgid "Extension: backslash character at %C"
+-msgstr "扩展:%C 处的åæ–œæ å­—符"
++msgstr "扩展:%C处的åæ–œæ å­—符"
+
+ #: fortran/io.c:187 fortran/io.c:190
+ #, no-c-format
+ msgid "Extension: Tab character in format at %C"
+-msgstr "扩展:%C 处格å¼ä¸­çš„制表符"
++msgstr "扩展:%C处格å¼ä¸­çš„制表符"
+
+ #: fortran/io.c:450
+ msgid "Positive width required"
+@@ -6892,12 +6919,12 @@
+ #: fortran/io.c:554
+ #, no-c-format
+ msgid "Extension: $ descriptor at %C"
+-msgstr "扩展:%C 处的 $ æ述符"
++msgstr "扩展:%C处的 $ æ述符"
+
+ #: fortran/io.c:559
+ #, no-c-format
+ msgid "$ should be the last specifier in format at %C"
+-msgstr "$ 必须是 %C 处最åŽä¸€ä¸ªæ ¼å¼é™å®šç¬¦"
++msgstr "$ 必须是%C处最åŽä¸€ä¸ªæ ¼å¼é™å®šç¬¦"
+
+ #: fortran/io.c:604
+ msgid "Repeat count cannot follow P descriptor"
+@@ -6906,12 +6933,12 @@
+ #: fortran/io.c:624
+ #, no-c-format
+ msgid "Extension: Missing positive width after L descriptor at %C"
+-msgstr "扩展:%C 处的 L æ述符需è¦æ­£çš„宽度"
++msgstr "扩展:%C处的 L æ述符需è¦æ­£çš„宽度"
+
+ #: fortran/io.c:670 fortran/io.c:672 fortran/io.c:733 fortran/io.c:735
+ #, no-c-format
+ msgid "Period required in format specifier at %C"
+-msgstr "%C 处的格å¼é™å®šç¬¦éœ€è¦å¥ç‚¹"
++msgstr "%C处的格å¼é™å®šç¬¦éœ€è¦å¥ç‚¹"
+
+ #: fortran/io.c:704
+ msgid "Positive exponent width required"
+@@ -6925,22 +6952,22 @@
+ #: fortran/io.c:838 fortran/io.c:895
+ #, no-c-format
+ msgid "Extension: Missing comma at %C"
+-msgstr "扩展:%C 处缺少逗å·"
++msgstr "扩展:%C处缺少逗å·"
+
+ #: fortran/io.c:905
+ #, no-c-format
+ msgid "%s in format string at %C"
+-msgstr "%s 出现在 %C 处的格å¼å­—符串中"
++msgstr "%s 出现在%C处的格å¼å­—符串中"
+
+ #: fortran/io.c:946
+ #, fuzzy, no-c-format
+ msgid "Format statement in module main block at %C"
+-msgstr "忽略 %C 处的错误语å¥æ ‡å·"
++msgstr "忽略%C处的错误语å¥æ ‡å·"
+
+ #: fortran/io.c:952
+ #, no-c-format
+ msgid "Missing format label at %C"
+-msgstr "%C 处缺少格å¼æ ‡å·"
++msgstr "%C处缺少格å¼æ ‡å·"
+
+ #: fortran/io.c:1010 fortran/io.c:1034
+ #, no-c-format
+@@ -6950,12 +6977,12 @@
+ #: fortran/io.c:1041
+ #, fuzzy, no-c-format
+ msgid "Variable tag cannot be INTENT(IN) at %C"
+-msgstr "循环å˜é‡â€˜%s’在 %C 处ä¸èƒ½æ˜¯ INTENT(IN)"
++msgstr "循环å˜é‡â€˜%s’在%C处ä¸èƒ½æ˜¯ INTENT(IN)"
+
+ #: fortran/io.c:1048
+ #, no-c-format
+ msgid "Variable tag cannot be assigned in PURE procedure at %C"
+-msgstr "å˜é‡æ ‡è®°ä¸èƒ½è¢«èµ‹äºˆ %C 处的 PURE 进程"
++msgstr "å˜é‡æ ‡è®°ä¸èƒ½è¢«èµ‹äºˆ%C处的 PURE 过程"
+
+ #: fortran/io.c:1085
+ #, no-c-format
+@@ -6965,17 +6992,17 @@
+ #: fortran/io.c:1106
+ #, no-c-format
+ msgid "Constant expression in FORMAT tag at %L must be of type default CHARACTER"
+-msgstr "%L 处 FORMAT 标记中的常é‡è¡¨è¾¾å¼é»˜è®¤ç±»åž‹å¿…须为 CHARACTER"
++msgstr "%L处 FORMAT 标记中的常é‡è¡¨è¾¾å¼é»˜è®¤ç±»åž‹å¿…须为 CHARACTER"
+
+ #: fortran/io.c:1119
+ #, fuzzy, no-c-format
+ msgid "FORMAT tag at %L must be of type CHARACTER or INTEGER"
+-msgstr "%s 标记在 %L 处必须具有类型 %s 或 %s"
++msgstr "%s 标记在%L处必须具有类型 %s 或 %s"
+
+ #: fortran/io.c:1125
+ #, no-c-format
+ msgid "Deleted feature: ASSIGNED variable in FORMAT tag at %L"
+-msgstr "已删除的特性:%L 处 FORMAT 标记中有 ASSIGNED å˜é‡"
++msgstr "已删除的特性:%L处 FORMAT 标记中有 ASSIGNED å˜é‡"
+
+ #: fortran/io.c:1131
+ #, no-c-format
+@@ -6990,42 +7017,42 @@
+ #: fortran/io.c:1151
+ #, no-c-format
+ msgid "Extension: Character array in FORMAT tag at %L"
+-msgstr "扩展:%L 处的 FORMAT 标记中有字符数组"
++msgstr "扩展:%L处的 FORMAT 标记中有字符数组"
+
+ #: fortran/io.c:1157
+ #, no-c-format
+ msgid "Extension: Non-character in FORMAT tag at %L"
+-msgstr "扩展:%L 处的 FORMAT 标记中有éžå­—符"
++msgstr "扩展:%L处的 FORMAT 标记中有éžå­—符"
+
+ #: fortran/io.c:1182
+ #, no-c-format
+ msgid "%s tag at %L must be of type %s"
+-msgstr "%s 标记在 %L 处必须具有类型 %s"
++msgstr "%s 标记在%L处必须具有类型 %s"
+
+ #: fortran/io.c:1189
+ #, no-c-format
+ msgid "%s tag at %L must be scalar"
+-msgstr "%s 标记在 %L 处必须是标é‡"
++msgstr "%s 标记在%L处必须是标é‡"
+
+ #: fortran/io.c:1195
+ #, no-c-format
+ msgid "Fortran 2003: IOMSG tag at %L"
+-msgstr "Fortran 2003:%L 处的 IOMSG 标记"
++msgstr "Fortran 2003:%L处的 IOMSG 标记"
+
+ #: fortran/io.c:1203
+ #, fuzzy, no-c-format
+ msgid "Fortran 95 requires default INTEGER in %s tag at %L"
+-msgstr "Fortran 95 在 %L 处的 SIZE 标记中需è¦é»˜è®¤çš„ INTEGER"
++msgstr "Fortran 95 在%L处的 SIZE 标记中需è¦é»˜è®¤çš„ INTEGER"
+
+ #: fortran/io.c:1211
+ #, no-c-format
+ msgid "Extension: CONVERT tag at %L"
+-msgstr "扩展:%L 处的 CONVERT 标记"
++msgstr "扩展:%L处的 CONVERT 标记"
+
+ #: fortran/io.c:1367 fortran/io.c:1375
+ #, no-c-format
+ msgid "Fortran 2003: %s specifier in %s statement at %C has value '%s'"
+-msgstr "Fortran 2003:%s é™å®šç¬¦(在 %s 语å¥ä¸­ï¼ŒäºŽ %C 处)值为‘%s’"
++msgstr "Fortran 2003:%3$ 处 %2$ 语å¥ä¸­çš„ %1$s é™å®šç¬¦å€¼ä¸ºâ€˜%4$s’"
+
+ #: fortran/io.c:1393 fortran/io.c:1401
+ #, no-c-format
+@@ -7035,546 +7062,521 @@
+ #: fortran/io.c:1413 fortran/io.c:1419
+ #, fuzzy, no-c-format
+ msgid "%s specifier in %s statement at %C has invalid value '%s'"
+-msgstr "DATA 语å¥ä¸å…许出现在 %C 处的 PURE 过程中"
++msgstr "DATA 语å¥ä¸å…许出现在%C处的 PURE 过程中"
+
+ #: fortran/io.c:1473
+ #, no-c-format
+ msgid "OPEN statement not allowed in PURE procedure at %C"
+-msgstr "OPEN 语å¥ä¸å…许出现在 %C 处的 PURE 过程中"
++msgstr "OPEN 语å¥ä¸å…许出现在%C处的 PURE 过程中"
+
+ #: fortran/io.c:1818
+ #, no-c-format
+ msgid "CLOSE statement not allowed in PURE procedure at %C"
+-msgstr "CLOSE 语å¥ä¸å…许出现在 %C 处的 PURE 过程中"
++msgstr "CLOSE 语å¥ä¸å…许出现在%C处的 PURE 过程中"
+
+-#: fortran/io.c:1955 fortran/match.c:1841
++#: fortran/io.c:1955 fortran/match.c:1911
+ #, fuzzy, no-c-format
+ msgid "%s statement not allowed in PURE procedure at %C"
+-msgstr "OPEN 语å¥ä¸å…许出现在 %C 处的 PURE 过程中"
++msgstr "OPEN 语å¥ä¸å…许出现在%C处的 PURE 过程中"
+
+ #: fortran/io.c:2011
+ #, no-c-format
+ msgid "Fortran 2003: FLUSH statement at %C"
+-msgstr "Fortran 2003:%C 处的 FLUSH 语å¥"
++msgstr "Fortran 2003:%C处的 FLUSH 语å¥"
+
+ #: fortran/io.c:2072
+ #, no-c-format
+ msgid "Duplicate UNIT specification at %C"
+-msgstr "%C 处é‡å¤çš„ UNIT 指定"
++msgstr "%C处é‡å¤çš„ UNIT 指定"
+
+-#: fortran/io.c:2128
++#: fortran/io.c:2132
+ #, no-c-format
+ msgid "Duplicate format specification at %C"
+-msgstr "%C 处é‡å¤çš„æ ¼å¼æŒ‡å®š"
++msgstr "%C处é‡å¤çš„æ ¼å¼æŒ‡å®š"
+
+-#: fortran/io.c:2145
++#: fortran/io.c:2149
+ #, no-c-format
+ msgid "Symbol '%s' in namelist '%s' is INTENT(IN) at %C"
+ msgstr "符å·â€˜%s’在å字列表‘%s’是 INTENT(IN),ä½äºŽ %C"
+
+-#: fortran/io.c:2181
++#: fortran/io.c:2185
+ #, no-c-format
+ msgid "Duplicate NML specification at %C"
+-msgstr "%C 处é‡å¤çš„ NML 指定"
++msgstr "%C处é‡å¤çš„ NML 指定"
+
+-#: fortran/io.c:2190
++#: fortran/io.c:2194
+ #, no-c-format
+ msgid "Symbol '%s' at %C must be a NAMELIST group name"
+ msgstr ""
+
+-#: fortran/io.c:2231
++#: fortran/io.c:2235
+ #, no-c-format
+ msgid "END tag at %C not allowed in output statement"
+-msgstr "%C 处的 END 标记ä¸å…许出现在输出语å¥ä¸­"
++msgstr "%C处的 END 标记ä¸å…许出现在输出语å¥ä¸­"
+
+-#: fortran/io.c:2288
++#: fortran/io.c:2292
+ #, no-c-format
+ msgid "UNIT specification at %L must be an INTEGER expression or a CHARACTER variable"
+-msgstr "%L 处指定的 UNIT 必须是 INTEGER 表达å¼æˆ–一个 CHARACTER å˜é‡"
++msgstr "%L处指定的 UNIT 必须是 INTEGER 表达å¼æˆ–一个 CHARACTER å˜é‡"
+
+-#: fortran/io.c:2297
++#: fortran/io.c:2301
+ #, no-c-format
+ msgid "Internal unit with vector subscript at %L"
+-msgstr "%L 处内部å•ä½å¸¦çŸ¢é‡ä¸‹æ ‡"
++msgstr "%L处内部å•ä½å¸¦çŸ¢é‡ä¸‹æ ‡"
+
+-#: fortran/io.c:2304
++#: fortran/io.c:2308
+ #, no-c-format
+ msgid "External IO UNIT cannot be an array at %L"
+-msgstr "%L 处的外部 IO UNIT ä¸èƒ½æ˜¯æ•°ç»„"
++msgstr "%L处的外部 IO UNIT ä¸èƒ½æ˜¯æ•°ç»„"
+
+-#: fortran/io.c:2314
++#: fortran/io.c:2318
+ #, no-c-format
+ msgid "ERR tag label %d at %L not defined"
+-msgstr "ERR æ ‡å· %d 在 %L 处未定义"
++msgstr "ERR æ ‡å· %d 在%L处未定义"
+
+-#: fortran/io.c:2326
++#: fortran/io.c:2330
+ #, no-c-format
+ msgid "END tag label %d at %L not defined"
+-msgstr "END æ ‡å· %d 在 %L 处未定义"
++msgstr "END æ ‡å· %d 在%L处未定义"
+
+-#: fortran/io.c:2338
++#: fortran/io.c:2342
+ #, no-c-format
+ msgid "EOR tag label %d at %L not defined"
+-msgstr "EOR æ ‡å· %d 在 %L 处未定义"
++msgstr "EOR æ ‡å· %d 在%L处未定义"
+
+-#: fortran/io.c:2348
++#: fortran/io.c:2352
+ #, no-c-format
+ msgid "FORMAT label %d at %L not defined"
+-msgstr "FORMAT æ ‡å· %d 在 %L 处未定义"
++msgstr "FORMAT æ ‡å· %d 在%L处未定义"
+
+-#: fortran/io.c:2469
++#: fortran/io.c:2473
+ #, no-c-format
+ msgid "Syntax error in I/O iterator at %C"
+-msgstr "%C 处 I/O 游标语法错误"
++msgstr "%C处 I/O 游标语法错误"
+
+-#: fortran/io.c:2500
++#: fortran/io.c:2504
+ #, no-c-format
+ msgid "Expected variable in READ statement at %C"
+ msgstr "%C READ 语å¥éœ€è¦å˜é‡"
+
+-#: fortran/io.c:2506
++#: fortran/io.c:2510
+ #, no-c-format
+ msgid "Expected expression in %s statement at %C"
+-msgstr "éœ€è¦ %s 语å¥ï¼ŒäºŽ %C 处"
++msgstr "%2$Cå¤„éœ€è¦ %1$s 语å¥"
+
+-#: fortran/io.c:2516
++#: fortran/io.c:2520
+ #, no-c-format
+ msgid "Variable '%s' in input list at %C cannot be INTENT(IN)"
+ msgstr ""
+
+-#: fortran/io.c:2525
++#: fortran/io.c:2529
+ #, no-c-format
+ msgid "Cannot read to variable '%s' in PURE procedure at %C"
+-msgstr ""
++msgstr "ä¸èƒ½åœ¨%2$C处的 PURE 过程中读å–å˜é‡â€˜%1$s’"
+
+-#: fortran/io.c:2541
++#: fortran/io.c:2545
+ #, no-c-format
+ msgid "Cannot write to internal file unit '%s' at %C inside a PURE procedure"
+ msgstr ""
+
+ #. A general purpose syntax error.
+-#: fortran/io.c:2602 fortran/io.c:3004 fortran/gfortran.h:1998
++#: fortran/io.c:2606 fortran/io.c:3013 fortran/gfortran.h:2002
+ #, no-c-format
+ msgid "Syntax error in %s statement at %C"
+-msgstr "%s 语å¥åœ¨ %C 处语法错误"
++msgstr "%s 语å¥åœ¨%C处语法错误"
+
+-#: fortran/io.c:2670
++#: fortran/io.c:2679
+ #, fuzzy, no-c-format
+ msgid "Fortran 2003: Internal file at %L with namelist"
+-msgstr "Fortran 2003:%L 处的 IOMSG 标记"
++msgstr "Fortran 2003:%L处的 IOMSG 标记"
+
+-#: fortran/io.c:2833
++#: fortran/io.c:2842
+ #, no-c-format
+ msgid "PRINT namelist at %C is an extension"
+-msgstr "%C 处的 PRINT å字列表是一个扩展"
++msgstr "%C处的 PRINT å字列表是一个扩展"
+
+-#: fortran/io.c:2965
++#: fortran/io.c:2974
+ #, no-c-format
+ msgid "Extension: Comma before i/o item list at %C"
+-msgstr "扩展:%C 处 i/o 项目表å‰çš„逗å·"
++msgstr "扩展:%C处 i/o 项目表å‰çš„逗å·"
+
+-#: fortran/io.c:2974
++#: fortran/io.c:2983
+ #, no-c-format
+ msgid "Expected comma in I/O list at %C"
+-msgstr "%C 处 I/O 列表中需è¦é€—å·"
++msgstr "%C处 I/O 列表中需è¦é€—å·"
+
+-#: fortran/io.c:3036
++#: fortran/io.c:3045
+ #, no-c-format
+ msgid "PRINT statement at %C not allowed within PURE procedure"
+-msgstr "PRINT 语å¥ä¸å…许出现在 %C 处的 PURE 过程中"
++msgstr "PRINT 语å¥ä¸å…许出现在%C处的 PURE 过程中"
+
+-#: fortran/io.c:3176 fortran/io.c:3227
++#: fortran/io.c:3185 fortran/io.c:3236
+ #, no-c-format
+ msgid "INQUIRE statement not allowed in PURE procedure at %C"
+-msgstr "INQUIRE 语å¥ä¸å…许出现在 %C 处的 PURE 过程中"
++msgstr "INQUIRE 语å¥ä¸å…许出现在%C处的 PURE 过程中"
+
+-#: fortran/io.c:3203
++#: fortran/io.c:3212
+ #, no-c-format
+ msgid "IOLENGTH tag invalid in INQUIRE statement at %C"
+ msgstr ""
+
+-#: fortran/io.c:3213 fortran/trans-io.c:1144
++#: fortran/io.c:3222 fortran/trans-io.c:1145
+ #, no-c-format
+ msgid "INQUIRE statement at %L cannot contain both FILE and UNIT specifiers"
+ msgstr ""
+
+-#: fortran/io.c:3220
++#: fortran/io.c:3229
+ #, no-c-format
+ msgid "INQUIRE statement at %L requires either FILE or UNIT specifier"
+-msgstr "%L 处的 INQUIRE 语å¥éœ€è¦ FILE 或 UNIT é™å®šç¬¦"
++msgstr "%L处的 INQUIRE 语å¥éœ€è¦ FILE 或 UNIT é™å®šç¬¦"
+
+-#: fortran/match.c:270
++#: fortran/match.c:156
+ #, no-c-format
++msgid "Missing ')' in statement before %L"
++msgstr "%L å‰è¯­å¥ä¸­ç¼ºå°‘‘)’"
++
++#: fortran/match.c:161
++#, no-c-format
++msgid "Missing '(' in statement before %L"
++msgstr "%L å‰è¯­å¥ä¸­ç¼ºå°‘‘(’"
++
++#: fortran/match.c:332
++#, no-c-format
+ msgid "Integer too large at %C"
+-msgstr "%C 处整数太大"
++msgstr "%C处整数太大"
+
+-#: fortran/match.c:363 fortran/parse.c:442
++#: fortran/match.c:425 fortran/parse.c:589
+ #, no-c-format
+ msgid "Too many digits in statement label at %C"
+-msgstr "%C 处语å¥æ ‡å·ä¸­æ•°å­—太多"
++msgstr "%C处语å¥æ ‡å·ä¸­æ•°å­—太多"
+
+-#: fortran/match.c:369
++#: fortran/match.c:431
+ #, no-c-format
+ msgid "Statement label at %C is zero"
+-msgstr "%C 处的语å¥æ ‡å·ä¸ºé›¶"
++msgstr "%C处的语å¥æ ‡å·ä¸ºé›¶"
+
+-#: fortran/match.c:402
++#: fortran/match.c:464
+ #, no-c-format
+ msgid "Label name '%s' at %C is ambiguous"
+-msgstr "æ ‡å·å‘%s’在 %C 处有歧义"
++msgstr "æ ‡å·å‘%s’在%C处有歧义"
+
+-#: fortran/match.c:408
++#: fortran/match.c:470
+ #, no-c-format
+ msgid "Duplicate construct label '%s' at %C"
+-msgstr "é‡å¤çš„构造标å·â€˜%s’出现在 %C 处"
++msgstr "é‡å¤çš„构造标å·â€˜%s’出现在%C处"
+
+-#: fortran/match.c:438
++#: fortran/match.c:500
+ #, no-c-format
+ msgid "Invalid character in name at %C"
+-msgstr "%C 处的å字中有éžæ³•å­—符"
++msgstr "%C处的å字中有éžæ³•å­—符"
+
+-#: fortran/match.c:451 fortran/match.c:523
++#: fortran/match.c:513 fortran/match.c:585
+ #, no-c-format
+ msgid "Name at %C is too long"
+ msgstr "%C çš„å字太长"
+
+-#: fortran/match.c:506 fortran/match.c:552
++#: fortran/match.c:568 fortran/match.c:614
+ #, fuzzy, no-c-format
+ msgid "Invalid C name in NAME= specifier at %C"
+-msgstr "%C 处的格å¼é™å®šç¬¦éœ€è¦å¥ç‚¹"
++msgstr "%C处的格å¼é™å®šç¬¦éœ€è¦å¥ç‚¹"
+
+-#: fortran/match.c:543
++#: fortran/match.c:605
+ #, fuzzy, no-c-format
+ msgid "Embedded space in NAME= specifier at %C"
+-msgstr "%C 处的格å¼é™å®šç¬¦éœ€è¦å¥ç‚¹"
++msgstr "%C处的格å¼é™å®šç¬¦éœ€è¦å¥ç‚¹"
+
+-#: fortran/match.c:868
++#: fortran/match.c:930
+ #, no-c-format
+ msgid "Loop variable at %C cannot be a sub-component"
+-msgstr "%C 处的循环å˜é‡ä¸èƒ½æ˜¯ä¸€ä¸ªå­ç»„件"
++msgstr "%C处的循环å˜é‡ä¸èƒ½æ˜¯ä¸€ä¸ªå­ç»„件"
+
+-#: fortran/match.c:874
++#: fortran/match.c:936
+ #, no-c-format
+ msgid "Loop variable '%s' at %C cannot be INTENT(IN)"
+-msgstr "循环å˜é‡â€˜%s’在 %C 处ä¸èƒ½æ˜¯ INTENT(IN)"
++msgstr "循环å˜é‡â€˜%s’在%C处ä¸èƒ½æ˜¯ INTENT(IN)"
+
+-#: fortran/match.c:907
++#: fortran/match.c:969
+ #, no-c-format
+ msgid "Expected a step value in iterator at %C"
+-msgstr "%C 处的迭代å­éœ€è¦ä¸€ä¸ªæ­¥è¿›å€¼"
++msgstr "%C处的迭代å­éœ€è¦ä¸€ä¸ªæ­¥è¿›å€¼"
+
+-#: fortran/match.c:919
++#: fortran/match.c:981
+ #, no-c-format
+ msgid "Syntax error in iterator at %C"
+-msgstr "%C 处游标语法错误"
++msgstr "%C处游标语法错误"
+
+-#: fortran/match.c:1155
++#: fortran/match.c:1217
+ #, no-c-format
+ msgid "Invalid form of PROGRAM statement at %C"
+-msgstr "%C 处 PROGRAM 语å¥æ ¼å¼æ— æ•ˆ"
++msgstr "%C处 PROGRAM 语å¥æ ¼å¼æ— æ•ˆ"
+
+-#: fortran/match.c:1196
++#: fortran/match.c:1258
+ #, no-c-format
+ msgid "Setting value of PROTECTED variable at %C"
+ msgstr ""
+
+-#: fortran/match.c:1249
++#: fortran/match.c:1311
+ #, no-c-format
+ msgid "Assigning to a PROTECTED pointer at %C"
+ msgstr ""
+
+-#: fortran/match.c:1292 fortran/match.c:1365
++#: fortran/match.c:1354 fortran/match.c:1435
+ #, no-c-format
+ msgid "Obsolescent: arithmetic IF statement at %C"
+-msgstr "已过时:%C 处的算术 IF 语å¥"
++msgstr "已过时:%C处的算术 IF 语å¥"
+
+-#: fortran/match.c:1340
++#: fortran/match.c:1410
+ #, no-c-format
+ msgid "Syntax error in IF-expression at %C"
+-msgstr "%C 处 IF 表达å¼è¯­æ³•é”™è¯¯"
++msgstr "%C处 IF 表达å¼è¯­æ³•é”™è¯¯"
+
+-#: fortran/match.c:1351
++#: fortran/match.c:1421
+ #, no-c-format
+ msgid "Block label not appropriate for arithmetic IF statement at %C"
+ msgstr ""
+
+-#: fortran/match.c:1389
+-#, no-c-format
+-msgid "Block label is not appropriate IF statement at %C"
+-msgstr ""
++#: fortran/match.c:1459
++#, fuzzy, no-c-format
++msgid "Block label is not appropriate for IF statement at %C"
++msgstr "已过时:%C处的算术 IF 语å¥"
+
+-#: fortran/match.c:1468 fortran/primary.c:2522
++#: fortran/match.c:1538 fortran/primary.c:2559
+ #, no-c-format
+ msgid "Cannot assign to a named constant at %C"
+-msgstr "无法赋值给 %C 处的有å常é‡"
++msgstr "无法赋值给%C处的有å常é‡"
+
+-#: fortran/match.c:1478
++#: fortran/match.c:1548
+ #, no-c-format
+ msgid "Unclassifiable statement in IF-clause at %C"
+-msgstr "%C 处 IF å­å¥ä¸­æœ‰æ— æ³•å½’类的语å¥"
++msgstr "%C处 IF å­å¥ä¸­æœ‰æ— æ³•å½’类的语å¥"
+
+-#: fortran/match.c:1485
++#: fortran/match.c:1555
+ #, no-c-format
+ msgid "Syntax error in IF-clause at %C"
+-msgstr "%C 处 IF 语å¥è¯­æ³•é”™è¯¯"
++msgstr "%C处 IF 语å¥è¯­æ³•é”™è¯¯"
+
+-#: fortran/match.c:1529
++#: fortran/match.c:1599
+ #, no-c-format
+ msgid "Unexpected junk after ELSE statement at %C"
+-msgstr "%C 处 ELSE 语å¥åŽæœ‰éžé¢„期的垃圾字符"
++msgstr "%C处 ELSE 语å¥åŽæœ‰éžé¢„期的垃圾字符"
+
+-#: fortran/match.c:1535 fortran/match.c:1570
++#: fortran/match.c:1605 fortran/match.c:1640
+ #, no-c-format
+ msgid "Label '%s' at %C doesn't match IF label '%s'"
+ msgstr ""
+
+-#: fortran/match.c:1564
++#: fortran/match.c:1634
+ #, no-c-format
+ msgid "Unexpected junk after ELSE IF statement at %C"
+-msgstr "%C 处 ELSE IF 语å¥åŽæœ‰éžé¢„期的垃圾字符"
++msgstr "%C处 ELSE IF 语å¥åŽæœ‰éžé¢„期的垃圾字符"
+
+-#: fortran/match.c:1727
++#: fortran/match.c:1797
+ #, fuzzy, no-c-format
+ msgid "Name '%s' in %s statement at %C is not a loop name"
+-msgstr "DATA 语å¥ä¸å…许出现在 %C 处的 PURE 过程中"
++msgstr "DATA 语å¥ä¸å…许出现在%C处的 PURE 过程中"
+
+-#: fortran/match.c:1743
++#: fortran/match.c:1813
+ #, no-c-format
+ msgid "%s statement at %C is not within a loop"
+-msgstr "%s 语å¥åœ¨ %C 处ä¸åœ¨å¾ªçŽ¯å†…"
++msgstr "%s 语å¥åœ¨%C处ä¸åœ¨å¾ªçŽ¯å†…"
+
+-#: fortran/match.c:1746
++#: fortran/match.c:1816
+ #, no-c-format
+ msgid "%s statement at %C is not within loop '%s'"
+-msgstr "%s 语å¥åœ¨ %C 处ä¸åœ¨å¾ªçŽ¯â€˜%s’内"
++msgstr "%s 语å¥åœ¨%C处ä¸åœ¨å¾ªçŽ¯â€˜%s’内"
+
+-#: fortran/match.c:1754
++#: fortran/match.c:1824
+ #, no-c-format
+ msgid "%s statement at %C leaving OpenMP structured block"
+-msgstr "%s 语å¥åœ¨ %C 处离开 OpenMP 结构å—"
++msgstr "%s 语å¥åœ¨%C处离开 OpenMP 结构å—"
+
+-#: fortran/match.c:1767
++#: fortran/match.c:1837
+ #, fuzzy, no-c-format
+ msgid "EXIT statement at %C terminating !$OMP DO loop"
+-msgstr "%C 处的 ENTRY 语å¥ä¸èƒ½å‡ºçŽ°åœ¨ DO 中"
++msgstr "%C处的 ENTRY 语å¥ä¸èƒ½å‡ºçŽ°åœ¨ DO 中"
+
+-#: fortran/match.c:1819
++#: fortran/match.c:1889
+ #, no-c-format
+ msgid "Too many digits in STOP code at %C"
+-msgstr "%C 处 STOP 代ç ä¸­æ•°å­—太多"
++msgstr "%C处 STOP 代ç ä¸­æ•°å­—太多"
+
+-#: fortran/match.c:1872
++#: fortran/match.c:1942
+ #, no-c-format
+ msgid "Deleted feature: PAUSE statement at %C"
+-msgstr "已删除的特性:%C 处的 PAUSE 语å¥"
++msgstr "已删除的特性:%C处的 PAUSE 语å¥"
+
+-#: fortran/match.c:1920
++#: fortran/match.c:1990
+ #, no-c-format
+ msgid "Deleted feature: ASSIGN statement at %C"
+-msgstr "已删除的特性:%C 处的 ASSIGN 语å¥"
++msgstr "已删除的特性:%C处的 ASSIGN 语å¥"
+
+-#: fortran/match.c:1966
++#: fortran/match.c:2036
+ #, no-c-format
+ msgid "Deleted feature: Assigned GOTO statement at %C"
+-msgstr "已删除的特性:%C 处赋值 GOTO 语å¥"
++msgstr "已删除的特性:%C处赋值 GOTO 语å¥"
+
+-#: fortran/match.c:2013 fortran/match.c:2065
++#: fortran/match.c:2083 fortran/match.c:2135
+ #, no-c-format
+ msgid "Statement label list in GOTO at %C cannot be empty"
+ msgstr ""
+
+-#: fortran/match.c:2149
++#: fortran/match.c:2219
+ #, no-c-format
+ msgid "Bad allocate-object in ALLOCATE statement at %C for a PURE procedure"
+ msgstr ""
+
+-#: fortran/match.c:2173
++#: fortran/match.c:2287
+ #, no-c-format
+-msgid "STAT variable '%s' of ALLOCATE statement at %C cannot be INTENT(IN)"
+-msgstr ""
+-
+-#: fortran/match.c:2180
+-#, no-c-format
+-msgid "Illegal STAT variable in ALLOCATE statement at %C for a PURE procedure"
+-msgstr ""
+-
+-#: fortran/match.c:2218 fortran/match.c:2382
+-#, no-c-format
+-msgid "STAT expression at %C must be a variable"
+-msgstr "%C 处的 STAT 表达å¼å¿…须是一个å˜é‡"
+-
+-#: fortran/match.c:2272
+-#, no-c-format
+ msgid "Illegal variable in NULLIFY at %C for a PURE procedure"
+ msgstr ""
+
+-#: fortran/match.c:2349
++#: fortran/match.c:2364
+ #, no-c-format
+ msgid "Illegal deallocate-expression in DEALLOCATE at %C for a PURE procedure"
+ msgstr ""
+
+-#: fortran/match.c:2368
++#: fortran/match.c:2417
+ #, no-c-format
+-msgid "STAT variable '%s' of DEALLOCATE statement at %C cannot be INTENT(IN)"
+-msgstr ""
+-
+-#: fortran/match.c:2375
+-#, no-c-format
+-msgid "Illegal STAT variable in DEALLOCATE statement at %C for a PURE procedure"
+-msgstr ""
+-
+-#: fortran/match.c:2424
+-#, no-c-format
+ msgid "Alternate RETURN statement at %C is only allowed within a SUBROUTINE"
+-msgstr "%C 处的替代 RETURN 语å¥åªå…许出现在 SUBROUTINE 中"
++msgstr "%C处的替代 RETURN 语å¥åªå…许出现在 SUBROUTINE 中"
+
+-#: fortran/match.c:2455
++#: fortran/match.c:2448
+ #, no-c-format
+ msgid "Extension: RETURN statement in main program at %C"
+-msgstr "扩展:%C 处 RETURN 语å¥å‡ºçŽ°åœ¨ä¸»ç¨‹åºä¸­"
++msgstr "扩展:%C处 RETURN 语å¥å‡ºçŽ°åœ¨ä¸»ç¨‹åºä¸­"
+
+-#: fortran/match.c:2665
++#: fortran/match.c:2658
+ #, no-c-format
+ msgid "Syntax error in common block name at %C"
+-msgstr "%C 处公共å—å语法错误"
++msgstr "%C处公共å—å语法错误"
+
+-#: fortran/match.c:2701
++#: fortran/match.c:2694
+ #, no-c-format
+ msgid "Symbol '%s' at %C is already an external symbol that is not COMMON"
+-msgstr "符å·â€˜%s’在 %C 处已ç»æ˜¯ä¸€ä¸ªéž COMMON 的外部符å·"
++msgstr "符å·â€˜%s’在%C处已ç»æ˜¯ä¸€ä¸ªéž COMMON 的外部符å·"
+
+-#: fortran/match.c:2719
+-#, no-c-format
+-msgid "BLOCK DATA unit cannot contain blank COMMON at %C"
+-msgstr ""
+-
+ #. If we find an error, just print it and continue,
+ #. cause it's just semantic, and we can see if there
+ #. are more errors.
+-#: fortran/match.c:2765
++#: fortran/match.c:2753
+ #, no-c-format
+ msgid "Variable '%s' at %L in common block '%s' at %C must be declared with a C interoperable kind since common block '%s' is bind(c)"
+ msgstr ""
+
+-#: fortran/match.c:2774
++#: fortran/match.c:2762
+ #, no-c-format
+ msgid "Variable '%s' in common block '%s' at %C can not be bind(c) since it is not global"
+ msgstr ""
+
+-#: fortran/match.c:2781
++#: fortran/match.c:2769
+ #, no-c-format
+ msgid "Symbol '%s' at %C is already in a COMMON block"
+-msgstr "符å·â€˜%s’在 %C 处已ç»åœ¨ä¸€ä¸ª COMMON å—中"
++msgstr "符å·â€˜%s’在%C处已ç»åœ¨ä¸€ä¸ª COMMON å—中"
+
+-#: fortran/match.c:2793
++#: fortran/match.c:2777
+ #, no-c-format
+-msgid "Previously initialized symbol '%s' in blank COMMON block at %C"
++msgid "Initialized symbol '%s' at %C can only be COMMON in BLOCK DATA"
+ msgstr ""
+
+-#: fortran/match.c:2796
++#: fortran/match.c:2804
+ #, no-c-format
+-msgid "Previously initialized symbol '%s' in COMMON block '%s' at %C"
+-msgstr ""
+-
+-#: fortran/match.c:2821
+-#, no-c-format
+ msgid "Array specification for symbol '%s' in COMMON at %C must be explicit"
+ msgstr ""
+
+-#: fortran/match.c:2831
++#: fortran/match.c:2814
+ #, no-c-format
+ msgid "Symbol '%s' in COMMON at %C cannot be a POINTER array"
+ msgstr ""
+
+-#: fortran/match.c:2863
++#: fortran/match.c:2846
+ #, no-c-format
+ msgid "Symbol '%s', in COMMON block '%s' at %C is being indirectly equivalenced to another COMMON block '%s'"
+ msgstr ""
+
+-#: fortran/match.c:2971
++#: fortran/match.c:2954
+ #, no-c-format
+ msgid "Namelist group name '%s' at %C already has a basic type of %s"
+ msgstr ""
+
+-#: fortran/match.c:2979
++#: fortran/match.c:2962
+ #, no-c-format
+ msgid "Namelist group name '%s' at %C already is USE associated and cannot be respecified."
+ msgstr ""
+
+-#: fortran/match.c:3006
++#: fortran/match.c:2989
+ #, fuzzy, no-c-format
+ msgid "Assumed size array '%s' in namelist '%s' at %C is not allowed"
+-msgstr "%C 处的空数组构造ä¸è¢«å…许"
++msgstr "%C处的空数组构造ä¸è¢«å…许"
+
+-#: fortran/match.c:3013
++#: fortran/match.c:2996
+ #, fuzzy, no-c-format
+ msgid "Assumed character length '%s' in namelist '%s' at %C is not allowed"
+-msgstr "%C 处的空数组构造ä¸è¢«å…许"
++msgstr "%C处的空数组构造ä¸è¢«å…许"
+
+-#: fortran/match.c:3140
++#: fortran/match.c:3123
+ #, no-c-format
+ msgid "Derived type component %C is not a permitted EQUIVALENCE member"
+ msgstr ""
+
+-#: fortran/match.c:3148
++#: fortran/match.c:3131
+ #, no-c-format
+ msgid "Array reference in EQUIVALENCE at %C cannot be an array section"
+ msgstr ""
+
+-#: fortran/match.c:3176
++#: fortran/match.c:3159
+ #, no-c-format
+ msgid "EQUIVALENCE at %C requires two or more objects"
+ msgstr ""
+
+-#: fortran/match.c:3190
++#: fortran/match.c:3173
+ #, no-c-format
+ msgid "Attempt to indirectly overlap COMMON blocks %s and %s by EQUIVALENCE at %C"
+ msgstr ""
+
+-#: fortran/match.c:3351
++#: fortran/match.c:3299
+ #, no-c-format
+ msgid "Statement function at %L is recursive"
+-msgstr "%L 处的语å¥å‡½æ•°æ˜¯é€’å½’çš„"
++msgstr "%L处的语å¥å‡½æ•°æ˜¯é€’å½’çš„"
+
+-#: fortran/match.c:3439
++#: fortran/match.c:3387
+ #, no-c-format
+ msgid "Expected initialization expression in CASE at %C"
+-msgstr "%C 处 CASE 中需è¦åˆå§‹åŒ–表达å¼"
++msgstr "%C处 CASE 中需è¦åˆå§‹åŒ–表达å¼"
+
+-#: fortran/match.c:3462
++#: fortran/match.c:3410
+ #, fuzzy, no-c-format
+ msgid "Expected the name of the SELECT CASE construct at %C"
+ msgstr "%C 需è¦ä¸€ä¸ªæ— å接å£"
+
+-#: fortran/match.c:3474
++#: fortran/match.c:3422
+ #, no-c-format
+ msgid "Expected case name of '%s' at %C"
+-msgstr "%C 处需è¦â€˜%s’的 case å"
++msgstr "%C处需è¦â€˜%s’的 case å"
+
+-#: fortran/match.c:3518
++#: fortran/match.c:3466
+ #, no-c-format
+ msgid "Unexpected CASE statement at %C"
+-msgstr "%C 处éžé¢„期的 CASE 语å¥"
++msgstr "%C处éžé¢„期的 CASE 语å¥"
+
+-#: fortran/match.c:3570
++#: fortran/match.c:3518
+ #, no-c-format
+ msgid "Syntax error in CASE-specification at %C"
+ msgstr "%C CASE 指定语法错误"
+
+-#: fortran/match.c:3690
++#: fortran/match.c:3638
+ #, no-c-format
+ msgid "ELSEWHERE statement at %C not enclosed in WHERE block"
+-msgstr "%C 处的 ELSEWHERE 语å¥ä¸åœ¨ WHERE å—中"
++msgstr "%C处的 ELSEWHERE 语å¥ä¸åœ¨ WHERE å—中"
+
+-#: fortran/match.c:3728
++#: fortran/match.c:3676
+ #, no-c-format
+ msgid "Label '%s' at %C doesn't match WHERE label '%s'"
+ msgstr ""
+
+-#: fortran/match.c:3828
++#: fortran/match.c:3776
+ #, no-c-format
+ msgid "Syntax error in FORALL iterator at %C"
+-msgstr "%C 处 FORALL 游标语法错误"
++msgstr "%C处 FORALL 游标语法错误"
+
+ #: fortran/matchexp.c:28
+ #, c-format
+@@ -7589,22 +7591,23 @@
+ #: fortran/matchexp.c:80
+ #, no-c-format
+ msgid "The name '%s' cannot be used as a defined operator at %C"
+-msgstr "å字‘%s’在 %C 处ä¸èƒ½ç”¨ä½œå·²å®šä¹‰çš„è¿ç®—符"
++msgstr "å字‘%s’在%C处ä¸èƒ½ç”¨ä½œå·²å®šä¹‰çš„è¿ç®—符"
+
+ #: fortran/matchexp.c:187
+ #, no-c-format
+ msgid "Expected a right parenthesis in expression at %C"
+-msgstr "%C 处表达å¼ä¸­éœ€è¦å³æ‹¬å·"
++msgstr "%C处表达å¼ä¸­éœ€è¦å³æ‹¬å·"
+
+ #: fortran/matchexp.c:312
+ #, no-c-format
+ msgid "Expected exponent in expression at %C"
+-msgstr "%C 处表达å¼ä¸­éœ€è¦æŒ‡æ•°éƒ¨åˆ†"
++msgstr "%C处表达å¼ä¸­éœ€è¦æŒ‡æ•°éƒ¨åˆ†"
+
+-#: fortran/matchexp.c:348 fortran/matchexp.c:452
++#: fortran/matchexp.c:350 fortran/matchexp.c:355 fortran/matchexp.c:459
++#: fortran/matchexp.c:464
+ #, no-c-format
+ msgid "Extension: Unary operator following arithmetic operator (use parentheses) at %C"
+-msgstr "扩展:%C 处å•ç›®è¿ç®—符出现在算术è¿ç®—符之åŽ"
++msgstr "扩展:%C处å•ç›®è¿ç®—符出现在算术è¿ç®—符之åŽ"
+
+ #: fortran/misc.c:39
+ #, no-c-format
+@@ -7614,7 +7617,7 @@
+ #: fortran/module.c:516
+ #, fuzzy, no-c-format
+ msgid "Fortran 2003: module nature in USE statement at %C"
+-msgstr "Fortran 2003:%C 处的 FLUSH 语å¥"
++msgstr "Fortran 2003:%C处的 FLUSH 语å¥"
+
+ #: fortran/module.c:528
+ #, no-c-format
+@@ -7629,7 +7632,7 @@
+ #: fortran/module.c:550
+ #, no-c-format
+ msgid "Fortran 2003: \"USE :: module\" at %C"
+-msgstr "Fortran 2003:%C 处的“USE :: moduleâ€"
++msgstr "Fortran 2003:%C处的“USE :: moduleâ€"
+
+ #: fortran/module.c:602
+ #, no-c-format
+@@ -7639,7 +7642,7 @@
+ #: fortran/module.c:610
+ #, fuzzy, no-c-format
+ msgid "Fortran 2003: Renaming operators in USE statements at %C"
+-msgstr "Fortran 2003:%C 处的 FLUSH 语å¥"
++msgstr "Fortran 2003:%C处的 FLUSH 语å¥"
+
+ #: fortran/module.c:652
+ #, fuzzy, no-c-format
+@@ -7726,141 +7729,141 @@
+ msgid "Expected real string"
+ msgstr "需è¦å®žæ•°å­—符串"
+
+-#: fortran/module.c:2722
++#: fortran/module.c:2730
+ msgid "Expected expression type"
+ msgstr "需è¦è¡¨è¾¾å¼ç±»åž‹"
+
+-#: fortran/module.c:2776
++#: fortran/module.c:2784
+ msgid "Bad operator"
+ msgstr "错误的è¿ç®—符"
+
+-#: fortran/module.c:2861
++#: fortran/module.c:2869
+ msgid "Bad type in constant expression"
+ msgstr "常é‡è¡¨è¾¾å¼ä¸­ç±»åž‹é”™è¯¯"
+
+-#: fortran/module.c:2898
++#: fortran/module.c:2906
+ #, no-c-format
+ msgid "Namelist %s cannot be renamed by USE association to %s"
+ msgstr ""
+
+-#: fortran/module.c:3723
++#: fortran/module.c:3847
+ #, no-c-format
+ msgid "Symbol '%s' referenced at %L not found in module '%s'"
+-msgstr ""
++msgstr "%2$L处引用的符å·â€˜%1$s’在模å—‘%3$s’中找ä¸åˆ°"
+
+-#: fortran/module.c:3730
++#: fortran/module.c:3854
+ #, no-c-format
+ msgid "User operator '%s' referenced at %L not found in module '%s'"
+ msgstr ""
+
+-#: fortran/module.c:3735
++#: fortran/module.c:3859
+ #, no-c-format
+ msgid "Intrinsic operator '%s' referenced at %L not found in module '%s'"
+ msgstr ""
+
+-#: fortran/module.c:4213
++#: fortran/module.c:4400
+ #, no-c-format
+ msgid "Can't open module file '%s' for writing at %C: %s"
+-msgstr "ä¸èƒ½æ‰“开模å—文件‘%s’写入,在 %C 处:%s"
++msgstr "ä¸èƒ½æ‰“开模å—文件‘%s’写入,在%C处:%s"
+
+-#: fortran/module.c:4251
++#: fortran/module.c:4438
+ #, no-c-format
+ msgid "Error writing module file '%s' for writing: %s"
+ msgstr "写入模å—文件‘%s’时出错:%s"
+
+-#: fortran/module.c:4281 fortran/module.c:4363
++#: fortran/module.c:4468 fortran/module.c:4550
+ #, no-c-format
+ msgid "Symbol '%s' referenced at %L does not exist in intrinsic module ISO_C_BINDING."
+ msgstr ""
+
+-#: fortran/module.c:4394
++#: fortran/module.c:4581
+ #, no-c-format
+ msgid "Symbol '%s' referenced at %L not found in intrinsic module ISO_C_BINDING"
+ msgstr ""
+
+-#: fortran/module.c:4416
++#: fortran/module.c:4603
+ #, no-c-format
+ msgid "Symbol '%s' already declared"
+ msgstr "符å·â€˜%s’已ç»è¢«å£°æ˜Žè¿‡"
+
+-#: fortran/module.c:4471
++#: fortran/module.c:4658
+ #, no-c-format
+ msgid "Use of intrinsic module '%s' at %C conflicts with non-intrinsic module name used previously"
+ msgstr ""
+
+-#: fortran/module.c:4484
++#: fortran/module.c:4671
+ #, no-c-format
+ msgid "Symbol '%s' referenced at %L does not exist in intrinsic module ISO_FORTRAN_ENV"
+ msgstr ""
+
+-#: fortran/module.c:4492
++#: fortran/module.c:4679
+ #, no-c-format
+ msgid "Use of the NUMERIC_STORAGE_SIZE named constant from intrinsic module ISO_FORTRAN_ENV at %L is incompatible with option %s"
+ msgstr ""
+
+-#: fortran/module.c:4520
++#: fortran/module.c:4707
+ #, no-c-format
+ msgid "Use of the NUMERIC_STORAGE_SIZE named constant from intrinsic module ISO_FORTRAN_ENV at %C is incompatible with option %s"
+ msgstr ""
+
+-#: fortran/module.c:4536
++#: fortran/module.c:4723
+ #, no-c-format
+ msgid "Symbol '%s' referenced at %L not found in intrinsic module ISO_FORTRAN_ENV"
+ msgstr ""
+
+-#: fortran/module.c:4569
++#: fortran/module.c:4756
+ #, no-c-format
+ msgid "Fortran 2003: ISO_FORTRAN_ENV intrinsic module at %C"
+ msgstr ""
+
+-#: fortran/module.c:4577
++#: fortran/module.c:4764
+ #, no-c-format
+ msgid "Fortran 2003: ISO_C_BINDING module at %C"
+-msgstr "Fortran 2003:%C 处的 ISO_C_BINDING 模å—"
++msgstr "Fortran 2003:%C处的 ISO_C_BINDING 模å—"
+
+-#: fortran/module.c:4587
++#: fortran/module.c:4774
+ #, no-c-format
+ msgid "Can't find an intrinsic module named '%s' at %C"
+ msgstr ""
+
+-#: fortran/module.c:4592
++#: fortran/module.c:4779
+ #, no-c-format
+ msgid "Can't open module file '%s' for reading at %C: %s"
+-msgstr "无法打开模å—文件‘%s’读å–,在 %C 处:%s"
++msgstr "无法打开模å—文件‘%s’读å–,在%C处:%s"
+
+-#: fortran/module.c:4600
++#: fortran/module.c:4787
+ #, no-c-format
+ msgid "Use of non-intrinsic module '%s' at %C conflicts with intrinsic module name used previously"
+ msgstr ""
+
+-#: fortran/module.c:4615
++#: fortran/module.c:4802
+ msgid "Unexpected end of module"
+ msgstr "éžé¢„期的模å—结æŸ"
+
+-#: fortran/module.c:4620
++#: fortran/module.c:4807
+ #, no-c-format
+ msgid "File '%s' opened at %C is not a GFORTRAN module file"
+ msgstr ""
+
+-#: fortran/module.c:4630
++#: fortran/module.c:4817
+ #, no-c-format
+ msgid "Can't USE the same module we're building!"
+-msgstr ""
++msgstr "ä¸èƒ½ USE 我们正在构建的模å—ï¼"
+
+ #: fortran/openmp.c:134 fortran/openmp.c:499
+ #, no-c-format
+ msgid "COMMON block /%s/ not found at %C"
+-msgstr "没有在 %C 处å‘现 COMMON å— /%s/"
++msgstr "没有在%C处å‘现 COMMON å— /%s/"
+
+ #: fortran/openmp.c:165
+ #, no-c-format
+ msgid "Syntax error in OpenMP variable list at %C"
+-msgstr "%C 处的 OpenMP å˜é‡åˆ—表语法错误"
++msgstr "%C处的 OpenMP å˜é‡åˆ—表语法错误"
+
+ #: fortran/openmp.c:291
+ #, fuzzy, no-c-format
+ msgid "%s is not INTRINSIC procedure name at %C"
+-msgstr "通用函数‘%s’(于 %L 处)ä¸æ˜¯ä¸€ä¸ªå†…建函数"
++msgstr "通用函数‘%s’(于%L处)ä¸æ˜¯ä¸€ä¸ªå†…建函数"
+
+ #: fortran/openmp.c:478
+ #, no-c-format
+@@ -7870,9 +7873,9 @@
+ #: fortran/openmp.c:518
+ #, no-c-format
+ msgid "Syntax error in !$OMP THREADPRIVATE list at %C"
+-msgstr "%C 处 !$OMP THREADPRIVATE 列表语法错误"
++msgstr "%C处 !$OMP THREADPRIVATE 列表语法错误"
+
+-#: fortran/openmp.c:696 fortran/resolve.c:5822 fortran/resolve.c:6133
++#: fortran/openmp.c:696 fortran/resolve.c:5970 fortran/resolve.c:6317
+ #, no-c-format
+ msgid "IF clause at %L requires a scalar LOGICAL expression"
+ msgstr ""
+@@ -7911,7 +7914,7 @@
+ #: fortran/openmp.c:790
+ #, fuzzy, no-c-format
+ msgid "Assumed size array '%s' in COPYPRIVATE clause at %L"
+-msgstr "%C 处的空数组构造ä¸è¢«å…许"
++msgstr "%C处的空数组构造ä¸è¢«å…许"
+
+ #: fortran/openmp.c:793
+ #, no-c-format
+@@ -7931,22 +7934,22 @@
+ #: fortran/openmp.c:807
+ #, fuzzy, no-c-format
+ msgid "Cray pointee '%s' in SHARED clause at %L"
+-msgstr "%C 处对指针的åˆå§‹åŒ–ä¸å…许出现在 PURE 过程中"
++msgstr "%C处对指针的åˆå§‹åŒ–ä¸å…许出现在 PURE 过程中"
+
+ #: fortran/openmp.c:815
+ #, fuzzy, no-c-format
+ msgid "THREADPRIVATE object '%s' in %s clause at %L"
+-msgstr "%C 处 IF 语å¥è¯­æ³•é”™è¯¯"
++msgstr "%C处 IF 语å¥è¯­æ³•é”™è¯¯"
+
+ #: fortran/openmp.c:818
+ #, no-c-format
+ msgid "Cray pointee '%s' in %s clause at %L"
+-msgstr "Cray 指针目标‘%s’在 %s å­å¥ä¸­ï¼ŒäºŽ %L 处"
++msgstr "%3$L处 %2$s 分å¥ä¸­ çš„Cray 指针目标‘%1$s’"
+
+ #: fortran/openmp.c:823
+ #, fuzzy, no-c-format
+ msgid "POINTER object '%s' in %s clause at %L"
+-msgstr "%C 处 IF 语å¥è¯­æ³•é”™è¯¯"
++msgstr "%C处 IF 语å¥è¯­æ³•é”™è¯¯"
+
+ #: fortran/openmp.c:826
+ #, fuzzy, no-c-format
+@@ -7961,12 +7964,12 @@
+ #: fortran/openmp.c:834
+ #, no-c-format
+ msgid "Cray pointer '%s' in %s clause at %L"
+-msgstr "Cray 指针‘%s’在‘%s’å­å¥ä¸­ï¼ŒäºŽ %L 处"
++msgstr "%3$L处 %2$s 分å¥ä¸­çš„ Cray 指针‘%1$s’"
+
+ #: fortran/openmp.c:838
+ #, no-c-format
+ msgid "Assumed size array '%s' in %s clause at %L"
+-msgstr "å‡å®šå¤§å°çš„数组‘%s’在 %s 分å¥ä¸­ï¼ŒäºŽ %L 处"
++msgstr "%3$L处 %2$s 分å¥ä¸­å‡å®šå¤§å°çš„数组‘%1$s’"
+
+ #: fortran/openmp.c:843
+ #, no-c-format
+@@ -7976,102 +7979,102 @@
+ #: fortran/openmp.c:852
+ #, no-c-format
+ msgid "%c REDUCTION variable '%s' at %L must be of numeric type, got %s"
+-msgstr "%c REDUCTION å˜é‡â€˜%s’在 %L å¤„å¿…é¡»å…·æœ‰æ•°å­—ç±»åž‹è€Œéž %s"
++msgstr "%c REDUCTION å˜é‡â€˜%s’在%Lå¤„å¿…é¡»å…·æœ‰æ•°å­—ç±»åž‹è€Œéž %s"
+
+ #: fortran/openmp.c:863
+ #, no-c-format
+ msgid "%s REDUCTION variable '%s' must be LOGICAL at %L"
+-msgstr "%s REDUCTION å˜é‡â€˜%s’在 %L 处类型必须为 LOGICAL"
++msgstr "%s REDUCTION å˜é‡â€˜%s’在%L处类型必须为 LOGICAL"
+
+ #: fortran/openmp.c:874
+ #, no-c-format
+ msgid "%s REDUCTION variable '%s' must be INTEGER or REAL at %L"
+-msgstr "%s REDUCTION å˜é‡â€˜%s’在 %L 处类型必须为 INTEGER 或者 REAL"
++msgstr "%s REDUCTION å˜é‡â€˜%s’在%L处类型必须为 INTEGER 或者 REAL"
+
+ #: fortran/openmp.c:883
+ #, no-c-format
+ msgid "%s REDUCTION variable '%s' must be INTEGER at %L"
+-msgstr "%s REDUCTION å˜é‡â€˜%s’在 %L 处类型必须为 INTEGER"
++msgstr "%s REDUCTION å˜é‡â€˜%s’在%L处类型必须为 INTEGER"
+
+ #: fortran/openmp.c:995
+ #, no-c-format
+ msgid "!$OMP ATOMIC statement must set a scalar variable of intrinsic type at %L"
+-msgstr "%L 处 !$OMP ATOMIC 语å¥å¿…须设定一个内建类型的标é‡å€¼"
++msgstr "%L处 !$OMP ATOMIC 语å¥å¿…须设定一个内建类型的标é‡å€¼"
+
+ #: fortran/openmp.c:1035
+ #, no-c-format
+ msgid "!$OMP ATOMIC assignment operator must be +, *, -, /, .AND., .OR., .EQV. or .NEQV. at %L"
+-msgstr "%L 处 !$OMP ATOMIC 赋值è¿ç®—符必须是 +ã€*ã€-ã€/ã€.AND.ã€.OR.ã€.EQV. 或 .NEQV."
++msgstr "%L处 !$OMP ATOMIC 赋值è¿ç®—符必须是 +ã€*ã€-ã€/ã€.AND.ã€.OR.ã€.EQV. 或 .NEQV."
+
+ #: fortran/openmp.c:1083
+ #, no-c-format
+ msgid "!$OMP ATOMIC assignment must be var = var op expr or var = expr op var at %L"
+-msgstr "%L 处 !$OMP ATOMIC 赋值形å¼å¿…须为“å˜é‡ = å˜é‡ è¿ç®—符 表达å¼â€æˆ–“å˜é‡ = è¡¨è¾¾å¼ è¿ç®—符 å˜é‡â€"
++msgstr "%L处 !$OMP ATOMIC 赋值形å¼å¿…须为“å˜é‡ = å˜é‡ è¿ç®—符 表达å¼â€æˆ–“å˜é‡ = è¡¨è¾¾å¼ è¿ç®—符 å˜é‡â€"
+
+ #: fortran/openmp.c:1097
+ #, no-c-format
+ msgid "!$OMP ATOMIC var = var op expr not mathematically equivalent to var = var op (expr) at %L"
+-msgstr "%L 处 !$OMP ATOMIC“å˜é‡ = å˜é‡ è¿ç®—符 表达å¼â€ä¸Žâ€œå˜é‡ = å˜é‡ è¿ç®—符 (表达å¼)â€åœ¨æ•°å­¦ä¸Šä¸ç­‰ä»·"
++msgstr "%L处 !$OMP ATOMIC“å˜é‡ = å˜é‡ è¿ç®—符 表达å¼â€ä¸Žâ€œå˜é‡ = å˜é‡ è¿ç®—符 (表达å¼)â€åœ¨æ•°å­¦ä¸Šä¸ç­‰ä»·"
+
+ #: fortran/openmp.c:1129
+ #, no-c-format
+ msgid "expr in !$OMP ATOMIC assignment var = var op expr must be scalar and cannot reference var at %L"
+-msgstr "%L 处 !$OMP ATOMIC 赋值“å˜é‡ = å˜é‡ è¿ç®—符 表达å¼â€ä¸­çš„“表达å¼â€å¿…须是标é‡å¹¶ä¸”ä¸èƒ½å¼•ç”¨â€œå˜é‡â€"
++msgstr "%L处 !$OMP ATOMIC 赋值“å˜é‡ = å˜é‡ è¿ç®—符 表达å¼â€ä¸­çš„“表达å¼â€å¿…须是标é‡å¹¶ä¸”ä¸èƒ½å¼•ç”¨â€œå˜é‡â€"
+
+ #: fortran/openmp.c:1153
+-#, fuzzy, no-c-format
++#, no-c-format
+ msgid "!$OMP ATOMIC assignment intrinsic IAND, IOR or IEOR must have two arguments at %L"
+-msgstr "%L 处 !$OMP ATOMIC 赋值内建函数 IANDã€IOR 或 IEOR 必须带两个实å‚"
++msgstr "%L处 !$OMP ATOMIC 赋值内建函数 IANDã€IOR 或 IEOR 必须带两个实å‚"
+
+ #: fortran/openmp.c:1160
+ #, no-c-format
+ msgid "!$OMP ATOMIC assignment intrinsic must be MIN, MAX, IAND, IOR or IEOR at %L"
+-msgstr "%L 处!$OMP ATOMIC 赋值内建函数必须是 MINã€MAXã€IANDã€IOR 或 IEOR"
++msgstr "%L处!$OMP ATOMIC 赋值内建函数必须是 MINã€MAXã€IANDã€IOR 或 IEOR"
+
+ #: fortran/openmp.c:1176
+ #, no-c-format
+ msgid "!$OMP ATOMIC intrinsic arguments except one must not reference '%s' at %L"
+-msgstr "!$OMP ATOMIC 内建函数的实å‚除一个以外ä¸èƒ½å¼•ç”¨â€˜%s’于 %L 处"
++msgstr "!$OMP ATOMIC 内建函数的实å‚除一个以外ä¸èƒ½åœ¨%2$L处引用‘%1$s’"
+
+ #: fortran/openmp.c:1179
+ #, no-c-format
+ msgid "!$OMP ATOMIC intrinsic arguments must be scalar at %L"
+-msgstr "%L 处 !$OMP ATOMIC 内建函数的实å‚必须是标é‡"
++msgstr "%L处 !$OMP ATOMIC 内建函数的实å‚必须是标é‡"
+
+ #: fortran/openmp.c:1185
+ #, no-c-format
+ msgid "First or last !$OMP ATOMIC intrinsic argument must be '%s' at %L"
+-msgstr "第一个或最åŽä¸€ä¸ª !$OMP ATOMIC 内建函数实å‚必须是‘%s’于 %L 处"
++msgstr "第一个或最åŽä¸€ä¸ª !$OMP ATOMIC 内建函数实å‚在%2$L处必须是‘%1$s’"
+
+ #: fortran/openmp.c:1203
+ #, no-c-format
+ msgid "!$OMP ATOMIC assignment must have an operator or intrinsic on right hand side at %L"
+-msgstr "%L 处 !$OMP ATOMIC 赋值的å³æ‰‹è¾¹å¿…须有一个è¿ç®—符或内建函数"
++msgstr "%L处 !$OMP ATOMIC 赋值的å³æ‰‹è¾¹å¿…须有一个è¿ç®—符或内建函数"
+
+ #: fortran/openmp.c:1305
+ #, no-c-format
+ msgid "!$OMP DO cannot be a DO WHILE or DO without loop control at %L"
+-msgstr "%L 处 !$OMP DO ä¸èƒ½æ˜¯ä¸€ä¸ª DO WHILE 或ä¸å¸¦å¾ªçŽ¯æŽ§åˆ¶çš„ DO"
++msgstr "%L处 !$OMP DO ä¸èƒ½æ˜¯ä¸€ä¸ª DO WHILE 或ä¸å¸¦å¾ªçŽ¯æŽ§åˆ¶çš„ DO"
+
+ #: fortran/openmp.c:1311
+ #, no-c-format
+ msgid "!$OMP DO iteration variable must be of type integer at %L"
+-msgstr "%L 处 !$OMP DO 迭代å˜é‡å¿…须具有整数类型"
++msgstr "%L处 !$OMP DO 迭代å˜é‡å¿…须具有整数类型"
+
+ #: fortran/openmp.c:1315
+ #, no-c-format
+ msgid "!$OMP DO iteration variable must not be THREADPRIVATE at %L"
+-msgstr "%L 处 !$OMP DO 迭代å˜é‡ä¸èƒ½æ˜¯ THREADPRIVATE"
++msgstr "%L处 !$OMP DO 迭代å˜é‡ä¸èƒ½æ˜¯ THREADPRIVATE"
+
+ #: fortran/openmp.c:1323
+ #, no-c-format
+ msgid "!$OMP DO iteration variable present on clause other than PRIVATE or LASTPRIVATE at %L"
+-msgstr "%L 处 !$OMP DO 迭代å˜é‡å‡ºçŽ°åœ¨éž PRIVATE 或 LASTPRIVATE 分å¥ä¸­"
++msgstr "%L处 !$OMP DO 迭代å˜é‡å‡ºçŽ°åœ¨éž PRIVATE 或 LASTPRIVATE 分å¥ä¸­"
+
+ #: fortran/options.c:219
+ #, no-c-format
+ msgid "Option -fwhole-program is not supported for Fortran"
+-msgstr ""
++msgstr "Fortran ä¸æ”¯æŒ -fwhole-program 选项"
+
+ #: fortran/options.c:273
+ #, no-c-format
+@@ -8091,27 +8094,27 @@
+ #: fortran/options.c:312
+ #, no-c-format
+ msgid "Flag -fno-automatic overwrites -fmax-stack-var-size=%d"
+-msgstr ""
++msgstr "选项 -fno-automatic 覆盖了 -fmax-stack-var-size=%d"
+
+ #: fortran/options.c:315
+ #, no-c-format
+ msgid "Flag -fno-automatic overwrites -frecursive"
+-msgstr ""
++msgstr "选项 -fno-automatic 覆盖了 -frecursive"
+
+ #: fortran/options.c:317
+ #, no-c-format
+ msgid "Flag -fno-automatic overwrites -frecursive implied by -fopenmp"
+-msgstr ""
++msgstr "选项 -fno-automatic 覆盖了为 -fopenmp 所éšå¼æ‰“开的 -frecursive "
+
+ #: fortran/options.c:321
+ #, no-c-format
+ msgid "Flag -frecursive overwrites -fmax-stack-var-size=%d"
+-msgstr ""
++msgstr "选项 -frecursive 覆盖了 -fmax-stack-var-size=%d"
+
+ #: fortran/options.c:325
+ #, no-c-format
+ msgid "Flag -fmax-stack-var-size=%d overwrites -frecursive implied by -fopenmp"
+-msgstr ""
++msgstr "选项 -fmax-stack-var-size=%d 覆盖了为-fopenmp 所éšå¼æ‰“开的 -frecursive"
+
+ #: fortran/options.c:392
+ #, c-format
+@@ -8161,327 +8164,327 @@
+ #: fortran/options.c:711
+ #, no-c-format
+ msgid "The value of n in -finit-character=n must be between 0 and 127"
+-msgstr ""
++msgstr "-finit-character=n 中 n 的值必须在 0 和 127 之间"
+
+ #: fortran/options.c:794
+ #, no-c-format
+ msgid "Maximum subrecord length cannot exceed %d"
+ msgstr "å­è®°å½•é•¿åº¦ä¸èƒ½è¶…过 %d"
+
+-#: fortran/parse.c:304
++#: fortran/parse.c:451
+ #, no-c-format
+ msgid "Unclassifiable statement at %C"
+ msgstr "%C 语å¥æ— æ³•å½’ç±»"
+
+-#: fortran/parse.c:328
++#: fortran/parse.c:475
+ #, no-c-format
+ msgid "OpenMP directives at %C may not appear in PURE or ELEMENTAL procedures"
+-msgstr "%C 处的 OpenMP 指示ä¸èƒ½å‡ºçŽ°åœ¨ PURE 或 ELEMENTAL 过程中"
++msgstr "%C处的 OpenMP 指示ä¸èƒ½å‡ºçŽ°åœ¨ PURE 或 ELEMENTAL 过程中"
+
+-#: fortran/parse.c:406
++#: fortran/parse.c:553
+ #, no-c-format
+ msgid "Unclassifiable OpenMP directive at %C"
+-msgstr "%C 处的 OpenMP 指示无法分类"
++msgstr "%C处的 OpenMP 指示无法分类"
+
+-#: fortran/parse.c:445 fortran/parse.c:586
++#: fortran/parse.c:592 fortran/parse.c:733
+ #, no-c-format
+ msgid "Zero is not a valid statement label at %C"
+-msgstr "零ä¸æ˜¯ %C 处的一个有效的语å¥æ ‡å·"
++msgstr "零ä¸æ˜¯%C处的一个有效的语å¥æ ‡å·"
+
+-#: fortran/parse.c:452 fortran/parse.c:578
++#: fortran/parse.c:599 fortran/parse.c:725
+ #, no-c-format
+ msgid "Non-numeric character in statement label at %C"
+-msgstr "%C 处语å¥æ ‡å·ä¸­å‡ºçŽ°éžæ•°å­—字符"
++msgstr "%C处语å¥æ ‡å·ä¸­å‡ºçŽ°éžæ•°å­—字符"
+
+-#: fortran/parse.c:464 fortran/parse.c:500 fortran/parse.c:626
++#: fortran/parse.c:611 fortran/parse.c:647 fortran/parse.c:773
+ #, no-c-format
+ msgid "Semicolon at %C needs to be preceded by statement"
+-msgstr "%C 处分å·å‰å¿…须是一个语å¥"
++msgstr "%C处分å·å‰å¿…须是一个语å¥"
+
+-#: fortran/parse.c:472 fortran/parse.c:638
++#: fortran/parse.c:619 fortran/parse.c:785
+ #, no-c-format
+ msgid "Ignoring statement label in empty statement at %C"
+-msgstr "忽略 %C 处空语å¥ä¸­çš„语å¥æ ‡é‡"
++msgstr "忽略%C处空语å¥ä¸­çš„语å¥æ ‡é‡"
+
+-#: fortran/parse.c:565 fortran/parse.c:605
++#: fortran/parse.c:712 fortran/parse.c:752
+ #, no-c-format
+ msgid "Bad continuation line at %C"
+-msgstr "%C 处错误的续行"
++msgstr "%C处错误的续行"
+
+-#: fortran/parse.c:664
++#: fortran/parse.c:811
+ #, no-c-format
+ msgid "Line truncated at %C"
+-msgstr "行在 %C 处被截断"
++msgstr "行在%C处被截断"
+
+-#: fortran/parse.c:841
++#: fortran/parse.c:997
+ #, no-c-format
+ msgid "FORMAT statement at %L does not have a statement label"
+-msgstr "%L 处 FORMAT 语å¥æ²¡æœ‰è¯­å¥æ ‡å·"
++msgstr "%L处 FORMAT 语å¥æ²¡æœ‰è¯­å¥æ ‡å·"
+
+-#: fortran/parse.c:913
++#: fortran/parse.c:1069
+ msgid "arithmetic IF"
+ msgstr "算术 IF"
+
+-#: fortran/parse.c:919
++#: fortran/parse.c:1075
+ msgid "attribute declaration"
+ msgstr "属性声明"
+
+-#: fortran/parse.c:949
++#: fortran/parse.c:1105
+ msgid "data declaration"
+ msgstr "æ•°æ®å£°æ˜Ž"
+
+-#: fortran/parse.c:958
++#: fortran/parse.c:1114
+ msgid "derived type declaration"
+ msgstr "派生的类型声明"
+
+-#: fortran/parse.c:1037
++#: fortran/parse.c:1193
+ msgid "block IF"
+ msgstr "å— IF"
+
+-#: fortran/parse.c:1046
++#: fortran/parse.c:1202
+ msgid "implied END DO"
+ msgstr "暗示的 END DO"
+
+-#: fortran/parse.c:1119
++#: fortran/parse.c:1275
+ msgid "assignment"
+ msgstr "赋值"
+
+-#: fortran/parse.c:1122
++#: fortran/parse.c:1278
+ msgid "pointer assignment"
+ msgstr "指针赋值"
+
+-#: fortran/parse.c:1131
++#: fortran/parse.c:1287
+ msgid "simple IF"
+ msgstr "简å•çš„ IF"
+
+-#: fortran/parse.c:1347
++#: fortran/parse.c:1503
+ #, no-c-format
+ msgid "Unexpected %s statement at %C"
+-msgstr "éžé¢„期的 %s 语å¥äºŽ %C 处"
++msgstr "%2$C处有éžé¢„期的 %1$s 语å¥"
+
+-#: fortran/parse.c:1486
++#: fortran/parse.c:1642
+ #, no-c-format
+ msgid "%s statement at %C cannot follow %s statement at %L"
+-msgstr "%s 语å¥åœ¨ %C 处ä¸èƒ½è·Ÿéš %s 语å¥åœ¨ %L 处"
++msgstr "%s 语å¥åœ¨%C处ä¸èƒ½è·Ÿéš %s 语å¥åœ¨%L处"
+
+-#: fortran/parse.c:1503
++#: fortran/parse.c:1659
+ #, no-c-format
+ msgid "Unexpected end of file in '%s'"
+ msgstr "‘%s’中éžé¢„期的文件结尾"
+
+-#: fortran/parse.c:1558
++#: fortran/parse.c:1714
+ #, no-c-format
+ msgid "Fortran 2003: Derived type definition at %C without components"
+-msgstr "Fortran 2003:%C 处的派生类型定义没有组件"
++msgstr "Fortran 2003:%C处的派生类型定义没有组件"
+
+-#: fortran/parse.c:1569
++#: fortran/parse.c:1725
+ #, no-c-format
+ msgid "PRIVATE statement in TYPE at %C must be inside a MODULE"
+ msgstr ""
+
+-#: fortran/parse.c:1577
++#: fortran/parse.c:1733
+ #, no-c-format
+ msgid "PRIVATE statement at %C must precede structure components"
+ msgstr ""
+
+-#: fortran/parse.c:1585
++#: fortran/parse.c:1741
+ #, no-c-format
+ msgid "Duplicate PRIVATE statement at %C"
+-msgstr "%C 处é‡å¤çš„ PRIVATE 语å¥"
++msgstr "%C处é‡å¤çš„ PRIVATE 语å¥"
+
+-#: fortran/parse.c:1597
++#: fortran/parse.c:1753
+ #, no-c-format
+ msgid "SEQUENCE statement at %C must precede structure components"
+ msgstr ""
+
+-#: fortran/parse.c:1604
++#: fortran/parse.c:1760
+ #, no-c-format
+ msgid "SEQUENCE attribute at %C already specified in TYPE statement"
+ msgstr ""
+
+-#: fortran/parse.c:1609
++#: fortran/parse.c:1765
+ #, no-c-format
+ msgid "Duplicate SEQUENCE statement at %C"
+-msgstr "%C 处é‡å¤çš„ SEQUENCE 语å¥"
++msgstr "%C处é‡å¤çš„ SEQUENCE 语å¥"
+
+-#: fortran/parse.c:1700
++#: fortran/parse.c:1856
+ #, no-c-format
+ msgid "ENUM declaration at %C has no ENUMERATORS"
+ msgstr ""
+
+-#: fortran/parse.c:1778
++#: fortran/parse.c:1934
+ #, no-c-format
+ msgid "Unexpected %s statement in INTERFACE block at %C"
+-msgstr "éžé¢„期的 %s 语å¥å‡ºçŽ°åœ¨ %C 处的 INTERFACE å—中"
++msgstr "éžé¢„期的 %s 语å¥å‡ºçŽ°åœ¨%C处的 INTERFACE å—中"
+
+-#: fortran/parse.c:1804
++#: fortran/parse.c:1960
+ #, no-c-format
+ msgid "SUBROUTINE at %C does not belong in a generic function interface"
+ msgstr ""
+
+-#: fortran/parse.c:1808
++#: fortran/parse.c:1964
+ #, no-c-format
+ msgid "FUNCTION at %C does not belong in a generic subroutine interface"
+ msgstr ""
+
+-#: fortran/parse.c:1818
++#: fortran/parse.c:1974
+ #, fuzzy, no-c-format
+ msgid "Name '%s' of ABSTRACT INTERFACE at %C cannot be the same as an intrinsic type"
+ msgstr "类型‘%s’(ä½äºŽ %C)ä¸èƒ½ä¸Žå†…建类型é‡å"
+
+-#: fortran/parse.c:1849
++#: fortran/parse.c:2005
+ #, no-c-format
+ msgid "Unexpected %s statement at %C in INTERFACE body"
+-msgstr "éžé¢„期的 %s 语å¥å‡ºçŽ°åœ¨ %C 处的 INTERFACE 体中"
++msgstr "éžé¢„期的 %s 语å¥å‡ºçŽ°åœ¨%C处的 INTERFACE 体中"
+
+-#: fortran/parse.c:1863
++#: fortran/parse.c:2019
+ #, fuzzy, no-c-format
+ msgid "INTERFACE procedure '%s' at %L has the same name as the enclosing procedure"
+ msgstr "å字‘%s’(ä½äºŽ %C)是一个过程的åå­—"
+
+-#: fortran/parse.c:1958
++#: fortran/parse.c:2134
+ #, no-c-format
+ msgid "%s statement must appear in a MODULE"
+ msgstr "%s 语å¥å¿…须出现在 MODULE 中"
+
+-#: fortran/parse.c:1965
++#: fortran/parse.c:2141
+ #, no-c-format
+ msgid "%s statement at %C follows another accessibility specification"
+ msgstr ""
+
+-#: fortran/parse.c:2015
++#: fortran/parse.c:2191
+ #, fuzzy, no-c-format
+ msgid "Bad kind expression for function '%s' at %L"
+-msgstr "ä¸èƒ½è§£æžå‡½æ•°â€˜%s’,于 %L 处"
++msgstr "ä¸èƒ½è§£æžå‡½æ•°â€˜%s’,于%L处"
+
+-#: fortran/parse.c:2018
++#: fortran/parse.c:2195
+ #, fuzzy, no-c-format
+ msgid "The type for function '%s' at %L is not accessible"
+-msgstr "函数‘%s’中的替代返回é™å®šç¬¦åœ¨ %L 处ä¸è¢«å…许"
++msgstr "函数‘%s’中的替代返回é™å®šç¬¦åœ¨%L处ä¸è¢«å…许"
+
+-#: fortran/parse.c:2070
++#: fortran/parse.c:2253
+ #, no-c-format
+ msgid "ELSEWHERE statement at %C follows previous unmasked ELSEWHERE"
+ msgstr ""
+
+-#: fortran/parse.c:2091
++#: fortran/parse.c:2274
+ #, no-c-format
+ msgid "Unexpected %s statement in WHERE block at %C"
+-msgstr "éžé¢„期的 %s 语å¥å‡ºçŽ°åœ¨ %C 处的 WHERE å—中"
++msgstr "éžé¢„期的 %s 语å¥å‡ºçŽ°åœ¨%C处的 WHERE å—中"
+
+-#: fortran/parse.c:2150
++#: fortran/parse.c:2333
+ #, no-c-format
+ msgid "Unexpected %s statement in FORALL block at %C"
+-msgstr "éžé¢„期的 %s 语å¥å‡ºçŽ°åœ¨ %C 处的 FORALL å—中"
++msgstr "éžé¢„期的 %s 语å¥å‡ºçŽ°åœ¨%C处的 FORALL å—中"
+
+-#: fortran/parse.c:2201
++#: fortran/parse.c:2384
+ #, no-c-format
+ msgid "ELSE IF statement at %C cannot follow ELSE statement at %L"
+-msgstr "%C 处的 ELSE IF 语å¥ä¸èƒ½å‡ºçŽ°åœ¨ %L 处的 ELSE 语å¥ä¹‹åŽ"
++msgstr "%C处的 ELSE IF 语å¥ä¸èƒ½å‡ºçŽ°åœ¨%L处的 ELSE 语å¥ä¹‹åŽ"
+
+-#: fortran/parse.c:2219
++#: fortran/parse.c:2402
+ #, no-c-format
+ msgid "Duplicate ELSE statements at %L and %C"
+-msgstr "%L å’Œ %C 处é‡å¤çš„ ELSE 语å¥"
++msgstr "%L å’Œ%C处é‡å¤çš„ ELSE 语å¥"
+
+-#: fortran/parse.c:2280
++#: fortran/parse.c:2463
+ #, no-c-format
+ msgid "Expected a CASE or END SELECT statement following SELECT CASE at %C"
+ msgstr ""
+
+-#: fortran/parse.c:2338
++#: fortran/parse.c:2521
+ #, no-c-format
+ msgid "Variable '%s' at %C cannot be redefined inside loop beginning at %L"
+ msgstr "å˜é‡â€˜%s’(ä½äºŽ %C)ä¸èƒ½åœ¨ä»Ž %L 开始的循环的内部é‡å®šä¹‰"
+
+-#: fortran/parse.c:2372
++#: fortran/parse.c:2555
+ #, no-c-format
+ msgid "End of nonblock DO statement at %C is within another block"
+-msgstr "%C 处结æŸçš„éžå— DO 语å¥åœ¨å¦ä¸€ä¸ªå—当中"
++msgstr "%C处结æŸçš„éžå— DO 语å¥åœ¨å¦ä¸€ä¸ªå—当中"
+
+-#: fortran/parse.c:2381
++#: fortran/parse.c:2564
+ #, no-c-format
+ msgid "End of nonblock DO statement at %C is interwoven with another DO loop"
+-msgstr "%C 处结æŸçš„éžå— DO 语å¥ä¸Žå¦ä¸€ä¸ª DO 循环交错"
++msgstr "%C处结æŸçš„éžå— DO 语å¥ä¸Žå¦ä¸€ä¸ª DO 循环交错"
+
+-#: fortran/parse.c:2430
++#: fortran/parse.c:2613
+ #, no-c-format
+ msgid "Statement label in ENDDO at %C doesn't match DO label"
+-msgstr "%C 处 ENDDO 中的语å¥æ ‡å·ä¸Ž DO æ ‡å·ä¸åŒ¹é…"
++msgstr "%C处 ENDDO 中的语å¥æ ‡å·ä¸Ž DO æ ‡å·ä¸åŒ¹é…"
+
+-#: fortran/parse.c:2446
++#: fortran/parse.c:2629
+ #, no-c-format
+ msgid "named block DO at %L requires matching ENDDO name"
+ msgstr ""
+
+-#: fortran/parse.c:2702
++#: fortran/parse.c:2885
+ #, no-c-format
+ msgid "Name after !$omp critical and !$omp end critical does not match at %C"
+-msgstr "%C 处 !$omp critical å’Œ !$omp end critical åŽçš„åå­—ä¸åŒ¹é…"
++msgstr "%C处 !$omp critical å’Œ !$omp end critical åŽçš„åå­—ä¸åŒ¹é…"
+
+-#: fortran/parse.c:2758
++#: fortran/parse.c:2941
+ #, no-c-format
+ msgid "%s statement at %C cannot terminate a non-block DO loop"
+ msgstr ""
+
+-#: fortran/parse.c:2943
++#: fortran/parse.c:3126
+ #, no-c-format
+ msgid "Contained procedure '%s' at %C is already ambiguous"
+ msgstr ""
+
+-#: fortran/parse.c:2993
++#: fortran/parse.c:3176
+ #, no-c-format
+ msgid "Unexpected %s statement in CONTAINS section at %C"
+-msgstr "éžé¢„期的 %s 语å¥å‡ºçŽ°åœ¨ %C 处的 CONTAINS 段中"
++msgstr "éžé¢„期的 %s 语å¥å‡ºçŽ°åœ¨%C处的 CONTAINS 段中"
+
+ #. This is valid in Fortran 2008.
+-#: fortran/parse.c:3018
++#: fortran/parse.c:3201
+ #, no-c-format
+ msgid "Extension: CONTAINS statement without FUNCTION or SUBROUTINE statement at %C"
+ msgstr ""
+
+-#: fortran/parse.c:3089
++#: fortran/parse.c:3272
+ #, no-c-format
+ msgid "CONTAINS statement at %C is already in a contained program unit"
+ msgstr ""
+
+-#: fortran/parse.c:3138
++#: fortran/parse.c:3321
+ #, no-c-format
+ msgid "Global name '%s' at %L is already being used as a %s at %L"
+ msgstr ""
+
+-#: fortran/parse.c:3159
++#: fortran/parse.c:3342
+ #, no-c-format
+ msgid "Blank BLOCK DATA at %C conflicts with prior BLOCK DATA at %L"
+ msgstr ""
+
+-#: fortran/parse.c:3185
++#: fortran/parse.c:3368
+ #, no-c-format
+ msgid "Unexpected %s statement in BLOCK DATA at %C"
+-msgstr "éžé¢„期的 %s 语å¥å‡ºçŽ°åœ¨ %C 处的 BLOCK DATA å—中"
++msgstr "éžé¢„期的 %s 语å¥å‡ºçŽ°åœ¨%C处的 BLOCK DATA å—中"
+
+-#: fortran/parse.c:3228
++#: fortran/parse.c:3411
+ #, no-c-format
+ msgid "Unexpected %s statement in MODULE at %C"
+-msgstr "éžé¢„期的 %s 语å¥å‡ºçŽ°åœ¨ %C 处的 MODULE 中"
++msgstr "éžé¢„期的 %s 语å¥å‡ºçŽ°åœ¨%C处的 MODULE 中"
+
+ #. If we see a duplicate main program, shut down. If the second
+ #. instance is an implied main program, ie data decls or executable
+ #. statements, we're in for lots of errors.
+-#: fortran/parse.c:3416
++#: fortran/parse.c:3594
+ #, no-c-format
+ msgid "Two main PROGRAMs at %L and %C"
+-msgstr "%L 和 %C 处有两个主 PROGRAM"
++msgstr "%L 和%C处有两个主 PROGRAM"
+
+ #: fortran/primary.c:87
+ #, no-c-format
+ msgid "Missing kind-parameter at %C"
+-msgstr "%C 处缺少ç§åˆ«å‚æ•°"
++msgstr "%C处缺少ç§åˆ«å‚æ•°"
+
+ #: fortran/primary.c:210
+ #, no-c-format
+ msgid "Integer kind %d at %C not available"
+-msgstr "æ•´æ•°ç§åˆ« %d 在 %C 处ä¸å¯ç”¨"
++msgstr "æ•´æ•°ç§åˆ« %d 在%C处ä¸å¯ç”¨"
+
+ #: fortran/primary.c:218
+ #, no-c-format
+@@ -8491,7 +8494,7 @@
+ #: fortran/primary.c:247
+ #, no-c-format
+ msgid "Extension: Hollerith constant at %C"
+-msgstr "扩展:%C 处的è·å‹’瑞斯常é‡"
++msgstr "扩展:%C处的è·å‹’瑞斯常é‡"
+
+ #: fortran/primary.c:259
+ #, no-c-format
+@@ -8501,1659 +8504,1714 @@
+ #: fortran/primary.c:265
+ #, no-c-format
+ msgid "Invalid Hollerith constant: Integer kind at %L should be default"
+-msgstr "无效的è·å‹’瑞斯常é‡ï¼š%L 处的整数ç§åˆ«åº”当是默认的"
++msgstr "无效的è·å‹’瑞斯常é‡ï¼š%L处的整数ç§åˆ«åº”当是默认的"
+
+ #: fortran/primary.c:353
+ #, no-c-format
+-msgid "Extension: Hexadecimal constant at %C uses non-standard syntax."
+-msgstr "扩展:%C 处的å六进制常é‡ä½¿ç”¨äº†éžæ ‡å‡†è¯­æ³•ã€‚"
++msgid "Extension: Hexadecimal constant at %C uses non-standard syntax"
++msgstr "扩展:%C处的å六进制常é‡ä½¿ç”¨äº†éžæ ‡å‡†è¯­æ³•"
+
+ #: fortran/primary.c:363
+ #, fuzzy, no-c-format
+ msgid "Empty set of digits in BOZ constant at %C"
+-msgstr "%C 处的å¤å¸¸é‡è¯­æ³•é”™è¯¯"
++msgstr "%C处的å¤å¸¸é‡è¯­æ³•é”™è¯¯"
+
+ #: fortran/primary.c:369
+ #, no-c-format
+ msgid "Illegal character in BOZ constant at %C"
+-msgstr "%C 处的 BOZ 常é‡ä¸­æœ‰éžæ³•å­—符"
++msgstr "%C处的 BOZ 常é‡ä¸­æœ‰éžæ³•å­—符"
+
+-#: fortran/primary.c:391
+-#, no-c-format
+-msgid "Extension: BOZ constant at %C uses non-standard postfix syntax."
+-msgstr "扩展:%C 处的 BOZ 常é‡ä½¿ç”¨äº†éžæ ‡å‡†çš„中åºè¯­æ³•ã€‚"
++#: fortran/primary.c:392
++#, fuzzy, no-c-format
++msgid "Extension: BOZ constant at %C uses non-standard postfix syntax"
++msgstr "扩展:%C处的 BOZ 常é‡ä½¿ç”¨äº†éžæ ‡å‡†çš„中åºè¯­æ³•ã€‚"
+
+-#: fortran/primary.c:417
++#: fortran/primary.c:423
+ #, no-c-format
+ msgid "Integer too big for integer kind %i at %C"
+-msgstr "整数对其ç§åˆ« %i æ¥è¯´å¤ªå¤§ï¼ŒäºŽ %C 处"
++msgstr "%2$C处的整数对其ç§åˆ« %1$i æ¥è¯´å¤ªå¤§"
+
+-#: fortran/primary.c:517
++#: fortran/primary.c:429
++#, fuzzy, no-c-format
++msgid "Fortran 2003: BOZ used outside a DATA statement at %C"
++msgstr "Fortran 2003:%C处的 VOLATILE 语å¥"
++
++#: fortran/primary.c:529
+ #, no-c-format
+ msgid "Missing exponent in real number at %C"
+-msgstr "%C 处实数缺少指数部分"
++msgstr "%C处实数缺少指数部分"
+
+-#: fortran/primary.c:573
++#: fortran/primary.c:585
+ #, no-c-format
+ msgid "Real number at %C has a 'd' exponent and an explicit kind"
+ msgstr ""
+
+-#: fortran/primary.c:586
++#: fortran/primary.c:598
+ #, no-c-format
+ msgid "Invalid real kind %d at %C"
+-msgstr "无效的实型ç§åˆ« %d,在 %C 处"
++msgstr "无效的实型ç§åˆ« %d,在%C处"
+
+-#: fortran/primary.c:600
++#: fortran/primary.c:612
+ #, no-c-format
+ msgid "Real constant overflows its kind at %C"
+-msgstr "%C 处实常数上溢其ç§åˆ«"
++msgstr "%C处实常数上溢其ç§åˆ«"
+
+-#: fortran/primary.c:605
++#: fortran/primary.c:617
+ #, no-c-format
+ msgid "Real constant underflows its kind at %C"
+-msgstr "%C 处实常数下溢其ç§åˆ«"
++msgstr "%C处实常数下溢其ç§åˆ«"
+
+-#: fortran/primary.c:697
++#: fortran/primary.c:709
+ #, no-c-format
+ msgid "Syntax error in SUBSTRING specification at %C"
+ msgstr "%C SUBSTRING 指定语法错误"
+
+-#: fortran/primary.c:902
++#: fortran/primary.c:914
+ #, no-c-format
+ msgid "Invalid kind %d for CHARACTER constant at %C"
+-msgstr "CHARACTER 常é‡çš„ç§åˆ« %d 无效,在 %C 处"
++msgstr "CHARACTER 常é‡çš„ç§åˆ« %d 无效,在%C处"
+
+-#: fortran/primary.c:923
++#: fortran/primary.c:935
+ #, no-c-format
+ msgid "Unterminated character constant beginning at %C"
+ msgstr "开始于 %C 的未终结的字符常é‡"
+
+-#: fortran/primary.c:1035
++#: fortran/primary.c:1047
+ #, no-c-format
+ msgid "Bad kind for logical constant at %C"
+-msgstr "%C 处逻辑常é‡çš„ç§åˆ«é”™è¯¯"
++msgstr "%C处逻辑常é‡çš„ç§åˆ«é”™è¯¯"
+
+-#: fortran/primary.c:1074
++#: fortran/primary.c:1086
+ #, no-c-format
+ msgid "Expected PARAMETER symbol in complex constant at %C"
+ msgstr ""
+
+-#: fortran/primary.c:1080
++#: fortran/primary.c:1092
+ #, no-c-format
+ msgid "Numeric PARAMETER required in complex constant at %C"
+ msgstr ""
+
+-#: fortran/primary.c:1086
++#: fortran/primary.c:1098
+ #, no-c-format
+ msgid "Scalar PARAMETER required in complex constant at %C"
+ msgstr ""
+
+-#: fortran/primary.c:1090
++#: fortran/primary.c:1102
+ #, no-c-format
+ msgid "Fortran 2003: PARAMETER symbol in complex constant at %C"
+-msgstr "Fortran 2003:%C 处å¤æ•°å¸¸é‡ä¸­çš„ PARAMETER 符å·"
++msgstr "Fortran 2003:%C处å¤æ•°å¸¸é‡ä¸­çš„ PARAMETER 符å·"
+
+-#: fortran/primary.c:1120
++#: fortran/primary.c:1132
+ #, no-c-format
+ msgid "Error converting PARAMETER constant in complex constant at %C"
+ msgstr ""
+
+-#: fortran/primary.c:1249
++#: fortran/primary.c:1261
+ #, no-c-format
+ msgid "Syntax error in COMPLEX constant at %C"
+-msgstr "%C 处的å¤å¸¸é‡è¯­æ³•é”™è¯¯"
++msgstr "%C处的å¤å¸¸é‡è¯­æ³•é”™è¯¯"
+
+-#: fortran/primary.c:1430
++#: fortran/primary.c:1442
+ #, no-c-format
+ msgid "Keyword '%s' at %C has already appeared in the current argument list"
+-msgstr "关键字‘%s’在 %C 处已ç»å‡ºçŽ°åœ¨å½“å‰å®žå‚列表中"
++msgstr "关键字‘%s’在%C处已ç»å‡ºçŽ°åœ¨å½“å‰å®žå‚列表中"
+
+-#: fortran/primary.c:1494
++#: fortran/primary.c:1506
+ #, no-c-format
+ msgid "Extension: argument list function at %C"
+-msgstr "扩展:%C 处的å‚数列表函数"
++msgstr "扩展:%C处的å‚数列表函数"
+
+-#: fortran/primary.c:1561
++#: fortran/primary.c:1573
+ #, no-c-format
+ msgid "Expected alternate return label at %C"
+-msgstr "%C 处需è¦æ›¿ä»£çš„返回标å·"
++msgstr "%C处需è¦æ›¿ä»£çš„返回标å·"
+
+-#: fortran/primary.c:1579
++#: fortran/primary.c:1591
+ #, no-c-format
+ msgid "Missing keyword name in actual argument list at %C"
+ msgstr ""
+
+-#: fortran/primary.c:1624
++#: fortran/primary.c:1636
+ #, no-c-format
+ msgid "Syntax error in argument list at %C"
+-msgstr "%C 处的å‚数列表语法错误"
++msgstr "%C处的å‚数列表语法错误"
+
+-#: fortran/primary.c:1708
++#: fortran/primary.c:1723
+ #, no-c-format
+ msgid "Expected structure component name at %C"
+-msgstr "%C 处需è¦ç»“构组件å"
++msgstr "%C处需è¦ç»“构组件å"
+
+-#: fortran/primary.c:1961
++#: fortran/primary.c:1980
+ #, no-c-format
+ msgid "Too many components in structure constructor at %C"
+-msgstr "%C 处结构构造的组件太多"
++msgstr "%C处结构构造的组件太多"
+
+-#: fortran/primary.c:1974
++#: fortran/primary.c:1993
+ #, fuzzy, no-c-format
+ msgid "Structure constructor for '%s' at %C has PRIVATE components"
+-msgstr "组件‘%s’在 %C 处是‘%s’的 PRIVATE 组件"
++msgstr "组件‘%s’在%C处是‘%s’的 PRIVATE 组件"
+
+-#: fortran/primary.c:1984
++#: fortran/primary.c:2003
+ #, no-c-format
+ msgid "Too few components in structure constructor at %C"
+-msgstr "%C 处结构构造中组件太少"
++msgstr "%C处结构构造中组件太少"
+
+-#: fortran/primary.c:2002
++#: fortran/primary.c:2021
+ #, no-c-format
+ msgid "Syntax error in structure constructor at %C"
+ msgstr "%C 结构构造语法错误"
+
+-#: fortran/primary.c:2086
++#: fortran/primary.c:2105
+ #, no-c-format
+ msgid "'%s' 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.c:2188
++#: fortran/primary.c:2207
+ #, no-c-format
+ msgid "Unexpected use of subroutine name '%s' at %C"
+-msgstr "对å­è¿›ç¨‹å‘%s’éžé¢„期的使用,在 %C 处"
++msgstr "对å­è¿›ç¨‹å‘%s’éžé¢„期的使用,在%C处"
+
+-#: fortran/primary.c:2219
++#: fortran/primary.c:2238
+ #, no-c-format
+ msgid "Statement function '%s' requires argument list at %C"
+-msgstr "语å¥å‡½æ•°â€˜%s’在 %C 处缺少å‚数列表"
++msgstr "语å¥å‡½æ•°â€˜%s’在%C处缺少å‚数列表"
+
+-#: fortran/primary.c:2222
++#: fortran/primary.c:2241
+ #, no-c-format
+ msgid "Function '%s' requires an argument list at %C"
+ msgstr "函数‘%s’在 %C 需è¦å‚数列表"
+
+-#: fortran/primary.c:2267
++#: fortran/primary.c:2286
+ #, no-c-format
+ msgid "Missing argument to '%s' at %C"
+-msgstr "‘%s’在 %C 处缺少实å‚"
++msgstr "‘%s’在%C处缺少实å‚"
+
+-#: fortran/primary.c:2408
++#: fortran/primary.c:2427
+ #, no-c-format
+ msgid "Missing argument list in function '%s' at %C"
+-msgstr "函数‘%s’在 %C 处缺少å‚数列表"
++msgstr "函数‘%s’在%C处缺少å‚数列表"
+
+-#: fortran/primary.c:2436
++#: fortran/primary.c:2455
+ #, no-c-format
+ msgid "Symbol at %C is not appropriate for an expression"
+-msgstr "%C 处的符å·ä¸é€‚用于表达å¼"
++msgstr "%C处的符å·ä¸é€‚用于表达å¼"
+
+-#: fortran/primary.c:2504
++#: fortran/primary.c:2523
+ #, no-c-format
+ msgid "Assigning to PROTECTED variable at %C"
+-msgstr "%L å¤„å‘ PROTECTED å˜é‡èµ‹å€¼"
++msgstr "%Lå¤„å‘ PROTECTED å˜é‡èµ‹å€¼"
+
+-#: fortran/primary.c:2520
++#: fortran/primary.c:2557
+ #, no-c-format
+ msgid "Named constant at %C in an EQUIVALENCE"
+-msgstr "%C 处有å常é‡å‡ºçŽ°åœ¨ EQUIVALENCE 中"
++msgstr "%C处有å常é‡å‡ºçŽ°åœ¨ EQUIVALENCE 中"
+
+-#: fortran/primary.c:2543
++#: fortran/primary.c:2579
+ #, no-c-format
+-msgid "Expected VARIABLE at %C"
+-msgstr "%C å¤„éœ€è¦ VARIABLE "
++msgid "'%s' at %C is not a variable"
++msgstr "%2$C处的‘%1$s’ä¸æ˜¯ä¸€ä¸ªå˜é‡"
+
+-#: fortran/resolve.c:120
++#: fortran/resolve.c:121
+ #, no-c-format
+ msgid "Alternate return specifier in elemental subroutine '%s' at %L is not allowed"
+-msgstr "元素å­è¿›ç¨‹â€˜%s’中的替代返回é™å®šç¬¦åœ¨ %L 处ä¸è¢«å…许"
++msgstr "元素å­è¿›ç¨‹â€˜%s’中的替代返回é™å®šç¬¦åœ¨%L处ä¸è¢«å…许"
+
+-#: fortran/resolve.c:124
++#: fortran/resolve.c:125
+ #, no-c-format
+ msgid "Alternate return specifier in function '%s' at %L is not allowed"
+-msgstr "函数‘%s’中的替代返回é™å®šç¬¦åœ¨ %L 处ä¸è¢«å…许"
++msgstr "函数‘%s’中的替代返回é™å®šç¬¦åœ¨%L处ä¸è¢«å…许"
+
+-#: fortran/resolve.c:137
++#: fortran/resolve.c:138
+ #, no-c-format
+ msgid "Dummy procedure '%s' of PURE procedure at %L must also be PURE"
+ msgstr ""
+
+-#: fortran/resolve.c:144
++#: fortran/resolve.c:145
+ #, fuzzy, no-c-format
+ msgid "Dummy procedure at %L not allowed in ELEMENTAL procedure"
+-msgstr "åˆå§‹åŒ–ä¸å…许出现在 %C 处的 PURE 过程中"
++msgstr "åˆå§‹åŒ–ä¸å…许出现在%C处的 PURE 过程中"
+
+-#: fortran/resolve.c:157 fortran/resolve.c:1080
++#: fortran/resolve.c:158 fortran/resolve.c:1138
+ #, no-c-format
+ msgid "Unable to find a specific INTRINSIC procedure for the reference '%s' at %L"
+ msgstr ""
+
+-#: fortran/resolve.c:201
++#: fortran/resolve.c:202
+ #, fuzzy, no-c-format
+ msgid "Argument '%s' of pure function '%s' at %L must be INTENT(IN)"
+ msgstr "%L 定义赋值的第二个å‚数必须是 INTENT(IN)"
+
+-#: fortran/resolve.c:206
++#: fortran/resolve.c:207
+ #, no-c-format
+ msgid "Argument '%s' of pure subroutine '%s' at %L must have its INTENT specified"
+ msgstr ""
+
+-#: fortran/resolve.c:215
++#: fortran/resolve.c:216
+ #, no-c-format
+ msgid "Argument '%s' of elemental procedure at %L must be scalar"
+-msgstr "元素过程的实å‚‘%s’在 %L 处必须是标é‡"
++msgstr "元素过程的实å‚‘%s’在%L处必须是标é‡"
+
+-#: fortran/resolve.c:222
++#: fortran/resolve.c:223
+ #, no-c-format
+ msgid "Argument '%s' of elemental procedure at %L cannot have the POINTER attribute"
+ msgstr ""
+
+-#: fortran/resolve.c:234
++#: fortran/resolve.c:231
++#, fuzzy, no-c-format
++msgid "Dummy procedure '%s' not allowed in elemental procedure '%s' at %L"
++msgstr "åˆå§‹åŒ–ä¸å…许出现在%C处的 PURE 过程中"
++
++#: fortran/resolve.c:243
+ #, no-c-format
+ msgid "Argument '%s' of statement function at %L must be scalar"
+-msgstr "语å¥å‡½æ•°çš„实å‚‘%s’在 %L 处必须是标é‡"
++msgstr "语å¥å‡½æ•°çš„实å‚‘%s’在%L处必须是标é‡"
+
+-#: fortran/resolve.c:244
++#: fortran/resolve.c:253
+ #, fuzzy, no-c-format
+ msgid "Character-valued argument '%s' of statement function at %L must have constant length"
+-msgstr "语å¥å‡½æ•°çš„实å‚‘%s’在 %L 处必须是标é‡"
++msgstr "语å¥å‡½æ•°çš„实å‚‘%s’在%L处必须是标é‡"
+
+-#: fortran/resolve.c:299
++#: fortran/resolve.c:310
+ #, no-c-format
+ msgid "Contained function '%s' at %L has no IMPLICIT type"
+-msgstr ""
++msgstr "%2$L处的包å«å‡½æ•°â€˜%1$s’没有éšå¼ç±»åž‹"
+
+-#: fortran/resolve.c:302
++#: fortran/resolve.c:313
+ #, fuzzy, no-c-format
+ msgid "Result '%s' of contained function '%s' at %L has no IMPLICIT type"
+-msgstr "函数‘%s’在 %L 处没有 IMPLICIT 类型"
++msgstr "函数‘%s’在%L处没有 IMPLICIT 类型"
+
+-#: fortran/resolve.c:319
++#: fortran/resolve.c:330
+ #, fuzzy, no-c-format
+ msgid "Character-valued internal function '%s' at %L must not be assumed length"
+-msgstr "语å¥å‡½æ•°â€˜%s’在 %L 处ä¸å…许用作实å‚"
++msgstr "语å¥å‡½æ•°â€˜%s’在%L处ä¸å…许用作实å‚"
+
+-#: fortran/resolve.c:490
++#: fortran/resolve.c:501
++#, fuzzy, no-c-format
++msgid "Function %s at %L has entries with mismatched array specifications"
++msgstr "ä¸ä¸€è‡´çš„实例å˜é‡æŒ‡å®š"
++
++#: fortran/resolve.c:518
+ #, no-c-format
+-msgid "Procedure %s at %L has entries with mismatched array specifications"
++msgid "Extension: Function %s at %L with entries returning variables of different string lengths"
+ msgstr ""
+
+-#: fortran/resolve.c:516
++#: fortran/resolve.c:545
+ #, no-c-format
+ msgid "FUNCTION result %s can't be an array in FUNCTION %s at %L"
+-msgstr ""
++msgstr "%3$L处函数 %2$s 的返回值 %1$s ä¸èƒ½æ˜¯ä¸€ä¸ªæ•°ç»„"
+
+-#: fortran/resolve.c:520
++#: fortran/resolve.c:549
+ #, no-c-format
+ msgid "ENTRY result %s can't be an array in FUNCTION %s at %L"
+-msgstr ""
++msgstr "%3$L处函数 %2$s 中入å£è¿”回值 %1$s ä¸èƒ½æ˜¯ä¸€ä¸ªæ•°ç»„"
+
+-#: fortran/resolve.c:527
++#: fortran/resolve.c:556
+ #, no-c-format
+ msgid "FUNCTION result %s can't be a POINTER in FUNCTION %s at %L"
+-msgstr ""
++msgstr "%3$L处函数 %2$s 的返回值 %1$s ä¸èƒ½æ˜¯ä¸€ä¸ªæŒ‡é’ˆ"
+
+-#: fortran/resolve.c:531
++#: fortran/resolve.c:560
+ #, no-c-format
+ msgid "ENTRY result %s can't be a POINTER in FUNCTION %s at %L"
+-msgstr ""
++msgstr "%3$L处函数 %2$s 中入å£è¿”回值 %1$s ä¸èƒ½æ˜¯ä¸€ä¸ªæŒ‡é’ˆ"
+
+-#: fortran/resolve.c:569
++#: fortran/resolve.c:598
+ #, no-c-format
+ msgid "FUNCTION result %s can't be of type %s in FUNCTION %s at %L"
+-msgstr ""
++msgstr "%4$L处函数 %2$s 的返回值 %1$s ä¸èƒ½å…·æœ‰ %3$s å…·åž‹"
+
+-#: fortran/resolve.c:574
++#: fortran/resolve.c:603
+ #, no-c-format
+ msgid "ENTRY result %s can't be of type %s in FUNCTION %s at %L"
++msgstr "%4$L处函数 %2$s 中入å£è¿”回值 %1$s ä¸èƒ½å…·æœ‰ %3$s å…·åž‹"
++
++#: fortran/resolve.c:661
++#, no-c-format
++msgid "Variable '%s' at %L is in COMMON but only in BLOCK DATA initialization is allowed"
+ msgstr ""
+
+-#: fortran/resolve.c:643
++#: fortran/resolve.c:665
+ #, no-c-format
++msgid "Initialized variable '%s' at %L is in a blank COMMON but initialization is only allowed in named common blocks"
++msgstr ""
++
++#: fortran/resolve.c:676
++#, no-c-format
+ msgid "Derived type variable '%s' in COMMON at %L has neither the SEQUENCE nor the BIND(C) attribute"
+ msgstr ""
+
+-#: fortran/resolve.c:647
++#: fortran/resolve.c:680
+ #, no-c-format
+ msgid "Derived type variable '%s' in COMMON at %L has an ultimate component that is allocatable"
+ msgstr ""
+
+-#: fortran/resolve.c:651
++#: fortran/resolve.c:684
+ #, fuzzy, no-c-format
+ msgid "Derived type variable '%s' in COMMON at %L may not have default initializer"
+-msgstr "外部对象‘%s’在 %L 处ä¸èƒ½æœ‰åˆå§‹å€¼è®¾å®š"
++msgstr "外部对象‘%s’在%L处ä¸èƒ½æœ‰åˆå§‹å€¼è®¾å®š"
+
+-#: fortran/resolve.c:661
++#: fortran/resolve.c:711
+ #, fuzzy, no-c-format
+ msgid "COMMON block '%s' at %L is used as PARAMETER at %L"
+-msgstr "没有在 %C 处å‘现 COMMON å— /%s/"
++msgstr "没有在%C处å‘现 COMMON å— /%s/"
+
+-#: fortran/resolve.c:665
++#: fortran/resolve.c:715
+ #, no-c-format
+ msgid "COMMON block '%s' at %L is also an intrinsic procedure"
+ msgstr ""
+
+-#: fortran/resolve.c:669
++#: fortran/resolve.c:719
+ #, no-c-format
+ msgid "Fortran 2003: COMMON block '%s' at %L that is also a function result"
+ msgstr ""
+
+-#: fortran/resolve.c:674
++#: fortran/resolve.c:724
+ #, no-c-format
+ msgid "Fortran 2003: COMMON block '%s' at %L that is also a global procedure"
+ msgstr ""
+
+-#: fortran/resolve.c:736
++#: fortran/resolve.c:786
+ #, fuzzy, no-c-format
+ msgid "Components of structure constructor '%s' at %L are PRIVATE"
+-msgstr "%C 处结构构造中组件太少"
++msgstr "%C处结构构造中组件太少"
+
+-#: fortran/resolve.c:756
++#: fortran/resolve.c:808
+ #, no-c-format
+ msgid "The rank of the element in the derived type constructor at %L does not match that of the component (%d/%d)"
+ msgstr ""
+
+-#: fortran/resolve.c:769
++#: fortran/resolve.c:821
+ #, no-c-format
+ msgid "The element in the derived type constructor at %L, for pointer component '%s', is %s but should be %s"
+ msgstr ""
+
+-#: fortran/resolve.c:786
++#: fortran/resolve.c:838
+ #, no-c-format
+ msgid "The element in the derived type constructor at %L, for pointer component '%s' should be a POINTER or a TARGET"
+ msgstr ""
+
+-#: fortran/resolve.c:913
++#: fortran/resolve.c:965
+ #, no-c-format
+ msgid "The upper bound in the last dimension must appear in the reference to the assumed size array '%s' at %L"
+ msgstr ""
+
+-#: fortran/resolve.c:976 fortran/resolve.c:5434 fortran/resolve.c:6098
++#: fortran/resolve.c:1029 fortran/resolve.c:5576 fortran/resolve.c:6282
+ #, no-c-format
+ msgid "Label %d referenced at %L is never defined"
+ msgstr "æ ‡å· %d(引用自 %L)从未被定义"
+
+-#: fortran/resolve.c:986
++#: fortran/resolve.c:1039
+ #, no-c-format
+ msgid "'%s' at %L is ambiguous"
+ msgstr "‘%s’(ä½äºŽ %L)有歧义"
+
+-#: fortran/resolve.c:1018
++#: fortran/resolve.c:1075
+ #, no-c-format
+ msgid "Statement function '%s' at %L is not allowed as an actual argument"
+-msgstr "语å¥å‡½æ•°â€˜%s’在 %L 处ä¸å…许用作实å‚"
++msgstr "语å¥å‡½æ•°â€˜%s’在%L处ä¸å…许用作实å‚"
+
+-#: fortran/resolve.c:1026
++#: fortran/resolve.c:1083
+ #, no-c-format
+ msgid "Intrinsic '%s' at %L is not allowed as an actual argument"
+-msgstr "内建函数‘%s’在 %L 处ä¸å…许用作实å‚"
++msgstr "内建函数‘%s’在%L处ä¸å…许用作实å‚"
+
+-#: fortran/resolve.c:1033
++#: fortran/resolve.c:1090
+ #, no-c-format
+ msgid "Internal procedure '%s' is not allowed as an actual argument at %L"
+-msgstr "内部过程‘%s’在 %L 处ä¸å…许用作实å‚"
++msgstr "内部过程‘%s’在%L处ä¸å…许用作实å‚"
+
+-#: fortran/resolve.c:1039
++#: fortran/resolve.c:1096
+ #, fuzzy, no-c-format
+ msgid "ELEMENTAL non-INTRINSIC procedure '%s' is not allowed as an actual argument at %L"
+-msgstr "语å¥å‡½æ•°â€˜%s’在 %L 处ä¸å…许用作实å‚"
++msgstr "语å¥å‡½æ•°â€˜%s’在%L处ä¸å…许用作实å‚"
+
+-#: fortran/resolve.c:1059
++#: fortran/resolve.c:1116
+ #, fuzzy, no-c-format
+ msgid "GENERIC procedure '%s' is not allowed as an actual argument at %L"
+-msgstr "语å¥å‡½æ•°â€˜%s’在 %L 处ä¸å…许用作实å‚"
++msgstr "语å¥å‡½æ•°â€˜%s’在%L处ä¸å…许用作实å‚"
+
+-#: fortran/resolve.c:1098
++#: fortran/resolve.c:1157
+ #, no-c-format
+ msgid "Symbol '%s' at %L is ambiguous"
+ msgstr "符å·â€˜%s’(ä½äºŽ %L)有歧义"
+
+-#: fortran/resolve.c:1143
++#: fortran/resolve.c:1206
+ #, no-c-format
+ msgid "By-value argument at %L is not of numeric type"
+-msgstr "%L 处按值传递的实å‚ä¸å…·æœ‰æ•°å­—类型"
++msgstr "%L处按值传递的实å‚ä¸å…·æœ‰æ•°å­—类型"
+
+-#: fortran/resolve.c:1150
++#: fortran/resolve.c:1213
+ #, no-c-format
+ msgid "By-value argument at %L cannot be an array or an array section"
+-msgstr "%L 处按值传递的实å‚ä¸èƒ½æ˜¯æ•°ç»„或数组段"
++msgstr "%L处按值传递的实å‚ä¸èƒ½æ˜¯æ•°ç»„或数组段"
+
+-#: fortran/resolve.c:1164
++#: fortran/resolve.c:1227
+ #, no-c-format
+ msgid "By-value argument at %L is not allowed in this context"
+-msgstr "%L 处上下文中ä¸å…许使用按值传递的实å‚"
++msgstr "%L处上下文中ä¸å…许使用按值传递的实å‚"
+
+-#: fortran/resolve.c:1176
++#: fortran/resolve.c:1239
+ #, no-c-format
+ msgid "Passing internal procedure at %L by location not allowed"
+-msgstr "ä¸å…许按ä½ç½®ä¼ é€’ %L 处的内部进程"
++msgstr "ä¸å…许按ä½ç½®ä¼ é€’%L处的内部过程"
+
+-#: fortran/resolve.c:1293
++#: fortran/resolve.c:1356
+ #, no-c-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)"
+ msgstr ""
+
+-#: fortran/resolve.c:1315
++#: fortran/resolve.c:1378
+ msgid "elemental procedure"
+-msgstr "基本å­è¿›ç¨‹"
++msgstr "基本过程"
+
+-#: fortran/resolve.c:1332
++#: fortran/resolve.c:1395
+ #, no-c-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"
+ msgstr ""
+
+-#: fortran/resolve.c:1466
++#: fortran/resolve.c:1531
+ #, no-c-format
+ msgid "There is no specific function for the generic '%s' at %L"
+ msgstr ""
+
+-#: fortran/resolve.c:1475
++#: fortran/resolve.c:1540
+ #, no-c-format
+ msgid "Generic function '%s' at %L is not consistent with a specific intrinsic interface"
+ msgstr ""
+
+-#: fortran/resolve.c:1513
++#: fortran/resolve.c:1594
+ #, no-c-format
+ msgid "Function '%s' at %L is INTRINSIC but is not compatible with an intrinsic"
+ msgstr ""
+
+-#: fortran/resolve.c:1559
++#: fortran/resolve.c:1640
+ #, no-c-format
+ msgid "Unable to resolve the specific function '%s' at %L"
+-msgstr "ä¸èƒ½è§£æžå‡½æ•°â€˜%s’,于 %L 处"
++msgstr "ä¸èƒ½è§£æž %$2L处的函数‘%1$s’"
+
+-#: fortran/resolve.c:1615 fortran/resolve.c:8740
++#: fortran/resolve.c:1696 fortran/resolve.c:8931
+ #, no-c-format
+ msgid "Function '%s' at %L has no IMPLICIT type"
+-msgstr "函数‘%s’在 %L 处没有 IMPLICIT 类型"
++msgstr "%2$L处的函数‘%1$s’没有éšå¼ç±»åž‹"
+
+-#: fortran/resolve.c:1799
++#: fortran/resolve.c:1907
+ #, fuzzy, no-c-format
+ msgid "Argument to '%s' at %L is not a variable"
+-msgstr "%s 的实å‚在 %L 处类型无效"
++msgstr "%s 的实å‚在%L处类型无效"
+
+-#: fortran/resolve.c:1871
+-#, fuzzy, no-c-format
++#: fortran/resolve.c:1979
++#, no-c-format
+ msgid "More actual than formal arguments in '%s' call at %L"
+-msgstr "%L 处调用过程时实å‚比形å‚多"
++msgstr "%2$L处‘%1$s’调用过程时实å‚比形å‚多"
+
+-#: fortran/resolve.c:1883
++#: fortran/resolve.c:1991
+ #, no-c-format
+ msgid "Parameter '%s' to '%s' at %L must be either a TARGET or an associated pointer"
+ msgstr ""
+
+-#: fortran/resolve.c:1909
++#: fortran/resolve.c:2017
+ #, no-c-format
+ msgid "Allocatable variable '%s' used as a parameter to '%s' at %L must not be an array of zero size"
+ msgstr ""
+
+-#: fortran/resolve.c:1926
++#: fortran/resolve.c:2034
+ #, no-c-format
+ msgid "Assumed-shape array '%s' at %L cannot be an argument to the procedure '%s' because it is not C interoperable"
+ msgstr ""
+
+-#: fortran/resolve.c:1936
++#: fortran/resolve.c:2044
+ #, no-c-format
+ msgid "Deferred-shape array '%s' at %L cannot be an argument to the procedure '%s' because it is not C interoperable"
+ msgstr ""
+
+-#: fortran/resolve.c:1959 fortran/resolve.c:1998
++#: fortran/resolve.c:2067 fortran/resolve.c:2106
+ #, fuzzy, no-c-format
+ msgid "CHARACTER argument '%s' to '%s' at %L must have a length of 1"
+ msgstr "%s çš„å‚æ•°(ä½äºŽ %L)长度必须为 1"
+
+ #. Case 1c, section 15.1.2.5, J3/04-007: an associated
+ #. scalar pointer.
+-#: fortran/resolve.c:1974
+-#, fuzzy, no-c-format
++#: fortran/resolve.c:2082
++#, no-c-format
+ msgid "Argument '%s' to '%s' at %L must be an associated scalar POINTER"
+-msgstr "实å‚‘%s’(属于内建函数‘%s’,ä½äºŽ %L)必须是一个 POINTER"
++msgstr "%3$L处‘%2$s’的实å‚‘%1$s’必须是一个关è”çš„æ ‡é‡æŒ‡é’ˆ"
+
+-#: fortran/resolve.c:1990
+-#, fuzzy, no-c-format
++#: fortran/resolve.c:2098
++#, no-c-format
+ msgid "Parameter '%s' to '%s' at %L must be a scalar"
+-msgstr "实å‚‘%s’(属于内建函数‘%s’,ä½äºŽ %L)必须是一个标é‡"
++msgstr "%3$L处‘%2$s’的形å‚‘%1$s’必须是一个标é‡"
+
+ #. TODO: Update this error message to allow for procedure
+ #. pointers once they are implemented.
+-#: fortran/resolve.c:2012
+-#, fuzzy, no-c-format
++#: fortran/resolve.c:2120
++#, no-c-format
+ msgid "Parameter '%s' to '%s' at %L must be a procedure"
+-msgstr "å字‘%s’(ä½äºŽ %C)是一个过程的åå­—"
++msgstr "%3$L处‘%2$s’的形å‚‘%1$s’必须是一个过程"
+
+-#: fortran/resolve.c:2020
+-#, fuzzy, no-c-format
++#: fortran/resolve.c:2128
++#, no-c-format
+ msgid "Parameter '%s' to '%s' at %L must be BIND(C)"
+-msgstr "%L 定义赋值的第二个å‚数必须是 INTENT(IN)"
++msgstr "%3$L处‘%2$s’的形å‚‘%1$s’必须为 BIND(C)"
+
+-#: fortran/resolve.c:2062
++#: fortran/resolve.c:2170
+ #, no-c-format
+ msgid "'%s' at %L is not a function"
+-msgstr "‘%s’(于 %L 处)ä¸æ˜¯ä¸€ä¸ªå‡½æ•°"
++msgstr "%2L处的‘%1$s’ä¸æ˜¯ä¸€ä¸ªå‡½æ•°"
+
+-#: fortran/resolve.c:2068
++#: fortran/resolve.c:2176
+ #, no-c-format
+ msgid "ABSTRACT INTERFACE '%s' must not be referenced at %L"
+ msgstr ""
+
+ #. Internal procedures are taken care of in resolve_contained_fntype.
+-#: fortran/resolve.c:2111
++#: fortran/resolve.c:2219
+ #, no-c-format
+ msgid "Function '%s' is declared CHARACTER(*) and cannot be used at %L since it is not a dummy argument"
+ msgstr ""
+
+-#: fortran/resolve.c:2164
++#: fortran/resolve.c:2272
+ #, no-c-format
+ msgid "User defined non-ELEMENTAL function '%s' at %L not allowed in WORKSHARE construct"
+ msgstr ""
+
+-#: fortran/resolve.c:2213
++#: fortran/resolve.c:2321
+ #, no-c-format
+ msgid "reference to non-PURE function '%s' at %L inside a FORALL %s"
+ msgstr ""
+
+-#: fortran/resolve.c:2220
++#: fortran/resolve.c:2328
+ #, no-c-format
+ msgid "Function reference to '%s' at %L is to a non-PURE procedure within a PURE procedure"
+ msgstr ""
+
+-#: fortran/resolve.c:2235
++#: fortran/resolve.c:2343
+ #, no-c-format
+ msgid "Function '%s' at %L cannot call itself, as it is not RECURSIVE"
+ msgstr "函数‘%s’(ä½äºŽ %L)ä¸èƒ½è°ƒç”¨å…¶è‡ªèº«ï¼Œå› ä¸ºå®ƒå¹¶éž RECURSIVE"
+
+-#: fortran/resolve.c:2243
++#: fortran/resolve.c:2351
+ #, no-c-format
+ msgid "Call to ENTRY '%s' at %L is recursive, but function '%s' is not declared as RECURSIVE"
+ msgstr ""
+
+-#: fortran/resolve.c:2285
++#: fortran/resolve.c:2393
+ #, no-c-format
+ msgid "Subroutine call to '%s' in FORALL block at %L is not PURE"
+ msgstr ""
+
+-#: fortran/resolve.c:2288
++#: fortran/resolve.c:2396
+ #, no-c-format
+ msgid "Subroutine call to '%s' at %L is not PURE"
+ msgstr ""
+
+-#: fortran/resolve.c:2351
++#: fortran/resolve.c:2459
+ #, fuzzy, no-c-format
+ msgid "There is no specific subroutine for the generic '%s' at %L"
+-msgstr "对å­è¿›ç¨‹å‘%s’éžé¢„期的使用,在 %C 处"
++msgstr "对å­è¿›ç¨‹å‘%s’éžé¢„期的使用,在%C处"
+
+-#: fortran/resolve.c:2360
++#: fortran/resolve.c:2468
+ #, no-c-format
+ msgid "Generic subroutine '%s' at %L is not consistent with an intrinsic subroutine interface"
+ msgstr ""
+
+-#: fortran/resolve.c:2468
++#: fortran/resolve.c:2576
+ #, fuzzy, no-c-format
+ msgid "Missing SHAPE parameter for call to %s at %L"
+ msgstr "缺少实å‚‘%s’,在调用‘%s’时,ä½äºŽ %L"
+
+-#: fortran/resolve.c:2476
++#: fortran/resolve.c:2584
+ #, no-c-format
+ msgid "SHAPE parameter for call to %s at %L must be a rank 1 INTEGER array"
+ msgstr ""
+
+-#: fortran/resolve.c:2543
++#: fortran/resolve.c:2667
+ #, no-c-format
+ msgid "Subroutine '%s' at %L is INTRINSIC but is not compatible with an intrinsic"
+ msgstr ""
+
+-#: fortran/resolve.c:2587
++#: fortran/resolve.c:2711
+ #, no-c-format
+ msgid "Unable to resolve the specific subroutine '%s' at %L"
+ msgstr ""
+
+-#: fortran/resolve.c:2644
++#: fortran/resolve.c:2768
+ #, no-c-format
+ msgid "'%s' at %L has a type, which is not consistent with the CALL at %L"
+ msgstr ""
+
+-#: fortran/resolve.c:2663
++#: fortran/resolve.c:2787
+ #, no-c-format
+ msgid "SUBROUTINE '%s' at %L cannot call itself, as it is not RECURSIVE"
+ msgstr ""
+
+-#: fortran/resolve.c:2671
++#: fortran/resolve.c:2795
+ #, no-c-format
+ msgid "Call to ENTRY '%s' at %L is recursive, but subroutine '%s' is not declared as RECURSIVE"
+ msgstr ""
+
+-#: fortran/resolve.c:2741
++#: fortran/resolve.c:2865
+ #, no-c-format
+ msgid "Shapes for operands at %L and %L are not conformable"
+-msgstr "%L å’Œ %L 处的æ“作数外形ä¸ç›¸å®¹"
++msgstr "%L å’Œ%L处的æ“作数外形ä¸ç›¸å®¹"
+
+-#: fortran/resolve.c:2792
++#: fortran/resolve.c:2916
+ #, fuzzy, c-format
+ msgid "Invalid context for NULL() pointer at %%L"
+-msgstr "%s ç§åˆ«æ— æ•ˆï¼ŒäºŽ %L 处"
++msgstr "%s ç§åˆ«æ— æ•ˆï¼ŒäºŽ%L处"
+
+-#: fortran/resolve.c:2808
++#: fortran/resolve.c:2932
+ #, c-format
+ msgid "Operand of unary numeric operator '%s' at %%L is %s"
+ msgstr "å•ç›®æ•°å€¼è¿ç®—符‘%s’(ä½äºŽ %%L)çš„æ“作数为 %s"
+
+-#: fortran/resolve.c:2824
++#: fortran/resolve.c:2948
+ #, c-format
+ msgid "Operands of binary numeric operator '%s' at %%L are %s/%s"
+ msgstr "二元数值è¿ç®—符‘%s’(ä½äºŽ %%L)çš„æ“作数为 %s/%s"
+
+-#: fortran/resolve.c:2838
++#: fortran/resolve.c:2962
+ #, c-format
+ msgid "Operands of string concatenation operator at %%L are %s/%s"
+ msgstr "字符串毗连è¿ç®—符(ä½äºŽ %%L)çš„æ“作数为 %s/%s"
+
+-#: fortran/resolve.c:2857
++#: fortran/resolve.c:2981
+ #, c-format
+ msgid "Operands of logical operator '%s' at %%L are %s/%s"
+ msgstr "逻辑è¿ç®—符‘%s’(ä½äºŽ %%L)çš„æ“作数为 %s/%s"
+
+-#: fortran/resolve.c:2871
++#: fortran/resolve.c:2995
+ #, c-format
+ msgid "Operand of .not. operator at %%L is %s"
+-msgstr "%%L 处的 .not. è¿ç®—符的æ“作数为 %s"
++msgstr "%%L处的 .not. è¿ç®—符的æ“作数为 %s"
+
+-#: fortran/resolve.c:2885
++#: fortran/resolve.c:3009
+ msgid "COMPLEX quantities cannot be compared at %L"
+-msgstr "%L 处å¤æ•°ä¸èƒ½æ¯”较大å°"
++msgstr "%L处å¤æ•°ä¸èƒ½æ¯”较大å°"
+
+-#: fortran/resolve.c:2913
++#: fortran/resolve.c:3037
+ #, c-format
+ msgid "Logicals at %%L must be compared with %s instead of %s"
+-msgstr "%%L 处逻辑值必须与 %s 比较,而ä¸æ˜¯ %s"
++msgstr "%%L处逻辑值必须与 %s 比较,而ä¸æ˜¯ %s"
+
+-#: fortran/resolve.c:2919
++#: fortran/resolve.c:3043
+ #, c-format
+ msgid "Operands of comparison operator '%s' at %%L are %s/%s"
+ msgstr "比较è¿ç®—符‘%s’(ä½äºŽ %%L)çš„æ“作数为 %s/%s"
+
+-#: fortran/resolve.c:2927
++#: fortran/resolve.c:3051
+ #, c-format
+ msgid "Unknown operator '%s' at %%L"
+-msgstr "未知的æ“作符‘%s’在 %%L 处"
++msgstr "未知的æ“作符‘%s’在 %%L处"
+
+-#: fortran/resolve.c:2929
++#: fortran/resolve.c:3053
+ #, c-format
+ msgid "Operand of user operator '%s' at %%L is %s"
+ msgstr "用户è¿ç®—符‘%s’(ä½äºŽ %%L)çš„æ“作数为 %s"
+
+-#: fortran/resolve.c:2932
++#: fortran/resolve.c:3056
+ #, c-format
+ msgid "Operands of user operator '%s' at %%L are %s/%s"
+ msgstr "用户è¿ç®—符‘%s’(ä½äºŽ %%L)çš„æ“作数为 %s/%s"
+
+-#: fortran/resolve.c:3018
++#: fortran/resolve.c:3142
+ #, fuzzy, c-format
+ msgid "Inconsistent ranks for operator at %%L and %%L"
+-msgstr "%L å’Œ %L 处的æ“作数秩ä¸ä¸€è‡´"
++msgstr "%L å’Œ%L处的æ“作数秩ä¸ä¸€è‡´"
+
+-#: fortran/resolve.c:3212
+-#, fuzzy, no-c-format
++#: fortran/resolve.c:3339
++#, no-c-format
+ msgid "Array reference at %L is out of bounds (%ld < %ld) in dimension %d"
+-msgstr "%L 处数组引用越界"
++msgstr "%1$L处数组引用在第 %4$d 维中越界(%2$ld < %3$ld)"
+
+-#: fortran/resolve.c:3220
+-#, fuzzy, no-c-format
++#: fortran/resolve.c:3347
++#, no-c-format
+ msgid "Array reference at %L is out of bounds (%ld > %ld) in dimension %d"
+-msgstr "%L 处数组引用越界"
++msgstr "%1$L处数组引用在第 %4$d 维中越界(%2$ld > %3$ld)"
+
+-#: fortran/resolve.c:3239
++#: fortran/resolve.c:3366
+ #, no-c-format
+ msgid "Illegal stride of zero at %L"
+ msgstr "%L 零间隔éžæ³•"
+
+-#: fortran/resolve.c:3256
+-#, fuzzy, no-c-format
++#: fortran/resolve.c:3383
++#, no-c-format
+ msgid "Lower array reference at %L is out of bounds (%ld < %ld) in dimension %d"
+-msgstr "%L 处数组引用越界"
++msgstr "%1$L处数组下é™å¼•ç”¨åœ¨ç¬¬ %4$d 维中越界(%2$ld < %3$ld)"
+
+-#: fortran/resolve.c:3264
+-#, fuzzy, no-c-format
++#: fortran/resolve.c:3391
++#, no-c-format
+ msgid "Lower array reference at %L is out of bounds (%ld > %ld) in dimension %d"
+-msgstr "%L 处数组引用越界"
++msgstr "%1$L处数组下é™å¼•ç”¨åœ¨ç¬¬ %4$d 维中越界(%2$ld > %3$ld)"
+
+-#: fortran/resolve.c:3280
+-#, fuzzy, no-c-format
++#: fortran/resolve.c:3407
++#, no-c-format
+ msgid "Upper array reference at %L is out of bounds (%ld < %ld) in dimension %d"
+-msgstr "%L 处数组引用越界"
++msgstr "%1$L处数组上é™å¼•ç”¨åœ¨ç¬¬ %4$d 维中越界(%2$ld < %3$ld)"
+
+-#: fortran/resolve.c:3289
+-#, fuzzy, no-c-format
++#: fortran/resolve.c:3416
++#, no-c-format
+ msgid "Upper array reference at %L is out of bounds (%ld > %ld) in dimension %d"
+-msgstr "%L 处数组引用越界"
++msgstr "%1$L处数组上é™å¼•ç”¨åœ¨ç¬¬ %4$d 维中越界(%2$ld > %3$ld)"
+
+-#: fortran/resolve.c:3328
++#: fortran/resolve.c:3455
+ #, no-c-format
+ msgid "Rightmost upper bound of assumed size array section not specified at %L"
+ msgstr ""
+
+-#: fortran/resolve.c:3338
++#: fortran/resolve.c:3465
+ #, no-c-format
+ msgid "Rank mismatch in array reference at %L (%d/%d)"
+-msgstr "%L 处数组引用中秩ä¸åŒ¹é…(%d/%d)"
++msgstr "%L处数组引用中秩ä¸åŒ¹é…(%d/%d)"
+
+-#: fortran/resolve.c:3366
++#: fortran/resolve.c:3493
+ #, no-c-format
+ msgid "Array index at %L must be scalar"
+-msgstr "%L 处数组索引必须是标é‡"
++msgstr "%L处数组索引必须是标é‡"
+
+-#: fortran/resolve.c:3372
++#: fortran/resolve.c:3499
+ #, no-c-format
+ msgid "Array index at %L must be of INTEGER type"
+-msgstr "%L 处数组索引必须具有 INTEGER 类型"
++msgstr "%L处数组索引必须具有 INTEGER 类型"
+
+-#: fortran/resolve.c:3378
++#: fortran/resolve.c:3505
+ #, no-c-format
+ msgid "Extension: REAL array index at %L"
+-msgstr "扩展:%L 处的 REAL 数组索引"
++msgstr "扩展:%L处的 REAL 数组索引"
+
+-#: fortran/resolve.c:3408
++#: fortran/resolve.c:3535
+ #, no-c-format
+ msgid "Argument dim at %L must be scalar"
+ msgstr "%L 实å‚维数必须是标é‡"
+
+-#: fortran/resolve.c:3414
++#: fortran/resolve.c:3542
+ #, no-c-format
+ msgid "Argument dim at %L must be of INTEGER type"
+-msgstr "%L 处实å‚维数必须具有 INTEGER 类型"
++msgstr "%L处实å‚维数必须具有 INTEGER 类型"
+
+-#: fortran/resolve.c:3534
++#: fortran/resolve.c:3663
+ #, no-c-format
+ msgid "Array index at %L is an array of rank %d"
+-msgstr "%L 处数组索引是一个秩为 %d 的数组"
++msgstr "%L处数组索引是一个秩为 %d 的数组"
+
+-#: fortran/resolve.c:3571
++#: fortran/resolve.c:3700
+ #, no-c-format
+ msgid "Substring start index at %L must be of type INTEGER"
+-msgstr "%L 处的å­å­—符串起始索引类型必须为 INTEGER"
++msgstr "%L处的å­å­—符串起始索引类型必须为 INTEGER"
+
+-#: fortran/resolve.c:3578
++#: fortran/resolve.c:3707
+ #, no-c-format
+ msgid "Substring start index at %L must be scalar"
+-msgstr "%L 处的å­å­—符串起始索引必须是标é‡"
++msgstr "%L处的å­å­—符串起始索引必须是标é‡"
+
+-#: fortran/resolve.c:3587
++#: fortran/resolve.c:3716
+ #, no-c-format
+ msgid "Substring start index at %L is less than one"
+-msgstr "%L 处的å­å­—符串起始索引å°äºŽ 1"
++msgstr "%L处的å­å­—符串起始索引å°äºŽ 1"
+
+-#: fortran/resolve.c:3600
++#: fortran/resolve.c:3729
+ #, no-c-format
+ msgid "Substring end index at %L must be of type INTEGER"
+-msgstr "%L 处的å­å­—符串终止索引类型必须为 INTEGER"
++msgstr "%L处的å­å­—符串终止索引类型必须为 INTEGER"
+
+-#: fortran/resolve.c:3607
++#: fortran/resolve.c:3736
+ #, no-c-format
+ msgid "Substring end index at %L must be scalar"
+-msgstr "%L 处的å­å­—符串终止索引必须是标é‡"
++msgstr "%L处的å­å­—符串终止索引必须是标é‡"
+
+-#: fortran/resolve.c:3617
++#: fortran/resolve.c:3746
+ #, no-c-format
+ msgid "Substring end index at %L exceeds the string length"
+-msgstr "%L 处的å­å­—符串终止索引超过了字符串长度"
++msgstr "%L处的å­å­—符串终止索引超过了字符串长度"
+
+-#: fortran/resolve.c:3755
++#: fortran/resolve.c:3884
+ #, no-c-format
+ msgid "Component to the right of a part reference with nonzero rank must not have the POINTER attribute at %L"
+ msgstr ""
+
+-#: fortran/resolve.c:3762
++#: fortran/resolve.c:3891
+ #, no-c-format
+ msgid "Component to the right of a part reference with nonzero rank must not have the ALLOCATABLE attribute at %L"
+ msgstr ""
+
+-#: fortran/resolve.c:3781
++#: fortran/resolve.c:3910
+ #, no-c-format
+ msgid "Two or more part references with nonzero rank must not be specified at %L"
+ msgstr ""
+
+-#: fortran/resolve.c:3956
++#: fortran/resolve.c:4085
+ #, no-c-format
+ msgid "Variable '%s', used in a specification expression, is referenced at %L before the ENTRY statement in which it is a parameter"
+ msgstr ""
+
+-#: fortran/resolve.c:3961
++#: fortran/resolve.c:4090
+ #, no-c-format
+ msgid "Variable '%s' is used at %L before the ENTRY statement in which it is a parameter"
+ msgstr ""
+
+-#: fortran/resolve.c:4238
++#: fortran/resolve.c:4367
+ #, no-c-format
+ msgid "%s at %L must be a scalar"
+-msgstr "%s (%L 处)必须是一个标é‡"
++msgstr "%s (%L处)必须是一个标é‡"
+
+-#: fortran/resolve.c:4248
++#: fortran/resolve.c:4377
+ #, no-c-format
+ msgid "Deleted feature: %s at %L must be integer"
+-msgstr "已删除的特性:%s 在 %L 处必须是一个整数"
++msgstr "已删除的特性:%s 在%L处必须是一个整数"
+
+-#: fortran/resolve.c:4252 fortran/resolve.c:4259
++#: fortran/resolve.c:4381 fortran/resolve.c:4388
+ #, no-c-format
+ msgid "%s at %L must be INTEGER"
+-msgstr "%s (%L 处)必须是 INTEGER"
++msgstr "%s (%L处)必须是 INTEGER"
+
+-#: fortran/resolve.c:4279
++#: fortran/resolve.c:4408
+ #, no-c-format
+ msgid "Cannot assign to loop variable in PURE procedure at %L"
+-msgstr ""
++msgstr "ä¸èƒ½åœ¨%L处的 PURE 过程中为循环å˜é‡èµ‹å€¼"
+
+-#: fortran/resolve.c:4303
++#: fortran/resolve.c:4432
+ #, no-c-format
+ msgid "Step expression in DO loop at %L cannot be zero"
+-msgstr "%L 处的 DO 循环中的步进表达å¼ä¸èƒ½ä¸ºé›¶"
++msgstr "%L处的 DO 循环中的步进表达å¼ä¸èƒ½ä¸ºé›¶"
+
+-#: fortran/resolve.c:4378
++#: fortran/resolve.c:4508
+ #, no-c-format
+ msgid "FORALL index-name at %L must be a scalar INTEGER"
+-msgstr "%L 处 FORALL 索引å必须是一个标é‡æ•´æ•°"
++msgstr "%L处 FORALL 索引å必须是一个标é‡æ•´æ•°"
+
+-#: fortran/resolve.c:4383
++#: fortran/resolve.c:4513
+ #, no-c-format
+ msgid "FORALL start expression at %L must be a scalar INTEGER"
+-msgstr "%L 处 FORALL 起始表达å¼å¿…须是一个标é‡æ•´æ•°"
++msgstr "%L处 FORALL 起始表达å¼å¿…须是一个标é‡æ•´æ•°"
+
+-#: fortran/resolve.c:4390
++#: fortran/resolve.c:4520
+ #, no-c-format
+ msgid "FORALL end expression at %L must be a scalar INTEGER"
+-msgstr "%L 处 FORALL 结æŸè¡¨è¾¾å¼å¿…须是一个标é‡æ•´æ•°"
++msgstr "%L处 FORALL 结æŸè¡¨è¾¾å¼å¿…须是一个标é‡æ•´æ•°"
+
+-#: fortran/resolve.c:4398
++#: fortran/resolve.c:4528
+ #, no-c-format
+ msgid "FORALL stride expression at %L must be a scalar %s"
+-msgstr "%L 处 FORALL 间隔表达å¼å¿…é¡»æ˜¯ä¸€ä¸ªæ ‡é‡ %s"
++msgstr "%L处 FORALL 间隔表达å¼å¿…é¡»æ˜¯ä¸€ä¸ªæ ‡é‡ %s"
+
+-#: fortran/resolve.c:4403
++#: fortran/resolve.c:4533
+ #, no-c-format
+ msgid "FORALL stride expression at %L cannot be zero"
+-msgstr "%L 处 FORALL 间隔表达å¼ä¸èƒ½æ˜¯é›¶"
++msgstr "%L处 FORALL 间隔表达å¼ä¸èƒ½æ˜¯é›¶"
+
+-#: fortran/resolve.c:4419
++#: fortran/resolve.c:4549
+ #, fuzzy, no-c-format
+ msgid "FORALL index '%s' may not appear in triplet specification at %L"
+-msgstr "å˜é‡â€˜%s’ä¸èƒ½å‡ºçŽ°åœ¨ %L 处的表达å¼ä¸­"
++msgstr "å˜é‡â€˜%s’ä¸èƒ½å‡ºçŽ°åœ¨%L处的表达å¼ä¸­"
+
+-#: fortran/resolve.c:4499
++#: fortran/resolve.c:4629
+ #, no-c-format
+ msgid "Expression in DEALLOCATE statement at %L must be ALLOCATABLE or a POINTER"
+ msgstr ""
+
+-#: fortran/resolve.c:4506
++#: fortran/resolve.c:4636
+ #, fuzzy, no-c-format
+ msgid "Cannot deallocate INTENT(IN) variable '%s' at %L"
+-msgstr "循环å˜é‡â€˜%s’在 %C 处ä¸èƒ½æ˜¯ INTENT(IN)"
++msgstr "循环å˜é‡â€˜%s’在%C处ä¸èƒ½æ˜¯ INTENT(IN)"
+
+-#: fortran/resolve.c:4675
++#: fortran/resolve.c:4740
+ #, no-c-format
+ msgid "The STAT variable '%s' in an ALLOCATE statement must not be allocated in the same statement at %L"
+ msgstr ""
+
+-#: fortran/resolve.c:4711
++#: fortran/resolve.c:4776
+ #, no-c-format
+ msgid "Expression in ALLOCATE statement at %L must be ALLOCATABLE or a POINTER"
+ msgstr ""
+
+-#: fortran/resolve.c:4719
++#: fortran/resolve.c:4784
+ #, fuzzy, no-c-format
+ msgid "Cannot allocate INTENT(IN) variable '%s' at %L"
+-msgstr "循环å˜é‡â€˜%s’在 %C 处ä¸èƒ½æ˜¯ INTENT(IN)"
++msgstr "循环å˜é‡â€˜%s’在%C处ä¸èƒ½æ˜¯ INTENT(IN)"
+
+-#: fortran/resolve.c:4743
++#: fortran/resolve.c:4808
+ #, no-c-format
+ msgid "Array specification required in ALLOCATE statement at %L"
+ msgstr ""
+
+-#: fortran/resolve.c:4773
++#: fortran/resolve.c:4838
+ #, no-c-format
+ msgid "Bad array specification in ALLOCATE statement at %L"
+ msgstr ""
+
+-#: fortran/resolve.c:4791
++#: fortran/resolve.c:4856
+ #, no-c-format
+ msgid "'%s' must not appear an the array specification at %L in the same ALLOCATE statement where it is itself allocated"
+ msgstr ""
+
++#: fortran/resolve.c:4880
++#, fuzzy, no-c-format
++msgid "STAT variable '%s' of %s statement at %C cannot be INTENT(IN)"
++msgstr "循环å˜é‡â€˜%s’在%C处ä¸èƒ½æ˜¯ INTENT(IN)"
++
++#: fortran/resolve.c:4884
++#, fuzzy, no-c-format
++msgid "Illegal STAT variable in %s statement at %C for a PURE procedure"
++msgstr "DATA 语å¥ä¸å…许出现在%C处的 PURE 过程中"
++
++#: fortran/resolve.c:4922
++#, fuzzy, no-c-format
++msgid "STAT tag in %s statement at %L must be a variable"
++msgstr "%C处的 STAT 表达å¼å¿…须是一个å˜é‡"
++
++#: fortran/resolve.c:4928
++#, fuzzy, no-c-format
++msgid "STAT tag in %s statement at %L must be of type INTEGER"
++msgstr "%L处的å­å­—符串起始索引类型必须为 INTEGER"
++
+ #. The cases overlap, or they are the same
+ #. 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.c:4949
++#: fortran/resolve.c:5091
+ #, no-c-format
+ msgid "CASE label at %L overlaps with CASE label at %L"
+ msgstr ""
+
+-#: fortran/resolve.c:5000
++#: fortran/resolve.c:5142
+ #, no-c-format
+ msgid "Expression in CASE statement at %L must be of type %s"
+-msgstr "%L 处 CASE 语å¥ä¸­çš„表达å¼å¿…须具有 %s 类型"
++msgstr "%L处 CASE 语å¥ä¸­çš„表达å¼å¿…须具有 %s 类型"
+
+-#: fortran/resolve.c:5011
++#: fortran/resolve.c:5153
+ #, no-c-format
+ msgid "Expression in CASE statement at %L must be kind %d"
+-msgstr "%L 处 CASE 语å¥ä¸­çš„表达å¼ç§ç±»å¿…须为 %d"
++msgstr "%L处 CASE 语å¥ä¸­çš„表达å¼ç§ç±»å¿…须为 %d"
+
+-#: fortran/resolve.c:5023
++#: fortran/resolve.c:5165
+ #, no-c-format
+ msgid "Expression in CASE statement at %L must be scalar"
+-msgstr "%L 处 CASE 语å¥ä¸­çš„表达å¼å¿…须为标é‡"
++msgstr "%L处 CASE 语å¥ä¸­çš„表达å¼å¿…须为标é‡"
+
+-#: fortran/resolve.c:5069
++#: fortran/resolve.c:5211
+ #, no-c-format
+ msgid "Selection expression in computed GOTO statement at %L must be a scalar integer expression"
+-msgstr "%L 处计算转移 GOTO 语å¥çš„选择表达å¼å¿…须是一个标é‡æ•´æ•°è¡¨è¾¾å¼"
++msgstr "%L处计算转移 GOTO 语å¥çš„选择表达å¼å¿…须是一个标é‡æ•´æ•°è¡¨è¾¾å¼"
+
+-#: fortran/resolve.c:5087
++#: fortran/resolve.c:5229
+ #, no-c-format
+ msgid "Argument of SELECT statement at %L cannot be %s"
+-msgstr "%L 处 SELECT 语å¥çš„实å‚ä¸èƒ½æ˜¯ %s"
++msgstr "%L处 SELECT 语å¥çš„实å‚ä¸èƒ½æ˜¯ %s"
+
+-#: fortran/resolve.c:5096
++#: fortran/resolve.c:5238
+ #, no-c-format
+ msgid "Argument of SELECT statement at %L must be a scalar expression"
+-msgstr "%L 处 SELECT 语å¥ä¸­çš„实å‚必须为标é‡"
++msgstr "%L处 SELECT 语å¥ä¸­çš„实å‚必须为标é‡"
+
+-#: fortran/resolve.c:5161
++#: fortran/resolve.c:5303
+ #, no-c-format
+ msgid "The DEFAULT CASE at %L cannot be followed by a second DEFAULT CASE at %L"
+ msgstr ""
+
+-#: fortran/resolve.c:5187
++#: fortran/resolve.c:5329
+ #, no-c-format
+ msgid "Logical range in CASE statement at %L is not allowed"
+ msgstr ""
+
+-#: fortran/resolve.c:5199
++#: fortran/resolve.c:5341
+ #, no-c-format
+ msgid "constant logical value in CASE statement is repeated at %L"
+ msgstr ""
+
+-#: fortran/resolve.c:5213
++#: fortran/resolve.c:5355
+ #, no-c-format
+ msgid "Range specification at %L can never be matched"
+ msgstr ""
+
+-#: fortran/resolve.c:5316
++#: fortran/resolve.c:5458
+ #, no-c-format
+ msgid "Logical SELECT CASE block at %L has more that two cases"
+ msgstr ""
+
+-#: fortran/resolve.c:5354
++#: fortran/resolve.c:5496
+ #, no-c-format
+ msgid "Data transfer element at %L cannot have POINTER components"
+ msgstr ""
+
+-#: fortran/resolve.c:5361
++#: fortran/resolve.c:5503
+ #, no-c-format
+ msgid "Data transfer element at %L cannot have ALLOCATABLE components"
+ msgstr ""
+
+-#: fortran/resolve.c:5368
++#: fortran/resolve.c:5510
+ #, no-c-format
+ msgid "Data transfer element at %L cannot have PRIVATE components"
+ msgstr ""
+
+-#: fortran/resolve.c:5377
++#: fortran/resolve.c:5519
+ #, no-c-format
+ msgid "Data transfer element at %L cannot be a full reference to an assumed-size array"
+ msgstr ""
+
+-#: fortran/resolve.c:5441
++#: fortran/resolve.c:5583
+ #, no-c-format
+ msgid "Statement at %L is not a valid branch target statement for the branch statement at %L"
+ msgstr ""
+
+-#: fortran/resolve.c:5450
++#: fortran/resolve.c:5592
+ #, no-c-format
+ msgid "Branch at %L causes an infinite loop"
+-msgstr "%L 处的分支导致无穷循环"
++msgstr "%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.c:5463
++#: fortran/resolve.c:5605
+ #, no-c-format
+ msgid "Label at %L is not in the same block as the GOTO statement at %L"
+ msgstr ""
+
+-#: fortran/resolve.c:5478 fortran/resolve.c:5492
++#: fortran/resolve.c:5620 fortran/resolve.c:5634
+ #, fuzzy, no-c-format
+ msgid "Deleted feature: GOTO at %L jumps to END of construct at %L"
+-msgstr "已过时:%L 处的 GOTO 跳转到 %L 处结构的 END"
++msgstr "已过时:%L处的 GOTO 跳转到%L处结构的 END"
+
+-#: fortran/resolve.c:5569
++#: fortran/resolve.c:5711
+ #, no-c-format
+ msgid "WHERE mask at %L has inconsistent shape"
+ msgstr ""
+
+-#: fortran/resolve.c:5585
++#: fortran/resolve.c:5727
+ #, no-c-format
+ msgid "WHERE assignment target at %L has inconsistent shape"
+ msgstr ""
+
+-#: fortran/resolve.c:5600 fortran/resolve.c:5682
++#: fortran/resolve.c:5735 fortran/resolve.c:5820
+ #, no-c-format
++msgid "Non-ELEMENTAL user-defined assignment in WHERE at %L"
++msgstr ""
++
++#: fortran/resolve.c:5745 fortran/resolve.c:5830
++#, no-c-format
+ msgid "Unsupported statement inside WHERE at %L"
+-msgstr "%L 处在 WHERE 内ä¸æ”¯æŒçš„语å¥"
++msgstr "%L处在 WHERE 内ä¸æ”¯æŒçš„语å¥"
+
+-#: fortran/resolve.c:5631
++#: fortran/resolve.c:5776
+ #, no-c-format
+ msgid "Assignment to a FORALL index variable at %L"
+-msgstr "%L å¤„å‘ FORALL 索引å˜é‡èµ‹å€¼"
++msgstr "%Lå¤„å‘ FORALL 索引å˜é‡èµ‹å€¼"
+
+-#: fortran/resolve.c:5639
++#: fortran/resolve.c:5784
+ #, no-c-format
+ msgid "The FORALL with index '%s' cause more than one assignment to this object at %L"
+ msgstr ""
+
+-#: fortran/resolve.c:5774
++#: fortran/resolve.c:5922
+ #, no-c-format
+ msgid "An outer FORALL construct already has an index with this name %L"
+ msgstr ""
+
+-#: fortran/resolve.c:5830
++#: fortran/resolve.c:5978
+ #, no-c-format
+ msgid "WHERE/ELSEWHERE clause at %L requires a LOGICAL array"
+-msgstr "%L 处的 WHERE/ELSEWHERE å­å¥éœ€è¦ä¸€ä¸ª LOGICAL 数组"
++msgstr "%L处的 WHERE/ELSEWHERE å­å¥éœ€è¦ä¸€ä¸ª LOGICAL 数组"
+
+-#: fortran/resolve.c:5890
++#: fortran/resolve.c:6037
+ #, fuzzy, no-c-format
+ msgid "Subroutine '%s' called instead of assignment at %L must be PURE"
+-msgstr "%L 处定义赋值的第二个å‚数必须是 INTENT(IN)"
++msgstr "%L处定义赋值的第二个å‚数必须是 INTENT(IN)"
+
+-#: fortran/resolve.c:5927
++#: fortran/resolve.c:6110
+ #, fuzzy, no-c-format
+ msgid "CHARACTER expression will be truncated in assignment (%d/%d) at %L"
+-msgstr "CHARACTER 表达å¼åœ¨ %L 处被截断(%d/%d)"
++msgstr "CHARACTER 表达å¼åœ¨%L处被截断(%d/%d)"
+
+-#: fortran/resolve.c:5950
++#: fortran/resolve.c:6135
+ #, no-c-format
+ msgid "Cannot assign to variable '%s' in PURE procedure at %L"
+ msgstr ""
+
+-#: fortran/resolve.c:5962
++#: fortran/resolve.c:6147
+ #, no-c-format
+ msgid "The impure variable at %L is assigned to a derived type variable with a POINTER component in a PURE procedure (12.6)"
+ msgstr ""
+
+-#: fortran/resolve.c:6066
++#: fortran/resolve.c:6250
+ #, no-c-format
+ msgid "ASSIGNED GOTO statement at %L requires an INTEGER variable"
+-msgstr "ASSIGNED GOTO 语å¥åœ¨ %L 处需è¦ä¸€ä¸ª INTEGER å˜é‡"
++msgstr "ASSIGNED GOTO 语å¥åœ¨%L处需è¦ä¸€ä¸ª INTEGER å˜é‡"
+
+-#: fortran/resolve.c:6069
++#: fortran/resolve.c:6253
+ #, fuzzy, no-c-format
+ msgid "Variable '%s' has not been assigned a target label at %L"
+ msgstr "å˜é‡â€˜%s’在 %L 尚未分é…到格å¼æ ‡å·"
+
+-#: fortran/resolve.c:6080
++#: fortran/resolve.c:6264
+ #, no-c-format
+ msgid "Alternate RETURN statement at %L requires a SCALAR-INTEGER return specifier"
+-msgstr "%L 处的替代 RETURN 语å¥éœ€è¦ä¸€ä¸ª SCALAR-INTEGER 返回é™å®šç¬¦"
++msgstr "%L处的替代 RETURN 语å¥éœ€è¦ä¸€ä¸ª SCALAR-INTEGER 返回é™å®šç¬¦"
+
+-#: fortran/resolve.c:6106
++#: fortran/resolve.c:6290
+ #, no-c-format
+ msgid "ASSIGN statement at %L requires a scalar default INTEGER variable"
+ msgstr ""
+
+-#: fortran/resolve.c:6121
++#: fortran/resolve.c:6305
+ #, no-c-format
+ msgid "Arithmetic IF statement at %L requires a numeric expression"
+ msgstr ""
+
+-#: fortran/resolve.c:6163
++#: fortran/resolve.c:6347
+ #, no-c-format
+ msgid "Exit condition of DO WHILE loop at %L must be a scalar LOGICAL expression"
+ msgstr ""
+
+-#: fortran/resolve.c:6170
++#: fortran/resolve.c:6420
+ #, no-c-format
+-msgid "STAT tag in ALLOCATE statement at %L must be of type INTEGER"
+-msgstr ""
+-
+-#: fortran/resolve.c:6182
+-#, no-c-format
+-msgid "STAT tag in DEALLOCATE statement at %L must be of type INTEGER"
+-msgstr ""
+-
+-#: fortran/resolve.c:6247
+-#, no-c-format
+ msgid "FORALL mask clause at %L requires a LOGICAL expression"
+-msgstr "%L 处的 FORMALL 掩ç å­å¥éœ€è¦ä¸€ä¸ª LOGICAL 表达å¼"
++msgstr "%L处的 FORMALL 掩ç å­å¥éœ€è¦ä¸€ä¸ª LOGICAL 表达å¼"
+
+-#: fortran/resolve.c:6317 fortran/resolve.c:6373
++#: fortran/resolve.c:6490 fortran/resolve.c:6546
+ #, no-c-format
+ msgid "Binding label '%s' for common block '%s' at %L collides with the global entity '%s' at %L"
+ msgstr ""
+
+ #. Common block names match but binding labels do not.
+-#: fortran/resolve.c:6338
++#: fortran/resolve.c:6511
+ #, no-c-format
+ msgid "Binding label '%s' for common block '%s' at %L does not match the binding label '%s' for common block '%s' at %L"
+ msgstr ""
+
+-#: fortran/resolve.c:6385
++#: fortran/resolve.c:6558
+ #, no-c-format
+ msgid "Binding label '%s' for common block '%s' at %L collides with global entity '%s' at %L"
+ msgstr ""
+
+ #. Make sure global procedures don't collide with anything.
+-#: fortran/resolve.c:6437
++#: fortran/resolve.c:6610
+ #, no-c-format
+ msgid "Binding label '%s' at %L collides with the global entity '%s' at %L"
+ msgstr ""
+
+ #. Make sure procedures in interface bodies don't collide.
+-#: fortran/resolve.c:6450
++#: fortran/resolve.c:6623
+ #, no-c-format
+ msgid "Binding label '%s' in interface body at %L collides with the global entity '%s' at %L"
+ msgstr ""
+
+-#: fortran/resolve.c:6463
++#: fortran/resolve.c:6636
+ #, no-c-format
+ msgid "Binding label '%s' at %L collides with global entity '%s' at %L"
+ msgstr ""
+
+-#: fortran/resolve.c:6540
++#: fortran/resolve.c:6713
+ #, no-c-format
+ msgid "CHARACTER variable has zero length at %L"
+-msgstr "%L 处的 CHARACTER å˜é‡é•¿åº¦ä¸ºé›¶"
++msgstr "%L处的 CHARACTER å˜é‡é•¿åº¦ä¸ºé›¶"
+
+-#: fortran/resolve.c:6828
++#: fortran/resolve.c:7001
+ #, no-c-format
+ msgid "Allocatable array '%s' at %L must have a deferred shape"
+-msgstr "å¯åˆ†é…的数组‘%s’在 %L 处必须有延迟的外形"
++msgstr "å¯åˆ†é…的数组‘%s’在%L处必须有延迟的外形"
+
+-#: fortran/resolve.c:6831
++#: fortran/resolve.c:7004
+ #, no-c-format
+ msgid "Scalar object '%s' at %L may not be ALLOCATABLE"
+ msgstr ""
+
+-#: fortran/resolve.c:6838
++#: fortran/resolve.c:7011
+ #, no-c-format
+ msgid "Array pointer '%s' at %L must have a deferred shape"
+-msgstr "数组指针‘%s’在 %L 处必须有延迟的外形"
++msgstr "数组指针‘%s’在%L处必须有延迟的外形"
+
+-#: fortran/resolve.c:6849
++#: fortran/resolve.c:7022
+ #, no-c-format
+ msgid "Array '%s' at %L cannot have a deferred shape"
+-msgstr "数组‘%s’在 %L 处ä¸èƒ½æœ‰å»¶è¿Ÿçš„外形"
++msgstr "数组‘%s’在%L处ä¸èƒ½æœ‰å»¶è¿Ÿçš„外形"
+
+-#: fortran/resolve.c:6878
++#: fortran/resolve.c:7051
+ #, no-c-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"
+ msgstr ""
+
+-#: fortran/resolve.c:6901
++#: fortran/resolve.c:7074
+ #, fuzzy, no-c-format
+ msgid "Object '%s' at %L must have the SAVE attribute for default initialization of a component"
+ msgstr "%L 指定了é‡å¤çš„ SAVE 属性"
+
+ #. The shape of a main program or module array needs to be
+ #. constant.
+-#: fortran/resolve.c:6948
++#: fortran/resolve.c:7121
+ #, fuzzy, no-c-format
+ msgid "The module or main program array '%s' at %L must have constant shape"
+-msgstr "å¯åˆ†é…的数组‘%s’在 %L 处必须有延迟的外形"
++msgstr "å¯åˆ†é…的数组‘%s’在%L处必须有延迟的外形"
+
+-#: fortran/resolve.c:6961
++#: fortran/resolve.c:7134
+ #, no-c-format
+ msgid "Entity with assumed character length at %L must be a dummy argument or a PARAMETER"
+ msgstr ""
+
+-#: fortran/resolve.c:6980
++#: fortran/resolve.c:7153
+ #, no-c-format
+ msgid "'%s' at %L must have constant character length in this context"
+-msgstr "å˜é‡â€˜%s’在 %L 处上下文中字符长度必须为常é‡"
++msgstr "å˜é‡â€˜%s’在%L处上下文中字符长度必须为常é‡"
+
+-#: fortran/resolve.c:7012
++#: fortran/resolve.c:7185
+ #, no-c-format
+ msgid "Allocatable '%s' at %L cannot have an initializer"
+-msgstr "å¯åˆ†é…的‘%s’在 %L 处ä¸èƒ½æœ‰åˆå§‹å€¼è®¾å®š"
++msgstr "å¯åˆ†é…的‘%s’在%L处ä¸èƒ½æœ‰åˆå§‹å€¼è®¾å®š"
+
+-#: fortran/resolve.c:7015
++#: fortran/resolve.c:7188
+ #, no-c-format
+ msgid "External '%s' at %L cannot have an initializer"
+-msgstr "外部‘%s’在 %L 处ä¸èƒ½æœ‰åˆå§‹å€¼è®¾å®š"
++msgstr "外部‘%s’在%L处ä¸èƒ½æœ‰åˆå§‹å€¼è®¾å®š"
+
+-#: fortran/resolve.c:7019
++#: fortran/resolve.c:7192
+ #, no-c-format
+ msgid "Dummy '%s' at %L cannot have an initializer"
+-msgstr "哑元‘%s’在 %L 处ä¸èƒ½æœ‰åˆå§‹å€¼è®¾å®š"
++msgstr "哑元‘%s’在%L处ä¸èƒ½æœ‰åˆå§‹å€¼è®¾å®š"
+
+-#: fortran/resolve.c:7022
++#: fortran/resolve.c:7195
+ #, no-c-format
+ msgid "Intrinsic '%s' at %L cannot have an initializer"
+-msgstr "内建函数‘%s’在 %L 处ä¸èƒ½æœ‰åˆå§‹å€¼è®¾å®š"
++msgstr "内建函数‘%s’在%L处ä¸èƒ½æœ‰åˆå§‹å€¼è®¾å®š"
+
+-#: fortran/resolve.c:7025
++#: fortran/resolve.c:7198
+ #, no-c-format
+ msgid "Function result '%s' at %L cannot have an initializer"
+-msgstr "函数结果‘%s’在 %L 处ä¸èƒ½æœ‰åˆå§‹å€¼è®¾å®š"
++msgstr "函数结果‘%s’在%L处ä¸èƒ½æœ‰åˆå§‹å€¼è®¾å®š"
+
+-#: fortran/resolve.c:7028
++#: fortran/resolve.c:7201
+ #, no-c-format
+ msgid "Automatic array '%s' at %L cannot have an initializer"
+-msgstr "自动数组‘%s’在 %L 处ä¸èƒ½æœ‰åˆå§‹å€¼è®¾å®š"
++msgstr "自动数组‘%s’在%L处ä¸èƒ½æœ‰åˆå§‹å€¼è®¾å®š"
+
+-#: fortran/resolve.c:7051
++#: fortran/resolve.c:7224
+ #, no-c-format
+ msgid "Although not referenced, '%s' at %L has ambiguous interfaces"
+ msgstr ""
+
+-#: fortran/resolve.c:7070
++#: fortran/resolve.c:7243
+ #, no-c-format
+ msgid "Character-valued statement function '%s' at %L must have constant length"
+ msgstr ""
+
+-#: fortran/resolve.c:7078
++#: fortran/resolve.c:7251
+ #, no-c-format
+ msgid "Automatic character length function '%s' at %L must have an explicit interface"
+-msgstr "自动字符长度函数‘%s’于 %L 处必须有一个显å¼çš„接å£"
++msgstr "%2$L处的自动字符长度函数‘%1$s’必须有一个显å¼çš„接å£"
+
+-#: fortran/resolve.c:7103
++#: fortran/resolve.c:7276
+ #, no-c-format
+ msgid "Fortran 2003: '%s' is of a PRIVATE type and cannot be a dummy argument of '%s', which is PUBLIC at %L"
+ msgstr ""
+
+-#: fortran/resolve.c:7126 fortran/resolve.c:7151
++#: fortran/resolve.c:7299 fortran/resolve.c:7324
+ #, no-c-format
+ msgid "Fortran 2003: Procedure '%s' in PUBLIC interface '%s' at %L takes dummy arguments of '%s' which is PRIVATE"
+ msgstr ""
+
+-#: fortran/resolve.c:7168
++#: fortran/resolve.c:7341
+ #, no-c-format
+ msgid "Function '%s' at %L cannot have an initializer"
+-msgstr "函数‘%s’在 %L 处ä¸èƒ½æœ‰åˆå§‹å€¼è®¾å®š"
++msgstr "函数‘%s’在%L处ä¸èƒ½æœ‰åˆå§‹å€¼è®¾å®š"
+
+-#: fortran/resolve.c:7177
++#: fortran/resolve.c:7350
+ #, no-c-format
+ msgid "External object '%s' at %L may not have an initializer"
+-msgstr "外部对象‘%s’在 %L 处ä¸èƒ½æœ‰åˆå§‹å€¼è®¾å®š"
++msgstr "外部对象‘%s’在%L处ä¸èƒ½æœ‰åˆå§‹å€¼è®¾å®š"
+
+-#: fortran/resolve.c:7185
++#: fortran/resolve.c:7358
+ #, fuzzy, no-c-format
+ msgid "ELEMENTAL function '%s' at %L must have a scalar result"
+-msgstr "语å¥å‡½æ•°çš„实å‚‘%s’在 %L 处必须是标é‡"
++msgstr "语å¥å‡½æ•°çš„实å‚‘%s’在%L处必须是标é‡"
+
+-#: fortran/resolve.c:7206
++#: fortran/resolve.c:7379
+ #, no-c-format
+ msgid "CHARACTER(*) function '%s' at %L cannot be array-valued"
+-msgstr "CHARACTER(*) 函数‘%s’在 %L 处ä¸èƒ½ä¸ºæ•°ç»„值"
++msgstr "CHARACTER(*) 函数‘%s’在%L处ä¸èƒ½ä¸ºæ•°ç»„值"
+
+-#: fortran/resolve.c:7210
++#: fortran/resolve.c:7383
+ #, no-c-format
+ msgid "CHARACTER(*) function '%s' at %L cannot be pointer-valued"
+-msgstr "指定CHARACTER(*) 函数‘%s’在 %L 处ä¸èƒ½ä¸ºæŒ‡é’ˆå€¼"
++msgstr "指定CHARACTER(*) 函数‘%s’在%L处ä¸èƒ½ä¸ºæŒ‡é’ˆå€¼"
+
+-#: fortran/resolve.c:7214
++#: fortran/resolve.c:7387
+ #, no-c-format
+ msgid "CHARACTER(*) function '%s' at %L cannot be pure"
+-msgstr "CHARACTER(*) 函数‘%s’在 %L 处ä¸èƒ½ä¸ºçº¯å‡½æ•°"
++msgstr "CHARACTER(*) 函数‘%s’在%L处ä¸èƒ½ä¸ºçº¯å‡½æ•°"
+
+-#: fortran/resolve.c:7218
++#: fortran/resolve.c:7391
+ #, no-c-format
+ msgid "CHARACTER(*) function '%s' at %L cannot be recursive"
+-msgstr "CHARACTER(*) 函数‘%s’在 %L 处ä¸èƒ½æ˜¯é€’å½’çš„"
++msgstr "CHARACTER(*) 函数‘%s’在%L处ä¸èƒ½æ˜¯é€’å½’çš„"
+
+-#: fortran/resolve.c:7227
++#: fortran/resolve.c:7400
+ #, no-c-format
+ msgid "CHARACTER(*) function '%s' at %L is obsolescent in fortran 95"
+ msgstr ""
+
+-#: fortran/resolve.c:7299
++#: fortran/resolve.c:7472
+ #, fuzzy, no-c-format
+ msgid "Character length of component '%s' needs to be a constant specification expression at %L"
+-msgstr "å‡å®šå­—符长度å˜é‡â€˜%s’在 %L 处的常é‡è¡¨è¾¾å¼ä¸­"
++msgstr "å‡å®šå­—符长度å˜é‡â€˜%s’在%L处的常é‡è¡¨è¾¾å¼ä¸­"
+
+-#: fortran/resolve.c:7314
++#: fortran/resolve.c:7487
+ #, no-c-format
+ msgid "The component '%s' is a PRIVATE type and cannot be a component of '%s', which is PUBLIC at %L"
+ msgstr ""
+
+-#: fortran/resolve.c:7324
++#: fortran/resolve.c:7497
+ #, fuzzy, no-c-format
+ msgid "Component %s of SEQUENCE type declared at %L does not have the SEQUENCE attribute"
+-msgstr "%C 处的组件必须有 POINTER 属性"
++msgstr "%C处的组件必须有 POINTER 属性"
+
+-#: fortran/resolve.c:7334
++#: fortran/resolve.c:7507
+ #, no-c-format
+ msgid "The pointer component '%s' of '%s' at %L is a type that has not been declared"
+ msgstr ""
+
+-#: fortran/resolve.c:7352
++#: fortran/resolve.c:7525
+ #, fuzzy, no-c-format
+ msgid "Component '%s' of '%s' at %L must have constant array bounds"
+-msgstr "内建函数‘%s’ 于 %L 处必须有至少两个实å‚"
++msgstr "内建函数‘%s’ 于%L处必须有至少两个实å‚"
+
+-#: fortran/resolve.c:7395
++#: fortran/resolve.c:7568
+ #, no-c-format
+ msgid "NAMELIST object '%s' was declared PRIVATE and cannot be member of PUBLIC namelist '%s' at %L"
+ msgstr ""
+
+-#: fortran/resolve.c:7405
++#: fortran/resolve.c:7578
+ #, no-c-format
+ msgid "NAMELIST object '%s' has use-associated PRIVATE components and cannot be member of namelist '%s' at %L"
+ msgstr ""
+
+-#: fortran/resolve.c:7418
++#: fortran/resolve.c:7591
+ #, no-c-format
+ msgid "NAMELIST object '%s' has PRIVATE components and cannot be a member of PUBLIC namelist '%s' at %L"
+ msgstr ""
+
+-#: fortran/resolve.c:7430
++#: fortran/resolve.c:7603
+ #, no-c-format
+ msgid "NAMELIST array object '%s' must not have assumed shape in namelist '%s' at %L"
+ msgstr ""
+
+-#: fortran/resolve.c:7439
++#: fortran/resolve.c:7612
+ #, no-c-format
+ msgid "NAMELIST array object '%s' must have constant shape in namelist '%s' at %L"
+ msgstr ""
+
+-#: fortran/resolve.c:7451
++#: fortran/resolve.c:7624
+ #, no-c-format
+ msgid "NAMELIST object '%s' in namelist '%s' at %L cannot have ALLOCATABLE components"
+ msgstr ""
+
+-#: fortran/resolve.c:7459
++#: fortran/resolve.c:7632
+ #, no-c-format
+ msgid "NAMELIST object '%s' in namelist '%s' at %L cannot have POINTER components"
+ msgstr ""
+
+-#: fortran/resolve.c:7485
++#: fortran/resolve.c:7658
+ #, fuzzy, no-c-format
+ msgid "PROCEDURE attribute conflicts with NAMELIST attribute in '%s' at %L"
+ msgstr "%s 属性与 %s 属性冲çªï¼Œåœ¨â€˜%s’中,ä½äºŽ %L"
+
+-#: fortran/resolve.c:7504
++#: fortran/resolve.c:7677
+ #, fuzzy, no-c-format
+ msgid "Parameter array '%s' at %L cannot be automatic or of deferred shape"
+-msgstr "数组‘%s’在 %L 处ä¸èƒ½æœ‰å»¶è¿Ÿçš„外形"
++msgstr "数组‘%s’在%L处ä¸èƒ½æœ‰å»¶è¿Ÿçš„外形"
+
+-#: fortran/resolve.c:7515
++#: fortran/resolve.c:7688
+ #, no-c-format
+ msgid "Implicitly typed PARAMETER '%s' at %L doesn't match a later IMPLICIT type"
+ msgstr ""
+
+-#: fortran/resolve.c:7526
++#: fortran/resolve.c:7699
+ #, no-c-format
+ msgid "Incompatible derived type in PARAMETER at %L"
+ msgstr ""
+
+-#: fortran/resolve.c:7597
++#: fortran/resolve.c:7758
+ #, fuzzy, no-c-format
++msgid "Interface '%s', used by procedure '%s' at %L, is declared in a later PROCEDURE statement"
++msgstr "内部过程‘%s’在%L处ä¸å…许用作实å‚"
++
++#: fortran/resolve.c:7772
++#, fuzzy, no-c-format
+ msgid "Interface '%s' of procedure '%s' at %L must be explicit"
+-msgstr "元素过程的实å‚‘%s’在 %L 处必须是标é‡"
++msgstr "元素过程的实å‚‘%s’在%L处必须是标é‡"
+
+-#: fortran/resolve.c:7622
++#: fortran/resolve.c:7797
+ #, fuzzy, no-c-format
+ msgid "Type specified for intrinsic function '%s' at %L is ignored"
+-msgstr "函数‘%s’中的替代返回é™å®šç¬¦åœ¨ %L 处ä¸è¢«å…许"
++msgstr "函数‘%s’中的替代返回é™å®šç¬¦åœ¨%L处ä¸è¢«å…许"
+
+-#: fortran/resolve.c:7629
++#: fortran/resolve.c:7804
+ #, fuzzy, no-c-format
+ msgid "Intrinsic subroutine '%s' at %L shall not have a type specifier"
+-msgstr "内建函数‘%s’在 %L 处ä¸èƒ½æœ‰åˆå§‹å€¼è®¾å®š"
++msgstr "内建函数‘%s’在%L处ä¸èƒ½æœ‰åˆå§‹å€¼è®¾å®š"
+
+-#: fortran/resolve.c:7636
++#: fortran/resolve.c:7811
+ #, no-c-format
+ msgid "Intrinsic '%s' at %L does not exist"
+-msgstr "内建函数‘%s’在 %L 处ä¸å­˜åœ¨"
++msgstr "内建函数‘%s’在%L处ä¸å­˜åœ¨"
+
+-#: fortran/resolve.c:7676
++#: fortran/resolve.c:7851
+ #, no-c-format
+ msgid "Assumed size array at %L must be a dummy argument"
+-msgstr "%L 处å‡å®šå¤§å°çš„数组必须是一个哑元"
++msgstr "%L处å‡å®šå¤§å°çš„数组必须是一个哑元"
+
+-#: fortran/resolve.c:7679
++#: fortran/resolve.c:7854
+ #, no-c-format
+ msgid "Assumed shape array at %L must be a dummy argument"
+-msgstr "%L 处å‡å®šå¤–形的数组必须是一个哑元"
++msgstr "%L处å‡å®šå¤–形的数组必须是一个哑元"
+
+-#: fortran/resolve.c:7691
++#: fortran/resolve.c:7866
+ #, no-c-format
+ msgid "Symbol at %L is not a DUMMY variable"
+-msgstr "%L 处的符å·ä¸æ˜¯ä¸€ä¸ª DUMMY å˜é‡"
++msgstr "%L处的符å·ä¸æ˜¯ä¸€ä¸ª DUMMY å˜é‡"
+
+-#: fortran/resolve.c:7697
++#: fortran/resolve.c:7872
+ #, no-c-format
+ msgid "'%s' at %L cannot have the VALUE attribute because it is not a dummy argument"
+ msgstr ""
+
+-#: fortran/resolve.c:7707
++#: fortran/resolve.c:7882
+ #, fuzzy, no-c-format
+ msgid "Character dummy variable '%s' at %L with VALUE attribute must have constant length"
+-msgstr "语å¥å‡½æ•°çš„实å‚‘%s’在 %L 处必须是标é‡"
++msgstr "语å¥å‡½æ•°çš„实å‚‘%s’在%L处必须是标é‡"
+
+-#: fortran/resolve.c:7716
++#: fortran/resolve.c:7891
+ #, no-c-format
+ msgid "C interoperable character dummy variable '%s' at %L with VALUE attribute must have length one"
+ msgstr ""
+
+-#: fortran/resolve.c:7742
++#: fortran/resolve.c:7917
+ #, no-c-format
+ msgid "Variable '%s' at %L cannot be BIND(C) because it is neither a COMMON block nor declared at the module level scope"
+ msgstr ""
+
+-#: fortran/resolve.c:7795
++#: fortran/resolve.c:7970
+ #, no-c-format
+ msgid "The derived type '%s' at %L is of type '%s', which has not been defined"
+ msgstr ""
+
+-#: fortran/resolve.c:7811
++#: fortran/resolve.c:7987
+ #, fuzzy, no-c-format
+ msgid "Fortran 2003: PUBLIC %s '%s' at %L of PRIVATE derived type '%s'"
+-msgstr "函数‘%s’在 %L 处没有 IMPLICIT 类型"
++msgstr "函数‘%s’在%L处没有 IMPLICIT 类型"
+
+-#: fortran/resolve.c:7830
++#: fortran/resolve.c:8006
+ #, no-c-format
+ msgid "The INTENT(OUT) dummy argument '%s' at %L is ASSUMED SIZE and so cannot have a default initializer"
+ msgstr ""
+
+-#: fortran/resolve.c:7889
++#: fortran/resolve.c:8065
+ #, no-c-format
+ msgid "Threadprivate at %L isn't SAVEd"
+-msgstr "%L 处的线程ç§æœ‰å˜é‡æœªè¢«ä¿å­˜"
++msgstr "%L处的线程ç§æœ‰å˜é‡æœªè¢«ä¿å­˜"
+
+-#: fortran/resolve.c:7967
++#: fortran/resolve.c:8143
+ #, no-c-format
+ msgid "BLOCK DATA element '%s' at %L must be in COMMON"
+ msgstr ""
+
+-#: fortran/resolve.c:8011
++#: fortran/resolve.c:8149
+ #, no-c-format
++msgid "DATA array '%s' at %L must be specified in a previous declaration"
++msgstr ""
++
++#: fortran/resolve.c:8194
++#, no-c-format
+ msgid "Nonconstant array section at %L in DATA statement"
+ msgstr ""
+
+-#: fortran/resolve.c:8024
++#: fortran/resolve.c:8207
+ #, no-c-format
+ msgid "DATA statement at %L has more variables than values"
+-msgstr ""
++msgstr "%L处的 DATA 语å中å˜é‡æ¯”值多"
+
+-#: fortran/resolve.c:8118
++#: fortran/resolve.c:8301
+ #, no-c-format
+ msgid "iterator start at %L does not simplify"
+-msgstr "%L 处游标起始ä¸èƒ½ç®€åŒ–"
++msgstr "%L处游标起始ä¸èƒ½ç®€åŒ–"
+
+-#: fortran/resolve.c:8125
++#: fortran/resolve.c:8308
+ #, no-c-format
+ msgid "iterator end at %L does not simplify"
+-msgstr "%L 处游标结æŸä¸èƒ½ç®€åŒ–"
++msgstr "%L处游标结æŸä¸èƒ½ç®€åŒ–"
+
+-#: fortran/resolve.c:8132
++#: fortran/resolve.c:8315
+ #, no-c-format
+ msgid "iterator step at %L does not simplify"
+-msgstr "%L 处游标步进ä¸èƒ½ç®€åŒ–"
++msgstr "%L处游标步进ä¸èƒ½ç®€åŒ–"
+
+-#: fortran/resolve.c:8258
++#: fortran/resolve.c:8441
+ #, no-c-format
+ msgid "DATA statement at %L has more values than variables"
+-msgstr ""
++msgstr "%L处的 DATA 语å¥ä¸­å€¼æ¯”å˜é‡å¤š"
+
+-#: fortran/resolve.c:8349
++#: fortran/resolve.c:8532
+ #, no-c-format
+ msgid "Label %d at %L defined but not used"
+ msgstr "æ ‡å· %d 于 %L ç»å®šä¹‰ä½†æœªè¢«ä½¿ç”¨"
+
+-#: fortran/resolve.c:8354
++#: fortran/resolve.c:8537
+ #, no-c-format
+ msgid "Label %d at %L defined but cannot be used"
+ msgstr "æ ‡å· %d 于 %L ç»å®šä¹‰ä½†æ— æ³•è¢«ä½¿ç”¨"
+
+-#: fortran/resolve.c:8439
++#: fortran/resolve.c:8622
+ #, no-c-format
+ msgid "Derived type variable '%s' at %L must have SEQUENCE attribute to be an EQUIVALENCE object"
+ msgstr ""
+
+-#: fortran/resolve.c:8448
++#: fortran/resolve.c:8631
+ #, no-c-format
+ msgid "Derived type variable '%s' at %L cannot have ALLOCATABLE components to be an EQUIVALENCE object"
+ msgstr ""
+
+-#: fortran/resolve.c:8465
++#: fortran/resolve.c:8639
+ #, no-c-format
++msgid "Derived type variable '%s' at %L with default initialization cannot be in EQUIVALENCE with a variable in COMMON"
++msgstr ""
++
++#: fortran/resolve.c:8656
++#, no-c-format
+ msgid "Derived type variable '%s' at %L with pointer component(s) cannot be an EQUIVALENCE object"
+ msgstr ""
+
+-#: fortran/resolve.c:8570
++#: fortran/resolve.c:8761
+ #, no-c-format
+ msgid "Syntax error in EQUIVALENCE statement at %L"
+-msgstr "%L 处 EQUIVALENCE 语å¥è¯­æ³•é”™è¯¯"
++msgstr "%L处 EQUIVALENCE 语å¥è¯­æ³•é”™è¯¯"
+
+-#: fortran/resolve.c:8585
++#: fortran/resolve.c:8776
+ #, no-c-format
+ msgid "Either all or none of the objects in the EQUIVALENCE set at %L shall have the PROTECTED attribute"
+ msgstr ""
+
+-#: fortran/resolve.c:8597
++#: fortran/resolve.c:8788
+ #, no-c-format
+ msgid "Common block member '%s' at %L cannot be an EQUIVALENCE object in the pure procedure '%s'"
+ msgstr ""
+
+-#: fortran/resolve.c:8606
++#: fortran/resolve.c:8797
+ #, no-c-format
+ msgid "Named constant '%s' at %L cannot be an EQUIVALENCE object"
+-msgstr ""
++msgstr "%2$L处的有å常é‡â€˜%1$s’ä¸èƒ½æ˜¯ä¸€ä¸ª EQUIVALENCE 对象"
+
+-#: fortran/resolve.c:8685
++#: fortran/resolve.c:8876
+ #, no-c-format
+ msgid "Array '%s' at %L with non-constant bounds cannot be an EQUIVALENCE object"
+ msgstr ""
+
+-#: fortran/resolve.c:8696
++#: fortran/resolve.c:8887
+ #, no-c-format
+ msgid "Structure component '%s' at %L cannot be an EQUIVALENCE object"
+ msgstr ""
+
+-#: fortran/resolve.c:8707
++#: fortran/resolve.c:8898
+ #, no-c-format
+ msgid "Substring at %L has length zero"
+ msgstr "%L çš„å­å­—符串长度为零"
+
+-#: fortran/resolve.c:8750
++#: fortran/resolve.c:8941
+ #, fuzzy, no-c-format
+ msgid "PUBLIC function '%s' at %L cannot be of PRIVATE type '%s'"
+-msgstr "函数‘%s’在 %L 处没有 IMPLICIT 类型"
++msgstr "函数‘%s’在%L处没有 IMPLICIT 类型"
+
+-#: fortran/resolve.c:8762
++#: fortran/resolve.c:8953
+ #, no-c-format
+ msgid "ENTRY '%s' at %L has no IMPLICIT type"
+-msgstr "ENTRY‘%s’在 %L 处没有 IMPLICIT 类型"
++msgstr "%2$L处的 ENTRY‘%1$s’没有éšå¼ç±»åž‹"
+
+-#: fortran/resolve.c:8788
++#: fortran/resolve.c:8979
+ #, no-c-format
+ msgid "User operator procedure '%s' at %L must be a FUNCTION"
+-msgstr "用户è¿ç®—符‘%s’于 %L 处必须是一个 FUNCTION"
++msgstr "%2$L处的用户è¿ç®—符‘%1$s’必须是一个 FUNCTION"
+
+-#: fortran/resolve.c:8795
++#: fortran/resolve.c:8986
+ #, no-c-format
+ msgid "User operator procedure '%s' at %L cannot be assumed character length"
+ msgstr ""
+
+-#: fortran/resolve.c:8801
++#: fortran/resolve.c:8992
+ #, no-c-format
+ msgid "User operator procedure '%s' at %L must have at least one argument"
+-msgstr "用户è¿ç®—符‘%s’于 %L 处必须有至少一个实å‚"
++msgstr "%2$L处的用户è¿ç®—符‘%1$s’必须至少有一个实å‚"
+
+-#: fortran/resolve.c:8811
++#: fortran/resolve.c:9002
+ #, no-c-format
+ msgid "First argument of operator interface at %L cannot be optional"
+-msgstr "%L 处è¿ç®—符接å£çš„第一个å‚æ•°ä¸èƒ½æ˜¯å¯é€‰çš„"
++msgstr "%L处è¿ç®—符接å£çš„第一个å‚æ•°ä¸èƒ½æ˜¯å¯é€‰çš„"
+
+-#: fortran/resolve.c:8823
++#: fortran/resolve.c:9014
+ #, no-c-format
+ msgid "Second argument of operator interface at %L cannot be optional"
+-msgstr "%L 处è¿ç®—符接å£çš„第二个å‚æ•°ä¸èƒ½æ˜¯å¯é€‰çš„"
++msgstr "%L处è¿ç®—符接å£çš„第二个å‚æ•°ä¸èƒ½æ˜¯å¯é€‰çš„"
+
+-#: fortran/resolve.c:8827
++#: fortran/resolve.c:9018
+ #, no-c-format
+ msgid "Operator interface at %L must have, at most, two arguments"
+-msgstr "%L 处的è¿ç®—符接å£å¿…须有至多两个实å‚"
++msgstr "%L处的è¿ç®—符接å£å¿…须有至多两个实å‚"
+
+-#: fortran/resolve.c:8867
++#: fortran/resolve.c:9059
+ #, no-c-format
+ msgid "Contained procedure '%s' at %L of a PURE procedure must also be PURE"
+ msgstr ""
+
+-#: fortran/scanner.c:526
++#: fortran/scanner.c:530
+ #, no-c-format
+ msgid "!$OMP at %C starts a commented line as it neither is followed by a space nor is a continuation line"
+ msgstr ""
+
+-#: fortran/scanner.c:816 fortran/scanner.c:937
++#: fortran/scanner.c:820 fortran/scanner.c:941
+ #, fuzzy, no-c-format
+ msgid "Limit of %d continuations exceeded in statement at %C"
+-msgstr "%C 处错误的续行"
++msgstr "%C处错误的续行"
+
+-#: fortran/scanner.c:861
++#: fortran/scanner.c:865
+ #, no-c-format
+ msgid "Missing '&' in continued character constant at %C"
+-msgstr "%C 处的延续字符常é‡ç¼ºå°‘‘&’"
++msgstr "%C处的延续字符常é‡ç¼ºå°‘‘&’"
+
+-#: fortran/scanner.c:1071
++#: fortran/scanner.c:1075
+ #, no-c-format
+ msgid "Nonconforming tab character at %C"
+-msgstr "%C 处的制表符ä¸ç›¸å®¹"
++msgstr "%C处的制表符ä¸ç›¸å®¹"
+
+-#: fortran/scanner.c:1153 fortran/scanner.c:1156
++#: fortran/scanner.c:1158 fortran/scanner.c:1161
+ #, no-c-format
+ msgid "'&' not allowed by itself in line %d"
+ msgstr "è¡Œ %d 中ä¸å…许出现游离的‘&’"
+
+-#: fortran/scanner.c:1189
++#: fortran/scanner.c:1207
+ #, no-c-format
+-msgid "Nonconforming tab character in column 1 of line %d"
+-msgstr ""
++msgid "Nonconforming tab character in column %d of line %d"
++msgstr "第 %d 列第 %d 行有ä¸ç›¸å®¹çš„制表符"
+
+-#: fortran/scanner.c:1387
++#: fortran/scanner.c:1405
+ #, no-c-format
+ msgid "%s:%d: file %s left but not entered"
+ msgstr "%s:%d:文件 %s 被留下但未进入"
+
+-#: fortran/scanner.c:1419
++#: fortran/scanner.c:1438
+ #, no-c-format
+ msgid "%s:%d: Illegal preprocessor directive"
+ msgstr "%s:%d:无效的预包å«æŒ‡ç¤º"
+
+-#: fortran/scanner.c:1514
++#: fortran/scanner.c:1533
+ #, no-c-format
+ msgid "File '%s' is being included recursively"
+ msgstr "文件‘%s’被递归地包å«"
+
+-#: fortran/scanner.c:1529
++#: fortran/scanner.c:1548
+ #, no-c-format
+ msgid "Can't open file '%s'"
+ msgstr "无法打开文件‘%s’"
+
+-#: fortran/scanner.c:1538
++#: fortran/scanner.c:1557
+ #, no-c-format
+ msgid "Can't open included file '%s'"
+ msgstr "无法打开包å«æ–‡ä»¶â€˜%s’"
+
+-#: fortran/scanner.c:1676
++#: fortran/scanner.c:1701
+ #, c-format
+ msgid "%s:%3d %s\n"
+ msgstr "%s:%3d %s\n"
+@@ -10161,27 +10219,27 @@
+ #: fortran/simplify.c:82
+ #, no-c-format
+ msgid "Result of %s overflows its kind at %L"
+-msgstr "%s 的结果在 %L 处上溢其ç§åˆ«"
++msgstr "%s 的结果在%L处上溢其ç§åˆ«"
+
+ #: fortran/simplify.c:87
+ #, no-c-format
+ msgid "Result of %s underflows its kind at %L"
+-msgstr "%s 的结果在 %L 处下溢其ç§ç±»"
++msgstr "%s 的结果在%L处下溢其ç§ç±»"
+
+ #: fortran/simplify.c:92
+ #, no-c-format
+ msgid "Result of %s is NaN at %L"
+-msgstr "%s 的结果在 %L 处为 NaN"
++msgstr "%s 的结果在%L处为 NaN"
+
+ #: fortran/simplify.c:96
+ #, no-c-format
+ msgid "Result of %s gives range error for its kind at %L"
+-msgstr "%s 的结果在 %L 处为其ç§åˆ«ç»™å‡ºèŒƒå›´é”™è¯¯"
++msgstr "%s 的结果在%L处为其ç§åˆ«ç»™å‡ºèŒƒå›´é”™è¯¯"
+
+ #: fortran/simplify.c:119
+ #, no-c-format
+ msgid "KIND parameter of %s at %L must be an initialization expression"
+-msgstr "KIND å‚æ•° %s 在 %L 处必须是åˆå§‹åŒ–表达å¼"
++msgstr "KIND å‚æ•° %s 在%L处必须是åˆå§‹åŒ–表达å¼"
+
+ #: fortran/simplify.c:127
+ #, no-c-format
+@@ -10191,27 +10249,27 @@
+ #: fortran/simplify.c:282
+ #, no-c-format
+ msgid "Argument of ACHAR function at %L outside of range [0,127]"
+-msgstr "%L 处 ACHAR 函数的实å‚ä¸åœ¨ [0,127] 范围内"
++msgstr "%L处 ACHAR 函数的实å‚ä¸åœ¨ [0,127] 范围内"
+
+ #: fortran/simplify.c:307
+ #, no-c-format
+ msgid "Argument of ACOS at %L must be between -1 and 1"
+-msgstr "%L 处 ACOS çš„å‚数必须在 -1 å’Œ 1 之间"
++msgstr "%L处 ACOS çš„å‚数必须在 -1 å’Œ 1 之间"
+
+ #: fortran/simplify.c:329
+ #, no-c-format
+ msgid "Argument of ACOSH at %L must not be less than 1"
+-msgstr "%L 处 ACOSH çš„å‚æ•°å¿…é¡»ä¸å°äºŽ 1"
++msgstr "%L处 ACOSH çš„å‚æ•°å¿…é¡»ä¸å°äºŽ 1"
+
+ #: fortran/simplify.c:546
+ #, no-c-format
+ msgid "Argument of ASIN at %L must be between -1 and 1"
+-msgstr "%L 处 ASIN çš„å‚数必须在 -1 å’Œ 1 之间"
++msgstr "%L处 ASIN çš„å‚数必须在 -1 å’Œ 1 之间"
+
+ #: fortran/simplify.c:602
+ #, no-c-format
+ msgid "Argument of ATANH at %L must be inside the range -1 to 1"
+-msgstr "%L 处 ATANH çš„å‚数必须在 -1 å’Œ 1 之间"
++msgstr "%L处 ATANH çš„å‚数必须在 -1 å’Œ 1 之间"
+
+ #: fortran/simplify.c:627
+ #, no-c-format
+@@ -10221,219 +10279,224 @@
+ #: fortran/simplify.c:714
+ #, no-c-format
+ msgid "Argument of CHAR function at %L outside of range [0,255]"
+-msgstr "%L 处 CHAR 函数的实å‚ä¸åœ¨ [0,255] 范围内"
++msgstr "%L处 CHAR 函数的实å‚ä¸åœ¨ [0,255] 范围内"
+
+-#: fortran/simplify.c:1247
++#: fortran/simplify.c:1293
+ #, no-c-format
+ msgid "Argument of IACHAR at %L must be of length one"
+-msgstr "%L 处 IACHAR çš„å‚数长度必须为 1"
++msgstr "%L处 IACHAR çš„å‚数长度必须为 1"
+
+-#: fortran/simplify.c:1254
++#: fortran/simplify.c:1300
+ #, no-c-format
+ msgid "Argument of IACHAR function at %L outside of range 0..127"
+-msgstr "%L 处 IACHAR 函数的实å‚ä¸åœ¨ 0..127 范围内"
++msgstr "%L处 IACHAR 函数的实å‚ä¸åœ¨ 0..127 范围内"
+
+-#: fortran/simplify.c:1293
++#: fortran/simplify.c:1339
+ #, no-c-format
+ msgid "Invalid second argument of IBCLR at %L"
+-msgstr "%L 处 IBCLR 的第二个å‚数无效"
++msgstr "%L处 IBCLR 的第二个å‚数无效"
+
+-#: fortran/simplify.c:1301
++#: fortran/simplify.c:1347
+ #, no-c-format
+ msgid "Second argument of IBCLR exceeds bit size at %L"
+-msgstr ""
++msgstr "%L处IBCLR 的第二个å‚数超过ä½å¤§å°"
+
+-#: fortran/simplify.c:1335
++#: fortran/simplify.c:1381
+ #, no-c-format
+ msgid "Invalid second argument of IBITS at %L"
+-msgstr "%L 处 IBITS 的第二个å‚数无效"
++msgstr "%L处 IBITS 的第二个å‚数无效"
+
+-#: fortran/simplify.c:1341
++#: fortran/simplify.c:1387
+ #, no-c-format
+ msgid "Invalid third argument of IBITS at %L"
+-msgstr "%L 处 IBITS 的第三个å‚数无效"
++msgstr "%L处 IBITS 的第三个å‚数无效"
+
+-#: fortran/simplify.c:1351
++#: fortran/simplify.c:1397
+ #, no-c-format
+ msgid "Sum of second and third arguments of IBITS exceeds bit size at %L"
+ msgstr ""
+
+-#: fortran/simplify.c:1393
++#: fortran/simplify.c:1439
+ #, no-c-format
+ msgid "Invalid second argument of IBSET at %L"
+-msgstr "%L 处 IBSET 的第二个å‚数无效"
++msgstr "%L处 IBSET 的第二个å‚数无效"
+
+-#: fortran/simplify.c:1401
++#: fortran/simplify.c:1447
+ #, no-c-format
+ msgid "Second argument of IBSET exceeds bit size at %L"
+ msgstr ""
+
+-#: fortran/simplify.c:1431
++#: fortran/simplify.c:1477
+ #, no-c-format
+ msgid "Argument of ICHAR at %L must be of length one"
+-msgstr "%L 处 ICHAR çš„å‚数长度必须为 1"
++msgstr "%L处 ICHAR çš„å‚数长度必须为 1"
+
+-#: fortran/simplify.c:1646
++#: fortran/simplify.c:1692
+ #, no-c-format
+ msgid "Argument of INT at %L is not a valid type"
+-msgstr "%L 处 INT 的实å‚类型无效"
++msgstr "%L处 INT 的实å‚类型无效"
+
+-#: fortran/simplify.c:1688
++#: fortran/simplify.c:1734
+ #, no-c-format
+ msgid "Argument of %s at %L is not a valid type"
+-msgstr "%s 的实å‚在 %L 处类型无效"
++msgstr "%s 的实å‚在%L处类型无效"
+
+-#: fortran/simplify.c:1786
++#: fortran/simplify.c:1832
+ #, no-c-format
+ msgid "Invalid second argument of ISHFT at %L"
+-msgstr "%L 处 ISHFT 的第二个å‚数无效"
++msgstr "%L处 ISHFT 的第二个å‚数无效"
+
+-#: fortran/simplify.c:1801
++#: fortran/simplify.c:1847
+ #, no-c-format
+ msgid "Magnitude of second argument of ISHFT exceeds bit size at %L"
+ msgstr ""
+
+-#: fortran/simplify.c:1865
++#: fortran/simplify.c:1911
+ #, no-c-format
+ msgid "Invalid second argument of ISHFTC at %L"
+-msgstr "%L 处 ISHFTC 的第二个å‚数无效"
++msgstr "%L处 ISHFTC 的第二个å‚数无效"
+
+-#: fortran/simplify.c:1879
++#: fortran/simplify.c:1925
+ #, no-c-format
+ msgid "Invalid third argument of ISHFTC at %L"
+-msgstr "%L 处 ISHFTC 的第三个å‚数无效"
++msgstr "%L处 ISHFTC 的第三个å‚数无效"
+
+-#: fortran/simplify.c:1885
++#: fortran/simplify.c:1931
+ #, no-c-format
+ msgid "Magnitude of third argument of ISHFTC exceeds BIT_SIZE of first argument at %L"
+ msgstr ""
+
+-#: fortran/simplify.c:1901
++#: fortran/simplify.c:1947
+ #, no-c-format
+ msgid "Magnitude of second argument of ISHFTC exceeds third argument at %L"
+ msgstr ""
+
+-#: fortran/simplify.c:1904
++#: fortran/simplify.c:1950
+ #, no-c-format
+ msgid "Magnitude of second argument of ISHFTC exceeds BIT_SIZE of first argument at %L"
+ msgstr ""
+
+-#: fortran/simplify.c:1975
++#: fortran/simplify.c:2021
+ #, no-c-format
+ msgid "Argument of KIND at %L is a DERIVED type"
+-msgstr "%L 处 KIND 的实å‚具有 DERIVED 类型"
++msgstr "%L处 KIND 的实å‚具有 DERIVED 类型"
+
+-#: fortran/simplify.c:2163
++#: fortran/simplify.c:2209
+ #, no-c-format
+ msgid "DIM argument at %L is out of bounds"
+-msgstr "%L 处的 DIM å‚数越界"
++msgstr "%L处的 DIM å‚数越界"
+
+-#: fortran/simplify.c:2318
++#: fortran/simplify.c:2364
+ #, no-c-format
+ msgid "Argument of LOG at %L cannot be less than or equal to zero"
+-msgstr "%L 处 LOG 的实å‚ä¸å¯ä»¥å°äºŽæˆ–等于零"
++msgstr "%L处 LOG 的实å‚ä¸å¯ä»¥å°äºŽæˆ–等于零"
+
+-#: fortran/simplify.c:2331
++#: fortran/simplify.c:2377
+ #, no-c-format
+ msgid "Complex argument of LOG at %L cannot be zero"
+-msgstr "%L 处 LOG çš„å¤æ•°å®žå‚ä¸å¯ä¸ºé›¶"
++msgstr "%L处 LOG çš„å¤æ•°å®žå‚ä¸å¯ä¸ºé›¶"
+
+-#: fortran/simplify.c:2374
++#: fortran/simplify.c:2420
+ #, no-c-format
+ msgid "Argument of LOG10 at %L cannot be less than or equal to zero"
+-msgstr "%L 处 LOG10 的实å‚ä¸å¯ä»¥å°äºŽæˆ–等于零"
++msgstr "%L处 LOG10 的实å‚ä¸å¯ä»¥å°äºŽæˆ–等于零"
+
+ #. Result is processor-dependent.
+-#: fortran/simplify.c:2579
++#: fortran/simplify.c:2628
+ #, no-c-format
+ msgid "Second argument MOD at %L is zero"
+-msgstr "%L 处 MOD 的第二个å‚数为 0"
++msgstr "%L处 MOD 的第二个å‚数为 0"
+
+ #. Result is processor-dependent.
+-#: fortran/simplify.c:2590
++#: fortran/simplify.c:2639
+ #, no-c-format
+ msgid "Second argument of MOD at %L is zero"
+-msgstr "%L 处 MOD 的第二个å‚数为 0"
++msgstr "%L处 MOD 的第二个å‚数为 0"
+
+ #. Result is processor-dependent. This processor just opts
+ #. to not handle it at all.
+ #. Result is processor-dependent.
+-#: fortran/simplify.c:2638 fortran/simplify.c:2650
++#: fortran/simplify.c:2687 fortran/simplify.c:2699
+ #, no-c-format
+ msgid "Second argument of MODULO at %L is zero"
+-msgstr "%L 处 MODULO 的第二个å‚数为 0"
++msgstr "%L处 MODULO 的第二个å‚数为 0"
+
+-#: fortran/simplify.c:2702
++#: fortran/simplify.c:2751
+ #, no-c-format
+ msgid "Second argument of NEAREST at %L shall not be zero"
+-msgstr "%L 处 NEAREST 的第二个å‚æ•°ä¸èƒ½ä¸º 0"
++msgstr "%L处 NEAREST 的第二个å‚æ•°ä¸èƒ½ä¸º 0"
+
+-#: fortran/simplify.c:2977
++#: fortran/simplify.c:2787
+ #, no-c-format
++msgid "Result of NEAREST is NaN at %L"
++msgstr "NEAREST 的结果在%L处为 NaN"
++
++#: fortran/simplify.c:3062
++#, no-c-format
+ msgid "Argument NCOPIES of REPEAT intrinsic is negative at %L"
+ msgstr ""
+
+-#: fortran/simplify.c:3032
++#: fortran/simplify.c:3117
+ #, no-c-format
+ msgid "Argument NCOPIES of REPEAT intrinsic is too large at %L"
+ msgstr ""
+
+-#: fortran/simplify.c:3122
++#: fortran/simplify.c:3232
+ #, no-c-format
+ msgid "Integer too large in shape specification at %L"
+-msgstr "%L 处外形指定中整数太大"
++msgstr "%L处外形指定中整数太大"
+
+-#: fortran/simplify.c:3132
++#: fortran/simplify.c:3242
+ #, no-c-format
+ msgid "Too many dimensions in shape specification for RESHAPE at %L"
+ msgstr "%L 为 RESHAPE 指定的维数太多"
+
+-#: fortran/simplify.c:3140
++#: fortran/simplify.c:3250
+ #, no-c-format
+ msgid "Shape specification at %L cannot be negative"
+-msgstr "%L 处外形指定ä¸èƒ½ä¸ºè´Ÿæ•°"
++msgstr "%L处外形指定ä¸èƒ½ä¸ºè´Ÿæ•°"
+
+-#: fortran/simplify.c:3150
++#: fortran/simplify.c:3260
+ #, no-c-format
+ msgid "Shape specification at %L cannot be the null array"
+ msgstr ""
+
+-#: fortran/simplify.c:3171
++#: fortran/simplify.c:3281
+ #, no-c-format
+ msgid "ORDER parameter of RESHAPE at %L is not the same size as SHAPE parameter"
+ msgstr ""
+
+-#: fortran/simplify.c:3178
++#: fortran/simplify.c:3288
+ #, no-c-format
+ msgid "Error in ORDER parameter of RESHAPE at %L"
+ msgstr ""
+
+-#: fortran/simplify.c:3188
++#: fortran/simplify.c:3298
+ #, no-c-format
+ msgid "ORDER parameter of RESHAPE at %L is out of range"
+ msgstr ""
+
+-#: fortran/simplify.c:3197
++#: fortran/simplify.c:3307
+ #, no-c-format
+ msgid "Invalid permutation in ORDER parameter at %L"
+ msgstr ""
+
+-#: fortran/simplify.c:3253
++#: fortran/simplify.c:3363
+ #, no-c-format
+ msgid "PAD parameter required for short SOURCE parameter at %L"
+ msgstr ""
+
+-#: fortran/simplify.c:3372
++#: fortran/simplify.c:3482
+ #, no-c-format
+ msgid "Result of SCALE overflows its kind at %L"
+-msgstr "%L 处 SCALE 的结果上溢其ç§åˆ«"
++msgstr "%L处 SCALE 的结果上溢其ç§åˆ«"
+
+-#: fortran/simplify.c:3942
++#: fortran/simplify.c:4056
+ #, no-c-format
+ msgid "Argument of SQRT at %L has a negative value"
+-msgstr "%L 处 SQRT çš„å‚数为负"
++msgstr "%L处 SQRT çš„å‚数为负"
+
+-#: fortran/simplify.c:4069
++#: fortran/simplify.c:4190
+ #, no-c-format
+ msgid "Intrinsic TRANSFER at %L has partly undefined result: source size %ld < result size %ld"
+ msgstr ""
+@@ -10441,12 +10504,12 @@
+ #: fortran/symbol.c:120
+ #, no-c-format
+ msgid "Duplicate IMPLICIT NONE statement at %C"
+-msgstr "%C 处 IMPLICIT NONE 语å¥é‡å¤"
++msgstr "%C处 IMPLICIT NONE 语å¥é‡å¤"
+
+ #: fortran/symbol.c:160
+ #, no-c-format
+ msgid "Letter '%c' already set in IMPLICIT statement at %C"
+-msgstr ""
++msgstr "å­—æ¯â€˜%c’已在%C处的éšå¼è¯­å¥ä¸­è¢«è®¾å®š"
+
+ #: fortran/symbol.c:182
+ #, no-c-format
+@@ -10456,35 +10519,35 @@
+ #: fortran/symbol.c:193
+ #, no-c-format
+ msgid "Letter %c already has an IMPLICIT type at %C"
+-msgstr "å­—æ¯ %c 在 %C 处已ç»æœ‰äº†ä¸€ä¸ª IMPLICIT 类型"
++msgstr "å­—æ¯ %c 在%C处已ç»æœ‰äº†ä¸€ä¸ªéšå¼ç±»åž‹"
+
+ #: fortran/symbol.c:247
+ #, no-c-format
+ msgid "Symbol '%s' at %L has no IMPLICIT type"
+-msgstr "符å·â€˜%s’(ä½äºŽ %L)没有 IMPLICIT 类型"
++msgstr "%2$L处的符å·â€˜%1$s’没有éšå¼ç±»åž‹"
+
+ #. BIND(C) variables should not be implicitly declared.
+ #: fortran/symbol.c:261
+ #, no-c-format
+ msgid "Implicitly declared BIND(C) variable '%s' at %L may not be C interoperable"
+-msgstr ""
++msgstr "%2$L处éšå¼å£°æ˜Žçš„ BIND(C) å˜é‡â€˜%1$s’ä¸èƒ½ä¸Ž C 互æ“作"
+
+ #. Dummy args to a BIND(C) routine may not be interoperable if
+ #. they are implicitly typed.
+ #: fortran/symbol.c:275
+ #, no-c-format
+ msgid "Implicity declared variable '%s' at %L may not be C interoperable but it is a dummy argument to the BIND(C) procedure '%s' at %L"
+-msgstr ""
++msgstr "%2$L处éšå¼å£°æ˜Žçš„ BIND(C) å˜é‡â€˜%1$s’ä¸èƒ½ä¸Ž C 互æ“作,但它是%4$L处 BIND(C) 过程‘%3$s’的一个哑元实å‚"
+
+ #: fortran/symbol.c:316
+-#, fuzzy, no-c-format
++#, no-c-format
+ msgid "Function result '%s' at %L has no IMPLICIT type"
+-msgstr "函数‘%s’在 %L 处没有 IMPLICIT 类型"
++msgstr "%2$L处的函数返回值‘%1$s’处没有éšå¼ç±»åž‹"
+
+ #: fortran/symbol.c:395
+ #, no-c-format
+ msgid "%s attribute not allowed in BLOCK DATA program unit at %L"
+-msgstr "%s 属性在 %L 处ä¸å…许出现在 BLOCAK DATA 程åºå•å…ƒä¸­"
++msgstr "%s 属性在%L处ä¸å…许出现在 BLOCAK DATA 程åºå•å…ƒä¸­"
+
+ #: fortran/symbol.c:561
+ #, no-c-format
+@@ -10494,7 +10557,7 @@
+ #: fortran/symbol.c:690 fortran/symbol.c:1300
+ #, no-c-format
+ msgid "%s attribute conflicts with %s attribute at %L"
+-msgstr "%s 属性与 %s 属性在 %L 处冲çª"
++msgstr "%s 属性与 %s 属性在%L处冲çª"
+
+ #: fortran/symbol.c:693
+ #, no-c-format
+@@ -10504,7 +10567,7 @@
+ #: fortran/symbol.c:701
+ #, no-c-format
+ msgid "Fortran 2003: %s attribute with %s attribute at %L"
+-msgstr "Fortran 2003:%s 属性与 %s 属性在 %L 处"
++msgstr "Fortran 2003:%s 属性与 %s 属性在%L处"
+
+ #: fortran/symbol.c:707
+ #, no-c-format
+@@ -10514,17 +10577,17 @@
+ #: fortran/symbol.c:751
+ #, no-c-format
+ msgid "Cannot change attributes of USE-associated symbol at %L"
+-msgstr ""
++msgstr "ä¸èƒ½æ”¹å˜%L处 USE å…³è”的符å·çš„属性"
+
+ #: fortran/symbol.c:754
+ #, no-c-format
+ msgid "Cannot change attributes of USE-associated symbol %s at %L"
+-msgstr ""
++msgstr "ä¸èƒ½æ”¹å˜%2$L处 USE å…³è”的符å·â€˜%1$s’的属性"
+
+ #: fortran/symbol.c:770
+ #, no-c-format
+ msgid "Duplicate %s attribute specified at %L"
+-msgstr "é‡å¤çš„ %s 属性在 %L 处被指定"
++msgstr "é‡å¤çš„ %s 属性在%L处被指定"
+
+ #: fortran/symbol.c:912
+ #, no-c-format
+@@ -10534,12 +10597,12 @@
+ #: fortran/symbol.c:931
+ #, no-c-format
+ msgid "Duplicate PROTECTED attribute specified at %L"
+-msgstr "%L 处指定了é‡å¤çš„ PROTECTED 属性"
++msgstr "%L处指定了é‡å¤çš„ PROTECTED 属性"
+
+ #: fortran/symbol.c:964
+ #, no-c-format
+ msgid "SAVE attribute at %L cannot be specified in a PURE procedure"
+-msgstr "%L 处 PURE 过程ä¸èƒ½æŒ‡å®š SAVE 属性"
++msgstr "%L处 PURE 过程ä¸èƒ½æŒ‡å®š SAVE 属性"
+
+ #: fortran/symbol.c:972
+ #, no-c-format
+@@ -10549,17 +10612,17 @@
+ #: fortran/symbol.c:993
+ #, no-c-format
+ msgid "Duplicate VALUE attribute specified at %L"
+-msgstr "%L 处指定了é‡å¤çš„ VALUE 属性"
++msgstr "%L处指定了é‡å¤çš„ VALUE 属性"
+
+ #: fortran/symbol.c:1013
+ #, no-c-format
+ msgid "Duplicate VOLATILE attribute specified at %L"
+-msgstr "%L 处指定了é‡å¤çš„ VOLATILE 属性"
++msgstr "%L处指定了é‡å¤çš„ VOLATILE 属性"
+
+ #: fortran/symbol.c:1296
+ #, no-c-format
+ msgid "%s attribute of '%s' conflicts with %s attribute at %L"
+-msgstr "%s 属性(属于‘%s’)与 %s 属性在 %L 处冲çª"
++msgstr "‘%2$s’的 %1$s 属性与%4$L处的 %2$s 属性冲çª"
+
+ #: fortran/symbol.c:1330
+ #, no-c-format
+@@ -10579,32 +10642,32 @@
+ #: fortran/symbol.c:1405
+ #, no-c-format
+ msgid "Duplicate BIND attribute specified at %L"
+-msgstr "%L 处指定了é‡å¤çš„ BIND 属性"
++msgstr "%L处指定了é‡å¤çš„ BIND 属性"
+
+ #: fortran/symbol.c:1412
+ #, no-c-format
+ msgid "Fortran 2003: BIND(C) at %L"
+-msgstr "Fortran 2003:%L 处的 BIND(C)"
++msgstr "Fortran 2003:%L处的 BIND(C)"
+
+ #: fortran/symbol.c:1434
+ #, no-c-format
+ msgid "Symbol '%s' at %L already has an explicit interface"
+-msgstr "符å·â€˜%s’在 %L 处已ç»æœ‰äº†æ˜¾å¼æŽ¥å£"
++msgstr "符å·â€˜%s’在%L处已ç»æœ‰äº†æ˜¾å¼æŽ¥å£"
+
+ #: fortran/symbol.c:1479
+ #, no-c-format
+ msgid "Symbol '%s' at %L cannot have a type"
+-msgstr "符å·â€˜%s’于 %L 处ä¸èƒ½æœ‰ç±»åž‹"
++msgstr "%2$L处的符å·â€˜%1$s’ä¸èƒ½æœ‰ç±»åž‹"
+
+ #: fortran/symbol.c:1636
+ #, no-c-format
+ msgid "Component '%s' at %C already declared at %L"
+-msgstr "组件‘%s’在 %C 处已ç»äºŽ %L 处被声明"
++msgstr "%2$C处的组件‘%1$s’已于 %3$L处被声明"
+
+ #: fortran/symbol.c:1714
+ #, no-c-format
+ msgid "Symbol '%s' at %C is ambiguous"
+-msgstr "符å·â€˜%s’在 %C 处有歧义"
++msgstr "符å·â€˜%s’在%C处有歧义"
+
+ #: fortran/symbol.c:1746
+ #, no-c-format
+@@ -10614,17 +10677,17 @@
+ #: fortran/symbol.c:1774
+ #, no-c-format
+ msgid "'%s' at %C is not a member of the '%s' structure"
+-msgstr "‘%s’在 %C 处ä¸æ˜¯â€˜%s’结构的æˆå‘˜"
++msgstr "‘%s’在%C处ä¸æ˜¯â€˜%s’结构的æˆå‘˜"
+
+ #: fortran/symbol.c:1781
+ #, no-c-format
+ msgid "Component '%s' at %C is a PRIVATE component of '%s'"
+-msgstr "组件‘%s’在 %C 处是‘%s’的 PRIVATE 组件"
++msgstr "组件‘%s’在%C处是‘%s’的 PRIVATE 组件"
+
+ #: fortran/symbol.c:1938
+ #, no-c-format
+ msgid "Duplicate statement label %d at %L and %L"
+-msgstr "é‡å¤çš„语å¥æ ‡å· %d 出现在 %L å’Œ %L 处"
++msgstr "é‡å¤çš„语å¥æ ‡å· %d 出现在 %L å’Œ%L处"
+
+ #: fortran/symbol.c:1948
+ #, no-c-format
+@@ -10662,29 +10725,29 @@
+ msgid "Symbol '%s' at %C has already been host associated"
+ msgstr ""
+
+-#: fortran/symbol.c:3162
++#: fortran/symbol.c:3189
+ #, no-c-format
+ msgid "Derived type '%s' declared at %L must have the BIND attribute to be C interoperable"
+ msgstr ""
+
+-#: fortran/symbol.c:3173
++#: fortran/symbol.c:3200
+ #, no-c-format
+ msgid "Derived type '%s' at %L is empty"
+-msgstr "派生类型‘%s’在 %L 处是空的"
++msgstr "派生类型‘%s’在%L处是空的"
+
+-#: fortran/symbol.c:3190
++#: fortran/symbol.c:3217
+ #, no-c-format
+ msgid "Component '%s' at %L cannot have the POINTER attribute because it is a member of the BIND(C) derived type '%s' at %L"
+ msgstr ""
+
+-#: fortran/symbol.c:3202
++#: fortran/symbol.c:3229
+ #, no-c-format
+ msgid "Component '%s' at %L cannot have the ALLOCATABLE attribute because it is a member of the BIND(C) derived type '%s' at %L"
+ msgstr ""
+
+ #. If the derived type is bind(c), all fields must be
+ #. interop.
+-#: fortran/symbol.c:3241
++#: fortran/symbol.c:3268
+ #, no-c-format
+ msgid "Component '%s' in derived type '%s' at %L may not be C interoperable, even though derived type '%s' is BIND(C)"
+ msgstr ""
+@@ -10692,17 +10755,17 @@
+ #. If derived type is param to bind(c) routine, or to one
+ #. of the iso_c_binding procs, it must be interoperable, so
+ #. all fields must interop too.
+-#: fortran/symbol.c:3250
++#: fortran/symbol.c:3277
+ #, no-c-format
+ msgid "Component '%s' in derived type '%s' at %L may not be C interoperable"
+ msgstr ""
+
+-#: fortran/symbol.c:3264
++#: fortran/symbol.c:3291
+ #, fuzzy, no-c-format
+ msgid "Derived type '%s' at %L cannot be declared with both PRIVATE and BIND(C) attributes"
+ msgstr "%qDä¸èƒ½åœ¨å‘½å空间声明"
+
+-#: fortran/symbol.c:3272
++#: fortran/symbol.c:3299
+ #, fuzzy, no-c-format
+ msgid "Derived type '%s' at %L cannot have the SEQUENCE attribute because it is BIND(C)"
+ msgstr "%L 指定了é‡å¤çš„ SAVE 属性"
+@@ -10712,38 +10775,43 @@
+ msgid "Overlapping unequal initializers in EQUIVALENCE at %L"
+ msgstr ""
+
+-#: fortran/trans-common.c:396
++#: fortran/target-memory.c:635
+ #, no-c-format
++msgid "BOZ constant at %L is too large (%ld vs %ld bits)"
++msgstr ""
++
++#: fortran/trans-common.c:399
++#, no-c-format
+ msgid "Named COMMON block '%s' at %L shall be of the same size"
+ msgstr ""
+
+-#: fortran/trans-common.c:817
++#: fortran/trans-common.c:833
+ #, no-c-format
+ msgid "Bad array reference at %L"
+-msgstr "%L 处数组引用错误"
++msgstr "%L处数组引用错误"
+
+-#: fortran/trans-common.c:825
++#: fortran/trans-common.c:841
+ #, no-c-format
+ msgid "Illegal reference type at %L as EQUIVALENCE object"
+ msgstr ""
+
+-#: fortran/trans-common.c:865
++#: fortran/trans-common.c:881
+ #, no-c-format
+ msgid "Inconsistent equivalence rules involving '%s' at %L and '%s' at %L"
+ msgstr ""
+
+ #. Aligning this field would misalign a previous field.
+-#: fortran/trans-common.c:998
++#: fortran/trans-common.c:1014
+ #, no-c-format
+ msgid "The equivalence set for variable '%s' declared at %L violates alignment requirements"
+ msgstr ""
+
+-#: fortran/trans-common.c:1063
++#: fortran/trans-common.c:1079
+ #, no-c-format
+ msgid "Equivalence for '%s' does not match ordering of COMMON '%s' at %L"
+ msgstr ""
+
+-#: fortran/trans-common.c:1078
++#: fortran/trans-common.c:1094
+ #, no-c-format
+ msgid "The equivalence set for '%s' cause an invalid extension to COMMON '%s' at %L"
+ msgstr ""
+@@ -10751,57 +10819,57 @@
+ #. The required offset conflicts with previous alignment
+ #. requirements. Insert padding immediately before this
+ #. segment.
+-#: fortran/trans-common.c:1089
++#: fortran/trans-common.c:1105
+ #, no-c-format
+ msgid "Padding of %d bytes required before '%s' in COMMON '%s' at %L"
+ msgstr ""
+
+-#: fortran/trans-common.c:1115
++#: fortran/trans-common.c:1131
+ #, no-c-format
+ msgid "COMMON '%s' at %L does not exist"
+-msgstr "COMMON‘%s’在 %L 处并ä¸å­˜åœ¨"
++msgstr "%2$L处的 COMMON‘%1$s’并ä¸å­˜åœ¨"
+
+-#: fortran/trans-common.c:1122
++#: fortran/trans-common.c:1138
+ #, no-c-format
+ msgid "COMMON '%s' at %L requires %d bytes of padding at start"
+ msgstr ""
+
+-#: fortran/trans-decl.c:3016
++#: fortran/trans-decl.c:2979
+ #, fuzzy, no-c-format
+ msgid "Dummy argument '%s' at %L was declared INTENT(OUT) but was not set"
+-msgstr "‘%s’哑元实å‚在 %L 处ä¸èƒ½æ˜¯ INTENT(OUT)"
++msgstr "‘%s’哑元实å‚在%L处ä¸èƒ½æ˜¯ INTENT(OUT)"
+
+-#: fortran/trans-decl.c:3020
++#: fortran/trans-decl.c:2983
+ #, no-c-format
+ msgid "Unused dummy argument '%s' at %L"
+-msgstr "未被使用的哑元实å‚‘%s’在 %L 处"
++msgstr "%2$L处声明了未使用的哑元实å‚‘%1$s’"
+
+-#: fortran/trans-decl.c:3026
++#: fortran/trans-decl.c:2989
+ #, no-c-format
+ msgid "Unused variable '%s' declared at %L"
+-msgstr "未使用的å˜é‡â€˜%s’于 %L 处被声明"
++msgstr "%2$L处声明了未使用的å˜é‡â€˜%1$s’"
+
+-#: fortran/trans-decl.c:3052
++#: fortran/trans-decl.c:3015
+ #, no-c-format
+ msgid "Unused parameter '%s' declared at %L"
+-msgstr "未使用的å‚数‘%s’于 %L 处被声明"
++msgstr "%2$L处声明了未使用的å‚数‘%1$s’"
+
+-#: fortran/trans-expr.c:2036
++#: fortran/trans-expr.c:2199
+ #, no-c-format
+ msgid "Unknown argument list function at %L"
+-msgstr "%L 处å‚数列表函数未知"
++msgstr "%L处å‚数列表函数未知"
+
+ #: fortran/trans-intrinsic.c:829
+ #, fuzzy, no-c-format
+ msgid "'dim' argument of %s intrinsic at %L is not a valid dimension index"
+-msgstr "‘%s’内建函数的‘dim’实å‚(于 %L 处)ä¸æ˜¯ä¸€ä¸ªæœ‰æ•ˆçš„维数索引"
++msgstr "‘%s’内建函数的‘dim’实å‚(于%L处)ä¸æ˜¯ä¸€ä¸ªæœ‰æ•ˆçš„维数索引"
+
+-#: fortran/trans-io.c:1850
+-#, fuzzy, no-c-format
++#: fortran/trans-io.c:1851
++#, no-c-format
+ msgid "Derived type '%s' at %L has PRIVATE components"
+-msgstr "%C 处的派生类型定义没有组件"
++msgstr "%2$L处派生类型‘%1$s’有ç§æœ‰ç»„件"
+
+-#: fortran/trans-stmt.c:438
++#: fortran/trans-stmt.c:436
+ #, no-c-format
+ msgid "An alternate return at %L without a * dummy argument"
+ msgstr "%L ä¸å¸¦ * 哑实å‚的替代返回"
+@@ -10820,7 +10888,7 @@
+
+ #: fortran/trans.c:465 fortran/trans.c:859
+ msgid "Attempt to allocate a negative amount of memory."
+-msgstr ""
++msgstr "试图分é…负数大å°çš„内存"
+
+ #: fortran/trans.c:479
+ msgid "Memory allocation failed"
+@@ -10828,7 +10896,7 @@
+
+ #: fortran/trans.c:567
+ msgid "Attempt to allocate negative amount of memory. Possible integer overflow"
+-msgstr ""
++msgstr "试图分é…负数大å°çš„内存。å¯èƒ½æœ‰æ•´æ•°æº¢å‡º"
+
+ #: fortran/trans.c:598 fortran/trans.c:876
+ msgid "Out of memory"
+@@ -10836,11 +10904,11 @@
+
+ #: fortran/trans.c:678
+ msgid "Attempting to allocate already allocated array"
+-msgstr ""
++msgstr "试图分é…å·²ç»åˆ†é…的数组"
+
+ #: fortran/trans.c:776
+ msgid "Attempt to DEALLOCATE unallocated memory."
+-msgstr ""
++msgstr "试图释放已ç»é‡Šæ”¾çš„内存。"
+
+ #: java/jcf-dump.c:1066
+ #, c-format
+@@ -11024,55 +11092,34 @@
+ msgid "cannot specify 'main' class when not linking"
+ msgstr "ä¸é“¾æŽ¥æ—¶æ— æ³•æŒ‡å®šâ€˜main’类"
+
+-#: config/i386/nwld.h:34
+-msgid "Static linking is not supported.\n"
+-msgstr "ä¸æ”¯æŒé™æ€é“¾æŽ¥ã€‚\n"
+-
+-#: java/jvspec.c:80 gcc.c:820 ada/lang-specs.h:33
+-msgid "-pg and -fomit-frame-pointer are incompatible"
+-msgstr "-pg å’Œ -fomit-frame-pointer 互ä¸å…¼å®¹"
+-
+ #: config/vax/netbsd-elf.h:41
+ msgid "the -shared option is not currently supported for VAX ELF"
+ msgstr "-shared 选项目å‰åœ¨ VAX ELF 下ä¸å—支æŒ"
+
+-#: config/sparc/sol2-gld-bi.h:17 config/sparc/sol2-gld-bi.h:22
+-#: config/sparc/sol2-bi.h:189 config/sparc/sol2-bi.h:194
+-msgid "does not support multilib"
+-msgstr "ä¸æ”¯æŒ multilib"
+-
+ #: config/vax/vax.h:49 config/vax/vax.h:50
+ msgid "profiling not supported with -mg\n"
+ msgstr "å–æ ·ä¸æ”¯æŒ -mg\n"
+
+-#: config/rs6000/linux64.h:347 config/rs6000/linux64.h:349 config/linux.h:106
+-#: config/linux.h:108 config/rs6000/sysv4.h:897 config/rs6000/sysv4.h:899
++#: config/sh/sh.h:461
++msgid "SH2a does not support little-endian"
++msgstr "SH2a ä¸æ”¯æŒä½Žä½å­—节在å‰"
++
++#: config/s390/tpf.h:119
++msgid "static is not supported on TPF-OS"
++msgstr "TPF-OS ä¸æ”¯æŒ static"
++
+ #: config/alpha/linux-elf.h:33 config/alpha/linux-elf.h:35
++#: config/rs6000/sysv4.h:897 config/rs6000/sysv4.h:899
+ #: config/sparc/linux.h:126 config/sparc/linux.h:128
+-#: config/sparc/linux64.h:152 config/sparc/linux64.h:154
++#: config/sparc/linux64.h:152 config/sparc/linux64.h:154 config/linux.h:106
++#: config/linux.h:108 config/rs6000/linux64.h:347 config/rs6000/linux64.h:349
+ msgid "-mglibc and -muclibc used together"
+ msgstr "-mglibc å’Œ -muclibc ä¸èƒ½ä¸€èµ·ä½¿ç”¨"
+
+-#: config/i386/cygwin.h:28
+-msgid "mno-cygwin and mno-win32 are not compatible"
+-msgstr "mno-cygwin å’Œ mno-win32 互ä¸å…¼å®¹"
++#: java/jvspec.c:80 gcc.c:820 ada/lang-specs.h:33
++msgid "-pg and -fomit-frame-pointer are incompatible"
++msgstr "-pg å’Œ -fomit-frame-pointer 互ä¸å…¼å®¹"
+
+-#: config/i386/cygwin.h:74 config/i386/mingw32.h:74
+-msgid "shared and mdll are not compatible"
+-msgstr "shared å’Œ mdll 互ä¸å…¼å®¹"
+-
+-#: config/i386/sco5.h:188
+-msgid "-pg not supported on this platform"
+-msgstr "-pg 在此平å°ä¸Šä¸å—支æŒ"
+-
+-#: config/i386/sco5.h:189
+-msgid "-p and -pp specified - pick one"
+-msgstr "指定了 -p 和 -pp - 选择其中之一"
+-
+-#: config/i386/sco5.h:258
+-msgid "-G and -static are mutually exclusive"
+-msgstr "ä¸èƒ½åŒæ—¶ä½¿ç”¨ -G å’Œ --static 选项"
+-
+ #: gcc.c:792
+ msgid "GCC does not support -C or -CC without -E"
+ msgstr "GCC åªå…许 -E 与 -C 或 -CC åˆç”¨"
+@@ -11081,58 +11128,14 @@
+ msgid "-E or -x required when input is from standard input"
+ msgstr "当输入æ¥è‡ªæ ‡å‡†è¾“å…¥è®¾å¤‡æ—¶ï¼Œéœ€è¦ -E 或 -x"
+
+-#: java/lang-specs.h:33
+-msgid "-fjni and -femit-class-files are incompatible"
+-msgstr "-fjni å’Œ -femit-class-files 互ä¸å…¼å®¹"
+-
+-#: java/lang-specs.h:34
+-msgid "-fjni and -femit-class-file are incompatible"
+-msgstr "-fjni 与 -femit-class-file ä¸å…¼å®¹"
+-
+-#: java/lang-specs.h:35 java/lang-specs.h:36
+-msgid "-femit-class-file should used along with -fsyntax-only"
+-msgstr "-femit-class-file 应当与 -fsyntax-only 一起使用"
+-
+ #: config/mcore/mcore.h:56
+ msgid "the m210 does not have little endian support"
+ msgstr "m210 ä¸æ”¯æŒä½Žä½å­—节在å‰"
+
+-#: config/lynx.h:70
+-msgid "cannot use mthreads and mlegacy-threads together"
+-msgstr "ä¸èƒ½åŒæ—¶ä½¿ç”¨ mthreads å’Œ mlegacy-threads"
+-
+-#: config/lynx.h:95
+-msgid "cannot use mshared and static together"
+-msgstr "ä¸èƒ½åŒæ—¶ä½¿ç”¨ mshared å’Œ static"
+-
+-#: config/sh/sh.h:461
+-msgid "SH2a does not support little-endian"
+-msgstr "SH2a ä¸æ”¯æŒä½Žä½å­—节在å‰"
+-
+-#: config/mips/mips.h:1042 config/arc/arc.h:61
++#: config/arc/arc.h:61 config/mips/mips.h:1042
+ msgid "may not use both -EB and -EL"
+ msgstr "ä¸èƒ½åŒæ—¶ä½¿ç”¨ -EB å’Œ -EL"
+
+-#: config/s390/tpf.h:119
+-msgid "static is not supported on TPF-OS"
+-msgstr "TPF-OS ä¸æ”¯æŒ static"
+-
+-#: config/rs6000/darwin.h:95
+-msgid " conflicting code gen style switches are used"
+-msgstr " 冲çªçš„代ç ç”Ÿæˆé€‰é¡¹"
+-
+-#: ada/lang-specs.h:34
+-msgid "-c or -S required for Ada"
+-msgstr "Ada éœ€è¦ -c 或者 -S"
+-
+-#: config/mips/r3900.h:34
+-msgid "-mhard-float not supported"
+-msgstr "ä¸æ”¯æŒ -mhard-float"
+-
+-#: config/mips/r3900.h:36
+-msgid "-msingle-float and -msoft-float cannot both be specified"
+-msgstr "ä¸èƒ½åŒæ—¶æŒ‡å®š -msingle-float å’Œ -msoft-float"
+-
+ #: config/vxworks.h:71
+ msgid "-Xbind-now and -Xbind-lazy are incompatible"
+ msgstr "-Xbind-now 与 -Xbind-lazy ä¸å…¼å®¹"
+@@ -11169,12 +11172,24 @@
+ msgid "-private_bundle not allowed with -dynamiclib"
+ msgstr "-private_bundle ä¸èƒ½å’Œ -dynamiclib 一起使用"
+
++#: config/mips/r3900.h:34
++msgid "-mhard-float not supported"
++msgstr "ä¸æ”¯æŒ -mhard-float"
++
++#: config/mips/r3900.h:36
++msgid "-msingle-float and -msoft-float cannot both be specified"
++msgstr "ä¸èƒ½åŒæ—¶æŒ‡å®š -msingle-float å’Œ -msoft-float"
++
+ #: config/sparc/linux64.h:211 config/sparc/linux64.h:222
+ #: config/sparc/netbsd-elf.h:125 config/sparc/netbsd-elf.h:144
+ #: config/sparc/sol2-bi.h:217 config/sparc/sol2-bi.h:227
+ msgid "may not use both -m32 and -m64"
+ msgstr "ä¸èƒ½åŒæ—¶ä½¿ç”¨ -m32 å’Œ -m64"
+
++#: config/i386/mingw32.h:74 config/i386/cygwin.h:74
++msgid "shared and mdll are not compatible"
++msgstr "shared å’Œ mdll 互ä¸å…¼å®¹"
++
+ #: config/arm/arm.h:147
+ msgid "-msoft-float and -mhard_float may not be used together"
+ msgstr "-msoft-float å’Œ -mhard_float ä¸èƒ½ä¸€èµ·ä½¿ç”¨"
+@@ -11183,118 +11198,63 @@
+ msgid "-mbig-endian and -mlittle-endian may not be used together"
+ msgstr "-mbig-endian å’Œ -mlittle-endian ä¸èƒ½ä¸€èµ·ä½¿ç”¨"
+
+-#: java/lang.opt:65
+-msgid "Warn if a deprecated compiler feature, class, method, or field is used"
+-msgstr "使用ä¸å»ºè®®çš„编译器特性ã€ç±»ã€æ–¹æ³•æˆ–字段时给出警告"
++#: config/rs6000/darwin.h:95
++msgid " conflicting code gen style switches are used"
++msgstr " 冲çªçš„代ç ç”Ÿæˆé€‰é¡¹"
+
+-#: java/lang.opt:69
+-msgid "Warn if deprecated empty statements are found"
+-msgstr "å‘现ä¸å»ºè®®ä½¿ç”¨çš„空语å¥æ—¶ç»™å‡ºè­¦å‘Š"
++#: ada/lang-specs.h:34
++msgid "-c or -S required for Ada"
++msgstr "Ada éœ€è¦ -c 或者 -S"
+
+-#: java/lang.opt:73
+-msgid "Warn if .class files are out of date"
+-msgstr "当 .class 文件已过时时给出警告"
++#: config/sparc/sol2-bi.h:189 config/sparc/sol2-bi.h:194
++#: config/sparc/sol2-gld-bi.h:17 config/sparc/sol2-gld-bi.h:22
++msgid "does not support multilib"
++msgstr "ä¸æ”¯æŒ multilib"
+
+-#: java/lang.opt:77
+-msgid "Warn if modifiers are specified when not necessary"
+-msgstr "当指定了ä¸å¿…须的修饰符时给出警告"
++#: config/i386/nwld.h:34
++msgid "Static linking is not supported.\n"
++msgstr "ä¸æ”¯æŒé™æ€é“¾æŽ¥ã€‚\n"
+
+-#: java/lang.opt:81
+-msgid "Deprecated; use --classpath instead"
+-msgstr "ä¸å»ºè®®ä½¿ç”¨ï¼›è¯·æ”¹ç”¨ --classpath"
++#: config/i386/cygwin.h:28
++msgid "mno-cygwin and mno-win32 are not compatible"
++msgstr "mno-cygwin å’Œ mno-win32 互ä¸å…¼å®¹"
+
+-#: java/lang.opt:88
+-msgid "Permit the use of the assert keyword"
+-msgstr "å…许使用 assert 关键字"
++#: config/i386/sco5.h:188
++msgid "-pg not supported on this platform"
++msgstr "-pg 在此平å°ä¸Šä¸å—支æŒ"
+
+-#: java/lang.opt:110
+-msgid "Replace system path"
+-msgstr "替æ¢ç³»ç»Ÿè·¯å¾„"
++#: config/i386/sco5.h:189
++msgid "-p and -pp specified - pick one"
++msgstr "指定了 -p 和 -pp - 选择其中之一"
+
+-#: java/lang.opt:114
+-msgid "Generate checks for references to NULL"
+-msgstr "æ£€æŸ¥æŒ‡å‘ NULL 的引用"
++#: config/i386/sco5.h:258
++msgid "-G and -static are mutually exclusive"
++msgstr "ä¸èƒ½åŒæ—¶ä½¿ç”¨ -G å’Œ --static 选项"
+
+-#: java/lang.opt:118
+-msgid "Set class path"
+-msgstr "设置类路径"
++#: java/lang-specs.h:33
++msgid "-fjni and -femit-class-files are incompatible"
++msgstr "-fjni å’Œ -femit-class-files 互ä¸å…¼å®¹"
+
+-#: java/lang.opt:125
+-msgid "Output a class file"
+-msgstr "输出一个 class 文件"
++#: java/lang-specs.h:34
++msgid "-fjni and -femit-class-file are incompatible"
++msgstr "-fjni 与 -femit-class-file ä¸å…¼å®¹"
+
+-#: java/lang.opt:129
+-msgid "Alias for -femit-class-file"
+-msgstr "-fmit-class-file 的别å"
++#: java/lang-specs.h:35 java/lang-specs.h:36
++msgid "-femit-class-file should used along with -fsyntax-only"
++msgstr "-femit-class-file 应当与 -fsyntax-only 一起使用"
+
+-#: java/lang.opt:133
+-msgid "Choose input encoding (defaults from your locale)"
+-msgstr "选择输入编ç (默认æ¥è‡ªæ‚¨çš„区域选项)"
++#: config/cris/cris.h:207
++msgid "Do not specify both -march=... and -mcpu=..."
++msgstr "ä¸èƒ½åŒæ—¶æŒ‡å®š -march=... å’Œ -mcpu=..."
+
+-#: java/lang.opt:137
+-msgid "Set the extension directory path"
+-msgstr "设定扩展目录路径"
++#: config/lynx.h:70
++msgid "cannot use mthreads and mlegacy-threads together"
++msgstr "ä¸èƒ½åŒæ—¶ä½¿ç”¨ mthreads å’Œ mlegacy-threads"
+
+-#: java/lang.opt:144
+-msgid "Input file is a file with a list of filenames to compile"
+-msgstr "输入文件是一个文件å列表,指定了需è¦ç¼–译的文件"
++#: config/lynx.h:95
++msgid "cannot use mshared and static together"
++msgstr "ä¸èƒ½åŒæ—¶ä½¿ç”¨ mshared å’Œ static"
+
+-#: java/lang.opt:151
+-msgid "Always check for non gcj generated classes archives"
+-msgstr "æ€»æ˜¯æ£€æŸ¥éž gcj 生æˆçš„类文档"
+-
+-#: java/lang.opt:155
+-msgid "Assume the runtime uses a hash table to map an object to its synchronization structure"
+-msgstr "å‡å®šè¿è¡Œæ—¶ä½¿ç”¨ä¸€å¼ æ•£åˆ—表完æˆä»Žå¯¹è±¡åˆ°å…¶åŒæ­¥ç»“构的映射"
+-
+-#: java/lang.opt:159
+-msgid "Generate instances of Class at runtime"
+-msgstr "在è¿è¡Œæ—¶ç”Ÿæˆç±»çš„实例"
+-
+-#: java/lang.opt:163
+-msgid "Use offset tables for virtual method calls"
+-msgstr "为虚方法调用使用å移表"
+-
+-#: java/lang.opt:170
+-msgid "Assume native functions are implemented using JNI"
+-msgstr "å‡å®šæœ¬åœ°å‡½æ•°ä½¿ç”¨ JNI 实现"
+-
+-#: java/lang.opt:174
+-msgid "Enable optimization of static class initialization code"
+-msgstr "å¯ç”¨é™æ€ç±»åˆå§‹ä»£ç ä¼˜åŒ–"
+-
+-#: java/lang.opt:181
+-msgid "Reduce the amount of reflection meta-data generated"
+-msgstr "å‡å°‘生æˆçš„å射元数æ®"
+-
+-#: java/lang.opt:185
+-msgid "Enable assignability checks for stores into object arrays"
+-msgstr "存储到对象数组时进行å¯èµ‹å€¼æ€§æ£€æŸ¥"
+-
+-#: java/lang.opt:189
+-msgid "Generate code for the Boehm GC"
+-msgstr "为 Boehm 生æˆä»£ç "
+-
+-#: java/lang.opt:193
+-msgid "Call a library routine to do integer divisions"
+-msgstr "调用一个库å­ç¨‹åºæ¥å®Œæˆæ•´æ•°é™¤æ³•"
+-
+-#: java/lang.opt:197
+-msgid "Generated should be loaded by bootstrap loader"
+-msgstr "生æˆçš„ç±»å¯è¢«è‡ªä¸¾åŠ è½½"
+-
+-#: java/lang.opt:201
+-msgid "Set the source language version"
+-msgstr "设定æºè¯­è¨€ç‰ˆæœ¬"
+-
+-#: java/lang.opt:205
+-msgid "Set the target VM version"
+-msgstr "指定目标虚拟机的版本"
+-
+-#: ada/lang.opt:96
+-msgid "Specify options to GNAT"
+-msgstr "指定传递给 GNAT 的选项"
+-
+ #: fortran/lang.opt:29
+ msgid "Add a directory for INCLUDE and MODULE searching"
+ msgstr "将一个目录添加到 INCLUDE å’Œ MODULE æœç´¢è·¯å¾„中"
+@@ -11345,7 +11305,7 @@
+
+ #: fortran/lang.opt:81
+ msgid "All intrinsics procedures are available regardless of selected standard"
+-msgstr "无论选择何ç§æ ‡å‡†ï¼Œæ‰€æœ‰å†…建进程å‡å¯ç”¨"
++msgstr "无论选择何ç§æ ‡å‡†ï¼Œæ‰€æœ‰å†…建过程å‡å¯ç”¨"
+
+ #: fortran/lang.opt:89
+ msgid "Do not treat local variables and COMMON blocks as if they were named in SAVE statements"
+@@ -11361,7 +11321,7 @@
+
+ #: fortran/lang.opt:101
+ msgid "-fblas-matmul-limit=<n> Size of the smallest matrix for which matmul will use BLAS"
+-msgstr ""
++msgstr "-fblas-matmul-limit=<n> 使用 BLAS 进行矩阵乘法的矩阵大å°ä¸‹é™"
+
+ #: fortran/lang.opt:105
+ msgid "Use big-endian format for unformatted files"
+@@ -11409,7 +11369,7 @@
+
+ #: fortran/lang.opt:149
+ msgid "Dump a core file when a runtime error occurs"
+-msgstr ""
++msgstr "é‡åˆ°è¿è¡Œæ—¶é”™è¯¯æ—¶è½¬å‚¨æ ¸å¿ƒæ–‡ä»¶"
+
+ #: fortran/lang.opt:153
+ msgid "Display the code tree after parsing"
+@@ -11525,7 +11485,7 @@
+
+ #: fortran/lang.opt:265
+ msgid "Allocate local variables on the stack to allow indirect recursion"
+-msgstr ""
++msgstr "在堆栈上分é…局部å˜é‡ä»¥å…许间接递归"
+
+ #: fortran/lang.opt:269
+ msgid "Copy array sections into a contiguous block on procedure entry"
+@@ -11535,13 +11495,13 @@
+ msgid "Append a second underscore if the name already contains an underscore"
+ msgstr "当åå­—å·²ç»åŒ…å«ä¸€ä¸ªä¸‹åˆ’线时添加第二个下划线"
+
+-#: fortran/lang.opt:277 c.opt:714
++#: fortran/lang.opt:277 c.opt:718
+ msgid "Use the narrowest integer type possible for enumeration types"
+ msgstr "为枚举类型使用尽å¯èƒ½çª„的整数类型"
+
+ #: fortran/lang.opt:281
+ msgid "Apply negative sign to zero values"
+-msgstr ""
++msgstr "在零值å‰ä½¿ç”¨è´Ÿå·"
+
+ #: fortran/lang.opt:285
+ msgid "Append underscores to externally visible names"
+@@ -11549,7 +11509,7 @@
+
+ #: fortran/lang.opt:289
+ msgid "Statically link the GNU Fortran helper library (libgfortran)"
+-msgstr ""
++msgstr "é™æ€é“¾æŽ¥ GNU Fortran 助手库(libgfortran)"
+
+ #: fortran/lang.opt:293
+ msgid "Conform to the ISO Fortran 2003 standard"
+@@ -11567,14 +11527,62 @@
+ msgid "Accept extensions to support legacy code"
+ msgstr "接å—一定的扩展以支æŒä¼ ç»Ÿçš„代ç "
+
+-#: treelang/lang.opt:30
+-msgid "Trace lexical analysis"
+-msgstr "跟踪è¯æ³•åˆ†æž"
++#: config/mcore/mcore.opt:23
++msgid "Generate code for the M*Core M210"
++msgstr "为 M*Core M210 生æˆä»£ç "
+
+-#: treelang/lang.opt:34
+-msgid "Trace the parsing process"
+-msgstr "跟踪解æžè¿›ç¨‹"
++#: config/mcore/mcore.opt:27
++msgid "Generate code for the M*Core M340"
++msgstr "为 M*Core M340 生æˆä»£ç "
+
++#: config/mcore/mcore.opt:31
++msgid "Set maximum alignment to 4"
++msgstr "设定最大对é½è¾¹ç•Œä¸º 4"
++
++#: config/mcore/mcore.opt:35
++msgid "Force functions to be aligned to a 4 byte boundary"
++msgstr "将函数强行对é½åˆ° 4 字节边界上"
++
++#: config/mcore/mcore.opt:39
++msgid "Set maximum alignment to 8"
++msgstr "设定最大对é½è¾¹ç•Œä¸º 8"
++
++#: config/mcore/mcore.opt:43 config/score/score.opt:23
++msgid "Generate big-endian code"
++msgstr "生æˆé«˜ä½å­—节在å‰çš„代ç "
++
++#: config/mcore/mcore.opt:47
++msgid "Emit call graph information"
++msgstr "生æˆè°ƒç”¨å›¾ä¿¡æ¯"
++
++#: config/mcore/mcore.opt:51
++msgid "Use the divide instruction"
++msgstr "使用除法指令"
++
++#: config/mcore/mcore.opt:55
++msgid "Inline constants if it can be done in 2 insns or less"
++msgstr "当常é‡å¯ä»¥ä¸ºä¸¤ä¸ªä»¥ä¸‹çš„指令生æˆæ—¶å†…è”常é‡"
++
++#: config/mcore/mcore.opt:59 config/score/score.opt:27
++msgid "Generate little-endian code"
++msgstr "生æˆä½Žä½å­—节在å‰çš„代ç "
++
++#: config/mcore/mcore.opt:67
++msgid "Use arbitrary sized immediates in bit operations"
++msgstr "在ä½æ“作中使用任æ„大å°çš„ç«‹å³æ•°"
++
++#: config/mcore/mcore.opt:71
++msgid "Prefer word accesses over byte accesses"
++msgstr "å°½é‡æŒ‰å­—访问而ä¸æ˜¯æŒ‰å­—节访问"
++
++#: config/mcore/mcore.opt:75
++msgid "Set the maximum amount for a single stack increment operation"
++msgstr ""
++
++#: config/mcore/mcore.opt:79
++msgid "Always treat bitfields as int-sized"
++msgstr "总认为ä½æ®µé•¿ä¸Ž int 相åŒ"
++
+ #: config/alpha/alpha.opt:23 config/i386/i386.opt:155
+ msgid "Do not use hardware fp"
+ msgstr "ä¸ä½¿ç”¨ç¡¬ä»¶æµ®ç‚¹å•å…ƒ"
+@@ -11649,7 +11657,7 @@
+
+ #: config/alpha/alpha.opt:98
+ msgid "Emit rdval instead of rduniq for thread pointer"
+-msgstr ""
++msgstr "使用 rdval è€Œéž rduniq æ¥å¾—到线程指针"
+
+ #: config/alpha/alpha.opt:102 config/s390/s390.opt:59
+ #: config/sparc/long-double-switch.opt:23
+@@ -11690,268 +11698,6 @@
+ msgid "Specify bit size of immediate TLS offsets"
+ msgstr "指定线程局部存储å移é‡ç«‹å³æ•°çš„ä½å¤§å°"
+
+-#: config/frv/frv.opt:23
+-msgid "Use 4 media accumulators"
+-msgstr "使用 4 个多媒体累加器"
+-
+-#: config/frv/frv.opt:27
+-msgid "Use 8 media accumulators"
+-msgstr "使用 8 个多媒体累加器"
+-
+-#: config/frv/frv.opt:31
+-msgid "Enable label alignment optimizations"
+-msgstr "å¯ç”¨æ ‡å·å¯¹é½ä¼˜åŒ–"
+-
+-#: config/frv/frv.opt:35
+-msgid "Dynamically allocate cc registers"
+-msgstr "动æ€åˆ†é… cc 寄存器"
+-
+-#: config/frv/frv.opt:42
+-msgid "Set the cost of branches"
+-msgstr "设定分支的开销"
+-
+-#: config/frv/frv.opt:46
+-msgid "Enable conditional execution other than moves/scc"
+-msgstr "å¯ç”¨æ¡ä»¶æ‰§è¡Œè€Œéž moves/scc"
+-
+-#: config/frv/frv.opt:50
+-msgid "Change the maximum length of conditionally-executed sequences"
+-msgstr "改å˜æ¡ä»¶æ‰§è¡Œåºåˆ—的最大长度"
+-
+-#: config/frv/frv.opt:54
+-msgid "Change the number of temporary registers that are available to conditionally-executed sequences"
+-msgstr "改å˜ç”¨äºŽæ¡ä»¶æ‰§è¡Œåºåˆ—的临时寄存器数é‡"
+-
+-#: config/frv/frv.opt:58
+-msgid "Enable conditional moves"
+-msgstr "å¯ç”¨æ¡ä»¶è½¬ç§»"
+-
+-#: config/frv/frv.opt:62
+-msgid "Set the target CPU type"
+-msgstr "指定目标 CPU 的类型"
+-
+-#: config/frv/frv.opt:84
+-msgid "Use fp double instructions"
+-msgstr "使用浮点åŒç²¾åº¦æŒ‡ä»¤"
+-
+-#: config/frv/frv.opt:88
+-msgid "Change the ABI to allow double word insns"
+-msgstr "æ”¹å˜ ABI 以å…许åŒå­—指令"
+-
+-#: config/frv/frv.opt:92 config/bfin/bfin.opt:73
+-msgid "Enable Function Descriptor PIC mode"
+-msgstr "å¯ç”¨å‡½æ•°æ述符 PIC 模å¼"
+-
+-#: config/frv/frv.opt:96
+-msgid "Just use icc0/fcc0"
+-msgstr "åªä½¿ç”¨ icc0/fcc0"
+-
+-#: config/frv/frv.opt:100
+-msgid "Only use 32 FPRs"
+-msgstr "åªä½¿ç”¨ 32 个浮点寄存器"
+-
+-#: config/frv/frv.opt:104
+-msgid "Use 64 FPRs"
+-msgstr "使用 64 个浮点寄存器"
+-
+-#: config/frv/frv.opt:108
+-msgid "Only use 32 GPRs"
+-msgstr "åªä½¿ç”¨ 32 个通用寄存器"
+-
+-#: config/frv/frv.opt:112
+-msgid "Use 64 GPRs"
+-msgstr "使用 64 个通用寄存器"
+-
+-#: config/frv/frv.opt:116
+-msgid "Enable use of GPREL for read-only data in FDPIC"
+-msgstr ""
+-
+-#: config/frv/frv.opt:120 config/rs6000/rs6000.opt:112
+-#: config/pdp11/pdp11.opt:71
+-msgid "Use hardware floating point"
+-msgstr "使用硬件浮点å•å…ƒ"
+-
+-#: config/frv/frv.opt:124 config/bfin/bfin.opt:77
+-msgid "Enable inlining of PLT in function calls"
+-msgstr "为函数调用å¯ç”¨ PLT 的内è”"
+-
+-#: config/frv/frv.opt:128
+-msgid "Enable PIC support for building libraries"
+-msgstr "å¯ç”¨å¯¹åº“çš„ PIC 支æŒ"
+-
+-#: config/frv/frv.opt:132
+-msgid "Follow the EABI linkage requirements"
+-msgstr "éµå¾ª EABI 链接è¦æ±‚"
+-
+-#: config/frv/frv.opt:136
+-msgid "Disallow direct calls to global functions"
+-msgstr "ä¸å…许直接调用全局函数"
+-
+-#: config/frv/frv.opt:140
+-msgid "Use media instructions"
+-msgstr "使用多媒体指令"
+-
+-#: config/frv/frv.opt:144
+-msgid "Use multiply add/subtract instructions"
+-msgstr "使用乘加/å‡æŒ‡ä»¤"
+-
+-#: config/frv/frv.opt:148
+-msgid "Enable optimizing &&/|| in conditional execution"
+-msgstr "å¯ç”¨å¯¹æ¡ä»¶æ‰§è¡Œ && 或 || 的优化"
+-
+-#: config/frv/frv.opt:152
+-msgid "Enable nested conditional execution optimizations"
+-msgstr "å¯ç”¨å¯¹åµŒå¥—æ¡ä»¶æ‰§è¡Œçš„优化"
+-
+-#: config/frv/frv.opt:157
+-msgid "Do not mark ABI switches in e_flags"
+-msgstr "ä¸åœ¨ e_flags 中标记 ABI 开关"
+-
+-#: config/frv/frv.opt:161
+-msgid "Remove redundant membars"
+-msgstr "删除冗余æˆå‘˜"
+-
+-#: config/frv/frv.opt:165
+-msgid "Pack VLIW instructions"
+-msgstr "打包 VLIW 指令"
+-
+-#: config/frv/frv.opt:169
+-msgid "Enable setting GPRs to the result of comparisons"
+-msgstr "å¯ç”¨å°†é€šç”¨å¯„存器设为比较结果"
+-
+-#: config/frv/frv.opt:173
+-msgid "Change the amount of scheduler lookahead"
+-msgstr ""
+-
+-#: config/frv/frv.opt:177 config/pa/pa.opt:104
+-msgid "Use software floating point"
+-msgstr "使用软件浮点å•å…ƒ"
+-
+-#: config/frv/frv.opt:181
+-msgid "Assume a large TLS segment"
+-msgstr "å‡å®šå¤§çš„线程局部存储段"
+-
+-#: config/frv/frv.opt:185
+-msgid "Do not assume a large TLS segment"
+-msgstr "ä¸å‡å®šå¤§çš„ TLS 段"
+-
+-#: config/frv/frv.opt:190
+-msgid "Cause gas to print tomcat statistics"
+-msgstr "让 gas æ‰“å° tomcat 统计"
+-
+-#: config/frv/frv.opt:195
+-msgid "Link with the library-pic libraries"
+-msgstr ""
+-
+-#: config/frv/frv.opt:199
+-msgid "Allow branches to be packed with other instructions"
+-msgstr ""
+-
+-#: config/mn10300/mn10300.opt:23
+-msgid "Target the AM33 processor"
+-msgstr "目标为 AM33 处ç†å™¨"
+-
+-#: config/mn10300/mn10300.opt:27
+-msgid "Target the AM33/2.0 processor"
+-msgstr "目标为 AM33/2.0 处ç†å™¨"
+-
+-#: config/mn10300/mn10300.opt:31
+-msgid "Work around hardware multiply bug"
+-msgstr "为硬件乘法缺陷æä¾›å˜é€š"
+-
+-#: config/mn10300/mn10300.opt:36
+-msgid "Enable linker relaxations"
+-msgstr "å¯ç”¨é“¾æŽ¥å™¨æ¾å¼›"
+-
+-#: config/mn10300/mn10300.opt:40
+-msgid "Return pointers in both a0 and d0"
+-msgstr "在 a0 和 d0 中返回指针"
+-
+-#: config/s390/tpf.opt:23
+-msgid "Enable TPF-OS tracing code"
+-msgstr "å¯ç”¨ TPF-OS 追踪代ç "
+-
+-#: config/s390/tpf.opt:27
+-msgid "Specify main object for TPF-OS"
+-msgstr ""
+-
+-#: config/s390/s390.opt:23
+-msgid "31 bit ABI"
+-msgstr "31 ä½ ABI"
+-
+-#: config/s390/s390.opt:27
+-msgid "64 bit ABI"
+-msgstr "64 ä½ ABI"
+-
+-#: config/s390/s390.opt:31 config/i386/i386.opt:59 config/spu/spu.opt:60
+-msgid "Generate code for given CPU"
+-msgstr "为给定的 CPU 生æˆä»£ç "
+-
+-#: config/s390/s390.opt:35
+-msgid "Maintain backchain pointer"
+-msgstr "维护链回上层堆栈框架的指针"
+-
+-#: config/s390/s390.opt:39
+-msgid "Additional debug prints"
+-msgstr "附加的调试输出"
+-
+-#: config/s390/s390.opt:43
+-msgid "ESA/390 architecture"
+-msgstr "ESA/390 结构"
+-
+-#: config/s390/s390.opt:47
+-msgid "Enable fused multiply/add instructions"
+-msgstr "å¯ç”¨èžåˆçš„乘加指令"
+-
+-#: config/s390/s390.opt:51
+-msgid "Enable decimal floating point hardware support"
+-msgstr "å¯ç”¨ç¡¬ä»¶å进制浮点支æŒ"
+-
+-#: config/s390/s390.opt:55
+-msgid "Enable hardware floating point"
+-msgstr "å¯ç”¨ç¡¬ä»¶æµ®ç‚¹å•å…ƒ"
+-
+-#: config/s390/s390.opt:67
+-msgid "Use packed stack layout"
+-msgstr "使用紧实的堆栈布局"
+-
+-#: config/s390/s390.opt:71
+-msgid "Use bras for executable < 64k"
+-msgstr "为å°äºŽ 64k çš„å¯æ‰§è¡Œæ–‡ä»¶ä½¿ç”¨ bras 指令"
+-
+-#: config/s390/s390.opt:75
+-msgid "Disable hardware floating point"
+-msgstr "ç¦ç”¨ç¡¬ä»¶æµ®ç‚¹å•å…ƒ"
+-
+-#: config/s390/s390.opt:79
+-msgid "Set the max. number of bytes which has to be left to stack size before a trap instruction is triggered"
+-msgstr ""
+-
+-#: config/s390/s390.opt:83
+-msgid "Emit extra code in the function prologue in order to trap if the stack size exceeds the given limit"
+-msgstr "在函数å‰è¨€ä¸­ç”Ÿæˆé¢å¤–代ç ä»¥æ•èŽ·å †æ ˆå¤§å°è¶Šé™"
+-
+-#: config/s390/s390.opt:87 config/ia64/ia64.opt:97 config/sparc/sparc.opt:95
+-#: config/i386/i386.opt:183 config/rs6000/rs6000.opt:226 config/spu/spu.opt:64
+-msgid "Schedule code for given CPU"
+-msgstr "为指定的 CPU 优化代ç "
+-
+-#: config/s390/s390.opt:91
+-msgid "mvcle use"
+-msgstr "使用 mvcle"
+-
+-#: config/s390/s390.opt:95
+-msgid "Warn if a function uses alloca or creates an array with dynamic size"
+-msgstr "当函数使用 alloca æ¥åˆ›å»ºå˜é•¿æ•°ç»„时给出警告"
+-
+-#: config/s390/s390.opt:99
+-msgid "Warn if a single function's framesize exceeds the given framesize"
+-msgstr "当å•ä¸ªå‡½æ•°çš„帧大å°è¶…过给定值时给出警告"
+-
+-#: config/s390/s390.opt:103
+-msgid "z/Architecture"
+-msgstr "z/Architecture"
+-
+ #: config/ia64/ilp32.opt:3
+ msgid "Generate ILP32 code"
+ msgstr "ç”Ÿæˆ ILP32 代ç "
+@@ -12040,10 +11786,16 @@
+ msgid "Enable earlier placing stop bits for better scheduling"
+ msgstr "åŠæ—©æ”¾ç½®åœæ­¢ä½ï¼Œä»¥å–得更好的调度效果"
+
+-#: config/ia64/ia64.opt:89 config/spu/spu.opt:56 config/pa/pa.opt:51
++#: config/ia64/ia64.opt:89 config/pa/pa.opt:51 config/spu/spu.opt:56
+ msgid "Specify range of registers to make fixed"
+ msgstr ""
+
++#: config/ia64/ia64.opt:97 config/i386/i386.opt:183
++#: config/rs6000/rs6000.opt:226 config/spu/spu.opt:64 config/s390/s390.opt:87
++#: config/sparc/sparc.opt:95
++msgid "Schedule code for given CPU"
++msgstr "为指定的 CPU 优化代ç "
++
+ #: config/ia64/ia64.opt:101
+ msgid "Use data speculation before reload"
+ msgstr "在é‡åŠ è½½å‰ä½¿ç”¨æ•°æ®æŠ•æœº"
+@@ -12082,344 +11834,306 @@
+
+ #: config/ia64/ia64.opt:137
+ msgid "If set, data speculative instructions will be chosen for schedule only if there are no other choices at the moment "
+-msgstr ""
++msgstr "设定åŽï¼Œä»…当别无选择时æ‰åœ¨è°ƒåº¦ä¸­ä½¿ç”¨æ•°æ®æŠ•æœºæŒ‡ä»¤"
+
+ #: config/ia64/ia64.opt:141
+ msgid "If set, control speculative instructions will be chosen for schedule only if there are no other choices at the moment "
+-msgstr ""
++msgstr "设定åŽï¼Œä»…当别无选择时æ‰åœ¨è°ƒåº¦ä¸­ä½¿ç”¨æŽ§åˆ¶æŠ•æœºæŒ‡ä»¤"
+
+ #: config/ia64/ia64.opt:145
+ msgid "Count speculative dependencies while calculating priority of instructions"
+-msgstr ""
++msgstr "计算指令优先级时计入投机ä¾èµ–"
+
+-#: config/m32c/m32c.opt:24 config/bfin/bfin.opt:23 config/mt/mt.opt:27
+-msgid "Use simulator runtime"
+-msgstr "使用仿真器è¿è¡Œæ—¶"
++#: config/xtensa/xtensa.opt:23
++msgid "Use CONST16 instruction to load constants"
++msgstr "使用 CONST16 指令加载常é‡"
+
+-#: config/m32c/m32c.opt:28
+-msgid "Compile code for R8C variants"
+-msgstr "为 R8C å˜ç§ç¼–译"
++#: config/xtensa/xtensa.opt:27
++msgid "Enable fused multiply/add and multiply/subtract FP instructions"
++msgstr "å¯ç”¨èžåˆçš„乘加和乘å‡æµ®ç‚¹æŒ‡ä»¤"
+
+-#: config/m32c/m32c.opt:32
+-msgid "Compile code for M16C variants"
+-msgstr "为 M16C å˜ç§ç¼–译"
++#: config/xtensa/xtensa.opt:31
++msgid "Use indirect CALLXn instructions for large programs"
++msgstr "为大型程åºä½¿ç”¨é—´æŽ¥ CALLXn 指令"
+
+-#: config/m32c/m32c.opt:36
+-msgid "Compile code for M32CM variants"
+-msgstr "为 M32CM å˜ç§ç¼–译"
++#: config/xtensa/xtensa.opt:35
++msgid "Automatically align branch targets to reduce branch penalties"
++msgstr "自动对é½è·³è½¬ç›®æ ‡ä»¥å‡å°‘分支开销"
+
+-#: config/m32c/m32c.opt:40
+-msgid "Compile code for M32C variants"
+-msgstr "为 M32C å˜ç§ç¼–译"
++#: config/xtensa/xtensa.opt:39
++msgid "Intersperse literal pools with code in the text section"
++msgstr ""
+
+-#: config/m32c/m32c.opt:44
+-msgid "Number of memreg bytes (default: 16, range: 0..16)"
+-msgstr "memreg 字节数(默认:16,范围:0..16)"
++#: config/pa/pa.opt:23 config/pa/pa.opt:76 config/pa/pa.opt:84
++msgid "Generate PA1.0 code"
++msgstr "ç”Ÿæˆ PA1.0 代ç "
+
+-#: config/sparc/little-endian.opt:23
+-msgid "Generate code for little-endian"
+-msgstr "生æˆä½Žä½å­—节在å‰çš„代ç "
++#: config/pa/pa.opt:27 config/pa/pa.opt:88 config/pa/pa.opt:108
++msgid "Generate PA1.1 code"
++msgstr "ç”Ÿæˆ PA1.1 代ç "
+
+-#: config/sparc/little-endian.opt:27
+-msgid "Generate code for big-endian"
+-msgstr "生æˆé«˜ä½å­—节在å‰çš„代ç "
++#: config/pa/pa.opt:31 config/pa/pa.opt:92
++msgid "Generate PA2.0 code (requires binutils 2.10 or later)"
++msgstr "ç”Ÿæˆ PA2.0 代ç (éœ€è¦ binutils 2.10 或更新版本)"
+
+-#: config/sparc/sparc.opt:23 config/sparc/sparc.opt:27
+-msgid "Use hardware FP"
+-msgstr "使用硬件浮点å•å…ƒ"
++#: config/pa/pa.opt:35
++msgid "Generate code for huge switch statements"
++msgstr "为巨型的 switch 语å¥ç”Ÿæˆä»£ç "
+
+-#: config/sparc/sparc.opt:31
+-msgid "Do not use hardware FP"
+-msgstr "ä¸ä½¿ç”¨ç¡¬ä»¶æµ®ç‚¹å•å…ƒ"
++#: config/pa/pa.opt:39
++msgid "Disable FP regs"
++msgstr "ç¦ç”¨æµ®ç‚¹å¯„存器"
+
+-#: config/sparc/sparc.opt:35
+-msgid "Assume possible double misalignment"
+-msgstr "å‡å®šå¯èƒ½çš„两ä¸å¯¹é½"
++#: config/pa/pa.opt:43
++msgid "Disable indexed addressing"
++msgstr "ç¦ç”¨å˜å€å¯»å€"
+
+-#: config/sparc/sparc.opt:39
+-msgid "Pass -assert pure-text to linker"
+-msgstr "将 -assert pure-text 传递给链接器"
++#: config/pa/pa.opt:47
++msgid "Generate fast indirect calls"
++msgstr "生æˆå¿«é€Ÿé—´æŽ¥è°ƒç”¨"
+
+-#: config/sparc/sparc.opt:43
+-msgid "Use ABI reserved registers"
+-msgstr "使用 ABI ä¿ç•™çš„寄存器"
++#: config/pa/pa.opt:55
++msgid "Assume code will be assembled by GAS"
++msgstr "å‡å®šä»£ç å°†ç”± GAS 汇编"
+
+-#: config/sparc/sparc.opt:47
+-msgid "Use hardware quad FP instructions"
+-msgstr "使用硬件四浮点指令"
++#: config/pa/pa.opt:59
++msgid "Put jumps in call delay slots"
++msgstr "将跳转放置在延迟调用槽内"
+
+-#: config/sparc/sparc.opt:51
+-msgid "Do not use hardware quad fp instructions"
+-msgstr "ä¸ä½¿ç”¨ç¡¬ä»¶å››æµ®ç‚¹æŒ‡ä»¤"
++#: config/pa/pa.opt:64
++msgid "Enable linker optimizations"
++msgstr "å¯ç”¨é“¾æŽ¥å™¨ä¼˜åŒ–"
+
+-#: config/sparc/sparc.opt:55
+-msgid "Compile for V8+ ABI"
+-msgstr "为 V8+ ABI 编译"
++#: config/pa/pa.opt:68
++msgid "Always generate long calls"
++msgstr "总是生æˆè¿œè°ƒç”¨"
+
+-#: config/sparc/sparc.opt:59
+-msgid "Use UltraSPARC Visual Instruction Set extensions"
+-msgstr "使用 UltraSPARC å¯è§†åŒ–指令集"
++#: config/pa/pa.opt:72
++msgid "Emit long load/store sequences"
++msgstr "生æˆé•¿è¯»/写åºåˆ—"
+
+-#: config/sparc/sparc.opt:63
+-msgid "Pointers are 64-bit"
+-msgstr "指针是 64 ä½"
++#: config/pa/pa.opt:80
++msgid "Disable space regs"
++msgstr "ç¦ç”¨ç©ºé—´å¯„存器"
+
+-#: config/sparc/sparc.opt:67
+-msgid "Pointers are 32-bit"
+-msgstr "指针是 32 ä½"
++#: config/pa/pa.opt:96
++msgid "Use portable calling conventions"
++msgstr "使用一般的调用约定"
+
+-#: config/sparc/sparc.opt:71
+-msgid "Use 64-bit ABI"
+-msgstr "使用 64 ä½ ABI"
++#: config/pa/pa.opt:100
++msgid "Specify CPU for scheduling purposes. Valid arguments are 700, 7100, 7100LC, 7200, 7300, and 8000"
++msgstr "指定调度优化的目标 CPU。有效的选项是 700,7100,7100LC,7200,7300,和 8000"
+
+-#: config/sparc/sparc.opt:75
+-msgid "Use 32-bit ABI"
+-msgstr "使用 32 ä½ ABI"
++#: config/pa/pa.opt:104 config/frv/frv.opt:177
++msgid "Use software floating point"
++msgstr "使用软件浮点å•å…ƒ"
+
+-#: config/sparc/sparc.opt:79
+-msgid "Use stack bias"
+-msgstr "使用堆栈å移"
++#: config/pa/pa.opt:112
++msgid "Do not disable space regs"
++msgstr "ä¸ç¦ç”¨ç©ºé—´å¯„存器"
+
+-#: config/sparc/sparc.opt:83
+-msgid "Use structs on stronger alignment for double-word copies"
+-msgstr "为结构使用更强的对é½ä»¥ä½¿ç”¨åŒå­—å¤åˆ¶"
++#: config/pa/pa-hpux1111.opt:23 config/pa/pa-hpux1010.opt:23
++#: config/pa/pa-hpux.opt:27
++msgid "Specify UNIX standard for predefines and linking"
++msgstr "指定用于预定义和链接的 UNIX 标准"
+
+-#: config/sparc/sparc.opt:87
+-msgid "Optimize tail call instructions in assembler and linker"
+-msgstr "在汇编器和链接器中优化尾调用指令"
++#: config/pa/pa64-hpux.opt:23
++msgid "Assume code will be linked by GNU ld"
++msgstr "å‡å®šä»£ç å°†ç”± GNU ld 链接"
+
+-#: config/sparc/sparc.opt:91 config/rs6000/rs6000.opt:222
+-msgid "Use features of and schedule code for given CPU"
+-msgstr "使用指定 CPU 的特性和调度代ç "
++#: config/pa/pa64-hpux.opt:27
++msgid "Assume code will be linked by HP ld"
++msgstr "å‡å®šä»£ç å°†ç”± HP ld 链接"
+
+-#: config/sparc/sparc.opt:99
+-msgid "Use given SPARC-V9 code model"
+-msgstr "使用给定的 SPARC-V9 代ç æ¨¡åž‹"
++#: config/pa/pa-hpux.opt:23
++msgid "Generate cpp defines for server IO"
++msgstr "为æœåŠ¡å™¨ IO ç”Ÿæˆ cpp 定义"
+
+-#: config/sparc/sparc.opt:103
+-msgid "Enable strict 32-bit psABI struct return checking."
+-msgstr "å¯ç”¨ä¸¥æ ¼çš„ 32 ä½ psABI 结构返回检查"
++#: config/pa/pa-hpux.opt:31
++msgid "Generate cpp defines for workstation IO"
++msgstr "为工作站 IO ç”Ÿæˆ cpp 定义"
+
+-#: config/m32r/m32r.opt:23
+-msgid "Compile for the m32rx"
+-msgstr "为 m32rx 编译"
++#: config/frv/frv.opt:23
++msgid "Use 4 media accumulators"
++msgstr "使用 4 个多媒体累加器"
+
+-#: config/m32r/m32r.opt:27
+-msgid "Compile for the m32r2"
+-msgstr "为 m32r2 编译"
++#: config/frv/frv.opt:27
++msgid "Use 8 media accumulators"
++msgstr "使用 8 个多媒体累加器"
+
+-#: config/m32r/m32r.opt:31
+-msgid "Compile for the m32r"
+-msgstr "为 m32r 编译"
++#: config/frv/frv.opt:31
++msgid "Enable label alignment optimizations"
++msgstr "å¯ç”¨æ ‡å·å¯¹é½ä¼˜åŒ–"
+
+-#: config/m32r/m32r.opt:35
+-msgid "Align all loops to 32 byte boundary"
+-msgstr "所有循环对é½åˆ° 32 字节边界上"
++#: config/frv/frv.opt:35
++msgid "Dynamically allocate cc registers"
++msgstr "动æ€åˆ†é… cc 寄存器"
+
+-#: config/m32r/m32r.opt:39
+-msgid "Prefer branches over conditional execution"
+-msgstr "优先使用分支而ä¸æ˜¯æ¡ä»¶æ‰§è¡Œ"
++#: config/frv/frv.opt:42
++msgid "Set the cost of branches"
++msgstr "设定分支的开销"
+
+-#: config/m32r/m32r.opt:43
+-msgid "Give branches their default cost"
+-msgstr "为分支指定默认开销"
++#: config/frv/frv.opt:46
++msgid "Enable conditional execution other than moves/scc"
++msgstr "å¯ç”¨æ¡ä»¶æ‰§è¡Œè€Œéž moves/scc"
+
+-#: config/m32r/m32r.opt:47
+-msgid "Display compile time statistics"
+-msgstr "显示编译时间统计"
++#: config/frv/frv.opt:50
++msgid "Change the maximum length of conditionally-executed sequences"
++msgstr "改å˜æ¡ä»¶æ‰§è¡Œåºåˆ—的最大长度"
+
+-#: config/m32r/m32r.opt:51
+-msgid "Specify cache flush function"
+-msgstr "指定清空缓存的函数"
++#: config/frv/frv.opt:54
++msgid "Change the number of temporary registers that are available to conditionally-executed sequences"
++msgstr "改å˜ç”¨äºŽæ¡ä»¶æ‰§è¡Œåºåˆ—的临时寄存器数é‡"
+
+-#: config/m32r/m32r.opt:55
+-msgid "Specify cache flush trap number"
+-msgstr "指定清空缓存的陷阱å·"
++#: config/frv/frv.opt:58
++msgid "Enable conditional moves"
++msgstr "å¯ç”¨æ¡ä»¶è½¬ç§»"
+
+-#: config/m32r/m32r.opt:59
+-msgid "Only issue one instruction per cycle"
+-msgstr "æ¯å‘¨æœŸåªå‘出一æ¡æŒ‡ä»¤"
++#: config/frv/frv.opt:62
++msgid "Set the target CPU type"
++msgstr "指定目标 CPU 的类型"
+
+-#: config/m32r/m32r.opt:63
+-msgid "Allow two instructions to be issued per cycle"
+-msgstr "å…许æ¯å‘¨æœŸå‘出两æ¡æŒ‡ä»¤"
++#: config/frv/frv.opt:84
++msgid "Use fp double instructions"
++msgstr "使用浮点åŒç²¾åº¦æŒ‡ä»¤"
+
+-#: config/m32r/m32r.opt:67
+-msgid "Code size: small, medium or large"
+-msgstr "代ç å¤§å°ï¼šå°ã€ä¸­æˆ–大"
++#: config/frv/frv.opt:88
++msgid "Change the ABI to allow double word insns"
++msgstr "æ”¹å˜ ABI 以å…许åŒå­—指令"
+
+-#: config/m32r/m32r.opt:71
+-msgid "Don't call any cache flush functions"
+-msgstr "ä¸è°ƒç”¨ä»»ä½•æ¸…空缓存的函数"
++#: config/frv/frv.opt:92 config/bfin/bfin.opt:73
++msgid "Enable Function Descriptor PIC mode"
++msgstr "å¯ç”¨å‡½æ•°æ述符 PIC 模å¼"
+
+-#: config/m32r/m32r.opt:75
+-msgid "Don't call any cache flush trap"
+-msgstr "ä¸è°ƒç”¨ä»»ä½•æ¸…空缓存的陷阱"
++#: config/frv/frv.opt:96
++msgid "Just use icc0/fcc0"
++msgstr "åªä½¿ç”¨ icc0/fcc0"
+
+-#: config/m32r/m32r.opt:82
+-msgid "Small data area: none, sdata, use"
+-msgstr ""
++#: config/frv/frv.opt:100
++msgid "Only use 32 FPRs"
++msgstr "åªä½¿ç”¨ 32 个浮点寄存器"
+
+-#: config/m68k/m68k.opt:23
+-msgid "Generate code for a 520X"
+-msgstr "为 520X 生æˆä»£ç "
++#: config/frv/frv.opt:104
++msgid "Use 64 FPRs"
++msgstr "使用 64 个浮点寄存器"
+
+-#: config/m68k/m68k.opt:27
+-msgid "Generate code for a 5206e"
+-msgstr "为 5206e 生æˆä»£ç "
++#: config/frv/frv.opt:108
++msgid "Only use 32 GPRs"
++msgstr "åªä½¿ç”¨ 32 个通用寄存器"
+
+-#: config/m68k/m68k.opt:31
+-msgid "Generate code for a 528x"
+-msgstr "为 528x 生æˆä»£ç "
++#: config/frv/frv.opt:112
++msgid "Use 64 GPRs"
++msgstr "使用 64 个通用寄存器"
+
+-#: config/m68k/m68k.opt:35
+-msgid "Generate code for a 5307"
+-msgstr "为 5307 生æˆä»£ç "
++#: config/frv/frv.opt:116
++msgid "Enable use of GPREL for read-only data in FDPIC"
++msgstr ""
+
+-#: config/m68k/m68k.opt:39
+-msgid "Generate code for a 5407"
+-msgstr "为 5407 生æˆä»£ç "
++#: config/frv/frv.opt:120 config/rs6000/rs6000.opt:112
++#: config/pdp11/pdp11.opt:71
++msgid "Use hardware floating point"
++msgstr "使用硬件浮点å•å…ƒ"
+
+-#: config/m68k/m68k.opt:43 config/m68k/m68k.opt:104
+-msgid "Generate code for a 68000"
+-msgstr "为 68000 生æˆä»£ç "
++#: config/frv/frv.opt:124 config/bfin/bfin.opt:77
++msgid "Enable inlining of PLT in function calls"
++msgstr "为函数调用å¯ç”¨ PLT 的内è”"
+
+-#: config/m68k/m68k.opt:47
+-msgid "Generate code for a 68010"
+-msgstr "为 68010 生æˆä»£ç "
++#: config/frv/frv.opt:128
++msgid "Enable PIC support for building libraries"
++msgstr "å¯ç”¨å¯¹åº“çš„ PIC 支æŒ"
+
+-#: config/m68k/m68k.opt:51 config/m68k/m68k.opt:108
+-msgid "Generate code for a 68020"
+-msgstr "为 68020 生æˆä»£ç "
++#: config/frv/frv.opt:132
++msgid "Follow the EABI linkage requirements"
++msgstr "éµå¾ª EABI 链接è¦æ±‚"
+
+-#: config/m68k/m68k.opt:55
+-msgid "Generate code for a 68040, without any new instructions"
+-msgstr "为 68040 生æˆä»£ç ï¼Œä¸ä½¿ç”¨æ–°æŒ‡ä»¤"
++#: config/frv/frv.opt:136
++msgid "Disallow direct calls to global functions"
++msgstr "ä¸å…许直接调用全局函数"
+
+-#: config/m68k/m68k.opt:59
+-msgid "Generate code for a 68060, without any new instructions"
+-msgstr "为 68060 生æˆä»£ç ï¼Œä¸ä½¿ç”¨æ–°æŒ‡ä»¤"
++#: config/frv/frv.opt:140
++msgid "Use media instructions"
++msgstr "使用多媒体指令"
+
+-#: config/m68k/m68k.opt:63
+-msgid "Generate code for a 68030"
+-msgstr "为 68030 生æˆä»£ç "
++#: config/frv/frv.opt:144
++msgid "Use multiply add/subtract instructions"
++msgstr "使用乘加/å‡æŒ‡ä»¤"
+
+-#: config/m68k/m68k.opt:67
+-msgid "Generate code for a 68040"
+-msgstr "为 68040 生æˆä»£ç "
++#: config/frv/frv.opt:148
++msgid "Enable optimizing &&/|| in conditional execution"
++msgstr "å¯ç”¨å¯¹æ¡ä»¶æ‰§è¡Œ && 或 || 的优化"
+
+-#: config/m68k/m68k.opt:71
+-msgid "Generate code for a 68060"
+-msgstr "为 68060 生æˆä»£ç "
++#: config/frv/frv.opt:152
++msgid "Enable nested conditional execution optimizations"
++msgstr "å¯ç”¨å¯¹åµŒå¥—æ¡ä»¶æ‰§è¡Œçš„优化"
+
+-#: config/m68k/m68k.opt:75
+-msgid "Generate code for a 68302"
+-msgstr "为 68302 生æˆä»£ç "
++#: config/frv/frv.opt:157
++msgid "Do not mark ABI switches in e_flags"
++msgstr "ä¸åœ¨ e_flags 中标记 ABI 开关"
+
+-#: config/m68k/m68k.opt:79
+-msgid "Generate code for a 68332"
+-msgstr "为 68332 生æˆä»£ç "
++#: config/frv/frv.opt:161
++msgid "Remove redundant membars"
++msgstr "删除冗余æˆå‘˜"
+
+-#: config/m68k/m68k.opt:84
+-msgid "Generate code for a 68851"
+-msgstr "为 68851 生æˆä»£ç "
++#: config/frv/frv.opt:165
++msgid "Pack VLIW instructions"
++msgstr "打包 VLIW 指令"
+
+-#: config/m68k/m68k.opt:88
+-msgid "Generate code that uses 68881 floating-point instructions"
+-msgstr "生æˆä½¿ç”¨ 68881 浮点指令的代ç "
++#: config/frv/frv.opt:169
++msgid "Enable setting GPRs to the result of comparisons"
++msgstr "å¯ç”¨å°†é€šç”¨å¯„存器设为比较结果"
+
+-#: config/m68k/m68k.opt:92
+-msgid "Align variables on a 32-bit boundary"
+-msgstr "在 32 ä½è¾¹ç•Œä¸Šå¯¹é½å˜é‡"
++#: config/frv/frv.opt:173
++msgid "Change the amount of scheduler lookahead"
++msgstr "改å˜è°ƒåº¦å™¨çš„å‰çž»"
+
+-#: config/m68k/m68k.opt:96 config/arm/arm.opt:49 config/score/score.opt:63
+-msgid "Specify the name of the target architecture"
+-msgstr "指定目标架构的å称"
++#: config/frv/frv.opt:181
++msgid "Assume a large TLS segment"
++msgstr "å‡å®šå¤§çš„线程局部存储段"
+
+-#: config/m68k/m68k.opt:100
+-msgid "Use the bit-field instructions"
+-msgstr "使用ä½æ®µæŒ‡ä»¤"
++#: config/frv/frv.opt:185
++msgid "Do not assume a large TLS segment"
++msgstr "ä¸å‡å®šå¤§çš„ TLS 段"
+
+-#: config/m68k/m68k.opt:112
+-msgid "Generate code for a ColdFire v4e"
+-msgstr "为 ColdFire v4e 生æˆä»£ç "
++#: config/frv/frv.opt:190
++msgid "Cause gas to print tomcat statistics"
++msgstr "让 gas æ‰“å° tomcat 统计"
+
+-#: config/m68k/m68k.opt:116
+-msgid "Specify the target CPU"
+-msgstr "选择目标 CPU"
++#: config/frv/frv.opt:195
++msgid "Link with the library-pic libraries"
++msgstr ""
+
+-#: config/m68k/m68k.opt:120
+-msgid "Generate code for a cpu32"
+-msgstr "为 cpu32 生æˆä»£ç "
++#: config/frv/frv.opt:199
++msgid "Allow branches to be packed with other instructions"
++msgstr "å…许跳转与其他指令打包在一起"
+
+-#: config/m68k/m68k.opt:124
+-msgid "Use hardware division instructions on ColdFire"
+-msgstr "使用 ColdFire 上的硬件除法指令"
++#: config/i386/cygming.opt:23
++msgid "Create console application"
++msgstr "创建命令行程åº"
+
+-#: config/m68k/m68k.opt:128
+-msgid "Generate code for a Fido A"
+-msgstr "为 Fido A 生æˆä»£ç "
++#: config/i386/cygming.opt:27
++msgid "Use the Cygwin interface"
++msgstr "使用 Cygwin 接å£"
+
+-#: config/m68k/m68k.opt:132
+-msgid "Generate code which uses hardware floating point instructions"
+-msgstr "生æˆä½¿ç”¨ç¡¬ä»¶æµ®ç‚¹æŒ‡ä»¤çš„代ç "
++#: config/i386/cygming.opt:31
++msgid "Generate code for a DLL"
++msgstr "生æˆåŠ¨æ€é“¾æŽ¥åº“的代ç "
+
+-#: config/m68k/m68k.opt:136
+-msgid "Enable ID based shared library"
+-msgstr "å¯ç”¨åŸºäºŽ ID 的共享库"
++#: config/i386/cygming.opt:35
++msgid "Ignore dllimport for functions"
++msgstr "忽略函数的 dllimport 属性"
+
+-#: config/m68k/m68k.opt:140
+-msgid "Do not use the bit-field instructions"
+-msgstr "ä¸ä½¿ç”¨ä½æ®µæŒ‡ä»¤"
++#: config/i386/cygming.opt:39
++msgid "Use Mingw-specific thread support"
++msgstr "使用 Mingw 特定的线程支æŒ"
+
+-#: config/m68k/m68k.opt:144
+-msgid "Use normal calling convention"
+-msgstr "使用一般的调用约定"
++#: config/i386/cygming.opt:43
++msgid "Set Windows defines"
++msgstr "设定 Windows 定义"
+
+-#: config/m68k/m68k.opt:148
+-msgid "Consider type 'int' to be 32 bits wide"
+-msgstr "认为‘int’类有 32 ä½å®½"
++#: config/i386/cygming.opt:47
++msgid "Create GUI application"
++msgstr "创建图形界é¢ç¨‹åº"
+
+-#: config/m68k/m68k.opt:152
+-msgid "Generate pc-relative code"
+-msgstr "生æˆç›¸å¯¹ pc 的代ç "
+-
+-#: config/m68k/m68k.opt:156
+-msgid "Use different calling convention using 'rtd'"
+-msgstr "å¯ç”¨ä½¿ç”¨â€˜rtd’的ä¸åŒçš„调用约定"
+-
+-#: config/m68k/m68k.opt:160 config/bfin/bfin.opt:61
+-msgid "Enable separate data segment"
+-msgstr "å¯ç”¨åˆ†ç¦»çš„æ•°æ®æ®µ"
+-
+-#: config/m68k/m68k.opt:164 config/bfin/bfin.opt:57
+-msgid "ID of shared library to build"
+-msgstr "å°†è¦åˆ›å»ºçš„共享库的 ID"
+-
+-#: config/m68k/m68k.opt:168
+-msgid "Consider type 'int' to be 16 bits wide"
+-msgstr "认为‘int’类有 16 ä½å®½"
+-
+-#: config/m68k/m68k.opt:172
+-msgid "Generate code with library calls for floating point"
+-msgstr "为使用浮点的库调用生æˆä»£ç "
+-
+-#: config/m68k/m68k.opt:176
+-msgid "Do not use unaligned memory references"
+-msgstr "ä¸ä½¿ç”¨æœªå¯¹é½çš„内存引用"
+-
+-#: config/m68k/m68k.opt:180
+-msgid "Tune for the specified target CPU or architecture"
+-msgstr "为指定的目标 CPU 或架构优化"
+-
+-#: config/m68k/ieee.opt:24 config/i386/i386.opt:95
+-msgid "Use IEEE math for fp comparisons"
+-msgstr "浮点数间的比较严格éµå¾ª IEEE 标准"
+-
+-#: config/i386/djgpp.opt:25
+-msgid "Ignored (obsolete)"
+-msgstr "忽略(已过时)"
+-
+ #: config/i386/i386.opt:23
+ msgid "sizeof(long double) is 16"
+ msgstr "sizeof(long double) 等于 16"
+@@ -12456,6 +12170,10 @@
+ msgid "Align destination of the string operations"
+ msgstr "对é½å­—符串æ“作的目标"
+
++#: config/i386/i386.opt:59 config/spu/spu.opt:60 config/s390/s390.opt:31
++msgid "Generate code for given CPU"
++msgstr "为给定的 CPU 生æˆä»£ç "
++
+ #: config/i386/i386.opt:63
+ msgid "Use given assembler dialect"
+ msgstr "使用给定的汇编风格"
+@@ -12484,6 +12202,10 @@
+ msgid "Generate floating point mathematics using given instruction set"
+ msgstr "为指定的指令集生æˆæµ®ç‚¹æ•°å­¦ä»£ç "
+
++#: config/i386/i386.opt:95 config/m68k/ieee.opt:24
++msgid "Use IEEE math for fp comparisons"
++msgstr "浮点数间的比较严格éµå¾ª IEEE 标准"
++
+ #: config/i386/i386.opt:99
+ msgid "Inline all known string operations"
+ msgstr "内è”所有已知的字符串æ“作"
+@@ -12633,58 +12355,396 @@
+ msgid "Enable automatic generation of fused floating point multiply-add instructions"
+ msgstr "自动生æˆèžå’Œæµ®ç‚¹ä¹˜åŠ æŒ‡ä»¤"
+
+-#: config/i386/cygming.opt:23
+-msgid "Create console application"
+-msgstr "创建命令行程åº"
++#: config/i386/sco5.opt:24
++msgid "Generate ELF output"
++msgstr "ç”Ÿæˆ ELF æ ¼å¼çš„输出文件"
+
+-#: config/i386/cygming.opt:27
+-msgid "Use the Cygwin interface"
+-msgstr "使用 Cygwin 接å£"
++#: config/i386/djgpp.opt:25
++msgid "Ignored (obsolete)"
++msgstr "忽略(已过时)"
+
+-#: config/i386/cygming.opt:31
+-msgid "Generate code for a DLL"
+-msgstr "生æˆåŠ¨æ€é“¾æŽ¥åº“的代ç "
++#: config/iq2000/iq2000.opt:23 config/mt/mt.opt:55
++msgid "Specify CPU for code generation purposes"
++msgstr "为代ç ç”ŸæˆæŒ‡å®šç›®æ ‡ CPU"
+
+-#: config/i386/cygming.opt:35
+-msgid "Ignore dllimport for functions"
++#: config/iq2000/iq2000.opt:27
++msgid "Specify CPU for scheduling purposes"
++msgstr "为调度指定目标 CPU"
++
++#: config/iq2000/iq2000.opt:31 config/mips/mips.opt:97
++msgid "Use ROM instead of RAM"
++msgstr "使用 ROM 而ä¸æ˜¯ RAM"
++
++#: config/iq2000/iq2000.opt:35
++msgid "Use GP relative sdata/sbss sections"
++msgstr "使用相对 GP 的 sdata/sbss 节"
++
++#: config/iq2000/iq2000.opt:40
++msgid "No default crt0.o"
++msgstr "没有默认的 crt0.o"
++
++#: config/iq2000/iq2000.opt:44 config/mips/mips.opt:265
++msgid "Put uninitialized constants in ROM (needs -membedded-data)"
++msgstr "将未åˆå§‹åŒ–的常é‡æ”¾åœ¨ ROM 中(éœ€è¦ -membedded-data)"
++
++#: config/arm/arm.opt:23
++msgid "Specify an ABI"
++msgstr "指定一个 ABI"
++
++#: config/arm/arm.opt:27
++msgid "Generate a call to abort if a noreturn function returns"
++msgstr "当 noreturn 函数返回时调用 abort"
++
++#: config/arm/arm.opt:34
++msgid "Pass FP arguments in FP registers"
++msgstr "在浮点寄存器中传递浮点å‚æ•°"
++
++#: config/arm/arm.opt:38
++msgid "Generate APCS conformant stack frames"
++msgstr "生æˆä¸Ž APCS 相容的堆栈框架"
++
++#: config/arm/arm.opt:42
++msgid "Generate re-entrant, PIC code"
++msgstr "生æˆå¯é‡å…¥çš„ PIC 代ç "
++
++#: config/arm/arm.opt:49 config/m68k/m68k.opt:96 config/score/score.opt:63
++msgid "Specify the name of the target architecture"
++msgstr "指定目标架构的å称"
++
++#: config/arm/arm.opt:56
++msgid "Assume target CPU is configured as big endian"
++msgstr "å‡å®šç›®æ ‡ CPU 被é…置为高ä½å­—节在å‰"
++
++#: config/arm/arm.opt:60
++msgid "Thumb: Assume non-static functions may be called from ARM code"
++msgstr "Thumb:å‡å®šéžé™æ€å‡½æ•°å¯è¢« ARM 代ç è°ƒç”¨"
++
++#: config/arm/arm.opt:64
++msgid "Thumb: Assume function pointers may go to non-Thumb aware code"
++msgstr "Thumb:å‡å®šå‡½æ•°æŒ‡é’ˆå¯èƒ½ä¸ºä¸æ„ŸçŸ¥ Thumb 的代ç æ‰€ä½¿ç”¨"
++
++#: config/arm/arm.opt:68
++msgid "Cirrus: Place NOPs to avoid invalid instruction combinations"
++msgstr "Cirrus:æ’å…¥ NOP 以é¿å…无效的指令组åˆ"
++
++#: config/arm/arm.opt:72 config/bfin/bfin.opt:27
++msgid "Specify the name of the target CPU"
++msgstr "指定目标 CPU çš„å称"
++
++#: config/arm/arm.opt:76
++msgid "Specify if floating point hardware should be used"
++msgstr "指定是å¦åº”当使用硬件浮点"
++
++#: config/arm/arm.opt:90
++msgid "Specify the name of the target floating point hardware/format"
++msgstr "指定目标浮点硬件/æ ¼å¼çš„å称"
++
++#: config/arm/arm.opt:94
++msgid "Alias for -mfloat-abi=hard"
++msgstr "-mfloat-abi=hard 的别å"
++
++#: config/arm/arm.opt:98
++msgid "Assume target CPU is configured as little endian"
++msgstr "å‡å®šç›®æ ‡ CPU 被é…置为低ä½å­—节在å‰"
++
++#: config/arm/arm.opt:102
++msgid "Generate call insns as indirect calls, if necessary"
++msgstr "如有必须,为调用指令生æˆé—´æŽ¥è°ƒç”¨"
++
++#: config/arm/arm.opt:106
++msgid "Specify the register to be used for PIC addressing"
++msgstr "指定用于 PIC 寻å€çš„寄存器"
++
++#: config/arm/arm.opt:110
++msgid "Store function names in object code"
++msgstr "在目标文件中存储函数å"
++
++#: config/arm/arm.opt:114
++msgid "Permit scheduling of a function's prologue sequence"
++msgstr "å…许调度函数å‰è¨€åºåˆ—"
++
++#: config/arm/arm.opt:118
++msgid "Do not load the PIC register in function prologues"
++msgstr "ä¸åœ¨å‡½æ•°å‰è¨€ä¸­åŠ è½½ PIC 寄存器"
++
++#: config/arm/arm.opt:122
++msgid "Alias for -mfloat-abi=soft"
++msgstr "-mfloat-abi=soft 的别å"
++
++#: config/arm/arm.opt:126
++msgid "Specify the minimum bit alignment of structures"
++msgstr "为结构指定最å°ä½å¯¹é½"
++
++#: config/arm/arm.opt:130
++msgid "Compile for the Thumb not the ARM"
++msgstr "为 Thumb 而ä¸æ˜¯ ARM 编译"
++
++#: config/arm/arm.opt:134
++msgid "Support calls between Thumb and ARM instruction sets"
++msgstr "æ”¯æŒ Thumb å’Œ ARM 指令集间互相调用g"
++
++#: config/arm/arm.opt:138
++msgid "Specify how to access the thread pointer"
++msgstr "指定如何访问线程指针"
++
++#: config/arm/arm.opt:142
++msgid "Thumb: Generate (non-leaf) stack frames even if not needed"
++msgstr "Thumb:å³ä½¿ä¸éœ€è¦ä¹Ÿç”Ÿæˆ(éžå¶)堆栈框架"
++
++#: config/arm/arm.opt:146
++msgid "Thumb: Generate (leaf) stack frames even if not needed"
++msgstr "Thumb:å³ä½¿ä¸éœ€è¦ä¹Ÿç”Ÿæˆ(å¶)堆栈框架"
++
++#: config/arm/arm.opt:150
++msgid "Tune code for the given processor"
++msgstr "为指定的处ç†å™¨ä¼˜åŒ–代ç "
++
++#: config/arm/arm.opt:154
++msgid "Assume big endian bytes, little endian words"
++msgstr "å‡å®šé«˜ä½å­—节在å‰ï¼Œä½Žä½å­—在å‰"
++
++#: config/arm/arm.opt:158
++msgid "Use Neon quad-word (rather than double-word) registers for vectorization"
++msgstr "使用 Neon 四字(而éžåŒå­—)寄存器æ¥è¿›è¡ŒçŸ¢é‡åŒ–"
++
++#: config/arm/pe.opt:23
++msgid "Ignore dllimport attribute for functions"
+ msgstr "忽略函数的 dllimport 属性"
+
+-#: config/i386/cygming.opt:39
+-msgid "Use Mingw-specific thread support"
+-msgstr "使用 Mingw 特定的线程支æŒ"
++#: config/cris/linux.opt:27
++msgid "Together with -fpic and -fPIC, do not use GOTPLT references"
++msgstr "与 -fpic å’Œ -fPIC åŒæ—¶ä½¿ç”¨æ—¶ï¼Œä¸ä½¿ç”¨ GOTPLT 引用"
+
+-#: config/i386/cygming.opt:43
+-msgid "Set Windows defines"
+-msgstr "设定 Windows 定义"
++#: config/cris/aout.opt:27
++msgid "Compile for the MMU-less Etrax 100-based elinux system"
++msgstr "为没有 MMU 的基于 Etrax 100 的 elinux 系统编译"
+
+-#: config/i386/cygming.opt:47
+-msgid "Create GUI application"
+-msgstr "创建图形界é¢ç¨‹åº"
++#: config/cris/aout.opt:33
++msgid "For elinux, request a specified stack-size for this program"
++msgstr ""
+
+-#: config/i386/sco5.opt:24
+-msgid "Generate ELF output"
+-msgstr "ç”Ÿæˆ ELF æ ¼å¼çš„输出文件"
++#: config/cris/cris.opt:45
++msgid "Work around bug in multiplication instruction"
++msgstr "为乘法指令中的缺陷æä¾›å˜é€š"
+
+-#: config/rs6000/aix41.opt:24 config/rs6000/aix64.opt:32
+-msgid "Support message passing with the Parallel Environment"
++#: config/cris/cris.opt:51
++msgid "Compile for ETRAX 4 (CRIS v3)"
++msgstr "为 ETRAX 4 (CRIS v3) 编译"
++
++#: config/cris/cris.opt:56
++msgid "Compile for ETRAX 100 (CRIS v8)"
++msgstr "为 ETRAX 100 (CRIS v8) 编译"
++
++#: config/cris/cris.opt:64
++msgid "Emit verbose debug information in assembly code"
++msgstr "在汇编代ç ä¸­ç”Ÿæˆè¯¦ç»†çš„调试信æ¯"
++
++#: config/cris/cris.opt:71
++msgid "Do not use condition codes from normal instructions"
+ msgstr ""
+
+-#: config/rs6000/aix.opt:24 config/rs6000/rs6000.opt:147
+-msgid "Conform more closely to IBM XLC semantics"
+-msgstr "å°½é‡æŽ¥è¿‘ IBM XLC 语义"
++#: config/cris/cris.opt:80
++msgid "Do not emit addressing modes with side-effect assignment"
++msgstr "ä¸ä½¿ç”¨é™„带赋值作用的寻å€æ¨¡å¼"
+
+-#: config/rs6000/darwin.opt:24 config/rs6000/sysv4.opt:132
++#: config/cris/cris.opt:89
++msgid "Do not tune stack alignment"
++msgstr "ä¸è°ƒæ•´å †æ ˆå¯¹é½"
++
++#: config/cris/cris.opt:98
++msgid "Do not tune writable data alignment"
++msgstr "ä¸è°ƒæ•´å¯å†™æ•°æ®å¯¹é½"
++
++#: config/cris/cris.opt:107
++msgid "Do not tune code and read-only data alignment"
++msgstr "ä¸è°ƒæ•´ä»£ç å’Œåªè¯»æ•°æ®å¯¹é½"
++
++#: config/cris/cris.opt:116
++msgid "Align code and data to 32 bits"
++msgstr "将代ç å’Œæ•°æ®å¯¹é½åˆ° 32 ä½è¾¹ç•Œä¸Š"
++
++#: config/cris/cris.opt:133
++msgid "Don't align items in code or data"
++msgstr "ä¸åœ¨ä»£ç æˆ–æ•°æ®ä¸­å¯¹é½æ¡ç›®"
++
++#: config/cris/cris.opt:142
++msgid "Do not emit function prologue or epilogue"
++msgstr "ä¸ç”Ÿæˆå‡½æ•°å‰è¨€å’Œå°¾å£°"
++
++#: config/cris/cris.opt:149
++msgid "Use the most feature-enabling options allowed by other options"
++msgstr "在其他选项å…许的情况下使用开å¯æœ€å¤šç‰¹æ€§çš„选项"
++
++#: config/cris/cris.opt:158
++msgid "Override -mbest-lib-options"
++msgstr "覆盖 -mbest-lib-options"
++
++#: config/cris/cris.opt:165
++msgid "Generate code for the specified chip or CPU version"
++msgstr "为指定的芯片或 CPU 版本生æˆä»£ç "
++
++#: config/cris/cris.opt:169
++msgid "Tune alignment for the specified chip or CPU version"
++msgstr "为指定的芯片或 CPU 版本调整对é½"
++
++#: config/cris/cris.opt:173
++msgid "Warn when a stackframe is larger than the specified size"
++msgstr "当堆栈框架大于指定值时给出警告"
++
++#: config/avr/avr.opt:23
++msgid "Use subroutines for function prologues and epilogues"
++msgstr "使用å­ç¨‹åºå®Œæˆå‡½æ•°å‰è¨€/尾声"
++
++#: config/avr/avr.opt:27
++msgid "Select the target MCU"
++msgstr "选择目标 MCU"
++
++#: config/avr/avr.opt:34
++msgid "Use an 8-bit 'int' type"
++msgstr "使用 8 ä½â€˜int’类型"
++
++#: config/avr/avr.opt:38
++msgid "Change the stack pointer without disabling interrupts"
++msgstr "改å˜å †æ ˆæŒ‡é’ˆæ—¶ä¸å±è”½ä¸­æ–­"
++
++#: config/avr/avr.opt:42
++msgid "Do not generate tablejump insns"
++msgstr "ä¸ç”Ÿæˆè·³è½¬è¡¨æŒ‡ä»¤"
++
++#: config/avr/avr.opt:52
++msgid "Use rjmp/rcall (limited range) on >8K devices"
++msgstr "在 >8K 设备上使用 rjmp/rcall(范围å—é™)"
++
++#: config/avr/avr.opt:56
++msgid "Output instruction sizes to the asm file"
++msgstr "在汇编文件中输出指令大å°"
++
++#: config/avr/avr.opt:60
++msgid "Change only the low 8 bits of the stack pointer"
++msgstr "åªæ”¹å˜å †æ ˆæŒ‡é’ˆçš„低 8 ä½"
++
++#: config/avr/avr.opt:64
++msgid "Relax branches"
++msgstr "放宽跳转"
++
++#: config/avr/avr.opt:68
++msgid "Make the linker relaxation machine assume that a program counter wrap-around occures."
++msgstr ""
++
++#: config/linux.opt:24
++msgid "Use uClibc instead of GNU libc"
++msgstr "使用 uClibc 代替 GNU libc"
++
++#: config/linux.opt:28
++msgid "Use GNU libc instead of uClibc"
++msgstr "用 GNU libc 代替 uClibc"
++
++#: config/rs6000/sysv4.opt:24
++msgid "Select ABI calling convention"
++msgstr "选择 ABI 调用约定"
++
++#: config/rs6000/sysv4.opt:28
++msgid "Select method for sdata handling"
++msgstr ""
++
++#: config/rs6000/sysv4.opt:36 config/rs6000/sysv4.opt:40
++msgid "Align to the base type of the bit-field"
++msgstr "对é½åˆ°ä½æ®µçš„基类型"
++
++#: config/rs6000/sysv4.opt:45 config/rs6000/sysv4.opt:49
++msgid "Produce code relocatable at runtime"
++msgstr "生æˆè¿è¡Œæ—¶å¯é‡å®šä½çš„代ç "
++
++#: config/rs6000/sysv4.opt:53 config/rs6000/sysv4.opt:57
++msgid "Produce little endian code"
++msgstr "生æˆä½Žä½å­—节在å‰çš„代ç "
++
++#: config/rs6000/sysv4.opt:61 config/rs6000/sysv4.opt:65
++msgid "Produce big endian code"
++msgstr "生æˆé«˜ä½å­—节在å‰çš„代ç "
++
++#: config/rs6000/sysv4.opt:70 config/rs6000/sysv4.opt:74
++#: config/rs6000/sysv4.opt:83 config/rs6000/sysv4.opt:100
++#: config/rs6000/sysv4.opt:128 config/rs6000/sysv4.opt:140
++msgid "no description yet"
++msgstr "尚未æè¿°"
++
++#: config/rs6000/sysv4.opt:78
++msgid "Assume all variable arg functions are prototyped"
++msgstr "å‡è®¾æ‰€æœ‰å¯å˜å‚数函数都有原型"
++
++#: config/rs6000/sysv4.opt:87
++msgid "Use EABI"
++msgstr "使用 EABI"
++
++#: config/rs6000/sysv4.opt:91
++msgid "Allow bit-fields to cross word boundaries"
++msgstr "å…许ä½æ®µè·¨è¶Šå­—边界"
++
++#: config/rs6000/sysv4.opt:95
++msgid "Use alternate register names"
++msgstr "使用å¦ä¸€å¥—寄存器å"
++
++#: config/rs6000/sysv4.opt:104
++msgid "Link with libsim.a, libc.a and sim-crt0.o"
++msgstr "与 libsim.a,libc.a 和 sim-crt0.o 链接"
++
++#: config/rs6000/sysv4.opt:108
++msgid "Link with libads.a, libc.a and crt0.o"
++msgstr "与 libads.a,libc.a 和 crt0.o 链接"
++
++#: config/rs6000/sysv4.opt:112
++msgid "Link with libyk.a, libc.a and crt0.o"
++msgstr "与 libyk.a,libc.a 和 crt0.o 链接"
++
++#: config/rs6000/sysv4.opt:116
++msgid "Link with libmvme.a, libc.a and crt0.o"
++msgstr "与 libmvme.a,libc.a 和 crt0.o 链接"
++
++#: config/rs6000/sysv4.opt:120
++msgid "Set the PPC_EMB bit in the ELF flags header"
++msgstr "在 ELF 标记头中指定 PPC_EMB ä½"
++
++#: config/rs6000/sysv4.opt:124
++msgid "Use the WindISS simulator"
++msgstr "使用 WindISS 仿真器"
++
++#: config/rs6000/sysv4.opt:132 config/rs6000/darwin.opt:24
+ msgid "Generate 64-bit code"
+ msgstr "ç”Ÿæˆ 64 ä½ä»£ç "
+
+-#: config/rs6000/darwin.opt:28 config/rs6000/sysv4.opt:136
++#: config/rs6000/sysv4.opt:136 config/rs6000/darwin.opt:28
+ msgid "Generate 32-bit code"
+ msgstr "ç”Ÿæˆ 32 ä½ä»£ç "
+
++#: config/rs6000/sysv4.opt:144
++msgid "Generate code to use a non-exec PLT and GOT"
++msgstr "生æˆçš„代ç ä½¿ç”¨ä¸å¯æ‰§è¡Œ PLT å’Œ GOT"
++
++#: config/rs6000/sysv4.opt:148
++msgid "Generate code for old exec BSS PLT"
++msgstr "为旧的å¯æ‰§è¡Œ BSS PLT 生æˆä»£ç "
++
++#: config/rs6000/linux64.opt:24
++msgid "Call mcount for profiling before a function prologue"
++msgstr ""
++
+ #: config/rs6000/darwin.opt:32
+ msgid "Generate code suitable for executables (NOT shared libs)"
+ msgstr "生æˆçš„代ç é€‚åˆäºŽå¯æ‰§è¡Œæ–‡ä»¶(而ä¸æ˜¯å…±äº«åº“)"
+
++#: config/rs6000/aix64.opt:24
++msgid "Compile for 64-bit pointers"
++msgstr "为 64 ä½æŒ‡é’ˆç¼–译"
++
++#: config/rs6000/aix64.opt:28
++msgid "Compile for 32-bit pointers"
++msgstr "为 32 ä½æŒ‡é’ˆç¼–译"
++
++#: config/rs6000/aix64.opt:32 config/rs6000/aix41.opt:24
++msgid "Support message passing with the Parallel Environment"
++msgstr ""
++
+ #: config/rs6000/rs6000.opt:24
+ msgid "Use POWER instruction set"
+ msgstr "使用 POWER 指令集"
+@@ -12801,6 +12861,10 @@
+ msgid "Return small structures in registers (SVR4 default)"
+ msgstr "å°ç»“构在寄存器中返回 (SVR4 默认)"
+
++#: config/rs6000/rs6000.opt:147 config/rs6000/aix.opt:24
++msgid "Conform more closely to IBM XLC semantics"
++msgstr "å°½é‡æŽ¥è¿‘ IBM XLC 语义"
++
+ #: config/rs6000/rs6000.opt:151
+ msgid "Generate software reciprocal sqrt for better throughput"
+ msgstr "为优化åžåé‡ç”Ÿæˆè½¯ä»¶å¹³æ–¹æ ¹å€’æ•°"
+@@ -12865,13 +12929,17 @@
+ msgid "Specify ABI to use"
+ msgstr "指定è¦ä½¿ç”¨çš„ ABI"
+
++#: config/rs6000/rs6000.opt:222 config/sparc/sparc.opt:91
++msgid "Use features of and schedule code for given CPU"
++msgstr "使用指定 CPU 的特性和调度代ç "
++
+ #: config/rs6000/rs6000.opt:230
+ msgid "Select full, part, or no traceback table"
+ msgstr "选择全部ã€éƒ¨åˆ†æˆ–ä¸éœ€è¦å›žæº¯è¡¨"
+
+ #: config/rs6000/rs6000.opt:234
+ msgid "Avoid all range limits on call instructions"
+-msgstr ""
++msgstr "为调用指令é¿å…一切范围é™åˆ¶"
+
+ #: config/rs6000/rs6000.opt:238
+ msgid "Warn about deprecated 'vector long ...' AltiVec type usage"
+@@ -12901,96 +12969,74 @@
+ msgid "Specify scheduling priority for dispatch slot restricted insns"
+ msgstr ""
+
+-#: config/rs6000/aix64.opt:24
+-msgid "Compile for 64-bit pointers"
+-msgstr "为 64 ä½æŒ‡é’ˆç¼–译"
++#: config/v850/v850.opt:23
++msgid "Use registers r2 and r5"
++msgstr "使用寄存器 r2 和 r5"
+
+-#: config/rs6000/aix64.opt:28
+-msgid "Compile for 32-bit pointers"
+-msgstr "为 32 ä½æŒ‡é’ˆç¼–译"
++#: config/v850/v850.opt:27
++msgid "Use 4 byte entries in switch tables"
++msgstr "在分支表中使用 4 字节长的æ¡ç›®"
+
+-#: config/rs6000/linux64.opt:24
+-msgid "Call mcount for profiling before a function prologue"
+-msgstr ""
++#: config/v850/v850.opt:31
++msgid "Enable backend debugging"
++msgstr "å¯ç”¨åŽç«¯è°ƒè¯•"
+
+-#: config/rs6000/sysv4.opt:24
+-msgid "Select ABI calling convention"
+-msgstr "选择 ABI 调用约定"
++#: config/v850/v850.opt:35
++msgid "Do not use the callt instruction"
++msgstr "ä¸ä½¿ç”¨ callt 指令"
+
+-#: config/rs6000/sysv4.opt:28
+-msgid "Select method for sdata handling"
+-msgstr ""
++#: config/v850/v850.opt:39
++msgid "Reuse r30 on a per function basis"
++msgstr "为æ¯ä¸ªå‡½æ•°é‡ç”¨ r30"
+
+-#: config/rs6000/sysv4.opt:36 config/rs6000/sysv4.opt:40
+-msgid "Align to the base type of the bit-field"
+-msgstr "对é½åˆ°ä½æ®µçš„基类型"
++#: config/v850/v850.opt:43
++msgid "Support Green Hills ABI"
++msgstr "æ”¯æŒ Green Hills ABI"
+
+-#: config/rs6000/sysv4.opt:45 config/rs6000/sysv4.opt:49
+-msgid "Produce code relocatable at runtime"
+-msgstr "生æˆè¿è¡Œæ—¶å¯é‡å®šä½çš„代ç "
++#: config/v850/v850.opt:47
++msgid "Prohibit PC relative function calls"
++msgstr "ç¦æ­¢ç›¸å¯¹ PC 的函数调用"
+
+-#: config/rs6000/sysv4.opt:53 config/rs6000/sysv4.opt:57
+-msgid "Produce little endian code"
+-msgstr "生æˆä½Žä½å­—节在å‰çš„代ç "
++#: config/v850/v850.opt:51
++msgid "Use stubs for function prologues"
++msgstr "使用å ä½ç¨‹åºå®Œæˆå‡½æ•°å‰è¨€/尾声"
+
+-#: config/rs6000/sysv4.opt:61 config/rs6000/sysv4.opt:65
+-msgid "Produce big endian code"
+-msgstr "生æˆé«˜ä½å­—节在å‰çš„代ç "
++#: config/v850/v850.opt:55
++msgid "Set the max size of data eligible for the SDA area"
++msgstr ""
+
+-#: config/rs6000/sysv4.opt:70 config/rs6000/sysv4.opt:74
+-#: config/rs6000/sysv4.opt:83 config/rs6000/sysv4.opt:100
+-#: config/rs6000/sysv4.opt:128 config/rs6000/sysv4.opt:140
+-msgid "no description yet"
+-msgstr "尚未æè¿°"
++#: config/v850/v850.opt:59
++msgid "Enable the use of the short load instructions"
++msgstr "å¯ç”¨å¯¹çŸ­åŠ è½½æŒ‡ä»¤çš„使用"
+
+-#: config/rs6000/sysv4.opt:78
+-msgid "Assume all variable arg functions are prototyped"
+-msgstr "å‡è®¾æ‰€æœ‰å¯å˜å‚数函数都有原型"
++#: config/v850/v850.opt:63
++msgid "Same as: -mep -mprolog-function"
++msgstr "与 -mep -mprolog-function 相åŒ"
+
+-#: config/rs6000/sysv4.opt:87
+-msgid "Use EABI"
+-msgstr "使用 EABI"
++#: config/v850/v850.opt:67
++msgid "Set the max size of data eligible for the TDA area"
++msgstr ""
+
+-#: config/rs6000/sysv4.opt:91
+-msgid "Allow bit-fields to cross word boundaries"
+-msgstr "å…许ä½æ®µè·¨è¶Šå­—边界"
++#: config/v850/v850.opt:71
++msgid "Enforce strict alignment"
++msgstr "强制严格对é½"
+
+-#: config/rs6000/sysv4.opt:95
+-msgid "Use alternate register names"
+-msgstr "使用å¦ä¸€å¥—寄存器å"
++#: config/v850/v850.opt:78
++msgid "Compile for the v850 processor"
++msgstr "为 v850 处ç†å™¨ç¼–译"
+
+-#: config/rs6000/sysv4.opt:104
+-msgid "Link with libsim.a, libc.a and sim-crt0.o"
+-msgstr "与 libsim.a,libc.a 和 sim-crt0.o 链接"
++#: config/v850/v850.opt:82
++msgid "Compile for the v850e processor"
++msgstr "为 v850e 处ç†å™¨ç¼–译"
+
+-#: config/rs6000/sysv4.opt:108
+-msgid "Link with libads.a, libc.a and crt0.o"
+-msgstr "与 libads.a,libc.a 和 crt0.o 链接"
++#: config/v850/v850.opt:86
++msgid "Compile for the v850e1 processor"
++msgstr "为 v850e1 处ç†å™¨ç¼–译"
+
+-#: config/rs6000/sysv4.opt:112
+-msgid "Link with libyk.a, libc.a and crt0.o"
+-msgstr "与 libyk.a,libc.a 和 crt0.o 链接"
++#: config/v850/v850.opt:90
++msgid "Set the max size of data eligible for the ZDA area"
++msgstr ""
+
+-#: config/rs6000/sysv4.opt:116
+-msgid "Link with libmvme.a, libc.a and crt0.o"
+-msgstr "与 libmvme.a,libc.a 和 crt0.o 链接"
+-
+-#: config/rs6000/sysv4.opt:120
+-msgid "Set the PPC_EMB bit in the ELF flags header"
+-msgstr "在 ELF 标记头中指定 PPC_EMB ä½"
+-
+-#: config/rs6000/sysv4.opt:124
+-msgid "Use the WindISS simulator"
+-msgstr "使用 WindISS 仿真器"
+-
+-#: config/rs6000/sysv4.opt:144
+-msgid "Generate code to use a non-exec PLT and GOT"
+-msgstr "生æˆçš„代ç ä½¿ç”¨ä¸å¯æ‰§è¡Œ PLT å’Œ GOT"
+-
+-#: config/rs6000/sysv4.opt:148
+-msgid "Generate code for old exec BSS PLT"
+-msgstr "为旧的å¯æ‰§è¡Œ BSS PLT 生æˆä»£ç "
+-
+ #: config/spu/spu.opt:20
+ msgid "Emit warnings when run-time relocations are generated"
+ msgstr ""
+@@ -13009,12 +13055,11 @@
+
+ #: config/spu/spu.opt:36
+ msgid "volatile must be specified on any memory that is effected by DMA"
+-msgstr ""
++msgstr "所有为 DMA 所影å“的内存必须被标为 volatile"
+
+ #: config/spu/spu.opt:40
+-#, fuzzy
+ msgid "Use standard main function as entry for startup"
+-msgstr "为函数调用和返回使用 jsr 和 rtc"
++msgstr "使用标准 main 函数作为å¯åŠ¨å…¥å£"
+
+ #: config/spu/spu.opt:44
+ msgid "Generate branch hints for branches"
+@@ -13028,62 +13073,262 @@
+ msgid "Generate code for 32 bit addressing"
+ msgstr "为 32 ä½å¯»å€ç”Ÿæˆä»£ç "
+
+-#: config/mcore/mcore.opt:23
+-msgid "Generate code for the M*Core M210"
+-msgstr "为 M*Core M210 生æˆä»£ç "
++#: config/vax/vax.opt:23 config/vax/vax.opt:27
++msgid "Target DFLOAT double precision code"
++msgstr "ç”Ÿæˆ DFLOAT åŒç²¾åº¦ä»£ç "
+
+-#: config/mcore/mcore.opt:27
+-msgid "Generate code for the M*Core M340"
+-msgstr "为 M*Core M340 生æˆä»£ç "
++#: config/vax/vax.opt:31 config/vax/vax.opt:35
++msgid "Generate GFLOAT double precision code"
++msgstr "ç”Ÿæˆ GFLOAT åŒç²¾åº¦ä»£ç "
+
+-#: config/mcore/mcore.opt:31
+-msgid "Set maximum alignment to 4"
+-msgstr "设定最大对é½è¾¹ç•Œä¸º 4"
++#: config/vax/vax.opt:39
++msgid "Generate code for GNU assembler (gas)"
++msgstr "为 GNU 汇编器(gas)生æˆä»£ç "
+
+-#: config/mcore/mcore.opt:35
+-msgid "Force functions to be aligned to a 4 byte boundary"
+-msgstr "将函数强行对é½åˆ° 4 字节边界上"
++#: config/vax/vax.opt:43
++msgid "Generate code for UNIX assembler"
++msgstr "为 UNIX 汇编器生æˆä»£ç "
+
+-#: config/mcore/mcore.opt:39
+-msgid "Set maximum alignment to 8"
+-msgstr "设定最大对é½è¾¹ç•Œä¸º 8"
++#: config/vax/vax.opt:47
++msgid "Use VAXC structure conventions"
++msgstr "使用 VAXC 结构约定"
+
+-#: config/mcore/mcore.opt:43 config/score/score.opt:23
+-msgid "Generate big-endian code"
+-msgstr "生æˆé«˜ä½å­—节在å‰çš„代ç "
++#: config/lynx.opt:23
++msgid "Support legacy multi-threading"
++msgstr "支æŒä¼ ç»Ÿå¤šçº¿ç¨‹"
+
+-#: config/mcore/mcore.opt:47
+-msgid "Emit call graph information"
+-msgstr "生æˆè°ƒç”¨å›¾ä¿¡æ¯"
++#: config/lynx.opt:27
++msgid "Use shared libraries"
++msgstr "使用共享库"
+
+-#: config/mcore/mcore.opt:51
+-msgid "Use the divide instruction"
+-msgstr "使用除法指令"
++#: config/lynx.opt:31
++msgid "Support multi-threading"
++msgstr "支æŒå¤šçº¿ç¨‹"
+
+-#: config/mcore/mcore.opt:55
+-msgid "Inline constants if it can be done in 2 insns or less"
+-msgstr "当常é‡å¯ä»¥ä¸ºä¸¤ä¸ªä»¥ä¸‹çš„指令生æˆæ—¶å†…è”常é‡"
++#: config/stormy16/stormy16.opt:24
++msgid "Provide libraries for the simulator"
++msgstr "为仿真器æ供库"
+
+-#: config/mcore/mcore.opt:59 config/score/score.opt:27
+-msgid "Generate little-endian code"
+-msgstr "生æˆä½Žä½å­—节在å‰çš„代ç "
++#: config/h8300/h8300.opt:23
++msgid "Generate H8S code"
++msgstr "ç”Ÿæˆ H8S 代ç "
+
+-#: config/mcore/mcore.opt:67
+-msgid "Use arbitrary sized immediates in bit operations"
+-msgstr "在ä½æ“作中使用任æ„大å°çš„ç«‹å³æ•°"
++#: config/h8300/h8300.opt:27
++msgid "Generate H8SX code"
++msgstr "ç”Ÿæˆ H8SX 代ç "
+
+-#: config/mcore/mcore.opt:71
+-msgid "Prefer word accesses over byte accesses"
+-msgstr "å°½é‡æŒ‰å­—访问而ä¸æ˜¯æŒ‰å­—节访问"
++#: config/h8300/h8300.opt:31
++msgid "Generate H8S/2600 code"
++msgstr "ç”Ÿæˆ H8S/2600 代ç "
+
+-#: config/mcore/mcore.opt:75
+-msgid "Set the maximum amount for a single stack increment operation"
++#: config/h8300/h8300.opt:35
++msgid "Make integers 32 bits wide"
++msgstr "让整数有 32 ä½å®½"
++
++#: config/h8300/h8300.opt:42
++msgid "Use registers for argument passing"
++msgstr "使用寄存器传递å‚æ•°"
++
++#: config/h8300/h8300.opt:46
++msgid "Consider access to byte sized memory slow"
++msgstr "认为按字节访问内存速度较慢"
++
++#: config/h8300/h8300.opt:50
++msgid "Enable linker relaxing"
++msgstr "å¯ç”¨é“¾æŽ¥å™¨æ¾å¼›"
++
++#: config/h8300/h8300.opt:54
++msgid "Generate H8/300H code"
++msgstr "ç”Ÿæˆ H8/300H 代ç "
++
++#: config/h8300/h8300.opt:58
++msgid "Enable the normal mode"
++msgstr "å¯ç”¨æ­£å¸¸æ¨¡å¼"
++
++#: config/h8300/h8300.opt:62
++msgid "Use H8/300 alignment rules"
++msgstr "使用 H8/300 对é½è§„则"
++
++#: config/s390/s390.opt:23
++msgid "31 bit ABI"
++msgstr "31 ä½ ABI"
++
++#: config/s390/s390.opt:27
++msgid "64 bit ABI"
++msgstr "64 ä½ ABI"
++
++#: config/s390/s390.opt:35
++msgid "Maintain backchain pointer"
++msgstr "维护链回上层堆栈框架的指针"
++
++#: config/s390/s390.opt:39
++msgid "Additional debug prints"
++msgstr "附加的调试输出"
++
++#: config/s390/s390.opt:43
++msgid "ESA/390 architecture"
++msgstr "ESA/390 结构"
++
++#: config/s390/s390.opt:47
++msgid "Enable fused multiply/add instructions"
++msgstr "å¯ç”¨èžåˆçš„乘加指令"
++
++#: config/s390/s390.opt:51
++msgid "Enable decimal floating point hardware support"
++msgstr "å¯ç”¨ç¡¬ä»¶å进制浮点支æŒ"
++
++#: config/s390/s390.opt:55
++msgid "Enable hardware floating point"
++msgstr "å¯ç”¨ç¡¬ä»¶æµ®ç‚¹å•å…ƒ"
++
++#: config/s390/s390.opt:67
++msgid "Use packed stack layout"
++msgstr "使用紧实的堆栈布局"
++
++#: config/s390/s390.opt:71
++msgid "Use bras for executable < 64k"
++msgstr "为å°äºŽ 64k çš„å¯æ‰§è¡Œæ–‡ä»¶ä½¿ç”¨ bras 指令"
++
++#: config/s390/s390.opt:75
++msgid "Disable hardware floating point"
++msgstr "ç¦ç”¨ç¡¬ä»¶æµ®ç‚¹å•å…ƒ"
++
++#: config/s390/s390.opt:79
++msgid "Set the max. number of bytes which has to be left to stack size before a trap instruction is triggered"
+ msgstr ""
+
+-#: config/mcore/mcore.opt:79
+-msgid "Always treat bitfields as int-sized"
+-msgstr "总认为ä½æ®µé•¿ä¸Ž int 相åŒ"
++#: config/s390/s390.opt:83
++msgid "Emit extra code in the function prologue in order to trap if the stack size exceeds the given limit"
++msgstr "在函数å‰è¨€ä¸­ç”Ÿæˆé¢å¤–代ç ä»¥æ•èŽ·å †æ ˆå¤§å°è¶Šé™"
+
++#: config/s390/s390.opt:91
++msgid "mvcle use"
++msgstr "使用 mvcle"
++
++#: config/s390/s390.opt:95
++msgid "Warn if a function uses alloca or creates an array with dynamic size"
++msgstr "当函数使用 alloca æ¥åˆ›å»ºå˜é•¿æ•°ç»„时给出警告"
++
++#: config/s390/s390.opt:99
++msgid "Warn if a single function's framesize exceeds the given framesize"
++msgstr "当å•ä¸ªå‡½æ•°çš„帧大å°è¶…过给定值时给出警告"
++
++#: config/s390/s390.opt:103
++msgid "z/Architecture"
++msgstr "z/Architecture"
++
++#: config/s390/tpf.opt:23
++msgid "Enable TPF-OS tracing code"
++msgstr "å¯ç”¨ TPF-OS 追踪代ç "
++
++#: config/s390/tpf.opt:27
++msgid "Specify main object for TPF-OS"
++msgstr ""
++
++#: config/darwin.opt:23
++msgid "Generate code suitable for fast turn around debugging"
++msgstr ""
++
++#: config/darwin.opt:31
++msgid "The earliest MacOS X version on which this program will run"
++msgstr "这个程åºå¯èƒ½åœ¨å…¶ä¸Šè¿è¡Œçš„最早的 MacOS X 版本"
++
++#: config/darwin.opt:35
++msgid "Set sizeof(bool) to 1"
++msgstr "设定 sizeof(bool) 为 1"
++
++#: config/darwin.opt:39
++msgid "Generate code for darwin loadable kernel extensions"
++msgstr "为 darwin å¯åŠ è½½å†…核扩展生æˆä»£ç "
++
++#: config/darwin.opt:43
++msgid "Generate code for the kernel or loadable kernel extensions"
++msgstr "为内核或å¯åŠ è½½å†…核扩展生æˆä»£ç "
++
++#: config/darwin.opt:47
++msgid "Add <dir> to the end of the system framework include path"
++msgstr "å°† <目录> 添加至系统框架包å«è·¯å¾„的末尾"
++
++#: config/mn10300/mn10300.opt:23
++msgid "Target the AM33 processor"
++msgstr "目标为 AM33 处ç†å™¨"
++
++#: config/mn10300/mn10300.opt:27
++msgid "Target the AM33/2.0 processor"
++msgstr "目标为 AM33/2.0 处ç†å™¨"
++
++#: config/mn10300/mn10300.opt:31
++msgid "Work around hardware multiply bug"
++msgstr "为硬件乘法缺陷æä¾›å˜é€š"
++
++#: config/mn10300/mn10300.opt:36
++msgid "Enable linker relaxations"
++msgstr "å¯ç”¨é“¾æŽ¥å™¨æ¾å¼›"
++
++#: config/mn10300/mn10300.opt:40
++msgid "Return pointers in both a0 and d0"
++msgstr "在 a0 和 d0 中返回指针"
++
++#: config/m32r/m32r.opt:23
++msgid "Compile for the m32rx"
++msgstr "为 m32rx 编译"
++
++#: config/m32r/m32r.opt:27
++msgid "Compile for the m32r2"
++msgstr "为 m32r2 编译"
++
++#: config/m32r/m32r.opt:31
++msgid "Compile for the m32r"
++msgstr "为 m32r 编译"
++
++#: config/m32r/m32r.opt:35
++msgid "Align all loops to 32 byte boundary"
++msgstr "所有循环对é½åˆ° 32 字节边界上"
++
++#: config/m32r/m32r.opt:39
++msgid "Prefer branches over conditional execution"
++msgstr "优先使用分支而ä¸æ˜¯æ¡ä»¶æ‰§è¡Œ"
++
++#: config/m32r/m32r.opt:43
++msgid "Give branches their default cost"
++msgstr "为分支指定默认开销"
++
++#: config/m32r/m32r.opt:47
++msgid "Display compile time statistics"
++msgstr "显示编译时间统计"
++
++#: config/m32r/m32r.opt:51
++msgid "Specify cache flush function"
++msgstr "指定清空缓存的函数"
++
++#: config/m32r/m32r.opt:55
++msgid "Specify cache flush trap number"
++msgstr "指定清空缓存的陷阱å·"
++
++#: config/m32r/m32r.opt:59
++msgid "Only issue one instruction per cycle"
++msgstr "æ¯å‘¨æœŸåªå‘出一æ¡æŒ‡ä»¤"
++
++#: config/m32r/m32r.opt:63
++msgid "Allow two instructions to be issued per cycle"
++msgstr "å…许æ¯å‘¨æœŸå‘出两æ¡æŒ‡ä»¤"
++
++#: config/m32r/m32r.opt:67
++msgid "Code size: small, medium or large"
++msgstr "代ç å¤§å°ï¼šå°ã€ä¸­æˆ–大"
++
++#: config/m32r/m32r.opt:71
++msgid "Don't call any cache flush functions"
++msgstr "ä¸è°ƒç”¨ä»»ä½•æ¸…空缓存的函数"
++
++#: config/m32r/m32r.opt:75
++msgid "Don't call any cache flush trap"
++msgstr "ä¸è°ƒç”¨ä»»ä½•æ¸…空缓存的陷阱"
++
++#: config/m32r/m32r.opt:82
++msgid "Small data area: none, sdata, use"
++msgstr ""
++
+ #: config/arc/arc.opt:32
+ msgid "Prepend the name of the cpu to all public symbol names"
+ msgstr "å°† CPU çš„å称添加到所有公共符å·å之å‰"
+@@ -13104,6 +13349,519 @@
+ msgid "Put read-only data in SECTION"
+ msgstr "在 SECTION 中存放åªè¯»æ•°æ®"
+
++#: config/m32c/m32c.opt:24 config/mt/mt.opt:27 config/bfin/bfin.opt:23
++msgid "Use simulator runtime"
++msgstr "使用仿真器è¿è¡Œæ—¶"
++
++#: config/m32c/m32c.opt:28
++msgid "Compile code for R8C variants"
++msgstr "为 R8C å˜ç§ç¼–译"
++
++#: config/m32c/m32c.opt:32
++msgid "Compile code for M16C variants"
++msgstr "为 M16C å˜ç§ç¼–译"
++
++#: config/m32c/m32c.opt:36
++msgid "Compile code for M32CM variants"
++msgstr "为 M32CM å˜ç§ç¼–译"
++
++#: config/m32c/m32c.opt:40
++msgid "Compile code for M32C variants"
++msgstr "为 M32C å˜ç§ç¼–译"
++
++#: config/m32c/m32c.opt:44
++msgid "Number of memreg bytes (default: 16, range: 0..16)"
++msgstr "memreg 字节数(默认:16,范围:0..16)"
++
++#: config/pdp11/pdp11.opt:23
++msgid "Generate code for an 11/10"
++msgstr "为 11/10 生æˆä»£ç "
++
++#: config/pdp11/pdp11.opt:27
++msgid "Generate code for an 11/40"
++msgstr "为 11/40 生æˆä»£ç "
++
++#: config/pdp11/pdp11.opt:31
++msgid "Generate code for an 11/45"
++msgstr "为 11/45 生æˆé™„加代ç "
++
++#: config/pdp11/pdp11.opt:35
++msgid "Use 16-bit abs patterns"
++msgstr "使用 16 ä½ abs 模å¼"
++
++#: config/pdp11/pdp11.opt:39
++msgid "Return floating-point results in ac0 (fr0 in Unix assembler syntax)"
++msgstr "在 ac0(Unix 汇编语法中的 fr0)中返回浮点结果"
++
++#: config/pdp11/pdp11.opt:43
++msgid "Do not use inline patterns for copying memory"
++msgstr "ä¸ä½¿ç”¨å†…è”æ ·å¼æ¥å¤åˆ¶å†…å­˜"
++
++#: config/pdp11/pdp11.opt:47
++msgid "Use inline patterns for copying memory"
++msgstr "使用内è”æ ·å¼æ¥å¤åˆ¶å†…å­˜"
++
++#: config/pdp11/pdp11.opt:51
++msgid "Do not pretend that branches are expensive"
++msgstr "ä¸å‡å®šè·³è½¬å¾ˆè€—æ—¶"
++
++#: config/pdp11/pdp11.opt:55
++msgid "Pretend that branches are expensive"
++msgstr "å‡å®šåˆ†æ”¯ä»£ä»·å¾ˆé«˜æ˜‚"
++
++#: config/pdp11/pdp11.opt:59
++msgid "Use the DEC assembler syntax"
++msgstr "使用 DEC 汇编风格"
++
++#: config/pdp11/pdp11.opt:63
++msgid "Use 32 bit float"
++msgstr "使用 32 ä½æµ®ç‚¹æ•°"
++
++#: config/pdp11/pdp11.opt:67
++msgid "Use 64 bit float"
++msgstr "使用 64 ä½æµ®ç‚¹æ•°"
++
++#: config/pdp11/pdp11.opt:75
++msgid "Use 16 bit int"
++msgstr "使用 16 ä½æ•´æ•°"
++
++#: config/pdp11/pdp11.opt:79
++msgid "Use 32 bit int"
++msgstr "使用 32 ä½æ•´æ•°"
++
++#: config/pdp11/pdp11.opt:87
++msgid "Target has split I&D"
++msgstr "目标机有分离的指令ã€æ•°æ®ç©ºé—´"
++
++#: config/pdp11/pdp11.opt:91
++msgid "Use UNIX assembler syntax"
++msgstr "使用 UNIX 汇编风格"
++
++#: config/m68k/m68k.opt:23
++msgid "Generate code for a 520X"
++msgstr "为 520X 生æˆä»£ç "
++
++#: config/m68k/m68k.opt:27
++msgid "Generate code for a 5206e"
++msgstr "为 5206e 生æˆä»£ç "
++
++#: config/m68k/m68k.opt:31
++msgid "Generate code for a 528x"
++msgstr "为 528x 生æˆä»£ç "
++
++#: config/m68k/m68k.opt:35
++msgid "Generate code for a 5307"
++msgstr "为 5307 生æˆä»£ç "
++
++#: config/m68k/m68k.opt:39
++msgid "Generate code for a 5407"
++msgstr "为 5407 生æˆä»£ç "
++
++#: config/m68k/m68k.opt:43 config/m68k/m68k.opt:104
++msgid "Generate code for a 68000"
++msgstr "为 68000 生æˆä»£ç "
++
++#: config/m68k/m68k.opt:47
++msgid "Generate code for a 68010"
++msgstr "为 68010 生æˆä»£ç "
++
++#: config/m68k/m68k.opt:51 config/m68k/m68k.opt:108
++msgid "Generate code for a 68020"
++msgstr "为 68020 生æˆä»£ç "
++
++#: config/m68k/m68k.opt:55
++msgid "Generate code for a 68040, without any new instructions"
++msgstr "为 68040 生æˆä»£ç ï¼Œä¸ä½¿ç”¨æ–°æŒ‡ä»¤"
++
++#: config/m68k/m68k.opt:59
++msgid "Generate code for a 68060, without any new instructions"
++msgstr "为 68060 生æˆä»£ç ï¼Œä¸ä½¿ç”¨æ–°æŒ‡ä»¤"
++
++#: config/m68k/m68k.opt:63
++msgid "Generate code for a 68030"
++msgstr "为 68030 生æˆä»£ç "
++
++#: config/m68k/m68k.opt:67
++msgid "Generate code for a 68040"
++msgstr "为 68040 生æˆä»£ç "
++
++#: config/m68k/m68k.opt:71
++msgid "Generate code for a 68060"
++msgstr "为 68060 生æˆä»£ç "
++
++#: config/m68k/m68k.opt:75
++msgid "Generate code for a 68302"
++msgstr "为 68302 生æˆä»£ç "
++
++#: config/m68k/m68k.opt:79
++msgid "Generate code for a 68332"
++msgstr "为 68332 生æˆä»£ç "
++
++#: config/m68k/m68k.opt:84
++msgid "Generate code for a 68851"
++msgstr "为 68851 生æˆä»£ç "
++
++#: config/m68k/m68k.opt:88
++msgid "Generate code that uses 68881 floating-point instructions"
++msgstr "生æˆä½¿ç”¨ 68881 浮点指令的代ç "
++
++#: config/m68k/m68k.opt:92
++msgid "Align variables on a 32-bit boundary"
++msgstr "在 32 ä½è¾¹ç•Œä¸Šå¯¹é½å˜é‡"
++
++#: config/m68k/m68k.opt:100
++msgid "Use the bit-field instructions"
++msgstr "使用ä½æ®µæŒ‡ä»¤"
++
++#: config/m68k/m68k.opt:112
++msgid "Generate code for a ColdFire v4e"
++msgstr "为 ColdFire v4e 生æˆä»£ç "
++
++#: config/m68k/m68k.opt:116
++msgid "Specify the target CPU"
++msgstr "选择目标 CPU"
++
++#: config/m68k/m68k.opt:120
++msgid "Generate code for a cpu32"
++msgstr "为 cpu32 生æˆä»£ç "
++
++#: config/m68k/m68k.opt:124
++msgid "Use hardware division instructions on ColdFire"
++msgstr "使用 ColdFire 上的硬件除法指令"
++
++#: config/m68k/m68k.opt:128
++msgid "Generate code for a Fido A"
++msgstr "为 Fido A 生æˆä»£ç "
++
++#: config/m68k/m68k.opt:132
++msgid "Generate code which uses hardware floating point instructions"
++msgstr "生æˆä½¿ç”¨ç¡¬ä»¶æµ®ç‚¹æŒ‡ä»¤çš„代ç "
++
++#: config/m68k/m68k.opt:136
++msgid "Enable ID based shared library"
++msgstr "å¯ç”¨åŸºäºŽ ID 的共享库"
++
++#: config/m68k/m68k.opt:140
++msgid "Do not use the bit-field instructions"
++msgstr "ä¸ä½¿ç”¨ä½æ®µæŒ‡ä»¤"
++
++#: config/m68k/m68k.opt:144
++msgid "Use normal calling convention"
++msgstr "使用一般的调用约定"
++
++#: config/m68k/m68k.opt:148
++msgid "Consider type 'int' to be 32 bits wide"
++msgstr "认为‘int’类有 32 ä½å®½"
++
++#: config/m68k/m68k.opt:152
++msgid "Generate pc-relative code"
++msgstr "生æˆç›¸å¯¹ pc 的代ç "
++
++#: config/m68k/m68k.opt:156
++msgid "Use different calling convention using 'rtd'"
++msgstr "å¯ç”¨ä½¿ç”¨â€˜rtd’的ä¸åŒçš„调用约定"
++
++#: config/m68k/m68k.opt:160 config/bfin/bfin.opt:61
++msgid "Enable separate data segment"
++msgstr "å¯ç”¨åˆ†ç¦»çš„æ•°æ®æ®µ"
++
++#: config/m68k/m68k.opt:164 config/bfin/bfin.opt:57
++msgid "ID of shared library to build"
++msgstr "å°†è¦åˆ›å»ºçš„共享库的 ID"
++
++#: config/m68k/m68k.opt:168
++msgid "Consider type 'int' to be 16 bits wide"
++msgstr "认为‘int’类有 16 ä½å®½"
++
++#: config/m68k/m68k.opt:172
++msgid "Generate code with library calls for floating point"
++msgstr "为使用浮点的库调用生æˆä»£ç "
++
++#: config/m68k/m68k.opt:176
++msgid "Do not use unaligned memory references"
++msgstr "ä¸ä½¿ç”¨æœªå¯¹é½çš„内存引用"
++
++#: config/m68k/m68k.opt:180
++msgid "Tune for the specified target CPU or architecture"
++msgstr "为指定的目标 CPU 或架构优化"
++
++#: config/mmix/mmix.opt:24
++msgid "For intrinsics library: pass all parameters in registers"
++msgstr "为内建库:所有å‚数在寄存器中传递"
++
++#: config/mmix/mmix.opt:28
++msgid "Use register stack for parameters and return value"
++msgstr "使用寄存器栈传递å‚数和返回值"
++
++#: config/mmix/mmix.opt:32
++msgid "Use call-clobbered registers for parameters and return value"
++msgstr "将调用篡改的寄存器用于å‚数和返回值"
++
++#: config/mmix/mmix.opt:37
++msgid "Use epsilon-respecting floating point compare instructions"
++msgstr "使用在æ„æ— ç©·å°çš„浮点比较指令"
++
++#: config/mmix/mmix.opt:41
++msgid "Use zero-extending memory loads, not sign-extending ones"
++msgstr "使用零扩展而ä¸æ˜¯ç¬¦å·æ‰©å±•çš„内存载入"
++
++#: config/mmix/mmix.opt:45
++msgid "Generate divide results with reminder having the same sign as the divisor (not the dividend)"
++msgstr "生æˆçš„除法结果中余数符å·å°†ä¸Žé™¤æ•°è€Œä¸æ˜¯è¢«é™¤æ•°ç›¸åŒ"
++
++#: config/mmix/mmix.opt:49
++msgid "Prepend global symbols with \":\" (for use with PREFIX)"
++msgstr "在全局符å·å‰æ·»åŠ â€œ:â€(为与 PREFIX å作)"
++
++#: config/mmix/mmix.opt:53
++msgid "Do not provide a default start-address 0x100 of the program"
++msgstr "ä¸ä¸ºç¨‹åºæä¾›é»˜è®¤çš„èµ·å§‹åœ°å€ 0x100"
++
++#: config/mmix/mmix.opt:57
++msgid "Link to emit program in ELF format (rather than mmo)"
++msgstr "é“¾æŽ¥ç”Ÿæˆ ELF è€Œéž mmo æ ¼å¼çš„程åº"
++
++#: config/mmix/mmix.opt:61
++msgid "Use P-mnemonics for branches statically predicted as taken"
++msgstr "为é™æ€é¢„测为必è¦è¿›è¡Œçš„跳转使用 P 助记符"
++
++#: config/mmix/mmix.opt:65
++msgid "Don't use P-mnemonics for branches"
++msgstr "ä¸ä¸ºåˆ†æ”¯ä½¿ç”¨ P 助记符"
++
++#: config/mmix/mmix.opt:79
++msgid "Use addresses that allocate global registers"
++msgstr "使用分é…全局寄存器的地å€"
++
++#: config/mmix/mmix.opt:83
++msgid "Do not use addresses that allocate global registers"
++msgstr "ä¸ä½¿ç”¨åˆ†é…全局寄存器的地å€"
++
++#: config/mmix/mmix.opt:87
++msgid "Generate a single exit point for each function"
++msgstr "为æ¯ä¸ªå‡½æ•°ç”Ÿæˆå•ä¸€çš„退出点"
++
++#: config/mmix/mmix.opt:91
++msgid "Do not generate a single exit point for each function"
++msgstr "ä¸ä¸ºæ¯ä¸ªå‡½æ•°ç”Ÿæˆå•ä¸€çš„退出点"
++
++#: config/mmix/mmix.opt:95
++msgid "Set start-address of the program"
++msgstr "设定程åºçš„起始地å€"
++
++#: config/mmix/mmix.opt:99
++msgid "Set start-address of data"
++msgstr "设定数æ®çš„起始地å€"
++
++#: config/score/score.opt:31
++msgid "Disable bcnz instruction"
++msgstr "ç¦ç”¨ bcnz 指令"
++
++#: config/score/score.opt:35
++msgid "Enable unaligned load/store instruction"
++msgstr "å¯ç”¨ä¸å¯¹é½çš„载入/存储指令"
++
++#: config/score/score.opt:39
++msgid "Support SCORE 5 ISA"
++msgstr "æ”¯æŒ SCORE 5 ISA"
++
++#: config/score/score.opt:43
++msgid "Support SCORE 5U ISA"
++msgstr "æ”¯æŒ SCORE 5U ISA"
++
++#: config/score/score.opt:47
++msgid "Support SCORE 7 ISA"
++msgstr "æ”¯æŒ SCORE 7 ISA"
++
++#: config/score/score.opt:51
++msgid "Support SCORE 7D ISA"
++msgstr "æ”¯æŒ SCORE 7D ISA"
++
++#: config/score/score.opt:55
++msgid "Support SCORE 3 ISA"
++msgstr "æ”¯æŒ SCORE 3 ISA"
++
++#: config/score/score.opt:59
++msgid "Support SCORE 3d ISA"
++msgstr "æ”¯æŒ SCORE 3d ISA"
++
++#: config/crx/crx.opt:23
++msgid "Support multiply accumulate instructions"
++msgstr "支æŒä¹˜åŠ æŒ‡ä»¤"
++
++#: config/crx/crx.opt:27
++msgid "Do not use push to store function arguments"
++msgstr "ä¸ä½¿ç”¨ push 指令ä¿å­˜å‡½æ•°å‚æ•°"
++
++#: config/crx/crx.opt:31
++msgid "Restrict doloop to the given nesting level"
++msgstr ""
++
++#: config/mt/mt.opt:23
++msgid "Use byte loads and stores when generating code."
++msgstr "生æˆä»£ç æ—¶ä½¿ç”¨å­—节载入和存储。"
++
++#: config/mt/mt.opt:31
++msgid "Do not include crt0.o in the startup files"
++msgstr "ä¸å°† crt0.o 包å«åœ¨å¯åŠ¨æ–‡ä»¶ä¸­"
++
++#: config/mt/mt.opt:35 config/mt/mt.opt:39 config/mt/mt.opt:43
++#: config/mt/mt.opt:47 config/mt/mt.opt:51
++msgid "Internal debug switch"
++msgstr "内部调试开关"
++
++#: config/m68hc11/m68hc11.opt:23 config/m68hc11/m68hc11.opt:31
++msgid "Compile for a 68HC11"
++msgstr "为 68HC11 汇编"
++
++#: config/m68hc11/m68hc11.opt:27 config/m68hc11/m68hc11.opt:35
++msgid "Compile for a 68HC12"
++msgstr "为 68HC12 汇编"
++
++#: config/m68hc11/m68hc11.opt:41 config/m68hc11/m68hc11.opt:45
++msgid "Compile for a 68HCS12"
++msgstr "为 68HCS12 汇编"
++
++#: config/m68hc11/m68hc11.opt:49
++msgid "Auto pre/post decrement increment allowed"
++msgstr "å…许自动å‰/åŽè‡ªå‡å¢ž"
++
++#: config/m68hc11/m68hc11.opt:53
++msgid "Min/max instructions allowed"
++msgstr "å…许 min/max 指令"
++
++#: config/m68hc11/m68hc11.opt:57
++msgid "Use call and rtc for function calls and returns"
++msgstr "为函数调用和返回使用 call 和 rtc"
++
++#: config/m68hc11/m68hc11.opt:61
++msgid "Auto pre/post decrement increment not allowed"
++msgstr "ä¸å…许自动å‰/åŽè‡ªå‡å¢ž"
++
++#: config/m68hc11/m68hc11.opt:65
++msgid "Use jsr and rts for function calls and returns"
++msgstr "为函数调用和返回使用 jsr 和 rtc"
++
++#: config/m68hc11/m68hc11.opt:69
++msgid "Min/max instructions not allowed"
++msgstr "ä¸å…许 min/max 指令"
++
++#: config/m68hc11/m68hc11.opt:73
++msgid "Use direct addressing mode for soft registers"
++msgstr "为软寄存器使用直接寻å€"
++
++#: config/m68hc11/m68hc11.opt:77
++msgid "Compile with 32-bit integer mode"
++msgstr "以 32 ä½æ•´æ•°æ¨¡å¼ç¼–译"
++
++#: config/m68hc11/m68hc11.opt:82
++msgid "Specify the register allocation order"
++msgstr "指定分é…寄存器的顺åº"
++
++#: config/m68hc11/m68hc11.opt:86
++msgid "Do not use direct addressing mode for soft registers"
++msgstr "ä¸ä¸ºè½¯å¯„存器使用直接寻å€"
++
++#: config/m68hc11/m68hc11.opt:90
++msgid "Compile with 16-bit integer mode"
++msgstr "以 16 ä½æ•´æ•°æ¨¡å¼ç¼–译"
++
++#: config/m68hc11/m68hc11.opt:94
++msgid "Indicate the number of soft registers available"
++msgstr "指示å¯ç”¨çš„软寄存器的数é‡"
++
++#: config/fr30/fr30.opt:23
++msgid "Assume small address space"
++msgstr "å‡å®šå°åœ°å€ç©ºé—´"
++
++#: config/sparc/little-endian.opt:23
++msgid "Generate code for little-endian"
++msgstr "生æˆä½Žä½å­—节在å‰çš„代ç "
++
++#: config/sparc/little-endian.opt:27
++msgid "Generate code for big-endian"
++msgstr "生æˆé«˜ä½å­—节在å‰çš„代ç "
++
++#: config/sparc/sparc.opt:23 config/sparc/sparc.opt:27
++msgid "Use hardware FP"
++msgstr "使用硬件浮点å•å…ƒ"
++
++#: config/sparc/sparc.opt:31
++msgid "Do not use hardware FP"
++msgstr "ä¸ä½¿ç”¨ç¡¬ä»¶æµ®ç‚¹å•å…ƒ"
++
++#: config/sparc/sparc.opt:35
++msgid "Assume possible double misalignment"
++msgstr "å‡å®šå¯èƒ½çš„两ä¸å¯¹é½"
++
++#: config/sparc/sparc.opt:39
++msgid "Pass -assert pure-text to linker"
++msgstr "将 -assert pure-text 传递给链接器"
++
++#: config/sparc/sparc.opt:43
++msgid "Use ABI reserved registers"
++msgstr "使用 ABI ä¿ç•™çš„寄存器"
++
++#: config/sparc/sparc.opt:47
++msgid "Use hardware quad FP instructions"
++msgstr "使用硬件四浮点指令"
++
++#: config/sparc/sparc.opt:51
++msgid "Do not use hardware quad fp instructions"
++msgstr "ä¸ä½¿ç”¨ç¡¬ä»¶å››æµ®ç‚¹æŒ‡ä»¤"
++
++#: config/sparc/sparc.opt:55
++msgid "Compile for V8+ ABI"
++msgstr "为 V8+ ABI 编译"
++
++#: config/sparc/sparc.opt:59
++msgid "Use UltraSPARC Visual Instruction Set extensions"
++msgstr "使用 UltraSPARC å¯è§†åŒ–指令集"
++
++#: config/sparc/sparc.opt:63
++msgid "Pointers are 64-bit"
++msgstr "指针是 64 ä½"
++
++#: config/sparc/sparc.opt:67
++msgid "Pointers are 32-bit"
++msgstr "指针是 32 ä½"
++
++#: config/sparc/sparc.opt:71
++msgid "Use 64-bit ABI"
++msgstr "使用 64 ä½ ABI"
++
++#: config/sparc/sparc.opt:75
++msgid "Use 32-bit ABI"
++msgstr "使用 32 ä½ ABI"
++
++#: config/sparc/sparc.opt:79
++msgid "Use stack bias"
++msgstr "使用堆栈å移"
++
++#: config/sparc/sparc.opt:83
++msgid "Use structs on stronger alignment for double-word copies"
++msgstr "为结构使用更强的对é½ä»¥ä½¿ç”¨åŒå­—å¤åˆ¶"
++
++#: config/sparc/sparc.opt:87
++msgid "Optimize tail call instructions in assembler and linker"
++msgstr "在汇编器和链接器中优化尾调用指令"
++
++#: config/sparc/sparc.opt:99
++msgid "Use given SPARC-V9 code model"
++msgstr "使用给定的 SPARC-V9 代ç æ¨¡åž‹"
++
++#: config/sparc/sparc.opt:103
++msgid "Enable strict 32-bit psABI struct return checking."
++msgstr "å¯ç”¨ä¸¥æ ¼çš„ 32 ä½ psABI 结构返回检查"
++
++#: config/sh/superh.opt:6
++msgid "Board name [and memory region]."
++msgstr ""
++
++#: config/sh/superh.opt:10
++msgid "Runtime name."
++msgstr "è¿è¡Œæ—¶å称。"
++
+ #: config/sh/sh.opt:44
+ msgid "Generate SH1 code"
+ msgstr "ç”Ÿæˆ SH1 代ç "
+@@ -13262,7 +14020,7 @@
+
+ #: config/sh/sh.opt:205
+ msgid "Throttle unrolling to avoid thrashing target registers unless the unroll benefit outweighs this"
+-msgstr ""
++msgstr "é¿å…过度展开循环以å…撇出目标寄存器,除éžå±•å¼€çš„收益å¯ä»¥æŠµæ¶ˆè¿™ä¸€ç‚¹"
+
+ #: config/sh/sh.opt:209
+ msgid "Generate code in big endian mode"
+@@ -13376,468 +14134,18 @@
+ msgid "Pretend a branch-around-a-move is a conditional move."
+ msgstr "将数æ®ä¼ è¾“周围的跳转认为是æ¡ä»¶è½¬ç§»ã€‚"
+
+-#: config/sh/superh.opt:6
+-msgid "Board name [and memory region]."
+-msgstr ""
++#: config/vxworks.opt:24
++msgid "Assume the VxWorks RTP environment"
++msgstr "å‡å®š VxWorks RTP 环境"
+
+-#: config/sh/superh.opt:10
+-msgid "Runtime name."
+-msgstr "è¿è¡Œæ—¶å称。"
++#: config/vxworks.opt:31
++msgid "Assume the VxWorks vThreads environment"
++msgstr "å‡å®š VxWorks vThreads 环境"
+
+-#: config/arm/arm.opt:23
+-msgid "Specify an ABI"
+-msgstr "指定一个 ABI"
++#: config/mips/sdemtk.opt:23
++msgid "Prevent the use of all floating-point operations"
++msgstr "ä¸å…许使用任何浮点æ“作"
+
+-#: config/arm/arm.opt:27
+-msgid "Generate a call to abort if a noreturn function returns"
+-msgstr "当 noreturn 函数返回时调用 abort"
+-
+-#: config/arm/arm.opt:34
+-msgid "Pass FP arguments in FP registers"
+-msgstr "在浮点寄存器中传递浮点å‚æ•°"
+-
+-#: config/arm/arm.opt:38
+-msgid "Generate APCS conformant stack frames"
+-msgstr "生æˆä¸Ž APCS 相容的堆栈框架"
+-
+-#: config/arm/arm.opt:42
+-msgid "Generate re-entrant, PIC code"
+-msgstr "生æˆå¯é‡å…¥çš„ PIC 代ç "
+-
+-#: config/arm/arm.opt:56
+-msgid "Assume target CPU is configured as big endian"
+-msgstr "å‡å®šç›®æ ‡ CPU 被é…置为高ä½å­—节在å‰"
+-
+-#: config/arm/arm.opt:60
+-msgid "Thumb: Assume non-static functions may be called from ARM code"
+-msgstr "Thumb:å‡å®šéžé™æ€å‡½æ•°å¯è¢« ARM 代ç è°ƒç”¨"
+-
+-#: config/arm/arm.opt:64
+-msgid "Thumb: Assume function pointers may go to non-Thumb aware code"
+-msgstr "Thumb:å‡å®šå‡½æ•°æŒ‡é’ˆå¯èƒ½ä¸ºä¸æ„ŸçŸ¥ Thumb 的代ç æ‰€ä½¿ç”¨"
+-
+-#: config/arm/arm.opt:68
+-msgid "Cirrus: Place NOPs to avoid invalid instruction combinations"
+-msgstr "Cirrus:æ’å…¥ NOP 以é¿å…无效的指令组åˆ"
+-
+-#: config/arm/arm.opt:72 config/bfin/bfin.opt:27
+-msgid "Specify the name of the target CPU"
+-msgstr "指定目标 CPU çš„å称"
+-
+-#: config/arm/arm.opt:76
+-msgid "Specify if floating point hardware should be used"
+-msgstr "指定是å¦åº”当使用硬件浮点"
+-
+-#: config/arm/arm.opt:90
+-msgid "Specify the name of the target floating point hardware/format"
+-msgstr "指定目标浮点硬件/æ ¼å¼çš„å称"
+-
+-#: config/arm/arm.opt:94
+-msgid "Alias for -mfloat-abi=hard"
+-msgstr "-mfloat-abi=hard 的别å"
+-
+-#: config/arm/arm.opt:98
+-msgid "Assume target CPU is configured as little endian"
+-msgstr "å‡å®šç›®æ ‡ CPU 被é…置为低ä½å­—节在å‰"
+-
+-#: config/arm/arm.opt:102
+-msgid "Generate call insns as indirect calls, if necessary"
+-msgstr "如有必须,为调用指令生æˆé—´æŽ¥è°ƒç”¨"
+-
+-#: config/arm/arm.opt:106
+-msgid "Specify the register to be used for PIC addressing"
+-msgstr "指定用于 PIC 寻å€çš„寄存器"
+-
+-#: config/arm/arm.opt:110
+-msgid "Store function names in object code"
+-msgstr "在目标文件中存储函数å"
+-
+-#: config/arm/arm.opt:114
+-msgid "Permit scheduling of a function's prologue sequence"
+-msgstr "å…许调度函数å‰è¨€åºåˆ—"
+-
+-#: config/arm/arm.opt:118
+-msgid "Do not load the PIC register in function prologues"
+-msgstr "ä¸åœ¨å‡½æ•°å‰è¨€ä¸­åŠ è½½ PIC 寄存器"
+-
+-#: config/arm/arm.opt:122
+-msgid "Alias for -mfloat-abi=soft"
+-msgstr "-mfloat-abi=soft 的别å"
+-
+-#: config/arm/arm.opt:126
+-msgid "Specify the minimum bit alignment of structures"
+-msgstr "为结构指定最å°ä½å¯¹é½"
+-
+-#: config/arm/arm.opt:130
+-msgid "Compile for the Thumb not the ARM"
+-msgstr "为 Thumb 而ä¸æ˜¯ ARM 编译"
+-
+-#: config/arm/arm.opt:134
+-msgid "Support calls between Thumb and ARM instruction sets"
+-msgstr "æ”¯æŒ Thumb å’Œ ARM 指令集间互相调用g"
+-
+-#: config/arm/arm.opt:138
+-msgid "Specify how to access the thread pointer"
+-msgstr "指定如何访问线程指针"
+-
+-#: config/arm/arm.opt:142
+-msgid "Thumb: Generate (non-leaf) stack frames even if not needed"
+-msgstr "Thumb:å³ä½¿ä¸éœ€è¦ä¹Ÿç”Ÿæˆ(éžå¶)堆栈框架"
+-
+-#: config/arm/arm.opt:146
+-msgid "Thumb: Generate (leaf) stack frames even if not needed"
+-msgstr "Thumb:å³ä½¿ä¸éœ€è¦ä¹Ÿç”Ÿæˆ(å¶)堆栈框架"
+-
+-#: config/arm/arm.opt:150
+-msgid "Tune code for the given processor"
+-msgstr "为指定的处ç†å™¨ä¼˜åŒ–代ç "
+-
+-#: config/arm/arm.opt:154
+-msgid "Assume big endian bytes, little endian words"
+-msgstr "å‡å®šé«˜ä½å­—节在å‰ï¼Œä½Žä½å­—在å‰"
+-
+-#: config/arm/arm.opt:158
+-msgid "Use Neon quad-word (rather than double-word) registers for vectorization"
+-msgstr "使用 Neon 四字(而éžåŒå­—)寄存器æ¥è¿›è¡ŒçŸ¢é‡åŒ–"
+-
+-#: config/arm/pe.opt:23
+-msgid "Ignore dllimport attribute for functions"
+-msgstr "忽略函数的 dllimport 属性"
+-
+-#: config/pdp11/pdp11.opt:23
+-msgid "Generate code for an 11/10"
+-msgstr "为 11/10 生æˆä»£ç "
+-
+-#: config/pdp11/pdp11.opt:27
+-msgid "Generate code for an 11/40"
+-msgstr "为 11/40 生æˆä»£ç "
+-
+-#: config/pdp11/pdp11.opt:31
+-msgid "Generate code for an 11/45"
+-msgstr "为 11/45 生æˆé™„加代ç "
+-
+-#: config/pdp11/pdp11.opt:35
+-msgid "Use 16-bit abs patterns"
+-msgstr "使用 16 ä½ abs 模å¼"
+-
+-#: config/pdp11/pdp11.opt:39
+-msgid "Return floating-point results in ac0 (fr0 in Unix assembler syntax)"
+-msgstr "在 ac0(Unix 汇编语法中的 fr0)中返回浮点结果"
+-
+-#: config/pdp11/pdp11.opt:43
+-msgid "Do not use inline patterns for copying memory"
+-msgstr "ä¸ä½¿ç”¨å†…è”æ ·å¼æ¥å¤åˆ¶å†…å­˜"
+-
+-#: config/pdp11/pdp11.opt:47
+-msgid "Use inline patterns for copying memory"
+-msgstr "使用内è”æ ·å¼æ¥å¤åˆ¶å†…å­˜"
+-
+-#: config/pdp11/pdp11.opt:51
+-msgid "Do not pretend that branches are expensive"
+-msgstr "ä¸å‡å®šè·³è½¬å¾ˆè€—æ—¶"
+-
+-#: config/pdp11/pdp11.opt:55
+-msgid "Pretend that branches are expensive"
+-msgstr "å‡å®šåˆ†æ”¯ä»£ä»·å¾ˆé«˜æ˜‚"
+-
+-#: config/pdp11/pdp11.opt:59
+-msgid "Use the DEC assembler syntax"
+-msgstr "使用 DEC 汇编风格"
+-
+-#: config/pdp11/pdp11.opt:63
+-msgid "Use 32 bit float"
+-msgstr "使用 32 ä½æµ®ç‚¹æ•°"
+-
+-#: config/pdp11/pdp11.opt:67
+-msgid "Use 64 bit float"
+-msgstr "使用 64 ä½æµ®ç‚¹æ•°"
+-
+-#: config/pdp11/pdp11.opt:75
+-msgid "Use 16 bit int"
+-msgstr "使用 16 ä½æ•´æ•°"
+-
+-#: config/pdp11/pdp11.opt:79
+-msgid "Use 32 bit int"
+-msgstr "使用 32 ä½æ•´æ•°"
+-
+-#: config/pdp11/pdp11.opt:87
+-msgid "Target has split I&D"
+-msgstr "目标机有分离的指令ã€æ•°æ®ç©ºé—´"
+-
+-#: config/pdp11/pdp11.opt:91
+-msgid "Use UNIX assembler syntax"
+-msgstr "使用 UNIX 汇编风格"
+-
+-#: config/avr/avr.opt:23
+-msgid "Use subroutines for function prologues and epilogues"
+-msgstr "使用å­ç¨‹åºå®Œæˆå‡½æ•°å‰è¨€/尾声"
+-
+-#: config/avr/avr.opt:27
+-msgid "Select the target MCU"
+-msgstr "选择目标 MCU"
+-
+-#: config/avr/avr.opt:34
+-msgid "Use an 8-bit 'int' type"
+-msgstr "使用 8 ä½â€˜int’类型"
+-
+-#: config/avr/avr.opt:38
+-msgid "Change the stack pointer without disabling interrupts"
+-msgstr "改å˜å †æ ˆæŒ‡é’ˆæ—¶ä¸å±è”½ä¸­æ–­"
+-
+-#: config/avr/avr.opt:42
+-msgid "Do not generate tablejump insns"
+-msgstr "ä¸ç”Ÿæˆè·³è½¬è¡¨æŒ‡ä»¤"
+-
+-#: config/avr/avr.opt:52
+-msgid "Use rjmp/rcall (limited range) on >8K devices"
+-msgstr "在 >8K 设备上使用 rjmp/rcall(范围å—é™)"
+-
+-#: config/avr/avr.opt:56
+-msgid "Output instruction sizes to the asm file"
+-msgstr "在汇编文件中输出指令大å°"
+-
+-#: config/avr/avr.opt:60
+-msgid "Change only the low 8 bits of the stack pointer"
+-msgstr "åªæ”¹å˜å †æ ˆæŒ‡é’ˆçš„低 8 ä½"
+-
+-#: config/crx/crx.opt:23
+-msgid "Support multiply accumulate instructions"
+-msgstr "支æŒä¹˜åŠ æŒ‡ä»¤"
+-
+-#: config/crx/crx.opt:27
+-msgid "Do not use push to store function arguments"
+-msgstr "ä¸ä½¿ç”¨ push 指令ä¿å­˜å‡½æ•°å‚æ•°"
+-
+-#: config/crx/crx.opt:31
+-msgid "Restrict doloop to the given nesting level"
+-msgstr ""
+-
+-#: config/c4x/c4x.opt:23
+-msgid "Generate code for C30 CPU"
+-msgstr "为 C30 CPU 生æˆä»£ç "
+-
+-#: config/c4x/c4x.opt:27
+-msgid "Generate code for C31 CPU"
+-msgstr "为 C31 CPU 生æˆä»£ç "
+-
+-#: config/c4x/c4x.opt:31
+-msgid "Generate code for C32 CPU"
+-msgstr "为 C32 CPU 生æˆä»£ç "
+-
+-#: config/c4x/c4x.opt:35
+-msgid "Generate code for C33 CPU"
+-msgstr "为 C33 CPU 生æˆä»£ç "
+-
+-#: config/c4x/c4x.opt:39
+-msgid "Generate code for C40 CPU"
+-msgstr "为 C40 CPU 生æˆä»£ç "
+-
+-#: config/c4x/c4x.opt:43
+-msgid "Generate code for C44 CPU"
+-msgstr "为 C44 CPU 生æˆä»£ç "
+-
+-#: config/c4x/c4x.opt:47
+-msgid "Assume that pointers may be aliased"
+-msgstr "å‡å®šæŒ‡é’ˆå¯èƒ½æœ‰åˆ«å"
+-
+-#: config/c4x/c4x.opt:51
+-msgid "Big memory model"
+-msgstr "大内存模型"
+-
+-#: config/c4x/c4x.opt:55
+-msgid "Use the BK register as a general purpose register"
+-msgstr "将 BK 寄存器用作一个通用寄存器"
+-
+-#: config/c4x/c4x.opt:59
+-msgid "Generate code for CPU"
+-msgstr "为 CPU 生æˆä»£ç "
+-
+-#: config/c4x/c4x.opt:63
+-msgid "Enable use of DB instruction"
+-msgstr "å¯ç”¨ DB 指令"
+-
+-#: config/c4x/c4x.opt:67
+-msgid "Enable debugging"
+-msgstr "å¯ç”¨è°ƒè¯•"
+-
+-#: config/c4x/c4x.opt:71
+-msgid "Enable new features under development"
+-msgstr "å¯ç”¨å¼€å‘中的新特性"
+-
+-#: config/c4x/c4x.opt:75
+-msgid "Use fast but approximate float to integer conversion"
+-msgstr "使用快速但欠精确的浮点ï¼æ•´æ•°è½¬æ¢"
+-
+-#: config/c4x/c4x.opt:79
+-msgid "Force RTL generation to emit valid 3 operand insns"
+-msgstr ""
+-
+-#: config/c4x/c4x.opt:83
+-msgid "Force constants into registers to improve hoisting"
+-msgstr ""
+-
+-#: config/c4x/c4x.opt:87 config/c4x/c4x.opt:111
+-msgid "Save DP across ISR in small memory model"
+-msgstr ""
+-
+-#: config/c4x/c4x.opt:91
+-msgid "Allow unsigned iteration counts for RPTB/DB"
+-msgstr ""
+-
+-#: config/c4x/c4x.opt:95
+-msgid "Pass arguments on the stack"
+-msgstr "在栈中传递å‚æ•°"
+-
+-#: config/c4x/c4x.opt:99
+-msgid "Use MPYI instruction for C3x"
+-msgstr "为 C3x 使用 MPYI 指令"
+-
+-#: config/c4x/c4x.opt:103
+-msgid "Enable parallel instructions"
+-msgstr "å¯ç”¨å¹¶è¡ŒæŒ‡ä»¤"
+-
+-#: config/c4x/c4x.opt:107
+-msgid "Enable MPY||ADD and MPY||SUB instructions"
+-msgstr "å¯ç”¨ MPY||ADD å’Œ MPY||SUB 指令"
+-
+-#: config/c4x/c4x.opt:115
+-msgid "Preserve all 40 bits of FP reg across call"
+-msgstr "跨越调用边界时ä¿è¯æµ®ç‚¹å¯„存器所有的 40 ä½ä¸å˜"
+-
+-#: config/c4x/c4x.opt:119
+-msgid "Pass arguments in registers"
+-msgstr "在寄存器中传递å‚æ•°"
+-
+-#: config/c4x/c4x.opt:123
+-msgid "Enable use of RTPB instruction"
+-msgstr "å¯ç”¨ RTPB 指令集"
+-
+-#: config/c4x/c4x.opt:127
+-msgid "Enable use of RTPS instruction"
+-msgstr "å¯ç”¨ RTPS 指令集"
+-
+-#: config/c4x/c4x.opt:131
+-#, fuzzy
+-msgid "Set the maximum number of iterations for RPTS to N"
+-msgstr "å•ä¸ªå¾ªçŽ¯ä¸­è€ƒè™‘展开的最大指令数"
+-
+-#: config/c4x/c4x.opt:135
+-msgid "Small memory model"
+-msgstr "å°å†…存模型"
+-
+-#: config/c4x/c4x.opt:139
+-msgid "Emit code compatible with TI tools"
+-msgstr "生æˆä¸Ž TI 工具兼容的代ç "
+-
+-#: config/pa/pa-hpux.opt:23
+-msgid "Generate cpp defines for server IO"
+-msgstr "为æœåŠ¡å™¨ IO ç”Ÿæˆ cpp 定义"
+-
+-#: config/pa/pa-hpux.opt:27 config/pa/pa-hpux1010.opt:23
+-#: config/pa/pa-hpux1111.opt:23
+-msgid "Specify UNIX standard for predefines and linking"
+-msgstr "指定用于预定义和链接的 UNIX 标准"
+-
+-#: config/pa/pa-hpux.opt:31
+-msgid "Generate cpp defines for workstation IO"
+-msgstr "为工作站 IO ç”Ÿæˆ cpp 定义"
+-
+-#: config/pa/pa.opt:23 config/pa/pa.opt:76 config/pa/pa.opt:84
+-msgid "Generate PA1.0 code"
+-msgstr "ç”Ÿæˆ PA1.0 代ç "
+-
+-#: config/pa/pa.opt:27 config/pa/pa.opt:88 config/pa/pa.opt:108
+-msgid "Generate PA1.1 code"
+-msgstr "ç”Ÿæˆ PA1.1 代ç "
+-
+-#: config/pa/pa.opt:31 config/pa/pa.opt:92
+-msgid "Generate PA2.0 code (requires binutils 2.10 or later)"
+-msgstr "ç”Ÿæˆ PA2.0 代ç (éœ€è¦ binutils 2.10 或更新版本)"
+-
+-#: config/pa/pa.opt:35
+-msgid "Generate code for huge switch statements"
+-msgstr "为巨型的 switch 语å¥ç”Ÿæˆä»£ç "
+-
+-#: config/pa/pa.opt:39
+-msgid "Disable FP regs"
+-msgstr "ç¦ç”¨æµ®ç‚¹å¯„存器"
+-
+-#: config/pa/pa.opt:43
+-msgid "Disable indexed addressing"
+-msgstr "ç¦ç”¨å˜å€å¯»å€"
+-
+-#: config/pa/pa.opt:47
+-msgid "Generate fast indirect calls"
+-msgstr "生æˆå¿«é€Ÿé—´æŽ¥è°ƒç”¨"
+-
+-#: config/pa/pa.opt:55
+-msgid "Assume code will be assembled by GAS"
+-msgstr "å‡å®šä»£ç å°†ç”± GAS 汇编"
+-
+-#: config/pa/pa.opt:59
+-msgid "Put jumps in call delay slots"
+-msgstr "将跳转放置在延迟调用槽内"
+-
+-#: config/pa/pa.opt:64
+-msgid "Enable linker optimizations"
+-msgstr "å¯ç”¨é“¾æŽ¥å™¨ä¼˜åŒ–"
+-
+-#: config/pa/pa.opt:68
+-msgid "Always generate long calls"
+-msgstr "总是生æˆè¿œè°ƒç”¨"
+-
+-#: config/pa/pa.opt:72
+-msgid "Emit long load/store sequences"
+-msgstr "生æˆé•¿è¯»/写åºåˆ—"
+-
+-#: config/pa/pa.opt:80
+-msgid "Disable space regs"
+-msgstr "ç¦ç”¨ç©ºé—´å¯„存器"
+-
+-#: config/pa/pa.opt:96
+-msgid "Use portable calling conventions"
+-msgstr "使用一般的调用约定"
+-
+-#: config/pa/pa.opt:100
+-msgid "Specify CPU for scheduling purposes. Valid arguments are 700, 7100, 7100LC, 7200, 7300, and 8000"
+-msgstr "指定调度优化的目标 CPU。有效的选项是 700,7100,7100LC,7200,7300,和 8000"
+-
+-#: config/pa/pa.opt:112
+-msgid "Do not disable space regs"
+-msgstr "ä¸ç¦ç”¨ç©ºé—´å¯„存器"
+-
+-#: config/pa/pa64-hpux.opt:23
+-msgid "Assume code will be linked by GNU ld"
+-msgstr "å‡å®šä»£ç å°†ç”± GNU ld 链接"
+-
+-#: config/pa/pa64-hpux.opt:27
+-msgid "Assume code will be linked by HP ld"
+-msgstr "å‡å®šä»£ç å°†ç”± HP ld 链接"
+-
+-#: config/xtensa/xtensa.opt:23
+-msgid "Use CONST16 instruction to load constants"
+-msgstr "使用 CONST16 指令加载常é‡"
+-
+-#: config/xtensa/xtensa.opt:27
+-msgid "Enable fused multiply/add and multiply/subtract FP instructions"
+-msgstr "å¯ç”¨èžåˆçš„乘加和乘å‡æµ®ç‚¹æŒ‡ä»¤"
+-
+-#: config/xtensa/xtensa.opt:31
+-msgid "Use indirect CALLXn instructions for large programs"
+-msgstr ""
+-
+-#: config/xtensa/xtensa.opt:35
+-msgid "Automatically align branch targets to reduce branch penalties"
+-msgstr "自动对é½è·³è½¬ç›®æ ‡ä»¥å‡å°‘分支开销"
+-
+-#: config/xtensa/xtensa.opt:39
+-msgid "Intersperse literal pools with code in the text section"
+-msgstr ""
+-
+-#: config/stormy16/stormy16.opt:24
+-msgid "Provide libraries for the simulator"
+-msgstr "为仿真器æ供库"
+-
+ #: config/mips/mips.opt:23
+ msgid "Generate code that conforms to the given ABI"
+ msgstr "生æˆéµå¾ªç»™å®š ABI 的代ç "
+@@ -13872,7 +14180,7 @@
+
+ #: config/mips/mips.opt:55
+ msgid "Specify when instructions are allowed to access code"
+-msgstr ""
++msgstr "指定何时指令å…许被访问代ç "
+
+ #: config/mips/mips.opt:59
+ msgid "Use branch-and-break sequences to check for integer divide by zero"
+@@ -13906,10 +14214,6 @@
+ msgid "Use little-endian byte order"
+ msgstr "令低ä½å­—节在å‰"
+
+-#: config/mips/mips.opt:97 config/iq2000/iq2000.opt:31
+-msgid "Use ROM instead of RAM"
+-msgstr "使用 ROM 而ä¸æ˜¯ RAM"
+-
+ #: config/mips/mips.opt:101
+ msgid "Use NewABI-style %reloc() assembly operators"
+ msgstr "使用 NewABI 风格的 %reloc() 汇编è¿ç®—符"
+@@ -14074,10 +14378,6 @@
+ msgid "Optimize the output for PROCESSOR"
+ msgstr "为 PROCESSOR 优化输出"
+
+-#: config/mips/mips.opt:265 config/iq2000/iq2000.opt:44
+-msgid "Put uninitialized constants in ROM (needs -membedded-data)"
+-msgstr "将未åˆå§‹åŒ–的常é‡æ”¾åœ¨ ROM 中(éœ€è¦ -membedded-data)"
+-
+ #: config/mips/mips.opt:269
+ msgid "Perform VR4130-specific alignment optimizations"
+ msgstr "进行 VR4130 特定的对é½ä¼˜åŒ–"
+@@ -14086,366 +14386,6 @@
+ msgid "Lift restrictions on GOT size"
+ msgstr "消除 GOT 大å°é™åˆ¶"
+
+-#: config/mips/sdemtk.opt:23
+-msgid "Prevent the use of all floating-point operations"
+-msgstr "ä¸å…许使用任何浮点æ“作"
+-
+-#: config/fr30/fr30.opt:23
+-msgid "Assume small address space"
+-msgstr "å‡å®šå°åœ°å€ç©ºé—´"
+-
+-#: config/m68hc11/m68hc11.opt:23 config/m68hc11/m68hc11.opt:31
+-msgid "Compile for a 68HC11"
+-msgstr "为 68HC11 汇编"
+-
+-#: config/m68hc11/m68hc11.opt:27 config/m68hc11/m68hc11.opt:35
+-msgid "Compile for a 68HC12"
+-msgstr "为 68HC12 汇编"
+-
+-#: config/m68hc11/m68hc11.opt:41 config/m68hc11/m68hc11.opt:45
+-msgid "Compile for a 68HCS12"
+-msgstr "为 68HCS12 汇编"
+-
+-#: config/m68hc11/m68hc11.opt:49
+-msgid "Auto pre/post decrement increment allowed"
+-msgstr "å…许自动å‰/åŽè‡ªå‡å¢ž"
+-
+-#: config/m68hc11/m68hc11.opt:53
+-msgid "Min/max instructions allowed"
+-msgstr "å…许 min/max 指令"
+-
+-#: config/m68hc11/m68hc11.opt:57
+-msgid "Use call and rtc for function calls and returns"
+-msgstr "为函数调用和返回使用 call 和 rtc"
+-
+-#: config/m68hc11/m68hc11.opt:61
+-msgid "Auto pre/post decrement increment not allowed"
+-msgstr "ä¸å…许自动å‰/åŽè‡ªå‡å¢ž"
+-
+-#: config/m68hc11/m68hc11.opt:65
+-msgid "Use jsr and rts for function calls and returns"
+-msgstr "为函数调用和返回使用 jsr 和 rtc"
+-
+-#: config/m68hc11/m68hc11.opt:69
+-msgid "Min/max instructions not allowed"
+-msgstr "ä¸å…许 min/max 指令"
+-
+-#: config/m68hc11/m68hc11.opt:73
+-msgid "Use direct addressing mode for soft registers"
+-msgstr "为软寄存器使用直接寻å€"
+-
+-#: config/m68hc11/m68hc11.opt:77
+-msgid "Compile with 32-bit integer mode"
+-msgstr "以 32 ä½æ•´æ•°æ¨¡å¼ç¼–译"
+-
+-#: config/m68hc11/m68hc11.opt:82
+-msgid "Specify the register allocation order"
+-msgstr "指定分é…寄存器的顺åº"
+-
+-#: config/m68hc11/m68hc11.opt:86
+-msgid "Do not use direct addressing mode for soft registers"
+-msgstr "ä¸ä¸ºè½¯å¯„存器使用直接寻å€"
+-
+-#: config/m68hc11/m68hc11.opt:90
+-msgid "Compile with 16-bit integer mode"
+-msgstr "以 16 ä½æ•´æ•°æ¨¡å¼ç¼–译"
+-
+-#: config/m68hc11/m68hc11.opt:94
+-msgid "Indicate the number of soft registers available"
+-msgstr "指示å¯ç”¨çš„软寄存器的数é‡"
+-
+-#: config/vax/vax.opt:23 config/vax/vax.opt:27
+-msgid "Target DFLOAT double precision code"
+-msgstr "ç”Ÿæˆ DFLOAT åŒç²¾åº¦ä»£ç "
+-
+-#: config/vax/vax.opt:31 config/vax/vax.opt:35
+-msgid "Generate GFLOAT double precision code"
+-msgstr "ç”Ÿæˆ GFLOAT åŒç²¾åº¦ä»£ç "
+-
+-#: config/vax/vax.opt:39
+-msgid "Generate code for GNU assembler (gas)"
+-msgstr "为 GNU 汇编器(gas)生æˆä»£ç "
+-
+-#: config/vax/vax.opt:43
+-msgid "Generate code for UNIX assembler"
+-msgstr "为 UNIX 汇编器生æˆä»£ç "
+-
+-#: config/vax/vax.opt:47
+-msgid "Use VAXC structure conventions"
+-msgstr "使用 VAXC 结构约定"
+-
+-#: config/cris/linux.opt:27
+-msgid "Together with -fpic and -fPIC, do not use GOTPLT references"
+-msgstr "与 -fpic å’Œ -fPIC åŒæ—¶ä½¿ç”¨æ—¶ï¼Œä¸ä½¿ç”¨ GOTPLT 引用"
+-
+-#: config/cris/cris.opt:45
+-msgid "Work around bug in multiplication instruction"
+-msgstr "为乘法指令中的缺陷æä¾›å˜é€š"
+-
+-#: config/cris/cris.opt:51
+-msgid "Compile for ETRAX 4 (CRIS v3)"
+-msgstr "为 ETRAX 4 (CRIS v3) 编译"
+-
+-#: config/cris/cris.opt:56
+-msgid "Compile for ETRAX 100 (CRIS v8)"
+-msgstr "为 ETRAX 100 (CRIS v8) 编译"
+-
+-#: config/cris/cris.opt:64
+-msgid "Emit verbose debug information in assembly code"
+-msgstr "在汇编代ç ä¸­ç”Ÿæˆè¯¦ç»†çš„调试信æ¯"
+-
+-#: config/cris/cris.opt:71
+-msgid "Do not use condition codes from normal instructions"
+-msgstr ""
+-
+-#: config/cris/cris.opt:80
+-msgid "Do not emit addressing modes with side-effect assignment"
+-msgstr "ä¸ä½¿ç”¨é™„带赋值作用的寻å€æ¨¡å¼"
+-
+-#: config/cris/cris.opt:89
+-msgid "Do not tune stack alignment"
+-msgstr "ä¸è°ƒæ•´å †æ ˆå¯¹é½"
+-
+-#: config/cris/cris.opt:98
+-msgid "Do not tune writable data alignment"
+-msgstr "ä¸è°ƒæ•´å¯å†™æ•°æ®å¯¹é½"
+-
+-#: config/cris/cris.opt:107
+-msgid "Do not tune code and read-only data alignment"
+-msgstr "ä¸è°ƒæ•´ä»£ç å’Œåªè¯»æ•°æ®å¯¹é½"
+-
+-#: config/cris/cris.opt:116
+-msgid "Align code and data to 32 bits"
+-msgstr "将代ç å’Œæ•°æ®å¯¹é½åˆ° 32 ä½è¾¹ç•Œä¸Š"
+-
+-#: config/cris/cris.opt:133
+-msgid "Don't align items in code or data"
+-msgstr "ä¸åœ¨ä»£ç æˆ–æ•°æ®ä¸­å¯¹é½æ¡ç›®"
+-
+-#: config/cris/cris.opt:142
+-msgid "Do not emit function prologue or epilogue"
+-msgstr "ä¸ç”Ÿæˆå‡½æ•°å‰è¨€å’Œå°¾å£°"
+-
+-#: config/cris/cris.opt:149
+-msgid "Use the most feature-enabling options allowed by other options"
+-msgstr "在其他选项å…许的情况下使用开å¯æœ€å¤šç‰¹æ€§çš„选项"
+-
+-#: config/cris/cris.opt:158
+-msgid "Override -mbest-lib-options"
+-msgstr "覆盖 -mbest-lib-options"
+-
+-#: config/cris/cris.opt:165
+-msgid "Generate code for the specified chip or CPU version"
+-msgstr "为指定的芯片或 CPU 版本生æˆä»£ç "
+-
+-#: config/cris/cris.opt:169
+-msgid "Tune alignment for the specified chip or CPU version"
+-msgstr "为指定的芯片或 CPU 版本调整对é½"
+-
+-#: config/cris/cris.opt:173
+-msgid "Warn when a stackframe is larger than the specified size"
+-msgstr "当堆栈框架大于指定值时给出警告"
+-
+-#: config/cris/aout.opt:27
+-msgid "Compile for the MMU-less Etrax 100-based elinux system"
+-msgstr "为没有 MMU 的基于 Etrax 100 的 elinux 系统编译"
+-
+-#: config/cris/aout.opt:33
+-msgid "For elinux, request a specified stack-size for this program"
+-msgstr ""
+-
+-#: config/h8300/h8300.opt:23
+-msgid "Generate H8S code"
+-msgstr "ç”Ÿæˆ H8S 代ç "
+-
+-#: config/h8300/h8300.opt:27
+-msgid "Generate H8SX code"
+-msgstr "ç”Ÿæˆ H8SX 代ç "
+-
+-#: config/h8300/h8300.opt:31
+-msgid "Generate H8S/2600 code"
+-msgstr "ç”Ÿæˆ H8S/2600 代ç "
+-
+-#: config/h8300/h8300.opt:35
+-msgid "Make integers 32 bits wide"
+-msgstr "让整数有 32 ä½å®½"
+-
+-#: config/h8300/h8300.opt:42
+-msgid "Use registers for argument passing"
+-msgstr "使用寄存器传递å‚æ•°"
+-
+-#: config/h8300/h8300.opt:46
+-msgid "Consider access to byte sized memory slow"
+-msgstr "认为按字节访问内存速度较慢"
+-
+-#: config/h8300/h8300.opt:50
+-msgid "Enable linker relaxing"
+-msgstr "å¯ç”¨é“¾æŽ¥å™¨æ¾å¼›"
+-
+-#: config/h8300/h8300.opt:54
+-msgid "Generate H8/300H code"
+-msgstr "ç”Ÿæˆ H8/300H 代ç "
+-
+-#: config/h8300/h8300.opt:58
+-msgid "Enable the normal mode"
+-msgstr "å¯ç”¨æ­£å¸¸æ¨¡å¼"
+-
+-#: config/h8300/h8300.opt:62
+-msgid "Use H8/300 alignment rules"
+-msgstr "使用 H8/300 对é½è§„则"
+-
+-#: config/v850/v850.opt:23
+-msgid "Use registers r2 and r5"
+-msgstr "使用寄存器 r2 和 r5"
+-
+-#: config/v850/v850.opt:27
+-msgid "Use 4 byte entries in switch tables"
+-msgstr "在分支表中使用 4 字节长的æ¡ç›®"
+-
+-#: config/v850/v850.opt:31
+-msgid "Enable backend debugging"
+-msgstr "å¯ç”¨åŽç«¯è°ƒè¯•"
+-
+-#: config/v850/v850.opt:35
+-msgid "Do not use the callt instruction"
+-msgstr "ä¸ä½¿ç”¨ callt 指令"
+-
+-#: config/v850/v850.opt:39
+-msgid "Reuse r30 on a per function basis"
+-msgstr "为æ¯ä¸ªå‡½æ•°é‡ç”¨ r30"
+-
+-#: config/v850/v850.opt:43
+-msgid "Support Green Hills ABI"
+-msgstr "æ”¯æŒ Green Hills ABI"
+-
+-#: config/v850/v850.opt:47
+-msgid "Prohibit PC relative function calls"
+-msgstr "ç¦æ­¢ç›¸å¯¹ PC 的函数调用"
+-
+-#: config/v850/v850.opt:51
+-msgid "Use stubs for function prologues"
+-msgstr "使用å ä½ç¨‹åºå®Œæˆå‡½æ•°å‰è¨€/尾声"
+-
+-#: config/v850/v850.opt:55
+-msgid "Set the max size of data eligible for the SDA area"
+-msgstr ""
+-
+-#: config/v850/v850.opt:59
+-msgid "Enable the use of the short load instructions"
+-msgstr "å¯ç”¨å¯¹çŸ­åŠ è½½æŒ‡ä»¤çš„使用"
+-
+-#: config/v850/v850.opt:63
+-msgid "Same as: -mep -mprolog-function"
+-msgstr "与 -mep -mprolog-function 相åŒ"
+-
+-#: config/v850/v850.opt:67
+-msgid "Set the max size of data eligible for the TDA area"
+-msgstr ""
+-
+-#: config/v850/v850.opt:71
+-msgid "Enforce strict alignment"
+-msgstr "强制严格对é½"
+-
+-#: config/v850/v850.opt:78
+-msgid "Compile for the v850 processor"
+-msgstr "为 v850 处ç†å™¨ç¼–译"
+-
+-#: config/v850/v850.opt:82
+-msgid "Compile for the v850e processor"
+-msgstr "为 v850e 处ç†å™¨ç¼–译"
+-
+-#: config/v850/v850.opt:86
+-msgid "Compile for the v850e1 processor"
+-msgstr "为 v850e1 处ç†å™¨ç¼–译"
+-
+-#: config/v850/v850.opt:90
+-msgid "Set the max size of data eligible for the ZDA area"
+-msgstr ""
+-
+-#: config/mmix/mmix.opt:24
+-msgid "For intrinsics library: pass all parameters in registers"
+-msgstr "为内建库:所有å‚数在寄存器中传递"
+-
+-#: config/mmix/mmix.opt:28
+-msgid "Use register stack for parameters and return value"
+-msgstr "使用寄存器栈传递å‚数和返回值"
+-
+-#: config/mmix/mmix.opt:32
+-msgid "Use call-clobbered registers for parameters and return value"
+-msgstr "将调用篡改的寄存器用于å‚数和返回值"
+-
+-#: config/mmix/mmix.opt:37
+-msgid "Use epsilon-respecting floating point compare instructions"
+-msgstr "使用在æ„æ— ç©·å°çš„浮点比较指令"
+-
+-#: config/mmix/mmix.opt:41
+-msgid "Use zero-extending memory loads, not sign-extending ones"
+-msgstr "使用零扩展而ä¸æ˜¯ç¬¦å·æ‰©å±•çš„内存载入"
+-
+-#: config/mmix/mmix.opt:45
+-msgid "Generate divide results with reminder having the same sign as the divisor (not the dividend)"
+-msgstr "生æˆçš„除法结果中余数符å·å°†ä¸Žé™¤æ•°è€Œä¸æ˜¯è¢«é™¤æ•°ç›¸åŒ"
+-
+-#: config/mmix/mmix.opt:49
+-msgid "Prepend global symbols with \":\" (for use with PREFIX)"
+-msgstr "在全局符å·å‰æ·»åŠ â€œ:â€(为与 PREFIX å作)"
+-
+-#: config/mmix/mmix.opt:53
+-msgid "Do not provide a default start-address 0x100 of the program"
+-msgstr "ä¸ä¸ºç¨‹åºæä¾›é»˜è®¤çš„èµ·å§‹åœ°å€ 0x100"
+-
+-#: config/mmix/mmix.opt:57
+-msgid "Link to emit program in ELF format (rather than mmo)"
+-msgstr "é“¾æŽ¥ç”Ÿæˆ ELF è€Œéž mmo æ ¼å¼çš„程åº"
+-
+-#: config/mmix/mmix.opt:61
+-msgid "Use P-mnemonics for branches statically predicted as taken"
+-msgstr "为é™æ€é¢„测为必è¦è¿›è¡Œçš„跳转使用 P 助记符"
+-
+-#: config/mmix/mmix.opt:65
+-msgid "Don't use P-mnemonics for branches"
+-msgstr "ä¸ä¸ºåˆ†æ”¯ä½¿ç”¨ P 助记符"
+-
+-#: config/mmix/mmix.opt:79
+-msgid "Use addresses that allocate global registers"
+-msgstr "使用分é…全局寄存器的地å€"
+-
+-#: config/mmix/mmix.opt:83
+-msgid "Do not use addresses that allocate global registers"
+-msgstr "ä¸ä½¿ç”¨åˆ†é…全局寄存器的地å€"
+-
+-#: config/mmix/mmix.opt:87
+-msgid "Generate a single exit point for each function"
+-msgstr "为æ¯ä¸ªå‡½æ•°ç”Ÿæˆå•ä¸€çš„退出点"
+-
+-#: config/mmix/mmix.opt:91
+-msgid "Do not generate a single exit point for each function"
+-msgstr "ä¸ä¸ºæ¯ä¸ªå‡½æ•°ç”Ÿæˆå•ä¸€çš„退出点"
+-
+-#: config/mmix/mmix.opt:95
+-msgid "Set start-address of the program"
+-msgstr "设定程åºçš„起始地å€"
+-
+-#: config/mmix/mmix.opt:99
+-msgid "Set start-address of data"
+-msgstr "设定数æ®çš„起始地å€"
+-
+-#: config/iq2000/iq2000.opt:23 config/mt/mt.opt:55
+-msgid "Specify CPU for code generation purposes"
+-msgstr "为代ç ç”ŸæˆæŒ‡å®šç›®æ ‡ CPU"
+-
+-#: config/iq2000/iq2000.opt:27
+-msgid "Specify CPU for scheduling purposes"
+-msgstr "为调度指定目标 CPU"
+-
+-#: config/iq2000/iq2000.opt:35
+-msgid "Use GP relative sdata/sbss sections"
+-msgstr "使用相对 GP 的 sdata/sbss 节"
+-
+-#: config/iq2000/iq2000.opt:40
+-msgid "No default crt0.o"
+-msgstr "没有默认的 crt0.o"
+-
+ #: config/bfin/bfin.opt:31
+ msgid "Omit frame pointer for leaf functions"
+ msgstr "为å¶å‡½æ•°(ä¸è°ƒç”¨å…¶ä»–函数的函数)忽略框架指针"
+@@ -14482,2035 +14422,2058 @@
+ msgid "Do stack checking using bounds in L1 scratch memory"
+ msgstr ""
+
+-#: config/mt/mt.opt:23
+-msgid "Use byte loads and stores when generating code."
+-msgstr "生æˆä»£ç æ—¶ä½¿ç”¨å­—节载入和存储。"
++#: treelang/lang.opt:30
++msgid "Trace lexical analysis"
++msgstr "跟踪è¯æ³•åˆ†æž"
+
+-#: config/mt/mt.opt:31
+-msgid "Do not include crt0.o in the startup files"
+-msgstr "ä¸å°† crt0.o 包å«åœ¨å¯åŠ¨æ–‡ä»¶ä¸­"
++#: treelang/lang.opt:34
++msgid "Trace the parsing process"
++msgstr "跟踪解æžè¿›ç¨‹"
+
+-#: config/mt/mt.opt:35 config/mt/mt.opt:39 config/mt/mt.opt:43
+-#: config/mt/mt.opt:47 config/mt/mt.opt:51
+-msgid "Internal debug switch"
+-msgstr "内部调试开关"
++#: java/lang.opt:65
++msgid "Warn if a deprecated compiler feature, class, method, or field is used"
++msgstr "使用ä¸å»ºè®®çš„编译器特性ã€ç±»ã€æ–¹æ³•æˆ–字段时给出警告"
+
+-#: config/vxworks.opt:24
+-msgid "Assume the VxWorks RTP environment"
+-msgstr "å‡å®š VxWorks RTP 环境"
++#: java/lang.opt:69
++msgid "Warn if deprecated empty statements are found"
++msgstr "å‘现ä¸å»ºè®®ä½¿ç”¨çš„空语å¥æ—¶ç»™å‡ºè­¦å‘Š"
+
+-#: config/vxworks.opt:31
+-msgid "Assume the VxWorks vThreads environment"
+-msgstr "å‡å®š VxWorks vThreads 环境"
++#: java/lang.opt:73
++msgid "Warn if .class files are out of date"
++msgstr "当 .class 文件已过时时给出警告"
+
+-#: config/darwin.opt:23
+-msgid "Generate code suitable for fast turn around debugging"
+-msgstr ""
++#: java/lang.opt:77
++msgid "Warn if modifiers are specified when not necessary"
++msgstr "当指定了ä¸å¿…须的修饰符时给出警告"
+
+-#: config/darwin.opt:31
+-msgid "The earliest MacOS X version on which this program will run"
+-msgstr "这个程åºå¯èƒ½åœ¨å…¶ä¸Šè¿è¡Œçš„最早的 MacOS X 版本"
++#: java/lang.opt:81
++msgid "Deprecated; use --classpath instead"
++msgstr "ä¸å»ºè®®ä½¿ç”¨ï¼›è¯·æ”¹ç”¨ --classpath"
+
+-#: config/darwin.opt:35
+-msgid "Set sizeof(bool) to 1"
+-msgstr "设定 sizeof(bool) 为 1"
++#: java/lang.opt:88
++msgid "Permit the use of the assert keyword"
++msgstr "å…许使用 assert 关键字"
+
+-#: config/darwin.opt:39
+-msgid "Generate code for darwin loadable kernel extensions"
+-msgstr "为 darwin å¯åŠ è½½å†…核扩展生æˆä»£ç "
++#: java/lang.opt:110
++msgid "Replace system path"
++msgstr "替æ¢ç³»ç»Ÿè·¯å¾„"
+
+-#: config/darwin.opt:43
+-msgid "Generate code for the kernel or loadable kernel extensions"
+-msgstr "为内核或å¯åŠ è½½å†…核扩展生æˆä»£ç "
++#: java/lang.opt:114
++msgid "Generate checks for references to NULL"
++msgstr "æ£€æŸ¥æŒ‡å‘ NULL 的引用"
+
+-#: config/darwin.opt:47
+-msgid "Add <dir> to the end of the system framework include path"
+-msgstr "å°† <目录> 添加至系统框架包å«è·¯å¾„的末尾"
++#: java/lang.opt:118
++msgid "Set class path"
++msgstr "设置类路径"
+
+-#: config/lynx.opt:23
+-msgid "Support legacy multi-threading"
+-msgstr "支æŒä¼ ç»Ÿå¤šçº¿ç¨‹"
++#: java/lang.opt:125
++msgid "Output a class file"
++msgstr "输出一个 class 文件"
+
+-#: config/lynx.opt:27
+-msgid "Use shared libraries"
+-msgstr "使用共享库"
++#: java/lang.opt:129
++msgid "Alias for -femit-class-file"
++msgstr "-fmit-class-file 的别å"
+
+-#: config/lynx.opt:31
+-msgid "Support multi-threading"
+-msgstr "支æŒå¤šçº¿ç¨‹"
++#: java/lang.opt:133
++msgid "Choose input encoding (defaults from your locale)"
++msgstr "选择输入编ç (默认æ¥è‡ªæ‚¨çš„区域选项)"
+
+-#: config/score/score.opt:31
+-msgid "Disable bcnz instruction"
+-msgstr "ç¦ç”¨ bcnz 指令"
++#: java/lang.opt:137
++msgid "Set the extension directory path"
++msgstr "设定扩展目录路径"
+
+-#: config/score/score.opt:35
+-msgid "Enable unaligned load/store instruction"
+-msgstr "å¯ç”¨ä¸å¯¹é½çš„载入/存储指令"
++#: java/lang.opt:144
++msgid "Input file is a file with a list of filenames to compile"
++msgstr "输入文件是一个文件å列表,指定了需è¦ç¼–译的文件"
+
+-#: config/score/score.opt:39
+-msgid "Support SCORE 5 ISA"
+-msgstr "æ”¯æŒ SCORE 5 ISA"
++#: java/lang.opt:151
++msgid "Always check for non gcj generated classes archives"
++msgstr "æ€»æ˜¯æ£€æŸ¥éž gcj 生æˆçš„类文档"
+
+-#: config/score/score.opt:43
+-msgid "Support SCORE 5U ISA"
+-msgstr "æ”¯æŒ SCORE 5U ISA"
++#: java/lang.opt:155
++msgid "Assume the runtime uses a hash table to map an object to its synchronization structure"
++msgstr "å‡å®šè¿è¡Œæ—¶ä½¿ç”¨ä¸€å¼ æ•£åˆ—表完æˆä»Žå¯¹è±¡åˆ°å…¶åŒæ­¥ç»“构的映射"
+
+-#: config/score/score.opt:47
+-msgid "Support SCORE 7 ISA"
+-msgstr "æ”¯æŒ SCORE 7 ISA"
++#: java/lang.opt:159
++msgid "Generate instances of Class at runtime"
++msgstr "在è¿è¡Œæ—¶ç”Ÿæˆç±»çš„实例"
+
+-#: config/score/score.opt:51
+-msgid "Support SCORE 7D ISA"
+-msgstr "æ”¯æŒ SCORE 7D ISA"
++#: java/lang.opt:163
++msgid "Use offset tables for virtual method calls"
++msgstr "为虚方法调用使用å移表"
+
+-#: config/score/score.opt:55
+-msgid "Support SCORE 3 ISA"
+-msgstr "æ”¯æŒ SCORE 3 ISA"
++#: java/lang.opt:170
++msgid "Assume native functions are implemented using JNI"
++msgstr "å‡å®šæœ¬åœ°å‡½æ•°ä½¿ç”¨ JNI 实现"
+
+-#: config/score/score.opt:59
+-msgid "Support SCORE 3d ISA"
+-msgstr "æ”¯æŒ SCORE 3d ISA"
++#: java/lang.opt:174
++msgid "Enable optimization of static class initialization code"
++msgstr "å¯ç”¨é™æ€ç±»åˆå§‹ä»£ç ä¼˜åŒ–"
+
+-#: config/linux.opt:24
+-msgid "Use uClibc instead of GNU libc"
+-msgstr "使用 uClibc 代替 GNU libc"
++#: java/lang.opt:181
++msgid "Reduce the amount of reflection meta-data generated"
++msgstr "å‡å°‘生æˆçš„å射元数æ®"
+
+-#: config/linux.opt:28
+-msgid "Use GNU libc instead of uClibc"
+-msgstr "用 GNU libc 代替 uClibc"
++#: java/lang.opt:185
++msgid "Enable assignability checks for stores into object arrays"
++msgstr "存储到对象数组时进行å¯èµ‹å€¼æ€§æ£€æŸ¥"
+
+-#: c.opt:41
+-msgid "Assert the <answer> to <question>. Putting '-' before <question> disables the <answer> to <question>"
+-msgstr "给出 <问题> çš„ <答案>。在 <问题> å‰åŠ ä¸€ä¸ªâ€˜-’将ç¦ç”¨æ­¤ <答案>"
++#: java/lang.opt:189
++msgid "Generate code for the Boehm GC"
++msgstr "为 Boehm 生æˆä»£ç "
+
+-#: c.opt:45
+-msgid "Do not discard comments"
+-msgstr "ä¸ä¸¢å¼ƒæ³¨é‡Š"
++#: java/lang.opt:193
++msgid "Call a library routine to do integer divisions"
++msgstr "调用一个库å­ç¨‹åºæ¥å®Œæˆæ•´æ•°é™¤æ³•"
+
+-#: c.opt:49
+-msgid "Do not discard comments in macro expansions"
+-msgstr "展开å®æ—¶ä¸ä¸¢å¼ƒæ³¨é‡Š"
++#: java/lang.opt:197
++msgid "Generated should be loaded by bootstrap loader"
++msgstr "生æˆçš„ç±»å¯è¢«è‡ªä¸¾åŠ è½½"
+
+-#: c.opt:53
+-msgid "Define a <macro> with <val> as its value. If just <macro> is given, <val> is taken to be 1"
+-msgstr "å°† <å®> 定义为 <值>。如果åªç»™å‡ºäº† <å®>,<值> 将被定为 1"
++#: java/lang.opt:201
++msgid "Set the source language version"
++msgstr "设定æºè¯­è¨€ç‰ˆæœ¬"
+
+-#: c.opt:60
+-msgid "Add <dir> to the end of the main framework include path"
+-msgstr "å°† <目录> 添加至主框架包å«è·¯å¾„的末尾"
++#: java/lang.opt:205
++msgid "Set the target VM version"
++msgstr "指定目标虚拟机的版本"
+
+-#: c.opt:64
+-msgid "Print the name of header files as they are used"
+-msgstr "打å°ä½¿ç”¨åˆ°çš„头文件å"
+-
+-#: c.opt:68 c.opt:859
+-msgid "Add <dir> to the end of the main include path"
+-msgstr "å°† <目录> 添加至主包å«è·¯å¾„末尾"
+-
+-#: c.opt:72
+-msgid "Generate make dependencies"
+-msgstr "ç”Ÿæˆ make ä¾èµ–项"
+-
+-#: c.opt:76
+-msgid "Generate make dependencies and compile"
+-msgstr "ç”Ÿæˆ make ä¾èµ–规则并编译"
+-
+-#: c.opt:80
+-msgid "Write dependency output to the given file"
+-msgstr "å°†ä¾èµ–项输出到给定文件"
+-
+-#: c.opt:84
+-msgid "Treat missing header files as generated files"
+-msgstr "将缺失的头文件看作生æˆçš„文件"
+-
+-#: c.opt:88
+-msgid "Like -M but ignore system header files"
+-msgstr "与 -M 类似但是忽略系统头文件"
+-
+-#: c.opt:92
+-msgid "Like -MD but ignore system header files"
+-msgstr "与 -MD 类似但是忽略系统头文件"
+-
+-#: c.opt:96
+-msgid "Generate phony targets for all headers"
+-msgstr "为所有头文件生æˆä¼ªç›®æ ‡"
+-
+-#: c.opt:100
+-msgid "Add a MAKE-quoted target"
+-msgstr "添加一个 MAKE 括起的目标"
+-
+-#: c.opt:104
+-msgid "Add an unquoted target"
+-msgstr "添加一个ä¸æ‹¬èµ·çš„目标"
+-
+-#: c.opt:108
+-msgid "Do not generate #line directives"
+-msgstr "ä¸ç”Ÿæˆ #line 指令"
+-
+-#: c.opt:112
+-msgid "Undefine <macro>"
+-msgstr "å–消定义 <å®>"
+-
+-#: c.opt:116
+-msgid "Warn about things that will change when compiling with an ABI-compliant compiler"
+-msgstr "当结果与 ABI 相容的编译器的编译结果ä¸åŒæ—¶ç»™å‡ºè­¦å‘Š"
+-
+-#: c.opt:120
+-msgid "Warn about suspicious uses of memory addresses"
+-msgstr "使用å¯ç–‘的内存地å€æ—¶ç»™å‡ºè­¦å‘Š"
+-
+-#: c.opt:124
+-msgid "Enable most warning messages"
+-msgstr "å¯ç”¨å¤§éƒ¨åˆ†è­¦å‘Šä¿¡æ¯"
+-
+-#: c.opt:128
+-msgid "Warn if a comparison is always true or always false due to the limited range of the data type"
+-msgstr "当由于数æ®ç±»åž‹èŒƒå›´é™åˆ¶æ¯”较结果永远为真或å‡æ—¶ç»™å‡ºè­¦å‘Š"
+-
+-#: c.opt:132
+-msgid "Warn whenever an Objective-C assignment is being intercepted by the garbage collector"
+-msgstr "当 Objective-C 赋值å¯èƒ½ä¸ºåžƒåœ¾å›žæ”¶æ‰€ä»‹å…¥æ—¶ç»™å‡ºè­¦å‘Š"
+-
+-#: c.opt:136
+-msgid "Warn about casting functions to incompatible types"
+-msgstr "当把函数转æ¢ä¸ºä¸å…¼å®¹ç±»åž‹æ—¶ç»™å‡ºè­¦å‘Š"
+-
+-#: c.opt:140
+-msgid "Warn about C constructs that are not in the common subset of C and C++"
+-msgstr "当在 C 语言中使用了 C 与 C++ 交集以外的构造时给出警告"
+-
+-#: c.opt:144
+-msgid "Warn about C++ constructs whose meaning differs between ISO C++ 1998 and ISO C++ 200x"
+-msgstr "当 C++ 构造的æ„义在 ISO C++ 1998 å’Œ ISO C++ 200x 中ä¸åŒæ—¶ç»™å‡ºè­¦å‘Š"
+-
+-#: c.opt:148
+-msgid "Warn about casts which discard qualifiers"
+-msgstr "当类型转æ¢ä¸¢å¤±é™å®šä¿¡æ¯æ—¶ç»™å‡ºè­¦å‘Š"
+-
+-#: c.opt:152
+-msgid "Warn about subscripts whose type is \"char\""
+-msgstr "当下标类型为“charâ€æ—¶ç»™å‡ºè­¦å‘Š"
+-
+-#: c.opt:156
+-msgid "Warn about variables that might be changed by \"longjmp\" or \"vfork\""
+-msgstr "对能为%<longjmp%>或%<vfork%>所篡改的å˜é‡ç»™å‡ºè­¦å‘Š"
+-
+-#: c.opt:160
+-msgid "Warn about possibly nested block comments, and C++ comments spanning more than one physical line"
+-msgstr "对å¯èƒ½åµŒå¥—的注释和长度超过一个物ç†è¡Œé•¿çš„ C++ 注释给出警告"
+-
+-#: c.opt:164
+-msgid "Synonym for -Wcomment"
+-msgstr "-Wcomment çš„åŒä¹‰è¯"
+-
+-#: c.opt:168
+-msgid "Warn for implicit type conversions that may change a value"
+-msgstr "当éšå¼ç±»åž‹è½¬æ¢å¯èƒ½æ”¹å˜å€¼æ—¶ç»™å‡ºè­¦å‘Š"
+-
+-#: c.opt:172
+-msgid "Warn for implicit type conversions between signed and unsigned integers"
+-msgstr "为有符å·å’Œæ— ç¬¦å·æ•´æ•°é—´çš„éšå¼ç±»åž‹è½¬æ¢ç»™å‡ºè­¦å‘Š"
+-
+-#: c.opt:176
+-msgid "Warn when all constructors and destructors are private"
+-msgstr "当所有构造函数和æžæž„函数都是ç§æœ‰æ—¶ç»™å‡ºè­¦å‘Š"
+-
+-#: c.opt:180
+-msgid "Warn when a declaration is found after a statement"
+-msgstr "当声明出现在语å¥åŽæ—¶ç»™å‡ºè­¦å‘Š"
+-
+-#: c.opt:184
+-msgid "Warn about deprecated compiler features"
+-msgstr "使用ä¸å»ºè®®çš„编译器特性时给出警告"
+-
+-#: c.opt:188
+-msgid "Warn about compile-time integer division by zero"
+-msgstr "对编译时å‘现的零除给出警告"
+-
+-#: c.opt:192
+-msgid "Warn about violations of Effective C++ style rules"
+-msgstr "对ä¸éµå¾ª Effetive C++ 的风格给出警告"
+-
+-#: c.opt:196
+-msgid "Warn about an empty body in an if or else statement"
+-msgstr "当 if 或 else 语å¥ä½“为空时给出警告"
+-
+-#: c.opt:200
+-msgid "Warn about stray tokens after #elif and #endif"
+-msgstr "当 #elif å’Œ #endif åŽé¢è·Ÿæœ‰å…¶ä»–标识符时给出警告"
+-
+-#: c.opt:208
+-msgid "This switch is deprecated; use -Werror=implicit-function-declaration instead"
+-msgstr "ä¸å»ºè®®ä½¿ç”¨æ­¤å¼€å…³ï¼›è¯·æ”¹ç”¨ -Werror=implicit-function-declaration"
+-
+-#: c.opt:212
+-msgid "Warn if testing floating point numbers for equality"
+-msgstr "当比较浮点数是å¦ç›¸ç­‰æ—¶ç»™å‡ºè­¦å‘Š"
+-
+-#: c.opt:216
+-msgid "Warn about printf/scanf/strftime/strfmon format string anomalies"
+-msgstr "对 printf/scanf/strftime/strfmon 中的格å¼å­—符串异常给出警告"
+-
+-#: c.opt:220
+-msgid "Warn if passing too many arguments to a function for its format string"
+-msgstr "当传递给格å¼å­—符串的实å‚太多时给出警告"
+-
+-#: c.opt:224
+-msgid "Warn about format strings that are not literals"
+-msgstr "当格å¼å­—符串ä¸æ˜¯å­—é¢å€¼æ—¶ç»™å‡ºè­¦å‘Š"
+-
+-#: c.opt:228
+-msgid "Warn about format strings that contain NUL bytes"
+-msgstr "当格å¼å­—ç¬¦ä¸²åŒ…å« NUL 字节时给出警告"
+-
+-#: c.opt:232
+-msgid "Warn about possible security problems with format functions"
+-msgstr "当使用格å¼å­—符串的函数å¯èƒ½å¯¼è‡´å®‰å…¨é—®é¢˜æ—¶ç»™å‡ºè­¦å‘Š"
+-
+-#: c.opt:236
+-msgid "Warn about strftime formats yielding 2-digit years"
+-msgstr "当 strftime æ ¼å¼ç»™å‡º 2 ä½è®°å¹´æ—¶ç»™å‡ºè­¦å‘Š"
+-
+-#: c.opt:240
+-msgid "Warn about zero-length formats"
+-msgstr "对长度为 0 çš„æ ¼å¼å­—符串给出警告"
+-
+-#: c.opt:247
+-msgid "Warn about variables which are initialized to themselves"
+-msgstr "对åˆå§‹åŒ–为自身的å˜é‡ç»™å‡ºè­¦å‘Šã€‚"
+-
+-#: c.opt:254
+-msgid "Warn about implicit function declarations"
+-msgstr "对éšå¼å‡½æ•°å£°æ˜Žç»™å‡ºè­¦å‘Š"
+-
+-#: c.opt:258
+-msgid "Warn when a declaration does not specify a type"
+-msgstr "当声明未指定类型时给出警告"
+-
+-#: c.opt:262
+-msgid "Deprecated. This switch has no effect"
+-msgstr "ä¸å»ºè®®ä½¿ç”¨ã€‚此开关ä¸èµ·ä½œç”¨ã€‚"
+-
+-#: c.opt:266
+-msgid "Warn when there is a cast to a pointer from an integer of a different size"
+-msgstr "当将一个大å°ä¸åŒçš„整数转æ¢ä¸ºæŒ‡é’ˆæ—¶ç»™å‡ºè­¦å‘Š"
+-
+-#: c.opt:270
+-msgid "Warn about invalid uses of the \"offsetof\" macro"
+-msgstr "对“offsetofâ€å®æ— æ•ˆçš„使用给出警告"
+-
+-#: c.opt:274
+-msgid "Warn about PCH files that are found but not used"
+-msgstr "在找到了 PCH 文件但未使用的情况给出警告"
+-
+-#: c.opt:278
+-msgid "Do not warn about using \"long long\" when -pedantic"
+-msgstr "当使用 -pedantic æ—¶ä¸å¯¹â€œlong longâ€ç»™å‡ºè­¦å‘Š"
+-
+-#: c.opt:282
+-msgid "Warn about suspicious declarations of \"main\""
+-msgstr "对å¯ç–‘的“mainâ€å£°æ˜Žç»™å‡ºè­¦å‘Š"
+-
+-#: c.opt:286
+-msgid "Warn about possibly missing braces around initializers"
+-msgstr "è‹¥åˆå§‹å€¼è®¾å®šé¡¹ä¸­å¯èƒ½ç¼ºå°‘花括å·åˆ™ç»™å‡ºè­¦å‘Š"
+-
+-#: c.opt:290
+-msgid "Warn about global functions without previous declarations"
+-msgstr "当全局函数没有å‰å‘声明时给出警告"
+-
+-#: c.opt:294
+-msgid "Warn about missing fields in struct initializers"
+-msgstr "若结构åˆå§‹å€¼è®¾å®šé¡¹ä¸­ç¼ºå°‘字段则给出警告"
+-
+-#: c.opt:298
+-msgid "Warn about functions which might be candidates for format attributes"
+-msgstr "当函数å¯èƒ½æ˜¯ format 属性的备选时给出警告"
+-
+-#: c.opt:302
+-msgid "Warn about user-specified include directories that do not exist"
+-msgstr "当用户给定的包å«ç›®å½•ä¸å­˜åœ¨æ—¶ç»™å‡ºè­¦å‘Š"
+-
+-#: c.opt:306
+-msgid "Warn about function parameters declared without a type specifier in K&R-style functions"
+-msgstr "K&R 风格函数å‚数声明中未指定类型é™å®šç¬¦æ—¶ç»™å‡ºè­¦å‘Š"
+-
+-#: c.opt:310
+-msgid "Warn about global functions without prototypes"
+-msgstr "全局函数没有原型时给出警告"
+-
+-#: c.opt:314
+-msgid "Warn about use of multi-character character constants"
+-msgstr "使用多字节字符集的字符常é‡æ—¶ç»™å‡ºè­¦å‘Š"
+-
+-#: c.opt:318
+-msgid "Warn about \"extern\" declarations not at file scope"
+-msgstr "当“externâ€å£°æ˜Žä¸åœ¨æ–‡ä»¶ä½œç”¨åŸŸæ—¶ç»™å‡ºè­¦å‘Š"
+-
+-#: c.opt:322
+-msgid "Warn when non-templatized friend functions are declared within a template"
+-msgstr "在模æ¿å†…声明未模æ¿åŒ–çš„å‹å…ƒå‡½æ•°æ—¶ç»™å‡ºè­¦å‘Š"
+-
+-#: c.opt:326
+-msgid "Warn about non-virtual destructors"
+-msgstr "当æžæž„函数ä¸æ˜¯è™šå‡½æ•°æ—¶ç»™å‡ºè­¦å‘Š"
+-
+-#: c.opt:330
+-msgid "Warn about NULL being passed to argument slots marked as requiring non-NULL"
+-msgstr "当将 NULL 传递给需è¦éž NULL çš„å‚数的函数时给出警告"
+-
+-#: c.opt:334
+-msgid "Warn about non-normalised Unicode strings"
+-msgstr "为未归一化的 Unicode 字符串给出警告"
+-
+-#: c.opt:338
+-msgid "Warn if a C-style cast is used in a program"
+-msgstr "程åºä½¿ç”¨ C 风格的类型转æ¢æ—¶ç»™å‡ºè­¦å‘Š"
+-
+-#: c.opt:342
+-msgid "Warn for obsolescent usage in a declaration"
+-msgstr "对声明中的过时用法给出警告"
+-
+-#: c.opt:346
+-msgid "Warn if an old-style parameter definition is used"
+-msgstr "使用旧å¼å½¢å‚定义时给出警告"
+-
+-#: c.opt:350
+-msgid "Warn if a string is longer than the maximum portable length specified by the standard"
+-msgstr "当字符串长度超过标准规定的å¯ç§»æ¤çš„最大长度时给出警告"
+-
+-#: c.opt:354
+-msgid "Warn about overloaded virtual function names"
+-msgstr "é‡è½½è™šå‡½æ•°å时给出警告"
+-
+-#: c.opt:358
+-msgid "Warn about overriding initializers without side effects"
+-msgstr "覆盖无副作用的åˆå§‹åŒ–设定时给出警告"
+-
+-#: c.opt:362
+-msgid "Warn about possibly missing parentheses"
+-msgstr "å¯èƒ½ç¼ºå°‘括å·çš„情况下给出警告"
+-
+-#: c.opt:366
+-msgid "Warn when converting the type of pointers to member functions"
+-msgstr "当改å˜æˆå‘˜å‡½æ•°æŒ‡é’ˆçš„类型时给出警告"
+-
+-#: c.opt:370
+-msgid "Warn about function pointer arithmetic"
+-msgstr "当在算术表达å¼ä¸­ä½¿ç”¨å‡½æ•°æŒ‡é’ˆæ—¶ç»™å‡ºè­¦å‘Š"
+-
+-#: c.opt:374
+-msgid "Warn when a pointer is cast to an integer of a different size"
+-msgstr "将一个指针转æ¢ä¸ºå¤§å°ä¸åŒçš„整数时给出警告"
+-
+-#: c.opt:378
+-msgid "Warn about misuses of pragmas"
+-msgstr "对错误使用的 pragma 加以警告"
+-
+-#: c.opt:382
+-msgid "Warn if inherited methods are unimplemented"
+-msgstr "当继承æ¥çš„方法未被实现时给出警告"
+-
+-#: c.opt:386
+-msgid "Warn about multiple declarations of the same object"
+-msgstr "对åŒä¸€ä¸ªå¯¹è±¡å¤šæ¬¡å£°æ˜Žæ—¶ç»™å‡ºè­¦å‘Š"
+-
+-#: c.opt:390
+-msgid "Warn when the compiler reorders code"
+-msgstr "编译器将代ç é‡æ–°æŽ’åºæ—¶ç»™å‡ºè­¦å‘Š"
+-
+-#: c.opt:394
+-msgid "Warn whenever a function's return type defaults to \"int\" (C), or about inconsistent return types (C++)"
+-msgstr "当 C 函数的返回值默认为“intâ€ï¼Œæˆ–者 C++ 函数的返回类型ä¸ä¸€è‡´æ—¶ç»™å‡ºè­¦å‘Š"
+-
+-#: c.opt:398
+-msgid "Warn if a selector has multiple methods"
+-msgstr "当选择å­æœ‰å¤šä¸ªæ–¹æ³•æ—¶ç»™å‡ºè­¦å‘Š"
+-
+-#: c.opt:402
+-msgid "Warn about possible violations of sequence point rules"
+-msgstr "当å¯èƒ½è¿å定åºç‚¹è§„则时给出警告"
+-
+-#: c.opt:406
+-msgid "Warn about signed-unsigned comparisons"
+-msgstr "在有符å·å’Œæ— ç¬¦å·æ•°é—´è¿›è¡Œæ¯”较时给出警告"
+-
+-#: c.opt:410
+-msgid "Warn when overload promotes from unsigned to signed"
+-msgstr "当é‡è½½å°†æ— ç¬¦å·æ•°æå‡ä¸ºæœ‰ç¬¦å·æ•°æ—¶ç»™å‡ºè­¦å‘Š"
+-
+-#: c.opt:414
+-msgid "Warn about uncasted NULL used as sentinel"
+-msgstr "将未作转æ¢çš„ NULL 用作哨兵时给出警告"
+-
+-#: c.opt:418
+-msgid "Warn about unprototyped function declarations"
+-msgstr "使用了éžåŽŸåž‹çš„函数声明时给出警告"
+-
+-#: c.opt:422
+-msgid "Warn if type signatures of candidate methods do not match exactly"
+-msgstr "当备选方法的类型签字ä¸å®Œå…¨åŒ¹é…时给出警告"
+-
+-#: c.opt:426
+-msgid "Warn when synthesis behavior differs from Cfront"
+-msgstr "当综åˆè¡Œä¸ºä¸åŒäºŽ Cfront 时给出警告"
+-
+-#: c.opt:430 common.opt:182
+-msgid "Do not suppress warnings from system headers"
+-msgstr "ä¸æŠ‘制系统头文件中的警告"
+-
+-#: c.opt:434
+-msgid "Warn about features not present in traditional C"
+-msgstr "使用了传统 C ä¸æ”¯æŒçš„特性时给出警告"
+-
+-#: c.opt:438
+-msgid "Warn of prototypes causing type conversions different from what would happen in the absence of prototype"
+-msgstr "原型导致的类型转æ¢ä¸Žæ— åŽŸåž‹æ—¶çš„类型转æ¢ä¸åŒæ—¶ç»™å‡ºè­¦å‘Š"
+-
+-#: c.opt:442
+-msgid "Warn if trigraphs are encountered that might affect the meaning of the program"
+-msgstr "当三字æ¯åºåˆ—å¯èƒ½å½±å“程åºæ„义时给出警告"
+-
+-#: c.opt:446
+-msgid "Warn about @selector()s without previously declared methods"
+-msgstr "当使用 @selector() å´ä¸ä½œäº‹å…ˆå£°æ˜Žæ—¶ç»™å‡ºè­¦å‘Š"
+-
+-#: c.opt:450
+-msgid "Warn if an undefined macro is used in an #if directive"
+-msgstr "当 #if 指令中用到未定义的å®æ—¶ç»™å‡ºè­¦å‘Š"
+-
+-#: c.opt:454
+-msgid "Warn about unrecognized pragmas"
+-msgstr "对无法识别的 pragma 加以警告"
+-
+-#: c.opt:458
+-msgid "Warn about macros defined in the main file that are not used"
+-msgstr "当定义在主文件中的å®æœªè¢«ä½¿ç”¨æ—¶ç»™å‡ºè­¦å‘Š"
+-
+-#: c.opt:462
+-msgid "Do not warn about using variadic macros when -pedantic"
+-msgstr "指定 -pedantic æ—¶ä¸ä¸ºå¯å˜å‚æ•°å®ç»™å‡ºè­¦å‘Š"
+-
+-#: c.opt:466
+-msgid "Warn if a variable length array is used"
+-msgstr "使用å˜é•¿æ•°ç»„时警告"
+-
+-#: c.opt:470
+-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 标准所ä¸é¼“励。"
+-
+-#: c.opt:474
+-msgid "Warn when a pointer differs in signedness in an assignment"
+-msgstr "赋值时如指针符å·ä¸ä¸€è‡´åˆ™ç»™å‡ºè­¦å‘Š"
+-
+-#: c.opt:478
+-msgid "A synonym for -std=c89 (for C) or -std=c++98 (for C++)"
+-msgstr "-std=c89 (对 C æ¥è¯´) 或 -std=c++98 (对 C++ æ¥è¯´)çš„åŒä¹‰è¯"
+-
+-#: c.opt:486
+-msgid "Enforce class member access control semantics"
+-msgstr "执行类æˆå‘˜è®¿é—®æŽ§åˆ¶è¯­ä¹‰"
+-
+-#: c.opt:493
+-msgid "Change when template instances are emitted"
+-msgstr "使用ä¸åŒçš„模æ¿å®žä¾‹åŒ–实现"
+-
+-#: c.opt:497
+-msgid "Recognize the \"asm\" keyword"
+-msgstr "识别“asmâ€å…³é”®å­—"
+-
+-#: c.opt:501
+-msgid "Recognize built-in functions"
+-msgstr "识别内建函数"
+-
+-#: c.opt:508
+-msgid "Check the return value of new"
+-msgstr "检查 new 的返回值"
+-
+-#: c.opt:512
+-msgid "Allow the arguments of the '?' operator to have different types"
+-msgstr "å…许‘?’è¿ç®—符的å‚数有ä¸åŒçš„类型"
+-
+-#: c.opt:516
+-msgid "Reduce the size of object files"
+-msgstr "å‡å°ç›®æ ‡æ–‡ä»¶"
+-
+-#: c.opt:520
+-msgid "Use class <name> for constant strings"
+-msgstr "使用 <å> 作为常é‡å­—符串类的å称"
+-
+-#: c.opt:524
+-msgid "Inline member functions by default"
+-msgstr "默认内è”æˆå‘˜å‡½æ•°"
+-
+-#: c.opt:528
+-msgid "Preprocess directives only."
+-msgstr "仅预处ç†æŒ‡ç¤ºã€‚"
+-
+-#: c.opt:532
+-msgid "Permit '$' as an identifier character"
+-msgstr "å…许‘$’作为标识符的一部分"
+-
+-#: c.opt:539
+-msgid "Generate code to check exception specifications"
+-msgstr "生æˆæ£€æŸ¥å¼‚常规范的代ç "
+-
+-#: c.opt:546
+-msgid "Convert all strings and character constants to character set <cset>"
+-msgstr "将所有字符串和字符常é‡è½¬æ¢åˆ° <字符集>"
+-
+-#: c.opt:550
+-msgid "Permit universal character names (\\u and \\U) in identifiers"
+-msgstr "å…许标识符中出现 Unicode 字符å(\\u å’Œ \\U)"
+-
+-#: c.opt:554
+-msgid "Specify the default character set for source files"
+-msgstr "指定æºä»£ç çš„默认字符集"
+-
+-#: c.opt:562
+-msgid "Scope of for-init-statement variables is local to the loop"
+-msgstr "for 循环åˆå§‹åŒ–中定义的å˜é‡ä½œç”¨åŸŸå±€é™äºŽå¾ªçŽ¯å†…"
+-
+-#: c.opt:566
+-msgid "Do not assume that standard C libraries and \"main\" exist"
+-msgstr "ä¸å‡å®šæ ‡å‡† C 库和“mainâ€å­˜åœ¨"
+-
+-#: c.opt:570
+-msgid "Recognize GNU-defined keywords"
+-msgstr "识别 GNU 定义的关键字"
+-
+-#: c.opt:574
+-msgid "Generate code for GNU runtime environment"
+-msgstr "为 GNU è¿è¡Œæ—¶çŽ¯å¢ƒç”Ÿæˆä»£ç "
+-
+-#: c.opt:578
+-msgid "Use traditional GNU semantics for inline functions"
+-msgstr "为内è”函数使用传统的 GNU 语义"
+-
+-#: c.opt:591
+-msgid "Assume normal C execution environment"
+-msgstr "å‡å®šä¸€èˆ¬çš„ C 执行环境"
+-
+-#: c.opt:595
+-msgid "Enable support for huge objects"
+-msgstr "å¯ç”¨å¯¹å·¨åž‹å¯¹è±¡çš„支æŒ"
+-
+-#: c.opt:599
+-msgid "Export functions even if they can be inlined"
+-msgstr "导出被内è”的函数"
+-
+-#: c.opt:603
+-msgid "Emit implicit instantiations of inline templates"
+-msgstr "å…许内è”模æ¿éšå¼å®žä¾‹åŒ–"
+-
+-#: c.opt:607
+-msgid "Emit implicit instantiations of templates"
+-msgstr "å…许模æ¿éšå¼å®žä¾‹åŒ–"
+-
+-#: c.opt:611
+-msgid "Inject friend functions into enclosing namespace"
+-msgstr "å°†å‹å…ƒå‡½æ•°å£°æ˜Žè§†ä½œåŒ…å«å®ƒçš„命å空间中的有效声明"
+-
+-#: c.opt:618
+-msgid "Allow implicit conversions between vectors with differing numbers of subparts and/or differing element types."
+-msgstr "å…许具有ä¸åŒå…ƒç´ æ•°é‡å’Œ/或元素类型的矢é‡é—´çš„转æ¢"
+-
+-#: c.opt:622
+-msgid "Don't warn about uses of Microsoft extensions"
+-msgstr "使用微软扩展时ä¸ç»™å‡ºè­¦å‘Š"
+-
+-#: c.opt:632
+-msgid "Generate code for NeXT (Apple Mac OS X) runtime environment"
+-msgstr "为 NeXT (苹果 Mac OS X) è¿è¡Œæ—¶çŽ¯å¢ƒç”Ÿæˆä»£ç "
+-
+-#: c.opt:636
+-msgid "Assume that receivers of Objective-C messages may be nil"
+-msgstr "å‡å®š Objective-C 消æ¯çš„接å—者å¯èƒ½æ˜¯ nil"
+-
+-#: c.opt:648
+-msgid "Generate special Objective-C methods to initialize/destroy non-POD C++ ivars, if needed"
+-msgstr "如果需è¦ï¼Œç”Ÿæˆç‰¹æ®Šçš„ Objective-C 方法æ¥åˆå§‹åŒ–/æžæž„éžç®€å•æ—§æ•°æ® C++ å˜é‡"
+-
+-#: c.opt:652
+-msgid "Allow fast jumps to the message dispatcher"
+-msgstr "å…许快速跳转至消æ¯åˆ†å‘者"
+-
+-#: c.opt:658
+-msgid "Enable Objective-C exception and synchronization syntax"
+-msgstr "å¯ç”¨ Objective-C 异常和åŒæ­¥è¯­æ³•"
+-
+-#: c.opt:662
+-msgid "Enable garbage collection (GC) in Objective-C/Objective-C++ programs"
+-msgstr "在 Objective-C/Objective-C++ 程åºä¸­å¯ç”¨åžƒåœ¾æ”¶é›†"
+-
+-#: c.opt:667
+-msgid "Enable Objective-C setjmp exception handling runtime"
+-msgstr "å¯ç”¨ Objective-C setjmp 异常处ç†è¿è¡Œæ—¶"
+-
+-#: c.opt:671
+-msgid "Enable OpenMP"
+-msgstr "å¯ç”¨ OpenMP"
+-
+-#: c.opt:675
+-msgid "Recognize C++ kewords like \"compl\" and \"xor\""
+-msgstr "识别“complâ€ã€â€œxorâ€ç­‰ C++ 关键è¯"
+-
+-#: c.opt:679
+-msgid "Enable optional diagnostics"
+-msgstr "å¯åŠ¨å¯é€‰çš„诊断信æ¯"
+-
+-#: c.opt:686
+-msgid "Look for and use PCH files even when preprocessing"
+-msgstr "å³ä½¿åœ¨é¢„处ç†æ—¶ä¹Ÿæœç´¢å¹¶ä½¿ç”¨ PCH 文件"
+-
+-#: c.opt:690
+-msgid "Downgrade conformance errors to warnings"
+-msgstr "将兼容性错误é™æ ¼ä¸ºè­¦å‘Š"
+-
+-#: c.opt:694
+-msgid "Treat the input file as already preprocessed"
+-msgstr "将输入文件当作已ç»é¢„处ç†è¿‡çš„"
+-
+-#: c.opt:698
+-msgid "Used in Fix-and-Continue mode to indicate that object files may be swapped in at runtime"
+-msgstr "指定对象文件å¯èƒ½åœ¨è¿è¡Œæ—¶è¢«æ¢å…¥ä»¥å…许“修å¤å¹¶ç»§ç»­â€è°ƒè¯•æ¨¡å¼"
+-
+-#: c.opt:702
+-msgid "Enable automatic template instantiation"
+-msgstr "å¯ç”¨æ¨¡æ¿è‡ªåŠ¨å®žä¾‹åŒ–"
+-
+-#: c.opt:706
+-msgid "Generate run time type descriptor information"
+-msgstr "生æˆè¿è¡Œæ—¶ç±»åž‹æè¿°ä¿¡æ¯"
+-
+-#: c.opt:710
+-msgid "Use the same size for double as for float"
+-msgstr "令 double 使用 float 的大å°"
+-
+-#: c.opt:718
+-msgid "Force the underlying type for \"wchar_t\" to be \"unsigned short\""
+-msgstr "强制指定“wchar_tâ€çš„内在类型为“unsigned shortâ€"
+-
+-#: c.opt:722
+-msgid "When \"signed\" or \"unsigned\" is not given make the bitfield signed"
+-msgstr "没有给定“signedâ€æˆ–“unsignedâ€æ—¶å°†ä½æ®µè§†ä½œæœ‰ç¬¦å·çš„"
+-
+-#: c.opt:726
+-msgid "Make \"char\" signed by default"
+-msgstr "使“charâ€ç±»åž‹é»˜è®¤ä¸ºæœ‰ç¬¦å·"
+-
+-#: c.opt:733
+-msgid "Display statistics accumulated during compilation"
+-msgstr "显示编译过程中累计的统计数字"
+-
+-#: c.opt:740
+-msgid "Distance between tab stops for column reporting"
+-msgstr "指定报告列å·æ—¶åˆ¶è¡¨ä½é—´çš„è·ç¦»"
+-
+-#: c.opt:744
+-msgid "Specify maximum template instantiation depth"
+-msgstr "指定模æ¿å®žä¾‹åŒ–的最大深度"
+-
+-#: c.opt:751
+-msgid "Do not generate thread-safe code for initializing local statics"
+-msgstr "ä¸ä¸ºå±€éƒ¨é™æ€å˜é‡ç”Ÿæˆçº¿ç¨‹å®‰å…¨çš„åˆå§‹åŒ–代ç "
+-
+-#: c.opt:755
+-msgid "When \"signed\" or \"unsigned\" is not given make the bitfield unsigned"
+-msgstr "未指定“signedâ€æˆ–“unsignedâ€æ—¶é»˜è®¤ä½æ®µä¸ºæ— ç¬¦å·çš„"
+-
+-#: c.opt:759
+-msgid "Make \"char\" unsigned by default"
+-msgstr "使“charâ€ç±»åž‹é»˜è®¤ä¸ºæ— ç¬¦å·"
+-
+-#: c.opt:763
+-msgid "Use __cxa_atexit to register destructors"
+-msgstr "å°† __cxa_atexit è€Œéž atexit 登记为æžæž„函数"
+-
+-#: c.opt:767
+-msgid "Use __cxa_get_exception_ptr in exception handling"
+-msgstr "在异常处ç†ä¸­ä½¿ç”¨ __cxa_get_exception_ptr"
+-
+-#: c.opt:771
+-msgid "Marks all inlined methods as having hidden visibility"
+-msgstr "将所有内è”函数标记为具有éšè—çš„å¯è§æ€§"
+-
+-#: c.opt:775
+-msgid "Changes visibility to match Microsoft Visual Studio by default"
+-msgstr "默认使用与 Microsoft Visual Studio 匹é…çš„å¯è§æ€§"
+-
+-#: c.opt:779
+-msgid "Discard unused virtual functions"
+-msgstr "抛弃未使用的虚函数"
+-
+-#: c.opt:783
+-msgid "Implement vtables using thunks"
+-msgstr "使用 thunk 技术实现 vtable"
+-
+-#: c.opt:787
+-msgid "Emit common-like symbols as weak symbols"
+-msgstr "将公共符å·è§†ä½œå¼±ç¬¦å·"
+-
+-#: c.opt:791
+-msgid "Convert all wide strings and character constants to character set <cset>"
+-msgstr "将所有宽字符串和字符常é‡éƒ½è½¬æ¢ä¸º <cset>"
+-
+-#: c.opt:795
+-msgid "Generate a #line directive pointing at the current working directory"
+-msgstr "生æˆä¸€ä¸ªæŒ‡å‘当å‰å·¥ä½œç›®å½•çš„ #line 预处ç†æŒ‡ä»¤"
+-
+-#: c.opt:799
+-msgid "Emit cross referencing information"
+-msgstr "生æˆäº¤å‰å¼•ç”¨ä¿¡æ¯"
+-
+-#: c.opt:803
+-msgid "Generate lazy class lookup (via objc_getClass()) for use in Zero-Link mode"
+-msgstr "为 Zero-Link 模å¼ç”ŸæˆåŽæœŸç±»æŸ¥æ‰¾(通过 objc_getClass())"
+-
+-#: c.opt:807
+-msgid "Dump declarations to a .decl file"
+-msgstr "将声明转储到一个 .decl 文件中"
+-
+-#: c.opt:811
+-msgid "Aggressive reduced debug info for structs"
+-msgstr "积æžåœ°ç¼©å‡ç»“构体的调试信æ¯"
+-
+-#: c.opt:815
+-msgid "Conservative reduced debug info for structs"
+-msgstr "ä¿å®ˆåœ°ç¼©å‡ç»“构体的调试信æ¯"
+-
+-#: c.opt:819
+-msgid "Detailed reduced debug info for structs"
+-msgstr "详细指定如何缩å‡ç»“构体的调试信æ¯"
+-
+-#: c.opt:823 c.opt:855
+-msgid "Add <dir> to the end of the system include path"
+-msgstr "å°† <目录> 添加至系统包å«è·¯å¾„末尾"
+-
+-#: c.opt:827
+-msgid "Accept definition of macros in <file>"
+-msgstr "æŽ¥å— <文件> 中定义的å®"
+-
+-#: c.opt:831
+-msgid "-imultilib <dir> Set <dir> to be the multilib include subdirectory"
+-msgstr "-imultilib <目录> å°† <目录> 设定为 multilib 的包å«å­ç›®å½•"
+-
+-#: c.opt:835
+-msgid "Include the contents of <file> before other files"
+-msgstr "在包å«å…¶ä»–文件之å‰å…ˆåŒ…å« <文件> 的内容"
+-
+-#: c.opt:839
+-msgid "Specify <path> as a prefix for next two options"
+-msgstr "å°† <路径> 指定为下两个选项的å‰ç¼€"
+-
+-#: c.opt:843
+-msgid "Set <dir> to be the system root directory"
+-msgstr "将 <目录> 设为系统根目录"
+-
+-#: c.opt:847
+-msgid "Add <dir> to the start of the system include path"
+-msgstr "å°† <目录> 添加至系统包å«è·¯å¾„开头"
+-
+-#: c.opt:851
+-msgid "Add <dir> to the end of the quote include path"
+-msgstr "å°† <目录> 添加至引å·åŒ…å«è·¯å¾„末尾"
+-
+-#: c.opt:872
+-msgid "Do not search standard system include directories (those specified with -isystem will still be used)"
+-msgstr "ä¸æœç´¢æ ‡å‡†ç³»ç»Ÿå¤´æ–‡ä»¶ç›®å½•(但ä»å°†ä½¿ç”¨ç”± -isystem 指定的目录)"
+-
+-#: c.opt:876
+-msgid "Do not search standard system include directories for C++"
+-msgstr "ä¸æœç´¢ C++ 标准系统头文件目录"
+-
+-#: c.opt:892
+-msgid "Generate C header of platform-specific features"
+-msgstr "生æˆæœ‰å¹³å°ç›¸å…³ç‰¹æ€§çš„ C 头文件"
+-
+-#: c.opt:896
+-msgid "Print a checksum of the executable for PCH validity checking, and stop"
+-msgstr "打å°å‡ºç”¨äºŽ PCH 有效性检查的å¯æ‰§è¡Œæ–‡ä»¶çš„校验和,然åŽé€€å‡º"
+-
+-#: c.opt:900
+-msgid "Remap file names when including files"
+-msgstr "包å«æ–‡ä»¶æ—¶æ˜ å°„短文件å"
+-
+-#: c.opt:904
+-msgid "Conform to the ISO 1998 C++ standard"
+-msgstr "éµå¾ª ISO 1998 C++ 标准"
+-
+-#: c.opt:908
+-msgid "Conform to the ISO 1998 C++ standard, with extensions that are likely to"
+-msgstr "éµå¾ª ISO 1998 C++ 标准,也支æŒå¯èƒ½é›†æˆåœ¨ä¸‹ä¸€ä¸ª ISO C++ 标准中的扩展"
+-
+-#: c.opt:915 c.opt:950
+-msgid "Conform to the ISO 1990 C standard"
+-msgstr "éµå¾ª ISO 1990 C 标准"
+-
+-#: c.opt:919 c.opt:958
+-msgid "Conform to the ISO 1999 C standard"
+-msgstr "éµå¾ª ISO 1999 C 标准"
+-
+-#: c.opt:923
+-msgid "Deprecated in favor of -std=c99"
+-msgstr "ä¸å»ºè®®ä½¿ç”¨ï¼Œè¯·æ”¹ç”¨ -std=c99"
+-
+-#: c.opt:927
+-msgid "Conform to the ISO 1998 C++ standard with GNU extensions"
+-msgstr "éµå¾ª ISO 1998 C++ æ ‡å‡†ï¼Œä¹Ÿæ”¯æŒ GNU 扩展"
+-
+-#: c.opt:931
+-msgid "Conform to the ISO 1998 C++ standard, with GNU extensions and"
+-msgstr "éµå¾ª ISO 1998 C++ æ ‡å‡†ï¼Œä¹Ÿæ”¯æŒ GNU 扩展和å¯èƒ½é›†æˆåœ¨ä¸‹ä¸€ä»£ ISO C++ 标准中的扩展"
+-
+-#: c.opt:938
+-msgid "Conform to the ISO 1990 C standard with GNU extensions"
+-msgstr "éµå¾ª ISO 1990 C æ ‡å‡†ï¼Œä¹Ÿæ”¯æŒ GNU 扩展"
+-
+-#: c.opt:942
+-msgid "Conform to the ISO 1999 C standard with GNU extensions"
+-msgstr "éµå¾ª ISO 1999 C æ ‡å‡†ï¼Œä¹Ÿæ”¯æŒ GNU 扩展"
+-
+-#: c.opt:946
+-msgid "Deprecated in favor of -std=gnu99"
+-msgstr "ä¸å»ºè®®ä½¿ç”¨ï¼Œè¯·æ”¹ç”¨ -std=gnu99"
+-
+-#: c.opt:954
+-msgid "Conform to the ISO 1990 C standard as amended in 1994"
+-msgstr "éµå¾ª ISO 1990 C 标准于 1994 年修订的版本"
+-
+-#: c.opt:962
+-msgid "Deprecated in favor of -std=iso9899:1999"
+-msgstr "ä¸å»ºè®®ä½¿ç”¨ï¼Œä¸º -std=iso9899:1999 所å–代"
+-
+-#: c.opt:966
+-msgid "Enable traditional preprocessing"
+-msgstr "å¯ç”¨ä¼ ç»Ÿé¢„处ç†"
+-
+-#: c.opt:970
+-msgid "Support ISO C trigraphs"
+-msgstr "æ”¯æŒ ISO C 三元符"
+-
+-#: c.opt:974
+-msgid "Do not predefine system-specific and GCC-specific macros"
+-msgstr "ä¸é¢„定义系统或 GCC 特定的å®"
+-
+-#: c.opt:978
+-msgid "Enable verbose output"
+-msgstr "å¯ç”¨è¯¦ç»†è¾“出"
+-
+-#: common.opt:27
++#: common.opt:28
+ msgid "Display this information"
+ msgstr "显示此信æ¯"
+
+-#: common.opt:31
++#: common.opt:32
+ msgid "Display descriptions of a specific class of options. <class> is one or more of optimizers, target, warnings, undocumented, params"
+ msgstr "显示一或多项特定类型选项的æ述。<类型>å¯èƒ½æ˜¯ optimizersã€targetã€warningsã€undocumentedã€params"
+
+-#: common.opt:35
++#: common.opt:36
+ msgid "Alias for --help=target"
+ msgstr "--help=target 的别å"
+
+-#: common.opt:51
++#: common.opt:52
+ msgid "Set parameter <param> to value. See below for a complete list of parameters"
+ msgstr "å°†å‚æ•° <å‚æ•°> 设为给定 <值>。下é¢ç»™å‡ºæ‰€æœ‰å‚数的列表"
+
+-#: common.opt:58
++#: common.opt:59
+ msgid "Put global and static data smaller than <number> bytes into a special section (on some targets)"
+ msgstr "å°†å°äºŽ <æ•°> 字节的全局和é™æ€æ•°æ®æ”¾å…¥ä¸€ä¸ªç‰¹æ®Šçš„节中(在æŸäº›ç›®æ ‡æœºä¸Š)"
+
+-#: common.opt:62
++#: common.opt:63
+ msgid "Set optimization level to <number>"
+ msgstr "将优化等级设为 <数>"
+
+-#: common.opt:66
++#: common.opt:67
+ msgid "Optimize for space rather than speed"
+ msgstr "为最å°ç©ºé—´è€Œä¸æ˜¯æœ€å¤§é€Ÿåº¦ä¼˜åŒ–"
+
+-#: common.opt:70
++#: common.opt:71
+ msgid "This switch is deprecated; use -Wextra instead"
+ msgstr "ä¸å»ºè®®ä½¿ç”¨æ­¤å¼€å…³ï¼›è¯·æ”¹ç”¨ -Wextra"
+
+-#: common.opt:74
++#: common.opt:75
+ msgid "Warn about returning structures, unions or arrays"
+ msgstr "当返回结构ã€è”åˆæˆ–数组时给出警告"
+
+-#: common.opt:78
++#: common.opt:79
+ msgid "Warn if an array is accessed out of bounds"
+ msgstr "当数组访问越界时给出警告"
+
+-#: common.opt:82
++#: common.opt:83
+ msgid "Warn about inappropriate attribute usage"
+ msgstr "当对属性的使用ä¸åˆé€‚时给出警告"
+
+-#: common.opt:86
++#: common.opt:87
+ msgid "Warn about pointer casts which increase alignment"
+ msgstr "当转æ¢æŒ‡é’ˆç±»åž‹å¯¼è‡´å¯¹é½è¾¹ç•Œå¢žé•¿æ—¶ç»™å‡ºè­¦å‘Š"
+
+-#: common.opt:90
++#: common.opt:91
+ msgid "Warn about uses of __attribute__((deprecated)) declarations"
+ msgstr "对 __attribute__((deprecated)) 声明给出警告"
+
+-#: common.opt:94
++#: common.opt:95
+ msgid "Warn when an optimization pass is disabled"
+ msgstr "当æŸè¶Ÿä¼˜åŒ–被ç¦ç”¨æ—¶ç»™å‡ºè­¦å‘Š"
+
+-#: common.opt:98
++#: common.opt:99
+ msgid "Treat all warnings as errors"
+ msgstr "所有的警告都当作是错误"
+
+-#: common.opt:102
++#: common.opt:103
+ msgid "Treat specified warning as error"
+ msgstr "将指定的警告当作错误"
+
+-#: common.opt:106
++#: common.opt:107
+ msgid "Print extra (possibly unwanted) warnings"
+ msgstr "打å°é¢å¤–(å¯èƒ½æ‚¨å¹¶ä¸æƒ³è¦)的警告信æ¯"
+
+-#: common.opt:110
++#: common.opt:111
+ msgid "Exit on the first error occurred"
+ msgstr "å‘现第一个错误时å³é€€å‡º"
+
+-#: common.opt:114
++#: common.opt:115
+ msgid "Warn when an inlined function cannot be inlined"
+ msgstr "当内è”函数无法被内è”时给出警告"
+
+-#: common.opt:118
++#: common.opt:119
+ msgid "Warn if an object is larger than <number> bytes"
+ msgstr "当目标文件大于 <n> 字节时给出警告"
+
+-#: common.opt:122
++#: common.opt:123
+ msgid "Warn when a logical operator is suspicously always evaluating to true or false"
+ msgstr "当逻辑æ“作结果总为真或å‡æ—¶ç»™å‡ºè­¦å‘Š"
+
+-#: common.opt:126
++#: common.opt:127
+ msgid "Warn if the loop cannot be optimized due to nontrivial assumptions."
+ msgstr "当循环因为ä¸å¹³å‡¡çš„å‡å®šè€Œä¸èƒ½è¢«ä¼˜åŒ–时给出警告"
+
+-#: common.opt:130
++#: common.opt:131
+ msgid "Warn about functions which might be candidates for __attribute__((noreturn))"
+ msgstr "当函数å¯èƒ½æ˜¯ __attribute__((noreturn)) 的备选时给出警告"
+
+-#: common.opt:134
++#: common.opt:135
+ msgid "Warn about overflow in arithmetic expressions"
+ msgstr "算术表示å¼æº¢å‡ºæ—¶ç»™å‡ºè­¦å‘Š"
+
+-#: common.opt:138
++#: common.opt:139
+ msgid "Warn when the packed attribute has no effect on struct layout"
+ msgstr "当 packed 属性对结构布局ä¸èµ·ä½œç”¨æ—¶ç»™å‡ºè­¦å‘Š"
+
+-#: common.opt:142
++#: common.opt:143
+ msgid "Warn when padding is required to align structure members"
+ msgstr "当需è¦å¡«è¡¥æ‰èƒ½å¯¹é½ç»“æž„æˆå‘˜æ—¶ç»™å‡ºè­¦å‘Š"
+
+-#: common.opt:146
++#: common.opt:147
+ msgid "Warn when one local variable shadows another"
+ msgstr "当一个局部å˜é‡æŽ©ç›–了å¦ä¸€ä¸ªå±€éƒ¨å˜é‡æ—¶ç»™å‡ºè­¦å‘Š"
+
+-#: common.opt:150
++#: common.opt:151
+ msgid "Warn when not issuing stack smashing protection for some reason"
+ msgstr "当因为æŸç§åŽŸå› å †æ ˆä¿æŠ¤å¤±æ•ˆæ—¶ç»™å‡ºè­¦å‘Š"
+
+-#: common.opt:154 common.opt:158
++#: common.opt:155 common.opt:159
+ msgid "Warn about code which might break strict aliasing rules"
+ msgstr "当代ç å¯èƒ½ç ´å强é‡å è§„则时给出警告"
+
+-#: common.opt:162 common.opt:166
++#: common.opt:163 common.opt:167
+ msgid "Warn about optimizations that assume that signed overflow is undefined"
+ msgstr "ç¦ç”¨å‡å®šæœ‰ç¬¦å·æ•°æº¢å‡ºè¡Œä¸ºæœªè¢«å®šä¹‰çš„优化"
+
+-#: common.opt:170
++#: common.opt:171
+ msgid "Warn about enumerated switches, with no default, missing a case"
+ msgstr "当使用枚举类型作为开关å˜é‡ï¼Œæ²¡æœ‰æä¾› default 分支,但åˆç¼ºå°‘æŸä¸ª case 时给出警告"
+
+-#: common.opt:174
++#: common.opt:175
+ msgid "Warn about enumerated switches missing a \"default:\" statement"
+ msgstr "当使用枚举类型作为开关å˜é‡ï¼Œä½†æ²¡æœ‰æ供“defaultâ€åˆ†æ”¯æ—¶ç»™å‡ºè­¦å‘Š"
+
+-#: common.opt:178
++#: common.opt:179
+ msgid "Warn about all enumerated switches missing a specific case"
+ msgstr "当使用枚举类型作为开关å˜é‡ä½†åˆç¼ºå°‘æŸä¸ª case 时给出警告"
+
+-#: common.opt:186
++#: common.opt:183 c.opt:434
++msgid "Do not suppress warnings from system headers"
++msgstr "ä¸æŠ‘制系统头文件中的警告"
++
++#: common.opt:187
+ msgid "Warn about uninitialized automatic variables"
+ msgstr "自动å˜é‡æœªåˆå§‹åŒ–时警告"
+
+-#: common.opt:190
++#: common.opt:191
+ msgid "Warn about code that will never be executed"
+ msgstr "存在永远ä¸è¢«æ‰§è¡Œçš„代ç æ—¶è­¦å‘Š"
+
+-#: common.opt:194
++#: common.opt:195
+ msgid "Enable all -Wunused- warnings"
+ msgstr "å¯ç”¨æ‰€æœ‰å…³äºŽâ€œXX未使用â€çš„警告"
+
+-#: common.opt:198
++#: common.opt:199
+ msgid "Warn when a function is unused"
+ msgstr "有未使用的函数时警告"
+
+-#: common.opt:202
++#: common.opt:203
+ msgid "Warn when a label is unused"
+ msgstr "有未使用的标å·æ—¶è­¦å‘Š"
+
+-#: common.opt:206
++#: common.opt:207
+ msgid "Warn when a function parameter is unused"
+ msgstr "å‘现未使用的函数指针时给出警告"
+
+-#: common.opt:210
++#: common.opt:211
+ msgid "Warn when an expression value is unused"
+ msgstr "当一个表达å¼çš„值未被使用时给出警告"
+
+-#: common.opt:214
++#: common.opt:215
+ msgid "Warn when a variable is unused"
+ msgstr "有未使用的å˜é‡æ—¶è­¦å‘Š"
+
+-#: common.opt:218
++#: common.opt:219
+ msgid "Warn when a register variable is declared volatile"
+ msgstr "当一个寄存器å˜é‡è¢«å£°æ˜Žä¸º volatile 时给出警告"
+
+-#: common.opt:222
++#: common.opt:223
+ msgid "Warn instead of error in case profiles in -fprofile-use do not match"
+ msgstr "当 -fprofile-use 中的样本ä¸åŒ¹é…时给出警告而éžé”™è¯¯"
+
+-#: common.opt:226
++#: common.opt:227
+ msgid "Emit declaration information into <file>"
+ msgstr "将声明信æ¯å†™å…¥ <文件>"
+
+-#: common.opt:239
++#: common.opt:240
+ msgid "Enable dumps from specific passes of the compiler"
+ msgstr "为指定的æŸè¶Ÿæ±‡è¯‘å¯ç”¨å†…存转储"
+
+-#: common.opt:243
++#: common.opt:244
+ msgid "Set the file basename to be used for dumps"
+ msgstr "设定内存转储使用的文件åå‰ç¼€"
+
+-#: common.opt:263
++#: common.opt:264
+ msgid "Align the start of functions"
+ msgstr "对é½å‡½æ•°å…¥å£"
+
+-#: common.opt:270
++#: common.opt:271
+ msgid "Align labels which are only reached by jumping"
+ msgstr "对é½åªèƒ½ä¸ºè·³è½¬æ‰€åˆ°è¾¾çš„æ ‡å·"
+
+-#: common.opt:277
++#: common.opt:278
+ msgid "Align all labels"
+ msgstr "对é½æ‰€æœ‰çš„æ ‡å·"
+
+-#: common.opt:284
++#: common.opt:285
+ msgid "Align the start of loops"
+ msgstr "对é½å¾ªçŽ¯å…¥å£"
+
+-#: common.opt:299
++#: common.opt:300
+ msgid "Specify that arguments may alias each other and globals"
+ msgstr "指定实å‚å¯èƒ½äº’相é‡å ï¼Œä¹Ÿå¯èƒ½ä¸Žå…¨å±€æ•°æ®é‡å "
+
+-#: common.opt:303
++#: common.opt:304
+ msgid "Assume arguments may alias globals but not each other"
+ msgstr "å‡å®šå®žå‚å¯èƒ½ä¸Žå…¨å±€æ•°æ®é‡å ï¼Œä½†äº’相ä¸é‡å "
+
+-#: common.opt:307
++#: common.opt:308
+ msgid "Assume arguments alias neither each other nor globals"
+ msgstr "å‡å®šå®žå‚æ—¢ä¸äº’相é‡å ï¼Œä¹Ÿä¸ä¸Žå…¨å±€æ•°æ®é‡å "
+
+-#: common.opt:311
++#: common.opt:312
+ msgid "Assume arguments alias no other storage"
+ msgstr "å‡å®šå®žå‚ä¸ä¸Žå…¶ä»–存储é‡å "
+
+-#: common.opt:315
++#: common.opt:316
+ msgid "Generate unwind tables that are exact at each instruction boundary"
+ msgstr "生æˆç²¾ç¡®åˆ°æ¯æ¡æŒ‡ä»¤è¾¹ç•Œçš„堆栈展开表"
+
+-#: common.opt:319
++#: common.opt:320
+ msgid "Generate auto-inc/dec instructions"
+ msgstr "ç”Ÿæˆ auto-inc/dec指令"
+
+-#: common.opt:327
++#: common.opt:328
+ msgid "Generate code to check bounds before indexing arrays"
+ msgstr "生æˆæ£€æŸ¥æ•°ç»„访问是å¦è¶Šç•Œçš„代ç "
+
+-#: common.opt:331
++#: common.opt:332
+ msgid "Replace add, compare, branch with branch on count register"
+ msgstr "将加/å‡æ³•ã€æ¯”较ã€è·³è½¬æŒ‡ä»¤åºåˆ—替æ¢ä¸ºæ ¹æ®è®¡æ•°å¯„存器跳转指令"
+
+-#: common.opt:335
++#: common.opt:336
+ msgid "Use profiling information for branch probabilities"
+ msgstr "为分支概率使用å–æ ·ä¿¡æ¯"
+
+-#: common.opt:339
++#: common.opt:340
+ msgid "Perform branch target load optimization before prologue / epilogue threading"
+ msgstr "在开始/结末线程å‰è¿›è¡Œåˆ†æ”¯ç›®æ ‡è½½å…¥ä¼˜åŒ–"
+
+-#: common.opt:343
++#: common.opt:344
+ msgid "Perform branch target load optimization after prologue / epilogue threading"
+ msgstr "在开始/结末线程åŽè¿›è¡Œåˆ†æ”¯ç›®æ ‡è½½å…¥ä¼˜åŒ–"
+
+-#: common.opt:347
++#: common.opt:348
+ msgid "Restrict target load migration not to re-use registers in any basic block"
+ msgstr "é™åˆ¶ç›®æ ‡è½½å…¥èžåˆä¸é‡ç”¨ä»»ä½•åŸºæœ¬å—中的寄存器"
+
+-#: common.opt:351
++#: common.opt:352
+ msgid "Mark <register> as being preserved across functions"
+ msgstr "认为 <寄存器> 跨越函数调用时值ä¸å˜"
+
+-#: common.opt:355
++#: common.opt:356
+ msgid "Mark <register> as being corrupted by function calls"
+ msgstr "认为 <寄存器> 的值将被函数调用所改å˜"
+
+-#: common.opt:362
++#: common.opt:363
+ msgid "Save registers around function calls"
+ msgstr "函数调用å‰åŽä¿å­˜/æ¢å¤å¯„存器值"
+
+-#: common.opt:366
++#: common.opt:367
+ msgid "Compare the results of several data dependence analyzers."
+ msgstr "比较几个数æ®ä¾èµ–分æžçš„结果。"
+
+-#: common.opt:370
++#: common.opt:371
+ msgid "Do not put uninitialized globals in the common section"
+ msgstr "ä¸å°†æœªåˆå§‹åŒ–的全局数æ®æ”¾åœ¨å…¬å…±èŠ‚中"
+
+-#: common.opt:374
++#: common.opt:375
+ msgid "Perform a register copy-propagation optimization pass"
+ msgstr "进行一趟寄存器副本传递优化"
+
+-#: common.opt:378
++#: common.opt:379
+ msgid "Perform cross-jumping optimization"
+ msgstr "进行跨跳转优化"
+
+-#: common.opt:382
++#: common.opt:383
+ msgid "When running CSE, follow jumps to their targets"
+ msgstr "进行 CSE 时,跟éšè·³è½¬è‡³ç›®æ ‡"
+
+-#: common.opt:386
++#: common.opt:387
+ msgid "When running CSE, follow conditional jumps"
+ msgstr "进行 CSE 时,跟éšæ¡ä»¶è·³è½¬"
+
+-#: common.opt:390
++#: common.opt:391
+ msgid "Omit range reduction step when performing complex division"
+ msgstr "当进行å¤æ•°é™¤æ³•æ—¶çœç•¥ç¼©å‡èŒƒå›´çš„步骤"
+
+-#: common.opt:394
++#: common.opt:395
+ msgid "Place data items into their own section"
+ msgstr "å°†æ¯ä¸ªæ•°æ®é¡¹åˆ†åˆ«æ”¾åœ¨å®ƒä»¬å„自的节中"
+
+-#: common.opt:398
++#: common.opt:399
+ msgid "List all available debugging counters with their limits and counts."
+ msgstr "列出所有å¯ç”¨çš„调试计数器åŠå…¶æžé™å’Œè®¡æ•°ã€‚"
+
+-#: common.opt:402
++#: common.opt:403
+ msgid "-fdbg-cnt=<counter>:<limit>[,<counter>:<limit>,...] Set the debug counter limit. "
+ msgstr "-fdbg-cnt=<计数器>:<æžé™>[,<计数器>:<æžé™>,...] 设定调试计数器æžé™ã€‚"
+
+-#: common.opt:406
++#: common.opt:407
+ msgid "Map one directory name to another in debug information"
+ msgstr "在调试信æ¯ä¸­å°†ä¸€ä¸ªç›®å½•å映射到å¦ä¸€ä¸ª"
+
+-#: common.opt:412
++#: common.opt:413
+ msgid "Defer popping functions args from stack until later"
+ msgstr "延迟将函数实å‚弹栈"
+
+-#: common.opt:416
++#: common.opt:417
+ msgid "Attempt to fill delay slots of branch instructions"
+ msgstr "试图利用延迟转移指令åŽ"
+
+-#: common.opt:420
++#: common.opt:421
+ msgid "Delete useless null pointer checks"
+ msgstr "删除无用的空指针检查"
+
+-#: common.opt:424
++#: common.opt:425
+ msgid "How often to emit source location at the beginning of line-wrapped diagnostics"
+ msgstr ""
+
+-#: common.opt:428
++#: common.opt:429
+ msgid "Amend appropriate diagnostic messages with the command line option that controls them"
+ msgstr "在诊断信æ¯åŽè¾“出控制它们的命令行选项"
+
+-#: common.opt:432
++#: common.opt:433
+ msgid "Dump various compiler internals to a file"
+ msgstr "将一些编译器内部信æ¯è½¬å‚¨åˆ°ä¸€ä¸ªæ–‡ä»¶é‡Œ"
+
+-#: common.opt:436
++#: common.opt:437
+ msgid "Suppress output of addresses in debugging dumps"
+ msgstr "在调试转储中ä¸è¾“出地å€"
+
+-#: common.opt:440
++#: common.opt:441
+ msgid "Suppress output of instruction numbers, line number notes and addresses in debugging dumps"
+ msgstr "在调试转储中ä¸è¾“出指令数ã€è¡Œå·æ ‡è®°å’Œåœ°å€"
+
+-#: common.opt:444
++#: common.opt:445
+ msgid "Perform early inlining"
+ msgstr "进行早内è”"
+
+-#: common.opt:448
++#: common.opt:449
+ msgid "Perform DWARF2 duplicate elimination"
+ msgstr "进行 DWARF2 冗余消除"
+
+-#: common.opt:452 common.opt:456
++#: common.opt:453 common.opt:457
+ msgid "Perform unused type elimination in debug info"
+ msgstr "在调试信æ¯ä¸­è¿›è¡Œæ— ç”¨ç±»åž‹æ¶ˆé™¤"
+
+-#: common.opt:460
++#: common.opt:461
+ msgid "Do not suppress C++ class debug information."
+ msgstr "ä¿ç•™ C++ 类调试信æ¯ã€‚"
+
+-#: common.opt:464
++#: common.opt:465
+ msgid "Enable exception handling"
+ msgstr "å¯ç”¨å¼‚常处ç†"
+
+-#: common.opt:468
++#: common.opt:469
+ msgid "Perform a number of minor, expensive optimizations"
+ msgstr "进行一些细微的ã€ä»£ä»·é«˜æ˜‚的优化"
+
+-#: common.opt:475
++#: common.opt:476
+ msgid "Assume no NaNs or infinities are generated"
+ msgstr "å‡å®šç»“æžœä¸ä¼šæ˜¯ NaN 或无穷大浮点数"
+
+-#: common.opt:479
++#: common.opt:480
+ msgid "Mark <register> as being unavailable to the compiler"
+ msgstr "认为 <寄存器> 对编译器而言ä¸å¯ç”¨"
+
+-#: common.opt:483
++#: common.opt:484
+ msgid "Don't allocate floats and doubles in extended-precision registers"
+ msgstr "ä¸å°†å•ç²¾åº¦å’ŒåŒç²¾åº¦æµ®ç‚¹æ•°åˆ†é…到扩展精度的寄存器中"
+
+-#: common.opt:489
+-msgid "Copy memory address constants into registers before use"
+-msgstr "使用内存地å€å¸¸é‡å‰å…ˆå°†å…¶å¤åˆ¶åˆ°å¯„存器中"
++#: common.opt:488 common.opt:647 common.opt:855 common.opt:986 common.opt:1061
++msgid "Does nothing. Preserved for backward compatibility."
++msgstr "ä¸èµ·ä½œç”¨ã€‚为å‘å‰å…¼å®¹ä¿ç•™çš„选项。"
+
+-#: common.opt:493
++#: common.opt:492
+ msgid "Perform a forward propagation pass on RTL"
+ msgstr "进行 RTL 上的å‰å‘传递"
+
+-#: common.opt:500
++#: common.opt:499
+ msgid "Allow function addresses to be held in registers"
+ msgstr "å…许将函数地å€ä¿å­˜åœ¨å¯„存器中"
+
+-#: common.opt:504
++#: common.opt:503
+ msgid "Place each function into its own section"
+ msgstr "å°†æ¯ä¸ªå‡½æ•°åˆ†åˆ«æ”¾åœ¨å®ƒä»¬å„自的节中"
+
+-#: common.opt:508
++#: common.opt:507
+ msgid "Perform global common subexpression elimination"
+ msgstr "进行全局公因å¼æ¶ˆåŽ»"
+
+-#: common.opt:512
++#: common.opt:511
+ msgid "Perform enhanced load motion during global common subexpression elimination"
+ msgstr "在全局公因å¼æ¶ˆåŽ»ä¸­è¿›è¡Œå¢žå¼ºçš„读转移优化"
+
+-#: common.opt:516
++#: common.opt:515
+ msgid "Perform store motion after global common subexpression elimination"
+ msgstr "在全局公因å¼æ¶ˆåŽ»åŽè¿›è¡Œå­˜å‚¨è½¬ç§»"
+
+-#: common.opt:520
++#: common.opt:519
+ msgid "Perform redundant load after store elimination in global common subexpression"
+ msgstr "在全局公因å¼æ¶ˆåŽ»ä¸­è¿›è¡Œå†—余的写åŽè¯»æ¶ˆé™¤"
+
+-#: common.opt:525
++#: common.opt:524
+ msgid "Perform global common subexpression elimination after register allocation"
+ msgstr "在分é…寄存器åŽè¿›è¡Œå…¨å±€å…¬å› å¼æ¶ˆåŽ»"
+
+-#: common.opt:530
++#: common.opt:529
+ msgid "Enable guessing of branch probabilities"
+ msgstr "å¯ç”¨åˆ†æ”¯æ¦‚率猜测"
+
+-#: common.opt:538
++#: common.opt:537
+ msgid "Process #ident directives"
+ msgstr "å¤„ç† #ident 指令"
+
+-#: common.opt:542
++#: common.opt:541
+ msgid "Perform conversion of conditional jumps to branchless equivalents"
+ msgstr "å°†æ¡ä»¶è·³è½¬æ›¿æ¢ä¸ºæ²¡æœ‰è·³è½¬çš„等值表示"
+
+-#: common.opt:546
++#: common.opt:545
+ msgid "Perform conversion of conditional jumps to conditional execution"
+ msgstr "å°†æ¡ä»¶è·³è½¬æ›¿æ¢ä¸ºæ¡ä»¶æ‰§è¡Œ"
+
+-#: common.opt:554
++#: common.opt:553
+ msgid "Do not generate .size directives"
+ msgstr "ä¸ç”Ÿæˆ .size 指令"
+
+-#: common.opt:563
++#: common.opt:562
+ msgid "Pay attention to the \"inline\" keyword"
+ msgstr "ä¸å¿½ç•¥â€œinlineâ€å…³é”®å­—"
+
+-#: common.opt:567
++#: common.opt:566
+ msgid "Integrate simple functions into their callers when code size is known to not growth"
+ msgstr "在ä¸å¯¼è‡´ä»£ç è†¨èƒ€çš„情况下将简å•å‡½æ•°é›†æˆåˆ°å®ƒä»¬çš„调用者中"
+
+-#: common.opt:571
++#: common.opt:570
+ msgid "Integrate simple functions into their callers"
+ msgstr "将简å•å‡½æ•°é›†æˆåˆ°å®ƒä»¬çš„调用者中"
+
+-#: common.opt:575
++#: common.opt:574
+ msgid "Integrate functions called once into their callers"
+ msgstr "å°†åªè¢«è°ƒç”¨ä¸€æ¬¡çš„函数集æˆåˆ°å®ƒä»¬çš„调用者中"
+
+-#: common.opt:582
++#: common.opt:581
+ msgid "Limit the size of inlined functions to <number>"
+ msgstr "将内è”函数的大å°é™åˆ¶åœ¨ <æ•°> 以内"
+
+-#: common.opt:586
++#: common.opt:585
+ msgid "Instrument function entry and exit with profiling calls"
+ msgstr "在函数入å£å’Œå‡ºå£åŠ å…¥å–样调用"
+
+-#: common.opt:590
++#: common.opt:589
+ msgid "-finstrument-functions-exclude-function-list=name,... Do not instrument listed functions"
+ msgstr "-finstrument-functions-exclude-function-list=函数å,... å–样时排除列出的函数"
+
+-#: common.opt:594
++#: common.opt:593
+ msgid "-finstrument-functions-exclude-file-list=filename,... Do not instrument functions listed in files"
+ msgstr "-finstrument-functions-exclude-file-list=文件å,... å–样时排除列出的文件中的函数"
+
+-#: common.opt:598
++#: common.opt:597
+ msgid "Perform Interprocedural constant propagation"
+ msgstr "进行进程间的å¤å†™ä¼ é€’"
+
+-#: common.opt:602
++#: common.opt:601
+ msgid "Discover pure and const functions"
+ msgstr "å‘现纯函数和常函数"
+
+-#: common.opt:606
++#: common.opt:605
+ msgid "Perform interprocedural points-to analysis"
+ msgstr "进行进程间的指å‘分æž"
+
+-#: common.opt:610
++#: common.opt:609
+ msgid "Discover readonly and non addressable static variables"
+ msgstr "å‘现åªè¯»å’Œä¸å¯å¯»å€é™æ€å˜é‡"
+
+-#: common.opt:614
++#: common.opt:613
+ msgid "Type based escape and alias analysis"
+ msgstr "基于类型的转义和别å分æž"
+
+-#: common.opt:618
++#: common.opt:617
+ msgid "Perform matrix layout flattening and transposing based"
+ msgstr "进行基于å–样的矩阵布局平é¢åŒ–和转秩"
+
+-#: common.opt:623
++#: common.opt:622
+ msgid "Perform structure layout optimizations based"
+ msgstr "进行基于å–样的结构布局优化"
+
+-#: common.opt:628
++#: common.opt:627
+ msgid "Optimize induction variables on trees"
+ msgstr "在树上优化归纳å˜é‡"
+
+-#: common.opt:632
++#: common.opt:631
+ msgid "Use jump tables for sufficiently large switch statements"
+ msgstr "为足够大的 switch 语å¥ä½¿ç”¨è·³è½¬è¡¨"
+
+-#: common.opt:636
++#: common.opt:635
+ msgid "Generate code for functions even if they are fully inlined"
+ msgstr "为完全内è”的函数生æˆä»£ç "
+
+-#: common.opt:640
++#: common.opt:639
+ msgid "Emit static const variables even if they are not used"
+ msgstr "ä¿ç•™æœªç”¨åˆ°çš„é™æ€å¸¸é‡"
+
+-#: common.opt:644
++#: common.opt:643
+ msgid "Give external symbols a leading underscore"
+ msgstr "给外部符å·æ·»åŠ èµ·å§‹çš„下划线"
+
+-#: common.opt:648 common.opt:852 common.opt:983
+-msgid "Does nothing. Preserved for backward compatibility."
+-msgstr "ä¸èµ·ä½œç”¨ã€‚为å‘å‰å…¼å®¹ä¿ç•™çš„选项。"
+-
+-#: common.opt:652
++#: common.opt:651
+ msgid "Set errno after built-in math functions"
+ msgstr "执行内建数学函数åŽè®¾ç½® errno"
+
+-#: common.opt:656
++#: common.opt:655
+ msgid "Report on permanent memory allocation"
+ msgstr "报告永久性内存分é…"
+
+-#: common.opt:663
++#: common.opt:662
+ msgid "Attempt to merge identical constants and constant variables"
+ msgstr "试图åˆå¹¶ç›¸åŒçš„常é‡å’Œå¸¸å˜é‡"
+
+-#: common.opt:667
++#: common.opt:666
+ msgid "Attempt to merge identical constants across compilation units"
+ msgstr "试图åˆå¹¶ä¸åŒç¼–译å•å…ƒä¸­çš„相åŒå¸¸é‡"
+
+-#: common.opt:671
++#: common.opt:670
++msgid "Attempt to merge identical debug strings across compilation units"
++msgstr "试图åˆå¹¶ä¸åŒç¼–译å•å…ƒä¸­çš„相åŒè°ƒè¯•å­—符串"
++
++#: common.opt:674
+ msgid "Limit diagnostics to <number> characters per line. 0 suppresses line-wrapping"
+ msgstr "t将诊断信æ¯é™åˆ¶åœ¨æ¯è¡Œ <æ•°å­—> 个字符æ¯è¡Œã€‚0 å–消自动æ¢è¡Œ"
+
+-#: common.opt:675
++#: common.opt:678
+ msgid "Perform SMS based modulo scheduling before the first scheduling pass"
+ msgstr "在首趟调度å‰è¿›è¡ŒåŸºäºŽ SMS 的模调度"
+
+-#: common.opt:679
++#: common.opt:682
+ msgid "Perform SMS based modulo scheduling with register moves allowed"
+ msgstr "进行基于 SMS 且å…许寄存器转移的模调度"
+
+-#: common.opt:683
++#: common.opt:686
+ msgid "Move loop invariant computations out of loops"
+ msgstr "å°†æ¯æ¬¡å¾ªçŽ¯ä¸­ä¸å˜çš„计算外æ"
+
+-#: common.opt:687
++#: common.opt:690
+ msgid "Add mudflap bounds-checking instrumentation for single-threaded program"
+ msgstr "为å•çº¿ç¨‹ç¨‹åºæ·»åŠ  mudflap 边界检查"
+
+-#: common.opt:691
++#: common.opt:694
+ msgid "Add mudflap bounds-checking instrumentation for multi-threaded program"
+ msgstr "为多线程程åºæ·»åŠ  mudflap 边界检查"
+
+-#: common.opt:695
++#: common.opt:698
+ msgid "Ignore read operations when inserting mudflap instrumentation"
+ msgstr "æ’å…¥ mudflag 时忽略读æ“作"
+
+-#: common.opt:699
++#: common.opt:702
+ msgid "Use the RTL dead code elimination pass"
+ msgstr "使用 RTL 死代ç æ¸…除"
+
+-#: common.opt:703
++#: common.opt:706
+ msgid "Use the RTL dead store elimination pass"
+ msgstr "使用 RTL 死存储清除"
+
+-#: common.opt:707
++#: common.opt:710
+ msgid "Enable/Disable the traditional scheduling in loops that already passed modulo scheduling"
+ msgstr "å¯ç”¨/ç¦ç”¨å·²ç»é€šè¿‡æ¨¡è°ƒåº¦çš„循环中的传统调度"
+
+-#: common.opt:711
++#: common.opt:714
+ msgid "Support synchronous non-call exceptions"
+ msgstr "支æŒåŒæ­¥éžè°ƒç”¨å¼‚常"
+
+-#: common.opt:715
++#: common.opt:718
+ msgid "When possible do not generate stack frames"
+ msgstr "å°½å¯èƒ½ä¸ç”Ÿæˆå †æ ˆæ¡†æž¶"
+
+-#: common.opt:719
++#: common.opt:722
+ msgid "Expand OpenMP operations on SSA form"
+ msgstr "在 SSA å½¢å¼ä¸Šæ‰©å±• OpenMP æ“作"
+
+-#: common.opt:723
++#: common.opt:726
+ msgid "Do the full register move optimization pass"
+ msgstr "进行全寄存器传é€ä¼˜åŒ–"
+
+-#: common.opt:727
++#: common.opt:730
+ msgid "Optimize sibling and tail recursive calls"
+ msgstr "优化åŒçº§é€’归和尾递归"
+
+-#: common.opt:731 common.opt:735
++#: common.opt:734 common.opt:738
+ msgid "Report on memory allocation before interprocedural optimization"
+ msgstr "在跨进程优化å‰æŠ¥å‘Šå†…存分é…"
+
+-#: common.opt:739
++#: common.opt:742
+ msgid "Pack structure members together without holes"
+ msgstr "将结构æˆå‘˜ä¸å¸¦é—´éš”地紧实存放"
+
+-#: common.opt:743
++#: common.opt:746
+ msgid "Set initial maximum structure member alignment"
+ msgstr "设定结构æˆå‘˜æœ€å¤§å¯¹é½è¾¹ç•Œçš„åˆå§‹å€¼"
+
+-#: common.opt:747
++#: common.opt:750
+ msgid "Return small aggregates in memory, not registers"
+ msgstr "在内存而ä¸æ˜¯å¯„存器中返回å°èšåˆ"
+
+-#: common.opt:751
++#: common.opt:754
+ msgid "Perform loop peeling"
+ msgstr "进行循环剥离"
+
+-#: common.opt:755
++#: common.opt:758
+ msgid "Enable machine specific peephole optimizations"
+ msgstr "å¯ç”¨æœºå™¨ç›¸å…³çš„窥孔优化"
+
+-#: common.opt:759
++#: common.opt:762
+ msgid "Enable an RTL peephole pass before sched2"
+ msgstr "在 sched2 å‰è¿›è¡Œä¸€è¶Ÿ RTL 窥孔优化"
+
+-#: common.opt:763
++#: common.opt:766
+ msgid "Generate position-independent code if possible (large mode)"
+ msgstr "å°½å¯èƒ½ç”Ÿæˆä¸Žä½ç½®æ— å…³çš„代ç (大模å¼)"
+
+-#: common.opt:767
++#: common.opt:770
+ msgid "Generate position-independent code for executables if possible (large mode)"
+ msgstr "为å¯æ‰§è¡Œæ–‡ä»¶å°½å¯èƒ½ç”Ÿæˆä¸Žä½ç½®æ— å…³çš„代ç (大模å¼)"
+
+-#: common.opt:771
++#: common.opt:774
+ msgid "Generate position-independent code if possible (small mode)"
+ msgstr "å°½å¯èƒ½ç”Ÿæˆä¸Žä½ç½®æ— å…³çš„代ç (å°æ¨¡å¼)"
+
+-#: common.opt:775
++#: common.opt:778
+ msgid "Generate position-independent code for executables if possible (small mode)"
+ msgstr "为å¯æ‰§è¡Œæ–‡ä»¶å°½å¯èƒ½ç”Ÿæˆä¸Žä½ç½®æ— å…³çš„代ç (å°æ¨¡å¼)"
+
+-#: common.opt:779
++#: common.opt:782
+ msgid "Run predictive commoning optimization."
+ msgstr "å¯ç”¨é¢„测公因å­ä¼˜åŒ–。"
+
+-#: common.opt:783
++#: common.opt:786
+ msgid "Generate prefetch instructions, if available, for arrays in loops"
+ msgstr "如果å¯ç”¨ï¼Œä¸ºå¾ªçŽ¯ä¸­çš„数组生æˆé¢„å–指令"
+
+-#: common.opt:787
++#: common.opt:790
+ msgid "Enable basic program profiling code"
+ msgstr "å¯ç”¨åŸºæœ¬ç¨‹åºå–样代ç "
+
+-#: common.opt:791
++#: common.opt:794
+ msgid "Insert arc-based program profiling code"
+ msgstr "æ’入基于弧的程åºå–样代ç "
+
+-#: common.opt:795
++#: common.opt:798
+ msgid "Enable common options for generating profile info for profile feedback directed optimizations"
+ msgstr "å¯ç”¨ä¸€äº›å…¬å…±é€‰é¡¹æ¥ç”Ÿæˆæ ·æœ¬æ–‡ä»¶ï¼Œä»¥ä¾¿è¿›è¡ŒåŸºäºŽå–样的优化"
+
+-#: common.opt:799
++#: common.opt:802
+ msgid "Enable common options for performing profile feedback directed optimizations"
+ msgstr "å¯ç”¨ä¸€äº›å…¬å…±é€‰é¡¹ä»¥è¿›è¡ŒåŸºäºŽå–样的优化"
+
+-#: common.opt:803
++#: common.opt:806
+ msgid "Insert code to profile values of expressions"
+ msgstr "为å–样表达å¼çš„值æ’入相关代ç "
+
+-#: common.opt:810
++#: common.opt:813
+ msgid "Make compile reproducible using <string>"
+ msgstr "使用 <字符串> 作用éšæœºæ•°ç§å­ä»¥ä½¿ç¼–译结果å¯ä»¥å¤çŽ°"
+
+-#: common.opt:820
++#: common.opt:823
+ msgid "Record gcc command line switches in the object file."
+ msgstr "在目标文件中记录 gcc 命令行开关。"
+
+-#: common.opt:824
++#: common.opt:827
+ msgid "Return small aggregates in registers"
+ msgstr "在寄存器中返回å°èšåˆ"
+
+-#: common.opt:828
++#: common.opt:831
+ msgid "Enables a register move optimization"
+ msgstr "å¯ç”¨å¯„存器传é€ä¼˜åŒ–"
+
+-#: common.opt:832
++#: common.opt:835
+ msgid "Perform a register renaming optimization pass"
+ msgstr "进行寄存器é‡å‘½å优化"
+
+-#: common.opt:836
++#: common.opt:839
+ msgid "Reorder basic blocks to improve code placement"
+ msgstr "基本å—é‡æ–°æŽ’åºä»¥æ”¹å–„代ç å¸ƒå±€"
+
+-#: common.opt:840
++#: common.opt:843
+ msgid "Reorder basic blocks and partition into hot and cold sections"
+ msgstr "对基本å—é‡æ–°æŽ’åºå¹¶åˆ’分为热区和冷区"
+
+-#: common.opt:844
++#: common.opt:847
+ msgid "Reorder functions to improve code placement"
+ msgstr "函数é‡æ–°æŽ’åºä»¥æ”¹å–„代ç å¸ƒå±€"
+
+-#: common.opt:848
++#: common.opt:851
+ msgid "Add a common subexpression elimination pass after loop optimizations"
+ msgstr "在循环优化结æŸåŽå¢žåŠ ä¸€è¶Ÿå…¬å› å¼æ¶ˆåŽ»"
+
+-#: common.opt:856
++#: common.opt:859
+ msgid "Disable optimizations that assume default FP rounding behavior"
+ msgstr "ç¦ç”¨å‡å®šé»˜è®¤æµ®ç‚¹èˆå…¥è¡Œä¸ºçš„优化"
+
+-#: common.opt:860
++#: common.opt:863
+ msgid "Enable scheduling across basic blocks"
+ msgstr "å¯ç”¨åŸºæœ¬å—间的调度"
+
+-#: common.opt:864
++#: common.opt:867
+ msgid "Allow speculative motion of non-loads"
+ msgstr "å…许éžè½½å…¥çš„投机移动"
+
+-#: common.opt:868
++#: common.opt:871
+ msgid "Allow speculative motion of some loads"
+ msgstr "å…许一些载入的投机移动"
+
+-#: common.opt:872
++#: common.opt:875
+ msgid "Allow speculative motion of more loads"
+ msgstr "å…许更多载入的投机移动"
+
+-#: common.opt:876
++#: common.opt:879
+ msgid "Set the verbosity level of the scheduler"
+ msgstr "指定调度器输出的冗余程度"
+
+-#: common.opt:880
++#: common.opt:883
+ msgid "If scheduling post reload, do superblock scheduling"
+ msgstr "在é‡è½½åŽè°ƒåº¦ä¸­ä½¿ç”¨è·¨åŸºæœ¬å—调度"
+
+-#: common.opt:884
++#: common.opt:887
+ msgid "If scheduling post reload, do trace scheduling"
+ msgstr ""
+
+-#: common.opt:888
++#: common.opt:891
+ msgid "Reschedule instructions before register allocation"
+ msgstr "分é…寄存器å‰é‡æ–°è°ƒåº¦æŒ‡ä»¤"
+
+-#: common.opt:892
++#: common.opt:895
+ msgid "Reschedule instructions after register allocation"
+ msgstr "分é…寄存器åŽé‡æ–°è°ƒåº¦æŒ‡ä»¤"
+
+-#: common.opt:898
++#: common.opt:901
+ msgid "Allow premature scheduling of queued insns"
+ msgstr "å…许对队列中的指令进行早调度"
+
+-#: common.opt:902
++#: common.opt:905
+ msgid "Set number of queued insns that can be prematurely scheduled"
+ msgstr ""
+
+-#: common.opt:910 common.opt:914
++#: common.opt:913 common.opt:917
+ msgid "Set dependence distance checking in premature scheduling of queued insns"
+ msgstr ""
+
+-#: common.opt:918
++#: common.opt:921
+ msgid "Access data in the same section from shared anchor points"
+ msgstr ""
+
+-#: common.opt:922
++#: common.opt:925
+ msgid "Perform sequence abstraction optimization on RTL"
+ msgstr "在 RTL 级进行åºåˆ—抽象优化"
+
+-#: common.opt:926
++#: common.opt:929
+ msgid "Eliminate redundant sign extensions using LCM."
+ msgstr "使用 LCM 消除多余的符å·æ‰©å±•ã€‚"
+
+-#: common.opt:930
++#: common.opt:933
+ msgid "Show column numbers in diagnostics, when available. Default off"
+ msgstr "当å¯ç”¨æ—¶åœ¨è¯Šæ–­ä¿¡æ¯ä¸­ç»™å‡ºè¡Œå·ã€‚默认关闭"
+
+-#: common.opt:934
++#: common.opt:937
+ msgid "Disable optimizations observable by IEEE signaling NaNs"
+ msgstr "ç¦ç”¨ä¸º IEEE è®¯æ¯ NaN å¯è§çš„优化"
+
+-#: common.opt:938
++#: common.opt:941
+ msgid "Disable floating point optimizations that ignore the IEEE signedness of zero"
+ msgstr "ç¦ç”¨å¿½ç•¥ IEEE 零符å·çš„浮点优化"
+
+-#: common.opt:942
++#: common.opt:945
+ msgid "Convert floating point constants to single precision constants"
+ msgstr "将浮点常é‡è½¬æ¢ä¸ºå•ç²¾åº¦å¸¸é‡"
+
+-#: common.opt:946
++#: common.opt:949
+ msgid "Split lifetimes of induction variables when loops are unrolled"
+ msgstr "展开循环时分离归纳å˜é‡çš„生存期"
+
+-#: common.opt:950
++#: common.opt:953
+ msgid "Split wide types into independent registers"
+ msgstr "将宽类型分割到独立的寄存器中"
+
+-#: common.opt:954
++#: common.opt:957
+ msgid "Apply variable expansion when loops are unrolled"
+ msgstr "展开循环时也展开å˜é‡"
+
+-#: common.opt:960
++#: common.opt:963
+ msgid "Insert stack checking code into the program"
+ msgstr "在程åºä¸­æ’入检查栈溢出的代ç "
+
+-#: common.opt:967
++#: common.opt:970
+ msgid "Trap if the stack goes past <register>"
+ msgstr "当堆栈越过 <寄存器> 时引å‘陷阱"
+
+-#: common.opt:971
++#: common.opt:974
+ msgid "Trap if the stack goes past symbol <name>"
+ msgstr "当堆栈越过 <name> 时引å‘陷阱"
+
+-#: common.opt:975
++#: common.opt:978
+ msgid "Use propolice as a stack protection method"
+ msgstr "使用 propolice æ¥ä¿æŠ¤å †æ ˆ"
+
+-#: common.opt:979
++#: common.opt:982
+ msgid "Use a stack protection method for every function"
+ msgstr "为æ¯ä¸ªå‡½æ•°ä½¿ç”¨å †æ ˆä¿æŠ¤æœºåˆ¶"
+
+-#: common.opt:991
++#: common.opt:994
+ msgid "Assume strict aliasing rules apply"
+ msgstr "å‡å®šåº”用强é‡å è§„则"
+
+-#: common.opt:995
++#: common.opt:998
+ msgid "Treat signed overflow as undefined"
+ msgstr "将有符å·æ•°æº¢å‡ºçš„行为视为未定义的"
+
+-#: common.opt:999
++#: common.opt:1002
+ msgid "Check for syntax errors, then stop"
+ msgstr "检查语法错误,然åŽåœæ­¢"
+
+-#: common.opt:1003
++#: common.opt:1006
+ msgid "Create data files needed by \"gcov\""
+ msgstr "生æˆâ€œgcovâ€éœ€è¦çš„æ•°æ®æ–‡ä»¶"
+
+-#: common.opt:1007
++#: common.opt:1010
+ msgid "Perform jump threading optimizations"
+ msgstr "进行跳转线程优化"
+
+-#: common.opt:1011
++#: common.opt:1014
+ msgid "Report the time taken by each compiler pass"
+ msgstr "报告æ¯è¶Ÿæ±‡ç¼–的耗时"
+
+-#: common.opt:1015
++#: common.opt:1018
+ msgid "Set the default thread-local storage code generation model"
+ msgstr "设定默认的线程局部存储代ç ç”Ÿæˆæ¨¡å¼"
+
+-#: common.opt:1019
++#: common.opt:1022
+ msgid "Reorder top level functions, variables, and asms"
+ msgstr "é‡æ–°æŽ’åºæ–‡ä»¶åŸŸçš„函数ã€å˜é‡å’Œæ±‡ç¼–"
+
+-#: common.opt:1023
++#: common.opt:1026
+ msgid "Perform superblock formation via tail duplication"
+ msgstr "通过尾å¤åˆ¶è¿›è¡Œè¶…å—åˆæˆ"
+
+-#: common.opt:1030
++#: common.opt:1033
+ msgid "Assume floating-point operations can trap"
+ msgstr "å‡å®šæµ®ç‚¹è¿ç®—å¯èƒ½å¼•å‘陷阱"
+
+-#: common.opt:1034
++#: common.opt:1037
+ msgid "Trap for signed overflow in addition, subtraction and multiplication"
+ msgstr "加法ã€å‡æ³•æˆ–乘法溢出时激活陷阱"
+
+-#: common.opt:1038
++#: common.opt:1041
+ msgid "Enable SSA-CCP optimization on trees"
+ msgstr "å¯ç”¨æ ‘上的 SSA-CCP 优化"
+
+-#: common.opt:1042
++#: common.opt:1045
+ msgid "Enable SSA-CCP optimization for stores and loads"
+ msgstr "å¯ç”¨åŠ è½½å’Œå­˜å‚¨çš„ SSA-CCP 优化"
+
+-#: common.opt:1046
++#: common.opt:1049
+ msgid "Enable loop header copying on trees"
+ msgstr "å¯ç”¨æ ‘上的循环ä¸å˜é‡è½¬ç§»"
+
+-#: common.opt:1050
++#: common.opt:1053
+ msgid "Replace SSA temporaries with better names in copies"
+ msgstr "å°† SSA 临时å˜é‡é‡å‘½å为更易ç†è§£çš„å称"
+
+-#: common.opt:1054
++#: common.opt:1057
+ msgid "Enable copy propagation on trees"
+ msgstr "在树级别进行å¤å†™ä¼ é€’"
+
+-#: common.opt:1058
+-msgid "This switch is obsolete"
+-msgstr "此开关已过时"
+-
+-#: common.opt:1062
++#: common.opt:1065
+ msgid "Transform condition stores into unconditional ones"
+ msgstr "å°†æ¡ä»¶å­˜å‚¨è½¬æ¢ä¸ºéžæ¡ä»¶å­˜å‚¨"
+
+-#: common.opt:1066
++#: common.opt:1069
+ msgid "Enable SSA dead code elimination optimization on trees"
+ msgstr "å¯ç”¨æ ‘上的 SSA 死代ç æ¶ˆé™¤ä¼˜åŒ–"
+
+-#: common.opt:1070
++#: common.opt:1073
+ msgid "Enable dominator optimizations"
+ msgstr "å¯ç”¨ä¸»å¯¼ä¼˜åŒ–"
+
+-#: common.opt:1074
++#: common.opt:1077
+ msgid "Enable dead store elimination"
+ msgstr "删除死存储"
+
+-#: common.opt:1078
++#: common.opt:1081
+ msgid "Enable Full Redundancy Elimination (FRE) on trees"
+ msgstr "å¯ç”¨æ ‘上的完全冗余消除(FRE)"
+
+-#: common.opt:1082
++#: common.opt:1085
+ msgid "Enable loop invariant motion on trees"
+ msgstr "å¯ç”¨æ ‘上的循环ä¸å˜é‡è½¬ç§»"
+
+-#: common.opt:1086
++#: common.opt:1089
+ msgid "Enable linear loop transforms on trees"
+ msgstr "å¯ç”¨æ ‘上的线性循环å˜æ¢"
+
+-#: common.opt:1090
++#: common.opt:1093
+ msgid "Create canonical induction variables in loops"
+ msgstr "在循环中生æˆæ­£è§„的归纳å˜é‡"
+
+-#: common.opt:1094
++#: common.opt:1097
+ msgid "Enable loop optimizations on tree level"
+ msgstr "在树级别进行循环优化"
+
+-#: common.opt:1098
++#: common.opt:1101
+ msgid "Enable automatic parallelization of loops"
+ msgstr "å¯ç”¨å¾ªçŽ¯çš„自动并行化"
+
+-#: common.opt:1102
++#: common.opt:1105
+ msgid "Enable SSA-PRE optimization on trees"
+ msgstr "å¯ç”¨æ ‘上的 SSA-PRE 优化"
+
+-#: common.opt:1106
++#: common.opt:1109
+ msgid "Enable reassociation on tree level"
+ msgstr "在树级别进行é‡ç»“åˆ"
+
+-#: common.opt:1110
++#: common.opt:1113
+ msgid "Perform structural alias analysis"
+ msgstr "进行结构化别å分æž"
+
+-#: common.opt:1114
++#: common.opt:1117
+ msgid "Enable SSA code sinking on trees"
+ msgstr "å¯ç”¨æ ‘上的 SSA 代ç ä¸‹æ²‰ä¼˜åŒ–"
+
+-#: common.opt:1118
++#: common.opt:1121
+ msgid "Perform scalar replacement of aggregates"
+ msgstr "为èšåˆç±»åž‹è¿›è¡Œæ ‡é‡æ›¿æ¢"
+
+-#: common.opt:1122
++#: common.opt:1125
+ msgid "Replace temporary expressions in the SSA->normal pass"
+ msgstr "在 SSA->normal 过程中替æ¢ä¸´æ—¶è¡¨è¾¾å¼"
+
+-#: common.opt:1126
++#: common.opt:1129
+ msgid "Perform live range splitting during the SSA->normal pass"
+ msgstr "在 SSA->normal 过程中分离活动范围"
+
+-#: common.opt:1130
++#: common.opt:1133
+ msgid "Perform Value Range Propagation on trees"
+ msgstr "进行树上的值域传递"
+
+-#: common.opt:1134
++#: common.opt:1137
+ msgid "Compile whole compilation unit at a time"
+ msgstr "一次编译一整个编译å•å…ƒ"
+
+-#: common.opt:1138
++#: common.opt:1141
+ msgid "Perform loop unrolling when iteration count is known"
+ msgstr "展开所有迭代次数已知的循环"
+
+-#: common.opt:1142
++#: common.opt:1145
+ msgid "Perform loop unrolling for all loops"
+ msgstr "展开所有循环"
+
+-#: common.opt:1149
++#: common.opt:1152
+ msgid "Allow loop optimizations to assume that the loops behave in normal way"
+ msgstr "å…许å‡å®šå¾ªçŽ¯ä»¥â€œæ­£å¸¸â€æ–¹å¼åŠ¨ä½œçš„循环优化"
+
+-#: common.opt:1153
++#: common.opt:1156
+ msgid "Allow optimization for floating-point arithmetic which may change the"
+ msgstr "å…许å¯èƒ½å› ä¸åŒèˆå…¥æ¨¡å¼è€Œæ”¹å˜ç»“果的浮点算术优化。"
+
+-#: common.opt:1158
++#: common.opt:1161
+ msgid "Same as -fassociative-math for expressions which include division."
+ msgstr "与 -fassociative-math 相åŒï¼Œä½œç”¨äºŽåŒ…å«é™¤æ³•çš„表达å¼ã€‚"
+
+-#: common.opt:1166
++#: common.opt:1169
+ msgid "Allow math optimizations that may violate IEEE or ISO standards"
+ msgstr "å…许å¯èƒ½è¿å IEEE 或 ISO 标准的优化"
+
+-#: common.opt:1170
++#: common.opt:1173
+ msgid "Perform loop unswitching"
+ msgstr "外æ循环内的测试语å¥"
+
+-#: common.opt:1174
++#: common.opt:1177
+ msgid "Just generate unwind tables for exception handling"
+ msgstr "仅为异常处ç†ç”Ÿæˆå †æ ˆå±•å¼€è¡¨"
+
+-#: common.opt:1178
++#: common.opt:1181
+ msgid "Perform variable tracking"
+ msgstr "进行å˜é‡è·Ÿè¸ª"
+
+-#: common.opt:1182
++#: common.opt:1185
+ msgid "Perform variable tracking and also tag variables that are uninitialized"
+ msgstr "进行å˜é‡è¿½è¸ªå¹¶ä¸”标记未被åˆå§‹åŒ–çš„å˜é‡"
+
+-#: common.opt:1186
++#: common.opt:1189
+ msgid "Enable loop vectorization on trees"
+ msgstr "在树上进行循环矢é‡åŒ–"
+
+-#: common.opt:1190
++#: common.opt:1193
+ msgid "Enable use of cost model in vectorization"
+ msgstr "å¯ç”¨çŸ¢é‡åŒ–开销模型"
+
+-#: common.opt:1194
++#: common.opt:1197
+ msgid "Enable loop versioning when doing loop vectorization on trees"
+ msgstr "在树上进行循环矢é‡åŒ–æ—¶å¯ç”¨å¤šç‰ˆæœ¬å¾ªçŽ¯"
+
+-#: common.opt:1198
++#: common.opt:1201
+ msgid "Set the verbosity level of the vectorizer"
+ msgstr "设置矢é‡åŒ–器输出的冗余程度"
+
+-#: common.opt:1202
++#: common.opt:1205
+ msgid "Enable copy propagation of scalar-evolution information."
+ msgstr "为标é‡æ¼”化信æ¯è¿›è¡Œå¤å†™ä¼ é€’。"
+
+-#: common.opt:1212
++#: common.opt:1215
+ msgid "Add extra commentary to assembler output"
+ msgstr "为汇编输出添加é¢å¤–注释"
+
+-#: common.opt:1216
++#: common.opt:1219
+ msgid "Set the default symbol visibility"
+ msgstr "设置默认的符å·å¯è§æ€§"
+
+-#: common.opt:1221
++#: common.opt:1224
+ msgid "Use expression value profiles in optimizations"
+ msgstr "在优化中使用表达å¼å€¼æ ·æœ¬æ供的信æ¯"
+
+-#: common.opt:1225
++#: common.opt:1228
+ msgid "Construct webs and split unrelated uses of single variable"
+ msgstr "建立关系网并且分离对åŒä¸€å˜é‡çš„无关应用"
+
+-#: common.opt:1229
++#: common.opt:1232
+ msgid "Perform whole program optimizations"
+ msgstr "进行全程åºä¼˜åŒ–"
+
+-#: common.opt:1233
++#: common.opt:1236
+ msgid "Assume signed arithmetic overflow wraps around"
+ msgstr "å‡å®šæœ‰ç¬¦å·è¿ç®—溢出时回绕"
+
+-#: common.opt:1237
++#: common.opt:1240
+ msgid "Put zero initialized data in the bss section"
+ msgstr "å°†åˆå§‹åŒ–为零的数æ®å­˜æ”¾åœ¨ bss 节中"
+
+-#: common.opt:1241
++#: common.opt:1244
+ msgid "Generate debug information in default format"
+ msgstr "生æˆé»˜è®¤æ ¼å¼çš„调试信æ¯"
+
+-#: common.opt:1245
++#: common.opt:1248
+ msgid "Generate debug information in COFF format"
+ msgstr "ç”Ÿæˆ COFF æ ¼å¼çš„调试信æ¯"
+
+-#: common.opt:1249
++#: common.opt:1252
+ msgid "Generate debug information in DWARF v2 format"
+ msgstr "ç”Ÿæˆ DWARF v2 æ ¼å¼çš„调试信æ¯"
+
+-#: common.opt:1253
++#: common.opt:1256
+ msgid "Generate debug information in default extended format"
+ msgstr "生æˆé»˜è®¤æ‰©å±•æ ¼å¼çš„调试信æ¯"
+
+-#: common.opt:1257
++#: common.opt:1260
+ msgid "Generate debug information in STABS format"
+ msgstr "ç”Ÿæˆ STABS æ ¼å¼çš„调试信æ¯"
+
+-#: common.opt:1261
++#: common.opt:1264
+ msgid "Generate debug information in extended STABS format"
+ msgstr "生æˆæ‰©å±• STABS æ ¼å¼çš„调试信æ¯"
+
+-#: common.opt:1265
++#: common.opt:1268
+ msgid "Generate debug information in VMS format"
+ msgstr "ç”Ÿæˆ VMS æ ¼å¼çš„调试信æ¯"
+
+-#: common.opt:1269
++#: common.opt:1272
+ msgid "Generate debug information in XCOFF format"
+ msgstr "ç”Ÿæˆ XCOFF æ ¼å¼çš„调试信æ¯"
+
+-#: common.opt:1273
++#: common.opt:1276
+ msgid "Generate debug information in extended XCOFF format"
+ msgstr "ç”Ÿæˆ XCOFF 扩展格å¼çš„调试信æ¯"
+
+-#: common.opt:1277
++#: common.opt:1280
+ msgid "Place output into <file>"
+ msgstr "将输出写入 <file>"
+
+-#: common.opt:1281
++#: common.opt:1284
+ msgid "Enable function profiling"
+ msgstr "å¯ç”¨å‡½æ•°å–æ ·"
+
+-#: common.opt:1285
++#: common.opt:1288
+ msgid "Issue warnings needed for strict compliance to the standard"
+ msgstr "给出标准指定的所有警告信æ¯"
+
+-#: common.opt:1289
++#: common.opt:1292
+ msgid "Like -pedantic but issue them as errors"
+ msgstr "与 -pedantic 类似,但将它们视作错误"
+
+-#: common.opt:1293
++#: common.opt:1296
+ msgid "Do not display functions compiled or elapsed time"
+ msgstr "ä¸æ˜¾ç¤ºç¼–译的函数或é€åŽ»çš„时间"
+
+-#: common.opt:1297
++#: common.opt:1300
+ msgid "Display the compiler's version"
+ msgstr "显示编译器版本"
+
+-#: common.opt:1301
++#: common.opt:1304
+ msgid "Suppress warnings"
+ msgstr "ä¸æ˜¾ç¤ºè­¦å‘Š"
+
+-#: common.opt:1305
++#: common.opt:1308
+ msgid "Create a shared library"
+ msgstr "生æˆä¸€ä¸ªå…±äº«åº“"
+
+-#: common.opt:1309
++#: common.opt:1312
+ msgid "Create a position independent executable"
+ msgstr "生æˆä½ç½®æ— å…³å¯æ‰§è¡Œæ–‡ä»¶"
+
++#: c.opt:41
++msgid "Assert the <answer> to <question>. Putting '-' before <question> disables the <answer> to <question>"
++msgstr "给出 <问题> çš„ <答案>。在 <问题> å‰åŠ ä¸€ä¸ªâ€˜-’将ç¦ç”¨æ­¤ <答案>"
++
++#: c.opt:45
++msgid "Do not discard comments"
++msgstr "ä¸ä¸¢å¼ƒæ³¨é‡Š"
++
++#: c.opt:49
++msgid "Do not discard comments in macro expansions"
++msgstr "展开å®æ—¶ä¸ä¸¢å¼ƒæ³¨é‡Š"
++
++#: c.opt:53
++msgid "Define a <macro> with <val> as its value. If just <macro> is given, <val> is taken to be 1"
++msgstr "å°† <å®> 定义为 <值>。如果åªç»™å‡ºäº† <å®>,<值> 将被定为 1"
++
++#: c.opt:60
++msgid "Add <dir> to the end of the main framework include path"
++msgstr "å°† <目录> 添加至主框架包å«è·¯å¾„的末尾"
++
++#: c.opt:64
++msgid "Print the name of header files as they are used"
++msgstr "打å°ä½¿ç”¨åˆ°çš„头文件å"
++
++#: c.opt:68 c.opt:863
++msgid "Add <dir> to the end of the main include path"
++msgstr "å°† <目录> 添加至主包å«è·¯å¾„末尾"
++
++#: c.opt:72
++msgid "Generate make dependencies"
++msgstr "ç”Ÿæˆ make ä¾èµ–项"
++
++#: c.opt:76
++msgid "Generate make dependencies and compile"
++msgstr "ç”Ÿæˆ make ä¾èµ–规则并编译"
++
++#: c.opt:80
++msgid "Write dependency output to the given file"
++msgstr "å°†ä¾èµ–项输出到给定文件"
++
++#: c.opt:84
++msgid "Treat missing header files as generated files"
++msgstr "将缺失的头文件看作生æˆçš„文件"
++
++#: c.opt:88
++msgid "Like -M but ignore system header files"
++msgstr "与 -M 类似但是忽略系统头文件"
++
++#: c.opt:92
++msgid "Like -MD but ignore system header files"
++msgstr "与 -MD 类似但是忽略系统头文件"
++
++#: c.opt:96
++msgid "Generate phony targets for all headers"
++msgstr "为所有头文件生æˆä¼ªç›®æ ‡"
++
++#: c.opt:100
++msgid "Add a MAKE-quoted target"
++msgstr "添加一个 MAKE 括起的目标"
++
++#: c.opt:104
++msgid "Add an unquoted target"
++msgstr "添加一个ä¸æ‹¬èµ·çš„目标"
++
++#: c.opt:108
++msgid "Do not generate #line directives"
++msgstr "ä¸ç”Ÿæˆ #line 指令"
++
++#: c.opt:112
++msgid "Undefine <macro>"
++msgstr "å–消定义 <å®>"
++
++#: c.opt:116
++msgid "Warn about things that will change when compiling with an ABI-compliant compiler"
++msgstr "当结果与 ABI 相容的编译器的编译结果ä¸åŒæ—¶ç»™å‡ºè­¦å‘Š"
++
++#: c.opt:120
++msgid "Warn about suspicious uses of memory addresses"
++msgstr "使用å¯ç–‘的内存地å€æ—¶ç»™å‡ºè­¦å‘Š"
++
++#: c.opt:124
++msgid "Enable most warning messages"
++msgstr "å¯ç”¨å¤§éƒ¨åˆ†è­¦å‘Šä¿¡æ¯"
++
++#: c.opt:128
++msgid "Warn if a comparison is always true or always false due to the limited range of the data type"
++msgstr "当由于数æ®ç±»åž‹èŒƒå›´é™åˆ¶æ¯”较结果永远为真或å‡æ—¶ç»™å‡ºè­¦å‘Š"
++
++#: c.opt:132
++msgid "Warn whenever an Objective-C assignment is being intercepted by the garbage collector"
++msgstr "当 Objective-C 赋值å¯èƒ½ä¸ºåžƒåœ¾å›žæ”¶æ‰€ä»‹å…¥æ—¶ç»™å‡ºè­¦å‘Š"
++
++#: c.opt:136
++msgid "Warn about casting functions to incompatible types"
++msgstr "当把函数转æ¢ä¸ºä¸å…¼å®¹ç±»åž‹æ—¶ç»™å‡ºè­¦å‘Š"
++
++#: c.opt:140
++msgid "Warn about C constructs that are not in the common subset of C and C++"
++msgstr "当在 C 语言中使用了 C 与 C++ 交集以外的构造时给出警告"
++
++#: c.opt:144
++msgid "Warn about C++ constructs whose meaning differs between ISO C++ 1998 and ISO C++ 200x"
++msgstr "当 C++ 构造的æ„义在 ISO C++ 1998 å’Œ ISO C++ 200x 中ä¸åŒæ—¶ç»™å‡ºè­¦å‘Š"
++
++#: c.opt:148
++msgid "Warn about casts which discard qualifiers"
++msgstr "当类型转æ¢ä¸¢å¤±é™å®šä¿¡æ¯æ—¶ç»™å‡ºè­¦å‘Š"
++
++#: c.opt:152
++msgid "Warn about subscripts whose type is \"char\""
++msgstr "当下标类型为“charâ€æ—¶ç»™å‡ºè­¦å‘Š"
++
++#: c.opt:156
++msgid "Warn about variables that might be changed by \"longjmp\" or \"vfork\""
++msgstr "对能为%<longjmp%>或%<vfork%>所篡改的å˜é‡ç»™å‡ºè­¦å‘Š"
++
++#: c.opt:160
++msgid "Warn about possibly nested block comments, and C++ comments spanning more than one physical line"
++msgstr "对å¯èƒ½åµŒå¥—的注释和长度超过一个物ç†è¡Œé•¿çš„ C++ 注释给出警告"
++
++#: c.opt:164
++msgid "Synonym for -Wcomment"
++msgstr "-Wcomment çš„åŒä¹‰è¯"
++
++#: c.opt:168
++msgid "Warn for implicit type conversions that may change a value"
++msgstr "当éšå¼ç±»åž‹è½¬æ¢å¯èƒ½æ”¹å˜å€¼æ—¶ç»™å‡ºè­¦å‘Š"
++
++#: c.opt:172
++msgid "Warn for implicit type conversions between signed and unsigned integers"
++msgstr "为有符å·å’Œæ— ç¬¦å·æ•´æ•°é—´çš„éšå¼ç±»åž‹è½¬æ¢ç»™å‡ºè­¦å‘Š"
++
++#: c.opt:176
++msgid "Warn when all constructors and destructors are private"
++msgstr "当所有构造函数和æžæž„函数都是ç§æœ‰æ—¶ç»™å‡ºè­¦å‘Š"
++
++#: c.opt:180
++msgid "Warn when a declaration is found after a statement"
++msgstr "当声明出现在语å¥åŽæ—¶ç»™å‡ºè­¦å‘Š"
++
++#: c.opt:184
++msgid "Warn about deprecated compiler features"
++msgstr "使用ä¸å»ºè®®çš„编译器特性时给出警告"
++
++#: c.opt:188
++msgid "Warn about compile-time integer division by zero"
++msgstr "对编译时å‘现的零除给出警告"
++
++#: c.opt:192
++msgid "Warn about violations of Effective C++ style rules"
++msgstr "对ä¸éµå¾ª Effetive C++ 的风格给出警告"
++
++#: c.opt:196
++msgid "Warn about an empty body in an if or else statement"
++msgstr "当 if 或 else 语å¥ä½“为空时给出警告"
++
++#: c.opt:200
++msgid "Warn about stray tokens after #elif and #endif"
++msgstr "当 #elif å’Œ #endif åŽé¢è·Ÿæœ‰å…¶ä»–标识符时给出警告"
++
++#: c.opt:208
++msgid "This switch is deprecated; use -Werror=implicit-function-declaration instead"
++msgstr "ä¸å»ºè®®ä½¿ç”¨æ­¤å¼€å…³ï¼›è¯·æ”¹ç”¨ -Werror=implicit-function-declaration"
++
++#: c.opt:212
++msgid "Warn if testing floating point numbers for equality"
++msgstr "当比较浮点数是å¦ç›¸ç­‰æ—¶ç»™å‡ºè­¦å‘Š"
++
++#: c.opt:216
++msgid "Warn about printf/scanf/strftime/strfmon format string anomalies"
++msgstr "对 printf/scanf/strftime/strfmon 中的格å¼å­—符串异常给出警告"
++
++#: c.opt:220
++msgid "Warn if passing too many arguments to a function for its format string"
++msgstr "当传递给格å¼å­—符串的实å‚太多时给出警告"
++
++#: c.opt:224
++msgid "Warn about format strings that are not literals"
++msgstr "当格å¼å­—符串ä¸æ˜¯å­—é¢å€¼æ—¶ç»™å‡ºè­¦å‘Š"
++
++#: c.opt:228
++msgid "Warn about format strings that contain NUL bytes"
++msgstr "当格å¼å­—ç¬¦ä¸²åŒ…å« NUL 字节时给出警告"
++
++#: c.opt:232
++msgid "Warn about possible security problems with format functions"
++msgstr "当使用格å¼å­—符串的函数å¯èƒ½å¯¼è‡´å®‰å…¨é—®é¢˜æ—¶ç»™å‡ºè­¦å‘Š"
++
++#: c.opt:236
++msgid "Warn about strftime formats yielding 2-digit years"
++msgstr "当 strftime æ ¼å¼ç»™å‡º 2 ä½è®°å¹´æ—¶ç»™å‡ºè­¦å‘Š"
++
++#: c.opt:240
++msgid "Warn about zero-length formats"
++msgstr "对长度为 0 çš„æ ¼å¼å­—符串给出警告"
++
++#: c.opt:247
++msgid "Warn whenever type qualifiers are ignored."
++msgstr "当类型é™å®šç¬¦è¢«å¿½ç•¥æ—¶ç»™å‡ºè­¦å‘Šã€‚"
++
++#: c.opt:251
++msgid "Warn about variables which are initialized to themselves"
++msgstr "对åˆå§‹åŒ–为自身的å˜é‡ç»™å‡ºè­¦å‘Šã€‚"
++
++#: c.opt:258
++msgid "Warn about implicit function declarations"
++msgstr "对éšå¼å‡½æ•°å£°æ˜Žç»™å‡ºè­¦å‘Š"
++
++#: c.opt:262
++msgid "Warn when a declaration does not specify a type"
++msgstr "当声明未指定类型时给出警告"
++
++#: c.opt:266
++msgid "Deprecated. This switch has no effect"
++msgstr "ä¸å»ºè®®ä½¿ç”¨ã€‚此开关ä¸èµ·ä½œç”¨ã€‚"
++
++#: c.opt:270
++msgid "Warn when there is a cast to a pointer from an integer of a different size"
++msgstr "当将一个大å°ä¸åŒçš„整数转æ¢ä¸ºæŒ‡é’ˆæ—¶ç»™å‡ºè­¦å‘Š"
++
++#: c.opt:274
++msgid "Warn about invalid uses of the \"offsetof\" macro"
++msgstr "对“offsetofâ€å®æ— æ•ˆçš„使用给出警告"
++
++#: c.opt:278
++msgid "Warn about PCH files that are found but not used"
++msgstr "在找到了 PCH 文件但未使用的情况给出警告"
++
++#: c.opt:282
++msgid "Do not warn about using \"long long\" when -pedantic"
++msgstr "当使用 -pedantic æ—¶ä¸å¯¹â€œlong longâ€ç»™å‡ºè­¦å‘Š"
++
++#: c.opt:286
++msgid "Warn about suspicious declarations of \"main\""
++msgstr "对å¯ç–‘的“mainâ€å£°æ˜Žç»™å‡ºè­¦å‘Š"
++
++#: c.opt:290
++msgid "Warn about possibly missing braces around initializers"
++msgstr "è‹¥åˆå§‹å€¼è®¾å®šé¡¹ä¸­å¯èƒ½ç¼ºå°‘花括å·åˆ™ç»™å‡ºè­¦å‘Š"
++
++#: c.opt:294
++msgid "Warn about global functions without previous declarations"
++msgstr "当全局函数没有å‰å‘声明时给出警告"
++
++#: c.opt:298
++msgid "Warn about missing fields in struct initializers"
++msgstr "若结构åˆå§‹å€¼è®¾å®šé¡¹ä¸­ç¼ºå°‘字段则给出警告"
++
++#: c.opt:302
++msgid "Warn about functions which might be candidates for format attributes"
++msgstr "当函数å¯èƒ½æ˜¯ format 属性的备选时给出警告"
++
++#: c.opt:306
++msgid "Warn about user-specified include directories that do not exist"
++msgstr "当用户给定的包å«ç›®å½•ä¸å­˜åœ¨æ—¶ç»™å‡ºè­¦å‘Š"
++
++#: c.opt:310
++msgid "Warn about function parameters declared without a type specifier in K&R-style functions"
++msgstr "K&R 风格函数å‚数声明中未指定类型é™å®šç¬¦æ—¶ç»™å‡ºè­¦å‘Š"
++
++#: c.opt:314
++msgid "Warn about global functions without prototypes"
++msgstr "全局函数没有原型时给出警告"
++
++#: c.opt:318
++msgid "Warn about use of multi-character character constants"
++msgstr "使用多字节字符集的字符常é‡æ—¶ç»™å‡ºè­¦å‘Š"
++
++#: c.opt:322
++msgid "Warn about \"extern\" declarations not at file scope"
++msgstr "当“externâ€å£°æ˜Žä¸åœ¨æ–‡ä»¶ä½œç”¨åŸŸæ—¶ç»™å‡ºè­¦å‘Š"
++
++#: c.opt:326
++msgid "Warn when non-templatized friend functions are declared within a template"
++msgstr "在模æ¿å†…声明未模æ¿åŒ–çš„å‹å…ƒå‡½æ•°æ—¶ç»™å‡ºè­¦å‘Š"
++
++#: c.opt:330
++msgid "Warn about non-virtual destructors"
++msgstr "当æžæž„函数ä¸æ˜¯è™šå‡½æ•°æ—¶ç»™å‡ºè­¦å‘Š"
++
++#: c.opt:334
++msgid "Warn about NULL being passed to argument slots marked as requiring non-NULL"
++msgstr "当将 NULL 传递给需è¦éž NULL çš„å‚数的函数时给出警告"
++
++#: c.opt:338
++msgid "Warn about non-normalised Unicode strings"
++msgstr "为未归一化的 Unicode 字符串给出警告"
++
++#: c.opt:342
++msgid "Warn if a C-style cast is used in a program"
++msgstr "程åºä½¿ç”¨ C 风格的类型转æ¢æ—¶ç»™å‡ºè­¦å‘Š"
++
++#: c.opt:346
++msgid "Warn for obsolescent usage in a declaration"
++msgstr "对声明中的过时用法给出警告"
++
++#: c.opt:350
++msgid "Warn if an old-style parameter definition is used"
++msgstr "使用旧å¼å½¢å‚定义时给出警告"
++
++#: c.opt:354
++msgid "Warn if a string is longer than the maximum portable length specified by the standard"
++msgstr "当字符串长度超过标准规定的å¯ç§»æ¤çš„最大长度时给出警告"
++
++#: c.opt:358
++msgid "Warn about overloaded virtual function names"
++msgstr "é‡è½½è™šå‡½æ•°å时给出警告"
++
++#: c.opt:362
++msgid "Warn about overriding initializers without side effects"
++msgstr "覆盖无副作用的åˆå§‹åŒ–设定时给出警告"
++
++#: c.opt:366
++msgid "Warn about possibly missing parentheses"
++msgstr "å¯èƒ½ç¼ºå°‘括å·çš„情况下给出警告"
++
++#: c.opt:370
++msgid "Warn when converting the type of pointers to member functions"
++msgstr "当改å˜æˆå‘˜å‡½æ•°æŒ‡é’ˆçš„类型时给出警告"
++
++#: c.opt:374
++msgid "Warn about function pointer arithmetic"
++msgstr "当在算术表达å¼ä¸­ä½¿ç”¨å‡½æ•°æŒ‡é’ˆæ—¶ç»™å‡ºè­¦å‘Š"
++
++#: c.opt:378
++msgid "Warn when a pointer is cast to an integer of a different size"
++msgstr "将一个指针转æ¢ä¸ºå¤§å°ä¸åŒçš„整数时给出警告"
++
++#: c.opt:382
++msgid "Warn about misuses of pragmas"
++msgstr "对错误使用的 pragma 加以警告"
++
++#: c.opt:386
++msgid "Warn if inherited methods are unimplemented"
++msgstr "当继承æ¥çš„方法未被实现时给出警告"
++
++#: c.opt:390
++msgid "Warn about multiple declarations of the same object"
++msgstr "对åŒä¸€ä¸ªå¯¹è±¡å¤šæ¬¡å£°æ˜Žæ—¶ç»™å‡ºè­¦å‘Š"
++
++#: c.opt:394
++msgid "Warn when the compiler reorders code"
++msgstr "编译器将代ç é‡æ–°æŽ’åºæ—¶ç»™å‡ºè­¦å‘Š"
++
++#: c.opt:398
++msgid "Warn whenever a function's return type defaults to \"int\" (C), or about inconsistent return types (C++)"
++msgstr "当 C 函数的返回值默认为“intâ€ï¼Œæˆ–者 C++ 函数的返回类型ä¸ä¸€è‡´æ—¶ç»™å‡ºè­¦å‘Š"
++
++#: c.opt:402
++msgid "Warn if a selector has multiple methods"
++msgstr "当选择å­æœ‰å¤šä¸ªæ–¹æ³•æ—¶ç»™å‡ºè­¦å‘Š"
++
++#: c.opt:406
++msgid "Warn about possible violations of sequence point rules"
++msgstr "当å¯èƒ½è¿å定åºç‚¹è§„则时给出警告"
++
++#: c.opt:410
++msgid "Warn about signed-unsigned comparisons"
++msgstr "在有符å·å’Œæ— ç¬¦å·æ•°é—´è¿›è¡Œæ¯”较时给出警告"
++
++#: c.opt:414
++msgid "Warn when overload promotes from unsigned to signed"
++msgstr "当é‡è½½å°†æ— ç¬¦å·æ•°æå‡ä¸ºæœ‰ç¬¦å·æ•°æ—¶ç»™å‡ºè­¦å‘Š"
++
++#: c.opt:418
++msgid "Warn about uncasted NULL used as sentinel"
++msgstr "将未作转æ¢çš„ NULL 用作哨兵时给出警告"
++
++#: c.opt:422
++msgid "Warn about unprototyped function declarations"
++msgstr "使用了éžåŽŸåž‹çš„函数声明时给出警告"
++
++#: c.opt:426
++msgid "Warn if type signatures of candidate methods do not match exactly"
++msgstr "当备选方法的类型签字ä¸å®Œå…¨åŒ¹é…时给出警告"
++
++#: c.opt:430
++msgid "Warn when synthesis behavior differs from Cfront"
++msgstr "当综åˆè¡Œä¸ºä¸åŒäºŽ Cfront 时给出警告"
++
++#: c.opt:438
++msgid "Warn about features not present in traditional C"
++msgstr "使用了传统 C ä¸æ”¯æŒçš„特性时给出警告"
++
++#: c.opt:442
++msgid "Warn of prototypes causing type conversions different from what would happen in the absence of prototype"
++msgstr "原型导致的类型转æ¢ä¸Žæ— åŽŸåž‹æ—¶çš„类型转æ¢ä¸åŒæ—¶ç»™å‡ºè­¦å‘Š"
++
++#: c.opt:446
++msgid "Warn if trigraphs are encountered that might affect the meaning of the program"
++msgstr "当三字æ¯åºåˆ—å¯èƒ½å½±å“程åºæ„义时给出警告"
++
++#: c.opt:450
++msgid "Warn about @selector()s without previously declared methods"
++msgstr "当使用 @selector() å´ä¸ä½œäº‹å…ˆå£°æ˜Žæ—¶ç»™å‡ºè­¦å‘Š"
++
++#: c.opt:454
++msgid "Warn if an undefined macro is used in an #if directive"
++msgstr "当 #if 指令中用到未定义的å®æ—¶ç»™å‡ºè­¦å‘Š"
++
++#: c.opt:458
++msgid "Warn about unrecognized pragmas"
++msgstr "对无法识别的 pragma 加以警告"
++
++#: c.opt:462
++msgid "Warn about macros defined in the main file that are not used"
++msgstr "当定义在主文件中的å®æœªè¢«ä½¿ç”¨æ—¶ç»™å‡ºè­¦å‘Š"
++
++#: c.opt:466
++msgid "Do not warn about using variadic macros when -pedantic"
++msgstr "指定 -pedantic æ—¶ä¸ä¸ºå¯å˜å‚æ•°å®ç»™å‡ºè­¦å‘Š"
++
++#: c.opt:470
++msgid "Warn if a variable length array is used"
++msgstr "使用å˜é•¿æ•°ç»„时警告"
++
++#: c.opt:474
++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 标准所ä¸é¼“励。"
++
++#: c.opt:478
++msgid "Warn when a pointer differs in signedness in an assignment"
++msgstr "赋值时如指针符å·ä¸ä¸€è‡´åˆ™ç»™å‡ºè­¦å‘Š"
++
++#: c.opt:482
++msgid "A synonym for -std=c89 (for C) or -std=c++98 (for C++)"
++msgstr "-std=c89 (对 C æ¥è¯´) 或 -std=c++98 (对 C++ æ¥è¯´)çš„åŒä¹‰è¯"
++
++#: c.opt:490
++msgid "Enforce class member access control semantics"
++msgstr "执行类æˆå‘˜è®¿é—®æŽ§åˆ¶è¯­ä¹‰"
++
++#: c.opt:497
++msgid "Change when template instances are emitted"
++msgstr "使用ä¸åŒçš„模æ¿å®žä¾‹åŒ–实现"
++
++#: c.opt:501
++msgid "Recognize the \"asm\" keyword"
++msgstr "识别“asmâ€å…³é”®å­—"
++
++#: c.opt:505
++msgid "Recognize built-in functions"
++msgstr "识别内建函数"
++
++#: c.opt:512
++msgid "Check the return value of new"
++msgstr "检查 new 的返回值"
++
++#: c.opt:516
++msgid "Allow the arguments of the '?' operator to have different types"
++msgstr "å…许‘?’è¿ç®—符的å‚数有ä¸åŒçš„类型"
++
++#: c.opt:520
++msgid "Reduce the size of object files"
++msgstr "å‡å°ç›®æ ‡æ–‡ä»¶"
++
++#: c.opt:524
++msgid "Use class <name> for constant strings"
++msgstr "使用 <å> 作为常é‡å­—符串类的å称"
++
++#: c.opt:528
++msgid "Inline member functions by default"
++msgstr "默认内è”æˆå‘˜å‡½æ•°"
++
++#: c.opt:532
++msgid "Preprocess directives only."
++msgstr "仅预处ç†æŒ‡ç¤ºã€‚"
++
++#: c.opt:536
++msgid "Permit '$' as an identifier character"
++msgstr "å…许‘$’作为标识符的一部分"
++
++#: c.opt:543
++msgid "Generate code to check exception specifications"
++msgstr "生æˆæ£€æŸ¥å¼‚常规范的代ç "
++
++#: c.opt:550
++msgid "Convert all strings and character constants to character set <cset>"
++msgstr "将所有字符串和字符常é‡è½¬æ¢åˆ° <字符集>"
++
++#: c.opt:554
++msgid "Permit universal character names (\\u and \\U) in identifiers"
++msgstr "å…许标识符中出现 Unicode 字符å(\\u å’Œ \\U)"
++
++#: c.opt:558
++msgid "Specify the default character set for source files"
++msgstr "指定æºä»£ç çš„默认字符集"
++
++#: c.opt:566
++msgid "Scope of for-init-statement variables is local to the loop"
++msgstr "for 循环åˆå§‹åŒ–中定义的å˜é‡ä½œç”¨åŸŸå±€é™äºŽå¾ªçŽ¯å†…"
++
++#: c.opt:570
++msgid "Do not assume that standard C libraries and \"main\" exist"
++msgstr "ä¸å‡å®šæ ‡å‡† C 库和“mainâ€å­˜åœ¨"
++
++#: c.opt:574
++msgid "Recognize GNU-defined keywords"
++msgstr "识别 GNU 定义的关键字"
++
++#: c.opt:578
++msgid "Generate code for GNU runtime environment"
++msgstr "为 GNU è¿è¡Œæ—¶çŽ¯å¢ƒç”Ÿæˆä»£ç "
++
++#: c.opt:582
++msgid "Use traditional GNU semantics for inline functions"
++msgstr "为内è”函数使用传统的 GNU 语义"
++
++#: c.opt:595
++msgid "Assume normal C execution environment"
++msgstr "å‡å®šä¸€èˆ¬çš„ C 执行环境"
++
++#: c.opt:599
++msgid "Enable support for huge objects"
++msgstr "å¯ç”¨å¯¹å·¨åž‹å¯¹è±¡çš„支æŒ"
++
++#: c.opt:603
++msgid "Export functions even if they can be inlined"
++msgstr "导出被内è”的函数"
++
++#: c.opt:607
++msgid "Emit implicit instantiations of inline templates"
++msgstr "å…许内è”模æ¿éšå¼å®žä¾‹åŒ–"
++
++#: c.opt:611
++msgid "Emit implicit instantiations of templates"
++msgstr "å…许模æ¿éšå¼å®žä¾‹åŒ–"
++
++#: c.opt:615
++msgid "Inject friend functions into enclosing namespace"
++msgstr "å°†å‹å…ƒå‡½æ•°å£°æ˜Žè§†ä½œåŒ…å«å®ƒçš„命å空间中的有效声明"
++
++#: c.opt:622
++msgid "Allow implicit conversions between vectors with differing numbers of subparts and/or differing element types."
++msgstr "å…许具有ä¸åŒå…ƒç´ æ•°é‡å’Œ/或元素类型的矢é‡é—´çš„转æ¢"
++
++#: c.opt:626
++msgid "Don't warn about uses of Microsoft extensions"
++msgstr "使用微软扩展时ä¸ç»™å‡ºè­¦å‘Š"
++
++#: c.opt:636
++msgid "Generate code for NeXT (Apple Mac OS X) runtime environment"
++msgstr "为 NeXT (苹果 Mac OS X) è¿è¡Œæ—¶çŽ¯å¢ƒç”Ÿæˆä»£ç "
++
++#: c.opt:640
++msgid "Assume that receivers of Objective-C messages may be nil"
++msgstr "å‡å®š Objective-C 消æ¯çš„接å—者å¯èƒ½æ˜¯ nil"
++
++#: c.opt:652
++msgid "Generate special Objective-C methods to initialize/destroy non-POD C++ ivars, if needed"
++msgstr "如果需è¦ï¼Œç”Ÿæˆç‰¹æ®Šçš„ Objective-C 方法æ¥åˆå§‹åŒ–/æžæž„éžç®€å•æ—§æ•°æ® C++ å˜é‡"
++
++#: c.opt:656
++msgid "Allow fast jumps to the message dispatcher"
++msgstr "å…许快速跳转至消æ¯åˆ†å‘者"
++
++#: c.opt:662
++msgid "Enable Objective-C exception and synchronization syntax"
++msgstr "å¯ç”¨ Objective-C 异常和åŒæ­¥è¯­æ³•"
++
++#: c.opt:666
++msgid "Enable garbage collection (GC) in Objective-C/Objective-C++ programs"
++msgstr "在 Objective-C/Objective-C++ 程åºä¸­å¯ç”¨åžƒåœ¾æ”¶é›†"
++
++#: c.opt:671
++msgid "Enable Objective-C setjmp exception handling runtime"
++msgstr "å¯ç”¨ Objective-C setjmp 异常处ç†è¿è¡Œæ—¶"
++
++#: c.opt:675
++msgid "Enable OpenMP"
++msgstr "å¯ç”¨ OpenMP"
++
++#: c.opt:679
++msgid "Recognize C++ kewords like \"compl\" and \"xor\""
++msgstr "识别“complâ€ã€â€œxorâ€ç­‰ C++ 关键è¯"
++
++#: c.opt:683
++msgid "Enable optional diagnostics"
++msgstr "å¯åŠ¨å¯é€‰çš„诊断信æ¯"
++
++#: c.opt:690
++msgid "Look for and use PCH files even when preprocessing"
++msgstr "å³ä½¿åœ¨é¢„处ç†æ—¶ä¹Ÿæœç´¢å¹¶ä½¿ç”¨ PCH 文件"
++
++#: c.opt:694
++msgid "Downgrade conformance errors to warnings"
++msgstr "将兼容性错误é™æ ¼ä¸ºè­¦å‘Š"
++
++#: c.opt:698
++msgid "Treat the input file as already preprocessed"
++msgstr "将输入文件当作已ç»é¢„处ç†è¿‡çš„"
++
++#: c.opt:702
++msgid "Used in Fix-and-Continue mode to indicate that object files may be swapped in at runtime"
++msgstr "指定对象文件å¯èƒ½åœ¨è¿è¡Œæ—¶è¢«æ¢å…¥ä»¥å…许“修å¤å¹¶ç»§ç»­â€è°ƒè¯•æ¨¡å¼"
++
++#: c.opt:706
++msgid "Enable automatic template instantiation"
++msgstr "å¯ç”¨æ¨¡æ¿è‡ªåŠ¨å®žä¾‹åŒ–"
++
++#: c.opt:710
++msgid "Generate run time type descriptor information"
++msgstr "生æˆè¿è¡Œæ—¶ç±»åž‹æè¿°ä¿¡æ¯"
++
++#: c.opt:714
++msgid "Use the same size for double as for float"
++msgstr "令 double 使用 float 的大å°"
++
++#: c.opt:722
++msgid "Force the underlying type for \"wchar_t\" to be \"unsigned short\""
++msgstr "强制指定“wchar_tâ€çš„内在类型为“unsigned shortâ€"
++
++#: c.opt:726
++msgid "When \"signed\" or \"unsigned\" is not given make the bitfield signed"
++msgstr "没有给定“signedâ€æˆ–“unsignedâ€æ—¶å°†ä½æ®µè§†ä½œæœ‰ç¬¦å·çš„"
++
++#: c.opt:730
++msgid "Make \"char\" signed by default"
++msgstr "使“charâ€ç±»åž‹é»˜è®¤ä¸ºæœ‰ç¬¦å·"
++
++#: c.opt:737
++msgid "Display statistics accumulated during compilation"
++msgstr "显示编译过程中累计的统计数字"
++
++#: c.opt:744
++msgid "Distance between tab stops for column reporting"
++msgstr "指定报告列å·æ—¶åˆ¶è¡¨ä½é—´çš„è·ç¦»"
++
++#: c.opt:748
++msgid "Specify maximum template instantiation depth"
++msgstr "指定模æ¿å®žä¾‹åŒ–的最大深度"
++
++#: c.opt:755
++msgid "Do not generate thread-safe code for initializing local statics"
++msgstr "ä¸ä¸ºå±€éƒ¨é™æ€å˜é‡ç”Ÿæˆçº¿ç¨‹å®‰å…¨çš„åˆå§‹åŒ–代ç "
++
++#: c.opt:759
++msgid "When \"signed\" or \"unsigned\" is not given make the bitfield unsigned"
++msgstr "未指定“signedâ€æˆ–“unsignedâ€æ—¶é»˜è®¤ä½æ®µä¸ºæ— ç¬¦å·çš„"
++
++#: c.opt:763
++msgid "Make \"char\" unsigned by default"
++msgstr "使“charâ€ç±»åž‹é»˜è®¤ä¸ºæ— ç¬¦å·"
++
++#: c.opt:767
++msgid "Use __cxa_atexit to register destructors"
++msgstr "å°† __cxa_atexit è€Œéž atexit 登记为æžæž„函数"
++
++#: c.opt:771
++msgid "Use __cxa_get_exception_ptr in exception handling"
++msgstr "在异常处ç†ä¸­ä½¿ç”¨ __cxa_get_exception_ptr"
++
++#: c.opt:775
++msgid "Marks all inlined methods as having hidden visibility"
++msgstr "将所有内è”函数标记为具有éšè—çš„å¯è§æ€§"
++
++#: c.opt:779
++msgid "Changes visibility to match Microsoft Visual Studio by default"
++msgstr "默认使用与 Microsoft Visual Studio 匹é…çš„å¯è§æ€§"
++
++#: c.opt:783
++msgid "Discard unused virtual functions"
++msgstr "抛弃未使用的虚函数"
++
++#: c.opt:787
++msgid "Implement vtables using thunks"
++msgstr "使用 thunk 技术实现 vtable"
++
++#: c.opt:791
++msgid "Emit common-like symbols as weak symbols"
++msgstr "将公共符å·è§†ä½œå¼±ç¬¦å·"
++
++#: c.opt:795
++msgid "Convert all wide strings and character constants to character set <cset>"
++msgstr "将所有宽字符串和字符常é‡éƒ½è½¬æ¢ä¸º <cset>"
++
++#: c.opt:799
++msgid "Generate a #line directive pointing at the current working directory"
++msgstr "生æˆä¸€ä¸ªæŒ‡å‘当å‰å·¥ä½œç›®å½•çš„ #line 预处ç†æŒ‡ä»¤"
++
++#: c.opt:803
++msgid "Emit cross referencing information"
++msgstr "生æˆäº¤å‰å¼•ç”¨ä¿¡æ¯"
++
++#: c.opt:807
++msgid "Generate lazy class lookup (via objc_getClass()) for use in Zero-Link mode"
++msgstr "为 Zero-Link 模å¼ç”ŸæˆåŽæœŸç±»æŸ¥æ‰¾(通过 objc_getClass())"
++
++#: c.opt:811
++msgid "Dump declarations to a .decl file"
++msgstr "将声明转储到一个 .decl 文件中"
++
++#: c.opt:815
++msgid "Aggressive reduced debug info for structs"
++msgstr "积æžåœ°ç¼©å‡ç»“构体的调试信æ¯"
++
++#: c.opt:819
++msgid "Conservative reduced debug info for structs"
++msgstr "ä¿å®ˆåœ°ç¼©å‡ç»“构体的调试信æ¯"
++
++#: c.opt:823
++msgid "Detailed reduced debug info for structs"
++msgstr "详细指定如何缩å‡ç»“构体的调试信æ¯"
++
++#: c.opt:827 c.opt:859
++msgid "Add <dir> to the end of the system include path"
++msgstr "å°† <目录> 添加至系统包å«è·¯å¾„末尾"
++
++#: c.opt:831
++msgid "Accept definition of macros in <file>"
++msgstr "æŽ¥å— <文件> 中定义的å®"
++
++#: c.opt:835
++msgid "-imultilib <dir> Set <dir> to be the multilib include subdirectory"
++msgstr "-imultilib <目录> å°† <目录> 设定为 multilib 的包å«å­ç›®å½•"
++
++#: c.opt:839
++msgid "Include the contents of <file> before other files"
++msgstr "在包å«å…¶ä»–文件之å‰å…ˆåŒ…å« <文件> 的内容"
++
++#: c.opt:843
++msgid "Specify <path> as a prefix for next two options"
++msgstr "å°† <路径> 指定为下两个选项的å‰ç¼€"
++
++#: c.opt:847
++msgid "Set <dir> to be the system root directory"
++msgstr "将 <目录> 设为系统根目录"
++
++#: c.opt:851
++msgid "Add <dir> to the start of the system include path"
++msgstr "å°† <目录> 添加至系统包å«è·¯å¾„开头"
++
++#: c.opt:855
++msgid "Add <dir> to the end of the quote include path"
++msgstr "å°† <目录> 添加至引å·åŒ…å«è·¯å¾„末尾"
++
++#: c.opt:876
++msgid "Do not search standard system include directories (those specified with -isystem will still be used)"
++msgstr "ä¸æœç´¢æ ‡å‡†ç³»ç»Ÿå¤´æ–‡ä»¶ç›®å½•(但ä»å°†ä½¿ç”¨ç”± -isystem 指定的目录)"
++
++#: c.opt:880
++msgid "Do not search standard system include directories for C++"
++msgstr "ä¸æœç´¢ C++ 标准系统头文件目录"
++
++#: c.opt:896
++msgid "Generate C header of platform-specific features"
++msgstr "生æˆæœ‰å¹³å°ç›¸å…³ç‰¹æ€§çš„ C 头文件"
++
++#: c.opt:900
++msgid "Print a checksum of the executable for PCH validity checking, and stop"
++msgstr "打å°å‡ºç”¨äºŽ PCH 有效性检查的å¯æ‰§è¡Œæ–‡ä»¶çš„校验和,然åŽé€€å‡º"
++
++#: c.opt:904
++msgid "Remap file names when including files"
++msgstr "包å«æ–‡ä»¶æ—¶æ˜ å°„短文件å"
++
++#: c.opt:908
++msgid "Conform to the ISO 1998 C++ standard"
++msgstr "éµå¾ª ISO 1998 C++ 标准"
++
++#: c.opt:912
++msgid "Conform to the ISO 1998 C++ standard, with extensions that are likely to"
++msgstr "éµå¾ª ISO 1998 C++ 标准,也支æŒå¯èƒ½é›†æˆåœ¨ä¸‹ä¸€ä¸ª ISO C++ 标准中的扩展"
++
++#: c.opt:919 c.opt:954
++msgid "Conform to the ISO 1990 C standard"
++msgstr "éµå¾ª ISO 1990 C 标准"
++
++#: c.opt:923 c.opt:962
++msgid "Conform to the ISO 1999 C standard"
++msgstr "éµå¾ª ISO 1999 C 标准"
++
++#: c.opt:927
++msgid "Deprecated in favor of -std=c99"
++msgstr "ä¸å»ºè®®ä½¿ç”¨ï¼Œè¯·æ”¹ç”¨ -std=c99"
++
++#: c.opt:931
++msgid "Conform to the ISO 1998 C++ standard with GNU extensions"
++msgstr "éµå¾ª ISO 1998 C++ æ ‡å‡†ï¼Œä¹Ÿæ”¯æŒ GNU 扩展"
++
++#: c.opt:935
++msgid "Conform to the ISO 1998 C++ standard, with GNU extensions and"
++msgstr "éµå¾ª ISO 1998 C++ æ ‡å‡†ï¼Œä¹Ÿæ”¯æŒ GNU 扩展和å¯èƒ½é›†æˆåœ¨ä¸‹ä¸€ä»£ ISO C++ 标准中的扩展"
++
++#: c.opt:942
++msgid "Conform to the ISO 1990 C standard with GNU extensions"
++msgstr "éµå¾ª ISO 1990 C æ ‡å‡†ï¼Œä¹Ÿæ”¯æŒ GNU 扩展"
++
++#: c.opt:946
++msgid "Conform to the ISO 1999 C standard with GNU extensions"
++msgstr "éµå¾ª ISO 1999 C æ ‡å‡†ï¼Œä¹Ÿæ”¯æŒ GNU 扩展"
++
++#: c.opt:950
++msgid "Deprecated in favor of -std=gnu99"
++msgstr "ä¸å»ºè®®ä½¿ç”¨ï¼Œè¯·æ”¹ç”¨ -std=gnu99"
++
++#: c.opt:958
++msgid "Conform to the ISO 1990 C standard as amended in 1994"
++msgstr "éµå¾ª ISO 1990 C 标准于 1994 年修订的版本"
++
++#: c.opt:966
++msgid "Deprecated in favor of -std=iso9899:1999"
++msgstr "ä¸å»ºè®®ä½¿ç”¨ï¼Œä¸º -std=iso9899:1999 所å–代"
++
++#: c.opt:970
++msgid "Enable traditional preprocessing"
++msgstr "å¯ç”¨ä¼ ç»Ÿé¢„处ç†"
++
++#: c.opt:974
++msgid "Support ISO C trigraphs"
++msgstr "æ”¯æŒ ISO C 三元符"
++
++#: c.opt:978
++msgid "Do not predefine system-specific and GCC-specific macros"
++msgstr "ä¸é¢„定义系统或 GCC 特定的å®"
++
++#: c.opt:982
++msgid "Enable verbose output"
++msgstr "å¯ç”¨è¯¦ç»†è¾“出"
++
++#: ada/lang.opt:96
++msgid "Specify options to GNAT"
++msgstr "指定传递给 GNAT 的选项"
++
+ #: attribs.c:244
+ #, gcc-internal-format
+ msgid "%qs attribute directive ignored"
+@@ -16551,47 +16514,47 @@
+ msgid "offset outside bounds of constant string"
+ msgstr "å移é‡è¶Šè¿‡å­—符串常é‡ç•Œ"
+
+-#: builtins.c:1001
++#: builtins.c:1015
+ #, gcc-internal-format
+ msgid "second argument to %<__builtin_prefetch%> must be a constant"
+ msgstr "%<__builtin_prefetch%>的第二个实å‚必须是一个常é‡"
+
+-#: builtins.c:1008
++#: builtins.c:1022
+ #, gcc-internal-format
+ msgid "invalid second argument to %<__builtin_prefetch%>; using zero"
+ msgstr "%<__builtin_prefetch%>的第二个实å‚无效;使用 0"
+
+-#: builtins.c:1016
++#: builtins.c:1030
+ #, gcc-internal-format
+ msgid "third argument to %<__builtin_prefetch%> must be a constant"
+ msgstr "%<__builtin_prefetch%>的第三个实å‚必须是一个常é‡"
+
+-#: builtins.c:1023
++#: builtins.c:1037
+ #, gcc-internal-format
+ msgid "invalid third argument to %<__builtin_prefetch%>; using zero"
+ msgstr "%<__builtin_prefetch%>的第三个实å‚无效;使用 0"
+
+-#: builtins.c:4592
++#: builtins.c:4608
+ #, gcc-internal-format
+ msgid "argument of %<__builtin_args_info%> must be constant"
+ msgstr "%<__builtin_args_info%>的实å‚必须是常é‡"
+
+-#: builtins.c:4598
++#: builtins.c:4614
+ #, gcc-internal-format
+ msgid "argument of %<__builtin_args_info%> out of range"
+ msgstr "%<__builtin_args_info%>实å‚ä¸åœ¨å…许范围内"
+
+-#: builtins.c:4604
++#: builtins.c:4620
+ #, gcc-internal-format
+ msgid "missing argument in %<__builtin_args_info%>"
+ msgstr "%<__builtin_args_info%>缺少实å‚"
+
+-#: builtins.c:4693 gimplify.c:2117
++#: builtins.c:4709 gimplify.c:2118
+ #, gcc-internal-format
+ msgid "too few arguments to function %<va_start%>"
+ msgstr "给函数%<va_start%>çš„å‚数太少"
+
+-#: builtins.c:4857
++#: builtins.c:4872
+ #, gcc-internal-format
+ msgid "first argument to %<va_arg%> not of type %<va_list%>"
+ msgstr "ç»™%<va_arg%>的第一个å‚数的类型ä¸æ˜¯%<va_list%>"
+@@ -16599,93 +16562,103 @@
+ #. Unfortunately, this is merely undefined, rather than a constraint
+ #. violation, so we cannot make this an error. If this call is never
+ #. executed, the program is still strictly conforming.
+-#: builtins.c:4871
++#: builtins.c:4886
+ #, gcc-internal-format
+ msgid "%qT is promoted to %qT when passed through %<...%>"
+ msgstr "通过%<...%>传递时%qT被æå‡ä¸º%qT"
+
+-#: builtins.c:4876
++#: builtins.c:4891
+ #, gcc-internal-format
+ msgid "(so you should pass %qT not %qT to %<va_arg%>)"
+ msgstr "(因此您应该å‘%<va_arg%>传递%qT而ä¸æ˜¯%qT)"
+
+ #. We can, however, treat "undefined" any way we please.
+ #. Call abort to encourage the user to fix the program.
+-#: builtins.c:4882 c-typeck.c:2408
++#: builtins.c:4897 c-typeck.c:2419
+ #, gcc-internal-format
+ msgid "if this code is reached, the program will abort"
+ msgstr "如果执行到这段代ç ï¼Œç¨‹åºå°†ä¸­æ­¢"
+
+-#: builtins.c:5000
++#: builtins.c:5015
+ #, gcc-internal-format
+ msgid "invalid argument to %<__builtin_frame_address%>"
+ msgstr "%<__builtin_frame_address%>的实å‚无效"
+
+-#: builtins.c:5002
++#: builtins.c:5017
+ #, gcc-internal-format
+ msgid "invalid argument to %<__builtin_return_address%>"
+ msgstr "%<__builtin_return_address%>的实å‚无效"
+
+-#: builtins.c:5015
++#: builtins.c:5030
+ #, gcc-internal-format
+ msgid "unsupported argument to %<__builtin_frame_address%>"
+ msgstr "%<__builtin_frame_address%>的实å‚ä¸å—支æŒ"
+
+-#: builtins.c:5017
++#: builtins.c:5032
+ #, gcc-internal-format
+ msgid "unsupported argument to %<__builtin_return_address%>"
+ msgstr "%<__builtin_return_address%>的实å‚ä¸å—支æŒ"
+
+-#: builtins.c:5564
++#: builtins.c:5579
+ #, gcc-internal-format
+ msgid "both arguments to %<__builtin___clear_cache%> must be pointers"
+ msgstr "%<__builtin___clear_cache%>的两个å‚数必须都是指针"
+
+ #. All valid uses of __builtin_va_arg_pack () are removed during
+ #. inlining.
+-#: builtins.c:6276 expr.c:8024
++#: builtins.c:6291 expr.c:8023
+ msgid "%Kinvalid use of %<__builtin_va_arg_pack ()%>"
+ msgstr "%K对%<__builtin_va_arg_pack ()%>的使用无效"
+
+ #. All valid uses of __builtin_va_arg_pack_len () are removed during
+ #. inlining.
+-#: builtins.c:6282
++#: builtins.c:6297
+ msgid "%Kinvalid use of %<__builtin_va_arg_pack_len ()%>"
+ msgstr "%K对%<__builtin_va_arg_pack_len ()%>的使用无效"
+
+-#: builtins.c:6578
++#: builtins.c:6593
+ #, gcc-internal-format
+ msgid "%<__builtin_longjmp%> second argument must be 1"
+ msgstr "%<__builtin_longjmp%>的第二个实å‚必须是 1"
+
+-#: builtins.c:7209
++#: builtins.c:7224
+ #, gcc-internal-format
+ msgid "target format does not support infinity"
+ msgstr "目标格å¼ä¸æ”¯æŒæ— é™å¤§æµ®ç‚¹æ•°"
+
+-#: builtins.c:9623 builtins.c:9712
++#: builtins.c:9638 builtins.c:9727 builtins.c:10082
+ #, gcc-internal-format
+ msgid "non-floating-point argument to function %qs"
+ msgstr "给予函数%qsçš„å‚æ•°ä¸æ˜¯æµ®ç‚¹æ•°"
+
+-#: builtins.c:11303
++#: builtins.c:10446 builtins.c:10466
+ #, gcc-internal-format
++msgid "too few arguments to function %qs"
++msgstr "æ供给函数%qs的实å‚太少"
++
++#: builtins.c:10452 builtins.c:10472
++#, gcc-internal-format
++msgid "too many arguments to function %qs"
++msgstr "æ供给函数%qs的实å‚太多"
++
++#: builtins.c:11377
++#, gcc-internal-format
+ msgid "%<va_start%> used in function with fixed args"
+ msgstr "在定å‚数的函数中使用了%<va_start%>"
+
+-#: builtins.c:11311
++#: builtins.c:11385
+ #, gcc-internal-format
+ msgid "wrong number of arguments to function %<va_start%>"
+ msgstr "给函数%<va_start%>çš„å‚æ•°æ•°ç›®ä¸å¯¹"
+
+ #. Evidently an out of date version of <stdarg.h>; can't validate
+ #. va_start's second argument, but can still work as intended.
+-#: builtins.c:11324
++#: builtins.c:11398
+ #, gcc-internal-format
+ msgid "%<__builtin_next_arg%> called without an argument"
+ msgstr "调用%<__builtin_next_arg%>时没有给定实å‚"
+
+-#: builtins.c:11329
++#: builtins.c:11403
+ #, gcc-internal-format
+ msgid "wrong number of arguments to function %<__builtin_next_arg%>"
+ msgstr "给函数%<__builtin_next_arg%>çš„å‚æ•°æ•°ç›®ä¸å¯¹"
+@@ -16695,24 +16668,24 @@
+ #. argument. We just warn and set the arg to be the last
+ #. argument so that we will get wrong-code because of
+ #. it.
+-#: builtins.c:11358
++#: builtins.c:11432
+ #, gcc-internal-format
+ msgid "second parameter of %<va_start%> not last named argument"
+ msgstr "%<va_start%>的第二个å‚æ•°ä¸æ˜¯æœ€åŽä¸€ä¸ªæœ‰åå‚æ•°"
+
+-#: builtins.c:11472
++#: builtins.c:11546
+ msgid "%Kfirst argument of %D must be a pointer, second integer constant"
+ msgstr "%K%D 的第一个实å‚必须是一个指针,第二个必须是整常é‡"
+
+-#: builtins.c:11485
++#: builtins.c:11559
+ msgid "%Klast argument of %D is not integer constant between 0 and 3"
+ msgstr "%K%D 的最åŽä¸€ä¸ªå®žå‚ä¸æ˜¯ä¸€ä¸ª 0 到 3 之间的整常é‡"
+
+-#: builtins.c:11529 builtins.c:11693 builtins.c:11752
++#: builtins.c:11603 builtins.c:11767 builtins.c:11826
+ msgid "%Kcall to %D will always overflow destination buffer"
+ msgstr "%K对 %D 的调用总是导致目标缓冲区溢出"
+
+-#: builtins.c:11683
++#: builtins.c:11757
+ msgid "%Kcall to %D might overflow destination buffer"
+ msgstr "%K对 %D 的调用总是导致目标缓冲区溢出"
+
+@@ -16835,440 +16808,440 @@
+ msgid "conversion to %qT alters %qT constant value"
+ msgstr "å‘%qT的转æ¢æ”¹å˜äº†%qT常é‡å€¼"
+
+-#: c-common.c:1296
++#: c-common.c:1299
+ #, gcc-internal-format
+ msgid "conversion to %qT from %qT may change the sign of the result"
+ msgstr "%qT转æ¢è‡ª%qTæ—¶å¯èƒ½ä¼šæ”¹å˜ç»“果的符å·"
+
+-#: c-common.c:1325
++#: c-common.c:1328
+ #, gcc-internal-format
+ msgid "conversion to %qT from %qT may alter its value"
+ msgstr "%qT转æ¢è‡ª%qTæ—¶å¯èƒ½æ”¹å˜å€¼"
+
+-#: c-common.c:1353
++#: c-common.c:1356
+ #, gcc-internal-format
+ msgid "large integer implicitly truncated to unsigned type"
+ msgstr "大整数éšå¼æˆªæ–­ä¸ºæ— ç¬¦å·ç±»åž‹"
+
+-#: c-common.c:1359 c-common.c:1366 c-common.c:1374
++#: c-common.c:1362 c-common.c:1369 c-common.c:1377
+ #, gcc-internal-format
+ msgid "overflow in implicit constant conversion"
+ msgstr "éšå¼å¸¸é‡è½¬æ¢æº¢å‡º"
+
+-#: c-common.c:1528
++#: c-common.c:1531
+ #, gcc-internal-format
+ msgid "operation on %qE may be undefined"
+ msgstr "%qE上的è¿ç®—结果å¯èƒ½æ˜¯æœªå®šä¹‰çš„"
+
+-#: c-common.c:1821
++#: c-common.c:1824
+ #, gcc-internal-format
+ msgid "case label does not reduce to an integer constant"
+ msgstr "case æ ‡å·ä¸èƒ½è¿˜åŽŸä¸ºä¸€ä¸ªæ•´å¸¸é‡"
+
+-#: c-common.c:1861
++#: c-common.c:1864
+ #, gcc-internal-format
+ msgid "case label value is less than minimum value for type"
+ msgstr "case æ ‡å·å€¼æ¯”该类型的最å°å€¼è¿˜è¦å°"
+
+-#: c-common.c:1869
++#: c-common.c:1872
+ #, gcc-internal-format
+ msgid "case label value exceeds maximum value for type"
+ msgstr "case æ ‡å·å€¼æ¯”该类型的最大值还è¦å¤§"
+
+-#: c-common.c:1877
++#: c-common.c:1880
+ #, gcc-internal-format
+ msgid "lower value in case label range less than minimum value for type"
+ msgstr "case æ ‡å·èŒƒå›´çš„下é™å€¼æ¯”该类型的最å°å€¼è¿˜è¦å°"
+
+-#: c-common.c:1886
++#: c-common.c:1889
+ #, gcc-internal-format
+ msgid "upper value in case label range exceeds maximum value for type"
+ msgstr "case æ ‡å·èŒƒå›´çš„上é™å€¼æ¯”该类型的最大值还è¦å¤§"
+
+-#: c-common.c:1960
++#: c-common.c:1963
+ #, gcc-internal-format
+ msgid "GCC cannot support operators with integer types and fixed-point types that have too many integral and fractional bits together"
+ msgstr "GCC ä¸æ”¯æŒæ•´æ•°ç±»åž‹å’Œæ•´æ•°åŠåˆ†æ•°ä½å¤ªå¤šçš„定点类型间的æ“作符"
+
+-#: c-common.c:2450
++#: c-common.c:2453
+ #, gcc-internal-format
+ msgid "invalid operands to binary %s (have %qT and %qT)"
+ msgstr "åŒç›®è¿ç®—符 %s æ“作数(%qTå’Œ%qT)无效"
+
+-#: c-common.c:2686
++#: c-common.c:2689
+ #, gcc-internal-format
+ msgid "comparison is always false due to limited range of data type"
+ msgstr "由于数æ®ç±»åž‹èŒƒå›´é™åˆ¶ï¼Œæ¯”较结果永远为å‡"
+
+-#: c-common.c:2688
++#: c-common.c:2691
+ #, gcc-internal-format
+ msgid "comparison is always true due to limited range of data type"
+ msgstr "由于数æ®ç±»åž‹èŒƒå›´é™åˆ¶ï¼Œæ¯”较结果永远为真"
+
+-#: c-common.c:2767
++#: c-common.c:2770
+ #, gcc-internal-format
+ msgid "comparison of unsigned expression >= 0 is always true"
+ msgstr "无符å·è¡¨è¾¾å¼æ°¸è¿œå¤§äºŽæˆ–等于 0"
+
+-#: c-common.c:2777
++#: c-common.c:2780
+ #, gcc-internal-format
+ msgid "comparison of unsigned expression < 0 is always false"
+ msgstr "无符å·è¡¨è¾¾å¼æ°¸è¿œä¸å°äºŽ 0"
+
+-#: c-common.c:2818
++#: c-common.c:2821
+ #, gcc-internal-format
+ msgid "pointer of type %<void *%> used in arithmetic"
+ msgstr "%<void *%>型指针用在了算术表达å¼ä¸­"
+
+-#: c-common.c:2824
++#: c-common.c:2827
+ #, gcc-internal-format
+ msgid "pointer to a function used in arithmetic"
+ msgstr "在算术表达å¼ä¸­ä½¿ç”¨äº†å‡½æ•°æŒ‡é’ˆ"
+
+-#: c-common.c:2830
++#: c-common.c:2833
+ #, gcc-internal-format
+ msgid "pointer to member function used in arithmetic"
+ msgstr "在算术表达å¼ä¸­ä½¿ç”¨äº†æˆå‘˜æŒ‡é’ˆ"
+
+-#: c-common.c:2982
++#: c-common.c:2985
+ #, gcc-internal-format
+ msgid "the address of %qD will always evaluate as %<true%>"
+ msgstr "%qD的地å€æ€»æ˜¯ç­‰ä»·ä¸º%<true%>"
+
+-#: c-common.c:3051 cp/semantics.c:596 cp/typeck.c:6411
++#: c-common.c:3054 cp/semantics.c:597 cp/typeck.c:6438
+ #, gcc-internal-format
+ msgid "suggest parentheses around assignment used as truth value"
+ msgstr "建议在用作真值的赋值语å¥å‰åŽåŠ ä¸Šæ‹¬å·"
+
+-#: c-common.c:3123 c-typeck.c:8958
++#: c-common.c:3126 c-typeck.c:8969
+ #, gcc-internal-format
+ msgid "invalid use of %<restrict%>"
+ msgstr "错误地使用了%<restrict%>"
+
+-#: c-common.c:3339
++#: c-common.c:3346
+ #, gcc-internal-format
+ msgid "invalid application of %<sizeof%> to a function type"
+ msgstr "%<sizeof%>ä¸èƒ½ç”¨äºŽå‡½æ•°ç±»åž‹"
+
+-#: c-common.c:3349
++#: c-common.c:3356
+ #, gcc-internal-format
+ msgid "invalid application of %qs to a void type"
+ msgstr "%qsä¸èƒ½ç”¨äºŽ void 类型"
+
+-#: c-common.c:3355
++#: c-common.c:3362
+ #, gcc-internal-format
+ msgid "invalid application of %qs to incomplete type %qT "
+ msgstr "%qsä¸èƒ½ç”¨äºŽä¸å®Œå…¨çš„类型%qT"
+
+-#: c-common.c:3396
++#: c-common.c:3403
+ #, gcc-internal-format
+ msgid "%<__alignof%> applied to a bit-field"
+ msgstr "å°†%<__alignof%>用于ä½æ®µ"
+
+-#: c-common.c:3969
++#: c-common.c:3976
+ #, gcc-internal-format
+ msgid "cannot disable built-in function %qs"
+ msgstr "无法ç¦ç”¨å†…建函数%qs"
+
+-#: c-common.c:4172
++#: c-common.c:4179
+ #, gcc-internal-format
+ msgid "pointers are not permitted as case values"
+ msgstr "指针ä¸èƒ½ç”¨ä½œ case 常é‡"
+
+-#: c-common.c:4178
++#: c-common.c:4185
+ #, gcc-internal-format
+ msgid "range expressions in switch statements are non-standard"
+ msgstr "在 switch 语å¥ä¸­ä½¿ç”¨èŒƒå›´è¡¨è¾¾å¼ä¸ç¬¦åˆæ ‡å‡†"
+
+-#: c-common.c:4204
++#: c-common.c:4211
+ #, gcc-internal-format
+ msgid "empty range specified"
+ msgstr "指定范围为空"
+
+-#: c-common.c:4264
++#: c-common.c:4271
+ #, gcc-internal-format
+ msgid "duplicate (or overlapping) case value"
+ msgstr "é‡å¤ (或é‡å ) çš„ case 值"
+
+-#: c-common.c:4265
++#: c-common.c:4272
+ #, gcc-internal-format
+ msgid "%Jthis is the first entry overlapping that value"
+ msgstr "%J这是é‡å æ­¤å€¼çš„第一个æ¡ç›®"
+
+-#: c-common.c:4269
++#: c-common.c:4276
+ #, gcc-internal-format
+ msgid "duplicate case value"
+ msgstr "é‡å¤çš„ case 常é‡"
+
+-#: c-common.c:4270
++#: c-common.c:4277
+ #, gcc-internal-format
+ msgid "%Jpreviously used here"
+ msgstr "%Jå·²ç»åœ¨è¿™é‡Œä½¿ç”¨è¿‡"
+
+-#: c-common.c:4274
++#: c-common.c:4281
+ #, gcc-internal-format
+ msgid "multiple default labels in one switch"
+ msgstr "å•ä¸ª switch 语å¥ä¸­å‡ºçŽ°äº†å¤šä¸ª default æ ‡å·"
+
+-#: c-common.c:4275
++#: c-common.c:4282
+ #, gcc-internal-format
+ msgid "%Jthis is the first default label"
+ msgstr "%J这是第一个默认标å·"
+
+-#: c-common.c:4324
++#: c-common.c:4331
+ #, gcc-internal-format
+ msgid "%Jcase value %qs not in enumerated type"
+ msgstr "%Jcase 值%qsä¸åœ¨æžšä¸¾ç±»åž‹å†…"
+
+-#: c-common.c:4327
++#: c-common.c:4334
+ #, gcc-internal-format
+ msgid "%Jcase value %qs not in enumerated type %qT"
+ msgstr "%Jcase 值%qsä¸åœ¨æžšä¸¾ç±»åž‹%qT内"
+
+-#: c-common.c:4385
++#: c-common.c:4392
+ #, gcc-internal-format
+ msgid "%Hswitch missing default case"
+ msgstr "%Hswitch 没有默认 case"
+
+-#: c-common.c:4448
++#: c-common.c:4455
+ #, gcc-internal-format
+ msgid "%Henumeration value %qE not handled in switch"
+ msgstr "%Hswitch 没有处ç†æžšä¸¾å€¼%qE"
+
+-#: c-common.c:4472
++#: c-common.c:4479
+ #, gcc-internal-format
+ msgid "taking the address of a label is non-standard"
+ msgstr "å–æ ‡å·çš„地å€ä¸ç¬¦åˆæ ‡å‡†"
+
+-#: c-common.c:4622
++#: c-common.c:4629
+ #, gcc-internal-format
+ msgid "%qE attribute ignored for field of type %qT"
+ msgstr "%qE属性为类型为%qT的字段所忽略"
+
+-#: c-common.c:4633 c-common.c:4652 c-common.c:4670 c-common.c:4697
+-#: c-common.c:4724 c-common.c:4750 c-common.c:4769 c-common.c:4793
+-#: c-common.c:4816 c-common.c:4839 c-common.c:4860 c-common.c:4881
+-#: c-common.c:4905 c-common.c:4931 c-common.c:4968 c-common.c:4995
+-#: c-common.c:5046 c-common.c:5130 c-common.c:5160 c-common.c:5179
+-#: c-common.c:5499 c-common.c:5559 c-common.c:5580 c-common.c:5644
+-#: c-common.c:5762 c-common.c:5828 c-common.c:5877 c-common.c:5923
+-#: c-common.c:5993 c-common.c:6017 c-common.c:6301 c-common.c:6324
++#: c-common.c:4640 c-common.c:4659 c-common.c:4677 c-common.c:4704
++#: c-common.c:4731 c-common.c:4757 c-common.c:4776 c-common.c:4800
++#: c-common.c:4823 c-common.c:4846 c-common.c:4867 c-common.c:4888
++#: c-common.c:4912 c-common.c:4938 c-common.c:4975 c-common.c:5002
++#: c-common.c:5045 c-common.c:5129 c-common.c:5159 c-common.c:5178
++#: c-common.c:5498 c-common.c:5558 c-common.c:5579 c-common.c:5643
++#: c-common.c:5761 c-common.c:5827 c-common.c:5876 c-common.c:5922
++#: c-common.c:5992 c-common.c:6016 c-common.c:6301 c-common.c:6324
+ #: c-common.c:6363
+ #, gcc-internal-format
+ msgid "%qE attribute ignored"
+ msgstr "%qE属性被忽略"
+
+-#: c-common.c:4715 c-common.c:4741
++#: c-common.c:4722 c-common.c:4748
+ #, gcc-internal-format
+ msgid "%qE attribute conflicts with attribute %s"
+ msgstr "%qE属性与 %s 属性冲çª"
+
+-#: c-common.c:4962
++#: c-common.c:4969
+ #, gcc-internal-format
+ msgid "%qE attribute have effect only on public objects"
+ msgstr "%qE属性åªèƒ½åº”用到公共对象上"
+
+-#: c-common.c:5067
++#: c-common.c:5066
+ #, gcc-internal-format
+ msgid "destructor priorities are not supported"
+ msgstr "ä¸æ”¯æŒæžæž„函数优先级"
+
+-#: c-common.c:5069
++#: c-common.c:5068
+ #, gcc-internal-format
+ msgid "constructor priorities are not supported"
+ msgstr "ä¸æ”¯æŒæž„造函数优先级"
+
+-#: c-common.c:5086
++#: c-common.c:5085
+ #, gcc-internal-format
+ msgid "destructor priorities from 0 to %d are reserved for the implementation"
+ msgstr "æžæž„函数优先级 0 到 %d 为实现所ä¿ç•™"
+
+-#: c-common.c:5091
++#: c-common.c:5090
+ #, gcc-internal-format
+ msgid "constructor priorities from 0 to %d are reserved for the implementation"
+ msgstr "构造函数优先级 0 到 %d 为实现所ä¿ç•™"
+
+-#: c-common.c:5099
++#: c-common.c:5098
+ #, gcc-internal-format
+ msgid "destructor priorities must be integers from 0 to %d inclusive"
+ msgstr "æžæž„函数优先级必须为 0 到 %d é—´çš„æ•´æ•°"
+
+-#: c-common.c:5102
++#: c-common.c:5101
+ #, gcc-internal-format
+ msgid "constructor priorities must be integers from 0 to %d inclusive"
+ msgstr "构造函数优先级必须为 0 到 %d 间的整数"
+
+-#: c-common.c:5221
++#: c-common.c:5220
+ #, gcc-internal-format
+ msgid "unknown machine mode %qs"
+ msgstr "未知的机器模å¼%qs"
+
+-#: c-common.c:5250
++#: c-common.c:5249
+ #, gcc-internal-format
+ msgid "specifying vector types with __attribute__ ((mode)) is deprecated"
+ msgstr "ä¸å»ºè®®åœ¨æŒ‡å®šçŸ¢é‡ç±»åž‹æ—¶ä½¿ç”¨ __attribute__ ((mode))"
+
+-#: c-common.c:5253
++#: c-common.c:5252
+ #, gcc-internal-format
+ msgid "use __attribute__ ((vector_size)) instead"
+ msgstr "改用 __attribute__ ((vector_size))"
+
+-#: c-common.c:5262
++#: c-common.c:5261
+ #, gcc-internal-format
+ msgid "unable to emulate %qs"
+ msgstr "无法枚举%qs"
+
+-#: c-common.c:5272
++#: c-common.c:5271
+ #, gcc-internal-format
+ msgid "invalid pointer mode %qs"
+ msgstr "无效的指针模å¼%qs"
+
+-#: c-common.c:5289
++#: c-common.c:5288
+ #, gcc-internal-format
+ msgid "signness of type and machine mode %qs don't match"
+ msgstr "类型的符å·ä¸Žæœºå™¨æ¨¡å¼ %qs ä¸åŒ¹é…"
+
+-#: c-common.c:5300
++#: c-common.c:5299
+ #, gcc-internal-format
+ msgid "no data type for mode %qs"
+ msgstr "没有模å¼ä¸º%qsçš„æ•°æ®ç±»åž‹"
+
+-#: c-common.c:5310
++#: c-common.c:5309
+ #, gcc-internal-format
+ msgid "cannot use mode %qs for enumeral types"
+ msgstr "无法为枚举类型使用模å¼%qs"
+
+-#: c-common.c:5337
++#: c-common.c:5336
+ #, gcc-internal-format
+ msgid "mode %qs applied to inappropriate type"
+ msgstr "对ä¸åˆé€‚的类型应用模å¼%qs"
+
+-#: c-common.c:5368
++#: c-common.c:5367
+ #, gcc-internal-format
+ msgid "%Jsection attribute cannot be specified for local variables"
+ msgstr "%Jä¸èƒ½ä¸ºå±€éƒ¨å˜é‡æŒ‡å®š section 属性"
+
+-#: c-common.c:5379 config/bfin/bfin.c:4879 config/bfin/bfin.c:4930
++#: c-common.c:5378 config/bfin/bfin.c:4982 config/bfin/bfin.c:5033
+ #, gcc-internal-format
+ msgid "section of %q+D conflicts with previous declaration"
+ msgstr "%q+D的节与早先的声明冲çª"
+
+-#: c-common.c:5388
++#: c-common.c:5387
+ #, gcc-internal-format
+ msgid "section attribute not allowed for %q+D"
+ msgstr "%q+Dä¸èƒ½æœ‰ section 属性"
+
+-#: c-common.c:5394
++#: c-common.c:5393
+ #, gcc-internal-format
+ msgid "%Jsection attributes are not supported for this target"
+ msgstr "%Jsection 属性在此目标机上ä¸å—支æŒ"
+
+-#: c-common.c:5426
++#: c-common.c:5425
+ #, gcc-internal-format
+ msgid "requested alignment is not a constant"
+ msgstr "è¦æ±‚的对é½è¾¹ç•Œä¸æ˜¯å¸¸é‡"
+
+-#: c-common.c:5431
++#: c-common.c:5430
+ #, gcc-internal-format
+ msgid "requested alignment is not a power of 2"
+ msgstr "è¦æ±‚的对é½è¾¹ç•Œä¸æ˜¯ 2 çš„æŸæ¬¡æ–¹"
+
+-#: c-common.c:5436
++#: c-common.c:5435
+ #, gcc-internal-format
+ msgid "requested alignment is too large"
+ msgstr "è¦æ±‚的对é½è¾¹ç•Œå¤ªå¤§"
+
+-#: c-common.c:5462
++#: c-common.c:5461
+ #, gcc-internal-format
+ msgid "alignment may not be specified for %q+D"
+ msgstr "ä¸èƒ½ä¸º%q+D指定对é½"
+
+-#: c-common.c:5469
++#: c-common.c:5468
+ #, gcc-internal-format
+ msgid "alignment for %q+D was previously specified as %d and may not be decreased"
+ msgstr "%q+D的对é½è¾¹ç•Œå…ˆå‰è¢«æŒ‡å®šä¸º %d 而ä¸èƒ½è¢«å‡å°"
+
+-#: c-common.c:5473
++#: c-common.c:5472
+ #, gcc-internal-format
+ msgid "alignment for %q+D must be at least %d"
+ msgstr "%q+D的对é½è¾¹ç•Œå¿…须至少为 %d"
+
+-#: c-common.c:5522
++#: c-common.c:5521
+ #, gcc-internal-format
+ msgid "%q+D defined both normally and as an alias"
+ msgstr "%q+D既有正常定义åˆæœ‰åˆ«å定义"
+
+-#: c-common.c:5538
++#: c-common.c:5537
+ #, gcc-internal-format
+ msgid "alias argument not a string"
+ msgstr "alias çš„å‚æ•°ä¸æ˜¯ä¸€ä¸ªå­—符串"
+
+-#: c-common.c:5601
++#: c-common.c:5600
+ #, gcc-internal-format
+ msgid "%Jweakref attribute must appear before alias attribute"
+ msgstr "%Jweakref 属性必须出现在 alias 属性å‰"
+
+-#: c-common.c:5631
++#: c-common.c:5630
+ #, gcc-internal-format
+ msgid "%qE attribute ignored on non-class types"
+ msgstr "%qE属性在ä¸æ˜¯ç±»çš„类型上被忽略"
+
+-#: c-common.c:5637
++#: c-common.c:5636
+ #, gcc-internal-format
+ msgid "%qE attribute ignored because %qT is already defined"
+ msgstr "%qE属性被忽略,因为%qT已被定义"
+
+-#: c-common.c:5650
++#: c-common.c:5649
+ #, gcc-internal-format
+ msgid "visibility argument not a string"
+ msgstr "visibility 的实å‚ä¸æ˜¯ä¸€ä¸ªå­—符串"
+
+-#: c-common.c:5662
++#: c-common.c:5661
+ #, gcc-internal-format
+ msgid "%qE attribute ignored on types"
+ msgstr "%qE属性在类型上被忽略"
+
+-#: c-common.c:5678
++#: c-common.c:5677
+ #, gcc-internal-format
+ msgid "visibility argument must be one of \"default\", \"hidden\", \"protected\" or \"internal\""
+ msgstr "visibility 的实å‚必须是“defaultâ€ã€â€œhiddenâ€ã€â€œprotectedâ€æˆ–“internalâ€å…¶ä¸­ä¹‹ä¸€"
+
+-#: c-common.c:5689
++#: c-common.c:5688
+ #, gcc-internal-format
+ msgid "%qD redeclared with different visibility"
+ msgstr "%qDé‡å£°æ˜Žæ—¶æœ‰ä¸åŒçš„å¯è§æ€§"
+
+-#: c-common.c:5692 c-common.c:5696
++#: c-common.c:5691 c-common.c:5695
+ #, gcc-internal-format
+ msgid "%qD was declared %qs which implies default visibility"
+ msgstr "%qD声明为有默认å¯è§æ€§çš„%qs"
+
+-#: c-common.c:5770
++#: c-common.c:5769
+ #, gcc-internal-format
+ msgid "tls_model argument not a string"
+ msgstr "tls_model 的实å‚ä¸æ˜¯ä¸€ä¸ªå­—符串"
+
+-#: c-common.c:5783
++#: c-common.c:5782
+ #, gcc-internal-format
+ msgid "tls_model argument must be one of \"local-exec\", \"initial-exec\", \"local-dynamic\" or \"global-dynamic\""
+ msgstr "tls_model 的实å‚必须是“local-execâ€ã€â€œinitial-execâ€ã€â€œlocal-dynamicâ€æˆ–“global-dynamicâ€å…¶ä¸­ä¹‹ä¸€"
+
+-#: c-common.c:5802 c-common.c:5897
++#: c-common.c:5801 c-common.c:5896
+ #, gcc-internal-format
+ msgid "%J%qE attribute applies only to functions"
+ msgstr "%J%qE属性åªèƒ½åº”用到函数上"
+
+-#: c-common.c:5807 c-common.c:5902
++#: c-common.c:5806 c-common.c:5901
+ #, gcc-internal-format
+ msgid "%Jcan%'t set %qE attribute after definition"
+ msgstr "%J定义之åŽä¸èƒ½è®¾å®š%qE属性"
+
+-#: c-common.c:5858
++#: c-common.c:5857
+ #, gcc-internal-format
+ msgid "alloc_size parameter outside range"
+ msgstr "alloc_size å‚数越界"
+
+-#: c-common.c:5991
++#: c-common.c:5990
+ #, gcc-internal-format
+ msgid "%qE attribute ignored for %qE"
+ msgstr "%qE属性为%qE所忽略"
+@@ -17378,7 +17351,7 @@
+ msgid "cannot apply %<offsetof%> when %<operator[]%> is overloaded"
+ msgstr "%<operator[]%>é‡è½½åŽä¾¿ä¸èƒ½ä½¿ç”¨%<offsetof%>"
+
+-#: c-common.c:6818 cp/typeck.c:4525
++#: c-common.c:6818 cp/typeck.c:4533
+ #, gcc-internal-format
+ msgid "attempt to take address of bit-field structure member %qD"
+ msgstr "试图å–ä½æ®µç»“æž„æˆå‘˜%qD的地å€"
+@@ -17413,17 +17386,17 @@
+ msgid "size of array is too large"
+ msgstr "数组太大"
+
+-#: c-common.c:7041 c-common.c:7090 c-typeck.c:2705
++#: c-common.c:7041 c-common.c:7090 c-typeck.c:2716
+ #, gcc-internal-format
+ msgid "too few arguments to function %qE"
+ msgstr "æ供给函数%qE的实å‚太少"
+
+ #. ??? This should not be an error when inlining calls to
+ #. unprototyped functions.
+-#: c-common.c:7058 c-typeck.c:4374
++#: c-common.c:7058 c-typeck.c:4385
+ #, gcc-internal-format
+ msgid "incompatible type for argument %d of %qE"
+-msgstr "å®žå‚ %d(属于%qE)类型ä¸å…¼å®¹"
++msgstr "%2$qE的第 %1$d 个实å‚类型ä¸å…¼å®¹"
+
+ #: c-common.c:7250
+ #, gcc-internal-format
+@@ -17463,12 +17436,12 @@
+ #: c-common.c:7319
+ #, gcc-internal-format
+ msgid "suggest parentheses around + or - in operand of &"
+-msgstr "建议在 | çš„æ“作数中的算术表达å¼å‘¨å›´åŠ ä¸Šæ‹¬å·"
++msgstr "建议在 & çš„æ“作数中出现的 + 或 - å‰åŽåŠ ä¸Šæ‹¬å·"
+
+ #: c-common.c:7324
+ #, gcc-internal-format
+ msgid "suggest parentheses around comparison in operand of &"
+-msgstr "建议在 & çš„æ“作数中出现的 + 或 - å‰åŽåŠ ä¸Šæ‹¬å·"
++msgstr "建议在 & çš„æ“作数中的比较表达å¼å‰åŽåŠ ä¸Šæ‹¬å·"
+
+ #: c-common.c:7332
+ #, gcc-internal-format
+@@ -17500,8 +17473,8 @@
+ #. an unprototyped function, it is compile-time undefined;
+ #. making it a constraint in that case was rejected in
+ #. DR#252.
+-#: c-convert.c:95 c-typeck.c:1775 c-typeck.c:4012 cp/typeck.c:1502
+-#: cp/typeck.c:5717 cp/typeck.c:6325 fortran/convert.c:88
++#: c-convert.c:95 c-typeck.c:1785 c-typeck.c:4023 cp/typeck.c:1548
++#: cp/typeck.c:5725 cp/typeck.c:6352 fortran/convert.c:88
+ #: treelang/tree-convert.c:79
+ #, gcc-internal-format
+ msgid "void value not ignored as it ought to be"
+@@ -17513,104 +17486,104 @@
+ msgid "conversion to non-scalar type requested"
+ msgstr "请求转æ¢åˆ°éžæ ‡é‡ç±»åž‹"
+
+-#: c-decl.c:546
++#: c-decl.c:547
+ #, gcc-internal-format
+ msgid "array %q+D assumed to have one element"
+ msgstr "å‡å®šæ•°ç»„%q+D有一个元素"
+
+-#: c-decl.c:651
++#: c-decl.c:652
+ #, gcc-internal-format
+ msgid "GCC supports only %u nested scopes"
+ msgstr "GCC åªæ”¯æŒ %u 个嵌套的作用域"
+
+-#: c-decl.c:737 cp/decl.c:358
++#: c-decl.c:738 cp/decl.c:359
+ #, gcc-internal-format
+ msgid "label %q+D used but not defined"
+ msgstr "æ ‡å·%q+D使用å‰æœªå®šä¹‰"
+
+-#: c-decl.c:778
++#: c-decl.c:779
+ #, gcc-internal-format
+ msgid "nested function %q+D declared but never defined"
+ msgstr "嵌套函数%q+D声明过但从未定义"
+
+-#: c-decl.c:788
++#: c-decl.c:789
+ #, gcc-internal-format
+ msgid "inline function %q+D declared but never defined"
+ msgstr "内è”函数%q+D声明过但从未定义"
+
+-#: c-decl.c:801 cp/decl.c:608
++#: c-decl.c:802 cp/decl.c:609
+ #, gcc-internal-format
+ msgid "unused variable %q+D"
+ msgstr "未使用的å˜é‡%q+D"
+
+-#: c-decl.c:805
++#: c-decl.c:806
+ #, gcc-internal-format
+ msgid "type of array %q+D completed incompatibly with implicit initialization"
+ msgstr "数组%q+D类型与éšå¼åˆå§‹åŒ–ä¸å…¼å®¹"
+
+-#: c-decl.c:1039
++#: c-decl.c:1040
+ #, gcc-internal-format
+ msgid "a parameter list with an ellipsis can%'t match an empty parameter name list declaration"
+ msgstr "带有çœç•¥å·çš„å½¢å‚列表无法与空形å‚å列表声明匹é…"
+
+-#: c-decl.c:1046
++#: c-decl.c:1047
+ #, gcc-internal-format
+ msgid "an argument type that has a default promotion can%'t match an empty parameter name list declaration"
+ msgstr "具有默认æå‡çš„实å‚类型ä¸èƒ½åŒ¹é…空å‚æ•°å列表声明"
+
+-#: c-decl.c:1087
++#: c-decl.c:1088
+ #, gcc-internal-format
+ msgid "prototype for %q+D declares more arguments than previous old-style definition"
+ msgstr "%q+D的原型声明的å‚数多于先å‰æ—§å¼çš„定义"
+
+-#: c-decl.c:1093
++#: c-decl.c:1094
+ #, gcc-internal-format
+ msgid "prototype for %q+D declares fewer arguments than previous old-style definition"
+ msgstr "%q+D的原型声明的å‚数少于先å‰æ—§å¼çš„定义"
+
+-#: c-decl.c:1102
++#: c-decl.c:1103
+ #, gcc-internal-format
+ msgid "prototype for %q+D declares argument %d with incompatible type"
+ msgstr "%q+Dçš„åŽŸåž‹å¯¹å®žå‚ %d 声明类型ä¸å…¼å®¹"
+
+ #. If we get here, no errors were found, but do issue a warning
+ #. for this poor-style construct.
+-#: c-decl.c:1115
++#: c-decl.c:1116
+ #, gcc-internal-format
+ msgid "prototype for %q+D follows non-prototype definition"
+ msgstr "%q+D的原型出现在éžåŽŸåž‹å®šä¹‰ä¹‹åŽ"
+
+-#: c-decl.c:1130
++#: c-decl.c:1131
+ #, gcc-internal-format
+ msgid "previous definition of %q+D was here"
+ msgstr "%q+D的上一个定义在此"
+
+-#: c-decl.c:1132
++#: c-decl.c:1133
+ #, gcc-internal-format
+ msgid "previous implicit declaration of %q+D was here"
+ msgstr "%q+D的上一个éšå¼å£°æ˜Žåœ¨æ­¤"
+
+-#: c-decl.c:1134
++#: c-decl.c:1135
+ #, gcc-internal-format
+ msgid "previous declaration of %q+D was here"
+ msgstr "%q+D的上一个声明在此"
+
+-#: c-decl.c:1174
++#: c-decl.c:1175
+ #, gcc-internal-format
+ msgid "%q+D redeclared as different kind of symbol"
+ msgstr "%q+D被é‡æ–°å£°æ˜Žä¸ºä¸åŒæ„义的符å·"
+
+-#: c-decl.c:1178
++#: c-decl.c:1179
+ #, gcc-internal-format
+ msgid "built-in function %q+D declared as non-function"
+ msgstr "内建函数%q+D未被声明为函数"
+
+-#: c-decl.c:1181 c-decl.c:1298 c-decl.c:1983
++#: c-decl.c:1182 c-decl.c:1299 c-decl.c:1988
+ #, gcc-internal-format
+ msgid "declaration of %q+D shadows a built-in function"
+ msgstr "%q+D的声明éšè—了一个内建函数"
+
+-#: c-decl.c:1190
++#: c-decl.c:1191
+ #, gcc-internal-format
+ msgid "redeclaration of enumerator %q+D"
+ msgstr "枚举%q+Dé‡å£°æ˜Ž"
+@@ -17618,274 +17591,274 @@
+ #. If types don't match for a built-in, throw away the
+ #. built-in. No point in calling locate_old_decl here, it
+ #. won't print anything.
+-#: c-decl.c:1211
++#: c-decl.c:1212
+ #, gcc-internal-format
+ msgid "conflicting types for built-in function %q+D"
+ msgstr "与内建函数%q+D类型冲çª"
+
+-#: c-decl.c:1235 c-decl.c:1248 c-decl.c:1258
++#: c-decl.c:1236 c-decl.c:1249 c-decl.c:1259
+ #, gcc-internal-format
+ msgid "conflicting types for %q+D"
+ msgstr "与%q+D类型冲çª"
+
+-#: c-decl.c:1256
++#: c-decl.c:1257
+ #, gcc-internal-format
+ msgid "conflicting type qualifiers for %q+D"
+ msgstr "%q+D的类型é™å®šå†²çª"
+
+ #. Allow OLDDECL to continue in use.
+-#: c-decl.c:1273
++#: c-decl.c:1274
+ #, gcc-internal-format
+ msgid "redefinition of typedef %q+D"
+ msgstr "typedef%q+Dé‡å®šä¹‰"
+
+-#: c-decl.c:1324 c-decl.c:1426
++#: c-decl.c:1325 c-decl.c:1427
+ #, gcc-internal-format
+ msgid "redefinition of %q+D"
+ msgstr "%q+Dé‡å®šä¹‰"
+
+-#: c-decl.c:1359 c-decl.c:1464
++#: c-decl.c:1360 c-decl.c:1465
+ #, gcc-internal-format
+ msgid "static declaration of %q+D follows non-static declaration"
+ msgstr "对%qDçš„é™æ€å£°æ˜Žå‡ºçŽ°åœ¨éžé™æ€å£°æ˜Žä¹‹åŽ"
+
+-#: c-decl.c:1369 c-decl.c:1376 c-decl.c:1453 c-decl.c:1461
++#: c-decl.c:1370 c-decl.c:1377 c-decl.c:1454 c-decl.c:1462
+ #, gcc-internal-format
+ msgid "non-static declaration of %q+D follows static declaration"
+ msgstr "对%q+Dçš„é™æ€å£°æ˜Žå‡ºçŽ°åœ¨éžé™æ€å£°æ˜Žä¹‹åŽ"
+
+-#: c-decl.c:1393
++#: c-decl.c:1394
+ #, gcc-internal-format
+ msgid "%<gnu_inline%> attribute present on %q+D"
+ msgstr "%q+D上有%<gnu_inline%>属性"
+
+-#: c-decl.c:1395
++#: c-decl.c:1396
+ #, gcc-internal-format
+ msgid "%Jbut not here"
+ msgstr "%J但ä¸æ˜¯è¿™é‡Œ"
+
+-#: c-decl.c:1413
++#: c-decl.c:1414
+ #, gcc-internal-format
+ msgid "thread-local declaration of %q+D follows non-thread-local declaration"
+ msgstr "%q+D的线程局部声明跟在其éžçº¿ç¨‹å±€éƒ¨å£°æ˜Žä¹‹åŽ"
+
+-#: c-decl.c:1416
++#: c-decl.c:1417
+ #, gcc-internal-format
+ msgid "non-thread-local declaration of %q+D follows thread-local declaration"
+ msgstr "%q+D的线程局部声明跟在其éžçº¿ç¨‹å±€éƒ¨å£°æ˜Žä¹‹åŽ"
+
+-#: c-decl.c:1446
++#: c-decl.c:1447
+ #, gcc-internal-format
+ msgid "extern declaration of %q+D follows declaration with no linkage"
+ msgstr "%q+D声明为没有外部链接的,之å‰å´æœ‰å¤–部声明"
+
+-#: c-decl.c:1482
++#: c-decl.c:1483
+ #, gcc-internal-format
+ msgid "declaration of %q+D with no linkage follows extern declaration"
+ msgstr "%q+D声明为没有外部链接的,之å‰å´æœ‰å¤–部声明"
+
+-#: c-decl.c:1488
++#: c-decl.c:1489
+ #, gcc-internal-format
+ msgid "redeclaration of %q+D with no linkage"
+ msgstr "%q+Dé‡å£°æ˜Žä¸ºæ²¡æœ‰å¤–部链接"
+
+-#: c-decl.c:1502
++#: c-decl.c:1503
+ #, gcc-internal-format
+ msgid "redeclaration of %q+D with different visibility (old visibility preserved)"
+ msgstr "对%q+Dçš„å†æ¬¡å£°æ˜Žä¸­æŒ‡å®šäº†ä¸åŒçš„å¯è§æ€§ (ä¿ç•™åŽŸæœ‰çš„å¯è§æ€§)"
+
+-#: c-decl.c:1513
++#: c-decl.c:1514
+ #, gcc-internal-format
+ msgid "inline declaration of %qD follows declaration with attribute noinline"
+ msgstr "%q+D带有 noinline 属性的声明出现在其内è”声明之åŽ"
+
+-#: c-decl.c:1520
++#: c-decl.c:1521
+ #, gcc-internal-format
+ msgid "declaration of %q+D with attribute noinline follows inline declaration "
+ msgstr "%q+D带有 noinline 属性的声明出现在其内è”声明之åŽ"
+
+-#: c-decl.c:1539
++#: c-decl.c:1540
+ #, gcc-internal-format
+ msgid "%q+D declared inline after being called"
+ msgstr "%q+D的内è”声明出现在其被调用之åŽ"
+
+-#: c-decl.c:1544
++#: c-decl.c:1545
+ #, gcc-internal-format
+ msgid "%q+D declared inline after its definition"
+ msgstr "%q+D的内è”声明出现在其定义之åŽ"
+
+-#: c-decl.c:1563
++#: c-decl.c:1564
+ #, gcc-internal-format
+ msgid "redefinition of parameter %q+D"
+ msgstr "å½¢å‚%q+Dé‡å®šä¹‰"
+
+-#: c-decl.c:1590
++#: c-decl.c:1591
+ #, gcc-internal-format
+ msgid "redundant redeclaration of %q+D"
+ msgstr "对%q+D冗余的é‡å£°æ˜Ž"
+
+-#: c-decl.c:1970
++#: c-decl.c:1975
+ #, gcc-internal-format
+ msgid "declaration of %q+D shadows previous non-variable"
+ msgstr "%q+D的声明éšè—了先å‰çš„一个éžå˜é‡å£°æ˜Ž"
+
+-#: c-decl.c:1975
++#: c-decl.c:1980
+ #, gcc-internal-format
+ msgid "declaration of %q+D shadows a parameter"
+ msgstr "%q+D的声明éšè—了一个形å‚"
+
+-#: c-decl.c:1978
++#: c-decl.c:1983
+ #, gcc-internal-format
+ msgid "declaration of %q+D shadows a global declaration"
+ msgstr "%q+D的声明éšè—了一个全局声明"
+
+-#: c-decl.c:1988
++#: c-decl.c:1993
+ #, gcc-internal-format
+ msgid "declaration of %q+D shadows a previous local"
+ msgstr "%q+D的声明éšè—了先å‰çš„一个局部å˜é‡"
+
+-#: c-decl.c:1991 cp/name-lookup.c:988 cp/name-lookup.c:1019
+-#: cp/name-lookup.c:1027
++#: c-decl.c:1996 cp/name-lookup.c:987 cp/name-lookup.c:1018
++#: cp/name-lookup.c:1026
+ #, gcc-internal-format
+ msgid "%Jshadowed declaration is here"
+ msgstr "%J被éšè—的声明在这里"
+
+-#: c-decl.c:2183
++#: c-decl.c:2188
+ #, gcc-internal-format
+ msgid "nested extern declaration of %qD"
+ msgstr "对%qD的嵌套的外部声明"
+
+-#: c-decl.c:2346 c-decl.c:2349
++#: c-decl.c:2351 c-decl.c:2354
+ #, gcc-internal-format
+ msgid "implicit declaration of function %qE"
+ msgstr "éšå¼å£°æ˜Žå‡½æ•°%qE"
+
+-#: c-decl.c:2411
++#: c-decl.c:2416
+ #, gcc-internal-format
+ msgid "incompatible implicit declaration of built-in function %qD"
+ msgstr "éšå¼å£°æ˜Žä¸Žå†…建函数%qDä¸å…¼å®¹"
+
+-#: c-decl.c:2420
++#: c-decl.c:2425
+ #, gcc-internal-format
+ msgid "incompatible implicit declaration of function %qD"
+ msgstr "éšå¼å£°æ˜Žä¸Žå‡½æ•°%qDä¸å…¼å®¹"
+
+-#: c-decl.c:2473
++#: c-decl.c:2478
+ #, gcc-internal-format
+ msgid "%H%qE undeclared here (not in a function)"
+ msgstr "%H%qE未声明(ä¸åœ¨å‡½æ•°å†…)"
+
+-#: c-decl.c:2478
++#: c-decl.c:2483
+ #, gcc-internal-format
+ msgid "%H%qE undeclared (first use in this function)"
+ msgstr "%H%qE未声明(在此函数内第一次使用)"
+
+-#: c-decl.c:2482
++#: c-decl.c:2487
+ #, gcc-internal-format
+ msgid "%H(Each undeclared identifier is reported only once"
+ msgstr "%H(å³ä½¿åœ¨ä¸€ä¸ªå‡½æ•°å†…多次出现,æ¯ä¸ªæœªå£°æ˜Žçš„标识符在其"
+
+-#: c-decl.c:2483
++#: c-decl.c:2488
+ #, gcc-internal-format
+ msgid "%Hfor each function it appears in.)"
+ msgstr "%H所在的函数内也åªæŠ¥å‘Šä¸€æ¬¡ã€‚)"
+
+-#: c-decl.c:2521 cp/decl.c:2397
++#: c-decl.c:2526 cp/decl.c:2404
+ #, gcc-internal-format
+ msgid "label %qE referenced outside of any function"
+ msgstr "æ ‡å·%qE在所有函数外被引用"
+
+-#: c-decl.c:2563
++#: c-decl.c:2568
+ #, gcc-internal-format
+ msgid "duplicate label declaration %qE"
+ msgstr "é‡å¤çš„æ ‡å·å®šä¹‰%qE"
+
+-#: c-decl.c:2599
++#: c-decl.c:2604
+ #, gcc-internal-format
+ msgid "%Hduplicate label %qD"
+ msgstr "%Hé‡å¤çš„æ ‡å·%qD"
+
+-#: c-decl.c:2609
++#: c-decl.c:2614
+ #, gcc-internal-format
+ msgid "%Jjump into statement expression"
+ msgstr "%J跳转至语å¥è¡¨è¾¾å¼ä¸­"
+
+-#: c-decl.c:2611
++#: c-decl.c:2616
+ #, gcc-internal-format
+ msgid "%Jjump into scope of identifier with variably modified type"
+ msgstr "%J跳至具有å¯å˜ç±»åž‹çš„标识符的作用域中"
+
+-#: c-decl.c:2626
++#: c-decl.c:2631
+ #, gcc-internal-format
+ msgid "%Htraditional C lacks a separate namespace for labels, identifier %qE conflicts"
+ msgstr "%H传统 C ä¸ä¸ºæ ‡å·æ供一个å•ç‹¬çš„命å空间,标识符%qE冲çª"
+
+-#: c-decl.c:2701
++#: c-decl.c:2706
+ #, gcc-internal-format
+ msgid "%H%qE defined as wrong kind of tag"
+ msgstr "%H%qE定义为类型错误的标记"
+
+-#: c-decl.c:2903
++#: c-decl.c:2908
+ #, gcc-internal-format
+ msgid "unnamed struct/union that defines no instances"
+ msgstr "未定义任何实例的无å结构/è”åˆ"
+
+-#: c-decl.c:2911
++#: c-decl.c:2916
+ #, gcc-internal-format
+ msgid "empty declaration with storage class specifier does not redeclare tag"
+ msgstr "带有存储类的空声明没有é‡å£°æ˜Žæ ‡è®°"
+
+-#: c-decl.c:2922
++#: c-decl.c:2927
+ #, gcc-internal-format
+ msgid "empty declaration with type qualifier does not redeclare tag"
+ msgstr "带有类型é™å®šçš„空声明没有é‡å£°æ˜Žæ ‡è®°"
+
+-#: c-decl.c:2943 c-decl.c:2950
++#: c-decl.c:2948 c-decl.c:2955
+ #, gcc-internal-format
+ msgid "useless type name in empty declaration"
+ msgstr "空声明中类型å无用"
+
+-#: c-decl.c:2958
++#: c-decl.c:2963
+ #, gcc-internal-format
+ msgid "%<inline%> in empty declaration"
+ msgstr "%<inline%>用于空声明中"
+
+-#: c-decl.c:2964
++#: c-decl.c:2969
+ #, gcc-internal-format
+ msgid "%<auto%> in file-scope empty declaration"
+ msgstr "文件作用域中出现%<auto%>空声明"
+
+-#: c-decl.c:2970
++#: c-decl.c:2975
+ #, gcc-internal-format
+ msgid "%<register%> in file-scope empty declaration"
+ msgstr "文件作用域中出现%<register%>空声明"
+
+-#: c-decl.c:2976
++#: c-decl.c:2981
+ #, gcc-internal-format
+ msgid "useless storage class specifier in empty declaration"
+ msgstr "空声明中指定存储类无用"
+
+-#: c-decl.c:2982
++#: c-decl.c:2987
+ #, gcc-internal-format
+ msgid "useless %<__thread%> in empty declaration"
+ msgstr "空声明中%<__thread%>无用"
+
+-#: c-decl.c:2990
++#: c-decl.c:2995
+ #, gcc-internal-format
+ msgid "useless type qualifier in empty declaration"
+ msgstr "空声明中类型é™å®šæ— ç”¨"
+
+-#: c-decl.c:2997
++#: c-decl.c:3002
+ #, gcc-internal-format
+ msgid "empty declaration"
+ msgstr "空声明"
+
+-#: c-decl.c:3063
++#: c-decl.c:3068
+ #, gcc-internal-format
+ msgid "ISO C90 does not support %<static%> or type qualifiers in parameter array declarators"
+ msgstr "ISO C90 ä¸æ”¯æŒåœ¨å½¢å‚数组声明中使用%<static%>或类型é™å®šç¬¦"
+
+-#: c-decl.c:3066
++#: c-decl.c:3071
+ #, gcc-internal-format
+ msgid "ISO C90 does not support %<[*]%> array declarators"
+ msgstr "ISO C90 ä¸æ”¯æŒ%<[*]%>数组声明"
+@@ -17893,253 +17866,248 @@
+ #. C99 6.7.5.2p4
+ #. A function definition isn't function prototype scope C99 6.2.1p4.
+ #. C99 6.7.5.2p4
+-#: c-decl.c:3073 c-decl.c:5015
++#: c-decl.c:3078 c-decl.c:5014
+ #, gcc-internal-format
+ msgid "%<[*]%> not allowed in other than function prototype scope"
+ msgstr "%<[*]%>ä¸èƒ½ç”¨äºŽå‡½æ•°åŽŸåž‹ä»¥å¤–"
+
+-#: c-decl.c:3097
++#: c-decl.c:3181
+ #, gcc-internal-format
+-msgid "static or type qualifiers in abstract declarator"
+-msgstr "static 或类型é™å®šç¬¦å‡ºçŽ°åœ¨æŠ½è±¡å£°æ˜Žä¸­"
+-
+-#: c-decl.c:3183
+-#, gcc-internal-format
+ msgid "%q+D is usually a function"
+ msgstr "%q+D通常是一个函数"
+
+-#: c-decl.c:3192 cp/decl.c:3983 cp/decl2.c:773
++#: c-decl.c:3190 cp/decl.c:4003 cp/decl2.c:773
+ #, gcc-internal-format
+ msgid "typedef %qD is initialized (use __typeof__ instead)"
+ msgstr "typedef%qD被åˆå§‹åŒ–(改用 __typeof__)"
+
+-#: c-decl.c:3197
++#: c-decl.c:3195
+ #, gcc-internal-format
+ msgid "function %qD is initialized like a variable"
+ msgstr "函数%qDåƒå˜é‡ä¸€æ ·è¢«åˆå§‹åŒ–"
+
+ #. DECL_INITIAL in a PARM_DECL is really DECL_ARG_TYPE.
+-#: c-decl.c:3203
++#: c-decl.c:3201
+ #, gcc-internal-format
+ msgid "parameter %qD is initialized"
+ msgstr "å½¢å‚%qDå·²åˆå§‹åŒ–"
+
+-#: c-decl.c:3228
++#: c-decl.c:3226
+ #, gcc-internal-format
+ msgid "variable %qD has initializer but incomplete type"
+ msgstr "å˜é‡%qD有åˆå§‹å€¼è®¾å®šä½†ç±»åž‹ä¸å®Œå…¨"
+
+-#: c-decl.c:3316 c-decl.c:6108 cp/decl.c:4025 cp/decl.c:10985
++#: c-decl.c:3314 c-decl.c:6107 cp/decl.c:4045 cp/decl.c:11083
+ #, gcc-internal-format
+ msgid "inline function %q+D given attribute noinline"
+ msgstr "为内è”函数%q+D给定了 noinline 属性"
+
+-#: c-decl.c:3327
++#: c-decl.c:3326
+ #, gcc-internal-format
+ msgid "%q+D is static but declared in inline function %qD which is not static"
+ msgstr "%q+D是é™æ€çš„,但å´åœ¨éžé™æ€çš„内è”函数%qD中被声明"
+
+-#: c-decl.c:3418
++#: c-decl.c:3417
+ #, gcc-internal-format
+ msgid "initializer fails to determine size of %q+D"
+ msgstr "åˆå§‹å€¼è®¾å®šæ— æ³•å†³å®š%q+D的大å°"
+
+-#: c-decl.c:3423
++#: c-decl.c:3422
+ #, gcc-internal-format
+ msgid "array size missing in %q+D"
+ msgstr "在%q+D中缺少数组大å°"
+
+-#: c-decl.c:3435
++#: c-decl.c:3434
+ #, gcc-internal-format
+ msgid "zero or negative size array %q+D"
+ msgstr "数组%q+D大å°ä¸º 0 或负"
+
+-#: c-decl.c:3490 varasm.c:2067
++#: c-decl.c:3489 varasm.c:2067
+ #, gcc-internal-format
+ msgid "storage size of %q+D isn%'t known"
+ msgstr "%q+D的存储大å°æœªçŸ¥"
+
+-#: c-decl.c:3500
++#: c-decl.c:3499
+ #, gcc-internal-format
+ msgid "storage size of %q+D isn%'t constant"
+ msgstr "%q+D的存储大å°ä¸æ˜¯å¸¸é‡"
+
+-#: c-decl.c:3545
++#: c-decl.c:3544
+ #, gcc-internal-format
+ msgid "ignoring asm-specifier for non-static local variable %q+D"
+ msgstr "为éžé™æ€å±€éƒ¨å˜é‡%q+D忽略了 asm é™å®šç¬¦"
+
+-#: c-decl.c:3573 fortran/f95-lang.c:653
++#: c-decl.c:3572 fortran/f95-lang.c:655
+ #, gcc-internal-format
+ msgid "cannot put object with volatile field into register"
+ msgstr "ä¸èƒ½å°†å¸¦æœ‰ volatile 字段的对象放入寄存器"
+
+-#: c-decl.c:3702
++#: c-decl.c:3701
+ #, gcc-internal-format
+ msgid "ISO C forbids forward parameter declarations"
+ msgstr "ISO C ä¸å…许å‰å‘å‚数声明"
+
+-#: c-decl.c:3821
++#: c-decl.c:3820
+ #, gcc-internal-format
+ msgid "bit-field %qs width not an integer constant"
+ msgstr "ä½æ®µ%qs的宽度ä¸æ˜¯ä¸€ä¸ªæ•´æ•°å¸¸é‡"
+
+-#: c-decl.c:3829
++#: c-decl.c:3828
+ #, gcc-internal-format
+ msgid "negative width in bit-field %qs"
+ msgstr "ä½æ®µ%qs宽度为负"
+
+-#: c-decl.c:3834
++#: c-decl.c:3833
+ #, gcc-internal-format
+ msgid "zero width for bit-field %qs"
+ msgstr "ä½æ®µ%qs宽度为 0"
+
+-#: c-decl.c:3844
++#: c-decl.c:3843
+ #, gcc-internal-format
+ msgid "bit-field %qs has invalid type"
+ msgstr "ä½æ®µ%qs类型无效"
+
+-#: c-decl.c:3854
++#: c-decl.c:3853
+ #, gcc-internal-format
+ msgid "type of bit-field %qs is a GCC extension"
+ msgstr "ä½æ®µç±»åž‹%qs是一个 GCC 扩展"
+
+-#: c-decl.c:3860
++#: c-decl.c:3859
+ #, gcc-internal-format
+ msgid "width of %qs exceeds its type"
+ msgstr "%qs的宽度超过它自身的类型"
+
+-#: c-decl.c:3873
++#: c-decl.c:3872
+ #, gcc-internal-format
+ msgid "%qs is narrower than values of its type"
+ msgstr "%qs比其类型的值è¦çª„"
+
+-#: c-decl.c:3892
++#: c-decl.c:3891
+ #, gcc-internal-format
+ msgid "ISO C90 forbids array %qs whose size can%'t be evaluated"
+ msgstr "ISO C90 ä¸å…许数组%qs,因为ä¸èƒ½è®¡ç®—其大å°"
+
+-#: c-decl.c:3896
++#: c-decl.c:3895
+ #, gcc-internal-format
+ msgid "ISO C90 forbids array whose size can%'t be evaluated"
+ msgstr "ISO C90 ä¸å…许任何ä¸èƒ½ç¡®å®šå¤§å°çš„数组"
+
+-#: c-decl.c:3902
++#: c-decl.c:3901
+ #, gcc-internal-format
+ msgid "ISO C90 forbids variable length array %qs"
+ msgstr "ISO C90 ä¸å…许å˜é•¿æ•°ç»„%qs"
+
+-#: c-decl.c:3905
++#: c-decl.c:3904
+ #, gcc-internal-format
+ msgid "ISO C90 forbids variable length array"
+ msgstr "ISO C90 ä¸å…许å˜é•¿æ•°ç»„"
+
+-#: c-decl.c:3914
++#: c-decl.c:3913
+ #, gcc-internal-format
+ msgid "the size of array %qs can%'t be evaluated"
+ msgstr "数组%qs的大å°ä¸èƒ½è¢«ç¡®å®š"
+
+-#: c-decl.c:3918
++#: c-decl.c:3917
+ #, gcc-internal-format
+ msgid "the size of array can %'t be evaluated"
+ msgstr "数组大å°ä¸èƒ½ç¡®å®š"
+
+-#: c-decl.c:3924
++#: c-decl.c:3923
+ #, gcc-internal-format
+ msgid "variable length array %qs is used"
+ msgstr "使用了å˜é•¿æ•°ç»„%qs"
+
+-#: c-decl.c:3928 cp/decl.c:7004
++#: c-decl.c:3927 cp/decl.c:7076
+ #, gcc-internal-format
+ msgid "variable length array is used"
+ msgstr "使用了å˜é•¿æ•°ç»„"
+
+-#: c-decl.c:4051 c-decl.c:4328
++#: c-decl.c:4050 c-decl.c:4327
+ #, gcc-internal-format
+ msgid "variably modified %qs at file scope"
+ msgstr "文件域å¯å˜ç±»åž‹çš„%qs"
+
+-#: c-decl.c:4069
++#: c-decl.c:4068
+ #, gcc-internal-format
+ msgid "type defaults to %<int%> in declaration of %qs"
+ msgstr "在%qs的声明中,类型默认为%<int%>"
+
+-#: c-decl.c:4097
++#: c-decl.c:4096
+ #, gcc-internal-format
+ msgid "duplicate %<const%>"
+ msgstr "é‡å¤çš„%<const%>"
+
+-#: c-decl.c:4099
++#: c-decl.c:4098
+ #, gcc-internal-format
+ msgid "duplicate %<restrict%>"
+ msgstr "é‡å¤çš„%<restrict%>"
+
+-#: c-decl.c:4101
++#: c-decl.c:4100
+ #, gcc-internal-format
+ msgid "duplicate %<volatile%>"
+ msgstr "é‡å¤çš„%<volatile%>"
+
+-#: c-decl.c:4120
++#: c-decl.c:4119
+ #, gcc-internal-format
+ msgid "function definition declared %<auto%>"
+ msgstr "函数声明定义为%<auto%>"
+
+-#: c-decl.c:4122
++#: c-decl.c:4121
+ #, gcc-internal-format
+ msgid "function definition declared %<register%>"
+ msgstr "函数声明定义为%<register%>"
+
+-#: c-decl.c:4124
++#: c-decl.c:4123
+ #, gcc-internal-format
+ msgid "function definition declared %<typedef%>"
+ msgstr "函数声明定义为%<typedef%>"
+
+-#: c-decl.c:4126
++#: c-decl.c:4125
+ #, gcc-internal-format
+ msgid "function definition declared %<__thread%>"
+ msgstr "函数声明定义为%<__thread%>"
+
+-#: c-decl.c:4142
++#: c-decl.c:4141
+ #, gcc-internal-format
+ msgid "storage class specified for structure field %qs"
+ msgstr "为结构字段%qs指定了存储类"
+
+-#: c-decl.c:4146 cp/decl.c:7874
++#: c-decl.c:4145 cp/decl.c:7946
+ #, gcc-internal-format
+ msgid "storage class specified for parameter %qs"
+ msgstr "为形å‚%qs指定了存储类"
+
+-#: c-decl.c:4149 cp/decl.c:7876
++#: c-decl.c:4148 cp/decl.c:7948
+ #, gcc-internal-format
+ msgid "storage class specified for typename"
+ msgstr "为类型å指定了存储类"
+
+-#: c-decl.c:4166 cp/decl.c:7893
++#: c-decl.c:4165 cp/decl.c:7965
+ #, gcc-internal-format
+ msgid "%qs initialized and declared %<extern%>"
+ msgstr "%qså·²åˆå§‹åŒ–,å´åˆè¢«å£°æ˜Žä¸º%<extern%>"
+
+-#: c-decl.c:4169 cp/decl.c:7896
++#: c-decl.c:4168 cp/decl.c:7968
+ #, gcc-internal-format
+ msgid "%qs has both %<extern%> and initializer"
+ msgstr "%qs既有%<extern%>åˆæœ‰åˆå§‹å€¼è®¾å®š"
+
+-#: c-decl.c:4174
++#: c-decl.c:4173
+ #, gcc-internal-format
+ msgid "file-scope declaration of %qs specifies %<auto%>"
+ msgstr "文件作用域中%qs的声明指定了%<auto%>"
+
+-#: c-decl.c:4176
++#: c-decl.c:4175
+ #, gcc-internal-format
+ msgid "file-scope declaration of %qs specifies %<register%>"
+ msgstr "文件作用域中%qs的声明指定了%<register%>"
+
+-#: c-decl.c:4181 cp/decl.c:7900
++#: c-decl.c:4180 cp/decl.c:7972
+ #, gcc-internal-format
+ msgid "nested function %qs declared %<extern%>"
+ msgstr "嵌套函数%qs被声明为%<extern%>"
+
+-#: c-decl.c:4184 cp/decl.c:7910
++#: c-decl.c:4183 cp/decl.c:7982
+ #, gcc-internal-format
+ msgid "function-scope %qs implicitly auto and declared %<__thread%>"
+ msgstr "函数作用域的%qséšå¼ä¸º auto,å´è¢«å£°æ˜Žä¸º%<__thread%>"
+@@ -18147,468 +18115,468 @@
+ #. Only the innermost declarator (making a parameter be of
+ #. array type which is converted to pointer type)
+ #. may have static or type qualifiers.
+-#: c-decl.c:4231 c-decl.c:4472
++#: c-decl.c:4230 c-decl.c:4471
+ #, gcc-internal-format
+ msgid "static or type qualifiers in non-parameter array declarator"
+ msgstr "static 或类型é™å®šç¬¦å‡ºçŽ°åœ¨éžå½¢å‚数组声明中"
+
+-#: c-decl.c:4278
++#: c-decl.c:4277
+ #, gcc-internal-format
+ msgid "declaration of %qs as array of voids"
+ msgstr "%qs声明为 void 的数组"
+
+-#: c-decl.c:4284
++#: c-decl.c:4283
+ #, gcc-internal-format
+ msgid "declaration of %qs as array of functions"
+ msgstr "%qs声明为函数的数组"
+
+-#: c-decl.c:4289
++#: c-decl.c:4288
+ #, gcc-internal-format
+ msgid "invalid use of structure with flexible array member"
+ msgstr "对包å«å¯å˜æ•°ç»„æˆå‘˜çš„结构的无效使用"
+
+-#: c-decl.c:4309
++#: c-decl.c:4308
+ #, gcc-internal-format
+ msgid "size of array %qs has non-integer type"
+ msgstr "数组%qs的大å°çš„类型ä¸æ˜¯æ•´æ•°"
+
+-#: c-decl.c:4314
++#: c-decl.c:4313
+ #, gcc-internal-format
+ msgid "ISO C forbids zero-size array %qs"
+ msgstr "ISO C ä¸å…许大å°ä¸º 0 的数组%qs"
+
+-#: c-decl.c:4321
++#: c-decl.c:4320
+ #, gcc-internal-format
+ msgid "size of array %qs is negative"
+ msgstr "数组%qs的大å°ä¸ºè´Ÿ"
+
+-#: c-decl.c:4375 c-decl.c:4631 cp/decl.c:8375
++#: c-decl.c:4374 c-decl.c:4630 cp/decl.c:8447
+ #, gcc-internal-format
+ msgid "size of array %qs is too large"
+ msgstr "数组%qs太大"
+
+-#: c-decl.c:4386
++#: c-decl.c:4385
+ #, gcc-internal-format
+ msgid "ISO C90 does not support flexible array members"
+ msgstr "ISO C90 ä¸å…许å¯å˜æ•°ç»„æˆå‘˜"
+
+ #. C99 6.7.5.2p4
+-#: c-decl.c:4399
++#: c-decl.c:4398
+ #, gcc-internal-format
+ msgid "%<[*]%> not allowed in other than a declaration"
+ msgstr "%<[*]%>åªèƒ½ç”¨åœ¨å£°æ˜Žä¸­"
+
+-#: c-decl.c:4422
++#: c-decl.c:4421
+ #, gcc-internal-format
+ msgid "array type has incomplete element type"
+ msgstr "数组元素的类型ä¸å®Œå…¨"
+
+-#: c-decl.c:4504 cp/decl.c:8001
++#: c-decl.c:4503 cp/decl.c:8073
+ #, gcc-internal-format
+ msgid "%qs declared as function returning a function"
+ msgstr "%qs声明为返回一个函数的函数"
+
+-#: c-decl.c:4509 cp/decl.c:8006
++#: c-decl.c:4508 cp/decl.c:8078
+ #, gcc-internal-format
+ msgid "%qs declared as function returning an array"
+ msgstr "%qs声明为返回一个数组的函数"
+
+-#: c-decl.c:4531
++#: c-decl.c:4530
+ #, gcc-internal-format
+ msgid "function definition has qualified void return type"
+ msgstr "函数定义有é™å®šçš„ void 返回类型"
+
+-#: c-decl.c:4534 cp/decl.c:7990 cp/pt.c:8568
++#: c-decl.c:4533 cp/decl.c:8062 cp/pt.c:8668
+ #, gcc-internal-format
+ msgid "type qualifiers ignored on function return type"
+ msgstr "忽略函数返回类型的类型é™å®š"
+
+-#: c-decl.c:4563 c-decl.c:4644 c-decl.c:4732 c-decl.c:4825
++#: c-decl.c:4562 c-decl.c:4643 c-decl.c:4731 c-decl.c:4824
+ #, gcc-internal-format
+ msgid "ISO C forbids qualified function types"
+ msgstr "ISO C ä¸å…许使用 const 或 volatile é™å®šå‡½æ•°ç±»åž‹"
+
+-#: c-decl.c:4652
++#: c-decl.c:4651
+ #, gcc-internal-format
+ msgid "typedef %q+D declared %<inline%>"
+ msgstr "typedef%q+D声明为%<inline%>"
+
+-#: c-decl.c:4667
++#: c-decl.c:4666
+ #, gcc-internal-format
+ msgid "ISO C forbids const or volatile function types"
+ msgstr "ISO C ä¸å…许使用 const 或 volatile é™å®šå‡½æ•°ç±»åž‹"
+
+ #. C99 6.7.2.1p8
+-#: c-decl.c:4677
++#: c-decl.c:4676
+ #, gcc-internal-format
+ msgid "a member of a structure or union cannot have a variably modified type"
+ msgstr "结构或è”åˆæˆå‘˜ä¸èƒ½å…·æœ‰å¯å˜ç±»åž‹"
+
+-#: c-decl.c:4693
++#: c-decl.c:4692
+ #, gcc-internal-format
+ msgid "variable or field %qs declared void"
+ msgstr "å˜é‡æˆ–字段%qs声明为 void"
+
+-#: c-decl.c:4725
++#: c-decl.c:4724
+ #, gcc-internal-format
+ msgid "attributes in parameter array declarator ignored"
+ msgstr "出现在形å‚数组声明中的属性被忽略"
+
+-#: c-decl.c:4760
++#: c-decl.c:4759
+ #, gcc-internal-format
+ msgid "parameter %q+D declared %<inline%>"
+ msgstr "å½¢å‚%q+D声明为%<inline%>"
+
+-#: c-decl.c:4773
++#: c-decl.c:4772
+ #, gcc-internal-format
+ msgid "field %qs declared as a function"
+ msgstr "字段%qs声明为一个函数"
+
+-#: c-decl.c:4779
++#: c-decl.c:4778
+ #, gcc-internal-format
+ msgid "field %qs has incomplete type"
+ msgstr "字段%qs的类型ä¸å®Œå…¨"
+
+-#: c-decl.c:4796 c-decl.c:4808 c-decl.c:4812
++#: c-decl.c:4795 c-decl.c:4807 c-decl.c:4811
+ #, gcc-internal-format
+ msgid "invalid storage class for function %qs"
+ msgstr "函数%qs的存储类无效"
+
+-#: c-decl.c:4831
++#: c-decl.c:4830
+ #, gcc-internal-format
+ msgid "%<noreturn%> function returns non-void value"
+ msgstr "%<noreturn%>å‡½æ•°è¿”å›žäº†ä¸€ä¸ªéž void 的返回值"
+
+-#: c-decl.c:4867
++#: c-decl.c:4866
+ #, gcc-internal-format
+ msgid "cannot inline function %<main%>"
+ msgstr "ä¸èƒ½å†…è”%<main%>函数"
+
+-#: c-decl.c:4910
++#: c-decl.c:4909
+ #, gcc-internal-format
+ msgid "variable previously declared %<static%> redeclared %<extern%>"
+ msgstr "å…ˆå‰è¢«å£°æ˜Žä¸º%<static%>çš„å˜é‡é‡å£°æ˜Žä¸º%<extern%>"
+
+-#: c-decl.c:4920
++#: c-decl.c:4919
+ #, gcc-internal-format
+ msgid "variable %q+D declared %<inline%>"
+ msgstr "å˜é‡%q+D声明为%<inline%>"
+
+ #. C99 6.7.5.2p2
+-#: c-decl.c:4951
++#: c-decl.c:4950
+ #, gcc-internal-format
+ msgid "object with variably modified type must have no linkage"
+ msgstr "å¯å˜ç±»åž‹å¯¹è±¡ä¸èƒ½æœ‰å¤–部链接"
+
+-#: c-decl.c:5020 c-decl.c:6199
++#: c-decl.c:5019 c-decl.c:6198
+ #, gcc-internal-format
+ msgid "function declaration isn%'t a prototype"
+ msgstr "函数声明ä¸æ˜¯ä¸€ä¸ªåŽŸåž‹"
+
+-#: c-decl.c:5028
++#: c-decl.c:5027
+ #, gcc-internal-format
+ msgid "parameter names (without types) in function declaration"
+ msgstr "函数声明中出现形å‚åå´æœªæŒ‡å®šç±»åž‹"
+
+-#: c-decl.c:5061
++#: c-decl.c:5060
+ #, gcc-internal-format
+ msgid "parameter %u (%q+D) has incomplete type"
+ msgstr "å½¢å‚ %u (%q+D) 的类型ä¸å®Œå…¨"
+
+-#: c-decl.c:5064
++#: c-decl.c:5063
+ #, gcc-internal-format
+ msgid "%Jparameter %u has incomplete type"
+ msgstr "%Jå‚æ•° %u 类型ä¸å®Œå…¨"
+
+-#: c-decl.c:5073
++#: c-decl.c:5072
+ #, gcc-internal-format
+ msgid "parameter %u (%q+D) has void type"
+ msgstr "å½¢å‚ %u (%q+D)类型为 void"
+
+-#: c-decl.c:5076
++#: c-decl.c:5075
+ #, gcc-internal-format
+ msgid "%Jparameter %u has void type"
+ msgstr "%Jå½¢å‚ %u 类型为 void"
+
+-#: c-decl.c:5138
++#: c-decl.c:5137
+ #, gcc-internal-format
+ msgid "%<void%> as only parameter may not be qualified"
+ msgstr "%<void%>作为仅有的å‚æ•°æ—¶ä¸èƒ½è¢«é™å®š"
+
+-#: c-decl.c:5142 c-decl.c:5176
++#: c-decl.c:5141 c-decl.c:5175
+ #, gcc-internal-format
+ msgid "%<void%> must be the only parameter"
+ msgstr "%<void%>必须是仅有的形å‚"
+
+-#: c-decl.c:5170
++#: c-decl.c:5169
+ #, gcc-internal-format
+ msgid "parameter %q+D has just a forward declaration"
+ msgstr "å½¢å‚%q+D有一个å‰å‘声明"
+
+ #. The %s will be one of 'struct', 'union', or 'enum'.
+-#: c-decl.c:5215
++#: c-decl.c:5214
+ #, gcc-internal-format
+ msgid "%<%s %E%> declared inside parameter list"
+ msgstr "%<%s %E%>在形å‚表内部声明"
+
+ #. The %s will be one of 'struct', 'union', or 'enum'.
+-#: c-decl.c:5219
++#: c-decl.c:5218
+ #, gcc-internal-format
+ msgid "anonymous %s declared inside parameter list"
+ msgstr "在形å‚列表中声明了匿å %s"
+
+-#: c-decl.c:5224
++#: c-decl.c:5223
+ #, gcc-internal-format
+ msgid "its scope is only this definition or declaration, which is probably not what you want"
+ msgstr "它的作用域仅é™äºŽæ­¤å®šä¹‰æˆ–声明,这å¯èƒ½å¹¶ä¸æ˜¯æ‚¨æƒ³è¦çš„"
+
+-#: c-decl.c:5358
++#: c-decl.c:5357
+ #, gcc-internal-format
+ msgid "redefinition of %<union %E%>"
+ msgstr "%<union %E%>é‡å®šä¹‰"
+
+-#: c-decl.c:5360
++#: c-decl.c:5359
+ #, gcc-internal-format
+ msgid "redefinition of %<struct %E%>"
+ msgstr "%<struct %E%>é‡å®šä¹‰"
+
+-#: c-decl.c:5365
++#: c-decl.c:5364
+ #, gcc-internal-format
+ msgid "nested redefinition of %<union %E%>"
+ msgstr "嵌套的%<union %E%>é‡å®šä¹‰"
+
+-#: c-decl.c:5367
++#: c-decl.c:5366
+ #, gcc-internal-format
+ msgid "nested redefinition of %<struct %E%>"
+ msgstr "嵌套的%<struct %E%>é‡å®šä¹‰"
+
+-#: c-decl.c:5442 cp/decl.c:3780
++#: c-decl.c:5441 cp/decl.c:3796
+ #, gcc-internal-format
+ msgid "declaration does not declare anything"
+ msgstr "没有声明任何东西"
+
+-#: c-decl.c:5446
++#: c-decl.c:5445
+ #, gcc-internal-format
+ msgid "ISO C doesn%'t support unnamed structs/unions"
+ msgstr "ISO C ä¸æ”¯æŒåŒ¿å结构/è”åˆ"
+
+-#: c-decl.c:5490 c-decl.c:5506
++#: c-decl.c:5489 c-decl.c:5505
+ #, gcc-internal-format
+ msgid "duplicate member %q+D"
+ msgstr "é‡å¤çš„æˆå‘˜%q+D"
+
+-#: c-decl.c:5545
++#: c-decl.c:5544
+ #, gcc-internal-format
+ msgid "union has no named members"
+ msgstr "è”åˆåŒ…å«æ— åæˆå‘˜"
+
+-#: c-decl.c:5547
++#: c-decl.c:5546
+ #, gcc-internal-format
+ msgid "union has no members"
+ msgstr "è”åˆä½“没有æˆå‘˜"
+
+-#: c-decl.c:5552
++#: c-decl.c:5551
+ #, gcc-internal-format
+ msgid "struct has no named members"
+ msgstr "结构ä¸åŒ…å«ä»»ä½•æœ‰åæˆå‘˜"
+
+-#: c-decl.c:5554
++#: c-decl.c:5553
+ #, gcc-internal-format
+ msgid "struct has no members"
+ msgstr "结构体没有æˆå‘˜"
+
+-#: c-decl.c:5616
++#: c-decl.c:5615
+ #, gcc-internal-format
+ msgid "%Jflexible array member in union"
+ msgstr "%Jè”åˆä¸­å‡ºçŽ°å¯å˜æ•°ç»„æˆå‘˜"
+
+-#: c-decl.c:5621
++#: c-decl.c:5620
+ #, gcc-internal-format
+ msgid "%Jflexible array member not at end of struct"
+ msgstr "%J结构中的å¯å˜æ•°ç»„æˆå‘˜æ²¡æœ‰å‡ºçŽ°åœ¨ç»“构的末尾"
+
+-#: c-decl.c:5626
++#: c-decl.c:5625
+ #, gcc-internal-format
+ msgid "%Jflexible array member in otherwise empty struct"
+ msgstr "%Jå¯å˜æ•°ç»„是结构中的唯一æˆå‘˜"
+
+-#: c-decl.c:5633
++#: c-decl.c:5632
+ #, gcc-internal-format
+ msgid "%Jinvalid use of structure with flexible array member"
+ msgstr "%J对包å«å¯å˜æ•°ç»„æˆå‘˜çš„结构的无效使用"
+
+-#: c-decl.c:5742
++#: c-decl.c:5741
+ #, gcc-internal-format
+ msgid "union cannot be made transparent"
+ msgstr "è”åˆä¸èƒ½æˆä¸ºé€æ˜Žçš„"
+
+-#: c-decl.c:5813
++#: c-decl.c:5812
+ #, gcc-internal-format
+ msgid "nested redefinition of %<enum %E%>"
+ msgstr "嵌套的%<enum %E%>é‡å®šä¹‰"
+
+ #. This enum is a named one that has been declared already.
+-#: c-decl.c:5820
++#: c-decl.c:5819
+ #, gcc-internal-format
+ msgid "redeclaration of %<enum %E%>"
+ msgstr "%<enum %E%>é‡å£°æ˜Ž"
+
+-#: c-decl.c:5883
++#: c-decl.c:5882
+ #, gcc-internal-format
+ msgid "enumeration values exceed range of largest integer"
+ msgstr "枚举值超过了最大整数类型å¯è¡¨ç¤ºçš„范围"
+
+-#: c-decl.c:5900
++#: c-decl.c:5899
+ #, gcc-internal-format
+ msgid "specified mode too small for enumeral values"
+ msgstr "指定的模å¼å¯¹æžšä¸¾å€¼æ¥è¯´å¤ªå°"
+
+-#: c-decl.c:5996
++#: c-decl.c:5995
+ #, gcc-internal-format
+ msgid "enumerator value for %qE is not an integer constant"
+ msgstr "%qE的枚举值ä¸æ˜¯ä¸€ä¸ªæ•´æ•°å¸¸é‡"
+
+-#: c-decl.c:6013
++#: c-decl.c:6012
+ #, gcc-internal-format
+ msgid "overflow in enumeration values"
+ msgstr "枚举值溢出"
+
+-#: c-decl.c:6018
++#: c-decl.c:6017
+ #, gcc-internal-format
+ msgid "ISO C restricts enumerator values to range of %<int%>"
+ msgstr "ISO C 将枚举值é™åˆ¶åœ¨%<int%>范围内"
+
+-#: c-decl.c:6125
++#: c-decl.c:6124
+ #, gcc-internal-format
+ msgid "return type is an incomplete type"
+ msgstr "返回ä¸å®Œå…¨çš„类型"
+
+-#: c-decl.c:6133
++#: c-decl.c:6132
+ #, gcc-internal-format
+ msgid "return type defaults to %<int%>"
+ msgstr "返回类型默认为%<int%>"
+
+-#: c-decl.c:6206
++#: c-decl.c:6205
+ #, gcc-internal-format
+ msgid "no previous prototype for %q+D"
+ msgstr "%q+Då…ˆå‰æ²¡æœ‰åŽŸåž‹"
+
+-#: c-decl.c:6215
++#: c-decl.c:6214
+ #, gcc-internal-format
+ msgid "%q+D was used with no prototype before its definition"
+ msgstr "%q+D定义å‰æ²¡æœ‰åŽŸåž‹"
+
+-#: c-decl.c:6221 cp/decl.c:11126
++#: c-decl.c:6220 cp/decl.c:11224
+ #, gcc-internal-format
+ msgid "no previous declaration for %q+D"
+ msgstr "%q+Då…ˆå‰æ²¡æœ‰å£°æ˜Žè¿‡"
+
+-#: c-decl.c:6231
++#: c-decl.c:6230
+ #, gcc-internal-format
+ msgid "%q+D was used with no declaration before its definition"
+ msgstr "%q+D的内è”声明出现在其定义之åŽ"
+
+-#: c-decl.c:6254 c-decl.c:6723
++#: c-decl.c:6253 c-decl.c:6722
+ #, gcc-internal-format
+ msgid "return type of %q+D is not %<int%>"
+ msgstr "%q+D的返回类型ä¸æ˜¯%<int%>"
+
+-#: c-decl.c:6259
++#: c-decl.c:6258
+ #, gcc-internal-format
+ msgid "%q+D is normally a non-static function"
+ msgstr "%q+D通常是一个éžé™æ€çš„函数"
+
+-#: c-decl.c:6293
++#: c-decl.c:6292
+ #, gcc-internal-format
+ msgid "%Jold-style parameter declarations in prototyped function definition"
+ msgstr "%J原型函数定义中使用了旧å¼å‚数声明"
+
+-#: c-decl.c:6307
++#: c-decl.c:6306
+ #, gcc-internal-format
+ msgid "%Jtraditional C rejects ISO C style function definitions"
+ msgstr "%J传统 C ä¸æŽ¥å— ISO C 风格的函数定义"
+
+-#: c-decl.c:6323
++#: c-decl.c:6322
+ #, gcc-internal-format
+ msgid "%Jparameter name omitted"
+ msgstr "%Jçœç•¥äº†å½¢å‚çš„åå­—"
+
+-#: c-decl.c:6357
++#: c-decl.c:6356
+ #, gcc-internal-format
+ msgid "%Jold-style function definition"
+ msgstr "%Jæ—§å¼çš„函数定义"
+
+-#: c-decl.c:6366
++#: c-decl.c:6365
+ #, gcc-internal-format
+ msgid "%Jparameter name missing from parameter list"
+ msgstr "%Jå½¢å‚列表中缺少形å‚å"
+
+-#: c-decl.c:6377
++#: c-decl.c:6376
+ #, gcc-internal-format
+ msgid "%q+D declared as a non-parameter"
+ msgstr "%q+D声明为éžå½¢å‚"
+
+-#: c-decl.c:6382
++#: c-decl.c:6381
+ #, gcc-internal-format
+ msgid "multiple parameters named %q+D"
+ msgstr "多个å为%q+Dçš„å½¢å‚"
+
+-#: c-decl.c:6390
++#: c-decl.c:6389
+ #, gcc-internal-format
+ msgid "parameter %q+D declared with void type"
+ msgstr "å½¢å‚%q+D声明为 void 类型"
+
+-#: c-decl.c:6407 c-decl.c:6409
++#: c-decl.c:6406 c-decl.c:6408
+ #, gcc-internal-format
+ msgid "type of %q+D defaults to %<int%>"
+ msgstr "类型%q+D默认为%<int%>"
+
+-#: c-decl.c:6428
++#: c-decl.c:6427
+ #, gcc-internal-format
+ msgid "parameter %q+D has incomplete type"
+ msgstr "å½¢å‚%q+D的类型ä¸å®Œå…¨"
+
+-#: c-decl.c:6434
++#: c-decl.c:6433
+ #, gcc-internal-format
+ msgid "declaration for parameter %q+D but no such parameter"
+ msgstr "声明的å‚æ•°%q+Dä¸å­˜åœ¨"
+
+-#: c-decl.c:6484
++#: c-decl.c:6483
+ #, gcc-internal-format
+ msgid "number of arguments doesn%'t match built-in prototype"
+ msgstr "实å‚个数与内建原型ä¸ç¬¦"
+
+-#: c-decl.c:6488
++#: c-decl.c:6487
+ #, gcc-internal-format
+ msgid "number of arguments doesn%'t match prototype"
+ msgstr "实å‚数目与原型ä¸ç¬¦"
+
+-#: c-decl.c:6489 c-decl.c:6529 c-decl.c:6542
++#: c-decl.c:6488 c-decl.c:6528 c-decl.c:6541
+ #, gcc-internal-format
+ msgid "%Hprototype declaration"
+ msgstr "%H原型声明"
+
+-#: c-decl.c:6523
++#: c-decl.c:6522
+ #, gcc-internal-format
+ msgid "promoted argument %qD doesn%'t match built-in prototype"
+ msgstr "æå‡åŽçš„实å‚%qD与内建原型ä¸ç¬¦"
+
+-#: c-decl.c:6527
++#: c-decl.c:6526
+ #, gcc-internal-format
+ msgid "promoted argument %qD doesn%'t match prototype"
+ msgstr "æå‡åŽçš„实å‚%qD与原型ä¸ç¬¦"
+
+-#: c-decl.c:6537
++#: c-decl.c:6536
+ #, gcc-internal-format
+ msgid "argument %qD doesn%'t match built-in prototype"
+ msgstr "实å‚%qD与内建原型ä¸ç¬¦"
+
+-#: c-decl.c:6541
++#: c-decl.c:6540
+ #, gcc-internal-format
+ msgid "argument %qD doesn%'t match prototype"
+ msgstr "实å‚%qD与原型ä¸ç¬¦"
+
+-#: c-decl.c:6768 cp/decl.c:11820
++#: c-decl.c:6767 cp/decl.c:11918
+ #, gcc-internal-format
+ msgid "no return statement in function returning non-void"
+ msgstr "在有返回值的函数中未å‘现 return 语å¥"
+@@ -18616,437 +18584,437 @@
+ #. If we get here, declarations have been used in a for loop without
+ #. the C99 for loop scope. This doesn't make much sense, so don't
+ #. allow it.
+-#: c-decl.c:6841
++#: c-decl.c:6840
+ #, gcc-internal-format
+ msgid "%<for%> loop initial declaration used outside C99 mode"
+ msgstr "在 C99 模å¼ä¹‹å¤–使用%<for%>循环åˆå§‹åŒ–声明"
+
+-#: c-decl.c:6870
++#: c-decl.c:6869
+ #, gcc-internal-format
+ msgid "declaration of static variable %q+D in %<for%> loop initial declaration"
+ msgstr "在%<for%>循环åˆå§‹å£°æ˜Žä¸­å£°æ˜Žäº†é™æ€å˜é‡%q+D"
+
+-#: c-decl.c:6873
++#: c-decl.c:6872
+ #, gcc-internal-format
+ msgid "declaration of %<extern%> variable %q+D in %<for%> loop initial declaration"
+ msgstr "在%<for%>循环åˆå§‹å£°æ˜Žä¸­å£°æ˜Žäº†%<extern%>å˜é‡%q+D"
+
+-#: c-decl.c:6878
++#: c-decl.c:6877
+ #, gcc-internal-format
+ msgid "%<struct %E%> declared in %<for%> loop initial declaration"
+ msgstr "%<struct %E%>声明于%<for%>循环åˆå§‹å£°æ˜Žä¸­"
+
+-#: c-decl.c:6882
++#: c-decl.c:6881
+ #, gcc-internal-format
+ msgid "%<union %E%> declared in %<for%> loop initial declaration"
+ msgstr "%<union %E%>声明于%<for%>循环åˆå§‹å£°æ˜Žä¸­"
+
+-#: c-decl.c:6886
++#: c-decl.c:6885
+ #, gcc-internal-format
+ msgid "%<enum %E%> declared in %<for%> loop initial declaration"
+ msgstr "%<enum %E%>声明于%<for%>循环åˆå§‹å£°æ˜Žä¸­"
+
+-#: c-decl.c:6890
++#: c-decl.c:6889
+ #, gcc-internal-format
+ msgid "declaration of non-variable %q+D in %<for%> loop initial declaration"
+ msgstr "在%<for%>循环åˆå§‹å£°æ˜Žä¸­å£°æ˜Žäº†éžå˜é‡%q+D"
+
+-#: c-decl.c:7178 c-decl.c:7420 c-decl.c:7716
++#: c-decl.c:7177 c-decl.c:7419 c-decl.c:7715
+ #, gcc-internal-format
+ msgid "duplicate %qE"
+ msgstr "é‡å¤çš„%qE"
+
+-#: c-decl.c:7201 c-decl.c:7430 c-decl.c:7617
++#: c-decl.c:7200 c-decl.c:7429 c-decl.c:7616
+ #, gcc-internal-format
+ msgid "two or more data types in declaration specifiers"
+ msgstr "声明指定了两个以上的数æ®ç±»åž‹"
+
+-#: c-decl.c:7213 cp/parser.c:2149
++#: c-decl.c:7212 cp/parser.c:2152
+ #, gcc-internal-format
+ msgid "%<long long long%> is too long for GCC"
+ msgstr "%<long long long%>对 GCC æ¥è¯´å¤ªé•¿äº†"
+
+-#: c-decl.c:7220 c-decl.c:7520
++#: c-decl.c:7219 c-decl.c:7519
+ #, gcc-internal-format
+ msgid "both %<long long%> and %<double%> in declaration specifiers"
+ msgstr "声明中åŒæ—¶ä½¿ç”¨äº†%<long long%>å’Œ%<double%>"
+
+-#: c-decl.c:7226
++#: c-decl.c:7225
+ #, gcc-internal-format
+ msgid "ISO C90 does not support %<long long%>"
+ msgstr "ISO C90 ä¸æ”¯æŒ%<long long%>"
+
+-#: c-decl.c:7231 c-decl.c:7260
++#: c-decl.c:7230 c-decl.c:7259
+ #, gcc-internal-format
+ msgid "both %<long%> and %<short%> in declaration specifiers"
+ msgstr "声明中åŒæ—¶ä½¿ç”¨äº† <long%>å’Œ%<short%>"
+
+-#: c-decl.c:7234 c-decl.c:7437
++#: c-decl.c:7233 c-decl.c:7436
+ #, gcc-internal-format
+ msgid "both %<long%> and %<void%> in declaration specifiers"
+ msgstr "声明中åŒæ—¶ä½¿ç”¨äº†%<long%>å’Œ%<void%>"
+
+-#: c-decl.c:7237 c-decl.c:7459
++#: c-decl.c:7236 c-decl.c:7458
+ #, gcc-internal-format
+ msgid "both %<long%> and %<_Bool%> in declaration specifiers"
+ msgstr "声明中åŒæ—¶ä½¿ç”¨äº†%<long%>å’Œ%<_Bool%>"
+
+-#: c-decl.c:7240 c-decl.c:7481
++#: c-decl.c:7239 c-decl.c:7480
+ #, gcc-internal-format
+ msgid "both %<long%> and %<char%> in declaration specifiers"
+ msgstr "声明中åŒæ—¶ä½¿ç”¨äº†%<long%>å’Œ%<char%>"
+
+-#: c-decl.c:7243 c-decl.c:7501
++#: c-decl.c:7242 c-decl.c:7500
+ #, gcc-internal-format
+ msgid "both %<long%> and %<float%> in declaration specifiers"
+ msgstr "声明中åŒæ—¶ä½¿ç”¨äº†%<long%>å’Œ%<float%>"
+
+-#: c-decl.c:7246
++#: c-decl.c:7245
+ #, gcc-internal-format
+ msgid "both %<long%> and %<_Decimal32%> in declaration specifiers"
+ msgstr "声明中åŒæ—¶ä½¿ç”¨äº†%<long%>å’Œ%<_Decimal32%>"
+
+-#: c-decl.c:7249
++#: c-decl.c:7248
+ #, gcc-internal-format
+ msgid "both %<long%> and %<_Decimal64%> in declaration specifiers"
+ msgstr "声明中åŒæ—¶ä½¿ç”¨äº†%<long%>å’Œ%<_Decimal64%>"
+
+-#: c-decl.c:7252
++#: c-decl.c:7251
+ #, gcc-internal-format
+ msgid "both %<long%> and %<_Decimal128%> in declaration specifiers"
+ msgstr "声明中åŒæ—¶ä½¿ç”¨äº†%<long%>å’Œ%<_Decimal128%>"
+
+-#: c-decl.c:7263 c-decl.c:7440
++#: c-decl.c:7262 c-decl.c:7439
+ #, gcc-internal-format
+ msgid "both %<short%> and %<void%> in declaration specifiers"
+ msgstr "声明中åŒæ—¶ä½¿ç”¨äº†%<short%>å’Œ%<void%>"
+
+-#: c-decl.c:7266 c-decl.c:7462
++#: c-decl.c:7265 c-decl.c:7461
+ #, gcc-internal-format
+ msgid "both %<short%> and %<_Bool%> in declaration specifiers"
+ msgstr "声明中åŒæ—¶ä½¿ç”¨äº†%<short%>å’Œ%<_Bool%>"
+
+-#: c-decl.c:7269 c-decl.c:7484
++#: c-decl.c:7268 c-decl.c:7483
+ #, gcc-internal-format
+ msgid "both %<short%> and %<char%> in declaration specifiers"
+ msgstr "声明中åŒæ—¶ä½¿ç”¨äº†%<short%>å’Œ%<char%>"
+
+-#: c-decl.c:7272 c-decl.c:7504
++#: c-decl.c:7271 c-decl.c:7503
+ #, gcc-internal-format
+ msgid "both %<short%> and %<float%> in declaration specifiers"
+ msgstr "声明中åŒæ—¶ä½¿ç”¨äº†%<short%>å’Œ%<float%>"
+
+-#: c-decl.c:7275 c-decl.c:7523
++#: c-decl.c:7274 c-decl.c:7522
+ #, gcc-internal-format
+ msgid "both %<short%> and %<double%> in declaration specifiers"
+ msgstr "声明中åŒæ—¶ä½¿ç”¨äº†%<short%>å’Œ%<double%>"
+
+-#: c-decl.c:7278
++#: c-decl.c:7277
+ #, gcc-internal-format
+ msgid "both %<short%> and %<_Decimal32%> in declaration specifiers"
+ msgstr "声明中åŒæ—¶ä½¿ç”¨äº†%<short%>å’Œ%<_Decimal32%>"
+
+-#: c-decl.c:7281
++#: c-decl.c:7280
+ #, gcc-internal-format
+ msgid "both %<short%> and %<_Decimal64%> in declaration specifiers"
+ msgstr "声明中åŒæ—¶ä½¿ç”¨äº†%<short%>å’Œ%<_Decimal64%>"
+
+-#: c-decl.c:7284
++#: c-decl.c:7283
+ #, gcc-internal-format
+ msgid "both %<short%> and %<_Decimal128%> in declaration specifiers"
+ msgstr "声明中åŒæ—¶ä½¿ç”¨äº†%<short%>å’Œ%<_Decimal128%>"
+
+-#: c-decl.c:7292 c-decl.c:7321
++#: c-decl.c:7291 c-decl.c:7320
+ #, gcc-internal-format
+ msgid "both %<signed%> and %<unsigned%> in declaration specifiers"
+ msgstr "声明中åŒæ—¶ä½¿ç”¨äº†%<signed%>å’Œ%<unsigned%>"
+
+-#: c-decl.c:7295 c-decl.c:7443
++#: c-decl.c:7294 c-decl.c:7442
+ #, gcc-internal-format
+ msgid "both %<signed%> and %<void%> in declaration specifiers"
+ msgstr "声明中åŒæ—¶ä½¿ç”¨äº†%<signed%>å’Œ%<void%>"
+
+-#: c-decl.c:7298 c-decl.c:7465
++#: c-decl.c:7297 c-decl.c:7464
+ #, gcc-internal-format
+ msgid "both %<signed%> and %<_Bool%> in declaration specifiers"
+ msgstr "声明中åŒæ—¶ä½¿ç”¨äº†%<signed%>å’Œ%<_Bool%>"
+
+-#: c-decl.c:7301 c-decl.c:7507
++#: c-decl.c:7300 c-decl.c:7506
+ #, gcc-internal-format
+ msgid "both %<signed%> and %<float%> in declaration specifiers"
+ msgstr "声明中åŒæ—¶ä½¿ç”¨äº†%<signed%>å’Œ%<float%>"
+
+-#: c-decl.c:7304 c-decl.c:7526
++#: c-decl.c:7303 c-decl.c:7525
+ #, gcc-internal-format
+ msgid "both %<signed%> and %<double%> in declaration specifiers"
+ msgstr "声明中åŒæ—¶ä½¿ç”¨äº†%<signed%>å’Œ%<double%>"
+
+-#: c-decl.c:7307
++#: c-decl.c:7306
+ #, gcc-internal-format
+ msgid "both %<signed%> and %<_Decimal32%> in declaration specifiers"
+ msgstr "声明中åŒæ—¶ä½¿ç”¨äº†%<signed%>å’Œ%<_Decimal32%>"
+
+-#: c-decl.c:7310
++#: c-decl.c:7309
+ #, gcc-internal-format
+ msgid "both %<signed%> and %<_Decimal64%> in declaration specifiers"
+ msgstr "声明中åŒæ—¶ä½¿ç”¨äº†%<signed%>å’Œ%<_Decimal64%>"
+
+-#: c-decl.c:7313
++#: c-decl.c:7312
+ #, gcc-internal-format
+ msgid "both %<signed%> and %<_Decimal128%> in declaration specifiers"
+ msgstr "声明中åŒæ—¶ä½¿ç”¨äº†%<signed%>å’Œ%<_Decimal128%>"
+
+-#: c-decl.c:7324 c-decl.c:7446
++#: c-decl.c:7323 c-decl.c:7445
+ #, gcc-internal-format
+ msgid "both %<unsigned%> and %<void%> in declaration specifiers"
+ msgstr "声明中åŒæ—¶ä½¿ç”¨äº†%<unsigned%>å’Œ%<void%>"
+
+-#: c-decl.c:7327 c-decl.c:7468
++#: c-decl.c:7326 c-decl.c:7467
+ #, gcc-internal-format
+ msgid "both %<unsigned%> and %<_Bool%> in declaration specifiers"
+ msgstr "声明中åŒæ—¶ä½¿ç”¨äº†%<unsigned%>å’Œ%<_Bool%>"
+
+-#: c-decl.c:7330 c-decl.c:7510
++#: c-decl.c:7329 c-decl.c:7509
+ #, gcc-internal-format
+ msgid "both %<unsigned%> and %<float%> in declaration specifiers"
+ msgstr "声明中åŒæ—¶ä½¿ç”¨äº†%<unsigned%>å’Œ%<float%>"
+
+-#: c-decl.c:7333 c-decl.c:7529
++#: c-decl.c:7332 c-decl.c:7528
+ #, gcc-internal-format
+ msgid "both %<unsigned%> and %<double%> in declaration specifiers"
+ msgstr "声明中åŒæ—¶ä½¿ç”¨äº†%<unsigned%>å’Œ%<double%>"
+
+-#: c-decl.c:7336
++#: c-decl.c:7335
+ #, gcc-internal-format
+ msgid "both %<unsigned%> and %<_Decimal32%> in declaration specifiers"
+ msgstr "声明中åŒæ—¶ä½¿ç”¨äº†%<unsigned%>å’Œ%<_Decimal32%>"
+
+-#: c-decl.c:7339
++#: c-decl.c:7338
+ #, gcc-internal-format
+ msgid "both %<unsigned%> and %<_Decimal64%> in declaration specifiers"
+ msgstr "声明中åŒæ—¶ä½¿ç”¨äº†%<unsigned%>å’Œ%<_Decimal64%>"
+
+-#: c-decl.c:7342
++#: c-decl.c:7341
+ #, gcc-internal-format
+ msgid "both %<unsigned%> and %<_Decimal128%> in declaration specifiers"
+ msgstr "声明中åŒæ—¶ä½¿ç”¨äº†%<unsigned%>å’Œ%<_Decimal128%>"
+
+-#: c-decl.c:7350
++#: c-decl.c:7349
+ #, gcc-internal-format
+ msgid "ISO C90 does not support complex types"
+ msgstr "ISO C90 ä¸æ”¯æŒå¤æ•°ç±»åž‹"
+
+-#: c-decl.c:7352 c-decl.c:7449
++#: c-decl.c:7351 c-decl.c:7448
+ #, gcc-internal-format
+ msgid "both %<complex%> and %<void%> in declaration specifiers"
+ msgstr "声明中åŒæ—¶ä½¿ç”¨äº†%<complex%>å’Œ%<void%>"
+
+-#: c-decl.c:7355 c-decl.c:7471
++#: c-decl.c:7354 c-decl.c:7470
+ #, gcc-internal-format
+ msgid "both %<complex%> and %<_Bool%> in declaration specifiers"
+ msgstr "声明中åŒæ—¶ä½¿ç”¨äº†%<complex%>å’Œ%<_Bool%>"
+
+-#: c-decl.c:7358
++#: c-decl.c:7357
+ #, gcc-internal-format
+ msgid "both %<complex%> and %<_Decimal32%> in declaration specifiers"
+ msgstr "声明中åŒæ—¶ä½¿ç”¨äº†%<complex%>å’Œ%<_Decimal32%>"
+
+-#: c-decl.c:7361
++#: c-decl.c:7360
+ #, gcc-internal-format
+ msgid "both %<complex%> and %<_Decimal64%> in declaration specifiers"
+ msgstr "声明中åŒæ—¶ä½¿ç”¨äº†%<complex%>å’Œ%<_Decimal64%>"
+
+-#: c-decl.c:7364
++#: c-decl.c:7363
+ #, gcc-internal-format
+ msgid "both %<complex%> and %<_Decimal128%> in declaration specifiers"
+ msgstr "声明中åŒæ—¶ä½¿ç”¨äº†%<complex%>å’Œ%<_Decimal128%>"
+
+-#: c-decl.c:7367
++#: c-decl.c:7366
+ #, gcc-internal-format
+ msgid "both %<complex%> and %<_Fract%> in declaration specifiers"
+ msgstr "声明中åŒæ—¶ä½¿ç”¨äº†%<complex%>å’Œ%<_Fract%>"
+
+-#: c-decl.c:7370
++#: c-decl.c:7369
+ #, gcc-internal-format
+ msgid "both %<complex%> and %<_Accum%> in declaration specifiers"
+ msgstr "声明中åŒæ—¶ä½¿ç”¨äº†%<complex%>å’Œ%<_Accum%>"
+
+-#: c-decl.c:7373
++#: c-decl.c:7372
+ #, gcc-internal-format
+ msgid "both %<complex%> and %<_Sat%> in declaration specifiers"
+ msgstr "声明中åŒæ—¶ä½¿ç”¨äº†%<complex%>å’Œ%<_Sat%>"
+
+-#: c-decl.c:7381
++#: c-decl.c:7380
+ #, gcc-internal-format
+ msgid "ISO C does not support saturating types"
+ msgstr "ISO C ä¸æ”¯æŒé¥±å’Œç±»åž‹"
+
+-#: c-decl.c:7383 c-decl.c:7452
++#: c-decl.c:7382 c-decl.c:7451
+ #, gcc-internal-format
+ msgid "both %<_Sat%> and %<void%> in declaration specifiers"
+ msgstr "声明中åŒæ—¶ä½¿ç”¨äº†%<_Sat%>å’Œ%<void%>"
+
+-#: c-decl.c:7386 c-decl.c:7474
++#: c-decl.c:7385 c-decl.c:7473
+ #, gcc-internal-format
+ msgid "both %<_Sat%> and %<_Bool%> in declaration specifiers"
+ msgstr "声明中åŒæ—¶ä½¿ç”¨äº†%<_Sat%>å’Œ%<_Bool%>"
+
+-#: c-decl.c:7389 c-decl.c:7487
++#: c-decl.c:7388 c-decl.c:7486
+ #, gcc-internal-format
+ msgid "both %<_Sat%> and %<char%> in declaration specifiers"
+ msgstr "声明中åŒæ—¶ä½¿ç”¨äº†%<_Sat%>å’Œ%<char%>"
+
+-#: c-decl.c:7392 c-decl.c:7494
++#: c-decl.c:7391 c-decl.c:7493
+ #, gcc-internal-format
+ msgid "both %<_Sat%> and %<int%> in declaration specifiers"
+ msgstr "声明中åŒæ—¶ä½¿ç”¨äº†%<_Sat%>å’Œ%<int%>"
+
+-#: c-decl.c:7395 c-decl.c:7513
++#: c-decl.c:7394 c-decl.c:7512
+ #, gcc-internal-format
+ msgid "both %<_Sat%> and %<float%> in declaration specifiers"
+ msgstr "声明中åŒæ—¶ä½¿ç”¨äº†%<_Sat%>å’Œ%<float%>"
+
+-#: c-decl.c:7398 c-decl.c:7532
++#: c-decl.c:7397 c-decl.c:7531
+ #, gcc-internal-format
+ msgid "both %<_Sat%> and %<double%> in declaration specifiers"
+ msgstr "声明中åŒæ—¶ä½¿ç”¨äº†%<_Sat%>å’Œ%<double%>"
+
+-#: c-decl.c:7401
++#: c-decl.c:7400
+ #, gcc-internal-format
+ msgid "both %<_Sat%> and %<_Decimal32%> in declaration specifiers"
+ msgstr "声明中åŒæ—¶ä½¿ç”¨äº†%<_Sat%>å’Œ%<_Decimal32%>"
+
+-#: c-decl.c:7404
++#: c-decl.c:7403
+ #, gcc-internal-format
+ msgid "both %<_Sat%> and %<_Decimal64%> in declaration specifiers"
+ msgstr "声明中åŒæ—¶ä½¿ç”¨äº†%<_Sat%>å’Œ%<_Decimal64%>"
+
+-#: c-decl.c:7407
++#: c-decl.c:7406
+ #, gcc-internal-format
+ msgid "both %<_Sat%> and %<_Decimal128%> in declaration specifiers"
+ msgstr "声明中åŒæ—¶ä½¿ç”¨äº†%<_Sat%>å’Œ%<_Decimal128%>"
+
+-#: c-decl.c:7410
++#: c-decl.c:7409
+ #, gcc-internal-format
+ msgid "both %<_Sat%> and %<complex%> in declaration specifiers"
+ msgstr "声明中åŒæ—¶ä½¿ç”¨äº†%<_Sat%>å’Œ%<complex%>"
+
+-#: c-decl.c:7549
++#: c-decl.c:7548
+ #, gcc-internal-format
+ msgid "both %<long long%> and %<%s%> in declaration specifiers"
+ msgstr "声明中åŒæ—¶ä½¿ç”¨äº†%<long long%>å’Œ%<%s%>"
+
+-#: c-decl.c:7552
++#: c-decl.c:7551
+ #, gcc-internal-format
+ msgid "both %<long%> and %<%s%> in declaration specifiers"
+ msgstr "声明中åŒæ—¶ä½¿ç”¨äº†%<long%>å’Œ%<%s%>"
+
+-#: c-decl.c:7555
++#: c-decl.c:7554
+ #, gcc-internal-format
+ msgid "both %<short%> and %<%s%> in declaration specifiers"
+ msgstr "声明中åŒæ—¶ä½¿ç”¨äº†%<short%>å’Œ%<%s%>"
+
+-#: c-decl.c:7558
++#: c-decl.c:7557
+ #, gcc-internal-format
+ msgid "both %<signed%> and %<%s%> in declaration specifiers"
+ msgstr "声明中åŒæ—¶ä½¿ç”¨äº†%<signed%>å’Œ%<%s%>"
+
+-#: c-decl.c:7561
++#: c-decl.c:7560
+ #, gcc-internal-format
+ msgid "both %<unsigned%> and %<%s%> in declaration specifiers"
+ msgstr "声明中åŒæ—¶ä½¿ç”¨äº†%<unsigned%>å’Œ%<%s%>"
+
+-#: c-decl.c:7564 c-decl.c:7590
++#: c-decl.c:7563 c-decl.c:7589
+ #, gcc-internal-format
+ msgid "both %<complex%> and %<%s%> in declaration specifiers"
+ msgstr "声明中åŒæ—¶ä½¿ç”¨äº†%<complex%>å’Œ%<%s%>"
+
+-#: c-decl.c:7567
++#: c-decl.c:7566
+ #, gcc-internal-format
+ msgid "both %<_Sat%> and %<%s%> in declaration specifiers"
+ msgstr "声明中åŒæ—¶ä½¿ç”¨äº†%<_Sat%>å’Œ%<%s%>"
+
+-#: c-decl.c:7577
++#: c-decl.c:7576
+ #, gcc-internal-format
+ msgid "decimal floating point not supported for this target"
+ msgstr "å进制浮点在此目标机上ä¸å—支æŒ"
+
+-#: c-decl.c:7579
++#: c-decl.c:7578
+ #, gcc-internal-format
+ msgid "ISO C does not support decimal floating point"
+ msgstr "ISO C ä¸æ”¯æŒå进制浮点数"
+
+-#: c-decl.c:7598
++#: c-decl.c:7597
+ #, gcc-internal-format
+ msgid "fixed-point types not supported for this target"
+ msgstr "定点类型在此目标机上ä¸å—支æŒ"
+
+-#: c-decl.c:7600
++#: c-decl.c:7599
+ #, gcc-internal-format
+ msgid "ISO C does not support fixed-point types"
+ msgstr "ISO C ä¸æ”¯æŒå®šç‚¹ç±»åž‹"
+
+-#: c-decl.c:7634
++#: c-decl.c:7633
+ #, gcc-internal-format
+ msgid "%qE fails to be a typedef or built in type"
+ msgstr "%qEä¸æ˜¯ä¸€ä¸ª typedef 类型,也ä¸æ˜¯ä¸€ä¸ªå†…建类型"
+
+-#: c-decl.c:7667
++#: c-decl.c:7666
+ #, gcc-internal-format
+ msgid "%qE is not at beginning of declaration"
+ msgstr "%qE没有出现在声明的开头"
+
+-#: c-decl.c:7681
++#: c-decl.c:7680
+ #, gcc-internal-format
+ msgid "%<__thread%> used with %<auto%>"
+ msgstr "%<__thread%>与%<auto%>一起使用"
+
+-#: c-decl.c:7683
++#: c-decl.c:7682
+ #, gcc-internal-format
+ msgid "%<__thread%> used with %<register%>"
+ msgstr "%<__thread%>与%<register%>一起使用"
+
+-#: c-decl.c:7685
++#: c-decl.c:7684
+ #, gcc-internal-format
+ msgid "%<__thread%> used with %<typedef%>"
+ msgstr "%<__thread%>与%<typedef%>一起使用"
+
+-#: c-decl.c:7696
++#: c-decl.c:7695
+ #, gcc-internal-format
+ msgid "%<__thread%> before %<extern%>"
+ msgstr "%<__thread%>出现在%<extern%>之å‰"
+
+-#: c-decl.c:7705
++#: c-decl.c:7704
+ #, gcc-internal-format
+ msgid "%<__thread%> before %<static%>"
+ msgstr "%<__thread%>出现在%<static%>之å‰"
+
+-#: c-decl.c:7721
++#: c-decl.c:7720
+ #, gcc-internal-format
+ msgid "multiple storage classes in declaration specifiers"
+ msgstr "声明指定了多个存储类"
+
+-#: c-decl.c:7728
++#: c-decl.c:7727
+ #, gcc-internal-format
+ msgid "%<__thread%> used with %qE"
+ msgstr "%<__thread%>与%qE一起使用"
+
+-#: c-decl.c:7775
++#: c-decl.c:7774
+ #, gcc-internal-format
+ msgid "%<_Sat%> is used without %<_Fract%> or %<_Accum%>"
+ msgstr "%<_Sat%>使用时缺少%<_Fract%>或%<_Accum%>"
+
+-#: c-decl.c:7787
++#: c-decl.c:7786
+ #, gcc-internal-format
+ msgid "ISO C does not support plain %<complex%> meaning %<double complex%>"
+ msgstr "ISO C ä¸æ”¯æŒå•ç‹¬ç”¨%<complex%>表示%<double complex%>"
+
+-#: c-decl.c:7832 c-decl.c:7858
++#: c-decl.c:7831 c-decl.c:7857
+ #, gcc-internal-format
+ msgid "ISO C does not support complex integer types"
+ msgstr "ISO C ä¸æ”¯æŒå¤æ•´æ•°"
+
+-#: c-decl.c:8008 toplev.c:847
++#: c-decl.c:8007 toplev.c:847
+ #, gcc-internal-format
+ msgid "%q+F used but never defined"
+ msgstr "%q+F使用过但从未定义"
+@@ -19458,37 +19426,37 @@
+ msgid "invalid expression type for %<#pragma omp atomic%>"
+ msgstr "%<#pragma omp atomic%>表达å¼ç±»åž‹æ— æ•ˆ"
+
+-#: c-omp.c:218
++#: c-omp.c:219
+ #, gcc-internal-format
+ msgid "%Hinvalid type for iteration variable %qE"
+ msgstr "%H迭代å˜é‡%qE类型无效"
+
+-#: c-omp.c:222
++#: c-omp.c:223
+ #, gcc-internal-format
+ msgid "%Hiteration variable %qE is unsigned"
+ msgstr "%H迭代å˜é‡%qE无符å·"
+
+-#: c-omp.c:233
++#: c-omp.c:234
+ #, gcc-internal-format
+ msgid "%H%qE is not initialized"
+ msgstr "%H%qE未ç»åˆå§‹åŒ–"
+
+-#: c-omp.c:246 cp/semantics.c:3840
++#: c-omp.c:247 cp/semantics.c:3872
+ #, gcc-internal-format
+ msgid "%Hmissing controlling predicate"
+ msgstr "%H缺少控制谓è¯"
+
+-#: c-omp.c:304
++#: c-omp.c:305
+ #, gcc-internal-format
+ msgid "%Hinvalid controlling predicate"
+ msgstr "%H无效的控制谓è¯"
+
+-#: c-omp.c:311 cp/semantics.c:3846
++#: c-omp.c:312 cp/semantics.c:3878
+ #, gcc-internal-format
+ msgid "%Hmissing increment expression"
+ msgstr "%H缺少自增语å¥"
+
+-#: c-omp.c:361
++#: c-omp.c:362
+ #, gcc-internal-format
+ msgid "%Hinvalid increment expression"
+ msgstr "%H无效的自增语å¥"
+@@ -19533,152 +19501,152 @@
+ msgid "obsolete option -I- used, please use -iquote instead"
+ msgstr "使用了过时的选项 -I-,请改用 -iquote"
+
+-#: c-opts.c:508
++#: c-opts.c:510
+ #, gcc-internal-format
+ msgid "argument %qs to %<-Wnormalized%> not recognized"
+ msgstr "实å‚%qs(给予%<-Wnormalized%>)无法识别"
+
+-#: c-opts.c:595
++#: c-opts.c:597
+ #, gcc-internal-format
+ msgid "switch %qs is no longer supported"
+ msgstr "开关%qsä¸å†è¢«æ”¯æŒ"
+
+-#: c-opts.c:705
++#: c-opts.c:707
+ #, gcc-internal-format
+ msgid "-fhandle-exceptions has been renamed -fexceptions (and is now on by default)"
+ msgstr "-fhandle-exceptions 已被é‡å‘½å为 -fexceptions (并且现在默认为开)"
+
+-#: c-opts.c:911
++#: c-opts.c:913
+ #, gcc-internal-format
+ msgid "output filename specified twice"
+ msgstr "输出文件å指定了两次"
+
+-#: c-opts.c:1051
++#: c-opts.c:1053
+ #, gcc-internal-format
+ msgid "-fno-gnu89-inline is only supported in GNU99 or C99 mode"
+ msgstr "-fno-gnu89-inline 仅在 GNU99 或 C99 模å¼ä¸‹æ”¯æŒ"
+
+-#: c-opts.c:1126
++#: c-opts.c:1142
+ #, gcc-internal-format
+ msgid "-Wformat-y2k ignored without -Wformat"
+ msgstr "-Wformat-y2k 未与 -Wformat 一起使用,已忽略"
+
+-#: c-opts.c:1128
++#: c-opts.c:1144
+ #, gcc-internal-format
+ msgid "-Wformat-extra-args ignored without -Wformat"
+ msgstr "-Wformat-extra-args 未与 -Wformat 一起使用,已忽略"
+
+-#: c-opts.c:1130
++#: c-opts.c:1146
+ #, gcc-internal-format
+ msgid "-Wformat-zero-length ignored without -Wformat"
+ msgstr "-Wformat-zero-length 未与 -Wformat 一起使用,已忽略"
+
+-#: c-opts.c:1132
++#: c-opts.c:1148
+ #, gcc-internal-format
+ msgid "-Wformat-nonliteral ignored without -Wformat"
+ msgstr "-Wformat-nonliteral 未与 -Wformat 一起使用,已忽略"
+
+-#: c-opts.c:1134
++#: c-opts.c:1150
+ #, gcc-internal-format
+ msgid "-Wformat-contains-nul ignored without -Wformat"
+ msgstr "-Wformat-contains-nul 未与 -Wformat 一起使用,已忽略"
+
+-#: c-opts.c:1136
++#: c-opts.c:1152
+ #, gcc-internal-format
+ msgid "-Wformat-security ignored without -Wformat"
+ msgstr "-Wformat-security 未与 -Wformat 一起使用,已忽略"
+
+-#: c-opts.c:1160
++#: c-opts.c:1176
+ #, gcc-internal-format
+ msgid "opening output file %s: %m"
+ msgstr "打开输出文件 %s:%m"
+
+-#: c-opts.c:1165
++#: c-opts.c:1181
+ #, gcc-internal-format
+ msgid "too many filenames given. Type %s --help for usage"
+ msgstr "给定了太多文件å。试用 %s --help 以了解用法"
+
+-#: c-opts.c:1249
++#: c-opts.c:1265
+ #, gcc-internal-format
+ msgid "The C parser does not support -dy, option ignored"
+ msgstr "C 解æžå™¨ä¸æ”¯æŒ -dy,选项已忽略"
+
+-#: c-opts.c:1253
++#: c-opts.c:1269
+ #, gcc-internal-format
+ msgid "The Objective-C parser does not support -dy, option ignored"
+ msgstr "Objective-C 解æžå™¨ä¸æ”¯æŒ -dy,已忽略"
+
+-#: c-opts.c:1256
++#: c-opts.c:1272
+ #, gcc-internal-format
+ msgid "The C++ parser does not support -dy, option ignored"
+ msgstr "C++ 解æžå™¨ä¸æ”¯æŒ -dy,选项已忽略"
+
+-#: c-opts.c:1260
++#: c-opts.c:1276
+ #, gcc-internal-format
+ msgid "The Objective-C++ parser does not support -dy, option ignored"
+ msgstr "Objective-C++ 解æžå™¨ä¸æ”¯æŒ -dy,已忽略"
+
+-#: c-opts.c:1309
++#: c-opts.c:1326
+ #, gcc-internal-format
+ msgid "opening dependency file %s: %m"
+ msgstr "打开ä¾èµ–文件 %s:%m"
+
+-#: c-opts.c:1319
++#: c-opts.c:1336
+ #, gcc-internal-format
+ msgid "closing dependency file %s: %m"
+ msgstr "关闭ä¾èµ–文件 %s:%m"
+
+-#: c-opts.c:1322
++#: c-opts.c:1339
+ #, gcc-internal-format
+ msgid "when writing output to %s: %m"
+ msgstr "当写入输出到 %s 时:%m"
+
+-#: c-opts.c:1402
++#: c-opts.c:1419
+ #, gcc-internal-format
+ msgid "to generate dependencies you must specify either -M or -MM"
+ msgstr "è¦ç”Ÿæˆä¾èµ–项,您必须指定 -M 或 -MM"
+
+-#: c-opts.c:1448
++#: c-opts.c:1469
+ #, gcc-internal-format
+ msgid "-fdirectives-only is incompatible with -Wunused_macros"
+ msgstr "-fdirectives-only 与 -Wunused_macros ä¸å…¼å®¹"
+
+-#: c-opts.c:1450
++#: c-opts.c:1471
+ #, gcc-internal-format
+ msgid "-fdirectives-only is incompatible with -traditional"
+ msgstr "-fdirectives-only 与 -traditional ä¸å…¼å®¹"
+
+-#: c-opts.c:1588
++#: c-opts.c:1609
+ #, gcc-internal-format
+ msgid "too late for # directive to set debug directory"
+ msgstr "使用 # 指示设定调试目录太迟"
+
+-#: c-parser.c:1070
++#: c-parser.c:1072
+ #, gcc-internal-format
+ msgid "%HISO C forbids an empty source file"
+ msgstr "%HISO C ä¸å…许æºæ–‡ä»¶ä¸ºç©º"
+
+-#: c-parser.c:1156 c-parser.c:6091
++#: c-parser.c:1158 c-parser.c:6150
+ #, gcc-internal-format
+ msgid "%HISO C does not allow extra %<;%> outside of a function"
+ msgstr "%HISO C ä¸æ”¯æŒåœ¨å‡½æ•°å¤–使用多余的%<;%>"
+
+-#: c-parser.c:1259 c-parser.c:6640
++#: c-parser.c:1261 c-parser.c:6699
+ #, gcc-internal-format
+ msgid "expected declaration specifiers"
+ msgstr "需è¦æŒ‡å®šå£°æ˜Ž"
+
+-#: c-parser.c:1271
++#: c-parser.c:1273
+ #, gcc-internal-format
+ msgid "%Hempty declaration"
+ msgstr "%H空声明"
+
+-#: c-parser.c:1307
++#: c-parser.c:1309
+ #, gcc-internal-format
+ msgid "%Hdata definition has no type or storage class"
+ msgstr "%Hæ•°æ®å®šä¹‰æ—¶æ²¡æœ‰ç±»åž‹æˆ–存储类"
+
+-#: c-parser.c:1362
++#: c-parser.c:1364
+ #, gcc-internal-format
+ msgid "expected %<,%> or %<;%>"
+ msgstr "需è¦%<,%>或%<;%>"
+@@ -19686,174 +19654,189 @@
+ #. This can appear in many cases looking nothing like a
+ #. function definition, so we don't give a more specific
+ #. error suggesting there was one.
+-#: c-parser.c:1369 c-parser.c:1386
++#: c-parser.c:1371 c-parser.c:1388
+ #, gcc-internal-format
+ msgid "expected %<=%>, %<,%>, %<;%>, %<asm%> or %<__attribute__%>"
+ msgstr "需è¦%<=%>,%<,%>,%<;%>,%<asm%>或%<__attribute__%>"
+
+-#: c-parser.c:1378
++#: c-parser.c:1380
+ #, gcc-internal-format
+ msgid "%HISO C forbids nested functions"
+ msgstr "%HISO C ä¸å…许嵌套函数"
+
+-#: c-parser.c:1743 c-parser.c:2553 c-parser.c:3189 c-parser.c:3445
+-#: c-parser.c:4308 c-parser.c:4895 c-parser.c:5298 c-parser.c:5318
+-#: c-parser.c:5434 c-parser.c:5582 c-parser.c:5599 c-parser.c:5731
+-#: c-parser.c:5743 c-parser.c:5768 c-parser.c:5903 c-parser.c:5932
+-#: c-parser.c:5940 c-parser.c:5968 c-parser.c:5982 c-parser.c:6201
+-#: c-parser.c:6300 c-parser.c:6803 c-parser.c:7426
++#: c-parser.c:1745 c-parser.c:2555 c-parser.c:3191 c-parser.c:3447
++#: c-parser.c:4367 c-parser.c:4954 c-parser.c:5357 c-parser.c:5377
++#: c-parser.c:5493 c-parser.c:5641 c-parser.c:5658 c-parser.c:5790
++#: c-parser.c:5802 c-parser.c:5827 c-parser.c:5962 c-parser.c:5991
++#: c-parser.c:5999 c-parser.c:6027 c-parser.c:6041 c-parser.c:6260
++#: c-parser.c:6359 c-parser.c:6862 c-parser.c:7493
+ #, gcc-internal-format
+ msgid "expected identifier"
+ msgstr "需è¦æ ‡è¯†ç¬¦"
+
+-#: c-parser.c:1773
++#: c-parser.c:1775
+ #, gcc-internal-format
+ msgid "%Hcomma at end of enumerator list"
+ msgstr "%H枚举表以逗å·ç»“å°¾"
+
+-#: c-parser.c:1779
++#: c-parser.c:1781
+ #, gcc-internal-format
+ msgid "expected %<,%> or %<}%>"
+ msgstr "需è¦%<,%>或%<}%>"
+
+-#: c-parser.c:1793 c-parser.c:1977 c-parser.c:6058
++#: c-parser.c:1795 c-parser.c:1979 c-parser.c:6117
+ #, gcc-internal-format
+ msgid "expected %<{%>"
+ msgstr "需è¦%<{%>"
+
+-#: c-parser.c:1804
++#: c-parser.c:1806
+ #, gcc-internal-format
+ msgid "%HISO C forbids forward references to %<enum%> types"
+ msgstr "%HISO C ä¸å…许%<enum%>类型的å‰å‘引用"
+
+-#: c-parser.c:1911
++#: c-parser.c:1913
+ #, gcc-internal-format
+ msgid "expected class name"
+ msgstr "需è¦ç±»å"
+
+-#: c-parser.c:1930 c-parser.c:5835
++#: c-parser.c:1932 c-parser.c:5894
+ #, gcc-internal-format
+ msgid "%Hextra semicolon in struct or union specified"
+ msgstr "%H为结åˆæˆ–结构指定了多余的分å·"
+
+-#: c-parser.c:1959
++#: c-parser.c:1961
+ #, gcc-internal-format
+ msgid "%Hno semicolon at end of struct or union"
+ msgstr "%H结构或è”åˆåŽæ²¡æœ‰åˆ†å·"
+
+-#: c-parser.c:1963
++#: c-parser.c:1965
+ #, gcc-internal-format
+ msgid "expected %<;%>"
+ msgstr "需è¦%<;%>"
+
+-#: c-parser.c:2042 c-parser.c:3014
++#: c-parser.c:2044 c-parser.c:3016
+ #, gcc-internal-format
+ msgid "expected specifier-qualifier-list"
+ msgstr "需è¦æŒ‡å®šç¬¦-é™åˆ¶ç¬¦åˆ—表"
+
+-#: c-parser.c:2052
++#: c-parser.c:2054
+ #, gcc-internal-format
+ msgid "%HISO C forbids member declarations with no members"
+ msgstr "%HISO C ä¸å…许ä¸å«æˆå‘˜çš„æˆå‘˜å£°æ˜Ž"
+
+-#: c-parser.c:2126
++#: c-parser.c:2128
+ #, gcc-internal-format
+ msgid "expected %<,%>, %<;%> or %<}%>"
+ msgstr "需è¦%<,%>ã€%<;%>或%<}%>"
+
+-#: c-parser.c:2133
++#: c-parser.c:2135
+ #, gcc-internal-format
+ msgid "expected %<:%>, %<,%>, %<;%>, %<}%> or %<__attribute__%>"
+ msgstr "需è¦%<:%>,%<,%>,%<;%>,%<}%>或%<__attribute__%>"
+
+-#: c-parser.c:2184
++#: c-parser.c:2186
+ #, gcc-internal-format
+ msgid "%H%<typeof%> applied to a bit-field"
+ msgstr "%H为ä½æ®µä½¿ç”¨%<typeof%>"
+
+-#: c-parser.c:2421
++#: c-parser.c:2423
+ #, gcc-internal-format
+ msgid "expected identifier or %<(%>"
+ msgstr "需è¦æ ‡è¯†ç¬¦æˆ–%<(%>"
+
+-#: c-parser.c:2622
++#: c-parser.c:2624
+ #, gcc-internal-format
+ msgid "%HISO C requires a named argument before %<...%>"
+ msgstr "%HISO C è¦æ±‚在%<...%>å‰æœ‰ä¸€ä¸ªæœ‰åå‚æ•°"
+
+-#: c-parser.c:2729
++#: c-parser.c:2731
+ #, gcc-internal-format
+ msgid "expected declaration specifiers or %<...%>"
+ msgstr "需è¦æŒ‡å®šå£°æ˜Žæˆ–%<...%>"
+
+-#: c-parser.c:2779
++#: c-parser.c:2781
+ #, gcc-internal-format
+ msgid "%Hwide string literal in %<asm%>"
+ msgstr "%H%<asm%>中出现宽字é¢å­—符串"
+
+-#: c-parser.c:2786 c-parser.c:6695 cp/parser.c:20393
++#: c-parser.c:2788 c-parser.c:6754 cp/parser.c:20482
+ #, gcc-internal-format
+ msgid "expected string literal"
+ msgstr "需è¦å­—é¢å­—符串"
+
+-#: c-parser.c:3107
++#: c-parser.c:3109
+ #, gcc-internal-format
+ msgid "%HISO C forbids empty initializer braces"
+ msgstr "%HISO C ä¸å…许用åˆå§‹å€¼è®¾å®šä¸­æœ‰ç©ºçš„花括å·å¯¹"
+
+ #. Use the colon as the error location.
+-#: c-parser.c:3154
++#: c-parser.c:3156
+ #, gcc-internal-format
+ msgid "%Hobsolete use of designated initializer with %<:%>"
+ msgstr "%H使用%<:%>æ¥æŒ‡å®šå…ƒç´ åˆå§‹å€¼çš„作法已过时"
+
+-#: c-parser.c:3285
++#: c-parser.c:3287
+ #, gcc-internal-format
+ msgid "%HISO C forbids specifying range of elements to initialize"
+ msgstr "%HISO C ä¸å…许在åˆå§‹åŒ–指定元素的范围"
+
+-#: c-parser.c:3298
++#: c-parser.c:3300
+ #, gcc-internal-format
+ msgid "%HISO C90 forbids specifying subobject to initialize"
+ msgstr "%HISO C90 ä¸å…许指定å­å¯¹è±¡çš„åˆå§‹å€¼"
+
+-#: c-parser.c:3307
++#: c-parser.c:3309
+ #, gcc-internal-format
+ msgid "%Hobsolete use of designated initializer without %<=%>"
+ msgstr "%H过时的用法,应使用%<=%>æ¥æŒ‡å®šå…ƒç´ åˆå§‹å€¼"
+
+-#: c-parser.c:3316
++#: c-parser.c:3318
+ #, gcc-internal-format
+ msgid "expected %<=%>"
+ msgstr "需è¦%<=%>"
+
+-#: c-parser.c:3461
++#: c-parser.c:3463
+ #, gcc-internal-format
+ msgid "%HISO C forbids label declarations"
+ msgstr "%HISO C ä¸å…许标å·å£°æ˜Ž"
+
+-#: c-parser.c:3466 c-parser.c:3541
++#: c-parser.c:3468 c-parser.c:3543
+ #, gcc-internal-format
+ msgid "expected declaration or statement"
+ msgstr "需è¦å£°æ˜Žæˆ–语å¥"
+
+-#: c-parser.c:3494 c-parser.c:3522
++#: c-parser.c:3496 c-parser.c:3524
+ #, gcc-internal-format
+ msgid "%HISO C90 forbids mixed declarations and code"
+ msgstr "%HISO C90 ä¸å…许混åˆä½¿ç”¨å£°æ˜Žå’Œä»£ç "
+
++#: c-parser.c:3550
++#, gcc-internal-format
++msgid "%Hexpected %<}%> before %<else%>"
++msgstr "%H%<else%>å‰éœ€è¦%<}%>"
++
+ #: c-parser.c:3555
+ #, gcc-internal-format
++msgid "%H%<else%> without a previous %<if%>"
++msgstr "%H%<else%>没有对应的%<if%>"
++
++#: c-parser.c:3571
++#, gcc-internal-format
+ msgid "%Hlabel at end of compound statement"
+ msgstr "%Hæ ‡å·ä½äºŽå¤åˆè¯­å¥æœ«å°¾"
+
+-#: c-parser.c:3598
++#: c-parser.c:3614
+ #, gcc-internal-format
+ msgid "expected %<:%> or %<...%>"
+ msgstr "需è¦%<:%>或%<...%>"
+
+-#: c-parser.c:3779
++#: c-parser.c:3647
+ #, gcc-internal-format
++msgid "%Ha label can only be part of a statement and a declaration is not a statement"
++msgstr "%Hæ ‡å·åªèƒ½æ˜¯è¯­å¥çš„一部分,而声明并éžè¯­å¥"
++
++#: c-parser.c:3810
++#, gcc-internal-format
+ msgid "expected identifier or %<*%>"
+ msgstr "需è¦æ ‡è¯†ç¬¦æˆ–%<*%>"
+
+@@ -19861,188 +19844,183 @@
+ #. 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-parser.c:3841
++#: c-parser.c:3872
+ #, gcc-internal-format
+ msgid "expected statement"
+ msgstr "需è¦è¯­å¥"
+
+-#: c-parser.c:3851
++#: c-parser.c:4095
+ #, gcc-internal-format
+-msgid "%Ha label can only be part of a statement and a declaration is not a statement"
+-msgstr "%Hæ ‡å·åªèƒ½æ˜¯è¯­å¥çš„一部分,而声明并éžè¯­å¥"
+-
+-#: c-parser.c:4036
+-#, gcc-internal-format
+ msgid "%Hsuggest braces around empty body in %<do%> statement"
+ msgstr "%H建议在空的%<do%>语å¥ä½“周围加上花括å·"
+
+-#: c-parser.c:4192
++#: c-parser.c:4251
+ #, gcc-internal-format
+ msgid "%H%E qualifier ignored on asm"
+ msgstr "%H%E é™å®šåœ¨ asm 上被忽略"
+
+-#: c-parser.c:4473
++#: c-parser.c:4532
+ #, gcc-internal-format
+ msgid "%HISO C forbids omitting the middle term of a ?: expression"
+ msgstr "%HISO C ä¸å…许çœç•¥ ?: 表达å¼ä¸­çš„第二项"
+
+-#: c-parser.c:4863
++#: c-parser.c:4922
+ #, gcc-internal-format
+ msgid "%Htraditional C rejects the unary plus operator"
+ msgstr "%H传统 C ä¸æŽ¥å—å•ç›® + è¿ç®—符"
+
+ #. C99 6.7.5.2p4
+-#: c-parser.c:4974
++#: c-parser.c:5033
+ #, gcc-internal-format
+ msgid "%H%<[*]%> not allowed in other than a declaration"
+ msgstr "%H%<[*]%>åªèƒ½ç”¨åœ¨å£°æ˜Žä¸­"
+
+-#: c-parser.c:4988
++#: c-parser.c:5047
+ #, gcc-internal-format
+ msgid "%H%<sizeof%> applied to a bit-field"
+ msgstr "%H对ä½æ®µä½¿ç”¨%<sizeof%>"
+
+-#: c-parser.c:5132 c-parser.c:5476 c-parser.c:5498
++#: c-parser.c:5191 c-parser.c:5535 c-parser.c:5557
+ #, gcc-internal-format
+ msgid "expected expression"
+ msgstr "需è¦è¡¨è¾¾å¼"
+
+-#: c-parser.c:5159
++#: c-parser.c:5218
+ #, gcc-internal-format
+ msgid "%Hbraced-group within expression allowed only inside a function"
+ msgstr "%H表达å¼ä¸­çš„花括å·ç»„åªå…许出现在函数中"
+
+-#: c-parser.c:5173
++#: c-parser.c:5232
+ #, gcc-internal-format
+ msgid "%HISO C forbids braced-groups within expressions"
+ msgstr "%HISO C ä¸å…许在表达å¼ä¸­ä½¿ç”¨èŠ±æ‹¬å·ç»„"
+
+-#: c-parser.c:5358
++#: c-parser.c:5417
+ #, gcc-internal-format
+ msgid "%Hfirst argument to %<__builtin_choose_expr%> not a constant"
+ msgstr "%H%<__builtin_choose_expr%>的第一个实å‚ä¸æ˜¯ä¸€ä¸ªå¸¸é‡"
+
+-#: c-parser.c:5527
++#: c-parser.c:5586
+ #, gcc-internal-format
+ msgid "%Hcompound literal has variable size"
+ msgstr "%Hå¤åˆå­—é¢å€¼æœ‰å¯å˜çš„大å°"
+
+-#: c-parser.c:5535
++#: c-parser.c:5594
+ #, gcc-internal-format
+ msgid "%HISO C90 forbids compound literals"
+ msgstr "%HISO C90 ä¸å…许å¤åˆå­—é¢å€¼"
+
+-#: c-parser.c:6053
++#: c-parser.c:6112
+ #, gcc-internal-format
+ msgid "%Hextra semicolon in method definition specified"
+ msgstr "%H为方法定义指定了多余的分å·"
+
+-#: c-parser.c:6600 cp/parser.c:20436
++#: c-parser.c:6659 cp/parser.c:20525
+ #, gcc-internal-format
+ msgid "%<#pragma omp barrier%> may only be used in compound statements"
+ msgstr "%<#pragma omp barrier%>åªèƒ½ç”¨åœ¨å¤åˆè¯­å¥ä¸­"
+
+-#: c-parser.c:6611 cp/parser.c:20451
++#: c-parser.c:6670 cp/parser.c:20540
+ #, gcc-internal-format
+ msgid "%<#pragma omp flush%> may only be used in compound statements"
+ msgstr "%<#pragma omp flush%>åªèƒ½ç”¨åœ¨å¤åˆè¯­å¥ä¸­"
+
+-#: c-parser.c:6623
++#: c-parser.c:6682
+ #, gcc-internal-format
+ msgid "%H%<#pragma omp section%> may only be used in %<#pragma omp sections%> construct"
+ msgstr "%H%<#pragma omp section%>åªèƒ½ç”¨åœ¨%<#pragma omp sections%>结构中"
+
+-#: c-parser.c:6630 cp/parser.c:20426
++#: c-parser.c:6689 cp/parser.c:20515
+ #, gcc-internal-format
+ msgid "%<#pragma GCC pch_preprocess%> must be first"
+ msgstr "%<#pragma GCC pch_preprocess%>必须是第一个"
+
+-#: c-parser.c:6781 cp/parser.c:19277
++#: c-parser.c:6840 cp/parser.c:19359
+ #, gcc-internal-format
+ msgid "too many %qs clauses"
+ msgstr "太多的%qså­å¥"
+
+-#: c-parser.c:6906
++#: c-parser.c:6965
+ #, gcc-internal-format
+ msgid "expected %<none%> or %<shared%>"
+ msgstr "需è¦%<none%>或%<shared%>"
+
+-#: c-parser.c:6949
++#: c-parser.c:7008
+ #, gcc-internal-format
+ msgid "expected %<(%>"
+ msgstr "需è¦%<(%>"
+
+-#: c-parser.c:6993 c-parser.c:7170
++#: c-parser.c:7052 c-parser.c:7229
+ #, gcc-internal-format
+ msgid "expected integer expression"
+ msgstr "需è¦æ•´æ•°è¡¨è¾¾å¼"
+
+-#: c-parser.c:7002
++#: c-parser.c:7061
+ #, gcc-internal-format
+ msgid "%H%<num_threads%> value must be positive"
+ msgstr "%H%<num_threads%>值必须为正"
+
+-#: c-parser.c:7082
++#: c-parser.c:7141
+ #, gcc-internal-format
+ msgid "expected %<+%>, %<*%>, %<-%>, %<&%>, %<^%>, %<|%>, %<&&%>, or %<||%>"
+ msgstr "需è¦%<+%>ã€<*%>ã€%<-%>ã€%<&%>ã€%<^%>ã€%<|%>ã€%<&&%>或%<||%>"
+
+-#: c-parser.c:7165
++#: c-parser.c:7224
+ #, gcc-internal-format
+ msgid "%Hschedule %<runtime%> does not take a %<chunk_size%> parameter"
+ msgstr "%H调度%<runtime%>ä¸æŽ¥å—一个%<chunk_size%>å‚æ•°"
+
+-#: c-parser.c:7183
++#: c-parser.c:7242
+ #, gcc-internal-format
+ msgid "invalid schedule kind"
+ msgstr "无效的调度类型"
+
+-#: c-parser.c:7269
++#: c-parser.c:7336
+ #, gcc-internal-format
+ msgid "expected %<#pragma omp%> clause"
+ msgstr "需è¦%<#pragma omp%>å­å¥"
+
+-#: c-parser.c:7278
++#: c-parser.c:7345
+ #, gcc-internal-format
+ msgid "%H%qs is not valid for %qs"
+ msgstr "%H%qs对%qs而言无效"
+
+-#: c-parser.c:7378
++#: c-parser.c:7445
+ #, gcc-internal-format
+ msgid "invalid operator for %<#pragma omp atomic%>"
+ msgstr "%<#pragma omp atomic%>æ“作符无效"
+
+-#: c-parser.c:7429 c-parser.c:7449
++#: c-parser.c:7496 c-parser.c:7516
+ #, gcc-internal-format
+ msgid "expected %<(%> or end of line"
+ msgstr "需è¦%<(%>或行尾"
+
+-#: c-parser.c:7467
++#: c-parser.c:7534
+ #, gcc-internal-format
+ msgid "for statement expected"
+ msgstr "éœ€è¦ for 语å¥"
+
+-#: c-parser.c:7540 cp/semantics.c:3826 cp/semantics.c:3870
++#: c-parser.c:7609 cp/semantics.c:3858 cp/semantics.c:3902
+ #, gcc-internal-format
+ msgid "expected iteration declaration or initialization"
+ msgstr "需è¦è¿­ä»£å£°æ˜Žæˆ–åˆå§‹åŒ–"
+
+-#: c-parser.c:7666
++#: c-parser.c:7735
+ #, gcc-internal-format
+ msgid "%Hexpected %<#pragma omp section%> or %<}%>"
+ msgstr "%H需è¦%<#pragma omp section%>或%<}%>"
+
+-#: c-parser.c:7899 cp/semantics.c:3718
++#: c-parser.c:7968 cp/semantics.c:3750
+ #, gcc-internal-format
+ msgid "%qE declared %<threadprivate%> after first use"
+ msgstr "%qE在其首次使用åŽè¢«å£°æ˜Žä¸º%<threadprivate%>"
+
+-#: c-parser.c:7901 cp/semantics.c:3720
++#: c-parser.c:7970 cp/semantics.c:3752
+ #, gcc-internal-format
+ msgid "automatic variable %qE cannot be %<threadprivate%>"
+ msgstr "自动å˜é‡%qEä¸èƒ½æ˜¯%<threadprivate%>"
+
+-#: c-parser.c:7903 cp/semantics.c:3722
++#: c-parser.c:7972 cp/semantics.c:3754
+ #, gcc-internal-format
+ msgid "%<threadprivate%> %qE has incomplete type"
+ msgstr "%<threadprivate%>%qE的类型ä¸å®Œå…¨"
+@@ -20207,122 +20185,122 @@
+ msgid "junk at end of %<#pragma pop_macro%>"
+ msgstr "%<#pragma pop_macro%>末尾有垃圾字符"
+
+-#: c-pragma.c:406
++#: c-pragma.c:407
+ #, gcc-internal-format
+ msgid "applying #pragma weak %q+D after first use results in unspecified behavior"
+ msgstr "在第一次使用åŽåº”用 #pragma weak%q+D导致ä¸å¯é¢„知的åŽæžœ"
+
+-#: c-pragma.c:480 c-pragma.c:485
++#: c-pragma.c:481 c-pragma.c:486
+ #, gcc-internal-format
+ msgid "malformed #pragma weak, ignored"
+ msgstr "#pragma weak æ ¼å¼é”™è¯¯ï¼Œå·²å¿½ç•¥"
+
+-#: c-pragma.c:489
++#: c-pragma.c:490
+ #, gcc-internal-format
+ msgid "junk at end of %<#pragma weak%>"
+ msgstr "%<#pragma weak%>末尾有垃圾字符"
+
+-#: c-pragma.c:557 c-pragma.c:559
++#: c-pragma.c:558 c-pragma.c:560
+ #, gcc-internal-format
+ msgid "malformed #pragma redefine_extname, ignored"
+ msgstr "#pragma redefine_extname æ ¼å¼é”™è¯¯ï¼Œå·²å¿½ç•¥"
+
+-#: c-pragma.c:562
++#: c-pragma.c:563
+ #, gcc-internal-format
+ msgid "junk at end of %<#pragma redefine_extname%>"
+ msgstr "%<#pragma redefine_extname%>末尾有垃圾字符"
+
+-#: c-pragma.c:568
++#: c-pragma.c:569
+ #, gcc-internal-format
+ msgid "#pragma redefine_extname not supported on this target"
+ msgstr "#pragma redefine_extname 在此目标机上ä¸å—支æŒ"
+
+-#: c-pragma.c:585 c-pragma.c:672
++#: c-pragma.c:586 c-pragma.c:673
+ #, gcc-internal-format
+ msgid "#pragma redefine_extname ignored due to conflict with previous rename"
+ msgstr "#pragma redefine_extname 因与先å‰çš„ rename 冲çªè€Œè¢«å¿½ç•¥"
+
+-#: c-pragma.c:608
++#: c-pragma.c:609
+ #, gcc-internal-format
+ msgid "#pragma redefine_extname ignored due to conflict with previous #pragma redefine_extname"
+ msgstr "#pragma redefine_extname 因与先å‰çš„ #pragma redefine_extname 冲çªè€Œè¢«å¿½ç•¥"
+
+-#: c-pragma.c:627
++#: c-pragma.c:628
+ #, gcc-internal-format
+ msgid "malformed #pragma extern_prefix, ignored"
+ msgstr "#pragma extern_prefix æ ¼å¼é”™è¯¯ï¼Œå·²å¿½ç•¥"
+
+-#: c-pragma.c:630
++#: c-pragma.c:631
+ #, gcc-internal-format
+ msgid "junk at end of %<#pragma extern_prefix%>"
+ msgstr "%<#pragma extern_prefix%>末尾有垃圾字符"
+
+-#: c-pragma.c:637
++#: c-pragma.c:638
+ #, gcc-internal-format
+ msgid "#pragma extern_prefix not supported on this target"
+ msgstr "#pragma extern_prefix 在此目标机上ä¸å—支æŒ"
+
+-#: c-pragma.c:663
++#: c-pragma.c:664
+ #, gcc-internal-format
+ msgid "asm declaration ignored due to conflict with previous rename"
+ msgstr "asm 声明因与先å‰çš„ rename 冲çªè€Œè¢«å¿½ç•¥"
+
+-#: c-pragma.c:694
++#: c-pragma.c:695
+ #, gcc-internal-format
+ msgid "#pragma redefine_extname ignored due to conflict with __asm__ declaration"
+ msgstr "#pragma redefine_extname 因与 __asm__ declaration 冲çªè€Œè¢«å¿½ç•¥"
+
+-#: c-pragma.c:756
++#: c-pragma.c:757
+ #, gcc-internal-format
+ msgid "#pragma GCC visibility push() must specify default, internal, hidden or protected"
+ msgstr "#pragma GCC visibility push() 必须指定 defaultã€internalã€hidden 或 protected"
+
+-#: c-pragma.c:791
++#: c-pragma.c:792
+ #, gcc-internal-format
+ msgid "#pragma GCC visibility must be followed by push or pop"
+ msgstr "#pragma GCC visibility åŽé¢å¿…须跟 push 或 pop"
+
+-#: c-pragma.c:797
++#: c-pragma.c:798
+ #, gcc-internal-format
+ msgid "no matching push for %<#pragma GCC visibility pop%>"
+ msgstr "没有与%<#pragma GCC visibility pop%>对应的 push"
+
+-#: c-pragma.c:804 c-pragma.c:811
++#: c-pragma.c:805 c-pragma.c:812
+ #, gcc-internal-format
+ msgid "missing %<(%> after %<#pragma GCC visibility push%> - ignored"
+ msgstr "%<#pragma GCC visibility push%>缺少%<(%>- 已忽略"
+
+-#: c-pragma.c:807
++#: c-pragma.c:808
+ #, gcc-internal-format
+ msgid "malformed #pragma GCC visibility push"
+ msgstr "#pragma GCC visibility push æ ¼å¼é”™è¯¯"
+
+-#: c-pragma.c:815
++#: c-pragma.c:816
+ #, gcc-internal-format
+ msgid "junk at end of %<#pragma GCC visibility%>"
+ msgstr "%<#pragma GCC visibility%>末尾有垃圾字符"
+
+-#: c-pragma.c:831
++#: c-pragma.c:832
+ #, gcc-internal-format
+ msgid "#pragma GCC diagnostic not allowed inside functions"
+ msgstr "#pragma GCC diagnostic ä¸å…许用在函数体中"
+
+-#: c-pragma.c:837
++#: c-pragma.c:838
+ #, gcc-internal-format
+ msgid "missing [error|warning|ignored] after %<#pragma GCC diagnostic%>"
+ msgstr "%<#pragma GCC diagnostic%>åŽç¼ºå°‘ errorã€warning 或 ignored"
+
+-#: c-pragma.c:846
++#: c-pragma.c:847
+ #, gcc-internal-format
+ msgid "expected [error|warning|ignored] after %<#pragma GCC diagnostic%>"
+ msgstr "%<#pragma GCC diagnostic%>åŽéœ€è¦ errorã€warning 或 ignored"
+
+-#: c-pragma.c:850
++#: c-pragma.c:851
+ #, gcc-internal-format
+ msgid "missing option after %<#pragma GCC diagnostic%> kind"
+ msgstr "%<#pragma GCC diagnostic%>åŽé€‰é¡¹ç¼ºå¤±"
+
+-#: c-pragma.c:864
++#: c-pragma.c:865
+ #, gcc-internal-format
+ msgid "unknown option after %<#pragma GCC diagnostic%> kind"
+ msgstr "%<#pragma GCC diagnostic%>åŽé€‰é¡¹æœªçŸ¥"
+@@ -20332,20 +20310,20 @@
+ msgid "%qD has an incomplete type"
+ msgstr "%qD类型ä¸å®Œå…¨"
+
+-#: c-typeck.c:195 cp/call.c:2785
++#: c-typeck.c:195 cp/call.c:2771
+ #, gcc-internal-format
+ msgid "invalid use of void expression"
+-msgstr "对 void 表达å¼çš„无效使用"
++msgstr "对 void 表达å¼çš„使用无效"
+
+ #: c-typeck.c:203
+ #, gcc-internal-format
+ msgid "invalid use of flexible array member"
+-msgstr "对å¯å˜æ•°ç»„æˆå‘˜æ— æ•ˆçš„使用"
++msgstr "对å¯å˜æ•°ç»„æˆå‘˜çš„使用无效"
+
+ #: c-typeck.c:209
+ #, gcc-internal-format
+ msgid "invalid use of array with unspecified bounds"
+-msgstr "对未指定边界的数组的无效使用"
++msgstr "对未指定边界的数组的使用无效"
+
+ #: c-typeck.c:217
+ #, gcc-internal-format
+@@ -20356,99 +20334,99 @@
+ #: c-typeck.c:221
+ #, gcc-internal-format
+ msgid "invalid use of incomplete typedef %qD"
+-msgstr "对ä¸å®Œå…¨çš„ typedef%qD的无效使用"
++msgstr "对ä¸å®Œå…¨çš„ typedef%qD的使用无效"
+
+ #: c-typeck.c:474 c-typeck.c:499
+ #, gcc-internal-format
+ msgid "function types not truly compatible in ISO C"
+ msgstr "函数类型与 ISO C ä¸å®Œå…¨å…¼å®¹"
+
+-#: c-typeck.c:621
++#: c-typeck.c:627
+ #, gcc-internal-format
+ msgid "can%'t mix operands of decimal float and vector types"
+ msgstr "å进制浮点和矢é‡ç±»åž‹ä¸èƒ½åŒæ—¶ä½œæ“作数"
+
+-#: c-typeck.c:626
++#: c-typeck.c:632
+ #, gcc-internal-format
+ msgid "can%'t mix operands of decimal float and complex types"
+ msgstr "å进制浮点和å¤æ•°ç±»åž‹ä¸èƒ½åŒæ—¶ä½œæ“作数"
+
+-#: c-typeck.c:631
++#: c-typeck.c:637
+ #, gcc-internal-format
+ msgid "can%'t mix operands of decimal float and other float types"
+ msgstr "å进制浮点与其他浮点类型ä¸èƒ½åŒæ—¶ä½œæ“作数"
+
+-#: c-typeck.c:1037
++#: c-typeck.c:1043
+ #, gcc-internal-format
+ msgid "types are not quite compatible"
+ msgstr "类型ä¸å®Œå…¨å…¼å®¹"
+
+-#: c-typeck.c:1356
++#: c-typeck.c:1366
+ #, gcc-internal-format
+ msgid "function return types not compatible due to %<volatile%>"
+ msgstr "由于%<volatile%>,函数返回类型ä¸å…¼å®¹"
+
+-#: c-typeck.c:1515 c-typeck.c:2853
++#: c-typeck.c:1525 c-typeck.c:2864
+ #, gcc-internal-format
+ msgid "arithmetic on pointer to an incomplete type"
+ msgstr "在指å‘ä¸å®Œå…¨ç±»åž‹çš„指针上执行算术è¿ç®—"
+
+-#: c-typeck.c:1912
++#: c-typeck.c:1922
+ #, gcc-internal-format
+ msgid "%qT has no member named %qE"
+ msgstr "%qT没有å为%qEçš„æˆå‘˜"
+
+-#: c-typeck.c:1953
++#: c-typeck.c:1963
+ #, gcc-internal-format
+ msgid "request for member %qE in something not a structure or union"
+ msgstr "在éžç»“构或è”åˆä¸­è¯·æ±‚æˆå‘˜%qE"
+
+-#: c-typeck.c:1997
++#: c-typeck.c:2007
+ #, gcc-internal-format
+ msgid "dereferencing pointer to incomplete type"
+ msgstr "æ领指å‘ä¸å®Œå…¨ç±»åž‹çš„指针"
+
+-#: c-typeck.c:2001
++#: c-typeck.c:2011
+ #, gcc-internal-format
+ msgid "dereferencing %<void *%> pointer"
+ msgstr "æ领%<void *%>指针"
+
+-#: c-typeck.c:2018
++#: c-typeck.c:2028
+ #, gcc-internal-format
+ msgid "invalid type argument of %qs (have %qT)"
+ msgstr "%qs(有%qT)的实å‚类型无效"
+
+-#: c-typeck.c:2046 cp/typeck.c:2524
++#: c-typeck.c:2056 cp/typeck.c:2570
+ #, gcc-internal-format
+ msgid "subscripted value is neither array nor pointer"
+ msgstr "下标è¿ç®—çš„å·¦æ“作数既éžæ•°ç»„也éžæŒ‡é’ˆ"
+
+-#: c-typeck.c:2057 cp/typeck.c:2443 cp/typeck.c:2529
++#: c-typeck.c:2067 cp/typeck.c:2489 cp/typeck.c:2575
+ #, gcc-internal-format
+ msgid "array subscript is not an integer"
+ msgstr "数组下标ä¸æ˜¯ä¸€ä¸ªæ•´æ•°"
+
+-#: c-typeck.c:2063
++#: c-typeck.c:2073
+ #, gcc-internal-format
+ msgid "subscripted value is pointer to function"
+ msgstr "下标è¿ç®—çš„å·¦æ“作数是函数指针"
+
+-#: c-typeck.c:2110
++#: c-typeck.c:2120
+ #, gcc-internal-format
+ msgid "ISO C forbids subscripting %<register%> array"
+ msgstr "ISO C ä¸å…许按下标访问%<register%>数组"
+
+-#: c-typeck.c:2112
++#: c-typeck.c:2122
+ #, gcc-internal-format
+ msgid "ISO C90 forbids subscripting non-lvalue array"
+ msgstr "ISO C90 ä¸å…许éžå·¦å€¼çš„数组作为下标è¿ç®—çš„å·¦æ“作数"
+
+-#: c-typeck.c:2228
++#: c-typeck.c:2239
+ #, gcc-internal-format
+ msgid "%H%qD is static but used in inline function %qD which is not static"
+ msgstr "%H%qD是é™æ€çš„,但å´åœ¨éžé™æ€çš„内è”函数%qD中被使用"
+
+-#: c-typeck.c:2376
++#: c-typeck.c:2387
+ #, gcc-internal-format
+ msgid "called object %qE is not a function"
+ msgstr "被调用的对象%qEä¸æ˜¯ä¸€ä¸ªå‡½æ•°"
+@@ -20456,795 +20434,795 @@
+ #. This situation leads to run-time undefined behavior. We can't,
+ #. therefore, simply error unless we can prove that all possible
+ #. executions of the program must execute the code.
+-#: c-typeck.c:2404
++#: c-typeck.c:2415
+ #, gcc-internal-format
+ msgid "function called through a non-compatible type"
+ msgstr "函数ç»ç”±ä¸å…¼å®¹çš„类型调用"
+
+-#: c-typeck.c:2515
++#: c-typeck.c:2526
+ #, gcc-internal-format
+ msgid "too many arguments to function %qE"
+ msgstr "æ供给函数%qE的实å‚太多"
+
+-#: c-typeck.c:2536
++#: c-typeck.c:2547
+ #, gcc-internal-format
+ msgid "type of formal parameter %d is incomplete"
+ msgstr "å®žå‚ %d 的类型ä¸å®Œå…¨"
+
+-#: c-typeck.c:2549
++#: c-typeck.c:2560
+ #, gcc-internal-format
+ msgid "passing argument %d of %qE as integer rather than floating due to prototype"
+ msgstr "æ ¹æ®åŽŸåž‹ï¼Œå®žå‚ %d (%qE) 将作为整数而ä¸æ˜¯æµ®ç‚¹æ•°ä¼ é€’"
+
+-#: c-typeck.c:2554
++#: c-typeck.c:2565
+ #, gcc-internal-format
+ msgid "passing argument %d of %qE as integer rather than complex due to prototype"
+ msgstr "æ ¹æ®åŽŸåž‹ï¼Œå®žå‚ %d (%qE) 将作为整数而ä¸æ˜¯å¤æ•°ä¼ é€’"
+
+-#: c-typeck.c:2559
++#: c-typeck.c:2570
+ #, gcc-internal-format
+ msgid "passing argument %d of %qE as complex rather than floating due to prototype"
+ msgstr "æ ¹æ®åŽŸåž‹ï¼Œå®žå‚ %d (%qE) 将作为å¤æ•°è€Œä¸æ˜¯æµ®ç‚¹æ•°ä¼ é€’"
+
+-#: c-typeck.c:2564
++#: c-typeck.c:2575
+ #, gcc-internal-format
+ msgid "passing argument %d of %qE as floating rather than integer due to prototype"
+ msgstr "æ ¹æ®åŽŸåž‹ï¼Œå®žå‚ %d (%qE) 将作为浮点数而ä¸æ˜¯æ•´æ•°ä¼ é€’"
+
+-#: c-typeck.c:2569
++#: c-typeck.c:2580
+ #, gcc-internal-format
+ msgid "passing argument %d of %qE as complex rather than integer due to prototype"
+ msgstr "æ ¹æ®åŽŸåž‹ï¼Œå®žå‚ %d (%qE) 将作为å¤æ•°è€Œä¸æ˜¯æ•´æ•°ä¼ é€’"
+
+-#: c-typeck.c:2574
++#: c-typeck.c:2585
+ #, gcc-internal-format
+ msgid "passing argument %d of %qE as floating rather than complex due to prototype"
+ msgstr "æ ¹æ®åŽŸåž‹ï¼Œå®žå‚ %d (%qE) 将作为浮点数而ä¸æ˜¯å¤æ•°ä¼ é€’"
+
+-#: c-typeck.c:2587
++#: c-typeck.c:2598
+ #, gcc-internal-format
+ msgid "passing argument %d of %qE as %<float%> rather than %<double%> due to prototype"
+ msgstr "æ ¹æ®åŽŸåž‹ï¼Œå®žå‚ %d (%qE) 将作为%<float%>而ä¸æ˜¯%<double%>传递"
+
+-#: c-typeck.c:2612
++#: c-typeck.c:2623
+ #, gcc-internal-format
+ msgid "passing argument %d of %qE as %qT rather than %qT due to prototype"
+ msgstr "æ ¹æ®åŽŸåž‹ï¼Œå®žå‚ %d (%qE)将作为%qT而ä¸æ˜¯%qT传递"
+
+-#: c-typeck.c:2633
++#: c-typeck.c:2644
+ #, gcc-internal-format
+ msgid "passing argument %d of %qE with different width due to prototype"
+ msgstr "æ ¹æ®åŽŸåž‹ï¼Œå®žå‚ %d (%qE) 将以ä¸åŒçš„宽度传递"
+
+-#: c-typeck.c:2656
++#: c-typeck.c:2667
+ #, gcc-internal-format
+ msgid "passing argument %d of %qE as unsigned due to prototype"
+ msgstr "æ ¹æ®åŽŸåž‹ï¼Œå®žå‚ %d (%qE) 将作用无符å·æ•°ä¼ é€’"
+
+-#: c-typeck.c:2660
++#: c-typeck.c:2671
+ #, gcc-internal-format
+ msgid "passing argument %d of %qE as signed due to prototype"
+ msgstr "æ ¹æ®åŽŸåž‹ï¼Œå®žå‚ %d (%qE) 将作为有符å·æ•°ä¼ é€’"
+
+-#: c-typeck.c:2766 c-typeck.c:2770
++#: c-typeck.c:2777 c-typeck.c:2781
+ #, gcc-internal-format
+ msgid "comparison with string literal results in unspecified behavior"
+ msgstr "与字é¢å­—符串比较的结构是ä¸å¯é¢„测的"
+
+-#: c-typeck.c:2795
++#: c-typeck.c:2806
+ #, gcc-internal-format
+ msgid "pointer of type %<void *%> used in subtraction"
+ msgstr "在å‡æ³•ä¸­ä½¿ç”¨ç±»åž‹ä¸º%<void *%>的指针"
+
+-#: c-typeck.c:2797
++#: c-typeck.c:2808
+ #, gcc-internal-format
+ msgid "pointer to a function used in subtraction"
+ msgstr "函数指针ä¸èƒ½ç›¸å‡"
+
+-#: c-typeck.c:2908
++#: c-typeck.c:2919
+ #, gcc-internal-format
+ msgid "wrong type argument to unary plus"
+ msgstr "å•ç›®åŠ çš„æ“作数类型错误"
+
+-#: c-typeck.c:2921
++#: c-typeck.c:2932
+ #, gcc-internal-format
+ msgid "wrong type argument to unary minus"
+ msgstr "å•ç›®å‡çš„æ“作数类型错误"
+
+-#: c-typeck.c:2941
++#: c-typeck.c:2952
+ #, gcc-internal-format
+ msgid "ISO C does not support %<~%> for complex conjugation"
+ msgstr "ISO C ä¸æ”¯æŒç”¨ ~ 求共轭å¤æ•°"
+
+-#: c-typeck.c:2947
++#: c-typeck.c:2958
+ #, gcc-internal-format
+ msgid "wrong type argument to bit-complement"
+ msgstr "按ä½å–å的实å‚类型错误"
+
+-#: c-typeck.c:2955
++#: c-typeck.c:2966
+ #, gcc-internal-format
+ msgid "wrong type argument to abs"
+ msgstr "ä¸èƒ½å¯¹è¯¥ç±»åž‹çš„实å‚求ç»å¯¹å€¼"
+
+-#: c-typeck.c:2967
++#: c-typeck.c:2978
+ #, gcc-internal-format
+ msgid "wrong type argument to conjugation"
+ msgstr "ä¸èƒ½å¯¹è¯¥ç±»åž‹çš„实å‚求共轭"
+
+-#: c-typeck.c:2979
++#: c-typeck.c:2990
+ #, gcc-internal-format
+ msgid "wrong type argument to unary exclamation mark"
+ msgstr "å•ç›® ! 的实å‚类型无效"
+
+-#: c-typeck.c:3013
++#: c-typeck.c:3024
+ #, gcc-internal-format
+ msgid "ISO C does not support %<++%> and %<--%> on complex types"
+ msgstr "ISO C ä¸æ”¯æŒå¯¹å¤æ•°ç±»åž‹è¿›è¡Œ%<++%>或%<--%>æ“作"
+
+-#: c-typeck.c:3032 c-typeck.c:3064
++#: c-typeck.c:3043 c-typeck.c:3075
+ #, gcc-internal-format
+ msgid "wrong type argument to increment"
+ msgstr "该类型ä¸æ”¯æŒè‡ªå¢ž"
+
+-#: c-typeck.c:3034 c-typeck.c:3066
++#: c-typeck.c:3045 c-typeck.c:3077
+ #, gcc-internal-format
+ msgid "wrong type argument to decrement"
+ msgstr "该类型ä¸æ”¯æŒè‡ªå‡"
+
+-#: c-typeck.c:3055
++#: c-typeck.c:3066
+ #, gcc-internal-format
+ msgid "increment of pointer to unknown structure"
+ msgstr "自增指å‘未知结构的指针"
+
+-#: c-typeck.c:3057
++#: c-typeck.c:3068
+ #, gcc-internal-format
+ msgid "decrement of pointer to unknown structure"
+ msgstr "自å‡æŒ‡å‘未知结构的指针"
+
+-#: c-typeck.c:3258
++#: c-typeck.c:3269
+ #, gcc-internal-format
+ msgid "assignment of read-only member %qD"
+ msgstr "å‘åªè¯»æˆå‘˜%qD赋值"
+
+-#: c-typeck.c:3259
++#: c-typeck.c:3270
+ #, gcc-internal-format
+ msgid "increment of read-only member %qD"
+ msgstr "令åªè¯»æˆå‘˜%qD自增"
+
+-#: c-typeck.c:3260
++#: c-typeck.c:3271
+ #, gcc-internal-format
+ msgid "decrement of read-only member %qD"
+ msgstr "令åªè¯»æˆå‘˜%qD自å‡"
+
+-#: c-typeck.c:3261
++#: c-typeck.c:3272
+ #, gcc-internal-format
+ msgid "read-only member %qD used as %<asm%> output"
+ msgstr "åªè¯»æˆå‘˜%qD用作%<asm%>的输出"
+
+-#: c-typeck.c:3265
++#: c-typeck.c:3276
+ #, gcc-internal-format
+ msgid "assignment of read-only variable %qD"
+ msgstr "å‘åªè¯»å˜é‡%qD赋值"
+
+-#: c-typeck.c:3266
++#: c-typeck.c:3277
+ #, gcc-internal-format
+ msgid "increment of read-only variable %qD"
+ msgstr "令åªè¯»å˜é‡%qD自增"
+
+-#: c-typeck.c:3267
++#: c-typeck.c:3278
+ #, gcc-internal-format
+ msgid "decrement of read-only variable %qD"
+ msgstr "令åªè¯»æˆå‘˜%qD自增"
+
+-#: c-typeck.c:3268
++#: c-typeck.c:3279
+ #, gcc-internal-format
+ msgid "read-only variable %qD used as %<asm%> output"
+ msgstr "åªè¯»å˜é‡%qD被用作%<asm%>的输出"
+
+-#: c-typeck.c:3271
++#: c-typeck.c:3282
+ #, gcc-internal-format
+ msgid "assignment of read-only location %qE"
+ msgstr "å‘åªè¯»ä½ç½®%qE赋值"
+
+-#: c-typeck.c:3272
++#: c-typeck.c:3283
+ #, gcc-internal-format
+ msgid "increment of read-only location %qE"
+ msgstr "令åªè¯»ä½ç½®%qE自增"
+
+-#: c-typeck.c:3273
++#: c-typeck.c:3284
+ #, gcc-internal-format
+ msgid "decrement of read-only location %qE"
+ msgstr "令åªè¯»ä½ç½®%qE自å‡"
+
+-#: c-typeck.c:3274
++#: c-typeck.c:3285
+ #, gcc-internal-format
+ msgid "read-only location %qE used as %<asm%> output"
+ msgstr "åªè¯»ä½ç½®%qE用作%<asm%>的输出"
+
+-#: c-typeck.c:3310
++#: c-typeck.c:3321
+ #, gcc-internal-format
+ msgid "cannot take address of bit-field %qD"
+ msgstr "无法å–å¾—ä½æ®µ%qD的地å€"
+
+-#: c-typeck.c:3338
++#: c-typeck.c:3349
+ #, gcc-internal-format
+ msgid "global register variable %qD used in nested function"
+ msgstr "嵌套函数中使用了全局寄存器å˜é‡%qD"
+
+-#: c-typeck.c:3341
++#: c-typeck.c:3352
+ #, gcc-internal-format
+ msgid "register variable %qD used in nested function"
+ msgstr "嵌套函数中使用了寄存器å˜é‡%qD"
+
+-#: c-typeck.c:3346
++#: c-typeck.c:3357
+ #, gcc-internal-format
+ msgid "address of global register variable %qD requested"
+ msgstr "è¦æ±‚全局寄存器å˜é‡%qD的地å€"
+
+-#: c-typeck.c:3348
++#: c-typeck.c:3359
+ #, gcc-internal-format
+ msgid "address of register variable %qD requested"
+ msgstr "è¦æ±‚寄存器å˜é‡%qD的地å€ã€‚"
+
+-#: c-typeck.c:3394
++#: c-typeck.c:3405
+ #, gcc-internal-format
+ msgid "non-lvalue array in conditional expression"
+ msgstr "éžå·¦å€¼æ•°ç»„出现在æ¡ä»¶è¡¨è¾¾å¼ä¸­"
+
+-#: c-typeck.c:3442
++#: c-typeck.c:3453
+ #, gcc-internal-format
+ msgid "signed and unsigned type in conditional expression"
+ msgstr "有符å·å’Œæ— ç¬¦å·ç±»åž‹ä¸€èµ·å‡ºçŽ°åœ¨æ¡ä»¶è¡¨è¾¾å¼ä¸­"
+
+-#: c-typeck.c:3449
++#: c-typeck.c:3460
+ #, gcc-internal-format
+ msgid "ISO C forbids conditional expr with only one void side"
+ msgstr "ISO C ä¸å…许æ¡ä»¶è¡¨è¾¾å¼ä»…有一边为空"
+
+-#: c-typeck.c:3463 c-typeck.c:3471
++#: c-typeck.c:3474 c-typeck.c:3482
+ #, gcc-internal-format
+ msgid "ISO C forbids conditional expr between %<void *%> and function pointer"
+ msgstr "ISO C ä¸å…许在æ¡ä»¶è¡¨è¾¾å¼ä¸­åŒæ—¶ä½¿ç”¨%<void *%>和函数指针"
+
+-#: c-typeck.c:3478
++#: c-typeck.c:3489
+ #, gcc-internal-format
+ msgid "pointer type mismatch in conditional expression"
+ msgstr "æ¡ä»¶è¡¨è¾¾å¼æŒ‡é’ˆç±»åž‹ä¸åŒ¹é…"
+
+-#: c-typeck.c:3485 c-typeck.c:3495
++#: c-typeck.c:3496 c-typeck.c:3506
+ #, gcc-internal-format
+ msgid "pointer/integer type mismatch in conditional expression"
+ msgstr "æ¡ä»¶è¡¨è¾¾å¼ä¸­æŒ‡é’ˆ/整数类型ä¸åŒ¹é…"
+
+-#: c-typeck.c:3509 tree-cfg.c:3783
++#: c-typeck.c:3520 tree-cfg.c:3807
+ #, gcc-internal-format
+ msgid "type mismatch in conditional expression"
+ msgstr "æ¡ä»¶è¡¨è¾¾å¼ä¸­ç±»åž‹ä¸åŒ¹é…"
+
+-#: c-typeck.c:3552
++#: c-typeck.c:3563
+ #, gcc-internal-format
+ msgid "left-hand operand of comma expression has no effect"
+ msgstr "逗å·è¡¨è¾¾å¼çš„å·¦æ“作数ä¸èµ·ä½œç”¨"
+
+-#: c-typeck.c:3589
++#: c-typeck.c:3600
+ #, gcc-internal-format
+ msgid "cast specifies array type"
+ msgstr "类型转æ¢æŒ‡å®šäº†æ•°ç»„类型"
+
+-#: c-typeck.c:3595
++#: c-typeck.c:3606
+ #, gcc-internal-format
+ msgid "cast specifies function type"
+ msgstr "类型转æ¢æŒ‡å®šäº†å‡½æ•°ç±»åž‹"
+
+-#: c-typeck.c:3612
++#: c-typeck.c:3623
+ #, gcc-internal-format
+ msgid "ISO C forbids casting nonscalar to the same type"
+ msgstr "ISO C ä¸å…许将éžæ ‡é‡è½¬æ¢ä¸ºå…¶è‡ªèº«ç±»åž‹"
+
+-#: c-typeck.c:3629
++#: c-typeck.c:3640
+ #, gcc-internal-format
+ msgid "ISO C forbids casts to union type"
+ msgstr "ISO C ä¸å…许转æ¢ä¸ºè”åˆç±»åž‹"
+
+-#: c-typeck.c:3637
++#: c-typeck.c:3648
+ #, gcc-internal-format
+ msgid "cast to union type from type not present in union"
+ msgstr "类型转æ¢çš„æºç±»åž‹æœªå‡ºçŽ°åœ¨è”åˆä¸­"
+
+-#: c-typeck.c:3683
++#: c-typeck.c:3694
+ #, gcc-internal-format
+ msgid "cast adds new qualifiers to function type"
+ msgstr "类型转æ¢ä¸ºå‡½æ•°ç±»åž‹æ·»åŠ äº†æ–°çš„é™å®š"
+
+ #. There are qualifiers present in IN_OTYPE that are not
+ #. present in IN_TYPE.
+-#: c-typeck.c:3688
++#: c-typeck.c:3699
+ #, gcc-internal-format
+ msgid "cast discards qualifiers from pointer target type"
+ msgstr "类型转æ¢ä¸¢å¼ƒäº†æŒ‡é’ˆç›®æ ‡ç±»åž‹çš„é™å®š"
+
+-#: c-typeck.c:3704
++#: c-typeck.c:3715
+ #, gcc-internal-format
+ msgid "cast increases required alignment of target type"
+ msgstr "类型转æ¢å¢žå¤§äº†ç›®æ ‡ç±»åž‹çš„对é½éœ€æ±‚"
+
+-#: c-typeck.c:3715
++#: c-typeck.c:3726
+ #, gcc-internal-format
+ msgid "cast from pointer to integer of different size"
+ msgstr "将一个指针转æ¢ä¸ºå¤§å°ä¸åŒçš„æ•´æ•°"
+
+-#: c-typeck.c:3719
++#: c-typeck.c:3730
+ #, gcc-internal-format
+ msgid "cast from function call of type %qT to non-matching type %qT"
+ msgstr "从类型为%qT的函数调用转æ¢åˆ°ä¸åŒ¹é…的类型%qT"
+
+-#: c-typeck.c:3727
++#: c-typeck.c:3738
+ #, gcc-internal-format
+ msgid "cast to pointer from integer of different size"
+ msgstr "将一个整数转æ¢ä¸ºå¤§å°ä¸åŒçš„指针"
+
+-#: c-typeck.c:3741
++#: c-typeck.c:3752
+ #, gcc-internal-format
+ msgid "ISO C forbids conversion of function pointer to object pointer type"
+ msgstr "ISO C ä¸å…许将一个函数指针转æ¢ä¸ºä¸€ä¸ªå¯¹è±¡æŒ‡é’ˆ"
+
+-#: c-typeck.c:3749
++#: c-typeck.c:3760
+ #, gcc-internal-format
+ msgid "ISO C forbids conversion of object pointer to function pointer type"
+ msgstr "ISO C ä¸å…许将一个对象指针转æ¢ä¸ºä¸€ä¸ªå‡½æ•°æŒ‡é’ˆ"
+
+-#: c-typeck.c:4026
++#: c-typeck.c:4037
+ #, gcc-internal-format
+ msgid "cannot pass rvalue to reference parameter"
+ msgstr "ä¸èƒ½å°†å³å€¼ä¼ é€’给引用å‚æ•°"
+
+-#: c-typeck.c:4139 c-typeck.c:4306
++#: c-typeck.c:4150 c-typeck.c:4317
+ #, gcc-internal-format
+ msgid "passing argument %d of %qE makes qualified function pointer from unqualified"
+-msgstr "ä¼ é€’å®žå‚ %d(属于%qE)从未é™å®šçš„函数指针构造了é™å®šçš„函数指针"
++msgstr "传递%2$qE的第 %1$d 个实å‚时从未é™å®šçš„函数指针构造了é™å®šçš„函数指针"
+
+-#: c-typeck.c:4142 c-typeck.c:4309
++#: c-typeck.c:4153 c-typeck.c:4320
+ #, gcc-internal-format
+ msgid "assignment makes qualified function pointer from unqualified"
+ msgstr "将未é™å®šçš„函数指针赋予é™å®šçš„函数指针"
+
+-#: c-typeck.c:4145 c-typeck.c:4311
++#: c-typeck.c:4156 c-typeck.c:4322
+ #, gcc-internal-format
+ msgid "initialization makes qualified function pointer from unqualified"
+ msgstr "返回时将未é™å®šçš„函数指针赋给é™å®šçš„函数指针"
+
+-#: c-typeck.c:4148 c-typeck.c:4313
++#: c-typeck.c:4159 c-typeck.c:4324
+ #, gcc-internal-format
+ msgid "return makes qualified function pointer from unqualified"
+ msgstr "返回时将未é™å®šçš„函数指针赋给é™å®šçš„函数指针"
+
+-#: c-typeck.c:4152 c-typeck.c:4273
++#: c-typeck.c:4163 c-typeck.c:4284
+ #, gcc-internal-format
+ msgid "passing argument %d of %qE discards qualifiers from pointer target type"
+-msgstr "ä¼ é€’å®žå‚ %d(属于%qE)丢弃了指针目标类型的é™å®š"
++msgstr "传递%2$qE的第 %1$d 个实å‚时丢弃了指针目标类型的é™å®š"
+
+-#: c-typeck.c:4154 c-typeck.c:4275
++#: c-typeck.c:4165 c-typeck.c:4286
+ #, gcc-internal-format
+ msgid "assignment discards qualifiers from pointer target type"
+ msgstr "赋值丢弃了指针目标类型的é™å®š"
+
+-#: c-typeck.c:4156 c-typeck.c:4277
++#: c-typeck.c:4167 c-typeck.c:4288
+ #, gcc-internal-format
+ msgid "initialization discards qualifiers from pointer target type"
+ msgstr "åˆå§‹åŒ–丢弃了指针目标类型的é™å®š"
+
+-#: c-typeck.c:4158 c-typeck.c:4279
++#: c-typeck.c:4169 c-typeck.c:4290
+ #, gcc-internal-format
+ msgid "return discards qualifiers from pointer target type"
+ msgstr "返回时丢弃了指针目标类型的é™å®š"
+
+-#: c-typeck.c:4165
++#: c-typeck.c:4176
+ #, gcc-internal-format
+ msgid "ISO C prohibits argument conversion to union type"
+ msgstr "ISO C ä¸å…许将实å‚转æ¢ä¸ºè”åˆ"
+
+-#: c-typeck.c:4201
++#: c-typeck.c:4212
+ #, gcc-internal-format
+ msgid "request for implicit conversion from %qT to %qT not permitted in C++"
+ msgstr "C++ 中ä¸å…许从%qT到%qTçš„éšå¼è½¬æ¢"
+
+-#: c-typeck.c:4214
++#: c-typeck.c:4225
+ #, gcc-internal-format
+ msgid "argument %d of %qE might be a candidate for a format attribute"
+-msgstr "å®žå‚ %d(属于%qE)å¯èƒ½æ˜¯ format 属性的备选"
++msgstr "%2$qE的第 %1$d 个实å‚å¯èƒ½æ˜¯ format 属性的备选"
+
+-#: c-typeck.c:4220
++#: c-typeck.c:4231
+ #, gcc-internal-format
+ msgid "assignment left-hand side might be a candidate for a format attribute"
+ msgstr "赋值的左手边å¯èƒ½æ˜¯ format 属性的备选时"
+
+-#: c-typeck.c:4225
++#: c-typeck.c:4236
+ #, gcc-internal-format
+ msgid "initialization left-hand side might be a candidate for a format attribute"
+ msgstr "åˆå§‹åŒ–的左手边å¯èƒ½æ˜¯ format 属性的备选时"
+
+-#: c-typeck.c:4230
++#: c-typeck.c:4241
+ #, gcc-internal-format
+ msgid "return type might be a candidate for a format attribute"
+ msgstr "返回类型å¯èƒ½æ˜¯ format 属性的备选"
+
+-#: c-typeck.c:4253
++#: c-typeck.c:4264
+ #, gcc-internal-format
+ msgid "ISO C forbids passing argument %d of %qE between function pointer and %<void *%>"
+-msgstr "ISO C ä¸å…è®¸å°†å®žå‚ %d(属于%qE)在函数指针和%<void *%>间传递"
++msgstr "ISO C ä¸å…许将%2$qE的第 %1$d 个实å‚在函数指针和%<void *%>间传递"
+
+-#: c-typeck.c:4256
++#: c-typeck.c:4267
+ #, gcc-internal-format
+ msgid "ISO C forbids assignment between function pointer and %<void *%>"
+ msgstr "ISO C ä¸å…许在函数指针和%<void *%>间赋值"
+
+-#: c-typeck.c:4258
++#: c-typeck.c:4269
+ #, gcc-internal-format
+ msgid "ISO C forbids initialization between function pointer and %<void *%>"
+ msgstr "ISO C ä¸å…许在函数指针和%<void *%>é—´åˆå§‹åŒ–"
+
+-#: c-typeck.c:4260
++#: c-typeck.c:4271
+ #, gcc-internal-format
+ msgid "ISO C forbids return between function pointer and %<void *%>"
+ msgstr "ISO C ä¸å…许在函数指针和%<void *%>间返回"
+
+-#: c-typeck.c:4289
++#: c-typeck.c:4300
+ #, gcc-internal-format
+ msgid "pointer targets in passing argument %d of %qE differ in signedness"
+-msgstr "传递å‚æ•° %d (属于%qE) 给指针时,目标与指针符å·ä¸ä¸€è‡´"
++msgstr "传递%2$qEçš„å‚æ•° %1$d 给指针时,目标与指针符å·ä¸ä¸€è‡´"
+
+-#: c-typeck.c:4291
++#: c-typeck.c:4302
+ #, gcc-internal-format
+ msgid "pointer targets in assignment differ in signedness"
+ msgstr "对指针赋值时目标与指针符å·ä¸ä¸€è‡´"
+
+-#: c-typeck.c:4293
++#: c-typeck.c:4304
+ #, gcc-internal-format
+ msgid "pointer targets in initialization differ in signedness"
+ msgstr "åˆå§‹åŒ–指针时目标与指针符å·ä¸ä¸€è‡´"
+
+-#: c-typeck.c:4295
++#: c-typeck.c:4306
+ #, gcc-internal-format
+ msgid "pointer targets in return differ in signedness"
+ msgstr "返回指针时目标与指针符å·ä¸ä¸€è‡´"
+
+-#: c-typeck.c:4320
++#: c-typeck.c:4331
+ #, gcc-internal-format
+ msgid "passing argument %d of %qE from incompatible pointer type"
+-msgstr "传递å‚æ•° %d (属于%qE)时在ä¸å…¼å®¹çš„指针类型间转æ¢"
++msgstr "传递%2$qE的第 %1$d 个å‚数时在ä¸å…¼å®¹çš„指针类型间转æ¢"
+
+-#: c-typeck.c:4322
++#: c-typeck.c:4333
+ #, gcc-internal-format
+ msgid "assignment from incompatible pointer type"
+ msgstr "从ä¸å…¼å®¹çš„指针类型赋值"
+
+-#: c-typeck.c:4323
++#: c-typeck.c:4334
+ #, gcc-internal-format
+ msgid "initialization from incompatible pointer type"
+ msgstr "从ä¸å…¼å®¹çš„指针类型åˆå§‹åŒ–"
+
+-#: c-typeck.c:4325
++#: c-typeck.c:4336
+ #, gcc-internal-format
+ msgid "return from incompatible pointer type"
+ msgstr "返回了ä¸å…¼å®¹çš„指针类型"
+
+-#: c-typeck.c:4342
++#: c-typeck.c:4353
+ #, gcc-internal-format
+ msgid "passing argument %d of %qE makes pointer from integer without a cast"
+-msgstr "传递å‚æ•° %d (属于%qE)时将整数赋给指针,未作类型转æ¢"
++msgstr "传递%2$qE的第 %1$d 个å‚数时将整数赋给指针,未作类型转æ¢"
+
+-#: c-typeck.c:4344
++#: c-typeck.c:4355
+ #, gcc-internal-format
+ msgid "assignment makes pointer from integer without a cast"
+ msgstr "赋值时将整数赋给指针,未作类型转æ¢"
+
+-#: c-typeck.c:4346
++#: c-typeck.c:4357
+ #, gcc-internal-format
+ msgid "initialization makes pointer from integer without a cast"
+ msgstr "åˆå§‹åŒ–时将整数赋给指针,未作类型转æ¢"
+
+-#: c-typeck.c:4348
++#: c-typeck.c:4359
+ #, gcc-internal-format
+ msgid "return makes pointer from integer without a cast"
+ msgstr "返回时将整数赋给指针,未作类型转æ¢"
+
+-#: c-typeck.c:4355
++#: c-typeck.c:4366
+ #, gcc-internal-format
+ msgid "passing argument %d of %qE makes integer from pointer without a cast"
+-msgstr "传递å‚æ•° %d (属于%qE)时将指针赋给整数,未作类型转æ¢"
++msgstr "传递%2$qE的第 %1$d 个å‚数时将指针赋给整数,未作类型转æ¢"
+
+-#: c-typeck.c:4357
++#: c-typeck.c:4368
+ #, gcc-internal-format
+ msgid "assignment makes integer from pointer without a cast"
+ msgstr "赋值时将指针赋给整数,未作类型转æ¢"
+
+-#: c-typeck.c:4359
++#: c-typeck.c:4370
+ #, gcc-internal-format
+ msgid "initialization makes integer from pointer without a cast"
+ msgstr "åˆå§‹åŒ–将指针赋给整数,未作类型转æ¢"
+
+-#: c-typeck.c:4361
++#: c-typeck.c:4372
+ #, gcc-internal-format
+ msgid "return makes integer from pointer without a cast"
+ msgstr "返回时将指针赋给整数,未作类型转æ¢"
+
+-#: c-typeck.c:4377
++#: c-typeck.c:4388
+ #, gcc-internal-format
+ msgid "incompatible types in assignment"
+ msgstr "赋值时类型ä¸å…¼å®¹"
+
+-#: c-typeck.c:4380
++#: c-typeck.c:4391
+ #, gcc-internal-format
+ msgid "incompatible types in initialization"
+ msgstr "åˆå§‹åŒ–时类型ä¸å…¼å®¹"
+
+-#: c-typeck.c:4383
++#: c-typeck.c:4394
+ #, gcc-internal-format
+ msgid "incompatible types in return"
+ msgstr "返回时类型ä¸å…¼å®¹"
+
+-#: c-typeck.c:4439
++#: c-typeck.c:4450
+ #, gcc-internal-format
+ msgid "traditional C rejects automatic aggregate initialization"
+ msgstr "传统 C ä¸æŽ¥å—自动的èšåˆåˆå§‹åŒ–"
+
+-#: c-typeck.c:4610 c-typeck.c:4625 c-typeck.c:4640
++#: c-typeck.c:4621 c-typeck.c:4636 c-typeck.c:4651
+ #, gcc-internal-format
+ msgid "(near initialization for %qs)"
+ msgstr "(在%qsçš„åˆå§‹åŒ–附近)"
+
+-#: c-typeck.c:5180 cp/decl.c:4975
++#: c-typeck.c:5191 cp/decl.c:4995
+ #, gcc-internal-format
+ msgid "opaque vector types cannot be initialized"
+ msgstr "ä¸é€æ˜Žçš„矢é‡ç±»åž‹ä¸èƒ½è¢«åˆå§‹åŒ–"
+
+-#: c-typeck.c:5803
++#: c-typeck.c:5814
+ #, gcc-internal-format
+ msgid "unknown field %qE specified in initializer"
+ msgstr "åˆå§‹å€¼è®¾å®šé¡¹é‡Œæœ‰æœªçŸ¥çš„字段%qE"
+
+-#: c-typeck.c:6703
++#: c-typeck.c:6714
+ #, gcc-internal-format
+ msgid "traditional C rejects initialization of unions"
+ msgstr "传统 C ä¸æŽ¥å—对è”åˆçš„åˆå§‹åŒ–"
+
+-#: c-typeck.c:7011
++#: c-typeck.c:7022
+ #, gcc-internal-format
+ msgid "jump into statement expression"
+ msgstr "跳转至语å¥è¡¨è¾¾å¼ä¸­"
+
+-#: c-typeck.c:7017
++#: c-typeck.c:7028
+ #, gcc-internal-format
+ msgid "jump into scope of identifier with variably modified type"
+ msgstr "跳至具有å¯å˜ç±»åž‹çš„标识符的作用域中"
+
+-#: c-typeck.c:7054
++#: c-typeck.c:7065
+ #, gcc-internal-format
+ msgid "ISO C forbids %<goto *expr;%>"
+ msgstr "ISO C++ ä¸å…许%<goto *expr;%>"
+
+-#: c-typeck.c:7069 cp/typeck.c:6592
++#: c-typeck.c:7080 cp/typeck.c:6619
+ #, gcc-internal-format
+ msgid "function declared %<noreturn%> has a %<return%> statement"
+ msgstr "被声明为%<noreturn%>的函数å´æœ‰%<return%>语å¥"
+
+-#: c-typeck.c:7077
++#: c-typeck.c:7088
+ #, gcc-internal-format
+ msgid "%<return%> with no value, in function returning non-void"
+ msgstr "在有返回值的的函数中,%<return%>ä¸å¸¦è¿”回值"
+
+-#: c-typeck.c:7086
++#: c-typeck.c:7097
+ #, gcc-internal-format
+ msgid "%<return%> with a value, in function returning void"
+ msgstr "在无返回值的函数中,%<return%>带返回值"
+
+-#: c-typeck.c:7088
++#: c-typeck.c:7099
+ #, gcc-internal-format
+ msgid "ISO C forbids %<return%> with expression, in function returning void"
+ msgstr "ISO C ä¸å…许在无返回值的函数中%<return%>带返回值"
+
+-#: c-typeck.c:7145
++#: c-typeck.c:7156
+ #, gcc-internal-format
+ msgid "function returns address of local variable"
+ msgstr "函数返回局部å˜é‡çš„地å€"
+
+-#: c-typeck.c:7217 cp/semantics.c:949
++#: c-typeck.c:7228 cp/semantics.c:952
+ #, gcc-internal-format
+ msgid "switch quantity not an integer"
+ msgstr "switch 语å¥ä¸­çš„值ä¸æ˜¯ä¸€ä¸ªæ•´æ•°"
+
+-#: c-typeck.c:7229
++#: c-typeck.c:7240
+ #, gcc-internal-format
+ msgid "%<long%> switch expression not converted to %<int%> in ISO C"
+ msgstr "在 ISO C 中,%<long%>开关表达å¼ä¸è¢«è½¬æ¢ä¸º%<int%>"
+
+-#: c-typeck.c:7269
++#: c-typeck.c:7280
+ #, gcc-internal-format
+ msgid "case label in statement expression not containing enclosing switch statement"
+ msgstr "case æ ‡å·å‡ºçŽ°åœ¨æ²¡æœ‰ switch 语å¥çš„语å¥è¡¨è¾¾å¼ä¸­"
+
+-#: c-typeck.c:7272
++#: c-typeck.c:7283
+ #, gcc-internal-format
+ msgid "%<default%> label in statement expression not containing enclosing switch statement"
+ msgstr "%<default%>æ ‡å·å‡ºçŽ°åœ¨æ²¡æœ‰ç›¸åº” switch 语å¥çš„语å¥è¡¨è¾¾å¼ä¸­"
+
+-#: c-typeck.c:7278
++#: c-typeck.c:7289
+ #, gcc-internal-format
+ msgid "case label in scope of identifier with variably modified type not containing enclosing switch statement"
+ msgstr "case æ ‡å·å‡ºçŽ°åœ¨æ²¡æœ‰åŒ…å«çš„ switch 语å¥çš„å¯å˜ç±»åž‹æ ‡è¯†ç¬¦ä½œç”¨åŸŸä¸­"
+
+-#: c-typeck.c:7281
++#: c-typeck.c:7292
+ #, gcc-internal-format
+ msgid "%<default%> label in scope of identifier with variably modified type not containing enclosing switch statement"
+ msgstr "%<default%>æ ‡å·å‡ºçŽ°åœ¨æ²¡æœ‰åŒ…å«çš„ switch 语å¥çš„å¯å˜ç±»åž‹æ ‡è¯†ç¬¦çš„作用域中"
+
+-#: c-typeck.c:7285 cp/parser.c:6804
++#: c-typeck.c:7296 cp/parser.c:6810
+ #, gcc-internal-format
+ msgid "case label not within a switch statement"
+ msgstr "case æ ‡å·å‡ºçŽ°åœ¨å¼€å…³è¯­å¥å¤–"
+
+-#: c-typeck.c:7287
++#: c-typeck.c:7298
+ #, gcc-internal-format
+ msgid "%<default%> label not within a switch statement"
+ msgstr "%<default%>æ ‡å·æœªå‡ºçŽ°åœ¨ switch 语å¥å†…"
+
+-#: c-typeck.c:7364
++#: c-typeck.c:7375
+ #, gcc-internal-format
+ msgid "%Hsuggest explicit braces to avoid ambiguous %<else%>"
+ msgstr "%H建议显å¼åœ°ä½¿ç”¨èŠ±æ‹¬å·ä»¥é¿å…出现有歧义的%<else%>"
+
+-#: c-typeck.c:7475 cp/cp-gimplify.c:97 cp/parser.c:7409
++#: c-typeck.c:7486 cp/cp-gimplify.c:97 cp/parser.c:7415
+ #, gcc-internal-format
+ msgid "break statement not within loop or switch"
+ msgstr "break 语å¥ä¸åœ¨å¾ªçŽ¯æˆ–开关语å¥å†…"
+
+-#: c-typeck.c:7477 cp/parser.c:7430
++#: c-typeck.c:7488 cp/parser.c:7436
+ #, gcc-internal-format
+ msgid "continue statement not within a loop"
+ msgstr "continue 语å¥å‡ºçŽ°åœ¨å¾ªçŽ¯ä»¥å¤–"
+
+-#: c-typeck.c:7482 cp/parser.c:7420
++#: c-typeck.c:7493 cp/parser.c:7426
+ #, gcc-internal-format
+ msgid "break statement used with OpenMP for loop"
+ msgstr "OpenMP for 循环中使用了 break 语å¥"
+
+-#: c-typeck.c:7505
++#: c-typeck.c:7516
+ #, gcc-internal-format
+ msgid "%Hstatement with no effect"
+ msgstr "%H语å¥ä¸èµ·ä½œç”¨"
+
+-#: c-typeck.c:7527
++#: c-typeck.c:7538
+ #, gcc-internal-format
+ msgid "expression statement has incomplete type"
+ msgstr "表达å¼è¯­å¥ç±»åž‹ä¸å®Œå…¨"
+
+-#: c-typeck.c:8082 cp/typeck.c:3259
++#: c-typeck.c:8093 cp/typeck.c:3301
+ #, gcc-internal-format
+ msgid "right shift count is negative"
+ msgstr "å³ç§»æ¬¡æ•°ä¸ºè´Ÿ"
+
+-#: c-typeck.c:8089 cp/typeck.c:3265
++#: c-typeck.c:8100 cp/typeck.c:3305
+ #, gcc-internal-format
+ msgid "right shift count >= width of type"
+ msgstr "å³ç§»æ¬¡æ•°å¤§äºŽæˆ–等于类型宽度"
+
+-#: c-typeck.c:8111 cp/typeck.c:3284
++#: c-typeck.c:8122 cp/typeck.c:3324
+ #, gcc-internal-format
+ msgid "left shift count is negative"
+ msgstr "左移次数为负"
+
+-#: c-typeck.c:8114 cp/typeck.c:3286
++#: c-typeck.c:8125 cp/typeck.c:3326
+ #, gcc-internal-format
+ msgid "left shift count >= width of type"
+ msgstr "左移次数大于或等于类型宽度"
+
+-#: c-typeck.c:8132 cp/typeck.c:3324
++#: c-typeck.c:8143 cp/typeck.c:3364
+ #, gcc-internal-format
+ msgid "comparing floating point with == or != is unsafe"
+ msgstr "使用 == 或 != 比较浮点数是ä¸å®‰å…¨çš„"
+
+-#: c-typeck.c:8156 c-typeck.c:8163
++#: c-typeck.c:8167 c-typeck.c:8174
+ #, gcc-internal-format
+ msgid "ISO C forbids comparison of %<void *%> with function pointer"
+ msgstr "ISO C ä¸å…许在%<void *%>和函数指针间比较"
+
+-#: c-typeck.c:8169 c-typeck.c:8227
++#: c-typeck.c:8180 c-typeck.c:8238
+ #, gcc-internal-format
+ msgid "comparison of distinct pointer types lacks a cast"
+ msgstr "比较ä¸ç›¸å…³çš„指针时缺少类型转æ¢"
+
+-#: c-typeck.c:8178 c-typeck.c:8186 cp/typeck.c:3344 cp/typeck.c:3353
++#: c-typeck.c:8189 c-typeck.c:8197 cp/typeck.c:3384 cp/typeck.c:3393
+ #, gcc-internal-format
+ msgid "the address of %qD will never be NULL"
+ msgstr "%qD的地å€æ°¸è¿œä¸ä¼šä¸º NULL"
+
+-#: c-typeck.c:8193 c-typeck.c:8198 c-typeck.c:8245 c-typeck.c:8250
++#: c-typeck.c:8204 c-typeck.c:8209 c-typeck.c:8256 c-typeck.c:8261
+ #, gcc-internal-format
+ msgid "comparison between pointer and integer"
+ msgstr "比较指针和整数"
+
+-#: c-typeck.c:8219
++#: c-typeck.c:8230
+ #, gcc-internal-format
+ msgid "comparison of complete and incomplete pointers"
+ msgstr "在完全和ä¸å®Œå…¨æŒ‡é’ˆé—´æ¯”较"
+
+-#: c-typeck.c:8222
++#: c-typeck.c:8233
+ #, gcc-internal-format
+ msgid "ISO C forbids ordered comparisons of pointers to functions"
+ msgstr "ISO C ä¸å…许函数指针间比较大å°"
+
+-#: c-typeck.c:8234 c-typeck.c:8240
++#: c-typeck.c:8245 c-typeck.c:8251
+ #, gcc-internal-format
+ msgid "ordered comparison of pointer with integer zero"
+ msgstr "指针与整数 0 比较大å°"
+
+-#: c-typeck.c:8500
++#: c-typeck.c:8511
+ #, gcc-internal-format
+ msgid "comparison between signed and unsigned"
+ msgstr "比较有符å·å’Œæ— ç¬¦å·æ•°"
+
+-#: c-typeck.c:8546 cp/typeck.c:3830
++#: c-typeck.c:8557 cp/typeck.c:3838
+ #, gcc-internal-format
+ msgid "comparison of promoted ~unsigned with constant"
+ msgstr "比较常é‡å’Œå–ååŽåˆç»æå‡çš„无符å·æ•°"
+
+-#: c-typeck.c:8554 cp/typeck.c:3838
++#: c-typeck.c:8565 cp/typeck.c:3846
+ #, gcc-internal-format
+ msgid "comparison of promoted ~unsigned with unsigned"
+ msgstr "比较无符å·æ•°å’Œå–ååŽåˆç»æå‡çš„无符å·æ•°"
+
+-#: c-typeck.c:8612
++#: c-typeck.c:8623
+ #, gcc-internal-format
+ msgid "used array that cannot be converted to pointer where scalar is required"
+ msgstr "需è¦æ ‡é‡æ—¶ä½¿ç”¨äº†ä¸èƒ½è¢«è½¬æ¢ä¸ºæŒ‡é’ˆçš„数组"
+
+-#: c-typeck.c:8616
++#: c-typeck.c:8627
+ #, gcc-internal-format
+ msgid "used struct type value where scalar is required"
+ msgstr "需è¦æ ‡é‡æ—¶ä½¿ç”¨äº†ç»“构类型"
+
+-#: c-typeck.c:8620
++#: c-typeck.c:8631
+ #, gcc-internal-format
+ msgid "used union type value where scalar is required"
+ msgstr "需è¦æ ‡é‡æ—¶ä½¿ç”¨äº†è”åˆç±»åž‹"
+
+-#: c-typeck.c:8725 cp/semantics.c:3523
++#: c-typeck.c:8736 cp/semantics.c:3555
+ #, gcc-internal-format
+ msgid "%qE has invalid type for %<reduction%>"
+ msgstr "%qE的类型对%<reduction%>无效"
+
+-#: c-typeck.c:8759 cp/semantics.c:3536
++#: c-typeck.c:8770 cp/semantics.c:3568
+ #, gcc-internal-format
+ msgid "%qE has invalid type for %<reduction(%s)%>"
+ msgstr "%qE的类型对%<reduction(%s)%>无效"
+
+-#: c-typeck.c:8775 cp/semantics.c:3546
++#: c-typeck.c:8786 cp/semantics.c:3578
+ #, gcc-internal-format
+ msgid "%qE must be %<threadprivate%> for %<copyin%>"
+ msgstr "%qE必须是%<threadprivate%>æ–¹å¯%<copyin%>"
+
+-#: c-typeck.c:8784 cp/semantics.c:3351
++#: c-typeck.c:8795 cp/semantics.c:3383
+ #, gcc-internal-format
+ msgid "%qE is not a variable in clause %qs"
+ msgstr "%qE在å­å¥%qs中ä¸æ˜¯ä¸€ä¸ªå˜é‡"
+
+-#: c-typeck.c:8791 c-typeck.c:8811 c-typeck.c:8831 cp/semantics.c:3377
+-#: cp/semantics.c:3396
++#: c-typeck.c:8802 c-typeck.c:8822 c-typeck.c:8842 cp/semantics.c:3409
++#: cp/semantics.c:3428
+ #, gcc-internal-format
+ msgid "%qE appears more than once in data clauses"
+ msgstr "%qE在数æ®å­å¥ä¸­å¤šæ¬¡å‡ºçŽ°"
+
+-#: c-typeck.c:8805 cp/semantics.c:3371
++#: c-typeck.c:8816 cp/semantics.c:3403
+ #, gcc-internal-format
+ msgid "%qE is not a variable in clause %<firstprivate%>"
+ msgstr "%qE在å­å¥%<firstprivate%>中ä¸æ˜¯ä¸€ä¸ªå˜é‡"
+
+-#: c-typeck.c:8825 cp/semantics.c:3390
++#: c-typeck.c:8836 cp/semantics.c:3422
+ #, gcc-internal-format
+ msgid "%qE is not a variable in clause %<lastprivate%>"
+ msgstr "%qE在å­å¥%<lastprivate%>中ä¸æ˜¯ä¸€ä¸ªå˜é‡"
+
+-#: c-typeck.c:8883 cp/semantics.c:3587
++#: c-typeck.c:8894 cp/semantics.c:3619
+ #, gcc-internal-format
+ msgid "%qE is predetermined %qs for %qs"
+ msgstr "%qEå¯è¢«é¢„先确定为%qs,为%qs"
+@@ -21254,12 +21232,12 @@
+ msgid "function call has aggregate value"
+ msgstr "函数调用有èšåˆç±»åž‹"
+
+-#: cfgexpand.c:1884
++#: cfgexpand.c:1887
+ #, gcc-internal-format
+ msgid "not protecting local variables: variable length buffer"
+ msgstr "没有ä¿æŠ¤å±€éƒ¨å˜é‡ï¼šå¯å˜é•¿åº¦çš„缓冲区"
+
+-#: cfgexpand.c:1887
++#: cfgexpand.c:1890
+ #, gcc-internal-format
+ msgid "not protecting function: no buffer at least %d bytes long"
+ msgstr "没有ä¿æŠ¤å‡½æ•°ï¼šæ²¡æœ‰è‡³å°‘有 %d 字节长的缓冲区"
+@@ -21277,12 +21255,12 @@
+ #: cfghooks.c:120
+ #, gcc-internal-format
+ msgid "verify_flow_info: Block %i has loop_father, but there are no loops"
+-msgstr ""
++msgstr "verify_flow_infoï¼šå— %i 有 loop_father,但å´æ²¡æœ‰å¾ªçŽ¯"
+
+ #: cfghooks.c:126
+ #, gcc-internal-format
+ msgid "verify_flow_info: Block %i lacks loop_father"
+-msgstr ""
++msgstr "verify_flow_infoï¼šå— %i 缺少 loop_father"
+
+ #: cfghooks.c:132
+ #, gcc-internal-format
+@@ -21314,7 +21292,7 @@
+ msgid "verify_flow_info: Basic block %d succ edge is corrupted"
+ msgstr ""
+
+-#: cfghooks.c:184 cfgrtl.c:1840
++#: cfghooks.c:184 cfgrtl.c:1838
+ #, gcc-internal-format
+ msgid "wrong amount of branch edges after unconditional jump %i"
+ msgstr "éžæ¡ä»¶è·³è½¬ %i 之åŽçš„分支边数ä¸å¯¹"
+@@ -21517,259 +21495,259 @@
+ #: cfgloop.c:1535
+ #, gcc-internal-format
+ msgid "Too many loop exits recorded"
+-msgstr ""
++msgstr "记录了太多的循环出å£"
+
+ #: cfgloop.c:1546
+ #, gcc-internal-format
+ msgid "%d exits recorded for loop %d (having %d exits)"
+ msgstr ""
+
+-#: cfgrtl.c:1734
++#: cfgrtl.c:1732
+ #, gcc-internal-format
+ msgid "BB_RTL flag not set for block %d"
+ msgstr ""
+
+-#: cfgrtl.c:1741
++#: cfgrtl.c:1739
+ #, gcc-internal-format
+ msgid "insn %d basic block pointer is %d, should be %d"
+ msgstr ""
+
+-#: cfgrtl.c:1752
++#: cfgrtl.c:1750
+ #, gcc-internal-format
+ msgid "insn %d in header of bb %d has non-NULL basic block"
+ msgstr ""
+
+-#: cfgrtl.c:1760
++#: cfgrtl.c:1758
+ #, gcc-internal-format
+ msgid "insn %d in footer of bb %d has non-NULL basic block"
+ msgstr ""
+
+-#: cfgrtl.c:1782
++#: cfgrtl.c:1780
+ #, gcc-internal-format
+ msgid "verify_flow_info: REG_BR_PROB does not match cfg %wi %i"
+ msgstr "verify_flow_info:REG_BR_PROB ä¸åŒ¹é… cfg %wi %i"
+
+-#: cfgrtl.c:1797
++#: cfgrtl.c:1795
+ #, gcc-internal-format
+ msgid "fallthru edge crosses section boundary (bb %i)"
+ msgstr ""
+
+-#: cfgrtl.c:1822
++#: cfgrtl.c:1820
+ #, gcc-internal-format
+ msgid "missing REG_EH_REGION note in the end of bb %i"
+ msgstr ""
+
+-#: cfgrtl.c:1830
++#: cfgrtl.c:1828
+ #, gcc-internal-format
+ msgid "too many outgoing branch edges from bb %i"
+ msgstr ""
+
+-#: cfgrtl.c:1835
++#: cfgrtl.c:1833
+ #, gcc-internal-format
+ msgid "fallthru edge after unconditional jump %i"
+ msgstr "éžæ¡ä»¶è·³è½¬ %i 之åŽçš„直通边"
+
+-#: cfgrtl.c:1846
++#: cfgrtl.c:1844
+ #, gcc-internal-format
+ msgid "wrong amount of branch edges after conditional jump %i"
+ msgstr "æ¡ä»¶è·³è½¬ %i 之åŽçš„分支边数ä¸å¯¹"
+
+-#: cfgrtl.c:1852
++#: cfgrtl.c:1850
+ #, gcc-internal-format
+ msgid "call edges for non-call insn in bb %i"
+ msgstr ""
+
+-#: cfgrtl.c:1861
++#: cfgrtl.c:1859
+ #, gcc-internal-format
+ msgid "abnormal edges for no purpose in bb %i"
+ msgstr ""
+
+-#: cfgrtl.c:1873
++#: cfgrtl.c:1871
+ #, gcc-internal-format
+ msgid "insn %d inside basic block %d but block_for_insn is NULL"
+ msgstr ""
+
+-#: cfgrtl.c:1877
+-#, fuzzy, gcc-internal-format
++#: cfgrtl.c:1875
++#, gcc-internal-format
+ msgid "insn %d inside basic block %d but block_for_insn is %i"
+-msgstr "å— %d 缺少 NOTE_INSN_BASIC_BLOCK"
++msgstr "指令 %d åœ¨åŸºæœ¬å— %d 内,但 block_for_insn å´ä¸º %i"
+
+-#: cfgrtl.c:1891 cfgrtl.c:1901
++#: cfgrtl.c:1889 cfgrtl.c:1899
+ #, gcc-internal-format
+ msgid "NOTE_INSN_BASIC_BLOCK is missing for block %d"
+ msgstr "å— %d 缺少 NOTE_INSN_BASIC_BLOCK"
+
+-#: cfgrtl.c:1914
++#: cfgrtl.c:1912
+ #, gcc-internal-format
+ msgid "NOTE_INSN_BASIC_BLOCK %d in middle of basic block %d"
+ msgstr "NOTE_INSN_BASIC_BLOCK %d åœ¨åŸºæœ¬å— %d 中间"
+
+-#: cfgrtl.c:1924
++#: cfgrtl.c:1922
+ #, gcc-internal-format
+ msgid "in basic block %d:"
+ msgstr "åœ¨åŸºæœ¬å— %d 中:"
+
+-#: cfgrtl.c:1977 cfgrtl.c:2067
+-#, fuzzy, gcc-internal-format
++#: cfgrtl.c:1975 cfgrtl.c:2065
++#, gcc-internal-format
+ msgid "insn %d outside of basic blocks has non-NULL bb field"
+-msgstr "基本å—外出现指令"
++msgstr "基本å—外指令 %d æœ‰éž NULL çš„ bb 域"
+
+-#: cfgrtl.c:1985
++#: cfgrtl.c:1983
+ #, gcc-internal-format
+ msgid "end insn %d for block %d not found in the insn stream"
+ msgstr ""
+
+-#: cfgrtl.c:1998
++#: cfgrtl.c:1996
+ #, gcc-internal-format
+ msgid "insn %d is in multiple basic blocks (%d and %d)"
+ msgstr ""
+
+-#: cfgrtl.c:2010
++#: cfgrtl.c:2008
+ #, gcc-internal-format
+ msgid "head insn %d for block %d not found in the insn stream"
+ msgstr ""
+
+-#: cfgrtl.c:2030
++#: cfgrtl.c:2028
+ #, gcc-internal-format
+ msgid "missing barrier after block %i"
+ msgstr "å— %i åŽç¼ºå°‘å±éšœ"
+
+-#: cfgrtl.c:2043
++#: cfgrtl.c:2041
+ #, gcc-internal-format
+ msgid "verify_flow_info: Incorrect blocks for fallthru %i->%i"
+ msgstr ""
+
+-#: cfgrtl.c:2052
++#: cfgrtl.c:2050
+ #, gcc-internal-format
+ msgid "verify_flow_info: Incorrect fallthru %i->%i"
+ msgstr "verify_flow_info:错误的直通边 %i->%i"
+
+-#: cfgrtl.c:2085
++#: cfgrtl.c:2083
+ #, gcc-internal-format
+ msgid "basic blocks not laid down consecutively"
+ msgstr ""
+
+-#: cfgrtl.c:2124
++#: cfgrtl.c:2122
+ #, gcc-internal-format
+ msgid "number of bb notes in insn chain (%d) != n_basic_blocks (%d)"
+ msgstr ""
+
+-#: cgraph.c:794
++#: cgraph.c:840
+ #, gcc-internal-format
+ msgid "%D renamed after being referenced in assembly"
+ msgstr "%D 在汇编中被引用åŽåˆè¢«é‡å‘½å"
+
+-#: cgraphunit.c:670
+-#, fuzzy, gcc-internal-format
++#: cgraphunit.c:675
++#, gcc-internal-format
+ msgid "aux field set for edge %s->%s"
+-msgstr "为边 %d->%d åˆå§‹åŒ– AUX 指针"
++msgstr "为边 %s->%s 设定辅助域"
+
+-#: cgraphunit.c:676
++#: cgraphunit.c:681
+ #, gcc-internal-format
+ msgid "Execution count is negative"
+ msgstr "执行次数为负"
+
+-#: cgraphunit.c:683
++#: cgraphunit.c:688
+ #, gcc-internal-format
+ msgid "caller edge count is negative"
+ msgstr "调用边计数为负"
+
+-#: cgraphunit.c:688
++#: cgraphunit.c:693
+ #, gcc-internal-format
+ msgid "caller edge frequency is negative"
+ msgstr "调用边频率为负"
+
+-#: cgraphunit.c:693
++#: cgraphunit.c:698
+ #, gcc-internal-format
+ msgid "caller edge frequency is too large"
+ msgstr "调用边频率太大"
+
+-#: cgraphunit.c:702
++#: cgraphunit.c:707
+ #, gcc-internal-format
+ msgid "inlined_to pointer is wrong"
+ msgstr "inlined_to pointer 错误"
+
+-#: cgraphunit.c:707
++#: cgraphunit.c:712
+ #, gcc-internal-format
+ msgid "multiple inline callers"
+ msgstr "多个内è”调用者"
+
+-#: cgraphunit.c:714
++#: cgraphunit.c:719
+ #, gcc-internal-format
+ msgid "inlined_to pointer set for noninline callers"
+ msgstr "为éžå†…è”的调用者设定了 inlined_to pointer"
+
+-#: cgraphunit.c:720
++#: cgraphunit.c:725
+ #, gcc-internal-format
+ msgid "inlined_to pointer is set but no predecessors found"
+ msgstr "设定了 inlined_to 指针å´æ‰¾ä¸åˆ°å‰é©±"
+
+-#: cgraphunit.c:725
++#: cgraphunit.c:730
+ #, gcc-internal-format
+ msgid "inlined_to pointer refers to itself"
+ msgstr "inlined_to pointer 指å‘自身"
+
+-#: cgraphunit.c:735
++#: cgraphunit.c:740
+ #, gcc-internal-format
+ msgid "node not found in cgraph_hash"
+ msgstr "cgraph_hash 中找ä¸åˆ°èŠ‚点"
+
+-#: cgraphunit.c:763
++#: cgraphunit.c:768
+ #, gcc-internal-format
+ msgid "shared call_stmt:"
+ msgstr "共享的 call_stmt:"
+
+-#: cgraphunit.c:770
++#: cgraphunit.c:775
+ #, gcc-internal-format
+ msgid "edge points to wrong declaration:"
+ msgstr "边指å‘错误的声明:"
+
+-#: cgraphunit.c:779
++#: cgraphunit.c:784
+ #, gcc-internal-format
+ msgid "missing callgraph edge for call stmt:"
+ msgstr ""
+
+-#: cgraphunit.c:795
++#: cgraphunit.c:800
+ #, gcc-internal-format
+ msgid "edge %s->%s has no corresponding call_stmt"
+ msgstr "边 %s->%s 没有对应的 call_stmt"
+
+-#: cgraphunit.c:807
++#: cgraphunit.c:812
+ #, gcc-internal-format
+ msgid "verify_cgraph_node failed"
+ msgstr "verify_cgraph_node 失败"
+
+-#: cgraphunit.c:909 cgraphunit.c:932
++#: cgraphunit.c:915 cgraphunit.c:938
+ #, gcc-internal-format
+ msgid "%J%<externally_visible%> attribute have effect only on public objects"
+ msgstr "%J%<externally_visible%>属性åªå¯¹å…¬å…±å¯¹è±¡æœ‰æ•ˆ"
+
+-#: cgraphunit.c:1122
++#: cgraphunit.c:1128
+ #, gcc-internal-format
+ msgid "failed to reclaim unneeded function"
+ msgstr "无法收回ä¸éœ€è¦çš„函数"
+
+-#: cgraphunit.c:1454
++#: cgraphunit.c:1460
+ #, gcc-internal-format
+ msgid "nodes with no released memory found"
+ msgstr ""
+
+-#: collect2.c:1189
++#: collect2.c:1203
+ #, gcc-internal-format
+ msgid "unknown demangling style '%s'"
+ msgstr "未知的解修饰风格‘%s’"
+
+-#: collect2.c:1512
++#: collect2.c:1526
+ #, gcc-internal-format
+ msgid "%s terminated with signal %d [%s]%s"
+ msgstr "%s ä»¥ä¿¡å· %d [%s]%s 退出。"
+
+-#: collect2.c:1530
++#: collect2.c:1544
+ #, gcc-internal-format
+ msgid "%s returned %d exit status"
+ msgstr "%s 以返回值 %d 退出"
+
+-#: collect2.c:2242
++#: collect2.c:2256
+ #, gcc-internal-format
+ msgid "cannot find 'ldd'"
+ msgstr "找ä¸åˆ°â€˜ldd’"
+@@ -21865,9 +21843,9 @@
+ msgstr "找ä¸åˆ°å‡½æ•°%qs的覆盖信æ¯"
+
+ #: coverage.c:361 coverage.c:364
+-#, fuzzy, gcc-internal-format
++#, gcc-internal-format
+ msgid "coverage mismatch for function %qs while reading counter %qs"
+-msgstr "没有找到%qsçš„æ ‡å·å®šä¹‰"
++msgstr "读å–计数%2$qs时函数%1$qs的代ç è¦†ç›–ä¸åŒ¹é…"
+
+ #: coverage.c:380
+ #, gcc-internal-format
+@@ -21924,27 +21902,27 @@
+ msgid "dominator of %d should be %d, not %d"
+ msgstr "%d 的主导者应该为 %d,而ä¸æ˜¯ %d"
+
+-#: dwarf2out.c:3634
++#: dwarf2out.c:3686
+ #, gcc-internal-format
+ msgid "DW_LOC_OP %s not implemented"
+ msgstr ""
+
+-#: emit-rtl.c:2326
++#: emit-rtl.c:2262
+ #, gcc-internal-format
+ msgid "invalid rtl sharing found in the insn"
+ msgstr "指令中有无效的 RTL 共享"
+
+-#: emit-rtl.c:2328
++#: emit-rtl.c:2264
+ #, gcc-internal-format
+ msgid "shared rtx"
+ msgstr "共享的 rtx"
+
+-#: emit-rtl.c:2330
++#: emit-rtl.c:2266
+ #, gcc-internal-format
+ msgid "internal consistency failure"
+ msgstr "内部一致性错误"
+
+-#: emit-rtl.c:3417
++#: emit-rtl.c:3365
+ #, gcc-internal-format
+ msgid "ICE: emit_insn used where emit_jump_insn needed:\n"
+ msgstr "ICEï¼šéœ€è¦ emit_jump_insn 时使用了 emit_insn used where:\n"
+@@ -22004,16 +21982,16 @@
+ msgid "verify_eh_tree failed"
+ msgstr "verify_eh_tree 失败"
+
+-#: explow.c:1281
++#: explow.c:1258
+ #, gcc-internal-format
+ msgid "stack limits not supported on this target"
+ msgstr "堆栈é™åˆ¶åœ¨æ­¤ç›®æ ‡æœºä¸Šä¸å—支æŒ"
+
+-#: expr.c:8031
++#: expr.c:8030
+ msgid "%Kcall to %qs declared with attribute error: %s"
+ msgstr "%K调用%qs,声明有错误属性:%s"
+
+-#: expr.c:8037
++#: expr.c:8036
+ msgid "%Kcall to %qs declared with attribute warning: %s"
+ msgstr "%K调用%qs,声明有警告属性:%s"
+
+@@ -22027,7 +22005,7 @@
+ msgid "large fixed-point constant implicitly truncated to fixed-point type"
+ msgstr "大定点常é‡éšå¼æˆªæ–­ä¸ºå®šç‚¹ç±»åž‹"
+
+-#: fold-const.c:992 tree-ssa-loop-niter.c:1827 tree-vrp.c:5060
++#: fold-const.c:992 tree-ssa-loop-niter.c:1827 tree-vrp.c:5076
+ #, gcc-internal-format
+ msgid "%H%s"
+ msgstr "%H%s"
+@@ -22035,79 +22013,79 @@
+ #: fold-const.c:1363
+ #, gcc-internal-format
+ msgid "assuming signed overflow does not occur when negating a division"
+-msgstr ""
++msgstr "为除法å–相åæ•°æ—¶å‡å®šæœ‰ç¬¦å·æ•°ä»Žä¸æº¢å‡º"
+
+-#: fold-const.c:3989 fold-const.c:4000
++#: fold-const.c:4003 fold-const.c:4014
+ #, gcc-internal-format
+ msgid "comparison is always %d due to width of bit-field"
+ msgstr "由于ä½æ®µå®½åº¦æ‰€é™ï¼Œæ¯”较结果永远为 %d"
+
+-#: fold-const.c:5317
++#: fold-const.c:5331
+ #, gcc-internal-format
+ msgid "assuming signed overflow does not occur when simplifying range test"
+-msgstr ""
++msgstr "简化范围检查时å‡å®šæœ‰ç¬¦å·æ•°ä»Žä¸æº¢å‡º"
+
+-#: fold-const.c:5691 fold-const.c:5706
++#: fold-const.c:5705 fold-const.c:5720
+ #, gcc-internal-format
+ msgid "comparison is always %d"
+ msgstr "比较结果始终为 %d"
+
+-#: fold-const.c:5835
++#: fold-const.c:5849
+ #, gcc-internal-format
+ msgid "%<or%> of unmatched not-equal tests is always 1"
+ msgstr "对两个ä¸åŒ¹é…çš„ä¸ç­‰æ¯”较å–%<or%>的结果总为 1"
+
+-#: fold-const.c:5840
++#: fold-const.c:5854
+ #, gcc-internal-format
+ msgid "%<and%> of mutually exclusive equal-tests is always 0"
+ msgstr "对两个互斥的相等比较å–%<and%>的结果永远是 0"
+
+-#: fold-const.c:8617
++#: fold-const.c:8641
+ #, gcc-internal-format
+ msgid "assuming signed overflow does not occur when reducing constant in comparison"
+ msgstr "在比较中归约常é‡æ—¶å‡å®šæœ‰ç¬¦å·æ•°ä»Žä¸æº¢å‡º"
+
+-#: fold-const.c:8871
++#: fold-const.c:8895
+ #, gcc-internal-format
+ msgid "assuming signed overflow does not occur when combining constants around a comparison"
+ msgstr "在比较周围组åˆå˜é‡æ—¶å‡å®šæœ‰ç¬¦å·æ•°ä»Žä¸æº¢å‡º"
+
+-#: fold-const.c:13236
++#: fold-const.c:13433
+ #, gcc-internal-format
+ msgid "fold check: original tree changed by fold"
+ msgstr ""
+
+-#: function.c:377
++#: function.c:380
+ #, gcc-internal-format
+ msgid "%Jtotal size of local objects too large"
+ msgstr "%J局部对象的总大å°å¤ªå¤§"
+
+-#: function.c:837 varasm.c:2095
++#: function.c:840 varasm.c:2095
+ #, gcc-internal-format
+ msgid "size of variable %q+D is too large"
+ msgstr "å˜é‡%q+D的大å°å¤ªå¤§"
+
+-#: function.c:1554 gimplify.c:4250
++#: function.c:1571 gimplify.c:4405
+ #, gcc-internal-format
+ msgid "impossible constraint in %<asm%>"
+ msgstr "%<asm%>中ä¸å¯èƒ½çš„约æŸ"
+
+-#: function.c:3538
++#: function.c:3557
+ #, gcc-internal-format
+ msgid "variable %q+D might be clobbered by %<longjmp%> or %<vfork%>"
+ msgstr "å˜é‡%q+D能为%<longjmp%>或%<vfork%>所篡改"
+
+-#: function.c:3559
++#: function.c:3578
+ #, gcc-internal-format
+ msgid "argument %q+D might be clobbered by %<longjmp%> or %<vfork%>"
+ msgstr "实å‚%q+Då¯èƒ½ä¸º%<longjmp%>或%<vfork%>所篡改"
+
+-#: function.c:4004
++#: function.c:4027
+ #, gcc-internal-format
+ msgid "function returns an aggregate"
+ msgstr "函数返回一个èšåˆ"
+
+-#: function.c:4401
++#: function.c:4424
+ #, gcc-internal-format
+ msgid "unused parameter %q+D"
+ msgstr "未使用的å‚æ•°%q+D"
+@@ -22132,12 +22110,12 @@
+ msgid "extraneous argument to '%s' option"
+ msgstr "‘%s’选项实å‚太多"
+
+-#: gcc.c:3987
++#: gcc.c:3981
+ #, gcc-internal-format
+ msgid "warning: -pipe ignored because -save-temps specified"
+ msgstr "警告:忽略 -pipe,因为指定了 -save-temps"
+
+-#: gcc.c:4276
++#: gcc.c:4270
+ #, gcc-internal-format
+ msgid "warning: '-x %s' after last input file has no effect"
+ msgstr "警告:出现在最åŽä¸€ä¸ªè¾“入文件åŽçš„‘-x %s’ä¸èµ·ä½œç”¨"
+@@ -22145,62 +22123,62 @@
+ #. Catch the case where a spec string contains something like
+ #. '%{foo:%*}'. i.e. there is no * in the pattern on the left
+ #. hand side of the :.
+-#: gcc.c:5314
++#: gcc.c:5308
+ #, gcc-internal-format
+ msgid "spec failure: '%%*' has not been initialized by pattern match"
+ msgstr "spec 失败:‘%%*’未ç»æ¨¡å¼åŒ¹é…åˆå§‹åŒ–"
+
+-#: gcc.c:5323
++#: gcc.c:5317
+ #, gcc-internal-format
+ msgid "warning: use of obsolete %%[ operator in specs"
+ msgstr "警告:在 specs 中使用过时的 %%[ è¿ç®—符"
+
+-#: gcc.c:5404
++#: gcc.c:5398
+ #, gcc-internal-format
+ msgid "spec failure: unrecognized spec option '%c'"
+ msgstr "spec 错误:无法识别的 spec 选项‘%c’"
+
+-#: gcc.c:6305
++#: gcc.c:6304
+ #, gcc-internal-format
+ msgid "spec failure: more than one arg to SYSROOT_SUFFIX_SPEC"
+ msgstr "spec 失败:SYSROOT_SUFFIX_SPEC å‚数多于一个"
+
+-#: gcc.c:6328
++#: gcc.c:6327
+ #, gcc-internal-format
+ msgid "spec failure: more than one arg to SYSROOT_HEADERS_SUFFIX_SPEC"
+ msgstr "spec 失败:SYSROOT_HEADERS_SUFFIX_SPEC å‚数多于一个"
+
+-#: gcc.c:6415
++#: gcc.c:6414
+ #, gcc-internal-format
+ msgid "unrecognized option '-%s'"
+ msgstr "无法识别的选项‘-%s’"
+
+-#: gcc.c:6615 gcc.c:6678
++#: gcc.c:6614 gcc.c:6677
+ #, gcc-internal-format
+ msgid "%s: %s compiler not installed on this system"
+ msgstr "%s:此系统未安装 %s 编译器"
+
+-#: gcc.c:6778
++#: gcc.c:6777
+ #, gcc-internal-format
+ msgid "%s: linker input file unused because linking not done"
+ msgstr "%s:未使用链接器输入文件,因为链接尚未完æˆ"
+
+-#: gcc.c:6818
++#: gcc.c:6817
+ #, gcc-internal-format
+ msgid "language %s not recognized"
+ msgstr "语言 %s 未能被识别"
+
+-#: gcc.c:6889
++#: gcc.c:6888
+ #, gcc-internal-format
+ msgid "%s: %s"
+ msgstr "%s:%s"
+
+-#: gcse.c:6660
++#: gcse.c:6644
+ #, gcc-internal-format
+ msgid "%s: %d basic blocks and %d edges/basic block"
+ msgstr "%s:%d 个基本å—,%d è¾¹/基本å—"
+
+-#: gcse.c:6673
++#: gcse.c:6657
+ #, gcc-internal-format
+ msgid "%s: %d basic blocks and %d registers"
+ msgstr "%s:%d 个基本å—å’Œ %d 个寄存器"
+@@ -22253,52 +22231,52 @@
+ msgid "can't write PCH fle: %m"
+ msgstr "无法写入 PCH 文件:%m"
+
+-#: gimplify.c:4139
++#: gimplify.c:4294
+ #, gcc-internal-format
+ msgid "invalid lvalue in asm output %d"
+ msgstr "汇编输出 %d 中左值无效"
+
+-#: gimplify.c:4251
++#: gimplify.c:4406
+ #, gcc-internal-format
+ msgid "non-memory input %d must stay in memory"
+ msgstr "éžå†…存输入 %d 必须在内存中"
+
+-#: gimplify.c:4264
++#: gimplify.c:4419
+ #, gcc-internal-format
+ msgid "memory input %d is not directly addressable"
+ msgstr "内存输入 %d ä¸å¯ç›´æŽ¥å¯»å€"
+
+-#: gimplify.c:4743
++#: gimplify.c:4898
+ #, gcc-internal-format
+ msgid "%qs not specified in enclosing parallel"
+ msgstr "%qs 未为在括入的并行指定"
+
+-#: gimplify.c:4745
++#: gimplify.c:4900
+ #, gcc-internal-format
+ msgid "%Henclosing parallel"
+ msgstr "%H括入并行"
+
+-#: gimplify.c:4799
++#: gimplify.c:4954
+ #, gcc-internal-format
+ msgid "iteration variable %qs should be private"
+ msgstr "迭代å˜é‡%qs应当是 private"
+
+-#: gimplify.c:4813
++#: gimplify.c:4968
+ #, gcc-internal-format
+ msgid "iteration variable %qs should not be firstprivate"
+ msgstr "迭代å˜é‡%qsä¸åº”当是 firstprivate"
+
+-#: gimplify.c:4816
++#: gimplify.c:4971
+ #, gcc-internal-format
+ msgid "iteration variable %qs should not be reduction"
+ msgstr "迭代å˜é‡%qsä¸åº”当是 reduction"
+
+-#: gimplify.c:4940
++#: gimplify.c:5095
+ #, gcc-internal-format
+ msgid "%s variable %qs is private in outer context"
+ msgstr "%s å˜é‡ %qs 在外层上下文中是ç§æœ‰çš„"
+
+-#: gimplify.c:6108
++#: gimplify.c:6281
+ #, gcc-internal-format
+ msgid "gimplification failed"
+ msgstr "gimplification 失败"
+@@ -22308,7 +22286,7 @@
+ msgid "%s cannot be used in asm here"
+ msgstr "%s ä¸èƒ½åœ¨è¿™é‡Œç”¨äºŽ asm"
+
+-#: graph.c:401 java/jcf-parse.c:1757 java/jcf-parse.c:1897 objc/objc-act.c:500
++#: graph.c:401 java/jcf-parse.c:1759 java/jcf-parse.c:1899 objc/objc-act.c:500
+ #, gcc-internal-format
+ msgid "can't open %s: %m"
+ msgstr "无法打开 %s:%m"
+@@ -22316,160 +22294,165 @@
+ #: haifa-sched.c:184
+ #, gcc-internal-format
+ msgid "fix_sched_param: unknown param: %s"
+-msgstr ""
++msgstr "fix_sched_param:未知的å‚数:%s"
+
+-#: omp-low.c:1288
++#: omp-low.c:1289
+ #, gcc-internal-format
+ msgid "work-sharing region may not be closely nested inside of work-sharing, critical, ordered or master region"
+ msgstr ""
+
+-#: omp-low.c:1304
++#: omp-low.c:1305
+ #, gcc-internal-format
+ msgid "master region may not be closely nested inside of work-sharing region"
+ msgstr ""
+
+-#: omp-low.c:1318
++#: omp-low.c:1319
+ #, gcc-internal-format
+ msgid "ordered region may not be closely nested inside of critical region"
+ msgstr ""
+
+-#: omp-low.c:1324
++#: omp-low.c:1325
+ #, gcc-internal-format
+ msgid "ordered region must be closely nested inside a loop region with an ordered clause"
+ msgstr ""
+
+-#: omp-low.c:1338
++#: omp-low.c:1339
+ #, gcc-internal-format
+ msgid "critical region may not be nested inside a critical region with the same name"
+ msgstr ""
+
+-#: omp-low.c:5050 cp/decl.c:2660 cp/parser.c:7417 cp/parser.c:7437
++#: omp-low.c:5116 cp/decl.c:2667 cp/parser.c:7423 cp/parser.c:7443
+ #, gcc-internal-format
+ msgid "invalid exit from OpenMP structured block"
+ msgstr "OpenMP 结构å—出å£æ— æ•ˆ"
+
+-#: omp-low.c:5052
++#: omp-low.c:5118
+ #, gcc-internal-format
+ msgid "invalid entry to OpenMP structured block"
+ msgstr "OpenMP 结构å—å…¥å£æ— æ•ˆ"
+
+-#: opts.c:173
++#: opts.c:165
+ #, gcc-internal-format
+ msgid "argument %qs to %<-femit-struct-debug-detailed%> not recognized"
+ msgstr "%<-femit-struct-debug-detailed%>çš„å‚æ•°%qsä¸å¯è¯†åˆ«"
+
+-#: opts.c:207
++#: opts.c:199
+ #, gcc-internal-format
+ msgid "argument %qs to %<-femit-struct-debug-detailed%> unknown"
+-msgstr ""
++msgstr "%<-femit-struct-debug-detailed%>çš„å‚æ•°%qs未知"
+
+-#: opts.c:213
++#: opts.c:205
+ #, gcc-internal-format
+ msgid "%<-femit-struct-debug-detailed=dir:...%> must allow at least as much as %<-femit-struct-debug-detailed=ind:...%>"
+-msgstr ""
++msgstr "%<-femit-struct-debug-detailed=dir:...%> 必须至少å…许 %<-femit-struct-debug-detailed=ind:...%> 所å…许的"
+
+ #. Eventually this should become a hard error IMO.
+-#: opts.c:438
++#: opts.c:430
+ #, gcc-internal-format
+ msgid "command line option \"%s\" is valid for %s but not for %s"
+ msgstr "命令行选项“%sâ€å¯¹ %s 是有效的,但对 %s 无效"
+
+-#: opts.c:492
++#: opts.c:484
+ #, gcc-internal-format
+ msgid "command line option %qs is not supported by this configuration"
+ msgstr "æ­¤é…ç½®ä¸æ”¯æŒå‘½ä»¤è¡Œé€‰é¡¹%qs"
+
+-#: opts.c:545
++#: opts.c:537
+ #, gcc-internal-format
+ msgid "missing argument to \"%s\""
+ msgstr "“%sâ€ç¼ºå°‘实å‚"
+
+-#: opts.c:555
++#: opts.c:547
+ #, gcc-internal-format
+ msgid "argument to \"%s\" should be a non-negative integer"
+ msgstr "“%sâ€çš„实å‚应该是一个éžè´Ÿæ•´æ•°"
+
+-#: opts.c:728
++#: opts.c:720
+ #, gcc-internal-format
+ msgid "unrecognized command line option \"%s\""
+ msgstr "无法识别的命令行选项“%sâ€"
+
+-#: opts.c:947
++#: opts.c:939
+ #, gcc-internal-format
+ msgid "-Wuninitialized is not supported without -O"
+ msgstr "-Wuninitialized 在未使用 -O æ—¶ä¸å—支æŒ"
+
+-#: opts.c:962
++#: opts.c:951
+ #, gcc-internal-format
++msgid "-funit-at-a-time is required for inlining of functions that are only called once"
++msgstr "内è”åªè¢«è°ƒç”¨ä¸€æ¬¡çš„å‡½æ•°éœ€è¦ -funit-at-a-time"
++
++#: opts.c:964
++#, gcc-internal-format
+ msgid "-freorder-blocks-and-partition does not work with exceptions"
+ msgstr "-freorder-blocks-and-partition ä¸èƒ½ä¸Žå¼‚常一起工作"
+
+-#: opts.c:973
++#: opts.c:975
+ #, gcc-internal-format
+ msgid "-freorder-blocks-and-partition does not support unwind info"
+ msgstr "-freorder-blocks-and-partition ä¸æ”¯æŒè§£å·ä¿¡æ¯"
+
+-#: opts.c:987
++#: opts.c:989
+ #, gcc-internal-format
+ msgid "-freorder-blocks-and-partition does not work on this architecture"
+ msgstr "-freorder-blocks-and-partition ä¸èƒ½åœ¨æ­¤æž¶æž„下工作"
+
+-#: opts.c:1263
++#: opts.c:1265
+ #, gcc-internal-format
+ msgid "unrecognized include_flags 0x%x passed to print_specific_help"
+ msgstr ""
+
+-#: opts.c:1593
++#: opts.c:1595
+ #, gcc-internal-format
+ msgid "structure alignment must be a small power of two, not %d"
+ msgstr "结构的对é½å¿…须是 2 的较å°æ¬¡æ–¹ï¼Œè€Œä¸æ˜¯ %d"
+
+-#: opts.c:1656
++#: opts.c:1658
+ #, gcc-internal-format
+ msgid "unrecognized visibility value \"%s\""
+ msgstr "无法识别的å¯è§æ€§å€¼â€œ%sâ€"
+
+-#: opts.c:1704
++#: opts.c:1706
+ #, gcc-internal-format
+ msgid "unrecognized register name \"%s\""
+ msgstr "无法识别的寄存器å“%sâ€"
+
+-#: opts.c:1728
++#: opts.c:1730
+ #, gcc-internal-format
+ msgid "unknown tls-model \"%s\""
+ msgstr "未知的 tls-model“%sâ€"
+
+-#: opts.c:1803
++#: opts.c:1807
+ #, gcc-internal-format
+ msgid "%s: --param arguments should be of the form NAME=VALUE"
+ msgstr "%s:--param 实å‚çš„å½¢å¼åº”该为“åå­—=值â€"
+
+-#: opts.c:1808
++#: opts.c:1812
+ #, gcc-internal-format
+ msgid "invalid --param value %qs"
+ msgstr "无效的 --param 值%qs"
+
+-#: opts.c:1931
++#: opts.c:1934
+ #, gcc-internal-format
+ msgid "target system does not support debug output"
+ msgstr "目标系统ä¸æ”¯æŒè°ƒè¯•è¾“出"
+
+-#: opts.c:1938
++#: opts.c:1941
+ #, gcc-internal-format
+ msgid "debug format \"%s\" conflicts with prior selection"
+ msgstr "调试格å¼â€œ%sâ€ä¸Žå…ˆå‰çš„选择冲çª"
+
+-#: opts.c:1954
++#: opts.c:1957
+ #, gcc-internal-format
+ msgid "unrecognised debug output level \"%s\""
+ msgstr "无法识别的调试输出级别“%sâ€"
+
+-#: opts.c:1956
++#: opts.c:1959
+ #, gcc-internal-format
+ msgid "debug output level %s is too high"
+ msgstr "调试输出级别 %s 太高"
+
+-#: opts.c:2038
++#: opts.c:2041
+ #, gcc-internal-format
+ msgid "-Werror=%s: No option -%s"
+ msgstr "-Werror=%s:没有选项 -%s"
+@@ -22545,9 +22528,9 @@
+ msgid "can't use '%s' as a %s register"
+ msgstr "无法将‘%s’用作 %s 寄存器"
+
+-#: regclass.c:890 config/ia64/ia64.c:5138 config/ia64/ia64.c:5145
+-#: config/pa/pa.c:359 config/pa/pa.c:366 config/spu/spu.c:3886
+-#: config/spu/spu.c:3893
++#: regclass.c:890 config/ia64/ia64.c:5139 config/ia64/ia64.c:5146
++#: config/pa/pa.c:362 config/pa/pa.c:369 config/spu/spu.c:3875
++#: config/spu/spu.c:3882
+ #, gcc-internal-format
+ msgid "unknown register name: %s"
+ msgstr "未知的寄存器å:%s"
+@@ -22587,22 +22570,22 @@
+ msgid "validate_value_data: [%u] Non-empty reg in chain (%s %u %i)"
+ msgstr ""
+
+-#: reload.c:1252
++#: reload.c:1256
+ #, gcc-internal-format
+ msgid "cannot reload integer constant operand in %<asm%>"
+ msgstr "ä¸èƒ½åœ¨%<asm%>中é‡æ–°åŠ è½½æ•´æ•°å¸¸é‡æ“作数"
+
+-#: reload.c:1266
++#: reload.c:1270
+ #, gcc-internal-format
+ msgid "impossible register constraint in %<asm%>"
+ msgstr "%<asm%>中ä¸å¯èƒ½çš„寄存器约æŸ"
+
+-#: reload.c:3564
++#: reload.c:3574
+ #, gcc-internal-format
+ msgid "%<&%> constraint used with no register class"
+ msgstr "%<&%>约æŸæœªä¸Žå¯„存器类型一起使用"
+
+-#: reload.c:3735 reload.c:3975
++#: reload.c:3745 reload.c:3991
+ #, gcc-internal-format
+ msgid "inconsistent operand constraints in an %<asm%>"
+ msgstr "%<asm%>中æ“作数约æŸä¸ä¸€è‡´"
+@@ -22827,49 +22810,49 @@
+ msgid "size of %q+D is larger than %wd bytes"
+ msgstr "%q+D的大å°è¶…过 %wd 字节"
+
+-#: stor-layout.c:899
++#: stor-layout.c:888
+ #, gcc-internal-format
+ msgid "packed attribute causes inefficient alignment for %q+D"
+ msgstr "packed 属性导致%q+D低效率的对é½"
+
+-#: stor-layout.c:902
++#: stor-layout.c:891
+ #, gcc-internal-format
+ msgid "packed attribute is unnecessary for %q+D"
+ msgstr "packed 属性对%q+Dæ¥è¯´æ˜¯ä¸éœ€è¦çš„"
+
+ #. No, we need to skip space before this field.
+ #. Bump the cumulative size to multiple of field alignment.
+-#: stor-layout.c:919
++#: stor-layout.c:908
+ #, gcc-internal-format
+ msgid "padding struct to align %q+D"
+ msgstr "填补结构以对é½%q+D"
+
+-#: stor-layout.c:1270
++#: stor-layout.c:1259
+ #, gcc-internal-format
+ msgid "padding struct size to alignment boundary"
+ msgstr "将结构大å°å¡«è¡¥åˆ°å¯¹é½è¾¹ç•Œä¸Š"
+
+-#: stor-layout.c:1300
++#: stor-layout.c:1289
+ #, gcc-internal-format
+ msgid "packed attribute causes inefficient alignment for %qs"
+ msgstr "packed 属性导致%qs低效率的对é½"
+
+-#: stor-layout.c:1304
++#: stor-layout.c:1293
+ #, gcc-internal-format
+ msgid "packed attribute is unnecessary for %qs"
+ msgstr "packed 属性对%qsæ¥è¯´æ˜¯ä¸éœ€è¦çš„"
+
+-#: stor-layout.c:1310
++#: stor-layout.c:1299
+ #, gcc-internal-format
+ msgid "packed attribute causes inefficient alignment"
+ msgstr "packed 属性导致低效率的对é½"
+
+-#: stor-layout.c:1312
++#: stor-layout.c:1301
+ #, gcc-internal-format
+ msgid "packed attribute is unnecessary"
+ msgstr "ä¸éœ€è¦ packed 属性"
+
+-#: stor-layout.c:1842
++#: stor-layout.c:1831
+ #, gcc-internal-format
+ msgid "alignment of array elements is greater than element size"
+ msgstr "数组元素的对é½è¾¹ç•Œæ¯”元素大å°è¿˜è¦å¤§"
+@@ -22954,643 +22937,653 @@
+ msgid "unrecognized gcc debugging option: %c"
+ msgstr "无法识别的 gcc 调试选项:%c"
+
+-#: toplev.c:1411
++#: toplev.c:1413
+ #, gcc-internal-format
+ msgid "can%'t open %s for writing: %m"
+ msgstr "无法打开 %s 并写入:%m"
+
+-#: toplev.c:1432
++#: toplev.c:1434
+ #, gcc-internal-format
+ msgid "-frecord-gcc-switches is not supported by the current target"
+ msgstr "-frecord-gcc-switches 在此目标机上ä¸å—支æŒ"
+
+-#: toplev.c:1745
++#: toplev.c:1747
+ #, gcc-internal-format
+ msgid "this target does not support %qs"
+ msgstr "此目标机ä¸æ”¯æŒ %qs"
+
+-#: toplev.c:1794
++#: toplev.c:1796
+ #, gcc-internal-format
+ msgid "instruction scheduling not supported on this target machine"
+ msgstr "指令调度在此目标机上ä¸å—支æŒ"
+
+-#: toplev.c:1798
++#: toplev.c:1800
+ #, gcc-internal-format
+ msgid "this target machine does not have delayed branches"
+ msgstr "此目标机没有延迟转移指令"
+
+-#: toplev.c:1812
++#: toplev.c:1814
+ #, gcc-internal-format
+ msgid "-f%sleading-underscore not supported on this target machine"
+ msgstr "-f%sleading-underscore 在此目标机上ä¸å—支æŒ"
+
+-#: toplev.c:1885
++#: toplev.c:1887
+ #, gcc-internal-format
+ msgid "target system does not support the \"%s\" debug format"
+ msgstr "目标系统ä¸æ”¯æŒâ€œ%sâ€è°ƒè¯•æ ¼å¼"
+
+-#: toplev.c:1898
++#: toplev.c:1900
+ #, gcc-internal-format
+ msgid "variable tracking requested, but useless unless producing debug info"
+ msgstr "è¦æ±‚追踪å˜é‡ï¼Œä½†è‹¥ä¸ç”Ÿæˆè°ƒè¯•ä¿¡æ¯åˆ™æ— ç”¨"
+
+-#: toplev.c:1901
++#: toplev.c:1903
+ #, gcc-internal-format
+ msgid "variable tracking requested, but not supported by this debug format"
+ msgstr "求追踪å˜é‡ï¼Œä½†ä¸ä¸ºè¿™ç§è°ƒè¯•æ ¼å¼æ‰€æ”¯æŒ"
+
+-#: toplev.c:1935
++#: toplev.c:1937
+ #, gcc-internal-format
+ msgid "can%'t open %s: %m"
+ msgstr "无法打开%s:%m"
+
+-#: toplev.c:1942
++#: toplev.c:1944
+ #, gcc-internal-format
+ msgid "-ffunction-sections not supported for this target"
+ msgstr "-ffunction-sections 在此目标机上ä¸å—支æŒ"
+
+-#: toplev.c:1947
++#: toplev.c:1949
+ #, gcc-internal-format
+ msgid "-fdata-sections not supported for this target"
+ msgstr "-fdata-sections 在此目标机上ä¸å—支æŒ"
+
+-#: toplev.c:1954
++#: toplev.c:1956
+ #, gcc-internal-format
+ msgid "-ffunction-sections disabled; it makes profiling impossible"
+ msgstr "-ffunction-sections 被ç¦ç”¨ï¼›å› æ­¤ä¸å¯èƒ½è¿›è¡Œå–æ ·"
+
+-#: toplev.c:1961
++#: toplev.c:1963
+ #, gcc-internal-format
+ msgid "-fprefetch-loop-arrays not supported for this target"
+ msgstr "-fprefetch-loop-arrays 在此目标机上ä¸å—支æŒ"
+
+-#: toplev.c:1967
++#: toplev.c:1969
+ #, gcc-internal-format
+ msgid "-fprefetch-loop-arrays not supported for this target (try -march switches)"
+ msgstr "-fprefetch-loop-arrays 在此目标机上ä¸å—支æŒ(å°è¯• -march 开关)"
+
+-#: toplev.c:1976
++#: toplev.c:1978
+ #, gcc-internal-format
+ msgid "-fprefetch-loop-arrays is not supported with -Os"
+ msgstr "-fprefetch-loop-arrays ä¸æ”¯æŒä¸Ž -Os 并用"
+
+-#: toplev.c:1983
++#: toplev.c:1985
+ #, gcc-internal-format
+ msgid "-ffunction-sections may affect debugging on some targets"
+ msgstr "-ffunction-sections 在æŸäº›ç›®æ ‡æœºä¸Šå¯èƒ½ä¼šå½±å“调试"
+
+-#: toplev.c:1999
++#: toplev.c:1996
+ #, gcc-internal-format
++msgid "-fassociative-math disabled; other options take precedence"
++msgstr "-fassociative-math 为其他选项所ç¦ç”¨"
++
++#: toplev.c:2008
++#, gcc-internal-format
+ msgid "-fstack-protector not supported for this target"
+ msgstr "-fstack-protector 在此目标机上ä¸å—支æŒ"
+
+-#: toplev.c:2012
++#: toplev.c:2021
+ #, gcc-internal-format
+-msgid "unwind tables currently requires a frame pointer for correctness"
++msgid "unwind tables currently require a frame pointer for correctness"
+ msgstr "解绕表目å‰éœ€è¦å †æ ˆæ¡†æž¶æŒ‡é’ˆæ¥ä¿è¯æ­£ç¡®æ€§"
+
+-#: toplev.c:2198
++#: toplev.c:2207
+ #, gcc-internal-format
+ msgid "error writing to %s: %m"
+ msgstr "写入 %s 时出错:%m"
+
+-#: toplev.c:2200 java/jcf-parse.c:1776
++#: toplev.c:2209 java/jcf-parse.c:1778
+ #, gcc-internal-format
+ msgid "error closing %s: %m"
+ msgstr "关闭 %s 时出错:%m"
+
+-#: tree-cfg.c:1432 tree-cfg.c:2068 tree-cfg.c:2071
++#: tree-cfg.c:1451 tree-cfg.c:2087 tree-cfg.c:2090
+ #, gcc-internal-format
+ msgid "%Hwill never be executed"
+ msgstr "%H永远ä¸ä¼šè¢«æ‰§è¡Œ"
+
+-#: tree-cfg.c:3134
++#: tree-cfg.c:3153
+ #, gcc-internal-format
+ msgid "SSA name in freelist but still referenced"
+ msgstr "SSA å在 freelist 中,å´ä»ç„¶è¢«æ领"
+
+-#: tree-cfg.c:3143
++#: tree-cfg.c:3162
+ #, gcc-internal-format
+ msgid "ASSERT_EXPR with an always-false condition"
+ msgstr ""
+
+-#: tree-cfg.c:3156
++#: tree-cfg.c:3175
+ #, gcc-internal-format
+ msgid "GIMPLE register modified with BIT_FIELD_REF"
+ msgstr ""
+
+-#: tree-cfg.c:3191
++#: tree-cfg.c:3210
+ #, gcc-internal-format
+ msgid "invariant not recomputed when ADDR_EXPR changed"
+ msgstr "ADDR_EXPR å˜åŒ–æ—¶ä¸å˜é‡æœªè¢«é‡æ–°è®¡ç®—"
+
+-#: tree-cfg.c:3197
++#: tree-cfg.c:3216
+ #, gcc-internal-format
+ msgid "constant not recomputed when ADDR_EXPR changed"
+ msgstr "ADDR_EXPR å˜åŒ–时常é‡æœªè¢«é‡æ–°è®¡ç®—"
+
+-#: tree-cfg.c:3202
++#: tree-cfg.c:3221
+ #, gcc-internal-format
+ msgid "side effects not recomputed when ADDR_EXPR changed"
+ msgstr "ADDR_EXPR å˜åŒ–时副作用未被é‡æ–°è®¡ç®—"
+
+-#: tree-cfg.c:3218
++#: tree-cfg.c:3237
+ #, gcc-internal-format
+ msgid "address taken, but ADDRESSABLE bit not set"
+ msgstr ""
+
+-#: tree-cfg.c:3228
++#: tree-cfg.c:3252
+ #, gcc-internal-format
+ msgid "non-integral used in condition"
+ msgstr "æ¡ä»¶è¡¨è¾¾å¼ä½¿ç”¨äº†éžæ•´æ•°å€¼"
+
+-#: tree-cfg.c:3233
++#: tree-cfg.c:3257
+ #, gcc-internal-format
+ msgid "invalid conditional operand"
+ msgstr "无效的æ¡ä»¶æ“作数"
+
+-#: tree-cfg.c:3285
++#: tree-cfg.c:3309
+ #, gcc-internal-format
+ msgid "invalid reference prefix"
+ msgstr "无效的引用å‰ç¼€"
+
+-#: tree-cfg.c:3296
++#: tree-cfg.c:3320
+ #, gcc-internal-format
+ msgid "invalid operand to plus/minus, type is a pointer"
+ msgstr "+/- æ“作数无效,类型为指针"
+
+-#: tree-cfg.c:3307
++#: tree-cfg.c:3331
+ #, gcc-internal-format
+ msgid "invalid operand to pointer plus, first operand is not a pointer"
+-msgstr ""
++msgstr "指数增的æ“作数无效,第一个æ“作数ä¸æ˜¯ä¸€ä¸ªæŒ‡é’ˆ"
+
+-#: tree-cfg.c:3315
++#: tree-cfg.c:3339
+ #, gcc-internal-format
+ msgid "invalid operand to pointer plus, second operand is not an integer with type of sizetype."
+-msgstr ""
++msgstr "指数增的æ“作数无效,第二个æ“作数ä¸æ˜¯ä¸€ä¸ªå…·æœ‰ sizetype 类型的整数"
+
+-#: tree-cfg.c:3382 tree-cfg.c:3798
++#: tree-cfg.c:3406 tree-cfg.c:3822
+ #, gcc-internal-format
+ msgid "invalid operand in unary expression"
+ msgstr "å•ç›®è¡¨è¾¾å¼ä¸­æ“作数无效"
+
+-#: tree-cfg.c:3392
++#: tree-cfg.c:3416
+ #, gcc-internal-format
+ msgid "type mismatch in unary expression"
+ msgstr "å•ç›®è¡¨è¾¾å¼ä¸­ç±»åž‹ä¸åŒ¹é…"
+
+-#: tree-cfg.c:3413
++#: tree-cfg.c:3437
+ #, gcc-internal-format
+ msgid "invalid operands in binary expression"
+ msgstr "二元表达å¼ä¸­æ“作数无效"
+
+-#: tree-cfg.c:3424
++#: tree-cfg.c:3448
+ #, gcc-internal-format
+ msgid "type mismatch in binary expression"
+ msgstr "二元表达å¼ä¸­ç±»åž‹ä¸åŒ¹é…"
+
+-#: tree-cfg.c:3449
++#: tree-cfg.c:3473
+ #, gcc-internal-format
+ msgid "invalid expression for min lvalue"
+ msgstr "无效的最å°å·¦å€¼è¡¨è¾¾å¼"
+
+-#: tree-cfg.c:3456
++#: tree-cfg.c:3480
+ #, gcc-internal-format
+ msgid "invalid operand in indirect reference"
+ msgstr "间接引用æ“作数无效"
+
+-#: tree-cfg.c:3463
++#: tree-cfg.c:3487
+ #, gcc-internal-format
+ msgid "type mismatch in indirect reference"
+ msgstr "间接引用类型ä¸åŒ¹é…"
+
+-#: tree-cfg.c:3491
++#: tree-cfg.c:3515
+ #, gcc-internal-format
+ msgid "invalid operands to array reference"
+ msgstr "数组引用æ“作数无效"
+
+-#: tree-cfg.c:3502
++#: tree-cfg.c:3526
+ #, gcc-internal-format
+ msgid "type mismatch in array reference"
+ msgstr "数组引用类型ä¸åŒ¹é…"
+
+-#: tree-cfg.c:3511
++#: tree-cfg.c:3535
+ #, gcc-internal-format
+ msgid "type mismatch in array range reference"
+ msgstr "数组范围引用中类型ä¸åŒ¹é…"
+
+-#: tree-cfg.c:3522
++#: tree-cfg.c:3546
+ #, gcc-internal-format
+ msgid "type mismatch in real/imagpart reference"
+ msgstr "实数/虚数引用中类型ä¸åŒ¹é…"
+
+-#: tree-cfg.c:3532
++#: tree-cfg.c:3556
+ #, gcc-internal-format
+ msgid "type mismatch in component reference"
+ msgstr "组件引用中类型ä¸åŒ¹é…"
+
+-#: tree-cfg.c:3586
++#: tree-cfg.c:3610
+ #, gcc-internal-format
+ msgid "invalid operand in conversion"
+ msgstr "转æ¢ä¸­æ“作数无效"
+
+-#: tree-cfg.c:3614
++#: tree-cfg.c:3638
+ #, gcc-internal-format
+ msgid "invalid types in nop conversion"
+ msgstr "空转æ¢ä¸­ç±»åž‹æ— æ•ˆ"
+
+-#: tree-cfg.c:3628
++#: tree-cfg.c:3652
+ #, gcc-internal-format
+ msgid "invalid operand in int to float conversion"
+ msgstr "æ•´æ•°å‘浮点转æ¢ä¸­æ“作数无效"
+
+-#: tree-cfg.c:3634
++#: tree-cfg.c:3658
+ #, gcc-internal-format
+ msgid "invalid types in conversion to floating point"
+ msgstr "å‘浮点转æ¢æ—¶ç±»åž‹æ— æ•ˆ"
+
+-#: tree-cfg.c:3647
++#: tree-cfg.c:3671
+ #, gcc-internal-format
+ msgid "invalid operand in float to int conversion"
+ msgstr "å‘整数转æ¢æ—¶æ“作数无效"
+
+-#: tree-cfg.c:3653
++#: tree-cfg.c:3677
+ #, gcc-internal-format
+ msgid "invalid types in conversion to integer"
+ msgstr "å‘整数转æ¢æ—¶ç±»åž‹æ— æ•ˆ"
+
+-#: tree-cfg.c:3667
++#: tree-cfg.c:3691
+ #, gcc-internal-format
+ msgid "invalid operands in complex expression"
+ msgstr "å¤æ•°è¡¨è¾¾å¼æ“作数无效"
+
+-#: tree-cfg.c:3680
++#: tree-cfg.c:3704
+ #, gcc-internal-format
+ msgid "type mismatch in complex expression"
+ msgstr "å¤æ•°è¡¨è¾¾å¼ç±»åž‹ä¸åŒ¹é…"
+
+-#: tree-cfg.c:3694
++#: tree-cfg.c:3718
+ #, gcc-internal-format
+ msgid "constructor not allowed for non-vector types"
+ msgstr ""
+
+-#: tree-cfg.c:3711
++#: tree-cfg.c:3735
+ #, gcc-internal-format
+ msgid "invalid operands in shift expression"
+ msgstr "移ä½è¡¨è¾¾å¼æ“作数无效"
+
+-#: tree-cfg.c:3717
++#: tree-cfg.c:3741
+ #, gcc-internal-format
+ msgid "type mismatch in shift expression"
+ msgstr "移ä½è¡¨è¾¾å¼ç±»åž‹ä¸åŒ¹é…"
+
+-#: tree-cfg.c:3735
++#: tree-cfg.c:3759
+ #, gcc-internal-format
+ msgid "invalid (pointer) operands to plus/minus"
+ msgstr "+/-(指针)æ“作数无效"
+
+-#: tree-cfg.c:3748
++#: tree-cfg.c:3772
+ #, gcc-internal-format
+ msgid "invalid operands in pointer plus expression"
+ msgstr "指针加法表达å¼æ“作数无效"
+
+-#: tree-cfg.c:3755
++#: tree-cfg.c:3779
+ #, gcc-internal-format
+ msgid "type mismatch in pointer plus expression"
+ msgstr "指针加法表达å¼ç±»åž‹ä¸åŒ¹é…"
+
+-#: tree-cfg.c:3774
++#: tree-cfg.c:3798
+ #, gcc-internal-format
+ msgid "invalid operands in conditional expression"
+ msgstr "æ¡ä»¶è¡¨è¾¾å¼æ“作数无效"
+
+-#: tree-cfg.c:3807
++#: tree-cfg.c:3831
+ #, gcc-internal-format
+ msgid "type mismatch in address expression"
+ msgstr "地å€è¡¨è¾¾å¼ç±»åž‹ä¸åŒ¹é…"
+
+-#: tree-cfg.c:3827
++#: tree-cfg.c:3851
+ #, gcc-internal-format
+ msgid "invalid operands in truth expression"
+ msgstr "真值表达å¼æ“作数无效"
+
+-#: tree-cfg.c:3836
++#: tree-cfg.c:3860
+ #, gcc-internal-format
+ msgid "type mismatch in binary truth expression"
+ msgstr "二元真值表达å¼ç±»åž‹ä¸åŒ¹é…"
+
+-#: tree-cfg.c:3852
++#: tree-cfg.c:3876
+ #, gcc-internal-format
+ msgid "invalid operand in unary not"
+ msgstr "å•ç›®éžæ“作数无效"
+
+-#: tree-cfg.c:3861
++#: tree-cfg.c:3885
+ #, gcc-internal-format
+ msgid "type mismatch in not expression"
+ msgstr "å•ç›®éžè¡¨è¾¾å¼ç±»åž‹ä¸åŒ¹é…"
+
+-#: tree-cfg.c:3900
++#: tree-cfg.c:3924
+ #, gcc-internal-format
+ msgid "invalid operands in comparison expression"
+ msgstr "比较表达å¼æ“作数无效"
+
+-#: tree-cfg.c:3917
++#: tree-cfg.c:3941
+ #, gcc-internal-format
+ msgid "type mismatch in comparison expression"
+ msgstr "比较表达å¼ç±»åž‹ä¸åŒ¹é…"
+
+-#: tree-cfg.c:3947
++#: tree-cfg.c:3971
+ #, gcc-internal-format
+ msgid "non-trivial conversion at assignment"
+ msgstr "赋值时ä¸å¹³å‡¡çš„转æ¢"
+
+-#: tree-cfg.c:3988 tree-cfg.c:4136
++#: tree-cfg.c:4012 tree-cfg.c:4160
+ #, gcc-internal-format
+ msgid "is not a valid GIMPLE statement"
+ msgstr "ä¸æ˜¯ä¸€ä¸ªæœ‰æ•ˆçš„ GIMPLE 语å¥"
+
+-#: tree-cfg.c:4015
++#: tree-cfg.c:4039
+ #, gcc-internal-format
+ msgid "invalid operand to switch statement"
+ msgstr "开关语å¥æ“作数无效"
+
+-#: tree-cfg.c:4026
++#: tree-cfg.c:4050
+ #, gcc-internal-format
+ msgid "type error in return expression"
+ msgstr "返回表达å¼ç±»åž‹é”™è¯¯"
+
+-#: tree-cfg.c:4104
++#: tree-cfg.c:4128
+ #, gcc-internal-format
+ msgid "verify_gimple failed"
+ msgstr "verify_gimple 失败"
+
+-#: tree-cfg.c:4156
++#: tree-cfg.c:4180
+ #, gcc-internal-format
+ msgid "statement marked for throw, but doesn%'t"
+-msgstr ""
++msgstr "语å¥è¢«æ ‡è®°ä¸ºæŠ›å‡ºå¼‚常,但实际上并未抛出"
+
+-#: tree-cfg.c:4161
++#: tree-cfg.c:4185
+ #, gcc-internal-format
+ msgid "statement marked for throw in middle of block"
+ msgstr ""
+
+-#: tree-cfg.c:4232
++#: tree-cfg.c:4256
+ #, gcc-internal-format
+ msgid "unexpected non-tuple"
+ msgstr "éžé¢„期的éžå…ƒç»„"
+
+-#: tree-cfg.c:4261
++#: tree-cfg.c:4285
+ #, gcc-internal-format
+ msgid "Dead STMT in EH table"
+ msgstr ""
+
+-#: tree-cfg.c:4295
++#: tree-cfg.c:4319
+ #, gcc-internal-format
+ msgid "bb_for_stmt (phi) is set to a wrong basic block"
+ msgstr ""
+
+-#: tree-cfg.c:4306
++#: tree-cfg.c:4330
+ #, gcc-internal-format
+ msgid "missing PHI def"
+ msgstr "缺少 PHI 定义"
+
+-#: tree-cfg.c:4317
++#: tree-cfg.c:4341
+ #, gcc-internal-format
+ msgid "PHI def is not a GIMPLE value"
+ msgstr ""
+
+-#: tree-cfg.c:4333 tree-cfg.c:4359
++#: tree-cfg.c:4357 tree-cfg.c:4383
+ #, gcc-internal-format
+ msgid "incorrect sharing of tree nodes"
+ msgstr "对树结节的共享ä¸æ­£ç¡®"
+
+-#: tree-cfg.c:4350
++#: tree-cfg.c:4374
+ #, gcc-internal-format
+ msgid "bb_for_stmt (stmt) is set to a wrong basic block"
+ msgstr ""
+
+-#: tree-cfg.c:4373
++#: tree-cfg.c:4397
+ #, gcc-internal-format
+ msgid "verify_stmts failed"
+ msgstr "verify_stmts 失败"
+
+-#: tree-cfg.c:4396
++#: tree-cfg.c:4420
+ #, gcc-internal-format
+ msgid "ENTRY_BLOCK has IL associated with it"
+ msgstr ""
+
+-#: tree-cfg.c:4402
++#: tree-cfg.c:4426
+ #, gcc-internal-format
+ msgid "EXIT_BLOCK has IL associated with it"
+ msgstr ""
+
+-#: tree-cfg.c:4409
++#: tree-cfg.c:4433
+ #, gcc-internal-format
+ msgid "fallthru to exit from bb %d"
+ msgstr ""
+
+-#: tree-cfg.c:4431
++#: tree-cfg.c:4455
+ #, gcc-internal-format
+ msgid "nonlocal label "
+ msgstr "éžå±€éƒ¨æ ‡å·"
+
+-#: tree-cfg.c:4440 tree-cfg.c:4450 tree-cfg.c:4475
++#: tree-cfg.c:4464 tree-cfg.c:4474 tree-cfg.c:4499
+ #, gcc-internal-format
+ msgid "label "
+ msgstr "æ ‡å·"
+
+-#: tree-cfg.c:4465
++#: tree-cfg.c:4489
+ #, gcc-internal-format
+ msgid "control flow in the middle of basic block %d"
+ msgstr "åŸºæœ¬å— %d 中出现æµç¨‹æŽ§åˆ¶"
+
+-#: tree-cfg.c:4495
++#: tree-cfg.c:4519
+ #, gcc-internal-format
+ msgid "fallthru edge after a control statement in bb %d"
+ msgstr ""
+
+-#: tree-cfg.c:4508
++#: tree-cfg.c:4532
+ #, gcc-internal-format
+ msgid "true/false edge after a non-COND_EXPR in bb %d"
+ msgstr ""
+
+-#: tree-cfg.c:4524
++#: tree-cfg.c:4548
+ #, gcc-internal-format
+ msgid "COND_EXPR with code in branches at the end of bb %d"
+ msgstr ""
+
+-#: tree-cfg.c:4538 tree-cfg.c:4560 tree-cfg.c:4573 tree-cfg.c:4644
++#: tree-cfg.c:4562 tree-cfg.c:4584 tree-cfg.c:4597 tree-cfg.c:4668
+ #, gcc-internal-format
+ msgid "wrong outgoing edge flags at end of bb %d"
+ msgstr ""
+
+-#: tree-cfg.c:4548
++#: tree-cfg.c:4572
+ #, gcc-internal-format
+ msgid "explicit goto at end of bb %d"
+ msgstr "åŸºæœ¬å— %d 末尾显å¼çš„ goto"
+
+-#: tree-cfg.c:4578
++#: tree-cfg.c:4602
+ #, gcc-internal-format
+ msgid "return edge does not point to exit in bb %d"
+ msgstr "åŸºæœ¬å— %d 中,返回边并ä¸æŒ‡å‘退出"
+
+-#: tree-cfg.c:4611
++#: tree-cfg.c:4635
+ #, gcc-internal-format
+ msgid "found default case not at end of case vector"
+ msgstr "默认 case 没有出现在 case 矢é‡æœ«å°¾"
+
+-#: tree-cfg.c:4617
++#: tree-cfg.c:4641
+ #, gcc-internal-format
+ msgid "case labels not sorted: "
+ msgstr "case æ ‡å·æœªæŽ’åºï¼š "
+
+-#: tree-cfg.c:4628
++#: tree-cfg.c:4652
+ #, gcc-internal-format
+ msgid "no default case found at end of case vector"
+ msgstr "case 矢é‡æœ«å°¾æ²¡æœ‰é»˜è®¤ case"
+
+-#: tree-cfg.c:4636
++#: tree-cfg.c:4660
+ #, gcc-internal-format
+ msgid "extra outgoing edge %d->%d"
+ msgstr "多余的出边 %d->%d"
+
+-#: tree-cfg.c:4658
++#: tree-cfg.c:4682
+ #, gcc-internal-format
+ msgid "missing edge %i->%i"
+ msgstr "缺少边 %i->%i"
+
+-#: tree-cfg.c:6941 tree-cfg.c:6945
++#: tree-cfg.c:7025 tree-cfg.c:7029
+ #, gcc-internal-format
+ msgid "%H%<noreturn%> function does return"
+ msgstr "%H%<noreturn%>函数确实会返回"
+
+-#: tree-cfg.c:6967 tree-cfg.c:6972
++#: tree-cfg.c:7051 tree-cfg.c:7056
+ #, gcc-internal-format
+ msgid "%Hcontrol reaches end of non-void function"
+ msgstr "%H在有返回值的函数中,控制æµç¨‹åˆ°è¾¾å‡½æ•°å°¾"
+
+-#: tree-cfg.c:7033
++#: tree-cfg.c:7117
+ #, gcc-internal-format
+ msgid "%Jfunction might be possible candidate for attribute %<noreturn%>"
+ msgstr "%J函数是属性%<noreturn%>å¯èƒ½çš„备选"
+
+-#: tree-dump.c:933
++#: tree-dump.c:932
+ #, gcc-internal-format
+ msgid "could not open dump file %qs: %s"
+ msgstr "无法打开转储文件%qs:%s"
+
+-#: tree-dump.c:1068
++#: tree-dump.c:1067
+ #, gcc-internal-format
+ msgid "ignoring unknown option %q.*s in %<-fdump-%s%>"
+ msgstr "忽略未知的选项%q.*s,在%<-fdump-%s%>中"
+
+-#: tree-eh.c:1788
++#: tree-eh.c:1805
+ #, gcc-internal-format
+ msgid "EH edge %i->%i is missing"
+ msgstr "缺少 EH 边 %i->%i"
+
+-#: tree-eh.c:1793
++#: tree-eh.c:1810
+ #, gcc-internal-format
+ msgid "EH edge %i->%i miss EH flag"
+ msgstr "EH 边 %i->%i 缺少 EH 标记"
+
+ #. ??? might not be mistake.
+-#: tree-eh.c:1799
++#: tree-eh.c:1816
+ #, gcc-internal-format
+ msgid "EH edge %i->%i has duplicated regions"
+ msgstr ""
+
+-#: tree-eh.c:1833
++#: tree-eh.c:1850
+ #, gcc-internal-format
+ msgid "BB %i can not throw but has EH edges"
+ msgstr ""
+
+-#: tree-eh.c:1840
++#: tree-eh.c:1857
+ #, gcc-internal-format
+ msgid "BB %i last statement has incorrectly set region"
+ msgstr ""
+
+-#: tree-eh.c:1851
++#: tree-eh.c:1868
+ #, gcc-internal-format
+ msgid "unnecessary EH edge %i->%i"
+ msgstr "ä¸éœ€è¦çš„ EH è¾¹ %i->%i"
+
+-#: tree-inline.c:1830
++#: tree-inline.c:1880
+ #, gcc-internal-format
+ msgid "function %q+F can never be inlined because it uses alloca (override using the always_inline attribute)"
+ msgstr "函数%q+F无法被内è”,因为它使用了 alloca (使用 always_inline 属性强制内è”)"
+
+-#: tree-inline.c:1842
++#: tree-inline.c:1892
+ #, gcc-internal-format
+ msgid "function %q+F can never be inlined because it uses setjmp"
+ msgstr "函数%q+F无法被内è”,因为它使用了 setjmp"
+
+-#: tree-inline.c:1856
++#: tree-inline.c:1906
+ #, gcc-internal-format
+ msgid "function %q+F can never be inlined because it uses variable argument lists"
+ msgstr "函数%q+F无法被内è”,因为它使用了å˜é•¿å®žå‚表"
+
+-#: tree-inline.c:1867
++#: tree-inline.c:1917
+ #, gcc-internal-format
+ msgid "function %q+F can never be inlined because it uses setjmp-longjmp exception handling"
+ msgstr "函数%q+F无法被内è”,因为它使用了 setjmp-longjmp 异常处ç†"
+
+-#: tree-inline.c:1874
++#: tree-inline.c:1924
+ #, gcc-internal-format
+ msgid "function %q+F can never be inlined because it uses non-local goto"
+ msgstr "函数%q+F无法被内è”,因为使用了éžå±€éƒ¨çš„ goto"
+
+-#: tree-inline.c:1885
++#: tree-inline.c:1935
+ #, gcc-internal-format
+ msgid "function %q+F can never be inlined because it uses __builtin_return or __builtin_apply_args"
+ msgstr "函数%q+F无法被内è”,因为使用了 __builtin_return 或 __builtin_apply_args"
+
+-#: tree-inline.c:1904
++#: tree-inline.c:1954
+ #, gcc-internal-format
+ msgid "function %q+F can never be inlined because it contains a computed goto"
+ msgstr "函数%q+F无法被内è”,因为包å«ä¸€ä¸ªè®¡ç®—转移"
+
+-#: tree-inline.c:1918
++#: tree-inline.c:1968
+ #, gcc-internal-format
+ msgid "function %q+F can never be inlined because it receives a non-local goto"
+ msgstr "函数%q+F无法被内è”,因为它接å—一个éžå±€éƒ¨çš„ goto"
+
+-#: tree-inline.c:1943
++#: tree-inline.c:1993
+ #, gcc-internal-format
+ msgid "function %q+F can never be inlined because it uses variable sized variables"
+ msgstr "函数%q+F无法被内è”,因为使用了å˜é•¿å˜é‡"
+
+-#: tree-inline.c:2005
++#: tree-inline.c:2015
+ #, gcc-internal-format
++msgid "function %q+F can never be inlined because it saves address of local label in a static variable"
++msgstr "函数%q+F无法被内è”,因为它在一个é™æ€å˜é‡ä¸­ä¿å­˜äº†å±€éƒ¨æ ‡å·çš„地å€"
++
++#: tree-inline.c:2091
++#, gcc-internal-format
+ msgid "function %q+F can never be inlined because it is suppressed using -fno-inline"
+ msgstr "函数%q+F无法被内è”,因为使用了 -fno-inline"
+
+-#: tree-inline.c:2019
++#: tree-inline.c:2105
+ #, gcc-internal-format
+ msgid "function %q+F can never be inlined because it uses attributes conflicting with inlining"
+ msgstr "函数%q+F无法被内è”,因为它使用了与内è”冲çªçš„属性"
+
+-#: tree-inline.c:2588 tree-inline.c:2598
++#: tree-inline.c:2674 tree-inline.c:2684
+ #, gcc-internal-format
+ msgid "inlining failed in call to %q+F: %s"
+ msgstr "调用%q+F时内è”失败:%s"
+
+-#: tree-inline.c:2589 tree-inline.c:2600
++#: tree-inline.c:2675 tree-inline.c:2686
+ #, gcc-internal-format
+ msgid "called from here"
+ msgstr "从此处调用"
+
+-#: tree-mudflap.c:860
++#: tree-mudflap.c:864
+ #, gcc-internal-format
+ msgid "mudflap checking not yet implemented for ARRAY_RANGE_REF"
+ msgstr "mudflap 尚未为 ARRAY_RANGE_REF 实现"
+
+-#: tree-mudflap.c:1044
++#: tree-mudflap.c:1050
+ #, gcc-internal-format
+ msgid "mudflap cannot track %qs in stub function"
+ msgstr "mudflap ä¸èƒ½è¿½è¸ªå ä½å‡½æ•°ä¸­çš„%qs"
+
+-#: tree-mudflap.c:1272
++#: tree-mudflap.c:1279
+ #, gcc-internal-format
+ msgid "mudflap cannot track unknown size extern %qs"
+ msgstr "mudflap ä¸èƒ½è¿½è¸ªå¤§å°æœªçŸ¥çš„外部å˜é‡%qs"
+@@ -23610,33 +23603,33 @@
+ msgid "size of return value of %q+D is larger than %wd bytes"
+ msgstr "%q+D返回值的大å°è¶…过 %wd 字节"
+
+-#: tree-outof-ssa.c:637 tree-outof-ssa.c:688 tree-ssa-coalesce.c:936
+-#: tree-ssa-coalesce.c:951 tree-ssa-coalesce.c:1163 tree-ssa-live.c:1043
++#: tree-outof-ssa.c:638 tree-outof-ssa.c:689 tree-ssa-coalesce.c:936
++#: tree-ssa-coalesce.c:951 tree-ssa-coalesce.c:1163 tree-ssa-live.c:1053
+ #, gcc-internal-format
+ msgid "SSA corruption"
+ msgstr "SSA æŸå"
+
+-#: tree-outof-ssa.c:1105
++#: tree-outof-ssa.c:1263
+ #, gcc-internal-format
+ msgid " Pending stmts not issued on PRED edge (%d, %d)\n"
+ msgstr ""
+
+-#: tree-outof-ssa.c:1111
++#: tree-outof-ssa.c:1269
+ #, gcc-internal-format
+ msgid " Pending stmts not issued on SUCC edge (%d, %d)\n"
+ msgstr ""
+
+-#: tree-outof-ssa.c:1118
++#: tree-outof-ssa.c:1276
+ #, gcc-internal-format
+ msgid " Pending stmts not issued on ENTRY edge (%d, %d)\n"
+ msgstr ""
+
+-#: tree-outof-ssa.c:1124
++#: tree-outof-ssa.c:1282
+ #, gcc-internal-format
+ msgid " Pending stmts not issued on EXIT edge (%d, %d)\n"
+ msgstr ""
+
+-#: tree-profile.c:351
++#: tree-profile.c:356
+ #, gcc-internal-format
+ msgid "unimplemented functionality"
+ msgstr "未实现的功能"
+@@ -23826,157 +23819,162 @@
+ msgid "verify_ssa failed"
+ msgstr "verify_ssa 失败"
+
+-#: tree-ssa.c:1284
++#: tree-ssa.c:1293
+ #, gcc-internal-format
+ msgid "%J%qD was declared here"
+ msgstr "%J%qD的上一个声明在此"
+
+ #. We only do data flow with SSA_NAMEs, so that's all we
+ #. can warn about.
+-#: tree-ssa.c:1302
++#: tree-ssa.c:1311
+ #, gcc-internal-format
+ msgid "%H%qD is used uninitialized in this function"
+ msgstr "%H此函数中的%qD在使用å‰æœªåˆå§‹åŒ–"
+
+-#: tree-ssa.c:1340
++#: tree-ssa.c:1349
+ #, gcc-internal-format
+ msgid "%H%qD may be used uninitialized in this function"
+ msgstr "%H此函数中的%qD在使用å‰å¯èƒ½æœªåˆå§‹åŒ–"
+
+-#: tree-vrp.c:4374
++#: tree-vrp.c:4384
+ #, gcc-internal-format
+ msgid "%Harray subscript is outside array bounds"
+ msgstr "%H数组下标越界"
+
+-#: tree-vrp.c:4388
++#: tree-vrp.c:4398
+ #, gcc-internal-format
+ msgid "%Harray subscript is above array bounds"
+ msgstr "%H数组下标å°äºŽä¸‹é™"
+
+-#: tree-vrp.c:4395
++#: tree-vrp.c:4405
+ #, gcc-internal-format
+ msgid "%Harray subscript is below array bounds"
+ msgstr "%H数组下标大于上é™"
+
+-#: tree-vrp.c:5042
++#: tree-vrp.c:5058
+ #, gcc-internal-format
+ msgid "assuming signed overflow does not occur when simplifying conditional to constant"
+-msgstr ""
++msgstr "å°†æ¡ä»¶ç®€åŒ–为常é‡æ—¶å‡å®šæœ‰ç¬¦å·æ•°ä»Žä¸æº¢å‡º"
+
+-#: tree-vrp.c:5048
++#: tree-vrp.c:5064
+ #, gcc-internal-format
+ msgid "assuming signed overflow does not occur when simplifying conditional"
+-msgstr ""
++msgstr "简化æ¡ä»¶æ—¶å‡å®šæœ‰ç¬¦å·æ•°ä»Žä¸æº¢å‡º"
+
+-#: tree.c:3951
++#: tree.c:3682
+ #, gcc-internal-format
++msgid "ignoring attributes applied to %qT after definition"
++msgstr "忽略在其定义之åŽä¸º%qT应用的属性"
++
++#: tree.c:3966
++#, gcc-internal-format
+ msgid "%q+D already declared with dllexport attribute: dllimport ignored"
+ msgstr "%q+D已被声明为具有 dllexport 属性:忽略 dllimport"
+
+-#: tree.c:3963
++#: tree.c:3978
+ #, gcc-internal-format
+ msgid "%q+D redeclared without dllimport attribute after being referenced with dll linkage"
+ msgstr "%q+Dé‡å£°æ˜Žæ—¶æ²¡æœ‰ dllimport 属性,但已被作为 dllimport 链接引用过"
+
+-#: tree.c:3979
++#: tree.c:3994
+ #, gcc-internal-format
+ msgid "%q+D redeclared without dllimport attribute: previous dllimport ignored"
+ msgstr "%q+Dé‡å£°æ˜Žæ—¶æ²¡æœ‰ dllimport 属性:忽略先å‰çš„ dllimport"
+
+-#: tree.c:4038 tree.c:4050 config/darwin.c:1458 config/arm/arm.c:3099
+-#: config/arm/arm.c:3127 config/avr/avr.c:4598 config/h8300/h8300.c:5281
+-#: config/h8300/h8300.c:5305 config/i386/i386.c:3056 config/i386/i386.c:22515
++#: tree.c:4053 tree.c:4065 config/darwin.c:1460 config/arm/arm.c:3099
++#: config/arm/arm.c:3127 config/avr/avr.c:4638 config/h8300/h8300.c:5281
++#: config/h8300/h8300.c:5305 config/i386/i386.c:3087 config/i386/i386.c:22599
+ #: config/ia64/ia64.c:586 config/m68hc11/m68hc11.c:1118
+-#: config/rs6000/rs6000.c:19657 config/sh/symbian.c:408
++#: config/rs6000/rs6000.c:19874 config/sh/symbian.c:408
+ #: config/sh/symbian.c:415
+ #, gcc-internal-format
+ msgid "%qs attribute ignored"
+ msgstr "忽略%qs属性"
+
+-#: tree.c:4066
++#: tree.c:4081
+ #, gcc-internal-format
+ msgid "inline function %q+D declared as dllimport: attribute ignored"
+ msgstr "内è”函数%q+D声明为 dllimport:忽略此属性"
+
+-#: tree.c:4074
++#: tree.c:4089
+ #, gcc-internal-format
+ msgid "function %q+D definition is marked dllimport"
+ msgstr "函数%q+D的定义被标记为 dllimport"
+
+-#: tree.c:4082 config/sh/symbian.c:430
++#: tree.c:4097 config/sh/symbian.c:430
+ #, gcc-internal-format
+ msgid "variable %q+D definition is marked dllimport"
+ msgstr "å˜é‡%q+D的定义被标记为 dllimport"
+
+-#: tree.c:4105 config/sh/symbian.c:505
++#: tree.c:4120 config/sh/symbian.c:505
+ #, gcc-internal-format
+ msgid "external linkage required for symbol %q+D because of %qs attribute"
+ msgstr "符å·%q+D需è¦å¤–部链接,因为%qs属性"
+
+-#: tree.c:4119
++#: tree.c:4134
+ #, gcc-internal-format
+ msgid "%qs implies default visibility, but %qD has already been declared with a different visibility"
+ msgstr "%qsæ„味ç€é»˜è®¤å¯è§æ€§ï¼›ä½†%qDå·²ç»è¢«å£°æ˜Žä¸ºæœ‰ä¸åŒçš„å¯è§æ€§"
+
+-#: tree.c:5632
++#: tree.c:5648
+ #, gcc-internal-format
+ msgid "arrays of functions are not meaningful"
+ msgstr "函数数组是没有æ„义的"
+
+-#: tree.c:5785
++#: tree.c:5801
+ #, gcc-internal-format
+ msgid "function return type cannot be function"
+ msgstr "函数ä¸èƒ½è¿”回函数"
+
+-#: tree.c:6802 tree.c:6887 tree.c:6948
++#: tree.c:6818 tree.c:6903 tree.c:6964
+ #, gcc-internal-format
+ msgid "tree check: %s, have %s in %s, at %s:%d"
+ msgstr "树检查:%s,得到 %s 在 %s,于 %s:%d"
+
+-#: tree.c:6839
++#: tree.c:6855
+ #, gcc-internal-format
+ msgid "tree check: expected none of %s, have %s in %s, at %s:%d"
+ msgstr "树检查:ä¸éœ€è¦ %s,得到 %s 在 %s,于 %s:%d"
+
+-#: tree.c:6852
++#: tree.c:6868
+ #, gcc-internal-format
+ msgid "tree check: expected class %qs, have %qs (%s) in %s, at %s:%d"
+ msgstr "树检查:需è¦ç±»%qs,得到%qs(%s) 在 %s,于 %s:%d"
+
+-#: tree.c:6901
++#: tree.c:6917
+ #, gcc-internal-format
+ msgid "tree check: did not expect class %qs, have %qs (%s) in %s, at %s:%d"
+ msgstr "树检查:ä¸éœ€è¦ç±»%qs,得到%qs(%s) 在 %s,于 %s:%d"
+
+-#: tree.c:6914
++#: tree.c:6930
+ #, gcc-internal-format
+ msgid "tree check: expected omp_clause %s, have %s in %s, at %s:%d"
+ msgstr "æ ‘æ£€æŸ¥ï¼šéœ€è¦ omp_clause %s,得到 %s 在 %s,于 %s:%d"
+
+-#: tree.c:6974
++#: tree.c:6990
+ #, gcc-internal-format
+ msgid "tree check: expected tree that contains %qs structure, have %qs in %s, at %s:%d"
+ msgstr "树检查:需è¦åŒ…å«%qs结构的树,得到%qs在 %s,于 %s:%d"
+
+-#: tree.c:6988
++#: tree.c:7004
+ #, gcc-internal-format
+ msgid "tree check: accessed elt %d of tree_vec with %d elts in %s, at %s:%d"
+ msgstr ""
+
+-#: tree.c:7000
++#: tree.c:7016
+ #, gcc-internal-format
+ msgid "tree check: accessed elt %d of phi_node with %d elts in %s, at %s:%d"
+ msgstr ""
+
+-#: tree.c:7013
++#: tree.c:7029
+ #, gcc-internal-format
+ msgid "tree check: accessed operand %d of %s with %d operands in %s, at %s:%d"
+ msgstr ""
+
+-#: tree.c:7026
++#: tree.c:7042
+ #, gcc-internal-format
+ msgid "tree check: accessed operand %d of omp_clause %s with %d operands in %s, at %s:%d"
+-msgstr "树检查:访问æ“作数 %d(属于 omp_clause %s)与 %d 个æ“作数在 %s,于 %s:%d"
++msgstr "树检查:在 %4$s 中访问有 %3$d 个æ“作数的 omp_clause %2$s 的第 %1$d 个æ“作数,于 %5$s:%6$d"
+
+ #: value-prof.c:351
+ #, gcc-internal-format
+@@ -24225,17 +24223,17 @@
+ msgid "Unknown value %qs of -mmacosx-version-min"
+ msgstr "-mmacosx-version-min 的值%qs未知"
+
+-#: config/darwin.c:1431
++#: config/darwin.c:1433
+ #, gcc-internal-format
+ msgid "%<%s%> 2.95 vtable-compatibility attribute applies only when compiling a kext"
+ msgstr "%<%s%>2.95 虚表兼容属性åªåœ¨ç¼–译内核扩展时有效"
+
+-#: config/darwin.c:1438
++#: config/darwin.c:1440
+ #, gcc-internal-format
+ msgid "%<%s%> 2.95 vtable-compatibility attribute applies only to C++ classes"
+ msgstr "%<%s%>2.95 虚表兼容属性åªå¯¹ C++ 类有效"
+
+-#: config/darwin.c:1563
++#: config/darwin.c:1565
+ #, gcc-internal-format
+ msgid "internal and protected visibility attributes not supported in this configuration; ignored"
+ msgstr "内部和ä¿æŠ¤çš„å¯è§æ€§å±žæ€§åœ¨æ­¤é…置下ä¸å—支æŒï¼›å·²å¿½ç•¥"
+@@ -24331,7 +24329,7 @@
+ msgid "profiler support for WindISS"
+ msgstr "对 WindISS çš„å–样支æŒ"
+
+-#: config/alpha/alpha.c:232 config/rs6000/rs6000.c:1990
++#: config/alpha/alpha.c:232 config/rs6000/rs6000.c:2020
+ #, gcc-internal-format
+ msgid "bad value %qs for -mtls-size switch"
+ msgstr "-mtls-size 开关的值%qsä¸æ­£ç¡®"
+@@ -24406,18 +24404,18 @@
+ msgid "bad value %qs for -mmemory-latency"
+ msgstr "-mmemory-latency 开关的值%qs错误"
+
+-#: config/alpha/alpha.c:6514 config/alpha/alpha.c:6517 config/s390/s390.c:8279
+-#: config/s390/s390.c:8282
++#: config/alpha/alpha.c:6522 config/alpha/alpha.c:6525 config/s390/s390.c:8335
++#: config/s390/s390.c:8338
+ #, gcc-internal-format
+ msgid "bad builtin fcode"
+ msgstr "错误的内建 fcode"
+
+-#: config/arc/arc.c:388
++#: config/arc/arc.c:392
+ #, gcc-internal-format
+ msgid "argument of %qs attribute is not a string constant"
+ msgstr "%qs属性的实å‚ä¸æ˜¯ä¸€ä¸ªå­—符串常é‡"
+
+-#: config/arc/arc.c:396
++#: config/arc/arc.c:400
+ #, gcc-internal-format
+ msgid "argument of %qs attribute is not \"ilink1\" or \"ilink2\""
+ msgstr "%qs属性的实å‚ä¸æ˜¯â€œilink1â€æˆ–“ilink2â€"
+@@ -24427,10 +24425,10 @@
+ msgid "switch -mcpu=%s conflicts with -march= switch"
+ msgstr "开关 -mcpu=%s 与 -march= 开关冲çª"
+
+-#: config/arm/arm.c:1060 config/rs6000/rs6000.c:1504 config/sparc/sparc.c:761
++#: config/arm/arm.c:1060 config/rs6000/rs6000.c:1522 config/sparc/sparc.c:764
+ #, gcc-internal-format
+ msgid "bad value (%s) for %s switch"
+-msgstr "开关的å‚æ•°(%s,属于开关%s)ä¸æ­£ç¡®"
++msgstr "开关%2$sçš„å‚æ•°%1$sä¸æ­£ç¡®"
+
+ #: config/arm/arm.c:1170
+ #, gcc-internal-format
+@@ -24567,14 +24565,13 @@
+ msgid "unable to use '%s' for PIC register"
+ msgstr "‘%s’ä¸èƒ½è¢«ç”¨ä½œ PIC 寄存器"
+
+-#: config/arm/arm.c:3067 config/arm/arm.c:3085 config/avr/avr.c:4618
+-#: config/avr/avr.c:4660 config/bfin/bfin.c:4778 config/c4x/c4x.c:4071
+-#: config/h8300/h8300.c:5257 config/i386/i386.c:3009
+-#: config/m68hc11/m68hc11.c:1155 config/m68k/m68k.c:741
+-#: config/mcore/mcore.c:3032 config/mips/mips.c:1151 config/mips/mips.c:1153
+-#: config/mt/mt.c:1275 config/rs6000/rs6000.c:19583 config/sh/sh.c:7984
+-#: config/sh/sh.c:8005 config/sh/sh.c:8028 config/stormy16/stormy16.c:2252
+-#: config/v850/v850.c:2048
++#: config/arm/arm.c:3067 config/arm/arm.c:3085 config/avr/avr.c:4658
++#: config/avr/avr.c:4700 config/bfin/bfin.c:4881 config/h8300/h8300.c:5257
++#: config/i386/i386.c:3040 config/m68hc11/m68hc11.c:1155
++#: config/m68k/m68k.c:741 config/mcore/mcore.c:3032 config/mips/mips.c:1151
++#: config/mips/mips.c:1153 config/mt/mt.c:1275 config/rs6000/rs6000.c:19800
++#: config/sh/sh.c:7987 config/sh/sh.c:8008 config/sh/sh.c:8031
++#: config/stormy16/stormy16.c:2225 config/v850/v850.c:2048
+ #, gcc-internal-format
+ msgid "%qs attribute only applies to functions"
+ msgstr "%qs属性åªèƒ½åº”用于函数"
+@@ -24596,7 +24593,7 @@
+ msgstr "选择å­å¿…须是立å³æ•°"
+
+ #. @@@ better error message
+-#: config/arm/arm.c:15839 config/i386/i386.c:20651 config/i386/i386.c:20685
++#: config/arm/arm.c:15839 config/i386/i386.c:20735 config/i386/i386.c:20769
+ #, gcc-internal-format
+ msgid "mask must be an immediate"
+ msgstr "掩ç å¿…须是一个立å³æ•°"
+@@ -24621,222 +24618,187 @@
+ msgid "static variable %q+D is marked dllimport"
+ msgstr "ç»åˆå§‹åŒ–çš„å˜é‡%q+D被标记为 dllimport"
+
+-#: config/avr/avr.c:690
++#: config/avr/avr.c:718
+ #, gcc-internal-format
+ msgid "large frame pointer change (%d) with -mtiny-stack"
+ msgstr "框架指针å‘生大的改å˜(%d),但å´æŒ‡å®šäº† -mtiny-stack"
+
+-#: config/avr/avr.c:4591
++#: config/avr/avr.c:4631
+ #, gcc-internal-format
+ msgid "only initialized variables can be placed into program memory area"
+ msgstr "åªæœ‰åˆå§‹åŒ–çš„å˜é‡æ‰èƒ½æ”¾å…¥ç¨‹åºå†…存区"
+
+-#: config/avr/avr.c:4635
++#: config/avr/avr.c:4675
+ #, gcc-internal-format
+ msgid "%qs appears to be a misspelled interrupt handler"
+ msgstr "%qs似乎是一个拼写错的中断处ç†è€…"
+
+-#: config/avr/avr.c:4643
++#: config/avr/avr.c:4683
+ #, gcc-internal-format
+ msgid "%qs appears to be a misspelled signal handler"
+ msgstr "%qs似乎是一个拼写错的信å·å¤„ç†è€…"
+
+-#: config/avr/avr.c:4751
++#: config/avr/avr.c:4791
+ #, gcc-internal-format
+ msgid "only uninitialized variables can be placed in the .noinit section"
+ msgstr "åªæœ‰æœªåˆå§‹åŒ–çš„å˜é‡æ‰èƒ½æ”¾åœ¨ .noinit 节中"
+
+-#: config/avr/avr.c:4765
++#: config/avr/avr.c:4805
+ #, gcc-internal-format
+ msgid "MCU %qs supported for assembler only"
+ msgstr "MCU%qsåªæ”¯æŒæ±‡ç¼–器"
+
+-#: config/avr/avr.h:692
++#: config/avr/avr.h:731
+ #, gcc-internal-format
+ msgid "trampolines not supported"
+ msgstr "ä¸æ”¯æŒè¹¦åºŠ"
+
+-#: config/bfin/bfin.c:2259 config/m68k/m68k.c:488
++#: config/bfin/bfin.c:2352 config/m68k/m68k.c:488
+ #, gcc-internal-format
+ msgid "-mshared-library-id=%s is not between 0 and %d"
+ msgstr "-mshared-library-id=%s ä¸åœ¨ 0 å’Œ %d 之间"
+
+-#: config/bfin/bfin.c:2279
++#: config/bfin/bfin.c:2372
+ #, gcc-internal-format
+ msgid "-mcpu=%s is not valid"
+ msgstr "-mcpu=%s 无效"
+
+-#: config/bfin/bfin.c:2315
++#: config/bfin/bfin.c:2410
+ #, gcc-internal-format
+ msgid "-mcpu=%s has invalid silicon revision"
+ msgstr "-mcpu=%s 芯片版本ä¸æ­£ç¡®"
+
+-#: config/bfin/bfin.c:2332
++#: config/bfin/bfin.c:2427
+ #, gcc-internal-format
+ msgid "bf561 support is incomplete yet."
+ msgstr "对 bf561 的支æŒå°šä¸å®Œå…¨ã€‚"
+
+-#: config/bfin/bfin.c:2372
++#: config/bfin/bfin.c:2470
+ #, gcc-internal-format
+ msgid "-mshared-library-id= specified without -mid-shared-library"
+ msgstr "指定了 -mshared-library-id= å´æ²¡æœ‰ä½¿ç”¨ -mid-shared-library"
+
+-#: config/bfin/bfin.c:2378
++#: config/bfin/bfin.c:2473
+ #, gcc-internal-format
+ msgid "Can't use multiple stack checking methods together."
+ msgstr "ä¸èƒ½åŒæ—¶ä½¿ç”¨å¤šä¸ªå †æ ˆæ£€æŸ¥æ–¹æ³•ã€‚"
+
+-#: config/bfin/bfin.c:2381
++#: config/bfin/bfin.c:2476
+ #, gcc-internal-format
+ msgid "ID shared libraries and FD-PIC mode can't be used together."
+ msgstr "ID 共享库和 FD-PIC 模å¼ä¸èƒ½ä¸€èµ·ä½¿ç”¨"
+
+-#: config/bfin/bfin.c:2386 config/m68k/m68k.c:582
++#: config/bfin/bfin.c:2481 config/m68k/m68k.c:582
+ #, gcc-internal-format
+ msgid "cannot specify both -msep-data and -mid-shared-library"
+ msgstr "ä¸èƒ½åŒæ—¶æŒ‡å®š -msep-data å’Œ -mid-shared-library"
+
+-#: config/bfin/bfin.c:4783
++#: config/bfin/bfin.c:4886
+ #, gcc-internal-format
+ msgid "multiple function type attributes specified"
+ msgstr "指定了多个函数类型属性"
+
+-#: config/bfin/bfin.c:4839 config/bfin/bfin.c:4868 config/spu/spu.c:2976
++#: config/bfin/bfin.c:4942 config/bfin/bfin.c:4971 config/spu/spu.c:2965
+ #, gcc-internal-format
+ msgid "`%s' attribute only applies to functions"
+ msgstr "‘%s’属性åªèƒ½ç”¨äºŽå‡½æ•°"
+
+-#: config/bfin/bfin.c:4850
++#: config/bfin/bfin.c:4953
+ #, gcc-internal-format
+ msgid "can't apply both longcall and shortcall attributes to the same function"
+ msgstr "åŒä¸€ä¸ªå‡½æ•°ä¸èƒ½æ—¢æœ‰ longcall åˆæœ‰ shortcall 属性"
+
+-#: config/bfin/bfin.c:4900
++#: config/bfin/bfin.c:5003
+ #, gcc-internal-format
+ msgid "`%s' attribute only applies to variables"
+ msgstr "‘%s’属性åªèƒ½ä¸ºå˜é‡ä½¿ç”¨"
+
+-#: config/bfin/bfin.c:4907
++#: config/bfin/bfin.c:5010
+ #, gcc-internal-format
+ msgid "`%s' attribute cannot be specified for local variables"
+ msgstr "ä¸èƒ½ä¸ºå±€éƒ¨å˜é‡æŒ‡å®šâ€˜%s’属性"
+
+-#: config/c4x/c4x-c.c:68
+-#, gcc-internal-format
+-msgid "missing '(' after '#pragma %s' - ignored"
+-msgstr "‘#pragma %s’åŽç¼ºå°‘‘(’ - 已忽略"
+-
+-#: config/c4x/c4x-c.c:71
+-#, gcc-internal-format
+-msgid "missing function name in '#pragma %s' - ignored"
+-msgstr "‘#pragma %s’中缺少函数å,忽略"
+-
+-#: config/c4x/c4x-c.c:76
+-#, gcc-internal-format
+-msgid "malformed '#pragma %s' - ignored"
+-msgstr "‘#pragma %s’格å¼é”™è¯¯ - 已忽略"
+-
+-#: config/c4x/c4x-c.c:78
+-#, gcc-internal-format
+-msgid "missing section name in '#pragma %s' - ignored"
+-msgstr "‘#pragma %s’中缺少节å,忽略"
+-
+-#: config/c4x/c4x-c.c:83
+-#, gcc-internal-format
+-msgid "missing ')' for '#pragma %s' - ignored"
+-msgstr "‘#pragma %s’缺少‘(’ - 已忽略"
+-
+-#: config/c4x/c4x-c.c:86
+-#, gcc-internal-format
+-msgid "junk at end of '#pragma %s'"
+-msgstr "‘#pragma %s’末尾有垃圾字符"
+-
+-#: config/c4x/c4x.c:859
+-#, gcc-internal-format
+-msgid "ISR %s requires %d words of local vars, max is 32767"
+-msgstr "ISR %s éœ€è¦ %d 字大å°çš„局部å˜é‡ï¼Œæœ€å¤§å€¼ä¸º 32767"
+-
+ #. This function is for retrieving a part of an instruction name for
+ #. an operator, for immediate output. If that ever happens for
+ #. MULT, we need to apply TARGET_MUL_BUG in the caller. Make sure
+ #. we notice.
+-#: config/cris/cris.c:434
++#: config/cris/cris.c:447
+ #, gcc-internal-format
+ msgid "MULT case in cris_op_str"
+ msgstr "cris_op_str 中的 MULT 实例"
+
+-#: config/cris/cris.c:811
++#: config/cris/cris.c:837
+ #, gcc-internal-format
+ msgid "invalid use of ':' modifier"
+ msgstr "错误地使用了‘:’修饰符"
+
+-#: config/cris/cris.c:983
++#: config/cris/cris.c:1024
+ #, gcc-internal-format
+ msgid "internal error: bad register: %d"
+ msgstr "内部错误:错误的寄存器:%dt"
+
+-#: config/cris/cris.c:1524
++#: config/cris/cris.c:1586
+ #, gcc-internal-format
+ msgid "internal error: sideeffect-insn affecting main effect"
+-msgstr ""
++msgstr "内部错误:副作用指令影å“到主è¦ä½œç”¨"
+
+-#: config/cris/cris.c:1548
++#: config/cris/cris.c:1683
+ #, gcc-internal-format
+ msgid "unknown cc_attr value"
+ msgstr "未知的 cc_attr 值"
+
+ #. If we get here, the caller got its initial tests wrong.
+-#: config/cris/cris.c:1901
++#: config/cris/cris.c:2040
+ #, gcc-internal-format
+ msgid "internal error: cris_side_effect_mode_ok with bad operands"
+ msgstr ""
+
+-#: config/cris/cris.c:2104
++#: config/cris/cris.c:2332
+ #, gcc-internal-format
+ msgid "-max-stackframe=%d is not usable, not between 0 and %d"
+ msgstr "-max-stackframe=%d ä¸å¯ç”¨ï¼Œä¸åœ¨ 0 å’Œ %d 之间"
+
+-#: config/cris/cris.c:2132
++#: config/cris/cris.c:2360
+ #, gcc-internal-format
+ msgid "unknown CRIS version specification in -march= or -mcpu= : %s"
+ msgstr "-march= 或 -mcpu= 中未知的 CRIS CPU 版本设定:%s"
+
+-#: config/cris/cris.c:2168
++#: config/cris/cris.c:2396
+ #, gcc-internal-format
+ msgid "unknown CRIS cpu version specification in -mtune= : %s"
+ msgstr "-mtune= 中未知的 CRIS CPU 版本设定:%s"
+
+-#: config/cris/cris.c:2186
++#: config/cris/cris.c:2417
+ #, gcc-internal-format
+ msgid "-fPIC and -fpic are not supported in this configuration"
+ msgstr "-fPIC å’Œ -fpic 在此é…置下ä¸å—支æŒ"
+
+-#: config/cris/cris.c:2201
++#: config/cris/cris.c:2432
+ #, gcc-internal-format
+ msgid "that particular -g option is invalid with -maout and -melinux"
+ msgstr "此 -g 选项与 -maout 和 -melinux 并用时无效"
+
+-#: config/cris/cris.c:2414
++#: config/cris/cris.c:2658
+ #, gcc-internal-format
+ msgid "Unknown src"
+ msgstr "未知æº"
+
+-#: config/cris/cris.c:2475
++#: config/cris/cris.c:2719
+ #, gcc-internal-format
+ msgid "Unknown dest"
+ msgstr "未知目标"
+
+-#: config/cris/cris.c:2760
++#: config/cris/cris.c:3004
+ #, gcc-internal-format
+ msgid "stackframe too big: %d bytes"
+ msgstr "堆栈框架太大:%d 字节"
+
+-#: config/cris/cris.c:3213 config/cris/cris.c:3240
++#: config/cris/cris.c:3498 config/cris/cris.c:3526
+ #, gcc-internal-format
+ msgid "expand_binop failed in movsi got"
+ msgstr ""
+
+-#: config/cris/cris.c:3321
++#: config/cris/cris.c:3607
+ #, gcc-internal-format
+ msgid "emitting PIC operand, but PIC register isn't set up"
+ msgstr "ç”Ÿæˆ PIC æ“作数,但尚未设置 PIC 寄存器"
+@@ -24890,7 +24852,7 @@
+ #. See cris.c for TARGET_ASM_FUNCTION_PROLOGUE and
+ #. TARGET_ASM_FUNCTION_EPILOGUE.
+ #. Node: Profiling
+-#: config/cris/cris.h:868
++#: config/cris/cris.h:948
+ #, gcc-internal-format
+ msgid "no FUNCTION_PROFILER for CRIS"
+ msgstr "CRIS 没有 FUNCTION_PROFILER"
+@@ -24905,62 +24867,62 @@
+ msgid "Trampoline support for CRX"
+ msgstr "对 CRX 的蹦床支æŒ"
+
+-#: config/frv/frv.c:8622
++#: config/frv/frv.c:8626
+ #, gcc-internal-format
+ msgid "accumulator is not a constant integer"
+ msgstr "累加数ä¸æ˜¯ä¸€ä¸ªæ•´å¸¸é‡"
+
+-#: config/frv/frv.c:8627
++#: config/frv/frv.c:8631
+ #, gcc-internal-format
+ msgid "accumulator number is out of bounds"
+ msgstr "累加器个数越界"
+
+-#: config/frv/frv.c:8638
++#: config/frv/frv.c:8642
+ #, gcc-internal-format
+ msgid "inappropriate accumulator for %qs"
+ msgstr "%qs的累加器ä¸åˆé€‚"
+
+-#: config/frv/frv.c:8715
++#: config/frv/frv.c:8719
+ #, gcc-internal-format
+ msgid "invalid IACC argument"
+ msgstr "无效的 IACC 实å‚"
+
+-#: config/frv/frv.c:8738
++#: config/frv/frv.c:8742
+ #, gcc-internal-format
+ msgid "%qs expects a constant argument"
+ msgstr "%qs需è¦ä¸€ä¸ªå¸¸é‡å®žå‚"
+
+-#: config/frv/frv.c:8743
++#: config/frv/frv.c:8747
+ #, gcc-internal-format
+ msgid "constant argument out of range for %qs"
+ msgstr "常é‡å®žå‚超过%qs的范围"
+
+-#: config/frv/frv.c:9224
++#: config/frv/frv.c:9228
+ #, gcc-internal-format
+ msgid "media functions are not available unless -mmedia is used"
+ msgstr "多媒体函数åªåœ¨ä½¿ç”¨-mmedia 的情况下å¯ç”¨"
+
+-#: config/frv/frv.c:9236
++#: config/frv/frv.c:9240
+ #, gcc-internal-format
+ msgid "this media function is only available on the fr500"
+ msgstr "此多媒体函数åªåœ¨ fr500 上å¯ç”¨"
+
+-#: config/frv/frv.c:9264
++#: config/frv/frv.c:9268
+ #, gcc-internal-format
+ msgid "this media function is only available on the fr400 and fr550"
+ msgstr "此多媒体函数åªåœ¨ fr400 å’Œ fr550 上å¯ç”¨"
+
+-#: config/frv/frv.c:9283
++#: config/frv/frv.c:9287
+ #, gcc-internal-format
+ msgid "this builtin function is only available on the fr405 and fr450"
+ msgstr "此内建函数åªåœ¨ fr405 å’Œ fr450 上å¯ç”¨"
+
+-#: config/frv/frv.c:9292
++#: config/frv/frv.c:9296
+ #, gcc-internal-format
+ msgid "this builtin function is only available on the fr500 and fr550"
+ msgstr "此内建函数åªåœ¨ fr500 å’Œ fr550 上å¯ç”¨"
+
+-#: config/frv/frv.c:9304
++#: config/frv/frv.c:9308
+ #, gcc-internal-format
+ msgid "this builtin function is only available on the fr450"
+ msgstr "此内建函数åªåœ¨ fr450 上å¯ç”¨"
+@@ -24985,311 +24947,316 @@
+ msgid "can't set position in PCH file: %m"
+ msgstr "ä¸èƒ½åœ¨ PCH 文件中设定ä½ç½®ï¼š%m"
+
+-#: config/i386/i386.c:2133 config/i386/i386.c:2333
++#: config/i386/i386.c:2158 config/i386/i386.c:2358
+ #, gcc-internal-format
+ msgid "bad value (%s) for -mtune= switch"
+ msgstr "-mtune= 所带å‚æ•°(%s)ä¸æ­£ç¡®"
+
+-#: config/i386/i386.c:2174
++#: config/i386/i386.c:2199
+ #, gcc-internal-format
+ msgid "bad value (%s) for -mstringop-strategy= switch"
+ msgstr "-mstringop-strategy= 开关所带å‚æ•°(%s)ä¸æ­£ç¡®"
+
+-#: config/i386/i386.c:2177
++#: config/i386/i386.c:2202
+ #, 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.c:2186
++#: config/i386/i386.c:2211
+ #, gcc-internal-format
+ msgid "generic CPU can be used only for -mtune= switch"
+ msgstr "generic åªèƒ½ç”¨åœ¨ -mtune 中"
+
+-#: config/i386/i386.c:2188 config/i386/i386.c:2297 config/mt/mt.c:804
++#: config/i386/i386.c:2213 config/i386/i386.c:2322 config/mt/mt.c:804
+ #, gcc-internal-format
+ msgid "bad value (%s) for -march= switch"
+ msgstr "-march= 所带å‚æ•°(%s)ä¸æ­£ç¡®"
+
+-#: config/i386/i386.c:2199
++#: config/i386/i386.c:2224
+ #, gcc-internal-format
+ msgid "code model %s does not support PIC mode"
+ msgstr "代ç æ¨¡å¼ %s 在 PIC 模å¼ä¸‹ä¸å—支æŒ"
+
+-#: config/i386/i386.c:2205 config/sparc/sparc.c:725
++#: config/i386/i386.c:2230 config/sparc/sparc.c:728
+ #, gcc-internal-format
+ msgid "bad value (%s) for -mcmodel= switch"
+ msgstr "-mcmodel= 值(%s)ä¸æ­£ç¡®"
+
+-#: config/i386/i386.c:2228
++#: config/i386/i386.c:2253
+ #, gcc-internal-format
+ msgid "bad value (%s) for -masm= switch"
+ msgstr "-masm= 值(%s)ä¸æ­£ç¡®"
+
+-#: config/i386/i386.c:2231
++#: config/i386/i386.c:2256
+ #, gcc-internal-format
+ msgid "code model %qs not supported in the %s bit mode"
+ msgstr "代ç æ¨¡å¼%qs在 %s ä½æ¨¡å¼ä¸‹ä¸å—支æŒ"
+
+-#: config/i386/i386.c:2234
++#: config/i386/i386.c:2259
+ #, gcc-internal-format
+ msgid "%i-bit mode not compiled in"
+ msgstr "未编译入对 %i ä½æ¨¡å¼çš„支æŒ"
+
+-#: config/i386/i386.c:2245 config/i386/i386.c:2319
++#: config/i386/i386.c:2270 config/i386/i386.c:2344
+ #, gcc-internal-format
+ msgid "CPU you selected does not support x86-64 instruction set"
+ msgstr "您选择的 CPU ä¸æ”¯æŒ x86-64 指令集"
+
+-#: config/i386/i386.c:2351
++#: config/i386/i386.c:2376
+ #, gcc-internal-format
+ msgid "-mregparm is ignored in 64-bit mode"
+ msgstr "-mregparm 在 64 ä½æ¨¡å¼ä¸‹è¢«å¿½ç•¥"
+
+-#: config/i386/i386.c:2354
++#: config/i386/i386.c:2379
+ #, gcc-internal-format
+ msgid "-mregparm=%d is not between 0 and %d"
+ msgstr "-mregparm=%d ä¸åœ¨ 0 å’Œ %d 之间"
+
+-#: config/i386/i386.c:2366
++#: config/i386/i386.c:2391
+ #, gcc-internal-format
+ msgid "-malign-loops is obsolete, use -falign-loops"
+ msgstr "-malign-loops å·²ç»è¿‡æ—¶ï¼Œè¯·ä½¿ç”¨ -falign-loops"
+
+-#: config/i386/i386.c:2371 config/i386/i386.c:2384 config/i386/i386.c:2397
++#: config/i386/i386.c:2396 config/i386/i386.c:2409 config/i386/i386.c:2422
+ #, gcc-internal-format
+ msgid "-malign-loops=%d is not between 0 and %d"
+ msgstr "-malign-loops=%d ä¸åœ¨ 0 å’Œ %d 之间"
+
+-#: config/i386/i386.c:2379
++#: config/i386/i386.c:2404
+ #, gcc-internal-format
+ msgid "-malign-jumps is obsolete, use -falign-jumps"
+ msgstr "-malign-jumps å·²ç»è¿‡æ—¶ï¼Œè¯·ä½¿ç”¨ -falign-jumps"
+
+-#: config/i386/i386.c:2392
++#: config/i386/i386.c:2417
+ #, gcc-internal-format
+ msgid "-malign-functions is obsolete, use -falign-functions"
+ msgstr "-malign-functions 已过时,请使用 -falign-functions"
+
+-#: config/i386/i386.c:2425
++#: config/i386/i386.c:2450
+ #, gcc-internal-format
+ msgid "-mbranch-cost=%d is not between 0 and 5"
+ msgstr "-mbranch-cost=%d ä¸åœ¨ 0 å’Œ 5 之间"
+
+-#: config/i386/i386.c:2433
++#: config/i386/i386.c:2458
+ #, gcc-internal-format
+ msgid "-mlarge-data-threshold=%d is negative"
+ msgstr "-mlarge-data-threshold=%d 为负"
+
+-#: config/i386/i386.c:2447
++#: config/i386/i386.c:2472
+ #, gcc-internal-format
+ msgid "bad value (%s) for -mtls-dialect= switch"
+ msgstr "为 -mtls-dialect= 开关指定了错误的值(%s)"
+
+-#: config/i386/i386.c:2455
++#: config/i386/i386.c:2480
+ #, gcc-internal-format
+ msgid "pc%d is not valid precision setting (32, 64 or 80)"
+ msgstr "pc%d ä¸æ˜¯ä¸€ä¸ªæœ‰æ•ˆçš„精度设定(32ã€64 或 80)"
+
+-#: config/i386/i386.c:2471
++#: config/i386/i386.c:2496
+ #, gcc-internal-format
+ msgid "-mrtd is ignored in 64bit mode"
+ msgstr "-mrtd 在 64 ä½æ¨¡å¼ä¸‹è¢«å¿½ç•¥"
+
+-#: config/i386/i386.c:2560
++#: config/i386/i386.c:2585
+ #, gcc-internal-format
+ msgid "-mpreferred-stack-boundary=%d is not between %d and 12"
+ msgstr "-mpreferred-stack-boundary=%d ä¸åœ¨ %d å’Œ 12 之间"
+
+-#: config/i386/i386.c:2569
++#: config/i386/i386.c:2594
+ #, gcc-internal-format
+ msgid "-msseregparm used without SSE enabled"
+ msgstr "使用了 -msseregparm å´æ²¡æœ‰å¯ç”¨ SEE"
+
+-#: config/i386/i386.c:2580 config/i386/i386.c:2591
++#: config/i386/i386.c:2605 config/i386/i386.c:2616
+ #, gcc-internal-format
+ msgid "SSE instruction set disabled, using 387 arithmetics"
+ msgstr "SSE 指令集已ç¦ç”¨ï¼Œä½¿ç”¨ 387 指令"
+
+-#: config/i386/i386.c:2596
++#: config/i386/i386.c:2621
+ #, gcc-internal-format
+ msgid "387 instruction set disabled, using SSE arithmetics"
+ msgstr "387 指令集已ç¦ç”¨ï¼Œä½¿ç”¨ SSE 指令"
+
+-#: config/i386/i386.c:2603
++#: config/i386/i386.c:2628
+ #, gcc-internal-format
+ msgid "bad value (%s) for -mfpmath= switch"
+ msgstr "-mfpmath= 开关的值(%s)错误"
+
+-#: config/i386/i386.c:2616
++#: config/i386/i386.c:2641
+ #, gcc-internal-format
+ msgid "unknown vectorization library ABI type (%s) for -mveclibabi= switch"
+ msgstr "-mveclibabi= 开关矢é‡åº“ ABI 类型(%s)未知"
+
+-#: config/i386/i386.c:2635
++#: config/i386/i386.c:2660
+ #, gcc-internal-format
+ msgid "unwind tables currently require either a frame pointer or -maccumulate-outgoing-args for correctness"
+ msgstr "解å·è¡¨ç›®å‰éœ€è¦æ¡†æž¶æŒ‡é’ˆæˆ– -maccumulate-outgoing-args æ¥ä¿è¯æ­£ç¡®æ€§"
+
+-#: config/i386/i386.c:3022 config/i386/i386.c:3075
++#: config/i386/i386.c:3053 config/i386/i386.c:3106
+ #, gcc-internal-format
+ msgid "fastcall and regparm attributes are not compatible"
+ msgstr "fastcall å’Œ regparm 属性互ä¸å…¼å®¹"
+
+-#: config/i386/i386.c:3029
++#: config/i386/i386.c:3060
+ #, gcc-internal-format
+ msgid "%qs attribute requires an integer constant argument"
+ msgstr "%qs属性需è¦ä¸€ä¸ªæ•´å¸¸é‡ä½œä¸ºå®žå‚"
+
+-#: config/i386/i386.c:3035
++#: config/i386/i386.c:3066
+ #, gcc-internal-format
+ msgid "argument to %qs attribute larger than %d"
+ msgstr "%qs属性的实å‚大于 %d"
+
+-#: config/i386/i386.c:3045
++#: config/i386/i386.c:3076
+ #, gcc-internal-format
+ msgid "%s functions limited to %d register parameters"
+ msgstr "%s 函数被é™åˆ¶ä½¿ç”¨ %d 个寄存器形å‚"
+
+-#: config/i386/i386.c:3067 config/i386/i386.c:3102
++#: config/i386/i386.c:3098 config/i386/i386.c:3133
+ #, gcc-internal-format
+ msgid "fastcall and cdecl attributes are not compatible"
+ msgstr "fastcall å’Œ cdecl 属性互ä¸å…¼å®¹"
+
+-#: config/i386/i386.c:3071
++#: config/i386/i386.c:3102
+ #, gcc-internal-format
+ msgid "fastcall and stdcall attributes are not compatible"
+ msgstr "fastcall å’Œ stdcall 属性互ä¸å…¼å®¹"
+
+-#: config/i386/i386.c:3085 config/i386/i386.c:3098
++#: config/i386/i386.c:3116 config/i386/i386.c:3129
+ #, gcc-internal-format
+ msgid "stdcall and cdecl attributes are not compatible"
+ msgstr "stdcall å’Œ cdecl 属性互ä¸å…¼å®¹"
+
+-#: config/i386/i386.c:3089
++#: config/i386/i386.c:3120
+ #, gcc-internal-format
+ msgid "stdcall and fastcall attributes are not compatible"
+ msgstr "stdcall å’Œ fastcall 属性互ä¸å…¼å®¹"
+
+-#: config/i386/i386.c:3236
++#: config/i386/i386.c:3271
+ #, gcc-internal-format
+ msgid "Calling %qD with attribute sseregparm without SSE/SSE2 enabled"
+ msgstr "带属性 sseregparm 调用%qDå´æ²¡æœ‰å¯ç”¨ SSE/SSE2"
+
+-#: config/i386/i386.c:3239
++#: config/i386/i386.c:3274
+ #, gcc-internal-format
+ msgid "Calling %qT with attribute sseregparm without SSE/SSE2 enabled"
+ msgstr "带属性 sseregparm 调用%qTå´æ²¡æœ‰å¯ç”¨ SSE/SSE2"
+
+-#: config/i386/i386.c:3925
++#: config/i386/i386.c:3971
+ #, gcc-internal-format
+ msgid "SSE register return with SSE disabled"
+ msgstr "å·²ç¦ç”¨ SSE å´åœ¨ SSE 寄存器中返回"
+
+-#: config/i386/i386.c:3931
++#: config/i386/i386.c:3977
+ #, gcc-internal-format
+ msgid "SSE register argument with SSE disabled"
+ msgstr "å·²ç¦ç”¨ SSE å´åœ¨ SSE 寄存器中传递å‚æ•°"
+
+-#: config/i386/i386.c:3947
++#: config/i386/i386.c:3993
+ #, gcc-internal-format
+ msgid "x87 register return with x87 disabled"
+ msgstr "å·²ç¦ç”¨ x87 å´åœ¨ x87 寄存器中返回"
+
+-#: config/i386/i386.c:4265
++#: config/i386/i386.c:4314
+ #, gcc-internal-format
+ msgid "SSE vector argument without SSE enabled changes the ABI"
+ msgstr "没有å¯ç”¨ SSE,å´å‡ºçŽ°äº† SSE 矢é‡å®žå‚,这改å˜äº† ABI"
+
+-#: config/i386/i386.c:4283
++#: config/i386/i386.c:4332
+ #, gcc-internal-format
+ msgid "MMX vector argument without MMX enabled changes the ABI"
+ msgstr "没有å¯ç”¨ MMX,å´å‡ºçŽ°äº† MMX 矢é‡å®žå‚,这改å˜äº† ABI"
+
+-#: config/i386/i386.c:4810
++#: config/i386/i386.c:4859
+ #, gcc-internal-format
+ msgid "SSE vector return without SSE enabled changes the ABI"
+ msgstr "没有å¯ç”¨ SSE,å´æœ‰ SSE 矢é‡è¿”回值,这改å˜äº† ABI"
+
+-#: config/i386/i386.c:4820
++#: config/i386/i386.c:4869
+ #, gcc-internal-format
+ msgid "MMX vector return without MMX enabled changes the ABI"
+ msgstr "没有å¯ç”¨ MMXå´è¿”回 MMX 矢é‡ï¼Œè¿™æ”¹å˜äº† ABI"
+
+-#: config/i386/i386.c:6171
++#: config/i386/i386.c:6220
+ #, gcc-internal-format
+ msgid "-mstackrealign ignored for nested functions"
+ msgstr "-mstackrealign 为嵌套函数所忽略"
+
+-#: config/i386/i386.c:6173
++#: config/i386/i386.c:6222
+ #, gcc-internal-format
+ msgid "%s not supported for nested functions"
+ msgstr "嵌套函数ä¸æ”¯æŒ %s"
+
+-#: config/i386/i386.c:8576
++#: config/i386/i386.c:8631
+ #, gcc-internal-format
+ msgid "extended registers have no high halves"
+ msgstr "扩展的寄存器没有高åŠéƒ¨åˆ†"
+
+-#: config/i386/i386.c:8591
++#: config/i386/i386.c:8646
+ #, gcc-internal-format
+ msgid "unsupported operand size for extended register"
+ msgstr "扩展的寄存器ä¸æ”¯æŒçš„æ“作数大å°"
+
+-#: config/i386/i386.c:19610
++#: config/i386/i386.c:19694
+ #, gcc-internal-format
+ msgid "the third argument must be a 4-bit immediate"
+ msgstr "第三个实å‚必须是一个 4 ä½ç«‹å³æ•°"
+
+-#: config/i386/i386.c:19614
++#: config/i386/i386.c:19698
+ #, gcc-internal-format
+ msgid "the third argument must be an 8-bit immediate"
+ msgstr "第三个实å‚必须是一个 8 ä½ç«‹å³æ•°"
+
+-#: config/i386/i386.c:19836
++#: config/i386/i386.c:19920
+ #, gcc-internal-format
+ msgid "last argument must be an immediate"
+ msgstr "最åŽä¸€ä¸ªå®žå‚必须是一个立å³æ•°"
+
+-#: config/i386/i386.c:19963
++#: config/i386/i386.c:20047
+ #, gcc-internal-format
+ msgid "the second argument must be a 4-bit immediate"
+ msgstr "第二个实å‚必须是一个 4 ä½ç«‹å³æ•°"
+
+-#: config/i386/i386.c:20209
++#: config/i386/i386.c:20293
+ #, gcc-internal-format
+ msgid "the fifth argument must be a 8-bit immediate"
+ msgstr "第五个实å‚必须是一个 8 ä½ç«‹å³æ•°"
+
+-#: config/i386/i386.c:20304
++#: config/i386/i386.c:20388
+ #, gcc-internal-format
+ msgid "the third argument must be a 8-bit immediate"
+ msgstr "第三个实å‚必须是一个 8 ä½ç«‹å³æ•°"
+
+-#: config/i386/i386.c:20374 config/rs6000/rs6000.c:8133
++#: config/i386/i386.c:20458 config/rs6000/rs6000.c:8240
+ #, gcc-internal-format
+ msgid "selector must be an integer constant in the range 0..%wi"
+ msgstr "选择å­å¿…须是 0 到 %wi 间的整常é‡"
+
+-#: config/i386/i386.c:20774 config/i386/i386.c:20970
++#: config/i386/i386.c:20858 config/i386/i386.c:21054
+ #, gcc-internal-format
+ msgid "shift must be an immediate"
+ msgstr "å移值必须是立å³æ•°"
+
+-#: config/i386/i386.c:21033 config/i386/i386.c:21075
++#: config/i386/i386.c:21117 config/i386/i386.c:21159
+ #, gcc-internal-format
+ msgid "index mask must be an immediate"
+ msgstr "索引掩ç å¿…须是一个立å³æ•°"
+
+-#: config/i386/i386.c:21038 config/i386/i386.c:21080
++#: config/i386/i386.c:21122 config/i386/i386.c:21164
+ #, gcc-internal-format
+ msgid "length mask must be an immediate"
+ msgstr "长度掩ç å¿…须是一个立å³æ•°"
+
+-#: config/i386/i386.c:22525 config/rs6000/rs6000.c:19666
++#: config/i386/i386.c:22609 config/rs6000/rs6000.c:19883
+ #, gcc-internal-format
+ msgid "%qs incompatible attribute ignored"
+ msgstr "%qs忽略ä¸å…¼å®¹çš„属性"
+
++#: config/i386/netware.c:253
++#, gcc-internal-format
++msgid "-fPIC and -fpic are not supported for this target"
++msgstr "-fPIC å’Œ -fpic ä¸è¢«æ­¤ç›®æ ‡æ‰€æ”¯æŒ"
++
+ #: config/i386/winnt-cxx.c:71 config/sh/symbian.c:172
+ #, gcc-internal-format
+ msgid "definition of static data member %q+D of dllimport'd class"
+@@ -25355,57 +25322,57 @@
+ msgid "%Jaddress area attribute cannot be specified for functions"
+ msgstr "%Jä¸èƒ½ä¸ºå‡½æ•°æŒ‡å®šåœ°å€åŒºåŸŸå±žæ€§"
+
+-#: config/ia64/ia64.c:5126 config/pa/pa.c:347 config/spu/spu.c:3875
++#: config/ia64/ia64.c:5127 config/pa/pa.c:350 config/spu/spu.c:3864
+ #, gcc-internal-format
+ msgid "value of -mfixed-range must have form REG1-REG2"
+ msgstr "-mfixed-range 值必须有“寄存器1-寄存器2â€çš„å½¢å¼"
+
+-#: config/ia64/ia64.c:5153 config/pa/pa.c:374 config/spu/spu.c:3901
++#: config/ia64/ia64.c:5154 config/pa/pa.c:377 config/spu/spu.c:3890
+ #, gcc-internal-format
+ msgid "%s-%s is an empty range"
+ msgstr "%s-%s 是一个空的范围"
+
+-#: config/ia64/ia64.c:5181
++#: config/ia64/ia64.c:5182
+ #, gcc-internal-format
+ msgid "bad value %<%s%> for -mtls-size= switch"
+ msgstr "-mtls-size= 开关的值%<%s%>无效"
+
+-#: config/ia64/ia64.c:5209
++#: config/ia64/ia64.c:5210
+ #, gcc-internal-format
+ msgid "bad value %<%s%> for -mtune= switch"
+ msgstr "-mtune= 所带å‚æ•°%<%s%>ä¸æ­£ç¡®"
+
+-#: config/ia64/ia64.c:5228
++#: config/ia64/ia64.c:5229
+ #, gcc-internal-format
+ msgid "not yet implemented: latency-optimized inline square root"
+-msgstr "尚未实现:最å°å»¶è¿Ÿä¼˜åŒ–的内è”平方根è¿ç®—"
++msgstr "尚未实现:优化延迟的内è”平方根è¿ç®—"
+
+-#: config/ia64/ia64.c:9950
++#: config/ia64/ia64.c:9951
+ #, gcc-internal-format
+ msgid "version attribute is not a string"
+ msgstr "版本属性ä¸æ˜¯ä¸€ä¸ªå­—符串"
+
+-#: config/iq2000/iq2000.c:1812
++#: config/iq2000/iq2000.c:1816
+ #, gcc-internal-format
+ msgid "gp_offset (%ld) or end_offset (%ld) is less than zero"
+ msgstr "gp_offset (%ld) 或 end_offset (%ld) å°äºŽ 0"
+
+-#: config/iq2000/iq2000.c:2583
++#: config/iq2000/iq2000.c:2587
+ #, gcc-internal-format
+ msgid "argument %qd is not a constant"
+ msgstr "实å‚%qdä¸æ˜¯ä¸€ä¸ªå¸¸æ•°"
+
+-#: config/iq2000/iq2000.c:2885 config/mt/mt.c:349 config/xtensa/xtensa.c:2118
++#: config/iq2000/iq2000.c:2889 config/mt/mt.c:349 config/xtensa/xtensa.c:2124
+ #, gcc-internal-format
+ msgid "PRINT_OPERAND_ADDRESS, null pointer"
+ msgstr "PRINT_OPERAND_ADDRESS,空指针"
+
+-#: config/iq2000/iq2000.c:3040
++#: config/iq2000/iq2000.c:3044
+ #, gcc-internal-format
+ msgid "PRINT_OPERAND: Unknown punctuation '%c'"
+ msgstr "PRINT_OPERAND:未知的标点‘%c’"
+
+-#: config/iq2000/iq2000.c:3049 config/xtensa/xtensa.c:1972
++#: config/iq2000/iq2000.c:3053 config/xtensa/xtensa.c:1978
+ #, gcc-internal-format
+ msgid "PRINT_OPERAND null pointer"
+ msgstr "PRINT_OPERAND 空指针"
+@@ -25430,22 +25397,22 @@
+ msgid "invalid target memregs value '%d'"
+ msgstr "无效的目标 memregs 值‘%d’"
+
+-#: config/m32c/m32c.c:2759
++#: config/m32c/m32c.c:2766
+ #, gcc-internal-format
+ msgid "`%s' attribute is not supported for R8C target"
+ msgstr "‘%s’属性在 R8C 目标机上ä¸å—支æŒ"
+
+-#: config/m32c/m32c.c:2767
++#: config/m32c/m32c.c:2774
+ #, gcc-internal-format
+ msgid "`%s' attribute applies only to functions"
+ msgstr "‘%s’属性åªèƒ½åº”用到函数上"
+
+-#: config/m32c/m32c.c:2775
++#: config/m32c/m32c.c:2782
+ #, gcc-internal-format
+ msgid "`%s' attribute argument not an integer constant"
+ msgstr "‘%s’属性的å‚æ•°ä¸æ˜¯ä¸€ä¸ªæ•´åž‹å¸¸é‡"
+
+-#: config/m32c/m32c.c:2784
++#: config/m32c/m32c.c:2791
+ #, gcc-internal-format
+ msgid "`%s' attribute argument should be between 18 to 255"
+ msgstr "‘%s’属性的å‚数应当在 18 å’Œ 255 之间"
+@@ -25495,7 +25462,7 @@
+ msgid "interrupt_thread is available only on fido"
+ msgstr "interrupt_thread åªåœ¨ fido 中å¯ç”¨"
+
+-#: config/m68k/m68k.c:1072 config/rs6000/rs6000.c:15014
++#: config/m68k/m68k.c:1072 config/rs6000/rs6000.c:15226
+ #, gcc-internal-format
+ msgid "stack limit expression is not supported"
+ msgstr "ä¸æ”¯æŒå †æ ˆé™åˆ¶è¡¨è¾¾å¼"
+@@ -25510,114 +25477,114 @@
+ msgid "%qs redeclared with conflicting %qs attributes"
+ msgstr "%qsé‡å£°æ˜Žæœ‰å†²çªçš„属性%qs"
+
+-#: config/mips/mips.c:2348
++#: config/mips/mips.c:2382
+ #, gcc-internal-format
+ msgid "MIPS16 TLS"
+ msgstr "MIPS16 TLS"
+
+-#: config/mips/mips.c:5439
++#: config/mips/mips.c:5500
+ #, gcc-internal-format
+ msgid "cannot handle inconsistent calls to %qs"
+ msgstr "无法处ç†å¯¹%qsä¸ä¸€è‡´çš„调用"
+
+-#: config/mips/mips.c:10258
++#: config/mips/mips.c:10337
+ #, gcc-internal-format
+ msgid "invalid argument to built-in function"
+ msgstr "内建函数实å‚无效"
+
+-#: config/mips/mips.c:10530
++#: config/mips/mips.c:10609
+ #, gcc-internal-format
+ msgid "built-in function %qs not supported for MIPS16"
+ msgstr "MIPS16 ä¸æ”¯æŒå†…建函数%qs"
+
+-#: config/mips/mips.c:11679 config/mips/mips.c:12065
++#: config/mips/mips.c:11751 config/mips/mips.c:12137
+ #, gcc-internal-format
+ msgid "MIPS16 PIC"
+ msgstr "MIPS16 PIC"
+
+-#: config/mips/mips.c:11682
++#: config/mips/mips.c:11754
+ #, gcc-internal-format
+ msgid "hard-float MIPS16 code for ABIs other than o32 and o64"
+ msgstr "硬件浮点 MIPS16 代ç çš„ ABI ä¸æ˜¯ o32 或 o64"
+
+-#: config/mips/mips.c:11810
++#: config/mips/mips.c:11882
+ #, gcc-internal-format
+ msgid "CPU names must be lower case"
+ msgstr "CPU å必须是å°å†™"
+
+-#: config/mips/mips.c:11938
++#: config/mips/mips.c:12010
+ #, gcc-internal-format
+ msgid "%<-%s%> conflicts with the other architecture options, which specify a %s processor"
+ msgstr "%<-%s%>与指定了 %s 处ç†å™¨çš„其他架构选项冲çª"
+
+-#: config/mips/mips.c:11954
++#: config/mips/mips.c:12026
+ #, gcc-internal-format
+ msgid "%<-march=%s%> is not compatible with the selected ABI"
+ msgstr "%<-march=%s%>与所选 ABI ä¸å…¼å®¹"
+
+-#: config/mips/mips.c:11969
++#: config/mips/mips.c:12041
+ #, gcc-internal-format
+ msgid "%<-mgp64%> used with a 32-bit processor"
+ msgstr "%<-mgp64%>与 32 ä½å¤„ç†å™¨ä¸€èµ·ä½¿ç”¨"
+
+-#: config/mips/mips.c:11971
++#: config/mips/mips.c:12043
+ #, gcc-internal-format
+ msgid "%<-mgp32%> used with a 64-bit ABI"
+ msgstr "%<-mgp32%>与 64 ä½ ABI 一起使用"
+
+-#: config/mips/mips.c:11973
++#: config/mips/mips.c:12045
+ #, gcc-internal-format
+ msgid "%<-mgp64%> used with a 32-bit ABI"
+ msgstr "%<-mgp64%>与 32 ä½ ABI 一起使用"
+
+-#: config/mips/mips.c:11989 config/mips/mips.c:11991 config/mips/mips.c:12058
++#: config/mips/mips.c:12061 config/mips/mips.c:12063 config/mips/mips.c:12130
+ #, gcc-internal-format
+ msgid "unsupported combination: %s"
+ msgstr "ä¸æ”¯æŒçš„组åˆï¼š%s"
+
+-#: config/mips/mips.c:11995
++#: config/mips/mips.c:12067
+ #, gcc-internal-format
+ msgid "%<-mgp32%> and %<-mfp64%> can only be combined if the target supports the mfhc1 and mthc1 instructions"
+ msgstr "%<-mgp32%> å’Œ %<-mfp64%>åªæœ‰å½“ç›®æ ‡æœºæ”¯æŒ mfhc1 å’Œ mthc1 指令时æ‰èƒ½ä¸€èµ·ä½¿ç”¨"
+
+-#: config/mips/mips.c:11998
++#: config/mips/mips.c:12070
+ #, gcc-internal-format
+ msgid "%<-mgp32%> and %<-mfp64%> can only be combined when using the o32 ABI"
+ msgstr "%<-mgp32%> å’Œ %<-mfp64%>åªæœ‰å½“使用 o32 ABI æ—¶æ‰èƒ½ä¸€èµ·ä½¿ç”¨"
+
+-#: config/mips/mips.c:12052
++#: config/mips/mips.c:12124
+ #, gcc-internal-format
+ msgid "the %qs architecture does not support branch-likely instructions"
+ msgstr "%qs架构ä¸æ”¯æŒ Branch-Likely 指令"
+
+-#: config/mips/mips.c:12098
++#: config/mips/mips.c:12170
+ #, gcc-internal-format
+ msgid "%<-mno-gpopt%> needs %<-mexplicit-relocs%>"
+ msgstr "%<-mno-gpopt%> éœ€è¦ %<-mexplicit-relocs%>"
+
+-#: config/mips/mips.c:12106 config/mips/mips.c:12109
++#: config/mips/mips.c:12178 config/mips/mips.c:12181
+ #, gcc-internal-format
+ msgid "cannot use small-data accesses for %qs"
+ msgstr "ä¸èƒ½ä¸º%qs使用å°æ•°æ®è®¿é—®"
+
+-#: config/mips/mips.c:12123
++#: config/mips/mips.c:12195
+ #, gcc-internal-format
+ msgid "%<-mips3d%> requires %<-mpaired-single%>"
+ msgstr "%<-mips3d%>需è¦%<-mpaired-single%>"
+
+-#: config/mips/mips.c:12132
++#: config/mips/mips.c:12204
+ #, gcc-internal-format
+ msgid "%qs must be used with %qs"
+ msgstr "%qs必须与%qs一起使用"
+
+-#: config/mips/mips.c:12139
++#: config/mips/mips.c:12211
+ #, gcc-internal-format
+ msgid "the %qs architecture does not support paired-single instructions"
+ msgstr "%qs架构ä¸æ”¯æŒé…对å•ç²¾åº¦æŒ‡ä»¤"
+
+ #. Output assembler code to FILE to increment profiler label # LABELNO
+ #. for profiling a function entry.
+-#: config/mips/mips.h:2110
++#: config/mips/mips.h:2111
+ #, gcc-internal-format
+ msgid "mips16 function profiling"
+ msgstr "mips16 函数å–æ ·"
+@@ -25647,28 +25614,28 @@
+ msgid "MMIX Internal: Last named vararg would not fit in a register"
+ msgstr "MMIX 内部错误:最åŽä¸€ä¸ªæœ‰åçš„ä¸å®šå‚数无法放入寄存器中"
+
+-#: config/mmix/mmix.c:1495 config/mmix/mmix.c:1519 config/mmix/mmix.c:1635
++#: config/mmix/mmix.c:1491 config/mmix/mmix.c:1515 config/mmix/mmix.c:1631
+ #, gcc-internal-format
+ msgid "MMIX Internal: Bad register: %d"
+ msgstr "MMIX 内部错误:错误的寄存器:%d"
+
+ #. Presumably there's a missing case above if we get here.
+-#: config/mmix/mmix.c:1627
++#: config/mmix/mmix.c:1623
+ #, gcc-internal-format
+ msgid "MMIX Internal: Missing %qc case in mmix_print_operand"
+ msgstr "MMIX 内部错误:mmix_print_operand 缺少%qc类型"
+
+-#: config/mmix/mmix.c:1913
++#: config/mmix/mmix.c:1909
+ #, gcc-internal-format
+ msgid "stack frame not a multiple of 8 bytes: %wd"
+ msgstr "堆栈框架大å°ä¸æ˜¯ 8 字节的å€æ•°ï¼š%wd"
+
+-#: config/mmix/mmix.c:2149
++#: config/mmix/mmix.c:2145
+ #, gcc-internal-format
+ msgid "stack frame not a multiple of octabyte: %wd"
+ msgstr "堆栈框架大å°ä¸æ˜¯ 8 字节的å€æ•°ï¼š%wd"
+
+-#: config/mmix/mmix.c:2489 config/mmix/mmix.c:2553
++#: config/mmix/mmix.c:2485 config/mmix/mmix.c:2549
+ #, gcc-internal-format
+ msgid "MMIX Internal: %s is not a shiftable int"
+ msgstr "MMIX 内部错误:%s ä¸æ˜¯ä¸€ä¸ªå¯ç§»ä½çš„æ•´æ•°"
+@@ -25678,27 +25645,27 @@
+ msgid "info pointer NULL"
+ msgstr "info 指针为 NULL"
+
+-#: config/pa/pa.c:479
++#: config/pa/pa.c:482
+ #, gcc-internal-format
+ msgid "PIC code generation is not supported in the portable runtime model"
+ msgstr "PIC 代ç ç”Ÿæˆåœ¨å¯ç§»æ¤è¿è¡Œæ—¶æ¨¡åž‹ä¸­ä¸å—支æŒ"
+
+-#: config/pa/pa.c:484
++#: config/pa/pa.c:487
+ #, gcc-internal-format
+ msgid "PIC code generation is not compatible with fast indirect calls"
+ msgstr "PIC 代ç ç”Ÿæˆä¸Žå¿«é€Ÿé—´æŽ¥è°ƒç”¨ä¸å…¼å®¹"
+
+-#: config/pa/pa.c:489
++#: config/pa/pa.c:492
+ #, gcc-internal-format
+ msgid "-g is only supported when using GAS on this processor,"
+ msgstr "此处ç†å™¨åªæœ‰ä½¿ç”¨ GAS æ—¶æ‰æ”¯æŒ -g"
+
+-#: config/pa/pa.c:490
++#: config/pa/pa.c:493
+ #, gcc-internal-format
+ msgid "-g option disabled"
+ msgstr "-g 选项已被ç¦ç”¨"
+
+-#: config/pa/pa.c:8285
++#: config/pa/pa.c:8373
+ #, gcc-internal-format
+ msgid "alignment (%u) for %s exceeds maximum alignment for global common data. Using %u"
+ msgstr "对é½è¾¹ç•Œ(%u) 对 %s æ¥è¯´è¶…过了全局共åŒæ•°æ®çš„最大对é½è¾¹ç•Œã€‚使用 %u"
+@@ -25767,250 +25734,251 @@
+ msgid "junk at end of #pragma longcall"
+ msgstr "#pragma longcall 末尾有垃圾字符"
+
+-#: config/rs6000/rs6000-c.c:2550
++#: config/rs6000/rs6000-c.c:2553
+ #, gcc-internal-format
+ msgid "passing arg %d of %qE discards qualifiers frompointer target type"
+-msgstr "传递å‚æ•° %d (属于%qE)时丢弃了指针目标类型的类型é™å®š"
++msgstr "传递%2$qE的第 %1$d 个å‚数时丢弃了指针目标类型的类型é™å®š"
+
+-#: config/rs6000/rs6000-c.c:2593
++#: config/rs6000/rs6000-c.c:2596
+ #, gcc-internal-format
+ msgid "invalid parameter combination for AltiVec intrinsic"
+ msgstr "对 AltiVec 内建函数æ¥è¯´æ— æ•ˆçš„å‚数组åˆ"
+
+-#: config/rs6000/rs6000.c:1294
++#: config/rs6000/rs6000.c:1312
+ #, gcc-internal-format
+ msgid "-mdynamic-no-pic overrides -fpic or -fPIC"
+ msgstr "-mdynamic-no-pic 覆盖了 -fpic 或 -fPIC"
+
+-#: config/rs6000/rs6000.c:1305
++#: config/rs6000/rs6000.c:1323
+ #, gcc-internal-format
+ msgid "-m64 requires PowerPC64 architecture, enabling"
+ msgstr "-m64 éœ€è¦ PowerPC64 架构,正在å¯ç”¨"
+
+-#: config/rs6000/rs6000.c:1528
++#: config/rs6000/rs6000.c:1546
+ #, gcc-internal-format
+ msgid "-mmultiple is not supported on little endian systems"
+ msgstr "-mmultiple 在低ä½å­—节在å‰çš„系统上ä¸å—支æŒ"
+
+-#: config/rs6000/rs6000.c:1535
++#: config/rs6000/rs6000.c:1553
+ #, gcc-internal-format
+ msgid "-mstring is not supported on little endian systems"
+ msgstr "-mstring 在低ä½å­—节在å‰çš„系统上ä¸å—支æŒ"
+
+-#: config/rs6000/rs6000.c:1549
++#: config/rs6000/rs6000.c:1567
+ #, gcc-internal-format
+ msgid "unknown -mdebug-%s switch"
+ msgstr "未知的 -mdebug-%s 开关"
+
+-#: config/rs6000/rs6000.c:1561
++#: config/rs6000/rs6000.c:1579
+ #, gcc-internal-format
+ msgid "unknown -mtraceback arg %qs; expecting %<full%>, %<partial%> or %<none%>"
+ msgstr "未知的 -mtraceback å‚æ•°%qs;需è¦%<full%>ã€%<partial%>或%<none%>"
+
+-#: config/rs6000/rs6000.c:1973
++#: config/rs6000/rs6000.c:2003
+ #, gcc-internal-format
+ msgid "unknown -m%s= option specified: '%s'"
+ msgstr "指定了未知的 -m%s= 选项:‘%s’"
+
+-#: config/rs6000/rs6000.c:2186
++#: config/rs6000/rs6000.c:2218
+ #, gcc-internal-format
+ msgid "not configured for ABI: '%s'"
+ msgstr "没有为此 ABI é…置:‘%s’"
+
+-#: config/rs6000/rs6000.c:2199
++#: config/rs6000/rs6000.c:2231
+ #, gcc-internal-format
+ msgid "Using darwin64 ABI"
+ msgstr "使用 darwin64 ABI"
+
+-#: config/rs6000/rs6000.c:2204
++#: config/rs6000/rs6000.c:2236
+ #, gcc-internal-format
+ msgid "Using old darwin ABI"
+ msgstr "使用旧å¼çš„ Darwin ABI"
+
+-#: config/rs6000/rs6000.c:2211
++#: config/rs6000/rs6000.c:2243
+ #, gcc-internal-format
+ msgid "Using IBM extended precision long double"
+ msgstr "使用 IBM 扩展精度 long double"
+
+-#: config/rs6000/rs6000.c:2217
++#: config/rs6000/rs6000.c:2249
+ #, gcc-internal-format
+ msgid "Using IEEE extended precision long double"
+ msgstr "使用 IEEE 扩展精度 long double"
+
+-#: config/rs6000/rs6000.c:2222
++#: config/rs6000/rs6000.c:2254
+ #, gcc-internal-format
+ msgid "unknown ABI specified: '%s'"
+ msgstr "指定了未知的 ABI:‘%s’"
+
+-#: config/rs6000/rs6000.c:2249
++#: config/rs6000/rs6000.c:2281
+ #, gcc-internal-format
+ msgid "invalid option for -mfloat-gprs: '%s'"
+ msgstr "-mfloat-gprs 的选项无效:‘%s’"
+
+-#: config/rs6000/rs6000.c:2259
++#: config/rs6000/rs6000.c:2291
+ #, gcc-internal-format
+ msgid "Unknown switch -mlong-double-%s"
+ msgstr "未知的开关 -mlong-double-%s"
+
+-#: config/rs6000/rs6000.c:2280
++#: config/rs6000/rs6000.c:2312
+ #, gcc-internal-format
+ msgid "-malign-power is not supported for 64-bit Darwin; it is incompatible with the installed C and C++ libraries"
+ msgstr "-malign-power 在 64 ä½ Darwin 下ä¸å—支æŒï¼›å®ƒä¸Žå·²å®‰è£…çš„ C å’Œ C++ 库ä¸å…¼å®¹"
+
+-#: config/rs6000/rs6000.c:2288
++#: config/rs6000/rs6000.c:2320
+ #, gcc-internal-format
+ msgid "unknown -malign-XXXXX option specified: '%s'"
+ msgstr "指定了未知的 -malign-XXXXX 选项:‘%s’"
+
+-#: config/rs6000/rs6000.c:4989
++#: config/rs6000/rs6000.c:5087
+ #, gcc-internal-format
+ msgid "GCC vector returned by reference: non-standard ABI extension with no compatibility guarantee"
+ msgstr "GCC 返回矢é‡å¼•ç”¨ï¼šéžæ ‡å‡†çš„ ABI 扩展,ä¸ä¿è¯å…¼å®¹æ€§"
+
+-#: config/rs6000/rs6000.c:5062
++#: config/rs6000/rs6000.c:5160
+ #, gcc-internal-format
+ msgid "cannot return value in vector register because altivec instructions are disabled, use -maltivec to enable them"
+ msgstr "ä¸èƒ½åœ¨çŸ¢é‡å¯„存器中返回值,因为 altivec 指令集已被ç¦ç”¨ï¼Œä½¿ç”¨ -maltivec å¯ç”¨"
+
+-#: config/rs6000/rs6000.c:5320
++#: config/rs6000/rs6000.c:5418
+ #, gcc-internal-format
+ msgid "cannot pass argument in vector register because altivec instructions are disabled, use -maltivec to enable them"
+ msgstr "ä¸èƒ½åœ¨çŸ¢é‡å¯„存器中传递å‚数,因为 altivec 指令集已被ç¦ç”¨ï¼Œä½¿ç”¨ -maltivec å¯ç”¨"
+
+-#: config/rs6000/rs6000.c:6221
++#: config/rs6000/rs6000.c:6322
+ #, gcc-internal-format
+ msgid "GCC vector passed by reference: non-standard ABI extension with no compatibility guarantee"
+ msgstr "GCC 传递矢é‡å¼•ç”¨ï¼šéžæ ‡å‡†çš„ ABI 扩展,ä¸ä¿è¯å…¼å®¹æ€§"
+
+-#: config/rs6000/rs6000.c:7461
++#: config/rs6000/rs6000.c:7568
+ #, gcc-internal-format
+ msgid "argument 1 must be a 5-bit signed literal"
+ msgstr "å®žå‚ 1 必须是一个 5 ä½æœ‰ç¬¦å·å­—é¢å€¼"
+
+-#: config/rs6000/rs6000.c:7564 config/rs6000/rs6000.c:8475
++#: config/rs6000/rs6000.c:7671 config/rs6000/rs6000.c:8582
+ #, gcc-internal-format
+ msgid "argument 2 must be a 5-bit unsigned literal"
+ msgstr "å®žå‚ 2 必须是一个 5 ä½æ— ç¬¦å·å­—é¢å€¼"
+
+-#: config/rs6000/rs6000.c:7604
++#: config/rs6000/rs6000.c:7711
+ #, gcc-internal-format
+ msgid "argument 1 of __builtin_altivec_predicate must be a constant"
+-msgstr "__builtin_altivec_predicate 的第一个实å‚必须是常é‡"
++msgstr "__builtin_altivec_predicate 的第 1 个实å‚必须是常é‡"
+
+-#: config/rs6000/rs6000.c:7657
++#: config/rs6000/rs6000.c:7764
+ #, gcc-internal-format
+ msgid "argument 1 of __builtin_altivec_predicate is out of range"
+ msgstr "__builtin_altivec_predicate 的第 1 个实å‚越界"
+
+-#: config/rs6000/rs6000.c:7906
++#: config/rs6000/rs6000.c:8013
+ #, gcc-internal-format
+ msgid "argument 3 must be a 4-bit unsigned literal"
+ msgstr "å®žå‚ 3 必须是一个 4 ä½æ— ç¬¦å·å­—é¢å€¼"
+
+-#: config/rs6000/rs6000.c:8078
++#: config/rs6000/rs6000.c:8185
+ #, gcc-internal-format
+ msgid "argument to %qs must be a 2-bit unsigned literal"
+ msgstr "%qs的实å‚必须是一个 2 ä½æ— ç¬¦å·å­—é¢å¸¸é‡"
+
+-#: config/rs6000/rs6000.c:8220
++#: config/rs6000/rs6000.c:8327
+ #, gcc-internal-format
+ msgid "unresolved overload for Altivec builtin %qF"
+ msgstr "无法解æžçš„é‡è½½ Altivec 内建函数%qF"
+
+-#: config/rs6000/rs6000.c:8302
++#: config/rs6000/rs6000.c:8409
+ #, gcc-internal-format
+ msgid "argument to dss must be a 2-bit unsigned literal"
+ msgstr "dss 的实å‚必须是一个 2 ä½æ— ç¬¦å·å­—é¢å¸¸é‡"
+
+-#: config/rs6000/rs6000.c:8595
++#: config/rs6000/rs6000.c:8702
+ #, gcc-internal-format
+ msgid "argument 1 of __builtin_paired_predicate must be a constant"
+ msgstr "__builtin_paired_predicate 的第一个实å‚必须是常é‡"
+
+-#: config/rs6000/rs6000.c:8642
++#: config/rs6000/rs6000.c:8749
+ #, gcc-internal-format
+ msgid "argument 1 of __builtin_paired_predicate is out of range"
+ msgstr "__builtin_paired_predicate 的第一个实å‚越界"
+
+-#: config/rs6000/rs6000.c:8667
++#: config/rs6000/rs6000.c:8774
+ #, gcc-internal-format
+ msgid "argument 1 of __builtin_spe_predicate must be a constant"
+ msgstr "__builtin_spe_predicate 的第一个实å‚必须是常é‡"
+
+-#: config/rs6000/rs6000.c:8739
++#: config/rs6000/rs6000.c:8846
+ #, gcc-internal-format
+ msgid "argument 1 of __builtin_spe_predicate is out of range"
+ msgstr "__builtin_spe_predicate 的第 1 个实å‚越界"
+
+-#: config/rs6000/rs6000.c:14977
++#: config/rs6000/rs6000.c:15189
+ #, gcc-internal-format
+ msgid "stack frame too large"
+ msgstr "堆栈框架太大"
+
+-#: config/rs6000/rs6000.c:17598
++#: config/rs6000/rs6000.c:17811
+ #, gcc-internal-format
+ msgid "no profiling of 64-bit code for this ABI"
+ msgstr "æ­¤ ABI ä¸æ”¯æŒå–æ · 64 ä½ä»£ç "
+
+-#: config/rs6000/rs6000.c:19470
++#: config/rs6000/rs6000.c:19687
+ #, gcc-internal-format
+ msgid "use of %<long%> in AltiVec types is invalid for 64-bit code"
+ msgstr "对于 64 ä½ä»£ç åœ¨ AltiVec 类型中使用%<long%>无效"
+
+-#: config/rs6000/rs6000.c:19472
++#: config/rs6000/rs6000.c:19689
+ #, gcc-internal-format
+ msgid "use of %<long%> in AltiVec types is deprecated; use %<int%>"
+ msgstr "ä¸å»ºè®®åœ¨ AltiVec 类型中使用%<long%>;请改用%<int%>"
+
+-#: config/rs6000/rs6000.c:19476
++#: config/rs6000/rs6000.c:19693
+ #, gcc-internal-format
+ msgid "use of %<long long%> in AltiVec types is invalid"
+ msgstr "在 AltiVec 类型中使用%<long long%>无效"
+
+-#: config/rs6000/rs6000.c:19478
++#: config/rs6000/rs6000.c:19695
+ #, gcc-internal-format
+ msgid "use of %<double%> in AltiVec types is invalid"
+ msgstr "在 AltiVec 类型中使用%<double%>无效"
+
+-#: config/rs6000/rs6000.c:19480
++#: config/rs6000/rs6000.c:19697
+ #, gcc-internal-format
+ msgid "use of %<long double%> in AltiVec types is invalid"
+ msgstr "在 AltiVec 类型中使用%<long double%>无效"
+
+-#: config/rs6000/rs6000.c:19482
++#: config/rs6000/rs6000.c:19699
+ #, gcc-internal-format
+ msgid "use of boolean types in AltiVec types is invalid"
+ msgstr "在 AltiVec 类型中使用布尔类型无效"
+
+-#: config/rs6000/rs6000.c:19484
++#: config/rs6000/rs6000.c:19701
+ #, gcc-internal-format
+ msgid "use of %<complex%> in AltiVec types is invalid"
+ msgstr "在 AltiVec 类型中使用%<complex%>无效"
+
+-#: config/rs6000/rs6000.c:19486
++#: config/rs6000/rs6000.c:19703
+ #, gcc-internal-format
+ msgid "use of decimal floating point types in AltiVec types is invalid"
+ msgstr "在 AltiVec 类型中使用å进制浮点类型无效"
+
+ #: config/rs6000/aix43.h:38 config/rs6000/aix51.h:37 config/rs6000/aix52.h:38
+-#: config/rs6000/aix53.h:38
++#: config/rs6000/aix53.h:38 config/rs6000/aix61.h:38
+ #, gcc-internal-format
+ msgid "-maix64 and POWER architecture are incompatible"
+ msgstr "-maix64 å’Œ POWER 架构互ä¸å…¼å®¹"
+
+ #: config/rs6000/aix43.h:43 config/rs6000/aix51.h:42 config/rs6000/aix52.h:43
+-#: config/rs6000/aix53.h:43
++#: config/rs6000/aix53.h:43 config/rs6000/aix61.h:43
+ #, gcc-internal-format
+ msgid "-maix64 requires PowerPC64 architecture remain enabled"
+ msgstr "-maix64 éœ€è¦ PowerPC64 架构被å¯ç”¨"
+
+ #: config/rs6000/aix43.h:49 config/rs6000/aix52.h:49 config/rs6000/aix53.h:49
++#: config/rs6000/aix61.h:49
+ #, gcc-internal-format
+ msgid "soft-float and long-double-128 are incompatible"
+ msgstr "soft-float 与 long-double-128 互ä¸å…¼å®¹"
+
+ #: config/rs6000/aix43.h:53 config/rs6000/aix51.h:46 config/rs6000/aix52.h:53
+-#: config/rs6000/aix53.h:53
++#: config/rs6000/aix53.h:53 config/rs6000/aix61.h:53
+ #, gcc-internal-format
+ msgid "-maix64 required: 64-bit computation with 32-bit addressing not yet supported"
+ msgstr "éœ€è¦ -maix64:目å‰å°šä¸æ”¯æŒ 64 ä½è®¡ç®—å’Œ 32 ä½å¯»å€æ··ç”¨"
+@@ -26052,7 +26020,7 @@
+ #. Number of bytes into the frame return addresses can be found. See
+ #. rs6000_stack_info in rs6000.c for more information on how the different
+ #. abi's store the return address.
+-#: config/rs6000/rs6000.h:1560
++#: config/rs6000/rs6000.h:1569
+ #, gcc-internal-format
+ msgid "RETURN_ADDRESS_OFFSET not supported"
+ msgstr "RETURN_ADDRESS_OFFSET ä¸å—支æŒ"
+@@ -26175,22 +26143,22 @@
+ msgid "-mstack-guard implies use of -mstack-size"
+ msgstr "-mstack-guard æ„味ç€ä½¿ç”¨ -mstack-size"
+
+-#: config/s390/s390.c:6640
++#: config/s390/s390.c:6679
+ #, gcc-internal-format
+ msgid "total size of local variables exceeds architecture limit"
+ msgstr "局部å˜é‡å¤§å°æ€»å’Œè¶…过架构æžé™ã€‚"
+
+-#: config/s390/s390.c:7298
++#: config/s390/s390.c:7349
+ #, gcc-internal-format
+ msgid "frame size of function %qs is "
+ msgstr "函数%qs的框架大å°æ˜¯"
+
+-#: config/s390/s390.c:7328
++#: config/s390/s390.c:7379
+ #, gcc-internal-format
+ msgid "frame size of %qs is "
+ msgstr "%qs的框架大å°æ˜¯"
+
+-#: config/s390/s390.c:7332
++#: config/s390/s390.c:7383
+ #, gcc-internal-format
+ msgid "%qs uses dynamic stack allocation"
+ msgstr "%qs使用动æ€æ ˆåˆ†é…"
+@@ -26200,44 +26168,44 @@
+ msgid "-fPIC and -G are incompatible"
+ msgstr "-fPIC 与 -G 互ä¸å…¼å®¹"
+
+-#: config/sh/sh.c:6894
++#: config/sh/sh.c:6897
+ #, gcc-internal-format
+ msgid "__builtin_saveregs not supported by this subtarget"
+ msgstr "__builtin_saveregs 在此å­ç›®æ ‡ä¸Šä¸å—支æŒ"
+
+-#: config/sh/sh.c:7904
++#: config/sh/sh.c:7907
+ #, gcc-internal-format
+ msgid "%qs attribute only applies to interrupt functions"
+ msgstr "%qs属性åªèƒ½åº”用到中断函数上"
+
+-#: config/sh/sh.c:7990
++#: config/sh/sh.c:7993
+ #, gcc-internal-format
+ msgid "attribute interrupt_handler is not compatible with -m5-compact"
+ msgstr "属性 interrupt_handler 与 -m5-compact ä¸å…¼å®¹"
+
+ #. The argument must be a constant string.
+-#: config/sh/sh.c:8012
++#: config/sh/sh.c:8015
+ #, gcc-internal-format
+ msgid "%qs attribute argument not a string constant"
+ msgstr "%qs属性的å‚æ•°ä¸æ˜¯ä¸€ä¸ªå­—符串常é‡"
+
+ #. The argument must be a constant integer.
+-#: config/sh/sh.c:8037
++#: config/sh/sh.c:8040
+ #, gcc-internal-format
+ msgid "%qs attribute argument not an integer constant"
+ msgstr "%qs属性的å‚æ•°ä¸æ˜¯ä¸€ä¸ªæ•´åž‹å¸¸é‡"
+
+-#: config/sh/sh.c:10085
++#: config/sh/sh.c:10084
+ #, gcc-internal-format
+ msgid "r0 needs to be available as a call-clobbered register"
+ msgstr "r0 需è¦ç”¨ä½œè°ƒç”¨ç¯¡æ”¹çš„寄存器"
+
+-#: config/sh/sh.c:10106
++#: config/sh/sh.c:10105
+ #, gcc-internal-format
+ msgid "Need a second call-clobbered general purpose register"
+ msgstr "需è¦å¦ä¸€ä¸ªè°ƒç”¨ç¯¡æ”¹çš„通用寄存器"
+
+-#: config/sh/sh.c:10114
++#: config/sh/sh.c:10113
+ #, gcc-internal-format
+ msgid "Need a call-clobbered target register"
+ msgstr "需è¦ä¸€ä¸ªè°ƒç”¨ç¯¡æ”¹çš„通用寄存器"
+@@ -26267,7 +26235,7 @@
+ msgid "%s %q+D %s after being referenced with dllimport linkage"
+ msgstr "%s%q+D%s 已被作为 dllimport 链接引用过。"
+
+-#: config/sh/symbian.c:891 cp/tree.c:2737
++#: config/sh/symbian.c:891 cp/tree.c:2753
+ #, gcc-internal-format
+ msgid "lang_* check: failed in %s, at %s:%d"
+ msgstr "lang_* check:在 %s 中失败,于 %s:%d"
+@@ -26310,17 +26278,17 @@
+ msgid "-mrelax is only supported for RTP PIC"
+ msgstr "-mrelax åªåœ¨ RTP PIC 上å—支æŒ"
+
+-#: config/sparc/sparc.c:698
++#: config/sparc/sparc.c:701
+ #, gcc-internal-format
+ msgid "%s is not supported by this configuration"
+ msgstr "%s ä¸ä¸ºè¿™ä¸ªé…置所支æŒ"
+
+-#: config/sparc/sparc.c:705
++#: config/sparc/sparc.c:708
+ #, gcc-internal-format
+ msgid "-mlong-double-64 not allowed with -m64"
+ msgstr "-mlong-double-64 ä¸å…许与 -m64 一起使用"
+
+-#: config/sparc/sparc.c:730
++#: config/sparc/sparc.c:733
+ #, gcc-internal-format
+ msgid "-mcmodel= is not supported on 32 bit systems"
+ msgstr "32 ä½ç³»ç»Ÿä¸æ”¯æŒ -mcmodel="
+@@ -26340,67 +26308,57 @@
+ msgid "parameter list does not match a valid signature for %s()"
+ msgstr "å½¢å‚表ä¸åŒ¹é… %s() 的有效签å"
+
+-#: config/spu/spu.c:337 config/spu/spu.c:348
++#: config/spu/spu.c:341 config/spu/spu.c:352
+ #, gcc-internal-format
+ msgid "Unknown architecture '%s'"
+ msgstr "未知的架构‘%s’"
+
+-#: config/spu/spu.c:3034
++#: config/spu/spu.c:3023
+ #, gcc-internal-format
+ msgid "`%s' attribute ignored"
+ msgstr "忽略‘%s’属性"
+
+-#: config/spu/spu.c:5218
++#: config/spu/spu.c:5207
+ #, gcc-internal-format
+ msgid "%s expects an integer literal in the range [%d, %d]."
+ msgstr "%s 需è¦èŒƒå›´åœ¨[%d,%d]内的整型字é¢å¸¸é‡ã€‚"
+
+-#: config/spu/spu.c:5238
++#: config/spu/spu.c:5227
+ #, gcc-internal-format
+ msgid "%s expects an integer literal in the range [%d, %d]. ("
+ msgstr "%s 需è¦èŒƒå›´åœ¨[%d,%d]内的整型字é¢å¸¸é‡ã€‚("
+
+-#: config/spu/spu.c:5268
++#: config/spu/spu.c:5257
+ #, gcc-internal-format
+ msgid "%d least significant bits of %s are ignored."
+ msgstr "%d ä½æœ‰æ•ˆæ•°å­—为 %s 所忽略"
+
+-#: config/stormy16/stormy16.c:499
++#: config/stormy16/stormy16.c:1080
+ #, gcc-internal-format
+-msgid "constant halfword load operand out of range"
+-msgstr "常é‡åŠå­—加载æ“作数超过范围"
+-
+-#: config/stormy16/stormy16.c:509
+-#, gcc-internal-format
+-msgid "constant arithmetic operand out of range"
+-msgstr "常é‡ç®—术æ“作数超过范围"
+-
+-#: config/stormy16/stormy16.c:1108
+-#, gcc-internal-format
+ msgid "local variable memory requirements exceed capacity"
+ msgstr "局部å˜é‡å†…存需求超过容é‡é™åˆ¶"
+
+-#: config/stormy16/stormy16.c:1274
++#: config/stormy16/stormy16.c:1246
+ #, gcc-internal-format
+ msgid "function_profiler support"
+ msgstr "function_profiler 支æŒ"
+
+-#: config/stormy16/stormy16.c:1363
++#: config/stormy16/stormy16.c:1335
+ #, gcc-internal-format
+ msgid "cannot use va_start in interrupt function"
+ msgstr "ä¸èƒ½ä¸ºä¸­æ–­å‡½æ•°ä½¿ç”¨ va_start"
+
+-#: config/stormy16/stormy16.c:1906
++#: config/stormy16/stormy16.c:1879
+ #, gcc-internal-format
+ msgid "switch statement of size %lu entries too large"
+ msgstr "switch 语å¥å¤ªå¤§(%lu 个æ¡ç›®)"
+
+-#: config/stormy16/stormy16.c:2274
++#: config/stormy16/stormy16.c:2247
+ #, gcc-internal-format
+ msgid "%<__BELOW100__%> attribute only applies to variables"
+ msgstr "属性%<__BELOW100__%>åªå¯¹å˜é‡ç±»åž‹èµ·ä½œç”¨"
+
+-#: config/stormy16/stormy16.c:2281
++#: config/stormy16/stormy16.c:2254
+ #, gcc-internal-format
+ msgid "__BELOW100__ attribute not allowed with auto storage class"
+ msgstr "__BELOW100__ 属性ä¸å…许用于自动存储类"
+@@ -26525,345 +26483,345 @@
+ msgid "too much stack space to prepare: %d"
+ msgstr "è¦å‡†å¤‡å¤ªå¤šçš„堆栈空间:%d"
+
+-#: config/xtensa/xtensa.c:1861
++#: config/xtensa/xtensa.c:1865
+ #, gcc-internal-format
+ msgid "boolean registers required for the floating-point option"
+ msgstr "浮点选项需è¦å¸ƒå°”寄存器"
+
+-#: config/xtensa/xtensa.c:1896
++#: config/xtensa/xtensa.c:1900
+ #, gcc-internal-format
+ msgid "-f%s is not supported with CONST16 instructions"
+ msgstr "CONST16 指令ä¸æ”¯æŒ -f%s"
+
+-#: config/xtensa/xtensa.c:1901
++#: config/xtensa/xtensa.c:1905
+ #, gcc-internal-format
+ msgid "PIC is required but not supported with CONST16 instructions"
+ msgstr "éœ€è¦ PIC,但 CONST16 指令ä¸æ”¯æŒ"
+
+-#: config/xtensa/xtensa.c:2745 config/xtensa/xtensa.c:2765
++#: config/xtensa/xtensa.c:2770 config/xtensa/xtensa.c:2790
+ #, gcc-internal-format
+ msgid "bad builtin code"
+ msgstr "错误的内建代ç "
+
+-#: config/xtensa/xtensa.c:2873
++#: config/xtensa/xtensa.c:2898
+ #, gcc-internal-format
+ msgid "only uninitialized variables can be placed in a .bss section"
+ msgstr "åªæœ‰æœªåˆå§‹åŒ–çš„å˜é‡æ‰èƒ½æ”¾åœ¨ .bss 节中"
+
+-#: ada/misc.c:261
++#: ada/misc.c:260
+ #, gcc-internal-format
+ msgid "missing argument to \"-%s\""
+ msgstr "“-%sâ€ç¼ºå°‘å‚æ•°"
+
+-#: ada/misc.c:311
++#: ada/misc.c:310
+ #, gcc-internal-format
+ msgid "%<-gnat%> misspelled as %<-gant%>"
+ msgstr "%<-gnat%>被错误地拼写为%<-gant%>"
+
+-#: cp/call.c:2462
++#: cp/call.c:2448
+ #, gcc-internal-format
+ msgid "%s %D(%T, %T, %T) <built-in>"
+ msgstr "%s %D(%T, %T, %T) <内建>"
+
+-#: cp/call.c:2467
++#: cp/call.c:2453
+ #, gcc-internal-format
+ msgid "%s %D(%T, %T) <built-in>"
+ msgstr "%s %D(%T, %T) <内建>"
+
+-#: cp/call.c:2471
++#: cp/call.c:2457
+ #, gcc-internal-format
+ msgid "%s %D(%T) <built-in>"
+ msgstr "%s %D(%T) <内建>"
+
+-#: cp/call.c:2475
++#: cp/call.c:2461
+ #, gcc-internal-format
+ msgid "%s %T <conversion>"
+ msgstr "%s %T <转æ¢>"
+
+-#: cp/call.c:2477
++#: cp/call.c:2463
+ #, gcc-internal-format
+ msgid "%s %+#D <near match>"
+ msgstr "%s %+#D <就近匹é…>"
+
+-#: cp/call.c:2479 cp/pt.c:1397
++#: cp/call.c:2465 cp/pt.c:1405
+ #, gcc-internal-format
+ msgid "%s %+#D"
+ msgstr "%s %+#D"
+
+-#: cp/call.c:2720
++#: cp/call.c:2706
+ #, gcc-internal-format
+ msgid "conversion from %qT to %qT is ambiguous"
+ msgstr "从%qT到%qT的转æ¢æœ‰æ­§ä¹‰"
+
+-#: cp/call.c:2873 cp/call.c:2891 cp/call.c:2954
++#: cp/call.c:2859 cp/call.c:2877 cp/call.c:2940
+ #, gcc-internal-format
+ msgid "no matching function for call to %<%D(%A)%>"
+ msgstr "对%<%D(%A)%>的调用没有匹é…的函数"
+
+-#: cp/call.c:2894 cp/call.c:2957
++#: cp/call.c:2880 cp/call.c:2943
+ #, gcc-internal-format
+ msgid "call of overloaded %<%D(%A)%> is ambiguous"
+ msgstr "调用é‡è½½çš„%<%D(%A)%>有歧义"
+
+ #. It's no good looking for an overloaded operator() on a
+ #. pointer-to-member-function.
+-#: cp/call.c:3029
++#: cp/call.c:3015
+ #, gcc-internal-format
+ msgid "pointer-to-member function %E cannot be called without an object; consider using .* or ->*"
+ msgstr "没有对象ä¸èƒ½è°ƒç”¨æˆå‘˜å‡½æ•°æŒ‡é’ˆ %E,考虑使用 .* 或 ->*"
+
+-#: cp/call.c:3103
++#: cp/call.c:3089
+ #, gcc-internal-format
+ msgid "no match for call to %<(%T) (%A)%>"
+ msgstr "对%<(%T) (%A)%>的调用没有匹é…"
+
+-#: cp/call.c:3112
++#: cp/call.c:3098
+ #, gcc-internal-format
+ msgid "call of %<(%T) (%A)%> is ambiguous"
+ msgstr "对%<(%T) (%A)%>的调用有歧义"
+
+-#: cp/call.c:3150
++#: cp/call.c:3136
+ #, gcc-internal-format
+ msgid "%s for ternary %<operator?:%> in %<%E ? %E : %E%>"
+ msgstr "%s 为三元%<operator?:%>在%<%E ? %E : %E%>中"
+
+-#: cp/call.c:3156
++#: cp/call.c:3142
+ #, gcc-internal-format
+ msgid "%s for %<operator%s%> in %<%E%s%>"
+ msgstr "%s 为%<operator%s%>在%<%E%s%>中"
+
+-#: cp/call.c:3160
++#: cp/call.c:3146
+ #, gcc-internal-format
+ msgid "%s for %<operator[]%> in %<%E[%E]%>"
+ msgstr "%s 为%<operator[]%>在%<%E[%E]%>中"
+
+-#: cp/call.c:3165
++#: cp/call.c:3151
+ #, gcc-internal-format
+ msgid "%s for %qs in %<%s %E%>"
+ msgstr "%s 为%qs在%<%s %E%>"
+
+-#: cp/call.c:3170
++#: cp/call.c:3156
+ #, gcc-internal-format
+ msgid "%s for %<operator%s%> in %<%E %s %E%>"
+ msgstr "%s 为%<operator%s%>在%<%E %s %E%>中"
+
+-#: cp/call.c:3173
++#: cp/call.c:3159
+ #, gcc-internal-format
+ msgid "%s for %<operator%s%> in %<%s%E%>"
+ msgstr "%s 为%<operator%s%>在%<%s%E%>中"
+
+-#: cp/call.c:3265
++#: cp/call.c:3251
+ #, gcc-internal-format
+ msgid "ISO C++ forbids omitting the middle term of a ?: expression"
+ msgstr "ISO C ä¸å…许çœç•¥ ?: 表达å¼ä¸­çš„第二项"
+
+-#: cp/call.c:3343
++#: cp/call.c:3329
+ #, gcc-internal-format
+ msgid "second operand to the conditional operator is of type %<void%>, but the third operand is neither a throw-expression nor of type %<void%>"
+ msgstr "æ¡ä»¶æ“作符的第二个æ“作数类型为%<void%>,但第三个æ“作数既ä¸æ˜¯å¼‚常表达å¼ï¼Œä¹Ÿä¸æ‹¥æœ‰%<void%>类型"
+
+-#: cp/call.c:3348
++#: cp/call.c:3334
+ #, gcc-internal-format
+ msgid "third operand to the conditional operator is of type %<void%>, but the second operand is neither a throw-expression nor of type %<void%>"
+ msgstr "æ¡ä»¶æ“作符的第三个æ“作数类型为%<void%>,但第二个æ“作数既ä¸æ˜¯å¼‚常表达å¼ï¼Œä¹Ÿä¸æ‹¥æœ‰%<void%>类型"
+
+-#: cp/call.c:3389 cp/call.c:3609
++#: cp/call.c:3375 cp/call.c:3595
+ #, gcc-internal-format
+ msgid "operands to ?: have different types %qT and %qT"
+ msgstr "?: çš„æ“作数类型ä¸ä¸€è‡´ï¼Œåˆ†åˆ«ä¸º%qTå’Œ%qT"
+
+-#: cp/call.c:3563
++#: cp/call.c:3549
+ #, gcc-internal-format
+ msgid "enumeral mismatch in conditional expression: %qT vs %qT"
+ msgstr "æ¡ä»¶è¡¨è¾¾å¼ä¸­æžšä¸¾ä¸åŒ¹é…:%qT对%qT"
+
+-#: cp/call.c:3570
++#: cp/call.c:3556
+ #, gcc-internal-format
+ msgid "enumeral and non-enumeral type in conditional expression"
+ msgstr "枚举和éžæžšä¸¾ç±»åž‹ä¸€èµ·å‡ºçŽ°åœ¨æ¡ä»¶è¡¨è¾¾å¼ä¸­"
+
+-#: cp/call.c:3874
++#: cp/call.c:3860
+ #, gcc-internal-format
+ msgid "no %<%D(int)%> declared for postfix %qs, trying prefix operator instead"
+ msgstr "%<%D(int)%>没有出现在åŽç¼€%qs中,å°è¯•ä½¿ç”¨å‰ç¼€è¿ç®—符"
+
+-#: cp/call.c:3947
++#: cp/call.c:3936
+ #, gcc-internal-format
+ msgid "comparison between %q#T and %q#T"
+ msgstr "在%q#T和%q#T间比较"
+
+-#: cp/call.c:4229
++#: cp/call.c:4218
+ #, gcc-internal-format
+ msgid "no corresponding deallocation function for `%D'"
+ msgstr "‘%D’没有相应的释放函数"
+
+-#: cp/call.c:4234
++#: cp/call.c:4223
+ #, gcc-internal-format
+ msgid "no suitable %<operator %s%> for %qT"
+ msgstr "没有åˆé€‚çš„%<operator %s%>ç»™%qT"
+
+-#: cp/call.c:4252
++#: cp/call.c:4241
+ #, gcc-internal-format
+ msgid "%q+#D is private"
+ msgstr "%q+#D是ç§æœ‰çš„"
+
+-#: cp/call.c:4254
++#: cp/call.c:4243
+ #, gcc-internal-format
+ msgid "%q+#D is protected"
+ msgstr "%q+#D是ä¿æŠ¤çš„"
+
+-#: cp/call.c:4256
++#: cp/call.c:4245
+ #, gcc-internal-format
+ msgid "%q+#D is inaccessible"
+ msgstr "%q+#D无法访问"
+
+-#: cp/call.c:4257
++#: cp/call.c:4246
+ #, gcc-internal-format
+ msgid "within this context"
+ msgstr "在此上下文中"
+
+-#: cp/call.c:4303
++#: cp/call.c:4292
+ #, gcc-internal-format
+ msgid "passing NULL to non-pointer argument %P of %qD"
+ msgstr "å°† NULL 作为éžæŒ‡é’ˆå®žå‚ %P 传递给%qD"
+
+-#: cp/call.c:4306
++#: cp/call.c:4295
+ #, gcc-internal-format
+ msgid "converting to non-pointer type %qT from NULL"
+ msgstr "å°† NULL 转æ¢åˆ°éžæŒ‡é’ˆç±»åž‹%qT"
+
+-#: cp/call.c:4312
++#: cp/call.c:4301
+ #, gcc-internal-format
+ msgid "converting %<false%> to pointer type for argument %P of %qD"
+-msgstr "å°†%<false%>转æ¢ä¸ºæŒ‡å‘å®žå‚ %P(属于%qD)的指针类型"
++msgstr "å°†%<false%>转æ¢ä¸ºæŒ‡å‘%2$qDçš„å®žå‚ %1$P 的指针类型"
+
+-#: cp/call.c:4356 cp/cvt.c:217
++#: cp/call.c:4346 cp/cvt.c:217
+ #, gcc-internal-format
+ msgid "invalid conversion from %qT to %qT"
+ msgstr "从类型%qT到类型%qT的转æ¢æ— æ•ˆ"
+
+-#: cp/call.c:4358
++#: cp/call.c:4348
+ #, gcc-internal-format
+ msgid " initializing argument %P of %qD"
+-msgstr " åˆå§‹åŒ–å®žå‚ %P,属于%qD"
++msgstr " åˆå§‹åŒ–%2$qDçš„å®žå‚ %1$P"
+
+-#: cp/call.c:4491
++#: cp/call.c:4498
+ #, gcc-internal-format
+ msgid "cannot bind bitfield %qE to %qT"
+ msgstr "无法将ä½æ®µ%qE绑定到%qT"
+
+-#: cp/call.c:4494 cp/call.c:4510
++#: cp/call.c:4501 cp/call.c:4517
+ #, gcc-internal-format
+ msgid "cannot bind packed field %qE to %qT"
+ msgstr "ä¸èƒ½å°†ç´§å®žçš„字段%qE绑定到%qT"
+
+-#: cp/call.c:4497
++#: cp/call.c:4504
+ #, gcc-internal-format
+ msgid "cannot bind rvalue %qE to %qT"
+ msgstr "无法将å³å€¼%qE绑定到%qT"
+
+-#: cp/call.c:4611
++#: cp/call.c:4620
+ #, gcc-internal-format
+ msgid "cannot pass objects of non-POD type %q#T through %<...%>; call will abort at runtime"
+ msgstr "ä¸èƒ½é€šè¿‡%<...%>传递有éžç®€å•æ—§æ•°æ®ç±»åž‹%q#T的对象;调用会在è¿è¡Œæ—¶ä¸­æ­¢"
+
+ #. Undefined behavior [expr.call] 5.2.2/7.
+-#: cp/call.c:4639
++#: cp/call.c:4648
+ #, gcc-internal-format
+ msgid "cannot receive objects of non-POD type %q#T through %<...%>; call will abort at runtime"
+ msgstr "ä¸èƒ½é€šè¿‡%<...%>接å—有éžç®€å•æ—§æ•°æ®ç±»åž‹%q#T的对象;调用会在è¿è¡Œæ—¶ä¸­æ­¢"
+
+-#: cp/call.c:4687
++#: cp/call.c:4696
+ #, gcc-internal-format
+ msgid "the default argument for parameter %d of %qD has not yet been parsed"
+-msgstr "å‚æ•° %d(属于%qD)尚未被解æžåˆ°"
++msgstr "%2$qD的第 %1$d 个形å‚的默认实å‚尚未被解æžåˆ°"
+
+-#: cp/call.c:4697
++#: cp/call.c:4706
+ #, gcc-internal-format
+ msgid "recursive evaluation of default argument for %q#D"
+ msgstr "递归计算%q#D的默认å‚æ•°"
+
+-#: cp/call.c:4802
++#: cp/call.c:4811
+ #, gcc-internal-format
+ msgid "argument of function call might be a candidate for a format attribute"
+ msgstr "函数的实å‚å¯èƒ½æ˜¯ format 属性的备选"
+
+-#: cp/call.c:4950
++#: cp/call.c:4959
+ #, gcc-internal-format
+ msgid "passing %qT as %<this%> argument of %q#D discards qualifiers"
+ msgstr "å°†%qT作为%q#Dçš„%<this%>实å‚时丢弃了类型é™å®š"
+
+-#: cp/call.c:4969
++#: cp/call.c:4978
+ #, gcc-internal-format
+ msgid "%qT is not an accessible base of %qT"
+ msgstr "%qT是%qT的一个ä¸å¯è®¿é—®çš„基类"
+
+-#: cp/call.c:5229
++#: cp/call.c:5238
+ #, gcc-internal-format
+ msgid "could not find class$ field in java interface type %qT"
+ msgstr "在 java 接å£ç±»åž‹%qT中找ä¸åˆ° class$ 字段"
+
+-#: cp/call.c:5470
++#: cp/call.c:5479
+ #, gcc-internal-format
+ msgid "call to non-function %qD"
+ msgstr "调用éžå‡½æ•°çš„%qD"
+
+-#: cp/call.c:5595
++#: cp/call.c:5604
+ #, gcc-internal-format
+ msgid "no matching function for call to %<%T::%s(%A)%#V%>"
+ msgstr "对%<%T::%s(%A)%#V%>的调用没有匹é…的函数"
+
+-#: cp/call.c:5613
++#: cp/call.c:5622
+ #, gcc-internal-format
+ msgid "call of overloaded %<%s(%A)%> is ambiguous"
+ msgstr "对é‡è½½çš„%<%s(%A)%>的调用有歧义"
+
+-#: cp/call.c:5639
++#: cp/call.c:5648
+ #, gcc-internal-format
+ msgid "cannot call member function %qD without object"
+ msgstr "没有对象无法调用æˆå‘˜å‡½æ•°%qD"
+
+-#: cp/call.c:6283
++#: cp/call.c:6307
+ #, gcc-internal-format
+ msgid "passing %qT chooses %qT over %qT"
+ msgstr "传递%qT时选择%qT而ä¸æ˜¯%qT"
+
+-#: cp/call.c:6285 cp/name-lookup.c:4320 cp/name-lookup.c:4753
++#: cp/call.c:6309 cp/name-lookup.c:4322 cp/name-lookup.c:4757
+ #, gcc-internal-format
+ msgid " in call to %qD"
+ msgstr " 在调用%qD时"
+
+-#: cp/call.c:6342
++#: cp/call.c:6366
+ #, gcc-internal-format
+ msgid "choosing %qD over %qD"
+ msgstr "选择%qD而ä¸æ˜¯%qD"
+
+-#: cp/call.c:6343
++#: cp/call.c:6367
+ #, gcc-internal-format
+ msgid " for conversion from %qT to %qT"
+ msgstr " 当从%qT转æ¢ä¸º%qTæ—¶"
+
+-#: cp/call.c:6345
++#: cp/call.c:6369
+ #, gcc-internal-format
+ msgid " because conversion sequence for the argument is better"
+ msgstr " 因为å‰è€…的实å‚类型转æ¢åºåˆ—更好"
+
+-#: cp/call.c:6459
++#: cp/call.c:6483
+ #, 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 "ISO C++ 认为有歧义,尽管第一个备选的最差类型转æ¢è¦å¥½äºŽç¬¬äºŒä¸ªå¤‡é€‰çš„最差类型转æ¢"
+
+-#: cp/call.c:6603
++#: cp/call.c:6627
+ #, gcc-internal-format
+ msgid "could not convert %qE to %qT"
+ msgstr "ä¸èƒ½å°†%qE转æ¢ä¸º%qT"
+
+-#: cp/call.c:6737
++#: cp/call.c:6761
+ #, gcc-internal-format
+ msgid "invalid initialization of non-const reference of type %qT from a temporary of type %qT"
+ msgstr "ä¸èƒ½å°†ç±»åž‹ä¸º%qTçš„éž const 引用åˆå§‹åŒ–为类型为%qT的临时å˜é‡"
+
+-#: cp/call.c:6741
++#: cp/call.c:6765
+ #, gcc-internal-format
+ msgid "invalid initialization of reference of type %qT from expression of type %qT"
+ msgstr "将类型为%qT的引用åˆå§‹åŒ–为类型为%qT的表达å¼æ— æ•ˆ"
+@@ -26873,343 +26831,343 @@
+ msgid "cannot convert from base %qT to derived type %qT via virtual base %qT"
+ msgstr "无法从基类%qT转æ¢åˆ°æ´¾ç”Ÿç±»%qT,通过虚基类%qT"
+
+-#: cp/class.c:961
++#: cp/class.c:971
+ #, gcc-internal-format
+ msgid "Java class %qT cannot have a destructor"
+ msgstr "Java ç±»%qTä¸èƒ½æœ‰æžæž„函数"
+
+-#: cp/class.c:963
++#: cp/class.c:973
+ #, gcc-internal-format
+ msgid "Java class %qT cannot have an implicit non-trivial destructor"
+ msgstr "Java ç±»%qTä¸èƒ½æœ‰éšå¼çš„éžå¹³å‡¡çš„æžæž„函数"
+
+-#: cp/class.c:1062
++#: cp/class.c:1074
+ #, gcc-internal-format
+ msgid "repeated using declaration %q+D"
+ msgstr "é‡å¤çš„ using 声明%q+D"
+
+-#: cp/class.c:1064
++#: cp/class.c:1076
+ #, gcc-internal-format
+ msgid "using declaration %q+D conflicts with a previous using declaration"
+ msgstr "using 声明%q+D与先å‰çš„一个 using 声明冲çª"
+
+-#: cp/class.c:1069
++#: cp/class.c:1081
+ #, gcc-internal-format
+ msgid "%q+#D cannot be overloaded"
+ msgstr "%q+#D无法被é‡è½½"
+
+-#: cp/class.c:1070
++#: cp/class.c:1082
+ #, gcc-internal-format
+ msgid "with %q+#D"
+ msgstr "与%q+#D"
+
+-#: cp/class.c:1137
++#: cp/class.c:1149
+ #, gcc-internal-format
+ msgid "conflicting access specifications for method %q+D, ignored"
+ msgstr "方法%q+Dçš„æƒé™è®¾å®šå†²çªï¼Œå·²å¿½ç•¥"
+
+-#: cp/class.c:1140
++#: cp/class.c:1152
+ #, gcc-internal-format
+ msgid "conflicting access specifications for field %qE, ignored"
+ msgstr "字段%qEçš„æƒé™è®¾å®šå†²çªï¼Œå·²å¿½ç•¥"
+
+-#: cp/class.c:1201 cp/class.c:1209
++#: cp/class.c:1213 cp/class.c:1221
+ #, gcc-internal-format
+ msgid "%q+D invalid in %q#T"
+ msgstr "%q+D无效,在%q#T中"
+
+-#: cp/class.c:1202
++#: cp/class.c:1214
+ #, gcc-internal-format
+ msgid " because of local method %q+#D with same name"
+ msgstr " 因为局部方法%q+#D与之é‡å"
+
+-#: cp/class.c:1210
++#: cp/class.c:1222
+ #, gcc-internal-format
+ msgid " because of local member %q+#D with same name"
+ msgstr " 因为局部æˆå‘˜%q+#D与之é‡å"
+
+-#: cp/class.c:1253
++#: cp/class.c:1265
+ #, gcc-internal-format
+ msgid "base class %q#T has a non-virtual destructor"
+ msgstr "基类%q#T有一个éžè™šæžæž„函数"
+
+-#: cp/class.c:1570
++#: cp/class.c:1582
+ #, gcc-internal-format
+ msgid "all member functions in class %qT are private"
+ msgstr "ç±»%qT中所有æˆå‘˜å‡½æ•°éƒ½æ˜¯ç§æœ‰çš„"
+
+-#: cp/class.c:1582
++#: cp/class.c:1594
+ #, gcc-internal-format
+ msgid "%q#T only defines a private destructor and has no friends"
+ msgstr "%q#T仅定义了一个ç§æœ‰æžæž„函数且没有å‹å…ƒ"
+
+-#: cp/class.c:1626
++#: cp/class.c:1639
+ #, gcc-internal-format
+ msgid "%q#T only defines private constructors and has no friends"
+ msgstr "%q#T仅定义了一个ç§æœ‰æž„造函数且没有å‹å…ƒ"
+
+-#: cp/class.c:2019
++#: cp/class.c:2032
+ #, gcc-internal-format
+ msgid "no unique final overrider for %qD in %qT"
+ msgstr "%qD的最终é‡è½½åœ¨%qT中ä¸å”¯ä¸€"
+
+ #. Here we know it is a hider, and no overrider exists.
+-#: cp/class.c:2439
++#: cp/class.c:2452
+ #, gcc-internal-format
+ msgid "%q+D was hidden"
+ msgstr "%q+D被éšè—"
+
+-#: cp/class.c:2440
++#: cp/class.c:2453
+ #, gcc-internal-format
+ msgid " by %q+D"
+ msgstr " 为%q+D"
+
+-#: cp/class.c:2483 cp/decl2.c:1135
++#: cp/class.c:2496 cp/decl2.c:1178
+ #, gcc-internal-format
+ msgid "%q+#D invalid; an anonymous union can only have non-static data members"
+ msgstr "%q+#D无效;匿åè”åˆåªèƒ½æœ‰éžé™æ€çš„æ•°æ®æˆå‘˜"
+
+-#: cp/class.c:2486
++#: cp/class.c:2499
+ #, gcc-internal-format
+ msgid "%q+#D invalid; an anonymous struct can only have non-static data members"
+ msgstr "%q+#D无效;匿åè”åˆåªèƒ½æœ‰éžé™æ€çš„æ•°æ®æˆå‘˜"
+
+-#: cp/class.c:2494 cp/decl2.c:1141
++#: cp/class.c:2507 cp/decl2.c:1184
+ #, gcc-internal-format
+ msgid "private member %q+#D in anonymous union"
+ msgstr "匿åè”åˆä¸­å‡ºçŽ°ç§æœ‰æˆå‘˜%q+#D"
+
+-#: cp/class.c:2496
++#: cp/class.c:2509
+ #, gcc-internal-format
+ msgid "private member %q+#D in anonymous struct"
+ msgstr "匿åè”åˆä¸­å‡ºçŽ°ç§æœ‰æˆå‘˜%q+#D"
+
+-#: cp/class.c:2501 cp/decl2.c:1143
++#: cp/class.c:2514 cp/decl2.c:1186
+ #, gcc-internal-format
+ msgid "protected member %q+#D in anonymous union"
+ msgstr "匿åè”åˆä¸­å‡ºçŽ°ä¿æŠ¤æˆå‘˜%q+#D"
+
+-#: cp/class.c:2503
++#: cp/class.c:2516
+ #, gcc-internal-format
+ msgid "protected member %q+#D in anonymous struct"
+ msgstr "匿åè”åˆä¸­å‡ºçŽ°ä¿æŠ¤æˆå‘˜%q+#D"
+
+-#: cp/class.c:2677
++#: cp/class.c:2695
+ #, gcc-internal-format
+ msgid "bit-field %q+#D with non-integral type"
+ msgstr "ä½æ®µ%q+#D有éžæ•´æ•°çš„类型"
+
+-#: cp/class.c:2690
++#: cp/class.c:2708
+ #, gcc-internal-format
+ msgid "bit-field %q+D width not an integer constant"
+ msgstr "ä½æ®µ%q+D的宽度ä¸æ˜¯ä¸€ä¸ªæ•´æ•°å¸¸é‡"
+
+-#: cp/class.c:2695
++#: cp/class.c:2713
+ #, gcc-internal-format
+ msgid "negative width in bit-field %q+D"
+ msgstr "ä½æ®µ%q+D宽度为负"
+
+-#: cp/class.c:2700
++#: cp/class.c:2718
+ #, gcc-internal-format
+ msgid "zero width for bit-field %q+D"
+ msgstr "ä½æ®µ%q+D宽度为 0"
+
+-#: cp/class.c:2706
++#: cp/class.c:2724
+ #, gcc-internal-format
+ msgid "width of %q+D exceeds its type"
+ msgstr "%q+D的宽度超过了它的类型"
+
+-#: cp/class.c:2715
++#: cp/class.c:2733
+ #, gcc-internal-format
+ msgid "%q+D is too small to hold all values of %q#T"
+ msgstr "%q+D太å°è€Œä¸èƒ½å­˜æ”¾%q#T的所有å¯èƒ½å€¼"
+
+-#: cp/class.c:2772
++#: cp/class.c:2790
+ #, gcc-internal-format
+ msgid "member %q+#D with constructor not allowed in union"
+ msgstr "有构造函数的æˆå‘˜%q+#Dä¸èƒ½ç”¨åœ¨è”åˆä¸­"
+
+-#: cp/class.c:2775
++#: cp/class.c:2793
+ #, gcc-internal-format
+ msgid "member %q+#D with destructor not allowed in union"
+ msgstr "有æžæž„函数的æˆå‘˜%q+#Dä¸èƒ½ç”¨åœ¨è”åˆä¸­"
+
+-#: cp/class.c:2777
++#: cp/class.c:2795
+ #, gcc-internal-format
+ msgid "member %q+#D with copy assignment operator not allowed in union"
+ msgstr "有拷è´èµ‹å€¼è¿ç®—符的æˆå‘˜%q+#Dä¸èƒ½ç”¨åœ¨è”åˆä¸­"
+
+-#: cp/class.c:2801
++#: cp/class.c:2819
+ #, gcc-internal-format
+ msgid "multiple fields in union %qT initialized"
+ msgstr "åˆå§‹åŒ–了è”åˆ%qT中的多个字段"
+
+-#: cp/class.c:2890
++#: cp/class.c:2908
+ #, gcc-internal-format
+ msgid "%q+D may not be static because it is a member of a union"
+ msgstr "%q+Dä¸èƒ½æ˜¯é™æ€çš„,因为它是è”åˆçš„æˆå‘˜"
+
+-#: cp/class.c:2895
++#: cp/class.c:2913
+ #, gcc-internal-format
+ msgid "%q+D may not have reference type %qT because it is a member of a union"
+ msgstr "%q+Dä¸èƒ½æœ‰å¼•ç”¨ç±»åž‹%qT,因为它是è”åˆçš„æˆå‘˜"
+
+-#: cp/class.c:2906
++#: cp/class.c:2924
+ #, gcc-internal-format
+ msgid "field %q+D invalidly declared function type"
+ msgstr "字段%q+D无效地声明为函数类型"
+
+-#: cp/class.c:2912
++#: cp/class.c:2930
+ #, gcc-internal-format
+ msgid "field %q+D invalidly declared method type"
+ msgstr "字段%q+D无效地声明为方法类型"
+
+-#: cp/class.c:2944
++#: cp/class.c:2968
+ #, gcc-internal-format
+-msgid "non-static reference %q+#D in class without a constructor"
+-msgstr "类中有éžé™æ€å¼•ç”¨%q+#D,å´æ²¡æœ‰æ供构造函数"
+-
+-#: cp/class.c:2955
+-#, gcc-internal-format
+ msgid "ignoring packed attribute because of unpacked non-POD field %q+#D"
+ msgstr "为éžç´§å®žçš„éžç®€å•æ—§æ•°æ®å­—段%q+#D忽略 packed 属性"
+
+-#: cp/class.c:3022
++#: cp/class.c:3047
+ #, gcc-internal-format
+-msgid "non-static const member %q+#D in class without a constructor"
+-msgstr "类中有éžé™æ€å¸¸é‡æˆå‘˜%q+#Då´æ²¡æœ‰æž„造函数"
+-
+-#: cp/class.c:3037
+-#, gcc-internal-format
+ msgid "field %q+#D with same name as class"
+ msgstr "字段%q+#D与类é‡å"
+
+-#: cp/class.c:3068
++#: cp/class.c:3078
+ #, gcc-internal-format
+ msgid "%q#T has pointer data members"
+ msgstr "%q#T有指针数æ®æˆå‘˜"
+
+-#: cp/class.c:3073
++#: cp/class.c:3083
+ #, gcc-internal-format
+ msgid " but does not override %<%T(const %T&)%>"
+ msgstr " 但没有é‡è½½%<%T(const %T&)%>"
+
+-#: cp/class.c:3075
++#: cp/class.c:3085
+ #, gcc-internal-format
+ msgid " or %<operator=(const %T&)%>"
+ msgstr " 或%<operator=(const %T&)%>"
+
+-#: cp/class.c:3079
++#: cp/class.c:3089
+ #, gcc-internal-format
+ msgid " but does not override %<operator=(const %T&)%>"
+ msgstr " 也没有é‡è½½%<operator=(const %T&)%>"
+
+-#: cp/class.c:3540
++#: cp/class.c:3550
+ #, gcc-internal-format
+ msgid "offset of empty base %qT may not be ABI-compliant and maychange in a future version of GCC"
+ msgstr "空基类%qTçš„å移é‡å¯èƒ½ä¸Ž ABI ä¸å…¼å®¹ï¼Œå¹¶ä¸”å¯èƒ½åœ¨ GCC 的未æ¥ç‰ˆæœ¬ä¸­æ”¹å˜"
+
+-#: cp/class.c:3665
++#: cp/class.c:3675
+ #, gcc-internal-format
+ msgid "class %qT will be considered nearly empty in a future version of GCC"
+ msgstr "在 GCC 的未æ¥ç‰ˆæœ¬ä¸­ç±»%qT将被看作几乎为空"
+
+-#: cp/class.c:3747
++#: cp/class.c:3757
+ #, gcc-internal-format
+ msgid "initializer specified for non-virtual method %q+D"
+ msgstr "为éžè™šæ–¹æ³•%q+D指定了åˆå§‹å€¼è®¾å®šé¡¹"
+
+-#: cp/class.c:4412
++#: cp/class.c:4228
+ #, gcc-internal-format
++msgid "non-static reference %q+#D in class without a constructor"
++msgstr "类中有éžé™æ€å¼•ç”¨%q+#D,å´æ²¡æœ‰æ供构造函数"
++
++#: cp/class.c:4233
++#, gcc-internal-format
++msgid "non-static const member %q+#D in class without a constructor"
++msgstr "类中有éžé™æ€å¸¸é‡æˆå‘˜%q+#Då´æ²¡æœ‰æž„造函数"
++
++#: cp/class.c:4488
++#, gcc-internal-format
+ msgid "offset of virtual base %qT is not ABI-compliant and may change in a future version of GCC"
+ msgstr "虚基类%qTçš„å移é‡ä¸Ž ABI ä¸å…¼å®¹ï¼Œå¹¶ä¸”å¯èƒ½åœ¨ GCC 的未æ¥ç‰ˆæœ¬ä¸­æ”¹å˜"
+
+-#: cp/class.c:4513
++#: cp/class.c:4589
+ #, gcc-internal-format
+ msgid "direct base %qT inaccessible in %qT due to ambiguity"
+ msgstr "由于存在歧义,直接基类%qT在%qT中无法访问"
+
+-#: cp/class.c:4525
++#: cp/class.c:4601
+ #, gcc-internal-format
+ msgid "virtual base %qT inaccessible in %qT due to ambiguity"
+ msgstr "由于存在歧义,虚基类%qT在%qT中无法访问"
+
+-#: cp/class.c:4704
++#: cp/class.c:4780
+ #, gcc-internal-format
+ msgid "size assigned to %qT may not be ABI-compliant and may change in a future version of GCC"
+ msgstr "赋于%qT的大å°å¯èƒ½ä¸Ž ABI ä¸å…¼å®¹ï¼Œå¹¶ä¸”å¯èƒ½åœ¨ GCC 的未æ¥ç‰ˆæœ¬ä¸­æ”¹å˜"
+
+-#: cp/class.c:4744
++#: cp/class.c:4820
+ #, gcc-internal-format
+ msgid "the offset of %qD may not be ABI-compliant and may change in a future version of GCC"
+ msgstr "%qDçš„å移é‡å¯èƒ½ä¸Ž ABI ä¸å…¼å®¹ï¼Œå¹¶ä¸”å¯èƒ½åœ¨ GCC 的未æ¥ç‰ˆæœ¬ä¸­æ”¹å˜"
+
+-#: cp/class.c:4772
++#: cp/class.c:4848
+ #, gcc-internal-format
+ msgid "offset of %q+D is not ABI-compliant and may change in a future version of GCC"
+ msgstr "%q+Dçš„å移é‡ä¸Ž ABI ä¸å…¼å®¹ï¼Œå¹¶ä¸”在 GCC 的未æ¥ç‰ˆæœ¬ä¸­å¯èƒ½ä¼šæœ‰å˜åŒ–"
+
+-#: cp/class.c:4781
++#: cp/class.c:4857
+ #, gcc-internal-format
+ msgid "%q+D contains empty classes which may cause base classes to be placed at different locations in a future version of GCC"
+ msgstr "%q+D包å«ä¸€ä¸ªç©ºç±»ï¼ŒåŸºç±»çš„ä½ç½®åœ¨ GCC 的未æ¥ç‰ˆæœ¬å¯èƒ½ä¼šæœ‰å˜åŒ–"
+
+-#: cp/class.c:4864
++#: cp/class.c:4944
+ #, gcc-internal-format
+ msgid "layout of classes derived from empty class %qT may change in a future version of GCC"
+ msgstr "空类%qT的派生类的布局在 GCC 的未æ¥ç‰ˆæœ¬ä¸­å¯èƒ½ä¼šèµ·å˜åŒ–"
+
+-#: cp/class.c:5010 cp/parser.c:14608
++#: cp/class.c:5090 cp/parser.c:14688
+ #, gcc-internal-format
+ msgid "redefinition of %q#T"
+ msgstr "%q#Té‡å®šä¹‰"
+
+-#: cp/class.c:5166
++#: cp/class.c:5246
+ #, gcc-internal-format
+ msgid "%q#T has virtual functions and accessible non-virtual destructor"
+ msgstr "%q#T有虚函数和å¯è®¿é—®çš„éžè™šæ‹Ÿæžæž„函数"
+
+-#: cp/class.c:5268
++#: cp/class.c:5348
+ #, gcc-internal-format
+ msgid "trying to finish struct, but kicked out due to previous parse errors"
+ msgstr "试图完æˆç»“构,但为先å‰çš„解æžé”™è¯¯æ‰€ä¸­æ–­"
+
+-#: cp/class.c:5728
++#: cp/class.c:5808
+ #, gcc-internal-format
+ msgid "language string %<\"%E\"%> not recognized"
+ msgstr "语言字符串%<\"%E\"%>ä¸å¯è¯†åˆ«"
+
+-#: cp/class.c:5817
++#: cp/class.c:5897
+ #, gcc-internal-format
+ msgid "cannot resolve overloaded function %qD based on conversion to type %qT"
+ msgstr "无法解æžé‡è½½å‡½æ•°%qD,基于å‘类型%qT的转æ¢"
+
+-#: cp/class.c:5946
++#: cp/class.c:6026
+ #, gcc-internal-format
+ msgid "no matches converting function %qD to type %q#T"
+ msgstr "没有å¯å°†å‡½æ•°%qD转æ¢åˆ°ç±»åž‹%q#T的匹é…项"
+
+-#: cp/class.c:5969
++#: cp/class.c:6049
+ #, gcc-internal-format
+ msgid "converting overloaded function %qD to type %q#T is ambiguous"
+ msgstr "å°†é‡è½½å‡½æ•°%qD转æ¢ä¸ºç±»åž‹%q#T有歧义"
+
+-#: cp/class.c:5995
++#: cp/class.c:6075
+ #, gcc-internal-format
+ msgid "assuming pointer to member %qD"
+ msgstr "å‡å®šæ˜¯æˆå‘˜æŒ‡é’ˆ%qD"
+
+-#: cp/class.c:5998
++#: cp/class.c:6078
+ #, gcc-internal-format
+ msgid "(a pointer to member can only be formed with %<&%E%>)"
+ msgstr "(æˆå‘˜æŒ‡é’ˆåªèƒ½ç”¨%<&%E%>æž„æˆ)"
+
+-#: cp/class.c:6054 cp/class.c:6088
++#: cp/class.c:6134 cp/class.c:6168
+ #, gcc-internal-format
+ msgid "not enough type information"
+ msgstr "类型信æ¯ä¸å……分"
+
+-#: cp/class.c:6071
++#: cp/class.c:6151
+ #, gcc-internal-format
+ msgid "argument of type %qT does not match %qT"
+ msgstr "实å‚类型为%qT,与%qTä¸åŒ¹é…"
+@@ -27219,12 +27177,12 @@
+ #. A name N used in a class S shall refer to the same declaration
+ #. in its context and when re-evaluated in the completed scope of
+ #. S.
+-#: cp/class.c:6358 cp/decl.c:1199 cp/name-lookup.c:526
++#: cp/class.c:6438 cp/decl.c:1200 cp/name-lookup.c:525
+ #, gcc-internal-format
+ msgid "declaration of %q#D"
+ msgstr "%q#D的声明"
+
+-#: cp/class.c:6359
++#: cp/class.c:6439
+ #, gcc-internal-format
+ msgid "changes meaning of %qD from %q+#D"
+ msgstr "改å˜äº†%qD的原æ„%q+#D"
+@@ -27259,7 +27217,7 @@
+ msgid "conversion from %qT to %qT discards qualifiers"
+ msgstr "从%qT到%qT的转æ¢ä¸¢å¤±äº†é™å®šä¿¡æ¯"
+
+-#: cp/cvt.c:470 cp/typeck.c:5257
++#: cp/cvt.c:470 cp/typeck.c:5265
+ #, gcc-internal-format
+ msgid "casting %qT to %qT does not dereference pointer"
+ msgstr "从%qT转æ¢åˆ°%qT并未æ领指针"
+@@ -27269,190 +27227,190 @@
+ msgid "cannot convert type %qT to type %qT"
+ msgstr "ä¸èƒ½å°†ç±»åž‹%qT转æ¢ä¸ºç±»åž‹%qT"
+
+-#: cp/cvt.c:656
++#: cp/cvt.c:649
+ #, gcc-internal-format
+ msgid "conversion from %q#T to %q#T"
+ msgstr "从%q#T到%q#T的转æ¢"
+
+-#: cp/cvt.c:668 cp/cvt.c:688
++#: cp/cvt.c:661 cp/cvt.c:681
+ #, gcc-internal-format
+ msgid "%q#T used where a %qT was expected"
+ msgstr "ä¸åº”使用%q#T而应使用%qT"
+
+-#: cp/cvt.c:703
++#: cp/cvt.c:696
+ #, gcc-internal-format
+ msgid "%q#T used where a floating point value was expected"
+ msgstr "需è¦æµ®ç‚¹æ•°å€¼æ—¶ä½¿ç”¨äº†%q#T"
+
+-#: cp/cvt.c:750
++#: cp/cvt.c:743
+ #, gcc-internal-format
+ msgid "conversion from %qT to non-scalar type %qT requested"
+ msgstr "请求从%qT转æ¢åˆ°éžæ ‡é‡ç±»åž‹%qT"
+
+-#: cp/cvt.c:784
++#: cp/cvt.c:777
+ #, gcc-internal-format
+ msgid "pseudo-destructor is not called"
+ msgstr "伪æžæž„函数未被调用"
+
+-#: cp/cvt.c:844
++#: cp/cvt.c:837
+ #, gcc-internal-format
+ msgid "object of incomplete type %qT will not be accessed in %s"
+ msgstr "具有ä¸å®Œå…¨ç±»åž‹%qT的对象ä¸ä¼šåœ¨ %s 中被访问"
+
+-#: cp/cvt.c:849
++#: cp/cvt.c:842
+ #, gcc-internal-format
+ msgid "object of type %qT will not be accessed in %s"
+ msgstr "类型为%qT的对象ä¸ä¼šåœ¨ %s 中被访问"
+
+-#: cp/cvt.c:865
++#: cp/cvt.c:858
+ #, gcc-internal-format
+ msgid "object %qE of incomplete type %qT will not be accessed in %s"
+ msgstr "对象%qE具有ä¸å®Œå…¨çš„类型%qT,ä¸ä¼šåœ¨ %s 中被访问"
+
+ #. [over.over] enumerates the places where we can take the address
+ #. of an overloaded function, and this is not one of them.
+-#: cp/cvt.c:902
++#: cp/cvt.c:895
+ #, gcc-internal-format
+ msgid "%s cannot resolve address of overloaded function"
+ msgstr "%s 无法解æžé‡è½½çš„函数地å€"
+
+ #. Only warn when there is no &.
+-#: cp/cvt.c:909
++#: cp/cvt.c:902
+ #, gcc-internal-format
+ msgid "%s is a reference, not call, to function %qE"
+ msgstr "%s 是对函数%qE的一个引用而ä¸æ˜¯è°ƒç”¨"
+
+-#: cp/cvt.c:926
++#: cp/cvt.c:919
+ #, gcc-internal-format
+ msgid "%s has no effect"
+ msgstr "%s ä¸èµ·ä½œç”¨"
+
+-#: cp/cvt.c:958
++#: cp/cvt.c:951
+ #, gcc-internal-format
+ msgid "value computed is not used"
+ msgstr "计算出的值未被使用"
+
+-#: cp/cvt.c:1068
++#: cp/cvt.c:1061
+ #, gcc-internal-format
+ msgid "converting NULL to non-pointer type"
+ msgstr "å°† NULL 转æ¢ä¸ºéžæŒ‡é’ˆç±»åž‹"
+
+-#: cp/cvt.c:1174
++#: cp/cvt.c:1167
+ #, gcc-internal-format
+ msgid "ambiguous default type conversion from %qT"
+ msgstr "%qT的默认类型转æ¢æœ‰æ­§ä¹‰"
+
+-#: cp/cvt.c:1176
++#: cp/cvt.c:1169
+ #, gcc-internal-format
+ msgid " candidate conversions include %qD and %qD"
+ msgstr " 备选转æ¢åŒ…括%qDå’Œ%qD"
+
+-#: cp/decl.c:1062
++#: cp/decl.c:1063
+ #, gcc-internal-format
+ msgid "%qD was declared %<extern%> and later %<static%>"
+ msgstr "%qD先被声明为%<extern%>åŽåˆè¢«å£°æ˜Žä¸º%<static%>"
+
+-#: cp/decl.c:1063 cp/decl.c:1618 objc/objc-act.c:2931 objc/objc-act.c:7503
++#: cp/decl.c:1064 cp/decl.c:1619 objc/objc-act.c:2931 objc/objc-act.c:7503
+ #, gcc-internal-format
+ msgid "previous declaration of %q+D"
+ msgstr "%q+Dçš„å‰ä¸€ä¸ªå£°æ˜Ž"
+
+-#: cp/decl.c:1096
++#: cp/decl.c:1097
+ #, gcc-internal-format
+ msgid "declaration of %qF throws different exceptions"
+ msgstr "%qF的声明抛出ä¸åŒçš„异常"
+
+-#: cp/decl.c:1097
++#: cp/decl.c:1098
+ #, gcc-internal-format
+ msgid "from previous declaration %q+F"
+ msgstr "从先å‰çš„声明%q+F"
+
+-#: cp/decl.c:1153
++#: cp/decl.c:1154
+ #, gcc-internal-format
+ msgid "function %q+D redeclared as inline"
+ msgstr "函数%q+Dé‡å£°æ˜Žä¸ºå†…è”çš„"
+
+-#: cp/decl.c:1155
++#: cp/decl.c:1156
+ #, gcc-internal-format
+ msgid "previous declaration of %q+D with attribute noinline"
+ msgstr "å…ˆå‰%q+D的声明带有 noinline 属性"
+
+-#: cp/decl.c:1162
++#: cp/decl.c:1163
+ #, gcc-internal-format
+ msgid "function %q+D redeclared with attribute noinline"
+ msgstr "函数%q+Dé‡å£°æ˜Žä¸ºå¸¦æœ‰ä¸å¯å†…è”属性"
+
+-#: cp/decl.c:1164
++#: cp/decl.c:1165
+ #, gcc-internal-format
+ msgid "previous declaration of %q+D was inline"
+ msgstr "%q+Då…ˆå‰è¢«å£°æ˜Žä¸ºå†…è”çš„"
+
+-#: cp/decl.c:1186 cp/decl.c:1259
++#: cp/decl.c:1187 cp/decl.c:1260
+ #, gcc-internal-format
+ msgid "shadowing %s function %q#D"
+ msgstr "éšè—了 %s 函数%q#D"
+
+-#: cp/decl.c:1195
++#: cp/decl.c:1196
+ #, gcc-internal-format
+ msgid "library function %q#D redeclared as non-function %q#D"
+ msgstr "库函数%q#Dé‡å£°æ˜Žä¸ºéžå‡½æ•°%q#D"
+
+-#: cp/decl.c:1200
++#: cp/decl.c:1201
+ #, gcc-internal-format
+ msgid "conflicts with built-in declaration %q#D"
+ msgstr "与内建声明%q#D冲çª"
+
+-#: cp/decl.c:1254 cp/decl.c:1380 cp/decl.c:1396
++#: cp/decl.c:1255 cp/decl.c:1381 cp/decl.c:1397
+ #, gcc-internal-format
+ msgid "new declaration %q#D"
+ msgstr "对%q#D的新声明"
+
+-#: cp/decl.c:1255
++#: cp/decl.c:1256
+ #, gcc-internal-format
+ msgid "ambiguates built-in declaration %q#D"
+ msgstr "使内建声明%q#D出现歧义"
+
+-#: cp/decl.c:1344
++#: cp/decl.c:1345
+ #, gcc-internal-format
+ msgid "%q#D redeclared as different kind of symbol"
+ msgstr "%q#D被é‡æ–°å£°æ˜Žä¸ºä¸åŒæ„义的符å·"
+
+-#: cp/decl.c:1347
++#: cp/decl.c:1348
+ #, gcc-internal-format
+ msgid "previous declaration of %q+#D"
+ msgstr "%q+#Dçš„å‰ä¸€ä¸ªå£°æ˜Ž"
+
+-#: cp/decl.c:1366
++#: cp/decl.c:1367
+ #, gcc-internal-format
+ msgid "declaration of template %q#D"
+ msgstr "模æ¿å£°æ˜Ž%q#D"
+
+-#: cp/decl.c:1367 cp/name-lookup.c:527
++#: cp/decl.c:1368 cp/name-lookup.c:526
+ #, gcc-internal-format
+ msgid "conflicts with previous declaration %q+#D"
+ msgstr "与先å‰çš„声明%q+#D冲çª"
+
+-#: cp/decl.c:1381 cp/decl.c:1397
++#: cp/decl.c:1382 cp/decl.c:1398
+ #, gcc-internal-format
+ msgid "ambiguates old declaration %q+#D"
+ msgstr "使旧的声明%q+#D出现歧义"
+
+-#: cp/decl.c:1389
++#: cp/decl.c:1390
+ #, gcc-internal-format
+ msgid "declaration of C function %q#D conflicts with"
+ msgstr "C 函数%q#D的声明"
+
+-#: cp/decl.c:1391
++#: cp/decl.c:1392
+ #, gcc-internal-format
+ msgid "previous declaration %q+#D here"
+ msgstr "与此处早先的声明%q+#D冲çª"
+
+-#: cp/decl.c:1405
++#: cp/decl.c:1406
+ #, gcc-internal-format
+ msgid "conflicting declaration %q#D"
+ msgstr "相互冲çªçš„声明%q#D"
+
+-#: cp/decl.c:1406
++#: cp/decl.c:1407
+ #, gcc-internal-format
+ msgid "%q+D has a previous declaration as %q#D"
+ msgstr "%q+D早先被声明为%q#D"
+@@ -27464,63 +27422,63 @@
+ #. A namespace-name defined at global scope shall not be
+ #. declared as the name of any other entity in any global scope
+ #. of the program.
+-#: cp/decl.c:1458
++#: cp/decl.c:1459
+ #, gcc-internal-format
+ msgid "declaration of namespace %qD conflicts with"
+ msgstr "命å空间%qD的声明存在冲çªï¼Œä¸Ž"
+
+-#: cp/decl.c:1459
++#: cp/decl.c:1460
+ #, gcc-internal-format
+ msgid "previous declaration of namespace %q+D here"
+ msgstr "命å空间%q+D早先的声明在这里"
+
+-#: cp/decl.c:1470
++#: cp/decl.c:1471
+ #, gcc-internal-format
+ msgid "%q+#D previously defined here"
+ msgstr "%q+#D已在此定义过"
+
+ #. Prototype decl follows defn w/o prototype.
+-#: cp/decl.c:1480
++#: cp/decl.c:1481
+ #, gcc-internal-format
+ msgid "prototype for %q+#D"
+ msgstr "%q+#D的原型"
+
+-#: cp/decl.c:1481
++#: cp/decl.c:1482
+ #, gcc-internal-format
+ msgid "%Jfollows non-prototype definition here"
+ msgstr "%J在这里的éžåŽŸåž‹å®šä¹‰ä¹‹åŽ"
+
+-#: cp/decl.c:1521
++#: cp/decl.c:1522
+ #, gcc-internal-format
+ msgid "previous declaration of %q+#D with %qL linkage"
+ msgstr "%q+#D的早先声明有%qL链接"
+
+-#: cp/decl.c:1523
++#: cp/decl.c:1524
+ #, gcc-internal-format
+ msgid "conflicts with new declaration with %qL linkage"
+ msgstr "与带有%qL链接的新声明冲çª"
+
+-#: cp/decl.c:1546 cp/decl.c:1552
++#: cp/decl.c:1547 cp/decl.c:1553
+ #, gcc-internal-format
+ msgid "default argument given for parameter %d of %q#D"
+-msgstr "ä¸ºå½¢å‚ %d (属于%q#D)指定了默认实å‚"
++msgstr "为%2$q#D的第 %1$d 个形å‚指定了默认实å‚"
+
+-#: cp/decl.c:1548 cp/decl.c:1554
++#: cp/decl.c:1549 cp/decl.c:1555
+ #, gcc-internal-format
+ msgid "after previous specification in %q+#D"
+ msgstr "但先å‰åœ¨%q+#D中已有指定"
+
+-#: cp/decl.c:1563
++#: cp/decl.c:1564
+ #, gcc-internal-format
+ msgid "%q#D was used before it was declared inline"
+ msgstr "%q#D在被声明为内è”之å‰è¢«ç”¨åˆ°"
+
+-#: cp/decl.c:1564
++#: cp/decl.c:1565
+ #, gcc-internal-format
+ msgid "%Jprevious non-inline declaration here"
+ msgstr "%Jå…ˆå‰çš„éžå†…è”声明在这里"
+
+-#: cp/decl.c:1617
++#: cp/decl.c:1618
+ #, gcc-internal-format
+ msgid "redundant redeclaration of %qD in same scope"
+ msgstr "åŒä¸€ä½œç”¨åŸŸä¸­%qD冗余的é‡å£°æ˜Ž"
+@@ -27533,313 +27491,319 @@
+ #. that specialization that would cause an implicit
+ #. instantiation to take place, in every translation unit in
+ #. which such a use occurs.
+-#: cp/decl.c:1932
++#: cp/decl.c:1939
+ #, gcc-internal-format
+ msgid "explicit specialization of %qD after first use"
+ msgstr "在åˆæ¬¡ä½¿ç”¨åŽæ˜¾å¼ç‰¹ä¾‹åŒ–%qD"
+
+-#: cp/decl.c:2028
++#: cp/decl.c:2035
+ #, gcc-internal-format
+ msgid "%q+D: visibility attribute ignored because it"
+ msgstr "%q+D:å¯è§æ€§å±žæ€§è¢«å¿½ç•¥ï¼Œå› ä¸ºå®ƒ"
+
+-#: cp/decl.c:2030
++#: cp/decl.c:2037
+ #, gcc-internal-format
+ msgid "%Jconflicts with previous declaration here"
+ msgstr "%J与此处先å‰çš„声明冲çª"
+
+-#: cp/decl.c:2457
++#: cp/decl.c:2464
+ #, gcc-internal-format
+ msgid "jump to label %qD"
+ msgstr "跳转至标å·%qD"
+
+-#: cp/decl.c:2459
++#: cp/decl.c:2466
+ #, gcc-internal-format
+ msgid "jump to case label"
+ msgstr "跳转至 case æ ‡å·"
+
+-#: cp/decl.c:2461
++#: cp/decl.c:2468
+ #, gcc-internal-format
+ msgid "%H from here"
+ msgstr "%H 从这里"
+
+-#: cp/decl.c:2480 cp/decl.c:2643
++#: cp/decl.c:2487 cp/decl.c:2650
+ #, gcc-internal-format
+ msgid " exits OpenMP structured block"
+ msgstr " 退出 OpenMP 结构å—"
+
+-#: cp/decl.c:2501
++#: cp/decl.c:2508
+ #, gcc-internal-format
+ msgid " crosses initialization of %q+#D"
+ msgstr " 跳过%q+#Dçš„åˆå§‹åŒ–"
+
+-#: cp/decl.c:2503 cp/decl.c:2618
++#: cp/decl.c:2510 cp/decl.c:2625
+ #, gcc-internal-format
+ msgid " enters scope of non-POD %q+#D"
+ msgstr " 进入éžç®€å•æ—§æ•°æ®%q+#D的作用域"
+
+-#: cp/decl.c:2516 cp/decl.c:2622
++#: cp/decl.c:2523 cp/decl.c:2629
+ #, gcc-internal-format
+ msgid " enters try block"
+ msgstr " 进入 try å—"
+
+-#: cp/decl.c:2518 cp/decl.c:2624
++#: cp/decl.c:2525 cp/decl.c:2631
+ #, gcc-internal-format
+ msgid " enters catch block"
+ msgstr " 进入 catch å—"
+
+-#: cp/decl.c:2528 cp/decl.c:2627
++#: cp/decl.c:2535 cp/decl.c:2634
+ #, gcc-internal-format
+ msgid " enters OpenMP structured block"
+ msgstr " 进入 OpenMP 结构å—"
+
+-#: cp/decl.c:2599 cp/decl.c:2639
++#: cp/decl.c:2606 cp/decl.c:2646
+ #, gcc-internal-format
+ msgid "jump to label %q+D"
+ msgstr "跳转至标å·%q+D"
+
+-#: cp/decl.c:2600 cp/decl.c:2640
++#: cp/decl.c:2607 cp/decl.c:2647
+ #, gcc-internal-format
+ msgid " from here"
+ msgstr " 从这里"
+
+ #. Can't skip init of __exception_info.
+-#: cp/decl.c:2612
++#: cp/decl.c:2619
+ #, gcc-internal-format
+ msgid "%J enters catch block"
+ msgstr "%J 进入 catch å—"
+
+-#: cp/decl.c:2616
++#: cp/decl.c:2623
+ #, gcc-internal-format
+ msgid " skips initialization of %q+#D"
+ msgstr " 跳过%q+#Dçš„åˆå§‹åŒ–"
+
+-#: cp/decl.c:2692
++#: cp/decl.c:2699
+ #, gcc-internal-format
+ msgid "label named wchar_t"
+ msgstr "æ ‡å·å为 wchar_t"
+
+-#: cp/decl.c:2696
++#: cp/decl.c:2703
+ #, gcc-internal-format
+ msgid "duplicate label %qD"
+ msgstr "é‡å¤çš„æ ‡å·%qD"
+
+-#: cp/decl.c:2962
++#: cp/decl.c:2969
+ #, gcc-internal-format
+ msgid "%qD is not a type"
+ msgstr "%qDä¸æ˜¯ä¸€ä¸ªç±»åž‹"
+
+-#: cp/decl.c:2968 cp/parser.c:4033
++#: cp/decl.c:2975 cp/parser.c:4037
+ #, gcc-internal-format
+ msgid "%qD used without template parameters"
+ msgstr "%qD使用时未带模æ¿å‚æ•°"
+
+-#: cp/decl.c:2983
++#: cp/decl.c:2990
+ #, gcc-internal-format
+ msgid "%q#T is not a class"
+ msgstr "%q#Tä¸æ˜¯ä¸€ä¸ªç±»"
+
+-#: cp/decl.c:2995 cp/decl.c:3063
++#: cp/decl.c:3002 cp/decl.c:3070
+ #, gcc-internal-format
+ msgid "no class template named %q#T in %q#T"
+ msgstr "没有å为%q#T的类模æ¿ï¼Œåœ¨%q#T中 "
+
+-#: cp/decl.c:3003
++#: cp/decl.c:3010
+ #, gcc-internal-format
+ msgid "%<typename %T::%D%> names %q#T, which is not a class template"
+ msgstr "%<typename %T::%D%>指定了%q#T,但åŽè€…ä¸æ˜¯ä¸€ä¸ªç±»æ¨¡æ¿"
+
+-#: cp/decl.c:3010
++#: cp/decl.c:3017
+ #, gcc-internal-format
+ msgid "%<typename %T::%D%> names %q#T, which is not a type"
+ msgstr "%<typename %T::%D%>指定了%q#T,但åŽè€…ä¸æ˜¯ä¸€ä¸ªç±»åž‹"
+
+-#: cp/decl.c:3072
++#: cp/decl.c:3079
+ #, gcc-internal-format
+ msgid "template parameters do not match template"
+ msgstr "模æ¿å‚数与模æ¿ä¸ç¬¦"
+
+-#: cp/decl.c:3073 cp/friend.c:321 cp/friend.c:329
++#: cp/decl.c:3080 cp/friend.c:321 cp/friend.c:329
+ #, gcc-internal-format
+ msgid "%q+D declared here"
+ msgstr "%q+D已在此声明过"
+
+-#: cp/decl.c:3711
++#: cp/decl.c:3727
+ #, gcc-internal-format
+ msgid "%Jan anonymous struct cannot have function members"
+ msgstr "%J一个匿åè”åˆä¸èƒ½æœ‰å‡½æ•°æˆå‘˜"
+
+-#: cp/decl.c:3713
++#: cp/decl.c:3729
+ #, gcc-internal-format
+ msgid "%Jan anonymous union cannot have function members"
+ msgstr "%J一个匿åè”åˆä¸èƒ½æœ‰å‡½æ•°æˆå‘˜"
+
+-#: cp/decl.c:3731
++#: cp/decl.c:3747
+ #, gcc-internal-format
+ msgid "member %q+#D with constructor not allowed in anonymous aggregate"
+ msgstr "有构造函数的æˆå‘˜%q+#Dä¸å…许在匿åèšåˆä¸­å‡ºçŽ°"
+
+-#: cp/decl.c:3734
++#: cp/decl.c:3750
+ #, gcc-internal-format
+ msgid "member %q+#D with destructor not allowed in anonymous aggregate"
+ msgstr "有构构函数的æˆå‘˜%q+#Dä¸å…许在匿åèšåˆä¸­å‡ºçŽ°"
+
+-#: cp/decl.c:3737
++#: cp/decl.c:3753
+ #, gcc-internal-format
+ msgid "member %q+#D with copy assignment operator not allowed in anonymous aggregate"
+ msgstr "有拷è´èµ‹å€¼è¿ç®—符的æˆå‘˜%q+#Dä¸èƒ½ç”¨åœ¨è”åˆä¸­"
+
+-#: cp/decl.c:3762
++#: cp/decl.c:3778
+ #, gcc-internal-format
+ msgid "multiple types in one declaration"
+ msgstr "一个声明指定了多个类型"
+
+-#: cp/decl.c:3766
++#: cp/decl.c:3782
+ #, gcc-internal-format
+ msgid "redeclaration of C++ built-in type %qT"
+ msgstr "对 C++ 内建类型%qTçš„é‡å£°æ˜Ž"
+
+-#: cp/decl.c:3803
++#: cp/decl.c:3819
+ #, gcc-internal-format
+ msgid "missing type-name in typedef-declaration"
+ msgstr "typedef 声明中缺少类型å"
+
+-#: cp/decl.c:3811
++#: cp/decl.c:3827
+ #, gcc-internal-format
+ msgid "ISO C++ prohibits anonymous structs"
+ msgstr "ISO C++ ä¸å…许匿å结构"
+
+-#: cp/decl.c:3818
++#: cp/decl.c:3834
+ #, gcc-internal-format
+ msgid "%qs can only be specified for functions"
+ msgstr "åªèƒ½ä¸ºå‡½æ•°æŒ‡å®š%qs"
+
+-#: cp/decl.c:3824
++#: cp/decl.c:3840
+ #, gcc-internal-format
+ msgid "%<friend%> can only be specified inside a class"
+ msgstr "%<friend%>åªèƒ½åœ¨ç±»ä¸­æŒ‡å®š"
+
+-#: cp/decl.c:3826
++#: cp/decl.c:3842
+ #, gcc-internal-format
+ msgid "%<explicit%> can only be specified for constructors"
+ msgstr "åªèƒ½ä¸ºæž„造函数指定%<explicit%>"
+
+-#: cp/decl.c:3828
++#: cp/decl.c:3844
+ #, gcc-internal-format
+ msgid "a storage class can only be specified for objects and functions"
+ msgstr "åªèƒ½ä¸ºå¯¹è±¡å’Œå‡½æ•°æŒ‡å®šå­˜å‚¨ç±»"
+
+-#: cp/decl.c:3834
++#: cp/decl.c:3850
+ #, gcc-internal-format
+ msgid "qualifiers can only be specified for objects and functions"
+ msgstr "åªèƒ½ä¸ºå¯¹è±¡å’Œå‡½æ•°æŒ‡å®šç±»åž‹é™å®š"
+
+-#: cp/decl.c:3837
++#: cp/decl.c:3853
+ #, gcc-internal-format
+ msgid "%<typedef%> was ignored in this declaration"
+ msgstr "此声明中的 typedef 被忽略"
+
+-#: cp/decl.c:3866
++#: cp/decl.c:3882
+ #, gcc-internal-format
+ msgid "attribute ignored in declaration of %q+#T"
+ msgstr "属性于%q+#T的声明中被忽略"
+
+-#: cp/decl.c:3867
++#: cp/decl.c:3883
+ #, gcc-internal-format
+ msgid "attribute for %q+#T must follow the %qs keyword"
+ msgstr "%q+#T的属性必须跟在%qs关键字åŽé¢"
+
+-#: cp/decl.c:3909
++#: cp/decl.c:3925
+ #, gcc-internal-format
+-msgid "ignoring attributes applied to class type outside of definition"
+-msgstr "忽略在定义之外为类类型应用的属性"
++msgid "ignoring attributes applied to class type %qT outside of definition"
++msgstr "忽略在定义之外为类类型%qT应用的属性"
+
+-#: cp/decl.c:3987
++#. A template type parameter or other dependent type.
++#: cp/decl.c:3929
+ #, gcc-internal-format
++msgid "ignoring attributes applied to dependent type %qT without an associated declaration"
++msgstr "忽略在关è”定义之外为ä¾èµ–类类型%qT应用的属性"
++
++#: cp/decl.c:4007
++#, gcc-internal-format
+ msgid "function %q#D is initialized like a variable"
+ msgstr "函数%q#Dåƒå˜é‡ä¸€æ ·è¢«åˆå§‹åŒ–"
+
+-#: cp/decl.c:3998
++#: cp/decl.c:4018
+ #, gcc-internal-format
+ msgid "declaration of %q#D has %<extern%> and is initialized"
+ msgstr "%q#D声明有%<extern%>并被åˆå§‹åŒ–"
+
+-#: cp/decl.c:4014
++#: cp/decl.c:4034
+ #, gcc-internal-format
+ msgid "definition of %q#D is marked %<dllimport%>"
+ msgstr "%q#D的定义被标记为 dllimport"
+
+-#: cp/decl.c:4033
++#: cp/decl.c:4053
+ #, gcc-internal-format
+ msgid "%q#D is not a static member of %q#T"
+ msgstr "%q#Dä¸æ˜¯%q#Tçš„é™æ€æˆå‘˜"
+
+-#: cp/decl.c:4039
++#: cp/decl.c:4059
+ #, 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.c:4048
++#: cp/decl.c:4068
+ #, gcc-internal-format
+ msgid "template header not allowed in member definition of explicitly specialized class"
+ msgstr "模æ¿å¤´ä¸å…许出现在显å¼ç‰¹ä¾‹åŒ–类的æˆå‘˜å®šä¹‰ä¸­"
+
+-#: cp/decl.c:4056
++#: cp/decl.c:4076
+ #, gcc-internal-format
+ msgid "duplicate initialization of %qD"
+ msgstr "ISO C++ ä¸å…许æˆå‘˜%qDçš„åˆå§‹åŒ–"
+
+-#: cp/decl.c:4095
++#: cp/decl.c:4115
+ #, gcc-internal-format
+ msgid "declaration of %q#D outside of class is not definition"
+ msgstr "出现在类外的%q#D的声明ä¸æ˜¯å®šä¹‰"
+
+-#: cp/decl.c:4188
++#: cp/decl.c:4208
+ #, gcc-internal-format
+ msgid "variable %q#D has initializer but incomplete type"
+ msgstr "å˜é‡%q#D有åˆå§‹å€¼è®¾å®šï¼Œä½†æ˜¯ç±»åž‹ä¸å®Œå…¨"
+
+-#: cp/decl.c:4194 cp/decl.c:4906
++#: cp/decl.c:4214 cp/decl.c:4926
+ #, gcc-internal-format
+ msgid "elements of array %q#D have incomplete type"
+ msgstr "数组%q#D的元素类型ä¸å®Œå…¨"
+
+-#: cp/decl.c:4200
++#: cp/decl.c:4220
+ #, gcc-internal-format
+ msgid "aggregate %q#D has incomplete type and cannot be defined"
+ msgstr "èšåˆ%q#D类型ä¸å®Œå…¨ï¼Œæ— æ³•è¢«å®šä¹‰"
+
+-#: cp/decl.c:4236
++#: cp/decl.c:4256
+ #, gcc-internal-format
+ msgid "%qD declared as reference but not initialized"
+ msgstr "%qD声明为引用å´æœªè¢«åˆå§‹åŒ–"
+
+-#: cp/decl.c:4242
++#: cp/decl.c:4262
+ #, gcc-internal-format
+ msgid "ISO C++ forbids use of initializer list to initialize reference %qD"
+ msgstr "ISO C++ ä¸å…许使用åˆå§‹å€¼è®¾å®šåˆ—表æ¥åˆå§‹åŒ–引用%qD"
+
+-#: cp/decl.c:4268
++#: cp/decl.c:4288
+ #, gcc-internal-format
+ msgid "cannot initialize %qT from %qT"
+ msgstr "ä¸èƒ½åˆå§‹åŒ–%qT,从%qT"
+
+-#: cp/decl.c:4296
++#: cp/decl.c:4316
+ #, gcc-internal-format
+ msgid "name %qD used in a GNU-style designated initializer for an array"
+ msgstr "åå­—%qD用在 GNU 风格的数组指定元素åˆå§‹å€¼è®¾å®šä¸­"
+
+-#: cp/decl.c:4345
++#: cp/decl.c:4365
+ #, gcc-internal-format
+ msgid "initializer fails to determine size of %qD"
+ msgstr "åˆå§‹å€¼è®¾å®šæ— æ³•å†³å®š%qD的大å°"
+
+-#: cp/decl.c:4352
++#: cp/decl.c:4372
+ #, gcc-internal-format
+ msgid "array size missing in %qD"
+ msgstr "%qD缺少数组大å°"
+
+-#: cp/decl.c:4364
++#: cp/decl.c:4384
+ #, gcc-internal-format
+ msgid "zero-size array %qD"
+ msgstr "大å°ä¸º 0 的数组%qD"
+@@ -27847,240 +27811,250 @@
+ #. An automatic variable with an incomplete type: that is an error.
+ #. Don't talk about array types here, since we took care of that
+ #. message in grokdeclarator.
+-#: cp/decl.c:4407
++#: cp/decl.c:4427
+ #, gcc-internal-format
+ msgid "storage size of %qD isn't known"
+ msgstr "%qD的存储大å°æœªçŸ¥"
+
+-#: cp/decl.c:4429
++#: cp/decl.c:4449
+ #, gcc-internal-format
+ msgid "storage size of %qD isn't constant"
+ msgstr "%qD的存储大å°ä¸æ˜¯å¸¸é‡"
+
+-#: cp/decl.c:4478
++#: cp/decl.c:4498
+ #, gcc-internal-format
+ msgid "sorry: semantics of inline function static data %q+#D are wrong (you'll wind up with multiple copies)"
+ msgstr "对ä¸èµ·ï¼šå†…è”函数中é™æ€æ•°æ®%q+#D的语义是错的(您会得到此å˜é‡çš„多份å¤åˆ¶)"
+
+-#: cp/decl.c:4481
++#: cp/decl.c:4501
+ #, gcc-internal-format
+ msgid "%J you can work around this by removing the initializer"
+ msgstr "%J å˜é€šçš„作法是删除åˆå§‹å€¼è®¾å®š"
+
+-#: cp/decl.c:4508
++#: cp/decl.c:4528
+ #, gcc-internal-format
+ msgid "uninitialized const %qD"
+ msgstr "未åˆå§‹åŒ–的常é‡%qD"
+
+-#: cp/decl.c:4620
++#: cp/decl.c:4640
+ #, gcc-internal-format
+ msgid "invalid type %qT as initializer for a vector of type %qT"
+ msgstr "无效类型%qT被用作类型为%qT的矢é‡çš„åˆå§‹åŒ–设定"
+
+-#: cp/decl.c:4662
++#: cp/decl.c:4682
+ #, gcc-internal-format
+ msgid "initializer for %qT must be brace-enclosed"
+ msgstr "%qTçš„åˆå§‹åŒ–设定必须在花括å·å†…"
+
+-#: cp/decl.c:4680
++#: cp/decl.c:4700
+ #, gcc-internal-format
+ msgid "%qT has no non-static data member named %qD"
+ msgstr "%qT没有å为%qDçš„éžé™æ€æ•°æ®æˆå‘˜"
+
+-#: cp/decl.c:4731
++#: cp/decl.c:4751
+ #, gcc-internal-format
+ msgid "braces around scalar initializer for type %qT"
+ msgstr "类型%qTçš„æ ‡é‡åˆå§‹åŒ–带花括å·"
+
+-#: cp/decl.c:4814
++#: cp/decl.c:4834
+ #, gcc-internal-format
+ msgid "missing braces around initializer for %qT"
+ msgstr "%qTçš„åˆå§‹å€¼è®¾å®šå‘¨å›´ç¼ºå°‘花括å·"
+
+-#: cp/decl.c:4871
++#: cp/decl.c:4891
+ #, gcc-internal-format
+ msgid "too many initializers for %qT"
+ msgstr "%qTçš„åˆå§‹å€¼è®¾å®šé¡¹å¤ªå¤š"
+
+-#: cp/decl.c:4914
++#: cp/decl.c:4934
+ #, gcc-internal-format
+ msgid "variable-sized object %qD may not be initialized"
+ msgstr "å¯å˜å¤§å°çš„对象%qDä¸èƒ½è¢«åˆå§‹åŒ–"
+
+-#: cp/decl.c:4920
++#: cp/decl.c:4940
+ #, gcc-internal-format
+ msgid "%qD has incomplete type"
+ msgstr "%qD类型ä¸å®Œå…¨"
+
+-#: cp/decl.c:4935
++#: cp/decl.c:4955
+ #, gcc-internal-format
+ msgid "scalar object %qD requires one element in initializer"
+ msgstr "æ ‡é‡å¯¹è±¡%qD在åˆå§‹å€¼è®¾å®šä¸­éœ€è¦ä¸€ä¸ªå…ƒç´ "
+
+ #. A non-aggregate that is not a scalar cannot be initialized
+ #. via an initializer-list in C++98.
+-#: cp/decl.c:4945
++#: cp/decl.c:4965
+ #, gcc-internal-format
+ msgid "braces around initializer for non-aggregate type %qT"
+ msgstr "éžèšåˆç±»åž‹%qTçš„åˆå§‹åŒ–带花括å·"
+
+-#: cp/decl.c:4995
++#: cp/decl.c:5015
+ #, gcc-internal-format
+ msgid "%qD must be initialized by constructor, not by %<{...}%>"
+ msgstr "%qD必须由构造函数而ä¸æ˜¯%<{...}%>åˆå§‹åŒ–"
+
+-#: cp/decl.c:5031
++#: cp/decl.c:5051
+ #, gcc-internal-format
+ msgid "array %qD initialized by parenthesized string literal %qE"
+ msgstr "数组%qD被有括å·çš„å­—é¢å­—符串%qE所åˆå§‹åŒ–"
+
+-#: cp/decl.c:5046
++#: cp/decl.c:5066
+ #, gcc-internal-format
+ msgid "structure %qD with uninitialized const members"
+ msgstr "结构%qD有未åˆå§‹åŒ–的常é‡æˆå‘˜"
+
+-#: cp/decl.c:5048
++#: cp/decl.c:5068
+ #, gcc-internal-format
+ msgid "structure %qD with uninitialized reference members"
+ msgstr "结构%qD有未åˆå§‹åŒ–的引用æˆå‘˜"
+
+-#: cp/decl.c:5330
++#: cp/decl.c:5364
+ #, gcc-internal-format
+ msgid "assignment (not initialization) in declaration"
+ msgstr "赋值(ä¸æ˜¯åˆå§‹åŒ–)出现在声明中"
+
+-#: cp/decl.c:5420
++#: cp/decl.c:5460
+ #, gcc-internal-format
+ msgid "shadowing previous type declaration of %q#D"
+ msgstr "éšè—了早先的类型声明%q#D"
+
+-#: cp/decl.c:5450
++#: cp/decl.c:5490
+ #, gcc-internal-format
+ msgid "%qD cannot be thread-local because it has non-POD type %qT"
+ msgstr "%qDä¸èƒ½æ˜¯çº¿ç¨‹å±€éƒ¨çš„,因为它有éžç®€å•æ—§æ•°æ®çš„类型%qT"
+
+-#: cp/decl.c:5485
++#: cp/decl.c:5522
+ #, gcc-internal-format
++msgid "Java object %qD not allocated with %<new%>"
++msgstr "Java 对象%qD并éžç”±%<new%>所分é…"
++
++#: cp/decl.c:5539
++#, gcc-internal-format
+ msgid "%qD is thread-local and so cannot be dynamically initialized"
+ msgstr "%qD是线程局部的,所以ä¸èƒ½è¢«åŠ¨æ€åœ°åˆå§‹åŒ–"
+
+-#: cp/decl.c:5503
++#: cp/decl.c:5557
+ #, gcc-internal-format
+ msgid "%qD cannot be initialized by a non-constant expression when being declared"
+ msgstr "%qDä¸èƒ½ç”±ä¸€ä¸ªå£°æ˜Žæ—¶éžå¸¸é‡çš„表达å¼åˆå§‹åŒ–"
+
+-#: cp/decl.c:6160
++#: cp/decl.c:5597
+ #, gcc-internal-format
++msgid "non-static data member %qD has Java class type"
++msgstr "éžé™æ€æ•°æ®æˆå‘˜%qD具有 Java 类类型"
++
++#: cp/decl.c:6232
++#, gcc-internal-format
+ msgid "destructor for alien class %qT cannot be a member"
+ msgstr "其他类%qTçš„æžæž„函数ä¸èƒ½ç”¨ä½œæˆå‘˜"
+
+-#: cp/decl.c:6162
++#: cp/decl.c:6234
+ #, gcc-internal-format
+ msgid "constructor for alien class %qT cannot be a member"
+ msgstr "其他类%qT的构造函数ä¸èƒ½ç”¨ä½œæˆå‘˜"
+
+-#: cp/decl.c:6183
++#: cp/decl.c:6255
+ #, gcc-internal-format
+ msgid "%qD declared as a %<virtual%> %s"
+ msgstr "%qD声明为%<virtual%>%s"
+
+-#: cp/decl.c:6185
++#: cp/decl.c:6257
+ #, gcc-internal-format
+ msgid "%qD declared as an %<inline%> %s"
+ msgstr "%qD声明为%<inline%>%s"
+
+-#: cp/decl.c:6187
++#: cp/decl.c:6259
+ #, gcc-internal-format
+ msgid "%<const%> and %<volatile%> function specifiers on %qD invalid in %s declaration"
+ msgstr "为%qD指定的%<const%>和%<volatile%>在 %s 声明中无效"
+
+-#: cp/decl.c:6191
++#: cp/decl.c:6263
+ #, gcc-internal-format
+ msgid "%q+D declared as a friend"
+ msgstr "%q+D声明为å‹å…ƒ"
+
+-#: cp/decl.c:6197
++#: cp/decl.c:6269
+ #, gcc-internal-format
+ msgid "%q+D declared with an exception specification"
+ msgstr "%q+D声明时有异常指定"
+
+-#: cp/decl.c:6231
++#: cp/decl.c:6303
+ #, gcc-internal-format
+ msgid "definition of %qD is not in namespace enclosing %qT"
+ msgstr "%qD的定义ä¸åœ¨åŒ…å«%qT的命å空间中"
+
+-#: cp/decl.c:6342
++#: cp/decl.c:6414
+ #, gcc-internal-format
+ msgid "defining explicit specialization %qD in friend declaration"
+ msgstr "在å‹å…ƒå£°æ˜Žä¸­å®šä¹‰æ˜¾å¼ç‰¹ä¾‹åŒ–%qD"
+
+ #. Something like `template <class T> friend void f<T>()'.
+-#: cp/decl.c:6352
++#: cp/decl.c:6424
+ #, gcc-internal-format
+ msgid "invalid use of template-id %qD in declaration of primary template"
+ msgstr "在基本模æ¿çš„声明中对模æ¿æ ‡è¯†ç¬¦%qD的使用无效"
+
+-#: cp/decl.c:6382
++#: cp/decl.c:6454
+ #, gcc-internal-format
+ msgid "default arguments are not allowed in declaration of friend template specialization %qD"
+ msgstr "å‹å…ƒæ¨¡æ¿ç‰¹ä¾‹åŒ–%qD中ä¸å…许出现默认å‚æ•°"
+
+-#: cp/decl.c:6390
++#: cp/decl.c:6462
+ #, gcc-internal-format
+ msgid "%<inline%> is not allowed in declaration of friend template specialization %qD"
+ msgstr "%<inline%>ä¸å…许用于å‹å…ƒæ¨¡æ¿ç‰¹ä¾‹åŒ–%qD的声明"
+
+-#: cp/decl.c:6433
++#: cp/decl.c:6505
+ #, gcc-internal-format
+ msgid "cannot declare %<::main%> to be a template"
+ msgstr "ä¸èƒ½å°†%<::main%>声明为一个模æ¿"
+
+-#: cp/decl.c:6435
++#: cp/decl.c:6507
+ #, gcc-internal-format
+ msgid "cannot declare %<::main%> to be inline"
+ msgstr "ä¸èƒ½å°†%<::main%>声明为 inline"
+
+-#: cp/decl.c:6437
++#: cp/decl.c:6509
+ #, gcc-internal-format
+ msgid "cannot declare %<::main%> to be static"
+ msgstr "ä¸èƒ½å°†%<::main%>声明为 static"
+
+-#: cp/decl.c:6465
++#: cp/decl.c:6537
+ #, gcc-internal-format
+ msgid "non-local function %q#D uses anonymous type"
+ msgstr "éžå±€éƒ¨å‡½æ•°%q#D使用匿å类型"
+
+-#: cp/decl.c:6468 cp/decl.c:6748
++#: cp/decl.c:6540 cp/decl.c:6820
+ #, gcc-internal-format
+ msgid "%q+#D does not refer to the unqualified type, so it is not used for linkage"
+ msgstr "%q+#D未指明éžé™å®šç±»åž‹ï¼Œæ‰€ä»¥å®ƒä¸è¢«ç”¨ä½œå¤–部链接"
+
+-#: cp/decl.c:6474
++#: cp/decl.c:6546
+ #, gcc-internal-format
+ msgid "non-local function %q#D uses local type %qT"
+ msgstr "éžå±€éƒ¨å‡½æ•°%q#D使用了局部类型%qT"
+
+-#: cp/decl.c:6498
++#: cp/decl.c:6570
+ #, gcc-internal-format
+ msgid "static member function %qD cannot have cv-qualifier"
+ msgstr "æˆå‘˜å‡½æ•°%qDä¸èƒ½æ‹¥æœ‰ cv é™å®šç¬¦"
+
+-#: cp/decl.c:6499
++#: cp/decl.c:6571
+ #, gcc-internal-format
+ msgid "non-member function %qD cannot have cv-qualifier"
+ msgstr "éžæˆå‘˜å‡½æ•°%qDä¸èƒ½æ‹¥æœ‰ cv é™å®šç¬¦"
+
+-#: cp/decl.c:6547
++#: cp/decl.c:6619
+ #, gcc-internal-format
+ msgid "%<::main%> must return %<int%>"
+ msgstr "%<::main%>必须返回%<int%>"
+
+-#: cp/decl.c:6586
++#: cp/decl.c:6658
+ #, gcc-internal-format
+ msgid "definition of implicitly-declared %qD"
+ msgstr "éšå¼å£°æ˜Žçš„%qD的定义"
+
+-#: cp/decl.c:6603 cp/decl2.c:677
++#: cp/decl.c:6675 cp/decl2.c:677
+ #, gcc-internal-format
+ msgid "no %q#D member function declared in class %qT"
+ msgstr "æˆå‘˜å‡½æ•°%q#D未在类%qT中声明"
+@@ -28089,546 +28063,551 @@
+ #. 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/decl.c:6745
++#: cp/decl.c:6817
+ #, gcc-internal-format
+ msgid "non-local variable %q#D uses anonymous type"
+ msgstr "éžå±€éƒ¨å˜é‡%q#D使用了匿å类型"
+
+-#: cp/decl.c:6754
++#: cp/decl.c:6826
+ #, gcc-internal-format
+ msgid "non-local variable %q#D uses local type %qT"
+ msgstr "éžå±€éƒ¨å˜é‡%q#D使用了局部类型%qT"
+
+-#: cp/decl.c:6876
++#: cp/decl.c:6948
+ #, gcc-internal-format
+ msgid "invalid in-class initialization of static data member of non-integral type %qT"
+ msgstr "类中对具有éžæ•´æ•°ç±»åž‹%qTçš„é™æ€æ•°æ®æˆå‘˜çš„åˆå§‹åŒ–无效"
+
+-#: cp/decl.c:6886
++#: cp/decl.c:6958
+ #, gcc-internal-format
+ msgid "ISO C++ forbids in-class initialization of non-const static member %qD"
+ msgstr "ISO C++ ä¸å…许在类内åˆå§‹åŒ–éžå¸¸é‡é™æ€æˆå‘˜%qD"
+
+-#: cp/decl.c:6890
++#: cp/decl.c:6962
+ #, gcc-internal-format
+ msgid "ISO C++ forbids initialization of member constant %qD of non-integral type %qT"
+ msgstr "ISO C++ ä¸å…许åˆå§‹åŒ–æˆå‘˜å¸¸é‡%qD,因为它有éžæ•´æ•°çš„类型%qT"
+
+-#: cp/decl.c:6915
++#: cp/decl.c:6987
+ #, gcc-internal-format
+ msgid "size of array %qD has non-integral type %qT"
+ msgstr "数组%qD的大å°å…·æœ‰éžæ•´æ•°ç±»åž‹%qT"
+
+-#: cp/decl.c:6917
++#: cp/decl.c:6989
+ #, gcc-internal-format
+ msgid "size of array has non-integral type %qT"
+ msgstr "数组%qT的大å°çš„类型ä¸æ˜¯æ•´æ•°"
+
+-#: cp/decl.c:6965
++#: cp/decl.c:7037
+ #, gcc-internal-format
+ msgid "size of array %qD is negative"
+ msgstr "数组%qD的大å°ä¸ºè´Ÿ"
+
+-#: cp/decl.c:6967
++#: cp/decl.c:7039
+ #, gcc-internal-format
+ msgid "size of array is negative"
+ msgstr "数组大å°ä¸ºè´Ÿæ•°"
+
+-#: cp/decl.c:6975
++#: cp/decl.c:7047
+ #, gcc-internal-format
+ msgid "ISO C++ forbids zero-size array %qD"
+ msgstr "ISO C ä¸å…许大å°ä¸º 0 的数组%qD"
+
+-#: cp/decl.c:6977
++#: cp/decl.c:7049
+ #, gcc-internal-format
+ msgid "ISO C++ forbids zero-size array"
+ msgstr "ISO C++ ä¸å…许大å°ä¸º 0 的数组"
+
+-#: cp/decl.c:6984
++#: cp/decl.c:7056
+ #, gcc-internal-format
+ msgid "size of array %qD is not an integral constant-expression"
+ msgstr "数组%qD的大å°ä¸æ˜¯ä¸€ä¸ªæ•´æ•°å¸¸è¡¨è¾¾å¼"
+
+-#: cp/decl.c:6987
++#: cp/decl.c:7059
+ #, gcc-internal-format
+ msgid "size of array is not an integral constant-expression"
+ msgstr "数组大å°ä¸æ˜¯ä¸€ä¸ªæ•´æ•°å¸¸è¡¨è¾¾å¼"
+
+-#: cp/decl.c:6993
++#: cp/decl.c:7065
+ #, gcc-internal-format
+ msgid "ISO C++ forbids variable length array %qD"
+ msgstr "ISO C++ ä¸å…许å˜é•¿æ•°ç»„%qD"
+
+-#: cp/decl.c:6995
++#: cp/decl.c:7067
+ #, gcc-internal-format
+ msgid "ISO C++ forbids variable length array"
+ msgstr "ISO C++ ä¸å…许å˜é•¿æ•°ç»„"
+
+-#: cp/decl.c:7001
++#: cp/decl.c:7073
+ #, gcc-internal-format
+ msgid "variable length array %qD is used"
+ msgstr "使用了å˜é•¿æ•°ç»„%qD"
+
+-#: cp/decl.c:7035
++#: cp/decl.c:7107
+ #, gcc-internal-format
+ msgid "overflow in array dimension"
+ msgstr "数组维数溢出"
+
+-#: cp/decl.c:7116
++#: cp/decl.c:7188
+ #, gcc-internal-format
+ msgid "declaration of %qD as %s"
+ msgstr "%qD声明为 %s"
+
+-#: cp/decl.c:7118
++#: cp/decl.c:7190
+ #, gcc-internal-format
+ msgid "creating %s"
+ msgstr "创建 %s"
+
+-#: cp/decl.c:7130
++#: cp/decl.c:7202
+ #, gcc-internal-format
+ msgid "declaration of %qD as multidimensional array must have bounds for all dimensions except the first"
+ msgstr "多维数组%qD的声明必须至少指定除第一维以外所有维的大å°"
+
+-#: cp/decl.c:7134
++#: cp/decl.c:7206
+ #, gcc-internal-format
+ msgid "multidimensional array must have bounds for all dimensions except the first"
+ msgstr "声明多维数组必须至少指定除第一维以外所有维的大å°"
+
+-#: cp/decl.c:7169
++#: cp/decl.c:7241
+ #, gcc-internal-format
+ msgid "return type specification for constructor invalid"
+ msgstr "为构造函数指定返回值无效"
+
+-#: cp/decl.c:7179
++#: cp/decl.c:7251
+ #, gcc-internal-format
+ msgid "return type specification for destructor invalid"
+ msgstr "指定æžæž„函数的返回类型无效"
+
+-#: cp/decl.c:7192
++#: cp/decl.c:7264
+ #, gcc-internal-format
+ msgid "return type specified for %<operator %T%>"
+ msgstr "为%<operator %T%>指定了返回值"
+
+-#: cp/decl.c:7214
++#: cp/decl.c:7286
+ #, gcc-internal-format
+ msgid "unnamed variable or field declared void"
+ msgstr "æ— åå˜é‡æˆ–字段声明为 void"
+
+-#: cp/decl.c:7218
++#: cp/decl.c:7290
+ #, gcc-internal-format
+ msgid "variable or field %qE declared void"
+ msgstr "å˜é‡æˆ–字段%qE声明为 void"
+
+-#: cp/decl.c:7221
++#: cp/decl.c:7293
+ #, gcc-internal-format
+ msgid "variable or field declared void"
+ msgstr "å˜é‡æˆ–字段声明为 void"
+
+-#: cp/decl.c:7388
++#: cp/decl.c:7460
+ #, gcc-internal-format
+ msgid "invalid use of qualified-name %<::%D%>"
+ msgstr "对é™å®šå%<::%D%>的使用无效"
+
+-#: cp/decl.c:7391
++#: cp/decl.c:7463
+ #, gcc-internal-format
+ msgid "invalid use of qualified-name %<%T::%D%>"
+ msgstr "对é™å®šå%<%T::%D%>的使用无效"
+
+-#: cp/decl.c:7394
++#: cp/decl.c:7466
+ #, gcc-internal-format
+ msgid "invalid use of qualified-name %<%D::%D%>"
+ msgstr "对é™å®šå%<%D::%D%>的使用无效"
+
+-#: cp/decl.c:7406
++#: cp/decl.c:7478
+ #, gcc-internal-format
+ msgid "type %qT is not derived from type %qT"
+ msgstr "类型%qTä¸æ˜¯ç”±ç±»åž‹%qT派生的"
+
+-#: cp/decl.c:7422 cp/decl.c:7512 cp/decl.c:8660
++#: cp/decl.c:7494 cp/decl.c:7584 cp/decl.c:8732
+ #, gcc-internal-format
+ msgid "declaration of %qD as non-function"
+ msgstr "%qD没有声明为一个函数"
+
+-#: cp/decl.c:7428
++#: cp/decl.c:7500
+ #, gcc-internal-format
+ msgid "declaration of %qD as non-member"
+ msgstr "%qD未声明为æˆå‘˜"
+
+-#: cp/decl.c:7457
++#: cp/decl.c:7529
+ #, gcc-internal-format
+ msgid "declarator-id missing; using reserved word %qD"
+ msgstr "缺少声明标识符:使用了ä¿ç•™å­—%qD"
+
+-#: cp/decl.c:7504
++#: cp/decl.c:7576
+ #, gcc-internal-format
+ msgid "function definition does not declare parameters"
+ msgstr "函数定义未声明形å‚"
+
+-#: cp/decl.c:7546
++#: cp/decl.c:7618
+ #, gcc-internal-format
+ msgid "two or more data types in declaration of %qs"
+ msgstr "%qs的声明指定了两个以上的数æ®ç±»åž‹"
+
+-#: cp/decl.c:7552
++#: cp/decl.c:7624
+ #, gcc-internal-format
+ msgid "conflicting specifiers in declaration of %qs"
+ msgstr "%qs的声明中有相互冲çªçš„é™å®šç¬¦"
+
+-#: cp/decl.c:7623 cp/decl.c:7626
++#: cp/decl.c:7695 cp/decl.c:7698
+ #, gcc-internal-format
+ msgid "ISO C++ forbids declaration of %qs with no type"
+ msgstr "ISO C++ ä¸å…许声明无类型的%qs"
+
+-#: cp/decl.c:7651
++#: cp/decl.c:7723
+ #, gcc-internal-format
+ msgid "%<signed%> or %<unsigned%> invalid for %qs"
+ msgstr "为%qs使用%<signed%>或%<unsigned%>无效"
+
+-#: cp/decl.c:7653
++#: cp/decl.c:7725
+ #, gcc-internal-format
+ msgid "%<signed%> and %<unsigned%> specified together for %qs"
+ msgstr "为%qsåŒæ—¶ç»™å®šäº†%<signed%>å’Œ%<unsigned%>"
+
+-#: cp/decl.c:7655
++#: cp/decl.c:7727
+ #, gcc-internal-format
+ msgid "%<long long%> invalid for %qs"
+ msgstr "%<long long%>对%qs无效"
+
+-#: cp/decl.c:7657
++#: cp/decl.c:7729
+ #, gcc-internal-format
+ msgid "%<long%> invalid for %qs"
+ msgstr "%<long%>对%qs无效"
+
+-#: cp/decl.c:7659
++#: cp/decl.c:7731
+ #, gcc-internal-format
+ msgid "%<short%> invalid for %qs"
+ msgstr "%<short%>对%qs无效"
+
+-#: cp/decl.c:7661
++#: cp/decl.c:7733
+ #, gcc-internal-format
+ msgid "%<long%> or %<short%> invalid for %qs"
+ msgstr "%<long%>或%<short%>对%qs无效"
+
+-#: cp/decl.c:7663
++#: cp/decl.c:7735
+ #, gcc-internal-format
+ msgid "%<long%> or %<short%> specified with char for %qs"
+ msgstr "为 char%qs给定了%<long%>或%<short%>"
+
+-#: cp/decl.c:7665
++#: cp/decl.c:7737
+ #, gcc-internal-format
+ msgid "%<long%> and %<short%> specified together for %qs"
+ msgstr "为%qsåŒæ—¶ç»™å®šäº†%<long%>å’Œ%<short%>"
+
+-#: cp/decl.c:7671
++#: cp/decl.c:7743
+ #, gcc-internal-format
+ msgid "long, short, signed or unsigned used invalidly for %qs"
+ msgstr "为%qs使用 longã€shortã€signed 或 unsigned 无效"
+
+-#: cp/decl.c:7735
++#: cp/decl.c:7807
+ #, gcc-internal-format
+ msgid "complex invalid for %qs"
+ msgstr "对%qs而言无效的å¤æ•°"
+
+-#: cp/decl.c:7764
++#: cp/decl.c:7836
+ #, gcc-internal-format
+ msgid "qualifiers are not allowed on declaration of %<operator %T%>"
+ msgstr "%<operator %T%>的声明中ä¸èƒ½ä½¿ç”¨é™å®šç¬¦"
+
+-#: cp/decl.c:7776 cp/typeck.c:7011
++#: cp/decl.c:7848 cp/typeck.c:7039
+ #, gcc-internal-format
+ msgid "ignoring %qV qualifiers added to function type %qT"
+ msgstr "忽略%qVé™å®šç¬¦ï¼Œåœ¨å‡½æ•°ç±»åž‹%qT上"
+
+-#: cp/decl.c:7799
++#: cp/decl.c:7871
+ #, gcc-internal-format
+ msgid "member %qD cannot be declared both virtual and static"
+ msgstr "æˆå‘˜%qDä¸èƒ½æ—¢è¢«å£°æ˜Žä¸ºè™šå‡½æ•°ï¼Œåˆè¢«å£°æ˜Žä¸ºé™æ€å‡½æ•°"
+
+-#: cp/decl.c:7807
++#: cp/decl.c:7879
+ #, gcc-internal-format
+ msgid "%<%T::%D%> is not a valid declarator"
+ msgstr "%<%T::%D%>ä¸æ˜¯ä¸€ä¸ªæœ‰æ•ˆçš„声明"
+
+-#: cp/decl.c:7816
++#: cp/decl.c:7888
+ #, gcc-internal-format
+ msgid "typedef declaration invalid in parameter declaration"
+ msgstr "å½¢å‚声明中出现的 typedef 声明无效"
+
+-#: cp/decl.c:7822
++#: cp/decl.c:7894
+ #, gcc-internal-format
+ msgid "storage class specifiers invalid in parameter declarations"
+ msgstr "为形å‚声明指定了无效的存储类"
+
+-#: cp/decl.c:7829
++#: cp/decl.c:7901
+ #, gcc-internal-format
+ msgid "virtual outside class declaration"
+ msgstr "virtual 用在类声明以外"
+
+-#: cp/decl.c:7847
++#: cp/decl.c:7919
+ #, gcc-internal-format
+ msgid "multiple storage classes in declaration of %qs"
+ msgstr "%qs的声明指定了多个存储类"
+
+-#: cp/decl.c:7870
++#: cp/decl.c:7942
+ #, gcc-internal-format
+ msgid "storage class specified for %qs"
+ msgstr "为%qs指定了存储类"
+
+-#: cp/decl.c:7904
++#: cp/decl.c:7976
+ #, gcc-internal-format
+ msgid "top-level declaration of %qs specifies %<auto%>"
+ msgstr "在文件层将%qs声明为%<auto%>"
+
+-#: cp/decl.c:7916
++#: cp/decl.c:7988
+ #, gcc-internal-format
+ msgid "storage class specifiers invalid in friend function declarations"
+ msgstr "为å‹å…ƒå‡½æ•°å£°æ˜ŽæŒ‡å®šäº†æ— æ•ˆçš„存储类"
+
+-#: cp/decl.c:8043
++#: cp/decl.c:8115
+ #, gcc-internal-format
+ msgid "destructor cannot be static member function"
+ msgstr "æžæž„函数ä¸èƒ½æ˜¯é™æ€æˆå‘˜å‡½æ•°"
+
+-#: cp/decl.c:8048
++#: cp/decl.c:8120
+ #, gcc-internal-format
+ msgid "destructors may not be cv-qualified"
+ msgstr "æžæž„函数ä¸èƒ½è¢« cv é™å®š"
+
+-#: cp/decl.c:8066
++#: cp/decl.c:8138
+ #, gcc-internal-format
+ msgid "constructors cannot be declared virtual"
+ msgstr "构造函数ä¸èƒ½è¢«å£°æ˜Žä¸ºè™šå‡½æ•°"
+
+-#: cp/decl.c:8079
++#: cp/decl.c:8151
+ #, gcc-internal-format
+ msgid "can't initialize friend function %qs"
+ msgstr "无法åˆå§‹åŒ–å‹å…ƒå‡½æ•°%qs"
+
+ #. Cannot be both friend and virtual.
+-#: cp/decl.c:8083
++#: cp/decl.c:8155
+ #, gcc-internal-format
+ msgid "virtual functions cannot be friends"
+ msgstr "虚函数ä¸èƒ½æ˜¯å‹å…ƒ"
+
+-#: cp/decl.c:8087
++#: cp/decl.c:8159
+ #, gcc-internal-format
+ msgid "friend declaration not in class definition"
+ msgstr "å‹å…ƒå£°æ˜Žä¸åœ¨ç±»å®šä¹‰å†…"
+
+-#: cp/decl.c:8089
++#: cp/decl.c:8161
+ #, gcc-internal-format
+ msgid "can't define friend function %qs in a local class definition"
+ msgstr "局部类定义中ä¸èƒ½å®šä¹‰å‹å…ƒå‡½æ•°%qs"
+
+-#: cp/decl.c:8102
++#: cp/decl.c:8174
+ #, gcc-internal-format
+ msgid "destructors may not have parameters"
+ msgstr "æžæž„函数ä¸èƒ½æœ‰å‚æ•°"
+
+-#: cp/decl.c:8121
++#: cp/decl.c:8193
+ #, gcc-internal-format
+ msgid "cannot declare pointer to %q#T"
+ msgstr "无法声明指å‘%q#T的指针"
+
+-#: cp/decl.c:8134 cp/decl.c:8141
++#: cp/decl.c:8206 cp/decl.c:8213
+ #, gcc-internal-format
+ msgid "cannot declare reference to %q#T"
+ msgstr "无法声明对%q#T的引用"
+
+-#: cp/decl.c:8143
++#: cp/decl.c:8215
+ #, gcc-internal-format
+ msgid "cannot declare pointer to %q#T member"
+ msgstr "无法声明指å‘%q#Tæˆå‘˜çš„指针"
+
+-#: cp/decl.c:8194
++#: cp/decl.c:8266
+ #, gcc-internal-format
+ msgid "cannot declare reference to %q#T, which is not a typedef or a template type argument"
+ msgstr "无法声明对%q#T的引用,因为它ä¸æ˜¯ typedef 或者模æ¿ç±»åž‹å®žå‚"
+
+-#: cp/decl.c:8238
++#: cp/decl.c:8310
+ #, gcc-internal-format
+ msgid "template-id %qD used as a declarator"
+ msgstr "模æ¿æ ‡è¯†ç¬¦%qD用作声明"
+
+-#: cp/decl.c:8289
++#: cp/decl.c:8361
+ #, gcc-internal-format
+ msgid "member functions are implicitly friends of their class"
+ msgstr "æˆå‘˜å‡½æ•°éšå¼åœ°æˆä¸ºæ‰€å±žç±»çš„å‹å…ƒ"
+
+-#: cp/decl.c:8293
++#: cp/decl.c:8365
+ #, gcc-internal-format
+ msgid "extra qualification %<%T::%> on member %qs"
+ msgstr "有多余的é™å®š%<%T::%>在æˆå‘˜%qs上"
+
+-#: cp/decl.c:8325
++#: cp/decl.c:8397
+ #, gcc-internal-format
+ msgid "cannot define member function %<%T::%s%> within %<%T%>"
+ msgstr "无法定义æˆå‘˜å‡½æ•°%<%T::%s%>,在%<%T%>中"
+
+-#: cp/decl.c:8342
++#: cp/decl.c:8414
+ #, gcc-internal-format
+ msgid "cannot declare member %<%T::%s%> within %qT"
+ msgstr "无法声明æˆå‘˜%<%T::%s%>,在%qT中"
+
+-#: cp/decl.c:8365
++#: cp/decl.c:8437
+ #, gcc-internal-format
+ msgid "non-parameter %qs cannot be a parameter pack"
+ msgstr "éžå½¢å‚%qsä¸èƒ½æ˜¯ä¸€ä¸ªå‚数包"
+
+-#: cp/decl.c:8386
++#: cp/decl.c:8458
+ #, gcc-internal-format
+ msgid "data member may not have variably modified type %qT"
+ msgstr "æ•°æ®æˆå‘˜ä¸èƒ½å…·æœ‰å¯å˜ç±»åž‹%qT"
+
+-#: cp/decl.c:8388
++#: cp/decl.c:8460
+ #, gcc-internal-format
+ msgid "parameter may not have variably modified type %qT"
+ msgstr "å‚æ•°ä¸èƒ½å…·æœ‰å¯å˜ç±»åž‹%qT"
+
+ #. [dcl.fct.spec] The explicit specifier shall only be used in
+ #. declarations of constructors within a class definition.
+-#: cp/decl.c:8396
++#: cp/decl.c:8468
+ #, gcc-internal-format
+ msgid "only declarations of constructors can be %<explicit%>"
+ msgstr "åªæœ‰æž„造函数æ‰èƒ½è¢«å£°æ˜Žä¸º%<explicit%>"
+
+-#: cp/decl.c:8404
++#: cp/decl.c:8476
+ #, gcc-internal-format
+ msgid "non-member %qs cannot be declared %<mutable%>"
+ msgstr "éžæˆå‘˜%qsä¸èƒ½è¢«å£°æ˜Žä¸º%<mutable%>"
+
+-#: cp/decl.c:8409
++#: cp/decl.c:8481
+ #, gcc-internal-format
+ msgid "non-object member %qs cannot be declared %<mutable%>"
+ msgstr "éžå¯¹è±¡æˆå‘˜%qsä¸èƒ½è¢«å£°æ˜Žä¸º%<mutable%>"
+
+-#: cp/decl.c:8415
++#: cp/decl.c:8487
+ #, gcc-internal-format
+ msgid "function %qs cannot be declared %<mutable%>"
+ msgstr "函数%qsä¸èƒ½è¢«å£°æ˜Žä¸º%<mutable%>"
+
+-#: cp/decl.c:8420
++#: cp/decl.c:8492
+ #, gcc-internal-format
+ msgid "static %qs cannot be declared %<mutable%>"
+ msgstr "é™æ€%qsä¸èƒ½è¢«å£°æ˜Žä¸º%<mutable%>"
+
+-#: cp/decl.c:8425
++#: cp/decl.c:8497
+ #, gcc-internal-format
+ msgid "const %qs cannot be declared %<mutable%>"
+ msgstr "常é‡%qsä¸èƒ½è¢«å£°æ˜Žä¸º%<mutable%>"
+
+-#: cp/decl.c:8462
++#: cp/decl.c:8534
+ #, gcc-internal-format
+ msgid "%Jtypedef name may not be a nested-name-specifier"
+ msgstr "%Jtypedef åä¸èƒ½æ˜¯åµŒå¥—å指定"
+
+-#: cp/decl.c:8478
++#: cp/decl.c:8550
+ #, gcc-internal-format
+ msgid "ISO C++ forbids nested type %qD with same name as enclosing class"
+ msgstr "ISO C++ ä¸å…许嵌类的类型%qD与其所属的类é‡å"
+
+-#: cp/decl.c:8564
++#: cp/decl.c:8636
+ #, gcc-internal-format
+ msgid "qualified function types cannot be used to declare static member functions"
+ msgstr "é™å®šçš„函数类型ä¸èƒ½ç”¨æ¥å£°æ˜Žé™æ€æˆå‘˜å‡½æ•°"
+
+-#: cp/decl.c:8566
++#: cp/decl.c:8638
+ #, gcc-internal-format
+ msgid "qualified function types cannot be used to declare free functions"
+ msgstr "é™å®šçš„函数类型ä¸èƒ½ç”¨æ¥å£°æ˜Žéžæˆå‘˜å‡½æ•°"
+
+-#: cp/decl.c:8592
++#: cp/decl.c:8664
+ #, gcc-internal-format
+ msgid "type qualifiers specified for friend class declaration"
+ msgstr "为å‹å…ƒç±»å£°æ˜ŽæŒ‡å®šäº†ç±»åž‹é™å®š"
+
+-#: cp/decl.c:8597
++#: cp/decl.c:8669
+ #, gcc-internal-format
+ msgid "%<inline%> specified for friend class declaration"
+ msgstr "å‹å…ƒå‡½æ•°å£°æ˜Žä¸­å‡ºçŽ°äº†%<inline%>"
+
+-#: cp/decl.c:8605
++#: cp/decl.c:8677
+ #, gcc-internal-format
+ msgid "template parameters cannot be friends"
+ msgstr "模æ¿å‚æ•°ä¸èƒ½æ˜¯å‹å…ƒ"
+
+-#: cp/decl.c:8607
++#: cp/decl.c:8679
+ #, gcc-internal-format
+ msgid "friend declaration requires class-key, i.e. %<friend class %T::%D%>"
+ msgstr "å‹å…ƒå£°æ˜Žéœ€è¦ class,å³%<friend class %T::%D%>"
+
+-#: cp/decl.c:8611
++#: cp/decl.c:8683
+ #, gcc-internal-format
+ msgid "friend declaration requires class-key, i.e. %<friend %#T%>"
+ msgstr "å‹å…ƒå£°æ˜Žéœ€è¦ class,å³%<friend %#T%>"
+
+-#: cp/decl.c:8624
++#: cp/decl.c:8696
+ #, gcc-internal-format
+ msgid "trying to make class %qT a friend of global scope"
+ msgstr "试图让%qTæˆä¸ºå…¨å±€åŸŸçš„å‹å…ƒ"
+
+-#: cp/decl.c:8635
++#: cp/decl.c:8707
+ #, gcc-internal-format
+ msgid "invalid qualifiers on non-member function type"
+ msgstr "éžæˆå‘˜å‡½æ•°ç±»åž‹ä¸Šçš„é™å®šç¬¦æ— æ•ˆ"
+
+-#: cp/decl.c:8650
++#: cp/decl.c:8722
+ #, gcc-internal-format
+ msgid "abstract declarator %qT used as declaration"
+ msgstr "抽象声明%qT被用作声明"
+
+-#: cp/decl.c:8679
++#: cp/decl.c:8751
+ #, gcc-internal-format
+ msgid "cannot use %<::%> in parameter declaration"
+ msgstr "ä¸èƒ½åœ¨å‚数声明中使用%<::%>"
+
+ #. Something like struct S { int N::j; };
+-#: cp/decl.c:8725
++#: cp/decl.c:8797
+ #, gcc-internal-format
+ msgid "invalid use of %<::%>"
+ msgstr "错误地使用了%<::%>"
+
+-#: cp/decl.c:8740
++#: cp/decl.c:8812
+ #, gcc-internal-format
+ msgid "can't make %qD into a method -- not in a class"
+ msgstr "%qDä¸èƒ½æ˜¯ä¸€ä¸ªæ–¹æ³• -- ä¸åœ¨ç±»ä¸­"
+
+-#: cp/decl.c:8749
++#: cp/decl.c:8821
+ #, gcc-internal-format
+ msgid "function %qD declared virtual inside a union"
+ msgstr "è”åˆæˆå‘˜å‡½æ•°%qD被声明为虚函数"
+
+-#: cp/decl.c:8758
++#: cp/decl.c:8830
+ #, gcc-internal-format
+ msgid "%qD cannot be declared virtual, since it is always static"
+ msgstr "%qDä¸èƒ½å£°æ˜Žä¸ºè™šå‡½æ•°ï¼Œå› ä¸ºå®ƒæ€»æ˜¯é™æ€çš„"
+
+-#: cp/decl.c:8774
++#: cp/decl.c:8846
+ #, gcc-internal-format
+ msgid "expected qualified name in friend declaration for destructor %qD"
+ msgstr "在æžæž„函数%qD中的å‹å…ƒå£°æ˜Žéœ€è¦é™å®šå"
+
+-#: cp/decl.c:8784
++#: cp/decl.c:8856
+ #, gcc-internal-format
+ msgid "declaration of %qD as member of %qT"
+ msgstr "%qD声明为%qT的一个æˆå‘˜"
+
+-#: cp/decl.c:8860
++#: cp/decl.c:8863
+ #, gcc-internal-format
++msgid "expected qualified name in friend declaration for constructor %qD"
++msgstr "在构造函数%qD中的å‹å…ƒå£°æ˜Žéœ€è¦é™å®šå"
++
++#: cp/decl.c:8939
++#, gcc-internal-format
+ msgid "field %qD has incomplete type"
+ msgstr "字段%qD类型ä¸å®Œå…¨"
+
+-#: cp/decl.c:8862
++#: cp/decl.c:8941
+ #, gcc-internal-format
+ msgid "name %qT has incomplete type"
+ msgstr "åå­—%qT类型ä¸å®Œå…¨"
+
+-#: cp/decl.c:8871
++#: cp/decl.c:8950
+ #, gcc-internal-format
+ msgid " in instantiation of template %qT"
+ msgstr " 在模æ¿%qT的实例化中"
+
+-#: cp/decl.c:8880
++#: cp/decl.c:8959
+ #, gcc-internal-format
+ msgid "%qE is neither function nor member function; cannot be declared friend"
+ msgstr "%qEæ—¢ä¸æ˜¯å‡½æ•°ä¹Ÿä¸æ˜¯æˆå‘˜å‡½æ•°ï¼›ä¸èƒ½å£°æ˜Žä¸ºå‹å…ƒ"
+@@ -28645,103 +28624,108 @@
+ #. the rest of the compiler does not correctly
+ #. handle the initialization unless the member is
+ #. static so we make it static below.
+-#: cp/decl.c:8932
++#: cp/decl.c:9011
+ #, gcc-internal-format
+ msgid "ISO C++ forbids initialization of member %qD"
+ msgstr "ISO C++ ä¸å…许æˆå‘˜%qDçš„åˆå§‹åŒ–"
+
+-#: cp/decl.c:8934
++#: cp/decl.c:9013
+ #, gcc-internal-format
+ msgid "making %qD static"
+ msgstr "使%qDæˆä¸ºé™æ€çš„"
+
+-#: cp/decl.c:8999
++#: cp/decl.c:9078
+ #, gcc-internal-format
+ msgid "storage class %<auto%> invalid for function %qs"
+ msgstr "函数%qs的存储类%<auto%>无效"
+
+-#: cp/decl.c:9001
++#: cp/decl.c:9080
+ #, gcc-internal-format
+ msgid "storage class %<register%> invalid for function %qs"
+ msgstr "函数%qs的存储类%<register%>无效"
+
+-#: cp/decl.c:9003
++#: cp/decl.c:9082
+ #, gcc-internal-format
+ msgid "storage class %<__thread%> invalid for function %qs"
+ msgstr "函数%qs的存储类%<__thread%>无效"
+
+-#: cp/decl.c:9014
++#: cp/decl.c:9093
+ #, gcc-internal-format
+ msgid "%<static%> specified invalid for function %qs declared out of global scope"
+ msgstr "在全局作用域外为函数%qs指定%<static%>无效"
+
+-#: cp/decl.c:9017
++#: cp/decl.c:9096
+ #, gcc-internal-format
+ msgid "%<inline%> specifier invalid for function %qs declared out of global scope"
+ msgstr "在全局作用域外为函数%qs指定%<inline%>无效"
+
+-#: cp/decl.c:9025
++#: cp/decl.c:9104
+ #, gcc-internal-format
+ msgid "virtual non-class function %qs"
+ msgstr "虚函数%qsä¸æ˜¯ç±»æˆå‘˜"
+
+-#: cp/decl.c:9056
++#: cp/decl.c:9135
+ #, gcc-internal-format
+ msgid "cannot declare member function %qD to have static linkage"
+ msgstr "ä¸èƒ½å°†æˆå‘˜å‡½æ•°%qD声明为有é™æ€é“¾æŽ¥"
+
+ #. FIXME need arm citation
+-#: cp/decl.c:9063
++#: cp/decl.c:9142
+ #, gcc-internal-format
+ msgid "cannot declare static function inside another function"
+ msgstr "ä¸èƒ½åœ¨å¦ä¸€ä¸ªå‡½æ•°ä¸­å£°æ˜Žä¸€ä¸ªé™æ€å‡½æ•°"
+
+-#: cp/decl.c:9093
++#: cp/decl.c:9172
+ #, gcc-internal-format
+ msgid "%<static%> may not be used when defining (as opposed to declaring) a static data member"
+ msgstr "与声明ä¸åŒï¼Œå®šä¹‰é™æ€æ•°æ®æˆå‘˜æ—¶ä¸èƒ½ä½¿ç”¨%<static%>"
+
+-#: cp/decl.c:9100
++#: cp/decl.c:9179
+ #, gcc-internal-format
+ msgid "static member %qD declared %<register%>"
+ msgstr "é™æ€æˆå‘˜%qD声明为%<register%>"
+
+-#: cp/decl.c:9105
++#: cp/decl.c:9184
+ #, gcc-internal-format
+ msgid "cannot explicitly declare member %q#D to have extern linkage"
+ msgstr "ä¸èƒ½æ˜¾å¼åœ°å°†æˆå‘˜%q#D声明为有外部链接"
+
+-#: cp/decl.c:9234
++#: cp/decl.c:9313
+ #, gcc-internal-format
+ msgid "default argument for %q#D has type %qT"
+ msgstr "%q#D的默认实å‚类型为%qT"
+
+-#: cp/decl.c:9237
++#: cp/decl.c:9316
+ #, gcc-internal-format
+ msgid "default argument for parameter of type %qT has type %qT"
+ msgstr "类型为%qTçš„å½¢å‚的默认实å‚å´æœ‰ç±»åž‹%qT"
+
+-#: cp/decl.c:9253
++#: cp/decl.c:9332
+ #, gcc-internal-format
+ msgid "default argument %qE uses local variable %qD"
+ msgstr "默认实å‚%qE使用了局部å˜é‡%qD"
+
+-#: cp/decl.c:9323
++#: cp/decl.c:9399
+ #, gcc-internal-format
++msgid "parameter %qD has Java class type"
++msgstr "å½¢å‚%qD具有 Java 类类型"
++
++#: cp/decl.c:9412
++#, gcc-internal-format
+ msgid "parameter %qD invalidly declared method type"
+ msgstr "å½¢å‚%qD被无效地被声明为具有方法类型"
+
+-#: cp/decl.c:9347
++#: cp/decl.c:9436
+ #, gcc-internal-format
+ msgid "parameter %qD includes %s to array of unknown bound %qT"
+ msgstr "å‚æ•°%qD包å«äº† %s,åŽè€…指å‘有未知边界%qT的数组"
+
+-#: cp/decl.c:9361
++#: cp/decl.c:9450
+ #, gcc-internal-format
+ msgid "parameter packs must be at the end of the parameter list"
+ msgstr "å‚数包必须出现在形å‚列表末尾"
+
+-#: cp/decl.c:9366
++#: cp/decl.c:9455
+ #, gcc-internal-format
+ msgid "multiple parameters named %qE"
+ msgstr "多个å为%qEçš„å½¢å‚"
+@@ -28761,138 +28745,138 @@
+ #. or implicitly defined), there's no need to worry about their
+ #. existence. Theoretically, they should never even be
+ #. instantiated, but that's hard to forestall.
+-#: cp/decl.c:9581
++#: cp/decl.c:9672
+ #, gcc-internal-format
+ msgid "invalid constructor; you probably meant %<%T (const %T&)%>"
+ msgstr "无效的构造函数:您è¦çš„å¯èƒ½æ˜¯%<%T (const %T&)%>"
+
+-#: cp/decl.c:9703
++#: cp/decl.c:9794
+ #, gcc-internal-format
+ msgid "%qD may not be declared within a namespace"
+ msgstr "%qDä¸èƒ½åœ¨å‘½å空间声明"
+
+-#: cp/decl.c:9708
++#: cp/decl.c:9799
+ #, gcc-internal-format
+ msgid "%qD may not be declared as static"
+ msgstr "%qDä¸èƒ½è¢«å£°æ˜Žä¸ºé™æ€çš„"
+
+-#: cp/decl.c:9731
++#: cp/decl.c:9825
+ #, gcc-internal-format
+ msgid "%qD must be a nonstatic member function"
+ msgstr "%qD必须是一个éžé™æ€çš„æˆå‘˜å‡½æ•°"
+
+-#: cp/decl.c:9740
++#: cp/decl.c:9834
+ #, gcc-internal-format
+ msgid "%qD must be either a non-static member function or a non-member function"
+ msgstr "%qD必须是一个éžé™æ€æˆå‘˜å‡½æ•°æˆ–éžæˆå‘˜å‡½æ•°"
+
+-#: cp/decl.c:9761
++#: cp/decl.c:9855
+ #, gcc-internal-format
+ msgid "%qD must have an argument of class or enumerated type"
+ msgstr "%qD的实å‚必须有类或枚举类型"
+
+-#: cp/decl.c:9802
++#: cp/decl.c:9896
+ #, gcc-internal-format
+ msgid "conversion to %s%s will never use a type conversion operator"
+ msgstr "å‘ %s%s 的转æ¢æ°¸è¿œä¸ä¼šç”¨åˆ°ç±»åž‹è½¬æ¢è¿ç®—符"
+
+ #. 13.4.0.3
+-#: cp/decl.c:9810
++#: cp/decl.c:9904
+ #, gcc-internal-format
+ msgid "ISO C++ prohibits overloading operator ?:"
+ msgstr "ISO C++ ä¸å…许é‡è½½ ?: è¿ç®—符"
+
+-#: cp/decl.c:9815
++#: cp/decl.c:9909
+ #, gcc-internal-format
+ msgid "%qD must not have variable number of arguments"
+ msgstr "%qDä¸èƒ½å¸¦å¯å˜æ•°é‡çš„实å‚"
+
+-#: cp/decl.c:9866
++#: cp/decl.c:9960
+ #, gcc-internal-format
+ msgid "postfix %qD must take %<int%> as its argument"
+ msgstr "åŽç¼€%qD必须使用%<int%>作为它的å‚æ•°"
+
+-#: cp/decl.c:9869
++#: cp/decl.c:9963
+ #, gcc-internal-format
+ msgid "postfix %qD must take %<int%> as its second argument"
+ msgstr "åŽç¼€%qD必须使用%<int%>作为它的第二个å‚æ•°"
+
+-#: cp/decl.c:9877
++#: cp/decl.c:9971
+ #, gcc-internal-format
+ msgid "%qD must take either zero or one argument"
+ msgstr "%qD必须带 0 或 1 个实å‚"
+
+-#: cp/decl.c:9879
++#: cp/decl.c:9973
+ #, gcc-internal-format
+ msgid "%qD must take either one or two arguments"
+ msgstr "%qD必须带 1 或 2 个实å‚"
+
+-#: cp/decl.c:9901
++#: cp/decl.c:9995
+ #, gcc-internal-format
+ msgid "prefix %qD should return %qT"
+ msgstr "å‰ç¼€%qD应当返回%qT"
+
+-#: cp/decl.c:9907
++#: cp/decl.c:10001
+ #, gcc-internal-format
+ msgid "postfix %qD should return %qT"
+ msgstr "åŽç¼€%qD应当返回%qT"
+
+-#: cp/decl.c:9916
++#: cp/decl.c:10010
+ #, gcc-internal-format
+ msgid "%qD must take %<void%>"
+ msgstr "%qD必须有%<void%>类型"
+
+-#: cp/decl.c:9918 cp/decl.c:9927
++#: cp/decl.c:10012 cp/decl.c:10021
+ #, gcc-internal-format
+ msgid "%qD must take exactly one argument"
+ msgstr "%qD带且仅带 1 个实å‚"
+
+-#: cp/decl.c:9929
++#: cp/decl.c:10023
+ #, gcc-internal-format
+ msgid "%qD must take exactly two arguments"
+ msgstr "%qD带且仅带 2 个实å‚"
+
+-#: cp/decl.c:9938
++#: cp/decl.c:10032
+ #, gcc-internal-format
+ msgid "user-defined %qD always evaluates both arguments"
+ msgstr "用户定义的%qD总是计算所有两个å‚æ•°"
+
+-#: cp/decl.c:9952
++#: cp/decl.c:10046
+ #, gcc-internal-format
+ msgid "%qD should return by value"
+ msgstr "%qD应当返回值而éžå¼•ç”¨"
+
+-#: cp/decl.c:9964 cp/decl.c:9968
++#: cp/decl.c:10058 cp/decl.c:10062
+ #, gcc-internal-format
+ msgid "%qD cannot have default arguments"
+ msgstr "%qDä¸èƒ½æœ‰é»˜è®¤å‚æ•°"
+
+-#: cp/decl.c:10026
++#: cp/decl.c:10120
+ #, gcc-internal-format
+ msgid "using template type parameter %qT after %qs"
+ msgstr "使用模æ¿ç±»åž‹å½¢å‚%qT,在%qsåŽ"
+
+-#: cp/decl.c:10041
++#: cp/decl.c:10135
+ #, gcc-internal-format
+ msgid "using typedef-name %qD after %qs"
+ msgstr "使用 typedef å%qD,在%qsåŽ"
+
+-#: cp/decl.c:10042
++#: cp/decl.c:10136
+ #, gcc-internal-format
+ msgid "%q+D has a previous declaration here"
+ msgstr "%q+Då…ˆå‰åœ¨æ­¤å¤„有过声明"
+
+-#: cp/decl.c:10050
++#: cp/decl.c:10144
+ #, gcc-internal-format
+ msgid "%qT referred to as %qs"
+ msgstr "%qT作为%qs被引用"
+
+-#: cp/decl.c:10051 cp/decl.c:10058
++#: cp/decl.c:10145 cp/decl.c:10152
+ #, gcc-internal-format
+ msgid "%q+T has a previous declaration here"
+ msgstr "%q+Tå…ˆå‰åœ¨æ­¤å¤„有过声明"
+
+-#: cp/decl.c:10057
++#: cp/decl.c:10151
+ #, gcc-internal-format
+ msgid "%qT referred to as enum"
+ msgstr "%qT作为枚举被引用"
+@@ -28904,73 +28888,73 @@
+ #. void f(class C); // No template header here
+ #.
+ #. then the required template argument is missing.
+-#: cp/decl.c:10072
++#: cp/decl.c:10166
+ #, gcc-internal-format
+ msgid "template argument required for %<%s %T%>"
+ msgstr "%<%s %T%>需è¦æ¨¡æ¿å‚æ•°"
+
+-#: cp/decl.c:10120 cp/name-lookup.c:2698
++#: cp/decl.c:10214 cp/name-lookup.c:2700
+ #, gcc-internal-format
+ msgid "%qD has the same name as the class in which it is declared"
+ msgstr "%qD与其声明所在的类é‡å"
+
+-#: cp/decl.c:10150 cp/name-lookup.c:2207 cp/parser.c:4036 cp/parser.c:14029
+-#: cp/parser.c:16234
++#: cp/decl.c:10244 cp/name-lookup.c:2209 cp/parser.c:4040 cp/parser.c:14099
++#: cp/parser.c:16316
+ #, gcc-internal-format
+ msgid "reference to %qD is ambiguous"
+ msgstr "对%qD的引用有歧义"
+
+-#: cp/decl.c:10264
++#: cp/decl.c:10358
+ #, gcc-internal-format
+ msgid "use of enum %q#D without previous declaration"
+ msgstr "使用枚举%q#Då‰æ²¡æœ‰ç»™å‡ºå£°æ˜Ž"
+
+-#: cp/decl.c:10285
++#: cp/decl.c:10379
+ #, gcc-internal-format
+ msgid "redeclaration of %qT as a non-template"
+ msgstr "%qTé‡å£°æ˜Žä¸ºéžæ¨¡æ¿"
+
+-#: cp/decl.c:10286 cp/pt.c:4154
++#: cp/decl.c:10380
+ #, gcc-internal-format
+ msgid "previous declaration %q+D"
+ msgstr "å…ˆå‰çš„声明%q+D"
+
+-#: cp/decl.c:10397
++#: cp/decl.c:10491
+ #, gcc-internal-format
+ msgid "derived union %qT invalid"
+ msgstr "派生è”åˆ%qT无效"
+
+-#: cp/decl.c:10406
++#: cp/decl.c:10500
+ #, gcc-internal-format
+ msgid "Java class %qT cannot have multiple bases"
+ msgstr "Java ç±»%qTä¸èƒ½æœ‰å¤šä¸ªåŸºç±»"
+
+-#: cp/decl.c:10417
++#: cp/decl.c:10511
+ #, gcc-internal-format
+ msgid "Java class %qT cannot have virtual bases"
+ msgstr "Java ç±»%qTä¸èƒ½æœ‰è™šåŸºç±»"
+
+-#: cp/decl.c:10440
++#: cp/decl.c:10534
+ #, gcc-internal-format
+ msgid "base type %qT fails to be a struct or class type"
+ msgstr "基类型%qTä¸æ˜¯ç»“构或类"
+
+-#: cp/decl.c:10473
++#: cp/decl.c:10567
+ #, gcc-internal-format
+ msgid "recursive type %qT undefined"
+ msgstr "递归的类型%qT未定义"
+
+-#: cp/decl.c:10475
++#: cp/decl.c:10569
+ #, gcc-internal-format
+ msgid "duplicate base type %qT invalid"
+ msgstr "é‡å¤çš„基类型%qT无效"
+
+-#: cp/decl.c:10552
++#: cp/decl.c:10646
+ #, gcc-internal-format
+ msgid "multiple definition of %q#T"
+ msgstr "%q#T多次定义"
+
+-#: cp/decl.c:10553
++#: cp/decl.c:10647
+ #, gcc-internal-format
+ msgid "%Jprevious definition here"
+ msgstr "%Jå‰ä¸€ä¸ªå®šä¹‰åœ¨è¿™é‡Œ"
+@@ -28979,47 +28963,52 @@
+ #.
+ #. IF no integral type can represent all the enumerator values, the
+ #. enumeration is ill-formed.
+-#: cp/decl.c:10692
++#: cp/decl.c:10786
+ #, gcc-internal-format
+ msgid "no integral type can represent all of the enumerator values for %qT"
+ msgstr "没有一个整数类型å¯ä»¥è¡¨ç¤º%qT的所有枚举值"
+
+-#: cp/decl.c:10803
++#: cp/decl.c:10897
+ #, gcc-internal-format
+ msgid "enumerator value for %qD is not an integer constant"
+ msgstr "%qD的枚举值ä¸æ˜¯ä¸€ä¸ªæ•´æ•°å¸¸é‡"
+
+-#: cp/decl.c:10831
++#: cp/decl.c:10925
+ #, gcc-internal-format
+ msgid "overflow in enumeration values at %qD"
+ msgstr "%qD处枚举值溢出"
+
+-#: cp/decl.c:10906
++#: cp/decl.c:11002
+ #, gcc-internal-format
+ msgid "return type %q#T is incomplete"
+ msgstr "返回值类型%q#Tä¸å®Œå…¨"
+
+-#: cp/decl.c:11031 cp/typeck.c:6711
++#: cp/decl.c:11004
+ #, gcc-internal-format
++msgid "return type has Java class type %q#T"
++msgstr "返回类型具有 Java 类类型%q#T"
++
++#: cp/decl.c:11129 cp/typeck.c:6739
++#, gcc-internal-format
+ msgid "%<operator=%> should return a reference to %<*this%>"
+ msgstr "%<operator=%>应当返回一个对%<*this%>的引用"
+
+-#: cp/decl.c:11420
++#: cp/decl.c:11518
+ #, gcc-internal-format
+ msgid "parameter %qD declared void"
+ msgstr "å½¢å‚%qD被声明为 void"
+
+-#: cp/decl.c:11908
++#: cp/decl.c:12006
+ #, gcc-internal-format
+ msgid "invalid member function declaration"
+ msgstr "无效的æˆå‘˜å‡½æ•°å£°æ˜Ž"
+
+-#: cp/decl.c:11923
++#: cp/decl.c:12021
+ #, gcc-internal-format
+ msgid "%qD is already defined in class %qT"
+ msgstr "%qD已在类%qT中定义过"
+
+-#: cp/decl.c:12170
++#: cp/decl.c:12268
+ #, gcc-internal-format
+ msgid "static member function %q#D declared with type qualifiers"
+ msgstr "é™æ€æˆå‘˜å‡½æ•°%q#D的声明带有类型é™å®šç¬¦"
+@@ -29059,7 +29048,7 @@
+ msgid "deleting %qT is undefined"
+ msgstr "删除%qT未定义"
+
+-#: cp/decl2.c:459 cp/pt.c:3828
++#: cp/decl2.c:459 cp/pt.c:3831
+ #, gcc-internal-format
+ msgid "template declaration of %q#D"
+ msgstr "%q#D声明为模æ¿"
+@@ -29144,22 +29133,22 @@
+ msgid "static member %qD cannot be a bit-field"
+ msgstr "é™æ€æˆå‘˜%qDä¸èƒ½æ˜¯ä½æ®µ"
+
+-#: cp/decl2.c:1122
++#: cp/decl2.c:1165
+ #, gcc-internal-format
+ msgid "anonymous struct not inside named type"
+ msgstr "匿å结构ä¸åœ¨æœ‰å类型内"
+
+-#: cp/decl2.c:1206
++#: cp/decl2.c:1249
+ #, gcc-internal-format
+ msgid "namespace-scope anonymous aggregates must be static"
+ msgstr "命å空间域的匿åèšåˆå¿…须是é™æ€çš„"
+
+-#: cp/decl2.c:1215
++#: cp/decl2.c:1258
+ #, gcc-internal-format
+ msgid "anonymous union with no members"
+ msgstr "匿åè”åˆæ²¡æœ‰æˆå‘˜"
+
+-#: cp/decl2.c:1251
++#: cp/decl2.c:1294
+ #, gcc-internal-format
+ msgid "%<operator new%> must return type %qT"
+ msgstr "%<operator new%>必须返回%qT"
+@@ -29168,60 +29157,60 @@
+ #.
+ #. The first parameter shall not have an associated default
+ #. argument.
+-#: cp/decl2.c:1262
++#: cp/decl2.c:1305
+ #, gcc-internal-format
+ msgid "the first parameter of %<operator new%> cannot have a default argument"
+ msgstr "%<operator new%>的第一个形å‚ä¸èƒ½æœ‰é»˜è®¤å‚æ•°"
+
+-#: cp/decl2.c:1278
++#: cp/decl2.c:1321
+ #, gcc-internal-format
+ msgid "%<operator new%> takes type %<size_t%> (%qT) as first parameter"
+ msgstr "%<operator new%>的第一个形å‚类型为%<size_t%>(%qT)"
+
+-#: cp/decl2.c:1307
++#: cp/decl2.c:1350
+ #, gcc-internal-format
+ msgid "%<operator delete%> must return type %qT"
+ msgstr "%<operator delete%>必须返回%qT"
+
+-#: cp/decl2.c:1316
++#: cp/decl2.c:1359
+ #, gcc-internal-format
+ msgid "%<operator delete%> takes type %qT as first parameter"
+ msgstr "%<operator delete%>的第一个形å‚类型为%qT"
+
+-#: cp/decl2.c:1985
++#: cp/decl2.c:2028
+ #, gcc-internal-format
+ msgid "%qT has a field %qD whose type uses the anonymous namespace"
+ msgstr "%qT有一个字段%qD使用匿å命å空间"
+
+-#: cp/decl2.c:1992
++#: cp/decl2.c:2035
+ #, gcc-internal-format
+ msgid "%qT declared with greater visibility than the type of its field %qD"
+ msgstr "%qT被声明为比其字段%qD的类型有更高的å¯è§æ€§"
+
+-#: cp/decl2.c:2005
++#: cp/decl2.c:2048
+ #, gcc-internal-format
+ msgid "%qT has a base %qT whose type uses the anonymous namespace"
+ msgstr "%qT有一个基类%qT使用匿å命å空间"
+
+-#: cp/decl2.c:2011
++#: cp/decl2.c:2054
+ #, gcc-internal-format
+ msgid "%qT declared with greater visibility than its base %qT"
+ msgstr "%qT被声明为比其基类%qT有更高的å¯è§æ€§"
+
+-#: cp/decl2.c:3395
++#: cp/decl2.c:3441
+ #, gcc-internal-format
+ msgid "inline function %q+D used but never defined"
+ msgstr "使用了内è”函数%q+D但从未定义过"
+
+-#: cp/decl2.c:3543
++#: cp/decl2.c:3589
+ #, gcc-internal-format
+ msgid "default argument missing for parameter %P of %q+#D"
+-msgstr "å½¢å‚ %P (属于%q+#D)缺少默认实å‚"
++msgstr "%2$q+#D的第 %1$P 个形å‚缺少默认实å‚"
+
+ #. We really want to suppress this warning in system headers,
+ #. because libstdc++ uses variadic templates even when we aren't
+ #. in C++0x mode.
+-#: cp/error.c:2669
++#: cp/error.c:2712
+ #, gcc-internal-format
+ msgid "ISO C++ does not include variadic templates"
+ msgstr "ISO C++ ä¸å…许å¯å˜å‚数模æ¿"
+@@ -29253,7 +29242,7 @@
+ msgid "throwing NULL, which has integral, not pointer type"
+ msgstr "抛出 NULL,它的类型是整数而ä¸æ˜¯æŒ‡é’ˆ"
+
+-#: cp/except.c:643 cp/init.c:1780
++#: cp/except.c:643 cp/init.c:1915
+ #, gcc-internal-format
+ msgid "%qD should never be overloaded"
+ msgstr "%qD永远ä¸åº”该被é‡è½½"
+@@ -29352,232 +29341,247 @@
+ msgid "member %qD declared as friend before type %qT defined"
+ msgstr "æˆå‘˜%qD在类型%qT被定义之å‰å£°æ˜Žä¸ºå‹å…ƒ"
+
+-#: cp/friend.c:550
++#: cp/friend.c:543
+ #, gcc-internal-format
++msgid "friend declaration %qD in local class without prior declaration"
++msgstr "本地类中的å‹å…ƒå£°æ˜Ž%qD没有先å‰å£°æ˜Ž"
++
++#: cp/friend.c:564
++#, gcc-internal-format
+ msgid "friend declaration %q#D declares a non-template function"
+ msgstr "å‹å…ƒå£°æ˜Ž%q#D声明了一个éžæ¨¡æ¿å‡½æ•°"
+
+-#: cp/friend.c:554
++#: cp/friend.c:568
+ #, 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.c:334
++#: cp/init.c:374
+ #, gcc-internal-format
++msgid "value-initialization of reference"
++msgstr "引用被值所åˆå§‹åŒ–"
++
++#: cp/init.c:481
++#, gcc-internal-format
+ msgid "%J%qD should be initialized in the member initialization list"
+ msgstr "%J%qD应该在æˆå‘˜åˆå§‹åŒ–列表中被åˆå§‹åŒ–"
+
+-#: cp/init.c:382
++#: cp/init.c:529
+ #, gcc-internal-format
+ msgid "%Jdefault-initialization of %q#D, which has reference type"
+ msgstr "%J默认åˆå§‹åŒ–具有引用类型的%q#D"
+
+-#: cp/init.c:388
++#: cp/init.c:535
+ #, gcc-internal-format
+ msgid "%Juninitialized reference member %qD"
+ msgstr "%J未åˆå§‹åŒ–的引用æˆå‘˜%qD"
+
+-#: cp/init.c:391
++#: cp/init.c:538
+ #, gcc-internal-format
+ msgid "%Juninitialized member %qD with %<const%> type %qT"
+ msgstr "%J未åˆå§‹åŒ–çš„æˆå‘˜%qD具有%<const%>类型%qT"
+
+-#: cp/init.c:534
++#: cp/init.c:681
+ #, gcc-internal-format
+ msgid "%q+D will be initialized after"
+ msgstr "%q+Då°†éšåŽè¢«åˆå§‹åŒ–"
+
+-#: cp/init.c:537
++#: cp/init.c:684
+ #, gcc-internal-format
+ msgid "base %qT will be initialized after"
+ msgstr "基类%qT将在"
+
+-#: cp/init.c:540
++#: cp/init.c:687
+ #, gcc-internal-format
+ msgid " %q+#D"
+ msgstr "%q+#D"
+
+-#: cp/init.c:542
++#: cp/init.c:689
+ #, gcc-internal-format
+ msgid " base %qT"
+ msgstr " 基类%qT"
+
+-#: cp/init.c:543
++#: cp/init.c:690
+ #, gcc-internal-format
+ msgid "%J when initialized here"
+ msgstr "%J 当在这里åˆå§‹åŒ–æ—¶"
+
+-#: cp/init.c:559
++#: cp/init.c:706
+ #, gcc-internal-format
+ msgid "%Jmultiple initializations given for %qD"
+ msgstr "%J为%qD给定了多个åˆå§‹åŒ–设定"
+
+-#: cp/init.c:562
++#: cp/init.c:709
+ #, gcc-internal-format
+ msgid "%Jmultiple initializations given for base %qT"
+ msgstr "%J为基类%qT给定了多个åˆå§‹åŒ–设定"
+
+-#: cp/init.c:629
++#: cp/init.c:776
+ #, gcc-internal-format
+ msgid "%Jinitializations for multiple members of %qT"
+ msgstr "%Jåˆå§‹åŒ–%qT的多个æˆå‘˜"
+
+-#: cp/init.c:691
++#: cp/init.c:839
+ #, gcc-internal-format
+ msgid "%Jbase class %q#T should be explicitly initialized in the copy constructor"
+ msgstr "%J基类%q#T应该在å¤åˆ¶æž„造函数中显å¼åœ°åˆå§‹åŒ–"
+
+-#: cp/init.c:915 cp/init.c:934
++#: cp/init.c:1063 cp/init.c:1082
+ #, gcc-internal-format
+ msgid "class %qT does not have any field named %qD"
+ msgstr "ç±»%qT没有å为%qD的字段"
+
+-#: cp/init.c:921
++#: cp/init.c:1069
+ #, gcc-internal-format
+ msgid "%q#D is a static data member; it can only be initialized at its definition"
+ msgstr "%q#D是一个é™æ€æ•°æ®æˆå‘˜ï¼›å®ƒåªèƒ½åœ¨å®šä¹‰æ—¶è¢«åˆå§‹åŒ–"
+
+-#: cp/init.c:928
++#: cp/init.c:1076
+ #, gcc-internal-format
+ msgid "%q#D is not a non-static data member of %qT"
+ msgstr "%q#Dä¸æ˜¯%qTçš„éžé™æ€æ•°æ®æˆå‘˜"
+
+-#: cp/init.c:967
++#: cp/init.c:1115
+ #, gcc-internal-format
+ msgid "unnamed initializer for %qT, which has no base classes"
+ msgstr "对没有基类的%qTçš„æ— ååˆå§‹åŒ–"
+
+-#: cp/init.c:975
++#: cp/init.c:1123
+ #, gcc-internal-format
+ msgid "unnamed initializer for %qT, which uses multiple inheritance"
+ msgstr "对使用了多继承的%qTçš„æ— ååˆå§‹åŒ–"
+
+-#: cp/init.c:1021
++#: cp/init.c:1169
+ #, gcc-internal-format
+ msgid "%qD is both a direct base and an indirect virtual base"
+ msgstr "%qD既是一个直接基类åˆæ˜¯ä¸€ä¸ªé—´æŽ¥è™šåŸºç±»"
+
+-#: cp/init.c:1029
++#: cp/init.c:1177
+ #, gcc-internal-format
+ msgid "type %qT is not a direct or virtual base of %qT"
+ msgstr "类型%qTä¸æ˜¯%qT的直接或虚基类"
+
+-#: cp/init.c:1032
++#: cp/init.c:1180
+ #, gcc-internal-format
+ msgid "type %qT is not a direct base of %qT"
+ msgstr "类型%qTä¸æ˜¯%qT的直接基类"
+
+-#: cp/init.c:1112
++#: cp/init.c:1260
+ #, gcc-internal-format
+ msgid "bad array initializer"
+ msgstr "错误的数组åˆå§‹å€¼è®¾å®š"
+
+-#: cp/init.c:1287
++#: cp/init.c:1435
+ #, gcc-internal-format
+ msgid "%qT is not an aggregate type"
+ msgstr "%qTä¸æ˜¯ä¸€ä¸ªèšåˆç±»åž‹"
+
+-#: cp/init.c:1341
++#: cp/init.c:1489
+ #, gcc-internal-format
+ msgid "incomplete type %qT does not have member %qD"
+ msgstr "ä¸å®Œå…¨ç±»åž‹%qT没有æˆå‘˜%qD"
+
+-#: cp/init.c:1354
++#: cp/init.c:1502
+ #, gcc-internal-format
+ msgid "invalid pointer to bit-field %qD"
+ msgstr "指å‘ä½æ®µ%qD指针无效"
+
+-#: cp/init.c:1431
++#: cp/init.c:1579
+ #, gcc-internal-format
+ msgid "invalid use of non-static member function %qD"
+ msgstr "对éžé™æ€æˆå‘˜å‡½æ•°%qD的使用无效"
+
+-#: cp/init.c:1437
++#: cp/init.c:1585
+ #, gcc-internal-format
+ msgid "invalid use of non-static data member %qD"
+ msgstr "对éžé™æ€æ•°æ®æˆå‘˜%qD的无效使用"
+
+-#: cp/init.c:1714
++#: cp/init.c:1862
+ #, gcc-internal-format
+ msgid "invalid type %<void%> for new"
+ msgstr "对 new 而言类型%<void%>无效"
+
+-#: cp/init.c:1724
++#: cp/init.c:1872
+ #, gcc-internal-format
+ msgid "uninitialized const in %<new%> of %q#T"
+ msgstr "%<new%>%q#T时常é‡æœªåˆå§‹åŒ–"
+
+-#: cp/init.c:1775
++#: cp/init.c:1910
+ #, gcc-internal-format
+ msgid "call to Java constructor with %qs undefined"
+ msgstr "调用 Java 构造函数,但没有定义%qs"
+
+-#: cp/init.c:1815
++#: cp/init.c:1926
+ #, gcc-internal-format
++msgid "Java class %q#T object allocated using placement new"
++msgstr "Java ç±»%q#Tå¯¹è±¡ä¸ºé¢„å®šä½ new 所分é…"
++
++#: cp/init.c:1955
++#, gcc-internal-format
+ msgid "no suitable %qD found in class %qT"
+ msgstr "找ä¸åˆ°åˆé€‚çš„%qD,在类%qT中"
+
+-#: cp/init.c:1820
++#: cp/init.c:1960
+ #, gcc-internal-format
+ msgid "request for member %qD is ambiguous"
+ msgstr "对æˆå‘˜%qD的请求有歧义"
+
+-#: cp/init.c:1972
++#: cp/init.c:2134
+ #, gcc-internal-format
+ msgid "ISO C++ forbids initialization in array new"
+ msgstr "ISO C++ ä¸å…许在数组 new 中åˆå§‹åŒ–"
+
+-#: cp/init.c:2174
++#: cp/init.c:2336
+ #, gcc-internal-format
+ msgid "size in array new must have integral type"
+ msgstr "数组 new 的大å°å¿…须有整数类型"
+
+-#: cp/init.c:2183
++#: cp/init.c:2345
+ #, gcc-internal-format
+ msgid "new cannot be applied to a reference type"
+ msgstr "new ä¸èƒ½ç”¨äºŽå¼•ç”¨ç±»åž‹"
+
+-#: cp/init.c:2189
++#: cp/init.c:2351
+ #, gcc-internal-format
+ msgid "new cannot be applied to a function type"
+ msgstr "new ä¸èƒ½ç”¨äºŽå‡½æ•°ç±»åž‹"
+
+-#: cp/init.c:2228
++#: cp/init.c:2390
+ #, gcc-internal-format
+ msgid "call to Java constructor, while %<jclass%> undefined"
+ msgstr "调用 Java 构造函数,但没有定义%<jclass%>"
+
+-#: cp/init.c:2246
++#: cp/init.c:2408
+ #, gcc-internal-format
+ msgid "can't find %<class$%> in %qT"
+ msgstr "%qT中找ä¸åˆ°%<class$%>"
+
+-#: cp/init.c:2607
++#: cp/init.c:2769
+ #, gcc-internal-format
+ msgid "initializer ends prematurely"
+ msgstr "åˆå§‹å€¼è®¾å®šåœ¨å®Œæˆä¹‹å‰ç»“æŸ"
+
+-#: cp/init.c:2662
++#: cp/init.c:2824
+ #, gcc-internal-format
+ msgid "cannot initialize multi-dimensional array with initializer"
+ msgstr "ä¸èƒ½ç”¨åˆå§‹å€¼è®¾å®šé¡¹æ¥åˆå§‹åŒ–多维数组"
+
+-#: cp/init.c:2799
++#: cp/init.c:2961
+ #, gcc-internal-format
+ msgid "possible problem detected in invocation of delete operator:"
+ msgstr "检测到调用 delete è¿ç®—符时å¯èƒ½å‡ºçŽ°çš„问题:"
+
+-#: cp/init.c:2802
++#: cp/init.c:2964
+ #, gcc-internal-format
+ msgid "neither the destructor nor the class-specific operator delete will be called, even if they are declared when the class is defined."
+ msgstr "æžæž„函数和类特定的 delete è¿ç®—符å‡ä¸ä¼šè¢«è°ƒç”¨ï¼Œå³ä½¿å®ƒä»¬åœ¨ç±»å®šä¹‰æ—¶å·²ç»å£°æ˜Žã€‚"
+
+-#: cp/init.c:2823
++#: cp/init.c:2985
+ #, gcc-internal-format
+ msgid "unknown array size in delete"
+ msgstr "delete 时数组大å°æœªçŸ¥"
+
+-#: cp/init.c:3070
++#: cp/init.c:3232
+ #, gcc-internal-format
+ msgid "type to vector delete is neither pointer or array type"
+ msgstr "çŸ¢é‡ delete 的实å‚类型既éžæŒ‡é’ˆä¹Ÿéžæ•°ç»„"
+@@ -29642,22 +29646,22 @@
+ msgid "mangling typeof, use decltype instead"
+ msgstr "修饰 typeof,请改用 decltype"
+
+-#: cp/mangle.c:2208
++#: cp/mangle.c:2211
+ #, gcc-internal-format
+ msgid "call_expr cannot be mangled due to a defect in the C++ ABI"
+ msgstr "由于 C++ ABI 的缺陷,call_expr ä¸èƒ½è¢«ä¿®é¥°"
+
+-#: cp/mangle.c:2216
++#: cp/mangle.c:2219
+ #, gcc-internal-format
+ msgid "zero-operand casts cannot be mangled due to a defect in the C++ ABI"
+ msgstr "由于 C++ ABI 的缺陷,零æ“作数的转æ¢ä¸èƒ½è¢«ä¿®é¥°"
+
+-#: cp/mangle.c:2266
++#: cp/mangle.c:2269
+ #, gcc-internal-format
+ msgid "omitted middle operand to %<?:%> operand cannot be mangled"
+ msgstr "çœç•¥çš„%<?:%>中æ“作数ä¸èƒ½è¢«ä¿®é¥°"
+
+-#: cp/mangle.c:2584
++#: cp/mangle.c:2587
+ #, gcc-internal-format
+ msgid "the mangled name of %qD will change in a future version of GCC"
+ msgstr "%qD修饰åŽçš„å字将在 GCC 的未æ¥ç‰ˆæœ¬ä¸­æœ‰å˜åŒ–"
+@@ -29667,27 +29671,27 @@
+ msgid "generic thunk code fails for method %q#D which uses %<...%>"
+ msgstr "通用的转æ¢å±‚代ç (thunk)对使用了%<...%>的方法%q#D失效"
+
+-#: cp/method.c:697
++#: cp/method.c:698
+ #, gcc-internal-format
+ msgid "non-static const member %q#D, can't use default assignment operator"
+ msgstr "éžé™æ€çš„常é‡æˆå‘˜%q#D,ä¸èƒ½ä½¿ç”¨é»˜è®¤çš„赋值è¿ç®—符"
+
+-#: cp/method.c:703
++#: cp/method.c:704
+ #, gcc-internal-format
+ msgid "non-static reference member %q#D, can't use default assignment operator"
+ msgstr "éžé™æ€çš„引用æˆå‘˜%q#D,ä¸èƒ½ä½¿ç”¨é»˜è®¤çš„赋值è¿ç®—符"
+
+-#: cp/method.c:815
++#: cp/method.c:816
+ #, gcc-internal-format
+ msgid "%Hsynthesized method %qD first required here "
+ msgstr "%H在这里第一次需è¦ç”Ÿæˆçš„方法%qD"
+
+-#: cp/method.c:1158
++#: cp/method.c:1159
+ #, gcc-internal-format
+ msgid "vtable layout for class %qT may not be ABI-compliantand may change in a future version of GCC due to implicit virtual destructor"
+ msgstr "由于éšå¼çš„虚æžæž„函数,类%qTçš„ vtable 布局å¯èƒ½ä¸Ž ABI ä¸ç›¸å®¹ï¼Œå¹¶ä¸”å¯èƒ½åœ¨ GCC 的未æ¥ç‰ˆæœ¬ä¸­æ”¹å˜"
+
+-#: cp/name-lookup.c:728
++#: cp/name-lookup.c:727
+ #, gcc-internal-format
+ msgid "redeclaration of %<wchar_t%> as %qT"
+ msgstr "%<wchar_t%>é‡å£°æ˜Žä¸º%qT"
+@@ -29698,243 +29702,243 @@
+ #. [basic.start.main]
+ #.
+ #. This function shall not be overloaded.
+-#: cp/name-lookup.c:758
++#: cp/name-lookup.c:757
+ #, gcc-internal-format
+ msgid "invalid redeclaration of %q+D"
+ msgstr "对%q+#D无效的é‡å£°æ˜Ž"
+
+-#: cp/name-lookup.c:759
++#: cp/name-lookup.c:758
+ #, gcc-internal-format
+ msgid "as %qD"
+ msgstr "作为%qD"
+
+-#: cp/name-lookup.c:850
++#: cp/name-lookup.c:849
+ #, gcc-internal-format
+ msgid "type mismatch with previous external decl of %q#D"
+ msgstr "类型与先å‰çš„%q#D的外部声明ä¸åŒ¹é…"
+
+-#: cp/name-lookup.c:851
++#: cp/name-lookup.c:850
+ #, gcc-internal-format
+ msgid "previous external decl of %q+#D"
+ msgstr "å…ˆå‰%q+#D的外部声明"
+
+-#: cp/name-lookup.c:942
++#: cp/name-lookup.c:941
+ #, gcc-internal-format
+ msgid "extern declaration of %q#D doesn't match"
+ msgstr "%q#D的外部声明ä¸åŒ¹é…"
+
+-#: cp/name-lookup.c:943
++#: cp/name-lookup.c:942
+ #, gcc-internal-format
+ msgid "global declaration %q+#D"
+ msgstr "全局声明%q+#D"
+
+-#: cp/name-lookup.c:980 cp/name-lookup.c:987
++#: cp/name-lookup.c:979 cp/name-lookup.c:986
+ #, gcc-internal-format
+ msgid "declaration of %q#D shadows a parameter"
+ msgstr "%q#D的声明éšè—了一个形å‚"
+
+ #. Location of previous decl is not useful in this case.
+-#: cp/name-lookup.c:1012
++#: cp/name-lookup.c:1011
+ #, gcc-internal-format
+ msgid "declaration of %qD shadows a member of 'this'"
+ msgstr "%qD的声明éšè—了‘this’的一个æˆå‘˜"
+
+-#: cp/name-lookup.c:1018
++#: cp/name-lookup.c:1017
+ #, gcc-internal-format
+ msgid "declaration of %qD shadows a previous local"
+ msgstr "%qD的声明éšè—了先å‰çš„一个局部å˜é‡"
+
+-#: cp/name-lookup.c:1025
++#: cp/name-lookup.c:1024
+ #, gcc-internal-format
+ msgid "declaration of %qD shadows a global declaration"
+ msgstr "%qD的声明éšè—了一个全局声明"
+
+-#: cp/name-lookup.c:1148
++#: cp/name-lookup.c:1147
+ #, gcc-internal-format
+ msgid "name lookup of %qD changed"
+ msgstr "%qDçš„å称查阅已改å˜"
+
+-#: cp/name-lookup.c:1149
++#: cp/name-lookup.c:1148
+ #, gcc-internal-format
+ msgid " matches this %q+D under ISO standard rules"
+ msgstr " 在 ISO 标准规则下匹é…æ­¤%q+D"
+
+-#: cp/name-lookup.c:1151
++#: cp/name-lookup.c:1150
+ #, gcc-internal-format
+ msgid " matches this %q+D under old rules"
+ msgstr " 在旧规则下匹é…æ­¤%q+D"
+
+-#: cp/name-lookup.c:1169 cp/name-lookup.c:1177
++#: cp/name-lookup.c:1168 cp/name-lookup.c:1176
+ #, gcc-internal-format
+ msgid "name lookup of %qD changed for new ISO %<for%> scoping"
+ msgstr "在新的 ISO%<for%>作用域中,%qDçš„å称查找有å˜åŒ–"
+
+-#: cp/name-lookup.c:1171
++#: cp/name-lookup.c:1170
+ #, gcc-internal-format
+ msgid " cannot use obsolete binding at %q+D because it has a destructor"
+ msgstr " ä¸èƒ½åœ¨%q+D使用过时的绑定,因为它有æžæž„函数"
+
+-#: cp/name-lookup.c:1179
++#: cp/name-lookup.c:1178
+ #, gcc-internal-format
+ msgid " using obsolete binding at %q+D"
+ msgstr " 在%q+D使用过时的绑定"
+
+-#: cp/name-lookup.c:1232
++#: cp/name-lookup.c:1231
+ #, gcc-internal-format
+ msgid "%s %s(%E) %p %d\n"
+ msgstr "%s %s(%E) %p %d\n"
+
+-#: cp/name-lookup.c:1235
++#: cp/name-lookup.c:1234
+ #, gcc-internal-format
+ msgid "%s %s %p %d\n"
+ msgstr "%s %s %p %d\n"
+
+-#: cp/name-lookup.c:1362
++#: cp/name-lookup.c:1361
+ #, gcc-internal-format
+ msgid "XXX is_class_level != (current_scope == class_scope)\n"
+ msgstr "XXX is_class_level != (current_scope == class_scope)\n"
+
+-#: cp/name-lookup.c:1920
++#: cp/name-lookup.c:1922
+ #, gcc-internal-format
+ msgid "%q#D hides constructor for %q#T"
+ msgstr "%q#Déšè—了%q#T的构造函数"
+
+-#: cp/name-lookup.c:1937
++#: cp/name-lookup.c:1939
+ #, gcc-internal-format
+ msgid "%q#D conflicts with previous using declaration %q#D"
+ msgstr "%q#D与先å‰çš„ using 声明%q#D冲çª"
+
+-#: cp/name-lookup.c:1960
++#: cp/name-lookup.c:1962
+ #, gcc-internal-format
+ msgid "previous non-function declaration %q+#D"
+ msgstr "å…ˆå‰å¯¹äºŽ%q+#Dçš„éžå‡½æ•°å£°æ˜Ž"
+
+-#: cp/name-lookup.c:1961
++#: cp/name-lookup.c:1963
+ #, gcc-internal-format
+ msgid "conflicts with function declaration %q#D"
+ msgstr "与函数声明%q#D冲çª"
+
+ #. It's a nested name with template parameter dependent scope.
+ #. This can only be using-declaration for class member.
+-#: cp/name-lookup.c:2039 cp/name-lookup.c:2064
++#: cp/name-lookup.c:2041 cp/name-lookup.c:2066
+ #, gcc-internal-format
+ msgid "%qT is not a namespace"
+ msgstr "%qTä¸æ˜¯ä¸€ä¸ªå‘½å空间"
+
+ #. 7.3.3/5
+ #. A using-declaration shall not name a template-id.
+-#: cp/name-lookup.c:2049
++#: cp/name-lookup.c:2051
+ #, gcc-internal-format
+ msgid "a using-declaration cannot specify a template-id. Try %<using %D%>"
+ msgstr "using 声明ä¸èƒ½æŒ‡å®šä¸€ä¸ªæ¨¡æ¿æ ‡è¯†ç¬¦ã€‚请å°è¯•%<using %D%>"
+
+-#: cp/name-lookup.c:2056
++#: cp/name-lookup.c:2058
+ #, gcc-internal-format
+ msgid "namespace %qD not allowed in using-declaration"
+ msgstr "ä¸å…许在 using 声明中使用命å空间%qD"
+
+-#: cp/name-lookup.c:2092
++#: cp/name-lookup.c:2094
+ #, gcc-internal-format
+ msgid "%qD not declared"
+ msgstr "%qD未声明"
+
+-#: cp/name-lookup.c:2128 cp/name-lookup.c:2165 cp/name-lookup.c:2199
+-#: cp/name-lookup.c:2214
++#: cp/name-lookup.c:2130 cp/name-lookup.c:2167 cp/name-lookup.c:2201
++#: cp/name-lookup.c:2216
+ #, gcc-internal-format
+ msgid "%qD is already declared in this scope"
+ msgstr "%qD已在此作用域中声明过"
+
+-#: cp/name-lookup.c:2817
++#: cp/name-lookup.c:2819
+ #, gcc-internal-format
+ msgid "using-declaration for non-member at class scope"
+ msgstr "在类作用域使用éžæˆå‘˜çš„ using 声明"
+
+-#: cp/name-lookup.c:2824
++#: cp/name-lookup.c:2826
+ #, gcc-internal-format
+ msgid "%<%T::%D%> names destructor"
+ msgstr "%<%T::%D%>指定了æžæž„函数"
+
+-#: cp/name-lookup.c:2829
++#: cp/name-lookup.c:2831
+ #, gcc-internal-format
+ msgid "%<%T::%D%> names constructor"
+ msgstr "%<%T::%D%>指定了构造函数"
+
+-#: cp/name-lookup.c:2834
++#: cp/name-lookup.c:2836
+ #, gcc-internal-format
+ msgid "%<%T::%D%> names constructor in %qT"
+ msgstr "%<%T::%D%>在%qT内指定了构造函数"
+
+-#: cp/name-lookup.c:2884
++#: cp/name-lookup.c:2886
+ #, gcc-internal-format
+ msgid "no members matching %<%T::%D%> in %q#T"
+ msgstr "没有与%<%T::%D%>匹é…çš„æˆå‘˜ï¼Œåœ¨%q#T中"
+
+-#: cp/name-lookup.c:2952
++#: cp/name-lookup.c:2954
+ #, gcc-internal-format
+ msgid "declaration of %qD not in a namespace surrounding %qD"
+ msgstr "%qD的声明ä¸åœ¨åŒ…å«%qD的命å空间中"
+
+-#: cp/name-lookup.c:2960
++#: cp/name-lookup.c:2962
+ #, gcc-internal-format
+ msgid "explicit qualification in declaration of %qD"
+ msgstr "%qD的声明中有显å¼çš„é™å®š"
+
+-#: cp/name-lookup.c:3003
++#: cp/name-lookup.c:3005
+ #, gcc-internal-format
+ msgid "%qD should have been declared inside %qD"
+ msgstr "%qD应当已在%qD内部声明过"
+
+-#: cp/name-lookup.c:3048
++#: cp/name-lookup.c:3050
+ #, gcc-internal-format
+ msgid "%qD attribute requires a single NTBS argument"
+ msgstr "%qD属性需è¦ä¸€ä¸ª NTBS 作为实å‚"
+
+-#: cp/name-lookup.c:3055
++#: cp/name-lookup.c:3057
+ #, gcc-internal-format
+ msgid "%qD attribute is meaningless since members of the anonymous namespace get local symbols"
+ msgstr "%qD属性无æ„义,因为匿å命å空间的æˆå‘˜æ‹¥æœ‰å±€éƒ¨ç¬¦å·"
+
+-#: cp/name-lookup.c:3064 cp/name-lookup.c:3433
++#: cp/name-lookup.c:3066 cp/name-lookup.c:3435
+ #, gcc-internal-format
+ msgid "%qD attribute directive ignored"
+ msgstr "指定%qD属性被忽略"
+
+-#: cp/name-lookup.c:3109
++#: cp/name-lookup.c:3111
+ #, gcc-internal-format
+ msgid "namespace alias %qD not allowed here, assuming %qD"
+ msgstr "这里ä¸å…许命å空间别å%qD,å‡å®šä¸º%qD"
+
+-#: cp/name-lookup.c:3421
++#: cp/name-lookup.c:3423
+ #, gcc-internal-format
+ msgid "strong using only meaningful at namespace scope"
+ msgstr "强 using åªåœ¨å‘½å空间作用域有æ„义"
+
+-#: cp/name-lookup.c:3425
++#: cp/name-lookup.c:3427
+ #, gcc-internal-format
+ msgid "current namespace %qD does not enclose strongly used namespace %qD"
+ msgstr "当å‰å‘½å空间%qD并ä¸åŒ…å«ç»å¸¸è¢«ä½œç”¨çš„命å空间%qD"
+
+-#: cp/name-lookup.c:4318
++#: cp/name-lookup.c:4320
+ #, gcc-internal-format
+ msgid "%q+D is not a function,"
+ msgstr "%q+Dä¸æ˜¯ä¸€ä¸ªå‡½æ•°ï¼Œ"
+
+-#: cp/name-lookup.c:4319
++#: cp/name-lookup.c:4321
+ #, gcc-internal-format
+ msgid " conflict with %q+D"
+ msgstr " 与%q+D冲çª"
+
+-#: cp/name-lookup.c:4752
++#: cp/name-lookup.c:4756
+ #, gcc-internal-format
+ msgid "argument dependent lookup finds %q+D"
+ msgstr "ä¾èµ–å‚数的查找找到了%q+D"
+
+-#: cp/name-lookup.c:5184
++#: cp/name-lookup.c:5188
+ #, gcc-internal-format
+ msgid "XXX entering pop_everything ()\n"
+ msgstr "XXX 进入 pop_everything ()\n"
+
+-#: cp/name-lookup.c:5193
++#: cp/name-lookup.c:5197
+ #, gcc-internal-format
+ msgid "XXX leaving pop_everything ()\n"
+ msgstr "XXX 离开 pop_everything ()\n"
+@@ -29944,368 +29948,373 @@
+ msgid "identifier %<%s%> will become a keyword in C++0x"
+ msgstr "标志符%<%s%>将会æˆä¸º C++0x 的一个关键字"
+
+-#: cp/parser.c:2066
++#: cp/parser.c:2069
+ #, gcc-internal-format
+ msgid "%<#pragma%> is not allowed here"
+ msgstr "在这里ä¸å…许使用%<#pragma%>"
+
+-#: cp/parser.c:2096
++#: cp/parser.c:2099
+ #, gcc-internal-format
+ msgid "%<%E::%E%> has not been declared"
+ msgstr "%<%E::%E%>尚未声明"
+
+-#: cp/parser.c:2099
++#: cp/parser.c:2102
+ #, gcc-internal-format
+ msgid "%<::%E%> has not been declared"
+ msgstr "%<::%E%>尚未声明"
+
+-#: cp/parser.c:2102
++#: cp/parser.c:2105
+ #, gcc-internal-format
+ msgid "request for member %qE in non-class type %qT"
+-msgstr "请求æˆå‘˜%qE,在éžç±»ç±»åž‹%qT中"
++msgstr "在éžç±»ç±»åž‹%2$qT中请求æˆå‘˜%1$qE"
+
+-#: cp/parser.c:2105
++#: cp/parser.c:2108
+ #, gcc-internal-format
+ msgid "%<%T::%E%> has not been declared"
+ msgstr "%<%T::%E%>尚未声明"
+
+-#: cp/parser.c:2108
++#: cp/parser.c:2111
+ #, gcc-internal-format
+ msgid "%qE has not been declared"
+ msgstr "%qE未声明"
+
+-#: cp/parser.c:2111
++#: cp/parser.c:2114
+ #, gcc-internal-format
+ msgid "%<%E::%E%> %s"
+ msgstr "%<%E::%E%>%s"
+
+-#: cp/parser.c:2113
++#: cp/parser.c:2116
+ #, gcc-internal-format
+ msgid "%<::%E%> %s"
+ msgstr "%<::%E%>%s"
+
+-#: cp/parser.c:2115
++#: cp/parser.c:2118
+ #, gcc-internal-format
+ msgid "%qE %s"
+ msgstr "%qE%s"
+
+-#: cp/parser.c:2151
++#: cp/parser.c:2155
+ #, gcc-internal-format
+-msgid "ISO C++ does not support %<long long%>"
+-msgstr "ISO C++ ä¸æ”¯æŒ%<long long%>"
++msgid "ISO C++ 1998 does not support %<long long%>"
++msgstr "ISO C++ 1998 ä¸æ”¯æŒ%<long long%>"
+
+-#: cp/parser.c:2171
++#: cp/parser.c:2175
+ #, gcc-internal-format
+ msgid "duplicate %qs"
+ msgstr "é‡å¤çš„%qs"
+
+-#: cp/parser.c:2214
++#: cp/parser.c:2218
+ #, gcc-internal-format
+ msgid "new types may not be defined in a return type"
+ msgstr "ä¸èƒ½åœ¨è¿”回类型中定义新类型"
+
+-#: cp/parser.c:2215
++#: cp/parser.c:2219
+ #, gcc-internal-format
+ msgid "(perhaps a semicolon is missing after the definition of %qT)"
+ msgstr "(%qT的定义末尾å¯èƒ½ç¼ºå°‘一个分å·)"
+
+-#: cp/parser.c:2234 cp/parser.c:4077 cp/pt.c:5443
++#: cp/parser.c:2238 cp/parser.c:4081 cp/pt.c:5509
+ #, gcc-internal-format
+ msgid "%qT is not a template"
+ msgstr "%qTä¸æ˜¯ä¸€ä¸ªæ¨¡æ¿"
+
+-#: cp/parser.c:2236
++#: cp/parser.c:2240
+ #, gcc-internal-format
+ msgid "%qE is not a template"
+ msgstr "%qEä¸æ˜¯ä¸€ä¸ªæ¨¡æ¿"
+
+-#: cp/parser.c:2238
++#: cp/parser.c:2242
+ #, gcc-internal-format
+ msgid "invalid template-id"
+ msgstr "æ— æ•ˆçš„æ¨¡æ¿ ID"
+
+-#: cp/parser.c:2267
++#: cp/parser.c:2271
+ #, gcc-internal-format
+ msgid "%s cannot appear in a constant-expression"
+ msgstr "%s ä¸èƒ½å‡ºçŽ°åœ¨å¸¸é‡è¡¨è¾¾å¼ä¸­"
+
+-#: cp/parser.c:2292
++#: cp/parser.c:2296
+ #, gcc-internal-format
+ msgid "invalid use of template-name %qE without an argument list"
+ msgstr "使用模æ¿å%qEæ—¶ä¸å¸¦å®žå‚表无效"
+
+-#: cp/parser.c:2294
++#: cp/parser.c:2298
+ #, gcc-internal-format
+ msgid "invalid use of destructor %qD as a type"
+ msgstr "å°†æžæž„函数%qD用作类型无效"
+
+ #. Something like 'unsigned A a;'
+-#: cp/parser.c:2297
++#: cp/parser.c:2301
+ #, gcc-internal-format
+ msgid "invalid combination of multiple type-specifiers"
+ msgstr "无效的类型é™å®šç¬¦ç»„åˆ"
+
+ #. Issue an error message.
+-#: cp/parser.c:2301
++#: cp/parser.c:2305
+ #, gcc-internal-format
+ msgid "%qE does not name a type"
+ msgstr "%qE没有命å一个类型"
+
+-#: cp/parser.c:2333
++#: cp/parser.c:2337
+ #, gcc-internal-format
+ msgid "(perhaps %<typename %T::%E%> was intended)"
+ msgstr "(也许您本æ„是想用%<typename %T::%E%>)"
+
+-#: cp/parser.c:2348
++#: cp/parser.c:2352
+ #, gcc-internal-format
+ msgid "%qE in namespace %qE does not name a type"
+ msgstr "%qE在命å空间%qE中没有命å一个类型"
+
+-#: cp/parser.c:2351
++#: cp/parser.c:2355
+ #, gcc-internal-format
+ msgid "%qE in class %qT does not name a type"
+ msgstr "%qE在类%qT中没有命å一个类型"
+
+-#: cp/parser.c:3160
++#: cp/parser.c:3164
+ #, gcc-internal-format
+ msgid "ISO C++ forbids braced-groups within expressions"
+ msgstr "ISO C++ ä¸å…许在表达å¼ä¸­ä½¿ç”¨èŠ±æ‹¬å·ç»„"
+
+-#: cp/parser.c:3171
++#: cp/parser.c:3175
+ #, gcc-internal-format
+ msgid "statement-expressions are not allowed outside functions nor in template-argument lists"
+ msgstr "语å¥è¡¨è¾¾å¼åªèƒ½ç”¨äºŽå‡½æ•°æˆ–模æ¿å®žå‚列表内"
+
+-#: cp/parser.c:3229
++#: cp/parser.c:3233
+ #, gcc-internal-format
+ msgid "%<this%> may not be used in this context"
+ msgstr "%<this%>ä¸èƒ½ç”¨åœ¨æ­¤ä¸Šä¸‹æ–‡ä¸­"
+
+-#: cp/parser.c:3412
++#: cp/parser.c:3416
+ #, gcc-internal-format
+ msgid "local variable %qD may not appear in this context"
+ msgstr "局部å˜é‡%qDä¸åº”出现在此上下文中"
+
+-#: cp/parser.c:3711
++#: cp/parser.c:3715
+ #, gcc-internal-format
+ msgid "scope %qT before %<~%> is not a class-name"
+ msgstr "%<~%>å‰çš„作用域%qTä¸æ˜¯ä¸€ä¸ªç±»å"
+
+-#: cp/parser.c:3812
++#: cp/parser.c:3816
+ #, gcc-internal-format
+ msgid "declaration of %<~%T%> as member of %qT"
+ msgstr "%<~%T%>声明为%qT的一个æˆå‘˜"
+
+-#: cp/parser.c:3826
++#: cp/parser.c:3830
+ #, gcc-internal-format
+ msgid "typedef-name %qD used as destructor declarator"
+ msgstr "typedef å%qD用于æžæž„函数声明"
+
+-#: cp/parser.c:4480
++#: cp/parser.c:4484
+ #, gcc-internal-format
+ msgid "ISO C++ forbids compound-literals"
+ msgstr "ISO C++ ä¸å…许å¤åˆå­—é¢å€¼"
+
+-#: cp/parser.c:4837
++#: cp/parser.c:4841
+ #, gcc-internal-format
+ msgid "%qE does not have class type"
+ msgstr "%qEä¸æ˜¯ä¸€ä¸ªç±»"
+
+-#: cp/parser.c:4920 cp/typeck.c:1978
++#: cp/parser.c:4924 cp/typeck.c:2024
+ #, gcc-internal-format
+ msgid "invalid use of %qD"
+ msgstr "错误地使用了%qD"
+
+-#: cp/parser.c:5480
++#: cp/parser.c:5486
+ #, gcc-internal-format
+ msgid "array bound forbidden after parenthesized type-id"
+ msgstr "括起的类型标识符åŽé¢ä¸èƒ½å‡ºçŽ°æ•°ç»„边界"
+
+-#: cp/parser.c:5481
++#: cp/parser.c:5487
+ #, gcc-internal-format
+ msgid "try removing the parentheses around the type-id"
+ msgstr "请å°è¯•åˆ é™¤ç±»åž‹æ ‡è¯†ç¬¦ä¸¤è¾¹çš„括å·"
+
+-#: cp/parser.c:5671
++#: cp/parser.c:5677
+ #, gcc-internal-format
+ msgid "expression in new-declarator must have integral or enumeration type"
+ msgstr "new 声明中的表达å¼å¿…须具有整数或枚举类型"
+
+-#: cp/parser.c:5860
++#: cp/parser.c:5866
+ #, gcc-internal-format
+ msgid "use of old-style cast"
+ msgstr "使用旧å¼çš„类型转æ¢"
+
+-#: cp/parser.c:5986
++#: cp/parser.c:5992
+ #, gcc-internal-format
+ msgid "%H%<>>%> operator will be treated as two right angle brackets in C++0x"
+ msgstr "%H%<>>%>æ“作符在 C++0x 中将被认为是两个å³å°–括å·"
+
+-#: cp/parser.c:5989
++#: cp/parser.c:5995
+ #, gcc-internal-format
+ msgid "suggest parentheses around %<>>%> expression"
+ msgstr "建议%<>>%>表达å¼å‘¨å›´åŠ ä¸Šæ‹¬å·"
+
+-#: cp/parser.c:6793
++#: cp/parser.c:6799
+ #, gcc-internal-format
+ msgid "case label %qE not within a switch statement"
+ msgstr "case æ ‡å·%qE未出现在 switch 语å¥ä¸­"
+
+-#: cp/parser.c:6922
++#: cp/parser.c:6928
+ #, gcc-internal-format
+ msgid "%<else%> without a previous %<if%>"
+ msgstr "%<else%>之å‰æ²¡æœ‰%<if%>"
+
+-#: cp/parser.c:7208
++#: cp/parser.c:7214
+ #, gcc-internal-format
+ msgid "suggest a space before %<;%> or explicit braces around empty body in %<%s%> statement"
+ msgstr "建议在%<%s%>空语å¥ä½“çš„%<;%>å‰æ·»åŠ ä¸€ä¸ªç©ºæ ¼æˆ–者在其周围显å¼åœ°åŠ ä¸ŠèŠ±æ‹¬å·"
+
+-#: cp/parser.c:7468
++#: cp/parser.c:7474
+ #, gcc-internal-format
+ msgid "ISO C++ forbids computed gotos"
+ msgstr "ISO C++ ä¸å…许计算转移"
+
+-#: cp/parser.c:7608
++#: cp/parser.c:7614
+ #, gcc-internal-format
+ msgid "extra %<;%>"
+ msgstr "多余的%<;%>"
+
+-#: cp/parser.c:7825
++#: cp/parser.c:7831
+ #, gcc-internal-format
+ msgid "%<__label__%> not at the beginning of a block"
+ msgstr "%<__label__%>未出现在å—起始"
+
+-#: cp/parser.c:7958
++#: cp/parser.c:7964
+ #, gcc-internal-format
+ msgid "mixing declarations and function-definitions is forbidden"
+ msgstr "ä¸èƒ½æ··åˆå£°æ˜Žå’Œå‡½æ•°å®šä¹‰"
+
+-#: cp/parser.c:8090
++#: cp/parser.c:8096
+ #, gcc-internal-format
+ msgid "%<friend%> used outside of class"
+ msgstr "%<friend%>用在类外"
+
+-#: cp/parser.c:8244
++#: cp/parser.c:8250
+ #, gcc-internal-format
+ msgid "class definition may not be declared a friend"
+ msgstr "类定义ä¸èƒ½è¢«å£°æ˜Žä¸ºå‹å…ƒ"
+
+-#: cp/parser.c:8308 cp/parser.c:15155
++#: cp/parser.c:8314 cp/parser.c:15235
+ #, gcc-internal-format
+ msgid "templates may not be %<virtual%>"
+ msgstr "模æ¿ä¸èƒ½æ˜¯%<virtual%>çš„"
+
+-#: cp/parser.c:8775
++#: cp/parser.c:8786
+ #, gcc-internal-format
+ msgid "only constructors take base initializers"
+ msgstr "åªæœ‰æž„造函数æ‰èƒ½æœ‰åŸºç±»åˆå§‹å€¼è®¾å®š"
+
+-#: cp/parser.c:8795
++#: cp/parser.c:8806
+ #, gcc-internal-format
+ msgid "cannot expand initializer for member %<%D%>"
+ msgstr "无法从æˆå‘˜%<%D%>中扩展åˆå§‹å€¼"
+
+-#: cp/parser.c:8847
++#: cp/parser.c:8858
+ #, gcc-internal-format
+ msgid "anachronistic old-style base class initializer"
+ msgstr "年代错误的旧å¼åŸºç±»åˆå§‹å€¼è®¾å®š"
+
+-#: cp/parser.c:8892
++#: cp/parser.c:8903
+ #, gcc-internal-format
+ msgid "keyword %<typename%> not allowed in this context (a qualified member initializer is implicitly a type)"
+ msgstr "关键字%<typename%>ä¸å…许用在此上下文中(é™å®šçš„åˆå§‹å€¼è®¾å®šéšå¼åœ°æ˜¯ä¸€ä¸ªç±»åž‹)"
+
+ #. Warn that we do not support `export'.
+-#: cp/parser.c:9237
++#: cp/parser.c:9248
+ #, gcc-internal-format
+ msgid "keyword %<export%> not implemented, and will be ignored"
+ msgstr "关键字%<export%>未实现,将被忽略"
+
+-#: cp/parser.c:9482 cp/parser.c:9583
++#: cp/parser.c:9419 cp/parser.c:9517 cp/parser.c:9618
+ #, gcc-internal-format
+ msgid "template parameter pack %qD cannot have a default argument"
+ msgstr "模æ¿å‚数包%qDä¸èƒ½æœ‰é»˜è®¤å‚æ•°"
+
+-#: cp/parser.c:9485 cp/parser.c:9586
++#: cp/parser.c:9422
+ #, gcc-internal-format
++msgid "template parameter pack cannot have a default argument"
++msgstr "模æ¿å‚数包ä¸èƒ½æœ‰é»˜è®¤å‚æ•°"
++
++#: cp/parser.c:9520 cp/parser.c:9621
++#, gcc-internal-format
+ msgid "template parameter packs cannot have default arguments"
+ msgstr "模æ¿å‚数包ä¸èƒ½æœ‰é»˜è®¤å‚æ•°"
+
+ #. Otherwise, emit an error about the invalid digraph, but continue
+ #. parsing because we got our argument list.
+-#: cp/parser.c:9723
++#: cp/parser.c:9758
+ #, gcc-internal-format
+ msgid "%<<::%> cannot begin a template-argument list"
+ msgstr "ä¸èƒ½ä»¥%<<::%>开始一个模æ¿å®žå‚列表"
+
+-#: cp/parser.c:9724
++#: cp/parser.c:9759
+ #, gcc-internal-format
+ msgid "%<<:%> is an alternate spelling for %<[%>. Insert whitespace between %<<%> and %<::%>"
+ msgstr "%<<:%>是%<[%>çš„å¦ä¸€ç§æ‹¼æ³•ã€‚请在%<<%>å’Œ%<::%>间加上空格"
+
+-#: cp/parser.c:9731
++#: cp/parser.c:9766
+ #, gcc-internal-format
+ msgid "(if you use -fpermissive G++ will accept your code)"
+ msgstr "(如果您使用 -fpermissive G++ 会接å—您的代ç )"
+
+-#: cp/parser.c:9804
++#: cp/parser.c:9839
+ #, gcc-internal-format
+ msgid "parse error in template argument list"
+ msgstr "模æ¿å®žå‚表语法错误"
+
+ #. Explain what went wrong.
+-#: cp/parser.c:9917
++#: cp/parser.c:9952
+ #, gcc-internal-format
+ msgid "non-template %qD used as template"
+ msgstr "éžæ¨¡æ¿%qD用作模æ¿"
+
+-#: cp/parser.c:9918
++#: cp/parser.c:9953
+ #, gcc-internal-format
+ msgid "use %<%T::template %D%> to indicate that it is a template"
+ msgstr "使用%<%T::template %D%>æ¥è¡¨ç¤ºè¿™æ˜¯ä¸€ä¸ªæ¨¡æ¿"
+
+-#: cp/parser.c:10441
++#: cp/parser.c:10476
+ #, gcc-internal-format
+ msgid "template specialization with C linkage"
+ msgstr "特例化模æ¿æœ‰ C 链接"
+
+-#: cp/parser.c:11032
++#: cp/parser.c:11067
+ #, gcc-internal-format
+ msgid "using %<typename%> outside of template"
+ msgstr "在模æ¿å¤–使用%<typename%>"
+
+-#: cp/parser.c:11191
++#: cp/parser.c:11226
+ #, gcc-internal-format
+ msgid "declaration %qD does not declare anything"
+ msgstr "声明%qD没有声明任何东西"
+
+-#: cp/parser.c:11275
++#: cp/parser.c:11310
+ #, gcc-internal-format
+ msgid "attributes ignored on uninstantiated type"
+ msgstr "属性在未åˆå§‹åŒ–类型上被忽略"
+
+-#: cp/parser.c:11279
++#: cp/parser.c:11314
+ #, gcc-internal-format
+ msgid "attributes ignored on template instantiation"
+ msgstr "属性在模æ¿å®žä¾‹åŒ–上被忽略"
+
+-#: cp/parser.c:11284
++#: cp/parser.c:11319
+ #, gcc-internal-format
+ msgid "attributes ignored on elaborated-type-specifier that is not a forward declaration"
+ msgstr "类型在éžå‰å‘声明的详尽类型é™å®šç¬¦ä¸­è¢«å¿½ç•¥"
+
+-#: cp/parser.c:11406
++#: cp/parser.c:11441
+ #, gcc-internal-format
+ msgid "comma at end of enumerator list"
+ msgstr "枚举表以逗å·ç»“å°¾"
+
+-#: cp/parser.c:11498
++#: cp/parser.c:11533
+ #, gcc-internal-format
+ msgid "%qD is not a namespace-name"
+ msgstr "%qDä¸æ˜¯ä¸€ä¸ªå‘½å空间"
+
+-#: cp/parser.c:11599
++#: cp/parser.c:11634
+ #, gcc-internal-format
+ msgid "%<namespace%> definition is not allowed here"
+ msgstr "在这里ä¸å…许使用%<namespace%>定义"
+@@ -30313,142 +30322,157 @@
+ #. [namespace.udecl]
+ #.
+ #. A using declaration shall not name a template-id.
+-#: cp/parser.c:11738
++#: cp/parser.c:11773
+ #, gcc-internal-format
+ msgid "a template-id may not appear in a using-declaration"
+ msgstr "模æ¿æ ‡è¯†ç¬¦ä¸å…许出现在 using 声明中"
+
+-#: cp/parser.c:12094
++#: cp/parser.c:12135
+ #, gcc-internal-format
+ msgid "an asm-specification is not allowed on a function-definition"
+ msgstr "函数定义中ä¸å…许出现 asm 指定"
+
+-#: cp/parser.c:12096
++#: cp/parser.c:12137
+ #, gcc-internal-format
+ msgid "attributes are not allowed on a function-definition"
+ msgstr "函数定义中ä¸å…许有属性"
+
+-#: cp/parser.c:12229
++#: cp/parser.c:12270
+ #, gcc-internal-format
+ msgid "initializer provided for function"
+ msgstr "为函数æ供了åˆå§‹å€¼è®¾å®š"
+
+-#: cp/parser.c:12249
++#: cp/parser.c:12290
+ #, gcc-internal-format
+ msgid "attributes after parenthesized initializer ignored"
+ msgstr "括起的åˆå§‹å€¼è®¾å®šåŽå‡ºçŽ°çš„属性被忽略"
+
+-#: cp/parser.c:12630 cp/pt.c:8772
++#: cp/parser.c:12671 cp/pt.c:8893
+ #, gcc-internal-format
+ msgid "array bound is not an integer constant"
+ msgstr "数组边界ä¸æ˜¯ä¸€ä¸ªæ•´æ•°å¸¸é‡"
+
+-#: cp/parser.c:12739
++#: cp/parser.c:12780
+ #, gcc-internal-format
+ msgid "%<%T::%E%> is not a type"
+ msgstr "%<%T::%E%>ä¸æ˜¯ä¸€ä¸ªç±»åž‹"
+
+-#: cp/parser.c:12765
++#: cp/parser.c:12806
+ #, gcc-internal-format
+ msgid "invalid use of constructor as a template"
+ msgstr "将构造函数用作模æ¿ç”¨æ³•æ— æ•ˆ"
+
+-#: cp/parser.c:12766
++#: cp/parser.c:12807
+ #, gcc-internal-format
+ msgid "use %<%T::%D%> instead of %<%T::%D%> to name the constructor in a qualified name"
+ msgstr "使用%<%T::%D%>而ä¸æ˜¯%<%T::%D%>æ¥ä»¥é™å®šå指定构造函数"
+
+-#: cp/parser.c:12938
++#: cp/parser.c:12979
+ #, gcc-internal-format
+ msgid "%qD is a namespace"
+ msgstr "%qD是一个命å空间"
+
+-#: cp/parser.c:13013
++#: cp/parser.c:13054
+ #, gcc-internal-format
+ msgid "duplicate cv-qualifier"
+ msgstr "é‡å¤çš„ cv é™å®š"
+
+-#: cp/parser.c:13600
++#: cp/parser.c:13640
+ #, gcc-internal-format
+ msgid "file ends in default argument"
+ msgstr "文件在默认å‚数处结æŸ"
+
+-#: cp/parser.c:13673
++#: cp/parser.c:13683
+ #, gcc-internal-format
+ msgid "deprecated use of default argument for parameter of non-function"
+ msgstr "ä¸å»ºè®®ä¸ºéžå‡½æ•°æŒ‡å®šé»˜è®¤å‚æ•°"
+
+-#: cp/parser.c:13676
++#: cp/parser.c:13686
+ #, gcc-internal-format
+ msgid "default arguments are only permitted for function parameters"
+ msgstr "默认å‚æ•°åªå…许出现在函数å‚数中"
+
+-#: cp/parser.c:13877
++#: cp/parser.c:13702
+ #, gcc-internal-format
++msgid "%sparameter pack %qD cannot have a default argument"
++msgstr "%s模æ¿å‚数包%qDä¸èƒ½æœ‰é»˜è®¤å‚æ•°"
++
++#: cp/parser.c:13705
++#, gcc-internal-format
++msgid "%sparameter pack cannot have a default argument"
++msgstr "%s模æ¿å‚数包ä¸èƒ½æœ‰é»˜è®¤å‚æ•°"
++
++#: cp/parser.c:13947
++#, gcc-internal-format
+ msgid "ISO C++ does not allow designated initializers"
+ msgstr "ISO C++ ä¸å…许指定元素åˆå§‹å€¼è®¾å®š"
+
+-#: cp/parser.c:14477
++#: cp/parser.c:14547
+ #, gcc-internal-format
+ msgid "invalid class name in declaration of %qD"
+ msgstr "%qD的声明中类å无效"
+
+-#: cp/parser.c:14489
++#: cp/parser.c:14559
+ #, gcc-internal-format
+ msgid "declaration of %qD in namespace %qD which does not enclose %qD"
+ msgstr "%qD声明出现在命å空间%qD中,而åŽè€…并ä¸åŒ…å«%qD"
+
+-#: cp/parser.c:14492
++#: cp/parser.c:14562
+ #, gcc-internal-format
+ msgid "declaration of %qD in %qD which does not enclose %qD"
+ msgstr "%qD声明出现在%qD中,而åŽè€…并ä¸åŒ…å«%qD"
+
+-#: cp/parser.c:14505
++#: cp/parser.c:14575
+ #, gcc-internal-format
+ msgid "extra qualification ignored"
+ msgstr "忽略é¢å¤–çš„é™å®š"
+
+-#: cp/parser.c:14516
++#: cp/parser.c:14586
+ #, gcc-internal-format
+ msgid "an explicit specialization must be preceded by %<template <>%>"
+ msgstr "显å¼ç‰¹ä¾‹åŒ–å‰å¿…须有%<template <>%>"
+
+-#: cp/parser.c:14609
++#: cp/parser.c:14613
+ #, gcc-internal-format
++msgid "function template %qD redeclared as a class template"
++msgstr "函数模æ¿%qDé‡å£°æ˜Žä¸ºç±»æ¨¡æ¿"
++
++#: cp/parser.c:14689
++#, gcc-internal-format
+ msgid "previous definition of %q+#T"
+ msgstr "%q+#T的上一个定义"
+
+-#: cp/parser.c:14855
++#: cp/parser.c:14935
+ #, gcc-internal-format
+ msgid "%Hextra %<;%>"
+ msgstr "%H多余的%<;%>"
+
+-#: cp/parser.c:14873
++#: cp/parser.c:14953
+ #, gcc-internal-format
+ msgid "a class-key must be used when declaring a friend"
+ msgstr "声明å‹å…ƒæ—¶å¿…须使用 class 关键字"
+
+-#: cp/parser.c:14887
++#: cp/parser.c:14967
+ #, gcc-internal-format
+ msgid "friend declaration does not name a class or function"
+ msgstr "å‹å…ƒå£°æ˜Žæ²¡æœ‰æŒ‡å®šç±»æˆ–函数å"
+
+-#: cp/parser.c:15064
++#: cp/parser.c:15144
+ #, gcc-internal-format
+ msgid "pure-specifier on function-definition"
+ msgstr "函数定义上有 pure 指定"
+
+-#: cp/parser.c:15356
++#: cp/parser.c:15438
+ #, gcc-internal-format
+ msgid "keyword %<typename%> not allowed outside of templates"
+ msgstr "关键字%<typename%>ä¸èƒ½åœ¨æ¨¡æ¿ä»¥å¤–使用"
+
+-#: cp/parser.c:15358
++#: cp/parser.c:15440
+ #, gcc-internal-format
+ msgid "keyword %<typename%> not allowed in this context (the base class is implicitly a type)"
+ msgstr "关键字%<typename%>ä¸å…许用在此上下文中(基类éšå¼åœ°æ˜¯ä¸€ä¸ªç±»åž‹)"
+
+-#: cp/parser.c:16407
++#: cp/parser.c:16489
+ #, gcc-internal-format
+ msgid "too few template-parameter-lists"
+ msgstr "模æ¿å‚数表太少"
+@@ -30457,13 +30481,13 @@
+ #. something like:
+ #.
+ #. template <class T> template <class U> void S::f();
+-#: cp/parser.c:16422
++#: cp/parser.c:16504
+ #, gcc-internal-format
+ msgid "too many template-parameter-lists"
+ msgstr "模æ¿å‚数表太多"
+
+ #. Issue an error message.
+-#: cp/parser.c:16694
++#: cp/parser.c:16776
+ #, gcc-internal-format
+ msgid "named return values are no longer supported"
+ msgstr "有å返回值ä¸å†è¢«æ”¯æŒ"
+@@ -30471,234 +30495,234 @@
+ #. 14.5.2.2 [temp.mem]
+ #.
+ #. A local class shall not have member templates.
+-#: cp/parser.c:16766
++#: cp/parser.c:16848
+ #, gcc-internal-format
+ msgid "invalid declaration of member template in local class"
+ msgstr "局部类中对æˆå‘˜æ¨¡æ¿çš„声明无效"
+
+-#: cp/parser.c:16775
++#: cp/parser.c:16857
+ #, gcc-internal-format
+ msgid "template with C linkage"
+ msgstr "C 链接的模æ¿"
+
+-#: cp/parser.c:16919
++#: cp/parser.c:17001
+ #, gcc-internal-format
+ msgid "template declaration of %qs"
+ msgstr "%qs声明为模æ¿"
+
+-#: cp/parser.c:16982
++#: cp/parser.c:17064
+ #, gcc-internal-format
+ msgid "explicit template specialization cannot have a storage class"
+ msgstr "显å¼ç‰¹ä¾‹åŒ–ä¸èƒ½æœ‰å­˜å‚¨ç±»åž‹"
+
+-#: cp/parser.c:17171
++#: cp/parser.c:17253
+ #, gcc-internal-format
+ msgid "%H%<>>%> should be %<> >%> within a nested template argument list"
+ msgstr "%H在嵌套模æ¿å®žå‚列表中应当使用%<> >%>而éž%<>>%>"
+
+-#: cp/parser.c:17184
++#: cp/parser.c:17266
+ #, gcc-internal-format
+ msgid "spurious %<>>%>, use %<>%> to terminate a template argument list"
+ msgstr "å¯ç–‘çš„%<>>%>,使用%<>%>æ¥ç»“æŸæ¨¡æ¿å®žå‚列表"
+
+-#: cp/parser.c:17519
++#: cp/parser.c:17601
+ #, gcc-internal-format
+ msgid "invalid use of %qD in linkage specification"
+ msgstr "指定链接时使用%qD无效"
+
+-#: cp/parser.c:17532
++#: cp/parser.c:17614
+ #, gcc-internal-format
+ msgid "%<__thread%> before %qD"
+ msgstr "%<__thread%>出现在%qD之å‰"
+
+-#: cp/parser.c:17847
++#: cp/parser.c:17929
+ #, gcc-internal-format
+ msgid "%qs tag used in naming %q#T"
+ msgstr "使用了%qs标记,在命å%q#Tæ—¶"
+
+-#: cp/parser.c:17868
++#: cp/parser.c:17950
+ #, gcc-internal-format
+ msgid "%qD redeclared with different access"
+ msgstr "%qDé‡å£°æ˜Žæ—¶æœ‰ä¸åŒçš„å¯è®¿é—®æ€§"
+
+-#: cp/parser.c:17885
++#: cp/parser.c:17967
+ #, gcc-internal-format
+ msgid "%<template%> (as a disambiguator) is only allowed within templates"
+ msgstr "用作消歧义的%<template%>åªèƒ½ç”¨äºŽæ¨¡æ¿å†…"
+
+-#: cp/parser.c:18138 cp/parser.c:19061 cp/parser.c:19192
++#: cp/parser.c:18220 cp/parser.c:19143 cp/parser.c:19274
+ #, gcc-internal-format
+ msgid "misplaced %<@%D%> Objective-C++ construct"
+ msgstr "ä½ç½®é”™è¯¯çš„%<@%D%>Objective-C++ 构造"
+
+-#: cp/parser.c:18279
++#: cp/parser.c:18361
+ #, gcc-internal-format
+ msgid "%<@encode%> must specify a type as an argument"
+ msgstr "%<@encode%>必须指定一个类型作为实å‚"
+
+-#: cp/parser.c:18594
++#: cp/parser.c:18676
+ #, gcc-internal-format
+ msgid "invalid Objective-C++ selector name"
+ msgstr "无效的 Objective-C++ 选择å­å"
+
+-#: cp/parser.c:18925
++#: cp/parser.c:19007
+ #, gcc-internal-format
+ msgid "identifier expected after %<@protocol%>"
+ msgstr "%<@protocol%>需è¦æ ‡è¯†ç¬¦"
+
+-#: cp/parser.c:19626
++#: cp/parser.c:19708
+ #, gcc-internal-format
+ msgid "schedule %<runtime%> does not take a %<chunk_size%> parameter"
+ msgstr "调度%<runtime%>ä¸æŽ¥å—一个%<chunk_size%>å‚æ•°"
+
+-#: cp/parser.c:19735
++#: cp/parser.c:19824
+ #, gcc-internal-format
+ msgid "%qs is not valid for %qs"
+ msgstr "%qs对%qs而言无效"
+
+-#: cp/parser.c:20390
++#: cp/parser.c:20479
+ #, gcc-internal-format
+ msgid "junk at end of %<#pragma GCC pch_preprocess%>"
+ msgstr "%<#pragma GCC pch_preprocess%>末尾有垃圾字符"
+
+-#: cp/parser.c:20477
++#: cp/parser.c:20566
+ #, gcc-internal-format
+ msgid "%<#pragma omp section%> may only be used in %<#pragma omp sections%> construct"
+ msgstr "%<#pragma omp section%>åªèƒ½ç”¨åœ¨%<#pragma omp sections%>结构中"
+
+-#: cp/parser.c:20535
++#: cp/parser.c:20624
+ #, gcc-internal-format
+ msgid "inter-module optimizations not implemented for C++"
+ msgstr "模å—间优化未为 C++ 实现"
+
+-#: cp/pt.c:249
++#: cp/pt.c:252
+ #, gcc-internal-format
+ msgid "data member %qD cannot be a member template"
+ msgstr "æ•°æ®æˆå‘˜%qDä¸èƒ½æ˜¯æˆå‘˜æ¨¡æ¿"
+
+-#: cp/pt.c:261
++#: cp/pt.c:264
+ #, gcc-internal-format
+ msgid "invalid member template declaration %qD"
+ msgstr "无效的æˆå‘˜æ¨¡æ¿å£°æ˜Ž%qD"
+
+-#: cp/pt.c:609
++#: cp/pt.c:612
+ #, gcc-internal-format
+ msgid "explicit specialization in non-namespace scope %qD"
+ msgstr "显å¼ç‰¹ä¾‹åŒ–出现在éžå‘½å空间作用域%qD中"
+
+-#: cp/pt.c:623
++#: cp/pt.c:626
+ #, gcc-internal-format
+ msgid "enclosing class templates are not explicitly specialized"
+ msgstr "所包å«çš„类模æ¿å¹¶æœªè¢«æ˜¾å¼ç‰¹ä¾‹åŒ–"
+
+-#: cp/pt.c:711
++#: cp/pt.c:714
+ #, gcc-internal-format
+ msgid "specialization of %qD in different namespace"
+ msgstr "在ä¸åŒå‘½å空间内对%qD的特例化"
+
+-#: cp/pt.c:712 cp/pt.c:809
++#: cp/pt.c:715 cp/pt.c:812
+ #, gcc-internal-format
+ msgid " from definition of %q+#D"
+ msgstr " 从%q+#D的定义"
+
+-#: cp/pt.c:729
++#: cp/pt.c:732
+ #, gcc-internal-format
+ msgid "explicit instantiation of %qD in namespace %qD (which does not enclose namespace %qD)"
+ msgstr "%qD的显å¼å®žä¾‹åŒ–出现在命å空间%qD中,而åŽè€…并ä¸åŒ…å«å‘½å空间%qD"
+
+-#: cp/pt.c:747
++#: cp/pt.c:750
+ #, gcc-internal-format
+ msgid "name of class shadows template template parameter %qD"
+ msgstr "ç±»åéšè—了模æ¿çš„模æ¿å½¢å‚%qD"
+
+-#: cp/pt.c:776
++#: cp/pt.c:779
+ #, gcc-internal-format
+ msgid "specialization of %qT after instantiation"
+ msgstr "%qT的实例化在特例化之åŽ"
+
+-#: cp/pt.c:808
++#: cp/pt.c:811
+ #, gcc-internal-format
+ msgid "specializing %q#T in different namespace"
+ msgstr "在ä¸åŒå‘½å空间中特例化%q#T"
+
+-#: cp/pt.c:823
++#: cp/pt.c:826
+ #, gcc-internal-format
+ msgid "specialization %qT after instantiation %qT"
+ msgstr "%qT的实例化在%qT的特例化之åŽ"
+
+-#: cp/pt.c:836
++#: cp/pt.c:839
+ #, gcc-internal-format
+ msgid "explicit specialization of non-template %qT"
+ msgstr "显å¼ç‰¹ä¾‹åŒ–éžæ¨¡æ¿%qT"
+
+-#: cp/pt.c:1238
++#: cp/pt.c:1246
+ #, gcc-internal-format
+ msgid "specialization of %qD after instantiation"
+ msgstr "%qD的特例化在实例化之åŽ"
+
+-#: cp/pt.c:1464
++#: cp/pt.c:1472
+ #, gcc-internal-format
+ msgid "%qD is not a function template"
+ msgstr "%qDä¸æ˜¯ä¸€ä¸ªå‡½æ•°æ¨¡æ¿"
+
+-#: cp/pt.c:1673
++#: cp/pt.c:1681
+ #, gcc-internal-format
+ msgid "template-id %qD for %q+D does not match any template declaration"
+-msgstr "模æ¿æ ‡è¯†ç¬¦%qD(属于%q+D)ä¸åŒ¹é…任何模æ¿å£°æ˜Ž"
++msgstr "%2$q+D的模æ¿æ ‡è¯†ç¬¦%1$qDä¸åŒ¹é…任何模æ¿å£°æ˜Ž"
+
+-#: cp/pt.c:1681
++#: cp/pt.c:1689
+ #, gcc-internal-format
+ msgid "ambiguous template specialization %qD for %q+D"
+ msgstr "有歧义的模æ¿ç‰¹ä¾‹åŒ–%qD(为%q+D)"
+
+ #. This case handles bogus declarations like template <>
+ #. template <class T> void f<int>();
+-#: cp/pt.c:1916 cp/pt.c:1970
++#: cp/pt.c:1924 cp/pt.c:1978
+ #, gcc-internal-format
+ msgid "template-id %qD in declaration of primary template"
+ msgstr "模æ¿æ ‡è¯†ç¬¦%qD出现在基本模æ¿çš„声明中"
+
+-#: cp/pt.c:1929
++#: cp/pt.c:1937
+ #, gcc-internal-format
+ msgid "template parameter list used in explicit instantiation"
+ msgstr "显å¼åˆå§‹åŒ–中出现了模æ¿å‚数列表"
+
+-#: cp/pt.c:1935
++#: cp/pt.c:1943
+ #, gcc-internal-format
+ msgid "definition provided for explicit instantiation"
+ msgstr "为显å¼å®žä¾‹åŒ–æ供的定义"
+
+-#: cp/pt.c:1943
++#: cp/pt.c:1951
+ #, gcc-internal-format
+ msgid "too many template parameter lists in declaration of %qD"
+ msgstr "%qD声明时模æ¿å‚数表太多"
+
+-#: cp/pt.c:1946
++#: cp/pt.c:1954
+ #, gcc-internal-format
+ msgid "too few template parameter lists in declaration of %qD"
+ msgstr "%qD声明时模æ¿å‚数表太少"
+
+-#: cp/pt.c:1948
++#: cp/pt.c:1956
+ #, gcc-internal-format
+ msgid "explicit specialization of %qD must be introduced by %<template <>%>"
+ msgstr "%qD的显å¼ç‰¹ä¾‹åŒ–必须由%<template <>%>引入"
+
+-#: cp/pt.c:1967
++#: cp/pt.c:1975
+ #, gcc-internal-format
+ msgid "function template partial specialization %qD is not allowed"
+ msgstr "函数模æ¿éƒ¨åˆ†ç‰¹ä¾‹åŒ–%qD是ä¸å…许的"
+
+-#: cp/pt.c:1999
++#: cp/pt.c:2007
+ #, gcc-internal-format
+ msgid "default argument specified in explicit specialization"
+ msgstr "显å¼ç‰¹ä¾‹åŒ–时指定了默认å‚æ•°"
+
+-#: cp/pt.c:2029
++#: cp/pt.c:2037
+ #, gcc-internal-format
+ msgid "%qD is not a template function"
+ msgstr "%qDä¸æ˜¯ä¸€ä¸ªæ¨¡æ¿å‡½æ•°"
+
+-#: cp/pt.c:2037
++#: cp/pt.c:2045
+ #, gcc-internal-format
+ msgid "%qD is not declared in %qD"
+ msgstr "%qD未在%qD中声明"
+@@ -30711,100 +30735,110 @@
+ #. program is ill-formed.
+ #.
+ #. Similar language is found in [temp.explicit].
+-#: cp/pt.c:2099
++#: cp/pt.c:2107
+ #, gcc-internal-format
+ msgid "specialization of implicitly-declared special member function"
+ msgstr "特例化了éšå¼å£°æ˜Žçš„特殊æˆå‘˜å‡½æ•°"
+
+-#: cp/pt.c:2143
++#: cp/pt.c:2151
+ #, gcc-internal-format
+ msgid "no member function %qD declared in %qT"
+ msgstr "æˆå‘˜å‡½æ•°%qD未在%qT中声明"
+
+-#: cp/pt.c:2642
++#: cp/pt.c:2628
+ #, gcc-internal-format
+ msgid "base initializer expansion %<%T%> contains no parameter packs"
+ msgstr "基类åˆå§‹å€¼è®¾å®šå±•å¼€%<%T%>ä¸åŒ…括å‚数包"
+
+-#: cp/pt.c:2701
++#: cp/pt.c:2687
+ #, gcc-internal-format
+ msgid "expansion pattern %<%T%> contains no argument packs"
+ msgstr "展开样å¼%<%T%>ä¸åŒ…括å‚数包"
+
+-#: cp/pt.c:2703
++#: cp/pt.c:2689
+ #, gcc-internal-format
+ msgid "expansion pattern %<%E%> contains no argument packs"
+ msgstr "展开样å¼%<%E%>ä¸åŒ…括å‚数包"
+
+-#: cp/pt.c:2745
++#: cp/pt.c:2730
+ #, gcc-internal-format
+ msgid "parameter packs not expanded with `...':"
+ msgstr "å‚数包未能展开‘...’:"
+
+-#: cp/pt.c:2760 cp/pt.c:3383
++#: cp/pt.c:2745 cp/pt.c:3361
+ #, gcc-internal-format
+ msgid " %qD"
+ msgstr " %qD"
+
+-#: cp/pt.c:2762
++#: cp/pt.c:2747
+ #, gcc-internal-format
+ msgid " <anonymous>"
+ msgstr " <匿å>"
+
+-#: cp/pt.c:2875
++#: cp/pt.c:2852
+ #, gcc-internal-format
+ msgid "declaration of %q+#D"
+ msgstr "%q+#D的声明"
+
+-#: cp/pt.c:2876
++#: cp/pt.c:2853
+ #, gcc-internal-format
+ msgid " shadows template parm %q+#D"
+ msgstr " éšè—了模版形å‚%q+#D"
+
+-#: cp/pt.c:3379
++#: cp/pt.c:3357
+ #, gcc-internal-format
+ msgid "template parameters not used in partial specialization:"
+ msgstr "部分特例化中未用到模æ¿å‚数:"
+
+-#: cp/pt.c:3394
++#: cp/pt.c:3372
+ #, gcc-internal-format
+ msgid "partial specialization %qT does not specialize any template arguments"
+ msgstr "部分特例化%qT并未特例化任何模æ¿å‚æ•°"
+
+-#: cp/pt.c:3439
++#: cp/pt.c:3417
+ #, gcc-internal-format
+ msgid "parameter pack argument %qE must be at the end of the template argument list"
+ msgstr "å‚数包实å‚%qE必须出现在模æ¿å®žå‚表末尾"
+
+-#: cp/pt.c:3441
++#: cp/pt.c:3419
+ #, gcc-internal-format
+ msgid "parameter pack argument %qT must be at the end of the template argument list"
+ msgstr "å‚数包实å‚%qT必须出现在模æ¿å®žå‚表末尾"
+
+-#: cp/pt.c:3462
++#: cp/pt.c:3440
+ #, gcc-internal-format
+ msgid "template argument %qE involves template parameter(s)"
+ msgstr "模æ¿å®žå‚%qEæ··æ‚了模æ¿å½¢å‚"
+
+-#: cp/pt.c:3505
++#: cp/pt.c:3484
+ #, gcc-internal-format
+ msgid "type %qT of template argument %qE depends on template parameter(s)"
+-msgstr "类型%qT(属于模æ¿å®žå‚%qE)å–决于模æ¿å‚æ•°"
++msgstr "模æ¿å®žå‚%2$qE的类型%1$qTå–决于模æ¿å‚æ•°"
+
+-#: cp/pt.c:3611
++#: cp/pt.c:3591
+ #, gcc-internal-format
+ msgid "no default argument for %qD"
+ msgstr "%qD没有默认å‚æ•°"
+
+-#: cp/pt.c:3796
++#: cp/pt.c:3609
+ #, gcc-internal-format
++msgid "parameter pack %qE must be at the end of the template parameter list"
++msgstr "å‚数包%qE必须出现在模æ¿å½¢å‚表末尾"
++
++#: cp/pt.c:3612
++#, gcc-internal-format
++msgid "parameter pack %qT must be at the end of the template parameter list"
++msgstr "å‚数包%qT必须出现在模æ¿å½¢å‚表末尾"
++
++#: cp/pt.c:3799
++#, gcc-internal-format
+ msgid "template class without a name"
+ msgstr "模æ¿ç±»æ²¡æœ‰åå­—"
+
+ #. [temp.mem]
+ #.
+ #. A destructor shall not be a member template.
+-#: cp/pt.c:3804
++#: cp/pt.c:3807
+ #, gcc-internal-format
+ msgid "destructor %qD declared as member template"
+ msgstr "æžæž„函数%qD被声明为一个æˆå‘˜æ¨¡æ¿"
+@@ -30814,77 +30848,72 @@
+ #. An allocation function can be a function
+ #. template. ... Template allocation functions shall
+ #. have two or more parameters.
+-#: cp/pt.c:3819
++#: cp/pt.c:3822
+ #, gcc-internal-format
+ msgid "invalid template declaration of %qD"
+ msgstr "%qD模æ¿å£°æ˜Žæ— æ•ˆ"
+
+-#: cp/pt.c:3890
++#: cp/pt.c:3939
+ #, gcc-internal-format
+-msgid "parameter pack %qE must be at the end of the template parameter list"
+-msgstr "å‚数包%qE必须出现在模æ¿å½¢å‚表末尾"
+-
+-#: cp/pt.c:3893
+-#, gcc-internal-format
+-msgid "parameter pack %qT must be at the end of the template parameter list"
+-msgstr "å‚数包%qT必须出现在模æ¿å½¢å‚表末尾"
+-
+-#: cp/pt.c:3953
+-#, gcc-internal-format
+ msgid "template definition of non-template %q#D"
+ msgstr "对éžæ¨¡æ¿%q#D的模æ¿å®šä¹‰"
+
+-#: cp/pt.c:3996
++#: cp/pt.c:3982
+ #, gcc-internal-format
+ msgid "expected %d levels of template parms for %q#D, got %d"
+ msgstr "éœ€è¦ %d 级的%q#D模æ¿å‚数,å´ç»™å‡ºäº† %d 级"
+
+-#: cp/pt.c:4008
++#: cp/pt.c:3994
+ #, gcc-internal-format
+ msgid "got %d template parameters for %q#D"
+ msgstr "得到 %d 个模æ¿å‚数,为%q#D"
+
+-#: cp/pt.c:4011
++#: cp/pt.c:3997
+ #, gcc-internal-format
+ msgid "got %d template parameters for %q#T"
+ msgstr "得到 %d 个模æ¿å‚数,为%q#T"
+
+-#: cp/pt.c:4013
++#: cp/pt.c:3999
+ #, gcc-internal-format
+ msgid " but %d required"
+ msgstr " ä½†å®žé™…éœ€è¦ %d 个"
+
+-#: cp/pt.c:4031
++#: cp/pt.c:4017
+ #, gcc-internal-format
+ msgid "template arguments to %qD do not match original template %qD"
+ msgstr "ç»™%qD的模æ¿å®žå‚ä¸åŒ¹é…原先的模æ¿%qD"
+
+-#: cp/pt.c:4035
++#: cp/pt.c:4021
+ #, gcc-internal-format
+ msgid "use template<> for an explicit specialization"
+ msgstr "使用 template<> æ¥æ˜¾å¼ç‰¹ä¾‹åŒ–"
+
+-#: cp/pt.c:4131
++#: cp/pt.c:4117
+ #, gcc-internal-format
+ msgid "%qT is not a template type"
+ msgstr "%qTä¸æ˜¯ä¸€ä¸ªæ¨¡æ¿ç±»åž‹"
+
+-#: cp/pt.c:4144
++#: cp/pt.c:4130
+ #, gcc-internal-format
+ msgid "template specifiers not specified in declaration of %qD"
+ msgstr "%qD的声明中没有 template é™å®š"
+
+-#: cp/pt.c:4155
++#: cp/pt.c:4140
+ #, gcc-internal-format
+-msgid "used %d template parameter(s) instead of %d"
+-msgstr "使用了 %d 个模æ¿å‚数,而ä¸æ˜¯ %d 个"
++msgid "redeclared with %d template parameter(s)"
++msgstr "é‡å£°æ˜Žä¸ºå…·æœ‰%d个模æ¿å‚æ•°"
+
+-#: cp/pt.c:4184
++#: cp/pt.c:4142
+ #, gcc-internal-format
++msgid "previous declaration %q+D used %d template parameter(s)"
++msgstr "å…ˆå‰çš„声明%q+D使用了%d个模æ¿å‚æ•°"
++
++#: cp/pt.c:4176
++#, gcc-internal-format
+ msgid "template parameter %q+#D"
+ msgstr "模æ¿å½¢å‚%q+#D"
+
+-#: cp/pt.c:4185
++#: cp/pt.c:4177
+ #, gcc-internal-format
+ msgid "redeclared here as %q#D"
+ msgstr "在这里åˆè¢«å£°æ˜Žä¸º%q#D"
+@@ -30893,182 +30922,182 @@
+ #.
+ #. A template-parameter may not be given default arguments
+ #. by two different declarations in the same scope.
+-#: cp/pt.c:4195
++#: cp/pt.c:4187
+ #, gcc-internal-format
+ msgid "redefinition of default argument for %q#D"
+ msgstr "é‡å®šä¹‰%q#D的默认å‚æ•°"
+
+-#: cp/pt.c:4196
++#: cp/pt.c:4188
+ #, gcc-internal-format
+-msgid "%J original definition appeared here"
+-msgstr "%J 原始定义出现在这里"
++msgid "%Joriginal definition appeared here"
++msgstr "%J原始定义出现在这里"
+
+-#: cp/pt.c:4300
++#: cp/pt.c:4292
+ #, gcc-internal-format
+ msgid "%qE is not a valid template argument for type %qT because function %qD has not external linkage"
+ msgstr "%qEä¸æ˜¯ç±»åž‹%qT的有效模æ¿å®žå‚,因为函数%qD没有外部链接"
+
+-#: cp/pt.c:4341
++#: cp/pt.c:4333
+ #, 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 "%qEä¸æ˜¯ç±»åž‹%qT的有效模æ¿å®žå‚,因为字é¢å­—符串ä¸èƒ½ç”¨åœ¨æ­¤ä¸Šä¸‹æ–‡ä¸­"
+
+-#: cp/pt.c:4418
++#: cp/pt.c:4410
+ #, gcc-internal-format
+ msgid "%qE is not a valid template argument for type %qT because it is a non-constant expression"
+ msgstr "%qEä¸æ˜¯ç±»åž‹%qT的有效模æ¿å®žå‚,因为它是一个éžå¸¸é‡çš„表达å¼"
+
+-#: cp/pt.c:4462
++#: cp/pt.c:4454
+ #, gcc-internal-format
+ msgid "%qD is not a valid template argument because %qD is a variable, not the address of a variable"
+ msgstr "%qDä¸æ˜¯ä¸€ä¸ªæœ‰æ•ˆæ¨¡æ¿å®žå‚,因为%qD是一个å˜é‡ï¼Œè€Œéžå˜é‡çš„地å€"
+
+-#: cp/pt.c:4480
++#: cp/pt.c:4472
+ #, gcc-internal-format
+ msgid "%qE is not a valid template argument of type %qT because %qE is not a variable"
+ msgstr "%qEä¸æ˜¯ç±»åž‹%qT的有效模æ¿å®žå‚,因为%qEä¸æ˜¯ä¸€ä¸ªå˜é‡"
+
+-#: cp/pt.c:4487
++#: cp/pt.c:4479
+ #, gcc-internal-format
+ msgid "%qE is not a valid template argument of type %qT because %qD does not have external linkage"
+ msgstr "%qEä¸æ˜¯ç±»åž‹%qT的有效模æ¿å®žå‚,因为函数%qD没有外部链接"
+
+-#: cp/pt.c:4517
++#: cp/pt.c:4509
+ #, gcc-internal-format
+ msgid "%qE is not a valid template argument for type %qT because of conflicts in cv-qualification"
+ msgstr "%qEä¸æ˜¯ç±»åž‹%qT的有效模æ¿å®žå‚,因为 cv é™å®šå†²çª"
+
+-#: cp/pt.c:4524
++#: cp/pt.c:4516
+ #, gcc-internal-format
+ msgid "%qE is not a valid template argument for type %qT because it is not an lvalue"
+ msgstr "%qEä¸æ˜¯ç±»åž‹%qT的有效模æ¿å®žå‚,因为它ä¸æ˜¯ä¸€ä¸ªå·¦å€¼"
+
+-#: cp/pt.c:4537
++#: cp/pt.c:4529
+ #, gcc-internal-format
+ msgid "%qE is not a valid template argument for type %qT because object %qD has not external linkage"
+ msgstr "%qEä¸æ˜¯ç±»åž‹%qT的有效模æ¿å®žå‚,因为对象%qD没有外部链接"
+
+-#: cp/pt.c:4577
++#: cp/pt.c:4569
+ #, gcc-internal-format
+ msgid "%qE is not a valid template argument for type %qT because it is a pointer"
+ msgstr "%qEä¸æ˜¯ç±»åž‹%qT的有效模æ¿å®žå‚,因为它是一个指针"
+
+-#: cp/pt.c:4579
++#: cp/pt.c:4571
+ #, gcc-internal-format
+ msgid "try using %qE instead"
+ msgstr "å°è¯•ä½¿ç”¨%qE代替"
+
+-#: cp/pt.c:4614
++#: cp/pt.c:4606
+ #, gcc-internal-format
+ msgid "%qE is not a valid template argument for type %qT because it is of type %qT"
+ msgstr "%qEä¸æ˜¯ç±»åž‹%qT的有效模æ¿å®žå‚,因为它的类型是%qT"
+
+-#: cp/pt.c:4617
++#: cp/pt.c:4609
+ #, gcc-internal-format
+ msgid "standard conversions are not allowed in this context"
+ msgstr "此上下文中ä¸å…许标准转æ¢"
+
+-#: cp/pt.c:4797
++#: cp/pt.c:4860
+ #, gcc-internal-format
+ msgid "to refer to a type member of a template parameter, use %<typename %E%>"
+ msgstr "需è¦ä½¿ç”¨æŸä¸ªæ¨¡æ¿å‚数的类型æˆå‘˜æ—¶ï¼Œè¯·ä½¿ç”¨%<typename %E%>"
+
+-#: cp/pt.c:4813 cp/pt.c:4832 cp/pt.c:4882
++#: cp/pt.c:4876 cp/pt.c:4895 cp/pt.c:4945
+ #, gcc-internal-format
+ msgid "type/value mismatch at argument %d in template parameter list for %qD"
+ msgstr "å®žå‚ %d 的类型/值ä¸åŒ¹é…,在%qD的模æ¿å‚数列表中"
+
+-#: cp/pt.c:4817
++#: cp/pt.c:4880
+ #, gcc-internal-format
+ msgid " expected a constant of type %qT, got %qT"
+ msgstr " 需è¦ä¸€ä¸ª%qT类型的常é‡ï¼Œå´ç»™å‡ºäº†%qT"
+
+-#: cp/pt.c:4821
++#: cp/pt.c:4884
+ #, gcc-internal-format
+ msgid " expected a class template, got %qE"
+ msgstr " 需è¦ä¸€ä¸ªç±»æ¨¡æ¿ï¼Œå´ç»™å‡ºäº†%qE"
+
+-#: cp/pt.c:4823
++#: cp/pt.c:4886
+ #, gcc-internal-format
+ msgid " expected a type, got %qE"
+ msgstr " 需è¦ä¸€ä¸ªç±»åž‹ï¼Œå´ç»™å‡ºäº†%qE"
+
+-#: cp/pt.c:4836
++#: cp/pt.c:4899
+ #, gcc-internal-format
+ msgid " expected a type, got %qT"
+ msgstr " 需è¦ä¸€ä¸ªç±»åž‹ï¼Œå´ç»™å‡ºäº†%qT"
+
+-#: cp/pt.c:4838
++#: cp/pt.c:4901
+ #, gcc-internal-format
+ msgid " expected a class template, got %qT"
+ msgstr " 需è¦ä¸€ä¸ªç±»æ¨¡æ¿ï¼Œå´ç»™å‡ºäº†%qT"
+
+-#: cp/pt.c:4885
++#: cp/pt.c:4948
+ #, gcc-internal-format
+ msgid " expected a template of type %qD, got %qD"
+ msgstr " 需è¦ä¸€ä¸ªç±»åž‹ä¸º%qD的模æ¿ï¼Œå´ç»™å‡ºäº†%qD"
+
+-#: cp/pt.c:4928
++#: cp/pt.c:4991
+ #, gcc-internal-format
+ msgid "could not convert template argument %qE to %qT"
+ msgstr "ä¸èƒ½å°†æ¨¡æ¿å‚数从%qE转æ¢åˆ°%qT"
+
+-#: cp/pt.c:4984
++#: cp/pt.c:5047
+ #, gcc-internal-format
+ msgid "wrong number of template arguments (%d, should be %d)"
+ msgstr "模æ¿å‚æ•°æ•°ç›®ä¸å¯¹(ä¸åº”是 %d 个而应是 %d 个)"
+
+-#: cp/pt.c:5116
++#: cp/pt.c:5179
+ #, gcc-internal-format
+ msgid "wrong number of template arguments (%d, should be %d%s)"
+ msgstr "模æ¿å‚æ•°æ•°ç›® %d ä¸å¯¹(应该是 %d%s)"
+
+-#: cp/pt.c:5120
++#: cp/pt.c:5183
+ #, gcc-internal-format
+ msgid "provided for %q+D"
+ msgstr "æ供给%q+D"
+
+-#: cp/pt.c:5177
++#: cp/pt.c:5242
+ #, gcc-internal-format
+ msgid "cannot expand %<%E%> into a fixed-length argument list"
+ msgstr "无法将%<%E%>展开æˆå®šé•¿å®žå‚列表"
+
+-#: cp/pt.c:5180
++#: cp/pt.c:5245
+ #, gcc-internal-format
+ msgid "cannot expand %<%T%> into a fixed-length argument list"
+ msgstr "无法将%<%T%>展开æˆå®šé•¿å®žå‚列表"
+
+-#: cp/pt.c:5195
++#: cp/pt.c:5261
+ #, gcc-internal-format
+ msgid "template argument %d is invalid"
+ msgstr "模æ¿å‚æ•° %d 无效"
+
+-#: cp/pt.c:5455
++#: cp/pt.c:5521
+ #, gcc-internal-format
+ msgid "non-template type %qT used as a template"
+ msgstr "éžæ¨¡æ¿ç±»åž‹%qT用作模æ¿"
+
+-#: cp/pt.c:5457
++#: cp/pt.c:5523
+ #, gcc-internal-format
+ msgid "for template declaration %q+D"
+ msgstr "对于模æ¿å£°æ˜Ž%q+D"
+
+-#: cp/pt.c:6132
++#: cp/pt.c:6221
+ #, gcc-internal-format
+ msgid "template instantiation depth exceeds maximum of %d (use -ftemplate-depth-NN to increase the maximum) instantiating %qD"
+ msgstr "模æ¿å®žä¾‹åŒ–深度超过最大值 %d(使用 use -ftemplate-depth-NN æ¥å¢žå¤§æœ€å¤§å€¼),在实例化%qDæ—¶"
+
+-#: cp/pt.c:7237
++#: cp/pt.c:7333
+ #, gcc-internal-format
+ msgid "mismatched argument pack lengths while expanding %<%T%>"
+ msgstr "展开%<%T%>æ—¶å‚数包长度ä¸åŒ¹é…"
+
+-#: cp/pt.c:7241
++#: cp/pt.c:7337
+ #, gcc-internal-format
+ msgid "mismatched argument pack lengths while expanding %<%E%>"
+ msgstr "展开%<%E%>æ—¶å‚数包长度ä¸åŒ¹é…"
+
+-#: cp/pt.c:8189
++#: cp/pt.c:8289
+ #, gcc-internal-format
+ msgid "instantiation of %q+D as type %qT"
+ msgstr "%q+D按类型%qT实例化"
+@@ -31086,242 +31115,242 @@
+ #.
+ #. is an attempt to declare a variable with function
+ #. type.
+-#: cp/pt.c:8324
++#: cp/pt.c:8424
+ #, gcc-internal-format
+ msgid "variable %qD has function type"
+ msgstr "å˜é‡%qD有函数类型"
+
+-#: cp/pt.c:8471
++#: cp/pt.c:8571
+ #, gcc-internal-format
+ msgid "invalid parameter type %qT"
+ msgstr "无效的å‚数类型%qT"
+
+-#: cp/pt.c:8473
++#: cp/pt.c:8573
+ #, gcc-internal-format
+ msgid "in declaration %q+D"
+ msgstr "在声明%q+D中"
+
+-#: cp/pt.c:8550
++#: cp/pt.c:8650
+ #, gcc-internal-format
+ msgid "function returning an array"
+ msgstr "函数返回了一个数组"
+
+-#: cp/pt.c:8552
++#: cp/pt.c:8652
+ #, gcc-internal-format
+ msgid "function returning a function"
+ msgstr "函数返回了一个函数"
+
+-#: cp/pt.c:8586
++#: cp/pt.c:8686
+ #, gcc-internal-format
+ msgid "creating pointer to member function of non-class type %qT"
+ msgstr "生æˆéžç±»ç±»åž‹%qTçš„æˆå‘˜å‡½æ•°æŒ‡é’ˆ"
+
+-#: cp/pt.c:8792
++#: cp/pt.c:8913
+ #, gcc-internal-format
+ msgid "creating array with negative size (%qE)"
+ msgstr "创建大å°ä¸ºè´Ÿçš„数组(%qE)"
+
+-#: cp/pt.c:9047
++#: cp/pt.c:9168
+ #, gcc-internal-format
+ msgid "forming reference to void"
+ msgstr "å½¢æˆå¯¹ void 的引用"
+
+-#: cp/pt.c:9049
++#: cp/pt.c:9170
+ #, gcc-internal-format
+ msgid "forming %s to reference type %qT"
+ msgstr "å½¢æˆ %s,指å‘引用类型%qT"
+
+-#: cp/pt.c:9100
++#: cp/pt.c:9221
+ #, gcc-internal-format
+ msgid "creating pointer to member of non-class type %qT"
+ msgstr "生æˆéžç±»ç±»åž‹%qTçš„æˆå‘˜æŒ‡é’ˆ"
+
+-#: cp/pt.c:9106
++#: cp/pt.c:9227
+ #, gcc-internal-format
+ msgid "creating pointer to member reference type %qT"
+ msgstr "生æˆå¼•ç”¨ç±»åž‹%qTçš„æˆå‘˜æŒ‡é’ˆ"
+
+-#: cp/pt.c:9112
++#: cp/pt.c:9233
+ #, gcc-internal-format
+ msgid "creating pointer to member of type void"
+ msgstr "åˆ›å»ºæŒ‡å‘ void 类型的æˆå‘˜æŒ‡é’ˆ"
+
+-#: cp/pt.c:9179
++#: cp/pt.c:9300
+ #, gcc-internal-format
+ msgid "creating array of %qT"
+ msgstr "生æˆ%qT的数组"
+
+-#: cp/pt.c:9185
++#: cp/pt.c:9306
+ #, gcc-internal-format
+ msgid "creating array of %qT, which is an abstract class type"
+ msgstr "生æˆæŠ½è±¡ç±»åž‹%qT的数组"
+
+-#: cp/pt.c:9236
++#: cp/pt.c:9357
+ #, gcc-internal-format
+ msgid "%qT is not a class, struct, or union type"
+ msgstr "%qTä¸æ˜¯ç±»ã€ç»“构或è”åˆç±»åž‹"
+
+-#: cp/pt.c:9271
++#: cp/pt.c:9392
+ #, gcc-internal-format
+ msgid "%qT resolves to %qT, which is not an enumeration type"
+ msgstr "%qT被解æžåˆ°éžæžšä¸¾ç±»åž‹%qT"
+
+-#: cp/pt.c:9274
++#: cp/pt.c:9395
+ #, gcc-internal-format
+ msgid "%qT resolves to %qT, which is is not a class type"
+ msgstr "%qT被解æžåˆ°éžç±»ç±»åž‹%qT"
+
+-#: cp/pt.c:9375
++#: cp/pt.c:9496
+ #, gcc-internal-format
+ msgid "use of %qs in template"
+ msgstr "在模æ¿ä¸­ä½¿ç”¨%qs"
+
+-#: cp/pt.c:9512
++#: cp/pt.c:9633
+ #, gcc-internal-format
+ msgid "dependent-name %qE is parsed as a non-type, but instantiation yields a type"
+ msgstr "ä¾èµ–å%qE被解æžä¸ºéžç±»åž‹ï¼Œä½†å®žä¾‹åŒ–å´äº§ç”Ÿäº†ä¸€ä¸ªç±»åž‹"
+
+-#: cp/pt.c:9514
++#: cp/pt.c:9635
+ #, gcc-internal-format
+ msgid "say %<typename %E%> if a type is meant"
+ msgstr "如果您想指定类型,请使用%<typename %E%>"
+
+-#: cp/pt.c:9643
++#: cp/pt.c:9764
+ #, gcc-internal-format
+ msgid "using invalid field %qD"
+ msgstr "使用无效字段%qD"
+
+-#: cp/pt.c:9952 cp/pt.c:10432
++#: cp/pt.c:10073 cp/pt.c:10553
+ #, gcc-internal-format
+ msgid "invalid use of pack expansion expression"
+ msgstr "对集展开表达å¼çš„无效使用"
+
+-#: cp/pt.c:9956 cp/pt.c:10436
++#: cp/pt.c:10077 cp/pt.c:10557
+ #, gcc-internal-format
+ msgid "use %<...%> to expand argument pack"
+ msgstr "使用%<...%>æ¥å±•å¼€å®žå‚集"
+
+-#: cp/pt.c:10594
++#: cp/pt.c:10715
+ #, gcc-internal-format
+ msgid "a cast to a type other than an integral or enumeration type cannot appear in a constant-expression"
+ msgstr "常é‡è¡¨è¾¾å¼ä¸­ä¸èƒ½å‡ºçŽ°ç›®æ ‡ä¸æ˜¯æ•´åž‹æˆ–枚举型的类型转æ¢"
+
+-#: cp/pt.c:11052
++#: cp/pt.c:11181
+ #, gcc-internal-format
+ msgid "%qT is not a class or namespace"
+ msgstr "%qTæ—¢ä¸æ˜¯ç±»ä¹Ÿä¸æ˜¯å‘½å空间"
+
+-#: cp/pt.c:11055
++#: cp/pt.c:11184
+ #, gcc-internal-format
+ msgid "%qD is not a class or namespace"
+ msgstr "%qDæ—¢ä¸æ˜¯ç±»ä¹Ÿä¸æ˜¯å‘½å空间"
+
+-#: cp/pt.c:11265
++#: cp/pt.c:11394
+ #, gcc-internal-format
+ msgid "%qT is/uses anonymous type"
+ msgstr "%qT是/使用了匿å类型"
+
+-#: cp/pt.c:11267
++#: cp/pt.c:11396
+ #, gcc-internal-format
+ msgid "template argument for %qD uses local type %qT"
+ msgstr "%qD的模æ¿å®žå‚使用了局部类型%qT"
+
+-#: cp/pt.c:11277
++#: cp/pt.c:11406
+ #, gcc-internal-format
+ msgid "%qT is a variably modified type"
+ msgstr "%qT是一个å¯å˜ç±»åž‹"
+
+-#: cp/pt.c:11288
++#: cp/pt.c:11417
+ #, gcc-internal-format
+ msgid "integral expression %qE is not constant"
+ msgstr "整型表达å¼%qEä¸æ˜¯å¸¸é‡"
+
+-#: cp/pt.c:11293
++#: cp/pt.c:11422
+ #, gcc-internal-format
+ msgid " trying to instantiate %qD"
+ msgstr " 试图实例化%qD"
+
+-#: cp/pt.c:13959
++#: cp/pt.c:14173
+ #, gcc-internal-format
+ msgid "ambiguous class template instantiation for %q#T"
+ msgstr "%q#T的类模æ¿å®žä¾‹åŒ–有歧义"
+
+-#: cp/pt.c:13962
++#: cp/pt.c:14176
+ #, gcc-internal-format
+ msgid "%s %+#T"
+ msgstr "%s %+#T"
+
+-#: cp/pt.c:13985 cp/pt.c:14068
++#: cp/pt.c:14199 cp/pt.c:14282
+ #, gcc-internal-format
+ msgid "explicit instantiation of non-template %q#D"
+ msgstr "对éžæ¨¡æ¿%q#D的显å¼å®žä¾‹åŒ–"
+
+-#: cp/pt.c:14000
++#: cp/pt.c:14214
+ #, gcc-internal-format
+ msgid "%qD is not a static data member of a class template"
+ msgstr "%qDä¸æ˜¯ç±»æ¨¡æ¿çš„éžé™æ€æ•°æ®æˆå‘˜"
+
+-#: cp/pt.c:14006 cp/pt.c:14063
++#: cp/pt.c:14220 cp/pt.c:14277
+ #, gcc-internal-format
+ msgid "no matching template for %qD found"
+ msgstr "没有找到与%qD匹é…的模æ¿"
+
+-#: cp/pt.c:14011
++#: cp/pt.c:14225
+ #, gcc-internal-format
+ msgid "type %qT for explicit instantiation %qD does not match declared type %qT"
+ msgstr "类型%qT用于显å¼å®žä¾‹åŒ–%qDæ—¶ä¸åŒ¹é…声明的类型%qT"
+
+-#: cp/pt.c:14019
++#: cp/pt.c:14233
+ #, gcc-internal-format
+ msgid "explicit instantiation of %q#D"
+ msgstr "对%q#D的显å¼å®žä¾‹åŒ–"
+
+-#: cp/pt.c:14055
++#: cp/pt.c:14269
+ #, gcc-internal-format
+ msgid "duplicate explicit instantiation of %q#D"
+ msgstr "对%q#Dé‡å¤çš„显å¼å®žä¾‹åŒ–"
+
+-#: cp/pt.c:14077
++#: cp/pt.c:14291
+ #, gcc-internal-format
+ msgid "ISO C++ forbids the use of %<extern%> on explicit instantiations"
+ msgstr "ISO C++ ä¸å…许在显å¼å®žä¾‹åŒ–时使用%<extern%>"
+
+-#: cp/pt.c:14082 cp/pt.c:14175
++#: cp/pt.c:14296 cp/pt.c:14389
+ #, gcc-internal-format
+ msgid "storage class %qD applied to template instantiation"
+ msgstr "为模æ¿å®žä¾‹åŒ–化应用了存储类型%qD"
+
+-#: cp/pt.c:14147
++#: cp/pt.c:14361
+ #, gcc-internal-format
+ msgid "explicit instantiation of non-template type %qT"
+ msgstr "显å¼å®žä¾‹åŒ–éžæ¨¡æ¿ç±»åž‹%qT"
+
+-#: cp/pt.c:14156
++#: cp/pt.c:14370
+ #, gcc-internal-format
+ msgid "explicit instantiation of %q#T before definition of template"
+ msgstr "%q#T的显å¼å®žä¾‹åŒ–出现在模æ¿å®šä¹‰ä¹‹å‰"
+
+-#: cp/pt.c:14164
++#: cp/pt.c:14378
+ #, gcc-internal-format
+ msgid "ISO C++ forbids the use of %qE on explicit instantiations"
+ msgstr "ISO C++ ä¸å…许在显å¼å®žä¾‹åŒ–时使用%qE"
+
+-#: cp/pt.c:14209
++#: cp/pt.c:14423
+ #, gcc-internal-format
+ msgid "duplicate explicit instantiation of %q#T"
+ msgstr "对%q#Té‡å¤çš„显å¼å®žä¾‹åŒ–"
+
+-#: cp/pt.c:14657
++#: cp/pt.c:14871
+ #, gcc-internal-format
+ msgid "explicit instantiation of %qD but no definition available"
+ msgstr "显å¼å®žä¾‹åŒ–%qD时没有å¯ç”¨çš„定义"
+
+-#: cp/pt.c:14851
++#: cp/pt.c:15065
+ #, 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)"
+ msgstr "模æ¿å®žä¾‹åŒ–深度超过了最大值 %d,当实例化%q+D时,å¯èƒ½æ˜¯ç”±äºŽç”Ÿæˆè™šå‡½æ•°è¡¨æ‰€è‡´(使用 -ftemplate-depth-NN æ¥å¢žå¤§æœ€å¤§å€¼)"
+
+-#: cp/pt.c:15193
++#: cp/pt.c:15419
+ #, gcc-internal-format
+ msgid "%q#T is not a valid type for a template constant parameter"
+ msgstr "%q#Tä¸æ˜¯ä¸€ä¸ªæœ‰æ•ˆçš„模æ¿å¸¸é‡å‚数类型"
+@@ -31341,32 +31370,32 @@
+ msgid "can't create repository information file %qs"
+ msgstr "无法创建存储信æ¯æ–‡ä»¶%qs"
+
+-#: cp/rtti.c:271
++#: cp/rtti.c:285
+ #, gcc-internal-format
+ msgid "cannot use typeid with -fno-rtti"
+ msgstr "在指定 -fno-rtti 的情况下ä¸èƒ½ä½¿ç”¨ typeid"
+
+-#: cp/rtti.c:277
++#: cp/rtti.c:291
+ #, gcc-internal-format
+ msgid "must #include <typeinfo> before using typeid"
+ msgstr "在使用 typeid 之å‰å¿…须先 #include <typeinfo>"
+
+-#: cp/rtti.c:360
++#: cp/rtti.c:374
+ #, gcc-internal-format
+ msgid "cannot create type information for type %qT because it involves types of variable size"
+ msgstr "无法为类型%qT创建类型信æ¯ï¼Œå› ä¸ºå®ƒçš„大å°æ˜¯å¯å˜çš„"
+
+-#: cp/rtti.c:615 cp/rtti.c:629
++#: cp/rtti.c:629 cp/rtti.c:643
+ #, gcc-internal-format
+ msgid "dynamic_cast of %q#D to %q#T can never succeed"
+ msgstr "从%q#D到%q#T的动æ€è½¬æ¢æ°¸è¿œä¸ä¼šæˆåŠŸ"
+
+-#: cp/rtti.c:639
++#: cp/rtti.c:653
+ #, gcc-internal-format
+ msgid "%<dynamic_cast%> not permitted with -fno-rtti"
+ msgstr "在指定 -fno-rtti 的情况下ä¸èƒ½ä½¿ç”¨%<dynamic_cast%>"
+
+-#: cp/rtti.c:716
++#: cp/rtti.c:729
+ #, gcc-internal-format
+ msgid "cannot dynamic_cast %qE (of type %q#T) to type %q#T (%s)"
+ msgstr "无法将%qE从类型%qT动æ€è½¬æ¢åˆ°ç±»åž‹%q#T(%s)"
+@@ -31428,551 +31457,551 @@
+ msgid " since %q+#D declared in base class"
+ msgstr " 因为%q+#D已在基类中声明过"
+
+-#: cp/semantics.c:762
++#: cp/semantics.c:764
+ #, gcc-internal-format
+ msgid "suggest explicit braces around empty body in %<do%> statement"
+ msgstr "建议在%<do%>的空语å¥ä½“周围显å¼åœ°åŠ ä¸ŠèŠ±æ‹¬å·"
+
+-#: cp/semantics.c:1290
++#: cp/semantics.c:1294
+ #, gcc-internal-format
+ msgid "type of asm operand %qE could not be determined"
+ msgstr "无法确定 asm æ“作数%qE的类型"
+
+-#: cp/semantics.c:1346
++#: cp/semantics.c:1350
+ #, gcc-internal-format
+ msgid "__label__ declarations are only allowed in function scopes"
+ msgstr "__label__ 声明åªèƒ½å‡ºçŽ°åœ¨å‡½æ•°ä½œç”¨åŸŸä¸­"
+
+-#: cp/semantics.c:1433
++#: cp/semantics.c:1438
+ #, gcc-internal-format
+ msgid "invalid use of member %q+D in static member function"
+ msgstr "在é™æ€æˆå‘˜å‡½æ•°ä¸­ä½¿ç”¨æˆå‘˜%q+D无效"
+
+-#: cp/semantics.c:1435
++#: cp/semantics.c:1440
+ #, gcc-internal-format
+ msgid "invalid use of non-static data member %q+D"
+ msgstr "对éžé™æ€æ•°æ®æˆå‘˜%q+D的无效使用"
+
+-#: cp/semantics.c:1436 cp/semantics.c:1475
++#: cp/semantics.c:1441 cp/semantics.c:1480
+ #, gcc-internal-format
+ msgid "from this location"
+ msgstr "从这个地方"
+
+-#: cp/semantics.c:1474
++#: cp/semantics.c:1479
+ #, gcc-internal-format
+ msgid "object missing in reference to %q+D"
+ msgstr "对%q+D的引用缺少对象"
+
+-#: cp/semantics.c:1928
++#: cp/semantics.c:1951
+ #, gcc-internal-format
+ msgid "arguments to destructor are not allowed"
+ msgstr "æžæž„函数ä¸èƒ½æœ‰å‚æ•°"
+
+-#: cp/semantics.c:1978
++#: cp/semantics.c:2001
+ #, gcc-internal-format
+ msgid "%<this%> is unavailable for static member functions"
+ msgstr "é™æ€æˆå‘˜å‡½æ•°ä¸­ä¸èƒ½ä½¿ç”¨%<this%>"
+
+-#: cp/semantics.c:1984
++#: cp/semantics.c:2007
+ #, gcc-internal-format
+ msgid "invalid use of %<this%> in non-member function"
+ msgstr "在éžæˆå‘˜å‡½æ•°ä¸­ä½¿ç”¨%<this%>无效"
+
+-#: cp/semantics.c:1986
++#: cp/semantics.c:2009
+ #, gcc-internal-format
+ msgid "invalid use of %<this%> at top level"
+ msgstr "在文件层使用%<this%>无效"
+
+-#: cp/semantics.c:2010
++#: cp/semantics.c:2033
+ #, gcc-internal-format
+ msgid "invalid qualifying scope in pseudo-destructor name"
+ msgstr "伪æžæž„函数åçš„é™å®šä½œç”¨åŸŸæ— æ•ˆ"
+
+-#: cp/semantics.c:2015 cp/typeck.c:2004
++#: cp/semantics.c:2038 cp/typeck.c:2050
+ #, gcc-internal-format
+ msgid "qualified type %qT does not match destructor name ~%qT"
+ msgstr "é™å®šçš„类型%qTä¸åŒ¹é…æžæž„函数å ~%qT"
+
+-#: cp/semantics.c:2037
++#: cp/semantics.c:2060
+ #, gcc-internal-format
+ msgid "%qE is not of type %qT"
+ msgstr "%qE的类型ä¸æ˜¯%qT"
+
+-#: cp/semantics.c:2081
++#: cp/semantics.c:2104
+ #, gcc-internal-format
+ msgid "compound literal of non-object type %qT"
+ msgstr "éžå¯¹è±¡ç±»åž‹%qTçš„å¤åˆå­—é¢å¸¸é‡"
+
+-#: cp/semantics.c:2158
++#: cp/semantics.c:2181
+ #, gcc-internal-format
+ msgid "template type parameters must use the keyword %<class%> or %<typename%>"
+ msgstr "模æ¿å½¢å‚必须使用%<class%>或%<typename%>关键字"
+
+-#: cp/semantics.c:2195
++#: cp/semantics.c:2222
+ #, gcc-internal-format
+ msgid "invalid use of type %qT as a default value for a template template-parameter"
+ msgstr "将类型%qT用作模æ¿çš„模æ¿å‚数的默认值无效"
+
+-#: cp/semantics.c:2198
++#: cp/semantics.c:2225
+ #, gcc-internal-format
+ msgid "invalid default argument for a template template parameter"
+ msgstr "模æ¿çš„模æ¿å½¢å‚的默认实å‚无效"
+
+-#: cp/semantics.c:2215
++#: cp/semantics.c:2242
+ #, gcc-internal-format
+ msgid "definition of %q#T inside template parameter list"
+ msgstr "在模æ¿å‚数列表中定义了%q#T"
+
+-#: cp/semantics.c:2226
++#: cp/semantics.c:2253
+ #, gcc-internal-format
+ msgid "invalid definition of qualified type %qT"
+ msgstr "对é™å®šç±»åž‹%qT的定义无效"
+
+-#: cp/semantics.c:2437
++#: cp/semantics.c:2469
+ #, gcc-internal-format
+ msgid "invalid base-class specification"
+ msgstr "无效的基类"
+
+-#: cp/semantics.c:2446
++#: cp/semantics.c:2478
+ #, gcc-internal-format
+ msgid "base class %qT has cv qualifiers"
+ msgstr "基类%qT有 cv é™å®š"
+
+-#: cp/semantics.c:2468
++#: cp/semantics.c:2500
+ #, gcc-internal-format
+ msgid "incomplete type %qT used in nested name specifier"
+ msgstr "嵌套å指定中使用了ä¸å®Œå…¨çš„类型%qT"
+
+-#: cp/semantics.c:2471
++#: cp/semantics.c:2503
+ #, gcc-internal-format
+ msgid "reference to %<%T::%D%> is ambiguous"
+ msgstr "对%<%T::%D%>的引用有歧义"
+
+-#: cp/semantics.c:2475 cp/typeck.c:1813
++#: cp/semantics.c:2507 cp/typeck.c:1859
+ #, gcc-internal-format
+ msgid "%qD is not a member of %qT"
+ msgstr "%qDä¸æ˜¯%qTçš„æˆå‘˜"
+
+-#: cp/semantics.c:2478
++#: cp/semantics.c:2510
+ #, gcc-internal-format
+ msgid "%qD is not a member of %qD"
+ msgstr "%qDä¸æ˜¯%qDçš„æˆå‘˜"
+
+-#: cp/semantics.c:2480
++#: cp/semantics.c:2512
+ #, gcc-internal-format
+ msgid "%<::%D%> has not been declared"
+ msgstr "%<::%D%>尚未声明"
+
+-#: cp/semantics.c:2621
++#: cp/semantics.c:2653
+ #, gcc-internal-format
+ msgid "use of %<auto%> variable from containing function"
+ msgstr "在包å«å‡½æ•°ä¸­ä½¿ç”¨%<auto%>å˜é‡"
+
+-#: cp/semantics.c:2623
++#: cp/semantics.c:2655
+ #, gcc-internal-format
+ msgid " %q+#D declared here"
+ msgstr "%q+#D已在此声明过"
+
+-#: cp/semantics.c:2661
++#: cp/semantics.c:2693
+ #, gcc-internal-format
+ msgid "template parameter %qD of type %qT is not allowed in an integral constant expression because it is not of integral or enumeration type"
+ msgstr "模æ¿å‚æ•°%qD(类型为%qT)ä¸å…许出现在整数表达å¼ä¸­ï¼Œå› ä¸ºå®ƒçš„类型ä¸æ˜¯æ•´æ•°æˆ–枚举"
+
+-#: cp/semantics.c:2830
++#: cp/semantics.c:2862
+ #, gcc-internal-format
+ msgid "%qD cannot appear in a constant-expression"
+ msgstr "%qDä¸èƒ½å‡ºçŽ°åœ¨å¸¸é‡è¡¨è¾¾å¼ä¸­"
+
+-#: cp/semantics.c:2838
++#: cp/semantics.c:2870
+ #, gcc-internal-format
+ msgid "use of namespace %qD as expression"
+ msgstr "命å空间%qD被用作表达å¼"
+
+-#: cp/semantics.c:2843
++#: cp/semantics.c:2875
+ #, gcc-internal-format
+ msgid "use of class template %qT as expression"
+ msgstr "将类模æ¿%qT用作表达å¼"
+
+ #. Ambiguous reference to base members.
+-#: cp/semantics.c:2849
++#: cp/semantics.c:2881
+ #, gcc-internal-format
+ msgid "request for member %qD is ambiguous in multiple inheritance lattice"
+ msgstr "在多继承网格中对%qD的访问有歧义"
+
+-#: cp/semantics.c:2970 cp/semantics.c:4210
++#: cp/semantics.c:3002 cp/semantics.c:4259
+ #, gcc-internal-format
+ msgid "type of %qE is unknown"
+ msgstr "%qE的类型未知"
+
+-#: cp/semantics.c:2985
++#: cp/semantics.c:3017
+ #, gcc-internal-format
+ msgid "cannot apply %<offsetof%> to destructor %<~%T%>"
+ msgstr "ä¸èƒ½ä¸ºæžæž„函数%<~%T%>使用%<offsetof%>"
+
+-#: cp/semantics.c:2996
++#: cp/semantics.c:3028
+ #, gcc-internal-format
+ msgid "cannot apply %<offsetof%> to member function %qD"
+ msgstr "ä¸èƒ½ä¸ºæˆå‘˜å‡½æ•°%qD应用%<offsetof%>"
+
+-#: cp/semantics.c:3349
++#: cp/semantics.c:3381
+ #, gcc-internal-format
+ msgid "%qD is not a variable in clause %qs"
+ msgstr "%qD在å­å¥%qs中ä¸æ˜¯ä¸€ä¸ªå˜é‡"
+
+-#: cp/semantics.c:3358
++#: cp/semantics.c:3390
+ #, gcc-internal-format
+ msgid "%qD appears more than once in data clauses"
+ msgstr "%qD在数æ®å­å¥ä¸­å¤šæ¬¡å‡ºçŽ°"
+
+-#: cp/semantics.c:3418
++#: cp/semantics.c:3450
+ #, gcc-internal-format
+ msgid "num_threads expression must be integral"
+ msgstr "num_threads 表达å¼å¿…须是整型的"
+
+-#: cp/semantics.c:3432
++#: cp/semantics.c:3464
+ #, gcc-internal-format
+ msgid "schedule chunk size expression must be integral"
+ msgstr "调度å—大å°è¡¨è¾¾å¼å¿…须为整型"
+
+-#: cp/semantics.c:3562
++#: cp/semantics.c:3594
+ #, gcc-internal-format
+ msgid "%qE has reference type for %qs"
+ msgstr "%qE有%qs的引用类型"
+
+-#: cp/semantics.c:3724
++#: cp/semantics.c:3756
+ #, gcc-internal-format
+ msgid "%<threadprivate%> %qE is not file, namespace or block scope variable"
+ msgstr "%<threadprivate%>%qEä¸æ˜¯ä¸€ä¸ªæ–‡ä»¶ã€å‘½å空间或å—作用域å˜é‡"
+
+ #. Report the error.
+-#: cp/semantics.c:4033
++#: cp/semantics.c:4072
+ #, gcc-internal-format
+ msgid "static assertion failed: %E"
+ msgstr "é™æ€æ–­è¨€é”™è¯¯ï¼š%E"
+
+-#: cp/semantics.c:4035
++#: cp/semantics.c:4074
+ #, gcc-internal-format
+ msgid "non-constant condition for static assertion"
+ msgstr "é™æ€æ–­è¨€ä¸­å‡ºçŽ°éžå¸¸é‡æ¡ä»¶"
+
+-#: cp/semantics.c:4097
++#: cp/semantics.c:4099 cp/semantics.c:4194
+ #, gcc-internal-format
+-msgid "%qE refers to a set of overloaded functions"
+-msgstr "%qE指å‘多个é‡è½½å‡½æ•°çš„集åˆ"
++msgid "argument to decltype must be an expression"
++msgstr "decltype 的实å‚必须是一个表达å¼"
+
+ #: cp/semantics.c:4145
+ #, gcc-internal-format
+-msgid "argument to decltype must be an expression"
+-msgstr "decltype 的实å‚必须是一个表达å¼"
++msgid "%qE refers to a set of overloaded functions"
++msgstr "%qE指å‘多个é‡è½½å‡½æ•°çš„集åˆ"
+
+-#: cp/semantics.c:4366
++#: cp/semantics.c:4415
+ #, gcc-internal-format
+ msgid "__is_convertible_to"
+ msgstr "__is_convertible_to"
+
+-#: cp/semantics.c:4395
++#: cp/semantics.c:4444
+ #, gcc-internal-format
+ msgid "incomplete type %qT not allowed"
+ msgstr "ä¸å…许ä¸å®Œå…¨ç±»åž‹%qT"
+
+-#: cp/tree.c:829
++#: cp/tree.c:827
+ #, gcc-internal-format
+ msgid "%qV qualifiers cannot be applied to %qT"
+ msgstr "%qVé™å®šç¬¦ä¸èƒ½åº”用到%qT上"
+
+-#: cp/tree.c:2134
++#: cp/tree.c:2132
+ #, gcc-internal-format
+ msgid "%qE attribute can only be applied to Java class definitions"
+ msgstr "åªèƒ½ä¸º Java 类定义应用%qE属性"
+
+-#: cp/tree.c:2163
++#: cp/tree.c:2161
+ #, gcc-internal-format
+ msgid "%qE attribute can only be applied to class definitions"
+ msgstr "åªèƒ½ä¸ºç±»å®šä¹‰åº”用%qE属性"
+
+-#: cp/tree.c:2169
++#: cp/tree.c:2167
+ #, gcc-internal-format
+ msgid "%qE is obsolete; g++ vtables are now COM-compatible by default"
+ msgstr "%qE已过时:g++ 的虚函数表现在默认与 COM 兼容"
+
+-#: cp/tree.c:2193
++#: cp/tree.c:2191
+ #, gcc-internal-format
+ msgid "requested init_priority is not an integer constant"
+ msgstr "请求的 init_priority ä¸æ˜¯ä¸€ä¸ªæ•´æ•°å¸¸æ•°"
+
+-#: cp/tree.c:2214
++#: cp/tree.c:2212
+ #, gcc-internal-format
+ msgid "can only use %qE attribute on file-scope definitions of objects of class type"
+ msgstr "åªèƒ½å°†%qE属性用于æŸä¸ªç±»çš„对象的文件作用域定义"
+
+-#: cp/tree.c:2222
++#: cp/tree.c:2220
+ #, gcc-internal-format
+ msgid "requested init_priority is out of range"
+ msgstr "请求的 init_priority 越界"
+
+-#: cp/tree.c:2232
++#: cp/tree.c:2230
+ #, gcc-internal-format
+ msgid "requested init_priority is reserved for internal use"
+ msgstr "请求的 init_priority ä¿ç•™ä¸ºå†…部使用"
+
+-#: cp/tree.c:2243
++#: cp/tree.c:2241
+ #, gcc-internal-format
+ msgid "%qE attribute is not supported on this platform"
+ msgstr "%qE属性在此平å°ä¸Šä¸å—支æŒ"
+
+-#: cp/typeck.c:431 cp/typeck.c:445 cp/typeck.c:545
++#: cp/typeck.c:432 cp/typeck.c:446 cp/typeck.c:546
+ #, gcc-internal-format
+ msgid "%s between distinct pointer types %qT and %qT lacks a cast"
+ msgstr "%s(在ä¸åŒçš„指针类型%qTå’Œ%qT之间)需è¦ä¸€ä¸ªè½¬æ¢"
+
+-#: cp/typeck.c:507
++#: cp/typeck.c:508
+ #, gcc-internal-format
+ msgid "ISO C++ forbids %s between pointer of type %<void *%> and pointer-to-function"
+ msgstr "ISO C++ ä¸å…许在%<void *%>和函数指针间 %s"
+
+-#: cp/typeck.c:565
++#: cp/typeck.c:566
+ #, gcc-internal-format
+ msgid "%s between distinct pointer-to-member types %qT and %qT lacks a cast"
+ msgstr "%s(在ä¸åŒçš„æˆå‘˜æŒ‡é’ˆç±»åž‹%qTå’Œ%qT之间)需è¦ä¸€ä¸ªè½¬æ¢"
+
+-#: cp/typeck.c:1129
++#: cp/typeck.c:1166
+ #, gcc-internal-format
+ msgid "canonical types differ for identical types %T and %T"
+ msgstr "相åŒç±»åž‹ %T å’Œ %T 的正规类型ä¸åŒ"
+
+-#: cp/typeck.c:1136
++#: cp/typeck.c:1173
+ #, gcc-internal-format
+ msgid "same canonical type node for different types %T and %T"
+ msgstr "ä¸åŒç±»åž‹ %T å’Œ %T 有相åŒçš„正规类型节点"
+
+-#: cp/typeck.c:1248
++#: cp/typeck.c:1285
+ #, gcc-internal-format
+ msgid "invalid application of %qs to a member function"
+ msgstr "%qs用于æˆå‘˜å‡½æ•°æ— æ•ˆ"
+
+-#: cp/typeck.c:1298
++#: cp/typeck.c:1335
+ #, gcc-internal-format
+ msgid "invalid application of %<sizeof%> to a bit-field"
+ msgstr "对ä½æ®µä½¿ç”¨%<sizeof%>无效"
+
+-#: cp/typeck.c:1303
++#: cp/typeck.c:1340
+ #, gcc-internal-format
+ msgid "ISO C++ forbids applying %<sizeof%> to an expression of function type"
+ msgstr "ISO C++ ä¸å…许将%<sizeof%>应用到函数类型的表达å¼ä¸Š"
+
+-#: cp/typeck.c:1346
++#: cp/typeck.c:1383
+ #, gcc-internal-format
+ msgid "invalid application of %<__alignof%> to a bit-field"
+ msgstr "对ä½æ®µä½¿ç”¨%<__alignof%>无效"
+
+-#: cp/typeck.c:1354
++#: cp/typeck.c:1391
+ #, gcc-internal-format
+ msgid "ISO C++ forbids applying %<__alignof%> to an expression of function type"
+ msgstr "ISO C++ ä¸å…许将%<__alignof%>应用到函数类型的表达å¼ä¸Š"
+
+-#: cp/typeck.c:1405
++#: cp/typeck.c:1442
+ #, gcc-internal-format
+ msgid "invalid use of non-static member function"
+ msgstr "对éžé™æ€æˆå‘˜å‡½æ•°çš„使用无效"
+
+-#: cp/typeck.c:1669
++#: cp/typeck.c:1715
+ #, gcc-internal-format
+ msgid "deprecated conversion from string constant to %qT"
+ msgstr "ä¸å»ºè®®ä½¿ç”¨ä»Žå­—符串常é‡åˆ°%qT的转æ¢"
+
+-#: cp/typeck.c:1784 cp/typeck.c:2132
++#: cp/typeck.c:1830 cp/typeck.c:2178
+ #, gcc-internal-format
+ msgid "request for member %qD in %qE, which is of non-class type %qT"
+ msgstr "对æˆå‘˜%qD的请求出现在%qE中,而åŽè€…具有éžç±»ç±»åž‹%qT"
+
+-#: cp/typeck.c:1811
++#: cp/typeck.c:1857
+ #, gcc-internal-format
+ msgid "invalid use of nonstatic data member %qE"
+ msgstr "对éžé™æ€æ•°æ®æˆå‘˜%qE的使用无效"
+
+-#: cp/typeck.c:1863 cp/typeck.c:1891
++#: cp/typeck.c:1909 cp/typeck.c:1937
+ #, gcc-internal-format
+ msgid "invalid access to non-static data member %qD of NULL object"
+ msgstr "对 NULL 对象éžé™æ€æ•°æ®æˆå‘˜%qD的访问无效"
+
+-#: cp/typeck.c:1866 cp/typeck.c:1893
++#: cp/typeck.c:1912 cp/typeck.c:1939
+ #, gcc-internal-format
+ msgid "(perhaps the %<offsetof%> macro was used incorrectly)"
+ msgstr "(å¯èƒ½é”™è¯¯ä½¿ç”¨äº†%<offsetof%>å®)"
+
+-#: cp/typeck.c:2010
++#: cp/typeck.c:2056
+ #, gcc-internal-format
+ msgid "the type being destroyed is %qT, but the destructor refers to %qT"
+ msgstr "被æžæž„的类型是%qT,但æžæž„函数å´ä½¿ç”¨äº†%qT"
+
+-#: cp/typeck.c:2049 cp/typeck.c:2069
++#: cp/typeck.c:2095 cp/typeck.c:2115
+ #, gcc-internal-format
+ msgid "%qD is not a template"
+ msgstr "%qDä¸æ˜¯ä¸€ä¸ªæ¨¡æ¿"
+
+-#: cp/typeck.c:2170
++#: cp/typeck.c:2216
+ #, gcc-internal-format
+ msgid "%<%D::%D%> is not a member of %qT"
+ msgstr "%<%D::%D%>ä¸æ˜¯%qTçš„æˆå‘˜"
+
+-#: cp/typeck.c:2185
++#: cp/typeck.c:2231
+ #, gcc-internal-format
+ msgid "%qT is not a base of %qT"
+ msgstr "%qTä¸æ˜¯%qT的基类"
+
+-#: cp/typeck.c:2204
++#: cp/typeck.c:2250
+ #, gcc-internal-format
+ msgid "%qD has no member named %qE"
+ msgstr "%qD没有å为%qEçš„æˆå‘˜"
+
+-#: cp/typeck.c:2219
++#: cp/typeck.c:2265
+ #, gcc-internal-format
+ msgid "%qD is not a member template function"
+ msgstr "%qDä¸æ˜¯ä¸€ä¸ªæˆå‘˜æ¨¡æ¿å‡½æ•°"
+
+ #. A pointer to incomplete type (other than cv void) can be
+ #. dereferenced [expr.unary.op]/1
+-#: cp/typeck.c:2352
++#: cp/typeck.c:2398
+ #, gcc-internal-format
+ msgid "%qT is not a pointer-to-object type"
+ msgstr "%qTä¸æ˜¯ä¸€ä¸ªæŒ‡å‘对象的类型"
+
+-#: cp/typeck.c:2377
++#: cp/typeck.c:2423
+ #, gcc-internal-format
+ msgid "invalid use of %qs on pointer to member"
+ msgstr "å°†%qs用在æˆå‘˜æŒ‡é’ˆä¸Šæ— æ•ˆ"
+
+-#: cp/typeck.c:2381
++#: cp/typeck.c:2427
+ #, gcc-internal-format
+ msgid "invalid type argument of %qs"
+ msgstr "%qs的实å‚类型无效"
+
+-#: cp/typeck.c:2383
++#: cp/typeck.c:2429
+ #, gcc-internal-format
+ msgid "invalid type argument"
+ msgstr "无效的类型å‚æ•°"
+
+-#: cp/typeck.c:2406
++#: cp/typeck.c:2452
+ #, gcc-internal-format
+ msgid "subscript missing in array reference"
+ msgstr "数组引用缺少下标"
+
+-#: cp/typeck.c:2480
++#: cp/typeck.c:2526
+ #, gcc-internal-format
+ msgid "ISO C++ forbids subscripting non-lvalue array"
+ msgstr "ISO C++ ä¸å…许按下标访问éžå·¦å€¼çš„数组"
+
+-#: cp/typeck.c:2491
++#: cp/typeck.c:2537
+ #, gcc-internal-format
+ msgid "subscripting array declared %<register%>"
+ msgstr "按下标访问声明为%<register%>的数组"
+
+-#: cp/typeck.c:2576
++#: cp/typeck.c:2622
+ #, gcc-internal-format
+ msgid "object missing in use of %qE"
+ msgstr "使用%qE时缺少对象"
+
+-#: cp/typeck.c:2693
++#: cp/typeck.c:2739
+ #, gcc-internal-format
+ msgid "ISO C++ forbids calling %<::main%> from within program"
+ msgstr "ISO C++ ä¸å…许在程åºé‡Œè°ƒç”¨%<::main%>"
+
+-#: cp/typeck.c:2718
++#: cp/typeck.c:2764
+ #, gcc-internal-format
+ msgid "must use %<.*%> or %<->*%> to call pointer-to-member function in %<%E (...)%>"
+ msgstr "必须用%<.*%>or%<->*%>调用 <%E (...)%>中的æˆå‘˜å‡½æ•°æŒ‡é’ˆ"
+
+-#: cp/typeck.c:2732
++#: cp/typeck.c:2778
+ #, gcc-internal-format
+ msgid "%qE cannot be used as a function"
+ msgstr "%qEä¸èƒ½ç”¨ä½œå‡½æ•°"
+
+-#: cp/typeck.c:2822
++#: cp/typeck.c:2868
+ #, gcc-internal-format
+ msgid "too many arguments to %s %q+#D"
+ msgstr "给予 %s%q+#D的实å‚太多"
+
+-#: cp/typeck.c:2823 cp/typeck.c:2927
++#: cp/typeck.c:2869 cp/typeck.c:2973
+ #, gcc-internal-format
+ msgid "at this point in file"
+ msgstr "在文件的这个地方"
+
+-#: cp/typeck.c:2826
++#: cp/typeck.c:2872
+ #, gcc-internal-format
+ msgid "too many arguments to function"
+ msgstr "给予函数的实å‚太多"
+
+-#: cp/typeck.c:2856
++#: cp/typeck.c:2902
+ #, gcc-internal-format
+ msgid "parameter %P of %qD has incomplete type %qT"
+-msgstr "å½¢å‚ %P (属于%qD)的类型%qTä¸å®Œå…¨"
++msgstr "%2$qD的第 %1$P 个形å‚的类型%3$qTä¸å®Œå…¨"
+
+-#: cp/typeck.c:2859
++#: cp/typeck.c:2905
+ #, gcc-internal-format
+ msgid "parameter %P has incomplete type %qT"
+ msgstr "å½¢å‚ %P 的类型%qTä¸å®Œå…¨"
+
+-#: cp/typeck.c:2926
++#: cp/typeck.c:2972
+ #, gcc-internal-format
+ msgid "too few arguments to %s %q+#D"
+ msgstr "给予 %s%q+#D的实å‚太少"
+
+-#: cp/typeck.c:2930
++#: cp/typeck.c:2976
+ #, gcc-internal-format
+ msgid "too few arguments to function"
+ msgstr "给予函数的实å‚太少"
+
+-#: cp/typeck.c:3098 cp/typeck.c:3108
++#: cp/typeck.c:3140 cp/typeck.c:3150
+ #, gcc-internal-format
+ msgid "assuming cast to type %qT from overloaded function"
+ msgstr "å‡å®šä»Žé‡è½½å‡½æ•°è½¬æ¢åˆ°ç±»åž‹%qT"
+
+-#: cp/typeck.c:3306
++#: cp/typeck.c:3346
+ #, gcc-internal-format
+ msgid "left rotate count is negative"
+ msgstr "循环左移次数为负"
+
+-#: cp/typeck.c:3307
++#: cp/typeck.c:3347
+ #, gcc-internal-format
+ msgid "right rotate count is negative"
+ msgstr "循环å³ç§»æ¬¡æ•°ä¸ºè´Ÿ"
+
+-#: cp/typeck.c:3310
++#: cp/typeck.c:3350
+ #, gcc-internal-format
+ msgid "left rotate count >= width of type"
+ msgstr "循环左移次数大于或等于类型宽度"
+
+-#: cp/typeck.c:3311
++#: cp/typeck.c:3351
+ #, gcc-internal-format
+ msgid "right rotate count >= width of type"
+ msgstr "循环å³ç§»æ¬¡æ•°å¤§äºŽæˆ–等于类型宽度"
+
+-#: cp/typeck.c:3327 cp/typeck.c:3502
++#: cp/typeck.c:3367 cp/typeck.c:3549
+ #, gcc-internal-format
+ msgid "comparison with string literal results in unspecified behaviour"
+ msgstr "与字é¢å­—符串比较的结构是ä¸å¯é¢„测的"
+
+-#: cp/typeck.c:3360 cp/typeck.c:3365 cp/typeck.c:3520 cp/typeck.c:3525
++#: cp/typeck.c:3400 cp/typeck.c:3405 cp/typeck.c:3567 cp/typeck.c:3572
+ #, gcc-internal-format
+ msgid "ISO C++ forbids comparison between pointer and integer"
+ msgstr "ISO C++ ä¸å…许比较指针和整数的值"
+
+-#: cp/typeck.c:3539
++#: cp/typeck.c:3586
+ #, gcc-internal-format
+ msgid "unordered comparison on non-floating point argument"
+ msgstr "éžæµ®ç‚¹å®žå‚间的无效比较"
+
+-#: cp/typeck.c:3577
++#: cp/typeck.c:3624
+ #, gcc-internal-format
+ msgid "invalid operands of types %qT and %qT to binary %qO"
+ msgstr "æ“作数类型%qTå’Œ%qT对åŒç›®%qO而言无效"
+
+-#: cp/typeck.c:3749
++#: cp/typeck.c:3757
+ #, gcc-internal-format
+ msgid "comparison between types %q#T and %q#T"
+ msgstr "在类型%q#T和%q#T间比较"
+
+-#: cp/typeck.c:3786
++#: cp/typeck.c:3794
+ #, gcc-internal-format
+ msgid "comparison between signed and unsigned integer expressions"
+ msgstr "在有符å·å’Œæ— ç¬¦å·æ•´æ•°è¡¨è¾¾å¼é—´æ¯”较"
+@@ -31981,154 +32010,154 @@
+ #. performed. Note that pointer-difference and pointer-addition
+ #. have already been handled above, and so we don't end up here in
+ #. that case.
+-#: cp/typeck.c:3858
++#: cp/typeck.c:3866
+ #, gcc-internal-format
+ msgid "NULL used in arithmetic"
+ msgstr "算术表达å¼ä¸­ä½¿ç”¨äº† NULL"
+
+-#: cp/typeck.c:3927
++#: cp/typeck.c:3935
+ #, gcc-internal-format
+ msgid "ISO C++ forbids using pointer of type %<void *%> in subtraction"
+ msgstr "ISO C++ ä¸å…许在å‡æ³•ä¸­ä½¿ç”¨ç±»åž‹ä¸º%<void *%>的指针"
+
+-#: cp/typeck.c:3929
++#: cp/typeck.c:3937
+ #, gcc-internal-format
+ msgid "ISO C++ forbids using pointer to a function in subtraction"
+ msgstr "ISO C++ ä¸å…许在å‡æ³•ä¸­ä½¿ç”¨å‡½æ•°æŒ‡é’ˆ"
+
+-#: cp/typeck.c:3931
++#: cp/typeck.c:3939
+ #, gcc-internal-format
+ msgid "ISO C++ forbids using pointer to a method in subtraction"
+ msgstr "ISO C++ ä¸å…许在å‡æ³•ä¸­ä½¿ç”¨æŒ‡å‘方法的指针"
+
+-#: cp/typeck.c:3943
++#: cp/typeck.c:3951
+ #, gcc-internal-format
+ msgid "invalid use of a pointer to an incomplete type in pointer arithmetic"
+ msgstr "在指针算术中使用指å‘ä¸å®Œå…¨ç±»åž‹çš„指针无效"
+
+-#: cp/typeck.c:4003
++#: cp/typeck.c:4011
+ #, gcc-internal-format
+ msgid "invalid use of %qE to form a pointer-to-member-function"
+ msgstr "用%qEå½¢æˆæˆå‘˜å‡½æ•°æŒ‡é’ˆçš„用法无效。"
+
+-#: cp/typeck.c:4006
++#: cp/typeck.c:4014
+ #, gcc-internal-format
+ msgid " a qualified-id is required"
+ msgstr " 需è¦ä¸€ä¸ªé™å®šçš„标识符"
+
+-#: cp/typeck.c:4011
++#: cp/typeck.c:4019
+ #, gcc-internal-format
+ msgid "parentheses around %qE cannot be used to form a pointer-to-member-function"
+ msgstr "%qE两边的括å·ä¸èƒ½ç”¨æ¥æž„造一个æˆå‘˜å‡½æ•°æŒ‡é’ˆ"
+
+-#: cp/typeck.c:4034
++#: cp/typeck.c:4042
+ #, gcc-internal-format
+ msgid "taking address of temporary"
+ msgstr "å–临时å˜é‡çš„地å€"
+
+-#: cp/typeck.c:4287
++#: cp/typeck.c:4295
+ #, gcc-internal-format
+ msgid "ISO C++ forbids incrementing an enum"
+ msgstr "ISO C++ ä¸å…许枚举自增"
+
+-#: cp/typeck.c:4288
++#: cp/typeck.c:4296
+ #, gcc-internal-format
+ msgid "ISO C++ forbids decrementing an enum"
+ msgstr "ISO C++ ä¸å…许枚举自å‡"
+
+-#: cp/typeck.c:4299
++#: cp/typeck.c:4307
+ #, gcc-internal-format
+ msgid "cannot increment a pointer to incomplete type %qT"
+ msgstr "指å‘ä¸å®Œå…¨ç±»åž‹%qT的指针ä¸èƒ½è‡ªå¢ž"
+
+-#: cp/typeck.c:4300
++#: cp/typeck.c:4308
+ #, gcc-internal-format
+ msgid "cannot decrement a pointer to incomplete type %qT"
+ msgstr "指å‘ä¸å®Œå…¨ç±»åž‹%qT的指针ä¸èƒ½è‡ªå‡"
+
+-#: cp/typeck.c:4306
++#: cp/typeck.c:4314
+ #, gcc-internal-format
+ msgid "ISO C++ forbids incrementing a pointer of type %qT"
+ msgstr "ISO C++ ä¸å…许对类型为%qT的指针自增"
+
+-#: cp/typeck.c:4307
++#: cp/typeck.c:4315
+ #, gcc-internal-format
+ msgid "ISO C++ forbids decrementing a pointer of type %qT"
+ msgstr "ISO C++ ä¸å…许对类型为%qT的指针自å‡"
+
+-#: cp/typeck.c:4327
++#: cp/typeck.c:4335
+ #, gcc-internal-format
+ msgid "invalid use of Boolean expression as operand to %<operator--%>"
+ msgstr "布尔表达å¼ä¸èƒ½ç”¨ä½œ%<æ“作符--%>çš„æ“作数"
+
+ #. ARM $3.4
+-#: cp/typeck.c:4357
++#: cp/typeck.c:4365
+ #, gcc-internal-format
+ msgid "ISO C++ forbids taking address of function %<::main%>"
+ msgstr "ISO C++ ä¸å…许å–函数%<::main%>的地å€"
+
+ #. An expression like &memfn.
+-#: cp/typeck.c:4413
++#: cp/typeck.c:4421
+ #, gcc-internal-format
+ msgid "ISO C++ forbids taking the address of an unqualified or parenthesized non-static member function to form a pointer to member function. Say %<&%T::%D%>"
+ msgstr "ISO C++ ä¸å…许通过æå–一个未é™å®šçš„或带括å·çš„éžé™æ€æˆå‘˜å‡½æ•°çš„地å€æ¥å½¢æˆä¸€ä¸ªæˆå‘˜å‡½æ•°æŒ‡é’ˆã€‚请使用%<&%T::%D%>"
+
+-#: cp/typeck.c:4418
++#: cp/typeck.c:4426
+ #, gcc-internal-format
+ msgid "ISO C++ forbids taking the address of a bound member function to form a pointer to member function. Say %<&%T::%D%>"
+ msgstr "ISO C++ ä¸å…许通过å–已绑定的æˆå‘˜å‡½æ•°çš„地å€æ¥æž„造æˆå‘˜å‡½æ•°æŒ‡é’ˆã€‚请改用%<&%T::%D%>"
+
+-#: cp/typeck.c:4443
++#: cp/typeck.c:4451
+ #, gcc-internal-format
+ msgid "ISO C++ forbids taking the address of a cast to a non-lvalue expression"
+ msgstr "ISO C++ ä¸å…许å–转æ¢åˆ°éžå·¦å€¼è¡¨è¾¾å¼çš„地å€"
+
+-#: cp/typeck.c:4467
++#: cp/typeck.c:4475
+ #, gcc-internal-format
+ msgid "cannot create pointer to reference member %qD"
+ msgstr "ä¸èƒ½åˆ›å»ºæŒ‡å‘引用æˆå‘˜%qD的指针"
+
+-#: cp/typeck.c:4678
++#: cp/typeck.c:4686
+ #, gcc-internal-format
+ msgid "cannot take the address of %<this%>, which is an rvalue expression"
+ msgstr "无法å–å³å€¼è¡¨è¾¾å¼%<this%>的地å€"
+
+-#: cp/typeck.c:4701
++#: cp/typeck.c:4709
+ #, gcc-internal-format
+ msgid "address of explicit register variable %qD requested"
+ msgstr "è¦æ±‚显å¼å¯„存器å˜é‡%qD的地å€ã€‚"
+
+-#: cp/typeck.c:4706
++#: cp/typeck.c:4714
+ #, gcc-internal-format
+ msgid "address requested for %qD, which is declared %<register%>"
+ msgstr "请求声明为%<register%>çš„%qD的地å€"
+
+-#: cp/typeck.c:4772
++#: cp/typeck.c:4780
+ #, gcc-internal-format
+ msgid "%s expression list treated as compound expression"
+ msgstr "%s 表达å¼åˆ—表被看作å¤åˆè¡¨è¾¾å¼"
+
+-#: cp/typeck.c:5175
++#: cp/typeck.c:5183
+ #, gcc-internal-format
+ msgid "invalid static_cast from type %qT to type %qT"
+ msgstr "从类型%qT到类型%qT中的 static_cast 无效"
+
+-#: cp/typeck.c:5197
++#: cp/typeck.c:5205
+ #, gcc-internal-format
+ msgid "converting from %qT to %qT"
+ msgstr "从%qT转æ¢åˆ°%qT"
+
+-#: cp/typeck.c:5245
++#: cp/typeck.c:5253
+ #, gcc-internal-format
+ msgid "invalid cast of an rvalue expression of type %qT to type %qT"
+ msgstr "从具有类型%qTçš„å³å€¼è¡¨è¾¾å¼åˆ°ç±»åž‹%qT中的转æ¢æ— æ•ˆ"
+
+-#: cp/typeck.c:5304
++#: cp/typeck.c:5312
+ #, gcc-internal-format
+ msgid "cast from %qT to %qT loses precision"
+ msgstr "从%qT到%qT的转æ¢æŸå¤±ç²¾åº¦"
+
+-#: cp/typeck.c:5331
++#: cp/typeck.c:5339
+ #, gcc-internal-format
+ msgid "cast from %qT to %qT increases required alignment of target type"
+ msgstr "从%qT到%qT的转æ¢å¢žå¤§äº†ç›®æ ‡ç±»åž‹çš„对é½éœ€æ±‚"
+@@ -32137,155 +32166,155 @@
+ #. where possible, and it is necessary in some cases. DR 195
+ #. addresses this issue, but as of 2004/10/26 is still in
+ #. drafting.
+-#: cp/typeck.c:5351
++#: cp/typeck.c:5359
+ #, gcc-internal-format
+ msgid "ISO C++ forbids casting between pointer-to-function and pointer-to-object"
+ msgstr "ISO C++ ä¸å…许在函数指针和对象指针间进行转æ¢"
+
+-#: cp/typeck.c:5362
++#: cp/typeck.c:5370
+ #, gcc-internal-format
+ msgid "invalid cast from type %qT to type %qT"
+ msgstr "从类型%qT到类型%qT的转æ¢æ— æ•ˆ"
+
+-#: cp/typeck.c:5418
++#: cp/typeck.c:5426
+ #, gcc-internal-format
+ msgid "invalid use of const_cast with type %qT, which is not a pointer, reference, nor a pointer-to-data-member type"
+ msgstr "在类型%qT上使用 const_cast 无效,因为它既ä¸æ˜¯æŒ‡é’ˆï¼Œä¹Ÿä¸æ˜¯å¼•ç”¨ï¼Œä¹Ÿä¸æ˜¯æ•°æ®æˆå‘˜æŒ‡é’ˆ"
+
+-#: cp/typeck.c:5427
++#: cp/typeck.c:5435
+ #, gcc-internal-format
+ msgid "invalid use of const_cast with type %qT, which is a pointer or reference to a function type"
+ msgstr "在类型%qT上使用 const_cast 无效,因为它是一个指针函数类型的指针或引用"
+
+-#: cp/typeck.c:5452
++#: cp/typeck.c:5460
+ #, gcc-internal-format
+ msgid "invalid const_cast of an rvalue of type %qT to type %qT"
+ msgstr "从类型%qT到类型%qT中的 const_cast 无效"
+
+-#: cp/typeck.c:5503
++#: cp/typeck.c:5511
+ #, gcc-internal-format
+ msgid "invalid const_cast from type %qT to type %qT"
+ msgstr "从类型%qT到类型%qT中的 const_cast 无效"
+
+-#: cp/typeck.c:5571 cp/typeck.c:5576
++#: cp/typeck.c:5579 cp/typeck.c:5584
+ #, gcc-internal-format
+ msgid "ISO C++ forbids casting to an array type %qT"
+ msgstr "ISO C++ ä¸å…许转æ¢ä¸ºæ•°ç»„类型%qT"
+
+-#: cp/typeck.c:5584
++#: cp/typeck.c:5592
+ #, gcc-internal-format
+ msgid "invalid cast to function type %qT"
+ msgstr "å‘函数类型%qT的转æ¢æ— æ•ˆ"
+
+-#: cp/typeck.c:5804
++#: cp/typeck.c:5812
+ #, gcc-internal-format
+ msgid " in evaluation of %<%Q(%#T, %#T)%>"
+ msgstr " 在求%<%Q(%#T, %#T)%>值时"
+
+-#: cp/typeck.c:5873
++#: cp/typeck.c:5881
+ #, gcc-internal-format
+ msgid "incompatible types in assignment of %qT to %qT"
+ msgstr "å°†%qT赋值给%qT时类型ä¸å…¼å®¹"
+
+-#: cp/typeck.c:5884
++#: cp/typeck.c:5892
+ #, gcc-internal-format
+ msgid "array used as initializer"
+ msgstr "数组被用作åˆå§‹å€¼è®¾å®š"
+
+-#: cp/typeck.c:5886
++#: cp/typeck.c:5894
+ #, gcc-internal-format
+ msgid "invalid array assignment"
+ msgstr "无效的数组赋值"
+
+-#: cp/typeck.c:5998
++#: cp/typeck.c:6006
+ #, gcc-internal-format
+ msgid " in pointer to member function conversion"
+ msgstr " 在æˆå‘˜å‡½æ•°æŒ‡é’ˆè½¬æ¢ä¸­"
+
+-#: cp/typeck.c:6009
++#: cp/typeck.c:6017
+ #, gcc-internal-format
+ msgid "pointer to member conversion via virtual base %qT"
+ msgstr "æˆå‘˜æŒ‡é’ˆè½¬æ¢ç»ç”±è™šåŸºç±»%qT"
+
+-#: cp/typeck.c:6049 cp/typeck.c:6061
++#: cp/typeck.c:6057 cp/typeck.c:6069
+ #, gcc-internal-format
+ msgid " in pointer to member conversion"
+ msgstr " 在æˆå‘˜æŒ‡é’ˆè½¬æ¢ä¸­"
+
+-#: cp/typeck.c:6140
++#: cp/typeck.c:6148
+ #, gcc-internal-format
+ msgid "invalid conversion to type %qT from type %qT"
+ msgstr "到类型%qT的转æ¢æ— æ•ˆï¼Œä»Žç±»åž‹%qT"
+
+-#: cp/typeck.c:6384
++#: cp/typeck.c:6411
+ #, gcc-internal-format
+ msgid "cannot convert %qT to %qT for argument %qP to %qD"
+-msgstr "ä¸èƒ½ä»Ž%qT转æ¢åˆ°%qT,为实å‚%qP(属于%qD)"
++msgstr "ä¸èƒ½å°†%4$qD的实å‚%3$qP从%1$qT转æ¢åˆ°%2$qT"
+
+-#: cp/typeck.c:6387
++#: cp/typeck.c:6414
+ #, gcc-internal-format
+ msgid "cannot convert %qT to %qT in %s"
+ msgstr "ä¸èƒ½å°†%qT转æ¢ä¸º%qT,在 %s 中"
+
+-#: cp/typeck.c:6398
++#: cp/typeck.c:6425
+ #, gcc-internal-format
+ msgid "%s might be a candidate for a format attribute"
+ msgstr "%s å¯èƒ½æ˜¯ format 属性的一个备选"
+
+-#: cp/typeck.c:6485 cp/typeck.c:6487
++#: cp/typeck.c:6512 cp/typeck.c:6514
+ #, gcc-internal-format
+ msgid "in passing argument %P of %q+D"
+-msgstr "åœ¨ä¼ é€’å®žå‚ %P (属于%q+D) æ—¶"
++msgstr "在传递%2$q+D的第 %1$P 个实å‚æ—¶"
+
+-#: cp/typeck.c:6537
++#: cp/typeck.c:6564
+ #, gcc-internal-format
+ msgid "returning reference to temporary"
+ msgstr "返回临时å˜é‡çš„引用"
+
+-#: cp/typeck.c:6544
++#: cp/typeck.c:6571
+ #, gcc-internal-format
+ msgid "reference to non-lvalue returned"
+ msgstr "返回了一个éžå·¦å€¼çš„引用"
+
+-#: cp/typeck.c:6560
++#: cp/typeck.c:6587
+ #, gcc-internal-format
+ msgid "reference to local variable %q+D returned"
+ msgstr "返回了对局部å˜é‡çš„%q+D的引用"
+
+-#: cp/typeck.c:6563
++#: cp/typeck.c:6590
+ #, gcc-internal-format
+ msgid "address of local variable %q+D returned"
+ msgstr "返回了局部å˜é‡çš„%q+D的地å€"
+
+-#: cp/typeck.c:6598
++#: cp/typeck.c:6625
+ #, gcc-internal-format
+ msgid "returning a value from a destructor"
+ msgstr "æžæž„函数返回值"
+
+ #. If a return statement appears in a handler of the
+ #. function-try-block of a constructor, the program is ill-formed.
+-#: cp/typeck.c:6606
++#: cp/typeck.c:6633
+ #, gcc-internal-format
+ msgid "cannot return from a handler of a function-try-block of a constructor"
+ msgstr "ä¸èƒ½ä»Žæž„造函数的异常处ç†ä¸­è¿”回"
+
+ #. You can't return a value from a constructor.
+-#: cp/typeck.c:6609
++#: cp/typeck.c:6636
+ #, gcc-internal-format
+ msgid "returning a value from a constructor"
+ msgstr "构造函数返回值"
+
+-#: cp/typeck.c:6633
++#: cp/typeck.c:6661
+ #, gcc-internal-format
+ msgid "return-statement with no value, in function returning %qT"
+ msgstr "在返回%qT的函数中,返回语å¥ä¸å¸¦è¿”回值"
+
+-#: cp/typeck.c:6654
++#: cp/typeck.c:6682
+ #, gcc-internal-format
+ msgid "return-statement with a value, in function returning 'void'"
+ msgstr "在返回‘void’的函数中,返回语å¥å¸¦è¿”回值"
+
+-#: cp/typeck.c:6685
++#: cp/typeck.c:6713
+ #, gcc-internal-format
+ msgid "%<operator new%> must not return NULL unless it is declared %<throw()%> (or -fcheck-new is in effect)"
+ msgstr "%<operator new%>ä¸èƒ½è¿”回 NULL,除éžå®ƒè¢«å£°æ˜Žä¸º%<throw()%>(或 -fcheck-new 起作用)"
+@@ -32471,57 +32500,57 @@
+ msgid "pointer to member type %qT incompatible with object type %qT"
+ msgstr "æˆå‘˜æŒ‡é’ˆç±»åž‹%qT与对象类型%qTä¸å…¼å®¹"
+
+-#: cp/typeck2.c:1495
++#: cp/typeck2.c:1508
+ #, gcc-internal-format
+ msgid "call to function %qD which throws incomplete type %q#T"
+ msgstr "调用的函数%qD会抛出ä¸å®Œå…¨çš„类型%q#T"
+
+-#: cp/typeck2.c:1498
++#: cp/typeck2.c:1511
+ #, gcc-internal-format
+ msgid "call to function which throws incomplete type %q#T"
+ msgstr "调用的函数会抛出ä¸å®Œå…¨çš„类型%q#T"
+
+-#: fortran/f95-lang.c:233
++#: fortran/f95-lang.c:235
+ #, gcc-internal-format
+ msgid "Unexpected type in truthvalue_conversion"
+ msgstr "truthvalue_conversion 中类型éžé¢„期"
+
+-#: fortran/f95-lang.c:289
++#: fortran/f95-lang.c:291
+ #, gcc-internal-format
+ msgid "can't open input file: %s"
+ msgstr "ä¸èƒ½æ‰“开输入文件:%s"
+
+-#: fortran/f95-lang.c:629
++#: fortran/f95-lang.c:631
+ #, gcc-internal-format
+ msgid "global register variable %qs used in nested function"
+ msgstr "嵌套函数中使用了全局寄存器å˜é‡%qs"
+
+-#: fortran/f95-lang.c:633
++#: fortran/f95-lang.c:635
+ #, gcc-internal-format
+ msgid "register variable %qs used in nested function"
+ msgstr "嵌套函数中使用了寄存器å˜é‡%qs"
+
+-#: fortran/f95-lang.c:640
++#: fortran/f95-lang.c:642
+ #, gcc-internal-format
+ msgid "address of global register variable %qs requested"
+ msgstr "è¦æ±‚全局寄存器å˜é‡%qs的地å€"
+
+-#: fortran/f95-lang.c:658
++#: fortran/f95-lang.c:660
+ #, gcc-internal-format
+ msgid "address of register variable %qs requested"
+ msgstr "è¦æ±‚寄存器å˜é‡%qs的地å€"
+
+-#: fortran/trans-array.c:3765
++#: fortran/trans-array.c:3805
+ #, gcc-internal-format
+ msgid "Possible frontend bug: array constructor not expanded"
+ msgstr "å‰ç«¯å¯èƒ½çš„程åºç¼ºé™·ï¼šæ•°ç»„构造函数未能展开"
+
+-#: fortran/trans-array.c:5418
++#: fortran/trans-array.c:5499
+ #, gcc-internal-format
+ msgid "Possible frontend bug: Deferred array size without pointer, allocatable attribute or derived type without allocatable components."
+ msgstr "å¯èƒ½çš„å‰ç«¯ç¼ºé™·ï¼šæ领数组大å°æ—¶æ²¡æœ‰æŒ‡é’ˆã€å¯åˆ†é…属性或ä¸å¸¦å¯åˆ†é…组件的派生类型。"
+
+-#: fortran/trans-array.c:5894
++#: fortran/trans-array.c:5975
+ #, gcc-internal-format
+ msgid "bad expression type during walk (%d)"
+ msgstr "走过错误的表达å¼ç±»åž‹(%d)"
+@@ -32531,27 +32560,27 @@
+ msgid "gfc_conv_constant_to_tree(): invalid type: %s"
+ msgstr "gfc_conv_constant_to_tree():无效类型;%s"
+
+-#: fortran/trans-decl.c:966
++#: fortran/trans-decl.c:972
+ #, gcc-internal-format
+ msgid "intrinsic variable which isn't a procedure"
+ msgstr "内建函数å˜é‡ä¸æ˜¯ä¸€ä¸ªè¿‡ç¨‹"
+
+-#: fortran/trans-decl.c:2639
++#: fortran/trans-decl.c:2644
+ #, gcc-internal-format
+ msgid "Function does not return a value"
+ msgstr "函数没有返回一个值"
+
+-#: fortran/trans-decl.c:2817
++#: fortran/trans-decl.c:2832
+ #, gcc-internal-format
+ msgid "backend decl for module variable %s already exists"
+ msgstr "模å—å˜é‡ %s çš„åŽç«¯å£°æ˜Žå·²å­˜åœ¨"
+
+-#: fortran/trans-decl.c:3351
++#: fortran/trans-decl.c:3314
+ #, gcc-internal-format
+ msgid "Function return value not set"
+ msgstr "未设定函数返回值"
+
+-#: fortran/trans-expr.c:1163
++#: fortran/trans-expr.c:1177
+ #, gcc-internal-format
+ msgid "Unknown intrinsic op"
+ msgstr "未知的内建æ“作"
+@@ -32561,32 +32590,32 @@
+ msgid "Intrinsic function %s(%d) not recognized"
+ msgstr "内部函数 %s(%d) 无法识别"
+
+-#: fortran/trans-io.c:1928
++#: fortran/trans-io.c:1929
+ #, gcc-internal-format
+ msgid "Bad IO basetype (%d)"
+ msgstr "错误的 IO 基类型(%d)"
+
+-#: fortran/trans-types.c:386
++#: fortran/trans-types.c:387
+ #, gcc-internal-format
+ msgid "integer kind=8 not available for -fdefault-integer-8 option"
+ msgstr "integer kind=8 在指定了 -fdefault-integer-8 选项时ä¸å¯ç”¨"
+
+-#: fortran/trans-types.c:409
++#: fortran/trans-types.c:410
+ #, gcc-internal-format
+ msgid "real kind=8 not available for -fdefault-real-8 option"
+ msgstr "real kind=8 在指定了 -fdefault-real-8 选项时ä¸å¯ç”¨"
+
+-#: fortran/trans-types.c:422
++#: fortran/trans-types.c:423
+ #, gcc-internal-format
+ msgid "Use of -fdefault-double-8 requires -fdefault-real-8"
+ msgstr "使用 -fdefault-double-8 æ—¶éœ€è¦ -fdefault-real-8"
+
+-#: fortran/trans-types.c:1181
++#: fortran/trans-types.c:1185
+ #, gcc-internal-format
+ msgid "Array element size too big"
+ msgstr "数组元素太大"
+
+-#: fortran/trans.c:1150
++#: fortran/trans.c:1151
+ #, gcc-internal-format
+ msgid "gfc_trans_code(): Bad statement code"
+ msgstr "gfc_trans_code():错误的语å¥ä»£ç "
+@@ -32646,88 +32675,88 @@
+ msgid "need to insert runtime check for %s"
+ msgstr "需è¦ä¸º %s 加入è¿è¡Œæ—¶æ£€æŸ¥"
+
+-#: java/expr.c:505 java/expr.c:552
++#: java/expr.c:524 java/expr.c:571
+ #, gcc-internal-format
+ msgid "assert: %s is assign compatible with %s"
+ msgstr "assert:%s 与 %s 赋值兼容"
+
+-#: java/expr.c:670
++#: java/expr.c:689
+ #, gcc-internal-format
+ msgid "stack underflow - dup* operation"
+ msgstr "堆栈下溢 - dup* æ“作"
+
+-#: java/expr.c:1657
++#: java/expr.c:1676
+ #, gcc-internal-format
+ msgid "reference %qs is ambiguous: appears in interface %qs and interface %qs"
+ msgstr "引用%qs有歧义:出现在接å£%qs和接å£%qs中"
+
+-#: java/expr.c:1685
++#: java/expr.c:1704
+ #, gcc-internal-format
+ msgid "field %qs not found"
+ msgstr "找ä¸åˆ°å­—段%qs。"
+
+-#: java/expr.c:2224
++#: java/expr.c:2243
+ #, gcc-internal-format
+ msgid "method '%s' not found in class"
+ msgstr "在类中找ä¸åˆ°æ–¹æ³•â€˜%s’"
+
+-#: java/expr.c:2429
++#: java/expr.c:2448
+ #, gcc-internal-format
+ msgid "failed to find class '%s'"
+ msgstr "找ä¸åˆ°ç±»â€˜%s’"
+
+-#: java/expr.c:2470
++#: java/expr.c:2489
+ #, gcc-internal-format
+ msgid "class '%s' has no method named '%s' matching signature '%s'"
+ msgstr "类‘%s’没有å为‘%s’的方法能够匹é…签字‘%s’"
+
+-#: java/expr.c:2501
++#: java/expr.c:2520
+ #, gcc-internal-format
+ msgid "invokestatic on non static method"
+ msgstr "é™æ€è°ƒç”¨éžé™æ€æ–¹æ³•"
+
+-#: java/expr.c:2506
++#: java/expr.c:2525
+ #, gcc-internal-format
+ msgid "invokestatic on abstract method"
+ msgstr "为纯虚方法调用 invokestatic"
+
+-#: java/expr.c:2514
++#: java/expr.c:2533
+ #, gcc-internal-format
+ msgid "invoke[non-static] on static method"
+ msgstr "éžé™æ€åœ°è°ƒç”¨é™æ€æ–¹æ³•"
+
+-#: java/expr.c:2865
++#: java/expr.c:2890
+ #, gcc-internal-format
+ msgid "missing field '%s' in '%s'"
+ msgstr "缺少字段‘%s’,在‘%s’中"
+
+-#: java/expr.c:2872
++#: java/expr.c:2897
+ #, gcc-internal-format
+ msgid "mismatching signature for field '%s' in '%s'"
+ msgstr "ä¸åŒ¹é…的字段签å‘%s’(在 ‘%s’中)"
+
+-#: java/expr.c:2901
++#: java/expr.c:2926
+ #, gcc-internal-format
+ msgid "assignment to final field %q+D not in field's class"
+ msgstr "对 final 字段%q+D的赋值出现在该字段所属类以外"
+
+-#: java/expr.c:3123
++#: java/expr.c:3148
+ #, gcc-internal-format
+ msgid "invalid PC in line number table"
+ msgstr "è¡Œå·è¡¨ä¸­ PC 无效"
+
+-#: java/expr.c:3173
++#: java/expr.c:3198
+ #, gcc-internal-format
+ msgid "unreachable bytecode from %d to before %d"
+ msgstr "ä¸ä¼šæ‰§è¡Œåˆ°çš„字节ç ï¼Œä»Ž %d 到 %d 之å‰"
+
+-#: java/expr.c:3217
++#: java/expr.c:3242
+ #, gcc-internal-format
+ msgid "unreachable bytecode from %d to the end of the method"
+ msgstr "ä¸ä¼šæ‰§è¡Œåˆ°çš„字节ç ï¼Œä»Ž %d 直到方法末尾"
+
+ #. duplicate code from LOAD macro
+-#: java/expr.c:3522
++#: java/expr.c:3547
+ #, gcc-internal-format
+ msgid "unrecogized wide sub-instruction"
+ msgstr "无法识别的宽å­æŒ‡ä»¤"
+@@ -32793,27 +32822,27 @@
+ msgid "%Hduplicate class will only be compiled once"
+ msgstr "%Hé‡å¤çš„ç±»åªä¼šè¢«ç¼–译一次"
+
+-#: java/jcf-parse.c:1636
++#: java/jcf-parse.c:1638
+ #, gcc-internal-format
+ msgid "missing Code attribute"
+ msgstr "缺少 Code 属性"
+
+-#: java/jcf-parse.c:1858
++#: java/jcf-parse.c:1860
+ #, gcc-internal-format
+ msgid "no input file specified"
+ msgstr "没有指定输入文件"
+
+-#: java/jcf-parse.c:1893
++#: java/jcf-parse.c:1895
+ #, gcc-internal-format
+ msgid "can't close input file %s: %m"
+ msgstr "ä¸èƒ½å…³é—­è¾“入文件 %s:%m"
+
+-#: java/jcf-parse.c:1940
++#: java/jcf-parse.c:1942
+ #, gcc-internal-format
+ msgid "bad zip/jar file %s"
+ msgstr "æŸåçš„ zip/jar 文件 %s"
+
+-#: java/jcf-parse.c:2145
++#: java/jcf-parse.c:2152
+ #, gcc-internal-format
+ msgid "error while reading %s from zip file"
+ msgstr "从 zip æ–‡ä»¶è¯»å– %s 时出错"
+@@ -32823,22 +32852,22 @@
+ msgid "warning: already-compiled .class files ignored with -C"
+ msgstr "警告:-C 忽略已ç»ç¼–译的 .class 文件"
+
+-#: java/lang.c:590
++#: java/lang.c:594
+ #, gcc-internal-format
+ msgid "-findirect-dispatch is incompatible with -freduced-reflection"
+ msgstr "-findirect-dispatch 与 -freduced-reflection ä¸å…¼å®¹"
+
+-#: java/lang.c:593
++#: java/lang.c:597
+ #, gcc-internal-format
+ msgid "-fjni is incompatible with -freduced-reflection"
+ msgstr "-fjni 与 -freduced-reflection ä¸å…¼å®¹"
+
+-#: java/lang.c:604
++#: java/lang.c:608
+ #, gcc-internal-format
+ msgid "can't do dependency tracking with input from stdin"
+ msgstr "从标准输入输入时无法进行ä¾èµ–项跟踪"
+
+-#: java/lang.c:620
++#: java/lang.c:624
+ #, gcc-internal-format
+ msgid "couldn't determine target name for dependency tracking"
+ msgstr "ä¸èƒ½ç¡®å®šä¾èµ–项跟踪的目标å"
+@@ -32906,7 +32935,7 @@
+ #: objc/objc-act.c:1193
+ #, gcc-internal-format
+ msgid "passing argument %d of %qE from distinct Objective-C type"
+-msgstr "从ä¸åŒçš„ Objective-C 类型传递å‚æ•° %d (属于%qE)"
++msgstr "从ä¸åŒçš„ Objective-C 类型传递%2$qE的第 %1$d 个å‚æ•°"
+
+ #: objc/objc-act.c:1348
+ #, gcc-internal-format
+Index: gcc/tree-ssa-forwprop.c
+===================================================================
+--- gcc/tree-ssa-forwprop.c (.../tags/gcc_4_3_0_release) (revision 133808)
++++ gcc/tree-ssa-forwprop.c (.../branches/gcc-4_3-branch) (revision 133808)
+@@ -546,68 +546,99 @@
+ bool single_use_p)
+ {
+ tree lhs, rhs, array_ref;
++ tree *rhsp, *lhsp;
+
+- /* Strip away any outer COMPONENT_REF/ARRAY_REF nodes from the LHS.
+- ADDR_EXPR will not appear on the LHS. */
++ gcc_assert (TREE_CODE (def_rhs) == ADDR_EXPR);
++
+ lhs = GIMPLE_STMT_OPERAND (use_stmt, 0);
+- while (handled_component_p (lhs))
+- lhs = TREE_OPERAND (lhs, 0);
+-
+ rhs = GIMPLE_STMT_OPERAND (use_stmt, 1);
+
+- /* Now see if the LHS node is an INDIRECT_REF using NAME. If so,
+- propagate the ADDR_EXPR into the use of NAME and fold the result. */
+- if (TREE_CODE (lhs) == INDIRECT_REF && TREE_OPERAND (lhs, 0) == name)
+- {
+- /* This should always succeed in creating gimple, so there is
+- no need to save enough state to undo this propagation. */
+- TREE_OPERAND (lhs, 0) = unshare_expr (def_rhs);
+- fold_stmt_inplace (use_stmt);
+- tidy_after_forward_propagate_addr (use_stmt);
+-
+- /* Continue propagating into the RHS. */
+- }
+-
+ /* Trivial cases. The use statement could be a trivial copy or a
+ useless conversion. Recurse to the uses of the lhs as copyprop does
+- not copy through differen variant pointers and FRE does not catch
++ not copy through different variant pointers and FRE does not catch
+ all useless conversions. Treat the case of a single-use name and
+ a conversion to def_rhs type separate, though. */
+- else if (TREE_CODE (lhs) == SSA_NAME
+- && (TREE_CODE (rhs) == NOP_EXPR
+- || TREE_CODE (rhs) == CONVERT_EXPR)
+- && TREE_TYPE (rhs) == TREE_TYPE (def_rhs)
+- && single_use_p)
++ if (TREE_CODE (lhs) == SSA_NAME
++ && (rhs == name
++ || TREE_CODE (rhs) == NOP_EXPR
++ || TREE_CODE (rhs) == CONVERT_EXPR)
++ && useless_type_conversion_p (TREE_TYPE (rhs), TREE_TYPE (def_rhs)))
+ {
++ /* Only recurse if we don't deal with a single use. */
++ if (!single_use_p)
++ return forward_propagate_addr_expr (lhs, def_rhs);
++
+ GIMPLE_STMT_OPERAND (use_stmt, 1) = unshare_expr (def_rhs);
+ return true;
+ }
+- else if ((TREE_CODE (lhs) == SSA_NAME
+- && rhs == name)
+- || ((TREE_CODE (rhs) == NOP_EXPR
+- || TREE_CODE (rhs) == CONVERT_EXPR)
+- && useless_type_conversion_p (TREE_TYPE (rhs),
+- TREE_TYPE (def_rhs))))
+- return forward_propagate_addr_expr (lhs, def_rhs);
+
++ /* Now strip away any outer COMPONENT_REF/ARRAY_REF nodes from the LHS.
++ ADDR_EXPR will not appear on the LHS. */
++ lhsp = &GIMPLE_STMT_OPERAND (use_stmt, 0);
++ while (handled_component_p (*lhsp))
++ lhsp = &TREE_OPERAND (*lhsp, 0);
++ lhs = *lhsp;
++
++ /* Now see if the LHS node is an INDIRECT_REF using NAME. If so,
++ propagate the ADDR_EXPR into the use of NAME and fold the result. */
++ if (TREE_CODE (lhs) == INDIRECT_REF
++ && TREE_OPERAND (lhs, 0) == name
++ /* This will not allow stripping const qualification from
++ pointers which we want to allow specifically here to clean up
++ the IL for initialization of constant objects. */
++ && (useless_type_conversion_p (TREE_TYPE (TREE_OPERAND (lhs, 0)),
++ TREE_TYPE (def_rhs))
++ /* So explicitly check for this here. */
++ || (TYPE_QUALS (TREE_TYPE (TREE_TYPE (TREE_OPERAND (lhs, 0))))
++ ^ TYPE_QUALS (TREE_TYPE (TREE_TYPE (def_rhs)))) == TYPE_QUAL_CONST)
++ /* ??? This looks redundant, but is required for bogus types
++ that can sometimes occur. */
++ && useless_type_conversion_p (TREE_TYPE (lhs),
++ TREE_TYPE (TREE_OPERAND (def_rhs, 0))))
++ {
++ *lhsp = unshare_expr (TREE_OPERAND (def_rhs, 0));
++ fold_stmt_inplace (use_stmt);
++ tidy_after_forward_propagate_addr (use_stmt);
++
++ /* Continue propagating into the RHS if this was not the only use. */
++ if (single_use_p)
++ return true;
++ }
++
+ /* Strip away any outer COMPONENT_REF, ARRAY_REF or ADDR_EXPR
+ nodes from the RHS. */
+- while (handled_component_p (rhs)
+- || TREE_CODE (rhs) == ADDR_EXPR)
+- rhs = TREE_OPERAND (rhs, 0);
++ rhsp = &GIMPLE_STMT_OPERAND (use_stmt, 1);
++ while (handled_component_p (*rhsp)
++ || TREE_CODE (*rhsp) == ADDR_EXPR)
++ rhsp = &TREE_OPERAND (*rhsp, 0);
++ rhs = *rhsp;
+
+ /* Now see if the RHS node is an INDIRECT_REF using NAME. If so,
+ propagate the ADDR_EXPR into the use of NAME and fold the result. */
+- if (TREE_CODE (rhs) == INDIRECT_REF && TREE_OPERAND (rhs, 0) == name)
++ if (TREE_CODE (rhs) == INDIRECT_REF
++ && TREE_OPERAND (rhs, 0) == name
++ /* ??? This doesn't allow stripping const qualification to
++ streamline the IL for reads from non-constant objects. */
++ && (useless_type_conversion_p (TREE_TYPE (TREE_OPERAND (rhs, 0)),
++ TREE_TYPE (def_rhs))
++ /* So explicitly check for this here. */
++ || (TYPE_QUALS (TREE_TYPE (TREE_TYPE (TREE_OPERAND (rhs, 0))))
++ ^ TYPE_QUALS (TREE_TYPE (TREE_TYPE (def_rhs)))) == TYPE_QUAL_CONST)
++ && useless_type_conversion_p (TREE_TYPE (rhs),
++ TREE_TYPE (TREE_OPERAND (def_rhs, 0))))
+ {
+- /* This should always succeed in creating gimple, so there is
+- no need to save enough state to undo this propagation. */
+- TREE_OPERAND (rhs, 0) = unshare_expr (def_rhs);
++ *rhsp = unshare_expr (TREE_OPERAND (def_rhs, 0));
+ fold_stmt_inplace (use_stmt);
+ tidy_after_forward_propagate_addr (use_stmt);
+ return true;
+ }
+
++ /* If the use of the ADDR_EXPR is not a POINTER_PLUS_EXPR, there
++ is nothing to do. */
++ if (TREE_CODE (rhs) != POINTER_PLUS_EXPR
++ || TREE_OPERAND (rhs, 0) != name)
++ return false;
++
+ /* The remaining cases are all for turning pointer arithmetic into
+ array indexing. They only apply when we have the address of
+ element zero in an array. If that is not the case then there
+@@ -618,15 +649,9 @@
+ || !integer_zerop (TREE_OPERAND (array_ref, 1)))
+ return false;
+
+- /* If the use of the ADDR_EXPR is not a POINTER_PLUS_EXPR, there
+- is nothing to do. */
+- if (TREE_CODE (rhs) != POINTER_PLUS_EXPR)
+- return false;
+-
+ /* Try to optimize &x[0] p+ C where C is a multiple of the size
+ of the elements in X into &x[C/element size]. */
+- if (TREE_OPERAND (rhs, 0) == name
+- && TREE_CODE (TREE_OPERAND (rhs, 1)) == INTEGER_CST)
++ if (TREE_CODE (TREE_OPERAND (rhs, 1)) == INTEGER_CST)
+ {
+ tree orig = unshare_expr (rhs);
+ TREE_OPERAND (rhs, 0) = unshare_expr (def_rhs);
+@@ -651,8 +676,7 @@
+ converting a multiplication of an index by the size of the
+ array elements, then the result is converted into the proper
+ type for the arithmetic. */
+- if (TREE_OPERAND (rhs, 0) == name
+- && TREE_CODE (TREE_OPERAND (rhs, 1)) == SSA_NAME
++ if (TREE_CODE (TREE_OPERAND (rhs, 1)) == SSA_NAME
+ /* Avoid problems with IVopts creating PLUS_EXPRs with a
+ different type than their operands. */
+ && useless_type_conversion_p (TREE_TYPE (rhs), TREE_TYPE (name)))
+@@ -956,18 +980,14 @@
+ }
+
+ if (TREE_CODE (rhs) == ADDR_EXPR
+- /* We can also disregard changes in const qualifiers for
+- the dereferenced value. */
++ /* Handle pointer conversions on invariant addresses
++ as well, as this is valid gimple. */
+ || ((TREE_CODE (rhs) == NOP_EXPR
+ || TREE_CODE (rhs) == CONVERT_EXPR)
+ && TREE_CODE (TREE_OPERAND (rhs, 0)) == ADDR_EXPR
+- && POINTER_TYPE_P (TREE_TYPE (rhs))
+- /* But do not propagate changes in volatileness. */
+- && (TYPE_VOLATILE (TREE_TYPE (TREE_TYPE (rhs)))
+- == TYPE_VOLATILE (TREE_TYPE (TREE_TYPE (TREE_OPERAND (rhs, 0)))))
+- && types_compatible_p (TREE_TYPE (TREE_TYPE (TREE_OPERAND (rhs, 0))),
+- TREE_TYPE (TREE_TYPE (rhs)))))
++ && POINTER_TYPE_P (TREE_TYPE (rhs))))
+ {
++ STRIP_NOPS (rhs);
+ if (!stmt_references_abnormal_ssa_name (stmt)
+ && forward_propagate_addr_expr (lhs, rhs))
+ {
+Index: gcc/tree-ssa.c
+===================================================================
+--- gcc/tree-ssa.c (.../tags/gcc_4_3_0_release) (revision 133808)
++++ gcc/tree-ssa.c (.../branches/gcc-4_3-branch) (revision 133808)
+@@ -1294,13 +1294,19 @@
+
+ TREE_NO_WARNING (var) = 1;
+ }
+-
++
++struct walk_data {
++ tree stmt;
++ bool always_executed;
++};
++
+ /* Called via walk_tree, look for SSA_NAMEs that have empty definitions
+ and warn about them. */
+
+ static tree
+-warn_uninitialized_var (tree *tp, int *walk_subtrees, void *data)
++warn_uninitialized_var (tree *tp, int *walk_subtrees, void *data_)
+ {
++ struct walk_data *data = (struct walk_data *)data_;
+ tree t = *tp;
+
+ switch (TREE_CODE (t))
+@@ -1308,7 +1314,12 @@
+ case SSA_NAME:
+ /* We only do data flow with SSA_NAMEs, so that's all we
+ can warn about. */
+- warn_uninit (t, "%H%qD is used uninitialized in this function", data);
++ if (data->always_executed)
++ warn_uninit (t, "%H%qD is used uninitialized in this function",
++ data->stmt);
++ else
++ warn_uninit (t, "%H%qD may be used uninitialized in this function",
++ data->stmt);
+ *walk_subtrees = 0;
+ break;
+
+@@ -1356,14 +1367,21 @@
+ {
+ block_stmt_iterator bsi;
+ basic_block bb;
++ struct walk_data data;
+
++ calculate_dominance_info (CDI_POST_DOMINATORS);
++
+ FOR_EACH_BB (bb)
+- for (bsi = bsi_start (bb); !bsi_end_p (bsi); bsi_next (&bsi))
+- {
+- tree context = bsi_stmt (bsi);
+- walk_tree (bsi_stmt_ptr (bsi), warn_uninitialized_var,
+- context, NULL);
+- }
++ {
++ data.always_executed = dominated_by_p (CDI_POST_DOMINATORS,
++ single_succ (ENTRY_BLOCK_PTR), bb);
++ for (bsi = bsi_start (bb); !bsi_end_p (bsi); bsi_next (&bsi))
++ {
++ data.stmt = bsi_stmt (bsi);
++ walk_tree (bsi_stmt_ptr (bsi), warn_uninitialized_var,
++ &data, NULL);
++ }
++ }
+ return 0;
+ }
+
+Index: gcc/Makefile.in
+===================================================================
+--- gcc/Makefile.in (.../tags/gcc_4_3_0_release) (revision 133808)
++++ gcc/Makefile.in (.../branches/gcc-4_3-branch) (revision 133808)
+@@ -3632,7 +3632,7 @@
+ TEXI_GCC_FILES = gcc.texi gcc-common.texi gcc-vers.texi frontends.texi \
+ standards.texi invoke.texi extend.texi md.texi objc.texi \
+ gcov.texi trouble.texi bugreport.texi service.texi \
+- contribute.texi compat.texi funding.texi gnu.texi gpl.texi \
++ contribute.texi compat.texi funding.texi gnu.texi gpl_v3.texi \
+ fdl.texi contrib.texi cppenv.texi cppopts.texi \
+ implement-c.texi arm-neon-intrinsics.texi
+
+@@ -3641,7 +3641,7 @@
+ portability.texi interface.texi passes.texi c-tree.texi \
+ rtl.texi md.texi tm.texi hostconfig.texi fragments.texi \
+ configfiles.texi collect2.texi headerdirs.texi funding.texi \
+- gnu.texi gpl.texi fdl.texi contrib.texi languages.texi \
++ gnu.texi gpl_v3.texi fdl.texi contrib.texi languages.texi \
+ sourcebuild.texi gty.texi libgcc.texi cfg.texi tree-ssa.texi \
+ loop.texi
+
+@@ -3792,6 +3792,9 @@
+ fsf-funding.pod: funding.texi
+ $(STAMP) $@
+ -$(TEXI2POD) $< > $@
++gpl.pod: gpl_v3.texi
++ $(STAMP) $@
++ -$(TEXI2POD) $< > $@
+
+ #
+ # Deletion of files made during compilation.
+Index: gcc/tree-cfg.c
+===================================================================
+--- gcc/tree-cfg.c (.../tags/gcc_4_3_0_release) (revision 133808)
++++ gcc/tree-cfg.c (.../branches/gcc-4_3-branch) (revision 133808)
+@@ -5893,6 +5893,8 @@
+ m->base.from = decl;
+ m->to = create_artificial_label ();
+ LABEL_DECL_UID (m->to) = LABEL_DECL_UID (decl);
++ if (LABEL_DECL_UID (m->to) >= cfun->last_label_uid)
++ cfun->last_label_uid = LABEL_DECL_UID (m->to) + 1;
+
+ slot = htab_find_slot_with_hash (hash, m, m->hash, INSERT);
+ gcc_assert (*slot == NULL);
+Index: gcc/c-parser.c
+===================================================================
+--- gcc/c-parser.c (.../tags/gcc_4_3_0_release) (revision 133808)
++++ gcc/c-parser.c (.../branches/gcc-4_3-branch) (revision 133808)
+@@ -1,6 +1,7 @@
+ /* Parser for C and Objective-C.
+ Copyright (C) 1987, 1988, 1989, 1992, 1993, 1994, 1995, 1996, 1997, 1998,
+- 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2007 Free Software Foundation, Inc.
++ 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2007, 2008
++ Free Software Foundation, Inc.
+
+ Parser actions based on the old Bison parser; structure somewhat
+ influenced by and fragments based on the C++ parser.
+@@ -7964,10 +7965,14 @@
+
+ /* If V had already been marked threadprivate, it doesn't matter
+ whether it had been used prior to this point. */
+- if (TREE_USED (v) && !C_DECL_THREADPRIVATE_P (v))
++ if (TREE_CODE (v) != VAR_DECL)
++ error ("%qD is not a variable", v);
++ else if (TREE_USED (v) && !C_DECL_THREADPRIVATE_P (v))
+ error ("%qE declared %<threadprivate%> after first use", v);
+ else if (! TREE_STATIC (v) && ! DECL_EXTERNAL (v))
+ error ("automatic variable %qE cannot be %<threadprivate%>", v);
++ else if (TREE_TYPE (v) == error_mark_node)
++ ;
+ else if (! COMPLETE_TYPE_P (TREE_TYPE (v)))
+ error ("%<threadprivate%> %qE has incomplete type", v);
+ else
+Index: gcc/config/i386/bmmintrin.h
+===================================================================
+--- gcc/config/i386/bmmintrin.h (.../tags/gcc_4_3_0_release) (revision 133808)
++++ gcc/config/i386/bmmintrin.h (.../branches/gcc-4_3-branch) (revision 133808)
+@@ -36,286 +36,286 @@
+ #include <mmintrin-common.h>
+
+ /* Floating point multiply/add type instructions */
+-static __inline __m128 __attribute__((__always_inline__, __artificial__))
++extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_macc_ps(__m128 __A, __m128 __B, __m128 __C)
+ {
+ return (__m128) __builtin_ia32_fmaddps ((__v4sf)__A, (__v4sf)__B, (__v4sf)__C);
+ }
+
+-static __inline __m128d __attribute__((__always_inline__, __artificial__))
++extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_macc_pd(__m128d __A, __m128d __B, __m128d __C)
+ {
+ return (__m128d) __builtin_ia32_fmaddpd ((__v2df)__A, (__v2df)__B, (__v2df)__C);
+ }
+
+-static __inline __m128 __attribute__((__always_inline__, __artificial__))
++extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_macc_ss(__m128 __A, __m128 __B, __m128 __C)
+ {
+ return (__m128) __builtin_ia32_fmaddss ((__v4sf)__A, (__v4sf)__B, (__v4sf)__C);
+ }
+
+-static __inline __m128d __attribute__((__always_inline__, __artificial__))
++extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_macc_sd(__m128d __A, __m128d __B, __m128d __C)
+ {
+ return (__m128d) __builtin_ia32_fmaddsd ((__v2df)__A, (__v2df)__B, (__v2df)__C);
+ }
+
+-static __inline __m128 __attribute__((__always_inline__, __artificial__))
++extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_msub_ps(__m128 __A, __m128 __B, __m128 __C)
+ {
+ return (__m128) __builtin_ia32_fmsubps ((__v4sf)__A, (__v4sf)__B, (__v4sf)__C);
+ }
+
+-static __inline __m128d __attribute__((__always_inline__, __artificial__))
++extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_msub_pd(__m128d __A, __m128d __B, __m128d __C)
+ {
+ return (__m128d) __builtin_ia32_fmsubpd ((__v2df)__A, (__v2df)__B, (__v2df)__C);
+ }
+
+-static __inline __m128 __attribute__((__always_inline__, __artificial__))
++extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_msub_ss(__m128 __A, __m128 __B, __m128 __C)
+ {
+ return (__m128) __builtin_ia32_fmsubss ((__v4sf)__A, (__v4sf)__B, (__v4sf)__C);
+ }
+
+-static __inline __m128d __attribute__((__always_inline__, __artificial__))
++extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_msub_sd(__m128d __A, __m128d __B, __m128d __C)
+ {
+ return (__m128d) __builtin_ia32_fmsubsd ((__v2df)__A, (__v2df)__B, (__v2df)__C);
+ }
+
+-static __inline __m128 __attribute__((__always_inline__, __artificial__))
++extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_nmacc_ps(__m128 __A, __m128 __B, __m128 __C)
+ {
+ return (__m128) __builtin_ia32_fnmaddps ((__v4sf)__A, (__v4sf)__B, (__v4sf)__C);
+ }
+
+-static __inline __m128d __attribute__((__always_inline__, __artificial__))
++extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_nmacc_pd(__m128d __A, __m128d __B, __m128d __C)
+ {
+ return (__m128d) __builtin_ia32_fnmaddpd ((__v2df)__A, (__v2df)__B, (__v2df)__C);
+ }
+
+-static __inline __m128 __attribute__((__always_inline__, __artificial__))
++extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_nmacc_ss(__m128 __A, __m128 __B, __m128 __C)
+ {
+ return (__m128) __builtin_ia32_fnmaddss ((__v4sf)__A, (__v4sf)__B, (__v4sf)__C);
+ }
+
+-static __inline __m128d __attribute__((__always_inline__, __artificial__))
++extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_nmacc_sd(__m128d __A, __m128d __B, __m128d __C)
+ {
+ return (__m128d) __builtin_ia32_fnmaddsd ((__v2df)__A, (__v2df)__B, (__v2df)__C);
+ }
+
+-static __inline __m128 __attribute__((__always_inline__, __artificial__))
++extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_nmsub_ps(__m128 __A, __m128 __B, __m128 __C)
+ {
+ return (__m128) __builtin_ia32_fnmsubps ((__v4sf)__A, (__v4sf)__B, (__v4sf)__C);
+ }
+
+-static __inline __m128d __attribute__((__always_inline__, __artificial__))
++extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_nmsub_pd(__m128d __A, __m128d __B, __m128d __C)
+ {
+ return (__m128d) __builtin_ia32_fnmsubpd ((__v2df)__A, (__v2df)__B, (__v2df)__C);
+ }
+
+-static __inline __m128 __attribute__((__always_inline__, __artificial__))
++extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_nmsub_ss(__m128 __A, __m128 __B, __m128 __C)
+ {
+ return (__m128) __builtin_ia32_fnmsubss ((__v4sf)__A, (__v4sf)__B, (__v4sf)__C);
+ }
+
+-static __inline __m128d __attribute__((__always_inline__, __artificial__))
++extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_nmsub_sd(__m128d __A, __m128d __B, __m128d __C)
+ {
+ return (__m128d) __builtin_ia32_fnmsubsd ((__v2df)__A, (__v2df)__B, (__v2df)__C);
+ }
+
+ /* Integer multiply/add intructions. */
+-static __inline __m128i __attribute__((__always_inline__, __artificial__))
++extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_maccs_epi16(__m128i __A, __m128i __B, __m128i __C)
+ {
+ return (__m128i) __builtin_ia32_pmacssww ((__v8hi)__A,(__v8hi)__B, (__v8hi)__C);
+ }
+
+-static __inline __m128i __attribute__((__always_inline__, __artificial__))
++extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_macc_epi16(__m128i __A, __m128i __B, __m128i __C)
+ {
+ return (__m128i) __builtin_ia32_pmacsww ((__v8hi)__A, (__v8hi)__B, (__v8hi)__C);
+ }
+
+-static __inline __m128i __attribute__((__always_inline__, __artificial__))
++extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_maccsd_epi16(__m128i __A, __m128i __B, __m128i __C)
+ {
+ return (__m128i) __builtin_ia32_pmacsswd ((__v8hi)__A, (__v8hi)__B, (__v4si)__C);
+ }
+
+-static __inline __m128i __attribute__((__always_inline__, __artificial__))
++extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_maccd_epi16(__m128i __A, __m128i __B, __m128i __C)
+ {
+ return (__m128i) __builtin_ia32_pmacswd ((__v8hi)__A, (__v8hi)__B, (__v4si)__C);
+ }
+
+-static __inline __m128i __attribute__((__always_inline__, __artificial__))
++extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_maccs_epi32(__m128i __A, __m128i __B, __m128i __C)
+ {
+ return (__m128i) __builtin_ia32_pmacssdd ((__v4si)__A, (__v4si)__B, (__v4si)__C);
+ }
+
+-static __inline __m128i __attribute__((__always_inline__, __artificial__))
++extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_macc_epi32(__m128i __A, __m128i __B, __m128i __C)
+ {
+ return (__m128i) __builtin_ia32_pmacsdd ((__v4si)__A, (__v4si)__B, (__v4si)__C);
+ }
+
+-static __inline __m128i __attribute__((__always_inline__, __artificial__))
++extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_maccslo_epi32(__m128i __A, __m128i __B, __m128i __C)
+ {
+ return (__m128i) __builtin_ia32_pmacssdql ((__v4si)__A, (__v4si)__B, (__v2di)__C);
+ }
+
+-static __inline __m128i __attribute__((__always_inline__, __artificial__))
++extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_macclo_epi32(__m128i __A, __m128i __B, __m128i __C)
+ {
+ return (__m128i) __builtin_ia32_pmacsdql ((__v4si)__A, (__v4si)__B, (__v2di)__C);
+ }
+
+-static __inline __m128i __attribute__((__always_inline__, __artificial__))
++extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_maccshi_epi32(__m128i __A, __m128i __B, __m128i __C)
+ {
+ return (__m128i) __builtin_ia32_pmacssdqh ((__v4si)__A, (__v4si)__B, (__v2di)__C);
+ }
+
+-static __inline __m128i __attribute__((__always_inline__, __artificial__))
++extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_macchi_epi32(__m128i __A, __m128i __B, __m128i __C)
+ {
+ return (__m128i) __builtin_ia32_pmacsdqh ((__v4si)__A, (__v4si)__B, (__v2di)__C);
+ }
+
+-static __inline __m128i __attribute__((__always_inline__, __artificial__))
++extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_maddsd_epi16(__m128i __A, __m128i __B, __m128i __C)
+ {
+ return (__m128i) __builtin_ia32_pmadcsswd ((__v8hi)__A,(__v8hi)__B,(__v4si)__C);
+ }
+
+-static __inline __m128i __attribute__((__always_inline__, __artificial__))
++extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_maddd_epi16(__m128i __A, __m128i __B, __m128i __C)
+ {
+ return (__m128i) __builtin_ia32_pmadcswd ((__v8hi)__A,(__v8hi)__B,(__v4si)__C);
+ }
+
+ /* Packed Integer Horizontal Add and Subtract */
+-static __inline __m128i __attribute__((__always_inline__, __artificial__))
++extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_haddw_epi8(__m128i __A)
+ {
+ return (__m128i) __builtin_ia32_phaddbw ((__v16qi)__A);
+ }
+
+-static __inline __m128i __attribute__((__always_inline__, __artificial__))
++extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_haddd_epi8(__m128i __A)
+ {
+ return (__m128i) __builtin_ia32_phaddbd ((__v16qi)__A);
+ }
+
+-static __inline __m128i __attribute__((__always_inline__, __artificial__))
++extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_haddq_epi8(__m128i __A)
+ {
+ return (__m128i) __builtin_ia32_phaddbq ((__v16qi)__A);
+ }
+
+-static __inline __m128i __attribute__((__always_inline__, __artificial__))
++extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_haddd_epi16(__m128i __A)
+ {
+ return (__m128i) __builtin_ia32_phaddwd ((__v8hi)__A);
+ }
+
+-static __inline __m128i __attribute__((__always_inline__, __artificial__))
++extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_haddq_epi16(__m128i __A)
+ {
+ return (__m128i) __builtin_ia32_phaddwq ((__v8hi)__A);
+ }
+
+-static __inline __m128i __attribute__((__always_inline__, __artificial__))
++extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_haddq_epi32(__m128i __A)
+ {
+ return (__m128i) __builtin_ia32_phadddq ((__v4si)__A);
+ }
+
+-static __inline __m128i __attribute__((__always_inline__, __artificial__))
++extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_haddw_epu8(__m128i __A)
+ {
+ return (__m128i) __builtin_ia32_phaddubw ((__v16qi)__A);
+ }
+
+-static __inline __m128i __attribute__((__always_inline__, __artificial__))
++extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_haddd_epu8(__m128i __A)
+ {
+ return (__m128i) __builtin_ia32_phaddubd ((__v16qi)__A);
+ }
+
+-static __inline __m128i __attribute__((__always_inline__, __artificial__))
++extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_haddq_epu8(__m128i __A)
+ {
+ return (__m128i) __builtin_ia32_phaddubq ((__v16qi)__A);
+ }
+
+-static __inline __m128i __attribute__((__always_inline__, __artificial__))
++extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_haddd_epu16(__m128i __A)
+ {
+ return (__m128i) __builtin_ia32_phadduwd ((__v8hi)__A);
+ }
+
+-static __inline __m128i __attribute__((__always_inline__, __artificial__))
++extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_haddq_epu16(__m128i __A)
+ {
+ return (__m128i) __builtin_ia32_phadduwq ((__v8hi)__A);
+ }
+
+-static __inline __m128i __attribute__((__always_inline__, __artificial__))
++extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_haddq_epu32(__m128i __A)
+ {
+ return (__m128i) __builtin_ia32_phaddudq ((__v4si)__A);
+ }
+
+-static __inline __m128i __attribute__((__always_inline__, __artificial__))
++extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_hsubw_epi8(__m128i __A)
+ {
+ return (__m128i) __builtin_ia32_phsubbw ((__v16qi)__A);
+ }
+
+-static __inline __m128i __attribute__((__always_inline__, __artificial__))
++extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_hsubd_epi16(__m128i __A)
+ {
+ return (__m128i) __builtin_ia32_phsubwd ((__v8hi)__A);
+ }
+
+-static __inline __m128i __attribute__((__always_inline__, __artificial__))
++extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_hsubq_epi32(__m128i __A)
+ {
+ return (__m128i) __builtin_ia32_phsubdq ((__v4si)__A);
+ }
+
+ /* Vector conditional move and permute */
+-static __inline __m128i __attribute__((__always_inline__, __artificial__))
++extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_cmov_si128(__m128i __A, __m128i __B, __m128i __C)
+ {
+ return (__m128i) __builtin_ia32_pcmov (__A, __B, __C);
+ }
+
+-static __inline __m128i __attribute__((__always_inline__, __artificial__))
++extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_perm_epi8(__m128i __A, __m128i __B, __m128i __C)
+ {
+ return (__m128i) __builtin_ia32_pperm ((__v16qi)__A, (__v16qi)__B, (__v16qi)__C);
+ }
+
+-static __inline __m128 __attribute__((__always_inline__, __artificial__))
++extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_perm_ps(__m128 __A, __m128 __B, __m128i __C)
+ {
+ return (__m128) __builtin_ia32_permps ((__m128)__A, (__m128)__B, (__v16qi)__C);
+ }
+
+-static __inline __m128d __attribute__((__always_inline__, __artificial__))
++extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_perm_pd(__m128d __A, __m128d __B, __m128i __C)
+ {
+ return (__m128d) __builtin_ia32_permpd ((__m128d)__A, (__m128d)__B, (__v16qi)__C);
+@@ -324,25 +324,25 @@
+ /* Packed Integer Rotates and Shifts */
+
+ /* Rotates - Non-Immediate form */
+-static __inline __m128i __attribute__((__always_inline__, __artificial__))
++extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_rot_epi8(__m128i __A, __m128i __B)
+ {
+ return (__m128i) __builtin_ia32_protb ((__v16qi)__A, (__v16qi)__B);
+ }
+
+-static __inline __m128i __attribute__((__always_inline__, __artificial__))
++extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_rot_epi16(__m128i __A, __m128i __B)
+ {
+ return (__m128i) __builtin_ia32_protw ((__v8hi)__A, (__v8hi)__B);
+ }
+
+-static __inline __m128i __attribute__((__always_inline__, __artificial__))
++extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_rot_epi32(__m128i __A, __m128i __B)
+ {
+ return (__m128i) __builtin_ia32_protd ((__v4si)__A, (__v4si)__B);
+ }
+
+-static __inline __m128i __attribute__((__always_inline__, __artificial__))
++extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_rot_epi64(__m128i __A, __m128i __B)
+ {
+ return (__m128i) __builtin_ia32_protq ((__v2di)__A, (__v2di)__B);
+@@ -351,25 +351,25 @@
+
+ /* Rotates - Immediate form */
+ #ifdef __OPTIMIZE__
+-static __inline __m128i __attribute__((__always_inline__, __artificial__))
++extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_roti_epi8(__m128i __A, const int __B)
+ {
+ return (__m128i) __builtin_ia32_protbi ((__v16qi)__A, __B);
+ }
+
+-static __inline __m128i __attribute__((__always_inline__, __artificial__))
++extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_roti_epi16(__m128i __A, const int __B)
+ {
+ return (__m128i) __builtin_ia32_protwi ((__v8hi)__A, __B);
+ }
+
+-static __inline __m128i __attribute__((__always_inline__, __artificial__))
++extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_roti_epi32(__m128i __A, const int __B)
+ {
+ return (__m128i) __builtin_ia32_protdi ((__v4si)__A, __B);
+ }
+
+-static __inline __m128i __attribute__((__always_inline__, __artificial__))
++extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_roti_epi64(__m128i __A, const int __B)
+ {
+ return (__m128i) __builtin_ia32_protqi ((__v2di)__A, __B);
+@@ -387,50 +387,50 @@
+
+ /* pshl */
+
+-static __inline __m128i __attribute__((__always_inline__, __artificial__))
++extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_shl_epi8(__m128i __A, __m128i __B)
+ {
+ return (__m128i) __builtin_ia32_pshlb ((__v16qi)__A, (__v16qi)__B);
+ }
+
+-static __inline __m128i __attribute__((__always_inline__, __artificial__))
++extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_shl_epi16(__m128i __A, __m128i __B)
+ {
+ return (__m128i) __builtin_ia32_pshlw ((__v8hi)__A, (__v8hi)__B);
+ }
+
+-static __inline __m128i __attribute__((__always_inline__, __artificial__))
++extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_shl_epi32(__m128i __A, __m128i __B)
+ {
+ return (__m128i) __builtin_ia32_pshld ((__v4si)__A, (__v4si)__B);
+ }
+
+-static __inline __m128i __attribute__((__always_inline__, __artificial__))
++extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_shl_epi64(__m128i __A, __m128i __B)
+ {
+ return (__m128i) __builtin_ia32_pshlq ((__v2di)__A, (__v2di)__B);
+ }
+
+ /* psha */
+-static __inline __m128i __attribute__((__always_inline__, __artificial__))
++extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_sha_epi8(__m128i __A, __m128i __B)
+ {
+ return (__m128i) __builtin_ia32_pshab ((__v16qi)__A, (__v16qi)__B);
+ }
+
+-static __inline __m128i __attribute__((__always_inline__, __artificial__))
++extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_sha_epi16(__m128i __A, __m128i __B)
+ {
+ return (__m128i) __builtin_ia32_pshaw ((__v8hi)__A, (__v8hi)__B);
+ }
+
+-static __inline __m128i __attribute__((__always_inline__, __artificial__))
++extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_sha_epi32(__m128i __A, __m128i __B)
+ {
+ return (__m128i) __builtin_ia32_pshad ((__v4si)__A, (__v4si)__B);
+ }
+
+-static __inline __m128i __attribute__((__always_inline__, __artificial__))
++extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_sha_epi64(__m128i __A, __m128i __B)
+ {
+ return (__m128i) __builtin_ia32_pshaq ((__v2di)__A, (__v2di)__B);
+@@ -439,99 +439,99 @@
+ /* Compare and Predicate Generation */
+
+ /* com (floating point, packed single) */
+-static __inline __m128 __attribute__((__always_inline__, __artificial__))
++extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_comeq_ps(__m128 __A, __m128 __B)
+ {
+ return (__m128) __builtin_ia32_comeqps ((__v4sf)__A, (__v4sf)__B);
+ }
+
+-static __inline __m128 __attribute__((__always_inline__, __artificial__))
++extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_comlt_ps(__m128 __A, __m128 __B)
+ {
+ return (__m128) __builtin_ia32_comltps ((__v4sf)__A, (__v4sf)__B);
+ }
+
+-static __inline __m128 __attribute__((__always_inline__, __artificial__))
++extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_comle_ps(__m128 __A, __m128 __B)
+ {
+ return (__m128) __builtin_ia32_comleps ((__v4sf)__A, (__v4sf)__B);
+ }
+
+-static __inline __m128 __attribute__((__always_inline__, __artificial__))
++extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_comunord_ps(__m128 __A, __m128 __B)
+ {
+ return (__m128) __builtin_ia32_comunordps ((__v4sf)__A, (__v4sf)__B);
+ }
+
+-static __inline __m128 __attribute__((__always_inline__, __artificial__))
++extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_comneq_ps(__m128 __A, __m128 __B)
+ {
+ return (__m128) __builtin_ia32_comuneqps ((__v4sf)__A, (__v4sf)__B);
+ }
+
+-static __inline __m128 __attribute__((__always_inline__, __artificial__))
++extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_comnlt_ps(__m128 __A, __m128 __B)
+ {
+ return (__m128) __builtin_ia32_comunltps ((__v4sf)__A, (__v4sf)__B);
+ }
+
+-static __inline __m128 __attribute__((__always_inline__, __artificial__))
++extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_comnle_ps(__m128 __A, __m128 __B)
+ {
+ return (__m128) __builtin_ia32_comunleps ((__v4sf)__A, (__v4sf)__B);
+ }
+
+
+-static __inline __m128 __attribute__((__always_inline__, __artificial__))
++extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_comord_ps(__m128 __A, __m128 __B)
+ {
+ return (__m128) __builtin_ia32_comordps ((__v4sf)__A, (__v4sf)__B);
+ }
+
+
+-static __inline __m128 __attribute__((__always_inline__, __artificial__))
++extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_comueq_ps(__m128 __A, __m128 __B)
+ {
+ return (__m128) __builtin_ia32_comueqps ((__v4sf)__A, (__v4sf)__B);
+ }
+
+-static __inline __m128 __attribute__((__always_inline__, __artificial__))
++extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_comnge_ps(__m128 __A, __m128 __B)
+ {
+ return (__m128) __builtin_ia32_comungeps ((__v4sf)__A, (__v4sf)__B);
+ }
+
+-static __inline __m128 __attribute__((__always_inline__, __artificial__))
++extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_comngt_ps(__m128 __A, __m128 __B)
+ {
+ return (__m128) __builtin_ia32_comungtps ((__v4sf)__A, (__v4sf)__B);
+ }
+
+-static __inline __m128 __attribute__((__always_inline__, __artificial__))
++extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_comfalse_ps(__m128 __A, __m128 __B)
+ {
+ return (__m128) __builtin_ia32_comfalseps ((__v4sf)__A, (__v4sf)__B);
+ }
+
+-static __inline __m128 __attribute__((__always_inline__, __artificial__))
++extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_comoneq_ps(__m128 __A, __m128 __B)
+ {
+ return (__m128) __builtin_ia32_comneqps ((__v4sf)__A, (__v4sf)__B);
+ }
+
+-static __inline __m128 __attribute__((__always_inline__, __artificial__))
++extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_comge_ps(__m128 __A, __m128 __B)
+ {
+ return (__m128) __builtin_ia32_comgeps ((__v4sf)__A, (__v4sf)__B);
+ }
+
+-static __inline __m128 __attribute__((__always_inline__, __artificial__))
++extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_comgt_ps(__m128 __A, __m128 __B)
+ {
+ return (__m128) __builtin_ia32_comgtps ((__v4sf)__A, (__v4sf)__B);
+ }
+
+-static __inline __m128 __attribute__((__always_inline__, __artificial__))
++extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_comtrue_ps(__m128 __A, __m128 __B)
+ {
+ return (__m128) __builtin_ia32_comtrueps ((__v4sf)__A, (__v4sf)__B);
+@@ -539,196 +539,196 @@
+
+ /* com (floating point, packed double) */
+
+-static __inline __m128d __attribute__((__always_inline__, __artificial__))
++extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_comeq_pd(__m128d __A, __m128d __B)
+ {
+ return (__m128d) __builtin_ia32_comeqpd ((__v2df)__A, (__v2df)__B);
+ }
+
+-static __inline __m128d __attribute__((__always_inline__, __artificial__))
++extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_comlt_pd(__m128d __A, __m128d __B)
+ {
+ return (__m128d) __builtin_ia32_comltpd ((__v2df)__A, (__v2df)__B);
+ }
+
+-static __inline __m128d __attribute__((__always_inline__, __artificial__))
++extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_comle_pd(__m128d __A, __m128d __B)
+ {
+ return (__m128d) __builtin_ia32_comlepd ((__v2df)__A, (__v2df)__B);
+ }
+
+-static __inline __m128d __attribute__((__always_inline__, __artificial__))
++extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_comunord_pd(__m128d __A, __m128d __B)
+ {
+ return (__m128d) __builtin_ia32_comunordpd ((__v2df)__A, (__v2df)__B);
+ }
+
+-static __inline __m128d __attribute__((__always_inline__, __artificial__))
++extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_comneq_pd(__m128d __A, __m128d __B)
+ {
+ return (__m128d) __builtin_ia32_comuneqpd ((__v2df)__A, (__v2df)__B);
+ }
+
+-static __inline __m128d __attribute__((__always_inline__, __artificial__))
++extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_comnlt_pd(__m128d __A, __m128d __B)
+ {
+ return (__m128d) __builtin_ia32_comunltpd ((__v2df)__A, (__v2df)__B);
+ }
+
+-static __inline __m128d __attribute__((__always_inline__, __artificial__))
++extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_comnle_pd(__m128d __A, __m128d __B)
+ {
+ return (__m128d) __builtin_ia32_comunlepd ((__v2df)__A, (__v2df)__B);
+ }
+
+
+-static __inline __m128d __attribute__((__always_inline__, __artificial__))
++extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_comord_pd(__m128d __A, __m128d __B)
+ {
+ return (__m128d) __builtin_ia32_comordpd ((__v2df)__A, (__v2df)__B);
+ }
+
+-static __inline __m128d __attribute__((__always_inline__, __artificial__))
++extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_comueq_pd(__m128d __A, __m128d __B)
+ {
+ return (__m128d) __builtin_ia32_comueqpd ((__v2df)__A, (__v2df)__B);
+ }
+
+-static __inline __m128d __attribute__((__always_inline__, __artificial__))
++extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_comnge_pd(__m128d __A, __m128d __B)
+ {
+ return (__m128d) __builtin_ia32_comungepd ((__v2df)__A, (__v2df)__B);
+ }
+
+-static __inline __m128d __attribute__((__always_inline__, __artificial__))
++extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_comngt_pd(__m128d __A, __m128d __B)
+ {
+ return (__m128d) __builtin_ia32_comungtpd ((__v2df)__A, (__v2df)__B);
+ }
+
+-static __inline __m128d __attribute__((__always_inline__, __artificial__))
++extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_comfalse_pd(__m128d __A, __m128d __B)
+ {
+ return (__m128d) __builtin_ia32_comfalsepd ((__v2df)__A, (__v2df)__B);
+ }
+
+-static __inline __m128d __attribute__((__always_inline__, __artificial__))
++extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_comoneq_pd(__m128d __A, __m128d __B)
+ {
+ return (__m128d) __builtin_ia32_comneqpd ((__v2df)__A, (__v2df)__B);
+ }
+
+-static __inline __m128d __attribute__((__always_inline__, __artificial__))
++extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_comge_pd(__m128d __A, __m128d __B)
+ {
+ return (__m128d) __builtin_ia32_comgepd ((__v2df)__A, (__v2df)__B);
+ }
+
+-static __inline __m128d __attribute__((__always_inline__, __artificial__))
++extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_comgt_pd(__m128d __A, __m128d __B)
+ {
+ return (__m128d) __builtin_ia32_comgtpd ((__v2df)__A, (__v2df)__B);
+ }
+
+-static __inline __m128d __attribute__((__always_inline__, __artificial__))
++extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_comtrue_pd(__m128d __A, __m128d __B)
+ {
+ return (__m128d) __builtin_ia32_comtruepd ((__v2df)__A, (__v2df)__B);
+ }
+
+ /* com (floating point, scalar single) */
+-static __inline __m128 __attribute__((__always_inline__, __artificial__))
++extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_comeq_ss(__m128 __A, __m128 __B)
+ {
+ return (__m128) __builtin_ia32_comeqss ((__v4sf)__A, (__v4sf)__B);
+ }
+
+-static __inline __m128 __attribute__((__always_inline__, __artificial__))
++extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_comlt_ss(__m128 __A, __m128 __B)
+ {
+ return (__m128) __builtin_ia32_comltss ((__v4sf)__A, (__v4sf)__B);
+ }
+
+-static __inline __m128 __attribute__((__always_inline__, __artificial__))
++extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_comle_ss(__m128 __A, __m128 __B)
+ {
+ return (__m128) __builtin_ia32_comless ((__v4sf)__A, (__v4sf)__B);
+ }
+
+-static __inline __m128 __attribute__((__always_inline__, __artificial__))
++extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_comunord_ss(__m128 __A, __m128 __B)
+ {
+ return (__m128) __builtin_ia32_comunordss ((__v4sf)__A, (__v4sf)__B);
+ }
+
+-static __inline __m128 __attribute__((__always_inline__, __artificial__))
++extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_comneq_ss(__m128 __A, __m128 __B)
+ {
+ return (__m128) __builtin_ia32_comuneqss ((__v4sf)__A, (__v4sf)__B);
+ }
+
+-static __inline __m128 __attribute__((__always_inline__, __artificial__))
++extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_comnlt_ss(__m128 __A, __m128 __B)
+ {
+ return (__m128) __builtin_ia32_comunltss ((__v4sf)__A, (__v4sf)__B);
+ }
+
+-static __inline __m128 __attribute__((__always_inline__, __artificial__))
++extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_comnle_ss(__m128 __A, __m128 __B)
+ {
+ return (__m128) __builtin_ia32_comunless ((__v4sf)__A, (__v4sf)__B);
+ }
+
+
+-static __inline __m128 __attribute__((__always_inline__, __artificial__))
++extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_comord_ss(__m128 __A, __m128 __B)
+ {
+ return (__m128) __builtin_ia32_comordss ((__v4sf)__A, (__v4sf)__B);
+ }
+
+-static __inline __m128 __attribute__((__always_inline__, __artificial__))
++extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_comueq_ss(__m128 __A, __m128 __B)
+ {
+ return (__m128) __builtin_ia32_comueqss ((__v4sf)__A, (__v4sf)__B);
+ }
+
+-static __inline __m128 __attribute__((__always_inline__, __artificial__))
++extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_comnge_ss(__m128 __A, __m128 __B)
+ {
+ return (__m128) __builtin_ia32_comungess ((__v4sf)__A, (__v4sf)__B);
+ }
+
+-static __inline __m128 __attribute__((__always_inline__, __artificial__))
++extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_comngt_ss(__m128 __A, __m128 __B)
+ {
+ return (__m128) __builtin_ia32_comungtss ((__v4sf)__A, (__v4sf)__B);
+ }
+
+-static __inline __m128 __attribute__((__always_inline__, __artificial__))
++extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_comfalse_ss(__m128 __A, __m128 __B)
+ {
+ return (__m128) __builtin_ia32_comfalsess ((__v4sf)__A, (__v4sf)__B);
+ }
+
+-static __inline __m128 __attribute__((__always_inline__, __artificial__))
++extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_comoneq_ss(__m128 __A, __m128 __B)
+ {
+ return (__m128) __builtin_ia32_comneqss ((__v4sf)__A, (__v4sf)__B);
+ }
+
+-static __inline __m128 __attribute__((__always_inline__, __artificial__))
++extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_comge_ss(__m128 __A, __m128 __B)
+ {
+ return (__m128) __builtin_ia32_comgess ((__v4sf)__A, (__v4sf)__B);
+ }
+
+-static __inline __m128 __attribute__((__always_inline__, __artificial__))
++extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_comgt_ss(__m128 __A, __m128 __B)
+ {
+ return (__m128) __builtin_ia32_comgtss ((__v4sf)__A, (__v4sf)__B);
+ }
+
+-static __inline __m128 __attribute__((__always_inline__, __artificial__))
++extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_comtrue_ss(__m128 __A, __m128 __B)
+ {
+ return (__m128) __builtin_ia32_comtruess ((__v4sf)__A, (__v4sf)__B);
+@@ -736,98 +736,98 @@
+
+ /* com (floating point, scalar double) */
+
+-static __inline __m128d __attribute__((__always_inline__, __artificial__))
++extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_comeq_sd(__m128d __A, __m128d __B)
+ {
+ return (__m128d) __builtin_ia32_comeqsd ((__v2df)__A, (__v2df)__B);
+ }
+
+-static __inline __m128d __attribute__((__always_inline__, __artificial__))
++extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_comlt_sd(__m128d __A, __m128d __B)
+ {
+ return (__m128d) __builtin_ia32_comltsd ((__v2df)__A, (__v2df)__B);
+ }
+
+-static __inline __m128d __attribute__((__always_inline__, __artificial__))
++extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_comle_sd(__m128d __A, __m128d __B)
+ {
+ return (__m128d) __builtin_ia32_comlesd ((__v2df)__A, (__v2df)__B);
+ }
+
+-static __inline __m128d __attribute__((__always_inline__, __artificial__))
++extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_comunord_sd(__m128d __A, __m128d __B)
+ {
+ return (__m128d) __builtin_ia32_comunordsd ((__v2df)__A, (__v2df)__B);
+ }
+
+-static __inline __m128d __attribute__((__always_inline__, __artificial__))
++extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_comneq_sd(__m128d __A, __m128d __B)
+ {
+ return (__m128d) __builtin_ia32_comuneqsd ((__v2df)__A, (__v2df)__B);
+ }
+
+-static __inline __m128d __attribute__((__always_inline__, __artificial__))
++extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_comnlt_sd(__m128d __A, __m128d __B)
+ {
+ return (__m128d) __builtin_ia32_comunltsd ((__v2df)__A, (__v2df)__B);
+ }
+
+-static __inline __m128d __attribute__((__always_inline__, __artificial__))
++extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_comnle_sd(__m128d __A, __m128d __B)
+ {
+ return (__m128d) __builtin_ia32_comunlesd ((__v2df)__A, (__v2df)__B);
+ }
+
+
+-static __inline __m128d __attribute__((__always_inline__, __artificial__))
++extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_comord_sd(__m128d __A, __m128d __B)
+ {
+ return (__m128d) __builtin_ia32_comordsd ((__v2df)__A, (__v2df)__B);
+ }
+
+-static __inline __m128d __attribute__((__always_inline__, __artificial__))
++extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_comueq_sd(__m128d __A, __m128d __B)
+ {
+ return (__m128d) __builtin_ia32_comueqsd ((__v2df)__A, (__v2df)__B);
+ }
+
+-static __inline __m128d __attribute__((__always_inline__, __artificial__))
++extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_comnge_sd(__m128d __A, __m128d __B)
+ {
+ return (__m128d) __builtin_ia32_comungesd ((__v2df)__A, (__v2df)__B);
+ }
+
+-static __inline __m128d __attribute__((__always_inline__, __artificial__))
++extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_comngt_sd(__m128d __A, __m128d __B)
+ {
+ return (__m128d) __builtin_ia32_comungtsd ((__v2df)__A, (__v2df)__B);
+ }
+
+-static __inline __m128d __attribute__((__always_inline__, __artificial__))
++extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_comfalse_sd(__m128d __A, __m128d __B)
+ {
+ return (__m128d) __builtin_ia32_comfalsesd ((__v2df)__A, (__v2df)__B);
+ }
+
+-static __inline __m128d __attribute__((__always_inline__, __artificial__))
++extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_comoneq_sd(__m128d __A, __m128d __B)
+ {
+ return (__m128d) __builtin_ia32_comneqsd ((__v2df)__A, (__v2df)__B);
+ }
+
+-static __inline __m128d __attribute__((__always_inline__, __artificial__))
++extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_comge_sd(__m128d __A, __m128d __B)
+ {
+ return (__m128d) __builtin_ia32_comgesd ((__v2df)__A, (__v2df)__B);
+ }
+
+-static __inline __m128d __attribute__((__always_inline__, __artificial__))
++extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_comgt_sd(__m128d __A, __m128d __B)
+ {
+ return (__m128d) __builtin_ia32_comgtsd ((__v2df)__A, (__v2df)__B);
+ }
+
+-static __inline __m128d __attribute__((__always_inline__, __artificial__))
++extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_comtrue_sd(__m128d __A, __m128d __B)
+ {
+ return (__m128d) __builtin_ia32_comtruesd ((__v2df)__A, (__v2df)__B);
+@@ -836,49 +836,49 @@
+
+ /*pcom (integer, unsinged bytes) */
+
+-static __inline __m128i __attribute__((__always_inline__, __artificial__))
++extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_comlt_epu8(__m128i __A, __m128i __B)
+ {
+ return (__m128i) __builtin_ia32_pcomltub ((__v16qi)__A, (__v16qi)__B);
+ }
+
+-static __inline __m128i __attribute__((__always_inline__, __artificial__))
++extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_comle_epu8(__m128i __A, __m128i __B)
+ {
+ return (__m128i) __builtin_ia32_pcomleub ((__v16qi)__A, (__v16qi)__B);
+ }
+
+-static __inline __m128i __attribute__((__always_inline__, __artificial__))
++extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_comgt_epu8(__m128i __A, __m128i __B)
+ {
+ return (__m128i) __builtin_ia32_pcomgtub ((__v16qi)__A, (__v16qi)__B);
+ }
+
+-static __inline __m128i __attribute__((__always_inline__, __artificial__))
++extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_comge_epu8(__m128i __A, __m128i __B)
+ {
+ return (__m128i) __builtin_ia32_pcomgeub ((__v16qi)__A, (__v16qi)__B);
+ }
+
+-static __inline __m128i __attribute__((__always_inline__, __artificial__))
++extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_comeq_epu8(__m128i __A, __m128i __B)
+ {
+ return (__m128i) __builtin_ia32_pcomequb ((__v16qi)__A, (__v16qi)__B);
+ }
+
+-static __inline __m128i __attribute__((__always_inline__, __artificial__))
++extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_comneq_epu8(__m128i __A, __m128i __B)
+ {
+ return (__m128i) __builtin_ia32_pcomnequb ((__v16qi)__A, (__v16qi)__B);
+ }
+
+-static __inline __m128i __attribute__((__always_inline__, __artificial__))
++extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_comfalse_epu8(__m128i __A, __m128i __B)
+ {
+ return (__m128i) __builtin_ia32_pcomfalseub ((__v16qi)__A, (__v16qi)__B);
+ }
+
+-static __inline __m128i __attribute__((__always_inline__, __artificial__))
++extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_comtrue_epu8(__m128i __A, __m128i __B)
+ {
+ return (__m128i) __builtin_ia32_pcomtrueub ((__v16qi)__A, (__v16qi)__B);
+@@ -886,49 +886,49 @@
+
+ /*pcom (integer, unsinged words) */
+
+-static __inline __m128i __attribute__((__always_inline__, __artificial__))
++extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_comlt_epu16(__m128i __A, __m128i __B)
+ {
+ return (__m128i) __builtin_ia32_pcomltuw ((__v8hi)__A, (__v8hi)__B);
+ }
+
+-static __inline __m128i __attribute__((__always_inline__, __artificial__))
++extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_comle_epu16(__m128i __A, __m128i __B)
+ {
+ return (__m128i) __builtin_ia32_pcomleuw ((__v8hi)__A, (__v8hi)__B);
+ }
+
+-static __inline __m128i __attribute__((__always_inline__, __artificial__))
++extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_comgt_epu16(__m128i __A, __m128i __B)
+ {
+ return (__m128i) __builtin_ia32_pcomgtuw ((__v8hi)__A, (__v8hi)__B);
+ }
+
+-static __inline __m128i __attribute__((__always_inline__, __artificial__))
++extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_comge_epu16(__m128i __A, __m128i __B)
+ {
+ return (__m128i) __builtin_ia32_pcomgeuw ((__v8hi)__A, (__v8hi)__B);
+ }
+
+-static __inline __m128i __attribute__((__always_inline__, __artificial__))
++extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_comeq_epu16(__m128i __A, __m128i __B)
+ {
+ return (__m128i) __builtin_ia32_pcomequw ((__v8hi)__A, (__v8hi)__B);
+ }
+
+-static __inline __m128i __attribute__((__always_inline__, __artificial__))
++extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_comneq_epu16(__m128i __A, __m128i __B)
+ {
+ return (__m128i) __builtin_ia32_pcomnequw ((__v8hi)__A, (__v8hi)__B);
+ }
+
+-static __inline __m128i __attribute__((__always_inline__, __artificial__))
++extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_comfalse_epu16(__m128i __A, __m128i __B)
+ {
+ return (__m128i) __builtin_ia32_pcomfalseuw ((__v8hi)__A, (__v8hi)__B);
+ }
+
+-static __inline __m128i __attribute__((__always_inline__, __artificial__))
++extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_comtrue_epu16(__m128i __A, __m128i __B)
+ {
+ return (__m128i) __builtin_ia32_pcomtrueuw ((__v8hi)__A, (__v8hi)__B);
+@@ -936,49 +936,49 @@
+
+ /*pcom (integer, unsinged double words) */
+
+-static __inline __m128i __attribute__((__always_inline__, __artificial__))
++extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_comlt_epu32(__m128i __A, __m128i __B)
+ {
+ return (__m128i) __builtin_ia32_pcomltud ((__v4si)__A, (__v4si)__B);
+ }
+
+-static __inline __m128i __attribute__((__always_inline__, __artificial__))
++extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_comle_epu32(__m128i __A, __m128i __B)
+ {
+ return (__m128i) __builtin_ia32_pcomleud ((__v4si)__A, (__v4si)__B);
+ }
+
+-static __inline __m128i __attribute__((__always_inline__, __artificial__))
++extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_comgt_epu32(__m128i __A, __m128i __B)
+ {
+ return (__m128i) __builtin_ia32_pcomgtud ((__v4si)__A, (__v4si)__B);
+ }
+
+-static __inline __m128i __attribute__((__always_inline__, __artificial__))
++extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_comge_epu32(__m128i __A, __m128i __B)
+ {
+ return (__m128i) __builtin_ia32_pcomgeud ((__v4si)__A, (__v4si)__B);
+ }
+
+-static __inline __m128i __attribute__((__always_inline__, __artificial__))
++extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_comeq_epu32(__m128i __A, __m128i __B)
+ {
+ return (__m128i) __builtin_ia32_pcomequd ((__v4si)__A, (__v4si)__B);
+ }
+
+-static __inline __m128i __attribute__((__always_inline__, __artificial__))
++extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_comneq_epu32(__m128i __A, __m128i __B)
+ {
+ return (__m128i) __builtin_ia32_pcomnequd ((__v4si)__A, (__v4si)__B);
+ }
+
+-static __inline __m128i __attribute__((__always_inline__, __artificial__))
++extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_comfalse_epu32(__m128i __A, __m128i __B)
+ {
+ return (__m128i) __builtin_ia32_pcomfalseud ((__v4si)__A, (__v4si)__B);
+ }
+
+-static __inline __m128i __attribute__((__always_inline__, __artificial__))
++extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_comtrue_epu32(__m128i __A, __m128i __B)
+ {
+ return (__m128i) __builtin_ia32_pcomtrueud ((__v4si)__A, (__v4si)__B);
+@@ -986,49 +986,49 @@
+
+ /*pcom (integer, unsinged quad words) */
+
+-static __inline __m128i __attribute__((__always_inline__, __artificial__))
++extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_comlt_epu64(__m128i __A, __m128i __B)
+ {
+ return (__m128i) __builtin_ia32_pcomltuq ((__v2di)__A, (__v2di)__B);
+ }
+
+-static __inline __m128i __attribute__((__always_inline__, __artificial__))
++extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_comle_epu64(__m128i __A, __m128i __B)
+ {
+ return (__m128i) __builtin_ia32_pcomleuq ((__v2di)__A, (__v2di)__B);
+ }
+
+-static __inline __m128i __attribute__((__always_inline__, __artificial__))
++extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_comgt_epu64(__m128i __A, __m128i __B)
+ {
+ return (__m128i) __builtin_ia32_pcomgtuq ((__v2di)__A, (__v2di)__B);
+ }
+
+-static __inline __m128i __attribute__((__always_inline__, __artificial__))
++extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_comge_epu64(__m128i __A, __m128i __B)
+ {
+ return (__m128i) __builtin_ia32_pcomgeuq ((__v2di)__A, (__v2di)__B);
+ }
+
+-static __inline __m128i __attribute__((__always_inline__, __artificial__))
++extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_comeq_epu64(__m128i __A, __m128i __B)
+ {
+ return (__m128i) __builtin_ia32_pcomequq ((__v2di)__A, (__v2di)__B);
+ }
+
+-static __inline __m128i __attribute__((__always_inline__, __artificial__))
++extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_comneq_epu64(__m128i __A, __m128i __B)
+ {
+ return (__m128i) __builtin_ia32_pcomnequq ((__v2di)__A, (__v2di)__B);
+ }
+
+-static __inline __m128i __attribute__((__always_inline__, __artificial__))
++extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_comfalse_epu64(__m128i __A, __m128i __B)
+ {
+ return (__m128i) __builtin_ia32_pcomfalseuq ((__v2di)__A, (__v2di)__B);
+ }
+
+-static __inline __m128i __attribute__((__always_inline__, __artificial__))
++extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_comtrue_epu64(__m128i __A, __m128i __B)
+ {
+ return (__m128i) __builtin_ia32_pcomtrueuq ((__v2di)__A, (__v2di)__B);
+@@ -1036,49 +1036,49 @@
+
+ /*pcom (integer, signed bytes) */
+
+-static __inline __m128i __attribute__((__always_inline__, __artificial__))
++extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_comlt_epi8(__m128i __A, __m128i __B)
+ {
+ return (__m128i) __builtin_ia32_pcomltb ((__v16qi)__A, (__v16qi)__B);
+ }
+
+-static __inline __m128i __attribute__((__always_inline__, __artificial__))
++extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_comle_epi8(__m128i __A, __m128i __B)
+ {
+ return (__m128i) __builtin_ia32_pcomleb ((__v16qi)__A, (__v16qi)__B);
+ }
+
+-static __inline __m128i __attribute__((__always_inline__, __artificial__))
++extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_comgt_epi8(__m128i __A, __m128i __B)
+ {
+ return (__m128i) __builtin_ia32_pcomgtb ((__v16qi)__A, (__v16qi)__B);
+ }
+
+-static __inline __m128i __attribute__((__always_inline__, __artificial__))
++extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_comge_epi8(__m128i __A, __m128i __B)
+ {
+ return (__m128i) __builtin_ia32_pcomgeb ((__v16qi)__A, (__v16qi)__B);
+ }
+
+-static __inline __m128i __attribute__((__always_inline__, __artificial__))
++extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_comeq_epi8(__m128i __A, __m128i __B)
+ {
+ return (__m128i) __builtin_ia32_pcomeqb ((__v16qi)__A, (__v16qi)__B);
+ }
+
+-static __inline __m128i __attribute__((__always_inline__, __artificial__))
++extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_comneq_epi8(__m128i __A, __m128i __B)
+ {
+ return (__m128i) __builtin_ia32_pcomneqb ((__v16qi)__A, (__v16qi)__B);
+ }
+
+-static __inline __m128i __attribute__((__always_inline__, __artificial__))
++extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_comfalse_epi8(__m128i __A, __m128i __B)
+ {
+ return (__m128i) __builtin_ia32_pcomfalseb ((__v16qi)__A, (__v16qi)__B);
+ }
+
+-static __inline __m128i __attribute__((__always_inline__, __artificial__))
++extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_comtrue_epi8(__m128i __A, __m128i __B)
+ {
+ return (__m128i) __builtin_ia32_pcomtrueb ((__v16qi)__A, (__v16qi)__B);
+@@ -1086,49 +1086,49 @@
+
+ /*pcom (integer, signed words) */
+
+-static __inline __m128i __attribute__((__always_inline__, __artificial__))
++extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_comlt_epi16(__m128i __A, __m128i __B)
+ {
+ return (__m128i) __builtin_ia32_pcomltw ((__v8hi)__A, (__v8hi)__B);
+ }
+
+-static __inline __m128i __attribute__((__always_inline__, __artificial__))
++extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_comle_epi16(__m128i __A, __m128i __B)
+ {
+ return (__m128i) __builtin_ia32_pcomlew ((__v8hi)__A, (__v8hi)__B);
+ }
+
+-static __inline __m128i __attribute__((__always_inline__, __artificial__))
++extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_comgt_epi16(__m128i __A, __m128i __B)
+ {
+ return (__m128i) __builtin_ia32_pcomgtw ((__v8hi)__A, (__v8hi)__B);
+ }
+
+-static __inline __m128i __attribute__((__always_inline__, __artificial__))
++extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_comge_epi16(__m128i __A, __m128i __B)
+ {
+ return (__m128i) __builtin_ia32_pcomgew ((__v8hi)__A, (__v8hi)__B);
+ }
+
+-static __inline __m128i __attribute__((__always_inline__, __artificial__))
++extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_comeq_epi16(__m128i __A, __m128i __B)
+ {
+ return (__m128i) __builtin_ia32_pcomeqw ((__v8hi)__A, (__v8hi)__B);
+ }
+
+-static __inline __m128i __attribute__((__always_inline__, __artificial__))
++extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_comneq_epi16(__m128i __A, __m128i __B)
+ {
+ return (__m128i) __builtin_ia32_pcomneqw ((__v8hi)__A, (__v8hi)__B);
+ }
+
+-static __inline __m128i __attribute__((__always_inline__, __artificial__))
++extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_comfalse_epi16(__m128i __A, __m128i __B)
+ {
+ return (__m128i) __builtin_ia32_pcomfalsew ((__v8hi)__A, (__v8hi)__B);
+ }
+
+-static __inline __m128i __attribute__((__always_inline__, __artificial__))
++extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_comtrue_epi16(__m128i __A, __m128i __B)
+ {
+ return (__m128i) __builtin_ia32_pcomtruew ((__v8hi)__A, (__v8hi)__B);
+@@ -1136,49 +1136,49 @@
+
+ /*pcom (integer, signed double words) */
+
+-static __inline __m128i __attribute__((__always_inline__, __artificial__))
++extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_comlt_epi32(__m128i __A, __m128i __B)
+ {
+ return (__m128i) __builtin_ia32_pcomltd ((__v4si)__A, (__v4si)__B);
+ }
+
+-static __inline __m128i __attribute__((__always_inline__, __artificial__))
++extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_comle_epi32(__m128i __A, __m128i __B)
+ {
+ return (__m128i) __builtin_ia32_pcomled ((__v4si)__A, (__v4si)__B);
+ }
+
+-static __inline __m128i __attribute__((__always_inline__, __artificial__))
++extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_comgt_epi32(__m128i __A, __m128i __B)
+ {
+ return (__m128i) __builtin_ia32_pcomgtd ((__v4si)__A, (__v4si)__B);
+ }
+
+-static __inline __m128i __attribute__((__always_inline__, __artificial__))
++extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_comge_epi32(__m128i __A, __m128i __B)
+ {
+ return (__m128i) __builtin_ia32_pcomged ((__v4si)__A, (__v4si)__B);
+ }
+
+-static __inline __m128i __attribute__((__always_inline__, __artificial__))
++extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_comeq_epi32(__m128i __A, __m128i __B)
+ {
+ return (__m128i) __builtin_ia32_pcomeqd ((__v4si)__A, (__v4si)__B);
+ }
+
+-static __inline __m128i __attribute__((__always_inline__, __artificial__))
++extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_comneq_epi32(__m128i __A, __m128i __B)
+ {
+ return (__m128i) __builtin_ia32_pcomneqd ((__v4si)__A, (__v4si)__B);
+ }
+
+-static __inline __m128i __attribute__((__always_inline__, __artificial__))
++extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_comfalse_epi32(__m128i __A, __m128i __B)
+ {
+ return (__m128i) __builtin_ia32_pcomfalsed ((__v4si)__A, (__v4si)__B);
+ }
+
+-static __inline __m128i __attribute__((__always_inline__, __artificial__))
++extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_comtrue_epi32(__m128i __A, __m128i __B)
+ {
+ return (__m128i) __builtin_ia32_pcomtrued ((__v4si)__A, (__v4si)__B);
+@@ -1186,74 +1186,74 @@
+
+ /*pcom (integer, signed quad words) */
+
+-static __inline __m128i __attribute__((__always_inline__, __artificial__))
++extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_comlt_epi64(__m128i __A, __m128i __B)
+ {
+ return (__m128i) __builtin_ia32_pcomltq ((__v2di)__A, (__v2di)__B);
+ }
+
+-static __inline __m128i __attribute__((__always_inline__, __artificial__))
++extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_comle_epi64(__m128i __A, __m128i __B)
+ {
+ return (__m128i) __builtin_ia32_pcomleq ((__v2di)__A, (__v2di)__B);
+ }
+
+-static __inline __m128i __attribute__((__always_inline__, __artificial__))
++extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_comgt_epi64(__m128i __A, __m128i __B)
+ {
+ return (__m128i) __builtin_ia32_pcomgtq ((__v2di)__A, (__v2di)__B);
+ }
+
+-static __inline __m128i __attribute__((__always_inline__, __artificial__))
++extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_comge_epi64(__m128i __A, __m128i __B)
+ {
+ return (__m128i) __builtin_ia32_pcomgeq ((__v2di)__A, (__v2di)__B);
+ }
+
+-static __inline __m128i __attribute__((__always_inline__, __artificial__))
++extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_comeq_epi64(__m128i __A, __m128i __B)
+ {
+ return (__m128i) __builtin_ia32_pcomeqq ((__v2di)__A, (__v2di)__B);
+ }
+
+-static __inline __m128i __attribute__((__always_inline__, __artificial__))
++extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_comneq_epi64(__m128i __A, __m128i __B)
+ {
+ return (__m128i) __builtin_ia32_pcomneqq ((__v2di)__A, (__v2di)__B);
+ }
+
+-static __inline __m128i __attribute__((__always_inline__, __artificial__))
++extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_comfalse_epi64(__m128i __A, __m128i __B)
+ {
+ return (__m128i) __builtin_ia32_pcomfalseq ((__v2di)__A, (__v2di)__B);
+ }
+
+-static __inline __m128i __attribute__((__always_inline__, __artificial__))
++extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_comtrue_epi64(__m128i __A, __m128i __B)
+ {
+ return (__m128i) __builtin_ia32_pcomtrueq ((__v2di)__A, (__v2di)__B);
+ }
+
+ /* FRCZ */
+-static __inline __m128 __attribute__((__always_inline__, __artificial__))
++extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_frcz_ps (__m128 __A)
+ {
+ return (__m128) __builtin_ia32_frczps ((__v4sf)__A);
+ }
+
+-static __inline __m128d __attribute__((__always_inline__, __artificial__))
++extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_frcz_pd (__m128d __A)
+ {
+ return (__m128d) __builtin_ia32_frczpd ((__v2df)__A);
+ }
+
+-static __inline __m128 __attribute__((__always_inline__, __artificial__))
++extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_frcz_ss (__m128 __A, __m128 __B)
+ {
+ return (__m128) __builtin_ia32_frczss ((__v4sf)__A, (__v4sf)__B);
+ }
+
+-static __inline __m128d __attribute__((__always_inline__, __artificial__))
++extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_frcz_sd (__m128d __A, __m128d __B)
+ {
+ return (__m128d) __builtin_ia32_frczsd ((__v2df)__A, (__v2df)__B);
+Index: gcc/config/i386/i386.md
+===================================================================
+--- gcc/config/i386/i386.md (.../tags/gcc_4_3_0_release) (revision 133808)
++++ gcc/config/i386/i386.md (.../branches/gcc-4_3-branch) (revision 133808)
+@@ -15440,7 +15440,7 @@
+
+ (define_expand "paritydi2"
+ [(set (match_operand:DI 0 "register_operand" "")
+- (parity:DI (match_operand:DI 1 "nonimmediate_operand" "")))]
++ (parity:DI (match_operand:DI 1 "register_operand" "")))]
+ "! TARGET_POPCNT"
+ {
+ rtx scratch = gen_reg_rtx (QImode);
+@@ -15468,10 +15468,10 @@
+
+ (define_insn_and_split "paritydi2_cmp"
+ [(set (reg:CC FLAGS_REG)
+- (parity:CC (match_operand:DI 3 "nonimmediate_operand" "0,m")))
+- (clobber (match_scratch:DI 0 "=r,X"))
+- (clobber (match_scratch:SI 1 "=r,r"))
+- (clobber (match_scratch:HI 2 "=Q,Q"))]
++ (parity:CC (match_operand:DI 3 "register_operand" "0")))
++ (clobber (match_scratch:DI 0 "=r"))
++ (clobber (match_scratch:SI 1 "=&r"))
++ (clobber (match_scratch:HI 2 "=Q"))]
+ "! TARGET_POPCNT"
+ "#"
+ "&& reload_completed"
+@@ -15487,20 +15487,18 @@
+ {
+ operands[4] = gen_lowpart (SImode, operands[3]);
+
+- if (MEM_P (operands[3]))
+- emit_move_insn (operands[1], gen_highpart (SImode, operands[3]));
+- else if (! TARGET_64BIT)
+- operands[1] = gen_highpart (SImode, operands[3]);
+- else
++ if (TARGET_64BIT)
+ {
+ emit_move_insn (operands[1], gen_lowpart (SImode, operands[3]));
+ emit_insn (gen_lshrdi3 (operands[3], operands[3], GEN_INT (32)));
+ }
++ else
++ operands[1] = gen_highpart (SImode, operands[3]);
+ })
+
+ (define_expand "paritysi2"
+ [(set (match_operand:SI 0 "register_operand" "")
+- (parity:SI (match_operand:SI 1 "nonimmediate_operand" "")))]
++ (parity:SI (match_operand:SI 1 "register_operand" "")))]
+ "! TARGET_POPCNT"
+ {
+ rtx scratch = gen_reg_rtx (QImode);
+@@ -15519,9 +15517,9 @@
+
+ (define_insn_and_split "paritysi2_cmp"
+ [(set (reg:CC FLAGS_REG)
+- (parity:CC (match_operand:SI 2 "nonimmediate_operand" "0,m")))
+- (clobber (match_scratch:SI 0 "=r,X"))
+- (clobber (match_scratch:HI 1 "=Q,Q"))]
++ (parity:CC (match_operand:SI 2 "register_operand" "0")))
++ (clobber (match_scratch:SI 0 "=r"))
++ (clobber (match_scratch:HI 1 "=&Q"))]
+ "! TARGET_POPCNT"
+ "#"
+ "&& reload_completed"
+@@ -15536,13 +15534,8 @@
+ {
+ operands[3] = gen_lowpart (HImode, operands[2]);
+
+- if (MEM_P (operands[2]))
+- emit_move_insn (operands[1], gen_highpart (HImode, operands[2]));
+- else
+- {
+- emit_move_insn (operands[1], gen_lowpart (HImode, operands[2]));
+- emit_insn (gen_lshrsi3 (operands[2], operands[2], GEN_INT (16)));
+- }
++ emit_move_insn (operands[1], gen_lowpart (HImode, operands[2]));
++ emit_insn (gen_lshrsi3 (operands[2], operands[2], GEN_INT (16)));
+ })
+
+ (define_insn "*parityhi2_cmp"
+Index: gcc/config/i386/mmintrin.h
+===================================================================
+--- gcc/config/i386/mmintrin.h (.../tags/gcc_4_3_0_release) (revision 133808)
++++ gcc/config/i386/mmintrin.h (.../branches/gcc-4_3-branch) (revision 133808)
+@@ -44,26 +44,26 @@
+ typedef char __v8qi __attribute__ ((__vector_size__ (8)));
+
+ /* Empty the multimedia state. */
+-static __inline void __attribute__((__always_inline__, __artificial__))
++extern __inline void __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_empty (void)
+ {
+ __builtin_ia32_emms ();
+ }
+
+-static __inline void __attribute__((__always_inline__, __artificial__))
++extern __inline void __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _m_empty (void)
+ {
+ _mm_empty ();
+ }
+
+ /* Convert I to a __m64 object. The integer is zero-extended to 64-bits. */
+-static __inline __m64 __attribute__((__always_inline__, __artificial__))
++extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_cvtsi32_si64 (int __i)
+ {
+ return (__m64) __builtin_ia32_vec_init_v2si (__i, 0);
+ }
+
+-static __inline __m64 __attribute__((__always_inline__, __artificial__))
++extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _m_from_int (int __i)
+ {
+ return _mm_cvtsi32_si64 (__i);
+@@ -73,26 +73,26 @@
+ /* Convert I to a __m64 object. */
+
+ /* Intel intrinsic. */
+-static __inline __m64 __attribute__((__always_inline__, __artificial__))
++extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _m_from_int64 (long long __i)
+ {
+ return (__m64) __i;
+ }
+
+-static __inline __m64 __attribute__((__always_inline__, __artificial__))
++extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_cvtsi64_m64 (long long __i)
+ {
+ return (__m64) __i;
+ }
+
+ /* Microsoft intrinsic. */
+-static __inline __m64 __attribute__((__always_inline__, __artificial__))
++extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_cvtsi64x_si64 (long long __i)
+ {
+ return (__m64) __i;
+ }
+
+-static __inline __m64 __attribute__((__always_inline__, __artificial__))
++extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_set_pi64x (long long __i)
+ {
+ return (__m64) __i;
+@@ -100,13 +100,13 @@
+ #endif
+
+ /* Convert the lower 32 bits of the __m64 object into an integer. */
+-static __inline int __attribute__((__always_inline__, __artificial__))
++extern __inline int __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_cvtsi64_si32 (__m64 __i)
+ {
+ return __builtin_ia32_vec_ext_v2si ((__v2si)__i, 0);
+ }
+
+-static __inline int __attribute__((__always_inline__, __artificial__))
++extern __inline int __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _m_to_int (__m64 __i)
+ {
+ return _mm_cvtsi64_si32 (__i);
+@@ -116,20 +116,20 @@
+ /* Convert the __m64 object to a 64bit integer. */
+
+ /* Intel intrinsic. */
+-static __inline long long __attribute__((__always_inline__, __artificial__))
++extern __inline long long __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _m_to_int64 (__m64 __i)
+ {
+ return (long long)__i;
+ }
+
+-static __inline long long __attribute__((__always_inline__, __artificial__))
++extern __inline long long __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_cvtm64_si64 (__m64 __i)
+ {
+ return (long long)__i;
+ }
+
+ /* Microsoft intrinsic. */
+-static __inline long long __attribute__((__always_inline__, __artificial__))
++extern __inline long long __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_cvtsi64_si64x (__m64 __i)
+ {
+ return (long long)__i;
+@@ -139,13 +139,13 @@
+ /* Pack the four 16-bit values from M1 into the lower four 8-bit values of
+ the result, and the four 16-bit values from M2 into the upper four 8-bit
+ values of the result, all with signed saturation. */
+-static __inline __m64 __attribute__((__always_inline__, __artificial__))
++extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_packs_pi16 (__m64 __m1, __m64 __m2)
+ {
+ return (__m64) __builtin_ia32_packsswb ((__v4hi)__m1, (__v4hi)__m2);
+ }
+
+-static __inline __m64 __attribute__((__always_inline__, __artificial__))
++extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _m_packsswb (__m64 __m1, __m64 __m2)
+ {
+ return _mm_packs_pi16 (__m1, __m2);
+@@ -154,13 +154,13 @@
+ /* Pack the two 32-bit values from M1 in to the lower two 16-bit values of
+ the result, and the two 32-bit values from M2 into the upper two 16-bit
+ values of the result, all with signed saturation. */
+-static __inline __m64 __attribute__((__always_inline__, __artificial__))
++extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_packs_pi32 (__m64 __m1, __m64 __m2)
+ {
+ return (__m64) __builtin_ia32_packssdw ((__v2si)__m1, (__v2si)__m2);
+ }
+
+-static __inline __m64 __attribute__((__always_inline__, __artificial__))
++extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _m_packssdw (__m64 __m1, __m64 __m2)
+ {
+ return _mm_packs_pi32 (__m1, __m2);
+@@ -169,13 +169,13 @@
+ /* Pack the four 16-bit values from M1 into the lower four 8-bit values of
+ the result, and the four 16-bit values from M2 into the upper four 8-bit
+ values of the result, all with unsigned saturation. */
+-static __inline __m64 __attribute__((__always_inline__, __artificial__))
++extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_packs_pu16 (__m64 __m1, __m64 __m2)
+ {
+ return (__m64) __builtin_ia32_packuswb ((__v4hi)__m1, (__v4hi)__m2);
+ }
+
+-static __inline __m64 __attribute__((__always_inline__, __artificial__))
++extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _m_packuswb (__m64 __m1, __m64 __m2)
+ {
+ return _mm_packs_pu16 (__m1, __m2);
+@@ -183,13 +183,13 @@
+
+ /* Interleave the four 8-bit values from the high half of M1 with the four
+ 8-bit values from the high half of M2. */
+-static __inline __m64 __attribute__((__always_inline__, __artificial__))
++extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_unpackhi_pi8 (__m64 __m1, __m64 __m2)
+ {
+ return (__m64) __builtin_ia32_punpckhbw ((__v8qi)__m1, (__v8qi)__m2);
+ }
+
+-static __inline __m64 __attribute__((__always_inline__, __artificial__))
++extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _m_punpckhbw (__m64 __m1, __m64 __m2)
+ {
+ return _mm_unpackhi_pi8 (__m1, __m2);
+@@ -197,13 +197,13 @@
+
+ /* Interleave the two 16-bit values from the high half of M1 with the two
+ 16-bit values from the high half of M2. */
+-static __inline __m64 __attribute__((__always_inline__, __artificial__))
++extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_unpackhi_pi16 (__m64 __m1, __m64 __m2)
+ {
+ return (__m64) __builtin_ia32_punpckhwd ((__v4hi)__m1, (__v4hi)__m2);
+ }
+
+-static __inline __m64 __attribute__((__always_inline__, __artificial__))
++extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _m_punpckhwd (__m64 __m1, __m64 __m2)
+ {
+ return _mm_unpackhi_pi16 (__m1, __m2);
+@@ -211,13 +211,13 @@
+
+ /* Interleave the 32-bit value from the high half of M1 with the 32-bit
+ value from the high half of M2. */
+-static __inline __m64 __attribute__((__always_inline__, __artificial__))
++extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_unpackhi_pi32 (__m64 __m1, __m64 __m2)
+ {
+ return (__m64) __builtin_ia32_punpckhdq ((__v2si)__m1, (__v2si)__m2);
+ }
+
+-static __inline __m64 __attribute__((__always_inline__, __artificial__))
++extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _m_punpckhdq (__m64 __m1, __m64 __m2)
+ {
+ return _mm_unpackhi_pi32 (__m1, __m2);
+@@ -225,13 +225,13 @@
+
+ /* Interleave the four 8-bit values from the low half of M1 with the four
+ 8-bit values from the low half of M2. */
+-static __inline __m64 __attribute__((__always_inline__, __artificial__))
++extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_unpacklo_pi8 (__m64 __m1, __m64 __m2)
+ {
+ return (__m64) __builtin_ia32_punpcklbw ((__v8qi)__m1, (__v8qi)__m2);
+ }
+
+-static __inline __m64 __attribute__((__always_inline__, __artificial__))
++extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _m_punpcklbw (__m64 __m1, __m64 __m2)
+ {
+ return _mm_unpacklo_pi8 (__m1, __m2);
+@@ -239,13 +239,13 @@
+
+ /* Interleave the two 16-bit values from the low half of M1 with the two
+ 16-bit values from the low half of M2. */
+-static __inline __m64 __attribute__((__always_inline__, __artificial__))
++extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_unpacklo_pi16 (__m64 __m1, __m64 __m2)
+ {
+ return (__m64) __builtin_ia32_punpcklwd ((__v4hi)__m1, (__v4hi)__m2);
+ }
+
+-static __inline __m64 __attribute__((__always_inline__, __artificial__))
++extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _m_punpcklwd (__m64 __m1, __m64 __m2)
+ {
+ return _mm_unpacklo_pi16 (__m1, __m2);
+@@ -253,52 +253,52 @@
+
+ /* Interleave the 32-bit value from the low half of M1 with the 32-bit
+ value from the low half of M2. */
+-static __inline __m64 __attribute__((__always_inline__, __artificial__))
++extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_unpacklo_pi32 (__m64 __m1, __m64 __m2)
+ {
+ return (__m64) __builtin_ia32_punpckldq ((__v2si)__m1, (__v2si)__m2);
+ }
+
+-static __inline __m64 __attribute__((__always_inline__, __artificial__))
++extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _m_punpckldq (__m64 __m1, __m64 __m2)
+ {
+ return _mm_unpacklo_pi32 (__m1, __m2);
+ }
+
+ /* Add the 8-bit values in M1 to the 8-bit values in M2. */
+-static __inline __m64 __attribute__((__always_inline__, __artificial__))
++extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_add_pi8 (__m64 __m1, __m64 __m2)
+ {
+ return (__m64) __builtin_ia32_paddb ((__v8qi)__m1, (__v8qi)__m2);
+ }
+
+-static __inline __m64 __attribute__((__always_inline__, __artificial__))
++extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _m_paddb (__m64 __m1, __m64 __m2)
+ {
+ return _mm_add_pi8 (__m1, __m2);
+ }
+
+ /* Add the 16-bit values in M1 to the 16-bit values in M2. */
+-static __inline __m64 __attribute__((__always_inline__, __artificial__))
++extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_add_pi16 (__m64 __m1, __m64 __m2)
+ {
+ return (__m64) __builtin_ia32_paddw ((__v4hi)__m1, (__v4hi)__m2);
+ }
+
+-static __inline __m64 __attribute__((__always_inline__, __artificial__))
++extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _m_paddw (__m64 __m1, __m64 __m2)
+ {
+ return _mm_add_pi16 (__m1, __m2);
+ }
+
+ /* Add the 32-bit values in M1 to the 32-bit values in M2. */
+-static __inline __m64 __attribute__((__always_inline__, __artificial__))
++extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_add_pi32 (__m64 __m1, __m64 __m2)
+ {
+ return (__m64) __builtin_ia32_paddd ((__v2si)__m1, (__v2si)__m2);
+ }
+
+-static __inline __m64 __attribute__((__always_inline__, __artificial__))
++extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _m_paddd (__m64 __m1, __m64 __m2)
+ {
+ return _mm_add_pi32 (__m1, __m2);
+@@ -306,7 +306,7 @@
+
+ /* Add the 64-bit values in M1 to the 64-bit values in M2. */
+ #ifdef __SSE2__
+-static __inline __m64 __attribute__((__always_inline__, __artificial__))
++extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_add_si64 (__m64 __m1, __m64 __m2)
+ {
+ return (__m64) __builtin_ia32_paddq ((long long)__m1, (long long)__m2);
+@@ -315,13 +315,13 @@
+
+ /* Add the 8-bit values in M1 to the 8-bit values in M2 using signed
+ saturated arithmetic. */
+-static __inline __m64 __attribute__((__always_inline__, __artificial__))
++extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_adds_pi8 (__m64 __m1, __m64 __m2)
+ {
+ return (__m64) __builtin_ia32_paddsb ((__v8qi)__m1, (__v8qi)__m2);
+ }
+
+-static __inline __m64 __attribute__((__always_inline__, __artificial__))
++extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _m_paddsb (__m64 __m1, __m64 __m2)
+ {
+ return _mm_adds_pi8 (__m1, __m2);
+@@ -329,13 +329,13 @@
+
+ /* Add the 16-bit values in M1 to the 16-bit values in M2 using signed
+ saturated arithmetic. */
+-static __inline __m64 __attribute__((__always_inline__, __artificial__))
++extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_adds_pi16 (__m64 __m1, __m64 __m2)
+ {
+ return (__m64) __builtin_ia32_paddsw ((__v4hi)__m1, (__v4hi)__m2);
+ }
+
+-static __inline __m64 __attribute__((__always_inline__, __artificial__))
++extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _m_paddsw (__m64 __m1, __m64 __m2)
+ {
+ return _mm_adds_pi16 (__m1, __m2);
+@@ -343,13 +343,13 @@
+
+ /* Add the 8-bit values in M1 to the 8-bit values in M2 using unsigned
+ saturated arithmetic. */
+-static __inline __m64 __attribute__((__always_inline__, __artificial__))
++extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_adds_pu8 (__m64 __m1, __m64 __m2)
+ {
+ return (__m64) __builtin_ia32_paddusb ((__v8qi)__m1, (__v8qi)__m2);
+ }
+
+-static __inline __m64 __attribute__((__always_inline__, __artificial__))
++extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _m_paddusb (__m64 __m1, __m64 __m2)
+ {
+ return _mm_adds_pu8 (__m1, __m2);
+@@ -357,52 +357,52 @@
+
+ /* Add the 16-bit values in M1 to the 16-bit values in M2 using unsigned
+ saturated arithmetic. */
+-static __inline __m64 __attribute__((__always_inline__, __artificial__))
++extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_adds_pu16 (__m64 __m1, __m64 __m2)
+ {
+ return (__m64) __builtin_ia32_paddusw ((__v4hi)__m1, (__v4hi)__m2);
+ }
+
+-static __inline __m64 __attribute__((__always_inline__, __artificial__))
++extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _m_paddusw (__m64 __m1, __m64 __m2)
+ {
+ return _mm_adds_pu16 (__m1, __m2);
+ }
+
+ /* Subtract the 8-bit values in M2 from the 8-bit values in M1. */
+-static __inline __m64 __attribute__((__always_inline__, __artificial__))
++extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_sub_pi8 (__m64 __m1, __m64 __m2)
+ {
+ return (__m64) __builtin_ia32_psubb ((__v8qi)__m1, (__v8qi)__m2);
+ }
+
+-static __inline __m64 __attribute__((__always_inline__, __artificial__))
++extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _m_psubb (__m64 __m1, __m64 __m2)
+ {
+ return _mm_sub_pi8 (__m1, __m2);
+ }
+
+ /* Subtract the 16-bit values in M2 from the 16-bit values in M1. */
+-static __inline __m64 __attribute__((__always_inline__, __artificial__))
++extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_sub_pi16 (__m64 __m1, __m64 __m2)
+ {
+ return (__m64) __builtin_ia32_psubw ((__v4hi)__m1, (__v4hi)__m2);
+ }
+
+-static __inline __m64 __attribute__((__always_inline__, __artificial__))
++extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _m_psubw (__m64 __m1, __m64 __m2)
+ {
+ return _mm_sub_pi16 (__m1, __m2);
+ }
+
+ /* Subtract the 32-bit values in M2 from the 32-bit values in M1. */
+-static __inline __m64 __attribute__((__always_inline__, __artificial__))
++extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_sub_pi32 (__m64 __m1, __m64 __m2)
+ {
+ return (__m64) __builtin_ia32_psubd ((__v2si)__m1, (__v2si)__m2);
+ }
+
+-static __inline __m64 __attribute__((__always_inline__, __artificial__))
++extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _m_psubd (__m64 __m1, __m64 __m2)
+ {
+ return _mm_sub_pi32 (__m1, __m2);
+@@ -410,7 +410,7 @@
+
+ /* Add the 64-bit values in M1 to the 64-bit values in M2. */
+ #ifdef __SSE2__
+-static __inline __m64 __attribute__((__always_inline__, __artificial__))
++extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_sub_si64 (__m64 __m1, __m64 __m2)
+ {
+ return (__m64) __builtin_ia32_psubq ((long long)__m1, (long long)__m2);
+@@ -419,13 +419,13 @@
+
+ /* Subtract the 8-bit values in M2 from the 8-bit values in M1 using signed
+ saturating arithmetic. */
+-static __inline __m64 __attribute__((__always_inline__, __artificial__))
++extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_subs_pi8 (__m64 __m1, __m64 __m2)
+ {
+ return (__m64) __builtin_ia32_psubsb ((__v8qi)__m1, (__v8qi)__m2);
+ }
+
+-static __inline __m64 __attribute__((__always_inline__, __artificial__))
++extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _m_psubsb (__m64 __m1, __m64 __m2)
+ {
+ return _mm_subs_pi8 (__m1, __m2);
+@@ -433,13 +433,13 @@
+
+ /* Subtract the 16-bit values in M2 from the 16-bit values in M1 using
+ signed saturating arithmetic. */
+-static __inline __m64 __attribute__((__always_inline__, __artificial__))
++extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_subs_pi16 (__m64 __m1, __m64 __m2)
+ {
+ return (__m64) __builtin_ia32_psubsw ((__v4hi)__m1, (__v4hi)__m2);
+ }
+
+-static __inline __m64 __attribute__((__always_inline__, __artificial__))
++extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _m_psubsw (__m64 __m1, __m64 __m2)
+ {
+ return _mm_subs_pi16 (__m1, __m2);
+@@ -447,13 +447,13 @@
+
+ /* Subtract the 8-bit values in M2 from the 8-bit values in M1 using
+ unsigned saturating arithmetic. */
+-static __inline __m64 __attribute__((__always_inline__, __artificial__))
++extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_subs_pu8 (__m64 __m1, __m64 __m2)
+ {
+ return (__m64) __builtin_ia32_psubusb ((__v8qi)__m1, (__v8qi)__m2);
+ }
+
+-static __inline __m64 __attribute__((__always_inline__, __artificial__))
++extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _m_psubusb (__m64 __m1, __m64 __m2)
+ {
+ return _mm_subs_pu8 (__m1, __m2);
+@@ -461,13 +461,13 @@
+
+ /* Subtract the 16-bit values in M2 from the 16-bit values in M1 using
+ unsigned saturating arithmetic. */
+-static __inline __m64 __attribute__((__always_inline__, __artificial__))
++extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_subs_pu16 (__m64 __m1, __m64 __m2)
+ {
+ return (__m64) __builtin_ia32_psubusw ((__v4hi)__m1, (__v4hi)__m2);
+ }
+
+-static __inline __m64 __attribute__((__always_inline__, __artificial__))
++extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _m_psubusw (__m64 __m1, __m64 __m2)
+ {
+ return _mm_subs_pu16 (__m1, __m2);
+@@ -476,13 +476,13 @@
+ /* Multiply four 16-bit values in M1 by four 16-bit values in M2 producing
+ four 32-bit intermediate results, which are then summed by pairs to
+ produce two 32-bit results. */
+-static __inline __m64 __attribute__((__always_inline__, __artificial__))
++extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_madd_pi16 (__m64 __m1, __m64 __m2)
+ {
+ return (__m64) __builtin_ia32_pmaddwd ((__v4hi)__m1, (__v4hi)__m2);
+ }
+
+-static __inline __m64 __attribute__((__always_inline__, __artificial__))
++extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _m_pmaddwd (__m64 __m1, __m64 __m2)
+ {
+ return _mm_madd_pi16 (__m1, __m2);
+@@ -490,13 +490,13 @@
+
+ /* Multiply four signed 16-bit values in M1 by four signed 16-bit values in
+ M2 and produce the high 16 bits of the 32-bit results. */
+-static __inline __m64 __attribute__((__always_inline__, __artificial__))
++extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_mulhi_pi16 (__m64 __m1, __m64 __m2)
+ {
+ return (__m64) __builtin_ia32_pmulhw ((__v4hi)__m1, (__v4hi)__m2);
+ }
+
+-static __inline __m64 __attribute__((__always_inline__, __artificial__))
++extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _m_pmulhw (__m64 __m1, __m64 __m2)
+ {
+ return _mm_mulhi_pi16 (__m1, __m2);
+@@ -504,226 +504,226 @@
+
+ /* Multiply four 16-bit values in M1 by four 16-bit values in M2 and produce
+ the low 16 bits of the results. */
+-static __inline __m64 __attribute__((__always_inline__, __artificial__))
++extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_mullo_pi16 (__m64 __m1, __m64 __m2)
+ {
+ return (__m64) __builtin_ia32_pmullw ((__v4hi)__m1, (__v4hi)__m2);
+ }
+
+-static __inline __m64 __attribute__((__always_inline__, __artificial__))
++extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _m_pmullw (__m64 __m1, __m64 __m2)
+ {
+ return _mm_mullo_pi16 (__m1, __m2);
+ }
+
+ /* Shift four 16-bit values in M left by COUNT. */
+-static __inline __m64 __attribute__((__always_inline__, __artificial__))
++extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_sll_pi16 (__m64 __m, __m64 __count)
+ {
+ return (__m64) __builtin_ia32_psllw ((__v4hi)__m, (long long)__count);
+ }
+
+-static __inline __m64 __attribute__((__always_inline__, __artificial__))
++extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _m_psllw (__m64 __m, __m64 __count)
+ {
+ return _mm_sll_pi16 (__m, __count);
+ }
+
+-static __inline __m64 __attribute__((__always_inline__, __artificial__))
++extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_slli_pi16 (__m64 __m, int __count)
+ {
+ return (__m64) __builtin_ia32_psllw ((__v4hi)__m, __count);
+ }
+
+-static __inline __m64 __attribute__((__always_inline__, __artificial__))
++extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _m_psllwi (__m64 __m, int __count)
+ {
+ return _mm_slli_pi16 (__m, __count);
+ }
+
+ /* Shift two 32-bit values in M left by COUNT. */
+-static __inline __m64 __attribute__((__always_inline__, __artificial__))
++extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_sll_pi32 (__m64 __m, __m64 __count)
+ {
+ return (__m64) __builtin_ia32_pslld ((__v2si)__m, (long long)__count);
+ }
+
+-static __inline __m64 __attribute__((__always_inline__, __artificial__))
++extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _m_pslld (__m64 __m, __m64 __count)
+ {
+ return _mm_sll_pi32 (__m, __count);
+ }
+
+-static __inline __m64 __attribute__((__always_inline__, __artificial__))
++extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_slli_pi32 (__m64 __m, int __count)
+ {
+ return (__m64) __builtin_ia32_pslld ((__v2si)__m, __count);
+ }
+
+-static __inline __m64 __attribute__((__always_inline__, __artificial__))
++extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _m_pslldi (__m64 __m, int __count)
+ {
+ return _mm_slli_pi32 (__m, __count);
+ }
+
+ /* Shift the 64-bit value in M left by COUNT. */
+-static __inline __m64 __attribute__((__always_inline__, __artificial__))
++extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_sll_si64 (__m64 __m, __m64 __count)
+ {
+ return (__m64) __builtin_ia32_psllq ((long long)__m, (long long)__count);
+ }
+
+-static __inline __m64 __attribute__((__always_inline__, __artificial__))
++extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _m_psllq (__m64 __m, __m64 __count)
+ {
+ return _mm_sll_si64 (__m, __count);
+ }
+
+-static __inline __m64 __attribute__((__always_inline__, __artificial__))
++extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_slli_si64 (__m64 __m, int __count)
+ {
+ return (__m64) __builtin_ia32_psllq ((long long)__m, (long long)__count);
+ }
+
+-static __inline __m64 __attribute__((__always_inline__, __artificial__))
++extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _m_psllqi (__m64 __m, int __count)
+ {
+ return _mm_slli_si64 (__m, __count);
+ }
+
+ /* Shift four 16-bit values in M right by COUNT; shift in the sign bit. */
+-static __inline __m64 __attribute__((__always_inline__, __artificial__))
++extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_sra_pi16 (__m64 __m, __m64 __count)
+ {
+ return (__m64) __builtin_ia32_psraw ((__v4hi)__m, (long long)__count);
+ }
+
+-static __inline __m64 __attribute__((__always_inline__, __artificial__))
++extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _m_psraw (__m64 __m, __m64 __count)
+ {
+ return _mm_sra_pi16 (__m, __count);
+ }
+
+-static __inline __m64 __attribute__((__always_inline__, __artificial__))
++extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_srai_pi16 (__m64 __m, int __count)
+ {
+ return (__m64) __builtin_ia32_psraw ((__v4hi)__m, __count);
+ }
+
+-static __inline __m64 __attribute__((__always_inline__, __artificial__))
++extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _m_psrawi (__m64 __m, int __count)
+ {
+ return _mm_srai_pi16 (__m, __count);
+ }
+
+ /* Shift two 32-bit values in M right by COUNT; shift in the sign bit. */
+-static __inline __m64 __attribute__((__always_inline__, __artificial__))
++extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_sra_pi32 (__m64 __m, __m64 __count)
+ {
+ return (__m64) __builtin_ia32_psrad ((__v2si)__m, (long long)__count);
+ }
+
+-static __inline __m64 __attribute__((__always_inline__, __artificial__))
++extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _m_psrad (__m64 __m, __m64 __count)
+ {
+ return _mm_sra_pi32 (__m, __count);
+ }
+
+-static __inline __m64 __attribute__((__always_inline__, __artificial__))
++extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_srai_pi32 (__m64 __m, int __count)
+ {
+ return (__m64) __builtin_ia32_psrad ((__v2si)__m, __count);
+ }
+
+-static __inline __m64 __attribute__((__always_inline__, __artificial__))
++extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _m_psradi (__m64 __m, int __count)
+ {
+ return _mm_srai_pi32 (__m, __count);
+ }
+
+ /* Shift four 16-bit values in M right by COUNT; shift in zeros. */
+-static __inline __m64 __attribute__((__always_inline__, __artificial__))
++extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_srl_pi16 (__m64 __m, __m64 __count)
+ {
+ return (__m64) __builtin_ia32_psrlw ((__v4hi)__m, (long long)__count);
+ }
+
+-static __inline __m64 __attribute__((__always_inline__, __artificial__))
++extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _m_psrlw (__m64 __m, __m64 __count)
+ {
+ return _mm_srl_pi16 (__m, __count);
+ }
+
+-static __inline __m64 __attribute__((__always_inline__, __artificial__))
++extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_srli_pi16 (__m64 __m, int __count)
+ {
+ return (__m64) __builtin_ia32_psrlw ((__v4hi)__m, __count);
+ }
+
+-static __inline __m64 __attribute__((__always_inline__, __artificial__))
++extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _m_psrlwi (__m64 __m, int __count)
+ {
+ return _mm_srli_pi16 (__m, __count);
+ }
+
+ /* Shift two 32-bit values in M right by COUNT; shift in zeros. */
+-static __inline __m64 __attribute__((__always_inline__, __artificial__))
++extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_srl_pi32 (__m64 __m, __m64 __count)
+ {
+ return (__m64) __builtin_ia32_psrld ((__v2si)__m, (long long)__count);
+ }
+
+-static __inline __m64 __attribute__((__always_inline__, __artificial__))
++extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _m_psrld (__m64 __m, __m64 __count)
+ {
+ return _mm_srl_pi32 (__m, __count);
+ }
+
+-static __inline __m64 __attribute__((__always_inline__, __artificial__))
++extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_srli_pi32 (__m64 __m, int __count)
+ {
+ return (__m64) __builtin_ia32_psrld ((__v2si)__m, __count);
+ }
+
+-static __inline __m64 __attribute__((__always_inline__, __artificial__))
++extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _m_psrldi (__m64 __m, int __count)
+ {
+ return _mm_srli_pi32 (__m, __count);
+ }
+
+ /* Shift the 64-bit value in M left by COUNT; shift in zeros. */
+-static __inline __m64 __attribute__((__always_inline__, __artificial__))
++extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_srl_si64 (__m64 __m, __m64 __count)
+ {
+ return (__m64) __builtin_ia32_psrlq ((long long)__m, (long long)__count);
+ }
+
+-static __inline __m64 __attribute__((__always_inline__, __artificial__))
++extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _m_psrlq (__m64 __m, __m64 __count)
+ {
+ return _mm_srl_si64 (__m, __count);
+ }
+
+-static __inline __m64 __attribute__((__always_inline__, __artificial__))
++extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_srli_si64 (__m64 __m, int __count)
+ {
+ return (__m64) __builtin_ia32_psrlq ((long long)__m, (long long)__count);
+ }
+
+-static __inline __m64 __attribute__((__always_inline__, __artificial__))
++extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _m_psrlqi (__m64 __m, int __count)
+ {
+ return _mm_srli_si64 (__m, __count);
+ }
+
+ /* Bit-wise AND the 64-bit values in M1 and M2. */
+-static __inline __m64 __attribute__((__always_inline__, __artificial__))
++extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_and_si64 (__m64 __m1, __m64 __m2)
+ {
+ return __builtin_ia32_pand (__m1, __m2);
+ }
+
+-static __inline __m64 __attribute__((__always_inline__, __artificial__))
++extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _m_pand (__m64 __m1, __m64 __m2)
+ {
+ return _mm_and_si64 (__m1, __m2);
+@@ -731,39 +731,39 @@
+
+ /* Bit-wise complement the 64-bit value in M1 and bit-wise AND it with the
+ 64-bit value in M2. */
+-static __inline __m64 __attribute__((__always_inline__, __artificial__))
++extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_andnot_si64 (__m64 __m1, __m64 __m2)
+ {
+ return __builtin_ia32_pandn (__m1, __m2);
+ }
+
+-static __inline __m64 __attribute__((__always_inline__, __artificial__))
++extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _m_pandn (__m64 __m1, __m64 __m2)
+ {
+ return _mm_andnot_si64 (__m1, __m2);
+ }
+
+ /* Bit-wise inclusive OR the 64-bit values in M1 and M2. */
+-static __inline __m64 __attribute__((__always_inline__, __artificial__))
++extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_or_si64 (__m64 __m1, __m64 __m2)
+ {
+ return __builtin_ia32_por (__m1, __m2);
+ }
+
+-static __inline __m64 __attribute__((__always_inline__, __artificial__))
++extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _m_por (__m64 __m1, __m64 __m2)
+ {
+ return _mm_or_si64 (__m1, __m2);
+ }
+
+ /* Bit-wise exclusive OR the 64-bit values in M1 and M2. */
+-static __inline __m64 __attribute__((__always_inline__, __artificial__))
++extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_xor_si64 (__m64 __m1, __m64 __m2)
+ {
+ return __builtin_ia32_pxor (__m1, __m2);
+ }
+
+-static __inline __m64 __attribute__((__always_inline__, __artificial__))
++extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _m_pxor (__m64 __m1, __m64 __m2)
+ {
+ return _mm_xor_si64 (__m1, __m2);
+@@ -771,25 +771,25 @@
+
+ /* Compare eight 8-bit values. The result of the comparison is 0xFF if the
+ test is true and zero if false. */
+-static __inline __m64 __attribute__((__always_inline__, __artificial__))
++extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_cmpeq_pi8 (__m64 __m1, __m64 __m2)
+ {
+ return (__m64) __builtin_ia32_pcmpeqb ((__v8qi)__m1, (__v8qi)__m2);
+ }
+
+-static __inline __m64 __attribute__((__always_inline__, __artificial__))
++extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _m_pcmpeqb (__m64 __m1, __m64 __m2)
+ {
+ return _mm_cmpeq_pi8 (__m1, __m2);
+ }
+
+-static __inline __m64 __attribute__((__always_inline__, __artificial__))
++extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_cmpgt_pi8 (__m64 __m1, __m64 __m2)
+ {
+ return (__m64) __builtin_ia32_pcmpgtb ((__v8qi)__m1, (__v8qi)__m2);
+ }
+
+-static __inline __m64 __attribute__((__always_inline__, __artificial__))
++extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _m_pcmpgtb (__m64 __m1, __m64 __m2)
+ {
+ return _mm_cmpgt_pi8 (__m1, __m2);
+@@ -797,25 +797,25 @@
+
+ /* Compare four 16-bit values. The result of the comparison is 0xFFFF if
+ the test is true and zero if false. */
+-static __inline __m64 __attribute__((__always_inline__, __artificial__))
++extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_cmpeq_pi16 (__m64 __m1, __m64 __m2)
+ {
+ return (__m64) __builtin_ia32_pcmpeqw ((__v4hi)__m1, (__v4hi)__m2);
+ }
+
+-static __inline __m64 __attribute__((__always_inline__, __artificial__))
++extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _m_pcmpeqw (__m64 __m1, __m64 __m2)
+ {
+ return _mm_cmpeq_pi16 (__m1, __m2);
+ }
+
+-static __inline __m64 __attribute__((__always_inline__, __artificial__))
++extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_cmpgt_pi16 (__m64 __m1, __m64 __m2)
+ {
+ return (__m64) __builtin_ia32_pcmpgtw ((__v4hi)__m1, (__v4hi)__m2);
+ }
+
+-static __inline __m64 __attribute__((__always_inline__, __artificial__))
++extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _m_pcmpgtw (__m64 __m1, __m64 __m2)
+ {
+ return _mm_cmpgt_pi16 (__m1, __m2);
+@@ -823,53 +823,53 @@
+
+ /* Compare two 32-bit values. The result of the comparison is 0xFFFFFFFF if
+ the test is true and zero if false. */
+-static __inline __m64 __attribute__((__always_inline__, __artificial__))
++extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_cmpeq_pi32 (__m64 __m1, __m64 __m2)
+ {
+ return (__m64) __builtin_ia32_pcmpeqd ((__v2si)__m1, (__v2si)__m2);
+ }
+
+-static __inline __m64 __attribute__((__always_inline__, __artificial__))
++extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _m_pcmpeqd (__m64 __m1, __m64 __m2)
+ {
+ return _mm_cmpeq_pi32 (__m1, __m2);
+ }
+
+-static __inline __m64 __attribute__((__always_inline__, __artificial__))
++extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_cmpgt_pi32 (__m64 __m1, __m64 __m2)
+ {
+ return (__m64) __builtin_ia32_pcmpgtd ((__v2si)__m1, (__v2si)__m2);
+ }
+
+-static __inline __m64 __attribute__((__always_inline__, __artificial__))
++extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _m_pcmpgtd (__m64 __m1, __m64 __m2)
+ {
+ return _mm_cmpgt_pi32 (__m1, __m2);
+ }
+
+ /* Creates a 64-bit zero. */
+-static __inline __m64 __attribute__((__always_inline__, __artificial__))
++extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_setzero_si64 (void)
+ {
+ return (__m64)0LL;
+ }
+
+ /* Creates a vector of two 32-bit values; I0 is least significant. */
+-static __inline __m64 __attribute__((__always_inline__, __artificial__))
++extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_set_pi32 (int __i1, int __i0)
+ {
+ return (__m64) __builtin_ia32_vec_init_v2si (__i0, __i1);
+ }
+
+ /* Creates a vector of four 16-bit values; W0 is least significant. */
+-static __inline __m64 __attribute__((__always_inline__, __artificial__))
++extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_set_pi16 (short __w3, short __w2, short __w1, short __w0)
+ {
+ return (__m64) __builtin_ia32_vec_init_v4hi (__w0, __w1, __w2, __w3);
+ }
+
+ /* Creates a vector of eight 8-bit values; B0 is least significant. */
+-static __inline __m64 __attribute__((__always_inline__, __artificial__))
++extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_set_pi8 (char __b7, char __b6, char __b5, char __b4,
+ char __b3, char __b2, char __b1, char __b0)
+ {
+@@ -878,19 +878,19 @@
+ }
+
+ /* Similar, but with the arguments in reverse order. */
+-static __inline __m64 __attribute__((__always_inline__, __artificial__))
++extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_setr_pi32 (int __i0, int __i1)
+ {
+ return _mm_set_pi32 (__i1, __i0);
+ }
+
+-static __inline __m64 __attribute__((__always_inline__, __artificial__))
++extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_setr_pi16 (short __w0, short __w1, short __w2, short __w3)
+ {
+ return _mm_set_pi16 (__w3, __w2, __w1, __w0);
+ }
+
+-static __inline __m64 __attribute__((__always_inline__, __artificial__))
++extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_setr_pi8 (char __b0, char __b1, char __b2, char __b3,
+ char __b4, char __b5, char __b6, char __b7)
+ {
+@@ -898,21 +898,21 @@
+ }
+
+ /* Creates a vector of two 32-bit values, both elements containing I. */
+-static __inline __m64 __attribute__((__always_inline__, __artificial__))
++extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_set1_pi32 (int __i)
+ {
+ return _mm_set_pi32 (__i, __i);
+ }
+
+ /* Creates a vector of four 16-bit values, all elements containing W. */
+-static __inline __m64 __attribute__((__always_inline__, __artificial__))
++extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_set1_pi16 (short __w)
+ {
+ return _mm_set_pi16 (__w, __w, __w, __w);
+ }
+
+ /* Creates a vector of eight 8-bit values, all elements containing B. */
+-static __inline __m64 __attribute__((__always_inline__, __artificial__))
++extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_set1_pi8 (char __b)
+ {
+ return _mm_set_pi8 (__b, __b, __b, __b, __b, __b, __b, __b);
+Index: gcc/config/i386/smmintrin.h
+===================================================================
+--- gcc/config/i386/smmintrin.h (.../tags/gcc_4_3_0_release) (revision 133808)
++++ gcc/config/i386/smmintrin.h (.../branches/gcc-4_3-branch) (revision 133808)
+@@ -45,7 +45,7 @@
+ constant/variable mask. */
+
+ #ifdef __OPTIMIZE__
+-static __inline __m128i __attribute__((__always_inline__, __artificial__))
++extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_blend_epi16 (__m128i __X, __m128i __Y, const int __M)
+ {
+ return (__m128i) __builtin_ia32_pblendw128 ((__v8hi)__X,
+@@ -58,7 +58,7 @@
+ (__v8hi)(__m128i)(Y), (int)(M)))
+ #endif
+
+-static __inline __m128i __attribute__((__always_inline__, __artificial__))
++extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_blendv_epi8 (__m128i __X, __m128i __Y, __m128i __M)
+ {
+ return (__m128i) __builtin_ia32_pblendvb128 ((__v16qi)__X,
+@@ -70,7 +70,7 @@
+ from 2 sources using constant/variable mask. */
+
+ #ifdef __OPTIMIZE__
+-static __inline __m128 __attribute__((__always_inline__, __artificial__))
++extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_blend_ps (__m128 __X, __m128 __Y, const int __M)
+ {
+ return (__m128) __builtin_ia32_blendps ((__v4sf)__X,
+@@ -83,7 +83,7 @@
+ (__v4sf)(__m128)(Y), (int)(M)))
+ #endif
+
+-static __inline __m128 __attribute__((__always_inline__, __artificial__))
++extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_blendv_ps (__m128 __X, __m128 __Y, __m128 __M)
+ {
+ return (__m128) __builtin_ia32_blendvps ((__v4sf)__X,
+@@ -95,7 +95,7 @@
+ from 2 sources using constant/variable mask. */
+
+ #ifdef __OPTIMIZE__
+-static __inline __m128d __attribute__((__always_inline__, __artificial__))
++extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_blend_pd (__m128d __X, __m128d __Y, const int __M)
+ {
+ return (__m128d) __builtin_ia32_blendpd ((__v2df)__X,
+@@ -108,7 +108,7 @@
+ (__v2df)(__m128d)(Y), (int)(M)))
+ #endif
+
+-static __inline __m128d __attribute__((__always_inline__, __artificial__))
++extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_blendv_pd (__m128d __X, __m128d __Y, __m128d __M)
+ {
+ return (__m128d) __builtin_ia32_blendvpd ((__v2df)__X,
+@@ -120,7 +120,7 @@
+ of result. */
+
+ #ifdef __OPTIMIZE__
+-static __inline __m128 __attribute__((__always_inline__, __artificial__))
++extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_dp_ps (__m128 __X, __m128 __Y, const int __M)
+ {
+ return (__m128) __builtin_ia32_dpps ((__v4sf)__X,
+@@ -128,7 +128,7 @@
+ __M);
+ }
+
+-static __inline __m128d __attribute__((__always_inline__, __artificial__))
++extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_dp_pd (__m128d __X, __m128d __Y, const int __M)
+ {
+ return (__m128d) __builtin_ia32_dppd ((__v2df)__X,
+@@ -147,7 +147,7 @@
+
+ /* Packed integer 64-bit comparison, zeroing or filling with ones
+ corresponding parts of result. */
+-static __inline __m128i __attribute__((__always_inline__, __artificial__))
++extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_cmpeq_epi64 (__m128i __X, __m128i __Y)
+ {
+ return (__m128i) __builtin_ia32_pcmpeqq ((__v2di)__X, (__v2di)__Y);
+@@ -155,49 +155,49 @@
+
+ /* Min/max packed integer instructions. */
+
+-static __inline __m128i __attribute__((__always_inline__, __artificial__))
++extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_min_epi8 (__m128i __X, __m128i __Y)
+ {
+ return (__m128i) __builtin_ia32_pminsb128 ((__v16qi)__X, (__v16qi)__Y);
+ }
+
+-static __inline __m128i __attribute__((__always_inline__, __artificial__))
++extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_max_epi8 (__m128i __X, __m128i __Y)
+ {
+ return (__m128i) __builtin_ia32_pmaxsb128 ((__v16qi)__X, (__v16qi)__Y);
+ }
+
+-static __inline __m128i __attribute__((__always_inline__, __artificial__))
++extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_min_epu16 (__m128i __X, __m128i __Y)
+ {
+ return (__m128i) __builtin_ia32_pminuw128 ((__v8hi)__X, (__v8hi)__Y);
+ }
+
+-static __inline __m128i __attribute__((__always_inline__, __artificial__))
++extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_max_epu16 (__m128i __X, __m128i __Y)
+ {
+ return (__m128i) __builtin_ia32_pmaxuw128 ((__v8hi)__X, (__v8hi)__Y);
+ }
+
+-static __inline __m128i __attribute__((__always_inline__, __artificial__))
++extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_min_epi32 (__m128i __X, __m128i __Y)
+ {
+ return (__m128i) __builtin_ia32_pminsd128 ((__v4si)__X, (__v4si)__Y);
+ }
+
+-static __inline __m128i __attribute__((__always_inline__, __artificial__))
++extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_max_epi32 (__m128i __X, __m128i __Y)
+ {
+ return (__m128i) __builtin_ia32_pmaxsd128 ((__v4si)__X, (__v4si)__Y);
+ }
+
+-static __inline __m128i __attribute__((__always_inline__, __artificial__))
++extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_min_epu32 (__m128i __X, __m128i __Y)
+ {
+ return (__m128i) __builtin_ia32_pminud128 ((__v4si)__X, (__v4si)__Y);
+ }
+
+-static __inline __m128i __attribute__((__always_inline__, __artificial__))
++extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_max_epu32 (__m128i __X, __m128i __Y)
+ {
+ return (__m128i) __builtin_ia32_pmaxud128 ((__v4si)__X, (__v4si)__Y);
+@@ -205,7 +205,7 @@
+
+ /* Packed integer 32-bit multiplication with truncation of upper
+ halves of results. */
+-static __inline __m128i __attribute__((__always_inline__, __artificial__))
++extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_mullo_epi32 (__m128i __X, __m128i __Y)
+ {
+ return (__m128i) __builtin_ia32_pmulld128 ((__v4si)__X, (__v4si)__Y);
+@@ -213,7 +213,7 @@
+
+ /* Packed integer 32-bit multiplication of 2 pairs of operands
+ with two 64-bit results. */
+-static __inline __m128i __attribute__((__always_inline__, __artificial__))
++extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_mul_epi32 (__m128i __X, __m128i __Y)
+ {
+ return (__m128i) __builtin_ia32_pmuldq128 ((__v4si)__X, (__v4si)__Y);
+@@ -225,7 +225,7 @@
+ zeroing mask for D. */
+
+ #ifdef __OPTIMIZE__
+-static __inline __m128 __attribute__((__always_inline__, __artificial__))
++extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_insert_ps (__m128 __D, __m128 __S, const int __N)
+ {
+ return (__m128) __builtin_ia32_insertps128 ((__v4sf)__D,
+@@ -245,7 +245,7 @@
+ single precision array element of X selected by index N. */
+
+ #ifdef __OPTIMIZE__
+-static __inline int __attribute__((__always_inline__, __artificial__))
++extern __inline int __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_extract_ps (__m128 __X, const int __N)
+ {
+ union { int i; float f; } __tmp;
+@@ -278,14 +278,14 @@
+ selected by index N. */
+
+ #ifdef __OPTIMIZE__
+-static __inline __m128i __attribute__((__always_inline__, __artificial__))
++extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_insert_epi8 (__m128i __D, int __S, const int __N)
+ {
+ return (__m128i) __builtin_ia32_vec_set_v16qi ((__v16qi)__D,
+ __S, __N);
+ }
+
+-static __inline __m128i __attribute__((__always_inline__, __artificial__))
++extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_insert_epi32 (__m128i __D, int __S, const int __N)
+ {
+ return (__m128i) __builtin_ia32_vec_set_v4si ((__v4si)__D,
+@@ -293,7 +293,7 @@
+ }
+
+ #ifdef __x86_64__
+-static __inline __m128i __attribute__((__always_inline__, __artificial__))
++extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_insert_epi64 (__m128i __D, long long __S, const int __N)
+ {
+ return (__m128i) __builtin_ia32_vec_set_v2di ((__v2di)__D,
+@@ -320,20 +320,20 @@
+ index N. */
+
+ #ifdef __OPTIMIZE__
+-static __inline int __attribute__((__always_inline__, __artificial__))
++extern __inline int __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_extract_epi8 (__m128i __X, const int __N)
+ {
+ return __builtin_ia32_vec_ext_v16qi ((__v16qi)__X, __N);
+ }
+
+-static __inline int __attribute__((__always_inline__, __artificial__))
++extern __inline int __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_extract_epi32 (__m128i __X, const int __N)
+ {
+ return __builtin_ia32_vec_ext_v4si ((__v4si)__X, __N);
+ }
+
+ #ifdef __x86_64__
+-static __inline long long __attribute__((__always_inline__, __artificial__))
++extern __inline long long __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_extract_epi64 (__m128i __X, const int __N)
+ {
+ return __builtin_ia32_vec_ext_v2di ((__v2di)__X, __N);
+@@ -353,7 +353,7 @@
+
+ /* Return horizontal packed word minimum and its index in bits [15:0]
+ and bits [18:16] respectively. */
+-static __inline __m128i __attribute__((__always_inline__, __artificial__))
++extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_minpos_epu16 (__m128i __X)
+ {
+ return (__m128i) __builtin_ia32_phminposuw128 ((__v8hi)__X);
+@@ -361,37 +361,37 @@
+
+ /* Packed integer sign-extension. */
+
+-static __inline __m128i __attribute__((__always_inline__, __artificial__))
++extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_cvtepi8_epi32 (__m128i __X)
+ {
+ return (__m128i) __builtin_ia32_pmovsxbd128 ((__v16qi)__X);
+ }
+
+-static __inline __m128i __attribute__((__always_inline__, __artificial__))
++extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_cvtepi16_epi32 (__m128i __X)
+ {
+ return (__m128i) __builtin_ia32_pmovsxwd128 ((__v8hi)__X);
+ }
+
+-static __inline __m128i __attribute__((__always_inline__, __artificial__))
++extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_cvtepi8_epi64 (__m128i __X)
+ {
+ return (__m128i) __builtin_ia32_pmovsxbq128 ((__v16qi)__X);
+ }
+
+-static __inline __m128i __attribute__((__always_inline__, __artificial__))
++extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_cvtepi32_epi64 (__m128i __X)
+ {
+ return (__m128i) __builtin_ia32_pmovsxdq128 ((__v4si)__X);
+ }
+
+-static __inline __m128i __attribute__((__always_inline__, __artificial__))
++extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_cvtepi16_epi64 (__m128i __X)
+ {
+ return (__m128i) __builtin_ia32_pmovsxwq128 ((__v8hi)__X);
+ }
+
+-static __inline __m128i __attribute__((__always_inline__, __artificial__))
++extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_cvtepi8_epi16 (__m128i __X)
+ {
+ return (__m128i) __builtin_ia32_pmovsxbw128 ((__v16qi)__X);
+@@ -399,37 +399,37 @@
+
+ /* Packed integer zero-extension. */
+
+-static __inline __m128i __attribute__((__always_inline__, __artificial__))
++extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_cvtepu8_epi32 (__m128i __X)
+ {
+ return (__m128i) __builtin_ia32_pmovzxbd128 ((__v16qi)__X);
+ }
+
+-static __inline __m128i __attribute__((__always_inline__, __artificial__))
++extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_cvtepu16_epi32 (__m128i __X)
+ {
+ return (__m128i) __builtin_ia32_pmovzxwd128 ((__v8hi)__X);
+ }
+
+-static __inline __m128i __attribute__((__always_inline__, __artificial__))
++extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_cvtepu8_epi64 (__m128i __X)
+ {
+ return (__m128i) __builtin_ia32_pmovzxbq128 ((__v16qi)__X);
+ }
+
+-static __inline __m128i __attribute__((__always_inline__, __artificial__))
++extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_cvtepu32_epi64 (__m128i __X)
+ {
+ return (__m128i) __builtin_ia32_pmovzxdq128 ((__v4si)__X);
+ }
+
+-static __inline __m128i __attribute__((__always_inline__, __artificial__))
++extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_cvtepu16_epi64 (__m128i __X)
+ {
+ return (__m128i) __builtin_ia32_pmovzxwq128 ((__v8hi)__X);
+ }
+
+-static __inline __m128i __attribute__((__always_inline__, __artificial__))
++extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_cvtepu8_epi16 (__m128i __X)
+ {
+ return (__m128i) __builtin_ia32_pmovzxbw128 ((__v16qi)__X);
+@@ -437,7 +437,7 @@
+
+ /* Pack 8 double words from 2 operands into 8 words of result with
+ unsigned saturation. */
+-static __inline __m128i __attribute__((__always_inline__, __artificial__))
++extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_packus_epi32 (__m128i __X, __m128i __Y)
+ {
+ return (__m128i) __builtin_ia32_packusdw128 ((__v4si)__X, (__v4si)__Y);
+@@ -448,7 +448,7 @@
+ operands are determined by the 3rd mask operand. */
+
+ #ifdef __OPTIMIZE__
+-static __inline __m128i __attribute__((__always_inline__, __artificial__))
++extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_mpsadbw_epu8 (__m128i __X, __m128i __Y, const int __M)
+ {
+ return (__m128i) __builtin_ia32_mpsadbw128 ((__v16qi)__X,
+@@ -461,7 +461,7 @@
+ #endif
+
+ /* Load double quadword using non-temporal aligned hint. */
+-static __inline __m128i __attribute__((__always_inline__, __artificial__))
++extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_stream_load_si128 (__m128i *__X)
+ {
+ return (__m128i) __builtin_ia32_movntdqa ((__v2di *) __X);
+@@ -498,7 +498,7 @@
+ /* Intrinsics for text/string processing. */
+
+ #ifdef __OPTIMIZE__
+-static __inline __m128i __attribute__((__always_inline__, __artificial__))
++extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_cmpistrm (__m128i __X, __m128i __Y, const int __M)
+ {
+ return (__m128i) __builtin_ia32_pcmpistrm128 ((__v16qi)__X,
+@@ -506,7 +506,7 @@
+ __M);
+ }
+
+-static __inline int __attribute__((__always_inline__, __artificial__))
++extern __inline int __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_cmpistri (__m128i __X, __m128i __Y, const int __M)
+ {
+ return __builtin_ia32_pcmpistri128 ((__v16qi)__X,
+@@ -514,7 +514,7 @@
+ __M);
+ }
+
+-static __inline __m128i __attribute__((__always_inline__, __artificial__))
++extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_cmpestrm (__m128i __X, int __LX, __m128i __Y, int __LY, const int __M)
+ {
+ return (__m128i) __builtin_ia32_pcmpestrm128 ((__v16qi)__X, __LX,
+@@ -522,7 +522,7 @@
+ __M);
+ }
+
+-static __inline int __attribute__((__always_inline__, __artificial__))
++extern __inline int __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_cmpestri (__m128i __X, int __LX, __m128i __Y, int __LY, const int __M)
+ {
+ return __builtin_ia32_pcmpestri128 ((__v16qi)__X, __LX,
+@@ -551,7 +551,7 @@
+ EFlags. */
+
+ #ifdef __OPTIMIZE__
+-static __inline int __attribute__((__always_inline__, __artificial__))
++extern __inline int __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_cmpistra (__m128i __X, __m128i __Y, const int __M)
+ {
+ return __builtin_ia32_pcmpistria128 ((__v16qi)__X,
+@@ -559,7 +559,7 @@
+ __M);
+ }
+
+-static __inline int __attribute__((__always_inline__, __artificial__))
++extern __inline int __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_cmpistrc (__m128i __X, __m128i __Y, const int __M)
+ {
+ return __builtin_ia32_pcmpistric128 ((__v16qi)__X,
+@@ -567,7 +567,7 @@
+ __M);
+ }
+
+-static __inline int __attribute__((__always_inline__, __artificial__))
++extern __inline int __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_cmpistro (__m128i __X, __m128i __Y, const int __M)
+ {
+ return __builtin_ia32_pcmpistrio128 ((__v16qi)__X,
+@@ -575,7 +575,7 @@
+ __M);
+ }
+
+-static __inline int __attribute__((__always_inline__, __artificial__))
++extern __inline int __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_cmpistrs (__m128i __X, __m128i __Y, const int __M)
+ {
+ return __builtin_ia32_pcmpistris128 ((__v16qi)__X,
+@@ -583,7 +583,7 @@
+ __M);
+ }
+
+-static __inline int __attribute__((__always_inline__, __artificial__))
++extern __inline int __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_cmpistrz (__m128i __X, __m128i __Y, const int __M)
+ {
+ return __builtin_ia32_pcmpistriz128 ((__v16qi)__X,
+@@ -591,7 +591,7 @@
+ __M);
+ }
+
+-static __inline int __attribute__((__always_inline__, __artificial__))
++extern __inline int __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_cmpestra (__m128i __X, int __LX, __m128i __Y, int __LY, const int __M)
+ {
+ return __builtin_ia32_pcmpestria128 ((__v16qi)__X, __LX,
+@@ -599,7 +599,7 @@
+ __M);
+ }
+
+-static __inline int __attribute__((__always_inline__, __artificial__))
++extern __inline int __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_cmpestrc (__m128i __X, int __LX, __m128i __Y, int __LY, const int __M)
+ {
+ return __builtin_ia32_pcmpestric128 ((__v16qi)__X, __LX,
+@@ -607,7 +607,7 @@
+ __M);
+ }
+
+-static __inline int __attribute__((__always_inline__, __artificial__))
++extern __inline int __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_cmpestro (__m128i __X, int __LX, __m128i __Y, int __LY, const int __M)
+ {
+ return __builtin_ia32_pcmpestrio128 ((__v16qi)__X, __LX,
+@@ -615,7 +615,7 @@
+ __M);
+ }
+
+-static __inline int __attribute__((__always_inline__, __artificial__))
++extern __inline int __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_cmpestrs (__m128i __X, int __LX, __m128i __Y, int __LY, const int __M)
+ {
+ return __builtin_ia32_pcmpestris128 ((__v16qi)__X, __LX,
+@@ -623,7 +623,7 @@
+ __M);
+ }
+
+-static __inline int __attribute__((__always_inline__, __artificial__))
++extern __inline int __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_cmpestrz (__m128i __X, int __LX, __m128i __Y, int __LY, const int __M)
+ {
+ return __builtin_ia32_pcmpestriz128 ((__v16qi)__X, __LX,
+@@ -671,21 +671,21 @@
+
+ /* Packed integer 64-bit comparison, zeroing or filling with ones
+ corresponding parts of result. */
+-static __inline __m128i __attribute__((__always_inline__, __artificial__))
++extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_cmpgt_epi64 (__m128i __X, __m128i __Y)
+ {
+ return (__m128i) __builtin_ia32_pcmpgtq ((__v2di)__X, (__v2di)__Y);
+ }
+
+ /* Calculate a number of bits set to 1. */
+-static __inline int __attribute__((__always_inline__, __artificial__))
++extern __inline int __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_popcnt_u32 (unsigned int __X)
+ {
+ return __builtin_popcount (__X);
+ }
+
+ #ifdef __x86_64__
+-static __inline long long __attribute__((__always_inline__, __artificial__))
++extern __inline long long __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_popcnt_u64 (unsigned long long __X)
+ {
+ return __builtin_popcountll (__X);
+@@ -693,26 +693,26 @@
+ #endif
+
+ /* Accumulate CRC32 (polynomial 0x11EDC6F41) value. */
+-static __inline unsigned int __attribute__((__always_inline__, __artificial__))
++extern __inline unsigned int __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_crc32_u8 (unsigned int __C, unsigned char __V)
+ {
+ return __builtin_ia32_crc32qi (__C, __V);
+ }
+
+-static __inline unsigned int __attribute__((__always_inline__, __artificial__))
++extern __inline unsigned int __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_crc32_u16 (unsigned int __C, unsigned short __V)
+ {
+ return __builtin_ia32_crc32hi (__C, __V);
+ }
+
+-static __inline unsigned int __attribute__((__always_inline__, __artificial__))
++extern __inline unsigned int __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_crc32_u32 (unsigned int __C, unsigned int __V)
+ {
+ return __builtin_ia32_crc32si (__C, __V);
+ }
+
+ #ifdef __x86_64__
+-static __inline unsigned long long __attribute__((__always_inline__, __artificial__))
++extern __inline unsigned long long __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_crc32_u64 (unsigned long long __C, unsigned long long __V)
+ {
+ return __builtin_ia32_crc32di (__C, __V);
+Index: gcc/config/i386/pmmintrin.h
+===================================================================
+--- gcc/config/i386/pmmintrin.h (.../tags/gcc_4_3_0_release) (revision 133808)
++++ gcc/config/i386/pmmintrin.h (.../branches/gcc-4_3-branch) (revision 133808)
+@@ -47,79 +47,79 @@
+ #define _MM_GET_DENORMALS_ZERO_MODE() \
+ (_mm_getcsr() & _MM_DENORMALS_ZERO_MASK)
+
+-static __inline __m128 __attribute__((__always_inline__, __artificial__))
++extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_addsub_ps (__m128 __X, __m128 __Y)
+ {
+ return (__m128) __builtin_ia32_addsubps ((__v4sf)__X, (__v4sf)__Y);
+ }
+
+-static __inline __m128 __attribute__((__always_inline__, __artificial__))
++extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_hadd_ps (__m128 __X, __m128 __Y)
+ {
+ return (__m128) __builtin_ia32_haddps ((__v4sf)__X, (__v4sf)__Y);
+ }
+
+-static __inline __m128 __attribute__((__always_inline__, __artificial__))
++extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_hsub_ps (__m128 __X, __m128 __Y)
+ {
+ return (__m128) __builtin_ia32_hsubps ((__v4sf)__X, (__v4sf)__Y);
+ }
+
+-static __inline __m128 __attribute__((__always_inline__, __artificial__))
++extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_movehdup_ps (__m128 __X)
+ {
+ return (__m128) __builtin_ia32_movshdup ((__v4sf)__X);
+ }
+
+-static __inline __m128 __attribute__((__always_inline__, __artificial__))
++extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_moveldup_ps (__m128 __X)
+ {
+ return (__m128) __builtin_ia32_movsldup ((__v4sf)__X);
+ }
+
+-static __inline __m128d __attribute__((__always_inline__, __artificial__))
++extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_addsub_pd (__m128d __X, __m128d __Y)
+ {
+ return (__m128d) __builtin_ia32_addsubpd ((__v2df)__X, (__v2df)__Y);
+ }
+
+-static __inline __m128d __attribute__((__always_inline__, __artificial__))
++extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_hadd_pd (__m128d __X, __m128d __Y)
+ {
+ return (__m128d) __builtin_ia32_haddpd ((__v2df)__X, (__v2df)__Y);
+ }
+
+-static __inline __m128d __attribute__((__always_inline__, __artificial__))
++extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_hsub_pd (__m128d __X, __m128d __Y)
+ {
+ return (__m128d) __builtin_ia32_hsubpd ((__v2df)__X, (__v2df)__Y);
+ }
+
+-static __inline __m128d __attribute__((__always_inline__, __artificial__))
++extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_loaddup_pd (double const *__P)
+ {
+ return _mm_load1_pd (__P);
+ }
+
+-static __inline __m128d __attribute__((__always_inline__, __artificial__))
++extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_movedup_pd (__m128d __X)
+ {
+ return _mm_shuffle_pd (__X, __X, _MM_SHUFFLE2 (0,0));
+ }
+
+-static __inline __m128i __attribute__((__always_inline__, __artificial__))
++extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_lddqu_si128 (__m128i const *__P)
+ {
+ return (__m128i) __builtin_ia32_lddqu ((char const *)__P);
+ }
+
+-static __inline void __attribute__((__always_inline__, __artificial__))
++extern __inline void __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_monitor (void const * __P, unsigned int __E, unsigned int __H)
+ {
+ __builtin_ia32_monitor (__P, __E, __H);
+ }
+
+-static __inline void __attribute__((__always_inline__, __artificial__))
++extern __inline void __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_mwait (unsigned int __E, unsigned int __H)
+ {
+ __builtin_ia32_mwait (__E, __H);
+Index: gcc/config/i386/tmmintrin.h
+===================================================================
+--- gcc/config/i386/tmmintrin.h (.../tags/gcc_4_3_0_release) (revision 133808)
++++ gcc/config/i386/tmmintrin.h (.../branches/gcc-4_3-branch) (revision 133808)
+@@ -37,159 +37,159 @@
+ /* We need definitions from the SSE3, SSE2 and SSE header files*/
+ #include <pmmintrin.h>
+
+-static __inline __m128i __attribute__((__always_inline__, __artificial__))
++extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_hadd_epi16 (__m128i __X, __m128i __Y)
+ {
+ return (__m128i) __builtin_ia32_phaddw128 ((__v8hi)__X, (__v8hi)__Y);
+ }
+
+-static __inline __m128i __attribute__((__always_inline__, __artificial__))
++extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_hadd_epi32 (__m128i __X, __m128i __Y)
+ {
+ return (__m128i) __builtin_ia32_phaddd128 ((__v4si)__X, (__v4si)__Y);
+ }
+
+-static __inline __m128i __attribute__((__always_inline__, __artificial__))
++extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_hadds_epi16 (__m128i __X, __m128i __Y)
+ {
+ return (__m128i) __builtin_ia32_phaddsw128 ((__v8hi)__X, (__v8hi)__Y);
+ }
+
+-static __inline __m64 __attribute__((__always_inline__, __artificial__))
++extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_hadd_pi16 (__m64 __X, __m64 __Y)
+ {
+ return (__m64) __builtin_ia32_phaddw ((__v4hi)__X, (__v4hi)__Y);
+ }
+
+-static __inline __m64 __attribute__((__always_inline__, __artificial__))
++extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_hadd_pi32 (__m64 __X, __m64 __Y)
+ {
+ return (__m64) __builtin_ia32_phaddd ((__v2si)__X, (__v2si)__Y);
+ }
+
+-static __inline __m64 __attribute__((__always_inline__, __artificial__))
++extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_hadds_pi16 (__m64 __X, __m64 __Y)
+ {
+ return (__m64) __builtin_ia32_phaddsw ((__v4hi)__X, (__v4hi)__Y);
+ }
+
+-static __inline __m128i __attribute__((__always_inline__, __artificial__))
++extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_hsub_epi16 (__m128i __X, __m128i __Y)
+ {
+ return (__m128i) __builtin_ia32_phsubw128 ((__v8hi)__X, (__v8hi)__Y);
+ }
+
+-static __inline __m128i __attribute__((__always_inline__, __artificial__))
++extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_hsub_epi32 (__m128i __X, __m128i __Y)
+ {
+ return (__m128i) __builtin_ia32_phsubd128 ((__v4si)__X, (__v4si)__Y);
+ }
+
+-static __inline __m128i __attribute__((__always_inline__, __artificial__))
++extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_hsubs_epi16 (__m128i __X, __m128i __Y)
+ {
+ return (__m128i) __builtin_ia32_phsubsw128 ((__v8hi)__X, (__v8hi)__Y);
+ }
+
+-static __inline __m64 __attribute__((__always_inline__, __artificial__))
++extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_hsub_pi16 (__m64 __X, __m64 __Y)
+ {
+ return (__m64) __builtin_ia32_phsubw ((__v4hi)__X, (__v4hi)__Y);
+ }
+
+-static __inline __m64 __attribute__((__always_inline__, __artificial__))
++extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_hsub_pi32 (__m64 __X, __m64 __Y)
+ {
+ return (__m64) __builtin_ia32_phsubd ((__v2si)__X, (__v2si)__Y);
+ }
+
+-static __inline __m64 __attribute__((__always_inline__, __artificial__))
++extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_hsubs_pi16 (__m64 __X, __m64 __Y)
+ {
+ return (__m64) __builtin_ia32_phsubsw ((__v4hi)__X, (__v4hi)__Y);
+ }
+
+-static __inline __m128i __attribute__((__always_inline__, __artificial__))
++extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_maddubs_epi16 (__m128i __X, __m128i __Y)
+ {
+ return (__m128i) __builtin_ia32_pmaddubsw128 ((__v16qi)__X, (__v16qi)__Y);
+ }
+
+-static __inline __m64 __attribute__((__always_inline__, __artificial__))
++extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_maddubs_pi16 (__m64 __X, __m64 __Y)
+ {
+ return (__m64) __builtin_ia32_pmaddubsw ((__v8qi)__X, (__v8qi)__Y);
+ }
+
+-static __inline __m128i __attribute__((__always_inline__, __artificial__))
++extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_mulhrs_epi16 (__m128i __X, __m128i __Y)
+ {
+ return (__m128i) __builtin_ia32_pmulhrsw128 ((__v8hi)__X, (__v8hi)__Y);
+ }
+
+-static __inline __m64 __attribute__((__always_inline__, __artificial__))
++extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_mulhrs_pi16 (__m64 __X, __m64 __Y)
+ {
+ return (__m64) __builtin_ia32_pmulhrsw ((__v4hi)__X, (__v4hi)__Y);
+ }
+
+-static __inline __m128i __attribute__((__always_inline__, __artificial__))
++extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_shuffle_epi8 (__m128i __X, __m128i __Y)
+ {
+ return (__m128i) __builtin_ia32_pshufb128 ((__v16qi)__X, (__v16qi)__Y);
+ }
+
+-static __inline __m64 __attribute__((__always_inline__, __artificial__))
++extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_shuffle_pi8 (__m64 __X, __m64 __Y)
+ {
+ return (__m64) __builtin_ia32_pshufb ((__v8qi)__X, (__v8qi)__Y);
+ }
+
+-static __inline __m128i __attribute__((__always_inline__, __artificial__))
++extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_sign_epi8 (__m128i __X, __m128i __Y)
+ {
+ return (__m128i) __builtin_ia32_psignb128 ((__v16qi)__X, (__v16qi)__Y);
+ }
+
+-static __inline __m128i __attribute__((__always_inline__, __artificial__))
++extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_sign_epi16 (__m128i __X, __m128i __Y)
+ {
+ return (__m128i) __builtin_ia32_psignw128 ((__v8hi)__X, (__v8hi)__Y);
+ }
+
+-static __inline __m128i __attribute__((__always_inline__, __artificial__))
++extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_sign_epi32 (__m128i __X, __m128i __Y)
+ {
+ return (__m128i) __builtin_ia32_psignd128 ((__v4si)__X, (__v4si)__Y);
+ }
+
+-static __inline __m64 __attribute__((__always_inline__, __artificial__))
++extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_sign_pi8 (__m64 __X, __m64 __Y)
+ {
+ return (__m64) __builtin_ia32_psignb ((__v8qi)__X, (__v8qi)__Y);
+ }
+
+-static __inline __m64 __attribute__((__always_inline__, __artificial__))
++extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_sign_pi16 (__m64 __X, __m64 __Y)
+ {
+ return (__m64) __builtin_ia32_psignw ((__v4hi)__X, (__v4hi)__Y);
+ }
+
+-static __inline __m64 __attribute__((__always_inline__, __artificial__))
++extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_sign_pi32 (__m64 __X, __m64 __Y)
+ {
+ return (__m64) __builtin_ia32_psignd ((__v2si)__X, (__v2si)__Y);
+ }
+
+ #ifdef __OPTIMIZE__
+-static __inline __m128i __attribute__((__always_inline__, __artificial__))
++extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_alignr_epi8(__m128i __X, __m128i __Y, const int __N)
+ {
+ return (__m128i) __builtin_ia32_palignr128 ((__v2di)__X,
+ (__v2di)__Y, __N * 8);
+ }
+
+-static __inline __m64 __attribute__((__always_inline__, __artificial__))
++extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_alignr_pi8(__m64 __X, __m64 __Y, const int __N)
+ {
+ return (__m64) __builtin_ia32_palignr ((long long)__X,
+@@ -206,37 +206,37 @@
+ (int)(N) * 8))
+ #endif
+
+-static __inline __m128i __attribute__((__always_inline__, __artificial__))
++extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_abs_epi8 (__m128i __X)
+ {
+ return (__m128i) __builtin_ia32_pabsb128 ((__v16qi)__X);
+ }
+
+-static __inline __m128i __attribute__((__always_inline__, __artificial__))
++extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_abs_epi16 (__m128i __X)
+ {
+ return (__m128i) __builtin_ia32_pabsw128 ((__v8hi)__X);
+ }
+
+-static __inline __m128i __attribute__((__always_inline__, __artificial__))
++extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_abs_epi32 (__m128i __X)
+ {
+ return (__m128i) __builtin_ia32_pabsd128 ((__v4si)__X);
+ }
+
+-static __inline __m64 __attribute__((__always_inline__, __artificial__))
++extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_abs_pi8 (__m64 __X)
+ {
+ return (__m64) __builtin_ia32_pabsb ((__v8qi)__X);
+ }
+
+-static __inline __m64 __attribute__((__always_inline__, __artificial__))
++extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_abs_pi16 (__m64 __X)
+ {
+ return (__m64) __builtin_ia32_pabsw ((__v4hi)__X);
+ }
+
+-static __inline __m64 __attribute__((__always_inline__, __artificial__))
++extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_abs_pi32 (__m64 __X)
+ {
+ return (__m64) __builtin_ia32_pabsd ((__v2si)__X);
+Index: gcc/config/i386/mm3dnow.h
+===================================================================
+--- gcc/config/i386/mm3dnow.h (.../tags/gcc_4_3_0_release) (revision 133808)
++++ gcc/config/i386/mm3dnow.h (.../branches/gcc-4_3-branch) (revision 133808)
+@@ -37,145 +37,145 @@
+ /* Internal data types for implementing the intrinsics. */
+ typedef float __v2sf __attribute__ ((__vector_size__ (8)));
+
+-static __inline void __attribute__((__always_inline__, __artificial__))
++extern __inline void __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _m_femms (void)
+ {
+ __builtin_ia32_femms();
+ }
+
+-static __inline __m64 __attribute__((__always_inline__, __artificial__))
++extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _m_pavgusb (__m64 __A, __m64 __B)
+ {
+ return (__m64)__builtin_ia32_pavgusb ((__v8qi)__A, (__v8qi)__B);
+ }
+
+-static __inline __m64 __attribute__((__always_inline__, __artificial__))
++extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _m_pf2id (__m64 __A)
+ {
+ return (__m64)__builtin_ia32_pf2id ((__v2sf)__A);
+ }
+
+-static __inline __m64 __attribute__((__always_inline__, __artificial__))
++extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _m_pfacc (__m64 __A, __m64 __B)
+ {
+ return (__m64)__builtin_ia32_pfacc ((__v2sf)__A, (__v2sf)__B);
+ }
+
+-static __inline __m64 __attribute__((__always_inline__, __artificial__))
++extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _m_pfadd (__m64 __A, __m64 __B)
+ {
+ return (__m64)__builtin_ia32_pfadd ((__v2sf)__A, (__v2sf)__B);
+ }
+
+-static __inline __m64 __attribute__((__always_inline__, __artificial__))
++extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _m_pfcmpeq (__m64 __A, __m64 __B)
+ {
+ return (__m64)__builtin_ia32_pfcmpeq ((__v2sf)__A, (__v2sf)__B);
+ }
+
+-static __inline __m64 __attribute__((__always_inline__, __artificial__))
++extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _m_pfcmpge (__m64 __A, __m64 __B)
+ {
+ return (__m64)__builtin_ia32_pfcmpge ((__v2sf)__A, (__v2sf)__B);
+ }
+
+-static __inline __m64 __attribute__((__always_inline__, __artificial__))
++extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _m_pfcmpgt (__m64 __A, __m64 __B)
+ {
+ return (__m64)__builtin_ia32_pfcmpgt ((__v2sf)__A, (__v2sf)__B);
+ }
+
+-static __inline __m64 __attribute__((__always_inline__, __artificial__))
++extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _m_pfmax (__m64 __A, __m64 __B)
+ {
+ return (__m64)__builtin_ia32_pfmax ((__v2sf)__A, (__v2sf)__B);
+ }
+
+-static __inline __m64 __attribute__((__always_inline__, __artificial__))
++extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _m_pfmin (__m64 __A, __m64 __B)
+ {
+ return (__m64)__builtin_ia32_pfmin ((__v2sf)__A, (__v2sf)__B);
+ }
+
+-static __inline __m64 __attribute__((__always_inline__, __artificial__))
++extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _m_pfmul (__m64 __A, __m64 __B)
+ {
+ return (__m64)__builtin_ia32_pfmul ((__v2sf)__A, (__v2sf)__B);
+ }
+
+-static __inline __m64 __attribute__((__always_inline__, __artificial__))
++extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _m_pfrcp (__m64 __A)
+ {
+ return (__m64)__builtin_ia32_pfrcp ((__v2sf)__A);
+ }
+
+-static __inline __m64 __attribute__((__always_inline__, __artificial__))
++extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _m_pfrcpit1 (__m64 __A, __m64 __B)
+ {
+ return (__m64)__builtin_ia32_pfrcpit1 ((__v2sf)__A, (__v2sf)__B);
+ }
+
+-static __inline __m64 __attribute__((__always_inline__, __artificial__))
++extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _m_pfrcpit2 (__m64 __A, __m64 __B)
+ {
+ return (__m64)__builtin_ia32_pfrcpit2 ((__v2sf)__A, (__v2sf)__B);
+ }
+
+-static __inline __m64 __attribute__((__always_inline__, __artificial__))
++extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _m_pfrsqrt (__m64 __A)
+ {
+ return (__m64)__builtin_ia32_pfrsqrt ((__v2sf)__A);
+ }
+
+-static __inline __m64 __attribute__((__always_inline__, __artificial__))
++extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _m_pfrsqit1 (__m64 __A, __m64 __B)
+ {
+ return (__m64)__builtin_ia32_pfrsqit1 ((__v2sf)__A, (__v2sf)__B);
+ }
+
+-static __inline __m64 __attribute__((__always_inline__, __artificial__))
++extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _m_pfsub (__m64 __A, __m64 __B)
+ {
+ return (__m64)__builtin_ia32_pfsub ((__v2sf)__A, (__v2sf)__B);
+ }
+
+-static __inline __m64 __attribute__((__always_inline__, __artificial__))
++extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _m_pfsubr (__m64 __A, __m64 __B)
+ {
+ return (__m64)__builtin_ia32_pfsubr ((__v2sf)__A, (__v2sf)__B);
+ }
+
+-static __inline __m64 __attribute__((__always_inline__, __artificial__))
++extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _m_pi2fd (__m64 __A)
+ {
+ return (__m64)__builtin_ia32_pi2fd ((__v2si)__A);
+ }
+
+-static __inline __m64 __attribute__((__always_inline__, __artificial__))
++extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _m_pmulhrw (__m64 __A, __m64 __B)
+ {
+ return (__m64)__builtin_ia32_pmulhrw ((__v4hi)__A, (__v4hi)__B);
+ }
+
+-static __inline void __attribute__((__always_inline__, __artificial__))
++extern __inline void __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _m_prefetch (void *__P)
+ {
+ __builtin_prefetch (__P, 0, 3 /* _MM_HINT_T0 */);
+ }
+
+-static __inline void __attribute__((__always_inline__, __artificial__))
++extern __inline void __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _m_prefetchw (void *__P)
+ {
+ __builtin_prefetch (__P, 1, 3 /* _MM_HINT_T0 */);
+ }
+
+-static __inline __m64 __attribute__((__always_inline__, __artificial__))
++extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _m_from_float (float __A)
+ {
+ return __extension__ (__m64)(__v2sf){ __A, 0.0f };
+ }
+
+-static __inline float __attribute__((__always_inline__, __artificial__))
++extern __inline float __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _m_to_float (__m64 __A)
+ {
+ union { __v2sf v; float a[2]; } __tmp;
+@@ -185,31 +185,31 @@
+
+ #ifdef __3dNOW_A__
+
+-static __inline __m64 __attribute__((__always_inline__, __artificial__))
++extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _m_pf2iw (__m64 __A)
+ {
+ return (__m64)__builtin_ia32_pf2iw ((__v2sf)__A);
+ }
+
+-static __inline __m64 __attribute__((__always_inline__, __artificial__))
++extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _m_pfnacc (__m64 __A, __m64 __B)
+ {
+ return (__m64)__builtin_ia32_pfnacc ((__v2sf)__A, (__v2sf)__B);
+ }
+
+-static __inline __m64 __attribute__((__always_inline__, __artificial__))
++extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _m_pfpnacc (__m64 __A, __m64 __B)
+ {
+ return (__m64)__builtin_ia32_pfpnacc ((__v2sf)__A, (__v2sf)__B);
+ }
+
+-static __inline __m64 __attribute__((__always_inline__, __artificial__))
++extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _m_pi2fw (__m64 __A)
+ {
+ return (__m64)__builtin_ia32_pi2fw ((__v2si)__A);
+ }
+
+-static __inline __m64 __attribute__((__always_inline__, __artificial__))
++extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _m_pswapd (__m64 __A)
+ {
+ return (__m64)__builtin_ia32_pswapdsf ((__v2sf)__A);
+Index: gcc/config/i386/xmmintrin.h
+===================================================================
+--- gcc/config/i386/xmmintrin.h (.../tags/gcc_4_3_0_release) (revision 133808)
++++ gcc/config/i386/xmmintrin.h (.../branches/gcc-4_3-branch) (revision 133808)
+@@ -89,7 +89,7 @@
+ #define _MM_FLUSH_ZERO_OFF 0x0000
+
+ /* Create a vector of zeros. */
+-static __inline __m128 __attribute__((__always_inline__, __artificial__))
++extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_setzero_ps (void)
+ {
+ return __extension__ (__m128){ 0.0f, 0.0f, 0.0f, 0.0f };
+@@ -99,55 +99,55 @@
+ floating-point) values of A and B; the upper three SPFP values are
+ passed through from A. */
+
+-static __inline __m128 __attribute__((__always_inline__, __artificial__))
++extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_add_ss (__m128 __A, __m128 __B)
+ {
+ return (__m128) __builtin_ia32_addss ((__v4sf)__A, (__v4sf)__B);
+ }
+
+-static __inline __m128 __attribute__((__always_inline__, __artificial__))
++extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_sub_ss (__m128 __A, __m128 __B)
+ {
+ return (__m128) __builtin_ia32_subss ((__v4sf)__A, (__v4sf)__B);
+ }
+
+-static __inline __m128 __attribute__((__always_inline__, __artificial__))
++extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_mul_ss (__m128 __A, __m128 __B)
+ {
+ return (__m128) __builtin_ia32_mulss ((__v4sf)__A, (__v4sf)__B);
+ }
+
+-static __inline __m128 __attribute__((__always_inline__, __artificial__))
++extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_div_ss (__m128 __A, __m128 __B)
+ {
+ return (__m128) __builtin_ia32_divss ((__v4sf)__A, (__v4sf)__B);
+ }
+
+-static __inline __m128 __attribute__((__always_inline__, __artificial__))
++extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_sqrt_ss (__m128 __A)
+ {
+ return (__m128) __builtin_ia32_sqrtss ((__v4sf)__A);
+ }
+
+-static __inline __m128 __attribute__((__always_inline__, __artificial__))
++extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_rcp_ss (__m128 __A)
+ {
+ return (__m128) __builtin_ia32_rcpss ((__v4sf)__A);
+ }
+
+-static __inline __m128 __attribute__((__always_inline__, __artificial__))
++extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_rsqrt_ss (__m128 __A)
+ {
+ return (__m128) __builtin_ia32_rsqrtss ((__v4sf)__A);
+ }
+
+-static __inline __m128 __attribute__((__always_inline__, __artificial__))
++extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_min_ss (__m128 __A, __m128 __B)
+ {
+ return (__m128) __builtin_ia32_minss ((__v4sf)__A, (__v4sf)__B);
+ }
+
+-static __inline __m128 __attribute__((__always_inline__, __artificial__))
++extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_max_ss (__m128 __A, __m128 __B)
+ {
+ return (__m128) __builtin_ia32_maxss ((__v4sf)__A, (__v4sf)__B);
+@@ -155,55 +155,55 @@
+
+ /* Perform the respective operation on the four SPFP values in A and B. */
+
+-static __inline __m128 __attribute__((__always_inline__, __artificial__))
++extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_add_ps (__m128 __A, __m128 __B)
+ {
+ return (__m128) __builtin_ia32_addps ((__v4sf)__A, (__v4sf)__B);
+ }
+
+-static __inline __m128 __attribute__((__always_inline__, __artificial__))
++extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_sub_ps (__m128 __A, __m128 __B)
+ {
+ return (__m128) __builtin_ia32_subps ((__v4sf)__A, (__v4sf)__B);
+ }
+
+-static __inline __m128 __attribute__((__always_inline__, __artificial__))
++extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_mul_ps (__m128 __A, __m128 __B)
+ {
+ return (__m128) __builtin_ia32_mulps ((__v4sf)__A, (__v4sf)__B);
+ }
+
+-static __inline __m128 __attribute__((__always_inline__, __artificial__))
++extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_div_ps (__m128 __A, __m128 __B)
+ {
+ return (__m128) __builtin_ia32_divps ((__v4sf)__A, (__v4sf)__B);
+ }
+
+-static __inline __m128 __attribute__((__always_inline__, __artificial__))
++extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_sqrt_ps (__m128 __A)
+ {
+ return (__m128) __builtin_ia32_sqrtps ((__v4sf)__A);
+ }
+
+-static __inline __m128 __attribute__((__always_inline__, __artificial__))
++extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_rcp_ps (__m128 __A)
+ {
+ return (__m128) __builtin_ia32_rcpps ((__v4sf)__A);
+ }
+
+-static __inline __m128 __attribute__((__always_inline__, __artificial__))
++extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_rsqrt_ps (__m128 __A)
+ {
+ return (__m128) __builtin_ia32_rsqrtps ((__v4sf)__A);
+ }
+
+-static __inline __m128 __attribute__((__always_inline__, __artificial__))
++extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_min_ps (__m128 __A, __m128 __B)
+ {
+ return (__m128) __builtin_ia32_minps ((__v4sf)__A, (__v4sf)__B);
+ }
+
+-static __inline __m128 __attribute__((__always_inline__, __artificial__))
++extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_max_ps (__m128 __A, __m128 __B)
+ {
+ return (__m128) __builtin_ia32_maxps ((__v4sf)__A, (__v4sf)__B);
+@@ -211,25 +211,25 @@
+
+ /* Perform logical bit-wise operations on 128-bit values. */
+
+-static __inline __m128 __attribute__((__always_inline__, __artificial__))
++extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_and_ps (__m128 __A, __m128 __B)
+ {
+ return __builtin_ia32_andps (__A, __B);
+ }
+
+-static __inline __m128 __attribute__((__always_inline__, __artificial__))
++extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_andnot_ps (__m128 __A, __m128 __B)
+ {
+ return __builtin_ia32_andnps (__A, __B);
+ }
+
+-static __inline __m128 __attribute__((__always_inline__, __artificial__))
++extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_or_ps (__m128 __A, __m128 __B)
+ {
+ return __builtin_ia32_orps (__A, __B);
+ }
+
+-static __inline __m128 __attribute__((__always_inline__, __artificial__))
++extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_xor_ps (__m128 __A, __m128 __B)
+ {
+ return __builtin_ia32_xorps (__A, __B);
+@@ -239,25 +239,25 @@
+ comparison is true, place a mask of all ones in the result, otherwise a
+ mask of zeros. The upper three SPFP values are passed through from A. */
+
+-static __inline __m128 __attribute__((__always_inline__, __artificial__))
++extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_cmpeq_ss (__m128 __A, __m128 __B)
+ {
+ return (__m128) __builtin_ia32_cmpeqss ((__v4sf)__A, (__v4sf)__B);
+ }
+
+-static __inline __m128 __attribute__((__always_inline__, __artificial__))
++extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_cmplt_ss (__m128 __A, __m128 __B)
+ {
+ return (__m128) __builtin_ia32_cmpltss ((__v4sf)__A, (__v4sf)__B);
+ }
+
+-static __inline __m128 __attribute__((__always_inline__, __artificial__))
++extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_cmple_ss (__m128 __A, __m128 __B)
+ {
+ return (__m128) __builtin_ia32_cmpless ((__v4sf)__A, (__v4sf)__B);
+ }
+
+-static __inline __m128 __attribute__((__always_inline__, __artificial__))
++extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_cmpgt_ss (__m128 __A, __m128 __B)
+ {
+ return (__m128) __builtin_ia32_movss ((__v4sf) __A,
+@@ -267,7 +267,7 @@
+ __A));
+ }
+
+-static __inline __m128 __attribute__((__always_inline__, __artificial__))
++extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_cmpge_ss (__m128 __A, __m128 __B)
+ {
+ return (__m128) __builtin_ia32_movss ((__v4sf) __A,
+@@ -277,25 +277,25 @@
+ __A));
+ }
+
+-static __inline __m128 __attribute__((__always_inline__, __artificial__))
++extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_cmpneq_ss (__m128 __A, __m128 __B)
+ {
+ return (__m128) __builtin_ia32_cmpneqss ((__v4sf)__A, (__v4sf)__B);
+ }
+
+-static __inline __m128 __attribute__((__always_inline__, __artificial__))
++extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_cmpnlt_ss (__m128 __A, __m128 __B)
+ {
+ return (__m128) __builtin_ia32_cmpnltss ((__v4sf)__A, (__v4sf)__B);
+ }
+
+-static __inline __m128 __attribute__((__always_inline__, __artificial__))
++extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_cmpnle_ss (__m128 __A, __m128 __B)
+ {
+ return (__m128) __builtin_ia32_cmpnless ((__v4sf)__A, (__v4sf)__B);
+ }
+
+-static __inline __m128 __attribute__((__always_inline__, __artificial__))
++extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_cmpngt_ss (__m128 __A, __m128 __B)
+ {
+ return (__m128) __builtin_ia32_movss ((__v4sf) __A,
+@@ -305,7 +305,7 @@
+ __A));
+ }
+
+-static __inline __m128 __attribute__((__always_inline__, __artificial__))
++extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_cmpnge_ss (__m128 __A, __m128 __B)
+ {
+ return (__m128) __builtin_ia32_movss ((__v4sf) __A,
+@@ -315,13 +315,13 @@
+ __A));
+ }
+
+-static __inline __m128 __attribute__((__always_inline__, __artificial__))
++extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_cmpord_ss (__m128 __A, __m128 __B)
+ {
+ return (__m128) __builtin_ia32_cmpordss ((__v4sf)__A, (__v4sf)__B);
+ }
+
+-static __inline __m128 __attribute__((__always_inline__, __artificial__))
++extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_cmpunord_ss (__m128 __A, __m128 __B)
+ {
+ return (__m128) __builtin_ia32_cmpunordss ((__v4sf)__A, (__v4sf)__B);
+@@ -331,73 +331,73 @@
+ element, if the comparison is true, place a mask of all ones in the
+ result, otherwise a mask of zeros. */
+
+-static __inline __m128 __attribute__((__always_inline__, __artificial__))
++extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_cmpeq_ps (__m128 __A, __m128 __B)
+ {
+ return (__m128) __builtin_ia32_cmpeqps ((__v4sf)__A, (__v4sf)__B);
+ }
+
+-static __inline __m128 __attribute__((__always_inline__, __artificial__))
++extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_cmplt_ps (__m128 __A, __m128 __B)
+ {
+ return (__m128) __builtin_ia32_cmpltps ((__v4sf)__A, (__v4sf)__B);
+ }
+
+-static __inline __m128 __attribute__((__always_inline__, __artificial__))
++extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_cmple_ps (__m128 __A, __m128 __B)
+ {
+ return (__m128) __builtin_ia32_cmpleps ((__v4sf)__A, (__v4sf)__B);
+ }
+
+-static __inline __m128 __attribute__((__always_inline__, __artificial__))
++extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_cmpgt_ps (__m128 __A, __m128 __B)
+ {
+ return (__m128) __builtin_ia32_cmpgtps ((__v4sf)__A, (__v4sf)__B);
+ }
+
+-static __inline __m128 __attribute__((__always_inline__, __artificial__))
++extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_cmpge_ps (__m128 __A, __m128 __B)
+ {
+ return (__m128) __builtin_ia32_cmpgeps ((__v4sf)__A, (__v4sf)__B);
+ }
+
+-static __inline __m128 __attribute__((__always_inline__, __artificial__))
++extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_cmpneq_ps (__m128 __A, __m128 __B)
+ {
+ return (__m128) __builtin_ia32_cmpneqps ((__v4sf)__A, (__v4sf)__B);
+ }
+
+-static __inline __m128 __attribute__((__always_inline__, __artificial__))
++extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_cmpnlt_ps (__m128 __A, __m128 __B)
+ {
+ return (__m128) __builtin_ia32_cmpnltps ((__v4sf)__A, (__v4sf)__B);
+ }
+
+-static __inline __m128 __attribute__((__always_inline__, __artificial__))
++extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_cmpnle_ps (__m128 __A, __m128 __B)
+ {
+ return (__m128) __builtin_ia32_cmpnleps ((__v4sf)__A, (__v4sf)__B);
+ }
+
+-static __inline __m128 __attribute__((__always_inline__, __artificial__))
++extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_cmpngt_ps (__m128 __A, __m128 __B)
+ {
+ return (__m128) __builtin_ia32_cmpngtps ((__v4sf)__A, (__v4sf)__B);
+ }
+
+-static __inline __m128 __attribute__((__always_inline__, __artificial__))
++extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_cmpnge_ps (__m128 __A, __m128 __B)
+ {
+ return (__m128) __builtin_ia32_cmpngeps ((__v4sf)__A, (__v4sf)__B);
+ }
+
+-static __inline __m128 __attribute__((__always_inline__, __artificial__))
++extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_cmpord_ps (__m128 __A, __m128 __B)
+ {
+ return (__m128) __builtin_ia32_cmpordps ((__v4sf)__A, (__v4sf)__B);
+ }
+
+-static __inline __m128 __attribute__((__always_inline__, __artificial__))
++extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_cmpunord_ps (__m128 __A, __m128 __B)
+ {
+ return (__m128) __builtin_ia32_cmpunordps ((__v4sf)__A, (__v4sf)__B);
+@@ -406,73 +406,73 @@
+ /* Compare the lower SPFP values of A and B and return 1 if true
+ and 0 if false. */
+
+-static __inline int __attribute__((__always_inline__, __artificial__))
++extern __inline int __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_comieq_ss (__m128 __A, __m128 __B)
+ {
+ return __builtin_ia32_comieq ((__v4sf)__A, (__v4sf)__B);
+ }
+
+-static __inline int __attribute__((__always_inline__, __artificial__))
++extern __inline int __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_comilt_ss (__m128 __A, __m128 __B)
+ {
+ return __builtin_ia32_comilt ((__v4sf)__A, (__v4sf)__B);
+ }
+
+-static __inline int __attribute__((__always_inline__, __artificial__))
++extern __inline int __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_comile_ss (__m128 __A, __m128 __B)
+ {
+ return __builtin_ia32_comile ((__v4sf)__A, (__v4sf)__B);
+ }
+
+-static __inline int __attribute__((__always_inline__, __artificial__))
++extern __inline int __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_comigt_ss (__m128 __A, __m128 __B)
+ {
+ return __builtin_ia32_comigt ((__v4sf)__A, (__v4sf)__B);
+ }
+
+-static __inline int __attribute__((__always_inline__, __artificial__))
++extern __inline int __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_comige_ss (__m128 __A, __m128 __B)
+ {
+ return __builtin_ia32_comige ((__v4sf)__A, (__v4sf)__B);
+ }
+
+-static __inline int __attribute__((__always_inline__, __artificial__))
++extern __inline int __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_comineq_ss (__m128 __A, __m128 __B)
+ {
+ return __builtin_ia32_comineq ((__v4sf)__A, (__v4sf)__B);
+ }
+
+-static __inline int __attribute__((__always_inline__, __artificial__))
++extern __inline int __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_ucomieq_ss (__m128 __A, __m128 __B)
+ {
+ return __builtin_ia32_ucomieq ((__v4sf)__A, (__v4sf)__B);
+ }
+
+-static __inline int __attribute__((__always_inline__, __artificial__))
++extern __inline int __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_ucomilt_ss (__m128 __A, __m128 __B)
+ {
+ return __builtin_ia32_ucomilt ((__v4sf)__A, (__v4sf)__B);
+ }
+
+-static __inline int __attribute__((__always_inline__, __artificial__))
++extern __inline int __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_ucomile_ss (__m128 __A, __m128 __B)
+ {
+ return __builtin_ia32_ucomile ((__v4sf)__A, (__v4sf)__B);
+ }
+
+-static __inline int __attribute__((__always_inline__, __artificial__))
++extern __inline int __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_ucomigt_ss (__m128 __A, __m128 __B)
+ {
+ return __builtin_ia32_ucomigt ((__v4sf)__A, (__v4sf)__B);
+ }
+
+-static __inline int __attribute__((__always_inline__, __artificial__))
++extern __inline int __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_ucomige_ss (__m128 __A, __m128 __B)
+ {
+ return __builtin_ia32_ucomige ((__v4sf)__A, (__v4sf)__B);
+ }
+
+-static __inline int __attribute__((__always_inline__, __artificial__))
++extern __inline int __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_ucomineq_ss (__m128 __A, __m128 __B)
+ {
+ return __builtin_ia32_ucomineq ((__v4sf)__A, (__v4sf)__B);
+@@ -480,13 +480,13 @@
+
+ /* Convert the lower SPFP value to a 32-bit integer according to the current
+ rounding mode. */
+-static __inline int __attribute__((__always_inline__, __artificial__))
++extern __inline int __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_cvtss_si32 (__m128 __A)
+ {
+ return __builtin_ia32_cvtss2si ((__v4sf) __A);
+ }
+
+-static __inline int __attribute__((__always_inline__, __artificial__))
++extern __inline int __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_cvt_ss2si (__m128 __A)
+ {
+ return _mm_cvtss_si32 (__A);
+@@ -497,14 +497,14 @@
+ current rounding mode. */
+
+ /* Intel intrinsic. */
+-static __inline long long __attribute__((__always_inline__, __artificial__))
++extern __inline long long __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_cvtss_si64 (__m128 __A)
+ {
+ return __builtin_ia32_cvtss2si64 ((__v4sf) __A);
+ }
+
+ /* Microsoft intrinsic. */
+-static __inline long long __attribute__((__always_inline__, __artificial__))
++extern __inline long long __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_cvtss_si64x (__m128 __A)
+ {
+ return __builtin_ia32_cvtss2si64 ((__v4sf) __A);
+@@ -513,26 +513,26 @@
+
+ /* Convert the two lower SPFP values to 32-bit integers according to the
+ current rounding mode. Return the integers in packed form. */
+-static __inline __m64 __attribute__((__always_inline__, __artificial__))
++extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_cvtps_pi32 (__m128 __A)
+ {
+ return (__m64) __builtin_ia32_cvtps2pi ((__v4sf) __A);
+ }
+
+-static __inline __m64 __attribute__((__always_inline__, __artificial__))
++extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_cvt_ps2pi (__m128 __A)
+ {
+ return _mm_cvtps_pi32 (__A);
+ }
+
+ /* Truncate the lower SPFP value to a 32-bit integer. */
+-static __inline int __attribute__((__always_inline__, __artificial__))
++extern __inline int __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_cvttss_si32 (__m128 __A)
+ {
+ return __builtin_ia32_cvttss2si ((__v4sf) __A);
+ }
+
+-static __inline int __attribute__((__always_inline__, __artificial__))
++extern __inline int __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_cvtt_ss2si (__m128 __A)
+ {
+ return _mm_cvttss_si32 (__A);
+@@ -542,14 +542,14 @@
+ /* Truncate the lower SPFP value to a 32-bit integer. */
+
+ /* Intel intrinsic. */
+-static __inline long long __attribute__((__always_inline__, __artificial__))
++extern __inline long long __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_cvttss_si64 (__m128 __A)
+ {
+ return __builtin_ia32_cvttss2si64 ((__v4sf) __A);
+ }
+
+ /* Microsoft intrinsic. */
+-static __inline long long __attribute__((__always_inline__, __artificial__))
++extern __inline long long __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_cvttss_si64x (__m128 __A)
+ {
+ return __builtin_ia32_cvttss2si64 ((__v4sf) __A);
+@@ -558,26 +558,26 @@
+
+ /* Truncate the two lower SPFP values to 32-bit integers. Return the
+ integers in packed form. */
+-static __inline __m64 __attribute__((__always_inline__, __artificial__))
++extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_cvttps_pi32 (__m128 __A)
+ {
+ return (__m64) __builtin_ia32_cvttps2pi ((__v4sf) __A);
+ }
+
+-static __inline __m64 __attribute__((__always_inline__, __artificial__))
++extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_cvtt_ps2pi (__m128 __A)
+ {
+ return _mm_cvttps_pi32 (__A);
+ }
+
+ /* Convert B to a SPFP value and insert it as element zero in A. */
+-static __inline __m128 __attribute__((__always_inline__, __artificial__))
++extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_cvtsi32_ss (__m128 __A, int __B)
+ {
+ return (__m128) __builtin_ia32_cvtsi2ss ((__v4sf) __A, __B);
+ }
+
+-static __inline __m128 __attribute__((__always_inline__, __artificial__))
++extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_cvt_si2ss (__m128 __A, int __B)
+ {
+ return _mm_cvtsi32_ss (__A, __B);
+@@ -587,14 +587,14 @@
+ /* Convert B to a SPFP value and insert it as element zero in A. */
+
+ /* Intel intrinsic. */
+-static __inline __m128 __attribute__((__always_inline__, __artificial__))
++extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_cvtsi64_ss (__m128 __A, long long __B)
+ {
+ return (__m128) __builtin_ia32_cvtsi642ss ((__v4sf) __A, __B);
+ }
+
+ /* Microsoft intrinsic. */
+-static __inline __m128 __attribute__((__always_inline__, __artificial__))
++extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_cvtsi64x_ss (__m128 __A, long long __B)
+ {
+ return (__m128) __builtin_ia32_cvtsi642ss ((__v4sf) __A, __B);
+@@ -603,20 +603,20 @@
+
+ /* Convert the two 32-bit values in B to SPFP form and insert them
+ as the two lower elements in A. */
+-static __inline __m128 __attribute__((__always_inline__, __artificial__))
++extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_cvtpi32_ps (__m128 __A, __m64 __B)
+ {
+ return (__m128) __builtin_ia32_cvtpi2ps ((__v4sf) __A, (__v2si)__B);
+ }
+
+-static __inline __m128 __attribute__((__always_inline__, __artificial__))
++extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_cvt_pi2ps (__m128 __A, __m64 __B)
+ {
+ return _mm_cvtpi32_ps (__A, __B);
+ }
+
+ /* Convert the four signed 16-bit values in A to SPFP form. */
+-static __inline __m128 __attribute__((__always_inline__, __artificial__))
++extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_cvtpi16_ps (__m64 __A)
+ {
+ __v4hi __sign;
+@@ -642,7 +642,7 @@
+ }
+
+ /* Convert the four unsigned 16-bit values in A to SPFP form. */
+-static __inline __m128 __attribute__((__always_inline__, __artificial__))
++extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_cvtpu16_ps (__m64 __A)
+ {
+ __v2si __hisi, __losi;
+@@ -662,7 +662,7 @@
+ }
+
+ /* Convert the low four signed 8-bit values in A to SPFP form. */
+-static __inline __m128 __attribute__((__always_inline__, __artificial__))
++extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_cvtpi8_ps (__m64 __A)
+ {
+ __v8qi __sign;
+@@ -679,7 +679,7 @@
+ }
+
+ /* Convert the low four unsigned 8-bit values in A to SPFP form. */
+-static __inline __m128 __attribute__((__always_inline__, __artificial__))
++extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_cvtpu8_ps(__m64 __A)
+ {
+ __A = (__m64) __builtin_ia32_punpcklbw ((__v8qi)__A, (__v8qi)0LL);
+@@ -687,7 +687,7 @@
+ }
+
+ /* Convert the four signed 32-bit values in A and B to SPFP form. */
+-static __inline __m128 __attribute__((__always_inline__, __artificial__))
++extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_cvtpi32x2_ps(__m64 __A, __m64 __B)
+ {
+ __v4sf __zero = (__v4sf) _mm_setzero_ps ();
+@@ -697,7 +697,7 @@
+ }
+
+ /* Convert the four SPFP values in A to four signed 16-bit integers. */
+-static __inline __m64 __attribute__((__always_inline__, __artificial__))
++extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_cvtps_pi16(__m128 __A)
+ {
+ __v4sf __hisf = (__v4sf)__A;
+@@ -708,7 +708,7 @@
+ }
+
+ /* Convert the four SPFP values in A to four signed 8-bit integers. */
+-static __inline __m64 __attribute__((__always_inline__, __artificial__))
++extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_cvtps_pi8(__m128 __A)
+ {
+ __v4hi __tmp = (__v4hi) _mm_cvtps_pi16 (__A);
+@@ -717,7 +717,7 @@
+
+ /* Selects four specific SPFP values from A and B based on MASK. */
+ #ifdef __OPTIMIZE__
+-static __inline __m128 __attribute__((__always_inline__, __artificial__))
++extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_shuffle_ps (__m128 __A, __m128 __B, int const __mask)
+ {
+ return (__m128) __builtin_ia32_shufps ((__v4sf)__A, (__v4sf)__B, __mask);
+@@ -729,14 +729,14 @@
+ #endif
+
+ /* Selects and interleaves the upper two SPFP values from A and B. */
+-static __inline __m128 __attribute__((__always_inline__, __artificial__))
++extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_unpackhi_ps (__m128 __A, __m128 __B)
+ {
+ return (__m128) __builtin_ia32_unpckhps ((__v4sf)__A, (__v4sf)__B);
+ }
+
+ /* Selects and interleaves the lower two SPFP values from A and B. */
+-static __inline __m128 __attribute__((__always_inline__, __artificial__))
++extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_unpacklo_ps (__m128 __A, __m128 __B)
+ {
+ return (__m128) __builtin_ia32_unpcklps ((__v4sf)__A, (__v4sf)__B);
+@@ -744,28 +744,28 @@
+
+ /* Sets the upper two SPFP values with 64-bits of data loaded from P;
+ the lower two values are passed through from A. */
+-static __inline __m128 __attribute__((__always_inline__, __artificial__))
++extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_loadh_pi (__m128 __A, __m64 const *__P)
+ {
+ return (__m128) __builtin_ia32_loadhps ((__v4sf)__A, (__v2si *)__P);
+ }
+
+ /* Stores the upper two SPFP values of A into P. */
+-static __inline void __attribute__((__always_inline__, __artificial__))
++extern __inline void __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_storeh_pi (__m64 *__P, __m128 __A)
+ {
+ __builtin_ia32_storehps ((__v2si *)__P, (__v4sf)__A);
+ }
+
+ /* Moves the upper two values of B into the lower two values of A. */
+-static __inline __m128 __attribute__((__always_inline__, __artificial__))
++extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_movehl_ps (__m128 __A, __m128 __B)
+ {
+ return (__m128) __builtin_ia32_movhlps ((__v4sf)__A, (__v4sf)__B);
+ }
+
+ /* Moves the lower two values of B into the upper two values of A. */
+-static __inline __m128 __attribute__((__always_inline__, __artificial__))
++extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_movelh_ps (__m128 __A, __m128 __B)
+ {
+ return (__m128) __builtin_ia32_movlhps ((__v4sf)__A, (__v4sf)__B);
+@@ -773,146 +773,146 @@
+
+ /* Sets the lower two SPFP values with 64-bits of data loaded from P;
+ the upper two values are passed through from A. */
+-static __inline __m128 __attribute__((__always_inline__, __artificial__))
++extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_loadl_pi (__m128 __A, __m64 const *__P)
+ {
+ return (__m128) __builtin_ia32_loadlps ((__v4sf)__A, (__v2si *)__P);
+ }
+
+ /* Stores the lower two SPFP values of A into P. */
+-static __inline void __attribute__((__always_inline__, __artificial__))
++extern __inline void __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_storel_pi (__m64 *__P, __m128 __A)
+ {
+ __builtin_ia32_storelps ((__v2si *)__P, (__v4sf)__A);
+ }
+
+ /* Creates a 4-bit mask from the most significant bits of the SPFP values. */
+-static __inline int __attribute__((__always_inline__, __artificial__))
++extern __inline int __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_movemask_ps (__m128 __A)
+ {
+ return __builtin_ia32_movmskps ((__v4sf)__A);
+ }
+
+ /* Return the contents of the control register. */
+-static __inline unsigned int __attribute__((__always_inline__, __artificial__))
++extern __inline unsigned int __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_getcsr (void)
+ {
+ return __builtin_ia32_stmxcsr ();
+ }
+
+ /* Read exception bits from the control register. */
+-static __inline unsigned int __attribute__((__always_inline__, __artificial__))
++extern __inline unsigned int __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _MM_GET_EXCEPTION_STATE (void)
+ {
+ return _mm_getcsr() & _MM_EXCEPT_MASK;
+ }
+
+-static __inline unsigned int __attribute__((__always_inline__, __artificial__))
++extern __inline unsigned int __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _MM_GET_EXCEPTION_MASK (void)
+ {
+ return _mm_getcsr() & _MM_MASK_MASK;
+ }
+
+-static __inline unsigned int __attribute__((__always_inline__, __artificial__))
++extern __inline unsigned int __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _MM_GET_ROUNDING_MODE (void)
+ {
+ return _mm_getcsr() & _MM_ROUND_MASK;
+ }
+
+-static __inline unsigned int __attribute__((__always_inline__, __artificial__))
++extern __inline unsigned int __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _MM_GET_FLUSH_ZERO_MODE (void)
+ {
+ return _mm_getcsr() & _MM_FLUSH_ZERO_MASK;
+ }
+
+ /* Set the control register to I. */
+-static __inline void __attribute__((__always_inline__, __artificial__))
++extern __inline void __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_setcsr (unsigned int __I)
+ {
+ __builtin_ia32_ldmxcsr (__I);
+ }
+
+ /* Set exception bits in the control register. */
+-static __inline void __attribute__((__always_inline__, __artificial__))
++extern __inline void __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _MM_SET_EXCEPTION_STATE(unsigned int __mask)
+ {
+ _mm_setcsr((_mm_getcsr() & ~_MM_EXCEPT_MASK) | __mask);
+ }
+
+-static __inline void __attribute__((__always_inline__, __artificial__))
++extern __inline void __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _MM_SET_EXCEPTION_MASK (unsigned int __mask)
+ {
+ _mm_setcsr((_mm_getcsr() & ~_MM_MASK_MASK) | __mask);
+ }
+
+-static __inline void __attribute__((__always_inline__, __artificial__))
++extern __inline void __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _MM_SET_ROUNDING_MODE (unsigned int __mode)
+ {
+ _mm_setcsr((_mm_getcsr() & ~_MM_ROUND_MASK) | __mode);
+ }
+
+-static __inline void __attribute__((__always_inline__, __artificial__))
++extern __inline void __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _MM_SET_FLUSH_ZERO_MODE (unsigned int __mode)
+ {
+ _mm_setcsr((_mm_getcsr() & ~_MM_FLUSH_ZERO_MASK) | __mode);
+ }
+
+ /* Create a vector with element 0 as F and the rest zero. */
+-static __inline __m128 __attribute__((__always_inline__, __artificial__))
++extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_set_ss (float __F)
+ {
+ return __extension__ (__m128)(__v4sf){ __F, 0.0f, 0.0f, 0.0f };
+ }
+
+ /* Create a vector with all four elements equal to F. */
+-static __inline __m128 __attribute__((__always_inline__, __artificial__))
++extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_set1_ps (float __F)
+ {
+ return __extension__ (__m128)(__v4sf){ __F, __F, __F, __F };
+ }
+
+-static __inline __m128 __attribute__((__always_inline__, __artificial__))
++extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_set_ps1 (float __F)
+ {
+ return _mm_set1_ps (__F);
+ }
+
+ /* Create a vector with element 0 as *P and the rest zero. */
+-static __inline __m128 __attribute__((__always_inline__, __artificial__))
++extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_load_ss (float const *__P)
+ {
+ return _mm_set_ss (*__P);
+ }
+
+ /* Create a vector with all four elements equal to *P. */
+-static __inline __m128 __attribute__((__always_inline__, __artificial__))
++extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_load1_ps (float const *__P)
+ {
+ return _mm_set1_ps (*__P);
+ }
+
+-static __inline __m128 __attribute__((__always_inline__, __artificial__))
++extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_load_ps1 (float const *__P)
+ {
+ return _mm_load1_ps (__P);
+ }
+
+ /* Load four SPFP values from P. The address must be 16-byte aligned. */
+-static __inline __m128 __attribute__((__always_inline__, __artificial__))
++extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_load_ps (float const *__P)
+ {
+ return (__m128) *(__v4sf *)__P;
+ }
+
+ /* Load four SPFP values from P. The address need not be 16-byte aligned. */
+-static __inline __m128 __attribute__((__always_inline__, __artificial__))
++extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_loadu_ps (float const *__P)
+ {
+ return (__m128) __builtin_ia32_loadups (__P);
+ }
+
+ /* Load four SPFP values in reverse order. The address must be aligned. */
+-static __inline __m128 __attribute__((__always_inline__, __artificial__))
++extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_loadr_ps (float const *__P)
+ {
+ __v4sf __tmp = *(__v4sf *)__P;
+@@ -920,48 +920,48 @@
+ }
+
+ /* Create the vector [Z Y X W]. */
+-static __inline __m128 __attribute__((__always_inline__, __artificial__))
++extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_set_ps (const float __Z, const float __Y, const float __X, const float __W)
+ {
+ return __extension__ (__m128)(__v4sf){ __W, __X, __Y, __Z };
+ }
+
+ /* Create the vector [W X Y Z]. */
+-static __inline __m128 __attribute__((__always_inline__, __artificial__))
++extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_setr_ps (float __Z, float __Y, float __X, float __W)
+ {
+ return __extension__ (__m128)(__v4sf){ __Z, __Y, __X, __W };
+ }
+
+ /* Stores the lower SPFP value. */
+-static __inline void __attribute__((__always_inline__, __artificial__))
++extern __inline void __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_store_ss (float *__P, __m128 __A)
+ {
+ *__P = __builtin_ia32_vec_ext_v4sf ((__v4sf)__A, 0);
+ }
+
+-static __inline float __attribute__((__always_inline__, __artificial__))
++extern __inline float __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_cvtss_f32 (__m128 __A)
+ {
+ return __builtin_ia32_vec_ext_v4sf ((__v4sf)__A, 0);
+ }
+
+ /* Store four SPFP values. The address must be 16-byte aligned. */
+-static __inline void __attribute__((__always_inline__, __artificial__))
++extern __inline void __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_store_ps (float *__P, __m128 __A)
+ {
+ *(__v4sf *)__P = (__v4sf)__A;
+ }
+
+ /* Store four SPFP values. The address need not be 16-byte aligned. */
+-static __inline void __attribute__((__always_inline__, __artificial__))
++extern __inline void __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_storeu_ps (float *__P, __m128 __A)
+ {
+ __builtin_ia32_storeups (__P, (__v4sf)__A);
+ }
+
+ /* Store the lower SPFP value across four words. */
+-static __inline void __attribute__((__always_inline__, __artificial__))
++extern __inline void __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_store1_ps (float *__P, __m128 __A)
+ {
+ __v4sf __va = (__v4sf)__A;
+@@ -969,14 +969,14 @@
+ _mm_storeu_ps (__P, __tmp);
+ }
+
+-static __inline void __attribute__((__always_inline__, __artificial__))
++extern __inline void __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_store_ps1 (float *__P, __m128 __A)
+ {
+ _mm_store1_ps (__P, __A);
+ }
+
+ /* Store four SPFP values in reverse order. The address must be aligned. */
+-static __inline void __attribute__((__always_inline__, __artificial__))
++extern __inline void __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_storer_ps (float *__P, __m128 __A)
+ {
+ __v4sf __va = (__v4sf)__A;
+@@ -985,7 +985,7 @@
+ }
+
+ /* Sets the low SPFP value of A from the low value of B. */
+-static __inline __m128 __attribute__((__always_inline__, __artificial__))
++extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_move_ss (__m128 __A, __m128 __B)
+ {
+ return (__m128) __builtin_ia32_movss ((__v4sf)__A, (__v4sf)__B);
+@@ -993,13 +993,13 @@
+
+ /* Extracts one of the four words of A. The selector N must be immediate. */
+ #ifdef __OPTIMIZE__
+-static __inline int __attribute__((__always_inline__, __artificial__))
++extern __inline int __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_extract_pi16 (__m64 const __A, int const __N)
+ {
+ return __builtin_ia32_vec_ext_v4hi ((__v4hi)__A, __N);
+ }
+
+-static __inline int __attribute__((__always_inline__, __artificial__))
++extern __inline int __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _m_pextrw (__m64 const __A, int const __N)
+ {
+ return _mm_extract_pi16 (__A, __N);
+@@ -1014,13 +1014,13 @@
+ /* Inserts word D into one of four words of A. The selector N must be
+ immediate. */
+ #ifdef __OPTIMIZE__
+-static __inline __m64 __attribute__((__always_inline__, __artificial__))
++extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_insert_pi16 (__m64 const __A, int const __D, int const __N)
+ {
+ return (__m64) __builtin_ia32_vec_set_v4hi ((__v4hi)__A, __D, __N);
+ }
+
+-static __inline __m64 __attribute__((__always_inline__, __artificial__))
++extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _m_pinsrw (__m64 const __A, int const __D, int const __N)
+ {
+ return _mm_insert_pi16 (__A, __D, __N);
+@@ -1034,65 +1034,65 @@
+ #endif
+
+ /* Compute the element-wise maximum of signed 16-bit values. */
+-static __inline __m64 __attribute__((__always_inline__, __artificial__))
++extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_max_pi16 (__m64 __A, __m64 __B)
+ {
+ return (__m64) __builtin_ia32_pmaxsw ((__v4hi)__A, (__v4hi)__B);
+ }
+
+-static __inline __m64 __attribute__((__always_inline__, __artificial__))
++extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _m_pmaxsw (__m64 __A, __m64 __B)
+ {
+ return _mm_max_pi16 (__A, __B);
+ }
+
+ /* Compute the element-wise maximum of unsigned 8-bit values. */
+-static __inline __m64 __attribute__((__always_inline__, __artificial__))
++extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_max_pu8 (__m64 __A, __m64 __B)
+ {
+ return (__m64) __builtin_ia32_pmaxub ((__v8qi)__A, (__v8qi)__B);
+ }
+
+-static __inline __m64 __attribute__((__always_inline__, __artificial__))
++extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _m_pmaxub (__m64 __A, __m64 __B)
+ {
+ return _mm_max_pu8 (__A, __B);
+ }
+
+ /* Compute the element-wise minimum of signed 16-bit values. */
+-static __inline __m64 __attribute__((__always_inline__, __artificial__))
++extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_min_pi16 (__m64 __A, __m64 __B)
+ {
+ return (__m64) __builtin_ia32_pminsw ((__v4hi)__A, (__v4hi)__B);
+ }
+
+-static __inline __m64 __attribute__((__always_inline__, __artificial__))
++extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _m_pminsw (__m64 __A, __m64 __B)
+ {
+ return _mm_min_pi16 (__A, __B);
+ }
+
+ /* Compute the element-wise minimum of unsigned 8-bit values. */
+-static __inline __m64 __attribute__((__always_inline__, __artificial__))
++extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_min_pu8 (__m64 __A, __m64 __B)
+ {
+ return (__m64) __builtin_ia32_pminub ((__v8qi)__A, (__v8qi)__B);
+ }
+
+-static __inline __m64 __attribute__((__always_inline__, __artificial__))
++extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _m_pminub (__m64 __A, __m64 __B)
+ {
+ return _mm_min_pu8 (__A, __B);
+ }
+
+ /* Create an 8-bit mask of the signs of 8-bit values. */
+-static __inline int __attribute__((__always_inline__, __artificial__))
++extern __inline int __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_movemask_pi8 (__m64 __A)
+ {
+ return __builtin_ia32_pmovmskb ((__v8qi)__A);
+ }
+
+-static __inline int __attribute__((__always_inline__, __artificial__))
++extern __inline int __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _m_pmovmskb (__m64 __A)
+ {
+ return _mm_movemask_pi8 (__A);
+@@ -1100,13 +1100,13 @@
+
+ /* Multiply four unsigned 16-bit values in A by four unsigned 16-bit values
+ in B and produce the high 16 bits of the 32-bit results. */
+-static __inline __m64 __attribute__((__always_inline__, __artificial__))
++extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_mulhi_pu16 (__m64 __A, __m64 __B)
+ {
+ return (__m64) __builtin_ia32_pmulhuw ((__v4hi)__A, (__v4hi)__B);
+ }
+
+-static __inline __m64 __attribute__((__always_inline__, __artificial__))
++extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _m_pmulhuw (__m64 __A, __m64 __B)
+ {
+ return _mm_mulhi_pu16 (__A, __B);
+@@ -1115,13 +1115,13 @@
+ /* Return a combination of the four 16-bit values in A. The selector
+ must be an immediate. */
+ #ifdef __OPTIMIZE__
+-static __inline __m64 __attribute__((__always_inline__, __artificial__))
++extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_shuffle_pi16 (__m64 __A, int const __N)
+ {
+ return (__m64) __builtin_ia32_pshufw ((__v4hi)__A, __N);
+ }
+
+-static __inline __m64 __attribute__((__always_inline__, __artificial__))
++extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _m_pshufw (__m64 __A, int const __N)
+ {
+ return _mm_shuffle_pi16 (__A, __N);
+@@ -1136,39 +1136,39 @@
+ /* Conditionally store byte elements of A into P. The high bit of each
+ byte in the selector N determines whether the corresponding byte from
+ A is stored. */
+-static __inline void __attribute__((__always_inline__, __artificial__))
++extern __inline void __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_maskmove_si64 (__m64 __A, __m64 __N, char *__P)
+ {
+ __builtin_ia32_maskmovq ((__v8qi)__A, (__v8qi)__N, __P);
+ }
+
+-static __inline void __attribute__((__always_inline__, __artificial__))
++extern __inline void __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _m_maskmovq (__m64 __A, __m64 __N, char *__P)
+ {
+ _mm_maskmove_si64 (__A, __N, __P);
+ }
+
+ /* Compute the rounded averages of the unsigned 8-bit values in A and B. */
+-static __inline __m64 __attribute__((__always_inline__, __artificial__))
++extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_avg_pu8 (__m64 __A, __m64 __B)
+ {
+ return (__m64) __builtin_ia32_pavgb ((__v8qi)__A, (__v8qi)__B);
+ }
+
+-static __inline __m64 __attribute__((__always_inline__, __artificial__))
++extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _m_pavgb (__m64 __A, __m64 __B)
+ {
+ return _mm_avg_pu8 (__A, __B);
+ }
+
+ /* Compute the rounded averages of the unsigned 16-bit values in A and B. */
+-static __inline __m64 __attribute__((__always_inline__, __artificial__))
++extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_avg_pu16 (__m64 __A, __m64 __B)
+ {
+ return (__m64) __builtin_ia32_pavgw ((__v4hi)__A, (__v4hi)__B);
+ }
+
+-static __inline __m64 __attribute__((__always_inline__, __artificial__))
++extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _m_pavgw (__m64 __A, __m64 __B)
+ {
+ return _mm_avg_pu16 (__A, __B);
+@@ -1177,13 +1177,13 @@
+ /* Compute the sum of the absolute differences of the unsigned 8-bit
+ values in A and B. Return the value in the lower 16-bit word; the
+ upper words are cleared. */
+-static __inline __m64 __attribute__((__always_inline__, __artificial__))
++extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_sad_pu8 (__m64 __A, __m64 __B)
+ {
+ return (__m64) __builtin_ia32_psadbw ((__v8qi)__A, (__v8qi)__B);
+ }
+
+-static __inline __m64 __attribute__((__always_inline__, __artificial__))
++extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _m_psadbw (__m64 __A, __m64 __B)
+ {
+ return _mm_sad_pu8 (__A, __B);
+@@ -1192,7 +1192,7 @@
+ /* Loads one cache line from address P to a location "closer" to the
+ processor. The selector I specifies the type of prefetch operation. */
+ #ifdef __OPTIMIZE__
+-static __inline void __attribute__((__always_inline__, __artificial__))
++extern __inline void __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_prefetch (const void *__P, enum _mm_hint __I)
+ {
+ __builtin_prefetch (__P, 0, __I);
+@@ -1203,14 +1203,14 @@
+ #endif
+
+ /* Stores the data in A to the address P without polluting the caches. */
+-static __inline void __attribute__((__always_inline__, __artificial__))
++extern __inline void __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_stream_pi (__m64 *__P, __m64 __A)
+ {
+ __builtin_ia32_movntq ((unsigned long long *)__P, (unsigned long long)__A);
+ }
+
+ /* Likewise. The address must be 16-byte aligned. */
+-static __inline void __attribute__((__always_inline__, __artificial__))
++extern __inline void __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_stream_ps (float *__P, __m128 __A)
+ {
+ __builtin_ia32_movntps (__P, (__v4sf)__A);
+@@ -1218,7 +1218,7 @@
+
+ /* Guarantees that every preceding store is globally visible before
+ any subsequent store. */
+-static __inline void __attribute__((__always_inline__, __artificial__))
++extern __inline void __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_sfence (void)
+ {
+ __builtin_ia32_sfence ();
+@@ -1227,7 +1227,7 @@
+ /* The execution of the next instruction is delayed by an implementation
+ specific amount of time. The instruction does not modify the
+ architectural state. */
+-static __inline void __attribute__((__always_inline__, __artificial__))
++extern __inline void __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_pause (void)
+ {
+ __asm__ __volatile__ ("rep; nop" : : );
+Index: gcc/config/i386/sse.md
+===================================================================
+--- gcc/config/i386/sse.md (.../tags/gcc_4_3_0_release) (revision 133808)
++++ gcc/config/i386/sse.md (.../branches/gcc-4_3-branch) (revision 133808)
+@@ -6402,7 +6402,7 @@
+ (mult:V8HI
+ (zero_extend:V8HI
+ (vec_select:V4QI
+- (match_operand:V16QI 1 "nonimmediate_operand" "%0")
++ (match_operand:V16QI 1 "nonimmediate_operand" "0")
+ (parallel [(const_int 0)
+ (const_int 2)
+ (const_int 4)
+@@ -6456,7 +6456,7 @@
+ (mult:V4HI
+ (zero_extend:V4HI
+ (vec_select:V4QI
+- (match_operand:V8QI 1 "nonimmediate_operand" "%0")
++ (match_operand:V8QI 1 "nonimmediate_operand" "0")
+ (parallel [(const_int 0)
+ (const_int 2)
+ (const_int 4)
+Index: gcc/config/i386/mmintrin-common.h
+===================================================================
+--- gcc/config/i386/mmintrin-common.h (.../tags/gcc_4_3_0_release) (revision 133808)
++++ gcc/config/i386/mmintrin-common.h (.../branches/gcc-4_3-branch) (revision 133808)
+@@ -60,7 +60,7 @@
+ /* Test Instruction */
+ /* Packed integer 128-bit bitwise comparison. Return 1 if
+ (__V & __M) == 0. */
+-static __inline int __attribute__((__always_inline__, __artificial__))
++extern __inline int __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_testz_si128 (__m128i __M, __m128i __V)
+ {
+ return __builtin_ia32_ptestz128 ((__v2di)__M, (__v2di)__V);
+@@ -68,7 +68,7 @@
+
+ /* Packed integer 128-bit bitwise comparison. Return 1 if
+ (__V & ~__M) == 0. */
+-static __inline int __attribute__((__always_inline__, __artificial__))
++extern __inline int __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_testc_si128 (__m128i __M, __m128i __V)
+ {
+ return __builtin_ia32_ptestc128 ((__v2di)__M, (__v2di)__V);
+@@ -76,7 +76,7 @@
+
+ /* Packed integer 128-bit bitwise comparison. Return 1 if
+ (__V & __M) != 0 && (__V & ~__M) != 0. */
+-static __inline int __attribute__((__always_inline__, __artificial__))
++extern __inline int __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_testnzc_si128 (__m128i __M, __m128i __V)
+ {
+ return __builtin_ia32_ptestnzc128 ((__v2di)__M, (__v2di)__V);
+@@ -93,13 +93,13 @@
+ /* Packed/scalar double precision floating point rounding. */
+
+ #ifdef __OPTIMIZE__
+-static __inline __m128d __attribute__((__always_inline__, __artificial__))
++extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_round_pd (__m128d __V, const int __M)
+ {
+ return (__m128d) __builtin_ia32_roundpd ((__v2df)__V, __M);
+ }
+
+-static __inline __m128d __attribute__((__always_inline__, __artificial__))
++extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_round_sd(__m128d __D, __m128d __V, const int __M)
+ {
+ return (__m128d) __builtin_ia32_roundsd ((__v2df)__D,
+@@ -118,13 +118,13 @@
+ /* Packed/scalar single precision floating point rounding. */
+
+ #ifdef __OPTIMIZE__
+-static __inline __m128 __attribute__((__always_inline__, __artificial__))
++extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_round_ps (__m128 __V, const int __M)
+ {
+ return (__m128) __builtin_ia32_roundps ((__v4sf)__V, __M);
+ }
+
+-static __inline __m128 __attribute__((__always_inline__, __artificial__))
++extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_round_ss (__m128 __D, __m128 __V, const int __M)
+ {
+ return (__m128) __builtin_ia32_roundss ((__v4sf)__D,
+Index: gcc/config/i386/ammintrin.h
+===================================================================
+--- gcc/config/i386/ammintrin.h (.../tags/gcc_4_3_0_release) (revision 133808)
++++ gcc/config/i386/ammintrin.h (.../branches/gcc-4_3-branch) (revision 133808)
+@@ -37,26 +37,26 @@
+ /* We need definitions from the SSE3, SSE2 and SSE header files*/
+ #include <pmmintrin.h>
+
+-static __inline void __attribute__((__always_inline__, __artificial__))
++extern __inline void __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_stream_sd (double * __P, __m128d __Y)
+ {
+ __builtin_ia32_movntsd (__P, (__v2df) __Y);
+ }
+
+-static __inline void __attribute__((__always_inline__, __artificial__))
++extern __inline void __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_stream_ss (float * __P, __m128 __Y)
+ {
+ __builtin_ia32_movntss (__P, (__v4sf) __Y);
+ }
+
+-static __inline __m128i __attribute__((__always_inline__, __artificial__))
++extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_extract_si64 (__m128i __X, __m128i __Y)
+ {
+ return (__m128i) __builtin_ia32_extrq ((__v2di) __X, (__v16qi) __Y);
+ }
+
+ #ifdef __OPTIMIZE__
+-static __inline __m128i __attribute__((__always_inline__, __artificial__))
++extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_extracti_si64 (__m128i __X, unsigned const int __I, unsigned const int __L)
+ {
+ return (__m128i) __builtin_ia32_extrqi ((__v2di) __X, __I, __L);
+@@ -67,14 +67,14 @@
+ (unsigned int)(I), (unsigned int)(L)))
+ #endif
+
+-static __inline __m128i __attribute__((__always_inline__, __artificial__))
++extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_insert_si64 (__m128i __X,__m128i __Y)
+ {
+ return (__m128i) __builtin_ia32_insertq ((__v2di)__X, (__v2di)__Y);
+ }
+
+ #ifdef __OPTIMIZE__
+-static __inline __m128i __attribute__((__always_inline__, __artificial__))
++extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_inserti_si64(__m128i __X, __m128i __Y, unsigned const int __I, unsigned const int __L)
+ {
+ return (__m128i) __builtin_ia32_insertqi ((__v2di)__X, (__v2di)__Y, __I, __L);
+Index: gcc/config/i386/emmintrin.h
+===================================================================
+--- gcc/config/i386/emmintrin.h (.../tags/gcc_4_3_0_release) (revision 133808)
++++ gcc/config/i386/emmintrin.h (.../branches/gcc-4_3-branch) (revision 133808)
+@@ -54,89 +54,89 @@
+ (((fp1) << 1) | (fp0))
+
+ /* Create a vector with element 0 as F and the rest zero. */
+-static __inline __m128d __attribute__((__always_inline__, __artificial__))
++extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_set_sd (double __F)
+ {
+ return __extension__ (__m128d){ __F, 0.0 };
+ }
+
+ /* Create a vector with both elements equal to F. */
+-static __inline __m128d __attribute__((__always_inline__, __artificial__))
++extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_set1_pd (double __F)
+ {
+ return __extension__ (__m128d){ __F, __F };
+ }
+
+-static __inline __m128d __attribute__((__always_inline__, __artificial__))
++extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_set_pd1 (double __F)
+ {
+ return _mm_set1_pd (__F);
+ }
+
+ /* Create a vector with the lower value X and upper value W. */
+-static __inline __m128d __attribute__((__always_inline__, __artificial__))
++extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_set_pd (double __W, double __X)
+ {
+ return __extension__ (__m128d){ __X, __W };
+ }
+
+ /* Create a vector with the lower value W and upper value X. */
+-static __inline __m128d __attribute__((__always_inline__, __artificial__))
++extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_setr_pd (double __W, double __X)
+ {
+ return __extension__ (__m128d){ __W, __X };
+ }
+
+ /* Create a vector of zeros. */
+-static __inline __m128d __attribute__((__always_inline__, __artificial__))
++extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_setzero_pd (void)
+ {
+ return __extension__ (__m128d){ 0.0, 0.0 };
+ }
+
+ /* Sets the low DPFP value of A from the low value of B. */
+-static __inline __m128d __attribute__((__always_inline__, __artificial__))
++extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_move_sd (__m128d __A, __m128d __B)
+ {
+ return (__m128d) __builtin_ia32_movsd ((__v2df)__A, (__v2df)__B);
+ }
+
+ /* Load two DPFP values from P. The address must be 16-byte aligned. */
+-static __inline __m128d __attribute__((__always_inline__, __artificial__))
++extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_load_pd (double const *__P)
+ {
+ return *(__m128d *)__P;
+ }
+
+ /* Load two DPFP values from P. The address need not be 16-byte aligned. */
+-static __inline __m128d __attribute__((__always_inline__, __artificial__))
++extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_loadu_pd (double const *__P)
+ {
+ return __builtin_ia32_loadupd (__P);
+ }
+
+ /* Create a vector with all two elements equal to *P. */
+-static __inline __m128d __attribute__((__always_inline__, __artificial__))
++extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_load1_pd (double const *__P)
+ {
+ return _mm_set1_pd (*__P);
+ }
+
+ /* Create a vector with element 0 as *P and the rest zero. */
+-static __inline __m128d __attribute__((__always_inline__, __artificial__))
++extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_load_sd (double const *__P)
+ {
+ return _mm_set_sd (*__P);
+ }
+
+-static __inline __m128d __attribute__((__always_inline__, __artificial__))
++extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_load_pd1 (double const *__P)
+ {
+ return _mm_load1_pd (__P);
+ }
+
+ /* Load two DPFP values in reverse order. The address must be aligned. */
+-static __inline __m128d __attribute__((__always_inline__, __artificial__))
++extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_loadr_pd (double const *__P)
+ {
+ __m128d __tmp = _mm_load_pd (__P);
+@@ -144,40 +144,40 @@
+ }
+
+ /* Store two DPFP values. The address must be 16-byte aligned. */
+-static __inline void __attribute__((__always_inline__, __artificial__))
++extern __inline void __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_store_pd (double *__P, __m128d __A)
+ {
+ *(__m128d *)__P = __A;
+ }
+
+ /* Store two DPFP values. The address need not be 16-byte aligned. */
+-static __inline void __attribute__((__always_inline__, __artificial__))
++extern __inline void __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_storeu_pd (double *__P, __m128d __A)
+ {
+ __builtin_ia32_storeupd (__P, __A);
+ }
+
+ /* Stores the lower DPFP value. */
+-static __inline void __attribute__((__always_inline__, __artificial__))
++extern __inline void __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_store_sd (double *__P, __m128d __A)
+ {
+ *__P = __builtin_ia32_vec_ext_v2df (__A, 0);
+ }
+
+-static __inline double __attribute__((__always_inline__, __artificial__))
++extern __inline double __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_cvtsd_f64 (__m128d __A)
+ {
+ return __builtin_ia32_vec_ext_v2df (__A, 0);
+ }
+
+-static __inline void __attribute__((__always_inline__, __artificial__))
++extern __inline void __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_storel_pd (double *__P, __m128d __A)
+ {
+ _mm_store_sd (__P, __A);
+ }
+
+ /* Stores the upper DPFP value. */
+-static __inline void __attribute__((__always_inline__, __artificial__))
++extern __inline void __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_storeh_pd (double *__P, __m128d __A)
+ {
+ *__P = __builtin_ia32_vec_ext_v2df (__A, 1);
+@@ -185,26 +185,26 @@
+
+ /* Store the lower DPFP value across two words.
+ The address must be 16-byte aligned. */
+-static __inline void __attribute__((__always_inline__, __artificial__))
++extern __inline void __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_store1_pd (double *__P, __m128d __A)
+ {
+ _mm_store_pd (__P, __builtin_ia32_shufpd (__A, __A, _MM_SHUFFLE2 (0,0)));
+ }
+
+-static __inline void __attribute__((__always_inline__, __artificial__))
++extern __inline void __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_store_pd1 (double *__P, __m128d __A)
+ {
+ _mm_store1_pd (__P, __A);
+ }
+
+ /* Store two DPFP values in reverse order. The address must be aligned. */
+-static __inline void __attribute__((__always_inline__, __artificial__))
++extern __inline void __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_storer_pd (double *__P, __m128d __A)
+ {
+ _mm_store_pd (__P, __builtin_ia32_shufpd (__A, __A, _MM_SHUFFLE2 (0,1)));
+ }
+
+-static __inline int __attribute__((__always_inline__, __artificial__))
++extern __inline int __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_cvtsi128_si32 (__m128i __A)
+ {
+ return __builtin_ia32_vec_ext_v4si ((__v4si)__A, 0);
+@@ -212,221 +212,221 @@
+
+ #ifdef __x86_64__
+ /* Intel intrinsic. */
+-static __inline long long __attribute__((__always_inline__, __artificial__))
++extern __inline long long __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_cvtsi128_si64 (__m128i __A)
+ {
+ return __builtin_ia32_vec_ext_v2di ((__v2di)__A, 0);
+ }
+
+ /* Microsoft intrinsic. */
+-static __inline long long __attribute__((__always_inline__, __artificial__))
++extern __inline long long __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_cvtsi128_si64x (__m128i __A)
+ {
+ return __builtin_ia32_vec_ext_v2di ((__v2di)__A, 0);
+ }
+ #endif
+
+-static __inline __m128d __attribute__((__always_inline__, __artificial__))
++extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_add_pd (__m128d __A, __m128d __B)
+ {
+ return (__m128d)__builtin_ia32_addpd ((__v2df)__A, (__v2df)__B);
+ }
+
+-static __inline __m128d __attribute__((__always_inline__, __artificial__))
++extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_add_sd (__m128d __A, __m128d __B)
+ {
+ return (__m128d)__builtin_ia32_addsd ((__v2df)__A, (__v2df)__B);
+ }
+
+-static __inline __m128d __attribute__((__always_inline__, __artificial__))
++extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_sub_pd (__m128d __A, __m128d __B)
+ {
+ return (__m128d)__builtin_ia32_subpd ((__v2df)__A, (__v2df)__B);
+ }
+
+-static __inline __m128d __attribute__((__always_inline__, __artificial__))
++extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_sub_sd (__m128d __A, __m128d __B)
+ {
+ return (__m128d)__builtin_ia32_subsd ((__v2df)__A, (__v2df)__B);
+ }
+
+-static __inline __m128d __attribute__((__always_inline__, __artificial__))
++extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_mul_pd (__m128d __A, __m128d __B)
+ {
+ return (__m128d)__builtin_ia32_mulpd ((__v2df)__A, (__v2df)__B);
+ }
+
+-static __inline __m128d __attribute__((__always_inline__, __artificial__))
++extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_mul_sd (__m128d __A, __m128d __B)
+ {
+ return (__m128d)__builtin_ia32_mulsd ((__v2df)__A, (__v2df)__B);
+ }
+
+-static __inline __m128d __attribute__((__always_inline__, __artificial__))
++extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_div_pd (__m128d __A, __m128d __B)
+ {
+ return (__m128d)__builtin_ia32_divpd ((__v2df)__A, (__v2df)__B);
+ }
+
+-static __inline __m128d __attribute__((__always_inline__, __artificial__))
++extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_div_sd (__m128d __A, __m128d __B)
+ {
+ return (__m128d)__builtin_ia32_divsd ((__v2df)__A, (__v2df)__B);
+ }
+
+-static __inline __m128d __attribute__((__always_inline__, __artificial__))
++extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_sqrt_pd (__m128d __A)
+ {
+ return (__m128d)__builtin_ia32_sqrtpd ((__v2df)__A);
+ }
+
+ /* Return pair {sqrt (A[0), B[1]}. */
+-static __inline __m128d __attribute__((__always_inline__, __artificial__))
++extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_sqrt_sd (__m128d __A, __m128d __B)
+ {
+ __v2df __tmp = __builtin_ia32_movsd ((__v2df)__A, (__v2df)__B);
+ return (__m128d)__builtin_ia32_sqrtsd ((__v2df)__tmp);
+ }
+
+-static __inline __m128d __attribute__((__always_inline__, __artificial__))
++extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_min_pd (__m128d __A, __m128d __B)
+ {
+ return (__m128d)__builtin_ia32_minpd ((__v2df)__A, (__v2df)__B);
+ }
+
+-static __inline __m128d __attribute__((__always_inline__, __artificial__))
++extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_min_sd (__m128d __A, __m128d __B)
+ {
+ return (__m128d)__builtin_ia32_minsd ((__v2df)__A, (__v2df)__B);
+ }
+
+-static __inline __m128d __attribute__((__always_inline__, __artificial__))
++extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_max_pd (__m128d __A, __m128d __B)
+ {
+ return (__m128d)__builtin_ia32_maxpd ((__v2df)__A, (__v2df)__B);
+ }
+
+-static __inline __m128d __attribute__((__always_inline__, __artificial__))
++extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_max_sd (__m128d __A, __m128d __B)
+ {
+ return (__m128d)__builtin_ia32_maxsd ((__v2df)__A, (__v2df)__B);
+ }
+
+-static __inline __m128d __attribute__((__always_inline__, __artificial__))
++extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_and_pd (__m128d __A, __m128d __B)
+ {
+ return (__m128d)__builtin_ia32_andpd ((__v2df)__A, (__v2df)__B);
+ }
+
+-static __inline __m128d __attribute__((__always_inline__, __artificial__))
++extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_andnot_pd (__m128d __A, __m128d __B)
+ {
+ return (__m128d)__builtin_ia32_andnpd ((__v2df)__A, (__v2df)__B);
+ }
+
+-static __inline __m128d __attribute__((__always_inline__, __artificial__))
++extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_or_pd (__m128d __A, __m128d __B)
+ {
+ return (__m128d)__builtin_ia32_orpd ((__v2df)__A, (__v2df)__B);
+ }
+
+-static __inline __m128d __attribute__((__always_inline__, __artificial__))
++extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_xor_pd (__m128d __A, __m128d __B)
+ {
+ return (__m128d)__builtin_ia32_xorpd ((__v2df)__A, (__v2df)__B);
+ }
+
+-static __inline __m128d __attribute__((__always_inline__, __artificial__))
++extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_cmpeq_pd (__m128d __A, __m128d __B)
+ {
+ return (__m128d)__builtin_ia32_cmpeqpd ((__v2df)__A, (__v2df)__B);
+ }
+
+-static __inline __m128d __attribute__((__always_inline__, __artificial__))
++extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_cmplt_pd (__m128d __A, __m128d __B)
+ {
+ return (__m128d)__builtin_ia32_cmpltpd ((__v2df)__A, (__v2df)__B);
+ }
+
+-static __inline __m128d __attribute__((__always_inline__, __artificial__))
++extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_cmple_pd (__m128d __A, __m128d __B)
+ {
+ return (__m128d)__builtin_ia32_cmplepd ((__v2df)__A, (__v2df)__B);
+ }
+
+-static __inline __m128d __attribute__((__always_inline__, __artificial__))
++extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_cmpgt_pd (__m128d __A, __m128d __B)
+ {
+ return (__m128d)__builtin_ia32_cmpgtpd ((__v2df)__A, (__v2df)__B);
+ }
+
+-static __inline __m128d __attribute__((__always_inline__, __artificial__))
++extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_cmpge_pd (__m128d __A, __m128d __B)
+ {
+ return (__m128d)__builtin_ia32_cmpgepd ((__v2df)__A, (__v2df)__B);
+ }
+
+-static __inline __m128d __attribute__((__always_inline__, __artificial__))
++extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_cmpneq_pd (__m128d __A, __m128d __B)
+ {
+ return (__m128d)__builtin_ia32_cmpneqpd ((__v2df)__A, (__v2df)__B);
+ }
+
+-static __inline __m128d __attribute__((__always_inline__, __artificial__))
++extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_cmpnlt_pd (__m128d __A, __m128d __B)
+ {
+ return (__m128d)__builtin_ia32_cmpnltpd ((__v2df)__A, (__v2df)__B);
+ }
+
+-static __inline __m128d __attribute__((__always_inline__, __artificial__))
++extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_cmpnle_pd (__m128d __A, __m128d __B)
+ {
+ return (__m128d)__builtin_ia32_cmpnlepd ((__v2df)__A, (__v2df)__B);
+ }
+
+-static __inline __m128d __attribute__((__always_inline__, __artificial__))
++extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_cmpngt_pd (__m128d __A, __m128d __B)
+ {
+ return (__m128d)__builtin_ia32_cmpngtpd ((__v2df)__A, (__v2df)__B);
+ }
+
+-static __inline __m128d __attribute__((__always_inline__, __artificial__))
++extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_cmpnge_pd (__m128d __A, __m128d __B)
+ {
+ return (__m128d)__builtin_ia32_cmpngepd ((__v2df)__A, (__v2df)__B);
+ }
+
+-static __inline __m128d __attribute__((__always_inline__, __artificial__))
++extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_cmpord_pd (__m128d __A, __m128d __B)
+ {
+ return (__m128d)__builtin_ia32_cmpordpd ((__v2df)__A, (__v2df)__B);
+ }
+
+-static __inline __m128d __attribute__((__always_inline__, __artificial__))
++extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_cmpunord_pd (__m128d __A, __m128d __B)
+ {
+ return (__m128d)__builtin_ia32_cmpunordpd ((__v2df)__A, (__v2df)__B);
+ }
+
+-static __inline __m128d __attribute__((__always_inline__, __artificial__))
++extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_cmpeq_sd (__m128d __A, __m128d __B)
+ {
+ return (__m128d)__builtin_ia32_cmpeqsd ((__v2df)__A, (__v2df)__B);
+ }
+
+-static __inline __m128d __attribute__((__always_inline__, __artificial__))
++extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_cmplt_sd (__m128d __A, __m128d __B)
+ {
+ return (__m128d)__builtin_ia32_cmpltsd ((__v2df)__A, (__v2df)__B);
+ }
+
+-static __inline __m128d __attribute__((__always_inline__, __artificial__))
++extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_cmple_sd (__m128d __A, __m128d __B)
+ {
+ return (__m128d)__builtin_ia32_cmplesd ((__v2df)__A, (__v2df)__B);
+ }
+
+-static __inline __m128d __attribute__((__always_inline__, __artificial__))
++extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_cmpgt_sd (__m128d __A, __m128d __B)
+ {
+ return (__m128d) __builtin_ia32_movsd ((__v2df) __A,
+@@ -436,7 +436,7 @@
+ __A));
+ }
+
+-static __inline __m128d __attribute__((__always_inline__, __artificial__))
++extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_cmpge_sd (__m128d __A, __m128d __B)
+ {
+ return (__m128d) __builtin_ia32_movsd ((__v2df) __A,
+@@ -446,25 +446,25 @@
+ __A));
+ }
+
+-static __inline __m128d __attribute__((__always_inline__, __artificial__))
++extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_cmpneq_sd (__m128d __A, __m128d __B)
+ {
+ return (__m128d)__builtin_ia32_cmpneqsd ((__v2df)__A, (__v2df)__B);
+ }
+
+-static __inline __m128d __attribute__((__always_inline__, __artificial__))
++extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_cmpnlt_sd (__m128d __A, __m128d __B)
+ {
+ return (__m128d)__builtin_ia32_cmpnltsd ((__v2df)__A, (__v2df)__B);
+ }
+
+-static __inline __m128d __attribute__((__always_inline__, __artificial__))
++extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_cmpnle_sd (__m128d __A, __m128d __B)
+ {
+ return (__m128d)__builtin_ia32_cmpnlesd ((__v2df)__A, (__v2df)__B);
+ }
+
+-static __inline __m128d __attribute__((__always_inline__, __artificial__))
++extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_cmpngt_sd (__m128d __A, __m128d __B)
+ {
+ return (__m128d) __builtin_ia32_movsd ((__v2df) __A,
+@@ -474,7 +474,7 @@
+ __A));
+ }
+
+-static __inline __m128d __attribute__((__always_inline__, __artificial__))
++extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_cmpnge_sd (__m128d __A, __m128d __B)
+ {
+ return (__m128d) __builtin_ia32_movsd ((__v2df) __A,
+@@ -484,85 +484,85 @@
+ __A));
+ }
+
+-static __inline __m128d __attribute__((__always_inline__, __artificial__))
++extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_cmpord_sd (__m128d __A, __m128d __B)
+ {
+ return (__m128d)__builtin_ia32_cmpordsd ((__v2df)__A, (__v2df)__B);
+ }
+
+-static __inline __m128d __attribute__((__always_inline__, __artificial__))
++extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_cmpunord_sd (__m128d __A, __m128d __B)
+ {
+ return (__m128d)__builtin_ia32_cmpunordsd ((__v2df)__A, (__v2df)__B);
+ }
+
+-static __inline int __attribute__((__always_inline__, __artificial__))
++extern __inline int __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_comieq_sd (__m128d __A, __m128d __B)
+ {
+ return __builtin_ia32_comisdeq ((__v2df)__A, (__v2df)__B);
+ }
+
+-static __inline int __attribute__((__always_inline__, __artificial__))
++extern __inline int __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_comilt_sd (__m128d __A, __m128d __B)
+ {
+ return __builtin_ia32_comisdlt ((__v2df)__A, (__v2df)__B);
+ }
+
+-static __inline int __attribute__((__always_inline__, __artificial__))
++extern __inline int __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_comile_sd (__m128d __A, __m128d __B)
+ {
+ return __builtin_ia32_comisdle ((__v2df)__A, (__v2df)__B);
+ }
+
+-static __inline int __attribute__((__always_inline__, __artificial__))
++extern __inline int __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_comigt_sd (__m128d __A, __m128d __B)
+ {
+ return __builtin_ia32_comisdgt ((__v2df)__A, (__v2df)__B);
+ }
+
+-static __inline int __attribute__((__always_inline__, __artificial__))
++extern __inline int __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_comige_sd (__m128d __A, __m128d __B)
+ {
+ return __builtin_ia32_comisdge ((__v2df)__A, (__v2df)__B);
+ }
+
+-static __inline int __attribute__((__always_inline__, __artificial__))
++extern __inline int __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_comineq_sd (__m128d __A, __m128d __B)
+ {
+ return __builtin_ia32_comisdneq ((__v2df)__A, (__v2df)__B);
+ }
+
+-static __inline int __attribute__((__always_inline__, __artificial__))
++extern __inline int __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_ucomieq_sd (__m128d __A, __m128d __B)
+ {
+ return __builtin_ia32_ucomisdeq ((__v2df)__A, (__v2df)__B);
+ }
+
+-static __inline int __attribute__((__always_inline__, __artificial__))
++extern __inline int __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_ucomilt_sd (__m128d __A, __m128d __B)
+ {
+ return __builtin_ia32_ucomisdlt ((__v2df)__A, (__v2df)__B);
+ }
+
+-static __inline int __attribute__((__always_inline__, __artificial__))
++extern __inline int __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_ucomile_sd (__m128d __A, __m128d __B)
+ {
+ return __builtin_ia32_ucomisdle ((__v2df)__A, (__v2df)__B);
+ }
+
+-static __inline int __attribute__((__always_inline__, __artificial__))
++extern __inline int __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_ucomigt_sd (__m128d __A, __m128d __B)
+ {
+ return __builtin_ia32_ucomisdgt ((__v2df)__A, (__v2df)__B);
+ }
+
+-static __inline int __attribute__((__always_inline__, __artificial__))
++extern __inline int __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_ucomige_sd (__m128d __A, __m128d __B)
+ {
+ return __builtin_ia32_ucomisdge ((__v2df)__A, (__v2df)__B);
+ }
+
+-static __inline int __attribute__((__always_inline__, __artificial__))
++extern __inline int __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_ucomineq_sd (__m128d __A, __m128d __B)
+ {
+ return __builtin_ia32_ucomisdneq ((__v2df)__A, (__v2df)__B);
+@@ -570,25 +570,25 @@
+
+ /* Create a vector of Qi, where i is the element number. */
+
+-static __inline __m128i __attribute__((__always_inline__, __artificial__))
++extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_set_epi64x (long long __q1, long long __q0)
+ {
+ return __extension__ (__m128i)(__v2di){ __q0, __q1 };
+ }
+
+-static __inline __m128i __attribute__((__always_inline__, __artificial__))
++extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_set_epi64 (__m64 __q1, __m64 __q0)
+ {
+ return _mm_set_epi64x ((long long)__q1, (long long)__q0);
+ }
+
+-static __inline __m128i __attribute__((__always_inline__, __artificial__))
++extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_set_epi32 (int __q3, int __q2, int __q1, int __q0)
+ {
+ return __extension__ (__m128i)(__v4si){ __q0, __q1, __q2, __q3 };
+ }
+
+-static __inline __m128i __attribute__((__always_inline__, __artificial__))
++extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_set_epi16 (short __q7, short __q6, short __q5, short __q4,
+ short __q3, short __q2, short __q1, short __q0)
+ {
+@@ -596,7 +596,7 @@
+ __q0, __q1, __q2, __q3, __q4, __q5, __q6, __q7 };
+ }
+
+-static __inline __m128i __attribute__((__always_inline__, __artificial__))
++extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_set_epi8 (char __q15, char __q14, char __q13, char __q12,
+ char __q11, char __q10, char __q09, char __q08,
+ char __q07, char __q06, char __q05, char __q04,
+@@ -610,31 +610,31 @@
+
+ /* Set all of the elements of the vector to A. */
+
+-static __inline __m128i __attribute__((__always_inline__, __artificial__))
++extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_set1_epi64x (long long __A)
+ {
+ return _mm_set_epi64x (__A, __A);
+ }
+
+-static __inline __m128i __attribute__((__always_inline__, __artificial__))
++extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_set1_epi64 (__m64 __A)
+ {
+ return _mm_set_epi64 (__A, __A);
+ }
+
+-static __inline __m128i __attribute__((__always_inline__, __artificial__))
++extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_set1_epi32 (int __A)
+ {
+ return _mm_set_epi32 (__A, __A, __A, __A);
+ }
+
+-static __inline __m128i __attribute__((__always_inline__, __artificial__))
++extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_set1_epi16 (short __A)
+ {
+ return _mm_set_epi16 (__A, __A, __A, __A, __A, __A, __A, __A);
+ }
+
+-static __inline __m128i __attribute__((__always_inline__, __artificial__))
++extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_set1_epi8 (char __A)
+ {
+ return _mm_set_epi8 (__A, __A, __A, __A, __A, __A, __A, __A,
+@@ -644,26 +644,26 @@
+ /* Create a vector of Qi, where i is the element number.
+ The parameter order is reversed from the _mm_set_epi* functions. */
+
+-static __inline __m128i __attribute__((__always_inline__, __artificial__))
++extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_setr_epi64 (__m64 __q0, __m64 __q1)
+ {
+ return _mm_set_epi64 (__q1, __q0);
+ }
+
+-static __inline __m128i __attribute__((__always_inline__, __artificial__))
++extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_setr_epi32 (int __q0, int __q1, int __q2, int __q3)
+ {
+ return _mm_set_epi32 (__q3, __q2, __q1, __q0);
+ }
+
+-static __inline __m128i __attribute__((__always_inline__, __artificial__))
++extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_setr_epi16 (short __q0, short __q1, short __q2, short __q3,
+ short __q4, short __q5, short __q6, short __q7)
+ {
+ return _mm_set_epi16 (__q7, __q6, __q5, __q4, __q3, __q2, __q1, __q0);
+ }
+
+-static __inline __m128i __attribute__((__always_inline__, __artificial__))
++extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_setr_epi8 (char __q00, char __q01, char __q02, char __q03,
+ char __q04, char __q05, char __q06, char __q07,
+ char __q08, char __q09, char __q10, char __q11,
+@@ -675,134 +675,134 @@
+
+ /* Create a vector with element 0 as *P and the rest zero. */
+
+-static __inline __m128i __attribute__((__always_inline__, __artificial__))
++extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_load_si128 (__m128i const *__P)
+ {
+ return *__P;
+ }
+
+-static __inline __m128i __attribute__((__always_inline__, __artificial__))
++extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_loadu_si128 (__m128i const *__P)
+ {
+ return (__m128i) __builtin_ia32_loaddqu ((char const *)__P);
+ }
+
+-static __inline __m128i __attribute__((__always_inline__, __artificial__))
++extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_loadl_epi64 (__m128i const *__P)
+ {
+ return _mm_set_epi64 ((__m64)0LL, *(__m64 *)__P);
+ }
+
+-static __inline void __attribute__((__always_inline__, __artificial__))
++extern __inline void __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_store_si128 (__m128i *__P, __m128i __B)
+ {
+ *__P = __B;
+ }
+
+-static __inline void __attribute__((__always_inline__, __artificial__))
++extern __inline void __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_storeu_si128 (__m128i *__P, __m128i __B)
+ {
+ __builtin_ia32_storedqu ((char *)__P, (__v16qi)__B);
+ }
+
+-static __inline void __attribute__((__always_inline__, __artificial__))
++extern __inline void __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_storel_epi64 (__m128i *__P, __m128i __B)
+ {
+ *(long long *)__P = __builtin_ia32_vec_ext_v2di ((__v2di)__B, 0);
+ }
+
+-static __inline __m64 __attribute__((__always_inline__, __artificial__))
++extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_movepi64_pi64 (__m128i __B)
+ {
+ return (__m64) __builtin_ia32_vec_ext_v2di ((__v2di)__B, 0);
+ }
+
+-static __inline __m128i __attribute__((__always_inline__, __artificial__))
++extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_movpi64_epi64 (__m64 __A)
+ {
+ return _mm_set_epi64 ((__m64)0LL, __A);
+ }
+
+-static __inline __m128i __attribute__((__always_inline__, __artificial__))
++extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_move_epi64 (__m128i __A)
+ {
+ return _mm_set_epi64 ((__m64)0LL, _mm_movepi64_pi64 (__A));
+ }
+
+ /* Create a vector of zeros. */
+-static __inline __m128i __attribute__((__always_inline__, __artificial__))
++extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_setzero_si128 (void)
+ {
+ return __extension__ (__m128i)(__v4si){ 0, 0, 0, 0 };
+ }
+
+-static __inline __m128d __attribute__((__always_inline__, __artificial__))
++extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_cvtepi32_pd (__m128i __A)
+ {
+ return (__m128d)__builtin_ia32_cvtdq2pd ((__v4si) __A);
+ }
+
+-static __inline __m128 __attribute__((__always_inline__, __artificial__))
++extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_cvtepi32_ps (__m128i __A)
+ {
+ return (__m128)__builtin_ia32_cvtdq2ps ((__v4si) __A);
+ }
+
+-static __inline __m128i __attribute__((__always_inline__, __artificial__))
++extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_cvtpd_epi32 (__m128d __A)
+ {
+ return (__m128i)__builtin_ia32_cvtpd2dq ((__v2df) __A);
+ }
+
+-static __inline __m64 __attribute__((__always_inline__, __artificial__))
++extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_cvtpd_pi32 (__m128d __A)
+ {
+ return (__m64)__builtin_ia32_cvtpd2pi ((__v2df) __A);
+ }
+
+-static __inline __m128 __attribute__((__always_inline__, __artificial__))
++extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_cvtpd_ps (__m128d __A)
+ {
+ return (__m128)__builtin_ia32_cvtpd2ps ((__v2df) __A);
+ }
+
+-static __inline __m128i __attribute__((__always_inline__, __artificial__))
++extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_cvttpd_epi32 (__m128d __A)
+ {
+ return (__m128i)__builtin_ia32_cvttpd2dq ((__v2df) __A);
+ }
+
+-static __inline __m64 __attribute__((__always_inline__, __artificial__))
++extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_cvttpd_pi32 (__m128d __A)
+ {
+ return (__m64)__builtin_ia32_cvttpd2pi ((__v2df) __A);
+ }
+
+-static __inline __m128d __attribute__((__always_inline__, __artificial__))
++extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_cvtpi32_pd (__m64 __A)
+ {
+ return (__m128d)__builtin_ia32_cvtpi2pd ((__v2si) __A);
+ }
+
+-static __inline __m128i __attribute__((__always_inline__, __artificial__))
++extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_cvtps_epi32 (__m128 __A)
+ {
+ return (__m128i)__builtin_ia32_cvtps2dq ((__v4sf) __A);
+ }
+
+-static __inline __m128i __attribute__((__always_inline__, __artificial__))
++extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_cvttps_epi32 (__m128 __A)
+ {
+ return (__m128i)__builtin_ia32_cvttps2dq ((__v4sf) __A);
+ }
+
+-static __inline __m128d __attribute__((__always_inline__, __artificial__))
++extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_cvtps_pd (__m128 __A)
+ {
+ return (__m128d)__builtin_ia32_cvtps2pd ((__v4sf) __A);
+ }
+
+-static __inline int __attribute__((__always_inline__, __artificial__))
++extern __inline int __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_cvtsd_si32 (__m128d __A)
+ {
+ return __builtin_ia32_cvtsd2si ((__v2df) __A);
+@@ -810,21 +810,21 @@
+
+ #ifdef __x86_64__
+ /* Intel intrinsic. */
+-static __inline long long __attribute__((__always_inline__, __artificial__))
++extern __inline long long __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_cvtsd_si64 (__m128d __A)
+ {
+ return __builtin_ia32_cvtsd2si64 ((__v2df) __A);
+ }
+
+ /* Microsoft intrinsic. */
+-static __inline long long __attribute__((__always_inline__, __artificial__))
++extern __inline long long __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_cvtsd_si64x (__m128d __A)
+ {
+ return __builtin_ia32_cvtsd2si64 ((__v2df) __A);
+ }
+ #endif
+
+-static __inline int __attribute__((__always_inline__, __artificial__))
++extern __inline int __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_cvttsd_si32 (__m128d __A)
+ {
+ return __builtin_ia32_cvttsd2si ((__v2df) __A);
+@@ -832,27 +832,27 @@
+
+ #ifdef __x86_64__
+ /* Intel intrinsic. */
+-static __inline long long __attribute__((__always_inline__, __artificial__))
++extern __inline long long __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_cvttsd_si64 (__m128d __A)
+ {
+ return __builtin_ia32_cvttsd2si64 ((__v2df) __A);
+ }
+
+ /* Microsoft intrinsic. */
+-static __inline long long __attribute__((__always_inline__, __artificial__))
++extern __inline long long __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_cvttsd_si64x (__m128d __A)
+ {
+ return __builtin_ia32_cvttsd2si64 ((__v2df) __A);
+ }
+ #endif
+
+-static __inline __m128 __attribute__((__always_inline__, __artificial__))
++extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_cvtsd_ss (__m128 __A, __m128d __B)
+ {
+ return (__m128)__builtin_ia32_cvtsd2ss ((__v4sf) __A, (__v2df) __B);
+ }
+
+-static __inline __m128d __attribute__((__always_inline__, __artificial__))
++extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_cvtsi32_sd (__m128d __A, int __B)
+ {
+ return (__m128d)__builtin_ia32_cvtsi2sd ((__v2df) __A, __B);
+@@ -860,28 +860,28 @@
+
+ #ifdef __x86_64__
+ /* Intel intrinsic. */
+-static __inline __m128d __attribute__((__always_inline__, __artificial__))
++extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_cvtsi64_sd (__m128d __A, long long __B)
+ {
+ return (__m128d)__builtin_ia32_cvtsi642sd ((__v2df) __A, __B);
+ }
+
+ /* Microsoft intrinsic. */
+-static __inline __m128d __attribute__((__always_inline__, __artificial__))
++extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_cvtsi64x_sd (__m128d __A, long long __B)
+ {
+ return (__m128d)__builtin_ia32_cvtsi642sd ((__v2df) __A, __B);
+ }
+ #endif
+
+-static __inline __m128d __attribute__((__always_inline__, __artificial__))
++extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_cvtss_sd (__m128d __A, __m128 __B)
+ {
+ return (__m128d)__builtin_ia32_cvtss2sd ((__v2df) __A, (__v4sf)__B);
+ }
+
+ #ifdef __OPTIMIZE__
+-static __inline __m128d __attribute__((__always_inline__, __artificial__))
++extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_shuffle_pd(__m128d __A, __m128d __B, const int __mask)
+ {
+ return (__m128d)__builtin_ia32_shufpd ((__v2df)__A, (__v2df)__B, __mask);
+@@ -892,266 +892,266 @@
+ (__v2df)(__m128d)(B), (int)(N)))
+ #endif
+
+-static __inline __m128d __attribute__((__always_inline__, __artificial__))
++extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_unpackhi_pd (__m128d __A, __m128d __B)
+ {
+ return (__m128d)__builtin_ia32_unpckhpd ((__v2df)__A, (__v2df)__B);
+ }
+
+-static __inline __m128d __attribute__((__always_inline__, __artificial__))
++extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_unpacklo_pd (__m128d __A, __m128d __B)
+ {
+ return (__m128d)__builtin_ia32_unpcklpd ((__v2df)__A, (__v2df)__B);
+ }
+
+-static __inline __m128d __attribute__((__always_inline__, __artificial__))
++extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_loadh_pd (__m128d __A, double const *__B)
+ {
+ return (__m128d)__builtin_ia32_loadhpd ((__v2df)__A, __B);
+ }
+
+-static __inline __m128d __attribute__((__always_inline__, __artificial__))
++extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_loadl_pd (__m128d __A, double const *__B)
+ {
+ return (__m128d)__builtin_ia32_loadlpd ((__v2df)__A, __B);
+ }
+
+-static __inline int __attribute__((__always_inline__, __artificial__))
++extern __inline int __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_movemask_pd (__m128d __A)
+ {
+ return __builtin_ia32_movmskpd ((__v2df)__A);
+ }
+
+-static __inline __m128i __attribute__((__always_inline__, __artificial__))
++extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_packs_epi16 (__m128i __A, __m128i __B)
+ {
+ return (__m128i)__builtin_ia32_packsswb128 ((__v8hi)__A, (__v8hi)__B);
+ }
+
+-static __inline __m128i __attribute__((__always_inline__, __artificial__))
++extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_packs_epi32 (__m128i __A, __m128i __B)
+ {
+ return (__m128i)__builtin_ia32_packssdw128 ((__v4si)__A, (__v4si)__B);
+ }
+
+-static __inline __m128i __attribute__((__always_inline__, __artificial__))
++extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_packus_epi16 (__m128i __A, __m128i __B)
+ {
+ return (__m128i)__builtin_ia32_packuswb128 ((__v8hi)__A, (__v8hi)__B);
+ }
+
+-static __inline __m128i __attribute__((__always_inline__, __artificial__))
++extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_unpackhi_epi8 (__m128i __A, __m128i __B)
+ {
+ return (__m128i)__builtin_ia32_punpckhbw128 ((__v16qi)__A, (__v16qi)__B);
+ }
+
+-static __inline __m128i __attribute__((__always_inline__, __artificial__))
++extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_unpackhi_epi16 (__m128i __A, __m128i __B)
+ {
+ return (__m128i)__builtin_ia32_punpckhwd128 ((__v8hi)__A, (__v8hi)__B);
+ }
+
+-static __inline __m128i __attribute__((__always_inline__, __artificial__))
++extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_unpackhi_epi32 (__m128i __A, __m128i __B)
+ {
+ return (__m128i)__builtin_ia32_punpckhdq128 ((__v4si)__A, (__v4si)__B);
+ }
+
+-static __inline __m128i __attribute__((__always_inline__, __artificial__))
++extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_unpackhi_epi64 (__m128i __A, __m128i __B)
+ {
+ return (__m128i)__builtin_ia32_punpckhqdq128 ((__v2di)__A, (__v2di)__B);
+ }
+
+-static __inline __m128i __attribute__((__always_inline__, __artificial__))
++extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_unpacklo_epi8 (__m128i __A, __m128i __B)
+ {
+ return (__m128i)__builtin_ia32_punpcklbw128 ((__v16qi)__A, (__v16qi)__B);
+ }
+
+-static __inline __m128i __attribute__((__always_inline__, __artificial__))
++extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_unpacklo_epi16 (__m128i __A, __m128i __B)
+ {
+ return (__m128i)__builtin_ia32_punpcklwd128 ((__v8hi)__A, (__v8hi)__B);
+ }
+
+-static __inline __m128i __attribute__((__always_inline__, __artificial__))
++extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_unpacklo_epi32 (__m128i __A, __m128i __B)
+ {
+ return (__m128i)__builtin_ia32_punpckldq128 ((__v4si)__A, (__v4si)__B);
+ }
+
+-static __inline __m128i __attribute__((__always_inline__, __artificial__))
++extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_unpacklo_epi64 (__m128i __A, __m128i __B)
+ {
+ return (__m128i)__builtin_ia32_punpcklqdq128 ((__v2di)__A, (__v2di)__B);
+ }
+
+-static __inline __m128i __attribute__((__always_inline__, __artificial__))
++extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_add_epi8 (__m128i __A, __m128i __B)
+ {
+ return (__m128i)__builtin_ia32_paddb128 ((__v16qi)__A, (__v16qi)__B);
+ }
+
+-static __inline __m128i __attribute__((__always_inline__, __artificial__))
++extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_add_epi16 (__m128i __A, __m128i __B)
+ {
+ return (__m128i)__builtin_ia32_paddw128 ((__v8hi)__A, (__v8hi)__B);
+ }
+
+-static __inline __m128i __attribute__((__always_inline__, __artificial__))
++extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_add_epi32 (__m128i __A, __m128i __B)
+ {
+ return (__m128i)__builtin_ia32_paddd128 ((__v4si)__A, (__v4si)__B);
+ }
+
+-static __inline __m128i __attribute__((__always_inline__, __artificial__))
++extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_add_epi64 (__m128i __A, __m128i __B)
+ {
+ return (__m128i)__builtin_ia32_paddq128 ((__v2di)__A, (__v2di)__B);
+ }
+
+-static __inline __m128i __attribute__((__always_inline__, __artificial__))
++extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_adds_epi8 (__m128i __A, __m128i __B)
+ {
+ return (__m128i)__builtin_ia32_paddsb128 ((__v16qi)__A, (__v16qi)__B);
+ }
+
+-static __inline __m128i __attribute__((__always_inline__, __artificial__))
++extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_adds_epi16 (__m128i __A, __m128i __B)
+ {
+ return (__m128i)__builtin_ia32_paddsw128 ((__v8hi)__A, (__v8hi)__B);
+ }
+
+-static __inline __m128i __attribute__((__always_inline__, __artificial__))
++extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_adds_epu8 (__m128i __A, __m128i __B)
+ {
+ return (__m128i)__builtin_ia32_paddusb128 ((__v16qi)__A, (__v16qi)__B);
+ }
+
+-static __inline __m128i __attribute__((__always_inline__, __artificial__))
++extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_adds_epu16 (__m128i __A, __m128i __B)
+ {
+ return (__m128i)__builtin_ia32_paddusw128 ((__v8hi)__A, (__v8hi)__B);
+ }
+
+-static __inline __m128i __attribute__((__always_inline__, __artificial__))
++extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_sub_epi8 (__m128i __A, __m128i __B)
+ {
+ return (__m128i)__builtin_ia32_psubb128 ((__v16qi)__A, (__v16qi)__B);
+ }
+
+-static __inline __m128i __attribute__((__always_inline__, __artificial__))
++extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_sub_epi16 (__m128i __A, __m128i __B)
+ {
+ return (__m128i)__builtin_ia32_psubw128 ((__v8hi)__A, (__v8hi)__B);
+ }
+
+-static __inline __m128i __attribute__((__always_inline__, __artificial__))
++extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_sub_epi32 (__m128i __A, __m128i __B)
+ {
+ return (__m128i)__builtin_ia32_psubd128 ((__v4si)__A, (__v4si)__B);
+ }
+
+-static __inline __m128i __attribute__((__always_inline__, __artificial__))
++extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_sub_epi64 (__m128i __A, __m128i __B)
+ {
+ return (__m128i)__builtin_ia32_psubq128 ((__v2di)__A, (__v2di)__B);
+ }
+
+-static __inline __m128i __attribute__((__always_inline__, __artificial__))
++extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_subs_epi8 (__m128i __A, __m128i __B)
+ {
+ return (__m128i)__builtin_ia32_psubsb128 ((__v16qi)__A, (__v16qi)__B);
+ }
+
+-static __inline __m128i __attribute__((__always_inline__, __artificial__))
++extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_subs_epi16 (__m128i __A, __m128i __B)
+ {
+ return (__m128i)__builtin_ia32_psubsw128 ((__v8hi)__A, (__v8hi)__B);
+ }
+
+-static __inline __m128i __attribute__((__always_inline__, __artificial__))
++extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_subs_epu8 (__m128i __A, __m128i __B)
+ {
+ return (__m128i)__builtin_ia32_psubusb128 ((__v16qi)__A, (__v16qi)__B);
+ }
+
+-static __inline __m128i __attribute__((__always_inline__, __artificial__))
++extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_subs_epu16 (__m128i __A, __m128i __B)
+ {
+ return (__m128i)__builtin_ia32_psubusw128 ((__v8hi)__A, (__v8hi)__B);
+ }
+
+-static __inline __m128i __attribute__((__always_inline__, __artificial__))
++extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_madd_epi16 (__m128i __A, __m128i __B)
+ {
+ return (__m128i)__builtin_ia32_pmaddwd128 ((__v8hi)__A, (__v8hi)__B);
+ }
+
+-static __inline __m128i __attribute__((__always_inline__, __artificial__))
++extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_mulhi_epi16 (__m128i __A, __m128i __B)
+ {
+ return (__m128i)__builtin_ia32_pmulhw128 ((__v8hi)__A, (__v8hi)__B);
+ }
+
+-static __inline __m128i __attribute__((__always_inline__, __artificial__))
++extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_mullo_epi16 (__m128i __A, __m128i __B)
+ {
+ return (__m128i)__builtin_ia32_pmullw128 ((__v8hi)__A, (__v8hi)__B);
+ }
+
+-static __inline __m64 __attribute__((__always_inline__, __artificial__))
++extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_mul_su32 (__m64 __A, __m64 __B)
+ {
+ return (__m64)__builtin_ia32_pmuludq ((__v2si)__A, (__v2si)__B);
+ }
+
+-static __inline __m128i __attribute__((__always_inline__, __artificial__))
++extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_mul_epu32 (__m128i __A, __m128i __B)
+ {
+ return (__m128i)__builtin_ia32_pmuludq128 ((__v4si)__A, (__v4si)__B);
+ }
+
+-static __inline __m128i __attribute__((__always_inline__, __artificial__))
++extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_slli_epi16 (__m128i __A, int __B)
+ {
+ return (__m128i)__builtin_ia32_psllwi128 ((__v8hi)__A, __B);
+ }
+
+-static __inline __m128i __attribute__((__always_inline__, __artificial__))
++extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_slli_epi32 (__m128i __A, int __B)
+ {
+ return (__m128i)__builtin_ia32_pslldi128 ((__v4si)__A, __B);
+ }
+
+-static __inline __m128i __attribute__((__always_inline__, __artificial__))
++extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_slli_epi64 (__m128i __A, int __B)
+ {
+ return (__m128i)__builtin_ia32_psllqi128 ((__v2di)__A, __B);
+ }
+
+-static __inline __m128i __attribute__((__always_inline__, __artificial__))
++extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_srai_epi16 (__m128i __A, int __B)
+ {
+ return (__m128i)__builtin_ia32_psrawi128 ((__v8hi)__A, __B);
+ }
+
+-static __inline __m128i __attribute__((__always_inline__, __artificial__))
++extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_srai_epi32 (__m128i __A, int __B)
+ {
+ return (__m128i)__builtin_ia32_psradi128 ((__v4si)__A, __B);
+ }
+
+ #ifdef __OPTIMIZE__
+-static __inline __m128i __attribute__((__always_inline__, __artificial__))
++extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_srli_si128 (__m128i __A, const int __N)
+ {
+ return (__m128i)__builtin_ia32_psrldqi128 (__A, __N * 8);
+ }
+
+-static __inline __m128i __attribute__((__always_inline__, __artificial__))
++extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_slli_si128 (__m128i __A, const int __N)
+ {
+ return (__m128i)__builtin_ia32_pslldqi128 (__A, __N * 8);
+@@ -1163,158 +1163,158 @@
+ ((__m128i)__builtin_ia32_pslldqi128 ((__m128i)(A), (int)(N) * 8))
+ #endif
+
+-static __inline __m128i __attribute__((__always_inline__, __artificial__))
++extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_srli_epi16 (__m128i __A, int __B)
+ {
+ return (__m128i)__builtin_ia32_psrlwi128 ((__v8hi)__A, __B);
+ }
+
+-static __inline __m128i __attribute__((__always_inline__, __artificial__))
++extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_srli_epi32 (__m128i __A, int __B)
+ {
+ return (__m128i)__builtin_ia32_psrldi128 ((__v4si)__A, __B);
+ }
+
+-static __inline __m128i __attribute__((__always_inline__, __artificial__))
++extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_srli_epi64 (__m128i __A, int __B)
+ {
+ return (__m128i)__builtin_ia32_psrlqi128 ((__v2di)__A, __B);
+ }
+
+-static __inline __m128i __attribute__((__always_inline__, __artificial__))
++extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_sll_epi16 (__m128i __A, __m128i __B)
+ {
+ return (__m128i)__builtin_ia32_psllw128((__v8hi)__A, (__v8hi)__B);
+ }
+
+-static __inline __m128i __attribute__((__always_inline__, __artificial__))
++extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_sll_epi32 (__m128i __A, __m128i __B)
+ {
+ return (__m128i)__builtin_ia32_pslld128((__v4si)__A, (__v4si)__B);
+ }
+
+-static __inline __m128i __attribute__((__always_inline__, __artificial__))
++extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_sll_epi64 (__m128i __A, __m128i __B)
+ {
+ return (__m128i)__builtin_ia32_psllq128((__v2di)__A, (__v2di)__B);
+ }
+
+-static __inline __m128i __attribute__((__always_inline__, __artificial__))
++extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_sra_epi16 (__m128i __A, __m128i __B)
+ {
+ return (__m128i)__builtin_ia32_psraw128 ((__v8hi)__A, (__v8hi)__B);
+ }
+
+-static __inline __m128i __attribute__((__always_inline__, __artificial__))
++extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_sra_epi32 (__m128i __A, __m128i __B)
+ {
+ return (__m128i)__builtin_ia32_psrad128 ((__v4si)__A, (__v4si)__B);
+ }
+
+-static __inline __m128i __attribute__((__always_inline__, __artificial__))
++extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_srl_epi16 (__m128i __A, __m128i __B)
+ {
+ return (__m128i)__builtin_ia32_psrlw128 ((__v8hi)__A, (__v8hi)__B);
+ }
+
+-static __inline __m128i __attribute__((__always_inline__, __artificial__))
++extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_srl_epi32 (__m128i __A, __m128i __B)
+ {
+ return (__m128i)__builtin_ia32_psrld128 ((__v4si)__A, (__v4si)__B);
+ }
+
+-static __inline __m128i __attribute__((__always_inline__, __artificial__))
++extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_srl_epi64 (__m128i __A, __m128i __B)
+ {
+ return (__m128i)__builtin_ia32_psrlq128 ((__v2di)__A, (__v2di)__B);
+ }
+
+-static __inline __m128i __attribute__((__always_inline__, __artificial__))
++extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_and_si128 (__m128i __A, __m128i __B)
+ {
+ return (__m128i)__builtin_ia32_pand128 ((__v2di)__A, (__v2di)__B);
+ }
+
+-static __inline __m128i __attribute__((__always_inline__, __artificial__))
++extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_andnot_si128 (__m128i __A, __m128i __B)
+ {
+ return (__m128i)__builtin_ia32_pandn128 ((__v2di)__A, (__v2di)__B);
+ }
+
+-static __inline __m128i __attribute__((__always_inline__, __artificial__))
++extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_or_si128 (__m128i __A, __m128i __B)
+ {
+ return (__m128i)__builtin_ia32_por128 ((__v2di)__A, (__v2di)__B);
+ }
+
+-static __inline __m128i __attribute__((__always_inline__, __artificial__))
++extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_xor_si128 (__m128i __A, __m128i __B)
+ {
+ return (__m128i)__builtin_ia32_pxor128 ((__v2di)__A, (__v2di)__B);
+ }
+
+-static __inline __m128i __attribute__((__always_inline__, __artificial__))
++extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_cmpeq_epi8 (__m128i __A, __m128i __B)
+ {
+ return (__m128i)__builtin_ia32_pcmpeqb128 ((__v16qi)__A, (__v16qi)__B);
+ }
+
+-static __inline __m128i __attribute__((__always_inline__, __artificial__))
++extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_cmpeq_epi16 (__m128i __A, __m128i __B)
+ {
+ return (__m128i)__builtin_ia32_pcmpeqw128 ((__v8hi)__A, (__v8hi)__B);
+ }
+
+-static __inline __m128i __attribute__((__always_inline__, __artificial__))
++extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_cmpeq_epi32 (__m128i __A, __m128i __B)
+ {
+ return (__m128i)__builtin_ia32_pcmpeqd128 ((__v4si)__A, (__v4si)__B);
+ }
+
+-static __inline __m128i __attribute__((__always_inline__, __artificial__))
++extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_cmplt_epi8 (__m128i __A, __m128i __B)
+ {
+ return (__m128i)__builtin_ia32_pcmpgtb128 ((__v16qi)__B, (__v16qi)__A);
+ }
+
+-static __inline __m128i __attribute__((__always_inline__, __artificial__))
++extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_cmplt_epi16 (__m128i __A, __m128i __B)
+ {
+ return (__m128i)__builtin_ia32_pcmpgtw128 ((__v8hi)__B, (__v8hi)__A);
+ }
+
+-static __inline __m128i __attribute__((__always_inline__, __artificial__))
++extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_cmplt_epi32 (__m128i __A, __m128i __B)
+ {
+ return (__m128i)__builtin_ia32_pcmpgtd128 ((__v4si)__B, (__v4si)__A);
+ }
+
+-static __inline __m128i __attribute__((__always_inline__, __artificial__))
++extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_cmpgt_epi8 (__m128i __A, __m128i __B)
+ {
+ return (__m128i)__builtin_ia32_pcmpgtb128 ((__v16qi)__A, (__v16qi)__B);
+ }
+
+-static __inline __m128i __attribute__((__always_inline__, __artificial__))
++extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_cmpgt_epi16 (__m128i __A, __m128i __B)
+ {
+ return (__m128i)__builtin_ia32_pcmpgtw128 ((__v8hi)__A, (__v8hi)__B);
+ }
+
+-static __inline __m128i __attribute__((__always_inline__, __artificial__))
++extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_cmpgt_epi32 (__m128i __A, __m128i __B)
+ {
+ return (__m128i)__builtin_ia32_pcmpgtd128 ((__v4si)__A, (__v4si)__B);
+ }
+
+ #ifdef __OPTIMIZE__
+-static __inline int __attribute__((__always_inline__, __artificial__))
++extern __inline int __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_extract_epi16 (__m128i const __A, int const __N)
+ {
+ return __builtin_ia32_vec_ext_v8hi ((__v8hi)__A, __N);
+ }
+
+-static __inline __m128i __attribute__((__always_inline__, __artificial__))
++extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_insert_epi16 (__m128i const __A, int const __D, int const __N)
+ {
+ return (__m128i) __builtin_ia32_vec_set_v8hi ((__v8hi)__A, __D, __N);
+@@ -1327,56 +1327,56 @@
+ (int)(D), (int)(N)))
+ #endif
+
+-static __inline __m128i __attribute__((__always_inline__, __artificial__))
++extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_max_epi16 (__m128i __A, __m128i __B)
+ {
+ return (__m128i)__builtin_ia32_pmaxsw128 ((__v8hi)__A, (__v8hi)__B);
+ }
+
+-static __inline __m128i __attribute__((__always_inline__, __artificial__))
++extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_max_epu8 (__m128i __A, __m128i __B)
+ {
+ return (__m128i)__builtin_ia32_pmaxub128 ((__v16qi)__A, (__v16qi)__B);
+ }
+
+-static __inline __m128i __attribute__((__always_inline__, __artificial__))
++extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_min_epi16 (__m128i __A, __m128i __B)
+ {
+ return (__m128i)__builtin_ia32_pminsw128 ((__v8hi)__A, (__v8hi)__B);
+ }
+
+-static __inline __m128i __attribute__((__always_inline__, __artificial__))
++extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_min_epu8 (__m128i __A, __m128i __B)
+ {
+ return (__m128i)__builtin_ia32_pminub128 ((__v16qi)__A, (__v16qi)__B);
+ }
+
+-static __inline int __attribute__((__always_inline__, __artificial__))
++extern __inline int __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_movemask_epi8 (__m128i __A)
+ {
+ return __builtin_ia32_pmovmskb128 ((__v16qi)__A);
+ }
+
+-static __inline __m128i __attribute__((__always_inline__, __artificial__))
++extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_mulhi_epu16 (__m128i __A, __m128i __B)
+ {
+ return (__m128i)__builtin_ia32_pmulhuw128 ((__v8hi)__A, (__v8hi)__B);
+ }
+
+ #ifdef __OPTIMIZE__
+-static __inline __m128i __attribute__((__always_inline__, __artificial__))
++extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_shufflehi_epi16 (__m128i __A, const int __mask)
+ {
+ return (__m128i)__builtin_ia32_pshufhw ((__v8hi)__A, __mask);
+ }
+
+-static __inline __m128i __attribute__((__always_inline__, __artificial__))
++extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_shufflelo_epi16 (__m128i __A, const int __mask)
+ {
+ return (__m128i)__builtin_ia32_pshuflw ((__v8hi)__A, __mask);
+ }
+
+-static __inline __m128i __attribute__((__always_inline__, __artificial__))
++extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_shuffle_epi32 (__m128i __A, const int __mask)
+ {
+ return (__m128i)__builtin_ia32_pshufd ((__v4si)__A, __mask);
+@@ -1390,67 +1390,67 @@
+ ((__m128i)__builtin_ia32_pshufd ((__v4si)(__m128i)(A), (int)(N)))
+ #endif
+
+-static __inline void __attribute__((__always_inline__, __artificial__))
++extern __inline void __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_maskmoveu_si128 (__m128i __A, __m128i __B, char *__C)
+ {
+ __builtin_ia32_maskmovdqu ((__v16qi)__A, (__v16qi)__B, __C);
+ }
+
+-static __inline __m128i __attribute__((__always_inline__, __artificial__))
++extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_avg_epu8 (__m128i __A, __m128i __B)
+ {
+ return (__m128i)__builtin_ia32_pavgb128 ((__v16qi)__A, (__v16qi)__B);
+ }
+
+-static __inline __m128i __attribute__((__always_inline__, __artificial__))
++extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_avg_epu16 (__m128i __A, __m128i __B)
+ {
+ return (__m128i)__builtin_ia32_pavgw128 ((__v8hi)__A, (__v8hi)__B);
+ }
+
+-static __inline __m128i __attribute__((__always_inline__, __artificial__))
++extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_sad_epu8 (__m128i __A, __m128i __B)
+ {
+ return (__m128i)__builtin_ia32_psadbw128 ((__v16qi)__A, (__v16qi)__B);
+ }
+
+-static __inline void __attribute__((__always_inline__, __artificial__))
++extern __inline void __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_stream_si32 (int *__A, int __B)
+ {
+ __builtin_ia32_movnti (__A, __B);
+ }
+
+-static __inline void __attribute__((__always_inline__, __artificial__))
++extern __inline void __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_stream_si128 (__m128i *__A, __m128i __B)
+ {
+ __builtin_ia32_movntdq ((__v2di *)__A, (__v2di)__B);
+ }
+
+-static __inline void __attribute__((__always_inline__, __artificial__))
++extern __inline void __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_stream_pd (double *__A, __m128d __B)
+ {
+ __builtin_ia32_movntpd (__A, (__v2df)__B);
+ }
+
+-static __inline void __attribute__((__always_inline__, __artificial__))
++extern __inline void __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_clflush (void const *__A)
+ {
+ __builtin_ia32_clflush (__A);
+ }
+
+-static __inline void __attribute__((__always_inline__, __artificial__))
++extern __inline void __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_lfence (void)
+ {
+ __builtin_ia32_lfence ();
+ }
+
+-static __inline void __attribute__((__always_inline__, __artificial__))
++extern __inline void __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_mfence (void)
+ {
+ __builtin_ia32_mfence ();
+ }
+
+-static __inline __m128i __attribute__((__always_inline__, __artificial__))
++extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_cvtsi32_si128 (int __A)
+ {
+ return _mm_set_epi32 (0, 0, 0, __A);
+@@ -1458,14 +1458,14 @@
+
+ #ifdef __x86_64__
+ /* Intel intrinsic. */
+-static __inline __m128i __attribute__((__always_inline__, __artificial__))
++extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_cvtsi64_si128 (long long __A)
+ {
+ return _mm_set_epi64x (0, __A);
+ }
+
+ /* Microsoft intrinsic. */
+-static __inline __m128i __attribute__((__always_inline__, __artificial__))
++extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_cvtsi64x_si128 (long long __A)
+ {
+ return _mm_set_epi64x (0, __A);
+@@ -1474,37 +1474,37 @@
+
+ /* Casts between various SP, DP, INT vector types. Note that these do no
+ conversion of values, they just change the type. */
+-static __inline __m128 __attribute__((__always_inline__, __artificial__))
++extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_castpd_ps(__m128d __A)
+ {
+ return (__m128) __A;
+ }
+
+-static __inline __m128i __attribute__((__always_inline__, __artificial__))
++extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_castpd_si128(__m128d __A)
+ {
+ return (__m128i) __A;
+ }
+
+-static __inline __m128d __attribute__((__always_inline__, __artificial__))
++extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_castps_pd(__m128 __A)
+ {
+ return (__m128d) __A;
+ }
+
+-static __inline __m128i __attribute__((__always_inline__, __artificial__))
++extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_castps_si128(__m128 __A)
+ {
+ return (__m128i) __A;
+ }
+
+-static __inline __m128 __attribute__((__always_inline__, __artificial__))
++extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_castsi128_ps(__m128i __A)
+ {
+ return (__m128) __A;
+ }
+
+-static __inline __m128d __attribute__((__always_inline__, __artificial__))
++extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__))
+ _mm_castsi128_pd(__m128i __A)
+ {
+ return (__m128d) __A;
+Index: gcc/config/i386/i386.c
+===================================================================
+--- gcc/config/i386/i386.c (.../tags/gcc_4_3_0_release) (revision 133808)
++++ gcc/config/i386/i386.c (.../branches/gcc-4_3-branch) (revision 133808)
+@@ -1768,35 +1768,65 @@
+ was set or cleared on the command line. */
+ static int ix86_isa_flags_explicit;
+
+-/* Define a set of ISAs which aren't available for a given ISA. MMX
+- and SSE ISAs are handled separately. */
++/* Define a set of ISAs which are available when a given ISA is
++ enabled. MMX and SSE ISAs are handled separately. */
+
++#define OPTION_MASK_ISA_MMX_SET OPTION_MASK_ISA_MMX
++#define OPTION_MASK_ISA_3DNOW_SET \
++ (OPTION_MASK_ISA_3DNOW | OPTION_MASK_ISA_MMX_SET)
++
++#define OPTION_MASK_ISA_SSE_SET OPTION_MASK_ISA_SSE
++#define OPTION_MASK_ISA_SSE2_SET \
++ (OPTION_MASK_ISA_SSE2 | OPTION_MASK_ISA_SSE_SET)
++#define OPTION_MASK_ISA_SSE3_SET \
++ (OPTION_MASK_ISA_SSE3 | OPTION_MASK_ISA_SSE2_SET)
++#define OPTION_MASK_ISA_SSSE3_SET \
++ (OPTION_MASK_ISA_SSSE3 | OPTION_MASK_ISA_SSE3_SET)
++#define OPTION_MASK_ISA_SSE4_1_SET \
++ (OPTION_MASK_ISA_SSE4_1 | OPTION_MASK_ISA_SSSE3_SET)
++#define OPTION_MASK_ISA_SSE4_2_SET \
++ (OPTION_MASK_ISA_SSE4_2 | OPTION_MASK_ISA_SSE4_1_SET)
++
++/* SSE4 includes both SSE4.1 and SSE4.2. -msse4 should be the same
++ as -msse4.2. */
++#define OPTION_MASK_ISA_SSE4_SET OPTION_MASK_ISA_SSE4_2_SET
++
++#define OPTION_MASK_ISA_SSE4A_SET \
++ (OPTION_MASK_ISA_SSE4A | OPTION_MASK_ISA_SSE3_SET)
++#define OPTION_MASK_ISA_SSE5_SET \
++ (OPTION_MASK_ISA_SSE5 | OPTION_MASK_ISA_SSE4A_SET)
++
++/* Define a set of ISAs which aren't available when a given ISA is
++ disabled. MMX and SSE ISAs are handled separately. */
++
+ #define OPTION_MASK_ISA_MMX_UNSET \
+- (OPTION_MASK_ISA_3DNOW | OPTION_MASK_ISA_3DNOW_UNSET)
+-#define OPTION_MASK_ISA_3DNOW_UNSET OPTION_MASK_ISA_3DNOW_A
++ (OPTION_MASK_ISA_MMX | OPTION_MASK_ISA_3DNOW_UNSET)
++#define OPTION_MASK_ISA_3DNOW_UNSET \
++ (OPTION_MASK_ISA_3DNOW | OPTION_MASK_ISA_3DNOW_A_UNSET)
++#define OPTION_MASK_ISA_3DNOW_A_UNSET OPTION_MASK_ISA_3DNOW_A
+
+ #define OPTION_MASK_ISA_SSE_UNSET \
+- (OPTION_MASK_ISA_SSE2 | OPTION_MASK_ISA_SSE2_UNSET)
++ (OPTION_MASK_ISA_SSE | OPTION_MASK_ISA_SSE2_UNSET)
+ #define OPTION_MASK_ISA_SSE2_UNSET \
+- (OPTION_MASK_ISA_SSE3 | OPTION_MASK_ISA_SSE3_UNSET)
++ (OPTION_MASK_ISA_SSE2 | OPTION_MASK_ISA_SSE3_UNSET)
+ #define OPTION_MASK_ISA_SSE3_UNSET \
+- (OPTION_MASK_ISA_SSSE3 | OPTION_MASK_ISA_SSSE3_UNSET)
++ (OPTION_MASK_ISA_SSE3 \
++ | OPTION_MASK_ISA_SSSE3_UNSET \
++ | OPTION_MASK_ISA_SSE4A_UNSET )
+ #define OPTION_MASK_ISA_SSSE3_UNSET \
+- (OPTION_MASK_ISA_SSE4_1 | OPTION_MASK_ISA_SSE4_1_UNSET)
++ (OPTION_MASK_ISA_SSSE3 | OPTION_MASK_ISA_SSE4_1_UNSET)
+ #define OPTION_MASK_ISA_SSE4_1_UNSET \
+- (OPTION_MASK_ISA_SSE4_2 | OPTION_MASK_ISA_SSE4_2_UNSET)
+-#define OPTION_MASK_ISA_SSE4_2_UNSET OPTION_MASK_ISA_SSE4A
++ (OPTION_MASK_ISA_SSE4_1 | OPTION_MASK_ISA_SSE4_2_UNSET)
++#define OPTION_MASK_ISA_SSE4_2_UNSET OPTION_MASK_ISA_SSE4_2
+
+-/* SSE4 includes both SSE4.1 and SSE4.2. -msse4 should be the same
+- as -msse4.1 -msse4.2. -mno-sse4 should the same as -mno-sse4.1. */
+-#define OPTION_MASK_ISA_SSE4 \
+- (OPTION_MASK_ISA_SSE4_1 | OPTION_MASK_ISA_SSE4_2)
++/* SSE4 includes both SSE4.1 and SSE4.2. -mno-sse4 should the same
++ as -mno-sse4.1. */
+ #define OPTION_MASK_ISA_SSE4_UNSET OPTION_MASK_ISA_SSE4_1_UNSET
+
+-#define OPTION_MASK_ISA_SSE4A_UNSET OPTION_MASK_ISA_SSE4
++#define OPTION_MASK_ISA_SSE4A_UNSET \
++ (OPTION_MASK_ISA_SSE4A | OPTION_MASK_ISA_SSE5_UNSET)
+
+-#define OPTION_MASK_ISA_SSE5_UNSET \
+- (OPTION_MASK_ISA_3DNOW | OPTION_MASK_ISA_3DNOW_UNSET)
++#define OPTION_MASK_ISA_SSE5_UNSET OPTION_MASK_ISA_SSE5
+
+ /* Vectorization library interface and handlers. */
+ tree (*ix86_veclib_handler)(enum built_in_function, tree, tree) = NULL;
+@@ -1810,18 +1840,26 @@
+ switch (code)
+ {
+ case OPT_mmmx:
+- ix86_isa_flags_explicit |= OPTION_MASK_ISA_MMX;
+- if (!value)
++ if (value)
+ {
++ ix86_isa_flags |= OPTION_MASK_ISA_MMX_SET;
++ ix86_isa_flags_explicit |= OPTION_MASK_ISA_MMX_SET;
++ }
++ else
++ {
+ ix86_isa_flags &= ~OPTION_MASK_ISA_MMX_UNSET;
+ ix86_isa_flags_explicit |= OPTION_MASK_ISA_MMX_UNSET;
+ }
+ return true;
+
+ case OPT_m3dnow:
+- ix86_isa_flags_explicit |= OPTION_MASK_ISA_3DNOW;
+- if (!value)
++ if (value)
+ {
++ ix86_isa_flags |= OPTION_MASK_ISA_3DNOW_SET;
++ ix86_isa_flags_explicit |= OPTION_MASK_ISA_3DNOW_SET;
++ }
++ else
++ {
+ ix86_isa_flags &= ~OPTION_MASK_ISA_3DNOW_UNSET;
+ ix86_isa_flags_explicit |= OPTION_MASK_ISA_3DNOW_UNSET;
+ }
+@@ -1831,62 +1869,86 @@
+ return false;
+
+ case OPT_msse:
+- ix86_isa_flags_explicit |= OPTION_MASK_ISA_SSE;
+- if (!value)
++ if (value)
+ {
++ ix86_isa_flags |= OPTION_MASK_ISA_SSE_SET;
++ ix86_isa_flags_explicit |= OPTION_MASK_ISA_SSE_SET;
++ }
++ else
++ {
+ ix86_isa_flags &= ~OPTION_MASK_ISA_SSE_UNSET;
+ ix86_isa_flags_explicit |= OPTION_MASK_ISA_SSE_UNSET;
+ }
+ return true;
+
+ case OPT_msse2:
+- ix86_isa_flags_explicit |= OPTION_MASK_ISA_SSE2;
+- if (!value)
++ if (value)
+ {
++ ix86_isa_flags |= OPTION_MASK_ISA_SSE2_SET;
++ ix86_isa_flags_explicit |= OPTION_MASK_ISA_SSE2_SET;
++ }
++ else
++ {
+ ix86_isa_flags &= ~OPTION_MASK_ISA_SSE2_UNSET;
+ ix86_isa_flags_explicit |= OPTION_MASK_ISA_SSE2_UNSET;
+ }
+ return true;
+
+ case OPT_msse3:
+- ix86_isa_flags_explicit |= OPTION_MASK_ISA_SSE3;
+- if (!value)
++ if (value)
+ {
++ ix86_isa_flags |= OPTION_MASK_ISA_SSE3_SET;
++ ix86_isa_flags_explicit |= OPTION_MASK_ISA_SSE3_SET;
++ }
++ else
++ {
+ ix86_isa_flags &= ~OPTION_MASK_ISA_SSE3_UNSET;
+ ix86_isa_flags_explicit |= OPTION_MASK_ISA_SSE3_UNSET;
+ }
+ return true;
+
+ case OPT_mssse3:
+- ix86_isa_flags_explicit |= OPTION_MASK_ISA_SSSE3;
+- if (!value)
++ if (value)
+ {
++ ix86_isa_flags |= OPTION_MASK_ISA_SSSE3_SET;
++ ix86_isa_flags_explicit |= OPTION_MASK_ISA_SSSE3_SET;
++ }
++ else
++ {
+ ix86_isa_flags &= ~OPTION_MASK_ISA_SSSE3_UNSET;
+ ix86_isa_flags_explicit |= OPTION_MASK_ISA_SSSE3_UNSET;
+ }
+ return true;
+
+ case OPT_msse4_1:
+- ix86_isa_flags_explicit |= OPTION_MASK_ISA_SSE4_1;
+- if (!value)
++ if (value)
+ {
++ ix86_isa_flags |= OPTION_MASK_ISA_SSE4_1_SET;
++ ix86_isa_flags_explicit |= OPTION_MASK_ISA_SSE4_1_SET;
++ }
++ else
++ {
+ ix86_isa_flags &= ~OPTION_MASK_ISA_SSE4_1_UNSET;
+ ix86_isa_flags_explicit |= OPTION_MASK_ISA_SSE4_1_UNSET;
+ }
+ return true;
+
+ case OPT_msse4_2:
+- ix86_isa_flags_explicit |= OPTION_MASK_ISA_SSE4_2;
+- if (!value)
++ if (value)
+ {
++ ix86_isa_flags |= OPTION_MASK_ISA_SSE4_2_SET;
++ ix86_isa_flags_explicit |= OPTION_MASK_ISA_SSE4_2_SET;
++ }
++ else
++ {
+ ix86_isa_flags &= ~OPTION_MASK_ISA_SSE4_2_UNSET;
+ ix86_isa_flags_explicit |= OPTION_MASK_ISA_SSE4_2_UNSET;
+ }
+ return true;
+
+ case OPT_msse4:
+- ix86_isa_flags |= OPTION_MASK_ISA_SSE4;
+- ix86_isa_flags_explicit |= OPTION_MASK_ISA_SSE4;
++ ix86_isa_flags |= OPTION_MASK_ISA_SSE4_SET;
++ ix86_isa_flags_explicit |= OPTION_MASK_ISA_SSE4_SET;
+ return true;
+
+ case OPT_mno_sse4:
+@@ -1895,18 +1957,26 @@
+ return true;
+
+ case OPT_msse4a:
+- ix86_isa_flags_explicit |= OPTION_MASK_ISA_SSE4A;
+- if (!value)
++ if (value)
+ {
++ ix86_isa_flags |= OPTION_MASK_ISA_SSE4A_SET;
++ ix86_isa_flags_explicit |= OPTION_MASK_ISA_SSE4A_SET;
++ }
++ else
++ {
+ ix86_isa_flags &= ~OPTION_MASK_ISA_SSE4A_UNSET;
+ ix86_isa_flags_explicit |= OPTION_MASK_ISA_SSE4A_UNSET;
+ }
+ return true;
+
+ case OPT_msse5:
+- ix86_isa_flags_explicit |= OPTION_MASK_ISA_SSE5;
+- if (!value)
++ if (value)
+ {
++ ix86_isa_flags |= OPTION_MASK_ISA_SSE5_SET;
++ ix86_isa_flags_explicit |= OPTION_MASK_ISA_SSE5_SET;
++ }
++ else
++ {
+ ix86_isa_flags &= ~OPTION_MASK_ISA_SSE5_UNSET;
+ ix86_isa_flags_explicit |= OPTION_MASK_ISA_SSE5_UNSET;
+ }
+@@ -2530,34 +2600,6 @@
+ if (!TARGET_80387)
+ target_flags |= MASK_NO_FANCY_MATH_387;
+
+- /* Turn on SSE4A bultins for -msse5. */
+- if (TARGET_SSE5)
+- ix86_isa_flags |= OPTION_MASK_ISA_SSE4A;
+-
+- /* Turn on SSE4.1 builtins for -msse4.2. */
+- if (TARGET_SSE4_2)
+- ix86_isa_flags |= OPTION_MASK_ISA_SSE4_1;
+-
+- /* Turn on SSSE3 builtins for -msse4.1. */
+- if (TARGET_SSE4_1)
+- ix86_isa_flags |= OPTION_MASK_ISA_SSSE3;
+-
+- /* Turn on SSE3 builtins for -mssse3. */
+- if (TARGET_SSSE3)
+- ix86_isa_flags |= OPTION_MASK_ISA_SSE3;
+-
+- /* Turn on SSE3 builtins for -msse4a. */
+- if (TARGET_SSE4A)
+- ix86_isa_flags |= OPTION_MASK_ISA_SSE3;
+-
+- /* Turn on SSE2 builtins for -msse3. */
+- if (TARGET_SSE3)
+- ix86_isa_flags |= OPTION_MASK_ISA_SSE2;
+-
+- /* Turn on SSE builtins for -msse2. */
+- if (TARGET_SSE2)
+- ix86_isa_flags |= OPTION_MASK_ISA_SSE;
+-
+ /* Turn on MMX builtins for -msse. */
+ if (TARGET_SSE)
+ {
+@@ -2565,10 +2607,6 @@
+ x86_prefetch_sse = true;
+ }
+
+- /* Turn on MMX builtins for 3Dnow. */
+- if (TARGET_3DNOW)
+- ix86_isa_flags |= OPTION_MASK_ISA_MMX;
+-
+ /* Turn on popcnt instruction for -msse4.2 or -mabm. */
+ if (TARGET_SSE4_2 || TARGET_ABM)
+ x86_popcnt = true;
+@@ -4524,7 +4562,8 @@
+ align = GET_MODE_ALIGNMENT (mode);
+ if (align < PARM_BOUNDARY)
+ align = PARM_BOUNDARY;
+- if (!TARGET_64BIT)
++ /* Decimal floating point is aligned to its natural boundary. */
++ if (!TARGET_64BIT && !VALID_DFP_MODE_P (mode))
+ {
+ /* i386 ABI defines all arguments to be 4 byte aligned. We have to
+ make an exception for SSE modes since these require 128bit
+@@ -16736,7 +16775,8 @@
+ int
+ ix86_constant_alignment (tree exp, int align)
+ {
+- if (TREE_CODE (exp) == REAL_CST)
++ if (TREE_CODE (exp) == REAL_CST || TREE_CODE (exp) == VECTOR_CST
++ || TREE_CODE (exp) == INTEGER_CST)
+ {
+ if (TYPE_MODE (TREE_TYPE (exp)) == DFmode && align < 64)
+ return 64;
+@@ -22630,6 +22670,7 @@
+ {
+ tree type = TREE_TYPE (function);
+ bool aggr = aggregate_value_p (TREE_TYPE (type), type) != 0;
++ int nregs;
+
+ if (TARGET_64BIT)
+ {
+@@ -22642,11 +22683,25 @@
+ return gen_rtx_REG (DImode, parm_regs[aggr]);
+ }
+
+- if (ix86_function_regparm (type, function) > 0 && !stdarg_p (type))
++ nregs = ix86_function_regparm (type, function);
++
++ if (nregs > 0 && !stdarg_p (type))
+ {
+- int regno = AX_REG;
++ int regno;
++
+ if (lookup_attribute ("fastcall", TYPE_ATTRIBUTES (type)))
+- regno = CX_REG;
++ regno = aggr ? DX_REG : CX_REG;
++ else
++ {
++ regno = AX_REG;
++ if (aggr)
++ {
++ regno = DX_REG;
++ if (nregs == 1)
++ return gen_rtx_MEM (SImode,
++ plus_constant (stack_pointer_rtx, 4));
++ }
++ }
+ return gen_rtx_REG (SImode, regno);
+ }
+
+Index: gcc/config/sh/sh.c
+===================================================================
+--- gcc/config/sh/sh.c (.../tags/gcc_4_3_0_release) (revision 133808)
++++ gcc/config/sh/sh.c (.../branches/gcc-4_3-branch) (revision 133808)
+@@ -3838,6 +3838,7 @@
+ rtx barrier_before_mova = 0, found_barrier = 0, good_barrier = 0;
+ int si_limit;
+ int hi_limit;
++ rtx orig = from;
+
+ /* For HImode: range is 510, add 4 because pc counts from address of
+ second instruction after this one, subtract 2 for the jump instruction
+@@ -3897,6 +3898,7 @@
+
+ if (GET_CODE (from) == BARRIER)
+ {
++ rtx next;
+
+ found_barrier = from;
+
+@@ -3905,6 +3907,14 @@
+ this kind of barrier. */
+ if (barrier_align (from) > 2)
+ good_barrier = from;
++
++ /* If we are at the end of a hot/cold block, dump the constants
++ here. */
++ next = NEXT_INSN (from);
++ if (next
++ && NOTE_P (next)
++ && NOTE_KIND (next) == NOTE_INSN_SWITCH_TEXT_SECTIONS)
++ break;
+ }
+
+ if (broken_move (from))
+@@ -4061,7 +4071,8 @@
+ /* If we exceeded the range, then we must back up over the last
+ instruction we looked at. Otherwise, we just need to undo the
+ NEXT_INSN at the end of the loop. */
+- if (count_hi > hi_limit || count_si > si_limit)
++ if (PREV_INSN (from) != orig
++ && (count_hi > hi_limit || count_si > si_limit))
+ from = PREV_INSN (PREV_INSN (from));
+ else
+ from = PREV_INSN (from);
+Index: gcc/config/sh/sh.md
+===================================================================
+--- gcc/config/sh/sh.md (.../tags/gcc_4_3_0_release) (revision 133808)
++++ gcc/config/sh/sh.md (.../branches/gcc-4_3-branch) (revision 133808)
+@@ -7378,7 +7378,7 @@
+ (define_insn "jump_compact"
+ [(set (pc)
+ (label_ref (match_operand 0 "" "")))]
+- "TARGET_SH1"
++ "TARGET_SH1 && !find_reg_note (insn, REG_CROSSING_JUMP, NULL_RTX)"
+ "*
+ {
+ /* The length is 16 if the delay slot is unfilled. */
+Index: gcc/config/stormy16/stormy16.c
+===================================================================
+--- gcc/config/stormy16/stormy16.c (.../tags/gcc_4_3_0_release) (revision 133808)
++++ gcc/config/stormy16/stormy16.c (.../branches/gcc-4_3-branch) (revision 133808)
+@@ -629,7 +629,12 @@
+
+ if (GET_CODE (x) == PLUS
+ && LEGITIMATE_ADDRESS_INTEGER_P (XEXP (x, 1), 0))
+- x = XEXP (x, 0);
++ {
++ x = XEXP (x, 0);
++ /* PR 31232: Do not allow INT+INT as an address. */
++ if (GET_CODE (x) == CONST_INT)
++ return 0;
++ }
+
+ if ((GET_CODE (x) == PRE_MODIFY
+ && GET_CODE (XEXP (XEXP (x, 1), 1)) == CONST_INT)
+Index: gcc/config/mn10300/mn10300.c
+===================================================================
+--- gcc/config/mn10300/mn10300.c (.../tags/gcc_4_3_0_release) (revision 133808)
++++ gcc/config/mn10300/mn10300.c (.../branches/gcc-4_3-branch) (revision 133808)
+@@ -1,6 +1,6 @@
+ /* Subroutines for insn-output.c for Matsushita MN10300 series
+ Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
+- 2005, 2006, 2007 Free Software Foundation, Inc.
++ 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
+ Contributed by Jeff Law (law@cygnus.com).
+
+ This file is part of GCC.
+@@ -1361,11 +1361,7 @@
+ if (GET_CODE (in) == PLUS
+ && (XEXP (in, 0) == stack_pointer_rtx
+ || XEXP (in, 1) == stack_pointer_rtx))
+- {
+- if (TARGET_AM33)
+- return DATA_OR_EXTENDED_REGS;
+- return DATA_REGS;
+- }
++ return GENERAL_REGS;
+
+ if (TARGET_AM33_2 && class == FP_REGS
+ && GET_CODE (in) == MEM
+Index: gcc/config/rs6000/rs6000.c
+===================================================================
+--- gcc/config/rs6000/rs6000.c (.../tags/gcc_4_3_0_release) (revision 133808)
++++ gcc/config/rs6000/rs6000.c (.../branches/gcc-4_3-branch) (revision 133808)
+@@ -13858,6 +13858,9 @@
+ emit_insn (gen_sync_compare_and_swapqhi_internal (wdst, mask,
+ oldval, newval, mem));
+
++ /* Shift the result back. */
++ emit_insn (gen_lshrsi3 (wdst, wdst, shift));
++
+ emit_move_insn (dst, gen_lowpart (mode, wdst));
+ }
+
+Index: libstdc++-v3/scripts/run_doxygen
+===================================================================
+--- libstdc++-v3/scripts/run_doxygen (.../tags/gcc_4_3_0_release) (revision 133808)
++++ libstdc++-v3/scripts/run_doxygen (.../branches/gcc-4_3-branch) (revision 133808)
+@@ -10,7 +10,7 @@
+
+
+ # We can check now that the version of doxygen is >= this variable.
+-DOXYVER=1.5.4
++DOXYVER=1.5.1
+
+ find_doxygen() {
+ local -r v_required=`echo $DOXYVER | \
+@@ -156,7 +156,6 @@
+ -e "s=@srcdir@=${srcdir}=g" \
+ -e "s=@builddir@=${builddir}=g" \
+ -e "s=@host_alias@=${host_alias}=g" \
+- -e "s=@html_output_dir@=html=" \
+ -e "s=@enabled_sections@=${enabled_sections}=" \
+ -e "s=@do_html@=${do_html}=" \
+ -e "s=@do_man@=${do_man}=" \
+Index: libstdc++-v3/doc/xml/faq.xml
+===================================================================
+--- libstdc++-v3/doc/xml/faq.xml (.../tags/gcc_4_3_0_release) (revision 133808)
++++ libstdc++-v3/doc/xml/faq.xml (.../branches/gcc-4_3-branch) (revision 133808)
+@@ -130,8 +130,8 @@
+ </question>
+ <answer id="a-how">
+ <para>
+- Here is <ulink url="../17_intro/contribute.html">a page devoted to
+- this topic</ulink>. Subscribing to the mailing list (see above, or
++ Here is <link linkend="appendix.contrib">a page devoted to
++ this topic</link>. Subscribing to the mailing list (see above, or
+ the homepage) is a very good idea if you have something to
+ contribute, or if you have spare time and want to
+ help. Contributions don't have to be in the form of source code;
+@@ -400,7 +400,7 @@
+ <para>
+ If the only functions from <filename>libstdc++.a</filename>
+ which you need are language support functions (those listed in
+- <ulink url="../18_support/howto.html">clause 18</ulink> of the
++ <link linkend="manual.support">clause 18</link> of the
+ standard, e.g., <function>new</function> and
+ <function>delete</function>), then try linking against
+ <filename>libsupc++.a</filename>, which is a subset of
+@@ -785,13 +785,13 @@
+ reason is that the state flags are <emphasis>not</emphasis> cleared
+ on a successful call to open(). The standard unfortunately did
+ not specify behavior in this case, and to everybody's great sorrow,
+- the <ulink url="../ext/howto.html#5">proposed LWG resolution in
+- DR #22</ulink> is to leave the flags unchanged. You must insert a call
++ the <link linkend="manual.intro.status.bugs">proposed LWG resolution in
++ DR #22</link> is to leave the flags unchanged. You must insert a call
+ to <function>fs.clear()</function> between the calls to close() and open(),
+ and then everything will work like we all expect it to work.
+ <emphasis>Update:</emphasis> for GCC 4.0 we implemented the resolution
+- of <ulink url="../ext/howto.html#5">DR #409</ulink> and open() now calls
+- <function>clear()</function> on success!
++ of <link linkend="manual.intro.status.bugs">DR #409</link> and open()
++ now calls <function>clear()</function> on success!
+ </para>
+ </answer>
+ </qandaentry>
+@@ -895,7 +895,7 @@
+ <para>
+ More information, including how to optionally enable/disable the
+ checks, is available
+- <ulink url="../19_diagnostics/howto.html#3">here</ulink>.
++ <link linkend="manual.diagnostics.concept_checking">here</link>.
+ </para>
+ </answer>
+ </qandaentry>
+@@ -940,13 +940,13 @@
+ <para>
+ A few people have reported that the standard containers appear
+ to leak memory when tested with memory checkers such as
+- <ulink url="http://developer.kde.org/~sewardj/">valgrind</ulink>.
++ <ulink url="http://valgrind.org/">valgrind</ulink>.
+ The library's default allocators keep free memory in a pool
+ for later reuse, rather than returning it to the OS. Although
+ this memory is always reachable by the library and is never
+ lost, memory debugging tools can report it as a leak. If you
+ want to test the library for memory leaks please read
+- <ulink url="../debug.html#mem">Tips for memory leak hunting</ulink>
++ <link linkend="debug.memory">Tips for memory leak hunting</link>
+ first.
+ </para>
+ </answer>
+@@ -961,7 +961,7 @@
+ <answer id="a-list_size_on">
+ <para>
+ See
+- the <ulink url="../23_containers/howto.html#6">Containers</ulink>
++ the <link linkend="manual.containers">Containers</link>
+ chapter.
+ </para>
+ </answer>
+@@ -981,7 +981,7 @@
+ patches</ulink> that covers the procedure, but for libstdc++ you
+ should also send the patch to our mailing list in addition to
+ the GCC patches mailing list. The libstdc++
+- <ulink url="../17_intro/contribute.html">contributors' page</ulink>
++ <link linkend="appendix.contrib">contributors' page</link>
+ also talks about how to submit patches.
+ </para>
+ <para>
+@@ -1237,8 +1237,8 @@
+ The copy will take O(n) time and the swap is constant time.
+ </para>
+ <para>
+- See <ulink url="../21_strings/howto.html#6">Shrink-to-fit
+- strings</ulink> for a similar solution for strings.
++ See <link linkend="strings.string.shrink">Shrink-to-fit
++ strings</link> for a similar solution for strings.
+ </para>
+ </answer>
+ </qandaentry>
+Index: libstdc++-v3/doc/xml/api.xml
+===================================================================
+--- libstdc++-v3/doc/xml/api.xml (.../tags/gcc_4_3_0_release) (revision 133808)
++++ libstdc++-v3/doc/xml/api.xml (.../branches/gcc-4_3-branch) (revision 133808)
+@@ -15,7 +15,7 @@
+ 2008
+ </year>
+ <holder>
+- <ulink url="http://fsf.org">FSF
++ <ulink url="http://www.fsf.org/">FSF
+ </ulink>
+ </holder>
+ </copyright>
+@@ -63,6 +63,12 @@
+ </listitem>
+ <listitem>
+ <para>
++ <ulink url="libstdc++-html-USERS-4.3/index.html">for the 4.3 release
++ </ulink>
++ </para>
++ </listitem>
++ <listitem>
++ <para>
+ <ulink url="latest-doxygen/index.html">&quot;the latest collection&quot;
+ </ulink>
+ (For the main development tree; see the date on the first page.)
+Index: libstdc++-v3/doc/xml/manual/parallel_mode.xml
+===================================================================
+--- libstdc++-v3/doc/xml/manual/parallel_mode.xml (.../tags/gcc_4_3_0_release) (revision 133808)
++++ libstdc++-v3/doc/xml/manual/parallel_mode.xml (.../branches/gcc-4_3-branch) (revision 133808)
+@@ -28,7 +28,7 @@
+
+ <para>
+ Several of the standard algorithms, for instance
+-<code>std::sort</code>, are made parallel using OpenMP
++<function>std::sort</function>, are made parallel using OpenMP
+ annotations. These parallel mode constructs and can be invoked by
+ explicit source declaration or by compiling existing sources with a
+ specific compiler flag.
+@@ -39,52 +39,52 @@
+ <title>Intro</title>
+
+ <para>The following library components in the include
+-<code>&lt;numeric&gt;</code> are included in the parallel mode:</para>
++<filename class="headerfile">numeric</filename> are included in the parallel mode:</para>
+ <itemizedlist>
+- <listitem><para><code>std::accumulate</code></para></listitem>
+- <listitem><para><code>std::adjacent_difference</code></para></listitem>
+- <listitem><para><code>std::inner_product</code></para></listitem>
+- <listitem><para><code>std::partial_sum</code></para></listitem>
++ <listitem><para><function>std::accumulate</function></para></listitem>
++ <listitem><para><function>std::adjacent_difference</function></para></listitem>
++ <listitem><para><function>std::inner_product</function></para></listitem>
++ <listitem><para><function>std::partial_sum</function></para></listitem>
+ </itemizedlist>
+
+ <para>The following library components in the include
+-<code>&lt;algorithm&gt;</code> are included in the parallel mode:</para>
++<filename class="headerfile">algorithm</filename> are included in the parallel mode:</para>
+ <itemizedlist>
+- <listitem><para><code>std::adjacent_find</code></para></listitem>
+- <listitem><para><code>std::count</code></para></listitem>
+- <listitem><para><code>std::count_if</code></para></listitem>
+- <listitem><para><code>std::equal</code></para></listitem>
+- <listitem><para><code>std::find</code></para></listitem>
+- <listitem><para><code>std::find_if</code></para></listitem>
+- <listitem><para><code>std::find_first_of</code></para></listitem>
+- <listitem><para><code>std::for_each</code></para></listitem>
+- <listitem><para><code>std::generate</code></para></listitem>
+- <listitem><para><code>std::generate_n</code></para></listitem>
+- <listitem><para><code>std::lexicographical_compare</code></para></listitem>
+- <listitem><para><code>std::mismatch</code></para></listitem>
+- <listitem><para><code>std::search</code></para></listitem>
+- <listitem><para><code>std::search_n</code></para></listitem>
+- <listitem><para><code>std::transform</code></para></listitem>
+- <listitem><para><code>std::replace</code></para></listitem>
+- <listitem><para><code>std::replace_if</code></para></listitem>
+- <listitem><para><code>std::max_element</code></para></listitem>
+- <listitem><para><code>std::merge</code></para></listitem>
+- <listitem><para><code>std::min_element</code></para></listitem>
+- <listitem><para><code>std::nth_element</code></para></listitem>
+- <listitem><para><code>std::partial_sort</code></para></listitem>
+- <listitem><para><code>std::partition</code></para></listitem>
+- <listitem><para><code>std::random_shuffle</code></para></listitem>
+- <listitem><para><code>std::set_union</code></para></listitem>
+- <listitem><para><code>std::set_intersection</code></para></listitem>
+- <listitem><para><code>std::set_symmetric_difference</code></para></listitem>
+- <listitem><para><code>std::set_difference</code></para></listitem>
+- <listitem><para><code>std::sort</code></para></listitem>
+- <listitem><para><code>std::stable_sort</code></para></listitem>
+- <listitem><para><code>std::unique_copy</code></para></listitem>
++ <listitem><para><function>std::adjacent_find</function></para></listitem>
++ <listitem><para><function>std::count</function></para></listitem>
++ <listitem><para><function>std::count_if</function></para></listitem>
++ <listitem><para><function>std::equal</function></para></listitem>
++ <listitem><para><function>std::find</function></para></listitem>
++ <listitem><para><function>std::find_if</function></para></listitem>
++ <listitem><para><function>std::find_first_of</function></para></listitem>
++ <listitem><para><function>std::for_each</function></para></listitem>
++ <listitem><para><function>std::generate</function></para></listitem>
++ <listitem><para><function>std::generate_n</function></para></listitem>
++ <listitem><para><function>std::lexicographical_compare</function></para></listitem>
++ <listitem><para><function>std::mismatch</function></para></listitem>
++ <listitem><para><function>std::search</function></para></listitem>
++ <listitem><para><function>std::search_n</function></para></listitem>
++ <listitem><para><function>std::transform</function></para></listitem>
++ <listitem><para><function>std::replace</function></para></listitem>
++ <listitem><para><function>std::replace_if</function></para></listitem>
++ <listitem><para><function>std::max_element</function></para></listitem>
++ <listitem><para><function>std::merge</function></para></listitem>
++ <listitem><para><function>std::min_element</function></para></listitem>
++ <listitem><para><function>std::nth_element</function></para></listitem>
++ <listitem><para><function>std::partial_sort</function></para></listitem>
++ <listitem><para><function>std::partition</function></para></listitem>
++ <listitem><para><function>std::random_shuffle</function></para></listitem>
++ <listitem><para><function>std::set_union</function></para></listitem>
++ <listitem><para><function>std::set_intersection</function></para></listitem>
++ <listitem><para><function>std::set_symmetric_difference</function></para></listitem>
++ <listitem><para><function>std::set_difference</function></para></listitem>
++ <listitem><para><function>std::sort</function></para></listitem>
++ <listitem><para><function>std::stable_sort</function></para></listitem>
++ <listitem><para><function>std::unique_copy</function></para></listitem>
+ </itemizedlist>
+
+ <para>The following library components in the includes
+-<code>&lt;set&gt;</code> and <code>&lt;map&gt;</code> are included in the parallel mode:</para>
++<filename class="headerfile">set</filename> and <filename class="headerfile">map</filename> are included in the parallel mode:</para>
+ <itemizedlist>
+ <listitem><para><code>std::(multi_)map/set&lt;T&gt;::(multi_)map/set(Iterator begin, Iterator end)</code> (bulk construction)</para></listitem>
+ <listitem><para><code>std::(multi_)map/set&lt;T&gt;::insert(Iterator begin, Iterator end)</code> (bulk insertion)</para></listitem>
+@@ -113,23 +113,25 @@
+ <sect2 id="parallel_mode.using.parallel_mode" xreflabel="using.parallel_mode">
+ <title>Using Parallel Mode</title>
+
+-<para>To use the libstdc++ parallel mode, compile your application with
+- the compiler flag <code>-D_GLIBCXX_PARALLEL -fopenmp</code>. This
+- will link in <code>libgomp</code>, the GNU OpenMP <ulink url="http://gcc.gnu.org/onlinedocs/libgomp">implementation</ulink>,
++<para>
++ To use the libstdc++ parallel mode, compile your application with
++ the compiler flag <constant>-D_GLIBCXX_PARALLEL -fopenmp</constant>. This
++ will link in <code>libgomp</code>, the GNU OpenMP <ulink url="http://gcc.gnu.org/onlinedocs/libgomp/">implementation</ulink>,
+ whose presence is mandatory. In addition, hardware capable of atomic
+ operations is mandatory. Actually activating these atomic
+ operations may require explicit compiler flags on some targets
+- (like sparc and x86), such as <code>-march=i686</code>,
+- <code>-march=native</code> or <code>-mcpu=v9</code>.
++ (like sparc and x86), such as <literal>-march=i686</literal>,
++ <literal>-march=native</literal> or <literal>-mcpu=v9</literal>.
+ </para>
+
+-<para>Note that the <code>_GLIBCXX_PARALLEL</code> define may change the
++<para>Note that the <constant>_GLIBCXX_PARALLEL</constant> define may change the
+ sizes and behavior of standard class templates such as
+- <code>std::search</code>, and therefore one can only link code
++ <function>std::search</function>, and therefore one can only link code
+ compiled with parallel mode and code compiled without parallel mode
+ if no instantiation of a container is passed between the two
+ translation units. Parallel mode functionality has distinct linkage,
+- and cannot be confused with normal mode symbols.</para>
++ and cannot be confused with normal mode symbols.
++</para>
+ </sect2>
+
+ <sect2 id="manual.ext.parallel_mode.usings" xreflabel="using.specific">
+@@ -420,9 +422,10 @@
+ <title>Interface Basics</title>
+
+
+-<para>All parallel algorithms are intended to have signatures that are
++<para>
++All parallel algorithms are intended to have signatures that are
+ equivalent to the ISO C++ algorithms replaced. For instance, the
+-<code>std::adjacent_find</code> function is declared as:
++<function>std::adjacent_find</function> function is declared as:
+ </para>
+ <programlisting>
+ namespace std
+@@ -506,39 +509,176 @@
+ <sect2 id="manual.ext.parallel_mode.design.tuning" xreflabel="Tuning">
+ <title>Configuration and Tuning</title>
+
+-<para> Some algorithm variants can be enabled/disabled/selected at compile-time.
+-See <ulink url="latest-doxygen/compiletime__settings_8h.html">
+-<code>&lt;compiletime_settings.h&gt;</code></ulink> and
+-See <ulink url="latest-doxygen/compiletime__settings_8h.html">
+-<code>&lt;features.h&gt;</code></ulink> for details.
++
++<sect3 id="parallel_mode.design.tuning.omp" xreflabel="OpenMP Environment">
++ <title>Setting up the OpenMP Environment</title>
++
++<para>
++Several aspects of the overall runtime environment can be manipulated
++by standard OpenMP function calls.
+ </para>
+
+ <para>
+-To specify the number of threads to be used for an algorithm,
+-use <code>omp_set_num_threads</code>.
+-To force a function to execute sequentially,
+-even though parallelism is switched on in general,
+-add <code>__gnu_parallel::sequential_tag()</code>
+-to the end of the argument list.
++To specify the number of threads to be used for an algorithm, use the
++function <function>omp_set_num_threads</function>. An example:
+ </para>
+
++<programlisting>
++#include &lt;stdlib.h&gt;
++#include &lt;omp.h&gt;
++
++int main()
++{
++ // Explicitly set number of threads.
++ const int threads_wanted = 20;
++ omp_set_dynamic(false);
++ omp_set_num_threads(threads_wanted);
++ if (omp_get_num_threads() != threads_wanted)
++ abort();
++
++ // Do work.
++
++ return 0;
++}
++</programlisting>
++
+ <para>
+-Parallelism always incurs some overhead. Thus, it is not
+-helpful to parallelize operations on very small sets of data.
+-There are measures to avoid parallelizing stuff that is not worth it.
+-For each algorithm, a minimum problem size can be stated,
+-usually using the variable
+-<code>__gnu_parallel::Settings::[algorithm]_minimal_n</code>.
+-Please see <ulink url="latest-doxygen/settings_8h.html">
+-<code>&lt;settings.h&gt;</code></ulink> for details.</para>
++Other parts of the runtime environment able to be manipulated include
++nested parallelism (<function>omp_set_nested</function>), schedule kind
++(<function>omp_set_schedule</function>), and others. See the OpenMP
++documentation for more information.
++</para>
+
++</sect3>
+
++<sect3 id="parallel_mode.design.tuning.compile" xreflabel="Compile Switches">
++ <title>Compile Time Switches</title>
++
++<para>
++To force an algorithm to execute sequentially, even though parallelism
++is switched on in general via the macro <constant>_GLIBCXX_PARALLEL</constant>,
++add <classname>__gnu_parallel::sequential_tag()</classname> to the end
++of the algorithm's argument list, or explicitly qualify the algorithm
++with the <code>__gnu_parallel::</code> namespace.
++</para>
++
++<para>
++Like so:
++</para>
++
++<programlisting>
++std::sort(v.begin(), v.end(), __gnu_parallel::sequential_tag());
++</programlisting>
++
++<para>
++or
++</para>
++
++<programlisting>
++__gnu_serial::sort(v.begin(), v.end());
++</programlisting>
++
++<para>
++In addition, some parallel algorithm variants can be enabled/disabled/selected
++at compile-time.
++</para>
++
++<para>
++See <ulink url="http://gcc.gnu.org/onlinedocs/libstdc++/latest-doxygen/a00446.html"><filename class="headerfile">compiletime_settings.h</filename></ulink> and
++See <ulink url="http://gcc.gnu.org/onlinedocs/libstdc++/latest-doxygen/a00505.html"><filename class="headerfile">features.h</filename></ulink> for details.
++</para>
++</sect3>
++
++<sect3 id="parallel_mode.design.tuning.settings" xreflabel="_Settings">
++ <title>Run Time Settings and Defaults</title>
++
++<para>
++The default parallization strategy, the choice of specific algorithm
++strategy, the minimum threshold limits for individual parallel
++algorithms, and aspects of the underlying hardware can be specified as
++desired via manipulation
++of <classname>__gnu_parallel::_Settings</classname> member data.
++</para>
++
++<para>
++First off, the choice of parallelization strategy: serial, parallel,
++or implementation-deduced. This corresponds
++to <code>__gnu_parallel::_Settings::algorithm_strategy</code> and is a
++value of enum <type>__gnu_parallel::_AlgorithmStrategy</type>
++type. Choices
++include: <type>heuristic</type>, <type>force_sequential</type>,
++and <type>force_parallel</type>. The default is
++implementation-deduced, ie <type>heuristic</type>.
++</para>
++
++
++<para>
++Next, the sub-choices for algorithm implementation. Specific
++algorithms like <function>find</function> or <function>sort</function>
++can be implemented in multiple ways: when this is the case,
++a <classname>__gnu_parallel::_Settings</classname> member exists to
++pick the default strategy. For
++example, <code>__gnu_parallel::_Settings::sort_algorithm</code> can
++have any values of
++enum <type>__gnu_parallel::_SortAlgorithm</type>: <type>MWMS</type>, <type>QS</type>,
++or <type>QS_BALANCED</type>.
++</para>
++
++<para>
++Likewise for setting the minimal threshold for algorithm
++paralleization. Parallelism always incurs some overhead. Thus, it is
++not helpful to parallelize operations on very small sets of
++data. Because of this, measures are taken to avoid parallelizing below
++a certain, pre-determined threshold. For each algorithm, a minimum
++problem size is encoded as a variable in the
++active <classname>__gnu_parallel::_Settings</classname> object. This
++threshold variable follows the following naming scheme:
++<code>__gnu_parallel::_Settings::[algorithm]_minimal_n</code>. So,
++for <function>fill</function>, the threshold variable
++is <code>__gnu_parallel::_Settings::fill_minimal_n</code>
++</para>
++
++<para>
++Finally, hardware details like L1/L2 cache size can be hardwired
++via <code>__gnu_parallel::_Settings::L1_cache_size</code> and friends.
++</para>
++
++<para>
++All these configuration variables can be changed by the user, if
++desired. Please
++see <ulink url="http://gcc.gnu.org/onlinedocs/libstdc++/latest-doxygen/a00640.html"><filename class="headerfile">settings.h</filename></ulink>
++for complete details.
++</para>
++
++<para>
++A small example of tuning the default:
++</para>
++
++<programlisting>
++#include &lt;parallel/algorithm&gt;
++#include &lt;parallel/settings.h&gt;
++
++int main()
++{
++ __gnu_parallel::_Settings s;
++ s.algorithm_strategy = __gnu_parallel::force_parallel;
++ __gnu_parallel::_Settings::set(s);
++
++ // Do work... all algorithms will be parallelized, always.
++
++ return 0;
++}
++</programlisting>
++
++</sect3>
++
+ </sect2>
+
+ <sect2 id="manual.ext.parallel_mode.design.impl" xreflabel="Impl">
+ <title>Implementation Namespaces</title>
+
+-<para> One namespace contain versions of code that are explicitly sequential:
++<para> One namespace contain versions of code that are always
++explicitly sequential:
+ <code>__gnu_serial</code>.
+ </para>
+
+@@ -548,10 +688,8 @@
+
+ <para> Parallel implementations of standard components, including
+ template helpers to select parallelism, are defined in <code>namespace
+-std::__parallel</code>. For instance, <code>std::transform</code> from
+-&lt;algorithm&gt; has a parallel counterpart in
+-<code>std::__parallel::transform</code> from
+-&lt;parallel/algorithm&gt;. In addition, these parallel
++std::__parallel</code>. For instance, <function>std::transform</function> from <filename class="headerfile">algorithm</filename> has a parallel counterpart in
++<function>std::__parallel::transform</function> from <filename class="headerfile">parallel/algorithm</filename>. In addition, these parallel
+ implementations are injected into <code>namespace
+ __gnu_parallel</code> with using declarations.
+ </para>
+@@ -588,7 +726,7 @@
+
+ <para>
+ The log and summary files for conformance testing are in the
+- <code>testsuite/parallel</code> directory.
++ <filename class="directory">testsuite/parallel</filename> directory.
+ </para>
+
+ <para>
+@@ -596,13 +734,13 @@
+ </para>
+
+ <screen>
+- <userinput>check-performance-parallel</userinput>
++ <userinput>make check-performance-parallel</userinput>
+ </screen>
+
+ <para>
+ The result file for performance testing are in the
+- <code>testsuite</code> directory, in the file
+- <code>libstdc++_performance.sum</code>. In addition, the
++ <filename class="directory">testsuite</filename> directory, in the file
++ <filename>libstdc++_performance.sum</filename>. In addition, the
+ policy-based containers have their own visualizations, which have
+ additional software dependencies than the usual bare-boned text
+ file, and can be generated by using the <code>make
+Index: libstdc++-v3/doc/html/faq.html
+===================================================================
+--- libstdc++-v3/doc/html/faq.html (.../tags/gcc_4_3_0_release) (revision 133808)
++++ libstdc++-v3/doc/html/faq.html (.../branches/gcc-4_3-branch) (revision 133808)
+@@ -164,7 +164,7 @@
+ </p></td></tr><tr class="question"><td align="left" valign="top"><a id="faq.how"></a><a id="q-how"></a><p><b>1.5.</b></p></td><td align="left" valign="top"><p>
+ How do I contribute to the effort?
+ </p></td></tr><tr class="answer"><td align="left" valign="top"><a id="a-how"></a></td><td align="left" valign="top"><p>
+- Here is <a class="ulink" href="../17_intro/contribute.html" target="_top">a page devoted to
++ Here is <a class="link" href="manual/appendix_contributing.html" title="Appendix A. Contributing">a page devoted to
+ this topic</a>. Subscribing to the mailing list (see above, or
+ the homepage) is a very good idea if you have something to
+ contribute, or if you have spare time and want to
+@@ -320,7 +320,7 @@
+ </p></td></tr><tr class="answer"><td align="left" valign="top"><a id="a-what_is_libsupcxx"></a></td><td align="left" valign="top"><p>
+ If the only functions from <code class="filename">libstdc++.a</code>
+ which you need are language support functions (those listed in
+- <a class="ulink" href="../18_support/howto.html" target="_top">clause 18</a> of the
++ <a class="link" href="manual/support.html" title="Part II. Support">clause 18</a> of the
+ standard, e.g., <code class="function">new</code> and
+ <code class="function">delete</code>), then try linking against
+ <code class="filename">libsupc++.a</code>, which is a subset of
+@@ -578,13 +578,13 @@
+ reason is that the state flags are <span class="emphasis"><em>not</em></span> cleared
+ on a successful call to open(). The standard unfortunately did
+ not specify behavior in this case, and to everybody's great sorrow,
+- the <a class="ulink" href="../ext/howto.html#5" target="_top">proposed LWG resolution in
++ the <a class="link" href="manual/bk01pt01ch01s03.html" title="Bugs">proposed LWG resolution in
+ DR #22</a> is to leave the flags unchanged. You must insert a call
+ to <code class="function">fs.clear()</code> between the calls to close() and open(),
+ and then everything will work like we all expect it to work.
+ <span class="emphasis"><em>Update:</em></span> for GCC 4.0 we implemented the resolution
+- of <a class="ulink" href="../ext/howto.html#5" target="_top">DR #409</a> and open() now calls
+- <code class="function">clear()</code> on success!
++ of <a class="link" href="manual/bk01pt01ch01s03.html" title="Bugs">DR #409</a> and open()
++ now calls <code class="function">clear()</code> on success!
+ </p></td></tr><tr class="question"><td align="left" valign="top"><a id="faq.wefcxx_verbose"></a><a id="q-wefcxx_verbose"></a><p><b>6.2.</b></p></td><td align="left" valign="top"><p>
+ -Weffc++ complains too much
+ </p></td></tr><tr class="answer"><td align="left" valign="top"><a id="a-wefcxx_verbose"></a></td><td align="left" valign="top"><p>
+@@ -647,7 +647,7 @@
+ </p><p>
+ More information, including how to optionally enable/disable the
+ checks, is available
+- <a class="ulink" href="../19_diagnostics/howto.html#3" target="_top">here</a>.
++ <a class="link" href="manual/bk01pt03ch08.html" title="Chapter 8. Concept Checking">here</a>.
+ </p></td></tr><tr class="question"><td align="left" valign="top"><a id="faq.dlopen_crash"></a><a id="q-dlopen_crash"></a><p><b>6.6.</b></p></td><td align="left" valign="top"><p>
+ Program crashes when using library code in a
+ dynamically-loaded library
+@@ -672,19 +672,19 @@
+ </p></td></tr><tr class="answer"><td align="left" valign="top"><a id="a-memory_leaks"></a></td><td align="left" valign="top"><p>
+ A few people have reported that the standard containers appear
+ to leak memory when tested with memory checkers such as
+- <a class="ulink" href="http://developer.kde.org/~sewardj/" target="_top">valgrind</a>.
++ <a class="ulink" href="http://valgrind.org/" target="_top">valgrind</a>.
+ The library's default allocators keep free memory in a pool
+ for later reuse, rather than returning it to the OS. Although
+ this memory is always reachable by the library and is never
+ lost, memory debugging tools can report it as a leak. If you
+ want to test the library for memory leaks please read
+- <a class="ulink" href="../debug.html#mem" target="_top">Tips for memory leak hunting</a>
++ <a class="link" href="manual/debug.html#debug.memory" title="Memory Leak Hunting">Tips for memory leak hunting</a>
+ first.
+ </p></td></tr><tr class="question"><td align="left" valign="top"><a id="faq.list_size_on"></a><a id="q-list_size_on"></a><p><b>6.8.</b></p></td><td align="left" valign="top"><p>
+ list::size() is O(n)!
+ </p></td></tr><tr class="answer"><td align="left" valign="top"><a id="a-list_size_on"></a></td><td align="left" valign="top"><p>
+ See
+- the <a class="ulink" href="../23_containers/howto.html#6" target="_top">Containers</a>
++ the <a class="link" href="manual/containers.html" title="Part VII. Containers">Containers</a>
+ chapter.
+ </p></td></tr><tr class="question"><td align="left" valign="top"><a id="faq.easy_to_fix"></a><a id="q-easy_to_fix"></a><p><b>6.9.</b></p></td><td align="left" valign="top"><p>
+ Aw, that's easy to fix!
+@@ -695,7 +695,7 @@
+ patches</a> that covers the procedure, but for libstdc++ you
+ should also send the patch to our mailing list in addition to
+ the GCC patches mailing list. The libstdc++
+- <a class="ulink" href="../17_intro/contribute.html" target="_top">contributors' page</a>
++ <a class="link" href="manual/appendix_contributing.html" title="Appendix A. Contributing">contributors' page</a>
+ also talks about how to submit patches.
+ </p><p>
+ In addition to the description, the patch, and the ChangeLog
+@@ -868,6 +868,6 @@
+     </p></div><p>
+ The copy will take O(n) time and the swap is constant time.
+ </p><p>
+- See <a class="ulink" href="../21_strings/howto.html#6" target="_top">Shrink-to-fit
++ See <a class="link" href="manual/bk01pt05ch13s05.html" title="Shrink to Fit">Shrink-to-fit
+ strings</a> for a similar solution for strings.
+ </p></td></tr></tbody></table></div></div><div class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="bk03.html">Prev</a> </td><td width="20%" align="center"><a accesskey="u" href="bk03.html">Up</a></td><td width="40%" align="right"> </td></tr><tr><td width="40%" align="left" valign="top"> </td><td width="20%" align="center"><a accesskey="h" href="spine.html">Home</a></td><td width="40%" align="right" valign="top"> </td></tr></table></div></body></html>
+Index: libstdc++-v3/doc/html/api.html
+===================================================================
+--- libstdc++-v3/doc/html/api.html (.../tags/gcc_4_3_0_release) (revision 133808)
++++ libstdc++-v3/doc/html/api.html (.../branches/gcc-4_3-branch) (revision 133808)
+@@ -3,9 +3,9 @@
+ <html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>API and Source Level Documentation</title><meta name="generator" content="DocBook XSL Stylesheets V1.73.2" /><link rel="start" href="spine.html" title="The GNU C++ Library Documentation" /><link rel="up" href="bk02.html" title="" /><link rel="prev" href="bk02.html" title="" /><link rel="next" href="bk03.html" title="" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">API and Source Level Documentation</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="bk02.html">Prev</a> </td><th width="60%" align="center"></th><td width="20%" align="right"> <a accesskey="n" href="bk03.html">Next</a></td></tr></table><hr /></div><div class="article" lang="en" xml:lang="en"><div class="titlepage"><div><div><h2 class="title"><a id="api"></a>API and Source Level Documentation</h2></div><div><p class="copyright">Copyright ©
+ 2008
+
+- <a class="ulink" href="http://fsf.org" target="_top">FSF
++ <a class="ulink" href="http://www.fsf.org/" target="_top">FSF
+ </a>
+- </p></div><div><div class="legalnotice"><a id="id330876"></a><p>
++ </p></div><div><div class="legalnotice"><a id="id478877"></a><p>
+ <a class="ulink" href="17_intro/license.html" target="_top">License
+ </a>
+ </p></div></div></div><hr /></div><p>
+@@ -29,6 +29,9 @@
+ <a class="ulink" href="libstdc++-html-USERS-4.2/index.html" target="_top">for the 4.2 release
+ </a>
+ </p></li><li><p>
++ <a class="ulink" href="libstdc++-html-USERS-4.3/index.html" target="_top">for the 4.3 release
++ </a>
++ </p></li><li><p>
+ <a class="ulink" href="latest-doxygen/index.html" target="_top">"the latest collection"
+ </a>
+ (For the main development tree; see the date on the first page.)
+Index: libstdc++-v3/doc/html/manual/bk01pt12ch31s03.html
+===================================================================
+--- libstdc++-v3/doc/html/manual/bk01pt12ch31s03.html (.../tags/gcc_4_3_0_release) (revision 133808)
++++ libstdc++-v3/doc/html/manual/bk01pt12ch31s03.html (.../branches/gcc-4_3-branch) (revision 133808)
+@@ -2,7 +2,7 @@
+ <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+ <html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Using</title><meta name="generator" content="DocBook XSL Stylesheets V1.73.2" /><meta name="keywords" content="&#10; C++&#10; , &#10; library&#10; , &#10; parallel&#10; " /><meta name="keywords" content="&#10; ISO C++&#10; , &#10; library&#10; " /><link rel="start" href="../spine.html" title="The GNU C++ Library Documentation" /><link rel="up" href="parallel_mode.html" title="Chapter 31. Parallel Mode" /><link rel="prev" href="bk01pt12ch31s02.html" title="Semantics" /><link rel="next" href="bk01pt12ch31s04.html" title="Design" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Using</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="bk01pt12ch31s02.html">Prev</a> </td><th width="60%" align="center">Chapter 31. Parallel Mode</th><td width="20%" align="right"> <a accesskey="n" href="bk01pt12ch31s04.html">Next</a></td></tr></table><hr /></div><div class="sect1" lang="en" xml:lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="manual.ext.parallel_mode.using"></a>Using</h2></div></div></div><div class="sect2" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="parallel_mode.using.parallel_mode"></a>Using Parallel Mode</h3></div></div></div><p>To use the libstdc++ parallel mode, compile your application with
+ the compiler flag <code class="code">-D_GLIBCXX_PARALLEL -fopenmp</code>. This
+- will link in <code class="code">libgomp</code>, the GNU OpenMP <a class="ulink" href="http://gcc.gnu.org/onlinedocs/libgomp" target="_top">implementation</a>,
++ will link in <code class="code">libgomp</code>, the GNU OpenMP <a class="ulink" href="http://gcc.gnu.org/onlinedocs/libgomp/" target="_top">implementation</a>,
+ whose presence is mandatory. In addition, hardware capable of atomic
+ operations is mandatory. Actually activating these atomic
+ operations may require explicit compiler flags on some targets
+Index: libstdc++-v3/doc/html/manual/bk01pt12ch31s04.html
+===================================================================
+--- libstdc++-v3/doc/html/manual/bk01pt12ch31s04.html (.../tags/gcc_4_3_0_release) (revision 133808)
++++ libstdc++-v3/doc/html/manual/bk01pt12ch31s04.html (.../branches/gcc-4_3-branch) (revision 133808)
+@@ -1,9 +1,10 @@
+ <?xml version="1.0" encoding="UTF-8" standalone="no"?>
+ <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+ <html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Design</title><meta name="generator" content="DocBook XSL Stylesheets V1.73.2" /><meta name="keywords" content="&#10; C++&#10; , &#10; library&#10; , &#10; parallel&#10; " /><meta name="keywords" content="&#10; ISO C++&#10; , &#10; library&#10; " /><link rel="start" href="../spine.html" title="The GNU C++ Library Documentation" /><link rel="up" href="parallel_mode.html" title="Chapter 31. Parallel Mode" /><link rel="prev" href="bk01pt12ch31s03.html" title="Using" /><link rel="next" href="bk01pt12ch31s05.html" title="Testing" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Design</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="bk01pt12ch31s03.html">Prev</a> </td><th width="60%" align="center">Chapter 31. Parallel Mode</th><td width="20%" align="right"> <a accesskey="n" href="bk01pt12ch31s05.html">Next</a></td></tr></table><hr /></div><div class="sect1" lang="en" xml:lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="manual.ext.parallel_mode.design"></a>Design</h2></div></div></div><p>
+- </p><div class="sect2" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="manual.ext.parallel_mode.design.intro"></a>Interface Basics</h3></div></div></div><p>All parallel algorithms are intended to have signatures that are
++ </p><div class="sect2" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="manual.ext.parallel_mode.design.intro"></a>Interface Basics</h3></div></div></div><p>
++All parallel algorithms are intended to have signatures that are
+ equivalent to the ISO C++ algorithms replaced. For instance, the
+-<code class="code">std::adjacent_find</code> function is declared as:
++<code class="function">std::adjacent_find</code> function is declared as:
+ </p><pre class="programlisting">
+ namespace std
+ {
+@@ -57,36 +58,124 @@
+ ISO C++ signature to the correct parallel version. Also, some of the
+ algorithms do not have support for run-time conditions, so the last
+ overload is therefore missing.
+-</p></div><div class="sect2" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="manual.ext.parallel_mode.design.tuning"></a>Configuration and Tuning</h3></div></div></div><p> Some algorithm variants can be enabled/disabled/selected at compile-time.
+-See <a class="ulink" href="latest-doxygen/compiletime__settings_8h.html" target="_top">
+-<code class="code">&lt;compiletime_settings.h&gt;</code></a> and
+-See <a class="ulink" href="latest-doxygen/compiletime__settings_8h.html" target="_top">
+-<code class="code">&lt;features.h&gt;</code></a> for details.
++</p></div><div class="sect2" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="manual.ext.parallel_mode.design.tuning"></a>Configuration and Tuning</h3></div></div></div><div class="sect3" lang="en" xml:lang="en"><div class="titlepage"><div><div><h4 class="title"><a id="parallel_mode.design.tuning.omp"></a>Setting up the OpenMP Environment</h4></div></div></div><p>
++Several aspects of the overall runtime environment can be manipulated
++by standard OpenMP function calls.
+ </p><p>
+-To specify the number of threads to be used for an algorithm,
+-use <code class="code">omp_set_num_threads</code>.
+-To force a function to execute sequentially,
+-even though parallelism is switched on in general,
+-add <code class="code">__gnu_parallel::sequential_tag()</code>
+-to the end of the argument list.
++To specify the number of threads to be used for an algorithm, use the
++function <code class="function">omp_set_num_threads</code>. An example:
++</p><pre class="programlisting">
++#include &lt;stdlib.h&gt;
++#include &lt;omp.h&gt;
++
++int main()
++{
++ // Explicitly set number of threads.
++ const int threads_wanted = 20;
++ omp_set_dynamic(false);
++ omp_set_num_threads(threads_wanted);
++ if (omp_get_num_threads() != threads_wanted)
++ abort();
++
++ // Do work.
++
++ return 0;
++}
++</pre><p>
++Other parts of the runtime environment able to be manipulated include
++nested parallelism (<code class="function">omp_set_nested</code>), schedule kind
++(<code class="function">omp_set_schedule</code>), and others. See the OpenMP
++documentation for more information.
++</p></div><div class="sect3" lang="en" xml:lang="en"><div class="titlepage"><div><div><h4 class="title"><a id="parallel_mode.design.tuning.compile"></a>Compile Time Switches</h4></div></div></div><p>
++To force an algorithm to execute sequentially, even though parallelism
++is switched on in general via the macro <code class="constant">_GLIBCXX_PARALLEL</code>,
++add <code class="classname">__gnu_parallel::sequential_tag()</code> to the end
++of the algorithm's argument list, or explicitly qualify the algorithm
++with the <code class="code">__gnu_parallel::</code> namespace.
+ </p><p>
+-Parallelism always incurs some overhead. Thus, it is not
+-helpful to parallelize operations on very small sets of data.
+-There are measures to avoid parallelizing stuff that is not worth it.
+-For each algorithm, a minimum problem size can be stated,
+-usually using the variable
+-<code class="code">__gnu_parallel::Settings::[algorithm]_minimal_n</code>.
+-Please see <a class="ulink" href="latest-doxygen/settings_8h.html" target="_top">
+-<code class="code">&lt;settings.h&gt;</code></a> for details.</p></div><div class="sect2" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="manual.ext.parallel_mode.design.impl"></a>Implementation Namespaces</h3></div></div></div><p> One namespace contain versions of code that are explicitly sequential:
++Like so:
++</p><pre class="programlisting">
++std::sort(v.begin(), v.end(), __gnu_parallel::sequential_tag());
++</pre><p>
++or
++</p><pre class="programlisting">
++__gnu_serial::sort(v.begin(), v.end());
++</pre><p>
++In addition, some parallel algorithm variants can be enabled/disabled/selected
++at compile-time.
++</p><p>
++See <a class="ulink" href="http://gcc.gnu.org/onlinedocs/libstdc++/latest-doxygen/a00446.html" target="_top"><code class="filename">compiletime_settings.h</code></a> and
++See <a class="ulink" href="http://gcc.gnu.org/onlinedocs/libstdc++/latest-doxygen/a00505.html" target="_top"><code class="filename">features.h</code></a> for details.
++</p></div><div class="sect3" lang="en" xml:lang="en"><div class="titlepage"><div><div><h4 class="title"><a id="parallel_mode.design.tuning.settings"></a>Run Time Settings and Defaults</h4></div></div></div><p>
++The default parallization strategy, the choice of specific algorithm
++strategy, the minimum threshold limits for individual parallel
++algorithms, and aspects of the underlying hardware can be specified as
++desired via manipulation
++of <code class="classname">__gnu_parallel::_Settings</code> member data.
++</p><p>
++First off, the choice of parallelization strategy: serial, parallel,
++or implementation-deduced. This corresponds
++to <code class="code">__gnu_parallel::_Settings::algorithm_strategy</code> and is a
++value of enum <span class="type">__gnu_parallel::_AlgorithmStrategy</span>
++type. Choices
++include: <span class="type">heuristic</span>, <span class="type">force_sequential</span>,
++and <span class="type">force_parallel</span>. The default is
++implementation-deduced, ie <span class="type">heuristic</span>.
++</p><p>
++Next, the sub-choices for algorithm implementation. Specific
++algorithms like <code class="function">find</code> or <code class="function">sort</code>
++can be implemented in multiple ways: when this is the case,
++a <code class="classname">__gnu_parallel::_Settings</code> member exists to
++pick the default strategy. For
++example, <code class="code">__gnu_parallel::_Settings::sort_algorithm</code> can
++have any values of
++enum <span class="type">__gnu_parallel::_SortAlgorithm</span>: <span class="type">MWMS</span>, <span class="type">QS</span>,
++or <span class="type">QS_BALANCED</span>.
++</p><p>
++Likewise for setting the minimal threshold for algorithm
++paralleization. Parallelism always incurs some overhead. Thus, it is
++not helpful to parallelize operations on very small sets of
++data. Because of this, measures are taken to avoid parallelizing below
++a certain, pre-determined threshold. For each algorithm, a minimum
++problem size is encoded as a variable in the
++active <code class="classname">__gnu_parallel::_Settings</code> object. This
++threshold variable follows the following naming scheme:
++<code class="code">__gnu_parallel::_Settings::[algorithm]_minimal_n</code>. So,
++for <code class="function">fill</code>, the threshold variable
++is <code class="code">__gnu_parallel::_Settings::fill_minimal_n</code>
++</p><p>
++Finally, hardware details like L1/L2 cache size can be hardwired
++via <code class="code">__gnu_parallel::_Settings::L1_cache_size</code> and friends.
++</p><p>
++All these configuration variables can be changed by the user, if
++desired. Please
++see <a class="ulink" href="http://gcc.gnu.org/onlinedocs/libstdc++/latest-doxygen/a00640.html" target="_top"><code class="filename">settings.h</code></a>
++for complete details.
++</p><p>
++A small example of tuning the default:
++</p><pre class="programlisting">
++#include &lt;parallel/algorithm&gt;
++#include &lt;parallel/settings.h&gt;
++
++int main()
++{
++ __gnu_parallel::_Settings s;
++ s.algorithm_strategy = __gnu_parallel::force_parallel;
++ __gnu_parallel::_Settings::set(s);
++
++ // Do work... all algorithms will be parallelized, always.
++
++ return 0;
++}
++</pre></div></div><div class="sect2" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="manual.ext.parallel_mode.design.impl"></a>Implementation Namespaces</h3></div></div></div><p> One namespace contain versions of code that are always
++explicitly sequential:
+ <code class="code">__gnu_serial</code>.
+ </p><p> Two namespaces contain the parallel mode:
+ <code class="code">std::__parallel</code> and <code class="code">__gnu_parallel</code>.
+ </p><p> Parallel implementations of standard components, including
+ template helpers to select parallelism, are defined in <code class="code">namespace
+-std::__parallel</code>. For instance, <code class="code">std::transform</code> from
+-&lt;algorithm&gt; has a parallel counterpart in
+-<code class="code">std::__parallel::transform</code> from
+-&lt;parallel/algorithm&gt;. In addition, these parallel
++std::__parallel</code>. For instance, <code class="function">std::transform</code> from <code class="filename">algorithm</code> has a parallel counterpart in
++<code class="function">std::__parallel::transform</code> from <code class="filename">parallel/algorithm</code>. In addition, these parallel
+ implementations are injected into <code class="code">namespace
+ __gnu_parallel</code> with using declarations.
+ </p><p> Support and general infrastructure is in <code class="code">namespace
+Index: libstdc++-v3/doc/doxygen/style.css
+===================================================================
+--- libstdc++-v3/doc/doxygen/style.css (.../tags/gcc_4_3_0_release) (revision 133808)
++++ libstdc++-v3/doc/doxygen/style.css (.../branches/gcc-4_3-branch) (revision 133808)
+@@ -1,74 +0,0 @@
+-BODY {
+- background: white;
+- font-size: small;
+-}
+-H1 { text-align: center; font-size: large }
+-H2 { text-align: left; font-size: medium; }
+-H3 { text-align: left; font-size: small; }
+-CODE { font-size: small; }
+-CAPTION { font-weight: normal }
+-A.qindex {}
+-A.qindexRef {}
+-A.el { text-decoration: none; font-size: small; font-weight: normal }
+-A.elRef { text-decoration: none; font-size: small; font-weight: normal }
+-A.code { text-decoration: none; font-weight: normal; color: #4444ee }
+-A.codeRef { font-weight: normal; color: #4444ee }
+-A:hover { text-decoration: none; background-color: #f2f2ff }
+-DL.el { margin-left: -1cm }
+-DIV.fragment { width: 100%; border: none; background-color: #eeeeee }
+-DIV.ah {
+- background-color: black;
+- font-weight: normal;
+- color: #ffffff;
+- margin-bottom: 3px;
+- margin-top: 3px
+-}
+-DIV.groupHeader {
+- margin-left: 16px;
+- margin-top: 12px;
+- margin-bottom: 6px;
+- font-weight: normal
+-}
+-DIV.groupText { margin-left: 16px; font-style: italic; font-size: small }
+-TD.md { background-color: #f2f2ff; font-size: small; }
+-TD.mdname1 { background-color: #f2f2ff; font-size: small; color: #602020; }
+-TD.mdname {
+- background-color: #f2f2ff;
+- font-weight: normal;
+- font-size: small;
+- color: #602020;
+- width: 600px
+-}
+-TD.indexkey {
+- background-color: #eeeeff;
+- font-weight: normal;
+- font-size: small;
+- padding-right : 10px;
+- padding-top : 2px;
+- padding-left : 10px;
+- padding-bottom : 2px;
+- margin-left : 0px;
+- margin-right : 0px;
+- margin-top : 2px;
+- margin-bottom : 2px
+-}
+-TD.indexvalue {
+- background-color: #eeeeff;
+- font-style: italic;
+- font-size: small;
+- padding-right : 10px;
+- padding-top : 2px;
+- padding-left : 10px;
+- padding-bottom : 2px;
+- margin-left : 0px;
+- margin-right : 0px;
+- margin-top : 2px;
+- margin-bottom : 2px
+-}
+-span.keyword { color: #008000 }
+-span.keywordtype { color: #604020 }
+-span.keywordflow { color: #e08000 }
+-span.comment { color: #800000 }
+-span.preprocessor { color: #806020 }
+-span.stringliteral { color: #002080 }
+-span.charliteral { color: #008080 }
+Index: libstdc++-v3/doc/doxygen/user.cfg.in
+===================================================================
+--- libstdc++-v3/doc/doxygen/user.cfg.in (.../tags/gcc_4_3_0_release) (revision 133808)
++++ libstdc++-v3/doc/doxygen/user.cfg.in (.../branches/gcc-4_3-branch) (revision 133808)
+@@ -1,4 +1,4 @@
+-# Doxyfile 1.5.4
++# Doxyfile 1.5.1
+
+ # This file describes the settings to be used by the documentation system
+ # doxygen (www.doxygen.org) for a project
+@@ -14,15 +14,6 @@
+ # Project related configuration options
+ #---------------------------------------------------------------------------
+
+-# This tag specifies the encoding used for all characters in the
+-# config file that follow. The default is UTF-8 which is also the
+-# encoding used for all text before the first occurrence of this
+-# tag. Doxygen uses libiconv (or the iconv built into libc) for the
+-# transcoding. See http://www.gnu.org/software/libiconv for the list
+-# of possible encodings.
+-
+-DOXYFILE_ENCODING = UTF-8
+-
+ # The PROJECT_NAME tag is a single word (or a sequence of words surrounded
+ # by quotes) that should identify the project.
+
+@@ -62,6 +53,16 @@
+
+ OUTPUT_LANGUAGE = English
+
++# This tag can be used to specify the encoding used in the generated output.
++# The encoding is not always determined by the language that is chosen,
++# but also whether or not the output is meant for Windows or non-Windows users.
++# In case there is a difference, setting the USE_WINDOWS_ENCODING tag to YES
++# forces the Windows encoding (this is the default for the Windows binary),
++# whereas setting the tag to NO uses a Unix-style encoding (the default for
++# all platforms other than Windows).
++
++USE_WINDOWS_ENCODING = NO
++
+ # If the BRIEF_MEMBER_DESC tag is set to YES (the default) Doxygen will
+ # include brief member descriptions after the members that are listed in
+ # the file and class documentation (similar to JavaDoc).
+@@ -69,11 +70,10 @@
+
+ BRIEF_MEMBER_DESC = NO
+
+-# If the REPEAT_BRIEF tag is set to YES (the default) Doxygen will
+-# prepend the brief description of a member or function before the
+-# detailed description. Note: if both HIDE_UNDOC_MEMBERS and
+-# BRIEF_MEMBER_DESC are set to NO, the brief descriptions will be
+-# completely suppressed.
++# If the REPEAT_BRIEF tag is set to YES (the default) Doxygen will prepend
++# the brief description of a member or function before the detailed description.
++# Note: if both HIDE_UNDOC_MEMBERS and BRIEF_MEMBER_DESC are set to NO, the
++# brief descriptions will be completely suppressed.
+
+ REPEAT_BRIEF = YES
+
+@@ -135,19 +135,11 @@
+ # If the JAVADOC_AUTOBRIEF tag is set to YES then Doxygen
+ # will interpret the first line (until the first dot) of a JavaDoc-style
+ # comment as the brief description. If set to NO, the JavaDoc
+-# comments will behave just like regular Qt-style comments
+-# (thus requiring an explicit @brief command for a brief description.)
++# comments will behave just like the Qt-style comments (thus requiring an
++# explicit @brief command for a brief description.
+
+ JAVADOC_AUTOBRIEF = NO
+
+-# If the QT_AUTOBRIEF tag is set to YES then Doxygen will
+-# interpret the first line (until the first dot) of a Qt-style
+-# comment as the brief description. If set to NO, the comments
+-# will behave just like regular Qt-style comments (thus requiring
+-# an explicit \brief command for a brief description.)
+-
+-QT_AUTOBRIEF = NO
+-
+ # The MULTILINE_CPP_IS_BRIEF tag can be set to YES to make Doxygen
+ # treat a multi-line C++ special comment block (i.e. a block of //! or ///
+ # comments) as a brief description. This used to be the default behaviour.
+@@ -213,18 +205,6 @@
+
+ BUILTIN_STL_SUPPORT = NO
+
+-# If you use Microsoft's C++/CLI language, you should set this option to YES to
+-# enable parsing support.
+-
+-CPP_CLI_SUPPORT = NO
+-
+-# Set the SIP_SUPPORT tag to YES if your project consists of sip
+-# sources only. Doxygen will parse them like normal C++ but will
+-# assume all classes use public instead of private inheritance when no
+-# explicit protection keyword is present.
+-
+-SIP_SUPPORT = NO
+-
+ # If member grouping is used in the documentation and the DISTRIBUTE_GROUP_DOC
+ # tag is set to YES, then doxygen will reuse the documentation of the first
+ # member in the group (if any) for the other members of the group. By default
+@@ -240,16 +220,6 @@
+
+ SUBGROUPING = YES
+
+-# When TYPEDEF_HIDES_STRUCT is enabled, a typedef of a struct (or union) is
+-# documented as struct with the name of the typedef. So
+-# typedef struct TypeS {} TypeT, will appear in the documentation as a struct
+-# with name TypeT. When disabled the typedef will appear as a member of a file,
+-# namespace, or class. And the struct will be named TypeS. This can typically
+-# be useful for C code where the coding convention is that all structs are
+-# typedef'ed and only the typedef is referenced never the struct's name.
+-
+-TYPEDEF_HIDES_STRUCT = NO
+-
+ #---------------------------------------------------------------------------
+ # Build related configuration options
+ #---------------------------------------------------------------------------
+@@ -284,14 +254,6 @@
+
+ EXTRACT_LOCAL_METHODS = YES
+
+-# If this flag is set to YES, the members of anonymous namespaces will
+-# be extracted and appear in the documentation as a namespace called
+-# 'anonymous_namespace{file}', where file will be replaced with the
+-# base name of the file that contains the anonymous namespace. By
+-# default anonymous namespace are hidden.
+-
+-EXTRACT_ANON_NSPACES = NO
+-
+ # If the HIDE_UNDOC_MEMBERS tag is set to YES, Doxygen will hide all
+ # undocumented members of documented classes, files or namespaces.
+ # If set to NO (the default) these members will be included in the
+@@ -422,20 +384,19 @@
+
+ SHOW_USED_FILES = YES
+
+-# If the sources in your project are distributed over multiple
+-# directories then setting the SHOW_DIRECTORIES tag to YES will show
+-# the directory hierarchy in the documentation. The default is NO.
++# If the sources in your project are distributed over multiple directories
++# then setting the SHOW_DIRECTORIES tag to YES will show the directory hierarchy
++# in the documentation. The default is NO.
+
+ SHOW_DIRECTORIES = YES
+
+-# The FILE_VERSION_FILTER tag can be used to specify a program or
+-# script that doxygen should invoke to get the current version for
+-# each file (typically from the version control system). Doxygen will
+-# invoke the program by executing (via popen()) the command <command>
+-# <input-file>, where <command> is the value of the
+-# FILE_VERSION_FILTER tag, and <input-file> is the name of an input
+-# file provided by doxygen. Whatever the program writes to standard
+-# output is used as the file version. See the manual for examples.
++# The FILE_VERSION_FILTER tag can be used to specify a program or script that
++# doxygen should invoke to get the current version for each file (typically from the
++# version control system). Doxygen will invoke the program by executing (via
++# popen()) the command <command> <input-file>, where <command> is the value of
++# the FILE_VERSION_FILTER tag, and <input-file> is the name of an input file
++# provided by doxygen. Whatever the program writes to standard output
++# is used as the file version. See the manual for examples.
+
+ FILE_VERSION_FILTER =
+
+@@ -494,53 +455,19 @@
+ # configuration options related to the input files
+ #---------------------------------------------------------------------------
+
+-# The INPUT tag can be used to specify the files and/or directories
+-# that contain documented source files. You may enter file names like
+-# "myfile.cpp" or directories like "/usr/src/myproject". Separate the
+-# files or directories with spaces.
++# The INPUT tag can be used to specify the files and/or directories that contain
++# documented source files. You may enter file names like "myfile.cpp" or
++# directories like "/usr/src/myproject". Separate the files or directories
++# with spaces.
+
+-INPUT = @srcdir@/doc/doxygen/doxygroups.cc \
+- @srcdir@/include/precompiled/stdc++.h \
+- @srcdir@/include/precompiled/stdtr1c++.h \
+- @srcdir@/include/precompiled/extc++.h \
+- @srcdir@/libsupc++/cxxabi.h \
++INPUT = @srcdir@/libsupc++/cxxabi.h \
++ @srcdir@/libsupc++/cxxabi-forced.h \
+ @srcdir@/libsupc++/exception \
+ @srcdir@/libsupc++/new \
+ @srcdir@/libsupc++/typeinfo \
+- include/@host_alias@/bits \
+- include/bits \
+- include/debug \
+- include/parallel \
+- include/ext \
+- include/tr1 \
+- include/tr1_impl \
+ include/algorithm \
+ include/array \
+ include/bitset \
+- include/cassert \
+- include/ccomplex \
+- include/cctype \
+- include/cerrno \
+- include/cfenv \
+- include/cfloat \
+- include/cinttypes \
+- include/ciso646 \
+- include/climits \
+- include/clocale \
+- include/cmath \
+- include/csetjmp \
+- include/csignal \
+- include/cstdarg \
+- include/cstdbool \
+- include/cstddef \
+- include/cstdint \
+- include/cstdio \
+- include/cstdlib \
+- include/cstring \
+- include/ctgmath \
+- include/ctime \
+- include/cwchar \
+- include/cwctype \
+ include/deque \
+ include/fstream \
+ include/functional \
+@@ -566,7 +493,6 @@
+ include/stdexcept \
+ include/streambuf \
+ include/string \
+- include/system_error \
+ include/tuple \
+ include/type_traits \
+ include/unordered_map \
+@@ -574,14 +500,41 @@
+ include/utility \
+ include/valarray \
+ include/vector \
++ include/cassert \
++ include/ccomplex \
++ include/cctype \
++ include/cerrno \
++ include/cfenv \
++ include/cfloat \
++ include/cinttypes \
++ include/ciso646 \
++ include/climits \
++ include/clocale \
++ include/cmath \
++ include/csetjmp \
++ include/csignal \
++ include/cstdarg \
++ include/cstdbool \
++ include/cstddef \
++ include/cstdint \
++ include/cstdio \
++ include/cstdlib \
++ include/cstring \
++ include/ctgmath \
++ include/ctime \
++ include/cwchar \
++ include/cwctype \
+ include/backward/hash_map \
+ include/backward/hash_set \
++ include/backward/strstream \
+ include/debug/bitset \
+ include/debug/deque \
+ include/debug/list \
+ include/debug/map \
+ include/debug/set \
+ include/debug/string \
++ include/debug/unordered_map \
++ include/debug/unordered_set \
+ include/debug/vector \
+ include/ext/algorithm \
+ include/ext/functional \
+@@ -591,8 +544,6 @@
+ include/ext/rb_tree \
+ include/ext/rope \
+ include/ext/slist \
+- include/ext/pb_ds \
+- include/ext/pb_ds/detail \
+ include/parallel/algorithm \
+ include/parallel/numeric \
+ include/tr1/array \
+@@ -614,7 +565,6 @@
+ include/tr1/cwchar \
+ include/tr1/cwctype \
+ include/tr1/functional \
+- include/tr1/hashtable.h \
+ include/tr1/memory \
+ include/tr1/random \
+ include/tr1/regex \
+@@ -622,7 +572,6 @@
+ include/tr1/type_traits \
+ include/tr1/unordered_map \
+ include/tr1/unordered_set \
+- include/tr1_impl/utility \
+ include/tr1_impl/array \
+ include/tr1_impl/cctype \
+ include/tr1_impl/cfenv \
+@@ -638,27 +587,28 @@
+ include/tr1_impl/hashtable \
+ include/tr1_impl/random \
+ include/tr1_impl/regex \
+- include/tr1_impl/tuple \
+ include/tr1_impl/type_traits \
+ include/tr1_impl/unordered_map \
+ include/tr1_impl/unordered_set \
+- include/tr1_impl/utility
++ include/tr1_impl/utility \
++ include/@host_alias@/bits \
++ include/backward \
++ include/bits \
++ include/debug \
++ include/parallel \
++ include/tr1 \
++ include/tr1_impl \
++ include/ext \
++ include/ext/pb_ds \
++ include/ext/pb_ds/detail \
++ @srcdir@/doc/doxygen/doxygroups.cc
+
+-# This tag can be used to specify the character encoding of the source
+-# files that doxygen parses. Internally doxygen uses the UTF-8
+-# encoding, which is also the default input encoding. Doxygen uses
+-# libiconv (or the iconv built into libc) for the transcoding. See
+-# http://www.gnu.org/software/libiconv for the list of possible
+-# encodings.
+-
+-INPUT_ENCODING = UTF-8
+-
+ # If the value of the INPUT tag contains directories, you can use the
+ # FILE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp
+ # and *.h) to filter out the source-files in the directories. If left
+ # blank the following patterns are tested:
+ # *.c *.cc *.cxx *.cpp *.c++ *.java *.ii *.ixx *.ipp *.i++ *.inl *.h *.hh *.hxx
+-# *.hpp *.h++ *.idl *.odl *.cs *.php *.php3 *.inc *.m *.mm *.py *.f90
++# *.hpp *.h++ *.idl *.odl *.cs *.php *.php3 *.inc *.m *.mm *.py
+
+ FILE_PATTERNS = *.h \
+ *.hpp \
+@@ -694,14 +644,6 @@
+ *extc++.h* \
+ */.svn/*
+
+-# The EXCLUDE_SYMBOLS tag can be used to specify one or more symbol
+-# names (namespaces, classes, functions, etc.) that should be excluded
+-# from the output. The symbol name can be a fully qualified name, a
+-# word, or if the wildcard * is used, a substring. Examples:
+-# ANamespace, AClass, AClass::ANamespace, ANamespace::*Test
+-
+-EXCLUDE_SYMBOLS =
+-
+ # The EXAMPLE_PATH tag can be used to specify one or more files or
+ # directories that contain example code fragments that are included (see
+ # the \include command).
+@@ -757,13 +699,10 @@
+ # configuration options related to source browsing
+ #---------------------------------------------------------------------------
+
+-# If the SOURCE_BROWSER tag is set to YES then a list of source files
+-# will be generated. Documented entities will be cross-referenced with
+-# these sources. Note: To get rid of all source code in the generated
+-# output, make sure also VERBATIM_HEADERS is set to NO. If you have
+-# enabled CALL_GRAPH or CALLER_GRAPH then you must also enable this
+-# option. If you don't then doxygen will produce a warning and turn it
+-# on anyway
++# If the SOURCE_BROWSER tag is set to YES then a list of source files will
++# be generated. Documented entities will be cross-referenced with these sources.
++# Note: To get rid of all source code in the generated output, make sure also
++# VERBATIM_HEADERS is set to NO.
+
+ SOURCE_BROWSER = YES
+
+@@ -847,7 +786,7 @@
+ # If a relative path is entered the value of OUTPUT_DIRECTORY will be
+ # put in front of it. If left blank `html' will be used as the default path.
+
+-HTML_OUTPUT = @html_output_dir@
++HTML_OUTPUT = html
+
+ # The HTML_FILE_EXTENSION tag can be used to specify the file extension for
+ # each generated HTML page (for example: .htm,.php,.asp). If it is left blank
+@@ -874,7 +813,7 @@
+ # the style sheet file to the HTML output directory, so don't put your own
+ # stylesheet in the HTML output directory as well, or it will be erased!
+
+-HTML_STYLESHEET = @srcdir@/doc/doxygen/style.css
++HTML_STYLESHEET =
+
+ # If the HTML_ALIGN_MEMBERS tag is set to YES, the members of classes,
+ # files or namespaces will be aligned in HTML using tables. If set to
+@@ -889,14 +828,6 @@
+
+ GENERATE_HTMLHELP = NO
+
+-# If the HTML_DYNAMIC_SECTIONS tag is set to YES then the generated HTML
+-# documentation will contain sections that can be hidden and shown after the
+-# page has loaded. For this to work a browser that supports
+-# JavaScript and DHTML is required (for instance Mozilla 1.0+, Firefox
+-# Netscape 6.0+, Internet explorer 5.0+, Konqueror, or Safari).
+-
+-HTML_DYNAMIC_SECTIONS = NO
+-
+ # If the GENERATE_HTMLHELP tag is set to YES, the CHM_FILE tag can
+ # be used to specify the file name of the resulting .chm file. You
+ # can add a path in front of the file if the result should not be
+@@ -1120,7 +1051,6 @@
+ # which can be used by a validating XML parser to check the
+ # syntax of the XML files.
+
+-#XML_SCHEMA =
+ XML_SCHEMA =
+
+ # The XML_DTD tag can be used to specify an XML DTD,
+@@ -1128,7 +1058,6 @@
+ # syntax of the XML files.
+
+ XML_DTD =
+-#XML_DTD = http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd
+
+ # If the XML_PROGRAMLISTING tag is set to YES Doxygen will
+ # dump the program listings (including syntax highlighting
+@@ -1232,13 +1161,18 @@
+ # instead of the = operator.
+
+ PREDEFINED = __GTHREADS \
++ "_GLIBCXX_STD_P= " \
++ "_GLIBCXX_STD_D= " \
+ _GLIBCXX_STD=std \
+- _GLIBCXX_TR1=tr1 \
++ "_GLIBCXX_TR1= " \
++ "_GLIBCXX_BEGIN_NAMESPACE_TR1= " \
++ "_GLIBCXX_END_NAMESPACE_TR1= " \
+ "_GLIBCXX_BEGIN_NAMESPACE(name)=namespace name { " \
+ "_GLIBCXX_BEGIN_NESTED_NAMESPACE(name, unused)=namespace name { " \
+ _GLIBCXX_END_NAMESPACE=} \
+ _GLIBCXX_END_NESTED_NAMESPACE=} \
+ "_GLIBCXX_TEMPLATE_ARGS=... " \
++ _GLIBCXX_INCLUDE_AS_CXX0X \
+ _GLIBCXX_DEPRECATED \
+ _GLIBCXX_USE_WCHAR_T \
+ _GLIBCXX_USE_LONG_LONG \
+@@ -1248,11 +1182,10 @@
+ __glibcxx_class_requires3=// \
+ __glibcxx_class_requires4=//
+
+-# If the MACRO_EXPANSION and EXPAND_ONLY_PREDEF tags are set to YES
+-# then this tag can be used to specify a list of macro names that
+-# should be expanded. The macro definition that is found in the
+-# sources will be used. Use the PREDEFINED tag if you want to use a
+-# different macro definition.
++# If the MACRO_EXPANSION and EXPAND_ONLY_PREDEF tags are set to YES then
++# this tag can be used to specify a list of macro names that should be expanded.
++# The macro definition that is found in the sources will be used.
++# Use the PREDEFINED tag if you want to use a different macro definition.
+
+ EXPAND_AS_DEFINED =
+
+@@ -1320,14 +1253,6 @@
+
+ CLASS_DIAGRAMS = YES
+
+-# You can define message sequence charts within doxygen comments using the \msc
+-# command. Doxygen will then run the mscgen tool (see http://www.mcternan.me.uk/mscgen/) to
+-# produce the chart and insert it in the documentation. The MSCGEN_PATH tag allows you to
+-# specify the directory where the mscgen tool resides. If left empty the tool is assumed to
+-# be found in the default search path.
+-
+-MSCGEN_PATH =
+-
+ # If set to YES, the inheritance and collaboration graphs will hide
+ # inheritance and usage relations if the target is undocumented
+ # or is not a class.
+@@ -1385,21 +1310,19 @@
+
+ INCLUDED_BY_GRAPH = NO
+
+-# If the CALL_GRAPH, SOURCE_BROWSER and HAVE_DOT tags are set to YES
+-# then doxygen will generate a call dependency graph for every global
+-# function or class method. Note that enabling this option will
+-# significantly increase the time of a run. So in most cases it will
+-# be better to enable call graphs for selected functions only using
+-# the \callgraph command.
++# If the CALL_GRAPH and HAVE_DOT tags are set to YES then doxygen will
++# generate a call dependency graph for every global function or class method.
++# Note that enabling this option will significantly increase the time of a run.
++# So in most cases it will be better to enable call graphs for selected
++# functions only using the \callgraph command.
+
+ CALL_GRAPH = NO
+
+-# If the CALLER_GRAPH, SOURCE_BROWSER and HAVE_DOT tags are set to YES
+-# then doxygen will generate a caller dependency graph for every
+-# global function or class method. Note that enabling this option
+-# will significantly increase the time of a run. So in most cases it
+-# will be better to enable caller graphs for selected functions only
+-# using the \callergraph command.
++# If the CALLER_GRAPH and HAVE_DOT tags are set to YES then doxygen will
++# generate a caller dependency graph for every global function or class method.
++# Note that enabling this option will significantly increase the time of a run.
++# So in most cases it will be better to enable caller graphs for selected
++# functions only using the \callergraph command.
+
+ CALLER_GRAPH = NO
+
+@@ -1432,24 +1355,31 @@
+
+ DOTFILE_DIRS =
+
+-# The MAX_DOT_GRAPH_MAX_NODES tag can be used to set the maximum
+-# number of nodes that will be shown in the graph. If the number of
+-# nodes in a graph becomes larger than this value, doxygen will
+-# truncate the graph, which is visualized by representing a node as a
+-# red box. Note that doxygen if the number of direct children of the
+-# root node in a graph is already larger than MAX_DOT_GRAPH_NOTES then
+-# the graph will not be shown at all. Also note that the size of a
+-# graph can be further restricted by MAX_DOT_GRAPH_DEPTH.
++# The MAX_DOT_GRAPH_WIDTH tag can be used to set the maximum allowed width
++# (in pixels) of the graphs generated by dot. If a graph becomes larger than
++# this value, doxygen will try to truncate the graph, so that it fits within
++# the specified constraint. Beware that most browsers cannot cope with very
++# large images.
+
+-DOT_GRAPH_MAX_NODES = 50
++MAX_DOT_GRAPH_WIDTH = 1024
+
++# The MAX_DOT_GRAPH_HEIGHT tag can be used to set the maximum allows height
++# (in pixels) of the graphs generated by dot. If a graph becomes larger than
++# this value, doxygen will try to truncate the graph, so that it fits within
++# the specified constraint. Beware that most browsers cannot cope with very
++# large images.
++
++MAX_DOT_GRAPH_HEIGHT = 1024
++
+ # The MAX_DOT_GRAPH_DEPTH tag can be used to set the maximum depth of the
+ # graphs generated by dot. A depth value of 3 means that only nodes reachable
+ # from the root by following a path via at most 3 edges will be shown. Nodes
+ # that lay further from the root node will be omitted. Note that setting this
+ # option to 1 or 2 may greatly reduce the computation time needed for large
+-# code bases. Also note that the size of a graph can be further restricted by
+-# DOT_GRAPH_MAX_NODES. Using a depth of 0 means no depth restriction.
++# code bases. Also note that a graph may be further truncated if the graph's
++# image dimensions are not sufficient to fit the graph (see MAX_DOT_GRAPH_WIDTH
++# and MAX_DOT_GRAPH_HEIGHT). If 0 is used for the depth value (the default),
++# the graph is not depth-constrained.
+
+ MAX_DOT_GRAPH_DEPTH = 0
+
+Index: libstdc++-v3/doc/doxygen/mainpage.html
+===================================================================
+--- libstdc++-v3/doc/doxygen/mainpage.html (.../tags/gcc_4_3_0_release) (revision 133808)
++++ libstdc++-v3/doc/doxygen/mainpage.html (.../branches/gcc-4_3-branch) (revision 133808)
+@@ -2,7 +2,6 @@
+ <html>
+ <head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
+ <title>libstdc++ Source: Main Index</title>
+-<link href="style.css" rel="stylesheet" type="text/css">
+ </head>
+
+ <body bgcolor="#ffffff">
+@@ -39,14 +38,25 @@
+
+ <p>Here are entry points to all the pages generated by Doxygen:
+ <ul>
+- <li><a href="modules.html">Modules</a>
+- <li><a href="namespaces.html">Namespace List</a>
+- <li><a href="hierarchy.html">Class List</a>
+- <li><a href="annotated.html">Class Annotated List</a>
+- <li><a href="classes.html">Class Alphabetical Index</a>
+- <li><a href="globals_func.html">Function Alphabetical List</a>
+- <li><a href="files.html">Source File List</a>
+- <li><a href="todo.html">TODO List</a> (This is incomplete... how ironic.)
++ <li><a href="modules.html">Modules</a></li>
++
++ <li>Namespaces
++ <ul>
++ <li><a href="namespaces.html">List</a></li>
++ <li><a href="namespacemembers.html">Members</a></li>
++ </ul>
++ </li>
++
++ <li>Classes
++ <ul>
++ <li><a href="classes.html">List</a></li>
++ <li><a href="hierarchy.html">Hierarchy</a></li>
++ <li><a href="functions.html">Members</a></li>
++ </ul>
++ </li>
++
++ <li><a href="files.html">Source Files</a></li>
++ <li><a href="todo.html">TODO List</a></li>
+ </ul>
+ </p>
+
+Index: libstdc++-v3/doc/doxygen/doxygroups.cc
+===================================================================
+--- libstdc++-v3/doc/doxygen/doxygroups.cc (.../tags/gcc_4_3_0_release) (revision 133808)
++++ libstdc++-v3/doc/doxygen/doxygroups.cc (.../branches/gcc-4_3-branch) (revision 133808)
+@@ -1,5 +1,5 @@
+ /*
+- Copyright (C) 2001, 2002, 2005 Free Software Foundation, Inc.
++ Copyright (C) 2001, 2002, 2005, 2008 Free Software Foundation, Inc.
+ See license.html for license.
+
+ This just provides documentation for stuff that doesn't need to be in the
+@@ -17,36 +17,34 @@
+
+ // // // // // // // // // // // // // // // // // // // // // // // //
+ /** @namespace std
+- * @brief Everything defined by the ISO C++ Standard is within
+- * namespace <a class="el" href="namespacestd.html">std</a>.
++ * @brief ISO C++ entities toplevel namespace is std.
+ */
+ /** @namespace std::__detail
+- * @brief Implementation details not part of the namespace <a class="el"
+- * href="namespacestd.html">std</a> interface.
++ * @brief Implementation details not part of the namespace std interface.
+ */
+ /** @namespace std::tr1
+- * @brief Everything defined by the ISO C++ TR1 is within namespace std::tr1.
++ * @brief ISO C++ TR1 entities toplevel namespace is std::tr1.
+ */
+ /** @namespace std::tr1::__detail
+ * @brief Implementation details not part of the namespace std::tr1 interface.
+ */
++/** @namespace std::regex_constants
++ * @brief ISO C++ 0x entities sub namespace for regex.
++*/
++/** @namespace std::placeholders
++ * @brief ISO C++ 0x entities sub namespace for functional.
++*/
+ /** @namespace __gnu_cxx
+ * @brief GNU extensions for public use.
+ */
+ /** @namespace __gnu_cxx::__detail
+- * @brief Implementation details not part of the namespace __gnu_cxx
++ * @brief Implementation details not part of the namespace __gnu_cxx
+ * interface.
+ */
+-/** @namespace __gnu_cxx::typelist
+- * @brief GNU typelist extensions for public compile-time use.
+-*/
+ /** @namespace __gnu_internal
+ * @brief GNU implemenation details, not for public use or
+ * export. Used only when anonymous namespaces cannot be substituted.
+ */
+-/** @namespace __gnu_debug
+- * @brief GNU debug classes for public use.
+-*/
+ // // // // // // // // // // // // // // // // // // // // // // // //
+ /** @addtogroup SGIextensions STL extensions from SGI
+ Because libstdc++ based its implementation of the STL subsections of
+Index: libstdc++-v3/doc/doxygen/Intro.3
+===================================================================
+--- libstdc++-v3/doc/doxygen/Intro.3 (.../tags/gcc_4_3_0_release) (revision 133808)
++++ libstdc++-v3/doc/doxygen/Intro.3 (.../branches/gcc-4_3-branch) (revision 133808)
+@@ -1,5 +1,5 @@
+ .\" t
+-.\" This man page is released under the FDL as part of libstdc++.
++.\" This man page is released under the GPL as part of libstdc++.
+ .TH C++Intro 3 "20 May 2004" "GNU libstdc++" "Standard C++ Library"
+ .SH NAME
+ C++Intro \- Introduction to the GNU libstdc++ man pages
+Index: libstdc++-v3/doc/doxygen/tables.html
+===================================================================
+--- libstdc++-v3/doc/doxygen/tables.html (.../tags/gcc_4_3_0_release) (revision 133808)
++++ libstdc++-v3/doc/doxygen/tables.html (.../branches/gcc-4_3-branch) (revision 133808)
+@@ -2,7 +2,6 @@
+ <html>
+ <head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
+ <title>Tables</title>
+-<link href="style.css" rel="stylesheet" type="text/css">
+ </head>
+
+ <body bgcolor="#ffffff">
+Index: libstdc++-v3/include/ext/pb_ds/tag_and_trait.hpp
+===================================================================
+--- libstdc++-v3/include/ext/pb_ds/tag_and_trait.hpp (.../tags/gcc_4_3_0_release) (revision 133808)
++++ libstdc++-v3/include/ext/pb_ds/tag_and_trait.hpp (.../branches/gcc-4_3-branch) (revision 133808)
+@@ -52,9 +52,8 @@
+
+ /**
+ * @namespace __gnu_pbds
+- * @brief GNU extension policy-based data structures for public use.
++ * @brief GNU extensions for policy-based data structures for public use.
+ */
+-
+ namespace __gnu_pbds
+ {
+ // A trivial iterator tag. Signifies that the iterators has none of
+Index: libstdc++-v3/include/ext/enc_filebuf.h
+===================================================================
+--- libstdc++-v3/include/ext/enc_filebuf.h (.../tags/gcc_4_3_0_release) (revision 133808)
++++ libstdc++-v3/include/ext/enc_filebuf.h (.../branches/gcc-4_3-branch) (revision 133808)
+@@ -40,7 +40,7 @@
+
+ _GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx)
+
+- /// @brief class enc_filebuf.
++ /// class enc_filebuf.
+ template<typename _CharT>
+ class enc_filebuf
+ : public std::basic_filebuf<_CharT, encoding_char_traits<_CharT> >
+Index: libstdc++-v3/include/ext/throw_allocator.h
+===================================================================
+--- libstdc++-v3/include/ext/throw_allocator.h (.../tags/gcc_4_3_0_release) (revision 133808)
++++ libstdc++-v3/include/ext/throw_allocator.h (.../branches/gcc-4_3-branch) (revision 133808)
+@@ -80,6 +80,7 @@
+ std::tr1::mt19937 _M_generator;
+ };
+
++ /// Thown by throw_allocator.
+ struct forced_exception_error : public std::exception
+ { };
+
+@@ -94,6 +95,7 @@
+ #endif
+ }
+
++ /// Base class.
+ class throw_allocator_base
+ {
+ public:
+@@ -184,7 +186,7 @@
+ static size_t _S_label;
+ };
+
+-
++ /// Allocator class with logging and exception control.
+ template<typename T>
+ class throw_allocator : public throw_allocator_base
+ {
+@@ -309,7 +311,7 @@
+
+ twister_rand_gen throw_allocator_base::_S_g;
+
+- throw_allocator_base::map_type
++ throw_allocator_base::map_type
+ throw_allocator_base::_S_map;
+
+ double throw_allocator_base::_S_throw_prob;
+Index: libstdc++-v3/include/ext/pool_allocator.h
+===================================================================
+--- libstdc++-v3/include/ext/pool_allocator.h (.../tags/gcc_4_3_0_release) (revision 133808)
++++ libstdc++-v3/include/ext/pool_allocator.h (.../branches/gcc-4_3-branch) (revision 133808)
+@@ -119,7 +119,7 @@
+ };
+
+
+- /// @brief class __pool_alloc.
++ /// class __pool_alloc.
+ template<typename _Tp>
+ class __pool_alloc : private __pool_alloc_base
+ {
+Index: libstdc++-v3/include/ext/bitmap_allocator.h
+===================================================================
+--- libstdc++-v3/include/ext/bitmap_allocator.h (.../tags/gcc_4_3_0_release) (revision 133808)
++++ libstdc++-v3/include/ext/bitmap_allocator.h (.../branches/gcc-4_3-branch) (revision 133808)
+@@ -706,6 +706,7 @@
+ };
+ };
+
++ /// Primary template
+ template<typename _Tp>
+ class bitmap_allocator : private free_list
+ {
+Index: libstdc++-v3/include/ext/concurrence.h
+===================================================================
+--- libstdc++-v3/include/ext/concurrence.h (.../tags/gcc_4_3_0_release) (revision 133808)
++++ libstdc++-v3/include/ext/concurrence.h (.../branches/gcc-4_3-branch) (revision 133808)
+@@ -240,7 +240,7 @@
+ { return &_M_mutex; }
+ };
+
+- /// @brief Scoped lock idiom.
++ /// Scoped lock idiom.
+ // Acquire the mutex here with a constructor call, then release with
+ // the destructor call in accordance with RAII style.
+ class __scoped_lock
+Index: libstdc++-v3/include/ext/codecvt_specializations.h
+===================================================================
+--- libstdc++-v3/include/ext/codecvt_specializations.h (.../tags/gcc_4_3_0_release) (revision 133808)
++++ libstdc++-v3/include/ext/codecvt_specializations.h (.../branches/gcc-4_3-branch) (revision 133808)
+@@ -47,7 +47,7 @@
+
+ _GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx)
+
+- /// @brief Extension to use iconv for dealing with character encodings.
++ /// Extension to use iconv for dealing with character encodings.
+ // This includes conversions and comparisons between various character
+ // sets. This object encapsulates data that may need to be shared between
+ // char_traits, codecvt and ctype.
+@@ -206,7 +206,7 @@
+ }
+ };
+
+- /// @brief encoding_char_traits.
++ /// encoding_char_traits
+ // Custom traits type with encoding_state for the state type, and the
+ // associated fpos<encoding_state> for the position type, all other
+ // bits equivalent to the required char_traits instantiations.
+@@ -224,7 +224,7 @@
+
+ using __gnu_cxx::encoding_state;
+
+- /// @brief codecvt<InternT, _ExternT, encoding_state> specialization.
++ /// codecvt<InternT, _ExternT, encoding_state> specialization.
+ // This partial specialization takes advantage of iconv to provide
+ // code conversions between a large number of character encodings.
+ template<typename _InternT, typename _ExternT>
+Index: libstdc++-v3/include/ext/stdio_sync_filebuf.h
+===================================================================
+--- libstdc++-v3/include/ext/stdio_sync_filebuf.h (.../tags/gcc_4_3_0_release) (revision 133808)
++++ libstdc++-v3/include/ext/stdio_sync_filebuf.h (.../branches/gcc-4_3-branch) (revision 133808)
+@@ -47,7 +47,7 @@
+
+ _GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx)
+
+- /// @brief class stdio_sync_filebuf.
++ /// class stdio_sync_filebuf.
+ template<typename _CharT, typename _Traits = std::char_traits<_CharT> >
+ class stdio_sync_filebuf : public std::basic_streambuf<_CharT, _Traits>
+ {
+Index: libstdc++-v3/include/ext/typelist.h
+===================================================================
+--- libstdc++-v3/include/ext/typelist.h (.../tags/gcc_4_3_0_release) (revision 133808)
++++ libstdc++-v3/include/ext/typelist.h (.../branches/gcc-4_3-branch) (revision 133808)
+@@ -50,6 +50,9 @@
+
+ _GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx)
+
++/** @namespace __gnu_cxx::typelist
++ * @brief GNU typelist extensions for public compile-time use.
++*/
+ namespace typelist
+ {
+ struct null_type { };
+Index: libstdc++-v3/include/ext/array_allocator.h
+===================================================================
+--- libstdc++-v3/include/ext/array_allocator.h (.../tags/gcc_4_3_0_release) (revision 133808)
++++ libstdc++-v3/include/ext/array_allocator.h (.../branches/gcc-4_3-branch) (revision 133808)
+@@ -45,7 +45,7 @@
+ using std::size_t;
+ using std::ptrdiff_t;
+
+- /// @brief Base class.
++ /// Base class.
+ template<typename _Tp>
+ class array_allocator_base
+ {
+Index: libstdc++-v3/include/ext/mt_allocator.h
+===================================================================
+--- libstdc++-v3/include/ext/mt_allocator.h (.../tags/gcc_4_3_0_release) (revision 133808)
++++ libstdc++-v3/include/ext/mt_allocator.h (.../branches/gcc-4_3-branch) (revision 133808)
+@@ -47,7 +47,7 @@
+
+ typedef void (*__destroy_handler)(void*);
+
+- /// @brief Base class for pool object.
++ /// Base class for pool object.
+ struct __pool_base
+ {
+ // Using short int as type for the binmap implies we are never
+@@ -455,7 +455,7 @@
+ };
+ #endif
+
+- /// @brief Policy for shared __pool objects.
++ /// Policy for shared __pool objects.
+ template<template <bool> class _PoolTp, bool _Thread>
+ struct __common_pool_policy : public __common_pool_base<_PoolTp, _Thread>
+ {
+@@ -550,7 +550,7 @@
+ };
+ #endif
+
+- /// @brief Policy for individual __pool objects.
++ /// Policy for individual __pool objects.
+ template<typename _Tp, template <bool> class _PoolTp, bool _Thread>
+ struct __per_type_pool_policy
+ : public __per_type_pool_base<_Tp, _PoolTp, _Thread>
+@@ -565,7 +565,7 @@
+ };
+
+
+- /// @brief Base class for _Tp dependent member functions.
++ /// Base class for _Tp dependent member functions.
+ template<typename _Tp>
+ class __mt_alloc_base
+ {
+@@ -621,7 +621,7 @@
+ * the "global" list).
+ *
+ * Further details:
+- * http://gcc.gnu.org/onlinedocs/libstdc++/ext/mt_allocator.html
++ * http://gcc.gnu.org/onlinedocs/libstdc++/manual/bk01pt12ch32.html
+ */
+ template<typename _Tp,
+ typename _Poolp = __common_pool_policy<__pool, __thread_default> >
+Index: libstdc++-v3/include/bits/stl_algobase.h
+===================================================================
+--- libstdc++-v3/include/bits/stl_algobase.h (.../tags/gcc_4_3_0_release) (revision 133808)
++++ libstdc++-v3/include/bits/stl_algobase.h (.../branches/gcc-4_3-branch) (revision 133808)
+@@ -1,6 +1,6 @@
+ // Core algorithmic facilities -*- C++ -*-
+
+-// Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007
++// Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008
+ // Free Software Foundation, Inc.
+ //
+ // This file is part of the GNU ISO C++ Library. This library is free
+@@ -689,19 +689,24 @@
+ template<typename _ForwardIterator, typename _Tp>
+ inline typename
+ __gnu_cxx::__enable_if<__is_scalar<_Tp>::__value, void>::__type
+- __fill_a(_ForwardIterator __first, _ForwardIterator __last, _Tp __value)
++ __fill_a(_ForwardIterator __first, _ForwardIterator __last,
++ const _Tp& __value)
+ {
++ const _Tp __tmp = __value;
+ for (; __first != __last; ++__first)
+- *__first = __value;
++ *__first = __tmp;
+ }
+
+ // Specialization: for char types we can use memset.
+ template<typename _Tp>
+ inline typename
+ __gnu_cxx::__enable_if<__is_byte<_Tp>::__value, void>::__type
+- __fill_a(_Tp* __first, _Tp* __last, _Tp __c)
+- { __builtin_memset(__first, static_cast<unsigned char>(__c),
+- __last - __first); }
++ __fill_a(_Tp* __first, _Tp* __last, const _Tp& __c)
++ {
++ const _Tp __tmp = __c;
++ __builtin_memset(__first, static_cast<unsigned char>(__tmp),
++ __last - __first);
++ }
+
+ /**
+ * @brief Fills the range [first,last) with copies of value.
+@@ -740,17 +745,18 @@
+ template<typename _OutputIterator, typename _Size, typename _Tp>
+ inline typename
+ __gnu_cxx::__enable_if<__is_scalar<_Tp>::__value, _OutputIterator>::__type
+- __fill_n_a(_OutputIterator __first, _Size __n, _Tp __value)
++ __fill_n_a(_OutputIterator __first, _Size __n, const _Tp& __value)
+ {
++ const _Tp __tmp = __value;
+ for (; __n > 0; --__n, ++__first)
+- *__first = __value;
++ *__first = __tmp;
+ return __first;
+ }
+
+ template<typename _Size, typename _Tp>
+ inline typename
+ __gnu_cxx::__enable_if<__is_byte<_Tp>::__value, _Tp*>::__type
+- __fill_n_a(_Tp* __first, _Size __n, _Tp __c)
++ __fill_n_a(_Tp* __first, _Size __n, const _Tp& __c)
+ {
+ std::__fill_a(__first, __first + __n, __c);
+ return __first + __n;
+Index: libstdc++-v3/include/bits/locale_classes.h
+===================================================================
+--- libstdc++-v3/include/bits/locale_classes.h (.../tags/gcc_4_3_0_release) (revision 133808)
++++ libstdc++-v3/include/bits/locale_classes.h (.../branches/gcc-4_3-branch) (revision 133808)
+@@ -780,7 +780,7 @@
+ collate<wchar_t>::_M_transform(wchar_t*, const wchar_t*, size_t) const;
+ #endif
+
+- /// @brief class collate_byname [22.2.4.2].
++ /// class collate_byname [22.2.4.2].
+ template<typename _CharT>
+ class collate_byname : public collate<_CharT>
+ {
+Index: libstdc++-v3/include/bits/locale_facets.h
+===================================================================
+--- libstdc++-v3/include/bits/locale_facets.h (.../tags/gcc_4_3_0_release) (revision 133808)
++++ libstdc++-v3/include/bits/locale_facets.h (.../branches/gcc-4_3-branch) (revision 133808)
+@@ -1511,7 +1511,7 @@
+ use_facet<ctype<wchar_t> >(const locale& __loc);
+ #endif //_GLIBCXX_USE_WCHAR_T
+
+- /// @brief class ctype_byname [22.2.1.2].
++ /// class ctype_byname [22.2.1.2].
+ template<typename _CharT>
+ class ctype_byname : public ctype<_CharT>
+ {
+@@ -1912,7 +1912,7 @@
+ numpunct<wchar_t>::_M_initialize_numpunct(__c_locale __cloc);
+ #endif
+
+- /// @brief class numpunct_byname [22.2.3.2].
++ /// class numpunct_byname [22.2.3.2].
+ template<typename _CharT>
+ class numpunct_byname : public numpunct<_CharT>
+ {
+Index: libstdc++-v3/include/bits/stl_multimap.h
+===================================================================
+--- libstdc++-v3/include/bits/stl_multimap.h (.../tags/gcc_4_3_0_release) (revision 133808)
++++ libstdc++-v3/include/bits/stl_multimap.h (.../branches/gcc-4_3-branch) (revision 133808)
+@@ -197,7 +197,7 @@
+ template<typename _InputIterator>
+ multimap(_InputIterator __first, _InputIterator __last)
+ : _M_t()
+- { _M_t._M_insert_unique(__first, __last); }
++ { _M_t._M_insert_equal(__first, __last); }
+
+ /**
+ * @brief Builds a %multimap from a range.
+Index: libstdc++-v3/include/bits/codecvt.h
+===================================================================
+--- libstdc++-v3/include/bits/codecvt.h (.../tags/gcc_4_3_0_release) (revision 133808)
++++ libstdc++-v3/include/bits/codecvt.h (.../branches/gcc-4_3-branch) (revision 133808)
+@@ -1,6 +1,6 @@
+ // Locale support (codecvt) -*- C++ -*-
+
+-// Copyright (C) 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007
++// Copyright (C) 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008
+ // Free Software Foundation, Inc.
+ //
+ // This file is part of the GNU ISO C++ Library. This library is free
+@@ -46,7 +46,7 @@
+
+ _GLIBCXX_BEGIN_NAMESPACE(std)
+
+- /// @brief Empty base class for codecvt facet [22.2.1.5].
++ /// Empty base class for codecvt facet [22.2.1.5].
+ class codecvt_base
+ {
+ public:
+@@ -330,7 +330,7 @@
+ template<typename _InternT, typename _ExternT, typename _StateT>
+ locale::id codecvt<_InternT, _ExternT, _StateT>::id;
+
+- /// @brief class codecvt<char, char, mbstate_t> specialization.
++ /// class codecvt<char, char, mbstate_t> specialization.
+ template<>
+ class codecvt<char, char, mbstate_t>
+ : public __codecvt_abstract_base<char, char, mbstate_t>
+@@ -388,7 +388,7 @@
+ };
+
+ #ifdef _GLIBCXX_USE_WCHAR_T
+- /// @brief class codecvt<wchar_t, char, mbstate_t> specialization.
++ /// class codecvt<wchar_t, char, mbstate_t> specialization.
+ template<>
+ class codecvt<wchar_t, char, mbstate_t>
+ : public __codecvt_abstract_base<wchar_t, char, mbstate_t>
+@@ -448,7 +448,7 @@
+ };
+ #endif //_GLIBCXX_USE_WCHAR_T
+
+- /// @brief class codecvt_byname [22.2.1.6].
++ /// class codecvt_byname [22.2.1.6].
+ template<typename _InternT, typename _ExternT, typename _StateT>
+ class codecvt_byname : public codecvt<_InternT, _ExternT, _StateT>
+ {
+Index: libstdc++-v3/include/bits/char_traits.h
+===================================================================
+--- libstdc++-v3/include/bits/char_traits.h (.../tags/gcc_4_3_0_release) (revision 133808)
++++ libstdc++-v3/include/bits/char_traits.h (.../branches/gcc-4_3-branch) (revision 133808)
+@@ -231,7 +231,7 @@
+ { };
+
+
+- /// @brief 21.1.3.1 char_traits specializations
++ /// 21.1.3.1 char_traits specializations
+ template<>
+ struct char_traits<char>
+ {
+@@ -301,7 +301,7 @@
+
+
+ #ifdef _GLIBCXX_USE_WCHAR_T
+- /// @brief 21.1.3.2 char_traits specializations
++ /// 21.1.3.2 char_traits specializations
+ template<>
+ struct char_traits<wchar_t>
+ {
+Index: libstdc++-v3/include/bits/allocator.h
+===================================================================
+--- libstdc++-v3/include/bits/allocator.h (.../tags/gcc_4_3_0_release) (revision 133808)
++++ libstdc++-v3/include/bits/allocator.h (.../branches/gcc-4_3-branch) (revision 133808)
+@@ -1,6 +1,6 @@
+ // Allocators -*- C++ -*-
+
+-// Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007
++// Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008
+ // Free Software Foundation, Inc.
+ //
+ // This file is part of the GNU ISO C++ Library. This library is free
+@@ -77,7 +77,7 @@
+ * @brief The "standard" allocator, as per [20.4].
+ *
+ * Further details:
+- * http://gcc.gnu.org/onlinedocs/libstdc++/20_util/allocator.html
++ * http://gcc.gnu.org/onlinedocs/libstdc++/manual/bk01pt04ch11.html
+ */
+ template<typename _Tp>
+ class allocator: public __glibcxx_base_allocator<_Tp>
+Index: libstdc++-v3/include/bits/locale_facets_nonio.h
+===================================================================
+--- libstdc++-v3/include/bits/locale_facets_nonio.h (.../tags/gcc_4_3_0_release) (revision 133808)
++++ libstdc++-v3/include/bits/locale_facets_nonio.h (.../branches/gcc-4_3-branch) (revision 133808)
+@@ -674,7 +674,7 @@
+ template<typename _CharT, typename _InIter>
+ locale::id time_get<_CharT, _InIter>::id;
+
+- /// @brief class time_get_byname [22.2.5.2].
++ /// class time_get_byname [22.2.5.2].
+ template<typename _CharT, typename _InIter>
+ class time_get_byname : public time_get<_CharT, _InIter>
+ {
+@@ -798,7 +798,7 @@
+ template<typename _CharT, typename _OutIter>
+ locale::id time_put<_CharT, _OutIter>::id;
+
+- /// @brief class time_put_byname [22.2.5.4].
++ /// class time_put_byname [22.2.5.4].
+ template<typename _CharT, typename _OutIter>
+ class time_put_byname : public time_put<_CharT, _OutIter>
+ {
+@@ -1306,7 +1306,7 @@
+ const char*);
+ #endif
+
+- /// @brief class moneypunct_byname [22.2.6.4].
++ /// class moneypunct_byname [22.2.6.4].
+ template<typename _CharT, bool _Intl>
+ class moneypunct_byname : public moneypunct<_CharT, _Intl>
+ {
+@@ -1887,7 +1887,7 @@
+ messages<wchar_t>::do_get(catalog, int, int, const wstring&) const;
+ #endif
+
+- /// @brief class messages_byname [22.2.7.2].
++ /// class messages_byname [22.2.7.2].
+ template<typename _CharT>
+ class messages_byname : public messages<_CharT>
+ {
+Index: libstdc++-v3/include/debug/functions.h
+===================================================================
+--- libstdc++-v3/include/debug/functions.h (.../tags/gcc_4_3_0_release) (revision 133808)
++++ libstdc++-v3/include/debug/functions.h (.../branches/gcc-4_3-branch) (revision 133808)
+@@ -268,35 +268,31 @@
+ return __check_sorted_aux(__first, __last, __pred, _Category());
+ }
+
+- template<typename _InputIterator1, typename _InputIterator2>
++ template<typename _InputIterator>
+ inline bool
+- __check_sorted_set_aux(const _InputIterator1& __first,
+- const _InputIterator1& __last,
+- const _InputIterator2&, std::__true_type)
++ __check_sorted_set_aux(const _InputIterator& __first,
++ const _InputIterator& __last,
++ std::__true_type)
+ { return __check_sorted(__first, __last); }
+
+- template<typename _InputIterator1, typename _InputIterator2>
++ template<typename _InputIterator>
+ inline bool
+- __check_sorted_set_aux(const _InputIterator1&,
+- const _InputIterator1&,
+- const _InputIterator2&, std::__false_type)
++ __check_sorted_set_aux(const _InputIterator&,
++ const _InputIterator&,
++ std::__false_type)
+ { return true; }
+
+- template<typename _InputIterator1, typename _InputIterator2,
+- typename _Predicate>
++ template<typename _InputIterator, typename _Predicate>
+ inline bool
+- __check_sorted_set_aux(const _InputIterator1& __first,
+- const _InputIterator1& __last,
+- const _InputIterator2&, _Predicate __pred,
+- std::__true_type)
++ __check_sorted_set_aux(const _InputIterator& __first,
++ const _InputIterator& __last,
++ _Predicate __pred, std::__true_type)
+ { return __check_sorted(__first, __last, __pred); }
+
+- template<typename _InputIterator1, typename _InputIterator2,
+- typename _Predicate>
++ template<typename _InputIterator, typename _Predicate>
+ inline bool
+- __check_sorted_set_aux(const _InputIterator1&,
+- const _InputIterator1&,
+- const _InputIterator2&, _Predicate,
++ __check_sorted_set_aux(const _InputIterator&,
++ const _InputIterator&, _Predicate,
+ std::__false_type)
+ { return true; }
+
+Index: libstdc++-v3/include/debug/debug.h
+===================================================================
+--- libstdc++-v3/include/debug/debug.h (.../tags/gcc_4_3_0_release) (revision 133808)
++++ libstdc++-v3/include/debug/debug.h (.../branches/gcc-4_3-branch) (revision 133808)
+@@ -44,11 +44,19 @@
+ */
+
+ // Debug mode namespaces.
++
++/**
++ * @namespace std::__debug
++ * @brief GNU debug code, replaces standard behavior with debug behavior.
++ */
+ namespace std
+ {
+ namespace __debug { }
+ }
+
++/** @namespace __gnu_debug
++ * @brief GNU debug classes for public use.
++*/
+ namespace __gnu_debug
+ {
+ using namespace std::__debug;
+Index: libstdc++-v3/include/tr1/poly_laguerre.tcc
+===================================================================
+--- libstdc++-v3/include/tr1/poly_laguerre.tcc (.../tags/gcc_4_3_0_release) (revision 133808)
++++ libstdc++-v3/include/tr1/poly_laguerre.tcc (.../branches/gcc-4_3-branch) (revision 133808)
+@@ -1,6 +1,6 @@
+ // Special functions -*- C++ -*-
+
+-// Copyright (C) 2006-2007
++// Copyright (C) 2006, 2007, 2008
+ // Free Software Foundation, Inc.
+ //
+ // This file is part of the GNU ISO C++ Library. This library is free
+@@ -54,14 +54,7 @@
+
+ // [5.2] Special functions
+
+- /**
+- * @ingroup tr1_math_spec_func
+- * @{
+- */
+-
+- //
+ // Implementation-space details.
+- //
+ namespace __detail
+ {
+
+@@ -335,9 +328,6 @@
+ }
+
+ } // namespace std::tr1::__detail
+-
+- /* @} */ // group tr1_math_spec_func
+-
+ }
+ }
+
+Index: libstdc++-v3/include/tr1/riemann_zeta.tcc
+===================================================================
+--- libstdc++-v3/include/tr1/riemann_zeta.tcc (.../tags/gcc_4_3_0_release) (revision 133808)
++++ libstdc++-v3/include/tr1/riemann_zeta.tcc (.../branches/gcc-4_3-branch) (revision 133808)
+@@ -1,6 +1,6 @@
+ // Special functions -*- C++ -*-
+
+-// Copyright (C) 2006-2007
++// Copyright (C) 2006, 2007, 2008
+ // Free Software Foundation, Inc.
+ //
+ // This file is part of the GNU ISO C++ Library. This library is free
+@@ -57,14 +57,7 @@
+
+ // [5.2] Special functions
+
+- /**
+- * @ingroup tr1_math_spec_func
+- * @{
+- */
+-
+- //
+ // Implementation-space details.
+- //
+ namespace __detail
+ {
+
+@@ -441,9 +434,6 @@
+ }
+
+ } // namespace std::tr1::__detail
+-
+- /* @} */ // group tr1_math_spec_func
+-
+ }
+ }
+
+Index: libstdc++-v3/include/tr1/beta_function.tcc
+===================================================================
+--- libstdc++-v3/include/tr1/beta_function.tcc (.../tags/gcc_4_3_0_release) (revision 133808)
++++ libstdc++-v3/include/tr1/beta_function.tcc (.../branches/gcc-4_3-branch) (revision 133808)
+@@ -1,6 +1,6 @@
+ // Special functions -*- C++ -*-
+
+-// Copyright (C) 2006-2007
++// Copyright (C) 2006, 2007, 2008
+ // Free Software Foundation, Inc.
+ //
+ // This file is part of the GNU ISO C++ Library. This library is free
+@@ -59,14 +59,7 @@
+
+ // [5.2] Special functions
+
+- /**
+- * @ingroup tr1_math_spec_func
+- * @{
+- */
+-
+- //
+ // Implementation-space details.
+- //
+ namespace __detail
+ {
+
+@@ -203,9 +196,6 @@
+ }
+
+ } // namespace std::tr1::__detail
+-
+- /* @} */ // group tr1_math_spec_func
+-
+ }
+ }
+
+Index: libstdc++-v3/include/tr1/exp_integral.tcc
+===================================================================
+--- libstdc++-v3/include/tr1/exp_integral.tcc (.../tags/gcc_4_3_0_release) (revision 133808)
++++ libstdc++-v3/include/tr1/exp_integral.tcc (.../branches/gcc-4_3-branch) (revision 133808)
+@@ -1,6 +1,6 @@
+ // Special functions -*- C++ -*-
+
+-// Copyright (C) 2006-2007
++// Copyright (C) 2006, 2007, 2008
+ // Free Software Foundation, Inc.
+ //
+ // This file is part of the GNU ISO C++ Library. This library is free
+@@ -60,14 +60,7 @@
+
+ // [5.2] Special functions
+
+- /**
+- * @ingroup tr1_math_spec_func
+- * @{
+- */
+-
+- //
+ // Implementation-space details.
+- //
+ namespace __detail
+ {
+
+@@ -530,9 +523,6 @@
+ }
+
+ } // namespace std::tr1::__detail
+-
+- /* @} */ // group tr1_math_spec_func
+-
+ }
+ }
+
+Index: libstdc++-v3/include/tr1/tuple
+===================================================================
+--- libstdc++-v3/include/tr1/tuple (.../tags/gcc_4_3_0_release) (revision 133808)
++++ libstdc++-v3/include/tr1/tuple (.../branches/gcc-4_3-branch) (revision 133808)
+@@ -246,7 +246,7 @@
+ template<typename _Tp>
+ struct tuple_size;
+
+- /// @brief class tuple_size
++ /// class tuple_size
+ template<typename... _Elements>
+ struct tuple_size<tuple<_Elements...> >
+ {
+@@ -329,7 +329,7 @@
+ {
+ typedef tuple<_TElements...> _Tp;
+ typedef tuple<_UElements...> _Up;
+- return (__tuple_compare<tuple_size<_Tp>::value - tuple_size<_Tp>::value,
++ return (__tuple_compare<tuple_size<_Tp>::value - tuple_size<_Up>::value,
+ 0, tuple_size<_Tp>::value, _Tp, _Up>::__eq(__t, __u));
+ }
+
+@@ -340,7 +340,7 @@
+ {
+ typedef tuple<_TElements...> _Tp;
+ typedef tuple<_UElements...> _Up;
+- return (__tuple_compare<tuple_size<_Tp>::value - tuple_size<_Tp>::value,
++ return (__tuple_compare<tuple_size<_Tp>::value - tuple_size<_Up>::value,
+ 0, tuple_size<_Tp>::value, _Tp, _Up>::__less(__t, __u));
+ }
+
+Index: libstdc++-v3/include/tr1/gamma.tcc
+===================================================================
+--- libstdc++-v3/include/tr1/gamma.tcc (.../tags/gcc_4_3_0_release) (revision 133808)
++++ libstdc++-v3/include/tr1/gamma.tcc (.../branches/gcc-4_3-branch) (revision 133808)
+@@ -1,6 +1,6 @@
+ // Special functions -*- C++ -*-
+
+-// Copyright (C) 2006-2007
++// Copyright (C) 2006, 2007, 2008
+ // Free Software Foundation, Inc.
+ //
+ // This file is part of the GNU ISO C++ Library. This library is free
+@@ -58,15 +58,7 @@
+ {
+ namespace tr1
+ {
+-
+- /**
+- * @ingroup tr1_math_spec_func
+- * @{
+- */
+-
+- //
+ // Implementation-space details.
+- //
+ namespace __detail
+ {
+
+@@ -477,9 +469,6 @@
+ }
+
+ } // namespace std::tr1::__detail
+-
+- /* @} */ // group tr1_math_spec_func
+-
+ }
+ }
+
+Index: libstdc++-v3/include/tr1/hypergeometric.tcc
+===================================================================
+--- libstdc++-v3/include/tr1/hypergeometric.tcc (.../tags/gcc_4_3_0_release) (revision 133808)
++++ libstdc++-v3/include/tr1/hypergeometric.tcc (.../branches/gcc-4_3-branch) (revision 133808)
+@@ -1,6 +1,6 @@
+ // Special functions -*- C++ -*-
+
+-// Copyright (C) 2006-2007
++// Copyright (C) 2006, 2007, 2008
+ // Free Software Foundation, Inc.
+ //
+ // This file is part of the GNU ISO C++ Library. This library is free
+@@ -54,14 +54,7 @@
+
+ // [5.2] Special functions
+
+- /**
+- * @ingroup tr1_math_spec_func
+- * @{
+- */
+-
+- //
+ // Implementation-space details.
+- //
+ namespace __detail
+ {
+
+@@ -780,9 +773,6 @@
+ }
+
+ } // namespace std::tr1::__detail
+-
+- /* @} */ // group tr1_math_spec_func
+-
+ }
+ }
+
+Index: libstdc++-v3/include/tr1/modified_bessel_func.tcc
+===================================================================
+--- libstdc++-v3/include/tr1/modified_bessel_func.tcc (.../tags/gcc_4_3_0_release) (revision 133808)
++++ libstdc++-v3/include/tr1/modified_bessel_func.tcc (.../branches/gcc-4_3-branch) (revision 133808)
+@@ -1,6 +1,6 @@
+ // Special functions -*- C++ -*-
+
+-// Copyright (C) 2006-2007
++// Copyright (C) 2006, 2007, 2008
+ // Free Software Foundation, Inc.
+ //
+ // This file is part of the GNU ISO C++ Library. This library is free
+@@ -61,14 +61,7 @@
+
+ // [5.2] Special functions
+
+- /**
+- * @ingroup tr1_math_spec_func
+- * @{
+- */
+-
+- //
+ // Implementation-space details.
+- //
+ namespace __detail
+ {
+
+@@ -442,9 +435,6 @@
+ }
+
+ } // namespace std::tr1::__detail
+-
+- /* @} */ // group tr1_math_spec_func
+-
+ }
+ }
+
+Index: libstdc++-v3/include/tr1/legendre_function.tcc
+===================================================================
+--- libstdc++-v3/include/tr1/legendre_function.tcc (.../tags/gcc_4_3_0_release) (revision 133808)
++++ libstdc++-v3/include/tr1/legendre_function.tcc (.../branches/gcc-4_3-branch) (revision 133808)
+@@ -1,6 +1,6 @@
+ // Special functions -*- C++ -*-
+
+-// Copyright (C) 2006-2007
++// Copyright (C) 2006, 2007, 2008
+ // Free Software Foundation, Inc.
+ //
+ // This file is part of the GNU ISO C++ Library. This library is free
+@@ -59,14 +59,7 @@
+
+ // [5.2] Special functions
+
+- /**
+- * @ingroup tr1_math_spec_func
+- * @{
+- */
+-
+- //
+ // Implementation-space details.
+- //
+ namespace __detail
+ {
+
+@@ -161,7 +154,8 @@
+ _Tp __p_mm = _Tp(1);
+ if (__m > 0)
+ {
+- // Two square roots seem more accurate more of the time than just one.
++ // Two square roots seem more accurate more of the time
++ // than just one.
+ _Tp __root = std::sqrt(_Tp(1) - __x) * std::sqrt(_Tp(1) + __x);
+ _Tp __fact = _Tp(1);
+ for (unsigned int __i = 1; __i <= __m; ++__i)
+@@ -310,9 +304,6 @@
+ }
+
+ } // namespace std::tr1::__detail
+-
+- /* @} */ // group tr1_math_spec_func
+-
+ }
+ }
+
+Index: libstdc++-v3/include/tr1/type_traits
+===================================================================
+--- libstdc++-v3/include/tr1/type_traits (.../tags/gcc_4_3_0_release) (revision 133808)
++++ libstdc++-v3/include/tr1/type_traits (.../branches/gcc-4_3-branch) (revision 133808)
+@@ -183,7 +183,7 @@
+ template<typename _From, typename _To,
+ bool = (is_void<_From>::value || is_void<_To>::value
+ || is_function<_To>::value || is_array<_To>::value
+- // This special case is here only to avoid warnings.
++ // This special case is here only to avoid warnings.
+ || (is_floating_point<typename
+ remove_reference<_From>::type>::value
+ && __is_int_or_cref<_To>::__value))>
+@@ -206,7 +206,7 @@
+ __is_convertible_helper<_From, _To>::__value>
+ { };
+
+- /// @brief reference modifications [4.7.2].
++ // reference modifications [4.7.2].
+ template<typename _Tp>
+ struct remove_reference
+ { typedef _Tp type; };
+@@ -230,7 +230,7 @@
+ : public __add_reference_helper<_Tp>
+ { };
+
+- /// @brief other transformations [4.8].
++ // other transformations [4.8].
+ template<std::size_t _Len, std::size_t _Align>
+ struct aligned_storage
+ {
+Index: libstdc++-v3/include/tr1/special_function_util.h
+===================================================================
+--- libstdc++-v3/include/tr1/special_function_util.h (.../tags/gcc_4_3_0_release) (revision 133808)
++++ libstdc++-v3/include/tr1/special_function_util.h (.../branches/gcc-4_3-branch) (revision 133808)
+@@ -42,7 +42,6 @@
+ #ifndef _GLIBCXX_TR1_SPECIAL_FUNCTION_UTIL_H
+ #define _GLIBCXX_TR1_SPECIAL_FUNCTION_UTIL_H 1
+
+-// namespace std::tr1
+ namespace std
+ {
+ namespace tr1
+@@ -51,21 +50,17 @@
+ namespace __detail
+ {
+
+- ///
+- /// @brief A class to encapsulate type dependent floating point
+- /// constants. Not everything will be able to be expressed
+- /// as type logic.
+- ///
+- template <typename _Tp>
++ /// A class to encapsulate type dependent floating point
++ /// constants. Not everything will be able to be expressed as
++ /// type logic.
++ template<typename _Tp>
+ struct __floating_point_constant
+ {
+ static const _Tp __value;
+ };
+
+
+- ///
+- /// @brief A structure for numeric constants.
+- ///
++ /// A structure for numeric constants.
+ template<typename _Tp>
+ struct __numeric_constants
+ {
+@@ -111,15 +106,13 @@
+ };
+
+
+- ///
+- /// @brief This is a wrapper for the isnan function.
+- /// Otherwise, for NaN, all comparisons result in false.
+- /// If/when we build a std::isnan out of intrinsics, this
+- /// will disappear completely in favor of std::isnan.
+- ///
+ #if _GLIBCXX_USE_C99_MATH && !_GLIBCXX_USE_C99_FP_MACROS_DYNAMIC
+
+- template <typename _Tp>
++ /// This is a wrapper for the isnan function. Otherwise, for NaN,
++ /// all comparisons result in false. If/when we build a std::isnan
++ /// out of intrinsics, this will disappear completely in favor of
++ /// std::isnan.
++ template<typename _Tp>
+ inline bool __isnan(const _Tp __x)
+ {
+ return std::isnan(__x);
+@@ -127,19 +120,19 @@
+
+ #else
+
+- template <typename _Tp>
++ template<typename _Tp>
+ inline bool __isnan(const _Tp __x)
+ {
+ return __builtin_isnan(__x);
+ }
+
+- template <>
++ template<>
+ inline bool __isnan<float>(const float __x)
+ {
+ return __builtin_isnanf(__x);
+ }
+
+- template <>
++ template<>
+ inline bool __isnan<long double>(const long double __x)
+ {
+ return __builtin_isnanl(__x);
+Index: libstdc++-v3/include/tr1/bessel_function.tcc
+===================================================================
+--- libstdc++-v3/include/tr1/bessel_function.tcc (.../tags/gcc_4_3_0_release) (revision 133808)
++++ libstdc++-v3/include/tr1/bessel_function.tcc (.../branches/gcc-4_3-branch) (revision 133808)
+@@ -1,6 +1,6 @@
+ // Special functions -*- C++ -*-
+
+-// Copyright (C) 2006-2007
++// Copyright (C) 2006, 2007, 2008
+ // Free Software Foundation, Inc.
+ //
+ // This file is part of the GNU ISO C++ Library. This library is free
+@@ -61,14 +61,7 @@
+
+ // [5.2] Special functions
+
+- /**
+- * @ingroup tr1_math_spec_func
+- * @{
+- */
+-
+- //
+ // Implementation-space details.
+- //
+ namespace __detail
+ {
+
+@@ -633,9 +626,6 @@
+ }
+
+ } // namespace std::tr1::__detail
+-
+- /* @} */ // group tr1_math_spec_func
+-
+ }
+ }
+
+Index: libstdc++-v3/include/tr1/cmath
+===================================================================
+--- libstdc++-v3/include/tr1/cmath (.../tags/gcc_4_3_0_release) (revision 133808)
++++ libstdc++-v3/include/tr1/cmath (.../branches/gcc-4_3-branch) (revision 133808)
+@@ -1,6 +1,6 @@
+ // TR1 cmath -*- C++ -*-
+
+-// Copyright (C) 2006, 2007 Free Software Foundation, Inc.
++// Copyright (C) 2006, 2007, 2008 Free Software Foundation, Inc.
+ //
+ // This file is part of the GNU ISO C++ Library. This library is free
+ // software; you can redistribute it and/or modify it under the
+@@ -56,15 +56,10 @@
+ # undef _GLIBCXX_INCLUDE_AS_TR1
+ #endif
+
+-/**
+- * @defgroup tr1_math_spec_func Mathematical Special Functions
+- * A collection of advanced mathematical special functions.
+- * @{
+- */
+ #include <bits/stl_algobase.h>
+ #include <limits>
++#include <tr1/type_traits>
+
+-#include <tr1/type_traits>
+ #include <tr1/gamma.tcc>
+ #include <tr1/bessel_function.tcc>
+ #include <tr1/beta_function.tcc>
+@@ -77,12 +72,16 @@
+ #include <tr1/poly_laguerre.tcc>
+ #include <tr1/riemann_zeta.tcc>
+
+-// namespace std::tr1
+ namespace std
+ {
+ namespace tr1
+ {
+- // 5.2.1.1 Associated Laguerre polynomials.
++ /**
++ * @addtogroup tr1_math_spec_func Mathematical Special Functions
++ * A collection of advanced mathematical special functions.
++ * @{
++ */
++
+ inline float
+ assoc_laguerref(unsigned int __n, unsigned int __m, float __x)
+ { return __detail::__assoc_laguerre<float>(__n, __m, __x); }
+@@ -93,6 +92,7 @@
+ return __detail::__assoc_laguerre<long double>(__n, __m, __x);
+ }
+
++ /// 5.2.1.1 Associated Laguerre polynomials.
+ template<typename _Tp>
+ inline typename __gnu_cxx::__promote<_Tp>::__type
+ assoc_laguerre(unsigned int __n, unsigned int __m, _Tp __x)
+@@ -101,7 +101,6 @@
+ return __detail::__assoc_laguerre<__type>(__n, __m, __x);
+ }
+
+- // 5.2.1.2 Associated Legendre functions.
+ inline float
+ assoc_legendref(unsigned int __l, unsigned int __m, float __x)
+ { return __detail::__assoc_legendre_p<float>(__l, __m, __x); }
+@@ -110,6 +109,7 @@
+ assoc_legendrel(unsigned int __l, unsigned int __m, long double __x)
+ { return __detail::__assoc_legendre_p<long double>(__l, __m, __x); }
+
++ /// 5.2.1.2 Associated Legendre functions.
+ template<typename _Tp>
+ inline typename __gnu_cxx::__promote<_Tp>::__type
+ assoc_legendre(unsigned int __l, unsigned int __m, _Tp __x)
+@@ -118,7 +118,6 @@
+ return __detail::__assoc_legendre_p<__type>(__l, __m, __x);
+ }
+
+- // 5.2.1.3 Beta functions.
+ inline float
+ betaf(float __x, float __y)
+ { return __detail::__beta<float>(__x, __y); }
+@@ -127,6 +126,7 @@
+ betal(long double __x, long double __y)
+ { return __detail::__beta<long double>(__x, __y); }
+
++ /// 5.2.1.3 Beta functions.
+ template<typename _Tpx, typename _Tpy>
+ inline typename __gnu_cxx::__promote_2<_Tpx, _Tpy>::__type
+ beta(_Tpx __x, _Tpy __y)
+@@ -135,7 +135,6 @@
+ return __detail::__beta<__type>(__x, __y);
+ }
+
+- // 5.2.1.4 Complete elliptic integrals of the first kind.
+ inline float
+ comp_ellint_1f(float __k)
+ { return __detail::__comp_ellint_1<float>(__k); }
+@@ -144,6 +143,7 @@
+ comp_ellint_1l(long double __k)
+ { return __detail::__comp_ellint_1<long double>(__k); }
+
++ /// 5.2.1.4 Complete elliptic integrals of the first kind.
+ template<typename _Tp>
+ inline typename __gnu_cxx::__promote<_Tp>::__type
+ comp_ellint_1(_Tp __k)
+@@ -152,7 +152,6 @@
+ return __detail::__comp_ellint_1<__type>(__k);
+ }
+
+- // 5.2.1.5 Complete elliptic integrals of the second kind.
+ inline float
+ comp_ellint_2f(float __k)
+ { return __detail::__comp_ellint_2<float>(__k); }
+@@ -161,6 +160,7 @@
+ comp_ellint_2l(long double __k)
+ { return __detail::__comp_ellint_2<long double>(__k); }
+
++ /// 5.2.1.5 Complete elliptic integrals of the second kind.
+ template<typename _Tp>
+ inline typename __gnu_cxx::__promote<_Tp>::__type
+ comp_ellint_2(_Tp __k)
+@@ -169,7 +169,6 @@
+ return __detail::__comp_ellint_2<__type>(__k);
+ }
+
+- // 5.2.1.6 Complete elliptic integrals of the third kind.
+ inline float
+ comp_ellint_3f(float __k, float __nu)
+ { return __detail::__comp_ellint_3<float>(__k, __nu); }
+@@ -178,6 +177,7 @@
+ comp_ellint_3l(long double __k, long double __nu)
+ { return __detail::__comp_ellint_3<long double>(__k, __nu); }
+
++ /// 5.2.1.6 Complete elliptic integrals of the third kind.
+ template<typename _Tp, typename _Tpn>
+ inline typename __gnu_cxx::__promote_2<_Tp, _Tpn>::__type
+ comp_ellint_3(_Tp __k, _Tpn __nu)
+@@ -186,7 +186,6 @@
+ return __detail::__comp_ellint_3<__type>(__k, __nu);
+ }
+
+- // 5.2.1.7 Confluent hypergeometric functions.
+ inline float
+ conf_hypergf(float __a, float __c, float __x)
+ { return __detail::__conf_hyperg<float>(__a, __c, __x); }
+@@ -195,6 +194,7 @@
+ conf_hypergl(long double __a, long double __c, long double __x)
+ { return __detail::__conf_hyperg<long double>(__a, __c, __x); }
+
++ /// 5.2.1.7 Confluent hypergeometric functions.
+ template<typename _Tpa, typename _Tpc, typename _Tp>
+ inline typename __gnu_cxx::__promote_3<_Tpa, _Tpc, _Tp>::__type
+ conf_hyperg(_Tpa __a, _Tpc __c, _Tp __x)
+@@ -203,7 +203,6 @@
+ return __detail::__conf_hyperg<__type>(__a, __c, __x);
+ }
+
+- // 5.2.1.8 Regular modified cylindrical Bessel functions.
+ inline float
+ cyl_bessel_if(float __nu, float __x)
+ { return __detail::__cyl_bessel_i<float>(__nu, __x); }
+@@ -212,6 +211,7 @@
+ cyl_bessel_il(long double __nu, long double __x)
+ { return __detail::__cyl_bessel_i<long double>(__nu, __x); }
+
++ /// 5.2.1.8 Regular modified cylindrical Bessel functions.
+ template<typename _Tpnu, typename _Tp>
+ inline typename __gnu_cxx::__promote_2<_Tpnu, _Tp>::__type
+ cyl_bessel_i(_Tpnu __nu, _Tp __x)
+@@ -220,7 +220,6 @@
+ return __detail::__cyl_bessel_i<__type>(__nu, __x);
+ }
+
+- // 5.2.1.9 Cylindrical Bessel functions (of the first kind).
+ inline float
+ cyl_bessel_jf(float __nu, float __x)
+ { return __detail::__cyl_bessel_j<float>(__nu, __x); }
+@@ -229,6 +228,7 @@
+ cyl_bessel_jl(long double __nu, long double __x)
+ { return __detail::__cyl_bessel_j<long double>(__nu, __x); }
+
++ /// 5.2.1.9 Cylindrical Bessel functions (of the first kind).
+ template<typename _Tpnu, typename _Tp>
+ inline typename __gnu_cxx::__promote_2<_Tpnu, _Tp>::__type
+ cyl_bessel_j(_Tpnu __nu, _Tp __x)
+@@ -237,7 +237,6 @@
+ return __detail::__cyl_bessel_j<__type>(__nu, __x);
+ }
+
+- // 5.2.1.10 Irregular modified cylindrical Bessel functions.
+ inline float
+ cyl_bessel_kf(float __nu, float __x)
+ { return __detail::__cyl_bessel_k<float>(__nu, __x); }
+@@ -246,6 +245,7 @@
+ cyl_bessel_kl(long double __nu, long double __x)
+ { return __detail::__cyl_bessel_k<long double>(__nu, __x); }
+
++ /// 5.2.1.10 Irregular modified cylindrical Bessel functions.
+ template<typename _Tpnu, typename _Tp>
+ inline typename __gnu_cxx::__promote_2<_Tpnu, _Tp>::__type
+ cyl_bessel_k(_Tpnu __nu, _Tp __x)
+@@ -254,7 +254,6 @@
+ return __detail::__cyl_bessel_k<__type>(__nu, __x);
+ }
+
+- // 5.2.1.11 Cylindrical Neumann functions.
+ inline float
+ cyl_neumannf(float __nu, float __x)
+ { return __detail::__cyl_neumann_n<float>(__nu, __x); }
+@@ -263,6 +262,7 @@
+ cyl_neumannl(long double __nu, long double __x)
+ { return __detail::__cyl_neumann_n<long double>(__nu, __x); }
+
++ /// 5.2.1.11 Cylindrical Neumann functions.
+ template<typename _Tpnu, typename _Tp>
+ inline typename __gnu_cxx::__promote_2<_Tpnu, _Tp>::__type
+ cyl_neumann(_Tpnu __nu, _Tp __x)
+@@ -271,7 +271,6 @@
+ return __detail::__cyl_neumann_n<__type>(__nu, __x);
+ }
+
+- // 5.2.1.12 Incomplete elliptic integrals of the first kind.
+ inline float
+ ellint_1f(float __k, float __phi)
+ { return __detail::__ellint_1<float>(__k, __phi); }
+@@ -280,6 +279,7 @@
+ ellint_1l(long double __k, long double __phi)
+ { return __detail::__ellint_1<long double>(__k, __phi); }
+
++ /// 5.2.1.12 Incomplete elliptic integrals of the first kind.
+ template<typename _Tp, typename _Tpp>
+ inline typename __gnu_cxx::__promote_2<_Tp, _Tpp>::__type
+ ellint_1(_Tp __k, _Tpp __phi)
+@@ -288,7 +288,6 @@
+ return __detail::__ellint_1<__type>(__k, __phi);
+ }
+
+- // 5.2.1.13 Incomplete elliptic integrals of the second kind.
+ inline float
+ ellint_2f(float __k, float __phi)
+ { return __detail::__ellint_2<float>(__k, __phi); }
+@@ -297,6 +296,7 @@
+ ellint_2l(long double __k, long double __phi)
+ { return __detail::__ellint_2<long double>(__k, __phi); }
+
++ /// 5.2.1.13 Incomplete elliptic integrals of the second kind.
+ template<typename _Tp, typename _Tpp>
+ inline typename __gnu_cxx::__promote_2<_Tp, _Tpp>::__type
+ ellint_2(_Tp __k, _Tpp __phi)
+@@ -305,7 +305,6 @@
+ return __detail::__ellint_2<__type>(__k, __phi);
+ }
+
+- // 5.2.1.14 Incomplete elliptic integrals of the third kind.
+ inline float
+ ellint_3f(float __k, float __nu, float __phi)
+ { return __detail::__ellint_3<float>(__k, __nu, __phi); }
+@@ -314,6 +313,7 @@
+ ellint_3l(long double __k, long double __nu, long double __phi)
+ { return __detail::__ellint_3<long double>(__k, __nu, __phi); }
+
++ /// 5.2.1.14 Incomplete elliptic integrals of the third kind.
+ template<typename _Tp, typename _Tpn, typename _Tpp>
+ inline typename __gnu_cxx::__promote_3<_Tp, _Tpn, _Tpp>::__type
+ ellint_3(_Tp __k, _Tpn __nu, _Tpp __phi)
+@@ -322,7 +322,6 @@
+ return __detail::__ellint_3<__type>(__k, __nu, __phi);
+ }
+
+- // 5.2.1.15 Exponential integrals.
+ inline float
+ expintf(float __x)
+ { return __detail::__expint<float>(__x); }
+@@ -331,6 +330,7 @@
+ expintl(long double __x)
+ { return __detail::__expint<long double>(__x); }
+
++ /// 5.2.1.15 Exponential integrals.
+ template<typename _Tp>
+ inline typename __gnu_cxx::__promote<_Tp>::__type
+ expint(_Tp __x)
+@@ -339,7 +339,6 @@
+ return __detail::__expint<__type>(__x);
+ }
+
+- // 5.2.1.16 Hermite polynomials.
+ inline float
+ hermitef(unsigned int __n, float __x)
+ { return __detail::__poly_hermite<float>(__n, __x); }
+@@ -348,6 +347,7 @@
+ hermitel(unsigned int __n, long double __x)
+ { return __detail::__poly_hermite<long double>(__n, __x); }
+
++ /// 5.2.1.16 Hermite polynomials.
+ template<typename _Tp>
+ inline typename __gnu_cxx::__promote<_Tp>::__type
+ hermite(unsigned int __n, _Tp __x)
+@@ -356,7 +356,6 @@
+ return __detail::__poly_hermite<__type>(__n, __x);
+ }
+
+- // 5.2.1.17 Hypergeometric functions.
+ inline float
+ hypergf(float __a, float __b, float __c, float __x)
+ { return __detail::__hyperg<float>(__a, __b, __c, __x); }
+@@ -365,6 +364,7 @@
+ hypergl(long double __a, long double __b, long double __c, long double __x)
+ { return __detail::__hyperg<long double>(__a, __b, __c, __x); }
+
++ /// 5.2.1.17 Hypergeometric functions.
+ template<typename _Tpa, typename _Tpb, typename _Tpc, typename _Tp>
+ inline typename __gnu_cxx::__promote_4<_Tpa, _Tpb, _Tpc, _Tp>::__type
+ hyperg(_Tpa __a, _Tpb __b, _Tpc __c, _Tp __x)
+@@ -373,7 +373,6 @@
+ return __detail::__hyperg<__type>(__a, __b, __c, __x);
+ }
+
+- // 5.2.1.18 Laguerre polynomials.
+ inline float
+ laguerref(unsigned int __n, float __x)
+ { return __detail::__laguerre<float>(__n, __x); }
+@@ -382,6 +381,7 @@
+ laguerrel(unsigned int __n, long double __x)
+ { return __detail::__laguerre<long double>(__n, __x); }
+
++ /// 5.2.1.18 Laguerre polynomials.
+ template<typename _Tp>
+ inline typename __gnu_cxx::__promote<_Tp>::__type
+ laguerre(unsigned int __n, _Tp __x)
+@@ -390,7 +390,6 @@
+ return __detail::__laguerre<__type>(__n, __x);
+ }
+
+- // 5.2.1.19 Legendre polynomials.
+ inline float
+ legendref(unsigned int __n, float __x)
+ { return __detail::__poly_legendre_p<float>(__n, __x); }
+@@ -399,6 +398,7 @@
+ legendrel(unsigned int __n, long double __x)
+ { return __detail::__poly_legendre_p<long double>(__n, __x); }
+
++ /// 5.2.1.19 Legendre polynomials.
+ template<typename _Tp>
+ inline typename __gnu_cxx::__promote<_Tp>::__type
+ legendre(unsigned int __n, _Tp __x)
+@@ -407,7 +407,6 @@
+ return __detail::__poly_legendre_p<__type>(__n, __x);
+ }
+
+- // 5.2.1.20 Riemann zeta function.
+ inline float
+ riemann_zetaf(float __x)
+ { return __detail::__riemann_zeta<float>(__x); }
+@@ -416,6 +415,7 @@
+ riemann_zetal(long double __x)
+ { return __detail::__riemann_zeta<long double>(__x); }
+
++ /// 5.2.1.20 Riemann zeta function.
+ template<typename _Tp>
+ inline typename __gnu_cxx::__promote<_Tp>::__type
+ riemann_zeta(_Tp __x)
+@@ -424,7 +424,6 @@
+ return __detail::__riemann_zeta<__type>(__x);
+ }
+
+- // 5.2.1.21 Spherical Bessel functions.
+ inline float
+ sph_besself(unsigned int __n, float __x)
+ { return __detail::__sph_bessel<float>(__n, __x); }
+@@ -433,6 +432,7 @@
+ sph_bessell(unsigned int __n, long double __x)
+ { return __detail::__sph_bessel<long double>(__n, __x); }
+
++ /// 5.2.1.21 Spherical Bessel functions.
+ template<typename _Tp>
+ inline typename __gnu_cxx::__promote<_Tp>::__type
+ sph_bessel(unsigned int __n, _Tp __x)
+@@ -441,7 +441,6 @@
+ return __detail::__sph_bessel<__type>(__n, __x);
+ }
+
+- // 5.2.1.22 Spherical associated Legendre functions.
+ inline float
+ sph_legendref(unsigned int __l, unsigned int __m, float __theta)
+ { return __detail::__sph_legendre<float>(__l, __m, __theta); }
+@@ -450,6 +449,7 @@
+ sph_legendrel(unsigned int __l, unsigned int __m, long double __theta)
+ { return __detail::__sph_legendre<long double>(__l, __m, __theta); }
+
++ /// 5.2.1.22 Spherical associated Legendre functions.
+ template<typename _Tp>
+ inline typename __gnu_cxx::__promote<_Tp>::__type
+ sph_legendre(unsigned int __l, unsigned int __m, _Tp __theta)
+@@ -458,7 +458,6 @@
+ return __detail::__sph_legendre<__type>(__l, __m, __theta);
+ }
+
+- // 5.2.1.23 Spherical Neumann functions.
+ inline float
+ sph_neumannf(unsigned int __n, float __x)
+ { return __detail::__sph_neumann<float>(__n, __x); }
+@@ -467,6 +466,7 @@
+ sph_neumannl(unsigned int __n, long double __x)
+ { return __detail::__sph_neumann<long double>(__n, __x); }
+
++ /// 5.2.1.23 Spherical Neumann functions.
+ template<typename _Tp>
+ inline typename __gnu_cxx::__promote<_Tp>::__type
+ sph_neumann(unsigned int __n, _Tp __x)
+@@ -475,7 +475,7 @@
+ return __detail::__sph_neumann<__type>(__n, __x);
+ }
+
+- /* @} */ // group tr1_math_spec_func
++ /* @} */ // tr1_math_spec_func
+ }
+ }
+
+Index: libstdc++-v3/include/tr1/poly_hermite.tcc
+===================================================================
+--- libstdc++-v3/include/tr1/poly_hermite.tcc (.../tags/gcc_4_3_0_release) (revision 133808)
++++ libstdc++-v3/include/tr1/poly_hermite.tcc (.../branches/gcc-4_3-branch) (revision 133808)
+@@ -1,6 +1,6 @@
+ // Special functions -*- C++ -*-
+
+-// Copyright (C) 2006-2007
++// Copyright (C) 2006, 2007, 2008
+ // Free Software Foundation, Inc.
+ //
+ // This file is part of the GNU ISO C++ Library. This library is free
+@@ -52,14 +52,7 @@
+
+ // [5.2] Special functions
+
+- /**
+- * @ingroup tr1_math_spec_func
+- * @{
+- */
+-
+- //
+ // Implementation-space details.
+- //
+ namespace __detail
+ {
+
+@@ -130,9 +123,6 @@
+ }
+
+ } // namespace std::tr1::__detail
+-
+- /* @} */ // group tr1_math_spec_func
+-
+ }
+ }
+
+Index: libstdc++-v3/include/tr1/ell_integral.tcc
+===================================================================
+--- libstdc++-v3/include/tr1/ell_integral.tcc (.../tags/gcc_4_3_0_release) (revision 133808)
++++ libstdc++-v3/include/tr1/ell_integral.tcc (.../branches/gcc-4_3-branch) (revision 133808)
+@@ -1,6 +1,6 @@
+ // Special functions -*- C++ -*-
+
+-// Copyright (C) 2006-2007
++// Copyright (C) 2006, 2007, 2008
+ // Free Software Foundation, Inc.
+ //
+ // This file is part of the GNU ISO C++ Library. This library is free
+@@ -55,14 +55,7 @@
+
+ // [5.2] Special functions
+
+- /**
+- * @ingroup tr1_math_spec_func
+- * @{
+- */
+-
+- //
+ // Implementation-space details.
+- //
+ namespace __detail
+ {
+
+@@ -753,9 +746,6 @@
+ }
+
+ } // namespace std::tr1::__detail
+-
+- /* @} */ // group tr1_math_spec_func
+-
+ }
+ }
+
+Index: libstdc++-v3/include/tr1_impl/random
+===================================================================
+--- libstdc++-v3/include/tr1_impl/random (.../tags/gcc_4_3_0_release) (revision 133808)
++++ libstdc++-v3/include/tr1_impl/random (.../branches/gcc-4_3-branch) (revision 133808)
+@@ -149,8 +149,8 @@
+ } // namespace __detail
+
+ /**
+- * Produces random numbers on a given distribution function using a non-uniform
+- * random number generation engine.
++ * Produces random numbers on a given distribution function using a
++ * non-uniform random number generation engine.
+ *
+ * @todo the engine_value_type needs to be studied more carefully.
+ */
+Index: libstdc++-v3/include/tr1_impl/unordered_map
+===================================================================
+--- libstdc++-v3/include/tr1_impl/unordered_map (.../tags/gcc_4_3_0_release) (revision 133808)
++++ libstdc++-v3/include/tr1_impl/unordered_map (.../branches/gcc-4_3-branch) (revision 133808)
+@@ -168,6 +168,7 @@
+ { __x.swap(__y); }
+
+
++ /// class unordered_map
+ template<class _Key, class _Tp,
+ class _Hash = hash<_Key>,
+ class _Pred = std::equal_to<_Key>,
+@@ -215,6 +216,7 @@
+ #endif
+ };
+
++ /// class unordered_multimap
+ template<class _Key, class _Tp,
+ class _Hash = hash<_Key>,
+ class _Pred = std::equal_to<_Key>,
+Index: libstdc++-v3/include/tr1_impl/boost_shared_ptr.h
+===================================================================
+--- libstdc++-v3/include/tr1_impl/boost_shared_ptr.h (.../tags/gcc_4_3_0_release) (revision 133808)
++++ libstdc++-v3/include/tr1_impl/boost_shared_ptr.h (.../branches/gcc-4_3-branch) (revision 133808)
+@@ -195,7 +195,7 @@
+ #endif
+
+ /**
+- * @class shared_ptr <tr1/memory>
++ * @class __shared_ptr
+ *
+ * A smart pointer with reference-counted copy semantics.
+ * The object pointed to is deleted when the last shared_ptr pointing to
+@@ -230,7 +230,8 @@
+ }
+
+ //
+- // Requirements: _Deleter's copy constructor and destructor must not throw
++ // Requirements: _Deleter's copy constructor and destructor must
++ // not throw
+ //
+ // __shared_ptr will release __p by calling __d(__p)
+ //
+@@ -252,8 +253,9 @@
+
+ #ifdef _GLIBCXX_INCLUDE_AS_CXX0X
+ //
+- // Requirements: _Deleter's copy constructor and destructor must not throw
+- // _Alloc's copy constructor and destructor must not throw.
++ // Requirements: _Deleter's copy constructor and destructor must
++ // not throw _Alloc's copy constructor and destructor must not
++ // throw.
+ //
+ // __shared_ptr will release __p by calling __d(__p)
+ //
+@@ -811,7 +813,8 @@
+ };
+
+
+- // The actual TR1 shared_ptr, with forwarding constructors and
++ /// shared_ptr
++ // The actual shared_ptr, with forwarding constructors and
+ // assignment operators.
+ template<typename _Tp>
+ class shared_ptr
+@@ -965,7 +968,8 @@
+ }
+
+
+- // The actual TR1 weak_ptr, with forwarding constructors and
++ /// weak_ptr
++ // The actual weak_ptr, with forwarding constructors and
+ // assignment operators.
+ template<typename _Tp>
+ class weak_ptr
+@@ -1021,7 +1025,7 @@
+ }
+ };
+
+-
++ /// enable_shared_from_this
+ template<typename _Tp>
+ class enable_shared_from_this
+ {
+Index: libstdc++-v3/include/tr1_impl/functional_hash.h
+===================================================================
+--- libstdc++-v3/include/tr1_impl/functional_hash.h (.../tags/gcc_4_3_0_release) (revision 133808)
++++ libstdc++-v3/include/tr1_impl/functional_hash.h (.../branches/gcc-4_3-branch) (revision 133808)
+@@ -1,6 +1,6 @@
+ // TR1 functional -*- C++ -*-
+
+-// Copyright (C) 2007 Free Software Foundation, Inc.
++// Copyright (C) 2007, 2008 Free Software Foundation, Inc.
+ //
+ // This file is part of the GNU ISO C++ Library. This library is free
+ // software; you can redistribute it and/or modify it under the
+@@ -36,7 +36,7 @@
+ {
+ _GLIBCXX_BEGIN_NAMESPACE_TR1
+
+- // Class template hash.
++ /// Class template hash.
+ // Declaration of default hash functor std::tr1::hash. The types for
+ // which std::tr1::hash<T> is well-defined is in clause 6.3.3. of the PDTR.
+ template<typename _Tp>
+@@ -46,7 +46,7 @@
+ operator()(_Tp __val) const;
+ };
+
+- // Partial specializations for pointer types.
++ /// Partial specializations for pointer types.
+ template<typename _Tp>
+ struct hash<_Tp*> : public std::unary_function<_Tp*, size_t>
+ {
+@@ -55,7 +55,7 @@
+ { return reinterpret_cast<size_t>(__p); }
+ };
+
+- // Explicit specializations for integer types.
++ /// Explicit specializations for integer types.
+ #define _TR1_hashtable_define_trivial_hash(_Tp) \
+ template<> \
+ inline size_t \
+@@ -81,7 +81,7 @@
+ // Fowler / Noll / Vo (FNV) Hash (type FNV-1a)
+ // (Used by the next specializations of std::tr1::hash.)
+
+- // Dummy generic implementation (for sizeof(size_t) != 4, 8).
++ /// Dummy generic implementation (for sizeof(size_t) != 4, 8).
+ template<size_t = sizeof(size_t)>
+ struct _Fnv_hash
+ {
+@@ -128,7 +128,7 @@
+ }
+ };
+
+- // Explicit specializations for floating point types.
++ /// Explicit specializations for float.
+ template<>
+ inline size_t
+ hash<float>::operator()(float __val) const
+@@ -142,6 +142,7 @@
+ return __result;
+ };
+
++ /// Explicit specializations for double.
+ template<>
+ inline size_t
+ hash<double>::operator()(double __val) const
+@@ -155,11 +156,12 @@
+ return __result;
+ };
+
++ /// Explicit specializations for long double.
+ template<>
+ size_t
+ hash<long double>::operator()(long double __val) const;
+
+- // Explicit specialization of member operator for types that are not builtin.
++ /// Explicit specialization of member operator for non-builtin types.
+ template<>
+ size_t
+ hash<string>::operator()(string) const;
+Index: libstdc++-v3/include/tr1_impl/cmath
+===================================================================
+--- libstdc++-v3/include/tr1_impl/cmath (.../tags/gcc_4_3_0_release) (revision 133808)
++++ libstdc++-v3/include/tr1_impl/cmath (.../branches/gcc-4_3-branch) (revision 133808)
+@@ -298,8 +298,7 @@
+ #if _GLIBCXX_USE_C99_MATH
+ #if !_GLIBCXX_USE_C99_FP_MACROS_DYNAMIC
+
+- /// @brief Function template definitions [8.16.3].
+- //
++ /// Function template definitions [8.16.3].
+ using std::signbit;
+
+ using std::fpclassify;
+@@ -320,8 +319,7 @@
+
+ #if _GLIBCXX_USE_C99_MATH_TR1
+
+- /// @brief Additional overloads [8.16.4].
+- //
++ /// Additional overloads [8.16.4].
+ using std::acos;
+
+ inline float
+Index: libstdc++-v3/include/tr1_impl/functional
+===================================================================
+--- libstdc++-v3/include/tr1_impl/functional (.../tags/gcc_4_3_0_release) (revision 133808)
++++ libstdc++-v3/include/tr1_impl/functional (.../branches/gcc-4_3-branch) (revision 133808)
+@@ -426,6 +426,7 @@
+ : binary_function<const volatile _T1*, _T2, _Res>
+ { };
+
++ /// reference_wrapper
+ template<typename _Tp>
+ class reference_wrapper
+ : public _Reference_wrapper_base<typename remove_cv<_Tp>::type>
+@@ -1336,6 +1337,7 @@
+ template<typename _Result, typename _Signature>
+ const bool is_bind_expression<_Bind_result<_Result, _Signature> >::value;
+
++ /// bind
+ template<typename _Functor, typename... _ArgTypes>
+ inline
+ _Bind<typename _Maybe_wrap_member_pointer<_Functor>::type(_ArgTypes...)>
+@@ -1751,6 +1753,7 @@
+ }
+ };
+
++ /// class function
+ template<typename _Res, typename... _ArgTypes>
+ class function<_Res(_ArgTypes...)>
+ : public _Maybe_unary_or_binary_function<_Res, _ArgTypes...>,
+Index: libstdc++-v3/include/tr1_impl/unordered_set
+===================================================================
+--- libstdc++-v3/include/tr1_impl/unordered_set (.../tags/gcc_4_3_0_release) (revision 133808)
++++ libstdc++-v3/include/tr1_impl/unordered_set (.../branches/gcc-4_3-branch) (revision 133808)
+@@ -150,10 +150,8 @@
+ template<class _Value, class _Hash, class _Pred, class _Alloc,
+ bool __cache_hash_code>
+ inline void
+- swap (__unordered_set<_Value, _Hash, _Pred,
+- _Alloc, __cache_hash_code>& __x,
+- __unordered_set<_Value, _Hash, _Pred,
+- _Alloc, __cache_hash_code>& __y)
++ swap(__unordered_set<_Value, _Hash, _Pred, _Alloc, __cache_hash_code>& __x,
++ __unordered_set<_Value, _Hash, _Pred, _Alloc, __cache_hash_code>& __y)
+ { __x.swap(__y); }
+
+ template<class _Value, class _Hash, class _Pred, class _Alloc,
+@@ -166,6 +164,7 @@
+ { __x.swap(__y); }
+
+
++ /// class unordered_set
+ template<class _Value,
+ class _Hash = hash<_Value>,
+ class _Pred = std::equal_to<_Value>,
+@@ -213,6 +212,7 @@
+ #endif
+ };
+
++ /// class unordered_multiset
+ template<class _Value,
+ class _Hash = hash<_Value>,
+ class _Pred = std::equal_to<_Value>,
+Index: libstdc++-v3/include/tr1_impl/complex
+===================================================================
+--- libstdc++-v3/include/tr1_impl/complex (.../tags/gcc_4_3_0_release) (revision 133808)
++++ libstdc++-v3/include/tr1_impl/complex (.../branches/gcc-4_3-branch) (revision 133808)
+@@ -51,7 +51,7 @@
+ template<typename _Tp> std::complex<_Tp> fabs(const std::complex<_Tp>&);
+ #endif
+
+- /// @brief acos(__z) [8.1.2].
++ /// acos(__z) [8.1.2].
+ // Effects: Behaves the same as C99 function cacos, defined
+ // in subclause 7.3.5.1.
+ template<typename _Tp>
+@@ -87,7 +87,7 @@
+ { return __complex_acos(__z); }
+ #endif
+
+- /// @brief asin(__z) [8.1.3].
++ /// asin(__z) [8.1.3].
+ // Effects: Behaves the same as C99 function casin, defined
+ // in subclause 7.3.5.2.
+ template<typename _Tp>
+@@ -123,7 +123,7 @@
+ { return __complex_asin(__z); }
+ #endif
+
+- /// @brief atan(__z) [8.1.4].
++ /// atan(__z) [8.1.4].
+ // Effects: Behaves the same as C99 function catan, defined
+ // in subclause 7.3.5.3.
+ template<typename _Tp>
+@@ -167,7 +167,7 @@
+ { return __complex_atan(__z); }
+ #endif
+
+- /// @brief acosh(__z) [8.1.5].
++ /// acosh(__z) [8.1.5].
+ // Effects: Behaves the same as C99 function cacosh, defined
+ // in subclause 7.3.6.1.
+ template<typename _Tp>
+@@ -206,7 +206,7 @@
+ { return __complex_acosh(__z); }
+ #endif
+
+- /// @brief asinh(__z) [8.1.6].
++ /// asinh(__z) [8.1.6].
+ // Effects: Behaves the same as C99 function casin, defined
+ // in subclause 7.3.6.2.
+ template<typename _Tp>
+@@ -245,7 +245,7 @@
+ { return __complex_asinh(__z); }
+ #endif
+
+- /// @brief atanh(__z) [8.1.7].
++ /// atanh(__z) [8.1.7].
+ // Effects: Behaves the same as C99 function catanh, defined
+ // in subclause 7.3.6.3.
+ template<typename _Tp>
+@@ -289,7 +289,7 @@
+ { return __complex_atanh(__z); }
+ #endif
+
+- /// @brief fabs(__z) [8.1.8].
++ /// fabs(__z) [8.1.8].
+ // Effects: Behaves the same as C99 function cabs, defined
+ // in subclause 7.3.8.1.
+ template<typename _Tp>
+@@ -306,8 +306,7 @@
+ || (defined(_GLIBCXX_INCLUDE_AS_TR1) \
+ && !defined(__GXX_EXPERIMENTAL_CXX0X__)))
+
+- /// @brief Additional overloads [8.1.9].
+- //
++ /// Additional overloads [8.1.9].
+ template<typename _Tp>
+ inline typename __gnu_cxx::__promote<_Tp>::__type
+ arg(_Tp __x)
+Index: libstdc++-v3/include/tr1_impl/type_traits
+===================================================================
+--- libstdc++-v3/include/tr1_impl/type_traits (.../tags/gcc_4_3_0_release) (revision 133808)
++++ libstdc++-v3/include/tr1_impl/type_traits (.../branches/gcc-4_3-branch) (revision 133808)
+@@ -1,6 +1,6 @@
+ // TR1 type_traits -*- C++ -*-
+
+-// Copyright (C) 2007 Free Software Foundation, Inc.
++// Copyright (C) 2007, 2008 Free Software Foundation, Inc.
+ //
+ // This file is part of the GNU ISO C++ Library. This library is free
+ // software; you can redistribute it and/or modify it under the
+@@ -67,7 +67,7 @@
+ _DEFINE_SPEC_##_Order##_HELPER(_Trait<_Type volatile>, _Value) \
+ _DEFINE_SPEC_##_Order##_HELPER(_Trait<_Type const volatile>, _Value)
+
+- /// @brief helper classes [4.3].
++ /// helper classes [4.3].
+ template<typename _Tp, _Tp __v>
+ struct integral_constant
+ {
+@@ -75,18 +75,23 @@
+ typedef _Tp value_type;
+ typedef integral_constant<_Tp, __v> type;
+ };
++
++ /// typedef for true_type
+ typedef integral_constant<bool, true> true_type;
++
++ /// typedef for true_type
+ typedef integral_constant<bool, false> false_type;
+
+ template<typename _Tp, _Tp __v>
+ const _Tp integral_constant<_Tp, __v>::value;
+
+- /// @brief primary type categories [4.5.1].
++ /// primary type categories [4.5.1].
+ template<typename>
+ struct is_void
+ : public false_type { };
+ _DEFINE_SPEC(0, is_void, void, true)
+
++ /// is_integral
+ template<typename>
+ struct is_integral
+ : public false_type { };
+@@ -106,6 +111,7 @@
+ _DEFINE_SPEC(0, is_integral, long long, true)
+ _DEFINE_SPEC(0, is_integral, unsigned long long, true)
+
++ /// is_floating_point
+ template<typename>
+ struct is_floating_point
+ : public false_type { };
+@@ -113,6 +119,7 @@
+ _DEFINE_SPEC(0, is_floating_point, double, true)
+ _DEFINE_SPEC(0, is_floating_point, long double, true)
+
++ /// is_array
+ template<typename>
+ struct is_array
+ : public false_type { };
+@@ -125,78 +132,94 @@
+ struct is_array<_Tp[]>
+ : public true_type { };
+
++ /// is_pointer
+ template<typename>
+ struct is_pointer
+ : public false_type { };
+ _DEFINE_SPEC(1, is_pointer, _Tp*, true)
+
++ /// is_reference
+ template<typename _Tp>
+ struct is_reference;
+
++ /// is_function
+ template<typename _Tp>
+ struct is_function;
+
++ /// is_member_object_pointer
+ template<typename>
+ struct is_member_object_pointer
+ : public false_type { };
+ _DEFINE_SPEC(2, is_member_object_pointer, _Tp _Cp::*,
+ !is_function<_Tp>::value)
+
++ /// is_member_function_pointer
+ template<typename>
+ struct is_member_function_pointer
+ : public false_type { };
+ _DEFINE_SPEC(2, is_member_function_pointer, _Tp _Cp::*,
+ is_function<_Tp>::value)
+
++ /// is_enum
+ template<typename _Tp>
+ struct is_enum
+ : public integral_constant<bool, __is_enum(_Tp)>
+ { };
+
++ /// is_union
+ template<typename _Tp>
+ struct is_union
+ : public integral_constant<bool, __is_union(_Tp)>
+ { };
+
++ /// is_class
+ template<typename _Tp>
+ struct is_class
+ : public integral_constant<bool, __is_class(_Tp)>
+ { };
+
+- template<typename>
+- struct __is_function_helper
+- : public false_type { };
++ template<typename _Tp>
++ struct __in_array
++ : public __sfinae_types
++ {
++ private:
++ template<typename _Up>
++ static __one __test(_Up(*)[1]);
++ template<typename>
++ static __two __test(...);
++
++ public:
++ static const bool __value = sizeof(__test<_Tp>(0)) == 1;
++ };
+
+- template<typename _Res, typename... _ArgTypes>
+- struct __is_function_helper<_Res(_ArgTypes...)>
+- : public true_type { };
+-
+- template<typename _Res, typename... _ArgTypes>
+- struct __is_function_helper<_Res(_ArgTypes......)>
+- : public true_type { };
+-
++ /// is_abstract
+ template<typename _Tp>
+- struct remove_cv;
++ struct is_abstract;
+
++ /// is_function
+ template<typename _Tp>
+ struct is_function
+- : public integral_constant<bool, (__is_function_helper<typename
+- remove_cv<_Tp>::type>::value)>
++ : public integral_constant<bool, !(__in_array<_Tp>::__value
++ || is_abstract<_Tp>::value
++ || is_reference<_Tp>::value
++ || is_void<_Tp>::value)>
+ { };
+
+- /// @brief composite type traits [4.5.2].
++ /// composite type traits [4.5.2].
+ template<typename _Tp>
+ struct is_arithmetic
+ : public integral_constant<bool, (is_integral<_Tp>::value
+ || is_floating_point<_Tp>::value)>
+ { };
+
++ /// is_fundamental
+ template<typename _Tp>
+ struct is_fundamental
+ : public integral_constant<bool, (is_arithmetic<_Tp>::value
+ || is_void<_Tp>::value)>
+ { };
+
++ /// is_object
+ template<typename _Tp>
+ struct is_object
+ : public integral_constant<bool, !(is_function<_Tp>::value
+@@ -204,9 +227,11 @@
+ || is_void<_Tp>::value)>
+ { };
+
++ /// is_member_pointer
+ template<typename _Tp>
+ struct is_member_pointer;
+
++ /// is_scalal
+ template<typename _Tp>
+ struct is_scalar
+ : public integral_constant<bool, (is_arithmetic<_Tp>::value
+@@ -215,10 +240,12 @@
+ || is_member_pointer<_Tp>::value)>
+ { };
+
++ /// is_compound
+ template<typename _Tp>
+ struct is_compound
+ : public integral_constant<bool, !is_fundamental<_Tp>::value> { };
+
++ /// is_member_pointer
+ template<typename _Tp>
+ struct is_member_pointer
+ : public integral_constant<bool,
+@@ -226,15 +253,17 @@
+ || is_member_function_pointer<_Tp>::value)>
+ { };
+
+- /// @brief type properties [4.5.3].
++ /// type properties [4.5.3].
+ template<typename>
+ struct is_const
+ : public false_type { };
+
++ /// is_const
+ template<typename _Tp>
+ struct is_const<_Tp const>
+ : public true_type { };
+
++ /// is_volatile
+ template<typename>
+ struct is_volatile
+ : public false_type { };
+@@ -243,30 +272,36 @@
+ struct is_volatile<_Tp volatile>
+ : public true_type { };
+
++ /// is_empty
+ template<typename _Tp>
+ struct is_empty
+ : public integral_constant<bool, __is_empty(_Tp)>
+ { };
+
++ /// is_polymorphic
+ template<typename _Tp>
+ struct is_polymorphic
+ : public integral_constant<bool, __is_polymorphic(_Tp)>
+ { };
+
++ /// is_abstract
+ template<typename _Tp>
+ struct is_abstract
+ : public integral_constant<bool, __is_abstract(_Tp)>
+ { };
+
++ /// has_virtual_destructor
+ template<typename _Tp>
+ struct has_virtual_destructor
+ : public integral_constant<bool, __has_virtual_destructor(_Tp)>
+ { };
+
++ /// alignment_of
+ template<typename _Tp>
+ struct alignment_of
+ : public integral_constant<std::size_t, __alignof__(_Tp)> { };
+
++ /// rank
+ template<typename>
+ struct rank
+ : public integral_constant<std::size_t, 0> { };
+@@ -279,6 +314,7 @@
+ struct rank<_Tp[]>
+ : public integral_constant<std::size_t, 1 + rank<_Tp>::value> { };
+
++ /// extent
+ template<typename, unsigned _Uint = 0>
+ struct extent
+ : public integral_constant<std::size_t, 0> { };
+@@ -297,7 +333,7 @@
+ _Uint - 1>::value>
+ { };
+
+- /// @brief relationships between types [4.6].
++ /// relationships between types [4.6].
+ template<typename, typename>
+ struct is_same
+ : public false_type { };
+@@ -306,7 +342,7 @@
+ struct is_same<_Tp, _Tp>
+ : public true_type { };
+
+- /// @brief const-volatile modifications [4.7.1].
++ /// const-volatile modifications [4.7.1].
+ template<typename _Tp>
+ struct remove_const
+ { typedef _Tp type; };
+@@ -315,6 +351,7 @@
+ struct remove_const<_Tp const>
+ { typedef _Tp type; };
+
++ /// remove_volatile
+ template<typename _Tp>
+ struct remove_volatile
+ { typedef _Tp type; };
+@@ -323,6 +360,7 @@
+ struct remove_volatile<_Tp volatile>
+ { typedef _Tp type; };
+
++ /// remove_cv
+ template<typename _Tp>
+ struct remove_cv
+ {
+@@ -330,14 +368,17 @@
+ remove_const<typename remove_volatile<_Tp>::type>::type type;
+ };
+
++ /// add_const
+ template<typename _Tp>
+ struct add_const
+ { typedef _Tp const type; };
+
++ /// add_volatile
+ template<typename _Tp>
+ struct add_volatile
+ { typedef _Tp volatile type; };
+
++ /// add_cv
+ template<typename _Tp>
+ struct add_cv
+ {
+@@ -345,7 +386,7 @@
+ add_const<typename add_volatile<_Tp>::type>::type type;
+ };
+
+- /// @brief array modifications [4.7.3].
++ /// array modifications [4.7.3].
+ template<typename _Tp>
+ struct remove_extent
+ { typedef _Tp type; };
+@@ -358,6 +399,7 @@
+ struct remove_extent<_Tp[]>
+ { typedef _Tp type; };
+
++ /// remove_all_extents
+ template<typename _Tp>
+ struct remove_all_extents
+ { typedef _Tp type; };
+@@ -370,19 +412,22 @@
+ struct remove_all_extents<_Tp[]>
+ { typedef typename remove_all_extents<_Tp>::type type; };
+
+- /// @brief pointer modifications [4.7.4].
++ /// pointer modifications [4.7.4].
+ #undef _DEFINE_SPEC_BODY
+ #define _DEFINE_SPEC_BODY(_Value) \
+ { typedef _Tp type; };
+
++ /// remove_pointer
+ template<typename _Tp>
+ struct remove_pointer
+ { typedef _Tp type; };
+ _DEFINE_SPEC(1, remove_pointer, _Tp*, false)
+
++ /// remove_reference
+ template<typename _Tp>
+ struct remove_reference;
+
++ /// add_pointer
+ template<typename _Tp>
+ struct add_pointer
+ { typedef typename remove_reference<_Tp>::type* type; };
+Index: libstdc++-v3/include/tr1_impl/regex
+===================================================================
+--- libstdc++-v3/include/tr1_impl/regex (.../tags/gcc_4_3_0_release) (revision 133808)
++++ libstdc++-v3/include/tr1_impl/regex (.../branches/gcc-4_3-branch) (revision 133808)
+@@ -241,7 +241,7 @@
+ static const match_flag_type format_first_only = 1 << _S_first_only;
+
+
+- // [7.5.3] implementation-defined error type
++ /// [7.5.3] implementation-defined error type
+ enum error_type
+ {
+ _S_error_collate,
+@@ -308,7 +308,7 @@
+
+ // [7.8] Class regex_error
+ /**
+- * Defines the type of objects thrown as exceptions to report errors from the
++ * Defines the exception objects thrown report errors from the
+ * regular expression library.
+ */
+ class regex_error
+Index: libstdc++-v3/include/tr1_impl/array
+===================================================================
+--- libstdc++-v3/include/tr1_impl/array (.../tags/gcc_4_3_0_release) (revision 133808)
++++ libstdc++-v3/include/tr1_impl/array (.../branches/gcc-4_3-branch) (revision 133808)
+@@ -36,7 +36,7 @@
+ {
+ _GLIBCXX_BEGIN_NAMESPACE_TR1
+
+- /// @brief struct array.
++ /// array.
+ /// NB: Requires complete type _Tp.
+ template<typename _Tp, std::size_t _Nm>
+ struct array
+@@ -216,9 +216,15 @@
+ { std::swap_ranges(__one.begin(), __one.end(), __two.begin()); }
+
+ // Tuple interface to class template array [6.2.2.5].
+- template<typename _Tp> class tuple_size;
+- template<int _Int, typename _Tp> class tuple_element;
+
++ /// tuple_size
++ template<typename _Tp>
++ class tuple_size;
++
++ /// tuple_element
++ template<int _Int, typename _Tp>
++ class tuple_element;
++
+ template<typename _Tp, std::size_t _Nm>
+ struct tuple_size<array<_Tp, _Nm> >
+ { static const int value = _Nm; };
+Index: libstdc++-v3/include/std/tuple
+===================================================================
+--- libstdc++-v3/include/std/tuple (.../tags/gcc_4_3_0_release) (revision 133808)
++++ libstdc++-v3/include/std/tuple (.../branches/gcc-4_3-branch) (revision 133808)
+@@ -205,6 +205,7 @@
+ }
+ };
+
++ /// tuple
+ template<typename... _Elements>
+ class tuple : public _Tuple_impl<0, _Elements...>
+ {
+@@ -275,9 +276,11 @@
+ }
+ };
+
+- template<> class tuple<> { };
+
+- // 2-element tuple, with construction and assignment from a pair.
++ template<>
++ class tuple<> { };
++
++ /// tuple (2-element), with construction and assignment from a pair.
+ template<typename _T1, typename _T2>
+ class tuple<_T1, _T2> : public _Tuple_impl<0, _T1, _T2>
+ {
+@@ -393,7 +396,7 @@
+ template<typename _Tp>
+ struct tuple_size;
+
+- /// @brief class tuple_size
++ /// class tuple_size
+ template<typename... _Elements>
+ struct tuple_size<tuple<_Elements...> >
+ {
+@@ -468,7 +471,7 @@
+ {
+ typedef tuple<_TElements...> _Tp;
+ typedef tuple<_UElements...> _Up;
+- return (__tuple_compare<tuple_size<_Tp>::value - tuple_size<_Tp>::value,
++ return (__tuple_compare<tuple_size<_Tp>::value - tuple_size<_Up>::value,
+ 0, tuple_size<_Tp>::value, _Tp, _Up>::__eq(__t, __u));
+ }
+
+@@ -479,7 +482,7 @@
+ {
+ typedef tuple<_TElements...> _Tp;
+ typedef tuple<_UElements...> _Up;
+- return (__tuple_compare<tuple_size<_Tp>::value - tuple_size<_Tp>::value,
++ return (__tuple_compare<tuple_size<_Tp>::value - tuple_size<_Up>::value,
+ 0, tuple_size<_Tp>::value, _Tp, _Up>::__less(__t, __u));
+ }
+
+Index: libstdc++-v3/include/std/type_traits
+===================================================================
+--- libstdc++-v3/include/std/type_traits (.../tags/gcc_4_3_0_release) (revision 133808)
++++ libstdc++-v3/include/std/type_traits (.../branches/gcc-4_3-branch) (revision 133808)
+@@ -1,6 +1,6 @@
+ // <type_traits> -*- C++ -*-
+
+-// Copyright (C) 2007 Free Software Foundation, Inc.
++// Copyright (C) 2007, 2008 Free Software Foundation, Inc.
+ //
+ // This file is part of the GNU ISO C++ Library. This library is free
+ // software; you can redistribute it and/or modify it under the
+@@ -63,6 +63,8 @@
+ namespace std
+ {
+ // Primary classification traits.
++
++ /// is_lvalue_reference
+ template<typename>
+ struct is_lvalue_reference
+ : public false_type { };
+@@ -71,6 +73,7 @@
+ struct is_lvalue_reference<_Tp&>
+ : public true_type { };
+
++ /// is_rvalue_reference
+ template<typename>
+ struct is_rvalue_reference
+ : public false_type { };
+@@ -80,6 +83,8 @@
+ : public true_type { };
+
+ // Secondary classification traits.
++
++ /// is_reference
+ template<typename _Tp>
+ struct is_reference
+ : public integral_constant<bool, (is_lvalue_reference<_Tp>::value
+@@ -87,6 +92,8 @@
+ { };
+
+ // Reference transformations.
++
++ /// remove_reference
+ template<typename _Tp>
+ struct remove_reference
+ { typedef _Tp type; };
+@@ -113,6 +120,7 @@
+ struct __add_lvalue_reference_helper<_Tp, false, true>
+ { typedef typename remove_reference<_Tp>::type& type; };
+
++ /// add_lvalue_reference
+ template<typename _Tp>
+ struct add_lvalue_reference
+ : public __add_lvalue_reference_helper<_Tp>
+@@ -127,12 +135,14 @@
+ struct __add_rvalue_reference_helper<_Tp, true>
+ { typedef _Tp&& type; };
+
++ /// add_rvalue_reference
+ template<typename _Tp>
+ struct add_rvalue_reference
+ : public __add_rvalue_reference_helper<_Tp>
+ { };
+
+ // Scalar properties and transformations.
++
+ template<typename _Tp,
+ bool = is_integral<_Tp>::value,
+ bool = is_floating_point<_Tp>::value>
+@@ -148,11 +158,13 @@
+ : public integral_constant<bool, _Tp(-1) < _Tp(0)>
+ { };
+
++ /// is_signed
+ template<typename _Tp>
+ struct is_signed
+ : public integral_constant<bool, __is_signed_helper<_Tp>::value>
+ { };
+
++ /// is_unsigned
+ template<typename _Tp>
+ struct is_unsigned
+ : public integral_constant<bool, (is_arithmetic<_Tp>::value
+@@ -160,46 +172,56 @@
+ { };
+
+ // Member introspection.
++
++ /// is_pod
+ template<typename _Tp>
+ struct is_pod
+ : public integral_constant<bool, __is_pod(_Tp)>
+ { };
+
++ /// has_trivial_default_constructor
+ template<typename _Tp>
+ struct has_trivial_default_constructor
+ : public integral_constant<bool, __has_trivial_constructor(_Tp)>
+ { };
+
++ /// has_trivial_copy_constructor
+ template<typename _Tp>
+ struct has_trivial_copy_constructor
+ : public integral_constant<bool, __has_trivial_copy(_Tp)>
+ { };
+
++ /// has_trivial_assign
+ template<typename _Tp>
+ struct has_trivial_assign
+ : public integral_constant<bool, __has_trivial_assign(_Tp)>
+ { };
+
++ /// has_trivial_destructor
+ template<typename _Tp>
+ struct has_trivial_destructor
+ : public integral_constant<bool, __has_trivial_destructor(_Tp)>
+ { };
+
++ /// has_nothrow_default_destructor
+ template<typename _Tp>
+ struct has_nothrow_default_constructor
+ : public integral_constant<bool, __has_nothrow_constructor(_Tp)>
+ { };
+
++ /// has_nothrow_copy_destructor
+ template<typename _Tp>
+ struct has_nothrow_copy_constructor
+ : public integral_constant<bool, __has_nothrow_copy(_Tp)>
+ { };
+
++ /// has_nothrow_assign
+ template<typename _Tp>
+ struct has_nothrow_assign
+ : public integral_constant<bool, __has_nothrow_assign(_Tp)>
+ { };
+
++ /// is_base_of
+ template<typename _Base, typename _Derived>
+ struct is_base_of
+ : public integral_constant<bool, __is_base_of(_Base, _Derived)>
+@@ -232,7 +254,7 @@
+ template<typename _From, typename _To,
+ bool = (is_void<_From>::value || is_void<_To>::value
+ || is_function<_To>::value || is_array<_To>::value
+- // This special case is here only to avoid warnings.
++ // This special case is here only to avoid warnings.
+ || (is_floating_point<typename
+ remove_reference<_From>::type>::value
+ && __is_int_or_cref<_To>::__value))>
+@@ -252,6 +274,7 @@
+
+ // XXX FIXME
+ // The C++0x specifications are different, see N2255.
++ /// is_convertible
+ template<typename _From, typename _To>
+ struct is_convertible
+ : public integral_constant<bool,
+@@ -268,6 +291,16 @@
+ };
+ };
+
++ /**
++ * @brief Alignment type.
++ *
++ * The value of _Align is a default-alignment which shall be the
++ * most stringent alignment requirement for any C++ object type
++ * whose size is no greater than _Len (3.9). The member typedef
++ * type shall be a POD type suitable for use as uninitialized
++ * storage for any object whose size is at most _Len and whose
++ * alignment is a divisor of _Align.
++ */
+ template<std::size_t _Len, std::size_t _Align =
+ __alignof__(typename __aligned_storage_msa<_Len>::__type)>
+ struct aligned_storage
+@@ -281,21 +314,25 @@
+
+
+ // Define a nested type if some predicate holds.
++ /// Primary template.
+ template<bool, typename _Tp = void>
+ struct enable_if
+ { };
+
++ /// Partial specialization for true.
+ template<typename _Tp>
+ struct enable_if<true, _Tp>
+ { typedef _Tp type; };
+
+
+- // Like a conditional expression, but for types. If true, first, if
+- // false, second.
++ // A conditional expression, but for types.
++ // If true, first, if false, second.
++ /// Primary template.
+ template<bool _Cond, typename _Iftrue, typename _Iffalse>
+ struct conditional
+ { typedef _Iftrue type; };
+
++ /// Partial specialization for false.
+ template<typename _Iftrue, typename _Iffalse>
+ struct conditional<false, _Iftrue, _Iffalse>
+ { typedef _Iffalse type; };
+@@ -321,6 +358,7 @@
+ struct __decay_selector<_Up, false, true>
+ { typedef typename add_pointer<_Up>::type __type; };
+
++ /// decay
+ template<typename _Tp>
+ struct decay
+ {
+@@ -428,9 +466,9 @@
+ typedef typename conditional<__b1, __smallest, __cond_type>::type __type;
+ };
+
+- // Primary class template.
+ // Given an integral/enum type, return the corresponding unsigned
+ // integer type.
++ /// Primary template.
+ template<typename _Tp>
+ struct make_unsigned
+ { typedef typename __make_unsigned_selector<_Tp>::__type type; };
+@@ -503,9 +541,9 @@
+ typedef typename conditional<__b1, __smallest, __cond_type>::type __type;
+ };
+
+- // Primary class template.
+ // Given an integral/enum type, return the corresponding signed
+ // integer type.
++ /// Primary template.
+ template<typename _Tp>
+ struct make_signed
+ { typedef typename __make_signed_selector<_Tp>::__type type; };
+Index: libstdc++-v3/include/parallel/base.h
+===================================================================
+--- libstdc++-v3/include/parallel/base.h (.../tags/gcc_4_3_0_release) (revision 133808)
++++ libstdc++-v3/include/parallel/base.h (.../branches/gcc-4_3-branch) (revision 133808)
+@@ -47,6 +47,11 @@
+
+
+ // Parallel mode namespaces.
++
++/**
++ * @namespace std::__parallel
++ * @brief GNU parallel code, replaces standard behavior with parallel behavior.
++ */
+ namespace std
+ {
+ namespace __parallel { }
+@@ -54,7 +59,7 @@
+
+ /**
+ * @namespace __gnu_parallel
+- * @brief GNU parallel classes for public use.
++ * @brief GNU parallel code for public use.
+ */
+ namespace __gnu_parallel
+ {
+Index: libstdc++-v3/ChangeLog
+===================================================================
+--- libstdc++-v3/ChangeLog (.../tags/gcc_4_3_0_release) (revision 133808)
++++ libstdc++-v3/ChangeLog (.../branches/gcc-4_3-branch) (revision 133808)
+@@ -1,3 +1,138 @@
++2008-03-29 Paolo Carlini <pcarlini@suse.de>
++
++ PR libstdc++/35725
++ * include/bits/stl_algobase.h (__fill_a(_ForwardIterator,
++ _ForwardIterator, _Tp), __fill_a(_Tp*, _Tp*, _Tp),
++ __fill_n_a(_OutputIterator, _Size, _Tp), __fill_n_a(_Tp*, _Size,
++ _Tp)): Fix signatures.
++ * testsuite/25_algorithms/fill/35725.cc: New.
++ * testsuite/25_algorithms/fill_n/35725.cc: Likewise.
++
++2008-03-29 Matthias Klose <doko@ubuntu.com>
++
++ * config/abi/post/s390-linux-gnu/baseline_symbols.txt: Update.
++ * config/abi/post/ia64-linux-gnu/baseline_symbols.txt: Likewise.
++ * config/abi/post/mips-linux-gnu/baseline_symbols.txt: Likewise.
++ * config/abi/post/sparc-linux-gnu/baseline_symbols.txt: Likewise.
++
++2008-03-25 Benjamin Kosnik <bkoz@redhat.com>
++
++ * scripts/run_doxygen: Remove html_output_dir. Downgrade to
++ Doxygen 1.5.1.
++ * doc/doxygen/style.css: Delete.
++ * doc/doxygen/user.cfg.in: Regenerate with Doxygen 1.5.1.
++ (INPUT): Update.
++ (PREDEFINED): Update.
++ (HTML_OUTPUT): Remove html_output_dir, use html.
++ (HTML_STYLESHEET): Remove style.css.
++ * doc/doxygen/tables.html: Remove style.css use.
++ * doc/doxygen/mainpage.html: Nested lists for Namespaces and Classes.
++ * doc/doxygen/doxygroups.cc: Namespace edits.
++ * doc/doxygen/Intro.3: Correct typo.
++
++ * doc/xml/api.xml: Add gcc-4.3 links.
++ * doc/html/api.html: Regenerate.
++
++ * include/debug/debug.h: Document namepaces here.
++ * include/parallel/base.h: Same.
++ * include/ext/typelist.h: Same.
++ * include/ext/pb_ds/tag_and_trait.hpp: Same.
++
++ * include/tr1_impl/random: Adjust line break.
++ * include/tr1_impl/unordered_map: Correct and or add markup.
++ * include/tr1_impl/boost_shared_ptr.h: Correct and or add markup.
++ * include/tr1_impl/functional_hash.h: Same.
++ * include/tr1_impl/cmath: Same.
++ * include/tr1_impl/functional: Same.
++ * include/tr1_impl/unordered_set: Same.
++ * include/tr1_impl/complex: Same.
++ * include/tr1_impl/type_traits: Same.
++ * include/tr1_impl/regex: Same.
++ * include/tr1_impl/array: Same.
++ * include/std/tuple: Same.
++ * include/std/date_time: Same.
++ * include/std/system_error: Same.
++ * include/std/type_traits: Same.
++ * include/ext/enc_filebuf.h: Same.
++ * include/ext/throw_allocator.h: Same.
++ * include/ext/pool_allocator.h: Same.
++ * include/ext/bitmap_allocator.h: Same.
++ * include/ext/concurrence.h: Same.
++ * include/ext/codecvt_specializations.h: Same.
++ * include/ext/stdio_sync_filebuf.h: Same.
++ * include/ext/array_allocator.h: Same.
++ * include/ext/mt_allocator.h: Same.
++ * include/bits/locale_classes.h: Same.
++ * include/bits/locale_facets.h: Same.
++ * include/bits/codecvt.h: Same.
++ * include/bits/char_traits.h: Same.
++ * include/bits/allocator.h: Same.
++ * include/bits/locale_facets_nonio.h: Same.
++ * include/tr1/poly_laguerre.tcc: Same.
++ * include/tr1/riemann_zeta.tcc: Same.
++ * include/tr1/beta_function.tcc: Same.
++ * include/tr1/tuple: Same.
++ * include/tr1/exp_integral.tcc: Same.
++ * include/tr1/gamma.tcc: Same.
++ * include/tr1/hypergeometric.tcc: Same.
++ * include/tr1/modified_bessel_func.tcc: Same.
++ * include/tr1/legendre_function.tcc: Same.
++ * include/tr1/type_traits: Same.
++ * include/tr1/special_function_util.h: Same.
++ * include/tr1/bessel_function.tcc: Same.
++ * include/tr1/cmath: Same.
++ * include/tr1/poly_hermite.tcc: Same.
++ * include/tr1/ell_integral.tcc: Same.
++ * config/abi/compatibility.h: Adjust file name.
++
++ * testsuite/19_diagnostics/error_category/cons/copy_neg.cc: Adjust
++ line numbers.
++ * testsuite/20_util/make_signed/requirements/typedefs_neg.cc: Same.
++ * testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc: Same.
++
++2008-03-23 Paolo Carlini <pcarlini@suse.de>
++
++ * doc/xml/faq.xml: Fix various links.
++ * doc/xml/api.xml: Likewise.
++ * doc/xml/manual/parallel_mode.xml: Likewise.
++ * doc/html/faq.html: Regenerate.
++ * doc/html/api.html: Likewise.
++ * doc/html/manual/bk01pt12ch31s03.html: Likewise.
++
++2008-03-20 Paolo Carlini <pcarlini@suse.de>
++
++ PR libstdc++/35637
++ * include/tr1_impl/type_traits (struct __in_array): Add back.
++ (is_function): Use it.
++ * testsuite/tr1/4_metaprogramming/is_function/35637.cc: New.
++
++2008-03-19 Benjamin Kosnik <bkoz@redhat.com>
++
++ PR libstdc++/35256
++ * doc/xml/manual/parallel_mode.xml: Correct configuration documentation.
++ * doc/html/manual/bk01pt12ch31s04.html: Regenerate.
++
++2008-03-13 Dennis Czeremin <dennis.czeremin@smiths-heimann.com>
++
++ PR libstdc++/35566
++ * include/bits/stl_multimap.h (multimap<>::multimap(_InputIterator,
++ _InputIterator)): Forward to _M_insert_equal, not _M_insert_unique.
++
++2008-03-13 Paolo Carlini <pcarlini@suse.de>
++
++ PR libstdc++/35541
++ * include/debug/functions.h (__check_sorted_set_aux): Fix signature.
++ * testsuite/25_algorithms/set_difference/35541.cc: New.
++
++2008-03-06 Chris Jefferson <chris@bubblescope.net>
++ Paolo Carlini <pcarlini@suse.de>
++
++ PR libstdc++/35480
++ * include/tr1/tuple (operator==, operator<): Fix.
++ * include/std/tuple (operator==, operator<): Likewise.
++ * testsuite/tr1/6_containers/tuple/comparison_operators/35480.cc: New.
++ * testsuite/20_util/tuple/comparison_operators/35480.cc: Likewise.
++
+ 2008-03-05 Release Manager
+
+ * GCC 4.3.0 released.
+Index: libstdc++-v3/testsuite/25_algorithms/fill_n/35725.cc
+===================================================================
+--- libstdc++-v3/testsuite/25_algorithms/fill_n/35725.cc (.../tags/gcc_4_3_0_release) (revision 0)
++++ libstdc++-v3/testsuite/25_algorithms/fill_n/35725.cc (.../branches/gcc-4_3-branch) (revision 133808)
+@@ -0,0 +1,30 @@
++// { dg-do compile }
++
++// Copyright (C) 2008 Free Software Foundation, Inc.
++//
++// This file is part of the GNU ISO C++ Library. This library is free
++// software; you can redistribute it and/or modify it under the
++// terms of the GNU General Public License as published by the
++// Free Software Foundation; either version 2, or (at your option)
++// any later version.
++
++// This library is distributed in the hope that it will be useful,
++// but WITHOUT ANY WARRANTY; without even the implied warranty of
++// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
++// GNU General Public License for more details.
++
++// You should have received a copy of the GNU General Public License along
++// with this library; see the file COPYING. If not, write to the Free
++// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
++// USA.
++
++#include <string>
++#include <vector>
++#include <algorithm>
++
++// libstdc++/35725
++void test01()
++{
++ std::vector<std::string> foo(20);
++ std::fill_n(foo.begin(), 20, "bar");
++}
+Index: libstdc++-v3/testsuite/25_algorithms/fill/35725.cc
+===================================================================
+--- libstdc++-v3/testsuite/25_algorithms/fill/35725.cc (.../tags/gcc_4_3_0_release) (revision 0)
++++ libstdc++-v3/testsuite/25_algorithms/fill/35725.cc (.../branches/gcc-4_3-branch) (revision 133808)
+@@ -0,0 +1,30 @@
++// { dg-do compile }
++
++// Copyright (C) 2008 Free Software Foundation, Inc.
++//
++// This file is part of the GNU ISO C++ Library. This library is free
++// software; you can redistribute it and/or modify it under the
++// terms of the GNU General Public License as published by the
++// Free Software Foundation; either version 2, or (at your option)
++// any later version.
++
++// This library is distributed in the hope that it will be useful,
++// but WITHOUT ANY WARRANTY; without even the implied warranty of
++// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
++// GNU General Public License for more details.
++
++// You should have received a copy of the GNU General Public License along
++// with this library; see the file COPYING. If not, write to the Free
++// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
++// USA.
++
++#include <string>
++#include <vector>
++#include <algorithm>
++
++// libstdc++/35725
++void test01()
++{
++ std::vector<std::string> foo(20);
++ std::fill(foo.begin(), foo.end(), "bar");
++}
+Index: libstdc++-v3/testsuite/25_algorithms/set_difference/35541.cc
+===================================================================
+--- libstdc++-v3/testsuite/25_algorithms/set_difference/35541.cc (.../tags/gcc_4_3_0_release) (revision 0)
++++ libstdc++-v3/testsuite/25_algorithms/set_difference/35541.cc (.../branches/gcc-4_3-branch) (revision 133808)
+@@ -0,0 +1,36 @@
++// Copyright (C) 2008 Free Software Foundation, Inc.
++//
++// This file is part of the GNU ISO C++ Library. This library is free
++// software; you can redistribute it and/or modify it under the
++// terms of the GNU General Public License as published by the
++// Free Software Foundation; either version 2, or (at your option)
++// any later version.
++
++// This library is distributed in the hope that it will be useful,
++// but WITHOUT ANY WARRANTY; without even the implied warranty of
++// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
++// GNU General Public License for more details.
++
++// You should have received a copy of the GNU General Public License along
++// with this library; see the file COPYING. If not, write to the Free
++// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
++// USA.
++
++// { dg-options "-D_GLIBCXX_DEBUG" }
++// { dg-do compile }
++
++// libstdc++/35541
++
++#include <set>
++#include <iterator>
++#include <algorithm>
++
++void test01()
++{
++ std::set<std::pair<unsigned,int> > mFactors;
++ std::set<std::pair<unsigned,int> > secondFactor;
++ std::set_difference(mFactors.begin(), mFactors.end(),
++ mFactors.begin(), mFactors.end(),
++ std::insert_iterator<std::set<std::pair<unsigned,int> > >
++ (secondFactor, secondFactor.end()));
++}
+Index: libstdc++-v3/testsuite/tr1/6_containers/tuple/comparison_operators/35480.cc
+===================================================================
+--- libstdc++-v3/testsuite/tr1/6_containers/tuple/comparison_operators/35480.cc (.../tags/gcc_4_3_0_release) (revision 0)
++++ libstdc++-v3/testsuite/tr1/6_containers/tuple/comparison_operators/35480.cc (.../branches/gcc-4_3-branch) (revision 133808)
+@@ -0,0 +1,33 @@
++// { dg-do compile }
++
++// Copyright (C) 2008 Free Software Foundation, Inc.
++//
++// This file is part of the GNU ISO C++ Library. This library is free
++// software; you can redistribute it and/or modify it under the
++// terms of the GNU General Public License as published by the
++// Free Software Foundation; either version 2, or (at your option)
++// any later version.
++
++// This library is distributed in the hope that it will be useful,
++// but WITHOUT ANY WARRANTY; without even the implied warranty of
++// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
++// GNU General Public License for more details.
++
++// You should have received a copy of the GNU General Public License along
++// with this library; see the file COPYING. If not, write to the Free
++// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
++// USA.
++
++// Tuple
++
++#include <tr1/tuple>
++
++// libstdc++/35480
++void test01()
++{
++ std::tr1::tuple<int> t1( 1 );
++ std::tr1::tuple<int, int> t2( 1, 2 );
++ if ( t1 < t2 ) {} // { dg-error "here" }
++ if ( t1 == t2 ) {} // { dg-error "here" }
++}
++// { dg-excess-errors "incomplete type" }
+Index: libstdc++-v3/testsuite/tr1/4_metaprogramming/is_function/35637.cc
+===================================================================
+--- libstdc++-v3/testsuite/tr1/4_metaprogramming/is_function/35637.cc (.../tags/gcc_4_3_0_release) (revision 0)
++++ libstdc++-v3/testsuite/tr1/4_metaprogramming/is_function/35637.cc (.../branches/gcc-4_3-branch) (revision 133808)
+@@ -0,0 +1,35 @@
++// { dg-options "-pedantic-errors" }
++// { dg-do compile }
++
++// Copyright (C) 2008 Free Software Foundation, Inc.
++//
++// This file is part of the GNU ISO C++ Library. This library is free
++// software; you can redistribute it and/or modify it under the
++// terms of the GNU General Public License as published by the
++// Free Software Foundation; either version 2, or (at your option)
++// any later version.
++//
++// This library is distributed in the hope that it will be useful,
++// but WITHOUT ANY WARRANTY; without even the implied warranty of
++// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
++// GNU General Public License for more details.
++//
++// You should have received a copy of the GNU General Public License along
++// with this library; see the file COPYING. If not, write to the Free
++// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
++// USA.
++
++// 4.5.1 Primary type categories
++
++#include <tr1/functional>
++
++struct S
++{
++ void F() const {}
++};
++
++// libstdc++/35637
++void test01()
++{
++ std::tr1::function<void (S *)> a(&S::F);
++}
+Index: libstdc++-v3/testsuite/20_util/tuple/comparison_operators/35480.cc
+===================================================================
+--- libstdc++-v3/testsuite/20_util/tuple/comparison_operators/35480.cc (.../tags/gcc_4_3_0_release) (revision 0)
++++ libstdc++-v3/testsuite/20_util/tuple/comparison_operators/35480.cc (.../branches/gcc-4_3-branch) (revision 133808)
+@@ -0,0 +1,34 @@
++// { dg-options "-std=gnu++0x" }
++// { dg-do compile }
++
++// Copyright (C) 2008 Free Software Foundation, Inc.
++//
++// This file is part of the GNU ISO C++ Library. This library is free
++// software; you can redistribute it and/or modify it under the
++// terms of the GNU General Public License as published by the
++// Free Software Foundation; either version 2, or (at your option)
++// any later version.
++
++// This library is distributed in the hope that it will be useful,
++// but WITHOUT ANY WARRANTY; without even the implied warranty of
++// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
++// GNU General Public License for more details.
++
++// You should have received a copy of the GNU General Public License along
++// with this library; see the file COPYING. If not, write to the Free
++// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
++// USA.
++
++// Tuple
++
++#include <tuple>
++
++// libstdc++/35480
++void test01()
++{
++ std::tuple<int> t1( 1 );
++ std::tuple<int, int> t2( 1, 2 );
++ if ( t1 < t2 ) {} // { dg-error "here" }
++ if ( t1 == t2 ) {} // { dg-error "here" }
++}
++// { dg-excess-errors "incomplete type" }
+Index: libstdc++-v3/testsuite/20_util/make_signed/requirements/typedefs_neg.cc
+===================================================================
+--- libstdc++-v3/testsuite/20_util/make_signed/requirements/typedefs_neg.cc (.../tags/gcc_4_3_0_release) (revision 133808)
++++ libstdc++-v3/testsuite/20_util/make_signed/requirements/typedefs_neg.cc (.../branches/gcc-4_3-branch) (revision 133808)
+@@ -49,8 +49,8 @@
+ // { dg-error "instantiated from here" "" { target *-*-* } 41 }
+ // { dg-error "instantiated from here" "" { target *-*-* } 43 }
+
+-// { dg-error "invalid use of incomplete type" "" { target *-*-* } 511 }
+-// { dg-error "declaration of" "" { target *-*-* } 477 }
++// { dg-error "invalid use of incomplete type" "" { target *-*-* } 549 }
++// { dg-error "declaration of" "" { target *-*-* } 515 }
+
+ // { dg-excess-errors "At global scope" }
+ // { dg-excess-errors "In instantiation of" }
+Index: libstdc++-v3/testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc
+===================================================================
+--- libstdc++-v3/testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc (.../tags/gcc_4_3_0_release) (revision 133808)
++++ libstdc++-v3/testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc (.../branches/gcc-4_3-branch) (revision 133808)
+@@ -49,8 +49,8 @@
+ // { dg-error "instantiated from here" "" { target *-*-* } 41 }
+ // { dg-error "instantiated from here" "" { target *-*-* } 43 }
+
+-// { dg-error "invalid use of incomplete type" "" { target *-*-* } 436 }
+-// { dg-error "declaration of" "" { target *-*-* } 402 }
++// { dg-error "invalid use of incomplete type" "" { target *-*-* } 474 }
++// { dg-error "declaration of" "" { target *-*-* } 440 }
+
+ // { dg-excess-errors "At global scope" }
+ // { dg-excess-errors "In instantiation of" }
+Index: libstdc++-v3/config/abi/compatibility.h
+===================================================================
+--- libstdc++-v3/config/abi/compatibility.h (.../tags/gcc_4_3_0_release) (revision 133808)
++++ libstdc++-v3/config/abi/compatibility.h (.../branches/gcc-4_3-branch) (revision 133808)
+@@ -28,7 +28,7 @@
+ // invalidate any other reasons why the executable file might be covered by
+ // the GNU General Public License.
+
+-/** @file compatibility.h
++/** @file bits/compatibility.h
+ * This is an internal header file, included by other library sources.
+ * You should not attempt to use it directly.
+ */
+Index: libstdc++-v3/config/abi/post/s390-linux-gnu/baseline_symbols.txt
+===================================================================
+--- libstdc++-v3/config/abi/post/s390-linux-gnu/baseline_symbols.txt (.../tags/gcc_4_3_0_release) (revision 133808)
++++ libstdc++-v3/config/abi/post/s390-linux-gnu/baseline_symbols.txt (.../branches/gcc-4_3-branch) (revision 133808)
+@@ -33,19 +33,51 @@
+ FUNC:_ZN10__gnu_norm15_List_node_base6unhookEv@@GLIBCXX_3.4
+ FUNC:_ZN10__gnu_norm15_List_node_base7reverseEv@@GLIBCXX_3.4
+ FUNC:_ZN10__gnu_norm15_List_node_base8transferEPS0_S1_@@GLIBCXX_3.4
++FUNC:_ZN11__gnu_debug19_Safe_iterator_base12_M_get_mutexEv@@GLIBCXX_3.4.9
++FUNC:_ZN11__gnu_debug19_Safe_iterator_base16_M_attach_singleEPNS_19_Safe_sequence_baseEb@@GLIBCXX_3.4.9
++FUNC:_ZN11__gnu_debug19_Safe_iterator_base16_M_detach_singleEv@@GLIBCXX_3.4.9
+ FUNC:_ZN11__gnu_debug19_Safe_iterator_base9_M_attachEPNS_19_Safe_sequence_baseEb@@GLIBCXX_3.4
+ FUNC:_ZN11__gnu_debug19_Safe_iterator_base9_M_detachEv@@GLIBCXX_3.4
++FUNC:_ZN11__gnu_debug19_Safe_sequence_base12_M_get_mutexEv@@GLIBCXX_3.4.9
+ FUNC:_ZN11__gnu_debug19_Safe_sequence_base13_M_detach_allEv@@GLIBCXX_3.4
+ FUNC:_ZN11__gnu_debug19_Safe_sequence_base18_M_detach_singularEv@@GLIBCXX_3.4
+ FUNC:_ZN11__gnu_debug19_Safe_sequence_base22_M_revalidate_singularEv@@GLIBCXX_3.4
+ FUNC:_ZN11__gnu_debug19_Safe_sequence_base7_M_swapERS0_@@GLIBCXX_3.4
++FUNC:_ZN14__gnu_parallel9_Settings3getEv@@GLIBCXX_3.4.10
++FUNC:_ZN14__gnu_parallel9_Settings3setERS0_@@GLIBCXX_3.4.10
+ FUNC:_ZN9__gnu_cxx12__atomic_addEPVii@@GLIBCXX_3.4
+ FUNC:_ZN9__gnu_cxx17__pool_alloc_base12_M_get_mutexEv@@GLIBCXX_3.4.2
+ FUNC:_ZN9__gnu_cxx17__pool_alloc_base16_M_get_free_listEm@@GLIBCXX_3.4.2
+ FUNC:_ZN9__gnu_cxx17__pool_alloc_base9_M_refillEm@@GLIBCXX_3.4.2
+ FUNC:_ZN9__gnu_cxx18__exchange_and_addEPVii@@GLIBCXX_3.4
+ FUNC:_ZN9__gnu_cxx18stdio_sync_filebufIcSt11char_traitsIcEE4fileEv@@GLIBCXX_3.4.2
++FUNC:_ZN9__gnu_cxx18stdio_sync_filebufIcSt11char_traitsIcEE4syncEv@@GLIBCXX_3.4.10
++FUNC:_ZN9__gnu_cxx18stdio_sync_filebufIcSt11char_traitsIcEE5uflowEv@@GLIBCXX_3.4.10
++FUNC:_ZN9__gnu_cxx18stdio_sync_filebufIcSt11char_traitsIcEE6xsgetnEPci@@GLIBCXX_3.4.10
++FUNC:_ZN9__gnu_cxx18stdio_sync_filebufIcSt11char_traitsIcEE6xsputnEPKci@@GLIBCXX_3.4.10
++FUNC:_ZN9__gnu_cxx18stdio_sync_filebufIcSt11char_traitsIcEE7seekoffExSt12_Ios_SeekdirSt13_Ios_Openmode@@GLIBCXX_3.4.10
++FUNC:_ZN9__gnu_cxx18stdio_sync_filebufIcSt11char_traitsIcEE7seekposESt4fposI11__mbstate_tESt13_Ios_Openmode@@GLIBCXX_3.4.10
++FUNC:_ZN9__gnu_cxx18stdio_sync_filebufIcSt11char_traitsIcEE8overflowEi@@GLIBCXX_3.4.10
++FUNC:_ZN9__gnu_cxx18stdio_sync_filebufIcSt11char_traitsIcEE9pbackfailEi@@GLIBCXX_3.4.10
++FUNC:_ZN9__gnu_cxx18stdio_sync_filebufIcSt11char_traitsIcEE9underflowEv@@GLIBCXX_3.4.10
++FUNC:_ZN9__gnu_cxx18stdio_sync_filebufIcSt11char_traitsIcEEC1EP8_IO_FILE@@GLIBCXX_3.4.10
++FUNC:_ZN9__gnu_cxx18stdio_sync_filebufIcSt11char_traitsIcEEC2EP8_IO_FILE@@GLIBCXX_3.4.10
++FUNC:_ZN9__gnu_cxx18stdio_sync_filebufIcSt11char_traitsIcEED0Ev@@GLIBCXX_3.4.10
++FUNC:_ZN9__gnu_cxx18stdio_sync_filebufIcSt11char_traitsIcEED1Ev@@GLIBCXX_3.4.10
+ FUNC:_ZN9__gnu_cxx18stdio_sync_filebufIwSt11char_traitsIwEE4fileEv@@GLIBCXX_3.4.2
++FUNC:_ZN9__gnu_cxx18stdio_sync_filebufIwSt11char_traitsIwEE4syncEv@@GLIBCXX_3.4.10
++FUNC:_ZN9__gnu_cxx18stdio_sync_filebufIwSt11char_traitsIwEE5uflowEv@@GLIBCXX_3.4.10
++FUNC:_ZN9__gnu_cxx18stdio_sync_filebufIwSt11char_traitsIwEE6xsgetnEPwi@@GLIBCXX_3.4.10
++FUNC:_ZN9__gnu_cxx18stdio_sync_filebufIwSt11char_traitsIwEE6xsputnEPKwi@@GLIBCXX_3.4.10
++FUNC:_ZN9__gnu_cxx18stdio_sync_filebufIwSt11char_traitsIwEE7seekoffExSt12_Ios_SeekdirSt13_Ios_Openmode@@GLIBCXX_3.4.10
++FUNC:_ZN9__gnu_cxx18stdio_sync_filebufIwSt11char_traitsIwEE7seekposESt4fposI11__mbstate_tESt13_Ios_Openmode@@GLIBCXX_3.4.10
++FUNC:_ZN9__gnu_cxx18stdio_sync_filebufIwSt11char_traitsIwEE8overflowEj@@GLIBCXX_3.4.10
++FUNC:_ZN9__gnu_cxx18stdio_sync_filebufIwSt11char_traitsIwEE9pbackfailEj@@GLIBCXX_3.4.10
++FUNC:_ZN9__gnu_cxx18stdio_sync_filebufIwSt11char_traitsIwEE9underflowEv@@GLIBCXX_3.4.10
++FUNC:_ZN9__gnu_cxx18stdio_sync_filebufIwSt11char_traitsIwEEC1EP8_IO_FILE@@GLIBCXX_3.4.10
++FUNC:_ZN9__gnu_cxx18stdio_sync_filebufIwSt11char_traitsIwEEC2EP8_IO_FILE@@GLIBCXX_3.4.10
++FUNC:_ZN9__gnu_cxx18stdio_sync_filebufIwSt11char_traitsIwEED0Ev@@GLIBCXX_3.4.10
++FUNC:_ZN9__gnu_cxx18stdio_sync_filebufIwSt11char_traitsIwEED1Ev@@GLIBCXX_3.4.10
+ FUNC:_ZN9__gnu_cxx27__verbose_terminate_handlerEv@@CXXABI_1.3
+ FUNC:_ZN9__gnu_cxx6__poolILb0EE10_M_destroyEv@@GLIBCXX_3.4.4
+ FUNC:_ZN9__gnu_cxx6__poolILb0EE13_M_initializeEv@@GLIBCXX_3.4.4
+@@ -53,6 +85,7 @@
+ FUNC:_ZN9__gnu_cxx6__poolILb0EE16_M_reserve_blockEmm@@GLIBCXX_3.4.4
+ FUNC:_ZN9__gnu_cxx6__poolILb1EE10_M_destroyEv@@GLIBCXX_3.4.4
+ FUNC:_ZN9__gnu_cxx6__poolILb1EE13_M_initializeEPFvPvE@@GLIBCXX_3.4.4
++FUNC:_ZN9__gnu_cxx6__poolILb1EE13_M_initializeEv@@GLIBCXX_3.4.6
+ FUNC:_ZN9__gnu_cxx6__poolILb1EE16_M_get_thread_idEv@@GLIBCXX_3.4.4
+ FUNC:_ZN9__gnu_cxx6__poolILb1EE16_M_reclaim_blockEPcm@@GLIBCXX_3.4.4
+ FUNC:_ZN9__gnu_cxx6__poolILb1EE16_M_reserve_blockEmm@@GLIBCXX_3.4.4
+@@ -81,6 +114,7 @@
+ FUNC:_ZNK11__gnu_debug16_Error_formatter10_Parameter20_M_print_descriptionEPKS0_@@GLIBCXX_3.4
+ FUNC:_ZNK11__gnu_debug16_Error_formatter13_M_print_wordEPKc@@GLIBCXX_3.4
+ FUNC:_ZNK11__gnu_debug16_Error_formatter15_M_print_stringEPKc@@GLIBCXX_3.4
++FUNC:_ZNK11__gnu_debug16_Error_formatter17_M_get_max_lengthEv@@GLIBCXX_3.4.10
+ FUNC:_ZNK11__gnu_debug16_Error_formatter8_M_errorEv@@GLIBCXX_3.4
+ FUNC:_ZNK11__gnu_debug19_Safe_iterator_base11_M_singularEv@@GLIBCXX_3.4
+ FUNC:_ZNK11__gnu_debug19_Safe_iterator_base14_M_can_compareERKS0_@@GLIBCXX_3.4
+@@ -203,6 +237,7 @@
+ FUNC:_ZNKSs8max_sizeEv@@GLIBCXX_3.4
+ FUNC:_ZNKSs9_M_ibeginEv@@GLIBCXX_3.4
+ FUNC:_ZNKSsixEm@@GLIBCXX_3.4
++FUNC:_ZNKSt10bad_typeid4whatEv@@GLIBCXX_3.4.9
+ FUNC:_ZNKSt10istrstream5rdbufEv@@GLIBCXX_3.4
+ FUNC:_ZNKSt10moneypunctIcLb0EE10neg_formatEv@@GLIBCXX_3.4
+ FUNC:_ZNKSt10moneypunctIcLb0EE10pos_formatEv@@GLIBCXX_3.4
+@@ -301,6 +336,7 @@
+ FUNC:_ZNKSt11logic_error4whatEv@@GLIBCXX_3.4
+ FUNC:_ZNKSt12__basic_fileIcE7is_openEv@@GLIBCXX_3.4
+ FUNC:_ZNKSt12strstreambuf6pcountEv@@GLIBCXX_3.4
++FUNC:_ZNKSt13bad_exception4whatEv@@GLIBCXX_3.4.9
+ FUNC:_ZNKSt13basic_filebufIcSt11char_traitsIcEE7is_openEv@@GLIBCXX_3.4
+ FUNC:_ZNKSt13basic_filebufIwSt11char_traitsIwEE7is_openEv@@GLIBCXX_3.4
+ FUNC:_ZNKSt13basic_fstreamIcSt11char_traitsIcEE5rdbufEv@@GLIBCXX_3.4
+@@ -341,6 +377,146 @@
+ FUNC:_ZNKSt15basic_streambufIwSt11char_traitsIwEE6getlocEv@@GLIBCXX_3.4
+ FUNC:_ZNKSt15basic_stringbufIcSt11char_traitsIcESaIcEE3strEv@@GLIBCXX_3.4
+ FUNC:_ZNKSt15basic_stringbufIwSt11char_traitsIwESaIwEE3strEv@@GLIBCXX_3.4
++FUNC:_ZNKSt17__gnu_cxx_ldbl1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE14_M_extract_intIjEES4_S4_S4_RSt8ios_baseRSt12_Ios_IostateRT_@@GLIBCXX_LDBL_3.4
++FUNC:_ZNKSt17__gnu_cxx_ldbl1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE14_M_extract_intIlEES4_S4_S4_RSt8ios_baseRSt12_Ios_IostateRT_@@GLIBCXX_LDBL_3.4
++FUNC:_ZNKSt17__gnu_cxx_ldbl1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE14_M_extract_intImEES4_S4_S4_RSt8ios_baseRSt12_Ios_IostateRT_@@GLIBCXX_LDBL_3.4
++FUNC:_ZNKSt17__gnu_cxx_ldbl1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE14_M_extract_intItEES4_S4_S4_RSt8ios_baseRSt12_Ios_IostateRT_@@GLIBCXX_LDBL_3.4
++FUNC:_ZNKSt17__gnu_cxx_ldbl1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE14_M_extract_intIxEES4_S4_S4_RSt8ios_baseRSt12_Ios_IostateRT_@@GLIBCXX_LDBL_3.4
++FUNC:_ZNKSt17__gnu_cxx_ldbl1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE14_M_extract_intIyEES4_S4_S4_RSt8ios_baseRSt12_Ios_IostateRT_@@GLIBCXX_LDBL_3.4
++FUNC:_ZNKSt17__gnu_cxx_ldbl1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE16_M_extract_floatES4_S4_RSt8ios_baseRSt12_Ios_IostateRSs@@GLIBCXX_LDBL_3.4
++FUNC:_ZNKSt17__gnu_cxx_ldbl1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES4_S4_RSt8ios_baseRSt12_Ios_IostateRPv@@GLIBCXX_LDBL_3.4
++FUNC:_ZNKSt17__gnu_cxx_ldbl1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES4_S4_RSt8ios_baseRSt12_Ios_IostateRb@@GLIBCXX_LDBL_3.4
++FUNC:_ZNKSt17__gnu_cxx_ldbl1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES4_S4_RSt8ios_baseRSt12_Ios_IostateRd@@GLIBCXX_LDBL_3.4
++FUNC:_ZNKSt17__gnu_cxx_ldbl1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES4_S4_RSt8ios_baseRSt12_Ios_IostateRf@@GLIBCXX_LDBL_3.4
++FUNC:_ZNKSt17__gnu_cxx_ldbl1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES4_S4_RSt8ios_baseRSt12_Ios_IostateRg@@GLIBCXX_LDBL_3.4
++FUNC:_ZNKSt17__gnu_cxx_ldbl1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES4_S4_RSt8ios_baseRSt12_Ios_IostateRj@@GLIBCXX_LDBL_3.4
++FUNC:_ZNKSt17__gnu_cxx_ldbl1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES4_S4_RSt8ios_baseRSt12_Ios_IostateRl@@GLIBCXX_LDBL_3.4
++FUNC:_ZNKSt17__gnu_cxx_ldbl1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES4_S4_RSt8ios_baseRSt12_Ios_IostateRm@@GLIBCXX_LDBL_3.4
++FUNC:_ZNKSt17__gnu_cxx_ldbl1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES4_S4_RSt8ios_baseRSt12_Ios_IostateRt@@GLIBCXX_LDBL_3.4
++FUNC:_ZNKSt17__gnu_cxx_ldbl1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES4_S4_RSt8ios_baseRSt12_Ios_IostateRx@@GLIBCXX_LDBL_3.4
++FUNC:_ZNKSt17__gnu_cxx_ldbl1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES4_S4_RSt8ios_baseRSt12_Ios_IostateRy@@GLIBCXX_LDBL_3.4
++FUNC:_ZNKSt17__gnu_cxx_ldbl1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES4_S4_RSt8ios_baseRSt12_Ios_IostateRPv@@GLIBCXX_LDBL_3.4
++FUNC:_ZNKSt17__gnu_cxx_ldbl1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES4_S4_RSt8ios_baseRSt12_Ios_IostateRb@@GLIBCXX_LDBL_3.4
++FUNC:_ZNKSt17__gnu_cxx_ldbl1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES4_S4_RSt8ios_baseRSt12_Ios_IostateRd@@GLIBCXX_LDBL_3.4
++FUNC:_ZNKSt17__gnu_cxx_ldbl1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES4_S4_RSt8ios_baseRSt12_Ios_IostateRf@@GLIBCXX_LDBL_3.4
++FUNC:_ZNKSt17__gnu_cxx_ldbl1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES4_S4_RSt8ios_baseRSt12_Ios_IostateRg@@GLIBCXX_LDBL_3.4
++FUNC:_ZNKSt17__gnu_cxx_ldbl1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES4_S4_RSt8ios_baseRSt12_Ios_IostateRj@@GLIBCXX_LDBL_3.4
++FUNC:_ZNKSt17__gnu_cxx_ldbl1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES4_S4_RSt8ios_baseRSt12_Ios_IostateRl@@GLIBCXX_LDBL_3.4
++FUNC:_ZNKSt17__gnu_cxx_ldbl1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES4_S4_RSt8ios_baseRSt12_Ios_IostateRm@@GLIBCXX_LDBL_3.4
++FUNC:_ZNKSt17__gnu_cxx_ldbl1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES4_S4_RSt8ios_baseRSt12_Ios_IostateRt@@GLIBCXX_LDBL_3.4
++FUNC:_ZNKSt17__gnu_cxx_ldbl1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES4_S4_RSt8ios_baseRSt12_Ios_IostateRx@@GLIBCXX_LDBL_3.4
++FUNC:_ZNKSt17__gnu_cxx_ldbl1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES4_S4_RSt8ios_baseRSt12_Ios_IostateRy@@GLIBCXX_LDBL_3.4
++FUNC:_ZNKSt17__gnu_cxx_ldbl1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE8__do_getES4_S4_RSt8ios_baseRSt12_Ios_IostateRd@@GLIBCXX_LDBL_3.4
++FUNC:_ZNKSt17__gnu_cxx_ldbl1287num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE14_M_extract_intIjEES4_S4_S4_RSt8ios_baseRSt12_Ios_IostateRT_@@GLIBCXX_LDBL_3.4
++FUNC:_ZNKSt17__gnu_cxx_ldbl1287num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE14_M_extract_intIlEES4_S4_S4_RSt8ios_baseRSt12_Ios_IostateRT_@@GLIBCXX_LDBL_3.4
++FUNC:_ZNKSt17__gnu_cxx_ldbl1287num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE14_M_extract_intImEES4_S4_S4_RSt8ios_baseRSt12_Ios_IostateRT_@@GLIBCXX_LDBL_3.4
++FUNC:_ZNKSt17__gnu_cxx_ldbl1287num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE14_M_extract_intItEES4_S4_S4_RSt8ios_baseRSt12_Ios_IostateRT_@@GLIBCXX_LDBL_3.4
++FUNC:_ZNKSt17__gnu_cxx_ldbl1287num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE14_M_extract_intIxEES4_S4_S4_RSt8ios_baseRSt12_Ios_IostateRT_@@GLIBCXX_LDBL_3.4
++FUNC:_ZNKSt17__gnu_cxx_ldbl1287num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE14_M_extract_intIyEES4_S4_S4_RSt8ios_baseRSt12_Ios_IostateRT_@@GLIBCXX_LDBL_3.4
++FUNC:_ZNKSt17__gnu_cxx_ldbl1287num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE16_M_extract_floatES4_S4_RSt8ios_baseRSt12_Ios_IostateRSs@@GLIBCXX_LDBL_3.4
++FUNC:_ZNKSt17__gnu_cxx_ldbl1287num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES4_S4_RSt8ios_baseRSt12_Ios_IostateRPv@@GLIBCXX_LDBL_3.4
++FUNC:_ZNKSt17__gnu_cxx_ldbl1287num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES4_S4_RSt8ios_baseRSt12_Ios_IostateRb@@GLIBCXX_LDBL_3.4
++FUNC:_ZNKSt17__gnu_cxx_ldbl1287num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES4_S4_RSt8ios_baseRSt12_Ios_IostateRd@@GLIBCXX_LDBL_3.4
++FUNC:_ZNKSt17__gnu_cxx_ldbl1287num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES4_S4_RSt8ios_baseRSt12_Ios_IostateRf@@GLIBCXX_LDBL_3.4
++FUNC:_ZNKSt17__gnu_cxx_ldbl1287num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES4_S4_RSt8ios_baseRSt12_Ios_IostateRg@@GLIBCXX_LDBL_3.4
++FUNC:_ZNKSt17__gnu_cxx_ldbl1287num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES4_S4_RSt8ios_baseRSt12_Ios_IostateRj@@GLIBCXX_LDBL_3.4
++FUNC:_ZNKSt17__gnu_cxx_ldbl1287num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES4_S4_RSt8ios_baseRSt12_Ios_IostateRl@@GLIBCXX_LDBL_3.4
++FUNC:_ZNKSt17__gnu_cxx_ldbl1287num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES4_S4_RSt8ios_baseRSt12_Ios_IostateRm@@GLIBCXX_LDBL_3.4
++FUNC:_ZNKSt17__gnu_cxx_ldbl1287num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES4_S4_RSt8ios_baseRSt12_Ios_IostateRt@@GLIBCXX_LDBL_3.4
++FUNC:_ZNKSt17__gnu_cxx_ldbl1287num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES4_S4_RSt8ios_baseRSt12_Ios_IostateRx@@GLIBCXX_LDBL_3.4
++FUNC:_ZNKSt17__gnu_cxx_ldbl1287num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES4_S4_RSt8ios_baseRSt12_Ios_IostateRy@@GLIBCXX_LDBL_3.4
++FUNC:_ZNKSt17__gnu_cxx_ldbl1287num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES4_S4_RSt8ios_baseRSt12_Ios_IostateRPv@@GLIBCXX_LDBL_3.4
++FUNC:_ZNKSt17__gnu_cxx_ldbl1287num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES4_S4_RSt8ios_baseRSt12_Ios_IostateRb@@GLIBCXX_LDBL_3.4
++FUNC:_ZNKSt17__gnu_cxx_ldbl1287num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES4_S4_RSt8ios_baseRSt12_Ios_IostateRd@@GLIBCXX_LDBL_3.4
++FUNC:_ZNKSt17__gnu_cxx_ldbl1287num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES4_S4_RSt8ios_baseRSt12_Ios_IostateRf@@GLIBCXX_LDBL_3.4
++FUNC:_ZNKSt17__gnu_cxx_ldbl1287num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES4_S4_RSt8ios_baseRSt12_Ios_IostateRg@@GLIBCXX_LDBL_3.4
++FUNC:_ZNKSt17__gnu_cxx_ldbl1287num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES4_S4_RSt8ios_baseRSt12_Ios_IostateRj@@GLIBCXX_LDBL_3.4
++FUNC:_ZNKSt17__gnu_cxx_ldbl1287num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES4_S4_RSt8ios_baseRSt12_Ios_IostateRl@@GLIBCXX_LDBL_3.4
++FUNC:_ZNKSt17__gnu_cxx_ldbl1287num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES4_S4_RSt8ios_baseRSt12_Ios_IostateRm@@GLIBCXX_LDBL_3.4
++FUNC:_ZNKSt17__gnu_cxx_ldbl1287num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES4_S4_RSt8ios_baseRSt12_Ios_IostateRt@@GLIBCXX_LDBL_3.4
++FUNC:_ZNKSt17__gnu_cxx_ldbl1287num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES4_S4_RSt8ios_baseRSt12_Ios_IostateRx@@GLIBCXX_LDBL_3.4
++FUNC:_ZNKSt17__gnu_cxx_ldbl1287num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES4_S4_RSt8ios_baseRSt12_Ios_IostateRy@@GLIBCXX_LDBL_3.4
++FUNC:_ZNKSt17__gnu_cxx_ldbl1287num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE8__do_getES4_S4_RSt8ios_baseRSt12_Ios_IostateRd@@GLIBCXX_LDBL_3.4
++FUNC:_ZNKSt17__gnu_cxx_ldbl1287num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE12_M_group_intEPKcmcRSt8ios_basePcSA_Ri@@GLIBCXX_LDBL_3.4
++FUNC:_ZNKSt17__gnu_cxx_ldbl1287num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE13_M_insert_intIlEES4_S4_RSt8ios_basecT_@@GLIBCXX_LDBL_3.4
++FUNC:_ZNKSt17__gnu_cxx_ldbl1287num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE13_M_insert_intImEES4_S4_RSt8ios_basecT_@@GLIBCXX_LDBL_3.4
++FUNC:_ZNKSt17__gnu_cxx_ldbl1287num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE13_M_insert_intIxEES4_S4_RSt8ios_basecT_@@GLIBCXX_LDBL_3.4
++FUNC:_ZNKSt17__gnu_cxx_ldbl1287num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE13_M_insert_intIyEES4_S4_RSt8ios_basecT_@@GLIBCXX_LDBL_3.4
++FUNC:_ZNKSt17__gnu_cxx_ldbl1287num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE14_M_group_floatEPKcmcS7_PcS8_Ri@@GLIBCXX_LDBL_3.4
++FUNC:_ZNKSt17__gnu_cxx_ldbl1287num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE15_M_insert_floatIdEES4_S4_RSt8ios_baseccT_@@GLIBCXX_LDBL_3.4
++FUNC:_ZNKSt17__gnu_cxx_ldbl1287num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE15_M_insert_floatIgEES4_S4_RSt8ios_baseccT_@@GLIBCXX_LDBL_3.4
++FUNC:_ZNKSt17__gnu_cxx_ldbl1287num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES4_RSt8ios_basecPKv@@GLIBCXX_LDBL_3.4
++FUNC:_ZNKSt17__gnu_cxx_ldbl1287num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES4_RSt8ios_basecb@@GLIBCXX_LDBL_3.4
++FUNC:_ZNKSt17__gnu_cxx_ldbl1287num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES4_RSt8ios_basecd@@GLIBCXX_LDBL_3.4
++FUNC:_ZNKSt17__gnu_cxx_ldbl1287num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES4_RSt8ios_basecg@@GLIBCXX_LDBL_3.4
++FUNC:_ZNKSt17__gnu_cxx_ldbl1287num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES4_RSt8ios_basecl@@GLIBCXX_LDBL_3.4
++FUNC:_ZNKSt17__gnu_cxx_ldbl1287num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES4_RSt8ios_basecm@@GLIBCXX_LDBL_3.4
++FUNC:_ZNKSt17__gnu_cxx_ldbl1287num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES4_RSt8ios_basecx@@GLIBCXX_LDBL_3.4
++FUNC:_ZNKSt17__gnu_cxx_ldbl1287num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES4_RSt8ios_basecy@@GLIBCXX_LDBL_3.4
++FUNC:_ZNKSt17__gnu_cxx_ldbl1287num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6_M_padEciRSt8ios_basePcPKcRi@@GLIBCXX_LDBL_3.4
++FUNC:_ZNKSt17__gnu_cxx_ldbl1287num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES4_RSt8ios_basecPKv@@GLIBCXX_LDBL_3.4
++FUNC:_ZNKSt17__gnu_cxx_ldbl1287num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES4_RSt8ios_basecb@@GLIBCXX_LDBL_3.4
++FUNC:_ZNKSt17__gnu_cxx_ldbl1287num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES4_RSt8ios_basecd@@GLIBCXX_LDBL_3.4
++FUNC:_ZNKSt17__gnu_cxx_ldbl1287num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES4_RSt8ios_basecg@@GLIBCXX_LDBL_3.4
++FUNC:_ZNKSt17__gnu_cxx_ldbl1287num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES4_RSt8ios_basecl@@GLIBCXX_LDBL_3.4
++FUNC:_ZNKSt17__gnu_cxx_ldbl1287num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES4_RSt8ios_basecm@@GLIBCXX_LDBL_3.4
++FUNC:_ZNKSt17__gnu_cxx_ldbl1287num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES4_RSt8ios_basecx@@GLIBCXX_LDBL_3.4
++FUNC:_ZNKSt17__gnu_cxx_ldbl1287num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES4_RSt8ios_basecy@@GLIBCXX_LDBL_3.4
++FUNC:_ZNKSt17__gnu_cxx_ldbl1287num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE8__do_putES4_RSt8ios_basecd@@GLIBCXX_LDBL_3.4
++FUNC:_ZNKSt17__gnu_cxx_ldbl1287num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE12_M_group_intEPKcmwRSt8ios_basePwSA_Ri@@GLIBCXX_LDBL_3.4
++FUNC:_ZNKSt17__gnu_cxx_ldbl1287num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE13_M_insert_intIlEES4_S4_RSt8ios_basewT_@@GLIBCXX_LDBL_3.4
++FUNC:_ZNKSt17__gnu_cxx_ldbl1287num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE13_M_insert_intImEES4_S4_RSt8ios_basewT_@@GLIBCXX_LDBL_3.4
++FUNC:_ZNKSt17__gnu_cxx_ldbl1287num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE13_M_insert_intIxEES4_S4_RSt8ios_basewT_@@GLIBCXX_LDBL_3.4
++FUNC:_ZNKSt17__gnu_cxx_ldbl1287num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE13_M_insert_intIyEES4_S4_RSt8ios_basewT_@@GLIBCXX_LDBL_3.4
++FUNC:_ZNKSt17__gnu_cxx_ldbl1287num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE14_M_group_floatEPKcmwPKwPwSA_Ri@@GLIBCXX_LDBL_3.4
++FUNC:_ZNKSt17__gnu_cxx_ldbl1287num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE15_M_insert_floatIdEES4_S4_RSt8ios_basewcT_@@GLIBCXX_LDBL_3.4
++FUNC:_ZNKSt17__gnu_cxx_ldbl1287num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE15_M_insert_floatIgEES4_S4_RSt8ios_basewcT_@@GLIBCXX_LDBL_3.4
++FUNC:_ZNKSt17__gnu_cxx_ldbl1287num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES4_RSt8ios_basewPKv@@GLIBCXX_LDBL_3.4
++FUNC:_ZNKSt17__gnu_cxx_ldbl1287num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES4_RSt8ios_basewb@@GLIBCXX_LDBL_3.4
++FUNC:_ZNKSt17__gnu_cxx_ldbl1287num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES4_RSt8ios_basewd@@GLIBCXX_LDBL_3.4
++FUNC:_ZNKSt17__gnu_cxx_ldbl1287num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES4_RSt8ios_basewg@@GLIBCXX_LDBL_3.4
++FUNC:_ZNKSt17__gnu_cxx_ldbl1287num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES4_RSt8ios_basewl@@GLIBCXX_LDBL_3.4
++FUNC:_ZNKSt17__gnu_cxx_ldbl1287num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES4_RSt8ios_basewm@@GLIBCXX_LDBL_3.4
++FUNC:_ZNKSt17__gnu_cxx_ldbl1287num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES4_RSt8ios_basewx@@GLIBCXX_LDBL_3.4
++FUNC:_ZNKSt17__gnu_cxx_ldbl1287num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES4_RSt8ios_basewy@@GLIBCXX_LDBL_3.4
++FUNC:_ZNKSt17__gnu_cxx_ldbl1287num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6_M_padEwiRSt8ios_basePwPKwRi@@GLIBCXX_LDBL_3.4
++FUNC:_ZNKSt17__gnu_cxx_ldbl1287num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES4_RSt8ios_basewPKv@@GLIBCXX_LDBL_3.4
++FUNC:_ZNKSt17__gnu_cxx_ldbl1287num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES4_RSt8ios_basewb@@GLIBCXX_LDBL_3.4
++FUNC:_ZNKSt17__gnu_cxx_ldbl1287num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES4_RSt8ios_basewd@@GLIBCXX_LDBL_3.4
++FUNC:_ZNKSt17__gnu_cxx_ldbl1287num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES4_RSt8ios_basewg@@GLIBCXX_LDBL_3.4
++FUNC:_ZNKSt17__gnu_cxx_ldbl1287num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES4_RSt8ios_basewl@@GLIBCXX_LDBL_3.4
++FUNC:_ZNKSt17__gnu_cxx_ldbl1287num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES4_RSt8ios_basewm@@GLIBCXX_LDBL_3.4
++FUNC:_ZNKSt17__gnu_cxx_ldbl1287num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES4_RSt8ios_basewx@@GLIBCXX_LDBL_3.4
++FUNC:_ZNKSt17__gnu_cxx_ldbl1287num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES4_RSt8ios_basewy@@GLIBCXX_LDBL_3.4
++FUNC:_ZNKSt17__gnu_cxx_ldbl1287num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE8__do_putES4_RSt8ios_basewd@@GLIBCXX_LDBL_3.4
++FUNC:_ZNKSt17__gnu_cxx_ldbl1289money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE10_M_extractILb0EEES4_S4_S4_RSt8ios_baseRSt12_Ios_IostateRSs@@GLIBCXX_LDBL_3.4
++FUNC:_ZNKSt17__gnu_cxx_ldbl1289money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE10_M_extractILb1EEES4_S4_S4_RSt8ios_baseRSt12_Ios_IostateRSs@@GLIBCXX_LDBL_3.4
++FUNC:_ZNKSt17__gnu_cxx_ldbl1289money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES4_S4_bRSt8ios_baseRSt12_Ios_IostateRSs@@GLIBCXX_LDBL_3.4
++FUNC:_ZNKSt17__gnu_cxx_ldbl1289money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES4_S4_bRSt8ios_baseRSt12_Ios_IostateRg@@GLIBCXX_LDBL_3.4
++FUNC:_ZNKSt17__gnu_cxx_ldbl1289money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES4_S4_bRSt8ios_baseRSt12_Ios_IostateRSs@@GLIBCXX_LDBL_3.4
++FUNC:_ZNKSt17__gnu_cxx_ldbl1289money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES4_S4_bRSt8ios_baseRSt12_Ios_IostateRg@@GLIBCXX_LDBL_3.4
++FUNC:_ZNKSt17__gnu_cxx_ldbl1289money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE8__do_getES4_S4_bRSt8ios_baseRSt12_Ios_IostateRd@@GLIBCXX_LDBL_3.4
++FUNC:_ZNKSt17__gnu_cxx_ldbl1289money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE10_M_extractILb0EEES4_S4_S4_RSt8ios_baseRSt12_Ios_IostateRSs@@GLIBCXX_LDBL_3.4
++FUNC:_ZNKSt17__gnu_cxx_ldbl1289money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE10_M_extractILb1EEES4_S4_S4_RSt8ios_baseRSt12_Ios_IostateRSs@@GLIBCXX_LDBL_3.4
++FUNC:_ZNKSt17__gnu_cxx_ldbl1289money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES4_S4_bRSt8ios_baseRSt12_Ios_IostateRSbIwS3_SaIwEE@@GLIBCXX_LDBL_3.4
++FUNC:_ZNKSt17__gnu_cxx_ldbl1289money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES4_S4_bRSt8ios_baseRSt12_Ios_IostateRg@@GLIBCXX_LDBL_3.4
++FUNC:_ZNKSt17__gnu_cxx_ldbl1289money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES4_S4_bRSt8ios_baseRSt12_Ios_IostateRSbIwS3_SaIwEE@@GLIBCXX_LDBL_3.4
++FUNC:_ZNKSt17__gnu_cxx_ldbl1289money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES4_S4_bRSt8ios_baseRSt12_Ios_IostateRg@@GLIBCXX_LDBL_3.4
++FUNC:_ZNKSt17__gnu_cxx_ldbl1289money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE8__do_getES4_S4_bRSt8ios_baseRSt12_Ios_IostateRd@@GLIBCXX_LDBL_3.4
++FUNC:_ZNKSt17__gnu_cxx_ldbl1289money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES4_bRSt8ios_basecRKSs@@GLIBCXX_LDBL_3.4
++FUNC:_ZNKSt17__gnu_cxx_ldbl1289money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES4_bRSt8ios_basecg@@GLIBCXX_LDBL_3.4
++FUNC:_ZNKSt17__gnu_cxx_ldbl1289money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES4_bRSt8ios_basecRKSs@@GLIBCXX_LDBL_3.4
++FUNC:_ZNKSt17__gnu_cxx_ldbl1289money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES4_bRSt8ios_basecg@@GLIBCXX_LDBL_3.4
++FUNC:_ZNKSt17__gnu_cxx_ldbl1289money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE8__do_putES4_bRSt8ios_basecd@@GLIBCXX_LDBL_3.4
++FUNC:_ZNKSt17__gnu_cxx_ldbl1289money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE9_M_insertILb0EEES4_S4_RSt8ios_basecRKSs@@GLIBCXX_LDBL_3.4
++FUNC:_ZNKSt17__gnu_cxx_ldbl1289money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE9_M_insertILb1EEES4_S4_RSt8ios_basecRKSs@@GLIBCXX_LDBL_3.4
++FUNC:_ZNKSt17__gnu_cxx_ldbl1289money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES4_bRSt8ios_basewRKSbIwS3_SaIwEE@@GLIBCXX_LDBL_3.4
++FUNC:_ZNKSt17__gnu_cxx_ldbl1289money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES4_bRSt8ios_basewg@@GLIBCXX_LDBL_3.4
++FUNC:_ZNKSt17__gnu_cxx_ldbl1289money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES4_bRSt8ios_basewRKSbIwS3_SaIwEE@@GLIBCXX_LDBL_3.4
++FUNC:_ZNKSt17__gnu_cxx_ldbl1289money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES4_bRSt8ios_basewg@@GLIBCXX_LDBL_3.4
++FUNC:_ZNKSt17__gnu_cxx_ldbl1289money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE8__do_putES4_bRSt8ios_basewd@@GLIBCXX_LDBL_3.4
++FUNC:_ZNKSt17__gnu_cxx_ldbl1289money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE9_M_insertILb0EEES4_S4_RSt8ios_basewRKSbIwS3_SaIwEE@@GLIBCXX_LDBL_3.4
++FUNC:_ZNKSt17__gnu_cxx_ldbl1289money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE9_M_insertILb1EEES4_S4_RSt8ios_basewRKSbIwS3_SaIwEE@@GLIBCXX_LDBL_3.4
+ FUNC:_ZNKSt18basic_stringstreamIcSt11char_traitsIcESaIcEE3strEv@@GLIBCXX_3.4
+ FUNC:_ZNKSt18basic_stringstreamIcSt11char_traitsIcESaIcEE5rdbufEv@@GLIBCXX_3.4
+ FUNC:_ZNKSt18basic_stringstreamIwSt11char_traitsIwESaIwEE3strEv@@GLIBCXX_3.4
+@@ -353,6 +529,18 @@
+ FUNC:_ZNKSt19basic_ostringstreamIcSt11char_traitsIcESaIcEE5rdbufEv@@GLIBCXX_3.4
+ FUNC:_ZNKSt19basic_ostringstreamIwSt11char_traitsIwESaIwEE3strEv@@GLIBCXX_3.4
+ FUNC:_ZNKSt19basic_ostringstreamIwSt11char_traitsIwESaIwEE5rdbufEv@@GLIBCXX_3.4
++FUNC:_ZNKSt3tr14hashIRKSbIwSt11char_traitsIwESaIwEEEclES6_@@GLIBCXX_3.4.10
++FUNC:_ZNKSt3tr14hashIRKSsEclES2_@@GLIBCXX_3.4.10
++FUNC:_ZNKSt3tr14hashISbIwSt11char_traitsIwESaIwEEEclES4_@@GLIBCXX_3.4.10
++FUNC:_ZNKSt3tr14hashISsEclESs@@GLIBCXX_3.4.10
++FUNC:_ZNKSt3tr14hashIeEclEe@@GLIBCXX_3.4.10
++FUNC:_ZNKSt3tr14hashIgEclEg@@GLIBCXX_LDBL_3.4.10
++FUNC:_ZNKSt4hashIRKSbIwSt11char_traitsIwESaIwEEEclES5_@@GLIBCXX_3.4.10
++FUNC:_ZNKSt4hashIRKSsEclES1_@@GLIBCXX_3.4.10
++FUNC:_ZNKSt4hashISbIwSt11char_traitsIwESaIwEEEclES3_@@GLIBCXX_3.4.10
++FUNC:_ZNKSt4hashISsEclESs@@GLIBCXX_3.4.10
++FUNC:_ZNKSt4hashIeEclEe@@GLIBCXX_3.4.10
++FUNC:_ZNKSt4hashIgEclEg@@GLIBCXX_LDBL_3.4.10
+ FUNC:_ZNKSt5ctypeIcE10do_tolowerEPcPKc@@GLIBCXX_3.4
+ FUNC:_ZNKSt5ctypeIcE10do_tolowerEc@@GLIBCXX_3.4
+ FUNC:_ZNKSt5ctypeIcE10do_toupperEPcPKc@@GLIBCXX_3.4
+@@ -515,6 +703,7 @@
+ FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES3_RSt8ios_basewm@@GLIBCXX_3.4
+ FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES3_RSt8ios_basewx@@GLIBCXX_3.4
+ FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES3_RSt8ios_basewy@@GLIBCXX_3.4
++FUNC:_ZNKSt8bad_cast4whatEv@@GLIBCXX_3.4.9
+ FUNC:_ZNKSt8ios_base7failure4whatEv@@GLIBCXX_3.4
+ FUNC:_ZNKSt8messagesIcE18_M_convert_to_charERKSs@@GLIBCXX_3.4
+ FUNC:_ZNKSt8messagesIcE20_M_convert_from_charEPc@@GLIBCXX_3.4
+@@ -591,6 +780,7 @@
+ FUNC:_ZNKSt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES3_RSt8ios_basewPK2tmcc@@GLIBCXX_3.4
+ FUNC:_ZNKSt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES3_RSt8ios_basewPK2tmcc@@GLIBCXX_3.4
+ FUNC:_ZNKSt8valarrayImE4sizeEv@@GLIBCXX_3.4
++FUNC:_ZNKSt9bad_alloc4whatEv@@GLIBCXX_3.4.9
+ FUNC:_ZNKSt9basic_iosIcSt11char_traitsIcEE10exceptionsEv@@GLIBCXX_3.4
+ FUNC:_ZNKSt9basic_iosIcSt11char_traitsIcEE3badEv@@GLIBCXX_3.4
+ FUNC:_ZNKSt9basic_iosIcSt11char_traitsIcEE3eofEv@@GLIBCXX_3.4
+@@ -774,6 +964,18 @@
+ FUNC:_ZNSdD0Ev@@GLIBCXX_3.4
+ FUNC:_ZNSdD1Ev@@GLIBCXX_3.4
+ FUNC:_ZNSdD2Ev@@GLIBCXX_3.4
++FUNC:_ZNSi10_M_extractIPvEERSiRT_@@GLIBCXX_3.4.9
++FUNC:_ZNSi10_M_extractIbEERSiRT_@@GLIBCXX_3.4.9
++FUNC:_ZNSi10_M_extractIdEERSiRT_@@GLIBCXX_3.4.9
++FUNC:_ZNSi10_M_extractIeEERSiRT_@@GLIBCXX_3.4.9
++FUNC:_ZNSi10_M_extractIfEERSiRT_@@GLIBCXX_3.4.9
++FUNC:_ZNSi10_M_extractIgEERSiRT_@@GLIBCXX_LDBL_3.4.7
++FUNC:_ZNSi10_M_extractIjEERSiRT_@@GLIBCXX_3.4.9
++FUNC:_ZNSi10_M_extractIlEERSiRT_@@GLIBCXX_3.4.9
++FUNC:_ZNSi10_M_extractImEERSiRT_@@GLIBCXX_3.4.9
++FUNC:_ZNSi10_M_extractItEERSiRT_@@GLIBCXX_3.4.9
++FUNC:_ZNSi10_M_extractIxEERSiRT_@@GLIBCXX_3.4.9
++FUNC:_ZNSi10_M_extractIyEERSiRT_@@GLIBCXX_3.4.9
+ FUNC:_ZNSi3getEPci@@GLIBCXX_3.4
+ FUNC:_ZNSi3getEPcic@@GLIBCXX_3.4
+ FUNC:_ZNSi3getERSt15basic_streambufIcSt11char_traitsIcEE@@GLIBCXX_3.4
+@@ -814,6 +1016,7 @@
+ FUNC:_ZNSirsERd@@GLIBCXX_3.4
+ FUNC:_ZNSirsERe@@GLIBCXX_3.4
+ FUNC:_ZNSirsERf@@GLIBCXX_3.4
++FUNC:_ZNSirsERg@@GLIBCXX_LDBL_3.4
+ FUNC:_ZNSirsERi@@GLIBCXX_3.4
+ FUNC:_ZNSirsERj@@GLIBCXX_3.4
+ FUNC:_ZNSirsERl@@GLIBCXX_3.4
+@@ -833,6 +1036,15 @@
+ FUNC:_ZNSo6sentryD1Ev@@GLIBCXX_3.4
+ FUNC:_ZNSo6sentryD2Ev@@GLIBCXX_3.4
+ FUNC:_ZNSo8_M_writeEPKci@@GLIBCXX_3.4
++FUNC:_ZNSo9_M_insertIPKvEERSoT_@@GLIBCXX_3.4.9
++FUNC:_ZNSo9_M_insertIbEERSoT_@@GLIBCXX_3.4.9
++FUNC:_ZNSo9_M_insertIdEERSoT_@@GLIBCXX_3.4.9
++FUNC:_ZNSo9_M_insertIeEERSoT_@@GLIBCXX_3.4.9
++FUNC:_ZNSo9_M_insertIgEERSoT_@@GLIBCXX_LDBL_3.4.7
++FUNC:_ZNSo9_M_insertIlEERSoT_@@GLIBCXX_3.4.9
++FUNC:_ZNSo9_M_insertImEERSoT_@@GLIBCXX_3.4.9
++FUNC:_ZNSo9_M_insertIxEERSoT_@@GLIBCXX_3.4.9
++FUNC:_ZNSo9_M_insertIyEERSoT_@@GLIBCXX_3.4.9
+ FUNC:_ZNSoC1EPSt15basic_streambufIcSt11char_traitsIcEE@@GLIBCXX_3.4
+ FUNC:_ZNSoC1Ev@@GLIBCXX_3.4
+ FUNC:_ZNSoC2EPSt15basic_streambufIcSt11char_traitsIcEE@@GLIBCXX_3.4
+@@ -849,6 +1061,7 @@
+ FUNC:_ZNSolsEd@@GLIBCXX_3.4
+ FUNC:_ZNSolsEe@@GLIBCXX_3.4
+ FUNC:_ZNSolsEf@@GLIBCXX_3.4
++FUNC:_ZNSolsEg@@GLIBCXX_LDBL_3.4
+ FUNC:_ZNSolsEi@@GLIBCXX_3.4
+ FUNC:_ZNSolsEj@@GLIBCXX_3.4
+ FUNC:_ZNSolsEl@@GLIBCXX_3.4
+@@ -1206,6 +1419,18 @@
+ FUNC:_ZNSt13basic_fstreamIwSt11char_traitsIwEED0Ev@@GLIBCXX_3.4
+ FUNC:_ZNSt13basic_fstreamIwSt11char_traitsIwEED1Ev@@GLIBCXX_3.4
+ FUNC:_ZNSt13basic_fstreamIwSt11char_traitsIwEED2Ev@@GLIBCXX_3.4
++FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE10_M_extractIPvEERS2_RT_@@GLIBCXX_3.4.9
++FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE10_M_extractIbEERS2_RT_@@GLIBCXX_3.4.9
++FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE10_M_extractIdEERS2_RT_@@GLIBCXX_3.4.9
++FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE10_M_extractIeEERS2_RT_@@GLIBCXX_3.4.9
++FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE10_M_extractIfEERS2_RT_@@GLIBCXX_3.4.9
++FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE10_M_extractIgEERS2_RT_@@GLIBCXX_LDBL_3.4.7
++FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE10_M_extractIjEERS2_RT_@@GLIBCXX_3.4.9
++FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE10_M_extractIlEERS2_RT_@@GLIBCXX_3.4.9
++FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE10_M_extractImEERS2_RT_@@GLIBCXX_3.4.9
++FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE10_M_extractItEERS2_RT_@@GLIBCXX_3.4.9
++FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE10_M_extractIxEERS2_RT_@@GLIBCXX_3.4.9
++FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE10_M_extractIyEERS2_RT_@@GLIBCXX_3.4.9
+ FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE3getEPwi@@GLIBCXX_3.4
+ FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE3getEPwiw@@GLIBCXX_3.4
+ FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE3getERSt15basic_streambufIwS1_E@@GLIBCXX_3.4
+@@ -1246,6 +1471,7 @@
+ FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsERd@@GLIBCXX_3.4
+ FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsERe@@GLIBCXX_3.4
+ FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsERf@@GLIBCXX_3.4
++FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsERg@@GLIBCXX_LDBL_3.4
+ FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsERi@@GLIBCXX_3.4
+ FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsERj@@GLIBCXX_3.4
+ FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsERl@@GLIBCXX_3.4
+@@ -1265,6 +1491,15 @@
+ FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEE6sentryD1Ev@@GLIBCXX_3.4
+ FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEE6sentryD2Ev@@GLIBCXX_3.4
+ FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEE8_M_writeEPKwi@@GLIBCXX_3.4
++FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEE9_M_insertIPKvEERS2_T_@@GLIBCXX_3.4.9
++FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEE9_M_insertIbEERS2_T_@@GLIBCXX_3.4.9
++FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEE9_M_insertIdEERS2_T_@@GLIBCXX_3.4.9
++FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEE9_M_insertIeEERS2_T_@@GLIBCXX_3.4.9
++FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEE9_M_insertIgEERS2_T_@@GLIBCXX_LDBL_3.4.7
++FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEE9_M_insertIlEERS2_T_@@GLIBCXX_3.4.9
++FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEE9_M_insertImEERS2_T_@@GLIBCXX_3.4.9
++FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEE9_M_insertIxEERS2_T_@@GLIBCXX_3.4.9
++FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEE9_M_insertIyEERS2_T_@@GLIBCXX_3.4.9
+ FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEEC1EPSt15basic_streambufIwS1_E@@GLIBCXX_3.4
+ FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEEC1Ev@@GLIBCXX_3.4
+ FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEEC2EPSt15basic_streambufIwS1_E@@GLIBCXX_3.4
+@@ -1281,6 +1516,7 @@
+ FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEd@@GLIBCXX_3.4
+ FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEe@@GLIBCXX_3.4
+ FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEf@@GLIBCXX_3.4
++FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEg@@GLIBCXX_LDBL_3.4
+ FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEi@@GLIBCXX_3.4
+ FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEj@@GLIBCXX_3.4
+ FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEl@@GLIBCXX_3.4
+@@ -1386,6 +1622,7 @@
+ FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE6sbumpcEv@@GLIBCXX_3.4
+ FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE6setbufEPci@@GLIBCXX_3.4
+ FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE6snextcEv@@GLIBCXX_3.4
++FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE6stosscEv@@GLIBCXX_3.4.10
+ FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE6xsgetnEPci@@GLIBCXX_3.4
+ FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE6xsputnEPKci@@GLIBCXX_3.4
+ FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE7pubsyncEv@@GLIBCXX_3.4
+@@ -1424,6 +1661,7 @@
+ FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE6sbumpcEv@@GLIBCXX_3.4
+ FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE6setbufEPwi@@GLIBCXX_3.4
+ FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE6snextcEv@@GLIBCXX_3.4
++FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE6stosscEv@@GLIBCXX_3.4.10
+ FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE6xsgetnEPwi@@GLIBCXX_3.4
+ FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE6xsputnEPKwi@@GLIBCXX_3.4
+ FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE7pubsyncEv@@GLIBCXX_3.4
+@@ -1455,6 +1693,7 @@
+ FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE7seekposESt4fposI11__mbstate_tESt13_Ios_Openmode@@GLIBCXX_3.4
+ FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE8overflowEi@@GLIBCXX_3.4
+ FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE9pbackfailEi@@GLIBCXX_3.4
++FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE9showmanycEv@@GLIBCXX_3.4.6
+ FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE9underflowEv@@GLIBCXX_3.4
+ FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEEC1ERKSsSt13_Ios_Openmode@@GLIBCXX_3.4
+ FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEEC1ESt13_Ios_Openmode@@GLIBCXX_3.4
+@@ -1471,6 +1710,7 @@
+ FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEE7seekposESt4fposI11__mbstate_tESt13_Ios_Openmode@@GLIBCXX_3.4
+ FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEE8overflowEj@@GLIBCXX_3.4
+ FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEE9pbackfailEj@@GLIBCXX_3.4
++FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEE9showmanycEv@@GLIBCXX_3.4.6
+ FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEE9underflowEv@@GLIBCXX_3.4
+ FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEEC1ERKSbIwS1_S2_ESt13_Ios_Openmode@@GLIBCXX_3.4
+ FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEEC1ESt13_Ios_Openmode@@GLIBCXX_3.4
+@@ -1538,6 +1778,46 @@
+ FUNC:_ZNSt16invalid_argumentC2ERKSs@@GLIBCXX_3.4
+ FUNC:_ZNSt16invalid_argumentD0Ev@@GLIBCXX_3.4
+ FUNC:_ZNSt16invalid_argumentD1Ev@@GLIBCXX_3.4
++FUNC:_ZNSt17__gnu_cxx_ldbl1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC1Em@@GLIBCXX_LDBL_3.4
++FUNC:_ZNSt17__gnu_cxx_ldbl1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC2Em@@GLIBCXX_LDBL_3.4
++FUNC:_ZNSt17__gnu_cxx_ldbl1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED0Ev@@GLIBCXX_LDBL_3.4
++FUNC:_ZNSt17__gnu_cxx_ldbl1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED1Ev@@GLIBCXX_LDBL_3.4
++FUNC:_ZNSt17__gnu_cxx_ldbl1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED2Ev@@GLIBCXX_LDBL_3.4
++FUNC:_ZNSt17__gnu_cxx_ldbl1287num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC1Em@@GLIBCXX_LDBL_3.4
++FUNC:_ZNSt17__gnu_cxx_ldbl1287num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC2Em@@GLIBCXX_LDBL_3.4
++FUNC:_ZNSt17__gnu_cxx_ldbl1287num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED0Ev@@GLIBCXX_LDBL_3.4
++FUNC:_ZNSt17__gnu_cxx_ldbl1287num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED1Ev@@GLIBCXX_LDBL_3.4
++FUNC:_ZNSt17__gnu_cxx_ldbl1287num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED2Ev@@GLIBCXX_LDBL_3.4
++FUNC:_ZNSt17__gnu_cxx_ldbl1287num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC1Em@@GLIBCXX_LDBL_3.4
++FUNC:_ZNSt17__gnu_cxx_ldbl1287num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC2Em@@GLIBCXX_LDBL_3.4
++FUNC:_ZNSt17__gnu_cxx_ldbl1287num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED0Ev@@GLIBCXX_LDBL_3.4
++FUNC:_ZNSt17__gnu_cxx_ldbl1287num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED1Ev@@GLIBCXX_LDBL_3.4
++FUNC:_ZNSt17__gnu_cxx_ldbl1287num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED2Ev@@GLIBCXX_LDBL_3.4
++FUNC:_ZNSt17__gnu_cxx_ldbl1287num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEC1Em@@GLIBCXX_LDBL_3.4
++FUNC:_ZNSt17__gnu_cxx_ldbl1287num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEC2Em@@GLIBCXX_LDBL_3.4
++FUNC:_ZNSt17__gnu_cxx_ldbl1287num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED0Ev@@GLIBCXX_LDBL_3.4
++FUNC:_ZNSt17__gnu_cxx_ldbl1287num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED1Ev@@GLIBCXX_LDBL_3.4
++FUNC:_ZNSt17__gnu_cxx_ldbl1287num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED2Ev@@GLIBCXX_LDBL_3.4
++FUNC:_ZNSt17__gnu_cxx_ldbl1289money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC1Em@@GLIBCXX_LDBL_3.4
++FUNC:_ZNSt17__gnu_cxx_ldbl1289money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC2Em@@GLIBCXX_LDBL_3.4
++FUNC:_ZNSt17__gnu_cxx_ldbl1289money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED0Ev@@GLIBCXX_LDBL_3.4
++FUNC:_ZNSt17__gnu_cxx_ldbl1289money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED1Ev@@GLIBCXX_LDBL_3.4
++FUNC:_ZNSt17__gnu_cxx_ldbl1289money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED2Ev@@GLIBCXX_LDBL_3.4
++FUNC:_ZNSt17__gnu_cxx_ldbl1289money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC1Em@@GLIBCXX_LDBL_3.4
++FUNC:_ZNSt17__gnu_cxx_ldbl1289money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC2Em@@GLIBCXX_LDBL_3.4
++FUNC:_ZNSt17__gnu_cxx_ldbl1289money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED0Ev@@GLIBCXX_LDBL_3.4
++FUNC:_ZNSt17__gnu_cxx_ldbl1289money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED1Ev@@GLIBCXX_LDBL_3.4
++FUNC:_ZNSt17__gnu_cxx_ldbl1289money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED2Ev@@GLIBCXX_LDBL_3.4
++FUNC:_ZNSt17__gnu_cxx_ldbl1289money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC1Em@@GLIBCXX_LDBL_3.4
++FUNC:_ZNSt17__gnu_cxx_ldbl1289money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC2Em@@GLIBCXX_LDBL_3.4
++FUNC:_ZNSt17__gnu_cxx_ldbl1289money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED0Ev@@GLIBCXX_LDBL_3.4
++FUNC:_ZNSt17__gnu_cxx_ldbl1289money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED1Ev@@GLIBCXX_LDBL_3.4
++FUNC:_ZNSt17__gnu_cxx_ldbl1289money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED2Ev@@GLIBCXX_LDBL_3.4
++FUNC:_ZNSt17__gnu_cxx_ldbl1289money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEC1Em@@GLIBCXX_LDBL_3.4
++FUNC:_ZNSt17__gnu_cxx_ldbl1289money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEC2Em@@GLIBCXX_LDBL_3.4
++FUNC:_ZNSt17__gnu_cxx_ldbl1289money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED0Ev@@GLIBCXX_LDBL_3.4
++FUNC:_ZNSt17__gnu_cxx_ldbl1289money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED1Ev@@GLIBCXX_LDBL_3.4
++FUNC:_ZNSt17__gnu_cxx_ldbl1289money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED2Ev@@GLIBCXX_LDBL_3.4
+ FUNC:_ZNSt17__timepunct_cacheIcEC1Em@@GLIBCXX_3.4
+ FUNC:_ZNSt17__timepunct_cacheIcEC2Em@@GLIBCXX_3.4
+ FUNC:_ZNSt17__timepunct_cacheIcED0Ev@@GLIBCXX_3.4
+@@ -1660,10 +1940,16 @@
+ FUNC:_ZNSt5ctypeIwED0Ev@@GLIBCXX_3.4
+ FUNC:_ZNSt5ctypeIwED1Ev@@GLIBCXX_3.4
+ FUNC:_ZNSt5ctypeIwED2Ev@@GLIBCXX_3.4
++FUNC:_ZNSt6__norm15_List_node_base4hookEPS0_@@GLIBCXX_3.4.9
++FUNC:_ZNSt6__norm15_List_node_base4swapERS0_S1_@@GLIBCXX_3.4.9
++FUNC:_ZNSt6__norm15_List_node_base6unhookEv@@GLIBCXX_3.4.9
++FUNC:_ZNSt6__norm15_List_node_base7reverseEv@@GLIBCXX_3.4.9
++FUNC:_ZNSt6__norm15_List_node_base8transferEPS0_S1_@@GLIBCXX_3.4.9
+ FUNC:_ZNSt6gslice8_IndexerC1EmRKSt8valarrayImES4_@@GLIBCXX_3.4
+ FUNC:_ZNSt6gslice8_IndexerC2EmRKSt8valarrayImES4_@@GLIBCXX_3.4
+ FUNC:_ZNSt6locale11_M_coalesceERKS_S1_i@@GLIBCXX_3.4
+ FUNC:_ZNSt6locale21_S_normalize_categoryEi@@GLIBCXX_3.4
++FUNC:_ZNSt6locale5_Impl16_M_install_cacheEPKNS_5facetEm@@GLIBCXX_3.4.7
+ FUNC:_ZNSt6locale5_Impl16_M_install_facetEPKNS_2idEPKNS_5facetE@@GLIBCXX_3.4
+ FUNC:_ZNSt6locale5_Impl16_M_replace_facetEPKS0_PKNS_2idE@@GLIBCXX_3.4
+ FUNC:_ZNSt6locale5_Impl19_M_replace_categoryEPKS0_PKPKNS_2idE@@GLIBCXX_3.4
+@@ -1676,6 +1962,7 @@
+ FUNC:_ZNSt6locale5_ImplC2Em@@GLIBCXX_3.4
+ FUNC:_ZNSt6locale5_ImplD1Ev@@GLIBCXX_3.4
+ FUNC:_ZNSt6locale5_ImplD2Ev@@GLIBCXX_3.4
++FUNC:_ZNSt6locale5facet13_S_get_c_nameEv@@GLIBCXX_3.4.6
+ FUNC:_ZNSt6locale5facet15_S_get_c_localeEv@@GLIBCXX_3.4
+ FUNC:_ZNSt6locale5facet17_S_clone_c_localeERP15__locale_struct@@GLIBCXX_3.4
+ FUNC:_ZNSt6locale5facet18_S_create_c_localeERP15__locale_structPKcS2_@@GLIBCXX_3.4
+@@ -1753,7 +2040,9 @@
+ FUNC:_ZNSt8bad_castD2Ev@@GLIBCXX_3.4
+ FUNC:_ZNSt8ios_base13_M_grow_wordsEib@@GLIBCXX_3.4
+ FUNC:_ZNSt8ios_base15sync_with_stdioEb@@GLIBCXX_3.4
++FUNC:_ZNSt8ios_base17_M_call_callbacksENS_5eventE@@GLIBCXX_3.4.6
+ FUNC:_ZNSt8ios_base17register_callbackEPFvNS_5eventERS_iEi@@GLIBCXX_3.4
++FUNC:_ZNSt8ios_base20_M_dispose_callbacksEv@@GLIBCXX_3.4.6
+ FUNC:_ZNSt8ios_base4InitC1Ev@@GLIBCXX_3.4
+ FUNC:_ZNSt8ios_base4InitC2Ev@@GLIBCXX_3.4
+ FUNC:_ZNSt8ios_base4InitD1Ev@@GLIBCXX_3.4
+@@ -1832,6 +2121,11 @@
+ FUNC:_ZNSt8valarrayImED1Ev@@GLIBCXX_3.4
+ FUNC:_ZNSt8valarrayImED2Ev@@GLIBCXX_3.4
+ FUNC:_ZNSt8valarrayImEixEm@@GLIBCXX_3.4
++FUNC:_ZNSt9__cxx199815_List_node_base4hookEPS0_@@GLIBCXX_3.4.10
++FUNC:_ZNSt9__cxx199815_List_node_base4swapERS0_S1_@@GLIBCXX_3.4.10
++FUNC:_ZNSt9__cxx199815_List_node_base6unhookEv@@GLIBCXX_3.4.10
++FUNC:_ZNSt9__cxx199815_List_node_base7reverseEv@@GLIBCXX_3.4.10
++FUNC:_ZNSt9__cxx199815_List_node_base8transferEPS0_S1_@@GLIBCXX_3.4.10
+ FUNC:_ZNSt9bad_allocD0Ev@@GLIBCXX_3.4
+ FUNC:_ZNSt9bad_allocD1Ev@@GLIBCXX_3.4
+ FUNC:_ZNSt9bad_allocD2Ev@@GLIBCXX_3.4
+@@ -1911,10 +2205,16 @@
+ FUNC:_ZSt14__convert_to_vIdEvPKcRT_RSt12_Ios_IostateRKP15__locale_struct@@GLIBCXX_3.4
+ FUNC:_ZSt14__convert_to_vIeEvPKcRT_RSt12_Ios_IostateRKP15__locale_struct@@GLIBCXX_3.4
+ FUNC:_ZSt14__convert_to_vIfEvPKcRT_RSt12_Ios_IostateRKP15__locale_struct@@GLIBCXX_3.4
++FUNC:_ZSt14__convert_to_vIgEvPKcRT_RSt12_Ios_IostateRKP15__locale_struct@@GLIBCXX_LDBL_3.4
+ FUNC:_ZSt14set_unexpectedPFvvE@@GLIBCXX_3.4
+ FUNC:_ZSt15set_new_handlerPFvvE@@GLIBCXX_3.4
++FUNC:_ZSt16__ostream_insertIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_PKS3_i@@GLIBCXX_3.4.9
++FUNC:_ZSt16__ostream_insertIwSt11char_traitsIwEERSt13basic_ostreamIT_T0_ES6_PKS3_i@@GLIBCXX_3.4.9
+ FUNC:_ZSt16__throw_bad_castv@@GLIBCXX_3.4
++FUNC:_ZSt17__copy_streambufsIcSt11char_traitsIcEEiPSt15basic_streambufIT_T0_ES6_@@GLIBCXX_3.4.6
++FUNC:_ZSt17__copy_streambufsIwSt11char_traitsIwEEiPSt15basic_streambufIT_T0_ES6_@@GLIBCXX_3.4.6
+ FUNC:_ZSt17__throw_bad_allocv@@GLIBCXX_3.4
++FUNC:_ZSt17__verify_groupingPKcmRKSs@@GLIBCXX_3.4.10
+ FUNC:_ZSt18_Rb_tree_decrementPKSt18_Rb_tree_node_base@@GLIBCXX_3.4
+ FUNC:_ZSt18_Rb_tree_decrementPSt18_Rb_tree_node_base@@GLIBCXX_3.4
+ FUNC:_ZSt18_Rb_tree_incrementPKSt18_Rb_tree_node_base@@GLIBCXX_3.4
+@@ -1930,6 +2230,8 @@
+ FUNC:_ZSt20__throw_length_errorPKc@@GLIBCXX_3.4
+ FUNC:_ZSt20__throw_out_of_rangePKc@@GLIBCXX_3.4
+ FUNC:_ZSt21_Rb_tree_rotate_rightPSt18_Rb_tree_node_baseRS0_@@GLIBCXX_3.4
++FUNC:_ZSt21__copy_streambufs_eofIcSt11char_traitsIcEEiPSt15basic_streambufIT_T0_ES6_Rb@@GLIBCXX_3.4.9
++FUNC:_ZSt21__copy_streambufs_eofIwSt11char_traitsIwEEiPSt15basic_streambufIT_T0_ES6_Rb@@GLIBCXX_3.4.9
+ FUNC:_ZSt21__throw_bad_exceptionv@@GLIBCXX_3.4
+ FUNC:_ZSt21__throw_runtime_errorPKc@@GLIBCXX_3.4
+ FUNC:_ZSt22__throw_overflow_errorPKc@@GLIBCXX_3.4
+@@ -1949,6 +2251,14 @@
+ FUNC:_ZSt7getlineIcSt11char_traitsIcESaIcEERSt13basic_istreamIT_T0_ES7_RSbIS4_S5_T1_ES4_@@GLIBCXX_3.4
+ FUNC:_ZSt7getlineIwSt11char_traitsIwESaIwEERSt13basic_istreamIT_T0_ES7_RSbIS4_S5_T1_E@@GLIBCXX_3.4
+ FUNC:_ZSt7getlineIwSt11char_traitsIwESaIwEERSt13basic_istreamIT_T0_ES7_RSbIS4_S5_T1_ES4_@@GLIBCXX_3.4
++FUNC:_ZSt9has_facetINSt17__gnu_cxx_ldbl1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEEEbRKSt6locale@@GLIBCXX_LDBL_3.4
++FUNC:_ZSt9has_facetINSt17__gnu_cxx_ldbl1287num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEEEbRKSt6locale@@GLIBCXX_LDBL_3.4
++FUNC:_ZSt9has_facetINSt17__gnu_cxx_ldbl1287num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEEEbRKSt6locale@@GLIBCXX_LDBL_3.4
++FUNC:_ZSt9has_facetINSt17__gnu_cxx_ldbl1287num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEEEbRKSt6locale@@GLIBCXX_LDBL_3.4
++FUNC:_ZSt9has_facetINSt17__gnu_cxx_ldbl1289money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEEEbRKSt6locale@@GLIBCXX_LDBL_3.4
++FUNC:_ZSt9has_facetINSt17__gnu_cxx_ldbl1289money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEEEbRKSt6locale@@GLIBCXX_LDBL_3.4
++FUNC:_ZSt9has_facetINSt17__gnu_cxx_ldbl1289money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEEEbRKSt6locale@@GLIBCXX_LDBL_3.4
++FUNC:_ZSt9has_facetINSt17__gnu_cxx_ldbl1289money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEEEbRKSt6locale@@GLIBCXX_LDBL_3.4
+ FUNC:_ZSt9has_facetISt10moneypunctIcLb0EEEbRKSt6locale@@GLIBCXX_3.4
+ FUNC:_ZSt9has_facetISt10moneypunctIwLb0EEEbRKSt6locale@@GLIBCXX_3.4
+ FUNC:_ZSt9has_facetISt11__timepunctIcEEbRKSt6locale@@GLIBCXX_3.4
+@@ -1976,6 +2286,14 @@
+ FUNC:_ZSt9has_facetISt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEEbRKSt6locale@@GLIBCXX_3.4
+ FUNC:_ZSt9has_facetISt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEEbRKSt6locale@@GLIBCXX_3.4
+ FUNC:_ZSt9terminatev@@GLIBCXX_3.4
++FUNC:_ZSt9use_facetINSt17__gnu_cxx_ldbl1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEEERKT_RKSt6locale@@GLIBCXX_LDBL_3.4
++FUNC:_ZSt9use_facetINSt17__gnu_cxx_ldbl1287num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEEERKT_RKSt6locale@@GLIBCXX_LDBL_3.4
++FUNC:_ZSt9use_facetINSt17__gnu_cxx_ldbl1287num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEEERKT_RKSt6locale@@GLIBCXX_LDBL_3.4
++FUNC:_ZSt9use_facetINSt17__gnu_cxx_ldbl1287num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEEERKT_RKSt6locale@@GLIBCXX_LDBL_3.4
++FUNC:_ZSt9use_facetINSt17__gnu_cxx_ldbl1289money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEEERKT_RKSt6locale@@GLIBCXX_LDBL_3.4
++FUNC:_ZSt9use_facetINSt17__gnu_cxx_ldbl1289money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEEERKT_RKSt6locale@@GLIBCXX_LDBL_3.4
++FUNC:_ZSt9use_facetINSt17__gnu_cxx_ldbl1289money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEEERKT_RKSt6locale@@GLIBCXX_LDBL_3.4
++FUNC:_ZSt9use_facetINSt17__gnu_cxx_ldbl1289money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEEERKT_RKSt6locale@@GLIBCXX_LDBL_3.4
+ FUNC:_ZSt9use_facetISt10moneypunctIcLb0EEERKT_RKSt6locale@@GLIBCXX_3.4
+ FUNC:_ZSt9use_facetISt10moneypunctIcLb1EEERKT_RKSt6locale@@GLIBCXX_3.4
+ FUNC:_ZSt9use_facetISt10moneypunctIwLb0EEERKT_RKSt6locale@@GLIBCXX_3.4
+@@ -2023,6 +2341,8 @@
+ FUNC:_ZStlsIewSt11char_traitsIwEERSt13basic_ostreamIT0_T1_ES6_RKSt7complexIT_E@@GLIBCXX_3.4
+ FUNC:_ZStlsIfcSt11char_traitsIcEERSt13basic_ostreamIT0_T1_ES6_RKSt7complexIT_E@@GLIBCXX_3.4
+ FUNC:_ZStlsIfwSt11char_traitsIwEERSt13basic_ostreamIT0_T1_ES6_RKSt7complexIT_E@@GLIBCXX_3.4
++FUNC:_ZStlsIgcSt11char_traitsIcEERSt13basic_ostreamIT0_T1_ES6_RKSt7complexIT_E@@GLIBCXX_LDBL_3.4
++FUNC:_ZStlsIgwSt11char_traitsIwEERSt13basic_ostreamIT0_T1_ES6_RKSt7complexIT_E@@GLIBCXX_LDBL_3.4
+ FUNC:_ZStlsIwSt11char_traitsIwEERSt13basic_ostreamIT_T0_ES6_PKS3_@@GLIBCXX_3.4
+ FUNC:_ZStlsIwSt11char_traitsIwEERSt13basic_ostreamIT_T0_ES6_PKc@@GLIBCXX_3.4
+ FUNC:_ZStlsIwSt11char_traitsIwEERSt13basic_ostreamIT_T0_ES6_S3_@@GLIBCXX_3.4
+@@ -2059,6 +2379,8 @@
+ FUNC:_ZStrsIewSt11char_traitsIwEERSt13basic_istreamIT0_T1_ES6_RSt7complexIT_E@@GLIBCXX_3.4
+ FUNC:_ZStrsIfcSt11char_traitsIcEERSt13basic_istreamIT0_T1_ES6_RSt7complexIT_E@@GLIBCXX_3.4
+ FUNC:_ZStrsIfwSt11char_traitsIwEERSt13basic_istreamIT0_T1_ES6_RSt7complexIT_E@@GLIBCXX_3.4
++FUNC:_ZStrsIgcSt11char_traitsIcEERSt13basic_istreamIT0_T1_ES6_RSt7complexIT_E@@GLIBCXX_LDBL_3.4
++FUNC:_ZStrsIgwSt11char_traitsIwEERSt13basic_istreamIT0_T1_ES6_RSt7complexIT_E@@GLIBCXX_LDBL_3.4
+ FUNC:_ZStrsIwSt11char_traitsIwEERSt13basic_istreamIT_T0_ES6_PS3_@@GLIBCXX_3.4
+ FUNC:_ZStrsIwSt11char_traitsIwEERSt13basic_istreamIT_T0_ES6_RS3_@@GLIBCXX_3.4
+ FUNC:_ZStrsIwSt11char_traitsIwEERSt13basic_istreamIT_T0_ES6_St12_Setiosflags@@GLIBCXX_3.4
+@@ -2162,36 +2484,48 @@
+ FUNC:__cxa_vec_new@@CXXABI_1.3
+ FUNC:__dynamic_cast@@CXXABI_1.3
+ FUNC:__gxx_personality_v0@@CXXABI_1.3
+-FUNC:acosl@@GLIBCXX_3.4.3
+-FUNC:asinl@@GLIBCXX_3.4.3
+-FUNC:atan2l@@GLIBCXX_3.4
+-FUNC:atanl@@GLIBCXX_3.4.3
+-FUNC:ceill@@GLIBCXX_3.4.3
+-FUNC:coshl@@GLIBCXX_3.4
+-FUNC:cosl@@GLIBCXX_3.4
+-FUNC:expl@@GLIBCXX_3.4
+-FUNC:floorl@@GLIBCXX_3.4.3
+-FUNC:fmodl@@GLIBCXX_3.4.3
+-FUNC:frexpl@@GLIBCXX_3.4.3
+-FUNC:hypotl@@GLIBCXX_3.4
+-FUNC:ldexpl@@GLIBCXX_3.4.3
+-FUNC:log10l@@GLIBCXX_3.4
+-FUNC:logl@@GLIBCXX_3.4
+-FUNC:modfl@@GLIBCXX_3.4.3
+-FUNC:powl@@GLIBCXX_3.4
+-FUNC:sinhl@@GLIBCXX_3.4
+-FUNC:sinl@@GLIBCXX_3.4
+-FUNC:sqrtl@@GLIBCXX_3.4
+-FUNC:tanhl@@GLIBCXX_3.4
+-FUNC:tanl@@GLIBCXX_3.4
++FUNC:acosl@GLIBCXX_3.4.3
++FUNC:asinl@GLIBCXX_3.4.3
++FUNC:atan2l@GLIBCXX_3.4
++FUNC:atanl@GLIBCXX_3.4.3
++FUNC:ceill@GLIBCXX_3.4.3
++FUNC:coshl@GLIBCXX_3.4
++FUNC:cosl@GLIBCXX_3.4
++FUNC:expl@GLIBCXX_3.4
++FUNC:floorl@GLIBCXX_3.4.3
++FUNC:fmodl@GLIBCXX_3.4.3
++FUNC:frexpl@GLIBCXX_3.4.3
++FUNC:hypotl@GLIBCXX_3.4
++FUNC:ldexpl@GLIBCXX_3.4.3
++FUNC:log10l@GLIBCXX_3.4
++FUNC:logl@GLIBCXX_3.4
++FUNC:modfl@GLIBCXX_3.4.3
++FUNC:powl@GLIBCXX_3.4
++FUNC:sinhl@GLIBCXX_3.4
++FUNC:sinl@GLIBCXX_3.4
++FUNC:sqrtl@GLIBCXX_3.4
++FUNC:tanhl@GLIBCXX_3.4
++FUNC:tanl@GLIBCXX_3.4
+ OBJECT:0:CXXABI_1.3
+ OBJECT:0:CXXABI_1.3.1
++OBJECT:0:CXXABI_1.3.2
++OBJECT:0:CXXABI_LDBL_1.3
+ OBJECT:0:GLIBCXX_3.4
+ OBJECT:0:GLIBCXX_3.4.1
++OBJECT:0:GLIBCXX_3.4.10
+ OBJECT:0:GLIBCXX_3.4.2
+ OBJECT:0:GLIBCXX_3.4.3
+ OBJECT:0:GLIBCXX_3.4.4
+ OBJECT:0:GLIBCXX_3.4.5
++OBJECT:0:GLIBCXX_3.4.6
++OBJECT:0:GLIBCXX_3.4.7
++OBJECT:0:GLIBCXX_3.4.8
++OBJECT:0:GLIBCXX_3.4.9
++OBJECT:0:GLIBCXX_LDBL_3.4
++OBJECT:0:GLIBCXX_LDBL_3.4.10
++OBJECT:0:GLIBCXX_LDBL_3.4.7
++OBJECT:1028:_ZNSt3tr18__detail12__prime_listE@@GLIBCXX_3.4.10
++OBJECT:1028:_ZNSt8__detail12__prime_listE@@GLIBCXX_3.4.10
+ OBJECT:12:_ZTIN10__cxxabiv116__enum_type_infoE@@CXXABI_1.3
+ OBJECT:12:_ZTIN10__cxxabiv117__array_type_infoE@@CXXABI_1.3
+ OBJECT:12:_ZTIN10__cxxabiv117__class_type_infoE@@CXXABI_1.3
+@@ -2206,6 +2540,14 @@
+ OBJECT:12:_ZTIN9__gnu_cxx13stdio_filebufIwSt11char_traitsIwEEE@@GLIBCXX_3.4
+ OBJECT:12:_ZTIN9__gnu_cxx18stdio_sync_filebufIcSt11char_traitsIcEEE@@GLIBCXX_3.4
+ OBJECT:12:_ZTIN9__gnu_cxx18stdio_sync_filebufIwSt11char_traitsIwEEE@@GLIBCXX_3.4
++OBJECT:12:_ZTINSt17__gnu_cxx_ldbl1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEE@@GLIBCXX_LDBL_3.4
++OBJECT:12:_ZTINSt17__gnu_cxx_ldbl1287num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEE@@GLIBCXX_LDBL_3.4
++OBJECT:12:_ZTINSt17__gnu_cxx_ldbl1287num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEE@@GLIBCXX_LDBL_3.4
++OBJECT:12:_ZTINSt17__gnu_cxx_ldbl1287num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEE@@GLIBCXX_LDBL_3.4
++OBJECT:12:_ZTINSt17__gnu_cxx_ldbl1289money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEE@@GLIBCXX_LDBL_3.4
++OBJECT:12:_ZTINSt17__gnu_cxx_ldbl1289money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEE@@GLIBCXX_LDBL_3.4
++OBJECT:12:_ZTINSt17__gnu_cxx_ldbl1289money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEE@@GLIBCXX_LDBL_3.4
++OBJECT:12:_ZTINSt17__gnu_cxx_ldbl1289money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEE@@GLIBCXX_LDBL_3.4
+ OBJECT:12:_ZTINSt8ios_base7failureE@@GLIBCXX_3.4
+ OBJECT:12:_ZTISt10bad_typeid@@GLIBCXX_3.4
+ OBJECT:12:_ZTISt10istrstream@@GLIBCXX_3.4
+@@ -2315,6 +2657,7 @@
+ OBJECT:16:_ZTIPKd@@CXXABI_1.3
+ OBJECT:16:_ZTIPKe@@CXXABI_1.3
+ OBJECT:16:_ZTIPKf@@CXXABI_1.3
++OBJECT:16:_ZTIPKg@@CXXABI_LDBL_1.3
+ OBJECT:16:_ZTIPKh@@CXXABI_1.3
+ OBJECT:16:_ZTIPKi@@CXXABI_1.3
+ OBJECT:16:_ZTIPKj@@CXXABI_1.3
+@@ -2332,6 +2675,7 @@
+ OBJECT:16:_ZTIPd@@CXXABI_1.3
+ OBJECT:16:_ZTIPe@@CXXABI_1.3
+ OBJECT:16:_ZTIPf@@CXXABI_1.3
++OBJECT:16:_ZTIPg@@CXXABI_LDBL_1.3
+ OBJECT:16:_ZTIPh@@CXXABI_1.3
+ OBJECT:16:_ZTIPi@@CXXABI_1.3
+ OBJECT:16:_ZTIPj@@CXXABI_1.3
+@@ -2456,6 +2800,19 @@
+ OBJECT:1:_ZNSt14numeric_limitsIfE9is_iec559E@@GLIBCXX_3.4
+ OBJECT:1:_ZNSt14numeric_limitsIfE9is_moduloE@@GLIBCXX_3.4
+ OBJECT:1:_ZNSt14numeric_limitsIfE9is_signedE@@GLIBCXX_3.4
++OBJECT:1:_ZNSt14numeric_limitsIgE10is_boundedE@@GLIBCXX_LDBL_3.4
++OBJECT:1:_ZNSt14numeric_limitsIgE10is_integerE@@GLIBCXX_LDBL_3.4
++OBJECT:1:_ZNSt14numeric_limitsIgE12has_infinityE@@GLIBCXX_LDBL_3.4
++OBJECT:1:_ZNSt14numeric_limitsIgE13has_quiet_NaNE@@GLIBCXX_LDBL_3.4
++OBJECT:1:_ZNSt14numeric_limitsIgE14is_specializedE@@GLIBCXX_LDBL_3.4
++OBJECT:1:_ZNSt14numeric_limitsIgE15has_denorm_lossE@@GLIBCXX_LDBL_3.4
++OBJECT:1:_ZNSt14numeric_limitsIgE15tinyness_beforeE@@GLIBCXX_LDBL_3.4
++OBJECT:1:_ZNSt14numeric_limitsIgE17has_signaling_NaNE@@GLIBCXX_LDBL_3.4
++OBJECT:1:_ZNSt14numeric_limitsIgE5trapsE@@GLIBCXX_LDBL_3.4
++OBJECT:1:_ZNSt14numeric_limitsIgE8is_exactE@@GLIBCXX_LDBL_3.4
++OBJECT:1:_ZNSt14numeric_limitsIgE9is_iec559E@@GLIBCXX_LDBL_3.4
++OBJECT:1:_ZNSt14numeric_limitsIgE9is_moduloE@@GLIBCXX_LDBL_3.4
++OBJECT:1:_ZNSt14numeric_limitsIgE9is_signedE@@GLIBCXX_LDBL_3.4
+ OBJECT:1:_ZNSt14numeric_limitsIhE10is_boundedE@@GLIBCXX_3.4
+ OBJECT:1:_ZNSt14numeric_limitsIhE10is_integerE@@GLIBCXX_3.4
+ OBJECT:1:_ZNSt14numeric_limitsIhE12has_infinityE@@GLIBCXX_3.4
+@@ -2650,6 +3007,10 @@
+ OBJECT:28:_ZTSSt7codecvtIwc11__mbstate_tE@@GLIBCXX_3.4
+ OBJECT:28:_ZTTSd@@GLIBCXX_3.4
+ OBJECT:28:_ZTTSt14basic_iostreamIwSt11char_traitsIwEE@@GLIBCXX_3.4
++OBJECT:28:_ZTVNSt17__gnu_cxx_ldbl1289money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEE@@GLIBCXX_LDBL_3.4
++OBJECT:28:_ZTVNSt17__gnu_cxx_ldbl1289money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEE@@GLIBCXX_LDBL_3.4
++OBJECT:28:_ZTVNSt17__gnu_cxx_ldbl1289money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEE@@GLIBCXX_LDBL_3.4
++OBJECT:28:_ZTVNSt17__gnu_cxx_ldbl1289money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEE@@GLIBCXX_LDBL_3.4
+ OBJECT:28:_ZTVSt14collate_bynameIcE@@GLIBCXX_3.4
+ OBJECT:28:_ZTVSt14collate_bynameIwE@@GLIBCXX_3.4
+ OBJECT:28:_ZTVSt15messages_bynameIcE@@GLIBCXX_3.4
+@@ -2681,6 +3042,7 @@
+ OBJECT:2:_ZTSd@@CXXABI_1.3
+ OBJECT:2:_ZTSe@@CXXABI_1.3
+ OBJECT:2:_ZTSf@@CXXABI_1.3
++OBJECT:2:_ZTSg@@CXXABI_LDBL_1.3
+ OBJECT:2:_ZTSh@@CXXABI_1.3
+ OBJECT:2:_ZTSi@@CXXABI_1.3
+ OBJECT:2:_ZTSj@@CXXABI_1.3
+@@ -2743,6 +3105,7 @@
+ OBJECT:3:_ZTSPd@@CXXABI_1.3
+ OBJECT:3:_ZTSPe@@CXXABI_1.3
+ OBJECT:3:_ZTSPf@@CXXABI_1.3
++OBJECT:3:_ZTSPg@@CXXABI_LDBL_1.3
+ OBJECT:3:_ZTSPh@@CXXABI_1.3
+ OBJECT:3:_ZTSPi@@CXXABI_1.3
+ OBJECT:3:_ZTSPj@@CXXABI_1.3
+@@ -2879,6 +3242,15 @@
+ OBJECT:4:_ZNSt14numeric_limitsIfE5radixE@@GLIBCXX_3.4
+ OBJECT:4:_ZNSt14numeric_limitsIfE6digitsE@@GLIBCXX_3.4
+ OBJECT:4:_ZNSt14numeric_limitsIfE8digits10E@@GLIBCXX_3.4
++OBJECT:4:_ZNSt14numeric_limitsIgE10has_denormE@@GLIBCXX_LDBL_3.4
++OBJECT:4:_ZNSt14numeric_limitsIgE11round_styleE@@GLIBCXX_LDBL_3.4
++OBJECT:4:_ZNSt14numeric_limitsIgE12max_exponentE@@GLIBCXX_LDBL_3.4
++OBJECT:4:_ZNSt14numeric_limitsIgE12min_exponentE@@GLIBCXX_LDBL_3.4
++OBJECT:4:_ZNSt14numeric_limitsIgE14max_exponent10E@@GLIBCXX_LDBL_3.4
++OBJECT:4:_ZNSt14numeric_limitsIgE14min_exponent10E@@GLIBCXX_LDBL_3.4
++OBJECT:4:_ZNSt14numeric_limitsIgE5radixE@@GLIBCXX_LDBL_3.4
++OBJECT:4:_ZNSt14numeric_limitsIgE6digitsE@@GLIBCXX_LDBL_3.4
++OBJECT:4:_ZNSt14numeric_limitsIgE8digits10E@@GLIBCXX_LDBL_3.4
+ OBJECT:4:_ZNSt14numeric_limitsIhE10has_denormE@@GLIBCXX_3.4
+ OBJECT:4:_ZNSt14numeric_limitsIhE11round_styleE@@GLIBCXX_3.4
+ OBJECT:4:_ZNSt14numeric_limitsIhE12max_exponentE@@GLIBCXX_3.4
+@@ -2969,6 +3341,14 @@
+ OBJECT:4:_ZNSt14numeric_limitsIyE5radixE@@GLIBCXX_3.4
+ OBJECT:4:_ZNSt14numeric_limitsIyE6digitsE@@GLIBCXX_3.4
+ OBJECT:4:_ZNSt14numeric_limitsIyE8digits10E@@GLIBCXX_3.4
++OBJECT:4:_ZNSt17__gnu_cxx_ldbl1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE2idE@@GLIBCXX_LDBL_3.4
++OBJECT:4:_ZNSt17__gnu_cxx_ldbl1287num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE2idE@@GLIBCXX_LDBL_3.4
++OBJECT:4:_ZNSt17__gnu_cxx_ldbl1287num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE2idE@@GLIBCXX_LDBL_3.4
++OBJECT:4:_ZNSt17__gnu_cxx_ldbl1287num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE2idE@@GLIBCXX_LDBL_3.4
++OBJECT:4:_ZNSt17__gnu_cxx_ldbl1289money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE2idE@@GLIBCXX_LDBL_3.4
++OBJECT:4:_ZNSt17__gnu_cxx_ldbl1289money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE2idE@@GLIBCXX_LDBL_3.4
++OBJECT:4:_ZNSt17__gnu_cxx_ldbl1289money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE2idE@@GLIBCXX_LDBL_3.4
++OBJECT:4:_ZNSt17__gnu_cxx_ldbl1289money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE2idE@@GLIBCXX_LDBL_3.4
+ OBJECT:4:_ZNSt21__numeric_limits_base10has_denormE@@GLIBCXX_3.4
+ OBJECT:4:_ZNSt21__numeric_limits_base11round_styleE@@GLIBCXX_3.4
+ OBJECT:4:_ZNSt21__numeric_limits_base12max_exponentE@@GLIBCXX_3.4
+@@ -3046,6 +3426,7 @@
+ OBJECT:4:_ZTSPKd@@CXXABI_1.3
+ OBJECT:4:_ZTSPKe@@CXXABI_1.3
+ OBJECT:4:_ZTSPKf@@CXXABI_1.3
++OBJECT:4:_ZTSPKg@@CXXABI_LDBL_1.3
+ OBJECT:4:_ZTSPKh@@CXXABI_1.3
+ OBJECT:4:_ZTSPKi@@CXXABI_1.3
+ OBJECT:4:_ZTSPKj@@CXXABI_1.3
+@@ -3061,6 +3442,8 @@
+ OBJECT:50:_ZTSSt19basic_istringstreamIwSt11char_traitsIwESaIwEE@@GLIBCXX_3.4
+ OBJECT:50:_ZTSSt19basic_ostringstreamIcSt11char_traitsIcESaIcEE@@GLIBCXX_3.4
+ OBJECT:50:_ZTSSt19basic_ostringstreamIwSt11char_traitsIwESaIwEE@@GLIBCXX_3.4
++OBJECT:52:_ZTVNSt17__gnu_cxx_ldbl1287num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEE@@GLIBCXX_LDBL_3.4
++OBJECT:52:_ZTVNSt17__gnu_cxx_ldbl1287num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEE@@GLIBCXX_LDBL_3.4
+ OBJECT:52:_ZTVSt10moneypunctIcLb0EE@@GLIBCXX_3.4
+ OBJECT:52:_ZTVSt10moneypunctIcLb1EE@@GLIBCXX_3.4
+ OBJECT:52:_ZTVSt10moneypunctIwLb0EE@@GLIBCXX_3.4
+@@ -3096,6 +3479,8 @@
+ OBJECT:60:_ZTVSt9strstream@@GLIBCXX_3.4
+ OBJECT:64:_ZTVN9__gnu_cxx18stdio_sync_filebufIcSt11char_traitsIcEEE@@GLIBCXX_3.4
+ OBJECT:64:_ZTVN9__gnu_cxx18stdio_sync_filebufIwSt11char_traitsIwEEE@@GLIBCXX_3.4
++OBJECT:64:_ZTVNSt17__gnu_cxx_ldbl1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEE@@GLIBCXX_LDBL_3.4
++OBJECT:64:_ZTVNSt17__gnu_cxx_ldbl1287num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEE@@GLIBCXX_LDBL_3.4
+ OBJECT:64:_ZTVSt12ctype_bynameIwE@@GLIBCXX_3.4
+ OBJECT:64:_ZTVSt12strstreambuf@@GLIBCXX_3.4
+ OBJECT:64:_ZTVSt13basic_filebufIcSt11char_traitsIcEE@@GLIBCXX_3.4
+@@ -3111,12 +3496,28 @@
+ OBJECT:67:_ZTSSt15time_get_bynameIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCXX_3.4
+ OBJECT:67:_ZTSSt15time_put_bynameIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCXX_3.4
+ OBJECT:67:_ZTSSt15time_put_bynameIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCXX_3.4
++OBJECT:79:_ZTSNSt17__gnu_cxx_ldbl1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEE@@GLIBCXX_LDBL_3.4
++OBJECT:79:_ZTSNSt17__gnu_cxx_ldbl1287num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEE@@GLIBCXX_LDBL_3.4
++OBJECT:79:_ZTSNSt17__gnu_cxx_ldbl1287num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEE@@GLIBCXX_LDBL_3.4
++OBJECT:79:_ZTSNSt17__gnu_cxx_ldbl1287num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEE@@GLIBCXX_LDBL_3.4
++OBJECT:81:_ZTSNSt17__gnu_cxx_ldbl1289money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEE@@GLIBCXX_LDBL_3.4
++OBJECT:81:_ZTSNSt17__gnu_cxx_ldbl1289money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEE@@GLIBCXX_LDBL_3.4
++OBJECT:81:_ZTSNSt17__gnu_cxx_ldbl1289money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEE@@GLIBCXX_LDBL_3.4
++OBJECT:81:_ZTSNSt17__gnu_cxx_ldbl1289money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEE@@GLIBCXX_LDBL_3.4
+ OBJECT:8:_ZGVNSt10moneypunctIcLb0EE2idE@@GLIBCXX_3.4
+ OBJECT:8:_ZGVNSt10moneypunctIcLb1EE2idE@@GLIBCXX_3.4
+ OBJECT:8:_ZGVNSt10moneypunctIwLb0EE2idE@@GLIBCXX_3.4
+ OBJECT:8:_ZGVNSt10moneypunctIwLb1EE2idE@@GLIBCXX_3.4
+ OBJECT:8:_ZGVNSt11__timepunctIcE2idE@@GLIBCXX_3.4
+ OBJECT:8:_ZGVNSt11__timepunctIwE2idE@@GLIBCXX_3.4
++OBJECT:8:_ZGVNSt17__gnu_cxx_ldbl1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE2idE@@GLIBCXX_LDBL_3.4
++OBJECT:8:_ZGVNSt17__gnu_cxx_ldbl1287num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE2idE@@GLIBCXX_LDBL_3.4
++OBJECT:8:_ZGVNSt17__gnu_cxx_ldbl1287num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE2idE@@GLIBCXX_LDBL_3.4
++OBJECT:8:_ZGVNSt17__gnu_cxx_ldbl1287num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE2idE@@GLIBCXX_LDBL_3.4
++OBJECT:8:_ZGVNSt17__gnu_cxx_ldbl1289money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE2idE@@GLIBCXX_LDBL_3.4
++OBJECT:8:_ZGVNSt17__gnu_cxx_ldbl1289money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE2idE@@GLIBCXX_LDBL_3.4
++OBJECT:8:_ZGVNSt17__gnu_cxx_ldbl1289money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE2idE@@GLIBCXX_LDBL_3.4
++OBJECT:8:_ZGVNSt17__gnu_cxx_ldbl1289money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE2idE@@GLIBCXX_LDBL_3.4
+ OBJECT:8:_ZGVNSt7collateIcE2idE@@GLIBCXX_3.4
+ OBJECT:8:_ZGVNSt7collateIwE2idE@@GLIBCXX_3.4
+ OBJECT:8:_ZGVNSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE2idE@@GLIBCXX_3.4
+@@ -3135,6 +3536,8 @@
+ OBJECT:8:_ZGVNSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE2idE@@GLIBCXX_3.4
+ OBJECT:8:_ZGVNSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE2idE@@GLIBCXX_3.4
+ OBJECT:8:_ZGVNSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE2idE@@GLIBCXX_3.4
++OBJECT:8:_ZTIN10__cxxabiv115__forced_unwindE@@CXXABI_1.3.2
++OBJECT:8:_ZTIN10__cxxabiv119__foreign_exceptionE@@CXXABI_1.3.2
+ OBJECT:8:_ZTINSt6locale5facetE@@GLIBCXX_3.4
+ OBJECT:8:_ZTISt10ctype_base@@GLIBCXX_3.4
+ OBJECT:8:_ZTISt10money_base@@GLIBCXX_3.4
+@@ -3152,6 +3555,7 @@
+ OBJECT:8:_ZTId@@CXXABI_1.3
+ OBJECT:8:_ZTIe@@CXXABI_1.3
+ OBJECT:8:_ZTIf@@CXXABI_1.3
++OBJECT:8:_ZTIg@@CXXABI_LDBL_1.3
+ OBJECT:8:_ZTIh@@CXXABI_1.3
+ OBJECT:8:_ZTIi@@CXXABI_1.3
+ OBJECT:8:_ZTIj@@CXXABI_1.3
+Index: libstdc++-v3/config/abi/post/ia64-linux-gnu/baseline_symbols.txt
+===================================================================
+--- libstdc++-v3/config/abi/post/ia64-linux-gnu/baseline_symbols.txt (.../tags/gcc_4_3_0_release) (revision 133808)
++++ libstdc++-v3/config/abi/post/ia64-linux-gnu/baseline_symbols.txt (.../branches/gcc-4_3-branch) (revision 133808)
+@@ -33,19 +33,51 @@
+ FUNC:_ZN10__gnu_norm15_List_node_base6unhookEv@@GLIBCXX_3.4
+ FUNC:_ZN10__gnu_norm15_List_node_base7reverseEv@@GLIBCXX_3.4
+ FUNC:_ZN10__gnu_norm15_List_node_base8transferEPS0_S1_@@GLIBCXX_3.4
++FUNC:_ZN11__gnu_debug19_Safe_iterator_base12_M_get_mutexEv@@GLIBCXX_3.4.9
++FUNC:_ZN11__gnu_debug19_Safe_iterator_base16_M_attach_singleEPNS_19_Safe_sequence_baseEb@@GLIBCXX_3.4.9
++FUNC:_ZN11__gnu_debug19_Safe_iterator_base16_M_detach_singleEv@@GLIBCXX_3.4.9
+ FUNC:_ZN11__gnu_debug19_Safe_iterator_base9_M_attachEPNS_19_Safe_sequence_baseEb@@GLIBCXX_3.4
+ FUNC:_ZN11__gnu_debug19_Safe_iterator_base9_M_detachEv@@GLIBCXX_3.4
++FUNC:_ZN11__gnu_debug19_Safe_sequence_base12_M_get_mutexEv@@GLIBCXX_3.4.9
+ FUNC:_ZN11__gnu_debug19_Safe_sequence_base13_M_detach_allEv@@GLIBCXX_3.4
+ FUNC:_ZN11__gnu_debug19_Safe_sequence_base18_M_detach_singularEv@@GLIBCXX_3.4
+ FUNC:_ZN11__gnu_debug19_Safe_sequence_base22_M_revalidate_singularEv@@GLIBCXX_3.4
+ FUNC:_ZN11__gnu_debug19_Safe_sequence_base7_M_swapERS0_@@GLIBCXX_3.4
++FUNC:_ZN14__gnu_parallel9_Settings3getEv@@GLIBCXX_3.4.10
++FUNC:_ZN14__gnu_parallel9_Settings3setERS0_@@GLIBCXX_3.4.10
+ FUNC:_ZN9__gnu_cxx12__atomic_addEPVii@@GLIBCXX_3.4
+ FUNC:_ZN9__gnu_cxx17__pool_alloc_base12_M_get_mutexEv@@GLIBCXX_3.4.2
+ FUNC:_ZN9__gnu_cxx17__pool_alloc_base16_M_get_free_listEm@@GLIBCXX_3.4.2
+ FUNC:_ZN9__gnu_cxx17__pool_alloc_base9_M_refillEm@@GLIBCXX_3.4.2
+ FUNC:_ZN9__gnu_cxx18__exchange_and_addEPVii@@GLIBCXX_3.4
+ FUNC:_ZN9__gnu_cxx18stdio_sync_filebufIcSt11char_traitsIcEE4fileEv@@GLIBCXX_3.4.2
++FUNC:_ZN9__gnu_cxx18stdio_sync_filebufIcSt11char_traitsIcEE4syncEv@@GLIBCXX_3.4.10
++FUNC:_ZN9__gnu_cxx18stdio_sync_filebufIcSt11char_traitsIcEE5uflowEv@@GLIBCXX_3.4.10
++FUNC:_ZN9__gnu_cxx18stdio_sync_filebufIcSt11char_traitsIcEE6xsgetnEPcl@@GLIBCXX_3.4.10
++FUNC:_ZN9__gnu_cxx18stdio_sync_filebufIcSt11char_traitsIcEE6xsputnEPKcl@@GLIBCXX_3.4.10
++FUNC:_ZN9__gnu_cxx18stdio_sync_filebufIcSt11char_traitsIcEE7seekoffElSt12_Ios_SeekdirSt13_Ios_Openmode@@GLIBCXX_3.4.10
++FUNC:_ZN9__gnu_cxx18stdio_sync_filebufIcSt11char_traitsIcEE7seekposESt4fposI11__mbstate_tESt13_Ios_Openmode@@GLIBCXX_3.4.10
++FUNC:_ZN9__gnu_cxx18stdio_sync_filebufIcSt11char_traitsIcEE8overflowEi@@GLIBCXX_3.4.10
++FUNC:_ZN9__gnu_cxx18stdio_sync_filebufIcSt11char_traitsIcEE9pbackfailEi@@GLIBCXX_3.4.10
++FUNC:_ZN9__gnu_cxx18stdio_sync_filebufIcSt11char_traitsIcEE9underflowEv@@GLIBCXX_3.4.10
++FUNC:_ZN9__gnu_cxx18stdio_sync_filebufIcSt11char_traitsIcEEC1EP8_IO_FILE@@GLIBCXX_3.4.10
++FUNC:_ZN9__gnu_cxx18stdio_sync_filebufIcSt11char_traitsIcEEC2EP8_IO_FILE@@GLIBCXX_3.4.10
++FUNC:_ZN9__gnu_cxx18stdio_sync_filebufIcSt11char_traitsIcEED0Ev@@GLIBCXX_3.4.10
++FUNC:_ZN9__gnu_cxx18stdio_sync_filebufIcSt11char_traitsIcEED1Ev@@GLIBCXX_3.4.10
+ FUNC:_ZN9__gnu_cxx18stdio_sync_filebufIwSt11char_traitsIwEE4fileEv@@GLIBCXX_3.4.2
++FUNC:_ZN9__gnu_cxx18stdio_sync_filebufIwSt11char_traitsIwEE4syncEv@@GLIBCXX_3.4.10
++FUNC:_ZN9__gnu_cxx18stdio_sync_filebufIwSt11char_traitsIwEE5uflowEv@@GLIBCXX_3.4.10
++FUNC:_ZN9__gnu_cxx18stdio_sync_filebufIwSt11char_traitsIwEE6xsgetnEPwl@@GLIBCXX_3.4.10
++FUNC:_ZN9__gnu_cxx18stdio_sync_filebufIwSt11char_traitsIwEE6xsputnEPKwl@@GLIBCXX_3.4.10
++FUNC:_ZN9__gnu_cxx18stdio_sync_filebufIwSt11char_traitsIwEE7seekoffElSt12_Ios_SeekdirSt13_Ios_Openmode@@GLIBCXX_3.4.10
++FUNC:_ZN9__gnu_cxx18stdio_sync_filebufIwSt11char_traitsIwEE7seekposESt4fposI11__mbstate_tESt13_Ios_Openmode@@GLIBCXX_3.4.10
++FUNC:_ZN9__gnu_cxx18stdio_sync_filebufIwSt11char_traitsIwEE8overflowEj@@GLIBCXX_3.4.10
++FUNC:_ZN9__gnu_cxx18stdio_sync_filebufIwSt11char_traitsIwEE9pbackfailEj@@GLIBCXX_3.4.10
++FUNC:_ZN9__gnu_cxx18stdio_sync_filebufIwSt11char_traitsIwEE9underflowEv@@GLIBCXX_3.4.10
++FUNC:_ZN9__gnu_cxx18stdio_sync_filebufIwSt11char_traitsIwEEC1EP8_IO_FILE@@GLIBCXX_3.4.10
++FUNC:_ZN9__gnu_cxx18stdio_sync_filebufIwSt11char_traitsIwEEC2EP8_IO_FILE@@GLIBCXX_3.4.10
++FUNC:_ZN9__gnu_cxx18stdio_sync_filebufIwSt11char_traitsIwEED0Ev@@GLIBCXX_3.4.10
++FUNC:_ZN9__gnu_cxx18stdio_sync_filebufIwSt11char_traitsIwEED1Ev@@GLIBCXX_3.4.10
+ FUNC:_ZN9__gnu_cxx27__verbose_terminate_handlerEv@@CXXABI_1.3
+ FUNC:_ZN9__gnu_cxx6__poolILb0EE10_M_destroyEv@@GLIBCXX_3.4.4
+ FUNC:_ZN9__gnu_cxx6__poolILb0EE13_M_initializeEv@@GLIBCXX_3.4.4
+@@ -53,6 +85,7 @@
+ FUNC:_ZN9__gnu_cxx6__poolILb0EE16_M_reserve_blockEmm@@GLIBCXX_3.4.4
+ FUNC:_ZN9__gnu_cxx6__poolILb1EE10_M_destroyEv@@GLIBCXX_3.4.4
+ FUNC:_ZN9__gnu_cxx6__poolILb1EE13_M_initializeEPFvPvE@@GLIBCXX_3.4.4
++FUNC:_ZN9__gnu_cxx6__poolILb1EE13_M_initializeEv@@GLIBCXX_3.4.6
+ FUNC:_ZN9__gnu_cxx6__poolILb1EE16_M_get_thread_idEv@@GLIBCXX_3.4.4
+ FUNC:_ZN9__gnu_cxx6__poolILb1EE16_M_reclaim_blockEPcm@@GLIBCXX_3.4.4
+ FUNC:_ZN9__gnu_cxx6__poolILb1EE16_M_reserve_blockEmm@@GLIBCXX_3.4.4
+@@ -81,6 +114,7 @@
+ FUNC:_ZNK11__gnu_debug16_Error_formatter10_Parameter20_M_print_descriptionEPKS0_@@GLIBCXX_3.4
+ FUNC:_ZNK11__gnu_debug16_Error_formatter13_M_print_wordEPKc@@GLIBCXX_3.4
+ FUNC:_ZNK11__gnu_debug16_Error_formatter15_M_print_stringEPKc@@GLIBCXX_3.4
++FUNC:_ZNK11__gnu_debug16_Error_formatter17_M_get_max_lengthEv@@GLIBCXX_3.4.10
+ FUNC:_ZNK11__gnu_debug16_Error_formatter8_M_errorEv@@GLIBCXX_3.4
+ FUNC:_ZNK11__gnu_debug19_Safe_iterator_base11_M_singularEv@@GLIBCXX_3.4
+ FUNC:_ZNK11__gnu_debug19_Safe_iterator_base14_M_can_compareERKS0_@@GLIBCXX_3.4
+@@ -203,6 +237,7 @@
+ FUNC:_ZNKSs8max_sizeEv@@GLIBCXX_3.4
+ FUNC:_ZNKSs9_M_ibeginEv@@GLIBCXX_3.4
+ FUNC:_ZNKSsixEm@@GLIBCXX_3.4
++FUNC:_ZNKSt10bad_typeid4whatEv@@GLIBCXX_3.4.9
+ FUNC:_ZNKSt10istrstream5rdbufEv@@GLIBCXX_3.4
+ FUNC:_ZNKSt10moneypunctIcLb0EE10neg_formatEv@@GLIBCXX_3.4
+ FUNC:_ZNKSt10moneypunctIcLb0EE10pos_formatEv@@GLIBCXX_3.4
+@@ -301,6 +336,7 @@
+ FUNC:_ZNKSt11logic_error4whatEv@@GLIBCXX_3.4
+ FUNC:_ZNKSt12__basic_fileIcE7is_openEv@@GLIBCXX_3.4
+ FUNC:_ZNKSt12strstreambuf6pcountEv@@GLIBCXX_3.4
++FUNC:_ZNKSt13bad_exception4whatEv@@GLIBCXX_3.4.9
+ FUNC:_ZNKSt13basic_filebufIcSt11char_traitsIcEE7is_openEv@@GLIBCXX_3.4
+ FUNC:_ZNKSt13basic_filebufIwSt11char_traitsIwEE7is_openEv@@GLIBCXX_3.4
+ FUNC:_ZNKSt13basic_fstreamIcSt11char_traitsIcEE5rdbufEv@@GLIBCXX_3.4
+@@ -353,6 +389,16 @@
+ FUNC:_ZNKSt19basic_ostringstreamIcSt11char_traitsIcESaIcEE5rdbufEv@@GLIBCXX_3.4
+ FUNC:_ZNKSt19basic_ostringstreamIwSt11char_traitsIwESaIwEE3strEv@@GLIBCXX_3.4
+ FUNC:_ZNKSt19basic_ostringstreamIwSt11char_traitsIwESaIwEE5rdbufEv@@GLIBCXX_3.4
++FUNC:_ZNKSt3tr14hashIRKSbIwSt11char_traitsIwESaIwEEEclES6_@@GLIBCXX_3.4.10
++FUNC:_ZNKSt3tr14hashIRKSsEclES2_@@GLIBCXX_3.4.10
++FUNC:_ZNKSt3tr14hashISbIwSt11char_traitsIwESaIwEEEclES4_@@GLIBCXX_3.4.10
++FUNC:_ZNKSt3tr14hashISsEclESs@@GLIBCXX_3.4.10
++FUNC:_ZNKSt3tr14hashIeEclEe@@GLIBCXX_3.4.10
++FUNC:_ZNKSt4hashIRKSbIwSt11char_traitsIwESaIwEEEclES5_@@GLIBCXX_3.4.10
++FUNC:_ZNKSt4hashIRKSsEclES1_@@GLIBCXX_3.4.10
++FUNC:_ZNKSt4hashISbIwSt11char_traitsIwESaIwEEEclES3_@@GLIBCXX_3.4.10
++FUNC:_ZNKSt4hashISsEclESs@@GLIBCXX_3.4.10
++FUNC:_ZNKSt4hashIeEclEe@@GLIBCXX_3.4.10
+ FUNC:_ZNKSt5ctypeIcE10do_tolowerEPcPKc@@GLIBCXX_3.4
+ FUNC:_ZNKSt5ctypeIcE10do_tolowerEc@@GLIBCXX_3.4
+ FUNC:_ZNKSt5ctypeIcE10do_toupperEPcPKc@@GLIBCXX_3.4
+@@ -515,6 +561,7 @@
+ FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES3_RSt8ios_basewm@@GLIBCXX_3.4
+ FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES3_RSt8ios_basewx@@GLIBCXX_3.4
+ FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES3_RSt8ios_basewy@@GLIBCXX_3.4
++FUNC:_ZNKSt8bad_cast4whatEv@@GLIBCXX_3.4.9
+ FUNC:_ZNKSt8ios_base7failure4whatEv@@GLIBCXX_3.4
+ FUNC:_ZNKSt8messagesIcE18_M_convert_to_charERKSs@@GLIBCXX_3.4
+ FUNC:_ZNKSt8messagesIcE20_M_convert_from_charEPc@@GLIBCXX_3.4
+@@ -591,6 +638,7 @@
+ FUNC:_ZNKSt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES3_RSt8ios_basewPK2tmcc@@GLIBCXX_3.4
+ FUNC:_ZNKSt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES3_RSt8ios_basewPK2tmcc@@GLIBCXX_3.4
+ FUNC:_ZNKSt8valarrayImE4sizeEv@@GLIBCXX_3.4
++FUNC:_ZNKSt9bad_alloc4whatEv@@GLIBCXX_3.4.9
+ FUNC:_ZNKSt9basic_iosIcSt11char_traitsIcEE10exceptionsEv@@GLIBCXX_3.4
+ FUNC:_ZNKSt9basic_iosIcSt11char_traitsIcEE3badEv@@GLIBCXX_3.4
+ FUNC:_ZNKSt9basic_iosIcSt11char_traitsIcEE3eofEv@@GLIBCXX_3.4
+@@ -774,6 +822,17 @@
+ FUNC:_ZNSdD0Ev@@GLIBCXX_3.4
+ FUNC:_ZNSdD1Ev@@GLIBCXX_3.4
+ FUNC:_ZNSdD2Ev@@GLIBCXX_3.4
++FUNC:_ZNSi10_M_extractIPvEERSiRT_@@GLIBCXX_3.4.9
++FUNC:_ZNSi10_M_extractIbEERSiRT_@@GLIBCXX_3.4.9
++FUNC:_ZNSi10_M_extractIdEERSiRT_@@GLIBCXX_3.4.9
++FUNC:_ZNSi10_M_extractIeEERSiRT_@@GLIBCXX_3.4.9
++FUNC:_ZNSi10_M_extractIfEERSiRT_@@GLIBCXX_3.4.9
++FUNC:_ZNSi10_M_extractIjEERSiRT_@@GLIBCXX_3.4.9
++FUNC:_ZNSi10_M_extractIlEERSiRT_@@GLIBCXX_3.4.9
++FUNC:_ZNSi10_M_extractImEERSiRT_@@GLIBCXX_3.4.9
++FUNC:_ZNSi10_M_extractItEERSiRT_@@GLIBCXX_3.4.9
++FUNC:_ZNSi10_M_extractIxEERSiRT_@@GLIBCXX_3.4.9
++FUNC:_ZNSi10_M_extractIyEERSiRT_@@GLIBCXX_3.4.9
+ FUNC:_ZNSi3getEPcl@@GLIBCXX_3.4
+ FUNC:_ZNSi3getEPclc@@GLIBCXX_3.4
+ FUNC:_ZNSi3getERSt15basic_streambufIcSt11char_traitsIcEE@@GLIBCXX_3.4
+@@ -833,6 +892,14 @@
+ FUNC:_ZNSo6sentryD1Ev@@GLIBCXX_3.4
+ FUNC:_ZNSo6sentryD2Ev@@GLIBCXX_3.4
+ FUNC:_ZNSo8_M_writeEPKcl@@GLIBCXX_3.4
++FUNC:_ZNSo9_M_insertIPKvEERSoT_@@GLIBCXX_3.4.9
++FUNC:_ZNSo9_M_insertIbEERSoT_@@GLIBCXX_3.4.9
++FUNC:_ZNSo9_M_insertIdEERSoT_@@GLIBCXX_3.4.9
++FUNC:_ZNSo9_M_insertIeEERSoT_@@GLIBCXX_3.4.9
++FUNC:_ZNSo9_M_insertIlEERSoT_@@GLIBCXX_3.4.9
++FUNC:_ZNSo9_M_insertImEERSoT_@@GLIBCXX_3.4.9
++FUNC:_ZNSo9_M_insertIxEERSoT_@@GLIBCXX_3.4.9
++FUNC:_ZNSo9_M_insertIyEERSoT_@@GLIBCXX_3.4.9
+ FUNC:_ZNSoC1EPSt15basic_streambufIcSt11char_traitsIcEE@@GLIBCXX_3.4
+ FUNC:_ZNSoC1Ev@@GLIBCXX_3.4
+ FUNC:_ZNSoC2EPSt15basic_streambufIcSt11char_traitsIcEE@@GLIBCXX_3.4
+@@ -1206,6 +1273,17 @@
+ FUNC:_ZNSt13basic_fstreamIwSt11char_traitsIwEED0Ev@@GLIBCXX_3.4
+ FUNC:_ZNSt13basic_fstreamIwSt11char_traitsIwEED1Ev@@GLIBCXX_3.4
+ FUNC:_ZNSt13basic_fstreamIwSt11char_traitsIwEED2Ev@@GLIBCXX_3.4
++FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE10_M_extractIPvEERS2_RT_@@GLIBCXX_3.4.9
++FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE10_M_extractIbEERS2_RT_@@GLIBCXX_3.4.9
++FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE10_M_extractIdEERS2_RT_@@GLIBCXX_3.4.9
++FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE10_M_extractIeEERS2_RT_@@GLIBCXX_3.4.9
++FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE10_M_extractIfEERS2_RT_@@GLIBCXX_3.4.9
++FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE10_M_extractIjEERS2_RT_@@GLIBCXX_3.4.9
++FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE10_M_extractIlEERS2_RT_@@GLIBCXX_3.4.9
++FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE10_M_extractImEERS2_RT_@@GLIBCXX_3.4.9
++FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE10_M_extractItEERS2_RT_@@GLIBCXX_3.4.9
++FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE10_M_extractIxEERS2_RT_@@GLIBCXX_3.4.9
++FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE10_M_extractIyEERS2_RT_@@GLIBCXX_3.4.9
+ FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE3getEPwl@@GLIBCXX_3.4
+ FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE3getEPwlw@@GLIBCXX_3.4
+ FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE3getERSt15basic_streambufIwS1_E@@GLIBCXX_3.4
+@@ -1265,6 +1343,14 @@
+ FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEE6sentryD1Ev@@GLIBCXX_3.4
+ FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEE6sentryD2Ev@@GLIBCXX_3.4
+ FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEE8_M_writeEPKwl@@GLIBCXX_3.4
++FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEE9_M_insertIPKvEERS2_T_@@GLIBCXX_3.4.9
++FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEE9_M_insertIbEERS2_T_@@GLIBCXX_3.4.9
++FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEE9_M_insertIdEERS2_T_@@GLIBCXX_3.4.9
++FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEE9_M_insertIeEERS2_T_@@GLIBCXX_3.4.9
++FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEE9_M_insertIlEERS2_T_@@GLIBCXX_3.4.9
++FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEE9_M_insertImEERS2_T_@@GLIBCXX_3.4.9
++FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEE9_M_insertIxEERS2_T_@@GLIBCXX_3.4.9
++FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEE9_M_insertIyEERS2_T_@@GLIBCXX_3.4.9
+ FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEEC1EPSt15basic_streambufIwS1_E@@GLIBCXX_3.4
+ FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEEC1Ev@@GLIBCXX_3.4
+ FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEEC2EPSt15basic_streambufIwS1_E@@GLIBCXX_3.4
+@@ -1386,6 +1472,7 @@
+ FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE6sbumpcEv@@GLIBCXX_3.4
+ FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE6setbufEPcl@@GLIBCXX_3.4
+ FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE6snextcEv@@GLIBCXX_3.4
++FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE6stosscEv@@GLIBCXX_3.4.10
+ FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE6xsgetnEPcl@@GLIBCXX_3.4
+ FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE6xsputnEPKcl@@GLIBCXX_3.4
+ FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE7pubsyncEv@@GLIBCXX_3.4
+@@ -1424,6 +1511,7 @@
+ FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE6sbumpcEv@@GLIBCXX_3.4
+ FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE6setbufEPwl@@GLIBCXX_3.4
+ FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE6snextcEv@@GLIBCXX_3.4
++FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE6stosscEv@@GLIBCXX_3.4.10
+ FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE6xsgetnEPwl@@GLIBCXX_3.4
+ FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE6xsputnEPKwl@@GLIBCXX_3.4
+ FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE7pubsyncEv@@GLIBCXX_3.4
+@@ -1455,6 +1543,7 @@
+ FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE7seekposESt4fposI11__mbstate_tESt13_Ios_Openmode@@GLIBCXX_3.4
+ FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE8overflowEi@@GLIBCXX_3.4
+ FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE9pbackfailEi@@GLIBCXX_3.4
++FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE9showmanycEv@@GLIBCXX_3.4.6
+ FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE9underflowEv@@GLIBCXX_3.4
+ FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEEC1ERKSsSt13_Ios_Openmode@@GLIBCXX_3.4
+ FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEEC1ESt13_Ios_Openmode@@GLIBCXX_3.4
+@@ -1471,6 +1560,7 @@
+ FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEE7seekposESt4fposI11__mbstate_tESt13_Ios_Openmode@@GLIBCXX_3.4
+ FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEE8overflowEj@@GLIBCXX_3.4
+ FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEE9pbackfailEj@@GLIBCXX_3.4
++FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEE9showmanycEv@@GLIBCXX_3.4.6
+ FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEE9underflowEv@@GLIBCXX_3.4
+ FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEEC1ERKSbIwS1_S2_ESt13_Ios_Openmode@@GLIBCXX_3.4
+ FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEEC1ESt13_Ios_Openmode@@GLIBCXX_3.4
+@@ -1660,10 +1750,16 @@
+ FUNC:_ZNSt5ctypeIwED0Ev@@GLIBCXX_3.4
+ FUNC:_ZNSt5ctypeIwED1Ev@@GLIBCXX_3.4
+ FUNC:_ZNSt5ctypeIwED2Ev@@GLIBCXX_3.4
++FUNC:_ZNSt6__norm15_List_node_base4hookEPS0_@@GLIBCXX_3.4.9
++FUNC:_ZNSt6__norm15_List_node_base4swapERS0_S1_@@GLIBCXX_3.4.9
++FUNC:_ZNSt6__norm15_List_node_base6unhookEv@@GLIBCXX_3.4.9
++FUNC:_ZNSt6__norm15_List_node_base7reverseEv@@GLIBCXX_3.4.9
++FUNC:_ZNSt6__norm15_List_node_base8transferEPS0_S1_@@GLIBCXX_3.4.9
+ FUNC:_ZNSt6gslice8_IndexerC1EmRKSt8valarrayImES4_@@GLIBCXX_3.4
+ FUNC:_ZNSt6gslice8_IndexerC2EmRKSt8valarrayImES4_@@GLIBCXX_3.4
+ FUNC:_ZNSt6locale11_M_coalesceERKS_S1_i@@GLIBCXX_3.4
+ FUNC:_ZNSt6locale21_S_normalize_categoryEi@@GLIBCXX_3.4
++FUNC:_ZNSt6locale5_Impl16_M_install_cacheEPKNS_5facetEm@@GLIBCXX_3.4.7
+ FUNC:_ZNSt6locale5_Impl16_M_install_facetEPKNS_2idEPKNS_5facetE@@GLIBCXX_3.4
+ FUNC:_ZNSt6locale5_Impl16_M_replace_facetEPKS0_PKNS_2idE@@GLIBCXX_3.4
+ FUNC:_ZNSt6locale5_Impl19_M_replace_categoryEPKS0_PKPKNS_2idE@@GLIBCXX_3.4
+@@ -1676,6 +1772,7 @@
+ FUNC:_ZNSt6locale5_ImplC2Em@@GLIBCXX_3.4
+ FUNC:_ZNSt6locale5_ImplD1Ev@@GLIBCXX_3.4
+ FUNC:_ZNSt6locale5_ImplD2Ev@@GLIBCXX_3.4
++FUNC:_ZNSt6locale5facet13_S_get_c_nameEv@@GLIBCXX_3.4.6
+ FUNC:_ZNSt6locale5facet15_S_get_c_localeEv@@GLIBCXX_3.4
+ FUNC:_ZNSt6locale5facet17_S_clone_c_localeERP15__locale_struct@@GLIBCXX_3.4
+ FUNC:_ZNSt6locale5facet18_S_create_c_localeERP15__locale_structPKcS2_@@GLIBCXX_3.4
+@@ -1753,7 +1850,9 @@
+ FUNC:_ZNSt8bad_castD2Ev@@GLIBCXX_3.4
+ FUNC:_ZNSt8ios_base13_M_grow_wordsEib@@GLIBCXX_3.4
+ FUNC:_ZNSt8ios_base15sync_with_stdioEb@@GLIBCXX_3.4
++FUNC:_ZNSt8ios_base17_M_call_callbacksENS_5eventE@@GLIBCXX_3.4.6
+ FUNC:_ZNSt8ios_base17register_callbackEPFvNS_5eventERS_iEi@@GLIBCXX_3.4
++FUNC:_ZNSt8ios_base20_M_dispose_callbacksEv@@GLIBCXX_3.4.6
+ FUNC:_ZNSt8ios_base4InitC1Ev@@GLIBCXX_3.4
+ FUNC:_ZNSt8ios_base4InitC2Ev@@GLIBCXX_3.4
+ FUNC:_ZNSt8ios_base4InitD1Ev@@GLIBCXX_3.4
+@@ -1832,6 +1931,11 @@
+ FUNC:_ZNSt8valarrayImED1Ev@@GLIBCXX_3.4
+ FUNC:_ZNSt8valarrayImED2Ev@@GLIBCXX_3.4
+ FUNC:_ZNSt8valarrayImEixEm@@GLIBCXX_3.4
++FUNC:_ZNSt9__cxx199815_List_node_base4hookEPS0_@@GLIBCXX_3.4.10
++FUNC:_ZNSt9__cxx199815_List_node_base4swapERS0_S1_@@GLIBCXX_3.4.10
++FUNC:_ZNSt9__cxx199815_List_node_base6unhookEv@@GLIBCXX_3.4.10
++FUNC:_ZNSt9__cxx199815_List_node_base7reverseEv@@GLIBCXX_3.4.10
++FUNC:_ZNSt9__cxx199815_List_node_base8transferEPS0_S1_@@GLIBCXX_3.4.10
+ FUNC:_ZNSt9bad_allocD0Ev@@GLIBCXX_3.4
+ FUNC:_ZNSt9bad_allocD1Ev@@GLIBCXX_3.4
+ FUNC:_ZNSt9bad_allocD2Ev@@GLIBCXX_3.4
+@@ -1913,8 +2017,13 @@
+ FUNC:_ZSt14__convert_to_vIfEvPKcRT_RSt12_Ios_IostateRKP15__locale_struct@@GLIBCXX_3.4
+ FUNC:_ZSt14set_unexpectedPFvvE@@GLIBCXX_3.4
+ FUNC:_ZSt15set_new_handlerPFvvE@@GLIBCXX_3.4
++FUNC:_ZSt16__ostream_insertIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_PKS3_l@@GLIBCXX_3.4.9
++FUNC:_ZSt16__ostream_insertIwSt11char_traitsIwEERSt13basic_ostreamIT_T0_ES6_PKS3_l@@GLIBCXX_3.4.9
+ FUNC:_ZSt16__throw_bad_castv@@GLIBCXX_3.4
++FUNC:_ZSt17__copy_streambufsIcSt11char_traitsIcEElPSt15basic_streambufIT_T0_ES6_@@GLIBCXX_3.4.8
++FUNC:_ZSt17__copy_streambufsIwSt11char_traitsIwEElPSt15basic_streambufIT_T0_ES6_@@GLIBCXX_3.4.8
+ FUNC:_ZSt17__throw_bad_allocv@@GLIBCXX_3.4
++FUNC:_ZSt17__verify_groupingPKcmRKSs@@GLIBCXX_3.4.10
+ FUNC:_ZSt18_Rb_tree_decrementPKSt18_Rb_tree_node_base@@GLIBCXX_3.4
+ FUNC:_ZSt18_Rb_tree_decrementPSt18_Rb_tree_node_base@@GLIBCXX_3.4
+ FUNC:_ZSt18_Rb_tree_incrementPKSt18_Rb_tree_node_base@@GLIBCXX_3.4
+@@ -1930,6 +2039,8 @@
+ FUNC:_ZSt20__throw_length_errorPKc@@GLIBCXX_3.4
+ FUNC:_ZSt20__throw_out_of_rangePKc@@GLIBCXX_3.4
+ FUNC:_ZSt21_Rb_tree_rotate_rightPSt18_Rb_tree_node_baseRS0_@@GLIBCXX_3.4
++FUNC:_ZSt21__copy_streambufs_eofIcSt11char_traitsIcEElPSt15basic_streambufIT_T0_ES6_Rb@@GLIBCXX_3.4.9
++FUNC:_ZSt21__copy_streambufs_eofIwSt11char_traitsIwEElPSt15basic_streambufIT_T0_ES6_Rb@@GLIBCXX_3.4.9
+ FUNC:_ZSt21__throw_bad_exceptionv@@GLIBCXX_3.4
+ FUNC:_ZSt21__throw_runtime_errorPKc@@GLIBCXX_3.4
+ FUNC:_ZSt22__throw_overflow_errorPKc@@GLIBCXX_3.4
+@@ -2164,12 +2275,18 @@
+ FUNC:__gxx_personality_v0@@CXXABI_1.3
+ OBJECT:0:CXXABI_1.3
+ OBJECT:0:CXXABI_1.3.1
++OBJECT:0:CXXABI_1.3.2
+ OBJECT:0:GLIBCXX_3.4
+ OBJECT:0:GLIBCXX_3.4.1
++OBJECT:0:GLIBCXX_3.4.10
+ OBJECT:0:GLIBCXX_3.4.2
+ OBJECT:0:GLIBCXX_3.4.3
+ OBJECT:0:GLIBCXX_3.4.4
+ OBJECT:0:GLIBCXX_3.4.5
++OBJECT:0:GLIBCXX_3.4.6
++OBJECT:0:GLIBCXX_3.4.7
++OBJECT:0:GLIBCXX_3.4.8
++OBJECT:0:GLIBCXX_3.4.9
+ OBJECT:112:_ZNSt17__timepunct_cacheIcE12_S_timezonesE@@GLIBCXX_3.4
+ OBJECT:112:_ZNSt17__timepunct_cacheIwE12_S_timezonesE@@GLIBCXX_3.4
+ OBJECT:112:_ZTVN10__cxxabiv116__enum_type_infoE@@CXXABI_1.3
+@@ -2238,6 +2355,8 @@
+ OBJECT:168:_ZTVSt18basic_stringstreamIcSt11char_traitsIcESaIcEE@@GLIBCXX_3.4
+ OBJECT:168:_ZTVSt18basic_stringstreamIwSt11char_traitsIwESaIwEE@@GLIBCXX_3.4
+ OBJECT:168:_ZTVSt9strstream@@GLIBCXX_3.4
++OBJECT:16:_ZTIN10__cxxabiv115__forced_unwindE@@CXXABI_1.3.2
++OBJECT:16:_ZTIN10__cxxabiv119__foreign_exceptionE@@CXXABI_1.3.2
+ OBJECT:16:_ZTINSt6locale5facetE@@GLIBCXX_3.4
+ OBJECT:16:_ZTISt10ctype_base@@GLIBCXX_3.4
+ OBJECT:16:_ZTISt10money_base@@GLIBCXX_3.4
+@@ -2557,6 +2676,8 @@
+ OBJECT:240:_ZTVSt21__ctype_abstract_baseIcE@@GLIBCXX_3.4
+ OBJECT:240:_ZTVSt21__ctype_abstract_baseIwE@@GLIBCXX_3.4
+ OBJECT:240:_ZTVSt5ctypeIwE@@GLIBCXX_3.4
++OBJECT:2440:_ZNSt3tr18__detail12__prime_listE@@GLIBCXX_3.4.10
++OBJECT:2440:_ZNSt8__detail12__prime_listE@@GLIBCXX_3.4.10
+ OBJECT:24:_ZTIN10__cxxabiv116__enum_type_infoE@@CXXABI_1.3
+ OBJECT:24:_ZTIN10__cxxabiv117__array_type_infoE@@CXXABI_1.3
+ OBJECT:24:_ZTIN10__cxxabiv117__class_type_infoE@@CXXABI_1.3
+Index: libstdc++-v3/config/abi/post/mips-linux-gnu/baseline_symbols.txt
+===================================================================
+--- libstdc++-v3/config/abi/post/mips-linux-gnu/baseline_symbols.txt (.../tags/gcc_4_3_0_release) (revision 133808)
++++ libstdc++-v3/config/abi/post/mips-linux-gnu/baseline_symbols.txt (.../branches/gcc-4_3-branch) (revision 133808)
+@@ -33,19 +33,51 @@
+ FUNC:_ZN10__gnu_norm15_List_node_base6unhookEv@@GLIBCXX_3.4
+ FUNC:_ZN10__gnu_norm15_List_node_base7reverseEv@@GLIBCXX_3.4
+ FUNC:_ZN10__gnu_norm15_List_node_base8transferEPS0_S1_@@GLIBCXX_3.4
++FUNC:_ZN11__gnu_debug19_Safe_iterator_base12_M_get_mutexEv@@GLIBCXX_3.4.9
++FUNC:_ZN11__gnu_debug19_Safe_iterator_base16_M_attach_singleEPNS_19_Safe_sequence_baseEb@@GLIBCXX_3.4.9
++FUNC:_ZN11__gnu_debug19_Safe_iterator_base16_M_detach_singleEv@@GLIBCXX_3.4.9
+ FUNC:_ZN11__gnu_debug19_Safe_iterator_base9_M_attachEPNS_19_Safe_sequence_baseEb@@GLIBCXX_3.4
+ FUNC:_ZN11__gnu_debug19_Safe_iterator_base9_M_detachEv@@GLIBCXX_3.4
++FUNC:_ZN11__gnu_debug19_Safe_sequence_base12_M_get_mutexEv@@GLIBCXX_3.4.9
+ FUNC:_ZN11__gnu_debug19_Safe_sequence_base13_M_detach_allEv@@GLIBCXX_3.4
+ FUNC:_ZN11__gnu_debug19_Safe_sequence_base18_M_detach_singularEv@@GLIBCXX_3.4
+ FUNC:_ZN11__gnu_debug19_Safe_sequence_base22_M_revalidate_singularEv@@GLIBCXX_3.4
+ FUNC:_ZN11__gnu_debug19_Safe_sequence_base7_M_swapERS0_@@GLIBCXX_3.4
++FUNC:_ZN14__gnu_parallel9_Settings3getEv@@GLIBCXX_3.4.10
++FUNC:_ZN14__gnu_parallel9_Settings3setERS0_@@GLIBCXX_3.4.10
+ FUNC:_ZN9__gnu_cxx12__atomic_addEPVii@@GLIBCXX_3.4
+ FUNC:_ZN9__gnu_cxx17__pool_alloc_base12_M_get_mutexEv@@GLIBCXX_3.4.2
+ FUNC:_ZN9__gnu_cxx17__pool_alloc_base16_M_get_free_listEj@@GLIBCXX_3.4.2
+ FUNC:_ZN9__gnu_cxx17__pool_alloc_base9_M_refillEj@@GLIBCXX_3.4.2
+ FUNC:_ZN9__gnu_cxx18__exchange_and_addEPVii@@GLIBCXX_3.4
+ FUNC:_ZN9__gnu_cxx18stdio_sync_filebufIcSt11char_traitsIcEE4fileEv@@GLIBCXX_3.4.2
++FUNC:_ZN9__gnu_cxx18stdio_sync_filebufIcSt11char_traitsIcEE4syncEv@@GLIBCXX_3.4.10
++FUNC:_ZN9__gnu_cxx18stdio_sync_filebufIcSt11char_traitsIcEE5uflowEv@@GLIBCXX_3.4.10
++FUNC:_ZN9__gnu_cxx18stdio_sync_filebufIcSt11char_traitsIcEE6xsgetnEPci@@GLIBCXX_3.4.10
++FUNC:_ZN9__gnu_cxx18stdio_sync_filebufIcSt11char_traitsIcEE6xsputnEPKci@@GLIBCXX_3.4.10
++FUNC:_ZN9__gnu_cxx18stdio_sync_filebufIcSt11char_traitsIcEE7seekoffExSt12_Ios_SeekdirSt13_Ios_Openmode@@GLIBCXX_3.4.10
++FUNC:_ZN9__gnu_cxx18stdio_sync_filebufIcSt11char_traitsIcEE7seekposESt4fposI11__mbstate_tESt13_Ios_Openmode@@GLIBCXX_3.4.10
++FUNC:_ZN9__gnu_cxx18stdio_sync_filebufIcSt11char_traitsIcEE8overflowEi@@GLIBCXX_3.4.10
++FUNC:_ZN9__gnu_cxx18stdio_sync_filebufIcSt11char_traitsIcEE9pbackfailEi@@GLIBCXX_3.4.10
++FUNC:_ZN9__gnu_cxx18stdio_sync_filebufIcSt11char_traitsIcEE9underflowEv@@GLIBCXX_3.4.10
++FUNC:_ZN9__gnu_cxx18stdio_sync_filebufIcSt11char_traitsIcEEC1EP8_IO_FILE@@GLIBCXX_3.4.10
++FUNC:_ZN9__gnu_cxx18stdio_sync_filebufIcSt11char_traitsIcEEC2EP8_IO_FILE@@GLIBCXX_3.4.10
++FUNC:_ZN9__gnu_cxx18stdio_sync_filebufIcSt11char_traitsIcEED0Ev@@GLIBCXX_3.4.10
++FUNC:_ZN9__gnu_cxx18stdio_sync_filebufIcSt11char_traitsIcEED1Ev@@GLIBCXX_3.4.10
+ FUNC:_ZN9__gnu_cxx18stdio_sync_filebufIwSt11char_traitsIwEE4fileEv@@GLIBCXX_3.4.2
++FUNC:_ZN9__gnu_cxx18stdio_sync_filebufIwSt11char_traitsIwEE4syncEv@@GLIBCXX_3.4.10
++FUNC:_ZN9__gnu_cxx18stdio_sync_filebufIwSt11char_traitsIwEE5uflowEv@@GLIBCXX_3.4.10
++FUNC:_ZN9__gnu_cxx18stdio_sync_filebufIwSt11char_traitsIwEE6xsgetnEPwi@@GLIBCXX_3.4.10
++FUNC:_ZN9__gnu_cxx18stdio_sync_filebufIwSt11char_traitsIwEE6xsputnEPKwi@@GLIBCXX_3.4.10
++FUNC:_ZN9__gnu_cxx18stdio_sync_filebufIwSt11char_traitsIwEE7seekoffExSt12_Ios_SeekdirSt13_Ios_Openmode@@GLIBCXX_3.4.10
++FUNC:_ZN9__gnu_cxx18stdio_sync_filebufIwSt11char_traitsIwEE7seekposESt4fposI11__mbstate_tESt13_Ios_Openmode@@GLIBCXX_3.4.10
++FUNC:_ZN9__gnu_cxx18stdio_sync_filebufIwSt11char_traitsIwEE8overflowEj@@GLIBCXX_3.4.10
++FUNC:_ZN9__gnu_cxx18stdio_sync_filebufIwSt11char_traitsIwEE9pbackfailEj@@GLIBCXX_3.4.10
++FUNC:_ZN9__gnu_cxx18stdio_sync_filebufIwSt11char_traitsIwEE9underflowEv@@GLIBCXX_3.4.10
++FUNC:_ZN9__gnu_cxx18stdio_sync_filebufIwSt11char_traitsIwEEC1EP8_IO_FILE@@GLIBCXX_3.4.10
++FUNC:_ZN9__gnu_cxx18stdio_sync_filebufIwSt11char_traitsIwEEC2EP8_IO_FILE@@GLIBCXX_3.4.10
++FUNC:_ZN9__gnu_cxx18stdio_sync_filebufIwSt11char_traitsIwEED0Ev@@GLIBCXX_3.4.10
++FUNC:_ZN9__gnu_cxx18stdio_sync_filebufIwSt11char_traitsIwEED1Ev@@GLIBCXX_3.4.10
+ FUNC:_ZN9__gnu_cxx27__verbose_terminate_handlerEv@@CXXABI_1.3
+ FUNC:_ZN9__gnu_cxx6__poolILb0EE10_M_destroyEv@@GLIBCXX_3.4.4
+ FUNC:_ZN9__gnu_cxx6__poolILb0EE13_M_initializeEv@@GLIBCXX_3.4.4
+@@ -53,6 +85,7 @@
+ FUNC:_ZN9__gnu_cxx6__poolILb0EE16_M_reserve_blockEjj@@GLIBCXX_3.4.4
+ FUNC:_ZN9__gnu_cxx6__poolILb1EE10_M_destroyEv@@GLIBCXX_3.4.4
+ FUNC:_ZN9__gnu_cxx6__poolILb1EE13_M_initializeEPFvPvE@@GLIBCXX_3.4.4
++FUNC:_ZN9__gnu_cxx6__poolILb1EE13_M_initializeEv@@GLIBCXX_3.4.6
+ FUNC:_ZN9__gnu_cxx6__poolILb1EE16_M_get_thread_idEv@@GLIBCXX_3.4.4
+ FUNC:_ZN9__gnu_cxx6__poolILb1EE16_M_reclaim_blockEPcj@@GLIBCXX_3.4.4
+ FUNC:_ZN9__gnu_cxx6__poolILb1EE16_M_reserve_blockEjj@@GLIBCXX_3.4.4
+@@ -81,6 +114,7 @@
+ FUNC:_ZNK11__gnu_debug16_Error_formatter10_Parameter20_M_print_descriptionEPKS0_@@GLIBCXX_3.4
+ FUNC:_ZNK11__gnu_debug16_Error_formatter13_M_print_wordEPKc@@GLIBCXX_3.4
+ FUNC:_ZNK11__gnu_debug16_Error_formatter15_M_print_stringEPKc@@GLIBCXX_3.4
++FUNC:_ZNK11__gnu_debug16_Error_formatter17_M_get_max_lengthEv@@GLIBCXX_3.4.10
+ FUNC:_ZNK11__gnu_debug16_Error_formatter8_M_errorEv@@GLIBCXX_3.4
+ FUNC:_ZNK11__gnu_debug19_Safe_iterator_base11_M_singularEv@@GLIBCXX_3.4
+ FUNC:_ZNK11__gnu_debug19_Safe_iterator_base14_M_can_compareERKS0_@@GLIBCXX_3.4
+@@ -203,6 +237,7 @@
+ FUNC:_ZNKSs8max_sizeEv@@GLIBCXX_3.4
+ FUNC:_ZNKSs9_M_ibeginEv@@GLIBCXX_3.4
+ FUNC:_ZNKSsixEj@@GLIBCXX_3.4
++FUNC:_ZNKSt10bad_typeid4whatEv@@GLIBCXX_3.4.9
+ FUNC:_ZNKSt10istrstream5rdbufEv@@GLIBCXX_3.4
+ FUNC:_ZNKSt10moneypunctIcLb0EE10neg_formatEv@@GLIBCXX_3.4
+ FUNC:_ZNKSt10moneypunctIcLb0EE10pos_formatEv@@GLIBCXX_3.4
+@@ -301,6 +336,7 @@
+ FUNC:_ZNKSt11logic_error4whatEv@@GLIBCXX_3.4
+ FUNC:_ZNKSt12__basic_fileIcE7is_openEv@@GLIBCXX_3.4
+ FUNC:_ZNKSt12strstreambuf6pcountEv@@GLIBCXX_3.4
++FUNC:_ZNKSt13bad_exception4whatEv@@GLIBCXX_3.4.9
+ FUNC:_ZNKSt13basic_filebufIcSt11char_traitsIcEE7is_openEv@@GLIBCXX_3.4
+ FUNC:_ZNKSt13basic_filebufIwSt11char_traitsIwEE7is_openEv@@GLIBCXX_3.4
+ FUNC:_ZNKSt13basic_fstreamIcSt11char_traitsIcEE5rdbufEv@@GLIBCXX_3.4
+@@ -353,6 +389,16 @@
+ FUNC:_ZNKSt19basic_ostringstreamIcSt11char_traitsIcESaIcEE5rdbufEv@@GLIBCXX_3.4
+ FUNC:_ZNKSt19basic_ostringstreamIwSt11char_traitsIwESaIwEE3strEv@@GLIBCXX_3.4
+ FUNC:_ZNKSt19basic_ostringstreamIwSt11char_traitsIwESaIwEE5rdbufEv@@GLIBCXX_3.4
++FUNC:_ZNKSt3tr14hashIRKSbIwSt11char_traitsIwESaIwEEEclES6_@@GLIBCXX_3.4.10
++FUNC:_ZNKSt3tr14hashIRKSsEclES2_@@GLIBCXX_3.4.10
++FUNC:_ZNKSt3tr14hashISbIwSt11char_traitsIwESaIwEEEclES4_@@GLIBCXX_3.4.10
++FUNC:_ZNKSt3tr14hashISsEclESs@@GLIBCXX_3.4.10
++FUNC:_ZNKSt3tr14hashIeEclEe@@GLIBCXX_3.4.10
++FUNC:_ZNKSt4hashIRKSbIwSt11char_traitsIwESaIwEEEclES5_@@GLIBCXX_3.4.10
++FUNC:_ZNKSt4hashIRKSsEclES1_@@GLIBCXX_3.4.10
++FUNC:_ZNKSt4hashISbIwSt11char_traitsIwESaIwEEEclES3_@@GLIBCXX_3.4.10
++FUNC:_ZNKSt4hashISsEclESs@@GLIBCXX_3.4.10
++FUNC:_ZNKSt4hashIeEclEe@@GLIBCXX_3.4.10
+ FUNC:_ZNKSt5ctypeIcE10do_tolowerEPcPKc@@GLIBCXX_3.4
+ FUNC:_ZNKSt5ctypeIcE10do_tolowerEc@@GLIBCXX_3.4
+ FUNC:_ZNKSt5ctypeIcE10do_toupperEPcPKc@@GLIBCXX_3.4
+@@ -515,6 +561,7 @@
+ FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES3_RSt8ios_basewm@@GLIBCXX_3.4
+ FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES3_RSt8ios_basewx@@GLIBCXX_3.4
+ FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES3_RSt8ios_basewy@@GLIBCXX_3.4
++FUNC:_ZNKSt8bad_cast4whatEv@@GLIBCXX_3.4.9
+ FUNC:_ZNKSt8ios_base7failure4whatEv@@GLIBCXX_3.4
+ FUNC:_ZNKSt8messagesIcE18_M_convert_to_charERKSs@@GLIBCXX_3.4
+ FUNC:_ZNKSt8messagesIcE20_M_convert_from_charEPc@@GLIBCXX_3.4
+@@ -591,6 +638,7 @@
+ FUNC:_ZNKSt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES3_RSt8ios_basewPK2tmcc@@GLIBCXX_3.4
+ FUNC:_ZNKSt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES3_RSt8ios_basewPK2tmcc@@GLIBCXX_3.4
+ FUNC:_ZNKSt8valarrayIjE4sizeEv@@GLIBCXX_3.4
++FUNC:_ZNKSt9bad_alloc4whatEv@@GLIBCXX_3.4.9
+ FUNC:_ZNKSt9basic_iosIcSt11char_traitsIcEE10exceptionsEv@@GLIBCXX_3.4
+ FUNC:_ZNKSt9basic_iosIcSt11char_traitsIcEE3badEv@@GLIBCXX_3.4
+ FUNC:_ZNKSt9basic_iosIcSt11char_traitsIcEE3eofEv@@GLIBCXX_3.4
+@@ -774,6 +822,17 @@
+ FUNC:_ZNSdD0Ev@@GLIBCXX_3.4
+ FUNC:_ZNSdD1Ev@@GLIBCXX_3.4
+ FUNC:_ZNSdD2Ev@@GLIBCXX_3.4
++FUNC:_ZNSi10_M_extractIPvEERSiRT_@@GLIBCXX_3.4.9
++FUNC:_ZNSi10_M_extractIbEERSiRT_@@GLIBCXX_3.4.9
++FUNC:_ZNSi10_M_extractIdEERSiRT_@@GLIBCXX_3.4.9
++FUNC:_ZNSi10_M_extractIeEERSiRT_@@GLIBCXX_3.4.9
++FUNC:_ZNSi10_M_extractIfEERSiRT_@@GLIBCXX_3.4.9
++FUNC:_ZNSi10_M_extractIjEERSiRT_@@GLIBCXX_3.4.9
++FUNC:_ZNSi10_M_extractIlEERSiRT_@@GLIBCXX_3.4.9
++FUNC:_ZNSi10_M_extractImEERSiRT_@@GLIBCXX_3.4.9
++FUNC:_ZNSi10_M_extractItEERSiRT_@@GLIBCXX_3.4.9
++FUNC:_ZNSi10_M_extractIxEERSiRT_@@GLIBCXX_3.4.9
++FUNC:_ZNSi10_M_extractIyEERSiRT_@@GLIBCXX_3.4.9
+ FUNC:_ZNSi3getEPci@@GLIBCXX_3.4
+ FUNC:_ZNSi3getEPcic@@GLIBCXX_3.4
+ FUNC:_ZNSi3getERSt15basic_streambufIcSt11char_traitsIcEE@@GLIBCXX_3.4
+@@ -833,6 +892,14 @@
+ FUNC:_ZNSo6sentryD1Ev@@GLIBCXX_3.4
+ FUNC:_ZNSo6sentryD2Ev@@GLIBCXX_3.4
+ FUNC:_ZNSo8_M_writeEPKci@@GLIBCXX_3.4
++FUNC:_ZNSo9_M_insertIPKvEERSoT_@@GLIBCXX_3.4.9
++FUNC:_ZNSo9_M_insertIbEERSoT_@@GLIBCXX_3.4.9
++FUNC:_ZNSo9_M_insertIdEERSoT_@@GLIBCXX_3.4.9
++FUNC:_ZNSo9_M_insertIeEERSoT_@@GLIBCXX_3.4.9
++FUNC:_ZNSo9_M_insertIlEERSoT_@@GLIBCXX_3.4.9
++FUNC:_ZNSo9_M_insertImEERSoT_@@GLIBCXX_3.4.9
++FUNC:_ZNSo9_M_insertIxEERSoT_@@GLIBCXX_3.4.9
++FUNC:_ZNSo9_M_insertIyEERSoT_@@GLIBCXX_3.4.9
+ FUNC:_ZNSoC1EPSt15basic_streambufIcSt11char_traitsIcEE@@GLIBCXX_3.4
+ FUNC:_ZNSoC1Ev@@GLIBCXX_3.4
+ FUNC:_ZNSoC2EPSt15basic_streambufIcSt11char_traitsIcEE@@GLIBCXX_3.4
+@@ -1206,6 +1273,17 @@
+ FUNC:_ZNSt13basic_fstreamIwSt11char_traitsIwEED0Ev@@GLIBCXX_3.4
+ FUNC:_ZNSt13basic_fstreamIwSt11char_traitsIwEED1Ev@@GLIBCXX_3.4
+ FUNC:_ZNSt13basic_fstreamIwSt11char_traitsIwEED2Ev@@GLIBCXX_3.4
++FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE10_M_extractIPvEERS2_RT_@@GLIBCXX_3.4.9
++FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE10_M_extractIbEERS2_RT_@@GLIBCXX_3.4.9
++FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE10_M_extractIdEERS2_RT_@@GLIBCXX_3.4.9
++FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE10_M_extractIeEERS2_RT_@@GLIBCXX_3.4.9
++FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE10_M_extractIfEERS2_RT_@@GLIBCXX_3.4.9
++FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE10_M_extractIjEERS2_RT_@@GLIBCXX_3.4.9
++FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE10_M_extractIlEERS2_RT_@@GLIBCXX_3.4.9
++FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE10_M_extractImEERS2_RT_@@GLIBCXX_3.4.9
++FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE10_M_extractItEERS2_RT_@@GLIBCXX_3.4.9
++FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE10_M_extractIxEERS2_RT_@@GLIBCXX_3.4.9
++FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE10_M_extractIyEERS2_RT_@@GLIBCXX_3.4.9
+ FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE3getEPwi@@GLIBCXX_3.4
+ FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE3getEPwiw@@GLIBCXX_3.4
+ FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE3getERSt15basic_streambufIwS1_E@@GLIBCXX_3.4
+@@ -1265,6 +1343,14 @@
+ FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEE6sentryD1Ev@@GLIBCXX_3.4
+ FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEE6sentryD2Ev@@GLIBCXX_3.4
+ FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEE8_M_writeEPKwi@@GLIBCXX_3.4
++FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEE9_M_insertIPKvEERS2_T_@@GLIBCXX_3.4.9
++FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEE9_M_insertIbEERS2_T_@@GLIBCXX_3.4.9
++FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEE9_M_insertIdEERS2_T_@@GLIBCXX_3.4.9
++FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEE9_M_insertIeEERS2_T_@@GLIBCXX_3.4.9
++FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEE9_M_insertIlEERS2_T_@@GLIBCXX_3.4.9
++FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEE9_M_insertImEERS2_T_@@GLIBCXX_3.4.9
++FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEE9_M_insertIxEERS2_T_@@GLIBCXX_3.4.9
++FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEE9_M_insertIyEERS2_T_@@GLIBCXX_3.4.9
+ FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEEC1EPSt15basic_streambufIwS1_E@@GLIBCXX_3.4
+ FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEEC1Ev@@GLIBCXX_3.4
+ FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEEC2EPSt15basic_streambufIwS1_E@@GLIBCXX_3.4
+@@ -1386,6 +1472,7 @@
+ FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE6sbumpcEv@@GLIBCXX_3.4
+ FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE6setbufEPci@@GLIBCXX_3.4
+ FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE6snextcEv@@GLIBCXX_3.4
++FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE6stosscEv@@GLIBCXX_3.4.10
+ FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE6xsgetnEPci@@GLIBCXX_3.4
+ FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE6xsputnEPKci@@GLIBCXX_3.4
+ FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE7pubsyncEv@@GLIBCXX_3.4
+@@ -1424,6 +1511,7 @@
+ FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE6sbumpcEv@@GLIBCXX_3.4
+ FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE6setbufEPwi@@GLIBCXX_3.4
+ FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE6snextcEv@@GLIBCXX_3.4
++FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE6stosscEv@@GLIBCXX_3.4.10
+ FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE6xsgetnEPwi@@GLIBCXX_3.4
+ FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE6xsputnEPKwi@@GLIBCXX_3.4
+ FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE7pubsyncEv@@GLIBCXX_3.4
+@@ -1455,6 +1543,7 @@
+ FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE7seekposESt4fposI11__mbstate_tESt13_Ios_Openmode@@GLIBCXX_3.4
+ FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE8overflowEi@@GLIBCXX_3.4
+ FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE9pbackfailEi@@GLIBCXX_3.4
++FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE9showmanycEv@@GLIBCXX_3.4.6
+ FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE9underflowEv@@GLIBCXX_3.4
+ FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEEC1ERKSsSt13_Ios_Openmode@@GLIBCXX_3.4
+ FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEEC1ESt13_Ios_Openmode@@GLIBCXX_3.4
+@@ -1471,6 +1560,7 @@
+ FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEE7seekposESt4fposI11__mbstate_tESt13_Ios_Openmode@@GLIBCXX_3.4
+ FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEE8overflowEj@@GLIBCXX_3.4
+ FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEE9pbackfailEj@@GLIBCXX_3.4
++FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEE9showmanycEv@@GLIBCXX_3.4.6
+ FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEE9underflowEv@@GLIBCXX_3.4
+ FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEEC1ERKSbIwS1_S2_ESt13_Ios_Openmode@@GLIBCXX_3.4
+ FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEEC1ESt13_Ios_Openmode@@GLIBCXX_3.4
+@@ -1660,10 +1750,16 @@
+ FUNC:_ZNSt5ctypeIwED0Ev@@GLIBCXX_3.4
+ FUNC:_ZNSt5ctypeIwED1Ev@@GLIBCXX_3.4
+ FUNC:_ZNSt5ctypeIwED2Ev@@GLIBCXX_3.4
++FUNC:_ZNSt6__norm15_List_node_base4hookEPS0_@@GLIBCXX_3.4.9
++FUNC:_ZNSt6__norm15_List_node_base4swapERS0_S1_@@GLIBCXX_3.4.9
++FUNC:_ZNSt6__norm15_List_node_base6unhookEv@@GLIBCXX_3.4.9
++FUNC:_ZNSt6__norm15_List_node_base7reverseEv@@GLIBCXX_3.4.9
++FUNC:_ZNSt6__norm15_List_node_base8transferEPS0_S1_@@GLIBCXX_3.4.9
+ FUNC:_ZNSt6gslice8_IndexerC1EjRKSt8valarrayIjES4_@@GLIBCXX_3.4
+ FUNC:_ZNSt6gslice8_IndexerC2EjRKSt8valarrayIjES4_@@GLIBCXX_3.4
+ FUNC:_ZNSt6locale11_M_coalesceERKS_S1_i@@GLIBCXX_3.4
+ FUNC:_ZNSt6locale21_S_normalize_categoryEi@@GLIBCXX_3.4
++FUNC:_ZNSt6locale5_Impl16_M_install_cacheEPKNS_5facetEj@@GLIBCXX_3.4.7
+ FUNC:_ZNSt6locale5_Impl16_M_install_facetEPKNS_2idEPKNS_5facetE@@GLIBCXX_3.4
+ FUNC:_ZNSt6locale5_Impl16_M_replace_facetEPKS0_PKNS_2idE@@GLIBCXX_3.4
+ FUNC:_ZNSt6locale5_Impl19_M_replace_categoryEPKS0_PKPKNS_2idE@@GLIBCXX_3.4
+@@ -1676,6 +1772,7 @@
+ FUNC:_ZNSt6locale5_ImplC2Ej@@GLIBCXX_3.4
+ FUNC:_ZNSt6locale5_ImplD1Ev@@GLIBCXX_3.4
+ FUNC:_ZNSt6locale5_ImplD2Ev@@GLIBCXX_3.4
++FUNC:_ZNSt6locale5facet13_S_get_c_nameEv@@GLIBCXX_3.4.6
+ FUNC:_ZNSt6locale5facet15_S_get_c_localeEv@@GLIBCXX_3.4
+ FUNC:_ZNSt6locale5facet17_S_clone_c_localeERP15__locale_struct@@GLIBCXX_3.4
+ FUNC:_ZNSt6locale5facet18_S_create_c_localeERP15__locale_structPKcS2_@@GLIBCXX_3.4
+@@ -1753,7 +1850,9 @@
+ FUNC:_ZNSt8bad_castD2Ev@@GLIBCXX_3.4
+ FUNC:_ZNSt8ios_base13_M_grow_wordsEib@@GLIBCXX_3.4
+ FUNC:_ZNSt8ios_base15sync_with_stdioEb@@GLIBCXX_3.4
++FUNC:_ZNSt8ios_base17_M_call_callbacksENS_5eventE@@GLIBCXX_3.4.6
+ FUNC:_ZNSt8ios_base17register_callbackEPFvNS_5eventERS_iEi@@GLIBCXX_3.4
++FUNC:_ZNSt8ios_base20_M_dispose_callbacksEv@@GLIBCXX_3.4.6
+ FUNC:_ZNSt8ios_base4InitC1Ev@@GLIBCXX_3.4
+ FUNC:_ZNSt8ios_base4InitC2Ev@@GLIBCXX_3.4
+ FUNC:_ZNSt8ios_base4InitD1Ev@@GLIBCXX_3.4
+@@ -1832,6 +1931,11 @@
+ FUNC:_ZNSt8valarrayIjED1Ev@@GLIBCXX_3.4
+ FUNC:_ZNSt8valarrayIjED2Ev@@GLIBCXX_3.4
+ FUNC:_ZNSt8valarrayIjEixEj@@GLIBCXX_3.4
++FUNC:_ZNSt9__cxx199815_List_node_base4hookEPS0_@@GLIBCXX_3.4.10
++FUNC:_ZNSt9__cxx199815_List_node_base4swapERS0_S1_@@GLIBCXX_3.4.10
++FUNC:_ZNSt9__cxx199815_List_node_base6unhookEv@@GLIBCXX_3.4.10
++FUNC:_ZNSt9__cxx199815_List_node_base7reverseEv@@GLIBCXX_3.4.10
++FUNC:_ZNSt9__cxx199815_List_node_base8transferEPS0_S1_@@GLIBCXX_3.4.10
+ FUNC:_ZNSt9bad_allocD0Ev@@GLIBCXX_3.4
+ FUNC:_ZNSt9bad_allocD1Ev@@GLIBCXX_3.4
+ FUNC:_ZNSt9bad_allocD2Ev@@GLIBCXX_3.4
+@@ -1913,8 +2017,13 @@
+ FUNC:_ZSt14__convert_to_vIfEvPKcRT_RSt12_Ios_IostateRKP15__locale_struct@@GLIBCXX_3.4
+ FUNC:_ZSt14set_unexpectedPFvvE@@GLIBCXX_3.4
+ FUNC:_ZSt15set_new_handlerPFvvE@@GLIBCXX_3.4
++FUNC:_ZSt16__ostream_insertIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_PKS3_i@@GLIBCXX_3.4.9
++FUNC:_ZSt16__ostream_insertIwSt11char_traitsIwEERSt13basic_ostreamIT_T0_ES6_PKS3_i@@GLIBCXX_3.4.9
+ FUNC:_ZSt16__throw_bad_castv@@GLIBCXX_3.4
++FUNC:_ZSt17__copy_streambufsIcSt11char_traitsIcEEiPSt15basic_streambufIT_T0_ES6_@@GLIBCXX_3.4.6
++FUNC:_ZSt17__copy_streambufsIwSt11char_traitsIwEEiPSt15basic_streambufIT_T0_ES6_@@GLIBCXX_3.4.6
+ FUNC:_ZSt17__throw_bad_allocv@@GLIBCXX_3.4
++FUNC:_ZSt17__verify_groupingPKcjRKSs@@GLIBCXX_3.4.10
+ FUNC:_ZSt18_Rb_tree_decrementPKSt18_Rb_tree_node_base@@GLIBCXX_3.4
+ FUNC:_ZSt18_Rb_tree_decrementPSt18_Rb_tree_node_base@@GLIBCXX_3.4
+ FUNC:_ZSt18_Rb_tree_incrementPKSt18_Rb_tree_node_base@@GLIBCXX_3.4
+@@ -1930,6 +2039,8 @@
+ FUNC:_ZSt20__throw_length_errorPKc@@GLIBCXX_3.4
+ FUNC:_ZSt20__throw_out_of_rangePKc@@GLIBCXX_3.4
+ FUNC:_ZSt21_Rb_tree_rotate_rightPSt18_Rb_tree_node_baseRS0_@@GLIBCXX_3.4
++FUNC:_ZSt21__copy_streambufs_eofIcSt11char_traitsIcEEiPSt15basic_streambufIT_T0_ES6_Rb@@GLIBCXX_3.4.9
++FUNC:_ZSt21__copy_streambufs_eofIwSt11char_traitsIwEEiPSt15basic_streambufIT_T0_ES6_Rb@@GLIBCXX_3.4.9
+ FUNC:_ZSt21__throw_bad_exceptionv@@GLIBCXX_3.4
+ FUNC:_ZSt21__throw_runtime_errorPKc@@GLIBCXX_3.4
+ FUNC:_ZSt22__throw_overflow_errorPKc@@GLIBCXX_3.4
+@@ -2186,12 +2297,20 @@
+ FUNC:tanl@@GLIBCXX_3.4
+ OBJECT:0:CXXABI_1.3
+ OBJECT:0:CXXABI_1.3.1
++OBJECT:0:CXXABI_1.3.2
+ OBJECT:0:GLIBCXX_3.4
+ OBJECT:0:GLIBCXX_3.4.1
++OBJECT:0:GLIBCXX_3.4.10
+ OBJECT:0:GLIBCXX_3.4.2
+ OBJECT:0:GLIBCXX_3.4.3
+ OBJECT:0:GLIBCXX_3.4.4
+ OBJECT:0:GLIBCXX_3.4.5
++OBJECT:0:GLIBCXX_3.4.6
++OBJECT:0:GLIBCXX_3.4.7
++OBJECT:0:GLIBCXX_3.4.8
++OBJECT:0:GLIBCXX_3.4.9
++OBJECT:1028:_ZNSt3tr18__detail12__prime_listE@@GLIBCXX_3.4.10
++OBJECT:1028:_ZNSt8__detail12__prime_listE@@GLIBCXX_3.4.10
+ OBJECT:12:_ZTIN10__cxxabiv116__enum_type_infoE@@CXXABI_1.3
+ OBJECT:12:_ZTIN10__cxxabiv117__array_type_infoE@@CXXABI_1.3
+ OBJECT:12:_ZTIN10__cxxabiv117__class_type_infoE@@CXXABI_1.3
+@@ -3135,6 +3254,8 @@
+ OBJECT:8:_ZGVNSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE2idE@@GLIBCXX_3.4
+ OBJECT:8:_ZGVNSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE2idE@@GLIBCXX_3.4
+ OBJECT:8:_ZGVNSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE2idE@@GLIBCXX_3.4
++OBJECT:8:_ZTIN10__cxxabiv115__forced_unwindE@@CXXABI_1.3.2
++OBJECT:8:_ZTIN10__cxxabiv119__foreign_exceptionE@@CXXABI_1.3.2
+ OBJECT:8:_ZTINSt6locale5facetE@@GLIBCXX_3.4
+ OBJECT:8:_ZTISt10ctype_base@@GLIBCXX_3.4
+ OBJECT:8:_ZTISt10money_base@@GLIBCXX_3.4
+Index: libstdc++-v3/config/abi/post/sparc-linux-gnu/baseline_symbols.txt
+===================================================================
+--- libstdc++-v3/config/abi/post/sparc-linux-gnu/baseline_symbols.txt (.../tags/gcc_4_3_0_release) (revision 133808)
++++ libstdc++-v3/config/abi/post/sparc-linux-gnu/baseline_symbols.txt (.../branches/gcc-4_3-branch) (revision 133808)
+@@ -33,19 +33,51 @@
+ FUNC:_ZN10__gnu_norm15_List_node_base6unhookEv@@GLIBCXX_3.4
+ FUNC:_ZN10__gnu_norm15_List_node_base7reverseEv@@GLIBCXX_3.4
+ FUNC:_ZN10__gnu_norm15_List_node_base8transferEPS0_S1_@@GLIBCXX_3.4
++FUNC:_ZN11__gnu_debug19_Safe_iterator_base12_M_get_mutexEv@@GLIBCXX_3.4.9
++FUNC:_ZN11__gnu_debug19_Safe_iterator_base16_M_attach_singleEPNS_19_Safe_sequence_baseEb@@GLIBCXX_3.4.9
++FUNC:_ZN11__gnu_debug19_Safe_iterator_base16_M_detach_singleEv@@GLIBCXX_3.4.9
+ FUNC:_ZN11__gnu_debug19_Safe_iterator_base9_M_attachEPNS_19_Safe_sequence_baseEb@@GLIBCXX_3.4
+ FUNC:_ZN11__gnu_debug19_Safe_iterator_base9_M_detachEv@@GLIBCXX_3.4
++FUNC:_ZN11__gnu_debug19_Safe_sequence_base12_M_get_mutexEv@@GLIBCXX_3.4.9
+ FUNC:_ZN11__gnu_debug19_Safe_sequence_base13_M_detach_allEv@@GLIBCXX_3.4
+ FUNC:_ZN11__gnu_debug19_Safe_sequence_base18_M_detach_singularEv@@GLIBCXX_3.4
+ FUNC:_ZN11__gnu_debug19_Safe_sequence_base22_M_revalidate_singularEv@@GLIBCXX_3.4
+ FUNC:_ZN11__gnu_debug19_Safe_sequence_base7_M_swapERS0_@@GLIBCXX_3.4
++FUNC:_ZN14__gnu_parallel9_Settings3getEv@@GLIBCXX_3.4.10
++FUNC:_ZN14__gnu_parallel9_Settings3setERS0_@@GLIBCXX_3.4.10
+ FUNC:_ZN9__gnu_cxx12__atomic_addEPVii@@GLIBCXX_3.4
+ FUNC:_ZN9__gnu_cxx17__pool_alloc_base12_M_get_mutexEv@@GLIBCXX_3.4.2
+ FUNC:_ZN9__gnu_cxx17__pool_alloc_base16_M_get_free_listEj@@GLIBCXX_3.4.2
+ FUNC:_ZN9__gnu_cxx17__pool_alloc_base9_M_refillEj@@GLIBCXX_3.4.2
+ FUNC:_ZN9__gnu_cxx18__exchange_and_addEPVii@@GLIBCXX_3.4
+ FUNC:_ZN9__gnu_cxx18stdio_sync_filebufIcSt11char_traitsIcEE4fileEv@@GLIBCXX_3.4.2
++FUNC:_ZN9__gnu_cxx18stdio_sync_filebufIcSt11char_traitsIcEE4syncEv@@GLIBCXX_3.4.10
++FUNC:_ZN9__gnu_cxx18stdio_sync_filebufIcSt11char_traitsIcEE5uflowEv@@GLIBCXX_3.4.10
++FUNC:_ZN9__gnu_cxx18stdio_sync_filebufIcSt11char_traitsIcEE6xsgetnEPci@@GLIBCXX_3.4.10
++FUNC:_ZN9__gnu_cxx18stdio_sync_filebufIcSt11char_traitsIcEE6xsputnEPKci@@GLIBCXX_3.4.10
++FUNC:_ZN9__gnu_cxx18stdio_sync_filebufIcSt11char_traitsIcEE7seekoffExSt12_Ios_SeekdirSt13_Ios_Openmode@@GLIBCXX_3.4.10
++FUNC:_ZN9__gnu_cxx18stdio_sync_filebufIcSt11char_traitsIcEE7seekposESt4fposI11__mbstate_tESt13_Ios_Openmode@@GLIBCXX_3.4.10
++FUNC:_ZN9__gnu_cxx18stdio_sync_filebufIcSt11char_traitsIcEE8overflowEi@@GLIBCXX_3.4.10
++FUNC:_ZN9__gnu_cxx18stdio_sync_filebufIcSt11char_traitsIcEE9pbackfailEi@@GLIBCXX_3.4.10
++FUNC:_ZN9__gnu_cxx18stdio_sync_filebufIcSt11char_traitsIcEE9underflowEv@@GLIBCXX_3.4.10
++FUNC:_ZN9__gnu_cxx18stdio_sync_filebufIcSt11char_traitsIcEEC1EP8_IO_FILE@@GLIBCXX_3.4.10
++FUNC:_ZN9__gnu_cxx18stdio_sync_filebufIcSt11char_traitsIcEEC2EP8_IO_FILE@@GLIBCXX_3.4.10
++FUNC:_ZN9__gnu_cxx18stdio_sync_filebufIcSt11char_traitsIcEED0Ev@@GLIBCXX_3.4.10
++FUNC:_ZN9__gnu_cxx18stdio_sync_filebufIcSt11char_traitsIcEED1Ev@@GLIBCXX_3.4.10
+ FUNC:_ZN9__gnu_cxx18stdio_sync_filebufIwSt11char_traitsIwEE4fileEv@@GLIBCXX_3.4.2
++FUNC:_ZN9__gnu_cxx18stdio_sync_filebufIwSt11char_traitsIwEE4syncEv@@GLIBCXX_3.4.10
++FUNC:_ZN9__gnu_cxx18stdio_sync_filebufIwSt11char_traitsIwEE5uflowEv@@GLIBCXX_3.4.10
++FUNC:_ZN9__gnu_cxx18stdio_sync_filebufIwSt11char_traitsIwEE6xsgetnEPwi@@GLIBCXX_3.4.10
++FUNC:_ZN9__gnu_cxx18stdio_sync_filebufIwSt11char_traitsIwEE6xsputnEPKwi@@GLIBCXX_3.4.10
++FUNC:_ZN9__gnu_cxx18stdio_sync_filebufIwSt11char_traitsIwEE7seekoffExSt12_Ios_SeekdirSt13_Ios_Openmode@@GLIBCXX_3.4.10
++FUNC:_ZN9__gnu_cxx18stdio_sync_filebufIwSt11char_traitsIwEE7seekposESt4fposI11__mbstate_tESt13_Ios_Openmode@@GLIBCXX_3.4.10
++FUNC:_ZN9__gnu_cxx18stdio_sync_filebufIwSt11char_traitsIwEE8overflowEj@@GLIBCXX_3.4.10
++FUNC:_ZN9__gnu_cxx18stdio_sync_filebufIwSt11char_traitsIwEE9pbackfailEj@@GLIBCXX_3.4.10
++FUNC:_ZN9__gnu_cxx18stdio_sync_filebufIwSt11char_traitsIwEE9underflowEv@@GLIBCXX_3.4.10
++FUNC:_ZN9__gnu_cxx18stdio_sync_filebufIwSt11char_traitsIwEEC1EP8_IO_FILE@@GLIBCXX_3.4.10
++FUNC:_ZN9__gnu_cxx18stdio_sync_filebufIwSt11char_traitsIwEEC2EP8_IO_FILE@@GLIBCXX_3.4.10
++FUNC:_ZN9__gnu_cxx18stdio_sync_filebufIwSt11char_traitsIwEED0Ev@@GLIBCXX_3.4.10
++FUNC:_ZN9__gnu_cxx18stdio_sync_filebufIwSt11char_traitsIwEED1Ev@@GLIBCXX_3.4.10
+ FUNC:_ZN9__gnu_cxx27__verbose_terminate_handlerEv@@CXXABI_1.3
+ FUNC:_ZN9__gnu_cxx6__poolILb0EE10_M_destroyEv@@GLIBCXX_3.4.4
+ FUNC:_ZN9__gnu_cxx6__poolILb0EE13_M_initializeEv@@GLIBCXX_3.4.4
+@@ -53,6 +85,7 @@
+ FUNC:_ZN9__gnu_cxx6__poolILb0EE16_M_reserve_blockEjj@@GLIBCXX_3.4.4
+ FUNC:_ZN9__gnu_cxx6__poolILb1EE10_M_destroyEv@@GLIBCXX_3.4.4
+ FUNC:_ZN9__gnu_cxx6__poolILb1EE13_M_initializeEPFvPvE@@GLIBCXX_3.4.4
++FUNC:_ZN9__gnu_cxx6__poolILb1EE13_M_initializeEv@@GLIBCXX_3.4.6
+ FUNC:_ZN9__gnu_cxx6__poolILb1EE16_M_get_thread_idEv@@GLIBCXX_3.4.4
+ FUNC:_ZN9__gnu_cxx6__poolILb1EE16_M_reclaim_blockEPcj@@GLIBCXX_3.4.4
+ FUNC:_ZN9__gnu_cxx6__poolILb1EE16_M_reserve_blockEjj@@GLIBCXX_3.4.4
+@@ -81,6 +114,7 @@
+ FUNC:_ZNK11__gnu_debug16_Error_formatter10_Parameter20_M_print_descriptionEPKS0_@@GLIBCXX_3.4
+ FUNC:_ZNK11__gnu_debug16_Error_formatter13_M_print_wordEPKc@@GLIBCXX_3.4
+ FUNC:_ZNK11__gnu_debug16_Error_formatter15_M_print_stringEPKc@@GLIBCXX_3.4
++FUNC:_ZNK11__gnu_debug16_Error_formatter17_M_get_max_lengthEv@@GLIBCXX_3.4.10
+ FUNC:_ZNK11__gnu_debug16_Error_formatter8_M_errorEv@@GLIBCXX_3.4
+ FUNC:_ZNK11__gnu_debug19_Safe_iterator_base11_M_singularEv@@GLIBCXX_3.4
+ FUNC:_ZNK11__gnu_debug19_Safe_iterator_base14_M_can_compareERKS0_@@GLIBCXX_3.4
+@@ -203,6 +237,7 @@
+ FUNC:_ZNKSs8max_sizeEv@@GLIBCXX_3.4
+ FUNC:_ZNKSs9_M_ibeginEv@@GLIBCXX_3.4
+ FUNC:_ZNKSsixEj@@GLIBCXX_3.4
++FUNC:_ZNKSt10bad_typeid4whatEv@@GLIBCXX_3.4.9
+ FUNC:_ZNKSt10istrstream5rdbufEv@@GLIBCXX_3.4
+ FUNC:_ZNKSt10moneypunctIcLb0EE10neg_formatEv@@GLIBCXX_3.4
+ FUNC:_ZNKSt10moneypunctIcLb0EE10pos_formatEv@@GLIBCXX_3.4
+@@ -301,6 +336,7 @@
+ FUNC:_ZNKSt11logic_error4whatEv@@GLIBCXX_3.4
+ FUNC:_ZNKSt12__basic_fileIcE7is_openEv@@GLIBCXX_3.4
+ FUNC:_ZNKSt12strstreambuf6pcountEv@@GLIBCXX_3.4
++FUNC:_ZNKSt13bad_exception4whatEv@@GLIBCXX_3.4.9
+ FUNC:_ZNKSt13basic_filebufIcSt11char_traitsIcEE7is_openEv@@GLIBCXX_3.4
+ FUNC:_ZNKSt13basic_filebufIwSt11char_traitsIwEE7is_openEv@@GLIBCXX_3.4
+ FUNC:_ZNKSt13basic_fstreamIcSt11char_traitsIcEE5rdbufEv@@GLIBCXX_3.4
+@@ -341,6 +377,146 @@
+ FUNC:_ZNKSt15basic_streambufIwSt11char_traitsIwEE6getlocEv@@GLIBCXX_3.4
+ FUNC:_ZNKSt15basic_stringbufIcSt11char_traitsIcESaIcEE3strEv@@GLIBCXX_3.4
+ FUNC:_ZNKSt15basic_stringbufIwSt11char_traitsIwESaIwEE3strEv@@GLIBCXX_3.4
++FUNC:_ZNKSt17__gnu_cxx_ldbl1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE14_M_extract_intIjEES4_S4_S4_RSt8ios_baseRSt12_Ios_IostateRT_@@GLIBCXX_LDBL_3.4
++FUNC:_ZNKSt17__gnu_cxx_ldbl1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE14_M_extract_intIlEES4_S4_S4_RSt8ios_baseRSt12_Ios_IostateRT_@@GLIBCXX_LDBL_3.4
++FUNC:_ZNKSt17__gnu_cxx_ldbl1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE14_M_extract_intImEES4_S4_S4_RSt8ios_baseRSt12_Ios_IostateRT_@@GLIBCXX_LDBL_3.4
++FUNC:_ZNKSt17__gnu_cxx_ldbl1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE14_M_extract_intItEES4_S4_S4_RSt8ios_baseRSt12_Ios_IostateRT_@@GLIBCXX_LDBL_3.4
++FUNC:_ZNKSt17__gnu_cxx_ldbl1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE14_M_extract_intIxEES4_S4_S4_RSt8ios_baseRSt12_Ios_IostateRT_@@GLIBCXX_LDBL_3.4
++FUNC:_ZNKSt17__gnu_cxx_ldbl1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE14_M_extract_intIyEES4_S4_S4_RSt8ios_baseRSt12_Ios_IostateRT_@@GLIBCXX_LDBL_3.4
++FUNC:_ZNKSt17__gnu_cxx_ldbl1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE16_M_extract_floatES4_S4_RSt8ios_baseRSt12_Ios_IostateRSs@@GLIBCXX_LDBL_3.4
++FUNC:_ZNKSt17__gnu_cxx_ldbl1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES4_S4_RSt8ios_baseRSt12_Ios_IostateRPv@@GLIBCXX_LDBL_3.4
++FUNC:_ZNKSt17__gnu_cxx_ldbl1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES4_S4_RSt8ios_baseRSt12_Ios_IostateRb@@GLIBCXX_LDBL_3.4
++FUNC:_ZNKSt17__gnu_cxx_ldbl1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES4_S4_RSt8ios_baseRSt12_Ios_IostateRd@@GLIBCXX_LDBL_3.4
++FUNC:_ZNKSt17__gnu_cxx_ldbl1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES4_S4_RSt8ios_baseRSt12_Ios_IostateRf@@GLIBCXX_LDBL_3.4
++FUNC:_ZNKSt17__gnu_cxx_ldbl1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES4_S4_RSt8ios_baseRSt12_Ios_IostateRg@@GLIBCXX_LDBL_3.4
++FUNC:_ZNKSt17__gnu_cxx_ldbl1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES4_S4_RSt8ios_baseRSt12_Ios_IostateRj@@GLIBCXX_LDBL_3.4
++FUNC:_ZNKSt17__gnu_cxx_ldbl1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES4_S4_RSt8ios_baseRSt12_Ios_IostateRl@@GLIBCXX_LDBL_3.4
++FUNC:_ZNKSt17__gnu_cxx_ldbl1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES4_S4_RSt8ios_baseRSt12_Ios_IostateRm@@GLIBCXX_LDBL_3.4
++FUNC:_ZNKSt17__gnu_cxx_ldbl1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES4_S4_RSt8ios_baseRSt12_Ios_IostateRt@@GLIBCXX_LDBL_3.4
++FUNC:_ZNKSt17__gnu_cxx_ldbl1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES4_S4_RSt8ios_baseRSt12_Ios_IostateRx@@GLIBCXX_LDBL_3.4
++FUNC:_ZNKSt17__gnu_cxx_ldbl1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES4_S4_RSt8ios_baseRSt12_Ios_IostateRy@@GLIBCXX_LDBL_3.4
++FUNC:_ZNKSt17__gnu_cxx_ldbl1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES4_S4_RSt8ios_baseRSt12_Ios_IostateRPv@@GLIBCXX_LDBL_3.4
++FUNC:_ZNKSt17__gnu_cxx_ldbl1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES4_S4_RSt8ios_baseRSt12_Ios_IostateRb@@GLIBCXX_LDBL_3.4
++FUNC:_ZNKSt17__gnu_cxx_ldbl1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES4_S4_RSt8ios_baseRSt12_Ios_IostateRd@@GLIBCXX_LDBL_3.4
++FUNC:_ZNKSt17__gnu_cxx_ldbl1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES4_S4_RSt8ios_baseRSt12_Ios_IostateRf@@GLIBCXX_LDBL_3.4
++FUNC:_ZNKSt17__gnu_cxx_ldbl1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES4_S4_RSt8ios_baseRSt12_Ios_IostateRg@@GLIBCXX_LDBL_3.4
++FUNC:_ZNKSt17__gnu_cxx_ldbl1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES4_S4_RSt8ios_baseRSt12_Ios_IostateRj@@GLIBCXX_LDBL_3.4
++FUNC:_ZNKSt17__gnu_cxx_ldbl1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES4_S4_RSt8ios_baseRSt12_Ios_IostateRl@@GLIBCXX_LDBL_3.4
++FUNC:_ZNKSt17__gnu_cxx_ldbl1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES4_S4_RSt8ios_baseRSt12_Ios_IostateRm@@GLIBCXX_LDBL_3.4
++FUNC:_ZNKSt17__gnu_cxx_ldbl1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES4_S4_RSt8ios_baseRSt12_Ios_IostateRt@@GLIBCXX_LDBL_3.4
++FUNC:_ZNKSt17__gnu_cxx_ldbl1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES4_S4_RSt8ios_baseRSt12_Ios_IostateRx@@GLIBCXX_LDBL_3.4
++FUNC:_ZNKSt17__gnu_cxx_ldbl1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES4_S4_RSt8ios_baseRSt12_Ios_IostateRy@@GLIBCXX_LDBL_3.4
++FUNC:_ZNKSt17__gnu_cxx_ldbl1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE8__do_getES4_S4_RSt8ios_baseRSt12_Ios_IostateRd@@GLIBCXX_LDBL_3.4
++FUNC:_ZNKSt17__gnu_cxx_ldbl1287num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE14_M_extract_intIjEES4_S4_S4_RSt8ios_baseRSt12_Ios_IostateRT_@@GLIBCXX_LDBL_3.4
++FUNC:_ZNKSt17__gnu_cxx_ldbl1287num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE14_M_extract_intIlEES4_S4_S4_RSt8ios_baseRSt12_Ios_IostateRT_@@GLIBCXX_LDBL_3.4
++FUNC:_ZNKSt17__gnu_cxx_ldbl1287num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE14_M_extract_intImEES4_S4_S4_RSt8ios_baseRSt12_Ios_IostateRT_@@GLIBCXX_LDBL_3.4
++FUNC:_ZNKSt17__gnu_cxx_ldbl1287num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE14_M_extract_intItEES4_S4_S4_RSt8ios_baseRSt12_Ios_IostateRT_@@GLIBCXX_LDBL_3.4
++FUNC:_ZNKSt17__gnu_cxx_ldbl1287num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE14_M_extract_intIxEES4_S4_S4_RSt8ios_baseRSt12_Ios_IostateRT_@@GLIBCXX_LDBL_3.4
++FUNC:_ZNKSt17__gnu_cxx_ldbl1287num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE14_M_extract_intIyEES4_S4_S4_RSt8ios_baseRSt12_Ios_IostateRT_@@GLIBCXX_LDBL_3.4
++FUNC:_ZNKSt17__gnu_cxx_ldbl1287num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE16_M_extract_floatES4_S4_RSt8ios_baseRSt12_Ios_IostateRSs@@GLIBCXX_LDBL_3.4
++FUNC:_ZNKSt17__gnu_cxx_ldbl1287num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES4_S4_RSt8ios_baseRSt12_Ios_IostateRPv@@GLIBCXX_LDBL_3.4
++FUNC:_ZNKSt17__gnu_cxx_ldbl1287num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES4_S4_RSt8ios_baseRSt12_Ios_IostateRb@@GLIBCXX_LDBL_3.4
++FUNC:_ZNKSt17__gnu_cxx_ldbl1287num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES4_S4_RSt8ios_baseRSt12_Ios_IostateRd@@GLIBCXX_LDBL_3.4
++FUNC:_ZNKSt17__gnu_cxx_ldbl1287num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES4_S4_RSt8ios_baseRSt12_Ios_IostateRf@@GLIBCXX_LDBL_3.4
++FUNC:_ZNKSt17__gnu_cxx_ldbl1287num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES4_S4_RSt8ios_baseRSt12_Ios_IostateRg@@GLIBCXX_LDBL_3.4
++FUNC:_ZNKSt17__gnu_cxx_ldbl1287num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES4_S4_RSt8ios_baseRSt12_Ios_IostateRj@@GLIBCXX_LDBL_3.4
++FUNC:_ZNKSt17__gnu_cxx_ldbl1287num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES4_S4_RSt8ios_baseRSt12_Ios_IostateRl@@GLIBCXX_LDBL_3.4
++FUNC:_ZNKSt17__gnu_cxx_ldbl1287num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES4_S4_RSt8ios_baseRSt12_Ios_IostateRm@@GLIBCXX_LDBL_3.4
++FUNC:_ZNKSt17__gnu_cxx_ldbl1287num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES4_S4_RSt8ios_baseRSt12_Ios_IostateRt@@GLIBCXX_LDBL_3.4
++FUNC:_ZNKSt17__gnu_cxx_ldbl1287num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES4_S4_RSt8ios_baseRSt12_Ios_IostateRx@@GLIBCXX_LDBL_3.4
++FUNC:_ZNKSt17__gnu_cxx_ldbl1287num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES4_S4_RSt8ios_baseRSt12_Ios_IostateRy@@GLIBCXX_LDBL_3.4
++FUNC:_ZNKSt17__gnu_cxx_ldbl1287num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES4_S4_RSt8ios_baseRSt12_Ios_IostateRPv@@GLIBCXX_LDBL_3.4
++FUNC:_ZNKSt17__gnu_cxx_ldbl1287num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES4_S4_RSt8ios_baseRSt12_Ios_IostateRb@@GLIBCXX_LDBL_3.4
++FUNC:_ZNKSt17__gnu_cxx_ldbl1287num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES4_S4_RSt8ios_baseRSt12_Ios_IostateRd@@GLIBCXX_LDBL_3.4
++FUNC:_ZNKSt17__gnu_cxx_ldbl1287num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES4_S4_RSt8ios_baseRSt12_Ios_IostateRf@@GLIBCXX_LDBL_3.4
++FUNC:_ZNKSt17__gnu_cxx_ldbl1287num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES4_S4_RSt8ios_baseRSt12_Ios_IostateRg@@GLIBCXX_LDBL_3.4
++FUNC:_ZNKSt17__gnu_cxx_ldbl1287num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES4_S4_RSt8ios_baseRSt12_Ios_IostateRj@@GLIBCXX_LDBL_3.4
++FUNC:_ZNKSt17__gnu_cxx_ldbl1287num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES4_S4_RSt8ios_baseRSt12_Ios_IostateRl@@GLIBCXX_LDBL_3.4
++FUNC:_ZNKSt17__gnu_cxx_ldbl1287num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES4_S4_RSt8ios_baseRSt12_Ios_IostateRm@@GLIBCXX_LDBL_3.4
++FUNC:_ZNKSt17__gnu_cxx_ldbl1287num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES4_S4_RSt8ios_baseRSt12_Ios_IostateRt@@GLIBCXX_LDBL_3.4
++FUNC:_ZNKSt17__gnu_cxx_ldbl1287num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES4_S4_RSt8ios_baseRSt12_Ios_IostateRx@@GLIBCXX_LDBL_3.4
++FUNC:_ZNKSt17__gnu_cxx_ldbl1287num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES4_S4_RSt8ios_baseRSt12_Ios_IostateRy@@GLIBCXX_LDBL_3.4
++FUNC:_ZNKSt17__gnu_cxx_ldbl1287num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE8__do_getES4_S4_RSt8ios_baseRSt12_Ios_IostateRd@@GLIBCXX_LDBL_3.4
++FUNC:_ZNKSt17__gnu_cxx_ldbl1287num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE12_M_group_intEPKcjcRSt8ios_basePcSA_Ri@@GLIBCXX_LDBL_3.4
++FUNC:_ZNKSt17__gnu_cxx_ldbl1287num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE13_M_insert_intIlEES4_S4_RSt8ios_basecT_@@GLIBCXX_LDBL_3.4
++FUNC:_ZNKSt17__gnu_cxx_ldbl1287num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE13_M_insert_intImEES4_S4_RSt8ios_basecT_@@GLIBCXX_LDBL_3.4
++FUNC:_ZNKSt17__gnu_cxx_ldbl1287num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE13_M_insert_intIxEES4_S4_RSt8ios_basecT_@@GLIBCXX_LDBL_3.4
++FUNC:_ZNKSt17__gnu_cxx_ldbl1287num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE13_M_insert_intIyEES4_S4_RSt8ios_basecT_@@GLIBCXX_LDBL_3.4
++FUNC:_ZNKSt17__gnu_cxx_ldbl1287num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE14_M_group_floatEPKcjcS7_PcS8_Ri@@GLIBCXX_LDBL_3.4
++FUNC:_ZNKSt17__gnu_cxx_ldbl1287num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE15_M_insert_floatIdEES4_S4_RSt8ios_baseccT_@@GLIBCXX_LDBL_3.4
++FUNC:_ZNKSt17__gnu_cxx_ldbl1287num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE15_M_insert_floatIgEES4_S4_RSt8ios_baseccT_@@GLIBCXX_LDBL_3.4
++FUNC:_ZNKSt17__gnu_cxx_ldbl1287num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES4_RSt8ios_basecPKv@@GLIBCXX_LDBL_3.4
++FUNC:_ZNKSt17__gnu_cxx_ldbl1287num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES4_RSt8ios_basecb@@GLIBCXX_LDBL_3.4
++FUNC:_ZNKSt17__gnu_cxx_ldbl1287num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES4_RSt8ios_basecd@@GLIBCXX_LDBL_3.4
++FUNC:_ZNKSt17__gnu_cxx_ldbl1287num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES4_RSt8ios_basecg@@GLIBCXX_LDBL_3.4
++FUNC:_ZNKSt17__gnu_cxx_ldbl1287num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES4_RSt8ios_basecl@@GLIBCXX_LDBL_3.4
++FUNC:_ZNKSt17__gnu_cxx_ldbl1287num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES4_RSt8ios_basecm@@GLIBCXX_LDBL_3.4
++FUNC:_ZNKSt17__gnu_cxx_ldbl1287num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES4_RSt8ios_basecx@@GLIBCXX_LDBL_3.4
++FUNC:_ZNKSt17__gnu_cxx_ldbl1287num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES4_RSt8ios_basecy@@GLIBCXX_LDBL_3.4
++FUNC:_ZNKSt17__gnu_cxx_ldbl1287num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6_M_padEciRSt8ios_basePcPKcRi@@GLIBCXX_LDBL_3.4
++FUNC:_ZNKSt17__gnu_cxx_ldbl1287num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES4_RSt8ios_basecPKv@@GLIBCXX_LDBL_3.4
++FUNC:_ZNKSt17__gnu_cxx_ldbl1287num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES4_RSt8ios_basecb@@GLIBCXX_LDBL_3.4
++FUNC:_ZNKSt17__gnu_cxx_ldbl1287num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES4_RSt8ios_basecd@@GLIBCXX_LDBL_3.4
++FUNC:_ZNKSt17__gnu_cxx_ldbl1287num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES4_RSt8ios_basecg@@GLIBCXX_LDBL_3.4
++FUNC:_ZNKSt17__gnu_cxx_ldbl1287num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES4_RSt8ios_basecl@@GLIBCXX_LDBL_3.4
++FUNC:_ZNKSt17__gnu_cxx_ldbl1287num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES4_RSt8ios_basecm@@GLIBCXX_LDBL_3.4
++FUNC:_ZNKSt17__gnu_cxx_ldbl1287num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES4_RSt8ios_basecx@@GLIBCXX_LDBL_3.4
++FUNC:_ZNKSt17__gnu_cxx_ldbl1287num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES4_RSt8ios_basecy@@GLIBCXX_LDBL_3.4
++FUNC:_ZNKSt17__gnu_cxx_ldbl1287num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE8__do_putES4_RSt8ios_basecd@@GLIBCXX_LDBL_3.4
++FUNC:_ZNKSt17__gnu_cxx_ldbl1287num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE12_M_group_intEPKcjwRSt8ios_basePwSA_Ri@@GLIBCXX_LDBL_3.4
++FUNC:_ZNKSt17__gnu_cxx_ldbl1287num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE13_M_insert_intIlEES4_S4_RSt8ios_basewT_@@GLIBCXX_LDBL_3.4
++FUNC:_ZNKSt17__gnu_cxx_ldbl1287num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE13_M_insert_intImEES4_S4_RSt8ios_basewT_@@GLIBCXX_LDBL_3.4
++FUNC:_ZNKSt17__gnu_cxx_ldbl1287num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE13_M_insert_intIxEES4_S4_RSt8ios_basewT_@@GLIBCXX_LDBL_3.4
++FUNC:_ZNKSt17__gnu_cxx_ldbl1287num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE13_M_insert_intIyEES4_S4_RSt8ios_basewT_@@GLIBCXX_LDBL_3.4
++FUNC:_ZNKSt17__gnu_cxx_ldbl1287num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE14_M_group_floatEPKcjwPKwPwSA_Ri@@GLIBCXX_LDBL_3.4
++FUNC:_ZNKSt17__gnu_cxx_ldbl1287num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE15_M_insert_floatIdEES4_S4_RSt8ios_basewcT_@@GLIBCXX_LDBL_3.4
++FUNC:_ZNKSt17__gnu_cxx_ldbl1287num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE15_M_insert_floatIgEES4_S4_RSt8ios_basewcT_@@GLIBCXX_LDBL_3.4
++FUNC:_ZNKSt17__gnu_cxx_ldbl1287num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES4_RSt8ios_basewPKv@@GLIBCXX_LDBL_3.4
++FUNC:_ZNKSt17__gnu_cxx_ldbl1287num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES4_RSt8ios_basewb@@GLIBCXX_LDBL_3.4
++FUNC:_ZNKSt17__gnu_cxx_ldbl1287num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES4_RSt8ios_basewd@@GLIBCXX_LDBL_3.4
++FUNC:_ZNKSt17__gnu_cxx_ldbl1287num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES4_RSt8ios_basewg@@GLIBCXX_LDBL_3.4
++FUNC:_ZNKSt17__gnu_cxx_ldbl1287num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES4_RSt8ios_basewl@@GLIBCXX_LDBL_3.4
++FUNC:_ZNKSt17__gnu_cxx_ldbl1287num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES4_RSt8ios_basewm@@GLIBCXX_LDBL_3.4
++FUNC:_ZNKSt17__gnu_cxx_ldbl1287num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES4_RSt8ios_basewx@@GLIBCXX_LDBL_3.4
++FUNC:_ZNKSt17__gnu_cxx_ldbl1287num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES4_RSt8ios_basewy@@GLIBCXX_LDBL_3.4
++FUNC:_ZNKSt17__gnu_cxx_ldbl1287num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6_M_padEwiRSt8ios_basePwPKwRi@@GLIBCXX_LDBL_3.4
++FUNC:_ZNKSt17__gnu_cxx_ldbl1287num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES4_RSt8ios_basewPKv@@GLIBCXX_LDBL_3.4
++FUNC:_ZNKSt17__gnu_cxx_ldbl1287num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES4_RSt8ios_basewb@@GLIBCXX_LDBL_3.4
++FUNC:_ZNKSt17__gnu_cxx_ldbl1287num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES4_RSt8ios_basewd@@GLIBCXX_LDBL_3.4
++FUNC:_ZNKSt17__gnu_cxx_ldbl1287num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES4_RSt8ios_basewg@@GLIBCXX_LDBL_3.4
++FUNC:_ZNKSt17__gnu_cxx_ldbl1287num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES4_RSt8ios_basewl@@GLIBCXX_LDBL_3.4
++FUNC:_ZNKSt17__gnu_cxx_ldbl1287num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES4_RSt8ios_basewm@@GLIBCXX_LDBL_3.4
++FUNC:_ZNKSt17__gnu_cxx_ldbl1287num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES4_RSt8ios_basewx@@GLIBCXX_LDBL_3.4
++FUNC:_ZNKSt17__gnu_cxx_ldbl1287num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES4_RSt8ios_basewy@@GLIBCXX_LDBL_3.4
++FUNC:_ZNKSt17__gnu_cxx_ldbl1287num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE8__do_putES4_RSt8ios_basewd@@GLIBCXX_LDBL_3.4
++FUNC:_ZNKSt17__gnu_cxx_ldbl1289money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE10_M_extractILb0EEES4_S4_S4_RSt8ios_baseRSt12_Ios_IostateRSs@@GLIBCXX_LDBL_3.4
++FUNC:_ZNKSt17__gnu_cxx_ldbl1289money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE10_M_extractILb1EEES4_S4_S4_RSt8ios_baseRSt12_Ios_IostateRSs@@GLIBCXX_LDBL_3.4
++FUNC:_ZNKSt17__gnu_cxx_ldbl1289money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES4_S4_bRSt8ios_baseRSt12_Ios_IostateRSs@@GLIBCXX_LDBL_3.4
++FUNC:_ZNKSt17__gnu_cxx_ldbl1289money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES4_S4_bRSt8ios_baseRSt12_Ios_IostateRg@@GLIBCXX_LDBL_3.4
++FUNC:_ZNKSt17__gnu_cxx_ldbl1289money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES4_S4_bRSt8ios_baseRSt12_Ios_IostateRSs@@GLIBCXX_LDBL_3.4
++FUNC:_ZNKSt17__gnu_cxx_ldbl1289money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES4_S4_bRSt8ios_baseRSt12_Ios_IostateRg@@GLIBCXX_LDBL_3.4
++FUNC:_ZNKSt17__gnu_cxx_ldbl1289money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE8__do_getES4_S4_bRSt8ios_baseRSt12_Ios_IostateRd@@GLIBCXX_LDBL_3.4
++FUNC:_ZNKSt17__gnu_cxx_ldbl1289money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE10_M_extractILb0EEES4_S4_S4_RSt8ios_baseRSt12_Ios_IostateRSs@@GLIBCXX_LDBL_3.4
++FUNC:_ZNKSt17__gnu_cxx_ldbl1289money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE10_M_extractILb1EEES4_S4_S4_RSt8ios_baseRSt12_Ios_IostateRSs@@GLIBCXX_LDBL_3.4
++FUNC:_ZNKSt17__gnu_cxx_ldbl1289money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES4_S4_bRSt8ios_baseRSt12_Ios_IostateRSbIwS3_SaIwEE@@GLIBCXX_LDBL_3.4
++FUNC:_ZNKSt17__gnu_cxx_ldbl1289money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES4_S4_bRSt8ios_baseRSt12_Ios_IostateRg@@GLIBCXX_LDBL_3.4
++FUNC:_ZNKSt17__gnu_cxx_ldbl1289money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES4_S4_bRSt8ios_baseRSt12_Ios_IostateRSbIwS3_SaIwEE@@GLIBCXX_LDBL_3.4
++FUNC:_ZNKSt17__gnu_cxx_ldbl1289money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES4_S4_bRSt8ios_baseRSt12_Ios_IostateRg@@GLIBCXX_LDBL_3.4
++FUNC:_ZNKSt17__gnu_cxx_ldbl1289money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE8__do_getES4_S4_bRSt8ios_baseRSt12_Ios_IostateRd@@GLIBCXX_LDBL_3.4
++FUNC:_ZNKSt17__gnu_cxx_ldbl1289money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES4_bRSt8ios_basecRKSs@@GLIBCXX_LDBL_3.4
++FUNC:_ZNKSt17__gnu_cxx_ldbl1289money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES4_bRSt8ios_basecg@@GLIBCXX_LDBL_3.4
++FUNC:_ZNKSt17__gnu_cxx_ldbl1289money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES4_bRSt8ios_basecRKSs@@GLIBCXX_LDBL_3.4
++FUNC:_ZNKSt17__gnu_cxx_ldbl1289money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES4_bRSt8ios_basecg@@GLIBCXX_LDBL_3.4
++FUNC:_ZNKSt17__gnu_cxx_ldbl1289money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE8__do_putES4_bRSt8ios_basecd@@GLIBCXX_LDBL_3.4
++FUNC:_ZNKSt17__gnu_cxx_ldbl1289money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE9_M_insertILb0EEES4_S4_RSt8ios_basecRKSs@@GLIBCXX_LDBL_3.4
++FUNC:_ZNKSt17__gnu_cxx_ldbl1289money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE9_M_insertILb1EEES4_S4_RSt8ios_basecRKSs@@GLIBCXX_LDBL_3.4
++FUNC:_ZNKSt17__gnu_cxx_ldbl1289money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES4_bRSt8ios_basewRKSbIwS3_SaIwEE@@GLIBCXX_LDBL_3.4
++FUNC:_ZNKSt17__gnu_cxx_ldbl1289money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES4_bRSt8ios_basewg@@GLIBCXX_LDBL_3.4
++FUNC:_ZNKSt17__gnu_cxx_ldbl1289money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES4_bRSt8ios_basewRKSbIwS3_SaIwEE@@GLIBCXX_LDBL_3.4
++FUNC:_ZNKSt17__gnu_cxx_ldbl1289money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES4_bRSt8ios_basewg@@GLIBCXX_LDBL_3.4
++FUNC:_ZNKSt17__gnu_cxx_ldbl1289money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE8__do_putES4_bRSt8ios_basewd@@GLIBCXX_LDBL_3.4
++FUNC:_ZNKSt17__gnu_cxx_ldbl1289money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE9_M_insertILb0EEES4_S4_RSt8ios_basewRKSbIwS3_SaIwEE@@GLIBCXX_LDBL_3.4
++FUNC:_ZNKSt17__gnu_cxx_ldbl1289money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE9_M_insertILb1EEES4_S4_RSt8ios_basewRKSbIwS3_SaIwEE@@GLIBCXX_LDBL_3.4
+ FUNC:_ZNKSt18basic_stringstreamIcSt11char_traitsIcESaIcEE3strEv@@GLIBCXX_3.4
+ FUNC:_ZNKSt18basic_stringstreamIcSt11char_traitsIcESaIcEE5rdbufEv@@GLIBCXX_3.4
+ FUNC:_ZNKSt18basic_stringstreamIwSt11char_traitsIwESaIwEE3strEv@@GLIBCXX_3.4
+@@ -353,6 +529,18 @@
+ FUNC:_ZNKSt19basic_ostringstreamIcSt11char_traitsIcESaIcEE5rdbufEv@@GLIBCXX_3.4
+ FUNC:_ZNKSt19basic_ostringstreamIwSt11char_traitsIwESaIwEE3strEv@@GLIBCXX_3.4
+ FUNC:_ZNKSt19basic_ostringstreamIwSt11char_traitsIwESaIwEE5rdbufEv@@GLIBCXX_3.4
++FUNC:_ZNKSt3tr14hashIRKSbIwSt11char_traitsIwESaIwEEEclES6_@@GLIBCXX_3.4.10
++FUNC:_ZNKSt3tr14hashIRKSsEclES2_@@GLIBCXX_3.4.10
++FUNC:_ZNKSt3tr14hashISbIwSt11char_traitsIwESaIwEEEclES4_@@GLIBCXX_3.4.10
++FUNC:_ZNKSt3tr14hashISsEclESs@@GLIBCXX_3.4.10
++FUNC:_ZNKSt3tr14hashIeEclEe@@GLIBCXX_3.4.10
++FUNC:_ZNKSt3tr14hashIgEclEg@@GLIBCXX_LDBL_3.4.10
++FUNC:_ZNKSt4hashIRKSbIwSt11char_traitsIwESaIwEEEclES5_@@GLIBCXX_3.4.10
++FUNC:_ZNKSt4hashIRKSsEclES1_@@GLIBCXX_3.4.10
++FUNC:_ZNKSt4hashISbIwSt11char_traitsIwESaIwEEEclES3_@@GLIBCXX_3.4.10
++FUNC:_ZNKSt4hashISsEclESs@@GLIBCXX_3.4.10
++FUNC:_ZNKSt4hashIeEclEe@@GLIBCXX_3.4.10
++FUNC:_ZNKSt4hashIgEclEg@@GLIBCXX_LDBL_3.4.10
+ FUNC:_ZNKSt5ctypeIcE10do_tolowerEPcPKc@@GLIBCXX_3.4
+ FUNC:_ZNKSt5ctypeIcE10do_tolowerEc@@GLIBCXX_3.4
+ FUNC:_ZNKSt5ctypeIcE10do_toupperEPcPKc@@GLIBCXX_3.4
+@@ -515,6 +703,7 @@
+ FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES3_RSt8ios_basewm@@GLIBCXX_3.4
+ FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES3_RSt8ios_basewx@@GLIBCXX_3.4
+ FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES3_RSt8ios_basewy@@GLIBCXX_3.4
++FUNC:_ZNKSt8bad_cast4whatEv@@GLIBCXX_3.4.9
+ FUNC:_ZNKSt8ios_base7failure4whatEv@@GLIBCXX_3.4
+ FUNC:_ZNKSt8messagesIcE18_M_convert_to_charERKSs@@GLIBCXX_3.4
+ FUNC:_ZNKSt8messagesIcE20_M_convert_from_charEPc@@GLIBCXX_3.4
+@@ -591,6 +780,7 @@
+ FUNC:_ZNKSt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES3_RSt8ios_basewPK2tmcc@@GLIBCXX_3.4
+ FUNC:_ZNKSt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES3_RSt8ios_basewPK2tmcc@@GLIBCXX_3.4
+ FUNC:_ZNKSt8valarrayIjE4sizeEv@@GLIBCXX_3.4
++FUNC:_ZNKSt9bad_alloc4whatEv@@GLIBCXX_3.4.9
+ FUNC:_ZNKSt9basic_iosIcSt11char_traitsIcEE10exceptionsEv@@GLIBCXX_3.4
+ FUNC:_ZNKSt9basic_iosIcSt11char_traitsIcEE3badEv@@GLIBCXX_3.4
+ FUNC:_ZNKSt9basic_iosIcSt11char_traitsIcEE3eofEv@@GLIBCXX_3.4
+@@ -774,6 +964,18 @@
+ FUNC:_ZNSdD0Ev@@GLIBCXX_3.4
+ FUNC:_ZNSdD1Ev@@GLIBCXX_3.4
+ FUNC:_ZNSdD2Ev@@GLIBCXX_3.4
++FUNC:_ZNSi10_M_extractIPvEERSiRT_@@GLIBCXX_3.4.9
++FUNC:_ZNSi10_M_extractIbEERSiRT_@@GLIBCXX_3.4.9
++FUNC:_ZNSi10_M_extractIdEERSiRT_@@GLIBCXX_3.4.9
++FUNC:_ZNSi10_M_extractIeEERSiRT_@@GLIBCXX_3.4.9
++FUNC:_ZNSi10_M_extractIfEERSiRT_@@GLIBCXX_3.4.9
++FUNC:_ZNSi10_M_extractIgEERSiRT_@@GLIBCXX_LDBL_3.4.7
++FUNC:_ZNSi10_M_extractIjEERSiRT_@@GLIBCXX_3.4.9
++FUNC:_ZNSi10_M_extractIlEERSiRT_@@GLIBCXX_3.4.9
++FUNC:_ZNSi10_M_extractImEERSiRT_@@GLIBCXX_3.4.9
++FUNC:_ZNSi10_M_extractItEERSiRT_@@GLIBCXX_3.4.9
++FUNC:_ZNSi10_M_extractIxEERSiRT_@@GLIBCXX_3.4.9
++FUNC:_ZNSi10_M_extractIyEERSiRT_@@GLIBCXX_3.4.9
+ FUNC:_ZNSi3getEPci@@GLIBCXX_3.4
+ FUNC:_ZNSi3getEPcic@@GLIBCXX_3.4
+ FUNC:_ZNSi3getERSt15basic_streambufIcSt11char_traitsIcEE@@GLIBCXX_3.4
+@@ -814,6 +1016,7 @@
+ FUNC:_ZNSirsERd@@GLIBCXX_3.4
+ FUNC:_ZNSirsERe@@GLIBCXX_3.4
+ FUNC:_ZNSirsERf@@GLIBCXX_3.4
++FUNC:_ZNSirsERg@@GLIBCXX_LDBL_3.4
+ FUNC:_ZNSirsERi@@GLIBCXX_3.4
+ FUNC:_ZNSirsERj@@GLIBCXX_3.4
+ FUNC:_ZNSirsERl@@GLIBCXX_3.4
+@@ -833,6 +1036,15 @@
+ FUNC:_ZNSo6sentryD1Ev@@GLIBCXX_3.4
+ FUNC:_ZNSo6sentryD2Ev@@GLIBCXX_3.4
+ FUNC:_ZNSo8_M_writeEPKci@@GLIBCXX_3.4
++FUNC:_ZNSo9_M_insertIPKvEERSoT_@@GLIBCXX_3.4.9
++FUNC:_ZNSo9_M_insertIbEERSoT_@@GLIBCXX_3.4.9
++FUNC:_ZNSo9_M_insertIdEERSoT_@@GLIBCXX_3.4.9
++FUNC:_ZNSo9_M_insertIeEERSoT_@@GLIBCXX_3.4.9
++FUNC:_ZNSo9_M_insertIgEERSoT_@@GLIBCXX_LDBL_3.4.7
++FUNC:_ZNSo9_M_insertIlEERSoT_@@GLIBCXX_3.4.9
++FUNC:_ZNSo9_M_insertImEERSoT_@@GLIBCXX_3.4.9
++FUNC:_ZNSo9_M_insertIxEERSoT_@@GLIBCXX_3.4.9
++FUNC:_ZNSo9_M_insertIyEERSoT_@@GLIBCXX_3.4.9
+ FUNC:_ZNSoC1EPSt15basic_streambufIcSt11char_traitsIcEE@@GLIBCXX_3.4
+ FUNC:_ZNSoC1Ev@@GLIBCXX_3.4
+ FUNC:_ZNSoC2EPSt15basic_streambufIcSt11char_traitsIcEE@@GLIBCXX_3.4
+@@ -849,6 +1061,7 @@
+ FUNC:_ZNSolsEd@@GLIBCXX_3.4
+ FUNC:_ZNSolsEe@@GLIBCXX_3.4
+ FUNC:_ZNSolsEf@@GLIBCXX_3.4
++FUNC:_ZNSolsEg@@GLIBCXX_LDBL_3.4
+ FUNC:_ZNSolsEi@@GLIBCXX_3.4
+ FUNC:_ZNSolsEj@@GLIBCXX_3.4
+ FUNC:_ZNSolsEl@@GLIBCXX_3.4
+@@ -1206,6 +1419,18 @@
+ FUNC:_ZNSt13basic_fstreamIwSt11char_traitsIwEED0Ev@@GLIBCXX_3.4
+ FUNC:_ZNSt13basic_fstreamIwSt11char_traitsIwEED1Ev@@GLIBCXX_3.4
+ FUNC:_ZNSt13basic_fstreamIwSt11char_traitsIwEED2Ev@@GLIBCXX_3.4
++FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE10_M_extractIPvEERS2_RT_@@GLIBCXX_3.4.9
++FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE10_M_extractIbEERS2_RT_@@GLIBCXX_3.4.9
++FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE10_M_extractIdEERS2_RT_@@GLIBCXX_3.4.9
++FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE10_M_extractIeEERS2_RT_@@GLIBCXX_3.4.9
++FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE10_M_extractIfEERS2_RT_@@GLIBCXX_3.4.9
++FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE10_M_extractIgEERS2_RT_@@GLIBCXX_LDBL_3.4.7
++FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE10_M_extractIjEERS2_RT_@@GLIBCXX_3.4.9
++FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE10_M_extractIlEERS2_RT_@@GLIBCXX_3.4.9
++FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE10_M_extractImEERS2_RT_@@GLIBCXX_3.4.9
++FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE10_M_extractItEERS2_RT_@@GLIBCXX_3.4.9
++FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE10_M_extractIxEERS2_RT_@@GLIBCXX_3.4.9
++FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE10_M_extractIyEERS2_RT_@@GLIBCXX_3.4.9
+ FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE3getEPwi@@GLIBCXX_3.4
+ FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE3getEPwiw@@GLIBCXX_3.4
+ FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE3getERSt15basic_streambufIwS1_E@@GLIBCXX_3.4
+@@ -1246,6 +1471,7 @@
+ FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsERd@@GLIBCXX_3.4
+ FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsERe@@GLIBCXX_3.4
+ FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsERf@@GLIBCXX_3.4
++FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsERg@@GLIBCXX_LDBL_3.4
+ FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsERi@@GLIBCXX_3.4
+ FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsERj@@GLIBCXX_3.4
+ FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsERl@@GLIBCXX_3.4
+@@ -1265,6 +1491,15 @@
+ FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEE6sentryD1Ev@@GLIBCXX_3.4
+ FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEE6sentryD2Ev@@GLIBCXX_3.4
+ FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEE8_M_writeEPKwi@@GLIBCXX_3.4
++FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEE9_M_insertIPKvEERS2_T_@@GLIBCXX_3.4.9
++FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEE9_M_insertIbEERS2_T_@@GLIBCXX_3.4.9
++FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEE9_M_insertIdEERS2_T_@@GLIBCXX_3.4.9
++FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEE9_M_insertIeEERS2_T_@@GLIBCXX_3.4.9
++FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEE9_M_insertIgEERS2_T_@@GLIBCXX_LDBL_3.4.7
++FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEE9_M_insertIlEERS2_T_@@GLIBCXX_3.4.9
++FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEE9_M_insertImEERS2_T_@@GLIBCXX_3.4.9
++FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEE9_M_insertIxEERS2_T_@@GLIBCXX_3.4.9
++FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEE9_M_insertIyEERS2_T_@@GLIBCXX_3.4.9
+ FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEEC1EPSt15basic_streambufIwS1_E@@GLIBCXX_3.4
+ FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEEC1Ev@@GLIBCXX_3.4
+ FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEEC2EPSt15basic_streambufIwS1_E@@GLIBCXX_3.4
+@@ -1281,6 +1516,7 @@
+ FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEd@@GLIBCXX_3.4
+ FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEe@@GLIBCXX_3.4
+ FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEf@@GLIBCXX_3.4
++FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEg@@GLIBCXX_LDBL_3.4
+ FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEi@@GLIBCXX_3.4
+ FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEj@@GLIBCXX_3.4
+ FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEl@@GLIBCXX_3.4
+@@ -1386,6 +1622,7 @@
+ FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE6sbumpcEv@@GLIBCXX_3.4
+ FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE6setbufEPci@@GLIBCXX_3.4
+ FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE6snextcEv@@GLIBCXX_3.4
++FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE6stosscEv@@GLIBCXX_3.4.10
+ FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE6xsgetnEPci@@GLIBCXX_3.4
+ FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE6xsputnEPKci@@GLIBCXX_3.4
+ FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE7pubsyncEv@@GLIBCXX_3.4
+@@ -1424,6 +1661,7 @@
+ FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE6sbumpcEv@@GLIBCXX_3.4
+ FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE6setbufEPwi@@GLIBCXX_3.4
+ FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE6snextcEv@@GLIBCXX_3.4
++FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE6stosscEv@@GLIBCXX_3.4.10
+ FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE6xsgetnEPwi@@GLIBCXX_3.4
+ FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE6xsputnEPKwi@@GLIBCXX_3.4
+ FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE7pubsyncEv@@GLIBCXX_3.4
+@@ -1455,6 +1693,7 @@
+ FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE7seekposESt4fposI11__mbstate_tESt13_Ios_Openmode@@GLIBCXX_3.4
+ FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE8overflowEi@@GLIBCXX_3.4
+ FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE9pbackfailEi@@GLIBCXX_3.4
++FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE9showmanycEv@@GLIBCXX_3.4.6
+ FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE9underflowEv@@GLIBCXX_3.4
+ FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEEC1ERKSsSt13_Ios_Openmode@@GLIBCXX_3.4
+ FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEEC1ESt13_Ios_Openmode@@GLIBCXX_3.4
+@@ -1471,6 +1710,7 @@
+ FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEE7seekposESt4fposI11__mbstate_tESt13_Ios_Openmode@@GLIBCXX_3.4
+ FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEE8overflowEj@@GLIBCXX_3.4
+ FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEE9pbackfailEj@@GLIBCXX_3.4
++FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEE9showmanycEv@@GLIBCXX_3.4.6
+ FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEE9underflowEv@@GLIBCXX_3.4
+ FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEEC1ERKSbIwS1_S2_ESt13_Ios_Openmode@@GLIBCXX_3.4
+ FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEEC1ESt13_Ios_Openmode@@GLIBCXX_3.4
+@@ -1538,6 +1778,46 @@
+ FUNC:_ZNSt16invalid_argumentC2ERKSs@@GLIBCXX_3.4
+ FUNC:_ZNSt16invalid_argumentD0Ev@@GLIBCXX_3.4
+ FUNC:_ZNSt16invalid_argumentD1Ev@@GLIBCXX_3.4
++FUNC:_ZNSt17__gnu_cxx_ldbl1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC1Ej@@GLIBCXX_LDBL_3.4
++FUNC:_ZNSt17__gnu_cxx_ldbl1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC2Ej@@GLIBCXX_LDBL_3.4
++FUNC:_ZNSt17__gnu_cxx_ldbl1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED0Ev@@GLIBCXX_LDBL_3.4
++FUNC:_ZNSt17__gnu_cxx_ldbl1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED1Ev@@GLIBCXX_LDBL_3.4
++FUNC:_ZNSt17__gnu_cxx_ldbl1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED2Ev@@GLIBCXX_LDBL_3.4
++FUNC:_ZNSt17__gnu_cxx_ldbl1287num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC1Ej@@GLIBCXX_LDBL_3.4
++FUNC:_ZNSt17__gnu_cxx_ldbl1287num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC2Ej@@GLIBCXX_LDBL_3.4
++FUNC:_ZNSt17__gnu_cxx_ldbl1287num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED0Ev@@GLIBCXX_LDBL_3.4
++FUNC:_ZNSt17__gnu_cxx_ldbl1287num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED1Ev@@GLIBCXX_LDBL_3.4
++FUNC:_ZNSt17__gnu_cxx_ldbl1287num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED2Ev@@GLIBCXX_LDBL_3.4
++FUNC:_ZNSt17__gnu_cxx_ldbl1287num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC1Ej@@GLIBCXX_LDBL_3.4
++FUNC:_ZNSt17__gnu_cxx_ldbl1287num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC2Ej@@GLIBCXX_LDBL_3.4
++FUNC:_ZNSt17__gnu_cxx_ldbl1287num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED0Ev@@GLIBCXX_LDBL_3.4
++FUNC:_ZNSt17__gnu_cxx_ldbl1287num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED1Ev@@GLIBCXX_LDBL_3.4
++FUNC:_ZNSt17__gnu_cxx_ldbl1287num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED2Ev@@GLIBCXX_LDBL_3.4
++FUNC:_ZNSt17__gnu_cxx_ldbl1287num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEC1Ej@@GLIBCXX_LDBL_3.4
++FUNC:_ZNSt17__gnu_cxx_ldbl1287num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEC2Ej@@GLIBCXX_LDBL_3.4
++FUNC:_ZNSt17__gnu_cxx_ldbl1287num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED0Ev@@GLIBCXX_LDBL_3.4
++FUNC:_ZNSt17__gnu_cxx_ldbl1287num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED1Ev@@GLIBCXX_LDBL_3.4
++FUNC:_ZNSt17__gnu_cxx_ldbl1287num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED2Ev@@GLIBCXX_LDBL_3.4
++FUNC:_ZNSt17__gnu_cxx_ldbl1289money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC1Ej@@GLIBCXX_LDBL_3.4
++FUNC:_ZNSt17__gnu_cxx_ldbl1289money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC2Ej@@GLIBCXX_LDBL_3.4
++FUNC:_ZNSt17__gnu_cxx_ldbl1289money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED0Ev@@GLIBCXX_LDBL_3.4
++FUNC:_ZNSt17__gnu_cxx_ldbl1289money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED1Ev@@GLIBCXX_LDBL_3.4
++FUNC:_ZNSt17__gnu_cxx_ldbl1289money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED2Ev@@GLIBCXX_LDBL_3.4
++FUNC:_ZNSt17__gnu_cxx_ldbl1289money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC1Ej@@GLIBCXX_LDBL_3.4
++FUNC:_ZNSt17__gnu_cxx_ldbl1289money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC2Ej@@GLIBCXX_LDBL_3.4
++FUNC:_ZNSt17__gnu_cxx_ldbl1289money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED0Ev@@GLIBCXX_LDBL_3.4
++FUNC:_ZNSt17__gnu_cxx_ldbl1289money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED1Ev@@GLIBCXX_LDBL_3.4
++FUNC:_ZNSt17__gnu_cxx_ldbl1289money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED2Ev@@GLIBCXX_LDBL_3.4
++FUNC:_ZNSt17__gnu_cxx_ldbl1289money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC1Ej@@GLIBCXX_LDBL_3.4
++FUNC:_ZNSt17__gnu_cxx_ldbl1289money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC2Ej@@GLIBCXX_LDBL_3.4
++FUNC:_ZNSt17__gnu_cxx_ldbl1289money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED0Ev@@GLIBCXX_LDBL_3.4
++FUNC:_ZNSt17__gnu_cxx_ldbl1289money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED1Ev@@GLIBCXX_LDBL_3.4
++FUNC:_ZNSt17__gnu_cxx_ldbl1289money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED2Ev@@GLIBCXX_LDBL_3.4
++FUNC:_ZNSt17__gnu_cxx_ldbl1289money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEC1Ej@@GLIBCXX_LDBL_3.4
++FUNC:_ZNSt17__gnu_cxx_ldbl1289money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEC2Ej@@GLIBCXX_LDBL_3.4
++FUNC:_ZNSt17__gnu_cxx_ldbl1289money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED0Ev@@GLIBCXX_LDBL_3.4
++FUNC:_ZNSt17__gnu_cxx_ldbl1289money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED1Ev@@GLIBCXX_LDBL_3.4
++FUNC:_ZNSt17__gnu_cxx_ldbl1289money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED2Ev@@GLIBCXX_LDBL_3.4
+ FUNC:_ZNSt17__timepunct_cacheIcEC1Ej@@GLIBCXX_3.4
+ FUNC:_ZNSt17__timepunct_cacheIcEC2Ej@@GLIBCXX_3.4
+ FUNC:_ZNSt17__timepunct_cacheIcED0Ev@@GLIBCXX_3.4
+@@ -1660,10 +1940,16 @@
+ FUNC:_ZNSt5ctypeIwED0Ev@@GLIBCXX_3.4
+ FUNC:_ZNSt5ctypeIwED1Ev@@GLIBCXX_3.4
+ FUNC:_ZNSt5ctypeIwED2Ev@@GLIBCXX_3.4
++FUNC:_ZNSt6__norm15_List_node_base4hookEPS0_@@GLIBCXX_3.4.9
++FUNC:_ZNSt6__norm15_List_node_base4swapERS0_S1_@@GLIBCXX_3.4.9
++FUNC:_ZNSt6__norm15_List_node_base6unhookEv@@GLIBCXX_3.4.9
++FUNC:_ZNSt6__norm15_List_node_base7reverseEv@@GLIBCXX_3.4.9
++FUNC:_ZNSt6__norm15_List_node_base8transferEPS0_S1_@@GLIBCXX_3.4.9
+ FUNC:_ZNSt6gslice8_IndexerC1EjRKSt8valarrayIjES4_@@GLIBCXX_3.4
+ FUNC:_ZNSt6gslice8_IndexerC2EjRKSt8valarrayIjES4_@@GLIBCXX_3.4
+ FUNC:_ZNSt6locale11_M_coalesceERKS_S1_i@@GLIBCXX_3.4
+ FUNC:_ZNSt6locale21_S_normalize_categoryEi@@GLIBCXX_3.4
++FUNC:_ZNSt6locale5_Impl16_M_install_cacheEPKNS_5facetEj@@GLIBCXX_3.4.7
+ FUNC:_ZNSt6locale5_Impl16_M_install_facetEPKNS_2idEPKNS_5facetE@@GLIBCXX_3.4
+ FUNC:_ZNSt6locale5_Impl16_M_replace_facetEPKS0_PKNS_2idE@@GLIBCXX_3.4
+ FUNC:_ZNSt6locale5_Impl19_M_replace_categoryEPKS0_PKPKNS_2idE@@GLIBCXX_3.4
+@@ -1676,6 +1962,7 @@
+ FUNC:_ZNSt6locale5_ImplC2Ej@@GLIBCXX_3.4
+ FUNC:_ZNSt6locale5_ImplD1Ev@@GLIBCXX_3.4
+ FUNC:_ZNSt6locale5_ImplD2Ev@@GLIBCXX_3.4
++FUNC:_ZNSt6locale5facet13_S_get_c_nameEv@@GLIBCXX_3.4.6
+ FUNC:_ZNSt6locale5facet15_S_get_c_localeEv@@GLIBCXX_3.4
+ FUNC:_ZNSt6locale5facet17_S_clone_c_localeERP15__locale_struct@@GLIBCXX_3.4
+ FUNC:_ZNSt6locale5facet18_S_create_c_localeERP15__locale_structPKcS2_@@GLIBCXX_3.4
+@@ -1753,7 +2040,9 @@
+ FUNC:_ZNSt8bad_castD2Ev@@GLIBCXX_3.4
+ FUNC:_ZNSt8ios_base13_M_grow_wordsEib@@GLIBCXX_3.4
+ FUNC:_ZNSt8ios_base15sync_with_stdioEb@@GLIBCXX_3.4
++FUNC:_ZNSt8ios_base17_M_call_callbacksENS_5eventE@@GLIBCXX_3.4.6
+ FUNC:_ZNSt8ios_base17register_callbackEPFvNS_5eventERS_iEi@@GLIBCXX_3.4
++FUNC:_ZNSt8ios_base20_M_dispose_callbacksEv@@GLIBCXX_3.4.6
+ FUNC:_ZNSt8ios_base4InitC1Ev@@GLIBCXX_3.4
+ FUNC:_ZNSt8ios_base4InitC2Ev@@GLIBCXX_3.4
+ FUNC:_ZNSt8ios_base4InitD1Ev@@GLIBCXX_3.4
+@@ -1832,6 +2121,11 @@
+ FUNC:_ZNSt8valarrayIjED1Ev@@GLIBCXX_3.4
+ FUNC:_ZNSt8valarrayIjED2Ev@@GLIBCXX_3.4
+ FUNC:_ZNSt8valarrayIjEixEj@@GLIBCXX_3.4
++FUNC:_ZNSt9__cxx199815_List_node_base4hookEPS0_@@GLIBCXX_3.4.10
++FUNC:_ZNSt9__cxx199815_List_node_base4swapERS0_S1_@@GLIBCXX_3.4.10
++FUNC:_ZNSt9__cxx199815_List_node_base6unhookEv@@GLIBCXX_3.4.10
++FUNC:_ZNSt9__cxx199815_List_node_base7reverseEv@@GLIBCXX_3.4.10
++FUNC:_ZNSt9__cxx199815_List_node_base8transferEPS0_S1_@@GLIBCXX_3.4.10
+ FUNC:_ZNSt9bad_allocD0Ev@@GLIBCXX_3.4
+ FUNC:_ZNSt9bad_allocD1Ev@@GLIBCXX_3.4
+ FUNC:_ZNSt9bad_allocD2Ev@@GLIBCXX_3.4
+@@ -1911,10 +2205,16 @@
+ FUNC:_ZSt14__convert_to_vIdEvPKcRT_RSt12_Ios_IostateRKP15__locale_struct@@GLIBCXX_3.4
+ FUNC:_ZSt14__convert_to_vIeEvPKcRT_RSt12_Ios_IostateRKP15__locale_struct@@GLIBCXX_3.4
+ FUNC:_ZSt14__convert_to_vIfEvPKcRT_RSt12_Ios_IostateRKP15__locale_struct@@GLIBCXX_3.4
++FUNC:_ZSt14__convert_to_vIgEvPKcRT_RSt12_Ios_IostateRKP15__locale_struct@@GLIBCXX_LDBL_3.4
+ FUNC:_ZSt14set_unexpectedPFvvE@@GLIBCXX_3.4
+ FUNC:_ZSt15set_new_handlerPFvvE@@GLIBCXX_3.4
++FUNC:_ZSt16__ostream_insertIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_PKS3_i@@GLIBCXX_3.4.9
++FUNC:_ZSt16__ostream_insertIwSt11char_traitsIwEERSt13basic_ostreamIT_T0_ES6_PKS3_i@@GLIBCXX_3.4.9
+ FUNC:_ZSt16__throw_bad_castv@@GLIBCXX_3.4
++FUNC:_ZSt17__copy_streambufsIcSt11char_traitsIcEEiPSt15basic_streambufIT_T0_ES6_@@GLIBCXX_3.4.6
++FUNC:_ZSt17__copy_streambufsIwSt11char_traitsIwEEiPSt15basic_streambufIT_T0_ES6_@@GLIBCXX_3.4.6
+ FUNC:_ZSt17__throw_bad_allocv@@GLIBCXX_3.4
++FUNC:_ZSt17__verify_groupingPKcjRKSs@@GLIBCXX_3.4.10
+ FUNC:_ZSt18_Rb_tree_decrementPKSt18_Rb_tree_node_base@@GLIBCXX_3.4
+ FUNC:_ZSt18_Rb_tree_decrementPSt18_Rb_tree_node_base@@GLIBCXX_3.4
+ FUNC:_ZSt18_Rb_tree_incrementPKSt18_Rb_tree_node_base@@GLIBCXX_3.4
+@@ -1930,6 +2230,8 @@
+ FUNC:_ZSt20__throw_length_errorPKc@@GLIBCXX_3.4
+ FUNC:_ZSt20__throw_out_of_rangePKc@@GLIBCXX_3.4
+ FUNC:_ZSt21_Rb_tree_rotate_rightPSt18_Rb_tree_node_baseRS0_@@GLIBCXX_3.4
++FUNC:_ZSt21__copy_streambufs_eofIcSt11char_traitsIcEEiPSt15basic_streambufIT_T0_ES6_Rb@@GLIBCXX_3.4.9
++FUNC:_ZSt21__copy_streambufs_eofIwSt11char_traitsIwEEiPSt15basic_streambufIT_T0_ES6_Rb@@GLIBCXX_3.4.9
+ FUNC:_ZSt21__throw_bad_exceptionv@@GLIBCXX_3.4
+ FUNC:_ZSt21__throw_runtime_errorPKc@@GLIBCXX_3.4
+ FUNC:_ZSt22__throw_overflow_errorPKc@@GLIBCXX_3.4
+@@ -1949,6 +2251,14 @@
+ FUNC:_ZSt7getlineIcSt11char_traitsIcESaIcEERSt13basic_istreamIT_T0_ES7_RSbIS4_S5_T1_ES4_@@GLIBCXX_3.4
+ FUNC:_ZSt7getlineIwSt11char_traitsIwESaIwEERSt13basic_istreamIT_T0_ES7_RSbIS4_S5_T1_E@@GLIBCXX_3.4
+ FUNC:_ZSt7getlineIwSt11char_traitsIwESaIwEERSt13basic_istreamIT_T0_ES7_RSbIS4_S5_T1_ES4_@@GLIBCXX_3.4
++FUNC:_ZSt9has_facetINSt17__gnu_cxx_ldbl1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEEEbRKSt6locale@@GLIBCXX_LDBL_3.4
++FUNC:_ZSt9has_facetINSt17__gnu_cxx_ldbl1287num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEEEbRKSt6locale@@GLIBCXX_LDBL_3.4
++FUNC:_ZSt9has_facetINSt17__gnu_cxx_ldbl1287num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEEEbRKSt6locale@@GLIBCXX_LDBL_3.4
++FUNC:_ZSt9has_facetINSt17__gnu_cxx_ldbl1287num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEEEbRKSt6locale@@GLIBCXX_LDBL_3.4
++FUNC:_ZSt9has_facetINSt17__gnu_cxx_ldbl1289money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEEEbRKSt6locale@@GLIBCXX_LDBL_3.4
++FUNC:_ZSt9has_facetINSt17__gnu_cxx_ldbl1289money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEEEbRKSt6locale@@GLIBCXX_LDBL_3.4
++FUNC:_ZSt9has_facetINSt17__gnu_cxx_ldbl1289money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEEEbRKSt6locale@@GLIBCXX_LDBL_3.4
++FUNC:_ZSt9has_facetINSt17__gnu_cxx_ldbl1289money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEEEbRKSt6locale@@GLIBCXX_LDBL_3.4
+ FUNC:_ZSt9has_facetISt10moneypunctIcLb0EEEbRKSt6locale@@GLIBCXX_3.4
+ FUNC:_ZSt9has_facetISt10moneypunctIwLb0EEEbRKSt6locale@@GLIBCXX_3.4
+ FUNC:_ZSt9has_facetISt11__timepunctIcEEbRKSt6locale@@GLIBCXX_3.4
+@@ -1976,6 +2286,14 @@
+ FUNC:_ZSt9has_facetISt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEEbRKSt6locale@@GLIBCXX_3.4
+ FUNC:_ZSt9has_facetISt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEEbRKSt6locale@@GLIBCXX_3.4
+ FUNC:_ZSt9terminatev@@GLIBCXX_3.4
++FUNC:_ZSt9use_facetINSt17__gnu_cxx_ldbl1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEEERKT_RKSt6locale@@GLIBCXX_LDBL_3.4
++FUNC:_ZSt9use_facetINSt17__gnu_cxx_ldbl1287num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEEERKT_RKSt6locale@@GLIBCXX_LDBL_3.4
++FUNC:_ZSt9use_facetINSt17__gnu_cxx_ldbl1287num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEEERKT_RKSt6locale@@GLIBCXX_LDBL_3.4
++FUNC:_ZSt9use_facetINSt17__gnu_cxx_ldbl1287num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEEERKT_RKSt6locale@@GLIBCXX_LDBL_3.4
++FUNC:_ZSt9use_facetINSt17__gnu_cxx_ldbl1289money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEEERKT_RKSt6locale@@GLIBCXX_LDBL_3.4
++FUNC:_ZSt9use_facetINSt17__gnu_cxx_ldbl1289money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEEERKT_RKSt6locale@@GLIBCXX_LDBL_3.4
++FUNC:_ZSt9use_facetINSt17__gnu_cxx_ldbl1289money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEEERKT_RKSt6locale@@GLIBCXX_LDBL_3.4
++FUNC:_ZSt9use_facetINSt17__gnu_cxx_ldbl1289money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEEERKT_RKSt6locale@@GLIBCXX_LDBL_3.4
+ FUNC:_ZSt9use_facetISt10moneypunctIcLb0EEERKT_RKSt6locale@@GLIBCXX_3.4
+ FUNC:_ZSt9use_facetISt10moneypunctIcLb1EEERKT_RKSt6locale@@GLIBCXX_3.4
+ FUNC:_ZSt9use_facetISt10moneypunctIwLb0EEERKT_RKSt6locale@@GLIBCXX_3.4
+@@ -2023,6 +2341,8 @@
+ FUNC:_ZStlsIewSt11char_traitsIwEERSt13basic_ostreamIT0_T1_ES6_RKSt7complexIT_E@@GLIBCXX_3.4
+ FUNC:_ZStlsIfcSt11char_traitsIcEERSt13basic_ostreamIT0_T1_ES6_RKSt7complexIT_E@@GLIBCXX_3.4
+ FUNC:_ZStlsIfwSt11char_traitsIwEERSt13basic_ostreamIT0_T1_ES6_RKSt7complexIT_E@@GLIBCXX_3.4
++FUNC:_ZStlsIgcSt11char_traitsIcEERSt13basic_ostreamIT0_T1_ES6_RKSt7complexIT_E@@GLIBCXX_LDBL_3.4
++FUNC:_ZStlsIgwSt11char_traitsIwEERSt13basic_ostreamIT0_T1_ES6_RKSt7complexIT_E@@GLIBCXX_LDBL_3.4
+ FUNC:_ZStlsIwSt11char_traitsIwEERSt13basic_ostreamIT_T0_ES6_PKS3_@@GLIBCXX_3.4
+ FUNC:_ZStlsIwSt11char_traitsIwEERSt13basic_ostreamIT_T0_ES6_PKc@@GLIBCXX_3.4
+ FUNC:_ZStlsIwSt11char_traitsIwEERSt13basic_ostreamIT_T0_ES6_S3_@@GLIBCXX_3.4
+@@ -2059,6 +2379,8 @@
+ FUNC:_ZStrsIewSt11char_traitsIwEERSt13basic_istreamIT0_T1_ES6_RSt7complexIT_E@@GLIBCXX_3.4
+ FUNC:_ZStrsIfcSt11char_traitsIcEERSt13basic_istreamIT0_T1_ES6_RSt7complexIT_E@@GLIBCXX_3.4
+ FUNC:_ZStrsIfwSt11char_traitsIwEERSt13basic_istreamIT0_T1_ES6_RSt7complexIT_E@@GLIBCXX_3.4
++FUNC:_ZStrsIgcSt11char_traitsIcEERSt13basic_istreamIT0_T1_ES6_RSt7complexIT_E@@GLIBCXX_LDBL_3.4
++FUNC:_ZStrsIgwSt11char_traitsIwEERSt13basic_istreamIT0_T1_ES6_RSt7complexIT_E@@GLIBCXX_LDBL_3.4
+ FUNC:_ZStrsIwSt11char_traitsIwEERSt13basic_istreamIT_T0_ES6_PS3_@@GLIBCXX_3.4
+ FUNC:_ZStrsIwSt11char_traitsIwEERSt13basic_istreamIT_T0_ES6_RS3_@@GLIBCXX_3.4
+ FUNC:_ZStrsIwSt11char_traitsIwEERSt13basic_istreamIT_T0_ES6_St12_Setiosflags@@GLIBCXX_3.4
+@@ -2162,36 +2484,48 @@
+ FUNC:__cxa_vec_new@@CXXABI_1.3
+ FUNC:__dynamic_cast@@CXXABI_1.3
+ FUNC:__gxx_personality_v0@@CXXABI_1.3
+-FUNC:acosl@@GLIBCXX_3.4.3
+-FUNC:asinl@@GLIBCXX_3.4.3
+-FUNC:atan2l@@GLIBCXX_3.4
+-FUNC:atanl@@GLIBCXX_3.4.3
+-FUNC:ceill@@GLIBCXX_3.4.3
+-FUNC:coshl@@GLIBCXX_3.4
+-FUNC:cosl@@GLIBCXX_3.4
+-FUNC:expl@@GLIBCXX_3.4
+-FUNC:floorl@@GLIBCXX_3.4.3
+-FUNC:fmodl@@GLIBCXX_3.4.3
+-FUNC:frexpl@@GLIBCXX_3.4.3
+-FUNC:hypotl@@GLIBCXX_3.4
+-FUNC:ldexpl@@GLIBCXX_3.4.3
+-FUNC:log10l@@GLIBCXX_3.4
+-FUNC:logl@@GLIBCXX_3.4
+-FUNC:modfl@@GLIBCXX_3.4.3
+-FUNC:powl@@GLIBCXX_3.4
+-FUNC:sinhl@@GLIBCXX_3.4
+-FUNC:sinl@@GLIBCXX_3.4
+-FUNC:sqrtl@@GLIBCXX_3.4
+-FUNC:tanhl@@GLIBCXX_3.4
+-FUNC:tanl@@GLIBCXX_3.4
++FUNC:acosl@GLIBCXX_3.4.3
++FUNC:asinl@GLIBCXX_3.4.3
++FUNC:atan2l@GLIBCXX_3.4
++FUNC:atanl@GLIBCXX_3.4.3
++FUNC:ceill@GLIBCXX_3.4.3
++FUNC:coshl@GLIBCXX_3.4
++FUNC:cosl@GLIBCXX_3.4
++FUNC:expl@GLIBCXX_3.4
++FUNC:floorl@GLIBCXX_3.4.3
++FUNC:fmodl@GLIBCXX_3.4.3
++FUNC:frexpl@GLIBCXX_3.4.3
++FUNC:hypotl@GLIBCXX_3.4
++FUNC:ldexpl@GLIBCXX_3.4.3
++FUNC:log10l@GLIBCXX_3.4
++FUNC:logl@GLIBCXX_3.4
++FUNC:modfl@GLIBCXX_3.4.3
++FUNC:powl@GLIBCXX_3.4
++FUNC:sinhl@GLIBCXX_3.4
++FUNC:sinl@GLIBCXX_3.4
++FUNC:sqrtl@GLIBCXX_3.4
++FUNC:tanhl@GLIBCXX_3.4
++FUNC:tanl@GLIBCXX_3.4
+ OBJECT:0:CXXABI_1.3
+ OBJECT:0:CXXABI_1.3.1
++OBJECT:0:CXXABI_1.3.2
++OBJECT:0:CXXABI_LDBL_1.3
+ OBJECT:0:GLIBCXX_3.4
+ OBJECT:0:GLIBCXX_3.4.1
++OBJECT:0:GLIBCXX_3.4.10
+ OBJECT:0:GLIBCXX_3.4.2
+ OBJECT:0:GLIBCXX_3.4.3
+ OBJECT:0:GLIBCXX_3.4.4
+ OBJECT:0:GLIBCXX_3.4.5
++OBJECT:0:GLIBCXX_3.4.6
++OBJECT:0:GLIBCXX_3.4.7
++OBJECT:0:GLIBCXX_3.4.8
++OBJECT:0:GLIBCXX_3.4.9
++OBJECT:0:GLIBCXX_LDBL_3.4
++OBJECT:0:GLIBCXX_LDBL_3.4.10
++OBJECT:0:GLIBCXX_LDBL_3.4.7
++OBJECT:1028:_ZNSt3tr18__detail12__prime_listE@@GLIBCXX_3.4.10
++OBJECT:1028:_ZNSt8__detail12__prime_listE@@GLIBCXX_3.4.10
+ OBJECT:12:_ZTIN10__cxxabiv116__enum_type_infoE@@CXXABI_1.3
+ OBJECT:12:_ZTIN10__cxxabiv117__array_type_infoE@@CXXABI_1.3
+ OBJECT:12:_ZTIN10__cxxabiv117__class_type_infoE@@CXXABI_1.3
+@@ -2206,6 +2540,14 @@
+ OBJECT:12:_ZTIN9__gnu_cxx13stdio_filebufIwSt11char_traitsIwEEE@@GLIBCXX_3.4
+ OBJECT:12:_ZTIN9__gnu_cxx18stdio_sync_filebufIcSt11char_traitsIcEEE@@GLIBCXX_3.4
+ OBJECT:12:_ZTIN9__gnu_cxx18stdio_sync_filebufIwSt11char_traitsIwEEE@@GLIBCXX_3.4
++OBJECT:12:_ZTINSt17__gnu_cxx_ldbl1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEE@@GLIBCXX_LDBL_3.4
++OBJECT:12:_ZTINSt17__gnu_cxx_ldbl1287num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEE@@GLIBCXX_LDBL_3.4
++OBJECT:12:_ZTINSt17__gnu_cxx_ldbl1287num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEE@@GLIBCXX_LDBL_3.4
++OBJECT:12:_ZTINSt17__gnu_cxx_ldbl1287num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEE@@GLIBCXX_LDBL_3.4
++OBJECT:12:_ZTINSt17__gnu_cxx_ldbl1289money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEE@@GLIBCXX_LDBL_3.4
++OBJECT:12:_ZTINSt17__gnu_cxx_ldbl1289money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEE@@GLIBCXX_LDBL_3.4
++OBJECT:12:_ZTINSt17__gnu_cxx_ldbl1289money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEE@@GLIBCXX_LDBL_3.4
++OBJECT:12:_ZTINSt17__gnu_cxx_ldbl1289money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEE@@GLIBCXX_LDBL_3.4
+ OBJECT:12:_ZTINSt8ios_base7failureE@@GLIBCXX_3.4
+ OBJECT:12:_ZTISt10bad_typeid@@GLIBCXX_3.4
+ OBJECT:12:_ZTISt10istrstream@@GLIBCXX_3.4
+@@ -2315,6 +2657,7 @@
+ OBJECT:16:_ZTIPKd@@CXXABI_1.3
+ OBJECT:16:_ZTIPKe@@CXXABI_1.3
+ OBJECT:16:_ZTIPKf@@CXXABI_1.3
++OBJECT:16:_ZTIPKg@@CXXABI_LDBL_1.3
+ OBJECT:16:_ZTIPKh@@CXXABI_1.3
+ OBJECT:16:_ZTIPKi@@CXXABI_1.3
+ OBJECT:16:_ZTIPKj@@CXXABI_1.3
+@@ -2332,6 +2675,7 @@
+ OBJECT:16:_ZTIPd@@CXXABI_1.3
+ OBJECT:16:_ZTIPe@@CXXABI_1.3
+ OBJECT:16:_ZTIPf@@CXXABI_1.3
++OBJECT:16:_ZTIPg@@CXXABI_LDBL_1.3
+ OBJECT:16:_ZTIPh@@CXXABI_1.3
+ OBJECT:16:_ZTIPi@@CXXABI_1.3
+ OBJECT:16:_ZTIPj@@CXXABI_1.3
+@@ -2456,6 +2800,19 @@
+ OBJECT:1:_ZNSt14numeric_limitsIfE9is_iec559E@@GLIBCXX_3.4
+ OBJECT:1:_ZNSt14numeric_limitsIfE9is_moduloE@@GLIBCXX_3.4
+ OBJECT:1:_ZNSt14numeric_limitsIfE9is_signedE@@GLIBCXX_3.4
++OBJECT:1:_ZNSt14numeric_limitsIgE10is_boundedE@@GLIBCXX_LDBL_3.4
++OBJECT:1:_ZNSt14numeric_limitsIgE10is_integerE@@GLIBCXX_LDBL_3.4
++OBJECT:1:_ZNSt14numeric_limitsIgE12has_infinityE@@GLIBCXX_LDBL_3.4
++OBJECT:1:_ZNSt14numeric_limitsIgE13has_quiet_NaNE@@GLIBCXX_LDBL_3.4
++OBJECT:1:_ZNSt14numeric_limitsIgE14is_specializedE@@GLIBCXX_LDBL_3.4
++OBJECT:1:_ZNSt14numeric_limitsIgE15has_denorm_lossE@@GLIBCXX_LDBL_3.4
++OBJECT:1:_ZNSt14numeric_limitsIgE15tinyness_beforeE@@GLIBCXX_LDBL_3.4
++OBJECT:1:_ZNSt14numeric_limitsIgE17has_signaling_NaNE@@GLIBCXX_LDBL_3.4
++OBJECT:1:_ZNSt14numeric_limitsIgE5trapsE@@GLIBCXX_LDBL_3.4
++OBJECT:1:_ZNSt14numeric_limitsIgE8is_exactE@@GLIBCXX_LDBL_3.4
++OBJECT:1:_ZNSt14numeric_limitsIgE9is_iec559E@@GLIBCXX_LDBL_3.4
++OBJECT:1:_ZNSt14numeric_limitsIgE9is_moduloE@@GLIBCXX_LDBL_3.4
++OBJECT:1:_ZNSt14numeric_limitsIgE9is_signedE@@GLIBCXX_LDBL_3.4
+ OBJECT:1:_ZNSt14numeric_limitsIhE10is_boundedE@@GLIBCXX_3.4
+ OBJECT:1:_ZNSt14numeric_limitsIhE10is_integerE@@GLIBCXX_3.4
+ OBJECT:1:_ZNSt14numeric_limitsIhE12has_infinityE@@GLIBCXX_3.4
+@@ -2650,6 +3007,10 @@
+ OBJECT:28:_ZTSSt7codecvtIwc11__mbstate_tE@@GLIBCXX_3.4
+ OBJECT:28:_ZTTSd@@GLIBCXX_3.4
+ OBJECT:28:_ZTTSt14basic_iostreamIwSt11char_traitsIwEE@@GLIBCXX_3.4
++OBJECT:28:_ZTVNSt17__gnu_cxx_ldbl1289money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEE@@GLIBCXX_LDBL_3.4
++OBJECT:28:_ZTVNSt17__gnu_cxx_ldbl1289money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEE@@GLIBCXX_LDBL_3.4
++OBJECT:28:_ZTVNSt17__gnu_cxx_ldbl1289money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEE@@GLIBCXX_LDBL_3.4
++OBJECT:28:_ZTVNSt17__gnu_cxx_ldbl1289money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEE@@GLIBCXX_LDBL_3.4
+ OBJECT:28:_ZTVSt14collate_bynameIcE@@GLIBCXX_3.4
+ OBJECT:28:_ZTVSt14collate_bynameIwE@@GLIBCXX_3.4
+ OBJECT:28:_ZTVSt15messages_bynameIcE@@GLIBCXX_3.4
+@@ -2681,6 +3042,7 @@
+ OBJECT:2:_ZTSd@@CXXABI_1.3
+ OBJECT:2:_ZTSe@@CXXABI_1.3
+ OBJECT:2:_ZTSf@@CXXABI_1.3
++OBJECT:2:_ZTSg@@CXXABI_LDBL_1.3
+ OBJECT:2:_ZTSh@@CXXABI_1.3
+ OBJECT:2:_ZTSi@@CXXABI_1.3
+ OBJECT:2:_ZTSj@@CXXABI_1.3
+@@ -2743,6 +3105,7 @@
+ OBJECT:3:_ZTSPd@@CXXABI_1.3
+ OBJECT:3:_ZTSPe@@CXXABI_1.3
+ OBJECT:3:_ZTSPf@@CXXABI_1.3
++OBJECT:3:_ZTSPg@@CXXABI_LDBL_1.3
+ OBJECT:3:_ZTSPh@@CXXABI_1.3
+ OBJECT:3:_ZTSPi@@CXXABI_1.3
+ OBJECT:3:_ZTSPj@@CXXABI_1.3
+@@ -2879,6 +3242,15 @@
+ OBJECT:4:_ZNSt14numeric_limitsIfE5radixE@@GLIBCXX_3.4
+ OBJECT:4:_ZNSt14numeric_limitsIfE6digitsE@@GLIBCXX_3.4
+ OBJECT:4:_ZNSt14numeric_limitsIfE8digits10E@@GLIBCXX_3.4
++OBJECT:4:_ZNSt14numeric_limitsIgE10has_denormE@@GLIBCXX_LDBL_3.4
++OBJECT:4:_ZNSt14numeric_limitsIgE11round_styleE@@GLIBCXX_LDBL_3.4
++OBJECT:4:_ZNSt14numeric_limitsIgE12max_exponentE@@GLIBCXX_LDBL_3.4
++OBJECT:4:_ZNSt14numeric_limitsIgE12min_exponentE@@GLIBCXX_LDBL_3.4
++OBJECT:4:_ZNSt14numeric_limitsIgE14max_exponent10E@@GLIBCXX_LDBL_3.4
++OBJECT:4:_ZNSt14numeric_limitsIgE14min_exponent10E@@GLIBCXX_LDBL_3.4
++OBJECT:4:_ZNSt14numeric_limitsIgE5radixE@@GLIBCXX_LDBL_3.4
++OBJECT:4:_ZNSt14numeric_limitsIgE6digitsE@@GLIBCXX_LDBL_3.4
++OBJECT:4:_ZNSt14numeric_limitsIgE8digits10E@@GLIBCXX_LDBL_3.4
+ OBJECT:4:_ZNSt14numeric_limitsIhE10has_denormE@@GLIBCXX_3.4
+ OBJECT:4:_ZNSt14numeric_limitsIhE11round_styleE@@GLIBCXX_3.4
+ OBJECT:4:_ZNSt14numeric_limitsIhE12max_exponentE@@GLIBCXX_3.4
+@@ -2969,6 +3341,14 @@
+ OBJECT:4:_ZNSt14numeric_limitsIyE5radixE@@GLIBCXX_3.4
+ OBJECT:4:_ZNSt14numeric_limitsIyE6digitsE@@GLIBCXX_3.4
+ OBJECT:4:_ZNSt14numeric_limitsIyE8digits10E@@GLIBCXX_3.4
++OBJECT:4:_ZNSt17__gnu_cxx_ldbl1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE2idE@@GLIBCXX_LDBL_3.4
++OBJECT:4:_ZNSt17__gnu_cxx_ldbl1287num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE2idE@@GLIBCXX_LDBL_3.4
++OBJECT:4:_ZNSt17__gnu_cxx_ldbl1287num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE2idE@@GLIBCXX_LDBL_3.4
++OBJECT:4:_ZNSt17__gnu_cxx_ldbl1287num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE2idE@@GLIBCXX_LDBL_3.4
++OBJECT:4:_ZNSt17__gnu_cxx_ldbl1289money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE2idE@@GLIBCXX_LDBL_3.4
++OBJECT:4:_ZNSt17__gnu_cxx_ldbl1289money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE2idE@@GLIBCXX_LDBL_3.4
++OBJECT:4:_ZNSt17__gnu_cxx_ldbl1289money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE2idE@@GLIBCXX_LDBL_3.4
++OBJECT:4:_ZNSt17__gnu_cxx_ldbl1289money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE2idE@@GLIBCXX_LDBL_3.4
+ OBJECT:4:_ZNSt21__numeric_limits_base10has_denormE@@GLIBCXX_3.4
+ OBJECT:4:_ZNSt21__numeric_limits_base11round_styleE@@GLIBCXX_3.4
+ OBJECT:4:_ZNSt21__numeric_limits_base12max_exponentE@@GLIBCXX_3.4
+@@ -3046,6 +3426,7 @@
+ OBJECT:4:_ZTSPKd@@CXXABI_1.3
+ OBJECT:4:_ZTSPKe@@CXXABI_1.3
+ OBJECT:4:_ZTSPKf@@CXXABI_1.3
++OBJECT:4:_ZTSPKg@@CXXABI_LDBL_1.3
+ OBJECT:4:_ZTSPKh@@CXXABI_1.3
+ OBJECT:4:_ZTSPKi@@CXXABI_1.3
+ OBJECT:4:_ZTSPKj@@CXXABI_1.3
+@@ -3061,6 +3442,8 @@
+ OBJECT:50:_ZTSSt19basic_istringstreamIwSt11char_traitsIwESaIwEE@@GLIBCXX_3.4
+ OBJECT:50:_ZTSSt19basic_ostringstreamIcSt11char_traitsIcESaIcEE@@GLIBCXX_3.4
+ OBJECT:50:_ZTSSt19basic_ostringstreamIwSt11char_traitsIwESaIwEE@@GLIBCXX_3.4
++OBJECT:52:_ZTVNSt17__gnu_cxx_ldbl1287num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEE@@GLIBCXX_LDBL_3.4
++OBJECT:52:_ZTVNSt17__gnu_cxx_ldbl1287num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEE@@GLIBCXX_LDBL_3.4
+ OBJECT:52:_ZTVSt10moneypunctIcLb0EE@@GLIBCXX_3.4
+ OBJECT:52:_ZTVSt10moneypunctIcLb1EE@@GLIBCXX_3.4
+ OBJECT:52:_ZTVSt10moneypunctIwLb0EE@@GLIBCXX_3.4
+@@ -3096,6 +3479,8 @@
+ OBJECT:60:_ZTVSt9strstream@@GLIBCXX_3.4
+ OBJECT:64:_ZTVN9__gnu_cxx18stdio_sync_filebufIcSt11char_traitsIcEEE@@GLIBCXX_3.4
+ OBJECT:64:_ZTVN9__gnu_cxx18stdio_sync_filebufIwSt11char_traitsIwEEE@@GLIBCXX_3.4
++OBJECT:64:_ZTVNSt17__gnu_cxx_ldbl1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEE@@GLIBCXX_LDBL_3.4
++OBJECT:64:_ZTVNSt17__gnu_cxx_ldbl1287num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEE@@GLIBCXX_LDBL_3.4
+ OBJECT:64:_ZTVSt12ctype_bynameIwE@@GLIBCXX_3.4
+ OBJECT:64:_ZTVSt12strstreambuf@@GLIBCXX_3.4
+ OBJECT:64:_ZTVSt13basic_filebufIcSt11char_traitsIcEE@@GLIBCXX_3.4
+@@ -3111,12 +3496,28 @@
+ OBJECT:67:_ZTSSt15time_get_bynameIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCXX_3.4
+ OBJECT:67:_ZTSSt15time_put_bynameIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCXX_3.4
+ OBJECT:67:_ZTSSt15time_put_bynameIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCXX_3.4
++OBJECT:79:_ZTSNSt17__gnu_cxx_ldbl1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEE@@GLIBCXX_LDBL_3.4
++OBJECT:79:_ZTSNSt17__gnu_cxx_ldbl1287num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEE@@GLIBCXX_LDBL_3.4
++OBJECT:79:_ZTSNSt17__gnu_cxx_ldbl1287num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEE@@GLIBCXX_LDBL_3.4
++OBJECT:79:_ZTSNSt17__gnu_cxx_ldbl1287num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEE@@GLIBCXX_LDBL_3.4
++OBJECT:81:_ZTSNSt17__gnu_cxx_ldbl1289money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEE@@GLIBCXX_LDBL_3.4
++OBJECT:81:_ZTSNSt17__gnu_cxx_ldbl1289money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEE@@GLIBCXX_LDBL_3.4
++OBJECT:81:_ZTSNSt17__gnu_cxx_ldbl1289money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEE@@GLIBCXX_LDBL_3.4
++OBJECT:81:_ZTSNSt17__gnu_cxx_ldbl1289money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEE@@GLIBCXX_LDBL_3.4
+ OBJECT:8:_ZGVNSt10moneypunctIcLb0EE2idE@@GLIBCXX_3.4
+ OBJECT:8:_ZGVNSt10moneypunctIcLb1EE2idE@@GLIBCXX_3.4
+ OBJECT:8:_ZGVNSt10moneypunctIwLb0EE2idE@@GLIBCXX_3.4
+ OBJECT:8:_ZGVNSt10moneypunctIwLb1EE2idE@@GLIBCXX_3.4
+ OBJECT:8:_ZGVNSt11__timepunctIcE2idE@@GLIBCXX_3.4
+ OBJECT:8:_ZGVNSt11__timepunctIwE2idE@@GLIBCXX_3.4
++OBJECT:8:_ZGVNSt17__gnu_cxx_ldbl1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE2idE@@GLIBCXX_LDBL_3.4
++OBJECT:8:_ZGVNSt17__gnu_cxx_ldbl1287num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE2idE@@GLIBCXX_LDBL_3.4
++OBJECT:8:_ZGVNSt17__gnu_cxx_ldbl1287num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE2idE@@GLIBCXX_LDBL_3.4
++OBJECT:8:_ZGVNSt17__gnu_cxx_ldbl1287num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE2idE@@GLIBCXX_LDBL_3.4
++OBJECT:8:_ZGVNSt17__gnu_cxx_ldbl1289money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE2idE@@GLIBCXX_LDBL_3.4
++OBJECT:8:_ZGVNSt17__gnu_cxx_ldbl1289money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE2idE@@GLIBCXX_LDBL_3.4
++OBJECT:8:_ZGVNSt17__gnu_cxx_ldbl1289money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE2idE@@GLIBCXX_LDBL_3.4
++OBJECT:8:_ZGVNSt17__gnu_cxx_ldbl1289money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE2idE@@GLIBCXX_LDBL_3.4
+ OBJECT:8:_ZGVNSt7collateIcE2idE@@GLIBCXX_3.4
+ OBJECT:8:_ZGVNSt7collateIwE2idE@@GLIBCXX_3.4
+ OBJECT:8:_ZGVNSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE2idE@@GLIBCXX_3.4
+@@ -3135,6 +3536,8 @@
+ OBJECT:8:_ZGVNSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE2idE@@GLIBCXX_3.4
+ OBJECT:8:_ZGVNSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE2idE@@GLIBCXX_3.4
+ OBJECT:8:_ZGVNSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE2idE@@GLIBCXX_3.4
++OBJECT:8:_ZTIN10__cxxabiv115__forced_unwindE@@CXXABI_1.3.2
++OBJECT:8:_ZTIN10__cxxabiv119__foreign_exceptionE@@CXXABI_1.3.2
+ OBJECT:8:_ZTINSt6locale5facetE@@GLIBCXX_3.4
+ OBJECT:8:_ZTISt10ctype_base@@GLIBCXX_3.4
+ OBJECT:8:_ZTISt10money_base@@GLIBCXX_3.4
+@@ -3152,6 +3555,7 @@
+ OBJECT:8:_ZTId@@CXXABI_1.3
+ OBJECT:8:_ZTIe@@CXXABI_1.3
+ OBJECT:8:_ZTIf@@CXXABI_1.3
++OBJECT:8:_ZTIg@@CXXABI_LDBL_1.3
+ OBJECT:8:_ZTIh@@CXXABI_1.3
+ OBJECT:8:_ZTIi@@CXXABI_1.3
+ OBJECT:8:_ZTIj@@CXXABI_1.3
+Index: libgfortran/ChangeLog
+===================================================================
+--- libgfortran/ChangeLog (.../tags/gcc_4_3_0_release) (revision 133808)
++++ libgfortran/ChangeLog (.../branches/gcc-4_3-branch) (revision 133808)
+@@ -1,3 +1,27 @@
++2008-03-28 Jerry DeLisle <jvdelisle@gcc.gnu.org>
++
++ PR libfortran/35699
++ * io/transfer.c (write_buf): Don't pad the record, just return if the
++ data is NULL. (next_record_w): If there are bytes left in the record
++ for unformatted direct I/O, pad out the record with zero bytes.
++
++2008-03-20 Jerry DeLisle <jvdelisle@gcc.gnu.org>
++
++ PR libfortran/35627
++ Backport from trunk.
++ * io/list_read.c (free_line): Clear the line buffer enable flag and
++ reset the index into line_buffer, aka item_count.
++ (next_char): Cleanup whitespace.
++ (read_logical): Use unget_char to assure that the first character of the
++ bad logical is saved in case it is part of an object name. Remove the
++ clearing of index and flag that is now in free_line.
++ (read_real): Likewise.
++
++ PR libfortran/35617
++ Backport from trunk.
++ * io/list_read.c (eat_separator): If next character after eatline is '!'
++ then eatline again.
++
+ 2008-03-05 Release Manager
+
+ * GCC 4.3.0 released.
+Index: libgfortran/io/list_read.c
+===================================================================
+--- libgfortran/io/list_read.c (.../tags/gcc_4_3_0_release) (revision 133808)
++++ libgfortran/io/list_read.c (.../branches/gcc-4_3-branch) (revision 133808)
+@@ -120,6 +120,9 @@
+ static void
+ free_line (st_parameter_dt *dtp)
+ {
++ dtp->u.p.item_count = 0;
++ dtp->u.p.line_buffer_enabled = 0;
++
+ if (dtp->u.p.line_buffer == NULL)
+ return;
+
+@@ -157,8 +160,8 @@
+ goto done;
+ }
+
+- dtp->u.p.item_count = 0;
+- dtp->u.p.line_buffer_enabled = 0;
++ dtp->u.p.item_count = 0;
++ dtp->u.p.line_buffer_enabled = 0;
+ }
+
+ /* Handle the end-of-record and end-of-file conditions for
+@@ -356,6 +359,11 @@
+ {
+ eat_line (dtp);
+ c = next_char (dtp);
++ if (c == '!')
++ {
++ eat_line (dtp);
++ c = next_char (dtp);
++ }
+ }
+ }
+ while (c == '\n' || c == '\r' || c == ' ');
+@@ -680,6 +688,9 @@
+ return; /* Null value. */
+
+ default:
++ /* Save the character in case it is the beginning
++ of the next object name. */
++ unget_char (dtp, c);
+ goto bad_logical;
+ }
+
+@@ -695,8 +706,6 @@
+
+ unget_char (dtp, c);
+ eat_separator (dtp);
+- dtp->u.p.item_count = 0;
+- dtp->u.p.line_buffer_enabled = 0;
+ set_integer ((int *) dtp->u.p.value, v, length);
+ free_line (dtp);
+
+@@ -750,8 +759,6 @@
+
+ logical_done:
+
+- dtp->u.p.item_count = 0;
+- dtp->u.p.line_buffer_enabled = 0;
+ dtp->u.p.saved_type = BT_LOGICAL;
+ dtp->u.p.saved_length = length;
+ set_integer ((int *) dtp->u.p.value, v, length);
+@@ -1635,8 +1642,6 @@
+ push_char (dtp, 'n');
+ }
+
+- dtp->u.p.item_count = 0;
+- dtp->u.p.line_buffer_enabled = 0;
+ free_line (dtp);
+ goto done;
+
+Index: libgfortran/io/transfer.c
+===================================================================
+--- libgfortran/io/transfer.c (.../tags/gcc_4_3_0_release) (revision 133808)
++++ libgfortran/io/transfer.c (.../branches/gcc-4_3-branch) (revision 133808)
+@@ -639,12 +639,7 @@
+ }
+
+ if (buf == NULL && nbytes == 0)
+- {
+- char *p;
+- p = write_block (dtp, dtp->u.p.current_unit->recl);
+- memset (p, 0, dtp->u.p.current_unit->recl);
+- return SUCCESS;
+- }
++ return SUCCESS;
+
+ if (swrite (dtp->u.p.current_unit->s, buf, &nbytes) != 0)
+ {
+@@ -2486,6 +2481,13 @@
+ break;
+
+ case UNFORMATTED_DIRECT:
++ if (dtp->u.p.current_unit->bytes_left > 0)
++ {
++ length = (int) dtp->u.p.current_unit->bytes_left;
++ p = salloc_w (dtp->u.p.current_unit->s, &length);
++ memset (p, 0, length);
++ }
++
+ if (sfree (dtp->u.p.current_unit->s) == FAILURE)
+ goto io_error;
+ break;
+Index: contrib/ChangeLog
+===================================================================
+--- contrib/ChangeLog (.../tags/gcc_4_3_0_release) (revision 133808)
++++ contrib/ChangeLog (.../branches/gcc-4_3-branch) (revision 133808)
+@@ -1,3 +1,9 @@
++2008-04-01 Joseph Myers <joseph@codesourcery.com>
++
++ * texi2pod.pl: Handle @samp and @url inside verbatim blocks.
++ Handle @heading. Handle enumerated lists with starting numbers
++ and extra headings.
++
+ 2008-03-05 Release Manager
+
+ * GCC 4.3.0 released.
+Index: contrib/texi2pod.pl
+===================================================================
+--- contrib/texi2pod.pl (.../tags/gcc_4_3_0_release) (revision 133808)
++++ contrib/texi2pod.pl (.../branches/gcc-4_3-branch) (revision 133808)
+@@ -218,9 +218,11 @@
+ s/\@\}/&rbrace;/g;
+ s/\@\@/&at;/g;
+
+- # Inside a verbatim block, handle @var specially.
++ # Inside a verbatim block, handle @var, @samp and @url specially.
+ if ($shift ne "") {
+ s/\@var\{([^\}]*)\}/<$1>/g;
++ s/\@samp\{([^\}]*)\}/"$1"/g;
++ s/\@url\{([^\}]*)\}/<$1>/g;
+ }
+
+ # POD doesn't interpret E<> inside a verbatim block.
+@@ -250,7 +252,7 @@
+ next;
+ };
+
+- /^\@(?:section|unnumbered|unnumberedsec|center)\s+(.+)$/
++ /^\@(?:section|unnumbered|unnumberedsec|center|heading)\s+(.+)$/
+ and $_ = "\n=head2 $1\n";
+ /^\@subsection\s+(.+)$/
+ and $_ = "\n=head3 $1\n";
+@@ -321,8 +323,14 @@
+ /^\@itemx?\s*(.+)?$/ and do {
+ if (defined $1) {
+ if ($ic) {
+- # Entity escapes prevent munging by the <> processing below.
+- $_ = "\n=item $ic\&LT;$1\&GT;\n";
++ if ($endw eq "enumerate") {
++ $_ = "\n=item $ic $1\n";
++ $ic =~ s/(\d+)/$1 + 1/eg;
++ } else {
++ # Entity escapes prevent munging by the <>
++ # processing below.
++ $_ = "\n=item $ic\&LT;$1\&GT;\n";
++ }
+ } else {
+ $_ = "\n=item $1\n";
+ }
+Index: libjava/ChangeLog
+===================================================================
+--- libjava/ChangeLog (.../tags/gcc_4_3_0_release) (revision 133808)
++++ libjava/ChangeLog (.../branches/gcc-4_3-branch) (revision 133808)
+@@ -1,3 +1,8 @@
++2008-03-13 Andrew Haley <aph@redhat.com>
++
++ * link.cc (_Jv_Linker::resolve_method_entry): Remove broken class
++ loader test.
++
+ 2008-03-05 Release Manager
+
+ * GCC 4.3.0 released.
+Index: libjava/link.cc
+===================================================================
+--- libjava/link.cc (.../tags/gcc_4_3_0_release) (revision 133808)
++++ libjava/link.cc (.../branches/gcc-4_3-branch) (revision 133808)
+@@ -359,40 +359,6 @@
+ throw new java::lang::NoSuchMethodError (sb->toString());
+ }
+
+- // if (found_class->loader != klass->loader), then we
+- // must actually check that the types of arguments
+- // correspond. That is, for each argument type, and
+- // the return type, doing _Jv_FindClassFromSignature
+- // with either loader should produce the same result,
+- // i.e., exactly the same jclass object. JVMS 5.4.3.3
+- if (found_class->loader != klass->loader)
+- {
+- JArray<jclass> *found_args, *klass_args;
+- jclass found_return, klass_return;
+-
+- _Jv_GetTypesFromSignature (the_method,
+- found_class,
+- &found_args,
+- &found_return);
+- _Jv_GetTypesFromSignature (the_method,
+- klass,
+- &klass_args,
+- &klass_return);
+-
+- jclass *found_arg = elements (found_args);
+- jclass *klass_arg = elements (klass_args);
+-
+- for (int i = 0; i < found_args->length; i++)
+- {
+- if (*(found_arg++) != *(klass_arg++))
+- throw new java::lang::LinkageError (JvNewStringLatin1
+- ("argument type mismatch with different loaders"));
+- }
+- if (found_return != klass_return)
+- throw new java::lang::LinkageError (JvNewStringLatin1
+- ("return type mismatch with different loaders"));
+- }
+-
+ return the_method;
+ }
+
+Index: libcpp/po/rw.po
+===================================================================
+--- libcpp/po/rw.po (.../tags/gcc_4_3_0_release) (revision 133808)
++++ libcpp/po/rw.po (.../branches/gcc-4_3-branch) (revision 133808)
+@@ -1,18054 +0,0 @@
+-# Kinyarwanda translations for cpplib package.
+-# Copyright (C) 2005 Free Software Foundation, Inc.
+-# This file is distributed under the same license as the cpplib package.
+-# Steve Murphy <murf@e-tools.com>, 2005.
+-# Steve performed initial rough translation from compendium built from translations provided by the following translators:
+-# Philibert Ndandali <ndandali@yahoo.fr>, 2005.
+-# Viateur MUGENZI <muvia1@yahoo.fr>, 2005.
+-# Noëlla Mupole <s24211045@tuks.co.za>, 2005.
+-# Carole Karema <karemacarole@hotmail.com>, 2005.
+-# JEAN BAPTISTE NGENDAHAYO <ngenda_denis@yahoo.co.uk>, 2005.
+-# Augustin KIBERWA <akiberwa@yahoo.co.uk>, 2005.
+-# Donatien NSENGIYUMVA <ndonatienuk@yahoo.co.uk>, 2005.
+-# Antoine Bigirimana <antoine@e-tools.com>, 2005.
+-#
+-msgid ""
+-msgstr ""
+-"Project-Id-Version: cpplib 3.3\n"
+-"Report-Msgid-Bugs-To: http://gcc.gnu.org/bugs.html\n"
+-"POT-Creation-Date: 2007-05-13 19:48-0700\n"
+-"PO-Revision-Date: 2005-04-04 10:55-0700\n"
+-"Last-Translator: Steven Michael Murphy <murf@e-tools.com>\n"
+-"Language-Team: Kinyarwanda <translation-team-rw@lists.sourceforge.net>\n"
+-"MIME-Version: 1.0\n"
+-"Content-Type: text/plain; charset=UTF-8\n"
+-"Content-Transfer-Encoding: 8bit\n"
+-
+-#: charset.c:654
+-#, fuzzy, c-format
+-msgid "conversion from %s to %s not supported by iconv"
+-msgstr "Ihindurangero Bivuye Kuri ni"
+-
+-#: charset.c:657
+-msgid "iconv_open"
+-msgstr ""
+-
+-#: charset.c:665
+-#, c-format
+-msgid "no iconv implementation, cannot convert from %s to %s"
+-msgstr ""
+-
+-#: charset.c:742
+-#, c-format
+-msgid "character 0x%lx is not in the basic source character set\n"
+-msgstr ""
+-
+-#: charset.c:759 charset.c:1352
+-msgid "converting to execution character set"
+-msgstr ""
+-
+-#: charset.c:765
+-#, c-format
+-msgid "character 0x%lx is not unibyte in execution character set"
+-msgstr ""
+-
+-#: charset.c:889
+-#, c-format
+-msgid "Character %x might not be NFKC"
+-msgstr ""
+-
+-#: charset.c:949
+-#, fuzzy
+-msgid "universal character names are only valid in C++ and C99"
+-msgstr "Ky'isi yose Inyuguti Izina: OYA Byemewe in Ikiranga"
+-
+-#: charset.c:952
+-#, fuzzy, c-format
+-msgid "the meaning of '\\%c' is different in traditional C"
+-msgstr "i Igisobanuro Bya ni in C"
+-
+-#: charset.c:961
+-msgid "In _cpp_valid_ucn but not a UCN"
+-msgstr ""
+-
+-#: charset.c:986
+-#, fuzzy, c-format
+-msgid "incomplete universal character name %.*s"
+-msgstr "Ky'isi yose Inyuguti Izina:"
+-
+-#: charset.c:998
+-#, fuzzy, c-format
+-msgid "%.*s is not a valid universal character"
+-msgstr "`%T::%D'ni OYA a Byemewe"
+-
+-#: charset.c:1008 lex.c:472
+-#, fuzzy
+-msgid "'$' in identifier or number"
+-msgstr "'$'Inyuguti S in Ikiranga Cyangwa Umubare"
+-
+-#: charset.c:1018
+-#, fuzzy, c-format
+-msgid "universal character %.*s is not valid in an identifier"
+-msgstr "Ky'isi yose Inyuguti Izina: OYA Byemewe in Ikiranga"
+-
+-#: charset.c:1022
+-#, fuzzy, c-format
+-msgid "universal character %.*s is not valid at the start of an identifier"
+-msgstr "Ky'isi yose Inyuguti Izina: OYA Byemewe in Ikiranga"
+-
+-#: charset.c:1056 charset.c:1571
+-#, fuzzy
+-msgid "converting UCN to source character set"
+-msgstr "Guhindura.... Kuri Mweretsi Ubwoko"
+-
+-#: charset.c:1060
+-#, fuzzy
+-msgid "converting UCN to execution character set"
+-msgstr "Guhindura.... Kuri Mweretsi Ubwoko"
+-
+-#: charset.c:1132
+-#, fuzzy
+-msgid "the meaning of '\\x' is different in traditional C"
+-msgstr "i Igisobanuro Bya ni in C"
+-
+-#: charset.c:1149
+-#, fuzzy
+-msgid "\\x used with no following hex digits"
+-msgstr "\\xNa: Oya"
+-
+-#: charset.c:1156
+-#, fuzzy
+-msgid "hex escape sequence out of range"
+-msgstr "Inyuma Bya Urutonde"
+-
+-#: charset.c:1195
+-#, fuzzy
+-msgid "octal escape sequence out of range"
+-msgstr "Inyuma Bya Urutonde"
+-
+-#: charset.c:1263
+-#, fuzzy
+-msgid "the meaning of '\\a' is different in traditional C"
+-msgstr "i Igisobanuro Bya ni in C"
+-
+-#: charset.c:1270
+-#, fuzzy, c-format
+-msgid "non-ISO-standard escape sequence, '\\%c'"
+-msgstr "Bisanzwe"
+-
+-#: charset.c:1278
+-#, fuzzy, c-format
+-msgid "unknown escape sequence '\\%c'"
+-msgstr "Kitazwi"
+-
+-#: charset.c:1286
+-#, fuzzy, c-format
+-msgid "unknown escape sequence: '\\%s'"
+-msgstr "Kitazwi"
+-
+-#: charset.c:1293
+-#, fuzzy
+-msgid "converting escape sequence to execution character set"
+-msgstr "Inyuma Bya Urutonde"
+-
+-#: charset.c:1415 charset.c:1478
+-#, fuzzy
+-msgid "character constant too long for its type"
+-msgstr "Inyuguti kugirango Ubwoko"
+-
+-#: charset.c:1418
+-#, fuzzy
+-msgid "multi-character character constant"
+-msgstr "Inyuguti Inyuguti"
+-
+-#: charset.c:1510
+-#, fuzzy
+-msgid "empty character constant"
+-msgstr "ubusa Inyuguti"
+-
+-#: charset.c:1612
+-#, fuzzy, c-format
+-msgid "failure to convert %s to %s"
+-msgstr "OYA GUHINDURA Kuri"
+-
+-#: directives.c:214 directives.c:240
+-#, fuzzy, c-format
+-msgid "extra tokens at end of #%s directive"
+-msgstr "Birenga ku Impera Bya"
+-
+-#: directives.c:343
+-#, fuzzy, c-format
+-msgid "#%s is a GCC extension"
+-msgstr "#%sni a Umugereka"
+-
+-#: directives.c:355
+-#, fuzzy
+-msgid "suggest not using #elif in traditional C"
+-msgstr "OYA ikoresha in C"
+-
+-#: directives.c:358
+-#, fuzzy, c-format
+-msgid "traditional C ignores #%s with the # indented"
+-msgstr "C Na: i hariho marije"
+-
+-#: directives.c:362
+-#, fuzzy, c-format
+-msgid "suggest hiding #%s from traditional C with an indented #"
+-msgstr "Bivuye C Na: hariho marije"
+-
+-#: directives.c:388
+-#, fuzzy
+-msgid "embedding a directive within macro arguments is not portable"
+-msgstr "a muri Makoro ingingo ni OYA"
+-
+-#: directives.c:408
+-#, fuzzy
+-msgid "style of line directive is a GCC extension"
+-msgstr "IMISUSIRE Bya Umurongo ni a Umugereka"
+-
+-#: directives.c:458
+-#, fuzzy, c-format
+-msgid "invalid preprocessing directive #%s"
+-msgstr "Sibyo"
+-
+-#: directives.c:524
+-#, fuzzy
+-msgid "\"defined\" cannot be used as a macro name"
+-msgstr "\"Nka a Makoro Izina:"
+-
+-#: directives.c:530
+-#, fuzzy, c-format
+-msgid "\"%s\" cannot be used as a macro name as it is an operator in C++"
+-msgstr "\"%s\"Nka a Makoro Izina: Nka ni Mukoresha in C"
+-
+-#: directives.c:533
+-#, fuzzy, c-format
+-msgid "no macro name given in #%s directive"
+-msgstr "Oya Makoro Izina: in"
+-
+-#: directives.c:536
+-#, fuzzy
+-msgid "macro names must be identifiers"
+-msgstr "Makoro Amazina"
+-
+-#: directives.c:577
+-#, c-format
+-msgid "undefining \"%s\""
+-msgstr ""
+-
+-#: directives.c:632
+-#, fuzzy
+-msgid "missing terminating > character"
+-msgstr "Ibuze Inyuguti"
+-
+-#: directives.c:687
+-#, fuzzy, c-format
+-msgid "#%s expects \"FILENAME\" or <FILENAME>"
+-msgstr "#%sCyangwa"
+-
+-#: directives.c:727
+-#, fuzzy, c-format
+-msgid "empty filename in #%s"
+-msgstr "ubusa IDOSIYE Izina: in"
+-
+-#: directives.c:737
+-#, fuzzy
+-msgid "#include nested too deeply"
+-msgstr "#Gushyiramo"
+-
+-#: directives.c:778
+-#, fuzzy
+-msgid "#include_next in primary source file"
+-msgstr "#in Inkomoko IDOSIYE"
+-
+-#: directives.c:804
+-#, fuzzy, c-format
+-msgid "invalid flag \"%s\" in line directive"
+-msgstr "Sibyo Ibendera in Umurongo"
+-
+-#: directives.c:856
+-#, fuzzy, c-format
+-msgid "\"%s\" after #line is not a positive integer"
+-msgstr "\"%s\"Nyuma Umurongo ni OYA a Umubare wuzuye"
+-
+-#: directives.c:862
+-#, fuzzy
+-msgid "line number out of range"
+-msgstr "Umurongo Umubare Inyuma Bya Urutonde"
+-
+-#: directives.c:875 directives.c:952
+-#, fuzzy, c-format
+-msgid "\"%s\" is not a valid filename"
+-msgstr "\"%s\"ni OYA a Byemewe Izina ry'idosiye:"
+-
+-#: directives.c:912
+-#, fuzzy, c-format
+-msgid "\"%s\" after # is not a positive integer"
+-msgstr "\"%s\"Nyuma ni OYA a Umubare wuzuye"
+-
+-#: directives.c:1014
+-#, fuzzy, c-format
+-msgid "invalid #%s directive"
+-msgstr "Sibyo"
+-
+-#: directives.c:1077
+-#, c-format
+-msgid "registering pragmas in namespace \"%s\" with mismatched name expansion"
+-msgstr ""
+-
+-#: directives.c:1086
+-#, fuzzy, c-format
+-msgid "registering pragma \"%s\" with name expansion and no namespace"
+-msgstr "Nka Byombi a Na a"
+-
+-#: directives.c:1104
+-#, fuzzy, c-format
+-msgid "registering \"%s\" as both a pragma and a pragma namespace"
+-msgstr "Nka Byombi a Na a"
+-
+-#: directives.c:1107
+-#, fuzzy, c-format
+-msgid "#pragma %s %s is already registered"
+-msgstr "#ni"
+-
+-#: directives.c:1110
+-#, fuzzy, c-format
+-msgid "#pragma %s is already registered"
+-msgstr "#ni"
+-
+-#: directives.c:1140
+-msgid "registering pragma with NULL handler"
+-msgstr ""
+-
+-#: directives.c:1350
+-#, fuzzy
+-msgid "#pragma once in main file"
+-msgstr "#Rimwe in IDOSIYE"
+-
+-#: directives.c:1373
+-#, fuzzy
+-msgid "invalid #pragma GCC poison directive"
+-msgstr "Sibyo"
+-
+-#: directives.c:1382
+-#, fuzzy, c-format
+-msgid "poisoning existing macro \"%s\""
+-msgstr "Makoro"
+-
+-#: directives.c:1403
+-#, fuzzy
+-msgid "#pragma system_header ignored outside include file"
+-msgstr "#Hanze Gushyiramo IDOSIYE"
+-
+-#: directives.c:1427
+-#, fuzzy, c-format
+-msgid "cannot find source file %s"
+-msgstr "Gushaka Inkomoko"
+-
+-#: directives.c:1431
+-#, fuzzy, c-format
+-msgid "current file is older than %s"
+-msgstr "KIGEZWEHO IDOSIYE ni"
+-
+-#: directives.c:1599
+-#, fuzzy
+-msgid "_Pragma takes a parenthesized string literal"
+-msgstr "a Ikurikiranyanyuguti"
+-
+-#: directives.c:1671
+-#, fuzzy
+-msgid "#else without #if"
+-msgstr "#Ikindi NIBA"
+-
+-#: directives.c:1676
+-#, fuzzy
+-msgid "#else after #else"
+-msgstr "#Ikindi Nyuma Ikindi"
+-
+-#: directives.c:1678 directives.c:1711
+-#, fuzzy
+-msgid "the conditional began here"
+-msgstr "i"
+-
+-#: directives.c:1704
+-#, fuzzy
+-msgid "#elif without #if"
+-msgstr "#NIBA"
+-
+-#: directives.c:1709
+-#, fuzzy
+-msgid "#elif after #else"
+-msgstr "#Nyuma Ikindi"
+-
+-#: directives.c:1739
+-#, fuzzy
+-msgid "#endif without #if"
+-msgstr "#NIBA"
+-
+-#: directives.c:1816
+-#, fuzzy
+-msgid "missing '(' after predicate"
+-msgstr "Ibuze Nyuma"
+-
+-#: directives.c:1831
+-#, fuzzy
+-msgid "missing ')' to complete answer"
+-msgstr "Ibuze Kuri Byuzuye"
+-
+-#: directives.c:1851
+-#, fuzzy
+-msgid "predicate's answer is empty"
+-msgstr "ni ubusa"
+-
+-#: directives.c:1878
+-msgid "assertion without predicate"
+-msgstr ""
+-
+-#: directives.c:1880
+-#, fuzzy
+-msgid "predicate must be an identifier"
+-msgstr "Ikiranga"
+-
+-#: directives.c:1966
+-#, c-format
+-msgid "\"%s\" re-asserted"
+-msgstr ""
+-
+-#: directives.c:2190
+-#, c-format
+-msgid "unterminated #%s"
+-msgstr ""
+-
+-#: errors.c:118
+-#, fuzzy
+-msgid "warning: "
+-msgstr "Iburira!"
+-
+-#: errors.c:120
+-#, fuzzy
+-msgid "internal error: "
+-msgstr "Ikosa ry'imbere"
+-
+-#: errors.c:122
+-#, fuzzy
+-msgid "error: "
+-msgstr "Ikosa ry'imbere"
+-
+-#: errors.c:186
+-msgid "stdout"
+-msgstr ""
+-
+-# desktop/source\app\ssodlg.src:DLG_SSOLOGIN.text
+-#: errors.c:188
+-#, fuzzy, c-format
+-msgid "%s: %s"
+-msgstr "%s:%s"
+-
+-#: expr.c:203
+-#, fuzzy
+-msgid "too many decimal points in number"
+-msgstr "NYACUMI Utudomo in Umubare"
+-
+-#: expr.c:223
+-#, fuzzy, c-format
+-msgid "invalid digit \"%c\" in octal constant"
+-msgstr "Sibyo in"
+-
+-#: expr.c:229
+-#, fuzzy
+-msgid "use of C99 hexadecimal floating constant"
+-msgstr "Gukoresha Bya Bihindagurika"
+-
+-#: expr.c:238
+-#, fuzzy
+-msgid "exponent has no digits"
+-msgstr "Oya"
+-
+-#: expr.c:245
+-#, fuzzy
+-msgid "hexadecimal floating constants require an exponent"
+-msgstr "Bihindagurika"
+-
+-#: expr.c:251
+-#, fuzzy, c-format
+-msgid "invalid suffix \"%.*s\" on floating constant"
+-msgstr "Sibyo Ingereka S ku Bihindagurika"
+-
+-#: expr.c:261 expr.c:295
+-#, fuzzy, c-format
+-msgid "traditional C rejects the \"%.*s\" suffix"
+-msgstr "C i S Ingereka"
+-
+-#: expr.c:268
+-#, fuzzy, c-format
+-msgid "invalid suffix \"%.*s\" with hexadecimal floating constant"
+-msgstr "Sibyo Ingereka S ku Bihindagurika"
+-
+-#: expr.c:281
+-#, fuzzy, c-format
+-msgid "invalid suffix \"%.*s\" on integer constant"
+-msgstr "Sibyo Ingereka S ku Umubare wuzuye"
+-
+-#: expr.c:303
+-#, fuzzy
+-msgid "use of C99 long long integer constant"
+-msgstr "Gukoresha Bya Umubare wuzuye"
+-
+-#: expr.c:310
+-#, fuzzy
+-msgid "imaginary constants are a GCC extension"
+-msgstr "NYURABWENGE a Umugereka"
+-
+-#: expr.c:396
+-#, fuzzy
+-msgid "integer constant is too large for its type"
+-msgstr "Umubare wuzuye ni Binini kugirango Ubwoko"
+-
+-#: expr.c:408
+-#, fuzzy
+-msgid "integer constant is so large that it is unsigned"
+-msgstr "Umubare wuzuye ni Binini ni Bitashizweho umukono"
+-
+-#: expr.c:490
+-#, fuzzy
+-msgid "missing ')' after \"defined\""
+-msgstr "Ibuze Nyuma"
+-
+-#: expr.c:497
+-#, fuzzy
+-msgid "operator \"defined\" requires an identifier"
+-msgstr "Mukoresha Ikiranga"
+-
+-#: expr.c:505
+-#, fuzzy, c-format
+-msgid "(\"%s\" is an alternative token for \"%s\" in C++)"
+-msgstr "(\"%s\"ni kugirango in C"
+-
+-#: expr.c:515
+-#, fuzzy
+-msgid "this use of \"defined\" may not be portable"
+-msgstr "iyi Gukoresha Bya Gicurasi OYA"
+-
+-#: expr.c:554
+-#, fuzzy
+-msgid "floating constant in preprocessor expression"
+-msgstr "Bihindagurika in imvugo"
+-
+-#: expr.c:560
+-#, fuzzy
+-msgid "imaginary number in preprocessor expression"
+-msgstr "NYURABWENGE Umubare in imvugo"
+-
+-#: expr.c:605
+-#, fuzzy, c-format
+-msgid "\"%s\" is not defined"
+-msgstr "\"%s\"ni OYA"
+-
+-#: expr.c:733 expr.c:762
+-#, fuzzy, c-format
+-msgid "missing binary operator before token \"%s\""
+-msgstr "Ibuze Nyabibiri Mukoresha Mbere"
+-
+-#: expr.c:753
+-#, fuzzy, c-format
+-msgid "token \"%s\" is not valid in preprocessor expressions"
+-msgstr "ni OYA Byemewe in"
+-
+-#: expr.c:770
+-#, fuzzy
+-msgid "missing expression between '(' and ')'"
+-msgstr "imvugo hagati Na"
+-
+-#: expr.c:773
+-#, fuzzy
+-msgid "#if with no expression"
+-msgstr "#NIBA Na: Oya imvugo"
+-
+-#: expr.c:776
+-#, fuzzy, c-format
+-msgid "operator '%s' has no right operand"
+-msgstr "Mukoresha Oya Iburyo:"
+-
+-#: expr.c:781
+-#, fuzzy, c-format
+-msgid "operator '%s' has no left operand"
+-msgstr "Mukoresha Oya Iburyo:"
+-
+-#: expr.c:807
+-msgid " ':' without preceding '?'"
+-msgstr ""
+-
+-#: expr.c:834
+-#, fuzzy
+-msgid "unbalanced stack in #if"
+-msgstr "in NIBA"
+-
+-#: expr.c:853
+-#, fuzzy, c-format
+-msgid "impossible operator '%u'"
+-msgstr "Mukoresha"
+-
+-#: expr.c:943
+-#, fuzzy
+-msgid "missing ')' in expression"
+-msgstr "Ibuze in imvugo"
+-
+-#: expr.c:964
+-#, fuzzy
+-msgid "'?' without following ':'"
+-msgstr ""
+-"''Project- Id- Version: basctl\n"
+-"POT- Creation- Date: 2003- 12- 07 17: 13+ 02\n"
+-"PO- Revision- Date: 2004- 11- 04 10: 13- 0700\n"
+-"Last- Translator: Language- Team:< en@ li. org> MIME- Version: 1. 0\n"
+-"Content- Type: text/ plain; charset= UTF- 8\n"
+-"Content- Transfer- Encoding: 8bit\n"
+-"X- Generator: KBabel 1. 0\n"
+-"."
+-
+-#: expr.c:974
+-#, fuzzy
+-msgid "integer overflow in preprocessor expression"
+-msgstr "Umubare wuzuye Byarenze urugero in imvugo"
+-
+-#: expr.c:979
+-#, fuzzy
+-msgid "missing '(' in expression"
+-msgstr "Ibuze in imvugo"
+-
+-#: expr.c:1011
+-#, fuzzy, c-format
+-msgid "the left operand of \"%s\" changes sign when promoted"
+-msgstr "i Ibumoso: Bya Amahinduka IKIMENYETSO Ryari:"
+-
+-#: expr.c:1016
+-#, fuzzy, c-format
+-msgid "the right operand of \"%s\" changes sign when promoted"
+-msgstr "i Iburyo: Bya Amahinduka IKIMENYETSO Ryari:"
+-
+-#: expr.c:1275
+-#, fuzzy
+-msgid "traditional C rejects the unary plus operator"
+-msgstr "C i Guteranya Mukoresha"
+-
+-#: expr.c:1358
+-#, fuzzy
+-msgid "comma operator in operand of #if"
+-msgstr "Akitso Mukoresha in Bya NIBA"
+-
+-#: expr.c:1490
+-#, fuzzy
+-msgid "division by zero in #if"
+-msgstr "ku Zeru in NIBA"
+-
+-#: files.c:402
+-msgid "NULL directory in find_file"
+-msgstr ""
+-
+-#: files.c:440
+-msgid "one or more PCH files were found, but they were invalid"
+-msgstr ""
+-
+-#: files.c:443
+-msgid "use -Winvalid-pch for more information"
+-msgstr ""
+-
+-#: files.c:501
+-#, fuzzy, c-format
+-msgid "%s is a block device"
+-msgstr "%sni a Funga APAREYE"
+-
+-#: files.c:518
+-#, fuzzy, c-format
+-msgid "%s is too large"
+-msgstr "%sni Binini"
+-
+-#: files.c:553
+-#, fuzzy, c-format
+-msgid "%s is shorter than expected"
+-msgstr "%sni Ikitezwe:"
+-
+-#: files.c:782
+-#, fuzzy, c-format
+-msgid "no include path in which to search for %s"
+-msgstr "Oya Gushyiramo Inzira in Kuri Gushaka"
+-
+-#: files.c:1071
+-#, fuzzy
+-msgid "Multiple include guards may be useful for:\n"
+-msgstr "Gushyiramo Gicurasi kugirango"
+-
+-#: init.c:407
+-#, fuzzy
+-msgid "cppchar_t must be an unsigned type"
+-msgstr "Bitashizweho umukono Ubwoko"
+-
+-#: init.c:411
+-#, fuzzy, c-format
+-msgid "preprocessor arithmetic has maximum precision of %lu bits; target requires %lu bits"
+-msgstr "Kinini Bya Intego"
+-
+-#: init.c:418
+-#, fuzzy
+-msgid "CPP arithmetic must be at least as precise as a target int"
+-msgstr "ku Nka Nka a Intego INT"
+-
+-#: init.c:421
+-#, fuzzy
+-msgid "target char is less than 8 bits wide"
+-msgstr "Intego INYUGUTI ni Birutwa 8"
+-
+-#: init.c:425
+-#, fuzzy
+-msgid "target wchar_t is narrower than target char"
+-msgstr "Intego ni Intego INYUGUTI"
+-
+-#: init.c:429
+-#, fuzzy
+-msgid "target int is narrower than target char"
+-msgstr "Intego INT ni Intego INYUGUTI"
+-
+-#: init.c:434
+-#, fuzzy
+-msgid "CPP half-integer narrower than CPP character"
+-msgstr "Umubare wuzuye Inyuguti"
+-
+-#: init.c:438
+-#, fuzzy, c-format
+-msgid "CPP on this host cannot handle wide character constants over %lu bits, but the target requires %lu bits"
+-msgstr "ku iyi Ubuturo Inyuguti KURI i Intego"
+-
+-#: lex.c:271
+-#, fuzzy
+-msgid "backslash and newline separated by space"
+-msgstr "Na ku Umwanya"
+-
+-#: lex.c:276
+-#, fuzzy
+-msgid "backslash-newline at end of file"
+-msgstr "ku Impera Bya IDOSIYE"
+-
+-#: lex.c:291
+-#, fuzzy, c-format
+-msgid "trigraph ??%c converted to %c"
+-msgstr ""
+-"Project- Id- Version: basctl\n"
+-"POT- Creation- Date: 2003- 12- 07 17: 13+ 02\n"
+-"PO- Revision- Date: 2004- 11- 04 10: 13- 0700\n"
+-"Last- Translator: Language- Team:< en@ li. org> MIME- Version: 1. 0\n"
+-"Content- Type: text/ plain; charset= UTF- 8\n"
+-"Content- Transfer- Encoding: 8bit\n"
+-"X- Generator: KBabel 1. 0\n"
+-"."
+-
+-#: lex.c:298
+-#, fuzzy, c-format
+-msgid "trigraph ??%c ignored, use -trigraphs to enable"
+-msgstr ""
+-"Project- Id- Version: basctl\n"
+-"POT- Creation- Date: 2003- 12- 07 17: 13+ 02\n"
+-"PO- Revision- Date: 2004- 11- 04 10: 13- 0700\n"
+-"Last- Translator: Language- Team:< en@ li. org> MIME- Version: 1. 0\n"
+-"Content- Type: text/ plain; charset= UTF- 8\n"
+-"Content- Transfer- Encoding: 8bit\n"
+-"X- Generator: KBabel 1. 0\n"
+-"."
+-
+-#: lex.c:344
+-#, fuzzy
+-msgid "\"/*\" within comment"
+-msgstr "\"/*\"muri Icyo wongeraho"
+-
+-#: lex.c:402
+-#, fuzzy, c-format
+-msgid "%s in preprocessing directive"
+-msgstr "%sin"
+-
+-#: lex.c:411
+-#, fuzzy
+-msgid "null character(s) ignored"
+-msgstr "NTAGIHARI Inyuguti S"
+-
+-#: lex.c:448
+-#, fuzzy, c-format
+-msgid "`%.*s' is not in NFKC"
+-msgstr "\"%s\"ni OYA"
+-
+-#: lex.c:451
+-#, fuzzy, c-format
+-msgid "`%.*s' is not in NFC"
+-msgstr "\"%s\"ni OYA"
+-
+-#: lex.c:539
+-#, fuzzy, c-format
+-msgid "attempt to use poisoned \"%s\""
+-msgstr "Kuri Gukoresha"
+-
+-#: lex.c:547
+-#, fuzzy
+-msgid "__VA_ARGS__ can only appear in the expansion of a C99 variadic macro"
+-msgstr "_Kugaragara in i Bya a Makoro"
+-
+-#: lex.c:647
+-#, fuzzy
+-msgid "null character(s) preserved in literal"
+-msgstr "NTAGIHARI Inyuguti S in"
+-
+-#: lex.c:650
+-#, fuzzy, c-format
+-msgid "missing terminating %c character"
+-msgstr "Ibuze Inyuguti"
+-
+-#: lex.c:842
+-#, fuzzy
+-msgid "no newline at end of file"
+-msgstr "Oya ku Impera Bya IDOSIYE"
+-
+-#: lex.c:1002 traditional.c:162
+-#, fuzzy
+-msgid "unterminated comment"
+-msgstr "Icyo wongeraho"
+-
+-#: lex.c:1013
+-#, fuzzy
+-msgid "C++ style comments are not allowed in ISO C90"
+-msgstr "C IMISUSIRE Ibisobanuro OYA in"
+-
+-#: lex.c:1015
+-#, fuzzy
+-msgid "(this will be reported only once per input file)"
+-msgstr "(iyi Rimwe Iyinjiza IDOSIYE"
+-
+-#: lex.c:1020
+-#, fuzzy
+-msgid "multi-line comment"
+-msgstr "Umurongo Icyo wongeraho"
+-
+-#: lex.c:1333
+-#, c-format
+-msgid "unspellable token %s"
+-msgstr ""
+-
+-#: line-map.c:313
+-#, fuzzy, c-format
+-msgid "In file included from %s:%u"
+-msgstr "IDOSIYE Bivuye"
+-
+-#: line-map.c:331
+-#, fuzzy, c-format
+-msgid ""
+-",\n"
+-" from %s:%u"
+-msgstr ",Bivuye"
+-
+-#: macro.c:83
+-#, fuzzy, c-format
+-msgid "macro \"%s\" is not used"
+-msgstr "Makoro ni OYA"
+-
+-#: macro.c:122 macro.c:312
+-#, fuzzy, c-format
+-msgid "invalid built-in macro \"%s\""
+-msgstr "Sibyo in Makoro"
+-
+-#: macro.c:156
+-#, fuzzy
+-msgid "could not determine file timestamp"
+-msgstr "OYA Itariki Na Igihe"
+-
+-#: macro.c:253
+-#, fuzzy
+-msgid "could not determine date and time"
+-msgstr "OYA Itariki Na Igihe"
+-
+-#: macro.c:416
+-#, fuzzy
+-msgid "invalid string literal, ignoring final '\\'"
+-msgstr "Sibyo Ikurikiranyanyuguti"
+-
+-#: macro.c:466
+-#, fuzzy, c-format
+-msgid "pasting \"%s\" and \"%s\" does not give a valid preprocessing token"
+-msgstr "Na OYA a Byemewe"
+-
+-#: macro.c:538
+-#, fuzzy
+-msgid "ISO C99 requires rest arguments to be used"
+-msgstr "ingingo Kuri"
+-
+-#: macro.c:543
+-#, fuzzy, c-format
+-msgid "macro \"%s\" requires %u arguments, but only %u given"
+-msgstr "Makoro ingingo"
+-
+-#: macro.c:548
+-#, fuzzy, c-format
+-msgid "macro \"%s\" passed %u arguments, but takes just %u"
+-msgstr "Makoro ingingo"
+-
+-#: macro.c:659 traditional.c:675
+-#, fuzzy, c-format
+-msgid "unterminated argument list invoking macro \"%s\""
+-msgstr "Urutonde Makoro"
+-
+-#: macro.c:762
+-#, fuzzy, c-format
+-msgid "function-like macro \"%s\" must be used with arguments in traditional C"
+-msgstr "Umumaro nka Makoro Na: ingingo in C"
+-
+-#: macro.c:1278
+-#, fuzzy, c-format
+-msgid "duplicate macro parameter \"%s\""
+-msgstr "Gusubiramo Makoro"
+-
+-#: macro.c:1324
+-#, fuzzy, c-format
+-msgid "\"%s\" may not appear in macro parameter list"
+-msgstr "\"%s\"Gicurasi OYA Kugaragara in Makoro Urutonde"
+-
+-#: macro.c:1332
+-#, fuzzy
+-msgid "macro parameters must be comma-separated"
+-msgstr "Makoro Ibigenga Akitso"
+-
+-#: macro.c:1349
+-#, fuzzy
+-msgid "parameter name missing"
+-msgstr "Izina: Ibuze"
+-
+-#: macro.c:1366
+-#, fuzzy
+-msgid "anonymous variadic macros were introduced in C99"
+-msgstr "Makoro in"
+-
+-#: macro.c:1371
+-#, fuzzy
+-msgid "ISO C does not permit named variadic macros"
+-msgstr "C OYA Makoro"
+-
+-#: macro.c:1380
+-#, fuzzy
+-msgid "missing ')' in macro parameter list"
+-msgstr "Ibuze in Makoro Urutonde"
+-
+-#: macro.c:1458
+-#, fuzzy
+-msgid "ISO C99 requires whitespace after the macro name"
+-msgstr "C Nyuma i Makoro Izina:"
+-
+-#: macro.c:1482
+-#, fuzzy
+-msgid "missing whitespace after the macro name"
+-msgstr "C Nyuma i Makoro Izina:"
+-
+-#: macro.c:1512
+-#, fuzzy
+-msgid "'#' is not followed by a macro parameter"
+-msgstr "'#'ni OYA ku a Makoro"
+-
+-#: macro.c:1531
+-#, fuzzy
+-msgid "'##' cannot appear at either end of a macro expansion"
+-msgstr "'##'Kugaragara ku Impera Bya a Makoro"
+-
+-#: macro.c:1629
+-#, c-format
+-msgid "\"%s\" redefined"
+-msgstr ""
+-
+-#: macro.c:1634
+-#, fuzzy
+-msgid "this is the location of the previous definition"
+-msgstr "iyi ni i Ahantu Bya i Ibanjirije Insobanuro"
+-
+-#: macro.c:1684
+-#, fuzzy, c-format
+-msgid "macro argument \"%s\" would be stringified in traditional C"
+-msgstr "Makoro in C"
+-
+-#: macro.c:1707
+-#, fuzzy, c-format
+-msgid "invalid hash type %d in cpp_macro_definition"
+-msgstr "Sibyo Ubwoko in"
+-
+-#: pch.c:84 pch.c:332 pch.c:354 pch.c:360
+-msgid "while writing precompiled header"
+-msgstr ""
+-
+-#: pch.c:467
+-#, fuzzy, c-format
+-msgid "%s: not used because `%.*s' not defined"
+-msgstr "Akarango OYA"
+-
+-#: pch.c:479
+-#, c-format
+-msgid "%s: not used because `%.*s' defined as `%s' not `%.*s'"
+-msgstr ""
+-
+-#: pch.c:520
+-#, fuzzy, c-format
+-msgid "%s: not used because `%s' is defined"
+-msgstr "`%s'Nta narimwe"
+-
+-#: pch.c:533 pch.c:696
+-msgid "while reading precompiled header"
+-msgstr ""
+-
+-#: traditional.c:745
+-#, fuzzy, c-format
+-msgid "detected recursion whilst expanding macro \"%s\""
+-msgstr "Makoro"
+-
+-#: traditional.c:912
+-#, fuzzy
+-msgid "syntax error in macro parameter list"
+-msgstr "\"%s\"Gicurasi OYA Kugaragara in Makoro Urutonde"
+-
+-#, fuzzy
+-#~ msgid "`%s' attribute directive ignored"
+-#~ msgstr "`%s'Ikiranga"
+-
+-#, fuzzy
+-#~ msgid "wrong number of arguments specified for `%s' attribute"
+-#~ msgstr "Umubare Bya ingingo kugirango Ikiranga"
+-
+-#, fuzzy
+-#~ msgid "`%s' attribute does not apply to types"
+-#~ msgstr "`%s'Ikiranga OYA Gukurikiza Kuri"
+-
+-#, fuzzy
+-#~ msgid "`%s' attribute only applies to function types"
+-#~ msgstr "`%s'Ikiranga Kuri Umumaro"
+-
+-#, fuzzy
+-#~ msgid "`%s' attribute ignored"
+-#~ msgstr "`%s'Ikiranga"
+-
+-#, fuzzy
+-#~ msgid "offset outside bounds of constant string"
+-#~ msgstr "Nta- boneza Hanze Bya Ikurikiranyanyuguti"
+-
+-#, fuzzy
+-#~ msgid "second arg to `__builtin_prefetch' must be a constant"
+-#~ msgstr "ISEGONDA Kuri a"
+-
+-#, fuzzy
+-#~ msgid "invalid second arg to __builtin_prefetch; using zero"
+-#~ msgstr "Sibyo ISEGONDA Kuri ikoresha Zeru"
+-
+-#, fuzzy
+-#~ msgid "third arg to `__builtin_prefetch' must be a constant"
+-#~ msgstr "Kuri a"
+-
+-#, fuzzy
+-#~ msgid "invalid third arg to __builtin_prefetch; using zero"
+-#~ msgstr "Sibyo Kuri ikoresha Zeru"
+-
+-#, fuzzy
+-#~ msgid "__builtin_saveregs not supported by this target"
+-#~ msgstr "_OYA ku iyi Intego"
+-
+-#, fuzzy
+-#~ msgid "argument of `__builtin_args_info' must be constant"
+-#~ msgstr "Bya"
+-
+-#, fuzzy
+-#~ msgid "argument of `__builtin_args_info' out of range"
+-#~ msgstr "Bya Inyuma Bya Urutonde"
+-
+-#, fuzzy
+-#~ msgid "missing argument in `__builtin_args_info'"
+-#~ msgstr "Ibuze in"
+-
+-#, fuzzy
+-#~ msgid "`va_start' used in function with fixed args"
+-#~ msgstr "`in Umumaro Na: BIHAMYE"
+-
+-#, fuzzy
+-#~ msgid "second parameter of `va_start' not last named argument"
+-#~ msgstr "ISEGONDA Bya OYA Iheruka"
+-
+-#, fuzzy
+-#~ msgid "too many arguments to function `va_start'"
+-#~ msgstr "ingingo Kuri Umumaro"
+-
+-#, fuzzy
+-#~ msgid "first argument to `va_arg' not of type `va_list'"
+-#~ msgstr "Itangira Kuri OYA Bya Ubwoko"
+-
+-#, fuzzy
+-#~ msgid "`%s' is promoted to `%s' when passed through `...'"
+-#~ msgstr "`%s'ni Kuri Ryari: Gihinguranya"
+-
+-#, fuzzy
+-#~ msgid "(so you should pass `%s' not `%s' to `va_arg')"
+-#~ msgstr "(OYA Kuri"
+-
+-#, fuzzy
+-#~ msgid "invalid arg to `__builtin_frame_address'"
+-#~ msgstr "Sibyo Kuri"
+-
+-#, fuzzy
+-#~ msgid "invalid arg to `__builtin_return_address'"
+-#~ msgstr "Sibyo Kuri"
+-
+-#, fuzzy
+-#~ msgid "unsupported arg to `__builtin_frame_address'"
+-#~ msgstr "Kuri"
+-
+-#, fuzzy
+-#~ msgid "unsupported arg to `__builtin_return_address'"
+-#~ msgstr "Kuri"
+-
+-#, fuzzy
+-#~ msgid "second arg to `__builtin_expect' must be a constant"
+-#~ msgstr "ISEGONDA Kuri a"
+-
+-#, fuzzy
+-#~ msgid "__builtin_longjmp second argument must be 1"
+-#~ msgstr "_ISEGONDA 1."
+-
+-#, fuzzy
+-#~ msgid "built-in function `%s' not currently supported"
+-#~ msgstr "in Umumaro OYA"
+-
+-#, fuzzy
+-#~ msgid "target format does not support infinity"
+-#~ msgstr "Intego Imiterere OYA Gushigikira Bidashira"
+-
+-#, fuzzy
+-#~ msgid "`%s' is not defined outside of function scope"
+-#~ msgstr "`%s'ni OYA Hanze Bya Umumaro Ingano:"
+-
+-#, fuzzy
+-#~ msgid "string length `%d' is greater than the length `%d' ISO C%d compilers are required to support"
+-#~ msgstr "Ikurikiranyanyuguti Uburebure ni Biruta i Uburebure C Bya ngombwa Kuri Gushigikira"
+-
+-#, fuzzy
+-#~ msgid "concatenation of string literals with __FUNCTION__ is deprecated"
+-#~ msgstr "Bya Ikurikiranyanyuguti Na: ni Bitemewe."
+-
+-#, fuzzy
+-#~ msgid "overflow in constant expression"
+-#~ msgstr "Byarenze urugero in imvugo"
+-
+-#, fuzzy
+-#~ msgid "integer overflow in expression"
+-#~ msgstr "Umubare wuzuye Byarenze urugero in imvugo"
+-
+-#, fuzzy
+-#~ msgid "floating point overflow in expression"
+-#~ msgstr "Bihindagurika Akadomo Byarenze urugero in imvugo"
+-
+-#, fuzzy
+-#~ msgid "vector overflow in expression"
+-#~ msgstr "Byarenze urugero in imvugo"
+-
+-#, fuzzy
+-#~ msgid "large integer implicitly truncated to unsigned type"
+-#~ msgstr "Binini Umubare wuzuye Kuri Bitashizweho umukono Ubwoko"
+-
+-#, fuzzy
+-#~ msgid "negative integer implicitly converted to unsigned type"
+-#~ msgstr "Umubare wuzuye Kuri Bitashizweho umukono Ubwoko"
+-
+-#, fuzzy
+-#~ msgid "overflow in implicit constant conversion"
+-#~ msgstr "Byarenze urugero in Ihindurangero"
+-
+-#, fuzzy
+-#~ msgid "operation on `%s' may be undefined"
+-#~ msgstr "ku Gicurasi kidasobanuye"
+-
+-#, fuzzy
+-#~ msgid "expression statement has incomplete type"
+-#~ msgstr "imvugo Inyandiko Ubwoko"
+-
+-#, fuzzy
+-#~ msgid "case label does not reduce to an integer constant"
+-#~ msgstr "Akarango OYA Kuri Umubare wuzuye"
+-
+-#, fuzzy
+-#~ msgid "invalid truth-value expression"
+-#~ msgstr "Sibyo Agaciro imvugo"
+-
+-#, fuzzy
+-#~ msgid "invalid operands to binary %s"
+-#~ msgstr "Sibyo Kuri Nyabibiri"
+-
+-#, fuzzy
+-#~ msgid "comparison is always false due to limited range of data type"
+-#~ msgstr "ni Buri gihe SIBYO Kuri Urutonde Bya Ibyatanzwe Ubwoko"
+-
+-#, fuzzy
+-#~ msgid "comparison is always true due to limited range of data type"
+-#~ msgstr "ni Buri gihe NIBYO Kuri Urutonde Bya Ibyatanzwe Ubwoko"
+-
+-#, fuzzy
+-#~ msgid "comparison of unsigned expression >= 0 is always true"
+-#~ msgstr "Bya Bitashizweho umukono imvugo 0 ni Buri gihe NIBYO"
+-
+-#, fuzzy
+-#~ msgid "comparison of unsigned expression < 0 is always false"
+-#~ msgstr "Bya Bitashizweho umukono imvugo 0 ni Buri gihe SIBYO"
+-
+-#, fuzzy
+-#~ msgid "pointer of type `void *' used in arithmetic"
+-#~ msgstr "Mweretsi Bya Ubwoko in"
+-
+-#, fuzzy
+-#~ msgid "pointer to a function used in arithmetic"
+-#~ msgstr "Mweretsi Kuri a Umumaro in"
+-
+-#, fuzzy
+-#~ msgid "pointer to member function used in arithmetic"
+-#~ msgstr "Mweretsi Kuri Umumaro in"
+-
+-#, fuzzy
+-#~ msgid "pointer to a member used in arithmetic"
+-#~ msgstr "Mweretsi Kuri a in"
+-
+-#, fuzzy
+-#~ msgid "struct type value used where scalar is required"
+-#~ msgstr "Ubwoko Agaciro ni Bya ngombwa"
+-
+-#, fuzzy
+-#~ msgid "union type value used where scalar is required"
+-#~ msgstr "Ihuza Ubwoko Agaciro ni Bya ngombwa"
+-
+-#, fuzzy
+-#~ msgid "array type value used where scalar is required"
+-#~ msgstr "Imbonerahamwe Ubwoko Agaciro ni Bya ngombwa"
+-
+-#, fuzzy
+-#~ msgid "suggest parentheses around assignment used as truth value"
+-#~ msgstr "Igenera Nka Agaciro"
+-
+-#, fuzzy
+-#~ msgid "invalid use of `restrict'"
+-#~ msgstr "Sibyo Gukoresha Bya"
+-
+-#, fuzzy
+-#~ msgid "invalid application of `sizeof' to a function type"
+-#~ msgstr "Sibyo Porogaramu Bya Kuri a Umumaro Ubwoko"
+-
+-#, fuzzy
+-#~ msgid "invalid application of `%s' to a void type"
+-#~ msgstr "Sibyo Porogaramu Bya Kuri a Ubwoko"
+-
+-#, fuzzy
+-#~ msgid "invalid application of `%s' to an incomplete type"
+-#~ msgstr "Sibyo Porogaramu Bya Kuri Ubwoko"
+-
+-#, fuzzy
+-#~ msgid "`__alignof' applied to a bit-field"
+-#~ msgstr "`_Byashyizweho Kuri a Umwanya"
+-
+-#, fuzzy
+-#~ msgid "cannot disable built-in function `%s'"
+-#~ msgstr "in Umumaro"
+-
+-#, fuzzy
+-#~ msgid "too few arguments to function `%s'"
+-#~ msgstr "ingingo Kuri Umumaro"
+-
+-#, fuzzy
+-#~ msgid "too many arguments to function `%s'"
+-#~ msgstr "ingingo Kuri Umumaro"
+-
+-#, fuzzy
+-#~ msgid "non-floating-point argument to function `%s'"
+-#~ msgstr "Bihindagurika Akadomo Kuri Umumaro"
+-
+-#, fuzzy
+-#~ msgid "pointers are not permitted as case values"
+-#~ msgstr "OYA Nka Uduciro"
+-
+-#, fuzzy
+-#~ msgid "ISO C++ forbids range expressions in switch statements"
+-#~ msgstr "C Urutonde in Hindura"
+-
+-#, fuzzy
+-#~ msgid "ISO C forbids range expressions in switch statements"
+-#~ msgstr "C Urutonde in Hindura"
+-
+-#, fuzzy
+-#~ msgid "empty range specified"
+-#~ msgstr "ubusa Urutonde"
+-
+-#, fuzzy
+-#~ msgid "duplicate (or overlapping) case value"
+-#~ msgstr "Gusubiramo Cyangwa iyorosa Agaciro"
+-
+-#, fuzzy
+-#~ msgid "this is the first entry overlapping that value"
+-#~ msgstr "iyi ni i Itangira Icyinjijwe iyorosa Agaciro"
+-
+-#, fuzzy
+-#~ msgid "duplicate case value"
+-#~ msgstr "Gusubiramo Agaciro"
+-
+-#, fuzzy
+-#~ msgid "multiple default labels in one switch"
+-#~ msgstr "Igikubo Mburabuzi Uturango... in Hindura"
+-
+-#, fuzzy
+-#~ msgid "this is the first default label"
+-#~ msgstr "iyi ni i Itangira Mburabuzi Akarango"
+-
+-#, fuzzy
+-#~ msgid "ISO C++ forbids taking the address of a label"
+-#~ msgstr "C i Aderesi Bya a Akarango"
+-
+-#, fuzzy
+-#~ msgid "ISO C forbids taking the address of a label"
+-#~ msgstr "C i Aderesi Bya a Akarango"
+-
+-#, fuzzy
+-#~ msgid "declaration of `%s' shadows %s"
+-#~ msgstr "Bya"
+-
+-#, fuzzy
+-#~ msgid "unknown machine mode `%s'"
+-#~ msgstr "Kitazwi Ubwoko"
+-
+-#, fuzzy
+-#~ msgid "no data type for mode `%s'"
+-#~ msgstr "Oya Ibyatanzwe Ubwoko kugirango Ubwoko"
+-
+-#, fuzzy
+-#~ msgid "unable to emulate '%s'"
+-#~ msgstr "Kuri"
+-
+-#, fuzzy
+-#~ msgid "section attribute cannot be specified for local variables"
+-#~ msgstr "Icyiciro Ikiranga kugirango Ibihinduka"
+-
+-#, fuzzy
+-#~ msgid "section of `%s' conflicts with previous declaration"
+-#~ msgstr "Icyiciro Bya Na: Ibanjirije"
+-
+-#, fuzzy
+-#~ msgid "section attribute not allowed for `%s'"
+-#~ msgstr "Icyiciro Ikiranga OYA kugirango"
+-
+-#, fuzzy
+-#~ msgid "section attributes are not supported for this target"
+-#~ msgstr "Icyiciro Ibiranga OYA kugirango iyi Intego"
+-
+-#, fuzzy
+-#~ msgid "requested alignment is not a constant"
+-#~ msgstr "Itunganya ni OYA a"
+-
+-#, fuzzy
+-#~ msgid "requested alignment is not a power of 2"
+-#~ msgstr "Itunganya ni OYA a UMWIKUBE Bya 2."
+-
+-#, fuzzy
+-#~ msgid "requested alignment is too large"
+-#~ msgstr "Itunganya ni Binini"
+-
+-#, fuzzy
+-#~ msgid "alignment may not be specified for `%s'"
+-#~ msgstr "Itunganya Gicurasi OYA kugirango"
+-
+-#, fuzzy
+-#~ msgid "`%s' defined both normally and as an alias"
+-#~ msgstr "`%s'Byombi Na Nka Irihimbano"
+-
+-#, fuzzy
+-#~ msgid "alias arg not a string"
+-#~ msgstr "Irihimbano OYA a Ikurikiranyanyuguti"
+-
+-#, fuzzy
+-#~ msgid "visibility arg not a string"
+-#~ msgstr "Ukugaragara OYA a Ikurikiranyanyuguti"
+-
+-#, fuzzy
+-#~ msgid "visibility arg must be one of \"default\", \"hidden\", \"protected\" or \"internal\""
+-#~ msgstr "Ukugaragara Bya Mburabuzi gihishwe Birinzwe Cyangwa By'imbere"
+-
+-#, fuzzy
+-#~ msgid "tls_model arg not a string"
+-#~ msgstr "OYA a Ikurikiranyanyuguti"
+-
+-#, fuzzy
+-#~ msgid "tls_model arg must be one of \"local-exec\", \"initial-exec\", \"local-dynamic\" or \"global-dynamic\""
+-#~ msgstr "Bya Cyangwa"
+-
+-#, fuzzy
+-#~ msgid "`%s' attribute applies only to functions"
+-#~ msgstr "`%s'Ikiranga Kuri Imimaro"
+-
+-#, fuzzy
+-#~ msgid "can't set `%s' attribute after definition"
+-#~ msgstr "Gushyiraho Ikiranga Nyuma Insobanuro"
+-
+-#, fuzzy
+-#~ msgid "`%s' attribute ignored for `%s'"
+-#~ msgstr "`%s'Ikiranga kugirango"
+-
+-#, fuzzy
+-#~ msgid "invalid vector type for attribute `%s'"
+-#~ msgstr "Sibyo Ubwoko kugirango Ikiranga"
+-
+-#, fuzzy
+-#~ msgid "no vector mode with the size and type specified could be found"
+-#~ msgstr "Oya Ubwoko Na: i Ingano Na Ubwoko Byabonetse"
+-
+-#, fuzzy
+-#~ msgid "nonnull attribute without arguments on a non-prototype"
+-#~ msgstr "Ikiranga ingingo ku a"
+-
+-#, fuzzy
+-#~ msgid "nonnull argument has invalid operand number (arg %lu)"
+-#~ msgstr "Sibyo Umubare"
+-
+-#, fuzzy
+-#~ msgid "nonnull argument with out-of-range operand number (arg %lu, operand %lu)"
+-#~ msgstr "Na: Inyuma Bya Urutonde Umubare"
+-
+-#, fuzzy
+-#~ msgid "nonnull argument references non-pointer operand (arg %lu, operand %lu)"
+-#~ msgstr "Indango Mweretsi"
+-
+-#, fuzzy
+-#~ msgid "null argument where non-null required (arg %lu)"
+-#~ msgstr "NTAGIHARI NTAGIHARI Bya ngombwa"
+-
+-#, fuzzy
+-#~ msgid "void value not ignored as it ought to be"
+-#~ msgstr "Agaciro OYA Nka Kuri"
+-
+-#, fuzzy
+-#~ msgid "conversion to non-scalar type requested"
+-#~ msgstr "Ihindurangero Kuri Ubwoko"
+-
+-#, fuzzy
+-#~ msgid "array `%s' assumed to have one element"
+-#~ msgstr "Imbonerahamwe Kuri Ikigize:"
+-
+-#, fuzzy
+-#~ msgid "`struct %s' incomplete in scope ending here"
+-#~ msgstr "`in Ingano:"
+-
+-#, fuzzy
+-#~ msgid "`union %s' incomplete in scope ending here"
+-#~ msgstr "`Ihuza in Ingano:"
+-
+-#, fuzzy
+-#~ msgid "`enum %s' incomplete in scope ending here"
+-#~ msgstr "`in Ingano:"
+-
+-#, fuzzy
+-#~ msgid "label `%s' defined but not used"
+-#~ msgstr "Akarango OYA"
+-
+-#, fuzzy
+-#~ msgid "function `%s' redeclared as inline"
+-#~ msgstr "Umumaro Nka Mumurongo"
+-
+-#, fuzzy
+-#~ msgid "previous declaration of function `%s' with attribute noinline"
+-#~ msgstr "Ibanjirije Bya Umumaro Na: Ikiranga"
+-
+-#, fuzzy
+-#~ msgid "function `%s' redeclared with attribute noinline"
+-#~ msgstr "Umumaro Na: Ikiranga"
+-
+-#, fuzzy
+-#~ msgid "previous declaration of function `%s' was inline"
+-#~ msgstr "Ibanjirije Bya Umumaro Mumurongo"
+-
+-#, fuzzy
+-#~ msgid "shadowing built-in function `%s'"
+-#~ msgstr "Ishyiraho ry'igicucu in Umumaro"
+-
+-#, fuzzy
+-#~ msgid "shadowing library function `%s'"
+-#~ msgstr "Ishyiraho ry'igicucu Isomero Umumaro"
+-
+-#, fuzzy
+-#~ msgid "library function `%s' declared as non-function"
+-#~ msgstr "Isomero Umumaro Nka Umumaro"
+-
+-#, fuzzy
+-#~ msgid "built-in function `%s' declared as non-function"
+-#~ msgstr "in Umumaro Nka Umumaro"
+-
+-#, fuzzy
+-#~ msgid "`%s' redeclared as different kind of symbol"
+-#~ msgstr "`%s'Nka Bya IKIMENYETSO"
+-
+-#, fuzzy
+-#~ msgid "previous declaration of `%s'"
+-#~ msgstr "Ibanjirije Bya"
+-
+-#, fuzzy
+-#~ msgid "conflicting types for built-in function `%s'"
+-#~ msgstr "kugirango in Umumaro"
+-
+-#, fuzzy
+-#~ msgid "conflicting types for `%s'"
+-#~ msgstr "kugirango"
+-
+-#, fuzzy
+-#~ msgid "a parameter list with an ellipsis can't match an empty parameter name list declaration"
+-#~ msgstr "a Urutonde Na: BIHUYE ubusa Izina: Urutonde"
+-
+-#, fuzzy
+-#~ msgid "an argument type that has a default promotion can't match an empty parameter name list declaration"
+-#~ msgstr "Ubwoko a Mburabuzi BIHUYE ubusa Izina: Urutonde"
+-
+-#, fuzzy
+-#~ msgid "thread-local declaration of `%s' follows non thread-local declaration"
+-#~ msgstr "Urudodo Bya Urudodo"
+-
+-#, fuzzy
+-#~ msgid "non thread-local declaration of `%s' follows thread-local declaration"
+-#~ msgstr "Urudodo Bya Urudodo"
+-
+-#, fuzzy
+-#~ msgid "redefinition of `%s'"
+-#~ msgstr "Bya"
+-
+-#, fuzzy
+-#~ msgid "redeclaration of `%s'"
+-#~ msgstr "Bya"
+-
+-#, fuzzy
+-#~ msgid "conflicting declarations of `%s'"
+-#~ msgstr "Bya"
+-
+-#, fuzzy
+-#~ msgid "prototype for `%s' follows"
+-#~ msgstr "kugirango"
+-
+-#, fuzzy
+-#~ msgid "non-prototype definition here"
+-#~ msgstr "Insobanuro"
+-
+-#, fuzzy
+-#~ msgid "prototype for `%s' follows and number of arguments doesn't match"
+-#~ msgstr "kugirango Na Umubare Bya ingingo BIHUYE"
+-
+-#, fuzzy
+-#~ msgid "prototype for `%s' follows and argument %d doesn't match"
+-#~ msgstr "kugirango Na BIHUYE"
+-
+-#, fuzzy
+-#~ msgid "`%s' declared inline after being called"
+-#~ msgstr "`%s'Mumurongo Nyuma"
+-
+-#, fuzzy
+-#~ msgid "`%s' declared inline after its definition"
+-#~ msgstr "`%s'Mumurongo Nyuma Insobanuro"
+-
+-#, fuzzy
+-#~ msgid "static declaration for `%s' follows non-static"
+-#~ msgstr "kugirango"
+-
+-#, fuzzy
+-#~ msgid "non-static declaration for `%s' follows static"
+-#~ msgstr "kugirango"
+-
+-#, fuzzy
+-#~ msgid "const declaration for `%s' follows non-const"
+-#~ msgstr "kugirango"
+-
+-#, fuzzy
+-#~ msgid "type qualifiers for `%s' conflict with previous decl"
+-#~ msgstr "Ubwoko kugirango Na: Ibanjirije"
+-
+-#, fuzzy
+-#~ msgid "redundant redeclaration of `%s' in same scope"
+-#~ msgstr "Bya in Ingano:"
+-
+-#, fuzzy
+-#~ msgid "declaration of `%s' shadows a parameter"
+-#~ msgstr "Bya a"
+-
+-#, fuzzy
+-#~ msgid "declaration of `%s' shadows a symbol from the parameter list"
+-#~ msgstr "Bya a IKIMENYETSO Bivuye i Urutonde"
+-
+-#, fuzzy
+-#~ msgid "a parameter"
+-#~ msgstr "a"
+-
+-#, fuzzy
+-#~ msgid "a previous local"
+-#~ msgstr "a Ibanjirije"
+-
+-#, fuzzy
+-#~ msgid "a global declaration"
+-#~ msgstr "a"
+-
+-#, fuzzy
+-#~ msgid "nested extern declaration of `%s'"
+-#~ msgstr "Bya"
+-
+-#, fuzzy
+-#~ msgid "`%s' used prior to declaration"
+-#~ msgstr "`%s'Kuri"
+-
+-#, fuzzy
+-#~ msgid "`%s' was declared implicitly `extern' and later `static'"
+-#~ msgstr "`%s'Na"
+-
+-#, fuzzy
+-#~ msgid "type mismatch with previous external decl"
+-#~ msgstr "Ubwoko Na: Ibanjirije external"
+-
+-#, fuzzy
+-#~ msgid "previous external decl of `%s'"
+-#~ msgstr "Ibanjirije external Bya"
+-
+-#, fuzzy
+-#~ msgid "type mismatch with previous implicit declaration"
+-#~ msgstr "Ubwoko Na: Ibanjirije"
+-
+-#, fuzzy
+-#~ msgid "previous implicit declaration of `%s'"
+-#~ msgstr "Ibanjirije Bya"
+-
+-#, fuzzy
+-#~ msgid "`%s' was previously implicitly declared to return `int'"
+-#~ msgstr "`%s'Kuri Garuka"
+-
+-#, fuzzy
+-#~ msgid "`%s' was declared `extern' and later `static'"
+-#~ msgstr "`%s'Na"
+-
+-#, fuzzy
+-#~ msgid "extern declaration of `%s' doesn't match global one"
+-#~ msgstr "Bya BIHUYE"
+-
+-#, fuzzy
+-#~ msgid "`%s' locally external but globally static"
+-#~ msgstr "`%s'external"
+-
+-#, fuzzy
+-#~ msgid "function `%s' was previously declared within a block"
+-#~ msgstr "Umumaro muri a Funga"
+-
+-#, fuzzy
+-#~ msgid "implicit declaration of function `%s'"
+-#~ msgstr "Bya Umumaro"
+-
+-#, fuzzy
+-#~ msgid "label %s referenced outside of any function"
+-#~ msgstr "Akarango Hanze Bya Umumaro"
+-
+-#, fuzzy
+-#~ msgid "duplicate label declaration `%s'"
+-#~ msgstr "Gusubiramo Akarango"
+-
+-#, fuzzy
+-#~ msgid "this is a previous declaration"
+-#~ msgstr "iyi ni a Ibanjirije"
+-
+-#, fuzzy
+-#~ msgid "unnamed struct/union that defines no instances"
+-#~ msgstr "Kitiswe Ihuza Oya Ingero"
+-
+-#, fuzzy
+-#~ msgid "useless keyword or type name in empty declaration"
+-#~ msgstr "Ijambo- banze Cyangwa Ubwoko Izina: in ubusa"
+-
+-#, fuzzy
+-#~ msgid "two types specified in one empty declaration"
+-#~ msgstr "in ubusa"
+-
+-#, fuzzy
+-#~ msgid "empty declaration"
+-#~ msgstr "ubusa"
+-
+-#, fuzzy
+-#~ msgid "ISO C90 does not support `static' or type qualifiers in parameter array declarators"
+-#~ msgstr "OYA Gushigikira Cyangwa Ubwoko in Imbonerahamwe"
+-
+-#, fuzzy
+-#~ msgid "ISO C90 does not support `[*]' array declarators"
+-#~ msgstr "OYA Gushigikira Imbonerahamwe"
+-
+-#, fuzzy
+-#~ msgid "GCC does not yet properly implement `[*]' array declarators"
+-#~ msgstr "OYA Imbonerahamwe"
+-
+-#, fuzzy
+-#~ msgid "static or type qualifiers in abstract declarator"
+-#~ msgstr "Cyangwa Ubwoko in Incamake"
+-
+-#, fuzzy
+-#~ msgid "`%s' is usually a function"
+-#~ msgstr "`%s'ni a Umumaro"
+-
+-#, fuzzy
+-#~ msgid "typedef `%s' is initialized (use __typeof__ instead)"
+-#~ msgstr "ni Gukoresha"
+-
+-#, fuzzy
+-#~ msgid "function `%s' is initialized like a variable"
+-#~ msgstr "Umumaro ni nka a IMPINDURAGACIRO"
+-
+-#, fuzzy
+-#~ msgid "parameter `%s' is initialized"
+-#~ msgstr "ni"
+-
+-#, fuzzy
+-#~ msgid "variable-sized object may not be initialized"
+-#~ msgstr "IMPINDURAGACIRO Igikoresho Gicurasi OYA"
+-
+-#, fuzzy
+-#~ msgid "variable `%s' has initializer but incomplete type"
+-#~ msgstr "IMPINDURAGACIRO Ubwoko"
+-
+-#, fuzzy
+-#~ msgid "elements of array `%s' have incomplete type"
+-#~ msgstr "Ibintu Bya Imbonerahamwe Ubwoko"
+-
+-#, fuzzy
+-#~ msgid "declaration of `%s' has `extern' and is initialized"
+-#~ msgstr "Bya Na ni"
+-
+-#, fuzzy
+-#~ msgid "inline function `%s' given attribute noinline"
+-#~ msgstr "Mumurongo Umumaro Ikiranga"
+-
+-#, fuzzy
+-#~ msgid "initializer fails to determine size of `%s'"
+-#~ msgstr "Kuri Ingano Bya"
+-
+-#, fuzzy
+-#~ msgid "array size missing in `%s'"
+-#~ msgstr "Imbonerahamwe Ingano Ibuze in"
+-
+-#, fuzzy
+-#~ msgid "zero or negative size array `%s'"
+-#~ msgstr "Zeru Cyangwa Ingano Imbonerahamwe"
+-
+-#, fuzzy
+-#~ msgid "storage size of `%s' isn't known"
+-#~ msgstr "Ingano Bya si"
+-
+-#, fuzzy
+-#~ msgid "storage size of `%s' isn't constant"
+-#~ msgstr "Ingano Bya si"
+-
+-#, fuzzy
+-#~ msgid "ignoring asm-specifier for non-static local variable `%s'"
+-#~ msgstr "kugirango IMPINDURAGACIRO"
+-
+-#, fuzzy
+-#~ msgid "ISO C forbids parameter `%s' shadowing typedef"
+-#~ msgstr "C Ishyiraho ry'igicucu"
+-
+-#, fuzzy
+-#~ msgid "`long long long' is too long for GCC"
+-#~ msgstr "`ni kugirango"
+-
+-#, fuzzy
+-#~ msgid "ISO C90 does not support `long long'"
+-#~ msgstr "OYA Gushigikira"
+-
+-#, fuzzy
+-#~ msgid "duplicate `%s'"
+-#~ msgstr "Gusubiramo"
+-
+-#, fuzzy
+-#~ msgid "`__thread' before `extern'"
+-#~ msgstr "`_Mbere"
+-
+-#, fuzzy
+-#~ msgid "`__thread' before `static'"
+-#~ msgstr "`_Mbere"
+-
+-#, fuzzy
+-#~ msgid "two or more data types in declaration of `%s'"
+-#~ msgstr "Cyangwa Birenzeho Ibyatanzwe in Bya"
+-
+-#, fuzzy
+-#~ msgid "`%s' fails to be a typedef or built in type"
+-#~ msgstr "`%s'Kuri a Cyangwa in Ubwoko"
+-
+-#, fuzzy
+-#~ msgid "type defaults to `int' in declaration of `%s'"
+-#~ msgstr "Ubwoko Kuri in Bya"
+-
+-#, fuzzy
+-#~ msgid "both long and short specified for `%s'"
+-#~ msgstr "Byombi Na kugirango"
+-
+-#, fuzzy
+-#~ msgid "long or short specified with char for `%s'"
+-#~ msgstr "Cyangwa Na: INYUGUTI kugirango"
+-
+-#, fuzzy
+-#~ msgid "long or short specified with floating type for `%s'"
+-#~ msgstr "Cyangwa Na: Bihindagurika Ubwoko kugirango"
+-
+-#, fuzzy
+-#~ msgid "the only valid combination is `long double'"
+-#~ msgstr "i Byemewe Ivanga ni"
+-
+-#, fuzzy
+-#~ msgid "both signed and unsigned specified for `%s'"
+-#~ msgstr "Byombi Na Bitashizweho umukono kugirango"
+-
+-#, fuzzy
+-#~ msgid "long, short, signed or unsigned invalid for `%s'"
+-#~ msgstr "Cyangwa Bitashizweho umukono Sibyo kugirango"
+-
+-#, fuzzy
+-#~ msgid "long, short, signed or unsigned used invalidly for `%s'"
+-#~ msgstr "Cyangwa Bitashizweho umukono kugirango"
+-
+-#, fuzzy
+-#~ msgid "complex invalid for `%s'"
+-#~ msgstr "ITSINDA RY'IMIBARE C Sibyo kugirango"
+-
+-#, fuzzy
+-#~ msgid "ISO C90 does not support complex types"
+-#~ msgstr "OYA Gushigikira ITSINDA RY'IMIBARE C"
+-
+-#, fuzzy
+-#~ msgid "ISO C does not support plain `complex' meaning `double complex'"
+-#~ msgstr "C OYA Gushigikira Byuzuye Igisobanuro MAHARAKUBIRI"
+-
+-#, fuzzy
+-#~ msgid "ISO C does not support complex integer types"
+-#~ msgstr "C OYA Gushigikira ITSINDA RY'IMIBARE C Umubare wuzuye"
+-
+-#, fuzzy
+-#~ msgid "duplicate `const'"
+-#~ msgstr "Gusubiramo"
+-
+-#, fuzzy
+-#~ msgid "duplicate `restrict'"
+-#~ msgstr "Gusubiramo"
+-
+-#, fuzzy
+-#~ msgid "duplicate `volatile'"
+-#~ msgstr "Gusubiramo"
+-
+-#, fuzzy
+-#~ msgid "multiple storage classes in declaration of `%s'"
+-#~ msgstr "Igikubo Inzego in Bya"
+-
+-#, fuzzy
+-#~ msgid "function definition declared `auto'"
+-#~ msgstr "Umumaro Insobanuro"
+-
+-#, fuzzy
+-#~ msgid "function definition declared `register'"
+-#~ msgstr "Umumaro Insobanuro"
+-
+-#, fuzzy
+-#~ msgid "function definition declared `typedef'"
+-#~ msgstr "Umumaro Insobanuro"
+-
+-#, fuzzy
+-#~ msgid "function definition declared `__thread'"
+-#~ msgstr "Umumaro Insobanuro"
+-
+-#, fuzzy
+-#~ msgid "storage class specified for structure field `%s'"
+-#~ msgstr "ishuri kugirango Imiterere Umwanya"
+-
+-#, fuzzy
+-#~ msgid "storage class specified for parameter `%s'"
+-#~ msgstr "ishuri kugirango"
+-
+-#, fuzzy
+-#~ msgid "storage class specified for typename"
+-#~ msgstr "ishuri kugirango"
+-
+-#, fuzzy
+-#~ msgid "`%s' initialized and declared `extern'"
+-#~ msgstr "`%s'Na"
+-
+-#, fuzzy
+-#~ msgid "`%s' has both `extern' and initializer"
+-#~ msgstr "`%s'Byombi Na"
+-
+-#, fuzzy
+-#~ msgid "top-level declaration of `%s' specifies `auto'"
+-#~ msgstr "Hejuru: urwego Bya"
+-
+-#, fuzzy
+-#~ msgid "nested function `%s' declared `extern'"
+-#~ msgstr "Umumaro"
+-
+-#, fuzzy
+-#~ msgid "function-scope `%s' implicitly auto and declared `__thread'"
+-#~ msgstr "Umumaro Ingano: Ikiyega Na"
+-
+-#, fuzzy
+-#~ msgid "static or type qualifiers in non-parameter array declarator"
+-#~ msgstr "Cyangwa Ubwoko in Imbonerahamwe"
+-
+-#, fuzzy
+-#~ msgid "declaration of `%s' as array of voids"
+-#~ msgstr "Bya Nka Imbonerahamwe Bya"
+-
+-#, fuzzy
+-#~ msgid "declaration of `%s' as array of functions"
+-#~ msgstr "Bya Nka Imbonerahamwe Bya Imimaro"
+-
+-#, fuzzy
+-#~ msgid "invalid use of structure with flexible array member"
+-#~ msgstr "Sibyo Gukoresha Bya Imiterere Na: Imbonerahamwe"
+-
+-#, fuzzy
+-#~ msgid "size of array `%s' has non-integer type"
+-#~ msgstr "Ingano Bya Imbonerahamwe Umubare wuzuye Ubwoko"
+-
+-#, fuzzy
+-#~ msgid "ISO C forbids zero-size array `%s'"
+-#~ msgstr "C Zeru Ingano Imbonerahamwe"
+-
+-#, fuzzy
+-#~ msgid "size of array `%s' is negative"
+-#~ msgstr "Ingano Bya Imbonerahamwe ni"
+-
+-#, fuzzy
+-#~ msgid "ISO C90 forbids array `%s' whose size can't be evaluated"
+-#~ msgstr "Imbonerahamwe bya Ingano"
+-
+-#, fuzzy
+-#~ msgid "ISO C90 forbids variable-size array `%s'"
+-#~ msgstr "IMPINDURAGACIRO Ingano Imbonerahamwe"
+-
+-#, fuzzy
+-#~ msgid "size of array `%s' is too large"
+-#~ msgstr "Ingano Bya Imbonerahamwe ni Binini"
+-
+-#, fuzzy
+-#~ msgid "ISO C90 does not support flexible array members"
+-#~ msgstr "OYA Gushigikira Imbonerahamwe"
+-
+-#, fuzzy
+-#~ msgid "array type has incomplete element type"
+-#~ msgstr "Imbonerahamwe Ubwoko Ikigize: Ubwoko"
+-
+-#, fuzzy
+-#~ msgid "ISO C forbids const or volatile function types"
+-#~ msgstr "C Cyangwa Umumaro"
+-
+-#, fuzzy
+-#~ msgid "`%s' declared as function returning a function"
+-#~ msgstr "`%s'Nka Umumaro a Umumaro"
+-
+-#, fuzzy
+-#~ msgid "`%s' declared as function returning an array"
+-#~ msgstr "`%s'Nka Umumaro Imbonerahamwe"
+-
+-#, fuzzy
+-#~ msgid "ISO C forbids qualified void function return type"
+-#~ msgstr "C Umumaro Garuka Ubwoko"
+-
+-#, fuzzy
+-#~ msgid "type qualifiers ignored on function return type"
+-#~ msgstr "Ubwoko ku Umumaro Garuka Ubwoko"
+-
+-#, fuzzy
+-#~ msgid "ISO C forbids qualified function types"
+-#~ msgstr "C Umumaro"
+-
+-#, fuzzy
+-#~ msgid "invalid type modifier within pointer declarator"
+-#~ msgstr "Sibyo Ubwoko muri Mweretsi"
+-
+-#, fuzzy
+-#~ msgid "variable or field `%s' declared void"
+-#~ msgstr "IMPINDURAGACIRO Cyangwa Umwanya"
+-
+-#, fuzzy
+-#~ msgid "attributes in parameter array declarator ignored"
+-#~ msgstr "Ibiranga in Imbonerahamwe"
+-
+-#, fuzzy
+-#~ msgid "invalid type modifier within array declarator"
+-#~ msgstr "Sibyo Ubwoko muri Imbonerahamwe"
+-
+-#, fuzzy
+-#~ msgid "field `%s' declared as a function"
+-#~ msgstr "Umwanya Nka a Umumaro"
+-
+-#, fuzzy
+-#~ msgid "field `%s' has incomplete type"
+-#~ msgstr "Umwanya Ubwoko"
+-
+-#, fuzzy
+-#~ msgid "invalid storage class for function `%s'"
+-#~ msgstr "Sibyo ishuri kugirango Umumaro"
+-
+-#, fuzzy
+-#~ msgid "`noreturn' function returns non-void value"
+-#~ msgstr "`Umumaro Agaciro"
+-
+-#, fuzzy
+-#~ msgid "cannot inline function `main'"
+-#~ msgstr "Mumurongo Umumaro"
+-
+-#, fuzzy
+-#~ msgid "variable `%s' declared `inline'"
+-#~ msgstr "IMPINDURAGACIRO"
+-
+-#, fuzzy
+-#~ msgid "thread-local storage not supported for this target"
+-#~ msgstr "Urudodo OYA kugirango iyi Intego"
+-
+-#, fuzzy
+-#~ msgid "function declaration isn't a prototype"
+-#~ msgstr "Umumaro si a"
+-
+-#, fuzzy
+-#~ msgid "parameter names (without types) in function declaration"
+-#~ msgstr "Amazina in Umumaro"
+-
+-#, fuzzy
+-#~ msgid "parameter `%s' has incomplete type"
+-#~ msgstr "Ubwoko"
+-
+-#, fuzzy
+-#~ msgid "parameter has incomplete type"
+-#~ msgstr "Ubwoko"
+-
+-#, fuzzy
+-#~ msgid "parameter `%s' points to incomplete type"
+-#~ msgstr "Utudomo Kuri Ubwoko"
+-
+-#, fuzzy
+-#~ msgid "parameter points to incomplete type"
+-#~ msgstr "Utudomo Kuri Ubwoko"
+-
+-#, fuzzy
+-#~ msgid "parameter `%s' has just a forward declaration"
+-#~ msgstr "a Imbere"
+-
+-#, fuzzy
+-#~ msgid "`void' in parameter list must be the entire list"
+-#~ msgstr "`in Urutonde i Urutonde"
+-
+-#, fuzzy
+-#~ msgid "`struct %s' declared inside parameter list"
+-#~ msgstr "`Mo Imbere Urutonde"
+-
+-#, fuzzy
+-#~ msgid "`union %s' declared inside parameter list"
+-#~ msgstr "`Ihuza Mo Imbere Urutonde"
+-
+-#, fuzzy
+-#~ msgid "`enum %s' declared inside parameter list"
+-#~ msgstr "`Mo Imbere Urutonde"
+-
+-#, fuzzy
+-#~ msgid "anonymous struct declared inside parameter list"
+-#~ msgstr "Mo Imbere Urutonde"
+-
+-#, fuzzy
+-#~ msgid "anonymous union declared inside parameter list"
+-#~ msgstr "Ihuza Mo Imbere Urutonde"
+-
+-#, fuzzy
+-#~ msgid "anonymous enum declared inside parameter list"
+-#~ msgstr "Mo Imbere Urutonde"
+-
+-#, fuzzy
+-#~ msgid "its scope is only this definition or declaration, which is probably not what you want"
+-#~ msgstr "Ingano: ni iyi Insobanuro Cyangwa ni OYA"
+-
+-#, fuzzy
+-#~ msgid "redefinition of `union %s'"
+-#~ msgstr "Bya Ihuza"
+-
+-#, fuzzy
+-#~ msgid "redefinition of `struct %s'"
+-#~ msgstr "Bya"
+-
+-#, fuzzy
+-#~ msgid "declaration does not declare anything"
+-#~ msgstr "OYA"
+-
+-#, fuzzy
+-#~ msgid "%s defined inside parms"
+-#~ msgstr "%sMo Imbere"
+-
+-# starmath/source\smres.src:RID_TOOLBOXWINDOW.3.RID_XUNIONY.text
+-#, fuzzy
+-#~ msgid "union"
+-#~ msgstr "Ihuza"
+-
+-# sc/source\ui\formdlg\formdlgs.src:RID_SCTAB_STRUCT.FT_STRUCT.text
+-#, fuzzy
+-#~ msgid "structure"
+-#~ msgstr "Imiterere"
+-
+-#, fuzzy
+-#~ msgid "%s has no %s"
+-#~ msgstr "%sOya"
+-
+-#, fuzzy
+-#~ msgid "nested redefinition of `%s'"
+-#~ msgstr "Bya"
+-
+-#, fuzzy
+-#~ msgid "bit-field `%s' width not an integer constant"
+-#~ msgstr "Umwanya Ubugari OYA Umubare wuzuye"
+-
+-#, fuzzy
+-#~ msgid "bit-field `%s' has invalid type"
+-#~ msgstr "Umwanya Sibyo Ubwoko"
+-
+-#, fuzzy
+-#~ msgid "bit-field `%s' type invalid in ISO C"
+-#~ msgstr "Umwanya Ubwoko Sibyo in C"
+-
+-#, fuzzy
+-#~ msgid "negative width in bit-field `%s'"
+-#~ msgstr "Ubugari in Umwanya"
+-
+-#, fuzzy
+-#~ msgid "width of `%s' exceeds its type"
+-#~ msgstr "Ubugari Bya Ubwoko"
+-
+-#, fuzzy
+-#~ msgid "zero width for bit-field `%s'"
+-#~ msgstr "Zeru Ubugari kugirango Umwanya"
+-
+-#, fuzzy
+-#~ msgid "`%s' is narrower than values of its type"
+-#~ msgstr "`%s'ni Uduciro Bya Ubwoko"
+-
+-#, fuzzy
+-#~ msgid "flexible array member in union"
+-#~ msgstr "Imbonerahamwe in Ihuza"
+-
+-#, fuzzy
+-#~ msgid "flexible array member not at end of struct"
+-#~ msgstr "Imbonerahamwe OYA ku Impera Bya"
+-
+-#, fuzzy
+-#~ msgid "flexible array member in otherwise empty struct"
+-#~ msgstr "Imbonerahamwe in ubusa"
+-
+-#, fuzzy
+-#~ msgid "duplicate member `%s'"
+-#~ msgstr "Gusubiramo"
+-
+-#, fuzzy
+-#~ msgid "union cannot be made transparent"
+-#~ msgstr "Ihuza Bibonerana"
+-
+-#, fuzzy
+-#~ msgid "redeclaration of `enum %s'"
+-#~ msgstr "Bya"
+-
+-#, fuzzy
+-#~ msgid "enum defined inside parms"
+-#~ msgstr "Mo Imbere"
+-
+-#, fuzzy
+-#~ msgid "enumeration values exceed range of largest integer"
+-#~ msgstr "Uduciro Urutonde Bya Kinini Umubare wuzuye"
+-
+-#, fuzzy
+-#~ msgid "enumerator value for `%s' not integer constant"
+-#~ msgstr "Agaciro kugirango OYA Umubare wuzuye"
+-
+-#, fuzzy
+-#~ msgid "overflow in enumeration values"
+-#~ msgstr "Byarenze urugero in Uduciro"
+-
+-#, fuzzy
+-#~ msgid "ISO C restricts enumerator values to range of `int'"
+-#~ msgstr "C Uduciro Kuri Urutonde Bya"
+-
+-#, fuzzy
+-#~ msgid "return type is an incomplete type"
+-#~ msgstr "Garuka Ubwoko ni Ubwoko"
+-
+-#, fuzzy
+-#~ msgid "return type defaults to `int'"
+-#~ msgstr "Garuka Ubwoko Kuri"
+-
+-#, fuzzy
+-#~ msgid "no previous prototype for `%s'"
+-#~ msgstr "Oya Ibanjirije kugirango"
+-
+-#, fuzzy
+-#~ msgid "`%s' was used with no prototype before its definition"
+-#~ msgstr "`%s'Na: Oya Mbere Insobanuro"
+-
+-#, fuzzy
+-#~ msgid "no previous declaration for `%s'"
+-#~ msgstr "Oya Ibanjirije kugirango"
+-
+-#, fuzzy
+-#~ msgid "`%s' was used with no declaration before its definition"
+-#~ msgstr "`%s'Na: Oya Mbere Insobanuro"
+-
+-#, fuzzy
+-#~ msgid "return type of `%s' is not `int'"
+-#~ msgstr "Garuka Ubwoko Bya ni OYA"
+-
+-#, fuzzy
+-#~ msgid "first argument of `%s' should be `int'"
+-#~ msgstr "Itangira Bya"
+-
+-#, fuzzy
+-#~ msgid "second argument of `%s' should be `char **'"
+-#~ msgstr "ISEGONDA Bya INYUGUTI"
+-
+-#, fuzzy
+-#~ msgid "third argument of `%s' should probably be `char **'"
+-#~ msgstr "Bya INYUGUTI"
+-
+-#, fuzzy
+-#~ msgid "`%s' takes only zero or two arguments"
+-#~ msgstr "`%s'Zeru Cyangwa ingingo"
+-
+-#, fuzzy
+-#~ msgid "`%s' is normally a non-static function"
+-#~ msgstr "`%s'ni a Umumaro"
+-
+-#, fuzzy
+-#~ msgid "parm types given both in parmlist and separately"
+-#~ msgstr "Byombi in Na"
+-
+-#, fuzzy
+-#~ msgid "parameter name omitted"
+-#~ msgstr "Izina:"
+-
+-#, fuzzy
+-#~ msgid "parameter name missing from parameter list"
+-#~ msgstr "Izina: Ibuze Bivuye Urutonde"
+-
+-#, fuzzy
+-#~ msgid "multiple parameters named `%s'"
+-#~ msgstr "Igikubo Ibigenga"
+-
+-#, fuzzy
+-#~ msgid "type of `%s' defaults to `int'"
+-#~ msgstr "Ubwoko Bya Kuri"
+-
+-#, fuzzy
+-#~ msgid "declaration for parameter `%s' but no such parameter"
+-#~ msgstr "kugirango Oya"
+-
+-#, fuzzy
+-#~ msgid "number of arguments doesn't match prototype"
+-#~ msgstr "Umubare Bya ingingo BIHUYE"
+-
+-#, fuzzy
+-#~ msgid "promoted argument `%s' doesn't match prototype"
+-#~ msgstr "BIHUYE"
+-
+-#, fuzzy
+-#~ msgid "argument `%s' doesn't match prototype"
+-#~ msgstr "BIHUYE"
+-
+-#, fuzzy
+-#~ msgid "no return statement in function returning non-void"
+-#~ msgstr "Oya Garuka Inyandiko in Umumaro"
+-
+-#, fuzzy
+-#~ msgid "this function may return with or without a value"
+-#~ msgstr "iyi Umumaro Gicurasi Garuka Na: Cyangwa a Agaciro"
+-
+-#, fuzzy
+-#~ msgid "size of return value of `%s' is %u bytes"
+-#~ msgstr "Ingano Bya Garuka Agaciro Bya ni Bayite"
+-
+-#, fuzzy
+-#~ msgid "size of return value of `%s' is larger than %d bytes"
+-#~ msgstr "Ingano Bya Garuka Agaciro Bya ni Kinini Bayite"
+-
+-#, fuzzy
+-#~ msgid "`for' loop initial declaration used outside C99 mode"
+-#~ msgstr "`Hanze Ubwoko"
+-
+-#, fuzzy
+-#~ msgid "`struct %s' declared in `for' loop initial declaration"
+-#~ msgstr "`in"
+-
+-#, fuzzy
+-#~ msgid "`union %s' declared in `for' loop initial declaration"
+-#~ msgstr "`Ihuza in"
+-
+-#, fuzzy
+-#~ msgid "`enum %s' declared in `for' loop initial declaration"
+-#~ msgstr "`in"
+-
+-#, fuzzy
+-#~ msgid "declaration of non-variable `%s' in `for' loop initial declaration"
+-#~ msgstr "Bya IMPINDURAGACIRO in"
+-
+-#, fuzzy
+-#~ msgid "declaration of static variable `%s' in `for' loop initial declaration"
+-#~ msgstr "Bya IMPINDURAGACIRO in"
+-
+-#, fuzzy
+-#~ msgid "declaration of `extern' variable `%s' in `for' loop initial declaration"
+-#~ msgstr "Bya IMPINDURAGACIRO in"
+-
+-#, fuzzy
+-#~ msgid "format string arg not a string type"
+-#~ msgstr "Imiterere Ikurikiranyanyuguti OYA a Ikurikiranyanyuguti Ubwoko"
+-
+-#, fuzzy
+-#~ msgid "args to be formatted is not '...'"
+-#~ msgstr "Kuri Byahanaguwe ni OYA"
+-
+-#, fuzzy
+-#~ msgid "strftime formats cannot format arguments"
+-#~ msgstr "Imiterere Imiterere ingingo"
+-
+-#, fuzzy
+-#~ msgid "format string has invalid operand number"
+-#~ msgstr "Imiterere Ikurikiranyanyuguti Sibyo Umubare"
+-
+-#, fuzzy
+-#~ msgid "function does not return string type"
+-#~ msgstr "Umumaro OYA Garuka Ikurikiranyanyuguti Ubwoko"
+-
+-#, fuzzy
+-#~ msgid "unrecognized format specifier"
+-#~ msgstr "Imiterere"
+-
+-#, fuzzy
+-#~ msgid "`%s' is an unrecognized format function type"
+-#~ msgstr "`%s'ni Imiterere Umumaro Ubwoko"
+-
+-#, fuzzy
+-#~ msgid "format string arg follows the args to be formatted"
+-#~ msgstr "Imiterere Ikurikiranyanyuguti i Kuri Byahanaguwe"
+-
+-#, fuzzy
+-#~ msgid "` ' flag"
+-#~ msgstr "`'Ibendera"
+-
+-#, fuzzy
+-#~ msgid "the ` ' printf flag"
+-#~ msgstr "i Ibendera"
+-
+-#, fuzzy
+-#~ msgid "`+' flag"
+-#~ msgstr "`+'Ibendera"
+-
+-#, fuzzy
+-#~ msgid "the `+' printf flag"
+-#~ msgstr "i Ibendera"
+-
+-#, fuzzy
+-#~ msgid "`#' flag"
+-#~ msgstr "`#'Ibendera"
+-
+-#, fuzzy
+-#~ msgid "the `#' printf flag"
+-#~ msgstr "i Ibendera"
+-
+-#, fuzzy
+-#~ msgid "`0' flag"
+-#~ msgstr "`Ibendera"
+-
+-#, fuzzy
+-#~ msgid "the `0' printf flag"
+-#~ msgstr "i Ibendera"
+-
+-#, fuzzy
+-#~ msgid "`-' flag"
+-#~ msgstr "`-'Ibendera"
+-
+-#, fuzzy
+-#~ msgid "the `-' printf flag"
+-#~ msgstr "i Ibendera"
+-
+-#, fuzzy
+-#~ msgid "`'' flag"
+-#~ msgstr "`''Ibendera"
+-
+-#, fuzzy
+-#~ msgid "the `'' printf flag"
+-#~ msgstr "i Ibendera"
+-
+-#, fuzzy
+-#~ msgid "`I' flag"
+-#~ msgstr "`Ibendera"
+-
+-#, fuzzy
+-#~ msgid "the `I' printf flag"
+-#~ msgstr "i Ibendera"
+-
+-#, fuzzy
+-#~ msgid "field width"
+-#~ msgstr "Umwanya Ubugari"
+-
+-#, fuzzy
+-#~ msgid "field width in printf format"
+-#~ msgstr "Umwanya Ubugari in Imiterere"
+-
+-#, fuzzy
+-#~ msgid "precision in printf format"
+-#~ msgstr "in Imiterere"
+-
+-#, fuzzy
+-#~ msgid "length modifier"
+-#~ msgstr "Uburebure"
+-
+-#, fuzzy
+-#~ msgid "length modifier in printf format"
+-#~ msgstr "Uburebure in Imiterere"
+-
+-#, fuzzy
+-#~ msgid "assignment suppression"
+-#~ msgstr "Igenera"
+-
+-#, fuzzy
+-#~ msgid "the assignment suppression scanf feature"
+-#~ msgstr "i Igenera"
+-
+-#, fuzzy
+-#~ msgid "`a' flag"
+-#~ msgstr "`Ibendera"
+-
+-#, fuzzy
+-#~ msgid "the `a' scanf flag"
+-#~ msgstr "i Ibendera"
+-
+-#, fuzzy
+-#~ msgid "field width in scanf format"
+-#~ msgstr "Umwanya Ubugari in Imiterere"
+-
+-#, fuzzy
+-#~ msgid "length modifier in scanf format"
+-#~ msgstr "Uburebure in Imiterere"
+-
+-#, fuzzy
+-#~ msgid "the `'' scanf flag"
+-#~ msgstr "i Ibendera"
+-
+-#, fuzzy
+-#~ msgid "the `I' scanf flag"
+-#~ msgstr "i Ibendera"
+-
+-#, fuzzy
+-#~ msgid "`_' flag"
+-#~ msgstr "`_'Ibendera"
+-
+-#, fuzzy
+-#~ msgid "the `_' strftime flag"
+-#~ msgstr "i Ibendera"
+-
+-#, fuzzy
+-#~ msgid "the `-' strftime flag"
+-#~ msgstr "i Ibendera"
+-
+-#, fuzzy
+-#~ msgid "the `0' strftime flag"
+-#~ msgstr "i Ibendera"
+-
+-#, fuzzy
+-#~ msgid "`^' flag"
+-#~ msgstr "`^'Ibendera"
+-
+-#, fuzzy
+-#~ msgid "the `^' strftime flag"
+-#~ msgstr "i Ibendera"
+-
+-#, fuzzy
+-#~ msgid "the `#' strftime flag"
+-#~ msgstr "i Ibendera"
+-
+-#, fuzzy
+-#~ msgid "field width in strftime format"
+-#~ msgstr "Umwanya Ubugari in Imiterere"
+-
+-#, fuzzy
+-#~ msgid "the `E' strftime modifier"
+-#~ msgstr "i"
+-
+-#, fuzzy
+-#~ msgid "the `O' strftime modifier"
+-#~ msgstr "i"
+-
+-#, fuzzy
+-#~ msgid "the `O' modifier"
+-#~ msgstr "i"
+-
+-# svx/source\dialog\tabstpge.src:RID_SVXPAGE_TABULATOR.FL_FILLCHAR.text
+-#, fuzzy
+-#~ msgid "fill character"
+-#~ msgstr "Kuzuza inyuguti"
+-
+-#, fuzzy
+-#~ msgid "fill character in strfmon format"
+-#~ msgstr "Kuzuza Inyuguti in Imiterere"
+-
+-#, fuzzy
+-#~ msgid "the `^' strfmon flag"
+-#~ msgstr "i Ibendera"
+-
+-#, fuzzy
+-#~ msgid "the `+' strfmon flag"
+-#~ msgstr "i Ibendera"
+-
+-#, fuzzy
+-#~ msgid "`(' flag"
+-#~ msgstr "`('Ibendera"
+-
+-#, fuzzy
+-#~ msgid "the `(' strfmon flag"
+-#~ msgstr "i Ibendera"
+-
+-#, fuzzy
+-#~ msgid "`!' flag"
+-#~ msgstr "`!'Ibendera"
+-
+-#, fuzzy
+-#~ msgid "the `!' strfmon flag"
+-#~ msgstr "i Ibendera"
+-
+-#, fuzzy
+-#~ msgid "the `-' strfmon flag"
+-#~ msgstr "i Ibendera"
+-
+-#, fuzzy
+-#~ msgid "field width in strfmon format"
+-#~ msgstr "Umwanya Ubugari in Imiterere"
+-
+-#, fuzzy
+-#~ msgid "left precision"
+-#~ msgstr "Ibumoso:"
+-
+-#, fuzzy
+-#~ msgid "left precision in strfmon format"
+-#~ msgstr "Ibumoso: in Imiterere"
+-
+-#, fuzzy
+-#~ msgid "right precision"
+-#~ msgstr "Iburyo:"
+-
+-#, fuzzy
+-#~ msgid "right precision in strfmon format"
+-#~ msgstr "Iburyo: in Imiterere"
+-
+-#, fuzzy
+-#~ msgid "length modifier in strfmon format"
+-#~ msgstr "Uburebure in Imiterere"
+-
+-#, fuzzy
+-#~ msgid "function might be possible candidate for `%s' format attribute"
+-#~ msgstr "Umumaro kugirango Imiterere Ikiranga"
+-
+-#, fuzzy
+-#~ msgid "missing $ operand number in format"
+-#~ msgstr "Ibuze Umubare in Imiterere"
+-
+-#, fuzzy
+-#~ msgid "%s does not support %%n$ operand number formats"
+-#~ msgstr "%sOYA Gushigikira Umubare Imiterere"
+-
+-#, fuzzy
+-#~ msgid "operand number out of range in format"
+-#~ msgstr "Umubare Inyuma Bya Urutonde in Imiterere"
+-
+-#, fuzzy
+-#~ msgid "format argument %d used more than once in %s format"
+-#~ msgstr "Imiterere Birenzeho Rimwe in Imiterere"
+-
+-#, fuzzy
+-#~ msgid "format argument %d unused before used argument %d in $-style format"
+-#~ msgstr "Imiterere Kidakoreshwa Mbere in IMISUSIRE Imiterere"
+-
+-#, fuzzy
+-#~ msgid "format not a string literal, format string not checked"
+-#~ msgstr "Imiterere OYA a Ikurikiranyanyuguti Imiterere Ikurikiranyanyuguti OYA Ivivuwe"
+-
+-#, fuzzy
+-#~ msgid "format not a string literal and no format arguments"
+-#~ msgstr "Imiterere OYA a Ikurikiranyanyuguti Na Oya Imiterere ingingo"
+-
+-#, fuzzy
+-#~ msgid "format not a string literal, argument types not checked"
+-#~ msgstr "Imiterere OYA a Ikurikiranyanyuguti OYA Ivivuwe"
+-
+-#, fuzzy
+-#~ msgid "too many arguments for format"
+-#~ msgstr "ingingo kugirango Imiterere"
+-
+-#, fuzzy
+-#~ msgid "unused arguments in $-style format"
+-#~ msgstr "Kidakoreshwa ingingo in IMISUSIRE Imiterere"
+-
+-#, fuzzy
+-#~ msgid "zero-length %s format string"
+-#~ msgstr "Zeru Uburebure Imiterere Ikurikiranyanyuguti"
+-
+-#, fuzzy
+-#~ msgid "format is a wide character string"
+-#~ msgstr "Imiterere ni a Inyuguti Ikurikiranyanyuguti"
+-
+-#, fuzzy
+-#~ msgid "unterminated format string"
+-#~ msgstr "Imiterere Ikurikiranyanyuguti"
+-
+-#, fuzzy
+-#~ msgid "embedded `\\0' in format"
+-#~ msgstr "Gitsindiye in Imiterere"
+-
+-#, fuzzy
+-#~ msgid "spurious trailing `%%' in format"
+-#~ msgstr "in Imiterere"
+-
+-#, fuzzy
+-#~ msgid "repeated %s in format"
+-#~ msgstr "byasubiyemo in Imiterere"
+-
+-#, fuzzy
+-#~ msgid "missing fill character at end of strfmon format"
+-#~ msgstr "Ibuze Kuzuza Inyuguti ku Impera Bya Imiterere"
+-
+-#, fuzzy
+-#~ msgid "too few arguments for format"
+-#~ msgstr "ingingo kugirango Imiterere"
+-
+-#, fuzzy
+-#~ msgid "zero width in %s format"
+-#~ msgstr "Zeru Ubugari in Imiterere"
+-
+-#, fuzzy
+-#~ msgid "empty left precision in %s format"
+-#~ msgstr "ubusa Ibumoso: in Imiterere"
+-
+-#, fuzzy
+-#~ msgid "field precision"
+-#~ msgstr "Umwanya"
+-
+-#, fuzzy
+-#~ msgid "empty precision in %s format"
+-#~ msgstr "ubusa in Imiterere"
+-
+-#, fuzzy
+-#~ msgid "%s does not support the `%s' %s length modifier"
+-#~ msgstr "%sOYA Gushigikira i Uburebure"
+-
+-#, fuzzy
+-#~ msgid "conversion lacks type at end of format"
+-#~ msgstr "Ihindurangero Ubwoko ku Impera Bya Imiterere"
+-
+-#, fuzzy
+-#~ msgid "unknown conversion type character `%c' in format"
+-#~ msgstr "Kitazwi Ihindurangero Ubwoko Inyuguti in Imiterere"
+-
+-#, fuzzy
+-#~ msgid "unknown conversion type character 0x%x in format"
+-#~ msgstr "Kitazwi Ihindurangero Ubwoko Inyuguti in Imiterere"
+-
+-#, fuzzy
+-#~ msgid "%s does not support the `%%%c' %s format"
+-#~ msgstr "%sOYA Gushigikira i Imiterere"
+-
+-#, fuzzy
+-#~ msgid "%s used with `%%%c' %s format"
+-#~ msgstr "%sNa: Imiterere"
+-
+-#, fuzzy
+-#~ msgid "%s does not support %s"
+-#~ msgstr "%sOYA Gushigikira"
+-
+-#, fuzzy
+-#~ msgid "%s does not support %s with the `%%%c' %s format"
+-#~ msgstr "%sOYA Gushigikira Na: i Imiterere"
+-
+-#, fuzzy
+-#~ msgid "%s ignored with %s and `%%%c' %s format"
+-#~ msgstr "%sNa: Na Imiterere"
+-
+-#, fuzzy
+-#~ msgid "%s ignored with %s in %s format"
+-#~ msgstr "%sNa: in Imiterere"
+-
+-#, fuzzy
+-#~ msgid "use of %s and %s together with `%%%c' %s format"
+-#~ msgstr "Gukoresha Bya Na Na: Imiterere"
+-
+-#, fuzzy
+-#~ msgid "use of %s and %s together in %s format"
+-#~ msgstr "Gukoresha Bya Na in Imiterere"
+-
+-#, fuzzy
+-#~ msgid "`%%%c' yields only last 2 digits of year in some locales"
+-#~ msgstr "`%%%c'Iheruka 2. Bya Umwaka in"
+-
+-#, fuzzy
+-#~ msgid "`%%%c' yields only last 2 digits of year"
+-#~ msgstr "`%%%c'Iheruka 2. Bya Umwaka"
+-
+-#, fuzzy
+-#~ msgid "no closing `]' for `%%[' format"
+-#~ msgstr "Oya kugirango Imiterere"
+-
+-#, fuzzy
+-#~ msgid "use of `%s' length modifier with `%c' type character"
+-#~ msgstr "Gukoresha Bya Uburebure Na: Ubwoko Inyuguti"
+-
+-#, fuzzy
+-#~ msgid "%s does not support the `%%%s%c' %s format"
+-#~ msgstr "%sOYA Gushigikira i Imiterere"
+-
+-#, fuzzy
+-#~ msgid "operand number specified with suppressed assignment"
+-#~ msgstr "Umubare Na: Igenera"
+-
+-#, fuzzy
+-#~ msgid "operand number specified for format taking no argument"
+-#~ msgstr "Umubare kugirango Imiterere Oya"
+-
+-#, fuzzy
+-#~ msgid "writing through null pointer (arg %d)"
+-#~ msgstr "Gihinguranya NTAGIHARI Mweretsi"
+-
+-#, fuzzy
+-#~ msgid "reading through null pointer (arg %d)"
+-#~ msgstr "Gihinguranya NTAGIHARI Mweretsi"
+-
+-#, fuzzy
+-#~ msgid "writing into constant object (arg %d)"
+-#~ msgstr "Igikoresho"
+-
+-#, fuzzy
+-#~ msgid "extra type qualifiers in format argument (arg %d)"
+-#~ msgstr "Birenga Ubwoko in Imiterere"
+-
+-#, fuzzy
+-#~ msgid "format argument is not a pointer (arg %d)"
+-#~ msgstr "Imiterere ni OYA a Mweretsi"
+-
+-#, fuzzy
+-#~ msgid "format argument is not a pointer to a pointer (arg %d)"
+-#~ msgstr "Imiterere ni OYA a Mweretsi Kuri a Mweretsi"
+-
+-#, fuzzy
+-#~ msgid "pointer"
+-#~ msgstr "Mweretsi"
+-
+-#, fuzzy
+-#~ msgid "different type"
+-#~ msgstr "Ubwoko"
+-
+-#, fuzzy
+-#~ msgid "%s is not type %s (arg %d)"
+-#~ msgstr "%sni OYA Ubwoko"
+-
+-#, fuzzy
+-#~ msgid "%s format, %s arg (arg %d)"
+-#~ msgstr "%sImiterere"
+-
+-#, fuzzy
+-#~ msgid "YYDEBUG not defined"
+-#~ msgstr "OYA"
+-
+-#, fuzzy
+-#~ msgid "badly nested C headers from preprocessor"
+-#~ msgstr "C Imitwe Bivuye"
+-
+-#, fuzzy
+-#~ msgid "universal-character-name '\\u%04x' not valid in identifier"
+-#~ msgstr "Ky'isi yose Inyuguti Izina: OYA Byemewe in Ikiranga"
+-
+-#, fuzzy
+-#~ msgid "stray '%c' in program"
+-#~ msgstr "in Porogaramu"
+-
+-#, fuzzy
+-#~ msgid "stray '\\%o' in program"
+-#~ msgstr "in Porogaramu"
+-
+-#, fuzzy
+-#~ msgid "this decimal constant is unsigned only in ISO C90"
+-#~ msgstr "iyi NYACUMI ni Bitashizweho umukono in"
+-
+-#, fuzzy
+-#~ msgid "this decimal constant would be unsigned in ISO C90"
+-#~ msgstr "iyi NYACUMI Bitashizweho umukono in"
+-
+-#, fuzzy
+-#~ msgid "integer constant is too large for \"%s\" type"
+-#~ msgstr "Umubare wuzuye ni Binini kugirango Ubwoko"
+-
+-#, fuzzy
+-#~ msgid "floating constant exceeds range of \"%s\""
+-#~ msgstr "Bihindagurika Urutonde Bya"
+-
+-#, fuzzy
+-#~ msgid "ignoring invalid multibyte character"
+-#~ msgstr "Sibyo Inyuguti"
+-
+-#, fuzzy
+-#~ msgid "missing argument to \"-%s\""
+-#~ msgstr "Ibuze Kuri"
+-
+-#, fuzzy
+-#~ msgid "no class name specified with \"-%s\""
+-#~ msgstr "Oya ishuri Izina: Na:"
+-
+-#, fuzzy
+-#~ msgid "missing filename after \"-%s\""
+-#~ msgstr "Ibuze Izina ry'idosiye: Nyuma"
+-
+-#, fuzzy
+-#~ msgid "missing target after \"-%s\""
+-#~ msgstr "Ibuze Intego Nyuma"
+-
+-#, fuzzy
+-#~ msgid "options array incorrectly sorted: %s is before %s"
+-#~ msgstr "Amahitamo Imbonerahamwe bishunguwe ni Mbere"
+-
+-#, fuzzy
+-#~ msgid "too many filenames given. Type %s --help for usage"
+-#~ msgstr "Ifashayobora kugirango Ikoresha:"
+-
+-#, fuzzy
+-#~ msgid "-Wno-strict-prototypes is not supported in C++"
+-#~ msgstr "-ni OYA in C"
+-
+-#, fuzzy
+-#~ msgid "switch \"%s\" is no longer supported"
+-#~ msgstr "Hindura ni Oya"
+-
+-#, fuzzy
+-#~ msgid "switch \"%s\" is deprecated, please see documentation for details"
+-#~ msgstr "Hindura ni Bitemewe. kugirango Birambuye"
+-
+-#, fuzzy
+-#~ msgid "-fhandle-exceptions has been renamed to -fexceptions (and is now on by default)"
+-#~ msgstr "-Amarengayobora Kuri Na ni NONEAHA ku ku Mburabuzi"
+-
+-#, fuzzy
+-#~ msgid "output filename specified twice"
+-#~ msgstr "Ibisohoka Izina ry'idosiye:"
+-
+-#, fuzzy
+-#~ msgid "-Wformat-extra-args ignored without -Wformat"
+-#~ msgstr "-Birenga"
+-
+-#, fuzzy
+-#~ msgid "-Wformat-zero-length ignored without -Wformat"
+-#~ msgstr "-Zeru Uburebure"
+-
+-#, fuzzy
+-#~ msgid "-Wformat-security ignored without -Wformat"
+-#~ msgstr "-Umutekano"
+-
+-#, fuzzy
+-#~ msgid "-Wmissing-format-attribute ignored without -Wformat"
+-#~ msgstr "-Imiterere Ikiranga"
+-
+-#, fuzzy
+-#~ msgid "opening output file %s"
+-#~ msgstr "Gufungura %s%S Ibisohoka IDOSIYE"
+-
+-#, fuzzy
+-#~ msgid "opening dependency file %s"
+-#~ msgstr "Gufungura %s%S IDOSIYE"
+-
+-#, fuzzy
+-#~ msgid "closing dependency file %s"
+-#~ msgstr "IDOSIYE"
+-
+-#, fuzzy
+-#~ msgid "when writing output to %s"
+-#~ msgstr "Ryari: Ibisohoka Kuri"
+-
+-#, fuzzy
+-#~ msgid "to generate dependencies you must specify either -M or -MM"
+-#~ msgstr "Kuri Cyangwa"
+-
+-#, fuzzy
+-#~ msgid "\"-%s\" is valid for %s but not for %s"
+-#~ msgstr "\"-%s\"ni Byemewe kugirango OYA kugirango"
+-
+-#, fuzzy
+-#~ msgid ""
+-#~ "Switches:\n"
+-#~ " -include <file> Include the contents of <file> before other files\n"
+-#~ " -imacros <file> Accept definition of macros in <file>\n"
+-#~ " -iprefix <path> Specify <path> as a prefix for next two options\n"
+-#~ " -iwithprefix <dir> Add <dir> to the end of the system include path\n"
+-#~ " -iwithprefixbefore <dir> Add <dir> to the end of the main include path\n"
+-#~ " -isystem <dir> Add <dir> to the start of the system include path\n"
+-#~ msgstr "Gushyiramo IDOSIYE i Ibigize Bya IDOSIYE Mbere Ikindi IDOSIYE Insobanuro Bya Makoro in IDOSIYE Inzira Inzira Nka a Imbanziriza kugirango Komeza>> Kuri i Impera Bya i Sisitemu Gushyiramo Kuri i Impera Bya i Gushyiramo Kuri i Gutangira Bya i Sisitemu Gushyiramo"
+-
+-#, fuzzy
+-#~ msgid ""
+-#~ " -idirafter <dir> Add <dir> to the end of the system include path\n"
+-#~ " -I <dir> Add <dir> to the end of the main include path\n"
+-#~ " -I- Fine-grained include path control; see info docs\n"
+-#~ " -nostdinc Do not search system include directories\n"
+-#~ " (dirs specified with -isystem will still be used)\n"
+-#~ " -nostdinc++ Do not search system include directories for C++\n"
+-#~ " -o <file> Put output into <file>\n"
+-#~ msgstr "-Kuri i Impera Bya i Sisitemu Gushyiramo Kuri i Impera Bya i Gushyiramo Gushyiramo Inzira Igenzura Ibisobanuro OYA Gushaka Sisitemu Gushyiramo Na: OYA Gushaka Sisitemu Gushyiramo ububiko bw'amaderese kugirango C o IDOSIYE Ibisohoka IDOSIYE"
+-
+-#, fuzzy
+-#~ msgid ""
+-#~ " -trigraphs Support ISO C trigraphs\n"
+-#~ " -std=<std name> Specify the conformance standard; one of:\n"
+-#~ " gnu89, gnu99, c89, c99, iso9899:1990,\n"
+-#~ " iso9899:199409, iso9899:1999, c++98\n"
+-#~ " -w Inhibit warning messages\n"
+-#~ " -W[no-]trigraphs Warn if trigraphs are encountered\n"
+-#~ " -W[no-]comment{s} Warn if one comment starts inside another\n"
+-#~ msgstr "-C STD STD Izina: i Bisanzwe Bya C W Iburira Oya NIBA Oya Icyo wongeraho S NIBA Icyo wongeraho Mo Imbere"
+-
+-#, fuzzy
+-#~ msgid ""
+-#~ " -W[no-]traditional Warn about features not present in traditional C\n"
+-#~ " -W[no-]undef Warn if an undefined macro is used by #if\n"
+-#~ " -W[no-]import Warn about the use of the #import directive\n"
+-#~ msgstr "-Oya Ibyerekeye Ibiranga OYA in Oya NIBA kidasobanuye Makoro ni ku Oya Kuzana Ibyerekeye i Gukoresha Bya i Kuzana"
+-
+-#, fuzzy
+-#~ msgid ""
+-#~ " -W[no-]error Treat all warnings as errors\n"
+-#~ " -W[no-]system-headers Do not suppress warnings from system headers\n"
+-#~ " -W[no-]all Enable most preprocessor warnings\n"
+-#~ msgstr "-Oya Ikosa Byose Iburira Nka Oya Sisitemu Imitwe OYA Iburira Bivuye Sisitemu Oya Byose"
+-
+-#, fuzzy
+-#~ msgid ""
+-#~ " -M Generate make dependencies\n"
+-#~ " -MM As -M, but ignore system header files\n"
+-#~ " -MD Generate make dependencies and compile\n"
+-#~ " -MMD As -MD, but ignore system header files\n"
+-#~ " -MF <file> Write dependency output to the given file\n"
+-#~ " -MG Treat missing header file as generated files\n"
+-#~ msgstr "-Ubwoko Kwirengagiza Sisitemu Umutwempangano Ubwoko Na Kwirengagiza Sisitemu Umutwempangano IDOSIYE Ibisohoka Kuri i Ibuze Umutwempangano IDOSIYE Nka"
+-
+-#, fuzzy
+-#~ msgid ""
+-#~ " -MP\t\t\t Generate phony targets for all headers\n"
+-#~ " -MQ <target> Add a MAKE-quoted target\n"
+-#~ " -MT <target> Add an unquoted target\n"
+-#~ msgstr "-kugirango Byose Intego a Intego"
+-
+-#, fuzzy
+-#~ msgid ""
+-#~ " -D<macro> Define a <macro> with string '1' as its value\n"
+-#~ " -D<macro>=<val> Define a <macro> with <val> as its value\n"
+-#~ " -A<question>=<answer> Assert the <answer> to <question>\n"
+-#~ " -A-<question>=<answer> Disable the <answer> to <question>\n"
+-#~ " -U<macro> Undefine <macro> \n"
+-#~ " -v Display the version number\n"
+-#~ msgstr "-Makoro a Makoro Na: Ikurikiranyanyuguti Nka Makoro a Makoro Na: Nka A i Kuri A i Kuri U Makoro Makoro v i Verisiyo"
+-
+-#, fuzzy
+-#~ msgid ""
+-#~ " -H Print the name of header files as they are used\n"
+-#~ " -C Do not discard comments\n"
+-#~ " -dM Display a list of macro definitions active at end\n"
+-#~ " -dD Preserve macro definitions in output\n"
+-#~ " -dN As -dD except that only the names are preserved\n"
+-#~ " -dI Include #include directives in the output\n"
+-#~ msgstr "-H i Izina: Bya Umutwempangano Idosiye Nka C OYA Kwanga a Urutonde Bya Makoro Gikora ku Makoro in i Amazina Gushyiramo in i"
+-
+-#, fuzzy
+-#~ msgid ""
+-#~ " -f[no-]preprocessed Treat the input file as already preprocessed\n"
+-#~ " -ftabstop=<number> Distance between tab stops for column reporting\n"
+-#~ " -P Do not generate #line directives\n"
+-#~ " -remap Remap file names when including files\n"
+-#~ " --help Display this information\n"
+-#~ msgstr "-F Oya i Iyinjiza IDOSIYE Nka Umubare hagati Isunika kugirango Inkingi OYA Umurongo IDOSIYE Amazina Ryari: Ifashayobora iyi"
+-
+-#~ msgid "syntax error"
+-#~ msgstr "Ikosa mu myandikire"
+-
+-#, fuzzy
+-#~ msgid "syntax error: cannot back up"
+-#~ msgstr "Ikosa Inyuma Hejuru"
+-
+-#, fuzzy
+-#~ msgid "ISO C forbids an empty source file"
+-#~ msgstr "C ubusa Inkomoko IDOSIYE"
+-
+-#, fuzzy
+-#~ msgid "argument of `asm' is not a constant string"
+-#~ msgstr "Bya ni OYA a Ikurikiranyanyuguti"
+-
+-#, fuzzy
+-#~ msgid "ISO C forbids data definition with no type or storage class"
+-#~ msgstr "C Ibyatanzwe Insobanuro Na: Oya Ubwoko Cyangwa ishuri"
+-
+-#, fuzzy
+-#~ msgid "data definition has no type or storage class"
+-#~ msgstr "Ibyatanzwe Insobanuro Oya Ubwoko Cyangwa ishuri"
+-
+-#, fuzzy
+-#~ msgid "ISO C does not allow extra `;' outside of a function"
+-#~ msgstr "C OYA Kwemerera Birenga Hanze Bya a Umumaro"
+-
+-#, fuzzy
+-#~ msgid "`sizeof' applied to a bit-field"
+-#~ msgstr "`Byashyizweho Kuri a Umwanya"
+-
+-#, fuzzy
+-#~ msgid "ISO C forbids omitting the middle term of a ?: expression"
+-#~ msgstr "C i Hagati Ijambo Bya a imvugo"
+-
+-#, fuzzy
+-#~ msgid "ISO C forbids braced-groups within expressions"
+-#~ msgstr "C Amatsinda muri"
+-
+-#, fuzzy
+-#~ msgid "first argument to __builtin_choose_expr not a constant"
+-#~ msgstr "Itangira Kuri OYA a"
+-
+-#, fuzzy
+-#~ msgid "traditional C rejects ISO C style function definitions"
+-#~ msgstr "C C IMISUSIRE Umumaro"
+-
+-#, fuzzy
+-#~ msgid "`%s' is not at beginning of declaration"
+-#~ msgstr "`%s'ni OYA ku Itangiriro Bya"
+-
+-#, fuzzy
+-#~ msgid "ISO C forbids empty initializer braces"
+-#~ msgstr "C ubusa Ingirwadusodeko"
+-
+-#, fuzzy
+-#~ msgid "ISO C89 forbids specifying subobject to initialize"
+-#~ msgstr "Kuri gutangiza"
+-
+-#, fuzzy
+-#~ msgid "obsolete use of designated initializer without `='"
+-#~ msgstr "Gukoresha Bya"
+-
+-#, fuzzy
+-#~ msgid "obsolete use of designated initializer with `:'"
+-#~ msgstr "Gukoresha Bya Na:"
+-
+-#, fuzzy
+-#~ msgid "ISO C forbids specifying range of elements to initialize"
+-#~ msgstr "C Urutonde Bya Ibintu Kuri gutangiza"
+-
+-#, fuzzy
+-#~ msgid "ISO C forbids nested functions"
+-#~ msgstr "C Imimaro"
+-
+-#, fuzzy
+-#~ msgid "ISO C forbids forward references to `enum' types"
+-#~ msgstr "C Imbere Indango Kuri"
+-
+-#, fuzzy
+-#~ msgid "comma at end of enumerator list"
+-#~ msgstr "Akitso ku Impera Bya Urutonde"
+-
+-#, fuzzy
+-#~ msgid "no semicolon at end of struct or union"
+-#~ msgstr "Oya Akabago n'Akitso ku Impera Bya Cyangwa Ihuza"
+-
+-#, fuzzy
+-#~ msgid "extra semicolon in struct or union specified"
+-#~ msgstr "Birenga Akabago n'Akitso in Cyangwa Ihuza"
+-
+-#, fuzzy
+-#~ msgid "ISO C doesn't support unnamed structs/unions"
+-#~ msgstr "C Gushigikira Kitiswe"
+-
+-#, fuzzy
+-#~ msgid "ISO C forbids member declarations with no members"
+-#~ msgstr "C Na: Oya"
+-
+-#, fuzzy
+-#~ msgid "deprecated use of label at end of compound statement"
+-#~ msgstr "Bitemewe. Gukoresha Bya Akarango ku Impera Bya Inyandiko"
+-
+-#, fuzzy
+-#~ msgid "ISO C89 forbids mixed declarations and code"
+-#~ msgstr "Bivanze Na ITEGEKONGENGA"
+-
+-#, fuzzy
+-#~ msgid "ISO C forbids label declarations"
+-#~ msgstr "C Akarango"
+-
+-#, fuzzy
+-#~ msgid "braced-group within expression allowed only inside a function"
+-#~ msgstr "Itsinda muri imvugo Mo Imbere a Umumaro"
+-
+-#, fuzzy
+-#~ msgid "empty body in an else-statement"
+-#~ msgstr "ubusa Umubiri in Ikindi Inyandiko"
+-
+-#, fuzzy
+-#~ msgid "ISO C forbids `goto *expr;'"
+-#~ msgstr "C"
+-
+-#, fuzzy
+-#~ msgid "ISO C forbids forward parameter declarations"
+-#~ msgstr "C Imbere"
+-
+-#, fuzzy
+-#~ msgid "ISO C requires a named argument before `...'"
+-#~ msgstr "C a Mbere"
+-
+-#, fuzzy
+-#~ msgid "`...' in old-style identifier list"
+-#~ msgstr "`...'in ki/ bishaje IMISUSIRE Ikiranga Urutonde"
+-
+-#, fuzzy
+-#~ msgid "parse error; also virtual memory exhausted"
+-#~ msgstr "Ikosa Kitaboneka Ububiko"
+-
+-#, fuzzy
+-#~ msgid "parse error"
+-#~ msgstr "Ikosa"
+-
+-#, fuzzy
+-#~ msgid "parser stack overflow"
+-#~ msgstr "Byarenze urugero"
+-
+-#, fuzzy
+-#~ msgid "%s at end of input"
+-#~ msgstr "%sku Impera Bya Iyinjiza"
+-
+-#, fuzzy
+-#~ msgid "%s before %s'%c'"
+-#~ msgstr "%sMbere"
+-
+-#, fuzzy
+-#~ msgid "%s before %s'\\x%x'"
+-#~ msgstr "%sMbere"
+-
+-#, fuzzy
+-#~ msgid "%s before string constant"
+-#~ msgstr "%sMbere Ikurikiranyanyuguti"
+-
+-#, fuzzy
+-#~ msgid "%s before numeric constant"
+-#~ msgstr "%sMbere Bikurikije umubare"
+-
+-#, fuzzy
+-#~ msgid "%s before \"%s\""
+-#~ msgstr "%sMbere"
+-
+-#, fuzzy
+-#~ msgid "%s before '%s' token"
+-#~ msgstr "%sMbere"
+-
+-#, fuzzy
+-#~ msgid "traditional C rejects string concatenation"
+-#~ msgstr "C Ikurikiranyanyuguti"
+-
+-#, fuzzy
+-#~ msgid "syntax error at '%s' token"
+-#~ msgstr "Ikosa ku"
+-
+-#, fuzzy
+-#~ msgid "#pragma pack (pop) encountered without matching #pragma pack (push, <n>)"
+-#~ msgstr "#Ipaki Ipaki N"
+-
+-#, fuzzy
+-#~ msgid "#pragma pack(pop, %s) encountered without matching #pragma pack(push, %s, <n>)"
+-#~ msgstr "#Ipaki Ipaki N"
+-
+-#, fuzzy
+-#~ msgid "#pragma pack(push[, id], <n>) is not supported on this target"
+-#~ msgstr "#Ipaki ID N ni OYA ku iyi Intego"
+-
+-#, fuzzy
+-#~ msgid "#pragma pack(pop[, id], <n>) is not supported on this target"
+-#~ msgstr "#Ipaki ID N ni OYA ku iyi Intego"
+-
+-#, fuzzy
+-#~ msgid "missing '(' after '#pragma pack' - ignored"
+-#~ msgstr "Ibuze Nyuma"
+-
+-#, fuzzy
+-#~ msgid "malformed '#pragma pack(push[, id], <n>)' - ignored"
+-#~ msgstr "Ipaki ID N"
+-
+-#, fuzzy
+-#~ msgid "malformed '#pragma pack(pop[, id])' - ignored"
+-#~ msgstr "Ipaki ID"
+-
+-#, fuzzy
+-#~ msgid "unknown action '%s' for '#pragma pack' - ignored"
+-#~ msgstr "Kitazwi Igikorwa kugirango"
+-
+-#, fuzzy
+-#~ msgid "junk at end of '#pragma pack'"
+-#~ msgstr "Umwanda ku Impera Bya"
+-
+-#, fuzzy
+-#~ msgid "alignment must be a small power of two, not %d"
+-#~ msgstr "Itunganya a Gitoya UMWIKUBE Bya OYA"
+-
+-#, fuzzy
+-#~ msgid "applying #pragma weak `%s' after first use results in unspecified behavior"
+-#~ msgstr "Nyuma Itangira Gukoresha Ibisubizo ku in imyitwarire"
+-
+-#, fuzzy
+-#~ msgid "junk at end of #pragma weak"
+-#~ msgstr "Umwanda ku Impera Bya"
+-
+-#, fuzzy
+-#~ msgid "junk at end of #pragma redefine_extname"
+-#~ msgstr "Umwanda ku Impera Bya"
+-
+-#, fuzzy
+-#~ msgid "#pragma redefine_extname conflicts with declaration"
+-#~ msgstr "#Na:"
+-
+-#, fuzzy
+-#~ msgid "junk at end of #pragma extern_prefix"
+-#~ msgstr "Umwanda ku Impera Bya"
+-
+-#, fuzzy
+-#~ msgid "asm declaration conflicts with previous rename"
+-#~ msgstr "Na: Ibanjirije Guhindura izina"
+-
+-#, fuzzy
+-#~ msgid "break statement not within loop or switch"
+-#~ msgstr "itandukanya Inyandiko OYA muri Cyangwa Hindura"
+-
+-#, fuzzy
+-#~ msgid "continue statement not within a loop"
+-#~ msgstr "urifuzagukomeza Inyandiko OYA muri a"
+-
+-#, fuzzy
+-#~ msgid "destructor needed for `%#D'"
+-#~ msgstr "kugirango"
+-
+-#, fuzzy
+-#~ msgid "where case label appears here"
+-#~ msgstr "Akarango"
+-
+-#, fuzzy
+-#~ msgid "(enclose actions of previous case statements requiring destructors in their own scope.)"
+-#~ msgstr "(Bya Ibanjirije in Ingano:"
+-
+-#, fuzzy
+-#~ msgid "%s qualifier ignored on asm"
+-#~ msgstr "%sku"
+-
+-#, fuzzy
+-#~ msgid "`%s' has an incomplete type"
+-#~ msgstr "`%s'Ubwoko"
+-
+-#, fuzzy
+-#~ msgid "invalid use of void expression"
+-#~ msgstr "Sibyo Gukoresha Bya imvugo"
+-
+-#, fuzzy
+-#~ msgid "invalid use of flexible array member"
+-#~ msgstr "Sibyo Gukoresha Bya Imbonerahamwe"
+-
+-#, fuzzy
+-#~ msgid "invalid use of array with unspecified bounds"
+-#~ msgstr "Sibyo Gukoresha Bya Imbonerahamwe Na:"
+-
+-#, fuzzy
+-#~ msgid "invalid use of undefined type `%s %s'"
+-#~ msgstr "Sibyo Gukoresha Bya kidasobanuye Ubwoko"
+-
+-#, fuzzy
+-#~ msgid "invalid use of incomplete typedef `%s'"
+-#~ msgstr "Sibyo Gukoresha Bya"
+-
+-#, fuzzy
+-#~ msgid "function types not truly compatible in ISO C"
+-#~ msgstr "Umumaro OYA in C"
+-
+-#, fuzzy
+-#~ msgid "types are not quite compatible"
+-#~ msgstr "OYA"
+-
+-#, fuzzy
+-#~ msgid "arithmetic on pointer to an incomplete type"
+-#~ msgstr "ku Mweretsi Kuri Ubwoko"
+-
+-#, fuzzy
+-#~ msgid "%s has no member named `%s'"
+-#~ msgstr "%sOya"
+-
+-#, fuzzy
+-#~ msgid "request for member `%s' in something not a structure or union"
+-#~ msgstr "Kubaza... kugirango in OYA a Imiterere Cyangwa Ihuza"
+-
+-#, fuzzy
+-#~ msgid "dereferencing pointer to incomplete type"
+-#~ msgstr "Mweretsi Kuri Ubwoko"
+-
+-#, fuzzy
+-#~ msgid "dereferencing `void *' pointer"
+-#~ msgstr "Mweretsi"
+-
+-#, fuzzy
+-#~ msgid "invalid type argument of `%s'"
+-#~ msgstr "Sibyo Ubwoko Bya"
+-
+-#, fuzzy
+-#~ msgid "subscript missing in array reference"
+-#~ msgstr "Inyandiko nyesi Ibuze in Imbonerahamwe Indango"
+-
+-#, fuzzy
+-#~ msgid "array subscript has type `char'"
+-#~ msgstr "Imbonerahamwe Inyandiko nyesi Ubwoko"
+-
+-#, fuzzy
+-#~ msgid "array subscript is not an integer"
+-#~ msgstr "Imbonerahamwe Inyandiko nyesi ni OYA Umubare wuzuye"
+-
+-#, fuzzy
+-#~ msgid "ISO C forbids subscripting `register' array"
+-#~ msgstr "C Imbonerahamwe"
+-
+-#, fuzzy
+-#~ msgid "ISO C90 forbids subscripting non-lvalue array"
+-#~ msgstr "Imbonerahamwe"
+-
+-#, fuzzy
+-#~ msgid "subscript has type `char'"
+-#~ msgstr "Inyandiko nyesi Ubwoko"
+-
+-#, fuzzy
+-#~ msgid "subscripted value is neither array nor pointer"
+-#~ msgstr "Agaciro ni Imbonerahamwe Mweretsi"
+-
+-#, fuzzy
+-#~ msgid "`%s' undeclared here (not in a function)"
+-#~ msgstr "`%s'OYA in a Umumaro"
+-
+-#, fuzzy
+-#~ msgid "`%s' undeclared (first use in this function)"
+-#~ msgstr "`%s'Itangira Gukoresha in iyi Umumaro"
+-
+-#, fuzzy
+-#~ msgid "(Each undeclared identifier is reported only once"
+-#~ msgstr "(Ikiranga ni Rimwe"
+-
+-#, fuzzy
+-#~ msgid "for each function it appears in.)"
+-#~ msgstr "kugirango Umumaro in"
+-
+-#, fuzzy
+-#~ msgid "local declaration of `%s' hides instance variable"
+-#~ msgstr "Bya Urugero IMPINDURAGACIRO"
+-
+-#, fuzzy
+-#~ msgid "called object is not a function"
+-#~ msgstr "Igikoresho ni OYA a Umumaro"
+-
+-#, fuzzy
+-#~ msgid "too many arguments to function"
+-#~ msgstr "ingingo Kuri Umumaro"
+-
+-#, fuzzy
+-#~ msgid "type of formal parameter %d is incomplete"
+-#~ msgstr "Ubwoko Bya ni"
+-
+-#, fuzzy
+-#~ msgid "%s as integer rather than floating due to prototype"
+-#~ msgstr "%sNka Umubare wuzuye Bihindagurika Kuri"
+-
+-#, fuzzy
+-#~ msgid "%s as integer rather than complex due to prototype"
+-#~ msgstr "%sNka Umubare wuzuye ITSINDA RY'IMIBARE C Kuri"
+-
+-#, fuzzy
+-#~ msgid "%s as complex rather than floating due to prototype"
+-#~ msgstr "%sNka ITSINDA RY'IMIBARE C Bihindagurika Kuri"
+-
+-#, fuzzy
+-#~ msgid "%s as floating rather than integer due to prototype"
+-#~ msgstr "%sNka Bihindagurika Umubare wuzuye Kuri"
+-
+-#, fuzzy
+-#~ msgid "%s as complex rather than integer due to prototype"
+-#~ msgstr "%sNka ITSINDA RY'IMIBARE C Umubare wuzuye Kuri"
+-
+-#, fuzzy
+-#~ msgid "%s as floating rather than complex due to prototype"
+-#~ msgstr "%sNka Bihindagurika ITSINDA RY'IMIBARE C Kuri"
+-
+-#, fuzzy
+-#~ msgid "%s as `float' rather than `double' due to prototype"
+-#~ msgstr "%sNka Kuri"
+-
+-#, fuzzy
+-#~ msgid "%s with different width due to prototype"
+-#~ msgstr "%sNa: Ubugari Kuri"
+-
+-#, fuzzy
+-#~ msgid "%s as unsigned due to prototype"
+-#~ msgstr "%sNka Bitashizweho umukono Kuri"
+-
+-#, fuzzy
+-#~ msgid "%s as signed due to prototype"
+-#~ msgstr "%sNka Kuri"
+-
+-#, fuzzy
+-#~ msgid "too few arguments to function"
+-#~ msgstr "ingingo Kuri Umumaro"
+-
+-#, fuzzy
+-#~ msgid "suggest parentheses around + or - inside shift"
+-#~ msgstr "Cyangwa Mo Imbere Gusunika"
+-
+-#, fuzzy
+-#~ msgid "suggest parentheses around && within ||"
+-#~ msgstr "muri"
+-
+-#, fuzzy
+-#~ msgid "suggest parentheses around arithmetic in operand of |"
+-#~ msgstr "in Bya"
+-
+-#, fuzzy
+-#~ msgid "suggest parentheses around comparison in operand of |"
+-#~ msgstr "in Bya"
+-
+-#, fuzzy
+-#~ msgid "suggest parentheses around arithmetic in operand of ^"
+-#~ msgstr "in Bya"
+-
+-#, fuzzy
+-#~ msgid "suggest parentheses around comparison in operand of ^"
+-#~ msgstr "in Bya"
+-
+-#, fuzzy
+-#~ msgid "suggest parentheses around + or - in operand of &"
+-#~ msgstr "Cyangwa in Bya"
+-
+-#, fuzzy
+-#~ msgid "suggest parentheses around comparison in operand of &"
+-#~ msgstr "in Bya"
+-
+-#, fuzzy
+-#~ msgid "comparisons like X<=Y<=Z do not have their mathematical meaning"
+-#~ msgstr "nka OYA Bijyanye n'imibare Igisobanuro"
+-
+-#, fuzzy
+-#~ msgid "division by zero"
+-#~ msgstr "Kugabanya na zeru"
+-
+-#, fuzzy
+-#~ msgid "right shift count is negative"
+-#~ msgstr "Iburyo: Gusunika IBARA ni"
+-
+-#, fuzzy
+-#~ msgid "right shift count >= width of type"
+-#~ msgstr "Iburyo: Gusunika IBARA Ubugari Bya Ubwoko"
+-
+-#, fuzzy
+-#~ msgid "left shift count is negative"
+-#~ msgstr "Ibumoso: Gusunika IBARA ni"
+-
+-#, fuzzy
+-#~ msgid "left shift count >= width of type"
+-#~ msgstr "Ibumoso: Gusunika IBARA Ubugari Bya Ubwoko"
+-
+-#, fuzzy
+-#~ msgid "shift count is negative"
+-#~ msgstr "Gusunika IBARA ni"
+-
+-#, fuzzy
+-#~ msgid "shift count >= width of type"
+-#~ msgstr "Gusunika IBARA Ubugari Bya Ubwoko"
+-
+-#, fuzzy
+-#~ msgid "comparing floating point with == or != is unsafe"
+-#~ msgstr "Bihindagurika Akadomo Na: Cyangwa ni"
+-
+-#, fuzzy
+-#~ msgid "ISO C forbids comparison of `void *' with function pointer"
+-#~ msgstr "C Bya Na: Umumaro Mweretsi"
+-
+-#, fuzzy
+-#~ msgid "comparison of distinct pointer types lacks a cast"
+-#~ msgstr "Bya Mweretsi a"
+-
+-#, fuzzy
+-#~ msgid "comparison between pointer and integer"
+-#~ msgstr "hagati Mweretsi Na Umubare wuzuye"
+-
+-#, fuzzy
+-#~ msgid "ISO C forbids ordered comparisons of pointers to functions"
+-#~ msgstr "C Bya Kuri Imimaro"
+-
+-#, fuzzy
+-#~ msgid "comparison of complete and incomplete pointers"
+-#~ msgstr "Bya Byuzuye Na"
+-
+-#, fuzzy
+-#~ msgid "ordered comparison of pointer with integer zero"
+-#~ msgstr "Bya Mweretsi Na: Umubare wuzuye Zeru"
+-
+-#, fuzzy
+-#~ msgid "unordered comparison on non-floating point argument"
+-#~ msgstr "ku Bihindagurika Akadomo"
+-
+-#, fuzzy
+-#~ msgid "comparison between signed and unsigned"
+-#~ msgstr "hagati Na Bitashizweho umukono"
+-
+-#, fuzzy
+-#~ msgid "comparison of promoted ~unsigned with constant"
+-#~ msgstr "Bya Bitashizweho umukono Na:"
+-
+-#, fuzzy
+-#~ msgid "comparison of promoted ~unsigned with unsigned"
+-#~ msgstr "Bya Bitashizweho umukono Na: Bitashizweho umukono"
+-
+-#, fuzzy
+-#~ msgid "pointer of type `void *' used in subtraction"
+-#~ msgstr "Mweretsi Bya Ubwoko in Gukuramo"
+-
+-#, fuzzy
+-#~ msgid "pointer to a function used in subtraction"
+-#~ msgstr "Mweretsi Kuri a Umumaro in Gukuramo"
+-
+-#, fuzzy
+-#~ msgid "wrong type argument to unary plus"
+-#~ msgstr "Ubwoko Kuri Guteranya"
+-
+-#, fuzzy
+-#~ msgid "wrong type argument to unary minus"
+-#~ msgstr "Ubwoko Kuri"
+-
+-#, fuzzy
+-#~ msgid "ISO C does not support `~' for complex conjugation"
+-#~ msgstr "C OYA Gushigikira kugirango ITSINDA RY'IMIBARE C"
+-
+-#, fuzzy
+-#~ msgid "wrong type argument to bit-complement"
+-#~ msgstr "Ubwoko Kuri"
+-
+-#, fuzzy
+-#~ msgid "wrong type argument to abs"
+-#~ msgstr "Ubwoko Kuri ABS"
+-
+-#, fuzzy
+-#~ msgid "wrong type argument to conjugation"
+-#~ msgstr "Ubwoko Kuri"
+-
+-#, fuzzy
+-#~ msgid "wrong type argument to unary exclamation mark"
+-#~ msgstr "Ubwoko Kuri Ikimenyetso"
+-
+-#, fuzzy
+-#~ msgid "ISO C does not support `++' and `--' on complex types"
+-#~ msgstr "C OYA Gushigikira Na ku ITSINDA RY'IMIBARE C"
+-
+-#, fuzzy
+-#~ msgid "wrong type argument to increment"
+-#~ msgstr "Ubwoko Kuri Iyongeragaciro"
+-
+-#, fuzzy
+-#~ msgid "wrong type argument to decrement"
+-#~ msgstr "Ubwoko Kuri"
+-
+-#, fuzzy
+-#~ msgid "increment of pointer to unknown structure"
+-#~ msgstr "Iyongeragaciro Bya Mweretsi Kuri Kitazwi Imiterere"
+-
+-#, fuzzy
+-#~ msgid "decrement of pointer to unknown structure"
+-#~ msgstr "Bya Mweretsi Kuri Kitazwi Imiterere"
+-
+-#, fuzzy
+-#~ msgid "ISO C forbids the address of a cast expression"
+-#~ msgstr "C i Aderesi Bya a imvugo"
+-
+-#, fuzzy
+-#~ msgid "invalid lvalue in unary `&'"
+-#~ msgstr "Sibyo in"
+-
+-#, fuzzy
+-#~ msgid "attempt to take address of bit-field structure member `%s'"
+-#~ msgstr "Kuri Aderesi Bya Umwanya Imiterere"
+-
+-# basctl/source\basicide\basidesh.src:RID_IMGBTN_REMOVEWATCH.text
+-#, fuzzy
+-#~ msgid "%s"
+-#~ msgstr "%s"
+-
+-#, fuzzy
+-#~ msgid "ISO C forbids use of conditional expressions as lvalues"
+-#~ msgstr "C Gukoresha Bya Nka"
+-
+-#, fuzzy
+-#~ msgid "ISO C forbids use of compound expressions as lvalues"
+-#~ msgstr "C Gukoresha Bya Nka"
+-
+-#, fuzzy
+-#~ msgid "ISO C forbids use of cast expressions as lvalues"
+-#~ msgstr "C Gukoresha Bya Nka"
+-
+-#, fuzzy
+-#~ msgid "%s of read-only member `%s'"
+-#~ msgstr "%sBya Gusoma"
+-
+-#, fuzzy
+-#~ msgid "%s of read-only variable `%s'"
+-#~ msgstr "%sBya Gusoma IMPINDURAGACIRO"
+-
+-#, fuzzy
+-#~ msgid "%s of read-only location"
+-#~ msgstr "%sBya Gusoma Ahantu"
+-
+-#, fuzzy
+-#~ msgid "cannot take address of bit-field `%s'"
+-#~ msgstr "Aderesi Bya Umwanya"
+-
+-#, fuzzy
+-#~ msgid "global register variable `%s' used in nested function"
+-#~ msgstr "Kwiyandikisha IMPINDURAGACIRO in Umumaro"
+-
+-#, fuzzy
+-#~ msgid "register variable `%s' used in nested function"
+-#~ msgstr "Kwiyandikisha IMPINDURAGACIRO in Umumaro"
+-
+-#, fuzzy
+-#~ msgid "address of global register variable `%s' requested"
+-#~ msgstr "Aderesi Bya Kwiyandikisha IMPINDURAGACIRO"
+-
+-#, fuzzy
+-#~ msgid "cannot put object with volatile field into register"
+-#~ msgstr "Gushyira Igikoresho Na: Umwanya Kwiyandikisha"
+-
+-#, fuzzy
+-#~ msgid "address of register variable `%s' requested"
+-#~ msgstr "Aderesi Bya Kwiyandikisha IMPINDURAGACIRO"
+-
+-#, fuzzy
+-#~ msgid "signed and unsigned type in conditional expression"
+-#~ msgstr "Na Bitashizweho umukono Ubwoko in imvugo"
+-
+-#, fuzzy
+-#~ msgid "ISO C forbids conditional expr with only one void side"
+-#~ msgstr "C Na:"
+-
+-#, fuzzy
+-#~ msgid "ISO C forbids conditional expr between `void *' and function pointer"
+-#~ msgstr "C hagati Na Umumaro Mweretsi"
+-
+-#, fuzzy
+-#~ msgid "pointer type mismatch in conditional expression"
+-#~ msgstr "Mweretsi Ubwoko in imvugo"
+-
+-#, fuzzy
+-#~ msgid "pointer/integer type mismatch in conditional expression"
+-#~ msgstr "Mweretsi Umubare wuzuye Ubwoko in imvugo"
+-
+-#, fuzzy
+-#~ msgid "type mismatch in conditional expression"
+-#~ msgstr "Ubwoko in imvugo"
+-
+-#, fuzzy
+-#~ msgid "left-hand operand of comma expression has no effect"
+-#~ msgstr "Ibumoso: Bya Akitso imvugo Oya INGARUKA"
+-
+-#, fuzzy
+-#~ msgid "cast specifies array type"
+-#~ msgstr "Imbonerahamwe Ubwoko"
+-
+-#, fuzzy
+-#~ msgid "cast specifies function type"
+-#~ msgstr "Umumaro Ubwoko"
+-
+-#, fuzzy
+-#~ msgid "ISO C forbids casting nonscalar to the same type"
+-#~ msgstr "C Kuri i Ubwoko"
+-
+-#, fuzzy
+-#~ msgid "ISO C forbids casts to union type"
+-#~ msgstr "C Kuri Ihuza Ubwoko"
+-
+-#, fuzzy
+-#~ msgid "cast to union type from type not present in union"
+-#~ msgstr "Kuri Ihuza Ubwoko Bivuye Ubwoko OYA in Ihuza"
+-
+-#, fuzzy
+-#~ msgid "cast adds new qualifiers to function type"
+-#~ msgstr "Gishya Kuri Umumaro Ubwoko"
+-
+-#, fuzzy
+-#~ msgid "cast discards qualifiers from pointer target type"
+-#~ msgstr "Bivuye Mweretsi Intego Ubwoko"
+-
+-#, fuzzy
+-#~ msgid "cast increases required alignment of target type"
+-#~ msgstr "Bya ngombwa Itunganya Bya Intego Ubwoko"
+-
+-#, fuzzy
+-#~ msgid "cast from pointer to integer of different size"
+-#~ msgstr "Bivuye Mweretsi Kuri Umubare wuzuye Bya Ingano"
+-
+-#, fuzzy
+-#~ msgid "cast does not match function type"
+-#~ msgstr "OYA BIHUYE Umumaro Ubwoko"
+-
+-#, fuzzy
+-#~ msgid "cast to pointer from integer of different size"
+-#~ msgstr "Kuri Mweretsi Bivuye Umubare wuzuye Bya Ingano"
+-
+-#, fuzzy
+-#~ msgid "type-punning to incomplete type might break strict-aliasing rules"
+-#~ msgstr "Ubwoko Kuri Ubwoko itandukanya"
+-
+-#, fuzzy
+-#~ msgid "dereferencing type-punned pointer will break strict-aliasing rules"
+-#~ msgstr "Ubwoko Mweretsi itandukanya"
+-
+-#, fuzzy
+-#~ msgid "invalid lvalue in assignment"
+-#~ msgstr "Sibyo in Igenera"
+-
+-#, fuzzy
+-#~ msgid "assignment"
+-#~ msgstr "Igenera"
+-
+-#, fuzzy
+-#~ msgid "cannot pass rvalue to reference parameter"
+-#~ msgstr "Kuri Indango"
+-
+-#, fuzzy
+-#~ msgid "%s makes qualified function pointer from unqualified"
+-#~ msgstr "%sUmumaro Mweretsi Bivuye"
+-
+-#, fuzzy
+-#~ msgid "%s discards qualifiers from pointer target type"
+-#~ msgstr "%sBivuye Mweretsi Intego Ubwoko"
+-
+-#, fuzzy
+-#~ msgid "ISO C prohibits argument conversion to union type"
+-#~ msgstr "C Ihindurangero Kuri Ihuza Ubwoko"
+-
+-#, fuzzy
+-#~ msgid "ISO C forbids %s between function pointer and `void *'"
+-#~ msgstr "C hagati Umumaro Mweretsi Na"
+-
+-#, fuzzy
+-#~ msgid "pointer targets in %s differ in signedness"
+-#~ msgstr "Mweretsi in in"
+-
+-#, fuzzy
+-#~ msgid "%s from incompatible pointer type"
+-#~ msgstr "%sBivuye Mweretsi Ubwoko"
+-
+-#, fuzzy
+-#~ msgid "%s makes pointer from integer without a cast"
+-#~ msgstr "%sMweretsi Bivuye Umubare wuzuye a"
+-
+-#, fuzzy
+-#~ msgid "%s makes integer from pointer without a cast"
+-#~ msgstr "%sUmubare wuzuye Bivuye Mweretsi a"
+-
+-#, fuzzy
+-#~ msgid "incompatible type for argument %d of `%s'"
+-#~ msgstr "Ubwoko kugirango Bya"
+-
+-#, fuzzy
+-#~ msgid "incompatible type for argument %d of indirect function call"
+-#~ msgstr "Ubwoko kugirango Bya BUZIGUYE Umumaro"
+-
+-#, fuzzy
+-#~ msgid "incompatible types in %s"
+-#~ msgstr "in"
+-
+-#, fuzzy
+-#~ msgid "passing arg of `%s'"
+-#~ msgstr "Bya"
+-
+-#, fuzzy
+-#~ msgid "passing arg of pointer to function"
+-#~ msgstr "Bya Mweretsi Kuri Umumaro"
+-
+-#, fuzzy
+-#~ msgid "passing arg %d of `%s'"
+-#~ msgstr "Bya"
+-
+-#, fuzzy
+-#~ msgid "passing arg %d of pointer to function"
+-#~ msgstr "Bya Mweretsi Kuri Umumaro"
+-
+-#, fuzzy
+-#~ msgid "initializer for static variable is not constant"
+-#~ msgstr "kugirango IMPINDURAGACIRO ni OYA"
+-
+-#, fuzzy
+-#~ msgid "initializer for static variable uses complicated arithmetic"
+-#~ msgstr "kugirango IMPINDURAGACIRO"
+-
+-#, fuzzy
+-#~ msgid "aggregate initializer is not constant"
+-#~ msgstr "ni OYA"
+-
+-#, fuzzy
+-#~ msgid "traditional C rejects automatic aggregate initialization"
+-#~ msgstr "C Byikoresha"
+-
+-#, fuzzy
+-#~ msgid "(near initialization for `%s')"
+-#~ msgstr "(kugirango"
+-
+-#, fuzzy
+-#~ msgid "char-array initialized from wide string"
+-#~ msgstr "INYUGUTI Imbonerahamwe Bivuye Ikurikiranyanyuguti"
+-
+-#, fuzzy
+-#~ msgid "int-array initialized from non-wide string"
+-#~ msgstr "INT Imbonerahamwe Bivuye Ikurikiranyanyuguti"
+-
+-#, fuzzy
+-#~ msgid "initializer-string for array of chars is too long"
+-#~ msgstr "Ikurikiranyanyuguti kugirango Imbonerahamwe Bya ni"
+-
+-#, fuzzy
+-#~ msgid "array initialized from non-constant array expression"
+-#~ msgstr "Imbonerahamwe Bivuye Imbonerahamwe imvugo"
+-
+-#, fuzzy
+-#~ msgid "initializer element is not constant"
+-#~ msgstr "Ikigize: ni OYA"
+-
+-#, fuzzy
+-#~ msgid "initializer element is not computable at load time"
+-#~ msgstr "Ikigize: ni OYA ku Ibirimo Igihe"
+-
+-#, fuzzy
+-#~ msgid "invalid initializer"
+-#~ msgstr "Sibyo"
+-
+-#, fuzzy
+-#~ msgid "extra brace group at end of initializer"
+-#~ msgstr "Birenga Itsinda ku Impera Bya"
+-
+-#, fuzzy
+-#~ msgid "missing braces around initializer"
+-#~ msgstr "Ibuze Ingirwadusodeko"
+-
+-#, fuzzy
+-#~ msgid "braces around scalar initializer"
+-#~ msgstr "Ingirwadusodeko"
+-
+-#, fuzzy
+-#~ msgid "initialization of flexible array member in a nested context"
+-#~ msgstr "Bya Imbonerahamwe in a Imvugiro"
+-
+-#, fuzzy
+-#~ msgid "initialization of a flexible array member"
+-#~ msgstr "Bya a Imbonerahamwe"
+-
+-#, fuzzy
+-#~ msgid "missing initializer"
+-#~ msgstr "Ibuze"
+-
+-#, fuzzy
+-#~ msgid "empty scalar initializer"
+-#~ msgstr "ubusa"
+-
+-#, fuzzy
+-#~ msgid "extra elements in scalar initializer"
+-#~ msgstr "Birenga Ibintu in"
+-
+-#, fuzzy
+-#~ msgid "initialization designators may not nest"
+-#~ msgstr "Gicurasi OYA"
+-
+-#, fuzzy
+-#~ msgid "array index in non-array initializer"
+-#~ msgstr "Imbonerahamwe Umubarendanga in Imbonerahamwe"
+-
+-#, fuzzy
+-#~ msgid "field name not in record or union initializer"
+-#~ msgstr "Umwanya Izina: OYA in Icyabitswe Cyangwa Ihuza"
+-
+-#, fuzzy
+-#~ msgid "nonconstant array index in initializer"
+-#~ msgstr "Imbonerahamwe Umubarendanga in"
+-
+-#, fuzzy
+-#~ msgid "array index in initializer exceeds array bounds"
+-#~ msgstr "Imbonerahamwe Umubarendanga in Imbonerahamwe"
+-
+-#, fuzzy
+-#~ msgid "empty index range in initializer"
+-#~ msgstr "ubusa Umubarendanga Urutonde in"
+-
+-#, fuzzy
+-#~ msgid "array index range in initializer exceeds array bounds"
+-#~ msgstr "Imbonerahamwe Umubarendanga Urutonde in Imbonerahamwe"
+-
+-#, fuzzy
+-#~ msgid "unknown field `%s' specified in initializer"
+-#~ msgstr "Kitazwi Umwanya in"
+-
+-#, fuzzy
+-#~ msgid "initialized field with side-effects overwritten"
+-#~ msgstr "Umwanya Na: Ingaruka"
+-
+-#, fuzzy
+-#~ msgid "excess elements in char array initializer"
+-#~ msgstr "Ibintu in INYUGUTI Imbonerahamwe"
+-
+-#, fuzzy
+-#~ msgid "excess elements in struct initializer"
+-#~ msgstr "Ibintu in"
+-
+-#, fuzzy
+-#~ msgid "non-static initialization of a flexible array member"
+-#~ msgstr "Bya a Imbonerahamwe"
+-
+-#, fuzzy
+-#~ msgid "excess elements in union initializer"
+-#~ msgstr "Ibintu in Ihuza"
+-
+-#, fuzzy
+-#~ msgid "traditional C rejects initialization of unions"
+-#~ msgstr "C Bya"
+-
+-#, fuzzy
+-#~ msgid "excess elements in array initializer"
+-#~ msgstr "Ibintu in Imbonerahamwe"
+-
+-#, fuzzy
+-#~ msgid "excess elements in vector initializer"
+-#~ msgstr "Ibintu in"
+-
+-#, fuzzy
+-#~ msgid "excess elements in scalar initializer"
+-#~ msgstr "Ibintu in"
+-
+-#, fuzzy
+-#~ msgid "asm template is not a string constant"
+-#~ msgstr "Inyandikorugero ni OYA a Ikurikiranyanyuguti"
+-
+-#, fuzzy
+-#~ msgid "invalid lvalue in asm statement"
+-#~ msgstr "Sibyo in Inyandiko"
+-
+-#, fuzzy
+-#~ msgid "modification by `asm'"
+-#~ msgstr "ku"
+-
+-#, fuzzy
+-#~ msgid "function declared `noreturn' has a `return' statement"
+-#~ msgstr "Umumaro a Inyandiko"
+-
+-#, fuzzy
+-#~ msgid "`return' with no value, in function returning non-void"
+-#~ msgstr "`Na: Oya Agaciro in Umumaro"
+-
+-#, fuzzy
+-#~ msgid "`return' with a value, in function returning void"
+-#~ msgstr "`Na: a Agaciro in Umumaro"
+-
+-#, fuzzy
+-#~ msgid "return"
+-#~ msgstr "Garuka"
+-
+-#, fuzzy
+-#~ msgid "function returns address of local variable"
+-#~ msgstr "Umumaro Aderesi Bya IMPINDURAGACIRO"
+-
+-#, fuzzy
+-#~ msgid "switch quantity not an integer"
+-#~ msgstr "Hindura Ingano OYA Umubare wuzuye"
+-
+-#, fuzzy
+-#~ msgid "`long' switch expression not converted to `int' in ISO C"
+-#~ msgstr "`Hindura imvugo OYA Kuri in C"
+-
+-#, fuzzy
+-#~ msgid "case label not within a switch statement"
+-#~ msgstr "Akarango OYA muri a Hindura Inyandiko"
+-
+-#, fuzzy
+-#~ msgid "`default' label not within a switch statement"
+-#~ msgstr "`Akarango OYA muri a Hindura Inyandiko"
+-
+-#, fuzzy
+-#~ msgid "inlining failed in call to `%s'"
+-#~ msgstr "Byanze in Kuri"
+-
+-#, fuzzy
+-#~ msgid "called from here"
+-#~ msgstr "Bivuye"
+-
+-#, fuzzy
+-#~ msgid "can't inline call to `%s'"
+-#~ msgstr "Mumurongo Kuri"
+-
+-#, fuzzy
+-#~ msgid "function call has aggregate value"
+-#~ msgstr "Umumaro Agaciro"
+-
+-#, fuzzy
+-#~ msgid "Size of loop %d should be %d, not %d."
+-#~ msgstr "Bya OYA"
+-
+-#, fuzzy
+-#~ msgid "Bb %d do not belong to loop %d."
+-#~ msgstr "OYA Kuri"
+-
+-#, fuzzy
+-#~ msgid "Loop %d's header does not have exactly 2 entries."
+-#~ msgstr "S Umutwempangano OYA 2. Ibyinjijwe"
+-
+-#, fuzzy
+-#~ msgid "Loop %d's latch does not have exactly 1 successor."
+-#~ msgstr "S OYA 1."
+-
+-#, fuzzy
+-#~ msgid "Loop %d's latch does not have header as successor."
+-#~ msgstr "S OYA Umutwempangano Nka"
+-
+-#, fuzzy
+-#~ msgid "Loop %d's latch does not belong directly to it."
+-#~ msgstr "S OYA Kuri"
+-
+-#, fuzzy
+-#~ msgid "Loop %d's header does not belong directly to it."
+-#~ msgstr "S Umutwempangano OYA Kuri"
+-
+-#, fuzzy
+-#~ msgid "bb %d on wrong place"
+-#~ msgstr "ku"
+-
+-#, fuzzy
+-#~ msgid "prev_bb of %d should be %d, not %d"
+-#~ msgstr "Bya OYA"
+-
+-#, fuzzy
+-#~ msgid "end insn %d for block %d not found in the insn stream"
+-#~ msgstr "Impera kugirango Funga OYA Byabonetse in i"
+-
+-#, fuzzy
+-#~ msgid "insn %d is in multiple basic blocks (%d and %d)"
+-#~ msgstr "ni in Igikubo BASIC Na"
+-
+-#, fuzzy
+-#~ msgid "head insn %d for block %d not found in the insn stream"
+-#~ msgstr "kugirango Funga OYA Byabonetse in i"
+-
+-#, fuzzy
+-#~ msgid "verify_flow_info: REG_BR_PROB does not match cfg %i %i"
+-#~ msgstr "OYA BIHUYE"
+-
+-#, fuzzy
+-#~ msgid "verify_flow_info: Wrong count of block %i %i"
+-#~ msgstr "IBARA Bya Funga"
+-
+-#, fuzzy
+-#~ msgid "verify_flow_info: Wrong frequency of block %i %i"
+-#~ msgstr "Ubwisubire Bya Funga"
+-
+-#, fuzzy
+-#~ msgid "verify_flow_info: Wrong probability of edge %i->%i %i"
+-#~ msgstr "Imishobokere Bya"
+-
+-#, fuzzy
+-#~ msgid "verify_flow_info: Wrong count of edge %i->%i %i"
+-#~ msgstr "IBARA Bya"
+-
+-#, fuzzy
+-#~ msgid "verify_flow_info: Incorrect blocks for fallthru %i->%i"
+-#~ msgstr "kugirango"
+-
+-#, fuzzy
+-#~ msgid "wrong insn in the fallthru edge"
+-#~ msgstr "in i"
+-
+-#, fuzzy
+-#~ msgid "verify_flow_info: Basic block %d succ edge is corrupted"
+-#~ msgstr "Funga ni"
+-
+-#, fuzzy
+-#~ msgid "Missing REG_EH_REGION note in the end of bb %i"
+-#~ msgstr "Impugukirwa in i Impera Bya"
+-
+-#, fuzzy
+-#~ msgid "Too many outgoing branch edges from bb %i"
+-#~ msgstr "Bivuye"
+-
+-#, fuzzy
+-#~ msgid "Fallthru edge after unconditional jump %i"
+-#~ msgstr "Nyuma Simbuka"
+-
+-#, fuzzy
+-#~ msgid "Wrong amount of branch edges after unconditional jump %i"
+-#~ msgstr "Igiteranyo Bya Nyuma Simbuka"
+-
+-#, fuzzy
+-#~ msgid "Wrong amount of branch edges after conditional jump %i"
+-#~ msgstr "Igiteranyo Bya Nyuma Simbuka"
+-
+-#, fuzzy
+-#~ msgid "Call edges for non-call insn in bb %i"
+-#~ msgstr "kugirango in"
+-
+-#, fuzzy
+-#~ msgid "Abnormal edges for no purpose in bb %i"
+-#~ msgstr "kugirango Oya Intego in"
+-
+-#, fuzzy
+-#~ msgid "missing barrier after block %i"
+-#~ msgstr "Ibuze Nyuma Funga"
+-
+-#, fuzzy
+-#~ msgid "basic block %d pred edge is corrupted"
+-#~ msgstr "BASIC Funga ni"
+-
+-#, fuzzy
+-#~ msgid "insn %d inside basic block %d but block_for_insn is NULL"
+-#~ msgstr "Mo Imbere BASIC Funga ni"
+-
+-#, fuzzy
+-#~ msgid "insn %d inside basic block %d but block_for_insn is %i"
+-#~ msgstr "Mo Imbere BASIC Funga ni"
+-
+-#, fuzzy
+-#~ msgid "NOTE_INSN_BASIC_BLOCK is missing for block %d"
+-#~ msgstr "ni Ibuze kugirango Funga"
+-
+-#, fuzzy
+-#~ msgid "NOTE_INSN_BASIC_BLOCK %d in middle of basic block %d"
+-#~ msgstr "in Hagati Bya BASIC Funga"
+-
+-#, fuzzy
+-#~ msgid "in basic block %d:"
+-#~ msgstr "in BASIC Funga"
+-
+-#, fuzzy
+-#~ msgid "flow control insn inside a basic block"
+-#~ msgstr "Igenzura Mo Imbere a BASIC Funga"
+-
+-#, fuzzy
+-#~ msgid "basic block %i edge lists are corrupted"
+-#~ msgstr "BASIC Funga Intonde"
+-
+-#, fuzzy
+-#~ msgid "basic blocks not numbered consecutively"
+-#~ msgstr "BASIC OYA Iriho Imibare"
+-
+-#, fuzzy
+-#~ msgid "insn outside basic block"
+-#~ msgstr "Hanze BASIC Funga"
+-
+-#, fuzzy
+-#~ msgid "return not followed by barrier"
+-#~ msgstr "Garuka OYA ku"
+-
+-#, fuzzy
+-#~ msgid "number of bb notes in insn chain (%d) != n_basic_blocks (%d)"
+-#~ msgstr "Umubare Bya Ibisobanuro in"
+-
+-#, fuzzy
+-#~ msgid "verify_flow_info failed"
+-#~ msgstr "Byanze"
+-
+-#, fuzzy
+-#~ msgid "internal error"
+-#~ msgstr "Ikosa ry'imbere"
+-
+-#, fuzzy
+-#~ msgid "no arguments"
+-#~ msgstr "Oya ingingo"
+-
+-#, fuzzy
+-#~ msgid "collect2 version %s"
+-#~ msgstr "Verisiyo"
+-
+-#, fuzzy
+-#~ msgid "%d constructor(s) found\n"
+-#~ msgstr "%dS"
+-
+-#, fuzzy
+-#~ msgid "%d destructor(s) found\n"
+-#~ msgstr "%dS"
+-
+-#, fuzzy
+-#~ msgid "%d frame table(s) found\n"
+-#~ msgstr "%dIkadiri imbonerahamwe# S"
+-
+-#, fuzzy
+-#~ msgid "%s terminated with signal %d [%s]%s"
+-#~ msgstr "%sNa:"
+-
+-#, fuzzy
+-#~ msgid "%s returned %d exit status"
+-#~ msgstr "%sGusohoka Imimerere"
+-
+-#, fuzzy
+-#~ msgid "[cannot find %s]"
+-#~ msgstr "[Gushaka"
+-
+-#, fuzzy
+-#~ msgid "cannot find `%s'"
+-#~ msgstr "Gushaka"
+-
+-#, fuzzy
+-#~ msgid ""
+-#~ "\n"
+-#~ "write_c_file - output name is %s, prefix is %s\n"
+-#~ msgstr "Ibisohoka Izina: ni Imbanziriza ni"
+-
+-#, fuzzy
+-#~ msgid "cannot find `nm'"
+-#~ msgstr "Gushaka"
+-
+-#, fuzzy
+-#~ msgid "dup2 %d 1"
+-#~ msgstr "1."
+-
+-# svx/source\svdraw\svdstr.src:STR_EditShut.text
+-#, fuzzy
+-#~ msgid "close %d"
+-#~ msgstr "Gufunga"
+-
+-#, fuzzy
+-#~ msgid "init function found in object %s"
+-#~ msgstr "Umumaro Byabonetse in Igikoresho"
+-
+-#, fuzzy
+-#~ msgid "fini function found in object %s"
+-#~ msgstr "Umumaro Byabonetse in Igikoresho"
+-
+-#, fuzzy
+-#~ msgid "unable to open file '%s'"
+-#~ msgstr "Kuri Gufungura IDOSIYE"
+-
+-#, fuzzy
+-#~ msgid "unable to stat file '%s'"
+-#~ msgstr "Kuri IDOSIYE"
+-
+-#, fuzzy
+-#~ msgid "unable to mmap file '%s'"
+-#~ msgstr "Kuri IDOSIYE"
+-
+-#, fuzzy
+-#~ msgid "not found\n"
+-#~ msgstr "OYA"
+-
+-#, fuzzy
+-#~ msgid "dynamic dependency %s not found"
+-#~ msgstr "OYA Byabonetse"
+-
+-#, fuzzy
+-#~ msgid "bad magic number in file '%s'"
+-#~ msgstr "Umubare in IDOSIYE"
+-
+-#, fuzzy
+-#~ msgid "cannot find `ldd'"
+-#~ msgstr "Gushaka"
+-
+-#, fuzzy
+-#~ msgid ""
+-#~ "\n"
+-#~ "ldd output with constructors/destructors.\n"
+-#~ msgstr "Ibisohoka Na:"
+-
+-#, fuzzy
+-#~ msgid "unable to open dynamic dependency '%s'"
+-#~ msgstr "Kuri Gufungura"
+-
+-#, fuzzy
+-#~ msgid "%s: not a COFF file"
+-#~ msgstr "%s:OYA a IDOSIYE"
+-
+-#, fuzzy
+-#~ msgid "%s: cannot open as COFF file"
+-#~ msgstr "%s:Gufungura Nka IDOSIYE"
+-
+-#, fuzzy
+-#~ msgid "library lib%s not found"
+-#~ msgstr "Isomero OYA Byabonetse"
+-
+-# sfx2/source\appl\minbox.src:RID_MAIL_INBOX.BTN_MAILINBOX_OPEN.text
+-#, fuzzy
+-#~ msgid "open %s"
+-#~ msgstr "Gufungura..."
+-
+-#, fuzzy
+-#~ msgid "incompatibilities between object file & expected values"
+-#~ msgstr "hagati Igikoresho IDOSIYE Ikitezwe: Uduciro"
+-
+-#, fuzzy
+-#~ msgid ""
+-#~ "\n"
+-#~ "Processing symbol table #%d, offset = 0x%.8lx, kind = %s\n"
+-#~ msgstr "IKIMENYETSO imbonerahamwe# Nta- boneza"
+-
+-#, fuzzy
+-#~ msgid "string section missing"
+-#~ msgstr "Ikurikiranyanyuguti Icyiciro Ibuze"
+-
+-#, fuzzy
+-#~ msgid "section pointer missing"
+-#~ msgstr "Icyiciro Mweretsi Ibuze"
+-
+-#, fuzzy
+-#~ msgid "no symbol table found"
+-#~ msgstr "Oya IKIMENYETSO imbonerahamwe# Byabonetse"
+-
+-#, fuzzy
+-#~ msgid "no cmd_strings found"
+-#~ msgstr "Oya Byabonetse"
+-
+-#, fuzzy
+-#~ msgid ""
+-#~ "\n"
+-#~ "Updating header and load commands.\n"
+-#~ "\n"
+-#~ msgstr "Umutwempangano Na Ibirimo Amabwiriza"
+-
+-#, fuzzy
+-#~ msgid "load command map, %d cmds, new size %ld.\n"
+-#~ msgstr "Ibirimo Komandi: Gishya Ingano"
+-
+-#, fuzzy
+-#~ msgid ""
+-#~ "writing load commands.\n"
+-#~ "\n"
+-#~ msgstr "Ibirimo Amabwiriza"
+-
+-# svx/source\svdraw\svdstr.src:STR_EditShut.text
+-#, fuzzy
+-#~ msgid "close %s"
+-#~ msgstr "Gufunga"
+-
+-#, fuzzy
+-#~ msgid "could not convert 0x%l.8x into a region"
+-#~ msgstr "OYA GUHINDURA a"
+-
+-#, fuzzy
+-#~ msgid "%s function, region %d, offset = %ld (0x%.8lx)\n"
+-#~ msgstr "%sUmumaro Nta- boneza"
+-
+-#, fuzzy
+-#~ msgid "bad magic number"
+-#~ msgstr "Umubare"
+-
+-#, fuzzy
+-#~ msgid "bad header version"
+-#~ msgstr "Umutwempangano Verisiyo"
+-
+-#, fuzzy
+-#~ msgid "bad raw header version"
+-#~ msgstr "Umutwempangano Verisiyo"
+-
+-#, fuzzy
+-#~ msgid "raw header buffer too small"
+-#~ msgstr "Umutwempangano Gitoya"
+-
+-#, fuzzy
+-#~ msgid "old raw header file"
+-#~ msgstr "ki/ bishaje Umutwempangano IDOSIYE"
+-
+-#, fuzzy
+-#~ msgid "unsupported version"
+-#~ msgstr "Verisiyo"
+-
+-#, fuzzy
+-#~ msgid "unknown {de,en}code_mach_o_hdr return value %d"
+-#~ msgstr "Kitazwi Garuka Agaciro"
+-
+-#, fuzzy
+-#~ msgid "lseek %s 0"
+-#~ msgstr "0"
+-
+-# svx/inc\globlmn.hrc:ITEM_FILE_MAIL_INBOX.text
+-#, fuzzy
+-#~ msgid "read %s"
+-#~ msgstr "Gusoma"
+-
+-#, fuzzy
+-#~ msgid "read %ld bytes, expected %ld, from %s"
+-#~ msgstr "Gusoma Bayite Ikitezwe: Bivuye"
+-
+-# #-#-#-#-# officecfg.pot (PACKAGE VERSION) #-#-#-#-#
+-# officecfg/registry\schema\org\openoffice\Office\Common.xcs:....Filter.HTML.Export.Browser..3.text
+-# #-#-#-#-# officecfg.pot (PACKAGE VERSION) #-#-#-#-#
+-# officecfg/registry\schema\org\openoffice\Office\Writer.xcs:....FormLetter.MailingOutput.Format..8.text
+-#, fuzzy
+-#~ msgid "write %s"
+-#~ msgstr "Kwandika"
+-
+-#, fuzzy
+-#~ msgid "wrote %ld bytes, expected %ld, to %s"
+-#~ msgstr "Bayite Ikitezwe: Kuri"
+-
+-#, fuzzy
+-#~ msgid ""
+-#~ ";; Combiner statistics: %d attempts, %d substitutions (%d requiring new space),\n"
+-#~ ";; %d successes.\n"
+-#~ "\n"
+-#~ msgstr ";;Sitatisitiki Gishya Umwanya Ibyatunganye"
+-
+-#, fuzzy
+-#~ msgid ""
+-#~ "\n"
+-#~ ";; Combiner totals: %d attempts, %d substitutions (%d requiring new space),\n"
+-#~ ";; %d successes.\n"
+-#~ msgstr ";;Gishya Umwanya Ibyatunganye"
+-
+-#, fuzzy
+-#~ msgid "cannot convert to a pointer type"
+-#~ msgstr "GUHINDURA Kuri a Mweretsi Ubwoko"
+-
+-#, fuzzy
+-#~ msgid "pointer value used where a floating point value was expected"
+-#~ msgstr "Mweretsi Agaciro a Bihindagurika Akadomo Agaciro Ikitezwe:"
+-
+-#, fuzzy
+-#~ msgid "aggregate value used where a float was expected"
+-#~ msgstr "Agaciro a Kureremba Ikitezwe:"
+-
+-#, fuzzy
+-#~ msgid "conversion to incomplete type"
+-#~ msgstr "Ihindurangero Kuri Ubwoko"
+-
+-#, fuzzy
+-#~ msgid "can't convert between vector values of different size"
+-#~ msgstr "GUHINDURA hagati Uduciro Bya Ingano"
+-
+-#, fuzzy
+-#~ msgid "aggregate value used where an integer was expected"
+-#~ msgstr "Agaciro Umubare wuzuye Ikitezwe:"
+-
+-#, fuzzy
+-#~ msgid "pointer value used where a complex was expected"
+-#~ msgstr "Mweretsi Agaciro a ITSINDA RY'IMIBARE C Ikitezwe:"
+-
+-#, fuzzy
+-#~ msgid "aggregate value used where a complex was expected"
+-#~ msgstr "Agaciro a ITSINDA RY'IMIBARE C Ikitezwe:"
+-
+-#, fuzzy
+-#~ msgid "can't convert value to a vector"
+-#~ msgstr "GUHINDURA Agaciro Kuri a"
+-
+-#, fuzzy
+-#~ msgid "ISO C++ does not permit \"%s\" in #if"
+-#~ msgstr "C OYA in NIBA"
+-
+-#, fuzzy
+-#~ msgid "invalid character '%c' in #if"
+-#~ msgstr "Sibyo Inyuguti in NIBA"
+-
+-#, fuzzy
+-#~ msgid "invalid character '\\%03o' in #if"
+-#~ msgstr "Sibyo Inyuguti in NIBA"
+-
+-#, fuzzy
+-#~ msgid "absolute file name in remap_filename"
+-#~ msgstr "IDOSIYE Izina: in"
+-
+-#, fuzzy
+-#~ msgid "ignoring nonexistent directory \"%s\"\n"
+-#~ msgstr "bushyinguro"
+-
+-#, fuzzy
+-#~ msgid "%s: Not a directory"
+-#~ msgstr "%s:a bushyinguro"
+-
+-#, fuzzy
+-#~ msgid "ignoring duplicate directory \"%s\"\n"
+-#~ msgstr "Gusubiramo bushyinguro"
+-
+-#, fuzzy
+-#~ msgid " as it is a non-system directory that duplicates a system directory\n"
+-#~ msgstr "Nka ni a Sisitemu bushyinguro a Sisitemu"
+-
+-#, fuzzy
+-#~ msgid "#include \"...\" search starts here:\n"
+-#~ msgstr "#Gushyiramo Gushaka"
+-
+-#, fuzzy
+-#~ msgid "#include <...> search starts here:\n"
+-#~ msgstr "#Gushyiramo Gushaka"
+-
+-#, fuzzy
+-#~ msgid "End of search list.\n"
+-#~ msgstr "Impera Bya Gushaka Urutonde"
+-
+-#, fuzzy
+-#~ msgid "<built-in>"
+-#~ msgstr "<in"
+-
+-#, fuzzy
+-#~ msgid "<command line>"
+-#~ msgstr "<Komandi: Umurongo"
+-
+-#, fuzzy
+-#~ msgid "assertion missing after %s"
+-#~ msgstr "Ibuze Nyuma"
+-
+-#, fuzzy
+-#~ msgid "directory name missing after %s"
+-#~ msgstr "bushyinguro Izina: Ibuze Nyuma"
+-
+-#, fuzzy
+-#~ msgid "file name missing after %s"
+-#~ msgstr "IDOSIYE Izina: Ibuze Nyuma"
+-
+-#, fuzzy
+-#~ msgid "macro name missing after %s"
+-#~ msgstr "Makoro Izina: Ibuze Nyuma"
+-
+-#, fuzzy
+-#~ msgid "path name missing after %s"
+-#~ msgstr "Inzira Izina: Ibuze Nyuma"
+-
+-#, fuzzy
+-#~ msgid "unknown string token %s\n"
+-#~ msgstr "Kitazwi Ikurikiranyanyuguti"
+-
+-#, fuzzy
+-#~ msgid "non-hex digit '%c' in universal-character-name"
+-#~ msgstr "in Ky'isi yose Inyuguti Izina:"
+-
+-#, fuzzy
+-#~ msgid "universal-character-name on EBCDIC target"
+-#~ msgstr "Ky'isi yose Inyuguti Izina: ku Intego"
+-
+-#, fuzzy
+-#~ msgid "universal-character-name out of range"
+-#~ msgstr "Ky'isi yose Inyuguti Izina: Inyuma Bya Urutonde"
+-
+-#, fuzzy
+-#~ msgid "unknown escape sequence: '\\%03o'"
+-#~ msgstr "Kitazwi"
+-
+-#, fuzzy
+-#~ msgid "escape sequence out of range for its type"
+-#~ msgstr "Inyuma Bya Urutonde kugirango Ubwoko"
+-
+-#, fuzzy
+-#~ msgid "#import is obsolete, use an #ifndef wrapper in the header file"
+-#~ msgstr "#Kuzana ni Gukoresha in i Umutwempangano IDOSIYE"
+-
+-#, fuzzy
+-#~ msgid "#pragma once is obsolete"
+-#~ msgstr "#Rimwe ni"
+-
+-#, fuzzy
+-#~ msgid "\"%s\" is not a valid option to the preprocessor"
+-#~ msgstr "\"%s\"ni OYA a Byemewe Ihitamo Kuri i"
+-
+-#, fuzzy
+-#~ msgid "too many input files"
+-#~ msgstr "Iyinjiza Idosiye"
+-
+-#, fuzzy
+-#~ msgid ";; Processing block from %d to %d, %d sets.\n"
+-#~ msgstr ";;Funga Bivuye Kuri"
+-
+-#, fuzzy
+-#~ msgid "%s: warnings being treated as errors\n"
+-#~ msgstr "%s:Iburira Nka"
+-
+-#, fuzzy
+-#~ msgid "%s: %s: "
+-#~ msgstr "%s:%s:"
+-
+-# basctl/source\basicide\basidesh.src:RID_IMGBTN_REMOVEWATCH.text
+-#, fuzzy
+-#~ msgid "%s "
+-#~ msgstr "%s"
+-
+-# basctl/source\basicide\basidesh.src:RID_IMGBTN_REMOVEWATCH.text
+-#, fuzzy
+-#~ msgid " %s"
+-#~ msgstr "%s"
+-
+-#, fuzzy
+-#~ msgid "At top level:"
+-#~ msgstr "Hejuru: urwego"
+-
+-#, fuzzy
+-#~ msgid "In member function `%s':"
+-#~ msgstr "Umumaro"
+-
+-#, fuzzy
+-#~ msgid "In function `%s':"
+-#~ msgstr "Umumaro"
+-
+-#, fuzzy
+-#~ msgid "%s:%d: confused by earlier errors, bailing out\n"
+-#~ msgstr "%s:%d:ku Amakosa"
+-
+-#, fuzzy
+-#~ msgid ""
+-#~ "Please submit a full bug report,\n"
+-#~ "with preprocessed source if appropriate.\n"
+-#~ "See %s for instructions.\n"
+-#~ msgstr "Tanga a Icyegeranyo Na: Inkomoko NIBA kugirango Amabwiriza"
+-
+-#, fuzzy
+-#~ msgid "Internal compiler error: Error reporting routines re-entered.\n"
+-#~ msgstr "Ikosa"
+-
+-#, fuzzy
+-#~ msgid "in %s, at %s:%d"
+-#~ msgstr "in ku"
+-
+-#, fuzzy
+-#~ msgid "In file included from %s:%d"
+-#~ msgstr "IDOSIYE Bivuye"
+-
+-#, fuzzy
+-#~ msgid ""
+-#~ ",\n"
+-#~ " from %s:%d"
+-#~ msgstr ",Bivuye"
+-
+-# basctl/source\basicide\basidesh.src:RID_IMGBTN_REMOVEWATCH.text
+-#, fuzzy
+-#~ msgid ":\n"
+-#~ msgstr ":"
+-
+-#, fuzzy
+-#~ msgid "`%s' is deprecated (declared at %s:%d)"
+-#~ msgstr "`%s'ni Bitemewe. ku"
+-
+-#, fuzzy
+-#~ msgid "`%s' is deprecated"
+-#~ msgstr "`%s'ni Bitemewe."
+-
+-#, fuzzy
+-#~ msgid "type is deprecated (declared at %s:%d)"
+-#~ msgstr "Ubwoko ni Bitemewe. ku"
+-
+-#, fuzzy
+-#~ msgid "type is deprecated"
+-#~ msgstr "Ubwoko ni Bitemewe."
+-
+-#, fuzzy
+-#~ msgid "dominator of %d should be %d, not %d"
+-#~ msgstr "Bya OYA"
+-
+-#, fuzzy
+-#~ msgid "DW_LOC_OP %s not implemented\n"
+-#~ msgstr "OYA"
+-
+-#, fuzzy
+-#~ msgid "internal regno botch: `%s' has regno = %d\n"
+-#~ msgstr "By'imbere"
+-
+-#, fuzzy
+-#~ msgid "support for the DWARF1 debugging format is deprecated"
+-#~ msgstr "Gushigikira kugirango i Imiterere ni Bitemewe."
+-
+-#, fuzzy
+-#~ msgid "can't get current directory"
+-#~ msgstr "Kubona KIGEZWEHO bushyinguro"
+-
+-#, fuzzy
+-#~ msgid "can't access real part of complex value in hard register"
+-#~ msgstr "Bya ITSINDA RY'IMIBARE C Agaciro in Ikomeye Kwiyandikisha"
+-
+-#, fuzzy
+-#~ msgid "can't access imaginary part of complex value in hard register"
+-#~ msgstr "NYURABWENGE Bya ITSINDA RY'IMIBARE C Agaciro in Ikomeye Kwiyandikisha"
+-
+-#, fuzzy
+-#~ msgid "abort in %s, at %s:%d"
+-#~ msgstr "Kureka in ku"
+-
+-#, fuzzy
+-#~ msgid "exception handling disabled, use -fexceptions to enable"
+-#~ msgstr "Irengayobora(-) Yahagaritswe Gukoresha Kuri Gushoboza"
+-
+-#, fuzzy
+-#~ msgid "argument of `__builtin_eh_return_regno' must be constant"
+-#~ msgstr "Bya"
+-
+-#, fuzzy
+-#~ msgid "__builtin_eh_return not supported on this target"
+-#~ msgstr "_OYA ku iyi Intego"
+-
+-#, fuzzy
+-#~ msgid "stack limits not supported on this target"
+-#~ msgstr "Imbibi OYA ku iyi Intego"
+-
+-#, fuzzy
+-#~ msgid "function using short complex types cannot be inline"
+-#~ msgstr "Umumaro ikoresha ITSINDA RY'IMIBARE C Mumurongo"
+-
+-#, fuzzy
+-#~ msgid "unsupported wide integer operation"
+-#~ msgstr "Umubare wuzuye"
+-
+-#, fuzzy
+-#~ msgid "prior parameter's size depends on `%s'"
+-#~ msgstr "Ingano ku"
+-
+-#, fuzzy
+-#~ msgid "returned value in block_exit_expr"
+-#~ msgstr "Agaciro in"
+-
+-#, fuzzy
+-#~ msgid "cannot take the address of an unaligned member"
+-#~ msgstr "i Aderesi Bya"
+-
+-#, fuzzy
+-#~ msgid "negative insn length"
+-#~ msgstr "Uburebure"
+-
+-#, fuzzy
+-#~ msgid "could not split insn"
+-#~ msgstr "OYA Gutandukanya"
+-
+-#, fuzzy
+-#~ msgid "invalid `asm': "
+-#~ msgstr "Sibyo"
+-
+-#, fuzzy
+-#~ msgid "operand number missing after %%-letter"
+-#~ msgstr "Umubare Ibuze Nyuma"
+-
+-#, fuzzy
+-#~ msgid "operand number out of range"
+-#~ msgstr "Umubare Inyuma Bya Urutonde"
+-
+-# sc/source\ui\src\globstr.src:RID_GLOBSTR.STR_INVALID.text
+-#, fuzzy
+-#~ msgid "invalid %%-code"
+-#~ msgstr "Sibyo"
+-
+-#, fuzzy
+-#~ msgid "`%%l' operand isn't a label"
+-#~ msgstr "`%%l'si a Akarango"
+-
+-#, fuzzy
+-#~ msgid "floating constant misused"
+-#~ msgstr "Bihindagurika"
+-
+-#, fuzzy
+-#~ msgid "invalid expression as operand"
+-#~ msgstr "Sibyo imvugo Nka"
+-
+-#, fuzzy
+-#~ msgid "function might be possible candidate for attribute `noreturn'"
+-#~ msgstr "Umumaro kugirango Ikiranga"
+-
+-#, fuzzy
+-#~ msgid "`noreturn' function does return"
+-#~ msgstr "`Umumaro Garuka"
+-
+-#, fuzzy
+-#~ msgid "control reaches end of non-void function"
+-#~ msgstr "Igenzura Impera Bya Umumaro"
+-
+-#, fuzzy
+-#~ msgid "Attempt to delete prologue/epilogue insn:"
+-#~ msgstr "Kuri Gusiba"
+-
+-#, fuzzy
+-#~ msgid "comparison is always %d due to width of bit-field"
+-#~ msgstr "ni Buri gihe Kuri Ubugari Bya Umwanya"
+-
+-#, fuzzy
+-#~ msgid "comparison is always %d"
+-#~ msgstr "ni Buri gihe"
+-
+-#, fuzzy
+-#~ msgid "`or' of unmatched not-equal tests is always 1"
+-#~ msgstr "`Bya OYA bingana ni Buri gihe 1."
+-
+-#, fuzzy
+-#~ msgid "`and' of mutually exclusive equal-tests is always 0"
+-#~ msgstr "`Bya bingana ni Buri gihe 0"
+-
+-#, fuzzy
+-#~ msgid "size of variable `%s' is too large"
+-#~ msgstr "Ingano Bya IMPINDURAGACIRO ni Binini"
+-
+-#, fuzzy
+-#~ msgid "impossible constraint in `asm'"
+-#~ msgstr "Imbogamizi in"
+-
+-#, fuzzy
+-#~ msgid "`%s' might be used uninitialized in this function"
+-#~ msgstr "`%s'Itatangijwe in iyi Umumaro"
+-
+-#, fuzzy
+-#~ msgid "variable `%s' might be clobbered by `longjmp' or `vfork'"
+-#~ msgstr "IMPINDURAGACIRO ku Cyangwa"
+-
+-#, fuzzy
+-#~ msgid "argument `%s' might be clobbered by `longjmp' or `vfork'"
+-#~ msgstr "ku Cyangwa"
+-
+-#, fuzzy
+-#~ msgid "function returns an aggregate"
+-#~ msgstr "Umumaro"
+-
+-#, fuzzy
+-#~ msgid "unused parameter `%s'"
+-#~ msgstr "Kidakoreshwa"
+-
+-#, fuzzy
+-#~ msgid "ambiguous abbreviation %s"
+-#~ msgstr "Impine"
+-
+-#, fuzzy
+-#~ msgid "incomplete `%s' option"
+-#~ msgstr "Ihitamo"
+-
+-#, fuzzy
+-#~ msgid "missing argument to `%s' option"
+-#~ msgstr "Ibuze Kuri Ihitamo"
+-
+-#, fuzzy
+-#~ msgid "extraneous argument to `%s' option"
+-#~ msgstr "Kuri Ihitamo"
+-
+-#, fuzzy
+-#~ msgid "Using built-in specs.\n"
+-#~ msgstr "in"
+-
+-#, fuzzy
+-#~ msgid ""
+-#~ "Setting spec %s to '%s'\n"
+-#~ "\n"
+-#~ msgstr "Kuri"
+-
+-#, fuzzy
+-#~ msgid "Reading specs from %s\n"
+-#~ msgstr "Bivuye"
+-
+-#, fuzzy
+-#~ msgid "specs %%include syntax malformed after %ld characters"
+-#~ msgstr "Nyuma Inyuguti"
+-
+-#, fuzzy
+-#~ msgid "could not find specs file %s\n"
+-#~ msgstr "OYA Gushaka IDOSIYE"
+-
+-#, fuzzy
+-#~ msgid "specs %%rename syntax malformed after %ld characters"
+-#~ msgstr "Nyuma Inyuguti"
+-
+-#, fuzzy
+-#~ msgid "specs %s spec was not found to be renamed"
+-#~ msgstr "OYA Byabonetse Kuri"
+-
+-#, fuzzy
+-#~ msgid "%s: attempt to rename spec '%s' to already defined spec '%s'"
+-#~ msgstr "%s:Kuri Guhindura izina Kuri"
+-
+-#, fuzzy
+-#~ msgid "rename spec %s to %s\n"
+-#~ msgstr "Guhindura izina Kuri"
+-
+-#, fuzzy
+-#~ msgid ""
+-#~ "spec is '%s'\n"
+-#~ "\n"
+-#~ msgstr "ni"
+-
+-#, fuzzy
+-#~ msgid "specs unknown %% command after %ld characters"
+-#~ msgstr "Kitazwi Komandi: Nyuma Inyuguti"
+-
+-#, fuzzy
+-#~ msgid "specs file malformed after %ld characters"
+-#~ msgstr "IDOSIYE Nyuma Inyuguti"
+-
+-#, fuzzy
+-#~ msgid "spec file has no spec for linking"
+-#~ msgstr "IDOSIYE Oya kugirango Impuza"
+-
+-#, fuzzy
+-#~ msgid "-pipe not supported"
+-#~ msgstr "-OYA"
+-
+-#, fuzzy
+-#~ msgid ""
+-#~ "\n"
+-#~ "Go ahead? (y or n) "
+-#~ msgstr "Y Cyangwa N"
+-
+-#, fuzzy
+-#~ msgid ""
+-#~ "Internal error: %s (program %s)\n"
+-#~ "Please submit a full bug report.\n"
+-#~ "See %s for instructions."
+-#~ msgstr "Ikosa Porogaramu Tanga a Icyegeranyo kugirango Amabwiriza"
+-
+-#, fuzzy
+-#~ msgid "# %s %.2f %.2f\n"
+-#~ msgstr ""
+-#~ "#%s%.Project- Id- Version: basctl\n"
+-#~ "POT- Creation- Date: 2003- 12- 07 17: 13+ 02\n"
+-#~ "PO- Revision- Date: 2004- 11- 04 10: 13- 0700\n"
+-#~ "Last- Translator: Language- Team:< en@ li. org> MIME- Version: 1. 0\n"
+-#~ "Content- Type: text/ plain; charset= UTF- 8\n"
+-#~ "Content- Transfer- Encoding: 8bit\n"
+-#~ "X- Generator: KBabel 1. 0\n"
+-#~ "."
+-
+-#, fuzzy
+-#~ msgid "Usage: %s [options] file...\n"
+-#~ msgstr "Amahitamo IDOSIYE"
+-
+-# crashrep/source\all\crashrep.lng:%OPTIONS_BUTTON%.text
+-#, fuzzy
+-#~ msgid "Options:\n"
+-#~ msgstr "Amahitamo..."
+-
+-#, fuzzy
+-#~ msgid " -pass-exit-codes Exit with highest error code from a phase\n"
+-#~ msgstr "-Gusohoka Na: kirekire kurusha ibindi Ikosa ITEGEKONGENGA Bivuye a"
+-
+-#, fuzzy
+-#~ msgid " --help Display this information\n"
+-#~ msgstr "--Ifashayobora iyi"
+-
+-#, fuzzy
+-#~ msgid " --target-help Display target specific command line options\n"
+-#~ msgstr "--Intego Ifashayobora Intego Komandi: Umurongo"
+-
+-#, fuzzy
+-#~ msgid " (Use '-v --help' to display command line options of sub-processes)\n"
+-#~ msgstr "(v Kuri Kugaragaza Komandi: Umurongo Amahitamo Bya"
+-
+-#, fuzzy
+-#~ msgid " -dumpspecs Display all of the built in spec strings\n"
+-#~ msgstr "-Byose Bya i in"
+-
+-#, fuzzy
+-#~ msgid " -dumpversion Display the version of the compiler\n"
+-#~ msgstr "-i Verisiyo Bya i"
+-
+-#, fuzzy
+-#~ msgid " -dumpmachine Display the compiler's target processor\n"
+-#~ msgstr "-i Intego"
+-
+-#, fuzzy
+-#~ msgid " -print-search-dirs Display the directories in the compiler's search path\n"
+-#~ msgstr "-Gucapa Gushaka i ububiko bw'amaderese in i Gushaka"
+-
+-#, fuzzy
+-#~ msgid " -print-libgcc-file-name Display the name of the compiler's companion library\n"
+-#~ msgstr "-Gucapa IDOSIYE Izina: i Izina: Bya i"
+-
+-#, fuzzy
+-#~ msgid " -print-file-name=<lib> Display the full path to library <lib>\n"
+-#~ msgstr "-Gucapa IDOSIYE Izina: i Inzira Kuri Isomero"
+-
+-#, fuzzy
+-#~ msgid " -print-prog-name=<prog> Display the full path to compiler component <prog>\n"
+-#~ msgstr "-Gucapa Izina: i Inzira Kuri"
+-
+-#, fuzzy
+-#~ msgid " -print-multi-directory Display the root directory for versions of libgcc\n"
+-#~ msgstr "-Gucapa bushyinguro i Imizi bushyinguro kugirango Uburyo Bya"
+-
+-#, fuzzy
+-#~ msgid ""
+-#~ " -print-multi-lib Display the mapping between command line options and\n"
+-#~ " multiple library search directories\n"
+-#~ msgstr "-Gucapa i Igereranya hagati Komandi: Umurongo Amahitamo Igikubo Isomero Gushaka"
+-
+-#, fuzzy
+-#~ msgid " -print-multi-os-directory Display the relative path to OS libraries\n"
+-#~ msgstr "-Gucapa bushyinguro i Bifitanye isano Inzira Kuri"
+-
+-#, fuzzy
+-#~ msgid " -Wa,<options> Pass comma-separated <options> on to the assembler\n"
+-#~ msgstr "-Amahitamo Akitso Amahitamo ku Kuri i"
+-
+-#, fuzzy
+-#~ msgid " -Wp,<options> Pass comma-separated <options> on to the preprocessor\n"
+-#~ msgstr "-Amahitamo Akitso Amahitamo ku Kuri i"
+-
+-#, fuzzy
+-#~ msgid " -Wl,<options> Pass comma-separated <options> on to the linker\n"
+-#~ msgstr "-Amahitamo Akitso Amahitamo ku Kuri i"
+-
+-#, fuzzy
+-#~ msgid " -Xlinker <arg> Pass <arg> on to the linker\n"
+-#~ msgstr "-ku Kuri i"
+-
+-#, fuzzy
+-#~ msgid " -save-temps Do not delete intermediate files\n"
+-#~ msgstr "-Kubika OYA Gusiba"
+-
+-#, fuzzy
+-#~ msgid " -time Time the execution of each subprocess\n"
+-#~ msgstr "-Igihe i Bya"
+-
+-#, fuzzy
+-#~ msgid " -specs=<file> Override built-in specs with the contents of <file>\n"
+-#~ msgstr "-IDOSIYE in Na: i Ibigize Bya IDOSIYE"
+-
+-#, fuzzy
+-#~ msgid " -std=<standard> Assume that the input sources are for <standard>\n"
+-#~ msgstr "-STD Bisanzwe i Iyinjiza kugirango Bisanzwe"
+-
+-#, fuzzy
+-#~ msgid " -B <directory> Add <directory> to the compiler's search paths\n"
+-#~ msgstr "-bushyinguro bushyinguro Kuri i Gushaka"
+-
+-#, fuzzy
+-#~ msgid " -b <machine> Run gcc for target <machine>, if installed\n"
+-#~ msgstr "-B kugirango Intego NIBA"
+-
+-#, fuzzy
+-#~ msgid " -V <version> Run gcc version number <version>, if installed\n"
+-#~ msgstr "-V Verisiyo Verisiyo Umubare Verisiyo NIBA"
+-
+-#, fuzzy
+-#~ msgid " -v Display the programs invoked by the compiler\n"
+-#~ msgstr "-v i Porogaramu ku i"
+-
+-#, fuzzy
+-#~ msgid " -### Like -v but options quoted and commands not executed\n"
+-#~ msgstr "-###v Amahitamo Na Amabwiriza OYA"
+-
+-#, fuzzy
+-#~ msgid " -E Preprocess only; do not compile, assemble or link\n"
+-#~ msgstr "-E OYA Gukusanya Cyangwa"
+-
+-#, fuzzy
+-#~ msgid " -S Compile only; do not assemble or link\n"
+-#~ msgstr "-OYA Cyangwa"
+-
+-#, fuzzy
+-#~ msgid " -c Compile and assemble, but do not link\n"
+-#~ msgstr "-C Na OYA"
+-
+-#, fuzzy
+-#~ msgid " -o <file> Place the output into <file>\n"
+-#~ msgstr "-o IDOSIYE i Ibisohoka IDOSIYE"
+-
+-#, fuzzy
+-#~ msgid ""
+-#~ " -x <language> Specify the language of the following input files\n"
+-#~ " Permissible languages include: c c++ assembler none\n"
+-#~ " 'none' means revert to the default behavior of\n"
+-#~ " guessing the language based on the file's extension\n"
+-#~ msgstr "-X Ururimi i Ururimi Bya i Iyinjiza Indimi Gushyiramo C C Kugaruza Kuri i Mburabuzi imyitwarire i Ururimi ku i"
+-
+-#, fuzzy
+-#~ msgid ""
+-#~ "\n"
+-#~ "Options starting with -g, -f, -m, -O, -W, or --param are automatically\n"
+-#~ " passed on to the various sub-processes invoked by %s. In order to pass\n"
+-#~ " other options on to these processes the -W<letter> options must be used.\n"
+-#~ msgstr "Na: g F M Cyangwa ku Kuri i ku Itondekanya Kuri Ikindi Amahitamo ku Kuri i Ibaruwa... Amahitamo"
+-
+-#, fuzzy
+-#~ msgid "`-%c' option must have argument"
+-#~ msgstr "`-%c'Ihitamo"
+-
+-#, fuzzy
+-#~ msgid "couldn't run `%s': %s"
+-#~ msgstr "Gukoresha"
+-
+-#, fuzzy
+-#~ msgid "Copyright (C) 2003 Free Software Foundation, Inc.\n"
+-#~ msgstr "C"
+-
+-#, fuzzy
+-#~ msgid ""
+-#~ "This is free software; see the source for copying conditions. There is NO\n"
+-#~ "warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.\n"
+-#~ "\n"
+-#~ msgstr "ni Kigenga i Inkomoko kugirango ni OYA ATARIIGIHARWE kugirango Cyangwa A"
+-
+-#, fuzzy
+-#~ msgid "argument to `-Xlinker' is missing"
+-#~ msgstr "Kuri ni Ibuze"
+-
+-#, fuzzy
+-#~ msgid "argument to `-l' is missing"
+-#~ msgstr "Kuri ni Ibuze"
+-
+-#, fuzzy
+-#~ msgid "argument to `-specs' is missing"
+-#~ msgstr "Kuri ni Ibuze"
+-
+-#, fuzzy
+-#~ msgid "argument to `-specs=' is missing"
+-#~ msgstr "Kuri ni Ibuze"
+-
+-#, fuzzy
+-#~ msgid "`-%c' must come at the start of the command line"
+-#~ msgstr "`-%c'ku i Gutangira Bya i Komandi: Umurongo"
+-
+-#, fuzzy
+-#~ msgid "argument to `-B' is missing"
+-#~ msgstr "Kuri ni Ibuze"
+-
+-#, fuzzy
+-#~ msgid "cannot specify -o with -c or -S and multiple compilations"
+-#~ msgstr "o Na: C Cyangwa Na Igikubo"
+-
+-#, fuzzy
+-#~ msgid "warning: -pipe ignored because -save-temps specified"
+-#~ msgstr "Iburira Kubika"
+-
+-#, fuzzy
+-#~ msgid "warning: -pipe ignored because -time specified"
+-#~ msgstr "Iburira Igihe"
+-
+-#, fuzzy
+-#~ msgid "argument to `-x' is missing"
+-#~ msgstr "Kuri ni Ibuze"
+-
+-#, fuzzy
+-#~ msgid "argument to `-%s' is missing"
+-#~ msgstr "Kuri ni Ibuze"
+-
+-#, fuzzy
+-#~ msgid "warning: `-x %s' after last input file has no effect"
+-#~ msgstr "Iburira X Nyuma Iheruka Iyinjiza IDOSIYE Oya INGARUKA"
+-
+-#, fuzzy
+-#~ msgid "invalid specification! Bug in cc"
+-#~ msgstr "Sibyo in KopiKubandi"
+-
+-# basctl/source\basicide\basidesh.src:RID_IMGBTN_REMOVEWATCH.text
+-#, fuzzy
+-#~ msgid "%s\n"
+-#~ msgstr "%s"
+-
+-#, fuzzy
+-#~ msgid "spec failure: '%%*' has not been initialized by pattern match"
+-#~ msgstr "OYA ku Ishusho BIHUYE"
+-
+-#, fuzzy
+-#~ msgid "warning: use of obsolete %%[ operator in specs"
+-#~ msgstr "Iburira Gukoresha Bya Mukoresha in"
+-
+-#, fuzzy
+-#~ msgid "Processing spec %c%s%c, which is '%s'\n"
+-#~ msgstr "ni"
+-
+-#, fuzzy
+-#~ msgid "spec failure: unrecognized spec option '%c'"
+-#~ msgstr "Ihitamo"
+-
+-#, fuzzy
+-#~ msgid "unknown spec function `%s'"
+-#~ msgstr "Kitazwi Umumaro"
+-
+-#, fuzzy
+-#~ msgid "error in args to spec function `%s'"
+-#~ msgstr "Ikosa in Kuri Umumaro"
+-
+-#, fuzzy
+-#~ msgid "malformed spec function name"
+-#~ msgstr "Umumaro Izina:"
+-
+-#, fuzzy
+-#~ msgid "no arguments for spec function"
+-#~ msgstr "Oya ingingo kugirango Umumaro"
+-
+-#, fuzzy
+-#~ msgid "malformed spec function arguments"
+-#~ msgstr "Umumaro ingingo"
+-
+-#, fuzzy
+-#~ msgid "mismatched braces in specs"
+-#~ msgstr "Ingirwadusodeko in"
+-
+-#, fuzzy
+-#~ msgid "unrecognized option `-%s'"
+-#~ msgstr "Ihitamo"
+-
+-# #-#-#-#-# setup2.pot (PACKAGE VERSION) #-#-#-#-#
+-# setup2/source\ui\pages\plang.src:RESID_PAGE_PAGELANGUAGE.STR_PROG.text
+-# #-#-#-#-# setup2.pot (PACKAGE VERSION) #-#-#-#-#
+-# setup2/source\uibase\agentdlg.src:RC_AGENTDLG.RESID_DLG_AGENT_STR_INSTALL.text
+-#, fuzzy
+-#~ msgid "install: %s%s\n"
+-#~ msgstr "Kwinjiza porogaramu"
+-
+-#, fuzzy
+-#~ msgid "programs: %s\n"
+-#~ msgstr "Porogaramu"
+-
+-# basctl/source\basicide\moduldlg.src:RID_TD_ORGANIZE.RID_TC_ORGANIZE.RID_TP_LIB.text
+-#, fuzzy
+-#~ msgid "libraries: %s\n"
+-#~ msgstr "Amasomero"
+-
+-#, fuzzy
+-#~ msgid ""
+-#~ "\n"
+-#~ "For bug reporting instructions, please see:\n"
+-#~ msgstr "Amabwiriza"
+-
+-#, fuzzy
+-#~ msgid "Configured with: %s\n"
+-#~ msgstr "Na:"
+-
+-#, fuzzy
+-#~ msgid "Thread model: %s\n"
+-#~ msgstr "Urugero"
+-
+-#, fuzzy
+-#~ msgid "gcc version %s\n"
+-#~ msgstr "Verisiyo"
+-
+-#, fuzzy
+-#~ msgid "gcc driver version %s executing gcc version %s\n"
+-#~ msgstr "Musomyi: Verisiyo Gukora: %s%s Verisiyo"
+-
+-#, fuzzy
+-#~ msgid "no input files"
+-#~ msgstr "Oya Iyinjiza Idosiye"
+-
+-#, fuzzy
+-#~ msgid "%s: %s compiler not installed on this system"
+-#~ msgstr "%s:%sOYA ku iyi Sisitemu"
+-
+-#, fuzzy
+-#~ msgid "%s: linker input file unused because linking not done"
+-#~ msgstr "%s:Iyinjiza IDOSIYE Kidakoreshwa Impuza OYA Byakozwe"
+-
+-#, fuzzy
+-#~ msgid "language %s not recognized"
+-#~ msgstr "Ururimi OYA"
+-
+-#, fuzzy
+-#~ msgid "internal gcc abort"
+-#~ msgstr "By'imbere Kureka"
+-
+-#, fuzzy
+-#~ msgid "Internal gcov abort.\n"
+-#~ msgstr "Kureka"
+-
+-#, fuzzy
+-#~ msgid ""
+-#~ "Print code coverage information.\n"
+-#~ "\n"
+-#~ msgstr "ITEGEKONGENGA Ibisobanuro"
+-
+-#, fuzzy
+-#~ msgid " -h, --help Print this help, then exit\n"
+-#~ msgstr "-h Ifashayobora iyi Ifashayobora Hanyuma"
+-
+-#, fuzzy
+-#~ msgid " -v, --version Print version number, then exit\n"
+-#~ msgstr "-v Verisiyo Verisiyo Umubare Hanyuma"
+-
+-#, fuzzy
+-#~ msgid " -b, --branch-probabilities Include branch probabilities in output\n"
+-#~ msgstr "-B in"
+-
+-#, fuzzy
+-#~ msgid ""
+-#~ " -c, --branch-counts Given counts of branches taken\n"
+-#~ " rather than percentages\n"
+-#~ msgstr "-C Bya"
+-
+-#, fuzzy
+-#~ msgid " -n, --no-output Do not create an output file\n"
+-#~ msgstr "-N Oya Ibisohoka OYA Kurema Ibisohoka"
+-
+-#, fuzzy
+-#~ msgid ""
+-#~ " -l, --long-file-names Use long output file names for included\n"
+-#~ " source files\n"
+-#~ msgstr "-L IDOSIYE Amazina Ibisohoka IDOSIYE Amazina kugirango Inkomoko"
+-
+-#, fuzzy
+-#~ msgid " -f, --function-summaries Output summaries for each function\n"
+-#~ msgstr "-F Umumaro kugirango"
+-
+-#, fuzzy
+-#~ msgid " -o, --object-directory DIR|FILE Search for object files in DIR or called FILE\n"
+-#~ msgstr "-o Igikoresho bushyinguro kugirango Igikoresho Idosiye in Cyangwa"
+-
+-#, fuzzy
+-#~ msgid " -p, --preserve-paths Preserve all pathname components\n"
+-#~ msgstr "-P Inzira Byose"
+-
+-#, fuzzy
+-#~ msgid ""
+-#~ "\n"
+-#~ "For bug reporting instructions, please see:\n"
+-#~ "%s.\n"
+-#~ msgstr "Amabwiriza"
+-
+-#, fuzzy
+-#~ msgid "Copyright (C) 2001 Free Software Foundation, Inc.\n"
+-#~ msgstr "C"
+-
+-#, fuzzy
+-#~ msgid "Could not open basic block file %s.\n"
+-#~ msgstr "OYA Gufungura BASIC Funga IDOSIYE"
+-
+-#, fuzzy
+-#~ msgid "Could not open program flow graph file %s.\n"
+-#~ msgstr "OYA Gufungura Porogaramu IDOSIYE"
+-
+-#, fuzzy
+-#~ msgid "Could not open data file %s.\n"
+-#~ msgstr "OYA Gufungura Ibyatanzwe IDOSIYE"
+-
+-#, fuzzy
+-#~ msgid "Assuming that all execution counts are zero.\n"
+-#~ msgstr "Byose Zeru"
+-
+-#, fuzzy
+-#~ msgid "No executable code associated with file %s.\n"
+-#~ msgstr "ITEGEKONGENGA Na: IDOSIYE"
+-
+-#, fuzzy
+-#~ msgid "%s of %d lines executed in %s %s\n"
+-#~ msgstr "%sBya Imirongo in"
+-
+-#, fuzzy
+-#~ msgid "No executable lines in %s %s\n"
+-#~ msgstr "Imirongo in"
+-
+-#, fuzzy
+-#~ msgid "%s of %d branches executed in %s %s\n"
+-#~ msgstr "%sBya in"
+-
+-#, fuzzy
+-#~ msgid "%s of %d branches taken at least once in %s %s\n"
+-#~ msgstr "%sBya ku Rimwe in"
+-
+-#, fuzzy
+-#~ msgid "No branches in %s %s\n"
+-#~ msgstr "in"
+-
+-#, fuzzy
+-#~ msgid "%s of %d calls executed in %s %s\n"
+-#~ msgstr "%sBya Amahamagara: in"
+-
+-#, fuzzy
+-#~ msgid "No calls in %s %s\n"
+-#~ msgstr "Amahamagara: in"
+-
+-#, fuzzy
+-#~ msgid "didn't use all bb entries of graph, function %s\n"
+-#~ msgstr "Gukoresha Byose Ibyinjijwe Bya Umumaro"
+-
+-#, fuzzy
+-#~ msgid "ERROR: unexpected line number %ld\n"
+-#~ msgstr "Umurongo Umubare"
+-
+-#, fuzzy
+-#~ msgid "ERROR: too many basic blocks in function %s\n"
+-#~ msgstr "BASIC in Umumaro"
+-
+-#, fuzzy
+-#~ msgid "ERROR: out of range line number in function %s\n"
+-#~ msgstr "Inyuma Bya Urutonde Umurongo Umubare in Umumaro"
+-
+-#, fuzzy
+-#~ msgid "Could not open source file %s.\n"
+-#~ msgstr "OYA Gufungura Inkomoko IDOSIYE"
+-
+-#, fuzzy
+-#~ msgid "Warning: source file %s is newer than %s\n"
+-#~ msgstr "Inkomoko IDOSIYE ni"
+-
+-#, fuzzy
+-#~ msgid "Unexpected EOF while reading source file %s.\n"
+-#~ msgstr "Inkomoko IDOSIYE"
+-
+-#, fuzzy
+-#~ msgid "call %2d never executed\n"
+-#~ msgstr "Nta narimwe"
+-
+-#, fuzzy
+-#~ msgid "branch %2d never executed\n"
+-#~ msgstr "Nta narimwe"
+-
+-#, fuzzy
+-#~ msgid "Error writing output file %s.\n"
+-#~ msgstr "Ibisohoka IDOSIYE"
+-
+-#, fuzzy
+-#~ msgid "Could not open output file %s.\n"
+-#~ msgstr "OYA Gufungura Ibisohoka IDOSIYE"
+-
+-#, fuzzy
+-#~ msgid "GCSE disabled: %d > 1000 basic blocks and %d >= 20 edges/basic block"
+-#~ msgstr "Yahagaritswe 1000 BASIC Na 20 BASIC Funga"
+-
+-#, fuzzy
+-#~ msgid "GCSE disabled: %d basic blocks and %d registers"
+-#~ msgstr "Yahagaritswe BASIC Na"
+-
+-#, fuzzy
+-#~ msgid "Name `%s' contains quotes"
+-#~ msgstr "Kirimo"
+-
+-#, fuzzy
+-#~ msgid "invalid string `%s' in define_cpu_unit"
+-#~ msgstr "Sibyo Ikurikiranyanyuguti in"
+-
+-#, fuzzy
+-#~ msgid "invalid string `%s' in define_query_cpu_unit"
+-#~ msgstr "Sibyo Ikurikiranyanyuguti in"
+-
+-#, fuzzy
+-#~ msgid "invalid string `%s' in define_bypass"
+-#~ msgstr "Sibyo Ikurikiranyanyuguti in"
+-
+-#, fuzzy
+-#~ msgid "invalid first string `%s' in exclusion_set"
+-#~ msgstr "Sibyo Itangira Ikurikiranyanyuguti in"
+-
+-#, fuzzy
+-#~ msgid "invalid second string `%s' in exclusion_set"
+-#~ msgstr "Sibyo ISEGONDA Ikurikiranyanyuguti in"
+-
+-#, fuzzy
+-#~ msgid "invalid first string `%s' in presence_set"
+-#~ msgstr "Sibyo Itangira Ikurikiranyanyuguti in"
+-
+-#, fuzzy
+-#~ msgid "invalid second string `%s' in presence_set"
+-#~ msgstr "Sibyo ISEGONDA Ikurikiranyanyuguti in"
+-
+-#, fuzzy
+-#~ msgid "invalid first string `%s' in absence_set"
+-#~ msgstr "Sibyo Itangira Ikurikiranyanyuguti in"
+-
+-#, fuzzy
+-#~ msgid "invalid second string `%s' in absence_set"
+-#~ msgstr "Sibyo ISEGONDA Ikurikiranyanyuguti in"
+-
+-#, fuzzy
+-#~ msgid "invalid string `%s' in define_automaton"
+-#~ msgstr "Sibyo Ikurikiranyanyuguti in"
+-
+-#, fuzzy
+-#~ msgid "invalid option `%s' in automata_option"
+-#~ msgstr "Sibyo Ihitamo in"
+-
+-#, fuzzy
+-#~ msgid "garbage after ) in reservation `%s'"
+-#~ msgstr "Nyuma in"
+-
+-#, fuzzy
+-#~ msgid "invalid `%s' in reservation `%s'"
+-#~ msgstr "Sibyo in"
+-
+-#, fuzzy
+-#~ msgid "repetition `%s' <= 1 in reservation `%s'"
+-#~ msgstr "1. in"
+-
+-#, fuzzy
+-#~ msgid "unit `%s' in exclusion is not declared"
+-#~ msgstr "Igice: in ni OYA"
+-
+-#, fuzzy
+-#~ msgid "`%s' in exclusion is not unit"
+-#~ msgstr "`%s'in ni OYA Igice:"
+-
+-#, fuzzy
+-#~ msgid "unit `%s' excludes itself"
+-#~ msgstr "Igice:"
+-
+-#, fuzzy
+-#~ msgid "units `%s' and `%s' in exclusion set belong to different automata"
+-#~ msgstr "Na in Gushyiraho Kuri"
+-
+-#, fuzzy
+-#~ msgid "unit `%s' excludes and requires presence of `%s'"
+-#~ msgstr "Igice: Na Bya"
+-
+-#, fuzzy
+-#~ msgid "unit `%s' requires absence and presence of `%s'"
+-#~ msgstr "Igice: Na Bya"
+-
+-#, fuzzy
+-#~ msgid "repeated declaration of automaton `%s'"
+-#~ msgstr "byasubiyemo Bya"
+-
+-#, fuzzy
+-#~ msgid "define_insn_reservation `%s' has negative latency time"
+-#~ msgstr "Igihe"
+-
+-#, fuzzy
+-#~ msgid "`%s' is already used as insn reservation name"
+-#~ msgstr "`%s'ni Nka Izina:"
+-
+-#, fuzzy
+-#~ msgid "define_bypass `%s - %s' has negative latency time"
+-#~ msgstr "Igihe"
+-
+-#, fuzzy
+-#~ msgid "automaton `%s' is not declared"
+-#~ msgstr "ni OYA"
+-
+-#, fuzzy
+-#~ msgid "define_unit `%s' without automaton when one defined"
+-#~ msgstr "Ryari:"
+-
+-#, fuzzy
+-#~ msgid "`%s' is declared as cpu unit"
+-#~ msgstr "`%s'ni Nka CPU Igice:"
+-
+-#, fuzzy
+-#~ msgid "`%s' is declared as cpu reservation"
+-#~ msgstr "`%s'ni Nka CPU"
+-
+-#, fuzzy
+-#~ msgid "repeated declaration of unit `%s'"
+-#~ msgstr "byasubiyemo Bya Igice:"
+-
+-#, fuzzy
+-#~ msgid "repeated declaration of reservation `%s'"
+-#~ msgstr "byasubiyemo Bya"
+-
+-#, fuzzy
+-#~ msgid "there is no insn reservation `%s'"
+-#~ msgstr "ni Oya"
+-
+-#, fuzzy
+-#~ msgid "the same bypass `%s - %s' is already defined"
+-#~ msgstr "i ni"
+-
+-#, fuzzy
+-#~ msgid "bypass `%s - %s' is already defined"
+-#~ msgstr "ni"
+-
+-#, fuzzy
+-#~ msgid "automaton `%s' is not used"
+-#~ msgstr "ni OYA"
+-
+-#, fuzzy
+-#~ msgid "undeclared unit or reservation `%s'"
+-#~ msgstr "Igice: Cyangwa"
+-
+-#, fuzzy
+-#~ msgid "unit `%s' is not used"
+-#~ msgstr "Igice: ni OYA"
+-
+-#, fuzzy
+-#~ msgid "reservation `%s' is not used"
+-#~ msgstr "ni OYA"
+-
+-#, fuzzy
+-#~ msgid "cycle in definition of reservation `%s'"
+-#~ msgstr "Uruziga in Insobanuro Bya"
+-
+-#, fuzzy
+-#~ msgid "Units `%s' and `%s' should be in the same automaton"
+-#~ msgstr "Na in i"
+-
+-#, fuzzy
+-#~ msgid "-split has no argument."
+-#~ msgstr "-Gutandukanya Oya"
+-
+-#, fuzzy
+-#~ msgid "option `-split' has not been implemented yet\n"
+-#~ msgstr "Ihitamo OYA"
+-
+-#, fuzzy
+-#~ msgid "Automaton `%s': Insn `%s' will never be issued"
+-#~ msgstr "Nta narimwe Byasohowe"
+-
+-#, fuzzy
+-#~ msgid "Insn `%s' will never be issued"
+-#~ msgstr "Nta narimwe Byasohowe"
+-
+-#, fuzzy
+-#~ msgid "Errors in DFA description"
+-#~ msgstr "in Isobanuramiterere"
+-
+-#, fuzzy
+-#~ msgid "Error in writing DFA description file %s"
+-#~ msgstr "in Isobanuramiterere IDOSIYE"
+-
+-#, fuzzy
+-#~ msgid "No input file name."
+-#~ msgstr "Iyinjiza IDOSIYE Izina:"
+-
+-#, fuzzy
+-#~ msgid "can't open %s"
+-#~ msgstr "Gufungura"
+-
+-#, fuzzy
+-#~ msgid "fix_sched_param: unknown param: %s"
+-#~ msgstr "Kitazwi"
+-
+-#, fuzzy
+-#~ msgid "function cannot be inline"
+-#~ msgstr "Umumaro Mumurongo"
+-
+-#, fuzzy
+-#~ msgid "varargs function cannot be inline"
+-#~ msgstr "Umumaro Mumurongo"
+-
+-#, fuzzy
+-#~ msgid "function using alloca cannot be inline"
+-#~ msgstr "Umumaro ikoresha Mumurongo"
+-
+-#, fuzzy
+-#~ msgid "function using setjmp cannot be inline"
+-#~ msgstr "Umumaro ikoresha Mumurongo"
+-
+-#, fuzzy
+-#~ msgid "function uses __builtin_eh_return"
+-#~ msgstr "Umumaro"
+-
+-#, fuzzy
+-#~ msgid "function with nested functions cannot be inline"
+-#~ msgstr "Umumaro Na: Imimaro Mumurongo"
+-
+-#, fuzzy
+-#~ msgid "function with label addresses used in initializers cannot inline"
+-#~ msgstr "Umumaro Na: Akarango Amaderesi in Mumurongo"
+-
+-#, fuzzy
+-#~ msgid "function too large to be inline"
+-#~ msgstr "Umumaro Binini Kuri Mumurongo"
+-
+-#, fuzzy
+-#~ msgid "no prototype, and parameter address used; cannot be inline"
+-#~ msgstr "Oya Na Aderesi Mumurongo"
+-
+-#, fuzzy
+-#~ msgid "inline functions not supported for this return value type"
+-#~ msgstr "Mumurongo Imimaro OYA kugirango iyi Garuka Agaciro Ubwoko"
+-
+-#, fuzzy
+-#~ msgid "function with varying-size return value cannot be inline"
+-#~ msgstr "Umumaro Na: Ingano Garuka Agaciro Mumurongo"
+-
+-#, fuzzy
+-#~ msgid "function with varying-size parameter cannot be inline"
+-#~ msgstr "Umumaro Na: Ingano Mumurongo"
+-
+-#, fuzzy
+-#~ msgid "function with transparent unit parameter cannot be inline"
+-#~ msgstr "Umumaro Na: Bibonerana Igice: Mumurongo"
+-
+-#, fuzzy
+-#~ msgid "function with computed jump cannot inline"
+-#~ msgstr "Umumaro Na: Simbuka Mumurongo"
+-
+-#, fuzzy
+-#~ msgid "function with nonlocal goto cannot be inline"
+-#~ msgstr "Umumaro Na: Mumurongo"
+-
+-#, fuzzy
+-#~ msgid "function with target specific attribute(s) cannot be inlined"
+-#~ msgstr "Umumaro Na: Intego Ikiranga S"
+-
+-#, fuzzy
+-#~ msgid "invalid parameter `%s'"
+-#~ msgstr "Ikigenderwaho sicyo"
+-
+-#, fuzzy
+-#~ msgid "Profile does not match flowgraph of function %s (out of date?)"
+-#~ msgstr "OYA BIHUYE Bya Umumaro Inyuma Bya Itariki"
+-
+-#, fuzzy
+-#~ msgid ".da file corrupted"
+-#~ msgstr ""
+-#~ ".Project- Id- Version: basctl\n"
+-#~ "POT- Creation- Date: 2003- 12- 07 17: 13+ 02\n"
+-#~ "PO- Revision- Date: 2004- 11- 04 10: 13- 0700\n"
+-#~ "Last- Translator: Language- Team:< en@ li. org> MIME- Version: 1. 0\n"
+-#~ "Content- Type: text/ plain; charset= UTF- 8\n"
+-#~ "Content- Transfer- Encoding: 8bit\n"
+-#~ "X- Generator: KBabel 1. 0\n"
+-#~ "."
+-
+-#, fuzzy
+-#~ msgid "corrupted profile info: prob for %d-%d thought to be %d"
+-#~ msgstr "Ibijyana Ibisobanuro PROB kugirango Kuri"
+-
+-#, fuzzy
+-#~ msgid "file %s not found, execution counts assumed to be zero"
+-#~ msgstr "IDOSIYE OYA Byabonetse Kuri Zeru"
+-
+-#, fuzzy
+-#~ msgid "%s: internal abort\n"
+-#~ msgstr "%s:By'imbere"
+-
+-#, fuzzy
+-#~ msgid "%s: error writing file `%s': %s\n"
+-#~ msgstr "%s:Ikosa IDOSIYE"
+-
+-#, fuzzy
+-#~ msgid "%s: usage '%s [ -VqfnkN ] [ -i <istring> ] [ filename ... ]'\n"
+-#~ msgstr "%s:Ikoresha: i Izina ry'idosiye:"
+-
+-#, fuzzy
+-#~ msgid "%s: usage '%s [ -VqfnkNlgC ] [ -B <dirname> ] [ filename ... ]'\n"
+-#~ msgstr "%s:Ikoresha: Izina ry'idosiye:"
+-
+-#, fuzzy
+-#~ msgid "%s: warning: no read access for file `%s'\n"
+-#~ msgstr "%s:Iburira Oya Gusoma kugirango IDOSIYE"
+-
+-#, fuzzy
+-#~ msgid "%s: warning: no write access for file `%s'\n"
+-#~ msgstr "%s:Iburira Oya Kwandika kugirango IDOSIYE"
+-
+-#, fuzzy
+-#~ msgid "%s: warning: no write access for dir containing `%s'\n"
+-#~ msgstr "%s:Iburira Oya Kwandika kugirango"
+-
+-#, fuzzy
+-#~ msgid "%s: invalid file name: %s\n"
+-#~ msgstr "%s:Sibyo IDOSIYE Izina:"
+-
+-#, fuzzy
+-#~ msgid "%s: %s: can't get status: %s\n"
+-#~ msgstr "%s:%s:Kubona Imimerere"
+-
+-#, fuzzy
+-#~ msgid ""
+-#~ "\n"
+-#~ "%s: fatal error: aux info file corrupted at line %d\n"
+-#~ msgstr "%s:Ikosa Ibisobanuro IDOSIYE ku Umurongo"
+-
+-#, fuzzy
+-#~ msgid "%s:%d: declaration of function `%s' takes different forms\n"
+-#~ msgstr "%s:%d:Bya Umumaro"
+-
+-#, fuzzy
+-#~ msgid "%s: wait: %s\n"
+-#~ msgstr "%s:Tegereza"
+-
+-#, fuzzy
+-#~ msgid "%s: %s exited with status %d\n"
+-#~ msgstr "%s:%sNa: Imimerere"
+-
+-#, fuzzy
+-#~ msgid "%s: warning: missing SYSCALLS file `%s'\n"
+-#~ msgstr "%s:Iburira Ibuze IDOSIYE"
+-
+-#, fuzzy
+-#~ msgid "%s: can't read aux info file `%s': %s\n"
+-#~ msgstr "%s:Gusoma Ibisobanuro IDOSIYE"
+-
+-#, fuzzy
+-#~ msgid "%s: can't get status of aux info file `%s': %s\n"
+-#~ msgstr "%s:Kubona Imimerere Bya Ibisobanuro IDOSIYE"
+-
+-#, fuzzy
+-#~ msgid "%s: can't open aux info file `%s' for reading: %s\n"
+-#~ msgstr "%s:Gufungura Ibisobanuro IDOSIYE kugirango"
+-
+-#, fuzzy
+-#~ msgid "%s: error reading aux info file `%s': %s\n"
+-#~ msgstr "%s:Ikosa Ibisobanuro IDOSIYE"
+-
+-#, fuzzy
+-#~ msgid "%s: error closing aux info file `%s': %s\n"
+-#~ msgstr "%s:Ikosa Ibisobanuro IDOSIYE"
+-
+-#, fuzzy
+-#~ msgid "%s: can't delete aux info file `%s': %s\n"
+-#~ msgstr "%s:Gusiba Ibisobanuro IDOSIYE"
+-
+-#, fuzzy
+-#~ msgid "%s: can't delete file `%s': %s\n"
+-#~ msgstr "%s:Gusiba IDOSIYE"
+-
+-#, fuzzy
+-#~ msgid "%s: warning: can't rename file `%s' to `%s': %s\n"
+-#~ msgstr "%s:Iburira Guhindura izina IDOSIYE Kuri"
+-
+-#, fuzzy
+-#~ msgid "%s: conflicting extern definitions of '%s'\n"
+-#~ msgstr "%s:Bya"
+-
+-#, fuzzy
+-#~ msgid "%s: declarations of '%s' will not be converted\n"
+-#~ msgstr "%s:Bya OYA"
+-
+-#, fuzzy
+-#~ msgid "%s: conflict list for '%s' follows:\n"
+-#~ msgstr "%s:Urutonde kugirango"
+-
+-#, fuzzy
+-#~ msgid "%s: warning: using formals list from %s(%d) for function `%s'\n"
+-#~ msgstr "%s:Iburira ikoresha Urutonde Bivuye kugirango Umumaro"
+-
+-#, fuzzy
+-#~ msgid "%s: %d: `%s' used but missing from SYSCALLS\n"
+-#~ msgstr "%s:%d:`%s'Ibuze Bivuye"
+-
+-#, fuzzy
+-#~ msgid "%s: %d: warning: no extern definition for `%s'\n"
+-#~ msgstr "%s:%d:Iburira Oya Insobanuro kugirango"
+-
+-#, fuzzy
+-#~ msgid "%s: warning: no static definition for `%s' in file `%s'\n"
+-#~ msgstr "%s:Iburira Oya Insobanuro kugirango in IDOSIYE"
+-
+-#, fuzzy
+-#~ msgid "%s: multiple static defs of `%s' in file `%s'\n"
+-#~ msgstr "%s:Igikubo Bya in IDOSIYE"
+-
+-#, fuzzy
+-#~ msgid "%s: %d: warning: source too confusing\n"
+-#~ msgstr "%s:%d:Iburira Inkomoko"
+-
+-#, fuzzy
+-#~ msgid "%s: %d: warning: varargs function declaration not converted\n"
+-#~ msgstr "%s:%d:Iburira Umumaro OYA"
+-
+-#, fuzzy
+-#~ msgid "%s: declaration of function `%s' not converted\n"
+-#~ msgstr "%s:Bya Umumaro OYA"
+-
+-#, fuzzy
+-#~ msgid "%s: warning: too many parameter lists in declaration of `%s'\n"
+-#~ msgstr "%s:Iburira Intonde in Bya"
+-
+-#, fuzzy
+-#~ msgid ""
+-#~ "\n"
+-#~ "%s: warning: too few parameter lists in declaration of `%s'\n"
+-#~ msgstr "%s:Iburira Intonde in Bya"
+-
+-#, fuzzy
+-#~ msgid "%s: %d: warning: found `%s' but expected `%s'\n"
+-#~ msgstr "%s:%d:Iburira Byabonetse Ikitezwe:"
+-
+-#, fuzzy
+-#~ msgid "%s: local declaration for function `%s' not inserted\n"
+-#~ msgstr "%s:kugirango Umumaro OYA"
+-
+-#, fuzzy
+-#~ msgid ""
+-#~ "\n"
+-#~ "%s: %d: warning: can't add declaration of `%s' into macro call\n"
+-#~ msgstr "%s:%d:Iburira Kongeramo Bya Makoro"
+-
+-#, fuzzy
+-#~ msgid "%s: global declarations for file `%s' not inserted\n"
+-#~ msgstr "%s:kugirango IDOSIYE OYA"
+-
+-#, fuzzy
+-#~ msgid "%s: definition of function `%s' not converted\n"
+-#~ msgstr "%s:Insobanuro Bya Umumaro OYA"
+-
+-#, fuzzy
+-#~ msgid "%s: %d: warning: definition of %s not converted\n"
+-#~ msgstr "%s:%d:Iburira Insobanuro Bya OYA"
+-
+-#, fuzzy
+-#~ msgid "%s: found definition of `%s' at %s(%d)\n"
+-#~ msgstr "%s:Byabonetse Insobanuro Bya ku"
+-
+-#, fuzzy
+-#~ msgid "%s: %d: warning: `%s' excluded by preprocessing\n"
+-#~ msgstr "%s:%d:Iburira ku"
+-
+-#, fuzzy
+-#~ msgid "%s: function definition not converted\n"
+-#~ msgstr "%s:Umumaro Insobanuro OYA"
+-
+-#, fuzzy
+-#~ msgid "%s: `%s' not converted\n"
+-#~ msgstr "%s:`%s'OYA"
+-
+-#, fuzzy
+-#~ msgid "%s: would convert file `%s'\n"
+-#~ msgstr "%s:GUHINDURA IDOSIYE"
+-
+-#, fuzzy
+-#~ msgid "%s: converting file `%s'\n"
+-#~ msgstr "%s:Guhindura.... IDOSIYE"
+-
+-#, fuzzy
+-#~ msgid "%s: can't get status for file `%s': %s\n"
+-#~ msgstr "%s:Kubona Imimerere kugirango IDOSIYE"
+-
+-#, fuzzy
+-#~ msgid "%s: can't open file `%s' for reading: %s\n"
+-#~ msgstr "%s:Gufungura IDOSIYE kugirango"
+-
+-#, fuzzy
+-#~ msgid ""
+-#~ "\n"
+-#~ "%s: error reading input file `%s': %s\n"
+-#~ msgstr "%s:Ikosa Iyinjiza IDOSIYE"
+-
+-#, fuzzy
+-#~ msgid "%s: can't create/open clean file `%s': %s\n"
+-#~ msgstr "%s:Kurema Gufungura GUSUKURA IDOSIYE"
+-
+-#, fuzzy
+-#~ msgid "%s: warning: file `%s' already saved in `%s'\n"
+-#~ msgstr "%s:Iburira IDOSIYE in"
+-
+-#, fuzzy
+-#~ msgid "%s: can't link file `%s' to `%s': %s\n"
+-#~ msgstr "%s:Ihuza IDOSIYE Kuri"
+-
+-#, fuzzy
+-#~ msgid "%s: can't create/open output file `%s': %s\n"
+-#~ msgstr "%s:Kurema Gufungura Ibisohoka IDOSIYE"
+-
+-#, fuzzy
+-#~ msgid "%s: can't change mode of file `%s': %s\n"
+-#~ msgstr "%s:Guhindura>> Ubwoko Bya IDOSIYE"
+-
+-#, fuzzy
+-#~ msgid "%s: cannot get working directory: %s\n"
+-#~ msgstr "%s:Kubona bushyinguro"
+-
+-#, fuzzy
+-#~ msgid "%s: input file names must have .c suffixes: %s\n"
+-#~ msgstr "%s:Iyinjiza IDOSIYE Amazina C Imigereka"
+-
+-#, fuzzy
+-#~ msgid "Didn't find a coloring.\n"
+-#~ msgstr "Gushaka a"
+-
+-#, fuzzy
+-#~ msgid "output constraint %d must specify a single register"
+-#~ msgstr "Ibisohoka Imbogamizi a UMWE Kwiyandikisha"
+-
+-#, fuzzy
+-#~ msgid "output constraint %d cannot be specified together with \"%s\" clobber"
+-#~ msgstr "Ibisohoka Imbogamizi Na:"
+-
+-#, fuzzy
+-#~ msgid "output regs must be grouped at top of stack"
+-#~ msgstr "Ibisohoka ku Hejuru: Bya"
+-
+-#, fuzzy
+-#~ msgid "implicitly popped regs must be grouped at top of stack"
+-#~ msgstr "ku Hejuru: Bya"
+-
+-#, fuzzy
+-#~ msgid "output operand %d must use `&' constraint"
+-#~ msgstr "Ibisohoka Gukoresha Imbogamizi"
+-
+-#, fuzzy
+-#~ msgid "can't use '%s' as a %s register"
+-#~ msgstr "Gukoresha Nka a Kwiyandikisha"
+-
+-#, fuzzy
+-#~ msgid "unknown register name: %s"
+-#~ msgstr "Kitazwi Kwiyandikisha Izina:"
+-
+-#, fuzzy
+-#~ msgid "global register variable follows a function definition"
+-#~ msgstr "Kwiyandikisha IMPINDURAGACIRO a Umumaro Insobanuro"
+-
+-#, fuzzy
+-#~ msgid "register used for two global register variables"
+-#~ msgstr "Kwiyandikisha kugirango Kwiyandikisha Ibihinduka"
+-
+-#, fuzzy
+-#~ msgid "call-clobbered register used for global register variable"
+-#~ msgstr "Kwiyandikisha kugirango Kwiyandikisha IMPINDURAGACIRO"
+-
+-#, fuzzy
+-#~ msgid "validate_value_data: [%u] Bad next_regno for empty chain (%u)"
+-#~ msgstr "kugirango ubusa"
+-
+-#, fuzzy
+-#~ msgid "validate_value_data: Loop in regno chain (%u)"
+-#~ msgstr "in"
+-
+-#, fuzzy
+-#~ msgid "validate_value_data: [%u] Non-empty reg in chain (%s %u %i)"
+-#~ msgstr "ubusa in"
+-
+-#, fuzzy
+-#~ msgid "cannot reload integer constant operand in `asm'"
+-#~ msgstr "Kongera Gutangiza Umubare wuzuye in"
+-
+-#, fuzzy
+-#~ msgid "impossible register constraint in `asm'"
+-#~ msgstr "Kwiyandikisha Imbogamizi in"
+-
+-#, fuzzy
+-#~ msgid "`&' constraint used with no register class"
+-#~ msgstr "`&'Imbogamizi Na: Oya Kwiyandikisha ishuri"
+-
+-#, fuzzy
+-#~ msgid "unable to generate reloads for:"
+-#~ msgstr "Kuri kugirango"
+-
+-#, fuzzy
+-#~ msgid "inconsistent operand constraints in an `asm'"
+-#~ msgstr "in"
+-
+-#, fuzzy
+-#~ msgid "frame size too large for reliable stack checking"
+-#~ msgstr "Ikadiri Ingano Binini kugirango"
+-
+-#, fuzzy
+-#~ msgid "try reducing the number of local variables"
+-#~ msgstr "i Umubare Bya Ibihinduka"
+-
+-#, fuzzy
+-#~ msgid "can't find a register in class `%s' while reloading `asm'"
+-#~ msgstr "Gushaka a Kwiyandikisha in ishuri"
+-
+-#, fuzzy
+-#~ msgid "unable to find a register to spill in class `%s'"
+-#~ msgstr "Kuri Gushaka a Kwiyandikisha Kuri in ishuri"
+-
+-#, fuzzy
+-#~ msgid "this is the insn:"
+-#~ msgstr "iyi ni i"
+-
+-#, fuzzy
+-#~ msgid "`asm' operand requires impossible reload"
+-#~ msgstr "`Kongera Gutangiza"
+-
+-#, fuzzy
+-#~ msgid "could not find a spill register"
+-#~ msgstr "OYA Gushaka a Kwiyandikisha"
+-
+-#, fuzzy
+-#~ msgid "`asm' operand constraint incompatible with operand size"
+-#~ msgstr "`Imbogamizi Na: Ingano"
+-
+-#, fuzzy
+-#~ msgid "VOIDmode on an output"
+-#~ msgstr "ku Ibisohoka"
+-
+-#, fuzzy
+-#~ msgid "output operand is constant in `asm'"
+-#~ msgstr "Ibisohoka ni in"
+-
+-#, fuzzy
+-#~ msgid "insn does not satisfy its constraints:"
+-#~ msgstr "OYA"
+-
+-#, fuzzy
+-#~ msgid "RTL check: access of elt %d of `%s' with last elt %d in %s, at %s:%d"
+-#~ msgstr "Kugenzura... Bya Bya Na: Iheruka in ku"
+-
+-#, fuzzy
+-#~ msgid "RTL check: expected elt %d type '%c', have '%c' (rtx %s) in %s, at %s:%d"
+-#~ msgstr "Kugenzura... Ikitezwe: Ubwoko in ku"
+-
+-#, fuzzy
+-#~ msgid "RTL check: expected elt %d type '%c' or '%c', have '%c' (rtx %s) in %s, at %s:%d"
+-#~ msgstr "Kugenzura... Ikitezwe: Ubwoko Cyangwa in ku"
+-
+-#, fuzzy
+-#~ msgid "RTL check: expected code `%s', have `%s' in %s, at %s:%d"
+-#~ msgstr "Kugenzura... Ikitezwe: ITEGEKONGENGA in ku"
+-
+-#, fuzzy
+-#~ msgid "RTL check: expected code `%s' or `%s', have `%s' in %s, at %s:%d"
+-#~ msgstr "Kugenzura... Ikitezwe: ITEGEKONGENGA Cyangwa in ku"
+-
+-#, fuzzy
+-#~ msgid "RTL check: access of elt %d of vector with last elt %d in %s, at %s:%d"
+-#~ msgstr "Kugenzura... Bya Bya Na: Iheruka in ku"
+-
+-#, fuzzy
+-#~ msgid "RTL flag check: %s used with unexpected rtx code `%s' in %s, at %s:%d"
+-#~ msgstr "Ibendera Kugenzura... Na: ITEGEKONGENGA in ku"
+-
+-#, fuzzy
+-#~ msgid "jump to `%s' invalidly jumps into binding contour"
+-#~ msgstr "Simbuka Kuri Bifatanya Umuzenguruko"
+-
+-#, fuzzy
+-#~ msgid "label `%s' used before containing binding contour"
+-#~ msgstr "Akarango Mbere Bifatanya Umuzenguruko"
+-
+-#, fuzzy
+-#~ msgid "output operand constraint lacks `='"
+-#~ msgstr "Ibisohoka Imbogamizi"
+-
+-#, fuzzy
+-#~ msgid "output constraint `%c' for operand %d is not at the beginning"
+-#~ msgstr "Ibisohoka Imbogamizi kugirango ni OYA ku i Itangiriro"
+-
+-#, fuzzy
+-#~ msgid "operand constraint contains incorrectly positioned '+' or '='"
+-#~ msgstr "Imbogamizi Kirimo Cyangwa"
+-
+-#, fuzzy
+-#~ msgid "`%%' constraint used with last operand"
+-#~ msgstr "`%%'Imbogamizi Na: Iheruka"
+-
+-#, fuzzy
+-#~ msgid "matching constraint not valid in output operand"
+-#~ msgstr "Imbogamizi OYA Byemewe in Ibisohoka"
+-
+-#, fuzzy
+-#~ msgid "input operand constraint contains `%c'"
+-#~ msgstr "Iyinjiza Imbogamizi Kirimo"
+-
+-#, fuzzy
+-#~ msgid "matching constraint references invalid operand number"
+-#~ msgstr "Imbogamizi Indango Sibyo Umubare"
+-
+-#, fuzzy
+-#~ msgid "invalid punctuation `%c' in constraint"
+-#~ msgstr "Sibyo in Imbogamizi"
+-
+-#, fuzzy
+-#~ msgid "asm-specifier for variable `%s' conflicts with asm clobber list"
+-#~ msgstr "kugirango IMPINDURAGACIRO Na: Urutonde"
+-
+-#, fuzzy
+-#~ msgid "unknown register name `%s' in `asm'"
+-#~ msgstr "Kitazwi Kwiyandikisha Izina: in"
+-
+-#, fuzzy
+-#~ msgid "more than %d operands in `asm'"
+-#~ msgstr "Birenzeho in"
+-
+-#, fuzzy
+-#~ msgid "output number %d not directly addressable"
+-#~ msgstr "Ibisohoka Umubare OYA"
+-
+-#, fuzzy
+-#~ msgid "asm operand %d probably doesn't match constraints"
+-#~ msgstr "BIHUYE"
+-
+-#, fuzzy
+-#~ msgid "asm clobber conflict with output operand"
+-#~ msgstr "Na: Ibisohoka"
+-
+-#, fuzzy
+-#~ msgid "asm clobber conflict with input operand"
+-#~ msgstr "Na: Iyinjiza"
+-
+-#, fuzzy
+-#~ msgid "too many alternatives in `asm'"
+-#~ msgstr "in"
+-
+-#, fuzzy
+-#~ msgid "operand constraints for `asm' differ in number of alternatives"
+-#~ msgstr "kugirango in Umubare Bya"
+-
+-#, fuzzy
+-#~ msgid "duplicate asm operand name '%s'"
+-#~ msgstr "Gusubiramo Izina:"
+-
+-#, fuzzy
+-#~ msgid "missing close brace for named operand"
+-#~ msgstr "Ibuze Gufunga kugirango"
+-
+-#, fuzzy
+-#~ msgid "undefined named operand '%s'"
+-#~ msgstr "kidasobanuye"
+-
+-#, fuzzy
+-#~ msgid "unused variable `%s'"
+-#~ msgstr "Kidakoreshwa IMPINDURAGACIRO"
+-
+-#, fuzzy
+-#~ msgid "enumeration value `%s' not handled in switch"
+-#~ msgstr "Agaciro OYA in Hindura"
+-
+-#, fuzzy
+-#~ msgid "case value `%ld' not in enumerated type"
+-#~ msgstr "Agaciro OYA in Ubwoko"
+-
+-#, fuzzy
+-#~ msgid "case value `%ld' not in enumerated type `%s'"
+-#~ msgstr "Agaciro OYA in Ubwoko"
+-
+-#, fuzzy
+-#~ msgid "switch missing default case"
+-#~ msgstr "Hindura Ibuze Mburabuzi"
+-
+-#, fuzzy
+-#~ msgid "type size can't be explicitly evaluated"
+-#~ msgstr "Ubwoko Ingano"
+-
+-#, fuzzy
+-#~ msgid "variable-size type declared outside of any function"
+-#~ msgstr "IMPINDURAGACIRO Ingano Ubwoko Hanze Bya Umumaro"
+-
+-#, fuzzy
+-#~ msgid "size of `%s' is %d bytes"
+-#~ msgstr "Ingano Bya ni Bayite"
+-
+-#, fuzzy
+-#~ msgid "size of `%s' is larger than %d bytes"
+-#~ msgstr "Ingano Bya ni Kinini Bayite"
+-
+-#, fuzzy
+-#~ msgid "packed attribute causes inefficient alignment for `%s'"
+-#~ msgstr "Ikiranga Itunganya kugirango"
+-
+-#, fuzzy
+-#~ msgid "packed attribute is unnecessary for `%s'"
+-#~ msgstr "Ikiranga ni kugirango"
+-
+-#, fuzzy
+-#~ msgid "padding struct to align `%s'"
+-#~ msgstr "Wuzuza: Kuri Gutondeka"
+-
+-#, fuzzy
+-#~ msgid "padding struct size to alignment boundary"
+-#~ msgstr "Wuzuza: Ingano Kuri Itunganya"
+-
+-#, fuzzy
+-#~ msgid "packed attribute causes inefficient alignment"
+-#~ msgstr "Ikiranga Itunganya"
+-
+-#, fuzzy
+-#~ msgid "packed attribute is unnecessary"
+-#~ msgstr "Ikiranga ni"
+-
+-#, fuzzy
+-#~ msgid "cannot timevar_pop '%s' when top of timevars stack is '%s'"
+-#~ msgstr "Ryari: Hejuru: Bya ni"
+-
+-#, fuzzy
+-#~ msgid ""
+-#~ "\n"
+-#~ "Execution times (seconds)\n"
+-#~ msgstr "Times amasogonda"
+-
+-# #-#-#-#-# sc.pot (PACKAGE VERSION) #-#-#-#-#
+-# sc/source\ui\src\autofmt.src:RID_SCDLG_AUTOFORMAT.STR_SUM.text
+-# #-#-#-#-# sc.pot (PACKAGE VERSION) #-#-#-#-#
+-# sc/source\ui\src\globstr.src:RID_GLOBSTR.STR_PIVOT_TOTAL.text
+-#, fuzzy
+-#~ msgid " TOTAL :"
+-#~ msgstr "Igiteranyo"
+-
+-#, fuzzy
+-#~ msgid "time in %s: %ld.%06ld (%ld%%)\n"
+-#~ msgstr "Igihe in"
+-
+-#, fuzzy
+-#~ msgid "collect: tweaking %s in %s\n"
+-#~ msgstr "in"
+-
+-#, fuzzy
+-#~ msgid "ld returned %d exit status"
+-#~ msgstr "Gusohoka Imimerere"
+-
+-#, fuzzy
+-#~ msgid "Generate debugging info in default format"
+-#~ msgstr "Ibisobanuro in Mburabuzi Imiterere"
+-
+-#, fuzzy
+-#~ msgid "Generate debugging info in default extended format"
+-#~ msgstr "Ibisobanuro in Mburabuzi Byongerewe... Imiterere"
+-
+-#, fuzzy
+-#~ msgid "Generate STABS format debug info"
+-#~ msgstr "Imiterere Kosora amakosa Ibisobanuro"
+-
+-#, fuzzy
+-#~ msgid "Generate extended STABS format debug info"
+-#~ msgstr "Byongerewe... Imiterere Kosora amakosa Ibisobanuro"
+-
+-#, fuzzy
+-#~ msgid "Generate DWARF-1 format debug info"
+-#~ msgstr "1. Imiterere Kosora amakosa Ibisobanuro"
+-
+-#, fuzzy
+-#~ msgid "Generate extended DWARF-1 format debug info"
+-#~ msgstr "Byongerewe... 1. Imiterere Kosora amakosa Ibisobanuro"
+-
+-#, fuzzy
+-#~ msgid "Generate DWARF-2 debug info"
+-#~ msgstr "2. Kosora amakosa Ibisobanuro"
+-
+-#, fuzzy
+-#~ msgid "Generate XCOFF format debug info"
+-#~ msgstr "Imiterere Kosora amakosa Ibisobanuro"
+-
+-#, fuzzy
+-#~ msgid "Generate extended XCOFF format debug info"
+-#~ msgstr "Byongerewe... Imiterere Kosora amakosa Ibisobanuro"
+-
+-#, fuzzy
+-#~ msgid "Generate COFF format debug info"
+-#~ msgstr "Imiterere Kosora amakosa Ibisobanuro"
+-
+-#, fuzzy
+-#~ msgid "Generate VMS format debug info"
+-#~ msgstr "Imiterere Kosora amakosa Ibisobanuro"
+-
+-#, fuzzy
+-#~ msgid "Perform DWARF2 duplicate elimination"
+-#~ msgstr "Gusubiramo"
+-
+-#, fuzzy
+-#~ msgid "Do not store floats in registers"
+-#~ msgstr "OYA in"
+-
+-#, fuzzy
+-#~ msgid "Consider all mem refs through pointers as volatile"
+-#~ msgstr "Byose mem Gihinguranya Nka"
+-
+-#, fuzzy
+-#~ msgid "Consider all mem refs to global data to be volatile"
+-#~ msgstr "Byose mem Kuri Ibyatanzwe Kuri"
+-
+-#, fuzzy
+-#~ msgid "Consider all mem refs to static data to be volatile"
+-#~ msgstr "Byose mem Kuri Ibyatanzwe Kuri"
+-
+-#, fuzzy
+-#~ msgid "Defer popping functions args from stack until later"
+-#~ msgstr "Imimaro Bivuye"
+-
+-#, fuzzy
+-#~ msgid "When possible do not generate stack frames"
+-#~ msgstr "OYA Amakadiri"
+-
+-#, fuzzy
+-#~ msgid "Optimize sibling and tail recursive calls"
+-#~ msgstr "Na Amahamagara:"
+-
+-#, fuzzy
+-#~ msgid "Perform superblock formation via tail duplication"
+-#~ msgstr "Biturutse"
+-
+-#, fuzzy
+-#~ msgid "When running CSE, follow jumps to their targets"
+-#~ msgstr "Kuri"
+-
+-#, fuzzy
+-#~ msgid "Perform a number of minor, expensive optimizations"
+-#~ msgstr "a Umubare Bya"
+-
+-#, fuzzy
+-#~ msgid "Perform jump threading optimizations"
+-#~ msgstr "Simbuka"
+-
+-#, fuzzy
+-#~ msgid "Perform loop unrolling when iteration count is known"
+-#~ msgstr "Ryari: IBARA ni"
+-
+-#, fuzzy
+-#~ msgid "Perform loop unrolling for all loops"
+-#~ msgstr "kugirango Byose"
+-
+-#, fuzzy
+-#~ msgid "Generate prefetch instructions, if available, for arrays in loops"
+-#~ msgstr "Amabwiriza NIBA Bihari kugirango in"
+-
+-#, fuzzy
+-#~ msgid "Force all loop invariant computations out of loops"
+-#~ msgstr "Byose Inyuma Bya"
+-
+-#, fuzzy
+-#~ msgid "Strength reduce all loop general induction variables"
+-#~ msgstr "Byose Rusange Ibihinduka"
+-
+-#, fuzzy
+-#~ msgid "Store strings in writable data section"
+-#~ msgstr "Ikurikiranyanyuguti in Ibyatanzwe Icyiciro"
+-
+-#, fuzzy
+-#~ msgid "Copy memory operands into registers before using"
+-#~ msgstr "Ububiko Mbere ikoresha"
+-
+-#, fuzzy
+-#~ msgid "Copy memory address constants into regs before using"
+-#~ msgstr "Ububiko Aderesi Mbere ikoresha"
+-
+-#, fuzzy
+-#~ msgid "Allow function addresses to be held in registers"
+-#~ msgstr "Umumaro Amaderesi Kuri in"
+-
+-#, fuzzy
+-#~ msgid "Integrate simple functions into their callers"
+-#~ msgstr "Byoroheje Imimaro"
+-
+-#, fuzzy
+-#~ msgid "Generate code for funcs even if they are fully inlined"
+-#~ msgstr "ITEGEKONGENGA kugirango ATARIIGIHARWE NIBA"
+-
+-#, fuzzy
+-#~ msgid "Pay attention to the 'inline' keyword"
+-#~ msgstr "Kuri i Ijambo- banze"
+-
+-#, fuzzy
+-#~ msgid "Emit static const variables even if they are not used"
+-#~ msgstr "Ibihinduka ATARIIGIHARWE NIBA OYA"
+-
+-#, fuzzy
+-#~ msgid "Check for syntax errors, then stop"
+-#~ msgstr "kugirango Amakosa Hanyuma Guhagarara"
+-
+-#, fuzzy
+-#~ msgid "Mark data as shared rather than private"
+-#~ msgstr "Ibyatanzwe Nka By'umwihariko"
+-
+-#, fuzzy
+-#~ msgid "Enable saving registers around function calls"
+-#~ msgstr "Mu kubika Umumaro Amahamagara:"
+-
+-#, fuzzy
+-#~ msgid "Return 'short' aggregates in memory, not registers"
+-#~ msgstr "in Ububiko OYA"
+-
+-#, fuzzy
+-#~ msgid "Return 'short' aggregates in registers"
+-#~ msgstr "in"
+-
+-#, fuzzy
+-#~ msgid "Attempt to fill delay slots of branch instructions"
+-#~ msgstr "Kuri Kuzuza Gutinda Siloti Bya Amabwiriza"
+-
+-#, fuzzy
+-#~ msgid "Perform the global common subexpression elimination"
+-#~ msgstr "i"
+-
+-#, fuzzy
+-#~ msgid "Perform enhanced load motion during global subexpression elimination"
+-#~ msgstr "Ibirimo"
+-
+-#, fuzzy
+-#~ msgid "Perform store motion after global subexpression elimination"
+-#~ msgstr "Nyuma"
+-
+-#, fuzzy
+-#~ msgid "Perform the loop optimizations"
+-#~ msgstr "i"
+-
+-#, fuzzy
+-#~ msgid "Perform cross-jumping optimization"
+-#~ msgstr "Kwambukiranya"
+-
+-#, fuzzy
+-#~ msgid "Perform conversion of conditional jumps to branchless equivalents"
+-#~ msgstr "Ihindurangero Bya Kuri"
+-
+-#, fuzzy
+-#~ msgid "Perform conversion of conditional jumps to conditional execution"
+-#~ msgstr "Ihindurangero Bya Kuri"
+-
+-#, fuzzy
+-#~ msgid "Run CSE pass after loop optimizations"
+-#~ msgstr "Nyuma"
+-
+-#, fuzzy
+-#~ msgid "Run the loop optimizer twice"
+-#~ msgstr "i"
+-
+-#, fuzzy
+-#~ msgid "Delete useless null pointer checks"
+-#~ msgstr "NTAGIHARI Mweretsi"
+-
+-#, fuzzy
+-#~ msgid "Reschedule instructions before register allocation"
+-#~ msgstr "Amabwiriza Mbere Kwiyandikisha"
+-
+-#, fuzzy
+-#~ msgid "Reschedule instructions after register allocation"
+-#~ msgstr "Amabwiriza Nyuma Kwiyandikisha"
+-
+-#, fuzzy
+-#~ msgid "Enable scheduling across basic blocks"
+-#~ msgstr "Kwambukiranya BASIC"
+-
+-#, fuzzy
+-#~ msgid "Allow speculative motion of non-loads"
+-#~ msgstr "Bya"
+-
+-#, fuzzy
+-#~ msgid "Allow speculative motion of some loads"
+-#~ msgstr "Bya"
+-
+-#, fuzzy
+-#~ msgid "Allow speculative motion of more loads"
+-#~ msgstr "Bya Birenzeho"
+-
+-#, fuzzy
+-#~ msgid "Replace add,compare,branch with branch on count reg"
+-#~ msgstr "Kongeramo Kugereranya# Na: ku IBARA"
+-
+-#, fuzzy
+-#~ msgid "Generate position independent code, if possible"
+-#~ msgstr "Ibirindiro ITEGEKONGENGA NIBA"
+-
+-#, fuzzy
+-#~ msgid "Enable exception handling"
+-#~ msgstr "Irengayobora(-)"
+-
+-#, fuzzy
+-#~ msgid "Just generate unwind tables for exception handling"
+-#~ msgstr "Imbonerahamwe kugirango Irengayobora(-)"
+-
+-#, fuzzy
+-#~ msgid "Generate unwind tables exact at each instruction boundary"
+-#~ msgstr "Imbonerahamwe NYACYO ku"
+-
+-#, fuzzy
+-#~ msgid "Support synchronous non-call exceptions"
+-#~ msgstr "Amarengayobora"
+-
+-#, fuzzy
+-#~ msgid "Insert arc based program profiling code"
+-#~ msgstr "Agaheto Porogaramu ITEGEKONGENGA"
+-
+-#, fuzzy
+-#~ msgid "Create data files needed by gcov"
+-#~ msgstr "Ibyatanzwe Idosiye ku"
+-
+-#, fuzzy
+-#~ msgid "Use profiling information for branch probabilities"
+-#~ msgstr "Ibisobanuro kugirango"
+-
+-#, fuzzy
+-#~ msgid "Enable basic program profiling code"
+-#~ msgstr "BASIC Porogaramu ITEGEKONGENGA"
+-
+-#, fuzzy
+-#~ msgid "Reorder basic blocks to improve code placement"
+-#~ msgstr "BASIC Kuri ITEGEKONGENGA Ishyira mu mwanya"
+-
+-#, fuzzy
+-#~ msgid "Reorder functions to improve code placement"
+-#~ msgstr "Imimaro Kuri ITEGEKONGENGA Ishyira mu mwanya"
+-
+-#, fuzzy
+-#~ msgid "Do the register renaming optimization pass"
+-#~ msgstr "i Kwiyandikisha"
+-
+-#, fuzzy
+-#~ msgid "Do the register copy-propagation optimization pass"
+-#~ msgstr "i Kwiyandikisha Gukoporora"
+-
+-#, fuzzy
+-#~ msgid "Do not put uninitialized globals in the common section"
+-#~ msgstr "OYA Gushyira Itatangijwe in i Icyiciro"
+-
+-#, fuzzy
+-#~ msgid "Do not generate .size directives"
+-#~ msgstr "OYA Ingano"
+-
+-#, fuzzy
+-#~ msgid "place each function into its own section"
+-#~ msgstr "Umumaro Icyiciro"
+-
+-#, fuzzy
+-#~ msgid "place data items into their own section"
+-#~ msgstr "Ibyatanzwe Icyiciro"
+-
+-#, fuzzy
+-#~ msgid "Add extra commentary to assembler output"
+-#~ msgstr "Birenga Kuri Ibisohoka"
+-
+-#, fuzzy
+-#~ msgid "Output GNU ld formatted global initializers"
+-#~ msgstr "Byahanaguwe"
+-
+-#, fuzzy
+-#~ msgid "Enables a register move optimization"
+-#~ msgstr "a Kwiyandikisha Kwimura"
+-
+-#, fuzzy
+-#~ msgid "Do the full regmove optimization pass"
+-#~ msgstr "i"
+-
+-#, fuzzy
+-#~ msgid "Pack structure members together without holes"
+-#~ msgstr "Imiterere"
+-
+-#, fuzzy
+-#~ msgid "Insert stack checking code into the program"
+-#~ msgstr "ITEGEKONGENGA i Porogaramu"
+-
+-#, fuzzy
+-#~ msgid "Specify that arguments may alias each other & globals"
+-#~ msgstr "ingingo Gicurasi Irihimbano Ikindi"
+-
+-#, fuzzy
+-#~ msgid "Assume arguments may alias globals but not each other"
+-#~ msgstr "ingingo Gicurasi Irihimbano OYA Ikindi"
+-
+-#, fuzzy
+-#~ msgid "Assume arguments do not alias each other or globals"
+-#~ msgstr "ingingo OYA Irihimbano Ikindi Cyangwa"
+-
+-#, fuzzy
+-#~ msgid "Assume strict aliasing rules apply"
+-#~ msgstr "Gukurikiza"
+-
+-#, fuzzy
+-#~ msgid "Align the start of loops"
+-#~ msgstr "i Gutangira Bya"
+-
+-#, fuzzy
+-#~ msgid "Align labels which are only reached by jumping"
+-#~ msgstr "Uturango... ku"
+-
+-#, fuzzy
+-#~ msgid "Align all labels"
+-#~ msgstr "Byose Uturango..."
+-
+-#, fuzzy
+-#~ msgid "Align the start of functions"
+-#~ msgstr "i Gutangira Bya Imimaro"
+-
+-#, fuzzy
+-#~ msgid "Attempt to merge identical constants across compilation units"
+-#~ msgstr "Kuri Gukomatanya birasa Kwambukiranya"
+-
+-#, fuzzy
+-#~ msgid "Attempt to merge identical constants and constant variables"
+-#~ msgstr "Kuri Gukomatanya birasa Na Ibihinduka"
+-
+-#, fuzzy
+-#~ msgid "Suppress output of instruction numbers and line number notes in debugging dumps"
+-#~ msgstr "Ibisohoka Bya Imibare Na Umurongo Umubare Ibisobanuro in"
+-
+-#, fuzzy
+-#~ msgid "Instrument function entry/exit with profiling calls"
+-#~ msgstr "Umumaro Icyinjijwe Gusohoka Na: Amahamagara:"
+-
+-#, fuzzy
+-#~ msgid "Put zero initialized data in the bss section"
+-#~ msgstr "Zeru Ibyatanzwe in i Icyiciro"
+-
+-#, fuzzy
+-#~ msgid "Enable aggressive SSA dead code elimination"
+-#~ msgstr "ITEGEKONGENGA"
+-
+-#, fuzzy
+-#~ msgid "External symbols have a leading underscore"
+-#~ msgstr "Ibimenyetso a Nyobora"
+-
+-#, fuzzy
+-#~ msgid "Enables an rtl peephole pass run before sched2"
+-#~ msgstr "Gukoresha Mbere"
+-
+-#, fuzzy
+-#~ msgid "Assume no NaNs or +-Infs are generated"
+-#~ msgstr "Oya Cyangwa"
+-
+-#, fuzzy
+-#~ msgid "Enables guessing of branch probabilities"
+-#~ msgstr "Bya"
+-
+-#, fuzzy
+-#~ msgid "Set errno after built-in math functions"
+-#~ msgstr "Nyuma in Imibare Imimaro"
+-
+-#, fuzzy
+-#~ msgid "Floating-point operations can trap"
+-#~ msgstr "Akadomo Ibikorwa:"
+-
+-#, fuzzy
+-#~ msgid "Allow math optimizations that may violate IEEE or ANSI standards"
+-#~ msgstr "Imibare Gicurasi Cyangwa"
+-
+-#, fuzzy
+-#~ msgid "Disable optimizations observable by IEEE signaling NaNs"
+-#~ msgstr "ku"
+-
+-#, fuzzy
+-#~ msgid "Generate code to check bounds before indexing arrays"
+-#~ msgstr "ITEGEKONGENGA Kuri Kugenzura... Mbere gushyiraho umugereka"
+-
+-#, fuzzy
+-#~ msgid "Convert floating point constant to single precision constant"
+-#~ msgstr "Bihindagurika Akadomo Kuri UMWE"
+-
+-#, fuzzy
+-#~ msgid "Report time taken by each compiler pass at end of run"
+-#~ msgstr "Igihe ku ku Impera Bya Gukoresha"
+-
+-#, fuzzy
+-#~ msgid "Report on permanent memory allocation at end of run"
+-#~ msgstr "ku Ububiko ku Impera Bya Gukoresha"
+-
+-#, fuzzy
+-#~ msgid "Trap for signed overflow in addition / subtraction / multiplication"
+-#~ msgstr "kugirango Byarenze urugero in Guteranya+ Gukuramo Gukuba(*)"
+-
+-#, fuzzy
+-#~ msgid "Use graph coloring register allocation."
+-#~ msgstr "Kwiyandikisha"
+-
+-#, fuzzy
+-#~ msgid "Compile just for ISO C90"
+-#~ msgstr "kugirango"
+-
+-#, fuzzy
+-#~ msgid "Determine language standard"
+-#~ msgstr "Ururimi Bisanzwe"
+-
+-#, fuzzy
+-#~ msgid "Make bit-fields by unsigned by default"
+-#~ msgstr "Imyanya ku Bitashizweho umukono ku Mburabuzi"
+-
+-#, fuzzy
+-#~ msgid "Make 'char' be signed by default"
+-#~ msgstr "ku Mburabuzi"
+-
+-#, fuzzy
+-#~ msgid "Make 'char' be unsigned by default"
+-#~ msgstr "Bitashizweho umukono ku Mburabuzi"
+-
+-#, fuzzy
+-#~ msgid "Do not recognize the 'asm' keyword"
+-#~ msgstr "OYA i Ijambo- banze"
+-
+-#, fuzzy
+-#~ msgid "Do not recognize any built in functions"
+-#~ msgstr "OYA in Imimaro"
+-
+-#, fuzzy
+-#~ msgid "Assume normal C execution environment"
+-#~ msgstr "Bisanzwe C"
+-
+-#, fuzzy
+-#~ msgid "Assume that standard libraries & main might not exist"
+-#~ msgstr "Bisanzwe Amasomero OYA"
+-
+-#, fuzzy
+-#~ msgid "Allow different types as args of ? operator"
+-#~ msgstr "Nka Bya Mukoresha"
+-
+-#, fuzzy
+-#~ msgid "Allow the use of $ inside identifiers"
+-#~ msgstr "i Gukoresha Bya Mo Imbere"
+-
+-#, fuzzy
+-#~ msgid "Use the same size for double as for float"
+-#~ msgstr "i Ingano kugirango MAHARAKUBIRI Nka kugirango Kureremba"
+-
+-#, fuzzy
+-#~ msgid "Use the smallest fitting integer to hold enums"
+-#~ msgstr "i Gitoya Umubare wuzuye Kuri"
+-
+-#, fuzzy
+-#~ msgid "Override the underlying type for wchar_t to `unsigned short'"
+-#~ msgstr "i Ubwoko kugirango Kuri Bitashizweho umukono"
+-
+-#, fuzzy
+-#~ msgid "Enable most warning messages"
+-#~ msgstr "Iburira Ubutumwa"
+-
+-#, fuzzy
+-#~ msgid "Warn about casting functions to incompatible types"
+-#~ msgstr "Ibyerekeye Imimaro Kuri"
+-
+-#, fuzzy
+-#~ msgid "Warn about functions which might be candidates for format attributes"
+-#~ msgstr "Ibyerekeye Imimaro kugirango Imiterere Ibiranga"
+-
+-#, fuzzy
+-#~ msgid "Warn about casts which discard qualifiers"
+-#~ msgstr "Ibyerekeye Kwanga"
+-
+-#, fuzzy
+-#~ msgid "Warn about subscripts whose type is 'char'"
+-#~ msgstr "Ibyerekeye bya Ubwoko ni"
+-
+-#, fuzzy
+-#~ msgid "Warn if nested comments are detected"
+-#~ msgstr "NIBA Ibisobanuro"
+-
+-#, fuzzy
+-#~ msgid "Warn about possibly confusing type conversions"
+-#~ msgstr "Ibyerekeye Ubwoko"
+-
+-#, fuzzy
+-#~ msgid "Do not warn about compile-time integer division by zero"
+-#~ msgstr "OYA Ibyerekeye Gukusanya Igihe Umubare wuzuye ku Zeru"
+-
+-#, fuzzy
+-#~ msgid "Warn about testing equality of floating point numbers"
+-#~ msgstr "Ibyerekeye Bya Bihindagurika Akadomo Imibare"
+-
+-#, fuzzy
+-#~ msgid "Warn about printf/scanf/strftime/strfmon format anomalies"
+-#~ msgstr "Ibyerekeye Imiterere"
+-
+-#, fuzzy
+-#~ msgid "Don't warn about too many arguments to format functions"
+-#~ msgstr "Ibyerekeye ingingo Kuri Imiterere Imimaro"
+-
+-#, fuzzy
+-#~ msgid "Warn about non-string-literal format strings"
+-#~ msgstr "Ibyerekeye Ikurikiranyanyuguti Imiterere Ikurikiranyanyuguti"
+-
+-#, fuzzy
+-#~ msgid "Warn about possible security problems with format functions"
+-#~ msgstr "Ibyerekeye Umutekano Na: Imiterere Imimaro"
+-
+-#, fuzzy
+-#~ msgid "Don't warn about strftime formats yielding 2 digit years"
+-#~ msgstr "Ibyerekeye Imiterere 2. IMYAKA"
+-
+-#, fuzzy
+-#~ msgid "Warn about implicit function declarations"
+-#~ msgstr "Ibyerekeye Umumaro"
+-
+-#, fuzzy
+-#~ msgid "Warn when a declaration does not specify a type"
+-#~ msgstr "Ryari: a OYA a Ubwoko"
+-
+-#, fuzzy
+-#~ msgid "Warn about the use of the #import directive"
+-#~ msgstr "Ibyerekeye i Gukoresha Bya i Kuzana"
+-
+-#, fuzzy
+-#~ msgid "Do not warn about using 'long long' when -pedantic"
+-#~ msgstr "OYA Ibyerekeye ikoresha Ryari:"
+-
+-#, fuzzy
+-#~ msgid "Warn about suspicious declarations of main"
+-#~ msgstr "Ibyerekeye Bya"
+-
+-#, fuzzy
+-#~ msgid "Warn about possibly missing braces around initializers"
+-#~ msgstr "Ibyerekeye Ibuze Ingirwadusodeko"
+-
+-#, fuzzy
+-#~ msgid "Warn about global funcs without previous declarations"
+-#~ msgstr "Ibyerekeye Ibanjirije"
+-
+-#, fuzzy
+-#~ msgid "Warn about global funcs without prototypes"
+-#~ msgstr "Ibyerekeye"
+-
+-#, fuzzy
+-#~ msgid "Warn about use of multicharacter literals"
+-#~ msgstr "Ibyerekeye Gukoresha Bya"
+-
+-#, fuzzy
+-#~ msgid "Warn about externs not at file scope level"
+-#~ msgstr "Ibyerekeye OYA ku IDOSIYE Ingano: urwego"
+-
+-#, fuzzy
+-#~ msgid "Warn about possible missing parentheses"
+-#~ msgstr "Ibyerekeye Ibuze"
+-
+-#, fuzzy
+-#~ msgid "Warn about function pointer arithmetic"
+-#~ msgstr "Ibyerekeye Umumaro Mweretsi"
+-
+-#, fuzzy
+-#~ msgid "Warn about multiple declarations of the same object"
+-#~ msgstr "Ibyerekeye Igikubo Bya i Igikoresho"
+-
+-#, fuzzy
+-#~ msgid "Warn whenever a function's return-type defaults to int"
+-#~ msgstr "a Garuka Ubwoko Kuri INT"
+-
+-#, fuzzy
+-#~ msgid "Warn about possible violations of sequence point rules"
+-#~ msgstr "Ibyerekeye Bya Akadomo"
+-
+-#, fuzzy
+-#~ msgid "Warn about signed/unsigned comparisons"
+-#~ msgstr "Ibyerekeye Bitashizweho umukono"
+-
+-#, fuzzy
+-#~ msgid "Warn about non-prototyped function decls"
+-#~ msgstr "Ibyerekeye Umumaro"
+-
+-#, fuzzy
+-#~ msgid "Warn about constructs whose meanings change in ISO C"
+-#~ msgstr "Ibyerekeye bya Guhindura>> in C"
+-
+-#, fuzzy
+-#~ msgid "Warn when trigraphs are encountered"
+-#~ msgstr "Ryari:"
+-
+-#, fuzzy
+-#~ msgid "Warn about unrecognized pragmas"
+-#~ msgstr "Ibyerekeye"
+-
+-#, fuzzy
+-#~ msgid "Mark strings as 'const char *'"
+-#~ msgstr "Ikurikiranyanyuguti Nka INYUGUTI"
+-
+-#, fuzzy
+-#~ msgid "Warn when a function is unused"
+-#~ msgstr "Ryari: a Umumaro ni Kidakoreshwa"
+-
+-#, fuzzy
+-#~ msgid "Warn when a label is unused"
+-#~ msgstr "Ryari: a Akarango ni Kidakoreshwa"
+-
+-#, fuzzy
+-#~ msgid "Warn when a function parameter is unused"
+-#~ msgstr "Ryari: a Umumaro ni Kidakoreshwa"
+-
+-#, fuzzy
+-#~ msgid "Warn when a variable is unused"
+-#~ msgstr "Ryari: a IMPINDURAGACIRO ni Kidakoreshwa"
+-
+-#, fuzzy
+-#~ msgid "Warn when an expression value is unused"
+-#~ msgstr "Ryari: imvugo Agaciro ni Kidakoreshwa"
+-
+-#, fuzzy
+-#~ msgid "Do not suppress warnings from system headers"
+-#~ msgstr "OYA Iburira Bivuye Sisitemu Imitwe"
+-
+-#, fuzzy
+-#~ msgid "Treat all warnings as errors"
+-#~ msgstr "Byose Iburira Nka Amakosa"
+-
+-#, fuzzy
+-#~ msgid "Warn when one local variable shadows another"
+-#~ msgstr "Ryari: IMPINDURAGACIRO"
+-
+-#, fuzzy
+-#~ msgid "Warn about enumerated switches, with no default, missing a case"
+-#~ msgstr "Ibyerekeye Na: Oya Mburabuzi Ibuze a"
+-
+-#, fuzzy
+-#~ msgid "Warn about enumerated switches missing a default case"
+-#~ msgstr "Ibyerekeye Ibuze a Mburabuzi"
+-
+-#, fuzzy
+-#~ msgid "Warn about all enumerated switches missing a specific case"
+-#~ msgstr "Ibyerekeye Byose Ibuze a"
+-
+-#, fuzzy
+-#~ msgid "Warn about returning structures, unions or arrays"
+-#~ msgstr "Ibyerekeye Cyangwa"
+-
+-#, fuzzy
+-#~ msgid "Warn about pointer casts which increase alignment"
+-#~ msgstr "Ibyerekeye Mweretsi Itunganya"
+-
+-#, fuzzy
+-#~ msgid "Warn about code that will never be executed"
+-#~ msgstr "Ibyerekeye ITEGEKONGENGA Nta narimwe"
+-
+-#, fuzzy
+-#~ msgid "Warn about uninitialized automatic variables"
+-#~ msgstr "Ibyerekeye Itatangijwe Byikoresha Ibihinduka"
+-
+-#, fuzzy
+-#~ msgid "Warn when an inlined function cannot be inlined"
+-#~ msgstr "Ryari: Umumaro"
+-
+-#, fuzzy
+-#~ msgid "Warn when the packed attribute has no effect on struct layout"
+-#~ msgstr "Ryari: i Ikiranga Oya INGARUKA ku Imigaragarire"
+-
+-#, fuzzy
+-#~ msgid "Warn when padding is required to align struct members"
+-#~ msgstr "Ryari: Wuzuza: ni Bya ngombwa Kuri Gutondeka"
+-
+-#, fuzzy
+-#~ msgid "Warn when an optimization pass is disabled"
+-#~ msgstr "Ryari: ni Yahagaritswe"
+-
+-#, fuzzy
+-#~ msgid "Warn about uses of __attribute__((deprecated)) declarations"
+-#~ msgstr "Ibyerekeye Bya Ikiranga Bitemewe."
+-
+-#, fuzzy
+-#~ msgid "Warn about functions which might be candidates for attribute noreturn"
+-#~ msgstr "Ibyerekeye Imimaro kugirango Ikiranga"
+-
+-#, fuzzy
+-#~ msgid "Warn about code which might break the strict aliasing rules"
+-#~ msgstr "Ibyerekeye ITEGEKONGENGA itandukanya i"
+-
+-#, fuzzy
+-#~ msgid "invalid option `%s'"
+-#~ msgstr "Sibyo Ihitamo"
+-
+-#, fuzzy
+-#~ msgid "`%s' declared `static' but never defined"
+-#~ msgstr "`%s'Nta narimwe"
+-
+-#, fuzzy
+-#~ msgid "`%s' defined but not used"
+-#~ msgstr "`%s'OYA"
+-
+-#, fuzzy
+-#~ msgid "invalid register name `%s' for register variable"
+-#~ msgstr "Sibyo Kwiyandikisha Izina: kugirango Kwiyandikisha IMPINDURAGACIRO"
+-
+-#, fuzzy
+-#~ msgid " -ffixed-<register> Mark <register> as being unavailable to the compiler\n"
+-#~ msgstr "-Kwiyandikisha Kwiyandikisha Nka Kuri i"
+-
+-#, fuzzy
+-#~ msgid " -fcall-used-<register> Mark <register> as being corrupted by function calls\n"
+-#~ msgstr "-Kwiyandikisha Kwiyandikisha Nka ku Umumaro"
+-
+-#, fuzzy
+-#~ msgid " -fcall-saved-<register> Mark <register> as being preserved across functions\n"
+-#~ msgstr "-Kwiyandikisha Kwiyandikisha Nka Kwambukiranya"
+-
+-#, fuzzy
+-#~ msgid " -finline-limit=<number> Limits the size of inlined functions to <number>\n"
+-#~ msgstr "-Umubare i Ingano Bya Imimaro Kuri Umubare"
+-
+-#, fuzzy
+-#~ msgid " -fmessage-length=<number> Limits diagnostics messages lengths to <number> characters per line. 0 suppresses line-wrapping\n"
+-#~ msgstr "-Uburebure Umubare Ubutumwa Kuri Umubare Inyuguti Umurongo 0 Umurongo"
+-
+-#, fuzzy
+-#~ msgid " -fdiagnostics-show-location=[once | every-line] Indicates how often source location information should be emitted, as prefix, at the beginning of diagnostics when line-wrapping\n"
+-#~ msgstr "-Garagaza Ahantu Rimwe buri Umurongo Inkomoko Ahantu Ibisobanuro Nka Imbanziriza ku i Itangiriro Bya Ryari: Umurongo"
+-
+-#, fuzzy
+-#~ msgid " -ftls-model=[global-dynamic | local-dynamic | initial-exec | local-exec] Indicates the default thread-local storage code generation model\n"
+-#~ msgstr "-Urugero i Mburabuzi Urudodo ITEGEKONGENGA"
+-
+-#, fuzzy
+-#~ msgid " -O[number] Set optimization level to [number]\n"
+-#~ msgstr "-Umubare urwego Kuri Umubare"
+-
+-#, fuzzy
+-#~ msgid " -Os Optimize for space rather than speed\n"
+-#~ msgstr "-kugirango Umwanya"
+-
+-#, fuzzy
+-#~ msgid " -pedantic Issue warnings needed by strict compliance to ISO C\n"
+-#~ msgstr "-Iburira ku Kuri"
+-
+-#, fuzzy
+-#~ msgid " -pedantic-errors Like -pedantic except that errors are produced\n"
+-#~ msgstr "-Amakosa Amakosa"
+-
+-#, fuzzy
+-#~ msgid " -w Suppress warnings\n"
+-#~ msgstr "-W"
+-
+-#, fuzzy
+-#~ msgid " -W Enable extra warnings\n"
+-#~ msgstr "-Birenga"
+-
+-#, fuzzy
+-#~ msgid " -Wunused Enable unused warnings\n"
+-#~ msgstr "-Kidakoreshwa"
+-
+-#, fuzzy
+-#~ msgid " -Wlarger-than-<number> Warn if an object is larger than <number> bytes\n"
+-#~ msgstr "-Umubare NIBA Igikoresho ni Kinini Umubare"
+-
+-#, fuzzy
+-#~ msgid " -p Enable function profiling\n"
+-#~ msgstr "-P Umumaro"
+-
+-#, fuzzy
+-#~ msgid " -o <file> Place output into <file> \n"
+-#~ msgstr "-o IDOSIYE Ibisohoka IDOSIYE"
+-
+-#, fuzzy
+-#~ msgid ""
+-#~ " -G <number> Put global and static data smaller than <number>\n"
+-#~ " bytes into a special section (on some targets)\n"
+-#~ msgstr "-Umubare Na Ibyatanzwe Gitoya Umubare Bayite a Bidasanzwe Icyiciro ku"
+-
+-#, fuzzy
+-#~ msgid " -aux-info <file> Emit declaration info into <file>\n"
+-#~ msgstr "-Ibisobanuro IDOSIYE Ibisobanuro IDOSIYE"
+-
+-#, fuzzy
+-#~ msgid " -quiet Do not display functions compiled or elapsed time\n"
+-#~ msgstr "-OYA Kugaragaza Imimaro Cyangwa"
+-
+-#, fuzzy
+-#~ msgid " -version Display the compiler's version\n"
+-#~ msgstr "-Verisiyo i"
+-
+-#, fuzzy
+-#~ msgid " -d[letters] Enable dumps from specific passes of the compiler\n"
+-#~ msgstr "-D Bivuye Bya i"
+-
+-#, fuzzy
+-#~ msgid " -dumpbase <file> Base name to be used for dumps from specific passes\n"
+-#~ msgstr "-IDOSIYE Base Izina: Kuri kugirango Bivuye"
+-
+-#, fuzzy
+-#~ msgid " -fsched-verbose=<number> Set the verbosity level of the scheduler\n"
+-#~ msgstr "-Umubare i urwego Bya i"
+-
+-#, fuzzy
+-#~ msgid " --help Display this information\n"
+-#~ msgstr "--Ifashayobora iyi"
+-
+-#, fuzzy
+-#~ msgid ""
+-#~ "\n"
+-#~ "Language specific options:\n"
+-#~ msgstr "Amahitamo"
+-
+-#, fuzzy
+-#~ msgid " %-23.23s [undocumented]\n"
+-#~ msgstr ""
+-#~ "%-23.Project- Id- Version: basctl\n"
+-#~ "POT- Creation- Date: 2003- 12- 07 17: 13+ 02\n"
+-#~ "PO- Revision- Date: 2004- 11- 04 10: 13- 0700\n"
+-#~ "Last- Translator: Language- Team:< en@ li. org> MIME- Version: 1. 0\n"
+-#~ "Content- Type: text/ plain; charset= UTF- 8\n"
+-#~ "Content- Transfer- Encoding: 8bit\n"
+-#~ "X- Generator: KBabel 1. 0\n"
+-#~ "."
+-
+-#, fuzzy
+-#~ msgid ""
+-#~ "\n"
+-#~ "There are undocumented %s specific options as well.\n"
+-#~ msgstr "Amahitamo Nka"
+-
+-#, fuzzy
+-#~ msgid ""
+-#~ "\n"
+-#~ " Options for %s:\n"
+-#~ msgstr "kugirango"
+-
+-#, fuzzy
+-#~ msgid ""
+-#~ "\n"
+-#~ "Target specific options:\n"
+-#~ msgstr "Amahitamo"
+-
+-#, fuzzy
+-#~ msgid " -m%-23.23s [undocumented]\n"
+-#~ msgstr "-M."
+-
+-#, fuzzy
+-#~ msgid ""
+-#~ "\n"
+-#~ "There are undocumented target specific options as well.\n"
+-#~ msgstr "Intego Amahitamo Nka"
+-
+-#, fuzzy
+-#~ msgid " They exist, but they are not documented.\n"
+-#~ msgstr "OYA"
+-
+-#, fuzzy
+-#~ msgid "unrecognized gcc debugging option: %c"
+-#~ msgstr "Ihitamo"
+-
+-#, fuzzy
+-#~ msgid "`%s': unknown tls-model option"
+-#~ msgstr "`%s':Kitazwi TLS Urugero Ihitamo"
+-
+-#, fuzzy
+-#~ msgid "unrecognized register name `%s'"
+-#~ msgstr "Kwiyandikisha Izina:"
+-
+-#, fuzzy
+-#~ msgid "unrecognized option `%s'"
+-#~ msgstr "Ihitamo"
+-
+-#, fuzzy
+-#~ msgid "-Wid-clash-LEN is no longer supported"
+-#~ msgstr "-ni Oya"
+-
+-#, fuzzy
+-#~ msgid "use -gdwarf -g%d for DWARF v1, level %d"
+-#~ msgstr "Gukoresha g kugirango urwego"
+-
+-#, fuzzy
+-#~ msgid "use -gdwarf-2 for DWARF v2"
+-#~ msgstr "Gukoresha 2. kugirango"
+-
+-#, fuzzy
+-#~ msgid "ignoring option `%s' due to invalid debug level specification"
+-#~ msgstr "Ihitamo Kuri Sibyo Kosora amakosa urwego"
+-
+-#, fuzzy
+-#~ msgid "`%s': unknown or unsupported -g option"
+-#~ msgstr "`%s':Kitazwi Cyangwa g Ihitamo"
+-
+-#, fuzzy
+-#~ msgid "`%s' ignored, conflicts with `-g%s'"
+-#~ msgstr "`%s'Na: g"
+-
+-#, fuzzy
+-#~ msgid "-param option missing argument"
+-#~ msgstr "-Ihitamo Ibuze"
+-
+-#, fuzzy
+-#~ msgid "invalid --param option: %s"
+-#~ msgstr "Sibyo Ihitamo"
+-
+-#, fuzzy
+-#~ msgid "invalid parameter value `%s'"
+-#~ msgstr "Sibyo Agaciro"
+-
+-#, fuzzy
+-#~ msgid ""
+-#~ "%s%s%s version %s (%s)\n"
+-#~ "%s\tcompiled by GNU C version %s.\n"
+-#~ "%s%s%s version %s (%s) compiled by CC.\n"
+-#~ msgstr "%s%s%sVerisiyo ku C Verisiyo Verisiyo ku"
+-
+-#, fuzzy
+-#~ msgid "%s%sGGC heuristics: --param ggc-min-expand=%d --param ggc-min-heapsize=%d\n"
+-#~ msgstr "%s%sGGCGITO Kwagura GITO"
+-
+-#, fuzzy
+-#~ msgid "options passed: "
+-#~ msgstr "Amahitamo"
+-
+-#, fuzzy
+-#~ msgid "options enabled: "
+-#~ msgstr "Amahitamo Bikora"
+-
+-#, fuzzy
+-#~ msgid "can't open %s for writing"
+-#~ msgstr "Gufungura kugirango"
+-
+-#, fuzzy
+-#~ msgid "ignoring command line option '%s'"
+-#~ msgstr "Komandi: Umurongo Ihitamo"
+-
+-#, fuzzy
+-#~ msgid "(it is valid for %s but not the selected language)"
+-#~ msgstr "(ni Byemewe kugirango OYA i Byahiswemo Ururimi"
+-
+-#, fuzzy
+-#~ msgid "-Wuninitialized is not supported without -O"
+-#~ msgstr "-ni OYA"
+-
+-#, fuzzy
+-#~ msgid "instruction scheduling not supported on this target machine"
+-#~ msgstr "OYA ku iyi Intego"
+-
+-#, fuzzy
+-#~ msgid "this target machine does not have delayed branches"
+-#~ msgstr "iyi Intego OYA"
+-
+-#, fuzzy
+-#~ msgid "-f%sleading-underscore not supported on this target machine"
+-#~ msgstr "-F OYA ku iyi Intego"
+-
+-#, fuzzy
+-#~ msgid "-ffunction-sections not supported for this target"
+-#~ msgstr "-Ibyatoranyijwe OYA kugirango iyi Intego"
+-
+-#, fuzzy
+-#~ msgid "-fdata-sections not supported for this target"
+-#~ msgstr "-Ibyatoranyijwe OYA kugirango iyi Intego"
+-
+-#, fuzzy
+-#~ msgid "-ffunction-sections disabled; it makes profiling impossible"
+-#~ msgstr "-Ibyatoranyijwe Yahagaritswe"
+-
+-#, fuzzy
+-#~ msgid "-fprefetch-loop-arrays not supported for this target"
+-#~ msgstr "-OYA kugirango iyi Intego"
+-
+-#, fuzzy
+-#~ msgid "-fprefetch-loop-arrays not supported for this target (try -march switches)"
+-#~ msgstr "-OYA kugirango iyi Intego Werurwe"
+-
+-#, fuzzy
+-#~ msgid "-fprefetch-loop-arrays is not supported with -Os"
+-#~ msgstr "-ni OYA Na:"
+-
+-#, fuzzy
+-#~ msgid "-ffunction-sections may affect debugging on some targets"
+-#~ msgstr "-Ibyatoranyijwe Gicurasi ku"
+-
+-#, fuzzy
+-#~ msgid "error writing to %s"
+-#~ msgstr "Ikosa Kuri"
+-
+-#, fuzzy
+-#~ msgid "error closing %s"
+-#~ msgstr "Ikosa"
+-
+-#, fuzzy
+-#~ msgid "could not open dump file `%s'"
+-#~ msgstr "OYA Gufungura IDOSIYE"
+-
+-#, fuzzy
+-#~ msgid "ignoring unknown option `%.*s' in `-f%s'"
+-#~ msgstr "Kitazwi Ihitamo in F"
+-
+-#, fuzzy
+-#~ msgid "arrays of functions are not meaningful"
+-#~ msgstr "Bya Imimaro OYA"
+-
+-#, fuzzy
+-#~ msgid "function return type cannot be function"
+-#~ msgstr "Umumaro Garuka Ubwoko Umumaro"
+-
+-#, fuzzy
+-#~ msgid "invalid initializer for bit string"
+-#~ msgstr "Sibyo kugirango Ikurikiranyanyuguti"
+-
+-#, fuzzy
+-#~ msgid "tree check: expected %s, have %s in %s, at %s:%d"
+-#~ msgstr "Kugenzura... Ikitezwe: in ku"
+-
+-#, fuzzy
+-#~ msgid "tree check: expected class '%c', have '%c' (%s) in %s, at %s:%d"
+-#~ msgstr "Kugenzura... Ikitezwe: ishuri in ku"
+-
+-#, fuzzy
+-#~ msgid "tree check: accessed elt %d of tree_vec with %d elts in %s, at %s:%d"
+-#~ msgstr "Kugenzura... birabonetse Bya Na: in ku"
+-
+-#, fuzzy
+-#~ msgid "%s causes a section type conflict"
+-#~ msgstr "%sa Icyiciro Ubwoko"
+-
+-#, fuzzy
+-#~ msgid "register name not specified for `%s'"
+-#~ msgstr "Kwiyandikisha Izina: OYA kugirango"
+-
+-#, fuzzy
+-#~ msgid "invalid register name for `%s'"
+-#~ msgstr "Sibyo Kwiyandikisha Izina: kugirango"
+-
+-#, fuzzy
+-#~ msgid "data type of `%s' isn't suitable for a register"
+-#~ msgstr "Ibyatanzwe Ubwoko Bya si kugirango a Kwiyandikisha"
+-
+-#, fuzzy
+-#~ msgid "register specified for `%s' isn't suitable for data type"
+-#~ msgstr "Kwiyandikisha kugirango si kugirango Ibyatanzwe Ubwoko"
+-
+-#, fuzzy
+-#~ msgid "global register variable has initial value"
+-#~ msgstr "Kwiyandikisha IMPINDURAGACIRO Agaciro"
+-
+-#, fuzzy
+-#~ msgid "volatile register variables don't work as you might wish"
+-#~ msgstr "Kwiyandikisha Ibihinduka Akazi Nka"
+-
+-#, fuzzy
+-#~ msgid "register name given for non-register variable `%s'"
+-#~ msgstr "Kwiyandikisha Izina: kugirango Kwiyandikisha IMPINDURAGACIRO"
+-
+-#, fuzzy
+-#~ msgid "alignment of `%s' is greater than maximum object file alignment. Using %d"
+-#~ msgstr "Itunganya Bya ni Biruta Kinini Igikoresho IDOSIYE Itunganya"
+-
+-#, fuzzy
+-#~ msgid "thread-local COMMON data not implemented"
+-#~ msgstr "Urudodo Ibyatanzwe OYA"
+-
+-#, fuzzy
+-#~ msgid "requested alignment for %s is greater than implemented alignment of %d"
+-#~ msgstr "Itunganya kugirango ni Biruta Itunganya Bya"
+-
+-#, fuzzy
+-#~ msgid "initializer for integer value is too complicated"
+-#~ msgstr "kugirango Umubare wuzuye Agaciro ni"
+-
+-#, fuzzy
+-#~ msgid "initializer for floating value is not a floating constant"
+-#~ msgstr "kugirango Bihindagurika Agaciro ni OYA a Bihindagurika"
+-
+-#, fuzzy
+-#~ msgid "unknown set constructor type"
+-#~ msgstr "Kitazwi Gushyiraho Ubwoko"
+-
+-#, fuzzy
+-#~ msgid "invalid initial value for member `%s'"
+-#~ msgstr "Sibyo Agaciro kugirango"
+-
+-#, fuzzy
+-#~ msgid "weak declaration of `%s' must precede definition"
+-#~ msgstr "Bya Insobanuro"
+-
+-#, fuzzy
+-#~ msgid "weak declaration of `%s' after first use results in unspecified behavior"
+-#~ msgstr "Bya Nyuma Itangira Gukoresha Ibisubizo ku in imyitwarire"
+-
+-#, fuzzy
+-#~ msgid "weak declaration of `%s' must be public"
+-#~ msgstr "Bya Rusange"
+-
+-#, fuzzy
+-#~ msgid "weak declaration of `%s' not supported"
+-#~ msgstr "Bya OYA"
+-
+-#, fuzzy
+-#~ msgid "only weak aliases are supported in this configuration"
+-#~ msgstr "Irihimbano in iyi Iboneza"
+-
+-#, fuzzy
+-#~ msgid "alias definitions not supported in this configuration; ignored"
+-#~ msgstr "Irihimbano OYA in iyi Iboneza"
+-
+-#, fuzzy
+-#~ msgid "visibility attribute not supported in this configuration; ignored"
+-#~ msgstr "Ukugaragara Ikiranga OYA in iyi Iboneza"
+-
+-#, fuzzy
+-#~ msgid "virtual array %s[%lu]: element %lu out of bounds in %s, at %s:%d"
+-#~ msgstr "Kitaboneka Imbonerahamwe Ikigize: Inyuma Bya in ku"
+-
+-#, fuzzy
+-#~ msgid "no sclass for %s stab (0x%x)\n"
+-#~ msgstr "Oya kugirango"
+-
+-#, fuzzy
+-#~ msgid "#`%s' not supported by %s#"
+-#~ msgstr "#`%s'OYA ku"
+-
+-#, fuzzy
+-#~ msgid "The maximum number of instructions in a single function eligible for inlining"
+-#~ msgstr "Kinini Umubare Bya Amabwiriza in a UMWE Umumaro kugirango"
+-
+-#, fuzzy
+-#~ msgid "The maximum number of instructions when automatically inlining"
+-#~ msgstr "Kinini Umubare Bya Amabwiriza Ryari: ku buryo bwikora"
+-
+-#, fuzzy
+-#~ msgid "The maximum number of instructions by repeated inlining before gcc starts to throttle inlining"
+-#~ msgstr "Kinini Umubare Bya Amabwiriza ku byasubiyemo Mbere Kuri"
+-
+-#, fuzzy
+-#~ msgid "The slope of the linear function throttling inlining after the recursive inlining limit has been reached is given by the negative reciprocal value of this parameter"
+-#~ msgstr "IMANURA Bya i By'umurongo Umumaro Nyuma i ni ku i Agaciro Bya iyi"
+-
+-#, fuzzy
+-#~ msgid "The number of instructions in a single functions still eligible to inlining after a lot recursive inlining"
+-#~ msgstr "Umubare Bya Amabwiriza in a UMWE Imimaro Kuri Nyuma a"
+-
+-#, fuzzy
+-#~ msgid "The maximum number of instructions for the RTL inliner"
+-#~ msgstr "Kinini Umubare Bya Amabwiriza kugirango i"
+-
+-#, fuzzy
+-#~ msgid "The maximum number of instructions to consider to fill a delay slot"
+-#~ msgstr "Kinini Umubare Bya Amabwiriza Kuri Kuri Kuzuza a Gutinda"
+-
+-#, fuzzy
+-#~ msgid "The maximum number of instructions to consider to find accurate live register information"
+-#~ msgstr "Kinini Umubare Bya Amabwiriza Kuri Kuri Gushaka Kwiyandikisha Ibisobanuro"
+-
+-#, fuzzy
+-#~ msgid "The maximum length of scheduling's pending operations list"
+-#~ msgstr "Kinini Uburebure Bya Ibikorwa: Urutonde"
+-
+-#, fuzzy
+-#~ msgid "The maximum amount of memory to be allocated by GCSE"
+-#~ msgstr "Kinini Igiteranyo Bya Ububiko Kuri ku"
+-
+-#, fuzzy
+-#~ msgid "The maximum number of passes to make when doing GCSE"
+-#~ msgstr "Kinini Umubare Bya Kuri Ubwoko Ryari:"
+-
+-#, fuzzy
+-#~ msgid "The maximum number of instructions to consider to unroll in a loop"
+-#~ msgstr "Kinini Umubare Bya Amabwiriza Kuri Kuri in a"
+-
+-#, fuzzy
+-#~ msgid "Select fraction of the maximal count of repetitions of basic block in program given basic block needs to have to be considered hot"
+-#~ msgstr "Imigabane Bya i IBARA Bya Bya BASIC Funga in Porogaramu BASIC Funga Kuri Kuri"
+-
+-#, fuzzy
+-#~ msgid "Select fraction of the maximal frequency of executions of basic block in function given basic block needs to have to be considered hot"
+-#~ msgstr "Imigabane Bya i Ubwisubire Bya Bya BASIC Funga in Umumaro BASIC Funga Kuri Kuri"
+-
+-#, fuzzy
+-#~ msgid "The percentage of function, weighted by execution frequency, that must be covered by trace formation. Used when profile feedback is available"
+-#~ msgstr "Ijanisha Bya Umumaro ku Ubwisubire ku Ryari: Ibijyana ni Bihari"
+-
+-#, fuzzy
+-#~ msgid "The percentage of function, weighted by execution frequency, that must be covered by trace formation. Used when profile feedback is not available"
+-#~ msgstr "Ijanisha Bya Umumaro ku Ubwisubire ku Ryari: Ibijyana ni OYA Bihari"
+-
+-#, fuzzy
+-#~ msgid "Maximal code growth caused by tail duplication (in percents)"
+-#~ msgstr "ITEGEKONGENGA IKURA ku in"
+-
+-#, fuzzy
+-#~ msgid "Stop reverse growth if the reverse probability of best edge is less than this threshold (in percents)"
+-#~ msgstr "Ihindurakerekezo IKURA NIBA i Ihindurakerekezo Imishobokere Bya ni Birutwa iyi in"
+-
+-#, fuzzy
+-#~ msgid "Stop forward growth if the probability of best edge is less than this threshold (in percents). Used when profile feedback is available"
+-#~ msgstr "Imbere IKURA NIBA i Imishobokere Bya ni Birutwa iyi in Ryari: Ibijyana ni Bihari"
+-
+-#, fuzzy
+-#~ msgid "Stop forward growth if the probability of best edge is less than this threshold (in percents). Used when profile feedback is not available"
+-#~ msgstr "Imbere IKURA NIBA i Imishobokere Bya ni Birutwa iyi in Ryari: Ibijyana ni OYA Bihari"
+-
+-#, fuzzy
+-#~ msgid "The maximum number of incoming edges to consider for crossjumping"
+-#~ msgstr "Kinini Umubare Bya Kuri kugirango"
+-
+-#, fuzzy
+-#~ msgid "Minimum heap expansion to trigger garbage collection, as a percentage of the total size of the heap."
+-#~ msgstr "Kuri Imbarutso Nka a Ijanisha Bya i Igiteranyo Ingano Bya i"
+-
+-#, fuzzy
+-#~ msgid "Minimum heap size before we start collecting garbage, in kilobytes."
+-#~ msgstr "Ingano Mbere Twebwe Gutangira in"
+-
+-#, fuzzy
+-#~ msgid "too many #pragma options align=reset"
+-#~ msgstr "Amahitamo Gutondeka Kugarura"
+-
+-#, fuzzy
+-#~ msgid "junk at end of '#pragma options'"
+-#~ msgstr "Umwanda ku Impera Bya"
+-
+-#, fuzzy
+-#~ msgid "malformed '#pragma options align={mac68k|power|reset}', ignoring"
+-#~ msgstr "Amahitamo Gutondeka UMWIKUBE Kugarura"
+-
+-#, fuzzy
+-#~ msgid "missing '(' after '#pragma unused', ignoring"
+-#~ msgstr "Ibuze Nyuma"
+-
+-#, fuzzy
+-#~ msgid "missing ')' after '#pragma unused', ignoring"
+-#~ msgstr "Ibuze Nyuma"
+-
+-#, fuzzy
+-#~ msgid "junk at end of '#pragma unused'"
+-#~ msgstr "Umwanda ku Impera Bya"
+-
+-#, fuzzy
+-#~ msgid "-msystem-v and -p are incompatible"
+-#~ msgstr "-v Na P"
+-
+-#, fuzzy
+-#~ msgid "-msystem-v and -mthreads are incompatible"
+-#~ msgstr "-v Na"
+-
+-#, fuzzy
+-#~ msgid "-f%s ignored for Unicos/Mk (not supported)"
+-#~ msgstr "-F kugirango OYA"
+-
+-#, fuzzy
+-#~ msgid "-mieee not supported on Unicos/Mk"
+-#~ msgstr "-OYA ku"
+-
+-#, fuzzy
+-#~ msgid "-mieee-with-inexact not supported on Unicos/Mk"
+-#~ msgstr "-Na: OYA ku"
+-
+-#, fuzzy
+-#~ msgid "bad value `%s' for -mtrap-precision switch"
+-#~ msgstr "Agaciro kugirango Hindura"
+-
+-#, fuzzy
+-#~ msgid "bad value `%s' for -mfp-rounding-mode switch"
+-#~ msgstr "Agaciro kugirango Ubwoko Hindura"
+-
+-#, fuzzy
+-#~ msgid "bad value `%s' for -mfp-trap-mode switch"
+-#~ msgstr "Agaciro kugirango Ubwoko Hindura"
+-
+-#, fuzzy
+-#~ msgid "bad value `%s' for -mtls-size switch"
+-#~ msgstr "Agaciro kugirango Ingano Hindura"
+-
+-#, fuzzy
+-#~ msgid "bad value `%s' for -mcpu switch"
+-#~ msgstr "Agaciro kugirango Hindura"
+-
+-#, fuzzy
+-#~ msgid "trap mode not supported on Unicos/Mk"
+-#~ msgstr "Ubwoko OYA ku"
+-
+-#, fuzzy
+-#~ msgid "fp software completion requires -mtrap-precision=i"
+-#~ msgstr "i"
+-
+-#, fuzzy
+-#~ msgid "rounding mode not supported for VAX floats"
+-#~ msgstr "Ubwoko OYA kugirango"
+-
+-#, fuzzy
+-#~ msgid "trap mode not supported for VAX floats"
+-#~ msgstr "Ubwoko OYA kugirango"
+-
+-#, fuzzy
+-#~ msgid "L%d cache latency unknown for %s"
+-#~ msgstr "Ubwihisho Kitazwi kugirango"
+-
+-#, fuzzy
+-#~ msgid "bad value `%s' for -mmemory-latency"
+-#~ msgstr "Agaciro kugirango"
+-
+-# sc/source\ui\src\globstr.src:RID_GLOBSTR.STR_VALID_DEFERROR.text
+-#, fuzzy
+-#~ msgid "invalid %%H value"
+-#~ msgstr "Agaciro siko"
+-
+-# sc/source\ui\src\globstr.src:RID_GLOBSTR.STR_VALID_DEFERROR.text
+-#, fuzzy
+-#~ msgid "invalid %%J value"
+-#~ msgstr "Agaciro siko"
+-
+-# sc/source\ui\src\globstr.src:RID_GLOBSTR.STR_VALID_DEFERROR.text
+-#, fuzzy
+-#~ msgid "invalid %%r value"
+-#~ msgstr "Agaciro siko"
+-
+-# sc/source\ui\src\globstr.src:RID_GLOBSTR.STR_VALID_DEFERROR.text
+-#, fuzzy
+-#~ msgid "invalid %%R value"
+-#~ msgstr "Agaciro siko"
+-
+-# sc/source\ui\src\globstr.src:RID_GLOBSTR.STR_VALID_DEFERROR.text
+-#, fuzzy
+-#~ msgid "invalid %%N value"
+-#~ msgstr "Agaciro siko"
+-
+-# sc/source\ui\src\globstr.src:RID_GLOBSTR.STR_VALID_DEFERROR.text
+-#, fuzzy
+-#~ msgid "invalid %%P value"
+-#~ msgstr "Agaciro siko"
+-
+-# sc/source\ui\src\globstr.src:RID_GLOBSTR.STR_VALID_DEFERROR.text
+-#, fuzzy
+-#~ msgid "invalid %%h value"
+-#~ msgstr "Agaciro siko"
+-
+-# sc/source\ui\src\globstr.src:RID_GLOBSTR.STR_VALID_DEFERROR.text
+-#, fuzzy
+-#~ msgid "invalid %%L value"
+-#~ msgstr "Agaciro siko"
+-
+-# sc/source\ui\src\globstr.src:RID_GLOBSTR.STR_VALID_DEFERROR.text
+-#, fuzzy
+-#~ msgid "invalid %%m value"
+-#~ msgstr "Agaciro siko"
+-
+-# sc/source\ui\src\globstr.src:RID_GLOBSTR.STR_VALID_DEFERROR.text
+-#, fuzzy
+-#~ msgid "invalid %%M value"
+-#~ msgstr "Agaciro siko"
+-
+-# sc/source\ui\src\globstr.src:RID_GLOBSTR.STR_VALID_DEFERROR.text
+-#, fuzzy
+-#~ msgid "invalid %%U value"
+-#~ msgstr "Agaciro siko"
+-
+-# sc/source\ui\src\globstr.src:RID_GLOBSTR.STR_VALID_DEFERROR.text
+-#, fuzzy
+-#~ msgid "invalid %%s value"
+-#~ msgstr "Agaciro siko"
+-
+-# sc/source\ui\src\globstr.src:RID_GLOBSTR.STR_VALID_DEFERROR.text
+-#, fuzzy
+-#~ msgid "invalid %%C value"
+-#~ msgstr "Agaciro siko"
+-
+-# sc/source\ui\src\globstr.src:RID_GLOBSTR.STR_VALID_DEFERROR.text
+-#, fuzzy
+-#~ msgid "invalid %%E value"
+-#~ msgstr "Agaciro siko"
+-
+-#, fuzzy
+-#~ msgid "unknown relocation unspec"
+-#~ msgstr "Kitazwi"
+-
+-#, fuzzy
+-#~ msgid "invalid %%xn code"
+-#~ msgstr "Sibyo ITEGEKONGENGA"
+-
+-#, fuzzy
+-#~ msgid "Do not use hardware fp"
+-#~ msgstr "OYA Gukoresha"
+-
+-#, fuzzy
+-#~ msgid "Do not use fp registers"
+-#~ msgstr "OYA Gukoresha"
+-
+-#, fuzzy
+-#~ msgid "Do not assume GAS"
+-#~ msgstr "OYA"
+-
+-#, fuzzy
+-#~ msgid "Request IEEE-conformant math library routines (OSF/1)"
+-#~ msgstr "Imibare Isomero 1."
+-
+-#, fuzzy
+-#~ msgid "Emit IEEE-conformant code, without inexact exceptions"
+-#~ msgstr "ITEGEKONGENGA Amarengayobora"
+-
+-#, fuzzy
+-#~ msgid "Emit IEEE-conformant code, with inexact exceptions"
+-#~ msgstr "ITEGEKONGENGA Na: Amarengayobora"
+-
+-#, fuzzy
+-#~ msgid "Do not emit complex integer constants to read-only memory"
+-#~ msgstr "OYA ITSINDA RY'IMIBARE C Umubare wuzuye Kuri Gusoma Ububiko"
+-
+-#, fuzzy
+-#~ msgid "Do not use VAX fp"
+-#~ msgstr "OYA Gukoresha"
+-
+-#, fuzzy
+-#~ msgid "Emit code for the byte/word ISA extension"
+-#~ msgstr "ITEGEKONGENGA kugirango i Bayite ijambo Umugereka"
+-
+-#, fuzzy
+-#~ msgid "Emit code for the motion video ISA extension"
+-#~ msgstr "ITEGEKONGENGA kugirango i Videwo... Umugereka"
+-
+-#, fuzzy
+-#~ msgid "Emit code for the fp move and sqrt ISA extension"
+-#~ msgstr "ITEGEKONGENGA kugirango i Kwimura Na SQRT Umugereka"
+-
+-#, fuzzy
+-#~ msgid "Emit code for the counting ISA extension"
+-#~ msgstr "ITEGEKONGENGA kugirango i Kubara Umugereka"
+-
+-#, fuzzy
+-#~ msgid "Emit code using explicit relocation directives"
+-#~ msgstr "ITEGEKONGENGA ikoresha"
+-
+-#, fuzzy
+-#~ msgid "Emit 16-bit relocations to the small data areas"
+-#~ msgstr "Kuri i Gitoya Ibyatanzwe Ubuso"
+-
+-#, fuzzy
+-#~ msgid "Emit 32-bit relocations to the small data areas"
+-#~ msgstr "Kuri i Gitoya Ibyatanzwe Ubuso"
+-
+-#, fuzzy
+-#~ msgid "Emit rdval instead of rduniq for thread pointer"
+-#~ msgstr "Bya kugirango Urudodo Mweretsi"
+-
+-#, fuzzy
+-#~ msgid "Use features of and schedule given CPU"
+-#~ msgstr "Ibiranga Bya Na Igenabihe"
+-
+-#, fuzzy
+-#~ msgid "Control the generated fp rounding mode"
+-#~ msgstr "i Ubwoko"
+-
+-#, fuzzy
+-#~ msgid "Control the IEEE trap mode"
+-#~ msgstr "i Ubwoko"
+-
+-#, fuzzy
+-#~ msgid "Control the precision given to fp exceptions"
+-#~ msgstr "i Kuri Amarengayobora"
+-
+-#, fuzzy
+-#~ msgid "Tune expected memory latency"
+-#~ msgstr "Ikitezwe: Ububiko"
+-
+-#, fuzzy
+-#~ msgid "Specify bit size of immediate TLS offsets"
+-#~ msgstr "Ingano Bya"
+-
+-#, fuzzy
+-#~ msgid "bad value (%s) for -mcpu switch"
+-#~ msgstr "Agaciro kugirango Hindura"
+-
+-#, fuzzy
+-#~ msgid "argument of `%s' attribute is not a string constant"
+-#~ msgstr "Bya Ikiranga ni OYA a Ikurikiranyanyuguti"
+-
+-#, fuzzy
+-#~ msgid "argument of `%s' attribute is not \"ilink1\" or \"ilink2\""
+-#~ msgstr "Bya Ikiranga ni OYA Cyangwa"
+-
+-#, fuzzy
+-#~ msgid "invalid operand to %%R code"
+-#~ msgstr "Sibyo Kuri ITEGEKONGENGA"
+-
+-#, fuzzy
+-#~ msgid "invalid operand to %%H/%%L code"
+-#~ msgstr "Sibyo Kuri ITEGEKONGENGA"
+-
+-#, fuzzy
+-#~ msgid "invalid operand to %%U code"
+-#~ msgstr "Sibyo Kuri ITEGEKONGENGA"
+-
+-#, fuzzy
+-#~ msgid "invalid operand to %%V code"
+-#~ msgstr "Sibyo Kuri ITEGEKONGENGA"
+-
+-#, fuzzy
+-#~ msgid "invalid operand output code"
+-#~ msgstr "Sibyo Ibisohoka ITEGEKONGENGA"
+-
+-#, fuzzy
+-#~ msgid "switch -mcpu=%s conflicts with -march= switch"
+-#~ msgstr "Hindura Na: Werurwe Hindura"
+-
+-#, fuzzy
+-#~ msgid "bad value (%s) for %s switch"
+-#~ msgstr "Agaciro kugirango Hindura"
+-
+-#, fuzzy
+-#~ msgid "target CPU does not support APCS-32"
+-#~ msgstr "Intego OYA Gushigikira"
+-
+-#, fuzzy
+-#~ msgid "target CPU does not support APCS-26"
+-#~ msgstr "Intego OYA Gushigikira"
+-
+-#, fuzzy
+-#~ msgid "target CPU does not support interworking"
+-#~ msgstr "Intego OYA Gushigikira"
+-
+-#, fuzzy
+-#~ msgid "target CPU does not support THUMB instructions"
+-#~ msgstr "Intego OYA Gushigikira Amabwiriza"
+-
+-#, fuzzy
+-#~ msgid "enabling backtrace support is only meaningful when compiling for the Thumb"
+-#~ msgstr "Gushigikira ni Ryari: kugirango i"
+-
+-#, fuzzy
+-#~ msgid "enabling callee interworking support is only meaningful when compiling for the Thumb"
+-#~ msgstr "Gushigikira ni Ryari: kugirango i"
+-
+-#, fuzzy
+-#~ msgid "enabling caller interworking support is only meaningful when compiling for the Thumb"
+-#~ msgstr "Gushigikira ni Ryari: kugirango i"
+-
+-#, fuzzy
+-#~ msgid "interworking forces APCS-32 to be used"
+-#~ msgstr "Kuri"
+-
+-#, fuzzy
+-#~ msgid "-mapcs-stack-check incompatible with -mno-apcs-frame"
+-#~ msgstr "-Kugenzura... Na: Ikadiri"
+-
+-#, fuzzy
+-#~ msgid "-fpic and -mapcs-reent are incompatible"
+-#~ msgstr "-Na"
+-
+-#, fuzzy
+-#~ msgid "APCS reentrant code not supported. Ignored"
+-#~ msgstr "ITEGEKONGENGA OYA"
+-
+-#, fuzzy
+-#~ msgid "-g with -mno-apcs-frame may not give sensible debugging"
+-#~ msgstr "-g Na: Ikadiri Gicurasi OYA"
+-
+-#, fuzzy
+-#~ msgid "passing floating point arguments in fp regs not yet supported"
+-#~ msgstr "Bihindagurika Akadomo ingingo in OYA"
+-
+-#, fuzzy
+-#~ msgid "invalid floating point emulation option: -mfpe-%s"
+-#~ msgstr "Sibyo Bihindagurika Akadomo Ihitamo"
+-
+-#, fuzzy
+-#~ msgid "structure size boundary can only be set to 8 or 32"
+-#~ msgstr "Imiterere Ingano Gushyiraho Kuri 8 Cyangwa"
+-
+-#, fuzzy
+-#~ msgid "-mpic-register= is useless without -fpic"
+-#~ msgstr "-Kwiyandikisha ni"
+-
+-#, fuzzy
+-#~ msgid "unable to use '%s' for PIC register"
+-#~ msgstr "Kuri Gukoresha kugirango Kwiyandikisha"
+-
+-#, fuzzy
+-#~ msgid "`%s' attribute only applies to functions"
+-#~ msgstr "`%s'Ikiranga Kuri Imimaro"
+-
+-#, fuzzy
+-#~ msgid "unable to compute real location of stacked parameter"
+-#~ msgstr "Kuri Ahantu Bya Birunze"
+-
+-#, fuzzy
+-#~ msgid "no low registers available for popping high registers"
+-#~ msgstr "Oya Byo hasi Bihari kugirango kirekire"
+-
+-#, fuzzy
+-#~ msgid "interrupt Service Routines cannot be coded in Thumb mode"
+-#~ msgstr "Hagarikira aho in Ubwoko"
+-
+-#, fuzzy
+-#~ msgid "initialized variable `%s' is marked dllimport"
+-#~ msgstr "IMPINDURAGACIRO ni cy/ byagarajwe"
+-
+-#, fuzzy
+-#~ msgid "static variable `%s' is marked dllimport"
+-#~ msgstr "IMPINDURAGACIRO ni cy/ byagarajwe"
+-
+-#, fuzzy
+-#~ msgid "Generate APCS conformant stack frames"
+-#~ msgstr "Amakadiri"
+-
+-#, fuzzy
+-#~ msgid "Store function names in object code"
+-#~ msgstr "Umumaro Amazina in Igikoresho ITEGEKONGENGA"
+-
+-#, fuzzy
+-#~ msgid "Use the 32-bit version of the APCS"
+-#~ msgstr "i Verisiyo Bya i"
+-
+-#, fuzzy
+-#~ msgid "Use the 26-bit version of the APCS"
+-#~ msgstr "i Verisiyo Bya i"
+-
+-#, fuzzy
+-#~ msgid "Pass FP arguments in FP registers"
+-#~ msgstr "ingingo in"
+-
+-#, fuzzy
+-#~ msgid "Generate re-entrant, PIC code"
+-#~ msgstr "ITEGEKONGENGA"
+-
+-#, fuzzy
+-#~ msgid "The MMU will trap on unaligned accesses"
+-#~ msgstr "ku"
+-
+-#, fuzzy
+-#~ msgid "Use library calls to perform FP operations"
+-#~ msgstr "Isomero Amahamagara: Kuri Ibikorwa:"
+-
+-#, fuzzy
+-#~ msgid "Use hardware floating point instructions"
+-#~ msgstr "Bihindagurika Akadomo Amabwiriza"
+-
+-#, fuzzy
+-#~ msgid "Assume target CPU is configured as big endian"
+-#~ msgstr "Intego ni Nka"
+-
+-#, fuzzy
+-#~ msgid "Assume target CPU is configured as little endian"
+-#~ msgstr "Intego ni Nka"
+-
+-#, fuzzy
+-#~ msgid "Assume big endian bytes, little endian words"
+-#~ msgstr "Bayite Amagambo"
+-
+-#, fuzzy
+-#~ msgid "Support calls between Thumb and ARM instruction sets"
+-#~ msgstr "Amahamagara: hagati Na"
+-
+-#, fuzzy
+-#~ msgid "Generate a call to abort if a noreturn function returns"
+-#~ msgstr "a Kuri Kureka NIBA a Umumaro"
+-
+-#, fuzzy
+-#~ msgid "Do not move instructions into a function's prologue"
+-#~ msgstr "OYA Kwimura Amabwiriza a"
+-
+-#, fuzzy
+-#~ msgid "Do not load the PIC register in function prologues"
+-#~ msgstr "OYA Ibirimo i Kwiyandikisha in Umumaro"
+-
+-#, fuzzy
+-#~ msgid "Generate call insns as indirect calls, if necessary"
+-#~ msgstr "Nka BUZIGUYE Amahamagara: NIBA"
+-
+-#, fuzzy
+-#~ msgid "Compile for the Thumb not the ARM"
+-#~ msgstr "kugirango i OYA i"
+-
+-#, fuzzy
+-#~ msgid "Thumb: Generate (non-leaf) stack frames even if not needed"
+-#~ msgstr "Amakadiri ATARIIGIHARWE NIBA OYA"
+-
+-#, fuzzy
+-#~ msgid "Thumb: Generate (leaf) stack frames even if not needed"
+-#~ msgstr "Amakadiri ATARIIGIHARWE NIBA OYA"
+-
+-#, fuzzy
+-#~ msgid "Thumb: Assume non-static functions may be called from ARM code"
+-#~ msgstr "Imimaro Gicurasi Bivuye ITEGEKONGENGA"
+-
+-#, fuzzy
+-#~ msgid "Thumb: Assume function pointers may go to non-Thumb aware code"
+-#~ msgstr "Umumaro Gicurasi Gyayo Kuri ITEGEKONGENGA"
+-
+-#, fuzzy
+-#~ msgid "Specify the name of the target CPU"
+-#~ msgstr "i Izina: Bya i Intego"
+-
+-#, fuzzy
+-#~ msgid "Specify the name of the target architecture"
+-#~ msgstr "i Izina: Bya i Intego"
+-
+-#, fuzzy
+-#~ msgid "Specify the version of the floating point emulator"
+-#~ msgstr "i Verisiyo Bya i Bihindagurika Akadomo"
+-
+-#, fuzzy
+-#~ msgid "Specify the minimum bit alignment of structures"
+-#~ msgstr "i Gito Itunganya Bya"
+-
+-#, fuzzy
+-#~ msgid "Specify the register to be used for PIC addressing"
+-#~ msgstr "i Kwiyandikisha Kuri kugirango Kwohereza"
+-
+-#, fuzzy
+-#~ msgid "Ignore dllimport attribute for functions"
+-#~ msgstr "Ikiranga kugirango Imimaro"
+-
+-#, fuzzy
+-#~ msgid "large frame pointer change (%d) with -mtiny-stack"
+-#~ msgstr "Binini Ikadiri Mweretsi Guhindura>> Na:"
+-
+-#, fuzzy
+-#~ msgid "bad address, not (reg+disp):"
+-#~ msgstr "Aderesi OYA"
+-
+-#, fuzzy
+-#~ msgid "internal compiler error. Bad address:"
+-#~ msgstr "By'imbere Ikosa Aderesi"
+-
+-#, fuzzy
+-#~ msgid "internal compiler error. Unknown mode:"
+-#~ msgstr "By'imbere Ikosa Ubwoko"
+-
+-#, fuzzy
+-#~ msgid "invalid insn:"
+-#~ msgstr "Sibyo"
+-
+-#, fuzzy
+-#~ msgid "unknown move insn:"
+-#~ msgstr "Kitazwi Kwimura"
+-
+-#, fuzzy
+-#~ msgid "bad shift insn:"
+-#~ msgstr "Gusunika"
+-
+-#, fuzzy
+-#~ msgid "internal compiler error. Incorrect shift:"
+-#~ msgstr "By'imbere Ikosa Gusunika"
+-
+-#, fuzzy
+-#~ msgid "only initialized variables can be placed into program memory area"
+-#~ msgstr "Ibihinduka Porogaramu Ububiko Ubuso"
+-
+-#, fuzzy
+-#~ msgid "only uninitialized variables can be placed in the .noinit section"
+-#~ msgstr "Itatangijwe Ibihinduka in i Icyiciro"
+-
+-#, fuzzy
+-#~ msgid "MCU `%s' supported for assembler only"
+-#~ msgstr "kugirango"
+-
+-#, fuzzy
+-#~ msgid "Assume int to be 8 bit integer"
+-#~ msgstr "INT Kuri 8 Umubare wuzuye"
+-
+-#, fuzzy
+-#~ msgid "Change the stack pointer without disabling interrupts"
+-#~ msgstr "i Mweretsi"
+-
+-#, fuzzy
+-#~ msgid "Use subroutines for function prologue/epilogue"
+-#~ msgstr "kugirango Umumaro"
+-
+-#, fuzzy
+-#~ msgid "Change only the low 8 bits of the stack pointer"
+-#~ msgstr "i Byo hasi 8 Bya i Mweretsi"
+-
+-#, fuzzy
+-#~ msgid "Do not generate tablejump insns"
+-#~ msgstr "OYA"
+-
+-#, fuzzy
+-#~ msgid "Use rjmp/rcall (limited range) on >8K devices"
+-#~ msgstr "Urutonde ku"
+-
+-#, fuzzy
+-#~ msgid "Output instruction sizes to the asm file"
+-#~ msgstr "Kuri i IDOSIYE"
+-
+-#, fuzzy
+-#~ msgid "Specify the initial stack address"
+-#~ msgstr "i Aderesi"
+-
+-#, fuzzy
+-#~ msgid "Specify the MCU name"
+-#~ msgstr "i Izina:"
+-
+-#, fuzzy
+-#~ msgid "trampolines not supported"
+-#~ msgstr "OYA"
+-
+-#, fuzzy
+-#~ msgid "missing '(' after '#pragma %s' - ignored"
+-#~ msgstr "Ibuze Nyuma"
+-
+-#, fuzzy
+-#~ msgid "missing function name in '#pragma %s' - ignored"
+-#~ msgstr "Ibuze Umumaro Izina: in"
+-
+-#, fuzzy
+-#~ msgid "missing section name in '#pragma %s' - ignored"
+-#~ msgstr "Ibuze Icyiciro Izina: in"
+-
+-#, fuzzy
+-#~ msgid "missing ')' for '#pragma %s' - ignored"
+-#~ msgstr "Ibuze kugirango"
+-
+-#, fuzzy
+-#~ msgid "junk at end of '#pragma %s'"
+-#~ msgstr "Umwanda ku Impera Bya"
+-
+-#, fuzzy
+-#~ msgid "unknown CPU version %d, using 40.\n"
+-#~ msgstr "Kitazwi Verisiyo ikoresha"
+-
+-#, fuzzy
+-#~ msgid "ISR %s requires %d words of local vars, max is 32767"
+-#~ msgstr "Amagambo Bya KININI ni"
+-
+-#, fuzzy
+-#~ msgid "using CONST_DOUBLE for address"
+-#~ msgstr "ikoresha kugirango Aderesi"
+-
+-#, fuzzy
+-#~ msgid "c4x_address_cost: Invalid addressing mode"
+-#~ msgstr "Kwohereza Ubwoko"
+-
+-#, fuzzy
+-#~ msgid "c4x_rptb_insert: Cannot find start label"
+-#~ msgstr "Gushaka Gutangira Akarango"
+-
+-#, fuzzy
+-#~ msgid "mode not QImode"
+-#~ msgstr "Ubwoko OYA"
+-
+-#, fuzzy
+-#~ msgid "invalid indirect memory address"
+-#~ msgstr "Sibyo BUZIGUYE Ububiko Aderesi"
+-
+-#, fuzzy
+-#~ msgid "invalid indirect (S) memory address"
+-#~ msgstr "Sibyo BUZIGUYE Ububiko Aderesi"
+-
+-#, fuzzy
+-#~ msgid "c4x_valid_operands: Internal error"
+-#~ msgstr "Ikosa"
+-
+-#, fuzzy
+-#~ msgid "c4x_operand_subword: invalid mode"
+-#~ msgstr "Sibyo Ubwoko"
+-
+-#, fuzzy
+-#~ msgid "c4x_operand_subword: invalid operand"
+-#~ msgstr "Sibyo"
+-
+-#, fuzzy
+-#~ msgid "c4x_operand_subword: invalid autoincrement"
+-#~ msgstr "Sibyo nyamwiyongera"
+-
+-#, fuzzy
+-#~ msgid "c4x_operand_subword: invalid address"
+-#~ msgstr "Sibyo Aderesi"
+-
+-#, fuzzy
+-#~ msgid "c4x_operand_subword: address not offsettable"
+-#~ msgstr "Aderesi OYA"
+-
+-#, fuzzy
+-#~ msgid "c4x_rptb_rpts_p: Repeat block top label moved\n"
+-#~ msgstr "Funga Hejuru: Akarango"
+-
+-#, fuzzy
+-#~ msgid "Small memory model"
+-#~ msgstr "Ububiko Urugero"
+-
+-#, fuzzy
+-#~ msgid "Big memory model"
+-#~ msgstr "Ububiko Urugero"
+-
+-#, fuzzy
+-#~ msgid "Use MPYI instruction for C3x"
+-#~ msgstr "kugirango"
+-
+-#, fuzzy
+-#~ msgid "Do not use MPYI instruction for C3x"
+-#~ msgstr "OYA Gukoresha kugirango"
+-
+-#, fuzzy
+-#~ msgid "Use fast but approximate float to integer conversion"
+-#~ msgstr "Byihuta Kureremba Kuri Umubare wuzuye Ihindurangero"
+-
+-#, fuzzy
+-#~ msgid "Use slow but accurate float to integer conversion"
+-#~ msgstr "Buhoro Kureremba Kuri Umubare wuzuye Ihindurangero"
+-
+-#, fuzzy
+-#~ msgid "Enable use of RTPS instruction"
+-#~ msgstr "Gukoresha Bya"
+-
+-#, fuzzy
+-#~ msgid "Disable use of RTPS instruction"
+-#~ msgstr "Gukoresha Bya"
+-
+-#, fuzzy
+-#~ msgid "Enable use of RTPB instruction"
+-#~ msgstr "Gukoresha Bya"
+-
+-#, fuzzy
+-#~ msgid "Disable use of RTPB instruction"
+-#~ msgstr "Gukoresha Bya"
+-
+-#, fuzzy
+-#~ msgid "Generate code for C30 CPU"
+-#~ msgstr "ITEGEKONGENGA kugirango"
+-
+-#, fuzzy
+-#~ msgid "Generate code for C31 CPU"
+-#~ msgstr "ITEGEKONGENGA kugirango"
+-
+-#, fuzzy
+-#~ msgid "Generate code for C32 CPU"
+-#~ msgstr "ITEGEKONGENGA kugirango"
+-
+-#, fuzzy
+-#~ msgid "Generate code for C33 CPU"
+-#~ msgstr "ITEGEKONGENGA kugirango"
+-
+-#, fuzzy
+-#~ msgid "Generate code for C40 CPU"
+-#~ msgstr "ITEGEKONGENGA kugirango"
+-
+-#, fuzzy
+-#~ msgid "Generate code for C44 CPU"
+-#~ msgstr "ITEGEKONGENGA kugirango"
+-
+-#, fuzzy
+-#~ msgid "Emit code compatible with TI tools"
+-#~ msgstr "ITEGEKONGENGA Na: Ibikoresho"
+-
+-#, fuzzy
+-#~ msgid "Emit code to use GAS extensions"
+-#~ msgstr "ITEGEKONGENGA Kuri Gukoresha Umigereka"
+-
+-#, fuzzy
+-#~ msgid "Save DP across ISR in small memory model"
+-#~ msgstr "Kubika Kwambukiranya in Gitoya Ububiko Urugero"
+-
+-#, fuzzy
+-#~ msgid "Don't save DP across ISR in small memory model"
+-#~ msgstr "Kubika Kwambukiranya in Gitoya Ububiko Urugero"
+-
+-#, fuzzy
+-#~ msgid "Pass arguments on the stack"
+-#~ msgstr "ingingo ku i"
+-
+-#, fuzzy
+-#~ msgid "Pass arguments in registers"
+-#~ msgstr "ingingo in"
+-
+-#, fuzzy
+-#~ msgid "Enable new features under development"
+-#~ msgstr "Gishya Ibiranga"
+-
+-#, fuzzy
+-#~ msgid "Disable new features under development"
+-#~ msgstr "Gishya Ibiranga"
+-
+-#, fuzzy
+-#~ msgid "Use the BK register as a general purpose register"
+-#~ msgstr "i Kwiyandikisha Nka a Rusange Intego Kwiyandikisha"
+-
+-#, fuzzy
+-#~ msgid "Do not allocate BK register"
+-#~ msgstr "OYA Kwiyandikisha"
+-
+-#, fuzzy
+-#~ msgid "Enable use of DB instruction"
+-#~ msgstr "Gukoresha Bya"
+-
+-#, fuzzy
+-#~ msgid "Disable use of DB instruction"
+-#~ msgstr "Gukoresha Bya"
+-
+-#, fuzzy
+-#~ msgid "Force constants into registers to improve hoisting"
+-#~ msgstr "Kuri"
+-
+-#, fuzzy
+-#~ msgid "Force RTL generation to emit valid 3 operand insns"
+-#~ msgstr "Kuri Byemewe 3."
+-
+-#, fuzzy
+-#~ msgid "Allow RTL generation to emit invalid 3 operand insns"
+-#~ msgstr "Kuri Sibyo 3."
+-
+-#, fuzzy
+-#~ msgid "Allow unsigned iteration counts for RPTB/DB"
+-#~ msgstr "Bitashizweho umukono kugirango"
+-
+-#, fuzzy
+-#~ msgid "Disallow unsigned iteration counts for RPTB/DB"
+-#~ msgstr "Bitashizweho umukono kugirango"
+-
+-#, fuzzy
+-#~ msgid "Preserve all 40 bits of FP reg across call"
+-#~ msgstr "Byose Bya Kwambukiranya"
+-
+-#, fuzzy
+-#~ msgid "Only preserve 32 bits of FP reg across call"
+-#~ msgstr "Bya Kwambukiranya"
+-
+-#, fuzzy
+-#~ msgid "Enable parallel instructions"
+-#~ msgstr "Biteganye Amabwiriza"
+-
+-#, fuzzy
+-#~ msgid "Disable parallel instructions"
+-#~ msgstr "Biteganye Amabwiriza"
+-
+-#, fuzzy
+-#~ msgid "Enable MPY||ADD and MPY||SUB instructions"
+-#~ msgstr "Na Amabwiriza"
+-
+-#, fuzzy
+-#~ msgid "Disable MPY||ADD and MPY||SUB instructions"
+-#~ msgstr "Na Amabwiriza"
+-
+-#, fuzzy
+-#~ msgid "Assume that pointers may be aliased"
+-#~ msgstr "Gicurasi"
+-
+-#, fuzzy
+-#~ msgid "Assume that pointers not aliased"
+-#~ msgstr "OYA"
+-
+-#, fuzzy
+-#~ msgid "Specify maximum number of iterations for RPTS"
+-#~ msgstr "Kinini Umubare Bya Amasubiramo kugirango"
+-
+-#, fuzzy
+-#~ msgid "Select CPU to generate code for"
+-#~ msgstr "Kuri ITEGEKONGENGA kugirango"
+-
+-#, fuzzy
+-#~ msgid "unexpected index-type in cris_print_index"
+-#~ msgstr "Umubarendanga Ubwoko in"
+-
+-#, fuzzy
+-#~ msgid "unexpected base-type in cris_print_base"
+-#~ msgstr "SHINGIRO Ubwoko in"
+-
+-#, fuzzy
+-#~ msgid "stackframe too big: %d bytes"
+-#~ msgstr "Bayite"
+-
+-#, fuzzy
+-#~ msgid "allocated but unused delay list in epilogue"
+-#~ msgstr "Kidakoreshwa Gutinda Urutonde in"
+-
+-#, fuzzy
+-#~ msgid "unexpected function type needing stack adjustment for __builtin_eh_return"
+-#~ msgstr "Umumaro Ubwoko kugirango"
+-
+-#, fuzzy
+-#~ msgid "invalid operand for 'b' modifier"
+-#~ msgstr "Sibyo kugirango"
+-
+-#, fuzzy
+-#~ msgid "invalid operand for 'v' modifier"
+-#~ msgstr "Sibyo kugirango"
+-
+-#, fuzzy
+-#~ msgid "invalid operand for 'P' modifier"
+-#~ msgstr "Sibyo kugirango"
+-
+-#, fuzzy
+-#~ msgid "invalid operand for 'p' modifier"
+-#~ msgstr "Sibyo kugirango"
+-
+-#, fuzzy
+-#~ msgid "invalid operand for 'z' modifier"
+-#~ msgstr "Sibyo kugirango"
+-
+-#, fuzzy
+-#~ msgid "invalid operand for 'H' modifier"
+-#~ msgstr "Sibyo kugirango"
+-
+-#, fuzzy
+-#~ msgid "bad register"
+-#~ msgstr "Kwiyandikisha"
+-
+-#, fuzzy
+-#~ msgid "invalid operand for 'e' modifier"
+-#~ msgstr "Sibyo kugirango"
+-
+-#, fuzzy
+-#~ msgid "invalid operand for 'm' modifier"
+-#~ msgstr "Sibyo kugirango"
+-
+-#, fuzzy
+-#~ msgid "invalid operand for 'A' modifier"
+-#~ msgstr "Sibyo kugirango"
+-
+-#, fuzzy
+-#~ msgid "invalid operand for 'D' modifier"
+-#~ msgstr "Sibyo kugirango"
+-
+-#, fuzzy
+-#~ msgid "invalid operand for 'T' modifier"
+-#~ msgstr "Sibyo kugirango"
+-
+-#, fuzzy
+-#~ msgid "invalid operand modifier letter"
+-#~ msgstr "Sibyo Ibaruwa..."
+-
+-#, fuzzy
+-#~ msgid "internal error: bad register: %d"
+-#~ msgstr "By'imbere Ikosa Kwiyandikisha"
+-
+-#, fuzzy
+-#~ msgid "unrecognized address"
+-#~ msgstr "Aderesi"
+-
+-#, fuzzy
+-#~ msgid "internal error: sideeffect-insn affecting main effect"
+-#~ msgstr "By'imbere Ikosa INGARUKA"
+-
+-#, fuzzy
+-#~ msgid "internal error: cris_side_effect_mode_ok with bad operands"
+-#~ msgstr "By'imbere Ikosa Na:"
+-
+-#, fuzzy
+-#~ msgid "unrecognized supposed constant in cris_global_pic_symbol"
+-#~ msgstr "in"
+-
+-#, fuzzy
+-#~ msgid "-max-stackframe=%d is not usable, not between 0 and %d"
+-#~ msgstr "-KININI ni OYA OYA hagati 0 Na"
+-
+-#, fuzzy
+-#~ msgid "unknown CRIS version specification in -march= or -mcpu= : %s"
+-#~ msgstr "Kitazwi Verisiyo in Werurwe Cyangwa"
+-
+-#, fuzzy
+-#~ msgid "unknown CRIS cpu version specification in -mtune= : %s"
+-#~ msgstr "Kitazwi CPU Verisiyo in"
+-
+-#, fuzzy
+-#~ msgid "-fPIC and -fpic are not supported in this configuration"
+-#~ msgstr "-Na OYA in iyi Iboneza"
+-
+-#, fuzzy
+-#~ msgid "that particular -g option is invalid with -maout and -melinux"
+-#~ msgstr "g Ihitamo ni Sibyo Na: Na"
+-
+-#, fuzzy
+-#~ msgid "unexpected side-effects in address"
+-#~ msgstr "Ingaruka in Aderesi"
+-
+-#, fuzzy
+-#~ msgid "unexpected PIC symbol"
+-#~ msgstr "IKIMENYETSO"
+-
+-#, fuzzy
+-#~ msgid "PIC register isn't set up"
+-#~ msgstr "Kwiyandikisha si Gushyiraho Hejuru"
+-
+-#, fuzzy
+-#~ msgid "unexpected address expression"
+-#~ msgstr "Aderesi imvugo"
+-
+-#, fuzzy
+-#~ msgid "emitting PIC operand, but PIC register isn't set up"
+-#~ msgstr "Kwiyandikisha si Gushyiraho Hejuru"
+-
+-#, fuzzy
+-#~ msgid "unexpected NOTE as addr_const:"
+-#~ msgstr "Nka"
+-
+-#, fuzzy
+-#~ msgid "Compile for the MMU-less Etrax 100-based elinux system"
+-#~ msgstr "kugirango i Birutwa 100 Sisitemu"
+-
+-#, fuzzy
+-#~ msgid "For elinux, request a specified stack-size for this program"
+-#~ msgstr "Kubaza... a Ingano kugirango iyi Porogaramu"
+-
+-#, fuzzy
+-#~ msgid "Compile for ETRAX 4 (CRIS v3)"
+-#~ msgstr "kugirango 4."
+-
+-#, fuzzy
+-#~ msgid "Compile for ETRAX 100 (CRIS v8)"
+-#~ msgstr "kugirango 100"
+-
+-#, fuzzy
+-#~ msgid "Emit verbose debug information in assembly code"
+-#~ msgstr "Kosora amakosa Ibisobanuro in ITEGEKONGENGA"
+-
+-#, fuzzy
+-#~ msgid "Do not use condition codes from normal instructions"
+-#~ msgstr "OYA Gukoresha Ibisabwa Bivuye Bisanzwe Amabwiriza"
+-
+-#, fuzzy
+-#~ msgid "Do not emit addressing modes with side-effect assignment"
+-#~ msgstr "OYA Kwohereza Na: INGARUKA Igenera"
+-
+-#, fuzzy
+-#~ msgid "Do not tune stack alignment"
+-#~ msgstr "OYA Itunganya"
+-
+-#, fuzzy
+-#~ msgid "Do not tune writable data alignment"
+-#~ msgstr "OYA Ibyatanzwe Itunganya"
+-
+-#, fuzzy
+-#~ msgid "Do not tune code and read-only data alignment"
+-#~ msgstr "OYA ITEGEKONGENGA Na Gusoma Ibyatanzwe Itunganya"
+-
+-#, fuzzy
+-#~ msgid "Align code and data to 32 bits"
+-#~ msgstr "ITEGEKONGENGA Na Ibyatanzwe Kuri"
+-
+-#, fuzzy
+-#~ msgid "Don't align items in code or data"
+-#~ msgstr "Gutondeka in ITEGEKONGENGA Cyangwa Ibyatanzwe"
+-
+-#, fuzzy
+-#~ msgid "Do not emit function prologue or epilogue"
+-#~ msgstr "OYA Umumaro Cyangwa"
+-
+-#, fuzzy
+-#~ msgid "Use the most feature-enabling options allowed by other options"
+-#~ msgstr "i Amahitamo ku Ikindi Amahitamo"
+-
+-#, fuzzy
+-#~ msgid "Override -mbest-lib-options"
+-#~ msgstr "Amahitamo"
+-
+-#, fuzzy
+-#~ msgid "Generate code for the specified chip or CPU version"
+-#~ msgstr "ITEGEKONGENGA kugirango i Cyangwa Verisiyo"
+-
+-#, fuzzy
+-#~ msgid "Tune alignment for the specified chip or CPU version"
+-#~ msgstr "Itunganya kugirango i Cyangwa Verisiyo"
+-
+-#, fuzzy
+-#~ msgid "Warn when a stackframe is larger than the specified size"
+-#~ msgstr "Ryari: a ni Kinini i Ingano"
+-
+-#, fuzzy
+-#~ msgid "no FUNCTION_PROFILER for CRIS"
+-#~ msgstr "Oya kugirango"
+-
+-#, fuzzy
+-#~ msgid "Together with -fpic and -fPIC, do not use GOTPLT references"
+-#~ msgstr "Na: Na OYA Gukoresha Indango"
+-
+-#, fuzzy
+-#~ msgid "bad modes_tieable_p for register %s, mode1 %s, mode2 %s"
+-#~ msgstr "kugirango Kwiyandikisha"
+-
+-#, fuzzy
+-#~ msgid "bad insn to d30v_print_operand_address:"
+-#~ msgstr "Kuri"
+-
+-#, fuzzy
+-#~ msgid "bad insn to d30v_print_operand_memory_reference:"
+-#~ msgstr "Kuri"
+-
+-#, fuzzy
+-#~ msgid "bad insn to d30v_print_operand, 'f' modifier:"
+-#~ msgstr "Kuri"
+-
+-#, fuzzy
+-#~ msgid "bad insn to d30v_print_operand, 'A' modifier:"
+-#~ msgstr "Kuri"
+-
+-#, fuzzy
+-#~ msgid "bad insn to d30v_print_operand, 'M' modifier:"
+-#~ msgstr "Kuri"
+-
+-#, fuzzy
+-#~ msgid "bad insn to print_operand, 'F' or 'T' modifier:"
+-#~ msgstr "Kuri Cyangwa"
+-
+-#, fuzzy
+-#~ msgid "bad insn to print_operand, 'B' modifier:"
+-#~ msgstr "Kuri"
+-
+-#, fuzzy
+-#~ msgid "bad insn to print_operand, 'E' modifier:"
+-#~ msgstr "Kuri"
+-
+-#, fuzzy
+-#~ msgid "bad insn to print_operand, 'R' modifier:"
+-#~ msgstr "Kuri"
+-
+-#, fuzzy
+-#~ msgid "bad insn to print_operand, 's' modifier:"
+-#~ msgstr "Kuri"
+-
+-#, fuzzy
+-#~ msgid "bad insn in d30v_print_operand, 0 case"
+-#~ msgstr "in 0"
+-
+-#, fuzzy
+-#~ msgid "bad call to d30v_move_2words"
+-#~ msgstr "Kuri"
+-
+-#, fuzzy
+-#~ msgid "Enable use of conditional move instructions"
+-#~ msgstr "Gukoresha Bya Kwimura Amabwiriza"
+-
+-#, fuzzy
+-#~ msgid "Disable use of conditional move instructions"
+-#~ msgstr "Gukoresha Bya Kwimura Amabwiriza"
+-
+-#, fuzzy
+-#~ msgid "Debug argument support in compiler"
+-#~ msgstr "Gushigikira in"
+-
+-#, fuzzy
+-#~ msgid "Debug stack support in compiler"
+-#~ msgstr "Gushigikira in"
+-
+-#, fuzzy
+-#~ msgid "Debug memory address support in compiler"
+-#~ msgstr "Ububiko Aderesi Gushigikira in"
+-
+-#, fuzzy
+-#~ msgid "Make adjacent short instructions parallel if possible"
+-#~ msgstr "Amabwiriza Biteganye NIBA"
+-
+-#, fuzzy
+-#~ msgid "Do not make adjacent short instructions parallel"
+-#~ msgstr "OYA Ubwoko Amabwiriza Biteganye"
+-
+-#, fuzzy
+-#~ msgid "Link programs/data to be in external memory by default"
+-#~ msgstr "Porogaramu Ibyatanzwe Kuri in external Ububiko ku Mburabuzi"
+-
+-#, fuzzy
+-#~ msgid "Link programs/data to be in onchip memory by default"
+-#~ msgstr "Porogaramu Ibyatanzwe Kuri in Ububiko ku Mburabuzi"
+-
+-#, fuzzy
+-#~ msgid "Change the branch costs within the compiler"
+-#~ msgstr "i muri i"
+-
+-#, fuzzy
+-#~ msgid "Change the threshold for conversion to conditional execution"
+-#~ msgstr "i kugirango Ihindurangero Kuri"
+-
+-#, fuzzy
+-#~ msgid "stack size > 32k"
+-#~ msgstr "Ingano"
+-
+-#, fuzzy
+-#~ msgid "invalid addressing mode"
+-#~ msgstr "Sibyo Kwohereza Ubwoko"
+-
+-#, fuzzy
+-#~ msgid "bad register extension code"
+-#~ msgstr "Kwiyandikisha Umugereka ITEGEKONGENGA"
+-
+-#, fuzzy
+-#~ msgid "invalid offset in ybase addressing"
+-#~ msgstr "Sibyo Nta- boneza in Kwohereza"
+-
+-#, fuzzy
+-#~ msgid "invalid register in ybase addressing"
+-#~ msgstr "Sibyo Kwiyandikisha in Kwohereza"
+-
+-#, fuzzy
+-#~ msgid "invalid shift operator in emit_1600_core_shift"
+-#~ msgstr "Sibyo Gusunika Mukoresha in"
+-
+-#, fuzzy
+-#~ msgid "invalid mode for gen_tst_reg"
+-#~ msgstr "Sibyo Ubwoko kugirango"
+-
+-#, fuzzy
+-#~ msgid "invalid mode for integer comparison in gen_compare_reg"
+-#~ msgstr "Sibyo Ubwoko kugirango Umubare wuzuye in"
+-
+-#, fuzzy
+-#~ msgid "Pass parameters in registers (default)"
+-#~ msgstr "Ibigenga in Mburabuzi"
+-
+-#, fuzzy
+-#~ msgid "Don't pass parameters in registers"
+-#~ msgstr "Ibigenga in"
+-
+-#, fuzzy
+-#~ msgid "Generate code for near calls"
+-#~ msgstr "ITEGEKONGENGA kugirango Amahamagara:"
+-
+-#, fuzzy
+-#~ msgid "Don't generate code for near calls"
+-#~ msgstr "ITEGEKONGENGA kugirango Amahamagara:"
+-
+-#, fuzzy
+-#~ msgid "Generate code for near jumps"
+-#~ msgstr "ITEGEKONGENGA kugirango"
+-
+-#, fuzzy
+-#~ msgid "Don't generate code for near jumps"
+-#~ msgstr "ITEGEKONGENGA kugirango"
+-
+-#, fuzzy
+-#~ msgid "Generate code for a bit-manipulation unit"
+-#~ msgstr "ITEGEKONGENGA kugirango a Igice:"
+-
+-#, fuzzy
+-#~ msgid "Don't generate code for a bit-manipulation unit"
+-#~ msgstr "ITEGEKONGENGA kugirango a Igice:"
+-
+-#, fuzzy
+-#~ msgid "Generate code for memory map1"
+-#~ msgstr "ITEGEKONGENGA kugirango Ububiko"
+-
+-#, fuzzy
+-#~ msgid "Generate code for memory map2"
+-#~ msgstr "ITEGEKONGENGA kugirango Ububiko"
+-
+-#, fuzzy
+-#~ msgid "Generate code for memory map3"
+-#~ msgstr "ITEGEKONGENGA kugirango Ububiko"
+-
+-#, fuzzy
+-#~ msgid "Generate code for memory map4"
+-#~ msgstr "ITEGEKONGENGA kugirango Ububiko"
+-
+-#, fuzzy
+-#~ msgid "Ouput extra code for initialized data"
+-#~ msgstr "Birenga ITEGEKONGENGA kugirango Ibyatanzwe"
+-
+-#, fuzzy
+-#~ msgid "Don't let reg. allocator use ybase registers"
+-#~ msgstr "Gukoresha"
+-
+-#, fuzzy
+-#~ msgid "Output extra debug info in Luxworks environment"
+-#~ msgstr "Birenga Kosora amakosa Ibisobanuro in"
+-
+-#, fuzzy
+-#~ msgid "Save temp. files in Luxworks environment"
+-#~ msgstr "Kubika Idosiye in"
+-
+-#, fuzzy
+-#~ msgid "Specify alternate name for text section"
+-#~ msgstr "Izina: kugirango Umwandiko Icyiciro"
+-
+-#, fuzzy
+-#~ msgid "Specify alternate name for data section"
+-#~ msgstr "Izina: kugirango Ibyatanzwe Icyiciro"
+-
+-#, fuzzy
+-#~ msgid "Specify alternate name for bss section"
+-#~ msgstr "Izina: kugirango Icyiciro"
+-
+-#, fuzzy
+-#~ msgid "Specify alternate name for constant section"
+-#~ msgstr "Izina: kugirango Icyiciro"
+-
+-#, fuzzy
+-#~ msgid "Specify alternate name for dsp16xx chip"
+-#~ msgstr "Izina: kugirango"
+-
+-#, fuzzy
+-#~ msgid "profiling not implemented yet"
+-#~ msgstr "OYA"
+-
+-#, fuzzy
+-#~ msgid "trampolines not yet implemented"
+-#~ msgstr "OYA"
+-
+-#, fuzzy
+-#~ msgid "fr30_print_operand_address: unhandled address"
+-#~ msgstr "Aderesi"
+-
+-#, fuzzy
+-#~ msgid "fr30_print_operand: unrecognized %%p code"
+-#~ msgstr "ITEGEKONGENGA"
+-
+-#, fuzzy
+-#~ msgid "fr30_print_operand: unrecognized %%b code"
+-#~ msgstr "ITEGEKONGENGA"
+-
+-#, fuzzy
+-#~ msgid "fr30_print_operand: unrecognized %%B code"
+-#~ msgstr "ITEGEKONGENGA"
+-
+-#, fuzzy
+-#~ msgid "fr30_print_operand: invalid operand to %%A code"
+-#~ msgstr "Sibyo Kuri ITEGEKONGENGA"
+-
+-#, fuzzy
+-#~ msgid "fr30_print_operand: invalid %%x code"
+-#~ msgstr "Sibyo ITEGEKONGENGA"
+-
+-#, fuzzy
+-#~ msgid "fr30_print_operand: invalid %%F code"
+-#~ msgstr "Sibyo ITEGEKONGENGA"
+-
+-#, fuzzy
+-#~ msgid "fr30_print_operand: unknown code"
+-#~ msgstr "Kitazwi ITEGEKONGENGA"
+-
+-#, fuzzy
+-#~ msgid "Assume small address space"
+-#~ msgstr "Gitoya Aderesi Umwanya"
+-
+-#, fuzzy
+-#~ msgid "Unknown cpu: -mcpu=%s"
+-#~ msgstr "CPU"
+-
+-#, fuzzy
+-#~ msgid "-fpic and -gdwarf are incompatible (-fpic and -g/-gdwarf-2 are fine)"
+-#~ msgstr "-Na Na g 2."
+-
+-#, fuzzy
+-#~ msgid "Bad insn to frv_print_operand_address:"
+-#~ msgstr "Kuri"
+-
+-#, fuzzy
+-#~ msgid "Bad register to frv_print_operand_memory_reference_reg:"
+-#~ msgstr "Kwiyandikisha Kuri"
+-
+-#, fuzzy
+-#~ msgid "Bad insn to frv_print_operand_memory_reference:"
+-#~ msgstr "Kuri"
+-
+-#, fuzzy
+-#~ msgid "Bad insn in frv_print_operand, bad const_double"
+-#~ msgstr "in"
+-
+-#, fuzzy
+-#~ msgid "Bad insn to frv_print_operand, 'C' modifier:"
+-#~ msgstr "Kuri"
+-
+-#, fuzzy
+-#~ msgid "Bad insn to frv_print_operand, 'c' modifier:"
+-#~ msgstr "Kuri"
+-
+-#, fuzzy
+-#~ msgid "Bad insn to frv_print_operand, 'e' modifier:"
+-#~ msgstr "Kuri"
+-
+-#, fuzzy
+-#~ msgid "Bad insn to frv_print_operand, 'F' modifier:"
+-#~ msgstr "Kuri"
+-
+-#, fuzzy
+-#~ msgid "Bad insn to frv_print_operand, 'f' modifier:"
+-#~ msgstr "Kuri"
+-
+-#, fuzzy
+-#~ msgid "Bad insn to frv_print_operand, 'L' modifier:"
+-#~ msgstr "Kuri"
+-
+-#, fuzzy
+-#~ msgid "Bad insn to frv_print_operand, 'M/N' modifier:"
+-#~ msgstr "Kuri"
+-
+-#, fuzzy
+-#~ msgid "Bad insn to frv_print_operand, 'O' modifier:"
+-#~ msgstr "Kuri"
+-
+-#, fuzzy
+-#~ msgid "Bad insn to frv_print_operand, P modifier:"
+-#~ msgstr "Kuri"
+-
+-#, fuzzy
+-#~ msgid "Bad insn in frv_print_operand, z case"
+-#~ msgstr "in Z"
+-
+-#, fuzzy
+-#~ msgid "Bad insn in frv_print_operand, 0 case"
+-#~ msgstr "in 0"
+-
+-#, fuzzy
+-#~ msgid "frv_print_operand: unknown code"
+-#~ msgstr "Kitazwi ITEGEKONGENGA"
+-
+-#, fuzzy
+-#~ msgid "accumulator is not a constant integer"
+-#~ msgstr "ni OYA a Umubare wuzuye"
+-
+-#, fuzzy
+-#~ msgid "accumulator number is out of bounds"
+-#~ msgstr "Umubare ni Inyuma Bya"
+-
+-#, fuzzy
+-#~ msgid "inappropriate accumulator for `%s'"
+-#~ msgstr "kugirango"
+-
+-#, fuzzy
+-#~ msgid "`%s' expects a constant argument"
+-#~ msgstr "`%s'a"
+-
+-#, fuzzy
+-#~ msgid "constant argument out of range for `%s'"
+-#~ msgstr "Inyuma Bya Urutonde kugirango"
+-
+-#, fuzzy
+-#~ msgid "media functions are not available unless -mmedia is used"
+-#~ msgstr "Ibitangazamakuru Imimaro OYA Bihari ni"
+-
+-#, fuzzy
+-#~ msgid "this media function is only available on the fr500"
+-#~ msgstr "iyi Ibitangazamakuru Umumaro ni Bihari ku i"
+-
+-#, fuzzy
+-#~ msgid "this media function is only available on the fr400"
+-#~ msgstr "iyi Ibitangazamakuru Umumaro ni Bihari ku i"
+-
+-#, fuzzy
+-#~ msgid "-ms2600 is used without -ms"
+-#~ msgstr "-ni"
+-
+-#, fuzzy
+-#~ msgid "-mn is used without -mh or -ms"
+-#~ msgstr "-ni Cyangwa"
+-
+-#, fuzzy
+-#~ msgid "Generate H8S code"
+-#~ msgstr "ITEGEKONGENGA"
+-
+-#, fuzzy
+-#~ msgid "Do not generate H8S code"
+-#~ msgstr "OYA ITEGEKONGENGA"
+-
+-#, fuzzy
+-#~ msgid "Generate H8S/2600 code"
+-#~ msgstr "ITEGEKONGENGA"
+-
+-#, fuzzy
+-#~ msgid "Do not generate H8S/2600 code"
+-#~ msgstr "OYA ITEGEKONGENGA"
+-
+-#, fuzzy
+-#~ msgid "Use registers for argument passing"
+-#~ msgstr "kugirango"
+-
+-#, fuzzy
+-#~ msgid "Do not use registers for argument passing"
+-#~ msgstr "OYA Gukoresha kugirango"
+-
+-#, fuzzy
+-#~ msgid "Consider access to byte sized memory slow"
+-#~ msgstr "Kuri Bayite Ububiko Buhoro"
+-
+-#, fuzzy
+-#~ msgid "Generate H8/300H code"
+-#~ msgstr "ITEGEKONGENGA"
+-
+-#, fuzzy
+-#~ msgid "Enable the normal mode"
+-#~ msgstr "i Bisanzwe Ubwoko"
+-
+-#, fuzzy
+-#~ msgid "Do not generate H8/300H code"
+-#~ msgstr "OYA ITEGEKONGENGA"
+-
+-#, fuzzy
+-#~ msgid "Use H8/300 alignment rules"
+-#~ msgstr "300 Itunganya"
+-
+-#, fuzzy
+-#~ msgid "junk at end of #pragma map"
+-#~ msgstr "Umwanda ku Impera Bya"
+-
+-#, fuzzy
+-#~ msgid "real name is too long - alias ignored"
+-#~ msgstr "Izina: ni Irihimbano"
+-
+-#, fuzzy
+-#~ msgid "alias name is too long - alias ignored"
+-#~ msgstr "Irihimbano Izina: ni Irihimbano"
+-
+-#, fuzzy
+-#~ msgid "internal error--no jump follows compare:"
+-#~ msgstr "By'imbere Ikosa Oya Simbuka Kugereranya#"
+-
+-#, fuzzy
+-#~ msgid "Generate char instructions"
+-#~ msgstr "INYUGUTI Amabwiriza"
+-
+-#, fuzzy
+-#~ msgid "Do not generate char instructions"
+-#~ msgstr "OYA INYUGUTI Amabwiriza"
+-
+-#, fuzzy
+-#~ msgid "code model %s not supported in PIC mode"
+-#~ msgstr "ITEGEKONGENGA Urugero OYA in Ubwoko"
+-
+-#, fuzzy
+-#~ msgid "bad value (%s) for -mcmodel= switch"
+-#~ msgstr "Agaciro kugirango Hindura"
+-
+-#, fuzzy
+-#~ msgid "bad value (%s) for -masm= switch"
+-#~ msgstr "Agaciro kugirango Hindura"
+-
+-#, fuzzy
+-#~ msgid "code model `%s' not supported in the %s bit mode"
+-#~ msgstr "ITEGEKONGENGA Urugero OYA in i Ubwoko"
+-
+-#, fuzzy
+-#~ msgid "code model `large' not supported yet"
+-#~ msgstr "ITEGEKONGENGA Urugero OYA"
+-
+-#, fuzzy
+-#~ msgid "%i-bit mode not compiled in"
+-#~ msgstr "%i-bitUbwoko OYA in"
+-
+-#, fuzzy
+-#~ msgid "bad value (%s) for -march= switch"
+-#~ msgstr "Agaciro kugirango Werurwe Hindura"
+-
+-#, fuzzy
+-#~ msgid "bad value (%s) for -mcpu= switch"
+-#~ msgstr "Agaciro kugirango Hindura"
+-
+-#, fuzzy
+-#~ msgid "-mregparm=%d is not between 0 and %d"
+-#~ msgstr "-ni OYA hagati 0 Na"
+-
+-#, fuzzy
+-#~ msgid "-malign-loops is obsolete, use -falign-loops"
+-#~ msgstr "-ni Gukoresha"
+-
+-#, fuzzy
+-#~ msgid "-malign-loops=%d is not between 0 and %d"
+-#~ msgstr "-ni OYA hagati 0 Na"
+-
+-#, fuzzy
+-#~ msgid "-malign-jumps is obsolete, use -falign-jumps"
+-#~ msgstr "-ni Gukoresha"
+-
+-#, fuzzy
+-#~ msgid "-malign-functions is obsolete, use -falign-functions"
+-#~ msgstr "-Imimaro ni Gukoresha Imimaro"
+-
+-#, fuzzy
+-#~ msgid "-mpreferred-stack-boundary=%d is not between %d and 12"
+-#~ msgstr "-ni OYA hagati Na 12"
+-
+-#, fuzzy
+-#~ msgid "-mbranch-cost=%d is not between 0 and 5"
+-#~ msgstr "-Ikiguzi ni OYA hagati 0 Na 5"
+-
+-#, fuzzy
+-#~ msgid "bad value (%s) for -mtls-dialect= switch"
+-#~ msgstr "Agaciro kugirango Hindura"
+-
+-#, fuzzy
+-#~ msgid "-malign-double makes no sense in the 64bit mode"
+-#~ msgstr "-MAHARAKUBIRI Oya in i Ubwoko"
+-
+-#, fuzzy
+-#~ msgid "-mrtd calling convention not supported in the 64bit mode"
+-#~ msgstr "-OYA in i Ubwoko"
+-
+-#, fuzzy
+-#~ msgid "SSE instruction set disabled, using 387 arithmetics"
+-#~ msgstr "Gushyiraho Yahagaritswe ikoresha"
+-
+-#, fuzzy
+-#~ msgid "387 instruction set disabled, using SSE arithmetics"
+-#~ msgstr "Gushyiraho Yahagaritswe ikoresha"
+-
+-#, fuzzy
+-#~ msgid "bad value (%s) for -mfpmath= switch"
+-#~ msgstr "Agaciro kugirango Hindura"
+-
+-#, fuzzy
+-#~ msgid "`%s' attribute requires an integer constant argument"
+-#~ msgstr "`%s'Ikiranga Umubare wuzuye"
+-
+-#, fuzzy
+-#~ msgid "argument to `%s' attribute larger than %d"
+-#~ msgstr "Kuri Ikiranga Kinini"
+-
+-#, fuzzy
+-#~ msgid "invalid UNSPEC as operand"
+-#~ msgstr "Sibyo Nka"
+-
+-#, fuzzy
+-#~ msgid "extended registers have no high halves"
+-#~ msgstr "Byongerewe... Oya kirekire"
+-
+-#, fuzzy
+-#~ msgid "unsupported operand size for extended register"
+-#~ msgstr "Ingano kugirango Byongerewe... Kwiyandikisha"
+-
+-#, fuzzy
+-#~ msgid "operand is neither a constant nor a condition code, invalid operand code 'c'"
+-#~ msgstr "ni a a Ibisabwa ITEGEKONGENGA Sibyo ITEGEKONGENGA"
+-
+-#, fuzzy
+-#~ msgid "invalid operand code `%c'"
+-#~ msgstr "Sibyo ITEGEKONGENGA"
+-
+-#, fuzzy
+-#~ msgid "invalid constraints for operand"
+-#~ msgstr "Sibyo kugirango"
+-
+-#, fuzzy
+-#~ msgid "unknown insn mode"
+-#~ msgstr "Kitazwi Ubwoko"
+-
+-#, fuzzy
+-#~ msgid "shift must be an immediate"
+-#~ msgstr "Gusunika"
+-
+-#, fuzzy
+-#~ msgid "`%s' attribute only applies to variables"
+-#~ msgstr "`%s'Ikiranga Kuri Ibihinduka"
+-
+-#, fuzzy
+-#~ msgid "`%s' declared as both exported to and imported from a DLL"
+-#~ msgstr "`%s'Nka Byombi Kuri Na cyavuye ahandi/ cyatumijwe Bivuye a"
+-
+-#, fuzzy
+-#~ msgid "Use the Cygwin interface"
+-#~ msgstr "i"
+-
+-#, fuzzy
+-#~ msgid "Use the Mingw32 interface"
+-#~ msgstr "i"
+-
+-#, fuzzy
+-#~ msgid "Create GUI application"
+-#~ msgstr "Porogaramu"
+-
+-#, fuzzy
+-#~ msgid "Don't set Windows defines"
+-#~ msgstr "Gushyiraho"
+-
+-#, fuzzy
+-#~ msgid "Create console application"
+-#~ msgstr "Porogaramu"
+-
+-#, fuzzy
+-#~ msgid "Generate code for a DLL"
+-#~ msgstr "ITEGEKONGENGA kugirango a"
+-
+-#, fuzzy
+-#~ msgid "Ignore dllimport for functions"
+-#~ msgstr "kugirango Imimaro"
+-
+-#, fuzzy
+-#~ msgid "Use Mingw-specific thread support"
+-#~ msgstr "Urudodo Gushigikira"
+-
+-#, fuzzy
+-#~ msgid "-f%s ignored for target (all code is position independent)"
+-#~ msgstr "-F kugirango Intego Byose ITEGEKONGENGA ni Ibirindiro"
+-
+-#, fuzzy
+-#~ msgid "-mbnu210 is ignored (option is obsolete)"
+-#~ msgstr "-ni Ihitamo ni"
+-
+-#, fuzzy
+-#~ msgid "Use normal calling convention"
+-#~ msgstr "Bisanzwe"
+-
+-#, fuzzy
+-#~ msgid "Align some doubles on dword boundary"
+-#~ msgstr "ku"
+-
+-#, fuzzy
+-#~ msgid "Align doubles on word boundary"
+-#~ msgstr "ku ijambo"
+-
+-#, fuzzy
+-#~ msgid "Uninitialized locals in .bss"
+-#~ msgstr "in"
+-
+-#, fuzzy
+-#~ msgid "Uninitialized locals in .data"
+-#~ msgstr "in Ibyatanzwe"
+-
+-#, fuzzy
+-#~ msgid "Use IEEE math for fp comparisons"
+-#~ msgstr "Imibare kugirango"
+-
+-#, fuzzy
+-#~ msgid "Do not use IEEE math for fp comparisons"
+-#~ msgstr "OYA Gukoresha Imibare kugirango"
+-
+-#, fuzzy
+-#~ msgid "Return values of functions in FPU registers"
+-#~ msgstr "Uduciro Bya Imimaro in"
+-
+-#, fuzzy
+-#~ msgid "Do not return values of functions in FPU registers"
+-#~ msgstr "OYA Garuka Uduciro Bya Imimaro in"
+-
+-#, fuzzy
+-#~ msgid "Do not generate sin, cos, sqrt for FPU"
+-#~ msgstr "OYA SIN COS SQRT kugirango"
+-
+-#, fuzzy
+-#~ msgid "Generate sin, cos, sqrt for FPU"
+-#~ msgstr "SIN COS SQRT kugirango"
+-
+-#, fuzzy
+-#~ msgid "Omit the frame pointer in leaf functions"
+-#~ msgstr "i Ikadiri Mweretsi in Imimaro"
+-
+-#, fuzzy
+-#~ msgid "Align destination of the string operations"
+-#~ msgstr "Ishyika Bya i Ikurikiranyanyuguti Ibikorwa:"
+-
+-#, fuzzy
+-#~ msgid "Do not align destination of the string operations"
+-#~ msgstr "OYA Gutondeka Ishyika Bya i Ikurikiranyanyuguti Ibikorwa:"
+-
+-#, fuzzy
+-#~ msgid "Inline all known string operations"
+-#~ msgstr "Byose Ikurikiranyanyuguti Ibikorwa:"
+-
+-#, fuzzy
+-#~ msgid "Do not inline all known string operations"
+-#~ msgstr "OYA Mumurongo Byose Ikurikiranyanyuguti Ibikorwa:"
+-
+-#, fuzzy
+-#~ msgid "Use push instructions to save outgoing arguments"
+-#~ msgstr "Amabwiriza Kuri Kubika ingingo"
+-
+-#, fuzzy
+-#~ msgid "Do not use push instructions to save outgoing arguments"
+-#~ msgstr "OYA Gukoresha Amabwiriza Kuri Kubika ingingo"
+-
+-#, fuzzy
+-#~ msgid "Support MMX built-in functions"
+-#~ msgstr "in Imimaro"
+-
+-#, fuzzy
+-#~ msgid "Do not support MMX built-in functions"
+-#~ msgstr "OYA Gushigikira in Imimaro"
+-
+-#, fuzzy
+-#~ msgid "Support 3DNow! built-in functions"
+-#~ msgstr "in Imimaro"
+-
+-#, fuzzy
+-#~ msgid "Do not support 3DNow! built-in functions"
+-#~ msgstr "OYA Gushigikira in Imimaro"
+-
+-#, fuzzy
+-#~ msgid "Support MMX and SSE built-in functions and code generation"
+-#~ msgstr "Na in Imimaro Na ITEGEKONGENGA"
+-
+-#, fuzzy
+-#~ msgid "Do not support MMX and SSE built-in functions and code generation"
+-#~ msgstr "OYA Gushigikira Na in Imimaro Na ITEGEKONGENGA"
+-
+-#, fuzzy
+-#~ msgid "Support MMX, SSE and SSE2 built-in functions and code generation"
+-#~ msgstr "Na in Imimaro Na ITEGEKONGENGA"
+-
+-#, fuzzy
+-#~ msgid "Do not support MMX, SSE and SSE2 built-in functions and code generation"
+-#~ msgstr "OYA Gushigikira Na in Imimaro Na ITEGEKONGENGA"
+-
+-#, fuzzy
+-#~ msgid "sizeof(long double) is 16"
+-#~ msgstr "MAHARAKUBIRI ni"
+-
+-#, fuzzy
+-#~ msgid "sizeof(long double) is 12"
+-#~ msgstr "MAHARAKUBIRI ni 12"
+-
+-#, fuzzy
+-#~ msgid "Generate 64bit x86-64 code"
+-#~ msgstr "ITEGEKONGENGA"
+-
+-#, fuzzy
+-#~ msgid "Generate 32bit i386 code"
+-#~ msgstr "ITEGEKONGENGA"
+-
+-#, fuzzy
+-#~ msgid "Use red-zone in the x86-64 code"
+-#~ msgstr "Umutuku in i ITEGEKONGENGA"
+-
+-#, fuzzy
+-#~ msgid "Do not use red-zone in the x86-64 code"
+-#~ msgstr "OYA Gukoresha Umutuku in i ITEGEKONGENGA"
+-
+-#, fuzzy
+-#~ msgid "Schedule code for given CPU"
+-#~ msgstr "ITEGEKONGENGA kugirango"
+-
+-#, fuzzy
+-#~ msgid "Generate floating point mathematics using given instruction set"
+-#~ msgstr "Bihindagurika Akadomo ikoresha Gushyiraho"
+-
+-#, fuzzy
+-#~ msgid "Generate code for given CPU"
+-#~ msgstr "ITEGEKONGENGA kugirango"
+-
+-#, fuzzy
+-#~ msgid "Number of registers used to pass integer arguments"
+-#~ msgstr "Bya Kuri Umubare wuzuye ingingo"
+-
+-#, fuzzy
+-#~ msgid "Loop code aligned to this power of 2"
+-#~ msgstr "ITEGEKONGENGA Kuri iyi UMWIKUBE Bya 2."
+-
+-#, fuzzy
+-#~ msgid "Jump targets are aligned to this power of 2"
+-#~ msgstr "Kuri iyi UMWIKUBE Bya 2."
+-
+-#, fuzzy
+-#~ msgid "Function starts are aligned to this power of 2"
+-#~ msgstr "Kuri iyi UMWIKUBE Bya 2."
+-
+-#, fuzzy
+-#~ msgid "Attempt to keep stack aligned to this power of 2"
+-#~ msgstr "Kuri Gumana: Kuri iyi UMWIKUBE Bya 2."
+-
+-#, fuzzy
+-#~ msgid "Branches are this expensive (1-5, arbitrary units)"
+-#~ msgstr "iyi 1. 5"
+-
+-#, fuzzy
+-#~ msgid "Use given x86-64 code model"
+-#~ msgstr "ITEGEKONGENGA Urugero"
+-
+-#, fuzzy
+-#~ msgid "Use given thread-local storage dialect"
+-#~ msgstr "Urudodo"
+-
+-#, fuzzy
+-#~ msgid "Generate ELF output"
+-#~ msgstr "Ibisohoka"
+-
+-#, fuzzy
+-#~ msgid "environment variable DJGPP not defined"
+-#~ msgstr "IMPINDURAGACIRO OYA"
+-
+-#, fuzzy
+-#~ msgid "environment variable DJGPP points to missing file '%s'"
+-#~ msgstr "IMPINDURAGACIRO Utudomo Kuri Ibuze IDOSIYE"
+-
+-#, fuzzy
+-#~ msgid "environment variable DJGPP points to corrupt file '%s'"
+-#~ msgstr "IMPINDURAGACIRO Utudomo Kuri IDOSIYE"
+-
+-#, fuzzy
+-#~ msgid "sorry, not implemented: #pragma align NAME=SIZE"
+-#~ msgstr "OYA Gutondeka"
+-
+-#, fuzzy
+-#~ msgid "malformed #pragma align - ignored"
+-#~ msgstr "Gutondeka"
+-
+-#, fuzzy
+-#~ msgid "sorry, not implemented: #pragma noalign NAME"
+-#~ msgstr "OYA"
+-
+-#, fuzzy
+-#~ msgid "conflicting architectures defined - using C series"
+-#~ msgstr "ikoresha C Ibyiciro"
+-
+-#, fuzzy
+-#~ msgid "conflicting architectures defined - using K series"
+-#~ msgstr "ikoresha Ibyiciro"
+-
+-#, fuzzy
+-#~ msgid "iC2.0 and iC3.0 are incompatible - using iC3.0"
+-#~ msgstr "0 Na 0 ikoresha 0"
+-
+-#, fuzzy
+-#~ msgid "stack limit expression is not supported"
+-#~ msgstr "imvugo ni OYA"
+-
+-#, fuzzy
+-#~ msgid "Generate SA code"
+-#~ msgstr "ITEGEKONGENGA"
+-
+-#, fuzzy
+-#~ msgid "Generate SB code"
+-#~ msgstr "ITEGEKONGENGA"
+-
+-#, fuzzy
+-#~ msgid "Generate KA code"
+-#~ msgstr "ITEGEKONGENGA"
+-
+-#, fuzzy
+-#~ msgid "Generate KB code"
+-#~ msgstr "ITEGEKONGENGA"
+-
+-#, fuzzy
+-#~ msgid "Generate JA code"
+-#~ msgstr "ITEGEKONGENGA"
+-
+-#, fuzzy
+-#~ msgid "Generate JD code"
+-#~ msgstr "ITEGEKONGENGA"
+-
+-#, fuzzy
+-#~ msgid "Generate JF code"
+-#~ msgstr "ITEGEKONGENGA"
+-
+-#, fuzzy
+-#~ msgid "generate RP code"
+-#~ msgstr "ITEGEKONGENGA"
+-
+-#, fuzzy
+-#~ msgid "Generate MC code"
+-#~ msgstr "ITEGEKONGENGA"
+-
+-#, fuzzy
+-#~ msgid "Generate CA code"
+-#~ msgstr "ITEGEKONGENGA"
+-
+-#, fuzzy
+-#~ msgid "Generate CF code"
+-#~ msgstr "ITEGEKONGENGA"
+-
+-#, fuzzy
+-#~ msgid "Use software floating point"
+-#~ msgstr "Bihindagurika Akadomo"
+-
+-#, fuzzy
+-#~ msgid "Use alternate leaf function entries"
+-#~ msgstr "Umumaro Ibyinjijwe"
+-
+-#, fuzzy
+-#~ msgid "Do not use alternate leaf function entries"
+-#~ msgstr "OYA Gukoresha Umumaro Ibyinjijwe"
+-
+-#, fuzzy
+-#~ msgid "Do not perform tail call optimization"
+-#~ msgstr "OYA"
+-
+-#, fuzzy
+-#~ msgid "Use complex addressing modes"
+-#~ msgstr "ITSINDA RY'IMIBARE C Kwohereza"
+-
+-#, fuzzy
+-#~ msgid "Do not use complex addressing modes"
+-#~ msgstr "OYA Gukoresha ITSINDA RY'IMIBARE C Kwohereza"
+-
+-#, fuzzy
+-#~ msgid "Align code to 8 byte boundary"
+-#~ msgstr "ITEGEKONGENGA Kuri 8 Bayite"
+-
+-#, fuzzy
+-#~ msgid "Do not align code to 8 byte boundary"
+-#~ msgstr "OYA Gutondeka ITEGEKONGENGA Kuri 8 Bayite"
+-
+-#, fuzzy
+-#~ msgid "Enable compatibility with iC960 v2.0"
+-#~ msgstr "Bihuye neza Na: 0"
+-
+-#, fuzzy
+-#~ msgid "Enable compatibility with iC960 v3.0"
+-#~ msgstr "Bihuye neza Na: 0"
+-
+-#, fuzzy
+-#~ msgid "Enable compatibility with ic960 assembler"
+-#~ msgstr "Bihuye neza Na:"
+-
+-#, fuzzy
+-#~ msgid "Do not permit unaligned accesses"
+-#~ msgstr "OYA"
+-
+-#, fuzzy
+-#~ msgid "Layout types like Intel's v1.3 gcc"
+-#~ msgstr "nka 3."
+-
+-#, fuzzy
+-#~ msgid "Do not layout types like Intel's v1.3 gcc"
+-#~ msgstr "OYA Imigaragarire nka 3."
+-
+-#, fuzzy
+-#~ msgid "Do not enable linker relaxation"
+-#~ msgstr "OYA Gushoboza"
+-
+-#, fuzzy
+-#~ msgid "ia64_print_operand: unknown code"
+-#~ msgstr "Kitazwi ITEGEKONGENGA"
+-
+-#, fuzzy
+-#~ msgid "value of -mfixed-range must have form REG1-REG2"
+-#~ msgstr "Agaciro Bya Urutonde Ifishi"
+-
+-#, fuzzy
+-#~ msgid "%s-%s is an empty range"
+-#~ msgstr "%s-%sni ubusa Urutonde"
+-
+-#, fuzzy
+-#~ msgid "cannot optimize floating point division for both latency and throughput"
+-#~ msgstr "Kugeza ku ndunduro Bihindagurika Akadomo kugirango Byombi Na"
+-
+-#, fuzzy
+-#~ msgid "cannot optimize integer division for both latency and throughput"
+-#~ msgstr "Kugeza ku ndunduro Umubare wuzuye kugirango Byombi Na"
+-
+-#, fuzzy
+-#~ msgid "bad value (%s) for -mtls-size= switch"
+-#~ msgstr "Agaciro kugirango Ingano Hindura"
+-
+-#, fuzzy
+-#~ msgid "Generate big endian code"
+-#~ msgstr "ITEGEKONGENGA"
+-
+-#, fuzzy
+-#~ msgid "Generate little endian code"
+-#~ msgstr "ITEGEKONGENGA"
+-
+-#, fuzzy
+-#~ msgid "Generate code for GNU as"
+-#~ msgstr "ITEGEKONGENGA kugirango Nka"
+-
+-#, fuzzy
+-#~ msgid "Generate code for Intel as"
+-#~ msgstr "ITEGEKONGENGA kugirango Nka"
+-
+-#, fuzzy
+-#~ msgid "Generate code for GNU ld"
+-#~ msgstr "ITEGEKONGENGA kugirango"
+-
+-#, fuzzy
+-#~ msgid "Generate code for Intel ld"
+-#~ msgstr "ITEGEKONGENGA kugirango"
+-
+-#, fuzzy
+-#~ msgid "Generate code without GP reg"
+-#~ msgstr "ITEGEKONGENGA"
+-
+-#, fuzzy
+-#~ msgid "Emit stop bits before and after volatile extended asms"
+-#~ msgstr "Guhagarara Mbere Na Nyuma Byongerewe..."
+-
+-#, fuzzy
+-#~ msgid "Don't emit stop bits before and after volatile extended asms"
+-#~ msgstr "Guhagarara Mbere Na Nyuma Byongerewe..."
+-
+-#, fuzzy
+-#~ msgid "Emit code for Itanium (TM) processor B step"
+-#~ msgstr "ITEGEKONGENGA kugirango Intera"
+-
+-#, fuzzy
+-#~ msgid "Use in/loc/out register names"
+-#~ msgstr "in Inyuma Kwiyandikisha Amazina"
+-
+-#, fuzzy
+-#~ msgid "Disable use of sdata/scommon/sbss"
+-#~ msgstr "Gukoresha Bya"
+-
+-#, fuzzy
+-#~ msgid "Enable use of sdata/scommon/sbss"
+-#~ msgstr "Gukoresha Bya"
+-
+-#, fuzzy
+-#~ msgid "gp is constant (but save/restore gp on indirect calls)"
+-#~ msgstr "ni Kubika Kugarura ku BUZIGUYE Amahamagara:"
+-
+-#, fuzzy
+-#~ msgid "Generate self-relocatable code"
+-#~ msgstr "ITEGEKONGENGA"
+-
+-#, fuzzy
+-#~ msgid "Generate inline floating point division, optimize for latency"
+-#~ msgstr "Mumurongo Bihindagurika Akadomo Kugeza ku ndunduro kugirango"
+-
+-#, fuzzy
+-#~ msgid "Generate inline floating point division, optimize for throughput"
+-#~ msgstr "Mumurongo Bihindagurika Akadomo Kugeza ku ndunduro kugirango"
+-
+-#, fuzzy
+-#~ msgid "Generate inline integer division, optimize for latency"
+-#~ msgstr "Mumurongo Umubare wuzuye Kugeza ku ndunduro kugirango"
+-
+-#, fuzzy
+-#~ msgid "Generate inline integer division, optimize for throughput"
+-#~ msgstr "Mumurongo Umubare wuzuye Kugeza ku ndunduro kugirango"
+-
+-#, fuzzy
+-#~ msgid "Enable Dwarf 2 line debug info via GNU as"
+-#~ msgstr "2. Umurongo Kosora amakosa Ibisobanuro Biturutse Nka"
+-
+-#, fuzzy
+-#~ msgid "Disable Dwarf 2 line debug info via GNU as"
+-#~ msgstr "2. Umurongo Kosora amakosa Ibisobanuro Biturutse Nka"
+-
+-#, fuzzy
+-#~ msgid "Specify range of registers to make fixed"
+-#~ msgstr "Urutonde Bya Kuri Ubwoko BIHAMYE"
+-
+-#, fuzzy
+-#~ msgid "bad value (%s) for -mmodel switch"
+-#~ msgstr "Agaciro kugirango Hindura"
+-
+-#, fuzzy
+-#~ msgid "bad value (%s) for -msdata switch"
+-#~ msgstr "Agaciro kugirango Hindura"
+-
+-#, fuzzy
+-#~ msgid "invalid argument of `%s' attribute"
+-#~ msgstr "Sibyo Bya Ikiranga"
+-
+-#, fuzzy
+-#~ msgid "const objects cannot go in .sdata/.sbss"
+-#~ msgstr "Ibintu Gyayo in"
+-
+-#, fuzzy
+-#~ msgid "invalid operand to %%s code"
+-#~ msgstr "Sibyo Kuri ITEGEKONGENGA"
+-
+-#, fuzzy
+-#~ msgid "invalid operand to %%p code"
+-#~ msgstr "Sibyo Kuri ITEGEKONGENGA"
+-
+-#, fuzzy
+-#~ msgid "bad insn for 'A'"
+-#~ msgstr "kugirango"
+-
+-#, fuzzy
+-#~ msgid "invalid operand to %%T/%%B code"
+-#~ msgstr "Sibyo Kuri ITEGEKONGENGA"
+-
+-#, fuzzy
+-#~ msgid "invalid operand to %%N code"
+-#~ msgstr "Sibyo Kuri ITEGEKONGENGA"
+-
+-#, fuzzy
+-#~ msgid "pre-increment address is not a register"
+-#~ msgstr "Byahawe imiterere mbere Iyongeragaciro Aderesi ni OYA a Kwiyandikisha"
+-
+-#, fuzzy
+-#~ msgid "pre-decrement address is not a register"
+-#~ msgstr "Byahawe imiterere mbere Aderesi ni OYA a Kwiyandikisha"
+-
+-#, fuzzy
+-#~ msgid "post-increment address is not a register"
+-#~ msgstr "Iposita Iyongeragaciro Aderesi ni OYA a Kwiyandikisha"
+-
+-#, fuzzy
+-#~ msgid "bad address"
+-#~ msgstr "Aderesi"
+-
+-#, fuzzy
+-#~ msgid "lo_sum not of register"
+-#~ msgstr "OYA Bya Kwiyandikisha"
+-
+-#, fuzzy
+-#~ msgid "Display compile time statistics"
+-#~ msgstr "Gukusanya Igihe Sitatisitiki"
+-
+-#, fuzzy
+-#~ msgid "Align all loops to 32 byte boundary"
+-#~ msgstr "Byose Kuri Bayite"
+-
+-#, fuzzy
+-#~ msgid "Only issue one instruction per cycle"
+-#~ msgstr "Itangwa Uruziga"
+-
+-#, fuzzy
+-#~ msgid "Prefer branches over conditional execution"
+-#~ msgstr "KURI"
+-
+-#, fuzzy
+-#~ msgid "Code size: small, medium or large"
+-#~ msgstr "Ingano Gitoya biringaniye Cyangwa Binini"
+-
+-#, fuzzy
+-#~ msgid "Small data area: none, sdata, use"
+-#~ msgstr "Ibyatanzwe Ubuso Ntacyo Gukoresha"
+-
+-#, fuzzy
+-#~ msgid "-f%s ignored for 68HC11/68HC12 (not supported)"
+-#~ msgstr "-F kugirango OYA"
+-
+-#, fuzzy
+-#~ msgid "`trap' and `far' attributes are not compatible, ignoring `far'"
+-#~ msgstr "`Na Ibiranga OYA"
+-
+-#, fuzzy
+-#~ msgid "`trap' attribute is already used"
+-#~ msgstr "`Ikiranga ni"
+-
+-#, fuzzy
+-#~ msgid "move insn not handled"
+-#~ msgstr "Kwimura OYA"
+-
+-#, fuzzy
+-#~ msgid "invalid register in the move instruction"
+-#~ msgstr "Sibyo Kwiyandikisha in i Kwimura"
+-
+-#, fuzzy
+-#~ msgid "invalid operand in the instruction"
+-#~ msgstr "Sibyo in i"
+-
+-#, fuzzy
+-#~ msgid "invalid register in the instruction"
+-#~ msgstr "Sibyo Kwiyandikisha in i"
+-
+-#, fuzzy
+-#~ msgid "operand 1 must be a hard register"
+-#~ msgstr "1. a Ikomeye Kwiyandikisha"
+-
+-#, fuzzy
+-#~ msgid "invalid rotate insn"
+-#~ msgstr "Sibyo Kuzerutsa"
+-
+-#, fuzzy
+-#~ msgid "registers IX, IY and Z used in the same INSN"
+-#~ msgstr "Na in i"
+-
+-#, fuzzy
+-#~ msgid "cannot do z-register replacement"
+-#~ msgstr "Z Kwiyandikisha"
+-
+-#, fuzzy
+-#~ msgid "invalid Z register replacement for insn"
+-#~ msgstr "Sibyo Kwiyandikisha kugirango"
+-
+-#, fuzzy
+-#~ msgid "Compile with 16-bit integer mode"
+-#~ msgstr "Na: Umubare wuzuye Ubwoko"
+-
+-#, fuzzy
+-#~ msgid "Compile with 32-bit integer mode"
+-#~ msgstr "Na: Umubare wuzuye Ubwoko"
+-
+-#, fuzzy
+-#~ msgid "Auto pre/post decrement increment allowed"
+-#~ msgstr "Byahawe imiterere mbere Iposita Iyongeragaciro"
+-
+-#, fuzzy
+-#~ msgid "Auto pre/post decrement increment not allowed"
+-#~ msgstr "Byahawe imiterere mbere Iposita Iyongeragaciro OYA"
+-
+-#, fuzzy
+-#~ msgid "Min/max instructions allowed"
+-#~ msgstr "KININI Amabwiriza"
+-
+-#, fuzzy
+-#~ msgid "Min/max instructions not allowed"
+-#~ msgstr "KININI Amabwiriza OYA"
+-
+-#, fuzzy
+-#~ msgid "Use call and rtc for function calls and returns"
+-#~ msgstr "Na kugirango Umumaro Amahamagara: Na"
+-
+-#, fuzzy
+-#~ msgid "Use jsr and rts for function calls and returns"
+-#~ msgstr "Na kugirango Umumaro Amahamagara: Na"
+-
+-#, fuzzy
+-#~ msgid "Do not use direct addressing mode for soft registers"
+-#~ msgstr "OYA Gukoresha Kwohereza Ubwoko kugirango Yoroshe"
+-
+-#, fuzzy
+-#~ msgid "Use direct addressing mode for soft registers"
+-#~ msgstr "Kwohereza Ubwoko kugirango Yoroshe"
+-
+-#, fuzzy
+-#~ msgid "Compile for a 68HC11"
+-#~ msgstr "kugirango a"
+-
+-#, fuzzy
+-#~ msgid "Compile for a 68HC12"
+-#~ msgstr "kugirango a"
+-
+-#, fuzzy
+-#~ msgid "Compile for a 68HCS12"
+-#~ msgstr "kugirango a"
+-
+-#, fuzzy
+-#~ msgid "Specify the register allocation order"
+-#~ msgstr "i Kwiyandikisha Itondekanya"
+-
+-#, fuzzy
+-#~ msgid "Indicate the number of soft registers available"
+-#~ msgstr "i Umubare Bya Yoroshe Bihari"
+-
+-#, fuzzy
+-#~ msgid "-malign-loops=%d is not between 1 and %d"
+-#~ msgstr "-ni OYA hagati 1. Na"
+-
+-#, fuzzy
+-#~ msgid "-malign-jumps=%d is not between 1 and %d"
+-#~ msgstr "-ni OYA hagati 1. Na"
+-
+-#, fuzzy
+-#~ msgid "-malign-functions=%d is not between 1 and %d"
+-#~ msgstr "-Imimaro ni OYA hagati 1. Na"
+-
+-#, fuzzy
+-#~ msgid "-fPIC is not currently supported on the 68000 or 68010\n"
+-#~ msgstr "-ni OYA ku i Cyangwa"
+-
+-#, fuzzy
+-#~ msgid "Generate code for a 68020"
+-#~ msgstr "ITEGEKONGENGA kugirango a"
+-
+-#, fuzzy
+-#~ msgid "Generate code for a 68000"
+-#~ msgstr "ITEGEKONGENGA kugirango a"
+-
+-#, fuzzy
+-#~ msgid "Use the bit-field instructions"
+-#~ msgstr "i Umwanya Amabwiriza"
+-
+-#, fuzzy
+-#~ msgid "Do not use the bit-field instructions"
+-#~ msgstr "OYA Gukoresha i Umwanya Amabwiriza"
+-
+-#, fuzzy
+-#~ msgid "Use different calling convention using 'rtd'"
+-#~ msgstr "ikoresha"
+-
+-#, fuzzy
+-#~ msgid "Consider type `int' to be 16 bits wide"
+-#~ msgstr "Ubwoko Kuri"
+-
+-#, fuzzy
+-#~ msgid "Consider type `int' to be 32 bits wide"
+-#~ msgstr "Ubwoko Kuri"
+-
+-#, fuzzy
+-#~ msgid "Generate code for a Sun FPA"
+-#~ msgstr "ITEGEKONGENGA kugirango a"
+-
+-#, fuzzy
+-#~ msgid "Do not generate code for a Sun FPA"
+-#~ msgstr "OYA ITEGEKONGENGA kugirango a"
+-
+-#, fuzzy
+-#~ msgid "Generate code for a Sun Sky board"
+-#~ msgstr "ITEGEKONGENGA kugirango a"
+-
+-#, fuzzy
+-#~ msgid "Do not use Sky linkage convention"
+-#~ msgstr "OYA Gukoresha"
+-
+-#, fuzzy
+-#~ msgid "Generate code for a 68881"
+-#~ msgstr "ITEGEKONGENGA kugirango a"
+-
+-#, fuzzy
+-#~ msgid "Generate code with library calls for floating point"
+-#~ msgstr "ITEGEKONGENGA Na: Isomero Amahamagara: kugirango Bihindagurika Akadomo"
+-
+-#, fuzzy
+-#~ msgid "Generate code for a 68040, without any new instructions"
+-#~ msgstr "ITEGEKONGENGA kugirango a Gishya Amabwiriza"
+-
+-#, fuzzy
+-#~ msgid "Generate code for a 68060, without any new instructions"
+-#~ msgstr "ITEGEKONGENGA kugirango a Gishya Amabwiriza"
+-
+-#, fuzzy
+-#~ msgid "Generate code for a 68030"
+-#~ msgstr "ITEGEKONGENGA kugirango a"
+-
+-#, fuzzy
+-#~ msgid "Generate code for a 68040"
+-#~ msgstr "ITEGEKONGENGA kugirango a"
+-
+-#, fuzzy
+-#~ msgid "Generate code for a 68060"
+-#~ msgstr "ITEGEKONGENGA kugirango a"
+-
+-#, fuzzy
+-#~ msgid "Generate code for a 520X"
+-#~ msgstr "ITEGEKONGENGA kugirango a"
+-
+-#, fuzzy
+-#~ msgid "Generate code for a 68851"
+-#~ msgstr "ITEGEKONGENGA kugirango a"
+-
+-#, fuzzy
+-#~ msgid "Do no generate code for a 68851"
+-#~ msgstr "Oya ITEGEKONGENGA kugirango a"
+-
+-#, fuzzy
+-#~ msgid "Generate code for a 68302"
+-#~ msgstr "ITEGEKONGENGA kugirango a"
+-
+-#, fuzzy
+-#~ msgid "Generate code for a 68332"
+-#~ msgstr "ITEGEKONGENGA kugirango a"
+-
+-#, fuzzy
+-#~ msgid "Generate code for a cpu32"
+-#~ msgstr "ITEGEKONGENGA kugirango a"
+-
+-#, fuzzy
+-#~ msgid "Align variables on a 32-bit boundary"
+-#~ msgstr "Ibihinduka ku a"
+-
+-#, fuzzy
+-#~ msgid "Align variables on a 16-bit boundary"
+-#~ msgstr "Ibihinduka ku a"
+-
+-#, fuzzy
+-#~ msgid "Generate pc-relative code"
+-#~ msgstr "Bifitanye isano ITEGEKONGENGA"
+-
+-#, fuzzy
+-#~ msgid "Do not use unaligned memory references"
+-#~ msgstr "OYA Gukoresha Ububiko Indango"
+-
+-#, fuzzy
+-#~ msgid "Use unaligned memory references"
+-#~ msgstr "Ububiko Indango"
+-
+-#, fuzzy
+-#~ msgid "internal gcc monitor: short-branch(%x)"
+-#~ msgstr "By'imbere"
+-
+-#, fuzzy
+-#~ msgid "internal gcc error: Can't express symbolic location"
+-#~ msgstr "By'imbere Ikosa Ahantu"
+-
+-#, fuzzy
+-#~ msgid "argument #%d is a structure"
+-#~ msgstr "ni a Imiterere"
+-
+-#, fuzzy
+-#~ msgid "%%R not followed by %%B/C/D/E"
+-#~ msgstr "%%ROYA ku C E"
+-
+-#, fuzzy
+-#~ msgid "invalid %%x/X value"
+-#~ msgstr "Sibyo Agaciro"
+-
+-# sc/source\ui\src\globstr.src:RID_GLOBSTR.STR_VALID_DEFERROR.text
+-#, fuzzy
+-#~ msgid "invalid %%Q value"
+-#~ msgstr "Agaciro siko"
+-
+-# sc/source\ui\src\globstr.src:RID_GLOBSTR.STR_VALID_DEFERROR.text
+-#, fuzzy
+-#~ msgid "invalid %%q value"
+-#~ msgstr "Agaciro siko"
+-
+-# sc/source\ui\src\globstr.src:RID_GLOBSTR.STR_VALID_DEFERROR.text
+-#, fuzzy
+-#~ msgid "invalid %%o value"
+-#~ msgstr "Agaciro siko"
+-
+-# sc/source\ui\src\globstr.src:RID_GLOBSTR.STR_VALID_DEFERROR.text
+-#, fuzzy
+-#~ msgid "invalid %%p value"
+-#~ msgstr "Agaciro siko"
+-
+-#, fuzzy
+-#~ msgid "invalid %%s/S value"
+-#~ msgstr "Sibyo Agaciro"
+-
+-#, fuzzy
+-#~ msgid "invalid %%P operand"
+-#~ msgstr "Sibyo"
+-
+-# sc/source\ui\src\globstr.src:RID_GLOBSTR.STR_VALID_DEFERROR.text
+-#, fuzzy
+-#~ msgid "invalid %%B value"
+-#~ msgstr "Agaciro siko"
+-
+-# sc/source\ui\src\globstr.src:RID_GLOBSTR.STR_VALID_DEFERROR.text
+-#, fuzzy
+-#~ msgid "invalid %%D value"
+-#~ msgstr "Agaciro siko"
+-
+-#, fuzzy
+-#~ msgid "`%%d' operand isn't a register"
+-#~ msgstr "`%%d'si a Kwiyandikisha"
+-
+-#, fuzzy
+-#~ msgid "operand is r0"
+-#~ msgstr "ni"
+-
+-#, fuzzy
+-#~ msgid "operand is const_double"
+-#~ msgstr "ni"
+-
+-#, fuzzy
+-#~ msgid "invalid code"
+-#~ msgstr "Sibyo ITEGEKONGENGA"
+-
+-#, fuzzy
+-#~ msgid "-mtrap-large-shift and -mhandle-large-shift are incompatible"
+-#~ msgstr "-Binini Gusunika Na Binini Gusunika"
+-
+-#, fuzzy
+-#~ msgid "invalid option `-mshort-data-%s'"
+-#~ msgstr "Sibyo Ihitamo Ibyatanzwe"
+-
+-#, fuzzy
+-#~ msgid "-mshort-data-%s is too large "
+-#~ msgstr "-Ibyatanzwe ni Binini"
+-
+-#, fuzzy
+-#~ msgid "-mshort-data-%s and PIC are incompatible"
+-#~ msgstr "-Ibyatanzwe Na"
+-
+-#, fuzzy
+-#~ msgid "invalid option `-mstack-increment=%s'"
+-#~ msgstr "Sibyo Ihitamo Iyongeragaciro"
+-
+-#, fuzzy
+-#~ msgid "Inline constants if it can be done in 2 insns or less"
+-#~ msgstr "NIBA Byakozwe in 2. Cyangwa Birutwa"
+-
+-#, fuzzy
+-#~ msgid "Inline constants if it only takes 1 instruction"
+-#~ msgstr "NIBA 1."
+-
+-#, fuzzy
+-#~ msgid "Set maximum alignment to 4"
+-#~ msgstr "Kinini Itunganya Kuri 4."
+-
+-#, fuzzy
+-#~ msgid "Set maximum alignment to 8"
+-#~ msgstr "Kinini Itunganya Kuri 8"
+-
+-#, fuzzy
+-#~ msgid "Do not use the divide instruction"
+-#~ msgstr "OYA Gukoresha i Kugabanya"
+-
+-#, fuzzy
+-#~ msgid "Do not arbitrary sized immediates in bit operations"
+-#~ msgstr "OYA in Ibikorwa:"
+-
+-#, fuzzy
+-#~ msgid "Always treat bit-field as int-sized"
+-#~ msgstr "Umwanya Nka INT"
+-
+-#, fuzzy
+-#~ msgid "Force functions to be aligned to a 4 byte boundary"
+-#~ msgstr "Imimaro Kuri Kuri a 4. Bayite"
+-
+-#, fuzzy
+-#~ msgid "Force functions to be aligned to a 2 byte boundary"
+-#~ msgstr "Imimaro Kuri Kuri a 2. Bayite"
+-
+-#, fuzzy
+-#~ msgid "Emit call graph information"
+-#~ msgstr "Ibisobanuro"
+-
+-#, fuzzy
+-#~ msgid "Prefer word accesses over byte accesses"
+-#~ msgstr "ijambo KURI Bayite"
+-
+-#, fuzzy
+-#~ msgid "Generate code for the M*Core M340"
+-#~ msgstr "ITEGEKONGENGA kugirango i"
+-
+-#, fuzzy
+-#~ msgid "Maximum amount for a single stack increment operation"
+-#~ msgstr "Igiteranyo kugirango a UMWE Iyongeragaciro"
+-
+-#, fuzzy
+-#~ msgid "bad value (%s) for -mabi= switch"
+-#~ msgstr "Agaciro kugirango Hindura"
+-
+-#, fuzzy
+-#~ msgid "-mips%d conflicts with the other architecture options, which specify a MIPS%d processor"
+-#~ msgstr "-Na: i Ikindi Amahitamo a"
+-
+-#, fuzzy
+-#~ msgid "bad value (%s) for -mips switch"
+-#~ msgstr "Agaciro kugirango Hindura"
+-
+-#, fuzzy
+-#~ msgid "-march=%s is not compatible with the selected ABI"
+-#~ msgstr "-Werurwe ni OYA Na: i Byahiswemo"
+-
+-#, fuzzy
+-#~ msgid "-mgp64 used with a 32-bit processor"
+-#~ msgstr "-Na: a"
+-
+-#, fuzzy
+-#~ msgid "-mgp32 used with a 64-bit ABI"
+-#~ msgstr "-Na: a"
+-
+-#, fuzzy
+-#~ msgid "-mgp64 used with a 32-bit ABI"
+-#~ msgstr "-Na: a"
+-
+-#, fuzzy
+-#~ msgid "unsupported combination: %s"
+-#~ msgstr "Ivanga"
+-
+-#, fuzzy
+-#~ msgid "generation of Branch Likely instructions enabled, but not supported by architecture"
+-#~ msgstr "Bya Amabwiriza Bikora OYA ku"
+-
+-#, fuzzy
+-#~ msgid "-G is incompatible with PIC code which is the default"
+-#~ msgstr "-ni Na: ITEGEKONGENGA ni i Mburabuzi"
+-
+-#, fuzzy
+-#~ msgid "-membedded-pic and -mabicalls are incompatible"
+-#~ msgstr "-Na"
+-
+-#, fuzzy
+-#~ msgid "-G and -membedded-pic are incompatible"
+-#~ msgstr "-Na"
+-
+-#, fuzzy
+-#~ msgid "invalid option `entry%s'"
+-#~ msgstr "Sibyo Ihitamo Icyinjijwe"
+-
+-#, fuzzy
+-#~ msgid "-mentry is only meaningful with -mips-16"
+-#~ msgstr "-ni Na:"
+-
+-#, fuzzy
+-#~ msgid "internal error: %%) found without a %%( in assembler pattern"
+-#~ msgstr "By'imbere Ikosa Byabonetse a in Ishusho"
+-
+-#, fuzzy
+-#~ msgid "internal error: %%] found without a %%[ in assembler pattern"
+-#~ msgstr "By'imbere Ikosa Byabonetse a in Ishusho"
+-
+-#, fuzzy
+-#~ msgid "internal error: %%> found without a %%< in assembler pattern"
+-#~ msgstr "By'imbere Ikosa Byabonetse a in Ishusho"
+-
+-#, fuzzy
+-#~ msgid "internal error: %%} found without a %%{ in assembler pattern"
+-#~ msgstr "By'imbere Ikosa Byabonetse a in Ishusho"
+-
+-#, fuzzy
+-#~ msgid "PRINT_OPERAND: unknown punctuation '%c'"
+-#~ msgstr "Kitazwi"
+-
+-#, fuzzy
+-#~ msgid "PRINT_OPERAND null pointer"
+-#~ msgstr "NTAGIHARI Mweretsi"
+-
+-#, fuzzy
+-#~ msgid "invalid use of %%d, %%x, or %%X"
+-#~ msgstr "Sibyo Gukoresha Bya Cyangwa"
+-
+-#, fuzzy
+-#~ msgid "PRINT_OPERAND_ADDRESS, null pointer"
+-#~ msgstr "NTAGIHARI Mweretsi"
+-
+-#, fuzzy
+-#~ msgid "MIPS ECOFF format does not allow changing filenames within functions with #line"
+-#~ msgstr "Imiterere OYA Kwemerera muri Imimaro Na: Umurongo"
+-
+-#, fuzzy
+-#~ msgid "can't rewind temp file"
+-#~ msgstr "IDOSIYE"
+-
+-#, fuzzy
+-#~ msgid "can't write to output file"
+-#~ msgstr "Kwandika Kuri Ibisohoka IDOSIYE"
+-
+-#, fuzzy
+-#~ msgid "can't read from temp file"
+-#~ msgstr "Gusoma Bivuye IDOSIYE"
+-
+-#, fuzzy
+-#~ msgid "can't close temp file"
+-#~ msgstr "Gufunga IDOSIYE"
+-
+-#, fuzzy
+-#~ msgid "gp_offset (%ld) or end_offset (%ld) is less than zero"
+-#~ msgstr "Cyangwa ni Birutwa Zeru"
+-
+-#, fuzzy
+-#~ msgid "fp_offset (%ld) or end_offset (%ld) is less than zero"
+-#~ msgstr "Cyangwa ni Birutwa Zeru"
+-
+-#, fuzzy
+-#~ msgid "can not handle inconsistent calls to `%s'"
+-#~ msgstr "OYA Amahamagara: Kuri"
+-
+-#, fuzzy
+-#~ msgid "the cpu name must be lower case"
+-#~ msgstr "i CPU Izina: Ntoya"
+-
+-#, fuzzy
+-#~ msgid "bad value (%s) for %s"
+-#~ msgstr "Agaciro kugirango"
+-
+-#, fuzzy
+-#~ msgid "No default crt0.o"
+-#~ msgstr "Mburabuzi o"
+-
+-#, fuzzy
+-#~ msgid "Use 64-bit int type"
+-#~ msgstr "INT Ubwoko"
+-
+-#, fuzzy
+-#~ msgid "Use 64-bit long type"
+-#~ msgstr "Ubwoko"
+-
+-#, fuzzy
+-#~ msgid "Use 32-bit long type"
+-#~ msgstr "Ubwoko"
+-
+-#, fuzzy
+-#~ msgid "Optimize lui/addiu address loads"
+-#~ msgstr "Aderesi"
+-
+-#, fuzzy
+-#~ msgid "Don't optimize lui/addiu address loads"
+-#~ msgstr "Kugeza ku ndunduro Aderesi"
+-
+-#, fuzzy
+-#~ msgid "Use MIPS as"
+-#~ msgstr "Nka"
+-
+-#, fuzzy
+-#~ msgid "Use GNU as"
+-#~ msgstr "Nka"
+-
+-#, fuzzy
+-#~ msgid "Use symbolic register names"
+-#~ msgstr "Kwiyandikisha Amazina"
+-
+-#, fuzzy
+-#~ msgid "Don't use symbolic register names"
+-#~ msgstr "Gukoresha Kwiyandikisha Amazina"
+-
+-#, fuzzy
+-#~ msgid "Use GP relative sdata/sbss sections"
+-#~ msgstr "Bifitanye isano Ibyatoranyijwe"
+-
+-#, fuzzy
+-#~ msgid "Don't use GP relative sdata/sbss sections"
+-#~ msgstr "Gukoresha Bifitanye isano Ibyatoranyijwe"
+-
+-#, fuzzy
+-#~ msgid "Output compiler statistics"
+-#~ msgstr "Sitatisitiki"
+-
+-#, fuzzy
+-#~ msgid "Don't output compiler statistics"
+-#~ msgstr "Ibisohoka Sitatisitiki"
+-
+-#, fuzzy
+-#~ msgid "Don't optimize block moves"
+-#~ msgstr "Kugeza ku ndunduro Funga"
+-
+-#, fuzzy
+-#~ msgid "Optimize block moves"
+-#~ msgstr "Funga"
+-
+-#, fuzzy
+-#~ msgid "Don't use mips-tfile asm postpass"
+-#~ msgstr "Gukoresha"
+-
+-#, fuzzy
+-#~ msgid "Use hardware floating point"
+-#~ msgstr "Bihindagurika Akadomo"
+-
+-#, fuzzy
+-#~ msgid "Use 64-bit general registers"
+-#~ msgstr "Rusange"
+-
+-#, fuzzy
+-#~ msgid "Use 32-bit general registers"
+-#~ msgstr "Rusange"
+-
+-#, fuzzy
+-#~ msgid "Don't use Irix PIC"
+-#~ msgstr "Gukoresha"
+-
+-#, fuzzy
+-#~ msgid "Use indirect calls"
+-#~ msgstr "BUZIGUYE Amahamagara:"
+-
+-#, fuzzy
+-#~ msgid "Don't use indirect calls"
+-#~ msgstr "Gukoresha BUZIGUYE Amahamagara:"
+-
+-#, fuzzy
+-#~ msgid "Use embedded PIC"
+-#~ msgstr "Gitsindiye"
+-
+-#, fuzzy
+-#~ msgid "Don't use embedded PIC"
+-#~ msgstr "Gukoresha Gitsindiye"
+-
+-#, fuzzy
+-#~ msgid "Use ROM instead of RAM"
+-#~ msgstr "Bya"
+-
+-#, fuzzy
+-#~ msgid "Don't use ROM instead of RAM"
+-#~ msgstr "Gukoresha Bya"
+-
+-#, fuzzy
+-#~ msgid "Put uninitialized constants in ROM (needs -membedded-data)"
+-#~ msgstr "Itatangijwe in Ibyatanzwe"
+-
+-#, fuzzy
+-#~ msgid "Don't put uninitialized constants in ROM"
+-#~ msgstr "Gushyira Itatangijwe in"
+-
+-#, fuzzy
+-#~ msgid "Use big-endian byte order"
+-#~ msgstr "Bayite Itondekanya"
+-
+-#, fuzzy
+-#~ msgid "Use little-endian byte order"
+-#~ msgstr "Bayite Itondekanya"
+-
+-#, fuzzy
+-#~ msgid "Use single (32-bit) FP only"
+-#~ msgstr "UMWE"
+-
+-#, fuzzy
+-#~ msgid "Don't use single (32-bit) FP only"
+-#~ msgstr "Gukoresha UMWE"
+-
+-#, fuzzy
+-#~ msgid "Use multiply accumulate"
+-#~ msgstr "Gukuba"
+-
+-#, fuzzy
+-#~ msgid "Don't use multiply accumulate"
+-#~ msgstr "Gukoresha Gukuba"
+-
+-#, fuzzy
+-#~ msgid "Don't generate fused multiply/add instructions"
+-#~ msgstr "Gukuba Kongeramo Amabwiriza"
+-
+-#, fuzzy
+-#~ msgid "Generate fused multiply/add instructions"
+-#~ msgstr "Gukuba Kongeramo Amabwiriza"
+-
+-#, fuzzy
+-#~ msgid "Don't work around early 4300 hardware bug"
+-#~ msgstr "Akazi"
+-
+-#, fuzzy
+-#~ msgid "Trap on integer divide by zero"
+-#~ msgstr "ku Umubare wuzuye Kugabanya ku Zeru"
+-
+-#, fuzzy
+-#~ msgid "Don't trap on integer divide by zero"
+-#~ msgstr "ku Umubare wuzuye Kugabanya ku Zeru"
+-
+-#, fuzzy
+-#~ msgid "Trap on integer divide overflow"
+-#~ msgstr "ku Umubare wuzuye Kugabanya Byarenze urugero"
+-
+-#, fuzzy
+-#~ msgid "Don't trap on integer divide overflow"
+-#~ msgstr "ku Umubare wuzuye Kugabanya Byarenze urugero"
+-
+-#, fuzzy
+-#~ msgid "Use Branch Likely instructions, overriding default for arch"
+-#~ msgstr "Amabwiriza Mburabuzi kugirango"
+-
+-#, fuzzy
+-#~ msgid "Don't use Branch Likely instructions, overriding default for arch"
+-#~ msgstr "Gukoresha Amabwiriza Mburabuzi kugirango"
+-
+-#, fuzzy
+-#~ msgid "Specify CPU for scheduling purposes"
+-#~ msgstr "kugirango Impamvu"
+-
+-#, fuzzy
+-#~ msgid "Specify CPU for code generation purposes"
+-#~ msgstr "kugirango ITEGEKONGENGA Impamvu"
+-
+-#, fuzzy
+-#~ msgid "Specify a Standard MIPS ISA"
+-#~ msgstr "a"
+-
+-#, fuzzy
+-#~ msgid "Use mips16 entry/exit psuedo ops"
+-#~ msgstr "Icyinjijwe Gusohoka"
+-
+-#, fuzzy
+-#~ msgid "Don't use MIPS16 instructions"
+-#~ msgstr "Gukoresha Amabwiriza"
+-
+-#, fuzzy
+-#~ msgid "Don't call any cache flush functions"
+-#~ msgstr "Ubwihisho Imimaro"
+-
+-#, fuzzy
+-#~ msgid "Specify cache flush function"
+-#~ msgstr "Ubwihisho Umumaro"
+-
+-#, fuzzy
+-#~ msgid "mips16 function profiling"
+-#~ msgstr "Umumaro"
+-
+-#, fuzzy
+-#~ msgid "-f%s not supported: ignored"
+-#~ msgstr "-F OYA"
+-
+-#, fuzzy
+-#~ msgid "too large function value type, needs %d registers, have only %d registers for this"
+-#~ msgstr "Binini Umumaro Agaciro Ubwoko kugirango iyi"
+-
+-#, fuzzy
+-#~ msgid "function_profiler support for MMIX"
+-#~ msgstr "Gushigikira kugirango"
+-
+-#, fuzzy
+-#~ msgid "MMIX Internal: Last named vararg would not fit in a register"
+-#~ msgstr "OYA in a Kwiyandikisha"
+-
+-#, fuzzy
+-#~ msgid "MMIX Internal: Expected a CONST_INT, not this"
+-#~ msgstr "Itegerejwe a OYA iyi"
+-
+-#, fuzzy
+-#~ msgid "MMIX Internal: Bad register: %d"
+-#~ msgstr "Kwiyandikisha"
+-
+-#, fuzzy
+-#~ msgid "MMIX Internal: Bad value for 'm', not a CONST_INT"
+-#~ msgstr "Agaciro kugirango OYA a"
+-
+-#, fuzzy
+-#~ msgid "MMIX Internal: Expected a register, not this"
+-#~ msgstr "Itegerejwe a Kwiyandikisha OYA iyi"
+-
+-#, fuzzy
+-#~ msgid "MMIX Internal: Expected a constant, not this"
+-#~ msgstr "Itegerejwe a OYA iyi"
+-
+-#, fuzzy
+-#~ msgid "MMIX Internal: Missing `%c' case in mmix_print_operand"
+-#~ msgstr "in"
+-
+-#, fuzzy
+-#~ msgid "MMIX Internal: Cannot decode this operand"
+-#~ msgstr "iyi"
+-
+-#, fuzzy
+-#~ msgid "MMIX Internal: This is not a recognized address"
+-#~ msgstr "ni OYA a Aderesi"
+-
+-#, fuzzy
+-#~ msgid "stack frame not a multiple of 8 bytes: %d"
+-#~ msgstr "Ikadiri OYA a Igikubo Bya 8 Bayite"
+-
+-#, fuzzy
+-#~ msgid "stack frame not a multiple of octabyte: %d"
+-#~ msgstr "Ikadiri OYA a Igikubo Bya"
+-
+-#, fuzzy
+-#~ msgid "MMIX Internal: %s is not a shiftable int"
+-#~ msgstr "ni OYA a INT"
+-
+-#, fuzzy
+-#~ msgid "MMIX Internal: Trying to output invalidly reversed condition:"
+-#~ msgstr "Kuri Ibisohoka Bicuritswe Ibisabwa"
+-
+-#, fuzzy
+-#~ msgid "MMIX Internal: What's the CC of this?"
+-#~ msgstr "i Bya iyi"
+-
+-#, fuzzy
+-#~ msgid "MMIX Internal: What is the CC of this?"
+-#~ msgstr "ni i Bya iyi"
+-
+-#, fuzzy
+-#~ msgid "MMIX Internal: This is not a constant:"
+-#~ msgstr "ni OYA a"
+-
+-#, fuzzy
+-#~ msgid "Set start-address of the program"
+-#~ msgstr "Gutangira Aderesi Bya i Porogaramu"
+-
+-#, fuzzy
+-#~ msgid "Set start-address of data"
+-#~ msgstr "Gutangira Aderesi Bya Ibyatanzwe"
+-
+-#, fuzzy
+-#~ msgid "For intrinsics library: pass all parameters in registers"
+-#~ msgstr "Isomero Byose Ibigenga in"
+-
+-#, fuzzy
+-#~ msgid "Use register stack for parameters and return value"
+-#~ msgstr "Kwiyandikisha kugirango Ibigenga Na Garuka Agaciro"
+-
+-#, fuzzy
+-#~ msgid "Use call-clobbered registers for parameters and return value"
+-#~ msgstr "kugirango Ibigenga Na Garuka Agaciro"
+-
+-#, fuzzy
+-#~ msgid "Use epsilon-respecting floating point compare instructions"
+-#~ msgstr "ebusiloni Bihindagurika Akadomo Kugereranya# Amabwiriza"
+-
+-#, fuzzy
+-#~ msgid "Use zero-extending memory loads, not sign-extending ones"
+-#~ msgstr "Zeru Ububiko OYA IKIMENYETSO"
+-
+-#, fuzzy
+-#~ msgid "Generate divide results with reminder having the same sign as the divisor (not the dividend)"
+-#~ msgstr "Kugabanya Ibisubizo ku Na: Mwibutsa i IKIMENYETSO Nka i Ikigabanya OYA i Ikigabanywa"
+-
+-#, fuzzy
+-#~ msgid "Prepend global symbols with \":\" (for use with PREFIX)"
+-#~ msgstr "Ibimenyetso Na: kugirango Gukoresha Na:"
+-
+-#, fuzzy
+-#~ msgid "Do not provide a default start-address 0x100 of the program"
+-#~ msgstr "OYA a Mburabuzi Gutangira Aderesi Bya i Porogaramu"
+-
+-#, fuzzy
+-#~ msgid "Link to emit program in ELF format (rather than mmo)"
+-#~ msgstr "Kuri Porogaramu in Imiterere"
+-
+-#, fuzzy
+-#~ msgid "Use P-mnemonics for branches statically predicted as taken"
+-#~ msgstr "kugirango Nka"
+-
+-#, fuzzy
+-#~ msgid "Don't use P-mnemonics for branches"
+-#~ msgstr "Gukoresha kugirango"
+-
+-#, fuzzy
+-#~ msgid "Use addresses that allocate global registers"
+-#~ msgstr "Amaderesi"
+-
+-#, fuzzy
+-#~ msgid "Do not use addresses that allocate global registers"
+-#~ msgstr "OYA Gukoresha Amaderesi"
+-
+-#, fuzzy
+-#~ msgid "Generate a single exit point for each function"
+-#~ msgstr "a UMWE Gusohoka Akadomo kugirango Umumaro"
+-
+-#, fuzzy
+-#~ msgid "Do not generate a single exit point for each function"
+-#~ msgstr "OYA a UMWE Gusohoka Akadomo kugirango Umumaro"
+-
+-#, fuzzy
+-#~ msgid "Work around hardware multiply bug"
+-#~ msgstr "Gukuba"
+-
+-#, fuzzy
+-#~ msgid "Do not work around hardware multiply bug"
+-#~ msgstr "OYA Akazi Gukuba"
+-
+-#, fuzzy
+-#~ msgid "Target the AM33 processor"
+-#~ msgstr "i"
+-
+-#, fuzzy
+-#~ msgid "Don't use hardware fp"
+-#~ msgstr "Gukoresha"
+-
+-#, fuzzy
+-#~ msgid "Pass some arguments in registers"
+-#~ msgstr "ingingo in"
+-
+-#, fuzzy
+-#~ msgid "Pass all arguments on stack"
+-#~ msgstr "Byose ingingo ku"
+-
+-#, fuzzy
+-#~ msgid "Optimize for 32532 cpu"
+-#~ msgstr "kugirango CPU"
+-
+-#, fuzzy
+-#~ msgid "Optimize for 32332 cpu"
+-#~ msgstr "kugirango CPU"
+-
+-#, fuzzy
+-#~ msgid "Optimize for 32032"
+-#~ msgstr "kugirango"
+-
+-#, fuzzy
+-#~ msgid "Register sb is zero. Use for absolute addressing"
+-#~ msgstr "ni Zeru kugirango Kwohereza"
+-
+-#, fuzzy
+-#~ msgid "Do not use register sb"
+-#~ msgstr "OYA Gukoresha Kwiyandikisha"
+-
+-#, fuzzy
+-#~ msgid "Use bit-field instructions"
+-#~ msgstr "Umwanya Amabwiriza"
+-
+-#, fuzzy
+-#~ msgid "Do not use bit-field instructions"
+-#~ msgstr "OYA Gukoresha Umwanya Amabwiriza"
+-
+-#, fuzzy
+-#~ msgid "Generate code for high memory"
+-#~ msgstr "ITEGEKONGENGA kugirango kirekire Ububiko"
+-
+-#, fuzzy
+-#~ msgid "Generate code for low memory"
+-#~ msgstr "ITEGEKONGENGA kugirango Byo hasi Ububiko"
+-
+-#, fuzzy
+-#~ msgid "Use multiply-accumulate fp instructions"
+-#~ msgstr "Gukuba Amabwiriza"
+-
+-#, fuzzy
+-#~ msgid "Do not use multiply-accumulate fp instructions"
+-#~ msgstr "OYA Gukoresha Gukuba Amabwiriza"
+-
+-#, fuzzy
+-#~ msgid "\"Small register classes\" kludge"
+-#~ msgstr "\"Kwiyandikisha Inzego"
+-
+-#, fuzzy
+-#~ msgid "No \"Small register classes\" kludge"
+-#~ msgstr "Kwiyandikisha Inzego"
+-
+-#, fuzzy
+-#~ msgid ""
+-#~ "unknown -mschedule= option (%s).\n"
+-#~ "Valid options are 700, 7100, 7100LC, 7200, 7300, and 8000\n"
+-#~ msgstr "Kitazwi Ihitamo Amahitamo Na"
+-
+-#, fuzzy
+-#~ msgid ""
+-#~ "unknown -march= option (%s).\n"
+-#~ "Valid options are 1.0, 1.1, and 2.0\n"
+-#~ msgstr "01. 1na2."
+-
+-#, fuzzy
+-#~ msgid "PIC code generation is not supported in the portable runtime model\n"
+-#~ msgstr "ITEGEKONGENGA ni OYA in i"
+-
+-#, fuzzy
+-#~ msgid "PIC code generation is not compatible with fast indirect calls\n"
+-#~ msgstr "ITEGEKONGENGA ni OYA Na: Byihuta BUZIGUYE"
+-
+-#, fuzzy
+-#~ msgid "-g is only supported when using GAS on this processor,"
+-#~ msgstr "-g ni Ryari: ikoresha ku iyi"
+-
+-#, fuzzy
+-#~ msgid "-g option disabled"
+-#~ msgstr "-g Ihitamo Yahagaritswe"
+-
+-#, fuzzy
+-#~ msgid "Generate cpp defines for server IO"
+-#~ msgstr "kugirango Seriveri"
+-
+-#, fuzzy
+-#~ msgid "Generate cpp defines for workstation IO"
+-#~ msgstr "kugirango"
+-
+-#, fuzzy
+-#~ msgid "Generate PA1.1 code"
+-#~ msgstr "1. ITEGEKONGENGA"
+-
+-#, fuzzy
+-#~ msgid "Generate PA1.0 code"
+-#~ msgstr "0 ITEGEKONGENGA"
+-
+-#, fuzzy
+-#~ msgid "Generate PA2.0 code (requires binutils 2.10 or later)"
+-#~ msgstr "0 ITEGEKONGENGA 2. 10 Cyangwa"
+-
+-#, fuzzy
+-#~ msgid "Do not disable FP regs"
+-#~ msgstr "OYA"
+-
+-#, fuzzy
+-#~ msgid "Disable space regs"
+-#~ msgstr "Umwanya"
+-
+-#, fuzzy
+-#~ msgid "Do not disable space regs"
+-#~ msgstr "OYA Umwanya"
+-
+-#, fuzzy
+-#~ msgid "Put jumps in call delay slots"
+-#~ msgstr "in Gutinda Siloti"
+-
+-#, fuzzy
+-#~ msgid "Do not put jumps in call delay slots"
+-#~ msgstr "OYA Gushyira in Gutinda Siloti"
+-
+-#, fuzzy
+-#~ msgid "Disable indexed addressing"
+-#~ msgstr "Kwohereza"
+-
+-#, fuzzy
+-#~ msgid "Do not disable indexed addressing"
+-#~ msgstr "OYA Kwohereza"
+-
+-#, fuzzy
+-#~ msgid "Do not use portable calling conventions"
+-#~ msgstr "OYA Gukoresha"
+-
+-#, fuzzy
+-#~ msgid "Assume code will be assembled by GAS"
+-#~ msgstr "ITEGEKONGENGA ku"
+-
+-#, fuzzy
+-#~ msgid "Do not assume code will be assembled by GAS"
+-#~ msgstr "OYA ITEGEKONGENGA ku"
+-
+-#, fuzzy
+-#~ msgid "Do not use software floating point"
+-#~ msgstr "OYA Gukoresha Bihindagurika Akadomo"
+-
+-#, fuzzy
+-#~ msgid "Emit long load/store sequences"
+-#~ msgstr "Ibirimo"
+-
+-#, fuzzy
+-#~ msgid "Do not emit long load/store sequences"
+-#~ msgstr "OYA Ibirimo"
+-
+-#, fuzzy
+-#~ msgid "Generate fast indirect calls"
+-#~ msgstr "Byihuta BUZIGUYE Amahamagara:"
+-
+-#, fuzzy
+-#~ msgid "Do not generate fast indirect calls"
+-#~ msgstr "OYA Byihuta BUZIGUYE Amahamagara:"
+-
+-#, fuzzy
+-#~ msgid "Generate code for huge switch statements"
+-#~ msgstr "ITEGEKONGENGA kugirango Hindura"
+-
+-#, fuzzy
+-#~ msgid "Do not generate code for huge switch statements"
+-#~ msgstr "OYA ITEGEKONGENGA kugirango Hindura"
+-
+-#, fuzzy
+-#~ msgid "Always generate long calls"
+-#~ msgstr "Amahamagara:"
+-
+-#, fuzzy
+-#~ msgid "Generate long calls only when needed"
+-#~ msgstr "Amahamagara: Ryari:"
+-
+-#, fuzzy
+-#~ msgid "Specify architecture for code generation. Values are 1.0, 1.1, and 2.0. 2.0 requires gas snapshot 19990413 or later."
+-#~ msgstr "01. 1na2. 0. 2.."
+-
+-#, fuzzy
+-#~ msgid "Assume code will be linked by GNU ld"
+-#~ msgstr "ITEGEKONGENGA ku"
+-
+-#, fuzzy
+-#~ msgid "Assume code will be linked by HP ld"
+-#~ msgstr "ITEGEKONGENGA ku"
+-
+-#, fuzzy
+-#~ msgid "Do not use hardware floating point"
+-#~ msgstr "OYA Gukoresha Bihindagurika Akadomo"
+-
+-#, fuzzy
+-#~ msgid "Return floating point results in ac0"
+-#~ msgstr "Bihindagurika Akadomo Ibisubizo ku in"
+-
+-#, fuzzy
+-#~ msgid "Return floating point results in memory"
+-#~ msgstr "Bihindagurika Akadomo Ibisubizo ku in Ububiko"
+-
+-#, fuzzy
+-#~ msgid "Generate code for an 11/40"
+-#~ msgstr "ITEGEKONGENGA kugirango"
+-
+-#, fuzzy
+-#~ msgid "Generate code for an 11/45"
+-#~ msgstr "ITEGEKONGENGA kugirango"
+-
+-#, fuzzy
+-#~ msgid "Generate code for an 11/10"
+-#~ msgstr "ITEGEKONGENGA kugirango 10"
+-
+-#, fuzzy
+-#~ msgid "Use 32 bit int"
+-#~ msgstr "INT"
+-
+-#, fuzzy
+-#~ msgid "Use 16 bit int"
+-#~ msgstr "INT"
+-
+-#, fuzzy
+-#~ msgid "Use 32 bit float"
+-#~ msgstr "Kureremba"
+-
+-#, fuzzy
+-#~ msgid "Use 64 bit float"
+-#~ msgstr "Kureremba"
+-
+-#, fuzzy
+-#~ msgid "Target has split I&D"
+-#~ msgstr "Gutandukanya"
+-
+-#, fuzzy
+-#~ msgid "Target does not have split I&D"
+-#~ msgstr "OYA Gutandukanya"
+-
+-# sc/source\ui\src\globstr.src:RID_GLOBSTR.STR_VALID_DEFERROR.text
+-#, fuzzy
+-#~ msgid "invalid %%S value"
+-#~ msgstr "Agaciro siko"
+-
+-# sc/source\ui\src\globstr.src:RID_GLOBSTR.STR_VALID_DEFERROR.text
+-#, fuzzy
+-#~ msgid "invalid %%b value"
+-#~ msgstr "Agaciro siko"
+-
+-# sc/source\ui\src\globstr.src:RID_GLOBSTR.STR_VALID_DEFERROR.text
+-#, fuzzy
+-#~ msgid "invalid %%z value"
+-#~ msgstr "Agaciro siko"
+-
+-# sc/source\ui\src\globstr.src:RID_GLOBSTR.STR_VALID_DEFERROR.text
+-#, fuzzy
+-#~ msgid "invalid %%Z value"
+-#~ msgstr "Agaciro siko"
+-
+-# sc/source\ui\src\globstr.src:RID_GLOBSTR.STR_VALID_DEFERROR.text
+-#, fuzzy
+-#~ msgid "invalid %%k value"
+-#~ msgstr "Agaciro siko"
+-
+-# sc/source\ui\src\globstr.src:RID_GLOBSTR.STR_VALID_DEFERROR.text
+-#, fuzzy
+-#~ msgid "invalid %%j value"
+-#~ msgstr "Agaciro siko"
+-
+-#, fuzzy
+-#~ msgid "can't have varargs with -mfp-arg-in-fp-regs"
+-#~ msgstr "Na: in"
+-
+-#, fuzzy
+-#~ msgid "missing open paren"
+-#~ msgstr "Ibuze Gufungura"
+-
+-#, fuzzy
+-#~ msgid "missing number"
+-#~ msgstr "Ibuze Umubare"
+-
+-#, fuzzy
+-#~ msgid "missing close paren"
+-#~ msgstr "Ibuze Gufunga"
+-
+-#, fuzzy
+-#~ msgid "number must be 0 or 1"
+-#~ msgstr "Umubare 0 Cyangwa 1."
+-
+-#, fuzzy
+-#~ msgid "junk at end of #pragma longcall"
+-#~ msgstr "Umwanda ku Impera Bya"
+-
+-#, fuzzy
+-#~ msgid "-mmultiple is not supported on little endian systems"
+-#~ msgstr "-ni OYA ku"
+-
+-#, fuzzy
+-#~ msgid "-mstring is not supported on little endian systems"
+-#~ msgstr "-ni OYA ku"
+-
+-#, fuzzy
+-#~ msgid "unknown -mdebug-%s switch"
+-#~ msgstr "Kitazwi Hindura"
+-
+-#, fuzzy
+-#~ msgid "unknown -mtraceback arg `%s'; expecting `full', `partial' or `none'"
+-#~ msgstr "Kitazwi Cyangwa"
+-
+-#, fuzzy
+-#~ msgid "Unknown switch -mlong-double-%s"
+-#~ msgstr "Hindura MAHARAKUBIRI"
+-
+-#, fuzzy
+-#~ msgid "unknown -misel= option specified: '%s'"
+-#~ msgstr "Kitazwi Ihitamo"
+-
+-#, fuzzy
+-#~ msgid "unknown -mvrsave= option specified: '%s'"
+-#~ msgstr "Kitazwi Ihitamo"
+-
+-#, fuzzy
+-#~ msgid "unknown ABI specified: '%s'"
+-#~ msgstr "Kitazwi"
+-
+-#, fuzzy
+-#~ msgid "argument 1 must be a 5-bit signed literal"
+-#~ msgstr "1. a 5"
+-
+-#, fuzzy
+-#~ msgid "argument 2 must be a 5-bit unsigned literal"
+-#~ msgstr "2. a 5 Bitashizweho umukono"
+-
+-#, fuzzy
+-#~ msgid "argument 1 of __builtin_altivec_predicate must be a constant"
+-#~ msgstr "1. Bya a"
+-
+-#, fuzzy
+-#~ msgid "argument 1 of __builtin_altivec_predicate is out of range"
+-#~ msgstr "1. Bya ni Inyuma Bya Urutonde"
+-
+-#, fuzzy
+-#~ msgid "argument 3 must be a 4-bit unsigned literal"
+-#~ msgstr "3. a 4. Bitashizweho umukono"
+-
+-#, fuzzy
+-#~ msgid "argument to `%s' must be a 2-bit unsigned literal"
+-#~ msgstr "Kuri a 2. Bitashizweho umukono"
+-
+-#, fuzzy
+-#~ msgid "argument to dss must be a 2-bit unsigned literal"
+-#~ msgstr "Kuri a 2. Bitashizweho umukono"
+-
+-#, fuzzy
+-#~ msgid "argument 1 of __builtin_spe_predicate must be a constant"
+-#~ msgstr "1. Bya a"
+-
+-#, fuzzy
+-#~ msgid "argument 1 of __builtin_spe_predicate is out of range"
+-#~ msgstr "1. Bya ni Inyuma Bya Urutonde"
+-
+-# sc/source\ui\src\globstr.src:RID_GLOBSTR.STR_VALID_DEFERROR.text
+-#, fuzzy
+-#~ msgid "invalid %%f value"
+-#~ msgstr "Agaciro siko"
+-
+-# sc/source\ui\src\globstr.src:RID_GLOBSTR.STR_VALID_DEFERROR.text
+-#, fuzzy
+-#~ msgid "invalid %%F value"
+-#~ msgstr "Agaciro siko"
+-
+-# sc/source\ui\src\globstr.src:RID_GLOBSTR.STR_VALID_DEFERROR.text
+-#, fuzzy
+-#~ msgid "invalid %%G value"
+-#~ msgstr "Agaciro siko"
+-
+-#, fuzzy
+-#~ msgid "invalid %%j code"
+-#~ msgstr "Sibyo ITEGEKONGENGA"
+-
+-#, fuzzy
+-#~ msgid "invalid %%J code"
+-#~ msgstr "Sibyo ITEGEKONGENGA"
+-
+-# sc/source\ui\src\globstr.src:RID_GLOBSTR.STR_VALID_DEFERROR.text
+-#, fuzzy
+-#~ msgid "invalid %%K value"
+-#~ msgstr "Agaciro siko"
+-
+-# sc/source\ui\src\globstr.src:RID_GLOBSTR.STR_VALID_DEFERROR.text
+-#, fuzzy
+-#~ msgid "invalid %%O value"
+-#~ msgstr "Agaciro siko"
+-
+-# sc/source\ui\src\globstr.src:RID_GLOBSTR.STR_VALID_DEFERROR.text
+-#, fuzzy
+-#~ msgid "invalid %%T value"
+-#~ msgstr "Agaciro siko"
+-
+-# sc/source\ui\src\globstr.src:RID_GLOBSTR.STR_VALID_DEFERROR.text
+-#, fuzzy
+-#~ msgid "invalid %%u value"
+-#~ msgstr "Agaciro siko"
+-
+-# sc/source\ui\src\globstr.src:RID_GLOBSTR.STR_VALID_DEFERROR.text
+-#, fuzzy
+-#~ msgid "invalid %%v value"
+-#~ msgstr "Agaciro siko"
+-
+-#, fuzzy
+-#~ msgid "no profiling of 64-bit code for this ABI"
+-#~ msgstr "Oya Bya ITEGEKONGENGA kugirango iyi"
+-
+-#, fuzzy
+-#~ msgid "Always pass floating-point arguments in memory"
+-#~ msgstr "Bihindagurika Akadomo ingingo in Ububiko"
+-
+-#, fuzzy
+-#~ msgid "Don't always pass floating-point arguments in memory"
+-#~ msgstr "Buri gihe Bihindagurika Akadomo ingingo in Ububiko"
+-
+-#, fuzzy
+-#~ msgid "Support message passing with the Parallel Environment"
+-#~ msgstr "Ubutumwa Na: i"
+-
+-#, fuzzy
+-#~ msgid "Compile for 64-bit pointers"
+-#~ msgstr "kugirango"
+-
+-#, fuzzy
+-#~ msgid "Compile for 32-bit pointers"
+-#~ msgstr "kugirango"
+-
+-#, fuzzy
+-#~ msgid "-maix64 and POWER architecture are incompatible"
+-#~ msgstr "-Na"
+-
+-#, fuzzy
+-#~ msgid "-maix64 requires PowerPC64 architecture remain enabled"
+-#~ msgstr "-Bikora"
+-
+-#, fuzzy
+-#~ msgid "-maix64 required: 64-bit computation with 32-bit addressing not yet supported"
+-#~ msgstr "-Bya ngombwa Na: Kwohereza OYA"
+-
+-#, fuzzy
+-#~ msgid "Use POWER instruction set"
+-#~ msgstr "Gushyiraho"
+-
+-#, fuzzy
+-#~ msgid "Use POWER2 instruction set"
+-#~ msgstr "Gushyiraho"
+-
+-#, fuzzy
+-#~ msgid "Do not use POWER2 instruction set"
+-#~ msgstr "OYA Gukoresha Gushyiraho"
+-
+-#, fuzzy
+-#~ msgid "Do not use POWER instruction set"
+-#~ msgstr "OYA Gukoresha Gushyiraho"
+-
+-#, fuzzy
+-#~ msgid "Use PowerPC instruction set"
+-#~ msgstr "Gushyiraho"
+-
+-#, fuzzy
+-#~ msgid "Do not use PowerPC instruction set"
+-#~ msgstr "OYA Gukoresha Gushyiraho"
+-
+-#, fuzzy
+-#~ msgid "Use PowerPC General Purpose group optional instructions"
+-#~ msgstr "Itsinda Bitari ngombwa Amabwiriza"
+-
+-#, fuzzy
+-#~ msgid "Don't use PowerPC General Purpose group optional instructions"
+-#~ msgstr "Gukoresha Itsinda Bitari ngombwa Amabwiriza"
+-
+-#, fuzzy
+-#~ msgid "Use PowerPC Graphics group optional instructions"
+-#~ msgstr "Itsinda Bitari ngombwa Amabwiriza"
+-
+-#, fuzzy
+-#~ msgid "Don't use PowerPC Graphics group optional instructions"
+-#~ msgstr "Gukoresha Itsinda Bitari ngombwa Amabwiriza"
+-
+-#, fuzzy
+-#~ msgid "Use PowerPC-64 instruction set"
+-#~ msgstr "Gushyiraho"
+-
+-#, fuzzy
+-#~ msgid "Don't use PowerPC-64 instruction set"
+-#~ msgstr "Gukoresha Gushyiraho"
+-
+-#, fuzzy
+-#~ msgid "Use AltiVec instructions"
+-#~ msgstr "Amabwiriza"
+-
+-#, fuzzy
+-#~ msgid "Don't use AltiVec instructions"
+-#~ msgstr "Gukoresha Amabwiriza"
+-
+-#, fuzzy
+-#~ msgid "Use new mnemonics for PowerPC architecture"
+-#~ msgstr "Gishya kugirango"
+-
+-#, fuzzy
+-#~ msgid "Use old mnemonics for PowerPC architecture"
+-#~ msgstr "ki/ bishaje kugirango"
+-
+-#, fuzzy
+-#~ msgid "Put everything in the regular TOC"
+-#~ msgstr "in i Ibisanzwe"
+-
+-#, fuzzy
+-#~ msgid "Place floating point constants in TOC"
+-#~ msgstr "Bihindagurika Akadomo in"
+-
+-#, fuzzy
+-#~ msgid "Don't place floating point constants in TOC"
+-#~ msgstr "Bihindagurika Akadomo in"
+-
+-#, fuzzy
+-#~ msgid "Place symbol+offset constants in TOC"
+-#~ msgstr "IKIMENYETSO Nta- boneza in"
+-
+-#, fuzzy
+-#~ msgid "Don't place symbol+offset constants in TOC"
+-#~ msgstr "IKIMENYETSO Nta- boneza in"
+-
+-#, fuzzy
+-#~ msgid "Place variable addresses in the regular TOC"
+-#~ msgstr "IMPINDURAGACIRO Amaderesi in i Ibisanzwe"
+-
+-#, fuzzy
+-#~ msgid "Generate load/store multiple instructions"
+-#~ msgstr "Ibirimo Igikubo Amabwiriza"
+-
+-#, fuzzy
+-#~ msgid "Do not generate load/store multiple instructions"
+-#~ msgstr "OYA Ibirimo Igikubo Amabwiriza"
+-
+-#, fuzzy
+-#~ msgid "Generate string instructions for block moves"
+-#~ msgstr "Ikurikiranyanyuguti Amabwiriza kugirango Funga"
+-
+-#, fuzzy
+-#~ msgid "Do not generate string instructions for block moves"
+-#~ msgstr "OYA Ikurikiranyanyuguti Amabwiriza kugirango Funga"
+-
+-#, fuzzy
+-#~ msgid "Generate load/store with update instructions"
+-#~ msgstr "Ibirimo Na: Kuvugurura Amabwiriza"
+-
+-#, fuzzy
+-#~ msgid "Do not generate load/store with update instructions"
+-#~ msgstr "OYA Ibirimo Na: Kuvugurura Amabwiriza"
+-
+-#, fuzzy
+-#~ msgid "Don't schedule the start and end of the procedure"
+-#~ msgstr "Igenabihe i Gutangira Na Impera Bya i"
+-
+-#, fuzzy
+-#~ msgid "Return all structures in memory (AIX default)"
+-#~ msgstr "Byose in Ububiko Mburabuzi"
+-
+-#, fuzzy
+-#~ msgid "Return small structures in registers (SVR4 default)"
+-#~ msgstr "Gitoya in Mburabuzi"
+-
+-#, fuzzy
+-#~ msgid "Use features of and schedule code for given CPU"
+-#~ msgstr "Ibiranga Bya Na Igenabihe ITEGEKONGENGA kugirango"
+-
+-#, fuzzy
+-#~ msgid "Enable debug output"
+-#~ msgstr "Kosora amakosa Ibisohoka"
+-
+-#, fuzzy
+-#~ msgid "Select full, part, or no traceback table"
+-#~ msgstr "Cyangwa Oya imbonerahamwe#"
+-
+-#, fuzzy
+-#~ msgid "Specify ABI to use"
+-#~ msgstr "Kuri Gukoresha"
+-
+-#, fuzzy
+-#~ msgid "Specify size of long double (64 or 128 bits)"
+-#~ msgstr "Ingano Bya MAHARAKUBIRI Cyangwa"
+-
+-#, fuzzy
+-#~ msgid "Specify yes/no if isel instructions should be generated"
+-#~ msgstr "Yego Oya NIBA Amabwiriza"
+-
+-#, fuzzy
+-#~ msgid "Specify yes/no if VRSAVE instructions should be generated for AltiVec"
+-#~ msgstr "Yego Oya NIBA Amabwiriza kugirango"
+-
+-#, fuzzy
+-#~ msgid "Avoid all range limits on call instructions"
+-#~ msgstr "Byose Urutonde Imbibi ku Amabwiriza"
+-
+-#, fuzzy
+-#~ msgid "RETURN_ADDRESS_OFFSET not supported"
+-#~ msgstr "OYA"
+-
+-#, fuzzy
+-#~ msgid "Select method for sdata handling"
+-#~ msgstr "Uburyo kugirango"
+-
+-#, fuzzy
+-#~ msgid "Align to the base type of the bit-field"
+-#~ msgstr "Kuri i SHINGIRO Ubwoko Bya i Umwanya"
+-
+-#, fuzzy
+-#~ msgid "Don't align to the base type of the bit-field"
+-#~ msgstr "Gutondeka Kuri i SHINGIRO Ubwoko Bya i Umwanya"
+-
+-#, fuzzy
+-#~ msgid "Don't assume that unaligned accesses are handled by the system"
+-#~ msgstr "ku i Sisitemu"
+-
+-#, fuzzy
+-#~ msgid "Assume that unaligned accesses are handled by the system"
+-#~ msgstr "ku i Sisitemu"
+-
+-#, fuzzy
+-#~ msgid "Produce code relocatable at runtime"
+-#~ msgstr "ITEGEKONGENGA ku"
+-
+-#, fuzzy
+-#~ msgid "Don't produce code relocatable at runtime"
+-#~ msgstr "ITEGEKONGENGA ku"
+-
+-#, fuzzy
+-#~ msgid "Produce little endian code"
+-#~ msgstr "ITEGEKONGENGA"
+-
+-#, fuzzy
+-#~ msgid "Produce big endian code"
+-#~ msgstr "ITEGEKONGENGA"
+-
+-#, fuzzy
+-#~ msgid "no description yet"
+-#~ msgstr "Oya Isobanuramiterere"
+-
+-#, fuzzy
+-#~ msgid "Don't use EABI"
+-#~ msgstr "Gukoresha"
+-
+-#, fuzzy
+-#~ msgid "Do not allow bit-fields to cross word boundaries"
+-#~ msgstr "OYA Kwemerera Imyanya Kuri Kwambukiranya ijambo"
+-
+-#, fuzzy
+-#~ msgid "Use alternate register names"
+-#~ msgstr "Kwiyandikisha Amazina"
+-
+-#, fuzzy
+-#~ msgid "Don't use alternate register names"
+-#~ msgstr "Gukoresha Kwiyandikisha Amazina"
+-
+-#, fuzzy
+-#~ msgid "Link with libsim.a, libc.a and sim-crt0.o"
+-#~ msgstr "Na: a a Na o"
+-
+-#, fuzzy
+-#~ msgid "Link with libads.a, libc.a and crt0.o"
+-#~ msgstr "Na: a a Na o"
+-
+-#, fuzzy
+-#~ msgid "Link with libyk.a, libc.a and crt0.o"
+-#~ msgstr "Na: a a Na o"
+-
+-#, fuzzy
+-#~ msgid "Link with libmvme.a, libc.a and crt0.o"
+-#~ msgstr "Na: a a Na o"
+-
+-#, fuzzy
+-#~ msgid "Set the PPC_EMB bit in the ELF flags header"
+-#~ msgstr "i in i Amabendera Umutwempangano"
+-
+-#, fuzzy
+-#~ msgid "Use the WindISS simulator"
+-#~ msgstr "i"
+-
+-#, fuzzy
+-#~ msgid "bad value for -mcall-%s"
+-#~ msgstr "Agaciro kugirango"
+-
+-#, fuzzy
+-#~ msgid "bad value for -msdata=%s"
+-#~ msgstr "Agaciro kugirango"
+-
+-#, fuzzy
+-#~ msgid "-mrelocatable and -msdata=%s are incompatible"
+-#~ msgstr "-Na"
+-
+-#, fuzzy
+-#~ msgid "-f%s and -msdata=%s are incompatible"
+-#~ msgstr "-F Na"
+-
+-#, fuzzy
+-#~ msgid "-msdata=%s and -mcall-%s are incompatible"
+-#~ msgstr "-Na"
+-
+-#, fuzzy
+-#~ msgid "-mrelocatable and -mno-minimal-toc are incompatible"
+-#~ msgstr "-Na"
+-
+-#, fuzzy
+-#~ msgid "-mrelocatable and -mcall-%s are incompatible"
+-#~ msgstr "-Na"
+-
+-#, fuzzy
+-#~ msgid "-fPIC and -mcall-%s are incompatible"
+-#~ msgstr "-Na"
+-
+-#, fuzzy
+-#~ msgid "invalid UNSPEC as operand (1)"
+-#~ msgstr "Sibyo Nka 1."
+-
+-#, fuzzy
+-#~ msgid "invalid UNSPEC as operand (2)"
+-#~ msgstr "Sibyo Nka 2."
+-
+-#, fuzzy
+-#~ msgid "UNKNOWN in s390_output_symbolic_const !?"
+-#~ msgstr "in"
+-
+-#, fuzzy
+-#~ msgid "Cannot decompose address."
+-#~ msgstr "Aderesi"
+-
+-#, fuzzy
+-#~ msgid "UNKNOWN in print_operand !?"
+-#~ msgstr "in"
+-
+-#, fuzzy
+-#~ msgid "Total size of local variables exceeds architecture limit."
+-#~ msgstr "Ingano Bya Ibihinduka"
+-
+-#, fuzzy
+-#~ msgid "Don't set backchain (faster, but debug harder"
+-#~ msgstr "Gushyiraho Kosora amakosa"
+-
+-#, fuzzy
+-#~ msgid "Use bras for executable < 64k"
+-#~ msgstr "kugirango"
+-
+-#, fuzzy
+-#~ msgid "Don't use bras"
+-#~ msgstr "Gukoresha"
+-
+-#, fuzzy
+-#~ msgid "Additional debug prints"
+-#~ msgstr "Kosora amakosa"
+-
+-#, fuzzy
+-#~ msgid "Don't print additional debug prints"
+-#~ msgstr "Gucapa Kosora amakosa"
+-
+-#, fuzzy
+-#~ msgid "64 bit mode"
+-#~ msgstr "Ubwoko"
+-
+-#, fuzzy
+-#~ msgid "31 bit mode"
+-#~ msgstr "Ubwoko"
+-
+-#, fuzzy
+-#~ msgid "mvcle use"
+-#~ msgstr "Gukoresha"
+-
+-#, fuzzy
+-#~ msgid "__builtin_saveregs not supported by this subtarget"
+-#~ msgstr "_OYA ku iyi"
+-
+-#, fuzzy
+-#~ msgid "attribute interrupt_handler is not compatible with -m5-compact"
+-#~ msgstr "Ikiranga ni OYA Na:"
+-
+-#, fuzzy
+-#~ msgid "`%s' attribute only applies to interrupt functions"
+-#~ msgstr "`%s'Ikiranga Kuri Hagarikira aho Imimaro"
+-
+-#, fuzzy
+-#~ msgid "`%s' attribute argument not a string constant"
+-#~ msgstr "`%s'Ikiranga OYA a Ikurikiranyanyuguti"
+-
+-#, fuzzy
+-#~ msgid "`%s' attribute argument not an integer constant"
+-#~ msgstr "`%s'Ikiranga OYA Umubare wuzuye"
+-
+-#, fuzzy
+-#~ msgid "Profiling is not supported on this target."
+-#~ msgstr "ni OYA ku iyi Intego"
+-
+-#, fuzzy
+-#~ msgid "%s is not supported by this configuration"
+-#~ msgstr "%sni OYA ku iyi Iboneza"
+-
+-#, fuzzy
+-#~ msgid "-mlong-double-64 not allowed with -m64"
+-#~ msgstr "-MAHARAKUBIRI OYA Na:"
+-
+-#, fuzzy
+-#~ msgid "-mcmodel= is not supported on 32 bit systems"
+-#~ msgstr "-ni OYA ku"
+-
+-#, fuzzy
+-#~ msgid "invalid %%Y operand"
+-#~ msgstr "Sibyo"
+-
+-#, fuzzy
+-#~ msgid "invalid %%A operand"
+-#~ msgstr "Sibyo"
+-
+-#, fuzzy
+-#~ msgid "invalid %%B operand"
+-#~ msgstr "Sibyo"
+-
+-#, fuzzy
+-#~ msgid "invalid %%c operand"
+-#~ msgstr "Sibyo"
+-
+-#, fuzzy
+-#~ msgid "invalid %%C operand"
+-#~ msgstr "Sibyo"
+-
+-#, fuzzy
+-#~ msgid "invalid %%d operand"
+-#~ msgstr "Sibyo"
+-
+-#, fuzzy
+-#~ msgid "invalid %%D operand"
+-#~ msgstr "Sibyo"
+-
+-#, fuzzy
+-#~ msgid "invalid %%f operand"
+-#~ msgstr "Sibyo"
+-
+-#, fuzzy
+-#~ msgid "invalid %%s operand"
+-#~ msgstr "Sibyo"
+-
+-#, fuzzy
+-#~ msgid "long long constant not a valid immediate operand"
+-#~ msgstr "OYA a Byemewe"
+-
+-#, fuzzy
+-#~ msgid "floating point constant not a valid immediate operand"
+-#~ msgstr "Bihindagurika Akadomo OYA a Byemewe"
+-
+-#, fuzzy
+-#~ msgid "Generate code for big endian"
+-#~ msgstr "ITEGEKONGENGA kugirango"
+-
+-#, fuzzy
+-#~ msgid "Generate code for little endian"
+-#~ msgstr "ITEGEKONGENGA kugirango"
+-
+-#, fuzzy
+-#~ msgid "Use little-endian byte order for data"
+-#~ msgstr "Bayite Itondekanya kugirango Ibyatanzwe"
+-
+-#, fuzzy
+-#~ msgid "Assume possible double misalignment"
+-#~ msgstr "MAHARAKUBIRI"
+-
+-#, fuzzy
+-#~ msgid "Assume all doubles are aligned"
+-#~ msgstr "Byose"
+-
+-#, fuzzy
+-#~ msgid "Pass -assert pure-text to linker"
+-#~ msgstr "Umwandiko Kuri"
+-
+-#, fuzzy
+-#~ msgid "Do not pass -assert pure-text to linker"
+-#~ msgstr "OYA Umwandiko Kuri"
+-
+-#, fuzzy
+-#~ msgid "Use flat register window model"
+-#~ msgstr "Kirambuye Kwiyandikisha Idirishya Urugero"
+-
+-#, fuzzy
+-#~ msgid "Do not use flat register window model"
+-#~ msgstr "OYA Gukoresha Kirambuye Kwiyandikisha Idirishya Urugero"
+-
+-#, fuzzy
+-#~ msgid "Do not use ABI reserved registers"
+-#~ msgstr "OYA Gukoresha"
+-
+-#, fuzzy
+-#~ msgid "Use hardware quad fp instructions"
+-#~ msgstr "Amabwiriza"
+-
+-#, fuzzy
+-#~ msgid "Do not use hardware quad fp instructions"
+-#~ msgstr "OYA Gukoresha Amabwiriza"
+-
+-#, fuzzy
+-#~ msgid "Compile for v8plus ABI"
+-#~ msgstr "kugirango"
+-
+-#, fuzzy
+-#~ msgid "Do not compile for v8plus ABI"
+-#~ msgstr "OYA Gukusanya kugirango"
+-
+-#, fuzzy
+-#~ msgid "Do not utilize Visual Instruction Set"
+-#~ msgstr "OYA"
+-
+-#, fuzzy
+-#~ msgid "Optimize for Cypress processors"
+-#~ msgstr "kugirango"
+-
+-#, fuzzy
+-#~ msgid "Optimize for SPARCLite processors"
+-#~ msgstr "kugirango"
+-
+-#, fuzzy
+-#~ msgid "Optimize for F930 processors"
+-#~ msgstr "kugirango"
+-
+-#, fuzzy
+-#~ msgid "Optimize for F934 processors"
+-#~ msgstr "kugirango"
+-
+-#, fuzzy
+-#~ msgid "Optimize for SuperSPARC processors"
+-#~ msgstr "kugirango"
+-
+-#, fuzzy
+-#~ msgid "Do not use stack bias"
+-#~ msgstr "OYA Gukoresha"
+-
+-#, fuzzy
+-#~ msgid "Use structs on stronger alignment for double-word copies"
+-#~ msgstr "ku Itunganya kugirango MAHARAKUBIRI ijambo Amakopi"
+-
+-#, fuzzy
+-#~ msgid "Do not use structs on stronger alignment for double-word copies"
+-#~ msgstr "OYA Gukoresha ku Itunganya kugirango MAHARAKUBIRI ijambo Amakopi"
+-
+-#, fuzzy
+-#~ msgid "Optimize tail call instructions in assembler and linker"
+-#~ msgstr "Amabwiriza in Na"
+-
+-#, fuzzy
+-#~ msgid "Do not optimize tail call instructions in assembler or linker"
+-#~ msgstr "OYA Kugeza ku ndunduro Amabwiriza in Cyangwa"
+-
+-#, fuzzy
+-#~ msgid "Use given SPARC code model"
+-#~ msgstr "ITEGEKONGENGA Urugero"
+-
+-#, fuzzy
+-#~ msgid "cannot use va_start in interrupt function"
+-#~ msgstr "Gukoresha in Hagarikira aho Umumaro"
+-
+-#, fuzzy
+-#~ msgid "`B' operand is not constant"
+-#~ msgstr "`ni OYA"
+-
+-#, fuzzy
+-#~ msgid "`B' operand has multiple bits set"
+-#~ msgstr "`Igikubo Gushyiraho"
+-
+-#, fuzzy
+-#~ msgid "`o' operand is not constant"
+-#~ msgstr "`ni OYA"
+-
+-#, fuzzy
+-#~ msgid "xstormy16_print_operand: unknown code"
+-#~ msgstr "Kitazwi ITEGEKONGENGA"
+-
+-#, fuzzy
+-#~ msgid "switch statement of size %lu entries too large"
+-#~ msgstr "Hindura Inyandiko Bya Ingano Ibyinjijwe Binini"
+-
+-#, fuzzy
+-#~ msgid "#pragma GHS endXXXX found without previous startXXX"
+-#~ msgstr "#Byabonetse Ibanjirije"
+-
+-#, fuzzy
+-#~ msgid "#pragma GHS endXXX does not match previous startXXX"
+-#~ msgstr "#OYA BIHUYE Ibanjirije"
+-
+-#, fuzzy
+-#~ msgid "cannot set interrupt attribute: no current function"
+-#~ msgstr "Gushyiraho Hagarikira aho Ikiranga Oya KIGEZWEHO Umumaro"
+-
+-#, fuzzy
+-#~ msgid "cannot set interrupt attribute: no such identifier"
+-#~ msgstr "Gushyiraho Hagarikira aho Ikiranga Oya Ikiranga"
+-
+-#, fuzzy
+-#~ msgid "junk at end of #pragma ghs section"
+-#~ msgstr "Umwanda ku Impera Bya Icyiciro"
+-
+-#, fuzzy
+-#~ msgid "unrecognized section name \"%s\""
+-#~ msgstr "Icyiciro Izina:"
+-
+-#, fuzzy
+-#~ msgid "malformed #pragma ghs section"
+-#~ msgstr "Icyiciro"
+-
+-#, fuzzy
+-#~ msgid "junk at end of #pragma ghs interrupt"
+-#~ msgstr "Umwanda ku Impera Bya Hagarikira aho"
+-
+-#, fuzzy
+-#~ msgid "junk at end of #pragma ghs starttda"
+-#~ msgstr "Umwanda ku Impera Bya"
+-
+-#, fuzzy
+-#~ msgid "junk at end of #pragma ghs startsda"
+-#~ msgstr "Umwanda ku Impera Bya"
+-
+-#, fuzzy
+-#~ msgid "junk at end of #pragma ghs startzda"
+-#~ msgstr "Umwanda ku Impera Bya"
+-
+-#, fuzzy
+-#~ msgid "junk at end of #pragma ghs endtda"
+-#~ msgstr "Umwanda ku Impera Bya"
+-
+-#, fuzzy
+-#~ msgid "junk at end of #pragma ghs endsda"
+-#~ msgstr "Umwanda ku Impera Bya"
+-
+-#, fuzzy
+-#~ msgid "junk at end of #pragma ghs endzda"
+-#~ msgstr "Umwanda ku Impera Bya"
+-
+-#, fuzzy
+-#~ msgid "%s=%s is not numeric"
+-#~ msgstr "%s=%sni OYA Bikurikije umubare"
+-
+-#, fuzzy
+-#~ msgid "%s=%s is too large"
+-#~ msgstr "%s=%sni Binini"
+-
+-#, fuzzy
+-#~ msgid "const_double_split got a bad insn:"
+-#~ msgstr "a"
+-
+-#, fuzzy
+-#~ msgid "a data area attribute cannot be specified for local variables"
+-#~ msgstr "a Ibyatanzwe Ubuso Ikiranga kugirango Ibihinduka"
+-
+-#, fuzzy
+-#~ msgid "data area of '%s' conflicts with previous declaration"
+-#~ msgstr "Ibyatanzwe Ubuso Bya Na: Ibanjirije"
+-
+-#, fuzzy
+-#~ msgid "bad amount of stack space removal: %d"
+-#~ msgstr "Igiteranyo Bya Umwanya"
+-
+-#, fuzzy
+-#~ msgid "Too much stack space to dispose of: %d"
+-#~ msgstr "Umwanya Kuri Bya"
+-
+-#, fuzzy
+-#~ msgid "Too much stack space to prepare: %d"
+-#~ msgstr "Umwanya Kuri"
+-
+-#, fuzzy
+-#~ msgid "Prohibit PC relative function calls"
+-#~ msgstr "Bifitanye isano Umumaro Amahamagara:"
+-
+-#, fuzzy
+-#~ msgid "Reuse r30 on a per function basis"
+-#~ msgstr "ku a Umumaro Ishingiro"
+-
+-#, fuzzy
+-#~ msgid "Use stubs for function prologues"
+-#~ msgstr "kugirango Umumaro"
+-
+-#, fuzzy
+-#~ msgid "Same as: -mep -mprolog-function"
+-#~ msgstr "Nka Umumaro"
+-
+-#, fuzzy
+-#~ msgid "Compile for the v850 processor"
+-#~ msgstr "kugirango i"
+-
+-#, fuzzy
+-#~ msgid "Compile for v850e processor"
+-#~ msgstr "kugirango"
+-
+-#, fuzzy
+-#~ msgid "Enable the use of the short load instructions"
+-#~ msgstr "i Gukoresha Bya i Ibirimo Amabwiriza"
+-
+-#, fuzzy
+-#~ msgid "Do not use the callt instruction"
+-#~ msgstr "OYA Gukoresha i"
+-
+-#, fuzzy
+-#~ msgid "Do not use registers r2 and r5"
+-#~ msgstr "OYA Gukoresha Na"
+-
+-#, fuzzy
+-#~ msgid "Enforce strict alignment"
+-#~ msgstr "Itunganya"
+-
+-#, fuzzy
+-#~ msgid "Use 4 byte entries in switch tables"
+-#~ msgstr "4. Bayite Ibyinjijwe in Hindura Imbonerahamwe"
+-
+-#, fuzzy
+-#~ msgid "Set the max size of data eligible for the TDA area"
+-#~ msgstr "i KININI Ingano Bya Ibyatanzwe kugirango i Ubuso"
+-
+-#, fuzzy
+-#~ msgid "Set the max size of data eligible for the SDA area"
+-#~ msgstr "i KININI Ingano Bya Ibyatanzwe kugirango i Ubuso"
+-
+-#, fuzzy
+-#~ msgid "Set the max size of data eligible for the ZDA area"
+-#~ msgstr "i KININI Ingano Bya Ibyatanzwe kugirango i Ubuso"
+-
+-#, fuzzy
+-#~ msgid "bad test"
+-#~ msgstr "Igerageza"
+-
+-#, fuzzy
+-#~ msgid "boolean registers required for the floating-point option"
+-#~ msgstr "Icyungo Bya ngombwa kugirango i Bihindagurika Akadomo Ihitamo"
+-
+-#, fuzzy
+-#~ msgid "invalid mask"
+-#~ msgstr "Sibyo"
+-
+-#, fuzzy
+-#~ msgid "invalid address"
+-#~ msgstr "Sibyo Aderesi"
+-
+-#, fuzzy
+-#~ msgid "no register in address"
+-#~ msgstr "Oya Kwiyandikisha in Aderesi"
+-
+-#, fuzzy
+-#~ msgid "address offset not a constant"
+-#~ msgstr "Aderesi Nta- boneza OYA a"
+-
+-#, fuzzy
+-#~ msgid "only uninitialized variables can be placed in a .bss section"
+-#~ msgstr "Itatangijwe Ibihinduka in a Icyiciro"
+-
+-#, fuzzy
+-#~ msgid "Use the Xtensa code density option"
+-#~ msgstr "i ITEGEKONGENGA Ihitamo"
+-
+-#, fuzzy
+-#~ msgid "Do not use the Xtensa code density option"
+-#~ msgstr "OYA Gukoresha i ITEGEKONGENGA Ihitamo"
+-
+-#, fuzzy
+-#~ msgid "Use the Xtensa MAC16 option"
+-#~ msgstr "i Ihitamo"
+-
+-#, fuzzy
+-#~ msgid "Do not use the Xtensa MAC16 option"
+-#~ msgstr "OYA Gukoresha i Ihitamo"
+-
+-#, fuzzy
+-#~ msgid "Use the Xtensa MUL16 option"
+-#~ msgstr "i Ihitamo"
+-
+-#, fuzzy
+-#~ msgid "Do not use the Xtensa MUL16 option"
+-#~ msgstr "OYA Gukoresha i Ihitamo"
+-
+-#, fuzzy
+-#~ msgid "Use the Xtensa MUL32 option"
+-#~ msgstr "i Ihitamo"
+-
+-#, fuzzy
+-#~ msgid "Do not use the Xtensa MUL32 option"
+-#~ msgstr "OYA Gukoresha i Ihitamo"
+-
+-#, fuzzy
+-#~ msgid "Use the Xtensa NSA option"
+-#~ msgstr "i Ihitamo"
+-
+-#, fuzzy
+-#~ msgid "Do not use the Xtensa NSA option"
+-#~ msgstr "OYA Gukoresha i Ihitamo"
+-
+-#, fuzzy
+-#~ msgid "Use the Xtensa MIN/MAX option"
+-#~ msgstr "i Ihitamo"
+-
+-#, fuzzy
+-#~ msgid "Do not use the Xtensa MIN/MAX option"
+-#~ msgstr "OYA Gukoresha i Ihitamo"
+-
+-#, fuzzy
+-#~ msgid "Use the Xtensa SEXT option"
+-#~ msgstr "i Ihitamo"
+-
+-#, fuzzy
+-#~ msgid "Do not use the Xtensa SEXT option"
+-#~ msgstr "OYA Gukoresha i Ihitamo"
+-
+-#, fuzzy
+-#~ msgid "Use the Xtensa boolean register option"
+-#~ msgstr "i Icyungo Kwiyandikisha Ihitamo"
+-
+-#, fuzzy
+-#~ msgid "Do not use the Xtensa boolean register option"
+-#~ msgstr "OYA Gukoresha i Icyungo Kwiyandikisha Ihitamo"
+-
+-#, fuzzy
+-#~ msgid "Use the Xtensa floating-point unit"
+-#~ msgstr "i Bihindagurika Akadomo Igice:"
+-
+-#, fuzzy
+-#~ msgid "Do not use the Xtensa floating-point unit"
+-#~ msgstr "OYA Gukoresha i Bihindagurika Akadomo Igice:"
+-
+-#, fuzzy
+-#~ msgid "Disable fused multiply/add and multiply/subtract FP instructions"
+-#~ msgstr "Gukuba Kongeramo Na Gukuba Gukuramo Amabwiriza"
+-
+-#, fuzzy
+-#~ msgid "Enable fused multiply/add and multiply/subtract FP instructions"
+-#~ msgstr "Gukuba Kongeramo Na Gukuba Gukuramo Amabwiriza"
+-
+-#, fuzzy
+-#~ msgid "Serialize volatile memory references with MEMW instructions"
+-#~ msgstr "Ububiko Indango Na: Amabwiriza"
+-
+-#, fuzzy
+-#~ msgid "Do not serialize volatile memory references with MEMW instructions"
+-#~ msgstr "OYA Ububiko Indango Na: Amabwiriza"
+-
+-#, fuzzy
+-#~ msgid "Intersperse literal pools with code in the text section"
+-#~ msgstr "Na: ITEGEKONGENGA in i Umwandiko Icyiciro"
+-
+-#, fuzzy
+-#~ msgid "Put literal pools in a separate literal section"
+-#~ msgstr "in a Icyiciro"
+-
+-#, fuzzy
+-#~ msgid "Automatically align branch targets to reduce branch penalties"
+-#~ msgstr "Gutondeka Kuri"
+-
+-#, fuzzy
+-#~ msgid "Do not automatically align branch targets"
+-#~ msgstr "OYA ku buryo bwikora Gutondeka"
+-
+-#, fuzzy
+-#~ msgid "Use indirect CALLXn instructions for large programs"
+-#~ msgstr "BUZIGUYE Amabwiriza kugirango Binini Porogaramu"
+-
+-#, fuzzy
+-#~ msgid "Use direct CALLn instructions for fast calls"
+-#~ msgstr "Amabwiriza kugirango Byihuta Amahamagara:"
+-
+-#, fuzzy
+-#~ msgid "`-gnat' misspelled as `-gant'"
+-#~ msgstr "`-Nka"
+-
+-#, fuzzy
+-#~ msgid "qualified type `%T' does not match destructor name `~%T'"
+-#~ msgstr "Ubwoko OYA BIHUYE Izina:"
+-
+-#, fuzzy
+-#~ msgid "type of `%E' does not match destructor type `%T' (type was `%T')"
+-#~ msgstr "Ubwoko Bya OYA BIHUYE Ubwoko Ubwoko"
+-
+-#, fuzzy
+-#~ msgid "`%D' is a namespace"
+-#~ msgstr "`%D'ni a"
+-
+-#, fuzzy
+-#~ msgid "base object `%E' of scoped method call is of non-aggregate type `%T'"
+-#~ msgstr "SHINGIRO Igikoresho Bya Uburyo ni Bya Ubwoko"
+-
+-#, fuzzy
+-#~ msgid "unable to call pointer to member function here"
+-#~ msgstr "Kuri Mweretsi Kuri Umumaro"
+-
+-#, fuzzy
+-#~ msgid "destructors take no parameters"
+-#~ msgstr "Oya Ibigenga"
+-
+-#, fuzzy
+-#~ msgid "destructor name `~%T' does not match type `%T' of expression"
+-#~ msgstr "Izina: OYA BIHUYE Ubwoko Bya imvugo"
+-
+-#, fuzzy
+-#~ msgid "request for member `%D' in `%E', which is of non-aggregate type `%T'"
+-#~ msgstr "Kubaza... kugirango in ni Bya Ubwoko"
+-
+-#, fuzzy
+-#~ msgid "request for member `%D' is ambiguous"
+-#~ msgstr "Kubaza... kugirango ni"
+-
+-#, fuzzy
+-#~ msgid "%s %D(%T, %T, %T) <built-in>"
+-#~ msgstr "%s%D(%T,%T,%T)<in"
+-
+-#, fuzzy
+-#~ msgid "%s %D(%T, %T) <built-in>"
+-#~ msgstr "%s%D(%T,%T)<in"
+-
+-#, fuzzy
+-#~ msgid "%s %D(%T) <built-in>"
+-#~ msgstr "%s%D(%T)<in"
+-
+-#, fuzzy
+-#~ msgid "%s %T <conversion>"
+-#~ msgstr "%s%T<Ihindurangero"
+-
+-# desktop/source\app\ssodlg.src:DLG_SSOLOGIN.text
+-#, fuzzy
+-#~ msgid "%s %+#D%s"
+-#~ msgstr "%s%+#D%s"
+-
+-#, fuzzy
+-#~ msgid "incomplete type '%T' cannot be used to name a scope"
+-#~ msgstr "Ubwoko Kuri Izina: a Ingano:"
+-
+-#, fuzzy
+-#~ msgid "'%D' has no member named '%E'"
+-#~ msgstr "'%D'Oya"
+-
+-#, fuzzy
+-#~ msgid "no matching function for call to `%D(%A)'"
+-#~ msgstr "Oya Umumaro kugirango Kuri"
+-
+-#, fuzzy
+-#~ msgid "call of overloaded `%D(%A)' is ambiguous"
+-#~ msgstr "Bya ni"
+-
+-#, fuzzy
+-#~ msgid "pointer-to-member function %E cannot be called without an object; consider using .* or ->*"
+-#~ msgstr "Mweretsi Kuri Umumaro Igikoresho ikoresha Cyangwa"
+-
+-#, fuzzy
+-#~ msgid "no match for call to `(%T) (%A)'"
+-#~ msgstr "Oya BIHUYE kugirango Kuri"
+-
+-#, fuzzy
+-#~ msgid "call of `(%T) (%A)' is ambiguous"
+-#~ msgstr "Bya ni"
+-
+-#, fuzzy
+-#~ msgid "%s for `%T ? %T : %T' operator"
+-#~ msgstr "%skugirango."
+-
+-#, fuzzy
+-#~ msgid "%s for `%T %s' operator"
+-#~ msgstr "%skugirango Mukoresha"
+-
+-#, fuzzy
+-#~ msgid "%s for `%T [%T]' operator"
+-#~ msgstr "%skugirango Mukoresha"
+-
+-#, fuzzy
+-#~ msgid "%s for `%T %s %T' operator"
+-#~ msgstr "%skugirango Mukoresha"
+-
+-#, fuzzy
+-#~ msgid "%s for `%s %T' operator"
+-#~ msgstr "%skugirango Mukoresha"
+-
+-#, fuzzy
+-#~ msgid "ISO C++ forbids omitting the middle term of a ?: expression"
+-#~ msgstr "C i Hagati Ijambo Bya a imvugo"
+-
+-#, fuzzy
+-#~ msgid "`%E' has type `void' and is not a throw-expression"
+-#~ msgstr "`%E'Ubwoko Na ni OYA a imvugo"
+-
+-#, fuzzy
+-#~ msgid "operands to ?: have different types"
+-#~ msgstr "Kuri"
+-
+-#, fuzzy
+-#~ msgid "enumeral mismatch in conditional expression: `%T' vs `%T'"
+-#~ msgstr "in imvugo"
+-
+-#, fuzzy
+-#~ msgid "enumeral and non-enumeral type in conditional expression"
+-#~ msgstr "Na Ubwoko in imvugo"
+-
+-#, fuzzy
+-#~ msgid "`%D' must be declared before use"
+-#~ msgstr "`%D'Mbere Gukoresha"
+-
+-#, fuzzy
+-#~ msgid "no `%D(int)' declared for postfix `%s', trying prefix operator instead"
+-#~ msgstr "Oya INT kugirango Imbanziriza Mukoresha"
+-
+-#, fuzzy
+-#~ msgid "using synthesized `%#D' for copy assignment"
+-#~ msgstr "ikoresha kugirango Gukoporora Igenera"
+-
+-#, fuzzy
+-#~ msgid " where cfront would use `%#D'"
+-#~ msgstr "Gukoresha"
+-
+-#, fuzzy
+-#~ msgid "comparison between `%#T' and `%#T'"
+-#~ msgstr "hagati Na"
+-
+-#, fuzzy
+-#~ msgid "no suitable `operator delete' for `%T'"
+-#~ msgstr "Oya Mukoresha kugirango"
+-
+-#, fuzzy
+-#~ msgid "`%+#D' is private"
+-#~ msgstr "`%+#D'ni By'umwihariko"
+-
+-#, fuzzy
+-#~ msgid "`%+#D' is protected"
+-#~ msgstr "`%+#D'ni Birinzwe"
+-
+-#, fuzzy
+-#~ msgid "`%+#D' is inaccessible"
+-#~ msgstr "`%+#D'ni"
+-
+-#, fuzzy
+-#~ msgid "within this context"
+-#~ msgstr "muri iyi Imvugiro"
+-
+-#, fuzzy
+-#~ msgid "invalid conversion from `%T' to `%T'"
+-#~ msgstr "Sibyo Ihindurangero Bivuye Kuri"
+-
+-#, fuzzy
+-#~ msgid " initializing argument %P of `%D'"
+-#~ msgstr "Gutangiza Bya"
+-
+-#, fuzzy
+-#~ msgid " initializing argument %P of `%D' from result of `%D'"
+-#~ msgstr "Gutangiza Bya Bivuye Igisubizo Bya"
+-
+-#, fuzzy
+-#~ msgid " initializing temporary from result of `%D'"
+-#~ msgstr "Gutangiza By'igihe gito Bivuye Igisubizo Bya"
+-
+-#, fuzzy
+-#~ msgid "cannot pass objects of non-POD type `%#T' through `...'; call will abort at runtime"
+-#~ msgstr "Ibintu Bya Ubwoko Gihinguranya Kureka ku"
+-
+-#, fuzzy
+-#~ msgid "cannot receive objects of non-POD type `%#T' through `...'"
+-#~ msgstr "Akira Ibintu Bya Ubwoko Gihinguranya"
+-
+-#, fuzzy
+-#~ msgid "passing `%T' as `this' argument of `%#D' discards qualifiers"
+-#~ msgstr "Nka Bya"
+-
+-#, fuzzy
+-#~ msgid "could not find class$ field in java interface type `%T'"
+-#~ msgstr "OYA Gushaka ishuri Umwanya in java Ubwoko"
+-
+-#, fuzzy
+-#~ msgid "call to non-function `%D'"
+-#~ msgstr "Kuri Umumaro"
+-
+-#, fuzzy
+-#~ msgid "no matching function for call to `%T::%D(%A)%#V'"
+-#~ msgstr "Oya Umumaro kugirango Kuri"
+-
+-#, fuzzy
+-#~ msgid "cannot call member function `%D' without object"
+-#~ msgstr "Umumaro Igikoresho"
+-
+-#, fuzzy
+-#~ msgid "passing `%T' chooses `%T' over `%T'"
+-#~ msgstr "KURI"
+-
+-#, fuzzy
+-#~ msgid " in call to `%D'"
+-#~ msgstr "in Kuri"
+-
+-#, fuzzy
+-#~ msgid "choosing `%D' over `%D'"
+-#~ msgstr "KURI"
+-
+-#, fuzzy
+-#~ msgid " for conversion from `%T' to `%T'"
+-#~ msgstr "kugirango Ihindurangero Bivuye Kuri"
+-
+-#, fuzzy
+-#~ msgid " because conversion sequence for the argument is better"
+-#~ msgstr "Ihindurangero kugirango i ni"
+-
+-#, fuzzy
+-#~ msgid "ISO C++ says that `%D' and `%D' are ambiguous even though the worst conversion for the former is better than the worst conversion for the latter"
+-#~ msgstr "C Na ATARIIGIHARWE i Ihindurangero kugirango i ni i Ihindurangero kugirango i"
+-
+-#, fuzzy
+-#~ msgid "cannot convert from base `%T' to derived type `%T' via virtual base `%T'"
+-#~ msgstr "GUHINDURA Bivuye SHINGIRO Kuri Ubwoko Biturutse Kitaboneka SHINGIRO"
+-
+-#, fuzzy
+-#~ msgid "`%#D' and `%#D' cannot be overloaded"
+-#~ msgstr "`%#D'Na"
+-
+-#, fuzzy
+-#~ msgid "duplicate enum value `%D'"
+-#~ msgstr "Gusubiramo Agaciro"
+-
+-#, fuzzy
+-#~ msgid "duplicate field `%D' (as enum and non-enum)"
+-#~ msgstr "Gusubiramo Umwanya Nka Na"
+-
+-#, fuzzy
+-#~ msgid "duplicate nested type `%D'"
+-#~ msgstr "Gusubiramo Ubwoko"
+-
+-#, fuzzy
+-#~ msgid "duplicate field `%D' (as type and non-type)"
+-#~ msgstr "Gusubiramo Umwanya Nka Ubwoko Na Ubwoko"
+-
+-#, fuzzy
+-#~ msgid "duplicate member `%D'"
+-#~ msgstr "Gusubiramo"
+-
+-#, fuzzy
+-#~ msgid "conflicting access specifications for method `%D', ignored"
+-#~ msgstr "kugirango Uburyo"
+-
+-#, fuzzy
+-#~ msgid "conflicting access specifications for field `%s', ignored"
+-#~ msgstr "kugirango Umwanya"
+-
+-#, fuzzy
+-#~ msgid "`%D' names constructor"
+-#~ msgstr "`%D'Amazina"
+-
+-#, fuzzy
+-#~ msgid "`%D' invalid in `%T'"
+-#~ msgstr "`%D'Sibyo in"
+-
+-#, fuzzy
+-#~ msgid "no members matching `%D' in `%#T'"
+-#~ msgstr "Oya in"
+-
+-#, fuzzy
+-#~ msgid "`%D' invalid in `%#T'"
+-#~ msgstr "`%D'Sibyo in"
+-
+-#, fuzzy
+-#~ msgid " because of local method `%#D' with same name"
+-#~ msgstr "Bya Uburyo Na: Izina:"
+-
+-#, fuzzy
+-#~ msgid " because of local member `%#D' with same name"
+-#~ msgstr "Bya Na: Izina:"
+-
+-#, fuzzy
+-#~ msgid "base class `%#T' has a non-virtual destructor"
+-#~ msgstr "SHINGIRO ishuri a Kitaboneka"
+-
+-#, fuzzy
+-#~ msgid "base `%T' with only non-default constructor in class without a constructor"
+-#~ msgstr "SHINGIRO Na: Mburabuzi in ishuri a"
+-
+-#, fuzzy
+-#~ msgid "all member functions in class `%T' are private"
+-#~ msgstr "Byose Imimaro in ishuri By'umwihariko"
+-
+-#, fuzzy
+-#~ msgid "`%#T' only defines a private destructor and has no friends"
+-#~ msgstr "`%#T'a By'umwihariko Na Oya"
+-
+-#, fuzzy
+-#~ msgid "`%#T' only defines private constructors and has no friends"
+-#~ msgstr "`%#T'By'umwihariko Na Oya"
+-
+-#, fuzzy
+-#~ msgid "redefinition of `%#T'"
+-#~ msgstr "Bya"
+-
+-#, fuzzy
+-#~ msgid "previous definition of `%#T'"
+-#~ msgstr "Ibanjirije Insobanuro Bya"
+-
+-#, fuzzy
+-#~ msgid "no unique final overrider for `%D' in `%T'"
+-#~ msgstr "Oya Cyo nyine kugirango in"
+-
+-#, fuzzy
+-#~ msgid "`%D' was hidden"
+-#~ msgstr "`%D'gihishwe"
+-
+-# sc/source\ui\src\globstr.src:RID_GLOBSTR.STR_BY.text
+-#, fuzzy
+-#~ msgid " by `%D'"
+-#~ msgstr "ku"
+-
+-#, fuzzy
+-#~ msgid "ISO C++ forbids member `%D' with same name as enclosing class"
+-#~ msgstr "C Na: Izina: Nka ishuri"
+-
+-#, fuzzy
+-#~ msgid "`%#D' invalid; an anonymous union can only have non-static data members"
+-#~ msgstr "`%#D'Sibyo Ihuza Ibyatanzwe"
+-
+-#, fuzzy
+-#~ msgid "private member `%#D' in anonymous union"
+-#~ msgstr "By'umwihariko in Ihuza"
+-
+-#, fuzzy
+-#~ msgid "protected member `%#D' in anonymous union"
+-#~ msgstr "Birinzwe in Ihuza"
+-
+-#, fuzzy
+-#~ msgid "vtable layout for class `%T' may not be ABI-compliant and may change in a future version of GCC due to implicit virtual destructor"
+-#~ msgstr "Imigaragarire kugirango ishuri Gicurasi OYA Na Gicurasi Guhindura>> in a Verisiyo Bya Kuri Kitaboneka"
+-
+-#, fuzzy
+-#~ msgid "bit-field `%#D' with non-integral type"
+-#~ msgstr "Umwanya Na: Umubare Wuzuye Ubwoko"
+-
+-#, fuzzy
+-#~ msgid "bit-field `%D' width not an integer constant"
+-#~ msgstr "Umwanya Ubugari OYA Umubare wuzuye"
+-
+-#, fuzzy
+-#~ msgid "negative width in bit-field `%D'"
+-#~ msgstr "Ubugari in Umwanya"
+-
+-#, fuzzy
+-#~ msgid "zero width for bit-field `%D'"
+-#~ msgstr "Zeru Ubugari kugirango Umwanya"
+-
+-#, fuzzy
+-#~ msgid "width of `%D' exceeds its type"
+-#~ msgstr "Ubugari Bya Ubwoko"
+-
+-#, fuzzy
+-#~ msgid "`%D' is too small to hold all values of `%#T'"
+-#~ msgstr "`%D'ni Gitoya Kuri Byose Uduciro Bya"
+-
+-#, fuzzy
+-#~ msgid "member `%#D' with constructor not allowed in union"
+-#~ msgstr "Na: OYA in Ihuza"
+-
+-#, fuzzy
+-#~ msgid "member `%#D' with destructor not allowed in union"
+-#~ msgstr "Na: OYA in Ihuza"
+-
+-#, fuzzy
+-#~ msgid "member `%#D' with copy assignment operator not allowed in union"
+-#~ msgstr "Na: Gukoporora Igenera Mukoresha OYA in Ihuza"
+-
+-#, fuzzy
+-#~ msgid "multiple fields in union `%T' initialized"
+-#~ msgstr "Igikubo Imyanya in Ihuza"
+-
+-#, fuzzy
+-#~ msgid "field `%D' in local class cannot be static"
+-#~ msgstr "Umwanya in ishuri"
+-
+-#, fuzzy
+-#~ msgid "field `%D' invalidly declared function type"
+-#~ msgstr "Umwanya Umumaro Ubwoko"
+-
+-#, fuzzy
+-#~ msgid "field `%D' invalidly declared method type"
+-#~ msgstr "Umwanya Uburyo Ubwoko"
+-
+-#, fuzzy
+-#~ msgid "field `%D' invalidly declared offset type"
+-#~ msgstr "Umwanya Nta- boneza Ubwoko"
+-
+-#, fuzzy
+-#~ msgid "field `%D' declared static in union"
+-#~ msgstr "Umwanya in Ihuza"
+-
+-#, fuzzy
+-#~ msgid "non-static reference `%#D' in class without a constructor"
+-#~ msgstr "Indango in ishuri a"
+-
+-#, fuzzy
+-#~ msgid "non-static const member `%#D' in class without a constructor"
+-#~ msgstr "in ishuri a"
+-
+-#, fuzzy
+-#~ msgid "field `%#D' with same name as class"
+-#~ msgstr "Umwanya Na: Izina: Nka ishuri"
+-
+-#, fuzzy
+-#~ msgid "`%#T' has pointer data members"
+-#~ msgstr "`%#T'Mweretsi Ibyatanzwe"
+-
+-#, fuzzy
+-#~ msgid " but does not override `%T(const %T&)'"
+-#~ msgstr "OYA"
+-
+-#, fuzzy
+-#~ msgid " or `operator=(const %T&)'"
+-#~ msgstr "Cyangwa Mukoresha"
+-
+-#, fuzzy
+-#~ msgid " but does not override `operator=(const %T&)'"
+-#~ msgstr "OYA Mukoresha"
+-
+-#, fuzzy
+-#~ msgid "offset of empty base `%T' may not be ABI-compliant and maychange in a future version of GCC"
+-#~ msgstr "Nta- boneza Bya ubusa SHINGIRO Gicurasi OYA Na in a Verisiyo Bya"
+-
+-#, fuzzy
+-#~ msgid "class `%T' will be considered nearly empty in a future version of GCC"
+-#~ msgstr "ishuri ubusa in a Verisiyo Bya"
+-
+-#, fuzzy
+-#~ msgid "initializer specified for non-virtual method `%D'"
+-#~ msgstr "kugirango Kitaboneka Uburyo"
+-
+-#, fuzzy
+-#~ msgid "offset of virtual base `%T' is not ABI-compliant and may change in a future version of GCC"
+-#~ msgstr "Nta- boneza Bya Kitaboneka SHINGIRO ni OYA Na Gicurasi Guhindura>> in a Verisiyo Bya"
+-
+-#, fuzzy
+-#~ msgid "direct base `%T' inaccessible in `%T' due to ambiguity"
+-#~ msgstr "SHINGIRO in Kuri"
+-
+-#, fuzzy
+-#~ msgid "virtual base `%T' inaccessible in `%T' due to ambiguity"
+-#~ msgstr "Kitaboneka SHINGIRO in Kuri"
+-
+-#, fuzzy
+-#~ msgid "size assigned to `%T' may not be ABI-compliant and may change in a future version of GCC"
+-#~ msgstr "Ingano Kuri Gicurasi OYA Na Gicurasi Guhindura>> in a Verisiyo Bya"
+-
+-#, fuzzy
+-#~ msgid "offset of `%D' is not ABI-compliant and may change in a future version of GCC"
+-#~ msgstr "Nta- boneza Bya ni OYA Na Gicurasi Guhindura>> in a Verisiyo Bya"
+-
+-#, fuzzy
+-#~ msgid "`%D' contains empty classes which may cause base classes to be placed at different locations in a future version of GCC"
+-#~ msgstr "`%D'Kirimo ubusa Inzego Gicurasi SHINGIRO Inzego Kuri ku in a Verisiyo Bya"
+-
+-#, fuzzy
+-#~ msgid "layout of classes derived from empty class `%T' may change in a future version of GCC"
+-#~ msgstr "Imigaragarire Bya Inzego Bivuye ubusa ishuri Gicurasi Guhindura>> in a Verisiyo Bya"
+-
+-#, fuzzy
+-#~ msgid "`%#T' has virtual functions but non-virtual destructor"
+-#~ msgstr "`%#T'Kitaboneka Imimaro Kitaboneka"
+-
+-#, fuzzy
+-#~ msgid "trying to finish struct, but kicked out due to previous parse errors"
+-#~ msgstr "Kuri Kurangiza Inyuma Kuri Ibanjirije Amakosa"
+-
+-#, fuzzy
+-#~ msgid "language string `\"%s\"' not recognized"
+-#~ msgstr "Ururimi Ikurikiranyanyuguti OYA"
+-
+-#, fuzzy
+-#~ msgid "cannot resolve overloaded function `%D' based on conversion to type `%T'"
+-#~ msgstr "Umumaro ku Ihindurangero Kuri Ubwoko"
+-
+-#, fuzzy
+-#~ msgid "no matches converting function `%D' to type `%#T'"
+-#~ msgstr "Oya Guhindura.... Umumaro Kuri Ubwoko"
+-
+-#, fuzzy
+-#~ msgid "converting overloaded function `%D' to type `%#T' is ambiguous"
+-#~ msgstr "Guhindura.... Umumaro Kuri Ubwoko ni"
+-
+-#, fuzzy
+-#~ msgid "assuming pointer to member `%D'"
+-#~ msgstr "Mweretsi Kuri"
+-
+-#, fuzzy
+-#~ msgid "(a pointer to member can only be formed with `&%E')"
+-#~ msgstr "(a Mweretsi Kuri Na:"
+-
+-#, fuzzy
+-#~ msgid "not enough type information"
+-#~ msgstr "OYA Ubwoko Ibisobanuro"
+-
+-#, fuzzy
+-#~ msgid "argument of type `%T' does not match `%T'"
+-#~ msgstr "Bya Ubwoko OYA BIHUYE"
+-
+-#, fuzzy
+-#~ msgid "invalid operation on uninstantiated type"
+-#~ msgstr "Sibyo ku Ubwoko"
+-
+-#, fuzzy
+-#~ msgid "declaration of `%#D'"
+-#~ msgstr "Bya"
+-
+-#, fuzzy
+-#~ msgid "changes meaning of `%D' from `%+#D'"
+-#~ msgstr "Amahinduka Igisobanuro Bya Bivuye"
+-
+-#, fuzzy
+-#~ msgid "can't convert from incomplete type `%T' to `%T'"
+-#~ msgstr "GUHINDURA Bivuye Ubwoko Kuri"
+-
+-#, fuzzy
+-#~ msgid "conversion of `%E' from `%T' to `%T' is ambiguous"
+-#~ msgstr "Ihindurangero Bya Bivuye Kuri ni"
+-
+-#, fuzzy
+-#~ msgid "converting from `%T' to `%T'"
+-#~ msgstr "Guhindura.... Bivuye Kuri"
+-
+-#, fuzzy
+-#~ msgid "pointer to member cast from `%T' to `%T' is via virtual base"
+-#~ msgstr "Mweretsi Kuri Bivuye Kuri ni Biturutse Kitaboneka SHINGIRO"
+-
+-#, fuzzy
+-#~ msgid "cannot convert `%E' from type `%T' to type `%T'"
+-#~ msgstr "GUHINDURA Bivuye Ubwoko Kuri Ubwoko"
+-
+-#, fuzzy
+-#~ msgid "invalid conversion from '%T' to '%T'"
+-#~ msgstr "Sibyo Ihindurangero Bivuye Kuri"
+-
+-#, fuzzy
+-#~ msgid "conversion from `%T' to `%T' discards qualifiers"
+-#~ msgstr "Ihindurangero Bivuye Kuri"
+-
+-#, fuzzy
+-#~ msgid "casting `%T' to `%T' does not dereference pointer"
+-#~ msgstr "Kuri OYA Mweretsi"
+-
+-#, fuzzy
+-#~ msgid "cannot convert type `%T' to type `%T'"
+-#~ msgstr "GUHINDURA Ubwoko Kuri Ubwoko"
+-
+-#, fuzzy
+-#~ msgid "conversion from `%#T' to `%#T'"
+-#~ msgstr "Ihindurangero Bivuye Kuri"
+-
+-#, fuzzy
+-#~ msgid "`%#T' used where a `%T' was expected"
+-#~ msgstr "`%#T'a Ikitezwe:"
+-
+-#, fuzzy
+-#~ msgid "the address of `%D', will always be `true'"
+-#~ msgstr "i Aderesi Bya Buri gihe"
+-
+-#, fuzzy
+-#~ msgid "`%#T' used where a floating point value was expected"
+-#~ msgstr "`%#T'a Bihindagurika Akadomo Agaciro Ikitezwe:"
+-
+-#, fuzzy
+-#~ msgid "conversion from `%T' to non-scalar type `%T' requested"
+-#~ msgstr "Ihindurangero Bivuye Kuri Ubwoko"
+-
+-#, fuzzy
+-#~ msgid "object of incomplete type `%T' will not be accessed in %s"
+-#~ msgstr "Igikoresho Bya Ubwoko OYA birabonetse in"
+-
+-#, fuzzy
+-#~ msgid "object of type `%T' will not be accessed in %s"
+-#~ msgstr "Igikoresho Bya Ubwoko OYA birabonetse in"
+-
+-#, fuzzy
+-#~ msgid "object `%E' of incomplete type `%T' will not be accessed in %s"
+-#~ msgstr "Igikoresho Bya Ubwoko OYA birabonetse in"
+-
+-#, fuzzy
+-#~ msgid "%s cannot resolve address of overloaded function"
+-#~ msgstr "%sAderesi Bya Umumaro"
+-
+-#, fuzzy
+-#~ msgid "%s is a reference, not call, to function `%E'"
+-#~ msgstr "%sni a Indango OYA Kuri Umumaro"
+-
+-#, fuzzy
+-#~ msgid "ambiguous default type conversion from `%T'"
+-#~ msgstr "Mburabuzi Ubwoko Ihindurangero Bivuye"
+-
+-#, fuzzy
+-#~ msgid " candidate conversions include `%D' and `%D'"
+-#~ msgstr "Gushyiramo Na"
+-
+-#, fuzzy
+-#~ msgid "conflicts with previous declaration `%#D'"
+-#~ msgstr "Na: Ibanjirije"
+-
+-#, fuzzy
+-#~ msgid "label `%D' used but not defined"
+-#~ msgstr "Akarango OYA"
+-
+-#, fuzzy
+-#~ msgid "label `%D' defined but not used"
+-#~ msgstr "Akarango OYA"
+-
+-#, fuzzy
+-#~ msgid "namespace alias `%D' not allowed here, assuming `%D'"
+-#~ msgstr "Irihimbano OYA"
+-
+-#, fuzzy
+-#~ msgid "previous declaration of `%D'"
+-#~ msgstr "Ibanjirije Bya"
+-
+-#, fuzzy
+-#~ msgid "shadowing %s function `%#D'"
+-#~ msgstr "Ishyiraho ry'igicucu Umumaro"
+-
+-#, fuzzy
+-#~ msgid "library function `%#D' redeclared as non-function `%#D'"
+-#~ msgstr "Isomero Umumaro Nka Umumaro"
+-
+-#, fuzzy
+-#~ msgid "conflicts with built-in declaration `%#D'"
+-#~ msgstr "Na: in"
+-
+-#, fuzzy
+-#~ msgid "new declaration `%#D'"
+-#~ msgstr "Gishya"
+-
+-#, fuzzy
+-#~ msgid "ambiguates built-in declaration `%#D'"
+-#~ msgstr "in"
+-
+-#, fuzzy
+-#~ msgid "`%#D' redeclared as different kind of symbol"
+-#~ msgstr "`%#D'Nka Bya IKIMENYETSO"
+-
+-#, fuzzy
+-#~ msgid "previous declaration of `%#D'"
+-#~ msgstr "Ibanjirije Bya"
+-
+-#, fuzzy
+-#~ msgid "declaration of template `%#D'"
+-#~ msgstr "Bya Inyandikorugero"
+-
+-#, fuzzy
+-#~ msgid "ambiguates old declaration `%#D'"
+-#~ msgstr "ki/ bishaje"
+-
+-#, fuzzy
+-#~ msgid "declaration of C function `%#D' conflicts with"
+-#~ msgstr "Bya C Umumaro Na:"
+-
+-#, fuzzy
+-#~ msgid "previous declaration `%#D' here"
+-#~ msgstr "Ibanjirije"
+-
+-#, fuzzy
+-#~ msgid "conflicting types for `%#D'"
+-#~ msgstr "kugirango"
+-
+-#, fuzzy
+-#~ msgid "previous declaration as `%#D'"
+-#~ msgstr "Ibanjirije Nka"
+-
+-#, fuzzy
+-#~ msgid "prototype for `%#D'"
+-#~ msgstr "kugirango"
+-
+-#, fuzzy
+-#~ msgid "follows non-prototype definition here"
+-#~ msgstr "Insobanuro"
+-
+-#, fuzzy
+-#~ msgid "previous declaration of `%#D' with %L linkage"
+-#~ msgstr "Ibanjirije Bya Na:"
+-
+-#, fuzzy
+-#~ msgid "conflicts with new declaration with %L linkage"
+-#~ msgstr "Na: Gishya Na:"
+-
+-#, fuzzy
+-#~ msgid "default argument given for parameter %d of `%#D'"
+-#~ msgstr "Mburabuzi kugirango Bya"
+-
+-#, fuzzy
+-#~ msgid "after previous specification in `%#D'"
+-#~ msgstr "Nyuma Ibanjirije in"
+-
+-#, fuzzy
+-#~ msgid "`%#D' was used before it was declared inline"
+-#~ msgstr "`%#D'Mbere Mumurongo"
+-
+-#, fuzzy
+-#~ msgid "previous non-inline declaration here"
+-#~ msgstr "Ibanjirije Mumurongo"
+-
+-#, fuzzy
+-#~ msgid "redundant redeclaration of `%D' in same scope"
+-#~ msgstr "Bya in Ingano:"
+-
+-#, fuzzy
+-#~ msgid "declaration of `%F' throws different exceptions"
+-#~ msgstr "Bya Amarengayobora"
+-
+-#, fuzzy
+-#~ msgid "than previous declaration `%F'"
+-#~ msgstr "Ibanjirije"
+-
+-#, fuzzy
+-#~ msgid "explicit specialization of %D after first use"
+-#~ msgstr "Bya Nyuma Itangira Gukoresha"
+-
+-#, fuzzy
+-#~ msgid "`%#D' used prior to declaration"
+-#~ msgstr "`%#D'Kuri"
+-
+-#, fuzzy
+-#~ msgid "redeclaration of `wchar_t' as `%T'"
+-#~ msgstr "Bya Nka"
+-
+-#, fuzzy
+-#~ msgid "invalid redeclaration of `%D'"
+-#~ msgstr "Sibyo Bya"
+-
+-# svx/source\dialog\backgrnd.src:RID_SVXPAGE_BACKGROUND.FT_SELECTOR.text
+-#, fuzzy
+-#~ msgid "as `%D'"
+-#~ msgstr "Nka"
+-
+-#, fuzzy
+-#~ msgid "previous external decl of `%#D'"
+-#~ msgstr "Ibanjirije external Bya"
+-
+-#, fuzzy
+-#~ msgid "`%D' was previously implicitly declared to return `int'"
+-#~ msgstr "`%D'Kuri Garuka"
+-
+-#, fuzzy
+-#~ msgid "extern declaration of `%#D' doesn't match"
+-#~ msgstr "Bya BIHUYE"
+-
+-#, fuzzy
+-#~ msgid "declaration of `%#D' shadows a parameter"
+-#~ msgstr "Bya a"
+-
+-#, fuzzy
+-#~ msgid "declaration of `%s' shadows a member of `this'"
+-#~ msgstr "Bya a Bya"
+-
+-#, fuzzy
+-#~ msgid "`%#D' hides constructor for `%#T'"
+-#~ msgstr "`%#D'kugirango"
+-
+-#, fuzzy
+-#~ msgid "`%#D' conflicts with previous using declaration `%#D'"
+-#~ msgstr "`%#D'Na: Ibanjirije ikoresha"
+-
+-#, fuzzy
+-#~ msgid "previous non-function declaration `%#D'"
+-#~ msgstr "Ibanjirije Umumaro"
+-
+-#, fuzzy
+-#~ msgid "conflicts with function declaration `%#D'"
+-#~ msgstr "Na: Umumaro"
+-
+-#, fuzzy
+-#~ msgid "implicit declaration of function `%#D'"
+-#~ msgstr "Bya Umumaro"
+-
+-#, fuzzy
+-#~ msgid "label `%s' referenced outside of any function"
+-#~ msgstr "Akarango Hanze Bya Umumaro"
+-
+-#, fuzzy
+-#~ msgid "jump to label `%D'"
+-#~ msgstr "Simbuka Kuri Akarango"
+-
+-#, fuzzy
+-#~ msgid "jump to case label"
+-#~ msgstr "Simbuka Kuri Akarango"
+-
+-#, fuzzy
+-#~ msgid " crosses initialization of `%#D'"
+-#~ msgstr "Bya"
+-
+-#, fuzzy
+-#~ msgid " enters scope of non-POD `%#D'"
+-#~ msgstr "Ingano: Bya"
+-
+-#, fuzzy
+-#~ msgid " enters try block"
+-#~ msgstr "Funga"
+-
+-#, fuzzy
+-#~ msgid " enters catch block"
+-#~ msgstr "Funga"
+-
+-#, fuzzy
+-#~ msgid " from here"
+-#~ msgstr "Bivuye"
+-
+-#, fuzzy
+-#~ msgid " skips initialization of `%#D'"
+-#~ msgstr "Bya"
+-
+-#, fuzzy
+-#~ msgid "label named wchar_t"
+-#~ msgstr "Akarango"
+-
+-#, fuzzy
+-#~ msgid "duplicate label `%D'"
+-#~ msgstr "Gusubiramo Akarango"
+-
+-#, fuzzy
+-#~ msgid "case label `%E' not within a switch statement"
+-#~ msgstr "Akarango OYA muri a Hindura Inyandiko"
+-
+-#, fuzzy
+-#~ msgid "`%#D' redeclared as %C"
+-#~ msgstr "`%#D'Nka"
+-
+-#, fuzzy
+-#~ msgid "invalid use of `%D'"
+-#~ msgstr "Sibyo Gukoresha Bya"
+-
+-#, fuzzy
+-#~ msgid "`%D::%D' is not a template"
+-#~ msgstr "`%D::%D'ni OYA a Inyandikorugero"
+-
+-#, fuzzy
+-#~ msgid "`%D' undeclared in namespace `%D'"
+-#~ msgstr "`%D'in"
+-
+-#, fuzzy
+-#~ msgid "`%D' used without template parameters"
+-#~ msgstr "`%D'Inyandikorugero Ibigenga"
+-
+-#, fuzzy
+-#~ msgid "no class template named `%#T' in `%#T'"
+-#~ msgstr "Oya ishuri Inyandikorugero in"
+-
+-#, fuzzy
+-#~ msgid "no type named `%#T' in `%#T'"
+-#~ msgstr "Oya Ubwoko in"
+-
+-#, fuzzy
+-#~ msgid "lookup of `%D' finds `%#D'"
+-#~ msgstr "GUSHAKISHA Bya"
+-
+-#, fuzzy
+-#~ msgid " instead of `%D' from dependent base class"
+-#~ msgstr "Bya Bivuye SHINGIRO ishuri"
+-
+-#, fuzzy
+-#~ msgid " (use `typename %T::%D' if that's what you meant)"
+-#~ msgstr "(Gukoresha NIBA"
+-
+-#, fuzzy
+-#~ msgid "name lookup of `%D' changed"
+-#~ msgstr "Izina: GUSHAKISHA Bya Byahinduwe"
+-
+-#, fuzzy
+-#~ msgid " matches this `%D' under ISO standard rules"
+-#~ msgstr "iyi Bisanzwe"
+-
+-#, fuzzy
+-#~ msgid " matches this `%D' under old rules"
+-#~ msgstr "iyi ki/ bishaje"
+-
+-#, fuzzy
+-#~ msgid "name lookup of `%D' changed for new ISO `for' scoping"
+-#~ msgstr "Izina: GUSHAKISHA Bya Byahinduwe kugirango Gishya"
+-
+-#, fuzzy
+-#~ msgid " cannot use obsolete binding at `%D' because it has a destructor"
+-#~ msgstr "Gukoresha Bifatanya ku a"
+-
+-#, fuzzy
+-#~ msgid " using obsolete binding at `%D'"
+-#~ msgstr "ikoresha Bifatanya ku"
+-
+-#, fuzzy
+-#~ msgid "lookup of `%D' in the scope of `%#T' (`%#D') does not match lookup in the current scope (`%#D')"
+-#~ msgstr "GUSHAKISHA Bya in i Ingano: Bya OYA BIHUYE GUSHAKISHA in i KIGEZWEHO Ingano:"
+-
+-#, fuzzy
+-#~ msgid "an anonymous union cannot have function members"
+-#~ msgstr "Ihuza Umumaro"
+-
+-#, fuzzy
+-#~ msgid "member %#D' with constructor not allowed in anonymous aggregate"
+-#~ msgstr "Na: OYA in"
+-
+-#, fuzzy
+-#~ msgid "member %#D' with destructor not allowed in anonymous aggregate"
+-#~ msgstr "Na: OYA in"
+-
+-#, fuzzy
+-#~ msgid "member %#D' with copy assignment operator not allowed in anonymous aggregate"
+-#~ msgstr "Na: Gukoporora Igenera Mukoresha OYA in"
+-
+-#, fuzzy
+-#~ msgid "redeclaration of C++ built-in type `%T'"
+-#~ msgstr "Bya C in Ubwoko"
+-
+-#, fuzzy
+-#~ msgid "multiple types in one declaration"
+-#~ msgstr "Igikubo in"
+-
+-#, fuzzy
+-#~ msgid "missing type-name in typedef-declaration"
+-#~ msgstr "Ibuze Ubwoko Izina: in"
+-
+-#, fuzzy
+-#~ msgid "ISO C++ prohibits anonymous structs"
+-#~ msgstr "C"
+-
+-#, fuzzy
+-#~ msgid "`%D' can only be specified for functions"
+-#~ msgstr "`%D'kugirango Imimaro"
+-
+-#, fuzzy
+-#~ msgid "`%D' can only be specified inside a class"
+-#~ msgstr "`%D'Mo Imbere a ishuri"
+-
+-#, fuzzy
+-#~ msgid "`%D' can only be specified for constructors"
+-#~ msgstr "`%D'kugirango"
+-
+-#, fuzzy
+-#~ msgid "`%D' can only be specified for objects and functions"
+-#~ msgstr "`%D'kugirango Ibintu Na Imimaro"
+-
+-#, fuzzy
+-#~ msgid "typedef `%D' is initialized (use __typeof__ instead)"
+-#~ msgstr "ni Gukoresha"
+-
+-#, fuzzy
+-#~ msgid "function `%#D' is initialized like a variable"
+-#~ msgstr "Umumaro ni nka a IMPINDURAGACIRO"
+-
+-#, fuzzy
+-#~ msgid "declaration of `%#D' has `extern' and is initialized"
+-#~ msgstr "Bya Na ni"
+-
+-#, fuzzy
+-#~ msgid "`%#D' is not a static member of `%#T'"
+-#~ msgstr "`%#D'ni OYA a Bya"
+-
+-#, fuzzy
+-#~ msgid "ISO C++ does not permit `%T::%D' to be defined as `%T::%D'"
+-#~ msgstr "C OYA Kuri Nka"
+-
+-#, fuzzy
+-#~ msgid "duplicate initialization of %D"
+-#~ msgstr "Gusubiramo Bya"
+-
+-#, fuzzy
+-#~ msgid "declaration of `%#D' outside of class is not definition"
+-#~ msgstr "Bya Hanze Bya ishuri ni OYA Insobanuro"
+-
+-#, fuzzy
+-#~ msgid "variable `%#D' has initializer but incomplete type"
+-#~ msgstr "IMPINDURAGACIRO Ubwoko"
+-
+-#, fuzzy
+-#~ msgid "elements of array `%#D' have incomplete type"
+-#~ msgstr "Ibintu Bya Imbonerahamwe Ubwoko"
+-
+-#, fuzzy
+-#~ msgid "aggregate `%#D' has incomplete type and cannot be defined"
+-#~ msgstr "Ubwoko Na"
+-
+-#, fuzzy
+-#~ msgid "`%D' declared as reference but not initialized"
+-#~ msgstr "`%D'Nka Indango OYA"
+-
+-#, fuzzy
+-#~ msgid "ISO C++ forbids use of initializer list to initialize reference `%D'"
+-#~ msgstr "C Gukoresha Bya Urutonde Kuri gutangiza Indango"
+-
+-#, fuzzy
+-#~ msgid "cannot initialize `%T' from `%T'"
+-#~ msgstr "gutangiza Bivuye"
+-
+-#, fuzzy
+-#~ msgid "initializer fails to determine size of `%D'"
+-#~ msgstr "Kuri Ingano Bya"
+-
+-#, fuzzy
+-#~ msgid "array size missing in `%D'"
+-#~ msgstr "Imbonerahamwe Ingano Ibuze in"
+-
+-#, fuzzy
+-#~ msgid "zero-size array `%D'"
+-#~ msgstr "Zeru Ingano Imbonerahamwe"
+-
+-#, fuzzy
+-#~ msgid "storage size of `%D' isn't known"
+-#~ msgstr "Ingano Bya si"
+-
+-#, fuzzy
+-#~ msgid "storage size of `%D' isn't constant"
+-#~ msgstr "Ingano Bya si"
+-
+-#, fuzzy
+-#~ msgid "sorry: semantics of inline function static data `%#D' are wrong (you'll wind up with multiple copies)"
+-#~ msgstr "Bya Mumurongo Umumaro Ibyatanzwe Hejuru Na: Igikubo Amakopi"
+-
+-#, fuzzy
+-#~ msgid " you can work around this by removing the initializer"
+-#~ msgstr "Akazi iyi ku i"
+-
+-#, fuzzy
+-#~ msgid "uninitialized const `%D'"
+-#~ msgstr "Itatangijwe"
+-
+-#, fuzzy
+-#~ msgid "brace-enclosed initializer used to initialize `%T'"
+-#~ msgstr "Kuri gutangiza"
+-
+-#, fuzzy
+-#~ msgid "initializer for `%T' must be brace-enclosed"
+-#~ msgstr "kugirango"
+-
+-#, fuzzy
+-#~ msgid "ISO C++ does not allow designated initializers"
+-#~ msgstr "C OYA Kwemerera"
+-
+-#, fuzzy
+-#~ msgid "`%T' has no non-static data member named `%D'"
+-#~ msgstr "`%T'Oya Ibyatanzwe"
+-
+-#, fuzzy
+-#~ msgid "too many initializers for `%T'"
+-#~ msgstr "kugirango"
+-
+-#, fuzzy
+-#~ msgid "variable-sized object `%D' may not be initialized"
+-#~ msgstr "IMPINDURAGACIRO Igikoresho Gicurasi OYA"
+-
+-#, fuzzy
+-#~ msgid "`%D' has incomplete type"
+-#~ msgstr "`%D'Ubwoko"
+-
+-#, fuzzy
+-#~ msgid "`%D' must be initialized by constructor, not by `{...}'"
+-#~ msgstr "`%D'ku OYA ku"
+-
+-#, fuzzy
+-#~ msgid "structure `%D' with uninitialized const members"
+-#~ msgstr "Imiterere Na: Itatangijwe"
+-
+-#, fuzzy
+-#~ msgid "structure `%D' with uninitialized reference members"
+-#~ msgstr "Imiterere Na: Itatangijwe Indango"
+-
+-#, fuzzy
+-#~ msgid "assignment (not initialization) in declaration"
+-#~ msgstr "Igenera OYA in"
+-
+-#, fuzzy
+-#~ msgid "cannot initialize `%D' to namespace `%D'"
+-#~ msgstr "gutangiza Kuri"
+-
+-#, fuzzy
+-#~ msgid "shadowing previous type declaration of `%#D'"
+-#~ msgstr "Ishyiraho ry'igicucu Ibanjirije Ubwoko Bya"
+-
+-#, fuzzy
+-#~ msgid "`%D' cannot be thread-local because it has non-POD type `%T'"
+-#~ msgstr "`%D'Urudodo Ubwoko"
+-
+-#, fuzzy
+-#~ msgid "`%D' is thread-local and so cannot be dynamically initialized"
+-#~ msgstr "`%D'ni Urudodo Na"
+-
+-#, fuzzy
+-#~ msgid "multiple initializations given for `%D'"
+-#~ msgstr "Igikubo kugirango"
+-
+-#, fuzzy
+-#~ msgid "invalid catch parameter"
+-#~ msgstr "Sibyo"
+-
+-#, fuzzy
+-#~ msgid "destructor for alien class `%T' cannot be a member"
+-#~ msgstr "kugirango ishuri a"
+-
+-#, fuzzy
+-#~ msgid "constructor for alien class `%T' cannot be a member"
+-#~ msgstr "kugirango ishuri a"
+-
+-#, fuzzy
+-#~ msgid "`%D' declared as a `virtual' %s"
+-#~ msgstr "`%D'Nka a"
+-
+-#, fuzzy
+-#~ msgid "`%D' declared as an `inline' %s"
+-#~ msgstr "`%D'Nka"
+-
+-#, fuzzy
+-#~ msgid "`const' and `volatile' function specifiers on `%D' invalid in %s declaration"
+-#~ msgstr "`Na Umumaro ku Sibyo in"
+-
+-#, fuzzy
+-#~ msgid "`%D' declared as a friend"
+-#~ msgstr "`%D'Nka a"
+-
+-#, fuzzy
+-#~ msgid "`%D' declared with an exception specification"
+-#~ msgstr "`%D'Na: Irengayobora(-)"
+-
+-#, fuzzy
+-#~ msgid "cannot declare `::main' to be a template"
+-#~ msgstr "Kuri a Inyandikorugero"
+-
+-#, fuzzy
+-#~ msgid "cannot declare `::main' to be inline"
+-#~ msgstr "Kuri Mumurongo"
+-
+-#, fuzzy
+-#~ msgid "cannot declare `::main' to be static"
+-#~ msgstr "Kuri"
+-
+-#, fuzzy
+-#~ msgid "`main' must return `int'"
+-#~ msgstr "`Garuka"
+-
+-#, fuzzy
+-#~ msgid "non-local function `%#D' uses anonymous type"
+-#~ msgstr "Umumaro Ubwoko"
+-
+-#, fuzzy
+-#~ msgid "`%#D' does not refer to the unqualified type, so it is not used for linkage"
+-#~ msgstr "`%#D'OYA Kuri i Ubwoko ni OYA kugirango"
+-
+-#, fuzzy
+-#~ msgid "non-local function `%#D' uses local type `%T'"
+-#~ msgstr "Umumaro Ubwoko"
+-
+-#, fuzzy
+-#~ msgid "%smember function `%D' cannot have `%T' method qualifier"
+-#~ msgstr "%smemberUmumaro Uburyo"
+-
+-#, fuzzy
+-#~ msgid "defining explicit specialization `%D' in friend declaration"
+-#~ msgstr "in"
+-
+-#, fuzzy
+-#~ msgid "invalid use of template-id `%D' in declaration of primary template"
+-#~ msgstr "Sibyo Gukoresha Bya Inyandikorugero ID in Bya Inyandikorugero"
+-
+-#, fuzzy
+-#~ msgid "default arguments are not allowed in declaration of friend template specialization `%D'"
+-#~ msgstr "Mburabuzi ingingo OYA in Bya Inyandikorugero"
+-
+-#, fuzzy
+-#~ msgid "`inline' is not allowed in declaration of friend template specialization `%D'"
+-#~ msgstr "`ni OYA in Bya Inyandikorugero"
+-
+-#, fuzzy
+-#~ msgid "definition of implicitly-declared `%D'"
+-#~ msgstr "Insobanuro Bya"
+-
+-#, fuzzy
+-#~ msgid "no `%#D' member function declared in class `%T'"
+-#~ msgstr "Oya Umumaro in ishuri"
+-
+-#, fuzzy
+-#~ msgid "non-local variable `%#D' uses local type `%T'"
+-#~ msgstr "IMPINDURAGACIRO Ubwoko"
+-
+-#, fuzzy
+-#~ msgid "invalid in-class initialization of static data member of non-integral type `%T'"
+-#~ msgstr "Sibyo in ishuri Bya Ibyatanzwe Bya Umubare Wuzuye Ubwoko"
+-
+-#, fuzzy
+-#~ msgid "ISO C++ forbids in-class initialization of non-const static member `%D'"
+-#~ msgstr "C in ishuri Bya"
+-
+-#, fuzzy
+-#~ msgid "ISO C++ forbids initialization of member constant `%D' of non-integral type `%T'"
+-#~ msgstr "C Bya Bya Umubare Wuzuye Ubwoko"
+-
+-#, fuzzy
+-#~ msgid "size of array `%D' has non-integer type"
+-#~ msgstr "Ingano Bya Imbonerahamwe Umubare wuzuye Ubwoko"
+-
+-#, fuzzy
+-#~ msgid "size of array has non-integer type"
+-#~ msgstr "Ingano Bya Imbonerahamwe Umubare wuzuye Ubwoko"
+-
+-#, fuzzy
+-#~ msgid "size of array `%D' is negative"
+-#~ msgstr "Ingano Bya Imbonerahamwe ni"
+-
+-#, fuzzy
+-#~ msgid "size of array is negative"
+-#~ msgstr "Ingano Bya Imbonerahamwe ni"
+-
+-#, fuzzy
+-#~ msgid "ISO C++ forbids zero-size array `%D'"
+-#~ msgstr "C Zeru Ingano Imbonerahamwe"
+-
+-#, fuzzy
+-#~ msgid "ISO C++ forbids zero-size array"
+-#~ msgstr "C Zeru Ingano Imbonerahamwe"
+-
+-#, fuzzy
+-#~ msgid "size of array `%D' is not an integral constant-expression"
+-#~ msgstr "Ingano Bya Imbonerahamwe ni OYA Umubare Wuzuye imvugo"
+-
+-#, fuzzy
+-#~ msgid "size of array is not an integral constant-expression"
+-#~ msgstr "Ingano Bya Imbonerahamwe ni OYA Umubare Wuzuye imvugo"
+-
+-#, fuzzy
+-#~ msgid "ISO C++ forbids variable-size array `%D'"
+-#~ msgstr "C IMPINDURAGACIRO Ingano Imbonerahamwe"
+-
+-#, fuzzy
+-#~ msgid "ISO C++ forbids variable-size array"
+-#~ msgstr "C IMPINDURAGACIRO Ingano Imbonerahamwe"
+-
+-#, fuzzy
+-#~ msgid "overflow in array dimension"
+-#~ msgstr "Byarenze urugero in Imbonerahamwe"
+-
+-#, fuzzy
+-#~ msgid "declaration of `%D' as %s"
+-#~ msgstr "Bya Nka"
+-
+-#, fuzzy
+-#~ msgid "declaration of `%D' as multidimensional array must have bounds for all dimensions except the first"
+-#~ msgstr "Bya Nka Imbonerahamwe kugirango Byose Ingero i Itangira"
+-
+-#, fuzzy
+-#~ msgid "multidimensional array must have bounds for all dimensions except the first"
+-#~ msgstr "Imbonerahamwe kugirango Byose Ingero i Itangira"
+-
+-#, fuzzy
+-#~ msgid "return type specification for constructor invalid"
+-#~ msgstr "Garuka Ubwoko kugirango Sibyo"
+-
+-#, fuzzy
+-#~ msgid "return type specification for destructor invalid"
+-#~ msgstr "Garuka Ubwoko kugirango Sibyo"
+-
+-#, fuzzy
+-#~ msgid "operator `%T' declared to return `%T'"
+-#~ msgstr "Mukoresha Kuri Garuka"
+-
+-#, fuzzy
+-#~ msgid "return type specified for `operator %T'"
+-#~ msgstr "Garuka Ubwoko kugirango Mukoresha"
+-
+-#, fuzzy
+-#~ msgid "destructors must be member functions"
+-#~ msgstr "Imimaro"
+-
+-#, fuzzy
+-#~ msgid "destructor `%T' must match class name `%T'"
+-#~ msgstr "BIHUYE ishuri Izina:"
+-
+-#, fuzzy
+-#~ msgid "variable declaration is not allowed here"
+-#~ msgstr "IMPINDURAGACIRO ni OYA"
+-
+-#, fuzzy
+-#~ msgid "invalid declarator"
+-#~ msgstr "Sibyo"
+-
+-#, fuzzy
+-#~ msgid "declarator-id missing; using reserved word `%D'"
+-#~ msgstr "ID Ibuze ikoresha ijambo"
+-
+-#, fuzzy
+-#~ msgid "type `%T' is not derived from type `%T'"
+-#~ msgstr "Ubwoko ni OYA Bivuye Ubwoko"
+-
+-#, fuzzy
+-#~ msgid "`%T' specified as declarator-id"
+-#~ msgstr "`%T'Nka ID"
+-
+-#, fuzzy
+-#~ msgid " perhaps you want `%T' for a constructor"
+-#~ msgstr "kugirango a"
+-
+-#, fuzzy
+-#~ msgid "invalid use of template-name '%E' in a declarator"
+-#~ msgstr "Sibyo Gukoresha Bya Inyandikorugero Izina: in a"
+-
+-#, fuzzy
+-#~ msgid "declaration of `%D' as non-function"
+-#~ msgstr "Bya Nka Umumaro"
+-
+-#, fuzzy
+-#~ msgid "`bool' is now a keyword"
+-#~ msgstr "`ni NONEAHA a Ijambo- banze"
+-
+-#, fuzzy
+-#~ msgid "multiple declarations `%T' and `%T'"
+-#~ msgstr "Igikubo Na"
+-
+-#, fuzzy
+-#~ msgid "ISO C++ does not support `long long'"
+-#~ msgstr "C OYA Gushigikira"
+-
+-#, fuzzy
+-#~ msgid "ISO C++ forbids declaration of `%s' with no type"
+-#~ msgstr "C Bya Na: Oya Ubwoko"
+-
+-#, fuzzy
+-#~ msgid "`%T' is implicitly a typename"
+-#~ msgstr "`%T'ni a"
+-
+-#, fuzzy
+-#~ msgid "short, signed or unsigned invalid for `%s'"
+-#~ msgstr "Cyangwa Bitashizweho umukono Sibyo kugirango"
+-
+-#, fuzzy
+-#~ msgid "long and short specified together for `%s'"
+-#~ msgstr "Na kugirango"
+-
+-#, fuzzy
+-#~ msgid "signed and unsigned given together for `%s'"
+-#~ msgstr "Na Bitashizweho umukono kugirango"
+-
+-#, fuzzy
+-#~ msgid "qualifiers are not allowed on declaration of `operator %T'"
+-#~ msgstr "OYA ku Bya Mukoresha"
+-
+-#, fuzzy
+-#~ msgid "member `%D' cannot be declared both virtual and static"
+-#~ msgstr "Byombi Kitaboneka Na"
+-
+-#, fuzzy
+-#~ msgid "storage class specifiers invalid in parameter declarations"
+-#~ msgstr "ishuri Sibyo in"
+-
+-#, fuzzy
+-#~ msgid "typedef declaration invalid in parameter declaration"
+-#~ msgstr "Sibyo in"
+-
+-#, fuzzy
+-#~ msgid "virtual outside class declaration"
+-#~ msgstr "Kitaboneka Hanze ishuri"
+-
+-#, fuzzy
+-#~ msgid "storage class specified for %s `%s'"
+-#~ msgstr "ishuri kugirango"
+-
+-#, fuzzy
+-#~ msgid "storage class specifiers invalid in friend function declarations"
+-#~ msgstr "ishuri Sibyo in Umumaro"
+-
+-#, fuzzy
+-#~ msgid "destructor cannot be static member function"
+-#~ msgstr "Umumaro"
+-
+-#, fuzzy
+-#~ msgid "destructors may not be `%s'"
+-#~ msgstr "Gicurasi OYA"
+-
+-#, fuzzy
+-#~ msgid "constructor cannot be static member function"
+-#~ msgstr "Umumaro"
+-
+-#, fuzzy
+-#~ msgid "constructors cannot be declared virtual"
+-#~ msgstr "Kitaboneka"
+-
+-#, fuzzy
+-#~ msgid "constructors may not be `%s'"
+-#~ msgstr "Gicurasi OYA"
+-
+-#, fuzzy
+-#~ msgid "return value type specifier for constructor ignored"
+-#~ msgstr "Garuka Agaciro Ubwoko kugirango"
+-
+-#, fuzzy
+-#~ msgid "can't initialize friend function `%s'"
+-#~ msgstr "gutangiza Umumaro"
+-
+-#, fuzzy
+-#~ msgid "virtual functions cannot be friends"
+-#~ msgstr "Kitaboneka Imimaro"
+-
+-#, fuzzy
+-#~ msgid "friend declaration not in class definition"
+-#~ msgstr "OYA in ishuri Insobanuro"
+-
+-#, fuzzy
+-#~ msgid "can't define friend function `%s' in a local class definition"
+-#~ msgstr "Kugaragaza... Umumaro in a ishuri Insobanuro"
+-
+-#, fuzzy
+-#~ msgid "destructors may not have parameters"
+-#~ msgstr "Gicurasi OYA Ibigenga"
+-
+-#, fuzzy
+-#~ msgid "cannot declare reference to `%#T'"
+-#~ msgstr "Indango Kuri"
+-
+-#, fuzzy
+-#~ msgid "cannot declare pointer to `%#T'"
+-#~ msgstr "Mweretsi Kuri"
+-
+-#, fuzzy
+-#~ msgid "cannot declare pointer to `%#T' member"
+-#~ msgstr "Mweretsi Kuri"
+-
+-#, fuzzy
+-#~ msgid "extra qualification `%T::' on member `%s' ignored"
+-#~ msgstr "Birenga ku"
+-
+-#, fuzzy
+-#~ msgid "cannot declare member function `%T::%s' within `%T'"
+-#~ msgstr "Umumaro muri"
+-
+-#, fuzzy
+-#~ msgid "cannot declare member `%T::%s' within `%T'"
+-#~ msgstr "muri"
+-
+-#, fuzzy
+-#~ msgid "data member may not have variably modified type `%T'"
+-#~ msgstr "Ibyatanzwe Gicurasi OYA Byahinduwe Ubwoko"
+-
+-#, fuzzy
+-#~ msgid "parameter may not have variably modified type `%T'"
+-#~ msgstr "Gicurasi OYA Byahinduwe Ubwoko"
+-
+-#, fuzzy
+-#~ msgid "only declarations of constructors can be `explicit'"
+-#~ msgstr "Bya"
+-
+-#, fuzzy
+-#~ msgid "non-object member `%s' cannot be declared `mutable'"
+-#~ msgstr "Igikoresho"
+-
+-#, fuzzy
+-#~ msgid "function `%s' cannot be declared `mutable'"
+-#~ msgstr "Umumaro"
+-
+-#, fuzzy
+-#~ msgid "template-id `%D' used as a declarator"
+-#~ msgstr "Inyandikorugero ID Nka a"
+-
+-#, fuzzy
+-#~ msgid "ISO C++ forbids nested type `%D' with same name as enclosing class"
+-#~ msgstr "C Ubwoko Na: Izina: Nka ishuri"
+-
+-#, fuzzy
+-#~ msgid "typedef name may not be class-qualified"
+-#~ msgstr "Izina: Gicurasi OYA ishuri"
+-
+-#, fuzzy
+-#~ msgid "invalid type qualifier for non-member function type"
+-#~ msgstr "Sibyo Ubwoko kugirango Umumaro Ubwoko"
+-
+-#, fuzzy
+-#~ msgid "type qualifiers specified for friend class declaration"
+-#~ msgstr "Ubwoko kugirango ishuri"
+-
+-#, fuzzy
+-#~ msgid "`inline' specified for friend class declaration"
+-#~ msgstr "`kugirango ishuri"
+-
+-#, fuzzy
+-#~ msgid "template parameters cannot be friends"
+-#~ msgstr "Inyandikorugero Ibigenga"
+-
+-#, fuzzy
+-#~ msgid "friend declaration requires class-key, i.e. `friend class %T::%D'"
+-#~ msgstr "E."
+-
+-#, fuzzy
+-#~ msgid "friend declaration requires class-key, i.e. `friend %#T'"
+-#~ msgstr "E."
+-
+-#, fuzzy
+-#~ msgid "trying to make class `%T' a friend of global scope"
+-#~ msgstr "Kuri Ubwoko ishuri a Bya Ingano:"
+-
+-#, fuzzy
+-#~ msgid "invalid qualifiers on non-member function type"
+-#~ msgstr "Sibyo ku Umumaro Ubwoko"
+-
+-#, fuzzy
+-#~ msgid "abstract declarator `%T' used as declaration"
+-#~ msgstr "Incamake Nka"
+-
+-#, fuzzy
+-#~ msgid "unnamed variable or field declared void"
+-#~ msgstr "Kitiswe IMPINDURAGACIRO Cyangwa Umwanya"
+-
+-#, fuzzy
+-#~ msgid "variable or field declared void"
+-#~ msgstr "IMPINDURAGACIRO Cyangwa Umwanya"
+-
+-#, fuzzy
+-#~ msgid "cannot use `::' in parameter declaration"
+-#~ msgstr "Gukoresha in"
+-
+-#, fuzzy
+-#~ msgid "invalid use of `::'"
+-#~ msgstr "Sibyo Gukoresha Bya"
+-
+-#, fuzzy
+-#~ msgid "function `%D' cannot be declared friend"
+-#~ msgstr "Umumaro"
+-
+-#, fuzzy
+-#~ msgid "can't make `%D' into a method -- not in a class"
+-#~ msgstr "Ubwoko a Uburyo OYA in a ishuri"
+-
+-#, fuzzy
+-#~ msgid "function `%D' declared virtual inside a union"
+-#~ msgstr "Umumaro Kitaboneka Mo Imbere a Ihuza"
+-
+-#, fuzzy
+-#~ msgid "`%D' cannot be declared virtual, since it is always static"
+-#~ msgstr "`%D'Kitaboneka guhera ni Buri gihe"
+-
+-#, fuzzy
+-#~ msgid "field `%D' has incomplete type"
+-#~ msgstr "Umwanya Ubwoko"
+-
+-#, fuzzy
+-#~ msgid "name `%T' has incomplete type"
+-#~ msgstr "Izina: Ubwoko"
+-
+-#, fuzzy
+-#~ msgid " in instantiation of template `%T'"
+-#~ msgstr "in Bya Inyandikorugero"
+-
+-#, fuzzy
+-#~ msgid "`%s' is neither function nor member function; cannot be declared friend"
+-#~ msgstr "`%s'ni Umumaro Umumaro"
+-
+-#, fuzzy
+-#~ msgid "member functions are implicitly friends of their class"
+-#~ msgstr "Imimaro Bya ishuri"
+-
+-#, fuzzy
+-#~ msgid "ISO C++ forbids initialization of member `%D'"
+-#~ msgstr "C Bya"
+-
+-#, fuzzy
+-#~ msgid "ISO C++ forbids static data member `%D' with same name as enclosing class"
+-#~ msgstr "C Ibyatanzwe Na: Izina: Nka ishuri"
+-
+-#, fuzzy
+-#~ msgid "storage class `auto' invalid for function `%s'"
+-#~ msgstr "ishuri Sibyo kugirango Umumaro"
+-
+-#, fuzzy
+-#~ msgid "storage class `register' invalid for function `%s'"
+-#~ msgstr "ishuri Sibyo kugirango Umumaro"
+-
+-#, fuzzy
+-#~ msgid "storage class `__thread' invalid for function `%s'"
+-#~ msgstr "ishuri Sibyo kugirango Umumaro"
+-
+-#, fuzzy
+-#~ msgid "storage class `static' invalid for function `%s' declared out of global scope"
+-#~ msgstr "ishuri Sibyo kugirango Umumaro Inyuma Bya Ingano:"
+-
+-#, fuzzy
+-#~ msgid "storage class `inline' invalid for function `%s' declared out of global scope"
+-#~ msgstr "ishuri Sibyo kugirango Umumaro Inyuma Bya Ingano:"
+-
+-#, fuzzy
+-#~ msgid "virtual non-class function `%s'"
+-#~ msgstr "Kitaboneka ishuri Umumaro"
+-
+-#, fuzzy
+-#~ msgid "cannot declare member function `%D' to have static linkage"
+-#~ msgstr "Umumaro Kuri"
+-
+-#, fuzzy
+-#~ msgid "cannot declare static function inside another function"
+-#~ msgstr "Umumaro Mo Imbere Umumaro"
+-
+-#, fuzzy
+-#~ msgid "`static' may not be used when defining (as opposed to declaring) a static data member"
+-#~ msgstr "`Gicurasi OYA Ryari: Nka Kuri a Ibyatanzwe"
+-
+-#, fuzzy
+-#~ msgid "cannot explicitly declare member `%#D' to have extern linkage"
+-#~ msgstr "Kuri"
+-
+-#, fuzzy
+-#~ msgid "default argument for `%#D' has type `%T'"
+-#~ msgstr "Mburabuzi kugirango Ubwoko"
+-
+-#, fuzzy
+-#~ msgid "default argument for parameter of type `%T' has type `%T'"
+-#~ msgstr "Mburabuzi kugirango Bya Ubwoko Ubwoko"
+-
+-#, fuzzy
+-#~ msgid "default argument `%E' uses local variable `%D'"
+-#~ msgstr "Mburabuzi IMPINDURAGACIRO"
+-
+-#, fuzzy
+-#~ msgid "invalid string constant `%E'"
+-#~ msgstr "Sibyo Ikurikiranyanyuguti"
+-
+-#, fuzzy
+-#~ msgid "invalid integer constant in parameter list, did you forget to give parameter name?"
+-#~ msgstr "Sibyo Umubare wuzuye in Urutonde Kuri Izina:"
+-
+-#, fuzzy
+-#~ msgid "parameter `%D' invalidly declared method type"
+-#~ msgstr "Uburyo Ubwoko"
+-
+-#, fuzzy
+-#~ msgid "parameter `%D' invalidly declared offset type"
+-#~ msgstr "Nta- boneza Ubwoko"
+-
+-#, fuzzy
+-#~ msgid "parameter `%D' includes %s to array of unknown bound `%T'"
+-#~ msgstr "Kuri Imbonerahamwe Bya Kitazwi"
+-
+-#, fuzzy
+-#~ msgid "invalid constructor; you probably meant `%T (const %T&)'"
+-#~ msgstr "Sibyo"
+-
+-#, fuzzy
+-#~ msgid "`%D' must be a nonstatic member function"
+-#~ msgstr "`%D'a Umumaro"
+-
+-#, fuzzy
+-#~ msgid "`%D' must be either a non-static member function or a non-member function"
+-#~ msgstr "`%D'a Umumaro Cyangwa a Umumaro"
+-
+-#, fuzzy
+-#~ msgid "`%D' must have an argument of class or enumerated type"
+-#~ msgstr "`%D'Bya ishuri Cyangwa Ubwoko"
+-
+-#, fuzzy
+-#~ msgid "conversion to %s%s will never use a type conversion operator"
+-#~ msgstr "Ihindurangero Kuri Nta narimwe Gukoresha a Ubwoko Ihindurangero Mukoresha"
+-
+-#, fuzzy
+-#~ msgid "ISO C++ prohibits overloading operator ?:"
+-#~ msgstr "C Mukoresha"
+-
+-#, fuzzy
+-#~ msgid "postfix `%D' must take `int' as its argument"
+-#~ msgstr "Nka"
+-
+-#, fuzzy
+-#~ msgid "postfix `%D' must take `int' as its second argument"
+-#~ msgstr "Nka ISEGONDA"
+-
+-#, fuzzy
+-#~ msgid "`%D' must take either zero or one argument"
+-#~ msgstr "`%D'Zeru Cyangwa"
+-
+-#, fuzzy
+-#~ msgid "`%D' must take either one or two arguments"
+-#~ msgstr "`%D'Cyangwa ingingo"
+-
+-#, fuzzy
+-#~ msgid "prefix `%D' should return `%T'"
+-#~ msgstr "Imbanziriza Garuka"
+-
+-#, fuzzy
+-#~ msgid "postfix `%D' should return `%T'"
+-#~ msgstr "Garuka"
+-
+-#, fuzzy
+-#~ msgid "`%D' must take exactly two arguments"
+-#~ msgstr "`%D'ingingo"
+-
+-#, fuzzy
+-#~ msgid "user-defined `%D' always evaluates both arguments"
+-#~ msgstr "Ukoresha: Buri gihe Byombi ingingo"
+-
+-#, fuzzy
+-#~ msgid "`%D' should return by value"
+-#~ msgstr "`%D'Garuka ku Agaciro"
+-
+-#, fuzzy
+-#~ msgid "`%D' cannot have default arguments"
+-#~ msgstr "`%D'Mburabuzi ingingo"
+-
+-#, fuzzy
+-#~ msgid "using typedef-name `%D' after `%s'"
+-#~ msgstr "ikoresha Izina: Nyuma"
+-
+-#, fuzzy
+-#~ msgid "using template type parameter `%T' after `%s'"
+-#~ msgstr "ikoresha Inyandikorugero Ubwoko Nyuma"
+-
+-#, fuzzy
+-#~ msgid "`%s %T' declares a new type at namespace scope"
+-#~ msgstr "`%s%T'a Gishya Ubwoko ku Ingano:"
+-
+-#, fuzzy
+-#~ msgid " names from dependent base classes are not visible to unqualified name lookup - to refer to the inherited type, say `%s %T::%T'"
+-#~ msgstr "Amazina Bivuye SHINGIRO Inzego OYA Kigaragara Kuri Izina: GUSHAKISHA Kuri Kuri i Ubwoko"
+-
+-#, fuzzy
+-#~ msgid "use of enum `%#D' without previous declaration"
+-#~ msgstr "Gukoresha Bya Ibanjirije"
+-
+-#, fuzzy
+-#~ msgid "derived union `%T' invalid"
+-#~ msgstr "Ihuza Sibyo"
+-
+-#, fuzzy
+-#~ msgid "base type `%T' fails to be a struct or class type"
+-#~ msgstr "SHINGIRO Ubwoko Kuri a Cyangwa ishuri Ubwoko"
+-
+-#, fuzzy
+-#~ msgid "base class `%T' has incomplete type"
+-#~ msgstr "SHINGIRO ishuri Ubwoko"
+-
+-#, fuzzy
+-#~ msgid "recursive type `%T' undefined"
+-#~ msgstr "Ubwoko kidasobanuye"
+-
+-#, fuzzy
+-#~ msgid "duplicate base type `%T' invalid"
+-#~ msgstr "Gusubiramo SHINGIRO Ubwoko Sibyo"
+-
+-#, fuzzy
+-#~ msgid "multiple definition of `%#T'"
+-#~ msgstr "Igikubo Insobanuro Bya"
+-
+-#, fuzzy
+-#~ msgid "previous definition here"
+-#~ msgstr "Ibanjirije Insobanuro"
+-
+-#, fuzzy
+-#~ msgid "enumerator value for `%D' not integer constant"
+-#~ msgstr "Agaciro kugirango OYA Umubare wuzuye"
+-
+-#, fuzzy
+-#~ msgid "overflow in enumeration values at `%D'"
+-#~ msgstr "Byarenze urugero in Uduciro ku"
+-
+-#, fuzzy
+-#~ msgid "return type `%#T' is incomplete"
+-#~ msgstr "Garuka Ubwoko ni"
+-
+-#, fuzzy
+-#~ msgid "semicolon missing after declaration of `%#T'"
+-#~ msgstr "Akabago n'Akitso Ibuze Nyuma Bya"
+-
+-#, fuzzy
+-#~ msgid "return type for `main' changed to `int'"
+-#~ msgstr "Garuka Ubwoko kugirango Byahinduwe Kuri"
+-
+-#, fuzzy
+-#~ msgid "`%D' implicitly declared before its definition"
+-#~ msgstr "`%D'Mbere Insobanuro"
+-
+-#, fuzzy
+-#~ msgid "`operator=' should return a reference to `*this'"
+-#~ msgstr "`Mukoresha Garuka a Indango Kuri"
+-
+-#, fuzzy
+-#~ msgid "`%D' is already defined in class `%T'"
+-#~ msgstr "`%D'ni in ishuri"
+-
+-#, fuzzy
+-#~ msgid "static member function `%#D' declared with type qualifiers"
+-#~ msgstr "Umumaro Na: Ubwoko"
+-
+-#, fuzzy
+-#~ msgid "duplicate type qualifiers in %s declaration"
+-#~ msgstr "Gusubiramo Ubwoko in"
+-
+-#, fuzzy
+-#~ msgid "template `%#D' instantiated in file without #pragma interface"
+-#~ msgstr "Inyandikorugero in IDOSIYE"
+-
+-#, fuzzy
+-#~ msgid "template `%#D' defined in file without #pragma interface"
+-#~ msgstr "Inyandikorugero in IDOSIYE"
+-
+-#, fuzzy
+-#~ msgid "name missing for member function"
+-#~ msgstr "Izina: Ibuze kugirango Umumaro"
+-
+-#, fuzzy
+-#~ msgid "parser may be lost: is there a '{' missing somewhere?"
+-#~ msgstr "Gicurasi ni a Ibuze"
+-
+-#, fuzzy
+-#~ msgid "ambiguous conversion for array subscript"
+-#~ msgstr "Ihindurangero kugirango Imbonerahamwe Inyandiko nyesi"
+-
+-#, fuzzy
+-#~ msgid "invalid types `%T[%T]' for array subscript"
+-#~ msgstr "Sibyo kugirango Imbonerahamwe Inyandiko nyesi"
+-
+-#, fuzzy
+-#~ msgid "type `%#T' argument given to `delete', expected pointer"
+-#~ msgstr "Ubwoko Kuri Ikitezwe: Mweretsi"
+-
+-#, fuzzy
+-#~ msgid "anachronistic use of array size in vector delete"
+-#~ msgstr "Gukoresha Bya Imbonerahamwe Ingano in Gusiba"
+-
+-#, fuzzy
+-#~ msgid "cannot delete a function. Only pointer-to-objects are valid arguments to `delete'"
+-#~ msgstr "Gusiba a Umumaro Mweretsi Kuri Ibintu Byemewe ingingo Kuri"
+-
+-#, fuzzy
+-#~ msgid "deleting `%T' is undefined"
+-#~ msgstr "ni kidasobanuye"
+-
+-#, fuzzy
+-#~ msgid "deleting array `%#D'"
+-#~ msgstr "Imbonerahamwe"
+-
+-#, fuzzy
+-#~ msgid "invalid declaration of member template `%#D' in local class"
+-#~ msgstr "Sibyo Bya Inyandikorugero in ishuri"
+-
+-#, fuzzy
+-#~ msgid "invalid use of `virtual' in template declaration of `%#D'"
+-#~ msgstr "Sibyo Gukoresha Bya in Inyandikorugero Bya"
+-
+-#, fuzzy
+-#~ msgid "template declaration of `%#D'"
+-#~ msgstr "Inyandikorugero Bya"
+-
+-#, fuzzy
+-#~ msgid "Java method '%D' has non-Java return type `%T'"
+-#~ msgstr "Uburyo Garuka Ubwoko"
+-
+-#, fuzzy
+-#~ msgid "Java method '%D' has non-Java parameter type `%T'"
+-#~ msgstr "Uburyo Ubwoko"
+-
+-#, fuzzy
+-#~ msgid "prototype for `%#D' does not match any in class `%T'"
+-#~ msgstr "kugirango OYA BIHUYE in ishuri"
+-
+-#, fuzzy
+-#~ msgid "local class `%#T' shall not have static data member `%#D'"
+-#~ msgstr "ishuri OYA Ibyatanzwe"
+-
+-#, fuzzy
+-#~ msgid "initializer invalid for static member with constructor"
+-#~ msgstr "Sibyo kugirango Na:"
+-
+-#, fuzzy
+-#~ msgid "(an out of class initialization is required)"
+-#~ msgstr "(Inyuma Bya ishuri ni Bya ngombwa"
+-
+-#, fuzzy
+-#~ msgid "invalid data member initialization"
+-#~ msgstr "Sibyo Ibyatanzwe"
+-
+-#, fuzzy
+-#~ msgid "(use `=' to initialize static data members)"
+-#~ msgstr "(Gukoresha Kuri gutangiza Ibyatanzwe"
+-
+-#, fuzzy
+-#~ msgid "member `%D' conflicts with virtual function table field name"
+-#~ msgstr "Na: Kitaboneka Umumaro imbonerahamwe# Umwanya Izina:"
+-
+-#, fuzzy
+-#~ msgid "`%D' is already defined in `%T'"
+-#~ msgstr "`%D'ni in"
+-
+-#, fuzzy
+-#~ msgid "field initializer is not constant"
+-#~ msgstr "Umwanya ni OYA"
+-
+-#, fuzzy
+-#~ msgid "`asm' specifiers are not permitted on non-static data members"
+-#~ msgstr "`OYA ku Ibyatanzwe"
+-
+-#, fuzzy
+-#~ msgid "cannot declare `%D' to be a bit-field type"
+-#~ msgstr "Kuri a Umwanya Ubwoko"
+-
+-#, fuzzy
+-#~ msgid "cannot declare bit-field `%D' with function type"
+-#~ msgstr "Umwanya Na: Umumaro Ubwoko"
+-
+-#, fuzzy
+-#~ msgid "`%D' is already defined in the class %T"
+-#~ msgstr "`%D'ni in i ishuri"
+-
+-#, fuzzy
+-#~ msgid "static member `%D' cannot be a bit-field"
+-#~ msgstr "a Umwanya"
+-
+-#, fuzzy
+-#~ msgid "initializer specified for non-member function `%D'"
+-#~ msgstr "kugirango Umumaro"
+-
+-#, fuzzy
+-#~ msgid "invalid initializer for virtual method `%D'"
+-#~ msgstr "Sibyo kugirango Kitaboneka Uburyo"
+-
+-#, fuzzy
+-#~ msgid "anonymous struct not inside named type"
+-#~ msgstr "OYA Mo Imbere Ubwoko"
+-
+-#, fuzzy
+-#~ msgid "namespace-scope anonymous aggregates must be static"
+-#~ msgstr "Ingano:"
+-
+-#, fuzzy
+-#~ msgid "anonymous aggregate with no members"
+-#~ msgstr "Na: Oya"
+-
+-#, fuzzy
+-#~ msgid "`operator new' must return type `%T'"
+-#~ msgstr "`Mukoresha Garuka Ubwoko"
+-
+-#, fuzzy
+-#~ msgid "`operator new' takes type `size_t' (`%T') as first parameter"
+-#~ msgstr "`Mukoresha Ubwoko Nka Itangira"
+-
+-#, fuzzy
+-#~ msgid "`operator delete' must return type `%T'"
+-#~ msgstr "`Mukoresha Garuka Ubwoko"
+-
+-#, fuzzy
+-#~ msgid "`operator delete' takes type `%T' as first parameter"
+-#~ msgstr "`Mukoresha Ubwoko Nka Itangira"
+-
+-#, fuzzy
+-#~ msgid "too many initialization functions required"
+-#~ msgstr "Imimaro Bya ngombwa"
+-
+-#, fuzzy
+-#~ msgid "inline function `%D' used but never defined"
+-#~ msgstr "Mumurongo Umumaro Nta narimwe"
+-
+-#, fuzzy
+-#~ msgid "use of old-style cast"
+-#~ msgstr "Gukoresha Bya ki/ bishaje IMISUSIRE"
+-
+-#, fuzzy
+-#~ msgid "use of `%D' is ambiguous"
+-#~ msgstr "Gukoresha Bya ni"
+-
+-#, fuzzy
+-#~ msgid " first declared as `%#D' here"
+-#~ msgstr "Itangira Nka"
+-
+-#, fuzzy
+-#~ msgid " also declared as `%#D' here"
+-#~ msgstr "Nka"
+-
+-#, fuzzy
+-#~ msgid "`%D' denotes an ambiguous type"
+-#~ msgstr "`%D'Ubwoko"
+-
+-#, fuzzy
+-#~ msgid " first type here"
+-#~ msgstr "Itangira Ubwoko"
+-
+-#, fuzzy
+-#~ msgid " other type here"
+-#~ msgstr "Ikindi Ubwoko"
+-
+-#, fuzzy
+-#~ msgid "declaration of `%D' not in a namespace surrounding `%D'"
+-#~ msgstr "Bya OYA in a"
+-
+-#, fuzzy
+-#~ msgid "`%D' should have been declared inside `%D'"
+-#~ msgstr "`%D'Mo Imbere"
+-
+-#, fuzzy
+-#~ msgid "`%D' is not a function,"
+-#~ msgstr "`%D'ni OYA a Umumaro"
+-
+-#, fuzzy
+-#~ msgid " conflict with `%D'"
+-#~ msgstr "Na:"
+-
+-#, fuzzy
+-#~ msgid "unknown namespace `%D'"
+-#~ msgstr "Kitazwi"
+-
+-#, fuzzy
+-#~ msgid "`%T' is not a namespace"
+-#~ msgstr "`%T'ni OYA a"
+-
+-#, fuzzy
+-#~ msgid "`%D' is not a namespace"
+-#~ msgstr "`%D'ni OYA a"
+-
+-#, fuzzy
+-#~ msgid "a using-declaration cannot specify a template-id. Try `using %D'"
+-#~ msgstr "a ikoresha a Inyandikorugero ID ikoresha"
+-
+-#, fuzzy
+-#~ msgid "namespace `%D' not allowed in using-declaration"
+-#~ msgstr "OYA in ikoresha"
+-
+-#, fuzzy
+-#~ msgid "`%D' not declared"
+-#~ msgstr "`%D'OYA"
+-
+-#, fuzzy
+-#~ msgid "`%D' is already declared in this scope"
+-#~ msgstr "`%D'ni in iyi Ingano:"
+-
+-#, fuzzy
+-#~ msgid "using declaration `%D' introduced ambiguous type `%T'"
+-#~ msgstr "ikoresha Ubwoko"
+-
+-#, fuzzy
+-#~ msgid "using-declaration for non-member at class scope"
+-#~ msgstr "ikoresha kugirango ku ishuri Ingano:"
+-
+-#, fuzzy
+-#~ msgid "using-declaration for destructor"
+-#~ msgstr "ikoresha kugirango"
+-
+-#, fuzzy
+-#~ msgid "a using-declaration cannot specify a template-id. Try `using %T::%D'"
+-#~ msgstr "a ikoresha a Inyandikorugero ID ikoresha"
+-
+-#, fuzzy
+-#~ msgid "default argument missing for parameter %P of `%+#D'"
+-#~ msgstr "Mburabuzi Ibuze kugirango Bya"
+-
+-#, fuzzy
+-#~ msgid "extra qualification `%T::' on member `%D' ignored"
+-#~ msgstr "Birenga ku"
+-
+-#, fuzzy
+-#~ msgid "`%T' does not have a class or union named `%D'"
+-#~ msgstr "`%T'OYA a ishuri Cyangwa Ihuza"
+-
+-#, fuzzy
+-#~ msgid "`%T' is not a class or union type"
+-#~ msgstr "`%T'ni OYA a ishuri Cyangwa Ihuza Ubwoko"
+-
+-#, fuzzy
+-#~ msgid "template argument is required for `%T'"
+-#~ msgstr "Inyandikorugero ni Bya ngombwa kugirango"
+-
+-#, fuzzy
+-#~ msgid "declaration of `%D' in `%D' which does not enclose `%D'"
+-#~ msgstr "Bya in OYA"
+-
+-#, fuzzy
+-#~ msgid "`%s' not supported by %s"
+-#~ msgstr "`%s'OYA ku"
+-
+-#, fuzzy
+-#~ msgid "(static %s for %s)"
+-#~ msgstr "(kugirango"
+-
+-# #-#-#-#-# dbaccess.pot (PACKAGE VERSION) #-#-#-#-#
+-# #-#-#-#-# dbaccess.pot (PACKAGE VERSION) #-#-#-#-#
+-# #-#-#-#-# dbaccess.pot (PACKAGE VERSION) #-#-#-#-#
+-#, fuzzy
+-#~ msgid "\\x%x"
+-#~ msgstr "\\x%x"
+-
+-# vcl/source\src\units.src:SV_FUNIT_STRINGS.10.text
+-#, fuzzy
+-#~ msgid "In %s `%s':"
+-#~ msgstr "in"
+-
+-#, fuzzy
+-#~ msgid "%s: In instantiation of `%s':\n"
+-#~ msgstr "%s:Bya"
+-
+-#, fuzzy
+-#~ msgid "%s:%d: instantiated from `%s'\n"
+-#~ msgstr "%s:%d:Bivuye"
+-
+-#, fuzzy
+-#~ msgid "%s:%d: instantiated from here\n"
+-#~ msgstr "%s:%d:Bivuye"
+-
+-#, fuzzy
+-#~ msgid "unexpected letter `%c' in locate_error\n"
+-#~ msgstr "Ibaruwa... in"
+-
+-#, fuzzy
+-#~ msgid "type `%T' is disallowed in Java `throw' or `catch'"
+-#~ msgstr "Ubwoko ni in Cyangwa"
+-
+-#, fuzzy
+-#~ msgid "call to Java `catch' or `throw' with `jthrowable' undefined"
+-#~ msgstr "Kuri Cyangwa Na: kidasobanuye"
+-
+-#, fuzzy
+-#~ msgid "type `%T' is not derived from `java::lang::Throwable'"
+-#~ msgstr "Ubwoko ni OYA Bivuye java"
+-
+-#, fuzzy
+-#~ msgid "mixing C++ and Java catches in a single translation unit"
+-#~ msgstr "C Na in a UMWE Umwandiko wahinduwe ururimi Igice:"
+-
+-#, fuzzy
+-#~ msgid "throwing NULL, which has integral, not pointer type"
+-#~ msgstr "Umubare Wuzuye OYA Mweretsi Ubwoko"
+-
+-#, fuzzy
+-#~ msgid " in thrown expression"
+-#~ msgstr "in imvugo"
+-
+-#, fuzzy
+-#~ msgid "expression '%E' of abstract class type '%T' cannot be used in throw-expression"
+-#~ msgstr "imvugo Bya Incamake ishuri Ubwoko in imvugo"
+-
+-#, fuzzy
+-#~ msgid "exception of type `%T' will be caught"
+-#~ msgstr "Irengayobora(-) Bya Ubwoko"
+-
+-#, fuzzy
+-#~ msgid " by earlier handler for `%T'"
+-#~ msgstr "ku kugirango"
+-
+-#, fuzzy
+-#~ msgid "`...' handler must be the last handler for its try block"
+-#~ msgstr "`...'i Iheruka kugirango Funga"
+-
+-#, fuzzy
+-#~ msgid "`%D' is already a friend of class `%T'"
+-#~ msgstr "`%D'ni a Bya ishuri"
+-
+-#, fuzzy
+-#~ msgid "previous friend declaration of `%D'"
+-#~ msgstr "Ibanjirije Bya"
+-
+-#, fuzzy
+-#~ msgid "invalid type `%T' declared `friend'"
+-#~ msgstr "Sibyo Ubwoko"
+-
+-#, fuzzy
+-#~ msgid "partial specialization `%T' declared `friend'"
+-#~ msgstr "Bituzuye"
+-
+-#, fuzzy
+-#~ msgid "class `%T' is implicitly friends with itself"
+-#~ msgstr "ishuri ni Na:"
+-
+-#, fuzzy
+-#~ msgid "typename type `%#T' declared `friend'"
+-#~ msgstr "Ubwoko"
+-
+-#, fuzzy
+-#~ msgid "template parameter type `%T' declared `friend'"
+-#~ msgstr "Inyandikorugero Ubwoko"
+-
+-#, fuzzy
+-#~ msgid "`%#T' is not a template"
+-#~ msgstr "`%#T'ni OYA a Inyandikorugero"
+-
+-#, fuzzy
+-#~ msgid "`%T' is already a friend of `%T'"
+-#~ msgstr "`%T'ni a Bya"
+-
+-#, fuzzy
+-#~ msgid "member `%D' declared as friend before type `%T' defined"
+-#~ msgstr "Nka Mbere Ubwoko"
+-
+-#, fuzzy
+-#~ msgid "friend declaration `%#D' declares a non-template function"
+-#~ msgstr "a Inyandikorugero Umumaro"
+-
+-#, fuzzy
+-#~ msgid "(if this is not what you intended, make sure the function template has already been declared and add <> after the function name here) -Wno-non-template-friend disables this warning"
+-#~ msgstr "(NIBA iyi ni OYA Ubwoko i Umumaro Inyandikorugero Na Kongeramo Nyuma i Umumaro Izina: Inyandikorugero iyi Iburira"
+-
+-#, fuzzy
+-#~ msgid "argument to `%s' missing\n"
+-#~ msgstr "Kuri"
+-
+-#, fuzzy
+-#~ msgid "`%D' should be initialized in the member initialization list"
+-#~ msgstr "`%D'in i Urutonde"
+-
+-#, fuzzy
+-#~ msgid "default-initialization of `%#D', which has reference type"
+-#~ msgstr "Mburabuzi Bya Indango Ubwoko"
+-
+-#, fuzzy
+-#~ msgid "uninitialized reference member `%D'"
+-#~ msgstr "Itatangijwe Indango"
+-
+-#, fuzzy
+-#~ msgid "initializer list treated as compound expression"
+-#~ msgstr "Urutonde Nka imvugo"
+-
+-#, fuzzy
+-#~ msgid "`%D' will be initialized after"
+-#~ msgstr "`%D'Nyuma"
+-
+-#, fuzzy
+-#~ msgid "base `%T' will be initialized after"
+-#~ msgstr "SHINGIRO Nyuma"
+-
+-# desktop/source\app\ssodlg.src:DLG_SSOLOGIN.text
+-#, fuzzy
+-#~ msgid " `%#D'"
+-#~ msgstr "`%#D'"
+-
+-# sc/source\core\src\compiler.src:RID_SC_FUNCTION_NAMES.SC_OPCODE_BASE.text
+-#, fuzzy
+-#~ msgid " base `%T'"
+-#~ msgstr "SHINGIRO"
+-
+-#, fuzzy
+-#~ msgid "multiple initializations given for base `%T'"
+-#~ msgstr "Igikubo kugirango SHINGIRO"
+-
+-#, fuzzy
+-#~ msgid "initializations for multiple members of `%T'"
+-#~ msgstr "kugirango Igikubo Bya"
+-
+-#, fuzzy
+-#~ msgid "base class `%#T' should be explicitly initialized in the copy constructor"
+-#~ msgstr "SHINGIRO ishuri in i Gukoporora"
+-
+-#, fuzzy
+-#~ msgid "class `%T' does not have any field named `%D'"
+-#~ msgstr "ishuri OYA Umwanya"
+-
+-#, fuzzy
+-#~ msgid "field `%#D' is static; the only point of initialization is its definition"
+-#~ msgstr "Umwanya ni i Akadomo Bya ni Insobanuro"
+-
+-#, fuzzy
+-#~ msgid "unnamed initializer for `%T', which has no base classes"
+-#~ msgstr "Kitiswe kugirango Oya SHINGIRO Inzego"
+-
+-#, fuzzy
+-#~ msgid "unnamed initializer for `%T', which uses multiple inheritance"
+-#~ msgstr "Kitiswe kugirango Igikubo"
+-
+-#, fuzzy
+-#~ msgid "type `%D' is not a direct or virtual base of `%T'"
+-#~ msgstr "Ubwoko ni OYA a Cyangwa Kitaboneka SHINGIRO Bya"
+-
+-#, fuzzy
+-#~ msgid "type `%D' is not a direct base of `%T'"
+-#~ msgstr "Ubwoko ni OYA a SHINGIRO Bya"
+-
+-#, fuzzy
+-#~ msgid "bad array initializer"
+-#~ msgstr "Imbonerahamwe"
+-
+-#, fuzzy
+-#~ msgid "`%T' is not an aggregate type"
+-#~ msgstr "`%T'ni OYA Ubwoko"
+-
+-#, fuzzy
+-#~ msgid "`%T' fails to be an aggregate typedef"
+-#~ msgstr "`%T'Kuri"
+-
+-#, fuzzy
+-#~ msgid "type `%T' is of non-aggregate type"
+-#~ msgstr "Ubwoko ni Bya Ubwoko"
+-
+-#, fuzzy
+-#~ msgid "cannot call destructor `%T::~%T' without object"
+-#~ msgstr "Igikoresho"
+-
+-#, fuzzy
+-#~ msgid "invalid use of non-static field `%D'"
+-#~ msgstr "Sibyo Gukoresha Bya Umwanya"
+-
+-#, fuzzy
+-#~ msgid "invalid use of member `%D'"
+-#~ msgstr "Sibyo Gukoresha Bya"
+-
+-#, fuzzy
+-#~ msgid "no method `%T::%D'"
+-#~ msgstr "Oya Uburyo"
+-
+-#, fuzzy
+-#~ msgid "incomplete type `%T' does not have member `%D'"
+-#~ msgstr "Ubwoko OYA"
+-
+-#, fuzzy
+-#~ msgid "`%D' is not a member of type `%T'"
+-#~ msgstr "`%D'ni OYA a Bya Ubwoko"
+-
+-#, fuzzy
+-#~ msgid "invalid pointer to bit-field `%D'"
+-#~ msgstr "Sibyo Mweretsi Kuri Umwanya"
+-
+-#, fuzzy
+-#~ msgid "object missing in use of pointer-to-member construct"
+-#~ msgstr "Igikoresho Ibuze in Gukoresha Bya Mweretsi Kuri"
+-
+-#, fuzzy
+-#~ msgid "member `%D' is non-static but referenced as a static member"
+-#~ msgstr "ni Nka a"
+-
+-#, fuzzy
+-#~ msgid "at this point in file"
+-#~ msgstr "ku iyi Akadomo in IDOSIYE"
+-
+-#, fuzzy
+-#~ msgid "object missing in `%E'"
+-#~ msgstr "Igikoresho Ibuze in"
+-
+-#, fuzzy
+-#~ msgid "new of array type fails to specify size"
+-#~ msgstr "Gishya Bya Imbonerahamwe Ubwoko Kuri Ingano"
+-
+-#, fuzzy
+-#~ msgid "size in array new must have integral type"
+-#~ msgstr "Ingano in Imbonerahamwe Gishya Umubare Wuzuye Ubwoko"
+-
+-#, fuzzy
+-#~ msgid "zero size array reserves no space"
+-#~ msgstr "Zeru Ingano Imbonerahamwe Oya Umwanya"
+-
+-#, fuzzy
+-#~ msgid "new cannot be applied to a reference type"
+-#~ msgstr "Gishya Byashyizweho Kuri a Indango Ubwoko"
+-
+-#, fuzzy
+-#~ msgid "new cannot be applied to a function type"
+-#~ msgstr "Gishya Byashyizweho Kuri a Umumaro Ubwoko"
+-
+-#, fuzzy
+-#~ msgid "call to Java constructor, while `jclass' undefined"
+-#~ msgstr "Kuri kidasobanuye"
+-
+-#, fuzzy
+-#~ msgid "can't find class$"
+-#~ msgstr "Gushaka ishuri"
+-
+-#, fuzzy
+-#~ msgid "invalid type `void' for new"
+-#~ msgstr "Sibyo Ubwoko kugirango Gishya"
+-
+-#, fuzzy
+-#~ msgid "call to Java constructor with `%s' undefined"
+-#~ msgstr "Kuri Na: kidasobanuye"
+-
+-#, fuzzy
+-#~ msgid "ISO C++ forbids initialization in array new"
+-#~ msgstr "C in Imbonerahamwe Gishya"
+-
+-#, fuzzy
+-#~ msgid "initializer list being treated as compound expression"
+-#~ msgstr "Urutonde Nka imvugo"
+-
+-#, fuzzy
+-#~ msgid "ISO C++ forbids aggregate initializer to new"
+-#~ msgstr "C Kuri Gishya"
+-
+-#, fuzzy
+-#~ msgid "uninitialized const in `new' of `%#T'"
+-#~ msgstr "Itatangijwe in Bya"
+-
+-#, fuzzy
+-#~ msgid "cannot initialize multi-dimensional array with initializer"
+-#~ msgstr "gutangiza Imbonerahamwe Na:"
+-
+-#, fuzzy
+-#~ msgid "unknown array size in delete"
+-#~ msgstr "Kitazwi Imbonerahamwe Ingano in Gusiba"
+-
+-#, fuzzy
+-#~ msgid "type to vector delete is neither pointer or array type"
+-#~ msgstr "Ubwoko Kuri Gusiba ni Mweretsi Cyangwa Imbonerahamwe Ubwoko"
+-
+-#, fuzzy
+-#~ msgid "type name expected before `*'"
+-#~ msgstr "Ubwoko Izina: Ikitezwe: Mbere"
+-
+-#, fuzzy
+-#~ msgid "cannot declare references to references"
+-#~ msgstr "Indango Kuri Indango"
+-
+-#, fuzzy
+-#~ msgid "cannot declare pointers to references"
+-#~ msgstr "Kuri Indango"
+-
+-#, fuzzy
+-#~ msgid "type name expected before `&'"
+-#~ msgstr "Ubwoko Izina: Ikitezwe: Mbere"
+-
+-#, fuzzy
+-#~ msgid "semicolon missing after %s declaration"
+-#~ msgstr "Akabago n'Akitso Ibuze Nyuma"
+-
+-#, fuzzy
+-#~ msgid "semicolon missing after declaration of `%T'"
+-#~ msgstr "Akabago n'Akitso Ibuze Nyuma Bya"
+-
+-#, fuzzy
+-#~ msgid "junk at end of #pragma %s"
+-#~ msgstr "Umwanda ku Impera Bya"
+-
+-#, fuzzy
+-#~ msgid "invalid #pragma %s"
+-#~ msgstr "Sibyo"
+-
+-#, fuzzy
+-#~ msgid "#pragma vtable no longer supported"
+-#~ msgstr "#Oya"
+-
+-#, fuzzy
+-#~ msgid "#pragma implementation for %s appears after file is included"
+-#~ msgstr "#kugirango Nyuma IDOSIYE ni"
+-
+-#, fuzzy
+-#~ msgid "junk at end of #pragma GCC java_exceptions"
+-#~ msgstr "Umwanda ku Impera Bya"
+-
+-#, fuzzy
+-#~ msgid "`%D' not defined"
+-#~ msgstr "`%D'Bitasobanutse>"
+-
+-#, fuzzy
+-#~ msgid "`%D' was not declared in this scope"
+-#~ msgstr "`%D'OYA in iyi Ingano:"
+-
+-#, fuzzy
+-#~ msgid "`%D' undeclared (first use this function)"
+-#~ msgstr "`%D'Itangira Gukoresha iyi Umumaro"
+-
+-#, fuzzy
+-#~ msgid "(Each undeclared identifier is reported only once for each function it appears in.)"
+-#~ msgstr "(Ikiranga ni Rimwe kugirango Umumaro in"
+-
+-#, fuzzy
+-#~ msgid "`::%D' undeclared (first use here)"
+-#~ msgstr "`::%D'Itangira Gukoresha"
+-
+-#, fuzzy
+-#~ msgid "real-valued template parameters when cross-compiling"
+-#~ msgstr "Inyandikorugero Ibigenga Ryari: Kwambukiranya"
+-
+-#, fuzzy
+-#~ msgid "the mangled name of `%D' will change in a future version of GCC"
+-#~ msgstr "i Izina: Bya Guhindura>> in a Verisiyo Bya"
+-
+-#, fuzzy
+-#~ msgid "due to a defect in the G++ 3.2 ABI, G++ has assigned the same mangled name to two different types"
+-#~ msgstr "Kuri a in i 3. 2. i Izina: Kuri"
+-
+-#, fuzzy
+-#~ msgid "invalid use of member `%D' in static member function"
+-#~ msgstr "Sibyo Gukoresha Bya in Umumaro"
+-
+-#, fuzzy
+-#~ msgid "use of namespace `%D' as expression"
+-#~ msgstr "Gukoresha Bya Nka imvugo"
+-
+-#, fuzzy
+-#~ msgid "use of class template `%T' as expression"
+-#~ msgstr "Gukoresha Bya ishuri Inyandikorugero Nka imvugo"
+-
+-#, fuzzy
+-#~ msgid "use of %s from containing function"
+-#~ msgstr "Gukoresha Bya Bivuye Umumaro"
+-
+-#, fuzzy
+-#~ msgid "request for member `%D' is ambiguous in multiple inheritance lattice"
+-#~ msgstr "Kubaza... kugirango ni in Igikubo"
+-
+-#, fuzzy
+-#~ msgid "generic thunk code fails for method `%#D' which uses `...'"
+-#~ msgstr "Gifitanye isano ITEGEKONGENGA kugirango Uburyo"
+-
+-#, fuzzy
+-#~ msgid "non-static const member `%#D', can't use default assignment operator"
+-#~ msgstr "Gukoresha Mburabuzi Igenera Mukoresha"
+-
+-#, fuzzy
+-#~ msgid "non-static reference member `%#D', can't use default assignment operator"
+-#~ msgstr "Indango Gukoresha Mburabuzi Igenera Mukoresha"
+-
+-#, fuzzy
+-#~ msgid "`%s' tag used in naming `%#T'"
+-#~ msgstr "`%s'Itagi: in"
+-
+-#, fuzzy
+-#~ msgid "keyword `export' not implemented, and will be ignored"
+-#~ msgstr "Ijambo- banze OYA Na"
+-
+-#, fuzzy
+-#~ msgid "use of linkage spec `%D' is different from previous spec `%D'"
+-#~ msgstr "Gukoresha Bya ni Bivuye Ibanjirije"
+-
+-#, fuzzy
+-#~ msgid "no base or member initializers given following ':'"
+-#~ msgstr "Oya SHINGIRO Cyangwa"
+-
+-#, fuzzy
+-#~ msgid "anachronistic old style base class initializer"
+-#~ msgstr "ki/ bishaje IMISUSIRE SHINGIRO ishuri"
+-
+-#, fuzzy
+-#~ msgid "`>>' should be `> >' in template class name"
+-#~ msgstr "`>>'in Inyandikorugero ishuri Izina:"
+-
+-#, fuzzy
+-#~ msgid "use of template qualifier outside template"
+-#~ msgstr "Gukoresha Bya Inyandikorugero Hanze Inyandikorugero"
+-
+-#, fuzzy
+-#~ msgid "ISO C++ forbids an empty condition for `%s'"
+-#~ msgstr "C ubusa Ibisabwa kugirango"
+-
+-#, fuzzy
+-#~ msgid "definition of class `%T' in condition"
+-#~ msgstr "Insobanuro Bya ishuri in Ibisabwa"
+-
+-#, fuzzy
+-#~ msgid "definition of enum `%T' in condition"
+-#~ msgstr "Insobanuro Bya in Ibisabwa"
+-
+-#, fuzzy
+-#~ msgid "definition of array `%#D' in condition"
+-#~ msgstr "Insobanuro Bya Imbonerahamwe in Ibisabwa"
+-
+-#, fuzzy
+-#~ msgid "old style placement syntax, use () instead"
+-#~ msgstr "ki/ bishaje IMISUSIRE Ishyira mu mwanya Gukoresha"
+-
+-#, fuzzy
+-#~ msgid "`%T' is not a valid expression"
+-#~ msgstr "`%T'ni OYA a Byemewe imvugo"
+-
+-#, fuzzy
+-#~ msgid "initialization of new expression with `='"
+-#~ msgstr "Bya Gishya imvugo Na:"
+-
+-#, fuzzy
+-#~ msgid "ISO C++ forbids compound literals"
+-#~ msgstr "C"
+-
+-#, fuzzy
+-#~ msgid "ISO C++ forbids braced-groups within expressions"
+-#~ msgstr "C Amatsinda muri"
+-
+-#, fuzzy
+-#~ msgid "sigof type specifier"
+-#~ msgstr "Ubwoko"
+-
+-#, fuzzy
+-#~ msgid "`sigof' applied to non-aggregate expression"
+-#~ msgstr "`Byashyizweho Kuri imvugo"
+-
+-#, fuzzy
+-#~ msgid "`sigof' applied to non-aggregate type"
+-#~ msgstr "`Byashyizweho Kuri Ubwoko"
+-
+-#, fuzzy
+-#~ msgid "using `typename' outside of template"
+-#~ msgstr "ikoresha Hanze Bya Inyandikorugero"
+-
+-#, fuzzy
+-#~ msgid "storage class specifier `%s' not allowed after struct or class"
+-#~ msgstr "ishuri OYA Nyuma Cyangwa ishuri"
+-
+-#, fuzzy
+-#~ msgid "type specifier `%s' not allowed after struct or class"
+-#~ msgstr "Ubwoko OYA Nyuma Cyangwa ishuri"
+-
+-#, fuzzy
+-#~ msgid "type qualifier `%s' not allowed after struct or class"
+-#~ msgstr "Ubwoko OYA Nyuma Cyangwa ishuri"
+-
+-#, fuzzy
+-#~ msgid "no body nor ';' separates two class, struct or union declarations"
+-#~ msgstr "Oya Umubiri ishuri Cyangwa Ihuza"
+-
+-#, fuzzy
+-#~ msgid "no bases given following `:'"
+-#~ msgstr "Oya"
+-
+-#, fuzzy
+-#~ msgid "multiple access specifiers"
+-#~ msgstr "Igikubo"
+-
+-#, fuzzy
+-#~ msgid "multiple `virtual' specifiers"
+-#~ msgstr "Igikubo"
+-
+-#, fuzzy
+-#~ msgid "missing ';' before right brace"
+-#~ msgstr "Ibuze Mbere Iburyo:"
+-
+-#, fuzzy
+-#~ msgid "ISO C++ forbids array dimensions with parenthesized type in new"
+-#~ msgstr "C Imbonerahamwe Ingero Na: Ubwoko in Gishya"
+-
+-#, fuzzy
+-#~ msgid "`%T' is not a class or namespace"
+-#~ msgstr "`%T'ni OYA a ishuri Cyangwa"
+-
+-#, fuzzy
+-#~ msgid "ISO C++ forbids label declarations"
+-#~ msgstr "C Akarango"
+-
+-#, fuzzy
+-#~ msgid "ISO C++ forbids computed gotos"
+-#~ msgstr "C"
+-
+-#, fuzzy
+-#~ msgid "label must be followed by statement"
+-#~ msgstr "Akarango ku Inyandiko"
+-
+-#, fuzzy
+-#~ msgid "must have at least one catch per try block"
+-#~ msgstr "ku Funga"
+-
+-#, fuzzy
+-#~ msgid "ISO C++ forbids compound statements inside for initializations"
+-#~ msgstr "C Mo Imbere kugirango"
+-
+-#, fuzzy
+-#~ msgid "possibly missing ')'"
+-#~ msgstr "Ibuze"
+-
+-#, fuzzy
+-#~ msgid "type specifier omitted for parameter"
+-#~ msgstr "Ubwoko kugirango"
+-
+-#, fuzzy
+-#~ msgid "`%E' is not a type, use `typename %E' to make it one"
+-#~ msgstr "`%E'ni OYA a Ubwoko Gukoresha Kuri Ubwoko"
+-
+-#, fuzzy
+-#~ msgid "no type `%D' in `%T'"
+-#~ msgstr "Oya Ubwoko in"
+-
+-#, fuzzy
+-#~ msgid "type specifier omitted for parameter `%E'"
+-#~ msgstr "Ubwoko kugirango"
+-
+-#, fuzzy
+-#~ msgid "'%D' is used as a type, but is not defined as a type."
+-#~ msgstr "'%D'ni Nka a Ubwoko ni OYA Nka a Ubwoko"
+-
+-#, fuzzy
+-#~ msgid "data member `%D' cannot be a member template"
+-#~ msgstr "Ibyatanzwe a Inyandikorugero"
+-
+-#, fuzzy
+-#~ msgid "invalid member template declaration `%D'"
+-#~ msgstr "Sibyo Inyandikorugero"
+-
+-#, fuzzy
+-#~ msgid "explicit specialization in non-namespace scope `%D'"
+-#~ msgstr "in Ingano:"
+-
+-#, fuzzy
+-#~ msgid "enclosing class templates are not explicitly specialized"
+-#~ msgstr "ishuri Inyandikorugero OYA cy'umwihariko/ mwihariko"
+-
+-#, fuzzy
+-#~ msgid "specializing `%#T' in different namespace"
+-#~ msgstr "in"
+-
+-#, fuzzy
+-#~ msgid " from definition of `%#D'"
+-#~ msgstr "Bivuye Insobanuro Bya"
+-
+-#, fuzzy
+-#~ msgid "specialization of `%T' after instantiation"
+-#~ msgstr "Bya Nyuma"
+-
+-#, fuzzy
+-#~ msgid "specialization `%T' after instantiation `%T'"
+-#~ msgstr "Nyuma"
+-
+-#, fuzzy
+-#~ msgid "explicit specialization of non-template `%T'"
+-#~ msgstr "Bya Inyandikorugero"
+-
+-#, fuzzy
+-#~ msgid "specialization of %D after instantiation"
+-#~ msgstr "Bya Nyuma"
+-
+-# #-#-#-#-# dbaccess.pot (PACKAGE VERSION) #-#-#-#-#
+-# #-#-#-#-# dbaccess.pot (PACKAGE VERSION) #-#-#-#-#
+-# #-#-#-#-# dbaccess.pot (PACKAGE VERSION) #-#-#-#-#
+-#, fuzzy
+-#~ msgid "%s %+#D"
+-#~ msgstr "%s%+#D"
+-
+-#, fuzzy
+-#~ msgid "`%D' is not a function template"
+-#~ msgstr "`%D'ni OYA a Umumaro Inyandikorugero"
+-
+-#, fuzzy
+-#~ msgid "template-id `%D' for `%+D' does not match any template declaration"
+-#~ msgstr "Inyandikorugero ID kugirango OYA BIHUYE Inyandikorugero"
+-
+-#, fuzzy
+-#~ msgid "ambiguous template specialization `%D' for `%+D'"
+-#~ msgstr "Inyandikorugero kugirango"
+-
+-#, fuzzy
+-#~ msgid "template-id `%D' in declaration of primary template"
+-#~ msgstr "Inyandikorugero ID in Bya Inyandikorugero"
+-
+-#, fuzzy
+-#~ msgid "template parameter list used in explicit instantiation"
+-#~ msgstr "Inyandikorugero Urutonde in"
+-
+-#, fuzzy
+-#~ msgid "definition provided for explicit instantiation"
+-#~ msgstr "Insobanuro kugirango"
+-
+-#, fuzzy
+-#~ msgid "too many template parameter lists in declaration of `%D'"
+-#~ msgstr "Inyandikorugero Intonde in Bya"
+-
+-#, fuzzy
+-#~ msgid "too few template parameter lists in declaration of `%D'"
+-#~ msgstr "Inyandikorugero Intonde in Bya"
+-
+-#, fuzzy
+-#~ msgid "explicit specialization not preceded by `template <>'"
+-#~ msgstr "OYA ku Inyandikorugero"
+-
+-#, fuzzy
+-#~ msgid "partial specialization `%D' of function template"
+-#~ msgstr "Bituzuye Bya Umumaro Inyandikorugero"
+-
+-#, fuzzy
+-#~ msgid "default argument specified in explicit specialization"
+-#~ msgstr "Mburabuzi in"
+-
+-#, fuzzy
+-#~ msgid "template specialization with C linkage"
+-#~ msgstr "Inyandikorugero Na: C"
+-
+-#, fuzzy
+-#~ msgid "specialization of implicitly-declared special member function"
+-#~ msgstr "Bya Bidasanzwe Umumaro"
+-
+-#, fuzzy
+-#~ msgid "no member function `%D' declared in `%T'"
+-#~ msgstr "Oya Umumaro in"
+-
+-#, fuzzy
+-#~ msgid "too many template parameter lists in declaration of `%T'"
+-#~ msgstr "Inyandikorugero Intonde in Bya"
+-
+-#, fuzzy
+-#~ msgid " shadows template parm `%#D'"
+-#~ msgstr "Inyandikorugero"
+-
+-#, fuzzy
+-#~ msgid "template parameters not used in partial specialization:"
+-#~ msgstr "Inyandikorugero Ibigenga OYA in Bituzuye"
+-
+-# desktop/source\app\ssodlg.src:DLG_SSOLOGIN.text
+-#, fuzzy
+-#~ msgid " `%D'"
+-#~ msgstr "`%D'"
+-
+-#, fuzzy
+-#~ msgid "partial specialization `%T' does not specialize any template arguments"
+-#~ msgstr "Bituzuye OYA Inyandikorugero ingingo"
+-
+-#, fuzzy
+-#~ msgid "template argument `%E' involves template parameter(s)"
+-#~ msgstr "Inyandikorugero Inyandikorugero S"
+-
+-#, fuzzy
+-#~ msgid "type `%T' of template argument `%E' depends on template parameter(s)"
+-#~ msgstr "Ubwoko Bya Inyandikorugero ku Inyandikorugero S"
+-
+-#, fuzzy
+-#~ msgid "no default argument for `%D'"
+-#~ msgstr "Oya Mburabuzi kugirango"
+-
+-#, fuzzy
+-#~ msgid "template with C linkage"
+-#~ msgstr "Inyandikorugero Na: C"
+-
+-#, fuzzy
+-#~ msgid "template class without a name"
+-#~ msgstr "Inyandikorugero ishuri a Izina:"
+-
+-#, fuzzy
+-#~ msgid "`%D' does not declare a template type"
+-#~ msgstr "`%D'OYA a Inyandikorugero Ubwoko"
+-
+-#, fuzzy
+-#~ msgid "template definition of non-template `%#D'"
+-#~ msgstr "Inyandikorugero Insobanuro Bya Inyandikorugero"
+-
+-#, fuzzy
+-#~ msgid "expected %d levels of template parms for `%#D', got %d"
+-#~ msgstr "Ikitezwe: Intera Bya Inyandikorugero kugirango"
+-
+-#, fuzzy
+-#~ msgid "got %d template parameters for `%#D'"
+-#~ msgstr "Inyandikorugero Ibigenga kugirango"
+-
+-#, fuzzy
+-#~ msgid "got %d template parameters for `%#T'"
+-#~ msgstr "Inyandikorugero Ibigenga kugirango"
+-
+-#, fuzzy
+-#~ msgid " but %d required"
+-#~ msgstr "Bya ngombwa"
+-
+-#, fuzzy
+-#~ msgid "`%T' is not a template type"
+-#~ msgstr "`%T'ni OYA a Inyandikorugero Ubwoko"
+-
+-#, fuzzy
+-#~ msgid "previous declaration `%D'"
+-#~ msgstr "Ibanjirije"
+-
+-#, fuzzy
+-#~ msgid "used %d template parameter%s instead of %d"
+-#~ msgstr "Inyandikorugero Bya"
+-
+-#, fuzzy
+-#~ msgid "template parameter `%#D'"
+-#~ msgstr "Inyandikorugero"
+-
+-#, fuzzy
+-#~ msgid "redeclared here as `%#D'"
+-#~ msgstr "Nka"
+-
+-#, fuzzy
+-#~ msgid "redefinition of default argument for `%#D'"
+-#~ msgstr "Bya Mburabuzi kugirango"
+-
+-#, fuzzy
+-#~ msgid " original definition appeared here"
+-#~ msgstr "Umwimerere Insobanuro"
+-
+-#, fuzzy
+-#~ msgid "`%E' is not a valid template argument"
+-#~ msgstr "`%E'ni OYA a Byemewe Inyandikorugero"
+-
+-#, fuzzy
+-#~ msgid "it must be the address of a function with external linkage"
+-#~ msgstr "i Aderesi Bya a Umumaro Na: external"
+-
+-#, fuzzy
+-#~ msgid "it must be the address of an object with external linkage"
+-#~ msgstr "i Aderesi Bya Igikoresho Na: external"
+-
+-#, fuzzy
+-#~ msgid "it must be a pointer-to-member of the form `&X::Y'"
+-#~ msgstr "a Mweretsi Kuri Bya i Ifishi"
+-
+-#, fuzzy
+-#~ msgid "string literal %E is not a valid template argument because it is the address of an object with static linkage"
+-#~ msgstr "Ikurikiranyanyuguti ni OYA a Byemewe Inyandikorugero ni i Aderesi Bya Igikoresho Na:"
+-
+-#, fuzzy
+-#~ msgid "address of non-extern `%E' cannot be used as template argument"
+-#~ msgstr "Aderesi Bya Nka Inyandikorugero"
+-
+-#, fuzzy
+-#~ msgid "non-constant `%E' cannot be used as template argument"
+-#~ msgstr "Nka Inyandikorugero"
+-
+-#, fuzzy
+-#~ msgid "object `%E' cannot be used as template argument"
+-#~ msgstr "Igikoresho Nka Inyandikorugero"
+-
+-#, fuzzy
+-#~ msgid "to refer to a type member of a template parameter, use `typename %E'"
+-#~ msgstr "Kuri Kuri a Ubwoko Bya a Inyandikorugero Gukoresha"
+-
+-#, fuzzy
+-#~ msgid "type/value mismatch at argument %d in template parameter list for `%D'"
+-#~ msgstr "Ubwoko Agaciro ku in Inyandikorugero Urutonde kugirango"
+-
+-#, fuzzy
+-#~ msgid " expected a constant of type `%T', got `%T'"
+-#~ msgstr "Ikitezwe: a Bya Ubwoko"
+-
+-#, fuzzy
+-#~ msgid " expected a type, got `%E'"
+-#~ msgstr "Ikitezwe: a Ubwoko"
+-
+-#, fuzzy
+-#~ msgid " expected a type, got `%T'"
+-#~ msgstr "Ikitezwe: a Ubwoko"
+-
+-#, fuzzy
+-#~ msgid " expected a class template, got `%T'"
+-#~ msgstr "Ikitezwe: a ishuri Inyandikorugero"
+-
+-#, fuzzy
+-#~ msgid " expected a template of type `%D', got `%D'"
+-#~ msgstr "Ikitezwe: a Inyandikorugero Bya Ubwoko"
+-
+-#, fuzzy
+-#~ msgid "template-argument `%T' uses anonymous type"
+-#~ msgstr "Inyandikorugero Ubwoko"
+-
+-#, fuzzy
+-#~ msgid "template-argument `%T' uses local type `%T'"
+-#~ msgstr "Inyandikorugero Ubwoko"
+-
+-#, fuzzy
+-#~ msgid "template-argument `%T' is a variably modified type"
+-#~ msgstr "Inyandikorugero ni a Byahinduwe Ubwoko"
+-
+-#, fuzzy
+-#~ msgid "could not convert template argument `%E' to `%T'"
+-#~ msgstr "OYA GUHINDURA Inyandikorugero Kuri"
+-
+-#, fuzzy
+-#~ msgid "wrong number of template arguments (%d, should be %d)"
+-#~ msgstr "Umubare Bya Inyandikorugero ingingo"
+-
+-#, fuzzy
+-#~ msgid "provided for `%D'"
+-#~ msgstr "kugirango"
+-
+-#, fuzzy
+-#~ msgid "template argument %d is invalid"
+-#~ msgstr "Inyandikorugero ni Sibyo"
+-
+-#, fuzzy
+-#~ msgid "non-template used as template"
+-#~ msgstr "Inyandikorugero Nka Inyandikorugero"
+-
+-#, fuzzy
+-#~ msgid "`%T' is not a template"
+-#~ msgstr "`%T'ni OYA a Inyandikorugero"
+-
+-#, fuzzy
+-#~ msgid "non-template type `%T' used as a template"
+-#~ msgstr "Inyandikorugero Ubwoko Nka a Inyandikorugero"
+-
+-#, fuzzy
+-#~ msgid "for template declaration `%D'"
+-#~ msgstr "kugirango Inyandikorugero"
+-
+-#, fuzzy
+-#~ msgid "template instantiation depth exceeds maximum of %d (use -ftemplate-depth-NN to increase the maximum) instantiating `%D'"
+-#~ msgstr "Inyandikorugero Ubujyakuzimu Kinini Bya Gukoresha Ubujyakuzimu Kuri i Kinini"
+-
+-#, fuzzy
+-#~ msgid "ambiguous class template instantiation for `%#T'"
+-#~ msgstr "ishuri Inyandikorugero kugirango"
+-
+-# #-#-#-#-# dbaccess.pot (PACKAGE VERSION) #-#-#-#-#
+-# #-#-#-#-# dbaccess.pot (PACKAGE VERSION) #-#-#-#-#
+-# #-#-#-#-# dbaccess.pot (PACKAGE VERSION) #-#-#-#-#
+-#, fuzzy
+-#~ msgid "%s %+#T"
+-#~ msgstr "%s%+#T"
+-
+-#, fuzzy
+-#~ msgid "instantiation of `%D' as type `%T'"
+-#~ msgstr "Bya Nka Ubwoko"
+-
+-#, fuzzy
+-#~ msgid "invalid parameter type `%T'"
+-#~ msgstr "Sibyo Ubwoko"
+-
+-#, fuzzy
+-#~ msgid "in declaration `%D'"
+-#~ msgstr "in"
+-
+-#, fuzzy
+-#~ msgid "creating pointer to member function of non-class type `%T'"
+-#~ msgstr "Mweretsi Kuri Umumaro Bya ishuri Ubwoko"
+-
+-#, fuzzy
+-#~ msgid "creating array with size zero"
+-#~ msgstr "Imbonerahamwe Na: Ingano Zeru"
+-
+-#, fuzzy
+-#~ msgid "creating array with size zero (`%E')"
+-#~ msgstr "Imbonerahamwe Na: Ingano Zeru"
+-
+-#, fuzzy
+-#~ msgid "forming reference to void"
+-#~ msgstr "Indango Kuri"
+-
+-#, fuzzy
+-#~ msgid "forming %s to reference type `%T'"
+-#~ msgstr "Kuri Indango Ubwoko"
+-
+-#, fuzzy
+-#~ msgid "creating pointer to member of non-class type `%T'"
+-#~ msgstr "Mweretsi Kuri Bya ishuri Ubwoko"
+-
+-#, fuzzy
+-#~ msgid "creating pointer to member reference type `%T'"
+-#~ msgstr "Mweretsi Kuri Indango Ubwoko"
+-
+-#, fuzzy
+-#~ msgid "creating array of `%T'"
+-#~ msgstr "Imbonerahamwe Bya"
+-
+-#, fuzzy
+-#~ msgid "`%T' is not a class, struct, or union type"
+-#~ msgstr "`%T'ni OYA a ishuri Cyangwa Ihuza Ubwoko"
+-
+-#, fuzzy
+-#~ msgid "use of `%s' in template"
+-#~ msgstr "Gukoresha Bya in Inyandikorugero"
+-
+-#, fuzzy
+-#~ msgid "type `%T' composed from a local class is not a valid template-argument"
+-#~ msgstr "Ubwoko Bivuye a ishuri ni OYA a Byemewe Inyandikorugero"
+-
+-#, fuzzy
+-#~ msgid " trying to instantiate `%D'"
+-#~ msgstr "Kuri"
+-
+-#, fuzzy
+-#~ msgid "incomplete type unification"
+-#~ msgstr "Ubwoko"
+-
+-#, fuzzy
+-#~ msgid "use of `%s' in template type unification"
+-#~ msgstr "Gukoresha Bya in Inyandikorugero Ubwoko"
+-
+-#, fuzzy
+-#~ msgid "explicit instantiation of non-template `%#D'"
+-#~ msgstr "Bya Inyandikorugero"
+-
+-#, fuzzy
+-#~ msgid "no matching template for `%D' found"
+-#~ msgstr "Oya Inyandikorugero kugirango Byabonetse"
+-
+-#, fuzzy
+-#~ msgid "explicit instantiation of `%#D'"
+-#~ msgstr "Bya"
+-
+-#, fuzzy
+-#~ msgid "duplicate explicit instantiation of `%#D'"
+-#~ msgstr "Gusubiramo Bya"
+-
+-#, fuzzy
+-#~ msgid "ISO C++ forbids the use of `extern' on explicit instantiations"
+-#~ msgstr "C i Gukoresha Bya ku"
+-
+-#, fuzzy
+-#~ msgid "storage class `%D' applied to template instantiation"
+-#~ msgstr "ishuri Byashyizweho Kuri Inyandikorugero"
+-
+-#, fuzzy
+-#~ msgid "explicit instantiation of non-template type `%T'"
+-#~ msgstr "Bya Inyandikorugero Ubwoko"
+-
+-#, fuzzy
+-#~ msgid "explicit instantiation of `%#T' before definition of template"
+-#~ msgstr "Bya Mbere Insobanuro Bya Inyandikorugero"
+-
+-#, fuzzy
+-#~ msgid "ISO C++ forbids the use of `%s' on explicit instantiations"
+-#~ msgstr "C i Gukoresha Bya ku"
+-
+-#, fuzzy
+-#~ msgid "duplicate explicit instantiation of `%#T'"
+-#~ msgstr "Gusubiramo Bya"
+-
+-#, fuzzy
+-#~ msgid "explicit instantiation of `%D' but no definition available"
+-#~ msgstr "Bya Oya Insobanuro Bihari"
+-
+-#, fuzzy
+-#~ msgid "`%#T' is not a valid type for a template constant parameter"
+-#~ msgstr "`%#T'ni OYA a Byemewe Ubwoko kugirango a Inyandikorugero"
+-
+-#, fuzzy
+-#~ msgid "-frepo must be used with -c"
+-#~ msgstr "-Na: C"
+-
+-#, fuzzy
+-#~ msgid "mysterious repository information in %s"
+-#~ msgstr "Ibisobanuro in"
+-
+-#, fuzzy
+-#~ msgid "can't create repository information file `%s'"
+-#~ msgstr "Kurema Ibisobanuro IDOSIYE"
+-
+-#, fuzzy
+-#~ msgid "cannot use typeid with -fno-rtti"
+-#~ msgstr "Gukoresha Na:"
+-
+-#, fuzzy
+-#~ msgid "must #include <typeinfo> before using typeid"
+-#~ msgstr "Gushyiramo Mbere ikoresha"
+-
+-#, fuzzy
+-#~ msgid "cannot create type information for type `%T' because its size is variable"
+-#~ msgstr "Kurema Ubwoko Ibisobanuro kugirango Ubwoko Ingano ni IMPINDURAGACIRO"
+-
+-#, fuzzy
+-#~ msgid "dynamic_cast of `%#D' to `%#T' can never succeed"
+-#~ msgstr "Bya Kuri Nta narimwe"
+-
+-#, fuzzy
+-#~ msgid "cannot dynamic_cast `%E' (of type `%#T') to type `%#T' (%s)"
+-#~ msgstr "Bya Ubwoko Kuri Ubwoko"
+-
+-#, fuzzy
+-#~ msgid "`%T' is an inaccessible base of `%T'"
+-#~ msgstr "`%T'ni SHINGIRO Bya"
+-
+-#, fuzzy
+-#~ msgid "`%T' is an ambiguous base of `%T'"
+-#~ msgstr "`%T'ni SHINGIRO Bya"
+-
+-#, fuzzy
+-#~ msgid "assignment to non-static member `%D' of enclosing class `%T'"
+-#~ msgstr "Igenera Kuri Bya ishuri"
+-
+-#, fuzzy
+-#~ msgid "adjusting pointers for covariant returns"
+-#~ msgstr "kugirango"
+-
+-#, fuzzy
+-#~ msgid "invalid covariant return type for `%#D'"
+-#~ msgstr "Sibyo Garuka Ubwoko kugirango"
+-
+-#, fuzzy
+-#~ msgid " overriding `%#D' (must be pointer or reference to class)"
+-#~ msgstr "Mweretsi Cyangwa Indango Kuri ishuri"
+-
+-#, fuzzy
+-#~ msgid " overriding `%#D' (must use pointer or reference)"
+-#~ msgstr "Gukoresha Mweretsi Cyangwa Indango"
+-
+-#, fuzzy
+-#~ msgid "conflicting return type specified for `%#D'"
+-#~ msgstr "Garuka Ubwoko kugirango"
+-
+-#, fuzzy
+-#~ msgid "looser throw specifier for `%#F'"
+-#~ msgstr "kugirango"
+-
+-#, fuzzy
+-#~ msgid " since `%#D' declared in base class"
+-#~ msgstr "guhera in SHINGIRO ishuri"
+-
+-#, fuzzy
+-#~ msgid "`%#D' needs a final overrider"
+-#~ msgstr "`%#D'a"
+-
+-#, fuzzy
+-#~ msgid "type of asm operand `%E' could not be determined"
+-#~ msgstr "Ubwoko Bya OYA"
+-
+-#, fuzzy
+-#~ msgid "ISO C++ does not permit named return values"
+-#~ msgstr "C OYA Garuka Uduciro"
+-
+-#, fuzzy
+-#~ msgid "return identifier `%D' already in place"
+-#~ msgstr "Garuka Ikiranga in"
+-
+-#, fuzzy
+-#~ msgid "can't redefine default return value for constructors"
+-#~ msgstr "Mburabuzi Garuka Agaciro kugirango"
+-
+-#, fuzzy
+-#~ msgid "only constructors take base initializers"
+-#~ msgstr "SHINGIRO"
+-
+-#, fuzzy
+-#~ msgid "`this' is unavailable for static member functions"
+-#~ msgstr "`ni kugirango Imimaro"
+-
+-#, fuzzy
+-#~ msgid "invalid use of `this' in non-member function"
+-#~ msgstr "Sibyo Gukoresha Bya in Umumaro"
+-
+-#, fuzzy
+-#~ msgid "invalid use of `this' at top level"
+-#~ msgstr "Sibyo Gukoresha Bya ku Hejuru: urwego"
+-
+-#, fuzzy
+-#~ msgid "calling type `%T' like a method"
+-#~ msgstr "Ubwoko nka a Uburyo"
+-
+-#, fuzzy
+-#~ msgid "destructor specifier `%T::~%T()' must have matching names"
+-#~ msgstr "Amazina"
+-
+-#, fuzzy
+-#~ msgid "`%E' is not of type `%T'"
+-#~ msgstr "`%E'ni OYA Bya Ubwoko"
+-
+-#, fuzzy
+-#~ msgid "template type parameters must use the keyword `class' or `typename'"
+-#~ msgstr "Inyandikorugero Ubwoko Ibigenga Gukoresha i Ijambo- banze Cyangwa"
+-
+-#, fuzzy
+-#~ msgid "invalid default template argument"
+-#~ msgstr "Sibyo Mburabuzi Inyandikorugero"
+-
+-#, fuzzy
+-#~ msgid "definition of `%#T' inside template parameter list"
+-#~ msgstr "Insobanuro Bya Mo Imbere Inyandikorugero Urutonde"
+-
+-#, fuzzy
+-#~ msgid "invalid definition of qualified type `%T'"
+-#~ msgstr "Sibyo Insobanuro Bya Ubwoko"
+-
+-#, fuzzy
+-#~ msgid "invalid base-class specification"
+-#~ msgstr "Sibyo SHINGIRO ishuri"
+-
+-#, fuzzy
+-#~ msgid "base class `%T' has cv qualifiers"
+-#~ msgstr "SHINGIRO ishuri"
+-
+-#, fuzzy
+-#~ msgid "multiple declarators in template declaration"
+-#~ msgstr "Igikubo in Inyandikorugero"
+-
+-#, fuzzy
+-#~ msgid "type of `%E' is unknown"
+-#~ msgstr "Ubwoko Bya ni Kitazwi"
+-
+-#, fuzzy
+-#~ msgid "identifier name `%s' conflicts with GNU C++ internal naming strategy"
+-#~ msgstr "Ikiranga Izina: Na: C By'imbere"
+-
+-#, fuzzy
+-#~ msgid "parse error at end of saved function text"
+-#~ msgstr "Ikosa ku Impera Bya Umumaro Umwandiko"
+-
+-#, fuzzy
+-#~ msgid "%Hend of file read inside definition"
+-#~ msgstr "%HendBya IDOSIYE Gusoma Mo Imbere Insobanuro"
+-
+-#, fuzzy
+-#~ msgid "parse error in method specification"
+-#~ msgstr "Ikosa in Uburyo"
+-
+-#, fuzzy
+-#~ msgid "function body for constructor missing"
+-#~ msgstr "Umumaro Umubiri kugirango Ibuze"
+-
+-#, fuzzy
+-#~ msgid "%Hend of file read inside default argument"
+-#~ msgstr "%HendBya IDOSIYE Gusoma Mo Imbere Mburabuzi"
+-
+-#, fuzzy
+-#~ msgid "circular dependency in default args of `%#D'"
+-#~ msgstr "Cy'uruziga in Mburabuzi Bya"
+-
+-#, fuzzy
+-#~ msgid "invalid type `%T' for default argument to `%T'"
+-#~ msgstr "Sibyo Ubwoko kugirango Mburabuzi Kuri"
+-
+-#, fuzzy
+-#~ msgid "%s before `%s'"
+-#~ msgstr "%sMbere"
+-
+-#, fuzzy
+-#~ msgid "%s before `%c'"
+-#~ msgstr "%sMbere"
+-
+-#, fuzzy
+-#~ msgid "%s before `\\%o'"
+-#~ msgstr "%sMbere"
+-
+-#, fuzzy
+-#~ msgid "%s before `%s' token"
+-#~ msgstr "%sMbere"
+-
+-#, fuzzy
+-#~ msgid "non-lvalue in %s"
+-#~ msgstr "in"
+-
+-#, fuzzy
+-#~ msgid "`%V' qualifiers cannot be applied to `%T'"
+-#~ msgstr "`%V'Byashyizweho Kuri"
+-
+-#, fuzzy
+-#~ msgid "`%s' attribute can only be applied to Java class definitions"
+-#~ msgstr "`%s'Ikiranga Byashyizweho Kuri ishuri"
+-
+-#, fuzzy
+-#~ msgid "`%s' attribute can only be applied to class definitions"
+-#~ msgstr "`%s'Ikiranga Byashyizweho Kuri ishuri"
+-
+-#, fuzzy
+-#~ msgid "`%s' is obsolete; g++ vtables are now COM-compatible by default"
+-#~ msgstr "`%s'ni g NONEAHA ku Mburabuzi"
+-
+-#, fuzzy
+-#~ msgid "requested init_priority is not an integer constant"
+-#~ msgstr "ni OYA Umubare wuzuye"
+-
+-#, fuzzy
+-#~ msgid "can only use `%s' attribute on file-scope definitions of objects of class type"
+-#~ msgstr "Gukoresha Ikiranga ku IDOSIYE Ingano: Bya Ibintu Bya ishuri Ubwoko"
+-
+-#, fuzzy
+-#~ msgid "requested init_priority is out of range"
+-#~ msgstr "ni Inyuma Bya Urutonde"
+-
+-#, fuzzy
+-#~ msgid "requested init_priority is reserved for internal use"
+-#~ msgstr "ni kugirango By'imbere Gukoresha"
+-
+-#, fuzzy
+-#~ msgid "`%s' attribute is not supported on this platform"
+-#~ msgstr "`%s'Ikiranga ni OYA ku iyi"
+-
+-#, fuzzy
+-#~ msgid "lang_* check: failed in %s, at %s:%d"
+-#~ msgstr "Kugenzura... Byanze in ku"
+-
+-#, fuzzy
+-#~ msgid "ISO C++ forbids %s between pointer of type `void *' and pointer-to-function"
+-#~ msgstr "C hagati Mweretsi Bya Ubwoko Na Mweretsi Kuri Umumaro"
+-
+-#, fuzzy
+-#~ msgid "%s between distinct pointer types `%T' and `%T' lacks a cast"
+-#~ msgstr "%shagati Mweretsi Na a"
+-
+-#, fuzzy
+-#~ msgid "ISO C++ prohibits conversion from `%#T' to `(...)'"
+-#~ msgstr "C Ihindurangero Bivuye Kuri"
+-
+-#, fuzzy
+-#~ msgid "invalid application of `%s' to a member function"
+-#~ msgstr "Sibyo Porogaramu Bya Kuri a Umumaro"
+-
+-#, fuzzy
+-#~ msgid "invalid application of `%s' to non-static member"
+-#~ msgstr "Sibyo Porogaramu Bya Kuri"
+-
+-#, fuzzy
+-#~ msgid "sizeof applied to a bit-field"
+-#~ msgstr "Byashyizweho Kuri a Umwanya"
+-
+-#, fuzzy
+-#~ msgid "ISO C++ forbids applying `sizeof' to an expression of function type"
+-#~ msgstr "C Kuri imvugo Bya Umumaro Ubwoko"
+-
+-#, fuzzy
+-#~ msgid "invalid use of non-lvalue array"
+-#~ msgstr "Sibyo Gukoresha Bya Imbonerahamwe"
+-
+-#, fuzzy
+-#~ msgid "deprecated conversion from string constant to `%T'"
+-#~ msgstr "Bitemewe. Ihindurangero Bivuye Ikurikiranyanyuguti Kuri"
+-
+-#, fuzzy
+-#~ msgid "request for member `%D' in `%E', which is of non-class type `%T'"
+-#~ msgstr "Kubaza... kugirango in ni Bya ishuri Ubwoko"
+-
+-#, fuzzy
+-#~ msgid "`%D' is not a member of `%T'"
+-#~ msgstr "`%D'ni OYA a Bya"
+-
+-#, fuzzy
+-#~ msgid "invalid access to non-static data member `%D' of NULL object"
+-#~ msgstr "Sibyo Kuri Ibyatanzwe Bya Igikoresho"
+-
+-#, fuzzy
+-#~ msgid "(perhaps the `offsetof' macro was used incorrectly)"
+-#~ msgstr "(i Makoro"
+-
+-#, fuzzy
+-#~ msgid "`%D::%D' is not a member of `%T'"
+-#~ msgstr "`%D::%D'ni OYA a Bya"
+-
+-#, fuzzy
+-#~ msgid "destructor specifier `%T::~%T' must have matching names"
+-#~ msgstr "Amazina"
+-
+-#, fuzzy
+-#~ msgid "type `%T' has no destructor"
+-#~ msgstr "Ubwoko Oya"
+-
+-#, fuzzy
+-#~ msgid "`%D' is not a member template function"
+-#~ msgstr "`%D'ni OYA a Inyandikorugero Umumaro"
+-
+-#, fuzzy
+-#~ msgid "`%T' is not a pointer-to-object type"
+-#~ msgstr "`%T'ni OYA a Mweretsi Kuri Igikoresho Ubwoko"
+-
+-#, fuzzy
+-#~ msgid "invalid use of `%s' on pointer to member"
+-#~ msgstr "Sibyo Gukoresha Bya ku Mweretsi Kuri"
+-
+-#, fuzzy
+-#~ msgid "invalid type argument"
+-#~ msgstr "Sibyo Ubwoko"
+-
+-#, fuzzy
+-#~ msgid "ISO C++ forbids subscripting non-lvalue array"
+-#~ msgstr "C Imbonerahamwe"
+-
+-#, fuzzy
+-#~ msgid "subscripting array declared `register'"
+-#~ msgstr "Imbonerahamwe"
+-
+-#, fuzzy
+-#~ msgid "object missing in use of `%E'"
+-#~ msgstr "Igikoresho Ibuze in Gukoresha Bya"
+-
+-#, fuzzy
+-#~ msgid "ISO C++ forbids calling `::main' from within program"
+-#~ msgstr "C Bivuye muri Porogaramu"
+-
+-#, fuzzy
+-#~ msgid "must use .* or ->* to call pointer-to-member function in `%E (...)'"
+-#~ msgstr "Gukoresha Cyangwa Kuri Mweretsi Kuri Umumaro in"
+-
+-#, fuzzy
+-#~ msgid "`%E' cannot be used as a function"
+-#~ msgstr "`%E'Nka a Umumaro"
+-
+-#, fuzzy
+-#~ msgid "too many arguments to %s `%+#D'"
+-#~ msgstr "ingingo Kuri"
+-
+-#, fuzzy
+-#~ msgid "parameter type of called function is incomplete"
+-#~ msgstr "Ubwoko Bya Umumaro ni"
+-
+-#, fuzzy
+-#~ msgid "too few arguments to %s `%+#D'"
+-#~ msgstr "ingingo Kuri"
+-
+-#, fuzzy
+-#~ msgid "assuming cast to type `%T' from overloaded function"
+-#~ msgstr "Kuri Ubwoko Bivuye Umumaro"
+-
+-#, fuzzy
+-#~ msgid "division by zero in `%E / 0'"
+-#~ msgstr "ku Zeru in"
+-
+-#, fuzzy
+-#~ msgid "division by zero in `%E / 0.'"
+-#~ msgstr "ku Zeru in 0"
+-
+-#, fuzzy
+-#~ msgid "division by zero in `%E %% 0'"
+-#~ msgstr "ku Zeru in"
+-
+-#, fuzzy
+-#~ msgid "division by zero in `%E %% 0.'"
+-#~ msgstr "ku Zeru in 0"
+-
+-#, fuzzy
+-#~ msgid "%s rotate count is negative"
+-#~ msgstr "%sKuzerutsa IBARA ni"
+-
+-#, fuzzy
+-#~ msgid "%s rotate count >= width of type"
+-#~ msgstr "%sKuzerutsa IBARA Ubugari Bya Ubwoko"
+-
+-#, fuzzy
+-#~ msgid "ISO C++ forbids comparison between pointer and integer"
+-#~ msgstr "C hagati Mweretsi Na Umubare wuzuye"
+-
+-#, fuzzy
+-#~ msgid "comparison between types `%#T' and `%#T'"
+-#~ msgstr "hagati Na"
+-
+-#, fuzzy
+-#~ msgid "comparison between signed and unsigned integer expressions"
+-#~ msgstr "hagati Na Bitashizweho umukono Umubare wuzuye"
+-
+-#, fuzzy
+-#~ msgid "invalid operands of types `%T' and `%T' to binary `%O'"
+-#~ msgstr "Sibyo Bya Na Kuri Nyabibiri"
+-
+-#, fuzzy
+-#~ msgid "NULL used in arithmetic"
+-#~ msgstr "in"
+-
+-#, fuzzy
+-#~ msgid "ISO C++ forbids using pointer of type `void *' in subtraction"
+-#~ msgstr "C ikoresha Mweretsi Bya Ubwoko in Gukuramo"
+-
+-#, fuzzy
+-#~ msgid "ISO C++ forbids using pointer to a function in subtraction"
+-#~ msgstr "C ikoresha Mweretsi Kuri a Umumaro in Gukuramo"
+-
+-#, fuzzy
+-#~ msgid "ISO C++ forbids using pointer to a method in subtraction"
+-#~ msgstr "C ikoresha Mweretsi Kuri a Uburyo in Gukuramo"
+-
+-#, fuzzy
+-#~ msgid "ISO C++ forbids using pointer to a member in subtraction"
+-#~ msgstr "C ikoresha Mweretsi Kuri a in Gukuramo"
+-
+-#, fuzzy
+-#~ msgid "invalid use of a pointer to an incomplete type in pointer arithmetic"
+-#~ msgstr "Sibyo Gukoresha Bya a Mweretsi Kuri Ubwoko in Mweretsi"
+-
+-#, fuzzy
+-#~ msgid "invalid use of '%E' to form a pointer-to-member-function. Use a qualified-id."
+-#~ msgstr "Sibyo Gukoresha Bya Kuri Ifishi a Mweretsi Kuri Umumaro a ID"
+-
+-#, fuzzy
+-#~ msgid "parenthesis around '%E' cannot be used to form a pointer-to-member-function"
+-#~ msgstr "Kuri Ifishi a Mweretsi Kuri Umumaro"
+-
+-#, fuzzy
+-#~ msgid "taking address of temporary"
+-#~ msgstr "Aderesi Bya By'igihe gito"
+-
+-#, fuzzy
+-#~ msgid "ISO C++ forbids %sing an enum"
+-#~ msgstr "C"
+-
+-#, fuzzy
+-#~ msgid "cannot %s a pointer to incomplete type `%T'"
+-#~ msgstr "a Mweretsi Kuri Ubwoko"
+-
+-#, fuzzy
+-#~ msgid "ISO C++ forbids %sing a pointer of type `%T'"
+-#~ msgstr "C a Mweretsi Bya Ubwoko"
+-
+-#, fuzzy
+-#~ msgid "cast to non-reference type used as lvalue"
+-#~ msgstr "Kuri Indango Ubwoko Nka"
+-
+-#, fuzzy
+-#~ msgid "invalid use of `--' on bool variable `%D'"
+-#~ msgstr "Sibyo Gukoresha Bya ku IMPINDURAGACIRO"
+-
+-#, fuzzy
+-#~ msgid "ISO C++ forbids taking address of function `::main'"
+-#~ msgstr "C Aderesi Bya Umumaro"
+-
+-#, fuzzy
+-#~ msgid "ISO C++ forbids taking the address of an unqualified non-static member function to form a pointer to member function. Say `&%T::%D'"
+-#~ msgstr "C i Aderesi Bya Umumaro Kuri Ifishi a Mweretsi Kuri Umumaro"
+-
+-#, fuzzy
+-#~ msgid "ISO C++ forbids taking the address of a bound member function to form a pointer to member function. Say `&%T::%D'"
+-#~ msgstr "C i Aderesi Bya a Umumaro Kuri Ifishi a Mweretsi Kuri Umumaro"
+-
+-#, fuzzy
+-#~ msgid "ISO C++ forbids taking the address of a cast to a non-lvalue expression"
+-#~ msgstr "C i Aderesi Bya a Kuri a imvugo"
+-
+-#, fuzzy
+-#~ msgid "attempt to take address of bit-field structure member `%D'"
+-#~ msgstr "Kuri Aderesi Bya Umwanya Imiterere"
+-
+-#, fuzzy
+-#~ msgid "taking address of destructor"
+-#~ msgstr "Aderesi Bya"
+-
+-#, fuzzy
+-#~ msgid "taking address of bound pointer-to-member expression"
+-#~ msgstr "Aderesi Bya Mweretsi Kuri imvugo"
+-
+-#, fuzzy
+-#~ msgid "cannot create pointer to reference member `%D'"
+-#~ msgstr "Kurema Mweretsi Kuri Indango"
+-
+-#, fuzzy
+-#~ msgid "cannot take the address of `this', which is an rvalue expression"
+-#~ msgstr "i Aderesi Bya ni imvugo"
+-
+-#, fuzzy
+-#~ msgid "address requested for `%D', which is declared `register'"
+-#~ msgstr "Aderesi kugirango ni"
+-
+-#, fuzzy
+-#~ msgid "static_cast from type `%T' to type `%T' casts away constness"
+-#~ msgstr "Bivuye Ubwoko Kuri Ubwoko"
+-
+-#, fuzzy
+-#~ msgid "invalid static_cast from type `%T' to type `%T'"
+-#~ msgstr "Sibyo Bivuye Ubwoko Kuri Ubwoko"
+-
+-#, fuzzy
+-#~ msgid "invalid reinterpret_cast of an rvalue expression of type `%T' to type `%T'"
+-#~ msgstr "Sibyo Bya imvugo Bya Ubwoko Kuri Ubwoko"
+-
+-#, fuzzy
+-#~ msgid "reinterpret_cast from `%T' to `%T' loses precision"
+-#~ msgstr "Bivuye Kuri"
+-
+-#, fuzzy
+-#~ msgid "reinterpret_cast from `%T' to `%T' casts away const (or volatile)"
+-#~ msgstr "Bivuye Kuri Cyangwa"
+-
+-#, fuzzy
+-#~ msgid "ISO C++ forbids casting between pointer-to-function and pointer-to-object"
+-#~ msgstr "C hagati Mweretsi Kuri Umumaro Na Mweretsi Kuri Igikoresho"
+-
+-#, fuzzy
+-#~ msgid "invalid reinterpret_cast from type `%T' to type `%T'"
+-#~ msgstr "Sibyo Bivuye Ubwoko Kuri Ubwoko"
+-
+-#, fuzzy
+-#~ msgid "invalid use of const_cast with type `%T', which is not a pointer, reference, nor a pointer-to-data-member type"
+-#~ msgstr "Sibyo Gukoresha Bya Na: Ubwoko ni OYA a Mweretsi Indango a Mweretsi Kuri Ibyatanzwe Ubwoko"
+-
+-#, fuzzy
+-#~ msgid "invalid use of const_cast with type `%T', which is a pointer or reference to a function type"
+-#~ msgstr "Sibyo Gukoresha Bya Na: Ubwoko ni a Mweretsi Cyangwa Indango Kuri a Umumaro Ubwoko"
+-
+-#, fuzzy
+-#~ msgid "invalid const_cast of an rvalue of type `%T' to type `%T'"
+-#~ msgstr "Sibyo Bya Bya Ubwoko Kuri Ubwoko"
+-
+-#, fuzzy
+-#~ msgid "invalid const_cast from type `%T' to type `%T'"
+-#~ msgstr "Sibyo Bivuye Ubwoko Kuri Ubwoko"
+-
+-#, fuzzy
+-#~ msgid "ISO C++ forbids casting to an array type `%T'"
+-#~ msgstr "C Kuri Imbonerahamwe Ubwoko"
+-
+-#, fuzzy
+-#~ msgid "invalid cast to function type `%T'"
+-#~ msgstr "Sibyo Kuri Umumaro Ubwoko"
+-
+-#, fuzzy
+-#~ msgid "cast from `%T' to `%T' discards qualifiers from pointer target type"
+-#~ msgstr "Bivuye Kuri Bivuye Mweretsi Intego Ubwoko"
+-
+-#, fuzzy
+-#~ msgid "cast from `%T' to `%T' increases required alignment of target type"
+-#~ msgstr "Bivuye Kuri Bya ngombwa Itunganya Bya Intego Ubwoko"
+-
+-#, fuzzy
+-#~ msgid " in evaluation of `%Q(%#T, %#T)'"
+-#~ msgstr "in Bya"
+-
+-#, fuzzy
+-#~ msgid "ISO C++ forbids cast to non-reference type used as lvalue"
+-#~ msgstr "C Kuri Indango Ubwoko Nka"
+-
+-#, fuzzy
+-#~ msgid "incompatible types in assignment of `%T' to `%T'"
+-#~ msgstr "in Igenera Bya Kuri"
+-
+-#, fuzzy
+-#~ msgid "ISO C++ forbids assignment of arrays"
+-#~ msgstr "C Igenera Bya"
+-
+-#, fuzzy
+-#~ msgid " in pointer to member function conversion"
+-#~ msgstr "in Mweretsi Kuri Umumaro Ihindurangero"
+-
+-#, fuzzy
+-#~ msgid " in pointer to member conversion"
+-#~ msgstr "in Mweretsi Kuri Ihindurangero"
+-
+-#, fuzzy
+-#~ msgid "pointer to member cast via virtual base `%T' of `%T'"
+-#~ msgstr "Mweretsi Kuri Biturutse Kitaboneka SHINGIRO Bya"
+-
+-#, fuzzy
+-#~ msgid "pointer to member conversion via virtual base `%T' of `%T'"
+-#~ msgstr "Mweretsi Kuri Ihindurangero Biturutse Kitaboneka SHINGIRO Bya"
+-
+-#, fuzzy
+-#~ msgid "invalid conversion to type `%T' from type `%T'"
+-#~ msgstr "Sibyo Ihindurangero Kuri Ubwoko Bivuye Ubwoko"
+-
+-#, fuzzy
+-#~ msgid "passing NULL used for non-pointer %s %P of `%D'"
+-#~ msgstr "kugirango Mweretsi Bya"
+-
+-#, fuzzy
+-#~ msgid "%s to non-pointer type `%T' from NULL"
+-#~ msgstr "%sKuri Mweretsi Ubwoko Bivuye"
+-
+-#, fuzzy
+-#~ msgid "passing `%T' for %s %P of `%D'"
+-#~ msgstr "kugirango Bya"
+-
+-#, fuzzy
+-#~ msgid "%s to `%T' from `%T'"
+-#~ msgstr "%sKuri Bivuye"
+-
+-#, fuzzy
+-#~ msgid "passing negative value `%E' for %s %P of `%D'"
+-#~ msgstr "Agaciro kugirango Bya"
+-
+-#, fuzzy
+-#~ msgid "%s of negative value `%E' to `%T'"
+-#~ msgstr "%sBya Agaciro Kuri"
+-
+-#, fuzzy
+-#~ msgid "cannot convert `%T' to `%T' for argument `%P' to `%D'"
+-#~ msgstr "GUHINDURA Kuri kugirango Kuri"
+-
+-#, fuzzy
+-#~ msgid "cannot convert `%T' to `%T' in %s"
+-#~ msgstr "GUHINDURA Kuri in"
+-
+-#, fuzzy
+-#~ msgid "in passing argument %P of `%+D'"
+-#~ msgstr "in Bya"
+-
+-#, fuzzy
+-#~ msgid "returning reference to temporary"
+-#~ msgstr "Indango Kuri By'igihe gito"
+-
+-#, fuzzy
+-#~ msgid "reference to non-lvalue returned"
+-#~ msgstr "Indango Kuri"
+-
+-#, fuzzy
+-#~ msgid "reference to local variable `%D' returned"
+-#~ msgstr "Indango Kuri IMPINDURAGACIRO"
+-
+-#, fuzzy
+-#~ msgid "address of local variable `%D' returned"
+-#~ msgstr "Aderesi Bya IMPINDURAGACIRO"
+-
+-#, fuzzy
+-#~ msgid "returning a value from a destructor"
+-#~ msgstr "a Agaciro Bivuye a"
+-
+-#, fuzzy
+-#~ msgid "cannot return from a handler of a function-try-block of a constructor"
+-#~ msgstr "Garuka Bivuye a Bya a Umumaro Funga Bya a"
+-
+-#, fuzzy
+-#~ msgid "returning a value from a constructor"
+-#~ msgstr "a Agaciro Bivuye a"
+-
+-#, fuzzy
+-#~ msgid "return-statement with no value, in function declared with a non-void return type"
+-#~ msgstr "Garuka Inyandiko Na: Oya Agaciro in Umumaro Na: a Garuka Ubwoko"
+-
+-#, fuzzy
+-#~ msgid "return-statement with a value, in function declared with a void return type"
+-#~ msgstr "Garuka Inyandiko Na: a Agaciro in Umumaro Na: a Garuka Ubwoko"
+-
+-#, fuzzy
+-#~ msgid "`operator new' must not return NULL unless it is declared `throw()' (or -fcheck-new is in effect)"
+-#~ msgstr "`Mukoresha OYA Garuka ni Cyangwa Gishya ni in INGARUKA"
+-
+-#, fuzzy
+-#~ msgid "type `%T' is not a base type for type `%T'"
+-#~ msgstr "Ubwoko ni OYA a SHINGIRO Ubwoko kugirango Ubwoko"
+-
+-#, fuzzy
+-#~ msgid "cannot declare variable `%D' to be of type `%T'"
+-#~ msgstr "IMPINDURAGACIRO Kuri Bya Ubwoko"
+-
+-#, fuzzy
+-#~ msgid "cannot declare parameter `%D' to be of type `%T'"
+-#~ msgstr "Kuri Bya Ubwoko"
+-
+-#, fuzzy
+-#~ msgid "cannot declare field `%D' to be of type `%T'"
+-#~ msgstr "Umwanya Kuri Bya Ubwoko"
+-
+-#, fuzzy
+-#~ msgid "invalid return type for member function `%#D'"
+-#~ msgstr "Sibyo Garuka Ubwoko kugirango Umumaro"
+-
+-#, fuzzy
+-#~ msgid "invalid return type for function `%#D'"
+-#~ msgstr "Sibyo Garuka Ubwoko kugirango Umumaro"
+-
+-#, fuzzy
+-#~ msgid "cannot allocate an object of type `%T'"
+-#~ msgstr "Igikoresho Bya Ubwoko"
+-
+-#, fuzzy
+-#~ msgid " because the following virtual functions are abstract:"
+-#~ msgstr "i Kitaboneka Imimaro Incamake"
+-
+-# basctl/source\basicide\basidesh.src:RID_IMGBTN_REMOVEWATCH.text
+-#, fuzzy
+-#~ msgid "\t%#D"
+-#~ msgstr "%#D"
+-
+-#, fuzzy
+-#~ msgid " since type `%T' has abstract virtual functions"
+-#~ msgstr "guhera Ubwoko Incamake Kitaboneka Imimaro"
+-
+-#, fuzzy
+-#~ msgid "constructor syntax used, but no constructor declared for type `%T'"
+-#~ msgstr "Oya kugirango Ubwoko"
+-
+-#, fuzzy
+-#~ msgid "comma expression used to initialize return value"
+-#~ msgstr "Akitso imvugo Kuri gutangiza Garuka Agaciro"
+-
+-#, fuzzy
+-#~ msgid "cannot initialize arrays using this syntax"
+-#~ msgstr "gutangiza ikoresha iyi"
+-
+-#, fuzzy
+-#~ msgid "initializing array with parameter list"
+-#~ msgstr "Gutangiza Imbonerahamwe Na: Urutonde"
+-
+-#, fuzzy
+-#~ msgid "initializer for scalar variable requires one element"
+-#~ msgstr "kugirango IMPINDURAGACIRO Ikigize:"
+-
+-#, fuzzy
+-#~ msgid "braces around scalar initializer for `%T'"
+-#~ msgstr "Ingirwadusodeko kugirango"
+-
+-#, fuzzy
+-#~ msgid "ignoring extra initializers for `%T'"
+-#~ msgstr "Birenga kugirango"
+-
+-#, fuzzy
+-#~ msgid "variable-sized object of type `%T' may not be initialized"
+-#~ msgstr "IMPINDURAGACIRO Igikoresho Bya Ubwoko Gicurasi OYA"
+-
+-#, fuzzy
+-#~ msgid "subobject of type `%T' must be initialized by constructor, not by `%E'"
+-#~ msgstr "Bya Ubwoko ku OYA ku"
+-
+-#, fuzzy
+-#~ msgid "aggregate has a partly bracketed initializer"
+-#~ msgstr "a"
+-
+-#, fuzzy
+-#~ msgid "non-empty initializer for array of empty elements"
+-#~ msgstr "ubusa kugirango Imbonerahamwe Bya ubusa Ibintu"
+-
+-#, fuzzy
+-#~ msgid "initializer list for object of class with virtual base classes"
+-#~ msgstr "Urutonde kugirango Igikoresho Bya ishuri Na: Kitaboneka SHINGIRO Inzego"
+-
+-#, fuzzy
+-#~ msgid "initializer list for object of class with base classes"
+-#~ msgstr "Urutonde kugirango Igikoresho Bya ishuri Na: SHINGIRO Inzego"
+-
+-#, fuzzy
+-#~ msgid "initializer list for object using virtual functions"
+-#~ msgstr "Urutonde kugirango Igikoresho ikoresha Kitaboneka Imimaro"
+-
+-#, fuzzy
+-#~ msgid "missing initializer for member `%D'"
+-#~ msgstr "Ibuze kugirango"
+-
+-#, fuzzy
+-#~ msgid "uninitialized const member `%D'"
+-#~ msgstr "Itatangijwe"
+-
+-#, fuzzy
+-#~ msgid "member `%D' with uninitialized const fields"
+-#~ msgstr "Na: Itatangijwe Imyanya"
+-
+-#, fuzzy
+-#~ msgid "member `%D' is uninitialized reference"
+-#~ msgstr "ni Itatangijwe Indango"
+-
+-#, fuzzy
+-#~ msgid "index value instead of field name in union initializer"
+-#~ msgstr "Umubarendanga Agaciro Bya Umwanya Izina: in Ihuza"
+-
+-#, fuzzy
+-#~ msgid "no field `%D' in union being initialized"
+-#~ msgstr "Oya Umwanya in Ihuza"
+-
+-#, fuzzy
+-#~ msgid "union `%T' with no named members cannot be initialized"
+-#~ msgstr "Ihuza Na: Oya"
+-
+-#, fuzzy
+-#~ msgid "excess elements in aggregate initializer"
+-#~ msgstr "Ibintu in"
+-
+-#, fuzzy
+-#~ msgid "circular pointer delegation detected"
+-#~ msgstr "Cy'uruziga Mweretsi"
+-
+-#, fuzzy
+-#~ msgid "base operand of `->' has non-pointer type `%T'"
+-#~ msgstr "SHINGIRO Bya Mweretsi Ubwoko"
+-
+-#, fuzzy
+-#~ msgid "result of `operator->()' yields non-pointer result"
+-#~ msgstr "Igisubizo Bya Mukoresha Mweretsi Igisubizo"
+-
+-#, fuzzy
+-#~ msgid "base operand of `->' is not a pointer"
+-#~ msgstr "SHINGIRO Bya ni OYA a Mweretsi"
+-
+-#, fuzzy
+-#~ msgid "`%E' cannot be used as a member pointer, since it is of type `%T'"
+-#~ msgstr "`%E'Nka a Mweretsi guhera ni Bya Ubwoko"
+-
+-#, fuzzy
+-#~ msgid "cannot apply member pointer `%E' to `%E', which is of non-aggregate type `%T'"
+-#~ msgstr "Gukurikiza Mweretsi Kuri ni Bya Ubwoko"
+-
+-#, fuzzy
+-#~ msgid "member type `%T::' incompatible with object type `%T'"
+-#~ msgstr "Ubwoko Na: Igikoresho Ubwoko"
+-
+-#, fuzzy
+-#~ msgid "`%T' fails to be a typedef or built-in type"
+-#~ msgstr "`%T'Kuri a Cyangwa in Ubwoko"
+-
+-#, fuzzy
+-#~ msgid "ISO C++ forbids defining types within %s"
+-#~ msgstr "C muri"
+-
+-#, fuzzy
+-#~ msgid "call to function `%D' which throws incomplete type `%#T'"
+-#~ msgstr "Kuri Umumaro Ubwoko"
+-
+-#, fuzzy
+-#~ msgid "call to function which throws incomplete type `%#T'"
+-#~ msgstr "Kuri Umumaro Ubwoko"
+-
+-#, fuzzy
+-#~ msgid "%s is deprecated, please see the documentation for details"
+-#~ msgstr "%sni Bitemewe. i kugirango Birambuye"
+-
+-#, fuzzy
+-#~ msgid "Do not obey access control semantics"
+-#~ msgstr "OYA Igenzura"
+-
+-#, fuzzy
+-#~ msgid "Change when template instances are emitted"
+-#~ msgstr "Ryari: Inyandikorugero Ingero"
+-
+-#, fuzzy
+-#~ msgid "Check the return value of new"
+-#~ msgstr "i Garuka Agaciro Bya Gishya"
+-
+-#, fuzzy
+-#~ msgid "Reduce size of object files"
+-#~ msgstr "Ingano Bya Igikoresho Idosiye"
+-
+-#, fuzzy
+-#~ msgid "Make string literals `char[]' instead of `const char[]'"
+-#~ msgstr "Ikurikiranyanyuguti INYUGUTI Bya INYUGUTI"
+-
+-#, fuzzy
+-#~ msgid "Dump the entire translation unit to a file"
+-#~ msgstr "i Umwandiko wahinduwe ururimi Igice: Kuri a IDOSIYE"
+-
+-#, fuzzy
+-#~ msgid "Do not inline member functions by default"
+-#~ msgstr "OYA Mumurongo Imimaro ku Mburabuzi"
+-
+-#, fuzzy
+-#~ msgid "Do not generate run time type descriptor information"
+-#~ msgstr "OYA Gukoresha Igihe Ubwoko Ibisobanuro"
+-
+-#, fuzzy
+-#~ msgid "Do not generate code to check exception specifications"
+-#~ msgstr "OYA ITEGEKONGENGA Kuri Kugenzura... Irengayobora(-)"
+-
+-#, fuzzy
+-#~ msgid "Scope of for-init-statement vars extends outside"
+-#~ msgstr "Bya kugirango Inyandiko Hanze"
+-
+-#, fuzzy
+-#~ msgid "Do not recognize GNU defined keywords"
+-#~ msgstr "OYA Amagambo fatizo"
+-
+-#, fuzzy
+-#~ msgid "Enable support for huge objects"
+-#~ msgstr "Gushigikira kugirango Ibintu"
+-
+-#, fuzzy
+-#~ msgid "Export functions even if they can be inlined"
+-#~ msgstr "Imimaro ATARIIGIHARWE NIBA"
+-
+-#, fuzzy
+-#~ msgid "Only emit explicit template instantiations"
+-#~ msgstr "Inyandikorugero"
+-
+-#, fuzzy
+-#~ msgid "Only emit explicit instantiations of inline templates"
+-#~ msgstr "Bya Mumurongo Inyandikorugero"
+-
+-#, fuzzy
+-#~ msgid "Don't pedwarn about uses of Microsoft extensions"
+-#~ msgstr "Ibyerekeye Bya Umigereka"
+-
+-#, fuzzy
+-#~ msgid "Recognize and/bitand/bitor/compl/not/or/xor"
+-#~ msgstr "Na OYA Cyangwa"
+-
+-#, fuzzy
+-#~ msgid "Disable optional diagnostics"
+-#~ msgstr "Bitari ngombwa"
+-
+-#, fuzzy
+-#~ msgid "Downgrade conformance errors to warnings"
+-#~ msgstr "Amakosa Kuri Iburira"
+-
+-#, fuzzy
+-#~ msgid "Enable automatic template instantiation"
+-#~ msgstr "Byikoresha Inyandikorugero"
+-
+-#, fuzzy
+-#~ msgid "Display statistics accumulated during compilation"
+-#~ msgstr "Sitatisitiki"
+-
+-#, fuzzy
+-#~ msgid "Specify maximum template instantiation depth"
+-#~ msgstr "Kinini Inyandikorugero Ubujyakuzimu"
+-
+-#, fuzzy
+-#~ msgid "Use __cxa_atexit to register destructors"
+-#~ msgstr "Kuri Kwiyandikisha"
+-
+-#, fuzzy
+-#~ msgid "Discard unused virtual functions"
+-#~ msgstr "Kidakoreshwa Kitaboneka Imimaro"
+-
+-#, fuzzy
+-#~ msgid "Implement vtables using thunks"
+-#~ msgstr "ikoresha"
+-
+-#, fuzzy
+-#~ msgid "Emit common-like symbols as weak symbols"
+-#~ msgstr "nka Ibimenyetso Nka Ibimenyetso"
+-
+-#, fuzzy
+-#~ msgid "Emit cross referencing information"
+-#~ msgstr "Kwambukiranya Ibisobanuro"
+-
+-#, fuzzy
+-#~ msgid "Warn about inconsistent return types"
+-#~ msgstr "Ibyerekeye Garuka"
+-
+-#, fuzzy
+-#~ msgid "Warn about overloaded virtual function names"
+-#~ msgstr "Ibyerekeye Kitaboneka Umumaro Amazina"
+-
+-#, fuzzy
+-#~ msgid "Don't warn when all ctors/dtors are private"
+-#~ msgstr "Ryari: Byose By'umwihariko"
+-
+-#, fuzzy
+-#~ msgid "Warn about non virtual destructors"
+-#~ msgstr "Ibyerekeye Kitaboneka"
+-
+-#, fuzzy
+-#~ msgid "Warn when a function is declared extern, then inline"
+-#~ msgstr "Ryari: a Umumaro ni Hanyuma Mumurongo"
+-
+-#, fuzzy
+-#~ msgid "Warn when the compiler reorders code"
+-#~ msgstr "Ryari: i ITEGEKONGENGA"
+-
+-#, fuzzy
+-#~ msgid "Warn when synthesis behavior differs from Cfront"
+-#~ msgstr "Ryari: imyitwarire Bivuye"
+-
+-#, fuzzy
+-#~ msgid "Don't warn when type converting pointers to member functions"
+-#~ msgstr "Ryari: Ubwoko Guhindura.... Kuri Imimaro"
+-
+-#, fuzzy
+-#~ msgid "Warn about violations of Effective C++ style rules"
+-#~ msgstr "Ibyerekeye Bya C IMISUSIRE"
+-
+-#, fuzzy
+-#~ msgid "Warn when overload promotes from unsigned to signed"
+-#~ msgstr "Ryari: Bivuye Bitashizweho umukono Kuri"
+-
+-#, fuzzy
+-#~ msgid "Warn if a C style cast is used in a program"
+-#~ msgstr "NIBA a C IMISUSIRE ni in a Porogaramu"
+-
+-#, fuzzy
+-#~ msgid "Don't warn when non-templatized friend functions are declared within a template"
+-#~ msgstr "Ryari: Imimaro muri a Inyandikorugero"
+-
+-#, fuzzy
+-#~ msgid "Don't announce deprecation of compiler features"
+-#~ msgstr "Bya Ibiranga"
+-
+-# scp/source\cde\unxbasic_cde.lng:STR_BASIC_CDEINT_NETWORK_STRING2.text
+-#, fuzzy
+-#~ msgid "note:"
+-#~ msgstr "Ibisobanuro:"
+-
+-#, fuzzy
+-#~ msgid "warning:"
+-#~ msgstr "Iburira!"
+-
+-#, fuzzy
+-#~ msgid "ASSIGN'ed label cannot fit into `%A' at %0 -- using wider sibling"
+-#~ msgstr "Akarango ku ikoresha"
+-
+-#, fuzzy
+-#~ msgid "no INTEGER type can hold a pointer on this configuration"
+-#~ msgstr "Oya Ubwoko a Mweretsi ku iyi Iboneza"
+-
+-#, fuzzy
+-#~ msgid "configuration: REAL, INTEGER, and LOGICAL are %d bits wide,"
+-#~ msgstr "Iboneza Na"
+-
+-#, fuzzy
+-#~ msgid "and pointers are %d bits wide, but g77 doesn't yet work"
+-#~ msgstr "Na Akazi"
+-
+-#, fuzzy
+-#~ msgid "properly unless they all are 32 bits wide"
+-#~ msgstr "Byose"
+-
+-#, fuzzy
+-#~ msgid "Please keep this in mind before you report bugs."
+-#~ msgstr "Gumana: iyi in Mbere Icyegeranyo"
+-
+-#, fuzzy
+-#~ msgid "configuration: char * holds %d bits, but ftnlen only %d"
+-#~ msgstr "Iboneza INYUGUTI"
+-
+-#, fuzzy
+-#~ msgid ""
+-#~ "configuration: char * holds %d bits, but INTEGER only %d --\n"
+-#~ " ASSIGN statement might fail"
+-#~ msgstr "Iboneza INYUGUTI Inyandiko"
+-
+-#, fuzzy
+-#~ msgid "In statement function"
+-#~ msgstr "Inyandiko Umumaro"
+-
+-#, fuzzy
+-#~ msgid "Outside of any program unit:\n"
+-#~ msgstr "Bya Porogaramu Igice:"
+-
+-#, fuzzy
+-#~ msgid "%A from %B at %0%C"
+-#~ msgstr "%ABivuye ku"
+-
+-#, fuzzy
+-#~ msgid "directory name must immediately follow -I"
+-#~ msgstr "bushyinguro Izina: Ako kanya"
+-
+-#, fuzzy
+-#~ msgid "At %0, INCLUDE file %A exists, but is not readable"
+-#~ msgstr "IDOSIYE ni OYA"
+-
+-#, fuzzy
+-#~ msgid "At %0, INCLUDE nesting too deep"
+-#~ msgstr "Njyakuzimu"
+-
+-#, fuzzy
+-#~ msgid "Two arithmetic operators in a row at %0 and %1 -- use parentheses"
+-#~ msgstr "Mukoresha in a Urubariro ku Na Gukoresha %1"
+-
+-#, fuzzy
+-#~ msgid "Operator at %0 has lower precedence than that at %1 -- use parentheses"
+-#~ msgstr "ku Ntoya ku Gukoresha %1"
+-
+-#, fuzzy
+-#~ msgid "Use .EQV./.NEQV. instead of .EQ./.NE. at %0 for LOGICAL operands at %1 and %2"
+-#~ msgstr ""
+-#~ "Project- Id- Version: basctl\n"
+-#~ "POT- Creation- Date: 2003- 12- 07 17: 13+ 02\n"
+-#~ "PO- Revision- Date: 2004- 11- 04 10: 13- 0700\n"
+-#~ "Last- Translator: Language- Team:< en@ li. org> MIME- Version: 1. 0\n"
+-#~ "Content- Type: text/ plain; charset= UTF- 8\n"
+-#~ "Content- Transfer- Encoding: 8bit\n"
+-#~ "X- Generator: KBabel 1. 0\n"
+-#~ ". Project- Id- Version: basctl\n"
+-#~ "POT- Creation- Date: 2003- 12- 07 17: 13+ 02\n"
+-#~ "PO- Revision- Date: 2004- 11- 04 10: 13- 0700\n"
+-#~ "Last- Translator: Language- Team:< en@ li. org> MIME- Version: 1. 0\n"
+-#~ "Content- Type: text/ plain; charset= UTF- 8\n"
+-#~ "Content- Transfer- Encoding: 8bit\n"
+-#~ "X- Generator: KBabel 1. 0\n"
+-#~ "."
+-
+-#, fuzzy
+-#~ msgid "Unsupported operand for ** at %1 -- converting to default INTEGER"
+-#~ msgstr "kugirango ku Guhindura.... Kuri Mburabuzi"
+-
+-#, fuzzy
+-#~ msgid "overflowed output arg list for `%s'"
+-#~ msgstr "Ibisohoka Urutonde kugirango"
+-
+-#, fuzzy
+-#~ msgid "--driver no longer supported"
+-#~ msgstr "--Musomyi: Oya"
+-
+-#, fuzzy
+-#~ msgid "argument to `%s' missing"
+-#~ msgstr "Kuri Ibuze"
+-
+-#, fuzzy
+-#~ msgid "no input files; unwilling to write output files"
+-#~ msgstr "Oya Iyinjiza Idosiye Kuri Kwandika Ibisohoka Idosiye"
+-
+-#, fuzzy
+-#~ msgid "Implicit declaration of `%A' at %0"
+-#~ msgstr "Bya ku"
+-
+-#, fuzzy
+-#~ msgid "Non-ISO-C-standard escape sequence `\\%A' at %0"
+-#~ msgstr "C Bisanzwe ku"
+-
+-#, fuzzy
+-#~ msgid "Unknown escape sequence `\\%A' at %0"
+-#~ msgstr "ku"
+-
+-#, fuzzy
+-#~ msgid "Unterminated escape sequence `\\' at %0"
+-#~ msgstr "ku"
+-
+-#, fuzzy
+-#~ msgid "Unknown escape sequence `\\' followed by char code 0x%A at %0"
+-#~ msgstr "ku INYUGUTI ITEGEKONGENGA ku"
+-
+-#, fuzzy
+-#~ msgid "\\x used at %0 with no following hex digits"
+-#~ msgstr "\\xku Na: Oya"
+-
+-#, fuzzy
+-#~ msgid "Hex escape at %0 out of range"
+-#~ msgstr "ku Inyuma Bya Urutonde"
+-
+-#, fuzzy
+-#~ msgid "Escape sequence at %0 out of range for character"
+-#~ msgstr "ku Inyuma Bya Urutonde kugirango Inyuguti"
+-
+-#, fuzzy
+-#~ msgid "hex escape out of range"
+-#~ msgstr "Inyuma Bya Urutonde"
+-
+-#, fuzzy
+-#~ msgid "non-ANSI-standard escape sequence, `\\%c'"
+-#~ msgstr "Bisanzwe"
+-
+-#, fuzzy
+-#~ msgid "unknown escape sequence `\\%c'"
+-#~ msgstr "Kitazwi"
+-
+-#, fuzzy
+-#~ msgid "unknown escape sequence: `\\' followed by char code 0x%x"
+-#~ msgstr "Kitazwi ku INYUGUTI ITEGEKONGENGA"
+-
+-#, fuzzy
+-#~ msgid "badly formed directive -- no closing quote"
+-#~ msgstr "Oya Gushyiraho akugarizo"
+-
+-#, fuzzy
+-#~ msgid "#-lines for entering and leaving files don't match"
+-#~ msgstr "#-Imirongo kugirango Na Idosiye BIHUYE"
+-
+-#, fuzzy
+-#~ msgid "bad directive -- missing close-quote"
+-#~ msgstr "Ibuze Gufunga Gushyiraho akugarizo"
+-
+-#, fuzzy
+-#~ msgid "invalid #ident"
+-#~ msgstr "Sibyo"
+-
+-#, fuzzy
+-#~ msgid "undefined or invalid # directive"
+-#~ msgstr "kidasobanuye Cyangwa Sibyo"
+-
+-#, fuzzy
+-#~ msgid "invalid #line"
+-#~ msgstr "Sibyo Umurongo"
+-
+-#, fuzzy
+-#~ msgid "use `#line ...' instead of `# ...' in first line"
+-#~ msgstr "Gukoresha Umurongo Bya in Itangira Umurongo"
+-
+-#, fuzzy
+-#~ msgid "invalid #-line"
+-#~ msgstr "Sibyo Umurongo"
+-
+-#, fuzzy
+-#~ msgid "Null character at %0 -- line ignored"
+-#~ msgstr "Inyuguti ku Umurongo"
+-
+-#, fuzzy
+-#~ msgid "INCLUDE at %0 not the only statement on the source line"
+-#~ msgstr "ku OYA i Inyandiko ku i Inkomoko Umurongo"
+-
+-#, fuzzy
+-#~ msgid "ASSIGNed FORMAT specifier is too small"
+-#~ msgstr "ni Gitoya"
+-
+-#, fuzzy
+-#~ msgid "SELECT CASE on CHARACTER type (at %0) not supported -- sorry"
+-#~ msgstr "ku Ubwoko ku OYA"
+-
+-#, fuzzy
+-#~ msgid "SELECT (at %0) has duplicate cases -- check integer overflow of CASE(s)"
+-#~ msgstr "ku Gusubiramo Kugenzura... Umubare wuzuye Byarenze urugero Bya S"
+-
+-#, fuzzy
+-#~ msgid "ASSIGN to variable that is too small"
+-#~ msgstr "Kuri IMPINDURAGACIRO ni Gitoya"
+-
+-#, fuzzy
+-#~ msgid "ASSIGNed GOTO target variable is too small"
+-#~ msgstr "Intego IMPINDURAGACIRO ni Gitoya"
+-
+-#, fuzzy
+-#~ msgid "Local adjustable symbol `%A' at %0"
+-#~ msgstr "IKIMENYETSO ku"
+-
+-#, fuzzy
+-#~ msgid "data initializer on host with different endianness"
+-#~ msgstr "Ibyatanzwe ku Ubuturo Na:"
+-
+-#, fuzzy
+-#~ msgid "%s no longer supported -- try -fvxt"
+-#~ msgstr "%sOya"
+-
+-#, fuzzy
+-#~ msgid "%s no longer supported -- try -fno-vxt -ff90"
+-#~ msgstr "%sOya"
+-
+-#, fuzzy
+-#~ msgid "%s disabled, use normal debugging flags"
+-#~ msgstr "%sYahagaritswe Gukoresha Bisanzwe Amabendera"
+-
+-#, fuzzy
+-#~ msgid "Print g77-specific compiler version info, run internal tests"
+-#~ msgstr "Verisiyo Ibisobanuro Gukoresha By'imbere"
+-
+-#, fuzzy
+-#~ msgid "Program is written in typical FORTRAN 66 dialect"
+-#~ msgstr "ni in"
+-
+-#, fuzzy
+-#~ msgid "Program is written in typical Unix f77 dialect"
+-#~ msgstr "ni in"
+-
+-#, fuzzy
+-#~ msgid "Program does not use Unix-f77 dialectal features"
+-#~ msgstr "OYA Gukoresha Ibiranga"
+-
+-#, fuzzy
+-#~ msgid "Program is written in Fortran-90-ish dialect"
+-#~ msgstr "ni in"
+-
+-#, fuzzy
+-#~ msgid "Treat local vars and COMMON blocks as if they were named in SAVE statements"
+-#~ msgstr "Na Nka NIBA in"
+-
+-#, fuzzy
+-#~ msgid "Allow $ in symbol names"
+-#~ msgstr "in IKIMENYETSO Amazina"
+-
+-#, fuzzy
+-#~ msgid "f2c-compatible code need not be generated"
+-#~ msgstr "ITEGEKONGENGA OYA"
+-
+-#, fuzzy
+-#~ msgid "Unsupported; do not generate libf2c-calling code"
+-#~ msgstr "OYA ITEGEKONGENGA"
+-
+-#, fuzzy
+-#~ msgid "Unsupported; affects code-generation of arrays"
+-#~ msgstr "ITEGEKONGENGA Bya"
+-
+-#, fuzzy
+-#~ msgid "Program is written in Fortran-90-ish free form"
+-#~ msgstr "ni in Kigenga Ifishi"
+-
+-#, fuzzy
+-#~ msgid "Warn about use of (only a few for now) Fortran extensions"
+-#~ msgstr "Ibyerekeye Gukoresha Bya a kugirango NONEAHA Umigereka"
+-
+-#, fuzzy
+-#~ msgid "Program is written in VXT (Digital-like) FORTRAN"
+-#~ msgstr "ni in nka"
+-
+-#, fuzzy
+-#~ msgid "Disallow all ugly features"
+-#~ msgstr "Byose Ibiranga"
+-
+-#, fuzzy
+-#~ msgid "Hollerith and typeless constants not passed as arguments"
+-#~ msgstr "Na OYA Nka ingingo"
+-
+-#, fuzzy
+-#~ msgid "Allow ordinary copying of ASSIGN'ed vars"
+-#~ msgstr "Bya"
+-
+-#, fuzzy
+-#~ msgid "Dummy array dimensioned to (1) is assumed-size"
+-#~ msgstr "Imbonerahamwe Kuri 1. ni Ingano"
+-
+-#, fuzzy
+-#~ msgid "Trailing comma in procedure call denotes null argument"
+-#~ msgstr "Akitso in NTAGIHARI"
+-
+-#, fuzzy
+-#~ msgid "Allow REAL(Z) and AIMAG(Z) given DOUBLE COMPLEX Z"
+-#~ msgstr "Na"
+-
+-#, fuzzy
+-#~ msgid "Initialization via DATA and PARAMETER is type-compatible"
+-#~ msgstr "Biturutse Na ni Ubwoko"
+-
+-#, fuzzy
+-#~ msgid "Allow INTEGER and LOGICAL interchangeability"
+-#~ msgstr "Na"
+-
+-#, fuzzy
+-#~ msgid "Print internal debugging-related info"
+-#~ msgstr "By'imbere Ibisobanuro"
+-
+-#, fuzzy
+-#~ msgid "Initialize local vars and arrays to zero"
+-#~ msgstr "Na Kuri Zeru"
+-
+-#, fuzzy
+-#~ msgid "Backslashes in character/hollerith constants not special (C-style)"
+-#~ msgstr "in Inyuguti OYA Bidasanzwe C IMISUSIRE"
+-
+-#, fuzzy
+-#~ msgid "Have front end emulate COMPLEX arithmetic to avoid bugs"
+-#~ msgstr "Imbere Impera Kuri"
+-
+-#, fuzzy
+-#~ msgid "Disable the appending of underscores to externals"
+-#~ msgstr "i Bya Kuri"
+-
+-#, fuzzy
+-#~ msgid "Never append a second underscore to externals"
+-#~ msgstr "Kongeraho... a ISEGONDA Kuri"
+-
+-#, fuzzy
+-#~ msgid "Intrinsics spelled as e.g. SqRt"
+-#~ msgstr "g."
+-
+-#, fuzzy
+-#~ msgid "Intrinsics in uppercase"
+-#~ msgstr "in Inyuguti nkuru"
+-
+-#, fuzzy
+-#~ msgid "Intrinsics letters in arbitrary cases"
+-#~ msgstr "in"
+-
+-#, fuzzy
+-#~ msgid "Language keywords spelled as e.g. IOStat"
+-#~ msgstr "g."
+-
+-#, fuzzy
+-#~ msgid "Language keywords in uppercase"
+-#~ msgstr "Amagambo fatizo in Inyuguti nkuru"
+-
+-#, fuzzy
+-#~ msgid "Language keyword letters in arbitrary cases"
+-#~ msgstr "Ijambo- banze in"
+-
+-#, fuzzy
+-#~ msgid "Internally convert most source to uppercase"
+-#~ msgstr "GUHINDURA Inkomoko Kuri Inyuguti nkuru"
+-
+-#, fuzzy
+-#~ msgid "Internally preserve source case"
+-#~ msgstr "Inkomoko"
+-
+-#, fuzzy
+-#~ msgid "Symbol names spelled in mixed case"
+-#~ msgstr "Amazina in Bivanze"
+-
+-#, fuzzy
+-#~ msgid "Symbol names in uppercase"
+-#~ msgstr "Amazina in Inyuguti nkuru"
+-
+-#, fuzzy
+-#~ msgid "Symbol names in lowercase"
+-#~ msgstr "Amazina in Inyuguti nto"
+-
+-#, fuzzy
+-#~ msgid "Program written in uppercase"
+-#~ msgstr "in Inyuguti nkuru"
+-
+-#, fuzzy
+-#~ msgid "Program written in lowercase"
+-#~ msgstr "in Inyuguti nto"
+-
+-#, fuzzy
+-#~ msgid "Program written in strict mixed-case"
+-#~ msgstr "in Bivanze"
+-
+-#, fuzzy
+-#~ msgid "Compile as if program written in uppercase"
+-#~ msgstr "Nka NIBA Porogaramu in Inyuguti nkuru"
+-
+-#, fuzzy
+-#~ msgid "Compile as if program written in lowercase"
+-#~ msgstr "Nka NIBA Porogaramu in Inyuguti nto"
+-
+-#, fuzzy
+-#~ msgid "Preserve all spelling (case) used in program"
+-#~ msgstr "Byose Ivuganyuguti in Porogaramu"
+-
+-#, fuzzy
+-#~ msgid "Delete libU77 intrinsics with bad interfaces"
+-#~ msgstr "Na:"
+-
+-#, fuzzy
+-#~ msgid "Disable libU77 intrinsics with bad interfaces"
+-#~ msgstr "Na:"
+-
+-#, fuzzy
+-#~ msgid "Hide libU77 intrinsics with bad interfaces"
+-#~ msgstr "Na:"
+-
+-#, fuzzy
+-#~ msgid "Treat initial values of 0 like non-zero values"
+-#~ msgstr "Uduciro Bya 0 nka Zeru Uduciro"
+-
+-#, fuzzy
+-#~ msgid "Emit special debugging information for COMMON and EQUIVALENCE (disabled)"
+-#~ msgstr "Bidasanzwe Ibisobanuro kugirango Na Yahagaritswe"
+-
+-#, fuzzy
+-#~ msgid "Take at least one trip through each iterative DO loop"
+-#~ msgstr "ku Gihinguranya"
+-
+-#, fuzzy
+-#~ msgid "Print names of program units as they are compiled"
+-#~ msgstr "Amazina Bya Porogaramu Nka"
+-
+-#, fuzzy
+-#~ msgid "Disable fatal diagnostics about inter-procedural problems"
+-#~ msgstr "Ibyerekeye"
+-
+-#, fuzzy
+-#~ msgid "Make prefix-radix non-decimal constants be typeless"
+-#~ msgstr "Imbanziriza radix NYACUMI"
+-
+-#, fuzzy
+-#~ msgid "Generate code to check subscript and substring bounds"
+-#~ msgstr "ITEGEKONGENGA Kuri Kugenzura... Inyandiko nyesi Na"
+-
+-#, fuzzy
+-#~ msgid "Fortran-specific form of -fbounds-check"
+-#~ msgstr "Ifishi Bya Kugenzura..."
+-
+-#, fuzzy
+-#~ msgid "Disable warnings about inter-procedural problems"
+-#~ msgstr "Iburira Ibyerekeye"
+-
+-#, fuzzy
+-#~ msgid "Warn about constructs with surprising meanings"
+-#~ msgstr "Ibyerekeye Na:"
+-
+-#, fuzzy
+-#~ msgid "Add a directory for INCLUDE searching"
+-#~ msgstr "a bushyinguro kugirango Ishakisha"
+-
+-#, fuzzy
+-#~ msgid "Set the maximum line length"
+-#~ msgstr "i Kinini Umurongo Uburebure"
+-
+-#, fuzzy
+-#~ msgid "Missing first operand for binary operator at %0"
+-#~ msgstr "Itangira kugirango Nyabibiri Mukoresha ku"
+-
+-#, fuzzy
+-#~ msgid "Zero-length character constant at %0"
+-#~ msgstr "Uburebure Inyuguti ku"
+-
+-#, fuzzy
+-#~ msgid "Invalid token at %0 in expression or subexpression at %1"
+-#~ msgstr "ku in imvugo Cyangwa ku"
+-
+-#, fuzzy
+-#~ msgid "Missing operand for operator at %1 at end of expression at %0"
+-#~ msgstr "kugirango Mukoresha ku ku Impera Bya imvugo ku"
+-
+-#, fuzzy
+-#~ msgid "Label %A already defined at %1 when redefined at %0"
+-#~ msgstr "ku Ryari: ku"
+-
+-#, fuzzy
+-#~ msgid "Unrecognized character at %0 [info -f g77 M LEX]"
+-#~ msgstr "Inyuguti ku Ibisobanuro F"
+-
+-#, fuzzy
+-#~ msgid "Label definition %A at %0 on empty statement (as of %1)"
+-#~ msgstr "Insobanuro ku ku ubusa Inyandiko Nka Bya"
+-
+-#, fuzzy
+-#~ msgid "Invalid first character at %0 [info -f g77 M LEX]"
+-#~ msgstr "Itangira Inyuguti ku Ibisobanuro F"
+-
+-#, fuzzy
+-#~ msgid "Line too long as of %0 [info -f g77 M LEX]"
+-#~ msgstr "Nka Bya Ibisobanuro F"
+-
+-#, fuzzy
+-#~ msgid "Non-numeric character at %0 in label field [info -f g77 M LEX]"
+-#~ msgstr "Bikurikije umubare Inyuguti ku in Akarango Umwanya Ibisobanuro F"
+-
+-#, fuzzy
+-#~ msgid "Label number at %0 not in range 1-99999"
+-#~ msgstr "Umubare ku OYA in Urutonde 1."
+-
+-#, fuzzy
+-#~ msgid "At %0, '!' and '/*' are not valid comment delimiters"
+-#~ msgstr "Na OYA Byemewe Icyo wongeraho"
+-
+-#, fuzzy
+-#~ msgid "Continuation indicator at %0 must appear in column 6 [info -f g77 M LEX]"
+-#~ msgstr "ku Kugaragara in Inkingi 6 Ibisobanuro F"
+-
+-#, fuzzy
+-#~ msgid "Label at %0 invalid with continuation line indicator at %1 [info -f g77 M LEX]"
+-#~ msgstr "ku Sibyo Na: Umurongo ku Ibisobanuro F"
+-
+-#, fuzzy
+-#~ msgid "Character constant at %0 has no closing apostrophe at %1"
+-#~ msgstr "ku Oya ku"
+-
+-#, fuzzy
+-#~ msgid "Hollerith constant at %0 specified %A more characters than are present as of %1"
+-#~ msgstr "ku Birenzeho Inyuguti Nka Bya"
+-
+-#, fuzzy
+-#~ msgid "Missing close parenthese at %0 needed to match open parenthese at %1"
+-#~ msgstr "Gufunga ku Kuri BIHUYE Gufungura ku"
+-
+-#, fuzzy
+-#~ msgid "Integer at %0 too large"
+-#~ msgstr "ku Binini"
+-
+-#, fuzzy
+-#~ msgid "Period at %0 not followed by digits for floating-point number or by `NOT.', `TRUE.', or `FALSE.'"
+-#~ msgstr "Igihe ku OYA ku kugirango Bihindagurika Akadomo Umubare Cyangwa ku Cyangwa"
+-
+-#, fuzzy
+-#~ msgid "Missing close-period between `.%A' at %0 and %1"
+-#~ msgstr "Gufunga Igihe hagati ku Na"
+-
+-#, fuzzy
+-#~ msgid "Invalid exponent at %0 for real constant at %1; nondigit `%A' in exponent field"
+-#~ msgstr "ku kugirango ku in Umwanya"
+-
+-#, fuzzy
+-#~ msgid "Missing value at %1 for real-number exponent at %0"
+-#~ msgstr "Agaciro ku kugirango Umubare ku"
+-
+-#, fuzzy
+-#~ msgid "Expected binary operator between expressions at %0 and at %1"
+-#~ msgstr "Itegerejwe Nyabibiri Mukoresha hagati ku Na ku"
+-
+-#, fuzzy
+-#~ msgid "Semicolon at %0 is an invalid token"
+-#~ msgstr "ku ni Sibyo"
+-
+-#, fuzzy
+-#~ msgid "Extraneous comma in FORMAT statement at %0"
+-#~ msgstr "Akitso in Inyandiko ku"
+-
+-#, fuzzy
+-#~ msgid "Missing comma in FORMAT statement at %0"
+-#~ msgstr "Akitso in Inyandiko ku"
+-
+-#, fuzzy
+-#~ msgid "Spurious sign in FORMAT statement at %0"
+-#~ msgstr "IKIMENYETSO in Inyandiko ku"
+-
+-#, fuzzy
+-#~ msgid "Spurious number in FORMAT statement at %0"
+-#~ msgstr "Umubare in Inyandiko ku"
+-
+-#, fuzzy
+-#~ msgid "Spurious text trailing number in FORMAT statement at %0"
+-#~ msgstr "Umwandiko Umubare in Inyandiko ku"
+-
+-#, fuzzy
+-#~ msgid "Unrecognized FORMAT specifier at %0"
+-#~ msgstr "ku"
+-
+-#, fuzzy
+-#~ msgid "Missing close-parenthese(s) in FORMAT statement at %0"
+-#~ msgstr "Gufunga S in Inyandiko ku"
+-
+-#, fuzzy
+-#~ msgid "Missing number following period in FORMAT statement at %0"
+-#~ msgstr "Umubare Igihe in Inyandiko ku"
+-
+-#, fuzzy
+-#~ msgid "Missing number following `E' in FORMAT statement at %0"
+-#~ msgstr "Umubare in Inyandiko ku"
+-
+-#, fuzzy
+-#~ msgid "Spurious trailing comma preceding terminator at %0"
+-#~ msgstr "Akitso ku"
+-
+-#, fuzzy
+-#~ msgid "At %0, specify OPERATOR instead of ASSIGNMENT for INTERFACE statement not specifying the assignment operator (=)"
+-#~ msgstr "Bya kugirango Inyandiko OYA i Igenera Mukoresha"
+-
+-#, fuzzy
+-#~ msgid "At %0, specify ASSIGNMENT instead of OPERATOR for INTERFACE statement specifying the assignment operator (=)"
+-#~ msgstr "Bya kugirango Inyandiko i Igenera Mukoresha"
+-
+-#, fuzzy
+-#~ msgid "Cannot specify =initialization-expr at %0 unless `::' appears before list of objects"
+-#~ msgstr "ku Mbere Urutonde Bya Ibintu"
+-
+-#, fuzzy
+-#~ msgid "Reference to label at %1 inconsistent with its definition at %0"
+-#~ msgstr "Kuri Akarango ku Na: Insobanuro ku"
+-
+-#, fuzzy
+-#~ msgid "Reference to label at %1 inconsistent with earlier reference at %0"
+-#~ msgstr "Kuri Akarango ku Na: Indango ku"
+-
+-#, fuzzy
+-#~ msgid "DO-statement reference to label at %1 follows its definition at %0"
+-#~ msgstr "Inyandiko Indango Kuri Akarango ku Insobanuro ku"
+-
+-#, fuzzy
+-#~ msgid "Reference to label at %1 is outside block containing definition at %0"
+-#~ msgstr "Kuri Akarango ku ni Hanze Funga Insobanuro ku"
+-
+-#, fuzzy
+-#~ msgid "DO-statement references to label at %0 and %2 separated by unterminated block starting at %1"
+-#~ msgstr "Inyandiko Indango Kuri Akarango ku Na ku Funga ku"
+-
+-#, fuzzy
+-#~ msgid "DO-statement reference to label at %0 and label definition at %2 separated by unterminated block starting at %1"
+-#~ msgstr "Inyandiko Indango Kuri Akarango ku Na Akarango Insobanuro ku ku Funga ku"
+-
+-#, fuzzy
+-#~ msgid "Label definition at %0 invalid on this kind of statement"
+-#~ msgstr "Insobanuro ku Sibyo ku iyi Bya Inyandiko"
+-
+-#, fuzzy
+-#~ msgid "Statement at %0 invalid in this context"
+-#~ msgstr "ku Sibyo in iyi Imvugiro"
+-
+-#, fuzzy
+-#~ msgid "Statement at %0 invalid in context established by statement at %1"
+-#~ msgstr "ku Sibyo in Imvugiro ku Inyandiko ku"
+-
+-#, fuzzy
+-#~ msgid "Statement at %0 must specify construct name specified at %1"
+-#~ msgstr "ku Izina: ku"
+-
+-#, fuzzy
+-#~ msgid "Construct name at %0 superfluous, no construct name specified at %1"
+-#~ msgstr "Izina: ku Oya Izina: ku"
+-
+-#, fuzzy
+-#~ msgid "Construct name at %0 not the same as construct name at %1"
+-#~ msgstr "Izina: ku OYA i Nka Izina: ku"
+-
+-#, fuzzy
+-#~ msgid "Construct name at %0 does not match construct name for any containing DO constructs"
+-#~ msgstr "Izina: ku OYA BIHUYE Izina: kugirango"
+-
+-#, fuzzy
+-#~ msgid "Label definition missing at %0 for DO construct specifying label at %1"
+-#~ msgstr "Insobanuro Ibuze ku kugirango Akarango ku"
+-
+-#, fuzzy
+-#~ msgid "Statement at %0 follows ELSE block for IF construct at %1"
+-#~ msgstr "ku Funga kugirango ku"
+-
+-#, fuzzy
+-#~ msgid "No label definition for FORMAT statement at %0"
+-#~ msgstr "Akarango Insobanuro kugirango Inyandiko ku"
+-
+-#, fuzzy
+-#~ msgid "Second occurrence of ELSE WHERE at %0 within WHERE at %1"
+-#~ msgstr "ukugaragara Bya ku muri ku"
+-
+-#, fuzzy
+-#~ msgid "END statement at %0 missing `%A' keyword required for internal or module procedure(s) bounded by %1"
+-#~ msgstr "Inyandiko ku Ibuze Ijambo- banze Bya ngombwa kugirango By'imbere Cyangwa Modire S ku"
+-
+-#, fuzzy
+-#~ msgid "MODULE PROCEDURE statement at %0 disallowed because INTERFACE at %1 specifies no generic name, operator, or assignment"
+-#~ msgstr "Inyandiko ku ku Oya Gifitanye isano Izina: Mukoresha Cyangwa Igenera"
+-
+-#, fuzzy
+-#~ msgid "BLOCK DATA name at %0 superfluous, no name specified at %1"
+-#~ msgstr "Izina: ku Oya Izina: ku"
+-
+-#, fuzzy
+-#~ msgid "Program name at %0 superfluous, no PROGRAM statement specified at %1"
+-#~ msgstr "Izina: ku Oya Inyandiko ku"
+-
+-#, fuzzy
+-#~ msgid "Program unit name at %0 not the same as name at %1"
+-#~ msgstr "Igice: Izina: ku OYA i Nka Izina: ku"
+-
+-#, fuzzy
+-#~ msgid "Type name at %0 not the same as name at %1"
+-#~ msgstr "Izina: ku OYA i Nka Izina: ku"
+-
+-#, fuzzy
+-#~ msgid "End of source file before end of block started at %0"
+-#~ msgstr "Impera Bya Inkomoko IDOSIYE Mbere Impera Bya Funga ku"
+-
+-#, fuzzy
+-#~ msgid "Undefined label, first referenced at %0"
+-#~ msgstr "Akarango Itangira ku"
+-
+-#, fuzzy
+-#~ msgid "SAVE statement or attribute at %1 cannot be specified along with SAVE statement or attribute at %0"
+-#~ msgstr "Inyandiko Cyangwa Ikiranga ku Na: Inyandiko Cyangwa Ikiranga ku"
+-
+-#, fuzzy
+-#~ msgid "PUBLIC or PRIVATE statement at %1 cannot be specified along with PUBLIC or PRIVATE statement at %0"
+-#~ msgstr "Cyangwa Inyandiko ku Na: Cyangwa Inyandiko ku"
+-
+-#, fuzzy
+-#~ msgid "RETURN statement at %0 invalid within a main program unit"
+-#~ msgstr "Inyandiko ku Sibyo muri a Porogaramu Igice:"
+-
+-#, fuzzy
+-#~ msgid "Alternate return specifier at %0 invalid within a main program unit"
+-#~ msgstr "Garuka ku Sibyo muri a Porogaramu Igice:"
+-
+-#, fuzzy
+-#~ msgid "Alternate return specifier at %0 invalid within a function"
+-#~ msgstr "Garuka ku Sibyo muri a Umumaro"
+-
+-#, fuzzy
+-#~ msgid "Access specifier or PRIVATE statement at %0 invalid for derived-type definition within other than the specification part of a module"
+-#~ msgstr "Cyangwa Inyandiko ku Sibyo kugirango Ubwoko Insobanuro muri Ikindi i Bya a Modire"
+-
+-#, fuzzy
+-#~ msgid "Access specifier at %0 must immediately follow derived-type statement at %1 with no intervening statements"
+-#~ msgstr "ku Ako kanya Ubwoko Inyandiko ku Na: Oya"
+-
+-#, fuzzy
+-#~ msgid "No components specified as of %0 for derived-type definition beginning at %1"
+-#~ msgstr "Nka Bya kugirango Ubwoko Insobanuro Itangiriro ku"
+-
+-#, fuzzy
+-#~ msgid "No components specified as of %0 for structure definition beginning at %1"
+-#~ msgstr "Nka Bya kugirango Imiterere Insobanuro Itangiriro ku"
+-
+-#, fuzzy
+-#~ msgid "Missing structure name for outer structure definition at %0"
+-#~ msgstr "Imiterere Izina: kugirango hanze Imiterere Insobanuro ku"
+-
+-#, fuzzy
+-#~ msgid "Field names at %0 for outer structure definition -- specify them in a subsequent RECORD statement instead"
+-#~ msgstr "Amazina ku kugirango hanze Imiterere Insobanuro in a Inyandiko"
+-
+-#, fuzzy
+-#~ msgid "Missing field name(s) for structure definition at %0 within structure definition at %1"
+-#~ msgstr "Umwanya Izina: S kugirango Imiterere Insobanuro ku muri Imiterere Insobanuro ku"
+-
+-#, fuzzy
+-#~ msgid "No components specified as of %0 for map beginning at %1"
+-#~ msgstr "Nka Bya kugirango Itangiriro ku"
+-
+-#, fuzzy
+-#~ msgid "Zero or one maps specified as of %0 for union beginning at %1 -- at least two are required"
+-#~ msgstr "Cyangwa Amakarita Nka Bya kugirango Ihuza Itangiriro ku ku Bya ngombwa"
+-
+-#, fuzzy
+-#~ msgid "Missing %A specifier in statement at %0"
+-#~ msgstr "in Inyandiko ku"
+-
+-#, fuzzy
+-#~ msgid "Items in I/O list starting at %0 invalid for namelist-directed I/O"
+-#~ msgstr "in Urutonde ku Sibyo kugirango"
+-
+-#, fuzzy
+-#~ msgid "Conflicting I/O control specifications at %0 and %1"
+-#~ msgstr "Igenzura ku Na"
+-
+-#, fuzzy
+-#~ msgid "No UNIT= specifier in I/O control list at %0"
+-#~ msgstr "URUGERO in Igenzura Urutonde ku"
+-
+-#, fuzzy
+-#~ msgid "Specification at %0 requires ADVANCE=`NO' specification in same I/O control list"
+-#~ msgstr "ku in Igenzura Urutonde"
+-
+-#, fuzzy
+-#~ msgid "Specification at %0 requires explicit FMT= specification in same I/O control list"
+-#~ msgstr "ku in Igenzura Urutonde"
+-
+-#, fuzzy
+-#~ msgid "Second occurrence of CASE DEFAULT at %0 within SELECT CASE at %1"
+-#~ msgstr "ukugaragara Bya ku muri ku"
+-
+-#, fuzzy
+-#~ msgid "Duplicate or overlapping case values/ranges at %0 and %1"
+-#~ msgstr "Cyangwa iyorosa Uduciro Ibice ku Na"
+-
+-#, fuzzy
+-#~ msgid "Type and/or kind-type parameter disagreement between CASE value or value within range at %0 and SELECT CASE at %1"
+-#~ msgstr "Na Cyangwa Ubwoko hagati Agaciro Cyangwa Agaciro muri Urutonde ku Na ku"
+-
+-#, fuzzy
+-#~ msgid "Range specification at %0 invalid for CASE statement within logical-type SELECT CASE statement"
+-#~ msgstr "ku Sibyo kugirango Inyandiko muri Bijyanye n'inyurabwenge Ubwoko Inyandiko"
+-
+-#, fuzzy
+-#~ msgid "Fortran 90 feature at %0 unsupported"
+-#~ msgstr "ku"
+-
+-#, fuzzy
+-#~ msgid "Invalid declaration of or reference to symbol `%A' at %0 [initially seen at %1]"
+-#~ msgstr "Bya Cyangwa Indango Kuri IKIMENYETSO ku ku"
+-
+-#, fuzzy
+-#~ msgid "Null element at %0 for array reference at %1"
+-#~ msgstr "Ikigize: ku kugirango Imbonerahamwe Indango ku"
+-
+-#, fuzzy
+-#~ msgid "Too few elements (%A missing) as of %0 for array reference at %1"
+-#~ msgstr "Ibintu Ibuze Nka Bya kugirango Imbonerahamwe Indango ku"
+-
+-#, fuzzy
+-#~ msgid "Too many elements as of %0 for array reference at %1"
+-#~ msgstr "Ibintu Nka Bya kugirango Imbonerahamwe Indango ku"
+-
+-#, fuzzy
+-#~ msgid "Missing colon as of %0 in substring reference for %1"
+-#~ msgstr "Nka Bya in Indango kugirango"
+-
+-#, fuzzy
+-#~ msgid "Invalid use at %0 of substring operator on %1"
+-#~ msgstr "Gukoresha %1 ku Bya Mukoresha ku"
+-
+-#, fuzzy
+-#~ msgid "Substring begin/end point at %0 out of defined range"
+-#~ msgstr "Impera Akadomo ku Inyuma Bya Urutonde"
+-
+-#, fuzzy
+-#~ msgid "Array element value at %0 out of defined range"
+-#~ msgstr "Ikigize: Agaciro ku Inyuma Bya Urutonde"
+-
+-#, fuzzy
+-#~ msgid "Expression at %0 has incorrect data type or rank for its context"
+-#~ msgstr "ku Ibyatanzwe Ubwoko Cyangwa IGICE kugirango Imvugiro"
+-
+-#, fuzzy
+-#~ msgid "Division by 0 (zero) at %0 (IEEE not yet supported)"
+-#~ msgstr "ku 0 Zeru ku OYA"
+-
+-#, fuzzy
+-#~ msgid "%A step count known to be 0 (zero) at %0"
+-#~ msgstr "%AIntera IBARA Kuri 0 Zeru ku"
+-
+-#, fuzzy
+-#~ msgid "%A end value plus step count known to overflow at %0"
+-#~ msgstr "%AImpera Agaciro Guteranya Intera IBARA Kuri Byarenze urugero ku"
+-
+-#, fuzzy
+-#~ msgid "%A begin, end, and step-count values known to result in implementation-dependent behavior due to overflow(s) in intermediate calculations at %0"
+-#~ msgstr "%AImpera Na Intera IBARA Uduciro Kuri Igisubizo in imyitwarire Kuri Byarenze urugero S in ku"
+-
+-#, fuzzy
+-#~ msgid "%A begin, end, and step-count values known to result in no iterations at %0"
+-#~ msgstr "%AImpera Na Intera IBARA Uduciro Kuri Igisubizo in Oya Amasubiramo ku"
+-
+-#, fuzzy
+-#~ msgid "Type disagreement between expressions at %0 and %1"
+-#~ msgstr "hagati ku Na"
+-
+-#, fuzzy
+-#~ msgid "No specification for implied-DO iterator `%A' at %0"
+-#~ msgstr "kugirango ku"
+-
+-#, fuzzy
+-#~ msgid "Gratuitous parentheses surround implied-DO construct at %0"
+-#~ msgstr "ku"
+-
+-#, fuzzy
+-#~ msgid "Zero-size specification invalid at %0"
+-#~ msgstr "Ingano Sibyo ku"
+-
+-#, fuzzy
+-#~ msgid "Zero-size array at %0"
+-#~ msgstr "Ingano Imbonerahamwe ku"
+-
+-#, fuzzy
+-#~ msgid "Target machine does not support complex entity of kind specified at %0"
+-#~ msgstr "OYA Gushigikira ITSINDA RY'IMIBARE C Bya ku"
+-
+-#, fuzzy
+-#~ msgid "Target machine does not support DOUBLE COMPLEX, specified at %0"
+-#~ msgstr "OYA Gushigikira ku"
+-
+-#, fuzzy
+-#~ msgid "Attempt to raise constant zero to a power at %0"
+-#~ msgstr "Kuri Zeru Kuri a UMWIKUBE ku"
+-
+-#, fuzzy
+-#~ msgid "Reference to generic intrinsic `%A' at %0 could be to form %B or %C"
+-#~ msgstr "Kuri Gifitanye isano ku Kuri Ifishi Cyangwa"
+-
+-#, fuzzy
+-#~ msgid "Ambiguous use of intrinsic `%A' at %0 [info -f g77 M CMPAMBIG]"
+-#~ msgstr "Gukoresha Bya ku Ibisobanuro F"
+-
+-#, fuzzy
+-#~ msgid "Intrinsic `%A' referenced %Bly at %0, %Cly at %1 [info -f g77 M EXPIMP]"
+-#~ msgstr "ku ku Ibisobanuro F"
+-
+-#, fuzzy
+-#~ msgid "Same name `%A' used for %B at %0 and %C at %1 [info -f g77 M INTGLOB]"
+-#~ msgstr "Izina: kugirango ku Na ku Ibisobanuro F"
+-
+-#, fuzzy
+-#~ msgid "Explicit type declaration for intrinsic `%A' disagrees with invocation at %0"
+-#~ msgstr "Ubwoko kugirango Na: ku"
+-
+-#, fuzzy
+-#~ msgid "Unable to open INCLUDE file `%A' at %0"
+-#~ msgstr "Kuri Gufungura IDOSIYE ku"
+-
+-#, fuzzy
+-#~ msgid "Null argument at %0 for statement function reference at %1"
+-#~ msgstr "ku kugirango Inyandiko Umumaro Indango ku"
+-
+-#, fuzzy
+-#~ msgid "Null argument at %0 for procedure invocation at %1"
+-#~ msgstr "ku kugirango ku"
+-
+-#, fuzzy
+-#~ msgid "%A too few arguments (starting with dummy argument `%B') as of %0 for statement function reference at %1"
+-#~ msgstr "%Aingingo Na: Ishusho Nka Bya kugirango Inyandiko Umumaro Indango ku"
+-
+-#, fuzzy
+-#~ msgid "%A too many arguments as of %0 for statement function reference at %1"
+-#~ msgstr "%Aingingo Nka Bya kugirango Inyandiko Umumaro Indango ku"
+-
+-#, fuzzy
+-#~ msgid "Array supplied at %1 for dummy argument `%A' in statement function reference at %0"
+-#~ msgstr "ku kugirango Ishusho in Inyandiko Umumaro Indango ku"
+-
+-#, fuzzy
+-#~ msgid "Unsupported FORMAT specifier at %0"
+-#~ msgstr "ku"
+-
+-#, fuzzy
+-#~ msgid "Variable-expression FORMAT specifier at %0 -- unsupported"
+-#~ msgstr "imvugo ku"
+-
+-#, fuzzy
+-#~ msgid "Unsupported VXT statement at %0"
+-#~ msgstr "Inyandiko ku"
+-
+-#, fuzzy
+-#~ msgid "Attempt to specify second initial value for `%A' at %0"
+-#~ msgstr "Kuri ISEGONDA Agaciro kugirango ku"
+-
+-#, fuzzy
+-#~ msgid "Too few initial values in list of initializers for `%A' at %0"
+-#~ msgstr "Uduciro in Urutonde Bya kugirango ku"
+-
+-#, fuzzy
+-#~ msgid "Too many initial values in list of initializers starting at %0"
+-#~ msgstr "Uduciro in Urutonde Bya ku"
+-
+-#, fuzzy
+-#~ msgid "Array or substring specification for `%A' out of range in statement at %0"
+-#~ msgstr "Cyangwa kugirango Inyuma Bya Urutonde in Inyandiko ku"
+-
+-#, fuzzy
+-#~ msgid "Array subscript #%B out of range for initialization of `%A' in statement at %0"
+-#~ msgstr "Inyandiko nyesi Inyuma Bya Urutonde kugirango Bya in Inyandiko ku"
+-
+-#, fuzzy
+-#~ msgid "Implied do-loop step count of 0 (zero) for iteration variable `%A' in statement at %0"
+-#~ msgstr "Intera IBARA Bya 0 Zeru kugirango IMPINDURAGACIRO in Inyandiko ku"
+-
+-#, fuzzy
+-#~ msgid "Implied do-loop iteration count of 0 (zero) for iteration variable `%A' in statement at %0"
+-#~ msgstr "IBARA Bya 0 Zeru kugirango IMPINDURAGACIRO in Inyandiko ku"
+-
+-#, fuzzy
+-#~ msgid "Not an integer constant expression in implied do-loop in statement at %0"
+-#~ msgstr "Umubare wuzuye imvugo in in Inyandiko ku"
+-
+-#, fuzzy
+-#~ msgid "Attempt to specify second initial value for element of `%A' at %0"
+-#~ msgstr "Kuri ISEGONDA Agaciro kugirango Ikigize: Bya ku"
+-
+-#, fuzzy
+-#~ msgid "Attempt to EQUIVALENCE common areas `%A' and `%B' at %0"
+-#~ msgstr "Kuri Ubuso Na ku"
+-
+-#, fuzzy
+-#~ msgid "Can't place `%A' as directed by EQUIVALENCE due to alignment restrictions"
+-#~ msgstr "Nka ku Kuri Itunganya Amabwiriza"
+-
+-#, fuzzy
+-#~ msgid "Mismatched EQUIVALENCE requirements for placement of `%A' at both %C and %D bytes offset from `%B'"
+-#~ msgstr "kugirango Ishyira mu mwanya Bya ku Byombi Na Bayite Nta- boneza Bivuye"
+-
+-#, fuzzy
+-#~ msgid "Array or substring specification for `%A' out of range in EQUIVALENCE statement"
+-#~ msgstr "Cyangwa kugirango Inyuma Bya Urutonde in Inyandiko"
+-
+-#, fuzzy
+-#~ msgid "Substring of non-CHARACTER entity `%A' in EQUIVALENCE statement"
+-#~ msgstr "Bya in Inyandiko"
+-
+-#, fuzzy
+-#~ msgid "Array reference to scalar variable `%A' in EQUIVALENCE statement"
+-#~ msgstr "Indango Kuri IMPINDURAGACIRO in Inyandiko"
+-
+-#, fuzzy
+-#~ msgid "Array subscript #%B out of range for EQUIVALENCE of `%A'"
+-#~ msgstr "Inyandiko nyesi Inyuma Bya Urutonde kugirango Bya"
+-
+-#, fuzzy
+-#~ msgid "Attempt to extend COMMON area beyond its starting point via EQUIVALENCE of `%A'"
+-#~ msgstr "Kuri Ubuso Akadomo Biturutse Bya"
+-
+-#, fuzzy
+-#~ msgid "Too few elements in reference to array `%A' in EQUIVALENCE statement"
+-#~ msgstr "Ibintu in Indango Kuri Imbonerahamwe in Inyandiko"
+-
+-#, fuzzy
+-#~ msgid "Too many elements in reference to array `%A' in EQUIVALENCE statement"
+-#~ msgstr "Ibintu in Indango Kuri Imbonerahamwe in Inyandiko"
+-
+-#, fuzzy
+-#~ msgid "Mixed CHARACTER and non-CHARACTER types via COMMON/EQUIVALENCE -- for example, `%A' and `%B'"
+-#~ msgstr "Na Biturutse kugirango Urugero Na"
+-
+-#, fuzzy
+-#~ msgid "Return value `%A' for FUNCTION at %0 not referenced in subprogram"
+-#~ msgstr "Agaciro kugirango ku OYA in"
+-
+-#, fuzzy
+-#~ msgid "Common block `%A' is SAVEd, explicitly or implicitly, at %0 but not SAVEd at %1"
+-#~ msgstr "Funga ni Cyangwa ku OYA ku"
+-
+-#, fuzzy
+-#~ msgid "Common block `%A' is %B %D in length at %0 but %C %E at %1"
+-#~ msgstr "Funga ni in Uburebure ku ku"
+-
+-#, fuzzy
+-#~ msgid "Blank common initialized at %0"
+-#~ msgstr "ku"
+-
+-#, fuzzy
+-#~ msgid "Intrinsic `%A' is passed as actual argument at %0 but not explicitly declared INTRINSIC"
+-#~ msgstr "ni Nka ku OYA"
+-
+-#, fuzzy
+-#~ msgid "External procedure `%A' is passed as actual argument at %0 but not explicitly declared EXTERNAL"
+-#~ msgstr "ni Nka ku OYA"
+-
+-#, fuzzy
+-#~ msgid "Character `%A' (for example) is upper-case in symbol name at %0"
+-#~ msgstr "kugirango Urugero ni Nkuru in IKIMENYETSO Izina: ku"
+-
+-#, fuzzy
+-#~ msgid "Character `%A' (for example) is lower-case in symbol name at %0"
+-#~ msgstr "kugirango Urugero ni Ntoya in IKIMENYETSO Izina: ku"
+-
+-#, fuzzy
+-#~ msgid "Character `%A' not followed at some point by lower-case character in symbol name at %0"
+-#~ msgstr "OYA ku Akadomo ku Ntoya Inyuguti in IKIMENYETSO Izina: ku"
+-
+-#, fuzzy
+-#~ msgid "Initial character `%A' is lower-case in symbol name at %0"
+-#~ msgstr "Inyuguti ni Ntoya in IKIMENYETSO Izina: ku"
+-
+-#, fuzzy
+-#~ msgid "NAMELIST not adequately supported by run-time library for source files with case preserved"
+-#~ msgstr "OYA ku Gukoresha Igihe Isomero kugirango Inkomoko Idosiye Na:"
+-
+-#, fuzzy
+-#~ msgid "Nested %% construct (%%VAL, %%REF, or %%DESCR) at %0"
+-#~ msgstr "Cyangwa ku"
+-
+-#, fuzzy
+-#~ msgid "Statement at %0 invalid in BLOCK DATA program unit at %1"
+-#~ msgstr "ku Sibyo in Porogaramu Igice: ku"
+-
+-#, fuzzy
+-#~ msgid "Truncating characters on right side of character constant at %0"
+-#~ msgstr "Inyuguti ku Iburyo: Bya Inyuguti ku"
+-
+-#, fuzzy
+-#~ msgid "Truncating characters on right side of hollerith constant at %0"
+-#~ msgstr "Inyuguti ku Iburyo: Bya ku"
+-
+-#, fuzzy
+-#~ msgid "Truncating non-zero data on left side of numeric constant at %0"
+-#~ msgstr "Zeru Ibyatanzwe ku Ibumoso: Bya Bikurikije umubare ku"
+-
+-#, fuzzy
+-#~ msgid "Truncating non-zero data on left side of typeless constant at %0"
+-#~ msgstr "Zeru Ibyatanzwe ku Ibumoso: Bya ku"
+-
+-#, fuzzy
+-#~ msgid "Typeless constant at %0 too large"
+-#~ msgstr "ku Binini"
+-
+-#, fuzzy
+-#~ msgid "First-column ampersand continuation at %0"
+-#~ msgstr "Inkingi ku"
+-
+-#, fuzzy
+-#~ msgid "Global name `%A' defined at %0 already defined at %1 [info -f g77 M GLOBALS]"
+-#~ msgstr "Izina: ku ku Ibisobanuro F"
+-
+-#, fuzzy
+-#~ msgid "Global name `%A' is %B at %0 but is %C at %1 [info -f g77 M GLOBALS]"
+-#~ msgstr "Izina: ni ku ni ku Ibisobanuro F"
+-
+-#, fuzzy
+-#~ msgid "Global name `%A' at %0 has different type at %1 [info -f g77 M GLOBALS]"
+-#~ msgstr "Izina: ku Ubwoko ku Ibisobanuro F"
+-
+-#, fuzzy
+-#~ msgid "Too %B arguments passed to `%A' at %0 versus definition at %1 [info -f g77 M GLOBALS]"
+-#~ msgstr "ingingo Kuri ku Insobanuro ku Ibisobanuro F"
+-
+-#, fuzzy
+-#~ msgid "Too %B arguments for `%A' at %0 versus invocation at %1 [info -f g77 M GLOBALS]"
+-#~ msgstr "ingingo kugirango ku ku Ibisobanuro F"
+-
+-#, fuzzy
+-#~ msgid "Argument #%B of `%A' is %C at %0 but is %D at %1 [info -f g77 M GLOBALS]"
+-#~ msgstr "Bya ni ku ni ku Ibisobanuro F"
+-
+-#, fuzzy
+-#~ msgid "Array `%A' at %0 is too large to handle"
+-#~ msgstr "ku ni Binini Kuri"
+-
+-#, fuzzy
+-#~ msgid "Statement function `%A' defined at %0 is not used"
+-#~ msgstr "Umumaro ku ni OYA"
+-
+-#, fuzzy
+-#~ msgid "Intrinsic `%A', invoked at %0, known to be non-Y2K-compliant [info -f g77 M Y2KBAD]"
+-#~ msgstr "ku Kuri Ibisobanuro F"
+-
+-#, fuzzy
+-#~ msgid "Internal compiler error -- cannot perform operation"
+-#~ msgstr "Ikosa"
+-
+-#, fuzzy
+-#~ msgid "In unknown kind"
+-#~ msgstr "Kitazwi"
+-
+-#, fuzzy
+-#~ msgid "In function"
+-#~ msgstr "Umumaro"
+-
+-#, fuzzy
+-#~ msgid "In program"
+-#~ msgstr "Porogaramu"
+-
+-#, fuzzy
+-#~ msgid "In block-data unit"
+-#~ msgstr "Funga Ibyatanzwe Igice:"
+-
+-#, fuzzy
+-#~ msgid "In common block"
+-#~ msgstr "Funga"
+-
+-#, fuzzy
+-#~ msgid "internal error in check-init: tree code not implemented: %s"
+-#~ msgstr "By'imbere Ikosa in Kugenzura... ITEGEKONGENGA OYA"
+-
+-#, fuzzy
+-#~ msgid "final field '%s' may not have been initialized"
+-#~ msgstr "Umwanya Gicurasi OYA"
+-
+-#, fuzzy
+-#~ msgid "internal error - too many interface type"
+-#~ msgstr "By'imbere Ikosa Ubwoko"
+-
+-#, fuzzy
+-#~ msgid "bad method signature"
+-#~ msgstr "Uburyo Isinya"
+-
+-#, fuzzy
+-#~ msgid "misplaced ConstantValue attribute (not in any field)"
+-#~ msgstr "Ikiranga OYA in Umwanya"
+-
+-#, fuzzy
+-#~ msgid "duplicate ConstantValue attribute for field '%s'"
+-#~ msgstr "Gusubiramo Ikiranga kugirango Umwanya"
+-
+-#, fuzzy
+-#~ msgid "ConstantValue attribute of field '%s' has wrong type"
+-#~ msgstr "Ikiranga Bya Umwanya Ubwoko"
+-
+-#, fuzzy
+-#~ msgid "field '%s' not found in class"
+-#~ msgstr "Umwanya OYA Byabonetse in ishuri"
+-
+-#, fuzzy
+-#~ msgid "abstract method in non-abstract class"
+-#~ msgstr "Incamake Uburyo in Incamake ishuri"
+-
+-#, fuzzy
+-#~ msgid "non-static method '%s' overrides static method"
+-#~ msgstr "Uburyo Uburyo"
+-
+-#, fuzzy
+-#~ msgid "In %s: overlapped variable and exception ranges at %d"
+-#~ msgstr "IMPINDURAGACIRO Na Irengayobora(-) Ibice ku"
+-
+-#, fuzzy
+-#~ msgid "bad type in parameter debug info"
+-#~ msgstr "Ubwoko in Kosora amakosa Ibisobanuro"
+-
+-#, fuzzy
+-#~ msgid "bad PC range for debug info for local `%s'"
+-#~ msgstr "Urutonde kugirango Kosora amakosa Ibisobanuro kugirango"
+-
+-#, fuzzy
+-#~ msgid "reference `%s' is ambiguous: appears in interface `%s' and interface `%s'"
+-#~ msgstr "Indango ni in Na"
+-
+-#, fuzzy
+-#~ msgid "field `%s' not found"
+-#~ msgstr "Umwanya OYA Byabonetse"
+-
+-#, fuzzy
+-#~ msgid "ret instruction not implemented"
+-#~ msgstr "OYA"
+-
+-#, fuzzy
+-#~ msgid "method '%s' not found in class"
+-#~ msgstr "Uburyo OYA Byabonetse in ishuri"
+-
+-#, fuzzy
+-#~ msgid "failed to find class '%s'"
+-#~ msgstr "Byanze Kuri Gushaka ishuri"
+-
+-#, fuzzy
+-#~ msgid "class '%s' has no method named '%s' matching signature '%s'"
+-#~ msgstr "ishuri Oya Uburyo Isinya"
+-
+-#, fuzzy
+-#~ msgid "invokestatic on non static method"
+-#~ msgstr "ku Uburyo"
+-
+-#, fuzzy
+-#~ msgid "invokestatic on abstract method"
+-#~ msgstr "ku Incamake Uburyo"
+-
+-#, fuzzy
+-#~ msgid "invoke[non-static] on static method"
+-#~ msgstr "ku Uburyo"
+-
+-#, fuzzy
+-#~ msgid "missing field '%s' in '%s'"
+-#~ msgstr "Ibuze Umwanya in"
+-
+-#, fuzzy
+-#~ msgid "mismatching signature for field '%s' in '%s'"
+-#~ msgstr "Isinya kugirango Umwanya in"
+-
+-#, fuzzy
+-#~ msgid "assignment to final field `%s' not in field's class"
+-#~ msgstr "Igenera Kuri Umwanya OYA in ishuri"
+-
+-#, fuzzy
+-#~ msgid "assignment to final static field `%s' not in class initializer"
+-#~ msgstr "Igenera Kuri Umwanya OYA in ishuri"
+-
+-#, fuzzy
+-#~ msgid "assignment to final field `%s' not in constructor"
+-#~ msgstr "Igenera Kuri Umwanya OYA in"
+-
+-#, fuzzy
+-#~ msgid "can't expand %s"
+-#~ msgstr "Kwagura"
+-
+-#, fuzzy
+-#~ msgid "invalid PC in line number table"
+-#~ msgstr "Sibyo in Umurongo Umubare imbonerahamwe#"
+-
+-#, fuzzy
+-#~ msgid "unreachable bytecode from %d to before %d"
+-#~ msgstr "Bivuye Kuri Mbere"
+-
+-#, fuzzy
+-#~ msgid "unreachable bytecode from %d to the end of the method"
+-#~ msgstr "Bivuye Kuri i Impera Bya i Uburyo"
+-
+-#, fuzzy
+-#~ msgid "source file for class `%s' is newer than its matching class file. Source file `%s' used instead"
+-#~ msgstr "Inkomoko IDOSIYE kugirango ishuri ni ishuri IDOSIYE IDOSIYE"
+-
+-#, fuzzy
+-#~ msgid "bad string constant"
+-#~ msgstr "Ikurikiranyanyuguti"
+-
+-#, fuzzy
+-#~ msgid "bad value constant type %d, index %d"
+-#~ msgstr "Agaciro Ubwoko Umubarendanga"
+-
+-#, fuzzy
+-#~ msgid "can't close %s"
+-#~ msgstr "Gufunga"
+-
+-#, fuzzy
+-#~ msgid "cannot find file for class %s"
+-#~ msgstr "Gushaka IDOSIYE kugirango ishuri"
+-
+-#, fuzzy
+-#~ msgid "not a valid Java .class file"
+-#~ msgstr "OYA a Byemewe ishuri IDOSIYE"
+-
+-#, fuzzy
+-#~ msgid "error while parsing constant pool"
+-#~ msgstr "Ikosa Itsinda"
+-
+-#, fuzzy
+-#~ msgid "error in constant pool entry #%d\n"
+-#~ msgstr "Ikosa in Itsinda Icyinjijwe"
+-
+-#, fuzzy
+-#~ msgid "reading class %s for the second time from %s"
+-#~ msgstr "ishuri kugirango i ISEGONDA Igihe Bivuye"
+-
+-#, fuzzy
+-#~ msgid "error while parsing fields"
+-#~ msgstr "Ikosa Imyanya"
+-
+-#, fuzzy
+-#~ msgid "error while parsing methods"
+-#~ msgstr "Ikosa"
+-
+-#, fuzzy
+-#~ msgid "error while parsing final attributes"
+-#~ msgstr "Ikosa Ibiranga"
+-
+-#, fuzzy
+-#~ msgid "the `java.lang.Object' that was found in `%s' didn't have the special zero-length `gnu.gcj.gcj-compiled' attribute. This generally means that your classpath is incorrectly set. Use `info gcj \"Input Options\"' to see the info page describing how to set the classpath"
+-#~ msgstr "i java Byabonetse in i Bidasanzwe Zeru Uburebure Ikiranga Inzirashuri ni Gushyiraho Ibisobanuro Kuri i Ibisobanuro Ipaji Kuri Gushyiraho i Inzirashuri"
+-
+-#, fuzzy
+-#~ msgid "missing Code attribute"
+-#~ msgstr "Ibuze Ikiranga"
+-
+-#, fuzzy
+-#~ msgid "source file seen twice on command line and will be compiled only once"
+-#~ msgstr "Inkomoko IDOSIYE ku Komandi: Umurongo Na Rimwe"
+-
+-#, fuzzy
+-#~ msgid "no input file specified"
+-#~ msgstr "Oya Iyinjiza IDOSIYE"
+-
+-#, fuzzy
+-#~ msgid "can't close input file %s"
+-#~ msgstr "Gufunga Iyinjiza IDOSIYE"
+-
+-#, fuzzy
+-#~ msgid "bad zip/jar file %s"
+-#~ msgstr "Zipu IDOSIYE"
+-
+-#, fuzzy
+-#~ msgid "internal error in generate_bytecode_insn - tree code not implemented: %s"
+-#~ msgstr "By'imbere Ikosa in ITEGEKONGENGA OYA"
+-
+-#, fuzzy
+-#~ msgid "field initializer type mismatch"
+-#~ msgstr "Umwanya Ubwoko"
+-
+-#, fuzzy
+-#~ msgid "can't create directory %s"
+-#~ msgstr "Kurema bushyinguro"
+-
+-#, fuzzy
+-#~ msgid "can't create %s"
+-#~ msgstr "Kurema"
+-
+-#, fuzzy
+-#~ msgid "only one of `--print-main', `--list-class', and `--complexity' allowed"
+-#~ msgstr "Bya Gucapa Urutonde Na"
+-
+-#, fuzzy
+-#~ msgid "can't open output file `%s'"
+-#~ msgstr "Gufungura Ibisohoka IDOSIYE"
+-
+-#, fuzzy
+-#~ msgid "file not found `%s'"
+-#~ msgstr "Dosiye ntibonetse"
+-
+-#, fuzzy
+-#~ msgid "`%s' is not a valid class name"
+-#~ msgstr "`%s'ni OYA a Byemewe ishuri Izina:"
+-
+-#, fuzzy
+-#~ msgid "--resource requires -o"
+-#~ msgstr "--o"
+-
+-#, fuzzy
+-#~ msgid "warning: already-compiled .class files ignored with -C"
+-#~ msgstr "Iburira ishuri Idosiye Na: C"
+-
+-#, fuzzy
+-#~ msgid "cannot specify both -C and -o"
+-#~ msgstr "Byombi C Na o"
+-
+-#, fuzzy
+-#~ msgid "cannot create temporary file"
+-#~ msgstr "Kurema By'igihe gito IDOSIYE"
+-
+-#, fuzzy
+-#~ msgid "using both @FILE with multiple files not implemented"
+-#~ msgstr "ikoresha Byombi Na: Igikubo Idosiye OYA"
+-
+-#, fuzzy
+-#~ msgid "cannot specify `main' class when not linking"
+-#~ msgstr "ishuri Ryari: OYA Impuza"
+-
+-#, fuzzy
+-#~ msgid "can't do dependency tracking with input from stdin"
+-#~ msgstr "Na: Iyinjiza Bivuye"
+-
+-#, fuzzy
+-#~ msgid "couldn't determine target name for dependency tracking"
+-#~ msgstr "Intego Izina: kugirango"
+-
+-#, fuzzy
+-#~ msgid ""
+-#~ "unknown encoding: `%s'\n"
+-#~ "This might mean that your locale's encoding is not supported\n"
+-#~ "by your system's iconv(3) implementation. If you aren't trying\n"
+-#~ "to use a particular encoding for your input file, try the\n"
+-#~ "`--encoding=UTF-8' option"
+-#~ msgstr "Kitazwi Imisobekere: Impuzandengo- Imisobekere: ni OYA 3. Gukoresha a Imisobekere: kugirango Iyinjiza IDOSIYE Imisobekere: Ihitamo"
+-
+-#, fuzzy
+-#~ msgid "internal error - invalid Utf8 name"
+-#~ msgstr "By'imbere Ikosa Sibyo Izina:"
+-
+-#, fuzzy
+-#~ msgid "Missing term"
+-#~ msgstr "Ijambo"
+-
+-# starmath/source\smres.src:RID_ERR_LGROUPEXPECTED.text
+-#, fuzzy
+-#~ msgid "';' expected"
+-#~ msgstr "';'ntigatunguranye"
+-
+-#, fuzzy
+-#~ msgid "Missing name"
+-#~ msgstr "Izina:"
+-
+-# starmath/source\smres.src:RID_ERR_LGROUPEXPECTED.text
+-#, fuzzy
+-#~ msgid "'*' expected"
+-#~ msgstr "'*'ntigatunguranye"
+-
+-#, fuzzy
+-#~ msgid "Class or interface declaration expected"
+-#~ msgstr "Cyangwa Ikitezwe:"
+-
+-#, fuzzy
+-#~ msgid "Missing class name"
+-#~ msgstr "ishuri Izina:"
+-
+-#~ msgid "'{' expected"
+-#~ msgstr "'{' ntigatunguranye"
+-
+-#, fuzzy
+-#~ msgid "Missing super class name"
+-#~ msgstr "hejuru ishuri Izina:"
+-
+-#, fuzzy
+-#~ msgid "Missing interface name"
+-#~ msgstr "Izina:"
+-
+-#, fuzzy
+-#~ msgid "Missing variable initializer"
+-#~ msgstr "IMPINDURAGACIRO"
+-
+-# starmath/source\smres.src:RID_ERR_LGROUPEXPECTED.text
+-#, fuzzy
+-#~ msgid "']' expected"
+-#~ msgstr "']'ntigatunguranye"
+-
+-#, fuzzy
+-#~ msgid "Invalid method declaration, method name required"
+-#~ msgstr "Uburyo Uburyo Izina: Bya ngombwa"
+-
+-#~ msgid "Identifier expected"
+-#~ msgstr "Ikiranga ntigitunguranye"
+-
+-#, fuzzy
+-#~ msgid "Invalid method declaration, return type required"
+-#~ msgstr "Uburyo Garuka Ubwoko Bya ngombwa"
+-
+-#~ msgid "')' expected"
+-#~ msgstr "')' ntigatunguranye"
+-
+-#, fuzzy
+-#~ msgid "Missing formal parameter term"
+-#~ msgstr "Ijambo"
+-
+-#, fuzzy
+-#~ msgid "Missing identifier"
+-#~ msgstr "Ikiranga"
+-
+-#, fuzzy
+-#~ msgid "Missing class type term"
+-#~ msgstr "ishuri Ubwoko Ijambo"
+-
+-#, fuzzy
+-#~ msgid "Invalid interface type"
+-#~ msgstr "Ubwoko"
+-
+-# starmath/source\smres.src:RID_ERR_LGROUPEXPECTED.text
+-#, fuzzy
+-#~ msgid "':' expected"
+-#~ msgstr "':'ntigatunguranye"
+-
+-#, fuzzy
+-#~ msgid "Invalid expression statement"
+-#~ msgstr "imvugo Inyandiko"
+-
+-#~ msgid "'(' expected"
+-#~ msgstr "'(' ntigatunguranye"
+-
+-#, fuzzy
+-#~ msgid "Missing term or ')'"
+-#~ msgstr "Ijambo Cyangwa"
+-
+-#, fuzzy
+-#~ msgid "Missing or invalid constant expression"
+-#~ msgstr "Cyangwa Sibyo imvugo"
+-
+-#, fuzzy
+-#~ msgid "Missing term and ')' expected"
+-#~ msgstr "Ijambo Na Ikitezwe:"
+-
+-#, fuzzy
+-#~ msgid "Invalid control expression"
+-#~ msgstr "Igenzura imvugo"
+-
+-#, fuzzy
+-#~ msgid "Invalid update expression"
+-#~ msgstr "Kuvugurura imvugo"
+-
+-#, fuzzy
+-#~ msgid "Invalid init statement"
+-#~ msgstr "Inyandiko"
+-
+-#, fuzzy
+-#~ msgid "Missing term or ')' expected"
+-#~ msgstr "Ijambo Cyangwa Ikitezwe:"
+-
+-#, fuzzy
+-#~ msgid "'class' or 'this' expected"
+-#~ msgstr "'Cyangwa Ikitezwe:"
+-
+-#, fuzzy
+-#~ msgid "'class' expected"
+-#~ msgstr "'Ikitezwe:"
+-
+-#, fuzzy
+-#~ msgid "')' or term expected"
+-#~ msgstr "')'Cyangwa Ijambo Ikitezwe:"
+-
+-# starmath/source\smres.src:RID_ERR_LGROUPEXPECTED.text
+-#, fuzzy
+-#~ msgid "'[' expected"
+-#~ msgstr "'['ntigatunguranye"
+-
+-#, fuzzy
+-#~ msgid "Field expected"
+-#~ msgstr "Ikitezwe:"
+-
+-#, fuzzy
+-#~ msgid "Missing term and ']' expected"
+-#~ msgstr "Ijambo Na Ikitezwe:"
+-
+-#, fuzzy
+-#~ msgid "']' expected, invalid type expression"
+-#~ msgstr "']'Ikitezwe: Sibyo Ubwoko imvugo"
+-
+-#, fuzzy
+-#~ msgid "Invalid type expression"
+-#~ msgstr "Ubwoko imvugo"
+-
+-#, fuzzy
+-#~ msgid "Invalid reference type"
+-#~ msgstr "Indango Ubwoko"
+-
+-#, fuzzy
+-#~ msgid "Constructor invocation must be first thing in a constructor"
+-#~ msgstr "Itangira in a"
+-
+-#, fuzzy
+-#~ msgid ": `%s' JDK1.1(TM) feature"
+-#~ msgstr ":`%s'1."
+-
+-# desktop/source\app\ssodlg.src:DLG_SSOLOGIN.text
+-#, fuzzy
+-#~ msgid ""
+-#~ "%s.\n"
+-#~ "%s"
+-#~ msgstr "%s.%s"
+-
+-#, fuzzy
+-#~ msgid "malformed .zip archive in CLASSPATH: %s"
+-#~ msgstr "Zipu in"
+-
+-#, fuzzy
+-#~ msgid "Can't find default package `%s'. Check the CLASSPATH environment variable and the access to the archives"
+-#~ msgstr "Gushaka Mburabuzi i IMPINDURAGACIRO Na i Kuri i Ubushyinguro"
+-
+-#, fuzzy
+-#~ msgid "missing static field `%s'"
+-#~ msgstr "Ibuze Umwanya"
+-
+-#, fuzzy
+-#~ msgid "not a static field `%s'"
+-#~ msgstr "OYA a Umwanya"
+-
+-#, fuzzy
+-#~ msgid "No case for %s"
+-#~ msgstr "kugirango"
+-
+-#, fuzzy
+-#~ msgid "unregistered operator %s"
+-#~ msgstr "Mukoresha"
+-
+-#, fuzzy
+-#~ msgid "junk at end of signature string"
+-#~ msgstr "Umwanda ku Impera Bya Isinya Ikurikiranyanyuguti"
+-
+-#, fuzzy
+-#~ msgid "bad pc in exception_table"
+-#~ msgstr "in"
+-
+-#, fuzzy
+-#~ msgid "exception handler inside code that is being protected"
+-#~ msgstr "Irengayobora(-) Mo Imbere ITEGEKONGENGA ni Birinzwe"
+-
+-#, fuzzy
+-#~ msgid "unknown opcode %d@pc=%d during verification"
+-#~ msgstr "Kitazwi"
+-
+-#, fuzzy
+-#~ msgid "verification error at PC=%d"
+-#~ msgstr "Ikosa ku"
+-
+-#, fuzzy
+-#~ msgid "Disable automatic array bounds checking"
+-#~ msgstr "Byikoresha Imbonerahamwe"
+-
+-#, fuzzy
+-#~ msgid "Disable assignability checks for stores into object arrays"
+-#~ msgstr "kugirango Igikoresho"
+-
+-#, fuzzy
+-#~ msgid "Assume native functions are implemented using JNI"
+-#~ msgstr "Imimaro ikoresha"
+-
+-#, fuzzy
+-#~ msgid "Replace system path"
+-#~ msgstr "Sisitemu Inzira"
+-
+-#, fuzzy
+-#~ msgid "Set class path"
+-#~ msgstr "ishuri Inzira"
+-
+-#, fuzzy
+-#~ msgid "Set class path (deprecated: use --classpath instead)"
+-#~ msgstr "ishuri Inzira Bitemewe. Gukoresha Inzirashuri"
+-
+-#, fuzzy
+-#~ msgid "Choose class whose main method should be used"
+-#~ msgstr "ishuri bya Uburyo"
+-
+-#, fuzzy
+-#~ msgid "Choose input encoding (default comes from locale)"
+-#~ msgstr "Iyinjiza Imisobekere: Mburabuzi Bivuye Umwanya"
+-
+-#, fuzzy
+-#~ msgid "Add directory to class path"
+-#~ msgstr "bushyinguro Kuri ishuri Inzira"
+-
+-#, fuzzy
+-#~ msgid "Directory where class files should be written"
+-#~ msgstr "ishuri Idosiye"
+-
+-#, fuzzy
+-#~ msgid "Warn if modifiers are specified when not necessary"
+-#~ msgstr "NIBA Ryari: OYA"
+-
+-#, fuzzy
+-#~ msgid "Warn if deprecated empty statements are found"
+-#~ msgstr "NIBA Bitemewe. ubusa Byabonetse"
+-
+-#, fuzzy
+-#~ msgid "Warn if .class files are out of date"
+-#~ msgstr "NIBA ishuri Idosiye Inyuma Bya Itariki"
+-
+-#, fuzzy
+-#~ msgid "Always check for non gcj generated classes archives"
+-#~ msgstr "Kugenzura... kugirango Inzego Ubushyinguro"
+-
+-#, fuzzy
+-#~ msgid "Never optimize static class initialization code"
+-#~ msgstr "Kugeza ku ndunduro ishuri ITEGEKONGENGA"
+-
+-#, fuzzy
+-#~ msgid "Use offset tables for virtual method calls"
+-#~ msgstr "Nta- boneza Imbonerahamwe kugirango Kitaboneka Uburyo Amahamagara:"
+-
+-#, fuzzy
+-#~ msgid "object does not conform to the `%s' protocol"
+-#~ msgstr "Igikoresho OYA Kuri i Porotokole"
+-
+-#, fuzzy
+-#~ msgid "class `%s' does not implement the `%s' protocol"
+-#~ msgstr "ishuri OYA i Porotokole"
+-
+-#, fuzzy
+-#~ msgid "unexpected type for `id' (%s)"
+-#~ msgstr "Ubwoko kugirango"
+-
+-#, fuzzy
+-#~ msgid "undefined type `id', please import <objc/objc.h>"
+-#~ msgstr "kidasobanuye Ubwoko Kuzana h"
+-
+-#, fuzzy
+-#~ msgid "protocol `%s' has circular dependency"
+-#~ msgstr "Porotokole Cy'uruziga"
+-
+-#, fuzzy
+-#~ msgid "cannot find protocol declaration for `%s'"
+-#~ msgstr "Gushaka Porotokole kugirango"
+-
+-#, fuzzy
+-#~ msgid "cannot find interface declaration for `%s'"
+-#~ msgstr "Gushaka kugirango"
+-
+-#, fuzzy
+-#~ msgid "cannot find reference tag for class `%s'"
+-#~ msgstr "Gushaka Indango Itagi: kugirango ishuri"
+-
+-#, fuzzy
+-#~ msgid "creating selector for non existant method %s"
+-#~ msgstr "kugirango Uburyo"
+-
+-#, fuzzy
+-#~ msgid "cannot find class `%s'"
+-#~ msgstr "Gushaka ishuri"
+-
+-#, fuzzy
+-#~ msgid "class `%s' already exists"
+-#~ msgstr "ishuri"
+-
+-#, fuzzy
+-#~ msgid "cannot find interface declaration for `%s', superclass of `%s'"
+-#~ msgstr "Gushaka kugirango Bya"
+-
+-#, fuzzy
+-#~ msgid "circular inheritance in interface declaration for `%s'"
+-#~ msgstr "Cy'uruziga in kugirango"
+-
+-#, fuzzy
+-#~ msgid "inconsistent instance variable specification"
+-#~ msgstr "Urugero IMPINDURAGACIRO"
+-
+-#, fuzzy
+-#~ msgid "can not use an object as parameter to a method\n"
+-#~ msgstr "OYA Gukoresha Igikoresho Nka Kuri a"
+-
+-#, fuzzy
+-#~ msgid "multiple declarations for method `%s'"
+-#~ msgstr "Igikubo kugirango Uburyo"
+-
+-#, fuzzy
+-#~ msgid "invalid receiver type `%s'"
+-#~ msgstr "Sibyo Mwakirizi Ubwoko"
+-
+-#, fuzzy
+-#~ msgid "`%s' does not respond to `%s'"
+-#~ msgstr "`%s'OYA Kuri"
+-
+-#, fuzzy
+-#~ msgid "no super class declared in interface for `%s'"
+-#~ msgstr "Oya hejuru ishuri in kugirango"
+-
+-#, fuzzy
+-#~ msgid "cannot find class (factory) method"
+-#~ msgstr "Gushaka ishuri Uburyo"
+-
+-#, fuzzy
+-#~ msgid "return type for `%s' defaults to id"
+-#~ msgstr "Garuka Ubwoko kugirango Kuri ID"
+-
+-#, fuzzy
+-#~ msgid "method `%s' not implemented by protocol"
+-#~ msgstr "Uburyo OYA ku Porotokole"
+-
+-#, fuzzy
+-#~ msgid "return type defaults to id"
+-#~ msgstr "Garuka Ubwoko Kuri ID"
+-
+-#, fuzzy
+-#~ msgid "cannot find method"
+-#~ msgstr "Gushaka Uburyo"
+-
+-#, fuzzy
+-#~ msgid "instance variable `%s' accessed in class method"
+-#~ msgstr "Urugero IMPINDURAGACIRO birabonetse in ishuri Uburyo"
+-
+-#, fuzzy
+-#~ msgid "duplicate definition of class method `%s'"
+-#~ msgstr "Gusubiramo Insobanuro Bya ishuri Uburyo"
+-
+-#, fuzzy
+-#~ msgid "duplicate declaration of class method `%s'"
+-#~ msgstr "Gusubiramo Bya ishuri Uburyo"
+-
+-#, fuzzy
+-#~ msgid "duplicate definition of instance method `%s'"
+-#~ msgstr "Gusubiramo Insobanuro Bya Urugero Uburyo"
+-
+-#, fuzzy
+-#~ msgid "duplicate declaration of instance method `%s'"
+-#~ msgstr "Gusubiramo Bya Urugero Uburyo"
+-
+-#, fuzzy
+-#~ msgid "duplicate interface declaration for category `%s(%s)'"
+-#~ msgstr "Gusubiramo kugirango Icyiciro"
+-
+-#, fuzzy
+-#~ msgid "instance variable `%s' is declared private"
+-#~ msgstr "Urugero IMPINDURAGACIRO ni By'umwihariko"
+-
+-#, fuzzy
+-#~ msgid "instance variable `%s' is declared %s"
+-#~ msgstr "Urugero IMPINDURAGACIRO ni"
+-
+-#, fuzzy
+-#~ msgid "static access to object of type `id'"
+-#~ msgstr "Kuri Igikoresho Bya Ubwoko"
+-
+-#, fuzzy
+-#~ msgid "incomplete implementation of class `%s'"
+-#~ msgstr "Bya ishuri"
+-
+-#, fuzzy
+-#~ msgid "incomplete implementation of category `%s'"
+-#~ msgstr "Bya Icyiciro"
+-
+-#, fuzzy
+-#~ msgid "method definition for `%c%s' not found"
+-#~ msgstr "Uburyo Insobanuro kugirango OYA Byabonetse"
+-
+-#, fuzzy
+-#~ msgid "%s `%s' does not fully implement the `%s' protocol"
+-#~ msgstr "%s`%s'OYA i Porotokole"
+-
+-#, fuzzy
+-#~ msgid "`@end' missing in implementation context"
+-#~ msgstr "`@Ibuze in Imvugiro"
+-
+-#, fuzzy
+-#~ msgid "reimplementation of class `%s'"
+-#~ msgstr "Bya ishuri"
+-
+-#, fuzzy
+-#~ msgid "conflicting super class name `%s'"
+-#~ msgstr "hejuru ishuri Izina:"
+-
+-#, fuzzy
+-#~ msgid "duplicate interface declaration for class `%s'"
+-#~ msgstr "Gusubiramo kugirango ishuri"
+-
+-#, fuzzy
+-#~ msgid "duplicate declaration for protocol `%s'"
+-#~ msgstr "Gusubiramo kugirango Porotokole"
+-
+-#, fuzzy
+-#~ msgid "[super ...] must appear in a method context"
+-#~ msgstr "[hejuru Kugaragara in a Uburyo Imvugiro"
+-
+-#, fuzzy
+-#~ msgid "potential selector conflict for method `%s'"
+-#~ msgstr "kugirango Uburyo"
+-
+-#, fuzzy
+-#~ msgid "`@end' must appear in an implementation context"
+-#~ msgstr "`@Kugaragara in Imvugiro"
+-
+-#, fuzzy
+-#~ msgid "method definition not in class context"
+-#~ msgstr "Uburyo Insobanuro OYA in ishuri Imvugiro"
+-
+-#, fuzzy
+-#~ msgid "Dump decls to a .decl file"
+-#~ msgstr "Kuri a IDOSIYE"
+-
+-#, fuzzy
+-#~ msgid "Generate code for GNU runtime environment"
+-#~ msgstr "ITEGEKONGENGA kugirango"
+-
+-#, fuzzy
+-#~ msgid "Generate code for NeXT runtime environment"
+-#~ msgstr "ITEGEKONGENGA kugirango"
+-
+-#, fuzzy
+-#~ msgid "Warn if a selector has multiple methods"
+-#~ msgstr "NIBA a Igikubo"
+-
+-#, fuzzy
+-#~ msgid "Do not warn if inherited methods are unimplemented"
+-#~ msgstr "OYA NIBA"
+-
+-#, fuzzy
+-#~ msgid "Generate C header of platform specific features"
+-#~ msgstr "C Umutwempangano Bya Ibiranga"
+-
+-#, fuzzy
+-#~ msgid "Specify the name of the class for constant strings"
+-#~ msgstr "i Izina: Bya i ishuri kugirango Ikurikiranyanyuguti"
+-
+-#, fuzzy
+-#~ msgid "(debug) trace parsing process"
+-#~ msgstr "(Kosora amakosa"
+-
+-#, fuzzy
+-#~ msgid "(debug) trace lexical analysis"
+-#~ msgstr "(Kosora amakosa"
+-
+-#, fuzzy
+-#~ msgid "-current_version only allowed with -dynamiclib"
+-#~ msgstr "-Na:"
+-
+-#, fuzzy
+-#~ msgid "-install_name only allowed with -dynamiclib"
+-#~ msgstr "-Na:"
+-
+-#, fuzzy
+-#~ msgid "-bundle not allowed with -dynamiclib"
+-#~ msgstr "-OYA Na:"
+-
+-#, fuzzy
+-#~ msgid "-bundle_loader not allowed with -dynamiclib"
+-#~ msgstr "-OYA Na:"
+-
+-#, fuzzy
+-#~ msgid "-client_name not allowed with -dynamiclib"
+-#~ msgstr "-OYA Na:"
+-
+-#, fuzzy
+-#~ msgid "-force_cpusubtype_ALL not allowed with -dynamiclib"
+-#~ msgstr "-OYA Na:"
+-
+-#, fuzzy
+-#~ msgid "-force_flat_namespace not allowed with -dynamiclib"
+-#~ msgstr "-OYA Na:"
+-
+-#, fuzzy
+-#~ msgid "-keep_private_externs not allowed with -dynamiclib"
+-#~ msgstr "-OYA Na:"
+-
+-#, fuzzy
+-#~ msgid "-private_bundle not allowed with -dynamiclib"
+-#~ msgstr "-OYA Na:"
+-
+-#, fuzzy
+-#~ msgid "GNU C does not support -C without using -E"
+-#~ msgstr "C OYA Gushigikira C ikoresha E"
+-
+-#, fuzzy
+-#~ msgid "GNU C does not support -CC without using -E"
+-#~ msgstr "C OYA Gushigikira ikoresha E"
+-
+-#, fuzzy
+-#~ msgid "`-p' not supported; use `-pg' and gprof(1)"
+-#~ msgstr "`-OYA Gukoresha Na 1."
+-
+-#, fuzzy
+-#~ msgid "may not use both -m32 and -m64"
+-#~ msgstr "Gicurasi OYA Gukoresha Byombi Na"
+-
+-#, fuzzy
+-#~ msgid "The -shared option is not currently supported for VAX ELF."
+-#~ msgstr "Ihitamo ni OYA kugirango"
+-
+-#, fuzzy
+-#~ msgid "profiling not supported with -mg\n"
+-#~ msgstr "OYA Na:"
+-
+-#, fuzzy
+-#~ msgid "-pipe is not supported"
+-#~ msgstr "-ni OYA"
+-
+-#, fuzzy
+-#~ msgid "may not use both -EB and -EL"
+-#~ msgstr "Gicurasi OYA Gukoresha Byombi Na"
+-
+-#, fuzzy
+-#~ msgid "-pg and -fomit-frame-pointer are incompatible"
+-#~ msgstr "-Na Ikadiri Mweretsi"
+-
+-#, fuzzy
+-#~ msgid "mno-cygwin and mno-win32 are not compatible"
+-#~ msgstr "Na OYA"
+-
+-#, fuzzy
+-#~ msgid "shared and mdll are not compatible"
+-#~ msgstr "Na OYA"
+-
+-#, fuzzy
+-#~ msgid "-E required when input is from standard input"
+-#~ msgstr "-E Bya ngombwa Ryari: Iyinjiza ni Bivuye Bisanzwe Iyinjiza"
+-
+-#, fuzzy
+-#~ msgid "compilation of header file requested"
+-#~ msgstr "Bya Umutwempangano IDOSIYE"
+-
+-#, fuzzy
+-#~ msgid " conflicting code gen style switches are used"
+-#~ msgstr "ITEGEKONGENGA IMISUSIRE"
+-
+-#, fuzzy
+-#~ msgid "-pg or -p and -fomit-frame-pointer are incompatible"
+-#~ msgstr "-Cyangwa P Na Ikadiri Mweretsi"
+-
+-#, fuzzy
+-#~ msgid "choose either big or little endian, not both"
+-#~ msgstr "Guhitamo Cyangwa OYA Byombi"
+-
+-#, fuzzy
+-#~ msgid "choose either m340 or m210 not both"
+-#~ msgstr "Guhitamo Cyangwa OYA Byombi"
+-
+-#, fuzzy
+-#~ msgid "the m210 does not have little endian support"
+-#~ msgstr "i OYA Gushigikira"
+-
+-#, fuzzy
+-#~ msgid "-mapcs-26 and -mapcs-32 may not be used together"
+-#~ msgstr "-Na Gicurasi OYA"
+-
+-#, fuzzy
+-#~ msgid "-msoft-float and -mhard_float may not be used together"
+-#~ msgstr "-Kureremba Na Gicurasi OYA"
+-
+-#, fuzzy
+-#~ msgid "-mbig-endian and -mlittle-endian may not be used together"
+-#~ msgstr "-Na Gicurasi OYA"
+-
+-#, fuzzy
+-#~ msgid "-mhard-float not supported"
+-#~ msgstr "-Kureremba OYA"
+-
+-#, fuzzy
+-#~ msgid "-msingle-float and -msoft-float can not both be specified"
+-#~ msgstr "-Kureremba Na Kureremba OYA Byombi"
+-
+-#, fuzzy
+-#~ msgid "-c or -S required for Ada"
+-#~ msgstr "-C Cyangwa Bya ngombwa kugirango"
+-
+-#, fuzzy
+-#~ msgid "-fjni and -femit-class-files are incompatible"
+-#~ msgstr "-Na ishuri Idosiye"
+-
+-#, fuzzy
+-#~ msgid "-fjni and -femit-class-file are incompatible"
+-#~ msgstr "-Na ishuri IDOSIYE"
+-
+-#, fuzzy
+-#~ msgid "-femit-class-file should used along with -fsyntax-only"
+-#~ msgstr "-ishuri IDOSIYE Na:"
+-
+-#, fuzzy
+-#~ msgid "-static not valid with -mcoff"
+-#~ msgstr "-OYA Byemewe Na:"
+-
+-#, fuzzy
+-#~ msgid "-shared not valid with -mcoff"
+-#~ msgstr "-OYA Byemewe Na:"
+-
+-#, fuzzy
+-#~ msgid "-symbolic not valid with -mcoff"
+-#~ msgstr "-OYA Byemewe Na:"
+-
+-#, fuzzy
+-#~ msgid "-fpic is not valid with -mcoff"
+-#~ msgstr "-ni OYA Byemewe Na:"
+-
+-#, fuzzy
+-#~ msgid "-fPIC is not valid with -mcoff"
+-#~ msgstr "-ni OYA Byemewe Na:"
+-
+-#, fuzzy
+-#~ msgid "-fpic not valid with -mcoff"
+-#~ msgstr "-OYA Byemewe Na:"
+-
+-#, fuzzy
+-#~ msgid "-fPIC not valid with -mcoff"
+-#~ msgstr "-OYA Byemewe Na:"
+Index: libcpp/po/fr.po
+===================================================================
+--- libcpp/po/fr.po (.../tags/gcc_4_3_0_release) (revision 133808)
++++ libcpp/po/fr.po (.../branches/gcc-4_3-branch) (revision 133808)
+@@ -1,6 +1,7 @@
+-# Messages français pour GNU concernant gcc.
+-# Copyright © 2001 Free Software Foundation, Inc.
++# Messages français pour GNU concernant cpplib.
++# Copyright © 2001, 2008 Free Software Foundation, Inc.
+ # Michel Robitaille <robitail@IRO.UMontreal.CA>, traducteur depuis/since 1996.
++# François-Xavier Coudert <fxcoudert@gcc.gnu.org>
+ #
+ # Vocabulaire utilisé
+ # lvalue = membre gauche
+@@ -116,148 +117,148 @@
+ #
+ msgid ""
+ msgstr ""
+-"Project-Id-Version: GNU cpplib 4.0.0\n"
++"Project-Id-Version: GNU cpplib 4.3.0\n"
+ "Report-Msgid-Bugs-To: http://gcc.gnu.org/bugs.html\n"
+-"POT-Creation-Date: 2007-11-08 21:08+0000\n"
+-"PO-Revision-Date: 2005-06-12 08:00-0500\n"
+-"Last-Translator: Michel Robitaille <robitail@IRO.UMontreal.CA>\n"
++"POT-Creation-Date: 2008-02-01 16:21+0000\n"
++"PO-Revision-Date: 2008-03-27 22:46+0000\n"
++"Last-Translator: François-Xavier Coudert <fxcoudert@gmail.com>\n"
+ "Language-Team: French <traduc@traduc.org>\n"
+ "MIME-Version: 1.0\n"
+ "Content-Type: text/plain; charset=ISO-8859-1\n"
+ "Content-Transfer-Encoding: 8-bit\n"
+ "Plural-Forms: nplurals=2; plural=(n > 1);\n"
+
+-#: charset.c:654
++#: charset.c:671
+ #, c-format
+ msgid "conversion from %s to %s not supported by iconv"
+ msgstr "conversion de %s vers %s n'est pas supporté par iconv"
+
+-#: charset.c:657
++#: charset.c:674
+ msgid "iconv_open"
+ msgstr "iconv_open"
+
+-#: charset.c:665
++#: charset.c:682
+ #, c-format
+ msgid "no iconv implementation, cannot convert from %s to %s"
+ msgstr "pas d'implantation iconv, ne peut convertir de %s vers %s"
+
+-#: charset.c:742
++#: charset.c:759
+ #, c-format
+ msgid "character 0x%lx is not in the basic source character set\n"
+ msgstr "caractère 0x%lx n'est pas dans le jeu de caractères de base\n"
+
+-#: charset.c:759 charset.c:1352
++#: charset.c:776 charset.c:1369
+ msgid "converting to execution character set"
+ msgstr "conversion vers un jeu d'exécution de caractères"
+
+-#: charset.c:765
++#: charset.c:782
+ #, c-format
+ msgid "character 0x%lx is not unibyte in execution character set"
+ msgstr "caractère 0x%lx n'est pas unibyte dans le jeu de caractères d'exécution"
+
+-#: charset.c:889
++#: charset.c:906
+ #, c-format
+ msgid "Character %x might not be NFKC"
+-msgstr ""
++msgstr "Le charactère %x n'est peut-être pas dans la normalisation NFKC"
+
+-#: charset.c:949
++#: charset.c:966
+ msgid "universal character names are only valid in C++ and C99"
+ msgstr "noms de caractère universel sont seulement valides en C++ et C89"
+
+-#: charset.c:952
++#: charset.c:969
+ #, c-format
+ msgid "the meaning of '\\%c' is different in traditional C"
+ msgstr "la signification de « \\%c » est différente en C traditionel"
+
+-#: charset.c:961
++#: charset.c:978
+ msgid "In _cpp_valid_ucn but not a UCN"
+-msgstr ""
++msgstr "Dans _cpp_valid_ucn mais pas un Universal Character Name"
+
+ # FIXME
+-#: charset.c:986
++#: charset.c:1003
+ #, c-format
+ msgid "incomplete universal character name %.*s"
+ msgstr "nom de caractère universel incomplet %.*s"
+
+-#: charset.c:998
++#: charset.c:1015
+ #, c-format
+ msgid "%.*s is not a valid universal character"
+ msgstr "%.*s n'est pas un caractère universel valide"
+
+-#: charset.c:1008 lex.c:484
++#: charset.c:1025 lex.c:484
+ msgid "'$' in identifier or number"
+ msgstr "« $ » dans un identificateur ou un nombre"
+
+-#: charset.c:1018
++#: charset.c:1035
+ #, c-format
+ msgid "universal character %.*s is not valid in an identifier"
+ msgstr "caractère universel %.*s n'est pas valide dans un identificcateur"
+
+-#: charset.c:1022
++#: charset.c:1039
+ #, c-format
+ msgid "universal character %.*s is not valid at the start of an identifier"
+ msgstr "caractère universel %.*s n'est pas valide au début d'un identificcateur"
+
+-#: charset.c:1056 charset.c:1571
++#: charset.c:1073 charset.c:1588
+ msgid "converting UCN to source character set"
+ msgstr "conversion UCN vers le jeu source de caractères"
+
+-#: charset.c:1060
++#: charset.c:1077
+ msgid "converting UCN to execution character set"
+ msgstr "conversion UCN vers le jeu d'exécution de caractères"
+
+-#: charset.c:1132
++#: charset.c:1149
+ msgid "the meaning of '\\x' is different in traditional C"
+ msgstr "la signification de « \\x » est différente en C traditionel"
+
+-#: charset.c:1149
++#: charset.c:1166
+ msgid "\\x used with no following hex digits"
+ msgstr "\\x utilisé sans être suivi de chiffres en hexdécimal"
+
+-#: charset.c:1156
++#: charset.c:1173
+ msgid "hex escape sequence out of range"
+ msgstr "séquence d'échappement hexadécimale hors limite"
+
+-#: charset.c:1195
++#: charset.c:1212
+ msgid "octal escape sequence out of range"
+ msgstr "séquence d'échappement octale hors limite"
+
+-#: charset.c:1263
++#: charset.c:1280
+ msgid "the meaning of '\\a' is different in traditional C"
+ msgstr "la signification de « \\a » est différente en C traditionel"
+
+-#: charset.c:1270
++#: charset.c:1287
+ #, c-format
+ msgid "non-ISO-standard escape sequence, '\\%c'"
+ msgstr "séquence d'échappement « \\%c » non conforme au standard ISO"
+
+-#: charset.c:1278
++#: charset.c:1295
+ #, c-format
+ msgid "unknown escape sequence '\\%c'"
+ msgstr "séquence d'échappement « \\%c » inconnue"
+
+-#: charset.c:1286
+-#, fuzzy, c-format
++#: charset.c:1303
++#, c-format
+ msgid "unknown escape sequence: '\\%s'"
+-msgstr "séquence d'échappement « \\%c » inconnue"
++msgstr "séquence d'échappement « \\%s » inconnue"
+
+-#: charset.c:1293
++#: charset.c:1310
+ msgid "converting escape sequence to execution character set"
+ msgstr "conversion d'une séquence d'échappement vers un jeu d'exécution de caractères"
+
+-#: charset.c:1415 charset.c:1478
++#: charset.c:1432 charset.c:1495
+ msgid "character constant too long for its type"
+ msgstr "constante caractère trop longue pour son type"
+
+-#: charset.c:1418
++#: charset.c:1435
+ msgid "multi-character character constant"
+ msgstr "constante caractère multi-caractères"
+
+-#: charset.c:1510
++#: charset.c:1527
+ msgid "empty character constant"
+ msgstr "constante caractère vide"
+
+-#: charset.c:1612
++#: charset.c:1629
+ #, c-format
+ msgid "failure to convert %s to %s"
+ msgstr "échec de conversion de %s vers %s"
+@@ -350,145 +351,149 @@
+ msgstr "fanion « %s » invalide dans la ligne de directive"
+
+ #: directives.c:868
++msgid "unexpected end of file after #line"
++msgstr "fin de fichier inattendue après #ligne"
++
++#: directives.c:871
+ #, c-format
+ msgid "\"%s\" after #line is not a positive integer"
+-msgstr "« %s » après #line n'est pas un nombre entier positif"
++msgstr "« %s » après #ligne n'est pas un nombre entier positif"
+
+-#: directives.c:874
++#: directives.c:877
+ msgid "line number out of range"
+ msgstr "numéro de ligne hors limite"
+
+-#: directives.c:887 directives.c:964
++#: directives.c:890 directives.c:969
+ #, c-format
+ msgid "\"%s\" is not a valid filename"
+ msgstr "« %s » n'est pas un nom de fichier valide"
+
+-#: directives.c:924
++#: directives.c:929
+ #, c-format
+ msgid "\"%s\" after # is not a positive integer"
+ msgstr "« %s » après # n'est pas un nombre entier positif"
+
+-#: directives.c:1026
+-#, fuzzy, c-format
++#: directives.c:1031
++#, c-format
+ msgid "invalid #%s directive"
+-msgstr "directive #ident invalide"
++msgstr "directive #%s invalide"
+
+-#: directives.c:1089
++#: directives.c:1094
+ #, c-format
+ msgid "registering pragmas in namespace \"%s\" with mismatched name expansion"
+-msgstr ""
++msgstr "enregistrement des pragmas dans l'espace de nom « %s » avec une expansion de nom ne correspondant pas"
+
+ # FIXME
+-#: directives.c:1098
+-#, fuzzy, c-format
++#: directives.c:1103
++#, c-format
+ msgid "registering pragma \"%s\" with name expansion and no namespace"
+-msgstr "enregistrement de \"%s\" à la fois comme une pragma et un espace de nom de pragma"
++msgstr "enregistrement du pragma « %s » avec une expansion de nom mais pas d'espace de nom"
+
+ # FIXME
+-#: directives.c:1116
++#: directives.c:1121
+ #, c-format
+ msgid "registering \"%s\" as both a pragma and a pragma namespace"
+ msgstr "enregistrement de \"%s\" à la fois comme une pragma et un espace de nom de pragma"
+
+-#: directives.c:1119
++#: directives.c:1124
+ #, c-format
+ msgid "#pragma %s %s is already registered"
+ msgstr "la #pragma %s %s est déjà enregistrée"
+
+-#: directives.c:1122
++#: directives.c:1127
+ #, c-format
+ msgid "#pragma %s is already registered"
+ msgstr "la #pragma %s est déjà enregistrée"
+
+-#: directives.c:1152
++#: directives.c:1157
+ msgid "registering pragma with NULL handler"
+-msgstr ""
++msgstr "enregistrement d'un pragma avec un handler égal à NULL"
+
+ # FIXME
+-#: directives.c:1362
++#: directives.c:1367
+ msgid "#pragma once in main file"
+ msgstr "#pragma once utilisée une seule fois dans le fichier principal"
+
+ # FIXME
+-#: directives.c:1385
++#: directives.c:1390
+ msgid "invalid #pragma GCC poison directive"
+ msgstr "la directive GCC #pragma poison est invalide"
+
+ # FIXME
+-#: directives.c:1394
++#: directives.c:1399
+ #, c-format
+ msgid "poisoning existing macro \"%s\""
+ msgstr "élimination de la macro existente « %s »"
+
+-#: directives.c:1413
++#: directives.c:1418
+ msgid "#pragma system_header ignored outside include file"
+ msgstr "#pragma system_header ignorée en dehors du fichier d'inclusion"
+
+-#: directives.c:1437
++#: directives.c:1442
+ #, c-format
+ msgid "cannot find source file %s"
+ msgstr "impossible de trouver le fichier source %s"
+
+-#: directives.c:1441
++#: directives.c:1446
+ #, c-format
+ msgid "current file is older than %s"
+ msgstr "le fichier courant est plus vieux que %s"
+
+-#: directives.c:1620
++#: directives.c:1625
+ msgid "_Pragma takes a parenthesized string literal"
+ msgstr "_Pragma prend une chaîne entourée de parenthèrese"
+
+-#: directives.c:1693
++#: directives.c:1698
+ msgid "#else without #if"
+ msgstr "#else sans #if"
+
+-#: directives.c:1698
++#: directives.c:1703
+ msgid "#else after #else"
+ msgstr "#else après #else"
+
+-#: directives.c:1700 directives.c:1733
++#: directives.c:1705 directives.c:1738
+ msgid "the conditional began here"
+ msgstr "la condition débute ici"
+
+-#: directives.c:1726
++#: directives.c:1731
+ msgid "#elif without #if"
+ msgstr "#elif sans #if"
+
+-#: directives.c:1731
++#: directives.c:1736
+ msgid "#elif after #else"
+ msgstr "#elif après #else"
+
+-#: directives.c:1761
++#: directives.c:1766
+ msgid "#endif without #if"
+ msgstr "#endif sans #if"
+
+-#: directives.c:1838
++#: directives.c:1843
+ msgid "missing '(' after predicate"
+ msgstr "« ( » manquante après le prédicat"
+
+-#: directives.c:1853
++#: directives.c:1858
+ msgid "missing ')' to complete answer"
+ msgstr "« ) » manquante pour completer la réponse"
+
+-#: directives.c:1873
++#: directives.c:1878
+ msgid "predicate's answer is empty"
+ msgstr "la réponse du prédicat est vide"
+
+-#: directives.c:1900
++#: directives.c:1905
+ msgid "assertion without predicate"
+ msgstr "assertion sans prédicat"
+
+-#: directives.c:1902
++#: directives.c:1907
+ msgid "predicate must be an identifier"
+ msgstr "le prédicat doit être un identificateur"
+
+ # FIXME
+-#: directives.c:1988
++#: directives.c:1993
+ #, c-format
+ msgid "\"%s\" re-asserted"
+ msgstr "« %s » re-asserti"
+
+-#: directives.c:2271
++#: directives.c:2276
+ #, c-format
+ msgid "unterminated #%s"
+ msgstr "#%s non terminé"
+@@ -523,14 +528,13 @@
+ msgstr "trop de points décimaux dans le nombre"
+
+ #: expr.c:290 expr.c:365
+-#, fuzzy
+ msgid "fixed-point constants are a GCC extension"
+-msgstr "les constantes imaginaires sont une extension GCC"
++msgstr "les constantes à virgule fixe sont une extension GCC"
+
+ #: expr.c:303
+-#, fuzzy, c-format
++#, c-format
+ msgid "invalid digit \"%c\" in binary constant"
+-msgstr "chiffre « %c » invalide dans la constante en base 8"
++msgstr "chiffre « %c » invalide dans la constante binaire"
+
+ #: expr.c:305
+ #, c-format
+@@ -538,9 +542,8 @@
+ msgstr "chiffre « %c » invalide dans la constante en base 8"
+
+ #: expr.c:313
+-#, fuzzy
+ msgid "invalid prefix \"0b\" for floating constant"
+-msgstr "suffixe « %.*s » invalide pour une constante flottante"
++msgstr "préfixe « 0b » invalide pour une constante flottante"
+
+ #: expr.c:319
+ msgid "use of C99 hexadecimal floating constant"
+@@ -565,14 +568,13 @@
+ msgstr "le C traditionnel interdit le suffixe « %.*s »"
+
+ #: expr.c:358
+-#, fuzzy, c-format
++#, c-format
+ msgid "invalid suffix \"%.*s\" with hexadecimal floating constant"
+-msgstr "suffixe « %.*s » invalide pour une constante flottante"
++msgstr "suffixe « %.*s » invalide pour une constante flottante hexadécimale"
+
+ #: expr.c:369
+-#, fuzzy
+ msgid "decimal float constants are a GCC extension"
+-msgstr "les constantes imaginaires sont une extension GCC"
++msgstr "les constantes flottantes décimales sont une extension GCC"
+
+ #: expr.c:379
+ #, c-format
+@@ -588,9 +590,8 @@
+ msgstr "les constantes imaginaires sont une extension GCC"
+
+ #: expr.c:412
+-#, fuzzy
+ msgid "binary constants are a GCC extension"
+-msgstr "les constantes imaginaires sont une extension GCC"
++msgstr "les constantes binaires sont une extension GCC"
+
+ #: expr.c:505
+ msgid "integer constant is too large for its type"
+@@ -709,41 +710,41 @@
+ msgid "division by zero in #if"
+ msgstr "division par zéro dans #if"
+
+-#: files.c:442
++#: files.c:458
+ msgid "NULL directory in find_file"
+ msgstr "répertoire NUL dans find_file"
+
+-#: files.c:480
++#: files.c:496
+ msgid "one or more PCH files were found, but they were invalid"
+ msgstr "un ou plusieurs fichiers PCH ont été repérés, mais ils étaient invalides"
+
+-#: files.c:483
++#: files.c:499
+ msgid "use -Winvalid-pch for more information"
+ msgstr "utiliser -Winvalid-pch pour plus d'informations"
+
+ # FIXME
+-#: files.c:570
++#: files.c:589
+ #, c-format
+ msgid "%s is a block device"
+ msgstr "%s est un périphérique de blocs"
+
+-#: files.c:587
++#: files.c:606
+ #, c-format
+ msgid "%s is too large"
+ msgstr "%s est trop grand"
+
+-#: files.c:622
++#: files.c:641
+ #, c-format
+ msgid "%s is shorter than expected"
+ msgstr "%s est plus petit que prévu"
+
+-#: files.c:852
++#: files.c:872
+ #, c-format
+ msgid "no include path in which to search for %s"
+ msgstr "aucun chemin d'inclusion dans lequel on pourrait repérer %s"
+
+ # FIXME
+-#: files.c:1157
++#: files.c:1238
+ msgid "Multiple include guards may be useful for:\n"
+ msgstr "De multiples balises pour les inclusions peuvent être utiles pour:\n"
+
+@@ -814,14 +815,14 @@
+ msgstr "caractère(s) nul(s) ignoré(s)"
+
+ #: lex.c:460
+-#, fuzzy, c-format
++#, c-format
+ msgid "`%.*s' is not in NFKC"
+-msgstr "« %s » n'est pas un canevas"
++msgstr "« %.*s » n'est pas dans la normalisation NFKC"
+
+ #: lex.c:463
+-#, fuzzy, c-format
++#, c-format
+ msgid "`%.*s' is not in NFC"
+-msgstr "« %s » n'est pas un canevas"
++msgstr "« %.*s » n'est pas dans la normalisation NFC"
+
+ # FIXME
+ #: lex.c:551
+@@ -873,124 +874,123 @@
+ ",\n"
+ " à partir de %s:%u"
+
+-#: macro.c:84
++#: macro.c:87
+ #, c-format
+ msgid "macro \"%s\" is not used"
+ msgstr "la macro « %s » n'est pas utilisée"
+
+-#: macro.c:123 macro.c:319
++#: macro.c:126 macro.c:322
+ #, c-format
+ msgid "invalid built-in macro \"%s\""
+ msgstr "macro interne invalide « %s »"
+
+-#: macro.c:157
+-#, fuzzy
++#: macro.c:160
+ msgid "could not determine file timestamp"
+-msgstr "ne peut déterminer la date et l'heure"
++msgstr "ne peut déterminer la date de modification du fichier"
+
+-#: macro.c:254
++#: macro.c:257
+ msgid "could not determine date and time"
+ msgstr "ne peut déterminer la date et l'heure"
+
+-#: macro.c:270
++#: macro.c:273
+ msgid "__COUNTER__ expanded inside directive with -fdirectives-only"
+-msgstr ""
++msgstr "Expansion de __COUNTER__ à l'intérieur d'une directive avec -fdirectives-only"
+
+-#: macro.c:423
++#: macro.c:426
+ msgid "invalid string literal, ignoring final '\\'"
+ msgstr "chaîne invalide, « \\ » final ignoré"
+
+-#: macro.c:483
++#: macro.c:486
+ #, c-format
+ msgid "pasting \"%s\" and \"%s\" does not give a valid preprocessing token"
+ msgstr "le collage de « %s » et de « %s » ne donne pas d'élément lexical de pré-traitement valide"
+
+-#: macro.c:558
++#: macro.c:561
+ msgid "ISO C99 requires rest arguments to be used"
+ msgstr "ISO C99 requiert que tous les arguments soient utilisés"
+
+-#: macro.c:563
++#: macro.c:566
+ #, c-format
+ msgid "macro \"%s\" requires %u arguments, but only %u given"
+ msgstr "macro « %s » requiert %u arguments, mais seulement %u ont été passés"
+
+-#: macro.c:568
++#: macro.c:571
+ #, c-format
+ msgid "macro \"%s\" passed %u arguments, but takes just %u"
+ msgstr "la macro « %s » a reçu %u arguments, mais elle n'en prend que %u"
+
+-#: macro.c:679 traditional.c:680
++#: macro.c:730 traditional.c:680
+ #, c-format
+ msgid "unterminated argument list invoking macro \"%s\""
+ msgstr "liste d'arguments non terminée invoquant la macro « %s »"
+
+-#: macro.c:782
++#: macro.c:840
+ #, c-format
+ msgid "function-like macro \"%s\" must be used with arguments in traditional C"
+ msgstr "la macro « %s » ressemblant à une fonction doit utilisée avec des arguments en C traditionnel"
+
+-#: macro.c:1325
++#: macro.c:1408
+ #, c-format
+ msgid "duplicate macro parameter \"%s\""
+ msgstr "paramètre de macro « %s » en double"
+
+-#: macro.c:1371
++#: macro.c:1454
+ #, c-format
+ msgid "\"%s\" may not appear in macro parameter list"
+ msgstr "« %s » peut ne pas apparaître parmi les paramètres de macros"
+
+-#: macro.c:1379
++#: macro.c:1462
+ msgid "macro parameters must be comma-separated"
+ msgstr "les paramètres de macro doivent être séparés par des virgules"
+
+-#: macro.c:1396
++#: macro.c:1479
+ msgid "parameter name missing"
+ msgstr "nom de paramètre manquant"
+
+-#: macro.c:1413
++#: macro.c:1496
+ msgid "anonymous variadic macros were introduced in C99"
+ msgstr "les macros anonymes à nombre variable d'arguments ont été introduites avec le C99"
+
+-#: macro.c:1418
++#: macro.c:1501
+ msgid "ISO C does not permit named variadic macros"
+ msgstr "ISO C ne permet pas les macros nommées à nombre variable d'arguments"
+
+-#: macro.c:1427
++#: macro.c:1510
+ msgid "missing ')' in macro parameter list"
+ msgstr "« ) » manquante dans la liste des paramètres de macros"
+
+ # FIXME
+-#: macro.c:1476
++#: macro.c:1559
+ msgid "'##' cannot appear at either end of a macro expansion"
+ msgstr "« ## » ne peut apparaître à chacune des fins de l'expansion de macros"
+
+-#: macro.c:1510
++#: macro.c:1593
+ msgid "ISO C99 requires whitespace after the macro name"
+ msgstr "ISO C99 requiert un blanc après le nom de la macro"
+
+-#: macro.c:1534
++#: macro.c:1617
+ msgid "missing whitespace after the macro name"
+ msgstr "blanc d'espacement manquant après le nom de la macro"
+
+-#: macro.c:1564
++#: macro.c:1647
+ msgid "'#' is not followed by a macro parameter"
+ msgstr "« # » n'est pas suivi d'un paramètre de macro"
+
+-#: macro.c:1683
++#: macro.c:1766
+ #, c-format
+ msgid "\"%s\" redefined"
+ msgstr "« %s » redéfini"
+
+-#: macro.c:1688
++#: macro.c:1771
+ msgid "this is the location of the previous definition"
+ msgstr "ceci est la localisation d'une précédente définition"
+
+-#: macro.c:1738
++#: macro.c:1828
+ #, c-format
+ msgid "macro argument \"%s\" would be stringified in traditional C"
+ msgstr "l'argument macro « %s » serait changé en chaine en C traditionnel"
+
+-#: macro.c:1761
++#: macro.c:1851
+ #, c-format
+ msgid "invalid hash type %d in cpp_macro_definition"
+ msgstr "type de hachage %d invalide dans cpp_macro_definition"
+@@ -1015,9 +1015,9 @@
+ msgstr "%s: non utilisé parce que « %s » est défini"
+
+ #: pch.c:558
+-#, fuzzy, c-format
++#, c-format
+ msgid "%s: not used because `__COUNTER__' is invalid"
+-msgstr "%s: non utilisé parce que « %s » est défini"
++msgstr "%s: non utilisé parce que « __COUNTER__ » est invalide"
+
+ #: pch.c:567 pch.c:737
+ msgid "while reading precompiled header"
+@@ -1028,7 +1028,7 @@
+ msgid "detected recursion whilst expanding macro \"%s\""
+ msgstr "récursion détectée lors de l'expansion de la macro « %s »"
+
+-#: traditional.c:917
++#: traditional.c:968
+ msgid "syntax error in macro parameter list"
+ msgstr "erreur de syntaxe dans la liste de paramètres macro"
+
+@@ -5763,9 +5763,6 @@
+ #~ msgid "Control the precision given to fp exceptions"
+ #~ msgstr "Contrôler la précision donnée des exceptions FP"
+
+-#~ msgid "Tune expected memory latency"
+-#~ msgstr "Ajuster la latence mémoire attendue"
+-
+ #~ msgid "Specify bit size of immediate TLS offsets"
+ #~ msgstr "Spécifier la taille de bit des décalages immédiats TLS"
+
+@@ -12477,10 +12474,10 @@
+ #~ msgstr "directive # non définie ou invalide"
+
+ #~ msgid "invalid #line"
+-#~ msgstr "#line invalide"
++#~ msgstr "#ligne invalide"
+
+ #~ msgid "use `#line ...' instead of `# ...' in first line"
+-#~ msgstr "utiliser « #line ... » au lieu de « # ... » dans la première ligne"
++#~ msgstr "utiliser « #ligne ... » au lieu de « # ... » dans la première ligne"
+
+ #~ msgid "invalid #-line"
+ #~ msgstr "#-line invalide"
+@@ -13739,7 +13736,7 @@
+ #~ msgstr "Optimiser l'utilisation de l'espace plutôt que la vitesse"
+
+ #~ msgid "Do not generate #line directives"
+-#~ msgstr "Ne pas générer de directives #line"
++#~ msgstr "Ne pas générer de directives #ligne"
+
+ #~ msgid "-U<macro>\tUndefine <macro>"
+ #~ msgstr "-U<macro>\tabandonner la définition <macro>"
+@@ -14540,7 +14537,7 @@
+ #~ msgstr "-fwide-exec-charset=<cset>\tconvertir toutes les chaînes et les constantes larges de caractères en jeux de caractères <cset>"
+
+ #~ msgid "Generate a #line directive pointing at the current working directory"
+-#~ msgstr "Générer une directive #line pointant sur le répertoire courant de travail"
++#~ msgstr "Générer une directive #ligne pointant sur le répertoire courant de travail"
+
+ #~ msgid "Assume signed arithmetic overflow wraps around"
+ #~ msgstr "Assumer un débordement arithmétique signé enroulé"
+@@ -15430,7 +15427,7 @@
+ #~ " -f[no-]preprocessed Considérer [ou non] que le fichier d'entrée est \n"
+ #~ " déjà pré-traité\n"
+ #~ " -ftabstop=<nombre> Largeur des tabulations pour indiquer la colonne\n"
+-#~ " -P Ne pas générer des directives #line\n"
++#~ " -P Ne pas générer des directives #ligne\n"
+ #~ " -remap Refaire la table des noms de fichiers lors de\n"
+ #~ " l'inclusion de fichiers\n"
+ #~ " --help Afficher cet l'aide-mémoire\n"
+@@ -16041,7 +16038,7 @@
+ #~ msgstr "-mentry n'a de sens qu'avec -mips-16"
+
+ #~ msgid "MIPS ECOFF format does not allow changing filenames within functions with #line"
+-#~ msgstr "format MIPS ECOFF ne permet pas de changer le nom des fichiers à l'intérieur des fonction avec #line"
++#~ msgstr "format MIPS ECOFF ne permet pas de changer le nom des fichiers à l'intérieur des fonction avec #ligne"
+
+ #~ msgid "fp_offset (%ld) or end_offset (%ld) is less than zero"
+ #~ msgstr "fp_offset (%ld) ou end_offset (%ld) est plus petit que zéro"
+@@ -16967,7 +16964,7 @@
+ #~ msgstr "# opérator derait être suivi par le nom d'un argument macro"
+
+ #~ msgid "invalid format #line command"
+-#~ msgstr "format invalide dans la commande #line"
++#~ msgstr "format invalide dans la commande #ligne"
+
+ #~ msgid "undefining `defined'"
+ #~ msgstr "indéfinition « defined »"
+Index: libcpp/po/es.po
+===================================================================
+--- libcpp/po/es.po (.../tags/gcc_4_3_0_release) (revision 133808)
++++ libcpp/po/es.po (.../branches/gcc-4_3-branch) (revision 133808)
+@@ -1,149 +1,150 @@
+-# Mensajes en español para cpplib-4.3-b20071109
+-# Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007 Free Software Foundation, Inc.
+-# Cristian Othón Martínez Vera <cfuga@itam.mx>, 2001, 2002, 2003, 2004, 2005, 2006, 2007.
++# Mensajes en español para cpplib-4.3.0
++# Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
++# This file is distributed under the same license as the gcc package.
++# Cristian Othón Martínez Vera <cfuga@itam.mx>, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008.
+ #
+ msgid ""
+ msgstr ""
+-"Project-Id-Version: cpplib-4.3-b20071109\n"
++"Project-Id-Version: cpplib-4.3.0\n"
+ "Report-Msgid-Bugs-To: http://gcc.gnu.org/bugs.html\n"
+-"POT-Creation-Date: 2007-11-08 21:08+0000\n"
+-"PO-Revision-Date: 2007-11-13 19:48-0600\n"
++"POT-Creation-Date: 2008-02-01 16:21+0000\n"
++"PO-Revision-Date: 2008-03-18 12:01-0600\n"
+ "Last-Translator: Cristian Othón Martínez Vera <cfuga@itam.mx>\n"
+ "Language-Team: Spanish <es@li.org>\n"
+ "MIME-Version: 1.0\n"
+ "Content-Type: text/plain; charset=ISO-8859-1\n"
+ "Content-Transfer-Encoding: 8bit\n"
+
+-#: charset.c:654
++#: charset.c:671
+ #, c-format
+ msgid "conversion from %s to %s not supported by iconv"
+ msgstr "la conversión de %s a %s no está soportada por iconv"
+
+-#: charset.c:657
++#: charset.c:674
+ msgid "iconv_open"
+ msgstr "iconv_open"
+
+-#: charset.c:665
++#: charset.c:682
+ #, c-format
+ msgid "no iconv implementation, cannot convert from %s to %s"
+ msgstr "no hay una implementación de iconv, no se puede convertir de %s a %s"
+
+-#: charset.c:742
++#: charset.c:759
+ #, c-format
+ msgid "character 0x%lx is not in the basic source character set\n"
+ msgstr "el carácter 0x%lx no está en el conjunto básico de caracteres fuente\n"
+
+-#: charset.c:759 charset.c:1352
++#: charset.c:776 charset.c:1369
+ msgid "converting to execution character set"
+ msgstr "convirtiendo al conjunto de caracteres de ejecución"
+
+-#: charset.c:765
++#: charset.c:782
+ #, c-format
+ msgid "character 0x%lx is not unibyte in execution character set"
+ msgstr "el carácter 0x%lx no es unibyte en el conjunto de caracteres de ejecución"
+
+-#: charset.c:889
++#: charset.c:906
+ #, c-format
+ msgid "Character %x might not be NFKC"
+ msgstr "El carácter %x puede no ser NFKC"
+
+-#: charset.c:949
++#: charset.c:966
+ msgid "universal character names are only valid in C++ and C99"
+ msgstr "los nombres universales de carácter sólo son válidos en C++ y C99"
+
+-#: charset.c:952
++#: charset.c:969
+ #, c-format
+ msgid "the meaning of '\\%c' is different in traditional C"
+ msgstr "el significado de '\\%c' es diferente en C tradicional"
+
+-#: charset.c:961
++#: charset.c:978
+ msgid "In _cpp_valid_ucn but not a UCN"
+ msgstr "En _cpp_valid_unc pero no es un UCN"
+
+-#: charset.c:986
++#: charset.c:1003
+ #, c-format
+ msgid "incomplete universal character name %.*s"
+ msgstr "nombre universal de carácter %.*s incompleto"
+
+-#: charset.c:998
++#: charset.c:1015
+ #, c-format
+ msgid "%.*s is not a valid universal character"
+ msgstr "%.*s no es un carácter universal válido"
+
+-#: charset.c:1008 lex.c:484
++#: charset.c:1025 lex.c:484
+ msgid "'$' in identifier or number"
+ msgstr "'$' en el identificador o número"
+
+-#: charset.c:1018
++#: charset.c:1035
+ #, c-format
+ msgid "universal character %.*s is not valid in an identifier"
+ msgstr "el carácter universal %.*s no es válido en un identificador"
+
+-#: charset.c:1022
++#: charset.c:1039
+ #, c-format
+ msgid "universal character %.*s is not valid at the start of an identifier"
+ msgstr "el carácter universal %.*s no es válido al inicio de un identificador"
+
+-#: charset.c:1056 charset.c:1571
++#: charset.c:1073 charset.c:1588
+ msgid "converting UCN to source character set"
+ msgstr "convirtiendo un NUC al conjunto de caracteres fuente"
+
+-#: charset.c:1060
++#: charset.c:1077
+ msgid "converting UCN to execution character set"
+ msgstr "convirtiendo un NUC al conjunto de caracteres de ejecución"
+
+-#: charset.c:1132
++#: charset.c:1149
+ msgid "the meaning of '\\x' is different in traditional C"
+ msgstr "el significado de '\\x' es diferente en C tradicional"
+
+-#: charset.c:1149
++#: charset.c:1166
+ msgid "\\x used with no following hex digits"
+ msgstr "se usó \\x sin dígitos hexadecimales a continuación"
+
+-#: charset.c:1156
++#: charset.c:1173
+ msgid "hex escape sequence out of range"
+ msgstr "secuencia de escape hexadecimal fuera de rango"
+
+-#: charset.c:1195
++#: charset.c:1212
+ msgid "octal escape sequence out of range"
+ msgstr "secuencia de escape octal fuera de rango"
+
+-#: charset.c:1263
++#: charset.c:1280
+ msgid "the meaning of '\\a' is different in traditional C"
+ msgstr "el significado de '\\a' es diferente en C tradicional"
+
+-#: charset.c:1270
++#: charset.c:1287
+ #, c-format
+ msgid "non-ISO-standard escape sequence, '\\%c'"
+ msgstr "secuencia de escape que no es estándard ISO, '\\%c'"
+
+-#: charset.c:1278
++#: charset.c:1295
+ #, c-format
+ msgid "unknown escape sequence '\\%c'"
+ msgstr "secuencia de escape desconocida, '\\%c'"
+
+-#: charset.c:1286
++#: charset.c:1303
+ #, c-format
+ msgid "unknown escape sequence: '\\%s'"
+ msgstr "secuencia de escape desconocida: '\\%s'"
+
+-#: charset.c:1293
++#: charset.c:1310
+ msgid "converting escape sequence to execution character set"
+ msgstr "convirtiendo una secuencia de escape al conjunto de caracteres de ejecución"
+
+-#: charset.c:1415 charset.c:1478
++#: charset.c:1432 charset.c:1495
+ msgid "character constant too long for its type"
+ msgstr "constante de carácter demasiado grande para su tipo"
+
+-#: charset.c:1418
++#: charset.c:1435
+ msgid "multi-character character constant"
+ msgstr "constante de carácter con múltiples caracteres"
+
+-#: charset.c:1510
++#: charset.c:1527
+ msgid "empty character constant"
+ msgstr "constante de carácter vacía"
+
+-#: charset.c:1612
++#: charset.c:1629
+ #, c-format
+ msgid "failure to convert %s to %s"
+ msgstr "no se puede convertir %s a %s"
+@@ -236,139 +237,143 @@
+ msgstr "indicador \"%s\" inválido en la línea de la directiva"
+
+ #: directives.c:868
++msgid "unexpected end of file after #line"
++msgstr "fin de fichero inesperado después de #line"
++
++#: directives.c:871
+ #, c-format
+ msgid "\"%s\" after #line is not a positive integer"
+ msgstr "\"%s\" después de #line no es un entero positivo"
+
+-#: directives.c:874
++#: directives.c:877
+ msgid "line number out of range"
+ msgstr "número de línea fuera de rango"
+
+-#: directives.c:887 directives.c:964
++#: directives.c:890 directives.c:969
+ #, c-format
+ msgid "\"%s\" is not a valid filename"
+ msgstr "\"%s\" no es un nombre de fichero válido"
+
+-#: directives.c:924
++#: directives.c:929
+ #, c-format
+ msgid "\"%s\" after # is not a positive integer"
+ msgstr "\"%s\" después de # no es un entero positivo"
+
+-#: directives.c:1026
++#: directives.c:1031
+ #, c-format
+ msgid "invalid #%s directive"
+ msgstr "directiva #%s inválida"
+
+-#: directives.c:1089
++#: directives.c:1094
+ #, c-format
+ msgid "registering pragmas in namespace \"%s\" with mismatched name expansion"
+ msgstr "registrando pragmas en el espaco de nombres \"%s\" con una expansión de nombre que no coincide"
+
+-#: directives.c:1098
++#: directives.c:1103
+ #, c-format
+ msgid "registering pragma \"%s\" with name expansion and no namespace"
+ msgstr "registrando el pragma \"%s\" con expansión de nombre y sin un espacio de nombres"
+
+-#: directives.c:1116
++#: directives.c:1121
+ #, c-format
+ msgid "registering \"%s\" as both a pragma and a pragma namespace"
+ msgstr "registrando \"%s\" como un pragma y como un espacio de nombres de pragma"
+
+-#: directives.c:1119
++#: directives.c:1124
+ #, c-format
+ msgid "#pragma %s %s is already registered"
+ msgstr "#pragma %s %s ya está registrado"
+
+-#: directives.c:1122
++#: directives.c:1127
+ #, c-format
+ msgid "#pragma %s is already registered"
+ msgstr "#pragma %s ya está registrado"
+
+-#: directives.c:1152
++#: directives.c:1157
+ msgid "registering pragma with NULL handler"
+ msgstr "registrando un pragma con manejador NULL"
+
+-#: directives.c:1362
++#: directives.c:1367
+ msgid "#pragma once in main file"
+ msgstr "#pragma una vez en el fichero principal"
+
+-#: directives.c:1385
++#: directives.c:1390
+ msgid "invalid #pragma GCC poison directive"
+ msgstr "directiva #pragma de GCC envenenada inválida"
+
+-#: directives.c:1394
++#: directives.c:1399
+ #, c-format
+ msgid "poisoning existing macro \"%s\""
+ msgstr "envenenando la macro existente \"%s\""
+
+-#: directives.c:1413
++#: directives.c:1418
+ msgid "#pragma system_header ignored outside include file"
+ msgstr "#pragma system_header ignorado fuera del fichero a incluir"
+
+-#: directives.c:1437
++#: directives.c:1442
+ #, c-format
+ msgid "cannot find source file %s"
+ msgstr "no se puede encontrar el fichero fuente %s"
+
+-#: directives.c:1441
++#: directives.c:1446
+ #, c-format
+ msgid "current file is older than %s"
+ msgstr "el fichero actual es más antiguo que %s"
+
+-#: directives.c:1620
++#: directives.c:1625
+ msgid "_Pragma takes a parenthesized string literal"
+ msgstr "_Pragma lleva una cadena literal entre paréntesis"
+
+-#: directives.c:1693
++#: directives.c:1698
+ msgid "#else without #if"
+ msgstr "#else sin #if"
+
+-#: directives.c:1698
++#: directives.c:1703
+ msgid "#else after #else"
+ msgstr "#else después de #else"
+
+-#: directives.c:1700 directives.c:1733
++#: directives.c:1705 directives.c:1738
+ msgid "the conditional began here"
+ msgstr "el condicional empezó aquí"
+
+-#: directives.c:1726
++#: directives.c:1731
+ msgid "#elif without #if"
+ msgstr "#elif sin #if"
+
+-#: directives.c:1731
++#: directives.c:1736
+ msgid "#elif after #else"
+ msgstr "#elif después de #else"
+
+-#: directives.c:1761
++#: directives.c:1766
+ msgid "#endif without #if"
+ msgstr "#endif sin #if"
+
+-#: directives.c:1838
++#: directives.c:1843
+ msgid "missing '(' after predicate"
+ msgstr "falta '(' antes del predicado"
+
+-#: directives.c:1853
++#: directives.c:1858
+ msgid "missing ')' to complete answer"
+ msgstr "falta ')' para completar la respuesta"
+
+-#: directives.c:1873
++#: directives.c:1878
+ msgid "predicate's answer is empty"
+ msgstr "el predicado de la respuesta está vacío"
+
+-#: directives.c:1900
++#: directives.c:1905
+ msgid "assertion without predicate"
+ msgstr "afirmación sin predicado"
+
+-#: directives.c:1902
++#: directives.c:1907
+ msgid "predicate must be an identifier"
+ msgstr "el predicado debe ser un identificador"
+
+-#: directives.c:1988
++#: directives.c:1993
+ #, c-format
+ msgid "\"%s\" re-asserted"
+ msgstr "\"%s\" reafirmado"
+
+-#: directives.c:2271
++#: directives.c:2276
+ #, c-format
+ msgid "unterminated #%s"
+ msgstr "#%s sin terminar"
+@@ -585,39 +590,39 @@
+ msgid "division by zero in #if"
+ msgstr "división por cero en #if"
+
+-#: files.c:442
++#: files.c:458
+ msgid "NULL directory in find_file"
+ msgstr "directorio NULL en find_file"
+
+-#: files.c:480
++#: files.c:496
+ msgid "one or more PCH files were found, but they were invalid"
+ msgstr "se encontró uno o más ficheros PCH, pero eran inválidos"
+
+-#: files.c:483
++#: files.c:499
+ msgid "use -Winvalid-pch for more information"
+ msgstr "use -Winvalid-pch para más información"
+
+-#: files.c:570
++#: files.c:589
+ #, c-format
+ msgid "%s is a block device"
+ msgstr "%s es un dispositivo de bloques"
+
+-#: files.c:587
++#: files.c:606
+ #, c-format
+ msgid "%s is too large"
+ msgstr "%s es demasiado grande"
+
+-#: files.c:622
++#: files.c:641
+ #, c-format
+ msgid "%s is shorter than expected"
+ msgstr "%s es más corto de lo esperado"
+
+-#: files.c:852
++#: files.c:872
+ #, c-format
+ msgid "no include path in which to search for %s"
+ msgstr "no hay ruta de inclusión en la cual se pueda buscar %s"
+
+-#: files.c:1157
++#: files.c:1238
+ msgid "Multiple include guards may be useful for:\n"
+ msgstr "Guardias múltiples de include pueden ser útiles para:\n"
+
+@@ -745,122 +750,122 @@
+ ",\n"
+ " de %s:%u"
+
+-#: macro.c:84
++#: macro.c:87
+ #, c-format
+ msgid "macro \"%s\" is not used"
+ msgstr "la macro \"%s\" no se utiliza"
+
+-#: macro.c:123 macro.c:319
++#: macro.c:126 macro.c:322
+ #, c-format
+ msgid "invalid built-in macro \"%s\""
+ msgstr "macro interna \"%s\" inválida"
+
+-#: macro.c:157
++#: macro.c:160
+ msgid "could not determine file timestamp"
+ msgstr "no se puede determinar la marca de fecha del fichero"
+
+-#: macro.c:254
++#: macro.c:257
+ msgid "could not determine date and time"
+ msgstr "no se puede determinar la fecha y la hora"
+
+-#: macro.c:270
++#: macro.c:273
+ msgid "__COUNTER__ expanded inside directive with -fdirectives-only"
+ msgstr "se expande __COUNTER__ dentro de una directiva con -fdirectives-only"
+
+-#: macro.c:423
++#: macro.c:426
+ msgid "invalid string literal, ignoring final '\\'"
+ msgstr "cadena literal inválida, se ignora el '\\' final"
+
+-#: macro.c:483
++#: macro.c:486
+ #, c-format
+ msgid "pasting \"%s\" and \"%s\" does not give a valid preprocessing token"
+ msgstr "pegar \"%s\" y \"%s\" no da un elemento válido de preprocesamiento"
+
+-#: macro.c:558
++#: macro.c:561
+ msgid "ISO C99 requires rest arguments to be used"
+ msgstr "ISO C99 requiere que el resto de los argumentos sea usado"
+
+-#: macro.c:563
++#: macro.c:566
+ #, c-format
+ msgid "macro \"%s\" requires %u arguments, but only %u given"
+ msgstr "la macro \"%s\" requiere %u argumentos, pero solo se proporcionan %u"
+
+-#: macro.c:568
++#: macro.c:571
+ #, c-format
+ msgid "macro \"%s\" passed %u arguments, but takes just %u"
+ msgstr "la macro \"%s\" recibió %u argumentos, pero solamente tomó %u"
+
+-#: macro.c:679 traditional.c:680
++#: macro.c:730 traditional.c:680
+ #, c-format
+ msgid "unterminated argument list invoking macro \"%s\""
+ msgstr "lista de argumentos sin terminar al invocar la macro \"%s\""
+
+-#: macro.c:782
++#: macro.c:840
+ #, c-format
+ msgid "function-like macro \"%s\" must be used with arguments in traditional C"
+ msgstr "la función de macro \"%s\" se debe usar con argumentos en C tradicional"
+
+-#: macro.c:1325
++#: macro.c:1408
+ #, c-format
+ msgid "duplicate macro parameter \"%s\""
+ msgstr "parámetro de macro \"%s\" duplicado"
+
+-#: macro.c:1371
++#: macro.c:1454
+ #, c-format
+ msgid "\"%s\" may not appear in macro parameter list"
+ msgstr "\"%s\" podría faltar en la lista de parámetro de macro"
+
+-#: macro.c:1379
++#: macro.c:1462
+ msgid "macro parameters must be comma-separated"
+ msgstr "los parámetros de macro deben ser separados por comas"
+
+-#: macro.c:1396
++#: macro.c:1479
+ msgid "parameter name missing"
+ msgstr "falta el nombre del parámetro"
+
+-#: macro.c:1413
++#: macro.c:1496
+ msgid "anonymous variadic macros were introduced in C99"
+ msgstr "los macros variadic anónimos se introdujeron en C99"
+
+-#: macro.c:1418
++#: macro.c:1501
+ msgid "ISO C does not permit named variadic macros"
+ msgstr "ISO C no permite macros variadic nombrados"
+
+-#: macro.c:1427
++#: macro.c:1510
+ msgid "missing ')' in macro parameter list"
+ msgstr "falta paréntesis derecho en la lista de parámetros de macro"
+
+-#: macro.c:1476
++#: macro.c:1559
+ msgid "'##' cannot appear at either end of a macro expansion"
+ msgstr "'##' no puede aparece en o al final de una expansión de macro"
+
+-#: macro.c:1510
++#: macro.c:1593
+ msgid "ISO C99 requires whitespace after the macro name"
+ msgstr "ISO C99 requiere espacios en blanco después del nombre de macro"
+
+-#: macro.c:1534
++#: macro.c:1617
+ msgid "missing whitespace after the macro name"
+ msgstr "faltan espacios en blanco después del nombre de macro"
+
+-#: macro.c:1564
++#: macro.c:1647
+ msgid "'#' is not followed by a macro parameter"
+ msgstr "'#' no es seguido por un parámetro de macro"
+
+-#: macro.c:1683
++#: macro.c:1766
+ #, c-format
+ msgid "\"%s\" redefined"
+ msgstr "se redefinió \"%s\""
+
+-#: macro.c:1688
++#: macro.c:1771
+ msgid "this is the location of the previous definition"
+ msgstr "esta es la ubicación de la definición previa"
+
+-#: macro.c:1738
++#: macro.c:1828
+ #, c-format
+ msgid "macro argument \"%s\" would be stringified in traditional C"
+ msgstr "el argumento de macro \"%s\" debería ser convertido a cadena en C tradicional"
+
+-#: macro.c:1761
++#: macro.c:1851
+ #, c-format
+ msgid "invalid hash type %d in cpp_macro_definition"
+ msgstr "tipo de hash %d inválido en cpp_macro_definition"
+@@ -898,7 +903,7 @@
+ msgid "detected recursion whilst expanding macro \"%s\""
+ msgstr "se detectó recursión al expandir la macro \"%s\""
+
+-#: traditional.c:917
++#: traditional.c:968
+ msgid "syntax error in macro parameter list"
+ msgstr "error de sintaxis en la lista de parámetros de macro"
+
+Index: libcpp/po/nl.po
+===================================================================
+--- libcpp/po/nl.po (.../tags/gcc_4_3_0_release) (revision 133808)
++++ libcpp/po/nl.po (.../branches/gcc-4_3-branch) (revision 133808)
+@@ -1,13 +1,14 @@
+ # Dutch messages for cpplib.
+-# Copyright (C) 1999, 2000, 2002, 2003, 2005, 2007 Free Software Foundation, Inc.
+-# Tim Van Holder <tim.van.holder@telenet.be>, 2007.
++# Copyright (C) 1999, 2000, 2002, 2003, 2005, 2007, 2008 Free Software Foundation, Inc.
++# This file is distributed under the same license as the gcc package.
++# Tim Van Holder <tim.van.holder@telenet.be>, 2008.
+ #
+ msgid ""
+ msgstr ""
+-"Project-Id-Version: cpplib 4.3-b20071109\n"
++"Project-Id-Version: cpplib 4.3.0\n"
+ "Report-Msgid-Bugs-To: http://gcc.gnu.org/bugs.html\n"
+-"POT-Creation-Date: 2007-11-08 21:08+0000\n"
+-"PO-Revision-Date: 2007-11-10 17:28+0100\n"
++"POT-Creation-Date: 2008-02-01 16:21+0000\n"
++"PO-Revision-Date: 2008-03-18 20:16+0100\n"
+ "Last-Translator: Tim Van Holder <tim.van.holder@telenet.be>\n"
+ "Language-Team: Dutch <vertaling@vrijschrift.org>\n"
+ "MIME-Version: 1.0\n"
+@@ -15,138 +16,138 @@
+ "Content-Transfer-Encoding: 8bit\n"
+ "Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+-#: charset.c:654
++#: charset.c:671
+ #, c-format
+ msgid "conversion from %s to %s not supported by iconv"
+ msgstr "iconv ondersteunt geen omzetting van %s naar %s"
+
+-#: charset.c:657
++#: charset.c:674
+ msgid "iconv_open"
+ msgstr "iconv_open"
+
+-#: charset.c:665
++#: charset.c:682
+ #, c-format
+ msgid "no iconv implementation, cannot convert from %s to %s"
+ msgstr "geen implementatie van iconv beschikbaar; kan niet omzetten van %s naar %s"
+
+ # of "tekenset" aangezien character door "teken" vertaald wordt?
+-#: charset.c:742
++#: charset.c:759
+ #, c-format
+ msgid "character 0x%lx is not in the basic source character set\n"
+ msgstr "teken 0x%lx maakt geen deel uit van de basis bronkarakterset\n"
+
+-#: charset.c:759 charset.c:1352
++#: charset.c:776 charset.c:1369
+ msgid "converting to execution character set"
+ msgstr "omzetting naar uitvoeringskarakterset"
+
+-#: charset.c:765
++#: charset.c:782
+ #, c-format
+ msgid "character 0x%lx is not unibyte in execution character set"
+ msgstr "teken 0x%lx is niet unibyte in de uitvoeringskarakterset"
+
+-#: charset.c:889
++#: charset.c:906
+ #, c-format
+ msgid "Character %x might not be NFKC"
+ msgstr "Teken %x is misschien niet NFKC"
+
+-#: charset.c:949
++#: charset.c:966
+ msgid "universal character names are only valid in C++ and C99"
+ msgstr "universele tekennamen zijn enkel geldig in C++ en C99"
+
+-#: charset.c:952
++#: charset.c:969
+ #, c-format
+ msgid "the meaning of '\\%c' is different in traditional C"
+ msgstr "de betekenis van '\\%c' is anders in traditionele C"
+
+-#: charset.c:961
++#: charset.c:978
+ msgid "In _cpp_valid_ucn but not a UCN"
+ msgstr "In _cpp_valid_ucn maar het is geen UCN"
+
+-#: charset.c:986
++#: charset.c:1003
+ #, c-format
+ msgid "incomplete universal character name %.*s"
+ msgstr "onvolledige universele tekennaam %.*s"
+
+-#: charset.c:998
++#: charset.c:1015
+ #, c-format
+ msgid "%.*s is not a valid universal character"
+ msgstr "%.*s is geen geldige universele tekennaam"
+
+-#: charset.c:1008 lex.c:484
++#: charset.c:1025 lex.c:484
+ msgid "'$' in identifier or number"
+ msgstr "'$' in naam of getal"
+
+ # "identifier" is een verdomd rottig woord om te vertalen...
+-#: charset.c:1018
++#: charset.c:1035
+ #, c-format
+ msgid "universal character %.*s is not valid in an identifier"
+ msgstr "universeel teken %.*s is niet geldig in een naam"
+
+-#: charset.c:1022
++#: charset.c:1039
+ #, c-format
+ msgid "universal character %.*s is not valid at the start of an identifier"
+ msgstr "universeel teken %.*s is niet geldig aan het begin van een naam"
+
+-#: charset.c:1056 charset.c:1571
++#: charset.c:1073 charset.c:1588
+ msgid "converting UCN to source character set"
+ msgstr "omzetting van UCN naar bronkarakterset"
+
+-#: charset.c:1060
++#: charset.c:1077
+ msgid "converting UCN to execution character set"
+ msgstr "omzetting van UCN naar uitvoeringskarakterset"
+
+-#: charset.c:1132
++#: charset.c:1149
+ msgid "the meaning of '\\x' is different in traditional C"
+ msgstr "de betekenis van '\\x' is anders in traditionele C"
+
+-#: charset.c:1149
++#: charset.c:1166
+ msgid "\\x used with no following hex digits"
+ msgstr "\\x gebruikt zonder daaropvolgende hexadecimale cijfers"
+
+-#: charset.c:1156
++#: charset.c:1173
+ msgid "hex escape sequence out of range"
+ msgstr "hexadecimale escape sequence buiten bereik"
+
+-#: charset.c:1195
++#: charset.c:1212
+ msgid "octal escape sequence out of range"
+ msgstr "octale escape sequence buiten bereik"
+
+-#: charset.c:1263
++#: charset.c:1280
+ msgid "the meaning of '\\a' is different in traditional C"
+ msgstr "de betekenis van '\\a' is anders in traditionele C"
+
+-#: charset.c:1270
++#: charset.c:1287
+ #, c-format
+ msgid "non-ISO-standard escape sequence, '\\%c'"
+ msgstr "escape sequence '\\%c' is niet ISO-standaard"
+
+-#: charset.c:1278
++#: charset.c:1295
+ #, c-format
+ msgid "unknown escape sequence '\\%c'"
+ msgstr "onbekende escape sequence '\\%c'"
+
+-#: charset.c:1286
++#: charset.c:1303
+ #, c-format
+ msgid "unknown escape sequence: '\\%s'"
+ msgstr "onbekende escape sequence '\\%s'"
+
+-#: charset.c:1293
++#: charset.c:1310
+ msgid "converting escape sequence to execution character set"
+ msgstr "omzetting van escape sequence naar uitvoeringskarakterset"
+
+-#: charset.c:1415 charset.c:1478
++#: charset.c:1432 charset.c:1495
+ msgid "character constant too long for its type"
+ msgstr "karakterconstante te lang voor zijn type"
+
+-#: charset.c:1418
++#: charset.c:1435
+ msgid "multi-character character constant"
+ msgstr "karakterconstante bevat meerdere karakters"
+
+-#: charset.c:1510
++#: charset.c:1527
+ msgid "empty character constant"
+ msgstr "lege karakterconstante"
+
+-#: charset.c:1612
++#: charset.c:1629
+ #, c-format
+ msgid "failure to convert %s to %s"
+ msgstr "fout bij omzetten van %s naar %s"
+@@ -242,147 +243,151 @@
+ msgstr "ongeldige vlag \"%s\" in #line commando"
+
+ #: directives.c:868
++msgid "unexpected end of file after #line"
++msgstr "onverwacht einde van bestand na #line"
++
++#: directives.c:871
+ #, c-format
+ msgid "\"%s\" after #line is not a positive integer"
+ msgstr "\"%s\" (na #line) is geen positieve integer"
+
+-#: directives.c:874
++#: directives.c:877
+ msgid "line number out of range"
+ msgstr "regelnummer buiten bereik"
+
+-#: directives.c:887 directives.c:964
++#: directives.c:890 directives.c:969
+ #, c-format
+ msgid "\"%s\" is not a valid filename"
+ msgstr "\"%s\" is geen geldige bestandsnaam"
+
+-#: directives.c:924
++#: directives.c:929
+ #, c-format
+ msgid "\"%s\" after # is not a positive integer"
+ msgstr "\"%s\" (na #) is geen positieve integer"
+
+-#: directives.c:1026
++#: directives.c:1031
+ #, c-format
+ msgid "invalid #%s directive"
+ msgstr "ongeldig #%s commando"
+
+ # goede vertaling voor 'mismatched'?
+-#: directives.c:1089
++#: directives.c:1094
+ #, c-format
+ msgid "registering pragmas in namespace \"%s\" with mismatched name expansion"
+ msgstr "registratie van pragmas in namespace \"%s\" met niet-overeenkomstige naamexpansie"
+
+ # moet namespace hier ook vertaald worden?
+-#: directives.c:1098
++#: directives.c:1103
+ #, c-format
+ msgid "registering pragma \"%s\" with name expansion and no namespace"
+ msgstr "registratie van pragma \"%s\" met naamexpansie maar geen namespace"
+
+ # moet namespace hier ook vertaald worden?
+-#: directives.c:1116
++#: directives.c:1121
+ #, c-format
+ msgid "registering \"%s\" as both a pragma and a pragma namespace"
+ msgstr "registratie van \"%s\" zowel als pragma en als pragma-namespace"
+
+-#: directives.c:1119
++#: directives.c:1124
+ #, c-format
+ msgid "#pragma %s %s is already registered"
+ msgstr "#pragma %s %s is reeds geregistreerd"
+
+-#: directives.c:1122
++#: directives.c:1127
+ #, c-format
+ msgid "#pragma %s is already registered"
+ msgstr "#pragma %s is reeds geregistreerd"
+
+ # betere vertaling voor 'handler'?
+-#: directives.c:1152
++#: directives.c:1157
+ msgid "registering pragma with NULL handler"
+ msgstr "registratie van pragma met NULL als afhandelingsroutine"
+
+-#: directives.c:1362
++#: directives.c:1367
+ msgid "#pragma once in main file"
+ msgstr "#pragma once in hoofdbestand"
+
+-#: directives.c:1385
++#: directives.c:1390
+ msgid "invalid #pragma GCC poison directive"
+ msgstr "ongeldig #pragma GCC poison commando"
+
+-#: directives.c:1394
++#: directives.c:1399
+ #, c-format
+ msgid "poisoning existing macro \"%s\""
+ msgstr "bestaande macro \"%s\" wordt 'vergiftigd'"
+
+-#: directives.c:1413
++#: directives.c:1418
+ msgid "#pragma system_header ignored outside include file"
+ msgstr "#pragma system_header wordt genegeerd buiten een invoegbestand"
+
+-#: directives.c:1437
++#: directives.c:1442
+ #, c-format
+ msgid "cannot find source file %s"
+ msgstr "kan bronbestand %s niet vinden"
+
+-#: directives.c:1441
++#: directives.c:1446
+ #, c-format
+ msgid "current file is older than %s"
+ msgstr "huidig bestand is ouder dan %s"
+
+-#: directives.c:1620
++#: directives.c:1625
+ msgid "_Pragma takes a parenthesized string literal"
+ msgstr "_Pragma verwacht een stringconstante tussen haakjes als argument"
+
+-#: directives.c:1693
++#: directives.c:1698
+ msgid "#else without #if"
+ msgstr "#else zonder #if"
+
+-#: directives.c:1698
++#: directives.c:1703
+ msgid "#else after #else"
+ msgstr "#else na #else"
+
+ # of gewoon "de conditie"?
+-#: directives.c:1700 directives.c:1733
++#: directives.c:1705 directives.c:1738
+ msgid "the conditional began here"
+ msgstr "het conditionele blok begon hier"
+
+-#: directives.c:1726
++#: directives.c:1731
+ msgid "#elif without #if"
+ msgstr "#elif zonder #if"
+
+-#: directives.c:1731
++#: directives.c:1736
+ msgid "#elif after #else"
+ msgstr "#elif na #else"
+
+-#: directives.c:1761
++#: directives.c:1766
+ msgid "#endif without #if"
+ msgstr "#endif zonder #if"
+
+-#: directives.c:1838
++#: directives.c:1843
+ msgid "missing '(' after predicate"
+ msgstr "'(' ontbreekt na predicaat"
+
+-#: directives.c:1853
++#: directives.c:1858
+ msgid "missing ')' to complete answer"
+ msgstr "')' ontbreekt als afronding van het antwoord"
+
+-#: directives.c:1873
++#: directives.c:1878
+ msgid "predicate's answer is empty"
+ msgstr "antwoord van het predicaat is leeg"
+
+ # dit moet beter kunnen...
+-#: directives.c:1900
++#: directives.c:1905
+ msgid "assertion without predicate"
+ msgstr "assertie zonder predicaat"
+
+ # ... dit klinkt echt niet - maar wat is hier een beter vertaling voor identifier?
+-#: directives.c:1902
++#: directives.c:1907
+ msgid "predicate must be an identifier"
+ msgstr "predicaat moet een naam zijn"
+
+ # is "asserteren" wel een echt woord?
+-#: directives.c:1988
++#: directives.c:1993
+ #, c-format
+ msgid "\"%s\" re-asserted"
+ msgstr "\"%s\" opnieuw geasserteerd"
+
+-#: directives.c:2271
++#: directives.c:2276
+ #, c-format
+ msgid "unterminated #%s"
+ msgstr "niet-beëindigde #%s"
+@@ -603,40 +608,40 @@
+ msgid "division by zero in #if"
+ msgstr "deling door nul in `#if'"
+
+-#: files.c:442
++#: files.c:458
+ msgid "NULL directory in find_file"
+ msgstr "directory is NULL in find_file"
+
+-#: files.c:480
++#: files.c:496
+ msgid "one or more PCH files were found, but they were invalid"
+ msgstr "een of meer PCH bestanden werden gevonden, maar ze waren ongeldig"
+
+-#: files.c:483
++#: files.c:499
+ msgid "use -Winvalid-pch for more information"
+ msgstr "gebruik -Winvalid-pch voor meer informatie"
+
+-#: files.c:570
++#: files.c:589
+ #, c-format
+ msgid "%s is a block device"
+ msgstr "%s is een blokapparaat"
+
+-#: files.c:587
++#: files.c:606
+ #, c-format
+ msgid "%s is too large"
+ msgstr "%s is te groot"
+
+-#: files.c:622
++#: files.c:641
+ #, c-format
+ msgid "%s is shorter than expected"
+ msgstr "%s is korter dan verwacht"
+
+-#: files.c:852
++#: files.c:872
+ #, c-format
+ msgid "no include path in which to search for %s"
+ msgstr "geen invoegpad waarin naar %s gezocht kan worden"
+
+ # goede vertaling voor "include guard"?
+-#: files.c:1157
++#: files.c:1238
+ msgid "Multiple include guards may be useful for:\n"
+ msgstr "Meerdere invoegbeschermingen zouden nuttig kunnen zijn voor:\n"
+
+@@ -765,125 +770,125 @@
+ ",\n"
+ " vanuit %s:%u"
+
+-#: macro.c:84
++#: macro.c:87
+ #, c-format
+ msgid "macro \"%s\" is not used"
+ msgstr "macro \"%s\" wordt nergens gebruikt"
+
+-#: macro.c:123 macro.c:319
++#: macro.c:126 macro.c:322
+ #, c-format
+ msgid "invalid built-in macro \"%s\""
+ msgstr "ongeldige ingebouwde macro \"%s\""
+
+ # betere vertaling voor 'timestamp'?
+-#: macro.c:157
++#: macro.c:160
+ msgid "could not determine file timestamp"
+ msgstr "kan tijdsinformatie van bestand niet bepalen"
+
+-#: macro.c:254
++#: macro.c:257
+ msgid "could not determine date and time"
+ msgstr "kan datum en tijd niet bepalen"
+
+-#: macro.c:270
++#: macro.c:273
+ msgid "__COUNTER__ expanded inside directive with -fdirectives-only"
+ msgstr "expansie van __COUNTER__ binnenin commando terwijl -fdirectives-only opgegeven is"
+
+-#: macro.c:423
++#: macro.c:426
+ msgid "invalid string literal, ignoring final '\\'"
+ msgstr "ongeldige stringconstante, laatste '\\' wordt genegeerd"
+
+-#: macro.c:483
++#: macro.c:486
+ #, c-format
+ msgid "pasting \"%s\" and \"%s\" does not give a valid preprocessing token"
+ msgstr "\"%s\" en \"%s\" aan elkaar plakken levert geen geldig preprocessing token op"
+
+ # "rest arguments"?
+-#: macro.c:558
++#: macro.c:561
+ msgid "ISO C99 requires rest arguments to be used"
+ msgstr "ISO C99 verplicht het gebruik van restargumenten"
+
+-#: macro.c:563
++#: macro.c:566
+ #, c-format
+ msgid "macro \"%s\" requires %u arguments, but only %u given"
+ msgstr "macro \"%s\" vereist %u argumenten, maar er werden er slechts %u opgegeven"
+
+-#: macro.c:568
++#: macro.c:571
+ #, c-format
+ msgid "macro \"%s\" passed %u arguments, but takes just %u"
+ msgstr "macro \"%s\" kreeg %u argumenten, maar heeft er slechts %u nodig"
+
+-#: macro.c:679 traditional.c:680
++#: macro.c:730 traditional.c:680
+ #, c-format
+ msgid "unterminated argument list invoking macro \"%s\""
+ msgstr "niet-beëindigde argumentenlijst bij oproep van macro \"%s\""
+
+-#: macro.c:782
++#: macro.c:840
+ #, c-format
+ msgid "function-like macro \"%s\" must be used with arguments in traditional C"
+ msgstr "functie-achtige macro \"%s\" moet in traditionele C altijd met argumenten gebruikt worden"
+
+-#: macro.c:1325
++#: macro.c:1408
+ #, c-format
+ msgid "duplicate macro parameter \"%s\""
+ msgstr "herhaalde macro-parameter \"%s\""
+
+-#: macro.c:1371
++#: macro.c:1454
+ #, c-format
+ msgid "\"%s\" may not appear in macro parameter list"
+ msgstr "\"%s\" mag niet voorkomen in lijst van macro-parameters"
+
+-#: macro.c:1379
++#: macro.c:1462
+ msgid "macro parameters must be comma-separated"
+ msgstr "macro-parameters moet door komma's gescheiden worden"
+
+-#: macro.c:1396
++#: macro.c:1479
+ msgid "parameter name missing"
+ msgstr "parameternaam weggelaten"
+
+-#: macro.c:1413
++#: macro.c:1496
+ msgid "anonymous variadic macros were introduced in C99"
+ msgstr "anonieme variadische macros werden door C99 ingevoerd"
+
+ # variadic? " met variabele argumentenlijst" is nogal lang...
+-#: macro.c:1418
++#: macro.c:1501
+ msgid "ISO C does not permit named variadic macros"
+ msgstr "ISO C staat het gebruik benoemde variadische macro's niet toe"
+
+-#: macro.c:1427
++#: macro.c:1510
+ msgid "missing ')' in macro parameter list"
+ msgstr "')' ontbreekt in lijst van macro-parameters"
+
+-#: macro.c:1476
++#: macro.c:1559
+ msgid "'##' cannot appear at either end of a macro expansion"
+ msgstr "'##' mag niet voorkomen aan het begin of einde van een macro-expansie"
+
+-#: macro.c:1510
++#: macro.c:1593
+ msgid "ISO C99 requires whitespace after the macro name"
+ msgstr "ISO C99 vereist witruimte na de macronaam"
+
+-#: macro.c:1534
++#: macro.c:1617
+ msgid "missing whitespace after the macro name"
+ msgstr "witruimte ontbreekt na de macronaam"
+
+-#: macro.c:1564
++#: macro.c:1647
+ msgid "'#' is not followed by a macro parameter"
+ msgstr "'#' wordt niet gevolgd door de naam van een macro-parameter"
+
+-#: macro.c:1683
++#: macro.c:1766
+ #, c-format
+ msgid "\"%s\" redefined"
+ msgstr "\"%s\" opnieuw gedefinieerd"
+
+-#: macro.c:1688
++#: macro.c:1771
+ msgid "this is the location of the previous definition"
+ msgstr "dit is de locatie van de eerdere definitie"
+
+-#: macro.c:1738
++#: macro.c:1828
+ #, c-format
+ msgid "macro argument \"%s\" would be stringified in traditional C"
+ msgstr "macro-argument \"%s\" zou string gemaakt worden in traditionele C"
+
+-#: macro.c:1761
++#: macro.c:1851
+ #, c-format
+ msgid "invalid hash type %d in cpp_macro_definition"
+ msgstr "ongeldig hashtype %d in cpp_macro_definition"
+@@ -921,6 +926,6 @@
+ msgid "detected recursion whilst expanding macro \"%s\""
+ msgstr "recursie gedetecteerd bij uitbreiden van macro \"%s\""
+
+-#: traditional.c:917
++#: traditional.c:968
+ msgid "syntax error in macro parameter list"
+ msgstr "syntaxfout in lijst van macro-parameters"
+Index: libcpp/po/ChangeLog
+===================================================================
+--- libcpp/po/ChangeLog (.../tags/gcc_4_3_0_release) (revision 133808)
++++ libcpp/po/ChangeLog (.../branches/gcc-4_3-branch) (revision 133808)
+@@ -1,3 +1,33 @@
++2008-03-28 Joseph S. Myers <joseph@codesourcery.com>
++
++ * fr.po: Update.
++
++2008-03-20 Joseph S. Myers <joseph@codesourcery.com>
++
++ * vi.po: Update.
++
++2008-03-18 Joseph S. Myers <joseph@codesourcery.com>
++
++ * es.po, nl.po: Update.
++
++2008-03-15 Joseph S. Myers <joseph@codesourcery.com>
++
++ * zh_CN.po: Update.
++
++2008-03-15 Joseph S. Myers <joseph@codesourcery.com>
++
++ * de.po: Update.
++
++2008-03-14 Joseph S. Myers <joseph@codesourcery.com>
++
++ * sv.po: Update.
++
++2008-03-14 Joseph S. Myers <joseph@codesourcery.com>
++
++ * rw.po: Remove.
++ * be.po, ca.po, da.po, de.po, el.po, es.po, fr.po, ja.po, nl.po,
++ sv.po, tr.po, uk,po, vi.po, zh_CN.po, zh_TW.po: Update.
++
+ 2008-03-05 Release Manager
+
+ * GCC 4.3.0 released.
+Index: libcpp/po/vi.po
+===================================================================
+--- libcpp/po/vi.po (.../tags/gcc_4_3_0_release) (revision 133808)
++++ libcpp/po/vi.po (.../branches/gcc-4_3-branch) (revision 133808)
+@@ -1,150 +1,151 @@
+ # Vietnamese translation for CPPlib.
+-# Copyright © 2007 Free Software Foundation, Inc.
+-# Clytie Siddall <clytie@riverland.net.au>, 2005-2007.
++# Copyright © 2008 Free Software Foundation, Inc.
++# This file is distributed under the same license as the cpplib-4.3.0 package.
++# Clytie Siddall <clytie@riverland.net.au>, 2005-2008.
+ msgid ""
+ msgstr ""
+-"Project-Id-Version: cpplib 4.3-b20071109\n"
++"Project-Id-Version: cpplib 4.3.0\n"
+ "Report-Msgid-Bugs-To: http://gcc.gnu.org/bugs.html\n"
+-"POT-Creation-Date: 2007-11-08 21:08+0000\n"
+-"PO-Revision-Date: 2007-11-30 23:15+1030\n"
++"POT-Creation-Date: 2008-02-01 16:21+0000\n"
++"PO-Revision-Date: 2008-03-20 19:43+1030\n"
+ "Last-Translator: Clytie Siddall <clytie@riverland.net.au>\n"
+ "Language-Team: Vietnamese <vi-VN@googlegroups.com>\n"
+ "MIME-Version: 1.0\n"
+ "Content-Type: text/plain; charset=utf-8\n"
+ "Content-Transfer-Encoding: 8bit\n"
+ "Plural-Forms: nplurals=1; plural=0\n"
+-"X-Generator: LocFactoryEditor 1.7b1\n"
++"X-Generator: LocFactoryEditor 1.7b3\n"
+
+-#: charset.c:654
++#: charset.c:671
+ #, c-format
+ msgid "conversion from %s to %s not supported by iconv"
+ msgstr "iconv không hỗ trợ khả năng chuyển đổi từ %s sang %s"
+
+-#: charset.c:657
++#: charset.c:674
+ msgid "iconv_open"
+ msgstr "iconv_open (mở)"
+
+-#: charset.c:665
++#: charset.c:682
+ #, c-format
+ msgid "no iconv implementation, cannot convert from %s to %s"
+ msgstr "chưa thi hành iconv nên không thể chuyển đổi từ %s sang %s"
+
+-#: charset.c:742
++#: charset.c:759
+ #, c-format
+ msgid "character 0x%lx is not in the basic source character set\n"
+ msgstr "ký tự 0x%lx không phải nằm trong bộ ký tự nguồn cơ bản\n"
+
+-#: charset.c:759 charset.c:1352
++#: charset.c:776 charset.c:1369
+ msgid "converting to execution character set"
+ msgstr "đang chuyển đổi sang bộ ký tự thi hành"
+
+-#: charset.c:765
++#: charset.c:782
+ #, c-format
+ msgid "character 0x%lx is not unibyte in execution character set"
+ msgstr "ký tự 0x%lx không có dạng byte đơn trong bộ ký tự thi hành"
+
+-#: charset.c:889
++#: charset.c:906
+ #, c-format
+ msgid "Character %x might not be NFKC"
+ msgstr "Ký tự %x có lẽ không phải có kiểu NFKC"
+
+-#: charset.c:949
++#: charset.c:966
+ msgid "universal character names are only valid in C++ and C99"
+ msgstr "tên ký tự chung là hợp lệ chỉ trong ngôn ngữ C++ và C99"
+
+-#: charset.c:952
++#: charset.c:969
+ #, c-format
+ msgid "the meaning of '\\%c' is different in traditional C"
+ msgstr "« \\%c » có nghÄ©a khác trong ngôn ngữ C truyá»n thống"
+
+-#: charset.c:961
++#: charset.c:978
+ msgid "In _cpp_valid_ucn but not a UCN"
+ msgstr "Trong « _cpp_valid_ucn » nhưng mà không phải lả một UCN"
+
+-#: charset.c:986
++#: charset.c:1003
+ #, c-format
+ msgid "incomplete universal character name %.*s"
+ msgstr "tên ký tự chung %.*s chưa hoàn thành"
+
+-#: charset.c:998
++#: charset.c:1015
+ #, c-format
+ msgid "%.*s is not a valid universal character"
+ msgstr "%.*s không phải là ký tự chung hợp lệ"
+
+-#: charset.c:1008 lex.c:484
++#: charset.c:1025 lex.c:484
+ msgid "'$' in identifier or number"
+ msgstr "gặp « $ » trong bộ nhận hiện hay con số"
+
+-#: charset.c:1018
++#: charset.c:1035
+ #, c-format
+ msgid "universal character %.*s is not valid in an identifier"
+ msgstr "ký tự chung %.*s không phải là hợp lệ trong bộ nhận diện"
+
+-#: charset.c:1022
++#: charset.c:1039
+ #, c-format
+ msgid "universal character %.*s is not valid at the start of an identifier"
+ msgstr "ký tự chung %.*s không phải hợp lệ tại đầu của bộ nhận diện"
+
+-#: charset.c:1056 charset.c:1571
++#: charset.c:1073 charset.c:1588
+ msgid "converting UCN to source character set"
+ msgstr "đang chuyển đổi UCN sang bộ ký tự nguồn"
+
+-#: charset.c:1060
++#: charset.c:1077
+ msgid "converting UCN to execution character set"
+ msgstr "đang chuyển đổi UCN sang bộ ký tự thi hành"
+
+-#: charset.c:1132
++#: charset.c:1149
+ msgid "the meaning of '\\x' is different in traditional C"
+ msgstr "« \\x » có nghÄ©a khác trong ngôn ngữ C truyá»n thống"
+
+-#: charset.c:1149
++#: charset.c:1166
+ msgid "\\x used with no following hex digits"
+ msgstr "\\x được dùng còn không có chữ số thâp lục theo sau"
+
+-#: charset.c:1156
++#: charset.c:1173
+ msgid "hex escape sequence out of range"
+ msgstr "dãy thoát thập lục ở ngoài phạm vi"
+
+-#: charset.c:1195
++#: charset.c:1212
+ msgid "octal escape sequence out of range"
+ msgstr "dãy thoát bát phân ở ngoài phạm vi"
+
+-#: charset.c:1263
++#: charset.c:1280
+ msgid "the meaning of '\\a' is different in traditional C"
+ msgstr "« \\a » có nghÄ©a khác trong ngôn ngữ C truyá»n thống"
+
+-#: charset.c:1270
++#: charset.c:1287
+ #, c-format
+ msgid "non-ISO-standard escape sequence, '\\%c'"
+ msgstr "dãy thoát khác ISO chuẩn: « \\%c »"
+
+-#: charset.c:1278
++#: charset.c:1295
+ #, c-format
+ msgid "unknown escape sequence '\\%c'"
+ msgstr "không biết dãy thoát: « \\%c »"
+
+-#: charset.c:1286
++#: charset.c:1303
+ #, c-format
+ msgid "unknown escape sequence: '\\%s'"
+ msgstr "không biết dãy thoát « \\%s »"
+
+-#: charset.c:1293
++#: charset.c:1310
+ msgid "converting escape sequence to execution character set"
+ msgstr "đang chuyển đổi dãy thoát sang bộ ký tự thi hành"
+
+-#: charset.c:1415 charset.c:1478
++#: charset.c:1432 charset.c:1495
+ msgid "character constant too long for its type"
+ msgstr "hằng ký tự quá dài cho kiểu nó"
+
+-#: charset.c:1418
++#: charset.c:1435
+ msgid "multi-character character constant"
+ msgstr "hằng ký tự đa ký tự"
+
+-#: charset.c:1510
++#: charset.c:1527
+ msgid "empty character constant"
+ msgstr "hằng ký tự trống"
+
+-#: charset.c:1612
++#: charset.c:1629
+ #, c-format
+ msgid "failure to convert %s to %s"
+ msgstr "lỗi chuyển đổi %s sang %s"
+@@ -237,139 +238,143 @@
+ msgstr "gặp cỠkhông hợp lệ « %s » nằm trong chỉ thị dòng"
+
+ #: directives.c:868
++msgid "unexpected end of file after #line"
++msgstr "gặp kết thúc tập tin bất thÆ°á»ng đằng sau #line"
++
++#: directives.c:871
+ #, c-format
+ msgid "\"%s\" after #line is not a positive integer"
+ msgstr "« %s » nằm sau « #line » (dòng) không phải là số nguyên dương"
+
+-#: directives.c:874
++#: directives.c:877
+ msgid "line number out of range"
+ msgstr "số hiệu dòng ở ngoài phạm vi"
+
+-#: directives.c:887 directives.c:964
++#: directives.c:890 directives.c:969
+ #, c-format
+ msgid "\"%s\" is not a valid filename"
+ msgstr "« %s » không phải là tên tập tin hợp lệ"
+
+-#: directives.c:924
++#: directives.c:929
+ #, c-format
+ msgid "\"%s\" after # is not a positive integer"
+ msgstr "« %s » nằm sau « # » không phải là số nguyên dương"
+
+-#: directives.c:1026
++#: directives.c:1031
+ #, c-format
+ msgid "invalid #%s directive"
+ msgstr "chỉ thị #%s không hợp lệ"
+
+-#: directives.c:1089
++#: directives.c:1094
+ #, c-format
+ msgid "registering pragmas in namespace \"%s\" with mismatched name expansion"
+ msgstr "việc đăng ký các lệnh mã nguồn Ä‘iá»u khiển trình biên dịch (pragma) trong miá»n tên « %s » sai mở rá»™ng tên "
+
+-#: directives.c:1098
++#: directives.c:1103
+ #, c-format
+ msgid "registering pragma \"%s\" with name expansion and no namespace"
+ msgstr "việc đăng ký lệnh mã nguồn Ä‘iá»u khiển trình biên dịch (pragma) « %s » có mở rá»™ng tên nhÆ°ng không có miá»n tên"
+
+-#: directives.c:1116
++#: directives.c:1121
+ #, c-format
+ msgid "registering \"%s\" as both a pragma and a pragma namespace"
+ msgstr "Ä‘ang đăng ký « %s » là cả lệnh nguồn Ä‘iá»u khiển trình biện dịch (pragma), lẫn miá»n tên của lệnh nguồn Ä‘iá»u khiển trình biên dịch."
+
+-#: directives.c:1119
++#: directives.c:1124
+ #, c-format
+ msgid "#pragma %s %s is already registered"
+ msgstr "« #pragma %s %s » đã được đăng ký"
+
+-#: directives.c:1122
++#: directives.c:1127
+ #, c-format
+ msgid "#pragma %s is already registered"
+ msgstr "« #pragma %s » đã được đăng ký"
+
+-#: directives.c:1152
++#: directives.c:1157
+ msgid "registering pragma with NULL handler"
+ msgstr "việc đăng ký lệnh mã nguồn Ä‘iá»u khiển trình biên dịch (pragma) có bá»™ quản lý vô giá trị (NULL)"
+
+-#: directives.c:1362
++#: directives.c:1367
+ msgid "#pragma once in main file"
+ msgstr "Có « #pragma » một lần trong tập tin chính"
+
+-#: directives.c:1385
++#: directives.c:1390
+ msgid "invalid #pragma GCC poison directive"
+ msgstr "gặp chỉ thị vộ hiệu hóa (poison) GCC « #pragma » không hợp lệ"
+
+-#: directives.c:1394
++#: directives.c:1399
+ #, c-format
+ msgid "poisoning existing macro \"%s\""
+ msgstr "đang vô hiệu hóa vĩ lệnh tồn tại « %s »"
+
+-#: directives.c:1413
++#: directives.c:1418
+ msgid "#pragma system_header ignored outside include file"
+ msgstr "« #pragma system_header » (đầu trang hệ thống) bị bỠqua ở ngoài tập tin bao gồm"
+
+-#: directives.c:1437
++#: directives.c:1442
+ #, c-format
+ msgid "cannot find source file %s"
+ msgstr "không tìm thấy tập tin nguồn %s"
+
+-#: directives.c:1441
++#: directives.c:1446
+ #, c-format
+ msgid "current file is older than %s"
+ msgstr "tập tin hiện thá»i là cÅ© hÆ¡n %s"
+
+-#: directives.c:1620
++#: directives.c:1625
+ msgid "_Pragma takes a parenthesized string literal"
+ msgstr "« _Pragma » nhận một hằng chuỗi được đặt trong ngoặc đơn"
+
+-#: directives.c:1693
++#: directives.c:1698
+ msgid "#else without #if"
+ msgstr "#else (nếu không) không có #if (nếu)"
+
+-#: directives.c:1698
++#: directives.c:1703
+ msgid "#else after #else"
+ msgstr "#else (nếu không) nằm sau #else"
+
+-#: directives.c:1700 directives.c:1733
++#: directives.c:1705 directives.c:1738
+ msgid "the conditional began here"
+ msgstr "bá»™ Ä‘iá»u kiện đã bắt đầu ở đây"
+
+-#: directives.c:1726
++#: directives.c:1731
+ msgid "#elif without #if"
+ msgstr "#elif (nếu không thì nếu) không có #if (nếu)"
+
+-#: directives.c:1731
++#: directives.c:1736
+ msgid "#elif after #else"
+ msgstr "#elif (nếu không thì nếu) nằm sau #else (nếu không)"
+
+-#: directives.c:1761
++#: directives.c:1766
+ msgid "#endif without #if"
+ msgstr "#endif (thôi nếu) không có #if (nếu)"
+
+-#: directives.c:1838
++#: directives.c:1843
+ msgid "missing '(' after predicate"
+ msgstr "thiếu « ( » nằm sau vị ngữ"
+
+-#: directives.c:1853
++#: directives.c:1858
+ msgid "missing ')' to complete answer"
+ msgstr "thiếu « ) » để xong trả lá»i"
+
+-#: directives.c:1873
++#: directives.c:1878
+ msgid "predicate's answer is empty"
+ msgstr "vị ngữ chứa trả lá»i trống"
+
+-#: directives.c:1900
++#: directives.c:1905
+ msgid "assertion without predicate"
+ msgstr "sự khẳng định không có vị ngữ"
+
+-#: directives.c:1902
++#: directives.c:1907
+ msgid "predicate must be an identifier"
+ msgstr "vị ngữ phải là bộ nhận diện"
+
+-#: directives.c:1988
++#: directives.c:1993
+ #, c-format
+ msgid "\"%s\" re-asserted"
+ msgstr "« %s » được khẳng định lại"
+
+-#: directives.c:2271
++#: directives.c:2276
+ #, c-format
+ msgid "unterminated #%s"
+ msgstr "#%s chưa chấm dứt"
+@@ -586,39 +591,39 @@
+ msgid "division by zero in #if"
+ msgstr "chia số không trong #if (nếu)"
+
+-#: files.c:442
++#: files.c:458
+ msgid "NULL directory in find_file"
+ msgstr "thư mục RỖNG trong « find_file » (tìm tập tin)"
+
+-#: files.c:480
++#: files.c:496
+ msgid "one or more PCH files were found, but they were invalid"
+ msgstr "tìm thấy má»™t hay nhiá»u tập tin PCH, nhÆ°ng chúng không hợp lệ"
+
+-#: files.c:483
++#: files.c:499
+ msgid "use -Winvalid-pch for more information"
+ msgstr "hãy thử lệnh « -Winvalid-pch » để tìm thấy thông tin thêm"
+
+-#: files.c:570
++#: files.c:589
+ #, c-format
+ msgid "%s is a block device"
+ msgstr "%s là một thiết bị khối"
+
+-#: files.c:587
++#: files.c:606
+ #, c-format
+ msgid "%s is too large"
+ msgstr "%s quá lớn"
+
+-#: files.c:622
++#: files.c:641
+ #, c-format
+ msgid "%s is shorter than expected"
+ msgstr "ngỠ%s dài hơn"
+
+-#: files.c:852
++#: files.c:872
+ #, c-format
+ msgid "no include path in which to search for %s"
+ msgstr "không có Ä‘Æ°á»ng dẫn bao gồm trong đó có thể tìm kíếm %s"
+
+-#: files.c:1157
++#: files.c:1238
+ msgid "Multiple include guards may be useful for:\n"
+ msgstr "Nhiá»u Ä‘iá»u bảo vệ bao gồm có lẽ hiệu ích cho :\n"
+
+@@ -746,122 +751,122 @@
+ ",\n"
+ " từ %s:%u"
+
+-#: macro.c:84
++#: macro.c:87
+ #, c-format
+ msgid "macro \"%s\" is not used"
+ msgstr "bộ đối số « %s » không được dùng"
+
+-#: macro.c:123 macro.c:319
++#: macro.c:126 macro.c:322
+ #, c-format
+ msgid "invalid built-in macro \"%s\""
+ msgstr "vĩ lệnh có sẳn không hợp lệ « %s »"
+
+-#: macro.c:157
++#: macro.c:160
+ msgid "could not determine file timestamp"
+ msgstr "không thể quyết định nhãn giỠcủa tập tin"
+
+-#: macro.c:254
++#: macro.c:257
+ msgid "could not determine date and time"
+ msgstr "không thể quyết định ngày và giá»"
+
+-#: macro.c:270
++#: macro.c:273
+ msgid "__COUNTER__ expanded inside directive with -fdirectives-only"
+ msgstr "__COUNTER__ đã mở rộng bên trong chỉ thị với « -fdirectives-only »"
+
+-#: macro.c:423
++#: macro.c:426
+ msgid "invalid string literal, ignoring final '\\'"
+ msgstr "Ä‘iá»u nghÄ©a chữ chuá»—i không hợp lệ nên bá» qua « \\ » cuối cùng"
+
+-#: macro.c:483
++#: macro.c:486
+ #, c-format
+ msgid "pasting \"%s\" and \"%s\" does not give a valid preprocessing token"
+ msgstr "việc dán « %s » và « %s » không Ä‘Æ°a ra hiệu bài tiá»n xá»­ lý hợp lệ"
+
+-#: macro.c:558
++#: macro.c:561
+ msgid "ISO C99 requires rest arguments to be used"
+ msgstr "ISO C99 cần đến đối số còn lại trong khối được dùng"
+
+-#: macro.c:563
++#: macro.c:566
+ #, c-format
+ msgid "macro \"%s\" requires %u arguments, but only %u given"
+ msgstr "vĩ lệnh « %s » cần đến %u đối số, nhưng chỉ đưa ra %u thôi"
+
+-#: macro.c:568
++#: macro.c:571
+ #, c-format
+ msgid "macro \"%s\" passed %u arguments, but takes just %u"
+ msgstr "vĩ lệnh « %s » đã gởi %u đối số, nhưng nhận chỉ %u thôi"
+
+-#: macro.c:679 traditional.c:680
++#: macro.c:730 traditional.c:680
+ #, c-format
+ msgid "unterminated argument list invoking macro \"%s\""
+ msgstr "danh sách đối số không được chấm dứt có gá»i vÄ© lệnh « %s »"
+
+-#: macro.c:782
++#: macro.c:840
+ #, c-format
+ msgid "function-like macro \"%s\" must be used with arguments in traditional C"
+ msgstr "vÄ© lệnh giống hàm số « %s » phải được dùng vá»›i đối số trong ngôn ngữ C truyá»n thống"
+
+-#: macro.c:1325
++#: macro.c:1408
+ #, c-format
+ msgid "duplicate macro parameter \"%s\""
+ msgstr "tham số vĩ lệnh trùng « %s »"
+
+-#: macro.c:1371
++#: macro.c:1454
+ #, c-format
+ msgid "\"%s\" may not appear in macro parameter list"
+ msgstr "không cho phép « %s » xuất hiện trong danh sách tham số vĩ lệnh"
+
+-#: macro.c:1379
++#: macro.c:1462
+ msgid "macro parameters must be comma-separated"
+ msgstr "các tham số bộ đối số phải được ngăn cách bởi dấu phẩy"
+
+-#: macro.c:1396
++#: macro.c:1479
+ msgid "parameter name missing"
+ msgstr "thiếu tên tham số"
+
+-#: macro.c:1413
++#: macro.c:1496
+ msgid "anonymous variadic macros were introduced in C99"
+ msgstr "vĩ lệnh biến thiên vô danh đã được giới thiệu trong C99"
+
+-#: macro.c:1418
++#: macro.c:1501
+ msgid "ISO C does not permit named variadic macros"
+ msgstr "ISO C không cho phép vĩ lệnh biến thiên có tên"
+
+-#: macro.c:1427
++#: macro.c:1510
+ msgid "missing ')' in macro parameter list"
+ msgstr "thiếu « ) » trong danh sách tham số bộ đối số"
+
+-#: macro.c:1476
++#: macro.c:1559
+ msgid "'##' cannot appear at either end of a macro expansion"
+ msgstr "không cho phép « ## » nằm hoặc trước hoặc sau sự mở rộng vĩ lệnh"
+
+-#: macro.c:1510
++#: macro.c:1593
+ msgid "ISO C99 requires whitespace after the macro name"
+ msgstr "ISO C99 cần đến khoảng trắng nằm sau tên vĩ lệnh"
+
+-#: macro.c:1534
++#: macro.c:1617
+ msgid "missing whitespace after the macro name"
+ msgstr "thiếu khoảng trắng nằm sau tên vĩ lệnh"
+
+-#: macro.c:1564
++#: macro.c:1647
+ msgid "'#' is not followed by a macro parameter"
+ msgstr "« # » không có tham số vĩ lệnh đi theo"
+
+-#: macro.c:1683
++#: macro.c:1766
+ #, c-format
+ msgid "\"%s\" redefined"
+ msgstr "« %s » đã được xác định lại"
+
+-#: macro.c:1688
++#: macro.c:1771
+ msgid "this is the location of the previous definition"
+ msgstr "đây là vị trí của lá»i xác định trÆ°á»›c"
+
+-#: macro.c:1738
++#: macro.c:1828
+ #, c-format
+ msgid "macro argument \"%s\" would be stringified in traditional C"
+ msgstr "đối số vÄ© lệnh « %s » nên được chuyển đổi thành chuá»—i trong ngôn ngữ C truyá»n thống"
+
+-#: macro.c:1761
++#: macro.c:1851
+ #, c-format
+ msgid "invalid hash type %d in cpp_macro_definition"
+ msgstr "gặp kiểu băm không hợp lệ %d trong « cpp_macro_definition » (lá»i xác định vÄ© lệnh)"
+@@ -899,6 +904,6 @@
+ msgid "detected recursion whilst expanding macro \"%s\""
+ msgstr "đã phát hiện sự đệ qui trong khi mở rộng vĩ lệnh « %s »"
+
+-#: traditional.c:917
++#: traditional.c:968
+ msgid "syntax error in macro parameter list"
+ msgstr "gặp lỗi cú pháp trong danh sách tham số vĩ lệnh"
+Index: libcpp/po/uk.po
+===================================================================
+--- libcpp/po/uk.po (.../tags/gcc_4_3_0_release) (revision 133808)
++++ libcpp/po/uk.po (.../branches/gcc-4_3-branch) (revision 133808)
+@@ -6,7 +6,7 @@
+ msgstr ""
+ "Project-Id-Version: cpplib 4.2.1\n"
+ "Report-Msgid-Bugs-To: http://gcc.gnu.org/bugs.html\n"
+-"POT-Creation-Date: 2007-11-08 21:08+0000\n"
++"POT-Creation-Date: 2008-02-01 16:21+0000\n"
+ "PO-Revision-Date: 2007-08-17 11:23+0300\n"
+ "Last-Translator: Maxim V. Dziumanenko <dziumanenko@gmail.com>\n"
+ "Language-Team: Ukrainian <translation-team-uk@lists.sourceforge.net>\n"
+@@ -15,136 +15,136 @@
+ "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"
+
+-#: charset.c:654
++#: charset.c:671
+ #, c-format
+ msgid "conversion from %s to %s not supported by iconv"
+ msgstr "Ð¿ÐµÑ€ÐµÑ‚Ð²Ð¾Ñ€ÐµÐ½Ð½Ñ Ð· %s у %s не підтримуєтьÑÑ iconv"
+
+-#: charset.c:657
++#: charset.c:674
+ msgid "iconv_open"
+ msgstr "iconv_open"
+
+-#: charset.c:665
++#: charset.c:682
+ #, c-format
+ msgid "no iconv implementation, cannot convert from %s to %s"
+ msgstr "відÑÑƒÑ‚Ð½Ñ Ñ€ÐµÐ°Ð»Ñ–Ð·Ð°Ñ†Ñ–Ñ iconv, не вдаєтьÑÑ Ð¿ÐµÑ€ÐµÑ‚Ð²Ð¾Ñ€Ð¸Ñ‚Ð¸ з %s на %s"
+
+-#: charset.c:742
++#: charset.c:759
+ #, c-format
+ msgid "character 0x%lx is not in the basic source character set\n"
+ msgstr "Ñимвол 0x%lx відÑутній у базовому первинному наборі Ñимволів\n"
+
+-#: charset.c:759 charset.c:1352
++#: charset.c:776 charset.c:1369
+ msgid "converting to execution character set"
+ msgstr "Ð¿ÐµÑ€ÐµÑ‚Ð²Ð¾Ñ€ÐµÐ½Ð½Ñ Ð½Ð° виконуваний набір Ñимволів"
+
+-#: charset.c:765
++#: charset.c:782
+ #, c-format
+ msgid "character 0x%lx is not unibyte in execution character set"
+ msgstr "Ñимвол 0x%lx не однобайтовий у виконуваному наборі Ñимволів"
+
+-#: charset.c:889
++#: charset.c:906
+ #, c-format
+ msgid "Character %x might not be NFKC"
+ msgstr "Символ %x може не бути NFKC"
+
+-#: charset.c:949
++#: charset.c:966
+ msgid "universal character names are only valid in C++ and C99"
+ msgstr "універÑальні назви Ñимволів допуÑтимі лише у C++ та C99"
+
+-#: charset.c:952
++#: charset.c:969
+ #, c-format
+ msgid "the meaning of '\\%c' is different in traditional C"
+ msgstr "ÑÐµÐ½Ñ '\\%c' відрізнÑєтьÑÑ Ð²Ñ–Ð´ традиційної мови C"
+
+-#: charset.c:961
++#: charset.c:978
+ msgid "In _cpp_valid_ucn but not a UCN"
+ msgstr "У _cpp_valid_ucn але не UCN"
+
+-#: charset.c:986
++#: charset.c:1003
+ #, c-format
+ msgid "incomplete universal character name %.*s"
+ msgstr "неповна універÑальна назва Ñимволу %.*s"
+
+-#: charset.c:998
++#: charset.c:1015
+ #, c-format
+ msgid "%.*s is not a valid universal character"
+ msgstr "%.*s не Ñ” допуÑтимим універÑальним Ñимволом"
+
+-#: charset.c:1008 lex.c:484
++#: charset.c:1025 lex.c:484
+ msgid "'$' in identifier or number"
+ msgstr "'$' у ідентифікаторі чи чиÑлі"
+
+-#: charset.c:1018
++#: charset.c:1035
+ #, c-format
+ msgid "universal character %.*s is not valid in an identifier"
+ msgstr "універÑальний Ñимвол %.*s не Ñ” допуÑтимим у ідентифікаторі"
+
+-#: charset.c:1022
++#: charset.c:1039
+ #, c-format
+ msgid "universal character %.*s is not valid at the start of an identifier"
+ msgstr "універÑальний Ñимвол %.*s не Ñ” допуÑтимим на початку ідентифікатора"
+
+-#: charset.c:1056 charset.c:1571
++#: charset.c:1073 charset.c:1588
+ msgid "converting UCN to source character set"
+ msgstr "Ð¿ÐµÑ€ÐµÑ‚Ð²Ð¾Ñ€ÐµÐ½Ð½Ñ UCN на первинний набір Ñимволів"
+
+-#: charset.c:1060
++#: charset.c:1077
+ msgid "converting UCN to execution character set"
+ msgstr "Ð¿ÐµÑ€ÐµÑ‚Ð²Ð¾Ñ€ÐµÐ½Ð½Ñ UCN на виконуваний набір Ñимволів"
+
+-#: charset.c:1132
++#: charset.c:1149
+ msgid "the meaning of '\\x' is different in traditional C"
+ msgstr "ÑÐµÐ½Ñ '\\x' відрізнÑєтьÑÑ Ð²Ñ–Ð´ традиційної мови C"
+
+-#: charset.c:1149
++#: charset.c:1166
+ msgid "\\x used with no following hex digits"
+ msgstr "\\x викориÑтовуєтьÑÑ Ð· наÑтупними шіÑтнадцÑтковими цифрами"
+
+-#: charset.c:1156
++#: charset.c:1173
+ msgid "hex escape sequence out of range"
+ msgstr "шіÑтнадцÑткова escape-поÑлідовніÑÑ‚ÑŒ поза межами діапазону"
+
+-#: charset.c:1195
++#: charset.c:1212
+ msgid "octal escape sequence out of range"
+ msgstr "віÑімкова escape-поÑлідовніÑÑ‚ÑŒ поза межами діапазону"
+
+-#: charset.c:1263
++#: charset.c:1280
+ msgid "the meaning of '\\a' is different in traditional C"
+ msgstr "ÑÐµÐ½Ñ '\\a' відрізнÑєтьÑÑ Ð²Ñ–Ð´ традиційної мови C"
+
+-#: charset.c:1270
++#: charset.c:1287
+ #, c-format
+ msgid "non-ISO-standard escape sequence, '\\%c'"
+ msgstr "escape-поÑлідовніÑÑ‚ÑŒ не за Ñтандартом ISO, '\\%c'"
+
+-#: charset.c:1278
++#: charset.c:1295
+ #, c-format
+ msgid "unknown escape sequence '\\%c'"
+ msgstr "Ðевідома escape-поÑлідовніÑÑ‚ÑŒ '\\%c'"
+
+-#: charset.c:1286
++#: charset.c:1303
+ #, c-format
+ msgid "unknown escape sequence: '\\%s'"
+ msgstr "Ðевідома escape-поÑлідовніÑÑ‚ÑŒ: '\\%s'"
+
+-#: charset.c:1293
++#: charset.c:1310
+ msgid "converting escape sequence to execution character set"
+ msgstr "escape-поÑлідовніÑÑ‚ÑŒ перетворюєтьÑÑ Ð½Ð° виконуваний набір Ñимволів"
+
+-#: charset.c:1415 charset.c:1478
++#: charset.c:1432 charset.c:1495
+ msgid "character constant too long for its type"
+ msgstr "Ñимвольна конÑтанта надто довга Ð´Ð»Ñ Ð²ÐºÐ°Ð·Ð°Ð½Ð¾Ð³Ð¾ типу"
+
+-#: charset.c:1418
++#: charset.c:1435
+ msgid "multi-character character constant"
+ msgstr "багатоÑимвольна Ñимвольна конÑтанта"
+
+-#: charset.c:1510
++#: charset.c:1527
+ msgid "empty character constant"
+ msgstr "Ð¿Ð¾Ñ€Ð¾Ð¶Ð½Ñ Ñимвольна конÑтанта"
+
+-#: charset.c:1612
++#: charset.c:1629
+ #, c-format
+ msgid "failure to convert %s to %s"
+ msgstr "помилка при перетворені %s на %s"
+@@ -237,139 +237,143 @@
+ msgstr "некоректна ознака \"%s\" у директиві line"
+
+ #: directives.c:868
++msgid "unexpected end of file after #line"
++msgstr ""
++
++#: directives.c:871
+ #, c-format
+ msgid "\"%s\" after #line is not a positive integer"
+ msgstr "\"%s\" піÑÐ»Ñ #line не Ñ” додатнім цілим чиÑлом"
+
+-#: directives.c:874
++#: directives.c:877
+ msgid "line number out of range"
+ msgstr "номер Ñ€Ñдка за межами діапазону"
+
+-#: directives.c:887 directives.c:964
++#: directives.c:890 directives.c:969
+ #, c-format
+ msgid "\"%s\" is not a valid filename"
+ msgstr "\"%s\" не є коректною назвою файлу"
+
+-#: directives.c:924
++#: directives.c:929
+ #, c-format
+ msgid "\"%s\" after # is not a positive integer"
+ msgstr "\"%s\" піÑÐ»Ñ # не Ñ” додатнім цілим чиÑлом"
+
+-#: directives.c:1026
++#: directives.c:1031
+ #, c-format
+ msgid "invalid #%s directive"
+ msgstr "некоректна директива #%s"
+
+-#: directives.c:1089
++#: directives.c:1094
+ #, c-format
+ msgid "registering pragmas in namespace \"%s\" with mismatched name expansion"
+ msgstr "прагми реєÑтруютьÑÑ Ñƒ проÑторі назв \"%s\" за відÑутноÑÑ‚Ñ– Ñ€Ð¾Ð·ÑˆÐ¸Ñ€ÐµÐ½Ð½Ñ Ð½Ð°Ð·Ð²"
+
+-#: directives.c:1098
++#: directives.c:1103
+ #, c-format
+ msgid "registering pragma \"%s\" with name expansion and no namespace"
+ msgstr "прагма \"%s\" реєÑтруєтьÑÑ Ð· розширеннÑм назви але без проÑтору назви"
+
+-#: directives.c:1116
++#: directives.c:1121
+ #, c-format
+ msgid "registering \"%s\" as both a pragma and a pragma namespace"
+ msgstr "\"%s\" реєÑтруєтьÑÑ Ñк прагма та Ñк проÑтрі назв прагм"
+
+-#: directives.c:1119
++#: directives.c:1124
+ #, c-format
+ msgid "#pragma %s %s is already registered"
+ msgstr "#pragma %s %s вже зареєÑтровано"
+
+-#: directives.c:1122
++#: directives.c:1127
+ #, c-format
+ msgid "#pragma %s is already registered"
+ msgstr "#pragma %s вже зареєÑтровано"
+
+-#: directives.c:1152
++#: directives.c:1157
+ msgid "registering pragma with NULL handler"
+ msgstr "реєÑтруєтьÑÑ pragma з NULL-обробником"
+
+-#: directives.c:1362
++#: directives.c:1367
+ msgid "#pragma once in main file"
+ msgstr "#pragma один раз у головному файлі"
+
+-#: directives.c:1385
++#: directives.c:1390
+ msgid "invalid #pragma GCC poison directive"
+ msgstr "некоректна #pragma GCC poison директива"
+
+-#: directives.c:1394
++#: directives.c:1399
+ #, c-format
+ msgid "poisoning existing macro \"%s\""
+ msgstr "poisoning Ñ–Ñнуючих макроÑів \"%s\""
+
+-#: directives.c:1413
++#: directives.c:1418
+ msgid "#pragma system_header ignored outside include file"
+ msgstr "#pragma system_header проігноровано за межами включеного файлу"
+
+-#: directives.c:1437
++#: directives.c:1442
+ #, c-format
+ msgid "cannot find source file %s"
+ msgstr "не вдаєтьÑÑ Ð·Ð½Ð°Ð¹Ñ‚Ð¸ первинний файл %s"
+
+-#: directives.c:1441
++#: directives.c:1446
+ #, c-format
+ msgid "current file is older than %s"
+ msgstr "поточний файл Ñтаріший ніж %s"
+
+-#: directives.c:1620
++#: directives.c:1625
+ msgid "_Pragma takes a parenthesized string literal"
+ msgstr "_Pragma охоплює дужками Ñимвольний літерал"
+
+-#: directives.c:1693
++#: directives.c:1698
+ msgid "#else without #if"
+ msgstr "#else без #if"
+
+-#: directives.c:1698
++#: directives.c:1703
+ msgid "#else after #else"
+ msgstr "#else піÑÐ»Ñ #else"
+
+-#: directives.c:1700 directives.c:1733
++#: directives.c:1705 directives.c:1738
+ msgid "the conditional began here"
+ msgstr "умова починаєтьÑÑ Ñ‚ÑƒÑ‚"
+
+-#: directives.c:1726
++#: directives.c:1731
+ msgid "#elif without #if"
+ msgstr "#elif без #if"
+
+-#: directives.c:1731
++#: directives.c:1736
+ msgid "#elif after #else"
+ msgstr "#elif піÑÐ»Ñ #else"
+
+-#: directives.c:1761
++#: directives.c:1766
+ msgid "#endif without #if"
+ msgstr "#endif беp #if"
+
+-#: directives.c:1838
++#: directives.c:1843
+ msgid "missing '(' after predicate"
+ msgstr "відÑÑƒÑ‚Ð½Ñ '(' піÑÐ»Ñ Ð¿Ñ€ÐµÐ´Ð¸ÐºÐ°Ñ‚Ñƒ"
+
+-#: directives.c:1853
++#: directives.c:1858
+ msgid "missing ')' to complete answer"
+ msgstr "відÑÑƒÑ‚Ð½Ñ ')' Ð´Ð»Ñ Ð·Ð°Ð²ÐµÑ€ÑˆÐµÐ½Ð½Ñ Ð²Ñ–Ð´Ð¿Ð¾Ð²Ñ–Ð´Ñ–"
+
+-#: directives.c:1873
++#: directives.c:1878
+ msgid "predicate's answer is empty"
+ msgstr "відповідь предиката порожнÑ"
+
+-#: directives.c:1900
++#: directives.c:1905
+ msgid "assertion without predicate"
+ msgstr "Ñ‚Ð²ÐµÑ€Ð´Ð¶ÐµÐ½Ð½Ñ Ð±ÐµÐ· предикату"
+
+-#: directives.c:1902
++#: directives.c:1907
+ msgid "predicate must be an identifier"
+ msgstr "предикат має бути ідентифікатором"
+
+-#: directives.c:1988
++#: directives.c:1993
+ #, c-format
+ msgid "\"%s\" re-asserted"
+ msgstr "\"%s\" повторне ÑтвердженнÑ"
+
+-#: directives.c:2271
++#: directives.c:2276
+ #, c-format
+ msgid "unterminated #%s"
+ msgstr "незавершене #%s"
+@@ -590,39 +594,39 @@
+ msgid "division by zero in #if"
+ msgstr "Ð´Ñ–Ð»ÐµÐ½Ð½Ñ Ð½Ð° нуль у #if"
+
+-#: files.c:442
++#: files.c:458
+ msgid "NULL directory in find_file"
+ msgstr "Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ ÐºÐ°Ñ‚Ð°Ð»Ð¾Ð³Ñƒ NULL у find_file"
+
+-#: files.c:480
++#: files.c:496
+ msgid "one or more PCH files were found, but they were invalid"
+ msgstr "знайдено один або більше файлів PCH, але вони некоректні"
+
+-#: files.c:483
++#: files.c:499
+ msgid "use -Winvalid-pch for more information"
+ msgstr "докладніша Ñ–Ð½Ñ„Ð¾Ñ€Ð¼Ð°Ñ†Ñ–Ñ Ð²Ð¸Ð²Ð¾Ð´Ð¸Ñ‚ÑŒÑÑ, Ñкщо вказати -Winvalid-pch"
+
+-#: files.c:570
++#: files.c:589
+ #, c-format
+ msgid "%s is a block device"
+ msgstr "%s Ñ” блочним приÑтроєм"
+
+-#: files.c:587
++#: files.c:606
+ #, c-format
+ msgid "%s is too large"
+ msgstr "%s надто великий"
+
+-#: files.c:622
++#: files.c:641
+ #, c-format
+ msgid "%s is shorter than expected"
+ msgstr "%s коротший ніж очікувалоÑÑ"
+
+-#: files.c:852
++#: files.c:872
+ #, c-format
+ msgid "no include path in which to search for %s"
+ msgstr "відÑутні шлÑÑ… Ð²ÐºÐ»ÑŽÑ‡ÐµÐ½Ð½Ñ Ñƒ Ñкому ведетьÑÑ Ð¿Ð¾ÑˆÑƒÐº Ð´Ð»Ñ %s"
+
+-#: files.c:1157
++#: files.c:1238
+ msgid "Multiple include guards may be useful for:\n"
+ msgstr "Декілька include guards можуть бути кориÑні длÑ:\n"
+
+@@ -750,122 +754,122 @@
+ ",\n"
+ " з %s:%u"
+
+-#: macro.c:84
++#: macro.c:87
+ #, c-format
+ msgid "macro \"%s\" is not used"
+ msgstr "Ð¼Ð°ÐºÑ€Ð¾Ñ \"%s\" не викориÑтовуєтьÑÑ"
+
+-#: macro.c:123 macro.c:319
++#: macro.c:126 macro.c:322
+ #, c-format
+ msgid "invalid built-in macro \"%s\""
+ msgstr "некоректний вбудований Ð¼Ð°ÐºÑ€Ð¾Ñ \"%s\""
+
+-#: macro.c:157
++#: macro.c:160
+ msgid "could not determine file timestamp"
+ msgstr "не вдаєтьÑÑ Ð²Ð¸Ð·Ð½Ð°Ñ‡Ð¸Ñ‚Ð¸ чаÑову мітку файлу"
+
+-#: macro.c:254
++#: macro.c:257
+ msgid "could not determine date and time"
+ msgstr "не вдаєтьÑÑ Ð²Ð¸Ð·Ð½Ð°Ñ‡Ð¸Ñ‚Ð¸ дату та чаÑ"
+
+-#: macro.c:270
++#: macro.c:273
+ msgid "__COUNTER__ expanded inside directive with -fdirectives-only"
+ msgstr ""
+
+-#: macro.c:423
++#: macro.c:426
+ msgid "invalid string literal, ignoring final '\\'"
+ msgstr "некоректний Ñимвольний літерал, ігноруєтьÑÑ Ð·Ð°Ð²ÐµÑ€ÑˆÐ°Ð»ÑŒÐ½Ð¸Ð¹ Ñимвол '\\'"
+
+-#: macro.c:483
++#: macro.c:486
+ #, c-format
+ msgid "pasting \"%s\" and \"%s\" does not give a valid preprocessing token"
+ msgstr "вÑтавка \"%s\" та \"%s\" не призводить до коректної лекÑеми препроцеÑора"
+
+-#: macro.c:558
++#: macro.c:561
+ msgid "ISO C99 requires rest arguments to be used"
+ msgstr "ISO C99 вимагає, щоб викориÑтовувалиÑÑŒ решта аргументів"
+
+-#: macro.c:563
++#: macro.c:566
+ #, c-format
+ msgid "macro \"%s\" requires %u arguments, but only %u given"
+ msgstr "Ð´Ð»Ñ Ð¼Ð°ÐºÑ€Ð¾Ñу \"%s\" потрібно вказати %u аргументів, але вказано лише %u"
+
+-#: macro.c:568
++#: macro.c:571
+ #, c-format
+ msgid "macro \"%s\" passed %u arguments, but takes just %u"
+ msgstr "макроÑу \"%s\" передано %u аргументів, але з них викориÑтано лише %u"
+
+-#: macro.c:679 traditional.c:680
++#: macro.c:730 traditional.c:680
+ #, c-format
+ msgid "unterminated argument list invoking macro \"%s\""
+ msgstr "незавершений ÑпиÑок аргументів у виклику макроÑу \"%s\""
+
+-#: macro.c:782
++#: macro.c:840
+ #, c-format
+ msgid "function-like macro \"%s\" must be used with arguments in traditional C"
+ msgstr "подібний до функції Ð¼Ð°ÐºÑ€Ð¾Ñ \"%s\" має викориÑтовуватиÑÑ Ð· аргументами у традиційній мові C"
+
+-#: macro.c:1325
++#: macro.c:1408
+ #, c-format
+ msgid "duplicate macro parameter \"%s\""
+ msgstr "дублікат параметра макроÑу \"%s\""
+
+-#: macro.c:1371
++#: macro.c:1454
+ #, c-format
+ msgid "\"%s\" may not appear in macro parameter list"
+ msgstr "\"%s\" не може з'ÑвлÑтиÑÑ Ñƒ ÑпиÑку параметрів макроÑу"
+
+-#: macro.c:1379
++#: macro.c:1462
+ msgid "macro parameters must be comma-separated"
+ msgstr "параметри макроÑу мають бути розділені комами"
+
+-#: macro.c:1396
++#: macro.c:1479
+ msgid "parameter name missing"
+ msgstr "відÑÑƒÑ‚Ð½Ñ Ð½Ð°Ð·Ð²Ð° параметра"
+
+-#: macro.c:1413
++#: macro.c:1496
+ msgid "anonymous variadic macros were introduced in C99"
+ msgstr "анонімні макроÑи variadic започатковані у C99"
+
+-#: macro.c:1418
++#: macro.c:1501
+ msgid "ISO C does not permit named variadic macros"
+ msgstr "ISO C не припуÑкає іменовані макроÑи variadic"
+
+-#: macro.c:1427
++#: macro.c:1510
+ msgid "missing ')' in macro parameter list"
+ msgstr "відÑÑƒÑ‚Ð½Ñ ')' у ÑпиÑку параметрів макроÑу"
+
+-#: macro.c:1476
++#: macro.c:1559
+ msgid "'##' cannot appear at either end of a macro expansion"
+ msgstr "'##' не може з'ÑвлÑтиÑÑ Ð· обох кінців макро-розширеннÑ"
+
+-#: macro.c:1510
++#: macro.c:1593
+ msgid "ISO C99 requires whitespace after the macro name"
+ msgstr "у ISO C99 має бути пробіл піÑÐ»Ñ Ð½Ð°Ð·Ð²Ð¸ мароÑу"
+
+-#: macro.c:1534
++#: macro.c:1617
+ msgid "missing whitespace after the macro name"
+ msgstr "відÑутні пробіл піÑÐ»Ñ Ð½Ð°Ð·Ð²Ð¸ макроÑу"
+
+-#: macro.c:1564
++#: macro.c:1647
+ msgid "'#' is not followed by a macro parameter"
+ msgstr "'#' не ÑупроводжуєтьÑÑ Ð¿Ð°Ñ€Ð°Ð¼ÐµÑ‚Ñ€Ð¾Ð¼ макроÑу"
+
+-#: macro.c:1683
++#: macro.c:1766
+ #, c-format
+ msgid "\"%s\" redefined"
+ msgstr "повторне Ð²Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ \"%s\""
+
+-#: macro.c:1688
++#: macro.c:1771
+ msgid "this is the location of the previous definition"
+ msgstr "...це міÑце першого визначеннÑ"
+
+-#: macro.c:1738
++#: macro.c:1828
+ #, c-format
+ msgid "macro argument \"%s\" would be stringified in traditional C"
+ msgstr "аргумент макроÑу \"%s\" був би перетворений на Ñ€Ñдок у традиційній мові C"
+
+-#: macro.c:1761
++#: macro.c:1851
+ #, c-format
+ msgid "invalid hash type %d in cpp_macro_definition"
+ msgstr "некоректний типу хешу %d у cpp_macro_definition"
+@@ -903,7 +907,7 @@
+ msgid "detected recursion whilst expanding macro \"%s\""
+ msgstr "при розширенні макроÑу \"%s\" виÑвлено рекурÑÑ–ÑŽ"
+
+-#: traditional.c:917
++#: traditional.c:968
+ msgid "syntax error in macro parameter list"
+ msgstr "ÑинтакÑична помилка у ÑпиÑку параметрів макроÑу"
+
+Index: libcpp/po/ca.po
+===================================================================
+--- libcpp/po/ca.po (.../tags/gcc_4_3_0_release) (revision 133808)
++++ libcpp/po/ca.po (.../branches/gcc-4_3-branch) (revision 133808)
+@@ -11,7 +11,7 @@
+ msgstr ""
+ "Project-Id-Version: cpplib-4.0.1\n"
+ "Report-Msgid-Bugs-To: http://gcc.gnu.org/bugs.html\n"
+-"POT-Creation-Date: 2007-11-08 21:08+0000\n"
++"POT-Creation-Date: 2008-02-01 16:21+0000\n"
+ "PO-Revision-Date: 2005-11-25 22:56+0100\n"
+ "Last-Translator: Mateu Gilles <gilles@mateu.org>\n"
+ "Language-Team: Catalan <ca@dodds.net>\n"
+@@ -19,136 +19,136 @@
+ "Content-Type: text/plain; charset=ISO-8859-1\n"
+ "Content-Transfer-Encoding: 8bit\n"
+
+-#: charset.c:654
++#: charset.c:671
+ #, c-format
+ msgid "conversion from %s to %s not supported by iconv"
+ msgstr "iconv no dona suport a la conversió de %s a %s"
+
+-#: charset.c:657
++#: charset.c:674
+ msgid "iconv_open"
+ msgstr "iconv_open"
+
+-#: charset.c:665
++#: charset.c:682
+ #, c-format
+ msgid "no iconv implementation, cannot convert from %s to %s"
+ msgstr "cap implementació de iconv, no es pot convertir de %s a %s"
+
+-#: charset.c:742
++#: charset.c:759
+ #, c-format
+ msgid "character 0x%lx is not in the basic source character set\n"
+ msgstr "el caràcter 0x%lx no és en el joc de caràcters de base\n"
+
+-#: charset.c:759 charset.c:1352
++#: charset.c:776 charset.c:1369
+ msgid "converting to execution character set"
+ msgstr "convertint al joc de caràcters d'execució"
+
+-#: charset.c:765
++#: charset.c:782
+ #, c-format
+ msgid "character 0x%lx is not unibyte in execution character set"
+ msgstr "el caràcter 0x%lx no és mono octet en el joc de caràcters d'execució"
+
+-#: charset.c:889
++#: charset.c:906
+ #, c-format
+ msgid "Character %x might not be NFKC"
+ msgstr ""
+
+-#: charset.c:949
++#: charset.c:966
+ msgid "universal character names are only valid in C++ and C99"
+ msgstr "els noms de caràcter universals nomès són vàlids en C++ i C99"
+
+-#: charset.c:952
++#: charset.c:969
+ #, c-format
+ msgid "the meaning of '\\%c' is different in traditional C"
+ msgstr "el significat de \"\\%c\" és diferent en C tradicional"
+
+-#: charset.c:961
++#: charset.c:978
+ msgid "In _cpp_valid_ucn but not a UCN"
+ msgstr ""
+
+-#: charset.c:986
++#: charset.c:1003
+ #, c-format
+ msgid "incomplete universal character name %.*s"
+ msgstr "el nom de caràcter universal %.*s és incomplet"
+
+-#: charset.c:998
++#: charset.c:1015
+ #, c-format
+ msgid "%.*s is not a valid universal character"
+ msgstr "%.*s no és un caràcter universal vàlid"
+
+-#: charset.c:1008 lex.c:484
++#: charset.c:1025 lex.c:484
+ msgid "'$' in identifier or number"
+ msgstr "\"$\" en un identificador o un nombre"
+
+-#: charset.c:1018
++#: charset.c:1035
+ #, c-format
+ msgid "universal character %.*s is not valid in an identifier"
+ msgstr "el nom de caràcter universal %.*s no és vàlid en un identificador"
+
+-#: charset.c:1022
++#: charset.c:1039
+ #, c-format
+ msgid "universal character %.*s is not valid at the start of an identifier"
+ msgstr "el nom de caràcter universal %.*s no és vàlid a l'inici d'un identificador"
+
+-#: charset.c:1056 charset.c:1571
++#: charset.c:1073 charset.c:1588
+ msgid "converting UCN to source character set"
+ msgstr "convertint UCN al joc font de caràcters"
+
+-#: charset.c:1060
++#: charset.c:1077
+ msgid "converting UCN to execution character set"
+ msgstr "convertint UCN al joc de caràcters d'execució"
+
+-#: charset.c:1132
++#: charset.c:1149
+ msgid "the meaning of '\\x' is different in traditional C"
+ msgstr "el significat de \"\\x\" és diferent en C tradicional"
+
+-#: charset.c:1149
++#: charset.c:1166
+ msgid "\\x used with no following hex digits"
+ msgstr "es va usar \\x sense dígits hexadecimales a continuació"
+
+-#: charset.c:1156
++#: charset.c:1173
+ msgid "hex escape sequence out of range"
+ msgstr "seqüència d'escapa hexadecimal fora de rang"
+
+-#: charset.c:1195
++#: charset.c:1212
+ msgid "octal escape sequence out of range"
+ msgstr "seqüència d'escapa octal fora de rang"
+
+-#: charset.c:1263
++#: charset.c:1280
+ msgid "the meaning of '\\a' is different in traditional C"
+ msgstr "el significat de \"\\a\" és diferent en C tradicional"
+
+-#: charset.c:1270
++#: charset.c:1287
+ #, c-format
+ msgid "non-ISO-standard escape sequence, '\\%c'"
+ msgstr "seqüència d'escapa que no és estàndard ISO, \"\\%c\""
+
+-#: charset.c:1278
++#: charset.c:1295
+ #, c-format
+ msgid "unknown escape sequence '\\%c'"
+ msgstr "seqüència d'escapa \"\\%c\" desconeguda"
+
+-#: charset.c:1286
++#: charset.c:1303
+ #, fuzzy, c-format
+ msgid "unknown escape sequence: '\\%s'"
+ msgstr "seqüència d'escapa \"\\%c\" desconeguda"
+
+-#: charset.c:1293
++#: charset.c:1310
+ msgid "converting escape sequence to execution character set"
+ msgstr "convertint una seqüència d'escapa al joc de caràcters d'execució"
+
+-#: charset.c:1415 charset.c:1478
++#: charset.c:1432 charset.c:1495
+ msgid "character constant too long for its type"
+ msgstr "constant de caràcter massa gran pel seu tipus"
+
+-#: charset.c:1418
++#: charset.c:1435
+ msgid "multi-character character constant"
+ msgstr "constant de caràcter amb múltiples caràcters"
+
+-#: charset.c:1510
++#: charset.c:1527
+ msgid "empty character constant"
+ msgstr "constant de caràter buida"
+
+-#: charset.c:1612
++#: charset.c:1629
+ #, c-format
+ msgid "failure to convert %s to %s"
+ msgstr "fallada convertint %s a %s"
+@@ -241,139 +241,143 @@
+ msgstr "indicador \"%s\" invàlid en la directiva de línia"
+
+ #: directives.c:868
++msgid "unexpected end of file after #line"
++msgstr ""
++
++#: directives.c:871
+ #, c-format
+ msgid "\"%s\" after #line is not a positive integer"
+ msgstr "\"%s\" desprès de #line no és un enter positiu"
+
+-#: directives.c:874
++#: directives.c:877
+ msgid "line number out of range"
+ msgstr "nombre de línia fora de rang"
+
+-#: directives.c:887 directives.c:964
++#: directives.c:890 directives.c:969
+ #, c-format
+ msgid "\"%s\" is not a valid filename"
+ msgstr "\"%s\" no és un nom de fitxer vàlid"
+
+-#: directives.c:924
++#: directives.c:929
+ #, c-format
+ msgid "\"%s\" after # is not a positive integer"
+ msgstr "\"%s\" desprès de # no és un enter positiu"
+
+-#: directives.c:1026
++#: directives.c:1031
+ #, fuzzy, c-format
+ msgid "invalid #%s directive"
+ msgstr "directiva #ident invàlida"
+
+-#: directives.c:1089
++#: directives.c:1094
+ #, c-format
+ msgid "registering pragmas in namespace \"%s\" with mismatched name expansion"
+ msgstr ""
+
+-#: directives.c:1098
++#: directives.c:1103
+ #, fuzzy, c-format
+ msgid "registering pragma \"%s\" with name expansion and no namespace"
+ msgstr "desant \"%s\" com a pragma i espai de noms de pragma"
+
+-#: directives.c:1116
++#: directives.c:1121
+ #, c-format
+ msgid "registering \"%s\" as both a pragma and a pragma namespace"
+ msgstr "desant \"%s\" com a pragma i espai de noms de pragma"
+
+-#: directives.c:1119
++#: directives.c:1124
+ #, c-format
+ msgid "#pragma %s %s is already registered"
+ msgstr "ja s'ha desat #pragma %s %s"
+
+-#: directives.c:1122
++#: directives.c:1127
+ #, c-format
+ msgid "#pragma %s is already registered"
+ msgstr "ja s'ha desat #pragma %s"
+
+-#: directives.c:1152
++#: directives.c:1157
+ msgid "registering pragma with NULL handler"
+ msgstr ""
+
+-#: directives.c:1362
++#: directives.c:1367
+ msgid "#pragma once in main file"
+ msgstr "#pragma una vegada en el fitxer principal"
+
+-#: directives.c:1385
++#: directives.c:1390
+ msgid "invalid #pragma GCC poison directive"
+ msgstr "directiva #pragma de GCC enverinada invàlida"
+
+-#: directives.c:1394
++#: directives.c:1399
+ #, c-format
+ msgid "poisoning existing macro \"%s\""
+ msgstr "enverinant la macro existent \"%s\""
+
+-#: directives.c:1413
++#: directives.c:1418
+ msgid "#pragma system_header ignored outside include file"
+ msgstr "#pragma system_header ignorat fora del fitxer d'inclusió"
+
+-#: directives.c:1437
++#: directives.c:1442
+ #, c-format
+ msgid "cannot find source file %s"
+ msgstr "no es pot trobar la font %s"
+
+-#: directives.c:1441
++#: directives.c:1446
+ #, c-format
+ msgid "current file is older than %s"
+ msgstr "el fitxer actual és més vell que %s"
+
+-#: directives.c:1620
++#: directives.c:1625
+ msgid "_Pragma takes a parenthesized string literal"
+ msgstr "_Pragma pren una cadena literal entre parèntesis"
+
+-#: directives.c:1693
++#: directives.c:1698
+ msgid "#else without #if"
+ msgstr "#else sense #if"
+
+-#: directives.c:1698
++#: directives.c:1703
+ msgid "#else after #else"
+ msgstr "#else després de #else"
+
+-#: directives.c:1700 directives.c:1733
++#: directives.c:1705 directives.c:1738
+ msgid "the conditional began here"
+ msgstr "el condicional va començar aquí"
+
+-#: directives.c:1726
++#: directives.c:1731
+ msgid "#elif without #if"
+ msgstr "#elif sense #if"
+
+-#: directives.c:1731
++#: directives.c:1736
+ msgid "#elif after #else"
+ msgstr "#elif després de #else"
+
+-#: directives.c:1761
++#: directives.c:1766
+ msgid "#endif without #if"
+ msgstr "#endif sense #if"
+
+-#: directives.c:1838
++#: directives.c:1843
+ msgid "missing '(' after predicate"
+ msgstr "falta \"(\" abans del predicat"
+
+-#: directives.c:1853
++#: directives.c:1858
+ msgid "missing ')' to complete answer"
+ msgstr "falta \")\" per a completar la resposta"
+
+-#: directives.c:1873
++#: directives.c:1878
+ msgid "predicate's answer is empty"
+ msgstr "el predicat de la resposta està buit"
+
+-#: directives.c:1900
++#: directives.c:1905
+ msgid "assertion without predicate"
+ msgstr "afirmació sense predicat"
+
+-#: directives.c:1902
++#: directives.c:1907
+ msgid "predicate must be an identifier"
+ msgstr "el predicat ha de ser un identificador"
+
+-#: directives.c:1988
++#: directives.c:1993
+ #, c-format
+ msgid "\"%s\" re-asserted"
+ msgstr "\"%s\" reafirmat"
+
+-#: directives.c:2271
++#: directives.c:2276
+ #, c-format
+ msgid "unterminated #%s"
+ msgstr "#%s sense acabar"
+@@ -594,39 +598,39 @@
+ msgid "division by zero in #if"
+ msgstr "divisió per zero en #if"
+
+-#: files.c:442
++#: files.c:458
+ msgid "NULL directory in find_file"
+ msgstr "directori NULL en find_file"
+
+-#: files.c:480
++#: files.c:496
+ msgid "one or more PCH files were found, but they were invalid"
+ msgstr "un o més fitxers PCH varen ser trobats, però varen ser invàlids"
+
+-#: files.c:483
++#: files.c:499
+ msgid "use -Winvalid-pch for more information"
+ msgstr "usi -Winvalid-pch per a més informació"
+
+-#: files.c:570
++#: files.c:589
+ #, c-format
+ msgid "%s is a block device"
+ msgstr "%s és un dispositiu de blocs"
+
+-#: files.c:587
++#: files.c:606
+ #, c-format
+ msgid "%s is too large"
+ msgstr "%s és massa gran"
+
+-#: files.c:622
++#: files.c:641
+ #, c-format
+ msgid "%s is shorter than expected"
+ msgstr "%s és més curt qu'esperat"
+
+-#: files.c:852
++#: files.c:872
+ #, c-format
+ msgid "no include path in which to search for %s"
+ msgstr "no hi ha ruta d'inclusió en la qual cercar %s"
+
+-#: files.c:1157
++#: files.c:1238
+ msgid "Multiple include guards may be useful for:\n"
+ msgstr "Múltiples guàrdies d'inclusió poden ser útils per a:\n"
+
+@@ -754,123 +758,123 @@
+ ",\n"
+ " dès de %s:%u"
+
+-#: macro.c:84
++#: macro.c:87
+ #, c-format
+ msgid "macro \"%s\" is not used"
+ msgstr "no s'usa la macro \"%s\""
+
+-#: macro.c:123 macro.c:319
++#: macro.c:126 macro.c:322
+ #, c-format
+ msgid "invalid built-in macro \"%s\""
+ msgstr "macro interna \"%s\" invàlida"
+
+-#: macro.c:157
++#: macro.c:160
+ #, fuzzy
+ msgid "could not determine file timestamp"
+ msgstr "no es pot determinar la data i l'hora"
+
+-#: macro.c:254
++#: macro.c:257
+ msgid "could not determine date and time"
+ msgstr "no es pot determinar la data i l'hora"
+
+-#: macro.c:270
++#: macro.c:273
+ msgid "__COUNTER__ expanded inside directive with -fdirectives-only"
+ msgstr ""
+
+-#: macro.c:423
++#: macro.c:426
+ msgid "invalid string literal, ignoring final '\\'"
+ msgstr "cadena literal invàlida, s'ignora el \"\\\" final"
+
+-#: macro.c:483
++#: macro.c:486
+ #, c-format
+ msgid "pasting \"%s\" and \"%s\" does not give a valid preprocessing token"
+ msgstr "enganxar \"%s\" i \"%s\" no dóna un element de preprocessament vàlid"
+
+-#: macro.c:558
++#: macro.c:561
+ msgid "ISO C99 requires rest arguments to be used"
+ msgstr "ISO C99 requereix que la resta dels arguments sigui usat"
+
+-#: macro.c:563
++#: macro.c:566
+ #, c-format
+ msgid "macro \"%s\" requires %u arguments, but only %u given"
+ msgstr "la macro \"%s\" requereix %u arguments, però només %u passats"
+
+-#: macro.c:568
++#: macro.c:571
+ #, c-format
+ msgid "macro \"%s\" passed %u arguments, but takes just %u"
+ msgstr "la macro \"%s\" va rebre %u arguments, però en va prendre solament %u"
+
+-#: macro.c:679 traditional.c:680
++#: macro.c:730 traditional.c:680
+ #, c-format
+ msgid "unterminated argument list invoking macro \"%s\""
+ msgstr "llista d'arguments sense acabar a l'invocar la macro \"%s\""
+
+-#: macro.c:782
++#: macro.c:840
+ #, c-format
+ msgid "function-like macro \"%s\" must be used with arguments in traditional C"
+ msgstr "la funció de macro \"%s\" s'ha d'usar amb arguments en C tradicional"
+
+-#: macro.c:1325
++#: macro.c:1408
+ #, c-format
+ msgid "duplicate macro parameter \"%s\""
+ msgstr "paràmetre de macro \"%s\" duplicat"
+
+-#: macro.c:1371
++#: macro.c:1454
+ #, c-format
+ msgid "\"%s\" may not appear in macro parameter list"
+ msgstr "\"%s\" podria faltar en la llista de paràmetre de macro"
+
+-#: macro.c:1379
++#: macro.c:1462
+ msgid "macro parameters must be comma-separated"
+ msgstr "els paràmetres de macro han de ser separats per comes"
+
+-#: macro.c:1396
++#: macro.c:1479
+ msgid "parameter name missing"
+ msgstr "falta el nom del paràmetre"
+
+-#: macro.c:1413
++#: macro.c:1496
+ msgid "anonymous variadic macros were introduced in C99"
+ msgstr "els macros variadic anònims es van introduir en C99"
+
+-#: macro.c:1418
++#: macro.c:1501
+ msgid "ISO C does not permit named variadic macros"
+ msgstr "ISO C no permet macros variadic nomenats"
+
+-#: macro.c:1427
++#: macro.c:1510
+ msgid "missing ')' in macro parameter list"
+ msgstr "\")\" faltant en la llista de paràmetres de macro"
+
+-#: macro.c:1476
++#: macro.c:1559
+ msgid "'##' cannot appear at either end of a macro expansion"
+ msgstr "\"##\" no pot apareixer en o al final d'una expansió de macro"
+
+-#: macro.c:1510
++#: macro.c:1593
+ msgid "ISO C99 requires whitespace after the macro name"
+ msgstr "ISO C99 requereix espais en blanc després del nom de macro"
+
+-#: macro.c:1534
++#: macro.c:1617
+ msgid "missing whitespace after the macro name"
+ msgstr "espais en blanc faltant després del nom de macro"
+
+-#: macro.c:1564
++#: macro.c:1647
+ msgid "'#' is not followed by a macro parameter"
+ msgstr "\"#\" no és seguit per un paràmetre de macro"
+
+-#: macro.c:1683
++#: macro.c:1766
+ #, c-format
+ msgid "\"%s\" redefined"
+ msgstr "\"%s\" re-definit"
+
+-#: macro.c:1688
++#: macro.c:1771
+ msgid "this is the location of the previous definition"
+ msgstr "aquesta és la ubicació de la definició prèvia"
+
+-#: macro.c:1738
++#: macro.c:1828
+ #, c-format
+ msgid "macro argument \"%s\" would be stringified in traditional C"
+ msgstr "l'argument de macro \"%s\" hauria de ser convertit en cadena en C traditional"
+
+-#: macro.c:1761
++#: macro.c:1851
+ #, c-format
+ msgid "invalid hash type %d in cpp_macro_definition"
+ msgstr "tipus de hash %d invàlid en cpp_macro_definition"
+@@ -908,7 +912,7 @@
+ msgid "detected recursion whilst expanding macro \"%s\""
+ msgstr "whilst recursiu detectat en expandint la macro \"%s\""
+
+-#: traditional.c:917
++#: traditional.c:968
+ msgid "syntax error in macro parameter list"
+ msgstr "error sintàctic en la llista de paràmetre de macro"
+
+Index: libcpp/po/da.po
+===================================================================
+--- libcpp/po/da.po (.../tags/gcc_4_3_0_release) (revision 133808)
++++ libcpp/po/da.po (.../branches/gcc-4_3-branch) (revision 133808)
+@@ -128,7 +128,7 @@
+ msgstr ""
+ "Project-Id-Version: gcc 3.3\n"
+ "Report-Msgid-Bugs-To: http://gcc.gnu.org/bugs.html\n"
+-"POT-Creation-Date: 2007-11-08 21:08+0000\n"
++"POT-Creation-Date: 2008-02-01 16:21+0000\n"
+ "PO-Revision-Date: 2003-05-25 18:00+0200\n"
+ "Last-Translator: Ole Laursen <olau@hardworking.dk>\n"
+ "Language-Team: Danish <dansk@klid.dk>\n"
+@@ -136,141 +136,141 @@
+ "Content-Type: text/plain; charset=ISO-8859-1\n"
+ "Content-Transfer-Encoding: 8bit\n"
+
+-#: charset.c:654
++#: charset.c:671
+ #, fuzzy, c-format
+ msgid "conversion from %s to %s not supported by iconv"
+ msgstr "konvertering fra NaN til unsigned int"
+
+-#: charset.c:657
++#: charset.c:674
+ msgid "iconv_open"
+ msgstr ""
+
+-#: charset.c:665
++#: charset.c:682
+ #, c-format
+ msgid "no iconv implementation, cannot convert from %s to %s"
+ msgstr ""
+
+-#: charset.c:742
++#: charset.c:759
+ #, fuzzy, c-format
+ msgid "character 0x%lx is not in the basic source character set\n"
+ msgstr "universelt tegnnavn står for '%c', som er en del af det basale kildekodetegnsæt"
+
+-#: charset.c:759 charset.c:1352
++#: charset.c:776 charset.c:1369
+ msgid "converting to execution character set"
+ msgstr ""
+
+-#: charset.c:765
++#: charset.c:782
+ #, c-format
+ msgid "character 0x%lx is not unibyte in execution character set"
+ msgstr ""
+
+-#: charset.c:889
++#: charset.c:906
+ #, c-format
+ msgid "Character %x might not be NFKC"
+ msgstr ""
+
+-#: charset.c:949
++#: charset.c:966
+ #, fuzzy
+ msgid "universal character names are only valid in C++ and C99"
+ msgstr "universelt tegn '\\U%08x' er ikke gyldigt i kaldenavne"
+
+-#: charset.c:952
++#: charset.c:969
+ #, c-format
+ msgid "the meaning of '\\%c' is different in traditional C"
+ msgstr "betydningen af '\\%c' er anderledes i traditionel C"
+
+-#: charset.c:961
++#: charset.c:978
+ msgid "In _cpp_valid_ucn but not a UCN"
+ msgstr ""
+
+-#: charset.c:986
++#: charset.c:1003
+ #, fuzzy, c-format
+ msgid "incomplete universal character name %.*s"
+ msgstr "ufuldstændigt universelt tegnnavn"
+
+-#: charset.c:998
++#: charset.c:1015
+ #, fuzzy, c-format
+ msgid "%.*s is not a valid universal character"
+ msgstr "'%T::%D' er ikke en gyldig erklærer"
+
+-#: charset.c:1008 lex.c:484
++#: charset.c:1025 lex.c:484
+ #, fuzzy
+ msgid "'$' in identifier or number"
+ msgstr "'$'-tegn i kaldenavn eller tal"
+
+-#: charset.c:1018
++#: charset.c:1035
+ #, fuzzy, c-format
+ msgid "universal character %.*s is not valid in an identifier"
+ msgstr "universelt tegn '\\U%08x' er ikke gyldigt i kaldenavne"
+
+-#: charset.c:1022
++#: charset.c:1039
+ #, fuzzy, c-format
+ msgid "universal character %.*s is not valid at the start of an identifier"
+ msgstr "universelt tegn '\\U%08x' er ikke gyldigt i kaldenavne"
+
+-#: charset.c:1056 charset.c:1571
++#: charset.c:1073 charset.c:1588
+ #, fuzzy
+ msgid "converting UCN to source character set"
+ msgstr "konverterer NULL til en ikke-henvisningstype"
+
+-#: charset.c:1060
++#: charset.c:1077
+ #, fuzzy
+ msgid "converting UCN to execution character set"
+ msgstr "konverterer NULL til en ikke-henvisningstype"
+
+-#: charset.c:1132
++#: charset.c:1149
+ msgid "the meaning of '\\x' is different in traditional C"
+ msgstr "betydningen af '\\x' er anderledes i traditionel C"
+
+-#: charset.c:1149
++#: charset.c:1166
+ msgid "\\x used with no following hex digits"
+ msgstr "\\x angivet uden efterfølgende hexadecimale cifre"
+
+-#: charset.c:1156
++#: charset.c:1173
+ msgid "hex escape sequence out of range"
+ msgstr "den hexadecimale undvigesekvens er uden for det gyldige interval"
+
+-#: charset.c:1195
++#: charset.c:1212
+ msgid "octal escape sequence out of range"
+ msgstr "den oktale undvigesekvens er uden for det gyldige interval"
+
+-#: charset.c:1263
++#: charset.c:1280
+ msgid "the meaning of '\\a' is different in traditional C"
+ msgstr "betydningen af '\\a' er anderledes i traditionel C"
+
+-#: charset.c:1270
++#: charset.c:1287
+ #, c-format
+ msgid "non-ISO-standard escape sequence, '\\%c'"
+ msgstr "undvigesekvensen '\\%c' er ikke ISO-standard"
+
+-#: charset.c:1278
++#: charset.c:1295
+ #, c-format
+ msgid "unknown escape sequence '\\%c'"
+ msgstr "ukendt undvigesekvensen '\\%c'"
+
+-#: charset.c:1286
++#: charset.c:1303
+ #, fuzzy, c-format
+ msgid "unknown escape sequence: '\\%s'"
+ msgstr "ukendt undvigesekvensen '\\%c'"
+
+-#: charset.c:1293
++#: charset.c:1310
+ #, fuzzy
+ msgid "converting escape sequence to execution character set"
+ msgstr "undvigesekvens er uden for det gyldig interval for tegn"
+
+-#: charset.c:1415 charset.c:1478
++#: charset.c:1432 charset.c:1495
+ msgid "character constant too long for its type"
+ msgstr "tegnkonstanten er for lang for dens type"
+
+-#: charset.c:1418
++#: charset.c:1435
+ msgid "multi-character character constant"
+ msgstr "flerbyte-tegnkonstant"
+
+-#: charset.c:1510
++#: charset.c:1527
+ msgid "empty character constant"
+ msgstr "tom tegnkonstant"
+
+-#: charset.c:1612
++#: charset.c:1629
+ #, fuzzy, c-format
+ msgid "failure to convert %s to %s"
+ msgstr "kunne ikke konvertere '%E' til '%T'"
+@@ -363,139 +363,144 @@
+ msgstr "ugyldigt flag \"%s\" i linjedirektiv"
+
+ #: directives.c:868
++#, fuzzy
++msgid "unexpected end of file after #line"
++msgstr "Justér den forventede hukommelsesventetid"
++
++#: directives.c:871
+ #, c-format
+ msgid "\"%s\" after #line is not a positive integer"
+ msgstr "\"%s\" efter #line er ikke et positivt heltal"
+
+-#: directives.c:874
++#: directives.c:877
+ msgid "line number out of range"
+ msgstr "linjenummer er uden for det gyldige interval"
+
+-#: directives.c:887 directives.c:964
++#: directives.c:890 directives.c:969
+ #, c-format
+ msgid "\"%s\" is not a valid filename"
+ msgstr "\"%s\" er ikke et ugyldigt filnavn"
+
+-#: directives.c:924
++#: directives.c:929
+ #, c-format
+ msgid "\"%s\" after # is not a positive integer"
+ msgstr "\"%s\" efter # er ikke et positivt heltal"
+
+-#: directives.c:1026
++#: directives.c:1031
+ #, fuzzy, c-format
+ msgid "invalid #%s directive"
+ msgstr "ugyldigt #ident-direktiv"
+
+-#: directives.c:1089
++#: directives.c:1094
+ #, c-format
+ msgid "registering pragmas in namespace \"%s\" with mismatched name expansion"
+ msgstr ""
+
+-#: directives.c:1098
++#: directives.c:1103
+ #, fuzzy, c-format
+ msgid "registering pragma \"%s\" with name expansion and no namespace"
+ msgstr "registrerer \"%s\" som både et pragma og som et pragmanavnerum"
+
+-#: directives.c:1116
++#: directives.c:1121
+ #, c-format
+ msgid "registering \"%s\" as both a pragma and a pragma namespace"
+ msgstr "registrerer \"%s\" som både et pragma og som et pragmanavnerum"
+
+-#: directives.c:1119
++#: directives.c:1124
+ #, c-format
+ msgid "#pragma %s %s is already registered"
+ msgstr "#pragma %s %s er allerede registreret"
+
+-#: directives.c:1122
++#: directives.c:1127
+ #, c-format
+ msgid "#pragma %s is already registered"
+ msgstr "#pragma %s er allerede registreret"
+
+-#: directives.c:1152
++#: directives.c:1157
+ msgid "registering pragma with NULL handler"
+ msgstr ""
+
+-#: directives.c:1362
++#: directives.c:1367
+ msgid "#pragma once in main file"
+ msgstr "'#pragma once' i hovedfil"
+
+-#: directives.c:1385
++#: directives.c:1390
+ msgid "invalid #pragma GCC poison directive"
+ msgstr "ugyldigt #pragma GCC poison-direktiv"
+
+-#: directives.c:1394
++#: directives.c:1399
+ #, c-format
+ msgid "poisoning existing macro \"%s\""
+ msgstr "forgifter eksisterende makro \"%s\""
+
+-#: directives.c:1413
++#: directives.c:1418
+ msgid "#pragma system_header ignored outside include file"
+ msgstr "'#pragma system_header' ignoreret uden for inkluderingsfil"
+
+-#: directives.c:1437
++#: directives.c:1442
+ #, fuzzy, c-format
+ msgid "cannot find source file %s"
+ msgstr "kan ikke finde kilden %s"
+
+-#: directives.c:1441
++#: directives.c:1446
+ #, c-format
+ msgid "current file is older than %s"
+ msgstr "aktuel fil er ældre end %s"
+
+-#: directives.c:1620
++#: directives.c:1625
+ msgid "_Pragma takes a parenthesized string literal"
+ msgstr "_Pragma tager en strengkonstant med paranteser omkring"
+
+-#: directives.c:1693
++#: directives.c:1698
+ msgid "#else without #if"
+ msgstr "#else uden #if"
+
+-#: directives.c:1698
++#: directives.c:1703
+ msgid "#else after #else"
+ msgstr "#else efter #else"
+
+-#: directives.c:1700 directives.c:1733
++#: directives.c:1705 directives.c:1738
+ msgid "the conditional began here"
+ msgstr "betingelsen begyndte her"
+
+-#: directives.c:1726
++#: directives.c:1731
+ msgid "#elif without #if"
+ msgstr "#elif uden #if"
+
+-#: directives.c:1731
++#: directives.c:1736
+ msgid "#elif after #else"
+ msgstr "#elif efter #else"
+
+-#: directives.c:1761
++#: directives.c:1766
+ msgid "#endif without #if"
+ msgstr "#endif uden #if"
+
+-#: directives.c:1838
++#: directives.c:1843
+ msgid "missing '(' after predicate"
+ msgstr "manglende '(' efter udsagn"
+
+-#: directives.c:1853
++#: directives.c:1858
+ msgid "missing ')' to complete answer"
+ msgstr "manglende ')' til at fuldføre svar"
+
+-#: directives.c:1873
++#: directives.c:1878
+ msgid "predicate's answer is empty"
+ msgstr "udsagnets svar et tomt"
+
+-#: directives.c:1900
++#: directives.c:1905
+ msgid "assertion without predicate"
+ msgstr "postulat uden udsagn"
+
+-#: directives.c:1902
++#: directives.c:1907
+ msgid "predicate must be an identifier"
+ msgstr "udsagn skal være et kaldenavn"
+
+-#: directives.c:1988
++#: directives.c:1993
+ #, c-format
+ msgid "\"%s\" re-asserted"
+ msgstr "\"%s\" genpostuleret"
+
+-#: directives.c:2271
++#: directives.c:2276
+ #, c-format
+ msgid "unterminated #%s"
+ msgstr "uafsluttet #%s"
+@@ -718,39 +723,39 @@
+ msgid "division by zero in #if"
+ msgstr "division med nul i #if"
+
+-#: files.c:442
++#: files.c:458
+ msgid "NULL directory in find_file"
+ msgstr ""
+
+-#: files.c:480
++#: files.c:496
+ msgid "one or more PCH files were found, but they were invalid"
+ msgstr ""
+
+-#: files.c:483
++#: files.c:499
+ msgid "use -Winvalid-pch for more information"
+ msgstr ""
+
+-#: files.c:570
++#: files.c:589
+ #, c-format
+ msgid "%s is a block device"
+ msgstr "%s er en blokenhed"
+
+-#: files.c:587
++#: files.c:606
+ #, c-format
+ msgid "%s is too large"
+ msgstr "%s er for stor"
+
+-#: files.c:622
++#: files.c:641
+ #, c-format
+ msgid "%s is shorter than expected"
+ msgstr "%s er kortere end forventet"
+
+-#: files.c:852
++#: files.c:872
+ #, fuzzy, c-format
+ msgid "no include path in which to search for %s"
+ msgstr "der er ingen inkluderingssti at finde %s i"
+
+-#: files.c:1157
++#: files.c:1238
+ msgid "Multiple include guards may be useful for:\n"
+ msgstr "Flere inkluderingsvagter kan være nyttige til:\n"
+
+@@ -878,125 +883,125 @@
+ ",\n"
+ " af %s:%u"
+
+-#: macro.c:84
++#: macro.c:87
+ #, c-format
+ msgid "macro \"%s\" is not used"
+ msgstr "makroen \"%s\" bliver ikke brugt"
+
+-#: macro.c:123 macro.c:319
++#: macro.c:126 macro.c:322
+ #, c-format
+ msgid "invalid built-in macro \"%s\""
+ msgstr "ugyldig indbygget makro \"%s\""
+
+-#: macro.c:157
++#: macro.c:160
+ #, fuzzy
+ msgid "could not determine file timestamp"
+ msgstr "kunne ikke bestemme dato og tid"
+
+-#: macro.c:254
++#: macro.c:257
+ msgid "could not determine date and time"
+ msgstr "kunne ikke bestemme dato og tid"
+
+-#: macro.c:270
++#: macro.c:273
+ msgid "__COUNTER__ expanded inside directive with -fdirectives-only"
+ msgstr ""
+
+-#: macro.c:423
++#: macro.c:426
+ msgid "invalid string literal, ignoring final '\\'"
+ msgstr "ugyldig strengkonstant, ignorerer afsluttende '\\'"
+
+-#: macro.c:483
++#: macro.c:486
+ #, c-format
+ msgid "pasting \"%s\" and \"%s\" does not give a valid preprocessing token"
+ msgstr "indsættelse af \"%s\" og \"%s\" giver ikke et gyldigt præprocessorsymbol"
+
+-#: macro.c:558
++#: macro.c:561
+ msgid "ISO C99 requires rest arguments to be used"
+ msgstr "ISO C99 påkræver at restparametrene skal bruges"
+
+-#: macro.c:563
++#: macro.c:566
+ #, c-format
+ msgid "macro \"%s\" requires %u arguments, but only %u given"
+ msgstr "makroen \"%s\" kræver %u parametre, men modtager kun %u"
+
+-#: macro.c:568
++#: macro.c:571
+ #, c-format
+ msgid "macro \"%s\" passed %u arguments, but takes just %u"
+ msgstr "makroen \"%s\" bliver viderebragt %u parametre, men tager kun mod %u"
+
+-#: macro.c:679 traditional.c:680
++#: macro.c:730 traditional.c:680
+ #, c-format
+ msgid "unterminated argument list invoking macro \"%s\""
+ msgstr "uafsluttet parameterliste ved kald af makroen \"%s\""
+
+-#: macro.c:782
++#: macro.c:840
+ #, c-format
+ msgid "function-like macro \"%s\" must be used with arguments in traditional C"
+ msgstr "funktionsagtig makro \"%s\" skal bruges med parametre i traditionel C"
+
+-#: macro.c:1325
++#: macro.c:1408
+ #, c-format
+ msgid "duplicate macro parameter \"%s\""
+ msgstr "makroparameternavnet \"%s\" optræder mere end én gang"
+
+-#: macro.c:1371
++#: macro.c:1454
+ #, c-format
+ msgid "\"%s\" may not appear in macro parameter list"
+ msgstr "\"%s\" må ikke optræde i makroparameterliste"
+
+-#: macro.c:1379
++#: macro.c:1462
+ msgid "macro parameters must be comma-separated"
+ msgstr "makroparametre skal være komma-adskilte"
+
+-#: macro.c:1396
++#: macro.c:1479
+ msgid "parameter name missing"
+ msgstr "parameternavn mangler"
+
+-#: macro.c:1413
++#: macro.c:1496
+ msgid "anonymous variadic macros were introduced in C99"
+ msgstr "anonyme makroer med vilkårligt antal parametre blev introduceret i C99"
+
+-#: macro.c:1418
++#: macro.c:1501
+ msgid "ISO C does not permit named variadic macros"
+ msgstr "ISO C tillader ikke navngivne makroer med vilkårligt antal parametre"
+
+-#: macro.c:1427
++#: macro.c:1510
+ msgid "missing ')' in macro parameter list"
+ msgstr "manglende ')' i makroparameterliste"
+
+-#: macro.c:1476
++#: macro.c:1559
+ msgid "'##' cannot appear at either end of a macro expansion"
+ msgstr "'##' må ikke optræde ved nogen af enderne i en makrokrop"
+
+-#: macro.c:1510
++#: macro.c:1593
+ #, fuzzy
+ msgid "ISO C99 requires whitespace after the macro name"
+ msgstr "ISO C påkræver mellemrum efter makronavnet"
+
+-#: macro.c:1534
++#: macro.c:1617
+ #, fuzzy
+ msgid "missing whitespace after the macro name"
+ msgstr "ISO C påkræver mellemrum efter makronavnet"
+
+-#: macro.c:1564
++#: macro.c:1647
+ msgid "'#' is not followed by a macro parameter"
+ msgstr "'#' efterfølges ikke af en makroparameter"
+
+-#: macro.c:1683
++#: macro.c:1766
+ #, c-format
+ msgid "\"%s\" redefined"
+ msgstr "\"%s\" omdefineret"
+
+-#: macro.c:1688
++#: macro.c:1771
+ msgid "this is the location of the previous definition"
+ msgstr "den foregående definition er her"
+
+-#: macro.c:1738
++#: macro.c:1828
+ #, c-format
+ msgid "macro argument \"%s\" would be stringified in traditional C"
+ msgstr "makroparameteren \"%s\" ville blive gjort til en streng i traditionel C"
+
+-#: macro.c:1761
++#: macro.c:1851
+ #, c-format
+ msgid "invalid hash type %d in cpp_macro_definition"
+ msgstr "ugyldig hashtype %d i cpp_macro_definition"
+@@ -1034,7 +1039,7 @@
+ msgid "detected recursion whilst expanding macro \"%s\""
+ msgstr "opdagede rekursion ved udfoldelse af makroen \"%s\""
+
+-#: traditional.c:917
++#: traditional.c:968
+ #, fuzzy
+ msgid "syntax error in macro parameter list"
+ msgstr "\"%s\" må ikke optræde i makroparameterliste"
+@@ -6436,9 +6441,6 @@
+ #~ msgid "Control the precision given to fp exceptions"
+ #~ msgstr "Kontrollér den præcision der gives til kommatalsundtagelser"
+
+-#~ msgid "Tune expected memory latency"
+-#~ msgstr "Justér den forventede hukommelsesventetid"
+-
+ #~ msgid "Specify bit size of immediate TLS offsets"
+ #~ msgstr "Angiv bitstørrelse for umiddelbar TLS-afsæt"
+
+Index: libcpp/po/tr.po
+===================================================================
+--- libcpp/po/tr.po (.../tags/gcc_4_3_0_release) (revision 133808)
++++ libcpp/po/tr.po (.../branches/gcc-4_3-branch) (revision 133808)
+@@ -6,7 +6,7 @@
+ msgstr ""
+ "Project-Id-Version: cpplib 4.2.0\n"
+ "Report-Msgid-Bugs-To: http://gcc.gnu.org/bugs.html\n"
+-"POT-Creation-Date: 2007-11-08 21:08+0000\n"
++"POT-Creation-Date: 2008-02-01 16:21+0000\n"
+ "PO-Revision-Date: 2007-05-23 01:17+0300\n"
+ "Last-Translator: Nilgün Belma Bugüner <nilgun@buguner.name.tr>\n"
+ "Language-Team: Turkish <gnu-tr-u12a@lists.sourceforge.net>\n"
+@@ -16,136 +16,136 @@
+ "X-Generator: KBabel 1.11.4\n"
+ "Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+-#: charset.c:654
++#: charset.c:671
+ #, c-format
+ msgid "conversion from %s to %s not supported by iconv"
+ msgstr "%s ile %s arasında dönüşüm iconv tarafından desteklenmiyor"
+
+-#: charset.c:657
++#: charset.c:674
+ msgid "iconv_open"
+ msgstr "iconv_open"
+
+-#: charset.c:665
++#: charset.c:682
+ #, c-format
+ msgid "no iconv implementation, cannot convert from %s to %s"
+ msgstr "iconv bulunamadığından %s ile %s karakter kümeleri arasında dönüşüm yapılamıyor"
+
+-#: charset.c:742
++#: charset.c:759
+ #, c-format
+ msgid "character 0x%lx is not in the basic source character set\n"
+ msgstr "0x%lx karakteri temel kaynak karakter kümesinde değil\n"
+
+-#: charset.c:759 charset.c:1352
++#: charset.c:776 charset.c:1369
+ msgid "converting to execution character set"
+ msgstr "çalışma karakter kümesine dönüştürülüyor"
+
+-#: charset.c:765
++#: charset.c:782
+ #, c-format
+ msgid "character 0x%lx is not unibyte in execution character set"
+ msgstr "0x%lx karakteri icra karakter kümesindeki tek baytlık karakterlerden değil"
+
+-#: charset.c:889
++#: charset.c:906
+ #, c-format
+ msgid "Character %x might not be NFKC"
+ msgstr "%x karakteri NFKC olmayabilir"
+
+-#: charset.c:949
++#: charset.c:966
+ msgid "universal character names are only valid in C++ and C99"
+ msgstr "evrensel karakter isimleri sadece C++ ve C99 için geçerlidir"
+
+-#: charset.c:952
++#: charset.c:969
+ #, c-format
+ msgid "the meaning of '\\%c' is different in traditional C"
+ msgstr "`\\%c'nin anlamı geleneksel C'de farklıdır"
+
+-#: charset.c:961
++#: charset.c:978
+ msgid "In _cpp_valid_ucn but not a UCN"
+ msgstr "Bir UCN içinde değil, _cpp_valid_ucn içinde"
+
+-#: charset.c:986
++#: charset.c:1003
+ #, c-format
+ msgid "incomplete universal character name %.*s"
+ msgstr "evrensel karakter ismi %.*s tamamlanmamış"
+
+-#: charset.c:998
++#: charset.c:1015
+ #, c-format
+ msgid "%.*s is not a valid universal character"
+ msgstr "%.*s geçerli bir evrensel karakter değil"
+
+-#: charset.c:1008 lex.c:484
++#: charset.c:1025 lex.c:484
+ msgid "'$' in identifier or number"
+ msgstr "belirteç ya da sayı içinde '$'"
+
+-#: charset.c:1018
++#: charset.c:1035
+ #, c-format
+ msgid "universal character %.*s is not valid in an identifier"
+ msgstr "evrensel karakter %.*s bir belirteç içinde geçerli değil"
+
+-#: charset.c:1022
++#: charset.c:1039
+ #, c-format
+ msgid "universal character %.*s is not valid at the start of an identifier"
+ msgstr "evrensel karakter %.*s bir belirtecin başında geçerli değil"
+
+-#: charset.c:1056 charset.c:1571
++#: charset.c:1073 charset.c:1588
+ msgid "converting UCN to source character set"
+ msgstr "UCN'den kaynak karakter kümesine dönüşüm"
+
+-#: charset.c:1060
++#: charset.c:1077
+ msgid "converting UCN to execution character set"
+ msgstr "UCN'den icra karakter kümesine dönüşüm"
+
+-#: charset.c:1132
++#: charset.c:1149
+ msgid "the meaning of '\\x' is different in traditional C"
+ msgstr "'\\x'in anlamı geleneksel C'de farklıdır"
+
+-#: charset.c:1149
++#: charset.c:1166
+ msgid "\\x used with no following hex digits"
+ msgstr "\\x izleyen onaltılık rakamlar olmaksızın kullanılmış"
+
+-#: charset.c:1156
++#: charset.c:1173
+ msgid "hex escape sequence out of range"
+ msgstr "onaltılık önceleme dizgesi kapsamdışı"
+
+-#: charset.c:1195
++#: charset.c:1212
+ msgid "octal escape sequence out of range"
+ msgstr "sekizlik önceleme dizgesi kapsamdışı"
+
+-#: charset.c:1263
++#: charset.c:1280
+ msgid "the meaning of '\\a' is different in traditional C"
+ msgstr "`\\a'nın anlamı geleneksel C'de farklıdır"
+
+-#: charset.c:1270
++#: charset.c:1287
+ #, c-format
+ msgid "non-ISO-standard escape sequence, '\\%c'"
+ msgstr "ISO standardı olmayan önceleme dizgesi, '\\%c'"
+
+-#: charset.c:1278
++#: charset.c:1295
+ #, c-format
+ msgid "unknown escape sequence '\\%c'"
+ msgstr "bilinmeyen önceleme dizgesi '\\%c'"
+
+-#: charset.c:1286
++#: charset.c:1303
+ #, c-format
+ msgid "unknown escape sequence: '\\%s'"
+ msgstr "bilinmeyen önceleme dizgesi '\\%s'"
+
+-#: charset.c:1293
++#: charset.c:1310
+ msgid "converting escape sequence to execution character set"
+ msgstr "önceleme diziliminden icra karakter kümesine dönüşüm"
+
+-#: charset.c:1415 charset.c:1478
++#: charset.c:1432 charset.c:1495
+ msgid "character constant too long for its type"
+ msgstr "karakter sabiti, türü için çok uzun"
+
+-#: charset.c:1418
++#: charset.c:1435
+ msgid "multi-character character constant"
+ msgstr "çoklu-karakter karakter sabiti"
+
+-#: charset.c:1510
++#: charset.c:1527
+ msgid "empty character constant"
+ msgstr "karakter sabit boÅŸ"
+
+-#: charset.c:1612
++#: charset.c:1629
+ #, c-format
+ msgid "failure to convert %s to %s"
+ msgstr "`%s' ile `%s' arasında dönüşüm başarısız"
+@@ -238,139 +238,143 @@
+ msgstr "satır yönergesinde geçersiz \"%s\" seçeneği"
+
+ #: directives.c:868
++msgid "unexpected end of file after #line"
++msgstr ""
++
++#: directives.c:871
+ #, c-format
+ msgid "\"%s\" after #line is not a positive integer"
+ msgstr "#line'dan sonraki \"%s\" bir pozitif tamsayı değil"
+
+-#: directives.c:874
++#: directives.c:877
+ msgid "line number out of range"
+ msgstr "satır numarası kapsam dışı"
+
+-#: directives.c:887 directives.c:964
++#: directives.c:890 directives.c:969
+ #, c-format
+ msgid "\"%s\" is not a valid filename"
+ msgstr "\"%s\" geçerli bir dosya ismi değil"
+
+-#: directives.c:924
++#: directives.c:929
+ #, c-format
+ msgid "\"%s\" after # is not a positive integer"
+ msgstr "#'dan sonraki \"%s\" bir pozitif tamsayı değil"
+
+-#: directives.c:1026
++#: directives.c:1031
+ #, c-format
+ msgid "invalid #%s directive"
+ msgstr "#%s yönergesi geçersiz"
+
+-#: directives.c:1089
++#: directives.c:1094
+ #, c-format
+ msgid "registering pragmas in namespace \"%s\" with mismatched name expansion"
+ msgstr "\"%s\" isim-alanındaki pragmalar uyumsuz isim yorumlaması ile kaydediliyor"
+
+-#: directives.c:1098
++#: directives.c:1103
+ #, c-format
+ msgid "registering pragma \"%s\" with name expansion and no namespace"
+ msgstr "pragma \"%s\" isim alansız olarak isim yorumlamasıyla kaydediliyor"
+
+-#: directives.c:1116
++#: directives.c:1121
+ #, c-format
+ msgid "registering \"%s\" as both a pragma and a pragma namespace"
+ msgstr "\"%s\" hem pragma hem de pragma isim alanı olarak kaydediliyor"
+
+-#: directives.c:1119
++#: directives.c:1124
+ #, c-format
+ msgid "#pragma %s %s is already registered"
+ msgstr "#pragma %s %s zaten kayıtlı"
+
+-#: directives.c:1122
++#: directives.c:1127
+ #, c-format
+ msgid "#pragma %s is already registered"
+ msgstr "#pragma %s zaten kayıtlı"
+
+-#: directives.c:1152
++#: directives.c:1157
+ msgid "registering pragma with NULL handler"
+ msgstr "pragma NULL eylemci ile kaydediliyor"
+
+-#: directives.c:1362
++#: directives.c:1367
+ msgid "#pragma once in main file"
+ msgstr "main dosyasında '#pragma once'"
+
+-#: directives.c:1385
++#: directives.c:1390
+ msgid "invalid #pragma GCC poison directive"
+ msgstr "geçersiz #pragma GCC poison yönergesi"
+
+-#: directives.c:1394
++#: directives.c:1399
+ #, c-format
+ msgid "poisoning existing macro \"%s\""
+ msgstr "zehirlenen mevcut makro \"%s\""
+
+-#: directives.c:1413
++#: directives.c:1418
+ msgid "#pragma system_header ignored outside include file"
+ msgstr "başlık dosyasının dışındaki '#pragma system_header' yoksayıldı"
+
+-#: directives.c:1437
++#: directives.c:1442
+ #, c-format
+ msgid "cannot find source file %s"
+ msgstr "%s kaynak dosyası bulunamıyor"
+
+-#: directives.c:1441
++#: directives.c:1446
+ #, c-format
+ msgid "current file is older than %s"
+ msgstr "mevcut dosya %s den daha eski"
+
+-#: directives.c:1620
++#: directives.c:1625
+ msgid "_Pragma takes a parenthesized string literal"
+ msgstr "_Pragma bir parantezli dizge sabiti alır"
+
+-#: directives.c:1693
++#: directives.c:1698
+ msgid "#else without #if"
+ msgstr "#if siz #else"
+
+-#: directives.c:1698
++#: directives.c:1703
+ msgid "#else after #else"
+ msgstr "#else den sonra #else"
+
+-#: directives.c:1700 directives.c:1733
++#: directives.c:1705 directives.c:1738
+ msgid "the conditional began here"
+ msgstr "koşul başlangıcı burası"
+
+-#: directives.c:1726
++#: directives.c:1731
+ msgid "#elif without #if"
+ msgstr "#if siz #elif "
+
+-#: directives.c:1731
++#: directives.c:1736
+ msgid "#elif after #else"
+ msgstr "#else den sonra #elif"
+
+-#: directives.c:1761
++#: directives.c:1766
+ msgid "#endif without #if"
+ msgstr "#if siz #endif"
+
+-#: directives.c:1838
++#: directives.c:1843
+ msgid "missing '(' after predicate"
+ msgstr "dayanaktan sonra '(' eksik"
+
+-#: directives.c:1853
++#: directives.c:1858
+ msgid "missing ')' to complete answer"
+ msgstr "yanıtı tamamlayacak ')' eksik"
+
+-#: directives.c:1873
++#: directives.c:1878
+ msgid "predicate's answer is empty"
+ msgstr "dayanakların cevabı boş"
+
+-#: directives.c:1900
++#: directives.c:1905
+ msgid "assertion without predicate"
+ msgstr "dayanaksız olumlama"
+
+-#: directives.c:1902
++#: directives.c:1907
+ msgid "predicate must be an identifier"
+ msgstr "dayanak bir tanımlayıcı olmalı"
+
+-#: directives.c:1988
++#: directives.c:1993
+ #, c-format
+ msgid "\"%s\" re-asserted"
+ msgstr "\"%s\" tekrar olumlanmış"
+
+-#: directives.c:2271
++#: directives.c:2276
+ #, c-format
+ msgid "unterminated #%s"
+ msgstr "sonlandırılmamış #%s"
+@@ -591,39 +595,39 @@
+ msgid "division by zero in #if"
+ msgstr "#if içinde sıfırla bölme"
+
+-#: files.c:442
++#: files.c:458
+ msgid "NULL directory in find_file"
+ msgstr "find_file içinde boş dizin"
+
+-#: files.c:480
++#: files.c:496
+ msgid "one or more PCH files were found, but they were invalid"
+ msgstr "bir veya daha fazla PCH dosyası bulundu ama bunlar geçersiz"
+
+-#: files.c:483
++#: files.c:499
+ msgid "use -Winvalid-pch for more information"
+ msgstr "daha fazla bilgi almak için -Winvalid-pch kullanın"
+
+-#: files.c:570
++#: files.c:589
+ #, c-format
+ msgid "%s is a block device"
+ msgstr "%s bir blok aygıtıdır"
+
+-#: files.c:587
++#: files.c:606
+ #, c-format
+ msgid "%s is too large"
+ msgstr "%s çok büyük"
+
+-#: files.c:622
++#: files.c:641
+ #, c-format
+ msgid "%s is shorter than expected"
+ msgstr "%s beklenenden daha kısa"
+
+-#: files.c:852
++#: files.c:872
+ #, c-format
+ msgid "no include path in which to search for %s"
+ msgstr "%s için aranacaklar içinde başlık dosyaları yolu yok"
+
+-#: files.c:1157
++#: files.c:1238
+ msgid "Multiple include guards may be useful for:\n"
+ msgstr "Çoklu include önlemleri aşağıdakiler için kullanışlı olabilir:\n"
+
+@@ -753,122 +757,122 @@
+ ",\n"
+ "\t\t%s:%u"
+
+-#: macro.c:84
++#: macro.c:87
+ #, c-format
+ msgid "macro \"%s\" is not used"
+ msgstr "\"%s\" makrosu kullanılmadı"
+
+-#: macro.c:123 macro.c:319
++#: macro.c:126 macro.c:322
+ #, c-format
+ msgid "invalid built-in macro \"%s\""
+ msgstr "geçersiz yerleşik makro \"%s\""
+
+-#: macro.c:157
++#: macro.c:160
+ msgid "could not determine file timestamp"
+ msgstr "dosya tarih damgası saptanamadı"
+
+-#: macro.c:254
++#: macro.c:257
+ msgid "could not determine date and time"
+ msgstr "tarih ve saat saptanamadı"
+
+-#: macro.c:270
++#: macro.c:273
+ msgid "__COUNTER__ expanded inside directive with -fdirectives-only"
+ msgstr ""
+
+-#: macro.c:423
++#: macro.c:426
+ msgid "invalid string literal, ignoring final '\\'"
+ msgstr "geçersiz dizge sabit, son '\\' yoksayılıyor"
+
+-#: macro.c:483
++#: macro.c:486
+ #, c-format
+ msgid "pasting \"%s\" and \"%s\" does not give a valid preprocessing token"
+ msgstr "\"%s\" ve \"%s\" geçişi geçerli bir önişlem dizgeciği vermez"
+
+-#: macro.c:558
++#: macro.c:561
+ msgid "ISO C99 requires rest arguments to be used"
+ msgstr "ISO C kalan argümanların kullanılmış olmasını gerektirir"
+
+-#: macro.c:563
++#: macro.c:566
+ #, c-format
+ msgid "macro \"%s\" requires %u arguments, but only %u given"
+ msgstr "makro \"%s\" %u argüman gerektiriyor ama sadece %u argüman verilmiş"
+
+-#: macro.c:568
++#: macro.c:571
+ #, c-format
+ msgid "macro \"%s\" passed %u arguments, but takes just %u"
+ msgstr "makro \"%s\" için %u argüman verilmiş ama tam %u argüman alıyor"
+
+-#: macro.c:679 traditional.c:680
++#: macro.c:730 traditional.c:680
+ #, c-format
+ msgid "unterminated argument list invoking macro \"%s\""
+ msgstr "sonlandırılmamış argüman listesi çağıran makro \"%s\""
+
+-#: macro.c:782
++#: macro.c:840
+ #, c-format
+ msgid "function-like macro \"%s\" must be used with arguments in traditional C"
+ msgstr "işlev benzeri makro \"%s\" geleneksel C'de argümanlarla kullanılmalıdır"
+
+-#: macro.c:1325
++#: macro.c:1408
+ #, c-format
+ msgid "duplicate macro parameter \"%s\""
+ msgstr "yinelenmiÅŸ makro parametresi \"%s\""
+
+-#: macro.c:1371
++#: macro.c:1454
+ #, c-format
+ msgid "\"%s\" may not appear in macro parameter list"
+ msgstr "\"%s\" makro parametre listesinde görünmeyebilir"
+
+-#: macro.c:1379
++#: macro.c:1462
+ msgid "macro parameters must be comma-separated"
+ msgstr "makro parametreleri virgüllerle ayrılmış olmalı"
+
+-#: macro.c:1396
++#: macro.c:1479
+ msgid "parameter name missing"
+ msgstr "parametre ismi eksik"
+
+-#: macro.c:1413
++#: macro.c:1496
+ msgid "anonymous variadic macros were introduced in C99"
+ msgstr "argümanlarının sayısı değişebilen anonim makrolar C99 da tanıtıldı"
+
+-#: macro.c:1418
++#: macro.c:1501
+ msgid "ISO C does not permit named variadic macros"
+ msgstr "ISO C argümanlarının sayısı değişebilen isimli makrolara izin vermez"
+
+-#: macro.c:1427
++#: macro.c:1510
+ msgid "missing ')' in macro parameter list"
+ msgstr "makro parametre listesinde ')' eksik"
+
+-#: macro.c:1476
++#: macro.c:1559
+ msgid "'##' cannot appear at either end of a macro expansion"
+ msgstr "'##' bir makronun her iki ucunda da görünemez"
+
+-#: macro.c:1510
++#: macro.c:1593
+ msgid "ISO C99 requires whitespace after the macro name"
+ msgstr "ISO C99 makro isminden sonra boÅŸluk gerektirir"
+
+-#: macro.c:1534
++#: macro.c:1617
+ msgid "missing whitespace after the macro name"
+ msgstr "makro isminden sonra boÅŸluk gerekir"
+
+-#: macro.c:1564
++#: macro.c:1647
+ msgid "'#' is not followed by a macro parameter"
+ msgstr "'#' iÅŸaretinden sonra bir makro parametresi yok"
+
+-#: macro.c:1683
++#: macro.c:1766
+ #, c-format
+ msgid "\"%s\" redefined"
+ msgstr "\"%s\" yeniden tanımlanmış"
+
+-#: macro.c:1688
++#: macro.c:1771
+ msgid "this is the location of the previous definition"
+ msgstr "burası evvelki tanımın yapıldığı yer"
+
+-#: macro.c:1738
++#: macro.c:1828
+ #, c-format
+ msgid "macro argument \"%s\" would be stringified in traditional C"
+ msgstr "makro argümanı \"%s\" geleneksel C'de dizgelenmiş olmalıydı"
+
+-#: macro.c:1761
++#: macro.c:1851
+ #, c-format
+ msgid "invalid hash type %d in cpp_macro_definition"
+ msgstr "cpp_macro_definition içindeki isimli yapı türü %d geçersiz"
+@@ -906,7 +910,7 @@
+ msgid "detected recursion whilst expanding macro \"%s\""
+ msgstr "makro \"%s\" genişletilirken iç içelik saptandı"
+
+-#: traditional.c:917
++#: traditional.c:968
+ msgid "syntax error in macro parameter list"
+ msgstr "makro parametre listesinde sözdizimi hatası"
+
+Index: libcpp/po/be.po
+===================================================================
+--- libcpp/po/be.po (.../tags/gcc_4_3_0_release) (revision 133808)
++++ libcpp/po/be.po (.../branches/gcc-4_3-branch) (revision 133808)
+@@ -6,7 +6,7 @@
+ msgstr ""
+ "Project-Id-Version: gcc 3.1\n"
+ "Report-Msgid-Bugs-To: http://gcc.gnu.org/bugs.html\n"
+-"POT-Creation-Date: 2007-11-08 21:08+0000\n"
++"POT-Creation-Date: 2008-02-01 16:21+0000\n"
+ "PO-Revision-Date: 2002-05-17 15:54+0200\n"
+ "Last-Translator: Ales Nyakhaychyk <nyakhaychyk@i18n.linux.by>\n"
+ "Language-Team: Belarusian <i18n@tut.by>\n"
+@@ -14,137 +14,137 @@
+ "Content-Type: text/plain; charset=utf-8\n"
+ "Content-Transfer-Encoding: 8bit\n"
+
+-#: charset.c:654
++#: charset.c:671
+ #, c-format
+ msgid "conversion from %s to %s not supported by iconv"
+ msgstr ""
+
+-#: charset.c:657
++#: charset.c:674
+ msgid "iconv_open"
+ msgstr ""
+
+-#: charset.c:665
++#: charset.c:682
+ #, c-format
+ msgid "no iconv implementation, cannot convert from %s to %s"
+ msgstr ""
+
+-#: charset.c:742
++#: charset.c:759
+ #, c-format
+ msgid "character 0x%lx is not in the basic source character set\n"
+ msgstr ""
+
+-#: charset.c:759 charset.c:1352
++#: charset.c:776 charset.c:1369
+ msgid "converting to execution character set"
+ msgstr ""
+
+-#: charset.c:765
++#: charset.c:782
+ #, c-format
+ msgid "character 0x%lx is not unibyte in execution character set"
+ msgstr ""
+
+-#: charset.c:889
++#: charset.c:906
+ #, c-format
+ msgid "Character %x might not be NFKC"
+ msgstr ""
+
+-#: charset.c:949
++#: charset.c:966
+ msgid "universal character names are only valid in C++ and C99"
+ msgstr ""
+
+-#: charset.c:952
++#: charset.c:969
+ #, c-format
+ msgid "the meaning of '\\%c' is different in traditional C"
+ msgstr ""
+
+-#: charset.c:961
++#: charset.c:978
+ msgid "In _cpp_valid_ucn but not a UCN"
+ msgstr ""
+
+-#: charset.c:986
++#: charset.c:1003
+ #, c-format
+ msgid "incomplete universal character name %.*s"
+ msgstr ""
+
+-#: charset.c:998
++#: charset.c:1015
+ #, fuzzy, c-format
+ msgid "%.*s is not a valid universal character"
+ msgstr "\"%s\" - гÑта не пачатак дÑкларацыі"
+
+-#: charset.c:1008 lex.c:484
++#: charset.c:1025 lex.c:484
+ msgid "'$' in identifier or number"
+ msgstr ""
+
+-#: charset.c:1018
++#: charset.c:1035
+ #, c-format
+ msgid "universal character %.*s is not valid in an identifier"
+ msgstr ""
+
+-#: charset.c:1022
++#: charset.c:1039
+ #, c-format
+ msgid "universal character %.*s is not valid at the start of an identifier"
+ msgstr ""
+
+-#: charset.c:1056 charset.c:1571
++#: charset.c:1073 charset.c:1588
+ msgid "converting UCN to source character set"
+ msgstr ""
+
+-#: charset.c:1060
++#: charset.c:1077
+ msgid "converting UCN to execution character set"
+ msgstr ""
+
+-#: charset.c:1132
++#: charset.c:1149
+ msgid "the meaning of '\\x' is different in traditional C"
+ msgstr ""
+
+-#: charset.c:1149
++#: charset.c:1166
+ msgid "\\x used with no following hex digits"
+ msgstr ""
+
+-#: charset.c:1156
++#: charset.c:1173
+ msgid "hex escape sequence out of range"
+ msgstr ""
+
+-#: charset.c:1195
++#: charset.c:1212
+ msgid "octal escape sequence out of range"
+ msgstr ""
+
+-#: charset.c:1263
++#: charset.c:1280
+ msgid "the meaning of '\\a' is different in traditional C"
+ msgstr ""
+
+-#: charset.c:1270
++#: charset.c:1287
+ #, c-format
+ msgid "non-ISO-standard escape sequence, '\\%c'"
+ msgstr ""
+
+-#: charset.c:1278
++#: charset.c:1295
+ #, c-format
+ msgid "unknown escape sequence '\\%c'"
+ msgstr "невÑÐ´Ð¾Ð¼Ð°Ñ ESC-паÑлÑдоўнаÑць '\\%c'"
+
+-#: charset.c:1286
++#: charset.c:1303
+ #, fuzzy, c-format
+ msgid "unknown escape sequence: '\\%s'"
+ msgstr "невÑÐ´Ð¾Ð¼Ð°Ñ ESC-паÑлÑдоўнаÑць '\\%c'"
+
+-#: charset.c:1293
++#: charset.c:1310
+ msgid "converting escape sequence to execution character set"
+ msgstr ""
+
+-#: charset.c:1415 charset.c:1478
++#: charset.c:1432 charset.c:1495
+ #, fuzzy
+ msgid "character constant too long for its type"
+ msgstr "ÑÑ–Ð¼Ð²Ð°Ð»ÑŒÐ½Ð°Ñ ÐºÐ°Ð½Ñтанта вельмі доўгаÑ"
+
+-#: charset.c:1418
++#: charset.c:1435
+ msgid "multi-character character constant"
+ msgstr "мнагаÑÑ–Ð¼Ð²Ð°Ð»ÑŒÐ½Ð°Ñ ÑÑ–Ð¼Ð²Ð°Ð»ÑŒÐ½Ð°Ñ ÐºÐ°Ð½Ñтанта"
+
+-#: charset.c:1510
++#: charset.c:1527
+ msgid "empty character constant"
+ msgstr "пуÑÑ‚Ð°Ñ ÑÑ–Ð¼Ð²Ð°Ð»ÑŒÐ½Ð°Ñ ÐºÐ°Ð½Ñтанта"
+
+-#: charset.c:1612
++#: charset.c:1629
+ #, c-format
+ msgid "failure to convert %s to %s"
+ msgstr ""
+@@ -237,139 +237,143 @@
+ msgstr ""
+
+ #: directives.c:868
++msgid "unexpected end of file after #line"
++msgstr ""
++
++#: directives.c:871
+ #, c-format
+ msgid "\"%s\" after #line is not a positive integer"
+ msgstr ""
+
+-#: directives.c:874
++#: directives.c:877
+ msgid "line number out of range"
+ msgstr ""
+
+-#: directives.c:887 directives.c:964
++#: directives.c:890 directives.c:969
+ #, c-format
+ msgid "\"%s\" is not a valid filename"
+ msgstr ""
+
+-#: directives.c:924
++#: directives.c:929
+ #, c-format
+ msgid "\"%s\" after # is not a positive integer"
+ msgstr ""
+
+-#: directives.c:1026
++#: directives.c:1031
+ #, fuzzy, c-format
+ msgid "invalid #%s directive"
+ msgstr "нерÑчаіÑны ініцыÑлізатар"
+
+-#: directives.c:1089
++#: directives.c:1094
+ #, c-format
+ msgid "registering pragmas in namespace \"%s\" with mismatched name expansion"
+ msgstr ""
+
+-#: directives.c:1098
++#: directives.c:1103
+ #, c-format
+ msgid "registering pragma \"%s\" with name expansion and no namespace"
+ msgstr ""
+
+-#: directives.c:1116
++#: directives.c:1121
+ #, c-format
+ msgid "registering \"%s\" as both a pragma and a pragma namespace"
+ msgstr ""
+
+-#: directives.c:1119
++#: directives.c:1124
+ #, fuzzy, c-format
+ msgid "#pragma %s %s is already registered"
+ msgstr "ÐšÐ»Ð°Ñ \"%s\" ужо Ñ–Ñнуе"
+
+-#: directives.c:1122
++#: directives.c:1127
+ #, c-format
+ msgid "#pragma %s is already registered"
+ msgstr ""
+
+-#: directives.c:1152
++#: directives.c:1157
+ msgid "registering pragma with NULL handler"
+ msgstr ""
+
+-#: directives.c:1362
++#: directives.c:1367
+ msgid "#pragma once in main file"
+ msgstr ""
+
+-#: directives.c:1385
++#: directives.c:1390
+ msgid "invalid #pragma GCC poison directive"
+ msgstr ""
+
+-#: directives.c:1394
++#: directives.c:1399
+ #, c-format
+ msgid "poisoning existing macro \"%s\""
+ msgstr ""
+
+-#: directives.c:1413
++#: directives.c:1418
+ msgid "#pragma system_header ignored outside include file"
+ msgstr ""
+
+-#: directives.c:1437
++#: directives.c:1442
+ #, fuzzy, c-format
+ msgid "cannot find source file %s"
+ msgstr "не магу знайÑці крыніцу %s"
+
+-#: directives.c:1441
++#: directives.c:1446
+ #, c-format
+ msgid "current file is older than %s"
+ msgstr ""
+
+-#: directives.c:1620
++#: directives.c:1625
+ msgid "_Pragma takes a parenthesized string literal"
+ msgstr ""
+
+-#: directives.c:1693
++#: directives.c:1698
+ msgid "#else without #if"
+ msgstr ""
+
+-#: directives.c:1698
++#: directives.c:1703
+ msgid "#else after #else"
+ msgstr ""
+
+-#: directives.c:1700 directives.c:1733
++#: directives.c:1705 directives.c:1738
+ msgid "the conditional began here"
+ msgstr ""
+
+-#: directives.c:1726
++#: directives.c:1731
+ msgid "#elif without #if"
+ msgstr ""
+
+-#: directives.c:1731
++#: directives.c:1736
+ msgid "#elif after #else"
+ msgstr ""
+
+-#: directives.c:1761
++#: directives.c:1766
+ msgid "#endif without #if"
+ msgstr ""
+
+-#: directives.c:1838
++#: directives.c:1843
+ msgid "missing '(' after predicate"
+ msgstr ""
+
+-#: directives.c:1853
++#: directives.c:1858
+ msgid "missing ')' to complete answer"
+ msgstr ""
+
+-#: directives.c:1873
++#: directives.c:1878
+ msgid "predicate's answer is empty"
+ msgstr ""
+
+-#: directives.c:1900
++#: directives.c:1905
+ msgid "assertion without predicate"
+ msgstr ""
+
+-#: directives.c:1902
++#: directives.c:1907
+ msgid "predicate must be an identifier"
+ msgstr ""
+
+-#: directives.c:1988
++#: directives.c:1993
+ #, c-format
+ msgid "\"%s\" re-asserted"
+ msgstr ""
+
+-#: directives.c:2271
++#: directives.c:2276
+ #, c-format
+ msgid "unterminated #%s"
+ msgstr ""
+@@ -588,39 +592,39 @@
+ msgid "division by zero in #if"
+ msgstr ""
+
+-#: files.c:442
++#: files.c:458
+ msgid "NULL directory in find_file"
+ msgstr ""
+
+-#: files.c:480
++#: files.c:496
+ msgid "one or more PCH files were found, but they were invalid"
+ msgstr ""
+
+-#: files.c:483
++#: files.c:499
+ msgid "use -Winvalid-pch for more information"
+ msgstr ""
+
+-#: files.c:570
++#: files.c:589
+ #, c-format
+ msgid "%s is a block device"
+ msgstr "%s - гÑта Ð±Ð»Ñ‘Ñ‡Ð½Ð°Ñ Ð¿Ñ€Ñ‹Ð»Ð°Ð´Ð°"
+
+-#: files.c:587
++#: files.c:606
+ #, c-format
+ msgid "%s is too large"
+ msgstr "%s - вельмі вÑлікі"
+
+-#: files.c:622
++#: files.c:641
+ #, c-format
+ msgid "%s is shorter than expected"
+ msgstr ""
+
+-#: files.c:852
++#: files.c:872
+ #, c-format
+ msgid "no include path in which to search for %s"
+ msgstr ""
+
+-#: files.c:1157
++#: files.c:1238
+ msgid "Multiple include guards may be useful for:\n"
+ msgstr ""
+
+@@ -746,125 +750,125 @@
+ " from %s:%u"
+ msgstr ""
+
+-#: macro.c:84
++#: macro.c:87
+ #, c-format
+ msgid "macro \"%s\" is not used"
+ msgstr ""
+
+-#: macro.c:123 macro.c:319
++#: macro.c:126 macro.c:322
+ #, c-format
+ msgid "invalid built-in macro \"%s\""
+ msgstr ""
+
+-#: macro.c:157
++#: macro.c:160
+ #, fuzzy
+ msgid "could not determine file timestamp"
+ msgstr "не магу знайÑці крыніцу %s\n"
+
+-#: macro.c:254
++#: macro.c:257
+ #, fuzzy
+ msgid "could not determine date and time"
+ msgstr "Ðемагчыма адчыніць файл з дадзенымі %s.\n"
+
+-#: macro.c:270
++#: macro.c:273
+ msgid "__COUNTER__ expanded inside directive with -fdirectives-only"
+ msgstr ""
+
+-#: macro.c:423
++#: macro.c:426
+ msgid "invalid string literal, ignoring final '\\'"
+ msgstr ""
+
+-#: macro.c:483
++#: macro.c:486
+ #, c-format
+ msgid "pasting \"%s\" and \"%s\" does not give a valid preprocessing token"
+ msgstr ""
+
+-#: macro.c:558
++#: macro.c:561
+ msgid "ISO C99 requires rest arguments to be used"
+ msgstr ""
+
+-#: macro.c:563
++#: macro.c:566
+ #, c-format
+ msgid "macro \"%s\" requires %u arguments, but only %u given"
+ msgstr ""
+
+-#: macro.c:568
++#: macro.c:571
+ #, c-format
+ msgid "macro \"%s\" passed %u arguments, but takes just %u"
+ msgstr ""
+
+-#: macro.c:679 traditional.c:680
++#: macro.c:730 traditional.c:680
+ #, c-format
+ msgid "unterminated argument list invoking macro \"%s\""
+ msgstr ""
+
+-#: macro.c:782
++#: macro.c:840
+ #, c-format
+ msgid "function-like macro \"%s\" must be used with arguments in traditional C"
+ msgstr ""
+
+-#: macro.c:1325
++#: macro.c:1408
+ #, c-format
+ msgid "duplicate macro parameter \"%s\""
+ msgstr ""
+
+-#: macro.c:1371
++#: macro.c:1454
+ #, c-format
+ msgid "\"%s\" may not appear in macro parameter list"
+ msgstr ""
+
+-#: macro.c:1379
++#: macro.c:1462
+ msgid "macro parameters must be comma-separated"
+ msgstr ""
+
+-#: macro.c:1396
++#: macro.c:1479
+ msgid "parameter name missing"
+ msgstr ""
+
+-#: macro.c:1413
++#: macro.c:1496
+ msgid "anonymous variadic macros were introduced in C99"
+ msgstr ""
+
+-#: macro.c:1418
++#: macro.c:1501
+ msgid "ISO C does not permit named variadic macros"
+ msgstr ""
+
+-#: macro.c:1427
++#: macro.c:1510
+ msgid "missing ')' in macro parameter list"
+ msgstr ""
+
+-#: macro.c:1476
++#: macro.c:1559
+ msgid "'##' cannot appear at either end of a macro expansion"
+ msgstr ""
+
+-#: macro.c:1510
++#: macro.c:1593
+ msgid "ISO C99 requires whitespace after the macro name"
+ msgstr ""
+
+-#: macro.c:1534
++#: macro.c:1617
+ #, fuzzy
+ msgid "missing whitespace after the macro name"
+ msgstr "прапушчан прабел паÑÐ»Ñ Ð½ÑƒÐ¼Ð°Ñ€Ð° \"%.*s\""
+
+-#: macro.c:1564
++#: macro.c:1647
+ msgid "'#' is not followed by a macro parameter"
+ msgstr ""
+
+-#: macro.c:1683
++#: macro.c:1766
+ #, c-format
+ msgid "\"%s\" redefined"
+ msgstr ""
+
+-#: macro.c:1688
++#: macro.c:1771
+ msgid "this is the location of the previous definition"
+ msgstr ""
+
+-#: macro.c:1738
++#: macro.c:1828
+ #, c-format
+ msgid "macro argument \"%s\" would be stringified in traditional C"
+ msgstr ""
+
+-#: macro.c:1761
++#: macro.c:1851
+ #, c-format
+ msgid "invalid hash type %d in cpp_macro_definition"
+ msgstr ""
+@@ -902,7 +906,7 @@
+ msgid "detected recursion whilst expanding macro \"%s\""
+ msgstr ""
+
+-#: traditional.c:917
++#: traditional.c:968
+ msgid "syntax error in macro parameter list"
+ msgstr ""
+
+Index: libcpp/po/sv.po
+===================================================================
+--- libcpp/po/sv.po (.../tags/gcc_4_3_0_release) (revision 133808)
++++ libcpp/po/sv.po (.../branches/gcc-4_3-branch) (revision 133808)
+@@ -8,146 +8,146 @@
+ #
+ msgid ""
+ msgstr ""
+-"Project-Id-Version: cpplib 4.3-b20071109\n"
++"Project-Id-Version: cpplib 4.3.0\n"
+ "Report-Msgid-Bugs-To: http://gcc.gnu.org/bugs.html\n"
+-"POT-Creation-Date: 2007-11-08 21:08+0000\n"
+-"PO-Revision-Date: 2008-01-20 15:24+0100\n"
++"POT-Creation-Date: 2008-02-01 16:21+0000\n"
++"PO-Revision-Date: 2008-03-14 20:31+0100\n"
+ "Last-Translator: Göran Uddeborg <goeran@uddeborg.se>\n"
+ "Language-Team: Swedish <tp-sv@listor.tp-sv.se>\n"
+ "MIME-Version: 1.0\n"
+ "Content-Type: text/plain; charset=iso-8859-1\n"
+ "Content-Transfer-Encoding: 8-bit\n"
+
+-#: charset.c:654
++#: charset.c:671
+ #, c-format
+ msgid "conversion from %s to %s not supported by iconv"
+ msgstr "konveretering från %s till %s stöds inte av iconv"
+
+-#: charset.c:657
++#: charset.c:674
+ msgid "iconv_open"
+ msgstr "iconv_open"
+
+-#: charset.c:665
++#: charset.c:682
+ #, c-format
+ msgid "no iconv implementation, cannot convert from %s to %s"
+ msgstr "ingen iconv-implementation, kan inte konvertera från %s till %s"
+
+-#: charset.c:742
++#: charset.c:759
+ #, c-format
+ msgid "character 0x%lx is not in the basic source character set\n"
+ msgstr "tecken 0x%lx finns inte i källkodens grundteckenuppsättning\n"
+
+-#: charset.c:759 charset.c:1352
++#: charset.c:776 charset.c:1369
+ msgid "converting to execution character set"
+ msgstr "konverterar till teckenuppsättning för körning"
+
+-#: charset.c:765
++#: charset.c:782
+ #, c-format
+ msgid "character 0x%lx is not unibyte in execution character set"
+ msgstr "tecken 0x%lx är inte en byte i teckenupsättning för körning"
+
+-#: charset.c:889
++#: charset.c:906
+ #, c-format
+ msgid "Character %x might not be NFKC"
+ msgstr "Tecknet %x är kanske inte NFKC"
+
+-#: charset.c:949
++#: charset.c:966
+ msgid "universal character names are only valid in C++ and C99"
+ msgstr "universella teckennamn är endast giltiga i C++ och C99"
+
+-#: charset.c:952
++#: charset.c:969
+ #, c-format
+ msgid "the meaning of '\\%c' is different in traditional C"
+ msgstr "betydelsen av \"\\%c\" är annorlunda i traditionell C"
+
+-#: charset.c:961
++#: charset.c:978
+ msgid "In _cpp_valid_ucn but not a UCN"
+ msgstr "I _cpp_valid_ucn men inte en UCN"
+
+-#: charset.c:986
++#: charset.c:1003
+ #, c-format
+ msgid "incomplete universal character name %.*s"
+ msgstr "ofullständigt unversellt teckennamn %.*s"
+
+-#: charset.c:998
++#: charset.c:1015
+ #, c-format
+ msgid "%.*s is not a valid universal character"
+ msgstr "%.*s är inte ett giltigt universellt tecken"
+
+-#: charset.c:1008 lex.c:484
++#: charset.c:1025 lex.c:484
+ msgid "'$' in identifier or number"
+ msgstr "\"$\" i identifierare eller tal"
+
+-#: charset.c:1018
++#: charset.c:1035
+ #, c-format
+ msgid "universal character %.*s is not valid in an identifier"
+ msgstr "universellt tecken %.*s är inte giltigt i en identifierare"
+
+-#: charset.c:1022
++#: charset.c:1039
+ #, c-format
+ msgid "universal character %.*s is not valid at the start of an identifier"
+ msgstr "universellt tecken %.*s är inte giltigt vid början av en identifierare"
+
+-#: charset.c:1056 charset.c:1571
++#: charset.c:1073 charset.c:1588
+ msgid "converting UCN to source character set"
+ msgstr "vid konvertering av UCN källteckenuppsättning"
+
+-#: charset.c:1060
++#: charset.c:1077
+ msgid "converting UCN to execution character set"
+ msgstr "vid konverting av UCN till teckenuppsättning för körning"
+
+-#: charset.c:1132
++#: charset.c:1149
+ msgid "the meaning of '\\x' is different in traditional C"
+ msgstr "betydelsen av \"\\x\" är annorlunda i traditionell C"
+
+-#: charset.c:1149
++#: charset.c:1166
+ msgid "\\x used with no following hex digits"
+ msgstr "\\x använt utan några följande hexadecimala siffror"
+
+-#: charset.c:1156
++#: charset.c:1173
+ msgid "hex escape sequence out of range"
+ msgstr "hexadecimal specialsekvens utanför intervallet"
+
+-#: charset.c:1195
++#: charset.c:1212
+ msgid "octal escape sequence out of range"
+ msgstr "oktal specialsekvens utanför intervallet"
+
+-#: charset.c:1263
++#: charset.c:1280
+ msgid "the meaning of '\\a' is different in traditional C"
+ msgstr "betydelsen av \"\\a\" är annorlunda i traditionell C"
+
+-#: charset.c:1270
++#: charset.c:1287
+ #, c-format
+ msgid "non-ISO-standard escape sequence, '\\%c'"
+ msgstr "icke-ISO-standardspecialsekvens, \"\\%c\""
+
+-#: charset.c:1278
++#: charset.c:1295
+ #, c-format
+ msgid "unknown escape sequence '\\%c'"
+ msgstr "okänd escape-sekvens \"\\%c\""
+
+-#: charset.c:1286
++#: charset.c:1303
+ #, c-format
+ msgid "unknown escape sequence: '\\%s'"
+ msgstr "okänd escape-sekvens: \"\\%s\""
+
+-#: charset.c:1293
++#: charset.c:1310
+ msgid "converting escape sequence to execution character set"
+ msgstr "vid konvertering av specialsekvens till teckenuppsättning för körning"
+
+-#: charset.c:1415 charset.c:1478
++#: charset.c:1432 charset.c:1495
+ msgid "character constant too long for its type"
+ msgstr "teckenkonstant för lång för sin typ"
+
+-#: charset.c:1418
++#: charset.c:1435
+ msgid "multi-character character constant"
+ msgstr "flerteckens teckenkonstant"
+
+-#: charset.c:1510
++#: charset.c:1527
+ msgid "empty character constant"
+ msgstr "tom teckenkonstant"
+
+-#: charset.c:1612
++#: charset.c:1629
+ #, c-format
+ msgid "failure to convert %s to %s"
+ msgstr "misslyckades att konvertera %s till %s"
+@@ -240,139 +240,143 @@
+ msgstr "ogiltigt flagga \"%s\" i line-direktiv"
+
+ #: directives.c:868
++msgid "unexpected end of file after #line"
++msgstr "oväntat filslut efter #line"
++
++#: directives.c:871
+ #, c-format
+ msgid "\"%s\" after #line is not a positive integer"
+ msgstr "\"%s\" efter #line är inte ett positivt heltal"
+
+-#: directives.c:874
++#: directives.c:877
+ msgid "line number out of range"
+ msgstr "radnummer utanför möjligt intervall"
+
+-#: directives.c:887 directives.c:964
++#: directives.c:890 directives.c:969
+ #, c-format
+ msgid "\"%s\" is not a valid filename"
+ msgstr "\"%s\" är inte ett giltigt filnamn"
+
+-#: directives.c:924
++#: directives.c:929
+ #, c-format
+ msgid "\"%s\" after # is not a positive integer"
+ msgstr "\"%s\" efter # är inte ett positivt heltal"
+
+-#: directives.c:1026
++#: directives.c:1031
+ #, c-format
+ msgid "invalid #%s directive"
+ msgstr "ogiltigt #%s-direktiv"
+
+-#: directives.c:1089
++#: directives.c:1094
+ #, c-format
+ msgid "registering pragmas in namespace \"%s\" with mismatched name expansion"
+ msgstr "registrerar pragman i namnrymden \"%s\" med namnexpansion som inte passar ihop"
+
+-#: directives.c:1098
++#: directives.c:1103
+ #, c-format
+ msgid "registering pragma \"%s\" with name expansion and no namespace"
+ msgstr "registrerar pragma \"%s\" med namnexpansion och utan namnrymd"
+
+-#: directives.c:1116
++#: directives.c:1121
+ #, c-format
+ msgid "registering \"%s\" as both a pragma and a pragma namespace"
+ msgstr "registrerar \"%s\" både som ett pragma och ett pragma namespace"
+
+-#: directives.c:1119
++#: directives.c:1124
+ #, c-format
+ msgid "#pragma %s %s is already registered"
+ msgstr "#pragma %s %s är redan registrerat"
+
+-#: directives.c:1122
++#: directives.c:1127
+ #, c-format
+ msgid "#pragma %s is already registered"
+ msgstr "#pragma %s är redan registrerat"
+
+-#: directives.c:1152
++#: directives.c:1157
+ msgid "registering pragma with NULL handler"
+ msgstr "registrerar pragma med NULL-hanterare"
+
+-#: directives.c:1362
++#: directives.c:1367
+ msgid "#pragma once in main file"
+ msgstr "#pragma once i huvudfil"
+
+-#: directives.c:1385
++#: directives.c:1390
+ msgid "invalid #pragma GCC poison directive"
+ msgstr "ogiltigt direktiv #pragma GCC poison"
+
+-#: directives.c:1394
++#: directives.c:1399
+ #, c-format
+ msgid "poisoning existing macro \"%s\""
+ msgstr "förgiftar existerande makro \"%s\""
+
+-#: directives.c:1413
++#: directives.c:1418
+ msgid "#pragma system_header ignored outside include file"
+ msgstr "#pragma system_header ignorerat utanför huvudfil"
+
+-#: directives.c:1437
++#: directives.c:1442
+ #, c-format
+ msgid "cannot find source file %s"
+ msgstr "kan inte hitta källfil %s"
+
+-#: directives.c:1441
++#: directives.c:1446
+ #, c-format
+ msgid "current file is older than %s"
+ msgstr "aktuell fil är äldre än %s"
+
+-#: directives.c:1620
++#: directives.c:1625
+ msgid "_Pragma takes a parenthesized string literal"
+ msgstr "_Pragma tar en strängkonstant inom parenteser"
+
+-#: directives.c:1693
++#: directives.c:1698
+ msgid "#else without #if"
+ msgstr "#else utan #if"
+
+-#: directives.c:1698
++#: directives.c:1703
+ msgid "#else after #else"
+ msgstr "#else efter #else"
+
+-#: directives.c:1700 directives.c:1733
++#: directives.c:1705 directives.c:1738
+ msgid "the conditional began here"
+ msgstr "villkorssatsen började här"
+
+-#: directives.c:1726
++#: directives.c:1731
+ msgid "#elif without #if"
+ msgstr "#elif utan #if"
+
+-#: directives.c:1731
++#: directives.c:1736
+ msgid "#elif after #else"
+ msgstr "#elif efter #else"
+
+-#: directives.c:1761
++#: directives.c:1766
+ msgid "#endif without #if"
+ msgstr "#endif utan #if"
+
+-#: directives.c:1838
++#: directives.c:1843
+ msgid "missing '(' after predicate"
+ msgstr "saknas '(' efter predikat"
+
+-#: directives.c:1853
++#: directives.c:1858
+ msgid "missing ')' to complete answer"
+ msgstr "saknas ')' för att avsluta svaret"
+
+-#: directives.c:1873
++#: directives.c:1878
+ msgid "predicate's answer is empty"
+ msgstr "predikatets svar är tomt"
+
+-#: directives.c:1900
++#: directives.c:1905
+ msgid "assertion without predicate"
+ msgstr "försäkran utan predikat"
+
+-#: directives.c:1902
++#: directives.c:1907
+ msgid "predicate must be an identifier"
+ msgstr "predikat måste vara en identifierare"
+
+-#: directives.c:1988
++#: directives.c:1993
+ #, c-format
+ msgid "\"%s\" re-asserted"
+ msgstr "\"%s\" omförsäkrat"
+
+-#: directives.c:2271
++#: directives.c:2276
+ #, c-format
+ msgid "unterminated #%s"
+ msgstr "oavslutad #%s"
+@@ -589,39 +593,39 @@
+ msgid "division by zero in #if"
+ msgstr "division med noll i #if"
+
+-#: files.c:442
++#: files.c:458
+ msgid "NULL directory in find_file"
+ msgstr "NOLL-katalog i find_file"
+
+-#: files.c:480
++#: files.c:496
+ msgid "one or more PCH files were found, but they were invalid"
+ msgstr "en eller flera PCH-filer hittades, men de var inte korrekta"
+
+-#: files.c:483
++#: files.c:499
+ msgid "use -Winvalid-pch for more information"
+ msgstr "använd -Winvalid-pch för mer information"
+
+-#: files.c:570
++#: files.c:589
+ #, c-format
+ msgid "%s is a block device"
+ msgstr "%s är en blockenhet"
+
+-#: files.c:587
++#: files.c:606
+ #, c-format
+ msgid "%s is too large"
+ msgstr "%s är för stor"
+
+-#: files.c:622
++#: files.c:641
+ #, c-format
+ msgid "%s is shorter than expected"
+ msgstr "%s är kortare än förväntat"
+
+-#: files.c:852
++#: files.c:872
+ #, c-format
+ msgid "no include path in which to search for %s"
+ msgstr "ingen huvudfilssökväg att leta efter %s i"
+
+-#: files.c:1157
++#: files.c:1238
+ msgid "Multiple include guards may be useful for:\n"
+ msgstr "Multipla inkluderingsvakter kan vara användbart för:\n"
+
+@@ -749,122 +753,122 @@
+ ",\n"
+ " från %s:%u"
+
+-#: macro.c:84
++#: macro.c:87
+ #, c-format
+ msgid "macro \"%s\" is not used"
+ msgstr "makrot \"%s\" är inte använt"
+
+-#: macro.c:123 macro.c:319
++#: macro.c:126 macro.c:322
+ #, c-format
+ msgid "invalid built-in macro \"%s\""
+ msgstr "ogiltigt inbyggt makro \"%s\""
+
+-#: macro.c:157
++#: macro.c:160
+ msgid "could not determine file timestamp"
+ msgstr "det gick inte att avgöra fils tidsstämpel"
+
+-#: macro.c:254
++#: macro.c:257
+ msgid "could not determine date and time"
+ msgstr "det gick inte att avgöra datum och tid"
+
+-#: macro.c:270
++#: macro.c:273
+ msgid "__COUNTER__ expanded inside directive with -fdirectives-only"
+ msgstr "__COUNTER__ expanderad inuti direktiv med -fdirectives-only"
+
+-#: macro.c:423
++#: macro.c:426
+ msgid "invalid string literal, ignoring final '\\'"
+ msgstr "ogiltig strängkonstant, inorerar avslutande \"\\\""
+
+-#: macro.c:483
++#: macro.c:486
+ #, c-format
+ msgid "pasting \"%s\" and \"%s\" does not give a valid preprocessing token"
+ msgstr "att sätta ihop \"%s\" och \"%s\" ger inte en giltigt preprocessorsymbol"
+
+-#: macro.c:558
++#: macro.c:561
+ msgid "ISO C99 requires rest arguments to be used"
+ msgstr "ISO C99 kräver att restargument används"
+
+-#: macro.c:563
++#: macro.c:566
+ #, c-format
+ msgid "macro \"%s\" requires %u arguments, but only %u given"
+ msgstr "makrot \"%s\" kräver %u argument, men endast %u anges"
+
+-#: macro.c:568
++#: macro.c:571
+ #, c-format
+ msgid "macro \"%s\" passed %u arguments, but takes just %u"
+ msgstr "makro \"%s\" skickade %u argument, men det tar bara %u"
+
+-#: macro.c:679 traditional.c:680
++#: macro.c:730 traditional.c:680
+ #, c-format
+ msgid "unterminated argument list invoking macro \"%s\""
+ msgstr "oavslutad argumentlista vid anrop av makrot \"%s\""
+
+-#: macro.c:782
++#: macro.c:840
+ #, c-format
+ msgid "function-like macro \"%s\" must be used with arguments in traditional C"
+ msgstr "funktionsliknande makrot \"%s\" måste användas med ett argument i traditionell C"
+
+-#: macro.c:1325
++#: macro.c:1408
+ #, c-format
+ msgid "duplicate macro parameter \"%s\""
+ msgstr "dubblerad makroparameter \"%s\""
+
+-#: macro.c:1371
++#: macro.c:1454
+ #, c-format
+ msgid "\"%s\" may not appear in macro parameter list"
+ msgstr "\"%s\" får inte förekomma i en makroparameterlista"
+
+-#: macro.c:1379
++#: macro.c:1462
+ msgid "macro parameters must be comma-separated"
+ msgstr "makroparametrar måste avdelas av komman"
+
+-#: macro.c:1396
++#: macro.c:1479
+ msgid "parameter name missing"
+ msgstr "parameternamn saknas"
+
+-#: macro.c:1413
++#: macro.c:1496
+ msgid "anonymous variadic macros were introduced in C99"
+ msgstr "anonyma variabla makron introducerades i C99"
+
+-#: macro.c:1418
++#: macro.c:1501
+ msgid "ISO C does not permit named variadic macros"
+ msgstr "ISO C tillåter inte namngivna variabla makron"
+
+-#: macro.c:1427
++#: macro.c:1510
+ msgid "missing ')' in macro parameter list"
+ msgstr "saknad \")\" i makroparameterlista"
+
+-#: macro.c:1476
++#: macro.c:1559
+ msgid "'##' cannot appear at either end of a macro expansion"
+ msgstr "\"##\" kan inte förekomma vid någon av ändarna av makroexpansionen"
+
+-#: macro.c:1510
++#: macro.c:1593
+ msgid "ISO C99 requires whitespace after the macro name"
+ msgstr "ISO C99 kräver mellanrum efter makronamnet"
+
+-#: macro.c:1534
++#: macro.c:1617
+ msgid "missing whitespace after the macro name"
+ msgstr "mellanrum saknas efter makronamn"
+
+-#: macro.c:1564
++#: macro.c:1647
+ msgid "'#' is not followed by a macro parameter"
+ msgstr "\"#\" följs inte av en makroparameter"
+
+-#: macro.c:1683
++#: macro.c:1766
+ #, c-format
+ msgid "\"%s\" redefined"
+ msgstr "\"%s\" omdefinierad"
+
+-#: macro.c:1688
++#: macro.c:1771
+ msgid "this is the location of the previous definition"
+ msgstr "detta är platsen för den tidigare definitionen"
+
+-#: macro.c:1738
++#: macro.c:1828
+ #, c-format
+ msgid "macro argument \"%s\" would be stringified in traditional C"
+ msgstr "makroargumentet \"%s\" skulle bli gjort till sträng i traditionell C"
+
+-#: macro.c:1761
++#: macro.c:1851
+ #, c-format
+ msgid "invalid hash type %d in cpp_macro_definition"
+ msgstr "ogiltig hash-typ %d i cpp_macro_definition"
+@@ -902,6 +906,6 @@
+ msgid "detected recursion whilst expanding macro \"%s\""
+ msgstr "upptäckte rekursion vid under expansion av makrot \"%s\""
+
+-#: traditional.c:917
++#: traditional.c:968
+ msgid "syntax error in macro parameter list"
+ msgstr "syntaxfel i makroparameterlista"
+Index: libcpp/po/de.po
+===================================================================
+--- libcpp/po/de.po (.../tags/gcc_4_3_0_release) (revision 133808)
++++ libcpp/po/de.po (.../branches/gcc-4_3-branch) (revision 133808)
+@@ -1,151 +1,151 @@
+ # German translation of gcc messages.
+ # Copyright © 2002, 2003, 2004, 2005 Free Software Foundation, Inc.
+ # Karl Eichwalder <ke@suse.de>, 2002, 2003.
+-# Roland Stigge <stigge@antcom.de>, 2003, 2004, 2005, 2006, 2007.
++# Roland Stigge <stigge@antcom.de>, 2003, 2004, 2005, 2006, 2007, 2008.
+ # This file is distributed under the same license as the gcc package.
+ #
+ msgid ""
+ msgstr ""
+-"Project-Id-Version: cpplib 4.3-b20071109\n"
++"Project-Id-Version: cpplib 4.3.0\n"
+ "Report-Msgid-Bugs-To: http://gcc.gnu.org/bugs.html\n"
+-"POT-Creation-Date: 2007-11-08 21:08+0000\n"
+-"PO-Revision-Date: 2007-11-11 11:11+0100\n"
++"POT-Creation-Date: 2008-02-01 16:21+0000\n"
++"PO-Revision-Date: 2008-03-15 11:11+0100\n"
+ "Last-Translator: Roland Stigge <stigge@antcom.de>\n"
+ "Language-Team: German <translation-team-de@lists.sourceforge.net>\n"
+ "MIME-Version: 1.0\n"
+ "Content-Type: text/plain; charset=UTF-8\n"
+ "Content-Transfer-Encoding: 8bit\n"
+
+-#: charset.c:654
++#: charset.c:671
+ #, c-format
+ msgid "conversion from %s to %s not supported by iconv"
+ msgstr "Konvertierung von %s nach %s wird von iconv nicht unterstützt"
+
+-#: charset.c:657
++#: charset.c:674
+ msgid "iconv_open"
+ msgstr "iconv_open"
+
+-#: charset.c:665
++#: charset.c:682
+ #, c-format
+ msgid "no iconv implementation, cannot convert from %s to %s"
+ msgstr "keine Implementation für iconv, es kann nicht von %s nach %s konvertiert werden"
+
+-#: charset.c:742
++#: charset.c:759
+ #, c-format
+ msgid "character 0x%lx is not in the basic source character set\n"
+ msgstr "Zeichen 0x%lx ist nicht im regulären Quellzeichensatz\n"
+
+-#: charset.c:759 charset.c:1352
++#: charset.c:776 charset.c:1369
+ msgid "converting to execution character set"
+ msgstr "Konvertierung in Zeichensatz der Ausführung"
+
+-#: charset.c:765
++#: charset.c:782
+ #, c-format
+ msgid "character 0x%lx is not unibyte in execution character set"
+ msgstr "Zeichen 0x%lx ist kein Unibyte im Ausführungs-Zeichensatz"
+
+-#: charset.c:889
++#: charset.c:906
+ #, c-format
+ msgid "Character %x might not be NFKC"
+ msgstr "Zeichen %x ist nicht in NFKC"
+
+-#: charset.c:949
++#: charset.c:966
+ msgid "universal character names are only valid in C++ and C99"
+ msgstr "universelle Zeichennamen sind nur in C++ und C99 gültig"
+
+-#: charset.c:952
++#: charset.c:969
+ #, c-format
+ msgid "the meaning of '\\%c' is different in traditional C"
+ msgstr "die Bedeutung von '\\%c' ist in traditionellem C anders"
+
+-#: charset.c:961
++#: charset.c:978
+ msgid "In _cpp_valid_ucn but not a UCN"
+ msgstr "In _cpp_valid_ucn, aber kein UCN"
+
+-#: charset.c:986
++#: charset.c:1003
+ #, c-format
+ msgid "incomplete universal character name %.*s"
+ msgstr "unvollständiger Universal-Zeichenname %.*s"
+
+-#: charset.c:998
++#: charset.c:1015
+ #, c-format
+ msgid "%.*s is not a valid universal character"
+ msgstr "»%.*s« ist kein gültiges universelles Zeichen"
+
+-#: charset.c:1008 lex.c:484
++#: charset.c:1025 lex.c:484
+ msgid "'$' in identifier or number"
+ msgstr "'$' in Bezeichner oder Zahl"
+
+-#: charset.c:1018
++#: charset.c:1035
+ #, c-format
+ msgid "universal character %.*s is not valid in an identifier"
+ msgstr "universelles Zeichen %.*s ist nicht gültig in Bezeichner"
+
+-#: charset.c:1022
++#: charset.c:1039
+ #, c-format
+ msgid "universal character %.*s is not valid at the start of an identifier"
+ msgstr "universelles Zeichen %.*s ist nicht gültig am Anfang eines Bezeichners"
+
+-#: charset.c:1056 charset.c:1571
++#: charset.c:1073 charset.c:1588
+ msgid "converting UCN to source character set"
+ msgstr "UCN wird in Quellzeichensatz konvertiert"
+
+-#: charset.c:1060
++#: charset.c:1077
+ msgid "converting UCN to execution character set"
+ msgstr "UCN wird in Ausführungszeichensatz konvertiert"
+
+-#: charset.c:1132
++#: charset.c:1149
+ msgid "the meaning of '\\x' is different in traditional C"
+ msgstr "die Bedeutung von '\\x' ist in traditionellem C anders"
+
+-#: charset.c:1149
++#: charset.c:1166
+ msgid "\\x used with no following hex digits"
+ msgstr "\\x ohne folgende Hex-Ziffern verwendet"
+
+-#: charset.c:1156
++#: charset.c:1173
+ msgid "hex escape sequence out of range"
+ msgstr "Hex-Fluchtsequenz außerhalb des Wertebereiches"
+
+-#: charset.c:1195
++#: charset.c:1212
+ msgid "octal escape sequence out of range"
+ msgstr "Oktal-Fluchtsequenz außerhalb des Wertebereiches"
+
+-#: charset.c:1263
++#: charset.c:1280
+ msgid "the meaning of '\\a' is different in traditional C"
+ msgstr "die Bedeutung von '\\a' ist in traditionellem C anders"
+
+-#: charset.c:1270
++#: charset.c:1287
+ #, c-format
+ msgid "non-ISO-standard escape sequence, '\\%c'"
+ msgstr "nicht-ISO-standardkonforme Fluchtsequenz '\\%c'"
+
+-#: charset.c:1278
++#: charset.c:1295
+ #, c-format
+ msgid "unknown escape sequence '\\%c'"
+ msgstr "unbekannte Fluchtsequenz '\\%c'"
+
+-#: charset.c:1286
++#: charset.c:1303
+ #, c-format
+ msgid "unknown escape sequence: '\\%s'"
+ msgstr "unbekannte Fluchtsequenz: '\\%s'"
+
+-#: charset.c:1293
++#: charset.c:1310
+ msgid "converting escape sequence to execution character set"
+ msgstr "Fluchtsequenz wird in Zeichensatz der Ausführung konvertiert"
+
+-#: charset.c:1415 charset.c:1478
++#: charset.c:1432 charset.c:1495
+ msgid "character constant too long for its type"
+ msgstr "Zeichenkonstante zu lang für ihren Typ"
+
+-#: charset.c:1418
++#: charset.c:1435
+ msgid "multi-character character constant"
+ msgstr "Zeichenkonstante mit mehreren Zeichen"
+
+-#: charset.c:1510
++#: charset.c:1527
+ msgid "empty character constant"
+ msgstr "Leere Zeichenkonstante"
+
+-#: charset.c:1612
++#: charset.c:1629
+ #, c-format
+ msgid "failure to convert %s to %s"
+ msgstr "Fehler beim Konvertieren von %s nach %s"
+@@ -238,139 +238,143 @@
+ msgstr "ungültiges Kennzeichen »%s« in line-Direktive"
+
+ #: directives.c:868
++msgid "unexpected end of file after #line"
++msgstr "unerwartetes Dateiende nach #line"
++
++#: directives.c:871
+ #, c-format
+ msgid "\"%s\" after #line is not a positive integer"
+ msgstr "»%s« hinter #line ist keine positive Ganzzahl"
+
+-#: directives.c:874
++#: directives.c:877
+ msgid "line number out of range"
+ msgstr "Zeilennummer ist außerhalb des Wertebereiches"
+
+-#: directives.c:887 directives.c:964
++#: directives.c:890 directives.c:969
+ #, c-format
+ msgid "\"%s\" is not a valid filename"
+ msgstr "»%s« ist kein gültiger Dateiname"
+
+-#: directives.c:924
++#: directives.c:929
+ #, c-format
+ msgid "\"%s\" after # is not a positive integer"
+ msgstr "»%s« hinter # ist keine positive Ganzzahl"
+
+-#: directives.c:1026
++#: directives.c:1031
+ #, c-format
+ msgid "invalid #%s directive"
+ msgstr "ungültige #%s-Direktive"
+
+-#: directives.c:1089
++#: directives.c:1094
+ #, c-format
+ msgid "registering pragmas in namespace \"%s\" with mismatched name expansion"
+ msgstr "Pragmas im Namespace »%s« werden ohne passende Namensauflösung registriert"
+
+-#: directives.c:1098
++#: directives.c:1103
+ #, c-format
+ msgid "registering pragma \"%s\" with name expansion and no namespace"
+ msgstr "Pragma »%s« wird mit Namensauflösung und ohne Namespace registriert"
+
+-#: directives.c:1116
++#: directives.c:1121
+ #, c-format
+ msgid "registering \"%s\" as both a pragma and a pragma namespace"
+ msgstr "»%s« wird sowohl als Pragma als auch als Pragma-Namespace registriert"
+
+-#: directives.c:1119
++#: directives.c:1124
+ #, c-format
+ msgid "#pragma %s %s is already registered"
+ msgstr "#pragma %s %s ist bereits registriert"
+
+-#: directives.c:1122
++#: directives.c:1127
+ #, c-format
+ msgid "#pragma %s is already registered"
+ msgstr "#pragma %s ist bereits registriert"
+
+-#: directives.c:1152
++#: directives.c:1157
+ msgid "registering pragma with NULL handler"
+ msgstr "Pragma mit NULL-Handler wird registriert"
+
+-#: directives.c:1362
++#: directives.c:1367
+ msgid "#pragma once in main file"
+ msgstr "#pragma once in Hauptdatei"
+
+-#: directives.c:1385
++#: directives.c:1390
+ msgid "invalid #pragma GCC poison directive"
+ msgstr "ungültige #pragma GCC Poison Direktive"
+
+-#: directives.c:1394
++#: directives.c:1399
+ #, c-format
+ msgid "poisoning existing macro \"%s\""
+ msgstr "schlechtes existierendes Makro »%s«"
+
+-#: directives.c:1413
++#: directives.c:1418
+ msgid "#pragma system_header ignored outside include file"
+ msgstr "#pragma system_header außerhalb include-Datei ignoriert"
+
+-#: directives.c:1437
++#: directives.c:1442
+ #, c-format
+ msgid "cannot find source file %s"
+ msgstr "Quelldatei %s kann nicht gefunden werden"
+
+-#: directives.c:1441
++#: directives.c:1446
+ #, c-format
+ msgid "current file is older than %s"
+ msgstr "aktuelle Datei ist älter als %s"
+
+-#: directives.c:1620
++#: directives.c:1625
+ msgid "_Pragma takes a parenthesized string literal"
+ msgstr "_Pragma nimmt ein geklammertes Zeichenkettenliteral"
+
+-#: directives.c:1693
++#: directives.c:1698
+ msgid "#else without #if"
+ msgstr "#else ohne #if"
+
+-#: directives.c:1698
++#: directives.c:1703
+ msgid "#else after #else"
+ msgstr "#else hinter #else"
+
+-#: directives.c:1700 directives.c:1733
++#: directives.c:1705 directives.c:1738
+ msgid "the conditional began here"
+ msgstr "die Bedingung begann hier"
+
+-#: directives.c:1726
++#: directives.c:1731
+ msgid "#elif without #if"
+ msgstr "#elif ohne #if"
+
+-#: directives.c:1731
++#: directives.c:1736
+ msgid "#elif after #else"
+ msgstr "#elif hinter #else"
+
+-#: directives.c:1761
++#: directives.c:1766
+ msgid "#endif without #if"
+ msgstr "#endif ohne #if"
+
+-#: directives.c:1838
++#: directives.c:1843
+ msgid "missing '(' after predicate"
+ msgstr "fehlendes '(' hinter Prädikat"
+
+-#: directives.c:1853
++#: directives.c:1858
+ msgid "missing ')' to complete answer"
+ msgstr "fehlendes ')', um Antwort abzuschließen"
+
+-#: directives.c:1873
++#: directives.c:1878
+ msgid "predicate's answer is empty"
+ msgstr "Prädikatantwort ist leer"
+
+-#: directives.c:1900
++#: directives.c:1905
+ msgid "assertion without predicate"
+ msgstr "Behauptung ohne Prädikat"
+
+-#: directives.c:1902
++#: directives.c:1907
+ msgid "predicate must be an identifier"
+ msgstr "Prädikat muss ein Bezeichner sein"
+
+-#: directives.c:1988
++#: directives.c:1993
+ #, c-format
+ msgid "\"%s\" re-asserted"
+ msgstr "»%s« wieder behauptet"
+
+-#: directives.c:2271
++#: directives.c:2276
+ #, c-format
+ msgid "unterminated #%s"
+ msgstr "unbeendetes #%s"
+@@ -587,39 +591,39 @@
+ msgid "division by zero in #if"
+ msgstr "Division durch Null in #if"
+
+-#: files.c:442
++#: files.c:458
+ msgid "NULL directory in find_file"
+ msgstr "NULL-Verzeichnis in find_file"
+
+-#: files.c:480
++#: files.c:496
+ msgid "one or more PCH files were found, but they were invalid"
+ msgstr "ein oder mehrere PCH-Dateien wurden gefunden, aber sie sind ungültig"
+
+-#: files.c:483
++#: files.c:499
+ msgid "use -Winvalid-pch for more information"
+ msgstr "-Winvalid-pch für mehr Informationen verwenden"
+
+-#: files.c:570
++#: files.c:589
+ #, c-format
+ msgid "%s is a block device"
+ msgstr "%s ist ein Block-Gerät"
+
+-#: files.c:587
++#: files.c:606
+ #, c-format
+ msgid "%s is too large"
+ msgstr "%s ist zu groß"
+
+-#: files.c:622
++#: files.c:641
+ #, c-format
+ msgid "%s is shorter than expected"
+ msgstr "%s ist kürzer als erwartet"
+
+-#: files.c:852
++#: files.c:872
+ #, c-format
+ msgid "no include path in which to search for %s"
+ msgstr "kein Include-Pfad, um %s zu finden"
+
+-#: files.c:1157
++#: files.c:1238
+ msgid "Multiple include guards may be useful for:\n"
+ msgstr "Mehrere Include-Wächter könnten nützlich sein für:\n"
+
+@@ -747,122 +751,122 @@
+ ",\n"
+ " von %s:%u"
+
+-#: macro.c:84
++#: macro.c:87
+ #, c-format
+ msgid "macro \"%s\" is not used"
+ msgstr "Makro »%s« wird nicht benutzt"
+
+-#: macro.c:123 macro.c:319
++#: macro.c:126 macro.c:322
+ #, c-format
+ msgid "invalid built-in macro \"%s\""
+ msgstr "ungültiges eingebautes Makro »%s«"
+
+-#: macro.c:157
++#: macro.c:160
+ msgid "could not determine file timestamp"
+ msgstr "Datum und Zeit der Datei konnten nicht bestimmt werden"
+
+-#: macro.c:254
++#: macro.c:257
+ msgid "could not determine date and time"
+ msgstr "Datum und Zeit konnten nicht bestimmt werden"
+
+-#: macro.c:270
++#: macro.c:273
+ msgid "__COUNTER__ expanded inside directive with -fdirectives-only"
+ msgstr "__COUNTER__ innerhalb von Anweisung mit -fdirectives-only expandiert"
+
+-#: macro.c:423
++#: macro.c:426
+ msgid "invalid string literal, ignoring final '\\'"
+ msgstr "ungültiges Zeichenkettenliteral, abschließendes '\\' wird ignoriert"
+
+-#: macro.c:483
++#: macro.c:486
+ #, c-format
+ msgid "pasting \"%s\" and \"%s\" does not give a valid preprocessing token"
+ msgstr "das Einfügen von »%s« und »%s« ergibt kein gültiges Präprozessor-Token"
+
+-#: macro.c:558
++#: macro.c:561
+ msgid "ISO C99 requires rest arguments to be used"
+ msgstr "ISO-C99 erfordert, dass Restargumente verwendet werden"
+
+-#: macro.c:563
++#: macro.c:566
+ #, c-format
+ msgid "macro \"%s\" requires %u arguments, but only %u given"
+ msgstr "Makro »%s« erfordert %u Argumente, aber nur %u wurden angegeben"
+
+-#: macro.c:568
++#: macro.c:571
+ #, c-format
+ msgid "macro \"%s\" passed %u arguments, but takes just %u"
+ msgstr "dem Makro »%s« wurden %u Argumente übergeben, aber es nimmt nur %u"
+
+-#: macro.c:679 traditional.c:680
++#: macro.c:730 traditional.c:680
+ #, c-format
+ msgid "unterminated argument list invoking macro \"%s\""
+ msgstr "unvollendete Argumentliste beim Makroaufruf »%s«"
+
+-#: macro.c:782
++#: macro.c:840
+ #, c-format
+ msgid "function-like macro \"%s\" must be used with arguments in traditional C"
+ msgstr "funktionsähnliches Makro »%s« muss mit Argumenten in traditionellem C verwendet werden"
+
+-#: macro.c:1325
++#: macro.c:1408
+ #, c-format
+ msgid "duplicate macro parameter \"%s\""
+ msgstr "doppelter Makroparameter »%s«"
+
+-#: macro.c:1371
++#: macro.c:1454
+ #, c-format
+ msgid "\"%s\" may not appear in macro parameter list"
+ msgstr "»%s« darf nicht in Makroparameterliste auftreten"
+
+-#: macro.c:1379
++#: macro.c:1462
+ msgid "macro parameters must be comma-separated"
+ msgstr "Makroparameter müssen mit Komma getrennt sein"
+
+-#: macro.c:1396
++#: macro.c:1479
+ msgid "parameter name missing"
+ msgstr "Parametername fehlt"
+
+-#: macro.c:1413
++#: macro.c:1496
+ msgid "anonymous variadic macros were introduced in C99"
+ msgstr "anonyme variadische Makros wurden in C99 eingeführt"
+
+-#: macro.c:1418
++#: macro.c:1501
+ msgid "ISO C does not permit named variadic macros"
+ msgstr "ISO-C erlaubt keine benannten variadischen Makros"
+
+-#: macro.c:1427
++#: macro.c:1510
+ msgid "missing ')' in macro parameter list"
+ msgstr "fehlendes ')' in Makroparameterliste"
+
+-#: macro.c:1476
++#: macro.c:1559
+ msgid "'##' cannot appear at either end of a macro expansion"
+ msgstr "'##' kann nicht an den Enden einer Makroexpansion auftreten"
+
+-#: macro.c:1510
++#: macro.c:1593
+ msgid "ISO C99 requires whitespace after the macro name"
+ msgstr "ISO-C99 erfordert Whitespace hinter Makroname"
+
+-#: macro.c:1534
++#: macro.c:1617
+ msgid "missing whitespace after the macro name"
+ msgstr "Whitespace hinter Makroname fehlt"
+
+-#: macro.c:1564
++#: macro.c:1647
+ msgid "'#' is not followed by a macro parameter"
+ msgstr "'#' wird nicht von einem Makroparameter gefolgt"
+
+-#: macro.c:1683
++#: macro.c:1766
+ #, c-format
+ msgid "\"%s\" redefined"
+ msgstr "»%s« redefiniert"
+
+-#: macro.c:1688
++#: macro.c:1771
+ msgid "this is the location of the previous definition"
+ msgstr "dies ist die Stelle der vorherigen Definition"
+
+-#: macro.c:1738
++#: macro.c:1828
+ #, c-format
+ msgid "macro argument \"%s\" would be stringified in traditional C"
+ msgstr "Makroargument »%s« würde in traditionellem C zum String gewandelt werden"
+
+-#: macro.c:1761
++#: macro.c:1851
+ #, c-format
+ msgid "invalid hash type %d in cpp_macro_definition"
+ msgstr "ungültiger Hash-Typ %d in cpp_macro_definition"
+@@ -900,7 +904,7 @@
+ msgid "detected recursion whilst expanding macro \"%s\""
+ msgstr "Rekursion bei Expansion des Makros »%s« entdeckt"
+
+-#: traditional.c:917
++#: traditional.c:968
+ msgid "syntax error in macro parameter list"
+ msgstr "Syntaxfehler in Makroparameterliste"
+
+Index: libcpp/po/ja.po
+===================================================================
+--- libcpp/po/ja.po (.../tags/gcc_4_3_0_release) (revision 133808)
++++ libcpp/po/ja.po (.../branches/gcc-4_3-branch) (revision 133808)
+@@ -8,7 +8,7 @@
+ msgstr ""
+ "Project-Id-Version: gcc 3.0\n"
+ "Report-Msgid-Bugs-To: http://gcc.gnu.org/bugs.html\n"
+-"POT-Creation-Date: 2007-11-08 21:08+0000\n"
++"POT-Creation-Date: 2008-02-01 16:21+0000\n"
+ "PO-Revision-Date: 2001-12-05 22:47+0900\n"
+ "Last-Translator: Daisuke Yamashita <yamad@mb.infoweb.ne.jp>\n"
+ "Language-Team: Japanese <ja@li.org>\n"
+@@ -16,141 +16,141 @@
+ "Content-Type: text/plain; charset=EUC-JP\n"
+ "Content-Transfer-Encoding: 8bit\n"
+
+-#: charset.c:654
++#: charset.c:671
+ #, fuzzy, c-format
+ msgid "conversion from %s to %s not supported by iconv"
+ msgstr "NaN ¤«¤éÉä¹ç̵¤·À°¿ô¤Ø¤ÎÊÑ´¹¤Ç¤¹"
+
+-#: charset.c:657
++#: charset.c:674
+ msgid "iconv_open"
+ msgstr ""
+
+-#: charset.c:665
++#: charset.c:682
+ #, c-format
+ msgid "no iconv implementation, cannot convert from %s to %s"
+ msgstr ""
+
+-#: charset.c:742
++#: charset.c:759
+ #, fuzzy, c-format
+ msgid "character 0x%lx is not in the basic source character set\n"
+ msgstr "universal-character-name ¤Ï `%c' ¤ò»Ø¼¨¤·¤Þ¤·¤¿¤¬¡¢´ðËÜŪ¤Êʸ»ú½¸¹ç¤Î°ìÉô¤Ç¤¹"
+
+-#: charset.c:759 charset.c:1352
++#: charset.c:776 charset.c:1369
+ msgid "converting to execution character set"
+ msgstr ""
+
+-#: charset.c:765
++#: charset.c:782
+ #, c-format
+ msgid "character 0x%lx is not unibyte in execution character set"
+ msgstr ""
+
+-#: charset.c:889
++#: charset.c:906
+ #, c-format
+ msgid "Character %x might not be NFKC"
+ msgstr ""
+
+-#: charset.c:949
++#: charset.c:966
+ #, fuzzy
+ msgid "universal character names are only valid in C++ and C99"
+ msgstr "¥æ¥Ë¥Ð¡¼¥µ¥ëʸ»ú̾ `\\U%08x' ¤Ï¼±Ê̻ҤÎÃæ¤Ç¤ÏÍ­¸ú¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó"
+
+-#: charset.c:952
++#: charset.c:969
+ #, fuzzy, c-format
+ msgid "the meaning of '\\%c' is different in traditional C"
+ msgstr "'\\%c' ¤Î°ÕÌ£¤Ï -traditional ¤ò¤Ä¤±¤¿¾ì¹ç¤È°Û¤Ê¤ê¤Þ¤¹"
+
+-#: charset.c:961
++#: charset.c:978
+ msgid "In _cpp_valid_ucn but not a UCN"
+ msgstr ""
+
+-#: charset.c:986
++#: charset.c:1003
+ #, fuzzy, c-format
+ msgid "incomplete universal character name %.*s"
+ msgstr "̵¸ú¤Ê ¥æ¥Ë¥Ð¡¼¥µ¥ëʸ»ú̾"
+
+-#: charset.c:998
++#: charset.c:1015
+ #, fuzzy, c-format
+ msgid "%.*s is not a valid universal character"
+ msgstr "ÉÔŬÀڤʥæ¥Ë¥Ð¡¼¥µ¥ë¥­¥ã¥é¥¯¥¿Ì¾"
+
+-#: charset.c:1008 lex.c:484
++#: charset.c:1025 lex.c:484
+ msgid "'$' in identifier or number"
+ msgstr ""
+
+-#: charset.c:1018
++#: charset.c:1035
+ #, fuzzy, c-format
+ msgid "universal character %.*s is not valid in an identifier"
+ msgstr "¥æ¥Ë¥Ð¡¼¥µ¥ëʸ»ú̾ `\\U%08x' ¤Ï¼±Ê̻ҤÎÃæ¤Ç¤ÏÍ­¸ú¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó"
+
+-#: charset.c:1022
++#: charset.c:1039
+ #, fuzzy, c-format
+ msgid "universal character %.*s is not valid at the start of an identifier"
+ msgstr "¥æ¥Ë¥Ð¡¼¥µ¥ëʸ»ú̾ `\\U%08x' ¤Ï¼±Ê̻ҤÎÃæ¤Ç¤ÏÍ­¸ú¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó"
+
+-#: charset.c:1056 charset.c:1571
++#: charset.c:1073 charset.c:1588
+ msgid "converting UCN to source character set"
+ msgstr ""
+
+-#: charset.c:1060
++#: charset.c:1077
+ msgid "converting UCN to execution character set"
+ msgstr ""
+
+-#: charset.c:1132
++#: charset.c:1149
+ #, fuzzy
+ msgid "the meaning of '\\x' is different in traditional C"
+ msgstr "`\\x' ¤Î°ÕÌ£¤Ï -traditional ¤ò¤Ä¤±¤¿¾ì¹ç¤È°Û¤Ê¤ê¤Þ¤¹"
+
+-#: charset.c:1149
++#: charset.c:1166
+ msgid "\\x used with no following hex digits"
+ msgstr "\\x ¤Ë¡¢¤½¤ì¤Ë³¤¯¤Ï¤º¤Î 16 ¿Ê¿ô¤¬¤¢¤ê¤Þ¤»¤ó"
+
+-#: charset.c:1156
++#: charset.c:1173
+ msgid "hex escape sequence out of range"
+ msgstr "16 ¿Ê¥¨¥¹¥±¡¼¥×¥·¡¼¥±¥ó¥¹¤¬Èϰϳ°¤Ç¤¹"
+
+-#: charset.c:1195
++#: charset.c:1212
+ msgid "octal escape sequence out of range"
+ msgstr "8 ¿Ê¥¨¥¹¥±¡¼¥×¥·¡¼¥±¥ó¥¹¤¬Èϰϳ°¤Ç¤¹"
+
+-#: charset.c:1263
++#: charset.c:1280
+ #, fuzzy
+ msgid "the meaning of '\\a' is different in traditional C"
+ msgstr "'\\a' ¤Î°ÕÌ£¤Ï -traditional ¤ò¤Ä¤±¤¿¾ì¹ç¤È°Û¤Ê¤ê¤Þ¤¹"
+
+-#: charset.c:1270
++#: charset.c:1287
+ #, c-format
+ msgid "non-ISO-standard escape sequence, '\\%c'"
+ msgstr "Èó ISO ɸ½à¤Î¥¨¥¹¥±¡¼¥×¥·¡¼¥±¥ó¥¹, '\\%c'"
+
+-#: charset.c:1278
++#: charset.c:1295
+ #, c-format
+ msgid "unknown escape sequence '\\%c'"
+ msgstr "ÉÔÌÀ¤Ê¥¨¥¹¥±¡¼¥×¥·¡¼¥±¥ó¥¹ '\\%c'"
+
+-#: charset.c:1286
++#: charset.c:1303
+ #, fuzzy, c-format
+ msgid "unknown escape sequence: '\\%s'"
+ msgstr "ÉÔÌÀ¤Ê¥¨¥¹¥±¡¼¥×¥·¡¼¥±¥ó¥¹ '\\%c'"
+
+-#: charset.c:1293
++#: charset.c:1310
+ #, fuzzy
+ msgid "converting escape sequence to execution character set"
+ msgstr "ʸ»ú¤ËÂФ¹¤ë¥¨¥¹¥±¡¼¥×¥·¡¼¥±¥ó¥¹¤¬ÈϰϤò³°¤ì¤Æ¤¤¤Þ¤¹"
+
+-#: charset.c:1415 charset.c:1478
++#: charset.c:1432 charset.c:1495
+ #, fuzzy
+ msgid "character constant too long for its type"
+ msgstr "ʸ»úÄê¿ô¤¬Ä¹¤¹¤®¤Þ¤¹"
+
+-#: charset.c:1418
++#: charset.c:1435
+ msgid "multi-character character constant"
+ msgstr "Ê£¿ôʸ»ú¤«¤é¤Ê¤ëʸ»úÄê¿ô"
+
+-#: charset.c:1510
++#: charset.c:1527
+ msgid "empty character constant"
+ msgstr "¶õ¤Îʸ»úÄê¿ô"
+
+-#: charset.c:1612
++#: charset.c:1629
+ #, c-format
+ msgid "failure to convert %s to %s"
+ msgstr ""
+@@ -244,139 +244,144 @@
+ msgstr "\"%s\" ¤Ï line ¥Ç¥£¥ì¥¯¥Æ¥£¥Ö¤Ç¤Ï̵¸ú¤Ê¥Õ¥é¥°¤Ç¤¹"
+
+ #: directives.c:868
++#, fuzzy
++msgid "unexpected end of file after #line"
++msgstr "ͽ´ü¤µ¤ì¤ë¥á¥â¥ê¥ì¥¤¥Æ¥ó¥·¤òÄ´À°¤¹¤ë"
++
++#: directives.c:871
+ #, c-format
+ msgid "\"%s\" after #line is not a positive integer"
+ msgstr "#line ¤Î¸å¤í¤Î \"%s\" ¤¬Àµ¤ÎÀ°¿ô¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó"
+
+-#: directives.c:874
++#: directives.c:877
+ msgid "line number out of range"
+ msgstr "¹ÔÈֹ椬Èϰϳ°¤Ç¤¹"
+
+-#: directives.c:887 directives.c:964
++#: directives.c:890 directives.c:969
+ #, c-format
+ msgid "\"%s\" is not a valid filename"
+ msgstr "\"%s\" ¤ÏÀµ¾ï¤Ê¥Õ¥¡¥¤¥ë̾¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó"
+
+-#: directives.c:924
++#: directives.c:929
+ #, fuzzy, c-format
+ msgid "\"%s\" after # is not a positive integer"
+ msgstr "#line ¤Î¸å¤í¤Î \"%s\" ¤¬Àµ¤ÎÀ°¿ô¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó"
+
+-#: directives.c:1026
++#: directives.c:1031
+ #, fuzzy, c-format
+ msgid "invalid #%s directive"
+ msgstr "̤ÄêµÁËô¤ÏÉÔÀµ¤Ê # ¥Ç¥£¥ì¥¯¥Æ¥£¥Ö¤Ç¤¹"
+
+-#: directives.c:1089
++#: directives.c:1094
+ #, c-format
+ msgid "registering pragmas in namespace \"%s\" with mismatched name expansion"
+ msgstr ""
+
+-#: directives.c:1098
++#: directives.c:1103
+ #, c-format
+ msgid "registering pragma \"%s\" with name expansion and no namespace"
+ msgstr ""
+
+-#: directives.c:1116
++#: directives.c:1121
+ #, c-format
+ msgid "registering \"%s\" as both a pragma and a pragma namespace"
+ msgstr ""
+
+-#: directives.c:1119
++#: directives.c:1124
+ #, fuzzy, c-format
+ msgid "#pragma %s %s is already registered"
+ msgstr "¥¯¥é¥¹ `%s' ¤Ï´û¤Ë¸ºß¤·¤Þ¤¹"
+
+-#: directives.c:1122
++#: directives.c:1127
+ #, c-format
+ msgid "#pragma %s is already registered"
+ msgstr ""
+
+-#: directives.c:1152
++#: directives.c:1157
+ msgid "registering pragma with NULL handler"
+ msgstr ""
+
+-#: directives.c:1362
++#: directives.c:1367
+ msgid "#pragma once in main file"
+ msgstr "#pragma once ¤¬¥á¥¤¥ó¥Õ¥¡¥¤¥ë¤Ë¤¢¤ê¤Þ¤¹"
+
+-#: directives.c:1385
++#: directives.c:1390
+ msgid "invalid #pragma GCC poison directive"
+ msgstr "#pragma GCC ±øÀ÷¥Ç¥£¥ì¥¯¥Æ¥£¥ô¤¬Ìµ¸ú¤Ç¤¹"
+
+-#: directives.c:1394
++#: directives.c:1399
+ #, c-format
+ msgid "poisoning existing macro \"%s\""
+ msgstr "´û¸¤Î¥Þ¥¯¥í \"%s' ¤ò±øÀ÷¤·¤Þ¤¹"
+
+-#: directives.c:1413
++#: directives.c:1418
+ msgid "#pragma system_header ignored outside include file"
+ msgstr "include ¥Õ¥¡¥¤¥ë³°¤Î #pragma system_header ¤Ï̵»ë¤µ¤ì¤Þ¤·¤¿"
+
+-#: directives.c:1437
++#: directives.c:1442
+ #, fuzzy, c-format
+ msgid "cannot find source file %s"
+ msgstr "¥½¡¼¥¹ %s ¤¬¸«¤Ä¤«¤ê¤Þ¤»¤ó"
+
+-#: directives.c:1441
++#: directives.c:1446
+ #, c-format
+ msgid "current file is older than %s"
+ msgstr "¸½ºß¤Î¥Õ¥¡¥¤¥ë¤Ï %s ¤è¤ê¸Å¤¤¤Ç¤¹"
+
+-#: directives.c:1620
++#: directives.c:1625
+ msgid "_Pragma takes a parenthesized string literal"
+ msgstr "_Pramga ¤¬³ç¸Ì¤Ç°Ï¤Þ¤ì¤¿Ê¸»úÎó¥ê¥Æ¥é¥ë¤ò¼õ¤±¼è¤ê¤Þ¤·¤¿"
+
+-#: directives.c:1693
++#: directives.c:1698
+ msgid "#else without #if"
+ msgstr "#else ¤Ë #if ¤¬¤¢¤ê¤Þ¤»¤ó"
+
+-#: directives.c:1698
++#: directives.c:1703
+ msgid "#else after #else"
+ msgstr "#else ¤¬ #else ¤Î¸å¤í¤Ë¤¢¤ê¤Þ¤¹"
+
+-#: directives.c:1700 directives.c:1733
++#: directives.c:1705 directives.c:1738
+ msgid "the conditional began here"
+ msgstr "¤½¤Î¾ò·ï¤Ï¤³¤³¤«¤é»Ï¤Þ¤ê¤Þ¤¹"
+
+-#: directives.c:1726
++#: directives.c:1731
+ msgid "#elif without #if"
+ msgstr "#elif ¤Ë #if ¤¬¤¢¤ê¤Þ¤»¤ó"
+
+-#: directives.c:1731
++#: directives.c:1736
+ msgid "#elif after #else"
+ msgstr "#elif ¤¬ #else ¤Î¸å¤í¤Ë¤¢¤ê¤Þ¤¹"
+
+-#: directives.c:1761
++#: directives.c:1766
+ msgid "#endif without #if"
+ msgstr "#endif ¤Ë #if ¤¬¤¢¤ê¤Þ¤»¤ó"
+
+-#: directives.c:1838
++#: directives.c:1843
+ msgid "missing '(' after predicate"
+ msgstr "½Ò¸ì¤Î¸å¤í¤Î '(' ¤ò·ç¤¤¤Æ¤¤¤Þ¤¹"
+
+-#: directives.c:1853
++#: directives.c:1858
+ msgid "missing ')' to complete answer"
+ msgstr "²ò¤òÊä´°¤¹¤ë ')' ¤ò·ç¤¤¤Æ¤¤¤Þ¤¹"
+
+-#: directives.c:1873
++#: directives.c:1878
+ msgid "predicate's answer is empty"
+ msgstr "½Ò¸ì¤Î²ò¤¬¶õ¤Ç¤¹"
+
+-#: directives.c:1900
++#: directives.c:1905
+ msgid "assertion without predicate"
+ msgstr "½Ò¸ì¤Î¤Ê¤¤¥¢¥µ¡¼¥·¥ç¥ó¤Ç¤¹"
+
+-#: directives.c:1902
++#: directives.c:1907
+ msgid "predicate must be an identifier"
+ msgstr "½Ò¸ì¤Ï¼±Ê̻ҤǤʤ±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó"
+
+-#: directives.c:1988
++#: directives.c:1993
+ #, c-format
+ msgid "\"%s\" re-asserted"
+ msgstr "\"%s\" ¤¬ºÆ¥¢¥µ¡¼¥È¤µ¤ì¤Þ¤·¤¿"
+
+-#: directives.c:2271
++#: directives.c:2276
+ #, c-format
+ msgid "unterminated #%s"
+ msgstr "½ªÃ¼¤Î¤Ê¤¤ #%s"
+@@ -611,39 +616,39 @@
+ msgid "division by zero in #if"
+ msgstr "#if ¤Ç¥¼¥í½ü»»¤¬È¯À¸¤·¤Þ¤·¤¿"
+
+-#: files.c:442
++#: files.c:458
+ msgid "NULL directory in find_file"
+ msgstr ""
+
+-#: files.c:480
++#: files.c:496
+ msgid "one or more PCH files were found, but they were invalid"
+ msgstr ""
+
+-#: files.c:483
++#: files.c:499
+ msgid "use -Winvalid-pch for more information"
+ msgstr ""
+
+-#: files.c:570
++#: files.c:589
+ #, c-format
+ msgid "%s is a block device"
+ msgstr "%s ¤Ï¥Ö¥í¥Ã¥¯¥Ç¥Ð¥¤¥¹¤Ç¤¹"
+
+-#: files.c:587
++#: files.c:606
+ #, c-format
+ msgid "%s is too large"
+ msgstr "%s ¤ÏÂ礭¤¹¤®¤Þ¤¹"
+
+-#: files.c:622
++#: files.c:641
+ #, c-format
+ msgid "%s is shorter than expected"
+ msgstr "%s ¤¬ËÜÍè¤è¤ê¤âû¤¤¤Ç¤¹"
+
+-#: files.c:852
++#: files.c:872
+ #, fuzzy, c-format
+ msgid "no include path in which to search for %s"
+ msgstr "%s ¤ò¸«¤Ä¤±¤ë¤¿¤á¤Î¥¤¥ó¥¯¥ë¡¼¥É¥Ñ¥¹¤¬¤¢¤ê¤Þ¤»¤ó"
+
+-#: files.c:1157
++#: files.c:1238
+ msgid "Multiple include guards may be useful for:\n"
+ msgstr "¿½Å include ¤«¤é¤ÎÊݸͭ±×¤È¤Ê¤ë¤Ç¤·¤ç¤¦:\n"
+
+@@ -773,126 +778,126 @@
+ ",\n"
+ " %s:%u ¤«¤é"
+
+-#: macro.c:84
++#: macro.c:87
+ #, fuzzy, c-format
+ msgid "macro \"%s\" is not used"
+ msgstr "\"%s\" ¤ÏÄêµÁ¤µ¤ì¤Æ¤¤¤Þ¤»¤ó"
+
+-#: macro.c:123 macro.c:319
++#: macro.c:126 macro.c:322
+ #, fuzzy, c-format
+ msgid "invalid built-in macro \"%s\""
+ msgstr "ÁȤ߹þ¤ß¥Þ¥¯¥í \"%s\" ¤Ï̵¸ú¤Ç¤¹"
+
+-#: macro.c:157
++#: macro.c:160
+ #, fuzzy
+ msgid "could not determine file timestamp"
+ msgstr "¥À¥ó¥×¥Õ¥¡¥¤¥ë %s ¤ò³«¤±¤Þ¤»¤ó¤Ç¤·¤¿"
+
+-#: macro.c:254
++#: macro.c:257
+ #, fuzzy
+ msgid "could not determine date and time"
+ msgstr "°Í¸´Ø·¸¤ÎÄÉÀפΤ¿¤á¤Î¥¿¡¼¥²¥Ã¥È̾¤¬ÆÃÄê¤Ç¤­¤Þ¤»¤ó¤Ç¤·¤¿"
+
+-#: macro.c:270
++#: macro.c:273
+ msgid "__COUNTER__ expanded inside directive with -fdirectives-only"
+ msgstr ""
+
+-#: macro.c:423
++#: macro.c:426
+ msgid "invalid string literal, ignoring final '\\'"
+ msgstr "ʸ»úÎó¥ê¥Æ¥é¥ë¤¬Ìµ¸ú¤Ç¤¹¡¢ºÇ¸å¤Î '\\' ¤ò̵»ë¤·¤Þ¤¹"
+
+-#: macro.c:483
++#: macro.c:486
+ #, c-format
+ msgid "pasting \"%s\" and \"%s\" does not give a valid preprocessing token"
+ msgstr "\"%s\" ¤È \"%s\" ¤òŽÉÕ¤±¤Þ¤·¤¿¤¬Àµ¾ï¤Ê¥×¥ê¥×¥í¥»¥Ã¥µ¥È¡¼¥¯¥ó¤È¤Ê¤ê¤Þ¤»¤ó"
+
+-#: macro.c:558
++#: macro.c:561
+ msgid "ISO C99 requires rest arguments to be used"
+ msgstr "ISO C99 ¤Ï»ÈÍѤµ¤ì¤ë¤Ù¤­»Ä¤ê¤Î¤Î°ú¿ô¤òÍ׵ᤷ¤Þ¤¹"
+
+-#: macro.c:563
++#: macro.c:566
+ #, c-format
+ msgid "macro \"%s\" requires %u arguments, but only %u given"
+ msgstr "¥Þ¥¯¥í \"%s\" ¤Ï°ú¿ô¤ò %u Í׵ᤷ¤Þ¤¹¤¬¡¢%u ¸Ä¤·¤«Í¿¤¨¤é¤ì¤Æ¤¤¤Þ¤»¤ó"
+
+-#: macro.c:568
++#: macro.c:571
+ #, c-format
+ msgid "macro \"%s\" passed %u arguments, but takes just %u"
+ msgstr "¥Þ¥¯¥í \"%s\" ¤Ë°ú¿ô¤¬ %u ÅϤµ¤ì¤Þ¤·¤¿¤¬¡¢%u ¤·¤«¼õ¤±¼è¤ê¤Þ¤»¤ó"
+
+-#: macro.c:679 traditional.c:680
++#: macro.c:730 traditional.c:680
+ #, c-format
+ msgid "unterminated argument list invoking macro \"%s\""
+ msgstr "½ªÃ¼¤µ¤ì¤Æ¤¤¤Ê¤¤°ú¿ô¥ê¥¹¥È¤¬¥Þ¥¯¥í \"%s\" ¤òµ¯Æ°¤·¤è¤¦¤È¤·¤Þ¤·¤¿"
+
+-#: macro.c:782
++#: macro.c:840
+ #, c-format
+ msgid "function-like macro \"%s\" must be used with arguments in traditional C"
+ msgstr "¸Å¤¤ C ¤Ç¤Ï¡¢´Ø¿ôŪ¥Þ¥¯¥í \"%s\" ¤Ë°ú¿ô¤¬Í¿¤¨¤é¤ì¤Í¤Ð¤Ê¤ê¤Þ¤»¤ó"
+
+-#: macro.c:1325
++#: macro.c:1408
+ #, c-format
+ msgid "duplicate macro parameter \"%s\""
+ msgstr "¥Þ¥¯¥í²¾°ú¿ô \"%s\" ¤¬½ÅÊ£¤·¤Æ¤¤¤Þ¤¹"
+
+-#: macro.c:1371
++#: macro.c:1454
+ #, c-format
+ msgid "\"%s\" may not appear in macro parameter list"
+ msgstr "\"%s\" ¤Ï¥Þ¥¯¥í²¾°ú¿ô¥ê¥¹¥È¤Ë¸½¤ì¤Æ¤Ï¤Ê¤ê¤Þ¤»¤ó"
+
+-#: macro.c:1379
++#: macro.c:1462
+ msgid "macro parameters must be comma-separated"
+ msgstr "¥Þ¥¯¥í²¾°ú¿ô¤Ï¥«¥ó¥Þ¶èÀڤꤵ¤ì¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó"
+
+-#: macro.c:1396
++#: macro.c:1479
+ msgid "parameter name missing"
+ msgstr "²¾°ú¿ô̾¤ò·ç¤¤¤Æ¤¤¤Þ¤¹"
+
+-#: macro.c:1413
++#: macro.c:1496
+ msgid "anonymous variadic macros were introduced in C99"
+ msgstr "̵̾²ÄÊÑ°ú¿ô¥Þ¥¯¥í¤Ï C99 ¤ÇºÎ¤êÆþ¤ì¤é¤ì¤Þ¤·¤¿"
+
+-#: macro.c:1418
++#: macro.c:1501
+ msgid "ISO C does not permit named variadic macros"
+ msgstr "ISO C ¤Ç¤Ï̾Á°¤Ä¤­²ÄÊÑ°ú¿ô¥Þ¥¯¥í¤òµö¤·¤Þ¤»¤ó"
+
+-#: macro.c:1427
++#: macro.c:1510
+ msgid "missing ')' in macro parameter list"
+ msgstr "¥Þ¥¯¥í²¾°ú¿ô¥ê¥¹¥È¤Ç¡¢')' ¤ò·ç¤¤¤Æ¤¤¤Þ¤¹"
+
+-#: macro.c:1476
++#: macro.c:1559
+ msgid "'##' cannot appear at either end of a macro expansion"
+ msgstr "'##' ¤Ï¥Þ¥¯¥íŸ³«¤Îξü¤Ë¤Ï½Ð¸½¤Ç¤­¤Þ¤»¤ó"
+
+-#: macro.c:1510
++#: macro.c:1593
+ #, fuzzy
+ msgid "ISO C99 requires whitespace after the macro name"
+ msgstr "ISO C ¤Ç¤Ï¥Þ¥¯¥í̾¤Î¸å¤í¤Ë¶õÇò¤òÍ׵ᤷ¤Þ¤¹"
+
+-#: macro.c:1534
++#: macro.c:1617
+ #, fuzzy
+ msgid "missing whitespace after the macro name"
+ msgstr "ISO C ¤Ç¤Ï¥Þ¥¯¥í̾¤Î¸å¤í¤Ë¶õÇò¤òÍ׵ᤷ¤Þ¤¹"
+
+-#: macro.c:1564
++#: macro.c:1647
+ msgid "'#' is not followed by a macro parameter"
+ msgstr "'#' ¤Ë¥Þ¥¯¥í²¾°ú¿ô̾¤¬Â³¤¤¤Æ¤¤¤Þ¤»¤ó"
+
+-#: macro.c:1683
++#: macro.c:1766
+ #, c-format
+ msgid "\"%s\" redefined"
+ msgstr "\"%s\" ¤¬ºÆÄêµÁ¤µ¤ì¤Þ¤·¤¿"
+
+-#: macro.c:1688
++#: macro.c:1771
+ msgid "this is the location of the previous definition"
+ msgstr "¤³¤³¤¬°ÊÁ°¤ÎÀë¸À¤¬¤¢¤ë°ÌÃ֤Ǥ¹"
+
+-#: macro.c:1738
++#: macro.c:1828
+ #, fuzzy, c-format
+ msgid "macro argument \"%s\" would be stringified in traditional C"
+ msgstr "¥Þ¥¯¥í°ú¿ô \"%s\" ¤Ï -traditional ¤ò¤Ä¤±¤ë¤Èʸ»úÎ󲽤µ¤ì¤¿»ö¤Ç¤·¤ç¤¦"
+
+-#: macro.c:1761
++#: macro.c:1851
+ #, fuzzy, c-format
+ msgid "invalid hash type %d in cpp_macro_definition"
+ msgstr "dump_definition ¤Ë ̵¸ú¤Ê¥Ï¥Ã¥·¥å¥¿¥¤¥× %d"
+@@ -930,7 +935,7 @@
+ msgid "detected recursion whilst expanding macro \"%s\""
+ msgstr "½ªÃ¼¤µ¤ì¤Æ¤¤¤Ê¤¤°ú¿ô¥ê¥¹¥È¤¬¥Þ¥¯¥í \"%s\" ¤òµ¯Æ°¤·¤è¤¦¤È¤·¤Þ¤·¤¿"
+
+-#: traditional.c:917
++#: traditional.c:968
+ #, fuzzy
+ msgid "syntax error in macro parameter list"
+ msgstr "\"%s\" ¤Ï¥Þ¥¯¥í²¾°ú¿ô¥ê¥¹¥È¤Ë¸½¤ì¤Æ¤Ï¤Ê¤ê¤Þ¤»¤ó"
+@@ -3394,9 +3399,6 @@
+ #~ msgid "Control the precision given to fp exceptions"
+ #~ msgstr "ÉâÆ°¾®¿ôÅÀÎã³°¤ËÍ¿¤¨¤é¤ì¤¿ÀºÅÙ¤òÀ©¸æ¤¹¤ë"
+
+-#~ msgid "Tune expected memory latency"
+-#~ msgstr "ͽ´ü¤µ¤ì¤ë¥á¥â¥ê¥ì¥¤¥Æ¥ó¥·¤òÄ´À°¤¹¤ë"
+-
+ #~ msgid "%s causes a section type conflict"
+ #~ msgstr "%s ¤Ï¥»¥¯¥·¥ç¥ó¥¿¥¤¥×¤Î¶¥¹ç¤ò°ú¤­µ¯¤³¤·¤Þ¤¹"
+
+Index: libcpp/po/zh_TW.po
+===================================================================
+--- libcpp/po/zh_TW.po (.../tags/gcc_4_3_0_release) (revision 133808)
++++ libcpp/po/zh_TW.po (.../branches/gcc-4_3-branch) (revision 133808)
+@@ -8,7 +8,7 @@
+ msgstr ""
+ "Project-Id-Version: cpplib 4.1.0\n"
+ "Report-Msgid-Bugs-To: http://gcc.gnu.org/bugs.html\n"
+-"POT-Creation-Date: 2007-11-08 21:08+0000\n"
++"POT-Creation-Date: 2008-02-01 16:21+0000\n"
+ "PO-Revision-Date: 2006-03-09 12:37+0800\n"
+ "Last-Translator: Wei-Lun Chao <chaoweilun@pcmail.com.tw>\n"
+ "Language-Team: Chinese (traditional) <zh-l10n@linux.org.tw>\n"
+@@ -17,136 +17,136 @@
+ "Content-Transfer-Encoding: 8bit\n"
+ "Plural-Forms: nplurals=1; plural=0;\n"
+
+-#: charset.c:654
++#: charset.c:671
+ #, c-format
+ msgid "conversion from %s to %s not supported by iconv"
+ msgstr "iconv ä¸æ”¯æ´å¾ž %s 到 %s 的轉æ›"
+
+-#: charset.c:657
++#: charset.c:674
+ msgid "iconv_open"
+ msgstr "iconv_open"
+
+-#: charset.c:665
++#: charset.c:682
+ #, c-format
+ msgid "no iconv implementation, cannot convert from %s to %s"
+ msgstr "沒有實作 iconv,無法從 %s 轉æ›åˆ° %s"
+
+-#: charset.c:742
++#: charset.c:759
+ #, c-format
+ msgid "character 0x%lx is not in the basic source character set\n"
+ msgstr "å­—å…ƒ 0x%lx ä¸åœ¨åŸºæœ¬ä¾†æºå­—元集中\n"
+
+-#: charset.c:759 charset.c:1352
++#: charset.c:776 charset.c:1369
+ msgid "converting to execution character set"
+ msgstr "轉æ›åˆ°å¯åŸ·è¡Œæª”案的字元集"
+
+-#: charset.c:765
++#: charset.c:782
+ #, c-format
+ msgid "character 0x%lx is not unibyte in execution character set"
+ msgstr "å­—å…ƒ 0x%lx 在執行字元集中ä¸æ˜¯å–®ä½å…ƒçµ„çš„"
+
+-#: charset.c:889
++#: charset.c:906
+ #, c-format
+ msgid "Character %x might not be NFKC"
+ msgstr "å­—å…ƒ %x å¯èƒ½ä¸æ˜¯ NFKC"
+
+-#: charset.c:949
++#: charset.c:966
+ msgid "universal character names are only valid in C++ and C99"
+ msgstr "è¬åœ‹ç¢¼å­—å…ƒå稱åªåœ¨ C++ å’Œ C99 中有效"
+
+-#: charset.c:952
++#: charset.c:969
+ #, c-format
+ msgid "the meaning of '\\%c' is different in traditional C"
+ msgstr "「\\%cã€çš„æ„義與在傳統 C 中ä¸åŒ"
+
+-#: charset.c:961
++#: charset.c:978
+ msgid "In _cpp_valid_ucn but not a UCN"
+ msgstr "在 _cpp_valid_ucn 中並ä¸æ˜¯ä¸€å€‹ UCN"
+
+-#: charset.c:986
++#: charset.c:1003
+ #, c-format
+ msgid "incomplete universal character name %.*s"
+ msgstr "ä¸å®Œæ•´çš„è¬åœ‹ç¢¼å­—å…ƒå稱 %.*s"
+
+-#: charset.c:998
++#: charset.c:1015
+ #, c-format
+ msgid "%.*s is not a valid universal character"
+ msgstr "%.*s ä¸æ˜¯ä¸€å€‹æœ‰æ•ˆçš„è¬åœ‹ç¢¼å­—å…ƒ"
+
+-#: charset.c:1008 lex.c:484
++#: charset.c:1025 lex.c:484
+ msgid "'$' in identifier or number"
+ msgstr "「$ã€å‡ºç¾åœ¨è­˜åˆ¥å­—或數字中"
+
+-#: charset.c:1018
++#: charset.c:1035
+ #, c-format
+ msgid "universal character %.*s is not valid in an identifier"
+ msgstr "è¬åœ‹ç¢¼å­—å…ƒ %.*s 在識別字中無效"
+
+-#: charset.c:1022
++#: charset.c:1039
+ #, c-format
+ msgid "universal character %.*s is not valid at the start of an identifier"
+ msgstr "è¬åœ‹ç¢¼å­—å…ƒ %.*s 在識別字開頭無效"
+
+-#: charset.c:1056 charset.c:1571
++#: charset.c:1073 charset.c:1588
+ msgid "converting UCN to source character set"
+ msgstr "å°‡ UCN 轉æ›åˆ°ä¾†æºå­—元集"
+
+-#: charset.c:1060
++#: charset.c:1077
+ msgid "converting UCN to execution character set"
+ msgstr "å°‡ UCN 轉æ›åˆ°åŸ·è¡Œå­—元集"
+
+-#: charset.c:1132
++#: charset.c:1149
+ msgid "the meaning of '\\x' is different in traditional C"
+ msgstr "「\\xã€çš„æ„義與在傳統 C 中ä¸åŒ"
+
+-#: charset.c:1149
++#: charset.c:1166
+ msgid "\\x used with no following hex digits"
+ msgstr "\\x 後沒有å六進ä½æ•¸å­—"
+
+-#: charset.c:1156
++#: charset.c:1173
+ msgid "hex escape sequence out of range"
+ msgstr "å六進ä½é€¸å‡ºåºåˆ—越界"
+
+-#: charset.c:1195
++#: charset.c:1212
+ msgid "octal escape sequence out of range"
+ msgstr "八進ä½é€¸å‡ºåºåˆ—越界"
+
+-#: charset.c:1263
++#: charset.c:1280
+ msgid "the meaning of '\\a' is different in traditional C"
+ msgstr "「\\aã€çš„æ„義與在傳統 C 中ä¸åŒ"
+
+-#: charset.c:1270
++#: charset.c:1287
+ #, c-format
+ msgid "non-ISO-standard escape sequence, '\\%c'"
+ msgstr "éž ISO 標準的逸出åºåˆ—,「\\%cã€"
+
+-#: charset.c:1278
++#: charset.c:1295
+ #, c-format
+ msgid "unknown escape sequence '\\%c'"
+ msgstr "ä¸æ˜Žçš„逸出åºåˆ—:「\\%cã€"
+
+-#: charset.c:1286
++#: charset.c:1303
+ #, c-format
+ msgid "unknown escape sequence: '\\%s'"
+ msgstr "ä¸æ˜Žçš„逸出åºåˆ—:「\\%sã€"
+
+-#: charset.c:1293
++#: charset.c:1310
+ msgid "converting escape sequence to execution character set"
+ msgstr "將逸出åºåˆ—轉æ›åˆ°åŸ·è¡Œå­—元集"
+
+-#: charset.c:1415 charset.c:1478
++#: charset.c:1432 charset.c:1495
+ msgid "character constant too long for its type"
+ msgstr "字元常數大å°è¶…出其類型"
+
+-#: charset.c:1418
++#: charset.c:1435
+ msgid "multi-character character constant"
+ msgstr "多ä½å…ƒçµ„字元常數"
+
+-#: charset.c:1510
++#: charset.c:1527
+ msgid "empty character constant"
+ msgstr "空的字元常數"
+
+-#: charset.c:1612
++#: charset.c:1629
+ #, c-format
+ msgid "failure to convert %s to %s"
+ msgstr "無法從 %s 轉æ›åˆ° %s"
+@@ -239,139 +239,143 @@
+ msgstr "line 指令中有無效的標記「%sã€"
+
+ #: directives.c:868
++msgid "unexpected end of file after #line"
++msgstr ""
++
++#: directives.c:871
+ #, c-format
+ msgid "\"%s\" after #line is not a positive integer"
+ msgstr "#line 後的「%sã€ä¸æ˜¯ä¸€å€‹æ­£æ•´æ•¸"
+
+-#: directives.c:874
++#: directives.c:877
+ msgid "line number out of range"
+ msgstr "列號超出範åœ"
+
+-#: directives.c:887 directives.c:964
++#: directives.c:890 directives.c:969
+ #, c-format
+ msgid "\"%s\" is not a valid filename"
+ msgstr "「%sã€ä¸æ˜¯ä¸€å€‹æœ‰æ•ˆçš„檔案å稱"
+
+-#: directives.c:924
++#: directives.c:929
+ #, c-format
+ msgid "\"%s\" after # is not a positive integer"
+ msgstr "# 後的「%sã€ä¸æ˜¯ä¸€å€‹æ­£æ•´æ•¸"
+
+-#: directives.c:1026
++#: directives.c:1031
+ #, c-format
+ msgid "invalid #%s directive"
+ msgstr "無效的 #%s 指令"
+
+-#: directives.c:1089
++#: directives.c:1094
+ #, c-format
+ msgid "registering pragmas in namespace \"%s\" with mismatched name expansion"
+ msgstr ""
+
+-#: directives.c:1098
++#: directives.c:1103
+ #, fuzzy, c-format
+ msgid "registering pragma \"%s\" with name expansion and no namespace"
+ msgstr "「%sã€æ—¢è¢«è¨»å†Šç‚ºä¸€å€‹ pragma åˆè¢«è¨»å†Šç‚ºä¸€å€‹ pragma 命å空間"
+
+-#: directives.c:1116
++#: directives.c:1121
+ #, c-format
+ msgid "registering \"%s\" as both a pragma and a pragma namespace"
+ msgstr "「%sã€æ—¢è¢«è¨»å†Šç‚ºä¸€å€‹ pragma åˆè¢«è¨»å†Šç‚ºä¸€å€‹ pragma 命å空間"
+
+-#: directives.c:1119
++#: directives.c:1124
+ #, c-format
+ msgid "#pragma %s %s is already registered"
+ msgstr "#pragma %s %s 已經被註冊"
+
+-#: directives.c:1122
++#: directives.c:1127
+ #, c-format
+ msgid "#pragma %s is already registered"
+ msgstr "#pragma %s 已經被註冊"
+
+-#: directives.c:1152
++#: directives.c:1157
+ msgid "registering pragma with NULL handler"
+ msgstr ""
+
+-#: directives.c:1362
++#: directives.c:1367
+ msgid "#pragma once in main file"
+ msgstr "#pragma once 出ç¾åœ¨ä¸»æª”案中"
+
+-#: directives.c:1385
++#: directives.c:1390
+ msgid "invalid #pragma GCC poison directive"
+ msgstr "無效的 #pragma GCC poison 指令"
+
+-#: directives.c:1394
++#: directives.c:1399
+ #, c-format
+ msgid "poisoning existing macro \"%s\""
+ msgstr "å°å·²å­˜åœ¨çš„巨集「%sã€åŠ æ–™"
+
+-#: directives.c:1413
++#: directives.c:1418
+ msgid "#pragma system_header ignored outside include file"
+ msgstr "#pragma system_header 在包å«æª”案外被忽略"
+
+-#: directives.c:1437
++#: directives.c:1442
+ #, c-format
+ msgid "cannot find source file %s"
+ msgstr "找ä¸åˆ°ä¾†æºæª”案 %s"
+
+-#: directives.c:1441
++#: directives.c:1446
+ #, c-format
+ msgid "current file is older than %s"
+ msgstr "ç›®å‰æª”案早於 %s"
+
+-#: directives.c:1620
++#: directives.c:1625
+ msgid "_Pragma takes a parenthesized string literal"
+ msgstr "_Pragma 需è¦ä¸€å€‹æ‹¬èµ·çš„字串原文"
+
+-#: directives.c:1693
++#: directives.c:1698
+ msgid "#else without #if"
+ msgstr "#else 沒有匹é…çš„ #if"
+
+-#: directives.c:1698
++#: directives.c:1703
+ msgid "#else after #else"
+ msgstr "#else 出ç¾åœ¨ #else 後"
+
+-#: directives.c:1700 directives.c:1733
++#: directives.c:1705 directives.c:1738
+ msgid "the conditional began here"
+ msgstr "æ¢ä»¶è‡ªæ­¤é–‹å§‹"
+
+-#: directives.c:1726
++#: directives.c:1731
+ msgid "#elif without #if"
+ msgstr "#elif 沒有匹é…çš„ #if"
+
+-#: directives.c:1731
++#: directives.c:1736
+ msgid "#elif after #else"
+ msgstr "#elif 出ç¾åœ¨ #else 後"
+
+-#: directives.c:1761
++#: directives.c:1766
+ msgid "#endif without #if"
+ msgstr "#endif 沒有匹é…çš„ #if"
+
+-#: directives.c:1838
++#: directives.c:1843
+ msgid "missing '(' after predicate"
+ msgstr "述語後缺少「(ã€"
+
+-#: directives.c:1853
++#: directives.c:1858
+ msgid "missing ')' to complete answer"
+ msgstr "完整的答案缺少「)ã€"
+
+-#: directives.c:1873
++#: directives.c:1878
+ msgid "predicate's answer is empty"
+ msgstr "述語的答案為空"
+
+-#: directives.c:1900
++#: directives.c:1905
+ msgid "assertion without predicate"
+ msgstr "判定語後沒有述語"
+
+-#: directives.c:1902
++#: directives.c:1907
+ msgid "predicate must be an identifier"
+ msgstr "述語必須是一個識別字"
+
+-#: directives.c:1988
++#: directives.c:1993
+ #, c-format
+ msgid "\"%s\" re-asserted"
+ msgstr "å·²å†åˆ¤å®šã€Œ%sã€"
+
+-#: directives.c:2271
++#: directives.c:2276
+ #, c-format
+ msgid "unterminated #%s"
+ msgstr "未終止的 #%s"
+@@ -592,39 +596,39 @@
+ msgid "division by zero in #if"
+ msgstr "#if 中用零åšé™¤æ•¸"
+
+-#: files.c:442
++#: files.c:458
+ msgid "NULL directory in find_file"
+ msgstr "find_file 中有 NULL 目錄"
+
+-#: files.c:480
++#: files.c:496
+ msgid "one or more PCH files were found, but they were invalid"
+ msgstr "找到一個或多個 PCH 檔案,但它們是無效的"
+
+-#: files.c:483
++#: files.c:499
+ msgid "use -Winvalid-pch for more information"
+ msgstr "使用 -Winvalid-pch 以ç²å¾—更多資訊"
+
+-#: files.c:570
++#: files.c:589
+ #, c-format
+ msgid "%s is a block device"
+ msgstr "%s 是一個å€å¡Šè£ç½®"
+
+-#: files.c:587
++#: files.c:606
+ #, c-format
+ msgid "%s is too large"
+ msgstr "%s éŽå¤§"
+
+-#: files.c:622
++#: files.c:641
+ #, c-format
+ msgid "%s is shorter than expected"
+ msgstr "%s 短於é æœŸ"
+
+-#: files.c:852
++#: files.c:872
+ #, c-format
+ msgid "no include path in which to search for %s"
+ msgstr "沒有包å«è·¯å¾‘å¯ä¾›æœå°‹ %s"
+
+-#: files.c:1157
++#: files.c:1238
+ msgid "Multiple include guards may be useful for:\n"
+ msgstr "多個防止é‡åŒ…å«å¯èƒ½å°å…¶æœ‰ç”¨ï¼š\n"
+
+@@ -752,123 +756,123 @@
+ ",\n"
+ " 從 %s:%u"
+
+-#: macro.c:84
++#: macro.c:87
+ #, c-format
+ msgid "macro \"%s\" is not used"
+ msgstr "巨集「%sã€æœªè¢«ä½¿ç”¨"
+
+-#: macro.c:123 macro.c:319
++#: macro.c:126 macro.c:322
+ #, c-format
+ msgid "invalid built-in macro \"%s\""
+ msgstr "無效的內建巨集「%sã€"
+
+-#: macro.c:157
++#: macro.c:160
+ #, fuzzy
+ msgid "could not determine file timestamp"
+ msgstr "無法決定日期與時間"
+
+-#: macro.c:254
++#: macro.c:257
+ msgid "could not determine date and time"
+ msgstr "無法決定日期與時間"
+
+-#: macro.c:270
++#: macro.c:273
+ msgid "__COUNTER__ expanded inside directive with -fdirectives-only"
+ msgstr ""
+
+-#: macro.c:423
++#: macro.c:426
+ msgid "invalid string literal, ignoring final '\\'"
+ msgstr "無效的原文字串,忽略最後的「\\ã€"
+
+-#: macro.c:483
++#: macro.c:486
+ #, c-format
+ msgid "pasting \"%s\" and \"%s\" does not give a valid preprocessing token"
+ msgstr "粘貼「%sã€å’Œã€Œ%sã€ä¸èƒ½çµ¦å‡ºä¸€å€‹æœ‰æ•ˆçš„é å…ˆè™•ç†è­˜åˆ¥å­—"
+
+-#: macro.c:558
++#: macro.c:561
+ msgid "ISO C99 requires rest arguments to be used"
+ msgstr "ISO C99 需è¦ä½¿ç”¨å‰©é¤˜çš„引數"
+
+-#: macro.c:563
++#: macro.c:566
+ #, c-format
+ msgid "macro \"%s\" requires %u arguments, but only %u given"
+ msgstr "巨集「%sã€éœ€è¦ %u 個引數,但åªçµ¦å‡ºäº† %u 個"
+
+-#: macro.c:568
++#: macro.c:571
+ #, c-format
+ msgid "macro \"%s\" passed %u arguments, but takes just %u"
+ msgstr "巨集「%sã€å‚³éžäº† %u 個引數,但åªéœ€è¦ %u 個"
+
+-#: macro.c:679 traditional.c:680
++#: macro.c:730 traditional.c:680
+ #, c-format
+ msgid "unterminated argument list invoking macro \"%s\""
+ msgstr "呼å«å·¨é›†ã€Œ%sã€æ™‚引數清單未終止"
+
+-#: macro.c:782
++#: macro.c:840
+ #, c-format
+ msgid "function-like macro \"%s\" must be used with arguments in traditional C"
+ msgstr "類似函å¼çš„巨集「%sã€åœ¨å‚³çµ± C 中必須與引數一起使用"
+
+-#: macro.c:1325
++#: macro.c:1408
+ #, c-format
+ msgid "duplicate macro parameter \"%s\""
+ msgstr "é‡è¤‡çš„巨集åƒæ•¸ã€Œ%sã€"
+
+-#: macro.c:1371
++#: macro.c:1454
+ #, c-format
+ msgid "\"%s\" may not appear in macro parameter list"
+ msgstr "「%sã€ä¸èƒ½å‡ºç¾åœ¨å·¨é›†åƒæ•¸æ¸…單中"
+
+-#: macro.c:1379
++#: macro.c:1462
+ msgid "macro parameters must be comma-separated"
+ msgstr "巨集åƒæ•¸å¿…須由逗號隔開"
+
+-#: macro.c:1396
++#: macro.c:1479
+ msgid "parameter name missing"
+ msgstr "缺少åƒæ•¸å"
+
+-#: macro.c:1413
++#: macro.c:1496
+ msgid "anonymous variadic macros were introduced in C99"
+ msgstr "匿åå¯è®Šåƒæ•¸å·¨é›†åœ¨ C99 中被引入"
+
+-#: macro.c:1418
++#: macro.c:1501
+ msgid "ISO C does not permit named variadic macros"
+ msgstr "ISO C ä¸å…許具åçš„å¯è®Šåƒæ•¸å·¨é›†"
+
+-#: macro.c:1427
++#: macro.c:1510
+ msgid "missing ')' in macro parameter list"
+ msgstr "在巨集åƒæ•¸è¡¨ä¸­ç¼ºå°‘「)ã€"
+
+-#: macro.c:1476
++#: macro.c:1559
+ msgid "'##' cannot appear at either end of a macro expansion"
+ msgstr "「##ã€ä¸èƒ½å‡ºç¾åœ¨å·¨é›†å±•é–‹çš„兩端"
+
+-#: macro.c:1510
++#: macro.c:1593
+ msgid "ISO C99 requires whitespace after the macro name"
+ msgstr "ISO C99 è¦æ±‚巨集å後必須有空白"
+
+-#: macro.c:1534
++#: macro.c:1617
+ msgid "missing whitespace after the macro name"
+ msgstr "巨集å後缺少空白"
+
+-#: macro.c:1564
++#: macro.c:1647
+ msgid "'#' is not followed by a macro parameter"
+ msgstr "「#ã€å¾Œæ²’有巨集åƒæ•¸"
+
+-#: macro.c:1683
++#: macro.c:1766
+ #, c-format
+ msgid "\"%s\" redefined"
+ msgstr "「%sã€é‡å®šç¾©"
+
+-#: macro.c:1688
++#: macro.c:1771
+ msgid "this is the location of the previous definition"
+ msgstr "這是先å‰å®šç¾©çš„ä½ç½®"
+
+-#: macro.c:1738
++#: macro.c:1828
+ #, c-format
+ msgid "macro argument \"%s\" would be stringified in traditional C"
+ msgstr "巨集引數「%sã€å°‡åœ¨å‚³çµ± C 中被字串化"
+
+-#: macro.c:1761
++#: macro.c:1851
+ #, c-format
+ msgid "invalid hash type %d in cpp_macro_definition"
+ msgstr "cpp_macro_definition 中有無效的雜湊類型 %d"
+@@ -906,7 +910,7 @@
+ msgid "detected recursion whilst expanding macro \"%s\""
+ msgstr "展開巨集「%sã€æ™‚åµæ¸¬åˆ°éžè¿´"
+
+-#: traditional.c:917
++#: traditional.c:968
+ msgid "syntax error in macro parameter list"
+ msgstr "巨集åƒæ•¸æ¸…單語法錯誤"
+
+Index: libcpp/po/el.po
+===================================================================
+--- libcpp/po/el.po (.../tags/gcc_4_3_0_release) (revision 133808)
++++ libcpp/po/el.po (.../branches/gcc-4_3-branch) (revision 133808)
+@@ -6,7 +6,7 @@
+ msgstr ""
+ "Project-Id-Version: gcc 3.2\n"
+ "Report-Msgid-Bugs-To: http://gcc.gnu.org/bugs.html\n"
+-"POT-Creation-Date: 2007-11-08 21:08+0000\n"
++"POT-Creation-Date: 2008-02-01 16:21+0000\n"
+ "PO-Revision-Date: 2002-08-18 15:46+0100\n"
+ "Last-Translator: Simos Xenitellis <simos@hellug.gr>\n"
+ "Language-Team: Greek <nls@tux.hellug.gr>\n"
+@@ -14,145 +14,145 @@
+ "Content-Type: text/plain; charset=iso-8859-7\n"
+ "Content-Transfer-Encoding: 8bit\n"
+
+-#: charset.c:654
++#: charset.c:671
+ #, fuzzy, c-format
+ msgid "conversion from %s to %s not supported by iconv"
+ msgstr "ç ìåôáôñïðÞ áðü `%s' óå `%s' äåí õðïóôçñßæåôå"
+
+-#: charset.c:657
++#: charset.c:674
+ msgid "iconv_open"
+ msgstr ""
+
+-#: charset.c:665
++#: charset.c:682
+ #, c-format
+ msgid "no iconv implementation, cannot convert from %s to %s"
+ msgstr ""
+
+-#: charset.c:742
++#: charset.c:759
+ #, c-format
+ msgid "character 0x%lx is not in the basic source character set\n"
+ msgstr ""
+
+-#: charset.c:759 charset.c:1352
++#: charset.c:776 charset.c:1369
+ msgid "converting to execution character set"
+ msgstr ""
+
+-#: charset.c:765
++#: charset.c:782
+ #, c-format
+ msgid "character 0x%lx is not unibyte in execution character set"
+ msgstr ""
+
+-#: charset.c:889
++#: charset.c:906
+ #, c-format
+ msgid "Character %x might not be NFKC"
+ msgstr ""
+
+-#: charset.c:949
++#: charset.c:966
+ #, fuzzy
+ msgid "universal character names are only valid in C++ and C99"
+ msgstr "U+%04X: åêôüò ïñßùí ÷áñáêôÞñáò"
+
+-#: charset.c:952
++#: charset.c:969
+ #, c-format
+ msgid "the meaning of '\\%c' is different in traditional C"
+ msgstr ""
+
+-#: charset.c:961
++#: charset.c:978
+ msgid "In _cpp_valid_ucn but not a UCN"
+ msgstr ""
+
+-#: charset.c:986
++#: charset.c:1003
+ #, c-format
+ msgid "incomplete universal character name %.*s"
+ msgstr ""
+
+-#: charset.c:998
++#: charset.c:1015
+ #, fuzzy, c-format
+ msgid "%.*s is not a valid universal character"
+ msgstr "Ôï `%s' äåí åßíáé êáôÜëïãïò."
+
+-#: charset.c:1008 lex.c:484
++#: charset.c:1025 lex.c:484
+ msgid "'$' in identifier or number"
+ msgstr ""
+
+-#: charset.c:1018
++#: charset.c:1035
+ #, c-format
+ msgid "universal character %.*s is not valid in an identifier"
+ msgstr ""
+
+-#: charset.c:1022
++#: charset.c:1039
+ #, c-format
+ msgid "universal character %.*s is not valid at the start of an identifier"
+ msgstr ""
+
+-#: charset.c:1056 charset.c:1571
++#: charset.c:1073 charset.c:1588
+ msgid "converting UCN to source character set"
+ msgstr ""
+
+-#: charset.c:1060
++#: charset.c:1077
+ msgid "converting UCN to execution character set"
+ msgstr ""
+
+-#: charset.c:1132
++#: charset.c:1149
+ msgid "the meaning of '\\x' is different in traditional C"
+ msgstr ""
+
+-#: charset.c:1149
++#: charset.c:1166
+ msgid "\\x used with no following hex digits"
+ msgstr ""
+
+-#: charset.c:1156
++#: charset.c:1173
+ #, fuzzy
+ msgid "hex escape sequence out of range"
+ msgstr "ìç Ýãêõñç äéáäéêáóßá äéáöõãÞò óôï ôÝëïò ôïõ áëöáñéèìéôéêïý"
+
+-#: charset.c:1195
++#: charset.c:1212
+ #, fuzzy
+ msgid "octal escape sequence out of range"
+ msgstr "ìç Ýãêõñç äéáäéêáóßá äéáöõãÞò óôï ôÝëïò ôïõ áëöáñéèìéôéêïý"
+
+-#: charset.c:1263
++#: charset.c:1280
+ msgid "the meaning of '\\a' is different in traditional C"
+ msgstr ""
+
+-#: charset.c:1270
++#: charset.c:1287
+ #, c-format
+ msgid "non-ISO-standard escape sequence, '\\%c'"
+ msgstr ""
+
+ # src/main.c:663
+-#: charset.c:1278
++#: charset.c:1295
+ #, fuzzy, c-format
+ msgid "unknown escape sequence '\\%c'"
+ msgstr "¶ãíùóôç óõìâïëïóåéñÜ `%s'"
+
+ # src/main.c:663
+-#: charset.c:1286
++#: charset.c:1303
+ #, fuzzy, c-format
+ msgid "unknown escape sequence: '\\%s'"
+ msgstr "¶ãíùóôç óõìâïëïóåéñÜ `%s'"
+
+-#: charset.c:1293
++#: charset.c:1310
+ #, fuzzy
+ msgid "converting escape sequence to execution character set"
+ msgstr "ìç Ýãêõñç äéáäéêáóßá äéáöõãÞò óôï ôÝëïò ôïõ áëöáñéèìéôéêïý"
+
+-#: charset.c:1415 charset.c:1478
++#: charset.c:1432 charset.c:1495
+ #, fuzzy
+ msgid "character constant too long for its type"
+ msgstr "ìç Ýãêõñïò óôáèåñüò ÷áñáêôÞñáò óôï áëöáñéèìéôéêü"
+
+-#: charset.c:1418
++#: charset.c:1435
+ #, fuzzy
+ msgid "multi-character character constant"
+ msgstr "äéðëü üíïìá ÷áñáêôÞñá `%s'"
+
+-#: charset.c:1510
++#: charset.c:1527
+ #, fuzzy
+ msgid "empty character constant"
+ msgstr "êåíü áëöáñéèìçôéêü"
+
+-#: charset.c:1612
++#: charset.c:1629
+ #, fuzzy, c-format
+ msgid "failure to convert %s to %s"
+ msgstr "äåí åßíáé äõíáôü íá äçìéïõñãçèåß ôï %s `%s' óôï `%s'"
+@@ -247,142 +247,146 @@
+ msgstr ""
+
+ #: directives.c:868
++msgid "unexpected end of file after #line"
++msgstr ""
++
++#: directives.c:871
+ #, fuzzy, c-format
+ msgid "\"%s\" after #line is not a positive integer"
+ msgstr "%s' äåí åßíáé éó÷ýùí èåôéêüò áêÝñáéïò."
+
+-#: directives.c:874
++#: directives.c:877
+ #, fuzzy
+ msgid "line number out of range"
+ msgstr "%s: áñéèìüò ãñáììÞò Ýîù áðü ôá üñéá"
+
+-#: directives.c:887 directives.c:964
++#: directives.c:890 directives.c:969
+ #, fuzzy, c-format
+ msgid "\"%s\" is not a valid filename"
+ msgstr "%s' äåí åßíáé éó÷ýùí èåôéêüò áêÝñáéïò."
+
+-#: directives.c:924
++#: directives.c:929
+ #, fuzzy, c-format
+ msgid "\"%s\" after # is not a positive integer"
+ msgstr "%s' äåí åßíáé éó÷ýùí èåôéêüò áêÝñáéïò."
+
+-#: directives.c:1026
++#: directives.c:1031
+ #, fuzzy, c-format
+ msgid "invalid #%s directive"
+ msgstr "%%%c: êáôåõèõíôÞñéïò ãñáììÞ ìç Ýãêõñç."
+
+-#: directives.c:1089
++#: directives.c:1094
+ #, c-format
+ msgid "registering pragmas in namespace \"%s\" with mismatched name expansion"
+ msgstr ""
+
+-#: directives.c:1098
++#: directives.c:1103
+ #, c-format
+ msgid "registering pragma \"%s\" with name expansion and no namespace"
+ msgstr ""
+
+-#: directives.c:1116
++#: directives.c:1121
+ #, c-format
+ msgid "registering \"%s\" as both a pragma and a pragma namespace"
+ msgstr ""
+
+-#: directives.c:1119
++#: directives.c:1124
+ #, c-format
+ msgid "#pragma %s %s is already registered"
+ msgstr ""
+
+-#: directives.c:1122
++#: directives.c:1127
+ #, fuzzy, c-format
+ msgid "#pragma %s is already registered"
+ msgstr "ï ÷Üñôçò ÷áñáêôÞñùí `%s' ïñßóôçêå Þäç"
+
+-#: directives.c:1152
++#: directives.c:1157
+ msgid "registering pragma with NULL handler"
+ msgstr ""
+
+-#: directives.c:1362
++#: directives.c:1367
+ msgid "#pragma once in main file"
+ msgstr ""
+
+-#: directives.c:1385
++#: directives.c:1390
+ msgid "invalid #pragma GCC poison directive"
+ msgstr ""
+
+-#: directives.c:1394
++#: directives.c:1399
+ #, c-format
+ msgid "poisoning existing macro \"%s\""
+ msgstr ""
+
+-#: directives.c:1413
++#: directives.c:1418
+ msgid "#pragma system_header ignored outside include file"
+ msgstr ""
+
+-#: directives.c:1437
++#: directives.c:1442
+ #, fuzzy, c-format
+ msgid "cannot find source file %s"
+ msgstr "áäõíáìßá áíïßãìáôïò õðïäï÷Þò: %s"
+
+-#: directives.c:1441
++#: directives.c:1446
+ #, c-format
+ msgid "current file is older than %s"
+ msgstr ""
+
+-#: directives.c:1620
++#: directives.c:1625
+ msgid "_Pragma takes a parenthesized string literal"
+ msgstr ""
+
+-#: directives.c:1693
++#: directives.c:1698
+ msgid "#else without #if"
+ msgstr ""
+
+-#: directives.c:1698
++#: directives.c:1703
+ msgid "#else after #else"
+ msgstr "#else ìåôÜ áðü #else"
+
+-#: directives.c:1700 directives.c:1733
++#: directives.c:1705 directives.c:1738
+ msgid "the conditional began here"
+ msgstr ""
+
+-#: directives.c:1726
++#: directives.c:1731
+ msgid "#elif without #if"
+ msgstr ""
+
+-#: directives.c:1731
++#: directives.c:1736
+ msgid "#elif after #else"
+ msgstr "#elif ìåôÜ áðü #else"
+
+-#: directives.c:1761
++#: directives.c:1766
+ msgid "#endif without #if"
+ msgstr ""
+
+-#: directives.c:1838
++#: directives.c:1843
+ msgid "missing '(' after predicate"
+ msgstr ""
+
+-#: directives.c:1853
++#: directives.c:1858
+ msgid "missing ')' to complete answer"
+ msgstr ""
+
+-#: directives.c:1873
++#: directives.c:1878
+ msgid "predicate's answer is empty"
+ msgstr ""
+
+-#: directives.c:1900
++#: directives.c:1905
+ #, fuzzy
+ msgid "assertion without predicate"
+ msgstr "Ç ëåéôïõñãßá äåí åðéôñÝðåôáé"
+
+-#: directives.c:1902
++#: directives.c:1907
+ #, fuzzy
+ msgid "predicate must be an identifier"
+ msgstr "äéðëüò ðñïóäéïñéóôÞò ìçíýìáôïò"
+
+-#: directives.c:1988
++#: directives.c:1993
+ #, c-format
+ msgid "\"%s\" re-asserted"
+ msgstr ""
+
+-#: directives.c:2271
++#: directives.c:2276
+ #, fuzzy, c-format
+ msgid "unterminated #%s"
+ msgstr "ìç ôåñìáôéæüìåío áëöáñéèìçôéêü"
+@@ -616,40 +620,40 @@
+ msgid "division by zero in #if"
+ msgstr "Äéáßñåóç ìå ìçäÝí óôçí áðïôßìçóç: %s"
+
+-#: files.c:442
++#: files.c:458
+ msgid "NULL directory in find_file"
+ msgstr ""
+
+-#: files.c:480
++#: files.c:496
+ msgid "one or more PCH files were found, but they were invalid"
+ msgstr ""
+
+-#: files.c:483
++#: files.c:499
+ msgid "use -Winvalid-pch for more information"
+ msgstr ""
+
+-#: files.c:570
++#: files.c:589
+ #, fuzzy, c-format
+ msgid "%s is a block device"
+ msgstr "Äåí Ýìåéíå êáèüëïõ ÷þñïò óôç óõóêåõÞ"
+
+ # src/shred.c:1134
+-#: files.c:587
++#: files.c:606
+ #, fuzzy, c-format
+ msgid "%s is too large"
+ msgstr "%s: ôï áñ÷åßï åßíáé ðïëý ìåãÜëï"
+
+-#: files.c:622
++#: files.c:641
+ #, fuzzy, c-format
+ msgid "%s is shorter than expected"
+ msgstr "%s: Áíáìåíüôáí äõáäéêüò ÷åéñéóôÞò.\n"
+
+-#: files.c:852
++#: files.c:872
+ #, c-format
+ msgid "no include path in which to search for %s"
+ msgstr ""
+
+-#: files.c:1157
++#: files.c:1238
+ msgid "Multiple include guards may be useful for:\n"
+ msgstr ""
+
+@@ -778,128 +782,128 @@
+ " from %s:%u"
+ msgstr ""
+
+-#: macro.c:84
++#: macro.c:87
+ #, fuzzy, c-format
+ msgid "macro \"%s\" is not used"
+ msgstr "ôï `%s' äåí åßíáé êáíïíéêü áñ÷åßï"
+
+-#: macro.c:123 macro.c:319
++#: macro.c:126 macro.c:322
+ #, fuzzy, c-format
+ msgid "invalid built-in macro \"%s\""
+ msgstr "ìç Ýãêõñï ìÞêïò ãñáììÞò: %s"
+
+-#: macro.c:157
++#: macro.c:160
+ #, fuzzy
+ msgid "could not determine file timestamp"
+ msgstr "Äåí ìðüñåóá íá áíïßîù ôï áñ÷åßï %s"
+
+-#: macro.c:254
++#: macro.c:257
+ #, fuzzy
+ msgid "could not determine date and time"
+ msgstr "Äåí ìðüñåóá íá áíïßîù ôï áñ÷åßï %s"
+
+-#: macro.c:270
++#: macro.c:273
+ msgid "__COUNTER__ expanded inside directive with -fdirectives-only"
+ msgstr ""
+
+-#: macro.c:423
++#: macro.c:426
+ #, fuzzy
+ msgid "invalid string literal, ignoring final '\\'"
+ msgstr "ìç Ýãêõñïò áñ÷éêüò áñéèìüò ãñáììÞò: `%s'"
+
+-#: macro.c:483
++#: macro.c:486
+ #, c-format
+ msgid "pasting \"%s\" and \"%s\" does not give a valid preprocessing token"
+ msgstr ""
+
+-#: macro.c:558
++#: macro.c:561
+ #, fuzzy
+ msgid "ISO C99 requires rest arguments to be used"
+ msgstr "ÊáêÞ áßôçóç ðáñáìÝôñùí"
+
+-#: macro.c:563
++#: macro.c:566
+ #, c-format
+ msgid "macro \"%s\" requires %u arguments, but only %u given"
+ msgstr ""
+
+-#: macro.c:568
++#: macro.c:571
+ #, c-format
+ msgid "macro \"%s\" passed %u arguments, but takes just %u"
+ msgstr ""
+
+-#: macro.c:679 traditional.c:680
++#: macro.c:730 traditional.c:680
+ #, c-format
+ msgid "unterminated argument list invoking macro \"%s\""
+ msgstr ""
+
+-#: macro.c:782
++#: macro.c:840
+ #, c-format
+ msgid "function-like macro \"%s\" must be used with arguments in traditional C"
+ msgstr ""
+
+-#: macro.c:1325
++#: macro.c:1408
+ #, fuzzy, c-format
+ msgid "duplicate macro parameter \"%s\""
+ msgstr "äéðëü üíïìá ÷áñáêôÞñá `%s'"
+
+-#: macro.c:1371
++#: macro.c:1454
+ #, c-format
+ msgid "\"%s\" may not appear in macro parameter list"
+ msgstr ""
+
+-#: macro.c:1379
++#: macro.c:1462
+ msgid "macro parameters must be comma-separated"
+ msgstr ""
+
+-#: macro.c:1396
++#: macro.c:1479
+ msgid "parameter name missing"
+ msgstr ""
+
+-#: macro.c:1413
++#: macro.c:1496
+ msgid "anonymous variadic macros were introduced in C99"
+ msgstr ""
+
+-#: macro.c:1418
++#: macro.c:1501
+ msgid "ISO C does not permit named variadic macros"
+ msgstr ""
+
+-#: macro.c:1427
++#: macro.c:1510
+ msgid "missing ')' in macro parameter list"
+ msgstr ""
+
+-#: macro.c:1476
++#: macro.c:1559
+ msgid "'##' cannot appear at either end of a macro expansion"
+ msgstr ""
+
+-#: macro.c:1510
++#: macro.c:1593
+ #, fuzzy
+ msgid "ISO C99 requires whitespace after the macro name"
+ msgstr "ÊáêÞ áßôçóç ðáñáìÝôñùí"
+
+-#: macro.c:1534
++#: macro.c:1617
+ msgid "missing whitespace after the macro name"
+ msgstr ""
+
+-#: macro.c:1564
++#: macro.c:1647
+ msgid "'#' is not followed by a macro parameter"
+ msgstr ""
+
+-#: macro.c:1683
++#: macro.c:1766
+ #, fuzzy, c-format
+ msgid "\"%s\" redefined"
+ msgstr "áüñéóôï"
+
+-#: macro.c:1688
++#: macro.c:1771
+ #, fuzzy
+ msgid "this is the location of the previous definition"
+ msgstr "áõôÞ åßíáé ç èÝóç ôïõ ðñþôïõ ïñéóìïý"
+
+-#: macro.c:1738
++#: macro.c:1828
+ #, c-format
+ msgid "macro argument \"%s\" would be stringified in traditional C"
+ msgstr ""
+
+-#: macro.c:1761
++#: macro.c:1851
+ #, c-format
+ msgid "invalid hash type %d in cpp_macro_definition"
+ msgstr ""
+@@ -937,7 +941,7 @@
+ msgid "detected recursion whilst expanding macro \"%s\""
+ msgstr ""
+
+-#: traditional.c:917
++#: traditional.c:968
+ #, fuzzy
+ msgid "syntax error in macro parameter list"
+ msgstr "óõíôáêôéêü óöÜëìá óôïí ïñéóìü êëÜóçò ÷áñáêôÞñùí"
+Index: libcpp/po/zh_CN.po
+===================================================================
+--- libcpp/po/zh_CN.po (.../tags/gcc_4_3_0_release) (revision 133808)
++++ libcpp/po/zh_CN.po (.../branches/gcc-4_3-branch) (revision 133808)
+@@ -1,150 +1,150 @@
+ # Simplified Chinese translation for cpplib.
+ # Copyright (C) 2005 Free Software Foundation, Inc.
+ # This file is distributed under the same license as the cpplib package.
+-# Meng Jie <zuxyhere@eastday.com>, 2005.
++# Meng Jie <zuxy.meng@gmail.com>, 2005-2008.
+ #
+ msgid ""
+ msgstr ""
+-"Project-Id-Version: cpplib 4.3-b20071109\n"
++"Project-Id-Version: cpplib 4.3.0\n"
+ "Report-Msgid-Bugs-To: http://gcc.gnu.org/bugs.html\n"
+-"POT-Creation-Date: 2007-11-08 21:08+0000\n"
+-"PO-Revision-Date: 2007-11-11 17:29+0800\n"
++"POT-Creation-Date: 2008-02-01 16:21+0000\n"
++"PO-Revision-Date: 2008-03-16 01:29+0800\n"
+ "Last-Translator: Meng Jie <zuxy.meng@gmail.com>\n"
+ "Language-Team: Chinese (simplified) <translation-team-zh-cn@lists.sourceforge.net>\n"
+ "MIME-Version: 1.0\n"
+ "Content-Type: text/plain; charset=utf-8\n"
+ "Content-Transfer-Encoding: 8bit\n"
+
+-#: charset.c:654
++#: charset.c:671
+ #, c-format
+ msgid "conversion from %s to %s not supported by iconv"
+ msgstr "iconv ä¸æ”¯æŒä»Ž %s 到 %s 的转æ¢"
+
+-#: charset.c:657
++#: charset.c:674
+ msgid "iconv_open"
+ msgstr "iconv_open"
+
+-#: charset.c:665
++#: charset.c:682
+ #, c-format
+ msgid "no iconv implementation, cannot convert from %s to %s"
+ msgstr "没有 iconv 的实现,无法从 %s 转æ¢åˆ° %s"
+
+-#: charset.c:742
++#: charset.c:759
+ #, c-format
+ msgid "character 0x%lx is not in the basic source character set\n"
+ msgstr "字符 0x%lx ä¸åœ¨åŸºæœ¬æºå­—符集中\n"
+
+-#: charset.c:759 charset.c:1352
++#: charset.c:776 charset.c:1369
+ msgid "converting to execution character set"
+ msgstr "转æ¢åˆ°å¯æ‰§è¡Œæ–‡ä»¶çš„字符集"
+
+-#: charset.c:765
++#: charset.c:782
+ #, c-format
+ msgid "character 0x%lx is not unibyte in execution character set"
+ msgstr "字符 0x%lx 在执行字符集中ä¸æ˜¯å•å­—节的"
+
+-#: charset.c:889
++#: charset.c:906
+ #, c-format
+ msgid "Character %x might not be NFKC"
+ msgstr "字符 %x å¯èƒ½ä¸æ˜¯ NFKC"
+
+-#: charset.c:949
++#: charset.c:966
+ msgid "universal character names are only valid in C++ and C99"
+ msgstr "Unicode 字符ååªåœ¨ C++ å’Œ C99 中有效"
+
+-#: charset.c:952
++#: charset.c:969
+ #, c-format
+ msgid "the meaning of '\\%c' is different in traditional C"
+ msgstr "‘\\%c’的æ„义与在传统 C 中ä¸åŒ"
+
+-#: charset.c:961
++#: charset.c:978
+ msgid "In _cpp_valid_ucn but not a UCN"
+ msgstr "在 _cpp_valid_ucn 中但ä¸æ˜¯ä¸€ä¸ª UCN"
+
+-#: charset.c:986
++#: charset.c:1003
+ #, c-format
+ msgid "incomplete universal character name %.*s"
+ msgstr "ä¸å®Œå…¨çš„ Unicode 字符å %.*s"
+
+-#: charset.c:998
++#: charset.c:1015
+ #, c-format
+ msgid "%.*s is not a valid universal character"
+ msgstr "%.*s ä¸æ˜¯ä¸€ä¸ªæœ‰æ•ˆçš„ Unicode 字符"
+
+-#: charset.c:1008 lex.c:484
++#: charset.c:1025 lex.c:484
+ msgid "'$' in identifier or number"
+ msgstr "‘$’出现在标识符或数字中"
+
+-#: charset.c:1018
++#: charset.c:1035
+ #, c-format
+ msgid "universal character %.*s is not valid in an identifier"
+ msgstr "Unicode 字符 %.*s 在标识符中无效"
+
+-#: charset.c:1022
++#: charset.c:1039
+ #, c-format
+ msgid "universal character %.*s is not valid at the start of an identifier"
+ msgstr "Unicode 字符 %.*s 在标识符开头无效"
+
+-#: charset.c:1056 charset.c:1571
++#: charset.c:1073 charset.c:1588
+ msgid "converting UCN to source character set"
+ msgstr "å°† UCN 转æ¢åˆ°æºå­—符集"
+
+-#: charset.c:1060
++#: charset.c:1077
+ msgid "converting UCN to execution character set"
+ msgstr "å°† UCN 转æ¢åˆ°æ‰§è¡Œå­—符集"
+
+-#: charset.c:1132
++#: charset.c:1149
+ msgid "the meaning of '\\x' is different in traditional C"
+ msgstr "‘\\x’的æ„义与在传统 C 中ä¸åŒ"
+
+-#: charset.c:1149
++#: charset.c:1166
+ msgid "\\x used with no following hex digits"
+ msgstr "\\x åŽæ²¡æœ‰ 16 进制数字"
+
+-#: charset.c:1156
++#: charset.c:1173
+ msgid "hex escape sequence out of range"
+ msgstr "16 进制转义åºåˆ—越界"
+
+-#: charset.c:1195
++#: charset.c:1212
+ msgid "octal escape sequence out of range"
+ msgstr "8 进制转义åºåˆ—越界"
+
+-#: charset.c:1263
++#: charset.c:1280
+ msgid "the meaning of '\\a' is different in traditional C"
+ msgstr "‘\\a’的æ„义与在传统 C 中ä¸åŒ"
+
+-#: charset.c:1270
++#: charset.c:1287
+ #, c-format
+ msgid "non-ISO-standard escape sequence, '\\%c'"
+ msgstr "éž ISO 标准的转义åºåˆ—,‘\\%c’"
+
+-#: charset.c:1278
++#: charset.c:1295
+ #, c-format
+ msgid "unknown escape sequence '\\%c'"
+ msgstr "未知的转义åºåˆ—:‘\\%c’"
+
+-#: charset.c:1286
++#: charset.c:1303
+ #, c-format
+ msgid "unknown escape sequence: '\\%s'"
+ msgstr "未知的转义åºåˆ—:‘\\%s’"
+
+-#: charset.c:1293
++#: charset.c:1310
+ msgid "converting escape sequence to execution character set"
+ msgstr "将转义åºåˆ—转æ¢åˆ°æ‰§è¡Œå­—符集"
+
+-#: charset.c:1415 charset.c:1478
++#: charset.c:1432 charset.c:1495
+ msgid "character constant too long for its type"
+ msgstr "字符常é‡å¤§å°è¶…出其类型"
+
+-#: charset.c:1418
++#: charset.c:1435
+ msgid "multi-character character constant"
+ msgstr "多字节字符常é‡"
+
+-#: charset.c:1510
++#: charset.c:1527
+ msgid "empty character constant"
+ msgstr "空的字符常é‡"
+
+-#: charset.c:1612
++#: charset.c:1629
+ #, c-format
+ msgid "failure to convert %s to %s"
+ msgstr "无法从 %s 转æ¢åˆ° %s"
+@@ -237,139 +237,143 @@
+ msgstr "line 指示中有无效的标记“%sâ€"
+
+ #: directives.c:868
++msgid "unexpected end of file after #line"
++msgstr "#line åŽæœªé¢„期的文件结æŸ"
++
++#: directives.c:871
+ #, c-format
+ msgid "\"%s\" after #line is not a positive integer"
+ msgstr "#line åŽçš„“%sâ€ä¸æ˜¯ä¸€ä¸ªæ­£æ•´æ•°"
+
+-#: directives.c:874
++#: directives.c:877
+ msgid "line number out of range"
+ msgstr "è¡Œå·è¶…出范围"
+
+-#: directives.c:887 directives.c:964
++#: directives.c:890 directives.c:969
+ #, c-format
+ msgid "\"%s\" is not a valid filename"
+ msgstr "“%sâ€ä¸æ˜¯ä¸€ä¸ªæœ‰æ•ˆçš„文件å"
+
+-#: directives.c:924
++#: directives.c:929
+ #, c-format
+ msgid "\"%s\" after # is not a positive integer"
+ msgstr "# åŽçš„“%sâ€ä¸æ˜¯ä¸€ä¸ªæ­£æ•´æ•°"
+
+-#: directives.c:1026
++#: directives.c:1031
+ #, c-format
+ msgid "invalid #%s directive"
+ msgstr "无效的 #%s 指示"
+
+-#: directives.c:1089
++#: directives.c:1094
+ #, c-format
+ msgid "registering pragmas in namespace \"%s\" with mismatched name expansion"
+ msgstr "在命å空间“%sâ€ä¸­æ³¨å†Œ pragma æ—¶å称扩展ä¸åŒ¹é…"
+
+-#: directives.c:1098
++#: directives.c:1103
+ #, c-format
+ msgid "registering pragma \"%s\" with name expansion and no namespace"
+ msgstr "pragma “%sâ€è¢«æ³¨å†Œä¸ºä¸€ä¸ªå‘½å扩展,而没有命å空间"
+
+-#: directives.c:1116
++#: directives.c:1121
+ #, c-format
+ msgid "registering \"%s\" as both a pragma and a pragma namespace"
+ msgstr "“%sâ€æ—¢è¢«æ³¨å†Œä¸ºä¸€ä¸ªpragma åˆè¢«æ³¨å†Œä¸ºä¸€ä¸ª pragma 命å空间"
+
+-#: directives.c:1119
++#: directives.c:1124
+ #, c-format
+ msgid "#pragma %s %s is already registered"
+ msgstr "#pragma %s %s å·²ç»è¢«æ³¨å†Œ"
+
+-#: directives.c:1122
++#: directives.c:1127
+ #, c-format
+ msgid "#pragma %s is already registered"
+ msgstr "#pragma %s å·²ç»è¢«æ³¨å†Œ"
+
+-#: directives.c:1152
++#: directives.c:1157
+ msgid "registering pragma with NULL handler"
+ msgstr "pragma 注册为被 NULL 处ç†"
+
+-#: directives.c:1362
++#: directives.c:1367
+ msgid "#pragma once in main file"
+ msgstr "#pragma once 出现在主文件中"
+
+-#: directives.c:1385
++#: directives.c:1390
+ msgid "invalid #pragma GCC poison directive"
+ msgstr "无效的 #pragma GCC poison 指示"
+
+-#: directives.c:1394
++#: directives.c:1399
+ #, c-format
+ msgid "poisoning existing macro \"%s\""
+ msgstr "对已存在的å®â€œ%sâ€æŠ•æ¯’"
+
+-#: directives.c:1413
++#: directives.c:1418
+ msgid "#pragma system_header ignored outside include file"
+ msgstr "#pragma system_heade 在包å«æ–‡ä»¶å¤–被忽略"
+
+-#: directives.c:1437
++#: directives.c:1442
+ #, c-format
+ msgid "cannot find source file %s"
+ msgstr "找ä¸åˆ°æºæ–‡ä»¶ %s"
+
+-#: directives.c:1441
++#: directives.c:1446
+ #, c-format
+ msgid "current file is older than %s"
+ msgstr "当å‰æ–‡ä»¶æ—©äºŽ %s"
+
+-#: directives.c:1620
++#: directives.c:1625
+ msgid "_Pragma takes a parenthesized string literal"
+ msgstr "_Pragma 需è¦ä¸€ä¸ªæ‹¬èµ·çš„字符串字é¢å¸¸é‡"
+
+-#: directives.c:1693
++#: directives.c:1698
+ msgid "#else without #if"
+ msgstr "#else 没有匹é…çš„ #if"
+
+-#: directives.c:1698
++#: directives.c:1703
+ msgid "#else after #else"
+ msgstr "#else 出现在 #else åŽ"
+
+-#: directives.c:1700 directives.c:1733
++#: directives.c:1705 directives.c:1738
+ msgid "the conditional began here"
+ msgstr "æ¡ä»¶è‡ªæ­¤å¼€å§‹"
+
+-#: directives.c:1726
++#: directives.c:1731
+ msgid "#elif without #if"
+ msgstr "#elif 没有匹é…çš„ #if"
+
+-#: directives.c:1731
++#: directives.c:1736
+ msgid "#elif after #else"
+ msgstr "#elif 出现在 #else åŽ"
+
+-#: directives.c:1761
++#: directives.c:1766
+ msgid "#endif without #if"
+ msgstr "#endif 没有匹é…çš„ #if"
+
+-#: directives.c:1838
++#: directives.c:1843
+ msgid "missing '(' after predicate"
+ msgstr "è°“è¯åŽç¼ºå°‘‘(’"
+
+-#: directives.c:1853
++#: directives.c:1858
+ msgid "missing ')' to complete answer"
+ msgstr "完整的答案缺少‘)’"
+
+-#: directives.c:1873
++#: directives.c:1878
+ msgid "predicate's answer is empty"
+ msgstr "è°“è¯çš„答案为空"
+
+-#: directives.c:1900
++#: directives.c:1905
+ msgid "assertion without predicate"
+ msgstr "断言åŽæ²¡æœ‰è°“è¯"
+
+-#: directives.c:1902
++#: directives.c:1907
+ msgid "predicate must be an identifier"
+ msgstr "è°“è¯å¿…须是一个标识符"
+
+-#: directives.c:1988
++#: directives.c:1993
+ #, c-format
+ msgid "\"%s\" re-asserted"
+ msgstr "é‡æ–­è¨€â€œ%sâ€"
+
+-#: directives.c:2271
++#: directives.c:2276
+ #, c-format
+ msgid "unterminated #%s"
+ msgstr "未终止的 #%s"
+@@ -586,39 +590,39 @@
+ msgid "division by zero in #if"
+ msgstr "#if 中用零åšé™¤æ•°"
+
+-#: files.c:442
++#: files.c:458
+ msgid "NULL directory in find_file"
+ msgstr "find_file 中有 NULL 目录"
+
+-#: files.c:480
++#: files.c:496
+ msgid "one or more PCH files were found, but they were invalid"
+ msgstr "找到一个或多个 PCH 文件,但它们是无效的"
+
+-#: files.c:483
++#: files.c:499
+ msgid "use -Winvalid-pch for more information"
+ msgstr "使用 -Winvalid-pch 以获得更多信æ¯"
+
+-#: files.c:570
++#: files.c:589
+ #, c-format
+ msgid "%s is a block device"
+ msgstr "%s 是一个å—设备"
+
+-#: files.c:587
++#: files.c:606
+ #, c-format
+ msgid "%s is too large"
+ msgstr "%s 过大"
+
+-#: files.c:622
++#: files.c:641
+ #, c-format
+ msgid "%s is shorter than expected"
+ msgstr "%s 短于预期"
+
+-#: files.c:852
++#: files.c:872
+ #, c-format
+ msgid "no include path in which to search for %s"
+ msgstr "没有包å«è·¯å¾„å¯ä¾›æœç´¢ %s"
+
+-#: files.c:1157
++#: files.c:1238
+ msgid "Multiple include guards may be useful for:\n"
+ msgstr "多个防止é‡åŒ…å«å¯èƒ½å¯¹å…¶æœ‰ç”¨ï¼š\n"
+
+@@ -746,122 +750,122 @@
+ ",\n"
+ " 从 %s:%u"
+
+-#: macro.c:84
++#: macro.c:87
+ #, c-format
+ msgid "macro \"%s\" is not used"
+ msgstr "å®â€œ%sâ€æœªè¢«ä½¿ç”¨"
+
+-#: macro.c:123 macro.c:319
++#: macro.c:126 macro.c:322
+ #, c-format
+ msgid "invalid built-in macro \"%s\""
+ msgstr "无效的内建å®â€œ%sâ€"
+
+-#: macro.c:157
++#: macro.c:160
+ msgid "could not determine file timestamp"
+ msgstr "无法决定文件的时间戳"
+
+-#: macro.c:254
++#: macro.c:257
+ msgid "could not determine date and time"
+ msgstr "无法决定日期与时间"
+
+-#: macro.c:270
++#: macro.c:273
+ msgid "__COUNTER__ expanded inside directive with -fdirectives-only"
+ msgstr "带 -fdirectives-only 时 __COUNTER__ 在指示中扩展"
+
+-#: macro.c:423
++#: macro.c:426
+ msgid "invalid string literal, ignoring final '\\'"
+ msgstr "无效的字é¢å­—符串,忽略最åŽçš„‘\\’"
+
+-#: macro.c:483
++#: macro.c:486
+ #, c-format
+ msgid "pasting \"%s\" and \"%s\" does not give a valid preprocessing token"
+ msgstr "毗连“%sâ€å’Œâ€œ%sâ€ä¸èƒ½ç»™å‡ºä¸€ä¸ªæœ‰æ•ˆçš„预处ç†æ ‡è¯†ç¬¦"
+
+-#: macro.c:558
++#: macro.c:561
+ msgid "ISO C99 requires rest arguments to be used"
+ msgstr "ISO C99 需è¦ä½¿ç”¨å‰©ä½™çš„å‚æ•°"
+
+-#: macro.c:563
++#: macro.c:566
+ #, c-format
+ msgid "macro \"%s\" requires %u arguments, but only %u given"
+ msgstr "å®â€œ%sâ€éœ€è¦ %u 个å‚数,但åªç»™å‡ºäº† %u 个"
+
+-#: macro.c:568
++#: macro.c:571
+ #, c-format
+ msgid "macro \"%s\" passed %u arguments, but takes just %u"
+ msgstr "å®â€œ%sâ€ä¼ é€’了 %u 个å‚数,但åªéœ€è¦ %u 个"
+
+-#: macro.c:679 traditional.c:680
++#: macro.c:730 traditional.c:680
+ #, c-format
+ msgid "unterminated argument list invoking macro \"%s\""
+ msgstr "调用å®â€œ%sâ€æ—¶å‚数列表未终止"
+
+-#: macro.c:782
++#: macro.c:840
+ #, c-format
+ msgid "function-like macro \"%s\" must be used with arguments in traditional C"
+ msgstr "类似函数的å®â€œ%sâ€åœ¨ä¼ ç»Ÿ C 中必须与å‚数一起使用"
+
+-#: macro.c:1325
++#: macro.c:1408
+ #, c-format
+ msgid "duplicate macro parameter \"%s\""
+ msgstr "é‡å¤çš„å®å‚数“%sâ€"
+
+-#: macro.c:1371
++#: macro.c:1454
+ #, c-format
+ msgid "\"%s\" may not appear in macro parameter list"
+ msgstr "“%sâ€ä¸èƒ½å‡ºçŽ°åœ¨å®å‚数列表中"
+
+-#: macro.c:1379
++#: macro.c:1462
+ msgid "macro parameters must be comma-separated"
+ msgstr "å®å‚数必须由逗å·éš”å¼€"
+
+-#: macro.c:1396
++#: macro.c:1479
+ msgid "parameter name missing"
+ msgstr "缺少形å‚å"
+
+-#: macro.c:1413
++#: macro.c:1496
+ msgid "anonymous variadic macros were introduced in C99"
+ msgstr "匿åå¯å˜å‚æ•°å®åœ¨ C99 中被引入"
+
+-#: macro.c:1418
++#: macro.c:1501
+ msgid "ISO C does not permit named variadic macros"
+ msgstr "ISO C ä¸å…许有åçš„å¯å˜å‚æ•°å®"
+
+-#: macro.c:1427
++#: macro.c:1510
+ msgid "missing ')' in macro parameter list"
+ msgstr "在å®å‚数表中缺少‘)’"
+
+-#: macro.c:1476
++#: macro.c:1559
+ msgid "'##' cannot appear at either end of a macro expansion"
+ msgstr "‘##’ä¸èƒ½å‡ºçŽ°åœ¨å®å±•å¼€çš„两端"
+
+-#: macro.c:1510
++#: macro.c:1593
+ msgid "ISO C99 requires whitespace after the macro name"
+ msgstr "ISO C99 è¦æ±‚å®ååŽå¿…须有空白"
+
+-#: macro.c:1534
++#: macro.c:1617
+ msgid "missing whitespace after the macro name"
+ msgstr "å®ååŽç¼ºå°‘空白"
+
+-#: macro.c:1564
++#: macro.c:1647
+ msgid "'#' is not followed by a macro parameter"
+ msgstr "‘#’åŽæ²¡æœ‰å®å‚æ•°"
+
+-#: macro.c:1683
++#: macro.c:1766
+ #, c-format
+ msgid "\"%s\" redefined"
+ msgstr "“%sâ€é‡å®šä¹‰"
+
+-#: macro.c:1688
++#: macro.c:1771
+ msgid "this is the location of the previous definition"
+ msgstr "这是先å‰å®šä¹‰çš„ä½ç½®"
+
+-#: macro.c:1738
++#: macro.c:1828
+ #, c-format
+ msgid "macro argument \"%s\" would be stringified in traditional C"
+ msgstr "å®å‚数“%sâ€å°†åœ¨ä¼ ç»Ÿ C 中被字符串化"
+
+-#: macro.c:1761
++#: macro.c:1851
+ #, c-format
+ msgid "invalid hash type %d in cpp_macro_definition"
+ msgstr "cpp_macro_definition 中有无效的散列类型 %d"
+@@ -899,7 +903,7 @@
+ msgid "detected recursion whilst expanding macro \"%s\""
+ msgstr "展开å®â€œ%sâ€æ—¶æ£€æµ‹åˆ°é€’å½’"
+
+-#: traditional.c:917
++#: traditional.c:968
+ msgid "syntax error in macro parameter list"
+ msgstr "å®å‚数列表语法错误"
+
+Index: fixincludes/ChangeLog
+===================================================================
+--- fixincludes/ChangeLog (.../tags/gcc_4_3_0_release) (revision 133808)
++++ fixincludes/ChangeLog (.../branches/gcc-4_3-branch) (revision 133808)
+@@ -1,3 +1,10 @@
++2008-03-06 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
++
++ * inclhack.def (solaris_math_10): New.
++ * tests/base/iso/math_c99.h: Update.
++
++ * fixincl.x: Regenerate.
++
+ 2008-03-05 Release Manager
+
+ * GCC 4.3.0 released.
+Index: fixincludes/fixincl.x
+===================================================================
+--- fixincludes/fixincl.x (.../tags/gcc_4_3_0_release) (revision 133808)
++++ fixincludes/fixincl.x (.../branches/gcc-4_3-branch) (revision 133808)
+@@ -2,11 +2,11 @@
+ *
+ * DO NOT EDIT THIS FILE (fixincl.x)
+ *
+- * It has been AutoGen-ed Monday February 4, 2008 at 09:22:58 PM GMTST
++ * It has been AutoGen-ed Wednesday February 20, 2008 at 05:10:00 AM CET
+ * From the definitions inclhack.def
+ * and the template file fixincl
+ */
+-/* DO NOT SVN-MERGE THIS FILE, EITHER Mon Feb 4 21:22:58 GMTST 2008
++/* DO NOT SVN-MERGE THIS FILE, EITHER Wed Feb 20 05:10:00 CET 2008
+ *
+ * You must regenerate it. Use the ./genfixes script.
+ *
+@@ -15,25 +15,30 @@
+ * certain ANSI-incompatible system header files which are fixed to work
+ * correctly with ANSI C and placed in a directory that GNU C will search.
+ *
+- * This file contains 211 fixup descriptions.
++ * This file contains 212 fixup descriptions.
+ *
+ * See README for more information.
+ *
+ * inclhack copyright (c) 1998, 1999, 2000, 2001
+ * The Free Software Foundation, Inc.
+ *
+- * inclhack 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.
++ * inclhack is free software.
+ *
+- * inclhack is distributed in the hope that it will be useful, but
+- * WITHOUT ANY WARRANTY; without even the implied warranty of
++ * You may redistribute it and/or modify it under the terms of the
++ * GNU General Public License, as published by the Free Software
++ * Foundation; either version 2 of the License, or (at your option)
++ * any later version.
++ *
++ * inclhack 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 <http://www.gnu.org/licenses/>.
++ * You should have received a copy of the GNU General Public License
++ * along with inclhack. If not, write to:
++ * The Free Software Foundation, Inc.,
++ * 51 Franklin Street, Fifth Floor
++ * Boston, MA 02110-1301, USA.
+ */
+
+ /* * * * * * * * * * * * * * * * * * * * * * * * * *
+@@ -5886,6 +5891,45 @@
+
+ /* * * * * * * * * * * * * * * * * * * * * * * * * *
+ *
++ * Description of Solaris_Math_10 fix
++ */
++tSCC zSolaris_Math_10Name[] =
++ "solaris_math_10";
++
++/*
++ * File name selection pattern
++ */
++tSCC zSolaris_Math_10List[] =
++ "iso/math_c99.h\0";
++/*
++ * Machine/OS name selection pattern
++ */
++#define apzSolaris_Math_10Machs (const char**)NULL
++
++/*
++ * content selection pattern - do fix if pattern found
++ */
++tSCC zSolaris_Math_10Select0[] =
++ "@\\(#\\)math_c99.h[ \t]+1.[0-9]+[ \t]+[0-9/]+ SMI";
++
++#define SOLARIS_MATH_10_TEST_CT 1
++static tTestDesc aSolaris_Math_10Tests[] = {
++ { TT_EGREP, zSolaris_Math_10Select0, (regex_t*)NULL }, };
++
++/*
++ * Fix Command Arguments for Solaris_Math_10
++ */
++static const char* apzSolaris_Math_10Patch[] = {
++ "format",
++ "#define\tisinf(x) __builtin_isinf(x)",
++ "^#define[ \t]+isinf\\(x\\)[ \t]+__extension__\\([ \t]*\\\\\n\
++[ \t]*\\{[ \t]*__typeof\\(x\\)[ \t]*__x_i[ \t]*=[ \t]*\\(x\\);[ \t]*\\\\\n\
++[ \t]*__x_i[ \t]*==[ \t]*\\(__typeof\\(__x_i\\)\\)[ \t]*INFINITY[ \t]*\\|\\|[ \t]*\\\\\n\
++[ \t]*__x_i[ \t]*==[ \t]*\\(__typeof\\(__x_i\\)\\)[ \t]*\\(-INFINITY\\);[ \t]*\\}\\)",
++ (char*)NULL };
++
++/* * * * * * * * * * * * * * * * * * * * * * * * * *
++ *
+ * Description of Solaris_Mutex_Init_1 fix
+ */
+ tSCC zSolaris_Mutex_Init_1Name[] =
+@@ -8567,9 +8611,9 @@
+ *
+ * List of all fixes
+ */
+-#define REGEX_COUNT 254
++#define REGEX_COUNT 255
+ #define MACH_LIST_SIZE_LIMIT 261
+-#define FIX_COUNT 211
++#define FIX_COUNT 212
+
+ /*
+ * Enumerate the fixes
+@@ -8718,6 +8762,7 @@
+ SOLARIS_MATH_4_FIXIDX,
+ SOLARIS_MATH_8_FIXIDX,
+ SOLARIS_MATH_9_FIXIDX,
++ SOLARIS_MATH_10_FIXIDX,
+ SOLARIS_MUTEX_INIT_1_FIXIDX,
+ SOLARIS_MUTEX_INIT_2_FIXIDX,
+ SOLARIS_RWLOCK_INIT_1_FIXIDX,
+@@ -9504,6 +9549,11 @@
+ SOLARIS_MATH_9_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
+ aSolaris_Math_9Tests, apzSolaris_Math_9Patch, 0 },
+
++ { zSolaris_Math_10Name, zSolaris_Math_10List,
++ apzSolaris_Math_10Machs,
++ SOLARIS_MATH_10_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
++ aSolaris_Math_10Tests, apzSolaris_Math_10Patch, 0 },
++
+ { zSolaris_Mutex_Init_1Name, zSolaris_Mutex_Init_1List,
+ apzSolaris_Mutex_Init_1Machs,
+ SOLARIS_MUTEX_INIT_1_TEST_CT, FD_MACH_ONLY,
+Index: fixincludes/tests/base/iso/math_c99.h
+===================================================================
+--- fixincludes/tests/base/iso/math_c99.h (.../tags/gcc_4_3_0_release) (revision 133808)
++++ fixincludes/tests/base/iso/math_c99.h (.../branches/gcc-4_3-branch) (revision 133808)
+@@ -77,3 +77,10 @@
+ #undef isunordered
+ #define isunordered(x, y) __builtin_isunordered(x, y)
+ #endif /* SOLARIS_MATH_9_CHECK */
++
++
++#if defined( SOLARIS_MATH_10_CHECK )
++#pragma ident "@(#)math_c99.h 1.12 07/01/21 SMI"
++#undef isinf
++#define isinf(x) __builtin_isinf(x)
++#endif /* SOLARIS_MATH_10_CHECK */
+Index: fixincludes/inclhack.def
+===================================================================
+--- fixincludes/inclhack.def (.../tags/gcc_4_3_0_release) (revision 133808)
++++ fixincludes/inclhack.def (.../branches/gcc-4_3-branch) (revision 133808)
+@@ -3223,6 +3223,30 @@
+ };
+
+ /*
++ * On Solaris 11, if you do isinf(NaN) you'll get a floating point
++ * exception. Provide an alternative using GCC's builtin.
++ */
++
++fix = {
++ hackname = solaris_math_10;
++ select = '@\(#\)math_c99.h' "[ \t]+1.[0-9]+[ \t]+[0-9/]+ SMI";
++ files = iso/math_c99.h;
++ c_fix = format;
++ c_fix_arg = "#define\tisinf(x) __builtin_isinf(x)";
++ c_fix_arg = "^#define[ \t]+isinf\\(x\\)[ \t]+__extension__\\([ \t]*\\\\\n"
++ "[ \t]*\\{[ \t]*__typeof\\(x\\)[ \t]*__x_i[ \t]*=[ \t]*\\(x\\);[ \t]*\\\\\n"
++ "[ \t]*__x_i[ \t]*==[ \t]*\\(__typeof\\(__x_i\\)\\)[ \t]*INFINITY[ \t]*\\|\\|[ \t]*\\\\\n"
++ "[ \t]*__x_i[ \t]*==[ \t]*\\(__typeof\\(__x_i\\)\\)[ \t]*\\(-INFINITY\\);[ \t]*\\}\\)";
++ test_text =
++ '#pragma ident "@(#)math_c99.h 1.12 07/01/21 SMI"'"\n"
++ "#undef isinf\n"
++ "#define isinf(x) __extension__( \\\\\n"
++ " { __typeof(x) __x_i = (x); \\\\\n"
++ " __x_i == (__typeof(__x_i)) INFINITY || \\\\\n"
++ " __x_i == (__typeof(__x_i)) (-INFINITY); })";
++};
++
++/*
+ * Sun Solaris 2.5.1, 2.6 defines PTHREAD_{MUTEX|COND}_INITIALIZER
+ * incorrectly, so we replace them with versions that correspond to
+ * the definition. We also explicitly name this fix "1" and the next
diff --git a/recipes/gcc/gcc-4.4.0/debian/template.dpatch b/recipes/gcc/gcc-4.4.0/debian/template.dpatch
new file mode 100644
index 0000000000..71ffc51cbd
--- /dev/null
+++ b/recipes/gcc/gcc-4.4.0/debian/template.dpatch
@@ -0,0 +1,33 @@
+#! /bin/sh -e
+
+# All lines beginning with `# DPATCH:' are a description of the patch.
+# DP: <your description>
+
+# remove the next line
+exit 0
+
+dir=
+if [ $# -eq 3 -a "$2" = '-d' ]; then
+ pdir="-d $3"
+ dir="$3/"
+elif [ $# -ne 1 ]; then
+ echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
+ exit 1
+fi
+case "$1" in
+ -patch)
+ patch $pdir -f --no-backup-if-mismatch -p0 < $0
+ #cd ${dir}gcc && autoconf
+ ;;
+ -unpatch)
+ patch $pdir -f --no-backup-if-mismatch -R -p0 < $0
+ #rm ${dir}gcc/configure
+ ;;
+ *)
+ echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
+ exit 1
+esac
+exit 0
+
+# append the patch here and adjust the -p? flag in the patch calls.
+
diff --git a/recipes/gcc/gcc-4.4.0/fedora/gcc43-c++-builtin-redecl.patch b/recipes/gcc/gcc-4.4.0/fedora/gcc43-c++-builtin-redecl.patch
new file mode 100644
index 0000000000..77655ad792
--- /dev/null
+++ b/recipes/gcc/gcc-4.4.0/fedora/gcc43-c++-builtin-redecl.patch
@@ -0,0 +1,102 @@
+2007-10-02 Jakub Jelinek <jakub@redhat.com>
+
+ * decl.c (duplicate_decls): When redeclaring a builtin function,
+ keep the merged decl builtin whenever types match, even if new
+ decl defines a function.
+
+ * gcc.dg/builtins-65.c: New test.
+ * g++.dg/ext/builtin10.C: New test.
+
+--- gcc/cp/decl.c.jj 2007-10-01 22:11:09.000000000 +0200
++++ gcc/cp/decl.c 2007-10-02 11:39:46.000000000 +0200
+@@ -1988,23 +1988,21 @@ duplicate_decls (tree newdecl, tree oldd
+ DECL_ARGUMENTS (olddecl) = DECL_ARGUMENTS (newdecl);
+ DECL_RESULT (olddecl) = DECL_RESULT (newdecl);
+ }
++ /* If redeclaring a builtin function, it stays built in. */
++ if (types_match && DECL_BUILT_IN (olddecl))
++ {
++ DECL_BUILT_IN_CLASS (newdecl) = DECL_BUILT_IN_CLASS (olddecl);
++ DECL_FUNCTION_CODE (newdecl) = DECL_FUNCTION_CODE (olddecl);
++ /* If we're keeping the built-in definition, keep the rtl,
++ regardless of declaration matches. */
++ COPY_DECL_RTL (olddecl, newdecl);
++ }
+ if (new_defines_function)
+ /* If defining a function declared with other language
+ linkage, use the previously declared language linkage. */
+ SET_DECL_LANGUAGE (newdecl, DECL_LANGUAGE (olddecl));
+ else if (types_match)
+ {
+- /* If redeclaring a builtin function, and not a definition,
+- it stays built in. */
+- if (DECL_BUILT_IN (olddecl))
+- {
+- DECL_BUILT_IN_CLASS (newdecl) = DECL_BUILT_IN_CLASS (olddecl);
+- DECL_FUNCTION_CODE (newdecl) = DECL_FUNCTION_CODE (olddecl);
+- /* If we're keeping the built-in definition, keep the rtl,
+- regardless of declaration matches. */
+- COPY_DECL_RTL (olddecl, newdecl);
+- }
+-
+ DECL_RESULT (newdecl) = DECL_RESULT (olddecl);
+ /* Don't clear out the arguments if we're redefining a function. */
+ if (DECL_ARGUMENTS (olddecl))
+--- gcc/testsuite/gcc.dg/builtins-65.c.jj 2007-10-02 11:23:51.000000000 +0200
++++ gcc/testsuite/gcc.dg/builtins-65.c 2007-10-02 11:24:12.000000000 +0200
+@@ -0,0 +1,25 @@
++/* { dg-do compile } */
++/* { dg-options "-O2" } */
++
++typedef __SIZE_TYPE__ size_t;
++extern void __chk_fail (void);
++extern int snprintf (char *, size_t, const char *, ...);
++extern inline __attribute__((gnu_inline, always_inline)) int snprintf (char *a, size_t b, const char *fmt, ...)
++{
++ if (__builtin_object_size (a, 0) != -1UL && __builtin_object_size (a, 0) < b)
++ __chk_fail ();
++ return __builtin_snprintf (a, b, fmt, __builtin_va_arg_pack ());
++}
++extern int snprintf (char *, size_t, const char *, ...) __asm ("mysnprintf");
++
++char buf[10];
++
++int
++main (void)
++{
++ snprintf (buf, 10, "%d%d\n", 10, 10);
++ return 0;
++}
++
++/* { dg-final { scan-assembler "mysnprintf" } } */
++/* { dg-final { scan-assembler-not "__chk_fail" } } */
+--- gcc/testsuite/g++.dg/ext/builtin10.C.jj 2007-10-02 11:19:45.000000000 +0200
++++ gcc/testsuite/g++.dg/ext/builtin10.C 2007-10-02 11:23:26.000000000 +0200
+@@ -0,0 +1,27 @@
++// { dg-do compile }
++// { dg-options "-O2" }
++
++typedef __SIZE_TYPE__ size_t;
++extern "C" {
++extern void __chk_fail (void);
++extern int snprintf (char *, size_t, const char *, ...);
++extern inline __attribute__((gnu_inline, always_inline)) int snprintf (char *a, size_t b, const char *fmt, ...)
++{
++ if (__builtin_object_size (a, 0) != -1UL && __builtin_object_size (a, 0) < b)
++ __chk_fail ();
++ return __builtin_snprintf (a, b, fmt, __builtin_va_arg_pack ());
++}
++extern int snprintf (char *, size_t, const char *, ...) __asm ("mysnprintf");
++}
++
++char buf[10];
++
++int
++main (void)
++{
++ snprintf (buf, 10, "%d%d\n", 10, 10);
++ return 0;
++}
++
++// { dg-final { scan-assembler "mysnprintf" } }
++// { dg-final { scan-assembler-not "__chk_fail" } }
diff --git a/recipes/gcc/gcc-4.4.0/fedora/gcc43-cpp-pragma.patch b/recipes/gcc/gcc-4.4.0/fedora/gcc43-cpp-pragma.patch
new file mode 100644
index 0000000000..00d37bd7ce
--- /dev/null
+++ b/recipes/gcc/gcc-4.4.0/fedora/gcc43-cpp-pragma.patch
@@ -0,0 +1,284 @@
+2008-02-26 Jakub Jelinek <jakub@redhat.com>
+
+ * c-ppoutput.c (scan_translation_unit): Handle CPP_PRAGMA
+ and CPP_PRAGMA_EOL.
+ * c-pragma.c (pragma_ns_name): New typedef.
+ (registered_pp_pragmas): New variable.
+ (c_pp_lookup_pragma): New function.
+ (c_register_pragma_1): If flag_preprocess_only, do nothing
+ for non-expanded pragmas, for expanded ones push pragma's
+ namespace and name into registered_pp_pragmas vector.
+ (c_invoke_pragma_handler): Register OpenMP pragmas even when
+ flag_preprocess_only, don't register GCC pch_preprocess
+ pragma if flag_preprocess_only.
+ * c-opts.c (c_common_init): Call init_pragma even if
+ flag_preprocess_only.
+ * c-pragma.c (c_pp_lookup_pragma): New prototype.
+ * config/darwin.h (DARWIN_REGISTER_TARGET_PRAGMAS): Don't call
+ cpp_register_pragma if flag_preprocess_only.
+
+ * gcc.dg/gomp/preprocess-1.c: New test.
+
+--- gcc/c-ppoutput.c.jj 2008-01-26 18:01:16.000000000 +0100
++++ gcc/c-ppoutput.c 2008-02-26 22:54:57.000000000 +0100
+@@ -1,6 +1,6 @@
+ /* Preprocess only, using cpplib.
+- Copyright (C) 1995, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2007
+- Free Software Foundation, Inc.
++ Copyright (C) 1995, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2007,
++ 2008 Free Software Foundation, Inc.
+ Written by Per Bothner, 1994-95.
+
+ This program is free software; you can redistribute it and/or modify it
+@@ -177,7 +177,24 @@ scan_translation_unit (cpp_reader *pfile
+ avoid_paste = false;
+ print.source = NULL;
+ print.prev = token;
+- cpp_output_token (token, print.outf);
++ if (token->type == CPP_PRAGMA)
++ {
++ const char *space;
++ const char *name;
++
++ maybe_print_line (token->src_loc);
++ fputs ("#pragma ", print.outf);
++ c_pp_lookup_pragma (token->val.pragma, &space, &name);
++ if (space)
++ fprintf (print.outf, "%s %s", space, name);
++ else
++ fprintf (print.outf, "%s", name);
++ print.printed = 1;
++ }
++ else if (token->type == CPP_PRAGMA_EOL)
++ maybe_print_line (token->src_loc);
++ else
++ cpp_output_token (token, print.outf);
+
+ if (token->type == CPP_COMMENT)
+ account_for_newlines (token->val.str.text, token->val.str.len);
+--- gcc/c-pragma.c.jj 2008-02-15 18:43:03.000000000 +0100
++++ gcc/c-pragma.c 2008-02-26 22:59:44.000000000 +0100
+@@ -1,6 +1,6 @@
+ /* Handle #pragma, system V.4 style. Supports #pragma weak and #pragma pack.
+ Copyright (C) 1992, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005,
+- 2006, 2007 Free Software Foundation, Inc.
++ 2006, 2007, 2008 Free Software Foundation, Inc.
+
+ This file is part of GCC.
+
+@@ -872,6 +872,61 @@ DEF_VEC_ALLOC_O (pragma_handler, heap);
+
+ static VEC(pragma_handler, heap) *registered_pragmas;
+
++typedef struct
++{
++ const char *space;
++ const char *name;
++} pragma_ns_name;
++
++DEF_VEC_O (pragma_ns_name);
++DEF_VEC_ALLOC_O (pragma_ns_name, heap);
++
++static VEC(pragma_ns_name, heap) *registered_pp_pragmas;
++
++struct omp_pragma_def { const char *name; unsigned int id; };
++static const struct omp_pragma_def omp_pragmas[] = {
++ { "atomic", PRAGMA_OMP_ATOMIC },
++ { "barrier", PRAGMA_OMP_BARRIER },
++ { "critical", PRAGMA_OMP_CRITICAL },
++ { "flush", PRAGMA_OMP_FLUSH },
++ { "for", PRAGMA_OMP_FOR },
++ { "master", PRAGMA_OMP_MASTER },
++ { "ordered", PRAGMA_OMP_ORDERED },
++ { "parallel", PRAGMA_OMP_PARALLEL },
++ { "section", PRAGMA_OMP_SECTION },
++ { "sections", PRAGMA_OMP_SECTIONS },
++ { "single", PRAGMA_OMP_SINGLE },
++ { "threadprivate", PRAGMA_OMP_THREADPRIVATE }
++};
++
++void
++c_pp_lookup_pragma (unsigned int id, const char **space, const char **name)
++{
++ const int n_omp_pragmas = sizeof (omp_pragmas) / sizeof (*omp_pragmas);
++ int i;
++
++ for (i = 0; i < n_omp_pragmas; ++i)
++ if (omp_pragmas[i].id == id)
++ {
++ *space = "omp";
++ *name = omp_pragmas[i].name;
++ return;
++ }
++
++ if (id >= PRAGMA_FIRST_EXTERNAL
++ && (id < PRAGMA_FIRST_EXTERNAL
++ + VEC_length (pragma_ns_name, registered_pp_pragmas)))
++ {
++ *space = VEC_index (pragma_ns_name, registered_pp_pragmas,
++ id - PRAGMA_FIRST_EXTERNAL)->space;
++ *name = VEC_index (pragma_ns_name, registered_pp_pragmas,
++ id - PRAGMA_FIRST_EXTERNAL)->name;
++ return;
++ }
++
++ gcc_unreachable ();
++}
++
+ /* Front-end wrappers for pragma registration to avoid dragging
+ cpplib.h in almost everywhere. */
+
+@@ -881,13 +936,29 @@ c_register_pragma_1 (const char *space,
+ {
+ unsigned id;
+
+- VEC_safe_push (pragma_handler, heap, registered_pragmas, &handler);
+- id = VEC_length (pragma_handler, registered_pragmas);
+- id += PRAGMA_FIRST_EXTERNAL - 1;
+-
+- /* The C++ front end allocates 6 bits in cp_token; the C front end
+- allocates 7 bits in c_token. At present this is sufficient. */
+- gcc_assert (id < 64);
++ if (flag_preprocess_only)
++ {
++ pragma_ns_name ns_name;
++
++ if (!allow_expansion)
++ return;
++
++ ns_name.space = space;
++ ns_name.name = name;
++ VEC_safe_push (pragma_ns_name, heap, registered_pp_pragmas, &ns_name);
++ id = VEC_length (pragma_ns_name, registered_pp_pragmas);
++ id += PRAGMA_FIRST_EXTERNAL - 1;
++ }
++ else
++ {
++ VEC_safe_push (pragma_handler, heap, registered_pragmas, &handler);
++ id = VEC_length (pragma_handler, registered_pragmas);
++ id += PRAGMA_FIRST_EXTERNAL - 1;
++
++ /* The C++ front end allocates 6 bits in cp_token; the C front end
++ allocates 7 bits in c_token. At present this is sufficient. */
++ gcc_assert (id < 64);
++ }
+
+ cpp_register_deferred_pragma (parse_in, space, name, id,
+ allow_expansion, false);
+@@ -921,24 +992,8 @@ c_invoke_pragma_handler (unsigned int id
+ void
+ init_pragma (void)
+ {
+- if (flag_openmp && !flag_preprocess_only)
++ if (flag_openmp)
+ {
+- struct omp_pragma_def { const char *name; unsigned int id; };
+- static const struct omp_pragma_def omp_pragmas[] = {
+- { "atomic", PRAGMA_OMP_ATOMIC },
+- { "barrier", PRAGMA_OMP_BARRIER },
+- { "critical", PRAGMA_OMP_CRITICAL },
+- { "flush", PRAGMA_OMP_FLUSH },
+- { "for", PRAGMA_OMP_FOR },
+- { "master", PRAGMA_OMP_MASTER },
+- { "ordered", PRAGMA_OMP_ORDERED },
+- { "parallel", PRAGMA_OMP_PARALLEL },
+- { "section", PRAGMA_OMP_SECTION },
+- { "sections", PRAGMA_OMP_SECTIONS },
+- { "single", PRAGMA_OMP_SINGLE },
+- { "threadprivate", PRAGMA_OMP_THREADPRIVATE }
+- };
+-
+ const int n_omp_pragmas = sizeof (omp_pragmas) / sizeof (*omp_pragmas);
+ int i;
+
+@@ -947,8 +1002,9 @@ init_pragma (void)
+ omp_pragmas[i].id, true, true);
+ }
+
+- cpp_register_deferred_pragma (parse_in, "GCC", "pch_preprocess",
+- PRAGMA_GCC_PCH_PREPROCESS, false, false);
++ if (!flag_preprocess_only)
++ cpp_register_deferred_pragma (parse_in, "GCC", "pch_preprocess",
++ PRAGMA_GCC_PCH_PREPROCESS, false, false);
+
+ #ifdef HANDLE_PRAGMA_PACK
+ #ifdef HANDLE_PRAGMA_PACK_WITH_EXPANSION
+--- gcc/c-opts.c.jj 2008-02-26 22:53:23.000000000 +0100
++++ gcc/c-opts.c 2008-02-26 22:54:57.000000000 +0100
+@@ -1,5 +1,5 @@
+ /* C/ObjC/C++ command line option handling.
+- Copyright (C) 2002, 2003, 2004, 2005, 2006, 2007
++ Copyright (C) 2002, 2003, 2004, 2005, 2006, 2007, 2008
+ Free Software Foundation, Inc.
+ Contributed by Neil Booth.
+
+@@ -1239,6 +1239,9 @@ c_common_init (void)
+ if (version_flag)
+ c_common_print_pch_checksum (stderr);
+
++ /* Has to wait until now so that cpplib has its hash table. */
++ init_pragma ();
++
+ if (flag_preprocess_only)
+ {
+ finish_options ();
+@@ -1246,9 +1249,6 @@ c_common_init (void)
+ return false;
+ }
+
+- /* Has to wait until now so that cpplib has its hash table. */
+- init_pragma ();
+-
+ return true;
+ }
+
+--- gcc/c-pragma.h.jj 2008-01-26 18:01:16.000000000 +0100
++++ gcc/c-pragma.h 2008-02-26 22:54:57.000000000 +0100
+@@ -1,6 +1,6 @@
+ /* Pragma related interfaces.
+ Copyright (C) 1995, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005,
+- 2007 Free Software Foundation, Inc.
++ 2007, 2008 Free Software Foundation, Inc.
+
+ This file is part of GCC.
+
+@@ -124,4 +124,6 @@ extern enum cpp_ttype pragma_lex (tree *
+ extern enum cpp_ttype c_lex_with_flags (tree *, location_t *, unsigned char *,
+ int);
+
++extern void c_pp_lookup_pragma (unsigned int, const char **, const char **);
++
+ #endif /* GCC_C_PRAGMA_H */
+--- gcc/config/darwin.h.jj 2008-02-11 14:48:12.000000000 +0100
++++ gcc/config/darwin.h 2008-02-26 22:54:57.000000000 +0100
+@@ -892,8 +892,9 @@ enum machopic_addr_class {
+
+ #define DARWIN_REGISTER_TARGET_PRAGMAS() \
+ do { \
+- cpp_register_pragma (parse_in, NULL, "mark", \
+- darwin_pragma_ignore, false); \
++ if (!flag_preprocess_only) \
++ cpp_register_pragma (parse_in, NULL, "mark", \
++ darwin_pragma_ignore, false); \
+ c_register_pragma (0, "options", darwin_pragma_options); \
+ c_register_pragma (0, "segment", darwin_pragma_ignore); \
+ c_register_pragma (0, "unused", darwin_pragma_unused); \
+--- gcc/testsuite/gcc.dg/gomp/preprocess-1.c.jj 2008-02-26 22:54:57.000000000 +0100
++++ gcc/testsuite/gcc.dg/gomp/preprocess-1.c 2008-02-26 22:54:57.000000000 +0100
+@@ -0,0 +1,16 @@
++/* { dg-do preprocess } */
++
++void foo (void)
++{
++ int i1, j1, k1;
++#define p parallel
++#define P(x) private (x##1)
++#define S(x) shared (x##1)
++#define F(x) firstprivate (x##1)
++#pragma omp p P(i) \
++ S(j) \
++ F(k)
++ ;
++}
++
++/* { dg-final { scan-file preprocess-1.i "(^|\n)#pragma omp parallel private \\(i1\\) shared \\(j1\\) firstprivate \\(k1\\)($|\n)" } } */
diff --git a/recipes/gcc/gcc-4.4.0/fedora/gcc43-i386-libgomp.patch b/recipes/gcc/gcc-4.4.0/fedora/gcc43-i386-libgomp.patch
new file mode 100644
index 0000000000..2ad3b24d89
--- /dev/null
+++ b/recipes/gcc/gcc-4.4.0/fedora/gcc43-i386-libgomp.patch
@@ -0,0 +1,61 @@
+Build i386.rpm libgomp and libsupc++.a(guard.o) as i486+, pre-i486
+hardware isn't supported because NPTL doesn't support it anyway.
+
+--- libgomp/configure.tgt.jj 2008-01-10 20:53:48.000000000 +0100
++++ libgomp/configure.tgt 2008-03-27 12:44:51.000000000 +0100
+@@ -44,14 +44,14 @@ if test $enable_linux_futex = yes; then
+ ;;
+
+ # Note that bare i386 is not included here. We need cmpxchg.
+- i[456]86-*-linux*)
++ i[3456]86-*-linux*)
+ config_path="linux/x86 linux posix"
+ case " ${CC} ${CFLAGS} " in
+ *" -m64 "*)
+ ;;
+ *)
+ if test -z "$with_arch"; then
+- XCFLAGS="${XCFLAGS} -march=i486 -mtune=${target_cpu}"
++ XCFLAGS="${XCFLAGS} -march=i486 -mtune=generic"
+ fi
+ esac
+ ;;
+@@ -63,7 +63,7 @@ if test $enable_linux_futex = yes; then
+ config_path="linux/x86 linux posix"
+ case " ${CC} ${CFLAGS} " in
+ *" -m32 "*)
+- XCFLAGS="${XCFLAGS} -march=i486 -mtune=i686"
++ XCFLAGS="${XCFLAGS} -march=i486 -mtune=generic"
+ ;;
+ esac
+ ;;
+--- libstdc++-v3/libsupc++/guard.cc.jj 2008-03-01 00:58:24.000000000 +0100
++++ libstdc++-v3/libsupc++/guard.cc 2008-03-27 14:08:44.000000000 +0100
+@@ -35,6 +35,27 @@
+ #include <new>
+ #include <ext/atomicity.h>
+ #include <ext/concurrence.h>
++#if defined __i386__ && !defined _GLIBCXX_ATOMIC_BUILTINS
++# define _GLIBCXX_ATOMIC_BUILTINS 1
++# define __sync_val_compare_and_swap(a, b, c) \
++ ({ \
++ typedef char sltast[sizeof (*a) == sizeof (int) ? 1 : -1]; \
++ int sltas; \
++ __asm __volatile ("lock; cmpxchgl %3, (%1)" \
++ : "=a" (sltas) \
++ : "r" (a), "0" (b), "r" (c) : "memory"); \
++ sltas; \
++ })
++# define __sync_lock_test_and_set(a, b) \
++ ({ \
++ typedef char sltast[sizeof (*a) == sizeof (int) ? 1 : -1]; \
++ int sltas; \
++ __asm __volatile ("xchgl (%1), %0" \
++ : "=r" (sltas) \
++ : "r" (a), "0" (b) : "memory"); \
++ sltas; \
++ })
++#endif
+ #if defined(__GTHREADS) && defined(__GTHREAD_HAS_COND) \
+ && defined(_GLIBCXX_ATOMIC_BUILTINS) && defined(_GLIBCXX_HAVE_LINUX_FUTEX)
+ # include <climits>
diff --git a/recipes/gcc/gcc-4.4.0/fedora/gcc43-ia64-libunwind.patch b/recipes/gcc/gcc-4.4.0/fedora/gcc43-ia64-libunwind.patch
new file mode 100644
index 0000000000..8e10979ce8
--- /dev/null
+++ b/recipes/gcc/gcc-4.4.0/fedora/gcc43-ia64-libunwind.patch
@@ -0,0 +1,538 @@
+2004-11-27 Jakub Jelinek <jakub@redhat.com>
+
+ * config.gcc (ia64*-*-linux*): If native and libelf is installed,
+ use ia64/t-glibc-no-libunwind instead of the other t-*unwind*
+ fragments.
+ * config/ia64/t-glibc-no-libunwind: New file.
+ * config/ia64/change-symver.c: New file.
+ * config/ia64/unwind-ia64.c: If USE_SYMVER_GLOBAL and SHARED,
+ define _Unwind_* to __symverglobal_Unwind_*.
+ (alias): Undefine.
+ (symverglobal): Define. Use it on _Unwind_*.
+ * config/ia64/mkmap-symver-multi.awk: New file.
+ * config/ia64/libgcc-ia64-no-libunwind.ver: New file.
+
+--- gcc/config.gcc.jj 2004-10-04 08:55:44.000000000 -0400
++++ gcc/config.gcc 2004-11-13 05:23:50.000000000 -0500
+@@ -1185,9 +1185,16 @@ ia64*-*-freebsd*)
+ ;;
+ ia64*-*-linux*)
+ tm_file="${tm_file} dbxelf.h elfos.h svr4.h linux.h ia64/sysv4.h ia64/linux.h"
+- tmake_file="${tmake_file} ia64/t-ia64 t-libunwind ia64/t-glibc"
+- if test x$with_system_libunwind != xyes ; then
+- tmake_file="${tmake_file} t-libunwind-elf ia64/t-glibc-libunwind"
++ tmake_file="${tmake_file} ia64/t-ia64"
++ if test x${target} = x${host} && test x${target} = x${build} \
++ && grep gelf_getverdef /usr/include/gelf.h > /dev/null 2>&1 \
++ && test -f /usr/lib/libelf.so; then
++ tmake_file="${tmake_file} ia64/t-glibc-no-libunwind"
++ else
++ tmake_file="${tmake_file} t-libunwind ia64/t-glibc"
++ if test x$with_system_libunwind != xyes ; then
++ tmake_file="${tmake_file} t-libunwind-elf ia64/t-glibc-libunwind"
++ fi
+ fi
+ target_cpu_default="MASK_GNU_AS|MASK_GNU_LD"
+ extra_parts="crtbegin.o crtend.o crtbeginS.o crtendS.o crtfastmath.o"
+--- gcc/config/ia64/t-glibc-no-libunwind.jj 2004-02-18 10:27:36.000000000 -0500
++++ gcc/config/ia64/t-glibc-no-libunwind 2004-11-15 09:56:33.000000000 -0500
+@@ -0,0 +1,30 @@
++# Don't use system libunwind library on IA-64 GLIBC based system,
++# but make _Unwind_* symbols unversioned, so that created programs
++# are usable even when libgcc_s uses libunwind.
++LIB2ADDEH += $(srcdir)/config/ia64/fde-glibc.c
++SHLIB_MAPFILES += $(srcdir)/config/ia64/libgcc-ia64-no-libunwind.ver
++SHLIB_MKMAP = $(srcdir)/config/ia64/mkmap-symver-multi.awk
++
++SHLIB_LINK = $(GCC_FOR_TARGET) $(LIBGCC2_CFLAGS) -shared -nodefaultlibs \
++ -Wl,--soname=$(SHLIB_SONAME) \
++ -Wl,--version-script=$(SHLIB_MAP) \
++ -o $(SHLIB_DIR)/$(SHLIB_SONAME).tmp @multilib_flags@ $(SHLIB_OBJS) -lc && \
++ rm -f $(SHLIB_DIR)/$(SHLIB_SOLINK) && \
++ if [ -f $(SHLIB_DIR)/$(SHLIB_SONAME) ]; then \
++ mv -f $(SHLIB_DIR)/$(SHLIB_SONAME) \
++ $(SHLIB_DIR)/$(SHLIB_SONAME).backup; \
++ else true; fi && \
++ gcc -O2 -o $(SHLIB_DIR)/$(SHLIB_SONAME).tweak \
++ $$(gcc_srcdir)/config/ia64/change-symver.c -lelf && \
++ $(SHLIB_DIR)/$(SHLIB_SONAME).tweak $(SHLIB_DIR)/$(SHLIB_SONAME).tmp \
++ GCC_3.4.2 _GLOBAL_ \
++ _Unwind_GetGR _Unwind_RaiseException _Unwind_GetRegionStart _Unwind_SetIP \
++ _Unwind_GetIP _Unwind_GetLanguageSpecificData _Unwind_Resume \
++ _Unwind_DeleteException _Unwind_SetGR _Unwind_ForcedUnwind \
++ _Unwind_Backtrace _Unwind_FindEnclosingFunction _Unwind_GetCFA \
++ _Unwind_Resume_or_Rethrow _Unwind_GetBSP && \
++ rm -f $(SHLIB_DIR)/$(SHLIB_SONAME).tweak && \
++ mv $(SHLIB_DIR)/$(SHLIB_SONAME).tmp $(SHLIB_DIR)/$(SHLIB_SONAME) && \
++ $(LN_S) $(SHLIB_SONAME) $(SHLIB_DIR)/$(SHLIB_SOLINK)
++
++TARGET_LIBGCC2_CFLAGS += -DUSE_SYMVER_GLOBAL
+--- gcc/config/ia64/change-symver.c.jj 2004-02-18 10:27:36.000000000 -0500
++++ gcc/config/ia64/change-symver.c 2004-11-13 05:23:50.000000000 -0500
+@@ -0,0 +1,211 @@
++#define _GNU_SOURCE 1
++#define _FILE_OFFSET_BITS 64
++#include <endian.h>
++#include <errno.h>
++#include <error.h>
++#include <fcntl.h>
++#include <fnmatch.h>
++#include <gelf.h>
++#include <stdlib.h>
++#include <string.h>
++#include <unistd.h>
++
++int
++compute_veridx (const char *name, Elf *elf, Elf_Data *verd, GElf_Shdr *verd_shdr)
++{
++ if (strcmp (name, "_GLOBAL_") == 0)
++ return 1;
++
++ int cnt;
++ size_t offset = 0;
++ for (cnt = verd_shdr->sh_info; --cnt >= 0; )
++ {
++ GElf_Verdef defmem;
++ GElf_Verdef *def;
++ GElf_Verdaux auxmem;
++ GElf_Verdaux *aux;
++ unsigned int auxoffset;
++
++ /* Get the data at the next offset. */
++ def = gelf_getverdef (verd, offset, &defmem);
++ if (def == NULL)
++ break;
++
++ auxoffset = offset + def->vd_aux;
++ aux = gelf_getverdaux (verd, auxoffset, &auxmem);
++ if (aux == NULL)
++ break;
++
++ if (strcmp (name, elf_strptr (elf, verd_shdr->sh_link,
++ aux->vda_name)) == 0)
++ return def->vd_ndx;
++
++ /* Find the next offset. */
++ offset += def->vd_next;
++ }
++
++ return -1;
++}
++
++int
++main (int argc, char **argv)
++{
++ if (argc < 4)
++ error (1, 0, "Usage: change_symver library from_symver to_symver symbol...\nExample: change_symver libfoo.so FOO_1.0 *global* bar baz");
++
++ const char *fname = argv[1];
++
++ /* Open the file. */
++ int fd;
++ fd = open (fname, O_RDWR);
++ if (fd == -1)
++ error (1, errno, fname);
++
++ elf_version (EV_CURRENT);
++
++ /* Now get the ELF descriptor. */
++ Elf *elf = elf_begin (fd, ELF_C_READ_MMAP, NULL);
++ if (elf == NULL || elf_kind (elf) != ELF_K_ELF)
++ error (1, 0, "Couldn't open %s: %s", fname, elf_errmsg (-1));
++
++ size_t shstrndx;
++ /* Get the section header string table index. */
++ if (elf_getshstrndx (elf, &shstrndx) < 0)
++ error (1, 0, "cannot get shstrndx from %s", fname);
++
++ GElf_Ehdr ehdr_mem;
++ GElf_Ehdr *ehdr;
++
++ /* We need the ELF header in a few places. */
++ ehdr = gelf_getehdr (elf, &ehdr_mem);
++ if (ehdr == NULL)
++ error (1, 0, "couldn't get ELF headers %s: %s", fname, elf_errmsg (-1));
++
++ Elf_Scn *scn = NULL;
++ GElf_Shdr shdr_mem, verd_shdr, ver_shdr, dynsym_shdr;
++ Elf_Data *ver = NULL, *verd = NULL, *dynsym = NULL;
++
++ while ((scn = elf_nextscn (elf, scn)) != NULL)
++ {
++ GElf_Shdr *shdr = gelf_getshdr (scn, &shdr_mem);
++
++ if (shdr == NULL)
++ error (1, 0, "couldn't get shdr from %s", fname);
++
++ if ((shdr->sh_flags & SHF_ALLOC) != 0)
++ {
++ const char *name = elf_strptr (elf, shstrndx, shdr->sh_name);
++ Elf_Data **p;
++
++ if (strcmp (name, ".gnu.version") == 0)
++ {
++ p = &ver;
++ ver_shdr = *shdr;
++ }
++ else if (strcmp (name, ".gnu.version_d") == 0)
++ {
++ p = &verd;
++ verd_shdr = *shdr;
++ }
++ else if (strcmp (name, ".dynsym") == 0)
++ {
++ p = &dynsym;
++ dynsym_shdr = *shdr;
++ }
++ else
++ continue;
++
++ if (*p != NULL)
++ error (1, 0, "Two %s sections in %s", name, fname);
++ *p = elf_getdata (scn, NULL);
++ if (*p == NULL || elf_getdata (scn, *p) != NULL)
++ error (1, 0, "No data or non-contiguous data in %s section in %s",
++ name, fname);
++ }
++ }
++
++ if (ver == NULL || verd == NULL || dynsym == NULL)
++ error (1, 0, "Couldn't find one of the needed sections in %s", fname);
++
++ int from_idx = compute_veridx (argv[2], elf, verd, &verd_shdr);
++ if (from_idx == -1)
++ error (1, 0, "Could not find symbol version %s in %s", argv[2], fname);
++
++ int to_idx = compute_veridx (argv[3], elf, verd, &verd_shdr);
++ if (to_idx == -1)
++ error (1, 0, "Could not find symbol version %s in %s", argv[3], fname);
++
++ if (dynsym_shdr.sh_entsize != gelf_fsize (elf, ELF_T_SYM, 1, ehdr->e_version)
++ || dynsym_shdr.sh_size % dynsym_shdr.sh_entsize
++ || ver_shdr.sh_entsize != 2
++ || (ver_shdr.sh_size & 1)
++ || dynsym_shdr.sh_size / dynsym_shdr.sh_entsize != ver_shdr.sh_size / 2)
++ error (1, 0, "Unexpected sh_size or sh_entsize in %s", fname);
++
++ size_t nentries = ver_shdr.sh_size / 2;
++ size_t cnt;
++ GElf_Versym array[nentries];
++ for (cnt = 0; cnt < nentries; ++cnt)
++ {
++ GElf_Versym vsymmem;
++ GElf_Versym *vsym;
++
++ vsym = gelf_getversym (ver, cnt, &vsymmem);
++ if (vsym == NULL)
++ error (1, 0, "gelt_getversym failed in %s: %s", fname, elf_errmsg (-1));
++
++ array[cnt] = *vsym;
++ if (*vsym != from_idx)
++ continue;
++
++ GElf_Sym sym_mem;
++ GElf_Sym *sym;
++ sym = gelf_getsym (dynsym, cnt, &sym_mem);
++ if (sym == NULL)
++ error (1, 0, "gelt_getsym failed in %s: %s", fname, elf_errmsg (-1));
++
++ const char *name = elf_strptr (elf, dynsym_shdr.sh_link, sym->st_name);
++
++ int argn;
++ for (argn = 4; argn < argc; ++argn)
++ if (fnmatch (argv[argn], name, 0) == 0)
++ {
++ array[cnt] = to_idx;
++ break;
++ }
++ }
++
++ if (sizeof (array[0]) != 2)
++ abort ();
++
++#if __BYTE_ORDER == __LITTLE_ENDIAN
++ if (ehdr->e_ident[EI_DATA] == ELFDATA2LSB)
++ ;
++ else if (ehdr->e_ident[EI_DATA] == ELFDATA2MSB)
++#elif __BYTE_ORDER == __BIG_ENDIAN
++ if (ehdr->e_ident[EI_DATA] == ELFDATA2MSB)
++ ;
++ else if (ehdr->e_ident[EI_DATA] == ELFDATA2LSB)
++#else
++# error Unsupported endianity
++#endif
++ {
++ for (cnt = 0; cnt < nentries; ++cnt)
++ array[cnt] = ((array[cnt] & 0xff) << 8) | ((array[cnt] & 0xff00) >> 8);
++ }
++ else
++ error (1, 0, "Unknown EI_DATA %d in %s", ehdr->e_ident[EI_DATA], fname);
++
++ if (elf_end (elf) != 0)
++ error (1, 0, "couldn't close %s: %s", fname, elf_errmsg (-1));
++
++ if (lseek (fd, ver_shdr.sh_offset, SEEK_SET) != (off_t) ver_shdr.sh_offset)
++ error (1, 0, "failed to seek to %zd in %s", (size_t) ver_shdr.sh_offset,
++ fname);
++
++ if (write (fd, array, 2 * nentries) != (ssize_t) (2 * nentries))
++ error (1, 0, "failed to write .gnu.version section into %s", fname);
++
++ close (fd);
++ return 0;
++}
+--- gcc/config/ia64/unwind-ia64.c.jj 2004-10-04 08:55:57.000000000 -0400
++++ gcc/config/ia64/unwind-ia64.c 2004-11-15 09:07:45.000000000 -0500
+@@ -51,6 +51,51 @@
+ #define UNW_FLAG_UHANDLER(x) ((x) & 0x0000000200000000L)
+ #define UNW_LENGTH(x) ((x) & 0x00000000ffffffffL)
+
++#if defined (USE_SYMVER_GLOBAL) && defined (SHARED)
++extern _Unwind_Reason_Code __symverglobal_Unwind_Backtrace
++ (_Unwind_Trace_Fn, void *);
++extern void __symverglobal_Unwind_DeleteException
++ (struct _Unwind_Exception *);
++extern void * __symverglobal_Unwind_FindEnclosingFunction (void *);
++extern _Unwind_Reason_Code __symverglobal_Unwind_ForcedUnwind
++ (struct _Unwind_Exception *, _Unwind_Stop_Fn, void *);
++extern _Unwind_Word __symverglobal_Unwind_GetCFA
++ (struct _Unwind_Context *);
++extern _Unwind_Word __symverglobal_Unwind_GetBSP
++ (struct _Unwind_Context *);
++extern _Unwind_Word __symverglobal_Unwind_GetGR
++ (struct _Unwind_Context *, int );
++extern _Unwind_Ptr __symverglobal_Unwind_GetIP (struct _Unwind_Context *);
++extern void *__symverglobal_Unwind_GetLanguageSpecificData
++ (struct _Unwind_Context *);
++extern _Unwind_Ptr __symverglobal_Unwind_GetRegionStart
++ (struct _Unwind_Context *);
++extern _Unwind_Reason_Code __symverglobal_Unwind_RaiseException
++ (struct _Unwind_Exception *);
++extern void __symverglobal_Unwind_Resume (struct _Unwind_Exception *);
++extern _Unwind_Reason_Code __symverglobal_Unwind_Resume_or_Rethrow
++ (struct _Unwind_Exception *);
++extern void __symverglobal_Unwind_SetGR
++ (struct _Unwind_Context *, int, _Unwind_Word);
++extern void __symverglobal_Unwind_SetIP
++ (struct _Unwind_Context *, _Unwind_Ptr);
++#define _Unwind_Backtrace __symverglobal_Unwind_Backtrace
++#define _Unwind_DeleteException __symverglobal_Unwind_DeleteException
++#define _Unwind_FindEnclosingFunction __symverglobal_Unwind_FindEnclosingFunction
++#define _Unwind_ForcedUnwind __symverglobal_Unwind_ForcedUnwind
++#define _Unwind_GetBSP __symverglobal_Unwind_GetBSP
++#define _Unwind_GetCFA __symverglobal_Unwind_GetCFA
++#define _Unwind_GetGR __symverglobal_Unwind_GetGR
++#define _Unwind_GetIP __symverglobal_Unwind_GetIP
++#define _Unwind_GetLanguageSpecificData __symverglobal_Unwind_GetLanguageSpecificData
++#define _Unwind_GetRegionStart __symverglobal_Unwind_GetRegionStart
++#define _Unwind_RaiseException __symverglobal_Unwind_RaiseException
++#define _Unwind_Resume __symverglobal_Unwind_Resume
++#define _Unwind_Resume_or_Rethrow __symverglobal_Unwind_Resume_or_Rethrow
++#define _Unwind_SetGR __symverglobal_Unwind_SetGR
++#define _Unwind_SetIP __symverglobal_Unwind_SetIP
++#endif
++
+ enum unw_application_register
+ {
+ UNW_AR_BSP,
+@@ -2402,4 +2447,44 @@ alias (_Unwind_SetGR);
+ alias (_Unwind_SetIP);
+ #endif
+
++#if defined (USE_SYMVER_GLOBAL) && defined (SHARED)
++#undef alias
++#define symverglobal(name, version) \
++__typeof (__symverglobal##name) __symverlocal##name \
++ __attribute__ ((alias ("__symverglobal" #name))); \
++__asm__ (".symver __symverglobal" #name"," #name "@@GCC_3.4.2");\
++__asm__ (".symver __symverlocal" #name"," #name "@" #version)
++
++#undef _Unwind_Backtrace
++#undef _Unwind_DeleteException
++#undef _Unwind_FindEnclosingFunction
++#undef _Unwind_ForcedUnwind
++#undef _Unwind_GetBSP
++#undef _Unwind_GetCFA
++#undef _Unwind_GetGR
++#undef _Unwind_GetIP
++#undef _Unwind_GetLanguageSpecificData
++#undef _Unwind_GetRegionStart
++#undef _Unwind_RaiseException
++#undef _Unwind_Resume
++#undef _Unwind_Resume_or_Rethrow
++#undef _Unwind_SetGR
++#undef _Unwind_SetIP
++symverglobal (_Unwind_Backtrace, GCC_3.3);
++symverglobal (_Unwind_DeleteException, GCC_3.0);
++symverglobal (_Unwind_FindEnclosingFunction, GCC_3.3);
++symverglobal (_Unwind_ForcedUnwind, GCC_3.0);
++symverglobal (_Unwind_GetBSP, GCC_3.3.2);
++symverglobal (_Unwind_GetCFA, GCC_3.3);
++symverglobal (_Unwind_GetGR, GCC_3.0);
++symverglobal (_Unwind_GetIP, GCC_3.0);
++symverglobal (_Unwind_GetLanguageSpecificData, GCC_3.0);
++symverglobal (_Unwind_GetRegionStart, GCC_3.0);
++symverglobal (_Unwind_RaiseException, GCC_3.0);
++symverglobal (_Unwind_Resume, GCC_3.0);
++symverglobal (_Unwind_Resume_or_Rethrow, GCC_3.3);
++symverglobal (_Unwind_SetGR, GCC_3.0);
++symverglobal (_Unwind_SetIP, GCC_3.0);
++#endif
++
+ #endif
+--- gcc/config/ia64/mkmap-symver-multi.awk.jj 2004-02-18 10:27:36.000000000 -0500
++++ gcc/config/ia64/mkmap-symver-multi.awk 2004-11-15 09:46:50.000000000 -0500
+@@ -0,0 +1,133 @@
++# Generate an ELF symbol version map a-la Solaris and GNU ld.
++# Contributed by Richard Henderson <rth@cygnus.com>
++#
++# 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 2, 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 COPYING. If not, write to the Free
++# Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA
++# 02110-1301, USA.
++
++BEGIN {
++ state = "nm";
++ sawsymbol = 0;
++}
++
++# Remove comment and blank lines.
++/^ *#/ || /^ *$/ {
++ next;
++}
++
++# We begin with nm input. Collect the set of symbols that are present
++# so that we can not emit them into the final version script -- Solaris
++# complains at us if we do.
++
++state == "nm" && /^%%/ {
++ state = "ver";
++ next;
++}
++
++state == "nm" && ($1 == "U" || $2 == "U") {
++ next;
++}
++
++state == "nm" && NF == 3 {
++ if ($3 ~ /^[^@]*@GCC_[0-9.]*$/) {
++ def[$3] = 1
++ tl=$3
++ sub(/^.*@/,"",tl)
++ ver[$3] = tl
++ } else {
++ sub(/@@?GCC_[0-9.]*$/,"",$3)
++ def[$3] = 1;
++ }
++ sawsymbol = 1;
++ next;
++}
++
++state == "nm" {
++ next;
++}
++
++# Now we process a simplified variant of the Solaris symbol version
++# script. We have one symbol per line, no semicolons, simple markers
++# for beginning and ending each section, and %inherit markers for
++# describing version inheritence. A symbol may appear in more than
++# one symbol version, and the last seen takes effect.
++
++NF == 3 && $1 == "%inherit" {
++ inherit[$2] = $3;
++ next;
++}
++
++NF == 2 && $2 == "{" {
++ libs[$1] = 1;
++ thislib = $1;
++ next;
++}
++
++$1 == "}" {
++ thislib = "";
++ next;
++}
++
++{
++ ver[$1] = thislib;
++ next;
++}
++
++END {
++ if (!sawsymbol)
++ {
++ print "No symbols seen -- broken or mis-installed nm?" | "cat 1>&2";
++ exit 1;
++ }
++ for (l in libs)
++ output(l);
++}
++
++function output(lib) {
++ if (done[lib])
++ return;
++ done[lib] = 1;
++ if (inherit[lib])
++ output(inherit[lib]);
++
++ empty=1
++ for (sym in ver)
++ if ((ver[sym] == lib) && (sym in def))
++ {
++ if (empty)
++ {
++ printf("%s {\n", lib);
++ printf(" global:\n");
++ empty = 0;
++ }
++ symp = sym;
++ sub(/@GCC_[0-9.]*$/,"",symp);
++ printf("\t%s;\n", symp);
++ if (dotsyms)
++ printf("\t.%s;\n", symp);
++ }
++
++ if (empty)
++ {
++ for (l in libs)
++ if (inherit[l] == lib)
++ inherit[l] = inherit[lib];
++ }
++ else if (inherit[lib])
++ printf("} %s;\n", inherit[lib]);
++ else
++ printf ("\n local:\n\t*;\n};\n");
++}
+--- gcc/config/ia64/libgcc-ia64-no-libunwind.ver.jj 2004-02-18 10:27:36.000000000 -0500
++++ gcc/config/ia64/libgcc-ia64-no-libunwind.ver 2004-11-15 09:19:56.000000000 -0500
+@@ -0,0 +1,17 @@
++GCC_3.4.2 {
++ _Unwind_GetGR
++ _Unwind_RaiseException
++ _Unwind_GetRegionStart
++ _Unwind_SetIP
++ _Unwind_GetIP
++ _Unwind_GetLanguageSpecificData
++ _Unwind_Resume
++ _Unwind_DeleteException
++ _Unwind_SetGR
++ _Unwind_ForcedUnwind
++ _Unwind_Backtrace
++ _Unwind_FindEnclosingFunction
++ _Unwind_GetCFA
++ _Unwind_Resume_or_Rethrow
++ _Unwind_GetBSP
++}
diff --git a/recipes/gcc/gcc-4.4.0/fedora/gcc43-java-debug-iface-type.patch b/recipes/gcc/gcc-4.4.0/fedora/gcc43-java-debug-iface-type.patch
new file mode 100644
index 0000000000..63a1b50a76
--- /dev/null
+++ b/recipes/gcc/gcc-4.4.0/fedora/gcc43-java-debug-iface-type.patch
@@ -0,0 +1,17 @@
+2008-01-25 Jakub Jelinek <jakub@redhat.com>
+
+ * lang.c (java_classify_record): Revert 2007-12-20 change.
+
+--- gcc/java/lang.c 2007-12-27 09:09:49.000000000 +0100
++++ gcc/java/lang.c 2008-01-25 17:43:57.000000000 +0100
+@@ -965,9 +965,7 @@ java_classify_record (tree type)
+ if (! CLASS_P (type))
+ return RECORD_IS_STRUCT;
+
+- /* ??? GDB does not support DW_TAG_interface_type as of December,
+- 2007. Re-enable this at a later time. */
+- if (0 && CLASS_INTERFACE (TYPE_NAME (type)))
++ if (CLASS_INTERFACE (TYPE_NAME (type)))
+ return RECORD_IS_INTERFACE;
+
+ return RECORD_IS_CLASS;
diff --git a/recipes/gcc/gcc-4.4.0/fedora/gcc43-java-nomulti.patch b/recipes/gcc/gcc-4.4.0/fedora/gcc43-java-nomulti.patch
new file mode 100644
index 0000000000..f07ead8f2b
--- /dev/null
+++ b/recipes/gcc/gcc-4.4.0/fedora/gcc43-java-nomulti.patch
@@ -0,0 +1,44 @@
+--- libjava/configure.ac.jj 2007-12-07 17:55:50.000000000 +0100
++++ libjava/configure.ac 2007-12-07 18:36:56.000000000 +0100
+@@ -82,6 +82,13 @@ AC_ARG_ENABLE(java-maintainer-mode,
+ [allow rebuilding of .class and .h files]))
+ AM_CONDITIONAL(JAVA_MAINTAINER_MODE, test "$enable_java_maintainer_mode" = yes)
+
++AC_ARG_ENABLE(libjava-multilib,
++ AS_HELP_STRING([--enable-libjava-multilib], [build libjava as multilib]))
++if test "$enable_libjava_multilib" = no; then
++ multilib=no
++ ac_configure_args="$ac_configure_args --disable-multilib"
++fi
++
+ # It may not be safe to run linking tests in AC_PROG_CC/AC_PROG_CXX.
+ GCC_NO_EXECUTABLES
+
+--- libjava/configure.jj 2007-12-07 17:55:50.000000000 +0100
++++ libjava/configure 2007-12-07 18:39:58.000000000 +0100
+@@ -1018,6 +1018,8 @@ Optional Features:
+ --enable-gconf-peer compile GConf native peers for util.preferences
+ --enable-java-maintainer-mode
+ allow rebuilding of .class and .h files
++ --enable-libjava-multilib
++ build libjava as multilib
+ --disable-dependency-tracking speeds up one-time build
+ --enable-dependency-tracking do not reject slow dependency extractors
+ --enable-maintainer-mode enable make rules and dependencies not useful
+@@ -1848,6 +1850,16 @@ else
+ fi
+
+
++# Check whether --enable-libjava-multilib was given.
++if test "${enable_libjava_multilib+set}" = set; then
++ enableval=$enable_libjava_multilib;
++fi
++
++if test "$enable_libjava_multilib" = no; then
++ multilib=no
++ ac_configure_args="$ac_configure_args --disable-multilib"
++fi
++
+ # It may not be safe to run linking tests in AC_PROG_CC/AC_PROG_CXX.
+
+
diff --git a/recipes/gcc/gcc-4.4.0/fedora/gcc43-libgomp-speedup.patch b/recipes/gcc/gcc-4.4.0/fedora/gcc43-libgomp-speedup.patch
new file mode 100644
index 0000000000..da85e556ec
--- /dev/null
+++ b/recipes/gcc/gcc-4.4.0/fedora/gcc43-libgomp-speedup.patch
@@ -0,0 +1,2797 @@
+2008-03-28 Jakub Jelinek <jakub@redhat.com>
+
+ * config/linux/sparc/futex.h (atomic_write_barrier): Fix membar
+ argument.
+
+2008-03-27 Jakub Jelinek <jakub@redhat.com>
+
+ * libgomp.h (struct gomp_team_state): Remove single_count field
+ ifndef HAVE_SYNC_BUILTINS.
+ (struct gomp_team): Likewise. Add work_share_list_free_lock
+ ifndef HAVE_SYNC_BUILTINS.
+ * team.c (gomp_new_team): If HAVE_SYNC_BUILTINS is not defined,
+ don't initialize single_count, but instead initialize
+ work_share_list_free_lock.
+ (free_team): Destroy work_share_list_free_lock ifndef
+ HAVE_SYNC_BUILTINS.
+ (gomp_team_start): Don't initialize ts.single_count ifndef
+ HAVE_SYNC_BUILTINS.
+ * work.c (alloc_work_share, free_work_share): Use
+ work_share_list_free_lock instead of atomic chaining ifndef
+ HAVE_SYNC_BUILTINS.
+
+2008-03-26 Jakub Jelinek <jakub@redhat.com>
+
+ * loop.c (gomp_loop_init): Fix GFS_DYNAMIC ws->mode setting.
+ * testsuite/libgomp.c/loop-4.c: New test.
+
+ * libgomp.h (struct gomp_team_state): Add single_count field.
+ (struct gomp_team): Likewise.
+ * team.c (gomp_new_team): Clear single_count.
+ (gomp_team_start): Likewise.
+ * single.c (GOMP_single_start): Rewritten if HAVE_SYNC_BUILTINS.
+
+2008-03-25 Jakub Jelinek <jakub@redhat.com>
+
+ * team.c (gomp_thread_start): Don't clear ts.static_trip here.
+ * loop.c (gomp_loop_static_start, gomp_loop_dynamic_start): Clear
+ ts.static_trip here.
+ * work.c (gomp_work_share_start): Don't clear ts.static_trip here.
+
+2008-03-21 Jakub Jelinek <jakub@redhat.com>
+
+ * libgomp.h: Include ptrlock.h.
+ (struct gomp_work_share): Reshuffle fields. Add next_alloc,
+ next_ws, next_free and inline_ordered_team_ids fields, change
+ ordered_team_ids into pointer from flexible array member.
+ (struct gomp_team_state): Add last_work_share field, remove
+ work_share_generation.
+ (struct gomp_team): Remove work_share_lock, generation_mask,
+ oldest_live_gen, num_live_gen and init_work_shares fields, add
+ work work_share_list_alloc, work_share_list_free and work_share_chunk
+ fields. Change work_shares from pointer to pointers into an array.
+ (gomp_new_team): New prototype.
+ (gomp_team_start): Change type of last argument.
+ (gomp_new_work_share): Removed.
+ (gomp_init_work_share, gomp_fini_work_share): New prototypes.
+ (gomp_work_share_init_done): New static inline.
+ * team.c (gomp_thread_start): Clear ts.last_work_share, don't clear
+ ts.work_share_generation.
+ (new_team): Removed.
+ (gomp_new_team): New function.
+ (free_team): Free gomp_work_share blocks chained through next_alloc,
+ instead of freeing work_shares and destroying work_share_lock.
+ (gomp_team_start): Change last argument from ws to team, don't create
+ new team, set ts.work_share to &team->work_shares[0] and clear
+ ts.last_work_share. Don't clear ts.work_share_generation.
+ (gomp_team_end): Call gomp_fini_work_share.
+ * work.c (gomp_new_work_share): Removed.
+ (alloc_work_share, gomp_init_work_share, gomp_fini_work_share): New
+ functions.
+ (free_work_share): Add team argument. Call gomp_fini_work_share
+ and then either free ws if orphaned, or put it into
+ work_share_list_free list of the current team.
+ (gomp_work_share_start, gomp_work_share_end,
+ gomp_work_share_end_nowait): Rewritten.
+ * sections.c (GOMP_sections_start): Call gomp_work_share_init_done
+ after gomp_sections_init. If HAVE_SYNC_BUILTINS, call
+ gomp_iter_dynamic_next instead of the _locked variant and don't take
+ lock around it, otherwise acquire it before calling
+ gomp_iter_dynamic_next_locked.
+ (GOMP_sections_next): If HAVE_SYNC_BUILTINS, call
+ gomp_iter_dynamic_next instead of the _locked variant and don't take
+ lock around it.
+ (GOMP_parallel_sections_start): Call gomp_new_team instead of
+ gomp_new_work_share. Call gomp_sections_init on &team->work_shares[0].
+ Adjust gomp_team_start caller.
+ * loop.c (gomp_loop_static_start, gomp_loop_ordered_static_start): Call
+ gomp_work_share_init_done after gomp_loop_init. Don't unlock ws->lock.
+ (gomp_loop_dynamic_start, gomp_loop_guided_start): Call
+ gomp_work_share_init_done after gomp_loop_init. If HAVE_SYNC_BUILTINS,
+ don't unlock ws->lock, otherwise lock it.
+ (gomp_loop_ordered_dynamic_start, gomp_loop_ordered_guided_start): Call
+ gomp_work_share_init_done after gomp_loop_init. Lock ws->lock.
+ (gomp_parallel_loop_start): Call gomp_new_team instead of
+ gomp_new_work_share. Call gomp_loop_init on &team->work_shares[0].
+ Adjust gomp_team_start caller.
+ * single.c (GOMP_single_start, GOMP_single_copy_start): Call
+ gomp_work_share_init_done if gomp_work_share_start returned true.
+ Don't unlock ws->lock.
+ * parallel.c (GOMP_parallel_start): Call gomp_new_team and pass that
+ as last argument to gomp_team_start.
+ * config/linux/ptrlock.c: New file.
+ * config/linux/ptrlock.h: New file.
+ * config/posix/ptrlock.c: New file.
+ * config/posix/ptrlock.h: New file.
+ * Makefile.am (libgomp_la_SOURCES): Add ptrlock.c.
+ * Makefile.in: Regenerated.
+ * testsuite/Makefile.in: Regenerated.
+
+2008-03-19 Jakub Jelinek <jakub@redhat.com>
+
+ * libgomp.h (gomp_active_wait_policy): Remove decl.
+ (gomp_throttled_spin_count_var, gomp_available_cpus,
+ gomp_managed_threads): New extern decls.
+ * team.c (gomp_team_start, gomp_team_end): If number of threads
+ changed, adjust atomically gomp_managed_threads.
+ * env.c (gomp_active_wait_policy, gomp_block_time_var): Remove.
+ (gomp_throttled_spin_count_var, gomp_available_cpus,
+ gomp_managed_threads): New variables.
+ (parse_millis): Removed.
+ (parse_spincount): New function.
+ (parse_wait_policy): Return -1/0/1 instead of setting
+ gomp_active_wait_policy.
+ (initialize_env): Call gomp_init_num_threads unconditionally.
+ Initialize gomp_available_cpus. Call parse_spincount instead
+ of parse_millis, initialize gomp_{,throttled_}spin_count_var
+ depending on presence and value of OMP_WAIT_POLICY and
+ GOMP_SPINCOUNT env vars.
+ * config/linux/wait.h (do_wait): Use gomp_throttled_spin_count_var
+ instead of gomp_spin_count_var if gomp_managed_threads >
+ gomp_available_cpus.
+
+ * config/linux/wait.h: Include errno.h.
+ (FUTEX_WAIT, FUTEX_WAKE, FUTEX_PRIVATE_FLAG): Define.
+ (gomp_futex_wake, gomp_futex_wait): New extern decls.
+ * config/linux/mutex.c (gomp_futex_wake, gomp_futex_wait): New
+ variables.
+ * config/linux/powerpc/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
+ (sys_futex0): Return error code.
+ (futex_wake, futex_wait): If ENOSYS was returned, clear
+ FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
+ * config/linux/alpha/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
+ (futex_wake, futex_wait): If ENOSYS was returned, clear
+ FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
+ * config/linux/x86/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
+ (sys_futex0): Return error code.
+ (futex_wake, futex_wait): If ENOSYS was returned, clear
+ FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
+ * config/linux/s390/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
+ (sys_futex0): Return error code.
+ (futex_wake, futex_wait): If ENOSYS was returned, clear
+ FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
+ * config/linux/ia64/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
+ (sys_futex0): Return error code.
+ (futex_wake, futex_wait): If ENOSYS was returned, clear
+ FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
+ * config/linux/sparc/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
+ (sys_futex0): Return error code.
+ (futex_wake, futex_wait): If ENOSYS was returned, clear
+ FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
+
+2008-03-18 Jakub Jelinek <jakub@redhat.com>
+
+ * libgomp.h (struct gomp_work_share): Add mode field. Put lock and
+ next into a different cache line from most of the write-once fields.
+ * loop.c: Include limits.h.
+ (gomp_loop_init): For GFS_DYNAMIC, multiply ws->chunk_size by incr.
+ If adding ws->chunk_size nthreads + 1 times after end won't
+ overflow, set ws->mode to 1.
+ * iter.c (gomp_iter_dynamic_next_locked): Don't multiply
+ ws->chunk_size by incr.
+ (gomp_iter_dynamic_next): Likewise. If ws->mode, use more efficient
+ code.
+ * work.c: Include stddef.h.
+ (gomp_new_work_share): Use offsetof rather than sizeof.
+
+2008-03-17 Jakub Jelinek <jakub@redhat.com>
+
+ * libgomp.h (struct gomp_team): Change ordered_release field
+ into gomp_sem_t ** from flexible array member. Add implicit_task
+ and initial_work_shares fields.
+ (gomp_new_task): Removed.
+ (gomp_init_task): New prototype.
+ * team.c (new_team): Allocate implicit_task for each thread
+ and initial work_shares together with gomp_team allocation.
+ (free_team): Only free work_shares if it is not init_work_shares.
+ (gomp_team_start): Use gomp_init_task instead of gomp_new_task,
+ set thr->task to the corresponding implicit_task array entry.
+ * task.c (gomp_new_task): Removed.
+ (gomp_init_task): New function.
+ (gomp_end_task): Don't free the task.
+ (GOMP_task): Allocate struct gomp_task on the stack, call
+ gomp_init_task rather than gomp_new_task.
+ * work.c (gomp_work_share_start): If work_shares ==
+ init_work_shares, gomp_malloc + memcpy rather than gomp_realloc.
+
+2008-03-15 Jakub Jelinek <jakub@redhat.com>
+ Ulrich Drepper <drepper@redhat.com>
+
+ * config/linux/bar.h (gomp_barrier_state_t): Rewritten.
+ (gomp_barrier_state_t): Change to unsigned int.
+ (gomp_barrier_init, gomp_barrier_reinit, gomp_barrier_destroy,
+ gomp_barrier_wait_start, gomp_barrier_last_thread): Rewritten.
+ (gomp_barrier_wait_last): Prototype rather than inline.
+ * config/linux/bar.c (gomp_barrier_wait_end): Rewritten.
+ (gomp_barrier_wait_last): New function.
+
+2008-03-15 Jakub Jelinek <jakub@redhat.com>
+
+ * team.c (gomp_thread_start): Use gomp_barrier_wait_last instead
+ of gomp_barrier_wait.
+ * env.c (gomp_block_time_var, gomp_spin_count_var): New variables.
+ (parse_millis): New function.
+ (initialize_env): Handle GOMP_BLOCKTIME env var.
+ * libgomp.h (struct gomp_team): Move close to the end of the struct.
+ (gomp_spin_count_var): New extern var decl.
+ * work.c (gomp_work_share_end): Use gomp_barrier_state_t bstate
+ var instead of bool last, call gomp_barrier_last_thread to check
+ for last thread, pass bstate to gomp_barrier_wait_end.
+ * config/linux/wait.h: New file.
+ * config/linux/mutex.c: Include wait.h instead of libgomp.h and
+ futex.h.
+ (gomp_mutex_lock_slow): Call do_wait instead of futex_wait.
+ * config/linux/bar.c: Include wait.h instead of libgomp.h and
+ futex.h.
+ (gomp_barrier_wait_end): Change second argument to
+ gomp_barrier_state_t. Call do_wait instead of futex_wait.
+ * config/linux/sem.c: Include wait.h instead of libgomp.h and
+ futex.h.
+ (gomp_sem_wait_slow): Call do_wait instead of futex_wait.
+ * config/linux/lock.c: Include wait.h instead of libgomp.h and
+ futex.h.
+ (gomp_set_nest_lock_25): Call do_wait instead of futex_wait.
+ * config/linux/affinity.c: Assume HAVE_SYNC_BUILTINS.
+ * config/linux/bar.h (gomp_barrier_state_t): New typedef.
+ (gomp_barrier_wait_end): Change second argument to
+ gomp_barrier_state_t.
+ (gomp_barrier_wait_start): Return gomp_barrier_state_t.
+ (gomp_barrier_last_thread, gomp_barrier_wait_last): New static
+ inlines.
+ * config/linux/powerpc/futex.h (cpu_relax, atomic_write_barrier): New
+ static inlines.
+ * config/linux/alpha/futex.h (cpu_relax, atomic_write_barrier):
+ Likewise.
+ * config/linux/x86/futex.h (cpu_relax, atomic_write_barrier):
+ Likewise.
+ * config/linux/s390/futex.h (cpu_relax, atomic_write_barrier):
+ Likewise.
+ * config/linux/ia64/futex.h (cpu_relax, atomic_write_barrier):
+ Likewise.
+ * config/linux/sparc/futex.h (cpu_relax, atomic_write_barrier):
+ Likewise.
+ * config/posix/bar.c (gomp_barrier_wait_end): Change second argument
+ to gomp_barrier_state_t.
+ * config/posix/bar.h (gomp_barrier_state_t): New typedef.
+ (gomp_barrier_wait_end): Change second argument to
+ gomp_barrier_state_t.
+ (gomp_barrier_wait_start): Return gomp_barrier_state_t.
+ (gomp_barrier_last_thread, gomp_barrier_wait_last): New static
+ inlines.
+
+--- libgomp/parallel.c.jj 2007-12-07 14:41:01.000000000 +0100
++++ libgomp/parallel.c 2008-03-26 15:32:06.000000000 +0100
+@@ -68,7 +68,7 @@ void
+ GOMP_parallel_start (void (*fn) (void *), void *data, unsigned num_threads)
+ {
+ num_threads = gomp_resolve_num_threads (num_threads);
+- gomp_team_start (fn, data, num_threads, NULL);
++ gomp_team_start (fn, data, num_threads, gomp_new_team (num_threads));
+ }
+
+ void
+--- libgomp/sections.c.jj 2007-12-07 14:41:01.000000000 +0100
++++ libgomp/sections.c 2008-03-26 15:33:06.000000000 +0100
+@@ -59,14 +59,24 @@ GOMP_sections_start (unsigned count)
+ long s, e, ret;
+
+ if (gomp_work_share_start (false))
+- gomp_sections_init (thr->ts.work_share, count);
++ {
++ gomp_sections_init (thr->ts.work_share, count);
++ gomp_work_share_init_done ();
++ }
+
++#ifdef HAVE_SYNC_BUILTINS
++ if (gomp_iter_dynamic_next (&s, &e))
++ ret = s;
++ else
++ ret = 0;
++#else
++ gomp_mutex_lock (&thr->ts.work_share->lock);
+ if (gomp_iter_dynamic_next_locked (&s, &e))
+ ret = s;
+ else
+ ret = 0;
+-
+ gomp_mutex_unlock (&thr->ts.work_share->lock);
++#endif
+
+ return ret;
+ }
+@@ -83,15 +93,23 @@ GOMP_sections_start (unsigned count)
+ unsigned
+ GOMP_sections_next (void)
+ {
+- struct gomp_thread *thr = gomp_thread ();
+ long s, e, ret;
+
++#ifdef HAVE_SYNC_BUILTINS
++ if (gomp_iter_dynamic_next (&s, &e))
++ ret = s;
++ else
++ ret = 0;
++#else
++ struct gomp_thread *thr = gomp_thread ();
++
+ gomp_mutex_lock (&thr->ts.work_share->lock);
+ if (gomp_iter_dynamic_next_locked (&s, &e))
+ ret = s;
+ else
+ ret = 0;
+ gomp_mutex_unlock (&thr->ts.work_share->lock);
++#endif
+
+ return ret;
+ }
+@@ -103,15 +121,15 @@ void
+ GOMP_parallel_sections_start (void (*fn) (void *), void *data,
+ unsigned num_threads, unsigned count)
+ {
+- struct gomp_work_share *ws;
++ struct gomp_team *team;
+
+ num_threads = gomp_resolve_num_threads (num_threads);
+ if (gomp_dyn_var && num_threads > count)
+ num_threads = count;
+
+- ws = gomp_new_work_share (false, num_threads);
+- gomp_sections_init (ws, count);
+- gomp_team_start (fn, data, num_threads, ws);
++ team = gomp_new_team (num_threads);
++ gomp_sections_init (&team->work_shares[0], count);
++ gomp_team_start (fn, data, num_threads, team);
+ }
+
+ /* The GOMP_section_end* routines are called after the thread is told
+--- libgomp/env.c.jj 2007-12-07 14:41:01.000000000 +0100
++++ libgomp/env.c 2008-03-26 16:40:26.000000000 +0100
+@@ -44,6 +44,11 @@ enum gomp_schedule_type gomp_run_sched_v
+ unsigned long gomp_run_sched_chunk = 1;
+ unsigned short *gomp_cpu_affinity;
+ size_t gomp_cpu_affinity_len;
++#ifndef HAVE_SYNC_BUILTINS
++gomp_mutex_t gomp_remaining_threads_lock;
++#endif
++unsigned long gomp_available_cpus = 1, gomp_managed_threads = 1;
++unsigned long long gomp_spin_count_var, gomp_throttled_spin_count_var;
+
+ /* Parse the OMP_SCHEDULE environment variable. */
+
+@@ -147,6 +152,79 @@ parse_unsigned_long (const char *name, u
+ return false;
+ }
+
++/* Parse the GOMP_SPINCOUNT environment varible. Return true if one was
++ present and it was successfully parsed. */
++
++static bool
++parse_spincount (const char *name, unsigned long long *pvalue)
++{
++ char *env, *end;
++ unsigned long long value, mult = 1;
++
++ env = getenv (name);
++ if (env == NULL)
++ return false;
++
++ while (isspace ((unsigned char) *env))
++ ++env;
++ if (*env == '\0')
++ goto invalid;
++
++ if (strncasecmp (env, "infinite", 8) == 0
++ || strncasecmp (env, "infinity", 8) == 0)
++ {
++ value = ~0ULL;
++ end = env + 8;
++ goto check_tail;
++ }
++
++ errno = 0;
++ value = strtoull (env, &end, 10);
++ if (errno)
++ goto invalid;
++
++ while (isspace ((unsigned char) *end))
++ ++end;
++ if (*end != '\0')
++ {
++ switch (tolower (*end))
++ {
++ case 'k':
++ mult = 1000LL;
++ break;
++ case 'm':
++ mult = 1000LL * 1000LL;
++ break;
++ case 'g':
++ mult = 1000LL * 1000LL * 1000LL;
++ break;
++ case 't':
++ mult = 1000LL * 1000LL * 1000LL * 1000LL;
++ break;
++ default:
++ goto invalid;
++ }
++ ++end;
++ check_tail:
++ while (isspace ((unsigned char) *end))
++ ++end;
++ if (*end != '\0')
++ goto invalid;
++ }
++
++ if (value > ~0ULL / mult)
++ value = ~0ULL;
++ else
++ value *= mult;
++
++ *pvalue = value;
++ return true;
++
++ invalid:
++ gomp_error ("Invalid value for environment variable %s", name);
++ return false;
++}
++
+ /* Parse a boolean value for environment variable NAME and store the
+ result in VALUE. */
+
+@@ -281,10 +359,25 @@ initialize_env (void)
+ parse_schedule ();
+ parse_boolean ("OMP_DYNAMIC", &gomp_dyn_var);
+ parse_boolean ("OMP_NESTED", &gomp_nest_var);
++ gomp_init_num_threads ();
++ gomp_available_cpus = gomp_nthreads_var;
+ if (!parse_unsigned_long ("OMP_NUM_THREADS", &gomp_nthreads_var))
+- gomp_init_num_threads ();
++ gomp_nthreads_var = gomp_available_cpus;
+ if (parse_affinity ())
+ gomp_init_affinity ();
++ if (!parse_spincount ("GOMP_SPINCOUNT", &gomp_spin_count_var))
++ {
++ /* Using a rough estimation of 100000 spins per msec,
++ use 200 msec blocking.
++ Depending on the CPU speed, this can be e.g. 5 times longer
++ or 5 times shorter. */
++ gomp_spin_count_var = 20000000LL;
++ }
++ /* gomp_throttled_spin_count_var is used when there are more libgomp
++ managed threads than available CPUs. Use very short spinning. */
++ gomp_throttled_spin_count_var = 100LL;
++ if (gomp_throttled_spin_count_var > gomp_spin_count_var)
++ gomp_throttled_spin_count_var = gomp_spin_count_var;
+
+ /* Not strictly environment related, but ordering constructors is tricky. */
+ pthread_attr_init (&gomp_thread_attr);
+--- libgomp/libgomp.h.jj 2007-12-07 14:41:01.000000000 +0100
++++ libgomp/libgomp.h 2008-03-27 12:21:51.000000000 +0100
+@@ -50,6 +50,7 @@
+ #include "sem.h"
+ #include "mutex.h"
+ #include "bar.h"
++#include "ptrlock.h"
+
+
+ /* This structure contains the data to control one work-sharing construct,
+@@ -70,6 +71,8 @@ struct gomp_work_share
+ If this is a SECTIONS construct, this value will always be DYNAMIC. */
+ enum gomp_schedule_type sched;
+
++ int mode;
++
+ /* This is the chunk_size argument to the SCHEDULE clause. */
+ long chunk_size;
+
+@@ -81,17 +84,38 @@ struct gomp_work_share
+ is always 1. */
+ long incr;
+
+- /* This lock protects the update of the following members. */
+- gomp_mutex_t lock;
++ /* This is a circular queue that details which threads will be allowed
++ into the ordered region and in which order. When a thread allocates
++ iterations on which it is going to work, it also registers itself at
++ the end of the array. When a thread reaches the ordered region, it
++ checks to see if it is the one at the head of the queue. If not, it
++ blocks on its RELEASE semaphore. */
++ unsigned *ordered_team_ids;
+
+- union {
+- /* This is the next iteration value to be allocated. In the case of
+- GFS_STATIC loops, this the iteration start point and never changes. */
+- long next;
++ /* This is the number of threads that have registered themselves in
++ the circular queue ordered_team_ids. */
++ unsigned ordered_num_used;
+
+- /* This is the returned data structure for SINGLE COPYPRIVATE. */
+- void *copyprivate;
+- };
++ /* This is the team_id of the currently acknowledged owner of the ordered
++ section, or -1u if the ordered section has not been acknowledged by
++ any thread. This is distinguished from the thread that is *allowed*
++ to take the section next. */
++ unsigned ordered_owner;
++
++ /* This is the index into the circular queue ordered_team_ids of the
++ current thread that's allowed into the ordered reason. */
++ unsigned ordered_cur;
++
++ /* This is a chain of allocated gomp_work_share blocks, valid only
++ in the first gomp_work_share struct in the block. */
++ struct gomp_work_share *next_alloc;
++
++ /* The above fields are written once during workshare initialization,
++ or related to ordered worksharing. Make sure the following fields
++ are in a different cache line. */
++
++ /* This lock protects the update of the following members. */
++ gomp_mutex_t lock __attribute__((aligned (64)));
+
+ /* This is the count of the number of threads that have exited the work
+ share construct. If the construct was marked nowait, they have moved on
+@@ -99,27 +123,28 @@ struct gomp_work_share
+ of the team to exit the work share construct must deallocate it. */
+ unsigned threads_completed;
+
+- /* This is the index into the circular queue ordered_team_ids of the
+- current thread that's allowed into the ordered reason. */
+- unsigned ordered_cur;
++ union {
++ /* This is the next iteration value to be allocated. In the case of
++ GFS_STATIC loops, this the iteration start point and never changes. */
++ long next;
+
+- /* This is the number of threads that have registered themselves in
+- the circular queue ordered_team_ids. */
+- unsigned ordered_num_used;
++ /* This is the returned data structure for SINGLE COPYPRIVATE. */
++ void *copyprivate;
++ };
+
+- /* This is the team_id of the currently acknoledged owner of the ordered
+- section, or -1u if the ordered section has not been acknowledged by
+- any thread. This is distinguished from the thread that is *allowed*
+- to take the section next. */
+- unsigned ordered_owner;
++ union {
++ /* Link to gomp_work_share struct for next work sharing construct
++ encountered after this one. */
++ gomp_ptrlock_t next_ws;
++
++ /* gomp_work_share structs are chained in the free work share cache
++ through this. */
++ struct gomp_work_share *next_free;
++ };
+
+- /* This is a circular queue that details which threads will be allowed
+- into the ordered region and in which order. When a thread allocates
+- iterations on which it is going to work, it also registers itself at
+- the end of the array. When a thread reaches the ordered region, it
+- checks to see if it is the one at the head of the queue. If not, it
+- blocks on its RELEASE semaphore. */
+- unsigned ordered_team_ids[];
++ /* If only few threads are in the team, ordered_team_ids can point
++ to this array which fills the padding at the end of this struct. */
++ unsigned inline_ordered_team_ids[0];
+ };
+
+ /* This structure contains all of the thread-local data associated with
+@@ -133,21 +158,24 @@ struct gomp_team_state
+
+ /* This is the work share construct which this thread is currently
+ processing. Recall that with NOWAIT, not all threads may be
+- processing the same construct. This value is NULL when there
+- is no construct being processed. */
++ processing the same construct. */
+ struct gomp_work_share *work_share;
+
++ /* This is the previous work share construct or NULL if there wasn't any.
++ When all threads are done with the current work sharing construct,
++ the previous one can be freed. The current one can't, as its
++ next_ws field is used. */
++ struct gomp_work_share *last_work_share;
++
+ /* This is the ID of this thread within the team. This value is
+ guaranteed to be between 0 and N-1, where N is the number of
+ threads in the team. */
+ unsigned team_id;
+
+- /* The work share "generation" is a number that increases by one for
+- each work share construct encountered in the dynamic flow of the
+- program. It is used to find the control data for the work share
+- when encountering it for the first time. This particular number
+- reflects the generation of the work_share member of this struct. */
+- unsigned work_share_generation;
++#ifdef HAVE_SYNC_BUILTINS
++ /* Number of single stmts encountered. */
++ unsigned long single_count;
++#endif
+
+ /* For GFS_RUNTIME loops that resolved to GFS_STATIC, this is the
+ trip number through the loop. So first time a particular loop
+@@ -163,41 +191,53 @@ struct gomp_team_state
+
+ struct gomp_team
+ {
+- /* This lock protects access to the following work shares data structures. */
+- gomp_mutex_t work_share_lock;
+-
+- /* This is a dynamically sized array containing pointers to the control
+- structs for all "live" work share constructs. Here "live" means that
+- the construct has been encountered by at least one thread, and not
+- completed by all threads. */
+- struct gomp_work_share **work_shares;
+-
+- /* The work_shares array is indexed by "generation & generation_mask".
+- The mask will be 2**N - 1, where 2**N is the size of the array. */
+- unsigned generation_mask;
+-
+- /* These two values define the bounds of the elements of the work_shares
+- array that are currently in use. */
+- unsigned oldest_live_gen;
+- unsigned num_live_gen;
+-
+ /* This is the number of threads in the current team. */
+ unsigned nthreads;
+
++ /* This is number of gomp_work_share structs that have been allocated
++ as a block last time. */
++ unsigned work_share_chunk;
++
+ /* This is the saved team state that applied to a master thread before
+ the current thread was created. */
+ struct gomp_team_state prev_ts;
+
+- /* This barrier is used for most synchronization of the team. */
+- gomp_barrier_t barrier;
+-
+ /* This semaphore should be used by the master thread instead of its
+ "native" semaphore in the thread structure. Required for nested
+ parallels, as the master is a member of two teams. */
+ gomp_sem_t master_release;
+
+- /* This array contains pointers to the release semaphore of the threads
+- in the team. */
++ /* List of gomp_work_share structs chained through next_free fields.
++ This is populated and taken off only by the first thread in the
++ team encountering a new work sharing construct, in a critical
++ section. */
++ struct gomp_work_share *work_share_list_alloc;
++
++ /* List of gomp_work_share structs freed by free_work_share. New
++ entries are atomically added to the start of the list, and
++ alloc_work_share can safely only move all but the first entry
++ to work_share_list alloc, as free_work_share can happen concurrently
++ with alloc_work_share. */
++ struct gomp_work_share *work_share_list_free;
++
++#ifdef HAVE_SYNC_BUILTINS
++ /* Number of simple single regions encountered by threads in this
++ team. */
++ unsigned long single_count;
++#else
++ /* Mutex protecting addition of workshares to work_share_list_free. */
++ gomp_mutex_t work_share_list_free_lock;
++#endif
++
++ /* This barrier is used for most synchronization of the team. */
++ gomp_barrier_t barrier;
++
++ /* Initial work shares, to avoid allocating any gomp_work_share
++ structs in the common case. */
++ struct gomp_work_share work_shares[8];
++
++ /* This is an array with pointers to the release semaphore
++ of the threads in the team. */
+ gomp_sem_t *ordered_release[];
+ };
+
+@@ -242,6 +282,11 @@ extern bool gomp_dyn_var;
+ extern bool gomp_nest_var;
+ extern enum gomp_schedule_type gomp_run_sched_var;
+ extern unsigned long gomp_run_sched_chunk;
++#ifndef HAVE_SYNC_BUILTINS
++extern gomp_mutex_t gomp_remaining_threads_lock;
++#endif
++extern unsigned long long gomp_spin_count_var, gomp_throttled_spin_count_var;
++extern unsigned long gomp_available_cpus, gomp_managed_threads;
+
+ /* The attributes to be used during thread creation. */
+ extern pthread_attr_t gomp_thread_attr;
+@@ -306,17 +351,27 @@ extern unsigned gomp_dynamic_max_threads
+
+ /* team.c */
+
++extern struct gomp_team *gomp_new_team (unsigned);
+ extern void gomp_team_start (void (*) (void *), void *, unsigned,
+- struct gomp_work_share *);
++ struct gomp_team *);
+ extern void gomp_team_end (void);
+
+ /* work.c */
+
+-extern struct gomp_work_share * gomp_new_work_share (bool, unsigned);
++extern void gomp_init_work_share (struct gomp_work_share *, bool, unsigned);
++extern void gomp_fini_work_share (struct gomp_work_share *);
+ extern bool gomp_work_share_start (bool);
+ extern void gomp_work_share_end (void);
+ extern void gomp_work_share_end_nowait (void);
+
++static inline void
++gomp_work_share_init_done (void)
++{
++ struct gomp_thread *thr = gomp_thread ();
++ if (__builtin_expect (thr->ts.last_work_share != NULL, 1))
++ gomp_ptrlock_set (&thr->ts.last_work_share->next_ws, thr->ts.work_share);
++}
++
+ #ifdef HAVE_ATTRIBUTE_VISIBILITY
+ # pragma GCC visibility pop
+ #endif
+--- libgomp/iter.c.jj 2008-03-26 14:48:34.000000000 +0100
++++ libgomp/iter.c 2008-03-26 15:11:23.000000000 +0100
+@@ -1,4 +1,4 @@
+-/* Copyright (C) 2005 Free Software Foundation, Inc.
++/* Copyright (C) 2005, 2008 Free Software Foundation, Inc.
+ Contributed by Richard Henderson <rth@redhat.com>.
+
+ This file is part of the GNU OpenMP Library (libgomp).
+@@ -154,7 +154,7 @@ gomp_iter_dynamic_next_locked (long *pst
+ if (start == ws->end)
+ return false;
+
+- chunk = ws->chunk_size * ws->incr;
++ chunk = ws->chunk_size;
+ left = ws->end - start;
+ if (ws->incr < 0)
+ {
+@@ -186,11 +186,38 @@ gomp_iter_dynamic_next (long *pstart, lo
+ struct gomp_work_share *ws = thr->ts.work_share;
+ long start, end, nend, chunk, incr;
+
+- start = ws->next;
+ end = ws->end;
+ incr = ws->incr;
+- chunk = ws->chunk_size * incr;
++ chunk = ws->chunk_size;
++
++ if (__builtin_expect (ws->mode, 1))
++ {
++ long tmp = __sync_fetch_and_add (&ws->next, chunk);
++ if (incr > 0)
++ {
++ if (tmp >= end)
++ return false;
++ nend = tmp + chunk;
++ if (nend > end)
++ nend = end;
++ *pstart = tmp;
++ *pend = nend;
++ return true;
++ }
++ else
++ {
++ if (tmp <= end)
++ return false;
++ nend = tmp + chunk;
++ if (nend < end)
++ nend = end;
++ *pstart = tmp;
++ *pend = nend;
++ return true;
++ }
++ }
+
++ start = ws->next;
+ while (1)
+ {
+ long left = end - start;
+--- libgomp/work.c.jj 2007-12-07 14:41:01.000000000 +0100
++++ libgomp/work.c 2008-03-27 12:21:51.000000000 +0100
+@@ -1,4 +1,4 @@
+-/* Copyright (C) 2005 Free Software Foundation, Inc.
++/* Copyright (C) 2005, 2008 Free Software Foundation, Inc.
+ Contributed by Richard Henderson <rth@redhat.com>.
+
+ This file is part of the GNU OpenMP Library (libgomp).
+@@ -29,39 +29,138 @@
+ of threads. */
+
+ #include "libgomp.h"
++#include <stddef.h>
+ #include <stdlib.h>
+ #include <string.h>
+
+
+-/* Create a new work share structure. */
++/* Allocate a new work share structure, preferably from current team's
++ free gomp_work_share cache. */
+
+-struct gomp_work_share *
+-gomp_new_work_share (bool ordered, unsigned nthreads)
++static struct gomp_work_share *
++alloc_work_share (struct gomp_team *team)
+ {
+ struct gomp_work_share *ws;
+- size_t size;
++ unsigned int i;
+
+- size = sizeof (*ws);
+- if (ordered)
+- size += nthreads * sizeof (ws->ordered_team_ids[0]);
++ /* This is called in a critical section. */
++ if (team->work_share_list_alloc != NULL)
++ {
++ ws = team->work_share_list_alloc;
++ team->work_share_list_alloc = ws->next_free;
++ return ws;
++ }
+
+- ws = gomp_malloc_cleared (size);
+- gomp_mutex_init (&ws->lock);
+- ws->ordered_owner = -1;
++#ifdef HAVE_SYNC_BUILTINS
++ ws = team->work_share_list_free;
++ /* We need atomic read from work_share_list_free,
++ as free_work_share can be called concurrently. */
++ __asm ("" : "+r" (ws));
++
++ if (ws && ws->next_free)
++ {
++ struct gomp_work_share *next = ws->next_free;
++ ws->next_free = NULL;
++ team->work_share_list_alloc = next->next_free;
++ return next;
++ }
++#else
++ gomp_mutex_lock (&team->work_share_list_free_lock);
++ ws = team->work_share_list_free;
++ if (ws)
++ {
++ team->work_share_list_alloc = ws->next_free;
++ team->work_share_list_free = NULL;
++ gomp_mutex_unlock (&team->work_share_list_free_lock);
++ return ws;
++ }
++ gomp_mutex_unlock (&team->work_share_list_free_lock);
++#endif
+
++ team->work_share_chunk *= 2;
++ ws = gomp_malloc (team->work_share_chunk * sizeof (struct gomp_work_share));
++ ws->next_alloc = team->work_shares[0].next_alloc;
++ team->work_shares[0].next_alloc = ws;
++ team->work_share_list_alloc = &ws[1];
++ for (i = 1; i < team->work_share_chunk - 1; i++)
++ ws[i].next_free = &ws[i + 1];
++ ws[i].next_free = NULL;
+ return ws;
+ }
+
++/* Initialize an already allocated struct gomp_work_share.
++ This shouldn't touch the next_alloc field. */
++
++void
++gomp_init_work_share (struct gomp_work_share *ws, bool ordered,
++ unsigned nthreads)
++{
++ gomp_mutex_init (&ws->lock);
++ if (__builtin_expect (ordered, 0))
++ {
++#define INLINE_ORDERED_TEAM_IDS_CNT \
++ ((sizeof (struct gomp_work_share) \
++ - offsetof (struct gomp_work_share, inline_ordered_team_ids)) \
++ / sizeof (((struct gomp_work_share *) 0)->inline_ordered_team_ids[0]))
++
++ if (nthreads > INLINE_ORDERED_TEAM_IDS_CNT)
++ ws->ordered_team_ids
++ = gomp_malloc (nthreads * sizeof (*ws->ordered_team_ids));
++ else
++ ws->ordered_team_ids = ws->inline_ordered_team_ids;
++ memset (ws->ordered_team_ids, '\0',
++ nthreads * sizeof (*ws->ordered_team_ids));
++ ws->ordered_num_used = 0;
++ ws->ordered_owner = -1;
++ ws->ordered_cur = 0;
++ }
++ else
++ ws->ordered_team_ids = NULL;
++ gomp_ptrlock_init (&ws->next_ws, NULL);
++ ws->threads_completed = 0;
++}
+
+-/* Free a work share structure. */
++/* Do any needed destruction of gomp_work_share fields before it
++ is put back into free gomp_work_share cache or freed. */
+
+-static void
+-free_work_share (struct gomp_work_share *ws)
++void
++gomp_fini_work_share (struct gomp_work_share *ws)
+ {
+ gomp_mutex_destroy (&ws->lock);
+- free (ws);
++ if (ws->ordered_team_ids != ws->inline_ordered_team_ids)
++ free (ws->ordered_team_ids);
++ gomp_ptrlock_destroy (&ws->next_ws);
+ }
+
++/* Free a work share struct, if not orphaned, put it into current
++ team's free gomp_work_share cache. */
++
++static inline void
++free_work_share (struct gomp_team *team, struct gomp_work_share *ws)
++{
++ gomp_fini_work_share (ws);
++ if (__builtin_expect (team == NULL, 0))
++ free (ws);
++ else
++ {
++ struct gomp_work_share *next_ws;
++#ifdef HAVE_SYNC_BUILTINS
++ do
++ {
++ next_ws = team->work_share_list_free;
++ ws->next_free = next_ws;
++ }
++ while (!__sync_bool_compare_and_swap (&team->work_share_list_free,
++ next_ws, ws));
++#else
++ gomp_mutex_lock (&team->work_share_list_free_lock);
++ next_ws = team->work_share_list_free;
++ ws->next_free = next_ws;
++ team->work_share_list_free = ws;
++ gomp_mutex_unlock (&team->work_share_list_free_lock);
++#endif
++ }
++}
+
+ /* The current thread is ready to begin the next work sharing construct.
+ In all cases, thr->ts.work_share is updated to point to the new
+@@ -74,71 +173,34 @@ gomp_work_share_start (bool ordered)
+ struct gomp_thread *thr = gomp_thread ();
+ struct gomp_team *team = thr->ts.team;
+ struct gomp_work_share *ws;
+- unsigned ws_index, ws_gen;
+
+ /* Work sharing constructs can be orphaned. */
+ if (team == NULL)
+ {
+- ws = gomp_new_work_share (ordered, 1);
++ ws = gomp_malloc (sizeof (*ws));
++ gomp_init_work_share (ws, ordered, 1);
+ thr->ts.work_share = ws;
+- thr->ts.static_trip = 0;
+- gomp_mutex_lock (&ws->lock);
+- return true;
++ return ws;
+ }
+
+- gomp_mutex_lock (&team->work_share_lock);
+-
+- /* This thread is beginning its next generation. */
+- ws_gen = ++thr->ts.work_share_generation;
+-
+- /* If this next generation is not newer than any other generation in
+- the team, then simply reference the existing construct. */
+- if (ws_gen - team->oldest_live_gen < team->num_live_gen)
++ ws = thr->ts.work_share;
++ thr->ts.last_work_share = ws;
++ ws = gomp_ptrlock_get (&ws->next_ws);
++ if (ws == NULL)
+ {
+- ws_index = ws_gen & team->generation_mask;
+- ws = team->work_shares[ws_index];
++ /* This thread encountered a new ws first. */
++ struct gomp_work_share *ws = alloc_work_share (team);
++ gomp_init_work_share (ws, ordered, team->nthreads);
+ thr->ts.work_share = ws;
+- thr->ts.static_trip = 0;
+-
+- gomp_mutex_lock (&ws->lock);
+- gomp_mutex_unlock (&team->work_share_lock);
+-
+- return false;
++ return true;
+ }
+-
+- /* Resize the work shares queue if we've run out of space. */
+- if (team->num_live_gen++ == team->generation_mask)
++ else
+ {
+- team->work_shares = gomp_realloc (team->work_shares,
+- 2 * team->num_live_gen
+- * sizeof (*team->work_shares));
+-
+- /* Unless oldest_live_gen is zero, the sequence of live elements
+- wraps around the end of the array. If we do nothing, we break
+- lookup of the existing elements. Fix that by unwrapping the
+- data from the front to the end. */
+- if (team->oldest_live_gen > 0)
+- memcpy (team->work_shares + team->num_live_gen,
+- team->work_shares,
+- (team->oldest_live_gen & team->generation_mask)
+- * sizeof (*team->work_shares));
+-
+- team->generation_mask = team->generation_mask * 2 + 1;
+- }
+-
+- ws_index = ws_gen & team->generation_mask;
+- ws = gomp_new_work_share (ordered, team->nthreads);
+- thr->ts.work_share = ws;
+- thr->ts.static_trip = 0;
+- team->work_shares[ws_index] = ws;
+-
+- gomp_mutex_lock (&ws->lock);
+- gomp_mutex_unlock (&team->work_share_lock);
+-
+- return true;
++ thr->ts.work_share = ws;
++ return false;
++ }
+ }
+
+-
+ /* The current thread is done with its current work sharing construct.
+ This version does imply a barrier at the end of the work-share. */
+
+@@ -147,36 +209,28 @@ gomp_work_share_end (void)
+ {
+ struct gomp_thread *thr = gomp_thread ();
+ struct gomp_team *team = thr->ts.team;
+- struct gomp_work_share *ws = thr->ts.work_share;
+- bool last;
+-
+- thr->ts.work_share = NULL;
++ gomp_barrier_state_t bstate;
+
+ /* Work sharing constructs can be orphaned. */
+ if (team == NULL)
+ {
+- free_work_share (ws);
++ free_work_share (NULL, thr->ts.work_share);
++ thr->ts.work_share = NULL;
+ return;
+ }
+
+- last = gomp_barrier_wait_start (&team->barrier);
++ bstate = gomp_barrier_wait_start (&team->barrier);
+
+- if (last)
++ if (gomp_barrier_last_thread (bstate))
+ {
+- unsigned ws_index;
+-
+- ws_index = thr->ts.work_share_generation & team->generation_mask;
+- team->work_shares[ws_index] = NULL;
+- team->oldest_live_gen++;
+- team->num_live_gen = 0;
+-
+- free_work_share (ws);
++ if (__builtin_expect (thr->ts.last_work_share != NULL, 1))
++ free_work_share (team, thr->ts.last_work_share);
+ }
+
+- gomp_barrier_wait_end (&team->barrier, last);
++ gomp_barrier_wait_end (&team->barrier, bstate);
++ thr->ts.last_work_share = NULL;
+ }
+
+-
+ /* The current thread is done with its current work sharing construct.
+ This version does NOT imply a barrier at the end of the work-share. */
+
+@@ -188,15 +242,17 @@ gomp_work_share_end_nowait (void)
+ struct gomp_work_share *ws = thr->ts.work_share;
+ unsigned completed;
+
+- thr->ts.work_share = NULL;
+-
+ /* Work sharing constructs can be orphaned. */
+ if (team == NULL)
+ {
+- free_work_share (ws);
++ free_work_share (NULL, ws);
++ thr->ts.work_share = NULL;
+ return;
+ }
+
++ if (__builtin_expect (thr->ts.last_work_share == NULL, 0))
++ return;
++
+ #ifdef HAVE_SYNC_BUILTINS
+ completed = __sync_add_and_fetch (&ws->threads_completed, 1);
+ #else
+@@ -206,18 +262,6 @@ gomp_work_share_end_nowait (void)
+ #endif
+
+ if (completed == team->nthreads)
+- {
+- unsigned ws_index;
+-
+- gomp_mutex_lock (&team->work_share_lock);
+-
+- ws_index = thr->ts.work_share_generation & team->generation_mask;
+- team->work_shares[ws_index] = NULL;
+- team->oldest_live_gen++;
+- team->num_live_gen--;
+-
+- gomp_mutex_unlock (&team->work_share_lock);
+-
+- free_work_share (ws);
+- }
++ free_work_share (team, thr->ts.last_work_share);
++ thr->ts.last_work_share = NULL;
+ }
+--- libgomp/single.c.jj 2007-12-07 14:41:01.000000000 +0100
++++ libgomp/single.c 2008-03-26 15:11:32.000000000 +0100
+@@ -1,4 +1,4 @@
+-/* Copyright (C) 2005 Free Software Foundation, Inc.
++/* Copyright (C) 2005, 2008 Free Software Foundation, Inc.
+ Contributed by Richard Henderson <rth@redhat.com>.
+
+ This file is part of the GNU OpenMP Library (libgomp).
+@@ -37,10 +37,24 @@
+ bool
+ GOMP_single_start (void)
+ {
++#ifdef HAVE_SYNC_BUILTINS
++ struct gomp_thread *thr = gomp_thread ();
++ struct gomp_team *team = thr->ts.team;
++ unsigned long single_count;
++
++ if (__builtin_expect (team == NULL, 0))
++ return true;
++
++ single_count = thr->ts.single_count++;
++ return __sync_bool_compare_and_swap (&team->single_count, single_count,
++ single_count + 1L);
++#else
+ bool ret = gomp_work_share_start (false);
+- gomp_mutex_unlock (&gomp_thread ()->ts.work_share->lock);
++ if (ret)
++ gomp_work_share_init_done ();
+ gomp_work_share_end_nowait ();
+ return ret;
++#endif
+ }
+
+ /* This routine is called when first encountering a SINGLE construct that
+@@ -57,10 +71,12 @@ GOMP_single_copy_start (void)
+ void *ret;
+
+ first = gomp_work_share_start (false);
+- gomp_mutex_unlock (&thr->ts.work_share->lock);
+
+ if (first)
+- ret = NULL;
++ {
++ gomp_work_share_init_done ();
++ ret = NULL;
++ }
+ else
+ {
+ gomp_barrier_wait (&thr->ts.team->barrier);
+--- libgomp/loop.c.jj 2007-12-07 14:41:01.000000000 +0100
++++ libgomp/loop.c 2008-03-26 18:47:04.000000000 +0100
+@@ -27,8 +27,9 @@
+
+ /* This file handles the LOOP (FOR/DO) construct. */
+
+-#include "libgomp.h"
++#include <limits.h>
+ #include <stdlib.h>
++#include "libgomp.h"
+
+
+ /* Initialize the given work share construct from the given arguments. */
+@@ -44,6 +45,39 @@ gomp_loop_init (struct gomp_work_share *
+ ? start : end;
+ ws->incr = incr;
+ ws->next = start;
++ if (sched == GFS_DYNAMIC)
++ {
++ ws->chunk_size *= incr;
++
++#ifdef HAVE_SYNC_BUILTINS
++ {
++ /* For dynamic scheduling prepare things to make each iteration
++ faster. */
++ struct gomp_thread *thr = gomp_thread ();
++ struct gomp_team *team = thr->ts.team;
++ long nthreads = team ? team->nthreads : 1;
++
++ if (__builtin_expect (incr > 0, 1))
++ {
++ /* Cheap overflow protection. */
++ if (__builtin_expect ((nthreads | ws->chunk_size)
++ >= 1UL << (sizeof (long)
++ * __CHAR_BIT__ / 2 - 1), 0))
++ ws->mode = 0;
++ else
++ ws->mode = ws->end < (LONG_MAX
++ - (nthreads + 1) * ws->chunk_size);
++ }
++ /* Cheap overflow protection. */
++ else if (__builtin_expect ((nthreads | -ws->chunk_size)
++ >= 1UL << (sizeof (long)
++ * __CHAR_BIT__ / 2 - 1), 0))
++ ws->mode = 0;
++ else
++ ws->mode = ws->end > (nthreads + 1) * -ws->chunk_size - LONG_MAX;
++ }
++#endif
++ }
+ }
+
+ /* The *_start routines are called when first encountering a loop construct
+@@ -68,10 +102,13 @@ gomp_loop_static_start (long start, long
+ {
+ struct gomp_thread *thr = gomp_thread ();
+
++ thr->ts.static_trip = 0;
+ if (gomp_work_share_start (false))
+- gomp_loop_init (thr->ts.work_share, start, end, incr,
+- GFS_STATIC, chunk_size);
+- gomp_mutex_unlock (&thr->ts.work_share->lock);
++ {
++ gomp_loop_init (thr->ts.work_share, start, end, incr,
++ GFS_STATIC, chunk_size);
++ gomp_work_share_init_done ();
++ }
+
+ return !gomp_iter_static_next (istart, iend);
+ }
+@@ -84,13 +121,16 @@ gomp_loop_dynamic_start (long start, lon
+ bool ret;
+
+ if (gomp_work_share_start (false))
+- gomp_loop_init (thr->ts.work_share, start, end, incr,
+- GFS_DYNAMIC, chunk_size);
++ {
++ gomp_loop_init (thr->ts.work_share, start, end, incr,
++ GFS_DYNAMIC, chunk_size);
++ gomp_work_share_init_done ();
++ }
+
+ #ifdef HAVE_SYNC_BUILTINS
+- gomp_mutex_unlock (&thr->ts.work_share->lock);
+ ret = gomp_iter_dynamic_next (istart, iend);
+ #else
++ gomp_mutex_lock (&thr->ts.work_share->lock);
+ ret = gomp_iter_dynamic_next_locked (istart, iend);
+ gomp_mutex_unlock (&thr->ts.work_share->lock);
+ #endif
+@@ -106,13 +146,16 @@ gomp_loop_guided_start (long start, long
+ bool ret;
+
+ if (gomp_work_share_start (false))
+- gomp_loop_init (thr->ts.work_share, start, end, incr,
+- GFS_GUIDED, chunk_size);
++ {
++ gomp_loop_init (thr->ts.work_share, start, end, incr,
++ GFS_GUIDED, chunk_size);
++ gomp_work_share_init_done ();
++ }
+
+ #ifdef HAVE_SYNC_BUILTINS
+- gomp_mutex_unlock (&thr->ts.work_share->lock);
+ ret = gomp_iter_guided_next (istart, iend);
+ #else
++ gomp_mutex_lock (&thr->ts.work_share->lock);
+ ret = gomp_iter_guided_next_locked (istart, iend);
+ gomp_mutex_unlock (&thr->ts.work_share->lock);
+ #endif
+@@ -149,13 +192,14 @@ gomp_loop_ordered_static_start (long sta
+ {
+ struct gomp_thread *thr = gomp_thread ();
+
++ thr->ts.static_trip = 0;
+ if (gomp_work_share_start (true))
+ {
+ gomp_loop_init (thr->ts.work_share, start, end, incr,
+ GFS_STATIC, chunk_size);
+ gomp_ordered_static_init ();
++ gomp_work_share_init_done ();
+ }
+- gomp_mutex_unlock (&thr->ts.work_share->lock);
+
+ return !gomp_iter_static_next (istart, iend);
+ }
+@@ -168,8 +212,14 @@ gomp_loop_ordered_dynamic_start (long st
+ bool ret;
+
+ if (gomp_work_share_start (true))
+- gomp_loop_init (thr->ts.work_share, start, end, incr,
+- GFS_DYNAMIC, chunk_size);
++ {
++ gomp_loop_init (thr->ts.work_share, start, end, incr,
++ GFS_DYNAMIC, chunk_size);
++ gomp_mutex_lock (&thr->ts.work_share->lock);
++ gomp_work_share_init_done ();
++ }
++ else
++ gomp_mutex_lock (&thr->ts.work_share->lock);
+
+ ret = gomp_iter_dynamic_next_locked (istart, iend);
+ if (ret)
+@@ -187,8 +237,14 @@ gomp_loop_ordered_guided_start (long sta
+ bool ret;
+
+ if (gomp_work_share_start (true))
+- gomp_loop_init (thr->ts.work_share, start, end, incr,
+- GFS_GUIDED, chunk_size);
++ {
++ gomp_loop_init (thr->ts.work_share, start, end, incr,
++ GFS_GUIDED, chunk_size);
++ gomp_mutex_lock (&thr->ts.work_share->lock);
++ gomp_work_share_init_done ();
++ }
++ else
++ gomp_mutex_lock (&thr->ts.work_share->lock);
+
+ ret = gomp_iter_guided_next_locked (istart, iend);
+ if (ret)
+@@ -375,12 +431,12 @@ gomp_parallel_loop_start (void (*fn) (vo
+ long incr, enum gomp_schedule_type sched,
+ long chunk_size)
+ {
+- struct gomp_work_share *ws;
++ struct gomp_team *team;
+
+ num_threads = gomp_resolve_num_threads (num_threads);
+- ws = gomp_new_work_share (false, num_threads);
+- gomp_loop_init (ws, start, end, incr, sched, chunk_size);
+- gomp_team_start (fn, data, num_threads, ws);
++ team = gomp_new_team (num_threads);
++ gomp_loop_init (&team->work_shares[0], start, end, incr, sched, chunk_size);
++ gomp_team_start (fn, data, num_threads, team);
+ }
+
+ void
+--- libgomp/Makefile.in.jj 2008-01-10 20:53:47.000000000 +0100
++++ libgomp/Makefile.in 2008-03-26 18:51:01.000000000 +0100
+@@ -83,7 +83,7 @@ libgomp_la_LIBADD =
+ am_libgomp_la_OBJECTS = alloc.lo barrier.lo critical.lo env.lo \
+ error.lo iter.lo loop.lo ordered.lo parallel.lo sections.lo \
+ single.lo team.lo work.lo lock.lo mutex.lo proc.lo sem.lo \
+- bar.lo time.lo fortran.lo affinity.lo
++ bar.lo ptrlock.lo time.lo fortran.lo affinity.lo
+ libgomp_la_OBJECTS = $(am_libgomp_la_OBJECTS)
+ DEFAULT_INCLUDES = -I. -I$(srcdir) -I.
+ depcomp = $(SHELL) $(top_srcdir)/../depcomp
+@@ -292,7 +292,7 @@ libgomp_version_info = -version-info $(l
+ libgomp_la_LDFLAGS = $(libgomp_version_info) $(libgomp_version_script)
+ libgomp_la_SOURCES = alloc.c barrier.c critical.c env.c error.c iter.c \
+ loop.c ordered.c parallel.c sections.c single.c team.c work.c \
+- lock.c mutex.c proc.c sem.c bar.c time.c fortran.c affinity.c
++ lock.c mutex.c proc.c sem.c bar.c ptrlock.c time.c fortran.c affinity.c
+
+ nodist_noinst_HEADERS = libgomp_f.h
+ nodist_libsubinclude_HEADERS = omp.h
+@@ -434,6 +434,7 @@ distclean-compile:
+ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ordered.Plo@am__quote@
+ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/parallel.Plo@am__quote@
+ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/proc.Plo@am__quote@
++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ptrlock.Plo@am__quote@
+ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/sections.Plo@am__quote@
+ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/sem.Plo@am__quote@
+ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/single.Plo@am__quote@
+--- libgomp/testsuite/libgomp.c/loop-4.c.jj 2008-03-26 18:47:04.000000000 +0100
++++ libgomp/testsuite/libgomp.c/loop-4.c 2008-03-26 18:47:04.000000000 +0100
+@@ -0,0 +1,28 @@
++/* { dg-do run } */
++
++extern void abort (void);
++
++int
++main (void)
++{
++ int e = 0;
++#pragma omp parallel num_threads (4) reduction(+:e)
++ {
++ long i;
++ #pragma omp for schedule(dynamic,1)
++ for (i = __LONG_MAX__ - 30001; i <= __LONG_MAX__ - 10001; i += 10000)
++ if (i != __LONG_MAX__ - 30001
++ && i != __LONG_MAX__ - 20001
++ && i != __LONG_MAX__ - 10001)
++ e = 1;
++ #pragma omp for schedule(dynamic,1)
++ for (i = -__LONG_MAX__ + 30000; i >= -__LONG_MAX__ + 10000; i -= 10000)
++ if (i != -__LONG_MAX__ + 30000
++ && i != -__LONG_MAX__ + 20000
++ && i != -__LONG_MAX__ + 10000)
++ e = 1;
++ }
++ if (e)
++ abort ();
++ return 0;
++}
+--- libgomp/Makefile.am.jj 2007-12-07 14:41:01.000000000 +0100
++++ libgomp/Makefile.am 2008-03-26 15:15:19.000000000 +0100
+@@ -31,7 +31,7 @@ libgomp_la_LDFLAGS = $(libgomp_version_i
+
+ libgomp_la_SOURCES = alloc.c barrier.c critical.c env.c error.c iter.c \
+ loop.c ordered.c parallel.c sections.c single.c team.c work.c \
+- lock.c mutex.c proc.c sem.c bar.c time.c fortran.c affinity.c
++ lock.c mutex.c proc.c sem.c bar.c ptrlock.c time.c fortran.c affinity.c
+
+ nodist_noinst_HEADERS = libgomp_f.h
+ nodist_libsubinclude_HEADERS = omp.h
+--- libgomp/team.c.jj 2007-12-07 14:41:01.000000000 +0100
++++ libgomp/team.c 2008-03-27 12:22:26.000000000 +0100
+@@ -94,7 +94,7 @@ gomp_thread_start (void *xdata)
+ {
+ gomp_barrier_wait (&thr->ts.team->barrier);
+ local_fn (local_data);
+- gomp_barrier_wait (&thr->ts.team->barrier);
++ gomp_barrier_wait_last (&thr->ts.team->barrier);
+ }
+ else
+ {
+@@ -114,11 +114,10 @@ gomp_thread_start (void *xdata)
+ thr->data = NULL;
+ thr->ts.team = NULL;
+ thr->ts.work_share = NULL;
++ thr->ts.last_work_share = NULL;
+ thr->ts.team_id = 0;
+- thr->ts.work_share_generation = 0;
+- thr->ts.static_trip = 0;
+
+- gomp_barrier_wait (&team->barrier);
++ gomp_barrier_wait_last (&team->barrier);
+ gomp_barrier_wait (&gomp_threads_dock);
+
+ local_fn = thr->fn;
+@@ -133,21 +132,29 @@ gomp_thread_start (void *xdata)
+
+ /* Create a new team data structure. */
+
+-static struct gomp_team *
+-new_team (unsigned nthreads, struct gomp_work_share *work_share)
++struct gomp_team *
++gomp_new_team (unsigned nthreads)
+ {
+ struct gomp_team *team;
+ size_t size;
++ int i;
+
+ size = sizeof (*team) + nthreads * sizeof (team->ordered_release[0]);
+ team = gomp_malloc (size);
+- gomp_mutex_init (&team->work_share_lock);
+
+- team->work_shares = gomp_malloc (4 * sizeof (struct gomp_work_share *));
+- team->generation_mask = 3;
+- team->oldest_live_gen = work_share == NULL;
+- team->num_live_gen = work_share != NULL;
+- team->work_shares[0] = work_share;
++ team->work_share_chunk = 8;
++#ifdef HAVE_SYNC_BUILTINS
++ team->single_count = 0;
++#else
++ gomp_mutex_init (&team->work_share_list_free_lock);
++#endif
++ gomp_init_work_share (&team->work_shares[0], false, nthreads);
++ team->work_shares[0].next_alloc = NULL;
++ team->work_share_list_free = NULL;
++ team->work_share_list_alloc = &team->work_shares[1];
++ for (i = 1; i < 7; i++)
++ team->work_shares[i].next_free = &team->work_shares[i + 1];
++ team->work_shares[i].next_free = NULL;
+
+ team->nthreads = nthreads;
+ gomp_barrier_init (&team->barrier, nthreads);
+@@ -164,10 +171,22 @@ new_team (unsigned nthreads, struct gomp
+ static void
+ free_team (struct gomp_team *team)
+ {
+- free (team->work_shares);
+- gomp_mutex_destroy (&team->work_share_lock);
++ if (__builtin_expect (team->work_shares[0].next_alloc != NULL, 0))
++ {
++ struct gomp_work_share *ws = team->work_shares[0].next_alloc;
++ do
++ {
++ struct gomp_work_share *next_ws = ws->next_alloc;
++ free (ws);
++ ws = next_ws;
++ }
++ while (ws != NULL);
++ }
+ gomp_barrier_destroy (&team->barrier);
+ gomp_sem_destroy (&team->master_release);
++#ifndef HAVE_SYNC_BUILTINS
++ gomp_mutex_destroy (&team->work_share_list_free_lock);
++#endif
+ free (team);
+ }
+
+@@ -176,11 +195,10 @@ free_team (struct gomp_team *team)
+
+ void
+ gomp_team_start (void (*fn) (void *), void *data, unsigned nthreads,
+- struct gomp_work_share *work_share)
++ struct gomp_team *team)
+ {
+ struct gomp_thread_start_data *start_data;
+ struct gomp_thread *thr, *nthr;
+- struct gomp_team *team;
+ bool nested;
+ unsigned i, n, old_threads_used = 0;
+ pthread_attr_t thread_attr, *attr;
+@@ -188,17 +206,18 @@ gomp_team_start (void (*fn) (void *), vo
+ thr = gomp_thread ();
+ nested = thr->ts.team != NULL;
+
+- team = new_team (nthreads, work_share);
+-
+ /* Always save the previous state, even if this isn't a nested team.
+ In particular, we should save any work share state from an outer
+ orphaned work share construct. */
+ team->prev_ts = thr->ts;
+
+ thr->ts.team = team;
+- thr->ts.work_share = work_share;
+ thr->ts.team_id = 0;
+- thr->ts.work_share_generation = 0;
++ thr->ts.work_share = &team->work_shares[0];
++ thr->ts.last_work_share = NULL;
++#ifdef HAVE_SYNC_BUILTINS
++ thr->ts.single_count = 0;
++#endif
+ thr->ts.static_trip = 0;
+
+ if (nthreads == 1)
+@@ -241,9 +260,12 @@ gomp_team_start (void (*fn) (void *), vo
+ {
+ nthr = gomp_threads[i];
+ nthr->ts.team = team;
+- nthr->ts.work_share = work_share;
++ nthr->ts.work_share = &team->work_shares[0];
++ nthr->ts.last_work_share = NULL;
+ nthr->ts.team_id = i;
+- nthr->ts.work_share_generation = 0;
++#ifdef HAVE_SYNC_BUILTINS
++ nthr->ts.single_count = 0;
++#endif
+ nthr->ts.static_trip = 0;
+ nthr->fn = fn;
+ nthr->data = data;
+@@ -266,8 +288,24 @@ gomp_team_start (void (*fn) (void *), vo
+ }
+ }
+
++ if (__builtin_expect (nthreads > old_threads_used, 0))
++ {
++ long diff = (long) nthreads - (long) old_threads_used;
++
++ if (old_threads_used == 0)
++ --diff;
++
++#ifdef HAVE_SYNC_BUILTINS
++ __sync_fetch_and_add (&gomp_managed_threads, diff);
++#else
++ gomp_mutex_lock (&gomp_remaining_threads_lock);
++ gomp_managed_threads += diff;
++ gomp_mutex_unlock (&gomp_remaining_threads_lock);
++#endif
++ }
++
+ attr = &gomp_thread_attr;
+- if (gomp_cpu_affinity != NULL)
++ if (__builtin_expect (gomp_cpu_affinity != NULL, 0))
+ {
+ size_t stacksize;
+ pthread_attr_init (&thread_attr);
+@@ -287,9 +325,12 @@ gomp_team_start (void (*fn) (void *), vo
+ int err;
+
+ start_data->ts.team = team;
+- start_data->ts.work_share = work_share;
++ start_data->ts.work_share = &team->work_shares[0];
++ start_data->ts.last_work_share = NULL;
+ start_data->ts.team_id = i;
+- start_data->ts.work_share_generation = 0;
++#ifdef HAVE_SYNC_BUILTINS
++ start_data->ts.single_count = 0;
++#endif
+ start_data->ts.static_trip = 0;
+ start_data->fn = fn;
+ start_data->fn_data = data;
+@@ -303,7 +344,7 @@ gomp_team_start (void (*fn) (void *), vo
+ gomp_fatal ("Thread creation failed: %s", strerror (err));
+ }
+
+- if (gomp_cpu_affinity != NULL)
++ if (__builtin_expect (gomp_cpu_affinity != NULL, 0))
+ pthread_attr_destroy (&thread_attr);
+
+ do_release:
+@@ -313,8 +354,20 @@ gomp_team_start (void (*fn) (void *), vo
+ that should arrive back at the end of this team. The extra
+ threads should be exiting. Note that we arrange for this test
+ to never be true for nested teams. */
+- if (nthreads < old_threads_used)
+- gomp_barrier_reinit (&gomp_threads_dock, nthreads);
++ if (__builtin_expect (nthreads < old_threads_used, 0))
++ {
++ long diff = (long) nthreads - (long) old_threads_used;
++
++ gomp_barrier_reinit (&gomp_threads_dock, nthreads);
++
++#ifdef HAVE_SYNC_BUILTINS
++ __sync_fetch_and_add (&gomp_managed_threads, diff);
++#else
++ gomp_mutex_lock (&gomp_remaining_threads_lock);
++ gomp_managed_threads += diff;
++ gomp_mutex_unlock (&gomp_remaining_threads_lock);
++#endif
++ }
+ }
+
+
+@@ -329,8 +382,21 @@ gomp_team_end (void)
+
+ gomp_barrier_wait (&team->barrier);
+
++ gomp_fini_work_share (thr->ts.work_share);
++
+ thr->ts = team->prev_ts;
+
++ if (__builtin_expect (thr->ts.team != NULL, 0))
++ {
++#ifdef HAVE_SYNC_BUILTINS
++ __sync_fetch_and_add (&gomp_managed_threads, 1L - team->nthreads);
++#else
++ gomp_mutex_lock (&gomp_remaining_threads_lock);
++ gomp_managed_threads -= team->nthreads - 1L;
++ gomp_mutex_unlock (&gomp_remaining_threads_lock);
++#endif
++ }
++
+ free_team (team);
+ }
+
+--- libgomp/config/posix/bar.h.jj 2007-12-07 14:41:01.000000000 +0100
++++ libgomp/config/posix/bar.h 2008-03-26 15:11:32.000000000 +0100
+@@ -1,4 +1,4 @@
+-/* Copyright (C) 2005 Free Software Foundation, Inc.
++/* Copyright (C) 2005, 2008 Free Software Foundation, Inc.
+ Contributed by Richard Henderson <rth@redhat.com>.
+
+ This file is part of the GNU OpenMP Library (libgomp).
+@@ -46,18 +46,32 @@ typedef struct
+ unsigned total;
+ unsigned arrived;
+ } gomp_barrier_t;
++typedef bool gomp_barrier_state_t;
+
+ extern void gomp_barrier_init (gomp_barrier_t *, unsigned);
+ extern void gomp_barrier_reinit (gomp_barrier_t *, unsigned);
+ extern void gomp_barrier_destroy (gomp_barrier_t *);
+
+ extern void gomp_barrier_wait (gomp_barrier_t *);
+-extern void gomp_barrier_wait_end (gomp_barrier_t *, bool);
++extern void gomp_barrier_wait_end (gomp_barrier_t *, gomp_barrier_state_t);
+
+-static inline bool gomp_barrier_wait_start (gomp_barrier_t *bar)
++static inline gomp_barrier_state_t
++gomp_barrier_wait_start (gomp_barrier_t *bar)
+ {
+ gomp_mutex_lock (&bar->mutex1);
+ return ++bar->arrived == bar->total;
+ }
+
++static inline bool
++gomp_barrier_last_thread (gomp_barrier_state_t state)
++{
++ return state;
++}
++
++static inline void
++gomp_barrier_wait_last (gomp_barrier_t *bar)
++{
++ gomp_barrier_wait (bar);
++}
++
+ #endif /* GOMP_BARRIER_H */
+--- libgomp/config/posix/ptrlock.h.jj 2008-03-26 15:11:32.000000000 +0100
++++ libgomp/config/posix/ptrlock.h 2008-03-26 15:11:32.000000000 +0100
+@@ -0,0 +1,69 @@
++/* Copyright (C) 2008 Free Software Foundation, Inc.
++ Contributed by Jakub Jelinek <jakub@redhat.com>.
++
++ This file is part of the GNU OpenMP Library (libgomp).
++
++ Libgomp is free software; you can redistribute it and/or modify it
++ under the terms of the GNU Lesser General Public License as published by
++ the Free Software Foundation; either version 2.1 of the License, or
++ (at your option) any later version.
++
++ Libgomp 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 Lesser General Public License for
++ more details.
++
++ You should have received a copy of the GNU Lesser General Public License
++ along with libgomp; see the file COPYING.LIB. If not, write to the
++ Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
++ MA 02110-1301, USA. */
++
++/* As a special exception, if you link this library with other files, some
++ of which are compiled with GCC, to produce an executable, this library
++ does not by itself cause the resulting executable to be covered by the
++ GNU General Public License. This exception does not however invalidate
++ any other reasons why the executable file might be covered by the GNU
++ General Public License. */
++
++/* This is a Linux specific implementation of a mutex synchronization
++ mechanism for libgomp. This type is private to the library. This
++ implementation uses atomic instructions and the futex syscall. */
++
++#ifndef GOMP_PTRLOCK_H
++#define GOMP_PTRLOCK_H 1
++
++typedef struct { void *ptr; gomp_mutex_t lock; } gomp_ptrlock_t;
++
++static inline void gomp_ptrlock_init (gomp_ptrlock_t *ptrlock, void *ptr)
++{
++ ptrlock->ptr = ptr;
++ gomp_mutex_init (&ptrlock->lock);
++}
++
++static inline void *gomp_ptrlock_get (gomp_ptrlock_t *ptrlock)
++{
++ if (ptrlock->ptr != NULL)
++ return ptrlock->ptr;
++
++ gomp_mutex_lock (&ptrlock->lock);
++ if (ptrlock->ptr != NULL)
++ {
++ gomp_mutex_unlock (&ptrlock->lock);
++ return ptrlock->ptr;
++ }
++
++ return NULL;
++}
++
++static inline void gomp_ptrlock_set (gomp_ptrlock_t *ptrlock, void *ptr)
++{
++ ptrlock->ptr = ptr;
++ gomp_mutex_unlock (&ptrlock->lock);
++}
++
++static inline void gomp_ptrlock_destroy (gomp_ptrlock_t *ptrlock)
++{
++ gomp_mutex_destroy (&ptrlock->lock);
++}
++
++#endif /* GOMP_PTRLOCK_H */
+--- libgomp/config/posix/ptrlock.c.jj 2008-03-26 15:11:32.000000000 +0100
++++ libgomp/config/posix/ptrlock.c 2008-03-26 15:11:32.000000000 +0100
+@@ -0,0 +1 @@
++/* Everything is in the header. */
+--- libgomp/config/posix/bar.c.jj 2007-12-07 14:41:01.000000000 +0100
++++ libgomp/config/posix/bar.c 2008-03-26 15:11:32.000000000 +0100
+@@ -1,4 +1,4 @@
+-/* Copyright (C) 2005 Free Software Foundation, Inc.
++/* Copyright (C) 2005, 2008 Free Software Foundation, Inc.
+ Contributed by Richard Henderson <rth@redhat.com>.
+
+ This file is part of the GNU OpenMP Library (libgomp).
+@@ -70,7 +70,7 @@ gomp_barrier_reinit (gomp_barrier_t *bar
+ }
+
+ void
+-gomp_barrier_wait_end (gomp_barrier_t *bar, bool last)
++gomp_barrier_wait_end (gomp_barrier_t *bar, gomp_barrier_state_t last)
+ {
+ unsigned int n;
+
+--- libgomp/config/linux/alpha/futex.h.jj 2007-12-07 14:41:00.000000000 +0100
++++ libgomp/config/linux/alpha/futex.h 2008-03-26 15:11:32.000000000 +0100
+@@ -1,4 +1,4 @@
+-/* Copyright (C) 2005 Free Software Foundation, Inc.
++/* Copyright (C) 2005, 2008 Free Software Foundation, Inc.
+ Contributed by Richard Henderson <rth@redhat.com>.
+
+ This file is part of the GNU OpenMP Library (libgomp).
+@@ -30,8 +30,6 @@
+ #ifndef SYS_futex
+ #define SYS_futex 394
+ #endif
+-#define FUTEX_WAIT 0
+-#define FUTEX_WAKE 1
+
+
+ static inline void
+@@ -45,7 +43,7 @@ futex_wait (int *addr, int val)
+
+ sc_0 = SYS_futex;
+ sc_16 = (long) addr;
+- sc_17 = FUTEX_WAIT;
++ sc_17 = gomp_futex_wait;
+ sc_18 = val;
+ sc_19 = 0;
+ __asm volatile ("callsys"
+@@ -53,6 +51,20 @@ futex_wait (int *addr, int val)
+ : "0"(sc_0), "r" (sc_16), "r"(sc_17), "r"(sc_18), "1"(sc_19)
+ : "$1", "$2", "$3", "$4", "$5", "$6", "$7", "$8",
+ "$22", "$23", "$24", "$25", "$27", "$28", "memory");
++ if (__builtin_expect (sc_19, 0) && sc_0 == ENOSYS)
++ {
++ gomp_futex_wait &= ~FUTEX_PRIVATE_FLAG;
++ gomp_futex_wake &= ~FUTEX_PRIVATE_FLAG;
++ sc_0 = SYS_futex;
++ sc_17 &= ~FUTEX_PRIVATE_FLAG;
++ sc_19 = 0;
++ __asm volatile ("callsys"
++ : "=r" (sc_0), "=r"(sc_19)
++ : "0"(sc_0), "r" (sc_16), "r"(sc_17), "r"(sc_18),
++ "1"(sc_19)
++ : "$1", "$2", "$3", "$4", "$5", "$6", "$7", "$8",
++ "$22", "$23", "$24", "$25", "$27", "$28", "memory");
++ }
+ }
+
+ static inline void
+@@ -66,11 +78,35 @@ futex_wake (int *addr, int count)
+
+ sc_0 = SYS_futex;
+ sc_16 = (long) addr;
+- sc_17 = FUTEX_WAKE;
++ sc_17 = gomp_futex_wake;
+ sc_18 = count;
+ __asm volatile ("callsys"
+ : "=r" (sc_0), "=r"(sc_19)
+ : "0"(sc_0), "r" (sc_16), "r"(sc_17), "r"(sc_18)
+ : "$1", "$2", "$3", "$4", "$5", "$6", "$7", "$8",
+ "$22", "$23", "$24", "$25", "$27", "$28", "memory");
++ if (__builtin_expect (sc_19, 0) && sc_0 == ENOSYS)
++ {
++ gomp_futex_wait &= ~FUTEX_PRIVATE_FLAG;
++ gomp_futex_wake &= ~FUTEX_PRIVATE_FLAG;
++ sc_0 = SYS_futex;
++ sc_17 &= ~FUTEX_PRIVATE_FLAG;
++ __asm volatile ("callsys"
++ : "=r" (sc_0), "=r"(sc_19)
++ : "0"(sc_0), "r" (sc_16), "r"(sc_17), "r"(sc_18)
++ : "$1", "$2", "$3", "$4", "$5", "$6", "$7", "$8",
++ "$22", "$23", "$24", "$25", "$27", "$28", "memory");
++ }
++}
++
++static inline void
++cpu_relax (void)
++{
++ __asm volatile ("" : : : "memory");
++}
++
++static inline void
++atomic_write_barrier (void)
++{
++ __asm volatile ("wmb" : : : "memory");
+ }
+--- libgomp/config/linux/affinity.c.jj 2007-12-07 14:41:00.000000000 +0100
++++ libgomp/config/linux/affinity.c 2008-03-26 15:11:32.000000000 +0100
+@@ -1,4 +1,4 @@
+-/* Copyright (C) 2006, 2007 Free Software Foundation, Inc.
++/* Copyright (C) 2006, 2007, 2008 Free Software Foundation, Inc.
+ Contributed by Jakub Jelinek <jakub@redhat.com>.
+
+ This file is part of the GNU OpenMP Library (libgomp).
+@@ -38,9 +38,6 @@
+ #ifdef HAVE_PTHREAD_AFFINITY_NP
+
+ static unsigned int affinity_counter;
+-#ifndef HAVE_SYNC_BUILTINS
+-static gomp_mutex_t affinity_lock;
+-#endif
+
+ void
+ gomp_init_affinity (void)
+@@ -76,9 +73,6 @@ gomp_init_affinity (void)
+ CPU_SET (gomp_cpu_affinity[0], &cpuset);
+ pthread_setaffinity_np (pthread_self (), sizeof (cpuset), &cpuset);
+ affinity_counter = 1;
+-#ifndef HAVE_SYNC_BUILTINS
+- gomp_mutex_init (&affinity_lock);
+-#endif
+ }
+
+ void
+@@ -87,13 +81,7 @@ gomp_init_thread_affinity (pthread_attr_
+ unsigned int cpu;
+ cpu_set_t cpuset;
+
+-#ifdef HAVE_SYNC_BUILTINS
+ cpu = __sync_fetch_and_add (&affinity_counter, 1);
+-#else
+- gomp_mutex_lock (&affinity_lock);
+- cpu = affinity_counter++;
+- gomp_mutex_unlock (&affinity_lock);
+-#endif
+ cpu %= gomp_cpu_affinity_len;
+ CPU_ZERO (&cpuset);
+ CPU_SET (gomp_cpu_affinity[cpu], &cpuset);
+--- libgomp/config/linux/bar.h.jj 2007-12-07 14:41:00.000000000 +0100
++++ libgomp/config/linux/bar.h 2008-03-26 15:11:32.000000000 +0100
+@@ -1,4 +1,4 @@
+-/* Copyright (C) 2005 Free Software Foundation, Inc.
++/* Copyright (C) 2005, 2008 Free Software Foundation, Inc.
+ Contributed by Richard Henderson <rth@redhat.com>.
+
+ This file is part of the GNU OpenMP Library (libgomp).
+@@ -36,40 +36,49 @@
+
+ typedef struct
+ {
+- gomp_mutex_t mutex;
+- unsigned total;
+- unsigned arrived;
+- int generation;
++ /* Make sure total/generation is in a mostly read cacheline, while
++ awaited in a separate cacheline. */
++ unsigned total __attribute__((aligned (64)));
++ unsigned generation;
++ unsigned awaited __attribute__((aligned (64)));
+ } gomp_barrier_t;
++typedef unsigned int gomp_barrier_state_t;
+
+ static inline void gomp_barrier_init (gomp_barrier_t *bar, unsigned count)
+ {
+- gomp_mutex_init (&bar->mutex);
+ bar->total = count;
+- bar->arrived = 0;
++ bar->awaited = count;
+ bar->generation = 0;
+ }
+
+ static inline void gomp_barrier_reinit (gomp_barrier_t *bar, unsigned count)
+ {
+- gomp_mutex_lock (&bar->mutex);
++ __sync_fetch_and_add (&bar->awaited, count - bar->total);
+ bar->total = count;
+- gomp_mutex_unlock (&bar->mutex);
+ }
+
+ static inline void gomp_barrier_destroy (gomp_barrier_t *bar)
+ {
+- /* Before destroying, make sure all threads have left the barrier. */
+- gomp_mutex_lock (&bar->mutex);
+ }
+
+ extern void gomp_barrier_wait (gomp_barrier_t *);
+-extern void gomp_barrier_wait_end (gomp_barrier_t *, bool);
++extern void gomp_barrier_wait_last (gomp_barrier_t *);
++extern void gomp_barrier_wait_end (gomp_barrier_t *, gomp_barrier_state_t);
+
+-static inline bool gomp_barrier_wait_start (gomp_barrier_t *bar)
++static inline gomp_barrier_state_t
++gomp_barrier_wait_start (gomp_barrier_t *bar)
+ {
+- gomp_mutex_lock (&bar->mutex);
+- return ++bar->arrived == bar->total;
++ unsigned int ret = bar->generation;
++ /* Do we need any barrier here or is __sync_add_and_fetch acting
++ as the needed LoadLoad barrier already? */
++ ret += __sync_add_and_fetch (&bar->awaited, -1) == 0;
++ return ret;
++}
++
++static inline bool
++gomp_barrier_last_thread (gomp_barrier_state_t state)
++{
++ return state & 1;
+ }
+
+ #endif /* GOMP_BARRIER_H */
+--- libgomp/config/linux/ptrlock.h.jj 2008-03-26 15:11:32.000000000 +0100
++++ libgomp/config/linux/ptrlock.h 2008-03-26 15:11:32.000000000 +0100
+@@ -0,0 +1,65 @@
++/* Copyright (C) 2008 Free Software Foundation, Inc.
++ Contributed by Jakub Jelinek <jakub@redhat.com>.
++
++ This file is part of the GNU OpenMP Library (libgomp).
++
++ Libgomp is free software; you can redistribute it and/or modify it
++ under the terms of the GNU Lesser General Public License as published by
++ the Free Software Foundation; either version 2.1 of the License, or
++ (at your option) any later version.
++
++ Libgomp 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 Lesser General Public License for
++ more details.
++
++ You should have received a copy of the GNU Lesser General Public License
++ along with libgomp; see the file COPYING.LIB. If not, write to the
++ Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
++ MA 02110-1301, USA. */
++
++/* As a special exception, if you link this library with other files, some
++ of which are compiled with GCC, to produce an executable, this library
++ does not by itself cause the resulting executable to be covered by the
++ GNU General Public License. This exception does not however invalidate
++ any other reasons why the executable file might be covered by the GNU
++ General Public License. */
++
++/* This is a Linux specific implementation of a mutex synchronization
++ mechanism for libgomp. This type is private to the library. This
++ implementation uses atomic instructions and the futex syscall. */
++
++#ifndef GOMP_PTRLOCK_H
++#define GOMP_PTRLOCK_H 1
++
++typedef void *gomp_ptrlock_t;
++
++static inline void gomp_ptrlock_init (gomp_ptrlock_t *ptrlock, void *ptr)
++{
++ *ptrlock = ptr;
++}
++
++extern void *gomp_ptrlock_get_slow (gomp_ptrlock_t *ptrlock);
++static inline void *gomp_ptrlock_get (gomp_ptrlock_t *ptrlock)
++{
++ if ((uintptr_t) *ptrlock > 2)
++ return *ptrlock;
++
++ if (__sync_bool_compare_and_swap (ptrlock, NULL, (uintptr_t) 1))
++ return NULL;
++
++ return gomp_ptrlock_get_slow (ptrlock);
++}
++
++extern void gomp_ptrlock_set_slow (gomp_ptrlock_t *ptrlock, void *ptr);
++static inline void gomp_ptrlock_set (gomp_ptrlock_t *ptrlock, void *ptr)
++{
++ if (!__sync_bool_compare_and_swap (ptrlock, (uintptr_t) 1, ptr))
++ gomp_ptrlock_set_slow (ptrlock, ptr);
++}
++
++static inline void gomp_ptrlock_destroy (gomp_ptrlock_t *ptrlock)
++{
++}
++
++#endif /* GOMP_PTRLOCK_H */
+--- libgomp/config/linux/lock.c.jj 2007-12-07 14:41:00.000000000 +0100
++++ libgomp/config/linux/lock.c 2008-03-26 15:11:32.000000000 +0100
+@@ -29,11 +29,10 @@
+ primitives. This implementation uses atomic instructions and the futex
+ syscall. */
+
+-#include "libgomp.h"
+ #include <string.h>
+ #include <unistd.h>
+ #include <sys/syscall.h>
+-#include "futex.h"
++#include "wait.h"
+
+
+ /* The internal gomp_mutex_t and the external non-recursive omp_lock_t
+@@ -137,7 +136,7 @@ omp_set_nest_lock (omp_nest_lock_t *lock
+ return;
+ }
+
+- futex_wait (&lock->owner, otid);
++ do_wait (&lock->owner, otid);
+ }
+ }
+
+--- libgomp/config/linux/ptrlock.c.jj 2008-03-26 15:11:32.000000000 +0100
++++ libgomp/config/linux/ptrlock.c 2008-03-26 15:11:32.000000000 +0100
+@@ -0,0 +1,70 @@
++/* Copyright (C) 2008 Free Software Foundation, Inc.
++ Contributed by Jakub Jelinek <jakub@redhat.com>.
++
++ This file is part of the GNU OpenMP Library (libgomp).
++
++ Libgomp is free software; you can redistribute it and/or modify it
++ under the terms of the GNU Lesser General Public License as published by
++ the Free Software Foundation; either version 2.1 of the License, or
++ (at your option) any later version.
++
++ Libgomp 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 Lesser General Public License for
++ more details.
++
++ You should have received a copy of the GNU Lesser General Public License
++ along with libgomp; see the file COPYING.LIB. If not, write to the
++ Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
++ MA 02110-1301, USA. */
++
++/* As a special exception, if you link this library with other files, some
++ of which are compiled with GCC, to produce an executable, this library
++ does not by itself cause the resulting executable to be covered by the
++ GNU General Public License. This exception does not however invalidate
++ any other reasons why the executable file might be covered by the GNU
++ General Public License. */
++
++/* This is a Linux specific implementation of a mutex synchronization
++ mechanism for libgomp. This type is private to the library. This
++ implementation uses atomic instructions and the futex syscall. */
++
++#include <endian.h>
++#include <limits.h>
++#include "wait.h"
++
++void *
++gomp_ptrlock_get_slow (gomp_ptrlock_t *ptrlock)
++{
++ int *intptr;
++ __sync_bool_compare_and_swap (ptrlock, 1, 2);
++
++ /* futex works on ints, not pointers.
++ But a valid work share pointer will be at least
++ 8 byte aligned, so it is safe to assume the low
++ 32-bits of the pointer won't contain values 1 or 2. */
++ __asm volatile ("" : "=r" (intptr) : "0" (ptrlock));
++#if __BYTE_ORDER == __BIG_ENDIAN
++ if (sizeof (*ptrlock) > sizeof (int))
++ intptr += (sizeof (*ptrlock) / sizeof (int)) - 1;
++#endif
++ do
++ do_wait (intptr, 2);
++ while (*intptr == 2);
++ __asm volatile ("" : : : "memory");
++ return *ptrlock;
++}
++
++void
++gomp_ptrlock_set_slow (gomp_ptrlock_t *ptrlock, void *ptr)
++{
++ int *intptr;
++
++ *ptrlock = ptr;
++ __asm volatile ("" : "=r" (intptr) : "0" (ptrlock));
++#if __BYTE_ORDER == __BIG_ENDIAN
++ if (sizeof (*ptrlock) > sizeof (int))
++ intptr += (sizeof (*ptrlock) / sizeof (int)) - 1;
++#endif
++ futex_wake (intptr, INT_MAX);
++}
+--- libgomp/config/linux/x86/futex.h.jj 2007-12-07 14:41:00.000000000 +0100
++++ libgomp/config/linux/x86/futex.h 2008-03-26 15:11:32.000000000 +0100
+@@ -1,4 +1,4 @@
+-/* Copyright (C) 2005 Free Software Foundation, Inc.
++/* Copyright (C) 2005, 2008 Free Software Foundation, Inc.
+ Contributed by Richard Henderson <rth@redhat.com>.
+
+ This file is part of the GNU OpenMP Library (libgomp).
+@@ -27,9 +27,6 @@
+
+ /* Provide target-specific access to the futex system call. */
+
+-#define FUTEX_WAIT 0
+-#define FUTEX_WAKE 1
+-
+ #ifdef __LP64__
+ # ifndef SYS_futex
+ # define SYS_futex 202
+@@ -38,14 +35,26 @@
+ static inline void
+ futex_wait (int *addr, int val)
+ {
+- register long r10 __asm__("%r10") = 0;
++ register long r10 __asm__("%r10");
+ long res;
+
++ r10 = 0;
+ __asm volatile ("syscall"
+ : "=a" (res)
+- : "0"(SYS_futex), "D" (addr), "S"(FUTEX_WAIT),
+- "d"(val), "r"(r10)
++ : "0" (SYS_futex), "D" (addr), "S" (gomp_futex_wait),
++ "d" (val), "r" (r10)
+ : "r11", "rcx", "memory");
++ if (__builtin_expect (res == -ENOSYS, 0))
++ {
++ gomp_futex_wait &= ~FUTEX_PRIVATE_FLAG;
++ gomp_futex_wake &= ~FUTEX_PRIVATE_FLAG;
++ r10 = 0;
++ __asm volatile ("syscall"
++ : "=a" (res)
++ : "0" (SYS_futex), "D" (addr), "S" (gomp_futex_wait),
++ "d" (val), "r" (r10)
++ : "r11", "rcx", "memory");
++ }
+ }
+
+ static inline void
+@@ -55,8 +64,19 @@ futex_wake (int *addr, int count)
+
+ __asm volatile ("syscall"
+ : "=a" (res)
+- : "0"(SYS_futex), "D" (addr), "S"(FUTEX_WAKE), "d"(count)
++ : "0" (SYS_futex), "D" (addr), "S" (gomp_futex_wake),
++ "d" (count)
+ : "r11", "rcx", "memory");
++ if (__builtin_expect (res == -ENOSYS, 0))
++ {
++ gomp_futex_wait &= ~FUTEX_PRIVATE_FLAG;
++ gomp_futex_wake &= ~FUTEX_PRIVATE_FLAG;
++ __asm volatile ("syscall"
++ : "=a" (res)
++ : "0" (SYS_futex), "D" (addr), "S" (gomp_futex_wake),
++ "d" (count)
++ : "r11", "rcx", "memory");
++ }
+ }
+ #else
+ # ifndef SYS_futex
+@@ -65,7 +85,7 @@ futex_wake (int *addr, int count)
+
+ # ifdef __PIC__
+
+-static inline void
++static inline long
+ sys_futex0 (int *addr, int op, int val)
+ {
+ long res;
+@@ -77,11 +97,12 @@ sys_futex0 (int *addr, int op, int val)
+ : "0"(SYS_futex), "r" (addr), "c"(op),
+ "d"(val), "S"(0)
+ : "memory");
++ return res;
+ }
+
+ # else
+
+-static inline void
++static inline long
+ sys_futex0 (int *addr, int op, int val)
+ {
+ long res;
+@@ -91,6 +112,7 @@ sys_futex0 (int *addr, int op, int val)
+ : "0"(SYS_futex), "b" (addr), "c"(op),
+ "d"(val), "S"(0)
+ : "memory");
++ return res;
+ }
+
+ # endif /* __PIC__ */
+@@ -98,13 +120,37 @@ sys_futex0 (int *addr, int op, int val)
+ static inline void
+ futex_wait (int *addr, int val)
+ {
+- sys_futex0 (addr, FUTEX_WAIT, val);
++ long res = sys_futex0 (addr, gomp_futex_wait, val);
++ if (__builtin_expect (res == -ENOSYS, 0))
++ {
++ gomp_futex_wait &= ~FUTEX_PRIVATE_FLAG;
++ gomp_futex_wake &= ~FUTEX_PRIVATE_FLAG;
++ sys_futex0 (addr, gomp_futex_wait, val);
++ }
+ }
+
+ static inline void
+ futex_wake (int *addr, int count)
+ {
+- sys_futex0 (addr, FUTEX_WAKE, count);
++ long res = sys_futex0 (addr, gomp_futex_wake, count);
++ if (__builtin_expect (res == -ENOSYS, 0))
++ {
++ gomp_futex_wait &= ~FUTEX_PRIVATE_FLAG;
++ gomp_futex_wake &= ~FUTEX_PRIVATE_FLAG;
++ sys_futex0 (addr, gomp_futex_wake, count);
++ }
+ }
+
+ #endif /* __LP64__ */
++
++static inline void
++cpu_relax (void)
++{
++ __asm volatile ("rep; nop" : : : "memory");
++}
++
++static inline void
++atomic_write_barrier (void)
++{
++ __sync_synchronize ();
++}
+--- libgomp/config/linux/wait.h.jj 2008-03-26 15:11:32.000000000 +0100
++++ libgomp/config/linux/wait.h 2008-03-26 15:11:32.000000000 +0100
+@@ -0,0 +1,68 @@
++/* Copyright (C) 2008 Free Software Foundation, Inc.
++ Contributed by Jakub Jelinek <jakub@redhat.com>.
++
++ This file is part of the GNU OpenMP Library (libgomp).
++
++ Libgomp is free software; you can redistribute it and/or modify it
++ under the terms of the GNU Lesser General Public License as published by
++ the Free Software Foundation; either version 2.1 of the License, or
++ (at your option) any later version.
++
++ Libgomp 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 Lesser General Public License for
++ more details.
++
++ You should have received a copy of the GNU Lesser General Public License
++ along with libgomp; see the file COPYING.LIB. If not, write to the
++ Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
++ MA 02110-1301, USA. */
++
++/* As a special exception, if you link this library with other files, some
++ of which are compiled with GCC, to produce an executable, this library
++ does not by itself cause the resulting executable to be covered by the
++ GNU General Public License. This exception does not however invalidate
++ any other reasons why the executable file might be covered by the GNU
++ General Public License. */
++
++/* This is a Linux specific implementation of a mutex synchronization
++ mechanism for libgomp. This type is private to the library. This
++ implementation uses atomic instructions and the futex syscall. */
++
++#ifndef GOMP_WAIT_H
++#define GOMP_WAIT_H 1
++
++#include "libgomp.h"
++#include <errno.h>
++
++#define FUTEX_WAIT 0
++#define FUTEX_WAKE 1
++#define FUTEX_PRIVATE_FLAG 128L
++
++#ifdef HAVE_ATTRIBUTE_VISIBILITY
++# pragma GCC visibility push(hidden)
++#endif
++
++extern long int gomp_futex_wait, gomp_futex_wake;
++
++#include "futex.h"
++
++static inline void do_wait (int *addr, int val)
++{
++ unsigned long long i, count = gomp_spin_count_var;
++
++ if (__builtin_expect (gomp_managed_threads > gomp_available_cpus, 0))
++ count = gomp_throttled_spin_count_var;
++ for (i = 0; i < count; i++)
++ if (__builtin_expect (*addr != val, 0))
++ return;
++ else
++ cpu_relax ();
++ futex_wait (addr, val);
++}
++
++#ifdef HAVE_ATTRIBUTE_VISIBILITY
++# pragma GCC visibility pop
++#endif
++
++#endif /* GOMP_WAIT_H */
+--- libgomp/config/linux/sparc/futex.h.jj 2007-12-07 14:41:00.000000000 +0100
++++ libgomp/config/linux/sparc/futex.h 2008-03-26 15:11:32.000000000 +0100
+@@ -1,4 +1,4 @@
+-/* Copyright (C) 2005 Free Software Foundation, Inc.
++/* Copyright (C) 2005, 2008 Free Software Foundation, Inc.
+ Contributed by Jakub Jelinek <jakub@redhat.com>.
+
+ This file is part of the GNU OpenMP Library (libgomp).
+@@ -28,10 +28,8 @@
+ /* Provide target-specific access to the futex system call. */
+
+ #include <sys/syscall.h>
+-#define FUTEX_WAIT 0
+-#define FUTEX_WAKE 1
+
+-static inline void
++static inline long
+ sys_futex0 (int *addr, int op, int val)
+ {
+ register long int g1 __asm__ ("g1");
+@@ -47,9 +45,9 @@ sys_futex0 (int *addr, int op, int val)
+ o3 = 0;
+
+ #ifdef __arch64__
+-# define SYSCALL_STRING "ta\t0x6d"
++# define SYSCALL_STRING "ta\t0x6d; bcs,a,pt %%xcc, 1f; sub %%g0, %%o0, %%o0; 1:"
+ #else
+-# define SYSCALL_STRING "ta\t0x10"
++# define SYSCALL_STRING "ta\t0x10; bcs,a 1f; sub %%g0, %%o0, %%o0; 1:"
+ #endif
+
+ __asm volatile (SYSCALL_STRING
+@@ -65,16 +63,49 @@ sys_futex0 (int *addr, int op, int val)
+ "f48", "f50", "f52", "f54", "f56", "f58", "f60", "f62",
+ #endif
+ "cc", "memory");
++ return o0;
+ }
+
+ static inline void
+ futex_wait (int *addr, int val)
+ {
+- sys_futex0 (addr, FUTEX_WAIT, val);
++ long err = sys_futex0 (addr, gomp_futex_wait, val);
++ if (__builtin_expect (err == ENOSYS, 0))
++ {
++ gomp_futex_wait &= ~FUTEX_PRIVATE_FLAG;
++ gomp_futex_wake &= ~FUTEX_PRIVATE_FLAG;
++ sys_futex0 (addr, gomp_futex_wait, val);
++ }
+ }
+
+ static inline void
+ futex_wake (int *addr, int count)
+ {
+- sys_futex0 (addr, FUTEX_WAKE, count);
++ long err = sys_futex0 (addr, gomp_futex_wake, count);
++ if (__builtin_expect (err == ENOSYS, 0))
++ {
++ gomp_futex_wait &= ~FUTEX_PRIVATE_FLAG;
++ gomp_futex_wake &= ~FUTEX_PRIVATE_FLAG;
++ sys_futex0 (addr, gomp_futex_wake, count);
++ }
++}
++
++static inline void
++cpu_relax (void)
++{
++#if defined __arch64__ || defined __sparc_v9__
++ __asm volatile ("membar #LoadLoad" : : : "memory");
++#else
++ __asm volatile ("" : : : "memory");
++#endif
++}
++
++static inline void
++atomic_write_barrier (void)
++{
++#if defined __arch64__ || defined __sparc_v9__
++ __asm volatile ("membar #StoreStore" : : : "memory");
++#else
++ __sync_synchronize ();
++#endif
+ }
+--- libgomp/config/linux/ia64/futex.h.jj 2007-12-07 14:41:00.000000000 +0100
++++ libgomp/config/linux/ia64/futex.h 2008-03-26 15:11:32.000000000 +0100
+@@ -1,4 +1,4 @@
+-/* Copyright (C) 2005 Free Software Foundation, Inc.
++/* Copyright (C) 2005, 2008 Free Software Foundation, Inc.
+ Contributed by Richard Henderson <rth@redhat.com>.
+
+ This file is part of the GNU OpenMP Library (libgomp).
+@@ -29,23 +29,24 @@
+
+ #include <sys/syscall.h>
+
+-#define FUTEX_WAIT 0
+-#define FUTEX_WAKE 1
+
+
+-static inline void
+-sys_futex0(int *addr, int op, int val)
++static inline long
++sys_futex0(int *addr, long op, int val)
+ {
+ register long out0 asm ("out0") = (long) addr;
+ register long out1 asm ("out1") = op;
+ register long out2 asm ("out2") = val;
+ register long out3 asm ("out3") = 0;
++ register long r8 asm ("r8");
++ register long r10 asm ("r10");
+ register long r15 asm ("r15") = SYS_futex;
+
+ __asm __volatile ("break 0x100000"
+- : "=r"(r15), "=r"(out0), "=r"(out1), "=r"(out2), "=r"(out3)
++ : "=r"(r15), "=r"(out0), "=r"(out1), "=r"(out2), "=r"(out3),
++ "=r"(r8), "=r"(r10)
+ : "r"(r15), "r"(out0), "r"(out1), "r"(out2), "r"(out3)
+- : "memory", "r8", "r10", "out4", "out5", "out6", "out7",
++ : "memory", "out4", "out5", "out6", "out7",
+ /* Non-stacked integer registers, minus r8, r10, r15. */
+ "r2", "r3", "r9", "r11", "r12", "r13", "r14", "r16", "r17", "r18",
+ "r19", "r20", "r21", "r22", "r23", "r24", "r25", "r26", "r27",
+@@ -56,16 +57,41 @@ sys_futex0(int *addr, int op, int val)
+ "f6", "f7", "f8", "f9", "f10", "f11", "f12", "f13", "f14", "f15",
+ /* Branch registers. */
+ "b6");
++ return r8 & r10;
+ }
+
+ static inline void
+ futex_wait (int *addr, int val)
+ {
+- sys_futex0 (addr, FUTEX_WAIT, val);
++ long err = sys_futex0 (addr, gomp_futex_wait, val);
++ if (__builtin_expect (err == ENOSYS, 0))
++ {
++ gomp_futex_wait &= ~FUTEX_PRIVATE_FLAG;
++ gomp_futex_wake &= ~FUTEX_PRIVATE_FLAG;
++ sys_futex0 (addr, gomp_futex_wait, val);
++ }
+ }
+
+ static inline void
+ futex_wake (int *addr, int count)
+ {
+- sys_futex0 (addr, FUTEX_WAKE, count);
++ long err = sys_futex0 (addr, gomp_futex_wake, count);
++ if (__builtin_expect (err == ENOSYS, 0))
++ {
++ gomp_futex_wait &= ~FUTEX_PRIVATE_FLAG;
++ gomp_futex_wake &= ~FUTEX_PRIVATE_FLAG;
++ sys_futex0 (addr, gomp_futex_wake, count);
++ }
++}
++
++static inline void
++cpu_relax (void)
++{
++ __asm volatile ("hint @pause" : : : "memory");
++}
++
++static inline void
++atomic_write_barrier (void)
++{
++ __sync_synchronize ();
+ }
+--- libgomp/config/linux/s390/futex.h.jj 2007-12-07 14:41:00.000000000 +0100
++++ libgomp/config/linux/s390/futex.h 2008-03-26 15:11:32.000000000 +0100
+@@ -1,4 +1,4 @@
+-/* Copyright (C) 2005 Free Software Foundation, Inc.
++/* Copyright (C) 2005, 2008 Free Software Foundation, Inc.
+ Contributed by Jakub Jelinek <jakub@redhat.com>.
+
+ This file is part of the GNU OpenMP Library (libgomp).
+@@ -28,10 +28,8 @@
+ /* Provide target-specific access to the futex system call. */
+
+ #include <sys/syscall.h>
+-#define FUTEX_WAIT 0
+-#define FUTEX_WAKE 1
+
+-static inline void
++static inline long
+ sys_futex0 (int *addr, int op, int val)
+ {
+ register long int gpr2 __asm__ ("2");
+@@ -49,16 +47,41 @@ sys_futex0 (int *addr, int op, int val)
+ : "i" (SYS_futex),
+ "0" (gpr2), "d" (gpr3), "d" (gpr4), "d" (gpr5)
+ : "memory");
++ return gpr2;
+ }
+
+ static inline void
+ futex_wait (int *addr, int val)
+ {
+- sys_futex0 (addr, FUTEX_WAIT, val);
++ long err = sys_futex0 (addr, gomp_futex_wait, val);
++ if (__builtin_expect (err == -ENOSYS, 0))
++ {
++ gomp_futex_wait &= ~FUTEX_PRIVATE_FLAG;
++ gomp_futex_wake &= ~FUTEX_PRIVATE_FLAG;
++ sys_futex0 (addr, gomp_futex_wait, val);
++ }
+ }
+
+ static inline void
+ futex_wake (int *addr, int count)
+ {
+- sys_futex0 (addr, FUTEX_WAKE, count);
++ long err = sys_futex0 (addr, gomp_futex_wake, count);
++ if (__builtin_expect (err == -ENOSYS, 0))
++ {
++ gomp_futex_wait &= ~FUTEX_PRIVATE_FLAG;
++ gomp_futex_wake &= ~FUTEX_PRIVATE_FLAG;
++ sys_futex0 (addr, gomp_futex_wake, count);
++ }
++}
++
++static inline void
++cpu_relax (void)
++{
++ __asm volatile ("" : : : "memory");
++}
++
++static inline void
++atomic_write_barrier (void)
++{
++ __sync_synchronize ();
+ }
+--- libgomp/config/linux/mutex.c.jj 2007-12-07 14:41:00.000000000 +0100
++++ libgomp/config/linux/mutex.c 2008-03-26 15:11:32.000000000 +0100
+@@ -1,4 +1,4 @@
+-/* Copyright (C) 2005 Free Software Foundation, Inc.
++/* Copyright (C) 2005, 2008 Free Software Foundation, Inc.
+ Contributed by Richard Henderson <rth@redhat.com>.
+
+ This file is part of the GNU OpenMP Library (libgomp).
+@@ -29,9 +29,10 @@
+ mechanism for libgomp. This type is private to the library. This
+ implementation uses atomic instructions and the futex syscall. */
+
+-#include "libgomp.h"
+-#include "futex.h"
++#include "wait.h"
+
++long int gomp_futex_wake = FUTEX_WAKE | FUTEX_PRIVATE_FLAG;
++long int gomp_futex_wait = FUTEX_WAIT | FUTEX_PRIVATE_FLAG;
+
+ void
+ gomp_mutex_lock_slow (gomp_mutex_t *mutex)
+@@ -40,7 +41,7 @@ gomp_mutex_lock_slow (gomp_mutex_t *mute
+ {
+ int oldval = __sync_val_compare_and_swap (mutex, 1, 2);
+ if (oldval != 0)
+- futex_wait (mutex, 2);
++ do_wait (mutex, 2);
+ }
+ while (!__sync_bool_compare_and_swap (mutex, 0, 2));
+ }
+--- libgomp/config/linux/sem.c.jj 2007-12-07 14:41:00.000000000 +0100
++++ libgomp/config/linux/sem.c 2008-03-26 15:11:32.000000000 +0100
+@@ -1,4 +1,4 @@
+-/* Copyright (C) 2005 Free Software Foundation, Inc.
++/* Copyright (C) 2005, 2008 Free Software Foundation, Inc.
+ Contributed by Richard Henderson <rth@redhat.com>.
+
+ This file is part of the GNU OpenMP Library (libgomp).
+@@ -29,8 +29,7 @@
+ mechanism for libgomp. This type is private to the library. This
+ implementation uses atomic instructions and the futex syscall. */
+
+-#include "libgomp.h"
+-#include "futex.h"
++#include "wait.h"
+
+
+ void
+@@ -44,7 +43,7 @@ gomp_sem_wait_slow (gomp_sem_t *sem)
+ if (__sync_bool_compare_and_swap (sem, val, val - 1))
+ return;
+ }
+- futex_wait (sem, -1);
++ do_wait (sem, -1);
+ }
+ }
+
+--- libgomp/config/linux/powerpc/futex.h.jj 2007-12-07 14:41:00.000000000 +0100
++++ libgomp/config/linux/powerpc/futex.h 2008-03-26 15:11:32.000000000 +0100
+@@ -1,4 +1,4 @@
+-/* Copyright (C) 2005 Free Software Foundation, Inc.
++/* Copyright (C) 2005, 2008 Free Software Foundation, Inc.
+ Contributed by Richard Henderson <rth@redhat.com>.
+
+ This file is part of the GNU OpenMP Library (libgomp).
+@@ -28,10 +28,8 @@
+ /* Provide target-specific access to the futex system call. */
+
+ #include <sys/syscall.h>
+-#define FUTEX_WAIT 0
+-#define FUTEX_WAKE 1
+
+-static inline void
++static inline long
+ sys_futex0 (int *addr, int op, int val)
+ {
+ register long int r0 __asm__ ("r0");
+@@ -50,21 +48,48 @@ sys_futex0 (int *addr, int op, int val)
+ doesn't. It doesn't much matter for us. In the interest of unity,
+ go ahead and clobber it always. */
+
+- __asm volatile ("sc"
++ __asm volatile ("sc; mfcr %0"
+ : "=r"(r0), "=r"(r3), "=r"(r4), "=r"(r5), "=r"(r6)
+ : "r"(r0), "r"(r3), "r"(r4), "r"(r5), "r"(r6)
+ : "r7", "r8", "r9", "r10", "r11", "r12",
+ "cr0", "ctr", "memory");
++ if (__builtin_expect (r0 & (1 << 28), 0))
++ return r3;
++ return 0;
+ }
+
+ static inline void
+ futex_wait (int *addr, int val)
+ {
+- sys_futex0 (addr, FUTEX_WAIT, val);
++ long err = sys_futex0 (addr, gomp_futex_wait, val);
++ if (__builtin_expect (err == ENOSYS, 0))
++ {
++ gomp_futex_wait &= ~FUTEX_PRIVATE_FLAG;
++ gomp_futex_wake &= ~FUTEX_PRIVATE_FLAG;
++ sys_futex0 (addr, gomp_futex_wait, val);
++ }
+ }
+
+ static inline void
+ futex_wake (int *addr, int count)
+ {
+- sys_futex0 (addr, FUTEX_WAKE, count);
++ long err = sys_futex0 (addr, gomp_futex_wake, count);
++ if (__builtin_expect (err == ENOSYS, 0))
++ {
++ gomp_futex_wait &= ~FUTEX_PRIVATE_FLAG;
++ gomp_futex_wake &= ~FUTEX_PRIVATE_FLAG;
++ sys_futex0 (addr, gomp_futex_wake, count);
++ }
++}
++
++static inline void
++cpu_relax (void)
++{
++ __asm volatile ("" : : : "memory");
++}
++
++static inline void
++atomic_write_barrier (void)
++{
++ __asm volatile ("eieio" : : : "memory");
+ }
+--- libgomp/config/linux/bar.c.jj 2007-12-07 14:41:00.000000000 +0100
++++ libgomp/config/linux/bar.c 2008-03-26 15:11:32.000000000 +0100
+@@ -1,4 +1,4 @@
+-/* Copyright (C) 2005 Free Software Foundation, Inc.
++/* Copyright (C) 2005, 2008 Free Software Foundation, Inc.
+ Contributed by Richard Henderson <rth@redhat.com>.
+
+ This file is part of the GNU OpenMP Library (libgomp).
+@@ -29,32 +29,29 @@
+ mechanism for libgomp. This type is private to the library. This
+ implementation uses atomic instructions and the futex syscall. */
+
+-#include "libgomp.h"
+-#include "futex.h"
+ #include <limits.h>
++#include "wait.h"
+
+
+ void
+-gomp_barrier_wait_end (gomp_barrier_t *bar, bool last)
++gomp_barrier_wait_end (gomp_barrier_t *bar, gomp_barrier_state_t state)
+ {
+- if (last)
++ if (__builtin_expect ((state & 1) != 0, 0))
+ {
+- bar->generation++;
+- futex_wake (&bar->generation, INT_MAX);
++ /* Next time we'll be awaiting TOTAL threads again. */
++ bar->awaited = bar->total;
++ atomic_write_barrier ();
++ bar->generation += 2;
++ futex_wake ((int *) &bar->generation, INT_MAX);
+ }
+ else
+ {
+- unsigned int generation = bar->generation;
+-
+- gomp_mutex_unlock (&bar->mutex);
++ unsigned int generation = state;
+
+ do
+- futex_wait (&bar->generation, generation);
++ do_wait ((int *) &bar->generation, generation);
+ while (bar->generation == generation);
+ }
+-
+- if (__sync_add_and_fetch (&bar->arrived, -1) == 0)
+- gomp_mutex_unlock (&bar->mutex);
+ }
+
+ void
+@@ -62,3 +59,18 @@ gomp_barrier_wait (gomp_barrier_t *barri
+ {
+ gomp_barrier_wait_end (barrier, gomp_barrier_wait_start (barrier));
+ }
++
++/* Like gomp_barrier_wait, except that if the encountering thread
++ is not the last one to hit the barrier, it returns immediately.
++ The intended usage is that a thread which intends to gomp_barrier_destroy
++ this barrier calls gomp_barrier_wait, while all other threads
++ call gomp_barrier_wait_last. When gomp_barrier_wait returns,
++ the barrier can be safely destroyed. */
++
++void
++gomp_barrier_wait_last (gomp_barrier_t *barrier)
++{
++ gomp_barrier_state_t state = gomp_barrier_wait_start (barrier);
++ if (state & 1)
++ gomp_barrier_wait_end (barrier, state);
++}
diff --git a/recipes/gcc/gcc-4.4.0/fedora/gcc43-ppc32-retaddr.patch b/recipes/gcc/gcc-4.4.0/fedora/gcc43-ppc32-retaddr.patch
new file mode 100644
index 0000000000..e9ae1bc303
--- /dev/null
+++ b/recipes/gcc/gcc-4.4.0/fedora/gcc43-ppc32-retaddr.patch
@@ -0,0 +1,86 @@
+2005-11-28 Jakub Jelinek <jakub@redhat.com>
+
+ * config/rs6000/rs6000.c (rs6000_return_addr): If COUNT == 0,
+ read word RETURN_ADDRESS_OFFSET bytes above arg_pointer_rtx
+ instead of doing an extran indirection from frame_pointer_rtx.
+
+ * gcc.dg/20051128-1.c: New test.
+
+--- gcc/config/rs6000/rs6000.c.jj 2005-11-26 14:38:01.000000000 +0100
++++ gcc/config/rs6000/rs6000.c 2005-11-28 20:32:18.000000000 +0100
+@@ -13166,17 +13166,22 @@ rs6000_return_addr (int count, rtx frame
+ don't try to be too clever here. */
+ if (count != 0 || (DEFAULT_ABI != ABI_AIX && flag_pic))
+ {
++ rtx x;
+ cfun->machine->ra_needs_full_frame = 1;
+
+- return
+- gen_rtx_MEM
+- (Pmode,
+- memory_address
+- (Pmode,
+- plus_constant (copy_to_reg
+- (gen_rtx_MEM (Pmode,
+- memory_address (Pmode, frame))),
+- RETURN_ADDRESS_OFFSET)));
++ if (count == 0)
++ {
++ gcc_assert (frame == frame_pointer_rtx);
++ x = arg_pointer_rtx;
++ }
++ else
++ {
++ x = memory_address (Pmode, frame);
++ x = copy_to_reg (gen_rtx_MEM (Pmode, x));
++ }
++
++ x = plus_constant (x, RETURN_ADDRESS_OFFSET);
++ return gen_rtx_MEM (Pmode, memory_address (Pmode, x));
+ }
+
+ cfun->machine->ra_need_lr = 1;
+--- gcc/testsuite/gcc.dg/20051128-1.c.jj 2005-10-10 11:21:41.096999000 +0200
++++ gcc/testsuite/gcc.dg/20051128-1.c 2005-11-28 12:30:57.000000000 +0100
+@@ -0,0 +1,41 @@
++/* { dg-do run } */
++/* { dg-options "-O2 -fpic" } */
++
++extern void exit (int);
++extern void abort (void);
++
++int b;
++
++struct A
++{
++ void *pad[147];
++ void *ra, *h;
++ long o;
++};
++
++void
++__attribute__((noinline))
++foo (struct A *a, void *x)
++{
++ __builtin_memset (a, 0, sizeof (a));
++ if (!b)
++ exit (0);
++}
++
++void
++__attribute__((noinline))
++bar (void)
++{
++ struct A a;
++
++ __builtin_unwind_init ();
++ foo (&a, __builtin_return_address (0));
++}
++
++int
++main (void)
++{
++ bar ();
++ abort ();
++ return 0;
++}
diff --git a/recipes/gcc/gcc-4.4.0/fedora/gcc43-pr27898.patch b/recipes/gcc/gcc-4.4.0/fedora/gcc43-pr27898.patch
new file mode 100644
index 0000000000..172bb81171
--- /dev/null
+++ b/recipes/gcc/gcc-4.4.0/fedora/gcc43-pr27898.patch
@@ -0,0 +1,16 @@
+2006-08-18 Jakub Jelinek <jakub@redhat.com>
+
+ PR c/27898
+ * gcc.dg/pr27898.c: New test.
+
+--- gcc/testsuite/gcc.dg/pr27898.c.jj 2006-08-18 09:19:33.000000000 +0200
++++ gcc/testsuite/gcc.dg/pr27898.c 2006-08-18 09:19:27.000000000 +0200
+@@ -0,0 +1,8 @@
++/* PR c/27898 */
++/* { dg-do compile } */
++/* { dg-options "--combine" } */
++/* { dg-additional-sources "pr27898.c" } */
++
++union u { struct { int i; }; };
++
++extern int foo (union u *);
diff --git a/recipes/gcc/gcc-4.4.0/fedora/gcc43-pr32139.patch b/recipes/gcc/gcc-4.4.0/fedora/gcc43-pr32139.patch
new file mode 100644
index 0000000000..f35696703d
--- /dev/null
+++ b/recipes/gcc/gcc-4.4.0/fedora/gcc43-pr32139.patch
@@ -0,0 +1,19 @@
+2007-06-01 Jakub Jelinek <jakub@redhat.com>
+
+ PR tree-optimization/32139
+ * gcc.c-torture/compile/20070531-1.c: New test.
+
+--- gcc/testsuite/gcc.c-torture/compile/20070531-1.c.jj 2007-05-31 13:47:22.000000000 +0200
++++ gcc/testsuite/gcc.c-torture/compile/20070531-1.c 2007-06-01 10:57:15.000000000 +0200
+@@ -0,0 +1,11 @@
++/* PR tree-optimization/32139 */
++int foo (void);
++int bar (void) __attribute__ ((const));
++
++int
++test (int x)
++{
++ int a = (x == 10000 ? foo : bar) ();
++ int b = (x == 10000 ? foo : bar) ();
++ return a + b;
++}
diff --git a/recipes/gcc/gcc-4.4.0/fedora/gcc43-pr33763.patch b/recipes/gcc/gcc-4.4.0/fedora/gcc43-pr33763.patch
new file mode 100644
index 0000000000..9e9c90d271
--- /dev/null
+++ b/recipes/gcc/gcc-4.4.0/fedora/gcc43-pr33763.patch
@@ -0,0 +1,153 @@
+2007-11-06 Jakub Jelinek <jakub@redhat.com>
+
+ PR tree-optimization/33763
+ * gcc.dg/pr33763.c: New test.
+ * g++.dg/opt/inline13.C: New test.
+
+2007-11-06 Jan Hubicka <jh@suse.cz>
+
+ PR tree-optimization/33763
+ * tree-inline.c (expand_call_inline): Silently ignore always_inline
+ attribute for redefined extern inline functions.
+
+--- gcc/tree-inline.c.jj 2007-11-06 09:29:04.000000000 +0100
++++ gcc/tree-inline.c 2007-11-06 16:19:12.000000000 +0100
+@@ -2582,6 +2582,12 @@ expand_call_inline (basic_block bb, tree
+ if (!cgraph_inline_p (cg_edge, &reason))
+ {
+ if (lookup_attribute ("always_inline", DECL_ATTRIBUTES (fn))
++ /* For extern inline functions that get redefined we always
++ silently ignored alway_inline flag. Better behaviour would
++ be to be able to keep both bodies and use extern inline body
++ for inlining, but we can't do that because frontends overwrite
++ the body. */
++ && !cg_edge->callee->local.redefined_extern_inline
+ /* Avoid warnings during early inline pass. */
+ && (!flag_unit_at_a_time || cgraph_global_info_ready))
+ {
+--- gcc/testsuite/gcc.dg/pr33763.c.jj 2007-11-06 16:19:12.000000000 +0100
++++ gcc/testsuite/gcc.dg/pr33763.c 2007-11-06 16:19:12.000000000 +0100
+@@ -0,0 +1,60 @@
++/* PR tree-optimization/33763 */
++/* { dg-do compile } */
++/* { dg-options "-O2" } */
++
++typedef struct
++{
++ void *a;
++ void *b;
++} T;
++extern void *foo (const char *, const char *);
++extern void *bar (void *, const char *, T);
++extern int baz (const char *, int);
++
++extern inline __attribute__ ((always_inline, gnu_inline)) int
++baz (const char *x, int y)
++{
++ return 2;
++}
++
++int
++baz (const char *x, int y)
++{
++ return 1;
++}
++
++int xa, xb;
++
++static void *
++inl (const char *x, const char *y)
++{
++ T t = { &xa, &xb };
++ int *f = (int *) __builtin_malloc (sizeof (int));
++ const char *z;
++ int o = 0;
++ void *r = 0;
++
++ for (z = y; *z; z++)
++ {
++ if (*z == 'r')
++ o |= 1;
++ if (*z == 'w')
++ o |= 2;
++ }
++ if (o == 1)
++ *f = baz (x, 0);
++ if (o == 2)
++ *f = baz (x, 1);
++ if (o == 3)
++ *f = baz (x, 2);
++
++ if (o && *f > 0)
++ r = bar (f, "w", t);
++ return r;
++}
++
++void *
++foo (const char *x, const char *y)
++{
++ return inl (x, y);
++}
+--- gcc/testsuite/g++.dg/opt/inline13.C.jj 2007-11-06 16:20:20.000000000 +0100
++++ gcc/testsuite/g++.dg/opt/inline13.C 2007-11-06 16:21:30.000000000 +0100
+@@ -0,0 +1,60 @@
++// PR tree-optimization/33763
++// { dg-do compile }
++// { dg-options "-O2" }
++
++typedef struct
++{
++ void *a;
++ void *b;
++} T;
++extern void *foo (const char *, const char *);
++extern void *bar (void *, const char *, T);
++extern int baz (const char *, int);
++
++extern inline __attribute__ ((always_inline, gnu_inline)) int
++baz (const char *x, int y)
++{
++ return 2;
++}
++
++int
++baz (const char *x, int y)
++{
++ return 1;
++}
++
++int xa, xb;
++
++static void *
++inl (const char *x, const char *y)
++{
++ T t = { &xa, &xb };
++ int *f = (int *) __builtin_malloc (sizeof (int));
++ const char *z;
++ int o = 0;
++ void *r = 0;
++
++ for (z = y; *z; z++)
++ {
++ if (*z == 'r')
++ o |= 1;
++ if (*z == 'w')
++ o |= 2;
++ }
++ if (o == 1)
++ *f = baz (x, 0);
++ if (o == 2)
++ *f = baz (x, 1);
++ if (o == 3)
++ *f = baz (x, 2);
++
++ if (o && *f > 0)
++ r = bar (f, "w", t);
++ return r;
++}
++
++void *
++foo (const char *x, const char *y)
++{
++ return inl (x, y);
++}
diff --git a/recipes/gcc/gcc-4.4.0/fedora/gcc43-pr35440.patch b/recipes/gcc/gcc-4.4.0/fedora/gcc43-pr35440.patch
new file mode 100644
index 0000000000..6bf3f0d9d8
--- /dev/null
+++ b/recipes/gcc/gcc-4.4.0/fedora/gcc43-pr35440.patch
@@ -0,0 +1,56 @@
+2008-03-19 Jakub Jelinek <jakub@redhat.com>
+
+ PR c/35440
+ * c-pretty-print.c (pp_c_initializer_list): Handle CONSTRUCTOR
+ for all types.
+
+ * gcc.dg/pr35440.c: New test.
+
+--- gcc/c-pretty-print.c.jj 2008-02-11 14:48:12.000000000 +0100
++++ gcc/c-pretty-print.c 2008-03-19 14:50:09.000000000 +0100
+@@ -1173,6 +1173,12 @@ pp_c_initializer_list (c_pretty_printer
+ tree type = TREE_TYPE (e);
+ const enum tree_code code = TREE_CODE (type);
+
++ if (TREE_CODE (e) == CONSTRUCTOR)
++ {
++ pp_c_constructor_elts (pp, CONSTRUCTOR_ELTS (e));
++ return;
++ }
++
+ switch (code)
+ {
+ case RECORD_TYPE:
+@@ -1207,16 +1213,12 @@ pp_c_initializer_list (c_pretty_printer
+ case VECTOR_TYPE:
+ if (TREE_CODE (e) == VECTOR_CST)
+ pp_c_expression_list (pp, TREE_VECTOR_CST_ELTS (e));
+- else if (TREE_CODE (e) == CONSTRUCTOR)
+- pp_c_constructor_elts (pp, CONSTRUCTOR_ELTS (e));
+ else
+ break;
+ return;
+
+ case COMPLEX_TYPE:
+- if (TREE_CODE (e) == CONSTRUCTOR)
+- pp_c_constructor_elts (pp, CONSTRUCTOR_ELTS (e));
+- else if (TREE_CODE (e) == COMPLEX_CST || TREE_CODE (e) == COMPLEX_EXPR)
++ if (TREE_CODE (e) == COMPLEX_CST || TREE_CODE (e) == COMPLEX_EXPR)
+ {
+ const bool cst = TREE_CODE (e) == COMPLEX_CST;
+ pp_expression (pp, cst ? TREE_REALPART (e) : TREE_OPERAND (e, 0));
+--- gcc/testsuite/gcc.dg/pr35440.c.jj 2008-03-19 15:57:13.000000000 +0100
++++ gcc/testsuite/gcc.dg/pr35440.c 2008-03-19 15:47:35.000000000 +0100
+@@ -0,0 +1,12 @@
++/* PR c/35440 */
++/* { dg-do compile } */
++/* { dg-options "-std=gnu99" } */
++
++struct A {};
++struct B { int i; char j[2]; };
++
++void foo (void)
++{
++ (struct A){}(); /* { dg-error "called object" } */
++ (struct B){ .i = 2, .j[1] = 1 }(); /* { dg-error "called object" } */
++}
diff --git a/recipes/gcc/gcc-4.4.0/fedora/gcc43-pr35751.patch b/recipes/gcc/gcc-4.4.0/fedora/gcc43-pr35751.patch
new file mode 100644
index 0000000000..37b84275e2
--- /dev/null
+++ b/recipes/gcc/gcc-4.4.0/fedora/gcc43-pr35751.patch
@@ -0,0 +1,114 @@
+2008-04-03 Jakub Jelinek <jakub@redhat.com>
+
+ PR c/35751
+ * c-decl.c (finish_decl): If extern or static var has variable
+ size, set TREE_TYPE (decl) to error_mark_node.
+
+ * decl.c (layout_var_decl): If extern or static var has variable
+ size, set TREE_TYPE (decl) to error_mark_node.
+
+ * gcc.dg/gomp/pr35751.c: New test.
+ * g++.dg/gomp/pr35751.C: New test.
+
+--- gcc/c-decl.c.jj 2008-04-03 09:41:42.000000000 +0200
++++ gcc/c-decl.c 2008-04-03 18:20:52.000000000 +0200
+@@ -3481,7 +3481,10 @@ finish_decl (tree decl, tree init, tree
+ if (TREE_CODE (DECL_SIZE (decl)) == INTEGER_CST)
+ constant_expression_warning (DECL_SIZE (decl));
+ else
+- error ("storage size of %q+D isn%'t constant", decl);
++ {
++ error ("storage size of %q+D isn%'t constant", decl);
++ TREE_TYPE (decl) = error_mark_node;
++ }
+ }
+
+ if (TREE_USED (type))
+--- gcc/cp/decl.c.jj 2008-03-31 23:54:40.000000000 +0200
++++ gcc/cp/decl.c 2008-04-03 18:30:19.000000000 +0200
+@@ -4442,7 +4442,10 @@ layout_var_decl (tree decl)
+ if (TREE_CODE (DECL_SIZE (decl)) == INTEGER_CST)
+ constant_expression_warning (DECL_SIZE (decl));
+ else
+- error ("storage size of %qD isn't constant", decl);
++ {
++ error ("storage size of %qD isn't constant", decl);
++ TREE_TYPE (decl) = error_mark_node;
++ }
+ }
+ }
+
+--- gcc/testsuite/gcc.dg/gomp/pr35751.c.jj 2008-04-03 18:26:12.000000000 +0200
++++ gcc/testsuite/gcc.dg/gomp/pr35751.c 2008-04-03 18:25:51.000000000 +0200
+@@ -0,0 +1,34 @@
++/* PR c/35751 */
++/* { dg-do compile } */
++/* { dg-options "-fopenmp" } */
++
++void
++foo (int i)
++{
++ extern int a[i]; /* { dg-error "must have no linkage|storage size of" } */
++ static int b[i]; /* { dg-error "storage size of" } */
++
++#pragma omp parallel
++ {
++ a[0] = 0;
++ b[0] = 0;
++ }
++
++#pragma omp parallel shared (a, b)
++ {
++ a[0] = 0;
++ b[0] = 0;
++ }
++
++#pragma omp parallel private (a, b)
++ {
++ a[0] = 0;
++ b[0] = 0;
++ }
++
++#pragma omp parallel firstprivate (a, b)
++ {
++ a[0] = 0;
++ b[0] = 0;
++ }
++}
+--- gcc/testsuite/g++.dg/gomp/pr35751.C.jj 2008-04-03 18:32:13.000000000 +0200
++++ gcc/testsuite/g++.dg/gomp/pr35751.C 2008-04-03 18:32:32.000000000 +0200
+@@ -0,0 +1,34 @@
++// PR c/35751
++// { dg-do compile }
++// { dg-options "-fopenmp" }
++
++void
++foo (int i)
++{
++ extern int a[i]; // { dg-error "storage size of" }
++ static int b[i]; // { dg-error "storage size of" }
++
++#pragma omp parallel
++ {
++ a[0] = 0;
++ b[0] = 0;
++ }
++
++#pragma omp parallel shared (a, b)
++ {
++ a[0] = 0;
++ b[0] = 0;
++ }
++
++#pragma omp parallel private (a, b)
++ {
++ a[0] = 0;
++ b[0] = 0;
++ }
++
++#pragma omp parallel firstprivate (a, b)
++ {
++ a[0] = 0;
++ b[0] = 0;
++ }
++}
diff --git a/recipes/gcc/gcc-4.4.0/fedora/gcc43-rh251682.patch b/recipes/gcc/gcc-4.4.0/fedora/gcc43-rh251682.patch
new file mode 100644
index 0000000000..e96ae6f134
--- /dev/null
+++ b/recipes/gcc/gcc-4.4.0/fedora/gcc43-rh251682.patch
@@ -0,0 +1,89 @@
+2008-04-01 Jakub Jelinek <jakub@redhat.com>
+
+ PR pch/13675
+ * files.c (struct _cpp_file): Remove pch field.
+ (pch_open_file): Don't set file->pch, just file->pchname.
+ (should_stack_file): After pfile->cb.read_pch call
+ free pchname and clear pchname, don't close file->fd.
+ Test file->pchname instead of file->pch. Don't close fd after cb.
+ (_cpp_stack_include): Test file->pchname instead of file->pch.
+
+ * c-pch.c (c_common_read_pch): On error close (fd) resp. fclose (f).
+
+--- libcpp/files.c.jj 2008-02-18 23:50:17.000000000 +0100
++++ libcpp/files.c 2008-03-31 15:59:01.000000000 +0200
+@@ -106,9 +106,6 @@ struct _cpp_file
+
+ /* If BUFFER above contains the true contents of the file. */
+ bool buffer_valid;
+-
+- /* File is a PCH (on return from find_include_file). */
+- bool pch;
+ };
+
+ /* A singly-linked list for all searches for a given file name, with
+@@ -322,9 +319,7 @@ pch_open_file (cpp_reader *pfile, _cpp_f
+ }
+ closedir (pchdir);
+ }
+- if (valid)
+- file->pch = true;
+- else
++ if (!valid)
+ *invalid_pch = true;
+ }
+
+@@ -703,11 +698,12 @@ should_stack_file (cpp_reader *pfile, _c
+ return false;
+
+ /* Handle PCH files immediately; don't stack them. */
+- if (file->pch)
++ if (file->pchname)
+ {
+ pfile->cb.read_pch (pfile, file->pchname, file->fd, file->path);
+- close (file->fd);
+ file->fd = -1;
++ free ((void *) file->pchname);
++ file->pchname = NULL;
+ return false;
+ }
+
+@@ -916,7 +912,7 @@ _cpp_stack_include (cpp_reader *pfile, c
+ complicates LAST_SOURCE_LINE_LOCATION. This does not apply if we
+ found a PCH file (in which case linemap_add is not called) or we
+ were included from the command-line. */
+- if (! file->pch && file->err_no == 0 && type != IT_CMDLINE)
++ if (file->pchname == NULL && file->err_no == 0 && type != IT_CMDLINE)
+ pfile->line_table->highest_location--;
+
+ return _cpp_stack_file (pfile, file, type == IT_IMPORT);
+--- gcc/c-pch.c.jj 2008-02-18 23:46:08.000000000 +0100
++++ gcc/c-pch.c 2008-03-31 15:56:00.000000000 +0200
+@@ -372,6 +372,7 @@ c_common_read_pch (cpp_reader *pfile, co
+ if (f == NULL)
+ {
+ cpp_errno (pfile, CPP_DL_ERROR, "calling fdopen");
++ close (fd);
+ return;
+ }
+
+@@ -380,6 +381,7 @@ c_common_read_pch (cpp_reader *pfile, co
+ if (fread (&h, sizeof (h), 1, f) != 1)
+ {
+ cpp_errno (pfile, CPP_DL_ERROR, "reading");
++ fclose (f);
+ return;
+ }
+
+@@ -425,7 +427,10 @@ c_common_read_pch (cpp_reader *pfile, co
+ gt_pch_restore (f);
+
+ if (cpp_read_state (pfile, name, f, smd) != 0)
+- return;
++ {
++ fclose (f);
++ return;
++ }
+
+ fclose (f);
+
diff --git a/recipes/gcc/gcc-4.4.0/fedora/gcc43-rh330771.patch b/recipes/gcc/gcc-4.4.0/fedora/gcc43-rh330771.patch
new file mode 100644
index 0000000000..c894f83b43
--- /dev/null
+++ b/recipes/gcc/gcc-4.4.0/fedora/gcc43-rh330771.patch
@@ -0,0 +1,34 @@
+2007-10-16 Jakub Jelinek <jakub@redhat.com>
+
+ * Makefile.am (libgcj_tools_la_LIBADD): Add.
+ * Makefile.in: Regenerated.
+
+--- libjava/Makefile.am.jj 2007-03-17 09:20:30.000000000 +0100
++++ libjava/Makefile.am 2007-10-16 15:45:14.000000000 +0200
+@@ -262,6 +262,8 @@ EXTRA_libgcj_la_SOURCES = java/lang/Obje
+
+ libgcj_tools_la_SOURCES = classpath/tools/tools.zip
+ libgcj_tools_la_GCJFLAGS = $(AM_GCJFLAGS) -findirect-dispatch -fno-indirect-classes -fsource-filename=$(here)/classpath/tools/all-classes.lst
++## See jv_convert_LDADD.
++libgcj_tools_la_LIBADD = -L$(here)/.libs libgcj.la
+ libgcj_tools_la_LDFLAGS = -rpath $(toolexeclibdir) \
+ -version-info `grep -v '^\#' $(srcdir)/libtool-version`
+ libgcj_tools_la_DEPENDENCIES = libgcj.la libgcj.spec
+--- libjava/Makefile.in.jj 2007-07-04 21:11:11.000000000 +0200
++++ libjava/Makefile.in 2007-10-16 15:56:07.000000000 +0200
+@@ -146,7 +146,6 @@ am__objects_1 = gnu/gcj/xlib/lib_gnu_awt
+ am_lib_gnu_awt_xlib_la_OBJECTS = $(am__objects_1)
+ lib_gnu_awt_xlib_la_OBJECTS = $(am_lib_gnu_awt_xlib_la_OBJECTS)
+ @XLIB_AWT_TRUE@am_lib_gnu_awt_xlib_la_rpath = -rpath $(toolexeclibdir)
+-libgcj_tools_la_LIBADD =
+ am_libgcj_tools_la_OBJECTS = classpath/tools/libgcj_tools_la-tools.lo
+ libgcj_tools_la_OBJECTS = $(am_libgcj_tools_la_OBJECTS)
+ am__DEPENDENCIES_1 = gnu/awt.lo gnu/awt/j2d.lo gnu/classpath.lo \
+@@ -894,6 +893,7 @@ libgcj_la_LINK = $(LIBLINK)
+ EXTRA_libgcj_la_SOURCES = java/lang/Object.java
+ libgcj_tools_la_SOURCES = classpath/tools/tools.zip
+ libgcj_tools_la_GCJFLAGS = $(AM_GCJFLAGS) -findirect-dispatch -fno-indirect-classes -fsource-filename=$(here)/classpath/tools/all-classes.lst
++libgcj_tools_la_LIBADD = -L$(here)/.libs libgcj.la
+ libgcj_tools_la_LDFLAGS = -rpath $(toolexeclibdir) \
+ -version-info `grep -v '^\#' $(srcdir)/libtool-version`
+
diff --git a/recipes/gcc/gcc-4.4.0/fedora/gcc43-rh341221.patch b/recipes/gcc/gcc-4.4.0/fedora/gcc43-rh341221.patch
new file mode 100644
index 0000000000..28e73b07c3
--- /dev/null
+++ b/recipes/gcc/gcc-4.4.0/fedora/gcc43-rh341221.patch
@@ -0,0 +1,28 @@
+2007-10-21 Jakub Jelinek <jakub@redhat.com>
+
+ * doc/Makefile.am (POD2MAN): Set date from cp-tools.texinfo
+ timestamp rather than from current date.
+ * doc/Makefile.in: Regenerated.
+
+--- libjava/classpath/doc/Makefile.am.jj 2007-12-07 17:55:00.000000000 +0100
++++ libjava/classpath/doc/Makefile.am 2007-12-07 18:55:28.000000000 +0100
+@@ -30,7 +30,7 @@ TOOLS_MANFILES = \
+ gserialver.1 \
+ gtnameserv.1
+
+-POD2MAN = pod2man --center="GNU" --release="$(VERSION)"
++POD2MAN = pod2man --center="GNU" --release="$(VERSION)" --date="$(shell ls --time-style=+%F -l $(srcdir)/cp-tools.texinfo | awk '{print $$6}')"
+ TEXI2POD = perl $(srcdir)/texi2pod.pl
+ STAMP = echo timestamp >
+
+--- libjava/classpath/doc/Makefile.in.jj 2007-12-07 17:55:00.000000000 +0100
++++ libjava/classpath/doc/Makefile.in 2007-12-07 18:55:43.000000000 +0100
+@@ -357,7 +357,7 @@ TOOLS_MANFILES = \
+ gserialver.1 \
+ gtnameserv.1
+
+-POD2MAN = pod2man --center="GNU" --release="$(VERSION)"
++POD2MAN = pod2man --center="GNU" --release="$(VERSION)" --date="$(shell ls --time-style=+%F -l $(srcdir)/cp-tools.texinfo | awk '{print $$6}')"
+ TEXI2POD = perl $(srcdir)/texi2pod.pl
+ STAMP = echo timestamp >
+ @GENINSRC_FALSE@STAMP_GENINSRC =
diff --git a/recipes/gcc/gcc-4.4.0/fix-ICE-in-arm_unwind_emit_set.diff b/recipes/gcc/gcc-4.4.0/fix-ICE-in-arm_unwind_emit_set.diff
new file mode 100644
index 0000000000..b8a147d3d9
--- /dev/null
+++ b/recipes/gcc/gcc-4.4.0/fix-ICE-in-arm_unwind_emit_set.diff
@@ -0,0 +1,28 @@
+--- /tmp/arm.c 2008-03-17 14:24:39.590464969 +0100
++++ gcc-4.3.0/gcc/config/arm/arm.c 2008-03-17 14:12:21.614701982 +0100
+@@ -15959,6 +15959,9 @@
+ int regno;
+ int lo_mask = mask & 0xFF;
+ int pushed_words = 0;
++ rtx e0;
++ rtx e1;
++ unsigned reg;
+
+ gcc_assert (mask);
+
+@@ -16025,6 +16028,15 @@
+
+ return;
+ }
++ else if (GET_CODE (e1) == PLUS
++ && GET_CODE (XEXP (e1, 0)) == REG
++ && REGNO (XEXP (e1, 0)) == SP_REGNUM
++ && GET_CODE (XEXP (e1, 1)) == CONST_INT)
++ {
++ /* Set reg to offset from sp. */
++ asm_fprintf (asm_out_file, "\t.movsp %r, #%d\n",
++ REGNO (e0), (int)INTVAL(XEXP (e1, 1)));
++ }
+ else
+ {
+ if (mask & 0xFF)
diff --git a/recipes/gcc/gcc-4.4.0/fortran-cross-compile-hack.patch b/recipes/gcc/gcc-4.4.0/fortran-cross-compile-hack.patch
new file mode 100644
index 0000000000..b3d38ad983
--- /dev/null
+++ b/recipes/gcc/gcc-4.4.0/fortran-cross-compile-hack.patch
@@ -0,0 +1,30 @@
+* Fortran would have searched for arm-angstrom-gnueabi-gfortran but would have used
+ used gfortan. For gcc_4.2.2.bb we want to use the gfortran compiler from our cross
+ directory.
+
+diff --git a/libgfortran/configure b/libgfortran/configure
+index f7d86fb..d0966ec 100755
+--- a/libgfortran/configure
++++ b/libgfortran/configure
+@@ -4475,6 +4475,6 @@ exec 5>>./config.log
+
+ # We need gfortran to compile parts of the library
+ #AC_PROG_FC(gfortran)
+-FC="$GFORTRAN"
++#FC="$GFORTRAN"
+ ac_ext=${FC_SRCEXT-f}
+ ac_compile='$FC -c $FCFLAGS $FCFLAGS_SRCEXT conftest.$ac_ext >&5'
+\ No newline at end of file
+diff --git a/libgfortran/configure.ac b/libgfortran/configure.ac
+index 4661306..9f83e55 100644
+--- a/libgfortran/configure.ac
++++ b/libgfortran/configure.ac
+@@ -140,7 +140,7 @@ AC_SUBST(enable_static)
+
+ # We need gfortran to compile parts of the library
+ #AC_PROG_FC(gfortran)
+-FC="$GFORTRAN"
++#FC="$GFORTRAN"
+ AC_PROG_FC(gfortran)
+
+ # extra LD Flags which are required for targets
diff --git a/recipes/gcc/gcc-4.4.0/fortran-static-linking.patch b/recipes/gcc/gcc-4.4.0/fortran-static-linking.patch
new file mode 100644
index 0000000000..3dd6321dc3
--- /dev/null
+++ b/recipes/gcc/gcc-4.4.0/fortran-static-linking.patch
@@ -0,0 +1,48 @@
+f951 (fortran) links to MPFR and GMP of our staging area but when executing
+the command the libs can not be found. Use rpath like all the other apps in
+our staging bin/ directory.
+
+Patch the configure to avoid the regeneration...
+
+Index: gcc-4.2.2/configure
+===================================================================
+--- gcc-4.2.2.orig/configure 2008-01-15 23:23:41.000000000 +0100
++++ gcc-4.2.2/configure 2008-01-15 23:25:20.000000000 +0100
+@@ -2278,14 +2278,14 @@
+
+
+ if test "x$with_mpfr" != x; then
+- gmplibs="-L$with_mpfr/lib $gmplibs"
++ gmplibs="-static -L$with_mpfr/lib $gmplibs"
+ gmpinc="-I$with_mpfr/include"
+ fi
+ if test "x$with_mpfr_include" != x; then
+ gmpinc="-I$with_mpfr_include"
+ fi
+ if test "x$with_mpfr_lib" != x; then
+- gmplibs="-L$with_mpfr_lib $gmplibs"
++ gmplibs="-static -L$with_mpfr_lib $gmplibs"
+ fi
+
+ # Specify a location for gmp
+Index: gcc-4.2.2/configure.in
+===================================================================
+--- gcc-4.2.2.orig/configure.in 2008-01-15 23:23:41.000000000 +0100
++++ gcc-4.2.2/configure.in 2008-01-15 23:24:36.000000000 +0100
+@@ -1066,14 +1066,14 @@
+ AC_ARG_WITH(mpfr_lib, [ --with-mpfr-lib=PATH Specify the directory for the installed MPFR library])
+
+ if test "x$with_mpfr" != x; then
+- gmplibs="-L$with_mpfr/lib $gmplibs"
++ gmplibs="-static -L$with_mpfr/lib $gmplibs"
+ gmpinc="-I$with_mpfr/include"
+ fi
+ if test "x$with_mpfr_include" != x; then
+ gmpinc="-I$with_mpfr_include"
+ fi
+ if test "x$with_mpfr_lib" != x; then
+- gmplibs="-L$with_mpfr_lib $gmplibs"
++ gmplibs="-static -L$with_mpfr_lib $gmplibs"
+ fi
+
+ # Specify a location for gmp
diff --git a/recipes/gcc/gcc-4.4.0/gcc-4.0.2-e300c2c3.patch b/recipes/gcc/gcc-4.4.0/gcc-4.0.2-e300c2c3.patch
new file mode 100644
index 0000000000..d1df8b2716
--- /dev/null
+++ b/recipes/gcc/gcc-4.4.0/gcc-4.0.2-e300c2c3.patch
@@ -0,0 +1,319 @@
+Adds support for Freescale Power architecture e300c2 and e300c3 cores.
+http://www.bitshrine.org/gpp/tc-fsl-x86lnx-e300c3-nptl-4.0.2-2.src.rpm
+
+Leon Woestenberg <leonw@mailcan.com>
+
+---
+ gcc/config.gcc | 2
+ gcc/config/rs6000/e300c2c3.md | 189 ++++++++++++++++++++++++++++++++++++++++++
+ gcc/config/rs6000/rs6000.c | 24 +++++
+ gcc/config/rs6000/rs6000.h | 4
+ gcc/config/rs6000/rs6000.md | 3
+ 5 files changed, 220 insertions(+), 2 deletions(-)
+
+Index: gcc-4.3.1/gcc/config/rs6000/e300c2c3.md
+===================================================================
+--- /dev/null 1970-01-01 00:00:00.000000000 +0000
++++ gcc-4.3.1/gcc/config/rs6000/e300c2c3.md 2008-08-23 16:51:33.000000000 -0700
+@@ -0,0 +1,189 @@
++;; Pipeline description for Motorola PowerPC e300c3 core.
++;; Copyright (C) 2003 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 2, 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 COPYING. If not, write to the
++;; Free Software Foundation, 59 Temple Place - Suite 330, Boston,
++;; MA 02111-1307, USA.
++
++(define_automaton "ppce300c3_most,ppce300c3_long,ppce300c3_retire")
++(define_cpu_unit "ppce300c3_decode_0,ppce300c3_decode_1" "ppce300c3_most")
++
++;; We don't simulate general issue queue (GIC). If we have SU insn
++;; and then SU1 insn, they can not be issued on the same cycle
++;; (although SU1 insn and then SU insn can be issued) because the SU
++;; insn will go to SU1 from GIC0 entry. Fortunately, the first cycle
++;; multipass insn scheduling will find the situation and issue the SU1
++;; insn and then the SU insn.
++(define_cpu_unit "ppce300c3_issue_0,ppce300c3_issue_1" "ppce300c3_most")
++
++;; We could describe completion buffers slots in combination with the
++;; retirement units and the order of completion but the result
++;; automaton would behave in the same way because we can not describe
++;; real latency time with taking in order completion into account.
++;; Actually we could define the real latency time by querying reserved
++;; automaton units but the current scheduler uses latency time before
++;; issuing insns and making any reservations.
++;;
++;; So our description is aimed to achieve a insn schedule in which the
++;; insns would not wait in the completion buffer.
++(define_cpu_unit "ppce300c3_retire_0,ppce300c3_retire_1" "ppce300c3_retire")
++
++;; Branch unit:
++(define_cpu_unit "ppce300c3_bu" "ppce300c3_most")
++
++;; IU:
++(define_cpu_unit "ppce300c3_iu0_stage0,ppce300c3_iu1_stage0" "ppce300c3_most")
++
++;; IU: This used to describe non-pipelined division.
++(define_cpu_unit "ppce300c3_mu_div" "ppce300c3_long")
++
++;; SRU:
++(define_cpu_unit "ppce300c3_sru_stage0" "ppce300c3_most")
++
++;; Here we simplified LSU unit description not describing the stages.
++(define_cpu_unit "ppce300c3_lsu" "ppce300c3_most")
++
++;; FPU:
++(define_cpu_unit "ppce300c3_fpu" "ppce300c3_most")
++
++;; The following units are used to make automata deterministic
++(define_cpu_unit "present_ppce300c3_decode_0" "ppce300c3_most")
++(define_cpu_unit "present_ppce300c3_issue_0" "ppce300c3_most")
++(define_cpu_unit "present_ppce300c3_retire_0" "ppce300c3_retire")
++(define_cpu_unit "present_ppce300c3_iu0_stage0" "ppce300c3_most")
++
++;; The following sets to make automata deterministic when option ndfa is used.
++(presence_set "present_ppce300c3_decode_0" "ppce300c3_decode_0")
++(presence_set "present_ppce300c3_issue_0" "ppce300c3_issue_0")
++(presence_set "present_ppce300c3_retire_0" "ppce300c3_retire_0")
++(presence_set "present_ppce300c3_iu0_stage0" "ppce300c3_iu0_stage0")
++
++;; Some useful abbreviations.
++(define_reservation "ppce300c3_decode"
++ "ppce300c3_decode_0|ppce300c3_decode_1+present_ppce300c3_decode_0")
++(define_reservation "ppce300c3_issue"
++ "ppce300c3_issue_0|ppce300c3_issue_1+present_ppce300c3_issue_0")
++(define_reservation "ppce300c3_retire"
++ "ppce300c3_retire_0|ppce300c3_retire_1+present_ppce300c3_retire_0")
++(define_reservation "ppce300c3_iu_stage0"
++ "ppce300c3_iu0_stage0|ppce300c3_iu1_stage0+present_ppce300c3_iu0_stage0")
++
++;; Compares can be executed either one of the IU or SRU
++(define_insn_reservation "ppce300c3_cmp" 1
++ (and (eq_attr "type" "cmp,compare,delayed_compare,fast_compare")
++ (ior (eq_attr "cpu" "ppce300c2") (eq_attr "cpu" "ppce300c3")))
++ "ppce300c3_decode,ppce300c3_issue+(ppce300c3_iu_stage0|ppce300c3_sru_stage0) \
++ +ppce300c3_retire")
++
++;; Other one cycle IU insns
++(define_insn_reservation "ppce300c3_iu" 1
++ (and (eq_attr "type" "integer,insert_word")
++ (ior (eq_attr "cpu" "ppce300c2") (eq_attr "cpu" "ppce300c3")))
++ "ppce300c3_decode,ppce300c3_issue+ppce300c3_iu_stage0+ppce300c3_retire")
++
++;; Branch. Actually this latency time is not used by the scheduler.
++(define_insn_reservation "ppce300c3_branch" 1
++ (and (eq_attr "type" "jmpreg,branch")
++ (ior (eq_attr "cpu" "ppce300c2") (eq_attr "cpu" "ppce300c3")))
++ "ppce300c3_decode,ppce300c3_bu,ppce300c3_retire")
++
++;; Multiply is non-pipelined but can be executed in any IU
++(define_insn_reservation "ppce300c3_multiply" 2
++ (and (eq_attr "type" "imul,imul2,imul3,imul_compare")
++ (ior (eq_attr "cpu" "ppce300c2") (eq_attr "cpu" "ppce300c3")))
++ "ppce300c3_decode,ppce300c3_issue+ppce300c3_iu_stage0, \
++ ppce300c3_iu_stage0+ppce300c3_retire")
++
++;; Divide. We use the average latency time here. We omit reserving a
++;; retire unit because of the result automata will be huge.
++(define_insn_reservation "ppce300c3_divide" 20
++ (and (eq_attr "type" "idiv")
++ (ior (eq_attr "cpu" "ppce300c2") (eq_attr "cpu" "ppce300c3")))
++ "ppce300c3_decode,ppce300c3_issue+ppce300c3_iu_stage0+ppce300c3_mu_div,\
++ ppce300c3_mu_div*19")
++
++;; CR logical
++(define_insn_reservation "ppce300c3_cr_logical" 1
++ (and (eq_attr "type" "cr_logical,delayed_cr")
++ (ior (eq_attr "cpu" "ppce300c2") (eq_attr "cpu" "ppce300c3")))
++ "ppce300c3_decode,ppce300c3_issue+ppce300c3_sru_stage0+ppce300c3_retire")
++
++;; Mfcr
++(define_insn_reservation "ppce300c3_mfcr" 1
++ (and (eq_attr "type" "mfcr")
++ (ior (eq_attr "cpu" "ppce300c2") (eq_attr "cpu" "ppce300c3")))
++ "ppce300c3_decode,ppce300c3_issue+ppce300c3_sru_stage0+ppce300c3_retire")
++
++;; Mtcrf
++(define_insn_reservation "ppce300c3_mtcrf" 1
++ (and (eq_attr "type" "mtcr")
++ (ior (eq_attr "cpu" "ppce300c2") (eq_attr "cpu" "ppce300c3")))
++ "ppce300c3_decode,ppce300c3_issue+ppce300c3_sru_stage0+ppce300c3_retire")
++
++;; Mtjmpr
++(define_insn_reservation "ppce300c3_mtjmpr" 1
++ (and (eq_attr "type" "mtjmpr,mfjmpr")
++ (ior (eq_attr "cpu" "ppce300c2") (eq_attr "cpu" "ppce300c3")))
++ "ppce300c3_decode,ppce300c3_issue+ppce300c3_sru_stage0+ppce300c3_retire")
++
++;; Float point instructions
++(define_insn_reservation "ppce300c3_fpcompare" 3
++ (and (eq_attr "type" "fpcompare")
++ (eq_attr "cpu" "ppce300c3"))
++ "ppce300c3_decode,ppce300c3_issue+ppce300c3_fpu,nothing,ppce300c3_retire")
++
++(define_insn_reservation "ppce300c3_fp" 3
++ (and (eq_attr "type" "fp")
++ (eq_attr "cpu" "ppce300c3"))
++ "ppce300c3_decode,ppce300c3_issue+ppce300c3_fpu,nothing,ppce300c3_retire")
++
++(define_insn_reservation "ppce300c3_dmul" 4
++ (and (eq_attr "type" "dmul")
++ (eq_attr "cpu" "ppce300c3"))
++ "ppce300c3_decode,ppce300c3_issue+ppce300c3_fpu,ppce300c3_fpu,nothing,ppce300c3_retire")
++
++; Divides are not pipelined
++(define_insn_reservation "ppce300c3_sdiv" 18
++ (and (eq_attr "type" "sdiv")
++ (eq_attr "cpu" "ppce300c3"))
++ "ppce300c3_decode,ppce300c3_issue+ppce300c3_fpu,ppce300c3_fpu*17")
++
++(define_insn_reservation "ppce300c3_ddiv" 33
++ (and (eq_attr "type" "ddiv")
++ (eq_attr "cpu" "ppce300c3"))
++ "ppce300c3_decode,ppce300c3_issue+ppce300c3_fpu,ppce300c3_fpu*32")
++
++;; Loads
++(define_insn_reservation "ppce300c3_load" 2
++ (and (eq_attr "type" "load,load_ext,load_ext_u,load_ext_ux,load_ux,load_u")
++ (ior (eq_attr "cpu" "ppce300c2") (eq_attr "cpu" "ppce300c3")))
++ "ppce300c3_decode,ppce300c3_issue+ppce300c3_lsu,ppce300c3_retire")
++
++(define_insn_reservation "ppce300c3_fpload" 2
++ (and (eq_attr "type" "fpload,fpload_ux,fpload_u")
++ (eq_attr "cpu" "ppce300c3"))
++ "ppce300c3_decode,ppce300c3_issue+ppce300c3_lsu,ppce300c3_retire")
++
++;; Stores.
++(define_insn_reservation "ppce300c3_store" 2
++ (and (eq_attr "type" "store,store_ux,store_u")
++ (ior (eq_attr "cpu" "ppce300c2") (eq_attr "cpu" "ppce300c3")))
++ "ppce300c3_decode,ppce300c3_issue+ppce300c3_lsu,ppce300c3_retire")
++
++(define_insn_reservation "ppce300c3_fpstore" 2
++ (and (eq_attr "type" "fpstore,fpstore_ux,fpstore_u")
++ (eq_attr "cpu" "ppce300c3"))
++ "ppce300c3_decode,ppce300c3_issue+ppce300c3_lsu,ppce300c3_retire")
+Index: gcc-4.3.1/gcc/config/rs6000/rs6000.c
+===================================================================
+--- gcc-4.3.1.orig/gcc/config/rs6000/rs6000.c 2008-08-23 16:49:39.000000000 -0700
++++ gcc-4.3.1/gcc/config/rs6000/rs6000.c 2008-08-23 16:54:25.000000000 -0700
+@@ -669,6 +669,21 @@ struct processor_costs ppc8540_cost = {
+ 1, /* prefetch streams /*/
+ };
+
++/* Instruction costs on E300C2 and E300C3 cores. */
++static const
++struct processor_costs ppce300c2c3_cost = {
++ COSTS_N_INSNS (4), /* mulsi */
++ COSTS_N_INSNS (4), /* mulsi_const */
++ COSTS_N_INSNS (4), /* mulsi_const9 */
++ COSTS_N_INSNS (4), /* muldi */
++ COSTS_N_INSNS (19), /* divsi */
++ COSTS_N_INSNS (19), /* divdi */
++ COSTS_N_INSNS (3), /* fp */
++ COSTS_N_INSNS (4), /* dmul */
++ COSTS_N_INSNS (18), /* sdiv */
++ COSTS_N_INSNS (33), /* ddiv */
++};
++
+ /* Instruction costs on POWER4 and POWER5 processors. */
+ static const
+ struct processor_costs power4_cost = {
+@@ -1420,6 +1435,8 @@ rs6000_override_options (const char *def
+ {"8540", PROCESSOR_PPC8540, POWERPC_BASE_MASK | MASK_STRICT_ALIGN},
+ /* 8548 has a dummy entry for now. */
+ {"8548", PROCESSOR_PPC8540, POWERPC_BASE_MASK | MASK_STRICT_ALIGN},
++ {"e300c2", PROCESSOR_PPCE300C2, POWERPC_BASE_MASK | MASK_SOFT_FLOAT},
++ {"e300c3", PROCESSOR_PPCE300C3, POWERPC_BASE_MASK},
+ {"860", PROCESSOR_MPCCORE, POWERPC_BASE_MASK | MASK_SOFT_FLOAT},
+ {"970", PROCESSOR_POWER4,
+ POWERPC_7400_MASK | MASK_PPC_GPOPT | MASK_MFCRF | MASK_POWERPC64},
+@@ -1845,6 +1862,11 @@ rs6000_override_options (const char *def
+ rs6000_cost = &ppc8540_cost;
+ break;
+
++ case PROCESSOR_PPCE300C2:
++ case PROCESSOR_PPCE300C3:
++ rs6000_cost = &ppce300c2c3_cost;
++ break;
++
+ case PROCESSOR_POWER4:
+ case PROCESSOR_POWER5:
+ rs6000_cost = &power4_cost;
+@@ -18606,6 +18628,8 @@ rs6000_issue_rate (void)
+ case CPU_PPC7400:
+ case CPU_PPC8540:
+ case CPU_CELL:
++ case CPU_PPCE300C2:
++ case CPU_PPCE300C3:
+ return 2;
+ case CPU_RIOS2:
+ case CPU_PPC604:
+Index: gcc-4.3.1/gcc/config/rs6000/rs6000.h
+===================================================================
+--- gcc-4.3.1.orig/gcc/config/rs6000/rs6000.h 2008-01-26 09:18:35.000000000 -0800
++++ gcc-4.3.1/gcc/config/rs6000/rs6000.h 2008-08-23 16:55:30.000000000 -0700
+@@ -117,6 +117,8 @@
+ %{mcpu=G5: -mpower4 -maltivec} \
+ %{mcpu=8540: -me500} \
+ %{mcpu=8548: -me500} \
++%{mcpu=e300c2: -mppc} \
++%{mcpu=e300c3: -mppc -mpmr} \
+ %{maltivec: -maltivec} \
+ -many"
+
+@@ -262,6 +264,8 @@ enum processor_type
+ PROCESSOR_PPC7400,
+ PROCESSOR_PPC7450,
+ PROCESSOR_PPC8540,
++ PROCESSOR_PPCE300C2,
++ PROCESSOR_PPCE300C3,
+ PROCESSOR_POWER4,
+ PROCESSOR_POWER5,
+ PROCESSOR_POWER6,
+Index: gcc-4.3.1/gcc/config/rs6000/rs6000.md
+===================================================================
+--- gcc-4.3.1.orig/gcc/config/rs6000/rs6000.md 2008-02-13 16:14:45.000000000 -0800
++++ gcc-4.3.1/gcc/config/rs6000/rs6000.md 2008-08-23 16:57:29.000000000 -0700
+@@ -133,7 +133,7 @@
+ ;; Processor type -- this attribute must exactly match the processor_type
+ ;; enumeration in rs6000.h.
+
+-(define_attr "cpu" "rios1,rios2,rs64a,mpccore,ppc403,ppc405,ppc440,ppc601,ppc603,ppc604,ppc604e,ppc620,ppc630,ppc750,ppc7400,ppc7450,ppc8540,power4,power5,power6,cell"
++(define_attr "cpu" "rios1,rios2,rs64a,mpccore,ppc403,ppc405,ppc440,ppc601,ppc603,ppc604,ppc604e,ppc620,ppc630,ppc750,ppc7400,ppc7450,ppc8540,power4,power5,power6,cell,ppce300c2,ppce300c3"
+ (const (symbol_ref "rs6000_cpu_attr")))
+
+
+@@ -166,6 +166,7 @@
+ (include "7xx.md")
+ (include "7450.md")
+ (include "8540.md")
++(include "e300c2c3.md")
+ (include "power4.md")
+ (include "power5.md")
+ (include "power6.md")
+Index: gcc-4.3.1/gcc/config.gcc
+===================================================================
+--- gcc-4.3.1.orig/gcc/config.gcc 2008-08-23 16:49:43.000000000 -0700
++++ gcc-4.3.1/gcc/config.gcc 2008-08-23 17:03:55.000000000 -0700
+@@ -3144,7 +3144,7 @@ case "${target}" in
+ | rios | rios1 | rios2 | rsc | rsc1 | rs64a \
+ | 401 | 403 | 405 | 405fp | 440 | 440fp | 505 \
+ | 601 | 602 | 603 | 603e | ec603e | 604 \
+- | 604e | 620 | 630 | 740 | 750 | 7400 | 7450 \
++ | 604e | 620 | 630 | 740 | 750 | 7400 | 7450 | e300c[23] \
+ | 854[08] | 801 | 821 | 823 | 860 | 970 | G3 | G4 | G5 | cell)
+ # OK
+ ;;
diff --git a/recipes/gcc/gcc-4.4.0/gcc-4.2.3-linux-multilib-fix.patch b/recipes/gcc/gcc-4.4.0/gcc-4.2.3-linux-multilib-fix.patch
new file mode 100644
index 0000000000..81522a8f57
--- /dev/null
+++ b/recipes/gcc/gcc-4.4.0/gcc-4.2.3-linux-multilib-fix.patch
@@ -0,0 +1,23 @@
+Change gcc build : Enable m4 and m4-nofpu (needed for kernel) for sh4-gnu-linux
+
+Signed-off-by: Carl Shaw <carl.shaw@st.com>
+
+Index: gcc/gcc/config.gcc
+===================================================================
+--- gcc.orig/gcc/config.gcc 2008-07-18 10:37:54.000000000 +0100
++++ gcc/gcc/config.gcc 2008-07-18 11:00:42.000000000 +0100
+@@ -2097,11 +2097,12 @@
+ if test x${sh_multilibs} = x ; then
+ case ${target} in
+ sh64-superh-linux* | \
+- sh[1234]*) sh_multilibs=${sh_cpu_target} ;;
+ sh64* | sh5*) sh_multilibs=m5-32media,m5-32media-nofpu,m5-compact,m5-compact-nofpu,m5-64media,m5-64media-nofpu ;;
+- sh-superh-*) sh_multilibs=m4,m4-single,m4-single-only,m4-nofpu ;;
++ sh-superh-* | \
++ sh4-*-linux*) sh_multilibs=m4,m4-nofpu ;;
+ sh*-*-linux*) sh_multilibs=m1,m3e,m4 ;;
+ sh*-*-netbsd*) sh_multilibs=m3,m3e,m4 ;;
++ sh[1234]*) sh_multilibs=${sh_cpu_target} ;;
+ *) sh_multilibs=m1,m2,m2e,m4,m4-single,m4-single-only,m2a,m2a-single ;;
+ esac
+ if test x$with_fp = xno; then
diff --git a/recipes/gcc/gcc-4.4.0/gcc-4.3.1-ARCH_FLAGS_FOR_TARGET.patch b/recipes/gcc/gcc-4.4.0/gcc-4.3.1-ARCH_FLAGS_FOR_TARGET.patch
new file mode 100644
index 0000000000..f33e6c1ea6
--- /dev/null
+++ b/recipes/gcc/gcc-4.4.0/gcc-4.3.1-ARCH_FLAGS_FOR_TARGET.patch
@@ -0,0 +1,31 @@
+---
+ configure | 2 +-
+ configure.ac | 2 +-
+ 2 files changed, 2 insertions(+), 2 deletions(-)
+
+Index: gcc-4.3.1/configure.ac
+===================================================================
+--- gcc-4.3.1.orig/configure.ac 2008-07-21 12:29:18.000000000 -0700
++++ gcc-4.3.1/configure.ac 2008-07-21 12:29:35.000000000 -0700
+@@ -2352,7 +2352,7 @@ fi
+ # for target_alias and gcc doesn't manage it consistently.
+ target_configargs="--cache-file=./config.cache ${target_configargs}"
+
+-FLAGS_FOR_TARGET=
++FLAGS_FOR_TARGET="$ARCH_FLAGS_FOR_TARGET"
+ case " $target_configdirs " in
+ *" newlib "*)
+ case " $target_configargs " in
+Index: gcc-4.3.1/configure
+===================================================================
+--- gcc-4.3.1.orig/configure 2008-07-21 12:29:48.000000000 -0700
++++ gcc-4.3.1/configure 2008-07-21 12:29:59.000000000 -0700
+@@ -5841,7 +5841,7 @@ fi
+ # for target_alias and gcc doesn't manage it consistently.
+ target_configargs="--cache-file=./config.cache ${target_configargs}"
+
+-FLAGS_FOR_TARGET=
++FLAGS_FOR_TARGET="$ARCH_FLAGS_FOR_TARGET"
+ case " $target_configdirs " in
+ *" newlib "*)
+ case " $target_configargs " in
diff --git a/recipes/gcc/gcc-4.4.0/gcc-4.3.1-SYSROOT_CFLAGS_FOR_TARGET.patch b/recipes/gcc/gcc-4.4.0/gcc-4.3.1-SYSROOT_CFLAGS_FOR_TARGET.patch
new file mode 100644
index 0000000000..aba1e2df69
--- /dev/null
+++ b/recipes/gcc/gcc-4.4.0/gcc-4.3.1-SYSROOT_CFLAGS_FOR_TARGET.patch
@@ -0,0 +1,6691 @@
+Before committing, I noticed that PR/32161 was marked as a dup of PR/32009, but my previous patch did not fix it.
+
+This alternative patch is better because it lets you just use CFLAGS_FOR_TARGET to set the compilation flags for libgcc. Since bootstrapped target libraries are never compiled with the native compiler, it makes little sense to use different flags for stage1 and later stages. And it also makes little sense to use a different variable than CFLAGS_FOR_TARGET.
+
+Other changes I had to do include:
+
+- moving the creation of default CFLAGS_FOR_TARGET from Makefile.am to configure.ac, because otherwise the BOOT_CFLAGS are substituted into CFLAGS_FOR_TARGET (which is "-O2 -g $(CFLAGS)") via $(CFLAGS). It is also cleaner this way though.
+
+- passing the right CFLAGS to configure scripts as exported environment variables
+
+I also stopped passing LIBCFLAGS to configure scripts since they are unused in the whole src tree. And I updated the documentation as H-P reminded me to do.
+
+Bootstrapped/regtested i686-pc-linux-gnu, will commit to 4.4 shortly. Ok for 4.3?
+
+Paolo
+
+2008-02-19 Paolo Bonzini <bonzini@gnu.org>
+
+ PR bootstrap/32009
+ PR bootstrap/32161
+
+ * configure.ac (CFLAGS_FOR_TARGET, CXXFLAGS_FOR_TARGET): Compute here.
+ * configure: Regenerate.
+
+ * Makefile.def: Define stage_libcflags for all bootstrap stages.
+ * Makefile.tpl (BOOT_LIBCFLAGS, STAGE2_LIBCFLAGS, STAGE3_LIBCFLAGS,
+ STAGE4_LIBCFLAGS): New.
+ (CFLAGS_FOR_TARGET, CXXFLAGS_FOR_TARGET): Subst from autoconf, without
+ $(SYSROOT_CFLAGS_FOR_TARGET) and $(DEBUG_PREFIX_CFLAGS_FOR_TARGET).
+ (BASE_TARGET_EXPORTS): Append them here to C{,XX}FLAGS.
+ (EXTRA_TARGET_FLAGS): Append them here to {LIB,}C{,XX}FLAGS.
+ (configure-stage[+id+]-[+prefix+][+module+]): Pass stage_libcflags
+ for target modules. Don't export LIBCFLAGS.
+ (all-stage[+id+]-[+prefix+][+module+]): Pass stage_libcflags; pass
+ $(BASE_FLAGS_TO_PASS) where [+args+] was passed, and [+args+] after
+ the overridden CFLAGS_FOR_TARGET and CXXFLAGS_FOR_TARGET.
+ (invocations of `all'): Replace $(TARGET_FLAGS_TO_PASS) with
+ $(EXTRA_TARGET_FLAGS), $(FLAGS_TO_PASS) with $(EXTRA_HOST_FLAGS).
+ * Makefile.in: Regenerate.
+
+config:
+2008-02-19 Paolo Bonzini <bonzini@gnu.org>
+
+ PR bootstrap/32009
+ * mh-ppc-darwin (BOOT_CFLAGS): Reenable.
+
+gcc:
+2008-02-19 Paolo Bonzini <bonzini@gnu.org>
+
+ PR bootstrap/32009
+ * doc/install.texi: Correct references to CFLAGS, replacing them
+ with BOOT_CFLAGS. Document flags used during bootstrap for
+ target libraries.
+
+
+---
+ Makefile.def | 25
+ Makefile.in | 1845 ++++++++++++++++++++++++++++++-------------------
+ Makefile.tpl | 91 +-
+ config/mh-ppc-darwin | 3
+ configure | 36
+ configure.ac | 32
+ gcc/Makefile.in | 2
+ gcc/configure | 6
+ gcc/configure.ac | 3
+ gcc/doc/install.texi | 56 -
+ libiberty/Makefile.in | 162 ++--
+ libiberty/configure | 46 -
+ libiberty/configure.ac | 43 -
+ 13 files changed, 1454 insertions(+), 896 deletions(-)
+
+Index: gcc-4.3.2/configure.ac
+===================================================================
+--- gcc-4.3.2.orig/configure.ac 2008-02-01 19:29:30.000000000 -0800
++++ gcc-4.3.2/configure.ac 2008-08-28 18:18:37.000000000 -0700
+@@ -1667,6 +1667,38 @@
+ [DEBUG_PREFIX_CFLAGS_FOR_TARGET=])
+ AC_SUBST(DEBUG_PREFIX_CFLAGS_FOR_TARGET)
+
++# During gcc bootstrap, if we use some random cc for stage1 then CFLAGS
++# might be empty or "-g". We don't require a C++ compiler, so CXXFLAGS
++# might also be empty (or "-g", if a non-GCC C++ compiler is in the path).
++# We want to ensure that TARGET libraries (which we know are built with
++# gcc) are built with "-O2 -g", so include those options when setting
++# CFLAGS_FOR_TARGET and CXXFLAGS_FOR_TARGET.
++if test "x$CFLAGS_FOR_TARGET" = x; then
++ CFLAGS_FOR_TARGET=$CFLAGS
++ case " $CFLAGS " in
++ *" -O2 "*) ;;
++ *) CFLAGS_FOR_TARGET="-O2 $CFLAGS" ;;
++ esac
++ case " $CFLAGS " in
++ *" -g "* | *" -g3 "*) ;;
++ *) CFLAGS_FOR_TARGET="-g $CFLAGS" ;;
++ esac
++fi
++AC_SUBST(CFLAGS_FOR_TARGET)
++
++if test "x$CXXFLAGS_FOR_TARGET" = x; then
++ CXXFLAGS_FOR_TARGET=$CXXFLAGS
++ case " $CXXFLAGS " in
++ *" -O2 "*) ;;
++ *) CXXFLAGS_FOR_TARGET="-O2 $CXXFLAGS" ;;
++ esac
++ case " $CXXFLAGS " in
++ *" -g "* | *" -g3 "*) ;;
++ *) CXXFLAGS_FOR_TARGET="-g $CXXFLAGS" ;;
++ esac
++fi
++AC_SUBST(CXXFLAGS_FOR_TARGET)
++
+ # Handle --with-headers=XXX. If the value is not "yes", the contents of
+ # the named directory are copied to $(tooldir)/sys-include.
+ if test x"${with_headers}" != x && test x"${with_headers}" != xno ; then
+Index: gcc-4.3.2/Makefile.def
+===================================================================
+--- gcc-4.3.2.orig/Makefile.def 2007-10-23 08:53:18.000000000 -0700
++++ gcc-4.3.2/Makefile.def 2008-08-28 18:18:37.000000000 -0700
+@@ -214,6 +214,7 @@
+ flags_to_pass = { flag= INSTALL_DATA ; };
+ flags_to_pass = { flag= INSTALL_PROGRAM ; };
+ flags_to_pass = { flag= INSTALL_SCRIPT ; };
++flags_to_pass = { flag= LDFLAGS_FOR_BUILD ; };
+ flags_to_pass = { flag= LEX ; };
+ flags_to_pass = { flag= M4 ; };
+ flags_to_pass = { flag= MAKE ; };
+@@ -511,43 +512,51 @@
+ // compiler probably has never heard of them.
+ stage_configure_flags='--disable-intermodule $(STAGE1_CHECKING) \
+ --disable-coverage --enable-languages="$(STAGE1_LANGUAGES)"' ;
+- stage_cflags='$(STAGE1_CFLAGS)' ; };
++ stage_cflags='$(STAGE1_CFLAGS)' ;
++ stage_libcflags='$(STAGE1_LIBCFLAGS)' ; };
+ bootstrap_stage = {
+ id=2 ; prev=1 ;
+ bootstrap_target=bootstrap2 ;
+ stage_configure_flags="@stage2_werror_flag@" ;
+- stage_cflags="$(STAGE2_CFLAGS)" ; };
++ stage_cflags="$(STAGE2_CFLAGS)" ;
++ stage_libcflags="$(STAGE2_LIBCFLAGS)" ; };
+ bootstrap_stage = {
+ id=b2g0 ; prev=1 ;
+ bootstrap_target=bootstrap2-debug ;
+ stage_configure_flags="@stage2_werror_flag@" ;
+- stage_cflags="$(STAGE2_CFLAGS) -g0" ; };
++ stage_cflags="$(STAGE2_CFLAGS) -g0" ;
++ stage_libcflags="$(STAGE2_LIBCFLAGS) -g0" ; };
+ bootstrap_stage = {
+ id=3 ; prev=2 ; lean=1 ;
+ compare_target=compare ;
+ bootstrap_target=bootstrap ;
+ cleanstrap_target=cleanstrap ;
+ stage_configure_flags="@stage2_werror_flag@" ;
+- stage_cflags="$(STAGE3_CFLAGS)" ; };
++ stage_cflags="$(STAGE3_CFLAGS)" ;
++ stage_libcflags="$(STAGE3_LIBCFLAGS)" ; };
+ bootstrap_stage = {
+ id=b3g2 ; prev=b2g0 ; lean=1 ;
+ compare_target=compare-debug ;
+ bootstrap_target=bootstrap-debug ;
+ cleanstrap_target=cleanstrap-debug ;
+ stage_configure_flags="@stage2_werror_flag@" ;
+- stage_cflags="$(STAGE3_CFLAGS) -g2" ; };
++ stage_cflags="$(STAGE3_CFLAGS) -g2" ;
++ stage_libcflags="$(STAGE3_LIBCFLAGS) -g2" ; };
+ bootstrap_stage = {
+ id=4 ; prev=3 ; lean=2 ;
+ compare_target=compare3 ;
+ bootstrap_target=bootstrap4 ;
+ stage_configure_flags="@stage2_werror_flag@" ;
+- stage_cflags="$(STAGE4_CFLAGS)" ; };
++ stage_cflags="$(STAGE4_CFLAGS)" ;
++ stage_libcflags="$(STAGE4_CFLAGS)" ; };
+ bootstrap_stage = {
+ id=profile ; prev=1 ;
+ stage_configure_flags="@stage2_werror_flag@" ;
+- stage_cflags='$(STAGE2_CFLAGS) -fprofile-generate' ; };
++ stage_cflags='$(STAGE2_CFLAGS) -fprofile-generate' ;
++ stage_libcflags='$(STAGE2_LIBCFLAGS) -fprofile-generate' ; };
+ bootstrap_stage = {
+ id=feedback ; prev=profile ;
+ bootstrap_target=profiledbootstrap ;
+ stage_configure_flags="@stage2_werror_flag@" ;
+- stage_cflags='$(STAGE3_CFLAGS) -fprofile-use' ; };
++ stage_cflags='$(STAGE3_CFLAGS) -fprofile-use' ;
++ stage_libcflags='$(STAGE3_LIBCFLAGS) -fprofile-use' ; };
+Index: gcc-4.3.2/Makefile.tpl
+===================================================================
+--- gcc-4.3.2.orig/Makefile.tpl 2008-08-28 18:05:25.000000000 -0700
++++ gcc-4.3.2/Makefile.tpl 2008-08-28 18:18:37.000000000 -0700
+@@ -23,6 +23,14 @@
+ # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ #
+
++# First, test for a proper version of make, but only where one is required.
++
++@if gcc
++ifeq (,$(.VARIABLES)) # The variable .VARIABLES, new with 3.80, is never empty.
++$(error GNU make version 3.80 or newer is required.)
++endif
++@endif gcc
++
+ # -------------------------------
+ # Standard Autoconf-set variables
+ # -------------------------------
+@@ -139,6 +147,13 @@
+ WINDRES="$(WINDRES_FOR_BUILD)"; export WINDRES; \
+ WINDMC="$(WINDMC_FOR_BUILD)"; export WINDMC;
+
++# These variables must be set on the make command line for directories
++# built for the build system to override those in BASE_FLAGS_TO_PASSS.
++EXTRA_BUILD_FLAGS = \
++ CFLAGS="$(CFLAGS_FOR_BUILD)" \
++ LDFLAGS="$(LDFLAGS_FOR_BUILD)" \
++ LIBCFLAGS=""
++
+ # This is the list of directories to built for the host system.
+ SUBDIRS = @configdirs@
+ # This is set by the configure script to the arguments to use when configuring
+@@ -153,6 +168,7 @@
+ HOST_EXPORTS = \
+ $(BASE_EXPORTS) \
+ CC="$(CC)"; export CC; \
++ ADA_CFLAGS="$(ADA_CFLAGS)"; export ADA_CFLAGS; \
+ CFLAGS="$(CFLAGS)"; export CFLAGS; \
+ CONFIG_SHELL="$(SHELL)"; export CONFIG_SHELL; \
+ CXX="$(CXX)"; export CXX; \
+@@ -207,10 +223,10 @@
+ AR="$(AR_FOR_TARGET)"; export AR; \
+ AS="$(COMPILER_AS_FOR_TARGET)"; export AS; \
+ CC="$(CC_FOR_TARGET)"; export CC; \
+- CFLAGS="$(CFLAGS_FOR_TARGET)"; export CFLAGS; \
++ CFLAGS="$(CFLAGS_FOR_TARGET) $(SYSROOT_CFLAGS_FOR_TARGET) $(DEBUG_PREFIX_CFLAGS_FOR_TARGET)"; export CFLAGS; \
+ CONFIG_SHELL="$(SHELL)"; export CONFIG_SHELL; \
+ CPPFLAGS="$(CPPFLAGS_FOR_TARGET)"; export CPPFLAGS; \
+- CXXFLAGS="$(CXXFLAGS_FOR_TARGET)"; export CXXFLAGS; \
++ CXXFLAGS="$(CXXFLAGS_FOR_TARGET) $(SYSROOT_CFLAGS_FOR_TARGET) $(DEBUG_PREFIX_CFLAGS_FOR_TARGET)"; export CXXFLAGS; \
+ GCJ="$(GCJ_FOR_TARGET)"; export GCJ; \
+ GFORTRAN="$(GFORTRAN_FOR_TARGET)"; export GFORTRAN; \
+ DLLTOOL="$(DLLTOOL_FOR_TARGET)"; export DLLTOOL; \
+@@ -323,7 +339,6 @@
+ LIBCFLAGS = $(CFLAGS)
+ CXXFLAGS = @CXXFLAGS@
+ LIBCXXFLAGS = $(CXXFLAGS) -fno-implicit-templates
+-PICFLAG =
+
+ # Only build the C compiler for stage1, because that is the only one that
+ # we can guarantee will build with the native compiler, and also it is the
+@@ -331,14 +346,19 @@
+ # MAKEINFO and MAKEINFOFLAGS are explicitly passed here to make them
+ # overrideable (for a bootstrap build stage1 also builds gcc.info).
+
+-STAGE1_CFLAGS=@stage1_cflags@
+ STAGE1_CHECKING=@stage1_checking@
+ STAGE1_LANGUAGES=@stage1_languages@
+
++STAGE1_CFLAGS=@stage1_cflags@
+ STAGE2_CFLAGS=$(BOOT_CFLAGS)
+ STAGE3_CFLAGS=$(BOOT_CFLAGS)
+ STAGE4_CFLAGS=$(BOOT_CFLAGS)
+
++STAGE1_LIBCFLAGS=$(CFLAGS_FOR_TARGET)
++STAGE2_LIBCFLAGS=$(CFLAGS_FOR_TARGET)
++STAGE3_LIBCFLAGS=$(CFLAGS_FOR_TARGET)
++STAGE4_LIBCFLAGS=$(CFLAGS_FOR_TARGET)
++
+ do-compare = @do_compare@
+ do-compare3 = $(do-compare)
+ do-compare-debug = $(SHELL) $(srcdir)/contrib/compare-debug $$f1 $$f2
+@@ -377,22 +397,14 @@
+ COMPILER_LD_FOR_TARGET=@COMPILER_LD_FOR_TARGET@
+ COMPILER_NM_FOR_TARGET=@COMPILER_NM_FOR_TARGET@
+
+-# During gcc bootstrap, if we use some random cc for stage1 then CFLAGS
+-# might be empty or "-g". We don't require a C++ compiler, so CXXFLAGS
+-# might also be empty (or "-g", if a non-GCC C++ compiler is in the path).
+-# We want to ensure that TARGET libraries (which we know are built with
+-# gcc) are built with "-O2 -g", so prepend those options when setting
+-# CFLAGS_FOR_TARGET and CXXFLAGS_FOR_TARGET.
+-CFLAGS_FOR_TARGET = -O2 -g $(CFLAGS) $(SYSROOT_CFLAGS_FOR_TARGET) \
+- $(DEBUG_PREFIX_CFLAGS_FOR_TARGET)
++CFLAGS_FOR_TARGET = @CFLAGS_FOR_TARGET@
++CXXFLAGS_FOR_TARGET = @CXXFLAGS_FOR_TARGET@
+ SYSROOT_CFLAGS_FOR_TARGET = @SYSROOT_CFLAGS_FOR_TARGET@
+ DEBUG_PREFIX_CFLAGS_FOR_TARGET = @DEBUG_PREFIX_CFLAGS_FOR_TARGET@
+-CXXFLAGS_FOR_TARGET = -O2 -g $(CXXFLAGS) $(SYSROOT_CFLAGS_FOR_TARGET) \
+- $(DEBUG_PREFIX_CFLAGS_FOR_TARGET)
++
+ LIBCFLAGS_FOR_TARGET = $(CFLAGS_FOR_TARGET)
+ LIBCXXFLAGS_FOR_TARGET = $(CXXFLAGS_FOR_TARGET) -fno-implicit-templates
+-LDFLAGS_FOR_TARGET = @LDFLAGS@
+-PICFLAG_FOR_TARGET =
++LDFLAGS_FOR_TARGET = @LDFLAGS@
+
+ # ------------------------------------
+ # Miscellaneous targets and flag lists
+@@ -492,19 +504,20 @@
+ # Flags to pass down to makes which are built with the target environment.
+ # The double $ decreases the length of the command line; those variables
+ # are set in BASE_FLAGS_TO_PASS, and the sub-make will expand them. The
+-# COMPILER_ prefixed variables are not passed down so we expand them here.
++# *_CFLAGS_FOR_TARGET variables are not passed down and most often empty,
++# so we expand them here.
+ EXTRA_TARGET_FLAGS = \
+ 'AR=$$(AR_FOR_TARGET)' \
+ 'AS=$(COMPILER_AS_FOR_TARGET)' \
+ 'CC=$$(CC_FOR_TARGET)' \
+- 'CFLAGS=$$(CFLAGS_FOR_TARGET)' \
++ 'CFLAGS=$$(CFLAGS_FOR_TARGET) $(SYSROOT_CFLAGS_FOR_TARGET) $(DEBUG_PREFIX_CFLAGS_FOR_TARGET)' \
+ 'CXX=$$(CXX_FOR_TARGET)' \
+- 'CXXFLAGS=$$(CXXFLAGS_FOR_TARGET)' \
++ 'CXXFLAGS=$$(CXXFLAGS_FOR_TARGET) $(SYSROOT_CFLAGS_FOR_TARGET) $(DEBUG_PREFIX_CFLAGS_FOR_TARGET)' \
+ 'DLLTOOL=$$(DLLTOOL_FOR_TARGET)' \
+ 'LD=$(COMPILER_LD_FOR_TARGET)' \
+ 'LDFLAGS=$$(LDFLAGS_FOR_TARGET)' \
+- 'LIBCFLAGS=$$(LIBCFLAGS_FOR_TARGET)' \
+- 'LIBCXXFLAGS=$$(LIBCXXFLAGS_FOR_TARGET)' \
++ 'LIBCFLAGS=$$(LIBCFLAGS_FOR_TARGET) $(SYSROOT_CFLAGS_FOR_TARGET) $(DEBUG_PREFIX_CFLAGS_FOR_TARGET)' \
++ 'LIBCXXFLAGS=$$(LIBCXXFLAGS_FOR_TARGET) $(SYSROOT_CFLAGS_FOR_TARGET) $(DEBUG_PREFIX_CFLAGS_FOR_TARGET)' \
+ 'NM=$(COMPILER_NM_FOR_TARGET)' \
+ 'OBJDUMP=$$(OBJDUMP_FOR_TARGET)' \
+ 'RANLIB=$$(RANLIB_FOR_TARGET)' \
+@@ -852,9 +865,11 @@
+ fi; \
+ [+ ENDIF check_multilibs +]test ! -f [+subdir+]/[+module+]/Makefile || exit 0; \
+ [+exports+][+ IF prev +] \
+- [+poststage1_exports+][+ ENDIF prev +] \
++ [+poststage1_exports+][+ ENDIF prev +] [+ IF prefix +] \
++ CFLAGS="[+stage_libcflags+] $(SYSROOT_CFLAGS_FOR_TARGET) $(DEBUG_PREFIX_CFLAGS_FOR_TARGET)"; export CFLAGS; \
++ CXXFLAGS="[+stage_libcflags+] $(SYSROOT_CFLAGS_FOR_TARGET) $(DEBUG_PREFIX_CFLAGS_FOR_TARGET)"; export CXXFLAGS; [+ ELSE +] \
+ CFLAGS="[+stage_cflags+]"; export CFLAGS; \
+- LIBCFLAGS="[+stage_cflags+]"; export LIBCFLAGS; \
++ CXXFLAGS="[+stage_cflags+]"; export CXXFLAGS; [+ ENDIF +] \
+ echo Configuring stage [+id+] in [+subdir+]/[+module+] ; \
+ $(SHELL) $(srcdir)/mkinstalldirs [+subdir+]/[+module+] ; \
+ cd [+subdir+]/[+module+] || exit 1; \
+@@ -891,7 +906,8 @@
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ [+exports+] \
+ (cd [+subdir+]/[+module+] && \
+- $(MAKE) [+args+] [+extra_make_flags+] $(TARGET-[+prefix+][+module+]))
++ $(MAKE) $(BASE_FLAGS_TO_PASS) [+args+] [+extra_make_flags+] \
++ $(TARGET-[+prefix+][+module+]))
+ @endif [+prefix+][+module+]
+
+ [+ IF bootstrap +]
+@@ -911,8 +927,11 @@
+ [+exports+][+ IF prev +] \
+ [+poststage1_exports+][+ ENDIF prev +] \
+ cd [+subdir+]/[+module+] && \
+- $(MAKE) [+args+] \
+- CFLAGS="[+stage_cflags+]" LIBCFLAGS="[+stage_cflags+]" [+
++ $(MAKE) $(BASE_FLAGS_TO_PASS) \
++ CFLAGS="[+stage_cflags+]" CXXFLAGS="[+stage_cflags+]" \
++ LIBCFLAGS="[+stage_libcflags+]" \
++ CFLAGS_FOR_TARGET="[+stage_libcflags+]" \
++ CXXFLAGS_FOR_TARGET="[+stage_libcflags+]" [+args+] [+
+ IF prev +][+poststage1_args+][+ ENDIF prev
+ +] [+extra_make_flags+] \
+ $(TARGET-stage[+id+]-[+prefix+][+module+])
+@@ -945,7 +964,8 @@
+ target_alias=(get "target" "${target_alias}")
+ args="$(BUILD_CONFIGARGS)" no-config-site=true +]
+
+-[+ all prefix="build-" subdir="$(BUILD_SUBDIR)" exports="$(BUILD_EXPORTS)" +]
++[+ all prefix="build-" subdir="$(BUILD_SUBDIR)" exports="$(BUILD_EXPORTS)"
++ args="$(EXTRA_BUILD_FLAGS)" +]
+ [+ ENDFOR build_module +]
+
+ # --------------------------------------
+@@ -962,7 +982,7 @@
+ [+ all prefix="" subdir="$(HOST_SUBDIR)"
+ exports="$(HOST_EXPORTS)"
+ poststage1_exports="$(POSTSTAGE1_HOST_EXPORTS)"
+- args="$(FLAGS_TO_PASS)"
++ args="$(EXTRA_HOST_FLAGS)"
+ poststage1_args="$(POSTSTAGE1_FLAGS_TO_PASS)" +]
+
+ .PHONY: check-[+module+] maybe-check-[+module+]
+@@ -1060,7 +1080,7 @@
+
+ [+ all prefix="target-" subdir="$(TARGET_SUBDIR)"
+ exports="$(RAW_CXX_TARGET_EXPORTS)"
+- args="$(TARGET_FLAGS_TO_PASS) 'CXX=$$(RAW_CXX_FOR_TARGET)' 'CXX_FOR_TARGET=$$(RAW_CXX_FOR_TARGET)'" +]
++ args="$(EXTRA_TARGET_FLAGS) 'CXX=$$(RAW_CXX_FOR_TARGET)' 'CXX_FOR_TARGET=$$(RAW_CXX_FOR_TARGET)'" +]
+ [+ ELSE +]
+ [+ configure prefix="target-" subdir="$(TARGET_SUBDIR)"
+ check_multilibs=true
+@@ -1071,7 +1091,7 @@
+
+ [+ all prefix="target-" subdir="$(TARGET_SUBDIR)"
+ exports="$(NORMAL_TARGET_EXPORTS)"
+- args="$(TARGET_FLAGS_TO_PASS)" +]
++ args="$(EXTRA_TARGET_FLAGS)" +]
+ [+ ENDIF +]
+
+ .PHONY: check-target-[+module+] maybe-check-target-[+module+]
+@@ -1301,7 +1321,7 @@
+
+ # Bubble a bug fix through all the stages up to stage [+id+]. They are
+ # remade, but not reconfigured. The next stage (if any) will not be
+-# reconfigured as well.
++# reconfigured either.
+ .PHONY: stage[+id+]-bubble
+ stage[+id+]-bubble:: [+ IF prev +]stage[+prev+]-bubble[+ ENDIF +]
+ @r=`${PWD_COMMAND}`; export r; \
+@@ -1440,11 +1460,11 @@
+ @if test -f stage_last; then $(unstage); else $(MAKE) stage1-start; fi
+
+ .PHONY: restrap
+-restrap:
++restrap::
+ @: $(MAKE); $(stage)
+ rm -rf stage1-$(TARGET_SUBDIR) [+ FOR bootstrap-stage +][+ IF prev
+ +]stage[+id+]-* [+ ENDIF prev +][+ ENDFOR bootstrap-stage +]
+- $(MAKE) $(RECURSE_FLAGS_TO_PASS) all
++restrap:: all
+ @endif gcc-bootstrap
+
+ # --------------------------------------
+@@ -1475,7 +1495,7 @@
+
+ [+ ;; These Scheme functions build the bulk of the dependencies.
+ ;; dep-target builds a string like "maybe-all-MODULE_KIND-gcc",
+- ;; where "maybe-" is only included if HARD is true, and all-gcc
++ ;; where "maybe-" is only included if HARD is not true, and all-gcc
+ ;; is taken from VAR-NAME.
+ (define dep-target (lambda (module-kind var-name hard)
+ (string-append
+@@ -1633,7 +1653,8 @@
+
+ # Rebuilding configure.
+ AUTOCONF = autoconf
+-$(srcdir)/configure: @MAINT@ $(srcdir)/configure.ac $(srcdir)/config/acx.m4
++$(srcdir)/configure: @MAINT@ $(srcdir)/configure.ac $(srcdir)/config/acx.m4 \
++ $(srcdir)/config/override.m4 $(srcdir)/config/proginstall.m4
+ cd $(srcdir) && $(AUTOCONF)
+
+ # ------------------------------
+Index: gcc-4.3.2/config/mh-ppc-darwin
+===================================================================
+--- gcc-4.3.2.orig/config/mh-ppc-darwin 2007-05-23 07:26:31.000000000 -0700
++++ gcc-4.3.2/config/mh-ppc-darwin 2008-08-28 18:18:37.000000000 -0700
+@@ -2,5 +2,4 @@
+ # position-independent-code -- the usual default on Darwin. This fix speeds
+ # compiles by 3-5%.
+
+-# Broken because of PR32009.
+-# BOOT_CFLAGS=-g -O2 -mdynamic-no-pic
++BOOT_CFLAGS=-g -O2 -mdynamic-no-pic
+Index: gcc-4.3.2/gcc/doc/install.texi
+===================================================================
+--- gcc-4.3.2.orig/gcc/doc/install.texi 2008-06-18 22:59:30.000000000 -0700
++++ gcc-4.3.2/gcc/doc/install.texi 2008-08-28 18:18:37.000000000 -0700
+@@ -1778,33 +1778,35 @@
+ stage2 of the 3-stage bootstrap of the compiler are deleted as
+ soon as they are no longer needed.
+
+-If you want to save additional space during the bootstrap and in
+-the final installation as well, you can build the compiler binaries
+-without debugging information as in the following example. This will save
+-roughly 40% of disk space both for the bootstrap and the final installation.
+-(Libraries will still contain debugging information.)
+-
+-@smallexample
+- make CFLAGS='-O' LIBCFLAGS='-g -O2' \
+- LIBCXXFLAGS='-g -O2 -fno-implicit-templates' bootstrap
+-@end smallexample
+-
+-If you wish to use non-default GCC flags when compiling the stage2 and
+-stage3 compilers, set @code{BOOT_CFLAGS} on the command line when doing
+-@samp{make}. Non-default optimization flags are less well
+-tested here than the default of @samp{-g -O2}, but should still work.
+-In a few cases, you may find that you need to specify special flags such
+-as @option{-msoft-float} here to complete the bootstrap; or, if the
+-native compiler miscompiles the stage1 compiler, you may need to work
+-around this, by choosing @code{BOOT_CFLAGS} to avoid the parts of the
+-stage1 compiler that were miscompiled, or by using @samp{make
++If you wish to use non-default GCC flags when compiling the stage2
++and stage3 compilers, set @code{BOOT_CFLAGS} on the command line when
++doing @samp{make}. For example, if you want to save additional space
++during the bootstrap and in the final installation as well, you can
++build the compiler binaries without debugging information as in the
++following example. This will save roughly 40% of disk space both for
++the bootstrap and the final installation. (Libraries will still contain
++debugging information.)
++
++@smallexample
++ make BOOT_CFLAGS='-O' bootstrap
++@end smallexample
++
++You can place non-default optimization flags into @code{BOOT_CFLAGS}; they
++are less well tested here than the default of @samp{-g -O2}, but should
++still work. In a few cases, you may find that you need to specify special
++flags such as @option{-msoft-float} here to complete the bootstrap; or,
++if the native compiler miscompiles the stage1 compiler, you may need
++to work around this, by choosing @code{BOOT_CFLAGS} to avoid the parts
++of the stage1 compiler that were miscompiled, or by using @samp{make
+ bootstrap4} to increase the number of stages of bootstrap.
+
+-Note that using non-standard @code{CFLAGS} can cause bootstrap to fail
+-if these trigger a warning with the new compiler. For example using
+-@samp{-O2 -g -mcpu=i686} on @code{i686-pc-linux-gnu} will cause bootstrap
+-failure as @option{-mcpu=} is deprecated in 3.4.0 and above.
+-
++@code{BOOT_CFLAGS} does not apply to bootstrapped target libraries.
++Since these are always compiled with the compiler currently being
++bootstrapped, you can use @code{CFLAGS_FOR_TARGET} to modify their
++compilation flags, as for non-bootstrapped target libraries.
++Again, if the native compiler miscompiles the stage1 compiler, you may
++need to work around this by avoiding non-working parts of the stage1
++compiler. Use @code{STAGE1_LIBCFLAGS} to this end.
+
+ If you used the flag @option{--enable-languages=@dots{}} to restrict
+ the compilers to be built, only those you've actually enabled will be
+@@ -2695,8 +2697,8 @@
+ a few cases and may not work properly.
+
+ @samp{make compare} may fail on old versions of DEC Unix unless you add
+-@option{-save-temps} to @code{CFLAGS}. On these systems, the name of the
+-assembler input file is stored in the object file, and that makes
++@option{-save-temps} to @code{BOOT_CFLAGS}. On these systems, the name
++of the assembler input file is stored in the object file, and that makes
+ comparison fail if it differs between the @code{stage1} and
+ @code{stage2} compilations. The option @option{-save-temps} forces a
+ fixed name to be used for the assembler input file, instead of a
+Index: gcc-4.3.2/Makefile.in
+===================================================================
+--- gcc-4.3.2.orig/Makefile.in 2008-08-28 18:05:25.000000000 -0700
++++ gcc-4.3.2/Makefile.in 2008-08-28 18:18:37.000000000 -0700
+@@ -20,6 +20,14 @@
+ # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ #
+
++# First, test for a proper version of make, but only where one is required.
++
++@if gcc
++ifeq (,$(.VARIABLES)) # The variable .VARIABLES, new with 3.80, is never empty.
++$(error GNU make version 3.80 or newer is required.)
++endif
++@endif gcc
++
+ # -------------------------------
+ # Standard Autoconf-set variables
+ # -------------------------------
+@@ -136,6 +144,13 @@
+ WINDRES="$(WINDRES_FOR_BUILD)"; export WINDRES; \
+ WINDMC="$(WINDMC_FOR_BUILD)"; export WINDMC;
+
++# These variables must be set on the make command line for directories
++# built for the build system to override those in BASE_FLAGS_TO_PASSS.
++EXTRA_BUILD_FLAGS = \
++ CFLAGS="$(CFLAGS_FOR_BUILD)" \
++ LDFLAGS="$(LDFLAGS_FOR_BUILD)" \
++ LIBCFLAGS=""
++
+ # This is the list of directories to built for the host system.
+ SUBDIRS = @configdirs@
+ # This is set by the configure script to the arguments to use when configuring
+@@ -150,6 +165,7 @@
+ HOST_EXPORTS = \
+ $(BASE_EXPORTS) \
+ CC="$(CC)"; export CC; \
++ ADA_CFLAGS="$(ADA_CFLAGS)"; export ADA_CFLAGS; \
+ CFLAGS="$(CFLAGS)"; export CFLAGS; \
+ CONFIG_SHELL="$(SHELL)"; export CONFIG_SHELL; \
+ CXX="$(CXX)"; export CXX; \
+@@ -204,10 +220,10 @@
+ AR="$(AR_FOR_TARGET)"; export AR; \
+ AS="$(COMPILER_AS_FOR_TARGET)"; export AS; \
+ CC="$(CC_FOR_TARGET)"; export CC; \
+- CFLAGS="$(CFLAGS_FOR_TARGET)"; export CFLAGS; \
++ CFLAGS="$(CFLAGS_FOR_TARGET) $(SYSROOT_CFLAGS_FOR_TARGET) $(DEBUG_PREFIX_CFLAGS_FOR_TARGET)"; export CFLAGS; \
+ CONFIG_SHELL="$(SHELL)"; export CONFIG_SHELL; \
+ CPPFLAGS="$(CPPFLAGS_FOR_TARGET)"; export CPPFLAGS; \
+- CXXFLAGS="$(CXXFLAGS_FOR_TARGET)"; export CXXFLAGS; \
++ CXXFLAGS="$(CXXFLAGS_FOR_TARGET) $(SYSROOT_CFLAGS_FOR_TARGET) $(DEBUG_PREFIX_CFLAGS_FOR_TARGET)"; export CXXFLAGS; \
+ GCJ="$(GCJ_FOR_TARGET)"; export GCJ; \
+ GFORTRAN="$(GFORTRAN_FOR_TARGET)"; export GFORTRAN; \
+ DLLTOOL="$(DLLTOOL_FOR_TARGET)"; export DLLTOOL; \
+@@ -320,7 +336,6 @@
+ LIBCFLAGS = $(CFLAGS)
+ CXXFLAGS = @CXXFLAGS@
+ LIBCXXFLAGS = $(CXXFLAGS) -fno-implicit-templates
+-PICFLAG =
+
+ # Only build the C compiler for stage1, because that is the only one that
+ # we can guarantee will build with the native compiler, and also it is the
+@@ -328,14 +343,19 @@
+ # MAKEINFO and MAKEINFOFLAGS are explicitly passed here to make them
+ # overrideable (for a bootstrap build stage1 also builds gcc.info).
+
+-STAGE1_CFLAGS=@stage1_cflags@
+ STAGE1_CHECKING=@stage1_checking@
+ STAGE1_LANGUAGES=@stage1_languages@
+
++STAGE1_CFLAGS=@stage1_cflags@
+ STAGE2_CFLAGS=$(BOOT_CFLAGS)
+ STAGE3_CFLAGS=$(BOOT_CFLAGS)
+ STAGE4_CFLAGS=$(BOOT_CFLAGS)
+
++STAGE1_LIBCFLAGS=$(CFLAGS_FOR_TARGET)
++STAGE2_LIBCFLAGS=$(CFLAGS_FOR_TARGET)
++STAGE3_LIBCFLAGS=$(CFLAGS_FOR_TARGET)
++STAGE4_LIBCFLAGS=$(CFLAGS_FOR_TARGET)
++
+ do-compare = @do_compare@
+ do-compare3 = $(do-compare)
+ do-compare-debug = $(SHELL) $(srcdir)/contrib/compare-debug $$f1 $$f2
+@@ -374,22 +394,14 @@
+ COMPILER_LD_FOR_TARGET=@COMPILER_LD_FOR_TARGET@
+ COMPILER_NM_FOR_TARGET=@COMPILER_NM_FOR_TARGET@
+
+-# During gcc bootstrap, if we use some random cc for stage1 then CFLAGS
+-# might be empty or "-g". We don't require a C++ compiler, so CXXFLAGS
+-# might also be empty (or "-g", if a non-GCC C++ compiler is in the path).
+-# We want to ensure that TARGET libraries (which we know are built with
+-# gcc) are built with "-O2 -g", so prepend those options when setting
+-# CFLAGS_FOR_TARGET and CXXFLAGS_FOR_TARGET.
+-CFLAGS_FOR_TARGET = -O2 -g $(CFLAGS) $(SYSROOT_CFLAGS_FOR_TARGET) \
+- $(DEBUG_PREFIX_CFLAGS_FOR_TARGET)
++CFLAGS_FOR_TARGET = @CFLAGS_FOR_TARGET@
++CXXFLAGS_FOR_TARGET = @CXXFLAGS_FOR_TARGET@
+ SYSROOT_CFLAGS_FOR_TARGET = @SYSROOT_CFLAGS_FOR_TARGET@
+ DEBUG_PREFIX_CFLAGS_FOR_TARGET = @DEBUG_PREFIX_CFLAGS_FOR_TARGET@
+-CXXFLAGS_FOR_TARGET = -O2 -g $(CXXFLAGS) $(SYSROOT_CFLAGS_FOR_TARGET) \
+- $(DEBUG_PREFIX_CFLAGS_FOR_TARGET)
++
+ LIBCFLAGS_FOR_TARGET = $(CFLAGS_FOR_TARGET)
+ LIBCXXFLAGS_FOR_TARGET = $(CXXFLAGS_FOR_TARGET) -fno-implicit-templates
+-LDFLAGS_FOR_TARGET = @LDFLAGS@
+-PICFLAG_FOR_TARGET =
++LDFLAGS_FOR_TARGET = @LDFLAGS@
+
+ # ------------------------------------
+ # Miscellaneous targets and flag lists
+@@ -496,6 +508,7 @@
+ "INSTALL_DATA=$(INSTALL_DATA)" \
+ "INSTALL_PROGRAM=$(INSTALL_PROGRAM)" \
+ "INSTALL_SCRIPT=$(INSTALL_SCRIPT)" \
++ "LDFLAGS_FOR_BUILD=$(LDFLAGS_FOR_BUILD)" \
+ "LEX=$(LEX)" \
+ "M4=$(M4)" \
+ "MAKE=$(MAKE)" \
+@@ -592,19 +605,20 @@
+ # Flags to pass down to makes which are built with the target environment.
+ # The double $ decreases the length of the command line; those variables
+ # are set in BASE_FLAGS_TO_PASS, and the sub-make will expand them. The
+-# COMPILER_ prefixed variables are not passed down so we expand them here.
++# *_CFLAGS_FOR_TARGET variables are not passed down and most often empty,
++# so we expand them here.
+ EXTRA_TARGET_FLAGS = \
+ 'AR=$$(AR_FOR_TARGET)' \
+ 'AS=$(COMPILER_AS_FOR_TARGET)' \
+ 'CC=$$(CC_FOR_TARGET)' \
+- 'CFLAGS=$$(CFLAGS_FOR_TARGET)' \
++ 'CFLAGS=$$(CFLAGS_FOR_TARGET) $(SYSROOT_CFLAGS_FOR_TARGET) $(DEBUG_PREFIX_CFLAGS_FOR_TARGET)' \
+ 'CXX=$$(CXX_FOR_TARGET)' \
+- 'CXXFLAGS=$$(CXXFLAGS_FOR_TARGET)' \
++ 'CXXFLAGS=$$(CXXFLAGS_FOR_TARGET) $(SYSROOT_CFLAGS_FOR_TARGET) $(DEBUG_PREFIX_CFLAGS_FOR_TARGET)' \
+ 'DLLTOOL=$$(DLLTOOL_FOR_TARGET)' \
+ 'LD=$(COMPILER_LD_FOR_TARGET)' \
+ 'LDFLAGS=$$(LDFLAGS_FOR_TARGET)' \
+- 'LIBCFLAGS=$$(LIBCFLAGS_FOR_TARGET)' \
+- 'LIBCXXFLAGS=$$(LIBCXXFLAGS_FOR_TARGET)' \
++ 'LIBCFLAGS=$$(LIBCFLAGS_FOR_TARGET) $(SYSROOT_CFLAGS_FOR_TARGET) $(DEBUG_PREFIX_CFLAGS_FOR_TARGET)' \
++ 'LIBCXXFLAGS=$$(LIBCXXFLAGS_FOR_TARGET) $(SYSROOT_CFLAGS_FOR_TARGET) $(DEBUG_PREFIX_CFLAGS_FOR_TARGET)' \
+ 'NM=$(COMPILER_NM_FOR_TARGET)' \
+ 'OBJDUMP=$$(OBJDUMP_FOR_TARGET)' \
+ 'RANLIB=$$(RANLIB_FOR_TARGET)' \
+@@ -2738,7 +2752,8 @@
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ $(BUILD_EXPORTS) \
+ (cd $(BUILD_SUBDIR)/libiberty && \
+- $(MAKE) $(TARGET-build-libiberty))
++ $(MAKE) $(BASE_FLAGS_TO_PASS) $(EXTRA_BUILD_FLAGS) \
++ $(TARGET-build-libiberty))
+ @endif build-libiberty
+
+
+@@ -2793,7 +2808,8 @@
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ $(BUILD_EXPORTS) \
+ (cd $(BUILD_SUBDIR)/bison && \
+- $(MAKE) $(TARGET-build-bison))
++ $(MAKE) $(BASE_FLAGS_TO_PASS) $(EXTRA_BUILD_FLAGS) \
++ $(TARGET-build-bison))
+ @endif build-bison
+
+
+@@ -2848,7 +2864,8 @@
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ $(BUILD_EXPORTS) \
+ (cd $(BUILD_SUBDIR)/byacc && \
+- $(MAKE) $(TARGET-build-byacc))
++ $(MAKE) $(BASE_FLAGS_TO_PASS) $(EXTRA_BUILD_FLAGS) \
++ $(TARGET-build-byacc))
+ @endif build-byacc
+
+
+@@ -2903,7 +2920,8 @@
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ $(BUILD_EXPORTS) \
+ (cd $(BUILD_SUBDIR)/flex && \
+- $(MAKE) $(TARGET-build-flex))
++ $(MAKE) $(BASE_FLAGS_TO_PASS) $(EXTRA_BUILD_FLAGS) \
++ $(TARGET-build-flex))
+ @endif build-flex
+
+
+@@ -2958,7 +2976,8 @@
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ $(BUILD_EXPORTS) \
+ (cd $(BUILD_SUBDIR)/m4 && \
+- $(MAKE) $(TARGET-build-m4))
++ $(MAKE) $(BASE_FLAGS_TO_PASS) $(EXTRA_BUILD_FLAGS) \
++ $(TARGET-build-m4))
+ @endif build-m4
+
+
+@@ -3013,7 +3032,8 @@
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ $(BUILD_EXPORTS) \
+ (cd $(BUILD_SUBDIR)/texinfo && \
+- $(MAKE) $(TARGET-build-texinfo))
++ $(MAKE) $(BASE_FLAGS_TO_PASS) $(EXTRA_BUILD_FLAGS) \
++ $(TARGET-build-texinfo))
+ @endif build-texinfo
+
+
+@@ -3068,7 +3088,8 @@
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ $(BUILD_EXPORTS) \
+ (cd $(BUILD_SUBDIR)/fixincludes && \
+- $(MAKE) $(TARGET-build-fixincludes))
++ $(MAKE) $(BASE_FLAGS_TO_PASS) $(EXTRA_BUILD_FLAGS) \
++ $(TARGET-build-fixincludes))
+ @endif build-fixincludes
+
+
+@@ -3127,7 +3148,8 @@
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ $(HOST_EXPORTS) \
+ (cd $(HOST_SUBDIR)/ash && \
+- $(MAKE) $(FLAGS_TO_PASS) $(TARGET-ash))
++ $(MAKE) $(BASE_FLAGS_TO_PASS) $(EXTRA_HOST_FLAGS) \
++ $(TARGET-ash))
+ @endif ash
+
+
+@@ -3551,7 +3573,8 @@
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ $(HOST_EXPORTS) \
+ (cd $(HOST_SUBDIR)/autoconf && \
+- $(MAKE) $(FLAGS_TO_PASS) $(TARGET-autoconf))
++ $(MAKE) $(BASE_FLAGS_TO_PASS) $(EXTRA_HOST_FLAGS) \
++ $(TARGET-autoconf))
+ @endif autoconf
+
+
+@@ -3975,7 +3998,8 @@
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ $(HOST_EXPORTS) \
+ (cd $(HOST_SUBDIR)/automake && \
+- $(MAKE) $(FLAGS_TO_PASS) $(TARGET-automake))
++ $(MAKE) $(BASE_FLAGS_TO_PASS) $(EXTRA_HOST_FLAGS) \
++ $(TARGET-automake))
+ @endif automake
+
+
+@@ -4399,7 +4423,8 @@
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ $(HOST_EXPORTS) \
+ (cd $(HOST_SUBDIR)/bash && \
+- $(MAKE) $(FLAGS_TO_PASS) $(TARGET-bash))
++ $(MAKE) $(BASE_FLAGS_TO_PASS) $(EXTRA_HOST_FLAGS) \
++ $(TARGET-bash))
+ @endif bash
+
+
+@@ -4816,9 +4841,9 @@
+ @r=`${PWD_COMMAND}`; export r; \
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ test ! -f $(HOST_SUBDIR)/bfd/Makefile || exit 0; \
+- $(HOST_EXPORTS) \
++ $(HOST_EXPORTS) \
+ CFLAGS="$(STAGE1_CFLAGS)"; export CFLAGS; \
+- LIBCFLAGS="$(STAGE1_CFLAGS)"; export LIBCFLAGS; \
++ CXXFLAGS="$(STAGE1_CFLAGS)"; export CXXFLAGS; \
+ echo Configuring stage 1 in $(HOST_SUBDIR)/bfd ; \
+ $(SHELL) $(srcdir)/mkinstalldirs $(HOST_SUBDIR)/bfd ; \
+ cd $(HOST_SUBDIR)/bfd || exit 1; \
+@@ -4847,9 +4872,9 @@
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ test ! -f $(HOST_SUBDIR)/bfd/Makefile || exit 0; \
+ $(HOST_EXPORTS) \
+- $(POSTSTAGE1_HOST_EXPORTS) \
++ $(POSTSTAGE1_HOST_EXPORTS) \
+ CFLAGS="$(STAGE2_CFLAGS)"; export CFLAGS; \
+- LIBCFLAGS="$(STAGE2_CFLAGS)"; export LIBCFLAGS; \
++ CXXFLAGS="$(STAGE2_CFLAGS)"; export CXXFLAGS; \
+ echo Configuring stage 2 in $(HOST_SUBDIR)/bfd ; \
+ $(SHELL) $(srcdir)/mkinstalldirs $(HOST_SUBDIR)/bfd ; \
+ cd $(HOST_SUBDIR)/bfd || exit 1; \
+@@ -4878,9 +4903,9 @@
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ test ! -f $(HOST_SUBDIR)/bfd/Makefile || exit 0; \
+ $(HOST_EXPORTS) \
+- $(POSTSTAGE1_HOST_EXPORTS) \
++ $(POSTSTAGE1_HOST_EXPORTS) \
+ CFLAGS="$(STAGE2_CFLAGS) -g0"; export CFLAGS; \
+- LIBCFLAGS="$(STAGE2_CFLAGS) -g0"; export LIBCFLAGS; \
++ CXXFLAGS="$(STAGE2_CFLAGS) -g0"; export CXXFLAGS; \
+ echo Configuring stage b2g0 in $(HOST_SUBDIR)/bfd ; \
+ $(SHELL) $(srcdir)/mkinstalldirs $(HOST_SUBDIR)/bfd ; \
+ cd $(HOST_SUBDIR)/bfd || exit 1; \
+@@ -4909,9 +4934,9 @@
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ test ! -f $(HOST_SUBDIR)/bfd/Makefile || exit 0; \
+ $(HOST_EXPORTS) \
+- $(POSTSTAGE1_HOST_EXPORTS) \
++ $(POSTSTAGE1_HOST_EXPORTS) \
+ CFLAGS="$(STAGE3_CFLAGS)"; export CFLAGS; \
+- LIBCFLAGS="$(STAGE3_CFLAGS)"; export LIBCFLAGS; \
++ CXXFLAGS="$(STAGE3_CFLAGS)"; export CXXFLAGS; \
+ echo Configuring stage 3 in $(HOST_SUBDIR)/bfd ; \
+ $(SHELL) $(srcdir)/mkinstalldirs $(HOST_SUBDIR)/bfd ; \
+ cd $(HOST_SUBDIR)/bfd || exit 1; \
+@@ -4940,9 +4965,9 @@
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ test ! -f $(HOST_SUBDIR)/bfd/Makefile || exit 0; \
+ $(HOST_EXPORTS) \
+- $(POSTSTAGE1_HOST_EXPORTS) \
++ $(POSTSTAGE1_HOST_EXPORTS) \
+ CFLAGS="$(STAGE3_CFLAGS) -g2"; export CFLAGS; \
+- LIBCFLAGS="$(STAGE3_CFLAGS) -g2"; export LIBCFLAGS; \
++ CXXFLAGS="$(STAGE3_CFLAGS) -g2"; export CXXFLAGS; \
+ echo Configuring stage b3g2 in $(HOST_SUBDIR)/bfd ; \
+ $(SHELL) $(srcdir)/mkinstalldirs $(HOST_SUBDIR)/bfd ; \
+ cd $(HOST_SUBDIR)/bfd || exit 1; \
+@@ -4971,9 +4996,9 @@
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ test ! -f $(HOST_SUBDIR)/bfd/Makefile || exit 0; \
+ $(HOST_EXPORTS) \
+- $(POSTSTAGE1_HOST_EXPORTS) \
++ $(POSTSTAGE1_HOST_EXPORTS) \
+ CFLAGS="$(STAGE4_CFLAGS)"; export CFLAGS; \
+- LIBCFLAGS="$(STAGE4_CFLAGS)"; export LIBCFLAGS; \
++ CXXFLAGS="$(STAGE4_CFLAGS)"; export CXXFLAGS; \
+ echo Configuring stage 4 in $(HOST_SUBDIR)/bfd ; \
+ $(SHELL) $(srcdir)/mkinstalldirs $(HOST_SUBDIR)/bfd ; \
+ cd $(HOST_SUBDIR)/bfd || exit 1; \
+@@ -5002,9 +5027,9 @@
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ test ! -f $(HOST_SUBDIR)/bfd/Makefile || exit 0; \
+ $(HOST_EXPORTS) \
+- $(POSTSTAGE1_HOST_EXPORTS) \
++ $(POSTSTAGE1_HOST_EXPORTS) \
+ CFLAGS="$(STAGE2_CFLAGS) -fprofile-generate"; export CFLAGS; \
+- LIBCFLAGS="$(STAGE2_CFLAGS) -fprofile-generate"; export LIBCFLAGS; \
++ CXXFLAGS="$(STAGE2_CFLAGS) -fprofile-generate"; export CXXFLAGS; \
+ echo Configuring stage profile in $(HOST_SUBDIR)/bfd ; \
+ $(SHELL) $(srcdir)/mkinstalldirs $(HOST_SUBDIR)/bfd ; \
+ cd $(HOST_SUBDIR)/bfd || exit 1; \
+@@ -5033,9 +5058,9 @@
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ test ! -f $(HOST_SUBDIR)/bfd/Makefile || exit 0; \
+ $(HOST_EXPORTS) \
+- $(POSTSTAGE1_HOST_EXPORTS) \
++ $(POSTSTAGE1_HOST_EXPORTS) \
+ CFLAGS="$(STAGE3_CFLAGS) -fprofile-use"; export CFLAGS; \
+- LIBCFLAGS="$(STAGE3_CFLAGS) -fprofile-use"; export LIBCFLAGS; \
++ CXXFLAGS="$(STAGE3_CFLAGS) -fprofile-use"; export CXXFLAGS; \
+ echo Configuring stage feedback in $(HOST_SUBDIR)/bfd ; \
+ $(SHELL) $(srcdir)/mkinstalldirs $(HOST_SUBDIR)/bfd ; \
+ cd $(HOST_SUBDIR)/bfd || exit 1; \
+@@ -5070,7 +5095,8 @@
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ $(HOST_EXPORTS) \
+ (cd $(HOST_SUBDIR)/bfd && \
+- $(MAKE) $(FLAGS_TO_PASS) $(TARGET-bfd))
++ $(MAKE) $(BASE_FLAGS_TO_PASS) $(EXTRA_HOST_FLAGS) \
++ $(TARGET-bfd))
+ @endif bfd
+
+
+@@ -5089,8 +5115,11 @@
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ $(HOST_EXPORTS) \
+ cd $(HOST_SUBDIR)/bfd && \
+- $(MAKE) $(FLAGS_TO_PASS) \
+- CFLAGS="$(STAGE1_CFLAGS)" LIBCFLAGS="$(STAGE1_CFLAGS)" \
++ $(MAKE) $(BASE_FLAGS_TO_PASS) \
++ CFLAGS="$(STAGE1_CFLAGS)" CXXFLAGS="$(STAGE1_CFLAGS)" \
++ LIBCFLAGS="$(STAGE1_LIBCFLAGS)" \
++ CFLAGS_FOR_TARGET="$(STAGE1_LIBCFLAGS)" \
++ CXXFLAGS_FOR_TARGET="$(STAGE1_LIBCFLAGS)" $(EXTRA_HOST_FLAGS) \
+ $(TARGET-stage1-bfd)
+
+ maybe-clean-stage1-bfd: clean-stage1-bfd
+@@ -5103,7 +5132,7 @@
+ $(MAKE) stage1-start; \
+ fi; \
+ cd $(HOST_SUBDIR)/bfd && \
+- $(MAKE) $(FLAGS_TO_PASS) \
++ $(MAKE) $(EXTRA_HOST_FLAGS) \
+ clean
+ @endif bfd-bootstrap
+
+@@ -5123,8 +5152,11 @@
+ $(HOST_EXPORTS) \
+ $(POSTSTAGE1_HOST_EXPORTS) \
+ cd $(HOST_SUBDIR)/bfd && \
+- $(MAKE) $(FLAGS_TO_PASS) \
+- CFLAGS="$(STAGE2_CFLAGS)" LIBCFLAGS="$(STAGE2_CFLAGS)" $(POSTSTAGE1_FLAGS_TO_PASS) \
++ $(MAKE) $(BASE_FLAGS_TO_PASS) \
++ CFLAGS="$(STAGE2_CFLAGS)" CXXFLAGS="$(STAGE2_CFLAGS)" \
++ LIBCFLAGS="$(STAGE2_LIBCFLAGS)" \
++ CFLAGS_FOR_TARGET="$(STAGE2_LIBCFLAGS)" \
++ CXXFLAGS_FOR_TARGET="$(STAGE2_LIBCFLAGS)" $(EXTRA_HOST_FLAGS) $(POSTSTAGE1_FLAGS_TO_PASS) \
+ $(TARGET-stage2-bfd)
+
+ maybe-clean-stage2-bfd: clean-stage2-bfd
+@@ -5137,7 +5169,7 @@
+ $(MAKE) stage2-start; \
+ fi; \
+ cd $(HOST_SUBDIR)/bfd && \
+- $(MAKE) $(FLAGS_TO_PASS) \
++ $(MAKE) $(EXTRA_HOST_FLAGS) \
+ $(POSTSTAGE1_FLAGS_TO_PASS) \
+ clean
+ @endif bfd-bootstrap
+@@ -5158,8 +5190,11 @@
+ $(HOST_EXPORTS) \
+ $(POSTSTAGE1_HOST_EXPORTS) \
+ cd $(HOST_SUBDIR)/bfd && \
+- $(MAKE) $(FLAGS_TO_PASS) \
+- CFLAGS="$(STAGE2_CFLAGS) -g0" LIBCFLAGS="$(STAGE2_CFLAGS) -g0" $(POSTSTAGE1_FLAGS_TO_PASS) \
++ $(MAKE) $(BASE_FLAGS_TO_PASS) \
++ CFLAGS="$(STAGE2_CFLAGS) -g0" CXXFLAGS="$(STAGE2_CFLAGS) -g0" \
++ LIBCFLAGS="$(STAGE2_LIBCFLAGS) -g0" \
++ CFLAGS_FOR_TARGET="$(STAGE2_LIBCFLAGS) -g0" \
++ CXXFLAGS_FOR_TARGET="$(STAGE2_LIBCFLAGS) -g0" $(EXTRA_HOST_FLAGS) $(POSTSTAGE1_FLAGS_TO_PASS) \
+ $(TARGET-stageb2g0-bfd)
+
+ maybe-clean-stageb2g0-bfd: clean-stageb2g0-bfd
+@@ -5172,7 +5207,7 @@
+ $(MAKE) stageb2g0-start; \
+ fi; \
+ cd $(HOST_SUBDIR)/bfd && \
+- $(MAKE) $(FLAGS_TO_PASS) \
++ $(MAKE) $(EXTRA_HOST_FLAGS) \
+ $(POSTSTAGE1_FLAGS_TO_PASS) \
+ clean
+ @endif bfd-bootstrap
+@@ -5193,8 +5228,11 @@
+ $(HOST_EXPORTS) \
+ $(POSTSTAGE1_HOST_EXPORTS) \
+ cd $(HOST_SUBDIR)/bfd && \
+- $(MAKE) $(FLAGS_TO_PASS) \
+- CFLAGS="$(STAGE3_CFLAGS)" LIBCFLAGS="$(STAGE3_CFLAGS)" $(POSTSTAGE1_FLAGS_TO_PASS) \
++ $(MAKE) $(BASE_FLAGS_TO_PASS) \
++ CFLAGS="$(STAGE3_CFLAGS)" CXXFLAGS="$(STAGE3_CFLAGS)" \
++ LIBCFLAGS="$(STAGE3_LIBCFLAGS)" \
++ CFLAGS_FOR_TARGET="$(STAGE3_LIBCFLAGS)" \
++ CXXFLAGS_FOR_TARGET="$(STAGE3_LIBCFLAGS)" $(EXTRA_HOST_FLAGS) $(POSTSTAGE1_FLAGS_TO_PASS) \
+ $(TARGET-stage3-bfd)
+
+ maybe-clean-stage3-bfd: clean-stage3-bfd
+@@ -5207,7 +5245,7 @@
+ $(MAKE) stage3-start; \
+ fi; \
+ cd $(HOST_SUBDIR)/bfd && \
+- $(MAKE) $(FLAGS_TO_PASS) \
++ $(MAKE) $(EXTRA_HOST_FLAGS) \
+ $(POSTSTAGE1_FLAGS_TO_PASS) \
+ clean
+ @endif bfd-bootstrap
+@@ -5228,8 +5266,11 @@
+ $(HOST_EXPORTS) \
+ $(POSTSTAGE1_HOST_EXPORTS) \
+ cd $(HOST_SUBDIR)/bfd && \
+- $(MAKE) $(FLAGS_TO_PASS) \
+- CFLAGS="$(STAGE3_CFLAGS) -g2" LIBCFLAGS="$(STAGE3_CFLAGS) -g2" $(POSTSTAGE1_FLAGS_TO_PASS) \
++ $(MAKE) $(BASE_FLAGS_TO_PASS) \
++ CFLAGS="$(STAGE3_CFLAGS) -g2" CXXFLAGS="$(STAGE3_CFLAGS) -g2" \
++ LIBCFLAGS="$(STAGE3_LIBCFLAGS) -g2" \
++ CFLAGS_FOR_TARGET="$(STAGE3_LIBCFLAGS) -g2" \
++ CXXFLAGS_FOR_TARGET="$(STAGE3_LIBCFLAGS) -g2" $(EXTRA_HOST_FLAGS) $(POSTSTAGE1_FLAGS_TO_PASS) \
+ $(TARGET-stageb3g2-bfd)
+
+ maybe-clean-stageb3g2-bfd: clean-stageb3g2-bfd
+@@ -5242,7 +5283,7 @@
+ $(MAKE) stageb3g2-start; \
+ fi; \
+ cd $(HOST_SUBDIR)/bfd && \
+- $(MAKE) $(FLAGS_TO_PASS) \
++ $(MAKE) $(EXTRA_HOST_FLAGS) \
+ $(POSTSTAGE1_FLAGS_TO_PASS) \
+ clean
+ @endif bfd-bootstrap
+@@ -5263,8 +5304,11 @@
+ $(HOST_EXPORTS) \
+ $(POSTSTAGE1_HOST_EXPORTS) \
+ cd $(HOST_SUBDIR)/bfd && \
+- $(MAKE) $(FLAGS_TO_PASS) \
+- CFLAGS="$(STAGE4_CFLAGS)" LIBCFLAGS="$(STAGE4_CFLAGS)" $(POSTSTAGE1_FLAGS_TO_PASS) \
++ $(MAKE) $(BASE_FLAGS_TO_PASS) \
++ CFLAGS="$(STAGE4_CFLAGS)" CXXFLAGS="$(STAGE4_CFLAGS)" \
++ LIBCFLAGS="$(STAGE4_CFLAGS)" \
++ CFLAGS_FOR_TARGET="$(STAGE4_CFLAGS)" \
++ CXXFLAGS_FOR_TARGET="$(STAGE4_CFLAGS)" $(EXTRA_HOST_FLAGS) $(POSTSTAGE1_FLAGS_TO_PASS) \
+ $(TARGET-stage4-bfd)
+
+ maybe-clean-stage4-bfd: clean-stage4-bfd
+@@ -5277,7 +5321,7 @@
+ $(MAKE) stage4-start; \
+ fi; \
+ cd $(HOST_SUBDIR)/bfd && \
+- $(MAKE) $(FLAGS_TO_PASS) \
++ $(MAKE) $(EXTRA_HOST_FLAGS) \
+ $(POSTSTAGE1_FLAGS_TO_PASS) \
+ clean
+ @endif bfd-bootstrap
+@@ -5298,8 +5342,11 @@
+ $(HOST_EXPORTS) \
+ $(POSTSTAGE1_HOST_EXPORTS) \
+ cd $(HOST_SUBDIR)/bfd && \
+- $(MAKE) $(FLAGS_TO_PASS) \
+- CFLAGS="$(STAGE2_CFLAGS) -fprofile-generate" LIBCFLAGS="$(STAGE2_CFLAGS) -fprofile-generate" $(POSTSTAGE1_FLAGS_TO_PASS) \
++ $(MAKE) $(BASE_FLAGS_TO_PASS) \
++ CFLAGS="$(STAGE2_CFLAGS) -fprofile-generate" CXXFLAGS="$(STAGE2_CFLAGS) -fprofile-generate" \
++ LIBCFLAGS="$(STAGE2_LIBCFLAGS) -fprofile-generate" \
++ CFLAGS_FOR_TARGET="$(STAGE2_LIBCFLAGS) -fprofile-generate" \
++ CXXFLAGS_FOR_TARGET="$(STAGE2_LIBCFLAGS) -fprofile-generate" $(EXTRA_HOST_FLAGS) $(POSTSTAGE1_FLAGS_TO_PASS) \
+ $(TARGET-stageprofile-bfd)
+
+ maybe-clean-stageprofile-bfd: clean-stageprofile-bfd
+@@ -5312,7 +5359,7 @@
+ $(MAKE) stageprofile-start; \
+ fi; \
+ cd $(HOST_SUBDIR)/bfd && \
+- $(MAKE) $(FLAGS_TO_PASS) \
++ $(MAKE) $(EXTRA_HOST_FLAGS) \
+ $(POSTSTAGE1_FLAGS_TO_PASS) \
+ clean
+ @endif bfd-bootstrap
+@@ -5333,8 +5380,11 @@
+ $(HOST_EXPORTS) \
+ $(POSTSTAGE1_HOST_EXPORTS) \
+ cd $(HOST_SUBDIR)/bfd && \
+- $(MAKE) $(FLAGS_TO_PASS) \
+- CFLAGS="$(STAGE3_CFLAGS) -fprofile-use" LIBCFLAGS="$(STAGE3_CFLAGS) -fprofile-use" $(POSTSTAGE1_FLAGS_TO_PASS) \
++ $(MAKE) $(BASE_FLAGS_TO_PASS) \
++ CFLAGS="$(STAGE3_CFLAGS) -fprofile-use" CXXFLAGS="$(STAGE3_CFLAGS) -fprofile-use" \
++ LIBCFLAGS="$(STAGE3_LIBCFLAGS) -fprofile-use" \
++ CFLAGS_FOR_TARGET="$(STAGE3_LIBCFLAGS) -fprofile-use" \
++ CXXFLAGS_FOR_TARGET="$(STAGE3_LIBCFLAGS) -fprofile-use" $(EXTRA_HOST_FLAGS) $(POSTSTAGE1_FLAGS_TO_PASS) \
+ $(TARGET-stagefeedback-bfd)
+
+ maybe-clean-stagefeedback-bfd: clean-stagefeedback-bfd
+@@ -5347,7 +5397,7 @@
+ $(MAKE) stagefeedback-start; \
+ fi; \
+ cd $(HOST_SUBDIR)/bfd && \
+- $(MAKE) $(FLAGS_TO_PASS) \
++ $(MAKE) $(EXTRA_HOST_FLAGS) \
+ $(POSTSTAGE1_FLAGS_TO_PASS) \
+ clean
+ @endif bfd-bootstrap
+@@ -5754,9 +5804,9 @@
+ @r=`${PWD_COMMAND}`; export r; \
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ test ! -f $(HOST_SUBDIR)/opcodes/Makefile || exit 0; \
+- $(HOST_EXPORTS) \
++ $(HOST_EXPORTS) \
+ CFLAGS="$(STAGE1_CFLAGS)"; export CFLAGS; \
+- LIBCFLAGS="$(STAGE1_CFLAGS)"; export LIBCFLAGS; \
++ CXXFLAGS="$(STAGE1_CFLAGS)"; export CXXFLAGS; \
+ echo Configuring stage 1 in $(HOST_SUBDIR)/opcodes ; \
+ $(SHELL) $(srcdir)/mkinstalldirs $(HOST_SUBDIR)/opcodes ; \
+ cd $(HOST_SUBDIR)/opcodes || exit 1; \
+@@ -5785,9 +5835,9 @@
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ test ! -f $(HOST_SUBDIR)/opcodes/Makefile || exit 0; \
+ $(HOST_EXPORTS) \
+- $(POSTSTAGE1_HOST_EXPORTS) \
++ $(POSTSTAGE1_HOST_EXPORTS) \
+ CFLAGS="$(STAGE2_CFLAGS)"; export CFLAGS; \
+- LIBCFLAGS="$(STAGE2_CFLAGS)"; export LIBCFLAGS; \
++ CXXFLAGS="$(STAGE2_CFLAGS)"; export CXXFLAGS; \
+ echo Configuring stage 2 in $(HOST_SUBDIR)/opcodes ; \
+ $(SHELL) $(srcdir)/mkinstalldirs $(HOST_SUBDIR)/opcodes ; \
+ cd $(HOST_SUBDIR)/opcodes || exit 1; \
+@@ -5816,9 +5866,9 @@
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ test ! -f $(HOST_SUBDIR)/opcodes/Makefile || exit 0; \
+ $(HOST_EXPORTS) \
+- $(POSTSTAGE1_HOST_EXPORTS) \
++ $(POSTSTAGE1_HOST_EXPORTS) \
+ CFLAGS="$(STAGE2_CFLAGS) -g0"; export CFLAGS; \
+- LIBCFLAGS="$(STAGE2_CFLAGS) -g0"; export LIBCFLAGS; \
++ CXXFLAGS="$(STAGE2_CFLAGS) -g0"; export CXXFLAGS; \
+ echo Configuring stage b2g0 in $(HOST_SUBDIR)/opcodes ; \
+ $(SHELL) $(srcdir)/mkinstalldirs $(HOST_SUBDIR)/opcodes ; \
+ cd $(HOST_SUBDIR)/opcodes || exit 1; \
+@@ -5847,9 +5897,9 @@
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ test ! -f $(HOST_SUBDIR)/opcodes/Makefile || exit 0; \
+ $(HOST_EXPORTS) \
+- $(POSTSTAGE1_HOST_EXPORTS) \
++ $(POSTSTAGE1_HOST_EXPORTS) \
+ CFLAGS="$(STAGE3_CFLAGS)"; export CFLAGS; \
+- LIBCFLAGS="$(STAGE3_CFLAGS)"; export LIBCFLAGS; \
++ CXXFLAGS="$(STAGE3_CFLAGS)"; export CXXFLAGS; \
+ echo Configuring stage 3 in $(HOST_SUBDIR)/opcodes ; \
+ $(SHELL) $(srcdir)/mkinstalldirs $(HOST_SUBDIR)/opcodes ; \
+ cd $(HOST_SUBDIR)/opcodes || exit 1; \
+@@ -5878,9 +5928,9 @@
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ test ! -f $(HOST_SUBDIR)/opcodes/Makefile || exit 0; \
+ $(HOST_EXPORTS) \
+- $(POSTSTAGE1_HOST_EXPORTS) \
++ $(POSTSTAGE1_HOST_EXPORTS) \
+ CFLAGS="$(STAGE3_CFLAGS) -g2"; export CFLAGS; \
+- LIBCFLAGS="$(STAGE3_CFLAGS) -g2"; export LIBCFLAGS; \
++ CXXFLAGS="$(STAGE3_CFLAGS) -g2"; export CXXFLAGS; \
+ echo Configuring stage b3g2 in $(HOST_SUBDIR)/opcodes ; \
+ $(SHELL) $(srcdir)/mkinstalldirs $(HOST_SUBDIR)/opcodes ; \
+ cd $(HOST_SUBDIR)/opcodes || exit 1; \
+@@ -5909,9 +5959,9 @@
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ test ! -f $(HOST_SUBDIR)/opcodes/Makefile || exit 0; \
+ $(HOST_EXPORTS) \
+- $(POSTSTAGE1_HOST_EXPORTS) \
++ $(POSTSTAGE1_HOST_EXPORTS) \
+ CFLAGS="$(STAGE4_CFLAGS)"; export CFLAGS; \
+- LIBCFLAGS="$(STAGE4_CFLAGS)"; export LIBCFLAGS; \
++ CXXFLAGS="$(STAGE4_CFLAGS)"; export CXXFLAGS; \
+ echo Configuring stage 4 in $(HOST_SUBDIR)/opcodes ; \
+ $(SHELL) $(srcdir)/mkinstalldirs $(HOST_SUBDIR)/opcodes ; \
+ cd $(HOST_SUBDIR)/opcodes || exit 1; \
+@@ -5940,9 +5990,9 @@
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ test ! -f $(HOST_SUBDIR)/opcodes/Makefile || exit 0; \
+ $(HOST_EXPORTS) \
+- $(POSTSTAGE1_HOST_EXPORTS) \
++ $(POSTSTAGE1_HOST_EXPORTS) \
+ CFLAGS="$(STAGE2_CFLAGS) -fprofile-generate"; export CFLAGS; \
+- LIBCFLAGS="$(STAGE2_CFLAGS) -fprofile-generate"; export LIBCFLAGS; \
++ CXXFLAGS="$(STAGE2_CFLAGS) -fprofile-generate"; export CXXFLAGS; \
+ echo Configuring stage profile in $(HOST_SUBDIR)/opcodes ; \
+ $(SHELL) $(srcdir)/mkinstalldirs $(HOST_SUBDIR)/opcodes ; \
+ cd $(HOST_SUBDIR)/opcodes || exit 1; \
+@@ -5971,9 +6021,9 @@
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ test ! -f $(HOST_SUBDIR)/opcodes/Makefile || exit 0; \
+ $(HOST_EXPORTS) \
+- $(POSTSTAGE1_HOST_EXPORTS) \
++ $(POSTSTAGE1_HOST_EXPORTS) \
+ CFLAGS="$(STAGE3_CFLAGS) -fprofile-use"; export CFLAGS; \
+- LIBCFLAGS="$(STAGE3_CFLAGS) -fprofile-use"; export LIBCFLAGS; \
++ CXXFLAGS="$(STAGE3_CFLAGS) -fprofile-use"; export CXXFLAGS; \
+ echo Configuring stage feedback in $(HOST_SUBDIR)/opcodes ; \
+ $(SHELL) $(srcdir)/mkinstalldirs $(HOST_SUBDIR)/opcodes ; \
+ cd $(HOST_SUBDIR)/opcodes || exit 1; \
+@@ -6008,7 +6058,8 @@
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ $(HOST_EXPORTS) \
+ (cd $(HOST_SUBDIR)/opcodes && \
+- $(MAKE) $(FLAGS_TO_PASS) $(TARGET-opcodes))
++ $(MAKE) $(BASE_FLAGS_TO_PASS) $(EXTRA_HOST_FLAGS) \
++ $(TARGET-opcodes))
+ @endif opcodes
+
+
+@@ -6027,8 +6078,11 @@
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ $(HOST_EXPORTS) \
+ cd $(HOST_SUBDIR)/opcodes && \
+- $(MAKE) $(FLAGS_TO_PASS) \
+- CFLAGS="$(STAGE1_CFLAGS)" LIBCFLAGS="$(STAGE1_CFLAGS)" \
++ $(MAKE) $(BASE_FLAGS_TO_PASS) \
++ CFLAGS="$(STAGE1_CFLAGS)" CXXFLAGS="$(STAGE1_CFLAGS)" \
++ LIBCFLAGS="$(STAGE1_LIBCFLAGS)" \
++ CFLAGS_FOR_TARGET="$(STAGE1_LIBCFLAGS)" \
++ CXXFLAGS_FOR_TARGET="$(STAGE1_LIBCFLAGS)" $(EXTRA_HOST_FLAGS) \
+ $(TARGET-stage1-opcodes)
+
+ maybe-clean-stage1-opcodes: clean-stage1-opcodes
+@@ -6041,7 +6095,7 @@
+ $(MAKE) stage1-start; \
+ fi; \
+ cd $(HOST_SUBDIR)/opcodes && \
+- $(MAKE) $(FLAGS_TO_PASS) \
++ $(MAKE) $(EXTRA_HOST_FLAGS) \
+ clean
+ @endif opcodes-bootstrap
+
+@@ -6061,8 +6115,11 @@
+ $(HOST_EXPORTS) \
+ $(POSTSTAGE1_HOST_EXPORTS) \
+ cd $(HOST_SUBDIR)/opcodes && \
+- $(MAKE) $(FLAGS_TO_PASS) \
+- CFLAGS="$(STAGE2_CFLAGS)" LIBCFLAGS="$(STAGE2_CFLAGS)" $(POSTSTAGE1_FLAGS_TO_PASS) \
++ $(MAKE) $(BASE_FLAGS_TO_PASS) \
++ CFLAGS="$(STAGE2_CFLAGS)" CXXFLAGS="$(STAGE2_CFLAGS)" \
++ LIBCFLAGS="$(STAGE2_LIBCFLAGS)" \
++ CFLAGS_FOR_TARGET="$(STAGE2_LIBCFLAGS)" \
++ CXXFLAGS_FOR_TARGET="$(STAGE2_LIBCFLAGS)" $(EXTRA_HOST_FLAGS) $(POSTSTAGE1_FLAGS_TO_PASS) \
+ $(TARGET-stage2-opcodes)
+
+ maybe-clean-stage2-opcodes: clean-stage2-opcodes
+@@ -6075,7 +6132,7 @@
+ $(MAKE) stage2-start; \
+ fi; \
+ cd $(HOST_SUBDIR)/opcodes && \
+- $(MAKE) $(FLAGS_TO_PASS) \
++ $(MAKE) $(EXTRA_HOST_FLAGS) \
+ $(POSTSTAGE1_FLAGS_TO_PASS) \
+ clean
+ @endif opcodes-bootstrap
+@@ -6096,8 +6153,11 @@
+ $(HOST_EXPORTS) \
+ $(POSTSTAGE1_HOST_EXPORTS) \
+ cd $(HOST_SUBDIR)/opcodes && \
+- $(MAKE) $(FLAGS_TO_PASS) \
+- CFLAGS="$(STAGE2_CFLAGS) -g0" LIBCFLAGS="$(STAGE2_CFLAGS) -g0" $(POSTSTAGE1_FLAGS_TO_PASS) \
++ $(MAKE) $(BASE_FLAGS_TO_PASS) \
++ CFLAGS="$(STAGE2_CFLAGS) -g0" CXXFLAGS="$(STAGE2_CFLAGS) -g0" \
++ LIBCFLAGS="$(STAGE2_LIBCFLAGS) -g0" \
++ CFLAGS_FOR_TARGET="$(STAGE2_LIBCFLAGS) -g0" \
++ CXXFLAGS_FOR_TARGET="$(STAGE2_LIBCFLAGS) -g0" $(EXTRA_HOST_FLAGS) $(POSTSTAGE1_FLAGS_TO_PASS) \
+ $(TARGET-stageb2g0-opcodes)
+
+ maybe-clean-stageb2g0-opcodes: clean-stageb2g0-opcodes
+@@ -6110,7 +6170,7 @@
+ $(MAKE) stageb2g0-start; \
+ fi; \
+ cd $(HOST_SUBDIR)/opcodes && \
+- $(MAKE) $(FLAGS_TO_PASS) \
++ $(MAKE) $(EXTRA_HOST_FLAGS) \
+ $(POSTSTAGE1_FLAGS_TO_PASS) \
+ clean
+ @endif opcodes-bootstrap
+@@ -6131,8 +6191,11 @@
+ $(HOST_EXPORTS) \
+ $(POSTSTAGE1_HOST_EXPORTS) \
+ cd $(HOST_SUBDIR)/opcodes && \
+- $(MAKE) $(FLAGS_TO_PASS) \
+- CFLAGS="$(STAGE3_CFLAGS)" LIBCFLAGS="$(STAGE3_CFLAGS)" $(POSTSTAGE1_FLAGS_TO_PASS) \
++ $(MAKE) $(BASE_FLAGS_TO_PASS) \
++ CFLAGS="$(STAGE3_CFLAGS)" CXXFLAGS="$(STAGE3_CFLAGS)" \
++ LIBCFLAGS="$(STAGE3_LIBCFLAGS)" \
++ CFLAGS_FOR_TARGET="$(STAGE3_LIBCFLAGS)" \
++ CXXFLAGS_FOR_TARGET="$(STAGE3_LIBCFLAGS)" $(EXTRA_HOST_FLAGS) $(POSTSTAGE1_FLAGS_TO_PASS) \
+ $(TARGET-stage3-opcodes)
+
+ maybe-clean-stage3-opcodes: clean-stage3-opcodes
+@@ -6145,7 +6208,7 @@
+ $(MAKE) stage3-start; \
+ fi; \
+ cd $(HOST_SUBDIR)/opcodes && \
+- $(MAKE) $(FLAGS_TO_PASS) \
++ $(MAKE) $(EXTRA_HOST_FLAGS) \
+ $(POSTSTAGE1_FLAGS_TO_PASS) \
+ clean
+ @endif opcodes-bootstrap
+@@ -6166,8 +6229,11 @@
+ $(HOST_EXPORTS) \
+ $(POSTSTAGE1_HOST_EXPORTS) \
+ cd $(HOST_SUBDIR)/opcodes && \
+- $(MAKE) $(FLAGS_TO_PASS) \
+- CFLAGS="$(STAGE3_CFLAGS) -g2" LIBCFLAGS="$(STAGE3_CFLAGS) -g2" $(POSTSTAGE1_FLAGS_TO_PASS) \
++ $(MAKE) $(BASE_FLAGS_TO_PASS) \
++ CFLAGS="$(STAGE3_CFLAGS) -g2" CXXFLAGS="$(STAGE3_CFLAGS) -g2" \
++ LIBCFLAGS="$(STAGE3_LIBCFLAGS) -g2" \
++ CFLAGS_FOR_TARGET="$(STAGE3_LIBCFLAGS) -g2" \
++ CXXFLAGS_FOR_TARGET="$(STAGE3_LIBCFLAGS) -g2" $(EXTRA_HOST_FLAGS) $(POSTSTAGE1_FLAGS_TO_PASS) \
+ $(TARGET-stageb3g2-opcodes)
+
+ maybe-clean-stageb3g2-opcodes: clean-stageb3g2-opcodes
+@@ -6180,7 +6246,7 @@
+ $(MAKE) stageb3g2-start; \
+ fi; \
+ cd $(HOST_SUBDIR)/opcodes && \
+- $(MAKE) $(FLAGS_TO_PASS) \
++ $(MAKE) $(EXTRA_HOST_FLAGS) \
+ $(POSTSTAGE1_FLAGS_TO_PASS) \
+ clean
+ @endif opcodes-bootstrap
+@@ -6201,8 +6267,11 @@
+ $(HOST_EXPORTS) \
+ $(POSTSTAGE1_HOST_EXPORTS) \
+ cd $(HOST_SUBDIR)/opcodes && \
+- $(MAKE) $(FLAGS_TO_PASS) \
+- CFLAGS="$(STAGE4_CFLAGS)" LIBCFLAGS="$(STAGE4_CFLAGS)" $(POSTSTAGE1_FLAGS_TO_PASS) \
++ $(MAKE) $(BASE_FLAGS_TO_PASS) \
++ CFLAGS="$(STAGE4_CFLAGS)" CXXFLAGS="$(STAGE4_CFLAGS)" \
++ LIBCFLAGS="$(STAGE4_CFLAGS)" \
++ CFLAGS_FOR_TARGET="$(STAGE4_CFLAGS)" \
++ CXXFLAGS_FOR_TARGET="$(STAGE4_CFLAGS)" $(EXTRA_HOST_FLAGS) $(POSTSTAGE1_FLAGS_TO_PASS) \
+ $(TARGET-stage4-opcodes)
+
+ maybe-clean-stage4-opcodes: clean-stage4-opcodes
+@@ -6215,7 +6284,7 @@
+ $(MAKE) stage4-start; \
+ fi; \
+ cd $(HOST_SUBDIR)/opcodes && \
+- $(MAKE) $(FLAGS_TO_PASS) \
++ $(MAKE) $(EXTRA_HOST_FLAGS) \
+ $(POSTSTAGE1_FLAGS_TO_PASS) \
+ clean
+ @endif opcodes-bootstrap
+@@ -6236,8 +6305,11 @@
+ $(HOST_EXPORTS) \
+ $(POSTSTAGE1_HOST_EXPORTS) \
+ cd $(HOST_SUBDIR)/opcodes && \
+- $(MAKE) $(FLAGS_TO_PASS) \
+- CFLAGS="$(STAGE2_CFLAGS) -fprofile-generate" LIBCFLAGS="$(STAGE2_CFLAGS) -fprofile-generate" $(POSTSTAGE1_FLAGS_TO_PASS) \
++ $(MAKE) $(BASE_FLAGS_TO_PASS) \
++ CFLAGS="$(STAGE2_CFLAGS) -fprofile-generate" CXXFLAGS="$(STAGE2_CFLAGS) -fprofile-generate" \
++ LIBCFLAGS="$(STAGE2_LIBCFLAGS) -fprofile-generate" \
++ CFLAGS_FOR_TARGET="$(STAGE2_LIBCFLAGS) -fprofile-generate" \
++ CXXFLAGS_FOR_TARGET="$(STAGE2_LIBCFLAGS) -fprofile-generate" $(EXTRA_HOST_FLAGS) $(POSTSTAGE1_FLAGS_TO_PASS) \
+ $(TARGET-stageprofile-opcodes)
+
+ maybe-clean-stageprofile-opcodes: clean-stageprofile-opcodes
+@@ -6250,7 +6322,7 @@
+ $(MAKE) stageprofile-start; \
+ fi; \
+ cd $(HOST_SUBDIR)/opcodes && \
+- $(MAKE) $(FLAGS_TO_PASS) \
++ $(MAKE) $(EXTRA_HOST_FLAGS) \
+ $(POSTSTAGE1_FLAGS_TO_PASS) \
+ clean
+ @endif opcodes-bootstrap
+@@ -6271,8 +6343,11 @@
+ $(HOST_EXPORTS) \
+ $(POSTSTAGE1_HOST_EXPORTS) \
+ cd $(HOST_SUBDIR)/opcodes && \
+- $(MAKE) $(FLAGS_TO_PASS) \
+- CFLAGS="$(STAGE3_CFLAGS) -fprofile-use" LIBCFLAGS="$(STAGE3_CFLAGS) -fprofile-use" $(POSTSTAGE1_FLAGS_TO_PASS) \
++ $(MAKE) $(BASE_FLAGS_TO_PASS) \
++ CFLAGS="$(STAGE3_CFLAGS) -fprofile-use" CXXFLAGS="$(STAGE3_CFLAGS) -fprofile-use" \
++ LIBCFLAGS="$(STAGE3_LIBCFLAGS) -fprofile-use" \
++ CFLAGS_FOR_TARGET="$(STAGE3_LIBCFLAGS) -fprofile-use" \
++ CXXFLAGS_FOR_TARGET="$(STAGE3_LIBCFLAGS) -fprofile-use" $(EXTRA_HOST_FLAGS) $(POSTSTAGE1_FLAGS_TO_PASS) \
+ $(TARGET-stagefeedback-opcodes)
+
+ maybe-clean-stagefeedback-opcodes: clean-stagefeedback-opcodes
+@@ -6285,7 +6360,7 @@
+ $(MAKE) stagefeedback-start; \
+ fi; \
+ cd $(HOST_SUBDIR)/opcodes && \
+- $(MAKE) $(FLAGS_TO_PASS) \
++ $(MAKE) $(EXTRA_HOST_FLAGS) \
+ $(POSTSTAGE1_FLAGS_TO_PASS) \
+ clean
+ @endif opcodes-bootstrap
+@@ -6692,9 +6767,9 @@
+ @r=`${PWD_COMMAND}`; export r; \
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ test ! -f $(HOST_SUBDIR)/binutils/Makefile || exit 0; \
+- $(HOST_EXPORTS) \
++ $(HOST_EXPORTS) \
+ CFLAGS="$(STAGE1_CFLAGS)"; export CFLAGS; \
+- LIBCFLAGS="$(STAGE1_CFLAGS)"; export LIBCFLAGS; \
++ CXXFLAGS="$(STAGE1_CFLAGS)"; export CXXFLAGS; \
+ echo Configuring stage 1 in $(HOST_SUBDIR)/binutils ; \
+ $(SHELL) $(srcdir)/mkinstalldirs $(HOST_SUBDIR)/binutils ; \
+ cd $(HOST_SUBDIR)/binutils || exit 1; \
+@@ -6723,9 +6798,9 @@
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ test ! -f $(HOST_SUBDIR)/binutils/Makefile || exit 0; \
+ $(HOST_EXPORTS) \
+- $(POSTSTAGE1_HOST_EXPORTS) \
++ $(POSTSTAGE1_HOST_EXPORTS) \
+ CFLAGS="$(STAGE2_CFLAGS)"; export CFLAGS; \
+- LIBCFLAGS="$(STAGE2_CFLAGS)"; export LIBCFLAGS; \
++ CXXFLAGS="$(STAGE2_CFLAGS)"; export CXXFLAGS; \
+ echo Configuring stage 2 in $(HOST_SUBDIR)/binutils ; \
+ $(SHELL) $(srcdir)/mkinstalldirs $(HOST_SUBDIR)/binutils ; \
+ cd $(HOST_SUBDIR)/binutils || exit 1; \
+@@ -6754,9 +6829,9 @@
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ test ! -f $(HOST_SUBDIR)/binutils/Makefile || exit 0; \
+ $(HOST_EXPORTS) \
+- $(POSTSTAGE1_HOST_EXPORTS) \
++ $(POSTSTAGE1_HOST_EXPORTS) \
+ CFLAGS="$(STAGE2_CFLAGS) -g0"; export CFLAGS; \
+- LIBCFLAGS="$(STAGE2_CFLAGS) -g0"; export LIBCFLAGS; \
++ CXXFLAGS="$(STAGE2_CFLAGS) -g0"; export CXXFLAGS; \
+ echo Configuring stage b2g0 in $(HOST_SUBDIR)/binutils ; \
+ $(SHELL) $(srcdir)/mkinstalldirs $(HOST_SUBDIR)/binutils ; \
+ cd $(HOST_SUBDIR)/binutils || exit 1; \
+@@ -6785,9 +6860,9 @@
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ test ! -f $(HOST_SUBDIR)/binutils/Makefile || exit 0; \
+ $(HOST_EXPORTS) \
+- $(POSTSTAGE1_HOST_EXPORTS) \
++ $(POSTSTAGE1_HOST_EXPORTS) \
+ CFLAGS="$(STAGE3_CFLAGS)"; export CFLAGS; \
+- LIBCFLAGS="$(STAGE3_CFLAGS)"; export LIBCFLAGS; \
++ CXXFLAGS="$(STAGE3_CFLAGS)"; export CXXFLAGS; \
+ echo Configuring stage 3 in $(HOST_SUBDIR)/binutils ; \
+ $(SHELL) $(srcdir)/mkinstalldirs $(HOST_SUBDIR)/binutils ; \
+ cd $(HOST_SUBDIR)/binutils || exit 1; \
+@@ -6816,9 +6891,9 @@
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ test ! -f $(HOST_SUBDIR)/binutils/Makefile || exit 0; \
+ $(HOST_EXPORTS) \
+- $(POSTSTAGE1_HOST_EXPORTS) \
++ $(POSTSTAGE1_HOST_EXPORTS) \
+ CFLAGS="$(STAGE3_CFLAGS) -g2"; export CFLAGS; \
+- LIBCFLAGS="$(STAGE3_CFLAGS) -g2"; export LIBCFLAGS; \
++ CXXFLAGS="$(STAGE3_CFLAGS) -g2"; export CXXFLAGS; \
+ echo Configuring stage b3g2 in $(HOST_SUBDIR)/binutils ; \
+ $(SHELL) $(srcdir)/mkinstalldirs $(HOST_SUBDIR)/binutils ; \
+ cd $(HOST_SUBDIR)/binutils || exit 1; \
+@@ -6847,9 +6922,9 @@
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ test ! -f $(HOST_SUBDIR)/binutils/Makefile || exit 0; \
+ $(HOST_EXPORTS) \
+- $(POSTSTAGE1_HOST_EXPORTS) \
++ $(POSTSTAGE1_HOST_EXPORTS) \
+ CFLAGS="$(STAGE4_CFLAGS)"; export CFLAGS; \
+- LIBCFLAGS="$(STAGE4_CFLAGS)"; export LIBCFLAGS; \
++ CXXFLAGS="$(STAGE4_CFLAGS)"; export CXXFLAGS; \
+ echo Configuring stage 4 in $(HOST_SUBDIR)/binutils ; \
+ $(SHELL) $(srcdir)/mkinstalldirs $(HOST_SUBDIR)/binutils ; \
+ cd $(HOST_SUBDIR)/binutils || exit 1; \
+@@ -6878,9 +6953,9 @@
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ test ! -f $(HOST_SUBDIR)/binutils/Makefile || exit 0; \
+ $(HOST_EXPORTS) \
+- $(POSTSTAGE1_HOST_EXPORTS) \
++ $(POSTSTAGE1_HOST_EXPORTS) \
+ CFLAGS="$(STAGE2_CFLAGS) -fprofile-generate"; export CFLAGS; \
+- LIBCFLAGS="$(STAGE2_CFLAGS) -fprofile-generate"; export LIBCFLAGS; \
++ CXXFLAGS="$(STAGE2_CFLAGS) -fprofile-generate"; export CXXFLAGS; \
+ echo Configuring stage profile in $(HOST_SUBDIR)/binutils ; \
+ $(SHELL) $(srcdir)/mkinstalldirs $(HOST_SUBDIR)/binutils ; \
+ cd $(HOST_SUBDIR)/binutils || exit 1; \
+@@ -6909,9 +6984,9 @@
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ test ! -f $(HOST_SUBDIR)/binutils/Makefile || exit 0; \
+ $(HOST_EXPORTS) \
+- $(POSTSTAGE1_HOST_EXPORTS) \
++ $(POSTSTAGE1_HOST_EXPORTS) \
+ CFLAGS="$(STAGE3_CFLAGS) -fprofile-use"; export CFLAGS; \
+- LIBCFLAGS="$(STAGE3_CFLAGS) -fprofile-use"; export LIBCFLAGS; \
++ CXXFLAGS="$(STAGE3_CFLAGS) -fprofile-use"; export CXXFLAGS; \
+ echo Configuring stage feedback in $(HOST_SUBDIR)/binutils ; \
+ $(SHELL) $(srcdir)/mkinstalldirs $(HOST_SUBDIR)/binutils ; \
+ cd $(HOST_SUBDIR)/binutils || exit 1; \
+@@ -6946,7 +7021,8 @@
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ $(HOST_EXPORTS) \
+ (cd $(HOST_SUBDIR)/binutils && \
+- $(MAKE) $(FLAGS_TO_PASS) $(TARGET-binutils))
++ $(MAKE) $(BASE_FLAGS_TO_PASS) $(EXTRA_HOST_FLAGS) \
++ $(TARGET-binutils))
+ @endif binutils
+
+
+@@ -6965,8 +7041,11 @@
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ $(HOST_EXPORTS) \
+ cd $(HOST_SUBDIR)/binutils && \
+- $(MAKE) $(FLAGS_TO_PASS) \
+- CFLAGS="$(STAGE1_CFLAGS)" LIBCFLAGS="$(STAGE1_CFLAGS)" \
++ $(MAKE) $(BASE_FLAGS_TO_PASS) \
++ CFLAGS="$(STAGE1_CFLAGS)" CXXFLAGS="$(STAGE1_CFLAGS)" \
++ LIBCFLAGS="$(STAGE1_LIBCFLAGS)" \
++ CFLAGS_FOR_TARGET="$(STAGE1_LIBCFLAGS)" \
++ CXXFLAGS_FOR_TARGET="$(STAGE1_LIBCFLAGS)" $(EXTRA_HOST_FLAGS) \
+ $(TARGET-stage1-binutils)
+
+ maybe-clean-stage1-binutils: clean-stage1-binutils
+@@ -6979,7 +7058,7 @@
+ $(MAKE) stage1-start; \
+ fi; \
+ cd $(HOST_SUBDIR)/binutils && \
+- $(MAKE) $(FLAGS_TO_PASS) \
++ $(MAKE) $(EXTRA_HOST_FLAGS) \
+ clean
+ @endif binutils-bootstrap
+
+@@ -6999,8 +7078,11 @@
+ $(HOST_EXPORTS) \
+ $(POSTSTAGE1_HOST_EXPORTS) \
+ cd $(HOST_SUBDIR)/binutils && \
+- $(MAKE) $(FLAGS_TO_PASS) \
+- CFLAGS="$(STAGE2_CFLAGS)" LIBCFLAGS="$(STAGE2_CFLAGS)" $(POSTSTAGE1_FLAGS_TO_PASS) \
++ $(MAKE) $(BASE_FLAGS_TO_PASS) \
++ CFLAGS="$(STAGE2_CFLAGS)" CXXFLAGS="$(STAGE2_CFLAGS)" \
++ LIBCFLAGS="$(STAGE2_LIBCFLAGS)" \
++ CFLAGS_FOR_TARGET="$(STAGE2_LIBCFLAGS)" \
++ CXXFLAGS_FOR_TARGET="$(STAGE2_LIBCFLAGS)" $(EXTRA_HOST_FLAGS) $(POSTSTAGE1_FLAGS_TO_PASS) \
+ $(TARGET-stage2-binutils)
+
+ maybe-clean-stage2-binutils: clean-stage2-binutils
+@@ -7013,7 +7095,7 @@
+ $(MAKE) stage2-start; \
+ fi; \
+ cd $(HOST_SUBDIR)/binutils && \
+- $(MAKE) $(FLAGS_TO_PASS) \
++ $(MAKE) $(EXTRA_HOST_FLAGS) \
+ $(POSTSTAGE1_FLAGS_TO_PASS) \
+ clean
+ @endif binutils-bootstrap
+@@ -7034,8 +7116,11 @@
+ $(HOST_EXPORTS) \
+ $(POSTSTAGE1_HOST_EXPORTS) \
+ cd $(HOST_SUBDIR)/binutils && \
+- $(MAKE) $(FLAGS_TO_PASS) \
+- CFLAGS="$(STAGE2_CFLAGS) -g0" LIBCFLAGS="$(STAGE2_CFLAGS) -g0" $(POSTSTAGE1_FLAGS_TO_PASS) \
++ $(MAKE) $(BASE_FLAGS_TO_PASS) \
++ CFLAGS="$(STAGE2_CFLAGS) -g0" CXXFLAGS="$(STAGE2_CFLAGS) -g0" \
++ LIBCFLAGS="$(STAGE2_LIBCFLAGS) -g0" \
++ CFLAGS_FOR_TARGET="$(STAGE2_LIBCFLAGS) -g0" \
++ CXXFLAGS_FOR_TARGET="$(STAGE2_LIBCFLAGS) -g0" $(EXTRA_HOST_FLAGS) $(POSTSTAGE1_FLAGS_TO_PASS) \
+ $(TARGET-stageb2g0-binutils)
+
+ maybe-clean-stageb2g0-binutils: clean-stageb2g0-binutils
+@@ -7048,7 +7133,7 @@
+ $(MAKE) stageb2g0-start; \
+ fi; \
+ cd $(HOST_SUBDIR)/binutils && \
+- $(MAKE) $(FLAGS_TO_PASS) \
++ $(MAKE) $(EXTRA_HOST_FLAGS) \
+ $(POSTSTAGE1_FLAGS_TO_PASS) \
+ clean
+ @endif binutils-bootstrap
+@@ -7069,8 +7154,11 @@
+ $(HOST_EXPORTS) \
+ $(POSTSTAGE1_HOST_EXPORTS) \
+ cd $(HOST_SUBDIR)/binutils && \
+- $(MAKE) $(FLAGS_TO_PASS) \
+- CFLAGS="$(STAGE3_CFLAGS)" LIBCFLAGS="$(STAGE3_CFLAGS)" $(POSTSTAGE1_FLAGS_TO_PASS) \
++ $(MAKE) $(BASE_FLAGS_TO_PASS) \
++ CFLAGS="$(STAGE3_CFLAGS)" CXXFLAGS="$(STAGE3_CFLAGS)" \
++ LIBCFLAGS="$(STAGE3_LIBCFLAGS)" \
++ CFLAGS_FOR_TARGET="$(STAGE3_LIBCFLAGS)" \
++ CXXFLAGS_FOR_TARGET="$(STAGE3_LIBCFLAGS)" $(EXTRA_HOST_FLAGS) $(POSTSTAGE1_FLAGS_TO_PASS) \
+ $(TARGET-stage3-binutils)
+
+ maybe-clean-stage3-binutils: clean-stage3-binutils
+@@ -7083,7 +7171,7 @@
+ $(MAKE) stage3-start; \
+ fi; \
+ cd $(HOST_SUBDIR)/binutils && \
+- $(MAKE) $(FLAGS_TO_PASS) \
++ $(MAKE) $(EXTRA_HOST_FLAGS) \
+ $(POSTSTAGE1_FLAGS_TO_PASS) \
+ clean
+ @endif binutils-bootstrap
+@@ -7104,8 +7192,11 @@
+ $(HOST_EXPORTS) \
+ $(POSTSTAGE1_HOST_EXPORTS) \
+ cd $(HOST_SUBDIR)/binutils && \
+- $(MAKE) $(FLAGS_TO_PASS) \
+- CFLAGS="$(STAGE3_CFLAGS) -g2" LIBCFLAGS="$(STAGE3_CFLAGS) -g2" $(POSTSTAGE1_FLAGS_TO_PASS) \
++ $(MAKE) $(BASE_FLAGS_TO_PASS) \
++ CFLAGS="$(STAGE3_CFLAGS) -g2" CXXFLAGS="$(STAGE3_CFLAGS) -g2" \
++ LIBCFLAGS="$(STAGE3_LIBCFLAGS) -g2" \
++ CFLAGS_FOR_TARGET="$(STAGE3_LIBCFLAGS) -g2" \
++ CXXFLAGS_FOR_TARGET="$(STAGE3_LIBCFLAGS) -g2" $(EXTRA_HOST_FLAGS) $(POSTSTAGE1_FLAGS_TO_PASS) \
+ $(TARGET-stageb3g2-binutils)
+
+ maybe-clean-stageb3g2-binutils: clean-stageb3g2-binutils
+@@ -7118,7 +7209,7 @@
+ $(MAKE) stageb3g2-start; \
+ fi; \
+ cd $(HOST_SUBDIR)/binutils && \
+- $(MAKE) $(FLAGS_TO_PASS) \
++ $(MAKE) $(EXTRA_HOST_FLAGS) \
+ $(POSTSTAGE1_FLAGS_TO_PASS) \
+ clean
+ @endif binutils-bootstrap
+@@ -7139,8 +7230,11 @@
+ $(HOST_EXPORTS) \
+ $(POSTSTAGE1_HOST_EXPORTS) \
+ cd $(HOST_SUBDIR)/binutils && \
+- $(MAKE) $(FLAGS_TO_PASS) \
+- CFLAGS="$(STAGE4_CFLAGS)" LIBCFLAGS="$(STAGE4_CFLAGS)" $(POSTSTAGE1_FLAGS_TO_PASS) \
++ $(MAKE) $(BASE_FLAGS_TO_PASS) \
++ CFLAGS="$(STAGE4_CFLAGS)" CXXFLAGS="$(STAGE4_CFLAGS)" \
++ LIBCFLAGS="$(STAGE4_CFLAGS)" \
++ CFLAGS_FOR_TARGET="$(STAGE4_CFLAGS)" \
++ CXXFLAGS_FOR_TARGET="$(STAGE4_CFLAGS)" $(EXTRA_HOST_FLAGS) $(POSTSTAGE1_FLAGS_TO_PASS) \
+ $(TARGET-stage4-binutils)
+
+ maybe-clean-stage4-binutils: clean-stage4-binutils
+@@ -7153,7 +7247,7 @@
+ $(MAKE) stage4-start; \
+ fi; \
+ cd $(HOST_SUBDIR)/binutils && \
+- $(MAKE) $(FLAGS_TO_PASS) \
++ $(MAKE) $(EXTRA_HOST_FLAGS) \
+ $(POSTSTAGE1_FLAGS_TO_PASS) \
+ clean
+ @endif binutils-bootstrap
+@@ -7174,8 +7268,11 @@
+ $(HOST_EXPORTS) \
+ $(POSTSTAGE1_HOST_EXPORTS) \
+ cd $(HOST_SUBDIR)/binutils && \
+- $(MAKE) $(FLAGS_TO_PASS) \
+- CFLAGS="$(STAGE2_CFLAGS) -fprofile-generate" LIBCFLAGS="$(STAGE2_CFLAGS) -fprofile-generate" $(POSTSTAGE1_FLAGS_TO_PASS) \
++ $(MAKE) $(BASE_FLAGS_TO_PASS) \
++ CFLAGS="$(STAGE2_CFLAGS) -fprofile-generate" CXXFLAGS="$(STAGE2_CFLAGS) -fprofile-generate" \
++ LIBCFLAGS="$(STAGE2_LIBCFLAGS) -fprofile-generate" \
++ CFLAGS_FOR_TARGET="$(STAGE2_LIBCFLAGS) -fprofile-generate" \
++ CXXFLAGS_FOR_TARGET="$(STAGE2_LIBCFLAGS) -fprofile-generate" $(EXTRA_HOST_FLAGS) $(POSTSTAGE1_FLAGS_TO_PASS) \
+ $(TARGET-stageprofile-binutils)
+
+ maybe-clean-stageprofile-binutils: clean-stageprofile-binutils
+@@ -7188,7 +7285,7 @@
+ $(MAKE) stageprofile-start; \
+ fi; \
+ cd $(HOST_SUBDIR)/binutils && \
+- $(MAKE) $(FLAGS_TO_PASS) \
++ $(MAKE) $(EXTRA_HOST_FLAGS) \
+ $(POSTSTAGE1_FLAGS_TO_PASS) \
+ clean
+ @endif binutils-bootstrap
+@@ -7209,8 +7306,11 @@
+ $(HOST_EXPORTS) \
+ $(POSTSTAGE1_HOST_EXPORTS) \
+ cd $(HOST_SUBDIR)/binutils && \
+- $(MAKE) $(FLAGS_TO_PASS) \
+- CFLAGS="$(STAGE3_CFLAGS) -fprofile-use" LIBCFLAGS="$(STAGE3_CFLAGS) -fprofile-use" $(POSTSTAGE1_FLAGS_TO_PASS) \
++ $(MAKE) $(BASE_FLAGS_TO_PASS) \
++ CFLAGS="$(STAGE3_CFLAGS) -fprofile-use" CXXFLAGS="$(STAGE3_CFLAGS) -fprofile-use" \
++ LIBCFLAGS="$(STAGE3_LIBCFLAGS) -fprofile-use" \
++ CFLAGS_FOR_TARGET="$(STAGE3_LIBCFLAGS) -fprofile-use" \
++ CXXFLAGS_FOR_TARGET="$(STAGE3_LIBCFLAGS) -fprofile-use" $(EXTRA_HOST_FLAGS) $(POSTSTAGE1_FLAGS_TO_PASS) \
+ $(TARGET-stagefeedback-binutils)
+
+ maybe-clean-stagefeedback-binutils: clean-stagefeedback-binutils
+@@ -7223,7 +7323,7 @@
+ $(MAKE) stagefeedback-start; \
+ fi; \
+ cd $(HOST_SUBDIR)/binutils && \
+- $(MAKE) $(FLAGS_TO_PASS) \
++ $(MAKE) $(EXTRA_HOST_FLAGS) \
+ $(POSTSTAGE1_FLAGS_TO_PASS) \
+ clean
+ @endif binutils-bootstrap
+@@ -7637,7 +7737,8 @@
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ $(HOST_EXPORTS) \
+ (cd $(HOST_SUBDIR)/bison && \
+- $(MAKE) $(FLAGS_TO_PASS) $(TARGET-bison))
++ $(MAKE) $(BASE_FLAGS_TO_PASS) $(EXTRA_HOST_FLAGS) \
++ $(TARGET-bison))
+ @endif bison
+
+
+@@ -8064,7 +8165,8 @@
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ $(HOST_EXPORTS) \
+ (cd $(HOST_SUBDIR)/byacc && \
+- $(MAKE) $(FLAGS_TO_PASS) $(TARGET-byacc))
++ $(MAKE) $(BASE_FLAGS_TO_PASS) $(EXTRA_HOST_FLAGS) \
++ $(TARGET-byacc))
+ @endif byacc
+
+
+@@ -8491,7 +8593,8 @@
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ $(HOST_EXPORTS) \
+ (cd $(HOST_SUBDIR)/bzip2 && \
+- $(MAKE) $(FLAGS_TO_PASS) $(TARGET-bzip2))
++ $(MAKE) $(BASE_FLAGS_TO_PASS) $(EXTRA_HOST_FLAGS) \
++ $(TARGET-bzip2))
+ @endif bzip2
+
+
+@@ -8915,7 +9018,8 @@
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ $(HOST_EXPORTS) \
+ (cd $(HOST_SUBDIR)/dejagnu && \
+- $(MAKE) $(FLAGS_TO_PASS) $(TARGET-dejagnu))
++ $(MAKE) $(BASE_FLAGS_TO_PASS) $(EXTRA_HOST_FLAGS) \
++ $(TARGET-dejagnu))
+ @endif dejagnu
+
+
+@@ -9339,7 +9443,8 @@
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ $(HOST_EXPORTS) \
+ (cd $(HOST_SUBDIR)/diff && \
+- $(MAKE) $(FLAGS_TO_PASS) $(TARGET-diff))
++ $(MAKE) $(BASE_FLAGS_TO_PASS) $(EXTRA_HOST_FLAGS) \
++ $(TARGET-diff))
+ @endif diff
+
+
+@@ -9763,7 +9868,8 @@
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ $(HOST_EXPORTS) \
+ (cd $(HOST_SUBDIR)/dosutils && \
+- $(MAKE) $(FLAGS_TO_PASS) $(TARGET-dosutils))
++ $(MAKE) $(BASE_FLAGS_TO_PASS) $(EXTRA_HOST_FLAGS) \
++ $(TARGET-dosutils))
+ @endif dosutils
+
+
+@@ -10181,7 +10287,8 @@
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ $(HOST_EXPORTS) \
+ (cd $(HOST_SUBDIR)/etc && \
+- $(MAKE) $(FLAGS_TO_PASS) $(TARGET-etc))
++ $(MAKE) $(BASE_FLAGS_TO_PASS) $(EXTRA_HOST_FLAGS) \
++ $(TARGET-etc))
+ @endif etc
+
+
+@@ -10605,7 +10712,8 @@
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ $(HOST_EXPORTS) \
+ (cd $(HOST_SUBDIR)/fastjar && \
+- $(MAKE) $(FLAGS_TO_PASS) $(TARGET-fastjar))
++ $(MAKE) $(BASE_FLAGS_TO_PASS) $(EXTRA_HOST_FLAGS) \
++ $(TARGET-fastjar))
+ @endif fastjar
+
+
+@@ -11032,7 +11140,8 @@
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ $(HOST_EXPORTS) \
+ (cd $(HOST_SUBDIR)/fileutils && \
+- $(MAKE) $(FLAGS_TO_PASS) $(TARGET-fileutils))
++ $(MAKE) $(BASE_FLAGS_TO_PASS) $(EXTRA_HOST_FLAGS) \
++ $(TARGET-fileutils))
+ @endif fileutils
+
+
+@@ -11456,7 +11565,8 @@
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ $(HOST_EXPORTS) \
+ (cd $(HOST_SUBDIR)/findutils && \
+- $(MAKE) $(FLAGS_TO_PASS) $(TARGET-findutils))
++ $(MAKE) $(BASE_FLAGS_TO_PASS) $(EXTRA_HOST_FLAGS) \
++ $(TARGET-findutils))
+ @endif findutils
+
+
+@@ -11880,7 +11990,8 @@
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ $(HOST_EXPORTS) \
+ (cd $(HOST_SUBDIR)/find && \
+- $(MAKE) $(FLAGS_TO_PASS) $(TARGET-find))
++ $(MAKE) $(BASE_FLAGS_TO_PASS) $(EXTRA_HOST_FLAGS) \
++ $(TARGET-find))
+ @endif find
+
+
+@@ -12304,7 +12415,8 @@
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ $(HOST_EXPORTS) \
+ (cd $(HOST_SUBDIR)/fixincludes && \
+- $(MAKE) $(FLAGS_TO_PASS) $(TARGET-fixincludes))
++ $(MAKE) $(BASE_FLAGS_TO_PASS) $(EXTRA_HOST_FLAGS) \
++ $(TARGET-fixincludes))
+ @endif fixincludes
+
+
+@@ -12712,7 +12824,8 @@
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ $(HOST_EXPORTS) \
+ (cd $(HOST_SUBDIR)/flex && \
+- $(MAKE) $(FLAGS_TO_PASS) $(TARGET-flex))
++ $(MAKE) $(BASE_FLAGS_TO_PASS) $(EXTRA_HOST_FLAGS) \
++ $(TARGET-flex))
+ @endif flex
+
+
+@@ -13132,9 +13245,9 @@
+ @r=`${PWD_COMMAND}`; export r; \
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ test ! -f $(HOST_SUBDIR)/gas/Makefile || exit 0; \
+- $(HOST_EXPORTS) \
++ $(HOST_EXPORTS) \
+ CFLAGS="$(STAGE1_CFLAGS)"; export CFLAGS; \
+- LIBCFLAGS="$(STAGE1_CFLAGS)"; export LIBCFLAGS; \
++ CXXFLAGS="$(STAGE1_CFLAGS)"; export CXXFLAGS; \
+ echo Configuring stage 1 in $(HOST_SUBDIR)/gas ; \
+ $(SHELL) $(srcdir)/mkinstalldirs $(HOST_SUBDIR)/gas ; \
+ cd $(HOST_SUBDIR)/gas || exit 1; \
+@@ -13163,9 +13276,9 @@
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ test ! -f $(HOST_SUBDIR)/gas/Makefile || exit 0; \
+ $(HOST_EXPORTS) \
+- $(POSTSTAGE1_HOST_EXPORTS) \
++ $(POSTSTAGE1_HOST_EXPORTS) \
+ CFLAGS="$(STAGE2_CFLAGS)"; export CFLAGS; \
+- LIBCFLAGS="$(STAGE2_CFLAGS)"; export LIBCFLAGS; \
++ CXXFLAGS="$(STAGE2_CFLAGS)"; export CXXFLAGS; \
+ echo Configuring stage 2 in $(HOST_SUBDIR)/gas ; \
+ $(SHELL) $(srcdir)/mkinstalldirs $(HOST_SUBDIR)/gas ; \
+ cd $(HOST_SUBDIR)/gas || exit 1; \
+@@ -13194,9 +13307,9 @@
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ test ! -f $(HOST_SUBDIR)/gas/Makefile || exit 0; \
+ $(HOST_EXPORTS) \
+- $(POSTSTAGE1_HOST_EXPORTS) \
++ $(POSTSTAGE1_HOST_EXPORTS) \
+ CFLAGS="$(STAGE2_CFLAGS) -g0"; export CFLAGS; \
+- LIBCFLAGS="$(STAGE2_CFLAGS) -g0"; export LIBCFLAGS; \
++ CXXFLAGS="$(STAGE2_CFLAGS) -g0"; export CXXFLAGS; \
+ echo Configuring stage b2g0 in $(HOST_SUBDIR)/gas ; \
+ $(SHELL) $(srcdir)/mkinstalldirs $(HOST_SUBDIR)/gas ; \
+ cd $(HOST_SUBDIR)/gas || exit 1; \
+@@ -13225,9 +13338,9 @@
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ test ! -f $(HOST_SUBDIR)/gas/Makefile || exit 0; \
+ $(HOST_EXPORTS) \
+- $(POSTSTAGE1_HOST_EXPORTS) \
++ $(POSTSTAGE1_HOST_EXPORTS) \
+ CFLAGS="$(STAGE3_CFLAGS)"; export CFLAGS; \
+- LIBCFLAGS="$(STAGE3_CFLAGS)"; export LIBCFLAGS; \
++ CXXFLAGS="$(STAGE3_CFLAGS)"; export CXXFLAGS; \
+ echo Configuring stage 3 in $(HOST_SUBDIR)/gas ; \
+ $(SHELL) $(srcdir)/mkinstalldirs $(HOST_SUBDIR)/gas ; \
+ cd $(HOST_SUBDIR)/gas || exit 1; \
+@@ -13256,9 +13369,9 @@
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ test ! -f $(HOST_SUBDIR)/gas/Makefile || exit 0; \
+ $(HOST_EXPORTS) \
+- $(POSTSTAGE1_HOST_EXPORTS) \
++ $(POSTSTAGE1_HOST_EXPORTS) \
+ CFLAGS="$(STAGE3_CFLAGS) -g2"; export CFLAGS; \
+- LIBCFLAGS="$(STAGE3_CFLAGS) -g2"; export LIBCFLAGS; \
++ CXXFLAGS="$(STAGE3_CFLAGS) -g2"; export CXXFLAGS; \
+ echo Configuring stage b3g2 in $(HOST_SUBDIR)/gas ; \
+ $(SHELL) $(srcdir)/mkinstalldirs $(HOST_SUBDIR)/gas ; \
+ cd $(HOST_SUBDIR)/gas || exit 1; \
+@@ -13287,9 +13400,9 @@
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ test ! -f $(HOST_SUBDIR)/gas/Makefile || exit 0; \
+ $(HOST_EXPORTS) \
+- $(POSTSTAGE1_HOST_EXPORTS) \
++ $(POSTSTAGE1_HOST_EXPORTS) \
+ CFLAGS="$(STAGE4_CFLAGS)"; export CFLAGS; \
+- LIBCFLAGS="$(STAGE4_CFLAGS)"; export LIBCFLAGS; \
++ CXXFLAGS="$(STAGE4_CFLAGS)"; export CXXFLAGS; \
+ echo Configuring stage 4 in $(HOST_SUBDIR)/gas ; \
+ $(SHELL) $(srcdir)/mkinstalldirs $(HOST_SUBDIR)/gas ; \
+ cd $(HOST_SUBDIR)/gas || exit 1; \
+@@ -13318,9 +13431,9 @@
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ test ! -f $(HOST_SUBDIR)/gas/Makefile || exit 0; \
+ $(HOST_EXPORTS) \
+- $(POSTSTAGE1_HOST_EXPORTS) \
++ $(POSTSTAGE1_HOST_EXPORTS) \
+ CFLAGS="$(STAGE2_CFLAGS) -fprofile-generate"; export CFLAGS; \
+- LIBCFLAGS="$(STAGE2_CFLAGS) -fprofile-generate"; export LIBCFLAGS; \
++ CXXFLAGS="$(STAGE2_CFLAGS) -fprofile-generate"; export CXXFLAGS; \
+ echo Configuring stage profile in $(HOST_SUBDIR)/gas ; \
+ $(SHELL) $(srcdir)/mkinstalldirs $(HOST_SUBDIR)/gas ; \
+ cd $(HOST_SUBDIR)/gas || exit 1; \
+@@ -13349,9 +13462,9 @@
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ test ! -f $(HOST_SUBDIR)/gas/Makefile || exit 0; \
+ $(HOST_EXPORTS) \
+- $(POSTSTAGE1_HOST_EXPORTS) \
++ $(POSTSTAGE1_HOST_EXPORTS) \
+ CFLAGS="$(STAGE3_CFLAGS) -fprofile-use"; export CFLAGS; \
+- LIBCFLAGS="$(STAGE3_CFLAGS) -fprofile-use"; export LIBCFLAGS; \
++ CXXFLAGS="$(STAGE3_CFLAGS) -fprofile-use"; export CXXFLAGS; \
+ echo Configuring stage feedback in $(HOST_SUBDIR)/gas ; \
+ $(SHELL) $(srcdir)/mkinstalldirs $(HOST_SUBDIR)/gas ; \
+ cd $(HOST_SUBDIR)/gas || exit 1; \
+@@ -13386,7 +13499,8 @@
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ $(HOST_EXPORTS) \
+ (cd $(HOST_SUBDIR)/gas && \
+- $(MAKE) $(FLAGS_TO_PASS) $(TARGET-gas))
++ $(MAKE) $(BASE_FLAGS_TO_PASS) $(EXTRA_HOST_FLAGS) \
++ $(TARGET-gas))
+ @endif gas
+
+
+@@ -13405,8 +13519,11 @@
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ $(HOST_EXPORTS) \
+ cd $(HOST_SUBDIR)/gas && \
+- $(MAKE) $(FLAGS_TO_PASS) \
+- CFLAGS="$(STAGE1_CFLAGS)" LIBCFLAGS="$(STAGE1_CFLAGS)" \
++ $(MAKE) $(BASE_FLAGS_TO_PASS) \
++ CFLAGS="$(STAGE1_CFLAGS)" CXXFLAGS="$(STAGE1_CFLAGS)" \
++ LIBCFLAGS="$(STAGE1_LIBCFLAGS)" \
++ CFLAGS_FOR_TARGET="$(STAGE1_LIBCFLAGS)" \
++ CXXFLAGS_FOR_TARGET="$(STAGE1_LIBCFLAGS)" $(EXTRA_HOST_FLAGS) \
+ $(TARGET-stage1-gas)
+
+ maybe-clean-stage1-gas: clean-stage1-gas
+@@ -13419,7 +13536,7 @@
+ $(MAKE) stage1-start; \
+ fi; \
+ cd $(HOST_SUBDIR)/gas && \
+- $(MAKE) $(FLAGS_TO_PASS) \
++ $(MAKE) $(EXTRA_HOST_FLAGS) \
+ clean
+ @endif gas-bootstrap
+
+@@ -13439,8 +13556,11 @@
+ $(HOST_EXPORTS) \
+ $(POSTSTAGE1_HOST_EXPORTS) \
+ cd $(HOST_SUBDIR)/gas && \
+- $(MAKE) $(FLAGS_TO_PASS) \
+- CFLAGS="$(STAGE2_CFLAGS)" LIBCFLAGS="$(STAGE2_CFLAGS)" $(POSTSTAGE1_FLAGS_TO_PASS) \
++ $(MAKE) $(BASE_FLAGS_TO_PASS) \
++ CFLAGS="$(STAGE2_CFLAGS)" CXXFLAGS="$(STAGE2_CFLAGS)" \
++ LIBCFLAGS="$(STAGE2_LIBCFLAGS)" \
++ CFLAGS_FOR_TARGET="$(STAGE2_LIBCFLAGS)" \
++ CXXFLAGS_FOR_TARGET="$(STAGE2_LIBCFLAGS)" $(EXTRA_HOST_FLAGS) $(POSTSTAGE1_FLAGS_TO_PASS) \
+ $(TARGET-stage2-gas)
+
+ maybe-clean-stage2-gas: clean-stage2-gas
+@@ -13453,7 +13573,7 @@
+ $(MAKE) stage2-start; \
+ fi; \
+ cd $(HOST_SUBDIR)/gas && \
+- $(MAKE) $(FLAGS_TO_PASS) \
++ $(MAKE) $(EXTRA_HOST_FLAGS) \
+ $(POSTSTAGE1_FLAGS_TO_PASS) \
+ clean
+ @endif gas-bootstrap
+@@ -13474,8 +13594,11 @@
+ $(HOST_EXPORTS) \
+ $(POSTSTAGE1_HOST_EXPORTS) \
+ cd $(HOST_SUBDIR)/gas && \
+- $(MAKE) $(FLAGS_TO_PASS) \
+- CFLAGS="$(STAGE2_CFLAGS) -g0" LIBCFLAGS="$(STAGE2_CFLAGS) -g0" $(POSTSTAGE1_FLAGS_TO_PASS) \
++ $(MAKE) $(BASE_FLAGS_TO_PASS) \
++ CFLAGS="$(STAGE2_CFLAGS) -g0" CXXFLAGS="$(STAGE2_CFLAGS) -g0" \
++ LIBCFLAGS="$(STAGE2_LIBCFLAGS) -g0" \
++ CFLAGS_FOR_TARGET="$(STAGE2_LIBCFLAGS) -g0" \
++ CXXFLAGS_FOR_TARGET="$(STAGE2_LIBCFLAGS) -g0" $(EXTRA_HOST_FLAGS) $(POSTSTAGE1_FLAGS_TO_PASS) \
+ $(TARGET-stageb2g0-gas)
+
+ maybe-clean-stageb2g0-gas: clean-stageb2g0-gas
+@@ -13488,7 +13611,7 @@
+ $(MAKE) stageb2g0-start; \
+ fi; \
+ cd $(HOST_SUBDIR)/gas && \
+- $(MAKE) $(FLAGS_TO_PASS) \
++ $(MAKE) $(EXTRA_HOST_FLAGS) \
+ $(POSTSTAGE1_FLAGS_TO_PASS) \
+ clean
+ @endif gas-bootstrap
+@@ -13509,8 +13632,11 @@
+ $(HOST_EXPORTS) \
+ $(POSTSTAGE1_HOST_EXPORTS) \
+ cd $(HOST_SUBDIR)/gas && \
+- $(MAKE) $(FLAGS_TO_PASS) \
+- CFLAGS="$(STAGE3_CFLAGS)" LIBCFLAGS="$(STAGE3_CFLAGS)" $(POSTSTAGE1_FLAGS_TO_PASS) \
++ $(MAKE) $(BASE_FLAGS_TO_PASS) \
++ CFLAGS="$(STAGE3_CFLAGS)" CXXFLAGS="$(STAGE3_CFLAGS)" \
++ LIBCFLAGS="$(STAGE3_LIBCFLAGS)" \
++ CFLAGS_FOR_TARGET="$(STAGE3_LIBCFLAGS)" \
++ CXXFLAGS_FOR_TARGET="$(STAGE3_LIBCFLAGS)" $(EXTRA_HOST_FLAGS) $(POSTSTAGE1_FLAGS_TO_PASS) \
+ $(TARGET-stage3-gas)
+
+ maybe-clean-stage3-gas: clean-stage3-gas
+@@ -13523,7 +13649,7 @@
+ $(MAKE) stage3-start; \
+ fi; \
+ cd $(HOST_SUBDIR)/gas && \
+- $(MAKE) $(FLAGS_TO_PASS) \
++ $(MAKE) $(EXTRA_HOST_FLAGS) \
+ $(POSTSTAGE1_FLAGS_TO_PASS) \
+ clean
+ @endif gas-bootstrap
+@@ -13544,8 +13670,11 @@
+ $(HOST_EXPORTS) \
+ $(POSTSTAGE1_HOST_EXPORTS) \
+ cd $(HOST_SUBDIR)/gas && \
+- $(MAKE) $(FLAGS_TO_PASS) \
+- CFLAGS="$(STAGE3_CFLAGS) -g2" LIBCFLAGS="$(STAGE3_CFLAGS) -g2" $(POSTSTAGE1_FLAGS_TO_PASS) \
++ $(MAKE) $(BASE_FLAGS_TO_PASS) \
++ CFLAGS="$(STAGE3_CFLAGS) -g2" CXXFLAGS="$(STAGE3_CFLAGS) -g2" \
++ LIBCFLAGS="$(STAGE3_LIBCFLAGS) -g2" \
++ CFLAGS_FOR_TARGET="$(STAGE3_LIBCFLAGS) -g2" \
++ CXXFLAGS_FOR_TARGET="$(STAGE3_LIBCFLAGS) -g2" $(EXTRA_HOST_FLAGS) $(POSTSTAGE1_FLAGS_TO_PASS) \
+ $(TARGET-stageb3g2-gas)
+
+ maybe-clean-stageb3g2-gas: clean-stageb3g2-gas
+@@ -13558,7 +13687,7 @@
+ $(MAKE) stageb3g2-start; \
+ fi; \
+ cd $(HOST_SUBDIR)/gas && \
+- $(MAKE) $(FLAGS_TO_PASS) \
++ $(MAKE) $(EXTRA_HOST_FLAGS) \
+ $(POSTSTAGE1_FLAGS_TO_PASS) \
+ clean
+ @endif gas-bootstrap
+@@ -13579,8 +13708,11 @@
+ $(HOST_EXPORTS) \
+ $(POSTSTAGE1_HOST_EXPORTS) \
+ cd $(HOST_SUBDIR)/gas && \
+- $(MAKE) $(FLAGS_TO_PASS) \
+- CFLAGS="$(STAGE4_CFLAGS)" LIBCFLAGS="$(STAGE4_CFLAGS)" $(POSTSTAGE1_FLAGS_TO_PASS) \
++ $(MAKE) $(BASE_FLAGS_TO_PASS) \
++ CFLAGS="$(STAGE4_CFLAGS)" CXXFLAGS="$(STAGE4_CFLAGS)" \
++ LIBCFLAGS="$(STAGE4_CFLAGS)" \
++ CFLAGS_FOR_TARGET="$(STAGE4_CFLAGS)" \
++ CXXFLAGS_FOR_TARGET="$(STAGE4_CFLAGS)" $(EXTRA_HOST_FLAGS) $(POSTSTAGE1_FLAGS_TO_PASS) \
+ $(TARGET-stage4-gas)
+
+ maybe-clean-stage4-gas: clean-stage4-gas
+@@ -13593,7 +13725,7 @@
+ $(MAKE) stage4-start; \
+ fi; \
+ cd $(HOST_SUBDIR)/gas && \
+- $(MAKE) $(FLAGS_TO_PASS) \
++ $(MAKE) $(EXTRA_HOST_FLAGS) \
+ $(POSTSTAGE1_FLAGS_TO_PASS) \
+ clean
+ @endif gas-bootstrap
+@@ -13614,8 +13746,11 @@
+ $(HOST_EXPORTS) \
+ $(POSTSTAGE1_HOST_EXPORTS) \
+ cd $(HOST_SUBDIR)/gas && \
+- $(MAKE) $(FLAGS_TO_PASS) \
+- CFLAGS="$(STAGE2_CFLAGS) -fprofile-generate" LIBCFLAGS="$(STAGE2_CFLAGS) -fprofile-generate" $(POSTSTAGE1_FLAGS_TO_PASS) \
++ $(MAKE) $(BASE_FLAGS_TO_PASS) \
++ CFLAGS="$(STAGE2_CFLAGS) -fprofile-generate" CXXFLAGS="$(STAGE2_CFLAGS) -fprofile-generate" \
++ LIBCFLAGS="$(STAGE2_LIBCFLAGS) -fprofile-generate" \
++ CFLAGS_FOR_TARGET="$(STAGE2_LIBCFLAGS) -fprofile-generate" \
++ CXXFLAGS_FOR_TARGET="$(STAGE2_LIBCFLAGS) -fprofile-generate" $(EXTRA_HOST_FLAGS) $(POSTSTAGE1_FLAGS_TO_PASS) \
+ $(TARGET-stageprofile-gas)
+
+ maybe-clean-stageprofile-gas: clean-stageprofile-gas
+@@ -13628,7 +13763,7 @@
+ $(MAKE) stageprofile-start; \
+ fi; \
+ cd $(HOST_SUBDIR)/gas && \
+- $(MAKE) $(FLAGS_TO_PASS) \
++ $(MAKE) $(EXTRA_HOST_FLAGS) \
+ $(POSTSTAGE1_FLAGS_TO_PASS) \
+ clean
+ @endif gas-bootstrap
+@@ -13649,8 +13784,11 @@
+ $(HOST_EXPORTS) \
+ $(POSTSTAGE1_HOST_EXPORTS) \
+ cd $(HOST_SUBDIR)/gas && \
+- $(MAKE) $(FLAGS_TO_PASS) \
+- CFLAGS="$(STAGE3_CFLAGS) -fprofile-use" LIBCFLAGS="$(STAGE3_CFLAGS) -fprofile-use" $(POSTSTAGE1_FLAGS_TO_PASS) \
++ $(MAKE) $(BASE_FLAGS_TO_PASS) \
++ CFLAGS="$(STAGE3_CFLAGS) -fprofile-use" CXXFLAGS="$(STAGE3_CFLAGS) -fprofile-use" \
++ LIBCFLAGS="$(STAGE3_LIBCFLAGS) -fprofile-use" \
++ CFLAGS_FOR_TARGET="$(STAGE3_LIBCFLAGS) -fprofile-use" \
++ CXXFLAGS_FOR_TARGET="$(STAGE3_LIBCFLAGS) -fprofile-use" $(EXTRA_HOST_FLAGS) $(POSTSTAGE1_FLAGS_TO_PASS) \
+ $(TARGET-stagefeedback-gas)
+
+ maybe-clean-stagefeedback-gas: clean-stagefeedback-gas
+@@ -13663,7 +13801,7 @@
+ $(MAKE) stagefeedback-start; \
+ fi; \
+ cd $(HOST_SUBDIR)/gas && \
+- $(MAKE) $(FLAGS_TO_PASS) \
++ $(MAKE) $(EXTRA_HOST_FLAGS) \
+ $(POSTSTAGE1_FLAGS_TO_PASS) \
+ clean
+ @endif gas-bootstrap
+@@ -14070,9 +14208,9 @@
+ @r=`${PWD_COMMAND}`; export r; \
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ test ! -f $(HOST_SUBDIR)/gcc/Makefile || exit 0; \
+- $(HOST_EXPORTS) \
++ $(HOST_EXPORTS) \
+ CFLAGS="$(STAGE1_CFLAGS)"; export CFLAGS; \
+- LIBCFLAGS="$(STAGE1_CFLAGS)"; export LIBCFLAGS; \
++ CXXFLAGS="$(STAGE1_CFLAGS)"; export CXXFLAGS; \
+ echo Configuring stage 1 in $(HOST_SUBDIR)/gcc ; \
+ $(SHELL) $(srcdir)/mkinstalldirs $(HOST_SUBDIR)/gcc ; \
+ cd $(HOST_SUBDIR)/gcc || exit 1; \
+@@ -14101,9 +14239,9 @@
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ test ! -f $(HOST_SUBDIR)/gcc/Makefile || exit 0; \
+ $(HOST_EXPORTS) \
+- $(POSTSTAGE1_HOST_EXPORTS) \
++ $(POSTSTAGE1_HOST_EXPORTS) \
+ CFLAGS="$(STAGE2_CFLAGS)"; export CFLAGS; \
+- LIBCFLAGS="$(STAGE2_CFLAGS)"; export LIBCFLAGS; \
++ CXXFLAGS="$(STAGE2_CFLAGS)"; export CXXFLAGS; \
+ echo Configuring stage 2 in $(HOST_SUBDIR)/gcc ; \
+ $(SHELL) $(srcdir)/mkinstalldirs $(HOST_SUBDIR)/gcc ; \
+ cd $(HOST_SUBDIR)/gcc || exit 1; \
+@@ -14132,9 +14270,9 @@
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ test ! -f $(HOST_SUBDIR)/gcc/Makefile || exit 0; \
+ $(HOST_EXPORTS) \
+- $(POSTSTAGE1_HOST_EXPORTS) \
++ $(POSTSTAGE1_HOST_EXPORTS) \
+ CFLAGS="$(STAGE2_CFLAGS) -g0"; export CFLAGS; \
+- LIBCFLAGS="$(STAGE2_CFLAGS) -g0"; export LIBCFLAGS; \
++ CXXFLAGS="$(STAGE2_CFLAGS) -g0"; export CXXFLAGS; \
+ echo Configuring stage b2g0 in $(HOST_SUBDIR)/gcc ; \
+ $(SHELL) $(srcdir)/mkinstalldirs $(HOST_SUBDIR)/gcc ; \
+ cd $(HOST_SUBDIR)/gcc || exit 1; \
+@@ -14163,9 +14301,9 @@
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ test ! -f $(HOST_SUBDIR)/gcc/Makefile || exit 0; \
+ $(HOST_EXPORTS) \
+- $(POSTSTAGE1_HOST_EXPORTS) \
++ $(POSTSTAGE1_HOST_EXPORTS) \
+ CFLAGS="$(STAGE3_CFLAGS)"; export CFLAGS; \
+- LIBCFLAGS="$(STAGE3_CFLAGS)"; export LIBCFLAGS; \
++ CXXFLAGS="$(STAGE3_CFLAGS)"; export CXXFLAGS; \
+ echo Configuring stage 3 in $(HOST_SUBDIR)/gcc ; \
+ $(SHELL) $(srcdir)/mkinstalldirs $(HOST_SUBDIR)/gcc ; \
+ cd $(HOST_SUBDIR)/gcc || exit 1; \
+@@ -14194,9 +14332,9 @@
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ test ! -f $(HOST_SUBDIR)/gcc/Makefile || exit 0; \
+ $(HOST_EXPORTS) \
+- $(POSTSTAGE1_HOST_EXPORTS) \
++ $(POSTSTAGE1_HOST_EXPORTS) \
+ CFLAGS="$(STAGE3_CFLAGS) -g2"; export CFLAGS; \
+- LIBCFLAGS="$(STAGE3_CFLAGS) -g2"; export LIBCFLAGS; \
++ CXXFLAGS="$(STAGE3_CFLAGS) -g2"; export CXXFLAGS; \
+ echo Configuring stage b3g2 in $(HOST_SUBDIR)/gcc ; \
+ $(SHELL) $(srcdir)/mkinstalldirs $(HOST_SUBDIR)/gcc ; \
+ cd $(HOST_SUBDIR)/gcc || exit 1; \
+@@ -14225,9 +14363,9 @@
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ test ! -f $(HOST_SUBDIR)/gcc/Makefile || exit 0; \
+ $(HOST_EXPORTS) \
+- $(POSTSTAGE1_HOST_EXPORTS) \
++ $(POSTSTAGE1_HOST_EXPORTS) \
+ CFLAGS="$(STAGE4_CFLAGS)"; export CFLAGS; \
+- LIBCFLAGS="$(STAGE4_CFLAGS)"; export LIBCFLAGS; \
++ CXXFLAGS="$(STAGE4_CFLAGS)"; export CXXFLAGS; \
+ echo Configuring stage 4 in $(HOST_SUBDIR)/gcc ; \
+ $(SHELL) $(srcdir)/mkinstalldirs $(HOST_SUBDIR)/gcc ; \
+ cd $(HOST_SUBDIR)/gcc || exit 1; \
+@@ -14256,9 +14394,9 @@
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ test ! -f $(HOST_SUBDIR)/gcc/Makefile || exit 0; \
+ $(HOST_EXPORTS) \
+- $(POSTSTAGE1_HOST_EXPORTS) \
++ $(POSTSTAGE1_HOST_EXPORTS) \
+ CFLAGS="$(STAGE2_CFLAGS) -fprofile-generate"; export CFLAGS; \
+- LIBCFLAGS="$(STAGE2_CFLAGS) -fprofile-generate"; export LIBCFLAGS; \
++ CXXFLAGS="$(STAGE2_CFLAGS) -fprofile-generate"; export CXXFLAGS; \
+ echo Configuring stage profile in $(HOST_SUBDIR)/gcc ; \
+ $(SHELL) $(srcdir)/mkinstalldirs $(HOST_SUBDIR)/gcc ; \
+ cd $(HOST_SUBDIR)/gcc || exit 1; \
+@@ -14287,9 +14425,9 @@
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ test ! -f $(HOST_SUBDIR)/gcc/Makefile || exit 0; \
+ $(HOST_EXPORTS) \
+- $(POSTSTAGE1_HOST_EXPORTS) \
++ $(POSTSTAGE1_HOST_EXPORTS) \
+ CFLAGS="$(STAGE3_CFLAGS) -fprofile-use"; export CFLAGS; \
+- LIBCFLAGS="$(STAGE3_CFLAGS) -fprofile-use"; export LIBCFLAGS; \
++ CXXFLAGS="$(STAGE3_CFLAGS) -fprofile-use"; export CXXFLAGS; \
+ echo Configuring stage feedback in $(HOST_SUBDIR)/gcc ; \
+ $(SHELL) $(srcdir)/mkinstalldirs $(HOST_SUBDIR)/gcc ; \
+ cd $(HOST_SUBDIR)/gcc || exit 1; \
+@@ -14324,7 +14462,8 @@
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ $(HOST_EXPORTS) \
+ (cd $(HOST_SUBDIR)/gcc && \
+- $(MAKE) $(FLAGS_TO_PASS) $(EXTRA_GCC_FLAGS) $(TARGET-gcc))
++ $(MAKE) $(BASE_FLAGS_TO_PASS) $(EXTRA_HOST_FLAGS) $(EXTRA_GCC_FLAGS) \
++ $(TARGET-gcc))
+ @endif gcc
+
+
+@@ -14343,8 +14482,11 @@
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ $(HOST_EXPORTS) \
+ cd $(HOST_SUBDIR)/gcc && \
+- $(MAKE) $(FLAGS_TO_PASS) \
+- CFLAGS="$(STAGE1_CFLAGS)" LIBCFLAGS="$(STAGE1_CFLAGS)" $(EXTRA_GCC_FLAGS) \
++ $(MAKE) $(BASE_FLAGS_TO_PASS) \
++ CFLAGS="$(STAGE1_CFLAGS)" CXXFLAGS="$(STAGE1_CFLAGS)" \
++ LIBCFLAGS="$(STAGE1_LIBCFLAGS)" \
++ CFLAGS_FOR_TARGET="$(STAGE1_LIBCFLAGS)" \
++ CXXFLAGS_FOR_TARGET="$(STAGE1_LIBCFLAGS)" $(EXTRA_HOST_FLAGS) $(EXTRA_GCC_FLAGS) \
+ $(TARGET-stage1-gcc)
+
+ maybe-clean-stage1-gcc: clean-stage1-gcc
+@@ -14357,7 +14499,7 @@
+ $(MAKE) stage1-start; \
+ fi; \
+ cd $(HOST_SUBDIR)/gcc && \
+- $(MAKE) $(FLAGS_TO_PASS) \
++ $(MAKE) $(EXTRA_HOST_FLAGS) \
+ $(EXTRA_GCC_FLAGS) clean
+ @endif gcc-bootstrap
+
+@@ -14377,8 +14519,11 @@
+ $(HOST_EXPORTS) \
+ $(POSTSTAGE1_HOST_EXPORTS) \
+ cd $(HOST_SUBDIR)/gcc && \
+- $(MAKE) $(FLAGS_TO_PASS) \
+- CFLAGS="$(STAGE2_CFLAGS)" LIBCFLAGS="$(STAGE2_CFLAGS)" $(POSTSTAGE1_FLAGS_TO_PASS) $(EXTRA_GCC_FLAGS) \
++ $(MAKE) $(BASE_FLAGS_TO_PASS) \
++ CFLAGS="$(STAGE2_CFLAGS)" CXXFLAGS="$(STAGE2_CFLAGS)" \
++ LIBCFLAGS="$(STAGE2_LIBCFLAGS)" \
++ CFLAGS_FOR_TARGET="$(STAGE2_LIBCFLAGS)" \
++ CXXFLAGS_FOR_TARGET="$(STAGE2_LIBCFLAGS)" $(EXTRA_HOST_FLAGS) $(POSTSTAGE1_FLAGS_TO_PASS) $(EXTRA_GCC_FLAGS) \
+ $(TARGET-stage2-gcc)
+
+ maybe-clean-stage2-gcc: clean-stage2-gcc
+@@ -14391,7 +14536,7 @@
+ $(MAKE) stage2-start; \
+ fi; \
+ cd $(HOST_SUBDIR)/gcc && \
+- $(MAKE) $(FLAGS_TO_PASS) \
++ $(MAKE) $(EXTRA_HOST_FLAGS) \
+ $(POSTSTAGE1_FLAGS_TO_PASS) \
+ $(EXTRA_GCC_FLAGS) clean
+ @endif gcc-bootstrap
+@@ -14412,8 +14557,11 @@
+ $(HOST_EXPORTS) \
+ $(POSTSTAGE1_HOST_EXPORTS) \
+ cd $(HOST_SUBDIR)/gcc && \
+- $(MAKE) $(FLAGS_TO_PASS) \
+- CFLAGS="$(STAGE2_CFLAGS) -g0" LIBCFLAGS="$(STAGE2_CFLAGS) -g0" $(POSTSTAGE1_FLAGS_TO_PASS) $(EXTRA_GCC_FLAGS) \
++ $(MAKE) $(BASE_FLAGS_TO_PASS) \
++ CFLAGS="$(STAGE2_CFLAGS) -g0" CXXFLAGS="$(STAGE2_CFLAGS) -g0" \
++ LIBCFLAGS="$(STAGE2_LIBCFLAGS) -g0" \
++ CFLAGS_FOR_TARGET="$(STAGE2_LIBCFLAGS) -g0" \
++ CXXFLAGS_FOR_TARGET="$(STAGE2_LIBCFLAGS) -g0" $(EXTRA_HOST_FLAGS) $(POSTSTAGE1_FLAGS_TO_PASS) $(EXTRA_GCC_FLAGS) \
+ $(TARGET-stageb2g0-gcc)
+
+ maybe-clean-stageb2g0-gcc: clean-stageb2g0-gcc
+@@ -14426,7 +14574,7 @@
+ $(MAKE) stageb2g0-start; \
+ fi; \
+ cd $(HOST_SUBDIR)/gcc && \
+- $(MAKE) $(FLAGS_TO_PASS) \
++ $(MAKE) $(EXTRA_HOST_FLAGS) \
+ $(POSTSTAGE1_FLAGS_TO_PASS) \
+ $(EXTRA_GCC_FLAGS) clean
+ @endif gcc-bootstrap
+@@ -14447,8 +14595,11 @@
+ $(HOST_EXPORTS) \
+ $(POSTSTAGE1_HOST_EXPORTS) \
+ cd $(HOST_SUBDIR)/gcc && \
+- $(MAKE) $(FLAGS_TO_PASS) \
+- CFLAGS="$(STAGE3_CFLAGS)" LIBCFLAGS="$(STAGE3_CFLAGS)" $(POSTSTAGE1_FLAGS_TO_PASS) $(EXTRA_GCC_FLAGS) \
++ $(MAKE) $(BASE_FLAGS_TO_PASS) \
++ CFLAGS="$(STAGE3_CFLAGS)" CXXFLAGS="$(STAGE3_CFLAGS)" \
++ LIBCFLAGS="$(STAGE3_LIBCFLAGS)" \
++ CFLAGS_FOR_TARGET="$(STAGE3_LIBCFLAGS)" \
++ CXXFLAGS_FOR_TARGET="$(STAGE3_LIBCFLAGS)" $(EXTRA_HOST_FLAGS) $(POSTSTAGE1_FLAGS_TO_PASS) $(EXTRA_GCC_FLAGS) \
+ $(TARGET-stage3-gcc)
+
+ maybe-clean-stage3-gcc: clean-stage3-gcc
+@@ -14461,7 +14612,7 @@
+ $(MAKE) stage3-start; \
+ fi; \
+ cd $(HOST_SUBDIR)/gcc && \
+- $(MAKE) $(FLAGS_TO_PASS) \
++ $(MAKE) $(EXTRA_HOST_FLAGS) \
+ $(POSTSTAGE1_FLAGS_TO_PASS) \
+ $(EXTRA_GCC_FLAGS) clean
+ @endif gcc-bootstrap
+@@ -14482,8 +14633,11 @@
+ $(HOST_EXPORTS) \
+ $(POSTSTAGE1_HOST_EXPORTS) \
+ cd $(HOST_SUBDIR)/gcc && \
+- $(MAKE) $(FLAGS_TO_PASS) \
+- CFLAGS="$(STAGE3_CFLAGS) -g2" LIBCFLAGS="$(STAGE3_CFLAGS) -g2" $(POSTSTAGE1_FLAGS_TO_PASS) $(EXTRA_GCC_FLAGS) \
++ $(MAKE) $(BASE_FLAGS_TO_PASS) \
++ CFLAGS="$(STAGE3_CFLAGS) -g2" CXXFLAGS="$(STAGE3_CFLAGS) -g2" \
++ LIBCFLAGS="$(STAGE3_LIBCFLAGS) -g2" \
++ CFLAGS_FOR_TARGET="$(STAGE3_LIBCFLAGS) -g2" \
++ CXXFLAGS_FOR_TARGET="$(STAGE3_LIBCFLAGS) -g2" $(EXTRA_HOST_FLAGS) $(POSTSTAGE1_FLAGS_TO_PASS) $(EXTRA_GCC_FLAGS) \
+ $(TARGET-stageb3g2-gcc)
+
+ maybe-clean-stageb3g2-gcc: clean-stageb3g2-gcc
+@@ -14496,7 +14650,7 @@
+ $(MAKE) stageb3g2-start; \
+ fi; \
+ cd $(HOST_SUBDIR)/gcc && \
+- $(MAKE) $(FLAGS_TO_PASS) \
++ $(MAKE) $(EXTRA_HOST_FLAGS) \
+ $(POSTSTAGE1_FLAGS_TO_PASS) \
+ $(EXTRA_GCC_FLAGS) clean
+ @endif gcc-bootstrap
+@@ -14517,8 +14671,11 @@
+ $(HOST_EXPORTS) \
+ $(POSTSTAGE1_HOST_EXPORTS) \
+ cd $(HOST_SUBDIR)/gcc && \
+- $(MAKE) $(FLAGS_TO_PASS) \
+- CFLAGS="$(STAGE4_CFLAGS)" LIBCFLAGS="$(STAGE4_CFLAGS)" $(POSTSTAGE1_FLAGS_TO_PASS) $(EXTRA_GCC_FLAGS) \
++ $(MAKE) $(BASE_FLAGS_TO_PASS) \
++ CFLAGS="$(STAGE4_CFLAGS)" CXXFLAGS="$(STAGE4_CFLAGS)" \
++ LIBCFLAGS="$(STAGE4_CFLAGS)" \
++ CFLAGS_FOR_TARGET="$(STAGE4_CFLAGS)" \
++ CXXFLAGS_FOR_TARGET="$(STAGE4_CFLAGS)" $(EXTRA_HOST_FLAGS) $(POSTSTAGE1_FLAGS_TO_PASS) $(EXTRA_GCC_FLAGS) \
+ $(TARGET-stage4-gcc)
+
+ maybe-clean-stage4-gcc: clean-stage4-gcc
+@@ -14531,7 +14688,7 @@
+ $(MAKE) stage4-start; \
+ fi; \
+ cd $(HOST_SUBDIR)/gcc && \
+- $(MAKE) $(FLAGS_TO_PASS) \
++ $(MAKE) $(EXTRA_HOST_FLAGS) \
+ $(POSTSTAGE1_FLAGS_TO_PASS) \
+ $(EXTRA_GCC_FLAGS) clean
+ @endif gcc-bootstrap
+@@ -14552,8 +14709,11 @@
+ $(HOST_EXPORTS) \
+ $(POSTSTAGE1_HOST_EXPORTS) \
+ cd $(HOST_SUBDIR)/gcc && \
+- $(MAKE) $(FLAGS_TO_PASS) \
+- CFLAGS="$(STAGE2_CFLAGS) -fprofile-generate" LIBCFLAGS="$(STAGE2_CFLAGS) -fprofile-generate" $(POSTSTAGE1_FLAGS_TO_PASS) $(EXTRA_GCC_FLAGS) \
++ $(MAKE) $(BASE_FLAGS_TO_PASS) \
++ CFLAGS="$(STAGE2_CFLAGS) -fprofile-generate" CXXFLAGS="$(STAGE2_CFLAGS) -fprofile-generate" \
++ LIBCFLAGS="$(STAGE2_LIBCFLAGS) -fprofile-generate" \
++ CFLAGS_FOR_TARGET="$(STAGE2_LIBCFLAGS) -fprofile-generate" \
++ CXXFLAGS_FOR_TARGET="$(STAGE2_LIBCFLAGS) -fprofile-generate" $(EXTRA_HOST_FLAGS) $(POSTSTAGE1_FLAGS_TO_PASS) $(EXTRA_GCC_FLAGS) \
+ $(TARGET-stageprofile-gcc)
+
+ maybe-clean-stageprofile-gcc: clean-stageprofile-gcc
+@@ -14566,7 +14726,7 @@
+ $(MAKE) stageprofile-start; \
+ fi; \
+ cd $(HOST_SUBDIR)/gcc && \
+- $(MAKE) $(FLAGS_TO_PASS) \
++ $(MAKE) $(EXTRA_HOST_FLAGS) \
+ $(POSTSTAGE1_FLAGS_TO_PASS) \
+ $(EXTRA_GCC_FLAGS) clean
+ @endif gcc-bootstrap
+@@ -14587,8 +14747,11 @@
+ $(HOST_EXPORTS) \
+ $(POSTSTAGE1_HOST_EXPORTS) \
+ cd $(HOST_SUBDIR)/gcc && \
+- $(MAKE) $(FLAGS_TO_PASS) \
+- CFLAGS="$(STAGE3_CFLAGS) -fprofile-use" LIBCFLAGS="$(STAGE3_CFLAGS) -fprofile-use" $(POSTSTAGE1_FLAGS_TO_PASS) $(EXTRA_GCC_FLAGS) \
++ $(MAKE) $(BASE_FLAGS_TO_PASS) \
++ CFLAGS="$(STAGE3_CFLAGS) -fprofile-use" CXXFLAGS="$(STAGE3_CFLAGS) -fprofile-use" \
++ LIBCFLAGS="$(STAGE3_LIBCFLAGS) -fprofile-use" \
++ CFLAGS_FOR_TARGET="$(STAGE3_LIBCFLAGS) -fprofile-use" \
++ CXXFLAGS_FOR_TARGET="$(STAGE3_LIBCFLAGS) -fprofile-use" $(EXTRA_HOST_FLAGS) $(POSTSTAGE1_FLAGS_TO_PASS) $(EXTRA_GCC_FLAGS) \
+ $(TARGET-stagefeedback-gcc)
+
+ maybe-clean-stagefeedback-gcc: clean-stagefeedback-gcc
+@@ -14601,7 +14764,7 @@
+ $(MAKE) stagefeedback-start; \
+ fi; \
+ cd $(HOST_SUBDIR)/gcc && \
+- $(MAKE) $(FLAGS_TO_PASS) \
++ $(MAKE) $(EXTRA_HOST_FLAGS) \
+ $(POSTSTAGE1_FLAGS_TO_PASS) \
+ $(EXTRA_GCC_FLAGS) clean
+ @endif gcc-bootstrap
+@@ -15015,7 +15178,8 @@
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ $(HOST_EXPORTS) \
+ (cd $(HOST_SUBDIR)/gawk && \
+- $(MAKE) $(FLAGS_TO_PASS) $(TARGET-gawk))
++ $(MAKE) $(BASE_FLAGS_TO_PASS) $(EXTRA_HOST_FLAGS) \
++ $(TARGET-gawk))
+ @endif gawk
+
+
+@@ -15439,7 +15603,8 @@
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ $(HOST_EXPORTS) \
+ (cd $(HOST_SUBDIR)/gettext && \
+- $(MAKE) $(FLAGS_TO_PASS) $(TARGET-gettext))
++ $(MAKE) $(BASE_FLAGS_TO_PASS) $(EXTRA_HOST_FLAGS) \
++ $(TARGET-gettext))
+ @endif gettext
+
+
+@@ -15856,9 +16021,9 @@
+ @r=`${PWD_COMMAND}`; export r; \
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ test ! -f $(HOST_SUBDIR)/gmp/Makefile || exit 0; \
+- $(HOST_EXPORTS) \
++ $(HOST_EXPORTS) \
+ CFLAGS="$(STAGE1_CFLAGS)"; export CFLAGS; \
+- LIBCFLAGS="$(STAGE1_CFLAGS)"; export LIBCFLAGS; \
++ CXXFLAGS="$(STAGE1_CFLAGS)"; export CXXFLAGS; \
+ echo Configuring stage 1 in $(HOST_SUBDIR)/gmp ; \
+ $(SHELL) $(srcdir)/mkinstalldirs $(HOST_SUBDIR)/gmp ; \
+ cd $(HOST_SUBDIR)/gmp || exit 1; \
+@@ -15887,9 +16052,9 @@
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ test ! -f $(HOST_SUBDIR)/gmp/Makefile || exit 0; \
+ $(HOST_EXPORTS) \
+- $(POSTSTAGE1_HOST_EXPORTS) \
++ $(POSTSTAGE1_HOST_EXPORTS) \
+ CFLAGS="$(STAGE2_CFLAGS)"; export CFLAGS; \
+- LIBCFLAGS="$(STAGE2_CFLAGS)"; export LIBCFLAGS; \
++ CXXFLAGS="$(STAGE2_CFLAGS)"; export CXXFLAGS; \
+ echo Configuring stage 2 in $(HOST_SUBDIR)/gmp ; \
+ $(SHELL) $(srcdir)/mkinstalldirs $(HOST_SUBDIR)/gmp ; \
+ cd $(HOST_SUBDIR)/gmp || exit 1; \
+@@ -15918,9 +16083,9 @@
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ test ! -f $(HOST_SUBDIR)/gmp/Makefile || exit 0; \
+ $(HOST_EXPORTS) \
+- $(POSTSTAGE1_HOST_EXPORTS) \
++ $(POSTSTAGE1_HOST_EXPORTS) \
+ CFLAGS="$(STAGE2_CFLAGS) -g0"; export CFLAGS; \
+- LIBCFLAGS="$(STAGE2_CFLAGS) -g0"; export LIBCFLAGS; \
++ CXXFLAGS="$(STAGE2_CFLAGS) -g0"; export CXXFLAGS; \
+ echo Configuring stage b2g0 in $(HOST_SUBDIR)/gmp ; \
+ $(SHELL) $(srcdir)/mkinstalldirs $(HOST_SUBDIR)/gmp ; \
+ cd $(HOST_SUBDIR)/gmp || exit 1; \
+@@ -15949,9 +16114,9 @@
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ test ! -f $(HOST_SUBDIR)/gmp/Makefile || exit 0; \
+ $(HOST_EXPORTS) \
+- $(POSTSTAGE1_HOST_EXPORTS) \
++ $(POSTSTAGE1_HOST_EXPORTS) \
+ CFLAGS="$(STAGE3_CFLAGS)"; export CFLAGS; \
+- LIBCFLAGS="$(STAGE3_CFLAGS)"; export LIBCFLAGS; \
++ CXXFLAGS="$(STAGE3_CFLAGS)"; export CXXFLAGS; \
+ echo Configuring stage 3 in $(HOST_SUBDIR)/gmp ; \
+ $(SHELL) $(srcdir)/mkinstalldirs $(HOST_SUBDIR)/gmp ; \
+ cd $(HOST_SUBDIR)/gmp || exit 1; \
+@@ -15980,9 +16145,9 @@
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ test ! -f $(HOST_SUBDIR)/gmp/Makefile || exit 0; \
+ $(HOST_EXPORTS) \
+- $(POSTSTAGE1_HOST_EXPORTS) \
++ $(POSTSTAGE1_HOST_EXPORTS) \
+ CFLAGS="$(STAGE3_CFLAGS) -g2"; export CFLAGS; \
+- LIBCFLAGS="$(STAGE3_CFLAGS) -g2"; export LIBCFLAGS; \
++ CXXFLAGS="$(STAGE3_CFLAGS) -g2"; export CXXFLAGS; \
+ echo Configuring stage b3g2 in $(HOST_SUBDIR)/gmp ; \
+ $(SHELL) $(srcdir)/mkinstalldirs $(HOST_SUBDIR)/gmp ; \
+ cd $(HOST_SUBDIR)/gmp || exit 1; \
+@@ -16011,9 +16176,9 @@
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ test ! -f $(HOST_SUBDIR)/gmp/Makefile || exit 0; \
+ $(HOST_EXPORTS) \
+- $(POSTSTAGE1_HOST_EXPORTS) \
++ $(POSTSTAGE1_HOST_EXPORTS) \
+ CFLAGS="$(STAGE4_CFLAGS)"; export CFLAGS; \
+- LIBCFLAGS="$(STAGE4_CFLAGS)"; export LIBCFLAGS; \
++ CXXFLAGS="$(STAGE4_CFLAGS)"; export CXXFLAGS; \
+ echo Configuring stage 4 in $(HOST_SUBDIR)/gmp ; \
+ $(SHELL) $(srcdir)/mkinstalldirs $(HOST_SUBDIR)/gmp ; \
+ cd $(HOST_SUBDIR)/gmp || exit 1; \
+@@ -16042,9 +16207,9 @@
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ test ! -f $(HOST_SUBDIR)/gmp/Makefile || exit 0; \
+ $(HOST_EXPORTS) \
+- $(POSTSTAGE1_HOST_EXPORTS) \
++ $(POSTSTAGE1_HOST_EXPORTS) \
+ CFLAGS="$(STAGE2_CFLAGS) -fprofile-generate"; export CFLAGS; \
+- LIBCFLAGS="$(STAGE2_CFLAGS) -fprofile-generate"; export LIBCFLAGS; \
++ CXXFLAGS="$(STAGE2_CFLAGS) -fprofile-generate"; export CXXFLAGS; \
+ echo Configuring stage profile in $(HOST_SUBDIR)/gmp ; \
+ $(SHELL) $(srcdir)/mkinstalldirs $(HOST_SUBDIR)/gmp ; \
+ cd $(HOST_SUBDIR)/gmp || exit 1; \
+@@ -16073,9 +16238,9 @@
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ test ! -f $(HOST_SUBDIR)/gmp/Makefile || exit 0; \
+ $(HOST_EXPORTS) \
+- $(POSTSTAGE1_HOST_EXPORTS) \
++ $(POSTSTAGE1_HOST_EXPORTS) \
+ CFLAGS="$(STAGE3_CFLAGS) -fprofile-use"; export CFLAGS; \
+- LIBCFLAGS="$(STAGE3_CFLAGS) -fprofile-use"; export LIBCFLAGS; \
++ CXXFLAGS="$(STAGE3_CFLAGS) -fprofile-use"; export CXXFLAGS; \
+ echo Configuring stage feedback in $(HOST_SUBDIR)/gmp ; \
+ $(SHELL) $(srcdir)/mkinstalldirs $(HOST_SUBDIR)/gmp ; \
+ cd $(HOST_SUBDIR)/gmp || exit 1; \
+@@ -16110,7 +16275,8 @@
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ $(HOST_EXPORTS) \
+ (cd $(HOST_SUBDIR)/gmp && \
+- $(MAKE) $(FLAGS_TO_PASS) $(TARGET-gmp))
++ $(MAKE) $(BASE_FLAGS_TO_PASS) $(EXTRA_HOST_FLAGS) \
++ $(TARGET-gmp))
+ @endif gmp
+
+
+@@ -16129,8 +16295,11 @@
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ $(HOST_EXPORTS) \
+ cd $(HOST_SUBDIR)/gmp && \
+- $(MAKE) $(FLAGS_TO_PASS) \
+- CFLAGS="$(STAGE1_CFLAGS)" LIBCFLAGS="$(STAGE1_CFLAGS)" \
++ $(MAKE) $(BASE_FLAGS_TO_PASS) \
++ CFLAGS="$(STAGE1_CFLAGS)" CXXFLAGS="$(STAGE1_CFLAGS)" \
++ LIBCFLAGS="$(STAGE1_LIBCFLAGS)" \
++ CFLAGS_FOR_TARGET="$(STAGE1_LIBCFLAGS)" \
++ CXXFLAGS_FOR_TARGET="$(STAGE1_LIBCFLAGS)" $(EXTRA_HOST_FLAGS) \
+ $(TARGET-stage1-gmp)
+
+ maybe-clean-stage1-gmp: clean-stage1-gmp
+@@ -16143,7 +16312,7 @@
+ $(MAKE) stage1-start; \
+ fi; \
+ cd $(HOST_SUBDIR)/gmp && \
+- $(MAKE) $(FLAGS_TO_PASS) \
++ $(MAKE) $(EXTRA_HOST_FLAGS) \
+ clean
+ @endif gmp-bootstrap
+
+@@ -16163,8 +16332,11 @@
+ $(HOST_EXPORTS) \
+ $(POSTSTAGE1_HOST_EXPORTS) \
+ cd $(HOST_SUBDIR)/gmp && \
+- $(MAKE) $(FLAGS_TO_PASS) \
+- CFLAGS="$(STAGE2_CFLAGS)" LIBCFLAGS="$(STAGE2_CFLAGS)" $(POSTSTAGE1_FLAGS_TO_PASS) \
++ $(MAKE) $(BASE_FLAGS_TO_PASS) \
++ CFLAGS="$(STAGE2_CFLAGS)" CXXFLAGS="$(STAGE2_CFLAGS)" \
++ LIBCFLAGS="$(STAGE2_LIBCFLAGS)" \
++ CFLAGS_FOR_TARGET="$(STAGE2_LIBCFLAGS)" \
++ CXXFLAGS_FOR_TARGET="$(STAGE2_LIBCFLAGS)" $(EXTRA_HOST_FLAGS) $(POSTSTAGE1_FLAGS_TO_PASS) \
+ $(TARGET-stage2-gmp)
+
+ maybe-clean-stage2-gmp: clean-stage2-gmp
+@@ -16177,7 +16349,7 @@
+ $(MAKE) stage2-start; \
+ fi; \
+ cd $(HOST_SUBDIR)/gmp && \
+- $(MAKE) $(FLAGS_TO_PASS) \
++ $(MAKE) $(EXTRA_HOST_FLAGS) \
+ $(POSTSTAGE1_FLAGS_TO_PASS) \
+ clean
+ @endif gmp-bootstrap
+@@ -16198,8 +16370,11 @@
+ $(HOST_EXPORTS) \
+ $(POSTSTAGE1_HOST_EXPORTS) \
+ cd $(HOST_SUBDIR)/gmp && \
+- $(MAKE) $(FLAGS_TO_PASS) \
+- CFLAGS="$(STAGE2_CFLAGS) -g0" LIBCFLAGS="$(STAGE2_CFLAGS) -g0" $(POSTSTAGE1_FLAGS_TO_PASS) \
++ $(MAKE) $(BASE_FLAGS_TO_PASS) \
++ CFLAGS="$(STAGE2_CFLAGS) -g0" CXXFLAGS="$(STAGE2_CFLAGS) -g0" \
++ LIBCFLAGS="$(STAGE2_LIBCFLAGS) -g0" \
++ CFLAGS_FOR_TARGET="$(STAGE2_LIBCFLAGS) -g0" \
++ CXXFLAGS_FOR_TARGET="$(STAGE2_LIBCFLAGS) -g0" $(EXTRA_HOST_FLAGS) $(POSTSTAGE1_FLAGS_TO_PASS) \
+ $(TARGET-stageb2g0-gmp)
+
+ maybe-clean-stageb2g0-gmp: clean-stageb2g0-gmp
+@@ -16212,7 +16387,7 @@
+ $(MAKE) stageb2g0-start; \
+ fi; \
+ cd $(HOST_SUBDIR)/gmp && \
+- $(MAKE) $(FLAGS_TO_PASS) \
++ $(MAKE) $(EXTRA_HOST_FLAGS) \
+ $(POSTSTAGE1_FLAGS_TO_PASS) \
+ clean
+ @endif gmp-bootstrap
+@@ -16233,8 +16408,11 @@
+ $(HOST_EXPORTS) \
+ $(POSTSTAGE1_HOST_EXPORTS) \
+ cd $(HOST_SUBDIR)/gmp && \
+- $(MAKE) $(FLAGS_TO_PASS) \
+- CFLAGS="$(STAGE3_CFLAGS)" LIBCFLAGS="$(STAGE3_CFLAGS)" $(POSTSTAGE1_FLAGS_TO_PASS) \
++ $(MAKE) $(BASE_FLAGS_TO_PASS) \
++ CFLAGS="$(STAGE3_CFLAGS)" CXXFLAGS="$(STAGE3_CFLAGS)" \
++ LIBCFLAGS="$(STAGE3_LIBCFLAGS)" \
++ CFLAGS_FOR_TARGET="$(STAGE3_LIBCFLAGS)" \
++ CXXFLAGS_FOR_TARGET="$(STAGE3_LIBCFLAGS)" $(EXTRA_HOST_FLAGS) $(POSTSTAGE1_FLAGS_TO_PASS) \
+ $(TARGET-stage3-gmp)
+
+ maybe-clean-stage3-gmp: clean-stage3-gmp
+@@ -16247,7 +16425,7 @@
+ $(MAKE) stage3-start; \
+ fi; \
+ cd $(HOST_SUBDIR)/gmp && \
+- $(MAKE) $(FLAGS_TO_PASS) \
++ $(MAKE) $(EXTRA_HOST_FLAGS) \
+ $(POSTSTAGE1_FLAGS_TO_PASS) \
+ clean
+ @endif gmp-bootstrap
+@@ -16268,8 +16446,11 @@
+ $(HOST_EXPORTS) \
+ $(POSTSTAGE1_HOST_EXPORTS) \
+ cd $(HOST_SUBDIR)/gmp && \
+- $(MAKE) $(FLAGS_TO_PASS) \
+- CFLAGS="$(STAGE3_CFLAGS) -g2" LIBCFLAGS="$(STAGE3_CFLAGS) -g2" $(POSTSTAGE1_FLAGS_TO_PASS) \
++ $(MAKE) $(BASE_FLAGS_TO_PASS) \
++ CFLAGS="$(STAGE3_CFLAGS) -g2" CXXFLAGS="$(STAGE3_CFLAGS) -g2" \
++ LIBCFLAGS="$(STAGE3_LIBCFLAGS) -g2" \
++ CFLAGS_FOR_TARGET="$(STAGE3_LIBCFLAGS) -g2" \
++ CXXFLAGS_FOR_TARGET="$(STAGE3_LIBCFLAGS) -g2" $(EXTRA_HOST_FLAGS) $(POSTSTAGE1_FLAGS_TO_PASS) \
+ $(TARGET-stageb3g2-gmp)
+
+ maybe-clean-stageb3g2-gmp: clean-stageb3g2-gmp
+@@ -16282,7 +16463,7 @@
+ $(MAKE) stageb3g2-start; \
+ fi; \
+ cd $(HOST_SUBDIR)/gmp && \
+- $(MAKE) $(FLAGS_TO_PASS) \
++ $(MAKE) $(EXTRA_HOST_FLAGS) \
+ $(POSTSTAGE1_FLAGS_TO_PASS) \
+ clean
+ @endif gmp-bootstrap
+@@ -16303,8 +16484,11 @@
+ $(HOST_EXPORTS) \
+ $(POSTSTAGE1_HOST_EXPORTS) \
+ cd $(HOST_SUBDIR)/gmp && \
+- $(MAKE) $(FLAGS_TO_PASS) \
+- CFLAGS="$(STAGE4_CFLAGS)" LIBCFLAGS="$(STAGE4_CFLAGS)" $(POSTSTAGE1_FLAGS_TO_PASS) \
++ $(MAKE) $(BASE_FLAGS_TO_PASS) \
++ CFLAGS="$(STAGE4_CFLAGS)" CXXFLAGS="$(STAGE4_CFLAGS)" \
++ LIBCFLAGS="$(STAGE4_CFLAGS)" \
++ CFLAGS_FOR_TARGET="$(STAGE4_CFLAGS)" \
++ CXXFLAGS_FOR_TARGET="$(STAGE4_CFLAGS)" $(EXTRA_HOST_FLAGS) $(POSTSTAGE1_FLAGS_TO_PASS) \
+ $(TARGET-stage4-gmp)
+
+ maybe-clean-stage4-gmp: clean-stage4-gmp
+@@ -16317,7 +16501,7 @@
+ $(MAKE) stage4-start; \
+ fi; \
+ cd $(HOST_SUBDIR)/gmp && \
+- $(MAKE) $(FLAGS_TO_PASS) \
++ $(MAKE) $(EXTRA_HOST_FLAGS) \
+ $(POSTSTAGE1_FLAGS_TO_PASS) \
+ clean
+ @endif gmp-bootstrap
+@@ -16338,8 +16522,11 @@
+ $(HOST_EXPORTS) \
+ $(POSTSTAGE1_HOST_EXPORTS) \
+ cd $(HOST_SUBDIR)/gmp && \
+- $(MAKE) $(FLAGS_TO_PASS) \
+- CFLAGS="$(STAGE2_CFLAGS) -fprofile-generate" LIBCFLAGS="$(STAGE2_CFLAGS) -fprofile-generate" $(POSTSTAGE1_FLAGS_TO_PASS) \
++ $(MAKE) $(BASE_FLAGS_TO_PASS) \
++ CFLAGS="$(STAGE2_CFLAGS) -fprofile-generate" CXXFLAGS="$(STAGE2_CFLAGS) -fprofile-generate" \
++ LIBCFLAGS="$(STAGE2_LIBCFLAGS) -fprofile-generate" \
++ CFLAGS_FOR_TARGET="$(STAGE2_LIBCFLAGS) -fprofile-generate" \
++ CXXFLAGS_FOR_TARGET="$(STAGE2_LIBCFLAGS) -fprofile-generate" $(EXTRA_HOST_FLAGS) $(POSTSTAGE1_FLAGS_TO_PASS) \
+ $(TARGET-stageprofile-gmp)
+
+ maybe-clean-stageprofile-gmp: clean-stageprofile-gmp
+@@ -16352,7 +16539,7 @@
+ $(MAKE) stageprofile-start; \
+ fi; \
+ cd $(HOST_SUBDIR)/gmp && \
+- $(MAKE) $(FLAGS_TO_PASS) \
++ $(MAKE) $(EXTRA_HOST_FLAGS) \
+ $(POSTSTAGE1_FLAGS_TO_PASS) \
+ clean
+ @endif gmp-bootstrap
+@@ -16373,8 +16560,11 @@
+ $(HOST_EXPORTS) \
+ $(POSTSTAGE1_HOST_EXPORTS) \
+ cd $(HOST_SUBDIR)/gmp && \
+- $(MAKE) $(FLAGS_TO_PASS) \
+- CFLAGS="$(STAGE3_CFLAGS) -fprofile-use" LIBCFLAGS="$(STAGE3_CFLAGS) -fprofile-use" $(POSTSTAGE1_FLAGS_TO_PASS) \
++ $(MAKE) $(BASE_FLAGS_TO_PASS) \
++ CFLAGS="$(STAGE3_CFLAGS) -fprofile-use" CXXFLAGS="$(STAGE3_CFLAGS) -fprofile-use" \
++ LIBCFLAGS="$(STAGE3_LIBCFLAGS) -fprofile-use" \
++ CFLAGS_FOR_TARGET="$(STAGE3_LIBCFLAGS) -fprofile-use" \
++ CXXFLAGS_FOR_TARGET="$(STAGE3_LIBCFLAGS) -fprofile-use" $(EXTRA_HOST_FLAGS) $(POSTSTAGE1_FLAGS_TO_PASS) \
+ $(TARGET-stagefeedback-gmp)
+
+ maybe-clean-stagefeedback-gmp: clean-stagefeedback-gmp
+@@ -16387,7 +16577,7 @@
+ $(MAKE) stagefeedback-start; \
+ fi; \
+ cd $(HOST_SUBDIR)/gmp && \
+- $(MAKE) $(FLAGS_TO_PASS) \
++ $(MAKE) $(EXTRA_HOST_FLAGS) \
+ $(POSTSTAGE1_FLAGS_TO_PASS) \
+ clean
+ @endif gmp-bootstrap
+@@ -16788,9 +16978,9 @@
+ @r=`${PWD_COMMAND}`; export r; \
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ test ! -f $(HOST_SUBDIR)/mpfr/Makefile || exit 0; \
+- $(HOST_EXPORTS) \
++ $(HOST_EXPORTS) \
+ CFLAGS="$(STAGE1_CFLAGS)"; export CFLAGS; \
+- LIBCFLAGS="$(STAGE1_CFLAGS)"; export LIBCFLAGS; \
++ CXXFLAGS="$(STAGE1_CFLAGS)"; export CXXFLAGS; \
+ echo Configuring stage 1 in $(HOST_SUBDIR)/mpfr ; \
+ $(SHELL) $(srcdir)/mkinstalldirs $(HOST_SUBDIR)/mpfr ; \
+ cd $(HOST_SUBDIR)/mpfr || exit 1; \
+@@ -16819,9 +17009,9 @@
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ test ! -f $(HOST_SUBDIR)/mpfr/Makefile || exit 0; \
+ $(HOST_EXPORTS) \
+- $(POSTSTAGE1_HOST_EXPORTS) \
++ $(POSTSTAGE1_HOST_EXPORTS) \
+ CFLAGS="$(STAGE2_CFLAGS)"; export CFLAGS; \
+- LIBCFLAGS="$(STAGE2_CFLAGS)"; export LIBCFLAGS; \
++ CXXFLAGS="$(STAGE2_CFLAGS)"; export CXXFLAGS; \
+ echo Configuring stage 2 in $(HOST_SUBDIR)/mpfr ; \
+ $(SHELL) $(srcdir)/mkinstalldirs $(HOST_SUBDIR)/mpfr ; \
+ cd $(HOST_SUBDIR)/mpfr || exit 1; \
+@@ -16850,9 +17040,9 @@
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ test ! -f $(HOST_SUBDIR)/mpfr/Makefile || exit 0; \
+ $(HOST_EXPORTS) \
+- $(POSTSTAGE1_HOST_EXPORTS) \
++ $(POSTSTAGE1_HOST_EXPORTS) \
+ CFLAGS="$(STAGE2_CFLAGS) -g0"; export CFLAGS; \
+- LIBCFLAGS="$(STAGE2_CFLAGS) -g0"; export LIBCFLAGS; \
++ CXXFLAGS="$(STAGE2_CFLAGS) -g0"; export CXXFLAGS; \
+ echo Configuring stage b2g0 in $(HOST_SUBDIR)/mpfr ; \
+ $(SHELL) $(srcdir)/mkinstalldirs $(HOST_SUBDIR)/mpfr ; \
+ cd $(HOST_SUBDIR)/mpfr || exit 1; \
+@@ -16881,9 +17071,9 @@
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ test ! -f $(HOST_SUBDIR)/mpfr/Makefile || exit 0; \
+ $(HOST_EXPORTS) \
+- $(POSTSTAGE1_HOST_EXPORTS) \
++ $(POSTSTAGE1_HOST_EXPORTS) \
+ CFLAGS="$(STAGE3_CFLAGS)"; export CFLAGS; \
+- LIBCFLAGS="$(STAGE3_CFLAGS)"; export LIBCFLAGS; \
++ CXXFLAGS="$(STAGE3_CFLAGS)"; export CXXFLAGS; \
+ echo Configuring stage 3 in $(HOST_SUBDIR)/mpfr ; \
+ $(SHELL) $(srcdir)/mkinstalldirs $(HOST_SUBDIR)/mpfr ; \
+ cd $(HOST_SUBDIR)/mpfr || exit 1; \
+@@ -16912,9 +17102,9 @@
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ test ! -f $(HOST_SUBDIR)/mpfr/Makefile || exit 0; \
+ $(HOST_EXPORTS) \
+- $(POSTSTAGE1_HOST_EXPORTS) \
++ $(POSTSTAGE1_HOST_EXPORTS) \
+ CFLAGS="$(STAGE3_CFLAGS) -g2"; export CFLAGS; \
+- LIBCFLAGS="$(STAGE3_CFLAGS) -g2"; export LIBCFLAGS; \
++ CXXFLAGS="$(STAGE3_CFLAGS) -g2"; export CXXFLAGS; \
+ echo Configuring stage b3g2 in $(HOST_SUBDIR)/mpfr ; \
+ $(SHELL) $(srcdir)/mkinstalldirs $(HOST_SUBDIR)/mpfr ; \
+ cd $(HOST_SUBDIR)/mpfr || exit 1; \
+@@ -16943,9 +17133,9 @@
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ test ! -f $(HOST_SUBDIR)/mpfr/Makefile || exit 0; \
+ $(HOST_EXPORTS) \
+- $(POSTSTAGE1_HOST_EXPORTS) \
++ $(POSTSTAGE1_HOST_EXPORTS) \
+ CFLAGS="$(STAGE4_CFLAGS)"; export CFLAGS; \
+- LIBCFLAGS="$(STAGE4_CFLAGS)"; export LIBCFLAGS; \
++ CXXFLAGS="$(STAGE4_CFLAGS)"; export CXXFLAGS; \
+ echo Configuring stage 4 in $(HOST_SUBDIR)/mpfr ; \
+ $(SHELL) $(srcdir)/mkinstalldirs $(HOST_SUBDIR)/mpfr ; \
+ cd $(HOST_SUBDIR)/mpfr || exit 1; \
+@@ -16974,9 +17164,9 @@
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ test ! -f $(HOST_SUBDIR)/mpfr/Makefile || exit 0; \
+ $(HOST_EXPORTS) \
+- $(POSTSTAGE1_HOST_EXPORTS) \
++ $(POSTSTAGE1_HOST_EXPORTS) \
+ CFLAGS="$(STAGE2_CFLAGS) -fprofile-generate"; export CFLAGS; \
+- LIBCFLAGS="$(STAGE2_CFLAGS) -fprofile-generate"; export LIBCFLAGS; \
++ CXXFLAGS="$(STAGE2_CFLAGS) -fprofile-generate"; export CXXFLAGS; \
+ echo Configuring stage profile in $(HOST_SUBDIR)/mpfr ; \
+ $(SHELL) $(srcdir)/mkinstalldirs $(HOST_SUBDIR)/mpfr ; \
+ cd $(HOST_SUBDIR)/mpfr || exit 1; \
+@@ -17005,9 +17195,9 @@
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ test ! -f $(HOST_SUBDIR)/mpfr/Makefile || exit 0; \
+ $(HOST_EXPORTS) \
+- $(POSTSTAGE1_HOST_EXPORTS) \
++ $(POSTSTAGE1_HOST_EXPORTS) \
+ CFLAGS="$(STAGE3_CFLAGS) -fprofile-use"; export CFLAGS; \
+- LIBCFLAGS="$(STAGE3_CFLAGS) -fprofile-use"; export LIBCFLAGS; \
++ CXXFLAGS="$(STAGE3_CFLAGS) -fprofile-use"; export CXXFLAGS; \
+ echo Configuring stage feedback in $(HOST_SUBDIR)/mpfr ; \
+ $(SHELL) $(srcdir)/mkinstalldirs $(HOST_SUBDIR)/mpfr ; \
+ cd $(HOST_SUBDIR)/mpfr || exit 1; \
+@@ -17042,7 +17232,8 @@
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ $(HOST_EXPORTS) \
+ (cd $(HOST_SUBDIR)/mpfr && \
+- $(MAKE) $(FLAGS_TO_PASS) $(TARGET-mpfr))
++ $(MAKE) $(BASE_FLAGS_TO_PASS) $(EXTRA_HOST_FLAGS) \
++ $(TARGET-mpfr))
+ @endif mpfr
+
+
+@@ -17061,8 +17252,11 @@
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ $(HOST_EXPORTS) \
+ cd $(HOST_SUBDIR)/mpfr && \
+- $(MAKE) $(FLAGS_TO_PASS) \
+- CFLAGS="$(STAGE1_CFLAGS)" LIBCFLAGS="$(STAGE1_CFLAGS)" \
++ $(MAKE) $(BASE_FLAGS_TO_PASS) \
++ CFLAGS="$(STAGE1_CFLAGS)" CXXFLAGS="$(STAGE1_CFLAGS)" \
++ LIBCFLAGS="$(STAGE1_LIBCFLAGS)" \
++ CFLAGS_FOR_TARGET="$(STAGE1_LIBCFLAGS)" \
++ CXXFLAGS_FOR_TARGET="$(STAGE1_LIBCFLAGS)" $(EXTRA_HOST_FLAGS) \
+ $(TARGET-stage1-mpfr)
+
+ maybe-clean-stage1-mpfr: clean-stage1-mpfr
+@@ -17075,7 +17269,7 @@
+ $(MAKE) stage1-start; \
+ fi; \
+ cd $(HOST_SUBDIR)/mpfr && \
+- $(MAKE) $(FLAGS_TO_PASS) \
++ $(MAKE) $(EXTRA_HOST_FLAGS) \
+ clean
+ @endif mpfr-bootstrap
+
+@@ -17095,8 +17289,11 @@
+ $(HOST_EXPORTS) \
+ $(POSTSTAGE1_HOST_EXPORTS) \
+ cd $(HOST_SUBDIR)/mpfr && \
+- $(MAKE) $(FLAGS_TO_PASS) \
+- CFLAGS="$(STAGE2_CFLAGS)" LIBCFLAGS="$(STAGE2_CFLAGS)" $(POSTSTAGE1_FLAGS_TO_PASS) \
++ $(MAKE) $(BASE_FLAGS_TO_PASS) \
++ CFLAGS="$(STAGE2_CFLAGS)" CXXFLAGS="$(STAGE2_CFLAGS)" \
++ LIBCFLAGS="$(STAGE2_LIBCFLAGS)" \
++ CFLAGS_FOR_TARGET="$(STAGE2_LIBCFLAGS)" \
++ CXXFLAGS_FOR_TARGET="$(STAGE2_LIBCFLAGS)" $(EXTRA_HOST_FLAGS) $(POSTSTAGE1_FLAGS_TO_PASS) \
+ $(TARGET-stage2-mpfr)
+
+ maybe-clean-stage2-mpfr: clean-stage2-mpfr
+@@ -17109,7 +17306,7 @@
+ $(MAKE) stage2-start; \
+ fi; \
+ cd $(HOST_SUBDIR)/mpfr && \
+- $(MAKE) $(FLAGS_TO_PASS) \
++ $(MAKE) $(EXTRA_HOST_FLAGS) \
+ $(POSTSTAGE1_FLAGS_TO_PASS) \
+ clean
+ @endif mpfr-bootstrap
+@@ -17130,8 +17327,11 @@
+ $(HOST_EXPORTS) \
+ $(POSTSTAGE1_HOST_EXPORTS) \
+ cd $(HOST_SUBDIR)/mpfr && \
+- $(MAKE) $(FLAGS_TO_PASS) \
+- CFLAGS="$(STAGE2_CFLAGS) -g0" LIBCFLAGS="$(STAGE2_CFLAGS) -g0" $(POSTSTAGE1_FLAGS_TO_PASS) \
++ $(MAKE) $(BASE_FLAGS_TO_PASS) \
++ CFLAGS="$(STAGE2_CFLAGS) -g0" CXXFLAGS="$(STAGE2_CFLAGS) -g0" \
++ LIBCFLAGS="$(STAGE2_LIBCFLAGS) -g0" \
++ CFLAGS_FOR_TARGET="$(STAGE2_LIBCFLAGS) -g0" \
++ CXXFLAGS_FOR_TARGET="$(STAGE2_LIBCFLAGS) -g0" $(EXTRA_HOST_FLAGS) $(POSTSTAGE1_FLAGS_TO_PASS) \
+ $(TARGET-stageb2g0-mpfr)
+
+ maybe-clean-stageb2g0-mpfr: clean-stageb2g0-mpfr
+@@ -17144,7 +17344,7 @@
+ $(MAKE) stageb2g0-start; \
+ fi; \
+ cd $(HOST_SUBDIR)/mpfr && \
+- $(MAKE) $(FLAGS_TO_PASS) \
++ $(MAKE) $(EXTRA_HOST_FLAGS) \
+ $(POSTSTAGE1_FLAGS_TO_PASS) \
+ clean
+ @endif mpfr-bootstrap
+@@ -17165,8 +17365,11 @@
+ $(HOST_EXPORTS) \
+ $(POSTSTAGE1_HOST_EXPORTS) \
+ cd $(HOST_SUBDIR)/mpfr && \
+- $(MAKE) $(FLAGS_TO_PASS) \
+- CFLAGS="$(STAGE3_CFLAGS)" LIBCFLAGS="$(STAGE3_CFLAGS)" $(POSTSTAGE1_FLAGS_TO_PASS) \
++ $(MAKE) $(BASE_FLAGS_TO_PASS) \
++ CFLAGS="$(STAGE3_CFLAGS)" CXXFLAGS="$(STAGE3_CFLAGS)" \
++ LIBCFLAGS="$(STAGE3_LIBCFLAGS)" \
++ CFLAGS_FOR_TARGET="$(STAGE3_LIBCFLAGS)" \
++ CXXFLAGS_FOR_TARGET="$(STAGE3_LIBCFLAGS)" $(EXTRA_HOST_FLAGS) $(POSTSTAGE1_FLAGS_TO_PASS) \
+ $(TARGET-stage3-mpfr)
+
+ maybe-clean-stage3-mpfr: clean-stage3-mpfr
+@@ -17179,7 +17382,7 @@
+ $(MAKE) stage3-start; \
+ fi; \
+ cd $(HOST_SUBDIR)/mpfr && \
+- $(MAKE) $(FLAGS_TO_PASS) \
++ $(MAKE) $(EXTRA_HOST_FLAGS) \
+ $(POSTSTAGE1_FLAGS_TO_PASS) \
+ clean
+ @endif mpfr-bootstrap
+@@ -17200,8 +17403,11 @@
+ $(HOST_EXPORTS) \
+ $(POSTSTAGE1_HOST_EXPORTS) \
+ cd $(HOST_SUBDIR)/mpfr && \
+- $(MAKE) $(FLAGS_TO_PASS) \
+- CFLAGS="$(STAGE3_CFLAGS) -g2" LIBCFLAGS="$(STAGE3_CFLAGS) -g2" $(POSTSTAGE1_FLAGS_TO_PASS) \
++ $(MAKE) $(BASE_FLAGS_TO_PASS) \
++ CFLAGS="$(STAGE3_CFLAGS) -g2" CXXFLAGS="$(STAGE3_CFLAGS) -g2" \
++ LIBCFLAGS="$(STAGE3_LIBCFLAGS) -g2" \
++ CFLAGS_FOR_TARGET="$(STAGE3_LIBCFLAGS) -g2" \
++ CXXFLAGS_FOR_TARGET="$(STAGE3_LIBCFLAGS) -g2" $(EXTRA_HOST_FLAGS) $(POSTSTAGE1_FLAGS_TO_PASS) \
+ $(TARGET-stageb3g2-mpfr)
+
+ maybe-clean-stageb3g2-mpfr: clean-stageb3g2-mpfr
+@@ -17214,7 +17420,7 @@
+ $(MAKE) stageb3g2-start; \
+ fi; \
+ cd $(HOST_SUBDIR)/mpfr && \
+- $(MAKE) $(FLAGS_TO_PASS) \
++ $(MAKE) $(EXTRA_HOST_FLAGS) \
+ $(POSTSTAGE1_FLAGS_TO_PASS) \
+ clean
+ @endif mpfr-bootstrap
+@@ -17235,8 +17441,11 @@
+ $(HOST_EXPORTS) \
+ $(POSTSTAGE1_HOST_EXPORTS) \
+ cd $(HOST_SUBDIR)/mpfr && \
+- $(MAKE) $(FLAGS_TO_PASS) \
+- CFLAGS="$(STAGE4_CFLAGS)" LIBCFLAGS="$(STAGE4_CFLAGS)" $(POSTSTAGE1_FLAGS_TO_PASS) \
++ $(MAKE) $(BASE_FLAGS_TO_PASS) \
++ CFLAGS="$(STAGE4_CFLAGS)" CXXFLAGS="$(STAGE4_CFLAGS)" \
++ LIBCFLAGS="$(STAGE4_CFLAGS)" \
++ CFLAGS_FOR_TARGET="$(STAGE4_CFLAGS)" \
++ CXXFLAGS_FOR_TARGET="$(STAGE4_CFLAGS)" $(EXTRA_HOST_FLAGS) $(POSTSTAGE1_FLAGS_TO_PASS) \
+ $(TARGET-stage4-mpfr)
+
+ maybe-clean-stage4-mpfr: clean-stage4-mpfr
+@@ -17249,7 +17458,7 @@
+ $(MAKE) stage4-start; \
+ fi; \
+ cd $(HOST_SUBDIR)/mpfr && \
+- $(MAKE) $(FLAGS_TO_PASS) \
++ $(MAKE) $(EXTRA_HOST_FLAGS) \
+ $(POSTSTAGE1_FLAGS_TO_PASS) \
+ clean
+ @endif mpfr-bootstrap
+@@ -17270,8 +17479,11 @@
+ $(HOST_EXPORTS) \
+ $(POSTSTAGE1_HOST_EXPORTS) \
+ cd $(HOST_SUBDIR)/mpfr && \
+- $(MAKE) $(FLAGS_TO_PASS) \
+- CFLAGS="$(STAGE2_CFLAGS) -fprofile-generate" LIBCFLAGS="$(STAGE2_CFLAGS) -fprofile-generate" $(POSTSTAGE1_FLAGS_TO_PASS) \
++ $(MAKE) $(BASE_FLAGS_TO_PASS) \
++ CFLAGS="$(STAGE2_CFLAGS) -fprofile-generate" CXXFLAGS="$(STAGE2_CFLAGS) -fprofile-generate" \
++ LIBCFLAGS="$(STAGE2_LIBCFLAGS) -fprofile-generate" \
++ CFLAGS_FOR_TARGET="$(STAGE2_LIBCFLAGS) -fprofile-generate" \
++ CXXFLAGS_FOR_TARGET="$(STAGE2_LIBCFLAGS) -fprofile-generate" $(EXTRA_HOST_FLAGS) $(POSTSTAGE1_FLAGS_TO_PASS) \
+ $(TARGET-stageprofile-mpfr)
+
+ maybe-clean-stageprofile-mpfr: clean-stageprofile-mpfr
+@@ -17284,7 +17496,7 @@
+ $(MAKE) stageprofile-start; \
+ fi; \
+ cd $(HOST_SUBDIR)/mpfr && \
+- $(MAKE) $(FLAGS_TO_PASS) \
++ $(MAKE) $(EXTRA_HOST_FLAGS) \
+ $(POSTSTAGE1_FLAGS_TO_PASS) \
+ clean
+ @endif mpfr-bootstrap
+@@ -17305,8 +17517,11 @@
+ $(HOST_EXPORTS) \
+ $(POSTSTAGE1_HOST_EXPORTS) \
+ cd $(HOST_SUBDIR)/mpfr && \
+- $(MAKE) $(FLAGS_TO_PASS) \
+- CFLAGS="$(STAGE3_CFLAGS) -fprofile-use" LIBCFLAGS="$(STAGE3_CFLAGS) -fprofile-use" $(POSTSTAGE1_FLAGS_TO_PASS) \
++ $(MAKE) $(BASE_FLAGS_TO_PASS) \
++ CFLAGS="$(STAGE3_CFLAGS) -fprofile-use" CXXFLAGS="$(STAGE3_CFLAGS) -fprofile-use" \
++ LIBCFLAGS="$(STAGE3_LIBCFLAGS) -fprofile-use" \
++ CFLAGS_FOR_TARGET="$(STAGE3_LIBCFLAGS) -fprofile-use" \
++ CXXFLAGS_FOR_TARGET="$(STAGE3_LIBCFLAGS) -fprofile-use" $(EXTRA_HOST_FLAGS) $(POSTSTAGE1_FLAGS_TO_PASS) \
+ $(TARGET-stagefeedback-mpfr)
+
+ maybe-clean-stagefeedback-mpfr: clean-stagefeedback-mpfr
+@@ -17319,7 +17534,7 @@
+ $(MAKE) stagefeedback-start; \
+ fi; \
+ cd $(HOST_SUBDIR)/mpfr && \
+- $(MAKE) $(FLAGS_TO_PASS) \
++ $(MAKE) $(EXTRA_HOST_FLAGS) \
+ $(POSTSTAGE1_FLAGS_TO_PASS) \
+ clean
+ @endif mpfr-bootstrap
+@@ -17727,7 +17942,8 @@
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ $(HOST_EXPORTS) \
+ (cd $(HOST_SUBDIR)/gnuserv && \
+- $(MAKE) $(FLAGS_TO_PASS) $(TARGET-gnuserv))
++ $(MAKE) $(BASE_FLAGS_TO_PASS) $(EXTRA_HOST_FLAGS) \
++ $(TARGET-gnuserv))
+ @endif gnuserv
+
+
+@@ -18151,7 +18367,8 @@
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ $(HOST_EXPORTS) \
+ (cd $(HOST_SUBDIR)/gprof && \
+- $(MAKE) $(FLAGS_TO_PASS) $(TARGET-gprof))
++ $(MAKE) $(BASE_FLAGS_TO_PASS) $(EXTRA_HOST_FLAGS) \
++ $(TARGET-gprof))
+ @endif gprof
+
+
+@@ -18575,7 +18792,8 @@
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ $(HOST_EXPORTS) \
+ (cd $(HOST_SUBDIR)/gzip && \
+- $(MAKE) $(FLAGS_TO_PASS) $(TARGET-gzip))
++ $(MAKE) $(BASE_FLAGS_TO_PASS) $(EXTRA_HOST_FLAGS) \
++ $(TARGET-gzip))
+ @endif gzip
+
+
+@@ -18999,7 +19217,8 @@
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ $(HOST_EXPORTS) \
+ (cd $(HOST_SUBDIR)/hello && \
+- $(MAKE) $(FLAGS_TO_PASS) $(TARGET-hello))
++ $(MAKE) $(BASE_FLAGS_TO_PASS) $(EXTRA_HOST_FLAGS) \
++ $(TARGET-hello))
+ @endif hello
+
+
+@@ -19423,7 +19642,8 @@
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ $(HOST_EXPORTS) \
+ (cd $(HOST_SUBDIR)/indent && \
+- $(MAKE) $(FLAGS_TO_PASS) $(TARGET-indent))
++ $(MAKE) $(BASE_FLAGS_TO_PASS) $(EXTRA_HOST_FLAGS) \
++ $(TARGET-indent))
+ @endif indent
+
+
+@@ -19840,9 +20060,9 @@
+ @r=`${PWD_COMMAND}`; export r; \
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ test ! -f $(HOST_SUBDIR)/intl/Makefile || exit 0; \
+- $(HOST_EXPORTS) \
++ $(HOST_EXPORTS) \
+ CFLAGS="$(STAGE1_CFLAGS)"; export CFLAGS; \
+- LIBCFLAGS="$(STAGE1_CFLAGS)"; export LIBCFLAGS; \
++ CXXFLAGS="$(STAGE1_CFLAGS)"; export CXXFLAGS; \
+ echo Configuring stage 1 in $(HOST_SUBDIR)/intl ; \
+ $(SHELL) $(srcdir)/mkinstalldirs $(HOST_SUBDIR)/intl ; \
+ cd $(HOST_SUBDIR)/intl || exit 1; \
+@@ -19871,9 +20091,9 @@
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ test ! -f $(HOST_SUBDIR)/intl/Makefile || exit 0; \
+ $(HOST_EXPORTS) \
+- $(POSTSTAGE1_HOST_EXPORTS) \
++ $(POSTSTAGE1_HOST_EXPORTS) \
+ CFLAGS="$(STAGE2_CFLAGS)"; export CFLAGS; \
+- LIBCFLAGS="$(STAGE2_CFLAGS)"; export LIBCFLAGS; \
++ CXXFLAGS="$(STAGE2_CFLAGS)"; export CXXFLAGS; \
+ echo Configuring stage 2 in $(HOST_SUBDIR)/intl ; \
+ $(SHELL) $(srcdir)/mkinstalldirs $(HOST_SUBDIR)/intl ; \
+ cd $(HOST_SUBDIR)/intl || exit 1; \
+@@ -19902,9 +20122,9 @@
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ test ! -f $(HOST_SUBDIR)/intl/Makefile || exit 0; \
+ $(HOST_EXPORTS) \
+- $(POSTSTAGE1_HOST_EXPORTS) \
++ $(POSTSTAGE1_HOST_EXPORTS) \
+ CFLAGS="$(STAGE2_CFLAGS) -g0"; export CFLAGS; \
+- LIBCFLAGS="$(STAGE2_CFLAGS) -g0"; export LIBCFLAGS; \
++ CXXFLAGS="$(STAGE2_CFLAGS) -g0"; export CXXFLAGS; \
+ echo Configuring stage b2g0 in $(HOST_SUBDIR)/intl ; \
+ $(SHELL) $(srcdir)/mkinstalldirs $(HOST_SUBDIR)/intl ; \
+ cd $(HOST_SUBDIR)/intl || exit 1; \
+@@ -19933,9 +20153,9 @@
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ test ! -f $(HOST_SUBDIR)/intl/Makefile || exit 0; \
+ $(HOST_EXPORTS) \
+- $(POSTSTAGE1_HOST_EXPORTS) \
++ $(POSTSTAGE1_HOST_EXPORTS) \
+ CFLAGS="$(STAGE3_CFLAGS)"; export CFLAGS; \
+- LIBCFLAGS="$(STAGE3_CFLAGS)"; export LIBCFLAGS; \
++ CXXFLAGS="$(STAGE3_CFLAGS)"; export CXXFLAGS; \
+ echo Configuring stage 3 in $(HOST_SUBDIR)/intl ; \
+ $(SHELL) $(srcdir)/mkinstalldirs $(HOST_SUBDIR)/intl ; \
+ cd $(HOST_SUBDIR)/intl || exit 1; \
+@@ -19964,9 +20184,9 @@
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ test ! -f $(HOST_SUBDIR)/intl/Makefile || exit 0; \
+ $(HOST_EXPORTS) \
+- $(POSTSTAGE1_HOST_EXPORTS) \
++ $(POSTSTAGE1_HOST_EXPORTS) \
+ CFLAGS="$(STAGE3_CFLAGS) -g2"; export CFLAGS; \
+- LIBCFLAGS="$(STAGE3_CFLAGS) -g2"; export LIBCFLAGS; \
++ CXXFLAGS="$(STAGE3_CFLAGS) -g2"; export CXXFLAGS; \
+ echo Configuring stage b3g2 in $(HOST_SUBDIR)/intl ; \
+ $(SHELL) $(srcdir)/mkinstalldirs $(HOST_SUBDIR)/intl ; \
+ cd $(HOST_SUBDIR)/intl || exit 1; \
+@@ -19995,9 +20215,9 @@
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ test ! -f $(HOST_SUBDIR)/intl/Makefile || exit 0; \
+ $(HOST_EXPORTS) \
+- $(POSTSTAGE1_HOST_EXPORTS) \
++ $(POSTSTAGE1_HOST_EXPORTS) \
+ CFLAGS="$(STAGE4_CFLAGS)"; export CFLAGS; \
+- LIBCFLAGS="$(STAGE4_CFLAGS)"; export LIBCFLAGS; \
++ CXXFLAGS="$(STAGE4_CFLAGS)"; export CXXFLAGS; \
+ echo Configuring stage 4 in $(HOST_SUBDIR)/intl ; \
+ $(SHELL) $(srcdir)/mkinstalldirs $(HOST_SUBDIR)/intl ; \
+ cd $(HOST_SUBDIR)/intl || exit 1; \
+@@ -20026,9 +20246,9 @@
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ test ! -f $(HOST_SUBDIR)/intl/Makefile || exit 0; \
+ $(HOST_EXPORTS) \
+- $(POSTSTAGE1_HOST_EXPORTS) \
++ $(POSTSTAGE1_HOST_EXPORTS) \
+ CFLAGS="$(STAGE2_CFLAGS) -fprofile-generate"; export CFLAGS; \
+- LIBCFLAGS="$(STAGE2_CFLAGS) -fprofile-generate"; export LIBCFLAGS; \
++ CXXFLAGS="$(STAGE2_CFLAGS) -fprofile-generate"; export CXXFLAGS; \
+ echo Configuring stage profile in $(HOST_SUBDIR)/intl ; \
+ $(SHELL) $(srcdir)/mkinstalldirs $(HOST_SUBDIR)/intl ; \
+ cd $(HOST_SUBDIR)/intl || exit 1; \
+@@ -20057,9 +20277,9 @@
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ test ! -f $(HOST_SUBDIR)/intl/Makefile || exit 0; \
+ $(HOST_EXPORTS) \
+- $(POSTSTAGE1_HOST_EXPORTS) \
++ $(POSTSTAGE1_HOST_EXPORTS) \
+ CFLAGS="$(STAGE3_CFLAGS) -fprofile-use"; export CFLAGS; \
+- LIBCFLAGS="$(STAGE3_CFLAGS) -fprofile-use"; export LIBCFLAGS; \
++ CXXFLAGS="$(STAGE3_CFLAGS) -fprofile-use"; export CXXFLAGS; \
+ echo Configuring stage feedback in $(HOST_SUBDIR)/intl ; \
+ $(SHELL) $(srcdir)/mkinstalldirs $(HOST_SUBDIR)/intl ; \
+ cd $(HOST_SUBDIR)/intl || exit 1; \
+@@ -20094,7 +20314,8 @@
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ $(HOST_EXPORTS) \
+ (cd $(HOST_SUBDIR)/intl && \
+- $(MAKE) $(FLAGS_TO_PASS) $(TARGET-intl))
++ $(MAKE) $(BASE_FLAGS_TO_PASS) $(EXTRA_HOST_FLAGS) \
++ $(TARGET-intl))
+ @endif intl
+
+
+@@ -20113,8 +20334,11 @@
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ $(HOST_EXPORTS) \
+ cd $(HOST_SUBDIR)/intl && \
+- $(MAKE) $(FLAGS_TO_PASS) \
+- CFLAGS="$(STAGE1_CFLAGS)" LIBCFLAGS="$(STAGE1_CFLAGS)" \
++ $(MAKE) $(BASE_FLAGS_TO_PASS) \
++ CFLAGS="$(STAGE1_CFLAGS)" CXXFLAGS="$(STAGE1_CFLAGS)" \
++ LIBCFLAGS="$(STAGE1_LIBCFLAGS)" \
++ CFLAGS_FOR_TARGET="$(STAGE1_LIBCFLAGS)" \
++ CXXFLAGS_FOR_TARGET="$(STAGE1_LIBCFLAGS)" $(EXTRA_HOST_FLAGS) \
+ $(TARGET-stage1-intl)
+
+ maybe-clean-stage1-intl: clean-stage1-intl
+@@ -20127,7 +20351,7 @@
+ $(MAKE) stage1-start; \
+ fi; \
+ cd $(HOST_SUBDIR)/intl && \
+- $(MAKE) $(FLAGS_TO_PASS) \
++ $(MAKE) $(EXTRA_HOST_FLAGS) \
+ clean
+ @endif intl-bootstrap
+
+@@ -20147,8 +20371,11 @@
+ $(HOST_EXPORTS) \
+ $(POSTSTAGE1_HOST_EXPORTS) \
+ cd $(HOST_SUBDIR)/intl && \
+- $(MAKE) $(FLAGS_TO_PASS) \
+- CFLAGS="$(STAGE2_CFLAGS)" LIBCFLAGS="$(STAGE2_CFLAGS)" $(POSTSTAGE1_FLAGS_TO_PASS) \
++ $(MAKE) $(BASE_FLAGS_TO_PASS) \
++ CFLAGS="$(STAGE2_CFLAGS)" CXXFLAGS="$(STAGE2_CFLAGS)" \
++ LIBCFLAGS="$(STAGE2_LIBCFLAGS)" \
++ CFLAGS_FOR_TARGET="$(STAGE2_LIBCFLAGS)" \
++ CXXFLAGS_FOR_TARGET="$(STAGE2_LIBCFLAGS)" $(EXTRA_HOST_FLAGS) $(POSTSTAGE1_FLAGS_TO_PASS) \
+ $(TARGET-stage2-intl)
+
+ maybe-clean-stage2-intl: clean-stage2-intl
+@@ -20161,7 +20388,7 @@
+ $(MAKE) stage2-start; \
+ fi; \
+ cd $(HOST_SUBDIR)/intl && \
+- $(MAKE) $(FLAGS_TO_PASS) \
++ $(MAKE) $(EXTRA_HOST_FLAGS) \
+ $(POSTSTAGE1_FLAGS_TO_PASS) \
+ clean
+ @endif intl-bootstrap
+@@ -20182,8 +20409,11 @@
+ $(HOST_EXPORTS) \
+ $(POSTSTAGE1_HOST_EXPORTS) \
+ cd $(HOST_SUBDIR)/intl && \
+- $(MAKE) $(FLAGS_TO_PASS) \
+- CFLAGS="$(STAGE2_CFLAGS) -g0" LIBCFLAGS="$(STAGE2_CFLAGS) -g0" $(POSTSTAGE1_FLAGS_TO_PASS) \
++ $(MAKE) $(BASE_FLAGS_TO_PASS) \
++ CFLAGS="$(STAGE2_CFLAGS) -g0" CXXFLAGS="$(STAGE2_CFLAGS) -g0" \
++ LIBCFLAGS="$(STAGE2_LIBCFLAGS) -g0" \
++ CFLAGS_FOR_TARGET="$(STAGE2_LIBCFLAGS) -g0" \
++ CXXFLAGS_FOR_TARGET="$(STAGE2_LIBCFLAGS) -g0" $(EXTRA_HOST_FLAGS) $(POSTSTAGE1_FLAGS_TO_PASS) \
+ $(TARGET-stageb2g0-intl)
+
+ maybe-clean-stageb2g0-intl: clean-stageb2g0-intl
+@@ -20196,7 +20426,7 @@
+ $(MAKE) stageb2g0-start; \
+ fi; \
+ cd $(HOST_SUBDIR)/intl && \
+- $(MAKE) $(FLAGS_TO_PASS) \
++ $(MAKE) $(EXTRA_HOST_FLAGS) \
+ $(POSTSTAGE1_FLAGS_TO_PASS) \
+ clean
+ @endif intl-bootstrap
+@@ -20217,8 +20447,11 @@
+ $(HOST_EXPORTS) \
+ $(POSTSTAGE1_HOST_EXPORTS) \
+ cd $(HOST_SUBDIR)/intl && \
+- $(MAKE) $(FLAGS_TO_PASS) \
+- CFLAGS="$(STAGE3_CFLAGS)" LIBCFLAGS="$(STAGE3_CFLAGS)" $(POSTSTAGE1_FLAGS_TO_PASS) \
++ $(MAKE) $(BASE_FLAGS_TO_PASS) \
++ CFLAGS="$(STAGE3_CFLAGS)" CXXFLAGS="$(STAGE3_CFLAGS)" \
++ LIBCFLAGS="$(STAGE3_LIBCFLAGS)" \
++ CFLAGS_FOR_TARGET="$(STAGE3_LIBCFLAGS)" \
++ CXXFLAGS_FOR_TARGET="$(STAGE3_LIBCFLAGS)" $(EXTRA_HOST_FLAGS) $(POSTSTAGE1_FLAGS_TO_PASS) \
+ $(TARGET-stage3-intl)
+
+ maybe-clean-stage3-intl: clean-stage3-intl
+@@ -20231,7 +20464,7 @@
+ $(MAKE) stage3-start; \
+ fi; \
+ cd $(HOST_SUBDIR)/intl && \
+- $(MAKE) $(FLAGS_TO_PASS) \
++ $(MAKE) $(EXTRA_HOST_FLAGS) \
+ $(POSTSTAGE1_FLAGS_TO_PASS) \
+ clean
+ @endif intl-bootstrap
+@@ -20252,8 +20485,11 @@
+ $(HOST_EXPORTS) \
+ $(POSTSTAGE1_HOST_EXPORTS) \
+ cd $(HOST_SUBDIR)/intl && \
+- $(MAKE) $(FLAGS_TO_PASS) \
+- CFLAGS="$(STAGE3_CFLAGS) -g2" LIBCFLAGS="$(STAGE3_CFLAGS) -g2" $(POSTSTAGE1_FLAGS_TO_PASS) \
++ $(MAKE) $(BASE_FLAGS_TO_PASS) \
++ CFLAGS="$(STAGE3_CFLAGS) -g2" CXXFLAGS="$(STAGE3_CFLAGS) -g2" \
++ LIBCFLAGS="$(STAGE3_LIBCFLAGS) -g2" \
++ CFLAGS_FOR_TARGET="$(STAGE3_LIBCFLAGS) -g2" \
++ CXXFLAGS_FOR_TARGET="$(STAGE3_LIBCFLAGS) -g2" $(EXTRA_HOST_FLAGS) $(POSTSTAGE1_FLAGS_TO_PASS) \
+ $(TARGET-stageb3g2-intl)
+
+ maybe-clean-stageb3g2-intl: clean-stageb3g2-intl
+@@ -20266,7 +20502,7 @@
+ $(MAKE) stageb3g2-start; \
+ fi; \
+ cd $(HOST_SUBDIR)/intl && \
+- $(MAKE) $(FLAGS_TO_PASS) \
++ $(MAKE) $(EXTRA_HOST_FLAGS) \
+ $(POSTSTAGE1_FLAGS_TO_PASS) \
+ clean
+ @endif intl-bootstrap
+@@ -20287,8 +20523,11 @@
+ $(HOST_EXPORTS) \
+ $(POSTSTAGE1_HOST_EXPORTS) \
+ cd $(HOST_SUBDIR)/intl && \
+- $(MAKE) $(FLAGS_TO_PASS) \
+- CFLAGS="$(STAGE4_CFLAGS)" LIBCFLAGS="$(STAGE4_CFLAGS)" $(POSTSTAGE1_FLAGS_TO_PASS) \
++ $(MAKE) $(BASE_FLAGS_TO_PASS) \
++ CFLAGS="$(STAGE4_CFLAGS)" CXXFLAGS="$(STAGE4_CFLAGS)" \
++ LIBCFLAGS="$(STAGE4_CFLAGS)" \
++ CFLAGS_FOR_TARGET="$(STAGE4_CFLAGS)" \
++ CXXFLAGS_FOR_TARGET="$(STAGE4_CFLAGS)" $(EXTRA_HOST_FLAGS) $(POSTSTAGE1_FLAGS_TO_PASS) \
+ $(TARGET-stage4-intl)
+
+ maybe-clean-stage4-intl: clean-stage4-intl
+@@ -20301,7 +20540,7 @@
+ $(MAKE) stage4-start; \
+ fi; \
+ cd $(HOST_SUBDIR)/intl && \
+- $(MAKE) $(FLAGS_TO_PASS) \
++ $(MAKE) $(EXTRA_HOST_FLAGS) \
+ $(POSTSTAGE1_FLAGS_TO_PASS) \
+ clean
+ @endif intl-bootstrap
+@@ -20322,8 +20561,11 @@
+ $(HOST_EXPORTS) \
+ $(POSTSTAGE1_HOST_EXPORTS) \
+ cd $(HOST_SUBDIR)/intl && \
+- $(MAKE) $(FLAGS_TO_PASS) \
+- CFLAGS="$(STAGE2_CFLAGS) -fprofile-generate" LIBCFLAGS="$(STAGE2_CFLAGS) -fprofile-generate" $(POSTSTAGE1_FLAGS_TO_PASS) \
++ $(MAKE) $(BASE_FLAGS_TO_PASS) \
++ CFLAGS="$(STAGE2_CFLAGS) -fprofile-generate" CXXFLAGS="$(STAGE2_CFLAGS) -fprofile-generate" \
++ LIBCFLAGS="$(STAGE2_LIBCFLAGS) -fprofile-generate" \
++ CFLAGS_FOR_TARGET="$(STAGE2_LIBCFLAGS) -fprofile-generate" \
++ CXXFLAGS_FOR_TARGET="$(STAGE2_LIBCFLAGS) -fprofile-generate" $(EXTRA_HOST_FLAGS) $(POSTSTAGE1_FLAGS_TO_PASS) \
+ $(TARGET-stageprofile-intl)
+
+ maybe-clean-stageprofile-intl: clean-stageprofile-intl
+@@ -20336,7 +20578,7 @@
+ $(MAKE) stageprofile-start; \
+ fi; \
+ cd $(HOST_SUBDIR)/intl && \
+- $(MAKE) $(FLAGS_TO_PASS) \
++ $(MAKE) $(EXTRA_HOST_FLAGS) \
+ $(POSTSTAGE1_FLAGS_TO_PASS) \
+ clean
+ @endif intl-bootstrap
+@@ -20357,8 +20599,11 @@
+ $(HOST_EXPORTS) \
+ $(POSTSTAGE1_HOST_EXPORTS) \
+ cd $(HOST_SUBDIR)/intl && \
+- $(MAKE) $(FLAGS_TO_PASS) \
+- CFLAGS="$(STAGE3_CFLAGS) -fprofile-use" LIBCFLAGS="$(STAGE3_CFLAGS) -fprofile-use" $(POSTSTAGE1_FLAGS_TO_PASS) \
++ $(MAKE) $(BASE_FLAGS_TO_PASS) \
++ CFLAGS="$(STAGE3_CFLAGS) -fprofile-use" CXXFLAGS="$(STAGE3_CFLAGS) -fprofile-use" \
++ LIBCFLAGS="$(STAGE3_LIBCFLAGS) -fprofile-use" \
++ CFLAGS_FOR_TARGET="$(STAGE3_LIBCFLAGS) -fprofile-use" \
++ CXXFLAGS_FOR_TARGET="$(STAGE3_LIBCFLAGS) -fprofile-use" $(EXTRA_HOST_FLAGS) $(POSTSTAGE1_FLAGS_TO_PASS) \
+ $(TARGET-stagefeedback-intl)
+
+ maybe-clean-stagefeedback-intl: clean-stagefeedback-intl
+@@ -20371,7 +20616,7 @@
+ $(MAKE) stagefeedback-start; \
+ fi; \
+ cd $(HOST_SUBDIR)/intl && \
+- $(MAKE) $(FLAGS_TO_PASS) \
++ $(MAKE) $(EXTRA_HOST_FLAGS) \
+ $(POSTSTAGE1_FLAGS_TO_PASS) \
+ clean
+ @endif intl-bootstrap
+@@ -20785,7 +21030,8 @@
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ $(HOST_EXPORTS) \
+ (cd $(HOST_SUBDIR)/tcl && \
+- $(MAKE) $(FLAGS_TO_PASS) $(TARGET-tcl))
++ $(MAKE) $(BASE_FLAGS_TO_PASS) $(EXTRA_HOST_FLAGS) \
++ $(TARGET-tcl))
+ @endif tcl
+
+
+@@ -21194,7 +21440,8 @@
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ $(HOST_EXPORTS) \
+ (cd $(HOST_SUBDIR)/itcl && \
+- $(MAKE) $(FLAGS_TO_PASS) $(TARGET-itcl))
++ $(MAKE) $(BASE_FLAGS_TO_PASS) $(EXTRA_HOST_FLAGS) \
++ $(TARGET-itcl))
+ @endif itcl
+
+
+@@ -21611,9 +21858,9 @@
+ @r=`${PWD_COMMAND}`; export r; \
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ test ! -f $(HOST_SUBDIR)/ld/Makefile || exit 0; \
+- $(HOST_EXPORTS) \
++ $(HOST_EXPORTS) \
+ CFLAGS="$(STAGE1_CFLAGS)"; export CFLAGS; \
+- LIBCFLAGS="$(STAGE1_CFLAGS)"; export LIBCFLAGS; \
++ CXXFLAGS="$(STAGE1_CFLAGS)"; export CXXFLAGS; \
+ echo Configuring stage 1 in $(HOST_SUBDIR)/ld ; \
+ $(SHELL) $(srcdir)/mkinstalldirs $(HOST_SUBDIR)/ld ; \
+ cd $(HOST_SUBDIR)/ld || exit 1; \
+@@ -21642,9 +21889,9 @@
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ test ! -f $(HOST_SUBDIR)/ld/Makefile || exit 0; \
+ $(HOST_EXPORTS) \
+- $(POSTSTAGE1_HOST_EXPORTS) \
++ $(POSTSTAGE1_HOST_EXPORTS) \
+ CFLAGS="$(STAGE2_CFLAGS)"; export CFLAGS; \
+- LIBCFLAGS="$(STAGE2_CFLAGS)"; export LIBCFLAGS; \
++ CXXFLAGS="$(STAGE2_CFLAGS)"; export CXXFLAGS; \
+ echo Configuring stage 2 in $(HOST_SUBDIR)/ld ; \
+ $(SHELL) $(srcdir)/mkinstalldirs $(HOST_SUBDIR)/ld ; \
+ cd $(HOST_SUBDIR)/ld || exit 1; \
+@@ -21673,9 +21920,9 @@
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ test ! -f $(HOST_SUBDIR)/ld/Makefile || exit 0; \
+ $(HOST_EXPORTS) \
+- $(POSTSTAGE1_HOST_EXPORTS) \
++ $(POSTSTAGE1_HOST_EXPORTS) \
+ CFLAGS="$(STAGE2_CFLAGS) -g0"; export CFLAGS; \
+- LIBCFLAGS="$(STAGE2_CFLAGS) -g0"; export LIBCFLAGS; \
++ CXXFLAGS="$(STAGE2_CFLAGS) -g0"; export CXXFLAGS; \
+ echo Configuring stage b2g0 in $(HOST_SUBDIR)/ld ; \
+ $(SHELL) $(srcdir)/mkinstalldirs $(HOST_SUBDIR)/ld ; \
+ cd $(HOST_SUBDIR)/ld || exit 1; \
+@@ -21704,9 +21951,9 @@
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ test ! -f $(HOST_SUBDIR)/ld/Makefile || exit 0; \
+ $(HOST_EXPORTS) \
+- $(POSTSTAGE1_HOST_EXPORTS) \
++ $(POSTSTAGE1_HOST_EXPORTS) \
+ CFLAGS="$(STAGE3_CFLAGS)"; export CFLAGS; \
+- LIBCFLAGS="$(STAGE3_CFLAGS)"; export LIBCFLAGS; \
++ CXXFLAGS="$(STAGE3_CFLAGS)"; export CXXFLAGS; \
+ echo Configuring stage 3 in $(HOST_SUBDIR)/ld ; \
+ $(SHELL) $(srcdir)/mkinstalldirs $(HOST_SUBDIR)/ld ; \
+ cd $(HOST_SUBDIR)/ld || exit 1; \
+@@ -21735,9 +21982,9 @@
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ test ! -f $(HOST_SUBDIR)/ld/Makefile || exit 0; \
+ $(HOST_EXPORTS) \
+- $(POSTSTAGE1_HOST_EXPORTS) \
++ $(POSTSTAGE1_HOST_EXPORTS) \
+ CFLAGS="$(STAGE3_CFLAGS) -g2"; export CFLAGS; \
+- LIBCFLAGS="$(STAGE3_CFLAGS) -g2"; export LIBCFLAGS; \
++ CXXFLAGS="$(STAGE3_CFLAGS) -g2"; export CXXFLAGS; \
+ echo Configuring stage b3g2 in $(HOST_SUBDIR)/ld ; \
+ $(SHELL) $(srcdir)/mkinstalldirs $(HOST_SUBDIR)/ld ; \
+ cd $(HOST_SUBDIR)/ld || exit 1; \
+@@ -21766,9 +22013,9 @@
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ test ! -f $(HOST_SUBDIR)/ld/Makefile || exit 0; \
+ $(HOST_EXPORTS) \
+- $(POSTSTAGE1_HOST_EXPORTS) \
++ $(POSTSTAGE1_HOST_EXPORTS) \
+ CFLAGS="$(STAGE4_CFLAGS)"; export CFLAGS; \
+- LIBCFLAGS="$(STAGE4_CFLAGS)"; export LIBCFLAGS; \
++ CXXFLAGS="$(STAGE4_CFLAGS)"; export CXXFLAGS; \
+ echo Configuring stage 4 in $(HOST_SUBDIR)/ld ; \
+ $(SHELL) $(srcdir)/mkinstalldirs $(HOST_SUBDIR)/ld ; \
+ cd $(HOST_SUBDIR)/ld || exit 1; \
+@@ -21797,9 +22044,9 @@
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ test ! -f $(HOST_SUBDIR)/ld/Makefile || exit 0; \
+ $(HOST_EXPORTS) \
+- $(POSTSTAGE1_HOST_EXPORTS) \
++ $(POSTSTAGE1_HOST_EXPORTS) \
+ CFLAGS="$(STAGE2_CFLAGS) -fprofile-generate"; export CFLAGS; \
+- LIBCFLAGS="$(STAGE2_CFLAGS) -fprofile-generate"; export LIBCFLAGS; \
++ CXXFLAGS="$(STAGE2_CFLAGS) -fprofile-generate"; export CXXFLAGS; \
+ echo Configuring stage profile in $(HOST_SUBDIR)/ld ; \
+ $(SHELL) $(srcdir)/mkinstalldirs $(HOST_SUBDIR)/ld ; \
+ cd $(HOST_SUBDIR)/ld || exit 1; \
+@@ -21828,9 +22075,9 @@
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ test ! -f $(HOST_SUBDIR)/ld/Makefile || exit 0; \
+ $(HOST_EXPORTS) \
+- $(POSTSTAGE1_HOST_EXPORTS) \
++ $(POSTSTAGE1_HOST_EXPORTS) \
+ CFLAGS="$(STAGE3_CFLAGS) -fprofile-use"; export CFLAGS; \
+- LIBCFLAGS="$(STAGE3_CFLAGS) -fprofile-use"; export LIBCFLAGS; \
++ CXXFLAGS="$(STAGE3_CFLAGS) -fprofile-use"; export CXXFLAGS; \
+ echo Configuring stage feedback in $(HOST_SUBDIR)/ld ; \
+ $(SHELL) $(srcdir)/mkinstalldirs $(HOST_SUBDIR)/ld ; \
+ cd $(HOST_SUBDIR)/ld || exit 1; \
+@@ -21865,7 +22112,8 @@
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ $(HOST_EXPORTS) \
+ (cd $(HOST_SUBDIR)/ld && \
+- $(MAKE) $(FLAGS_TO_PASS) $(TARGET-ld))
++ $(MAKE) $(BASE_FLAGS_TO_PASS) $(EXTRA_HOST_FLAGS) \
++ $(TARGET-ld))
+ @endif ld
+
+
+@@ -21884,8 +22132,11 @@
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ $(HOST_EXPORTS) \
+ cd $(HOST_SUBDIR)/ld && \
+- $(MAKE) $(FLAGS_TO_PASS) \
+- CFLAGS="$(STAGE1_CFLAGS)" LIBCFLAGS="$(STAGE1_CFLAGS)" \
++ $(MAKE) $(BASE_FLAGS_TO_PASS) \
++ CFLAGS="$(STAGE1_CFLAGS)" CXXFLAGS="$(STAGE1_CFLAGS)" \
++ LIBCFLAGS="$(STAGE1_LIBCFLAGS)" \
++ CFLAGS_FOR_TARGET="$(STAGE1_LIBCFLAGS)" \
++ CXXFLAGS_FOR_TARGET="$(STAGE1_LIBCFLAGS)" $(EXTRA_HOST_FLAGS) \
+ $(TARGET-stage1-ld)
+
+ maybe-clean-stage1-ld: clean-stage1-ld
+@@ -21898,7 +22149,7 @@
+ $(MAKE) stage1-start; \
+ fi; \
+ cd $(HOST_SUBDIR)/ld && \
+- $(MAKE) $(FLAGS_TO_PASS) \
++ $(MAKE) $(EXTRA_HOST_FLAGS) \
+ clean
+ @endif ld-bootstrap
+
+@@ -21918,8 +22169,11 @@
+ $(HOST_EXPORTS) \
+ $(POSTSTAGE1_HOST_EXPORTS) \
+ cd $(HOST_SUBDIR)/ld && \
+- $(MAKE) $(FLAGS_TO_PASS) \
+- CFLAGS="$(STAGE2_CFLAGS)" LIBCFLAGS="$(STAGE2_CFLAGS)" $(POSTSTAGE1_FLAGS_TO_PASS) \
++ $(MAKE) $(BASE_FLAGS_TO_PASS) \
++ CFLAGS="$(STAGE2_CFLAGS)" CXXFLAGS="$(STAGE2_CFLAGS)" \
++ LIBCFLAGS="$(STAGE2_LIBCFLAGS)" \
++ CFLAGS_FOR_TARGET="$(STAGE2_LIBCFLAGS)" \
++ CXXFLAGS_FOR_TARGET="$(STAGE2_LIBCFLAGS)" $(EXTRA_HOST_FLAGS) $(POSTSTAGE1_FLAGS_TO_PASS) \
+ $(TARGET-stage2-ld)
+
+ maybe-clean-stage2-ld: clean-stage2-ld
+@@ -21932,7 +22186,7 @@
+ $(MAKE) stage2-start; \
+ fi; \
+ cd $(HOST_SUBDIR)/ld && \
+- $(MAKE) $(FLAGS_TO_PASS) \
++ $(MAKE) $(EXTRA_HOST_FLAGS) \
+ $(POSTSTAGE1_FLAGS_TO_PASS) \
+ clean
+ @endif ld-bootstrap
+@@ -21953,8 +22207,11 @@
+ $(HOST_EXPORTS) \
+ $(POSTSTAGE1_HOST_EXPORTS) \
+ cd $(HOST_SUBDIR)/ld && \
+- $(MAKE) $(FLAGS_TO_PASS) \
+- CFLAGS="$(STAGE2_CFLAGS) -g0" LIBCFLAGS="$(STAGE2_CFLAGS) -g0" $(POSTSTAGE1_FLAGS_TO_PASS) \
++ $(MAKE) $(BASE_FLAGS_TO_PASS) \
++ CFLAGS="$(STAGE2_CFLAGS) -g0" CXXFLAGS="$(STAGE2_CFLAGS) -g0" \
++ LIBCFLAGS="$(STAGE2_LIBCFLAGS) -g0" \
++ CFLAGS_FOR_TARGET="$(STAGE2_LIBCFLAGS) -g0" \
++ CXXFLAGS_FOR_TARGET="$(STAGE2_LIBCFLAGS) -g0" $(EXTRA_HOST_FLAGS) $(POSTSTAGE1_FLAGS_TO_PASS) \
+ $(TARGET-stageb2g0-ld)
+
+ maybe-clean-stageb2g0-ld: clean-stageb2g0-ld
+@@ -21967,7 +22224,7 @@
+ $(MAKE) stageb2g0-start; \
+ fi; \
+ cd $(HOST_SUBDIR)/ld && \
+- $(MAKE) $(FLAGS_TO_PASS) \
++ $(MAKE) $(EXTRA_HOST_FLAGS) \
+ $(POSTSTAGE1_FLAGS_TO_PASS) \
+ clean
+ @endif ld-bootstrap
+@@ -21988,8 +22245,11 @@
+ $(HOST_EXPORTS) \
+ $(POSTSTAGE1_HOST_EXPORTS) \
+ cd $(HOST_SUBDIR)/ld && \
+- $(MAKE) $(FLAGS_TO_PASS) \
+- CFLAGS="$(STAGE3_CFLAGS)" LIBCFLAGS="$(STAGE3_CFLAGS)" $(POSTSTAGE1_FLAGS_TO_PASS) \
++ $(MAKE) $(BASE_FLAGS_TO_PASS) \
++ CFLAGS="$(STAGE3_CFLAGS)" CXXFLAGS="$(STAGE3_CFLAGS)" \
++ LIBCFLAGS="$(STAGE3_LIBCFLAGS)" \
++ CFLAGS_FOR_TARGET="$(STAGE3_LIBCFLAGS)" \
++ CXXFLAGS_FOR_TARGET="$(STAGE3_LIBCFLAGS)" $(EXTRA_HOST_FLAGS) $(POSTSTAGE1_FLAGS_TO_PASS) \
+ $(TARGET-stage3-ld)
+
+ maybe-clean-stage3-ld: clean-stage3-ld
+@@ -22002,7 +22262,7 @@
+ $(MAKE) stage3-start; \
+ fi; \
+ cd $(HOST_SUBDIR)/ld && \
+- $(MAKE) $(FLAGS_TO_PASS) \
++ $(MAKE) $(EXTRA_HOST_FLAGS) \
+ $(POSTSTAGE1_FLAGS_TO_PASS) \
+ clean
+ @endif ld-bootstrap
+@@ -22023,8 +22283,11 @@
+ $(HOST_EXPORTS) \
+ $(POSTSTAGE1_HOST_EXPORTS) \
+ cd $(HOST_SUBDIR)/ld && \
+- $(MAKE) $(FLAGS_TO_PASS) \
+- CFLAGS="$(STAGE3_CFLAGS) -g2" LIBCFLAGS="$(STAGE3_CFLAGS) -g2" $(POSTSTAGE1_FLAGS_TO_PASS) \
++ $(MAKE) $(BASE_FLAGS_TO_PASS) \
++ CFLAGS="$(STAGE3_CFLAGS) -g2" CXXFLAGS="$(STAGE3_CFLAGS) -g2" \
++ LIBCFLAGS="$(STAGE3_LIBCFLAGS) -g2" \
++ CFLAGS_FOR_TARGET="$(STAGE3_LIBCFLAGS) -g2" \
++ CXXFLAGS_FOR_TARGET="$(STAGE3_LIBCFLAGS) -g2" $(EXTRA_HOST_FLAGS) $(POSTSTAGE1_FLAGS_TO_PASS) \
+ $(TARGET-stageb3g2-ld)
+
+ maybe-clean-stageb3g2-ld: clean-stageb3g2-ld
+@@ -22037,7 +22300,7 @@
+ $(MAKE) stageb3g2-start; \
+ fi; \
+ cd $(HOST_SUBDIR)/ld && \
+- $(MAKE) $(FLAGS_TO_PASS) \
++ $(MAKE) $(EXTRA_HOST_FLAGS) \
+ $(POSTSTAGE1_FLAGS_TO_PASS) \
+ clean
+ @endif ld-bootstrap
+@@ -22058,8 +22321,11 @@
+ $(HOST_EXPORTS) \
+ $(POSTSTAGE1_HOST_EXPORTS) \
+ cd $(HOST_SUBDIR)/ld && \
+- $(MAKE) $(FLAGS_TO_PASS) \
+- CFLAGS="$(STAGE4_CFLAGS)" LIBCFLAGS="$(STAGE4_CFLAGS)" $(POSTSTAGE1_FLAGS_TO_PASS) \
++ $(MAKE) $(BASE_FLAGS_TO_PASS) \
++ CFLAGS="$(STAGE4_CFLAGS)" CXXFLAGS="$(STAGE4_CFLAGS)" \
++ LIBCFLAGS="$(STAGE4_CFLAGS)" \
++ CFLAGS_FOR_TARGET="$(STAGE4_CFLAGS)" \
++ CXXFLAGS_FOR_TARGET="$(STAGE4_CFLAGS)" $(EXTRA_HOST_FLAGS) $(POSTSTAGE1_FLAGS_TO_PASS) \
+ $(TARGET-stage4-ld)
+
+ maybe-clean-stage4-ld: clean-stage4-ld
+@@ -22072,7 +22338,7 @@
+ $(MAKE) stage4-start; \
+ fi; \
+ cd $(HOST_SUBDIR)/ld && \
+- $(MAKE) $(FLAGS_TO_PASS) \
++ $(MAKE) $(EXTRA_HOST_FLAGS) \
+ $(POSTSTAGE1_FLAGS_TO_PASS) \
+ clean
+ @endif ld-bootstrap
+@@ -22093,8 +22359,11 @@
+ $(HOST_EXPORTS) \
+ $(POSTSTAGE1_HOST_EXPORTS) \
+ cd $(HOST_SUBDIR)/ld && \
+- $(MAKE) $(FLAGS_TO_PASS) \
+- CFLAGS="$(STAGE2_CFLAGS) -fprofile-generate" LIBCFLAGS="$(STAGE2_CFLAGS) -fprofile-generate" $(POSTSTAGE1_FLAGS_TO_PASS) \
++ $(MAKE) $(BASE_FLAGS_TO_PASS) \
++ CFLAGS="$(STAGE2_CFLAGS) -fprofile-generate" CXXFLAGS="$(STAGE2_CFLAGS) -fprofile-generate" \
++ LIBCFLAGS="$(STAGE2_LIBCFLAGS) -fprofile-generate" \
++ CFLAGS_FOR_TARGET="$(STAGE2_LIBCFLAGS) -fprofile-generate" \
++ CXXFLAGS_FOR_TARGET="$(STAGE2_LIBCFLAGS) -fprofile-generate" $(EXTRA_HOST_FLAGS) $(POSTSTAGE1_FLAGS_TO_PASS) \
+ $(TARGET-stageprofile-ld)
+
+ maybe-clean-stageprofile-ld: clean-stageprofile-ld
+@@ -22107,7 +22376,7 @@
+ $(MAKE) stageprofile-start; \
+ fi; \
+ cd $(HOST_SUBDIR)/ld && \
+- $(MAKE) $(FLAGS_TO_PASS) \
++ $(MAKE) $(EXTRA_HOST_FLAGS) \
+ $(POSTSTAGE1_FLAGS_TO_PASS) \
+ clean
+ @endif ld-bootstrap
+@@ -22128,8 +22397,11 @@
+ $(HOST_EXPORTS) \
+ $(POSTSTAGE1_HOST_EXPORTS) \
+ cd $(HOST_SUBDIR)/ld && \
+- $(MAKE) $(FLAGS_TO_PASS) \
+- CFLAGS="$(STAGE3_CFLAGS) -fprofile-use" LIBCFLAGS="$(STAGE3_CFLAGS) -fprofile-use" $(POSTSTAGE1_FLAGS_TO_PASS) \
++ $(MAKE) $(BASE_FLAGS_TO_PASS) \
++ CFLAGS="$(STAGE3_CFLAGS) -fprofile-use" CXXFLAGS="$(STAGE3_CFLAGS) -fprofile-use" \
++ LIBCFLAGS="$(STAGE3_LIBCFLAGS) -fprofile-use" \
++ CFLAGS_FOR_TARGET="$(STAGE3_LIBCFLAGS) -fprofile-use" \
++ CXXFLAGS_FOR_TARGET="$(STAGE3_LIBCFLAGS) -fprofile-use" $(EXTRA_HOST_FLAGS) $(POSTSTAGE1_FLAGS_TO_PASS) \
+ $(TARGET-stagefeedback-ld)
+
+ maybe-clean-stagefeedback-ld: clean-stagefeedback-ld
+@@ -22142,7 +22414,7 @@
+ $(MAKE) stagefeedback-start; \
+ fi; \
+ cd $(HOST_SUBDIR)/ld && \
+- $(MAKE) $(FLAGS_TO_PASS) \
++ $(MAKE) $(EXTRA_HOST_FLAGS) \
+ $(POSTSTAGE1_FLAGS_TO_PASS) \
+ clean
+ @endif ld-bootstrap
+@@ -22549,9 +22821,9 @@
+ @r=`${PWD_COMMAND}`; export r; \
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ test ! -f $(HOST_SUBDIR)/libcpp/Makefile || exit 0; \
+- $(HOST_EXPORTS) \
++ $(HOST_EXPORTS) \
+ CFLAGS="$(STAGE1_CFLAGS)"; export CFLAGS; \
+- LIBCFLAGS="$(STAGE1_CFLAGS)"; export LIBCFLAGS; \
++ CXXFLAGS="$(STAGE1_CFLAGS)"; export CXXFLAGS; \
+ echo Configuring stage 1 in $(HOST_SUBDIR)/libcpp ; \
+ $(SHELL) $(srcdir)/mkinstalldirs $(HOST_SUBDIR)/libcpp ; \
+ cd $(HOST_SUBDIR)/libcpp || exit 1; \
+@@ -22580,9 +22852,9 @@
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ test ! -f $(HOST_SUBDIR)/libcpp/Makefile || exit 0; \
+ $(HOST_EXPORTS) \
+- $(POSTSTAGE1_HOST_EXPORTS) \
++ $(POSTSTAGE1_HOST_EXPORTS) \
+ CFLAGS="$(STAGE2_CFLAGS)"; export CFLAGS; \
+- LIBCFLAGS="$(STAGE2_CFLAGS)"; export LIBCFLAGS; \
++ CXXFLAGS="$(STAGE2_CFLAGS)"; export CXXFLAGS; \
+ echo Configuring stage 2 in $(HOST_SUBDIR)/libcpp ; \
+ $(SHELL) $(srcdir)/mkinstalldirs $(HOST_SUBDIR)/libcpp ; \
+ cd $(HOST_SUBDIR)/libcpp || exit 1; \
+@@ -22611,9 +22883,9 @@
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ test ! -f $(HOST_SUBDIR)/libcpp/Makefile || exit 0; \
+ $(HOST_EXPORTS) \
+- $(POSTSTAGE1_HOST_EXPORTS) \
++ $(POSTSTAGE1_HOST_EXPORTS) \
+ CFLAGS="$(STAGE2_CFLAGS) -g0"; export CFLAGS; \
+- LIBCFLAGS="$(STAGE2_CFLAGS) -g0"; export LIBCFLAGS; \
++ CXXFLAGS="$(STAGE2_CFLAGS) -g0"; export CXXFLAGS; \
+ echo Configuring stage b2g0 in $(HOST_SUBDIR)/libcpp ; \
+ $(SHELL) $(srcdir)/mkinstalldirs $(HOST_SUBDIR)/libcpp ; \
+ cd $(HOST_SUBDIR)/libcpp || exit 1; \
+@@ -22642,9 +22914,9 @@
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ test ! -f $(HOST_SUBDIR)/libcpp/Makefile || exit 0; \
+ $(HOST_EXPORTS) \
+- $(POSTSTAGE1_HOST_EXPORTS) \
++ $(POSTSTAGE1_HOST_EXPORTS) \
+ CFLAGS="$(STAGE3_CFLAGS)"; export CFLAGS; \
+- LIBCFLAGS="$(STAGE3_CFLAGS)"; export LIBCFLAGS; \
++ CXXFLAGS="$(STAGE3_CFLAGS)"; export CXXFLAGS; \
+ echo Configuring stage 3 in $(HOST_SUBDIR)/libcpp ; \
+ $(SHELL) $(srcdir)/mkinstalldirs $(HOST_SUBDIR)/libcpp ; \
+ cd $(HOST_SUBDIR)/libcpp || exit 1; \
+@@ -22673,9 +22945,9 @@
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ test ! -f $(HOST_SUBDIR)/libcpp/Makefile || exit 0; \
+ $(HOST_EXPORTS) \
+- $(POSTSTAGE1_HOST_EXPORTS) \
++ $(POSTSTAGE1_HOST_EXPORTS) \
+ CFLAGS="$(STAGE3_CFLAGS) -g2"; export CFLAGS; \
+- LIBCFLAGS="$(STAGE3_CFLAGS) -g2"; export LIBCFLAGS; \
++ CXXFLAGS="$(STAGE3_CFLAGS) -g2"; export CXXFLAGS; \
+ echo Configuring stage b3g2 in $(HOST_SUBDIR)/libcpp ; \
+ $(SHELL) $(srcdir)/mkinstalldirs $(HOST_SUBDIR)/libcpp ; \
+ cd $(HOST_SUBDIR)/libcpp || exit 1; \
+@@ -22704,9 +22976,9 @@
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ test ! -f $(HOST_SUBDIR)/libcpp/Makefile || exit 0; \
+ $(HOST_EXPORTS) \
+- $(POSTSTAGE1_HOST_EXPORTS) \
++ $(POSTSTAGE1_HOST_EXPORTS) \
+ CFLAGS="$(STAGE4_CFLAGS)"; export CFLAGS; \
+- LIBCFLAGS="$(STAGE4_CFLAGS)"; export LIBCFLAGS; \
++ CXXFLAGS="$(STAGE4_CFLAGS)"; export CXXFLAGS; \
+ echo Configuring stage 4 in $(HOST_SUBDIR)/libcpp ; \
+ $(SHELL) $(srcdir)/mkinstalldirs $(HOST_SUBDIR)/libcpp ; \
+ cd $(HOST_SUBDIR)/libcpp || exit 1; \
+@@ -22735,9 +23007,9 @@
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ test ! -f $(HOST_SUBDIR)/libcpp/Makefile || exit 0; \
+ $(HOST_EXPORTS) \
+- $(POSTSTAGE1_HOST_EXPORTS) \
++ $(POSTSTAGE1_HOST_EXPORTS) \
+ CFLAGS="$(STAGE2_CFLAGS) -fprofile-generate"; export CFLAGS; \
+- LIBCFLAGS="$(STAGE2_CFLAGS) -fprofile-generate"; export LIBCFLAGS; \
++ CXXFLAGS="$(STAGE2_CFLAGS) -fprofile-generate"; export CXXFLAGS; \
+ echo Configuring stage profile in $(HOST_SUBDIR)/libcpp ; \
+ $(SHELL) $(srcdir)/mkinstalldirs $(HOST_SUBDIR)/libcpp ; \
+ cd $(HOST_SUBDIR)/libcpp || exit 1; \
+@@ -22766,9 +23038,9 @@
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ test ! -f $(HOST_SUBDIR)/libcpp/Makefile || exit 0; \
+ $(HOST_EXPORTS) \
+- $(POSTSTAGE1_HOST_EXPORTS) \
++ $(POSTSTAGE1_HOST_EXPORTS) \
+ CFLAGS="$(STAGE3_CFLAGS) -fprofile-use"; export CFLAGS; \
+- LIBCFLAGS="$(STAGE3_CFLAGS) -fprofile-use"; export LIBCFLAGS; \
++ CXXFLAGS="$(STAGE3_CFLAGS) -fprofile-use"; export CXXFLAGS; \
+ echo Configuring stage feedback in $(HOST_SUBDIR)/libcpp ; \
+ $(SHELL) $(srcdir)/mkinstalldirs $(HOST_SUBDIR)/libcpp ; \
+ cd $(HOST_SUBDIR)/libcpp || exit 1; \
+@@ -22803,7 +23075,8 @@
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ $(HOST_EXPORTS) \
+ (cd $(HOST_SUBDIR)/libcpp && \
+- $(MAKE) $(FLAGS_TO_PASS) $(TARGET-libcpp))
++ $(MAKE) $(BASE_FLAGS_TO_PASS) $(EXTRA_HOST_FLAGS) \
++ $(TARGET-libcpp))
+ @endif libcpp
+
+
+@@ -22822,8 +23095,11 @@
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ $(HOST_EXPORTS) \
+ cd $(HOST_SUBDIR)/libcpp && \
+- $(MAKE) $(FLAGS_TO_PASS) \
+- CFLAGS="$(STAGE1_CFLAGS)" LIBCFLAGS="$(STAGE1_CFLAGS)" \
++ $(MAKE) $(BASE_FLAGS_TO_PASS) \
++ CFLAGS="$(STAGE1_CFLAGS)" CXXFLAGS="$(STAGE1_CFLAGS)" \
++ LIBCFLAGS="$(STAGE1_LIBCFLAGS)" \
++ CFLAGS_FOR_TARGET="$(STAGE1_LIBCFLAGS)" \
++ CXXFLAGS_FOR_TARGET="$(STAGE1_LIBCFLAGS)" $(EXTRA_HOST_FLAGS) \
+ $(TARGET-stage1-libcpp)
+
+ maybe-clean-stage1-libcpp: clean-stage1-libcpp
+@@ -22836,7 +23112,7 @@
+ $(MAKE) stage1-start; \
+ fi; \
+ cd $(HOST_SUBDIR)/libcpp && \
+- $(MAKE) $(FLAGS_TO_PASS) \
++ $(MAKE) $(EXTRA_HOST_FLAGS) \
+ clean
+ @endif libcpp-bootstrap
+
+@@ -22856,8 +23132,11 @@
+ $(HOST_EXPORTS) \
+ $(POSTSTAGE1_HOST_EXPORTS) \
+ cd $(HOST_SUBDIR)/libcpp && \
+- $(MAKE) $(FLAGS_TO_PASS) \
+- CFLAGS="$(STAGE2_CFLAGS)" LIBCFLAGS="$(STAGE2_CFLAGS)" $(POSTSTAGE1_FLAGS_TO_PASS) \
++ $(MAKE) $(BASE_FLAGS_TO_PASS) \
++ CFLAGS="$(STAGE2_CFLAGS)" CXXFLAGS="$(STAGE2_CFLAGS)" \
++ LIBCFLAGS="$(STAGE2_LIBCFLAGS)" \
++ CFLAGS_FOR_TARGET="$(STAGE2_LIBCFLAGS)" \
++ CXXFLAGS_FOR_TARGET="$(STAGE2_LIBCFLAGS)" $(EXTRA_HOST_FLAGS) $(POSTSTAGE1_FLAGS_TO_PASS) \
+ $(TARGET-stage2-libcpp)
+
+ maybe-clean-stage2-libcpp: clean-stage2-libcpp
+@@ -22870,7 +23149,7 @@
+ $(MAKE) stage2-start; \
+ fi; \
+ cd $(HOST_SUBDIR)/libcpp && \
+- $(MAKE) $(FLAGS_TO_PASS) \
++ $(MAKE) $(EXTRA_HOST_FLAGS) \
+ $(POSTSTAGE1_FLAGS_TO_PASS) \
+ clean
+ @endif libcpp-bootstrap
+@@ -22891,8 +23170,11 @@
+ $(HOST_EXPORTS) \
+ $(POSTSTAGE1_HOST_EXPORTS) \
+ cd $(HOST_SUBDIR)/libcpp && \
+- $(MAKE) $(FLAGS_TO_PASS) \
+- CFLAGS="$(STAGE2_CFLAGS) -g0" LIBCFLAGS="$(STAGE2_CFLAGS) -g0" $(POSTSTAGE1_FLAGS_TO_PASS) \
++ $(MAKE) $(BASE_FLAGS_TO_PASS) \
++ CFLAGS="$(STAGE2_CFLAGS) -g0" CXXFLAGS="$(STAGE2_CFLAGS) -g0" \
++ LIBCFLAGS="$(STAGE2_LIBCFLAGS) -g0" \
++ CFLAGS_FOR_TARGET="$(STAGE2_LIBCFLAGS) -g0" \
++ CXXFLAGS_FOR_TARGET="$(STAGE2_LIBCFLAGS) -g0" $(EXTRA_HOST_FLAGS) $(POSTSTAGE1_FLAGS_TO_PASS) \
+ $(TARGET-stageb2g0-libcpp)
+
+ maybe-clean-stageb2g0-libcpp: clean-stageb2g0-libcpp
+@@ -22905,7 +23187,7 @@
+ $(MAKE) stageb2g0-start; \
+ fi; \
+ cd $(HOST_SUBDIR)/libcpp && \
+- $(MAKE) $(FLAGS_TO_PASS) \
++ $(MAKE) $(EXTRA_HOST_FLAGS) \
+ $(POSTSTAGE1_FLAGS_TO_PASS) \
+ clean
+ @endif libcpp-bootstrap
+@@ -22926,8 +23208,11 @@
+ $(HOST_EXPORTS) \
+ $(POSTSTAGE1_HOST_EXPORTS) \
+ cd $(HOST_SUBDIR)/libcpp && \
+- $(MAKE) $(FLAGS_TO_PASS) \
+- CFLAGS="$(STAGE3_CFLAGS)" LIBCFLAGS="$(STAGE3_CFLAGS)" $(POSTSTAGE1_FLAGS_TO_PASS) \
++ $(MAKE) $(BASE_FLAGS_TO_PASS) \
++ CFLAGS="$(STAGE3_CFLAGS)" CXXFLAGS="$(STAGE3_CFLAGS)" \
++ LIBCFLAGS="$(STAGE3_LIBCFLAGS)" \
++ CFLAGS_FOR_TARGET="$(STAGE3_LIBCFLAGS)" \
++ CXXFLAGS_FOR_TARGET="$(STAGE3_LIBCFLAGS)" $(EXTRA_HOST_FLAGS) $(POSTSTAGE1_FLAGS_TO_PASS) \
+ $(TARGET-stage3-libcpp)
+
+ maybe-clean-stage3-libcpp: clean-stage3-libcpp
+@@ -22940,7 +23225,7 @@
+ $(MAKE) stage3-start; \
+ fi; \
+ cd $(HOST_SUBDIR)/libcpp && \
+- $(MAKE) $(FLAGS_TO_PASS) \
++ $(MAKE) $(EXTRA_HOST_FLAGS) \
+ $(POSTSTAGE1_FLAGS_TO_PASS) \
+ clean
+ @endif libcpp-bootstrap
+@@ -22961,8 +23246,11 @@
+ $(HOST_EXPORTS) \
+ $(POSTSTAGE1_HOST_EXPORTS) \
+ cd $(HOST_SUBDIR)/libcpp && \
+- $(MAKE) $(FLAGS_TO_PASS) \
+- CFLAGS="$(STAGE3_CFLAGS) -g2" LIBCFLAGS="$(STAGE3_CFLAGS) -g2" $(POSTSTAGE1_FLAGS_TO_PASS) \
++ $(MAKE) $(BASE_FLAGS_TO_PASS) \
++ CFLAGS="$(STAGE3_CFLAGS) -g2" CXXFLAGS="$(STAGE3_CFLAGS) -g2" \
++ LIBCFLAGS="$(STAGE3_LIBCFLAGS) -g2" \
++ CFLAGS_FOR_TARGET="$(STAGE3_LIBCFLAGS) -g2" \
++ CXXFLAGS_FOR_TARGET="$(STAGE3_LIBCFLAGS) -g2" $(EXTRA_HOST_FLAGS) $(POSTSTAGE1_FLAGS_TO_PASS) \
+ $(TARGET-stageb3g2-libcpp)
+
+ maybe-clean-stageb3g2-libcpp: clean-stageb3g2-libcpp
+@@ -22975,7 +23263,7 @@
+ $(MAKE) stageb3g2-start; \
+ fi; \
+ cd $(HOST_SUBDIR)/libcpp && \
+- $(MAKE) $(FLAGS_TO_PASS) \
++ $(MAKE) $(EXTRA_HOST_FLAGS) \
+ $(POSTSTAGE1_FLAGS_TO_PASS) \
+ clean
+ @endif libcpp-bootstrap
+@@ -22996,8 +23284,11 @@
+ $(HOST_EXPORTS) \
+ $(POSTSTAGE1_HOST_EXPORTS) \
+ cd $(HOST_SUBDIR)/libcpp && \
+- $(MAKE) $(FLAGS_TO_PASS) \
+- CFLAGS="$(STAGE4_CFLAGS)" LIBCFLAGS="$(STAGE4_CFLAGS)" $(POSTSTAGE1_FLAGS_TO_PASS) \
++ $(MAKE) $(BASE_FLAGS_TO_PASS) \
++ CFLAGS="$(STAGE4_CFLAGS)" CXXFLAGS="$(STAGE4_CFLAGS)" \
++ LIBCFLAGS="$(STAGE4_CFLAGS)" \
++ CFLAGS_FOR_TARGET="$(STAGE4_CFLAGS)" \
++ CXXFLAGS_FOR_TARGET="$(STAGE4_CFLAGS)" $(EXTRA_HOST_FLAGS) $(POSTSTAGE1_FLAGS_TO_PASS) \
+ $(TARGET-stage4-libcpp)
+
+ maybe-clean-stage4-libcpp: clean-stage4-libcpp
+@@ -23010,7 +23301,7 @@
+ $(MAKE) stage4-start; \
+ fi; \
+ cd $(HOST_SUBDIR)/libcpp && \
+- $(MAKE) $(FLAGS_TO_PASS) \
++ $(MAKE) $(EXTRA_HOST_FLAGS) \
+ $(POSTSTAGE1_FLAGS_TO_PASS) \
+ clean
+ @endif libcpp-bootstrap
+@@ -23031,8 +23322,11 @@
+ $(HOST_EXPORTS) \
+ $(POSTSTAGE1_HOST_EXPORTS) \
+ cd $(HOST_SUBDIR)/libcpp && \
+- $(MAKE) $(FLAGS_TO_PASS) \
+- CFLAGS="$(STAGE2_CFLAGS) -fprofile-generate" LIBCFLAGS="$(STAGE2_CFLAGS) -fprofile-generate" $(POSTSTAGE1_FLAGS_TO_PASS) \
++ $(MAKE) $(BASE_FLAGS_TO_PASS) \
++ CFLAGS="$(STAGE2_CFLAGS) -fprofile-generate" CXXFLAGS="$(STAGE2_CFLAGS) -fprofile-generate" \
++ LIBCFLAGS="$(STAGE2_LIBCFLAGS) -fprofile-generate" \
++ CFLAGS_FOR_TARGET="$(STAGE2_LIBCFLAGS) -fprofile-generate" \
++ CXXFLAGS_FOR_TARGET="$(STAGE2_LIBCFLAGS) -fprofile-generate" $(EXTRA_HOST_FLAGS) $(POSTSTAGE1_FLAGS_TO_PASS) \
+ $(TARGET-stageprofile-libcpp)
+
+ maybe-clean-stageprofile-libcpp: clean-stageprofile-libcpp
+@@ -23045,7 +23339,7 @@
+ $(MAKE) stageprofile-start; \
+ fi; \
+ cd $(HOST_SUBDIR)/libcpp && \
+- $(MAKE) $(FLAGS_TO_PASS) \
++ $(MAKE) $(EXTRA_HOST_FLAGS) \
+ $(POSTSTAGE1_FLAGS_TO_PASS) \
+ clean
+ @endif libcpp-bootstrap
+@@ -23066,8 +23360,11 @@
+ $(HOST_EXPORTS) \
+ $(POSTSTAGE1_HOST_EXPORTS) \
+ cd $(HOST_SUBDIR)/libcpp && \
+- $(MAKE) $(FLAGS_TO_PASS) \
+- CFLAGS="$(STAGE3_CFLAGS) -fprofile-use" LIBCFLAGS="$(STAGE3_CFLAGS) -fprofile-use" $(POSTSTAGE1_FLAGS_TO_PASS) \
++ $(MAKE) $(BASE_FLAGS_TO_PASS) \
++ CFLAGS="$(STAGE3_CFLAGS) -fprofile-use" CXXFLAGS="$(STAGE3_CFLAGS) -fprofile-use" \
++ LIBCFLAGS="$(STAGE3_LIBCFLAGS) -fprofile-use" \
++ CFLAGS_FOR_TARGET="$(STAGE3_LIBCFLAGS) -fprofile-use" \
++ CXXFLAGS_FOR_TARGET="$(STAGE3_LIBCFLAGS) -fprofile-use" $(EXTRA_HOST_FLAGS) $(POSTSTAGE1_FLAGS_TO_PASS) \
+ $(TARGET-stagefeedback-libcpp)
+
+ maybe-clean-stagefeedback-libcpp: clean-stagefeedback-libcpp
+@@ -23080,7 +23377,7 @@
+ $(MAKE) stagefeedback-start; \
+ fi; \
+ cd $(HOST_SUBDIR)/libcpp && \
+- $(MAKE) $(FLAGS_TO_PASS) \
++ $(MAKE) $(EXTRA_HOST_FLAGS) \
+ $(POSTSTAGE1_FLAGS_TO_PASS) \
+ clean
+ @endif libcpp-bootstrap
+@@ -23487,9 +23784,9 @@
+ @r=`${PWD_COMMAND}`; export r; \
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ test ! -f $(HOST_SUBDIR)/libdecnumber/Makefile || exit 0; \
+- $(HOST_EXPORTS) \
++ $(HOST_EXPORTS) \
+ CFLAGS="$(STAGE1_CFLAGS)"; export CFLAGS; \
+- LIBCFLAGS="$(STAGE1_CFLAGS)"; export LIBCFLAGS; \
++ CXXFLAGS="$(STAGE1_CFLAGS)"; export CXXFLAGS; \
+ echo Configuring stage 1 in $(HOST_SUBDIR)/libdecnumber ; \
+ $(SHELL) $(srcdir)/mkinstalldirs $(HOST_SUBDIR)/libdecnumber ; \
+ cd $(HOST_SUBDIR)/libdecnumber || exit 1; \
+@@ -23518,9 +23815,9 @@
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ test ! -f $(HOST_SUBDIR)/libdecnumber/Makefile || exit 0; \
+ $(HOST_EXPORTS) \
+- $(POSTSTAGE1_HOST_EXPORTS) \
++ $(POSTSTAGE1_HOST_EXPORTS) \
+ CFLAGS="$(STAGE2_CFLAGS)"; export CFLAGS; \
+- LIBCFLAGS="$(STAGE2_CFLAGS)"; export LIBCFLAGS; \
++ CXXFLAGS="$(STAGE2_CFLAGS)"; export CXXFLAGS; \
+ echo Configuring stage 2 in $(HOST_SUBDIR)/libdecnumber ; \
+ $(SHELL) $(srcdir)/mkinstalldirs $(HOST_SUBDIR)/libdecnumber ; \
+ cd $(HOST_SUBDIR)/libdecnumber || exit 1; \
+@@ -23549,9 +23846,9 @@
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ test ! -f $(HOST_SUBDIR)/libdecnumber/Makefile || exit 0; \
+ $(HOST_EXPORTS) \
+- $(POSTSTAGE1_HOST_EXPORTS) \
++ $(POSTSTAGE1_HOST_EXPORTS) \
+ CFLAGS="$(STAGE2_CFLAGS) -g0"; export CFLAGS; \
+- LIBCFLAGS="$(STAGE2_CFLAGS) -g0"; export LIBCFLAGS; \
++ CXXFLAGS="$(STAGE2_CFLAGS) -g0"; export CXXFLAGS; \
+ echo Configuring stage b2g0 in $(HOST_SUBDIR)/libdecnumber ; \
+ $(SHELL) $(srcdir)/mkinstalldirs $(HOST_SUBDIR)/libdecnumber ; \
+ cd $(HOST_SUBDIR)/libdecnumber || exit 1; \
+@@ -23580,9 +23877,9 @@
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ test ! -f $(HOST_SUBDIR)/libdecnumber/Makefile || exit 0; \
+ $(HOST_EXPORTS) \
+- $(POSTSTAGE1_HOST_EXPORTS) \
++ $(POSTSTAGE1_HOST_EXPORTS) \
+ CFLAGS="$(STAGE3_CFLAGS)"; export CFLAGS; \
+- LIBCFLAGS="$(STAGE3_CFLAGS)"; export LIBCFLAGS; \
++ CXXFLAGS="$(STAGE3_CFLAGS)"; export CXXFLAGS; \
+ echo Configuring stage 3 in $(HOST_SUBDIR)/libdecnumber ; \
+ $(SHELL) $(srcdir)/mkinstalldirs $(HOST_SUBDIR)/libdecnumber ; \
+ cd $(HOST_SUBDIR)/libdecnumber || exit 1; \
+@@ -23611,9 +23908,9 @@
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ test ! -f $(HOST_SUBDIR)/libdecnumber/Makefile || exit 0; \
+ $(HOST_EXPORTS) \
+- $(POSTSTAGE1_HOST_EXPORTS) \
++ $(POSTSTAGE1_HOST_EXPORTS) \
+ CFLAGS="$(STAGE3_CFLAGS) -g2"; export CFLAGS; \
+- LIBCFLAGS="$(STAGE3_CFLAGS) -g2"; export LIBCFLAGS; \
++ CXXFLAGS="$(STAGE3_CFLAGS) -g2"; export CXXFLAGS; \
+ echo Configuring stage b3g2 in $(HOST_SUBDIR)/libdecnumber ; \
+ $(SHELL) $(srcdir)/mkinstalldirs $(HOST_SUBDIR)/libdecnumber ; \
+ cd $(HOST_SUBDIR)/libdecnumber || exit 1; \
+@@ -23642,9 +23939,9 @@
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ test ! -f $(HOST_SUBDIR)/libdecnumber/Makefile || exit 0; \
+ $(HOST_EXPORTS) \
+- $(POSTSTAGE1_HOST_EXPORTS) \
++ $(POSTSTAGE1_HOST_EXPORTS) \
+ CFLAGS="$(STAGE4_CFLAGS)"; export CFLAGS; \
+- LIBCFLAGS="$(STAGE4_CFLAGS)"; export LIBCFLAGS; \
++ CXXFLAGS="$(STAGE4_CFLAGS)"; export CXXFLAGS; \
+ echo Configuring stage 4 in $(HOST_SUBDIR)/libdecnumber ; \
+ $(SHELL) $(srcdir)/mkinstalldirs $(HOST_SUBDIR)/libdecnumber ; \
+ cd $(HOST_SUBDIR)/libdecnumber || exit 1; \
+@@ -23673,9 +23970,9 @@
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ test ! -f $(HOST_SUBDIR)/libdecnumber/Makefile || exit 0; \
+ $(HOST_EXPORTS) \
+- $(POSTSTAGE1_HOST_EXPORTS) \
++ $(POSTSTAGE1_HOST_EXPORTS) \
+ CFLAGS="$(STAGE2_CFLAGS) -fprofile-generate"; export CFLAGS; \
+- LIBCFLAGS="$(STAGE2_CFLAGS) -fprofile-generate"; export LIBCFLAGS; \
++ CXXFLAGS="$(STAGE2_CFLAGS) -fprofile-generate"; export CXXFLAGS; \
+ echo Configuring stage profile in $(HOST_SUBDIR)/libdecnumber ; \
+ $(SHELL) $(srcdir)/mkinstalldirs $(HOST_SUBDIR)/libdecnumber ; \
+ cd $(HOST_SUBDIR)/libdecnumber || exit 1; \
+@@ -23704,9 +24001,9 @@
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ test ! -f $(HOST_SUBDIR)/libdecnumber/Makefile || exit 0; \
+ $(HOST_EXPORTS) \
+- $(POSTSTAGE1_HOST_EXPORTS) \
++ $(POSTSTAGE1_HOST_EXPORTS) \
+ CFLAGS="$(STAGE3_CFLAGS) -fprofile-use"; export CFLAGS; \
+- LIBCFLAGS="$(STAGE3_CFLAGS) -fprofile-use"; export LIBCFLAGS; \
++ CXXFLAGS="$(STAGE3_CFLAGS) -fprofile-use"; export CXXFLAGS; \
+ echo Configuring stage feedback in $(HOST_SUBDIR)/libdecnumber ; \
+ $(SHELL) $(srcdir)/mkinstalldirs $(HOST_SUBDIR)/libdecnumber ; \
+ cd $(HOST_SUBDIR)/libdecnumber || exit 1; \
+@@ -23741,7 +24038,8 @@
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ $(HOST_EXPORTS) \
+ (cd $(HOST_SUBDIR)/libdecnumber && \
+- $(MAKE) $(FLAGS_TO_PASS) $(TARGET-libdecnumber))
++ $(MAKE) $(BASE_FLAGS_TO_PASS) $(EXTRA_HOST_FLAGS) \
++ $(TARGET-libdecnumber))
+ @endif libdecnumber
+
+
+@@ -23760,8 +24058,11 @@
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ $(HOST_EXPORTS) \
+ cd $(HOST_SUBDIR)/libdecnumber && \
+- $(MAKE) $(FLAGS_TO_PASS) \
+- CFLAGS="$(STAGE1_CFLAGS)" LIBCFLAGS="$(STAGE1_CFLAGS)" \
++ $(MAKE) $(BASE_FLAGS_TO_PASS) \
++ CFLAGS="$(STAGE1_CFLAGS)" CXXFLAGS="$(STAGE1_CFLAGS)" \
++ LIBCFLAGS="$(STAGE1_LIBCFLAGS)" \
++ CFLAGS_FOR_TARGET="$(STAGE1_LIBCFLAGS)" \
++ CXXFLAGS_FOR_TARGET="$(STAGE1_LIBCFLAGS)" $(EXTRA_HOST_FLAGS) \
+ $(TARGET-stage1-libdecnumber)
+
+ maybe-clean-stage1-libdecnumber: clean-stage1-libdecnumber
+@@ -23774,7 +24075,7 @@
+ $(MAKE) stage1-start; \
+ fi; \
+ cd $(HOST_SUBDIR)/libdecnumber && \
+- $(MAKE) $(FLAGS_TO_PASS) \
++ $(MAKE) $(EXTRA_HOST_FLAGS) \
+ clean
+ @endif libdecnumber-bootstrap
+
+@@ -23794,8 +24095,11 @@
+ $(HOST_EXPORTS) \
+ $(POSTSTAGE1_HOST_EXPORTS) \
+ cd $(HOST_SUBDIR)/libdecnumber && \
+- $(MAKE) $(FLAGS_TO_PASS) \
+- CFLAGS="$(STAGE2_CFLAGS)" LIBCFLAGS="$(STAGE2_CFLAGS)" $(POSTSTAGE1_FLAGS_TO_PASS) \
++ $(MAKE) $(BASE_FLAGS_TO_PASS) \
++ CFLAGS="$(STAGE2_CFLAGS)" CXXFLAGS="$(STAGE2_CFLAGS)" \
++ LIBCFLAGS="$(STAGE2_LIBCFLAGS)" \
++ CFLAGS_FOR_TARGET="$(STAGE2_LIBCFLAGS)" \
++ CXXFLAGS_FOR_TARGET="$(STAGE2_LIBCFLAGS)" $(EXTRA_HOST_FLAGS) $(POSTSTAGE1_FLAGS_TO_PASS) \
+ $(TARGET-stage2-libdecnumber)
+
+ maybe-clean-stage2-libdecnumber: clean-stage2-libdecnumber
+@@ -23808,7 +24112,7 @@
+ $(MAKE) stage2-start; \
+ fi; \
+ cd $(HOST_SUBDIR)/libdecnumber && \
+- $(MAKE) $(FLAGS_TO_PASS) \
++ $(MAKE) $(EXTRA_HOST_FLAGS) \
+ $(POSTSTAGE1_FLAGS_TO_PASS) \
+ clean
+ @endif libdecnumber-bootstrap
+@@ -23829,8 +24133,11 @@
+ $(HOST_EXPORTS) \
+ $(POSTSTAGE1_HOST_EXPORTS) \
+ cd $(HOST_SUBDIR)/libdecnumber && \
+- $(MAKE) $(FLAGS_TO_PASS) \
+- CFLAGS="$(STAGE2_CFLAGS) -g0" LIBCFLAGS="$(STAGE2_CFLAGS) -g0" $(POSTSTAGE1_FLAGS_TO_PASS) \
++ $(MAKE) $(BASE_FLAGS_TO_PASS) \
++ CFLAGS="$(STAGE2_CFLAGS) -g0" CXXFLAGS="$(STAGE2_CFLAGS) -g0" \
++ LIBCFLAGS="$(STAGE2_LIBCFLAGS) -g0" \
++ CFLAGS_FOR_TARGET="$(STAGE2_LIBCFLAGS) -g0" \
++ CXXFLAGS_FOR_TARGET="$(STAGE2_LIBCFLAGS) -g0" $(EXTRA_HOST_FLAGS) $(POSTSTAGE1_FLAGS_TO_PASS) \
+ $(TARGET-stageb2g0-libdecnumber)
+
+ maybe-clean-stageb2g0-libdecnumber: clean-stageb2g0-libdecnumber
+@@ -23843,7 +24150,7 @@
+ $(MAKE) stageb2g0-start; \
+ fi; \
+ cd $(HOST_SUBDIR)/libdecnumber && \
+- $(MAKE) $(FLAGS_TO_PASS) \
++ $(MAKE) $(EXTRA_HOST_FLAGS) \
+ $(POSTSTAGE1_FLAGS_TO_PASS) \
+ clean
+ @endif libdecnumber-bootstrap
+@@ -23864,8 +24171,11 @@
+ $(HOST_EXPORTS) \
+ $(POSTSTAGE1_HOST_EXPORTS) \
+ cd $(HOST_SUBDIR)/libdecnumber && \
+- $(MAKE) $(FLAGS_TO_PASS) \
+- CFLAGS="$(STAGE3_CFLAGS)" LIBCFLAGS="$(STAGE3_CFLAGS)" $(POSTSTAGE1_FLAGS_TO_PASS) \
++ $(MAKE) $(BASE_FLAGS_TO_PASS) \
++ CFLAGS="$(STAGE3_CFLAGS)" CXXFLAGS="$(STAGE3_CFLAGS)" \
++ LIBCFLAGS="$(STAGE3_LIBCFLAGS)" \
++ CFLAGS_FOR_TARGET="$(STAGE3_LIBCFLAGS)" \
++ CXXFLAGS_FOR_TARGET="$(STAGE3_LIBCFLAGS)" $(EXTRA_HOST_FLAGS) $(POSTSTAGE1_FLAGS_TO_PASS) \
+ $(TARGET-stage3-libdecnumber)
+
+ maybe-clean-stage3-libdecnumber: clean-stage3-libdecnumber
+@@ -23878,7 +24188,7 @@
+ $(MAKE) stage3-start; \
+ fi; \
+ cd $(HOST_SUBDIR)/libdecnumber && \
+- $(MAKE) $(FLAGS_TO_PASS) \
++ $(MAKE) $(EXTRA_HOST_FLAGS) \
+ $(POSTSTAGE1_FLAGS_TO_PASS) \
+ clean
+ @endif libdecnumber-bootstrap
+@@ -23899,8 +24209,11 @@
+ $(HOST_EXPORTS) \
+ $(POSTSTAGE1_HOST_EXPORTS) \
+ cd $(HOST_SUBDIR)/libdecnumber && \
+- $(MAKE) $(FLAGS_TO_PASS) \
+- CFLAGS="$(STAGE3_CFLAGS) -g2" LIBCFLAGS="$(STAGE3_CFLAGS) -g2" $(POSTSTAGE1_FLAGS_TO_PASS) \
++ $(MAKE) $(BASE_FLAGS_TO_PASS) \
++ CFLAGS="$(STAGE3_CFLAGS) -g2" CXXFLAGS="$(STAGE3_CFLAGS) -g2" \
++ LIBCFLAGS="$(STAGE3_LIBCFLAGS) -g2" \
++ CFLAGS_FOR_TARGET="$(STAGE3_LIBCFLAGS) -g2" \
++ CXXFLAGS_FOR_TARGET="$(STAGE3_LIBCFLAGS) -g2" $(EXTRA_HOST_FLAGS) $(POSTSTAGE1_FLAGS_TO_PASS) \
+ $(TARGET-stageb3g2-libdecnumber)
+
+ maybe-clean-stageb3g2-libdecnumber: clean-stageb3g2-libdecnumber
+@@ -23913,7 +24226,7 @@
+ $(MAKE) stageb3g2-start; \
+ fi; \
+ cd $(HOST_SUBDIR)/libdecnumber && \
+- $(MAKE) $(FLAGS_TO_PASS) \
++ $(MAKE) $(EXTRA_HOST_FLAGS) \
+ $(POSTSTAGE1_FLAGS_TO_PASS) \
+ clean
+ @endif libdecnumber-bootstrap
+@@ -23934,8 +24247,11 @@
+ $(HOST_EXPORTS) \
+ $(POSTSTAGE1_HOST_EXPORTS) \
+ cd $(HOST_SUBDIR)/libdecnumber && \
+- $(MAKE) $(FLAGS_TO_PASS) \
+- CFLAGS="$(STAGE4_CFLAGS)" LIBCFLAGS="$(STAGE4_CFLAGS)" $(POSTSTAGE1_FLAGS_TO_PASS) \
++ $(MAKE) $(BASE_FLAGS_TO_PASS) \
++ CFLAGS="$(STAGE4_CFLAGS)" CXXFLAGS="$(STAGE4_CFLAGS)" \
++ LIBCFLAGS="$(STAGE4_CFLAGS)" \
++ CFLAGS_FOR_TARGET="$(STAGE4_CFLAGS)" \
++ CXXFLAGS_FOR_TARGET="$(STAGE4_CFLAGS)" $(EXTRA_HOST_FLAGS) $(POSTSTAGE1_FLAGS_TO_PASS) \
+ $(TARGET-stage4-libdecnumber)
+
+ maybe-clean-stage4-libdecnumber: clean-stage4-libdecnumber
+@@ -23948,7 +24264,7 @@
+ $(MAKE) stage4-start; \
+ fi; \
+ cd $(HOST_SUBDIR)/libdecnumber && \
+- $(MAKE) $(FLAGS_TO_PASS) \
++ $(MAKE) $(EXTRA_HOST_FLAGS) \
+ $(POSTSTAGE1_FLAGS_TO_PASS) \
+ clean
+ @endif libdecnumber-bootstrap
+@@ -23969,8 +24285,11 @@
+ $(HOST_EXPORTS) \
+ $(POSTSTAGE1_HOST_EXPORTS) \
+ cd $(HOST_SUBDIR)/libdecnumber && \
+- $(MAKE) $(FLAGS_TO_PASS) \
+- CFLAGS="$(STAGE2_CFLAGS) -fprofile-generate" LIBCFLAGS="$(STAGE2_CFLAGS) -fprofile-generate" $(POSTSTAGE1_FLAGS_TO_PASS) \
++ $(MAKE) $(BASE_FLAGS_TO_PASS) \
++ CFLAGS="$(STAGE2_CFLAGS) -fprofile-generate" CXXFLAGS="$(STAGE2_CFLAGS) -fprofile-generate" \
++ LIBCFLAGS="$(STAGE2_LIBCFLAGS) -fprofile-generate" \
++ CFLAGS_FOR_TARGET="$(STAGE2_LIBCFLAGS) -fprofile-generate" \
++ CXXFLAGS_FOR_TARGET="$(STAGE2_LIBCFLAGS) -fprofile-generate" $(EXTRA_HOST_FLAGS) $(POSTSTAGE1_FLAGS_TO_PASS) \
+ $(TARGET-stageprofile-libdecnumber)
+
+ maybe-clean-stageprofile-libdecnumber: clean-stageprofile-libdecnumber
+@@ -23983,7 +24302,7 @@
+ $(MAKE) stageprofile-start; \
+ fi; \
+ cd $(HOST_SUBDIR)/libdecnumber && \
+- $(MAKE) $(FLAGS_TO_PASS) \
++ $(MAKE) $(EXTRA_HOST_FLAGS) \
+ $(POSTSTAGE1_FLAGS_TO_PASS) \
+ clean
+ @endif libdecnumber-bootstrap
+@@ -24004,8 +24323,11 @@
+ $(HOST_EXPORTS) \
+ $(POSTSTAGE1_HOST_EXPORTS) \
+ cd $(HOST_SUBDIR)/libdecnumber && \
+- $(MAKE) $(FLAGS_TO_PASS) \
+- CFLAGS="$(STAGE3_CFLAGS) -fprofile-use" LIBCFLAGS="$(STAGE3_CFLAGS) -fprofile-use" $(POSTSTAGE1_FLAGS_TO_PASS) \
++ $(MAKE) $(BASE_FLAGS_TO_PASS) \
++ CFLAGS="$(STAGE3_CFLAGS) -fprofile-use" CXXFLAGS="$(STAGE3_CFLAGS) -fprofile-use" \
++ LIBCFLAGS="$(STAGE3_LIBCFLAGS) -fprofile-use" \
++ CFLAGS_FOR_TARGET="$(STAGE3_LIBCFLAGS) -fprofile-use" \
++ CXXFLAGS_FOR_TARGET="$(STAGE3_LIBCFLAGS) -fprofile-use" $(EXTRA_HOST_FLAGS) $(POSTSTAGE1_FLAGS_TO_PASS) \
+ $(TARGET-stagefeedback-libdecnumber)
+
+ maybe-clean-stagefeedback-libdecnumber: clean-stagefeedback-libdecnumber
+@@ -24018,7 +24340,7 @@
+ $(MAKE) stagefeedback-start; \
+ fi; \
+ cd $(HOST_SUBDIR)/libdecnumber && \
+- $(MAKE) $(FLAGS_TO_PASS) \
++ $(MAKE) $(EXTRA_HOST_FLAGS) \
+ $(POSTSTAGE1_FLAGS_TO_PASS) \
+ clean
+ @endif libdecnumber-bootstrap
+@@ -24432,7 +24754,8 @@
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ $(HOST_EXPORTS) \
+ (cd $(HOST_SUBDIR)/libgui && \
+- $(MAKE) $(FLAGS_TO_PASS) $(TARGET-libgui))
++ $(MAKE) $(BASE_FLAGS_TO_PASS) $(EXTRA_HOST_FLAGS) \
++ $(TARGET-libgui))
+ @endif libgui
+
+
+@@ -24849,9 +25172,9 @@
+ @r=`${PWD_COMMAND}`; export r; \
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ test ! -f $(HOST_SUBDIR)/libiberty/Makefile || exit 0; \
+- $(HOST_EXPORTS) \
++ $(HOST_EXPORTS) \
+ CFLAGS="$(STAGE1_CFLAGS)"; export CFLAGS; \
+- LIBCFLAGS="$(STAGE1_CFLAGS)"; export LIBCFLAGS; \
++ CXXFLAGS="$(STAGE1_CFLAGS)"; export CXXFLAGS; \
+ echo Configuring stage 1 in $(HOST_SUBDIR)/libiberty ; \
+ $(SHELL) $(srcdir)/mkinstalldirs $(HOST_SUBDIR)/libiberty ; \
+ cd $(HOST_SUBDIR)/libiberty || exit 1; \
+@@ -24880,9 +25203,9 @@
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ test ! -f $(HOST_SUBDIR)/libiberty/Makefile || exit 0; \
+ $(HOST_EXPORTS) \
+- $(POSTSTAGE1_HOST_EXPORTS) \
++ $(POSTSTAGE1_HOST_EXPORTS) \
+ CFLAGS="$(STAGE2_CFLAGS)"; export CFLAGS; \
+- LIBCFLAGS="$(STAGE2_CFLAGS)"; export LIBCFLAGS; \
++ CXXFLAGS="$(STAGE2_CFLAGS)"; export CXXFLAGS; \
+ echo Configuring stage 2 in $(HOST_SUBDIR)/libiberty ; \
+ $(SHELL) $(srcdir)/mkinstalldirs $(HOST_SUBDIR)/libiberty ; \
+ cd $(HOST_SUBDIR)/libiberty || exit 1; \
+@@ -24911,9 +25234,9 @@
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ test ! -f $(HOST_SUBDIR)/libiberty/Makefile || exit 0; \
+ $(HOST_EXPORTS) \
+- $(POSTSTAGE1_HOST_EXPORTS) \
++ $(POSTSTAGE1_HOST_EXPORTS) \
+ CFLAGS="$(STAGE2_CFLAGS) -g0"; export CFLAGS; \
+- LIBCFLAGS="$(STAGE2_CFLAGS) -g0"; export LIBCFLAGS; \
++ CXXFLAGS="$(STAGE2_CFLAGS) -g0"; export CXXFLAGS; \
+ echo Configuring stage b2g0 in $(HOST_SUBDIR)/libiberty ; \
+ $(SHELL) $(srcdir)/mkinstalldirs $(HOST_SUBDIR)/libiberty ; \
+ cd $(HOST_SUBDIR)/libiberty || exit 1; \
+@@ -24942,9 +25265,9 @@
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ test ! -f $(HOST_SUBDIR)/libiberty/Makefile || exit 0; \
+ $(HOST_EXPORTS) \
+- $(POSTSTAGE1_HOST_EXPORTS) \
++ $(POSTSTAGE1_HOST_EXPORTS) \
+ CFLAGS="$(STAGE3_CFLAGS)"; export CFLAGS; \
+- LIBCFLAGS="$(STAGE3_CFLAGS)"; export LIBCFLAGS; \
++ CXXFLAGS="$(STAGE3_CFLAGS)"; export CXXFLAGS; \
+ echo Configuring stage 3 in $(HOST_SUBDIR)/libiberty ; \
+ $(SHELL) $(srcdir)/mkinstalldirs $(HOST_SUBDIR)/libiberty ; \
+ cd $(HOST_SUBDIR)/libiberty || exit 1; \
+@@ -24973,9 +25296,9 @@
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ test ! -f $(HOST_SUBDIR)/libiberty/Makefile || exit 0; \
+ $(HOST_EXPORTS) \
+- $(POSTSTAGE1_HOST_EXPORTS) \
++ $(POSTSTAGE1_HOST_EXPORTS) \
+ CFLAGS="$(STAGE3_CFLAGS) -g2"; export CFLAGS; \
+- LIBCFLAGS="$(STAGE3_CFLAGS) -g2"; export LIBCFLAGS; \
++ CXXFLAGS="$(STAGE3_CFLAGS) -g2"; export CXXFLAGS; \
+ echo Configuring stage b3g2 in $(HOST_SUBDIR)/libiberty ; \
+ $(SHELL) $(srcdir)/mkinstalldirs $(HOST_SUBDIR)/libiberty ; \
+ cd $(HOST_SUBDIR)/libiberty || exit 1; \
+@@ -25004,9 +25327,9 @@
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ test ! -f $(HOST_SUBDIR)/libiberty/Makefile || exit 0; \
+ $(HOST_EXPORTS) \
+- $(POSTSTAGE1_HOST_EXPORTS) \
++ $(POSTSTAGE1_HOST_EXPORTS) \
+ CFLAGS="$(STAGE4_CFLAGS)"; export CFLAGS; \
+- LIBCFLAGS="$(STAGE4_CFLAGS)"; export LIBCFLAGS; \
++ CXXFLAGS="$(STAGE4_CFLAGS)"; export CXXFLAGS; \
+ echo Configuring stage 4 in $(HOST_SUBDIR)/libiberty ; \
+ $(SHELL) $(srcdir)/mkinstalldirs $(HOST_SUBDIR)/libiberty ; \
+ cd $(HOST_SUBDIR)/libiberty || exit 1; \
+@@ -25035,9 +25358,9 @@
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ test ! -f $(HOST_SUBDIR)/libiberty/Makefile || exit 0; \
+ $(HOST_EXPORTS) \
+- $(POSTSTAGE1_HOST_EXPORTS) \
++ $(POSTSTAGE1_HOST_EXPORTS) \
+ CFLAGS="$(STAGE2_CFLAGS) -fprofile-generate"; export CFLAGS; \
+- LIBCFLAGS="$(STAGE2_CFLAGS) -fprofile-generate"; export LIBCFLAGS; \
++ CXXFLAGS="$(STAGE2_CFLAGS) -fprofile-generate"; export CXXFLAGS; \
+ echo Configuring stage profile in $(HOST_SUBDIR)/libiberty ; \
+ $(SHELL) $(srcdir)/mkinstalldirs $(HOST_SUBDIR)/libiberty ; \
+ cd $(HOST_SUBDIR)/libiberty || exit 1; \
+@@ -25066,9 +25389,9 @@
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ test ! -f $(HOST_SUBDIR)/libiberty/Makefile || exit 0; \
+ $(HOST_EXPORTS) \
+- $(POSTSTAGE1_HOST_EXPORTS) \
++ $(POSTSTAGE1_HOST_EXPORTS) \
+ CFLAGS="$(STAGE3_CFLAGS) -fprofile-use"; export CFLAGS; \
+- LIBCFLAGS="$(STAGE3_CFLAGS) -fprofile-use"; export LIBCFLAGS; \
++ CXXFLAGS="$(STAGE3_CFLAGS) -fprofile-use"; export CXXFLAGS; \
+ echo Configuring stage feedback in $(HOST_SUBDIR)/libiberty ; \
+ $(SHELL) $(srcdir)/mkinstalldirs $(HOST_SUBDIR)/libiberty ; \
+ cd $(HOST_SUBDIR)/libiberty || exit 1; \
+@@ -25103,7 +25426,8 @@
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ $(HOST_EXPORTS) \
+ (cd $(HOST_SUBDIR)/libiberty && \
+- $(MAKE) $(FLAGS_TO_PASS) $(TARGET-libiberty))
++ $(MAKE) $(BASE_FLAGS_TO_PASS) $(EXTRA_HOST_FLAGS) \
++ $(TARGET-libiberty))
+ @endif libiberty
+
+
+@@ -25122,8 +25446,11 @@
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ $(HOST_EXPORTS) \
+ cd $(HOST_SUBDIR)/libiberty && \
+- $(MAKE) $(FLAGS_TO_PASS) \
+- CFLAGS="$(STAGE1_CFLAGS)" LIBCFLAGS="$(STAGE1_CFLAGS)" \
++ $(MAKE) $(BASE_FLAGS_TO_PASS) \
++ CFLAGS="$(STAGE1_CFLAGS)" CXXFLAGS="$(STAGE1_CFLAGS)" \
++ LIBCFLAGS="$(STAGE1_LIBCFLAGS)" \
++ CFLAGS_FOR_TARGET="$(STAGE1_LIBCFLAGS)" \
++ CXXFLAGS_FOR_TARGET="$(STAGE1_LIBCFLAGS)" $(EXTRA_HOST_FLAGS) \
+ $(TARGET-stage1-libiberty)
+
+ maybe-clean-stage1-libiberty: clean-stage1-libiberty
+@@ -25136,7 +25463,7 @@
+ $(MAKE) stage1-start; \
+ fi; \
+ cd $(HOST_SUBDIR)/libiberty && \
+- $(MAKE) $(FLAGS_TO_PASS) \
++ $(MAKE) $(EXTRA_HOST_FLAGS) \
+ clean
+ @endif libiberty-bootstrap
+
+@@ -25156,8 +25483,11 @@
+ $(HOST_EXPORTS) \
+ $(POSTSTAGE1_HOST_EXPORTS) \
+ cd $(HOST_SUBDIR)/libiberty && \
+- $(MAKE) $(FLAGS_TO_PASS) \
+- CFLAGS="$(STAGE2_CFLAGS)" LIBCFLAGS="$(STAGE2_CFLAGS)" $(POSTSTAGE1_FLAGS_TO_PASS) \
++ $(MAKE) $(BASE_FLAGS_TO_PASS) \
++ CFLAGS="$(STAGE2_CFLAGS)" CXXFLAGS="$(STAGE2_CFLAGS)" \
++ LIBCFLAGS="$(STAGE2_LIBCFLAGS)" \
++ CFLAGS_FOR_TARGET="$(STAGE2_LIBCFLAGS)" \
++ CXXFLAGS_FOR_TARGET="$(STAGE2_LIBCFLAGS)" $(EXTRA_HOST_FLAGS) $(POSTSTAGE1_FLAGS_TO_PASS) \
+ $(TARGET-stage2-libiberty)
+
+ maybe-clean-stage2-libiberty: clean-stage2-libiberty
+@@ -25170,7 +25500,7 @@
+ $(MAKE) stage2-start; \
+ fi; \
+ cd $(HOST_SUBDIR)/libiberty && \
+- $(MAKE) $(FLAGS_TO_PASS) \
++ $(MAKE) $(EXTRA_HOST_FLAGS) \
+ $(POSTSTAGE1_FLAGS_TO_PASS) \
+ clean
+ @endif libiberty-bootstrap
+@@ -25191,8 +25521,11 @@
+ $(HOST_EXPORTS) \
+ $(POSTSTAGE1_HOST_EXPORTS) \
+ cd $(HOST_SUBDIR)/libiberty && \
+- $(MAKE) $(FLAGS_TO_PASS) \
+- CFLAGS="$(STAGE2_CFLAGS) -g0" LIBCFLAGS="$(STAGE2_CFLAGS) -g0" $(POSTSTAGE1_FLAGS_TO_PASS) \
++ $(MAKE) $(BASE_FLAGS_TO_PASS) \
++ CFLAGS="$(STAGE2_CFLAGS) -g0" CXXFLAGS="$(STAGE2_CFLAGS) -g0" \
++ LIBCFLAGS="$(STAGE2_LIBCFLAGS) -g0" \
++ CFLAGS_FOR_TARGET="$(STAGE2_LIBCFLAGS) -g0" \
++ CXXFLAGS_FOR_TARGET="$(STAGE2_LIBCFLAGS) -g0" $(EXTRA_HOST_FLAGS) $(POSTSTAGE1_FLAGS_TO_PASS) \
+ $(TARGET-stageb2g0-libiberty)
+
+ maybe-clean-stageb2g0-libiberty: clean-stageb2g0-libiberty
+@@ -25205,7 +25538,7 @@
+ $(MAKE) stageb2g0-start; \
+ fi; \
+ cd $(HOST_SUBDIR)/libiberty && \
+- $(MAKE) $(FLAGS_TO_PASS) \
++ $(MAKE) $(EXTRA_HOST_FLAGS) \
+ $(POSTSTAGE1_FLAGS_TO_PASS) \
+ clean
+ @endif libiberty-bootstrap
+@@ -25226,8 +25559,11 @@
+ $(HOST_EXPORTS) \
+ $(POSTSTAGE1_HOST_EXPORTS) \
+ cd $(HOST_SUBDIR)/libiberty && \
+- $(MAKE) $(FLAGS_TO_PASS) \
+- CFLAGS="$(STAGE3_CFLAGS)" LIBCFLAGS="$(STAGE3_CFLAGS)" $(POSTSTAGE1_FLAGS_TO_PASS) \
++ $(MAKE) $(BASE_FLAGS_TO_PASS) \
++ CFLAGS="$(STAGE3_CFLAGS)" CXXFLAGS="$(STAGE3_CFLAGS)" \
++ LIBCFLAGS="$(STAGE3_LIBCFLAGS)" \
++ CFLAGS_FOR_TARGET="$(STAGE3_LIBCFLAGS)" \
++ CXXFLAGS_FOR_TARGET="$(STAGE3_LIBCFLAGS)" $(EXTRA_HOST_FLAGS) $(POSTSTAGE1_FLAGS_TO_PASS) \
+ $(TARGET-stage3-libiberty)
+
+ maybe-clean-stage3-libiberty: clean-stage3-libiberty
+@@ -25240,7 +25576,7 @@
+ $(MAKE) stage3-start; \
+ fi; \
+ cd $(HOST_SUBDIR)/libiberty && \
+- $(MAKE) $(FLAGS_TO_PASS) \
++ $(MAKE) $(EXTRA_HOST_FLAGS) \
+ $(POSTSTAGE1_FLAGS_TO_PASS) \
+ clean
+ @endif libiberty-bootstrap
+@@ -25261,8 +25597,11 @@
+ $(HOST_EXPORTS) \
+ $(POSTSTAGE1_HOST_EXPORTS) \
+ cd $(HOST_SUBDIR)/libiberty && \
+- $(MAKE) $(FLAGS_TO_PASS) \
+- CFLAGS="$(STAGE3_CFLAGS) -g2" LIBCFLAGS="$(STAGE3_CFLAGS) -g2" $(POSTSTAGE1_FLAGS_TO_PASS) \
++ $(MAKE) $(BASE_FLAGS_TO_PASS) \
++ CFLAGS="$(STAGE3_CFLAGS) -g2" CXXFLAGS="$(STAGE3_CFLAGS) -g2" \
++ LIBCFLAGS="$(STAGE3_LIBCFLAGS) -g2" \
++ CFLAGS_FOR_TARGET="$(STAGE3_LIBCFLAGS) -g2" \
++ CXXFLAGS_FOR_TARGET="$(STAGE3_LIBCFLAGS) -g2" $(EXTRA_HOST_FLAGS) $(POSTSTAGE1_FLAGS_TO_PASS) \
+ $(TARGET-stageb3g2-libiberty)
+
+ maybe-clean-stageb3g2-libiberty: clean-stageb3g2-libiberty
+@@ -25275,7 +25614,7 @@
+ $(MAKE) stageb3g2-start; \
+ fi; \
+ cd $(HOST_SUBDIR)/libiberty && \
+- $(MAKE) $(FLAGS_TO_PASS) \
++ $(MAKE) $(EXTRA_HOST_FLAGS) \
+ $(POSTSTAGE1_FLAGS_TO_PASS) \
+ clean
+ @endif libiberty-bootstrap
+@@ -25296,8 +25635,11 @@
+ $(HOST_EXPORTS) \
+ $(POSTSTAGE1_HOST_EXPORTS) \
+ cd $(HOST_SUBDIR)/libiberty && \
+- $(MAKE) $(FLAGS_TO_PASS) \
+- CFLAGS="$(STAGE4_CFLAGS)" LIBCFLAGS="$(STAGE4_CFLAGS)" $(POSTSTAGE1_FLAGS_TO_PASS) \
++ $(MAKE) $(BASE_FLAGS_TO_PASS) \
++ CFLAGS="$(STAGE4_CFLAGS)" CXXFLAGS="$(STAGE4_CFLAGS)" \
++ LIBCFLAGS="$(STAGE4_CFLAGS)" \
++ CFLAGS_FOR_TARGET="$(STAGE4_CFLAGS)" \
++ CXXFLAGS_FOR_TARGET="$(STAGE4_CFLAGS)" $(EXTRA_HOST_FLAGS) $(POSTSTAGE1_FLAGS_TO_PASS) \
+ $(TARGET-stage4-libiberty)
+
+ maybe-clean-stage4-libiberty: clean-stage4-libiberty
+@@ -25310,7 +25652,7 @@
+ $(MAKE) stage4-start; \
+ fi; \
+ cd $(HOST_SUBDIR)/libiberty && \
+- $(MAKE) $(FLAGS_TO_PASS) \
++ $(MAKE) $(EXTRA_HOST_FLAGS) \
+ $(POSTSTAGE1_FLAGS_TO_PASS) \
+ clean
+ @endif libiberty-bootstrap
+@@ -25331,8 +25673,11 @@
+ $(HOST_EXPORTS) \
+ $(POSTSTAGE1_HOST_EXPORTS) \
+ cd $(HOST_SUBDIR)/libiberty && \
+- $(MAKE) $(FLAGS_TO_PASS) \
+- CFLAGS="$(STAGE2_CFLAGS) -fprofile-generate" LIBCFLAGS="$(STAGE2_CFLAGS) -fprofile-generate" $(POSTSTAGE1_FLAGS_TO_PASS) \
++ $(MAKE) $(BASE_FLAGS_TO_PASS) \
++ CFLAGS="$(STAGE2_CFLAGS) -fprofile-generate" CXXFLAGS="$(STAGE2_CFLAGS) -fprofile-generate" \
++ LIBCFLAGS="$(STAGE2_LIBCFLAGS) -fprofile-generate" \
++ CFLAGS_FOR_TARGET="$(STAGE2_LIBCFLAGS) -fprofile-generate" \
++ CXXFLAGS_FOR_TARGET="$(STAGE2_LIBCFLAGS) -fprofile-generate" $(EXTRA_HOST_FLAGS) $(POSTSTAGE1_FLAGS_TO_PASS) \
+ $(TARGET-stageprofile-libiberty)
+
+ maybe-clean-stageprofile-libiberty: clean-stageprofile-libiberty
+@@ -25345,7 +25690,7 @@
+ $(MAKE) stageprofile-start; \
+ fi; \
+ cd $(HOST_SUBDIR)/libiberty && \
+- $(MAKE) $(FLAGS_TO_PASS) \
++ $(MAKE) $(EXTRA_HOST_FLAGS) \
+ $(POSTSTAGE1_FLAGS_TO_PASS) \
+ clean
+ @endif libiberty-bootstrap
+@@ -25366,8 +25711,11 @@
+ $(HOST_EXPORTS) \
+ $(POSTSTAGE1_HOST_EXPORTS) \
+ cd $(HOST_SUBDIR)/libiberty && \
+- $(MAKE) $(FLAGS_TO_PASS) \
+- CFLAGS="$(STAGE3_CFLAGS) -fprofile-use" LIBCFLAGS="$(STAGE3_CFLAGS) -fprofile-use" $(POSTSTAGE1_FLAGS_TO_PASS) \
++ $(MAKE) $(BASE_FLAGS_TO_PASS) \
++ CFLAGS="$(STAGE3_CFLAGS) -fprofile-use" CXXFLAGS="$(STAGE3_CFLAGS) -fprofile-use" \
++ LIBCFLAGS="$(STAGE3_LIBCFLAGS) -fprofile-use" \
++ CFLAGS_FOR_TARGET="$(STAGE3_LIBCFLAGS) -fprofile-use" \
++ CXXFLAGS_FOR_TARGET="$(STAGE3_LIBCFLAGS) -fprofile-use" $(EXTRA_HOST_FLAGS) $(POSTSTAGE1_FLAGS_TO_PASS) \
+ $(TARGET-stagefeedback-libiberty)
+
+ maybe-clean-stagefeedback-libiberty: clean-stagefeedback-libiberty
+@@ -25380,7 +25728,7 @@
+ $(MAKE) stagefeedback-start; \
+ fi; \
+ cd $(HOST_SUBDIR)/libiberty && \
+- $(MAKE) $(FLAGS_TO_PASS) \
++ $(MAKE) $(EXTRA_HOST_FLAGS) \
+ $(POSTSTAGE1_FLAGS_TO_PASS) \
+ clean
+ @endif libiberty-bootstrap
+@@ -25794,7 +26142,8 @@
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ $(HOST_EXPORTS) \
+ (cd $(HOST_SUBDIR)/libtool && \
+- $(MAKE) $(FLAGS_TO_PASS) $(TARGET-libtool))
++ $(MAKE) $(BASE_FLAGS_TO_PASS) $(EXTRA_HOST_FLAGS) \
++ $(TARGET-libtool))
+ @endif libtool
+
+
+@@ -26218,7 +26567,8 @@
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ $(HOST_EXPORTS) \
+ (cd $(HOST_SUBDIR)/m4 && \
+- $(MAKE) $(FLAGS_TO_PASS) $(TARGET-m4))
++ $(MAKE) $(BASE_FLAGS_TO_PASS) $(EXTRA_HOST_FLAGS) \
++ $(TARGET-m4))
+ @endif m4
+
+
+@@ -26642,7 +26992,8 @@
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ $(HOST_EXPORTS) \
+ (cd $(HOST_SUBDIR)/make && \
+- $(MAKE) $(FLAGS_TO_PASS) $(TARGET-make))
++ $(MAKE) $(BASE_FLAGS_TO_PASS) $(EXTRA_HOST_FLAGS) \
++ $(TARGET-make))
+ @endif make
+
+
+@@ -27066,7 +27417,8 @@
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ $(HOST_EXPORTS) \
+ (cd $(HOST_SUBDIR)/mmalloc && \
+- $(MAKE) $(FLAGS_TO_PASS) $(TARGET-mmalloc))
++ $(MAKE) $(BASE_FLAGS_TO_PASS) $(EXTRA_HOST_FLAGS) \
++ $(TARGET-mmalloc))
+ @endif mmalloc
+
+
+@@ -27484,7 +27836,8 @@
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ $(HOST_EXPORTS) \
+ (cd $(HOST_SUBDIR)/patch && \
+- $(MAKE) $(FLAGS_TO_PASS) $(TARGET-patch))
++ $(MAKE) $(BASE_FLAGS_TO_PASS) $(EXTRA_HOST_FLAGS) \
++ $(TARGET-patch))
+ @endif patch
+
+
+@@ -27908,7 +28261,8 @@
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ $(HOST_EXPORTS) \
+ (cd $(HOST_SUBDIR)/perl && \
+- $(MAKE) $(FLAGS_TO_PASS) $(TARGET-perl))
++ $(MAKE) $(BASE_FLAGS_TO_PASS) $(EXTRA_HOST_FLAGS) \
++ $(TARGET-perl))
+ @endif perl
+
+
+@@ -28332,7 +28686,8 @@
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ $(HOST_EXPORTS) \
+ (cd $(HOST_SUBDIR)/prms && \
+- $(MAKE) $(FLAGS_TO_PASS) $(TARGET-prms))
++ $(MAKE) $(BASE_FLAGS_TO_PASS) $(EXTRA_HOST_FLAGS) \
++ $(TARGET-prms))
+ @endif prms
+
+
+@@ -28756,7 +29111,8 @@
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ $(HOST_EXPORTS) \
+ (cd $(HOST_SUBDIR)/rcs && \
+- $(MAKE) $(FLAGS_TO_PASS) $(TARGET-rcs))
++ $(MAKE) $(BASE_FLAGS_TO_PASS) $(EXTRA_HOST_FLAGS) \
++ $(TARGET-rcs))
+ @endif rcs
+
+
+@@ -29180,7 +29536,8 @@
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ $(HOST_EXPORTS) \
+ (cd $(HOST_SUBDIR)/readline && \
+- $(MAKE) $(FLAGS_TO_PASS) $(TARGET-readline))
++ $(MAKE) $(BASE_FLAGS_TO_PASS) $(EXTRA_HOST_FLAGS) \
++ $(TARGET-readline))
+ @endif readline
+
+
+@@ -29604,7 +29961,8 @@
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ $(HOST_EXPORTS) \
+ (cd $(HOST_SUBDIR)/release && \
+- $(MAKE) $(FLAGS_TO_PASS) $(TARGET-release))
++ $(MAKE) $(BASE_FLAGS_TO_PASS) $(EXTRA_HOST_FLAGS) \
++ $(TARGET-release))
+ @endif release
+
+
+@@ -30016,7 +30374,8 @@
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ $(HOST_EXPORTS) \
+ (cd $(HOST_SUBDIR)/recode && \
+- $(MAKE) $(FLAGS_TO_PASS) $(TARGET-recode))
++ $(MAKE) $(BASE_FLAGS_TO_PASS) $(EXTRA_HOST_FLAGS) \
++ $(TARGET-recode))
+ @endif recode
+
+
+@@ -30440,7 +30799,8 @@
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ $(HOST_EXPORTS) \
+ (cd $(HOST_SUBDIR)/sed && \
+- $(MAKE) $(FLAGS_TO_PASS) $(TARGET-sed))
++ $(MAKE) $(BASE_FLAGS_TO_PASS) $(EXTRA_HOST_FLAGS) \
++ $(TARGET-sed))
+ @endif sed
+
+
+@@ -30864,7 +31224,8 @@
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ $(HOST_EXPORTS) \
+ (cd $(HOST_SUBDIR)/send-pr && \
+- $(MAKE) $(FLAGS_TO_PASS) $(TARGET-send-pr))
++ $(MAKE) $(BASE_FLAGS_TO_PASS) $(EXTRA_HOST_FLAGS) \
++ $(TARGET-send-pr))
+ @endif send-pr
+
+
+@@ -31288,7 +31649,8 @@
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ $(HOST_EXPORTS) \
+ (cd $(HOST_SUBDIR)/shellutils && \
+- $(MAKE) $(FLAGS_TO_PASS) $(TARGET-shellutils))
++ $(MAKE) $(BASE_FLAGS_TO_PASS) $(EXTRA_HOST_FLAGS) \
++ $(TARGET-shellutils))
+ @endif shellutils
+
+
+@@ -31712,7 +32074,8 @@
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ $(HOST_EXPORTS) \
+ (cd $(HOST_SUBDIR)/sid && \
+- $(MAKE) $(FLAGS_TO_PASS) $(TARGET-sid))
++ $(MAKE) $(BASE_FLAGS_TO_PASS) $(EXTRA_HOST_FLAGS) \
++ $(TARGET-sid))
+ @endif sid
+
+
+@@ -32136,7 +32499,8 @@
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ $(HOST_EXPORTS) \
+ (cd $(HOST_SUBDIR)/sim && \
+- $(MAKE) $(FLAGS_TO_PASS) $(TARGET-sim))
++ $(MAKE) $(BASE_FLAGS_TO_PASS) $(EXTRA_HOST_FLAGS) \
++ $(TARGET-sim))
+ @endif sim
+
+
+@@ -32560,7 +32924,8 @@
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ $(HOST_EXPORTS) \
+ (cd $(HOST_SUBDIR)/tar && \
+- $(MAKE) $(FLAGS_TO_PASS) $(TARGET-tar))
++ $(MAKE) $(BASE_FLAGS_TO_PASS) $(EXTRA_HOST_FLAGS) \
++ $(TARGET-tar))
+ @endif tar
+
+
+@@ -32984,7 +33349,8 @@
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ $(HOST_EXPORTS) \
+ (cd $(HOST_SUBDIR)/texinfo && \
+- $(MAKE) $(FLAGS_TO_PASS) $(TARGET-texinfo))
++ $(MAKE) $(BASE_FLAGS_TO_PASS) $(EXTRA_HOST_FLAGS) \
++ $(TARGET-texinfo))
+ @endif texinfo
+
+
+@@ -33402,7 +33768,8 @@
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ $(HOST_EXPORTS) \
+ (cd $(HOST_SUBDIR)/textutils && \
+- $(MAKE) $(FLAGS_TO_PASS) $(TARGET-textutils))
++ $(MAKE) $(BASE_FLAGS_TO_PASS) $(EXTRA_HOST_FLAGS) \
++ $(TARGET-textutils))
+ @endif textutils
+
+
+@@ -33826,7 +34193,8 @@
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ $(HOST_EXPORTS) \
+ (cd $(HOST_SUBDIR)/time && \
+- $(MAKE) $(FLAGS_TO_PASS) $(TARGET-time))
++ $(MAKE) $(BASE_FLAGS_TO_PASS) $(EXTRA_HOST_FLAGS) \
++ $(TARGET-time))
+ @endif time
+
+
+@@ -34250,7 +34618,8 @@
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ $(HOST_EXPORTS) \
+ (cd $(HOST_SUBDIR)/uudecode && \
+- $(MAKE) $(FLAGS_TO_PASS) $(TARGET-uudecode))
++ $(MAKE) $(BASE_FLAGS_TO_PASS) $(EXTRA_HOST_FLAGS) \
++ $(TARGET-uudecode))
+ @endif uudecode
+
+
+@@ -34674,7 +35043,8 @@
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ $(HOST_EXPORTS) \
+ (cd $(HOST_SUBDIR)/wdiff && \
+- $(MAKE) $(FLAGS_TO_PASS) $(TARGET-wdiff))
++ $(MAKE) $(BASE_FLAGS_TO_PASS) $(EXTRA_HOST_FLAGS) \
++ $(TARGET-wdiff))
+ @endif wdiff
+
+
+@@ -35098,7 +35468,8 @@
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ $(HOST_EXPORTS) \
+ (cd $(HOST_SUBDIR)/zip && \
+- $(MAKE) $(FLAGS_TO_PASS) $(TARGET-zip))
++ $(MAKE) $(BASE_FLAGS_TO_PASS) $(EXTRA_HOST_FLAGS) \
++ $(TARGET-zip))
+ @endif zip
+
+
+@@ -35518,9 +35889,9 @@
+ @r=`${PWD_COMMAND}`; export r; \
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ test ! -f $(HOST_SUBDIR)/zlib/Makefile || exit 0; \
+- $(HOST_EXPORTS) \
++ $(HOST_EXPORTS) \
+ CFLAGS="$(STAGE1_CFLAGS)"; export CFLAGS; \
+- LIBCFLAGS="$(STAGE1_CFLAGS)"; export LIBCFLAGS; \
++ CXXFLAGS="$(STAGE1_CFLAGS)"; export CXXFLAGS; \
+ echo Configuring stage 1 in $(HOST_SUBDIR)/zlib ; \
+ $(SHELL) $(srcdir)/mkinstalldirs $(HOST_SUBDIR)/zlib ; \
+ cd $(HOST_SUBDIR)/zlib || exit 1; \
+@@ -35549,9 +35920,9 @@
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ test ! -f $(HOST_SUBDIR)/zlib/Makefile || exit 0; \
+ $(HOST_EXPORTS) \
+- $(POSTSTAGE1_HOST_EXPORTS) \
++ $(POSTSTAGE1_HOST_EXPORTS) \
+ CFLAGS="$(STAGE2_CFLAGS)"; export CFLAGS; \
+- LIBCFLAGS="$(STAGE2_CFLAGS)"; export LIBCFLAGS; \
++ CXXFLAGS="$(STAGE2_CFLAGS)"; export CXXFLAGS; \
+ echo Configuring stage 2 in $(HOST_SUBDIR)/zlib ; \
+ $(SHELL) $(srcdir)/mkinstalldirs $(HOST_SUBDIR)/zlib ; \
+ cd $(HOST_SUBDIR)/zlib || exit 1; \
+@@ -35580,9 +35951,9 @@
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ test ! -f $(HOST_SUBDIR)/zlib/Makefile || exit 0; \
+ $(HOST_EXPORTS) \
+- $(POSTSTAGE1_HOST_EXPORTS) \
++ $(POSTSTAGE1_HOST_EXPORTS) \
+ CFLAGS="$(STAGE2_CFLAGS) -g0"; export CFLAGS; \
+- LIBCFLAGS="$(STAGE2_CFLAGS) -g0"; export LIBCFLAGS; \
++ CXXFLAGS="$(STAGE2_CFLAGS) -g0"; export CXXFLAGS; \
+ echo Configuring stage b2g0 in $(HOST_SUBDIR)/zlib ; \
+ $(SHELL) $(srcdir)/mkinstalldirs $(HOST_SUBDIR)/zlib ; \
+ cd $(HOST_SUBDIR)/zlib || exit 1; \
+@@ -35611,9 +35982,9 @@
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ test ! -f $(HOST_SUBDIR)/zlib/Makefile || exit 0; \
+ $(HOST_EXPORTS) \
+- $(POSTSTAGE1_HOST_EXPORTS) \
++ $(POSTSTAGE1_HOST_EXPORTS) \
+ CFLAGS="$(STAGE3_CFLAGS)"; export CFLAGS; \
+- LIBCFLAGS="$(STAGE3_CFLAGS)"; export LIBCFLAGS; \
++ CXXFLAGS="$(STAGE3_CFLAGS)"; export CXXFLAGS; \
+ echo Configuring stage 3 in $(HOST_SUBDIR)/zlib ; \
+ $(SHELL) $(srcdir)/mkinstalldirs $(HOST_SUBDIR)/zlib ; \
+ cd $(HOST_SUBDIR)/zlib || exit 1; \
+@@ -35642,9 +36013,9 @@
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ test ! -f $(HOST_SUBDIR)/zlib/Makefile || exit 0; \
+ $(HOST_EXPORTS) \
+- $(POSTSTAGE1_HOST_EXPORTS) \
++ $(POSTSTAGE1_HOST_EXPORTS) \
+ CFLAGS="$(STAGE3_CFLAGS) -g2"; export CFLAGS; \
+- LIBCFLAGS="$(STAGE3_CFLAGS) -g2"; export LIBCFLAGS; \
++ CXXFLAGS="$(STAGE3_CFLAGS) -g2"; export CXXFLAGS; \
+ echo Configuring stage b3g2 in $(HOST_SUBDIR)/zlib ; \
+ $(SHELL) $(srcdir)/mkinstalldirs $(HOST_SUBDIR)/zlib ; \
+ cd $(HOST_SUBDIR)/zlib || exit 1; \
+@@ -35673,9 +36044,9 @@
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ test ! -f $(HOST_SUBDIR)/zlib/Makefile || exit 0; \
+ $(HOST_EXPORTS) \
+- $(POSTSTAGE1_HOST_EXPORTS) \
++ $(POSTSTAGE1_HOST_EXPORTS) \
+ CFLAGS="$(STAGE4_CFLAGS)"; export CFLAGS; \
+- LIBCFLAGS="$(STAGE4_CFLAGS)"; export LIBCFLAGS; \
++ CXXFLAGS="$(STAGE4_CFLAGS)"; export CXXFLAGS; \
+ echo Configuring stage 4 in $(HOST_SUBDIR)/zlib ; \
+ $(SHELL) $(srcdir)/mkinstalldirs $(HOST_SUBDIR)/zlib ; \
+ cd $(HOST_SUBDIR)/zlib || exit 1; \
+@@ -35704,9 +36075,9 @@
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ test ! -f $(HOST_SUBDIR)/zlib/Makefile || exit 0; \
+ $(HOST_EXPORTS) \
+- $(POSTSTAGE1_HOST_EXPORTS) \
++ $(POSTSTAGE1_HOST_EXPORTS) \
+ CFLAGS="$(STAGE2_CFLAGS) -fprofile-generate"; export CFLAGS; \
+- LIBCFLAGS="$(STAGE2_CFLAGS) -fprofile-generate"; export LIBCFLAGS; \
++ CXXFLAGS="$(STAGE2_CFLAGS) -fprofile-generate"; export CXXFLAGS; \
+ echo Configuring stage profile in $(HOST_SUBDIR)/zlib ; \
+ $(SHELL) $(srcdir)/mkinstalldirs $(HOST_SUBDIR)/zlib ; \
+ cd $(HOST_SUBDIR)/zlib || exit 1; \
+@@ -35735,9 +36106,9 @@
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ test ! -f $(HOST_SUBDIR)/zlib/Makefile || exit 0; \
+ $(HOST_EXPORTS) \
+- $(POSTSTAGE1_HOST_EXPORTS) \
++ $(POSTSTAGE1_HOST_EXPORTS) \
+ CFLAGS="$(STAGE3_CFLAGS) -fprofile-use"; export CFLAGS; \
+- LIBCFLAGS="$(STAGE3_CFLAGS) -fprofile-use"; export LIBCFLAGS; \
++ CXXFLAGS="$(STAGE3_CFLAGS) -fprofile-use"; export CXXFLAGS; \
+ echo Configuring stage feedback in $(HOST_SUBDIR)/zlib ; \
+ $(SHELL) $(srcdir)/mkinstalldirs $(HOST_SUBDIR)/zlib ; \
+ cd $(HOST_SUBDIR)/zlib || exit 1; \
+@@ -35772,7 +36143,8 @@
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ $(HOST_EXPORTS) \
+ (cd $(HOST_SUBDIR)/zlib && \
+- $(MAKE) $(FLAGS_TO_PASS) $(TARGET-zlib))
++ $(MAKE) $(BASE_FLAGS_TO_PASS) $(EXTRA_HOST_FLAGS) \
++ $(TARGET-zlib))
+ @endif zlib
+
+
+@@ -35791,8 +36163,11 @@
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ $(HOST_EXPORTS) \
+ cd $(HOST_SUBDIR)/zlib && \
+- $(MAKE) $(FLAGS_TO_PASS) \
+- CFLAGS="$(STAGE1_CFLAGS)" LIBCFLAGS="$(STAGE1_CFLAGS)" \
++ $(MAKE) $(BASE_FLAGS_TO_PASS) \
++ CFLAGS="$(STAGE1_CFLAGS)" CXXFLAGS="$(STAGE1_CFLAGS)" \
++ LIBCFLAGS="$(STAGE1_LIBCFLAGS)" \
++ CFLAGS_FOR_TARGET="$(STAGE1_LIBCFLAGS)" \
++ CXXFLAGS_FOR_TARGET="$(STAGE1_LIBCFLAGS)" $(EXTRA_HOST_FLAGS) \
+ $(TARGET-stage1-zlib)
+
+ maybe-clean-stage1-zlib: clean-stage1-zlib
+@@ -35805,7 +36180,7 @@
+ $(MAKE) stage1-start; \
+ fi; \
+ cd $(HOST_SUBDIR)/zlib && \
+- $(MAKE) $(FLAGS_TO_PASS) \
++ $(MAKE) $(EXTRA_HOST_FLAGS) \
+ clean
+ @endif zlib-bootstrap
+
+@@ -35825,8 +36200,11 @@
+ $(HOST_EXPORTS) \
+ $(POSTSTAGE1_HOST_EXPORTS) \
+ cd $(HOST_SUBDIR)/zlib && \
+- $(MAKE) $(FLAGS_TO_PASS) \
+- CFLAGS="$(STAGE2_CFLAGS)" LIBCFLAGS="$(STAGE2_CFLAGS)" $(POSTSTAGE1_FLAGS_TO_PASS) \
++ $(MAKE) $(BASE_FLAGS_TO_PASS) \
++ CFLAGS="$(STAGE2_CFLAGS)" CXXFLAGS="$(STAGE2_CFLAGS)" \
++ LIBCFLAGS="$(STAGE2_LIBCFLAGS)" \
++ CFLAGS_FOR_TARGET="$(STAGE2_LIBCFLAGS)" \
++ CXXFLAGS_FOR_TARGET="$(STAGE2_LIBCFLAGS)" $(EXTRA_HOST_FLAGS) $(POSTSTAGE1_FLAGS_TO_PASS) \
+ $(TARGET-stage2-zlib)
+
+ maybe-clean-stage2-zlib: clean-stage2-zlib
+@@ -35839,7 +36217,7 @@
+ $(MAKE) stage2-start; \
+ fi; \
+ cd $(HOST_SUBDIR)/zlib && \
+- $(MAKE) $(FLAGS_TO_PASS) \
++ $(MAKE) $(EXTRA_HOST_FLAGS) \
+ $(POSTSTAGE1_FLAGS_TO_PASS) \
+ clean
+ @endif zlib-bootstrap
+@@ -35860,8 +36238,11 @@
+ $(HOST_EXPORTS) \
+ $(POSTSTAGE1_HOST_EXPORTS) \
+ cd $(HOST_SUBDIR)/zlib && \
+- $(MAKE) $(FLAGS_TO_PASS) \
+- CFLAGS="$(STAGE2_CFLAGS) -g0" LIBCFLAGS="$(STAGE2_CFLAGS) -g0" $(POSTSTAGE1_FLAGS_TO_PASS) \
++ $(MAKE) $(BASE_FLAGS_TO_PASS) \
++ CFLAGS="$(STAGE2_CFLAGS) -g0" CXXFLAGS="$(STAGE2_CFLAGS) -g0" \
++ LIBCFLAGS="$(STAGE2_LIBCFLAGS) -g0" \
++ CFLAGS_FOR_TARGET="$(STAGE2_LIBCFLAGS) -g0" \
++ CXXFLAGS_FOR_TARGET="$(STAGE2_LIBCFLAGS) -g0" $(EXTRA_HOST_FLAGS) $(POSTSTAGE1_FLAGS_TO_PASS) \
+ $(TARGET-stageb2g0-zlib)
+
+ maybe-clean-stageb2g0-zlib: clean-stageb2g0-zlib
+@@ -35874,7 +36255,7 @@
+ $(MAKE) stageb2g0-start; \
+ fi; \
+ cd $(HOST_SUBDIR)/zlib && \
+- $(MAKE) $(FLAGS_TO_PASS) \
++ $(MAKE) $(EXTRA_HOST_FLAGS) \
+ $(POSTSTAGE1_FLAGS_TO_PASS) \
+ clean
+ @endif zlib-bootstrap
+@@ -35895,8 +36276,11 @@
+ $(HOST_EXPORTS) \
+ $(POSTSTAGE1_HOST_EXPORTS) \
+ cd $(HOST_SUBDIR)/zlib && \
+- $(MAKE) $(FLAGS_TO_PASS) \
+- CFLAGS="$(STAGE3_CFLAGS)" LIBCFLAGS="$(STAGE3_CFLAGS)" $(POSTSTAGE1_FLAGS_TO_PASS) \
++ $(MAKE) $(BASE_FLAGS_TO_PASS) \
++ CFLAGS="$(STAGE3_CFLAGS)" CXXFLAGS="$(STAGE3_CFLAGS)" \
++ LIBCFLAGS="$(STAGE3_LIBCFLAGS)" \
++ CFLAGS_FOR_TARGET="$(STAGE3_LIBCFLAGS)" \
++ CXXFLAGS_FOR_TARGET="$(STAGE3_LIBCFLAGS)" $(EXTRA_HOST_FLAGS) $(POSTSTAGE1_FLAGS_TO_PASS) \
+ $(TARGET-stage3-zlib)
+
+ maybe-clean-stage3-zlib: clean-stage3-zlib
+@@ -35909,7 +36293,7 @@
+ $(MAKE) stage3-start; \
+ fi; \
+ cd $(HOST_SUBDIR)/zlib && \
+- $(MAKE) $(FLAGS_TO_PASS) \
++ $(MAKE) $(EXTRA_HOST_FLAGS) \
+ $(POSTSTAGE1_FLAGS_TO_PASS) \
+ clean
+ @endif zlib-bootstrap
+@@ -35930,8 +36314,11 @@
+ $(HOST_EXPORTS) \
+ $(POSTSTAGE1_HOST_EXPORTS) \
+ cd $(HOST_SUBDIR)/zlib && \
+- $(MAKE) $(FLAGS_TO_PASS) \
+- CFLAGS="$(STAGE3_CFLAGS) -g2" LIBCFLAGS="$(STAGE3_CFLAGS) -g2" $(POSTSTAGE1_FLAGS_TO_PASS) \
++ $(MAKE) $(BASE_FLAGS_TO_PASS) \
++ CFLAGS="$(STAGE3_CFLAGS) -g2" CXXFLAGS="$(STAGE3_CFLAGS) -g2" \
++ LIBCFLAGS="$(STAGE3_LIBCFLAGS) -g2" \
++ CFLAGS_FOR_TARGET="$(STAGE3_LIBCFLAGS) -g2" \
++ CXXFLAGS_FOR_TARGET="$(STAGE3_LIBCFLAGS) -g2" $(EXTRA_HOST_FLAGS) $(POSTSTAGE1_FLAGS_TO_PASS) \
+ $(TARGET-stageb3g2-zlib)
+
+ maybe-clean-stageb3g2-zlib: clean-stageb3g2-zlib
+@@ -35944,7 +36331,7 @@
+ $(MAKE) stageb3g2-start; \
+ fi; \
+ cd $(HOST_SUBDIR)/zlib && \
+- $(MAKE) $(FLAGS_TO_PASS) \
++ $(MAKE) $(EXTRA_HOST_FLAGS) \
+ $(POSTSTAGE1_FLAGS_TO_PASS) \
+ clean
+ @endif zlib-bootstrap
+@@ -35965,8 +36352,11 @@
+ $(HOST_EXPORTS) \
+ $(POSTSTAGE1_HOST_EXPORTS) \
+ cd $(HOST_SUBDIR)/zlib && \
+- $(MAKE) $(FLAGS_TO_PASS) \
+- CFLAGS="$(STAGE4_CFLAGS)" LIBCFLAGS="$(STAGE4_CFLAGS)" $(POSTSTAGE1_FLAGS_TO_PASS) \
++ $(MAKE) $(BASE_FLAGS_TO_PASS) \
++ CFLAGS="$(STAGE4_CFLAGS)" CXXFLAGS="$(STAGE4_CFLAGS)" \
++ LIBCFLAGS="$(STAGE4_CFLAGS)" \
++ CFLAGS_FOR_TARGET="$(STAGE4_CFLAGS)" \
++ CXXFLAGS_FOR_TARGET="$(STAGE4_CFLAGS)" $(EXTRA_HOST_FLAGS) $(POSTSTAGE1_FLAGS_TO_PASS) \
+ $(TARGET-stage4-zlib)
+
+ maybe-clean-stage4-zlib: clean-stage4-zlib
+@@ -35979,7 +36369,7 @@
+ $(MAKE) stage4-start; \
+ fi; \
+ cd $(HOST_SUBDIR)/zlib && \
+- $(MAKE) $(FLAGS_TO_PASS) \
++ $(MAKE) $(EXTRA_HOST_FLAGS) \
+ $(POSTSTAGE1_FLAGS_TO_PASS) \
+ clean
+ @endif zlib-bootstrap
+@@ -36000,8 +36390,11 @@
+ $(HOST_EXPORTS) \
+ $(POSTSTAGE1_HOST_EXPORTS) \
+ cd $(HOST_SUBDIR)/zlib && \
+- $(MAKE) $(FLAGS_TO_PASS) \
+- CFLAGS="$(STAGE2_CFLAGS) -fprofile-generate" LIBCFLAGS="$(STAGE2_CFLAGS) -fprofile-generate" $(POSTSTAGE1_FLAGS_TO_PASS) \
++ $(MAKE) $(BASE_FLAGS_TO_PASS) \
++ CFLAGS="$(STAGE2_CFLAGS) -fprofile-generate" CXXFLAGS="$(STAGE2_CFLAGS) -fprofile-generate" \
++ LIBCFLAGS="$(STAGE2_LIBCFLAGS) -fprofile-generate" \
++ CFLAGS_FOR_TARGET="$(STAGE2_LIBCFLAGS) -fprofile-generate" \
++ CXXFLAGS_FOR_TARGET="$(STAGE2_LIBCFLAGS) -fprofile-generate" $(EXTRA_HOST_FLAGS) $(POSTSTAGE1_FLAGS_TO_PASS) \
+ $(TARGET-stageprofile-zlib)
+
+ maybe-clean-stageprofile-zlib: clean-stageprofile-zlib
+@@ -36014,7 +36407,7 @@
+ $(MAKE) stageprofile-start; \
+ fi; \
+ cd $(HOST_SUBDIR)/zlib && \
+- $(MAKE) $(FLAGS_TO_PASS) \
++ $(MAKE) $(EXTRA_HOST_FLAGS) \
+ $(POSTSTAGE1_FLAGS_TO_PASS) \
+ clean
+ @endif zlib-bootstrap
+@@ -36035,8 +36428,11 @@
+ $(HOST_EXPORTS) \
+ $(POSTSTAGE1_HOST_EXPORTS) \
+ cd $(HOST_SUBDIR)/zlib && \
+- $(MAKE) $(FLAGS_TO_PASS) \
+- CFLAGS="$(STAGE3_CFLAGS) -fprofile-use" LIBCFLAGS="$(STAGE3_CFLAGS) -fprofile-use" $(POSTSTAGE1_FLAGS_TO_PASS) \
++ $(MAKE) $(BASE_FLAGS_TO_PASS) \
++ CFLAGS="$(STAGE3_CFLAGS) -fprofile-use" CXXFLAGS="$(STAGE3_CFLAGS) -fprofile-use" \
++ LIBCFLAGS="$(STAGE3_LIBCFLAGS) -fprofile-use" \
++ CFLAGS_FOR_TARGET="$(STAGE3_LIBCFLAGS) -fprofile-use" \
++ CXXFLAGS_FOR_TARGET="$(STAGE3_LIBCFLAGS) -fprofile-use" $(EXTRA_HOST_FLAGS) $(POSTSTAGE1_FLAGS_TO_PASS) \
+ $(TARGET-stagefeedback-zlib)
+
+ maybe-clean-stagefeedback-zlib: clean-stagefeedback-zlib
+@@ -36049,7 +36445,7 @@
+ $(MAKE) stagefeedback-start; \
+ fi; \
+ cd $(HOST_SUBDIR)/zlib && \
+- $(MAKE) $(FLAGS_TO_PASS) \
++ $(MAKE) $(EXTRA_HOST_FLAGS) \
+ $(POSTSTAGE1_FLAGS_TO_PASS) \
+ clean
+ @endif zlib-bootstrap
+@@ -36451,7 +36847,8 @@
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ $(HOST_EXPORTS) \
+ (cd $(HOST_SUBDIR)/gdb && \
+- $(MAKE) $(FLAGS_TO_PASS) $(X11_FLAGS_TO_PASS) $(TARGET-gdb))
++ $(MAKE) $(BASE_FLAGS_TO_PASS) $(EXTRA_HOST_FLAGS) $(X11_FLAGS_TO_PASS) \
++ $(TARGET-gdb))
+ @endif gdb
+
+
+@@ -36875,7 +37272,8 @@
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ $(HOST_EXPORTS) \
+ (cd $(HOST_SUBDIR)/expect && \
+- $(MAKE) $(FLAGS_TO_PASS) $(X11_FLAGS_TO_PASS) $(TARGET-expect))
++ $(MAKE) $(BASE_FLAGS_TO_PASS) $(EXTRA_HOST_FLAGS) $(X11_FLAGS_TO_PASS) \
++ $(TARGET-expect))
+ @endif expect
+
+
+@@ -37299,7 +37697,8 @@
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ $(HOST_EXPORTS) \
+ (cd $(HOST_SUBDIR)/guile && \
+- $(MAKE) $(FLAGS_TO_PASS) $(X11_FLAGS_TO_PASS) $(TARGET-guile))
++ $(MAKE) $(BASE_FLAGS_TO_PASS) $(EXTRA_HOST_FLAGS) $(X11_FLAGS_TO_PASS) \
++ $(TARGET-guile))
+ @endif guile
+
+
+@@ -37723,7 +38122,8 @@
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ $(HOST_EXPORTS) \
+ (cd $(HOST_SUBDIR)/tk && \
+- $(MAKE) $(FLAGS_TO_PASS) $(X11_FLAGS_TO_PASS) $(TARGET-tk))
++ $(MAKE) $(BASE_FLAGS_TO_PASS) $(EXTRA_HOST_FLAGS) $(X11_FLAGS_TO_PASS) \
++ $(TARGET-tk))
+ @endif tk
+
+
+@@ -38147,7 +38547,8 @@
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ $(HOST_EXPORTS) \
+ (cd $(HOST_SUBDIR)/libtermcap && \
+- $(MAKE) $(FLAGS_TO_PASS) $(TARGET-libtermcap))
++ $(MAKE) $(BASE_FLAGS_TO_PASS) $(EXTRA_HOST_FLAGS) \
++ $(TARGET-libtermcap))
+ @endif libtermcap
+
+
+@@ -38505,7 +38906,8 @@
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ $(HOST_EXPORTS) \
+ (cd $(HOST_SUBDIR)/utils && \
+- $(MAKE) $(FLAGS_TO_PASS) $(TARGET-utils))
++ $(MAKE) $(BASE_FLAGS_TO_PASS) $(EXTRA_HOST_FLAGS) \
++ $(TARGET-utils))
+ @endif utils
+
+
+@@ -38923,7 +39325,8 @@
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ $(HOST_EXPORTS) \
+ (cd $(HOST_SUBDIR)/gnattools && \
+- $(MAKE) $(FLAGS_TO_PASS) $(TARGET-gnattools))
++ $(MAKE) $(BASE_FLAGS_TO_PASS) $(EXTRA_HOST_FLAGS) \
++ $(TARGET-gnattools))
+ @endif gnattools
+
+
+@@ -39368,7 +39771,8 @@
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ $(RAW_CXX_TARGET_EXPORTS) \
+ (cd $(TARGET_SUBDIR)/libstdc++-v3 && \
+- $(MAKE) $(TARGET_FLAGS_TO_PASS) 'CXX=$$(RAW_CXX_FOR_TARGET)' 'CXX_FOR_TARGET=$$(RAW_CXX_FOR_TARGET)' $(TARGET-target-libstdc++-v3))
++ $(MAKE) $(BASE_FLAGS_TO_PASS) $(EXTRA_TARGET_FLAGS) 'CXX=$$(RAW_CXX_FOR_TARGET)' 'CXX_FOR_TARGET=$$(RAW_CXX_FOR_TARGET)' \
++ $(TARGET-target-libstdc++-v3))
+ @endif target-libstdc++-v3
+
+
+@@ -39809,7 +40213,8 @@
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ $(NORMAL_TARGET_EXPORTS) \
+ (cd $(TARGET_SUBDIR)/libmudflap && \
+- $(MAKE) $(TARGET_FLAGS_TO_PASS) $(TARGET-target-libmudflap))
++ $(MAKE) $(BASE_FLAGS_TO_PASS) $(EXTRA_TARGET_FLAGS) \
++ $(TARGET-target-libmudflap))
+ @endif target-libmudflap
+
+
+@@ -40250,7 +40655,8 @@
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ $(NORMAL_TARGET_EXPORTS) \
+ (cd $(TARGET_SUBDIR)/libssp && \
+- $(MAKE) $(TARGET_FLAGS_TO_PASS) $(TARGET-target-libssp))
++ $(MAKE) $(BASE_FLAGS_TO_PASS) $(EXTRA_TARGET_FLAGS) \
++ $(TARGET-target-libssp))
+ @endif target-libssp
+
+
+@@ -40691,7 +41097,8 @@
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ $(NORMAL_TARGET_EXPORTS) \
+ (cd $(TARGET_SUBDIR)/newlib && \
+- $(MAKE) $(TARGET_FLAGS_TO_PASS) $(TARGET-target-newlib))
++ $(MAKE) $(BASE_FLAGS_TO_PASS) $(EXTRA_TARGET_FLAGS) \
++ $(TARGET-target-newlib))
+ @endif target-newlib
+
+
+@@ -41137,9 +41544,9 @@
+ mv $(TARGET_SUBDIR)/libgcc/multilib.tmp $(TARGET_SUBDIR)/libgcc/multilib.out; \
+ fi; \
+ test ! -f $(TARGET_SUBDIR)/libgcc/Makefile || exit 0; \
+- $(NORMAL_TARGET_EXPORTS) \
+- CFLAGS="$(STAGE1_CFLAGS)"; export CFLAGS; \
+- LIBCFLAGS="$(STAGE1_CFLAGS)"; export LIBCFLAGS; \
++ $(NORMAL_TARGET_EXPORTS) \
++ CFLAGS="$(STAGE1_LIBCFLAGS) $(SYSROOT_CFLAGS_FOR_TARGET) $(DEBUG_PREFIX_CFLAGS_FOR_TARGET)"; export CFLAGS; \
++ CXXFLAGS="$(STAGE1_LIBCFLAGS) $(SYSROOT_CFLAGS_FOR_TARGET) $(DEBUG_PREFIX_CFLAGS_FOR_TARGET)"; export CXXFLAGS; \
+ echo Configuring stage 1 in $(TARGET_SUBDIR)/libgcc ; \
+ $(SHELL) $(srcdir)/mkinstalldirs $(TARGET_SUBDIR)/libgcc ; \
+ cd $(TARGET_SUBDIR)/libgcc || exit 1; \
+@@ -41180,9 +41587,9 @@
+ fi; \
+ test ! -f $(TARGET_SUBDIR)/libgcc/Makefile || exit 0; \
+ $(NORMAL_TARGET_EXPORTS) \
+- \
+- CFLAGS="$(STAGE2_CFLAGS)"; export CFLAGS; \
+- LIBCFLAGS="$(STAGE2_CFLAGS)"; export LIBCFLAGS; \
++ \
++ CFLAGS="$(STAGE2_LIBCFLAGS) $(SYSROOT_CFLAGS_FOR_TARGET) $(DEBUG_PREFIX_CFLAGS_FOR_TARGET)"; export CFLAGS; \
++ CXXFLAGS="$(STAGE2_LIBCFLAGS) $(SYSROOT_CFLAGS_FOR_TARGET) $(DEBUG_PREFIX_CFLAGS_FOR_TARGET)"; export CXXFLAGS; \
+ echo Configuring stage 2 in $(TARGET_SUBDIR)/libgcc ; \
+ $(SHELL) $(srcdir)/mkinstalldirs $(TARGET_SUBDIR)/libgcc ; \
+ cd $(TARGET_SUBDIR)/libgcc || exit 1; \
+@@ -41223,9 +41630,9 @@
+ fi; \
+ test ! -f $(TARGET_SUBDIR)/libgcc/Makefile || exit 0; \
+ $(NORMAL_TARGET_EXPORTS) \
+- \
+- CFLAGS="$(STAGE2_CFLAGS) -g0"; export CFLAGS; \
+- LIBCFLAGS="$(STAGE2_CFLAGS) -g0"; export LIBCFLAGS; \
++ \
++ CFLAGS="$(STAGE2_LIBCFLAGS) -g0 $(SYSROOT_CFLAGS_FOR_TARGET) $(DEBUG_PREFIX_CFLAGS_FOR_TARGET)"; export CFLAGS; \
++ CXXFLAGS="$(STAGE2_LIBCFLAGS) -g0 $(SYSROOT_CFLAGS_FOR_TARGET) $(DEBUG_PREFIX_CFLAGS_FOR_TARGET)"; export CXXFLAGS; \
+ echo Configuring stage b2g0 in $(TARGET_SUBDIR)/libgcc ; \
+ $(SHELL) $(srcdir)/mkinstalldirs $(TARGET_SUBDIR)/libgcc ; \
+ cd $(TARGET_SUBDIR)/libgcc || exit 1; \
+@@ -41266,9 +41673,9 @@
+ fi; \
+ test ! -f $(TARGET_SUBDIR)/libgcc/Makefile || exit 0; \
+ $(NORMAL_TARGET_EXPORTS) \
+- \
+- CFLAGS="$(STAGE3_CFLAGS)"; export CFLAGS; \
+- LIBCFLAGS="$(STAGE3_CFLAGS)"; export LIBCFLAGS; \
++ \
++ CFLAGS="$(STAGE3_LIBCFLAGS) $(SYSROOT_CFLAGS_FOR_TARGET) $(DEBUG_PREFIX_CFLAGS_FOR_TARGET)"; export CFLAGS; \
++ CXXFLAGS="$(STAGE3_LIBCFLAGS) $(SYSROOT_CFLAGS_FOR_TARGET) $(DEBUG_PREFIX_CFLAGS_FOR_TARGET)"; export CXXFLAGS; \
+ echo Configuring stage 3 in $(TARGET_SUBDIR)/libgcc ; \
+ $(SHELL) $(srcdir)/mkinstalldirs $(TARGET_SUBDIR)/libgcc ; \
+ cd $(TARGET_SUBDIR)/libgcc || exit 1; \
+@@ -41309,9 +41716,9 @@
+ fi; \
+ test ! -f $(TARGET_SUBDIR)/libgcc/Makefile || exit 0; \
+ $(NORMAL_TARGET_EXPORTS) \
+- \
+- CFLAGS="$(STAGE3_CFLAGS) -g2"; export CFLAGS; \
+- LIBCFLAGS="$(STAGE3_CFLAGS) -g2"; export LIBCFLAGS; \
++ \
++ CFLAGS="$(STAGE3_LIBCFLAGS) -g2 $(SYSROOT_CFLAGS_FOR_TARGET) $(DEBUG_PREFIX_CFLAGS_FOR_TARGET)"; export CFLAGS; \
++ CXXFLAGS="$(STAGE3_LIBCFLAGS) -g2 $(SYSROOT_CFLAGS_FOR_TARGET) $(DEBUG_PREFIX_CFLAGS_FOR_TARGET)"; export CXXFLAGS; \
+ echo Configuring stage b3g2 in $(TARGET_SUBDIR)/libgcc ; \
+ $(SHELL) $(srcdir)/mkinstalldirs $(TARGET_SUBDIR)/libgcc ; \
+ cd $(TARGET_SUBDIR)/libgcc || exit 1; \
+@@ -41352,9 +41759,9 @@
+ fi; \
+ test ! -f $(TARGET_SUBDIR)/libgcc/Makefile || exit 0; \
+ $(NORMAL_TARGET_EXPORTS) \
+- \
+- CFLAGS="$(STAGE4_CFLAGS)"; export CFLAGS; \
+- LIBCFLAGS="$(STAGE4_CFLAGS)"; export LIBCFLAGS; \
++ \
++ CFLAGS="$(STAGE4_CFLAGS) $(SYSROOT_CFLAGS_FOR_TARGET) $(DEBUG_PREFIX_CFLAGS_FOR_TARGET)"; export CFLAGS; \
++ CXXFLAGS="$(STAGE4_CFLAGS) $(SYSROOT_CFLAGS_FOR_TARGET) $(DEBUG_PREFIX_CFLAGS_FOR_TARGET)"; export CXXFLAGS; \
+ echo Configuring stage 4 in $(TARGET_SUBDIR)/libgcc ; \
+ $(SHELL) $(srcdir)/mkinstalldirs $(TARGET_SUBDIR)/libgcc ; \
+ cd $(TARGET_SUBDIR)/libgcc || exit 1; \
+@@ -41395,9 +41802,9 @@
+ fi; \
+ test ! -f $(TARGET_SUBDIR)/libgcc/Makefile || exit 0; \
+ $(NORMAL_TARGET_EXPORTS) \
+- \
+- CFLAGS="$(STAGE2_CFLAGS) -fprofile-generate"; export CFLAGS; \
+- LIBCFLAGS="$(STAGE2_CFLAGS) -fprofile-generate"; export LIBCFLAGS; \
++ \
++ CFLAGS="$(STAGE2_LIBCFLAGS) -fprofile-generate $(SYSROOT_CFLAGS_FOR_TARGET) $(DEBUG_PREFIX_CFLAGS_FOR_TARGET)"; export CFLAGS; \
++ CXXFLAGS="$(STAGE2_LIBCFLAGS) -fprofile-generate $(SYSROOT_CFLAGS_FOR_TARGET) $(DEBUG_PREFIX_CFLAGS_FOR_TARGET)"; export CXXFLAGS; \
+ echo Configuring stage profile in $(TARGET_SUBDIR)/libgcc ; \
+ $(SHELL) $(srcdir)/mkinstalldirs $(TARGET_SUBDIR)/libgcc ; \
+ cd $(TARGET_SUBDIR)/libgcc || exit 1; \
+@@ -41438,9 +41845,9 @@
+ fi; \
+ test ! -f $(TARGET_SUBDIR)/libgcc/Makefile || exit 0; \
+ $(NORMAL_TARGET_EXPORTS) \
+- \
+- CFLAGS="$(STAGE3_CFLAGS) -fprofile-use"; export CFLAGS; \
+- LIBCFLAGS="$(STAGE3_CFLAGS) -fprofile-use"; export LIBCFLAGS; \
++ \
++ CFLAGS="$(STAGE3_LIBCFLAGS) -fprofile-use $(SYSROOT_CFLAGS_FOR_TARGET) $(DEBUG_PREFIX_CFLAGS_FOR_TARGET)"; export CFLAGS; \
++ CXXFLAGS="$(STAGE3_LIBCFLAGS) -fprofile-use $(SYSROOT_CFLAGS_FOR_TARGET) $(DEBUG_PREFIX_CFLAGS_FOR_TARGET)"; export CXXFLAGS; \
+ echo Configuring stage feedback in $(TARGET_SUBDIR)/libgcc ; \
+ $(SHELL) $(srcdir)/mkinstalldirs $(TARGET_SUBDIR)/libgcc ; \
+ cd $(TARGET_SUBDIR)/libgcc || exit 1; \
+@@ -41475,7 +41882,8 @@
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ $(NORMAL_TARGET_EXPORTS) \
+ (cd $(TARGET_SUBDIR)/libgcc && \
+- $(MAKE) $(TARGET_FLAGS_TO_PASS) $(TARGET-target-libgcc))
++ $(MAKE) $(BASE_FLAGS_TO_PASS) $(EXTRA_TARGET_FLAGS) \
++ $(TARGET-target-libgcc))
+ @endif target-libgcc
+
+
+@@ -41494,8 +41902,11 @@
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ $(NORMAL_TARGET_EXPORTS) \
+ cd $(TARGET_SUBDIR)/libgcc && \
+- $(MAKE) $(TARGET_FLAGS_TO_PASS) \
+- CFLAGS="$(STAGE1_CFLAGS)" LIBCFLAGS="$(STAGE1_CFLAGS)" \
++ $(MAKE) $(BASE_FLAGS_TO_PASS) \
++ CFLAGS="$(STAGE1_CFLAGS)" CXXFLAGS="$(STAGE1_CFLAGS)" \
++ LIBCFLAGS="$(STAGE1_LIBCFLAGS)" \
++ CFLAGS_FOR_TARGET="$(STAGE1_LIBCFLAGS)" \
++ CXXFLAGS_FOR_TARGET="$(STAGE1_LIBCFLAGS)" $(EXTRA_TARGET_FLAGS) \
+ $(TARGET-stage1-target-libgcc)
+
+ maybe-clean-stage1-target-libgcc: clean-stage1-target-libgcc
+@@ -41508,7 +41919,7 @@
+ $(MAKE) stage1-start; \
+ fi; \
+ cd $(TARGET_SUBDIR)/libgcc && \
+- $(MAKE) $(TARGET_FLAGS_TO_PASS) \
++ $(MAKE) $(EXTRA_TARGET_FLAGS) \
+ clean
+ @endif target-libgcc-bootstrap
+
+@@ -41528,8 +41939,11 @@
+ $(NORMAL_TARGET_EXPORTS) \
+ \
+ cd $(TARGET_SUBDIR)/libgcc && \
+- $(MAKE) $(TARGET_FLAGS_TO_PASS) \
+- CFLAGS="$(STAGE2_CFLAGS)" LIBCFLAGS="$(STAGE2_CFLAGS)" \
++ $(MAKE) $(BASE_FLAGS_TO_PASS) \
++ CFLAGS="$(STAGE2_CFLAGS)" CXXFLAGS="$(STAGE2_CFLAGS)" \
++ LIBCFLAGS="$(STAGE2_LIBCFLAGS)" \
++ CFLAGS_FOR_TARGET="$(STAGE2_LIBCFLAGS)" \
++ CXXFLAGS_FOR_TARGET="$(STAGE2_LIBCFLAGS)" $(EXTRA_TARGET_FLAGS) \
+ $(TARGET-stage2-target-libgcc)
+
+ maybe-clean-stage2-target-libgcc: clean-stage2-target-libgcc
+@@ -41542,7 +41956,7 @@
+ $(MAKE) stage2-start; \
+ fi; \
+ cd $(TARGET_SUBDIR)/libgcc && \
+- $(MAKE) $(TARGET_FLAGS_TO_PASS) \
++ $(MAKE) $(EXTRA_TARGET_FLAGS) \
+ \
+ clean
+ @endif target-libgcc-bootstrap
+@@ -41563,8 +41977,11 @@
+ $(NORMAL_TARGET_EXPORTS) \
+ \
+ cd $(TARGET_SUBDIR)/libgcc && \
+- $(MAKE) $(TARGET_FLAGS_TO_PASS) \
+- CFLAGS="$(STAGE2_CFLAGS) -g0" LIBCFLAGS="$(STAGE2_CFLAGS) -g0" \
++ $(MAKE) $(BASE_FLAGS_TO_PASS) \
++ CFLAGS="$(STAGE2_CFLAGS) -g0" CXXFLAGS="$(STAGE2_CFLAGS) -g0" \
++ LIBCFLAGS="$(STAGE2_LIBCFLAGS) -g0" \
++ CFLAGS_FOR_TARGET="$(STAGE2_LIBCFLAGS) -g0" \
++ CXXFLAGS_FOR_TARGET="$(STAGE2_LIBCFLAGS) -g0" $(EXTRA_TARGET_FLAGS) \
+ $(TARGET-stageb2g0-target-libgcc)
+
+ maybe-clean-stageb2g0-target-libgcc: clean-stageb2g0-target-libgcc
+@@ -41577,7 +41994,7 @@
+ $(MAKE) stageb2g0-start; \
+ fi; \
+ cd $(TARGET_SUBDIR)/libgcc && \
+- $(MAKE) $(TARGET_FLAGS_TO_PASS) \
++ $(MAKE) $(EXTRA_TARGET_FLAGS) \
+ \
+ clean
+ @endif target-libgcc-bootstrap
+@@ -41598,8 +42015,11 @@
+ $(NORMAL_TARGET_EXPORTS) \
+ \
+ cd $(TARGET_SUBDIR)/libgcc && \
+- $(MAKE) $(TARGET_FLAGS_TO_PASS) \
+- CFLAGS="$(STAGE3_CFLAGS)" LIBCFLAGS="$(STAGE3_CFLAGS)" \
++ $(MAKE) $(BASE_FLAGS_TO_PASS) \
++ CFLAGS="$(STAGE3_CFLAGS)" CXXFLAGS="$(STAGE3_CFLAGS)" \
++ LIBCFLAGS="$(STAGE3_LIBCFLAGS)" \
++ CFLAGS_FOR_TARGET="$(STAGE3_LIBCFLAGS)" \
++ CXXFLAGS_FOR_TARGET="$(STAGE3_LIBCFLAGS)" $(EXTRA_TARGET_FLAGS) \
+ $(TARGET-stage3-target-libgcc)
+
+ maybe-clean-stage3-target-libgcc: clean-stage3-target-libgcc
+@@ -41612,7 +42032,7 @@
+ $(MAKE) stage3-start; \
+ fi; \
+ cd $(TARGET_SUBDIR)/libgcc && \
+- $(MAKE) $(TARGET_FLAGS_TO_PASS) \
++ $(MAKE) $(EXTRA_TARGET_FLAGS) \
+ \
+ clean
+ @endif target-libgcc-bootstrap
+@@ -41633,8 +42053,11 @@
+ $(NORMAL_TARGET_EXPORTS) \
+ \
+ cd $(TARGET_SUBDIR)/libgcc && \
+- $(MAKE) $(TARGET_FLAGS_TO_PASS) \
+- CFLAGS="$(STAGE3_CFLAGS) -g2" LIBCFLAGS="$(STAGE3_CFLAGS) -g2" \
++ $(MAKE) $(BASE_FLAGS_TO_PASS) \
++ CFLAGS="$(STAGE3_CFLAGS) -g2" CXXFLAGS="$(STAGE3_CFLAGS) -g2" \
++ LIBCFLAGS="$(STAGE3_LIBCFLAGS) -g2" \
++ CFLAGS_FOR_TARGET="$(STAGE3_LIBCFLAGS) -g2" \
++ CXXFLAGS_FOR_TARGET="$(STAGE3_LIBCFLAGS) -g2" $(EXTRA_TARGET_FLAGS) \
+ $(TARGET-stageb3g2-target-libgcc)
+
+ maybe-clean-stageb3g2-target-libgcc: clean-stageb3g2-target-libgcc
+@@ -41647,7 +42070,7 @@
+ $(MAKE) stageb3g2-start; \
+ fi; \
+ cd $(TARGET_SUBDIR)/libgcc && \
+- $(MAKE) $(TARGET_FLAGS_TO_PASS) \
++ $(MAKE) $(EXTRA_TARGET_FLAGS) \
+ \
+ clean
+ @endif target-libgcc-bootstrap
+@@ -41668,8 +42091,11 @@
+ $(NORMAL_TARGET_EXPORTS) \
+ \
+ cd $(TARGET_SUBDIR)/libgcc && \
+- $(MAKE) $(TARGET_FLAGS_TO_PASS) \
+- CFLAGS="$(STAGE4_CFLAGS)" LIBCFLAGS="$(STAGE4_CFLAGS)" \
++ $(MAKE) $(BASE_FLAGS_TO_PASS) \
++ CFLAGS="$(STAGE4_CFLAGS)" CXXFLAGS="$(STAGE4_CFLAGS)" \
++ LIBCFLAGS="$(STAGE4_CFLAGS)" \
++ CFLAGS_FOR_TARGET="$(STAGE4_CFLAGS)" \
++ CXXFLAGS_FOR_TARGET="$(STAGE4_CFLAGS)" $(EXTRA_TARGET_FLAGS) \
+ $(TARGET-stage4-target-libgcc)
+
+ maybe-clean-stage4-target-libgcc: clean-stage4-target-libgcc
+@@ -41682,7 +42108,7 @@
+ $(MAKE) stage4-start; \
+ fi; \
+ cd $(TARGET_SUBDIR)/libgcc && \
+- $(MAKE) $(TARGET_FLAGS_TO_PASS) \
++ $(MAKE) $(EXTRA_TARGET_FLAGS) \
+ \
+ clean
+ @endif target-libgcc-bootstrap
+@@ -41703,8 +42129,11 @@
+ $(NORMAL_TARGET_EXPORTS) \
+ \
+ cd $(TARGET_SUBDIR)/libgcc && \
+- $(MAKE) $(TARGET_FLAGS_TO_PASS) \
+- CFLAGS="$(STAGE2_CFLAGS) -fprofile-generate" LIBCFLAGS="$(STAGE2_CFLAGS) -fprofile-generate" \
++ $(MAKE) $(BASE_FLAGS_TO_PASS) \
++ CFLAGS="$(STAGE2_CFLAGS) -fprofile-generate" CXXFLAGS="$(STAGE2_CFLAGS) -fprofile-generate" \
++ LIBCFLAGS="$(STAGE2_LIBCFLAGS) -fprofile-generate" \
++ CFLAGS_FOR_TARGET="$(STAGE2_LIBCFLAGS) -fprofile-generate" \
++ CXXFLAGS_FOR_TARGET="$(STAGE2_LIBCFLAGS) -fprofile-generate" $(EXTRA_TARGET_FLAGS) \
+ $(TARGET-stageprofile-target-libgcc)
+
+ maybe-clean-stageprofile-target-libgcc: clean-stageprofile-target-libgcc
+@@ -41717,7 +42146,7 @@
+ $(MAKE) stageprofile-start; \
+ fi; \
+ cd $(TARGET_SUBDIR)/libgcc && \
+- $(MAKE) $(TARGET_FLAGS_TO_PASS) \
++ $(MAKE) $(EXTRA_TARGET_FLAGS) \
+ \
+ clean
+ @endif target-libgcc-bootstrap
+@@ -41738,8 +42167,11 @@
+ $(NORMAL_TARGET_EXPORTS) \
+ \
+ cd $(TARGET_SUBDIR)/libgcc && \
+- $(MAKE) $(TARGET_FLAGS_TO_PASS) \
+- CFLAGS="$(STAGE3_CFLAGS) -fprofile-use" LIBCFLAGS="$(STAGE3_CFLAGS) -fprofile-use" \
++ $(MAKE) $(BASE_FLAGS_TO_PASS) \
++ CFLAGS="$(STAGE3_CFLAGS) -fprofile-use" CXXFLAGS="$(STAGE3_CFLAGS) -fprofile-use" \
++ LIBCFLAGS="$(STAGE3_LIBCFLAGS) -fprofile-use" \
++ CFLAGS_FOR_TARGET="$(STAGE3_LIBCFLAGS) -fprofile-use" \
++ CXXFLAGS_FOR_TARGET="$(STAGE3_LIBCFLAGS) -fprofile-use" $(EXTRA_TARGET_FLAGS) \
+ $(TARGET-stagefeedback-target-libgcc)
+
+ maybe-clean-stagefeedback-target-libgcc: clean-stagefeedback-target-libgcc
+@@ -41752,7 +42184,7 @@
+ $(MAKE) stagefeedback-start; \
+ fi; \
+ cd $(TARGET_SUBDIR)/libgcc && \
+- $(MAKE) $(TARGET_FLAGS_TO_PASS) \
++ $(MAKE) $(EXTRA_TARGET_FLAGS) \
+ \
+ clean
+ @endif target-libgcc-bootstrap
+@@ -42191,7 +42623,8 @@
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ $(NORMAL_TARGET_EXPORTS) \
+ (cd $(TARGET_SUBDIR)/libgfortran && \
+- $(MAKE) $(TARGET_FLAGS_TO_PASS) $(TARGET-target-libgfortran))
++ $(MAKE) $(BASE_FLAGS_TO_PASS) $(EXTRA_TARGET_FLAGS) \
++ $(TARGET-target-libgfortran))
+ @endif target-libgfortran
+
+
+@@ -42632,7 +43065,8 @@
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ $(NORMAL_TARGET_EXPORTS) \
+ (cd $(TARGET_SUBDIR)/libobjc && \
+- $(MAKE) $(TARGET_FLAGS_TO_PASS) $(TARGET-target-libobjc))
++ $(MAKE) $(BASE_FLAGS_TO_PASS) $(EXTRA_TARGET_FLAGS) \
++ $(TARGET-target-libobjc))
+ @endif target-libobjc
+
+
+@@ -43073,7 +43507,8 @@
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ $(NORMAL_TARGET_EXPORTS) \
+ (cd $(TARGET_SUBDIR)/libtermcap && \
+- $(MAKE) $(TARGET_FLAGS_TO_PASS) $(TARGET-target-libtermcap))
++ $(MAKE) $(BASE_FLAGS_TO_PASS) $(EXTRA_TARGET_FLAGS) \
++ $(TARGET-target-libtermcap))
+ @endif target-libtermcap
+
+
+@@ -43449,7 +43884,8 @@
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ $(NORMAL_TARGET_EXPORTS) \
+ (cd $(TARGET_SUBDIR)/winsup && \
+- $(MAKE) $(TARGET_FLAGS_TO_PASS) $(TARGET-target-winsup))
++ $(MAKE) $(BASE_FLAGS_TO_PASS) $(EXTRA_TARGET_FLAGS) \
++ $(TARGET-target-winsup))
+ @endif target-winsup
+
+
+@@ -43890,7 +44326,8 @@
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ $(NORMAL_TARGET_EXPORTS) \
+ (cd $(TARGET_SUBDIR)/libgloss && \
+- $(MAKE) $(TARGET_FLAGS_TO_PASS) $(TARGET-target-libgloss))
++ $(MAKE) $(BASE_FLAGS_TO_PASS) $(EXTRA_TARGET_FLAGS) \
++ $(TARGET-target-libgloss))
+ @endif target-libgloss
+
+
+@@ -44326,7 +44763,8 @@
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ $(NORMAL_TARGET_EXPORTS) \
+ (cd $(TARGET_SUBDIR)/libiberty && \
+- $(MAKE) $(TARGET_FLAGS_TO_PASS) $(TARGET-target-libiberty))
++ $(MAKE) $(BASE_FLAGS_TO_PASS) $(EXTRA_TARGET_FLAGS) \
++ $(TARGET-target-libiberty))
+ @endif target-libiberty
+
+
+@@ -44767,7 +45205,8 @@
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ $(NORMAL_TARGET_EXPORTS) \
+ (cd $(TARGET_SUBDIR)/gperf && \
+- $(MAKE) $(TARGET_FLAGS_TO_PASS) $(TARGET-target-gperf))
++ $(MAKE) $(BASE_FLAGS_TO_PASS) $(EXTRA_TARGET_FLAGS) \
++ $(TARGET-target-gperf))
+ @endif target-gperf
+
+
+@@ -45208,7 +45647,8 @@
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ $(NORMAL_TARGET_EXPORTS) \
+ (cd $(TARGET_SUBDIR)/examples && \
+- $(MAKE) $(TARGET_FLAGS_TO_PASS) $(TARGET-target-examples))
++ $(MAKE) $(BASE_FLAGS_TO_PASS) $(EXTRA_TARGET_FLAGS) \
++ $(TARGET-target-examples))
+ @endif target-examples
+
+
+@@ -45639,7 +46079,8 @@
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ $(NORMAL_TARGET_EXPORTS) \
+ (cd $(TARGET_SUBDIR)/libffi && \
+- $(MAKE) $(TARGET_FLAGS_TO_PASS) $(TARGET-target-libffi))
++ $(MAKE) $(BASE_FLAGS_TO_PASS) $(EXTRA_TARGET_FLAGS) \
++ $(TARGET-target-libffi))
+ @endif target-libffi
+
+
+@@ -46080,7 +46521,8 @@
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ $(RAW_CXX_TARGET_EXPORTS) \
+ (cd $(TARGET_SUBDIR)/libjava && \
+- $(MAKE) $(TARGET_FLAGS_TO_PASS) 'CXX=$$(RAW_CXX_FOR_TARGET)' 'CXX_FOR_TARGET=$$(RAW_CXX_FOR_TARGET)' $(TARGET-target-libjava))
++ $(MAKE) $(BASE_FLAGS_TO_PASS) $(EXTRA_TARGET_FLAGS) 'CXX=$$(RAW_CXX_FOR_TARGET)' 'CXX_FOR_TARGET=$$(RAW_CXX_FOR_TARGET)' \
++ $(TARGET-target-libjava))
+ @endif target-libjava
+
+
+@@ -46521,7 +46963,8 @@
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ $(NORMAL_TARGET_EXPORTS) \
+ (cd $(TARGET_SUBDIR)/zlib && \
+- $(MAKE) $(TARGET_FLAGS_TO_PASS) $(TARGET-target-zlib))
++ $(MAKE) $(BASE_FLAGS_TO_PASS) $(EXTRA_TARGET_FLAGS) \
++ $(TARGET-target-zlib))
+ @endif target-zlib
+
+
+@@ -46962,7 +47405,8 @@
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ $(NORMAL_TARGET_EXPORTS) \
+ (cd $(TARGET_SUBDIR)/boehm-gc && \
+- $(MAKE) $(TARGET_FLAGS_TO_PASS) $(TARGET-target-boehm-gc))
++ $(MAKE) $(BASE_FLAGS_TO_PASS) $(EXTRA_TARGET_FLAGS) \
++ $(TARGET-target-boehm-gc))
+ @endif target-boehm-gc
+
+
+@@ -47403,7 +47847,8 @@
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ $(NORMAL_TARGET_EXPORTS) \
+ (cd $(TARGET_SUBDIR)/qthreads && \
+- $(MAKE) $(TARGET_FLAGS_TO_PASS) $(TARGET-target-qthreads))
++ $(MAKE) $(BASE_FLAGS_TO_PASS) $(EXTRA_TARGET_FLAGS) \
++ $(TARGET-target-qthreads))
+ @endif target-qthreads
+
+
+@@ -47844,7 +48289,8 @@
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ $(NORMAL_TARGET_EXPORTS) \
+ (cd $(TARGET_SUBDIR)/rda && \
+- $(MAKE) $(TARGET_FLAGS_TO_PASS) $(TARGET-target-rda))
++ $(MAKE) $(BASE_FLAGS_TO_PASS) $(EXTRA_TARGET_FLAGS) \
++ $(TARGET-target-rda))
+ @endif target-rda
+
+
+@@ -48285,7 +48731,8 @@
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ $(NORMAL_TARGET_EXPORTS) \
+ (cd $(TARGET_SUBDIR)/libada && \
+- $(MAKE) $(TARGET_FLAGS_TO_PASS) $(TARGET-target-libada))
++ $(MAKE) $(BASE_FLAGS_TO_PASS) $(EXTRA_TARGET_FLAGS) \
++ $(TARGET-target-libada))
+ @endif target-libada
+
+
+@@ -48726,7 +49173,8 @@
+ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ $(NORMAL_TARGET_EXPORTS) \
+ (cd $(TARGET_SUBDIR)/libgomp && \
+- $(MAKE) $(TARGET_FLAGS_TO_PASS) $(TARGET-target-libgomp))
++ $(MAKE) $(BASE_FLAGS_TO_PASS) $(EXTRA_TARGET_FLAGS) \
++ $(TARGET-target-libgomp))
+ @endif target-libgomp
+
+
+@@ -49359,7 +49807,7 @@
+
+ # Bubble a bug fix through all the stages up to stage 1. They are
+ # remade, but not reconfigured. The next stage (if any) will not be
+-# reconfigured as well.
++# reconfigured either.
+ .PHONY: stage1-bubble
+ stage1-bubble::
+ @r=`${PWD_COMMAND}`; export r; \
+@@ -49570,7 +50018,7 @@
+
+ # Bubble a bug fix through all the stages up to stage 2. They are
+ # remade, but not reconfigured. The next stage (if any) will not be
+-# reconfigured as well.
++# reconfigured either.
+ .PHONY: stage2-bubble
+ stage2-bubble:: stage1-bubble
+ @r=`${PWD_COMMAND}`; export r; \
+@@ -49802,7 +50250,7 @@
+
+ # Bubble a bug fix through all the stages up to stage b2g0. They are
+ # remade, but not reconfigured. The next stage (if any) will not be
+-# reconfigured as well.
++# reconfigured either.
+ .PHONY: stageb2g0-bubble
+ stageb2g0-bubble:: stage1-bubble
+ @r=`${PWD_COMMAND}`; export r; \
+@@ -50034,7 +50482,7 @@
+
+ # Bubble a bug fix through all the stages up to stage 3. They are
+ # remade, but not reconfigured. The next stage (if any) will not be
+-# reconfigured as well.
++# reconfigured either.
+ .PHONY: stage3-bubble
+ stage3-bubble:: stage2-bubble
+ @r=`${PWD_COMMAND}`; export r; \
+@@ -50320,7 +50768,7 @@
+
+ # Bubble a bug fix through all the stages up to stage b3g2. They are
+ # remade, but not reconfigured. The next stage (if any) will not be
+-# reconfigured as well.
++# reconfigured either.
+ .PHONY: stageb3g2-bubble
+ stageb3g2-bubble:: stageb2g0-bubble
+ @r=`${PWD_COMMAND}`; export r; \
+@@ -50606,7 +51054,7 @@
+
+ # Bubble a bug fix through all the stages up to stage 4. They are
+ # remade, but not reconfigured. The next stage (if any) will not be
+-# reconfigured as well.
++# reconfigured either.
+ .PHONY: stage4-bubble
+ stage4-bubble:: stage3-bubble
+ @r=`${PWD_COMMAND}`; export r; \
+@@ -50881,7 +51329,7 @@
+
+ # Bubble a bug fix through all the stages up to stage profile. They are
+ # remade, but not reconfigured. The next stage (if any) will not be
+-# reconfigured as well.
++# reconfigured either.
+ .PHONY: stageprofile-bubble
+ stageprofile-bubble:: stage1-bubble
+ @r=`${PWD_COMMAND}`; export r; \
+@@ -51092,7 +51540,7 @@
+
+ # Bubble a bug fix through all the stages up to stage feedback. They are
+ # remade, but not reconfigured. The next stage (if any) will not be
+-# reconfigured as well.
++# reconfigured either.
+ .PHONY: stagefeedback-bubble
+ stagefeedback-bubble:: stageprofile-bubble
+ @r=`${PWD_COMMAND}`; export r; \
+@@ -51175,10 +51623,10 @@
+ @if test -f stage_last; then $(unstage); else $(MAKE) stage1-start; fi
+
+ .PHONY: restrap
+-restrap:
++restrap::
+ @: $(MAKE); $(stage)
+ rm -rf stage1-$(TARGET_SUBDIR) stage2-* stageb2g0-* stage3-* stageb3g2-* stage4-* stageprofile-* stagefeedback-*
+- $(MAKE) $(RECURSE_FLAGS_TO_PASS) all
++restrap:: all
+ @endif gcc-bootstrap
+
+ # --------------------------------------
+@@ -52004,7 +52452,8 @@
+
+ # Rebuilding configure.
+ AUTOCONF = autoconf
+-$(srcdir)/configure: @MAINT@ $(srcdir)/configure.ac $(srcdir)/config/acx.m4
++$(srcdir)/configure: @MAINT@ $(srcdir)/configure.ac $(srcdir)/config/acx.m4 \
++ $(srcdir)/config/override.m4 $(srcdir)/config/proginstall.m4
+ cd $(srcdir) && $(AUTOCONF)
+
+ # ------------------------------
+Index: gcc-4.3.2/configure
+===================================================================
+--- gcc-4.3.2.orig/configure 2008-02-01 19:29:30.000000000 -0800
++++ gcc-4.3.2/configure 2008-08-28 18:18:37.000000000 -0700
+@@ -272,7 +272,7 @@
+ PACKAGE_BUGREPORT=
+
+ ac_unique_file="move-if-change"
+-ac_subst_vars='SHELL PATH_SEPARATOR PACKAGE_NAME PACKAGE_TARNAME PACKAGE_VERSION PACKAGE_STRING PACKAGE_BUGREPORT exec_prefix prefix program_transform_name bindir sbindir libexecdir datadir sysconfdir sharedstatedir localstatedir libdir includedir oldincludedir infodir mandir build_alias host_alias target_alias DEFS ECHO_C ECHO_N ECHO_T LIBS build build_cpu build_vendor build_os build_noncanonical host_noncanonical target_noncanonical host host_cpu host_vendor host_os target target_cpu target_vendor target_os INSTALL_PROGRAM INSTALL_SCRIPT INSTALL_DATA LN LN_S TOPLEVEL_CONFIGURE_ARGUMENTS build_libsubdir build_subdir host_subdir target_subdir CC CFLAGS LDFLAGS CPPFLAGS ac_ct_CC EXEEXT OBJEXT CXX CXXFLAGS ac_ct_CXX GNATBIND ac_ct_GNATBIND GNATMAKE ac_ct_GNATMAKE do_compare gmplibs gmpinc stage1_languages SYSROOT_CFLAGS_FOR_TARGET DEBUG_PREFIX_CFLAGS_FOR_TARGET RPATH_ENVVAR tooldir build_tooldir CONFIGURE_GDB_TK GDB_TK INSTALL_GDB_TK build_configargs build_configdirs host_configargs configdirs target_configargs AR_FOR_BUILD AS_FOR_BUILD CC_FOR_BUILD CFLAGS_FOR_BUILD CXXFLAGS_FOR_BUILD CXX_FOR_BUILD DLLTOOL_FOR_BUILD GCJ_FOR_BUILD GFORTRAN_FOR_BUILD LDFLAGS_FOR_BUILD LD_FOR_BUILD NM_FOR_BUILD RANLIB_FOR_BUILD WINDMC_FOR_BUILD WINDRES_FOR_BUILD config_shell YACC BISON M4 LEX FLEX MAKEINFO EXPECT RUNTEST AR AS DLLTOOL LD LIPO NM RANLIB STRIP WINDRES WINDMC OBJCOPY OBJDUMP CC_FOR_TARGET CXX_FOR_TARGET GCC_FOR_TARGET GCJ_FOR_TARGET GFORTRAN_FOR_TARGET AR_FOR_TARGET AS_FOR_TARGET DLLTOOL_FOR_TARGET LD_FOR_TARGET LIPO_FOR_TARGET NM_FOR_TARGET OBJDUMP_FOR_TARGET RANLIB_FOR_TARGET STRIP_FOR_TARGET WINDRES_FOR_TARGET WINDMC_FOR_TARGET RAW_CXX_FOR_TARGET FLAGS_FOR_TARGET COMPILER_AS_FOR_TARGET COMPILER_LD_FOR_TARGET COMPILER_NM_FOR_TARGET MAINTAINER_MODE_TRUE MAINTAINER_MODE_FALSE MAINT stage1_cflags stage1_checking stage2_werror_flag datarootdir docdir pdfdir htmldir LIBOBJS LTLIBOBJS'
++ac_subst_vars='SHELL PATH_SEPARATOR PACKAGE_NAME PACKAGE_TARNAME PACKAGE_VERSION PACKAGE_STRING PACKAGE_BUGREPORT exec_prefix prefix program_transform_name bindir sbindir libexecdir datadir sysconfdir sharedstatedir localstatedir libdir includedir oldincludedir infodir mandir build_alias host_alias target_alias DEFS ECHO_C ECHO_N ECHO_T LIBS build build_cpu build_vendor build_os build_noncanonical host_noncanonical target_noncanonical host host_cpu host_vendor host_os target target_cpu target_vendor target_os INSTALL_PROGRAM INSTALL_SCRIPT INSTALL_DATA LN LN_S TOPLEVEL_CONFIGURE_ARGUMENTS build_libsubdir build_subdir host_subdir target_subdir CC CFLAGS LDFLAGS CPPFLAGS ac_ct_CC EXEEXT OBJEXT CXX CXXFLAGS ac_ct_CXX GNATBIND ac_ct_GNATBIND GNATMAKE ac_ct_GNATMAKE do_compare gmplibs gmpinc stage1_languages SYSROOT_CFLAGS_FOR_TARGET DEBUG_PREFIX_CFLAGS_FOR_TARGET CFLAGS_FOR_TARGET CXXFLAGS_FOR_TARGET RPATH_ENVVAR tooldir build_tooldir CONFIGURE_GDB_TK GDB_TK INSTALL_GDB_TK build_configargs build_configdirs host_configargs configdirs target_configargs AR_FOR_BUILD AS_FOR_BUILD CC_FOR_BUILD CFLAGS_FOR_BUILD CXXFLAGS_FOR_BUILD CXX_FOR_BUILD DLLTOOL_FOR_BUILD GCJ_FOR_BUILD GFORTRAN_FOR_BUILD LDFLAGS_FOR_BUILD LD_FOR_BUILD NM_FOR_BUILD RANLIB_FOR_BUILD WINDMC_FOR_BUILD WINDRES_FOR_BUILD config_shell YACC BISON M4 LEX FLEX MAKEINFO EXPECT RUNTEST AR AS DLLTOOL LD LIPO NM RANLIB STRIP WINDRES WINDMC OBJCOPY OBJDUMP CC_FOR_TARGET CXX_FOR_TARGET GCC_FOR_TARGET GCJ_FOR_TARGET GFORTRAN_FOR_TARGET AR_FOR_TARGET AS_FOR_TARGET DLLTOOL_FOR_TARGET LD_FOR_TARGET LIPO_FOR_TARGET NM_FOR_TARGET OBJDUMP_FOR_TARGET RANLIB_FOR_TARGET STRIP_FOR_TARGET WINDRES_FOR_TARGET WINDMC_FOR_TARGET RAW_CXX_FOR_TARGET FLAGS_FOR_TARGET COMPILER_AS_FOR_TARGET COMPILER_LD_FOR_TARGET COMPILER_NM_FOR_TARGET MAINTAINER_MODE_TRUE MAINTAINER_MODE_FALSE MAINT stage1_cflags stage1_checking stage2_werror_flag datarootdir docdir pdfdir htmldir LIBOBJS LTLIBOBJS'
+ ac_subst_files='serialization_dependencies host_makefile_frag target_makefile_frag alphaieee_frag ospace_frag'
+
+ # Initialize some variables set by options.
+@@ -5147,6 +5147,38 @@
+ fi;
+
+
++# During gcc bootstrap, if we use some random cc for stage1 then CFLAGS
++# might be empty or "-g". We don't require a C++ compiler, so CXXFLAGS
++# might also be empty (or "-g", if a non-GCC C++ compiler is in the path).
++# We want to ensure that TARGET libraries (which we know are built with
++# gcc) are built with "-O2 -g", so include those options when setting
++# CFLAGS_FOR_TARGET and CXXFLAGS_FOR_TARGET.
++if test "x$CFLAGS_FOR_TARGET" = x; then
++ CFLAGS_FOR_TARGET=$CFLAGS
++ case " $CFLAGS " in
++ *" -O2 "*) ;;
++ *) CFLAGS_FOR_TARGET="-O2 $CFLAGS" ;;
++ esac
++ case " $CFLAGS " in
++ *" -g "* | *" -g3 "*) ;;
++ *) CFLAGS_FOR_TARGET="-g $CFLAGS" ;;
++ esac
++fi
++
++
++if test "x$CXXFLAGS_FOR_TARGET" = x; then
++ CXXFLAGS_FOR_TARGET=$CXXFLAGS
++ case " $CXXFLAGS " in
++ *" -O2 "*) ;;
++ *) CXXFLAGS_FOR_TARGET="-O2 $CXXFLAGS" ;;
++ esac
++ case " $CXXFLAGS " in
++ *" -g "* | *" -g3 "*) ;;
++ *) CXXFLAGS_FOR_TARGET="-g $CXXFLAGS" ;;
++ esac
++fi
++
++
+ # Handle --with-headers=XXX. If the value is not "yes", the contents of
+ # the named directory are copied to $(tooldir)/sys-include.
+ if test x"${with_headers}" != x && test x"${with_headers}" != xno ; then
+@@ -12825,6 +12857,8 @@
+ s,@stage1_languages@,$stage1_languages,;t t
+ s,@SYSROOT_CFLAGS_FOR_TARGET@,$SYSROOT_CFLAGS_FOR_TARGET,;t t
+ s,@DEBUG_PREFIX_CFLAGS_FOR_TARGET@,$DEBUG_PREFIX_CFLAGS_FOR_TARGET,;t t
++s,@CFLAGS_FOR_TARGET@,$CFLAGS_FOR_TARGET,;t t
++s,@CXXFLAGS_FOR_TARGET@,$CXXFLAGS_FOR_TARGET,;t t
+ s,@RPATH_ENVVAR@,$RPATH_ENVVAR,;t t
+ s,@tooldir@,$tooldir,;t t
+ s,@build_tooldir@,$build_tooldir,;t t
+Index: gcc-4.3.2/libiberty/Makefile.in
+===================================================================
+--- gcc-4.3.2.orig/libiberty/Makefile.in 2007-07-24 23:26:45.000000000 -0700
++++ gcc-4.3.2/libiberty/Makefile.in 2008-08-28 18:18:37.000000000 -0700
+@@ -60,7 +60,7 @@
+ MAKEINFO = @MAKEINFO@
+ PERL = @PERL@
+
+-PICFLAG =
++PICFLAG = @PICFLAG@
+
+ MAKEOVERRIDES =
+
+@@ -143,10 +143,11 @@
+ pex-unix.c pex-win32.c \
+ physmem.c putenv.c \
+ random.c regex.c rename.c rindex.c \
+- safe-ctype.c setenv.c sigsetmask.c snprintf.c sort.c spaces.c \
+- splay-tree.c stpcpy.c stpncpy.c strcasecmp.c strchr.c strdup.c \
+- strerror.c strncasecmp.c strncmp.c strrchr.c strsignal.c \
+- strstr.c strtod.c strtol.c strtoul.c strndup.c strverscmp.c \
++ safe-ctype.c setenv.c sigsetmask.c snprintf.c sort.c \
++ spaces.c splay-tree.c stpcpy.c stpncpy.c strcasecmp.c \
++ strchr.c strdup.c strerror.c strncasecmp.c strncmp.c \
++ strrchr.c strsignal.c strstr.c strtod.c strtol.c strtoul.c \
++ strndup.c strverscmp.c \
+ tmpnam.c \
+ unlink-if-ordinary.c \
+ vasprintf.c vfork.c vfprintf.c vprintf.c vsnprintf.c vsprintf.c \
+@@ -156,7 +157,8 @@
+
+ # These are always included in the library. The first four are listed
+ # first and by compile time to optimize parallel builds.
+-REQUIRED_OFILES = ./regex.o ./cplus-dem.o ./cp-demangle.o ./md5.o \
++REQUIRED_OFILES = \
++ ./regex.o ./cplus-dem.o ./cp-demangle.o ./md5.o \
+ ./alloca.o ./argv.o \
+ ./choose-temp.o ./concat.o ./cp-demint.o \
+ ./dyn-string.o \
+@@ -473,13 +475,13 @@
+ config.status: $(srcdir)/configure
+ $(SHELL) ./config.status --recheck
+
+-# Depending on stamp-h makes sure that config.status has been re-run
++# Depending on config.h makes sure that config.status has been re-run
+ # if needed. This prevents problems with parallel builds, in case
+ # subdirectories need to run config.status also.
+ all-subdir check-subdir installcheck-subdir info-subdir \
+ install-info-subdir clean-info-subdir dvi-subdir pdf-subdir install-subdir \
+ etags-subdir mostlyclean-subdir clean-subdir distclean-subdir \
+-maintainer-clean-subdir: stamp-h
++maintainer-clean-subdir: config.h
+ @subdirs='$(SUBDIRS)'; \
+ target=`echo $@ | sed -e 's/-subdir//'`; \
+ for dir in $$subdirs ; do \
+@@ -496,40 +498,41 @@
+ # The dependencies in the remainder of this file are automatically
+ # generated by "make maint-deps". Manual edits will be lost.
+
+-./_doprnt.o: $(srcdir)/_doprnt.c stamp-h $(INCDIR)/ansidecl.h \
++./_doprnt.o: $(srcdir)/_doprnt.c config.h $(INCDIR)/ansidecl.h \
+ $(INCDIR)/safe-ctype.h
+ if [ x"$(PICFLAG)" != x ]; then \
+ $(COMPILE.c) $(PICFLAG) $(srcdir)/_doprnt.c -o pic/$@; \
+ else true; fi
+ $(COMPILE.c) $(srcdir)/_doprnt.c $(OUTPUT_OPTION)
+
+-./alloca.o: $(srcdir)/alloca.c stamp-h $(INCDIR)/ansidecl.h $(INCDIR)/libiberty.h
++./alloca.o: $(srcdir)/alloca.c config.h $(INCDIR)/ansidecl.h \
++ $(INCDIR)/libiberty.h
+ if [ x"$(PICFLAG)" != x ]; then \
+ $(COMPILE.c) $(PICFLAG) $(srcdir)/alloca.c -o pic/$@; \
+ else true; fi
+ $(COMPILE.c) $(srcdir)/alloca.c $(OUTPUT_OPTION)
+
+-./argv.o: $(srcdir)/argv.c stamp-h $(INCDIR)/ansidecl.h $(INCDIR)/libiberty.h \
++./argv.o: $(srcdir)/argv.c config.h $(INCDIR)/ansidecl.h $(INCDIR)/libiberty.h \
+ $(INCDIR)/safe-ctype.h
+ if [ x"$(PICFLAG)" != x ]; then \
+ $(COMPILE.c) $(PICFLAG) $(srcdir)/argv.c -o pic/$@; \
+ else true; fi
+ $(COMPILE.c) $(srcdir)/argv.c $(OUTPUT_OPTION)
+
+-./asprintf.o: $(srcdir)/asprintf.c stamp-h $(INCDIR)/ansidecl.h \
++./asprintf.o: $(srcdir)/asprintf.c config.h $(INCDIR)/ansidecl.h \
+ $(INCDIR)/libiberty.h
+ if [ x"$(PICFLAG)" != x ]; then \
+ $(COMPILE.c) $(PICFLAG) $(srcdir)/asprintf.c -o pic/$@; \
+ else true; fi
+ $(COMPILE.c) $(srcdir)/asprintf.c $(OUTPUT_OPTION)
+
+-./atexit.o: $(srcdir)/atexit.c stamp-h
++./atexit.o: $(srcdir)/atexit.c config.h
+ if [ x"$(PICFLAG)" != x ]; then \
+ $(COMPILE.c) $(PICFLAG) $(srcdir)/atexit.c -o pic/$@; \
+ else true; fi
+ $(COMPILE.c) $(srcdir)/atexit.c $(OUTPUT_OPTION)
+
+-./basename.o: $(srcdir)/basename.c stamp-h $(INCDIR)/ansidecl.h \
++./basename.o: $(srcdir)/basename.c config.h $(INCDIR)/ansidecl.h \
+ $(INCDIR)/libiberty.h $(INCDIR)/safe-ctype.h
+ if [ x"$(PICFLAG)" != x ]; then \
+ $(COMPILE.c) $(PICFLAG) $(srcdir)/basename.c -o pic/$@; \
+@@ -548,7 +551,7 @@
+ else true; fi
+ $(COMPILE.c) $(srcdir)/bcopy.c $(OUTPUT_OPTION)
+
+-./bsearch.o: $(srcdir)/bsearch.c stamp-h $(INCDIR)/ansidecl.h
++./bsearch.o: $(srcdir)/bsearch.c config.h $(INCDIR)/ansidecl.h
+ if [ x"$(PICFLAG)" != x ]; then \
+ $(COMPILE.c) $(PICFLAG) $(srcdir)/bsearch.c -o pic/$@; \
+ else true; fi
+@@ -566,20 +569,21 @@
+ else true; fi
+ $(COMPILE.c) $(srcdir)/calloc.c $(OUTPUT_OPTION)
+
+-./choose-temp.o: $(srcdir)/choose-temp.c stamp-h $(INCDIR)/ansidecl.h \
++./choose-temp.o: $(srcdir)/choose-temp.c config.h $(INCDIR)/ansidecl.h \
+ $(INCDIR)/libiberty.h
+ if [ x"$(PICFLAG)" != x ]; then \
+ $(COMPILE.c) $(PICFLAG) $(srcdir)/choose-temp.c -o pic/$@; \
+ else true; fi
+ $(COMPILE.c) $(srcdir)/choose-temp.c $(OUTPUT_OPTION)
+
+-./clock.o: $(srcdir)/clock.c stamp-h
++./clock.o: $(srcdir)/clock.c config.h
+ if [ x"$(PICFLAG)" != x ]; then \
+ $(COMPILE.c) $(PICFLAG) $(srcdir)/clock.c -o pic/$@; \
+ else true; fi
+ $(COMPILE.c) $(srcdir)/clock.c $(OUTPUT_OPTION)
+
+-./concat.o: $(srcdir)/concat.c stamp-h $(INCDIR)/ansidecl.h $(INCDIR)/libiberty.h
++./concat.o: $(srcdir)/concat.c config.h $(INCDIR)/ansidecl.h \
++ $(INCDIR)/libiberty.h
+ if [ x"$(PICFLAG)" != x ]; then \
+ $(COMPILE.c) $(PICFLAG) $(srcdir)/concat.c -o pic/$@; \
+ else true; fi
+@@ -591,7 +595,7 @@
+ else true; fi
+ $(COMPILE.c) $(srcdir)/copysign.c $(OUTPUT_OPTION)
+
+-./cp-demangle.o: $(srcdir)/cp-demangle.c stamp-h $(INCDIR)/ansidecl.h \
++./cp-demangle.o: $(srcdir)/cp-demangle.c config.h $(INCDIR)/ansidecl.h \
+ $(srcdir)/cp-demangle.h $(INCDIR)/demangle.h \
+ $(INCDIR)/dyn-string.h $(INCDIR)/getopt.h $(INCDIR)/libiberty.h
+ if [ x"$(PICFLAG)" != x ]; then \
+@@ -599,7 +603,7 @@
+ else true; fi
+ $(COMPILE.c) $(srcdir)/cp-demangle.c $(OUTPUT_OPTION)
+
+-./cp-demint.o: $(srcdir)/cp-demint.c stamp-h $(INCDIR)/ansidecl.h \
++./cp-demint.o: $(srcdir)/cp-demint.c config.h $(INCDIR)/ansidecl.h \
+ $(srcdir)/cp-demangle.h $(INCDIR)/demangle.h \
+ $(INCDIR)/libiberty.h
+ if [ x"$(PICFLAG)" != x ]; then \
+@@ -607,7 +611,7 @@
+ else true; fi
+ $(COMPILE.c) $(srcdir)/cp-demint.c $(OUTPUT_OPTION)
+
+-./cplus-dem.o: $(srcdir)/cplus-dem.c stamp-h $(INCDIR)/ansidecl.h \
++./cplus-dem.o: $(srcdir)/cplus-dem.c config.h $(INCDIR)/ansidecl.h \
+ $(INCDIR)/demangle.h $(INCDIR)/libiberty.h \
+ $(INCDIR)/safe-ctype.h
+ if [ x"$(PICFLAG)" != x ]; then \
+@@ -615,14 +619,14 @@
+ else true; fi
+ $(COMPILE.c) $(srcdir)/cplus-dem.c $(OUTPUT_OPTION)
+
+-./dyn-string.o: $(srcdir)/dyn-string.c stamp-h $(INCDIR)/ansidecl.h \
++./dyn-string.o: $(srcdir)/dyn-string.c config.h $(INCDIR)/ansidecl.h \
+ $(INCDIR)/dyn-string.h $(INCDIR)/libiberty.h
+ if [ x"$(PICFLAG)" != x ]; then \
+ $(COMPILE.c) $(PICFLAG) $(srcdir)/dyn-string.c -o pic/$@; \
+ else true; fi
+ $(COMPILE.c) $(srcdir)/dyn-string.c $(OUTPUT_OPTION)
+
+-./fdmatch.o: $(srcdir)/fdmatch.c stamp-h $(INCDIR)/ansidecl.h \
++./fdmatch.o: $(srcdir)/fdmatch.c config.h $(INCDIR)/ansidecl.h \
+ $(INCDIR)/libiberty.h
+ if [ x"$(PICFLAG)" != x ]; then \
+ $(COMPILE.c) $(PICFLAG) $(srcdir)/fdmatch.c -o pic/$@; \
+@@ -635,93 +639,94 @@
+ else true; fi
+ $(COMPILE.c) $(srcdir)/ffs.c $(OUTPUT_OPTION)
+
+-./fibheap.o: $(srcdir)/fibheap.c stamp-h $(INCDIR)/ansidecl.h $(INCDIR)/fibheap.h \
+- $(INCDIR)/libiberty.h
++./fibheap.o: $(srcdir)/fibheap.c config.h $(INCDIR)/ansidecl.h \
++ $(INCDIR)/fibheap.h $(INCDIR)/libiberty.h
+ if [ x"$(PICFLAG)" != x ]; then \
+ $(COMPILE.c) $(PICFLAG) $(srcdir)/fibheap.c -o pic/$@; \
+ else true; fi
+ $(COMPILE.c) $(srcdir)/fibheap.c $(OUTPUT_OPTION)
+
+-./filename_cmp.o: $(srcdir)/filename_cmp.c stamp-h $(INCDIR)/filenames.h \
++./filename_cmp.o: $(srcdir)/filename_cmp.c config.h $(INCDIR)/filenames.h \
+ $(INCDIR)/safe-ctype.h
+ if [ x"$(PICFLAG)" != x ]; then \
+ $(COMPILE.c) $(PICFLAG) $(srcdir)/filename_cmp.c -o pic/$@; \
+ else true; fi
+ $(COMPILE.c) $(srcdir)/filename_cmp.c $(OUTPUT_OPTION)
+
+-./floatformat.o: $(srcdir)/floatformat.c stamp-h $(INCDIR)/ansidecl.h \
++./floatformat.o: $(srcdir)/floatformat.c config.h $(INCDIR)/ansidecl.h \
+ $(INCDIR)/floatformat.h $(INCDIR)/libiberty.h
+ if [ x"$(PICFLAG)" != x ]; then \
+ $(COMPILE.c) $(PICFLAG) $(srcdir)/floatformat.c -o pic/$@; \
+ else true; fi
+ $(COMPILE.c) $(srcdir)/floatformat.c $(OUTPUT_OPTION)
+
+-./fnmatch.o: $(srcdir)/fnmatch.c stamp-h $(INCDIR)/fnmatch.h \
++./fnmatch.o: $(srcdir)/fnmatch.c config.h $(INCDIR)/fnmatch.h \
+ $(INCDIR)/safe-ctype.h
+ if [ x"$(PICFLAG)" != x ]; then \
+ $(COMPILE.c) $(PICFLAG) $(srcdir)/fnmatch.c -o pic/$@; \
+ else true; fi
+ $(COMPILE.c) $(srcdir)/fnmatch.c $(OUTPUT_OPTION)
+
+-./fopen_unlocked.o: $(srcdir)/fopen_unlocked.c stamp-h $(INCDIR)/ansidecl.h \
++./fopen_unlocked.o: $(srcdir)/fopen_unlocked.c config.h $(INCDIR)/ansidecl.h \
+ $(INCDIR)/libiberty.h
+ if [ x"$(PICFLAG)" != x ]; then \
+ $(COMPILE.c) $(PICFLAG) $(srcdir)/fopen_unlocked.c -o pic/$@; \
+ else true; fi
+ $(COMPILE.c) $(srcdir)/fopen_unlocked.c $(OUTPUT_OPTION)
+
+-./getcwd.o: $(srcdir)/getcwd.c stamp-h
++./getcwd.o: $(srcdir)/getcwd.c config.h
+ if [ x"$(PICFLAG)" != x ]; then \
+ $(COMPILE.c) $(PICFLAG) $(srcdir)/getcwd.c -o pic/$@; \
+ else true; fi
+ $(COMPILE.c) $(srcdir)/getcwd.c $(OUTPUT_OPTION)
+
+-./getopt.o: $(srcdir)/getopt.c stamp-h $(INCDIR)/ansidecl.h $(INCDIR)/getopt.h
++./getopt.o: $(srcdir)/getopt.c config.h $(INCDIR)/ansidecl.h $(INCDIR)/getopt.h
+ if [ x"$(PICFLAG)" != x ]; then \
+ $(COMPILE.c) $(PICFLAG) $(srcdir)/getopt.c -o pic/$@; \
+ else true; fi
+ $(COMPILE.c) $(srcdir)/getopt.c $(OUTPUT_OPTION)
+
+-./getopt1.o: $(srcdir)/getopt1.c stamp-h $(INCDIR)/getopt.h
++./getopt1.o: $(srcdir)/getopt1.c config.h $(INCDIR)/getopt.h
+ if [ x"$(PICFLAG)" != x ]; then \
+ $(COMPILE.c) $(PICFLAG) $(srcdir)/getopt1.c -o pic/$@; \
+ else true; fi
+ $(COMPILE.c) $(srcdir)/getopt1.c $(OUTPUT_OPTION)
+
+-./getpagesize.o: $(srcdir)/getpagesize.c stamp-h
++./getpagesize.o: $(srcdir)/getpagesize.c config.h
+ if [ x"$(PICFLAG)" != x ]; then \
+ $(COMPILE.c) $(PICFLAG) $(srcdir)/getpagesize.c -o pic/$@; \
+ else true; fi
+ $(COMPILE.c) $(srcdir)/getpagesize.c $(OUTPUT_OPTION)
+
+-./getpwd.o: $(srcdir)/getpwd.c stamp-h $(INCDIR)/ansidecl.h $(INCDIR)/libiberty.h
++./getpwd.o: $(srcdir)/getpwd.c config.h $(INCDIR)/ansidecl.h \
++ $(INCDIR)/libiberty.h
+ if [ x"$(PICFLAG)" != x ]; then \
+ $(COMPILE.c) $(PICFLAG) $(srcdir)/getpwd.c -o pic/$@; \
+ else true; fi
+ $(COMPILE.c) $(srcdir)/getpwd.c $(OUTPUT_OPTION)
+
+-./getruntime.o: $(srcdir)/getruntime.c stamp-h $(INCDIR)/ansidecl.h \
++./getruntime.o: $(srcdir)/getruntime.c config.h $(INCDIR)/ansidecl.h \
+ $(INCDIR)/libiberty.h
+ if [ x"$(PICFLAG)" != x ]; then \
+ $(COMPILE.c) $(PICFLAG) $(srcdir)/getruntime.c -o pic/$@; \
+ else true; fi
+ $(COMPILE.c) $(srcdir)/getruntime.c $(OUTPUT_OPTION)
+
+-./gettimeofday.o: $(srcdir)/gettimeofday.c stamp-h $(INCDIR)/ansidecl.h \
++./gettimeofday.o: $(srcdir)/gettimeofday.c config.h $(INCDIR)/ansidecl.h \
+ $(INCDIR)/libiberty.h
+ if [ x"$(PICFLAG)" != x ]; then \
+ $(COMPILE.c) $(PICFLAG) $(srcdir)/gettimeofday.c -o pic/$@; \
+ else true; fi
+ $(COMPILE.c) $(srcdir)/gettimeofday.c $(OUTPUT_OPTION)
+
+-./hashtab.o: $(srcdir)/hashtab.c stamp-h $(INCDIR)/ansidecl.h $(INCDIR)/hashtab.h \
+- $(INCDIR)/libiberty.h
++./hashtab.o: $(srcdir)/hashtab.c config.h $(INCDIR)/ansidecl.h \
++ $(INCDIR)/hashtab.h $(INCDIR)/libiberty.h
+ if [ x"$(PICFLAG)" != x ]; then \
+ $(COMPILE.c) $(PICFLAG) $(srcdir)/hashtab.c -o pic/$@; \
+ else true; fi
+ $(COMPILE.c) $(srcdir)/hashtab.c $(OUTPUT_OPTION)
+
+-./hex.o: $(srcdir)/hex.c stamp-h $(INCDIR)/ansidecl.h $(INCDIR)/libiberty.h \
++./hex.o: $(srcdir)/hex.c config.h $(INCDIR)/ansidecl.h $(INCDIR)/libiberty.h \
+ $(INCDIR)/safe-ctype.h
+ if [ x"$(PICFLAG)" != x ]; then \
+ $(COMPILE.c) $(PICFLAG) $(srcdir)/hex.c -o pic/$@; \
+@@ -740,7 +745,7 @@
+ else true; fi
+ $(COMPILE.c) $(srcdir)/insque.c $(OUTPUT_OPTION)
+
+-./lbasename.o: $(srcdir)/lbasename.c stamp-h $(INCDIR)/ansidecl.h \
++./lbasename.o: $(srcdir)/lbasename.c config.h $(INCDIR)/ansidecl.h \
+ $(INCDIR)/filenames.h $(INCDIR)/libiberty.h \
+ $(INCDIR)/safe-ctype.h
+ if [ x"$(PICFLAG)" != x ]; then \
+@@ -748,28 +753,28 @@
+ else true; fi
+ $(COMPILE.c) $(srcdir)/lbasename.c $(OUTPUT_OPTION)
+
+-./lrealpath.o: $(srcdir)/lrealpath.c stamp-h $(INCDIR)/ansidecl.h \
++./lrealpath.o: $(srcdir)/lrealpath.c config.h $(INCDIR)/ansidecl.h \
+ $(INCDIR)/libiberty.h
+ if [ x"$(PICFLAG)" != x ]; then \
+ $(COMPILE.c) $(PICFLAG) $(srcdir)/lrealpath.c -o pic/$@; \
+ else true; fi
+ $(COMPILE.c) $(srcdir)/lrealpath.c $(OUTPUT_OPTION)
+
+-./make-relative-prefix.o: $(srcdir)/make-relative-prefix.c stamp-h \
++./make-relative-prefix.o: $(srcdir)/make-relative-prefix.c config.h \
+ $(INCDIR)/ansidecl.h $(INCDIR)/libiberty.h
+ if [ x"$(PICFLAG)" != x ]; then \
+ $(COMPILE.c) $(PICFLAG) $(srcdir)/make-relative-prefix.c -o pic/$@; \
+ else true; fi
+ $(COMPILE.c) $(srcdir)/make-relative-prefix.c $(OUTPUT_OPTION)
+
+-./make-temp-file.o: $(srcdir)/make-temp-file.c stamp-h $(INCDIR)/ansidecl.h \
++./make-temp-file.o: $(srcdir)/make-temp-file.c config.h $(INCDIR)/ansidecl.h \
+ $(INCDIR)/libiberty.h
+ if [ x"$(PICFLAG)" != x ]; then \
+ $(COMPILE.c) $(PICFLAG) $(srcdir)/make-temp-file.c -o pic/$@; \
+ else true; fi
+ $(COMPILE.c) $(srcdir)/make-temp-file.c $(OUTPUT_OPTION)
+
+-./md5.o: $(srcdir)/md5.c stamp-h $(INCDIR)/ansidecl.h $(INCDIR)/md5.h
++./md5.o: $(srcdir)/md5.c config.h $(INCDIR)/ansidecl.h $(INCDIR)/md5.h
+ if [ x"$(PICFLAG)" != x ]; then \
+ $(COMPILE.c) $(PICFLAG) $(srcdir)/md5.c -o pic/$@; \
+ else true; fi
+@@ -811,7 +816,7 @@
+ else true; fi
+ $(COMPILE.c) $(srcdir)/memset.c $(OUTPUT_OPTION)
+
+-./mkstemps.o: $(srcdir)/mkstemps.c stamp-h $(INCDIR)/ansidecl.h
++./mkstemps.o: $(srcdir)/mkstemps.c config.h $(INCDIR)/ansidecl.h
+ if [ x"$(PICFLAG)" != x ]; then \
+ $(COMPILE.c) $(PICFLAG) $(srcdir)/mkstemps.c -o pic/$@; \
+ else true; fi
+@@ -823,41 +828,41 @@
+ else true; fi
+ $(COMPILE.c) $(srcdir)/msdos.c $(OUTPUT_OPTION)
+
+-./objalloc.o: $(srcdir)/objalloc.c stamp-h $(INCDIR)/ansidecl.h \
++./objalloc.o: $(srcdir)/objalloc.c config.h $(INCDIR)/ansidecl.h \
+ $(INCDIR)/objalloc.h
+ if [ x"$(PICFLAG)" != x ]; then \
+ $(COMPILE.c) $(PICFLAG) $(srcdir)/objalloc.c -o pic/$@; \
+ else true; fi
+ $(COMPILE.c) $(srcdir)/objalloc.c $(OUTPUT_OPTION)
+
+-./obstack.o: $(srcdir)/obstack.c stamp-h $(INCDIR)/obstack.h
++./obstack.o: $(srcdir)/obstack.c config.h $(INCDIR)/obstack.h
+ if [ x"$(PICFLAG)" != x ]; then \
+ $(COMPILE.c) $(PICFLAG) $(srcdir)/obstack.c -o pic/$@; \
+ else true; fi
+ $(COMPILE.c) $(srcdir)/obstack.c $(OUTPUT_OPTION)
+
+-./partition.o: $(srcdir)/partition.c stamp-h $(INCDIR)/ansidecl.h \
++./partition.o: $(srcdir)/partition.c config.h $(INCDIR)/ansidecl.h \
+ $(INCDIR)/libiberty.h $(INCDIR)/partition.h
+ if [ x"$(PICFLAG)" != x ]; then \
+ $(COMPILE.c) $(PICFLAG) $(srcdir)/partition.c -o pic/$@; \
+ else true; fi
+ $(COMPILE.c) $(srcdir)/partition.c $(OUTPUT_OPTION)
+
+-./pex-common.o: $(srcdir)/pex-common.c stamp-h $(INCDIR)/ansidecl.h \
++./pex-common.o: $(srcdir)/pex-common.c config.h $(INCDIR)/ansidecl.h \
+ $(INCDIR)/libiberty.h $(srcdir)/pex-common.h
+ if [ x"$(PICFLAG)" != x ]; then \
+ $(COMPILE.c) $(PICFLAG) $(srcdir)/pex-common.c -o pic/$@; \
+ else true; fi
+ $(COMPILE.c) $(srcdir)/pex-common.c $(OUTPUT_OPTION)
+
+-./pex-djgpp.o: $(srcdir)/pex-djgpp.c stamp-h $(INCDIR)/ansidecl.h \
++./pex-djgpp.o: $(srcdir)/pex-djgpp.c config.h $(INCDIR)/ansidecl.h \
+ $(INCDIR)/libiberty.h $(srcdir)/pex-common.h
+ if [ x"$(PICFLAG)" != x ]; then \
+ $(COMPILE.c) $(PICFLAG) $(srcdir)/pex-djgpp.c -o pic/$@; \
+ else true; fi
+ $(COMPILE.c) $(srcdir)/pex-djgpp.c $(OUTPUT_OPTION)
+
+-./pex-msdos.o: $(srcdir)/pex-msdos.c stamp-h $(INCDIR)/ansidecl.h \
++./pex-msdos.o: $(srcdir)/pex-msdos.c config.h $(INCDIR)/ansidecl.h \
+ $(INCDIR)/libiberty.h $(srcdir)/pex-common.h \
+ $(INCDIR)/safe-ctype.h
+ if [ x"$(PICFLAG)" != x ]; then \
+@@ -865,42 +870,42 @@
+ else true; fi
+ $(COMPILE.c) $(srcdir)/pex-msdos.c $(OUTPUT_OPTION)
+
+-./pex-one.o: $(srcdir)/pex-one.c stamp-h $(INCDIR)/ansidecl.h \
++./pex-one.o: $(srcdir)/pex-one.c config.h $(INCDIR)/ansidecl.h \
+ $(INCDIR)/libiberty.h
+ if [ x"$(PICFLAG)" != x ]; then \
+ $(COMPILE.c) $(PICFLAG) $(srcdir)/pex-one.c -o pic/$@; \
+ else true; fi
+ $(COMPILE.c) $(srcdir)/pex-one.c $(OUTPUT_OPTION)
+
+-./pex-unix.o: $(srcdir)/pex-unix.c stamp-h $(INCDIR)/ansidecl.h \
++./pex-unix.o: $(srcdir)/pex-unix.c config.h $(INCDIR)/ansidecl.h \
+ $(INCDIR)/libiberty.h $(srcdir)/pex-common.h
+ if [ x"$(PICFLAG)" != x ]; then \
+ $(COMPILE.c) $(PICFLAG) $(srcdir)/pex-unix.c -o pic/$@; \
+ else true; fi
+ $(COMPILE.c) $(srcdir)/pex-unix.c $(OUTPUT_OPTION)
+
+-./pex-win32.o: $(srcdir)/pex-win32.c stamp-h $(INCDIR)/ansidecl.h \
++./pex-win32.o: $(srcdir)/pex-win32.c config.h $(INCDIR)/ansidecl.h \
+ $(INCDIR)/libiberty.h $(srcdir)/pex-common.h
+ if [ x"$(PICFLAG)" != x ]; then \
+ $(COMPILE.c) $(PICFLAG) $(srcdir)/pex-win32.c -o pic/$@; \
+ else true; fi
+ $(COMPILE.c) $(srcdir)/pex-win32.c $(OUTPUT_OPTION)
+
+-./pexecute.o: $(srcdir)/pexecute.c stamp-h $(INCDIR)/ansidecl.h \
++./pexecute.o: $(srcdir)/pexecute.c config.h $(INCDIR)/ansidecl.h \
+ $(INCDIR)/libiberty.h
+ if [ x"$(PICFLAG)" != x ]; then \
+ $(COMPILE.c) $(PICFLAG) $(srcdir)/pexecute.c -o pic/$@; \
+ else true; fi
+ $(COMPILE.c) $(srcdir)/pexecute.c $(OUTPUT_OPTION)
+
+-./physmem.o: $(srcdir)/physmem.c stamp-h $(INCDIR)/ansidecl.h \
++./physmem.o: $(srcdir)/physmem.c config.h $(INCDIR)/ansidecl.h \
+ $(INCDIR)/libiberty.h
+ if [ x"$(PICFLAG)" != x ]; then \
+ $(COMPILE.c) $(PICFLAG) $(srcdir)/physmem.c -o pic/$@; \
+ else true; fi
+ $(COMPILE.c) $(srcdir)/physmem.c $(OUTPUT_OPTION)
+
+-./putenv.o: $(srcdir)/putenv.c stamp-h $(INCDIR)/ansidecl.h
++./putenv.o: $(srcdir)/putenv.c config.h $(INCDIR)/ansidecl.h
+ if [ x"$(PICFLAG)" != x ]; then \
+ $(COMPILE.c) $(PICFLAG) $(srcdir)/putenv.c -o pic/$@; \
+ else true; fi
+@@ -912,14 +917,14 @@
+ else true; fi
+ $(COMPILE.c) $(srcdir)/random.c $(OUTPUT_OPTION)
+
+-./regex.o: $(srcdir)/regex.c stamp-h $(INCDIR)/ansidecl.h $(INCDIR)/xregex.h \
++./regex.o: $(srcdir)/regex.c config.h $(INCDIR)/ansidecl.h $(INCDIR)/xregex.h \
+ $(INCDIR)/xregex2.h
+ if [ x"$(PICFLAG)" != x ]; then \
+ $(COMPILE.c) $(PICFLAG) $(srcdir)/regex.c -o pic/$@; \
+ else true; fi
+ $(COMPILE.c) $(srcdir)/regex.c $(OUTPUT_OPTION)
+
+-./rename.o: $(srcdir)/rename.c stamp-h $(INCDIR)/ansidecl.h
++./rename.o: $(srcdir)/rename.c config.h $(INCDIR)/ansidecl.h
+ if [ x"$(PICFLAG)" != x ]; then \
+ $(COMPILE.c) $(PICFLAG) $(srcdir)/rename.c -o pic/$@; \
+ else true; fi
+@@ -938,7 +943,7 @@
+ else true; fi
+ $(COMPILE.c) $(srcdir)/safe-ctype.c $(OUTPUT_OPTION)
+
+-./setenv.o: $(srcdir)/setenv.c stamp-h $(INCDIR)/ansidecl.h
++./setenv.o: $(srcdir)/setenv.c config.h $(INCDIR)/ansidecl.h
+ if [ x"$(PICFLAG)" != x ]; then \
+ $(COMPILE.c) $(PICFLAG) $(srcdir)/setenv.c -o pic/$@; \
+ else true; fi
+@@ -956,20 +961,21 @@
+ else true; fi
+ $(COMPILE.c) $(srcdir)/snprintf.c $(OUTPUT_OPTION)
+
+-./sort.o: $(srcdir)/sort.c stamp-h $(INCDIR)/ansidecl.h $(INCDIR)/libiberty.h \
++./sort.o: $(srcdir)/sort.c config.h $(INCDIR)/ansidecl.h $(INCDIR)/libiberty.h \
+ $(INCDIR)/sort.h
+ if [ x"$(PICFLAG)" != x ]; then \
+ $(COMPILE.c) $(PICFLAG) $(srcdir)/sort.c -o pic/$@; \
+ else true; fi
+ $(COMPILE.c) $(srcdir)/sort.c $(OUTPUT_OPTION)
+
+-./spaces.o: $(srcdir)/spaces.c stamp-h $(INCDIR)/ansidecl.h $(INCDIR)/libiberty.h
++./spaces.o: $(srcdir)/spaces.c config.h $(INCDIR)/ansidecl.h \
++ $(INCDIR)/libiberty.h
+ if [ x"$(PICFLAG)" != x ]; then \
+ $(COMPILE.c) $(PICFLAG) $(srcdir)/spaces.c -o pic/$@; \
+ else true; fi
+ $(COMPILE.c) $(srcdir)/spaces.c $(OUTPUT_OPTION)
+
+-./splay-tree.o: $(srcdir)/splay-tree.c stamp-h $(INCDIR)/ansidecl.h \
++./splay-tree.o: $(srcdir)/splay-tree.c config.h $(INCDIR)/ansidecl.h \
+ $(INCDIR)/libiberty.h $(INCDIR)/splay-tree.h
+ if [ x"$(PICFLAG)" != x ]; then \
+ $(COMPILE.c) $(PICFLAG) $(srcdir)/splay-tree.c -o pic/$@; \
+@@ -1006,7 +1012,7 @@
+ else true; fi
+ $(COMPILE.c) $(srcdir)/strdup.c $(OUTPUT_OPTION)
+
+-./strerror.o: $(srcdir)/strerror.c stamp-h $(INCDIR)/ansidecl.h \
++./strerror.o: $(srcdir)/strerror.c config.h $(INCDIR)/ansidecl.h \
+ $(INCDIR)/libiberty.h
+ if [ x"$(PICFLAG)" != x ]; then \
+ $(COMPILE.c) $(PICFLAG) $(srcdir)/strerror.c -o pic/$@; \
+@@ -1037,7 +1043,7 @@
+ else true; fi
+ $(COMPILE.c) $(srcdir)/strrchr.c $(OUTPUT_OPTION)
+
+-./strsignal.o: $(srcdir)/strsignal.c stamp-h $(INCDIR)/ansidecl.h \
++./strsignal.o: $(srcdir)/strsignal.c config.h $(INCDIR)/ansidecl.h \
+ $(INCDIR)/libiberty.h
+ if [ x"$(PICFLAG)" != x ]; then \
+ $(COMPILE.c) $(PICFLAG) $(srcdir)/strsignal.c -o pic/$@; \
+@@ -1056,13 +1062,13 @@
+ else true; fi
+ $(COMPILE.c) $(srcdir)/strtod.c $(OUTPUT_OPTION)
+
+-./strtol.o: $(srcdir)/strtol.c stamp-h $(INCDIR)/safe-ctype.h
++./strtol.o: $(srcdir)/strtol.c config.h $(INCDIR)/safe-ctype.h
+ if [ x"$(PICFLAG)" != x ]; then \
+ $(COMPILE.c) $(PICFLAG) $(srcdir)/strtol.c -o pic/$@; \
+ else true; fi
+ $(COMPILE.c) $(srcdir)/strtol.c $(OUTPUT_OPTION)
+
+-./strtoul.o: $(srcdir)/strtoul.c stamp-h $(INCDIR)/ansidecl.h \
++./strtoul.o: $(srcdir)/strtoul.c config.h $(INCDIR)/ansidecl.h \
+ $(INCDIR)/safe-ctype.h
+ if [ x"$(PICFLAG)" != x ]; then \
+ $(COMPILE.c) $(PICFLAG) $(srcdir)/strtoul.c -o pic/$@; \
+@@ -1082,14 +1088,14 @@
+ else true; fi
+ $(COMPILE.c) $(srcdir)/tmpnam.c $(OUTPUT_OPTION)
+
+-./unlink-if-ordinary.o: $(srcdir)/unlink-if-ordinary.c stamp-h \
++./unlink-if-ordinary.o: $(srcdir)/unlink-if-ordinary.c config.h \
+ $(INCDIR)/ansidecl.h $(INCDIR)/libiberty.h
+ if [ x"$(PICFLAG)" != x ]; then \
+ $(COMPILE.c) $(PICFLAG) $(srcdir)/unlink-if-ordinary.c -o pic/$@; \
+ else true; fi
+ $(COMPILE.c) $(srcdir)/unlink-if-ordinary.c $(OUTPUT_OPTION)
+
+-./vasprintf.o: $(srcdir)/vasprintf.c stamp-h $(INCDIR)/ansidecl.h \
++./vasprintf.o: $(srcdir)/vasprintf.c config.h $(INCDIR)/ansidecl.h \
+ $(INCDIR)/libiberty.h
+ if [ x"$(PICFLAG)" != x ]; then \
+ $(COMPILE.c) $(PICFLAG) $(srcdir)/vasprintf.c -o pic/$@; \
+@@ -1114,7 +1120,7 @@
+ else true; fi
+ $(COMPILE.c) $(srcdir)/vprintf.c $(OUTPUT_OPTION)
+
+-./vsnprintf.o: $(srcdir)/vsnprintf.c stamp-h $(INCDIR)/ansidecl.h \
++./vsnprintf.o: $(srcdir)/vsnprintf.c config.h $(INCDIR)/ansidecl.h \
+ $(INCDIR)/libiberty.h
+ if [ x"$(PICFLAG)" != x ]; then \
+ $(COMPILE.c) $(PICFLAG) $(srcdir)/vsnprintf.c -o pic/$@; \
+@@ -1127,54 +1133,54 @@
+ else true; fi
+ $(COMPILE.c) $(srcdir)/vsprintf.c $(OUTPUT_OPTION)
+
+-./waitpid.o: $(srcdir)/waitpid.c stamp-h $(INCDIR)/ansidecl.h
++./waitpid.o: $(srcdir)/waitpid.c config.h $(INCDIR)/ansidecl.h
+ if [ x"$(PICFLAG)" != x ]; then \
+ $(COMPILE.c) $(PICFLAG) $(srcdir)/waitpid.c -o pic/$@; \
+ else true; fi
+ $(COMPILE.c) $(srcdir)/waitpid.c $(OUTPUT_OPTION)
+
+-./xatexit.o: $(srcdir)/xatexit.c stamp-h $(INCDIR)/ansidecl.h \
++./xatexit.o: $(srcdir)/xatexit.c config.h $(INCDIR)/ansidecl.h \
+ $(INCDIR)/libiberty.h
+ if [ x"$(PICFLAG)" != x ]; then \
+ $(COMPILE.c) $(PICFLAG) $(srcdir)/xatexit.c -o pic/$@; \
+ else true; fi
+ $(COMPILE.c) $(srcdir)/xatexit.c $(OUTPUT_OPTION)
+
+-./xexit.o: $(srcdir)/xexit.c stamp-h $(INCDIR)/ansidecl.h $(INCDIR)/libiberty.h
++./xexit.o: $(srcdir)/xexit.c config.h $(INCDIR)/ansidecl.h $(INCDIR)/libiberty.h
+ if [ x"$(PICFLAG)" != x ]; then \
+ $(COMPILE.c) $(PICFLAG) $(srcdir)/xexit.c -o pic/$@; \
+ else true; fi
+ $(COMPILE.c) $(srcdir)/xexit.c $(OUTPUT_OPTION)
+
+-./xmalloc.o: $(srcdir)/xmalloc.c stamp-h $(INCDIR)/ansidecl.h \
++./xmalloc.o: $(srcdir)/xmalloc.c config.h $(INCDIR)/ansidecl.h \
+ $(INCDIR)/libiberty.h
+ if [ x"$(PICFLAG)" != x ]; then \
+ $(COMPILE.c) $(PICFLAG) $(srcdir)/xmalloc.c -o pic/$@; \
+ else true; fi
+ $(COMPILE.c) $(srcdir)/xmalloc.c $(OUTPUT_OPTION)
+
+-./xmemdup.o: $(srcdir)/xmemdup.c stamp-h $(INCDIR)/ansidecl.h \
++./xmemdup.o: $(srcdir)/xmemdup.c config.h $(INCDIR)/ansidecl.h \
+ $(INCDIR)/libiberty.h
+ if [ x"$(PICFLAG)" != x ]; then \
+ $(COMPILE.c) $(PICFLAG) $(srcdir)/xmemdup.c -o pic/$@; \
+ else true; fi
+ $(COMPILE.c) $(srcdir)/xmemdup.c $(OUTPUT_OPTION)
+
+-./xstrdup.o: $(srcdir)/xstrdup.c stamp-h $(INCDIR)/ansidecl.h \
++./xstrdup.o: $(srcdir)/xstrdup.c config.h $(INCDIR)/ansidecl.h \
+ $(INCDIR)/libiberty.h
+ if [ x"$(PICFLAG)" != x ]; then \
+ $(COMPILE.c) $(PICFLAG) $(srcdir)/xstrdup.c -o pic/$@; \
+ else true; fi
+ $(COMPILE.c) $(srcdir)/xstrdup.c $(OUTPUT_OPTION)
+
+-./xstrerror.o: $(srcdir)/xstrerror.c stamp-h $(INCDIR)/ansidecl.h \
++./xstrerror.o: $(srcdir)/xstrerror.c config.h $(INCDIR)/ansidecl.h \
+ $(INCDIR)/libiberty.h
+ if [ x"$(PICFLAG)" != x ]; then \
+ $(COMPILE.c) $(PICFLAG) $(srcdir)/xstrerror.c -o pic/$@; \
+ else true; fi
+ $(COMPILE.c) $(srcdir)/xstrerror.c $(OUTPUT_OPTION)
+
+-./xstrndup.o: $(srcdir)/xstrndup.c stamp-h $(INCDIR)/ansidecl.h \
++./xstrndup.o: $(srcdir)/xstrndup.c config.h $(INCDIR)/ansidecl.h \
+ $(INCDIR)/libiberty.h
+ if [ x"$(PICFLAG)" != x ]; then \
+ $(COMPILE.c) $(PICFLAG) $(srcdir)/xstrndup.c -o pic/$@; \
+Index: gcc-4.3.2/libiberty/configure
+===================================================================
+--- gcc-4.3.2.orig/libiberty/configure 2007-07-17 10:52:28.000000000 -0700
++++ gcc-4.3.2/libiberty/configure 2008-08-28 18:18:37.000000000 -0700
+@@ -309,7 +309,7 @@
+ # include <unistd.h>
+ #endif"
+
+-ac_subst_vars='SHELL PATH_SEPARATOR PACKAGE_NAME PACKAGE_TARNAME PACKAGE_VERSION PACKAGE_STRING PACKAGE_BUGREPORT exec_prefix prefix program_transform_name bindir sbindir libexecdir datadir sysconfdir sharedstatedir localstatedir libdir includedir oldincludedir infodir mandir build_alias host_alias target_alias DEFS ECHO_C ECHO_N ECHO_T LIBS libiberty_topdir MAINT NOTMAINT MAKEINFO BUILD_INFO PERL HAVE_PERL build build_cpu build_vendor build_os host host_cpu host_vendor host_os AR ac_ct_AR RANLIB ac_ct_RANLIB CC CFLAGS LDFLAGS CPPFLAGS ac_ct_CC EXEEXT OBJEXT CPP ac_libiberty_warn_cflags NO_MINUS_C_MINUS_O OUTPUT_OPTION INSTALL_PROGRAM INSTALL_SCRIPT INSTALL_DATA EGREP LIBOBJS CHECK target_header_dir pexecute INSTALL_DEST datarootdir docdir htmldir LTLIBOBJS'
++ac_subst_vars='SHELL PATH_SEPARATOR PACKAGE_NAME PACKAGE_TARNAME PACKAGE_VERSION PACKAGE_STRING PACKAGE_BUGREPORT exec_prefix prefix program_transform_name bindir sbindir libexecdir datadir sysconfdir sharedstatedir localstatedir libdir includedir oldincludedir infodir mandir build_alias host_alias target_alias DEFS ECHO_C ECHO_N ECHO_T LIBS libiberty_topdir MAINT NOTMAINT MAKEINFO BUILD_INFO PERL HAVE_PERL build build_cpu build_vendor build_os host host_cpu host_vendor host_os AR ac_ct_AR RANLIB ac_ct_RANLIB CC CFLAGS LDFLAGS CPPFLAGS ac_ct_CC EXEEXT OBJEXT CPP ac_libiberty_warn_cflags NO_MINUS_C_MINUS_O OUTPUT_OPTION INSTALL_PROGRAM INSTALL_SCRIPT INSTALL_DATA PICFLAG EGREP LIBOBJS CHECK target_header_dir pexecute INSTALL_DEST datarootdir docdir htmldir LTLIBOBJS'
+ ac_subst_files='host_makefile_frag'
+
+ # Initialize some variables set by options.
+@@ -3699,9 +3699,7 @@
+ esac
+
+ if [ -n "${frag}" ]; then
+- frags=${libiberty_topdir}/libiberty/config/$frag
+-else
+- frags=
++ frag=${libiberty_topdir}/libiberty/config/$frag
+ fi
+
+ # If they didn't specify --enable-shared, don't generate shared libs.
+@@ -3712,34 +3710,35 @@
+ *) shared=yes ;;
+ esac
+ if [ "${shared}" = "yes" ]; then
+- frag=
+ case "${host}" in
+ *-*-cygwin*) ;;
+- alpha*-*-linux*) frag=mh-elfalphapic ;;
+- arm*-*-*) frag=mh-armpic ;;
+- hppa*-*-*) frag=mh-papic ;;
++ alpha*-*-linux*) PICFLAG=-fPIC ;;
++ arm*-*-*) PICFLAG=-fPIC ;;
++ hppa*-*-*) PICFLAG=-fPIC ;;
++ i370-*-*) PICFLAG=-fPIC ;;
++ ia64-*-*) PICFLAG=-fpic ;;
+ i[34567]86-*-* | x86_64-*-*)
+- frag=mh-x86pic ;;
++ PICFLAG=-fpic ;;
++ m68k-*-*) PICFLAG=-fpic ;;
++ mips*-*-linux) PICFLAG=-fPIC ;;
+ powerpc*-*-aix*) ;;
+- powerpc*-*-*) frag=mh-ppcpic ;;
+- sparc*-*-*) frag=mh-sparcpic ;;
+- s390*-*-*) frag=mh-s390pic ;;
+- *) frag=mh-${host_cpu}pic ;;
++ powerpc*-*-*) PICFLAG=-fPIC ;;
++ sparc*-*-*) case "${CFLAGS}" in
++ *-fpic* ) PICFLAG=-fpic ;;
++ * ) PICFLAG=-fPIC ;;
++ esac ;;
++ s390*-*-*) PICFLAG=-fpic ;;
+ esac
+- if [ -n "${frag}" ]; then
+- frags="${frags} ${libiberty_topdir}/config/${frag}"
+- fi
+ fi
+
++
+ echo "# Warning: this fragment is automatically generated" > temp-frag
+
+-for frag in ${frags}; do
+- if [ -f ${frag} ]; then
+- echo "Appending ${frag} to xhost-mkfrag"
+- echo "# Following fragment copied from ${frag}" >> temp-frag
+- cat ${frag} >> temp-frag
+- fi
+-done
++if [ -n "${frag}" ] && [ -f "${frag}" ]; then
++ echo "Appending ${frag} to xhost-mkfrag"
++ echo "# Following fragment copied from ${frag}" >> temp-frag
++ cat ${frag} >> temp-frag
++fi
+
+ # record if we want to build shared libs.
+ if [ "${shared}" = "yes" ]; then
+@@ -9671,6 +9670,7 @@
+ s,@INSTALL_PROGRAM@,$INSTALL_PROGRAM,;t t
+ s,@INSTALL_SCRIPT@,$INSTALL_SCRIPT,;t t
+ s,@INSTALL_DATA@,$INSTALL_DATA,;t t
++s,@PICFLAG@,$PICFLAG,;t t
+ s,@EGREP@,$EGREP,;t t
+ s,@LIBOBJS@,$LIBOBJS,;t t
+ s,@CHECK@,$CHECK,;t t
+Index: gcc-4.3.2/libiberty/configure.ac
+===================================================================
+--- gcc-4.3.2.orig/libiberty/configure.ac 2007-07-17 10:52:28.000000000 -0700
++++ gcc-4.3.2/libiberty/configure.ac 2008-08-28 18:18:37.000000000 -0700
+@@ -187,9 +187,7 @@
+ esac
+
+ if [[ -n "${frag}" ]]; then
+- frags=${libiberty_topdir}/libiberty/config/$frag
+-else
+- frags=
++ frag=${libiberty_topdir}/libiberty/config/$frag
+ fi
+
+ # If they didn't specify --enable-shared, don't generate shared libs.
+@@ -200,34 +198,35 @@
+ *) shared=yes ;;
+ esac
+ if [[ "${shared}" = "yes" ]]; then
+- frag=
+ case "${host}" in
+ *-*-cygwin*) ;;
+- alpha*-*-linux*) frag=mh-elfalphapic ;;
+- arm*-*-*) frag=mh-armpic ;;
+- hppa*-*-*) frag=mh-papic ;;
++ alpha*-*-linux*) PICFLAG=-fPIC ;;
++ arm*-*-*) PICFLAG=-fPIC ;;
++ hppa*-*-*) PICFLAG=-fPIC ;;
++ i370-*-*) PICFLAG=-fPIC ;;
++ ia64-*-*) PICFLAG=-fpic ;;
+ i[[34567]]86-*-* | x86_64-*-*)
+- frag=mh-x86pic ;;
++ PICFLAG=-fpic ;;
++ m68k-*-*) PICFLAG=-fpic ;;
++ mips*-*-linux) PICFLAG=-fPIC ;;
+ powerpc*-*-aix*) ;;
+- powerpc*-*-*) frag=mh-ppcpic ;;
+- sparc*-*-*) frag=mh-sparcpic ;;
+- s390*-*-*) frag=mh-s390pic ;;
+- *) frag=mh-${host_cpu}pic ;;
++ powerpc*-*-*) PICFLAG=-fPIC ;;
++ sparc*-*-*) case "${CFLAGS}" in
++ *-fpic* ) PICFLAG=-fpic ;;
++ * ) PICFLAG=-fPIC ;;
++ esac ;;
++ s390*-*-*) PICFLAG=-fpic ;;
+ esac
+- if [[ -n "${frag}" ]]; then
+- frags="${frags} ${libiberty_topdir}/config/${frag}"
+- fi
+ fi
++AC_SUBST(PICFLAG)
+
+ echo "# Warning: this fragment is automatically generated" > temp-frag
+
+-for frag in ${frags}; do
+- if [[ -f ${frag} ]]; then
+- echo "Appending ${frag} to xhost-mkfrag"
+- echo "# Following fragment copied from ${frag}" >> temp-frag
+- cat ${frag} >> temp-frag
+- fi
+-done
++if [[ -n "${frag}" ]] && [[ -f "${frag}" ]]; then
++ echo "Appending ${frag} to xhost-mkfrag"
++ echo "# Following fragment copied from ${frag}" >> temp-frag
++ cat ${frag} >> temp-frag
++fi
+
+ # record if we want to build shared libs.
+ if [[ "${shared}" = "yes" ]]; then
+Index: gcc-4.3.2/gcc/Makefile.in
+===================================================================
+--- gcc-4.3.2.orig/gcc/Makefile.in 2008-08-28 18:05:19.000000000 -0700
++++ gcc-4.3.2/gcc/Makefile.in 2008-08-28 18:18:37.000000000 -0700
+@@ -672,7 +672,7 @@
+ BUILD_CFLAGS= @BUILD_CFLAGS@ -DGENERATOR_FILE
+
+ # Native linker and preprocessor flags. For x-fragment overrides.
+-BUILD_LDFLAGS=$(LDFLAGS)
++BUILD_LDFLAGS=@BUILD_LDFLAGS@
+ BUILD_CPPFLAGS=$(ALL_CPPFLAGS)
+
+ # Actual name to use when installing a native compiler.
+Index: gcc-4.3.2/gcc/configure
+===================================================================
+--- gcc-4.3.2.orig/gcc/configure 2008-08-28 18:05:26.000000000 -0700
++++ gcc-4.3.2/gcc/configure 2008-08-28 18:19:35.000000000 -0700
+@@ -458,7 +458,7 @@
+ # include <unistd.h>
+ #endif"
+
+-ac_subst_vars='SHELL PATH_SEPARATOR PACKAGE_NAME PACKAGE_TARNAME PACKAGE_VERSION PACKAGE_STRING PACKAGE_BUGREPORT exec_prefix prefix program_transform_name bindir sbindir libexecdir datadir sysconfdir sharedstatedir localstatedir libdir includedir oldincludedir infodir mandir build_alias host_alias target_alias DEFS ECHO_C ECHO_N ECHO_T LIBS build build_cpu build_vendor build_os host host_cpu host_vendor host_os target target_cpu target_vendor target_os target_noncanonical build_libsubdir build_subdir host_subdir target_subdir GENINSRC CC CFLAGS LDFLAGS CPPFLAGS ac_ct_CC EXEEXT OBJEXT NO_MINUS_C_MINUS_O OUTPUT_OPTION CPP EGREP loose_warn cxx_compat_warn strict_warn warn_cflags nocommon_flag TREEBROWSER valgrind_path valgrind_path_defines valgrind_command coverage_flags enable_multilib enable_decimal_float enable_fixed_point enable_shared TARGET_SYSTEM_ROOT TARGET_SYSTEM_ROOT_DEFINE CROSS_SYSTEM_HEADER_DIR onestep PKGVERSION REPORT_BUGS_TO REPORT_BUGS_TEXI datarootdir docdir htmldir SET_MAKE AWK LN_S LN RANLIB ac_ct_RANLIB ranlib_flags INSTALL INSTALL_PROGRAM INSTALL_DATA make_compare_target have_mktemp_command MAKEINFO BUILD_INFO GENERATED_MANPAGES FLEX BISON NM AR COLLECT2_LIBS GNAT_LIBEXC LDEXP_LIB TARGET_GETGROUPS_T LIBICONV LTLIBICONV LIBICONV_DEP manext objext gthread_flags extra_modes_file extra_opt_files USE_NLS LIBINTL LIBINTL_DEP INCINTL XGETTEXT GMSGFMT POSUB CATALOGS DATADIRNAME INSTOBJEXT GENCAT CATOBJEXT host_cc_for_libada CROSS ALL SYSTEM_HEADER_DIR inhibit_libc CC_FOR_BUILD BUILD_CFLAGS STMP_FIXINC STMP_FIXPROTO collect2 LIBTOOL SED FGREP GREP LD DUMPBIN ac_ct_DUMPBIN ac_ct_AR STRIP ac_ct_STRIP lt_ECHO objdir enable_fast_install gcc_cv_as ORIGINAL_AS_FOR_TARGET gcc_cv_ld ORIGINAL_LD_FOR_TARGET gcc_cv_nm ORIGINAL_NM_FOR_TARGET gcc_cv_objdump libgcc_visibility GGC zlibdir zlibinc MAINT gcc_tooldir dollar slibdir subdirs srcdir all_compilers all_gtfiles all_lang_makefrags all_lang_makefiles all_languages all_selected_languages build_exeext build_install_headers_dir build_xm_file_list build_xm_include_list build_xm_defines build_file_translate check_languages cpp_install_dir xmake_file tmake_file extra_gcc_objs extra_headers_list extra_objs extra_parts extra_passes extra_programs float_h_file gcc_config_arguments gcc_gxx_include_dir host_exeext host_xm_file_list host_xm_include_list host_xm_defines out_host_hook_obj install lang_opt_files lang_specs_files lang_tree_files local_prefix md_file objc_boehm_gc out_file out_object_file thread_file tm_file_list tm_include_list tm_defines tm_p_file_list tm_p_include_list xm_file_list xm_include_list xm_defines c_target_objs cxx_target_objs target_cpu_default GMPLIBS GMPINC LIBOBJS LTLIBOBJS'
++ac_subst_vars='SHELL PATH_SEPARATOR PACKAGE_NAME PACKAGE_TARNAME PACKAGE_VERSION PACKAGE_STRING PACKAGE_BUGREPORT exec_prefix prefix program_transform_name bindir sbindir libexecdir datadir sysconfdir sharedstatedir localstatedir libdir includedir oldincludedir infodir mandir build_alias host_alias target_alias DEFS ECHO_C ECHO_N ECHO_T LIBS build build_cpu build_vendor build_os host host_cpu host_vendor host_os target target_cpu target_vendor target_os target_noncanonical build_libsubdir build_subdir host_subdir target_subdir GENINSRC CC CFLAGS LDFLAGS CPPFLAGS ac_ct_CC EXEEXT OBJEXT NO_MINUS_C_MINUS_O OUTPUT_OPTION CPP EGREP loose_warn cxx_compat_warn strict_warn warn_cflags nocommon_flag TREEBROWSER valgrind_path valgrind_path_defines valgrind_command coverage_flags enable_multilib enable_decimal_float enable_fixed_point enable_shared TARGET_SYSTEM_ROOT TARGET_SYSTEM_ROOT_DEFINE CROSS_SYSTEM_HEADER_DIR onestep PKGVERSION REPORT_BUGS_TO REPORT_BUGS_TEXI datarootdir docdir htmldir SET_MAKE AWK LN_S LN RANLIB ac_ct_RANLIB ranlib_flags INSTALL INSTALL_PROGRAM INSTALL_DATA make_compare_target have_mktemp_command MAKEINFO BUILD_INFO GENERATED_MANPAGES FLEX BISON NM AR COLLECT2_LIBS GNAT_LIBEXC LDEXP_LIB TARGET_GETGROUPS_T LIBICONV LTLIBICONV LIBICONV_DEP manext objext gthread_flags extra_modes_file extra_opt_files USE_NLS LIBINTL LIBINTL_DEP INCINTL XGETTEXT GMSGFMT POSUB CATALOGS DATADIRNAME INSTOBJEXT GENCAT CATOBJEXT host_cc_for_libada CROSS ALL SYSTEM_HEADER_DIR inhibit_libc CC_FOR_BUILD BUILD_CFLAGS BUILD_LDFLAGS STMP_FIXINC STMP_FIXPROTO collect2 LIBTOOL SED FGREP GREP LD DUMPBIN ac_ct_DUMPBIN ac_ct_AR STRIP ac_ct_STRIP lt_ECHO objdir enable_fast_install gcc_cv_as ORIGINAL_AS_FOR_TARGET gcc_cv_ld ORIGINAL_LD_FOR_TARGET gcc_cv_nm ORIGINAL_NM_FOR_TARGET gcc_cv_objdump libgcc_visibility GGC zlibdir zlibinc MAINT gcc_tooldir dollar slibdir subdirs srcdir all_compilers all_gtfiles all_lang_makefrags all_lang_makefiles all_languages all_selected_languages build_exeext build_install_headers_dir build_xm_file_list build_xm_include_list build_xm_defines build_file_translate check_languages cpp_install_dir xmake_file tmake_file extra_gcc_objs extra_headers_list extra_objs extra_parts extra_passes extra_programs float_h_file gcc_config_arguments gcc_gxx_include_dir host_exeext host_xm_file_list host_xm_include_list host_xm_defines out_host_hook_obj install lang_opt_files lang_specs_files lang_tree_files local_prefix md_file objc_boehm_gc out_file out_object_file thread_file tm_file_list tm_include_list tm_defines tm_p_file_list tm_p_include_list xm_file_list xm_include_list xm_defines c_target_objs cxx_target_objs target_cpu_default GMPLIBS GMPINC LIBOBJS LTLIBOBJS'
+ ac_subst_files='language_hooks'
+
+ # Initialize some variables set by options.
+@@ -12972,6 +12972,7 @@
+ esac
+ saved_CFLAGS="${CFLAGS}"
+ CC="${CC_FOR_BUILD}" CFLAGS="${CFLAGS_FOR_BUILD}" \
++ LDFLAGS="${LDFLAGS_FOR_BUILD}" \
+ CONFIG_SITE= ${realsrcdir}/configure --cache-file=./other.cache \
+ --enable-languages=${enable_languages-all} \
+ --target=$target_alias --host=$build_alias --build=$build_alias
+@@ -13469,6 +13470,7 @@
+ # These are the normal (build=host) settings:
+ CC_FOR_BUILD='$(CC)'
+ BUILD_CFLAGS='$(ALL_CFLAGS)'
++BUILD_LDFLAGS='$(LDFLAGS)'
+ STMP_FIXINC=stmp-fixinc
+
+ # Possibly disable fixproto, on a per-target basis.
+@@ -13486,6 +13488,7 @@
+ if test x$build != x$host || test "x$coverage_flags" != x
+ then
+ BUILD_CFLAGS='$(INTERNAL_CFLAGS) $(T_CFLAGS) $(CFLAGS_FOR_BUILD)'
++ BUILD_LDFLAGS='$(LDFLAGS_FOR_BUILD)'
+
+ if test "x$TARGET_SYSTEM_ROOT" = x; then
+ if test "x$STMP_FIXPROTO" != x; then
+@@ -14064,13 +14067,13 @@
+ else
+ lt_cv_nm_interface="BSD nm"
+ echo "int some_variable = 0;" > conftest.$ac_ext
+- (eval echo "\"\$as_me:14067: $ac_compile\"" >&5)
++ (eval echo "\"\$as_me:14070: $ac_compile\"" >&5)
+ (eval "$ac_compile" 2>conftest.err)
+ cat conftest.err >&5
+- (eval echo "\"\$as_me:14070: $NM \\\"conftest.$ac_objext\\\"\"" >&5)
++ (eval echo "\"\$as_me:14073: $NM \\\"conftest.$ac_objext\\\"\"" >&5)
+ (eval "$NM \"conftest.$ac_objext\"" 2>conftest.err > conftest.out)
+ cat conftest.err >&5
+- (eval echo "\"\$as_me:14073: output\"" >&5)
++ (eval echo "\"\$as_me:14076: output\"" >&5)
+ cat conftest.out >&5
+ if $GREP 'External.*some_variable' conftest.out > /dev/null; then
+ lt_cv_nm_interface="MS dumpbin"
+@@ -15125,7 +15128,7 @@
+ ;;
+ *-*-irix6*)
+ # Find out which ABI we are using.
+- echo '#line 15128 "configure"' > conftest.$ac_ext
++ echo '#line 15131 "configure"' > conftest.$ac_ext
+ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+@@ -15745,11 +15748,11 @@
+ -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
+ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
+ -e 's:$: $lt_compiler_flag:'`
+- (eval echo "\"\$as_me:15748: $lt_compile\"" >&5)
++ (eval echo "\"\$as_me:15751: $lt_compile\"" >&5)
+ (eval "$lt_compile" 2>conftest.err)
+ ac_status=$?
+ cat conftest.err >&5
+- echo "$as_me:15752: \$? = $ac_status" >&5
++ echo "$as_me:15755: \$? = $ac_status" >&5
+ if (exit $ac_status) && test -s "$ac_outfile"; then
+ # The compiler can only warn and ignore the option if not recognized
+ # So say no if there are warnings other than the usual output.
+@@ -16067,11 +16070,11 @@
+ -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
+ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
+ -e 's:$: $lt_compiler_flag:'`
+- (eval echo "\"\$as_me:16070: $lt_compile\"" >&5)
++ (eval echo "\"\$as_me:16073: $lt_compile\"" >&5)
+ (eval "$lt_compile" 2>conftest.err)
+ ac_status=$?
+ cat conftest.err >&5
+- echo "$as_me:16074: \$? = $ac_status" >&5
++ echo "$as_me:16077: \$? = $ac_status" >&5
+ if (exit $ac_status) && test -s "$ac_outfile"; then
+ # The compiler can only warn and ignore the option if not recognized
+ # So say no if there are warnings other than the usual output.
+@@ -16172,11 +16175,11 @@
+ -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
+ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
+ -e 's:$: $lt_compiler_flag:'`
+- (eval echo "\"\$as_me:16175: $lt_compile\"" >&5)
++ (eval echo "\"\$as_me:16178: $lt_compile\"" >&5)
+ (eval "$lt_compile" 2>out/conftest.err)
+ ac_status=$?
+ cat out/conftest.err >&5
+- echo "$as_me:16179: \$? = $ac_status" >&5
++ echo "$as_me:16182: \$? = $ac_status" >&5
+ if (exit $ac_status) && test -s out/conftest2.$ac_objext
+ then
+ # The compiler can only warn and ignore the option if not recognized
+@@ -16227,11 +16230,11 @@
+ -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
+ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
+ -e 's:$: $lt_compiler_flag:'`
+- (eval echo "\"\$as_me:16230: $lt_compile\"" >&5)
++ (eval echo "\"\$as_me:16233: $lt_compile\"" >&5)
+ (eval "$lt_compile" 2>out/conftest.err)
+ ac_status=$?
+ cat out/conftest.err >&5
+- echo "$as_me:16234: \$? = $ac_status" >&5
++ echo "$as_me:16237: \$? = $ac_status" >&5
+ if (exit $ac_status) && test -s out/conftest2.$ac_objext
+ then
+ # The compiler can only warn and ignore the option if not recognized
+@@ -19024,7 +19027,7 @@
+ lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
+ lt_status=$lt_dlunknown
+ cat > conftest.$ac_ext <<_LT_EOF
+-#line 19027 "configure"
++#line 19030 "configure"
+ #include "confdefs.h"
+
+ #if HAVE_DLFCN_H
+@@ -19124,7 +19127,7 @@
+ lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
+ lt_status=$lt_dlunknown
+ cat > conftest.$ac_ext <<_LT_EOF
+-#line 19127 "configure"
++#line 19130 "configure"
+ #include "confdefs.h"
+
+ #if HAVE_DLFCN_H
+@@ -23934,6 +23937,7 @@
+ s,@inhibit_libc@,$inhibit_libc,;t t
+ s,@CC_FOR_BUILD@,$CC_FOR_BUILD,;t t
+ s,@BUILD_CFLAGS@,$BUILD_CFLAGS,;t t
++s,@BUILD_LDFLAGS@,$BUILD_LDFLAGS,;t t
+ s,@STMP_FIXINC@,$STMP_FIXINC,;t t
+ s,@STMP_FIXPROTO@,$STMP_FIXPROTO,;t t
+ s,@collect2@,$collect2,;t t
+Index: gcc-4.3.2/gcc/configure.ac
+===================================================================
+--- gcc-4.3.2.orig/gcc/configure.ac 2008-08-28 18:05:26.000000000 -0700
++++ gcc-4.3.2/gcc/configure.ac 2008-08-28 18:18:37.000000000 -0700
+@@ -1480,6 +1480,7 @@
+ esac
+ saved_CFLAGS="${CFLAGS}"
+ CC="${CC_FOR_BUILD}" CFLAGS="${CFLAGS_FOR_BUILD}" \
++ LDFLAGS="${LDFLAGS_FOR_BUILD}" \
+ CONFIG_SITE= ${realsrcdir}/configure --cache-file=./other.cache \
+ --enable-languages=${enable_languages-all} \
+ --target=$target_alias --host=$build_alias --build=$build_alias
+@@ -1776,6 +1777,7 @@
+ # These are the normal (build=host) settings:
+ CC_FOR_BUILD='$(CC)' AC_SUBST(CC_FOR_BUILD)
+ BUILD_CFLAGS='$(ALL_CFLAGS)' AC_SUBST(BUILD_CFLAGS)
++BUILD_LDFLAGS='$(LDFLAGS)' AC_SUBST(BUILD_LDFLAGS)
+ STMP_FIXINC=stmp-fixinc AC_SUBST(STMP_FIXINC)
+
+ # Possibly disable fixproto, on a per-target basis.
+@@ -1793,6 +1795,7 @@
+ if test x$build != x$host || test "x$coverage_flags" != x
+ then
+ BUILD_CFLAGS='$(INTERNAL_CFLAGS) $(T_CFLAGS) $(CFLAGS_FOR_BUILD)'
++ BUILD_LDFLAGS='$(LDFLAGS_FOR_BUILD)'
+
+ if test "x$TARGET_SYSTEM_ROOT" = x; then
+ if test "x$STMP_FIXPROTO" != x; then
diff --git a/recipes/gcc/gcc-4.4.0/gcc-arm-frename-registers.patch b/recipes/gcc/gcc-4.4.0/gcc-arm-frename-registers.patch
new file mode 100644
index 0000000000..280b90358e
--- /dev/null
+++ b/recipes/gcc/gcc-4.4.0/gcc-arm-frename-registers.patch
@@ -0,0 +1,25 @@
+http://gcc.gnu.org/bugzilla/show_bug.cgi?id=35964
+Index: gcc-4.3.0/gcc/regrename.c
+===================================================================
+--- gcc-4.3.0.orig/gcc/regrename.c 2008-05-28 08:31:15.000000000 -0700
++++ gcc-4.3.0/gcc/regrename.c 2008-05-28 08:34:00.000000000 -0700
+@@ -782,6 +782,10 @@
+ || (predicated && recog_data.operand_type[i] == OP_OUT))
+ recog_data.operand_type[i] = OP_INOUT;
+ }
++ /* Unshare dup_loc RTL */
++ for (i = 0; i < recog_data.n_dups; i++)
++ *recog_data.dup_loc[i] = copy_rtx(*recog_data.dup_loc[i]);
++
+
+ /* Step 1: Close chains for which we have overlapping reads. */
+ for (i = 0; i < n_ops; i++)
+@@ -813,7 +817,7 @@
+ OP_IN, 0);
+
+ for (i = 0; i < recog_data.n_dups; i++)
+- *recog_data.dup_loc[i] = copy_rtx (old_dups[i]);
++ *recog_data.dup_loc[i] = old_dups[i];
+ for (i = 0; i < n_ops; i++)
+ *recog_data.operand_loc[i] = old_operands[i];
+ if (recog_data.n_dups)
diff --git a/recipes/gcc/gcc-4.4.0/gcc-flags-for-build.patch b/recipes/gcc/gcc-4.4.0/gcc-flags-for-build.patch
new file mode 100644
index 0000000000..43a9d73dcf
--- /dev/null
+++ b/recipes/gcc/gcc-4.4.0/gcc-flags-for-build.patch
@@ -0,0 +1,279 @@
+Index: gcc-4.3.2/Makefile.def
+===================================================================
+--- gcc-4.3.2.orig/Makefile.def 2008-08-28 18:21:19.000000000 -0700
++++ gcc-4.3.2/Makefile.def 2008-08-28 18:21:41.000000000 -0700
+@@ -207,6 +207,7 @@
+ flags_to_pass = { flag= BISON ; };
+ flags_to_pass = { flag= CC_FOR_BUILD ; };
+ flags_to_pass = { flag= CFLAGS_FOR_BUILD ; };
++flags_to_pass = { flag= CPPFLAGS_FOR_BUILD ; };
+ flags_to_pass = { flag= CXX_FOR_BUILD ; };
+ flags_to_pass = { flag= EXPECT ; };
+ flags_to_pass = { flag= FLEX ; };
+Index: gcc-4.3.2/gcc/Makefile.in
+===================================================================
+--- gcc-4.3.2.orig/gcc/Makefile.in 2008-08-28 18:21:20.000000000 -0700
++++ gcc-4.3.2/gcc/Makefile.in 2008-08-28 18:21:41.000000000 -0700
+@@ -673,7 +673,7 @@
+
+ # Native linker and preprocessor flags. For x-fragment overrides.
+ BUILD_LDFLAGS=@BUILD_LDFLAGS@
+-BUILD_CPPFLAGS=$(ALL_CPPFLAGS)
++BUILD_CPPFLAGS=$(INCLUDES) @BUILD_CPPFLAGS@ $(X_CPPFLAGS)
+
+ # Actual name to use when installing a native compiler.
+ GCC_INSTALL_NAME := $(shell echo gcc|sed '$(program_transform_name)')
+Index: gcc-4.3.2/gcc/configure.ac
+===================================================================
+--- gcc-4.3.2.orig/gcc/configure.ac 2008-08-28 18:21:20.000000000 -0700
++++ gcc-4.3.2/gcc/configure.ac 2008-08-28 18:21:41.000000000 -0700
+@@ -1775,10 +1775,11 @@
+ # Also, we cannot run fixincludes or fix-header.
+
+ # These are the normal (build=host) settings:
+-CC_FOR_BUILD='$(CC)' AC_SUBST(CC_FOR_BUILD)
+-BUILD_CFLAGS='$(ALL_CFLAGS)' AC_SUBST(BUILD_CFLAGS)
+-BUILD_LDFLAGS='$(LDFLAGS)' AC_SUBST(BUILD_LDFLAGS)
+-STMP_FIXINC=stmp-fixinc AC_SUBST(STMP_FIXINC)
++CC_FOR_BUILD='$(CC)' AC_SUBST(CC_FOR_BUILD)
++BUILD_CFLAGS='$(ALL_CFLAGS)' AC_SUBST(BUILD_CFLAGS)
++BUILD_LDFLAGS='$(LDFLAGS)' AC_SUBST(BUILD_LDFLAGS)
++BUILD_CPPFLAGS='$(ALL_CPPFLAGS)' AC_SUBST(BUILD_CPPFLAGS)
++STMP_FIXINC=stmp-fixinc AC_SUBST(STMP_FIXINC)
+
+ # Possibly disable fixproto, on a per-target basis.
+ case ${use_fixproto} in
+@@ -1796,6 +1797,7 @@
+ then
+ BUILD_CFLAGS='$(INTERNAL_CFLAGS) $(T_CFLAGS) $(CFLAGS_FOR_BUILD)'
+ BUILD_LDFLAGS='$(LDFLAGS_FOR_BUILD)'
++ BUILD_CPPFLAGS='$(CPPFLAGS_FOR_BUILD)'
+
+ if test "x$TARGET_SYSTEM_ROOT" = x; then
+ if test "x$STMP_FIXPROTO" != x; then
+Index: gcc-4.3.2/Makefile.in
+===================================================================
+--- gcc-4.3.2.orig/Makefile.in 2008-08-28 18:21:20.000000000 -0700
++++ gcc-4.3.2/Makefile.in 2008-08-28 18:21:41.000000000 -0700
+@@ -272,6 +272,7 @@
+ AS_FOR_BUILD = @AS_FOR_BUILD@
+ CC_FOR_BUILD = @CC_FOR_BUILD@
+ CFLAGS_FOR_BUILD = @CFLAGS_FOR_BUILD@
++CPPFLAGS_FOR_BUILD = @CPPFLAGS_FOR_BUILD@
+ CXXFLAGS_FOR_BUILD = @CXXFLAGS_FOR_BUILD@
+ CXX_FOR_BUILD = @CXX_FOR_BUILD@
+ DLLTOOL_FOR_BUILD = @DLLTOOL_FOR_BUILD@
+@@ -502,6 +503,7 @@
+ "BISON=$(BISON)" \
+ "CC_FOR_BUILD=$(CC_FOR_BUILD)" \
+ "CFLAGS_FOR_BUILD=$(CFLAGS_FOR_BUILD)" \
++ "CPPFLAGS_FOR_BUILD=$(CPPFLAGS_FOR_BUILD)" \
+ "CXX_FOR_BUILD=$(CXX_FOR_BUILD)" \
+ "EXPECT=$(EXPECT)" \
+ "FLEX=$(FLEX)" \
+Index: gcc-4.3.2/gcc/configure
+===================================================================
+--- gcc-4.3.2.orig/gcc/configure 2008-08-28 18:21:20.000000000 -0700
++++ gcc-4.3.2/gcc/configure 2008-08-28 18:21:50.000000000 -0700
+@@ -458,7 +458,7 @@
+ # include <unistd.h>
+ #endif"
+
+-ac_subst_vars='SHELL PATH_SEPARATOR PACKAGE_NAME PACKAGE_TARNAME PACKAGE_VERSION PACKAGE_STRING PACKAGE_BUGREPORT exec_prefix prefix program_transform_name bindir sbindir libexecdir datadir sysconfdir sharedstatedir localstatedir libdir includedir oldincludedir infodir mandir build_alias host_alias target_alias DEFS ECHO_C ECHO_N ECHO_T LIBS build build_cpu build_vendor build_os host host_cpu host_vendor host_os target target_cpu target_vendor target_os target_noncanonical build_libsubdir build_subdir host_subdir target_subdir GENINSRC CC CFLAGS LDFLAGS CPPFLAGS ac_ct_CC EXEEXT OBJEXT NO_MINUS_C_MINUS_O OUTPUT_OPTION CPP EGREP loose_warn cxx_compat_warn strict_warn warn_cflags nocommon_flag TREEBROWSER valgrind_path valgrind_path_defines valgrind_command coverage_flags enable_multilib enable_decimal_float enable_fixed_point enable_shared TARGET_SYSTEM_ROOT TARGET_SYSTEM_ROOT_DEFINE CROSS_SYSTEM_HEADER_DIR onestep PKGVERSION REPORT_BUGS_TO REPORT_BUGS_TEXI datarootdir docdir htmldir SET_MAKE AWK LN_S LN RANLIB ac_ct_RANLIB ranlib_flags INSTALL INSTALL_PROGRAM INSTALL_DATA make_compare_target have_mktemp_command MAKEINFO BUILD_INFO GENERATED_MANPAGES FLEX BISON NM AR COLLECT2_LIBS GNAT_LIBEXC LDEXP_LIB TARGET_GETGROUPS_T LIBICONV LTLIBICONV LIBICONV_DEP manext objext gthread_flags extra_modes_file extra_opt_files USE_NLS LIBINTL LIBINTL_DEP INCINTL XGETTEXT GMSGFMT POSUB CATALOGS DATADIRNAME INSTOBJEXT GENCAT CATOBJEXT host_cc_for_libada CROSS ALL SYSTEM_HEADER_DIR inhibit_libc CC_FOR_BUILD BUILD_CFLAGS BUILD_LDFLAGS STMP_FIXINC STMP_FIXPROTO collect2 LIBTOOL SED FGREP GREP LD DUMPBIN ac_ct_DUMPBIN ac_ct_AR STRIP ac_ct_STRIP lt_ECHO objdir enable_fast_install gcc_cv_as ORIGINAL_AS_FOR_TARGET gcc_cv_ld ORIGINAL_LD_FOR_TARGET gcc_cv_nm ORIGINAL_NM_FOR_TARGET gcc_cv_objdump libgcc_visibility GGC zlibdir zlibinc MAINT gcc_tooldir dollar slibdir subdirs srcdir all_compilers all_gtfiles all_lang_makefrags all_lang_makefiles all_languages all_selected_languages build_exeext build_install_headers_dir build_xm_file_list build_xm_include_list build_xm_defines build_file_translate check_languages cpp_install_dir xmake_file tmake_file extra_gcc_objs extra_headers_list extra_objs extra_parts extra_passes extra_programs float_h_file gcc_config_arguments gcc_gxx_include_dir host_exeext host_xm_file_list host_xm_include_list host_xm_defines out_host_hook_obj install lang_opt_files lang_specs_files lang_tree_files local_prefix md_file objc_boehm_gc out_file out_object_file thread_file tm_file_list tm_include_list tm_defines tm_p_file_list tm_p_include_list xm_file_list xm_include_list xm_defines c_target_objs cxx_target_objs target_cpu_default GMPLIBS GMPINC LIBOBJS LTLIBOBJS'
++ac_subst_vars='SHELL PATH_SEPARATOR PACKAGE_NAME PACKAGE_TARNAME PACKAGE_VERSION PACKAGE_STRING PACKAGE_BUGREPORT exec_prefix prefix program_transform_name bindir sbindir libexecdir datadir sysconfdir sharedstatedir localstatedir libdir includedir oldincludedir infodir mandir build_alias host_alias target_alias DEFS ECHO_C ECHO_N ECHO_T LIBS build build_cpu build_vendor build_os host host_cpu host_vendor host_os target target_cpu target_vendor target_os target_noncanonical build_libsubdir build_subdir host_subdir target_subdir GENINSRC CC CFLAGS LDFLAGS CPPFLAGS ac_ct_CC EXEEXT OBJEXT NO_MINUS_C_MINUS_O OUTPUT_OPTION CPP EGREP loose_warn cxx_compat_warn strict_warn warn_cflags nocommon_flag TREEBROWSER valgrind_path valgrind_path_defines valgrind_command coverage_flags enable_multilib enable_decimal_float enable_fixed_point enable_shared TARGET_SYSTEM_ROOT TARGET_SYSTEM_ROOT_DEFINE CROSS_SYSTEM_HEADER_DIR onestep PKGVERSION REPORT_BUGS_TO REPORT_BUGS_TEXI datarootdir docdir htmldir SET_MAKE AWK LN_S LN RANLIB ac_ct_RANLIB ranlib_flags INSTALL INSTALL_PROGRAM INSTALL_DATA make_compare_target have_mktemp_command MAKEINFO BUILD_INFO GENERATED_MANPAGES FLEX BISON NM AR COLLECT2_LIBS GNAT_LIBEXC LDEXP_LIB TARGET_GETGROUPS_T LIBICONV LTLIBICONV LIBICONV_DEP manext objext gthread_flags extra_modes_file extra_opt_files USE_NLS LIBINTL LIBINTL_DEP INCINTL XGETTEXT GMSGFMT POSUB CATALOGS DATADIRNAME INSTOBJEXT GENCAT CATOBJEXT host_cc_for_libada CROSS ALL SYSTEM_HEADER_DIR inhibit_libc CC_FOR_BUILD BUILD_CFLAGS BUILD_LDFLAGS BUILD_CPPFLAGS STMP_FIXINC STMP_FIXPROTO collect2 LIBTOOL SED FGREP GREP LD DUMPBIN ac_ct_DUMPBIN ac_ct_AR STRIP ac_ct_STRIP lt_ECHO objdir enable_fast_install gcc_cv_as ORIGINAL_AS_FOR_TARGET gcc_cv_ld ORIGINAL_LD_FOR_TARGET gcc_cv_nm ORIGINAL_NM_FOR_TARGET gcc_cv_objdump libgcc_visibility GGC zlibdir zlibinc MAINT gcc_tooldir dollar slibdir subdirs srcdir all_compilers all_gtfiles all_lang_makefrags all_lang_makefiles all_languages all_selected_languages build_exeext build_install_headers_dir build_xm_file_list build_xm_include_list build_xm_defines build_file_translate check_languages cpp_install_dir xmake_file tmake_file extra_gcc_objs extra_headers_list extra_objs extra_parts extra_passes extra_programs float_h_file gcc_config_arguments gcc_gxx_include_dir host_exeext host_xm_file_list host_xm_include_list host_xm_defines out_host_hook_obj install lang_opt_files lang_specs_files lang_tree_files local_prefix md_file objc_boehm_gc out_file out_object_file thread_file tm_file_list tm_include_list tm_defines tm_p_file_list tm_p_include_list xm_file_list xm_include_list xm_defines c_target_objs cxx_target_objs target_cpu_default GMPLIBS GMPINC LIBOBJS LTLIBOBJS'
+ ac_subst_files='language_hooks'
+
+ # Initialize some variables set by options.
+@@ -13471,6 +13471,7 @@
+ CC_FOR_BUILD='$(CC)'
+ BUILD_CFLAGS='$(ALL_CFLAGS)'
+ BUILD_LDFLAGS='$(LDFLAGS)'
++BUILD_CPPFLAGS='$(ALL_CPPFLAGS)'
+ STMP_FIXINC=stmp-fixinc
+
+ # Possibly disable fixproto, on a per-target basis.
+@@ -13489,6 +13490,7 @@
+ then
+ BUILD_CFLAGS='$(INTERNAL_CFLAGS) $(T_CFLAGS) $(CFLAGS_FOR_BUILD)'
+ BUILD_LDFLAGS='$(LDFLAGS_FOR_BUILD)'
++ BUILD_CPPFLAGS='$(CPPFLAGS_FOR_BUILD)'
+
+ if test "x$TARGET_SYSTEM_ROOT" = x; then
+ if test "x$STMP_FIXPROTO" != x; then
+@@ -14067,13 +14069,13 @@
+ else
+ lt_cv_nm_interface="BSD nm"
+ echo "int some_variable = 0;" > conftest.$ac_ext
+- (eval echo "\"\$as_me:14070: $ac_compile\"" >&5)
++ (eval echo "\"\$as_me:14072: $ac_compile\"" >&5)
+ (eval "$ac_compile" 2>conftest.err)
+ cat conftest.err >&5
+- (eval echo "\"\$as_me:14073: $NM \\\"conftest.$ac_objext\\\"\"" >&5)
++ (eval echo "\"\$as_me:14075: $NM \\\"conftest.$ac_objext\\\"\"" >&5)
+ (eval "$NM \"conftest.$ac_objext\"" 2>conftest.err > conftest.out)
+ cat conftest.err >&5
+- (eval echo "\"\$as_me:14076: output\"" >&5)
++ (eval echo "\"\$as_me:14078: output\"" >&5)
+ cat conftest.out >&5
+ if $GREP 'External.*some_variable' conftest.out > /dev/null; then
+ lt_cv_nm_interface="MS dumpbin"
+@@ -15128,7 +15130,7 @@
+ ;;
+ *-*-irix6*)
+ # Find out which ABI we are using.
+- echo '#line 15131 "configure"' > conftest.$ac_ext
++ echo '#line 15133 "configure"' > conftest.$ac_ext
+ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+@@ -15748,11 +15750,11 @@
+ -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
+ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
+ -e 's:$: $lt_compiler_flag:'`
+- (eval echo "\"\$as_me:15751: $lt_compile\"" >&5)
++ (eval echo "\"\$as_me:15753: $lt_compile\"" >&5)
+ (eval "$lt_compile" 2>conftest.err)
+ ac_status=$?
+ cat conftest.err >&5
+- echo "$as_me:15755: \$? = $ac_status" >&5
++ echo "$as_me:15757: \$? = $ac_status" >&5
+ if (exit $ac_status) && test -s "$ac_outfile"; then
+ # The compiler can only warn and ignore the option if not recognized
+ # So say no if there are warnings other than the usual output.
+@@ -16070,11 +16072,11 @@
+ -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
+ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
+ -e 's:$: $lt_compiler_flag:'`
+- (eval echo "\"\$as_me:16073: $lt_compile\"" >&5)
++ (eval echo "\"\$as_me:16075: $lt_compile\"" >&5)
+ (eval "$lt_compile" 2>conftest.err)
+ ac_status=$?
+ cat conftest.err >&5
+- echo "$as_me:16077: \$? = $ac_status" >&5
++ echo "$as_me:16079: \$? = $ac_status" >&5
+ if (exit $ac_status) && test -s "$ac_outfile"; then
+ # The compiler can only warn and ignore the option if not recognized
+ # So say no if there are warnings other than the usual output.
+@@ -16175,11 +16177,11 @@
+ -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
+ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
+ -e 's:$: $lt_compiler_flag:'`
+- (eval echo "\"\$as_me:16178: $lt_compile\"" >&5)
++ (eval echo "\"\$as_me:16180: $lt_compile\"" >&5)
+ (eval "$lt_compile" 2>out/conftest.err)
+ ac_status=$?
+ cat out/conftest.err >&5
+- echo "$as_me:16182: \$? = $ac_status" >&5
++ echo "$as_me:16184: \$? = $ac_status" >&5
+ if (exit $ac_status) && test -s out/conftest2.$ac_objext
+ then
+ # The compiler can only warn and ignore the option if not recognized
+@@ -16230,11 +16232,11 @@
+ -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
+ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
+ -e 's:$: $lt_compiler_flag:'`
+- (eval echo "\"\$as_me:16233: $lt_compile\"" >&5)
++ (eval echo "\"\$as_me:16235: $lt_compile\"" >&5)
+ (eval "$lt_compile" 2>out/conftest.err)
+ ac_status=$?
+ cat out/conftest.err >&5
+- echo "$as_me:16237: \$? = $ac_status" >&5
++ echo "$as_me:16239: \$? = $ac_status" >&5
+ if (exit $ac_status) && test -s out/conftest2.$ac_objext
+ then
+ # The compiler can only warn and ignore the option if not recognized
+@@ -19027,7 +19029,7 @@
+ lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
+ lt_status=$lt_dlunknown
+ cat > conftest.$ac_ext <<_LT_EOF
+-#line 19030 "configure"
++#line 19032 "configure"
+ #include "confdefs.h"
+
+ #if HAVE_DLFCN_H
+@@ -19127,7 +19129,7 @@
+ lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
+ lt_status=$lt_dlunknown
+ cat > conftest.$ac_ext <<_LT_EOF
+-#line 19130 "configure"
++#line 19132 "configure"
+ #include "confdefs.h"
+
+ #if HAVE_DLFCN_H
+@@ -23938,6 +23940,7 @@
+ s,@CC_FOR_BUILD@,$CC_FOR_BUILD,;t t
+ s,@BUILD_CFLAGS@,$BUILD_CFLAGS,;t t
+ s,@BUILD_LDFLAGS@,$BUILD_LDFLAGS,;t t
++s,@BUILD_CPPFLAGS@,$BUILD_CPPFLAGS,;t t
+ s,@STMP_FIXINC@,$STMP_FIXINC,;t t
+ s,@STMP_FIXPROTO@,$STMP_FIXPROTO,;t t
+ s,@collect2@,$collect2,;t t
+Index: gcc-4.3.2/Makefile.tpl
+===================================================================
+--- gcc-4.3.2.orig/Makefile.tpl 2008-08-28 18:21:20.000000000 -0700
++++ gcc-4.3.2/Makefile.tpl 2008-08-28 18:21:41.000000000 -0700
+@@ -275,6 +275,7 @@
+ AS_FOR_BUILD = @AS_FOR_BUILD@
+ CC_FOR_BUILD = @CC_FOR_BUILD@
+ CFLAGS_FOR_BUILD = @CFLAGS_FOR_BUILD@
++CPPFLAGS_FOR_BUILD = @CPPFLAGS_FOR_BUILD@
+ CXXFLAGS_FOR_BUILD = @CXXFLAGS_FOR_BUILD@
+ CXX_FOR_BUILD = @CXX_FOR_BUILD@
+ DLLTOOL_FOR_BUILD = @DLLTOOL_FOR_BUILD@
+Index: gcc-4.3.2/configure
+===================================================================
+--- gcc-4.3.2.orig/configure 2008-08-28 18:21:20.000000000 -0700
++++ gcc-4.3.2/configure 2008-08-28 18:21:41.000000000 -0700
+@@ -272,7 +272,7 @@
+ PACKAGE_BUGREPORT=
+
+ ac_unique_file="move-if-change"
+-ac_subst_vars='SHELL PATH_SEPARATOR PACKAGE_NAME PACKAGE_TARNAME PACKAGE_VERSION PACKAGE_STRING PACKAGE_BUGREPORT exec_prefix prefix program_transform_name bindir sbindir libexecdir datadir sysconfdir sharedstatedir localstatedir libdir includedir oldincludedir infodir mandir build_alias host_alias target_alias DEFS ECHO_C ECHO_N ECHO_T LIBS build build_cpu build_vendor build_os build_noncanonical host_noncanonical target_noncanonical host host_cpu host_vendor host_os target target_cpu target_vendor target_os INSTALL_PROGRAM INSTALL_SCRIPT INSTALL_DATA LN LN_S TOPLEVEL_CONFIGURE_ARGUMENTS build_libsubdir build_subdir host_subdir target_subdir CC CFLAGS LDFLAGS CPPFLAGS ac_ct_CC EXEEXT OBJEXT CXX CXXFLAGS ac_ct_CXX GNATBIND ac_ct_GNATBIND GNATMAKE ac_ct_GNATMAKE do_compare gmplibs gmpinc stage1_languages SYSROOT_CFLAGS_FOR_TARGET DEBUG_PREFIX_CFLAGS_FOR_TARGET CFLAGS_FOR_TARGET CXXFLAGS_FOR_TARGET RPATH_ENVVAR tooldir build_tooldir CONFIGURE_GDB_TK GDB_TK INSTALL_GDB_TK build_configargs build_configdirs host_configargs configdirs target_configargs AR_FOR_BUILD AS_FOR_BUILD CC_FOR_BUILD CFLAGS_FOR_BUILD CXXFLAGS_FOR_BUILD CXX_FOR_BUILD DLLTOOL_FOR_BUILD GCJ_FOR_BUILD GFORTRAN_FOR_BUILD LDFLAGS_FOR_BUILD LD_FOR_BUILD NM_FOR_BUILD RANLIB_FOR_BUILD WINDMC_FOR_BUILD WINDRES_FOR_BUILD config_shell YACC BISON M4 LEX FLEX MAKEINFO EXPECT RUNTEST AR AS DLLTOOL LD LIPO NM RANLIB STRIP WINDRES WINDMC OBJCOPY OBJDUMP CC_FOR_TARGET CXX_FOR_TARGET GCC_FOR_TARGET GCJ_FOR_TARGET GFORTRAN_FOR_TARGET AR_FOR_TARGET AS_FOR_TARGET DLLTOOL_FOR_TARGET LD_FOR_TARGET LIPO_FOR_TARGET NM_FOR_TARGET OBJDUMP_FOR_TARGET RANLIB_FOR_TARGET STRIP_FOR_TARGET WINDRES_FOR_TARGET WINDMC_FOR_TARGET RAW_CXX_FOR_TARGET FLAGS_FOR_TARGET COMPILER_AS_FOR_TARGET COMPILER_LD_FOR_TARGET COMPILER_NM_FOR_TARGET MAINTAINER_MODE_TRUE MAINTAINER_MODE_FALSE MAINT stage1_cflags stage1_checking stage2_werror_flag datarootdir docdir pdfdir htmldir LIBOBJS LTLIBOBJS'
++ac_subst_vars='SHELL PATH_SEPARATOR PACKAGE_NAME PACKAGE_TARNAME PACKAGE_VERSION PACKAGE_STRING PACKAGE_BUGREPORT exec_prefix prefix program_transform_name bindir sbindir libexecdir datadir sysconfdir sharedstatedir localstatedir libdir includedir oldincludedir infodir mandir build_alias host_alias target_alias DEFS ECHO_C ECHO_N ECHO_T LIBS build build_cpu build_vendor build_os build_noncanonical host_noncanonical target_noncanonical host host_cpu host_vendor host_os target target_cpu target_vendor target_os INSTALL_PROGRAM INSTALL_SCRIPT INSTALL_DATA LN LN_S TOPLEVEL_CONFIGURE_ARGUMENTS build_libsubdir build_subdir host_subdir target_subdir CC CFLAGS LDFLAGS CPPFLAGS ac_ct_CC EXEEXT OBJEXT CXX CXXFLAGS ac_ct_CXX GNATBIND ac_ct_GNATBIND GNATMAKE ac_ct_GNATMAKE do_compare gmplibs gmpinc stage1_languages SYSROOT_CFLAGS_FOR_TARGET DEBUG_PREFIX_CFLAGS_FOR_TARGET CFLAGS_FOR_TARGET CXXFLAGS_FOR_TARGET RPATH_ENVVAR tooldir build_tooldir CONFIGURE_GDB_TK GDB_TK INSTALL_GDB_TK build_configargs build_configdirs host_configargs configdirs target_configargs AR_FOR_BUILD AS_FOR_BUILD CC_FOR_BUILD CFLAGS_FOR_BUILD CPPFLAGS_FOR_BUILD CXXFLAGS_FOR_BUILD CXX_FOR_BUILD DLLTOOL_FOR_BUILD GCJ_FOR_BUILD GFORTRAN_FOR_BUILD LDFLAGS_FOR_BUILD LD_FOR_BUILD NM_FOR_BUILD RANLIB_FOR_BUILD WINDMC_FOR_BUILD WINDRES_FOR_BUILD config_shell YACC BISON M4 LEX FLEX MAKEINFO EXPECT RUNTEST AR AS DLLTOOL LD LIPO NM RANLIB STRIP WINDRES WINDMC OBJCOPY OBJDUMP CC_FOR_TARGET CXX_FOR_TARGET GCC_FOR_TARGET GCJ_FOR_TARGET GFORTRAN_FOR_TARGET AR_FOR_TARGET AS_FOR_TARGET DLLTOOL_FOR_TARGET LD_FOR_TARGET LIPO_FOR_TARGET NM_FOR_TARGET OBJDUMP_FOR_TARGET RANLIB_FOR_TARGET STRIP_FOR_TARGET WINDRES_FOR_TARGET WINDMC_FOR_TARGET RAW_CXX_FOR_TARGET FLAGS_FOR_TARGET COMPILER_AS_FOR_TARGET COMPILER_LD_FOR_TARGET COMPILER_NM_FOR_TARGET MAINTAINER_MODE_TRUE MAINTAINER_MODE_FALSE MAINT stage1_cflags stage1_checking stage2_werror_flag datarootdir docdir pdfdir htmldir LIBOBJS LTLIBOBJS'
+ ac_subst_files='serialization_dependencies host_makefile_frag target_makefile_frag alphaieee_frag ospace_frag'
+
+ # Initialize some variables set by options.
+@@ -5914,6 +5914,7 @@
+ # our build compiler if desired.
+ if test x"${build}" = x"${host}" ; then
+ CFLAGS_FOR_BUILD=${CFLAGS_FOR_BUILD-${CFLAGS}}
++ CPPFLAGS_FOR_BUILD=${CPPFLAGS_FOR_BUILD-${CPPFLAGS}}
+ CXXFLAGS_FOR_BUILD=${CXXFLAGS_FOR_BUILD-${CXXFLAGS}}
+ LDFLAGS_FOR_BUILD=${LDFLAGS_FOR_BUILD-${LDFLAGS}}
+ fi
+@@ -5991,6 +5992,7 @@
+
+
+
++
+ # Generate default definitions for YACC, M4, LEX and other programs that run
+ # on the build machine. These are used if the Makefile can't locate these
+ # programs in objdir.
+@@ -12874,6 +12876,7 @@
+ s,@AS_FOR_BUILD@,$AS_FOR_BUILD,;t t
+ s,@CC_FOR_BUILD@,$CC_FOR_BUILD,;t t
+ s,@CFLAGS_FOR_BUILD@,$CFLAGS_FOR_BUILD,;t t
++s,@CPPFLAGS_FOR_BUILD@,$CPPFLAGS_FOR_BUILD,;t t
+ s,@CXXFLAGS_FOR_BUILD@,$CXXFLAGS_FOR_BUILD,;t t
+ s,@CXX_FOR_BUILD@,$CXX_FOR_BUILD,;t t
+ s,@DLLTOOL_FOR_BUILD@,$DLLTOOL_FOR_BUILD,;t t
+Index: gcc-4.3.2/configure.ac
+===================================================================
+--- gcc-4.3.2.orig/configure.ac 2008-08-28 18:21:20.000000000 -0700
++++ gcc-4.3.2/configure.ac 2008-08-28 18:21:41.000000000 -0700
+@@ -2425,6 +2425,7 @@
+ # our build compiler if desired.
+ if test x"${build}" = x"${host}" ; then
+ CFLAGS_FOR_BUILD=${CFLAGS_FOR_BUILD-${CFLAGS}}
++ CPPFLAGS_FOR_BUILD=${CPPFLAGS_FOR_BUILD-${CPPFLAGS}}
+ CXXFLAGS_FOR_BUILD=${CXXFLAGS_FOR_BUILD-${CXXFLAGS}}
+ LDFLAGS_FOR_BUILD=${LDFLAGS_FOR_BUILD-${LDFLAGS}}
+ fi
+@@ -2489,6 +2490,7 @@
+ AC_SUBST(AS_FOR_BUILD)
+ AC_SUBST(CC_FOR_BUILD)
+ AC_SUBST(CFLAGS_FOR_BUILD)
++AC_SUBST(CPPFLAGS_FOR_BUILD)
+ AC_SUBST(CXXFLAGS_FOR_BUILD)
+ AC_SUBST(CXX_FOR_BUILD)
+ AC_SUBST(DLLTOOL_FOR_BUILD)
diff --git a/recipes/gcc/gcc-4.4.0/gcc-release-branch/PR-36500-fix-neon.patch b/recipes/gcc/gcc-4.4.0/gcc-release-branch/PR-36500-fix-neon.patch
new file mode 100644
index 0000000000..971dfe7e29
--- /dev/null
+++ b/recipes/gcc/gcc-4.4.0/gcc-release-branch/PR-36500-fix-neon.patch
@@ -0,0 +1,265 @@
+--- foo/gcc/config/arm/arm.c 2008/06/11 10:51:34 136660
++++ foo/gcc/config/arm/arm.c 2008/06/11 10:52:55 136661
+@@ -14830,124 +14830,190 @@
+ {
+ unsigned int i, fcode = ARM_BUILTIN_NEON_BASE;
+
++ tree neon_intQI_type_node;
++ tree neon_intHI_type_node;
++ tree neon_polyQI_type_node;
++ tree neon_polyHI_type_node;
++ tree neon_intSI_type_node;
++ tree neon_intDI_type_node;
++ tree neon_float_type_node;
++
++ tree intQI_pointer_node;
++ tree intHI_pointer_node;
++ tree intSI_pointer_node;
++ tree intDI_pointer_node;
++ tree float_pointer_node;
++
++ tree const_intQI_node;
++ tree const_intHI_node;
++ tree const_intSI_node;
++ tree const_intDI_node;
++ tree const_float_node;
++
++ tree const_intQI_pointer_node;
++ tree const_intHI_pointer_node;
++ tree const_intSI_pointer_node;
++ tree const_intDI_pointer_node;
++ tree const_float_pointer_node;
++
++ tree V8QI_type_node;
++ tree V4HI_type_node;
++ tree V2SI_type_node;
++ tree V2SF_type_node;
++ tree V16QI_type_node;
++ tree V8HI_type_node;
++ tree V4SI_type_node;
++ tree V4SF_type_node;
++ tree V2DI_type_node;
++
++ tree intUQI_type_node;
++ tree intUHI_type_node;
++ tree intUSI_type_node;
++ tree intUDI_type_node;
++
++ tree intEI_type_node;
++ tree intOI_type_node;
++ tree intCI_type_node;
++ tree intXI_type_node;
++
++ tree V8QI_pointer_node;
++ tree V4HI_pointer_node;
++ tree V2SI_pointer_node;
++ tree V2SF_pointer_node;
++ tree V16QI_pointer_node;
++ tree V8HI_pointer_node;
++ tree V4SI_pointer_node;
++ tree V4SF_pointer_node;
++ tree V2DI_pointer_node;
++
++ tree void_ftype_pv8qi_v8qi_v8qi;
++ tree void_ftype_pv4hi_v4hi_v4hi;
++ tree void_ftype_pv2si_v2si_v2si;
++ tree void_ftype_pv2sf_v2sf_v2sf;
++ tree void_ftype_pdi_di_di;
++ tree void_ftype_pv16qi_v16qi_v16qi;
++ tree void_ftype_pv8hi_v8hi_v8hi;
++ tree void_ftype_pv4si_v4si_v4si;
++ tree void_ftype_pv4sf_v4sf_v4sf;
++ tree void_ftype_pv2di_v2di_v2di;
++
++ tree reinterp_ftype_dreg[5][5];
++ tree reinterp_ftype_qreg[5][5];
++ tree dreg_types[5], qreg_types[5];
++
+ /* Create distinguished type nodes for NEON vector element types,
+ and pointers to values of such types, so we can detect them later. */
+- tree neon_intQI_type_node = make_signed_type (GET_MODE_PRECISION (QImode));
+- tree neon_intHI_type_node = make_signed_type (GET_MODE_PRECISION (HImode));
+- tree neon_polyQI_type_node = make_signed_type (GET_MODE_PRECISION (QImode));
+- tree neon_polyHI_type_node = make_signed_type (GET_MODE_PRECISION (HImode));
+- tree neon_intSI_type_node = make_signed_type (GET_MODE_PRECISION (SImode));
+- tree neon_intDI_type_node = make_signed_type (GET_MODE_PRECISION (DImode));
+- tree neon_float_type_node = make_node (REAL_TYPE);
+-
+- tree intQI_pointer_node = build_pointer_type (neon_intQI_type_node);
+- tree intHI_pointer_node = build_pointer_type (neon_intHI_type_node);
+- tree intSI_pointer_node = build_pointer_type (neon_intSI_type_node);
+- tree intDI_pointer_node = build_pointer_type (neon_intDI_type_node);
+- tree float_pointer_node = build_pointer_type (neon_float_type_node);
++ neon_intQI_type_node = make_signed_type (GET_MODE_PRECISION (QImode));
++ neon_intHI_type_node = make_signed_type (GET_MODE_PRECISION (HImode));
++ neon_polyQI_type_node = make_signed_type (GET_MODE_PRECISION (QImode));
++ neon_polyHI_type_node = make_signed_type (GET_MODE_PRECISION (HImode));
++ neon_intSI_type_node = make_signed_type (GET_MODE_PRECISION (SImode));
++ neon_intDI_type_node = make_signed_type (GET_MODE_PRECISION (DImode));
++ neon_float_type_node = make_node (REAL_TYPE);
++ TYPE_PRECISION (neon_float_type_node) = FLOAT_TYPE_SIZE;
++ layout_type (neon_float_type_node);
++
++ intQI_pointer_node = build_pointer_type (neon_intQI_type_node);
++ intHI_pointer_node = build_pointer_type (neon_intHI_type_node);
++ intSI_pointer_node = build_pointer_type (neon_intSI_type_node);
++ intDI_pointer_node = build_pointer_type (neon_intDI_type_node);
++ float_pointer_node = build_pointer_type (neon_float_type_node);
+
+ /* Next create constant-qualified versions of the above types. */
+- tree const_intQI_node = build_qualified_type (neon_intQI_type_node,
+- TYPE_QUAL_CONST);
+- tree const_intHI_node = build_qualified_type (neon_intHI_type_node,
+- TYPE_QUAL_CONST);
+- tree const_intSI_node = build_qualified_type (neon_intSI_type_node,
+- TYPE_QUAL_CONST);
+- tree const_intDI_node = build_qualified_type (neon_intDI_type_node,
+- TYPE_QUAL_CONST);
+- tree const_float_node = build_qualified_type (neon_float_type_node,
+- TYPE_QUAL_CONST);
+-
+- tree const_intQI_pointer_node = build_pointer_type (const_intQI_node);
+- tree const_intHI_pointer_node = build_pointer_type (const_intHI_node);
+- tree const_intSI_pointer_node = build_pointer_type (const_intSI_node);
+- tree const_intDI_pointer_node = build_pointer_type (const_intDI_node);
+- tree const_float_pointer_node = build_pointer_type (const_float_node);
++ const_intQI_node = build_qualified_type (neon_intQI_type_node,
++ TYPE_QUAL_CONST);
++ const_intHI_node = build_qualified_type (neon_intHI_type_node,
++ TYPE_QUAL_CONST);
++ const_intSI_node = build_qualified_type (neon_intSI_type_node,
++ TYPE_QUAL_CONST);
++ const_intDI_node = build_qualified_type (neon_intDI_type_node,
++ TYPE_QUAL_CONST);
++ const_float_node = build_qualified_type (neon_float_type_node,
++ TYPE_QUAL_CONST);
++
++ const_intQI_pointer_node = build_pointer_type (const_intQI_node);
++ const_intHI_pointer_node = build_pointer_type (const_intHI_node);
++ const_intSI_pointer_node = build_pointer_type (const_intSI_node);
++ const_intDI_pointer_node = build_pointer_type (const_intDI_node);
++ const_float_pointer_node = build_pointer_type (const_float_node);
+
+ /* Now create vector types based on our NEON element types. */
+ /* 64-bit vectors. */
+- tree V8QI_type_node =
++ V8QI_type_node =
+ build_vector_type_for_mode (neon_intQI_type_node, V8QImode);
+- tree V4HI_type_node =
++ V4HI_type_node =
+ build_vector_type_for_mode (neon_intHI_type_node, V4HImode);
+- tree V2SI_type_node =
++ V2SI_type_node =
+ build_vector_type_for_mode (neon_intSI_type_node, V2SImode);
+- tree V2SF_type_node =
++ V2SF_type_node =
+ build_vector_type_for_mode (neon_float_type_node, V2SFmode);
+ /* 128-bit vectors. */
+- tree V16QI_type_node =
++ V16QI_type_node =
+ build_vector_type_for_mode (neon_intQI_type_node, V16QImode);
+- tree V8HI_type_node =
++ V8HI_type_node =
+ build_vector_type_for_mode (neon_intHI_type_node, V8HImode);
+- tree V4SI_type_node =
++ V4SI_type_node =
+ build_vector_type_for_mode (neon_intSI_type_node, V4SImode);
+- tree V4SF_type_node =
++ V4SF_type_node =
+ build_vector_type_for_mode (neon_float_type_node, V4SFmode);
+- tree V2DI_type_node =
++ V2DI_type_node =
+ build_vector_type_for_mode (neon_intDI_type_node, V2DImode);
+
+ /* Unsigned integer types for various mode sizes. */
+- tree intUQI_type_node = make_unsigned_type (GET_MODE_PRECISION (QImode));
+- tree intUHI_type_node = make_unsigned_type (GET_MODE_PRECISION (HImode));
+- tree intUSI_type_node = make_unsigned_type (GET_MODE_PRECISION (SImode));
+- tree intUDI_type_node = make_unsigned_type (GET_MODE_PRECISION (DImode));
++ intUQI_type_node = make_unsigned_type (GET_MODE_PRECISION (QImode));
++ intUHI_type_node = make_unsigned_type (GET_MODE_PRECISION (HImode));
++ intUSI_type_node = make_unsigned_type (GET_MODE_PRECISION (SImode));
++ intUDI_type_node = make_unsigned_type (GET_MODE_PRECISION (DImode));
+
+ /* Opaque integer types for structures of vectors. */
+- tree intEI_type_node = make_signed_type (GET_MODE_PRECISION (EImode));
+- tree intOI_type_node = make_signed_type (GET_MODE_PRECISION (OImode));
+- tree intCI_type_node = make_signed_type (GET_MODE_PRECISION (CImode));
+- tree intXI_type_node = make_signed_type (GET_MODE_PRECISION (XImode));
++ intEI_type_node = make_signed_type (GET_MODE_PRECISION (EImode));
++ intOI_type_node = make_signed_type (GET_MODE_PRECISION (OImode));
++ intCI_type_node = make_signed_type (GET_MODE_PRECISION (CImode));
++ intXI_type_node = make_signed_type (GET_MODE_PRECISION (XImode));
+
+ /* Pointers to vector types. */
+- tree V8QI_pointer_node = build_pointer_type (V8QI_type_node);
+- tree V4HI_pointer_node = build_pointer_type (V4HI_type_node);
+- tree V2SI_pointer_node = build_pointer_type (V2SI_type_node);
+- tree V2SF_pointer_node = build_pointer_type (V2SF_type_node);
+- tree V16QI_pointer_node = build_pointer_type (V16QI_type_node);
+- tree V8HI_pointer_node = build_pointer_type (V8HI_type_node);
+- tree V4SI_pointer_node = build_pointer_type (V4SI_type_node);
+- tree V4SF_pointer_node = build_pointer_type (V4SF_type_node);
+- tree V2DI_pointer_node = build_pointer_type (V2DI_type_node);
++ V8QI_pointer_node = build_pointer_type (V8QI_type_node);
++ V4HI_pointer_node = build_pointer_type (V4HI_type_node);
++ V2SI_pointer_node = build_pointer_type (V2SI_type_node);
++ V2SF_pointer_node = build_pointer_type (V2SF_type_node);
++ V16QI_pointer_node = build_pointer_type (V16QI_type_node);
++ V8HI_pointer_node = build_pointer_type (V8HI_type_node);
++ V4SI_pointer_node = build_pointer_type (V4SI_type_node);
++ V4SF_pointer_node = build_pointer_type (V4SF_type_node);
++ V2DI_pointer_node = build_pointer_type (V2DI_type_node);
+
+ /* Operations which return results as pairs. */
+- tree void_ftype_pv8qi_v8qi_v8qi =
++ void_ftype_pv8qi_v8qi_v8qi =
+ build_function_type_list (void_type_node, V8QI_pointer_node, V8QI_type_node,
+ V8QI_type_node, NULL);
+- tree void_ftype_pv4hi_v4hi_v4hi =
++ void_ftype_pv4hi_v4hi_v4hi =
+ build_function_type_list (void_type_node, V4HI_pointer_node, V4HI_type_node,
+ V4HI_type_node, NULL);
+- tree void_ftype_pv2si_v2si_v2si =
++ void_ftype_pv2si_v2si_v2si =
+ build_function_type_list (void_type_node, V2SI_pointer_node, V2SI_type_node,
+ V2SI_type_node, NULL);
+- tree void_ftype_pv2sf_v2sf_v2sf =
++ void_ftype_pv2sf_v2sf_v2sf =
+ build_function_type_list (void_type_node, V2SF_pointer_node, V2SF_type_node,
+ V2SF_type_node, NULL);
+- tree void_ftype_pdi_di_di =
++ void_ftype_pdi_di_di =
+ build_function_type_list (void_type_node, intDI_pointer_node,
+ neon_intDI_type_node, neon_intDI_type_node, NULL);
+- tree void_ftype_pv16qi_v16qi_v16qi =
++ void_ftype_pv16qi_v16qi_v16qi =
+ build_function_type_list (void_type_node, V16QI_pointer_node,
+ V16QI_type_node, V16QI_type_node, NULL);
+- tree void_ftype_pv8hi_v8hi_v8hi =
++ void_ftype_pv8hi_v8hi_v8hi =
+ build_function_type_list (void_type_node, V8HI_pointer_node, V8HI_type_node,
+ V8HI_type_node, NULL);
+- tree void_ftype_pv4si_v4si_v4si =
++ void_ftype_pv4si_v4si_v4si =
+ build_function_type_list (void_type_node, V4SI_pointer_node, V4SI_type_node,
+ V4SI_type_node, NULL);
+- tree void_ftype_pv4sf_v4sf_v4sf =
++ void_ftype_pv4sf_v4sf_v4sf =
+ build_function_type_list (void_type_node, V4SF_pointer_node, V4SF_type_node,
+ V4SF_type_node, NULL);
+- tree void_ftype_pv2di_v2di_v2di =
++ void_ftype_pv2di_v2di_v2di =
+ build_function_type_list (void_type_node, V2DI_pointer_node, V2DI_type_node,
+ V2DI_type_node, NULL);
+
+- tree reinterp_ftype_dreg[5][5];
+- tree reinterp_ftype_qreg[5][5];
+- tree dreg_types[5], qreg_types[5];
+-
+- TYPE_PRECISION (neon_float_type_node) = FLOAT_TYPE_SIZE;
+- layout_type (neon_float_type_node);
+-
+ /* Define typedefs which exactly correspond to the modes we are basing vector
+ types on. If you change these names you'll need to change
+ the table used by arm_mangle_type too. */
diff --git a/recipes/gcc/gcc-4.4.0/gcc41-configure.in.patch b/recipes/gcc/gcc-4.4.0/gcc41-configure.in.patch
new file mode 100644
index 0000000000..3d33bcb978
--- /dev/null
+++ b/recipes/gcc/gcc-4.4.0/gcc41-configure.in.patch
@@ -0,0 +1,22 @@
+--- gcc-3.4.4/configure.in.orig 2005-08-09 19:57:51.504323183 -0700
++++ gcc-3.4.4/configure.in 2005-08-09 20:00:12.073168623 -0700
+@@ -1907,7 +1907,7 @@
+ *) gxx_include_dir=${with_gxx_include_dir} ;;
+ esac
+
+-FLAGS_FOR_TARGET=
++FLAGS_FOR_TARGET="$ARCH_FLAGS_FOR_TARGET"
+ case " $target_configdirs " in
+ *" newlib "*)
+ case " $target_configargs " in
+--- gcc-3.4.4/configure.orig 2005-08-09 21:02:29.668360660 -0700
++++ gcc-3.4.4/configure 2005-08-09 21:02:50.157649970 -0700
+@@ -2669,7 +2669,7 @@
+ *) gxx_include_dir=${with_gxx_include_dir} ;;
+ esac
+
+-FLAGS_FOR_TARGET=
++FLAGS_FOR_TARGET="$ARCH_FLAGS_FOR_TARGET"
+ case " $target_configdirs " in
+ *" newlib "*)
+ case " $target_configargs " in
diff --git a/recipes/gcc/gcc-4.4.0/gcc43-build-id.patch b/recipes/gcc/gcc-4.4.0/gcc43-build-id.patch
new file mode 100644
index 0000000000..4e162e6472
--- /dev/null
+++ b/recipes/gcc/gcc-4.4.0/gcc43-build-id.patch
@@ -0,0 +1,74 @@
+2007-07-22 Roland McGrath <roland@redhat.com>
+
+ * config/rs6000/sysv4.h (LINK_EH_SPEC): Add --build-id for
+ non-relocatable link.
+ * config/linux.h (LINK_EH_SPEC): Likewise.
+ * config/sparc/linux.h (LINK_EH_SPEC): Likewise.
+ * config/sparc/linux64.h (LINK_EH_SPEC): Likewise.
+ * config/alpha/elf.h (LINK_EH_SPEC): Likewise.
+ * config/ia64/linux.h (LINK_EH_SPEC): Likewise.
+
+--- gcc/config/rs6000/sysv4.h.~1~
++++ gcc/config/rs6000/sysv4.h
+@@ -1044,7 +1044,7 @@ extern int fixuplabelno;
+ %{!dynamic-linker:-dynamic-linker /lib/ld.so.1}}}"
+
+ #if defined(HAVE_LD_EH_FRAME_HDR)
+-# define LINK_EH_SPEC "%{!static:--eh-frame-hdr} "
++# define LINK_EH_SPEC "%{!static:--eh-frame-hdr} %{!r:--build-id} "
+ #endif
+
+ #define CPP_OS_LINUX_SPEC "-D__unix__ -D__gnu_linux__ -D__linux__ \
+--- gcc/config/linux.h.~1~
++++ gcc/config/linux.h
+@@ -85,7 +85,7 @@ Boston, MA 02110-1301, USA. */
+ } while (0)
+
+ #if defined(HAVE_LD_EH_FRAME_HDR)
+-#define LINK_EH_SPEC "%{!static:--eh-frame-hdr} "
++#define LINK_EH_SPEC "%{!static:--eh-frame-hdr} %{!r:--build-id} "
+ #endif
+
+ /* Define this so we can compile MS code for use with WINE. */
+--- gcc/config/sparc/linux64.h.~1~
++++ gcc/config/sparc/linux64.h
+@@ -316,7 +316,7 @@ do { \
+ #define DITF_CONVERSION_LIBFUNCS 1
+
+ #if defined(HAVE_LD_EH_FRAME_HDR)
+-#define LINK_EH_SPEC "%{!static:--eh-frame-hdr} "
++#define LINK_EH_SPEC "%{!static:--eh-frame-hdr} %{!r:--build-id} "
+ #endif
+
+ #ifdef HAVE_AS_TLS
+--- gcc/config/sparc/linux.h.~1~
++++ gcc/config/sparc/linux.h
+@@ -188,7 +188,7 @@ do { \
+ #define DITF_CONVERSION_LIBFUNCS 1
+
+ #if defined(HAVE_LD_EH_FRAME_HDR)
+-#define LINK_EH_SPEC "%{!static:--eh-frame-hdr} "
++#define LINK_EH_SPEC "%{!static:--eh-frame-hdr} %{!r:--build-id} "
+ #endif
+
+ #ifdef HAVE_AS_TLS
+--- gcc/config/alpha/elf.h.~1~
++++ gcc/config/alpha/elf.h
+@@ -453,5 +453,5 @@ extern int alpha_this_gpdisp_sequence_nu
+ I imagine that other systems will catch up. In the meantime, it
+ doesn't harm to make sure that the data exists to be used later. */
+ #if defined(HAVE_LD_EH_FRAME_HDR)
+-#define LINK_EH_SPEC "%{!static:--eh-frame-hdr} "
++#define LINK_EH_SPEC "%{!static:--eh-frame-hdr} %{!r:--build-id} "
+ #endif
+--- gcc/config/ia64/linux.h.~1~
++++ gcc/config/ia64/linux.h
+@@ -56,7 +56,7 @@ do { \
+ Signalize that because we have fde-glibc, we don't need all C shared libs
+ linked against -lgcc_s. */
+ #undef LINK_EH_SPEC
+-#define LINK_EH_SPEC ""
++#define LINK_EH_SPEC "%{!r:--build-id} "
+
+ #define MD_UNWIND_SUPPORT "config/ia64/linux-unwind.h"
+
diff --git a/recipes/gcc/gcc-4.4.0/gcc43-ppc64-ia64-GNU-stack.patch b/recipes/gcc/gcc-4.4.0/gcc43-ppc64-ia64-GNU-stack.patch
new file mode 100644
index 0000000000..d49f2b9855
--- /dev/null
+++ b/recipes/gcc/gcc-4.4.0/gcc43-ppc64-ia64-GNU-stack.patch
@@ -0,0 +1,86 @@
+2007-08-27 Jakub Jelinek <jakub@redhat.com>
+
+ * config/rs6000/rs6000.c (rs6000_elf_end_indicate_exec_stack): New.
+ * config/rs6000/linux64.h (TARGET_ASM_FILE_END): Use
+ rs6000_elf_end_indicate_exec_stack.
+ * config/ia64/ia64.c (ia64_linux_file_end): new.
+ * config/ia64/linux.h (TARGET_ASM_FILE_END): Use ia64_linux_file_end.
+
+--- gcc/config/rs6000/rs6000.c.jj 2007-12-07 18:41:08.000000000 +0100
++++ gcc/config/rs6000/rs6000.c 2007-12-07 18:42:12.000000000 +0100
+@@ -746,6 +746,7 @@ static void rs6000_file_start (void);
+ static int rs6000_elf_reloc_rw_mask (void);
+ static void rs6000_elf_asm_out_constructor (rtx, int);
+ static void rs6000_elf_asm_out_destructor (rtx, int);
++static void rs6000_elf_end_indicate_exec_stack (void) ATTRIBUTE_UNUSED;
+ static void rs6000_elf_asm_init_sections (void);
+ static section *rs6000_elf_select_rtx_section (enum machine_mode, rtx,
+ unsigned HOST_WIDE_INT);
+@@ -20418,6 +20419,20 @@ rs6000_elf_declare_function_name (FILE *
+ }
+ ASM_OUTPUT_LABEL (file, name);
+ }
++
++static void
++rs6000_elf_end_indicate_exec_stack (void)
++{
++ if (TARGET_32BIT)
++ file_end_indicate_exec_stack ();
++ else
++ {
++ int saved_trampolines_created = trampolines_created;
++ trampolines_created = 0;
++ file_end_indicate_exec_stack ();
++ trampolines_created = saved_trampolines_created;
++ }
++}
+ #endif
+
+ #if TARGET_XCOFF
+--- gcc/config/rs6000/linux64.h.jj 2007-12-07 17:18:06.000000000 +0100
++++ gcc/config/rs6000/linux64.h 2007-12-07 18:41:21.000000000 +0100
+@@ -504,7 +504,7 @@ extern int dot_symbols;
+ #undef DRAFT_V4_STRUCT_RET
+ #define DRAFT_V4_STRUCT_RET (!TARGET_64BIT)
+
+-#define TARGET_ASM_FILE_END file_end_indicate_exec_stack
++#define TARGET_ASM_FILE_END rs6000_elf_end_indicate_exec_stack
+
+ #define TARGET_POSIX_IO
+
+--- gcc/config/ia64/linux.h.jj 2007-12-07 18:17:43.000000000 +0100
++++ gcc/config/ia64/linux.h 2007-12-07 18:41:21.000000000 +0100
+@@ -5,7 +5,7 @@
+
+ #define TARGET_VERSION fprintf (stderr, " (IA-64) Linux");
+
+-#define TARGET_ASM_FILE_END file_end_indicate_exec_stack
++#define TARGET_ASM_FILE_END ia64_linux_file_end
+
+ /* This is for -profile to use -lc_p instead of -lc. */
+ #undef CC1_SPEC
+--- gcc/config/ia64/ia64.c.jj 2007-12-07 15:41:58.000000000 +0100
++++ gcc/config/ia64/ia64.c 2007-12-07 18:43:18.000000000 +0100
+@@ -262,6 +262,8 @@ static section *ia64_select_rtx_section
+ static void ia64_output_dwarf_dtprel (FILE *, int, rtx)
+ ATTRIBUTE_UNUSED;
+ static unsigned int ia64_section_type_flags (tree, const char *, int);
++static void ia64_linux_file_end (void)
++ ATTRIBUTE_UNUSED;
+ static void ia64_init_libfuncs (void)
+ ATTRIBUTE_UNUSED;
+ static void ia64_hpux_init_libfuncs (void)
+@@ -9957,4 +9959,13 @@ ia64_c_mode_for_suffix (char suffix)
+ return VOIDmode;
+ }
+
++static void
++ia64_linux_file_end (void)
++{
++ int saved_trampolines_created = trampolines_created;
++ trampolines_created = 0;
++ file_end_indicate_exec_stack ();
++ trampolines_created = saved_trampolines_created;
++}
++
+ #include "gt-ia64.h"
diff --git a/recipes/gcc/gcc-4.4.0/ldflags.patch b/recipes/gcc/gcc-4.4.0/ldflags.patch
new file mode 100644
index 0000000000..9576f60778
--- /dev/null
+++ b/recipes/gcc/gcc-4.4.0/ldflags.patch
@@ -0,0 +1,22 @@
+--- /tmp/Makefile.in 2006-02-23 20:56:01.399758728 +0100
++++ gcc-4.1-20060217/Makefile.in 2006-02-23 20:56:16.874406224 +0100
+@@ -334,7 +334,7 @@
+ CXXFLAGS_FOR_TARGET = $(CXXFLAGS) $(SYSROOT_CFLAGS_FOR_TARGET)
+ LIBCFLAGS_FOR_TARGET = $(CFLAGS_FOR_TARGET)
+ LIBCXXFLAGS_FOR_TARGET = $(CXXFLAGS_FOR_TARGET) -fno-implicit-templates
+-LDFLAGS_FOR_TARGET =
++LDFLAGS_FOR_TARGET = @LDFLAGS@
+ PICFLAG_FOR_TARGET =
+
+ # ------------------------------------
+--- /tmp/Makefile.tpl 2006-02-23 20:50:34.077519272 +0100
++++ gcc-4.1-20060217/Makefile.tpl 2006-02-23 21:04:31.092273688 +0100
+@@ -337,7 +337,7 @@
+ CXXFLAGS_FOR_TARGET = $(CXXFLAGS) $(SYSROOT_CFLAGS_FOR_TARGET)
+ LIBCFLAGS_FOR_TARGET = $(CFLAGS_FOR_TARGET)
+ LIBCXXFLAGS_FOR_TARGET = $(CXXFLAGS_FOR_TARGET) -fno-implicit-templates
+-LDFLAGS_FOR_TARGET =
++LDFLAGS_FOR_TARGET = @LDFLAGS@
+ PICFLAG_FOR_TARGET =
+
+ # ------------------------------------
diff --git a/recipes/gcc/gcc-4.4.0/pr34130.patch b/recipes/gcc/gcc-4.4.0/pr34130.patch
new file mode 100644
index 0000000000..415335f4b4
--- /dev/null
+++ b/recipes/gcc/gcc-4.4.0/pr34130.patch
@@ -0,0 +1,16 @@
+Index: gcc-4.1.2/gcc/fold-const.c
+===================================================================
+--- gcc-4.1.2.orig/gcc/fold-const.c 2007-11-21 18:53:42.000000000 +0100
++++ gcc-4.1.2/gcc/fold-const.c 2007-11-21 18:56:26.000000000 +0100
+@@ -5339,7 +5339,10 @@
+ }
+ break;
+ }
+- /* FALLTHROUGH */
++ /* If the constant is negative, we cannot simplify this. */
++ if (tree_int_cst_sgn (c) == -1)
++ break;
++ /* FALLTHROUGH */
+ case NEGATE_EXPR:
+ if ((t1 = extract_muldiv (op0, c, code, wide_type)) != 0)
+ return fold_build1 (tcode, ctype, fold_convert (ctype, t1));
diff --git a/recipes/gcc/gcc-4.4.0/sdk-libstdc++-includes.patch b/recipes/gcc/gcc-4.4.0/sdk-libstdc++-includes.patch
new file mode 100644
index 0000000000..4377c2143b
--- /dev/null
+++ b/recipes/gcc/gcc-4.4.0/sdk-libstdc++-includes.patch
@@ -0,0 +1,22 @@
+--- gcc-3.4.1/libstdc++-v3/libmath/Makefile.am~ 2003-08-27 22:29:42.000000000 +0100
++++ gcc-3.4.1/libstdc++-v3/libmath/Makefile.am 2004-07-22 16:41:45.152130128 +0100
+@@ -32,7 +32,7 @@
+
+ libmath_la_SOURCES = stubs.c
+
+-AM_CPPFLAGS = $(CANADIAN_INCLUDES)
++AM_CPPFLAGS = $(CANADIAN_INCLUDES) -I$(toplevel_srcdir)/include
+
+ # Only compiling "C" sources in this directory.
+ LIBTOOL = @LIBTOOL@ --tag CC
+--- gcc-3.4.1/libstdc++-v3/fragment.am.old 2004-07-22 18:24:58.024083656 +0100
++++ gcc-3.4.1/libstdc++-v3/fragment.am 2004-07-22 18:24:59.019932264 +0100
+@@ -18,7 +18,7 @@
+ $(WARN_FLAGS) $(WERROR) -fdiagnostics-show-location=once
+
+ # -I/-D flags to pass when compiling.
+-AM_CPPFLAGS = $(GLIBCXX_INCLUDES)
++AM_CPPFLAGS = $(GLIBCXX_INCLUDES) -I$(toplevel_srcdir)/include
+
+
+
diff --git a/recipes/gcc/gcc-4.4.0/sh3-installfix-fixheaders.patch b/recipes/gcc/gcc-4.4.0/sh3-installfix-fixheaders.patch
new file mode 100644
index 0000000000..a06cd2e075
--- /dev/null
+++ b/recipes/gcc/gcc-4.4.0/sh3-installfix-fixheaders.patch
@@ -0,0 +1,11 @@
+--- gcc-4.1.1/gcc/Makefile.in_orig 2007-01-31 21:24:23.000000000 +0000
++++ gcc-4.1.1/gcc/Makefile.in 2007-01-31 21:24:43.000000000 +0000
+@@ -3772,8 +3772,6 @@
+ $(INSTALL_SCRIPT) $(mkinstalldirs) \
+ $(DESTDIR)$(itoolsdir)/mkinstalldirs ; \
+ $(INSTALL_SCRIPT) $(srcdir)/fixproto $(DESTDIR)$(itoolsdir)/fixproto ; \
+- $(INSTALL_PROGRAM) build/fix-header$(build_exeext) \
+- $(DESTDIR)$(itoolsdir)/fix-header$(build_exeext) ; \
+ else :; fi
+ echo 'SYSTEM_HEADER_DIR="'"$(SYSTEM_HEADER_DIR)"'"' \
+ > $(DESTDIR)$(itoolsdatadir)/mkheaders.conf
diff --git a/recipes/gcc/gcc-4.4.0/sh_unwind.patch b/recipes/gcc/gcc-4.4.0/sh_unwind.patch
new file mode 100644
index 0000000000..94921636bc
--- /dev/null
+++ b/recipes/gcc/gcc-4.4.0/sh_unwind.patch
@@ -0,0 +1,18 @@
+Index: gcc-4.2.4/gcc/config/sh/linux-unwind.h
+===================================================================
+--- gcc-4.2.4.orig/gcc/config/sh/linux-unwind.h 2008-10-04 00:05:29.434889757 +0200
++++ gcc-4.2.4/gcc/config/sh/linux-unwind.h 2008-10-04 00:06:02.594883544 +0200
+@@ -26,6 +26,7 @@
+ the Free Software Foundation, 51 Franklin Street, Fifth Floor,
+ Boston, MA 02110-1301, USA. */
+
++#ifndef inhibit_libc
+ /* Do code reading to identify a signal frame, and set the frame
+ state data appropriately. See unwind-dw2.c for the structs. */
+
+@@ -251,3 +252,5 @@
+ return _URC_NO_REASON;
+ }
+ #endif /* defined (__SH5__) */
++
++#endif /* defined inhibit_libc */
diff --git a/recipes/gcc/gcc-4.4.0/unbreak-armv4t.patch b/recipes/gcc/gcc-4.4.0/unbreak-armv4t.patch
new file mode 100644
index 0000000000..b3399abfdb
--- /dev/null
+++ b/recipes/gcc/gcc-4.4.0/unbreak-armv4t.patch
@@ -0,0 +1,12 @@
+diff -urN gcc-4.1.1/gcc/config/arm/linux-eabi.h gcc-4.1.1-arm9tdmi/gcc/config/arm/linux-eabi.h
+--- gcc-4.1.1/gcc/config/arm/linux-eabi.h 2006-10-22 11:11:49.000000000 -0700
++++ gcc-4.1.1-arm9tdmi/gcc/config/arm/linux-eabi.h 2006-10-24 21:34:01.000000000 -0700
+@@ -45,7 +45,7 @@
+ The ARM10TDMI core is the default for armv5t, so set
+ SUBTARGET_CPU_DEFAULT to achieve this. */
+ #undef SUBTARGET_CPU_DEFAULT
+-#define SUBTARGET_CPU_DEFAULT TARGET_CPU_arm10tdmi
++#define SUBTARGET_CPU_DEFAULT TARGET_CPU_arm9tdmi
+
+ #undef SUBTARGET_EXTRA_LINK_SPEC
+ #define SUBTARGET_EXTRA_LINK_SPEC " -m armelf_linux_eabi"
diff --git a/recipes/gcc/gcc-4.4.0/zecke-no-host-includes.patch b/recipes/gcc/gcc-4.4.0/zecke-no-host-includes.patch
new file mode 100644
index 0000000000..4ccf35f627
--- /dev/null
+++ b/recipes/gcc/gcc-4.4.0/zecke-no-host-includes.patch
@@ -0,0 +1,31 @@
+Index: gcc-4.4+svnr145550/gcc/incpath.c
+===================================================================
+--- gcc-4.4+svnr145550.orig/gcc/incpath.c 2009-04-04 13:48:31.000000000 -0700
++++ gcc-4.4+svnr145550/gcc/incpath.c 2009-04-04 14:49:29.000000000 -0700
+@@ -417,6 +417,26 @@
+ p->construct = 0;
+ p->user_supplied_p = user_supplied_p;
+
++#ifdef CROSS_COMPILE
++ /* A common error when cross compiling is including
++ host headers. This code below will try to fail fast
++ for cross compiling. Currently we consider /usr/include,
++ /opt/include and /sw/include as harmful. */
++ {
++ /* printf("Adding Path: %s\n", p->name ); */
++ if( strstr(p->name, "/usr/include" ) == p->name ) {
++ fprintf(stderr, _("CROSS COMPILE Badness: /usr/include in INCLUDEPATH: %s\n"), p->name);
++ abort();
++ } else if( strstr(p->name, "/sw/include") == p->name ) {
++ fprintf(stderr, _("CROSS COMPILE Badness: /sw/include in INCLUDEPATH: %s\n"), p->name);
++ abort();
++ } else if( strstr(p->name, "/opt/include") == p->name ) {
++ fprintf(stderr, _("CROSS COMPILE Badness: /opt/include in INCLUDEPATH: %s\n"), p->name);
++ abort();
++ }
++ }
++#endif
++
+ add_cpp_dir_path (p, chain);
+ }
+
diff --git a/recipes/gcc/gcc-4.4.0/zecke-xgcc-cpp.patch b/recipes/gcc/gcc-4.4.0/zecke-xgcc-cpp.patch
new file mode 100644
index 0000000000..a7722cbfc4
--- /dev/null
+++ b/recipes/gcc/gcc-4.4.0/zecke-xgcc-cpp.patch
@@ -0,0 +1,28 @@
+upstream: n/a
+comment: Use the preprocessor we have just compiled instead the one of
+the system. There might be incompabilities between us and them.
+
+Index: gcc-4.3.1/Makefile.in
+===================================================================
+--- gcc-4.3.1.orig/Makefile.in 2008-08-19 01:09:56.000000000 -0700
++++ gcc-4.3.1/Makefile.in 2008-08-19 01:13:27.000000000 -0700
+@@ -204,6 +204,7 @@
+ AR="$(AR_FOR_TARGET)"; export AR; \
+ AS="$(COMPILER_AS_FOR_TARGET)"; export AS; \
+ CC="$(CC_FOR_TARGET)"; export CC; \
++ CPP="$(CC_FOR_TARGET) -E"; export CPP; \
+ CFLAGS="$(CFLAGS_FOR_TARGET) $(SYSROOT_CFLAGS_FOR_TARGET) $(DEBUG_PREFIX_CFLAGS_FOR_TARGET)"; export CFLAGS; \
+ CONFIG_SHELL="$(SHELL)"; export CONFIG_SHELL; \
+ CPPFLAGS="$(CPPFLAGS_FOR_TARGET)"; export CPPFLAGS; \
+Index: gcc-4.3.1/Makefile.tpl
+===================================================================
+--- gcc-4.3.1.orig/Makefile.tpl 2008-08-21 00:07:58.000000000 -0700
++++ gcc-4.3.1/Makefile.tpl 2008-08-21 00:09:52.000000000 -0700
+@@ -223,6 +223,7 @@
+ AR="$(AR_FOR_TARGET)"; export AR; \
+ AS="$(COMPILER_AS_FOR_TARGET)"; export AS; \
+ CC="$(CC_FOR_TARGET)"; export CC; \
++ CPP="$(CC_FOR_TARGET) -E"; export CPP; \
+ CFLAGS="$(CFLAGS_FOR_TARGET) $(SYSROOT_CFLAGS_FOR_TARGET) $(DEBUG_PREFIX_CFLAGS_FOR_TARGET)"; export CFLAGS; \
+ CONFIG_SHELL="$(SHELL)"; export CONFIG_SHELL; \
+ CPPFLAGS="$(CPPFLAGS_FOR_TARGET)"; export CPPFLAGS; \
diff --git a/recipes/gcc/gcc-cross-initial_4.4.0.bb b/recipes/gcc/gcc-cross-initial_4.4.0.bb
new file mode 100644
index 0000000000..067ab61be3
--- /dev/null
+++ b/recipes/gcc/gcc-cross-initial_4.4.0.bb
@@ -0,0 +1,9 @@
+require gcc-cross_${PV}.bb
+require gcc-cross-initial.inc
+
+DEPENDS += "gmp-native mpfr-native"
+
+EXTRA_OECONF += " --disable-libmudflap \
+ --disable-libgomp \
+ --enable-decimal-float=no \
+ --disable-libssp"
diff --git a/recipes/gcc/gcc-cross-intermediate_4.4.0.bb b/recipes/gcc/gcc-cross-intermediate_4.4.0.bb
new file mode 100644
index 0000000000..a9ae5bdf20
--- /dev/null
+++ b/recipes/gcc/gcc-cross-intermediate_4.4.0.bb
@@ -0,0 +1,8 @@
+require gcc-cross_${PV}.bb
+require gcc-cross-intermediate.inc
+
+DEPENDS += "gmp-native mpfr-native"
+
+EXTRA_OECONF += " --disable-libmudflap \
+ --disable-libgomp \
+ --disable-libssp"
diff --git a/recipes/gcc/gcc-cross-sdk_4.4.0.bb b/recipes/gcc/gcc-cross-sdk_4.4.0.bb
new file mode 100644
index 0000000000..a62d13bd2c
--- /dev/null
+++ b/recipes/gcc/gcc-cross-sdk_4.4.0.bb
@@ -0,0 +1,13 @@
+inherit sdk
+
+require gcc-${PV}.inc
+require gcc-cross-sdk.inc
+require gcc-configure-sdk.inc
+require gcc-package-sdk.inc
+PR = "r0"
+
+DEPENDS += "gmp-native mpfr-native"
+
+EXTRA_OECONF += "--disable-libunwind-exceptions --disable-libssp \
+ --disable-libgomp --disable-libmudflap \
+ --with-mpfr=${STAGING_DIR_NATIVE}${layout_exec_prefix}"
diff --git a/recipes/gcc/gcc-cross_4.4.0.bb b/recipes/gcc/gcc-cross_4.4.0.bb
new file mode 100644
index 0000000000..e3941b9bd2
--- /dev/null
+++ b/recipes/gcc/gcc-cross_4.4.0.bb
@@ -0,0 +1,11 @@
+require gcc-${PV}.inc
+require gcc-cross4.inc
+require gcc-configure-cross.inc
+require gcc-package-cross.inc
+PR = "r0"
+
+SRC_URI_append_fail-fast = " file://zecke-no-host-includes.patch;patch=1 "
+
+EXTRA_OECONF += " --disable-libunwind-exceptions --with-mpfr=${STAGING_DIR_NATIVE}${layout_exec_prefix}"
+
+ARCH_FLAGS_FOR_TARGET += "-isystem${STAGING_DIR_TARGET}${layout_includedir}"
diff --git a/recipes/gcc/gcc-svn.inc b/recipes/gcc/gcc-svn.inc
index 94ee5a1ff1..e2943bd387 100644
--- a/recipes/gcc/gcc-svn.inc
+++ b/recipes/gcc/gcc-svn.inc
@@ -15,6 +15,7 @@ PR = "r0"
FILESPATHPKG .= ":gcc-svn"
SRC_URI = "svn://gcc.gnu.org/svn/gcc;module=trunk \
+ file://gcc-4.3.1-ARCH_FLAGS_FOR_TARGET.patch;patch=1 \
"
# Language Overrides
FORTRAN = ""
diff --git a/recipes/gcc/gcc_4.4.0.bb b/recipes/gcc/gcc_4.4.0.bb
new file mode 100644
index 0000000000..6ac2b58305
--- /dev/null
+++ b/recipes/gcc/gcc_4.4.0.bb
@@ -0,0 +1,13 @@
+require gcc-${PV}.inc
+require gcc-configure-target.inc
+require gcc-package-target.inc
+PR = "r0"
+
+# GCC 4.4.0 installs crt* in a '4.4.0' dir....
+FILES_${PN} += "\
+ ${gcclibdir}/${TARGET_SYS}/*/*.o \
+"
+
+SRC_URI_append = "file://fortran-cross-compile-hack.patch;patch=1"
+
+ARCH_FLAGS_FOR_TARGET += "-isystem${STAGING_INCDIR}"
diff --git a/recipes/gcc/mingw-gcc_3.4.5-20060117-2.bb b/recipes/gcc/mingw-gcc_3.4.5-20060117-2.bb
index 22f91703ee..fd45e9f022 100644
--- a/recipes/gcc/mingw-gcc_3.4.5-20060117-2.bb
+++ b/recipes/gcc/mingw-gcc_3.4.5-20060117-2.bb
@@ -4,8 +4,8 @@ HOMEPAGE = "http://www.mingw.org/"
SECTION = "devel"
LICENSE = "GPL"
-DEFAULT_PREFERENCE = "0"
-DEFAULT_PREFERENCE_sdk-mingw32 = "1"
+DEFAULT_PREFERENCE = "-1"
+DEFAULT_PREFERENCE_mingw32 = "1"
inherit autotools gettext
diff --git a/recipes/genext2fs/genext2fs-1.4.1/volume.patch b/recipes/genext2fs/genext2fs-1.4.1/volume.patch
new file mode 100644
index 0000000000..825fc35bea
--- /dev/null
+++ b/recipes/genext2fs/genext2fs-1.4.1/volume.patch
@@ -0,0 +1,153 @@
+---
+ genext2fs.c | 26 +++++++++++++++++++-------
+ 1 file changed, 19 insertions(+), 7 deletions(-)
+
+--- genext2fs-1.4.1.orig/genext2fs.c
++++ genext2fs-1.4.1/genext2fs.c
+@@ -507,11 +507,13 @@ swab32(uint32 val)
+ #define utdecl32(x,n) uint32 x[n];
+
+ typedef struct
+ {
+ superblock_decl
+- uint32 s_reserved[235]; // Reserved
++ uint32 s_reserved1[9];
++ char s_volume[16];
++ uint32 s_reserved2[222]; // Reserved
+ } superblock;
+
+ typedef struct
+ {
+ groupdescriptor_decl
+@@ -1219,11 +1221,11 @@ extend_blk(filesystem *fs, uint32 nod, b
+ lbw = bw;
+ bw = lbw;
+ while(create)
+ {
+ int i, copyb = 0;
+- if(!(fs->sb.s_reserved[200] & OP_HOLES))
++ if(!(fs->sb.s_reserved2[187] & OP_HOLES))
+ copyb = 1;
+ else
+ for(i = 0; i < BLOCKSIZE / 4; i++)
+ if(((int32*)(b + BLOCKSIZE * (amount - create)))[i])
+ {
+@@ -1891,11 +1893,12 @@ swap_badfs(filesystem *fs)
+ }
+ }
+
+ // initialize an empty filesystem
+ static filesystem *
+-init_fs(int nbblocks, int nbinodes, int nbresrvd, int holes, uint32 fs_timestamp)
++init_fs(int nbblocks, int nbinodes, int nbresrvd, int holes,
++ uint32 fs_timestamp, char *volumeid)
+ {
+ uint32 i;
+ filesystem *fs;
+ directory *d;
+ uint8 * b;
+@@ -1956,10 +1959,13 @@ init_fs(int nbblocks, int nbinodes, int
+ fs->sb.s_inodes_per_group = nbinodes_per_group;
+ fs->sb.s_wtime = fs_timestamp;
+ fs->sb.s_magic = EXT2_MAGIC_NUMBER;
+ fs->sb.s_lastcheck = fs_timestamp;
+
++ if (volumeid != NULL)
++ strncpy(fs->sb.s_volume, volumeid, sizeof(fs->sb.s_volume));
++
+ // set up groupdescriptors
+ for(i=0, bbmpos=gdsz+2, ibmpos=bbmpos+1, itblpos=ibmpos+1;
+ i<nbgroups;
+ i++, bbmpos+=nbblocks_per_group, ibmpos+=nbblocks_per_group, itblpos+=nbblocks_per_group)
+ {
+@@ -2055,11 +2061,11 @@ init_fs(int nbblocks, int nbinodes, int
+ fs->sb.s_state = 1;
+ fs->sb.s_max_mnt_count = 20;
+
+ // options for me
+ if(holes)
+- fs->sb.s_reserved[200] |= OP_HOLES;
++ fs->sb.s_reserved2[187] |= OP_HOLES;
+
+ return fs;
+ }
+
+ // loads a filesystem from disk
+@@ -2351,11 +2357,11 @@ print_fs(filesystem *fs)
+
+ static void
+ dump_fs(filesystem *fs, FILE * fh, int swapit)
+ {
+ uint32 nbblocks = fs->sb.s_blocks_count;
+- fs->sb.s_reserved[200] = 0;
++ fs->sb.s_reserved2[187] = 0;
+ if(swapit)
+ swap_goodfs(fs);
+ if(fwrite(fs, BLOCKSIZE, nbblocks, fh) < nbblocks)
+ perror_msg_and_die("output filesystem image");
+ if(swapit)
+@@ -2465,10 +2471,11 @@ main(int argc, char **argv)
+ int squash_uids = 0;
+ int squash_perms = 0;
+ uint16 endian = 1;
+ int bigendian = !*(char*)&endian;
+ filesystem *fs;
++ char *volumeid = NULL;
+ int i;
+ int c;
+ struct stats stats;
+
+ #if HAVE_GETOPT_LONG
+@@ -2477,10 +2484,11 @@ main(int argc, char **argv)
+ { "root", required_argument, NULL, 'd' },
+ { "devtable", required_argument, NULL, 'D' },
+ { "size-in-blocks", required_argument, NULL, 'b' },
+ { "bytes-per-inode", required_argument, NULL, 'i' },
+ { "number-of-inodes", required_argument, NULL, 'N' },
++ { "volume-id", required_argument, NULL, 'L' },
+ { "reserved-percentage", required_argument, NULL, 'm' },
+ { "block-map", required_argument, NULL, 'g' },
+ { "fill-value", required_argument, NULL, 'e' },
+ { "allow-holes", no_argument, NULL, 'z' },
+ { "faketime", no_argument, NULL, 'f' },
+@@ -2493,11 +2501,11 @@ main(int argc, char **argv)
+ { 0, 0, 0, 0}
+ } ;
+
+ app_name = argv[0];
+
+- while((c = getopt_long(argc, argv, "x:d:D:b:i:N:m:g:e:zfqUPhVv", longopts, NULL)) != EOF) {
++ while((c = getopt_long(argc, argv, "x:d:D:b:i:N:L:m:g:e:zfqUPhVv", longopts, NULL)) != EOF) {
+ #else
+ app_name = argv[0];
+
+ while((c = getopt(argc, argv, "x:d:D:b:i:N:m:g:e:zfqUPhVv")) != EOF) {
+ #endif /* HAVE_GETOPT_LONG */
+@@ -2517,10 +2525,13 @@ main(int argc, char **argv)
+ bytes_per_inode = SI_atof(optarg);
+ break;
+ case 'N':
+ nbinodes = SI_atof(optarg);
+ break;
++ case 'L':
++ volumeid = optarg;
++ break;
+ case 'm':
+ reserved_frac = SI_atof(optarg) / 100;
+ break;
+ case 'g':
+ gopt[gidx++] = optarg;
+@@ -2607,11 +2618,12 @@ main(int argc, char **argv)
+ if(tmp_nbinodes > nbinodes)
+ nbinodes = tmp_nbinodes;
+ }
+ if(fs_timestamp == -1)
+ fs_timestamp = time(NULL);
+- fs = init_fs(nbblocks, nbinodes, nbresrvd, holes, fs_timestamp);
++ fs = init_fs(nbblocks, nbinodes, nbresrvd, holes,
++ fs_timestamp, volumeid);
+ }
+
+ populate_fs(fs, dopt, didx, squash_uids, squash_perms, fs_timestamp, NULL);
+
+ if(emptyval) {
diff --git a/recipes/genext2fs/genext2fs-native_1.4.1.bb b/recipes/genext2fs/genext2fs-native_1.4.1.bb
new file mode 100644
index 0000000000..50b371b97e
--- /dev/null
+++ b/recipes/genext2fs/genext2fs-native_1.4.1.bb
@@ -0,0 +1,10 @@
+require genext2fs_${PV}.bb
+inherit native
+
+do_stage () {
+ install -m 0755 genext2fs ${STAGING_BINDIR}/
+}
+
+do_install () {
+ :
+}
diff --git a/recipes/genext2fs/genext2fs_1.4.1.bb b/recipes/genext2fs/genext2fs_1.4.1.bb
new file mode 100644
index 0000000000..10ad9de052
--- /dev/null
+++ b/recipes/genext2fs/genext2fs_1.4.1.bb
@@ -0,0 +1,9 @@
+require genext2fs.inc
+
+
+SRC_URI = "${SOURCEFORGE_MIRROR}/genext2fs/genext2fs-${PV}.tar.gz \
+ file://volume.patch;patch=1"
+
+DEFAULT_PREFERENCE = "1"
+
+inherit autotools
diff --git a/recipes/glibc/glibc-initial_2.9.bb b/recipes/glibc/glibc-initial_2.9.bb
new file mode 100644
index 0000000000..d66297090f
--- /dev/null
+++ b/recipes/glibc/glibc-initial_2.9.bb
@@ -0,0 +1,6 @@
+require glibc_${PV}.bb
+require glibc-initial.inc
+
+do_configure_prepend () {
+ unset CFLAGS
+}
diff --git a/recipes/glibc/glibc_2.9.bb b/recipes/glibc/glibc_2.9.bb
new file mode 100644
index 0000000000..0af9f263d5
--- /dev/null
+++ b/recipes/glibc/glibc_2.9.bb
@@ -0,0 +1,152 @@
+require glibc.inc
+
+ARM_INSTRUCTION_SET = "arm"
+
+PACKAGES_DYNAMIC = "libc6*"
+RPROVIDES_${PN}-dev = "libc6-dev virtual-libc-dev"
+
+# the -isystem in bitbake.conf screws up glibc do_stage
+BUILD_CPPFLAGS = "-I${STAGING_INCDIR_NATIVE}"
+TARGET_CPPFLAGS = "-I${STAGING_DIR_TARGET}${layout_includedir}"
+
+
+FILESPATH = "${@base_set_filespath([ '${FILE_DIRNAME}/glibc-2.4', '${FILE_DIRNAME}/glibc-${PV}', '${FILE_DIRNAME}/files', '${FILE_DIRNAME}' ], d)}"
+
+GLIBC_ADDONS ?= "ports,nptl,libidn"
+
+GLIBC_BROKEN_LOCALES = " _ER _ET so_ET yn_ER sid_ET tr_TR mn_MN gez_ET gez_ER bn_BD te_IN"
+
+#
+# For now, we will skip building of a gcc package if it is a uclibc one
+# and our build is not a uclibc one, and we skip a glibc one if our build
+# is a uclibc build.
+#
+# See the note in gcc/gcc_3.4.0.oe
+#
+
+python __anonymous () {
+ import bb, re
+ uc_os = (re.match('.*uclibc$', bb.data.getVar('TARGET_OS', d, 1)) != None)
+ if uc_os:
+ raise bb.parse.SkipPackage("incompatible with target %s" %
+ bb.data.getVar('TARGET_OS', d, 1))
+}
+
+RDEPENDS_${PN}-dev = "linux-libc-headers-dev"
+
+# file://noinfo.patch;patch=1
+# file://ldconfig.patch;patch=1;pnum=0
+# file://arm-machine-gmon.patch;patch=1;pnum=0 \
+# \
+# file://arm-ioperm.patch;patch=1;pnum=0 \
+# file://ldd.patch;patch=1;pnum=0 \
+SRC_URI = "ftp://ftp.gnu.org/pub/gnu/glibc/glibc-${PV}.tar.bz2 \
+ ftp://ftp.gnu.org/pub/gnu/glibc/glibc-ports-2.7.tar.bz2 \
+ ftp://ftp.gnu.org/pub/gnu/glibc/glibc-libidn-${PV}.tar.bz2 \
+ file://arm-memcpy.patch;patch=1 \
+ file://arm-longlong.patch;patch=1 \
+ file://fhs-linux-paths.patch;patch=1 \
+ file://dl-cache-libcmp.patch;patch=1 \
+ file://ldsocache-varrun.patch;patch=1 \
+ file://nptl-crosscompile.patch;patch=1 \
+ file://glibc-check_pf.patch;patch=1;pnum=0 \
+ file://ldd-unbash.patch;patch=1 \
+ file://glibc-arm-IO-acquire-lock-fix.diff;patch=1 \
+ file://generic-bits_select.h \
+ file://generic-bits_types.h \
+ file://generic-bits_typesizes.h \
+ file://generic-bits_time.h \
+ file://etc/ld.so.conf \
+ file://generate-supported.mk \
+ "
+
+
+# Build fails on sh3 and sh4 without additional patches
+SRC_URI_append_sh3 = " file://no-z-defs.patch;patch=1"
+SRC_URI_append_sh4 = " file://no-z-defs.patch;patch=1"
+
+#powerpc patches to add support for soft-float
+SRC_URI_append_powerpc= " \
+ file://powerpc-sqrt-hack.diff;patch=1""
+
+S = "${WORKDIR}/glibc-${PV}"
+B = "${WORKDIR}/build-${TARGET_SYS}"
+
+EXTRA_OECONF = "--enable-kernel=${OLDEST_KERNEL} \
+ --without-cvs --disable-profile --disable-debug --without-gd \
+ --enable-clocale=gnu \
+ --enable-add-ons=${GLIBC_ADDONS} \
+ --with-headers=${STAGING_INCDIR} \
+ --without-selinux \
+ ${GLIBC_EXTRA_OECONF}"
+
+EXTRA_OECONF += "${@get_glibc_fpu_setting(bb, d)}"
+
+do_munge() {
+ # Integrate ports and libidn into tree
+ mv ${WORKDIR}/glibc-ports-2.7 ${S}/ports
+ mv ${WORKDIR}/glibc-libidn-${PV} ${S}/libidn
+
+ # Ports isn't really working... Fix it
+ # Some of this is rather dirty, but it seems to be the only
+ # quick way to get this cruft to compile
+ rm -rf ${S}/ports/sysdeps/unix/sysv/linux/arm/linuxthreads
+ ln -s nptl ${S}/ports/sysdeps/unix/sysv/linux/arm/linuxthreads
+ cp ${S}/nptl/sysdeps/pthread/bits/sigthread.h ${S}/ports/sysdeps/unix/sysv/linux/arm/bits/
+ cp ${S}/sysdeps/unix/sysv/linux/i386/bits/wchar.h ${S}/ports/sysdeps/unix/sysv/linux/arm/bits/
+ cp ${S}/sysdeps/wordsize-32/bits/wordsize.h ${S}/ports/sysdeps/unix/sysv/linux/arm/bits/
+ cp ${WORKDIR}/generic-bits_select.h ${S}/ports/sysdeps/unix/sysv/linux/arm/bits/select.h
+ cp ${WORKDIR}/generic-bits_types.h ${S}/ports/sysdeps/unix/sysv/linux/arm/bits/types.h
+ cp ${WORKDIR}/generic-bits_typesizes.h ${S}/ports/sysdeps/unix/sysv/linux/arm/bits/typesizes.h
+ cp ${WORKDIR}/generic-bits_time.h ${S}/ports/sysdeps/unix/sysv/linux/arm/bits/time.h
+ # Copy in generic stuff for not yet implemented headers
+ for i in ${S}/bits/*.h; do
+ F=`basename $i`
+ [ "$F" = "local_lim.h" ] && continue
+ [ "$F" = "errno.h" ] && continue
+ test -e ${S}/ports/sysdeps/unix/sysv/linux/arm/bits/$F || test -e ${S}/ports/sysdeps/arm/bits/$F || test -e ${S}/sysdeps/unix/sysv/linux/bits/$F || test -e ${S}/sysdeps/ieee754/bits/$F || cp $i ${S}/ports/sysdeps/unix/sysv/linux/arm/bits/
+ done
+ # This is harmful; we need to get the one from nptl/sysdeps/pthreads
+ rm -f ${S}/ports/sysdeps/unix/sysv/linux/arm/bits/libc-lock.h
+ # Obsoleted by sysdeps/arm/{fpu,eabi}/bits/fenv.h
+ rm -f ${S}/ports/sysdeps/unix/sysv/linux/arm/bits/fenv.h
+ # Obsoleted by sysdeps/gnu/bits/utmp.h
+ rm -f ${S}/ports/sysdeps/unix/sysv/linux/arm/bits/utmp.h
+}
+
+addtask munge before do_patch after do_unpack
+
+
+do_configure () {
+# override this function to avoid the autoconf/automake/aclocal/autoheader
+# calls for now
+# don't pass CPPFLAGS into configure, since it upsets the kernel-headers
+# version check and doesn't really help with anything
+ if [ -z "`which rpcgen`" ]; then
+ echo "rpcgen not found. Install glibc-devel."
+ exit 1
+ fi
+ (cd ${S} && gnu-configize) || die "failure in running gnu-configize"
+ CPPFLAGS="" oe_runconf
+}
+
+rpcsvc = "bootparam_prot.x nlm_prot.x rstat.x \
+ yppasswd.x klm_prot.x rex.x sm_inter.x mount.x \
+ rusers.x spray.x nfs_prot.x rquota.x key_prot.x"
+
+do_compile () {
+ # -Wl,-rpath-link <staging>/lib in LDFLAGS can cause breakage if another glibc is in staging
+ unset LDFLAGS
+ base_do_compile
+ (
+ cd ${S}/sunrpc/rpcsvc
+ for r in ${rpcsvc}; do
+ h=`echo $r|sed -e's,\.x$,.h,'`
+ rpcgen -h $r -o $h || oewarn "unable to generate header for $r"
+ done
+ )
+}
+
+require glibc-stage.inc
+
+require glibc-package.bbclass
diff --git a/recipes/gnome/gnome-media_2.26.0.bb b/recipes/gnome/gnome-media_2.26.0.bb
new file mode 100644
index 0000000000..251eb61ae0
--- /dev/null
+++ b/recipes/gnome/gnome-media_2.26.0.bb
@@ -0,0 +1,32 @@
+DESCRIPTION = "GNOME Media Tools"
+LICENSE = "GPL"
+SECTION = "x11/gnome"
+DEPENDS = "gconf glib-2.0 gstreamer gst-plugins-base gtk+ gdk-pixbuf-csource-native libcanberra libglade libgnomeui libunique libxml2"
+# optional for volume control:
+DEPENDS += "pulseaudio"
+# optional for gnome-cd and cddbslave (deprecated, needs --enable-gnomecd separate package for gnome-cd and cddb-slave2):
+#DEPENDS += "nautilus-cd-burner"
+inherit gnome
+
+PR = "r1"
+
+EXTRA_OECONF = "--disable-static --disable-gtk-doc --disable-scrollkeeper"
+
+# FIXME: Native doc processing with xsltproc using docbook needs additional work:
+do_configure_prepend() {
+ sed -i 's/^\(SUBDIRS = .*\)\(doc\|help\)/\1/' */Makefile.am
+}
+
+do_stage() {
+ autotools_stage_all
+}
+
+do_install_append() {
+ rm ${D}${libdir}/libglade/2.0/libgnome-media-profiles.la
+}
+
+FILES_${PN} += "${libdir}/libglade/2.0/libgnome-media-profiles.so \
+ ${datadir}/gstreamer-properties \
+ ${datadir}/gnome-sound-recorder"
+
+FILES_${PN}-dbg += "${libdir}/libglade/2.0/.debug"
diff --git a/recipes/gnome/gvfs_1.2.1.bb b/recipes/gnome/gvfs_1.2.1.bb
index 399cce67e7..ba27418e29 100644
--- a/recipes/gnome/gvfs_1.2.1.bb
+++ b/recipes/gnome/gvfs_1.2.1.bb
@@ -1,10 +1,10 @@
DESCRIPTION = "gvfs is a userspace virtual filesystem"
LICENSE = "LGPL"
-DEPENDS = "gnome-keyring glib-2.0 obexftp fuse avahi fuse hal gconf-dbus samba gphoto2"
+DEPENDS = "gawk-native gnome-keyring glib-2.0 obexftp fuse avahi fuse hal gconf-dbus samba gphoto2"
inherit gnome
-EXTRA_OECONF = "--enable-samba --with-archive-includes=${STAGING_INCDIR}"
+EXTRA_OECONF = "--enable-samba --with-archive-includes=${STAGING_INCDIR} --with-samba-includes=${STAGING_INCDIR}"
PACKAGES =+ "gvfsd-ftp gvfsd-sftp gvfsd-trash"
diff --git a/recipes/gnome/libxml++_2.26.0.bb b/recipes/gnome/libxml++_2.26.0.bb
new file mode 100644
index 0000000000..05740a1c04
--- /dev/null
+++ b/recipes/gnome/libxml++_2.26.0.bb
@@ -0,0 +1,7 @@
+LICENSE = "LGPL"
+DESCRIPTION = "C++ bindings for libxml2"
+DEPENDS = "glibmm libxml2"
+
+inherit gnome autotools_stage
+
+FILES_${PN}-dev += "${libdir}/libxml++-2.6/include/libxml++config.h"
diff --git a/recipes/gpephone/libgemwidget/libgemwidget-fixup.diff b/recipes/gpephone/libgemwidget/libgemwidget-fixup.diff
index 9a219f1eb8..90f9877910 100644
--- a/recipes/gpephone/libgemwidget/libgemwidget-fixup.diff
+++ b/recipes/gpephone/libgemwidget/libgemwidget-fixup.diff
@@ -1,7 +1,6 @@
-Index: libgemwidget-1.0/src/gemfilechooser.c
-===================================================================
---- libgemwidget-1.0.orig/src/gemfilechooser.c 2008-11-04 14:04:26.428221184 +0300
-+++ libgemwidget-1.0/src/gemfilechooser.c 2008-11-04 14:41:58.755239494 +0300
+diff -Narub libgemwidget-1.0.orig/src/gemfilechooser.c libgemwidget-1.0/src/gemfilechooser.c
+--- libgemwidget-1.0.orig/src/gemfilechooser.c 2007-11-04 07:48:36.000000000 +0100
++++ libgemwidget-1.0/src/gemfilechooser.c 2009-04-13 20:05:21.018294446 +0200
@@ -46,6 +46,7 @@
#include <gtk/gtk.h>
#include <gdk/gdkkeysyms.h>
@@ -10,34 +9,34 @@ Index: libgemwidget-1.0/src/gemfilechooser.c
#include "gemfilechooser.h"
#include "gemresource.h"
#include "gemenv.h"
-@@ -304,7 +305,7 @@ gem_file_chooser_finalize (GObject *obje
+@@ -304,7 +305,7 @@
}
-
+
static void
-gem_file_chooser_file_info_print (GtkFileInfo *info)
+gem_file_chooser_file_info_print (GFileInfo *info)
{
- struct tm loacl_time;
- time_t time;
-@@ -331,10 +332,10 @@ gem_file_chooser_file_info_print (GtkFil
- (gtk_file_info_get_is_folder(info) ? "TRUE" : "FALSE"));
- g_print("%s():|- Hidden : %s\n",
- __FUNCTION__,
+ struct tm loacl_time;
+ time_t time;
+@@ -331,10 +332,10 @@
+ (gtk_file_info_get_is_folder(info) ? "TRUE" : "FALSE"));
+ g_print("%s():|- Hidden : %s\n",
+ __FUNCTION__,
- (gtk_file_info_get_is_hidden(info) ? "TRUE" : "FALSE"));
+ (g_file_info_get_is_hidden(info) ? "TRUE" : "FALSE"));
- g_print("%s():|- MIME Type : %s\n",
- __FUNCTION__,
+ g_print("%s():|- MIME Type : %s\n",
+ __FUNCTION__,
- gtk_file_info_get_mime_type(info));
+ g_file_info_get_mime_type(info));
- g_print("%s():|- Modified Time : %04d/%02d/%02d %02d:%02d:%02d\n",
- __FUNCTION__,
- loacl_time.tm_year + 1900,
-@@ -345,7 +346,7 @@ gem_file_chooser_file_info_print (GtkFil
- loacl_time.tm_sec);
- g_print("%s():`- Size : %lld\n",
- __FUNCTION__,
+ g_print("%s():|- Modified Time : %04d/%02d/%02d %02d:%02d:%02d\n",
+ __FUNCTION__,
+ loacl_time.tm_year + 1900,
+@@ -345,7 +346,7 @@
+ loacl_time.tm_sec);
+ g_print("%s():`- Size : %lld\n",
+ __FUNCTION__,
- gtk_file_info_get_size(info));
+ g_file_info_get_size(info));
-
- g_print("\n");
- return;
+
+ g_print("\n");
+ return;
diff --git a/recipes/images/console-base-image.bb b/recipes/images/console-base-image.bb
index 887d37bdd9..d25a4fc79e 100644
--- a/recipes/images/console-base-image.bb
+++ b/recipes/images/console-base-image.bb
@@ -4,16 +4,20 @@ IMAGE_PREPROCESS_COMMAND = "create_etc_timestamp"
ANGSTROM_EXTRA_INSTALL ?= ""
+SPLASH ?= ""
+ZZAPSPLASH = ' ${@base_contains("MACHINE_FEATURES", "screen", "psplash-zap", "",d)}'
+
DEPENDS = "task-base \
- ${@base_contains("MACHINE_FEATURES", "screen", "psplash-zap", "",d)} \
+ ${SPLASH} \
+ ${ZZAPSPLASH} \
"
IMAGE_INSTALL = "task-base \
${ANGSTROM_EXTRA_INSTALL} \
- ${@base_contains("MACHINE_FEATURES", "screen", "psplash-zap", "",d)} \
- "
+ ${SPLASH} \
+ ${ZZAPSPLASH} \
+ "
IMAGE_LINGUAS = ""
inherit image
-
diff --git a/recipes/images/console-image.bb b/recipes/images/console-image.bb
index 76cb8f034e..9707881402 100644
--- a/recipes/images/console-image.bb
+++ b/recipes/images/console-image.bb
@@ -4,17 +4,21 @@ IMAGE_PREPROCESS_COMMAND = "create_etc_timestamp"
ANGSTROM_EXTRA_INSTALL ?= ""
+SPLASH ?= ""
+ZZAPSPLASH = ' ${@base_contains("MACHINE_FEATURES", "screen", "psplash-zap", "",d)}'
+
DEPENDS = "task-base-extended \
- ${@base_contains("MACHINE_FEATURES", "screen", "psplash-zap", "",d)} \
+ ${SPLASH} \
+ ${ZZAPSPLASH} \
"
IMAGE_INSTALL = "task-base-extended \
${ANGSTROM_EXTRA_INSTALL} \
- ${@base_contains("MACHINE_FEATURES", "screen", "psplash-zap", "",d)} \
- "
+ ${SPLASH} \
+ ${ZZAPSPLASH} \
+ "
export IMAGE_BASENAME = "console-image"
IMAGE_LINGUAS = ""
inherit image
-
diff --git a/recipes/images/distcc-master-image.bb b/recipes/images/distcc-master-image.bb
new file mode 100644
index 0000000000..a11cce85da
--- /dev/null
+++ b/recipes/images/distcc-master-image.bb
@@ -0,0 +1,26 @@
+#Angstrom distcc image
+
+IMAGE_PREPROCESS_COMMAND = "create_etc_timestamp"
+
+DEPENDS = "bridge-utils task-boot distcc task-native-sdk"
+
+IMAGE_INSTALL = "task-base \
+ distcc \
+ task-native-sdk \
+ bridge-utils \
+ task-proper-tools \
+ mtd-utils \
+ wireless-tools \
+ iptables \
+ ncurses-dev \
+ distcc-distmon-gnome \
+ angstrom-gpe-task-base \
+ e-wm-config-angstrom"
+
+export IMAGE_BASENAME = "distcc-master-image"
+IMAGE_LINGUAS = ""
+
+IMAGE_FSTYPES += "ubi"
+
+inherit image
+
diff --git a/recipes/images/gnuradio-image.bb b/recipes/images/gnuradio-image.bb
index 5421584481..53e79b8a1a 100644
--- a/recipes/images/gnuradio-image.bb
+++ b/recipes/images/gnuradio-image.bb
@@ -4,23 +4,27 @@ IMAGE_PREPROCESS_COMMAND = "create_etc_timestamp"
IMAGE_EXTRA_INSTALL ?= ""
+SPLASH ?= ""
+ZZAPSPLASH = ' ${@base_contains("MACHINE_FEATURES", "screen", "psplash-zap", "",d)}'
+
DEPENDS = "task-base-extended \
- ${@base_contains("MACHINE_FEATURES", "screen", "psplash-zap", "",d)} \
+ ${SPLASH} \
+ ${ZZAPSPLASH} \
"
IMAGE_INSTALL = "task-base-extended \
${IMAGE_EXTRA_INSTALL} \
- ${@base_contains("MACHINE_FEATURES", "screen", "psplash-zap", "",d)} \
+ ${SPLASH} \
+ ${ZZAPSPLASH} \
oprofile \
screen \
ntp ntp-bin \
make \
nfs-utils-client \
gnuradio gnuradio-examples \
- "
+ "
export IMAGE_BASENAME = "gnuradio-image"
IMAGE_LINGUAS = ""
inherit image
-
diff --git a/recipes/images/minimal-image.bb b/recipes/images/minimal-image.bb
index 650a3d681c..e9abcb35ca 100644
--- a/recipes/images/minimal-image.bb
+++ b/recipes/images/minimal-image.bb
@@ -9,7 +9,7 @@ SPLASH ?= " "
IMAGE_PREPROCESS_COMMAND = "create_etc_timestamp"
IMAGE_INSTALL = "task-boot \
- util-linux-mount util-linux-umount \
+ util-linux-ng-mount util-linux-ng-umount \
${DISTRO_SSH_DAEMON} \
${ANGSTROM_EXTRA_INSTALL} \
angstrom-version \
diff --git a/recipes/initscripts/files/hipox/reboot b/recipes/initscripts/files/hipox/reboot
new file mode 100755
index 0000000000..af2da10d14
--- /dev/null
+++ b/recipes/initscripts/files/hipox/reboot
@@ -0,0 +1,19 @@
+#! /bin/sh
+#
+# reboot Execute the reboot command.
+#
+
+PATH=/sbin:/bin:/usr/sbin:/usr/bin
+
+# Test if we should boot into the new kernel
+if test -x /usr/sbin/kexec -a -f /sys/kernel/kexec_loaded ; then
+ read loaded < /sys/kernel/kexec_loaded
+ if test "$loaded" = "1" ; then
+ echo -n "Loaded kernel image found, executing ... "
+ /usr/sbin/kexec --exec
+ echo "${warn}failed, doing normal reboot${norm}"
+ fi
+fi
+
+echo -n "Rebooting... "
+reboot -d -f -i
diff --git a/recipes/initscripts/initscripts_1.0.bb b/recipes/initscripts/initscripts_1.0.bb
index 556fbe46b7..cbcfec5e18 100644
--- a/recipes/initscripts/initscripts_1.0.bb
+++ b/recipes/initscripts/initscripts_1.0.bb
@@ -4,7 +4,7 @@ PRIORITY = "required"
DEPENDS = "makedevs"
RDEPENDS = "makedevs"
LICENSE = "GPL"
-PR = "r113"
+PR = "r114"
SRC_URI = "file://functions \
file://halt \
@@ -130,3 +130,8 @@ do_install () {
do_install_append_angstrom () {
rm ${D}${sysconfdir}/init.d/devices ${D}${sysconfdir}/rcS.d/S05devices
}
+
+# HIPOX needs /sys in reboot for kexec check
+do_install_append_hipox () {
+ ln -sf ../init.d/sysfs.sh ${D}${sysconfdir}/rc6.d/S80sysfs
+}
diff --git a/recipes/iputils/files/debian/add-icmp-return-codes.diff b/recipes/iputils/files/debian/add-icmp-return-codes.diff
new file mode 100644
index 0000000000..29bd7d1df3
--- /dev/null
+++ b/recipes/iputils/files/debian/add-icmp-return-codes.diff
@@ -0,0 +1,41 @@
+Index: iputils/ping.c
+===================================================================
+--- iputils.orig/ping.c 2007-12-09 20:32:35.000000000 -0500
++++ iputils/ping.c 2007-12-09 20:32:59.000000000 -0500
+@@ -865,9 +865,36 @@
+ case ICMP_SR_FAILED:
+ printf("Source Route Failed\n");
+ break;
++ case ICMP_NET_UNKNOWN:
++ printf("Destination Net Unknown\n");
++ break;
++ case ICMP_HOST_UNKNOWN:
++ printf("Destination Host Unknown\n");
++ break;
++ case ICMP_HOST_ISOLATED:
++ printf("Source Host Isolated\n");
++ break;
++ case ICMP_NET_ANO:
++ printf("Destination Net Prohibited\n");
++ break;
++ case ICMP_HOST_ANO:
++ printf("Destination Host Prohibited\n");
++ break;
++ case ICMP_NET_UNR_TOS:
++ printf("Destination Net Unreachable for Type of Service\n");
++ break;
++ case ICMP_HOST_UNR_TOS:
++ printf("Destination Host Unreachable for Type of Service\n");
++ break;
+ case ICMP_PKT_FILTERED:
+ printf("Packet filtered\n");
+ break;
++ case ICMP_PREC_VIOLATION:
++ printf("Precedence Violation\n");
++ break;
++ case ICMP_PREC_CUTOFF:
++ printf("Precedence Cutoff\n");
++ break;
+ default:
+ printf("Dest Unreachable, Bad Code: %d\n", code);
+ break;
diff --git a/recipes/iputils/files/debian/cleanup-docbook-formatting.diff b/recipes/iputils/files/debian/cleanup-docbook-formatting.diff
new file mode 100644
index 0000000000..65b43cbbf0
--- /dev/null
+++ b/recipes/iputils/files/debian/cleanup-docbook-formatting.diff
@@ -0,0 +1,20 @@
+--- iputils-upstream/doc/docbook2man-spec.pl 2007-10-28 12:24:10.000000000 -0400
++++ iputils/doc/docbook2man-spec.pl 2007-10-28 12:19:17.000000000 -0400
+@@ -428,7 +428,7 @@
+ output ' ';
+
+ if($_[0]->attribute('CHOICE')->value =~ /opt/i) {
+- output '[ ';
++ output '[';
+ }
+ bold_on();
+ }
+@@ -441,7 +441,7 @@
+ font_off();
+ }
+ if($_[0]->attribute('CHOICE')->value =~ /opt/i) {
+- output '] ';
++ output ']';
+ }
+ }
+
diff --git a/recipes/iputils/files/debian/fix-arping-timeouts.diff b/recipes/iputils/files/debian/fix-arping-timeouts.diff
new file mode 100644
index 0000000000..b3d2505987
--- /dev/null
+++ b/recipes/iputils/files/debian/fix-arping-timeouts.diff
@@ -0,0 +1,24 @@
+--- iputils-upstream/arping.c 2007-10-28 12:24:10.000000000 -0400
++++ iputils/arping.c 2007-10-28 12:19:17.000000000 -0400
+@@ -168,12 +168,17 @@
+ if (start.tv_sec==0)
+ start = tv;
+
+- if (count-- == 0 || (timeout && MS_TDIFF(tv,start) > timeout*1000 + 500))
+- finish();
++ if (timeout && MS_TDIFF(tv,start) > timeout*1000 + 500)
++ finish();
+
+- if (last.tv_sec==0 || MS_TDIFF(tv,last) > 500) {
++ if ((!timeout) && (count == 0))
++ finish();
++
++ if ( count!=0 && (last.tv_sec==0 || MS_TDIFF(tv,last) > 500 ) ) {
+ send_pack(s, src, dst, &me, &he);
+- if (count == 0 && unsolicited)
++ if (count >= 0)
++ count--;
++ if (count==0 && unsolicited)
+ finish();
+ }
+ alarm(1);
diff --git a/recipes/iputils/files/debian/fix-cmsghdr-offset-bug.diff b/recipes/iputils/files/debian/fix-cmsghdr-offset-bug.diff
new file mode 100644
index 0000000000..7ae92df468
--- /dev/null
+++ b/recipes/iputils/files/debian/fix-cmsghdr-offset-bug.diff
@@ -0,0 +1,19 @@
+--- iputils-upstream/ping6.c 2007-10-28 12:24:10.000000000 -0400
++++ iputils/ping6.c 2007-10-28 12:19:18.000000000 -0400
+@@ -414,7 +414,7 @@
+ fprintf(stderr, "ping: unknown iface %s\n", device);
+ exit(2);
+ }
+- cmsg = (struct cmsghdr*)cmsgbuf;
++ cmsg = (struct cmsghdr*)(cmsgbuf+cmsglen);
+ cmsglen += CMSG_SPACE(sizeof(*ipi));
+ cmsg->cmsg_len = CMSG_LEN(sizeof(*ipi));
+ cmsg->cmsg_level = SOL_IPV6;
+@@ -486,7 +486,6 @@
+ /*
+ * select icmp echo reply as icmp type to receive
+ */
+-
+ ICMP6_FILTER_SETBLOCKALL(&filter);
+
+ if (!working_recverr) {
diff --git a/recipes/iputils/files/debian/fix-dead-host-ping-stats.diff b/recipes/iputils/files/debian/fix-dead-host-ping-stats.diff
new file mode 100644
index 0000000000..3b0fb83655
--- /dev/null
+++ b/recipes/iputils/files/debian/fix-dead-host-ping-stats.diff
@@ -0,0 +1,17 @@
+--- iputils-s20070202/ping_common.c 2007-02-02 07:55:46.000000000 -0500
++++ iputils/ping_common.c 2007-10-28 12:19:17.000000000 -0400
+@@ -818,7 +820,8 @@
+ }
+ if (pipesize > 1)
+ printf(", pipe %d", pipesize);
+- if (ntransmitted > 1 && (!interval || (options&(F_FLOOD|F_ADAPTIVE)))) {
++ if (ntransmitted > 1 && nreceived &&
++ (!interval || (options&(F_FLOOD|F_ADAPTIVE)))) {
+ int ipg = (1000000*(long long)tv.tv_sec+tv.tv_usec)/(ntransmitted-1);
+ printf(", ipg/ewma %d.%03d/%d.%03d ms",
+ ipg/1000, ipg%1000, rtt/8000, (rtt/8)%1000);
+@@ -852,4 +855,3 @@
+ }
+ fprintf(stderr, "\n");
+ }
+-
diff --git a/recipes/iputils/files/debian/fix-tracepath-docs.diff b/recipes/iputils/files/debian/fix-tracepath-docs.diff
new file mode 100644
index 0000000000..5f001078df
--- /dev/null
+++ b/recipes/iputils/files/debian/fix-tracepath-docs.diff
@@ -0,0 +1,23 @@
+Index: iputils/doc/Makefile
+===================================================================
+--- iputils.orig/doc/Makefile 2007-10-28 17:27:31.000000000 -0400
++++ iputils/doc/Makefile 2007-12-09 21:01:24.000000000 -0500
+@@ -6,7 +6,7 @@
+
+ html: $(HTMLFILES) iputils.html
+
+-man: $(MANFILES)
++man: $(MANFILES) fix_sgml2man
+
+ # docbook scripts are incredibly dirty in the sense that they leak
+ # lots of some strange temporary junk directories and files.
+@@ -33,6 +33,9 @@
+ @set -e; cd tmp.db2man; nsgmls ../$< | sgmlspl ../docbook2man-spec.pl ; mv $@ ..
+ @-rm -rf tmp.db2man
+
++fix_sgml2man:
++ @sed -i -e 's!\\fB\\fIdestination\\fB\\fR \[\\fB/\\fIport\\fB\\fR\]!\\fB\\fIdestination\\fB\\fR[\\fB/\\fIport\\fB\\fR]!g' tracepath.8
++
+ clean:
+ @rm -rf $(MANFILES) $(HTMLFILES) iputils.html tmp.db2html tmp.db2man
+
diff --git a/recipes/iputils/files/debian/targets.diff b/recipes/iputils/files/debian/targets.diff
new file mode 100644
index 0000000000..87fe27d6fd
--- /dev/null
+++ b/recipes/iputils/files/debian/targets.diff
@@ -0,0 +1,27 @@
+--- iputils-upstream/Makefile 2007-10-28 12:24:10.000000000 -0400
++++ iputils/Makefile 2007-10-28 12:19:18.000000000 -0400
+@@ -16,7 +16,7 @@
+ CCOPT=-D_GNU_SOURCE -O2 -Wstrict-prototypes -Wall -g
+ CFLAGS=$(CCOPT) $(GLIBCFIX) $(DEFINES)
+
+-IPV4_TARGETS=tracepath ping clockdiff rdisc arping tftpd rarpd
++IPV4_TARGETS=tracepath ping arping
+ IPV6_TARGETS=tracepath6 traceroute6 ping6
+ TARGETS=$(IPV4_TARGETS) $(IPV6_TARGETS)
+
+@@ -25,7 +25,6 @@
+
+ all: $(TARGETS)
+
+-
+ tftpd: tftpd.o tftpsubs.o
+ ping: ping.o ping_common.o
+ ping6: ping6.o ping_common.o
+@@ -37,7 +36,6 @@
+ rdisc_srv.o: rdisc.c
+ $(CC) $(CFLAGS) -DRDISC_SERVER -o rdisc_srv.o rdisc.c
+
+-
+ check-kernel:
+ ifeq ($(KERNEL_INCLUDE),)
+ @echo "Please, set correct KERNEL_INCLUDE"; false
diff --git a/recipes/iputils/files/debian/use_gethostbyname2.diff b/recipes/iputils/files/debian/use_gethostbyname2.diff
new file mode 100644
index 0000000000..5a1ea3b583
--- /dev/null
+++ b/recipes/iputils/files/debian/use_gethostbyname2.diff
@@ -0,0 +1,29 @@
+Index: iputils/tracepath.c
+===================================================================
+--- iputils.orig/tracepath.c 2007-12-09 20:32:32.000000000 -0500
++++ iputils/tracepath.c 2007-12-09 20:33:20.000000000 -0500
+@@ -318,9 +318,9 @@
+ base_port = atoi(p+1);
+ } else
+ base_port = 44444;
+- he = gethostbyname(argv[0]);
++ he = gethostbyname2(argv[0], AF_INET);
+ if (he == NULL) {
+- herror("gethostbyname");
++ herror("gethostbyname2");
+ exit(1);
+ }
+ memcpy(&target.sin_addr, he->h_addr, 4);
+Index: iputils/ping.c
+===================================================================
+--- iputils.orig/ping.c 2007-12-09 20:32:59.000000000 -0500
++++ iputils/ping.c 2007-12-09 20:33:20.000000000 -0500
+@@ -249,7 +249,7 @@
+ if (argc == 1)
+ options |= F_NUMERIC;
+ } else {
+- hp = gethostbyname(target);
++ hp = gethostbyname2(target, AF_INET);
+ if (!hp) {
+ fprintf(stderr, "ping: unknown host %s\n", target);
+ exit(2);
diff --git a/recipes/iputils/files/iputils_20071127-1.diff.gz b/recipes/iputils/files/iputils_20071127-1.diff.gz
new file mode 100644
index 0000000000..9784641490
--- /dev/null
+++ b/recipes/iputils/files/iputils_20071127-1.diff.gz
Binary files differ
diff --git a/recipes/iputils/iputils_20071127.bb b/recipes/iputils/iputils_20071127.bb
new file mode 100644
index 0000000000..9235a65c52
--- /dev/null
+++ b/recipes/iputils/iputils_20071127.bb
@@ -0,0 +1,79 @@
+SECTION = "console/network"
+DESCRIPTION = "Utilities for the IP protocol, including traceroute6, \
+tracepath, tracepath6, ping, ping6 and arping."
+SECTION = "console/network"
+LICENSE ="BSD"
+
+#Need more testing
+DEFAULT_PREFERENCE = "-1"
+
+SRC_URI = "http://ftp.de.debian.org/debian/pool/main/i/iputils/iputils_${PV}.orig.tar.gz \
+ file://debian/fix-dead-host-ping-stats.diff;patch=1 \
+ file://debian/add-icmp-return-codes.diff;patch=1 \
+ file://debian/use_gethostbyname2.diff;patch=1 \
+ file://debian/fix-cmsghdr-offset-bug.diff;patch=1 \
+ file://debian/cleanup-docbook-formatting.diff;patch=1 \
+ file://debian/targets.diff;patch=1 \
+ file://debian/fix-tracepath-docs.diff;patch=1 \
+ file://debian/fix-arping-timeouts.diff;patch=1 \
+"
+
+S = "${WORKDIR}/iputils_20071127.orig"
+
+PACKAGES += "${PN}-ping ${PN}-ping6 ${PN}-arping ${PN}-tracepath ${PN}-tracepath6 ${PN}-traceroute6"
+
+ALLOW_EMPTY_${PN} = "1"
+RDEPENDS_{PN} += "${PN}-ping ${PN}-ping6 ${PN}-arping ${PN}-tracepath ${PN}-tracepath6 ${PN}-traceroute6"
+
+FILES_${PN} = ""
+FILES_${PN}-ping = "${base_bindir}/ping.${PN}"
+FILES_${PN}-ping6 = "${base_bindir}/ping6.${PN}"
+FILES_${PN}-arping = "${bindir}/arping"
+FILES_${PN}-tracepath = "${bindir}/tracepath"
+FILES_${PN}-tracepath6 = "${bindir}/tracepath6"
+FILES_${PN}-traceroute6 = "${bindir}/traceroute6"
+FILES_${PN}-doc = "${mandir}/man8"
+
+do_compile () {
+ oe_runmake 'CC=${CC}' \
+ KERNEL_INCLUDE="${STAGING_INCDIR}" \
+ LIBC_INCLUDE="${STAGING_INCDIR}"
+}
+
+do_install () {
+ install -m 0755 -d ${D}${base_bindir} ${D}${bindir} ${D}${mandir}/man8
+ # SUID root programs
+ install -m 4555 ping ${D}${base_bindir}/ping.${PN}
+ install -m 4555 ping6 ${D}${base_bindir}/ping6.${PN}
+ install -m 4555 traceroute6 ${D}${bindir}/
+ # Other programgs
+ for i in arping tracepath tracepath6; do
+ install -m 0755 $i ${D}${bindir}/
+ done
+ # Manual pages for things we build packages for
+ for i in tracepath.8 traceroute6.8 ping.8 arping.8; do
+ install -m 0644 doc/$i ${D}${mandir}/man8/
+ done
+}
+
+# Busybox also provides ping and ping6, so use update-alternatives
+# Also fixup SUID bit for applications that need it
+pkg_postinst_${PN}-ping () {
+ chmod 4555 ${base_bindir}/ping.${PN}
+ update-alternatives --install ${base_bindir}/ping ping ping.${PN} 100
+}
+pkg_prerm_${PN}-ping () {
+ update-alternatives --remove ping ping.${PN}
+}
+
+pkg_postinst_${PN}-ping6 () {
+ chmod 4555 ${base_bindir}/ping6.${PN}
+ update-alternatives --install ${base_bindir}/ping6 ping6 ping6.${PN} 100
+}
+pkg_prerm_${PN}-ping6 () {
+ update-alternatives --remove ping6 ping6.${PN}
+}
+
+pkg_postinst_${PN}-traceroute6 () {
+ chmod 4555 ${bindir}/traceroute6
+}
diff --git a/recipes/iso-codes/iso-codes_1.4.bb b/recipes/iso-codes/iso-codes_1.4.bb
index f424701f47..ad4f8db562 100644
--- a/recipes/iso-codes/iso-codes_1.4.bb
+++ b/recipes/iso-codes/iso-codes_1.4.bb
@@ -1,12 +1,8 @@
LICENSE = "LGPL"
+PACKAGE_ARCH = "all"
+SRC_URI = "ftp://pkg-isocodes.alioth.debian.org/pub/pkg-isocodes/iso-codes-${PV}.tar.bz2"
+PR = "r2"
-SRC_URI = "ftp://pkg-isocodes.alioth.debian.org/pub/pkg-isocodes/iso-codes-${PV}.tar.bz2"
-
-inherit autotools pkgconfig
+inherit autotools_stage
FILES_${PN} += "${datadir}/xml/"
-
-do_stage() {
- autotools_stage_all
-}
-
diff --git a/recipes/kexecboot/initramfs-kexecboot-image.bb b/recipes/kexecboot/initramfs-kexecboot-image.bb
index 0284f691a7..94f1ff75ef 100644
--- a/recipes/kexecboot/initramfs-kexecboot-image.bb
+++ b/recipes/kexecboot/initramfs-kexecboot-image.bb
@@ -12,8 +12,9 @@ export IMAGE_BASENAME = "initramfs-kexecboot-image"
KEXECBOOT_IMAGEDEPENDS ?= ""
-# avoid to depend from kexecboot
+# avoid circular dependencies
EXTRA_IMAGEDEPENDS = "${KEXECBOOT_IMAGEDEPENDS}"
+
IMAGE_INSTALL = "kexecboot"
IMAGE_LINGUAS = ""
@@ -21,4 +22,3 @@ IMAGE_LOGIN_MANAGER = ""
IMAGE_INIT_MANAGER = ""
IMAGE_INITSCRIPTS = ""
IMAGE_DEV_MANAGER = ""
-#ONLINE_PACKAGE_MANAGEMENT = "none"
diff --git a/recipes/kexecboot/kexecboot-cfg_0.1.bb b/recipes/kexecboot/kexecboot-cfg_0.1.bb
index d83f6529df..a2145f9bc8 100644
--- a/recipes/kexecboot/kexecboot-cfg_0.1.bb
+++ b/recipes/kexecboot/kexecboot-cfg_0.1.bb
@@ -2,7 +2,7 @@ LICENSE = "GPL"
SECTION = "base"
DESCRIPTION = "Configuration file for kexecboot"
-PR = "r2"
+PR = "r3"
PACKAGE_ARCH = "${MACHINE_ARCH}"
CMDLINE_CON = "console=ttyS0,115200n8 console=tty1 noinitrd"
@@ -19,7 +19,18 @@ CMDLINE_ROTATE_collie = "fbcon=rotate:1"
CMDLINE_ROTATE_poodle = "fbcon=rotate:1"
FILES_${PN} += "/boot/*"
+
+do_install_prepend () {
+ echo "DEFAULT" > ${S}/boot.cfg
+ echo "LABEL=${DISTRO}" >> ${S}/boot.cfg
+ echo "KERNEL=/boot/${KERNEL_IMAGETYPE}" >> ${S}/boot.cfg
+ echo "APPEND=${CMDLINE_CON} ${CMDLINE_MEM} ${CMDLINE_ROTATE} ${CMDLINE_OTHER} ${CMDLINE_DEBUG}" >> ${S}/boot.cfg
+}
+
do_install () {
install -d ${D}/boot
+ install -m 0644 boot.cfg ${D}/boot/boot.cfg
+
+ # old kexecboot versions < 0.6 need '/boot/kernel-cmdline'
echo "${CMDLINE_CON} ${CMDLINE_MEM} ${CMDLINE_ROTATE} ${CMDLINE_OTHER} ${CMDLINE_DEBUG}"> ${D}/boot/kernel-cmdline
}
diff --git a/recipes/libelf/libelf_0.8.6.bb b/recipes/libelf/libelf_0.8.6.bb
index 4bd548e600..f0903d78e6 100644
--- a/recipes/libelf/libelf_0.8.6.bb
+++ b/recipes/libelf/libelf_0.8.6.bb
@@ -2,6 +2,7 @@ DESCRIPTION = "libelf is an ELF object file access library. \
The elf library provides routines to access, and manipulate, Elf object files."
LICENSE = "LGPL"
SECTION = "libs"
+PR = "r1"
SRC_URI = "http://www.mr511.de/software/libelf-${PV}.tar.gz \
http://www.stud.uni-hannover.de/~michael/software/libelf-${PV}.tar.gz"
@@ -10,6 +11,8 @@ inherit autotools
PARALLEL_MAKE = ""
+TARGET_CC_ARCH += "${LDFLAGS}"
+
do_configure_prepend () {
if test ! -e acinclude.m4; then
cp aclocal.m4 acinclude.m4
diff --git a/recipes/libsdl/libsdl-mixer_1.2.8.bb b/recipes/libsdl/libsdl-mixer_1.2.8.bb
index 229108f565..fec24cad2c 100644
--- a/recipes/libsdl/libsdl-mixer_1.2.8.bb
+++ b/recipes/libsdl/libsdl-mixer_1.2.8.bb
@@ -11,13 +11,8 @@ S = "${WORKDIR}/SDL_mixer-${PV}"
export SDL_CONFIG = "${STAGING_BINDIR_CROSS}/sdl-config"
-inherit autotools
+inherit autotools_stage
EXTRA_OECONF = "--disable-music-mp3"
# although we build smpeg... need to find out how
# to deal with optional dependencies
-
-do_stage() {
- autotools_stage_all
-}
-
diff --git a/recipes/lighttpd/lighttpd_1.4.22.bb b/recipes/lighttpd/lighttpd_1.4.22.bb
new file mode 100644
index 0000000000..79d9e39f8b
--- /dev/null
+++ b/recipes/lighttpd/lighttpd_1.4.22.bb
@@ -0,0 +1,52 @@
+DESCRIPTION = "Web server"
+SECTION = "net"
+LICENSE = "BSD"
+DEPENDS = "libpcre"
+PR = "r0"
+
+DEFAULT_PREFERENCE = "-1"
+
+SRC_URI = "http://www.lighttpd.net/download/lighttpd-${PV}.tar.gz \
+ file://index.html \
+ file://lighttpd.conf \
+ file://lighttpd"
+# file://configure.in.patch;patch=1 \
+# file://mod_redirect.c.patch;patch=1 \
+
+
+EXTRA_OECONF="\
+--without-bzip2 \
+--without-ldap \
+--without-lua \
+--without-memcache \
+--with-pcre \
+--without-webdav-props \
+--without-webdav-locks \
+--without-openssl \
+--disable-nls \
+--disable-static"
+
+inherit autotools pkgconfig update-rc.d
+
+INITSCRIPT_NAME = "lighttpd"
+INITSCRIPT_PARAMS = "defaults 70"
+
+do_install_append() {
+ install -d ${D}${sysconfdir}/init.d ${D}/www/logs ${D}/www/pages/dav ${D}/www/var
+ install -m 0755 ${WORKDIR}/lighttpd ${D}${sysconfdir}/init.d
+ install -m 0755 ${WORKDIR}/lighttpd.conf ${D}${sysconfdir}
+ install -m 0644 ${WORKDIR}/index.html ${D}/www/pages/
+}
+
+do_stage() {
+ autotools_stage_all
+}
+
+FILES_${PN} += "${sysconfdir} /www"
+
+PACKAGES_DYNAMIC = "lighttpd-module-*"
+
+python populate_packages_prepend () {
+ lighttpd_libdir = bb.data.expand('${libdir}', d)
+ do_split_packages(d, lighttpd_libdir, '^mod_(.*)\.so$', 'lighttpd-module-%s', 'Lighttpd module for %s', extra_depends='')
+}
diff --git a/recipes/linknx/files/configure-libcurl.patch b/recipes/linknx/files/configure-libcurl.patch
new file mode 100644
index 0000000000..3f33867249
--- /dev/null
+++ b/recipes/linknx/files/configure-libcurl.patch
@@ -0,0 +1,215 @@
+Index: linknx-0.0.1.25/configure.ac
+===================================================================
+--- linknx-0.0.1.25.orig/configure.ac 2009-03-02 11:53:10.409969472 +0100
++++ linknx-0.0.1.25/configure.ac 2009-03-02 11:53:20.453754174 +0100
+@@ -12,6 +12,210 @@ AC_CHECK_PTHSEM(2.0.4,yes,yes,no)
+ AC_CHECK_HEADER(argp.h,,[AC_MSG_ERROR([argp_parse not found])])
+ AC_SEARCH_LIBS(argp_parse,argp,,[AC_MSG_ERROR([argp_parse not found])])
+
++AC_DEFUN([LIBCURL_CHECK_CONFIG],
++[
++ AH_TEMPLATE([LIBCURL_FEATURE_SSL],[Defined if libcurl supports SSL])
++ AH_TEMPLATE([LIBCURL_FEATURE_KRB4],[Defined if libcurl supports KRB4])
++ AH_TEMPLATE([LIBCURL_FEATURE_IPV6],[Defined if libcurl supports IPv6])
++ AH_TEMPLATE([LIBCURL_FEATURE_LIBZ],[Defined if libcurl supports libz])
++ AH_TEMPLATE([LIBCURL_FEATURE_ASYNCHDNS],[Defined if libcurl supports AsynchDNS])
++ AH_TEMPLATE([LIBCURL_FEATURE_IDN],[Defined if libcurl supports IDN])
++ AH_TEMPLATE([LIBCURL_FEATURE_SSPI],[Defined if libcurl supports SSPI])
++ AH_TEMPLATE([LIBCURL_FEATURE_NTLM],[Defined if libcurl supports NTLM])
++
++ AH_TEMPLATE([LIBCURL_PROTOCOL_HTTP],[Defined if libcurl supports HTTP])
++ AH_TEMPLATE([LIBCURL_PROTOCOL_HTTPS],[Defined if libcurl supports HTTPS])
++ AH_TEMPLATE([LIBCURL_PROTOCOL_FTP],[Defined if libcurl supports FTP])
++ AH_TEMPLATE([LIBCURL_PROTOCOL_FTPS],[Defined if libcurl supports FTPS])
++ AH_TEMPLATE([LIBCURL_PROTOCOL_FILE],[Defined if libcurl supports FILE])
++ AH_TEMPLATE([LIBCURL_PROTOCOL_TELNET],[Defined if libcurl supports TELNET])
++ AH_TEMPLATE([LIBCURL_PROTOCOL_LDAP],[Defined if libcurl supports LDAP])
++ AH_TEMPLATE([LIBCURL_PROTOCOL_DICT],[Defined if libcurl supports DICT])
++ AH_TEMPLATE([LIBCURL_PROTOCOL_TFTP],[Defined if libcurl supports TFTP])
++
++ AC_ARG_WITH(libcurl,
++ AC_HELP_STRING([--with-libcurl=DIR],[look for the curl library in DIR]),
++ [_libcurl_with=$withval],[_libcurl_with=ifelse([$1],,[yes],[$1])])
++
++ if test "$_libcurl_with" != "no" ; then
++
++ AC_PROG_AWK
++
++ _libcurl_version_parse="eval $AWK '{split(\$NF,A,\".\"); X=256*256*A[[1]]+256*A[[2]]+A[[3]]; print X;}'"
++
++ _libcurl_try_link=yes
++
++ if test -d "$_libcurl_with" ; then
++ LIBCURL_CPPFLAGS="-I$withval/include"
++ _libcurl_ldflags="-L$withval/lib"
++ AC_PATH_PROG([_libcurl_config],["$withval/bin/curl-config"])
++ else
++ AC_PATH_PROG([_libcurl_config],[curl-config])
++ fi
++
++ if test x$_libcurl_config != "x" ; then
++ AC_CACHE_CHECK([for the version of libcurl],
++ [libcurl_cv_lib_curl_version],
++ [libcurl_cv_lib_curl_version=`$_libcurl_config --version | $AWK '{print $[]2}'`])
++
++ _libcurl_version=`echo $libcurl_cv_lib_curl_version | $_libcurl_version_parse`
++ _libcurl_wanted=`echo ifelse([$2],,[0],[$2]) | $_libcurl_version_parse`
++
++ if test $_libcurl_wanted -gt 0 ; then
++ AC_CACHE_CHECK([for libcurl >= version $2],
++ [libcurl_cv_lib_version_ok],
++ [
++ if test $_libcurl_version -ge $_libcurl_wanted ; then
++ libcurl_cv_lib_version_ok=yes
++ else
++ libcurl_cv_lib_version_ok=no
++ fi
++ ])
++ fi
++
++ if test $_libcurl_wanted -eq 0 || test x$libcurl_cv_lib_version_ok = xyes ; then
++ if test x"$LIBCURL_CPPFLAGS" = "x" ; then
++ LIBCURL_CPPFLAGS=`$_libcurl_config --cflags`
++ fi
++ if test x"$LIBCURL" = "x" ; then
++ LIBCURL=`$_libcurl_config --libs`
++
++ # This is so silly, but Apple actually has a bug in their
++ # curl-config script. Fixed in Tiger, but there are still
++ # lots of Panther installs around.
++ case "${host}" in
++ powerpc-apple-darwin7*)
++ LIBCURL=`echo $LIBCURL | sed -e 's|-arch i386||g'`
++ ;;
++ esac
++ fi
++
++ # All curl-config scripts support --feature
++ _libcurl_features=`$_libcurl_config --feature`
++
++ # Is it modern enough to have --protocols? (7.12.4)
++ if test $_libcurl_version -ge 461828 ; then
++ _libcurl_protocols=`$_libcurl_config --protocols`
++ fi
++ else
++ _libcurl_try_link=no
++ fi
++
++ unset _libcurl_wanted
++ fi
++
++ if test $_libcurl_try_link = yes ; then
++
++ # we didn't find curl-config, so let's see if the user-supplied
++ # link line (or failing that, "-lcurl") is enough.
++ LIBCURL=${LIBCURL-"$_libcurl_ldflags -lcurl"}
++
++ AC_CACHE_CHECK([whether libcurl is usable],
++ [libcurl_cv_lib_curl_usable],
++ [
++ _libcurl_save_cppflags=$CPPFLAGS
++ CPPFLAGS="$LIBCURL_CPPFLAGS $CPPFLAGS"
++ _libcurl_save_libs=$LIBS
++ LIBS="$LIBCURL $LIBS"
++
++ AC_LINK_IFELSE(AC_LANG_PROGRAM([#include <curl/curl.h>],[
++/* Try and use a few common options to force a failure if we are
++ missing symbols or can't link. */
++int x;
++curl_easy_setopt(NULL,CURLOPT_URL,NULL);
++x=CURL_ERROR_SIZE;
++x=CURLOPT_WRITEFUNCTION;
++x=CURLOPT_FILE;
++x=CURLOPT_ERRORBUFFER;
++x=CURLOPT_STDERR;
++x=CURLOPT_VERBOSE;
++]),libcurl_cv_lib_curl_usable=yes,libcurl_cv_lib_curl_usable=no)
++
++ CPPFLAGS=$_libcurl_save_cppflags
++ LIBS=$_libcurl_save_libs
++ unset _libcurl_save_cppflags
++ unset _libcurl_save_libs
++ ])
++
++ if test $libcurl_cv_lib_curl_usable = yes ; then
++
++ # Does curl_free() exist in this version of libcurl?
++ # If not, fake it with free()
++
++ _libcurl_save_cppflags=$CPPFLAGS
++ CPPFLAGS="$CPPFLAGS $LIBCURL_CPPFLAGS"
++ _libcurl_save_libs=$LIBS
++ LIBS="$LIBS $LIBCURL"
++
++ AC_CHECK_FUNC(curl_free,,
++ AC_DEFINE(curl_free,free,
++ [Define curl_free() as free() if our version of curl lacks curl_free.]))
++
++ CPPFLAGS=$_libcurl_save_cppflags
++ LIBS=$_libcurl_save_libs
++ unset _libcurl_save_cppflags
++ unset _libcurl_save_libs
++
++ AC_DEFINE(HAVE_LIBCURL,1,
++ [Define to 1 if you have a functional curl library.])
++ AC_SUBST(LIBCURL_CPPFLAGS)
++ AC_SUBST(LIBCURL)
++
++ for _libcurl_feature in $_libcurl_features ; do
++ AC_DEFINE_UNQUOTED(AS_TR_CPP(libcurl_feature_$_libcurl_feature),[1])
++ eval AS_TR_SH(libcurl_feature_$_libcurl_feature)=yes
++ done
++
++ if test "x$_libcurl_protocols" = "x" ; then
++
++ # We don't have --protocols, so just assume that all
++ # protocols are available
++ _libcurl_protocols="HTTP FTP FILE TELNET LDAP DICT"
++
++ if test x$libcurl_feature_SSL = xyes ; then
++ _libcurl_protocols="$_libcurl_protocols HTTPS"
++
++ # FTPS wasn't standards-compliant until version
++ # 7.11.0
++ if test $_libcurl_version -ge 461568; then
++ _libcurl_protocols="$_libcurl_protocols FTPS"
++ fi
++ fi
++ fi
++
++ for _libcurl_protocol in $_libcurl_protocols ; do
++ AC_DEFINE_UNQUOTED(AS_TR_CPP(libcurl_protocol_$_libcurl_protocol),[1])
++ eval AS_TR_SH(libcurl_protocol_$_libcurl_protocol)=yes
++ done
++ else
++ unset LIBCURL
++ unset LIBCURL_CPPFLAGS
++ fi
++ fi
++
++ unset _libcurl_try_link
++ unset _libcurl_version_parse
++ unset _libcurl_config
++ unset _libcurl_feature
++ unset _libcurl_features
++ unset _libcurl_protocol
++ unset _libcurl_protocols
++ unset _libcurl_version
++ unset _libcurl_ldflags
++ fi
++
++ if test x$_libcurl_with = xno || test x$libcurl_cv_lib_curl_usable != xyes ; then
++ # This is the IF-NO path
++ ifelse([$4],,:,[$4])
++ else
++ # This is the IF-YES path
++ ifelse([$3],,:,[$3])
++ fi
++
++ unset _libcurl_with
++])dnl
++
++
+ dnl Check for CPPUnit
+ ifdef([AM_PATH_CPPUNIT], [AM_PATH_CPPUNIT(1.9.6, [AM_CONDITIONAL(CPPUNIT, true)], [AM_CONDITIONAL(CPPUNIT, false)])],
+ [AM_CONDITIONAL(CPPUNIT, false)])
diff --git a/recipes/linknx/linknx_0.0.1.26.bb b/recipes/linknx/linknx_0.0.1.26.bb
new file mode 100644
index 0000000000..1afde1cfd8
--- /dev/null
+++ b/recipes/linknx/linknx_0.0.1.26.bb
@@ -0,0 +1,17 @@
+DESCRIPTION = "Linknx is an automation platform providing high level functionalities to EIB/KNX installation. \
+The rules engine allows execution of actions based on complex logical conditions and timers"
+HOMEPAGE = "http://linknx.sourceforge.net/"
+SECTION = "console/network"
+PRIORITY = "optional"
+LICENSE = "GPL"
+
+DEPENDS = " pthsem "
+DEPENDS_append_linux-uclibc = " argp-standalone"
+DEPENDS_append_linux-uclibcgnueabi = " argp-standalone"
+
+SRC_URI = "${SOURCEFORGE_MIRROR}/linknx/linknx-${PV}.tar.gz \
+ file://configure-libcurl.patch;patch=1 "
+
+inherit autotools
+
+EXTRA_OECONF = " --with-pth=yes --without-pth-test --without-mysql --without-libcurl --without-log4cpp --without-lua"
diff --git a/recipes/linux/linux-2.6.24/hipox/defconfig b/recipes/linux/linux-2.6.24/hipox/defconfig
index 68f5ff001b..76d2b689ca 100644
--- a/recipes/linux/linux-2.6.24/hipox/defconfig
+++ b/recipes/linux/linux-2.6.24/hipox/defconfig
@@ -1,7 +1,7 @@
#
# Automatically generated make config: don't edit
# Linux kernel version: 2.6.24.4
-# Fri Oct 17 14:41:04 2008
+# Tue Apr 21 08:57:22 2009
#
CONFIG_ARM=y
CONFIG_SYS_SUPPORTS_APM_EMULATION=y
@@ -48,14 +48,14 @@ CONFIG_LOG_BUF_SHIFT=14
# CONFIG_FAIR_GROUP_SCHED is not set
CONFIG_SYSFS_DEPRECATED=y
# CONFIG_RELAY is not set
-CONFIG_BLK_DEV_INITRD=y
-CONFIG_INITRAMFS_SOURCE=""
+# CONFIG_BLK_DEV_INITRD is not set
# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
CONFIG_SYSCTL=y
# CONFIG_EMBEDDED is not set
CONFIG_UID16=y
CONFIG_SYSCTL_SYSCALL=y
CONFIG_KALLSYMS=y
+# CONFIG_KALLSYMS_ALL is not set
# CONFIG_KALLSYMS_EXTRA_PASS is not set
CONFIG_HOTPLUG=y
CONFIG_PRINTK=y
@@ -148,27 +148,34 @@ CONFIG_ARCH_HIPOX=y
#
#
-# Oxford Semiconductor NAS Options
+# OXE810 based HydraIP Options
#
+CONFIG_MACH_HIPOX=y
# CONFIG_ARCH_HIPOX_FPGA is not set
CONFIG_NOMINAL_PLL400_FREQ=733333333
CONFIG_NOMINAL_RPSCLK_FREQ=25000000
# CONFIG_HIPOX_VERSION_0X800 is not set
CONFIG_HIPOX_VERSION_0X810=y
# CONFIG_HIPOX_VERSION_0X850 is not set
-# CONFIG_ARCH_HIPOX_UART1 is not set
+CONFIG_ARCH_HIPOX_UART1=y
+# CONFIG_ARCH_HIPOX_UART1_DEBUG is not set
+# CONFIG_ARCH_HIPOX_UART1_BOOTPROGRESS is not set
+# CONFIG_ARCH_HIPOX_UART1_MODEM is not set
CONFIG_ARCH_HIPOX_UART2=y
+CONFIG_ARCH_HIPOX_UART2_DEBUG=y
+CONFIG_ARCH_HIPOX_UART2_BOOTPROGRESS=y
# CONFIG_ARCH_HIPOX_UART2_MODEM is not set
# CONFIG_ARCH_HIPOX_UART3 is not set
# CONFIG_ARCH_HIPOX_PCI_REQGNT_0 is not set
-# CONFIG_ARCH_HIPOX_PCI_REQGNT_1 is not set
+CONFIG_ARCH_HIPOX_PCI_REQGNT_1=y
# CONFIG_ARCH_HIPOX_PCI_REQGNT_2 is not set
# CONFIG_ARCH_HIPOX_PCI_REQGNT_3 is not set
# CONFIG_ARCH_HIPOX_PCI_CLKOUT_0 is not set
# CONFIG_ARCH_HIPOX_PCI_CLKOUT_1 is not set
-# CONFIG_ARCH_HIPOX_PCI_CLKOUT_2 is not set
-# CONFIG_ARCH_HIPOX_PCI_CLKOUT_3 is not set
-# CONFIG_HIPOX_PCI_RESET is not set
+CONFIG_ARCH_HIPOX_PCI_CLKOUT_2=y
+CONFIG_ARCH_HIPOX_PCI_CLKOUT_3=y
+CONFIG_HIPOX_PCI_RESET=y
+CONFIG_HIPOX_PCI_RESET_GPIO=2
# CONFIG_HIPOX_SATA_POWER_1 is not set
# CONFIG_HIPOX_SATA_POWER_2 is not set
CONFIG_FORCE_MAX_ZONEORDER=10
@@ -182,8 +189,7 @@ CONFIG_LEON_OFFLOAD_TSO=y
# CONFIG_LEON_START_EARLY is not set
CONFIG_LEON_POWER_BUTTON_MONITOR=m
CONFIG_HIPOX_POWER_BUTTON_GPIO=4
-CONFIG_USER_RECOVERY_BUTTON_MONITOR=y
-CONFIG_HIPOX_USER_RECOVERY_BUTTON_GPIO=32
+# CONFIG_USER_RECOVERY_BUTTON_MONITOR is not set
# CONFIG_HIPOX_DDR_MON is not set
# CONFIG_HIPOX_AHB_MON is not set
# CONFIG_HIPOX_CACHE_LOCKDOWN is not set
@@ -246,6 +252,7 @@ CONFIG_PCI=y
CONFIG_PCI_SYSCALL=y
# CONFIG_ARCH_SUPPORTS_MSI is not set
CONFIG_PCI_LEGACY=y
+CONFIG_PCI_DEBUG=y
# CONFIG_PCCARD is not set
#
@@ -278,9 +285,9 @@ CONFIG_ALIGNMENT_TRAP=y
#
CONFIG_ZBOOT_ROM_TEXT=0x0
CONFIG_ZBOOT_ROM_BSS=0x0
-CONFIG_CMDLINE=""
+CONFIG_CMDLINE=" debug "
# CONFIG_XIP_KERNEL is not set
-# CONFIG_KEXEC is not set
+CONFIG_KEXEC=y
#
# Floating point emulation
@@ -414,9 +421,108 @@ CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
CONFIG_STANDALONE=y
CONFIG_PREVENT_FIRMWARE_BUILD=y
CONFIG_FW_LOADER=y
+# CONFIG_DEBUG_DRIVER is not set
+# CONFIG_DEBUG_DEVRES is not set
# CONFIG_SYS_HYPERVISOR is not set
# CONFIG_CONNECTOR is not set
-# CONFIG_MTD is not set
+CONFIG_MTD=m
+# CONFIG_MTD_DEBUG is not set
+# CONFIG_MTD_CONCAT is not set
+CONFIG_MTD_PARTITIONS=y
+# CONFIG_MTD_REDBOOT_PARTS is not set
+# CONFIG_MTD_AFS_PARTS is not set
+
+#
+# User Modules And Translation Layers
+#
+CONFIG_MTD_CHAR=m
+CONFIG_MTD_BLKDEVS=m
+CONFIG_MTD_BLOCK=m
+# CONFIG_MTD_BLOCK_RO is not set
+# CONFIG_FTL is not set
+# CONFIG_NFTL is not set
+# CONFIG_INFTL is not set
+# CONFIG_RFD_FTL is not set
+# CONFIG_SSFDC is not set
+# CONFIG_MTD_OOPS is not set
+
+#
+# RAM/ROM/Flash chip drivers
+#
+CONFIG_MTD_CFI=m
+# CONFIG_MTD_JEDECPROBE is not set
+CONFIG_MTD_GEN_PROBE=m
+# CONFIG_MTD_CFI_ADV_OPTIONS is not set
+CONFIG_MTD_MAP_BANK_WIDTH_1=y
+CONFIG_MTD_MAP_BANK_WIDTH_2=y
+CONFIG_MTD_MAP_BANK_WIDTH_4=y
+# CONFIG_MTD_MAP_BANK_WIDTH_8 is not set
+# CONFIG_MTD_MAP_BANK_WIDTH_16 is not set
+# CONFIG_MTD_MAP_BANK_WIDTH_32 is not set
+CONFIG_MTD_CFI_I1=y
+CONFIG_MTD_CFI_I2=y
+# CONFIG_MTD_CFI_I4 is not set
+# CONFIG_MTD_CFI_I8 is not set
+# CONFIG_MTD_CFI_INTELEXT is not set
+CONFIG_MTD_CFI_AMDSTD=m
+# CONFIG_MTD_CFI_STAA is not set
+CONFIG_MTD_CFI_UTIL=m
+# CONFIG_MTD_RAM is not set
+# CONFIG_MTD_ROM is not set
+# CONFIG_MTD_ABSENT is not set
+
+#
+# Mapping drivers for chip access
+#
+# CONFIG_MTD_COMPLEX_MAPPINGS is not set
+CONFIG_MTD_PHYSMAP=m
+CONFIG_MTD_PHYSMAP_START=0x41000000
+CONFIG_MTD_PHYSMAP_LEN=0x00400000
+CONFIG_MTD_PHYSMAP_BANKWIDTH=2
+# CONFIG_MTD_ARM_INTEGRATOR is not set
+# CONFIG_MTD_INTEL_VR_NOR is not set
+# CONFIG_MTD_PLATRAM is not set
+
+#
+# Self-contained MTD device drivers
+#
+# CONFIG_MTD_PMC551 is not set
+# CONFIG_MTD_SLRAM is not set
+# CONFIG_MTD_PHRAM is not set
+# CONFIG_MTD_MTDRAM is not set
+# CONFIG_MTD_BLOCK2MTD is not set
+
+#
+# Disk-On-Chip Device Drivers
+#
+# CONFIG_MTD_DOC2000 is not set
+# CONFIG_MTD_DOC2001 is not set
+# CONFIG_MTD_DOC2001PLUS is not set
+CONFIG_MTD_NAND=m
+# CONFIG_MTD_NAND_VERIFY_WRITE is not set
+# CONFIG_MTD_NAND_ECC_SMC is not set
+# CONFIG_MTD_NAND_MUSEUM_IDS is not set
+CONFIG_MTD_NAND_IDS=m
+# CONFIG_MTD_NAND_DISKONCHIP is not set
+# CONFIG_MTD_NAND_CAFE is not set
+CONFIG_MTD_NAND_HIPOX=m
+# CONFIG_MTD_NAND_NANDSIM is not set
+# CONFIG_MTD_NAND_PLATFORM is not set
+# CONFIG_MTD_ALAUDA is not set
+# CONFIG_MTD_ONENAND is not set
+
+#
+# UBI - Unsorted block images
+#
+CONFIG_MTD_UBI=m
+CONFIG_MTD_UBI_WL_THRESHOLD=4096
+CONFIG_MTD_UBI_BEB_RESERVE=1
+CONFIG_MTD_UBI_GLUEBI=y
+
+#
+# UBI debugging options
+#
+# CONFIG_MTD_UBI_DEBUG is not set
# CONFIG_PARPORT is not set
CONFIG_BLK_DEV=y
# CONFIG_BLK_CPQ_DA is not set
@@ -724,14 +830,14 @@ CONFIG_HW_RANDOM=m
# CONFIG_RAW_DRIVER is not set
# CONFIG_TCG_TPM is not set
CONFIG_DEVPORT=y
-CONFIG_I2C=m
+CONFIG_I2C=y
CONFIG_I2C_BOARDINFO=y
# CONFIG_I2C_CHARDEV is not set
#
# I2C Algorithms
#
-CONFIG_I2C_ALGOBIT=m
+CONFIG_I2C_ALGOBIT=y
# CONFIG_I2C_ALGOPCF is not set
# CONFIG_I2C_ALGOPCA is not set
# CONFIG_I2C_ALGOOXSEMI is not set
@@ -748,7 +854,7 @@ CONFIG_I2C_ALGOBIT=m
# CONFIG_I2C_I810 is not set
# CONFIG_I2C_PIIX4 is not set
# CONFIG_I2C_NFORCE2 is not set
-CONFIG_I2C_HIPOX_BITBASH=m
+CONFIG_I2C_HIPOX_BITBASH=y
# CONFIG_I2C_OCORES is not set
# CONFIG_I2C_PARPORT_LIGHT is not set
# CONFIG_I2C_PROSAVAGE is not set
@@ -840,7 +946,7 @@ CONFIG_USB_ARCH_HAS_HCD=y
CONFIG_USB_ARCH_HAS_OHCI=y
CONFIG_USB_ARCH_HAS_EHCI=y
CONFIG_USB=y
-# CONFIG_USB_DEBUG is not set
+CONFIG_USB_DEBUG=y
#
# Miscellaneous USB options
@@ -853,9 +959,9 @@ CONFIG_USB_DEVICE_CLASS=y
#
# USB Host Controller Drivers
#
-CONFIG_USB_EHCI_HCD=m
+CONFIG_USB_EHCI_HCD=y
# CONFIG_USB_EHCI_SPLIT_ISO is not set
-CONFIG_USB_EHCI_ROOT_HUB_TT=y
+# CONFIG_USB_EHCI_ROOT_HUB_TT is not set
# CONFIG_USB_EHCI_TT_NEWSCHED is not set
# CONFIG_USB_ISP116X_HCD is not set
# CONFIG_USB_OHCI_HCD is not set
@@ -866,8 +972,8 @@ CONFIG_USB_EHCI_ROOT_HUB_TT=y
#
# USB Device Class drivers
#
-# CONFIG_USB_ACM is not set
-# CONFIG_USB_PRINTER is not set
+CONFIG_USB_ACM=m
+CONFIG_USB_PRINTER=m
#
# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support'
@@ -941,7 +1047,10 @@ CONFIG_USB_TEST=m
# CONFIG_MMC is not set
# CONFIG_NEW_LEDS is not set
CONFIG_RTC_LIB=y
-CONFIG_RTC_CLASS=m
+CONFIG_RTC_CLASS=y
+CONFIG_RTC_HCTOSYS=y
+CONFIG_RTC_HCTOSYS_DEVICE="rtc0"
+# CONFIG_RTC_DEBUG is not set
#
# RTC interfaces
@@ -955,7 +1064,7 @@ CONFIG_RTC_INTF_DEV=y
#
# I2C RTC drivers
#
-CONFIG_RTC_DRV_DS1307=m
+CONFIG_RTC_DRV_DS1307=y
# CONFIG_RTC_DRV_DS1374 is not set
# CONFIG_RTC_DRV_DS1672 is not set
# CONFIG_RTC_DRV_MAX6900 is not set
@@ -995,16 +1104,26 @@ CONFIG_EXT2_FS=y
# CONFIG_EXT2_FS_XIP is not set
CONFIG_EXT3_FS=y
# CONFIG_EXT3_FS_XATTR is not set
-# CONFIG_EXT4DEV_FS is not set
+CONFIG_EXT4DEV_FS=m
+CONFIG_EXT4DEV_FS_XATTR=y
+CONFIG_EXT4DEV_FS_POSIX_ACL=y
+CONFIG_EXT4DEV_FS_SECURITY=y
CONFIG_JBD=y
-# CONFIG_REISERFS_FS is not set
+CONFIG_JBD2=m
+CONFIG_FS_MBCACHE=y
+CONFIG_REISERFS_FS=m
+# CONFIG_REISERFS_CHECK is not set
+CONFIG_REISERFS_PROC_INFO=y
+CONFIG_REISERFS_FS_XATTR=y
+CONFIG_REISERFS_FS_POSIX_ACL=y
+CONFIG_REISERFS_FS_SECURITY=y
# CONFIG_JFS_FS is not set
CONFIG_FS_POSIX_ACL=y
-CONFIG_XFS_FS=y
-# CONFIG_XFS_QUOTA is not set
-# CONFIG_XFS_SECURITY is not set
-# CONFIG_XFS_POSIX_ACL is not set
-# CONFIG_XFS_RT is not set
+CONFIG_XFS_FS=m
+CONFIG_XFS_QUOTA=y
+CONFIG_XFS_SECURITY=y
+CONFIG_XFS_POSIX_ACL=y
+CONFIG_XFS_RT=y
# CONFIG_GFS2_FS is not set
# CONFIG_OCFS2_FS is not set
# CONFIG_MINIX_FS is not set
@@ -1012,22 +1131,26 @@ CONFIG_XFS_FS=y
CONFIG_INOTIFY=y
CONFIG_INOTIFY_USER=y
# CONFIG_QUOTA is not set
+CONFIG_QUOTACTL=y
CONFIG_DNOTIFY=y
# CONFIG_AUTOFS_FS is not set
# CONFIG_AUTOFS4_FS is not set
CONFIG_FUSE_FS=y
+CONFIG_GENERIC_ACL=y
#
# CD-ROM/DVD Filesystems
#
-# CONFIG_ISO9660_FS is not set
+CONFIG_ISO9660_FS=m
+CONFIG_JOLIET=y
+CONFIG_ZISOFS=y
# CONFIG_UDF_FS is not set
#
# DOS/FAT/NT Filesystems
#
-CONFIG_FAT_FS=y
-CONFIG_MSDOS_FS=y
+CONFIG_FAT_FS=m
+CONFIG_MSDOS_FS=m
CONFIG_VFAT_FS=m
CONFIG_FAT_DEFAULT_CODEPAGE=437
CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1"
@@ -1042,6 +1165,7 @@ CONFIG_PROC_FS=y
CONFIG_PROC_SYSCTL=y
CONFIG_SYSFS=y
CONFIG_TMPFS=y
+CONFIG_TMPFS_POSIX_ACL=y
# CONFIG_HUGETLB_PAGE is not set
# CONFIG_CONFIGFS_FS is not set
@@ -1051,35 +1175,51 @@ CONFIG_TMPFS=y
# CONFIG_ADFS_FS is not set
# CONFIG_AFFS_FS is not set
# CONFIG_HFS_FS is not set
-CONFIG_HFSPLUS_FS=m
+# CONFIG_HFSPLUS_FS is not set
# CONFIG_BEFS_FS is not set
# CONFIG_BFS_FS is not set
# CONFIG_EFS_FS is not set
+# CONFIG_JFFS2_FS is not set
+CONFIG_UBIFS_FS=m
+CONFIG_UBIFS_FS_XATTR=y
+CONFIG_UBIFS_FS_ADVANCED_COMPR=y
+CONFIG_UBIFS_FS_LZO=y
+CONFIG_UBIFS_FS_ZLIB=y
+# CONFIG_UBIFS_FS_DEBUG is not set
# CONFIG_CRAMFS is not set
+# CONFIG_SQUASHFS is not set
# CONFIG_VXFS_FS is not set
# CONFIG_HPFS_FS is not set
# CONFIG_QNX4FS_FS is not set
# CONFIG_SYSV_FS is not set
# CONFIG_UFS_FS is not set
CONFIG_NETWORK_FILESYSTEMS=y
-# CONFIG_NFS_FS is not set
-CONFIG_NFSD=m
-CONFIG_NFSD_V2_ACL=y
-CONFIG_NFSD_V3=y
-CONFIG_NFSD_V3_ACL=y
-# CONFIG_NFSD_V4 is not set
-CONFIG_NFSD_TCP=y
-CONFIG_LOCKD=m
+CONFIG_NFS_FS=y
+CONFIG_NFS_V3=y
+CONFIG_NFS_V3_ACL=y
+CONFIG_NFS_V4=y
+CONFIG_NFS_DIRECTIO=y
+# CONFIG_NFSD is not set
+CONFIG_LOCKD=y
CONFIG_LOCKD_V4=y
-CONFIG_EXPORTFS=m
-CONFIG_NFS_ACL_SUPPORT=m
+CONFIG_NFS_ACL_SUPPORT=y
CONFIG_NFS_COMMON=y
-CONFIG_SUNRPC=m
+CONFIG_SUNRPC=y
+CONFIG_SUNRPC_GSS=y
# CONFIG_SUNRPC_BIND34 is not set
-# CONFIG_RPCSEC_GSS_KRB5 is not set
+CONFIG_RPCSEC_GSS_KRB5=y
# CONFIG_RPCSEC_GSS_SPKM3 is not set
-# CONFIG_SMB_FS is not set
-# CONFIG_CIFS is not set
+CONFIG_SMB_FS=m
+CONFIG_SMB_NLS_DEFAULT=y
+CONFIG_SMB_NLS_REMOTE="cp850"
+CONFIG_CIFS=m
+CONFIG_CIFS_STATS=y
+CONFIG_CIFS_STATS2=y
+# CONFIG_CIFS_WEAK_PW_HASH is not set
+CONFIG_CIFS_XATTR=y
+CONFIG_CIFS_POSIX=y
+# CONFIG_CIFS_DEBUG2 is not set
+# CONFIG_CIFS_EXPERIMENTAL is not set
# CONFIG_NCP_FS is not set
# CONFIG_CODA_FS is not set
# CONFIG_AFS_FS is not set
@@ -1111,7 +1251,7 @@ CONFIG_NLS_DEFAULT="iso8859-1"
CONFIG_NLS_CODEPAGE_437=m
# CONFIG_NLS_CODEPAGE_737 is not set
# CONFIG_NLS_CODEPAGE_775 is not set
-# CONFIG_NLS_CODEPAGE_850 is not set
+CONFIG_NLS_CODEPAGE_850=m
# CONFIG_NLS_CODEPAGE_852 is not set
# CONFIG_NLS_CODEPAGE_855 is not set
# CONFIG_NLS_CODEPAGE_857 is not set
@@ -1142,7 +1282,7 @@ CONFIG_NLS_ISO8859_1=m
# CONFIG_NLS_ISO8859_9 is not set
# CONFIG_NLS_ISO8859_13 is not set
# CONFIG_NLS_ISO8859_14 is not set
-# CONFIG_NLS_ISO8859_15 is not set
+CONFIG_NLS_ISO8859_15=m
# CONFIG_NLS_KOI8_R is not set
# CONFIG_NLS_KOI8_U is not set
CONFIG_NLS_UTF8=y
@@ -1159,11 +1299,37 @@ CONFIG_ENABLE_MUST_CHECK=y
# CONFIG_UNUSED_SYMBOLS is not set
# CONFIG_DEBUG_FS is not set
# CONFIG_HEADERS_CHECK is not set
-# CONFIG_DEBUG_KERNEL is not set
+CONFIG_DEBUG_KERNEL=y
+# CONFIG_DEBUG_SHIRQ is not set
+CONFIG_DETECT_SOFTLOCKUP=y
+CONFIG_SCHED_DEBUG=y
+# CONFIG_SCHEDSTATS is not set
+# CONFIG_TIMER_STATS is not set
+# CONFIG_DEBUG_SLAB is not set
+# CONFIG_DEBUG_RT_MUTEXES is not set
+# CONFIG_RT_MUTEX_TESTER is not set
+# CONFIG_DEBUG_SPINLOCK is not set
+# CONFIG_DEBUG_MUTEXES is not set
+# CONFIG_DEBUG_LOCK_ALLOC is not set
+# CONFIG_PROVE_LOCKING is not set
+# CONFIG_LOCK_STAT is not set
+# CONFIG_DEBUG_SPINLOCK_SLEEP is not set
+# CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set
+# CONFIG_DEBUG_KOBJECT is not set
CONFIG_DEBUG_BUGVERBOSE=y
+# CONFIG_DEBUG_INFO is not set
+# CONFIG_DEBUG_VM is not set
+# CONFIG_DEBUG_LIST is not set
+# CONFIG_DEBUG_SG is not set
CONFIG_FRAME_POINTER=y
+CONFIG_FORCED_INLINING=y
+# CONFIG_BOOT_PRINTK_DELAY is not set
+# CONFIG_RCU_TORTURE_TEST is not set
+# CONFIG_FAULT_INJECTION is not set
# CONFIG_SAMPLES is not set
# CONFIG_DEBUG_USER is not set
+# CONFIG_DEBUG_ERRORS is not set
+# CONFIG_DEBUG_LL is not set
#
# Security options
@@ -1172,6 +1338,7 @@ CONFIG_FRAME_POINTER=y
CONFIG_SECURITY=y
# CONFIG_SECURITY_NETWORK is not set
# CONFIG_SECURITY_CAPABILITIES is not set
+# CONFIG_SECURITY_ROOTPLUG is not set
CONFIG_SECURITY_TRUSTEES=y
# CONFIG_SECURITY_TRUSTEES_DEBUG is not set
CONFIG_CRYPTO=y
@@ -1182,7 +1349,7 @@ CONFIG_CRYPTO_MANAGER=y
# CONFIG_CRYPTO_XCBC is not set
# CONFIG_CRYPTO_NULL is not set
# CONFIG_CRYPTO_MD4 is not set
-# CONFIG_CRYPTO_MD5 is not set
+CONFIG_CRYPTO_MD5=y
# CONFIG_CRYPTO_SHA1 is not set
# CONFIG_CRYPTO_SHA256 is not set
# CONFIG_CRYPTO_SHA512 is not set
@@ -1195,7 +1362,7 @@ CONFIG_CRYPTO_PCBC=m
# CONFIG_CRYPTO_LRW is not set
# CONFIG_CRYPTO_XTS is not set
# CONFIG_CRYPTO_CRYPTD is not set
-# CONFIG_CRYPTO_DES is not set
+CONFIG_CRYPTO_DES=y
# CONFIG_CRYPTO_FCRYPT is not set
# CONFIG_CRYPTO_BLOWFISH is not set
# CONFIG_CRYPTO_TWOFISH is not set
@@ -1208,12 +1375,13 @@ CONFIG_CRYPTO_ARC4=m
# CONFIG_CRYPTO_KHAZAD is not set
# CONFIG_CRYPTO_ANUBIS is not set
# CONFIG_CRYPTO_SEED is not set
-# CONFIG_CRYPTO_DEFLATE is not set
+CONFIG_CRYPTO_DEFLATE=m
CONFIG_CRYPTO_MICHAEL_MIC=m
# CONFIG_CRYPTO_CRC32C is not set
# CONFIG_CRYPTO_CAMELLIA is not set
# CONFIG_CRYPTO_TEST is not set
# CONFIG_CRYPTO_AUTHENC is not set
+CONFIG_CRYPTO_LZO=m
CONFIG_CRYPTO_HW=y
#
@@ -1221,11 +1389,15 @@ CONFIG_CRYPTO_HW=y
#
CONFIG_BITREVERSE=y
CONFIG_CRC_CCITT=y
-# CONFIG_CRC16 is not set
+CONFIG_CRC16=m
# CONFIG_CRC_ITU_T is not set
CONFIG_CRC32=y
# CONFIG_CRC7 is not set
# CONFIG_LIBCRC32C is not set
+CONFIG_ZLIB_INFLATE=m
+CONFIG_ZLIB_DEFLATE=m
+CONFIG_LZO_COMPRESS=m
+CONFIG_LZO_DECOMPRESS=m
CONFIG_PLIST=y
CONFIG_HAS_IOMEM=y
CONFIG_HAS_IOPORT=y
diff --git a/recipes/linux/linux-2.6.24/hipox/hipox-kconfig.patch b/recipes/linux/linux-2.6.24/hipox/hipox-kconfig.patch
new file mode 100644
index 0000000000..99122771bc
--- /dev/null
+++ b/recipes/linux/linux-2.6.24/hipox/hipox-kconfig.patch
@@ -0,0 +1,16 @@
+--- linux-2.6.24/arch/arm/mach-hipox/Kconfig.orig 2009-04-20 10:17:34.000000000 +0000
++++ linux-2.6.24/arch/arm/mach-hipox/Kconfig 2009-04-20 10:20:06.000000000 +0000
+@@ -1,6 +1,12 @@
+ if ARCH_HIPOX
+
+-menu "Oxford Semiconductor NAS Options"
++menu "OXE810 based HydraIP Options"
++
++config MACH_HIPOX
++ bool "OXE810 based HydraIP board"
++ help
++ Say 'Y' here if you want your kernel to run on the
++ OXE810 based HydraIP board.
+
+ config ARCH_HIPOX_FPGA
+ bool "FPGA platform"
diff --git a/recipes/linux/linux-2.6.24/hipox/hipox-ubifs.patch b/recipes/linux/linux-2.6.24/hipox/hipox-ubifs.patch
index 2aef97d4eb..670f22518c 100644
--- a/recipes/linux/linux-2.6.24/hipox/hipox-ubifs.patch
+++ b/recipes/linux/linux-2.6.24/hipox/hipox-ubifs.patch
@@ -1,43974 +1,10 @@
-diff -Nurd linux-2.6.24.orig/crypto/Kconfig linux-2.6.24/crypto/Kconfig
---- linux-2.6.24.orig/crypto/Kconfig 2009-04-17 09:45:12.000000000 +0200
-+++ linux-2.6.24/crypto/Kconfig 2009-04-17 09:49:26.000000000 +0200
-@@ -502,6 +502,14 @@
- Authenc: Combined mode wrapper for IPsec.
- This is required for IPSec.
-
-+config CRYPTO_LZO
-+ tristate "LZO compression algorithm"
-+ select CRYPTO_ALGAPI
-+ select LZO_COMPRESS
-+ select LZO_DECOMPRESS
-+ help
-+ This is the LZO algorithm.
-+
- source "drivers/crypto/Kconfig"
-
- endif # if CRYPTO
-diff -Nurd linux-2.6.24.orig/crypto/Makefile linux-2.6.24/crypto/Makefile
---- linux-2.6.24.orig/crypto/Makefile 2009-04-17 09:45:12.000000000 +0200
-+++ linux-2.6.24/crypto/Makefile 2009-04-17 09:49:26.000000000 +0200
-@@ -51,6 +51,7 @@
- obj-$(CONFIG_CRYPTO_DEFLATE) += deflate.o
- obj-$(CONFIG_CRYPTO_MICHAEL_MIC) += michael_mic.o
- obj-$(CONFIG_CRYPTO_CRC32C) += crc32c.o
-+obj-$(CONFIG_CRYPTO_LZO) += lzo.o
- obj-$(CONFIG_CRYPTO_AUTHENC) += authenc.o
-
- obj-$(CONFIG_CRYPTO_TEST) += tcrypt.o
-diff -Nurd linux-2.6.24.orig/crypto/lzo.c linux-2.6.24/crypto/lzo.c
---- linux-2.6.24.orig/crypto/lzo.c 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.24/crypto/lzo.c 2009-04-17 09:49:26.000000000 +0200
-@@ -0,0 +1,106 @@
-+/*
-+ * Cryptographic API.
-+ *
-+ * This program is free software; you can redistribute it and/or modify it
-+ * under the terms of the GNU General Public License version 2 as published by
-+ * the Free Software Foundation.
-+ *
-+ * 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, write to the Free Software Foundation, Inc., 51
-+ * Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
-+ *
-+ */
-+
-+#include <linux/init.h>
-+#include <linux/module.h>
-+#include <linux/crypto.h>
-+#include <linux/vmalloc.h>
-+#include <linux/lzo.h>
-+
-+struct lzo_ctx {
-+ void *lzo_comp_mem;
-+};
-+
-+static int lzo_init(struct crypto_tfm *tfm)
-+{
-+ struct lzo_ctx *ctx = crypto_tfm_ctx(tfm);
-+
-+ ctx->lzo_comp_mem = vmalloc(LZO1X_MEM_COMPRESS);
-+ if (!ctx->lzo_comp_mem)
-+ return -ENOMEM;
-+
-+ return 0;
-+}
-+
-+static void lzo_exit(struct crypto_tfm *tfm)
-+{
-+ struct lzo_ctx *ctx = crypto_tfm_ctx(tfm);
-+
-+ vfree(ctx->lzo_comp_mem);
-+}
-+
-+static int lzo_compress(struct crypto_tfm *tfm, const u8 *src,
-+ unsigned int slen, u8 *dst, unsigned int *dlen)
-+{
-+ struct lzo_ctx *ctx = crypto_tfm_ctx(tfm);
-+ size_t tmp_len = *dlen; /* size_t(ulong) <-> uint on 64 bit */
-+ int err;
-+
-+ err = lzo1x_1_compress(src, slen, dst, &tmp_len, ctx->lzo_comp_mem);
-+
-+ if (err != LZO_E_OK)
-+ return -EINVAL;
-+
-+ *dlen = tmp_len;
-+ return 0;
-+}
-+
-+static int lzo_decompress(struct crypto_tfm *tfm, const u8 *src,
-+ unsigned int slen, u8 *dst, unsigned int *dlen)
-+{
-+ int err;
-+ size_t tmp_len = *dlen; /* size_t(ulong) <-> uint on 64 bit */
-+
-+ err = lzo1x_decompress_safe(src, slen, dst, &tmp_len);
-+
-+ if (err != LZO_E_OK)
-+ return -EINVAL;
-+
-+ *dlen = tmp_len;
-+ return 0;
-+
-+}
-+
-+static struct crypto_alg alg = {
-+ .cra_name = "lzo",
-+ .cra_flags = CRYPTO_ALG_TYPE_COMPRESS,
-+ .cra_ctxsize = sizeof(struct lzo_ctx),
-+ .cra_module = THIS_MODULE,
-+ .cra_list = LIST_HEAD_INIT(alg.cra_list),
-+ .cra_init = lzo_init,
-+ .cra_exit = lzo_exit,
-+ .cra_u = { .compress = {
-+ .coa_compress = lzo_compress,
-+ .coa_decompress = lzo_decompress } }
-+};
-+
-+static int __init init(void)
-+{
-+ return crypto_register_alg(&alg);
-+}
-+
-+static void __exit fini(void)
-+{
-+ crypto_unregister_alg(&alg);
-+}
-+
-+module_init(init);
-+module_exit(fini);
-+
-+MODULE_LICENSE("GPL");
-+MODULE_DESCRIPTION("LZO Compression Algorithm");
-diff -Nurd linux-2.6.24.orig/drivers/mtd/ubi/Kconfig linux-2.6.24/drivers/mtd/ubi/Kconfig
---- linux-2.6.24.orig/drivers/mtd/ubi/Kconfig 2009-04-17 09:45:11.000000000 +0200
-+++ linux-2.6.24/drivers/mtd/ubi/Kconfig 2009-04-17 09:49:26.000000000 +0200
-@@ -24,8 +24,13 @@
- erase counter value and the lowest erase counter value of eraseblocks
- of UBI devices. When this threshold is exceeded, UBI starts performing
- wear leveling by means of moving data from eraseblock with low erase
-- counter to eraseblocks with high erase counter. Leave the default
-- value if unsure.
-+ counter to eraseblocks with high erase counter.
-+
-+ The default value should be OK for SLC NAND flashes, NOR flashes and
-+ other flashes which have eraseblock life-cycle 100000 or more.
-+ However, in case of MLC NAND flashes which typically have eraseblock
-+ life-cycle less then 10000, the threshold should be lessened (e.g.,
-+ to 128 or 256, although it does not have to be power of 2).
-
- config MTD_UBI_BEB_RESERVE
- int "Percentage of reserved eraseblocks for bad eraseblocks handling"
-diff -Nurd linux-2.6.24.orig/drivers/mtd/ubi/build.c linux-2.6.24/drivers/mtd/ubi/build.c
---- linux-2.6.24.orig/drivers/mtd/ubi/build.c 2009-04-17 09:45:11.000000000 +0200
-+++ linux-2.6.24/drivers/mtd/ubi/build.c 2009-04-17 09:49:26.000000000 +0200
-@@ -21,11 +21,16 @@
- */
-
- /*
-- * This file includes UBI initialization and building of UBI devices. At the
-- * moment UBI devices may only be added while UBI is initialized, but dynamic
-- * device add/remove functionality is planned. Also, at the moment we only
-- * attach UBI devices by scanning, which will become a bottleneck when flashes
-- * reach certain large size. Then one may improve UBI and add other methods.
-+ * This file includes UBI initialization and building of UBI devices.
-+ *
-+ * When UBI is initialized, it attaches all the MTD devices specified as the
-+ * module load parameters or the kernel boot parameters. If MTD devices were
-+ * specified, UBI does not attach any MTD device, but it is possible to do
-+ * later using the "UBI control device".
-+ *
-+ * At the moment we only attach UBI devices by scanning, which will become a
-+ * bottleneck when flashes reach certain large size. Then one may improve UBI
-+ * and add other methods, although it does not seem to be easy to do.
- */
-
- #include <linux/err.h>
-@@ -33,7 +38,9 @@
- #include <linux/moduleparam.h>
- #include <linux/stringify.h>
- #include <linux/stat.h>
-+#include <linux/miscdevice.h>
- #include <linux/log2.h>
-+#include <linux/kthread.h>
- #include "ubi.h"
-
- /* Maximum length of the 'mtd=' parameter */
-@@ -43,29 +50,39 @@
- * struct mtd_dev_param - MTD device parameter description data structure.
- * @name: MTD device name or number string
- * @vid_hdr_offs: VID header offset
-- * @data_offs: data offset
- */
--struct mtd_dev_param
--{
-+struct mtd_dev_param {
- char name[MTD_PARAM_LEN_MAX];
- int vid_hdr_offs;
-- int data_offs;
- };
-
- /* Numbers of elements set in the @mtd_dev_param array */
--static int mtd_devs = 0;
-+static int mtd_devs;
-
- /* MTD devices specification parameters */
- static struct mtd_dev_param mtd_dev_param[UBI_MAX_DEVICES];
-
--/* Number of UBI devices in system */
--int ubi_devices_cnt;
-+/* Root UBI "class" object (corresponds to '/<sysfs>/class/ubi/') */
-+struct class *ubi_class;
-+
-+/* Slab cache for wear-leveling entries */
-+struct kmem_cache *ubi_wl_entry_slab;
-+
-+/* UBI control character device */
-+static struct miscdevice ubi_ctrl_cdev = {
-+ .minor = MISC_DYNAMIC_MINOR,
-+ .name = "ubi_ctrl",
-+ .fops = &ubi_ctrl_cdev_operations,
-+};
-
- /* All UBI devices in system */
--struct ubi_device *ubi_devices[UBI_MAX_DEVICES];
-+static struct ubi_device *ubi_devices[UBI_MAX_DEVICES];
-
--/* Root UBI "class" object (corresponds to '/<sysfs>/class/ubi/') */
--struct class *ubi_class;
-+/* Serializes UBI devices creations and removals */
-+DEFINE_MUTEX(ubi_devices_mutex);
-+
-+/* Protects @ubi_devices and @ubi->ref_count */
-+static DEFINE_SPINLOCK(ubi_devices_lock);
-
- /* "Show" method for files in '/<sysfs>/class/ubi/' */
- static ssize_t ubi_version_show(struct class *class, char *buf)
-@@ -101,42 +118,157 @@
- __ATTR(min_io_size, S_IRUGO, dev_attribute_show, NULL);
- static struct device_attribute dev_bgt_enabled =
- __ATTR(bgt_enabled, S_IRUGO, dev_attribute_show, NULL);
-+static struct device_attribute dev_mtd_num =
-+ __ATTR(mtd_num, S_IRUGO, dev_attribute_show, NULL);
-+
-+/**
-+ * ubi_get_device - get UBI device.
-+ * @ubi_num: UBI device number
-+ *
-+ * This function returns UBI device description object for UBI device number
-+ * @ubi_num, or %NULL if the device does not exist. This function increases the
-+ * device reference count to prevent removal of the device. In other words, the
-+ * device cannot be removed if its reference count is not zero.
-+ */
-+struct ubi_device *ubi_get_device(int ubi_num)
-+{
-+ struct ubi_device *ubi;
-+
-+ spin_lock(&ubi_devices_lock);
-+ ubi = ubi_devices[ubi_num];
-+ if (ubi) {
-+ ubi_assert(ubi->ref_count >= 0);
-+ ubi->ref_count += 1;
-+ get_device(&ubi->dev);
-+ }
-+ spin_unlock(&ubi_devices_lock);
-+
-+ return ubi;
-+}
-+
-+/**
-+ * ubi_put_device - drop an UBI device reference.
-+ * @ubi: UBI device description object
-+ */
-+void ubi_put_device(struct ubi_device *ubi)
-+{
-+ spin_lock(&ubi_devices_lock);
-+ ubi->ref_count -= 1;
-+ put_device(&ubi->dev);
-+ spin_unlock(&ubi_devices_lock);
-+}
-+
-+/**
-+ * ubi_get_by_major - get UBI device by character device major number.
-+ * @major: major number
-+ *
-+ * This function is similar to 'ubi_get_device()', but it searches the device
-+ * by its major number.
-+ */
-+struct ubi_device *ubi_get_by_major(int major)
-+{
-+ int i;
-+ struct ubi_device *ubi;
-+
-+ spin_lock(&ubi_devices_lock);
-+ for (i = 0; i < UBI_MAX_DEVICES; i++) {
-+ ubi = ubi_devices[i];
-+ if (ubi && MAJOR(ubi->cdev.dev) == major) {
-+ ubi_assert(ubi->ref_count >= 0);
-+ ubi->ref_count += 1;
-+ get_device(&ubi->dev);
-+ spin_unlock(&ubi_devices_lock);
-+ return ubi;
-+ }
-+ }
-+ spin_unlock(&ubi_devices_lock);
-+
-+ return NULL;
-+}
-+
-+/**
-+ * ubi_major2num - get UBI device number by character device major number.
-+ * @major: major number
-+ *
-+ * This function searches UBI device number object by its major number. If UBI
-+ * device was not found, this function returns -ENODEV, otherwise the UBI device
-+ * number is returned.
-+ */
-+int ubi_major2num(int major)
-+{
-+ int i, ubi_num = -ENODEV;
-+
-+ spin_lock(&ubi_devices_lock);
-+ for (i = 0; i < UBI_MAX_DEVICES; i++) {
-+ struct ubi_device *ubi = ubi_devices[i];
-+
-+ if (ubi && MAJOR(ubi->cdev.dev) == major) {
-+ ubi_num = ubi->ubi_num;
-+ break;
-+ }
-+ }
-+ spin_unlock(&ubi_devices_lock);
-+
-+ return ubi_num;
-+}
-
- /* "Show" method for files in '/<sysfs>/class/ubi/ubiX/' */
- static ssize_t dev_attribute_show(struct device *dev,
- struct device_attribute *attr, char *buf)
- {
-- const struct ubi_device *ubi;
-+ ssize_t ret;
-+ struct ubi_device *ubi;
-
-+ /*
-+ * The below code looks weird, but it actually makes sense. We get the
-+ * UBI device reference from the contained 'struct ubi_device'. But it
-+ * is unclear if the device was removed or not yet. Indeed, if the
-+ * device was removed before we increased its reference count,
-+ * 'ubi_get_device()' will return -ENODEV and we fail.
-+ *
-+ * Remember, 'struct ubi_device' is freed in the release function, so
-+ * we still can use 'ubi->ubi_num'.
-+ */
- ubi = container_of(dev, struct ubi_device, dev);
-+ ubi = ubi_get_device(ubi->ubi_num);
-+ if (!ubi)
-+ return -ENODEV;
-+
- if (attr == &dev_eraseblock_size)
-- return sprintf(buf, "%d\n", ubi->leb_size);
-+ ret = sprintf(buf, "%d\n", ubi->leb_size);
- else if (attr == &dev_avail_eraseblocks)
-- return sprintf(buf, "%d\n", ubi->avail_pebs);
-+ ret = sprintf(buf, "%d\n", ubi->avail_pebs);
- else if (attr == &dev_total_eraseblocks)
-- return sprintf(buf, "%d\n", ubi->good_peb_count);
-+ ret = sprintf(buf, "%d\n", ubi->good_peb_count);
- else if (attr == &dev_volumes_count)
-- return sprintf(buf, "%d\n", ubi->vol_count);
-+ ret = sprintf(buf, "%d\n", ubi->vol_count - UBI_INT_VOL_COUNT);
- else if (attr == &dev_max_ec)
-- return sprintf(buf, "%d\n", ubi->max_ec);
-+ ret = sprintf(buf, "%d\n", ubi->max_ec);
- else if (attr == &dev_reserved_for_bad)
-- return sprintf(buf, "%d\n", ubi->beb_rsvd_pebs);
-+ ret = sprintf(buf, "%d\n", ubi->beb_rsvd_pebs);
- else if (attr == &dev_bad_peb_count)
-- return sprintf(buf, "%d\n", ubi->bad_peb_count);
-+ ret = sprintf(buf, "%d\n", ubi->bad_peb_count);
- else if (attr == &dev_max_vol_count)
-- return sprintf(buf, "%d\n", ubi->vtbl_slots);
-+ ret = sprintf(buf, "%d\n", ubi->vtbl_slots);
- else if (attr == &dev_min_io_size)
-- return sprintf(buf, "%d\n", ubi->min_io_size);
-+ ret = sprintf(buf, "%d\n", ubi->min_io_size);
- else if (attr == &dev_bgt_enabled)
-- return sprintf(buf, "%d\n", ubi->thread_enabled);
-+ ret = sprintf(buf, "%d\n", ubi->thread_enabled);
-+ else if (attr == &dev_mtd_num)
-+ ret = sprintf(buf, "%d\n", ubi->mtd->index);
- else
-- BUG();
-+ ret = -EINVAL;
-
-- return 0;
-+ ubi_put_device(ubi);
-+ return ret;
- }
-
--/* Fake "release" method for UBI devices */
--static void dev_release(struct device *dev) { }
-+static void dev_release(struct device *dev)
-+{
-+ struct ubi_device *ubi = container_of(dev, struct ubi_device, dev);
-+
-+ kfree(ubi);
-+}
-
- /**
- * ubi_sysfs_init - initialize sysfs for an UBI device.
-@@ -150,68 +282,44 @@
- int err;
-
- ubi->dev.release = dev_release;
-- ubi->dev.devt = MKDEV(ubi->major, 0);
-+ ubi->dev.devt = ubi->cdev.dev;
- ubi->dev.class = ubi_class;
- sprintf(&ubi->dev.bus_id[0], UBI_NAME_STR"%d", ubi->ubi_num);
- err = device_register(&ubi->dev);
- if (err)
-- goto out;
-+ return err;
-
- err = device_create_file(&ubi->dev, &dev_eraseblock_size);
- if (err)
-- goto out_unregister;
-+ return err;
- err = device_create_file(&ubi->dev, &dev_avail_eraseblocks);
- if (err)
-- goto out_eraseblock_size;
-+ return err;
- err = device_create_file(&ubi->dev, &dev_total_eraseblocks);
- if (err)
-- goto out_avail_eraseblocks;
-+ return err;
- err = device_create_file(&ubi->dev, &dev_volumes_count);
- if (err)
-- goto out_total_eraseblocks;
-+ return err;
- err = device_create_file(&ubi->dev, &dev_max_ec);
- if (err)
-- goto out_volumes_count;
-+ return err;
- err = device_create_file(&ubi->dev, &dev_reserved_for_bad);
- if (err)
-- goto out_volumes_max_ec;
-+ return err;
- err = device_create_file(&ubi->dev, &dev_bad_peb_count);
- if (err)
-- goto out_reserved_for_bad;
-+ return err;
- err = device_create_file(&ubi->dev, &dev_max_vol_count);
- if (err)
-- goto out_bad_peb_count;
-+ return err;
- err = device_create_file(&ubi->dev, &dev_min_io_size);
- if (err)
-- goto out_max_vol_count;
-+ return err;
- err = device_create_file(&ubi->dev, &dev_bgt_enabled);
- if (err)
-- goto out_min_io_size;
--
-- return 0;
--
--out_min_io_size:
-- device_remove_file(&ubi->dev, &dev_min_io_size);
--out_max_vol_count:
-- device_remove_file(&ubi->dev, &dev_max_vol_count);
--out_bad_peb_count:
-- device_remove_file(&ubi->dev, &dev_bad_peb_count);
--out_reserved_for_bad:
-- device_remove_file(&ubi->dev, &dev_reserved_for_bad);
--out_volumes_max_ec:
-- device_remove_file(&ubi->dev, &dev_max_ec);
--out_volumes_count:
-- device_remove_file(&ubi->dev, &dev_volumes_count);
--out_total_eraseblocks:
-- device_remove_file(&ubi->dev, &dev_total_eraseblocks);
--out_avail_eraseblocks:
-- device_remove_file(&ubi->dev, &dev_avail_eraseblocks);
--out_eraseblock_size:
-- device_remove_file(&ubi->dev, &dev_eraseblock_size);
--out_unregister:
-- device_unregister(&ubi->dev);
--out:
-- ubi_err("failed to initialize sysfs for %s", ubi->ubi_name);
-+ return err;
-+ err = device_create_file(&ubi->dev, &dev_mtd_num);
- return err;
- }
-
-@@ -221,6 +329,7 @@
- */
- static void ubi_sysfs_close(struct ubi_device *ubi)
- {
-+ device_remove_file(&ubi->dev, &dev_mtd_num);
- device_remove_file(&ubi->dev, &dev_bgt_enabled);
- device_remove_file(&ubi->dev, &dev_min_io_size);
- device_remove_file(&ubi->dev, &dev_max_vol_count);
-@@ -244,7 +353,26 @@
-
- for (i = 0; i < ubi->vtbl_slots; i++)
- if (ubi->volumes[i])
-- ubi_free_volume(ubi, i);
-+ ubi_free_volume(ubi, ubi->volumes[i]);
-+}
-+
-+/**
-+ * free_user_volumes - free all user volumes.
-+ * @ubi: UBI device description object
-+ *
-+ * Normally the volumes are freed at the release function of the volume device
-+ * objects. However, on error paths the volumes have to be freed before the
-+ * device objects have been initialized.
-+ */
-+static void free_user_volumes(struct ubi_device *ubi)
-+{
-+ int i;
-+
-+ for (i = 0; i < ubi->vtbl_slots; i++)
-+ if (ubi->volumes[i]) {
-+ kfree(ubi->volumes[i]->eba_tbl);
-+ kfree(ubi->volumes[i]);
-+ }
- }
-
- /**
-@@ -252,16 +380,13 @@
- * @ubi: UBI device description object
- *
- * This function returns zero in case of success and a negative error code in
-- * case of failure.
-+ * case of failure. Note, this function destroys all volumes if it failes.
- */
- static int uif_init(struct ubi_device *ubi)
- {
- int i, err;
- dev_t dev;
-
-- mutex_init(&ubi->vtbl_mutex);
-- spin_lock_init(&ubi->volumes_lock);
--
- sprintf(ubi->ubi_name, UBI_NAME_STR "%d", ubi->ubi_num);
-
- /*
-@@ -278,52 +403,72 @@
- return err;
- }
-
-+ ubi_assert(MINOR(dev) == 0);
- cdev_init(&ubi->cdev, &ubi_cdev_operations);
-- ubi->major = MAJOR(dev);
-- dbg_msg("%s major is %u", ubi->ubi_name, ubi->major);
-+ dbg_gen("%s major is %u", ubi->ubi_name, MAJOR(dev));
- ubi->cdev.owner = THIS_MODULE;
-
-- dev = MKDEV(ubi->major, 0);
- err = cdev_add(&ubi->cdev, dev, 1);
- if (err) {
-- ubi_err("cannot add character device %s", ubi->ubi_name);
-+ ubi_err("cannot add character device");
- goto out_unreg;
- }
-
- err = ubi_sysfs_init(ubi);
- if (err)
-- goto out_cdev;
-+ goto out_sysfs;
-
- for (i = 0; i < ubi->vtbl_slots; i++)
- if (ubi->volumes[i]) {
-- err = ubi_add_volume(ubi, i);
-- if (err)
-+ err = ubi_add_volume(ubi, ubi->volumes[i]);
-+ if (err) {
-+ ubi_err("cannot add volume %d", i);
- goto out_volumes;
-+ }
- }
-
- return 0;
-
- out_volumes:
- kill_volumes(ubi);
-+out_sysfs:
- ubi_sysfs_close(ubi);
--out_cdev:
- cdev_del(&ubi->cdev);
- out_unreg:
-- unregister_chrdev_region(MKDEV(ubi->major, 0),
-- ubi->vtbl_slots + 1);
-+ unregister_chrdev_region(ubi->cdev.dev, ubi->vtbl_slots + 1);
-+ ubi_err("cannot initialize UBI %s, error %d", ubi->ubi_name, err);
- return err;
- }
-
- /**
- * uif_close - close user interfaces for an UBI device.
- * @ubi: UBI device description object
-+ *
-+ * Note, since this function un-registers UBI volume device objects (@vol->dev),
-+ * the memory allocated voe the volumes is freed as well (in the release
-+ * function).
- */
- static void uif_close(struct ubi_device *ubi)
- {
- kill_volumes(ubi);
- ubi_sysfs_close(ubi);
- cdev_del(&ubi->cdev);
-- unregister_chrdev_region(MKDEV(ubi->major, 0), ubi->vtbl_slots + 1);
-+ unregister_chrdev_region(ubi->cdev.dev, ubi->vtbl_slots + 1);
-+}
-+
-+/**
-+ * free_internal_volumes - free internal volumes.
-+ * @ubi: UBI device description object
-+ */
-+static void free_internal_volumes(struct ubi_device *ubi)
-+{
-+ int i;
-+
-+ for (i = ubi->vtbl_slots;
-+ i < ubi->vtbl_slots + UBI_INT_VOL_COUNT; i++) {
-+ kfree(ubi->volumes[i]->eba_tbl);
-+ kfree(ubi->volumes[i]);
-+ }
- }
-
- /**
-@@ -370,6 +515,7 @@
- out_wl:
- ubi_wl_close(ubi);
- out_vtbl:
-+ free_internal_volumes(ubi);
- vfree(ubi->vtbl);
- out_si:
- ubi_scan_destroy_si(si);
-@@ -377,16 +523,16 @@
- }
-
- /**
-- * io_init - initialize I/O unit for a given UBI device.
-+ * io_init - initialize I/O sub-system for a given UBI device.
- * @ubi: UBI device description object
- *
- * If @ubi->vid_hdr_offset or @ubi->leb_start is zero, default offsets are
- * assumed:
- * o EC header is always at offset zero - this cannot be changed;
- * o VID header starts just after the EC header at the closest address
-- * aligned to @io->@hdrs_min_io_size;
-+ * aligned to @io->hdrs_min_io_size;
- * o data starts just after the VID header at the closest address aligned to
-- * @io->@min_io_size
-+ * @io->min_io_size
- *
- * This function returns zero in case of success and a negative error code in
- * case of failure.
-@@ -407,6 +553,9 @@
- return -EINVAL;
- }
-
-+ if (ubi->vid_hdr_offset < 0)
-+ return -EINVAL;
-+
- /*
- * Note, in this implementation we support MTD devices with 0x7FFFFFFF
- * physical eraseblocks maximum.
-@@ -422,9 +571,14 @@
- ubi->min_io_size = ubi->mtd->writesize;
- ubi->hdrs_min_io_size = ubi->mtd->writesize >> ubi->mtd->subpage_sft;
-
-- /* Make sure minimal I/O unit is power of 2 */
-+ /*
-+ * Make sure minimal I/O unit is power of 2. Note, there is no
-+ * fundamental reason for this assumption. It is just an optimization
-+ * which allows us to avoid costly division operations.
-+ */
- if (!is_power_of_2(ubi->min_io_size)) {
-- ubi_err("bad min. I/O unit");
-+ ubi_err("min. I/O unit (%d) is not power of 2",
-+ ubi->min_io_size);
- return -EINVAL;
- }
-
-@@ -453,10 +607,8 @@
- }
-
- /* Similar for the data offset */
-- if (ubi->leb_start == 0) {
-- ubi->leb_start = ubi->vid_hdr_offset + ubi->vid_hdr_alsize;
-- ubi->leb_start = ALIGN(ubi->leb_start, ubi->min_io_size);
-- }
-+ ubi->leb_start = ubi->vid_hdr_offset + UBI_EC_HDR_SIZE;
-+ ubi->leb_start = ALIGN(ubi->leb_start, ubi->min_io_size);
-
- dbg_msg("vid_hdr_offset %d", ubi->vid_hdr_offset);
- dbg_msg("vid_hdr_aloffset %d", ubi->vid_hdr_aloffset);
-@@ -474,7 +626,7 @@
- if (ubi->vid_hdr_offset < UBI_EC_HDR_SIZE ||
- ubi->leb_start < ubi->vid_hdr_offset + UBI_VID_HDR_SIZE ||
- ubi->leb_start > ubi->peb_size - UBI_VID_HDR_SIZE ||
-- ubi->leb_start % ubi->min_io_size) {
-+ ubi->leb_start & (ubi->min_io_size - 1)) {
- ubi_err("bad VID header (%d) or data offsets (%d)",
- ubi->vid_hdr_offset, ubi->leb_start);
- return -EINVAL;
-@@ -499,8 +651,16 @@
- ubi->ro_mode = 1;
- }
-
-- dbg_msg("leb_size %d", ubi->leb_size);
-- dbg_msg("ro_mode %d", ubi->ro_mode);
-+ ubi_msg("physical eraseblock size: %d bytes (%d KiB)",
-+ ubi->peb_size, ubi->peb_size >> 10);
-+ ubi_msg("logical eraseblock size: %d bytes", ubi->leb_size);
-+ ubi_msg("smallest flash I/O unit: %d", ubi->min_io_size);
-+ if (ubi->hdrs_min_io_size != ubi->min_io_size)
-+ ubi_msg("sub-page size: %d",
-+ ubi->hdrs_min_io_size);
-+ ubi_msg("VID header offset: %d (aligned %d)",
-+ ubi->vid_hdr_offset, ubi->vid_hdr_aloffset);
-+ ubi_msg("data offset: %d", ubi->leb_start);
-
- /*
- * Note, ideally, we have to initialize ubi->bad_peb_count here. But
-@@ -514,89 +674,162 @@
- }
-
- /**
-- * attach_mtd_dev - attach an MTD device.
-- * @mtd_dev: MTD device name or number string
-- * @vid_hdr_offset: VID header offset
-- * @data_offset: data offset
-+ * autoresize - re-size the volume which has the "auto-resize" flag set.
-+ * @ubi: UBI device description object
-+ * @vol_id: ID of the volume to re-size
- *
-- * This function attaches an MTD device to UBI. It first treats @mtd_dev as the
-- * MTD device name, and tries to open it by this name. If it is unable to open,
-- * it tries to convert @mtd_dev to an integer and open the MTD device by its
-- * number. Returns zero in case of success and a negative error code in case of
-- * failure.
-+ * This function re-sizes the volume marked by the @UBI_VTBL_AUTORESIZE_FLG in
-+ * the volume table to the largest possible size. See comments in ubi-header.h
-+ * for more description of the flag. Returns zero in case of success and a
-+ * negative error code in case of failure.
- */
--static int attach_mtd_dev(const char *mtd_dev, int vid_hdr_offset,
-- int data_offset)
-+static int autoresize(struct ubi_device *ubi, int vol_id)
- {
-- struct ubi_device *ubi;
-- struct mtd_info *mtd;
-- int i, err;
-+ struct ubi_volume_desc desc;
-+ struct ubi_volume *vol = ubi->volumes[vol_id];
-+ int err, old_reserved_pebs = vol->reserved_pebs;
-
-- mtd = get_mtd_device_nm(mtd_dev);
-- if (IS_ERR(mtd)) {
-- int mtd_num;
-- char *endp;
-+ /*
-+ * Clear the auto-resize flag in the volume in-memory copy of the
-+ * volume table, and 'ubi_resize_volume()' will propagate this change
-+ * to the flash.
-+ */
-+ ubi->vtbl[vol_id].flags &= ~UBI_VTBL_AUTORESIZE_FLG;
-
-- if (PTR_ERR(mtd) != -ENODEV)
-- return PTR_ERR(mtd);
-+ if (ubi->avail_pebs == 0) {
-+ struct ubi_vtbl_record vtbl_rec;
-
- /*
-- * Probably this is not MTD device name but MTD device number -
-- * check this out.
-+ * No available PEBs to re-size the volume, clear the flag on
-+ * flash and exit.
- */
-- mtd_num = simple_strtoul(mtd_dev, &endp, 0);
-- if (*endp != '\0' || mtd_dev == endp) {
-- ubi_err("incorrect MTD device: \"%s\"", mtd_dev);
-- return -ENODEV;
-+ memcpy(&vtbl_rec, &ubi->vtbl[vol_id],
-+ sizeof(struct ubi_vtbl_record));
-+ err = ubi_change_vtbl_record(ubi, vol_id, &vtbl_rec);
-+ if (err)
-+ ubi_err("cannot clean auto-resize flag for volume %d",
-+ vol_id);
-+ } else {
-+ desc.vol = vol;
-+ err = ubi_resize_volume(&desc,
-+ old_reserved_pebs + ubi->avail_pebs);
-+ if (err)
-+ ubi_err("cannot auto-resize volume %d", vol_id);
-+ }
-+
-+ if (err)
-+ return err;
-+
-+ ubi_msg("volume %d (\"%s\") re-sized from %d to %d LEBs", vol_id,
-+ vol->name, old_reserved_pebs, vol->reserved_pebs);
-+ return 0;
-+}
-+
-+/**
-+ * ubi_attach_mtd_dev - attach an MTD device.
-+ * @mtd: MTD device description object
-+ * @ubi_num: number to assign to the new UBI device
-+ * @vid_hdr_offset: VID header offset
-+ *
-+ * This function attaches MTD device @mtd_dev to UBI and assign @ubi_num number
-+ * to the newly created UBI device, unless @ubi_num is %UBI_DEV_NUM_AUTO, in
-+ * which case this function finds a vacant device number and assigns it
-+ * automatically. Returns the new UBI device number in case of success and a
-+ * negative error code in case of failure.
-+ *
-+ * Note, the invocations of this function has to be serialized by the
-+ * @ubi_devices_mutex.
-+ */
-+int ubi_attach_mtd_dev(struct mtd_info *mtd, int ubi_num, int vid_hdr_offset)
-+{
-+ struct ubi_device *ubi;
-+ int i, err, do_free = 1;
-+
-+ /*
-+ * Check if we already have the same MTD device attached.
-+ *
-+ * Note, this function assumes that UBI devices creations and deletions
-+ * are serialized, so it does not take the &ubi_devices_lock.
-+ */
-+ for (i = 0; i < UBI_MAX_DEVICES; i++) {
-+ ubi = ubi_devices[i];
-+ if (ubi && mtd->index == ubi->mtd->index) {
-+ dbg_err("mtd%d is already attached to ubi%d",
-+ mtd->index, i);
-+ return -EEXIST;
- }
-+ }
-
-- mtd = get_mtd_device(NULL, mtd_num);
-- if (IS_ERR(mtd))
-- return PTR_ERR(mtd);
-+ /*
-+ * Make sure this MTD device is not emulated on top of an UBI volume
-+ * already. Well, generally this recursion works fine, but there are
-+ * different problems like the UBI module takes a reference to itself
-+ * by attaching (and thus, opening) the emulated MTD device. This
-+ * results in inability to unload the module. And in general it makes
-+ * no sense to attach emulated MTD devices, so we prohibit this.
-+ */
-+ if (mtd->type == MTD_UBIVOLUME) {
-+ ubi_err("refuse attaching mtd%d - it is already emulated on "
-+ "top of UBI", mtd->index);
-+ return -EINVAL;
- }
-
-- /* Check if we already have the same MTD device attached */
-- for (i = 0; i < ubi_devices_cnt; i++)
-- if (ubi_devices[i]->mtd->index == mtd->index) {
-- ubi_err("mtd%d is already attached to ubi%d",
-- mtd->index, i);
-- err = -EINVAL;
-- goto out_mtd;
-+ if (ubi_num == UBI_DEV_NUM_AUTO) {
-+ /* Search for an empty slot in the @ubi_devices array */
-+ for (ubi_num = 0; ubi_num < UBI_MAX_DEVICES; ubi_num++)
-+ if (!ubi_devices[ubi_num])
-+ break;
-+ if (ubi_num == UBI_MAX_DEVICES) {
-+ dbg_err("only %d UBI devices may be created",
-+ UBI_MAX_DEVICES);
-+ return -ENFILE;
- }
-+ } else {
-+ if (ubi_num >= UBI_MAX_DEVICES)
-+ return -EINVAL;
-
-- ubi = ubi_devices[ubi_devices_cnt] = kzalloc(sizeof(struct ubi_device),
-- GFP_KERNEL);
-- if (!ubi) {
-- err = -ENOMEM;
-- goto out_mtd;
-+ /* Make sure ubi_num is not busy */
-+ if (ubi_devices[ubi_num]) {
-+ dbg_err("ubi%d already exists", ubi_num);
-+ return -EEXIST;
-+ }
- }
-
-- ubi->ubi_num = ubi_devices_cnt;
-+ ubi = kzalloc(sizeof(struct ubi_device), GFP_KERNEL);
-+ if (!ubi)
-+ return -ENOMEM;
-+
- ubi->mtd = mtd;
-+ ubi->ubi_num = ubi_num;
-+ ubi->vid_hdr_offset = vid_hdr_offset;
-+ ubi->autoresize_vol_id = -1;
-
-- dbg_msg("attaching mtd%d to ubi%d: VID header offset %d data offset %d",
-- ubi->mtd->index, ubi_devices_cnt, vid_hdr_offset, data_offset);
-+ mutex_init(&ubi->buf_mutex);
-+ mutex_init(&ubi->ckvol_mutex);
-+ mutex_init(&ubi->mult_mutex);
-+ mutex_init(&ubi->volumes_mutex);
-+ spin_lock_init(&ubi->volumes_lock);
-+
-+ ubi_msg("attaching mtd%d to ubi%d", mtd->index, ubi_num);
-
-- ubi->vid_hdr_offset = vid_hdr_offset;
-- ubi->leb_start = data_offset;
- err = io_init(ubi);
- if (err)
- goto out_free;
-
-- mutex_init(&ubi->buf_mutex);
-+ err = -ENOMEM;
- ubi->peb_buf1 = vmalloc(ubi->peb_size);
- if (!ubi->peb_buf1)
- goto out_free;
-
- ubi->peb_buf2 = vmalloc(ubi->peb_size);
- if (!ubi->peb_buf2)
-- goto out_free;
-+ goto out_free;
-
- #ifdef CONFIG_MTD_UBI_DEBUG
- mutex_init(&ubi->dbg_buf_mutex);
- ubi->dbg_peb_buf = vmalloc(ubi->peb_size);
- if (!ubi->dbg_peb_buf)
-- goto out_free;
-+ goto out_free;
- #endif
-
- err = attach_by_scanning(ubi);
-@@ -605,22 +838,29 @@
- goto out_free;
- }
-
-+ if (ubi->autoresize_vol_id != -1) {
-+ err = autoresize(ubi, ubi->autoresize_vol_id);
-+ if (err)
-+ goto out_detach;
-+ }
-+
- err = uif_init(ubi);
- if (err)
-- goto out_detach;
-+ goto out_nofree;
-
-- ubi_msg("attached mtd%d to ubi%d", ubi->mtd->index, ubi_devices_cnt);
-- ubi_msg("MTD device name: \"%s\"", ubi->mtd->name);
-+ ubi->bgt_thread = kthread_create(ubi_thread, ubi, ubi->bgt_name);
-+ if (IS_ERR(ubi->bgt_thread)) {
-+ err = PTR_ERR(ubi->bgt_thread);
-+ ubi_err("cannot spawn \"%s\", error %d", ubi->bgt_name,
-+ err);
-+ goto out_uif;
-+ }
-+
-+ ubi_msg("attached mtd%d to ubi%d", mtd->index, ubi_num);
-+ ubi_msg("MTD device name: \"%s\"", mtd->name);
- ubi_msg("MTD device size: %llu MiB", ubi->flash_size >> 20);
-- ubi_msg("physical eraseblock size: %d bytes (%d KiB)",
-- ubi->peb_size, ubi->peb_size >> 10);
-- ubi_msg("logical eraseblock size: %d bytes", ubi->leb_size);
- ubi_msg("number of good PEBs: %d", ubi->good_peb_count);
- ubi_msg("number of bad PEBs: %d", ubi->bad_peb_count);
-- ubi_msg("smallest flash I/O unit: %d", ubi->min_io_size);
-- ubi_msg("VID header offset: %d (aligned %d)",
-- ubi->vid_hdr_offset, ubi->vid_hdr_aloffset);
-- ubi_msg("data offset: %d", ubi->leb_start);
- ubi_msg("max. allowed volumes: %d", ubi->vtbl_slots);
- ubi_msg("wear-leveling threshold: %d", CONFIG_MTD_UBI_WL_THRESHOLD);
- ubi_msg("number of internal volumes: %d", UBI_INT_VOL_COUNT);
-@@ -632,18 +872,22 @@
- ubi->beb_rsvd_pebs);
- ubi_msg("max/mean erase counter: %d/%d", ubi->max_ec, ubi->mean_ec);
-
-- /* Enable the background thread */
-- if (!DBG_DISABLE_BGT) {
-+ if (!DBG_DISABLE_BGT)
- ubi->thread_enabled = 1;
-- wake_up_process(ubi->bgt_thread);
-- }
-+ wake_up_process(ubi->bgt_thread);
-
-- ubi_devices_cnt += 1;
-- return 0;
-+ ubi_devices[ubi_num] = ubi;
-+ return ubi_num;
-
-+out_uif:
-+ uif_close(ubi);
-+out_nofree:
-+ do_free = 0;
- out_detach:
-- ubi_eba_close(ubi);
- ubi_wl_close(ubi);
-+ if (do_free)
-+ free_user_volumes(ubi);
-+ free_internal_volumes(ubi);
- vfree(ubi->vtbl);
- out_free:
- vfree(ubi->peb_buf1);
-@@ -652,24 +896,67 @@
- vfree(ubi->dbg_peb_buf);
- #endif
- kfree(ubi);
--out_mtd:
-- put_mtd_device(mtd);
-- ubi_devices[ubi_devices_cnt] = NULL;
- return err;
- }
-
- /**
-- * detach_mtd_dev - detach an MTD device.
-- * @ubi: UBI device description object
-+ * ubi_detach_mtd_dev - detach an MTD device.
-+ * @ubi_num: UBI device number to detach from
-+ * @anyway: detach MTD even if device reference count is not zero
-+ *
-+ * This function destroys an UBI device number @ubi_num and detaches the
-+ * underlying MTD device. Returns zero in case of success and %-EBUSY if the
-+ * UBI device is busy and cannot be destroyed, and %-EINVAL if it does not
-+ * exist.
-+ *
-+ * Note, the invocations of this function has to be serialized by the
-+ * @ubi_devices_mutex.
- */
--static void detach_mtd_dev(struct ubi_device *ubi)
-+int ubi_detach_mtd_dev(int ubi_num, int anyway)
- {
-- int ubi_num = ubi->ubi_num, mtd_num = ubi->mtd->index;
-+ struct ubi_device *ubi;
-
-+ if (ubi_num < 0 || ubi_num >= UBI_MAX_DEVICES)
-+ return -EINVAL;
-+
-+ spin_lock(&ubi_devices_lock);
-+ ubi = ubi_devices[ubi_num];
-+ if (!ubi) {
-+ spin_unlock(&ubi_devices_lock);
-+ return -EINVAL;
-+ }
-+
-+ if (ubi->ref_count) {
-+ if (!anyway) {
-+ spin_unlock(&ubi_devices_lock);
-+ return -EBUSY;
-+ }
-+ /* This may only happen if there is a bug */
-+ ubi_err("%s reference count %d, destroy anyway",
-+ ubi->ubi_name, ubi->ref_count);
-+ }
-+ ubi_devices[ubi_num] = NULL;
-+ spin_unlock(&ubi_devices_lock);
-+
-+ ubi_assert(ubi_num == ubi->ubi_num);
- dbg_msg("detaching mtd%d from ubi%d", ubi->mtd->index, ubi_num);
-+
-+ /*
-+ * Before freeing anything, we have to stop the background thread to
-+ * prevent it from doing anything on this device while we are freeing.
-+ */
-+ if (ubi->bgt_thread)
-+ kthread_stop(ubi->bgt_thread);
-+
-+ /*
-+ * Get a reference to the device in order to prevent 'dev_release()'
-+ * from freeing @ubi object.
-+ */
-+ get_device(&ubi->dev);
-+
- uif_close(ubi);
-- ubi_eba_close(ubi);
- ubi_wl_close(ubi);
-+ free_internal_volumes(ubi);
- vfree(ubi->vtbl);
- put_mtd_device(ubi->mtd);
- vfree(ubi->peb_buf1);
-@@ -677,11 +964,37 @@
- #ifdef CONFIG_MTD_UBI_DEBUG
- vfree(ubi->dbg_peb_buf);
- #endif
-- kfree(ubi_devices[ubi_num]);
-- ubi_devices[ubi_num] = NULL;
-- ubi_devices_cnt -= 1;
-- ubi_assert(ubi_devices_cnt >= 0);
-- ubi_msg("mtd%d is detached from ubi%d", mtd_num, ubi_num);
-+ ubi_msg("mtd%d is detached from ubi%d", ubi->mtd->index, ubi->ubi_num);
-+ put_device(&ubi->dev);
-+ return 0;
-+}
-+
-+/**
-+ * find_mtd_device - open an MTD device by its name or number.
-+ * @mtd_dev: name or number of the device
-+ *
-+ * This function tries to open and MTD device described by @mtd_dev string,
-+ * which is first treated as an ASCII number, and if it is not true, it is
-+ * treated as MTD device name. Returns MTD device description object in case of
-+ * success and a negative error code in case of failure.
-+ */
-+static struct mtd_info * __init open_mtd_device(const char *mtd_dev)
-+{
-+ struct mtd_info *mtd;
-+ int mtd_num;
-+ char *endp;
-+
-+ mtd_num = simple_strtoul(mtd_dev, &endp, 0);
-+ if (*endp != '\0' || mtd_dev == endp) {
-+ /*
-+ * This does not look like an ASCII integer, probably this is
-+ * MTD device name.
-+ */
-+ mtd = get_mtd_device_nm(mtd_dev);
-+ } else
-+ mtd = get_mtd_device(NULL, mtd_num);
-+
-+ return mtd;
- }
-
- static int __init ubi_init(void)
-@@ -693,55 +1006,101 @@
- BUILD_BUG_ON(sizeof(struct ubi_vid_hdr) != 64);
-
- if (mtd_devs > UBI_MAX_DEVICES) {
-- printk("UBI error: too many MTD devices, maximum is %d\n",
-- UBI_MAX_DEVICES);
-+ ubi_err("too many MTD devices, maximum is %d", UBI_MAX_DEVICES);
- return -EINVAL;
- }
-
-+ /* Create base sysfs directory and sysfs files */
- ubi_class = class_create(THIS_MODULE, UBI_NAME_STR);
-- if (IS_ERR(ubi_class))
-- return PTR_ERR(ubi_class);
-+ if (IS_ERR(ubi_class)) {
-+ err = PTR_ERR(ubi_class);
-+ ubi_err("cannot create UBI class");
-+ goto out;
-+ }
-
- err = class_create_file(ubi_class, &ubi_version);
-- if (err)
-+ if (err) {
-+ ubi_err("cannot create sysfs file");
- goto out_class;
-+ }
-+
-+ err = misc_register(&ubi_ctrl_cdev);
-+ if (err) {
-+ ubi_err("cannot register device");
-+ goto out_version;
-+ }
-+
-+ ubi_wl_entry_slab = kmem_cache_create("ubi_wl_entry_slab",
-+ sizeof(struct ubi_wl_entry),
-+ 0, 0, NULL);
-+ if (!ubi_wl_entry_slab)
-+ goto out_dev_unreg;
-
- /* Attach MTD devices */
- for (i = 0; i < mtd_devs; i++) {
- struct mtd_dev_param *p = &mtd_dev_param[i];
-+ struct mtd_info *mtd;
-
- cond_resched();
-- err = attach_mtd_dev(p->name, p->vid_hdr_offs, p->data_offs);
-- if (err)
-+
-+ mtd = open_mtd_device(p->name);
-+ if (IS_ERR(mtd)) {
-+ err = PTR_ERR(mtd);
- goto out_detach;
-+ }
-+
-+ mutex_lock(&ubi_devices_mutex);
-+ err = ubi_attach_mtd_dev(mtd, UBI_DEV_NUM_AUTO,
-+ p->vid_hdr_offs);
-+ mutex_unlock(&ubi_devices_mutex);
-+ if (err < 0) {
-+ put_mtd_device(mtd);
-+ ubi_err("cannot attach mtd%d", mtd->index);
-+ goto out_detach;
-+ }
- }
-
- return 0;
-
- out_detach:
- for (k = 0; k < i; k++)
-- detach_mtd_dev(ubi_devices[k]);
-+ if (ubi_devices[k]) {
-+ mutex_lock(&ubi_devices_mutex);
-+ ubi_detach_mtd_dev(ubi_devices[k]->ubi_num, 1);
-+ mutex_unlock(&ubi_devices_mutex);
-+ }
-+ kmem_cache_destroy(ubi_wl_entry_slab);
-+out_dev_unreg:
-+ misc_deregister(&ubi_ctrl_cdev);
-+out_version:
- class_remove_file(ubi_class, &ubi_version);
- out_class:
- class_destroy(ubi_class);
-+out:
-+ ubi_err("UBI error: cannot initialize UBI, error %d", err);
- return err;
- }
- module_init(ubi_init);
-
- static void __exit ubi_exit(void)
- {
-- int i, n = ubi_devices_cnt;
-+ int i;
-
-- for (i = 0; i < n; i++)
-- detach_mtd_dev(ubi_devices[i]);
-+ for (i = 0; i < UBI_MAX_DEVICES; i++)
-+ if (ubi_devices[i]) {
-+ mutex_lock(&ubi_devices_mutex);
-+ ubi_detach_mtd_dev(ubi_devices[i]->ubi_num, 1);
-+ mutex_unlock(&ubi_devices_mutex);
-+ }
-+ kmem_cache_destroy(ubi_wl_entry_slab);
-+ misc_deregister(&ubi_ctrl_cdev);
- class_remove_file(ubi_class, &ubi_version);
- class_destroy(ubi_class);
- }
- module_exit(ubi_exit);
-
- /**
-- * bytes_str_to_int - convert a string representing number of bytes to an
-- * integer.
-+ * bytes_str_to_int - convert a number of bytes string into an integer.
- * @str: the string to convert
- *
- * This function returns positive resulting integer in case of success and a
-@@ -754,7 +1113,8 @@
-
- result = simple_strtoul(str, &endp, 0);
- if (str == endp || result < 0) {
-- printk("UBI error: incorrect bytes count: \"%s\"\n", str);
-+ printk(KERN_ERR "UBI error: incorrect bytes count: \"%s\"\n",
-+ str);
- return -EINVAL;
- }
-
-@@ -764,15 +1124,14 @@
- case 'M':
- result *= 1024;
- case 'K':
-- case 'k':
- result *= 1024;
-- if (endp[1] == 'i' && (endp[2] == '\0' ||
-- endp[2] == 'B' || endp[2] == 'b'))
-+ if (endp[1] == 'i' && endp[2] == 'B')
- endp += 2;
- case '\0':
- break;
- default:
-- printk("UBI error: incorrect bytes count: \"%s\"\n", str);
-+ printk(KERN_ERR "UBI error: incorrect bytes count: \"%s\"\n",
-+ str);
- return -EINVAL;
- }
-
-@@ -793,23 +1152,27 @@
- struct mtd_dev_param *p;
- char buf[MTD_PARAM_LEN_MAX];
- char *pbuf = &buf[0];
-- char *tokens[3] = {NULL, NULL, NULL};
-+ char *tokens[2] = {NULL, NULL};
-+
-+ if (!val)
-+ return -EINVAL;
-
- if (mtd_devs == UBI_MAX_DEVICES) {
-- printk("UBI error: too many parameters, max. is %d\n",
-+ printk(KERN_ERR "UBI error: too many parameters, max. is %d\n",
- UBI_MAX_DEVICES);
- return -EINVAL;
- }
-
- len = strnlen(val, MTD_PARAM_LEN_MAX);
- if (len == MTD_PARAM_LEN_MAX) {
-- printk("UBI error: parameter \"%s\" is too long, max. is %d\n",
-- val, MTD_PARAM_LEN_MAX);
-+ printk(KERN_ERR "UBI error: parameter \"%s\" is too long, "
-+ "max. is %d\n", val, MTD_PARAM_LEN_MAX);
- return -EINVAL;
- }
-
- if (len == 0) {
-- printk("UBI warning: empty 'mtd=' parameter - ignored\n");
-+ printk(KERN_WARNING "UBI warning: empty 'mtd=' parameter - "
-+ "ignored\n");
- return 0;
- }
-
-@@ -819,11 +1182,12 @@
- if (buf[len - 1] == '\n')
- buf[len - 1] = '\0';
-
-- for (i = 0; i < 3; i++)
-+ for (i = 0; i < 2; i++)
- tokens[i] = strsep(&pbuf, ",");
-
- if (pbuf) {
-- printk("UBI error: too many arguments at \"%s\"\n", val);
-+ printk(KERN_ERR "UBI error: too many arguments at \"%s\"\n",
-+ val);
- return -EINVAL;
- }
-
-@@ -832,13 +1196,9 @@
-
- if (tokens[1])
- p->vid_hdr_offs = bytes_str_to_int(tokens[1]);
-- if (tokens[2])
-- p->data_offs = bytes_str_to_int(tokens[2]);
-
- if (p->vid_hdr_offs < 0)
- return p->vid_hdr_offs;
-- if (p->data_offs < 0)
-- return p->data_offs;
-
- mtd_devs += 1;
- return 0;
-@@ -846,16 +1206,15 @@
-
- module_param_call(mtd, ubi_mtd_param_parse, NULL, NULL, 000);
- MODULE_PARM_DESC(mtd, "MTD devices to attach. Parameter format: "
-- "mtd=<name|num>[,<vid_hdr_offs>,<data_offs>]. "
-+ "mtd=<name|num>[,<vid_hdr_offs>].\n"
- "Multiple \"mtd\" parameters may be specified.\n"
-- "MTD devices may be specified by their number or name. "
-- "Optional \"vid_hdr_offs\" and \"data_offs\" parameters "
-- "specify UBI VID header position and data starting "
-- "position to be used by UBI.\n"
-- "Example: mtd=content,1984,2048 mtd=4 - attach MTD device"
-- "with name content using VID header offset 1984 and data "
-- "start 2048, and MTD device number 4 using default "
-- "offsets");
-+ "MTD devices may be specified by their number or name.\n"
-+ "Optional \"vid_hdr_offs\" parameter specifies UBI VID "
-+ "header position and data starting position to be used "
-+ "by UBI.\n"
-+ "Example: mtd=content,1984 mtd=4 - attach MTD device"
-+ "with name \"content\" using VID header offset 1984, and "
-+ "MTD device number 4 with default VID header offset.");
-
- MODULE_VERSION(__stringify(UBI_VERSION));
- MODULE_DESCRIPTION("UBI - Unsorted Block Images");
-diff -Nurd linux-2.6.24.orig/drivers/mtd/ubi/cdev.c linux-2.6.24/drivers/mtd/ubi/cdev.c
---- linux-2.6.24.orig/drivers/mtd/ubi/cdev.c 2009-04-17 09:45:11.000000000 +0200
-+++ linux-2.6.24/drivers/mtd/ubi/cdev.c 2009-04-17 09:49:26.000000000 +0200
-@@ -28,45 +28,22 @@
- *
- * Major and minor numbers are assigned dynamically to both UBI and volume
- * character devices.
-+ *
-+ * Well, there is the third kind of character devices - the UBI control
-+ * character device, which allows to manipulate by UBI devices - create and
-+ * delete them. In other words, it is used for attaching and detaching MTD
-+ * devices.
- */
-
- #include <linux/module.h>
- #include <linux/stat.h>
- #include <linux/ioctl.h>
- #include <linux/capability.h>
-+#include <linux/uaccess.h>
-+#include <linux/compat.h>
- #include <mtd/ubi-user.h>
--#include <asm/uaccess.h>
--#include <asm/div64.h>
- #include "ubi.h"
-
--/*
-- * Maximum sequence numbers of UBI and volume character device IOCTLs (direct
-- * logical eraseblock erase is a debug-only feature).
-- */
--#define UBI_CDEV_IOC_MAX_SEQ 2
--#ifndef CONFIG_MTD_UBI_DEBUG_USERSPACE_IO
--#define VOL_CDEV_IOC_MAX_SEQ 1
--#else
--#define VOL_CDEV_IOC_MAX_SEQ 2
--#endif
--
--/**
-- * major_to_device - get UBI device object by character device major number.
-- * @major: major number
-- *
-- * This function returns a pointer to the UBI device object.
-- */
--static struct ubi_device *major_to_device(int major)
--{
-- int i;
--
-- for (i = 0; i < ubi_devices_cnt; i++)
-- if (ubi_devices[i] && ubi_devices[i]->major == major)
-- return ubi_devices[i];
-- BUG();
-- return NULL;
--}
--
- /**
- * get_exclusive - get exclusive access to an UBI volume.
- * @desc: volume descriptor
-@@ -124,18 +101,20 @@
- static int vol_cdev_open(struct inode *inode, struct file *file)
- {
- struct ubi_volume_desc *desc;
-- const struct ubi_device *ubi = major_to_device(imajor(inode));
-- int vol_id = iminor(inode) - 1;
-- int mode;
-+ int vol_id = iminor(inode) - 1, mode, ubi_num;
-+
-+ ubi_num = ubi_major2num(imajor(inode));
-+ if (ubi_num < 0)
-+ return ubi_num;
-
- if (file->f_mode & FMODE_WRITE)
- mode = UBI_READWRITE;
- else
- mode = UBI_READONLY;
-
-- dbg_msg("open volume %d, mode %d", vol_id, mode);
-+ dbg_gen("open volume %d, mode %d", vol_id, mode);
-
-- desc = ubi_open_volume(ubi->ubi_num, vol_id, mode);
-+ desc = ubi_open_volume(ubi_num, vol_id, mode);
- if (IS_ERR(desc))
- return PTR_ERR(desc);
-
-@@ -148,13 +127,20 @@
- struct ubi_volume_desc *desc = file->private_data;
- struct ubi_volume *vol = desc->vol;
-
-- dbg_msg("release volume %d, mode %d", vol->vol_id, desc->mode);
-+ dbg_gen("release volume %d, mode %d", vol->vol_id, desc->mode);
-
- if (vol->updating) {
- ubi_warn("update of volume %d not finished, volume is damaged",
- vol->vol_id);
-+ ubi_assert(!vol->changing_leb);
- vol->updating = 0;
- vfree(vol->upd_buf);
-+ } else if (vol->changing_leb) {
-+ dbg_gen("only %lld of %lld bytes received for atomic LEB change"
-+ " for volume %d:%d, cancel", vol->upd_received,
-+ vol->upd_bytes, vol->ubi->ubi_num, vol->vol_id);
-+ vol->changing_leb = 0;
-+ vfree(vol->upd_buf);
- }
-
- ubi_close_volume(desc);
-@@ -192,7 +178,7 @@
- return -EINVAL;
- }
-
-- dbg_msg("seek volume %d, offset %lld, origin %d, new offset %lld",
-+ dbg_gen("seek volume %d, offset %lld, origin %d, new offset %lld",
- vol->vol_id, offset, origin, new_offset);
-
- file->f_pos = new_offset;
-@@ -205,13 +191,12 @@
- struct ubi_volume_desc *desc = file->private_data;
- struct ubi_volume *vol = desc->vol;
- struct ubi_device *ubi = vol->ubi;
-- int err, lnum, off, len, vol_id = desc->vol->vol_id, tbuf_size;
-+ int err, lnum, off, len, tbuf_size;
- size_t count_save = count;
- void *tbuf;
-- uint64_t tmp;
-
-- dbg_msg("read %zd bytes from offset %lld of volume %d",
-- count, *offp, vol_id);
-+ dbg_gen("read %zd bytes from offset %lld of volume %d",
-+ count, *offp, vol->vol_id);
-
- if (vol->updating) {
- dbg_err("updating");
-@@ -225,7 +210,7 @@
- return 0;
-
- if (vol->corrupted)
-- dbg_msg("read from corrupted volume %d", vol_id);
-+ dbg_gen("read from corrupted volume %d", vol->vol_id);
-
- if (*offp + count > vol->used_bytes)
- count_save = count = vol->used_bytes - *offp;
-@@ -238,10 +223,7 @@
- return -ENOMEM;
-
- len = count > tbuf_size ? tbuf_size : count;
--
-- tmp = *offp;
-- off = do_div(tmp, vol->usable_leb_size);
-- lnum = tmp;
-+ lnum = div_u64_rem(*offp, vol->usable_leb_size, &off);
-
- do {
- cond_resched();
-@@ -249,7 +231,7 @@
- if (off + len >= vol->usable_leb_size)
- len = vol->usable_leb_size - off;
-
-- err = ubi_eba_read_leb(ubi, vol_id, lnum, tbuf, off, len, 0);
-+ err = ubi_eba_read_leb(ubi, vol, lnum, tbuf, off, len, 0);
- if (err)
- break;
-
-@@ -289,22 +271,18 @@
- struct ubi_volume_desc *desc = file->private_data;
- struct ubi_volume *vol = desc->vol;
- struct ubi_device *ubi = vol->ubi;
-- int lnum, off, len, tbuf_size, vol_id = vol->vol_id, err = 0;
-+ int lnum, off, len, tbuf_size, err = 0;
- size_t count_save = count;
- char *tbuf;
-- uint64_t tmp;
-
-- dbg_msg("requested: write %zd bytes to offset %lld of volume %u",
-- count, *offp, desc->vol->vol_id);
-+ dbg_gen("requested: write %zd bytes to offset %lld of volume %u",
-+ count, *offp, vol->vol_id);
-
- if (vol->vol_type == UBI_STATIC_VOLUME)
- return -EROFS;
-
-- tmp = *offp;
-- off = do_div(tmp, vol->usable_leb_size);
-- lnum = tmp;
--
-- if (off % ubi->min_io_size) {
-+ lnum = div_u64_rem(*offp, vol->usable_leb_size, &off);
-+ if (off & (ubi->min_io_size - 1)) {
- dbg_err("unaligned position");
- return -EINVAL;
- }
-@@ -313,7 +291,7 @@
- count_save = count = vol->used_bytes - *offp;
-
- /* We can write only in fractions of the minimum I/O unit */
-- if (count % ubi->min_io_size) {
-+ if (count & (ubi->min_io_size - 1)) {
- dbg_err("unaligned write length");
- return -EINVAL;
- }
-@@ -339,7 +317,7 @@
- break;
- }
-
-- err = ubi_eba_write_leb(ubi, vol_id, lnum, tbuf, off, len,
-+ err = ubi_eba_write_leb(ubi, vol, lnum, tbuf, off, len,
- UBI_UNKNOWN);
- if (err)
- break;
-@@ -361,7 +339,7 @@
- }
-
- #else
--#define vol_cdev_direct_write(file, buf, count, offp) -EPERM
-+#define vol_cdev_direct_write(file, buf, count, offp) (-EPERM)
- #endif /* CONFIG_MTD_UBI_DEBUG_USERSPACE_IO */
-
- static ssize_t vol_cdev_write(struct file *file, const char __user *buf,
-@@ -372,22 +350,32 @@
- struct ubi_volume *vol = desc->vol;
- struct ubi_device *ubi = vol->ubi;
-
-- if (!vol->updating)
-+ if (!vol->updating && !vol->changing_leb)
- return vol_cdev_direct_write(file, buf, count, offp);
-
-- err = ubi_more_update_data(ubi, vol->vol_id, buf, count);
-+ if (vol->updating)
-+ err = ubi_more_update_data(ubi, vol, buf, count);
-+ else
-+ err = ubi_more_leb_change_data(ubi, vol, buf, count);
-+
- if (err < 0) {
-- ubi_err("cannot write %zd bytes of update data", count);
-+ ubi_err("cannot accept more %zd bytes of data, error %d",
-+ count, err);
- return err;
- }
-
- if (err) {
- /*
-- * Update is finished, @err contains number of actually written
-- * bytes now.
-+ * The operation is finished, @err contains number of actually
-+ * written bytes.
- */
- count = err;
-
-+ if (vol->changing_leb) {
-+ revoke_exclusive(desc, UBI_READWRITE);
-+ return count;
-+ }
-+
- err = ubi_check_volume(ubi, vol->vol_id);
- if (err < 0)
- return err;
-@@ -402,12 +390,11 @@
- revoke_exclusive(desc, UBI_READWRITE);
- }
-
-- *offp += count;
- return count;
- }
-
--static int vol_cdev_ioctl(struct inode *inode, struct file *file,
-- unsigned int cmd, unsigned long arg)
-+static long vol_cdev_ioctl(struct file *file, unsigned int cmd,
-+ unsigned long arg)
- {
- int err = 0;
- struct ubi_volume_desc *desc = file->private_data;
-@@ -437,7 +424,8 @@
- break;
- }
-
-- rsvd_bytes = vol->reserved_pebs * (ubi->leb_size-vol->data_pad);
-+ rsvd_bytes = (long long)vol->reserved_pebs *
-+ ubi->leb_size-vol->data_pad;
- if (bytes < 0 || bytes > rsvd_bytes) {
- err = -EINVAL;
- break;
-@@ -447,15 +435,49 @@
- if (err < 0)
- break;
-
-- err = ubi_start_update(ubi, vol->vol_id, bytes);
-+ err = ubi_start_update(ubi, vol, bytes);
- if (bytes == 0)
- revoke_exclusive(desc, UBI_READWRITE);
-+ break;
-+ }
-
-- file->f_pos = 0;
-+ /* Atomic logical eraseblock change command */
-+ case UBI_IOCEBCH:
-+ {
-+ struct ubi_leb_change_req req;
-+
-+ err = copy_from_user(&req, argp,
-+ sizeof(struct ubi_leb_change_req));
-+ if (err) {
-+ err = -EFAULT;
-+ break;
-+ }
-+
-+ if (desc->mode == UBI_READONLY ||
-+ vol->vol_type == UBI_STATIC_VOLUME) {
-+ err = -EROFS;
-+ break;
-+ }
-+
-+ /* Validate the request */
-+ err = -EINVAL;
-+ if (req.lnum < 0 || req.lnum >= vol->reserved_pebs ||
-+ req.bytes < 0 || req.lnum >= vol->usable_leb_size)
-+ break;
-+ if (req.dtype != UBI_LONGTERM && req.dtype != UBI_SHORTTERM &&
-+ req.dtype != UBI_UNKNOWN)
-+ break;
-+
-+ err = get_exclusive(desc);
-+ if (err < 0)
-+ break;
-+
-+ err = ubi_start_leb_change(ubi, vol, &req);
-+ if (req.bytes == 0)
-+ revoke_exclusive(desc, UBI_READWRITE);
- break;
- }
-
--#ifdef CONFIG_MTD_UBI_DEBUG_USERSPACE_IO
- /* Logical eraseblock erasure command */
- case UBI_IOCEBER:
- {
-@@ -467,7 +489,8 @@
- break;
- }
-
-- if (desc->mode == UBI_READONLY) {
-+ if (desc->mode == UBI_READONLY ||
-+ vol->vol_type == UBI_STATIC_VOLUME) {
- err = -EROFS;
- break;
- }
-@@ -477,26 +500,61 @@
- break;
- }
-
-- if (vol->vol_type != UBI_DYNAMIC_VOLUME) {
-- err = -EROFS;
-+ dbg_gen("erase LEB %d:%d", vol->vol_id, lnum);
-+ err = ubi_eba_unmap_leb(ubi, vol, lnum);
-+ if (err)
-+ break;
-+
-+ err = ubi_wl_flush(ubi);
-+ break;
-+ }
-+
-+ /* Logical eraseblock map command */
-+ case UBI_IOCEBMAP:
-+ {
-+ struct ubi_map_req req;
-+
-+ err = copy_from_user(&req, argp, sizeof(struct ubi_map_req));
-+ if (err) {
-+ err = -EFAULT;
- break;
- }
-+ err = ubi_leb_map(desc, req.lnum, req.dtype);
-+ break;
-+ }
-
-- dbg_msg("erase LEB %d:%d", vol->vol_id, lnum);
-- err = ubi_eba_unmap_leb(ubi, vol->vol_id, lnum);
-- if (err)
-+ /* Logical eraseblock un-map command */
-+ case UBI_IOCEBUNMAP:
-+ {
-+ int32_t lnum;
-+
-+ err = get_user(lnum, (__user int32_t *)argp);
-+ if (err) {
-+ err = -EFAULT;
- break;
-+ }
-+ err = ubi_leb_unmap(desc, lnum);
-+ break;
-+ }
-
-- err = ubi_wl_flush(ubi);
-+ /* Check if logical eraseblock is mapped command */
-+ case UBI_IOCEBISMAP:
-+ {
-+ int32_t lnum;
-+
-+ err = get_user(lnum, (__user int32_t *)argp);
-+ if (err) {
-+ err = -EFAULT;
-+ break;
-+ }
-+ err = ubi_is_mapped(desc, lnum);
- break;
- }
--#endif
-
- default:
- err = -ENOTTY;
- break;
- }
--
- return err;
- }
-
-@@ -533,7 +591,7 @@
- if (req->alignment > ubi->leb_size)
- goto bad;
-
-- n = req->alignment % ubi->min_io_size;
-+ n = req->alignment & (ubi->min_io_size - 1);
- if (req->alignment != 1 && n)
- goto bad;
-
-@@ -542,6 +600,10 @@
- goto bad;
- }
-
-+ n = strnlen(req->name, req->name_len + 1);
-+ if (n != req->name_len)
-+ goto bad;
-+
- return 0;
-
- bad:
-@@ -569,8 +631,169 @@
- return 0;
- }
-
--static int ubi_cdev_ioctl(struct inode *inode, struct file *file,
-- unsigned int cmd, unsigned long arg)
-+/**
-+ * rename_volumes - rename UBI volumes.
-+ * @ubi: UBI device description object
-+ * @req: volumes re-name request
-+ *
-+ * This is a helper function for the volume re-name IOCTL which validates the
-+ * the request, opens the volume and calls corresponding volumes management
-+ * function. Returns zero in case of success and a negative error code in case
-+ * of failure.
-+ */
-+static int rename_volumes(struct ubi_device *ubi,
-+ struct ubi_rnvol_req *req)
-+{
-+ int i, n, err;
-+ struct list_head rename_list;
-+ struct ubi_rename_entry *re, *re1;
-+
-+ if (req->count < 0 || req->count > UBI_MAX_RNVOL)
-+ return -EINVAL;
-+
-+ if (req->count == 0)
-+ return 0;
-+
-+ /* Validate volume IDs and names in the request */
-+ for (i = 0; i < req->count; i++) {
-+ if (req->ents[i].vol_id < 0 ||
-+ req->ents[i].vol_id >= ubi->vtbl_slots)
-+ return -EINVAL;
-+ if (req->ents[i].name_len < 0)
-+ return -EINVAL;
-+ if (req->ents[i].name_len > UBI_VOL_NAME_MAX)
-+ return -ENAMETOOLONG;
-+ req->ents[i].name[req->ents[i].name_len] = '\0';
-+ n = strlen(req->ents[i].name);
-+ if (n != req->ents[i].name_len)
-+ err = -EINVAL;
-+ }
-+
-+ /* Make sure volume IDs and names are unique */
-+ for (i = 0; i < req->count - 1; i++) {
-+ for (n = i + 1; n < req->count; n++) {
-+ if (req->ents[i].vol_id == req->ents[n].vol_id) {
-+ dbg_err("duplicated volume id %d",
-+ req->ents[i].vol_id);
-+ return -EINVAL;
-+ }
-+ if (!strcmp(req->ents[i].name, req->ents[n].name)) {
-+ dbg_err("duplicated volume name \"%s\"",
-+ req->ents[i].name);
-+ return -EINVAL;
-+ }
-+ }
-+ }
-+
-+ /* Create the re-name list */
-+ INIT_LIST_HEAD(&rename_list);
-+ for (i = 0; i < req->count; i++) {
-+ int vol_id = req->ents[i].vol_id;
-+ int name_len = req->ents[i].name_len;
-+ const char *name = req->ents[i].name;
-+
-+ re = kzalloc(sizeof(struct ubi_rename_entry), GFP_KERNEL);
-+ if (!re) {
-+ err = -ENOMEM;
-+ goto out_free;
-+ }
-+
-+ re->desc = ubi_open_volume(ubi->ubi_num, vol_id, UBI_EXCLUSIVE);
-+ if (IS_ERR(re->desc)) {
-+ err = PTR_ERR(re->desc);
-+ dbg_err("cannot open volume %d, error %d", vol_id, err);
-+ kfree(re);
-+ goto out_free;
-+ }
-+
-+ /* Skip this re-naming if the name does not really change */
-+ if (re->desc->vol->name_len == name_len &&
-+ !memcmp(re->desc->vol->name, name, name_len)) {
-+ ubi_close_volume(re->desc);
-+ kfree(re);
-+ continue;
-+ }
-+
-+ re->new_name_len = name_len;
-+ memcpy(re->new_name, name, name_len);
-+ list_add_tail(&re->list, &rename_list);
-+ dbg_msg("will rename volume %d from \"%s\" to \"%s\"",
-+ vol_id, re->desc->vol->name, name);
-+ }
-+
-+ if (list_empty(&rename_list))
-+ return 0;
-+
-+ /* Find out the volumes which have to be removed */
-+ list_for_each_entry(re, &rename_list, list) {
-+ struct ubi_volume_desc *desc;
-+ int no_remove_needed = 0;
-+
-+ /*
-+ * Volume @re->vol_id is going to be re-named to
-+ * @re->new_name, while its current name is @name. If a volume
-+ * with name @re->new_name currently exists, it has to be
-+ * removed, unless it is also re-named in the request (@req).
-+ */
-+ list_for_each_entry(re1, &rename_list, list) {
-+ if (re->new_name_len == re1->desc->vol->name_len &&
-+ !memcmp(re->new_name, re1->desc->vol->name,
-+ re1->desc->vol->name_len)) {
-+ no_remove_needed = 1;
-+ break;
-+ }
-+ }
-+
-+ if (no_remove_needed)
-+ continue;
-+
-+ /*
-+ * It seems we need to remove volume with name @re->new_name,
-+ * if it exists.
-+ */
-+ desc = ubi_open_volume_nm(ubi->ubi_num, re->new_name,
-+ UBI_EXCLUSIVE);
-+ if (IS_ERR(desc)) {
-+ err = PTR_ERR(desc);
-+ if (err == -ENODEV)
-+ /* Re-naming into a non-existing volume name */
-+ continue;
-+
-+ /* The volume exists but busy, or an error occurred */
-+ dbg_err("cannot open volume \"%s\", error %d",
-+ re->new_name, err);
-+ goto out_free;
-+ }
-+
-+ re = kzalloc(sizeof(struct ubi_rename_entry), GFP_KERNEL);
-+ if (!re) {
-+ err = -ENOMEM;
-+ ubi_close_volume(desc);
-+ goto out_free;
-+ }
-+
-+ re->remove = 1;
-+ re->desc = desc;
-+ list_add(&re->list, &rename_list);
-+ dbg_msg("will remove volume %d, name \"%s\"",
-+ re->desc->vol->vol_id, re->desc->vol->name);
-+ }
-+
-+ mutex_lock(&ubi->volumes_mutex);
-+ err = ubi_rename_volumes(ubi, &rename_list);
-+ mutex_unlock(&ubi->volumes_mutex);
-+
-+out_free:
-+ list_for_each_entry_safe(re, re1, &rename_list, list) {
-+ ubi_close_volume(re->desc);
-+ list_del(&re->list);
-+ kfree(re);
-+ }
-+ return err;
-+}
-+
-+static long ubi_cdev_ioctl(struct file *file, unsigned int cmd,
-+ unsigned long arg)
- {
- int err = 0;
- struct ubi_device *ubi;
-@@ -580,9 +803,9 @@
- if (!capable(CAP_SYS_RESOURCE))
- return -EPERM;
-
-- ubi = major_to_device(imajor(inode));
-- if (IS_ERR(ubi))
-- return PTR_ERR(ubi);
-+ ubi = ubi_get_by_major(imajor(file->f_mapping->host));
-+ if (!ubi)
-+ return -ENODEV;
-
- switch (cmd) {
- /* Create volume command */
-@@ -590,21 +813,21 @@
- {
- struct ubi_mkvol_req req;
-
-- dbg_msg("create volume");
-- err = copy_from_user(&req, argp,
-- sizeof(struct ubi_mkvol_req));
-+ dbg_gen("create volume");
-+ err = copy_from_user(&req, argp, sizeof(struct ubi_mkvol_req));
- if (err) {
- err = -EFAULT;
- break;
- }
-
-+ req.name[req.name_len] = '\0';
- err = verify_mkvol_req(ubi, &req);
- if (err)
- break;
-
-- req.name[req.name_len] = '\0';
--
-+ mutex_lock(&ubi->volumes_mutex);
- err = ubi_create_volume(ubi, &req);
-+ mutex_unlock(&ubi->volumes_mutex);
- if (err)
- break;
-
-@@ -620,7 +843,7 @@
- {
- int vol_id;
-
-- dbg_msg("remove volume");
-+ dbg_gen("remove volume");
- err = get_user(vol_id, (__user int32_t *)argp);
- if (err) {
- err = -EFAULT;
-@@ -633,10 +856,16 @@
- break;
- }
-
-- err = ubi_remove_volume(desc);
-- if (err)
-- ubi_close_volume(desc);
-+ mutex_lock(&ubi->volumes_mutex);
-+ err = ubi_remove_volume(desc, 0);
-+ mutex_unlock(&ubi->volumes_mutex);
-
-+ /*
-+ * The volume is deleted (unless an error occurred), and the
-+ * 'struct ubi_volume' object will be freed when
-+ * 'ubi_close_volume()' will call 'put_device()'.
-+ */
-+ ubi_close_volume(desc);
- break;
- }
-
-@@ -644,12 +873,10 @@
- case UBI_IOCRSVOL:
- {
- int pebs;
-- uint64_t tmp;
- struct ubi_rsvol_req req;
-
-- dbg_msg("re-size volume");
-- err = copy_from_user(&req, argp,
-- sizeof(struct ubi_rsvol_req));
-+ dbg_gen("re-size volume");
-+ err = copy_from_user(&req, argp, sizeof(struct ubi_rsvol_req));
- if (err) {
- err = -EFAULT;
- break;
-@@ -665,15 +892,120 @@
- break;
- }
-
-- tmp = req.bytes;
-- pebs = !!do_div(tmp, desc->vol->usable_leb_size);
-- pebs += tmp;
-+ pebs = div_u64(req.bytes + desc->vol->usable_leb_size - 1,
-+ desc->vol->usable_leb_size);
-
-+ mutex_lock(&ubi->volumes_mutex);
- err = ubi_resize_volume(desc, pebs);
-+ mutex_unlock(&ubi->volumes_mutex);
- ubi_close_volume(desc);
- break;
- }
-
-+ /* Re-name volumes command */
-+ case UBI_IOCRNVOL:
-+ {
-+ struct ubi_rnvol_req *req;
-+
-+ dbg_msg("re-name volumes");
-+ req = kmalloc(sizeof(struct ubi_rnvol_req), GFP_KERNEL);
-+ if (!req) {
-+ err = -ENOMEM;
-+ break;
-+ };
-+
-+ err = copy_from_user(req, argp, sizeof(struct ubi_rnvol_req));
-+ if (err) {
-+ err = -EFAULT;
-+ kfree(req);
-+ break;
-+ }
-+
-+ mutex_lock(&ubi->mult_mutex);
-+ err = rename_volumes(ubi, req);
-+ mutex_unlock(&ubi->mult_mutex);
-+ kfree(req);
-+ break;
-+ }
-+
-+ default:
-+ err = -ENOTTY;
-+ break;
-+ }
-+
-+ ubi_put_device(ubi);
-+ return err;
-+}
-+
-+static long ctrl_cdev_ioctl(struct file *file, unsigned int cmd,
-+ unsigned long arg)
-+{
-+ int err = 0;
-+ void __user *argp = (void __user *)arg;
-+
-+ if (!capable(CAP_SYS_RESOURCE))
-+ return -EPERM;
-+
-+ switch (cmd) {
-+ /* Attach an MTD device command */
-+ case UBI_IOCATT:
-+ {
-+ struct ubi_attach_req req;
-+ struct mtd_info *mtd;
-+
-+ dbg_gen("attach MTD device");
-+ err = copy_from_user(&req, argp, sizeof(struct ubi_attach_req));
-+ if (err) {
-+ err = -EFAULT;
-+ break;
-+ }
-+
-+ if (req.mtd_num < 0 ||
-+ (req.ubi_num < 0 && req.ubi_num != UBI_DEV_NUM_AUTO)) {
-+ err = -EINVAL;
-+ break;
-+ }
-+
-+ mtd = get_mtd_device(NULL, req.mtd_num);
-+ if (IS_ERR(mtd)) {
-+ err = PTR_ERR(mtd);
-+ break;
-+ }
-+
-+ /*
-+ * Note, further request verification is done by
-+ * 'ubi_attach_mtd_dev()'.
-+ */
-+ mutex_lock(&ubi_devices_mutex);
-+ err = ubi_attach_mtd_dev(mtd, req.ubi_num, req.vid_hdr_offset);
-+ mutex_unlock(&ubi_devices_mutex);
-+ if (err < 0)
-+ put_mtd_device(mtd);
-+ else
-+ /* @err contains UBI device number */
-+ err = put_user(err, (__user int32_t *)argp);
-+
-+ break;
-+ }
-+
-+ /* Detach an MTD device command */
-+ case UBI_IOCDET:
-+ {
-+ int ubi_num;
-+
-+ dbg_gen("dettach MTD device");
-+ err = get_user(ubi_num, (__user int32_t *)argp);
-+ if (err) {
-+ err = -EFAULT;
-+ break;
-+ }
-+
-+ mutex_lock(&ubi_devices_mutex);
-+ err = ubi_detach_mtd_dev(ubi_num, 0);
-+ mutex_unlock(&ubi_devices_mutex);
-+ break;
-+ }
-+
- default:
- err = -ENOTTY;
- break;
-@@ -682,20 +1014,59 @@
- return err;
- }
-
-+#ifdef CONFIG_COMPAT
-+static long vol_cdev_compat_ioctl(struct file *file, unsigned int cmd,
-+ unsigned long arg)
-+{
-+ unsigned long translated_arg = (unsigned long)compat_ptr(arg);
-+
-+ return vol_cdev_ioctl(file, cmd, translated_arg);
-+}
-+
-+static long ubi_cdev_compat_ioctl(struct file *file, unsigned int cmd,
-+ unsigned long arg)
-+{
-+ unsigned long translated_arg = (unsigned long)compat_ptr(arg);
-+
-+ return ubi_cdev_ioctl(file, cmd, translated_arg);
-+}
-+
-+static long ctrl_cdev_compat_ioctl(struct file *file, unsigned int cmd,
-+ unsigned long arg)
-+{
-+ unsigned long translated_arg = (unsigned long)compat_ptr(arg);
-+
-+ return ctrl_cdev_ioctl(file, cmd, translated_arg);
-+}
-+#else
-+#define vol_cdev_compat_ioctl NULL
-+#define ubi_cdev_compat_ioctl NULL
-+#define ctrl_cdev_compat_ioctl NULL
-+#endif
-+
-+/* UBI volume character device operations */
-+const struct file_operations ubi_vol_cdev_operations = {
-+ .owner = THIS_MODULE,
-+ .open = vol_cdev_open,
-+ .release = vol_cdev_release,
-+ .llseek = vol_cdev_llseek,
-+ .read = vol_cdev_read,
-+ .write = vol_cdev_write,
-+ .unlocked_ioctl = vol_cdev_ioctl,
-+ .compat_ioctl = vol_cdev_compat_ioctl,
-+};
-+
- /* UBI character device operations */
--struct file_operations ubi_cdev_operations = {
-- .owner = THIS_MODULE,
-- .ioctl = ubi_cdev_ioctl,
-- .llseek = no_llseek,
-+const struct file_operations ubi_cdev_operations = {
-+ .owner = THIS_MODULE,
-+ .llseek = no_llseek,
-+ .unlocked_ioctl = ubi_cdev_ioctl,
-+ .compat_ioctl = ubi_cdev_compat_ioctl,
- };
-
--/* UBI volume character device operations */
--struct file_operations ubi_vol_cdev_operations = {
-- .owner = THIS_MODULE,
-- .open = vol_cdev_open,
-- .release = vol_cdev_release,
-- .llseek = vol_cdev_llseek,
-- .read = vol_cdev_read,
-- .write = vol_cdev_write,
-- .ioctl = vol_cdev_ioctl,
-+/* UBI control character device operations */
-+const struct file_operations ubi_ctrl_cdev_operations = {
-+ .owner = THIS_MODULE,
-+ .unlocked_ioctl = ctrl_cdev_ioctl,
-+ .compat_ioctl = ctrl_cdev_compat_ioctl,
- };
-diff -Nurd linux-2.6.24.orig/drivers/mtd/ubi/debug.c linux-2.6.24/drivers/mtd/ubi/debug.c
---- linux-2.6.24.orig/drivers/mtd/ubi/debug.c 2009-04-17 09:45:11.000000000 +0200
-+++ linux-2.6.24/drivers/mtd/ubi/debug.c 2009-04-17 09:49:26.000000000 +0200
-@@ -24,7 +24,7 @@
- * changes.
- */
-
--#ifdef CONFIG_MTD_UBI_DEBUG_MSG
-+#ifdef CONFIG_MTD_UBI_DEBUG
-
- #include "ubi.h"
-
-@@ -34,14 +34,19 @@
- */
- void ubi_dbg_dump_ec_hdr(const struct ubi_ec_hdr *ec_hdr)
- {
-- dbg_msg("erase counter header dump:");
-- dbg_msg("magic %#08x", be32_to_cpu(ec_hdr->magic));
-- dbg_msg("version %d", (int)ec_hdr->version);
-- dbg_msg("ec %llu", (long long)be64_to_cpu(ec_hdr->ec));
-- dbg_msg("vid_hdr_offset %d", be32_to_cpu(ec_hdr->vid_hdr_offset));
-- dbg_msg("data_offset %d", be32_to_cpu(ec_hdr->data_offset));
-- dbg_msg("hdr_crc %#08x", be32_to_cpu(ec_hdr->hdr_crc));
-- dbg_msg("erase counter header hexdump:");
-+ printk(KERN_DEBUG "Erase counter header dump:\n");
-+ printk(KERN_DEBUG "\tmagic %#08x\n",
-+ be32_to_cpu(ec_hdr->magic));
-+ printk(KERN_DEBUG "\tversion %d\n", (int)ec_hdr->version);
-+ printk(KERN_DEBUG "\tec %llu\n",
-+ (long long)be64_to_cpu(ec_hdr->ec));
-+ printk(KERN_DEBUG "\tvid_hdr_offset %d\n",
-+ be32_to_cpu(ec_hdr->vid_hdr_offset));
-+ printk(KERN_DEBUG "\tdata_offset %d\n",
-+ be32_to_cpu(ec_hdr->data_offset));
-+ printk(KERN_DEBUG "\thdr_crc %#08x\n",
-+ be32_to_cpu(ec_hdr->hdr_crc));
-+ printk(KERN_DEBUG "erase counter header hexdump:\n");
- print_hex_dump(KERN_DEBUG, "", DUMP_PREFIX_OFFSET, 32, 1,
- ec_hdr, UBI_EC_HDR_SIZE, 1);
- }
-@@ -52,22 +57,23 @@
- */
- void ubi_dbg_dump_vid_hdr(const struct ubi_vid_hdr *vid_hdr)
- {
-- dbg_msg("volume identifier header dump:");
-- dbg_msg("magic %08x", be32_to_cpu(vid_hdr->magic));
-- dbg_msg("version %d", (int)vid_hdr->version);
-- dbg_msg("vol_type %d", (int)vid_hdr->vol_type);
-- dbg_msg("copy_flag %d", (int)vid_hdr->copy_flag);
-- dbg_msg("compat %d", (int)vid_hdr->compat);
-- dbg_msg("vol_id %d", be32_to_cpu(vid_hdr->vol_id));
-- dbg_msg("lnum %d", be32_to_cpu(vid_hdr->lnum));
-- dbg_msg("leb_ver %u", be32_to_cpu(vid_hdr->leb_ver));
-- dbg_msg("data_size %d", be32_to_cpu(vid_hdr->data_size));
-- dbg_msg("used_ebs %d", be32_to_cpu(vid_hdr->used_ebs));
-- dbg_msg("data_pad %d", be32_to_cpu(vid_hdr->data_pad));
-- dbg_msg("sqnum %llu",
-+ printk(KERN_DEBUG "Volume identifier header dump:\n");
-+ printk(KERN_DEBUG "\tmagic %08x\n", be32_to_cpu(vid_hdr->magic));
-+ printk(KERN_DEBUG "\tversion %d\n", (int)vid_hdr->version);
-+ printk(KERN_DEBUG "\tvol_type %d\n", (int)vid_hdr->vol_type);
-+ printk(KERN_DEBUG "\tcopy_flag %d\n", (int)vid_hdr->copy_flag);
-+ printk(KERN_DEBUG "\tcompat %d\n", (int)vid_hdr->compat);
-+ printk(KERN_DEBUG "\tvol_id %d\n", be32_to_cpu(vid_hdr->vol_id));
-+ printk(KERN_DEBUG "\tlnum %d\n", be32_to_cpu(vid_hdr->lnum));
-+ printk(KERN_DEBUG "\tdata_size %d\n", be32_to_cpu(vid_hdr->data_size));
-+ printk(KERN_DEBUG "\tused_ebs %d\n", be32_to_cpu(vid_hdr->used_ebs));
-+ printk(KERN_DEBUG "\tdata_pad %d\n", be32_to_cpu(vid_hdr->data_pad));
-+ printk(KERN_DEBUG "\tsqnum %llu\n",
- (unsigned long long)be64_to_cpu(vid_hdr->sqnum));
-- dbg_msg("hdr_crc %08x", be32_to_cpu(vid_hdr->hdr_crc));
-- dbg_msg("volume identifier header hexdump:");
-+ printk(KERN_DEBUG "\thdr_crc %08x\n", be32_to_cpu(vid_hdr->hdr_crc));
-+ printk(KERN_DEBUG "Volume identifier header hexdump:\n");
-+ print_hex_dump(KERN_DEBUG, "", DUMP_PREFIX_OFFSET, 32, 1,
-+ vid_hdr, UBI_VID_HDR_SIZE, 1);
- }
-
- /**
-@@ -76,27 +82,27 @@
- */
- void ubi_dbg_dump_vol_info(const struct ubi_volume *vol)
- {
-- dbg_msg("volume information dump:");
-- dbg_msg("vol_id %d", vol->vol_id);
-- dbg_msg("reserved_pebs %d", vol->reserved_pebs);
-- dbg_msg("alignment %d", vol->alignment);
-- dbg_msg("data_pad %d", vol->data_pad);
-- dbg_msg("vol_type %d", vol->vol_type);
-- dbg_msg("name_len %d", vol->name_len);
-- dbg_msg("usable_leb_size %d", vol->usable_leb_size);
-- dbg_msg("used_ebs %d", vol->used_ebs);
-- dbg_msg("used_bytes %lld", vol->used_bytes);
-- dbg_msg("last_eb_bytes %d", vol->last_eb_bytes);
-- dbg_msg("corrupted %d", vol->corrupted);
-- dbg_msg("upd_marker %d", vol->upd_marker);
-+ printk(KERN_DEBUG "Volume information dump:\n");
-+ printk(KERN_DEBUG "\tvol_id %d\n", vol->vol_id);
-+ printk(KERN_DEBUG "\treserved_pebs %d\n", vol->reserved_pebs);
-+ printk(KERN_DEBUG "\talignment %d\n", vol->alignment);
-+ printk(KERN_DEBUG "\tdata_pad %d\n", vol->data_pad);
-+ printk(KERN_DEBUG "\tvol_type %d\n", vol->vol_type);
-+ printk(KERN_DEBUG "\tname_len %d\n", vol->name_len);
-+ printk(KERN_DEBUG "\tusable_leb_size %d\n", vol->usable_leb_size);
-+ printk(KERN_DEBUG "\tused_ebs %d\n", vol->used_ebs);
-+ printk(KERN_DEBUG "\tused_bytes %lld\n", vol->used_bytes);
-+ printk(KERN_DEBUG "\tlast_eb_bytes %d\n", vol->last_eb_bytes);
-+ printk(KERN_DEBUG "\tcorrupted %d\n", vol->corrupted);
-+ printk(KERN_DEBUG "\tupd_marker %d\n", vol->upd_marker);
-
- if (vol->name_len <= UBI_VOL_NAME_MAX &&
- strnlen(vol->name, vol->name_len + 1) == vol->name_len) {
-- dbg_msg("name %s", vol->name);
-+ printk(KERN_DEBUG "\tname %s\n", vol->name);
- } else {
-- dbg_msg("the 1st 5 characters of the name: %c%c%c%c%c",
-- vol->name[0], vol->name[1], vol->name[2],
-- vol->name[3], vol->name[4]);
-+ printk(KERN_DEBUG "\t1st 5 characters of name: %c%c%c%c%c\n",
-+ vol->name[0], vol->name[1], vol->name[2],
-+ vol->name[3], vol->name[4]);
- }
- }
-
-@@ -109,28 +115,29 @@
- {
- int name_len = be16_to_cpu(r->name_len);
-
-- dbg_msg("volume table record %d dump:", idx);
-- dbg_msg("reserved_pebs %d", be32_to_cpu(r->reserved_pebs));
-- dbg_msg("alignment %d", be32_to_cpu(r->alignment));
-- dbg_msg("data_pad %d", be32_to_cpu(r->data_pad));
-- dbg_msg("vol_type %d", (int)r->vol_type);
-- dbg_msg("upd_marker %d", (int)r->upd_marker);
-- dbg_msg("name_len %d", name_len);
-+ printk(KERN_DEBUG "Volume table record %d dump:\n", idx);
-+ printk(KERN_DEBUG "\treserved_pebs %d\n",
-+ be32_to_cpu(r->reserved_pebs));
-+ printk(KERN_DEBUG "\talignment %d\n", be32_to_cpu(r->alignment));
-+ printk(KERN_DEBUG "\tdata_pad %d\n", be32_to_cpu(r->data_pad));
-+ printk(KERN_DEBUG "\tvol_type %d\n", (int)r->vol_type);
-+ printk(KERN_DEBUG "\tupd_marker %d\n", (int)r->upd_marker);
-+ printk(KERN_DEBUG "\tname_len %d\n", name_len);
-
- if (r->name[0] == '\0') {
-- dbg_msg("name NULL");
-+ printk(KERN_DEBUG "\tname NULL\n");
- return;
- }
-
- if (name_len <= UBI_VOL_NAME_MAX &&
- strnlen(&r->name[0], name_len + 1) == name_len) {
-- dbg_msg("name %s", &r->name[0]);
-+ printk(KERN_DEBUG "\tname %s\n", &r->name[0]);
- } else {
-- dbg_msg("1st 5 characters of the name: %c%c%c%c%c",
-+ printk(KERN_DEBUG "\t1st 5 characters of name: %c%c%c%c%c\n",
- r->name[0], r->name[1], r->name[2], r->name[3],
- r->name[4]);
- }
-- dbg_msg("crc %#08x", be32_to_cpu(r->crc));
-+ printk(KERN_DEBUG "\tcrc %#08x\n", be32_to_cpu(r->crc));
- }
-
- /**
-@@ -139,15 +146,15 @@
- */
- void ubi_dbg_dump_sv(const struct ubi_scan_volume *sv)
- {
-- dbg_msg("volume scanning information dump:");
-- dbg_msg("vol_id %d", sv->vol_id);
-- dbg_msg("highest_lnum %d", sv->highest_lnum);
-- dbg_msg("leb_count %d", sv->leb_count);
-- dbg_msg("compat %d", sv->compat);
-- dbg_msg("vol_type %d", sv->vol_type);
-- dbg_msg("used_ebs %d", sv->used_ebs);
-- dbg_msg("last_data_size %d", sv->last_data_size);
-- dbg_msg("data_pad %d", sv->data_pad);
-+ printk(KERN_DEBUG "Volume scanning information dump:\n");
-+ printk(KERN_DEBUG "\tvol_id %d\n", sv->vol_id);
-+ printk(KERN_DEBUG "\thighest_lnum %d\n", sv->highest_lnum);
-+ printk(KERN_DEBUG "\tleb_count %d\n", sv->leb_count);
-+ printk(KERN_DEBUG "\tcompat %d\n", sv->compat);
-+ printk(KERN_DEBUG "\tvol_type %d\n", sv->vol_type);
-+ printk(KERN_DEBUG "\tused_ebs %d\n", sv->used_ebs);
-+ printk(KERN_DEBUG "\tlast_data_size %d\n", sv->last_data_size);
-+ printk(KERN_DEBUG "\tdata_pad %d\n", sv->data_pad);
- }
-
- /**
-@@ -157,14 +164,13 @@
- */
- void ubi_dbg_dump_seb(const struct ubi_scan_leb *seb, int type)
- {
-- dbg_msg("eraseblock scanning information dump:");
-- dbg_msg("ec %d", seb->ec);
-- dbg_msg("pnum %d", seb->pnum);
-+ printk(KERN_DEBUG "eraseblock scanning information dump:\n");
-+ printk(KERN_DEBUG "\tec %d\n", seb->ec);
-+ printk(KERN_DEBUG "\tpnum %d\n", seb->pnum);
- if (type == 0) {
-- dbg_msg("lnum %d", seb->lnum);
-- dbg_msg("scrub %d", seb->scrub);
-- dbg_msg("sqnum %llu", seb->sqnum);
-- dbg_msg("leb_ver %u", seb->leb_ver);
-+ printk(KERN_DEBUG "\tlnum %d\n", seb->lnum);
-+ printk(KERN_DEBUG "\tscrub %d\n", seb->scrub);
-+ printk(KERN_DEBUG "\tsqnum %llu\n", seb->sqnum);
- }
- }
-
-@@ -176,16 +182,16 @@
- {
- char nm[17];
-
-- dbg_msg("volume creation request dump:");
-- dbg_msg("vol_id %d", req->vol_id);
-- dbg_msg("alignment %d", req->alignment);
-- dbg_msg("bytes %lld", (long long)req->bytes);
-- dbg_msg("vol_type %d", req->vol_type);
-- dbg_msg("name_len %d", req->name_len);
-+ printk(KERN_DEBUG "Volume creation request dump:\n");
-+ printk(KERN_DEBUG "\tvol_id %d\n", req->vol_id);
-+ printk(KERN_DEBUG "\talignment %d\n", req->alignment);
-+ printk(KERN_DEBUG "\tbytes %lld\n", (long long)req->bytes);
-+ printk(KERN_DEBUG "\tvol_type %d\n", req->vol_type);
-+ printk(KERN_DEBUG "\tname_len %d\n", req->name_len);
-
- memcpy(nm, req->name, 16);
- nm[16] = 0;
-- dbg_msg("the 1st 16 characters of the name: %s", nm);
-+ printk(KERN_DEBUG "\t1st 16 characters of name: %s\n", nm);
- }
-
--#endif /* CONFIG_MTD_UBI_DEBUG_MSG */
-+#endif /* CONFIG_MTD_UBI_DEBUG */
-diff -Nurd linux-2.6.24.orig/drivers/mtd/ubi/debug.h linux-2.6.24/drivers/mtd/ubi/debug.h
---- linux-2.6.24.orig/drivers/mtd/ubi/debug.h 2009-04-17 09:45:11.000000000 +0200
-+++ linux-2.6.24/drivers/mtd/ubi/debug.h 2009-04-17 09:49:26.000000000 +0200
-@@ -24,23 +24,19 @@
- #ifdef CONFIG_MTD_UBI_DEBUG
- #include <linux/random.h>
-
--#define ubi_assert(expr) BUG_ON(!(expr))
- #define dbg_err(fmt, ...) ubi_err(fmt, ##__VA_ARGS__)
--#else
--#define ubi_assert(expr) ({})
--#define dbg_err(fmt, ...) ({})
--#endif
-
--#ifdef CONFIG_MTD_UBI_DEBUG_DISABLE_BGT
--#define DBG_DISABLE_BGT 1
--#else
--#define DBG_DISABLE_BGT 0
--#endif
-+#define ubi_assert(expr) do { \
-+ if (unlikely(!(expr))) { \
-+ printk(KERN_CRIT "UBI assert failed in %s at %u (pid %d)\n", \
-+ __func__, __LINE__, current->pid); \
-+ ubi_dbg_dump_stack(); \
-+ } \
-+} while (0)
-
--#ifdef CONFIG_MTD_UBI_DEBUG_MSG
--/* Generic debugging message */
--#define dbg_msg(fmt, ...) \
-- printk(KERN_DEBUG "UBI DBG: %s: " fmt "\n", __FUNCTION__, ##__VA_ARGS__)
-+#define dbg_msg(fmt, ...) \
-+ printk(KERN_DEBUG "UBI DBG (pid %d): %s: " fmt "\n", \
-+ current->pid, __FUNCTION__, ##__VA_ARGS__)
-
- #define ubi_dbg_dump_stack() dump_stack()
-
-@@ -60,54 +56,47 @@
- void ubi_dbg_dump_seb(const struct ubi_scan_leb *seb, int type);
- void ubi_dbg_dump_mkvol_req(const struct ubi_mkvol_req *req);
-
-+#ifdef CONFIG_MTD_UBI_DEBUG_MSG
-+/* General debugging messages */
-+#define dbg_gen(fmt, ...) dbg_msg(fmt, ##__VA_ARGS__)
- #else
--
--#define dbg_msg(fmt, ...) ({})
--#define ubi_dbg_dump_stack() ({})
--#define ubi_dbg_dump_ec_hdr(ec_hdr) ({})
--#define ubi_dbg_dump_vid_hdr(vid_hdr) ({})
--#define ubi_dbg_dump_vol_info(vol) ({})
--#define ubi_dbg_dump_vtbl_record(r, idx) ({})
--#define ubi_dbg_dump_sv(sv) ({})
--#define ubi_dbg_dump_seb(seb, type) ({})
--#define ubi_dbg_dump_mkvol_req(req) ({})
--
--#endif /* CONFIG_MTD_UBI_DEBUG_MSG */
-+#define dbg_gen(fmt, ...) ({})
-+#endif
-
- #ifdef CONFIG_MTD_UBI_DEBUG_MSG_EBA
--/* Messages from the eraseblock association unit */
--#define dbg_eba(fmt, ...) \
-- printk(KERN_DEBUG "UBI DBG eba: %s: " fmt "\n", __FUNCTION__, \
-- ##__VA_ARGS__)
-+/* Messages from the eraseblock association sub-system */
-+#define dbg_eba(fmt, ...) dbg_msg(fmt, ##__VA_ARGS__)
- #else
- #define dbg_eba(fmt, ...) ({})
- #endif
-
- #ifdef CONFIG_MTD_UBI_DEBUG_MSG_WL
--/* Messages from the wear-leveling unit */
--#define dbg_wl(fmt, ...) \
-- printk(KERN_DEBUG "UBI DBG wl: %s: " fmt "\n", __FUNCTION__, \
-- ##__VA_ARGS__)
-+/* Messages from the wear-leveling sub-system */
-+#define dbg_wl(fmt, ...) dbg_msg(fmt, ##__VA_ARGS__)
- #else
- #define dbg_wl(fmt, ...) ({})
- #endif
-
- #ifdef CONFIG_MTD_UBI_DEBUG_MSG_IO
--/* Messages from the input/output unit */
--#define dbg_io(fmt, ...) \
-- printk(KERN_DEBUG "UBI DBG io: %s: " fmt "\n", __FUNCTION__, \
-- ##__VA_ARGS__)
-+/* Messages from the input/output sub-system */
-+#define dbg_io(fmt, ...) dbg_msg(fmt, ##__VA_ARGS__)
- #else
- #define dbg_io(fmt, ...) ({})
- #endif
-
- #ifdef CONFIG_MTD_UBI_DEBUG_MSG_BLD
- /* Initialization and build messages */
--#define dbg_bld(fmt, ...) \
-- printk(KERN_DEBUG "UBI DBG bld: %s: " fmt "\n", __FUNCTION__, \
-- ##__VA_ARGS__)
-+#define dbg_bld(fmt, ...) dbg_msg(fmt, ##__VA_ARGS__)
-+#define UBI_IO_DEBUG 1
- #else
- #define dbg_bld(fmt, ...) ({})
-+#define UBI_IO_DEBUG 0
-+#endif
-+
-+#ifdef CONFIG_MTD_UBI_DEBUG_DISABLE_BGT
-+#define DBG_DISABLE_BGT 1
-+#else
-+#define DBG_DISABLE_BGT 0
- #endif
-
- #ifdef CONFIG_MTD_UBI_DEBUG_EMULATE_BITFLIPS
-@@ -154,4 +143,50 @@
- #define ubi_dbg_is_erase_failure() 0
- #endif
-
-+#else
-+
-+#define ubi_assert(expr) ({})
-+#define dbg_err(fmt, ...) ({})
-+#define dbg_msg(fmt, ...) ({})
-+#define dbg_gen(fmt, ...) ({})
-+#define dbg_eba(fmt, ...) ({})
-+#define dbg_wl(fmt, ...) ({})
-+#define dbg_io(fmt, ...) ({})
-+#define dbg_bld(fmt, ...) ({})
-+#define ubi_dbg_dump_stack() ({})
-+#define ubi_dbg_dump_ec_hdr(ec_hdr) ({})
-+#define ubi_dbg_dump_vid_hdr(vid_hdr) ({})
-+#define ubi_dbg_dump_vol_info(vol) ({})
-+#define ubi_dbg_dump_vtbl_record(r, idx) ({})
-+#define ubi_dbg_dump_sv(sv) ({})
-+#define ubi_dbg_dump_seb(seb, type) ({})
-+#define ubi_dbg_dump_mkvol_req(req) ({})
-+
-+#define UBI_IO_DEBUG 0
-+#define DBG_DISABLE_BGT 0
-+#define ubi_dbg_is_bitflip() 0
-+#define ubi_dbg_is_write_failure() 0
-+#define ubi_dbg_is_erase_failure() 0
-+
-+#endif /* !CONFIG_MTD_UBI_DEBUG */
-+
-+/*
-+ * Some compatibility stuff goes here.
-+ */
-+
-+#include <asm/div64.h>
-+
-+static inline uint64_t div_u64(uint64_t dividend, uint64_t divisor)
-+{
-+ do_div(dividend, divisor);
-+ return dividend;
-+}
-+
-+static inline uint64_t div_u64_rem(uint64_t dividend, uint32_t divisor,
-+ uint32_t *remainder)
-+{
-+ *remainder = do_div(dividend, divisor);
-+ return dividend;
-+}
-+
- #endif /* !__UBI_DEBUG_H__ */
-diff -Nurd linux-2.6.24.orig/drivers/mtd/ubi/eba.c linux-2.6.24/drivers/mtd/ubi/eba.c
---- linux-2.6.24.orig/drivers/mtd/ubi/eba.c 2009-04-17 09:45:11.000000000 +0200
-+++ linux-2.6.24/drivers/mtd/ubi/eba.c 2009-04-17 09:49:26.000000000 +0200
-@@ -19,20 +19,20 @@
- */
-
- /*
-- * The UBI Eraseblock Association (EBA) unit.
-+ * The UBI Eraseblock Association (EBA) sub-system.
- *
-- * This unit is responsible for I/O to/from logical eraseblock.
-+ * This sub-system is responsible for I/O to/from logical eraseblock.
- *
- * Although in this implementation the EBA table is fully kept and managed in
- * RAM, which assumes poor scalability, it might be (partially) maintained on
- * flash in future implementations.
- *
-- * The EBA unit implements per-logical eraseblock locking. Before accessing a
-- * logical eraseblock it is locked for reading or writing. The per-logical
-- * eraseblock locking is implemented by means of the lock tree. The lock tree
-- * is an RB-tree which refers all the currently locked logical eraseblocks. The
-- * lock tree elements are &struct ltree_entry objects. They are indexed by
-- * (@vol_id, @lnum) pairs.
-+ * The EBA sub-system implements per-logical eraseblock locking. Before
-+ * accessing a logical eraseblock it is locked for reading or writing. The
-+ * per-logical eraseblock locking is implemented by means of the lock tree. The
-+ * lock tree is an RB-tree which refers all the currently locked logical
-+ * eraseblocks. The lock tree elements are &struct ubi_ltree_entry objects.
-+ * They are indexed by (@vol_id, @lnum) pairs.
- *
- * EBA also maintains the global sequence counter which is incremented each
- * time a logical eraseblock is mapped to a physical eraseblock and it is
-@@ -50,29 +50,6 @@
- #define EBA_RESERVED_PEBS 1
-
- /**
-- * struct ltree_entry - an entry in the lock tree.
-- * @rb: links RB-tree nodes
-- * @vol_id: volume ID of the locked logical eraseblock
-- * @lnum: locked logical eraseblock number
-- * @users: how many tasks are using this logical eraseblock or wait for it
-- * @mutex: read/write mutex to implement read/write access serialization to
-- * the (@vol_id, @lnum) logical eraseblock
-- *
-- * When a logical eraseblock is being locked - corresponding &struct ltree_entry
-- * object is inserted to the lock tree (@ubi->ltree).
-- */
--struct ltree_entry {
-- struct rb_node rb;
-- int vol_id;
-- int lnum;
-- int users;
-- struct rw_semaphore mutex;
--};
--
--/* Slab cache for lock-tree entries */
--static struct kmem_cache *ltree_slab;
--
--/**
- * next_sqnum - get next sequence number.
- * @ubi: UBI device description object
- *
-@@ -101,7 +78,7 @@
- */
- static int ubi_get_compat(const struct ubi_device *ubi, int vol_id)
- {
-- if (vol_id == UBI_LAYOUT_VOL_ID)
-+ if (vol_id == UBI_LAYOUT_VOLUME_ID)
- return UBI_LAYOUT_VOLUME_COMPAT;
- return 0;
- }
-@@ -112,20 +89,20 @@
- * @vol_id: volume ID
- * @lnum: logical eraseblock number
- *
-- * This function returns a pointer to the corresponding &struct ltree_entry
-+ * This function returns a pointer to the corresponding &struct ubi_ltree_entry
- * object if the logical eraseblock is locked and %NULL if it is not.
- * @ubi->ltree_lock has to be locked.
- */
--static struct ltree_entry *ltree_lookup(struct ubi_device *ubi, int vol_id,
-- int lnum)
-+static struct ubi_ltree_entry *ltree_lookup(struct ubi_device *ubi, int vol_id,
-+ int lnum)
- {
- struct rb_node *p;
-
- p = ubi->ltree.rb_node;
- while (p) {
-- struct ltree_entry *le;
-+ struct ubi_ltree_entry *le;
-
-- le = rb_entry(p, struct ltree_entry, rb);
-+ le = rb_entry(p, struct ubi_ltree_entry, rb);
-
- if (vol_id < le->vol_id)
- p = p->rb_left;
-@@ -155,15 +132,17 @@
- * Returns pointer to the lock tree entry or %-ENOMEM if memory allocation
- * failed.
- */
--static struct ltree_entry *ltree_add_entry(struct ubi_device *ubi, int vol_id,
-- int lnum)
-+static struct ubi_ltree_entry *ltree_add_entry(struct ubi_device *ubi,
-+ int vol_id, int lnum)
- {
-- struct ltree_entry *le, *le1, *le_free;
-+ struct ubi_ltree_entry *le, *le1, *le_free;
-
-- le = kmem_cache_alloc(ltree_slab, GFP_NOFS);
-+ le = kmalloc(sizeof(struct ubi_ltree_entry), GFP_NOFS);
- if (!le)
- return ERR_PTR(-ENOMEM);
-
-+ le->users = 0;
-+ init_rwsem(&le->mutex);
- le->vol_id = vol_id;
- le->lnum = lnum;
-
-@@ -189,7 +168,7 @@
- p = &ubi->ltree.rb_node;
- while (*p) {
- parent = *p;
-- le1 = rb_entry(parent, struct ltree_entry, rb);
-+ le1 = rb_entry(parent, struct ubi_ltree_entry, rb);
-
- if (vol_id < le1->vol_id)
- p = &(*p)->rb_left;
-@@ -210,9 +189,7 @@
- le->users += 1;
- spin_unlock(&ubi->ltree_lock);
-
-- if (le_free)
-- kmem_cache_free(ltree_slab, le_free);
--
-+ kfree(le_free);
- return le;
- }
-
-@@ -227,7 +204,7 @@
- */
- static int leb_read_lock(struct ubi_device *ubi, int vol_id, int lnum)
- {
-- struct ltree_entry *le;
-+ struct ubi_ltree_entry *le;
-
- le = ltree_add_entry(ubi, vol_id, lnum);
- if (IS_ERR(le))
-@@ -244,22 +221,18 @@
- */
- static void leb_read_unlock(struct ubi_device *ubi, int vol_id, int lnum)
- {
-- int free = 0;
-- struct ltree_entry *le;
-+ struct ubi_ltree_entry *le;
-
- spin_lock(&ubi->ltree_lock);
- le = ltree_lookup(ubi, vol_id, lnum);
- le->users -= 1;
- ubi_assert(le->users >= 0);
-+ up_read(&le->mutex);
- if (le->users == 0) {
- rb_erase(&le->rb, &ubi->ltree);
-- free = 1;
-+ kfree(le);
- }
- spin_unlock(&ubi->ltree_lock);
--
-- up_read(&le->mutex);
-- if (free)
-- kmem_cache_free(ltree_slab, le);
- }
-
- /**
-@@ -273,7 +246,7 @@
- */
- static int leb_write_lock(struct ubi_device *ubi, int vol_id, int lnum)
- {
-- struct ltree_entry *le;
-+ struct ubi_ltree_entry *le;
-
- le = ltree_add_entry(ubi, vol_id, lnum);
- if (IS_ERR(le))
-@@ -283,6 +256,40 @@
- }
-
- /**
-+ * leb_write_lock - lock logical eraseblock for writing.
-+ * @ubi: UBI device description object
-+ * @vol_id: volume ID
-+ * @lnum: logical eraseblock number
-+ *
-+ * This function locks a logical eraseblock for writing if there is no
-+ * contention and does nothing if there is contention. Returns %0 in case of
-+ * success, %1 in case of contention, and and a negative error code in case of
-+ * failure.
-+ */
-+static int leb_write_trylock(struct ubi_device *ubi, int vol_id, int lnum)
-+{
-+ struct ubi_ltree_entry *le;
-+
-+ le = ltree_add_entry(ubi, vol_id, lnum);
-+ if (IS_ERR(le))
-+ return PTR_ERR(le);
-+ if (down_write_trylock(&le->mutex))
-+ return 0;
-+
-+ /* Contention, cancel */
-+ spin_lock(&ubi->ltree_lock);
-+ le->users -= 1;
-+ ubi_assert(le->users >= 0);
-+ if (le->users == 0) {
-+ rb_erase(&le->rb, &ubi->ltree);
-+ kfree(le);
-+ }
-+ spin_unlock(&ubi->ltree_lock);
-+
-+ return 1;
-+}
-+
-+/**
- * leb_write_unlock - unlock logical eraseblock.
- * @ubi: UBI device description object
- * @vol_id: volume ID
-@@ -290,39 +297,34 @@
- */
- static void leb_write_unlock(struct ubi_device *ubi, int vol_id, int lnum)
- {
-- int free;
-- struct ltree_entry *le;
-+ struct ubi_ltree_entry *le;
-
- spin_lock(&ubi->ltree_lock);
- le = ltree_lookup(ubi, vol_id, lnum);
- le->users -= 1;
- ubi_assert(le->users >= 0);
-+ up_write(&le->mutex);
- if (le->users == 0) {
- rb_erase(&le->rb, &ubi->ltree);
-- free = 1;
-- } else
-- free = 0;
-+ kfree(le);
-+ }
- spin_unlock(&ubi->ltree_lock);
--
-- up_write(&le->mutex);
-- if (free)
-- kmem_cache_free(ltree_slab, le);
- }
-
- /**
- * ubi_eba_unmap_leb - un-map logical eraseblock.
- * @ubi: UBI device description object
-- * @vol_id: volume ID
-+ * @vol: volume description object
- * @lnum: logical eraseblock number
- *
- * This function un-maps logical eraseblock @lnum and schedules corresponding
- * physical eraseblock for erasure. Returns zero in case of success and a
- * negative error code in case of failure.
- */
--int ubi_eba_unmap_leb(struct ubi_device *ubi, int vol_id, int lnum)
-+int ubi_eba_unmap_leb(struct ubi_device *ubi, struct ubi_volume *vol,
-+ int lnum)
- {
-- int idx = vol_id2idx(ubi, vol_id), err, pnum;
-- struct ubi_volume *vol = ubi->volumes[idx];
-+ int err, pnum, vol_id = vol->vol_id;
-
- if (ubi->ro_mode)
- return -EROFS;
-@@ -349,7 +351,7 @@
- /**
- * ubi_eba_read_leb - read data.
- * @ubi: UBI device description object
-- * @vol_id: volume ID
-+ * @vol: volume description object
- * @lnum: logical eraseblock number
- * @buf: buffer to store the read data
- * @offset: offset from where to read
-@@ -365,12 +367,11 @@
- * returned for any volume type if an ECC error was detected by the MTD device
- * driver. Other negative error cored may be returned in case of other errors.
- */
--int ubi_eba_read_leb(struct ubi_device *ubi, int vol_id, int lnum, void *buf,
-- int offset, int len, int check)
-+int ubi_eba_read_leb(struct ubi_device *ubi, struct ubi_volume *vol, int lnum,
-+ void *buf, int offset, int len, int check)
- {
-- int err, pnum, scrub = 0, idx = vol_id2idx(ubi, vol_id);
-+ int err, pnum, scrub = 0, vol_id = vol->vol_id;
- struct ubi_vid_hdr *vid_hdr;
-- struct ubi_volume *vol = ubi->volumes[idx];
- uint32_t uninitialized_var(crc);
-
- err = leb_read_lock(ubi, vol_id, lnum);
-@@ -500,16 +501,12 @@
- struct ubi_vid_hdr *vid_hdr;
-
- vid_hdr = ubi_zalloc_vid_hdr(ubi, GFP_NOFS);
-- if (!vid_hdr) {
-+ if (!vid_hdr)
- return -ENOMEM;
-- }
--
-- mutex_lock(&ubi->buf_mutex);
-
- retry:
- new_pnum = ubi_wl_get_peb(ubi, UBI_UNKNOWN);
- if (new_pnum < 0) {
-- mutex_unlock(&ubi->buf_mutex);
- ubi_free_vid_hdr(ubi, vid_hdr);
- return new_pnum;
- }
-@@ -529,20 +526,23 @@
- goto write_error;
-
- data_size = offset + len;
-+ mutex_lock(&ubi->buf_mutex);
- memset(ubi->peb_buf1 + offset, 0xFF, len);
-
- /* Read everything before the area where the write failure happened */
- if (offset > 0) {
- err = ubi_io_read_data(ubi, ubi->peb_buf1, pnum, 0, offset);
- if (err && err != UBI_IO_BITFLIPS)
-- goto out_put;
-+ goto out_unlock;
- }
-
- memcpy(ubi->peb_buf1 + offset, buf, len);
-
- err = ubi_io_write_data(ubi, ubi->peb_buf1, new_pnum, 0, data_size);
-- if (err)
-+ if (err) {
-+ mutex_unlock(&ubi->buf_mutex);
- goto write_error;
-+ }
-
- mutex_unlock(&ubi->buf_mutex);
- ubi_free_vid_hdr(ubi, vid_hdr);
-@@ -553,8 +553,9 @@
- ubi_msg("data was successfully recovered");
- return 0;
-
--out_put:
-+out_unlock:
- mutex_unlock(&ubi->buf_mutex);
-+out_put:
- ubi_wl_put_peb(ubi, new_pnum, 1);
- ubi_free_vid_hdr(ubi, vid_hdr);
- return err;
-@@ -567,7 +568,6 @@
- ubi_warn("failed to write to PEB %d", new_pnum);
- ubi_wl_put_peb(ubi, new_pnum, 1);
- if (++tries > UBI_IO_RETRIES) {
-- mutex_unlock(&ubi->buf_mutex);
- ubi_free_vid_hdr(ubi, vid_hdr);
- return err;
- }
-@@ -578,7 +578,7 @@
- /**
- * ubi_eba_write_leb - write data to dynamic volume.
- * @ubi: UBI device description object
-- * @vol_id: volume ID
-+ * @vol: volume description object
- * @lnum: logical eraseblock number
- * @buf: the data to write
- * @offset: offset within the logical eraseblock where to write
-@@ -586,15 +586,14 @@
- * @dtype: data type
- *
- * This function writes data to logical eraseblock @lnum of a dynamic volume
-- * @vol_id. Returns zero in case of success and a negative error code in case
-+ * @vol. Returns zero in case of success and a negative error code in case
- * of failure. In case of error, it is possible that something was still
- * written to the flash media, but may be some garbage.
- */
--int ubi_eba_write_leb(struct ubi_device *ubi, int vol_id, int lnum,
-+int ubi_eba_write_leb(struct ubi_device *ubi, struct ubi_volume *vol, int lnum,
- const void *buf, int offset, int len, int dtype)
- {
-- int idx = vol_id2idx(ubi, vol_id), err, pnum, tries = 0;
-- struct ubi_volume *vol = ubi->volumes[idx];
-+ int err, pnum, tries = 0, vol_id = vol->vol_id;
- struct ubi_vid_hdr *vid_hdr;
-
- if (ubi->ro_mode)
-@@ -613,7 +612,8 @@
- if (err) {
- ubi_warn("failed to write data to PEB %d", pnum);
- if (err == -EIO && ubi->bad_allowed)
-- err = recover_peb(ubi, pnum, vol_id, lnum, buf, offset, len);
-+ err = recover_peb(ubi, pnum, vol_id, lnum, buf,
-+ offset, len);
- if (err)
- ubi_ro_mode(ubi);
- }
-@@ -656,11 +656,14 @@
- goto write_error;
- }
-
-- err = ubi_io_write_data(ubi, buf, pnum, offset, len);
-- if (err) {
-- ubi_warn("failed to write %d bytes at offset %d of LEB %d:%d, "
-- "PEB %d", len, offset, vol_id, lnum, pnum);
-- goto write_error;
-+ if (len) {
-+ err = ubi_io_write_data(ubi, buf, pnum, offset, len);
-+ if (err) {
-+ ubi_warn("failed to write %d bytes at offset %d of "
-+ "LEB %d:%d, PEB %d", len, offset, vol_id,
-+ lnum, pnum);
-+ goto write_error;
-+ }
- }
-
- vol->eba_tbl[lnum] = pnum;
-@@ -698,7 +701,7 @@
- /**
- * ubi_eba_write_leb_st - write data to static volume.
- * @ubi: UBI device description object
-- * @vol_id: volume ID
-+ * @vol: volume description object
- * @lnum: logical eraseblock number
- * @buf: data to write
- * @len: how many bytes to write
-@@ -706,7 +709,7 @@
- * @used_ebs: how many logical eraseblocks will this volume contain
- *
- * This function writes data to logical eraseblock @lnum of static volume
-- * @vol_id. The @used_ebs argument should contain total number of logical
-+ * @vol. The @used_ebs argument should contain total number of logical
- * eraseblock in this static volume.
- *
- * When writing to the last logical eraseblock, the @len argument doesn't have
-@@ -718,12 +721,11 @@
- * volumes. This function returns zero in case of success and a negative error
- * code in case of failure.
- */
--int ubi_eba_write_leb_st(struct ubi_device *ubi, int vol_id, int lnum,
-- const void *buf, int len, int dtype, int used_ebs)
-+int ubi_eba_write_leb_st(struct ubi_device *ubi, struct ubi_volume *vol,
-+ int lnum, const void *buf, int len, int dtype,
-+ int used_ebs)
- {
-- int err, pnum, tries = 0, data_size = len;
-- int idx = vol_id2idx(ubi, vol_id);
-- struct ubi_volume *vol = ubi->volumes[idx];
-+ int err, pnum, tries = 0, data_size = len, vol_id = vol->vol_id;
- struct ubi_vid_hdr *vid_hdr;
- uint32_t crc;
-
-@@ -734,7 +736,7 @@
- /* If this is the last LEB @len may be unaligned */
- len = ALIGN(data_size, ubi->min_io_size);
- else
-- ubi_assert(len % ubi->min_io_size == 0);
-+ ubi_assert(!(len & (ubi->min_io_size - 1)));
-
- vid_hdr = ubi_zalloc_vid_hdr(ubi, GFP_NOFS);
- if (!vid_hdr)
-@@ -819,7 +821,7 @@
- /*
- * ubi_eba_atomic_leb_change - change logical eraseblock atomically.
- * @ubi: UBI device description object
-- * @vol_id: volume ID
-+ * @vol: volume description object
- * @lnum: logical eraseblock number
- * @buf: data to write
- * @len: how many bytes to write
-@@ -834,17 +836,27 @@
- * UBI reserves one LEB for the "atomic LEB change" operation, so only one
- * LEB change may be done at a time. This is ensured by @ubi->alc_mutex.
- */
--int ubi_eba_atomic_leb_change(struct ubi_device *ubi, int vol_id, int lnum,
-- const void *buf, int len, int dtype)
-+int ubi_eba_atomic_leb_change(struct ubi_device *ubi, struct ubi_volume *vol,
-+ int lnum, const void *buf, int len, int dtype)
- {
-- int err, pnum, tries = 0, idx = vol_id2idx(ubi, vol_id);
-- struct ubi_volume *vol = ubi->volumes[idx];
-+ int err, pnum, tries = 0, vol_id = vol->vol_id;
- struct ubi_vid_hdr *vid_hdr;
- uint32_t crc;
-
- if (ubi->ro_mode)
- return -EROFS;
-
-+ if (len == 0) {
-+ /*
-+ * Special case when data length is zero. In this case the LEB
-+ * has to be unmapped and mapped somewhere else.
-+ */
-+ err = ubi_eba_unmap_leb(ubi, vol, lnum);
-+ if (err)
-+ return err;
-+ return ubi_eba_write_leb(ubi, vol, lnum, NULL, 0, 0, dtype);
-+ }
-+
- vid_hdr = ubi_zalloc_vid_hdr(ubi, GFP_NOFS);
- if (!vid_hdr)
- return -ENOMEM;
-@@ -891,7 +903,7 @@
- }
-
- if (vol->eba_tbl[lnum] >= 0) {
-- err = ubi_wl_put_peb(ubi, vol->eba_tbl[lnum], 1);
-+ err = ubi_wl_put_peb(ubi, vol->eba_tbl[lnum], 0);
- if (err)
- goto out_leb_unlock;
- }
-@@ -928,20 +940,6 @@
- }
-
- /**
-- * ltree_entry_ctor - lock tree entries slab cache constructor.
-- * @obj: the lock-tree entry to construct
-- * @cache: the lock tree entry slab cache
-- * @flags: constructor flags
-- */
--static void ltree_entry_ctor(struct kmem_cache *cache, void *obj)
--{
-- struct ltree_entry *le = obj;
--
-- le->users = 0;
-- init_rwsem(&le->mutex);
--}
--
--/**
- * ubi_eba_copy_leb - copy logical eraseblock.
- * @ubi: UBI device description object
- * @from: physical eraseblock number from where to copy
-@@ -950,14 +948,20 @@
- *
- * This function copies logical eraseblock from physical eraseblock @from to
- * physical eraseblock @to. The @vid_hdr buffer may be changed by this
-- * function. Returns zero in case of success, %UBI_IO_BITFLIPS if the operation
-- * was canceled because bit-flips were detected at the target PEB, and a
-- * negative error code in case of failure.
-+ * function. Returns:
-+ * o %0 in case of success;
-+ * o %1 if the operation was canceled because the volume is being deleted
-+ * or because the PEB was put meanwhile;
-+ * o %2 if the operation was canceled because there was a write error to the
-+ * target PEB;
-+ * o %-EAGAIN if the operation was canceled because a bit-flip was detected
-+ * in the target PEB;
-+ * o a negative error code in case of failure.
- */
- int ubi_eba_copy_leb(struct ubi_device *ubi, int from, int to,
- struct ubi_vid_hdr *vid_hdr)
- {
-- int err, vol_id, lnum, data_size, aldata_size, pnum, idx;
-+ int err, vol_id, lnum, data_size, aldata_size, idx;
- struct ubi_volume *vol;
- uint32_t crc;
-
-@@ -973,51 +977,67 @@
- data_size = aldata_size =
- ubi->leb_size - be32_to_cpu(vid_hdr->data_pad);
-
-- /*
-- * We do not want anybody to write to this logical eraseblock while we
-- * are moving it, so we lock it.
-- */
-- err = leb_write_lock(ubi, vol_id, lnum);
-- if (err)
-- return err;
--
-- mutex_lock(&ubi->buf_mutex);
--
-- /*
-- * But the logical eraseblock might have been put by this time.
-- * Cancel if it is true.
-- */
- idx = vol_id2idx(ubi, vol_id);
--
-+ spin_lock(&ubi->volumes_lock);
- /*
-- * We may race with volume deletion/re-size, so we have to hold
-- * @ubi->volumes_lock.
-+ * Note, we may race with volume deletion, which means that the volume
-+ * this logical eraseblock belongs to might be being deleted. Since the
-+ * volume deletion un-maps all the volume's logical eraseblocks, it will
-+ * be locked in 'ubi_wl_put_peb()' and wait for the WL worker to finish.
- */
-- spin_lock(&ubi->volumes_lock);
- vol = ubi->volumes[idx];
- if (!vol) {
-- dbg_eba("volume %d was removed meanwhile", vol_id);
-+ /* No need to do further work, cancel */
-+ dbg_eba("volume %d is being removed, cancel", vol_id);
- spin_unlock(&ubi->volumes_lock);
-- goto out_unlock;
-+ return 1;
- }
-+ spin_unlock(&ubi->volumes_lock);
-
-- pnum = vol->eba_tbl[lnum];
-- if (pnum != from) {
-- dbg_eba("LEB %d:%d is no longer mapped to PEB %d, mapped to "
-- "PEB %d, cancel", vol_id, lnum, from, pnum);
-- spin_unlock(&ubi->volumes_lock);
-- goto out_unlock;
-+ /*
-+ * We do not want anybody to write to this logical eraseblock while we
-+ * are moving it, so lock it.
-+ *
-+ * Note, we are using non-waiting locking here, because we cannot sleep
-+ * on the LEB, since it may cause deadlocks. Indeed, imagine a task is
-+ * unmapping the LEB which is mapped to the PEB we are going to move
-+ * (@from). This task locks the LEB and goes sleep in the
-+ * 'ubi_wl_put_peb()' function on the @ubi->move_mutex. In turn, we are
-+ * holding @ubi->move_mutex and go sleep on the LEB lock. So, if the
-+ * LEB is already locked, we just do not move it and return %1.
-+ */
-+ err = leb_write_trylock(ubi, vol_id, lnum);
-+ if (err) {
-+ dbg_eba("contention on LEB %d:%d, cancel", vol_id, lnum);
-+ return err;
- }
-- spin_unlock(&ubi->volumes_lock);
-
-- /* OK, now the LEB is locked and we can safely start moving it */
-+ /*
-+ * The LEB might have been put meanwhile, and the task which put it is
-+ * probably waiting on @ubi->move_mutex. No need to continue the work,
-+ * cancel it.
-+ */
-+ if (vol->eba_tbl[lnum] != from) {
-+ dbg_eba("LEB %d:%d is no longer mapped to PEB %d, mapped to "
-+ "PEB %d, cancel", vol_id, lnum, from,
-+ vol->eba_tbl[lnum]);
-+ err = 1;
-+ goto out_unlock_leb;
-+ }
-
-+ /*
-+ * OK, now the LEB is locked and we can safely start moving it. Since
-+ * this function utilizes the @ubi->peb1_buf buffer which is shared
-+ * with some other functions, so lock the buffer by taking the
-+ * @ubi->buf_mutex.
-+ */
-+ mutex_lock(&ubi->buf_mutex);
- dbg_eba("read %d bytes of data", aldata_size);
- err = ubi_io_read_data(ubi, ubi->peb_buf1, from, 0, aldata_size);
- if (err && err != UBI_IO_BITFLIPS) {
- ubi_warn("error %d while reading data from PEB %d",
- err, from);
-- goto out_unlock;
-+ goto out_unlock_buf;
- }
-
- /*
-@@ -1052,8 +1072,11 @@
- vid_hdr->sqnum = cpu_to_be64(next_sqnum(ubi));
-
- err = ubi_io_write_vid_hdr(ubi, to, vid_hdr);
-- if (err)
-- goto out_unlock;
-+ if (err) {
-+ if (err == -EIO)
-+ err = 2;
-+ goto out_unlock_buf;
-+ }
-
- cond_resched();
-
-@@ -1062,13 +1085,18 @@
- if (err) {
- if (err != UBI_IO_BITFLIPS)
- ubi_warn("cannot read VID header back from PEB %d", to);
-- goto out_unlock;
-+ else
-+ err = -EAGAIN;
-+ goto out_unlock_buf;
- }
-
- if (data_size > 0) {
- err = ubi_io_write_data(ubi, ubi->peb_buf1, to, 0, aldata_size);
-- if (err)
-- goto out_unlock;
-+ if (err) {
-+ if (err == -EIO)
-+ err = 2;
-+ goto out_unlock_buf;
-+ }
-
- cond_resched();
-
-@@ -1082,29 +1110,33 @@
- if (err != UBI_IO_BITFLIPS)
- ubi_warn("cannot read data back from PEB %d",
- to);
-- goto out_unlock;
-+ else
-+ err = -EAGAIN;
-+ goto out_unlock_buf;
- }
-
- cond_resched();
-
- if (memcmp(ubi->peb_buf1, ubi->peb_buf2, aldata_size)) {
-- ubi_warn("read data back from PEB %d - it is different",
-- to);
-- goto out_unlock;
-+ ubi_warn("read data back from PEB %d and it is "
-+ "different", to);
-+ err = -EINVAL;
-+ goto out_unlock_buf;
- }
- }
-
- ubi_assert(vol->eba_tbl[lnum] == from);
- vol->eba_tbl[lnum] = to;
-
--out_unlock:
-+out_unlock_buf:
- mutex_unlock(&ubi->buf_mutex);
-+out_unlock_leb:
- leb_write_unlock(ubi, vol_id, lnum);
- return err;
- }
-
- /**
-- * ubi_eba_init_scan - initialize the EBA unit using scanning information.
-+ * ubi_eba_init_scan - initialize the EBA sub-system using scanning information.
- * @ubi: UBI device description object
- * @si: scanning information
- *
-@@ -1119,20 +1151,12 @@
- struct ubi_scan_leb *seb;
- struct rb_node *rb;
-
-- dbg_eba("initialize EBA unit");
-+ dbg_eba("initialize EBA sub-system");
-
- spin_lock_init(&ubi->ltree_lock);
- mutex_init(&ubi->alc_mutex);
- ubi->ltree = RB_ROOT;
-
-- if (ubi_devices_cnt == 0) {
-- ltree_slab = kmem_cache_create("ubi_ltree_slab",
-- sizeof(struct ltree_entry), 0,
-- 0, &ltree_entry_ctor);
-- if (!ltree_slab)
-- return -ENOMEM;
-- }
--
- ubi->global_sqnum = si->max_sqnum + 1;
- num_volumes = ubi->vtbl_slots + UBI_INT_VOL_COUNT;
-
-@@ -1168,6 +1192,15 @@
- }
- }
-
-+ if (ubi->avail_pebs < EBA_RESERVED_PEBS) {
-+ ubi_err("no enough physical eraseblocks (%d, need %d)",
-+ ubi->avail_pebs, EBA_RESERVED_PEBS);
-+ err = -ENOSPC;
-+ goto out_free;
-+ }
-+ ubi->avail_pebs -= EBA_RESERVED_PEBS;
-+ ubi->rsvd_pebs += EBA_RESERVED_PEBS;
-+
- if (ubi->bad_allowed) {
- ubi_calculate_reserved(ubi);
-
-@@ -1184,16 +1217,7 @@
- ubi->rsvd_pebs += ubi->beb_rsvd_pebs;
- }
-
-- if (ubi->avail_pebs < EBA_RESERVED_PEBS) {
-- ubi_err("no enough physical eraseblocks (%d, need %d)",
-- ubi->avail_pebs, EBA_RESERVED_PEBS);
-- err = -ENOSPC;
-- goto out_free;
-- }
-- ubi->avail_pebs -= EBA_RESERVED_PEBS;
-- ubi->rsvd_pebs += EBA_RESERVED_PEBS;
--
-- dbg_eba("EBA unit is initialized");
-+ dbg_eba("EBA sub-system is initialized");
- return 0;
-
- out_free:
-@@ -1202,26 +1226,5 @@
- continue;
- kfree(ubi->volumes[i]->eba_tbl);
- }
-- if (ubi_devices_cnt == 0)
-- kmem_cache_destroy(ltree_slab);
- return err;
- }
--
--/**
-- * ubi_eba_close - close EBA unit.
-- * @ubi: UBI device description object
-- */
--void ubi_eba_close(const struct ubi_device *ubi)
--{
-- int i, num_volumes = ubi->vtbl_slots + UBI_INT_VOL_COUNT;
--
-- dbg_eba("close EBA unit");
--
-- for (i = 0; i < num_volumes; i++) {
-- if (!ubi->volumes[i])
-- continue;
-- kfree(ubi->volumes[i]->eba_tbl);
-- }
-- if (ubi_devices_cnt == 1)
-- kmem_cache_destroy(ltree_slab);
--}
-diff -Nurd linux-2.6.24.orig/drivers/mtd/ubi/gluebi.c linux-2.6.24/drivers/mtd/ubi/gluebi.c
---- linux-2.6.24.orig/drivers/mtd/ubi/gluebi.c 2009-04-17 09:45:11.000000000 +0200
-+++ linux-2.6.24/drivers/mtd/ubi/gluebi.c 2009-04-17 09:49:26.000000000 +0200
+--- ubifs-v2.6.24/drivers/mtd/ubi/gluebi.c 2009-04-07 17:14:47.000000000 +0200
++++ linux-2.6.24/drivers/mtd/ubi/gluebi.c 2009-04-24 13:08:55.000000000 +0200
@@ -28,7 +28,6 @@
* eraseblock size is equivalent to the logical eraseblock size of the volume.
*/
--#include <asm/div64.h>
- #include "ubi.h"
-
- /**
-@@ -109,9 +108,8 @@
- int err = 0, lnum, offs, total_read;
- struct ubi_volume *vol;
- struct ubi_device *ubi;
-- uint64_t tmp = from;
-
-- dbg_msg("read %zd bytes from offset %lld", len, from);
-+ dbg_gen("read %zd bytes from offset %lld", len, from);
-
- if (len < 0 || from < 0 || from + len > mtd->size)
- return -EINVAL;
-@@ -119,9 +117,7 @@
- vol = container_of(mtd, struct ubi_volume, gluebi_mtd);
- ubi = vol->ubi;
-
-- offs = do_div(tmp, mtd->erasesize);
-- lnum = tmp;
--
-+ lnum = div_u64_rem(from, mtd->erasesize, &offs);
- total_read = len;
- while (total_read) {
- size_t to_read = mtd->erasesize - offs;
-@@ -129,8 +125,7 @@
- if (to_read > total_read)
- to_read = total_read;
-
-- err = ubi_eba_read_leb(ubi, vol->vol_id, lnum, buf, offs,
-- to_read, 0);
-+ err = ubi_eba_read_leb(ubi, vol, lnum, buf, offs, to_read, 0);
- if (err)
- break;
-
-@@ -161,9 +156,8 @@
- int err = 0, lnum, offs, total_written;
- struct ubi_volume *vol;
- struct ubi_device *ubi;
-- uint64_t tmp = to;
-
-- dbg_msg("write %zd bytes to offset %lld", len, to);
-+ dbg_gen("write %zd bytes to offset %lld", len, to);
-
- if (len < 0 || to < 0 || len + to > mtd->size)
- return -EINVAL;
-@@ -174,8 +168,7 @@
- if (ubi->ro_mode)
- return -EROFS;
-
-- offs = do_div(tmp, mtd->erasesize);
-- lnum = tmp;
-+ lnum = div_u64_rem(to, mtd->erasesize, &offs);
-
- if (len % mtd->writesize || offs % mtd->writesize)
- return -EINVAL;
-@@ -187,8 +180,8 @@
- if (to_write > total_written)
- to_write = total_written;
-
-- err = ubi_eba_write_leb(ubi, vol->vol_id, lnum, buf, offs,
-- to_write, UBI_UNKNOWN);
-+ err = ubi_eba_write_leb(ubi, vol, lnum, buf, offs, to_write,
-+ UBI_UNKNOWN);
- if (err)
- break;
-
-@@ -216,7 +209,7 @@
- struct ubi_volume *vol;
- struct ubi_device *ubi;
-
-- dbg_msg("erase %u bytes at offset %u", instr->len, instr->addr);
-+ dbg_gen("erase %u bytes at offset %u", instr->len, instr->addr);
-
- if (instr->addr < 0 || instr->addr > mtd->size - mtd->erasesize)
- return -EINVAL;
-@@ -237,7 +230,7 @@
- return -EROFS;
-
- for (i = 0; i < count; i++) {
-- err = ubi_eba_unmap_leb(ubi, vol->vol_id, lnum + i);
-+ err = ubi_eba_unmap_leb(ubi, vol, lnum + i);
- if (err)
- goto out_err;
- }
-@@ -250,8 +243,8 @@
- if (err)
- goto out_err;
-
-- instr->state = MTD_ERASE_DONE;
-- mtd_erase_callback(instr);
-+ instr->state = MTD_ERASE_DONE;
-+ mtd_erase_callback(instr);
- return 0;
-
- out_err:
-@@ -292,19 +285,20 @@
- /*
- * In case of dynamic volume, MTD device size is just volume size. In
- * case of a static volume the size is equivalent to the amount of data
-- * bytes, which is zero at this moment and will be changed after volume
-- * update.
-+ * bytes.
- */
- if (vol->vol_type == UBI_DYNAMIC_VOLUME)
- mtd->size = vol->usable_leb_size * vol->reserved_pebs;
-+ else
-+ mtd->size = vol->used_bytes;
-
- if (add_mtd_device(mtd)) {
-- ubi_err("cannot not add MTD device\n");
-+ ubi_err("cannot not add MTD device");
- kfree(mtd->name);
- return -ENFILE;
- }
-
-- dbg_msg("added mtd%d (\"%s\"), size %u, EB size %u",
-+ dbg_gen("added mtd%d (\"%s\"), size %u, EB size %u",
- mtd->index, mtd->name, mtd->size, mtd->erasesize);
- return 0;
- }
-@@ -322,7 +316,7 @@
- int err;
- struct mtd_info *mtd = &vol->gluebi_mtd;
-
-- dbg_msg("remove mtd%d", mtd->index);
-+ dbg_gen("remove mtd%d", mtd->index);
- err = del_mtd_device(mtd);
- if (err)
- return err;
-diff -Nurd linux-2.6.24.orig/drivers/mtd/ubi/io.c linux-2.6.24/drivers/mtd/ubi/io.c
---- linux-2.6.24.orig/drivers/mtd/ubi/io.c 2009-04-17 09:45:11.000000000 +0200
-+++ linux-2.6.24/drivers/mtd/ubi/io.c 2009-04-17 09:49:26.000000000 +0200
-@@ -20,15 +20,15 @@
- */
-
- /*
-- * UBI input/output unit.
-+ * UBI input/output sub-system.
- *
-- * This unit provides a uniform way to work with all kinds of the underlying
-- * MTD devices. It also implements handy functions for reading and writing UBI
-- * headers.
-+ * This sub-system provides a uniform way to work with all kinds of the
-+ * underlying MTD devices. It also implements handy functions for reading and
-+ * writing UBI headers.
- *
- * We are trying to have a paranoid mindset and not to trust to what we read
-- * from the flash media in order to be more secure and robust. So this unit
-- * validates every single header it reads from the flash media.
-+ * from the flash media in order to be more secure and robust. So this
-+ * sub-system validates every single header it reads from the flash media.
- *
- * Some words about how the eraseblock headers are stored.
- *
-@@ -79,11 +79,11 @@
- * 512-byte chunks, we have to allocate one more buffer and copy our VID header
- * to offset 448 of this buffer.
- *
-- * The I/O unit does the following trick in order to avoid this extra copy.
-- * It always allocates a @ubi->vid_hdr_alsize bytes buffer for the VID header
-- * and returns a pointer to offset @ubi->vid_hdr_shift of this buffer. When the
-- * VID header is being written out, it shifts the VID header pointer back and
-- * writes the whole sub-page.
-+ * The I/O sub-system does the following trick in order to avoid this extra
-+ * copy. It always allocates a @ubi->vid_hdr_alsize bytes buffer for the VID
-+ * header and returns a pointer to offset @ubi->vid_hdr_shift of this buffer.
-+ * When the VID header is being written out, it shifts the VID header pointer
-+ * back and writes the whole sub-page.
- */
-
- #include <linux/crc32.h>
-@@ -156,15 +156,19 @@
- /*
- * -EUCLEAN is reported if there was a bit-flip which
- * was corrected, so this is harmless.
-+ *
-+ * We do not report about it here unless debugging is
-+ * enabled. A corresponding message will be printed
-+ * later, when it is has been scrubbed.
- */
-- ubi_msg("fixable bit-flip detected at PEB %d", pnum);
-+ dbg_msg("fixable bit-flip detected at PEB %d", pnum);
- ubi_assert(len == read);
- return UBI_IO_BITFLIPS;
- }
-
- if (read != len && retries++ < UBI_IO_RETRIES) {
-- dbg_io("error %d while reading %d bytes from PEB %d:%d, "
-- "read only %zd bytes, retry",
-+ dbg_io("error %d while reading %d bytes from PEB %d:%d,"
-+ " read only %zd bytes, retry",
- err, len, pnum, offset, read);
- yield();
- goto retry;
-@@ -173,11 +177,21 @@
- ubi_err("error %d while reading %d bytes from PEB %d:%d, "
- "read %zd bytes", err, len, pnum, offset, read);
- ubi_dbg_dump_stack();
-+
-+ /*
-+ * The driver should never return -EBADMSG if it failed to read
-+ * all the requested data. But some buggy drivers might do
-+ * this, so we change it to -EIO.
-+ */
-+ if (read != len && err == -EBADMSG) {
-+ ubi_assert(0);
-+ err = -EIO;
-+ }
- } else {
- ubi_assert(len == read);
-
- if (ubi_dbg_is_bitflip()) {
-- dbg_msg("bit-flip (emulated)");
-+ dbg_gen("bit-flip (emulated)");
- err = UBI_IO_BITFLIPS;
- }
- }
-@@ -381,6 +395,7 @@
- {
- int err, i, patt_count;
-
-+ ubi_msg("run torture test for PEB %d", pnum);
- patt_count = ARRAY_SIZE(patterns);
- ubi_assert(patt_count > 0);
-
-@@ -424,6 +439,7 @@
- }
-
- err = patt_count;
-+ ubi_msg("PEB %d passed torture test, do not mark it a bad", pnum);
-
- out:
- mutex_unlock(&ubi->buf_mutex);
-@@ -667,6 +683,9 @@
- if (verbose)
- ubi_warn("no EC header found at PEB %d, "
- "only 0xFF bytes", pnum);
-+ else if (UBI_IO_DEBUG)
-+ dbg_msg("no EC header found at PEB %d, "
-+ "only 0xFF bytes", pnum);
- return UBI_IO_PEB_EMPTY;
- }
-
-@@ -678,7 +697,9 @@
- ubi_warn("bad magic number at PEB %d: %08x instead of "
- "%08x", pnum, magic, UBI_EC_HDR_MAGIC);
- ubi_dbg_dump_ec_hdr(ec_hdr);
-- }
-+ } else if (UBI_IO_DEBUG)
-+ dbg_msg("bad magic number at PEB %d: %08x instead of "
-+ "%08x", pnum, magic, UBI_EC_HDR_MAGIC);
- return UBI_IO_BAD_EC_HDR;
- }
-
-@@ -687,10 +708,12 @@
-
- if (hdr_crc != crc) {
- if (verbose) {
-- ubi_warn("bad EC header CRC at PEB %d, calculated %#08x,"
-- " read %#08x", pnum, crc, hdr_crc);
-+ ubi_warn("bad EC header CRC at PEB %d, calculated "
-+ "%#08x, read %#08x", pnum, crc, hdr_crc);
- ubi_dbg_dump_ec_hdr(ec_hdr);
-- }
-+ } else if (UBI_IO_DEBUG)
-+ dbg_msg("bad EC header CRC at PEB %d, calculated "
-+ "%#08x, read %#08x", pnum, crc, hdr_crc);
- return UBI_IO_BAD_EC_HDR;
- }
-
-@@ -940,6 +963,9 @@
- if (verbose)
- ubi_warn("no VID header found at PEB %d, "
- "only 0xFF bytes", pnum);
-+ else if (UBI_IO_DEBUG)
-+ dbg_msg("no VID header found at PEB %d, "
-+ "only 0xFF bytes", pnum);
- return UBI_IO_PEB_FREE;
- }
-
-@@ -951,7 +977,9 @@
- ubi_warn("bad magic number at PEB %d: %08x instead of "
- "%08x", pnum, magic, UBI_VID_HDR_MAGIC);
- ubi_dbg_dump_vid_hdr(vid_hdr);
-- }
-+ } else if (UBI_IO_DEBUG)
-+ dbg_msg("bad magic number at PEB %d: %08x instead of "
-+ "%08x", pnum, magic, UBI_VID_HDR_MAGIC);
- return UBI_IO_BAD_VID_HDR;
- }
-
-@@ -963,7 +991,9 @@
- ubi_warn("bad CRC at PEB %d, calculated %#08x, "
- "read %#08x", pnum, crc, hdr_crc);
- ubi_dbg_dump_vid_hdr(vid_hdr);
-- }
-+ } else if (UBI_IO_DEBUG)
-+ dbg_msg("bad CRC at PEB %d, calculated %#08x, "
-+ "read %#08x", pnum, crc, hdr_crc);
- return UBI_IO_BAD_VID_HDR;
- }
-
-@@ -1004,7 +1034,7 @@
-
- err = paranoid_check_peb_ec_hdr(ubi, pnum);
- if (err)
-- return err > 0 ? -EINVAL: err;
-+ return err > 0 ? -EINVAL : err;
-
- vid_hdr->magic = cpu_to_be32(UBI_VID_HDR_MAGIC);
- vid_hdr->version = UBI_VERSION;
-@@ -1081,8 +1111,7 @@
- }
-
- /**
-- * paranoid_check_peb_ec_hdr - check that the erase counter header of a
-- * physical eraseblock is in-place and is all right.
-+ * paranoid_check_peb_ec_hdr - check erase counter header.
- * @ubi: UBI device description object
- * @pnum: the physical eraseblock number to check
- *
-@@ -1160,8 +1189,7 @@
- }
-
- /**
-- * paranoid_check_peb_vid_hdr - check that the volume identifier header of a
-- * physical eraseblock is in-place and is all right.
-+ * paranoid_check_peb_vid_hdr - check volume identifier header.
- * @ubi: UBI device description object
- * @pnum: the physical eraseblock number to check
- *
-@@ -1242,7 +1270,7 @@
-
- fail:
- ubi_err("paranoid check failed for PEB %d", pnum);
-- dbg_msg("hex dump of the %d-%d region", offset, offset + len);
-+ ubi_msg("hex dump of the %d-%d region", offset, offset + len);
- print_hex_dump(KERN_DEBUG, "", DUMP_PREFIX_OFFSET, 32, 1,
- ubi->dbg_peb_buf, len, 1);
- err = 1;
-diff -Nurd linux-2.6.24.orig/drivers/mtd/ubi/kapi.c linux-2.6.24/drivers/mtd/ubi/kapi.c
---- linux-2.6.24.orig/drivers/mtd/ubi/kapi.c 2009-04-17 09:45:11.000000000 +0200
-+++ linux-2.6.24/drivers/mtd/ubi/kapi.c 2009-04-17 09:49:26.000000000 +0200
-@@ -30,23 +30,27 @@
- * @ubi_num: UBI device number
- * @di: the information is stored here
- *
-- * This function returns %0 in case of success and a %-ENODEV if there is no
-- * such UBI device.
-+ * This function returns %0 in case of success, %-EINVAL if the UBI device
-+ * number is invalid, and %-ENODEV if there is no such UBI device.
- */
- int ubi_get_device_info(int ubi_num, struct ubi_device_info *di)
- {
-- const struct ubi_device *ubi;
-+ struct ubi_device *ubi;
-
-- if (ubi_num < 0 || ubi_num >= UBI_MAX_DEVICES ||
-- !ubi_devices[ubi_num])
-+ if (ubi_num < 0 || ubi_num >= UBI_MAX_DEVICES)
-+ return -EINVAL;
-+
-+ ubi = ubi_get_device(ubi_num);
-+ if (!ubi)
- return -ENODEV;
-
-- ubi = ubi_devices[ubi_num];
- di->ubi_num = ubi->ubi_num;
- di->leb_size = ubi->leb_size;
- di->min_io_size = ubi->min_io_size;
- di->ro_mode = ubi->ro_mode;
-- di->cdev = MKDEV(ubi->major, 0);
-+ di->cdev = ubi->cdev.dev;
-+
-+ ubi_put_device(ubi);
- return 0;
- }
- EXPORT_SYMBOL_GPL(ubi_get_device_info);
-@@ -73,7 +77,7 @@
- vi->usable_leb_size = vol->usable_leb_size;
- vi->name_len = vol->name_len;
- vi->name = vol->name;
-- vi->cdev = MKDEV(ubi->major, vi->vol_id + 1);
-+ vi->cdev = vol->cdev.dev;
- }
- EXPORT_SYMBOL_GPL(ubi_get_volume_info);
-
-@@ -102,39 +106,41 @@
- struct ubi_device *ubi;
- struct ubi_volume *vol;
-
-- dbg_msg("open device %d volume %d, mode %d", ubi_num, vol_id, mode);
--
-- err = -ENODEV;
-- if (ubi_num < 0)
-- return ERR_PTR(err);
--
-- ubi = ubi_devices[ubi_num];
--
-- if (!try_module_get(THIS_MODULE))
-- return ERR_PTR(err);
-+ dbg_gen("open device %d volume %d, mode %d", ubi_num, vol_id, mode);
-
-- if (ubi_num >= UBI_MAX_DEVICES || !ubi)
-- goto out_put;
-+ if (ubi_num < 0 || ubi_num >= UBI_MAX_DEVICES)
-+ return ERR_PTR(-EINVAL);
-
-- err = -EINVAL;
-- if (vol_id < 0 || vol_id >= ubi->vtbl_slots)
-- goto out_put;
- if (mode != UBI_READONLY && mode != UBI_READWRITE &&
- mode != UBI_EXCLUSIVE)
-- goto out_put;
-+ return ERR_PTR(-EINVAL);
-+
-+ /*
-+ * First of all, we have to get the UBI device to prevent its removal.
-+ */
-+ ubi = ubi_get_device(ubi_num);
-+ if (!ubi)
-+ return ERR_PTR(-ENODEV);
-+
-+ if (vol_id < 0 || vol_id >= ubi->vtbl_slots) {
-+ err = -EINVAL;
-+ goto out_put_ubi;
-+ }
-
- desc = kmalloc(sizeof(struct ubi_volume_desc), GFP_KERNEL);
- if (!desc) {
- err = -ENOMEM;
-- goto out_put;
-+ goto out_put_ubi;
- }
-
-+ err = -ENODEV;
-+ if (!try_module_get(THIS_MODULE))
-+ goto out_free;
-+
- spin_lock(&ubi->volumes_lock);
- vol = ubi->volumes[vol_id];
-- if (!vol) {
-- err = -ENODEV;
-+ if (!vol)
- goto out_unlock;
-- }
-
- err = -EBUSY;
- switch (mode) {
-@@ -156,21 +162,19 @@
- vol->exclusive = 1;
- break;
- }
-+ get_device(&vol->dev);
-+ vol->ref_count += 1;
- spin_unlock(&ubi->volumes_lock);
-
- desc->vol = vol;
- desc->mode = mode;
-
-- /*
-- * To prevent simultaneous checks of the same volume we use @vtbl_mutex,
-- * although it is not the purpose it was introduced for.
-- */
-- mutex_lock(&ubi->vtbl_mutex);
-+ mutex_lock(&ubi->ckvol_mutex);
- if (!vol->checked) {
- /* This is the first open - check the volume */
- err = ubi_check_volume(ubi, vol_id);
- if (err < 0) {
-- mutex_unlock(&ubi->vtbl_mutex);
-+ mutex_unlock(&ubi->ckvol_mutex);
- ubi_close_volume(desc);
- return ERR_PTR(err);
- }
-@@ -181,14 +185,17 @@
- }
- vol->checked = 1;
- }
-- mutex_unlock(&ubi->vtbl_mutex);
-+ mutex_unlock(&ubi->ckvol_mutex);
-+
- return desc;
-
- out_unlock:
- spin_unlock(&ubi->volumes_lock);
-- kfree(desc);
--out_put:
- module_put(THIS_MODULE);
-+out_free:
-+ kfree(desc);
-+out_put_ubi:
-+ ubi_put_device(ubi);
- return ERR_PTR(err);
- }
- EXPORT_SYMBOL_GPL(ubi_open_volume);
-@@ -205,10 +212,10 @@
- int mode)
- {
- int i, vol_id = -1, len;
-- struct ubi_volume_desc *ret;
- struct ubi_device *ubi;
-+ struct ubi_volume_desc *ret;
-
-- dbg_msg("open volume %s, mode %d", name, mode);
-+ dbg_gen("open volume %s, mode %d", name, mode);
-
- if (!name)
- return ERR_PTR(-EINVAL);
-@@ -217,14 +224,12 @@
- if (len > UBI_VOL_NAME_MAX)
- return ERR_PTR(-EINVAL);
-
-- ret = ERR_PTR(-ENODEV);
-- if (!try_module_get(THIS_MODULE))
-- return ret;
--
-- if (ubi_num < 0 || ubi_num >= UBI_MAX_DEVICES || !ubi_devices[ubi_num])
-- goto out_put;
-+ if (ubi_num < 0 || ubi_num >= UBI_MAX_DEVICES)
-+ return ERR_PTR(-EINVAL);
-
-- ubi = ubi_devices[ubi_num];
-+ ubi = ubi_get_device(ubi_num);
-+ if (!ubi)
-+ return ERR_PTR(-ENODEV);
-
- spin_lock(&ubi->volumes_lock);
- /* Walk all volumes of this UBI device */
-@@ -238,13 +243,16 @@
- }
- spin_unlock(&ubi->volumes_lock);
-
-- if (vol_id < 0)
-- goto out_put;
--
-- ret = ubi_open_volume(ubi_num, vol_id, mode);
-+ if (vol_id >= 0)
-+ ret = ubi_open_volume(ubi_num, vol_id, mode);
-+ else
-+ ret = ERR_PTR(-ENODEV);
-
--out_put:
-- module_put(THIS_MODULE);
-+ /*
-+ * We should put the UBI device even in case of success, because
-+ * 'ubi_open_volume()' took a reference as well.
-+ */
-+ ubi_put_device(ubi);
- return ret;
- }
- EXPORT_SYMBOL_GPL(ubi_open_volume_nm);
-@@ -256,10 +264,11 @@
- void ubi_close_volume(struct ubi_volume_desc *desc)
- {
- struct ubi_volume *vol = desc->vol;
-+ struct ubi_device *ubi = vol->ubi;
-
-- dbg_msg("close volume %d, mode %d", vol->vol_id, desc->mode);
-+ dbg_gen("close volume %d, mode %d", vol->vol_id, desc->mode);
-
-- spin_lock(&vol->ubi->volumes_lock);
-+ spin_lock(&ubi->volumes_lock);
- switch (desc->mode) {
- case UBI_READONLY:
- vol->readers -= 1;
-@@ -270,9 +279,12 @@
- case UBI_EXCLUSIVE:
- vol->exclusive = 0;
- }
-- spin_unlock(&vol->ubi->volumes_lock);
-+ vol->ref_count -= 1;
-+ spin_unlock(&ubi->volumes_lock);
-
- kfree(desc);
-+ put_device(&vol->dev);
-+ ubi_put_device(ubi);
- module_put(THIS_MODULE);
- }
- EXPORT_SYMBOL_GPL(ubi_close_volume);
-@@ -311,7 +323,7 @@
- struct ubi_device *ubi = vol->ubi;
- int err, vol_id = vol->vol_id;
-
-- dbg_msg("read %d bytes from LEB %d:%d:%d", len, vol_id, lnum, offset);
-+ dbg_gen("read %d bytes from LEB %d:%d:%d", len, vol_id, lnum, offset);
-
- if (vol_id < 0 || vol_id >= ubi->vtbl_slots || lnum < 0 ||
- lnum >= vol->used_ebs || offset < 0 || len < 0 ||
-@@ -332,7 +344,7 @@
- if (len == 0)
- return 0;
-
-- err = ubi_eba_read_leb(ubi, vol_id, lnum, buf, offset, len, check);
-+ err = ubi_eba_read_leb(ubi, vol, lnum, buf, offset, len, check);
- if (err && err == -EBADMSG && vol->vol_type == UBI_STATIC_VOLUME) {
- ubi_warn("mark volume %d as corrupted", vol_id);
- vol->corrupted = 1;
-@@ -376,7 +388,7 @@
- struct ubi_device *ubi = vol->ubi;
- int vol_id = vol->vol_id;
-
-- dbg_msg("write %d bytes to LEB %d:%d:%d", len, vol_id, lnum, offset);
-+ dbg_gen("write %d bytes to LEB %d:%d:%d", len, vol_id, lnum, offset);
-
- if (vol_id < 0 || vol_id >= ubi->vtbl_slots)
- return -EINVAL;
-@@ -385,8 +397,8 @@
- return -EROFS;
-
- if (lnum < 0 || lnum >= vol->reserved_pebs || offset < 0 || len < 0 ||
-- offset + len > vol->usable_leb_size || offset % ubi->min_io_size ||
-- len % ubi->min_io_size)
-+ offset + len > vol->usable_leb_size ||
-+ offset & (ubi->min_io_size - 1) || len & (ubi->min_io_size - 1))
- return -EINVAL;
-
- if (dtype != UBI_LONGTERM && dtype != UBI_SHORTTERM &&
-@@ -399,7 +411,7 @@
- if (len == 0)
- return 0;
-
-- return ubi_eba_write_leb(ubi, vol_id, lnum, buf, offset, len, dtype);
-+ return ubi_eba_write_leb(ubi, vol, lnum, buf, offset, len, dtype);
- }
- EXPORT_SYMBOL_GPL(ubi_leb_write);
-
-@@ -426,7 +438,7 @@
- struct ubi_device *ubi = vol->ubi;
- int vol_id = vol->vol_id;
-
-- dbg_msg("atomically write %d bytes to LEB %d:%d", len, vol_id, lnum);
-+ dbg_gen("atomically write %d bytes to LEB %d:%d", len, vol_id, lnum);
-
- if (vol_id < 0 || vol_id >= ubi->vtbl_slots)
- return -EINVAL;
-@@ -435,7 +447,7 @@
- return -EROFS;
-
- if (lnum < 0 || lnum >= vol->reserved_pebs || len < 0 ||
-- len > vol->usable_leb_size || len % ubi->min_io_size)
-+ len > vol->usable_leb_size || len & (ubi->min_io_size - 1))
- return -EINVAL;
-
- if (dtype != UBI_LONGTERM && dtype != UBI_SHORTTERM &&
-@@ -448,7 +460,7 @@
- if (len == 0)
- return 0;
-
-- return ubi_eba_atomic_leb_change(ubi, vol_id, lnum, buf, len, dtype);
-+ return ubi_eba_atomic_leb_change(ubi, vol, lnum, buf, len, dtype);
- }
- EXPORT_SYMBOL_GPL(ubi_leb_change);
-
-@@ -468,9 +480,9 @@
- {
- struct ubi_volume *vol = desc->vol;
- struct ubi_device *ubi = vol->ubi;
-- int err, vol_id = vol->vol_id;
-+ int err;
-
-- dbg_msg("erase LEB %d:%d", vol_id, lnum);
-+ dbg_gen("erase LEB %d:%d", vol->vol_id, lnum);
-
- if (desc->mode == UBI_READONLY || vol->vol_type == UBI_STATIC_VOLUME)
- return -EROFS;
-@@ -481,7 +493,7 @@
- if (vol->upd_marker)
- return -EBADF;
-
-- err = ubi_eba_unmap_leb(ubi, vol_id, lnum);
-+ err = ubi_eba_unmap_leb(ubi, vol, lnum);
- if (err)
- return err;
-
-@@ -529,9 +541,8 @@
- {
- struct ubi_volume *vol = desc->vol;
- struct ubi_device *ubi = vol->ubi;
-- int vol_id = vol->vol_id;
-
-- dbg_msg("unmap LEB %d:%d", vol_id, lnum);
-+ dbg_gen("unmap LEB %d:%d", vol->vol_id, lnum);
-
- if (desc->mode == UBI_READONLY || vol->vol_type == UBI_STATIC_VOLUME)
- return -EROFS;
-@@ -542,11 +553,55 @@
- if (vol->upd_marker)
- return -EBADF;
-
-- return ubi_eba_unmap_leb(ubi, vol_id, lnum);
-+ return ubi_eba_unmap_leb(ubi, vol, lnum);
- }
- EXPORT_SYMBOL_GPL(ubi_leb_unmap);
-
- /**
-+ * ubi_leb_map - map logical erasblock to a physical eraseblock.
-+ * @desc: volume descriptor
-+ * @lnum: logical eraseblock number
-+ * @dtype: expected data type
-+ *
-+ * This function maps an un-mapped logical eraseblock @lnum to a physical
-+ * eraseblock. This means, that after a successfull invocation of this
-+ * function the logical eraseblock @lnum will be empty (contain only %0xFF
-+ * bytes) and be mapped to a physical eraseblock, even if an unclean reboot
-+ * happens.
-+ *
-+ * This function returns zero in case of success, %-EBADF if the volume is
-+ * damaged because of an interrupted update, %-EBADMSG if the logical
-+ * eraseblock is already mapped, and other negative error codes in case of
-+ * other failures.
-+ */
-+int ubi_leb_map(struct ubi_volume_desc *desc, int lnum, int dtype)
-+{
-+ struct ubi_volume *vol = desc->vol;
-+ struct ubi_device *ubi = vol->ubi;
-+
-+ dbg_gen("unmap LEB %d:%d", vol->vol_id, lnum);
-+
-+ if (desc->mode == UBI_READONLY || vol->vol_type == UBI_STATIC_VOLUME)
-+ return -EROFS;
-+
-+ if (lnum < 0 || lnum >= vol->reserved_pebs)
-+ return -EINVAL;
-+
-+ if (dtype != UBI_LONGTERM && dtype != UBI_SHORTTERM &&
-+ dtype != UBI_UNKNOWN)
-+ return -EINVAL;
-+
-+ if (vol->upd_marker)
-+ return -EBADF;
-+
-+ if (vol->eba_tbl[lnum] >= 0)
-+ return -EBADMSG;
-+
-+ return ubi_eba_write_leb(ubi, vol, lnum, NULL, 0, 0, dtype);
-+}
-+EXPORT_SYMBOL_GPL(ubi_leb_map);
-+
-+/**
- * ubi_is_mapped - check if logical eraseblock is mapped.
- * @desc: volume descriptor
- * @lnum: logical eraseblock number
-@@ -566,7 +621,7 @@
- {
- struct ubi_volume *vol = desc->vol;
-
-- dbg_msg("test LEB %d:%d", vol->vol_id, lnum);
-+ dbg_gen("test LEB %d:%d", vol->vol_id, lnum);
-
- if (lnum < 0 || lnum >= vol->reserved_pebs)
- return -EINVAL;
-@@ -577,3 +632,27 @@
- return vol->eba_tbl[lnum] >= 0;
- }
- EXPORT_SYMBOL_GPL(ubi_is_mapped);
-+
-+/**
-+ * ubi_sync - synchronize UBI device buffers.
-+ * @ubi_num: UBI device to synchronize
-+ *
-+ * The underlying MTD device may cache data in hardware or in software. This
-+ * function ensures the caches are flushed. Returns zero in case of success and
-+ * a negative error code in case of failure.
-+ */
-+int ubi_sync(int ubi_num)
-+{
-+ struct ubi_device *ubi;
-+
-+ ubi = ubi_get_device(ubi_num);
-+ if (!ubi)
-+ return -ENODEV;
-+
-+ if (ubi->mtd->sync)
-+ ubi->mtd->sync(ubi->mtd);
-+
-+ ubi_put_device(ubi);
-+ return 0;
-+}
-+EXPORT_SYMBOL_GPL(ubi_sync);
-diff -Nurd linux-2.6.24.orig/drivers/mtd/ubi/misc.c linux-2.6.24/drivers/mtd/ubi/misc.c
---- linux-2.6.24.orig/drivers/mtd/ubi/misc.c 2009-04-17 09:45:11.000000000 +0200
-+++ linux-2.6.24/drivers/mtd/ubi/misc.c 2009-04-17 09:49:26.000000000 +0200
-@@ -37,7 +37,7 @@
- {
- int i;
-
-- ubi_assert(length % ubi->min_io_size == 0);
-+ ubi_assert(!(length & (ubi->min_io_size - 1)));
-
- for (i = length - 1; i >= 0; i--)
- if (((const uint8_t *)buf)[i] != 0xFF)
-@@ -79,7 +79,7 @@
- else
- size = vol->usable_leb_size;
-
-- err = ubi_eba_read_leb(ubi, vol_id, i, buf, 0, size, 1);
-+ err = ubi_eba_read_leb(ubi, vol, i, buf, 0, size, 1);
- if (err) {
- if (err == -EBADMSG)
- err = 1;
-diff -Nurd linux-2.6.24.orig/drivers/mtd/ubi/scan.c linux-2.6.24/drivers/mtd/ubi/scan.c
---- linux-2.6.24.orig/drivers/mtd/ubi/scan.c 2009-04-17 09:45:11.000000000 +0200
-+++ linux-2.6.24/drivers/mtd/ubi/scan.c 2009-04-17 09:49:26.000000000 +0200
-@@ -19,9 +19,9 @@
- */
-
- /*
-- * UBI scanning unit.
-+ * UBI scanning sub-system.
- *
-- * This unit is responsible for scanning the flash media, checking UBI
-+ * This sub-system is responsible for scanning the flash media, checking UBI
- * headers and providing complete information about the UBI flash image.
- *
- * The scanning information is represented by a &struct ubi_scan_info' object.
-@@ -92,29 +92,7 @@
- }
-
- /**
-- * commit_to_mean_value - commit intermediate results to the final mean erase
-- * counter value.
-- * @si: scanning information
-- *
-- * This is a helper function which calculates partial mean erase counter mean
-- * value and adds it to the resulting mean value. As we can work only in
-- * integer arithmetic and we want to calculate the mean value of erase counter
-- * accurately, we first sum erase counter values in @si->ec_sum variable and
-- * count these components in @si->ec_count. If this temporary @si->ec_sum is
-- * going to overflow, we calculate the partial mean value
-- * (@si->ec_sum/@si->ec_count) and add it to @si->mean_ec.
-- */
--static void commit_to_mean_value(struct ubi_scan_info *si)
--{
-- si->ec_sum /= si->ec_count;
-- if (si->ec_sum % si->ec_count >= si->ec_count / 2)
-- si->mean_ec += 1;
-- si->mean_ec += si->ec_sum;
--}
--
--/**
-- * validate_vid_hdr - check that volume identifier header is correct and
-- * consistent.
-+ * validate_vid_hdr - check volume identifier header.
- * @vid_hdr: the volume identifier header to check
- * @sv: information about the volume this logical eraseblock belongs to
- * @pnum: physical eraseblock number the VID header came from
-@@ -123,7 +101,7 @@
- * non-zero if an inconsistency was found and zero if not.
- *
- * Note, UBI does sanity check of everything it reads from the flash media.
-- * Most of the checks are done in the I/O unit. Here we check that the
-+ * Most of the checks are done in the I/O sub-system. Here we check that the
- * information in the VID header is consistent to the information in other VID
- * headers of the same volume.
- */
-@@ -267,40 +245,21 @@
- struct ubi_vid_hdr *vh = NULL;
- unsigned long long sqnum2 = be64_to_cpu(vid_hdr->sqnum);
-
-- if (seb->sqnum == 0 && sqnum2 == 0) {
-- long long abs, v1 = seb->leb_ver, v2 = be32_to_cpu(vid_hdr->leb_ver);
--
-+ if (sqnum2 == seb->sqnum) {
- /*
-- * UBI constantly increases the logical eraseblock version
-- * number and it can overflow. Thus, we have to bear in mind
-- * that versions that are close to %0xFFFFFFFF are less then
-- * versions that are close to %0.
-- *
-- * The UBI WL unit guarantees that the number of pending tasks
-- * is not greater then %0x7FFFFFFF. So, if the difference
-- * between any two versions is greater or equivalent to
-- * %0x7FFFFFFF, there was an overflow and the logical
-- * eraseblock with lower version is actually newer then the one
-- * with higher version.
-- *
-- * FIXME: but this is anyway obsolete and will be removed at
-- * some point.
-+ * This must be a really ancient UBI image which has been
-+ * created before sequence numbers support has been added. At
-+ * that times we used 32-bit LEB versions stored in logical
-+ * eraseblocks. That was before UBI got into mainline. We do not
-+ * support these images anymore. Well, those images will work
-+ * still work, but only if no unclean reboots happened.
- */
-+ ubi_err("unsupported on-flash UBI format\n");
-+ return -EINVAL;
-+ }
-
-- dbg_bld("using old crappy leb_ver stuff");
--
-- abs = v1 - v2;
-- if (abs < 0)
-- abs = -abs;
--
-- if (abs < 0x7FFFFFFF)
-- /* Non-overflow situation */
-- second_is_newer = (v2 > v1);
-- else
-- second_is_newer = (v2 < v1);
-- } else
-- /* Obviously the LEB with lower sequence counter is older */
-- second_is_newer = sqnum2 > seb->sqnum;
-+ /* Obviously the LEB with lower sequence counter is older */
-+ second_is_newer = !!(sqnum2 > seb->sqnum);
-
- /*
- * Now we know which copy is newer. If the copy flag of the PEB with
-@@ -308,7 +267,7 @@
- * check data CRC. For the second PEB we already have the VID header,
- * for the first one - we'll need to re-read it from flash.
- *
-- * FIXME: this may be optimized so that we wouldn't read twice.
-+ * Note: this may be optimized so that we wouldn't read twice.
- */
-
- if (second_is_newer) {
-@@ -360,7 +319,7 @@
- }
-
- err = ubi_io_read_data(ubi, buf, pnum, 0, len);
-- if (err && err != UBI_IO_BITFLIPS)
-+ if (err && err != UBI_IO_BITFLIPS && err != -EBADMSG)
- goto out_free_buf;
-
- data_crc = be32_to_cpu(vid_hdr->data_crc);
-@@ -390,13 +349,11 @@
- vfree(buf);
- out_free_vidh:
- ubi_free_vid_hdr(ubi, vh);
-- ubi_assert(err < 0);
- return err;
- }
-
- /**
-- * ubi_scan_add_used - add information about a physical eraseblock to the
-- * scanning information.
-+ * ubi_scan_add_used - add physical eraseblock to the scanning information.
- * @ubi: UBI device description object
- * @si: scanning information
- * @pnum: the physical eraseblock number
-@@ -416,7 +373,6 @@
- int bitflips)
- {
- int err, vol_id, lnum;
-- uint32_t leb_ver;
- unsigned long long sqnum;
- struct ubi_scan_volume *sv;
- struct ubi_scan_leb *seb;
-@@ -425,13 +381,12 @@
- vol_id = be32_to_cpu(vid_hdr->vol_id);
- lnum = be32_to_cpu(vid_hdr->lnum);
- sqnum = be64_to_cpu(vid_hdr->sqnum);
-- leb_ver = be32_to_cpu(vid_hdr->leb_ver);
-
-- dbg_bld("PEB %d, LEB %d:%d, EC %d, sqnum %llu, ver %u, bitflips %d",
-- pnum, vol_id, lnum, ec, sqnum, leb_ver, bitflips);
-+ dbg_bld("PEB %d, LEB %d:%d, EC %d, sqnum %llu, bitflips %d",
-+ pnum, vol_id, lnum, ec, sqnum, bitflips);
-
- sv = add_volume(si, vol_id, pnum, vid_hdr);
-- if (IS_ERR(sv) < 0)
-+ if (IS_ERR(sv))
- return PTR_ERR(sv);
-
- if (si->max_sqnum < sqnum)
-@@ -461,25 +416,20 @@
- */
-
- dbg_bld("this LEB already exists: PEB %d, sqnum %llu, "
-- "LEB ver %u, EC %d", seb->pnum, seb->sqnum,
-- seb->leb_ver, seb->ec);
--
-- /*
-- * Make sure that the logical eraseblocks have different
-- * versions. Otherwise the image is bad.
-- */
-- if (seb->leb_ver == leb_ver && leb_ver != 0) {
-- ubi_err("two LEBs with same version %u", leb_ver);
-- ubi_dbg_dump_seb(seb, 0);
-- ubi_dbg_dump_vid_hdr(vid_hdr);
-- return -EINVAL;
-- }
-+ "EC %d", seb->pnum, seb->sqnum, seb->ec);
-
- /*
- * Make sure that the logical eraseblocks have different
- * sequence numbers. Otherwise the image is bad.
- *
-- * FIXME: remove 'sqnum != 0' check when leb_ver is removed.
-+ * However, if the sequence number is zero, we assume it must
-+ * be an ancient UBI image from the era when UBI did not have
-+ * sequence numbers. We still can attach these images, unless
-+ * there is a need to distinguish between old and new
-+ * eraseblocks, in which case we'll refuse the image in
-+ * 'compare_lebs()'. In other words, we attach old clean
-+ * images, but refuse attaching old images with duplicated
-+ * logical eraseblocks because there was an unclean reboot.
- */
- if (seb->sqnum == sqnum && sqnum != 0) {
- ubi_err("two LEBs with same sequence number %llu",
-@@ -519,7 +469,6 @@
- seb->pnum = pnum;
- seb->scrub = ((cmp_res & 2) || bitflips);
- seb->sqnum = sqnum;
-- seb->leb_ver = leb_ver;
-
- if (sv->highest_lnum == lnum)
- sv->last_data_size =
-@@ -556,7 +505,6 @@
- seb->lnum = lnum;
- seb->sqnum = sqnum;
- seb->scrub = bitflips;
-- seb->leb_ver = leb_ver;
-
- if (sv->highest_lnum <= lnum) {
- sv->highest_lnum = lnum;
-@@ -570,8 +518,7 @@
- }
-
- /**
-- * ubi_scan_find_sv - find information about a particular volume in the
-- * scanning information.
-+ * ubi_scan_find_sv - find volume in the scanning information.
- * @si: scanning information
- * @vol_id: the requested volume ID
- *
-@@ -600,8 +547,7 @@
- }
-
- /**
-- * ubi_scan_find_seb - find information about a particular logical
-- * eraseblock in the volume scanning information.
-+ * ubi_scan_find_seb - find LEB in the volume scanning information.
- * @sv: a pointer to the volume scanning information
- * @lnum: the requested logical eraseblock
- *
-@@ -661,9 +607,9 @@
- *
- * This function erases physical eraseblock 'pnum', and writes the erase
- * counter header to it. This function should only be used on UBI device
-- * initialization stages, when the EBA unit had not been yet initialized. This
-- * function returns zero in case of success and a negative error code in case
-- * of failure.
-+ * initialization stages, when the EBA sub-system had not been yet initialized.
-+ * This function returns zero in case of success and a negative error code in
-+ * case of failure.
- */
- int ubi_scan_erase_peb(struct ubi_device *ubi, const struct ubi_scan_info *si,
- int pnum, int ec)
-@@ -703,9 +649,10 @@
- * @si: scanning information
- *
- * This function returns a free physical eraseblock. It is supposed to be
-- * called on the UBI initialization stages when the wear-leveling unit is not
-- * initialized yet. This function picks a physical eraseblocks from one of the
-- * lists, writes the EC header if it is needed, and removes it from the list.
-+ * called on the UBI initialization stages when the wear-leveling sub-system is
-+ * not initialized yet. This function picks a physical eraseblocks from one of
-+ * the lists, writes the EC header if it is needed, and removes it from the
-+ * list.
- *
- * This function returns scanning physical eraseblock information in case of
- * success and an error code in case of failure.
-@@ -758,8 +705,7 @@
- }
-
- /**
-- * process_eb - read UBI headers, check them and add corresponding data
-- * to the scanning information.
-+ * process_eb - read, check UBI headers, and add them to scanning information.
- * @ubi: UBI device description object
- * @si: scanning information
- * @pnum: the physical eraseblock number
-@@ -767,9 +713,10 @@
- * This function returns a zero if the physical eraseblock was successfully
- * handled and a negative error code in case of failure.
- */
--static int process_eb(struct ubi_device *ubi, struct ubi_scan_info *si, int pnum)
-+static int process_eb(struct ubi_device *ubi, struct ubi_scan_info *si,
-+ int pnum)
- {
-- long long ec;
-+ long long uninitialized_var(ec);
- int err, bitflips = 0, vol_id, ec_corr = 0;
-
- dbg_bld("scan PEB %d", pnum);
-@@ -780,8 +727,9 @@
- return err;
- else if (err) {
- /*
-- * FIXME: this is actually duty of the I/O unit to initialize
-- * this, but MTD does not provide enough information.
-+ * FIXME: this is actually duty of the I/O sub-system to
-+ * initialize this, but MTD does not provide enough
-+ * information.
- */
- si->bad_peb_count += 1;
- return 0;
-@@ -854,7 +802,7 @@
- }
-
- vol_id = be32_to_cpu(vidh->vol_id);
-- if (vol_id > UBI_MAX_VOLUMES && vol_id != UBI_LAYOUT_VOL_ID) {
-+ if (vol_id > UBI_MAX_VOLUMES && vol_id != UBI_LAYOUT_VOLUME_ID) {
- int lnum = be32_to_cpu(vidh->lnum);
-
- /* Unsupported internal volume */
-@@ -897,15 +845,8 @@
-
- adjust_mean_ec:
- if (!ec_corr) {
-- if (si->ec_sum + ec < ec) {
-- commit_to_mean_value(si);
-- si->ec_sum = 0;
-- si->ec_count = 0;
-- } else {
-- si->ec_sum += ec;
-- si->ec_count += 1;
-- }
--
-+ si->ec_sum += ec;
-+ si->ec_count += 1;
- if (ec > si->max_ec)
- si->max_ec = ec;
- if (ec < si->min_ec)
-@@ -953,7 +894,7 @@
- for (pnum = 0; pnum < ubi->peb_count; pnum++) {
- cond_resched();
-
-- dbg_msg("process PEB %d", pnum);
-+ dbg_gen("process PEB %d", pnum);
- err = process_eb(ubi, si, pnum);
- if (err < 0)
- goto out_vidh;
-@@ -961,9 +902,9 @@
-
- dbg_msg("scanning is finished");
-
-- /* Finish mean erase counter calculations */
-+ /* Calculate mean erase counter */
- if (si->ec_count)
-- commit_to_mean_value(si);
-+ si->mean_ec = div_u64(si->ec_sum, si->ec_count);
-
- if (si->is_empty)
- ubi_msg("empty MTD device detected");
-@@ -1100,8 +1041,7 @@
- #ifdef CONFIG_MTD_UBI_DEBUG_PARANOID
-
- /**
-- * paranoid_check_si - check if the scanning information is correct and
-- * consistent.
-+ * paranoid_check_si - check the scanning information.
- * @ubi: UBI device description object
- * @si: scanning information
- *
-@@ -1286,11 +1226,6 @@
- ubi_err("bad data_pad %d", sv->data_pad);
- goto bad_vid_hdr;
- }
--
-- if (seb->leb_ver != be32_to_cpu(vidh->leb_ver)) {
-- ubi_err("bad leb_ver %u", seb->leb_ver);
-- goto bad_vid_hdr;
-- }
- }
-
- if (!last_seb)
-@@ -1320,8 +1255,7 @@
- if (err < 0) {
- kfree(buf);
- return err;
-- }
-- else if (err)
-+ } else if (err)
- buf[pnum] = 1;
- }
-
-diff -Nurd linux-2.6.24.orig/drivers/mtd/ubi/scan.h linux-2.6.24/drivers/mtd/ubi/scan.h
---- linux-2.6.24.orig/drivers/mtd/ubi/scan.h 2009-04-17 09:45:11.000000000 +0200
-+++ linux-2.6.24/drivers/mtd/ubi/scan.h 2009-04-17 09:49:26.000000000 +0200
-@@ -34,7 +34,6 @@
- * @u: unions RB-tree or @list links
- * @u.rb: link in the per-volume RB-tree of &struct ubi_scan_leb objects
- * @u.list: link in one of the eraseblock lists
-- * @leb_ver: logical eraseblock version (obsolete)
- *
- * One object of this type is allocated for each physical eraseblock during
- * scanning.
-@@ -49,7 +48,6 @@
- struct rb_node rb;
- struct list_head list;
- } u;
-- uint32_t leb_ver;
- };
-
- /**
-@@ -59,16 +57,16 @@
- * @leb_count: number of logical eraseblocks in this volume
- * @vol_type: volume type
- * @used_ebs: number of used logical eraseblocks in this volume (only for
-- * static volumes)
-+ * static volumes)
- * @last_data_size: amount of data in the last logical eraseblock of this
-- * volume (always equivalent to the usable logical eraseblock size in case of
-- * dynamic volumes)
-+ * volume (always equivalent to the usable logical eraseblock
-+ * size in case of dynamic volumes)
- * @data_pad: how many bytes at the end of logical eraseblocks of this volume
-- * are not used (due to volume alignment)
-+ * are not used (due to volume alignment)
- * @compat: compatibility flags of this volume
- * @rb: link in the volume RB-tree
- * @root: root of the RB-tree containing all the eraseblock belonging to this
-- * volume (&struct ubi_scan_leb objects)
-+ * volume (&struct ubi_scan_leb objects)
- *
- * One object of this type is allocated for each volume during scanning.
- */
-@@ -92,8 +90,8 @@
- * @free: list of free physical eraseblocks
- * @erase: list of physical eraseblocks which have to be erased
- * @alien: list of physical eraseblocks which should not be used by UBI (e.g.,
-+ * those belonging to "preserve"-compatible internal volumes)
- * @bad_peb_count: count of bad physical eraseblocks
-- * those belonging to "preserve"-compatible internal volumes)
- * @vols_found: number of volumes found during scanning
- * @highest_vol_id: highest volume ID
- * @alien_peb_count: count of physical eraseblocks in the @alien list
-@@ -106,8 +104,8 @@
- * @ec_count: a temporary variable used when calculating @mean_ec
- *
- * This data structure contains the result of scanning and may be used by other
-- * UBI units to build final UBI data structures, further error-recovery and so
-- * on.
-+ * UBI sub-systems to build final UBI data structures, further error-recovery
-+ * and so on.
- */
- struct ubi_scan_info {
- struct rb_root volumes;
-@@ -124,7 +122,7 @@
- int max_ec;
- unsigned long long max_sqnum;
- int mean_ec;
-- int ec_sum;
-+ uint64_t ec_sum;
- int ec_count;
- };
-
-@@ -132,8 +130,7 @@
- struct ubi_vid_hdr;
-
- /*
-- * ubi_scan_move_to_list - move a physical eraseblock from the volume tree to a
-- * list.
-+ * ubi_scan_move_to_list - move a PEB from the volume tree to a list.
- *
- * @sv: volume scanning information
- * @seb: scanning eraseblock infprmation
-diff -Nurd linux-2.6.24.orig/drivers/mtd/ubi/ubi-media.h linux-2.6.24/drivers/mtd/ubi/ubi-media.h
---- linux-2.6.24.orig/drivers/mtd/ubi/ubi-media.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.24/drivers/mtd/ubi/ubi-media.h 2009-04-17 09:49:26.000000000 +0200
-@@ -0,0 +1,368 @@
-+/*
-+ * Copyright (c) International Business Machines Corp., 2006
-+ *
-+ * 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 2 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, write to the Free Software
-+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
-+ *
-+ * Authors: Artem Bityutskiy (Битюцкий Ðртём)
-+ * Thomas Gleixner
-+ * Frank Haverkamp
-+ * Oliver Lohmann
-+ * Andreas Arnez
-+ */
-+
-+/*
-+ * This file defines the layout of UBI headers and all the other UBI on-flash
-+ * data structures.
-+ */
-+
-+#ifndef __UBI_MEDIA_H__
-+#define __UBI_MEDIA_H__
-+
-+#include <asm/byteorder.h>
-+
-+/* The version of UBI images supported by this implementation */
-+#define UBI_VERSION 1
-+
-+/* The highest erase counter value supported by this implementation */
-+#define UBI_MAX_ERASECOUNTER 0x7FFFFFFF
-+
-+/* The initial CRC32 value used when calculating CRC checksums */
-+#define UBI_CRC32_INIT 0xFFFFFFFFU
-+
-+/* Erase counter header magic number (ASCII "UBI#") */
-+#define UBI_EC_HDR_MAGIC 0x55424923
-+/* Volume identifier header magic number (ASCII "UBI!") */
-+#define UBI_VID_HDR_MAGIC 0x55424921
-+
-+/*
-+ * Volume type constants used in the volume identifier header.
-+ *
-+ * @UBI_VID_DYNAMIC: dynamic volume
-+ * @UBI_VID_STATIC: static volume
-+ */
-+enum {
-+ UBI_VID_DYNAMIC = 1,
-+ UBI_VID_STATIC = 2
-+};
-+
-+/*
-+ * Volume flags used in the volume table record.
-+ *
-+ * @UBI_VTBL_AUTORESIZE_FLG: auto-resize this volume
-+ *
-+ * %UBI_VTBL_AUTORESIZE_FLG flag can be set only for one volume in the volume
-+ * table. UBI automatically re-sizes the volume which has this flag and makes
-+ * the volume to be of largest possible size. This means that if after the
-+ * initialization UBI finds out that there are available physical eraseblocks
-+ * present on the device, it automatically appends all of them to the volume
-+ * (the physical eraseblocks reserved for bad eraseblocks handling and other
-+ * reserved physical eraseblocks are not taken). So, if there is a volume with
-+ * the %UBI_VTBL_AUTORESIZE_FLG flag set, the amount of available logical
-+ * eraseblocks will be zero after UBI is loaded, because all of them will be
-+ * reserved for this volume. Note, the %UBI_VTBL_AUTORESIZE_FLG bit is cleared
-+ * after the volume had been initialized.
-+ *
-+ * The auto-resize feature is useful for device production purposes. For
-+ * example, different NAND flash chips may have different amount of initial bad
-+ * eraseblocks, depending of particular chip instance. Manufacturers of NAND
-+ * chips usually guarantee that the amount of initial bad eraseblocks does not
-+ * exceed certain percent, e.g. 2%. When one creates an UBI image which will be
-+ * flashed to the end devices in production, he does not know the exact amount
-+ * of good physical eraseblocks the NAND chip on the device will have, but this
-+ * number is required to calculate the volume sized and put them to the volume
-+ * table of the UBI image. In this case, one of the volumes (e.g., the one
-+ * which will store the root file system) is marked as "auto-resizable", and
-+ * UBI will adjust its size on the first boot if needed.
-+ *
-+ * Note, first UBI reserves some amount of physical eraseblocks for bad
-+ * eraseblock handling, and then re-sizes the volume, not vice-versa. This
-+ * means that the pool of reserved physical eraseblocks will always be present.
-+ */
-+enum {
-+ UBI_VTBL_AUTORESIZE_FLG = 0x01,
-+};
-+
-+/*
-+ * Compatibility constants used by internal volumes.
-+ *
-+ * @UBI_COMPAT_DELETE: delete this internal volume before anything is written
-+ * to the flash
-+ * @UBI_COMPAT_RO: attach this device in read-only mode
-+ * @UBI_COMPAT_PRESERVE: preserve this internal volume - do not touch its
-+ * physical eraseblocks, don't allow the wear-leveling
-+ * sub-system to move them
-+ * @UBI_COMPAT_REJECT: reject this UBI image
-+ */
-+enum {
-+ UBI_COMPAT_DELETE = 1,
-+ UBI_COMPAT_RO = 2,
-+ UBI_COMPAT_PRESERVE = 4,
-+ UBI_COMPAT_REJECT = 5
-+};
-+
-+/* Sizes of UBI headers */
-+#define UBI_EC_HDR_SIZE sizeof(struct ubi_ec_hdr)
-+#define UBI_VID_HDR_SIZE sizeof(struct ubi_vid_hdr)
-+
-+/* Sizes of UBI headers without the ending CRC */
-+#define UBI_EC_HDR_SIZE_CRC (UBI_EC_HDR_SIZE - sizeof(__be32))
-+#define UBI_VID_HDR_SIZE_CRC (UBI_VID_HDR_SIZE - sizeof(__be32))
-+
-+/**
-+ * struct ubi_ec_hdr - UBI erase counter header.
-+ * @magic: erase counter header magic number (%UBI_EC_HDR_MAGIC)
-+ * @version: version of UBI implementation which is supposed to accept this
-+ * UBI image
-+ * @padding1: reserved for future, zeroes
-+ * @ec: the erase counter
-+ * @vid_hdr_offset: where the VID header starts
-+ * @data_offset: where the user data start
-+ * @padding2: reserved for future, zeroes
-+ * @hdr_crc: erase counter header CRC checksum
-+ *
-+ * The erase counter header takes 64 bytes and has a plenty of unused space for
-+ * future usage. The unused fields are zeroed. The @version field is used to
-+ * indicate the version of UBI implementation which is supposed to be able to
-+ * work with this UBI image. If @version is greater then the current UBI
-+ * version, the image is rejected. This may be useful in future if something
-+ * is changed radically. This field is duplicated in the volume identifier
-+ * header.
-+ *
-+ * The @vid_hdr_offset and @data_offset fields contain the offset of the the
-+ * volume identifier header and user data, relative to the beginning of the
-+ * physical eraseblock. These values have to be the same for all physical
-+ * eraseblocks.
-+ */
-+struct ubi_ec_hdr {
-+ __be32 magic;
-+ __u8 version;
-+ __u8 padding1[3];
-+ __be64 ec; /* Warning: the current limit is 31-bit anyway! */
-+ __be32 vid_hdr_offset;
-+ __be32 data_offset;
-+ __u8 padding2[36];
-+ __be32 hdr_crc;
-+} __attribute__ ((packed));
-+
-+/**
-+ * struct ubi_vid_hdr - on-flash UBI volume identifier header.
-+ * @magic: volume identifier header magic number (%UBI_VID_HDR_MAGIC)
-+ * @version: UBI implementation version which is supposed to accept this UBI
-+ * image (%UBI_VERSION)
-+ * @vol_type: volume type (%UBI_VID_DYNAMIC or %UBI_VID_STATIC)
-+ * @copy_flag: if this logical eraseblock was copied from another physical
-+ * eraseblock (for wear-leveling reasons)
-+ * @compat: compatibility of this volume (%0, %UBI_COMPAT_DELETE,
-+ * %UBI_COMPAT_IGNORE, %UBI_COMPAT_PRESERVE, or %UBI_COMPAT_REJECT)
-+ * @vol_id: ID of this volume
-+ * @lnum: logical eraseblock number
-+ * @padding1: reserved for future, zeroes
-+ * @data_size: how many bytes of data this logical eraseblock contains
-+ * @used_ebs: total number of used logical eraseblocks in this volume
-+ * @data_pad: how many bytes at the end of this physical eraseblock are not
-+ * used
-+ * @data_crc: CRC checksum of the data stored in this logical eraseblock
-+ * @padding2: reserved for future, zeroes
-+ * @sqnum: sequence number
-+ * @padding3: reserved for future, zeroes
-+ * @hdr_crc: volume identifier header CRC checksum
-+ *
-+ * The @sqnum is the value of the global sequence counter at the time when this
-+ * VID header was created. The global sequence counter is incremented each time
-+ * UBI writes a new VID header to the flash, i.e. when it maps a logical
-+ * eraseblock to a new physical eraseblock. The global sequence counter is an
-+ * unsigned 64-bit integer and we assume it never overflows. The @sqnum
-+ * (sequence number) is used to distinguish between older and newer versions of
-+ * logical eraseblocks.
-+ *
-+ * There are 2 situations when there may be more then one physical eraseblock
-+ * corresponding to the same logical eraseblock, i.e., having the same @vol_id
-+ * and @lnum values in the volume identifier header. Suppose we have a logical
-+ * eraseblock L and it is mapped to the physical eraseblock P.
-+ *
-+ * 1. Because UBI may erase physical eraseblocks asynchronously, the following
-+ * situation is possible: L is asynchronously erased, so P is scheduled for
-+ * erasure, then L is written to,i.e. mapped to another physical eraseblock P1,
-+ * so P1 is written to, then an unclean reboot happens. Result - there are 2
-+ * physical eraseblocks P and P1 corresponding to the same logical eraseblock
-+ * L. But P1 has greater sequence number, so UBI picks P1 when it attaches the
-+ * flash.
-+ *
-+ * 2. From time to time UBI moves logical eraseblocks to other physical
-+ * eraseblocks for wear-leveling reasons. If, for example, UBI moves L from P
-+ * to P1, and an unclean reboot happens before P is physically erased, there
-+ * are two physical eraseblocks P and P1 corresponding to L and UBI has to
-+ * select one of them when the flash is attached. The @sqnum field says which
-+ * PEB is the original (obviously P will have lower @sqnum) and the copy. But
-+ * it is not enough to select the physical eraseblock with the higher sequence
-+ * number, because the unclean reboot could have happen in the middle of the
-+ * copying process, so the data in P is corrupted. It is also not enough to
-+ * just select the physical eraseblock with lower sequence number, because the
-+ * data there may be old (consider a case if more data was added to P1 after
-+ * the copying). Moreover, the unclean reboot may happen when the erasure of P
-+ * was just started, so it result in unstable P, which is "mostly" OK, but
-+ * still has unstable bits.
-+ *
-+ * UBI uses the @copy_flag field to indicate that this logical eraseblock is a
-+ * copy. UBI also calculates data CRC when the data is moved and stores it at
-+ * the @data_crc field of the copy (P1). So when UBI needs to pick one physical
-+ * eraseblock of two (P or P1), the @copy_flag of the newer one (P1) is
-+ * examined. If it is cleared, the situation* is simple and the newer one is
-+ * picked. If it is set, the data CRC of the copy (P1) is examined. If the CRC
-+ * checksum is correct, this physical eraseblock is selected (P1). Otherwise
-+ * the older one (P) is selected.
-+ *
-+ * There are 2 sorts of volumes in UBI: user volumes and internal volumes.
-+ * Internal volumes are not seen from outside and are used for various internal
-+ * UBI purposes. In this implementation there is only one internal volume - the
-+ * layout volume. Internal volumes are the main mechanism of UBI extensions.
-+ * For example, in future one may introduce a journal internal volume. Internal
-+ * volumes have their own reserved range of IDs.
-+ *
-+ * The @compat field is only used for internal volumes and contains the "degree
-+ * of their compatibility". It is always zero for user volumes. This field
-+ * provides a mechanism to introduce UBI extensions and to be still compatible
-+ * with older UBI binaries. For example, if someone introduced a journal in
-+ * future, he would probably use %UBI_COMPAT_DELETE compatibility for the
-+ * journal volume. And in this case, older UBI binaries, which know nothing
-+ * about the journal volume, would just delete this volume and work perfectly
-+ * fine. This is similar to what Ext2fs does when it is fed by an Ext3fs image
-+ * - it just ignores the Ext3fs journal.
-+ *
-+ * The @data_crc field contains the CRC checksum of the contents of the logical
-+ * eraseblock if this is a static volume. In case of dynamic volumes, it does
-+ * not contain the CRC checksum as a rule. The only exception is when the
-+ * data of the physical eraseblock was moved by the wear-leveling sub-system,
-+ * then the wear-leveling sub-system calculates the data CRC and stores it in
-+ * the @data_crc field. And of course, the @copy_flag is %in this case.
-+ *
-+ * The @data_size field is used only for static volumes because UBI has to know
-+ * how many bytes of data are stored in this eraseblock. For dynamic volumes,
-+ * this field usually contains zero. The only exception is when the data of the
-+ * physical eraseblock was moved to another physical eraseblock for
-+ * wear-leveling reasons. In this case, UBI calculates CRC checksum of the
-+ * contents and uses both @data_crc and @data_size fields. In this case, the
-+ * @data_size field contains data size.
-+ *
-+ * The @used_ebs field is used only for static volumes and indicates how many
-+ * eraseblocks the data of the volume takes. For dynamic volumes this field is
-+ * not used and always contains zero.
-+ *
-+ * The @data_pad is calculated when volumes are created using the alignment
-+ * parameter. So, effectively, the @data_pad field reduces the size of logical
-+ * eraseblocks of this volume. This is very handy when one uses block-oriented
-+ * software (say, cramfs) on top of the UBI volume.
-+ */
-+struct ubi_vid_hdr {
-+ __be32 magic;
-+ __u8 version;
-+ __u8 vol_type;
-+ __u8 copy_flag;
-+ __u8 compat;
-+ __be32 vol_id;
-+ __be32 lnum;
-+ __u8 padding1[4];
-+ __be32 data_size;
-+ __be32 used_ebs;
-+ __be32 data_pad;
-+ __be32 data_crc;
-+ __u8 padding2[4];
-+ __be64 sqnum;
-+ __u8 padding3[12];
-+ __be32 hdr_crc;
-+} __attribute__ ((packed));
-+
-+/* Internal UBI volumes count */
-+#define UBI_INT_VOL_COUNT 1
-+
-+/*
-+ * Starting ID of internal volumes. There is reserved room for 4096 internal
-+ * volumes.
-+ */
-+#define UBI_INTERNAL_VOL_START (0x7FFFFFFF - 4096)
-+
-+/* The layout volume contains the volume table */
-+
-+#define UBI_LAYOUT_VOLUME_ID UBI_INTERNAL_VOL_START
-+#define UBI_LAYOUT_VOLUME_TYPE UBI_VID_DYNAMIC
-+#define UBI_LAYOUT_VOLUME_ALIGN 1
-+#define UBI_LAYOUT_VOLUME_EBS 2
-+#define UBI_LAYOUT_VOLUME_NAME "layout volume"
-+#define UBI_LAYOUT_VOLUME_COMPAT UBI_COMPAT_REJECT
-+
-+/* The maximum number of volumes per one UBI device */
-+#define UBI_MAX_VOLUMES 128
-+
-+/* The maximum volume name length */
-+#define UBI_VOL_NAME_MAX 127
-+
-+/* Size of the volume table record */
-+#define UBI_VTBL_RECORD_SIZE sizeof(struct ubi_vtbl_record)
-+
-+/* Size of the volume table record without the ending CRC */
-+#define UBI_VTBL_RECORD_SIZE_CRC (UBI_VTBL_RECORD_SIZE - sizeof(__be32))
-+
-+/**
-+ * struct ubi_vtbl_record - a record in the volume table.
-+ * @reserved_pebs: how many physical eraseblocks are reserved for this volume
-+ * @alignment: volume alignment
-+ * @data_pad: how many bytes are unused at the end of the each physical
-+ * eraseblock to satisfy the requested alignment
-+ * @vol_type: volume type (%UBI_DYNAMIC_VOLUME or %UBI_STATIC_VOLUME)
-+ * @upd_marker: if volume update was started but not finished
-+ * @name_len: volume name length
-+ * @name: the volume name
-+ * @flags: volume flags (%UBI_VTBL_AUTORESIZE_FLG)
-+ * @padding: reserved, zeroes
-+ * @crc: a CRC32 checksum of the record
-+ *
-+ * The volume table records are stored in the volume table, which is stored in
-+ * the layout volume. The layout volume consists of 2 logical eraseblock, each
-+ * of which contains a copy of the volume table (i.e., the volume table is
-+ * duplicated). The volume table is an array of &struct ubi_vtbl_record
-+ * objects indexed by the volume ID.
-+ *
-+ * If the size of the logical eraseblock is large enough to fit
-+ * %UBI_MAX_VOLUMES records, the volume table contains %UBI_MAX_VOLUMES
-+ * records. Otherwise, it contains as many records as it can fit (i.e., size of
-+ * logical eraseblock divided by sizeof(struct ubi_vtbl_record)).
-+ *
-+ * The @upd_marker flag is used to implement volume update. It is set to %1
-+ * before update and set to %0 after the update. So if the update operation was
-+ * interrupted, UBI knows that the volume is corrupted.
-+ *
-+ * The @alignment field is specified when the volume is created and cannot be
-+ * later changed. It may be useful, for example, when a block-oriented file
-+ * system works on top of UBI. The @data_pad field is calculated using the
-+ * logical eraseblock size and @alignment. The alignment must be multiple to the
-+ * minimal flash I/O unit. If @alignment is 1, all the available space of
-+ * the physical eraseblocks is used.
-+ *
-+ * Empty records contain all zeroes and the CRC checksum of those zeroes.
-+ */
-+struct ubi_vtbl_record {
-+ __be32 reserved_pebs;
-+ __be32 alignment;
-+ __be32 data_pad;
-+ __u8 vol_type;
-+ __u8 upd_marker;
-+ __be16 name_len;
-+ __u8 name[UBI_VOL_NAME_MAX+1];
-+ __u8 flags;
-+ __u8 padding[23];
-+ __be32 crc;
-+} __attribute__ ((packed));
-+
-+#endif /* !__UBI_MEDIA_H__ */
-diff -Nurd linux-2.6.24.orig/drivers/mtd/ubi/ubi.h linux-2.6.24/drivers/mtd/ubi/ubi.h
---- linux-2.6.24.orig/drivers/mtd/ubi/ubi.h 2009-04-17 09:45:11.000000000 +0200
-+++ linux-2.6.24/drivers/mtd/ubi/ubi.h 2009-04-17 09:49:26.000000000 +0200
-@@ -37,10 +37,9 @@
- #include <linux/string.h>
- #include <linux/vmalloc.h>
- #include <linux/mtd/mtd.h>
--
--#include <mtd/ubi-header.h>
- #include <linux/mtd/ubi.h>
-
-+#include "ubi-media.h"
- #include "scan.h"
- #include "debug.h"
-
-@@ -75,15 +74,22 @@
- #define UBI_IO_RETRIES 3
-
- /*
-- * Error codes returned by the I/O unit.
-+ * Length of the protection queue. The length is effectively equivalent to the
-+ * number of (global) erase cycles PEBs are protected from the wear-leveling
-+ * worker.
-+ */
-+#define UBI_PROT_QUEUE_LEN 10
-+
-+/*
-+ * Error codes returned by the I/O sub-system.
- *
- * UBI_IO_PEB_EMPTY: the physical eraseblock is empty, i.e. it contains only
-- * 0xFF bytes
-+ * %0xFF bytes
- * UBI_IO_PEB_FREE: the physical eraseblock is free, i.e. it contains only a
-- * valid erase counter header, and the rest are %0xFF bytes
-+ * valid erase counter header, and the rest are %0xFF bytes
- * UBI_IO_BAD_EC_HDR: the erase counter header is corrupted (bad magic or CRC)
- * UBI_IO_BAD_VID_HDR: the volume identifier header is corrupted (bad magic or
-- * CRC)
-+ * CRC)
- * UBI_IO_BITFLIPS: bit-flips were detected and corrected
- */
- enum {
-@@ -94,8 +100,68 @@
- UBI_IO_BITFLIPS
- };
-
--extern int ubi_devices_cnt;
--extern struct ubi_device *ubi_devices[];
-+/**
-+ * struct ubi_wl_entry - wear-leveling entry.
-+ * @u.rb: link in the corresponding (free/used) RB-tree
-+ * @u.list: link in the protection queue
-+ * @ec: erase counter
-+ * @pnum: physical eraseblock number
-+ *
-+ * This data structure is used in the WL sub-system. Each physical eraseblock
-+ * has a corresponding &struct wl_entry object which may be kept in different
-+ * RB-trees. See WL sub-system for details.
-+ */
-+struct ubi_wl_entry {
-+ union {
-+ struct rb_node rb;
-+ struct list_head list;
-+ } u;
-+ int ec;
-+ int pnum;
-+};
-+
-+/**
-+ * struct ubi_ltree_entry - an entry in the lock tree.
-+ * @rb: links RB-tree nodes
-+ * @vol_id: volume ID of the locked logical eraseblock
-+ * @lnum: locked logical eraseblock number
-+ * @users: how many tasks are using this logical eraseblock or wait for it
-+ * @mutex: read/write mutex to implement read/write access serialization to
-+ * the (@vol_id, @lnum) logical eraseblock
-+ *
-+ * This data structure is used in the EBA sub-system to implement per-LEB
-+ * locking. When a logical eraseblock is being locked - corresponding
-+ * &struct ubi_ltree_entry object is inserted to the lock tree (@ubi->ltree).
-+ * See EBA sub-system for details.
-+ */
-+struct ubi_ltree_entry {
-+ struct rb_node rb;
-+ int vol_id;
-+ int lnum;
-+ int users;
-+ struct rw_semaphore mutex;
-+};
-+
-+/**
-+ * struct ubi_rename_entry - volume re-name description data structure.
-+ * @new_name_len: new volume name length
-+ * @new_name: new volume name
-+ * @remove: if not zero, this volume should be removed, not re-named
-+ * @desc: descriptor of the volume
-+ * @list: links re-name entries into a list
-+ *
-+ * This data structure is utilized in the multiple volume re-name code. Namely,
-+ * UBI first creates a list of &struct ubi_rename_entry objects from the
-+ * &struct ubi_rnvol_req request object, and then utilizes this list to do all
-+ * the job.
-+ */
-+struct ubi_rename_entry {
-+ int new_name_len;
-+ char new_name[UBI_VOL_NAME_MAX + 1];
-+ int remove;
-+ struct ubi_volume_desc *desc;
-+ struct list_head list;
-+};
-
- struct ubi_volume_desc;
-
-@@ -105,11 +171,10 @@
- * @cdev: character device object to create character device
- * @ubi: reference to the UBI device description object
- * @vol_id: volume ID
-+ * @ref_count: volume reference count
- * @readers: number of users holding this volume in read-only mode
- * @writers: number of users holding this volume in read-write mode
- * @exclusive: whether somebody holds this volume in exclusive mode
-- * @removed: if the volume was removed
-- * @checked: if this static volume was checked
- *
- * @reserved_pebs: how many physical eraseblocks are reserved for this volume
- * @vol_type: volume type (%UBI_DYNAMIC_VOLUME or %UBI_STATIC_VOLUME)
-@@ -117,21 +182,30 @@
- * @used_ebs: how many logical eraseblocks in this volume contain data
- * @last_eb_bytes: how many bytes are stored in the last logical eraseblock
- * @used_bytes: how many bytes of data this volume contains
-- * @upd_marker: non-zero if the update marker is set for this volume
-- * @corrupted: non-zero if the volume is corrupted (static volumes only)
- * @alignment: volume alignment
- * @data_pad: how many bytes are not used at the end of physical eraseblocks to
-- * satisfy the requested alignment
-+ * satisfy the requested alignment
- * @name_len: volume name length
- * @name: volume name
- *
-- * @updating: whether the volume is being updated
- * @upd_ebs: how many eraseblocks are expected to be updated
-- * @upd_bytes: how many bytes are expected to be received
-- * @upd_received: how many update bytes were already received
-- * @upd_buf: update buffer which is used to collect update data
-+ * @ch_lnum: LEB number which is being changing by the atomic LEB change
-+ * operation
-+ * @ch_dtype: data persistency type which is being changing by the atomic LEB
-+ * change operation
-+ * @upd_bytes: how many bytes are expected to be received for volume update or
-+ * atomic LEB change
-+ * @upd_received: how many bytes were already received for volume update or
-+ * atomic LEB change
-+ * @upd_buf: update buffer which is used to collect update data or data for
-+ * atomic LEB change
- *
- * @eba_tbl: EBA table of this volume (LEB->PEB mapping)
-+ * @checked: %1 if this static volume was checked
-+ * @corrupted: %1 if the volume is corrupted (static volumes only)
-+ * @upd_marker: %1 if the update marker is set for this volume
-+ * @updating: %1 if the volume is being updated
-+ * @changing_leb: %1 if the atomic LEB change ioctl command is in progress
- *
- * @gluebi_desc: gluebi UBI volume descriptor
- * @gluebi_refcount: reference count of the gluebi MTD device
-@@ -150,11 +224,10 @@
- struct cdev cdev;
- struct ubi_device *ubi;
- int vol_id;
-+ int ref_count;
- int readers;
- int writers;
- int exclusive;
-- int removed;
-- int checked;
-
- int reserved_pebs;
- int vol_type;
-@@ -162,23 +235,31 @@
- int used_ebs;
- int last_eb_bytes;
- long long used_bytes;
-- int upd_marker;
-- int corrupted;
- int alignment;
- int data_pad;
- int name_len;
-- char name[UBI_VOL_NAME_MAX+1];
-+ char name[UBI_VOL_NAME_MAX + 1];
-
-- int updating;
- int upd_ebs;
-+ int ch_lnum;
-+ int ch_dtype;
- long long upd_bytes;
- long long upd_received;
- void *upd_buf;
-
- int *eba_tbl;
-+ unsigned int checked:1;
-+ unsigned int corrupted:1;
-+ unsigned int upd_marker:1;
-+ unsigned int updating:1;
-+ unsigned int changing_leb:1;
-
- #ifdef CONFIG_MTD_UBI_GLUEBI
-- /* Gluebi-related stuff may be compiled out */
-+ /*
-+ * Gluebi-related stuff may be compiled out.
-+ * Note: this should not be built into UBI but should be a separate
-+ * ubimtd driver which works on top of UBI and emulates MTD devices.
-+ */
- struct ubi_volume_desc *gluebi_desc;
- int gluebi_refcount;
- struct mtd_info gluebi_mtd;
-@@ -186,8 +267,7 @@
- };
-
- /**
-- * struct ubi_volume_desc - descriptor of the UBI volume returned when it is
-- * opened.
-+ * struct ubi_volume_desc - UBI volume descriptor returned when it is opened.
- * @vol: reference to the corresponding volume description object
- * @mode: open mode (%UBI_READONLY, %UBI_READWRITE, or %UBI_EXCLUSIVE)
- */
-@@ -200,28 +280,31 @@
-
- /**
- * struct ubi_device - UBI device description structure
-- * @dev: class device object to use the the Linux device model
-+ * @dev: UBI device object to use the the Linux device model
- * @cdev: character device object to create character device
- * @ubi_num: UBI device number
- * @ubi_name: UBI device name
-- * @major: character device major number
- * @vol_count: number of volumes in this UBI device
- * @volumes: volumes of this UBI device
- * @volumes_lock: protects @volumes, @rsvd_pebs, @avail_pebs, beb_rsvd_pebs,
-- * @beb_rsvd_level, @bad_peb_count, @good_peb_count, @vol_count, @vol->readers,
-- * @vol->writers, @vol->exclusive, @vol->removed, @vol->mapping and
-- * @vol->eba_tbl.
-+ * @beb_rsvd_level, @bad_peb_count, @good_peb_count, @vol_count,
-+ * @vol->readers, @vol->writers, @vol->exclusive,
-+ * @vol->ref_count, @vol->mapping and @vol->eba_tbl.
-+ * @ref_count: count of references on the UBI device
- *
- * @rsvd_pebs: count of reserved physical eraseblocks
- * @avail_pebs: count of available physical eraseblocks
- * @beb_rsvd_pebs: how many physical eraseblocks are reserved for bad PEB
-- * handling
-+ * handling
- * @beb_rsvd_level: normal level of PEBs reserved for bad PEB handling
- *
-+ * @autoresize_vol_id: ID of the volume which has to be auto-resized at the end
-+ * of UBI initialization
- * @vtbl_slots: how many slots are available in the volume table
- * @vtbl_size: size of the volume table in bytes
- * @vtbl: in-RAM volume table copy
-- * @vtbl_mutex: protects on-flash volume table
-+ * @volumes_mutex: protects on-flash volume table and serializes volume
-+ * changes, like creation, deletion, update, re-size and re-name
- *
- * @max_ec: current highest erase counter value
- * @mean_ec: current mean erase counter value
-@@ -234,19 +317,19 @@
- * @used: RB-tree of used physical eraseblocks
- * @free: RB-tree of free physical eraseblocks
- * @scrub: RB-tree of physical eraseblocks which need scrubbing
-- * @prot: protection trees
-- * @prot.pnum: protection tree indexed by physical eraseblock numbers
-- * @prot.aec: protection tree indexed by absolute erase counter value
-- * @wl_lock: protects the @used, @free, @prot, @lookuptbl, @abs_ec, @move_from,
-- * @move_to, @move_to_put @erase_pending, @wl_scheduled, and @works
-- * fields
-+ * @pq: protection queue (contain physical eraseblocks which are temporarily
-+ * protected from the wear-leveling worker)
-+ * @pq_head: protection queue head
-+ * @wl_lock: protects the @used, @free, @pq, @pq_head, @lookuptbl, @move_from,
-+ * @move_to, @move_to_put @erase_pending, @wl_scheduled and @works
-+ * fields
-+ * @move_mutex: serializes eraseblock moves
-+ * @work_sem: synchronizes the WL worker with use tasks
- * @wl_scheduled: non-zero if the wear-leveling was scheduled
- * @lookuptbl: a table to quickly find a &struct ubi_wl_entry object for any
-- * physical eraseblock
-- * @abs_ec: absolute erase counter
-+ * physical eraseblock
- * @move_from: physical eraseblock from where the data is being moved
- * @move_to: physical eraseblock where the data is being moved to
-- * @move_from_put: if the "from" PEB was put
- * @move_to_put: if the "to" PEB was put
- * @works: list of pending works
- * @works_count: count of pending works
-@@ -264,68 +347,70 @@
- * @ro_mode: if the UBI device is in read-only mode
- * @leb_size: logical eraseblock size
- * @leb_start: starting offset of logical eraseblocks within physical
-- * eraseblocks
-+ * eraseblocks
- * @ec_hdr_alsize: size of the EC header aligned to @hdrs_min_io_size
- * @vid_hdr_alsize: size of the VID header aligned to @hdrs_min_io_size
- * @vid_hdr_offset: starting offset of the volume identifier header (might be
-- * unaligned)
-+ * unaligned)
- * @vid_hdr_aloffset: starting offset of the VID header aligned to
- * @hdrs_min_io_size
- * @vid_hdr_shift: contains @vid_hdr_offset - @vid_hdr_aloffset
- * @bad_allowed: whether the MTD device admits of bad physical eraseblocks or
-- * not
-+ * not
- * @mtd: MTD device descriptor
- *
- * @peb_buf1: a buffer of PEB size used for different purposes
- * @peb_buf2: another buffer of PEB size used for different purposes
-- * @buf_mutex: proptects @peb_buf1 and @peb_buf2
-- * @dbg_peb_buf: buffer of PEB size used for debugging
-- * @dbg_buf_mutex: proptects @dbg_peb_buf
-+ * @buf_mutex: protects @peb_buf1 and @peb_buf2
-+ * @ckvol_mutex: serializes static volume checking when opening
-+ * @mult_mutex: serializes operations on multiple volumes, like re-naming
-+ * @dbg_peb_buf: buffer of PEB size used for debugging
-+ * @dbg_buf_mutex: protects @dbg_peb_buf
- */
- struct ubi_device {
- struct cdev cdev;
- struct device dev;
- int ubi_num;
- char ubi_name[sizeof(UBI_NAME_STR)+5];
-- int major;
- int vol_count;
- struct ubi_volume *volumes[UBI_MAX_VOLUMES+UBI_INT_VOL_COUNT];
- spinlock_t volumes_lock;
-+ int ref_count;
-
- int rsvd_pebs;
- int avail_pebs;
- int beb_rsvd_pebs;
- int beb_rsvd_level;
-
-+ int autoresize_vol_id;
- int vtbl_slots;
- int vtbl_size;
- struct ubi_vtbl_record *vtbl;
-- struct mutex vtbl_mutex;
-+ struct mutex volumes_mutex;
-
- int max_ec;
-+ /* Note, mean_ec is not updated run-time - should be fixed */
- int mean_ec;
-
-- /* EBA unit's stuff */
-+ /* EBA sub-system's stuff */
- unsigned long long global_sqnum;
- spinlock_t ltree_lock;
- struct rb_root ltree;
- struct mutex alc_mutex;
-
-- /* Wear-leveling unit's stuff */
-+ /* Wear-leveling sub-system's stuff */
- struct rb_root used;
- struct rb_root free;
- struct rb_root scrub;
-- struct {
-- struct rb_root pnum;
-- struct rb_root aec;
-- } prot;
-+ struct list_head pq[UBI_PROT_QUEUE_LEN];
-+ int pq_head;
- spinlock_t wl_lock;
-+ struct mutex move_mutex;
-+ struct rw_semaphore work_sem;
- int wl_scheduled;
- struct ubi_wl_entry **lookuptbl;
-- unsigned long long abs_ec;
- struct ubi_wl_entry *move_from;
- struct ubi_wl_entry *move_to;
-- int move_from_put;
- int move_to_put;
- struct list_head works;
- int works_count;
-@@ -333,7 +418,7 @@
- int thread_enabled;
- char bgt_name[sizeof(UBI_BGT_NAME_PATTERN)+2];
-
-- /* I/O unit's stuff */
-+ /* I/O sub-system's stuff */
- long long flash_size;
- int peb_count;
- int peb_size;
-@@ -355,35 +440,49 @@
- void *peb_buf1;
- void *peb_buf2;
- struct mutex buf_mutex;
-+ struct mutex ckvol_mutex;
-+ struct mutex mult_mutex;
- #ifdef CONFIG_MTD_UBI_DEBUG
- void *dbg_peb_buf;
- struct mutex dbg_buf_mutex;
- #endif
- };
-
--extern struct file_operations ubi_cdev_operations;
--extern struct file_operations ubi_vol_cdev_operations;
-+extern struct kmem_cache *ubi_wl_entry_slab;
-+extern const struct file_operations ubi_ctrl_cdev_operations;
-+extern const struct file_operations ubi_cdev_operations;
-+extern const struct file_operations ubi_vol_cdev_operations;
- extern struct class *ubi_class;
-+extern struct mutex ubi_devices_mutex;
-
- /* vtbl.c */
- int ubi_change_vtbl_record(struct ubi_device *ubi, int idx,
- struct ubi_vtbl_record *vtbl_rec);
-+int ubi_vtbl_rename_volumes(struct ubi_device *ubi,
-+ struct list_head *rename_list);
- int ubi_read_volume_table(struct ubi_device *ubi, struct ubi_scan_info *si);
-
- /* vmt.c */
- int ubi_create_volume(struct ubi_device *ubi, struct ubi_mkvol_req *req);
--int ubi_remove_volume(struct ubi_volume_desc *desc);
-+int ubi_remove_volume(struct ubi_volume_desc *desc, int no_vtbl);
- int ubi_resize_volume(struct ubi_volume_desc *desc, int reserved_pebs);
--int ubi_add_volume(struct ubi_device *ubi, int vol_id);
--void ubi_free_volume(struct ubi_device *ubi, int vol_id);
-+int ubi_rename_volumes(struct ubi_device *ubi, struct list_head *rename_list);
-+int ubi_add_volume(struct ubi_device *ubi, struct ubi_volume *vol);
-+void ubi_free_volume(struct ubi_device *ubi, struct ubi_volume *vol);
-
- /* upd.c */
--int ubi_start_update(struct ubi_device *ubi, int vol_id, long long bytes);
--int ubi_more_update_data(struct ubi_device *ubi, int vol_id,
-+int ubi_start_update(struct ubi_device *ubi, struct ubi_volume *vol,
-+ long long bytes);
-+int ubi_more_update_data(struct ubi_device *ubi, struct ubi_volume *vol,
- const void __user *buf, int count);
-+int ubi_start_leb_change(struct ubi_device *ubi, struct ubi_volume *vol,
-+ const struct ubi_leb_change_req *req);
-+int ubi_more_leb_change_data(struct ubi_device *ubi, struct ubi_volume *vol,
-+ const void __user *buf, int count);
-
- /* misc.c */
--int ubi_calc_data_len(const struct ubi_device *ubi, const void *buf, int length);
-+int ubi_calc_data_len(const struct ubi_device *ubi, const void *buf,
-+ int length);
- int ubi_check_volume(struct ubi_device *ubi, int vol_id);
- void ubi_calculate_reserved(struct ubi_device *ubi);
-
-@@ -399,20 +498,20 @@
- #endif
-
- /* eba.c */
--int ubi_eba_unmap_leb(struct ubi_device *ubi, int vol_id, int lnum);
--int ubi_eba_read_leb(struct ubi_device *ubi, int vol_id, int lnum, void *buf,
-- int offset, int len, int check);
--int ubi_eba_write_leb(struct ubi_device *ubi, int vol_id, int lnum,
-+int ubi_eba_unmap_leb(struct ubi_device *ubi, struct ubi_volume *vol,
-+ int lnum);
-+int ubi_eba_read_leb(struct ubi_device *ubi, struct ubi_volume *vol, int lnum,
-+ void *buf, int offset, int len, int check);
-+int ubi_eba_write_leb(struct ubi_device *ubi, struct ubi_volume *vol, int lnum,
- const void *buf, int offset, int len, int dtype);
--int ubi_eba_write_leb_st(struct ubi_device *ubi, int vol_id, int lnum,
-- const void *buf, int len, int dtype,
-+int ubi_eba_write_leb_st(struct ubi_device *ubi, struct ubi_volume *vol,
-+ int lnum, const void *buf, int len, int dtype,
- int used_ebs);
--int ubi_eba_atomic_leb_change(struct ubi_device *ubi, int vol_id, int lnum,
-- const void *buf, int len, int dtype);
-+int ubi_eba_atomic_leb_change(struct ubi_device *ubi, struct ubi_volume *vol,
-+ int lnum, const void *buf, int len, int dtype);
- int ubi_eba_copy_leb(struct ubi_device *ubi, int from, int to,
- struct ubi_vid_hdr *vid_hdr);
- int ubi_eba_init_scan(struct ubi_device *ubi, struct ubi_scan_info *si);
--void ubi_eba_close(const struct ubi_device *ubi);
-
- /* wl.c */
- int ubi_wl_get_peb(struct ubi_device *ubi, int dtype);
-@@ -421,6 +520,7 @@
- int ubi_wl_scrub_peb(struct ubi_device *ubi, int pnum);
- int ubi_wl_init_scan(struct ubi_device *ubi, struct ubi_scan_info *si);
- void ubi_wl_close(struct ubi_device *ubi);
-+int ubi_thread(void *u);
-
- /* io.c */
- int ubi_io_read(const struct ubi_device *ubi, void *buf, int pnum, int offset,
-@@ -439,6 +539,14 @@
- int ubi_io_write_vid_hdr(struct ubi_device *ubi, int pnum,
- struct ubi_vid_hdr *vid_hdr);
-
-+/* build.c */
-+int ubi_attach_mtd_dev(struct mtd_info *mtd, int ubi_num, int vid_hdr_offset);
-+int ubi_detach_mtd_dev(int ubi_num, int anyway);
-+struct ubi_device *ubi_get_device(int ubi_num);
-+void ubi_put_device(struct ubi_device *ubi);
-+struct ubi_device *ubi_get_by_major(int major);
-+int ubi_major2num(int major);
-+
- /*
- * ubi_rb_for_each_entry - walk an RB-tree.
- * @rb: a pointer to type 'struct rb_node' to to use as a loop counter
-@@ -523,8 +631,10 @@
- */
- static inline void ubi_ro_mode(struct ubi_device *ubi)
- {
-- ubi->ro_mode = 1;
-- ubi_warn("switch to read-only mode");
-+ if (!ubi->ro_mode) {
-+ ubi->ro_mode = 1;
-+ ubi_warn("switch to read-only mode");
-+ }
- }
-
- /**
-diff -Nurd linux-2.6.24.orig/drivers/mtd/ubi/upd.c linux-2.6.24/drivers/mtd/ubi/upd.c
---- linux-2.6.24.orig/drivers/mtd/ubi/upd.c 2009-04-17 09:45:11.000000000 +0200
-+++ linux-2.6.24/drivers/mtd/ubi/upd.c 2009-04-17 09:49:26.000000000 +0200
-@@ -22,7 +22,8 @@
- */
-
- /*
-- * This file contains implementation of the volume update functionality.
-+ * This file contains implementation of the volume update and atomic LEB change
-+ * functionality.
- *
- * The update operation is based on the per-volume update marker which is
- * stored in the volume table. The update marker is set before the update
-@@ -38,36 +39,37 @@
- */
-
- #include <linux/err.h>
--#include <asm/uaccess.h>
--#include <asm/div64.h>
-+#include <linux/uaccess.h>
- #include "ubi.h"
-
- /**
- * set_update_marker - set update marker.
- * @ubi: UBI device description object
-- * @vol_id: volume ID
-+ * @vol: volume description object
- *
-- * This function sets the update marker flag for volume @vol_id. Returns zero
-+ * This function sets the update marker flag for volume @vol. Returns zero
- * in case of success and a negative error code in case of failure.
- */
--static int set_update_marker(struct ubi_device *ubi, int vol_id)
-+static int set_update_marker(struct ubi_device *ubi, struct ubi_volume *vol)
- {
- int err;
- struct ubi_vtbl_record vtbl_rec;
-- struct ubi_volume *vol = ubi->volumes[vol_id];
-
-- dbg_msg("set update marker for volume %d", vol_id);
-+ dbg_gen("set update marker for volume %d", vol->vol_id);
-
- if (vol->upd_marker) {
-- ubi_assert(ubi->vtbl[vol_id].upd_marker);
-- dbg_msg("already set");
-+ ubi_assert(ubi->vtbl[vol->vol_id].upd_marker);
-+ dbg_gen("already set");
- return 0;
- }
-
-- memcpy(&vtbl_rec, &ubi->vtbl[vol_id], sizeof(struct ubi_vtbl_record));
-+ memcpy(&vtbl_rec, &ubi->vtbl[vol->vol_id],
-+ sizeof(struct ubi_vtbl_record));
- vtbl_rec.upd_marker = 1;
-
-- err = ubi_change_vtbl_record(ubi, vol_id, &vtbl_rec);
-+ mutex_lock(&ubi->volumes_mutex);
-+ err = ubi_change_vtbl_record(ubi, vol->vol_id, &vtbl_rec);
-+ mutex_unlock(&ubi->volumes_mutex);
- vol->upd_marker = 1;
- return err;
- }
-@@ -75,38 +77,40 @@
- /**
- * clear_update_marker - clear update marker.
- * @ubi: UBI device description object
-- * @vol_id: volume ID
-+ * @vol: volume description object
- * @bytes: new data size in bytes
- *
-- * This function clears the update marker for volume @vol_id, sets new volume
-+ * This function clears the update marker for volume @vol, sets new volume
- * data size and clears the "corrupted" flag (static volumes only). Returns
- * zero in case of success and a negative error code in case of failure.
- */
--static int clear_update_marker(struct ubi_device *ubi, int vol_id, long long bytes)
-+static int clear_update_marker(struct ubi_device *ubi, struct ubi_volume *vol,
-+ long long bytes)
- {
- int err;
-- uint64_t tmp;
- struct ubi_vtbl_record vtbl_rec;
-- struct ubi_volume *vol = ubi->volumes[vol_id];
-
-- dbg_msg("clear update marker for volume %d", vol_id);
-+ dbg_gen("clear update marker for volume %d", vol->vol_id);
-
-- memcpy(&vtbl_rec, &ubi->vtbl[vol_id], sizeof(struct ubi_vtbl_record));
-+ memcpy(&vtbl_rec, &ubi->vtbl[vol->vol_id],
-+ sizeof(struct ubi_vtbl_record));
- ubi_assert(vol->upd_marker && vtbl_rec.upd_marker);
- vtbl_rec.upd_marker = 0;
-
- if (vol->vol_type == UBI_STATIC_VOLUME) {
- vol->corrupted = 0;
-- vol->used_bytes = tmp = bytes;
-- vol->last_eb_bytes = do_div(tmp, vol->usable_leb_size);
-- vol->used_ebs = tmp;
-+ vol->used_bytes = bytes;
-+ vol->used_ebs = div_u64_rem(bytes, vol->usable_leb_size,
-+ &vol->last_eb_bytes);
- if (vol->last_eb_bytes)
- vol->used_ebs += 1;
- else
- vol->last_eb_bytes = vol->usable_leb_size;
- }
-
-- err = ubi_change_vtbl_record(ubi, vol_id, &vtbl_rec);
-+ mutex_lock(&ubi->volumes_mutex);
-+ err = ubi_change_vtbl_record(ubi, vol->vol_id, &vtbl_rec);
-+ mutex_unlock(&ubi->volumes_mutex);
- vol->upd_marker = 0;
- return err;
- }
-@@ -114,35 +118,35 @@
- /**
- * ubi_start_update - start volume update.
- * @ubi: UBI device description object
-- * @vol_id: volume ID
-+ * @vol: volume description object
- * @bytes: update bytes
- *
- * This function starts volume update operation. If @bytes is zero, the volume
- * is just wiped out. Returns zero in case of success and a negative error code
- * in case of failure.
- */
--int ubi_start_update(struct ubi_device *ubi, int vol_id, long long bytes)
-+int ubi_start_update(struct ubi_device *ubi, struct ubi_volume *vol,
-+ long long bytes)
- {
- int i, err;
-- uint64_t tmp;
-- struct ubi_volume *vol = ubi->volumes[vol_id];
-
-- dbg_msg("start update of volume %d, %llu bytes", vol_id, bytes);
-+ dbg_gen("start update of volume %d, %llu bytes", vol->vol_id, bytes);
-+ ubi_assert(!vol->updating && !vol->changing_leb);
- vol->updating = 1;
-
-- err = set_update_marker(ubi, vol_id);
-+ err = set_update_marker(ubi, vol);
- if (err)
- return err;
-
- /* Before updating - wipe out the volume */
- for (i = 0; i < vol->reserved_pebs; i++) {
-- err = ubi_eba_unmap_leb(ubi, vol_id, i);
-+ err = ubi_eba_unmap_leb(ubi, vol, i);
- if (err)
- return err;
- }
-
- if (bytes == 0) {
-- err = clear_update_marker(ubi, vol_id, 0);
-+ err = clear_update_marker(ubi, vol, 0);
- if (err)
- return err;
- err = ubi_wl_flush(ubi);
-@@ -154,18 +158,50 @@
- if (!vol->upd_buf)
- return -ENOMEM;
-
-- tmp = bytes;
-- vol->upd_ebs = !!do_div(tmp, vol->usable_leb_size);
-- vol->upd_ebs += tmp;
-+ vol->upd_ebs = div_u64(bytes + vol->usable_leb_size - 1,
-+ vol->usable_leb_size);
- vol->upd_bytes = bytes;
- vol->upd_received = 0;
- return 0;
- }
-
- /**
-+ * ubi_start_leb_change - start atomic LEB change.
-+ * @ubi: UBI device description object
-+ * @vol: volume description object
-+ * @req: operation request
-+ *
-+ * This function starts atomic LEB change operation. Returns zero in case of
-+ * success and a negative error code in case of failure.
-+ */
-+int ubi_start_leb_change(struct ubi_device *ubi, struct ubi_volume *vol,
-+ const struct ubi_leb_change_req *req)
-+{
-+ ubi_assert(!vol->updating && !vol->changing_leb);
-+
-+ dbg_gen("start changing LEB %d:%d, %u bytes",
-+ vol->vol_id, req->lnum, req->bytes);
-+ if (req->bytes == 0)
-+ return ubi_eba_atomic_leb_change(ubi, vol, req->lnum, NULL, 0,
-+ req->dtype);
-+
-+ vol->upd_bytes = req->bytes;
-+ vol->upd_received = 0;
-+ vol->changing_leb = 1;
-+ vol->ch_lnum = req->lnum;
-+ vol->ch_dtype = req->dtype;
-+
-+ vol->upd_buf = vmalloc(req->bytes);
-+ if (!vol->upd_buf)
-+ return -ENOMEM;
-+
-+ return 0;
-+}
-+
-+/**
- * write_leb - write update data.
- * @ubi: UBI device description object
-- * @vol_id: volume ID
-+ * @vol: volume description object
- * @lnum: logical eraseblock number
- * @buf: data to write
- * @len: data size
-@@ -191,25 +227,22 @@
- * This function returns zero in case of success and a negative error code in
- * case of failure.
- */
--static int write_leb(struct ubi_device *ubi, int vol_id, int lnum, void *buf,
-- int len, int used_ebs)
-+static int write_leb(struct ubi_device *ubi, struct ubi_volume *vol, int lnum,
-+ void *buf, int len, int used_ebs)
- {
-- int err, l;
-- struct ubi_volume *vol = ubi->volumes[vol_id];
-+ int err;
-
- if (vol->vol_type == UBI_DYNAMIC_VOLUME) {
-- l = ALIGN(len, ubi->min_io_size);
-- memset(buf + len, 0xFF, l - len);
-+ int l = ALIGN(len, ubi->min_io_size);
-
-- l = ubi_calc_data_len(ubi, buf, l);
-- if (l == 0) {
-- dbg_msg("all %d bytes contain 0xFF - skip", len);
-+ memset(buf + len, 0xFF, l - len);
-+ len = ubi_calc_data_len(ubi, buf, l);
-+ if (len == 0) {
-+ dbg_gen("all %d bytes contain 0xFF - skip", len);
- return 0;
- }
-- if (len != l)
-- dbg_msg("skip last %d bytes (0xFF)", len - l);
-
-- err = ubi_eba_write_leb(ubi, vol_id, lnum, buf, 0, l,
-+ err = ubi_eba_write_leb(ubi, vol, lnum, buf, 0, len,
- UBI_UNKNOWN);
- } else {
- /*
-@@ -222,7 +255,7 @@
- * contain zeros, not random trash.
- */
- memset(buf + len, 0, vol->usable_leb_size - len);
-- err = ubi_eba_write_leb_st(ubi, vol_id, lnum, buf, len,
-+ err = ubi_eba_write_leb_st(ubi, vol, lnum, buf, len,
- UBI_UNKNOWN, used_ebs);
- }
-
-@@ -231,33 +264,29 @@
-
- /**
- * ubi_more_update_data - write more update data.
-+ * @ubi: UBI device description object
- * @vol: volume description object
- * @buf: write data (user-space memory buffer)
- * @count: how much bytes to write
- *
- * This function writes more data to the volume which is being updated. It may
-- * be called arbitrary number of times until all of the update data arrive.
-- * This function returns %0 in case of success, number of bytes written during
-- * the last call if the whole volume update was successfully finished, and a
-+ * be called arbitrary number of times until all the update data arriveis. This
-+ * function returns %0 in case of success, number of bytes written during the
-+ * last call if the whole volume update has been successfully finished, and a
- * negative error code in case of failure.
- */
--int ubi_more_update_data(struct ubi_device *ubi, int vol_id,
-+int ubi_more_update_data(struct ubi_device *ubi, struct ubi_volume *vol,
- const void __user *buf, int count)
- {
-- uint64_t tmp;
-- struct ubi_volume *vol = ubi->volumes[vol_id];
- int lnum, offs, err = 0, len, to_write = count;
-
-- dbg_msg("write %d of %lld bytes, %lld already passed",
-+ dbg_gen("write %d of %lld bytes, %lld already passed",
- count, vol->upd_bytes, vol->upd_received);
-
- if (ubi->ro_mode)
- return -EROFS;
-
-- tmp = vol->upd_received;
-- offs = do_div(tmp, vol->usable_leb_size);
-- lnum = tmp;
--
-+ lnum = div_u64_rem(vol->upd_received, vol->usable_leb_size, &offs);
- if (vol->upd_received + count > vol->upd_bytes)
- to_write = count = vol->upd_bytes - vol->upd_received;
-
-@@ -290,8 +319,8 @@
- * is the last chunk, it's time to flush the buffer.
- */
- ubi_assert(flush_len <= vol->usable_leb_size);
-- err = write_leb(ubi, vol_id, lnum, vol->upd_buf,
-- flush_len, vol->upd_ebs);
-+ err = write_leb(ubi, vol, lnum, vol->upd_buf, flush_len,
-+ vol->upd_ebs);
- if (err)
- return err;
- }
-@@ -318,8 +347,8 @@
-
- if (len == vol->usable_leb_size ||
- vol->upd_received + len == vol->upd_bytes) {
-- err = write_leb(ubi, vol_id, lnum, vol->upd_buf, len,
-- vol->upd_ebs);
-+ err = write_leb(ubi, vol, lnum, vol->upd_buf,
-+ len, vol->upd_ebs);
- if (err)
- break;
- }
-@@ -333,16 +362,72 @@
- ubi_assert(vol->upd_received <= vol->upd_bytes);
- if (vol->upd_received == vol->upd_bytes) {
- /* The update is finished, clear the update marker */
-- err = clear_update_marker(ubi, vol_id, vol->upd_bytes);
-+ err = clear_update_marker(ubi, vol, vol->upd_bytes);
- if (err)
- return err;
- err = ubi_wl_flush(ubi);
- if (err == 0) {
-+ vol->updating = 0;
- err = to_write;
- vfree(vol->upd_buf);
-- vol->updating = 0;
- }
- }
-
- return err;
- }
-+
-+/**
-+ * ubi_more_leb_change_data - accept more data for atomic LEB change.
-+ * @ubi: UBI device description object
-+ * @vol: volume description object
-+ * @buf: write data (user-space memory buffer)
-+ * @count: how much bytes to write
-+ *
-+ * This function accepts more data to the volume which is being under the
-+ * "atomic LEB change" operation. It may be called arbitrary number of times
-+ * until all data arrives. This function returns %0 in case of success, number
-+ * of bytes written during the last call if the whole "atomic LEB change"
-+ * operation has been successfully finished, and a negative error code in case
-+ * of failure.
-+ */
-+int ubi_more_leb_change_data(struct ubi_device *ubi, struct ubi_volume *vol,
-+ const void __user *buf, int count)
-+{
-+ int err;
-+
-+ dbg_gen("write %d of %lld bytes, %lld already passed",
-+ count, vol->upd_bytes, vol->upd_received);
-+
-+ if (ubi->ro_mode)
-+ return -EROFS;
-+
-+ if (vol->upd_received + count > vol->upd_bytes)
-+ count = vol->upd_bytes - vol->upd_received;
-+
-+ err = copy_from_user(vol->upd_buf + vol->upd_received, buf, count);
-+ if (err)
-+ return -EFAULT;
-+
-+ vol->upd_received += count;
-+
-+ if (vol->upd_received == vol->upd_bytes) {
-+ int len = ALIGN((int)vol->upd_bytes, ubi->min_io_size);
-+
-+ memset(vol->upd_buf + vol->upd_bytes, 0xFF,
-+ len - vol->upd_bytes);
-+ len = ubi_calc_data_len(ubi, vol->upd_buf, len);
-+ err = ubi_eba_atomic_leb_change(ubi, vol, vol->ch_lnum,
-+ vol->upd_buf, len, UBI_UNKNOWN);
-+ if (err)
-+ return err;
-+ }
-+
-+ ubi_assert(vol->upd_received <= vol->upd_bytes);
-+ if (vol->upd_received == vol->upd_bytes) {
-+ vol->changing_leb = 0;
-+ err = count;
-+ vfree(vol->upd_buf);
-+ }
-+
-+ return err;
-+}
-diff -Nurd linux-2.6.24.orig/drivers/mtd/ubi/vmt.c linux-2.6.24/drivers/mtd/ubi/vmt.c
---- linux-2.6.24.orig/drivers/mtd/ubi/vmt.c 2009-04-17 09:45:11.000000000 +0200
-+++ linux-2.6.24/drivers/mtd/ubi/vmt.c 2009-04-17 09:49:26.000000000 +0200
-@@ -24,13 +24,12 @@
- */
-
- #include <linux/err.h>
--#include <asm/div64.h>
+-#include <linux/math64.h>
#include "ubi.h"
- #ifdef CONFIG_MTD_UBI_DEBUG_PARANOID
--static void paranoid_check_volumes(struct ubi_device *ubi);
-+static int paranoid_check_volumes(struct ubi_device *ubi);
- #else
--#define paranoid_check_volumes(ubi)
-+#define paranoid_check_volumes(ubi) 0
- #endif
-
- static ssize_t vol_attribute_show(struct device *dev,
-@@ -63,21 +62,30 @@
- * B. process 2 removes volume Y;
- * C. process 1 starts reading the /<sysfs>/class/ubi/ubiX_Y/reserved_ebs file;
- *
-- * What we want to do in a situation like that is to return error when the file
-- * is read. This is done by means of the 'removed' flag and the 'vol_lock' of
-- * the UBI volume description object.
-+ * In this situation, this function will return %-ENODEV because it will find
-+ * out that the volume was removed from the @ubi->volumes array.
- */
- static ssize_t vol_attribute_show(struct device *dev,
- struct device_attribute *attr, char *buf)
- {
- int ret;
- struct ubi_volume *vol = container_of(dev, struct ubi_volume, dev);
-+ struct ubi_device *ubi;
-
-- spin_lock(&vol->ubi->volumes_lock);
-- if (vol->removed) {
-- spin_unlock(&vol->ubi->volumes_lock);
-+ ubi = ubi_get_device(vol->ubi->ubi_num);
-+ if (!ubi)
-+ return -ENODEV;
-+
-+ spin_lock(&ubi->volumes_lock);
-+ if (!ubi->volumes[vol->vol_id]) {
-+ spin_unlock(&ubi->volumes_lock);
-+ ubi_put_device(ubi);
- return -ENODEV;
- }
-+ /* Take a reference to prevent volume removal */
-+ vol->ref_count += 1;
-+ spin_unlock(&ubi->volumes_lock);
-+
- if (attr == &attr_vol_reserved_ebs)
- ret = sprintf(buf, "%d\n", vol->reserved_pebs);
- else if (attr == &attr_vol_type) {
-@@ -94,15 +102,22 @@
- ret = sprintf(buf, "%d\n", vol->corrupted);
- else if (attr == &attr_vol_alignment)
- ret = sprintf(buf, "%d\n", vol->alignment);
-- else if (attr == &attr_vol_usable_eb_size) {
-+ else if (attr == &attr_vol_usable_eb_size)
- ret = sprintf(buf, "%d\n", vol->usable_leb_size);
-- } else if (attr == &attr_vol_data_bytes)
-+ else if (attr == &attr_vol_data_bytes)
- ret = sprintf(buf, "%lld\n", vol->used_bytes);
- else if (attr == &attr_vol_upd_marker)
- ret = sprintf(buf, "%d\n", vol->upd_marker);
- else
-- BUG();
-- spin_unlock(&vol->ubi->volumes_lock);
-+ /* This must be a bug */
-+ ret = -EINVAL;
-+
-+ /* We've done the operation, drop volume and UBI device references */
-+ spin_lock(&ubi->volumes_lock);
-+ vol->ref_count -= 1;
-+ ubi_assert(vol->ref_count >= 0);
-+ spin_unlock(&ubi->volumes_lock);
-+ ubi_put_device(ubi);
- return ret;
- }
-
-@@ -110,7 +125,8 @@
- static void vol_release(struct device *dev)
- {
- struct ubi_volume *vol = container_of(dev, struct ubi_volume, dev);
-- ubi_assert(vol->removed);
-+
-+ kfree(vol->eba_tbl);
- kfree(vol);
- }
-
-@@ -152,9 +168,7 @@
- if (err)
- return err;
- err = device_create_file(&vol->dev, &attr_vol_upd_marker);
-- if (err)
-- return err;
-- return 0;
-+ return err;
- }
-
- /**
-@@ -180,16 +194,17 @@
- * @req: volume creation request
- *
- * This function creates volume described by @req. If @req->vol_id id
-- * %UBI_VOL_NUM_AUTO, this function automatically assigne ID to the new volume
-+ * %UBI_VOL_NUM_AUTO, this function automatically assign ID to the new volume
- * and saves it in @req->vol_id. Returns zero in case of success and a negative
-- * error code in case of failure.
-+ * error code in case of failure. Note, the caller has to have the
-+ * @ubi->volumes_mutex locked.
- */
- int ubi_create_volume(struct ubi_device *ubi, struct ubi_mkvol_req *req)
- {
-- int i, err, vol_id = req->vol_id;
-+ int i, err, vol_id = req->vol_id, do_free = 1;
- struct ubi_volume *vol;
- struct ubi_vtbl_record vtbl_rec;
-- uint64_t bytes;
-+ dev_t dev;
-
- if (ubi->ro_mode)
- return -EROFS;
-@@ -199,10 +214,9 @@
- return -ENOMEM;
-
- spin_lock(&ubi->volumes_lock);
--
- if (vol_id == UBI_VOL_NUM_AUTO) {
- /* Find unused volume ID */
-- dbg_msg("search for vacant volume ID");
-+ dbg_gen("search for vacant volume ID");
- for (i = 0; i < ubi->vtbl_slots; i++)
- if (!ubi->volumes[i]) {
- vol_id = i;
-@@ -217,7 +231,7 @@
- req->vol_id = vol_id;
- }
-
-- dbg_msg("volume ID %d, %llu bytes, type %d, name %s",
-+ dbg_gen("volume ID %d, %llu bytes, type %d, name %s",
- vol_id, (unsigned long long)req->bytes,
- (int)req->vol_type, req->name);
-
-@@ -237,12 +251,10 @@
- goto out_unlock;
- }
-
-- /* Calculate how many eraseblocks are requested */
-+ /* Calculate how many eraseblocks are requested */
- vol->usable_leb_size = ubi->leb_size - ubi->leb_size % req->alignment;
-- bytes = req->bytes;
-- if (do_div(bytes, vol->usable_leb_size))
-- vol->reserved_pebs = 1;
-- vol->reserved_pebs += bytes;
-+ vol->reserved_pebs += div_u64(req->bytes + vol->usable_leb_size - 1,
-+ vol->usable_leb_size);
-
- /* Reserve physical eraseblocks */
- if (vol->reserved_pebs > ubi->avail_pebs) {
-@@ -252,17 +264,15 @@
- }
- ubi->avail_pebs -= vol->reserved_pebs;
- ubi->rsvd_pebs += vol->reserved_pebs;
-+ spin_unlock(&ubi->volumes_lock);
-
- vol->vol_id = vol_id;
- vol->alignment = req->alignment;
- vol->data_pad = ubi->leb_size % vol->alignment;
- vol->vol_type = req->vol_type;
- vol->name_len = req->name_len;
-- memcpy(vol->name, req->name, vol->name_len + 1);
-- vol->exclusive = 1;
-+ memcpy(vol->name, req->name, vol->name_len);
- vol->ubi = ubi;
-- ubi->volumes[vol_id] = vol;
-- spin_unlock(&ubi->volumes_lock);
-
- /*
- * Finish all pending erases because there may be some LEBs belonging
-@@ -287,10 +297,10 @@
- vol->used_bytes =
- (long long)vol->used_ebs * vol->usable_leb_size;
- } else {
-- bytes = vol->used_bytes;
-- vol->last_eb_bytes = do_div(bytes, vol->usable_leb_size);
-- vol->used_ebs = bytes;
-- if (vol->last_eb_bytes)
-+ vol->used_ebs = div_u64_rem(vol->used_bytes,
-+ vol->usable_leb_size,
-+ &vol->last_eb_bytes);
-+ if (vol->last_eb_bytes != 0)
- vol->used_ebs += 1;
- else
- vol->last_eb_bytes = vol->usable_leb_size;
-@@ -299,9 +309,10 @@
- /* Register character device for the volume */
- cdev_init(&vol->cdev, &ubi_vol_cdev_operations);
- vol->cdev.owner = THIS_MODULE;
-- err = cdev_add(&vol->cdev, MKDEV(ubi->major, vol_id + 1), 1);
-+ dev = MKDEV(MAJOR(ubi->cdev.dev), vol_id + 1);
-+ err = cdev_add(&vol->cdev, dev, 1);
- if (err) {
-- ubi_err("cannot add character device for volume %d", vol_id);
-+ ubi_err("cannot add character device");
- goto out_mapping;
- }
-
-@@ -311,12 +322,15 @@
-
- vol->dev.release = vol_release;
- vol->dev.parent = &ubi->dev;
-- vol->dev.devt = MKDEV(ubi->major, vol->vol_id + 1);
-+ vol->dev.devt = dev;
- vol->dev.class = ubi_class;
-+
- sprintf(&vol->dev.bus_id[0], "%s_%d", ubi->ubi_name, vol->vol_id);
- err = device_register(&vol->dev);
-- if (err)
-+ if (err) {
-+ ubi_err("cannot register device");
- goto out_gluebi;
-+ }
-
- err = volume_sysfs_init(ubi, vol);
- if (err)
-@@ -332,98 +346,108 @@
- vtbl_rec.vol_type = UBI_VID_DYNAMIC;
- else
- vtbl_rec.vol_type = UBI_VID_STATIC;
-- memcpy(vtbl_rec.name, vol->name, vol->name_len + 1);
-+ memcpy(vtbl_rec.name, vol->name, vol->name_len);
-
- err = ubi_change_vtbl_record(ubi, vol_id, &vtbl_rec);
- if (err)
- goto out_sysfs;
-
- spin_lock(&ubi->volumes_lock);
-+ ubi->volumes[vol_id] = vol;
- ubi->vol_count += 1;
-- vol->exclusive = 0;
- spin_unlock(&ubi->volumes_lock);
-
-- paranoid_check_volumes(ubi);
-- return 0;
-+ err = paranoid_check_volumes(ubi);
-+ return err;
-
-+out_sysfs:
-+ /*
-+ * We have registered our device, we should not free the volume
-+ * description object in this function in case of an error - it is
-+ * freed by the release function.
-+ *
-+ * Get device reference to prevent the release function from being
-+ * called just after sysfs has been closed.
-+ */
-+ do_free = 0;
-+ get_device(&vol->dev);
-+ volume_sysfs_close(vol);
- out_gluebi:
-- err = ubi_destroy_gluebi(vol);
-+ if (ubi_destroy_gluebi(vol))
-+ dbg_err("cannot destroy gluebi for volume %d:%d",
-+ ubi->ubi_num, vol_id);
- out_cdev:
- cdev_del(&vol->cdev);
- out_mapping:
-- kfree(vol->eba_tbl);
-+ if (do_free)
-+ kfree(vol->eba_tbl);
- out_acc:
- spin_lock(&ubi->volumes_lock);
- ubi->rsvd_pebs -= vol->reserved_pebs;
- ubi->avail_pebs += vol->reserved_pebs;
-- ubi->volumes[vol_id] = NULL;
- out_unlock:
- spin_unlock(&ubi->volumes_lock);
-- kfree(vol);
-- return err;
--
-- /*
-- * We are registered, so @vol is destroyed in the release function and
-- * we have to de-initialize differently.
-- */
--out_sysfs:
-- err = ubi_destroy_gluebi(vol);
-- cdev_del(&vol->cdev);
-- kfree(vol->eba_tbl);
-- spin_lock(&ubi->volumes_lock);
-- ubi->rsvd_pebs -= vol->reserved_pebs;
-- ubi->avail_pebs += vol->reserved_pebs;
-- ubi->volumes[vol_id] = NULL;
-- spin_unlock(&ubi->volumes_lock);
-- volume_sysfs_close(vol);
-+ if (do_free)
-+ kfree(vol);
-+ else
-+ put_device(&vol->dev);
-+ ubi_err("cannot create volume %d, error %d", vol_id, err);
- return err;
- }
-
- /**
- * ubi_remove_volume - remove volume.
- * @desc: volume descriptor
-+ * @no_vtbl: do not change volume table if not zero
- *
- * This function removes volume described by @desc. The volume has to be opened
- * in "exclusive" mode. Returns zero in case of success and a negative error
-- * code in case of failure.
-+ * code in case of failure. The caller has to have the @ubi->volumes_mutex
-+ * locked.
- */
--int ubi_remove_volume(struct ubi_volume_desc *desc)
-+int ubi_remove_volume(struct ubi_volume_desc *desc, int no_vtbl)
- {
- struct ubi_volume *vol = desc->vol;
- struct ubi_device *ubi = vol->ubi;
- int i, err, vol_id = vol->vol_id, reserved_pebs = vol->reserved_pebs;
-
-- dbg_msg("remove UBI volume %d", vol_id);
-+ dbg_gen("remove UBI volume %d", vol_id);
- ubi_assert(desc->mode == UBI_EXCLUSIVE);
- ubi_assert(vol == ubi->volumes[vol_id]);
-
- if (ubi->ro_mode)
- return -EROFS;
-
-+ spin_lock(&ubi->volumes_lock);
-+ if (vol->ref_count > 1) {
-+ /*
-+ * The volume is busy, probably someone is reading one of its
-+ * sysfs files.
-+ */
-+ err = -EBUSY;
-+ goto out_unlock;
-+ }
-+ ubi->volumes[vol_id] = NULL;
-+ spin_unlock(&ubi->volumes_lock);
-+
- err = ubi_destroy_gluebi(vol);
- if (err)
-- return err;
-+ goto out_err;
-
-- err = ubi_change_vtbl_record(ubi, vol_id, NULL);
-- if (err)
-- return err;
-+ if (!no_vtbl) {
-+ err = ubi_change_vtbl_record(ubi, vol_id, NULL);
-+ if (err)
-+ goto out_err;
-+ }
-
- for (i = 0; i < vol->reserved_pebs; i++) {
-- err = ubi_eba_unmap_leb(ubi, vol_id, i);
-+ err = ubi_eba_unmap_leb(ubi, vol, i);
- if (err)
-- return err;
-+ goto out_err;
- }
-
-- spin_lock(&ubi->volumes_lock);
-- vol->removed = 1;
-- ubi->volumes[vol_id] = NULL;
-- spin_unlock(&ubi->volumes_lock);
--
-- kfree(vol->eba_tbl);
-- vol->eba_tbl = NULL;
- cdev_del(&vol->cdev);
- volume_sysfs_close(vol);
-- kfree(desc);
-
- spin_lock(&ubi->volumes_lock);
- ubi->rsvd_pebs -= reserved_pebs;
-@@ -440,9 +464,17 @@
- ubi->vol_count -= 1;
- spin_unlock(&ubi->volumes_lock);
-
-- paranoid_check_volumes(ubi);
-- module_put(THIS_MODULE);
-- return 0;
-+ if (!no_vtbl)
-+ err = paranoid_check_volumes(ubi);
-+ return err;
-+
-+out_err:
-+ ubi_err("cannot remove volume %d, error %d", vol_id, err);
-+ spin_lock(&ubi->volumes_lock);
-+ ubi->volumes[vol_id] = vol;
-+out_unlock:
-+ spin_unlock(&ubi->volumes_lock);
-+ return err;
- }
-
- /**
-@@ -450,8 +482,9 @@
- * @desc: volume descriptor
- * @reserved_pebs: new size in physical eraseblocks
- *
-- * This function returns zero in case of success, and a negative error code in
-- * case of failure.
-+ * This function re-sizes the volume and returns zero in case of success, and a
-+ * negative error code in case of failure. The caller has to have the
-+ * @ubi->volumes_mutex locked.
- */
- int ubi_resize_volume(struct ubi_volume_desc *desc, int reserved_pebs)
- {
-@@ -464,10 +497,8 @@
- if (ubi->ro_mode)
- return -EROFS;
-
-- dbg_msg("re-size volume %d to from %d to %d PEBs",
-+ dbg_gen("re-size volume %d to from %d to %d PEBs",
- vol_id, vol->reserved_pebs, reserved_pebs);
-- ubi_assert(desc->mode == UBI_EXCLUSIVE);
-- ubi_assert(vol == ubi->volumes[vol_id]);
-
- if (vol->vol_type == UBI_STATIC_VOLUME &&
- reserved_pebs < vol->used_ebs) {
-@@ -487,6 +518,14 @@
- for (i = 0; i < reserved_pebs; i++)
- new_mapping[i] = UBI_LEB_UNMAPPED;
-
-+ spin_lock(&ubi->volumes_lock);
-+ if (vol->ref_count > 1) {
-+ spin_unlock(&ubi->volumes_lock);
-+ err = -EBUSY;
-+ goto out_free;
-+ }
-+ spin_unlock(&ubi->volumes_lock);
-+
- /* Reserve physical eraseblocks */
- pebs = reserved_pebs - vol->reserved_pebs;
- if (pebs > 0) {
-@@ -516,7 +555,7 @@
-
- if (pebs < 0) {
- for (i = 0; i < -pebs; i++) {
-- err = ubi_eba_unmap_leb(ubi, vol_id, reserved_pebs + i);
-+ err = ubi_eba_unmap_leb(ubi, vol, reserved_pebs + i);
- if (err)
- goto out_acc;
- }
-@@ -547,8 +586,8 @@
- (long long)vol->used_ebs * vol->usable_leb_size;
- }
-
-- paranoid_check_volumes(ubi);
-- return 0;
-+ err = paranoid_check_volumes(ubi);
-+ return err;
-
- out_acc:
- if (pebs > 0) {
-@@ -563,29 +602,67 @@
- }
-
- /**
-+ * ubi_rename_volumes - re-name UBI volumes.
-+ * @ubi: UBI device description object
-+ * @rename_list: list of &struct ubi_rename_entry objects
-+ *
-+ * This function re-names or removes volumes specified in the re-name list.
-+ * Returns zero in case of success and a negative error code in case of
-+ * failure.
-+ */
-+int ubi_rename_volumes(struct ubi_device *ubi, struct list_head *rename_list)
-+{
-+ int err;
-+ struct ubi_rename_entry *re;
-+
-+ err = ubi_vtbl_rename_volumes(ubi, rename_list);
-+ if (err)
-+ return err;
-+
-+ list_for_each_entry(re, rename_list, list) {
-+ if (re->remove) {
-+ err = ubi_remove_volume(re->desc, 1);
-+ if (err)
-+ break;
-+ } else {
-+ struct ubi_volume *vol = re->desc->vol;
-+
-+ spin_lock(&ubi->volumes_lock);
-+ vol->name_len = re->new_name_len;
-+ memcpy(vol->name, re->new_name, re->new_name_len + 1);
-+ spin_unlock(&ubi->volumes_lock);
-+ }
-+ }
-+
-+ if (!err)
-+ err = paranoid_check_volumes(ubi);
-+ return err;
-+}
-+
-+/**
- * ubi_add_volume - add volume.
- * @ubi: UBI device description object
-- * @vol_id: volume ID
-+ * @vol: volume description object
- *
-- * This function adds an existin volume and initializes all its data
-- * structures. Returnes zero in case of success and a negative error code in
-+ * This function adds an existing volume and initializes all its data
-+ * structures. Returns zero in case of success and a negative error code in
- * case of failure.
- */
--int ubi_add_volume(struct ubi_device *ubi, int vol_id)
-+int ubi_add_volume(struct ubi_device *ubi, struct ubi_volume *vol)
- {
-- int err;
-- struct ubi_volume *vol = ubi->volumes[vol_id];
-+ int err, vol_id = vol->vol_id;
-+ dev_t dev;
-
-- dbg_msg("add volume %d", vol_id);
-- ubi_dbg_dump_vol_info(vol);
-- ubi_assert(vol);
-+ dbg_gen("add volume %d", vol_id);
-
- /* Register character device for the volume */
- cdev_init(&vol->cdev, &ubi_vol_cdev_operations);
- vol->cdev.owner = THIS_MODULE;
-- err = cdev_add(&vol->cdev, MKDEV(ubi->major, vol->vol_id + 1), 1);
-+ dev = MKDEV(MAJOR(ubi->cdev.dev), vol->vol_id + 1);
-+ err = cdev_add(&vol->cdev, dev, 1);
- if (err) {
-- ubi_err("cannot add character device for volume %d", vol_id);
-+ ubi_err("cannot add character device for volume %d, error %d",
-+ vol_id, err);
- return err;
- }
-
-@@ -595,7 +672,7 @@
-
- vol->dev.release = vol_release;
- vol->dev.parent = &ubi->dev;
-- vol->dev.devt = MKDEV(ubi->major, vol->vol_id + 1);
-+ vol->dev.devt = dev;
- vol->dev.class = ubi_class;
- sprintf(&vol->dev.bus_id[0], "%s_%d", ubi->ubi_name, vol->vol_id);
- err = device_register(&vol->dev);
-@@ -610,8 +687,8 @@
- return err;
- }
-
-- paranoid_check_volumes(ubi);
-- return 0;
-+ err = paranoid_check_volumes(ubi);
-+ return err;
-
- out_gluebi:
- err = ubi_destroy_gluebi(vol);
-@@ -623,22 +700,19 @@
- /**
- * ubi_free_volume - free volume.
- * @ubi: UBI device description object
-- * @vol_id: volume ID
-+ * @vol: volume description object
- *
-- * This function frees all resources for volume @vol_id but does not remove it.
-+ * This function frees all resources for volume @vol but does not remove it.
- * Used only when the UBI device is detached.
- */
--void ubi_free_volume(struct ubi_device *ubi, int vol_id)
-+void ubi_free_volume(struct ubi_device *ubi, struct ubi_volume *vol)
- {
- int err;
-- struct ubi_volume *vol = ubi->volumes[vol_id];
-
-- dbg_msg("free volume %d", vol_id);
-- ubi_assert(vol);
-+ dbg_gen("free volume %d", vol->vol_id);
-
-- vol->removed = 1;
-+ ubi->volumes[vol->vol_id] = NULL;
- err = ubi_destroy_gluebi(vol);
-- ubi->volumes[vol_id] = NULL;
- cdev_del(&vol->cdev);
- volume_sysfs_close(vol);
- }
-@@ -649,8 +723,10 @@
- * paranoid_check_volume - check volume information.
- * @ubi: UBI device description object
- * @vol_id: volume ID
-+ *
-+ * Returns zero if volume is all right and a a negative error code if not.
- */
--static void paranoid_check_volume(struct ubi_device *ubi, int vol_id)
-+static int paranoid_check_volume(struct ubi_device *ubi, int vol_id)
- {
- int idx = vol_id2idx(ubi, vol_id);
- int reserved_pebs, alignment, data_pad, vol_type, name_len, upd_marker;
-@@ -668,16 +744,7 @@
- goto fail;
- }
- spin_unlock(&ubi->volumes_lock);
-- return;
-- }
--
-- if (vol->exclusive) {
-- /*
-- * The volume may be being created at the moment, do not check
-- * it (e.g., it may be in the middle of ubi_create_volume().
-- */
-- spin_unlock(&ubi->volumes_lock);
-- return;
-+ return 0;
- }
-
- if (vol->reserved_pebs < 0 || vol->alignment < 0 || vol->data_pad < 0 ||
-@@ -690,7 +757,7 @@
- goto fail;
- }
-
-- n = vol->alignment % ubi->min_io_size;
-+ n = vol->alignment & (ubi->min_io_size - 1);
- if (vol->alignment != 1 && n) {
- ubi_err("alignment is not multiple of min I/O unit");
- goto fail;
-@@ -708,11 +775,6 @@
- goto fail;
- }
-
-- if (vol->upd_marker != 0 && vol->upd_marker != 1) {
-- ubi_err("bad upd_marker");
-- goto fail;
-- }
--
- if (vol->upd_marker && vol->corrupted) {
- dbg_err("update marker and corrupted simultaneously");
- goto fail;
-@@ -747,7 +809,7 @@
-
- n = (long long)vol->used_ebs * vol->usable_leb_size;
- if (vol->vol_type == UBI_DYNAMIC_VOLUME) {
-- if (vol->corrupted != 0) {
-+ if (vol->corrupted) {
- ubi_err("corrupted dynamic volume");
- goto fail;
- }
-@@ -764,10 +826,6 @@
- goto fail;
- }
- } else {
-- if (vol->corrupted != 0 && vol->corrupted != 1) {
-- ubi_err("bad corrupted");
-- goto fail;
-- }
- if (vol->used_ebs < 0 || vol->used_ebs > vol->reserved_pebs) {
- ubi_err("bad used_ebs");
- goto fail;
-@@ -796,33 +854,39 @@
-
- if (alignment != vol->alignment || data_pad != vol->data_pad ||
- upd_marker != vol->upd_marker || vol_type != vol->vol_type ||
-- name_len!= vol->name_len || strncmp(name, vol->name, name_len)) {
-+ name_len != vol->name_len || strncmp(name, vol->name, name_len)) {
- ubi_err("volume info is different");
- goto fail;
- }
-
- spin_unlock(&ubi->volumes_lock);
-- return;
-+ return 0;
-
- fail:
- ubi_err("paranoid check failed for volume %d", vol_id);
-- ubi_dbg_dump_vol_info(vol);
-+ if (vol)
-+ ubi_dbg_dump_vol_info(vol);
- ubi_dbg_dump_vtbl_record(&ubi->vtbl[vol_id], vol_id);
- spin_unlock(&ubi->volumes_lock);
-- BUG();
-+ return -EINVAL;
- }
-
- /**
- * paranoid_check_volumes - check information about all volumes.
- * @ubi: UBI device description object
-+ *
-+ * Returns zero if volumes are all right and a a negative error code if not.
- */
--static void paranoid_check_volumes(struct ubi_device *ubi)
-+static int paranoid_check_volumes(struct ubi_device *ubi)
- {
-- int i;
-+ int i, err = 0;
-
-- mutex_lock(&ubi->vtbl_mutex);
-- for (i = 0; i < ubi->vtbl_slots; i++)
-- paranoid_check_volume(ubi, i);
-- mutex_unlock(&ubi->vtbl_mutex);
-+ for (i = 0; i < ubi->vtbl_slots; i++) {
-+ err = paranoid_check_volume(ubi, i);
-+ if (err)
-+ break;
-+ }
-+
-+ return err;
- }
- #endif
-diff -Nurd linux-2.6.24.orig/drivers/mtd/ubi/vtbl.c linux-2.6.24/drivers/mtd/ubi/vtbl.c
---- linux-2.6.24.orig/drivers/mtd/ubi/vtbl.c 2009-04-17 09:45:11.000000000 +0200
-+++ linux-2.6.24/drivers/mtd/ubi/vtbl.c 2009-04-17 09:49:26.000000000 +0200
-@@ -86,8 +86,10 @@
- {
- int i, err;
- uint32_t crc;
-+ struct ubi_volume *layout_vol;
-
- ubi_assert(idx >= 0 && idx < ubi->vtbl_slots);
-+ layout_vol = ubi->volumes[vol_id2idx(ubi, UBI_LAYOUT_VOLUME_ID)];
-
- if (!vtbl_rec)
- vtbl_rec = &empty_vtbl_record;
-@@ -96,31 +98,75 @@
- vtbl_rec->crc = cpu_to_be32(crc);
- }
-
-- mutex_lock(&ubi->vtbl_mutex);
- memcpy(&ubi->vtbl[idx], vtbl_rec, sizeof(struct ubi_vtbl_record));
- for (i = 0; i < UBI_LAYOUT_VOLUME_EBS; i++) {
-- err = ubi_eba_unmap_leb(ubi, UBI_LAYOUT_VOL_ID, i);
-- if (err) {
-- mutex_unlock(&ubi->vtbl_mutex);
-+ err = ubi_eba_unmap_leb(ubi, layout_vol, i);
-+ if (err)
- return err;
-- }
-- err = ubi_eba_write_leb(ubi, UBI_LAYOUT_VOL_ID, i, ubi->vtbl, 0,
-+
-+ err = ubi_eba_write_leb(ubi, layout_vol, i, ubi->vtbl, 0,
- ubi->vtbl_size, UBI_LONGTERM);
-- if (err) {
-- mutex_unlock(&ubi->vtbl_mutex);
-+ if (err)
- return err;
-- }
- }
-
- paranoid_vtbl_check(ubi);
-- mutex_unlock(&ubi->vtbl_mutex);
-- return ubi_wl_flush(ubi);
-+ return 0;
- }
-
- /**
-- * vol_til_check - check if volume table is not corrupted and contains sensible
-- * data.
-+ * ubi_vtbl_rename_volumes - rename UBI volumes in the volume table.
-+ * @ubi: UBI device description object
-+ * @rename_list: list of &struct ubi_rename_entry objects
- *
-+ * This function re-names multiple volumes specified in @req in the volume
-+ * table. Returns zero in case of success and a negative error code in case of
-+ * failure.
-+ */
-+int ubi_vtbl_rename_volumes(struct ubi_device *ubi,
-+ struct list_head *rename_list)
-+{
-+ int i, err;
-+ struct ubi_rename_entry *re;
-+ struct ubi_volume *layout_vol;
-+
-+ list_for_each_entry(re, rename_list, list) {
-+ uint32_t crc;
-+ struct ubi_volume *vol = re->desc->vol;
-+ struct ubi_vtbl_record *vtbl_rec = &ubi->vtbl[vol->vol_id];
-+
-+ if (re->remove) {
-+ memcpy(vtbl_rec, &empty_vtbl_record,
-+ sizeof(struct ubi_vtbl_record));
-+ continue;
-+ }
-+
-+ vtbl_rec->name_len = cpu_to_be16(re->new_name_len);
-+ memcpy(vtbl_rec->name, re->new_name, re->new_name_len);
-+ memset(vtbl_rec->name + re->new_name_len, 0,
-+ UBI_VOL_NAME_MAX + 1 - re->new_name_len);
-+ crc = crc32(UBI_CRC32_INIT, vtbl_rec,
-+ UBI_VTBL_RECORD_SIZE_CRC);
-+ vtbl_rec->crc = cpu_to_be32(crc);
-+ }
-+
-+ layout_vol = ubi->volumes[vol_id2idx(ubi, UBI_LAYOUT_VOLUME_ID)];
-+ for (i = 0; i < UBI_LAYOUT_VOLUME_EBS; i++) {
-+ err = ubi_eba_unmap_leb(ubi, layout_vol, i);
-+ if (err)
-+ return err;
-+
-+ err = ubi_eba_write_leb(ubi, layout_vol, i, ubi->vtbl, 0,
-+ ubi->vtbl_size, UBI_LONGTERM);
-+ if (err)
-+ return err;
-+ }
-+
-+ return 0;
-+}
-+
-+/**
-+ * vtbl_check - check if volume table is not corrupted and sensible.
- * @ubi: UBI device description object
- * @vtbl: volume table
- *
-@@ -131,7 +177,7 @@
- const struct ubi_vtbl_record *vtbl)
- {
- int i, n, reserved_pebs, alignment, data_pad, vol_type, name_len;
-- int upd_marker;
-+ int upd_marker, err;
- uint32_t crc;
- const char *name;
-
-@@ -157,7 +203,7 @@
- if (reserved_pebs == 0) {
- if (memcmp(&vtbl[i], &empty_vtbl_record,
- UBI_VTBL_RECORD_SIZE)) {
-- dbg_err("bad empty record");
-+ err = 2;
- goto bad;
- }
- continue;
-@@ -165,56 +211,57 @@
-
- if (reserved_pebs < 0 || alignment < 0 || data_pad < 0 ||
- name_len < 0) {
-- dbg_err("negative values");
-+ err = 3;
- goto bad;
- }
-
- if (alignment > ubi->leb_size || alignment == 0) {
-- dbg_err("bad alignment");
-+ err = 4;
- goto bad;
- }
-
-- n = alignment % ubi->min_io_size;
-+ n = alignment & (ubi->min_io_size - 1);
- if (alignment != 1 && n) {
-- dbg_err("alignment is not multiple of min I/O unit");
-+ err = 5;
- goto bad;
- }
-
- n = ubi->leb_size % alignment;
- if (data_pad != n) {
- dbg_err("bad data_pad, has to be %d", n);
-+ err = 6;
- goto bad;
- }
-
- if (vol_type != UBI_VID_DYNAMIC && vol_type != UBI_VID_STATIC) {
-- dbg_err("bad vol_type");
-+ err = 7;
- goto bad;
- }
-
- if (upd_marker != 0 && upd_marker != 1) {
-- dbg_err("bad upd_marker");
-+ err = 8;
- goto bad;
- }
-
- if (reserved_pebs > ubi->good_peb_count) {
-- dbg_err("too large reserved_pebs, good PEBs %d",
-- ubi->good_peb_count);
-+ dbg_err("too large reserved_pebs %d, good PEBs %d",
-+ reserved_pebs, ubi->good_peb_count);
-+ err = 9;
- goto bad;
- }
-
- if (name_len > UBI_VOL_NAME_MAX) {
-- dbg_err("too long volume name, max %d",
-- UBI_VOL_NAME_MAX);
-+ err = 10;
- goto bad;
- }
-
- if (name[0] == '\0') {
-- dbg_err("NULL volume name");
-+ err = 11;
- goto bad;
- }
-
- if (name_len != strnlen(name, name_len + 1)) {
-- dbg_err("bad name_len");
-+ err = 12;
- goto bad;
- }
- }
-@@ -239,7 +286,7 @@
- return 0;
-
- bad:
-- ubi_err("volume table check failed, record %d", i);
-+ ubi_err("volume table check failed: record %d, error %d", i, err);
- ubi_dbg_dump_vtbl_record(&vtbl[i], i);
- return -EINVAL;
- }
-@@ -273,7 +320,7 @@
- * this volume table copy was found during scanning. It has to be wiped
- * out.
- */
-- sv = ubi_scan_find_sv(si, UBI_LAYOUT_VOL_ID);
-+ sv = ubi_scan_find_sv(si, UBI_LAYOUT_VOLUME_ID);
- if (sv)
- old_seb = ubi_scan_find_seb(sv, copy);
-
-@@ -285,13 +332,12 @@
- }
-
- vid_hdr->vol_type = UBI_VID_DYNAMIC;
-- vid_hdr->vol_id = cpu_to_be32(UBI_LAYOUT_VOL_ID);
-+ vid_hdr->vol_id = cpu_to_be32(UBI_LAYOUT_VOLUME_ID);
- vid_hdr->compat = UBI_LAYOUT_VOLUME_COMPAT;
- vid_hdr->data_size = vid_hdr->used_ebs =
- vid_hdr->data_pad = cpu_to_be32(0);
- vid_hdr->lnum = cpu_to_be32(copy);
- vid_hdr->sqnum = cpu_to_be64(++si->max_sqnum);
-- vid_hdr->leb_ver = cpu_to_be32(old_seb ? old_seb->leb_ver + 1: 0);
-
- /* The EC header is already there, write the VID header */
- err = ubi_io_write_vid_hdr(ubi, new_seb->pnum, vid_hdr);
-@@ -374,7 +420,7 @@
- * to LEB 0.
- */
-
-- dbg_msg("check layout volume");
-+ dbg_gen("check layout volume");
-
- /* Read both LEB 0 and LEB 1 into memory */
- ubi_rb_for_each_entry(rb, seb, &sv->root, u.rb) {
-@@ -388,7 +434,16 @@
- err = ubi_io_read_data(ubi, leb[seb->lnum], seb->pnum, 0,
- ubi->vtbl_size);
- if (err == UBI_IO_BITFLIPS || err == -EBADMSG)
-- /* Scrub the PEB later */
-+ /*
-+ * Scrub the PEB later. Note, -EBADMSG indicates an
-+ * uncorrectable ECC error, but we have our own CRC and
-+ * the data will be checked later. If the data is OK,
-+ * the PEB will be scrubbed (because we set
-+ * seb->scrub). If the data is not OK, the contents of
-+ * the PEB will be recovered from the second copy, and
-+ * seb->scrub will be cleared in
-+ * 'ubi_scan_add_used()'.
-+ */
- seb->scrub = 1;
- else if (err)
- goto out_free;
-@@ -404,7 +459,8 @@
- if (!leb_corrupted[0]) {
- /* LEB 0 is OK */
- if (leb[1])
-- leb_corrupted[1] = memcmp(leb[0], leb[1], ubi->vtbl_size);
-+ leb_corrupted[1] = memcmp(leb[0], leb[1],
-+ ubi->vtbl_size);
- if (leb_corrupted[1]) {
- ubi_warn("volume table copy #2 is corrupted");
- err = create_vtbl(ubi, si, 1, leb[0]);
-@@ -518,6 +574,17 @@
- vol->name[vol->name_len] = '\0';
- vol->vol_id = i;
-
-+ if (vtbl[i].flags & UBI_VTBL_AUTORESIZE_FLG) {
-+ /* Auto re-size flag may be set only for one volume */
-+ if (ubi->autoresize_vol_id != -1) {
-+ ubi_err("more then one auto-resize volume (%d "
-+ "and %d)", ubi->autoresize_vol_id, i);
-+ return -EINVAL;
-+ }
-+
-+ ubi->autoresize_vol_id = i;
-+ }
-+
- ubi_assert(!ubi->volumes[i]);
- ubi->volumes[i] = vol;
- ubi->vol_count += 1;
-@@ -568,6 +635,7 @@
- vol->last_eb_bytes = sv->last_data_size;
- }
-
-+ /* And add the layout volume */
- vol = kzalloc(sizeof(struct ubi_volume), GFP_KERNEL);
- if (!vol)
- return -ENOMEM;
-@@ -582,7 +650,8 @@
- vol->last_eb_bytes = vol->reserved_pebs;
- vol->used_bytes =
- (long long)vol->used_ebs * (ubi->leb_size - vol->data_pad);
-- vol->vol_id = UBI_LAYOUT_VOL_ID;
-+ vol->vol_id = UBI_LAYOUT_VOLUME_ID;
-+ vol->ref_count = 1;
-
- ubi_assert(!ubi->volumes[i]);
- ubi->volumes[vol_id2idx(ubi, vol->vol_id)] = vol;
-@@ -610,30 +679,32 @@
- static int check_sv(const struct ubi_volume *vol,
- const struct ubi_scan_volume *sv)
- {
-+ int err;
-+
- if (sv->highest_lnum >= vol->reserved_pebs) {
-- dbg_err("bad highest_lnum");
-+ err = 1;
- goto bad;
- }
- if (sv->leb_count > vol->reserved_pebs) {
-- dbg_err("bad leb_count");
-+ err = 2;
- goto bad;
- }
- if (sv->vol_type != vol->vol_type) {
-- dbg_err("bad vol_type");
-+ err = 3;
- goto bad;
- }
- if (sv->used_ebs > vol->reserved_pebs) {
-- dbg_err("bad used_ebs");
-+ err = 4;
- goto bad;
- }
- if (sv->data_pad != vol->data_pad) {
-- dbg_err("bad data_pad");
-+ err = 5;
- goto bad;
- }
- return 0;
-
- bad:
-- ubi_err("bad scanning information");
-+ ubi_err("bad scanning information, error %d", err);
- ubi_dbg_dump_sv(sv);
- ubi_dbg_dump_vol_info(vol);
- return -EINVAL;
-@@ -662,14 +733,13 @@
- return -EINVAL;
- }
-
-- if (si->highest_vol_id >= ubi->vtbl_slots + UBI_INT_VOL_COUNT&&
-+ if (si->highest_vol_id >= ubi->vtbl_slots + UBI_INT_VOL_COUNT &&
- si->highest_vol_id < UBI_INTERNAL_VOL_START) {
- ubi_err("too large volume ID %d found by scanning",
- si->highest_vol_id);
- return -EINVAL;
- }
-
--
- for (i = 0; i < ubi->vtbl_slots + UBI_INT_VOL_COUNT; i++) {
- cond_resched();
-
-@@ -707,8 +777,7 @@
- }
-
- /**
-- * ubi_read_volume_table - read volume table.
-- * information.
-+ * ubi_read_volume_table - read the volume table.
- * @ubi: UBI device description object
- * @si: scanning information
- *
-@@ -734,7 +803,7 @@
- ubi->vtbl_size = ubi->vtbl_slots * UBI_VTBL_RECORD_SIZE;
- ubi->vtbl_size = ALIGN(ubi->vtbl_size, ubi->min_io_size);
-
-- sv = ubi_scan_find_sv(si, UBI_LAYOUT_VOL_ID);
-+ sv = ubi_scan_find_sv(si, UBI_LAYOUT_VOLUME_ID);
- if (!sv) {
- /*
- * No logical eraseblocks belonging to the layout volume were
-@@ -787,11 +856,10 @@
-
- out_free:
- vfree(ubi->vtbl);
-- for (i = 0; i < ubi->vtbl_slots + UBI_INT_VOL_COUNT; i++)
-- if (ubi->volumes[i]) {
-- kfree(ubi->volumes[i]);
-- ubi->volumes[i] = NULL;
-- }
-+ for (i = 0; i < ubi->vtbl_slots + UBI_INT_VOL_COUNT; i++) {
-+ kfree(ubi->volumes[i]);
-+ ubi->volumes[i] = NULL;
-+ }
- return err;
- }
-
-diff -Nurd linux-2.6.24.orig/drivers/mtd/ubi/wl.c linux-2.6.24/drivers/mtd/ubi/wl.c
---- linux-2.6.24.orig/drivers/mtd/ubi/wl.c 2009-04-17 09:45:11.000000000 +0200
-+++ linux-2.6.24/drivers/mtd/ubi/wl.c 2009-04-17 09:49:26.000000000 +0200
-@@ -19,22 +19,22 @@
- */
-
- /*
-- * UBI wear-leveling unit.
-+ * UBI wear-leveling sub-system.
- *
-- * This unit is responsible for wear-leveling. It works in terms of physical
-- * eraseblocks and erase counters and knows nothing about logical eraseblocks,
-- * volumes, etc. From this unit's perspective all physical eraseblocks are of
-- * two types - used and free. Used physical eraseblocks are those that were
-- * "get" by the 'ubi_wl_get_peb()' function, and free physical eraseblocks are
-- * those that were put by the 'ubi_wl_put_peb()' function.
-+ * This sub-system is responsible for wear-leveling. It works in terms of
-+ * physical eraseblocks and erase counters and knows nothing about logical
-+ * eraseblocks, volumes, etc. From this sub-system's perspective all physical
-+ * eraseblocks are of two types - used and free. Used physical eraseblocks are
-+ * those that were "get" by the 'ubi_wl_get_peb()' function, and free physical
-+ * eraseblocks are those that were put by the 'ubi_wl_put_peb()' function.
- *
- * Physical eraseblocks returned by 'ubi_wl_get_peb()' have only erase counter
-- * header. The rest of the physical eraseblock contains only 0xFF bytes.
-+ * header. The rest of the physical eraseblock contains only %0xFF bytes.
- *
-- * When physical eraseblocks are returned to the WL unit by means of the
-+ * When physical eraseblocks are returned to the WL sub-system by means of the
- * 'ubi_wl_put_peb()' function, they are scheduled for erasure. The erasure is
- * done asynchronously in context of the per-UBI device background thread,
-- * which is also managed by the WL unit.
-+ * which is also managed by the WL sub-system.
- *
- * The wear-leveling is ensured by means of moving the contents of used
- * physical eraseblocks with low erase counter to free physical eraseblocks
-@@ -43,34 +43,64 @@
- * The 'ubi_wl_get_peb()' function accepts data type hints which help to pick
- * an "optimal" physical eraseblock. For example, when it is known that the
- * physical eraseblock will be "put" soon because it contains short-term data,
-- * the WL unit may pick a free physical eraseblock with low erase counter, and
-- * so forth.
-+ * the WL sub-system may pick a free physical eraseblock with low erase
-+ * counter, and so forth.
- *
-- * If the WL unit fails to erase a physical eraseblock, it marks it as bad.
-+ * If the WL sub-system fails to erase a physical eraseblock, it marks it as
-+ * bad.
- *
-- * This unit is also responsible for scrubbing. If a bit-flip is detected in a
-- * physical eraseblock, it has to be moved. Technically this is the same as
-- * moving it for wear-leveling reasons.
-+ * This sub-system is also responsible for scrubbing. If a bit-flip is detected
-+ * in a physical eraseblock, it has to be moved. Technically this is the same
-+ * as moving it for wear-leveling reasons.
- *
-- * As it was said, for the UBI unit all physical eraseblocks are either "free"
-- * or "used". Free eraseblock are kept in the @wl->free RB-tree, while used
-- * eraseblocks are kept in a set of different RB-trees: @wl->used,
-- * @wl->prot.pnum, @wl->prot.aec, and @wl->scrub.
-+ * As it was said, for the UBI sub-system all physical eraseblocks are either
-+ * "free" or "used". Free eraseblock are kept in the @wl->free RB-tree, while
-+ * used eraseblocks are kept in @wl->used or @wl->scrub RB-trees, or
-+ * (temporarily) in the @wl->pq queue.
-+ *
-+ * When the WL sub-system returns a physical eraseblock, the physical
-+ * eraseblock is protected from being moved for some "time". For this reason,
-+ * the physical eraseblock is not directly moved from the @wl->free tree to the
-+ * @wl->used tree. There is a protection queue in between where this
-+ * physical eraseblock is temporarily stored (@wl->pq).
-+ *
-+ * All this protection stuff is needed because:
-+ * o we don't want to move physical eraseblocks just after we have given them
-+ * to the user; instead, we first want to let users fill them up with data;
-+ *
-+ * o there is a chance that the user will put the physical eraseblock very
-+ * soon, so it makes sense not to move it for some time, but wait; this is
-+ * especially important in case of "short term" physical eraseblocks.
-+ *
-+ * Physical eraseblocks stay protected only for limited time. But the "time" is
-+ * measured in erase cycles in this case. This is implemented with help of the
-+ * protection queue. Eraseblocks are put to the tail of this queue when they
-+ * are returned by the 'ubi_wl_get_peb()', and eraseblocks are removed from the
-+ * head of the queue on each erase operation (for any eraseblock). So the
-+ * length of the queue defines how may (global) erase cycles PEBs are protected.
-+ *
-+ * To put it differently, each physical eraseblock has 2 main states: free and
-+ * used. The former state corresponds to the @wl->free tree. The latter state
-+ * is split up on several sub-states:
-+ * o the WL movement is allowed (@wl->used tree);
-+ * o the WL movement is temporarily prohibited (@wl->pq queue);
-+ * o scrubbing is needed (@wl->scrub tree).
-+ *
-+ * Depending on the sub-state, wear-leveling entries of the used physical
-+ * eraseblocks may be kept in one of those structures.
- *
- * Note, in this implementation, we keep a small in-RAM object for each physical
- * eraseblock. This is surely not a scalable solution. But it appears to be good
- * enough for moderately large flashes and it is simple. In future, one may
-- * re-work this unit and make it more scalable.
-+ * re-work this sub-system and make it more scalable.
- *
-- * At the moment this unit does not utilize the sequence number, which was
-- * introduced relatively recently. But it would be wise to do this because the
-- * sequence number of a logical eraseblock characterizes how old is it. For
-+ * At the moment this sub-system does not utilize the sequence number, which
-+ * was introduced relatively recently. But it would be wise to do this because
-+ * the sequence number of a logical eraseblock characterizes how old is it. For
- * example, when we move a PEB with low erase counter, and we need to pick the
- * target PEB, we pick a PEB with the highest EC if our PEB is "old" and we
- * pick target PEB with an average EC if our PEB is not very "old". This is a
-- * room for future re-works of the WL unit.
-- *
-- * FIXME: looks too complex, should be simplified (later).
-+ * room for future re-works of the WL sub-system.
- */
-
- #include <linux/slab.h>
-@@ -83,29 +113,22 @@
- #define WL_RESERVED_PEBS 1
-
- /*
-- * How many erase cycles are short term, unknown, and long term physical
-- * eraseblocks protected.
-- */
--#define ST_PROTECTION 16
--#define U_PROTECTION 10
--#define LT_PROTECTION 4
--
--/*
- * Maximum difference between two erase counters. If this threshold is
-- * exceeded, the WL unit starts moving data from used physical eraseblocks with
-- * low erase counter to free physical eraseblocks with high erase counter.
-+ * exceeded, the WL sub-system starts moving data from used physical
-+ * eraseblocks with low erase counter to free physical eraseblocks with high
-+ * erase counter.
- */
- #define UBI_WL_THRESHOLD CONFIG_MTD_UBI_WL_THRESHOLD
-
- /*
-- * When a physical eraseblock is moved, the WL unit has to pick the target
-+ * When a physical eraseblock is moved, the WL sub-system has to pick the target
- * physical eraseblock to move to. The simplest way would be just to pick the
- * one with the highest erase counter. But in certain workloads this could lead
- * to an unlimited wear of one or few physical eraseblock. Indeed, imagine a
- * situation when the picked physical eraseblock is constantly erased after the
- * data is written to it. So, we have a constant which limits the highest erase
-- * counter of the free physical eraseblock to pick. Namely, the WL unit does
-- * not pick eraseblocks with erase counter greater then the lowest erase
-+ * counter of the free physical eraseblock to pick. Namely, the WL sub-system
-+ * does not pick eraseblocks with erase counter greater then the lowest erase
- * counter plus %WL_FREE_MAX_DIFF.
- */
- #define WL_FREE_MAX_DIFF (2*UBI_WL_THRESHOLD)
-@@ -117,80 +140,9 @@
- #define WL_MAX_FAILURES 32
-
- /**
-- * struct ubi_wl_entry - wear-leveling entry.
-- * @rb: link in the corresponding RB-tree
-- * @ec: erase counter
-- * @pnum: physical eraseblock number
-- *
-- * Each physical eraseblock has a corresponding &struct wl_entry object which
-- * may be kept in different RB-trees.
-- */
--struct ubi_wl_entry {
-- struct rb_node rb;
-- int ec;
-- int pnum;
--};
--
--/**
-- * struct ubi_wl_prot_entry - PEB protection entry.
-- * @rb_pnum: link in the @wl->prot.pnum RB-tree
-- * @rb_aec: link in the @wl->prot.aec RB-tree
-- * @abs_ec: the absolute erase counter value when the protection ends
-- * @e: the wear-leveling entry of the physical eraseblock under protection
-- *
-- * When the WL unit returns a physical eraseblock, the physical eraseblock is
-- * protected from being moved for some "time". For this reason, the physical
-- * eraseblock is not directly moved from the @wl->free tree to the @wl->used
-- * tree. There is one more tree in between where this physical eraseblock is
-- * temporarily stored (@wl->prot).
-- *
-- * All this protection stuff is needed because:
-- * o we don't want to move physical eraseblocks just after we have given them
-- * to the user; instead, we first want to let users fill them up with data;
-- *
-- * o there is a chance that the user will put the physical eraseblock very
-- * soon, so it makes sense not to move it for some time, but wait; this is
-- * especially important in case of "short term" physical eraseblocks.
-- *
-- * Physical eraseblocks stay protected only for limited time. But the "time" is
-- * measured in erase cycles in this case. This is implemented with help of the
-- * absolute erase counter (@wl->abs_ec). When it reaches certain value, the
-- * physical eraseblocks are moved from the protection trees (@wl->prot.*) to
-- * the @wl->used tree.
-- *
-- * Protected physical eraseblocks are searched by physical eraseblock number
-- * (when they are put) and by the absolute erase counter (to check if it is
-- * time to move them to the @wl->used tree). So there are actually 2 RB-trees
-- * storing the protected physical eraseblocks: @wl->prot.pnum and
-- * @wl->prot.aec. They are referred to as the "protection" trees. The
-- * first one is indexed by the physical eraseblock number. The second one is
-- * indexed by the absolute erase counter. Both trees store
-- * &struct ubi_wl_prot_entry objects.
-- *
-- * Each physical eraseblock has 2 main states: free and used. The former state
-- * corresponds to the @wl->free tree. The latter state is split up on several
-- * sub-states:
-- * o the WL movement is allowed (@wl->used tree);
-- * o the WL movement is temporarily prohibited (@wl->prot.pnum and
-- * @wl->prot.aec trees);
-- * o scrubbing is needed (@wl->scrub tree).
-- *
-- * Depending on the sub-state, wear-leveling entries of the used physical
-- * eraseblocks may be kept in one of those trees.
-- */
--struct ubi_wl_prot_entry {
-- struct rb_node rb_pnum;
-- struct rb_node rb_aec;
-- unsigned long long abs_ec;
-- struct ubi_wl_entry *e;
--};
--
--/**
- * struct ubi_work - UBI work description data structure.
- * @list: a link in the list of pending works
- * @func: worker function
-- * @priv: private data of the worker function
-- *
- * @e: physical eraseblock to erase
- * @torture: if the physical eraseblock has to be tortured
- *
-@@ -211,14 +163,13 @@
- static int paranoid_check_ec(struct ubi_device *ubi, int pnum, int ec);
- static int paranoid_check_in_wl_tree(struct ubi_wl_entry *e,
- struct rb_root *root);
-+static int paranoid_check_in_pq(struct ubi_device *ubi, struct ubi_wl_entry *e);
- #else
- #define paranoid_check_ec(ubi, pnum, ec) 0
- #define paranoid_check_in_wl_tree(e, root)
-+#define paranoid_check_in_pq(ubi, e) 0
- #endif
-
--/* Slab cache for wear-leveling entries */
--static struct kmem_cache *wl_entries_slab;
--
- /**
- * wl_tree_add - add a wear-leveling entry to a WL RB-tree.
- * @e: the wear-leveling entry to add
-@@ -236,7 +187,7 @@
- struct ubi_wl_entry *e1;
-
- parent = *p;
-- e1 = rb_entry(parent, struct ubi_wl_entry, rb);
-+ e1 = rb_entry(parent, struct ubi_wl_entry, u.rb);
-
- if (e->ec < e1->ec)
- p = &(*p)->rb_left;
-@@ -251,8 +202,8 @@
- }
- }
-
-- rb_link_node(&e->rb, parent, p);
-- rb_insert_color(&e->rb, root);
-+ rb_link_node(&e->u.rb, parent, p);
-+ rb_insert_color(&e->u.rb, root);
- }
-
- /**
-@@ -267,15 +218,26 @@
- int err;
- struct ubi_work *wrk;
-
-- spin_lock(&ubi->wl_lock);
-+ cond_resched();
-
-+ /*
-+ * @ubi->work_sem is used to synchronize with the workers. Workers take
-+ * it in read mode, so many of them may be doing works at a time. But
-+ * the queue flush code has to be sure the whole queue of works is
-+ * done, and it takes the mutex in write mode.
-+ */
-+ down_read(&ubi->work_sem);
-+ spin_lock(&ubi->wl_lock);
- if (list_empty(&ubi->works)) {
- spin_unlock(&ubi->wl_lock);
-+ up_read(&ubi->work_sem);
- return 0;
- }
-
- wrk = list_entry(ubi->works.next, struct ubi_work, list);
- list_del(&wrk->list);
-+ ubi->works_count -= 1;
-+ ubi_assert(ubi->works_count >= 0);
- spin_unlock(&ubi->wl_lock);
-
- /*
-@@ -286,11 +248,8 @@
- err = wrk->func(ubi, wrk, 0);
- if (err)
- ubi_err("work failed with error code %d", err);
-+ up_read(&ubi->work_sem);
-
-- spin_lock(&ubi->wl_lock);
-- ubi->works_count -= 1;
-- ubi_assert(ubi->works_count >= 0);
-- spin_unlock(&ubi->wl_lock);
- return err;
- }
-
-@@ -339,7 +298,7 @@
- while (p) {
- struct ubi_wl_entry *e1;
-
-- e1 = rb_entry(p, struct ubi_wl_entry, rb);
-+ e1 = rb_entry(p, struct ubi_wl_entry, u.rb);
-
- if (e->pnum == e1->pnum) {
- ubi_assert(e == e1);
-@@ -363,50 +322,24 @@
- }
-
- /**
-- * prot_tree_add - add physical eraseblock to protection trees.
-+ * prot_queue_add - add physical eraseblock to the protection queue.
- * @ubi: UBI device description object
- * @e: the physical eraseblock to add
-- * @pe: protection entry object to use
-- * @abs_ec: absolute erase counter value when this physical eraseblock has
-- * to be removed from the protection trees.
- *
-- * @wl->lock has to be locked.
-+ * This function adds @e to the tail of the protection queue @ubi->pq, where
-+ * @e will stay for %UBI_PROT_QUEUE_LEN erase operations and will be
-+ * temporarily protected from the wear-leveling worker. Note, @wl->lock has to
-+ * be locked.
- */
--static void prot_tree_add(struct ubi_device *ubi, struct ubi_wl_entry *e,
-- struct ubi_wl_prot_entry *pe, int abs_ec)
-+static void prot_queue_add(struct ubi_device *ubi, struct ubi_wl_entry *e)
- {
-- struct rb_node **p, *parent = NULL;
-- struct ubi_wl_prot_entry *pe1;
--
-- pe->e = e;
-- pe->abs_ec = ubi->abs_ec + abs_ec;
--
-- p = &ubi->prot.pnum.rb_node;
-- while (*p) {
-- parent = *p;
-- pe1 = rb_entry(parent, struct ubi_wl_prot_entry, rb_pnum);
--
-- if (e->pnum < pe1->e->pnum)
-- p = &(*p)->rb_left;
-- else
-- p = &(*p)->rb_right;
-- }
-- rb_link_node(&pe->rb_pnum, parent, p);
-- rb_insert_color(&pe->rb_pnum, &ubi->prot.pnum);
--
-- p = &ubi->prot.aec.rb_node;
-- parent = NULL;
-- while (*p) {
-- parent = *p;
-- pe1 = rb_entry(parent, struct ubi_wl_prot_entry, rb_aec);
-+ int pq_tail = ubi->pq_head - 1;
-
-- if (pe->abs_ec < pe1->abs_ec)
-- p = &(*p)->rb_left;
-- else
-- p = &(*p)->rb_right;
-- }
-- rb_link_node(&pe->rb_aec, parent, p);
-- rb_insert_color(&pe->rb_aec, &ubi->prot.aec);
-+ if (pq_tail < 0)
-+ pq_tail = UBI_PROT_QUEUE_LEN - 1;
-+ ubi_assert(pq_tail >= 0 && pq_tail < UBI_PROT_QUEUE_LEN);
-+ list_add_tail(&e->u.list, &ubi->pq[pq_tail]);
-+ dbg_wl("added PEB %d EC %d to the protection queue", e->pnum, e->ec);
- }
-
- /**
-@@ -422,14 +355,14 @@
- struct rb_node *p;
- struct ubi_wl_entry *e;
-
-- e = rb_entry(rb_first(root), struct ubi_wl_entry, rb);
-+ e = rb_entry(rb_first(root), struct ubi_wl_entry, u.rb);
- max += e->ec;
-
- p = root->rb_node;
- while (p) {
- struct ubi_wl_entry *e1;
-
-- e1 = rb_entry(p, struct ubi_wl_entry, rb);
-+ e1 = rb_entry(p, struct ubi_wl_entry, u.rb);
- if (e1->ec >= max)
- p = p->rb_left;
- else {
-@@ -451,17 +384,12 @@
- */
- int ubi_wl_get_peb(struct ubi_device *ubi, int dtype)
- {
-- int err, protect, medium_ec;
-+ int err, medium_ec;
- struct ubi_wl_entry *e, *first, *last;
-- struct ubi_wl_prot_entry *pe;
-
- ubi_assert(dtype == UBI_LONGTERM || dtype == UBI_SHORTTERM ||
- dtype == UBI_UNKNOWN);
-
-- pe = kmalloc(sizeof(struct ubi_wl_prot_entry), GFP_NOFS);
-- if (!pe)
-- return -ENOMEM;
--
- retry:
- spin_lock(&ubi->wl_lock);
- if (!ubi->free.rb_node) {
-@@ -469,110 +397,91 @@
- ubi_assert(list_empty(&ubi->works));
- ubi_err("no free eraseblocks");
- spin_unlock(&ubi->wl_lock);
-- kfree(pe);
- return -ENOSPC;
- }
- spin_unlock(&ubi->wl_lock);
-
- err = produce_free_peb(ubi);
-- if (err < 0) {
-- kfree(pe);
-+ if (err < 0)
- return err;
-- }
- goto retry;
- }
-
- switch (dtype) {
-- case UBI_LONGTERM:
-- /*
-- * For long term data we pick a physical eraseblock
-- * with high erase counter. But the highest erase
-- * counter we can pick is bounded by the the lowest
-- * erase counter plus %WL_FREE_MAX_DIFF.
-- */
-- e = find_wl_entry(&ubi->free, WL_FREE_MAX_DIFF);
-- protect = LT_PROTECTION;
-- break;
-- case UBI_UNKNOWN:
-- /*
-- * For unknown data we pick a physical eraseblock with
-- * medium erase counter. But we by no means can pick a
-- * physical eraseblock with erase counter greater or
-- * equivalent than the lowest erase counter plus
-- * %WL_FREE_MAX_DIFF.
-- */
-- first = rb_entry(rb_first(&ubi->free),
-- struct ubi_wl_entry, rb);
-- last = rb_entry(rb_last(&ubi->free),
-- struct ubi_wl_entry, rb);
-+ case UBI_LONGTERM:
-+ /*
-+ * For long term data we pick a physical eraseblock with high
-+ * erase counter. But the highest erase counter we can pick is
-+ * bounded by the the lowest erase counter plus
-+ * %WL_FREE_MAX_DIFF.
-+ */
-+ e = find_wl_entry(&ubi->free, WL_FREE_MAX_DIFF);
-+ break;
-+ case UBI_UNKNOWN:
-+ /*
-+ * For unknown data we pick a physical eraseblock with medium
-+ * erase counter. But we by no means can pick a physical
-+ * eraseblock with erase counter greater or equivalent than the
-+ * lowest erase counter plus %WL_FREE_MAX_DIFF.
-+ */
-+ first = rb_entry(rb_first(&ubi->free), struct ubi_wl_entry,
-+ u.rb);
-+ last = rb_entry(rb_last(&ubi->free), struct ubi_wl_entry, u.rb);
-
-- if (last->ec - first->ec < WL_FREE_MAX_DIFF)
-- e = rb_entry(ubi->free.rb_node,
-- struct ubi_wl_entry, rb);
-- else {
-- medium_ec = (first->ec + WL_FREE_MAX_DIFF)/2;
-- e = find_wl_entry(&ubi->free, medium_ec);
-- }
-- protect = U_PROTECTION;
-- break;
-- case UBI_SHORTTERM:
-- /*
-- * For short term data we pick a physical eraseblock
-- * with the lowest erase counter as we expect it will
-- * be erased soon.
-- */
-- e = rb_entry(rb_first(&ubi->free),
-- struct ubi_wl_entry, rb);
-- protect = ST_PROTECTION;
-- break;
-- default:
-- protect = 0;
-- e = NULL;
-- BUG();
-+ if (last->ec - first->ec < WL_FREE_MAX_DIFF)
-+ e = rb_entry(ubi->free.rb_node,
-+ struct ubi_wl_entry, u.rb);
-+ else {
-+ medium_ec = (first->ec + WL_FREE_MAX_DIFF)/2;
-+ e = find_wl_entry(&ubi->free, medium_ec);
-+ }
-+ break;
-+ case UBI_SHORTTERM:
-+ /*
-+ * For short term data we pick a physical eraseblock with the
-+ * lowest erase counter as we expect it will be erased soon.
-+ */
-+ e = rb_entry(rb_first(&ubi->free), struct ubi_wl_entry, u.rb);
-+ break;
-+ default:
-+ BUG();
- }
-
-+ paranoid_check_in_wl_tree(e, &ubi->free);
-+
- /*
-- * Move the physical eraseblock to the protection trees where it will
-+ * Move the physical eraseblock to the protection queue where it will
- * be protected from being moved for some time.
- */
-- paranoid_check_in_wl_tree(e, &ubi->free);
-- rb_erase(&e->rb, &ubi->free);
-- prot_tree_add(ubi, e, pe, protect);
--
-- dbg_wl("PEB %d EC %d, protection %d", e->pnum, e->ec, protect);
-+ rb_erase(&e->u.rb, &ubi->free);
-+ dbg_wl("PEB %d EC %d", e->pnum, e->ec);
-+ prot_queue_add(ubi, e);
- spin_unlock(&ubi->wl_lock);
--
- return e->pnum;
- }
-
- /**
-- * prot_tree_del - remove a physical eraseblock from the protection trees
-+ * prot_queue_del - remove a physical eraseblock from the protection queue.
- * @ubi: UBI device description object
- * @pnum: the physical eraseblock to remove
-+ *
-+ * This function deletes PEB @pnum from the protection queue and returns zero
-+ * in case of success and %-ENODEV if the PEB was not found.
- */
--static void prot_tree_del(struct ubi_device *ubi, int pnum)
-+static int prot_queue_del(struct ubi_device *ubi, int pnum)
- {
-- struct rb_node *p;
-- struct ubi_wl_prot_entry *pe = NULL;
--
-- p = ubi->prot.pnum.rb_node;
-- while (p) {
--
-- pe = rb_entry(p, struct ubi_wl_prot_entry, rb_pnum);
-+ struct ubi_wl_entry *e;
-
-- if (pnum == pe->e->pnum)
-- break;
-+ e = ubi->lookuptbl[pnum];
-+ if (!e)
-+ return -ENODEV;
-
-- if (pnum < pe->e->pnum)
-- p = p->rb_left;
-- else
-- p = p->rb_right;
-- }
-+ if (paranoid_check_in_pq(ubi, e))
-+ return -ENODEV;
-
-- ubi_assert(pe->e->pnum == pnum);
-- rb_erase(&pe->rb_aec, &ubi->prot.aec);
-- rb_erase(&pe->rb_pnum, &ubi->prot.pnum);
-- kfree(pe);
-+ list_del(&e->u.list);
-+ dbg_wl("deleted PEB %d from the protection queue", e->pnum);
-+ return 0;
- }
-
- /**
-@@ -584,7 +493,8 @@
- * This function returns zero in case of success and a negative error code in
- * case of failure.
- */
--static int sync_erase(struct ubi_device *ubi, struct ubi_wl_entry *e, int torture)
-+static int sync_erase(struct ubi_device *ubi, struct ubi_wl_entry *e,
-+ int torture)
- {
- int err;
- struct ubi_ec_hdr *ec_hdr;
-@@ -636,48 +546,47 @@
- }
-
- /**
-- * check_protection_over - check if it is time to stop protecting some
-- * physical eraseblocks.
-+ * serve_prot_queue - check if it is time to stop protecting PEBs.
- * @ubi: UBI device description object
- *
-- * This function is called after each erase operation, when the absolute erase
-- * counter is incremented, to check if some physical eraseblock have not to be
-- * protected any longer. These physical eraseblocks are moved from the
-- * protection trees to the used tree.
-+ * This function is called after each erase operation and removes PEBs from the
-+ * tail of the protection queue. These PEBs have been protected for long enough
-+ * and should be moved to the used tree.
- */
--static void check_protection_over(struct ubi_device *ubi)
-+static void serve_prot_queue(struct ubi_device *ubi)
- {
-- struct ubi_wl_prot_entry *pe;
-+ struct ubi_wl_entry *e, *tmp;
-+ int count;
-
- /*
- * There may be several protected physical eraseblock to remove,
- * process them all.
- */
-- while (1) {
-- spin_lock(&ubi->wl_lock);
-- if (!ubi->prot.aec.rb_node) {
-- spin_unlock(&ubi->wl_lock);
-- break;
-- }
--
-- pe = rb_entry(rb_first(&ubi->prot.aec),
-- struct ubi_wl_prot_entry, rb_aec);
-+repeat:
-+ count = 0;
-+ spin_lock(&ubi->wl_lock);
-+ list_for_each_entry_safe(e, tmp, &ubi->pq[ubi->pq_head], u.list) {
-+ dbg_wl("PEB %d EC %d protection over, move to used tree",
-+ e->pnum, e->ec);
-
-- if (pe->abs_ec > ubi->abs_ec) {
-+ list_del(&e->u.list);
-+ wl_tree_add(e, &ubi->used);
-+ if (count++ > 32) {
-+ /*
-+ * Let's be nice and avoid holding the spinlock for
-+ * too long.
-+ */
- spin_unlock(&ubi->wl_lock);
-- break;
-+ cond_resched();
-+ goto repeat;
- }
--
-- dbg_wl("PEB %d protection over, abs_ec %llu, PEB abs_ec %llu",
-- pe->e->pnum, ubi->abs_ec, pe->abs_ec);
-- rb_erase(&pe->rb_aec, &ubi->prot.aec);
-- rb_erase(&pe->rb_pnum, &ubi->prot.pnum);
-- wl_tree_add(pe->e, &ubi->used);
-- spin_unlock(&ubi->wl_lock);
--
-- kfree(pe);
-- cond_resched();
- }
-+
-+ ubi->pq_head += 1;
-+ if (ubi->pq_head == UBI_PROT_QUEUE_LEN)
-+ ubi->pq_head = 0;
-+ ubi_assert(ubi->pq_head >= 0 && ubi->pq_head < UBI_PROT_QUEUE_LEN);
-+ spin_unlock(&ubi->wl_lock);
- }
-
- /**
-@@ -685,8 +594,8 @@
- * @ubi: UBI device description object
- * @wrk: the work to schedule
- *
-- * This function enqueues a work defined by @wrk to the tail of the pending
-- * works list.
-+ * This function adds a work defined by @wrk to the tail of the pending works
-+ * list.
- */
- static void schedule_ubi_work(struct ubi_device *ubi, struct ubi_work *wrk)
- {
-@@ -744,12 +653,11 @@
- static int wear_leveling_worker(struct ubi_device *ubi, struct ubi_work *wrk,
- int cancel)
- {
-- int err, put = 0;
-+ int err, scrubbing = 0, torture = 0;
- struct ubi_wl_entry *e1, *e2;
- struct ubi_vid_hdr *vid_hdr;
-
- kfree(wrk);
--
- if (cancel)
- return 0;
-
-@@ -757,21 +665,17 @@
- if (!vid_hdr)
- return -ENOMEM;
-
-+ mutex_lock(&ubi->move_mutex);
- spin_lock(&ubi->wl_lock);
-+ ubi_assert(!ubi->move_from && !ubi->move_to);
-+ ubi_assert(!ubi->move_to_put);
-
-- /*
-- * Only one WL worker at a time is supported at this implementation, so
-- * make sure a PEB is not being moved already.
-- */
-- if (ubi->move_to || !ubi->free.rb_node ||
-+ if (!ubi->free.rb_node ||
- (!ubi->used.rb_node && !ubi->scrub.rb_node)) {
- /*
-- * Only one WL worker at a time is supported at this
-- * implementation, so if a LEB is already being moved, cancel.
-- *
-- * No free physical eraseblocks? Well, we cancel wear-leveling
-- * then. It will be triggered again when a free physical
-- * eraseblock appears.
-+ * No free physical eraseblocks? Well, they must be waiting in
-+ * the queue to be erased. Cancel movement - it will be
-+ * triggered again when a free physical eraseblock appears.
- *
- * No used physical eraseblocks? They must be temporarily
- * protected from being moved. They will be moved to the
-@@ -780,10 +684,7 @@
- */
- dbg_wl("cancel WL, a list is empty: free %d, used %d",
- !ubi->free.rb_node, !ubi->used.rb_node);
-- ubi->wl_scheduled = 0;
-- spin_unlock(&ubi->wl_lock);
-- ubi_free_vid_hdr(ubi, vid_hdr);
-- return 0;
-+ goto out_cancel;
- }
-
- if (!ubi->scrub.rb_node) {
-@@ -792,33 +693,30 @@
- * highly worn-out free physical eraseblock. If the erase
- * counters differ much enough, start wear-leveling.
- */
-- e1 = rb_entry(rb_first(&ubi->used), struct ubi_wl_entry, rb);
-+ e1 = rb_entry(rb_first(&ubi->used), struct ubi_wl_entry, u.rb);
- e2 = find_wl_entry(&ubi->free, WL_FREE_MAX_DIFF);
-
- if (!(e2->ec - e1->ec >= UBI_WL_THRESHOLD)) {
- dbg_wl("no WL needed: min used EC %d, max free EC %d",
- e1->ec, e2->ec);
-- ubi->wl_scheduled = 0;
-- spin_unlock(&ubi->wl_lock);
-- ubi_free_vid_hdr(ubi, vid_hdr);
-- return 0;
-+ goto out_cancel;
- }
- paranoid_check_in_wl_tree(e1, &ubi->used);
-- rb_erase(&e1->rb, &ubi->used);
-+ rb_erase(&e1->u.rb, &ubi->used);
- dbg_wl("move PEB %d EC %d to PEB %d EC %d",
- e1->pnum, e1->ec, e2->pnum, e2->ec);
- } else {
-- e1 = rb_entry(rb_first(&ubi->scrub), struct ubi_wl_entry, rb);
-+ /* Perform scrubbing */
-+ scrubbing = 1;
-+ e1 = rb_entry(rb_first(&ubi->scrub), struct ubi_wl_entry, u.rb);
- e2 = find_wl_entry(&ubi->free, WL_FREE_MAX_DIFF);
- paranoid_check_in_wl_tree(e1, &ubi->scrub);
-- rb_erase(&e1->rb, &ubi->scrub);
-+ rb_erase(&e1->u.rb, &ubi->scrub);
- dbg_wl("scrub PEB %d to PEB %d", e1->pnum, e2->pnum);
- }
-
- paranoid_check_in_wl_tree(e2, &ubi->free);
-- rb_erase(&e2->rb, &ubi->free);
-- ubi_assert(!ubi->move_from && !ubi->move_to);
-- ubi_assert(!ubi->move_to_put && !ubi->move_from_put);
-+ rb_erase(&e2->u.rb, &ubi->free);
- ubi->move_from = e1;
- ubi->move_to = e2;
- spin_unlock(&ubi->wl_lock);
-@@ -828,6 +726,10 @@
- * We so far do not know which logical eraseblock our physical
- * eraseblock (@e1) belongs to. We have to read the volume identifier
- * header first.
-+ *
-+ * Note, we are protected from this PEB being unmapped and erased. The
-+ * 'ubi_wl_put_peb()' would wait for moving to be finished if the PEB
-+ * which is being moved was unmapped.
- */
-
- err = ubi_io_read_vid_hdr(ubi, e1->pnum, vid_hdr, 0);
-@@ -842,97 +744,145 @@
- * likely have the VID header in place.
- */
- dbg_wl("PEB %d has no VID header", e1->pnum);
-- err = 0;
-- } else {
-- ubi_err("error %d while reading VID header from PEB %d",
-- err, e1->pnum);
-- if (err > 0)
-- err = -EIO;
-+ goto out_not_moved;
- }
-- goto error;
-+
-+ ubi_err("error %d while reading VID header from PEB %d",
-+ err, e1->pnum);
-+ if (err > 0)
-+ err = -EIO;
-+ goto out_error;
- }
-
- err = ubi_eba_copy_leb(ubi, e1->pnum, e2->pnum, vid_hdr);
- if (err) {
-- if (err == UBI_IO_BITFLIPS)
-- err = 0;
-- goto error;
-+ if (err == -EAGAIN)
-+ goto out_not_moved;
-+ if (err < 0)
-+ goto out_error;
-+ if (err == 2) {
-+ /* Target PEB write error, torture it */
-+ torture = 1;
-+ goto out_not_moved;
-+ }
-+
-+ /*
-+ * The LEB has not been moved because the volume is being
-+ * deleted or the PEB has been put meanwhile. We should prevent
-+ * this PEB from being selected for wear-leveling movement
-+ * again, so put it to the protection queue.
-+ */
-+
-+ dbg_wl("canceled moving PEB %d", e1->pnum);
-+ ubi_assert(err == 1);
-+
-+ ubi_free_vid_hdr(ubi, vid_hdr);
-+ vid_hdr = NULL;
-+
-+ spin_lock(&ubi->wl_lock);
-+ prot_queue_add(ubi, e1);
-+ ubi_assert(!ubi->move_to_put);
-+ ubi->move_from = ubi->move_to = NULL;
-+ ubi->wl_scheduled = 0;
-+ spin_unlock(&ubi->wl_lock);
-+
-+ e1 = NULL;
-+ err = schedule_erase(ubi, e2, 0);
-+ if (err)
-+ goto out_error;
-+ mutex_unlock(&ubi->move_mutex);
-+ return 0;
- }
-
-+ /* The PEB has been successfully moved */
- ubi_free_vid_hdr(ubi, vid_hdr);
-+ vid_hdr = NULL;
-+ if (scrubbing)
-+ ubi_msg("scrubbed PEB %d, data moved to PEB %d",
-+ e1->pnum, e2->pnum);
-+
- spin_lock(&ubi->wl_lock);
-- if (!ubi->move_to_put)
-+ if (!ubi->move_to_put) {
- wl_tree_add(e2, &ubi->used);
-- else
-- put = 1;
-+ e2 = NULL;
-+ }
- ubi->move_from = ubi->move_to = NULL;
-- ubi->move_from_put = ubi->move_to_put = 0;
-- ubi->wl_scheduled = 0;
-+ ubi->move_to_put = ubi->wl_scheduled = 0;
- spin_unlock(&ubi->wl_lock);
-
-- if (put) {
-+ err = schedule_erase(ubi, e1, 0);
-+ if (err) {
-+ e1 = NULL;
-+ goto out_error;
-+ }
-+
-+ if (e2) {
- /*
- * Well, the target PEB was put meanwhile, schedule it for
- * erasure.
- */
- dbg_wl("PEB %d was put meanwhile, erase", e2->pnum);
- err = schedule_erase(ubi, e2, 0);
-- if (err) {
-- kmem_cache_free(wl_entries_slab, e2);
-- ubi_ro_mode(ubi);
-- }
-- }
--
-- err = schedule_erase(ubi, e1, 0);
-- if (err) {
-- kmem_cache_free(wl_entries_slab, e1);
-- ubi_ro_mode(ubi);
-+ if (err)
-+ goto out_error;
- }
-
- dbg_wl("done");
-- return err;
-+ mutex_unlock(&ubi->move_mutex);
-+ return 0;
-
- /*
-- * Some error occurred. @e1 was not changed, so return it back. @e2
-- * might be changed, schedule it for erasure.
-+ * For some reasons the LEB was not moved, might be an error, might be
-+ * something else. @e1 was not changed, so return it back. @e2 might
-+ * have been changed, schedule it for erasure.
- */
--error:
-- if (err)
-- dbg_wl("error %d occurred, cancel operation", err);
-- ubi_assert(err <= 0);
--
-+out_not_moved:
-+ dbg_wl("canceled moving PEB %d", e1->pnum);
- ubi_free_vid_hdr(ubi, vid_hdr);
-+ vid_hdr = NULL;
- spin_lock(&ubi->wl_lock);
-- ubi->wl_scheduled = 0;
-- if (ubi->move_from_put)
-- put = 1;
-+ if (scrubbing)
-+ wl_tree_add(e1, &ubi->scrub);
- else
- wl_tree_add(e1, &ubi->used);
-+ ubi_assert(!ubi->move_to_put);
- ubi->move_from = ubi->move_to = NULL;
-- ubi->move_from_put = ubi->move_to_put = 0;
-+ ubi->wl_scheduled = 0;
- spin_unlock(&ubi->wl_lock);
-
-- if (put) {
-- /*
-- * Well, the target PEB was put meanwhile, schedule it for
-- * erasure.
-- */
-- dbg_wl("PEB %d was put meanwhile, erase", e1->pnum);
-- err = schedule_erase(ubi, e1, 0);
-- if (err) {
-- kmem_cache_free(wl_entries_slab, e1);
-- ubi_ro_mode(ubi);
-- }
-- }
-+ e1 = NULL;
-+ err = schedule_erase(ubi, e2, torture);
-+ if (err)
-+ goto out_error;
-
-- err = schedule_erase(ubi, e2, 0);
-- if (err) {
-- kmem_cache_free(wl_entries_slab, e2);
-- ubi_ro_mode(ubi);
-- }
-+ mutex_unlock(&ubi->move_mutex);
-+ return 0;
-
-- yield();
-+out_error:
-+ ubi_err("error %d while moving PEB %d to PEB %d",
-+ err, e1->pnum, e2->pnum);
-+
-+ ubi_free_vid_hdr(ubi, vid_hdr);
-+ spin_lock(&ubi->wl_lock);
-+ ubi->move_from = ubi->move_to = NULL;
-+ ubi->move_to_put = ubi->wl_scheduled = 0;
-+ spin_unlock(&ubi->wl_lock);
-+
-+ if (e1)
-+ kmem_cache_free(ubi_wl_entry_slab, e1);
-+ if (e2)
-+ kmem_cache_free(ubi_wl_entry_slab, e2);
-+ ubi_ro_mode(ubi);
-+
-+ mutex_unlock(&ubi->move_mutex);
- return err;
-+
-+out_cancel:
-+ ubi->wl_scheduled = 0;
-+ spin_unlock(&ubi->wl_lock);
-+ mutex_unlock(&ubi->move_mutex);
-+ ubi_free_vid_hdr(ubi, vid_hdr);
-+ return 0;
- }
-
- /**
-@@ -970,7 +920,7 @@
- * erase counter of free physical eraseblocks is greater then
- * %UBI_WL_THRESHOLD.
- */
-- e1 = rb_entry(rb_first(&ubi->used), struct ubi_wl_entry, rb);
-+ e1 = rb_entry(rb_first(&ubi->used), struct ubi_wl_entry, u.rb);
- e2 = find_wl_entry(&ubi->free, WL_FREE_MAX_DIFF);
-
- if (!(e2->ec - e1->ec >= UBI_WL_THRESHOLD))
-@@ -1020,7 +970,7 @@
- if (cancel) {
- dbg_wl("cancel erasure of PEB %d EC %d", pnum, e->ec);
- kfree(wl_wrk);
-- kmem_cache_free(wl_entries_slab, e);
-+ kmem_cache_free(ubi_wl_entry_slab, e);
- return 0;
- }
-
-@@ -1032,15 +982,14 @@
- kfree(wl_wrk);
-
- spin_lock(&ubi->wl_lock);
-- ubi->abs_ec += 1;
- wl_tree_add(e, &ubi->free);
- spin_unlock(&ubi->wl_lock);
-
- /*
-- * One more erase operation has happened, take care about protected
-- * physical eraseblocks.
-+ * One more erase operation has happened, take care about
-+ * protected physical eraseblocks.
- */
-- check_protection_over(ubi);
-+ serve_prot_queue(ubi);
-
- /* And take care about wear-leveling */
- err = ensure_wear_leveling(ubi);
-@@ -1049,7 +998,7 @@
-
- ubi_err("failed to erase PEB %d, error %d", pnum, err);
- kfree(wl_wrk);
-- kmem_cache_free(wl_entries_slab, e);
-+ kmem_cache_free(ubi_wl_entry_slab, e);
-
- if (err == -EINTR || err == -ENOMEM || err == -EAGAIN ||
- err == -EBUSY) {
-@@ -1119,8 +1068,7 @@
- }
-
/**
-- * ubi_wl_put_peb - return a physical eraseblock to the wear-leveling
-- * unit.
-+ * ubi_wl_put_peb - return a PEB to the wear-leveling sub-system.
- * @ubi: UBI device description object
- * @pnum: physical eraseblock to return
- * @torture: if this physical eraseblock has to be tortured
-@@ -1128,7 +1076,7 @@
- * This function is called to return physical eraseblock @pnum to the pool of
- * free physical eraseblocks. The @torture flag has to be set if an I/O error
- * occurred to this @pnum and it has to be tested. This function returns zero
-- * in case of success and a negative error code in case of failure.
-+ * in case of success, and a negative error code in case of failure.
- */
- int ubi_wl_put_peb(struct ubi_device *ubi, int pnum, int torture)
- {
-@@ -1139,8 +1087,8 @@
- ubi_assert(pnum >= 0);
- ubi_assert(pnum < ubi->peb_count);
-
-+retry:
- spin_lock(&ubi->wl_lock);
--
- e = ubi->lookuptbl[pnum];
- if (e == ubi->move_from) {
- /*
-@@ -1148,17 +1096,22 @@
- * be moved. It will be scheduled for erasure in the
- * wear-leveling worker.
- */
-- dbg_wl("PEB %d is being moved", pnum);
-- ubi_assert(!ubi->move_from_put);
-- ubi->move_from_put = 1;
-+ dbg_wl("PEB %d is being moved, wait", pnum);
- spin_unlock(&ubi->wl_lock);
-- return 0;
-+
-+ /* Wait for the WL worker by taking the @ubi->move_mutex */
-+ mutex_lock(&ubi->move_mutex);
-+ mutex_unlock(&ubi->move_mutex);
-+ goto retry;
- } else if (e == ubi->move_to) {
- /*
- * User is putting the physical eraseblock which was selected
- * as the target the data is moved to. It may happen if the EBA
-- * unit already re-mapped the LEB but the WL unit did has not
-- * put the PEB to the "used" tree.
-+ * sub-system already re-mapped the LEB in 'ubi_eba_copy_leb()'
-+ * but the WL sub-system has not put the PEB to the "used" tree
-+ * yet, but it is about to do this. So we just set a flag which
-+ * will tell the WL worker that the PEB is not needed anymore
-+ * and should be scheduled for erasure.
- */
- dbg_wl("PEB %d is the target of data moving", pnum);
- ubi_assert(!ubi->move_to_put);
-@@ -1168,12 +1121,19 @@
- } else {
- if (in_wl_tree(e, &ubi->used)) {
- paranoid_check_in_wl_tree(e, &ubi->used);
-- rb_erase(&e->rb, &ubi->used);
-+ rb_erase(&e->u.rb, &ubi->used);
- } else if (in_wl_tree(e, &ubi->scrub)) {
- paranoid_check_in_wl_tree(e, &ubi->scrub);
-- rb_erase(&e->rb, &ubi->scrub);
-- } else
-- prot_tree_del(ubi, e->pnum);
-+ rb_erase(&e->u.rb, &ubi->scrub);
-+ } else {
-+ err = prot_queue_del(ubi, e->pnum);
-+ if (err) {
-+ ubi_err("PEB %d not found", pnum);
-+ ubi_ro_mode(ubi);
-+ spin_unlock(&ubi->wl_lock);
-+ return err;
-+ }
-+ }
- }
- spin_unlock(&ubi->wl_lock);
-
-@@ -1201,7 +1161,7 @@
- {
- struct ubi_wl_entry *e;
-
-- ubi_msg("schedule PEB %d for scrubbing", pnum);
-+ dbg_msg("schedule PEB %d for scrubbing", pnum);
-
- retry:
- spin_lock(&ubi->wl_lock);
-@@ -1226,9 +1186,18 @@
-
- if (in_wl_tree(e, &ubi->used)) {
- paranoid_check_in_wl_tree(e, &ubi->used);
-- rb_erase(&e->rb, &ubi->used);
-- } else
-- prot_tree_del(ubi, pnum);
-+ rb_erase(&e->u.rb, &ubi->used);
-+ } else {
-+ int err;
-+
-+ err = prot_queue_del(ubi, e->pnum);
-+ if (err) {
-+ ubi_err("PEB %d not found", pnum);
-+ ubi_ro_mode(ubi);
-+ spin_unlock(&ubi->wl_lock);
-+ return err;
-+ }
-+ }
-
- wl_tree_add(e, &ubi->scrub);
- spin_unlock(&ubi->wl_lock);
-@@ -1249,17 +1218,32 @@
- */
- int ubi_wl_flush(struct ubi_device *ubi)
- {
-- int err, pending_count;
-+ int err;
-
-- pending_count = ubi->works_count;
-+ /*
-+ * Erase while the pending works queue is not empty, but not more than
-+ * the number of currently pending works.
-+ */
-+ dbg_wl("flush (%d pending works)", ubi->works_count);
-+ while (ubi->works_count) {
-+ err = do_work(ubi);
-+ if (err)
-+ return err;
-+ }
-
-- dbg_wl("flush (%d pending works)", pending_count);
-+ /*
-+ * Make sure all the works which have been done in parallel are
-+ * finished.
-+ */
-+ down_write(&ubi->work_sem);
-+ up_write(&ubi->work_sem);
-
- /*
-- * Erase while the pending works queue is not empty, but not more then
-- * the number of currently pending works.
-+ * And in case last was the WL worker and it canceled the LEB
-+ * movement, flush again.
- */
-- while (pending_count-- > 0) {
-+ while (ubi->works_count) {
-+ dbg_wl("flush more (%d pending works)", ubi->works_count);
- err = do_work(ubi);
- if (err)
- return err;
-@@ -1284,17 +1268,17 @@
- else if (rb->rb_right)
- rb = rb->rb_right;
- else {
-- e = rb_entry(rb, struct ubi_wl_entry, rb);
-+ e = rb_entry(rb, struct ubi_wl_entry, u.rb);
-
- rb = rb_parent(rb);
- if (rb) {
-- if (rb->rb_left == &e->rb)
-+ if (rb->rb_left == &e->u.rb)
- rb->rb_left = NULL;
- else
- rb->rb_right = NULL;
- }
-
-- kmem_cache_free(wl_entries_slab, e);
-+ kmem_cache_free(ubi_wl_entry_slab, e);
- }
- }
- }
-@@ -1303,7 +1287,7 @@
- * ubi_thread - UBI background thread.
- * @u: the UBI device description object pointer
- */
--static int ubi_thread(void *u)
-+int ubi_thread(void *u)
- {
- int failures = 0;
- struct ubi_device *ubi = u;
-@@ -1316,7 +1300,7 @@
- int err;
-
- if (kthread_should_stop())
-- goto out;
-+ break;
-
- if (try_to_freeze())
- continue;
-@@ -1343,7 +1327,8 @@
- ubi_msg("%s: %d consecutive failures",
- ubi->bgt_name, WL_MAX_FAILURES);
- ubi_ro_mode(ubi);
-- break;
-+ ubi->thread_enabled = 0;
-+ continue;
- }
- } else
- failures = 0;
-@@ -1351,7 +1336,6 @@
- cond_resched();
- }
-
--out:
- dbg_wl("background thread \"%s\" is killed", ubi->bgt_name);
- return 0;
- }
-@@ -1374,8 +1358,7 @@
- }
-
- /**
-- * ubi_wl_init_scan - initialize the wear-leveling unit using scanning
-- * information.
-+ * ubi_wl_init_scan - initialize the WL sub-system using scanning information.
- * @ubi: UBI device description object
- * @si: scanning information
- *
-@@ -1384,46 +1367,34 @@
- */
- int ubi_wl_init_scan(struct ubi_device *ubi, struct ubi_scan_info *si)
- {
-- int err;
-+ int err, i;
- struct rb_node *rb1, *rb2;
- struct ubi_scan_volume *sv;
- struct ubi_scan_leb *seb, *tmp;
- struct ubi_wl_entry *e;
-
--
- ubi->used = ubi->free = ubi->scrub = RB_ROOT;
-- ubi->prot.pnum = ubi->prot.aec = RB_ROOT;
- spin_lock_init(&ubi->wl_lock);
-+ mutex_init(&ubi->move_mutex);
-+ init_rwsem(&ubi->work_sem);
- ubi->max_ec = si->max_ec;
- INIT_LIST_HEAD(&ubi->works);
-
- sprintf(ubi->bgt_name, UBI_BGT_NAME_PATTERN, ubi->ubi_num);
-
-- ubi->bgt_thread = kthread_create(ubi_thread, ubi, ubi->bgt_name);
-- if (IS_ERR(ubi->bgt_thread)) {
-- err = PTR_ERR(ubi->bgt_thread);
-- ubi_err("cannot spawn \"%s\", error %d", ubi->bgt_name,
-- err);
-- return err;
-- }
--
-- if (ubi_devices_cnt == 0) {
-- wl_entries_slab = kmem_cache_create("ubi_wl_entry_slab",
-- sizeof(struct ubi_wl_entry),
-- 0, 0, NULL);
-- if (!wl_entries_slab)
-- return -ENOMEM;
-- }
--
- err = -ENOMEM;
- ubi->lookuptbl = kzalloc(ubi->peb_count * sizeof(void *), GFP_KERNEL);
- if (!ubi->lookuptbl)
-- goto out_free;
-+ return err;
-+
-+ for (i = 0; i < UBI_PROT_QUEUE_LEN; i++)
-+ INIT_LIST_HEAD(&ubi->pq[i]);
-+ ubi->pq_head = 0;
-
- list_for_each_entry_safe(seb, tmp, &si->erase, u.list) {
- cond_resched();
-
-- e = kmem_cache_alloc(wl_entries_slab, GFP_KERNEL);
-+ e = kmem_cache_alloc(ubi_wl_entry_slab, GFP_KERNEL);
- if (!e)
- goto out_free;
-
-@@ -1431,7 +1402,7 @@
- e->ec = seb->ec;
- ubi->lookuptbl[e->pnum] = e;
- if (schedule_erase(ubi, e, 0)) {
-- kmem_cache_free(wl_entries_slab, e);
-+ kmem_cache_free(ubi_wl_entry_slab, e);
- goto out_free;
- }
- }
-@@ -1439,7 +1410,7 @@
- list_for_each_entry(seb, &si->free, u.list) {
- cond_resched();
-
-- e = kmem_cache_alloc(wl_entries_slab, GFP_KERNEL);
-+ e = kmem_cache_alloc(ubi_wl_entry_slab, GFP_KERNEL);
- if (!e)
- goto out_free;
-
-@@ -1453,7 +1424,7 @@
- list_for_each_entry(seb, &si->corr, u.list) {
- cond_resched();
-
-- e = kmem_cache_alloc(wl_entries_slab, GFP_KERNEL);
-+ e = kmem_cache_alloc(ubi_wl_entry_slab, GFP_KERNEL);
- if (!e)
- goto out_free;
-
-@@ -1461,7 +1432,7 @@
- e->ec = seb->ec;
- ubi->lookuptbl[e->pnum] = e;
- if (schedule_erase(ubi, e, 0)) {
-- kmem_cache_free(wl_entries_slab, e);
-+ kmem_cache_free(ubi_wl_entry_slab, e);
- goto out_free;
- }
- }
-@@ -1470,7 +1441,7 @@
- ubi_rb_for_each_entry(rb2, seb, &sv->root, u.rb) {
- cond_resched();
-
-- e = kmem_cache_alloc(wl_entries_slab, GFP_KERNEL);
-+ e = kmem_cache_alloc(ubi_wl_entry_slab, GFP_KERNEL);
- if (!e)
- goto out_free;
-
-@@ -1510,70 +1481,45 @@
- tree_destroy(&ubi->free);
- tree_destroy(&ubi->scrub);
- kfree(ubi->lookuptbl);
-- if (ubi_devices_cnt == 0)
-- kmem_cache_destroy(wl_entries_slab);
- return err;
- }
-
- /**
-- * protection_trees_destroy - destroy the protection RB-trees.
-+ * protection_queue_destroy - destroy the protection queue.
- * @ubi: UBI device description object
- */
--static void protection_trees_destroy(struct ubi_device *ubi)
-+static void protection_queue_destroy(struct ubi_device *ubi)
- {
-- struct rb_node *rb;
-- struct ubi_wl_prot_entry *pe;
--
-- rb = ubi->prot.aec.rb_node;
-- while (rb) {
-- if (rb->rb_left)
-- rb = rb->rb_left;
-- else if (rb->rb_right)
-- rb = rb->rb_right;
-- else {
-- pe = rb_entry(rb, struct ubi_wl_prot_entry, rb_aec);
--
-- rb = rb_parent(rb);
-- if (rb) {
-- if (rb->rb_left == &pe->rb_aec)
-- rb->rb_left = NULL;
-- else
-- rb->rb_right = NULL;
-- }
-+ int i;
-+ struct ubi_wl_entry *e, *tmp;
-
-- kmem_cache_free(wl_entries_slab, pe->e);
-- kfree(pe);
-+ for (i = 0; i < UBI_PROT_QUEUE_LEN; ++i) {
-+ list_for_each_entry_safe(e, tmp, &ubi->pq[i], u.list) {
-+ list_del(&e->u.list);
-+ kmem_cache_free(ubi_wl_entry_slab, e);
- }
- }
- }
-
- /**
-- * ubi_wl_close - close the wear-leveling unit.
-+ * ubi_wl_close - close the wear-leveling sub-system.
- * @ubi: UBI device description object
- */
- void ubi_wl_close(struct ubi_device *ubi)
- {
-- dbg_wl("disable \"%s\"", ubi->bgt_name);
-- if (ubi->bgt_thread)
-- kthread_stop(ubi->bgt_thread);
--
-- dbg_wl("close the UBI wear-leveling unit");
--
-+ dbg_wl("close the WL sub-system");
- cancel_pending(ubi);
-- protection_trees_destroy(ubi);
-+ protection_queue_destroy(ubi);
- tree_destroy(&ubi->used);
- tree_destroy(&ubi->free);
- tree_destroy(&ubi->scrub);
- kfree(ubi->lookuptbl);
-- if (ubi_devices_cnt == 1)
-- kmem_cache_destroy(wl_entries_slab);
- }
-
- #ifdef CONFIG_MTD_UBI_DEBUG_PARANOID
-
- /**
-- * paranoid_check_ec - make sure that the erase counter of a physical eraseblock
-- * is correct.
-+ * paranoid_check_ec - make sure that the erase counter of a PEB is correct.
- * @ubi: UBI device description object
- * @pnum: the physical eraseblock number to check
- * @ec: the erase counter to check
-@@ -1614,13 +1560,12 @@
- }
-
- /**
-- * paranoid_check_in_wl_tree - make sure that a wear-leveling entry is present
-- * in a WL RB-tree.
-+ * paranoid_check_in_wl_tree - check that wear-leveling entry is in WL RB-tree.
- * @e: the wear-leveling entry to check
- * @root: the root of the tree
- *
-- * This function returns zero if @e is in the @root RB-tree and %1 if it
-- * is not.
-+ * This function returns zero if @e is in the @root RB-tree and %1 if it is
-+ * not.
- */
- static int paranoid_check_in_wl_tree(struct ubi_wl_entry *e,
- struct rb_root *root)
-@@ -1634,4 +1579,27 @@
- return 1;
- }
-
-+/**
-+ * paranoid_check_in_pq - check if wear-leveling entry is in the protection
-+ * queue.
-+ * @ubi: UBI device description object
-+ * @e: the wear-leveling entry to check
-+ *
-+ * This function returns zero if @e is in @ubi->pq and %1 if it is not.
-+ */
-+static int paranoid_check_in_pq(struct ubi_device *ubi, struct ubi_wl_entry *e)
-+{
-+ struct ubi_wl_entry *p;
-+ int i;
-+
-+ for (i = 0; i < UBI_PROT_QUEUE_LEN; ++i)
-+ list_for_each_entry(p, &ubi->pq[i], u.list)
-+ if (p == e)
-+ return 0;
-+
-+ ubi_err("paranoid check failed for PEB %d, EC %d, Protect queue",
-+ e->pnum, e->ec);
-+ ubi_dbg_dump_stack();
-+ return 1;
-+}
- #endif /* CONFIG_MTD_UBI_DEBUG_PARANOID */
-diff -Nurd linux-2.6.24.orig/fs/Kconfig linux-2.6.24/fs/Kconfig
---- linux-2.6.24.orig/fs/Kconfig 2009-04-17 09:45:12.000000000 +0200
-+++ linux-2.6.24/fs/Kconfig 2009-04-17 09:49:26.000000000 +0200
-@@ -1385,6 +1385,9 @@
-
- endchoice
-
-+# UBIFS File system configuration
-+source "fs/ubifs/Kconfig"
-+
- config CRAMFS
- tristate "Compressed ROM file system support (cramfs)"
- depends on BLOCK
-diff -Nurd linux-2.6.24.orig/fs/Makefile linux-2.6.24/fs/Makefile
---- linux-2.6.24.orig/fs/Makefile 2009-04-17 09:45:12.000000000 +0200
-+++ linux-2.6.24/fs/Makefile 2009-04-17 09:49:28.000000000 +0200
-@@ -100,6 +100,7 @@
- obj-$(CONFIG_UFS_FS) += ufs/
- obj-$(CONFIG_EFS_FS) += efs/
- obj-$(CONFIG_JFFS2_FS) += jffs2/
-+obj-$(CONFIG_UBIFS_FS) += ubifs/
- obj-$(CONFIG_AFFS_FS) += affs/
- obj-$(CONFIG_ROMFS_FS) += romfs/
- obj-$(CONFIG_QNX4FS_FS) += qnx4/
-diff -Nurd linux-2.6.24.orig/fs/fs-writeback.c linux-2.6.24/fs/fs-writeback.c
---- linux-2.6.24.orig/fs/fs-writeback.c 2009-04-17 09:45:12.000000000 +0200
-+++ linux-2.6.24/fs/fs-writeback.c 2009-04-17 09:49:28.000000000 +0200
-@@ -386,8 +386,6 @@
- * WB_SYNC_HOLD is a hack for sys_sync(): reattach the inode to sb->s_dirty so
- * that it can be located for waiting on in __writeback_single_inode().
- *
-- * Called under inode_lock.
-- *
- * If `bdi' is non-zero then we're being asked to writeback a specific queue.
- * This function assumes that the blockdev superblock's inodes are backed by
- * a variety of queues, so all inodes are searched. For other superblocks,
-@@ -403,11 +401,12 @@
- * on the writer throttling path, and we get decent balancing between many
- * throttled threads: we don't want them all piling up on inode_sync_wait.
- */
--static void
--sync_sb_inodes(struct super_block *sb, struct writeback_control *wbc)
-+void generic_sync_sb_inodes(struct super_block *sb,
-+ struct writeback_control *wbc)
- {
- const unsigned long start = jiffies; /* livelock avoidance */
-
-+ spin_lock(&inode_lock);
- if (!wbc->for_kupdate || list_empty(&sb->s_io))
- queue_io(sb, wbc->older_than_this);
-
-@@ -482,8 +481,16 @@
- if (wbc->nr_to_write <= 0)
- break;
- }
-+ spin_unlock(&inode_lock);
- return; /* Leave any unwritten inodes on s_io */
- }
-+EXPORT_SYMBOL_GPL(generic_sync_sb_inodes);
-+
-+static void sync_sb_inodes(struct super_block *sb,
-+ struct writeback_control *wbc)
-+{
-+ generic_sync_sb_inodes(sb, wbc);
-+}
-
- /*
- * Start writeback of dirty pagecache data against all unlocked inodes.
-@@ -524,11 +531,8 @@
- * be unmounted by the time it is released.
- */
- if (down_read_trylock(&sb->s_umount)) {
-- if (sb->s_root) {
-- spin_lock(&inode_lock);
-+ if (sb->s_root)
- sync_sb_inodes(sb, wbc);
-- spin_unlock(&inode_lock);
-- }
- up_read(&sb->s_umount);
- }
- spin_lock(&sb_lock);
-@@ -566,9 +570,7 @@
- (inodes_stat.nr_inodes - inodes_stat.nr_unused) +
- nr_dirty + nr_unstable;
- wbc.nr_to_write += wbc.nr_to_write / 2; /* Bit more for luck */
-- spin_lock(&inode_lock);
- sync_sb_inodes(sb, &wbc);
-- spin_unlock(&inode_lock);
- }
-
- /*
-diff -Nurd linux-2.6.24.orig/fs/ubifs/Kconfig linux-2.6.24/fs/ubifs/Kconfig
---- linux-2.6.24.orig/fs/ubifs/Kconfig 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.24/fs/ubifs/Kconfig 2009-04-17 09:49:28.000000000 +0200
-@@ -0,0 +1,72 @@
-+config UBIFS_FS
-+ tristate "UBIFS file system support"
-+ select CRC16
-+ select CRC32
-+ select CRYPTO if UBIFS_FS_ADVANCED_COMPR
-+ select CRYPTO if UBIFS_FS_LZO
-+ select CRYPTO if UBIFS_FS_ZLIB
-+ select CRYPTO_LZO if UBIFS_FS_LZO
-+ select CRYPTO_DEFLATE if UBIFS_FS_ZLIB
-+ depends on MTD_UBI
-+ help
-+ UBIFS is a file system for flash devices which works on top of UBI.
-+
-+config UBIFS_FS_XATTR
-+ bool "Extended attributes support"
-+ depends on UBIFS_FS
-+ help
-+ This option enables support of extended attributes.
-+
-+config UBIFS_FS_ADVANCED_COMPR
-+ bool "Advanced compression options"
-+ depends on UBIFS_FS
-+ help
-+ This option allows to explicitly choose which compressions, if any,
-+ are enabled in UBIFS. Removing compressors means inbility to read
-+ existing file systems.
-+
-+ If unsure, say 'N'.
-+
-+config UBIFS_FS_LZO
-+ bool "LZO compression support" if UBIFS_FS_ADVANCED_COMPR
-+ depends on UBIFS_FS
-+ default y
-+ help
-+ LZO compressor is generally faster then zlib but compresses worse.
-+ Say 'Y' if unsure.
-+
-+config UBIFS_FS_ZLIB
-+ bool "ZLIB compression support" if UBIFS_FS_ADVANCED_COMPR
-+ depends on UBIFS_FS
-+ default y
-+ help
-+ Zlib copresses better then LZO but it is slower. Say 'Y' if unsure.
-+
-+# Debugging-related stuff
-+config UBIFS_FS_DEBUG
-+ bool "Enable debugging"
-+ depends on UBIFS_FS
-+ select DEBUG_FS
-+ select KALLSYMS_ALL
-+ help
-+ This option enables UBIFS debugging.
-+
-+config UBIFS_FS_DEBUG_MSG_LVL
-+ int "Default message level (0 = no extra messages, 3 = lots)"
-+ depends on UBIFS_FS_DEBUG
-+ default "0"
-+ help
-+ This controls the amount of debugging messages produced by UBIFS.
-+ If reporting bugs, please try to have available a full dump of the
-+ messages at level 1 while the misbehaviour was occurring. Level 2
-+ may become necessary if level 1 messages were not enough to find the
-+ bug. Generally Level 3 should be avoided.
-+
-+config UBIFS_FS_DEBUG_CHKS
-+ bool "Enable extra checks"
-+ depends on UBIFS_FS_DEBUG
-+ help
-+ If extra checks are enabled UBIFS will check the consistency of its
-+ internal data structures during operation. However, UBIFS performance
-+ is dramatically slower when this option is selected especially if the
-+ file system is large.
-diff -Nurd linux-2.6.24.orig/fs/ubifs/Makefile linux-2.6.24/fs/ubifs/Makefile
---- linux-2.6.24.orig/fs/ubifs/Makefile 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.24/fs/ubifs/Makefile 2009-04-17 09:49:28.000000000 +0200
-@@ -0,0 +1,9 @@
-+obj-$(CONFIG_UBIFS_FS) += ubifs.o
-+
-+ubifs-y += shrinker.o journal.o file.o dir.o super.o sb.o io.o
-+ubifs-y += tnc.o master.o scan.o replay.o log.o commit.o gc.o orphan.o
-+ubifs-y += budget.o find.o tnc_commit.o compress.o lpt.o lprops.o
-+ubifs-y += recovery.o ioctl.o lpt_commit.o tnc_misc.o
-+
-+ubifs-$(CONFIG_UBIFS_FS_DEBUG) += debug.o
-+ubifs-$(CONFIG_UBIFS_FS_XATTR) += xattr.o
-diff -Nurd linux-2.6.24.orig/fs/ubifs/budget.c linux-2.6.24/fs/ubifs/budget.c
---- linux-2.6.24.orig/fs/ubifs/budget.c 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.24/fs/ubifs/budget.c 2009-04-17 09:49:28.000000000 +0200
-@@ -0,0 +1,758 @@
-+/*
-+ * This file is part of UBIFS.
-+ *
-+ * Copyright (C) 2006-2008 Nokia Corporation.
-+ *
-+ * This program is free software; you can redistribute it and/or modify it
-+ * under the terms of the GNU General Public License version 2 as published by
-+ * the Free Software Foundation.
-+ *
-+ * 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, write to the Free Software Foundation, Inc., 51
-+ * Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
-+ *
-+ * Authors: Adrian Hunter
-+ * Artem Bityutskiy (Битюцкий Ðртём)
-+ */
-+
-+/*
-+ * This file implements the budgeting sub-system which is responsible for UBIFS
-+ * space management.
-+ *
-+ * Factors such as compression, wasted space at the ends of LEBs, space in other
-+ * journal heads, the effect of updates on the index, and so on, make it
-+ * impossible to accurately predict the amount of space needed. Consequently
-+ * approximations are used.
-+ */
-+
-+#include "ubifs.h"
-+#include <linux/writeback.h>
-+
-+/*
-+ * When pessimistic budget calculations say that there is no enough space,
-+ * UBIFS starts writing back dirty inodes and pages, doing garbage collection,
-+ * or committing. The below constant defines maximum number of times UBIFS
-+ * repeats the operations.
-+ */
-+#define MAX_MKSPC_RETRIES 3
-+
-+/*
-+ * The below constant defines amount of dirty pages which should be written
-+ * back at when trying to shrink the liability.
-+ */
-+#define NR_TO_WRITE 16
-+
-+/**
-+ * shrink_liability - write-back some dirty pages/inodes.
-+ * @c: UBIFS file-system description object
-+ * @nr_to_write: how many dirty pages to write-back
-+ *
-+ * This function shrinks UBIFS liability by means of writing back some amount
-+ * of dirty inodes and their pages. Returns the amount of pages which were
-+ * written back. The returned value does not include dirty inodes which were
-+ * synchronized.
-+ *
-+ * Note, this function synchronizes even VFS inodes which are locked
-+ * (@i_mutex) by the caller of the budgeting function, because write-back does
-+ * not touch @i_mutex.
-+ */
-+static int shrink_liability(struct ubifs_info *c, int nr_to_write)
-+{
-+ int nr_written;
-+ struct writeback_control wbc = {
-+ .sync_mode = WB_SYNC_NONE,
-+ .range_end = LLONG_MAX,
-+ .nr_to_write = nr_to_write,
-+ };
-+
-+ generic_sync_sb_inodes(c->vfs_sb, &wbc);
-+ nr_written = nr_to_write - wbc.nr_to_write;
-+
-+ if (!nr_written) {
-+ /*
-+ * Re-try again but wait on pages/inodes which are being
-+ * written-back concurrently (e.g., by pdflush).
-+ */
-+ memset(&wbc, 0, sizeof(struct writeback_control));
-+ wbc.sync_mode = WB_SYNC_ALL;
-+ wbc.range_end = LLONG_MAX;
-+ wbc.nr_to_write = nr_to_write;
-+ generic_sync_sb_inodes(c->vfs_sb, &wbc);
-+ nr_written = nr_to_write - wbc.nr_to_write;
-+ }
-+
-+ dbg_budg("%d pages were written back", nr_written);
-+ return nr_written;
-+}
-+
-+
-+/**
-+ * run_gc - run garbage collector.
-+ * @c: UBIFS file-system description object
-+ *
-+ * This function runs garbage collector to make some more free space. Returns
-+ * zero if a free LEB has been produced, %-EAGAIN if commit is required, and a
-+ * negative error code in case of failure.
-+ */
-+static int run_gc(struct ubifs_info *c)
-+{
-+ int err, lnum;
-+
-+ /* Make some free space by garbage-collecting dirty space */
-+ down_read(&c->commit_sem);
-+ lnum = ubifs_garbage_collect(c, 1);
-+ up_read(&c->commit_sem);
-+ if (lnum < 0)
-+ return lnum;
-+
-+ /* GC freed one LEB, return it to lprops */
-+ dbg_budg("GC freed LEB %d", lnum);
-+ err = ubifs_return_leb(c, lnum);
-+ if (err)
-+ return err;
-+ return 0;
-+}
-+
-+/**
-+ * get_liability - calculate current liability.
-+ * @c: UBIFS file-system description object
-+ *
-+ * This function calculates and returns current UBIFS liability, i.e. the
-+ * amount of bytes UBIFS has "promised" to write to the media.
-+ */
-+static long long get_liability(struct ubifs_info *c)
-+{
-+ long long liab;
-+
-+ spin_lock(&c->space_lock);
-+ liab = c->budg_idx_growth + c->budg_data_growth + c->budg_dd_growth;
-+ spin_unlock(&c->space_lock);
-+ return liab;
-+}
-+
-+/**
-+ * make_free_space - make more free space on the file-system.
-+ * @c: UBIFS file-system description object
-+ *
-+ * This function is called when an operation cannot be budgeted because there
-+ * is supposedly no free space. But in most cases there is some free space:
-+ * o budgeting is pessimistic, so it always budgets more then it is actually
-+ * needed, so shrinking the liability is one way to make free space - the
-+ * cached data will take less space then it was budgeted for;
-+ * o GC may turn some dark space into free space (budgeting treats dark space
-+ * as not available);
-+ * o commit may free some LEB, i.e., turn freeable LEBs into free LEBs.
-+ *
-+ * So this function tries to do the above. Returns %-EAGAIN if some free space
-+ * was presumably made and the caller has to re-try budgeting the operation.
-+ * Returns %-ENOSPC if it couldn't do more free space, and other negative error
-+ * codes on failures.
-+ */
-+static int make_free_space(struct ubifs_info *c)
-+{
-+ int err, retries = 0;
-+ long long liab1, liab2;
-+
-+ do {
-+ liab1 = get_liability(c);
-+ /*
-+ * We probably have some dirty pages or inodes (liability), try
-+ * to write them back.
-+ */
-+ dbg_budg("liability %lld, run write-back", liab1);
-+ shrink_liability(c, NR_TO_WRITE);
-+
-+ liab2 = get_liability(c);
-+ if (liab2 < liab1)
-+ return -EAGAIN;
-+
-+ dbg_budg("new liability %lld (not shrinked)", liab2);
-+
-+ /* Liability did not shrink again, try GC */
-+ dbg_budg("Run GC");
-+ err = run_gc(c);
-+ if (!err)
-+ return -EAGAIN;
-+
-+ if (err != -EAGAIN && err != -ENOSPC)
-+ /* Some real error happened */
-+ return err;
-+
-+ dbg_budg("Run commit (retries %d)", retries);
-+ err = ubifs_run_commit(c);
-+ if (err)
-+ return err;
-+ } while (retries++ < MAX_MKSPC_RETRIES);
-+
-+ return -ENOSPC;
-+}
-+
-+/**
-+ * ubifs_calc_min_idx_lebs - calculate amount of eraseblocks for the index.
-+ * @c: UBIFS file-system description object
-+ *
-+ * This function calculates and returns the number of eraseblocks which should
-+ * be kept for index usage.
-+ */
-+int ubifs_calc_min_idx_lebs(struct ubifs_info *c)
-+{
-+ int idx_lebs, eff_leb_size = c->leb_size - c->max_idx_node_sz;
-+ long long idx_size;
-+
-+ idx_size = c->old_idx_sz + c->budg_idx_growth + c->budg_uncommitted_idx;
-+
-+ /* And make sure we have thrice the index size of space reserved */
-+ idx_size = idx_size + (idx_size << 1);
-+
-+ /*
-+ * We do not maintain 'old_idx_size' as 'old_idx_lebs'/'old_idx_bytes'
-+ * pair, nor similarly the two variables for the new index size, so we
-+ * have to do this costly 64-bit division on fast-path.
-+ */
-+ idx_size += eff_leb_size - 1;
-+ idx_lebs = div_u64(idx_size, eff_leb_size);
-+ /*
-+ * The index head is not available for the in-the-gaps method, so add an
-+ * extra LEB to compensate.
-+ */
-+ idx_lebs += 1;
-+ if (idx_lebs < MIN_INDEX_LEBS)
-+ idx_lebs = MIN_INDEX_LEBS;
-+ return idx_lebs;
-+}
-+
-+/**
-+ * ubifs_calc_available - calculate available FS space.
-+ * @c: UBIFS file-system description object
-+ * @min_idx_lebs: minimum number of LEBs reserved for the index
-+ *
-+ * This function calculates and returns amount of FS space available for use.
-+ */
-+long long ubifs_calc_available(const struct ubifs_info *c, int min_idx_lebs)
-+{
-+ int subtract_lebs;
-+ long long available;
-+
-+ available = c->main_bytes - c->lst.total_used;
-+
-+ /*
-+ * Now 'available' contains theoretically available flash space
-+ * assuming there is no index, so we have to subtract the space which
-+ * is reserved for the index.
-+ */
-+ subtract_lebs = min_idx_lebs;
-+
-+ /* Take into account that GC reserves one LEB for its own needs */
-+ subtract_lebs += 1;
-+
-+ /*
-+ * The GC journal head LEB is not really accessible. And since
-+ * different write types go to different heads, we may count only on
-+ * one head's space.
-+ */
-+ subtract_lebs += c->jhead_cnt - 1;
-+
-+ /* We also reserve one LEB for deletions, which bypass budgeting */
-+ subtract_lebs += 1;
-+
-+ available -= (long long)subtract_lebs * c->leb_size;
-+
-+ /* Subtract the dead space which is not available for use */
-+ available -= c->lst.total_dead;
-+
-+ /*
-+ * Subtract dark space, which might or might not be usable - it depends
-+ * on the data which we have on the media and which will be written. If
-+ * this is a lot of uncompressed or not-compressible data, the dark
-+ * space cannot be used.
-+ */
-+ available -= c->lst.total_dark;
-+
-+ /*
-+ * However, there is more dark space. The index may be bigger than
-+ * @min_idx_lebs. Those extra LEBs are assumed to be available, but
-+ * their dark space is not included in total_dark, so it is subtracted
-+ * here.
-+ */
-+ if (c->lst.idx_lebs > min_idx_lebs) {
-+ subtract_lebs = c->lst.idx_lebs - min_idx_lebs;
-+ available -= subtract_lebs * c->dark_wm;
-+ }
-+
-+ /* The calculations are rough and may end up with a negative number */
-+ return available > 0 ? available : 0;
-+}
-+
-+/**
-+ * can_use_rp - check whether the user is allowed to use reserved pool.
-+ * @c: UBIFS file-system description object
-+ *
-+ * UBIFS has so-called "reserved pool" which is flash space reserved
-+ * for the superuser and for uses whose UID/GID is recorded in UBIFS superblock.
-+ * This function checks whether current user is allowed to use reserved pool.
-+ * Returns %1 current user is allowed to use reserved pool and %0 otherwise.
-+ */
-+static int can_use_rp(struct ubifs_info *c)
-+{
-+ if (current->fsuid == c->rp_uid || capable(CAP_SYS_RESOURCE) ||
-+ (c->rp_gid != 0 && in_group_p(c->rp_gid)))
-+ return 1;
-+ return 0;
-+}
-+
-+/**
-+ * do_budget_space - reserve flash space for index and data growth.
-+ * @c: UBIFS file-system description object
-+ *
-+ * This function makes sure UBIFS has enough free eraseblocks for index growth
-+ * and data.
-+ *
-+ * When budgeting index space, UBIFS reserves thrice as many LEBs as the index
-+ * would take if it was consolidated and written to the flash. This guarantees
-+ * that the "in-the-gaps" commit method always succeeds and UBIFS will always
-+ * be able to commit dirty index. So this function basically adds amount of
-+ * budgeted index space to the size of the current index, multiplies this by 3,
-+ * and makes sure this does not exceed the amount of free eraseblocks.
-+ *
-+ * Notes about @c->min_idx_lebs and @c->lst.idx_lebs variables:
-+ * o @c->lst.idx_lebs is the number of LEBs the index currently uses. It might
-+ * be large, because UBIFS does not do any index consolidation as long as
-+ * there is free space. IOW, the index may take a lot of LEBs, but the LEBs
-+ * will contain a lot of dirt.
-+ * o @c->min_idx_lebs is the the index presumably takes. IOW, the index may be
-+ * consolidated to take up to @c->min_idx_lebs LEBs.
-+ *
-+ * This function returns zero in case of success, and %-ENOSPC in case of
-+ * failure.
-+ */
-+static int do_budget_space(struct ubifs_info *c)
-+{
-+ long long outstanding, available;
-+ int lebs, rsvd_idx_lebs, min_idx_lebs;
-+
-+ /* First budget index space */
-+ min_idx_lebs = ubifs_calc_min_idx_lebs(c);
-+
-+ /* Now 'min_idx_lebs' contains number of LEBs to reserve */
-+ if (min_idx_lebs > c->lst.idx_lebs)
-+ rsvd_idx_lebs = min_idx_lebs - c->lst.idx_lebs;
-+ else
-+ rsvd_idx_lebs = 0;
-+
-+ /*
-+ * The number of LEBs that are available to be used by the index is:
-+ *
-+ * @c->lst.empty_lebs + @c->freeable_cnt + @c->idx_gc_cnt -
-+ * @c->lst.taken_empty_lebs
-+ *
-+ * @c->lst.empty_lebs are available because they are empty.
-+ * @c->freeable_cnt are available because they contain only free and
-+ * dirty space, @c->idx_gc_cnt are available because they are index
-+ * LEBs that have been garbage collected and are awaiting the commit
-+ * before they can be used. And the in-the-gaps method will grab these
-+ * if it needs them. @c->lst.taken_empty_lebs are empty LEBs that have
-+ * already been allocated for some purpose.
-+ *
-+ * Note, @c->idx_gc_cnt is included to both @c->lst.empty_lebs (because
-+ * these LEBs are empty) and to @c->lst.taken_empty_lebs (because they
-+ * are taken until after the commit).
-+ *
-+ * Note, @c->lst.taken_empty_lebs may temporarily be higher by one
-+ * because of the way we serialize LEB allocations and budgeting. See a
-+ * comment in 'ubifs_find_free_space()'.
-+ */
-+ lebs = c->lst.empty_lebs + c->freeable_cnt + c->idx_gc_cnt -
-+ c->lst.taken_empty_lebs;
-+ if (unlikely(rsvd_idx_lebs > lebs)) {
-+ dbg_budg("out of indexing space: min_idx_lebs %d (old %d), "
-+ "rsvd_idx_lebs %d", min_idx_lebs, c->min_idx_lebs,
-+ rsvd_idx_lebs);
-+ return -ENOSPC;
-+ }
-+
-+ available = ubifs_calc_available(c, min_idx_lebs);
-+ outstanding = c->budg_data_growth + c->budg_dd_growth;
-+
-+ if (unlikely(available < outstanding)) {
-+ dbg_budg("out of data space: available %lld, outstanding %lld",
-+ available, outstanding);
-+ return -ENOSPC;
-+ }
-+
-+ if (available - outstanding <= c->rp_size && !can_use_rp(c))
-+ return -ENOSPC;
-+
-+ c->min_idx_lebs = min_idx_lebs;
-+ return 0;
-+}
-+
-+/**
-+ * calc_idx_growth - calculate approximate index growth from budgeting request.
-+ * @c: UBIFS file-system description object
-+ * @req: budgeting request
-+ *
-+ * For now we assume each new node adds one znode. But this is rather poor
-+ * approximation, though.
-+ */
-+static int calc_idx_growth(const struct ubifs_info *c,
-+ const struct ubifs_budget_req *req)
-+{
-+ int znodes;
-+
-+ znodes = req->new_ino + (req->new_page << UBIFS_BLOCKS_PER_PAGE_SHIFT) +
-+ req->new_dent;
-+ return znodes * c->max_idx_node_sz;
-+}
-+
-+/**
-+ * calc_data_growth - calculate approximate amount of new data from budgeting
-+ * request.
-+ * @c: UBIFS file-system description object
-+ * @req: budgeting request
-+ */
-+static int calc_data_growth(const struct ubifs_info *c,
-+ const struct ubifs_budget_req *req)
-+{
-+ int data_growth;
-+
-+ data_growth = req->new_ino ? c->inode_budget : 0;
-+ if (req->new_page)
-+ data_growth += c->page_budget;
-+ if (req->new_dent)
-+ data_growth += c->dent_budget;
-+ data_growth += req->new_ino_d;
-+ return data_growth;
-+}
-+
-+/**
-+ * calc_dd_growth - calculate approximate amount of data which makes other data
-+ * dirty from budgeting request.
-+ * @c: UBIFS file-system description object
-+ * @req: budgeting request
-+ */
-+static int calc_dd_growth(const struct ubifs_info *c,
-+ const struct ubifs_budget_req *req)
-+{
-+ int dd_growth;
-+
-+ dd_growth = req->dirtied_page ? c->page_budget : 0;
-+
-+ if (req->dirtied_ino)
-+ dd_growth += c->inode_budget << (req->dirtied_ino - 1);
-+ if (req->mod_dent)
-+ dd_growth += c->dent_budget;
-+ dd_growth += req->dirtied_ino_d;
-+ return dd_growth;
-+}
-+
-+/**
-+ * ubifs_budget_space - ensure there is enough space to complete an operation.
-+ * @c: UBIFS file-system description object
-+ * @req: budget request
-+ *
-+ * This function allocates budget for an operation. It uses pessimistic
-+ * approximation of how much flash space the operation needs. The goal of this
-+ * function is to make sure UBIFS always has flash space to flush all dirty
-+ * pages, dirty inodes, and dirty znodes (liability). This function may force
-+ * commit, garbage-collection or write-back. Returns zero in case of success,
-+ * %-ENOSPC if there is no free space and other negative error codes in case of
-+ * failures.
-+ */
-+int ubifs_budget_space(struct ubifs_info *c, struct ubifs_budget_req *req)
-+{
-+ int uninitialized_var(cmt_retries), uninitialized_var(wb_retries);
-+ int err, idx_growth, data_growth, dd_growth, retried = 0;
-+
-+ ubifs_assert(req->new_page <= 1);
-+ ubifs_assert(req->dirtied_page <= 1);
-+ ubifs_assert(req->new_dent <= 1);
-+ ubifs_assert(req->mod_dent <= 1);
-+ ubifs_assert(req->new_ino <= 1);
-+ ubifs_assert(req->new_ino_d <= UBIFS_MAX_INO_DATA);
-+ ubifs_assert(req->dirtied_ino <= 4);
-+ ubifs_assert(req->dirtied_ino_d <= UBIFS_MAX_INO_DATA * 4);
-+ ubifs_assert(!(req->new_ino_d & 7));
-+ ubifs_assert(!(req->dirtied_ino_d & 7));
-+
-+ data_growth = calc_data_growth(c, req);
-+ dd_growth = calc_dd_growth(c, req);
-+ if (!data_growth && !dd_growth)
-+ return 0;
-+ idx_growth = calc_idx_growth(c, req);
-+
-+again:
-+ spin_lock(&c->space_lock);
-+ ubifs_assert(c->budg_idx_growth >= 0);
-+ ubifs_assert(c->budg_data_growth >= 0);
-+ ubifs_assert(c->budg_dd_growth >= 0);
-+
-+ if (unlikely(c->nospace) && (c->nospace_rp || !can_use_rp(c))) {
-+ dbg_budg("no space");
-+ spin_unlock(&c->space_lock);
-+ return -ENOSPC;
-+ }
-+
-+ c->budg_idx_growth += idx_growth;
-+ c->budg_data_growth += data_growth;
-+ c->budg_dd_growth += dd_growth;
-+
-+ err = do_budget_space(c);
-+ if (likely(!err)) {
-+ req->idx_growth = idx_growth;
-+ req->data_growth = data_growth;
-+ req->dd_growth = dd_growth;
-+ spin_unlock(&c->space_lock);
-+ return 0;
-+ }
-+
-+ /* Restore the old values */
-+ c->budg_idx_growth -= idx_growth;
-+ c->budg_data_growth -= data_growth;
-+ c->budg_dd_growth -= dd_growth;
-+ spin_unlock(&c->space_lock);
-+
-+ if (req->fast) {
-+ dbg_budg("no space for fast budgeting");
-+ return err;
-+ }
-+
-+ err = make_free_space(c);
-+ cond_resched();
-+ if (err == -EAGAIN) {
-+ dbg_budg("try again");
-+ goto again;
-+ } else if (err == -ENOSPC) {
-+ if (!retried) {
-+ retried = 1;
-+ dbg_budg("-ENOSPC, but anyway try once again");
-+ goto again;
-+ }
-+ dbg_budg("FS is full, -ENOSPC");
-+ c->nospace = 1;
-+ if (can_use_rp(c) || c->rp_size == 0)
-+ c->nospace_rp = 1;
-+ smp_wmb();
-+ } else
-+ ubifs_err("cannot budget space, error %d", err);
-+ return err;
-+}
-+
-+/**
-+ * ubifs_release_budget - release budgeted free space.
-+ * @c: UBIFS file-system description object
-+ * @req: budget request
-+ *
-+ * This function releases the space budgeted by 'ubifs_budget_space()'. Note,
-+ * since the index changes (which were budgeted for in @req->idx_growth) will
-+ * only be written to the media on commit, this function moves the index budget
-+ * from @c->budg_idx_growth to @c->budg_uncommitted_idx. The latter will be
-+ * zeroed by the commit operation.
-+ */
-+void ubifs_release_budget(struct ubifs_info *c, struct ubifs_budget_req *req)
-+{
-+ ubifs_assert(req->new_page <= 1);
-+ ubifs_assert(req->dirtied_page <= 1);
-+ ubifs_assert(req->new_dent <= 1);
-+ ubifs_assert(req->mod_dent <= 1);
-+ ubifs_assert(req->new_ino <= 1);
-+ ubifs_assert(req->new_ino_d <= UBIFS_MAX_INO_DATA);
-+ ubifs_assert(req->dirtied_ino <= 4);
-+ ubifs_assert(req->dirtied_ino_d <= UBIFS_MAX_INO_DATA * 4);
-+ ubifs_assert(!(req->new_ino_d & 7));
-+ ubifs_assert(!(req->dirtied_ino_d & 7));
-+ if (!req->recalculate) {
-+ ubifs_assert(req->idx_growth >= 0);
-+ ubifs_assert(req->data_growth >= 0);
-+ ubifs_assert(req->dd_growth >= 0);
-+ }
-+
-+ if (req->recalculate) {
-+ req->data_growth = calc_data_growth(c, req);
-+ req->dd_growth = calc_dd_growth(c, req);
-+ req->idx_growth = calc_idx_growth(c, req);
-+ }
-+
-+ if (!req->data_growth && !req->dd_growth)
-+ return;
-+
-+ c->nospace = c->nospace_rp = 0;
-+ smp_wmb();
-+
-+ spin_lock(&c->space_lock);
-+ c->budg_idx_growth -= req->idx_growth;
-+ c->budg_uncommitted_idx += req->idx_growth;
-+ c->budg_data_growth -= req->data_growth;
-+ c->budg_dd_growth -= req->dd_growth;
-+ c->min_idx_lebs = ubifs_calc_min_idx_lebs(c);
-+
-+ ubifs_assert(c->budg_idx_growth >= 0);
-+ ubifs_assert(c->budg_data_growth >= 0);
-+ ubifs_assert(c->budg_dd_growth >= 0);
-+ ubifs_assert(c->min_idx_lebs < c->main_lebs);
-+ ubifs_assert(!(c->budg_idx_growth & 7));
-+ ubifs_assert(!(c->budg_data_growth & 7));
-+ ubifs_assert(!(c->budg_dd_growth & 7));
-+ spin_unlock(&c->space_lock);
-+}
-+
-+/**
-+ * ubifs_convert_page_budget - convert budget of a new page.
-+ * @c: UBIFS file-system description object
-+ *
-+ * This function converts budget which was allocated for a new page of data to
-+ * the budget of changing an existing page of data. The latter is smaller then
-+ * the former, so this function only does simple re-calculation and does not
-+ * involve any write-back.
-+ */
-+void ubifs_convert_page_budget(struct ubifs_info *c)
-+{
-+ spin_lock(&c->space_lock);
-+ /* Release the index growth reservation */
-+ c->budg_idx_growth -= c->max_idx_node_sz << UBIFS_BLOCKS_PER_PAGE_SHIFT;
-+ /* Release the data growth reservation */
-+ c->budg_data_growth -= c->page_budget;
-+ /* Increase the dirty data growth reservation instead */
-+ c->budg_dd_growth += c->page_budget;
-+ /* And re-calculate the indexing space reservation */
-+ c->min_idx_lebs = ubifs_calc_min_idx_lebs(c);
-+ spin_unlock(&c->space_lock);
-+}
-+
-+/**
-+ * ubifs_release_dirty_inode_budget - release dirty inode budget.
-+ * @c: UBIFS file-system description object
-+ * @ui: UBIFS inode to release the budget for
-+ *
-+ * This function releases budget corresponding to a dirty inode. It is usually
-+ * called when after the inode has been written to the media and marked as
-+ * clean.
-+ */
-+void ubifs_release_dirty_inode_budget(struct ubifs_info *c,
-+ struct ubifs_inode *ui)
-+{
-+ struct ubifs_budget_req req;
-+
-+ memset(&req, 0, sizeof(struct ubifs_budget_req));
-+ req.dd_growth = c->inode_budget + ALIGN(ui->data_len, 8);
-+ ubifs_release_budget(c, &req);
-+}
-+
-+/**
-+ * ubifs_reported_space - calculate reported free space.
-+ * @c: the UBIFS file-system description object
-+ * @free: amount of free space
-+ *
-+ * This function calculates amount of free space which will be reported to
-+ * user-space. User-space application tend to expect that if the file-system
-+ * (e.g., via the 'statfs()' call) reports that it has N bytes available, they
-+ * are able to write a file of size N. UBIFS attaches node headers to each data
-+ * node and it has to write indexing nodes as well. This introduces additional
-+ * overhead, and UBIFS has to report slightly less free space to meet the above
-+ * expectations.
-+ *
-+ * This function assumes free space is made up of uncompressed data nodes and
-+ * full index nodes (one per data node, tripled because we always allow enough
-+ * space to write the index thrice).
-+ *
-+ * Note, the calculation is pessimistic, which means that most of the time
-+ * UBIFS reports less space than it actually has.
-+ */
-+long long ubifs_reported_space(const struct ubifs_info *c, long long free)
-+{
-+ int divisor, factor, f;
-+
-+ /*
-+ * Reported space size is @free * X, where X is UBIFS block size
-+ * divided by UBIFS block size + all overhead one data block
-+ * introduces. The overhead is the node header + indexing overhead.
-+ *
-+ * Indexing overhead calculations are based on the following formula:
-+ * I = N/(f - 1) + 1, where I - number of indexing nodes, N - number
-+ * of data nodes, f - fanout. Because effective UBIFS fanout is twice
-+ * as less than maximum fanout, we assume that each data node
-+ * introduces 3 * @c->max_idx_node_sz / (@c->fanout/2 - 1) bytes.
-+ * Note, the multiplier 3 is because UBIFS reserves thrice as more space
-+ * for the index.
-+ */
-+ f = c->fanout > 3 ? c->fanout >> 1 : 2;
-+ factor = UBIFS_BLOCK_SIZE;
-+ divisor = UBIFS_MAX_DATA_NODE_SZ;
-+ divisor += (c->max_idx_node_sz * 3) / (f - 1);
-+ free *= factor;
-+ return div_u64(free, divisor);
-+}
-+
-+/**
-+ * ubifs_get_free_space_nolock - return amount of free space.
-+ * @c: UBIFS file-system description object
-+ *
-+ * This function calculates amount of free space to report to user-space.
-+ *
-+ * Because UBIFS may introduce substantial overhead (the index, node headers,
-+ * alignment, wastage at the end of eraseblocks, etc), it cannot report real
-+ * amount of free flash space it has (well, because not all dirty space is
-+ * reclaimable, UBIFS does not actually know the real amount). If UBIFS did so,
-+ * it would bread user expectations about what free space is. Users seem to
-+ * accustomed to assume that if the file-system reports N bytes of free space,
-+ * they would be able to fit a file of N bytes to the FS. This almost works for
-+ * traditional file-systems, because they have way less overhead than UBIFS.
-+ * So, to keep users happy, UBIFS tries to take the overhead into account.
-+ */
-+long long ubifs_get_free_space_nolock(struct ubifs_info *c)
-+{
-+ int rsvd_idx_lebs, lebs;
-+ long long available, outstanding, free;
-+
-+ ubifs_assert(c->min_idx_lebs == ubifs_calc_min_idx_lebs(c));
-+ outstanding = c->budg_data_growth + c->budg_dd_growth;
-+ available = ubifs_calc_available(c, c->min_idx_lebs);
-+
-+ /*
-+ * When reporting free space to user-space, UBIFS guarantees that it is
-+ * possible to write a file of free space size. This means that for
-+ * empty LEBs we may use more precise calculations than
-+ * 'ubifs_calc_available()' is using. Namely, we know that in empty
-+ * LEBs we would waste only @c->leb_overhead bytes, not @c->dark_wm.
-+ * Thus, amend the available space.
-+ *
-+ * Note, the calculations below are similar to what we have in
-+ * 'do_budget_space()', so refer there for comments.
-+ */
-+ if (c->min_idx_lebs > c->lst.idx_lebs)
-+ rsvd_idx_lebs = c->min_idx_lebs - c->lst.idx_lebs;
-+ else
-+ rsvd_idx_lebs = 0;
-+ lebs = c->lst.empty_lebs + c->freeable_cnt + c->idx_gc_cnt -
-+ c->lst.taken_empty_lebs;
-+ lebs -= rsvd_idx_lebs;
-+ available += lebs * (c->dark_wm - c->leb_overhead);
-+
-+ if (available > outstanding)
-+ free = ubifs_reported_space(c, available - outstanding);
-+ else
-+ free = 0;
-+ return free;
-+}
-+
-+/**
-+ * ubifs_get_free_space - return amount of free space.
-+ * @c: UBIFS file-system description object
-+ *
-+ * This function calculates and retuns amount of free space to report to
-+ * user-space.
-+ */
-+long long ubifs_get_free_space(struct ubifs_info *c)
-+{
-+ long long free;
-+
-+ spin_lock(&c->space_lock);
-+ free = ubifs_get_free_space_nolock(c);
-+ spin_unlock(&c->space_lock);
-+
-+ return free;
-+}
-diff -Nurd linux-2.6.24.orig/fs/ubifs/commit.c linux-2.6.24/fs/ubifs/commit.c
---- linux-2.6.24.orig/fs/ubifs/commit.c 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.24/fs/ubifs/commit.c 2009-04-17 09:49:28.000000000 +0200
-@@ -0,0 +1,679 @@
-+/*
-+ * This file is part of UBIFS.
-+ *
-+ * Copyright (C) 2006-2008 Nokia Corporation.
-+ *
-+ * This program is free software; you can redistribute it and/or modify it
-+ * under the terms of the GNU General Public License version 2 as published by
-+ * the Free Software Foundation.
-+ *
-+ * 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, write to the Free Software Foundation, Inc., 51
-+ * Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
-+ *
-+ * Authors: Adrian Hunter
-+ * Artem Bityutskiy (Битюцкий Ðртём)
-+ */
-+
-+/*
-+ * This file implements functions that manage the running of the commit process.
-+ * Each affected module has its own functions to accomplish their part in the
-+ * commit and those functions are called here.
-+ *
-+ * The commit is the process whereby all updates to the index and LEB properties
-+ * are written out together and the journal becomes empty. This keeps the
-+ * file system consistent - at all times the state can be recreated by reading
-+ * the index and LEB properties and then replaying the journal.
-+ *
-+ * The commit is split into two parts named "commit start" and "commit end".
-+ * During commit start, the commit process has exclusive access to the journal
-+ * by holding the commit semaphore down for writing. As few I/O operations as
-+ * possible are performed during commit start, instead the nodes that are to be
-+ * written are merely identified. During commit end, the commit semaphore is no
-+ * longer held and the journal is again in operation, allowing users to continue
-+ * to use the file system while the bulk of the commit I/O is performed. The
-+ * purpose of this two-step approach is to prevent the commit from causing any
-+ * latency blips. Note that in any case, the commit does not prevent lookups
-+ * (as permitted by the TNC mutex), or access to VFS data structures e.g. page
-+ * cache.
-+ */
-+
-+#include <linux/freezer.h>
-+#include <linux/kthread.h>
-+#include "ubifs.h"
-+
-+/**
-+ * do_commit - commit the journal.
-+ * @c: UBIFS file-system description object
-+ *
-+ * This function implements UBIFS commit. It has to be called with commit lock
-+ * locked. Returns zero in case of success and a negative error code in case of
-+ * failure.
-+ */
-+static int do_commit(struct ubifs_info *c)
-+{
-+ int err, new_ltail_lnum, old_ltail_lnum, i;
-+ struct ubifs_zbranch zroot;
-+ struct ubifs_lp_stats lst;
-+
-+ dbg_cmt("start");
-+ if (c->ro_media) {
-+ err = -EROFS;
-+ goto out_up;
-+ }
-+
-+ /* Sync all write buffers (necessary for recovery) */
-+ for (i = 0; i < c->jhead_cnt; i++) {
-+ err = ubifs_wbuf_sync(&c->jheads[i].wbuf);
-+ if (err)
-+ goto out_up;
-+ }
-+
-+ c->cmt_no += 1;
-+ err = ubifs_gc_start_commit(c);
-+ if (err)
-+ goto out_up;
-+ err = dbg_check_lprops(c);
-+ if (err)
-+ goto out_up;
-+ err = ubifs_log_start_commit(c, &new_ltail_lnum);
-+ if (err)
-+ goto out_up;
-+ err = ubifs_tnc_start_commit(c, &zroot);
-+ if (err)
-+ goto out_up;
-+ err = ubifs_lpt_start_commit(c);
-+ if (err)
-+ goto out_up;
-+ err = ubifs_orphan_start_commit(c);
-+ if (err)
-+ goto out_up;
-+
-+ ubifs_get_lp_stats(c, &lst);
-+
-+ up_write(&c->commit_sem);
-+
-+ err = ubifs_tnc_end_commit(c);
-+ if (err)
-+ goto out;
-+ err = ubifs_lpt_end_commit(c);
-+ if (err)
-+ goto out;
-+ err = ubifs_orphan_end_commit(c);
-+ if (err)
-+ goto out;
-+ old_ltail_lnum = c->ltail_lnum;
-+ err = ubifs_log_end_commit(c, new_ltail_lnum);
-+ if (err)
-+ goto out;
-+ err = dbg_check_old_index(c, &zroot);
-+ if (err)
-+ goto out;
-+
-+ mutex_lock(&c->mst_mutex);
-+ c->mst_node->cmt_no = cpu_to_le64(c->cmt_no);
-+ c->mst_node->log_lnum = cpu_to_le32(new_ltail_lnum);
-+ c->mst_node->root_lnum = cpu_to_le32(zroot.lnum);
-+ c->mst_node->root_offs = cpu_to_le32(zroot.offs);
-+ c->mst_node->root_len = cpu_to_le32(zroot.len);
-+ c->mst_node->ihead_lnum = cpu_to_le32(c->ihead_lnum);
-+ c->mst_node->ihead_offs = cpu_to_le32(c->ihead_offs);
-+ c->mst_node->index_size = cpu_to_le64(c->old_idx_sz);
-+ c->mst_node->lpt_lnum = cpu_to_le32(c->lpt_lnum);
-+ c->mst_node->lpt_offs = cpu_to_le32(c->lpt_offs);
-+ c->mst_node->nhead_lnum = cpu_to_le32(c->nhead_lnum);
-+ c->mst_node->nhead_offs = cpu_to_le32(c->nhead_offs);
-+ c->mst_node->ltab_lnum = cpu_to_le32(c->ltab_lnum);
-+ c->mst_node->ltab_offs = cpu_to_le32(c->ltab_offs);
-+ c->mst_node->lsave_lnum = cpu_to_le32(c->lsave_lnum);
-+ c->mst_node->lsave_offs = cpu_to_le32(c->lsave_offs);
-+ c->mst_node->lscan_lnum = cpu_to_le32(c->lscan_lnum);
-+ c->mst_node->empty_lebs = cpu_to_le32(lst.empty_lebs);
-+ c->mst_node->idx_lebs = cpu_to_le32(lst.idx_lebs);
-+ c->mst_node->total_free = cpu_to_le64(lst.total_free);
-+ c->mst_node->total_dirty = cpu_to_le64(lst.total_dirty);
-+ c->mst_node->total_used = cpu_to_le64(lst.total_used);
-+ c->mst_node->total_dead = cpu_to_le64(lst.total_dead);
-+ c->mst_node->total_dark = cpu_to_le64(lst.total_dark);
-+ if (c->no_orphs)
-+ c->mst_node->flags |= cpu_to_le32(UBIFS_MST_NO_ORPHS);
-+ else
-+ c->mst_node->flags &= ~cpu_to_le32(UBIFS_MST_NO_ORPHS);
-+ err = ubifs_write_master(c);
-+ mutex_unlock(&c->mst_mutex);
-+ if (err)
-+ goto out;
-+
-+ err = ubifs_log_post_commit(c, old_ltail_lnum);
-+ if (err)
-+ goto out;
-+ err = ubifs_gc_end_commit(c);
-+ if (err)
-+ goto out;
-+ err = ubifs_lpt_post_commit(c);
-+ if (err)
-+ goto out;
-+
-+ spin_lock(&c->cs_lock);
-+ c->cmt_state = COMMIT_RESTING;
-+ wake_up(&c->cmt_wq);
-+ dbg_cmt("commit end");
-+ spin_unlock(&c->cs_lock);
-+
-+ return 0;
-+
-+out_up:
-+ up_write(&c->commit_sem);
-+out:
-+ ubifs_err("commit failed, error %d", err);
-+ spin_lock(&c->cs_lock);
-+ c->cmt_state = COMMIT_BROKEN;
-+ wake_up(&c->cmt_wq);
-+ spin_unlock(&c->cs_lock);
-+ ubifs_ro_mode(c, err);
-+ return err;
-+}
-+
-+/**
-+ * run_bg_commit - run background commit if it is needed.
-+ * @c: UBIFS file-system description object
-+ *
-+ * This function runs background commit if it is needed. Returns zero in case
-+ * of success and a negative error code in case of failure.
-+ */
-+static int run_bg_commit(struct ubifs_info *c)
-+{
-+ spin_lock(&c->cs_lock);
-+ /*
-+ * Run background commit only if background commit was requested or if
-+ * commit is required.
-+ */
-+ if (c->cmt_state != COMMIT_BACKGROUND &&
-+ c->cmt_state != COMMIT_REQUIRED)
-+ goto out;
-+ spin_unlock(&c->cs_lock);
-+
-+ down_write(&c->commit_sem);
-+ spin_lock(&c->cs_lock);
-+ if (c->cmt_state == COMMIT_REQUIRED)
-+ c->cmt_state = COMMIT_RUNNING_REQUIRED;
-+ else if (c->cmt_state == COMMIT_BACKGROUND)
-+ c->cmt_state = COMMIT_RUNNING_BACKGROUND;
-+ else
-+ goto out_cmt_unlock;
-+ spin_unlock(&c->cs_lock);
-+
-+ return do_commit(c);
-+
-+out_cmt_unlock:
-+ up_write(&c->commit_sem);
-+out:
-+ spin_unlock(&c->cs_lock);
-+ return 0;
-+}
-+
-+/**
-+ * ubifs_bg_thread - UBIFS background thread function.
-+ * @info: points to the file-system description object
-+ *
-+ * This function implements various file-system background activities:
-+ * o when a write-buffer timer expires it synchronizes the appropriate
-+ * write-buffer;
-+ * o when the journal is about to be full, it starts in-advance commit.
-+ *
-+ * Note, other stuff like background garbage collection may be added here in
-+ * future.
-+ */
-+int ubifs_bg_thread(void *info)
-+{
-+ int err;
-+ struct ubifs_info *c = info;
-+
-+ dbg_msg("background thread \"%s\" started, PID %d",
-+ c->bgt_name, current->pid);
-+ set_freezable();
-+
-+ while (1) {
-+ if (kthread_should_stop())
-+ break;
-+
-+ if (try_to_freeze())
-+ continue;
-+
-+ set_current_state(TASK_INTERRUPTIBLE);
-+ /* Check if there is something to do */
-+ if (!c->need_bgt) {
-+ /*
-+ * Nothing prevents us from going sleep now and
-+ * be never woken up and block the task which
-+ * could wait in 'kthread_stop()' forever.
-+ */
-+ if (kthread_should_stop())
-+ break;
-+ schedule();
-+ continue;
-+ } else
-+ __set_current_state(TASK_RUNNING);
-+
-+ c->need_bgt = 0;
-+ err = ubifs_bg_wbufs_sync(c);
-+ if (err)
-+ ubifs_ro_mode(c, err);
-+
-+ run_bg_commit(c);
-+ cond_resched();
-+ }
-+
-+ dbg_msg("background thread \"%s\" stops", c->bgt_name);
-+ return 0;
-+}
-+
-+/**
-+ * ubifs_commit_required - set commit state to "required".
-+ * @c: UBIFS file-system description object
-+ *
-+ * This function is called if a commit is required but cannot be done from the
-+ * calling function, so it is just flagged instead.
-+ */
-+void ubifs_commit_required(struct ubifs_info *c)
-+{
-+ spin_lock(&c->cs_lock);
-+ switch (c->cmt_state) {
-+ case COMMIT_RESTING:
-+ case COMMIT_BACKGROUND:
-+ dbg_cmt("old: %s, new: %s", dbg_cstate(c->cmt_state),
-+ dbg_cstate(COMMIT_REQUIRED));
-+ c->cmt_state = COMMIT_REQUIRED;
-+ break;
-+ case COMMIT_RUNNING_BACKGROUND:
-+ dbg_cmt("old: %s, new: %s", dbg_cstate(c->cmt_state),
-+ dbg_cstate(COMMIT_RUNNING_REQUIRED));
-+ c->cmt_state = COMMIT_RUNNING_REQUIRED;
-+ break;
-+ case COMMIT_REQUIRED:
-+ case COMMIT_RUNNING_REQUIRED:
-+ case COMMIT_BROKEN:
-+ break;
-+ }
-+ spin_unlock(&c->cs_lock);
-+}
-+
-+/**
-+ * ubifs_request_bg_commit - notify the background thread to do a commit.
-+ * @c: UBIFS file-system description object
-+ *
-+ * This function is called if the journal is full enough to make a commit
-+ * worthwhile, so background thread is kicked to start it.
-+ */
-+void ubifs_request_bg_commit(struct ubifs_info *c)
-+{
-+ spin_lock(&c->cs_lock);
-+ if (c->cmt_state == COMMIT_RESTING) {
-+ dbg_cmt("old: %s, new: %s", dbg_cstate(c->cmt_state),
-+ dbg_cstate(COMMIT_BACKGROUND));
-+ c->cmt_state = COMMIT_BACKGROUND;
-+ spin_unlock(&c->cs_lock);
-+ ubifs_wake_up_bgt(c);
-+ } else
-+ spin_unlock(&c->cs_lock);
-+}
-+
-+/**
-+ * wait_for_commit - wait for commit.
-+ * @c: UBIFS file-system description object
-+ *
-+ * This function sleeps until the commit operation is no longer running.
-+ */
-+static int wait_for_commit(struct ubifs_info *c)
-+{
-+ dbg_cmt("pid %d goes sleep", current->pid);
-+
-+ /*
-+ * The following sleeps if the condition is false, and will be woken
-+ * when the commit ends. It is possible, although very unlikely, that we
-+ * will wake up and see the subsequent commit running, rather than the
-+ * one we were waiting for, and go back to sleep. However, we will be
-+ * woken again, so there is no danger of sleeping forever.
-+ */
-+ wait_event(c->cmt_wq, c->cmt_state != COMMIT_RUNNING_BACKGROUND &&
-+ c->cmt_state != COMMIT_RUNNING_REQUIRED);
-+ dbg_cmt("commit finished, pid %d woke up", current->pid);
-+ return 0;
-+}
-+
-+/**
-+ * ubifs_run_commit - run or wait for commit.
-+ * @c: UBIFS file-system description object
-+ *
-+ * This function runs commit and returns zero in case of success and a negative
-+ * error code in case of failure.
-+ */
-+int ubifs_run_commit(struct ubifs_info *c)
-+{
-+ int err = 0;
-+
-+ spin_lock(&c->cs_lock);
-+ if (c->cmt_state == COMMIT_BROKEN) {
-+ err = -EINVAL;
-+ goto out;
-+ }
-+
-+ if (c->cmt_state == COMMIT_RUNNING_BACKGROUND)
-+ /*
-+ * We set the commit state to 'running required' to indicate
-+ * that we want it to complete as quickly as possible.
-+ */
-+ c->cmt_state = COMMIT_RUNNING_REQUIRED;
-+
-+ if (c->cmt_state == COMMIT_RUNNING_REQUIRED) {
-+ spin_unlock(&c->cs_lock);
-+ return wait_for_commit(c);
-+ }
-+ spin_unlock(&c->cs_lock);
-+
-+ /* Ok, the commit is indeed needed */
-+
-+ down_write(&c->commit_sem);
-+ spin_lock(&c->cs_lock);
-+ /*
-+ * Since we unlocked 'c->cs_lock', the state may have changed, so
-+ * re-check it.
-+ */
-+ if (c->cmt_state == COMMIT_BROKEN) {
-+ err = -EINVAL;
-+ goto out_cmt_unlock;
-+ }
-+
-+ if (c->cmt_state == COMMIT_RUNNING_BACKGROUND)
-+ c->cmt_state = COMMIT_RUNNING_REQUIRED;
-+
-+ if (c->cmt_state == COMMIT_RUNNING_REQUIRED) {
-+ up_write(&c->commit_sem);
-+ spin_unlock(&c->cs_lock);
-+ return wait_for_commit(c);
-+ }
-+ c->cmt_state = COMMIT_RUNNING_REQUIRED;
-+ spin_unlock(&c->cs_lock);
-+
-+ err = do_commit(c);
-+ return err;
-+
-+out_cmt_unlock:
-+ up_write(&c->commit_sem);
-+out:
-+ spin_unlock(&c->cs_lock);
-+ return err;
-+}
-+
-+/**
-+ * ubifs_gc_should_commit - determine if it is time for GC to run commit.
-+ * @c: UBIFS file-system description object
-+ *
-+ * This function is called by garbage collection to determine if commit should
-+ * be run. If commit state is @COMMIT_BACKGROUND, which means that the journal
-+ * is full enough to start commit, this function returns true. It is not
-+ * absolutely necessary to commit yet, but it feels like this should be better
-+ * then to keep doing GC. This function returns %1 if GC has to initiate commit
-+ * and %0 if not.
-+ */
-+int ubifs_gc_should_commit(struct ubifs_info *c)
-+{
-+ int ret = 0;
-+
-+ spin_lock(&c->cs_lock);
-+ if (c->cmt_state == COMMIT_BACKGROUND) {
-+ dbg_cmt("commit required now");
-+ c->cmt_state = COMMIT_REQUIRED;
-+ } else
-+ dbg_cmt("commit not requested");
-+ if (c->cmt_state == COMMIT_REQUIRED)
-+ ret = 1;
-+ spin_unlock(&c->cs_lock);
-+ return ret;
-+}
-+
-+#ifdef CONFIG_UBIFS_FS_DEBUG
-+
-+/**
-+ * struct idx_node - hold index nodes during index tree traversal.
-+ * @list: list
-+ * @iip: index in parent (slot number of this indexing node in the parent
-+ * indexing node)
-+ * @upper_key: all keys in this indexing node have to be less or equivalent to
-+ * this key
-+ * @idx: index node (8-byte aligned because all node structures must be 8-byte
-+ * aligned)
-+ */
-+struct idx_node {
-+ struct list_head list;
-+ int iip;
-+ union ubifs_key upper_key;
-+ struct ubifs_idx_node idx __attribute__((aligned(8)));
-+};
-+
-+/**
-+ * dbg_old_index_check_init - get information for the next old index check.
-+ * @c: UBIFS file-system description object
-+ * @zroot: root of the index
-+ *
-+ * This function records information about the index that will be needed for the
-+ * next old index check i.e. 'dbg_check_old_index()'.
-+ *
-+ * This function returns %0 on success and a negative error code on failure.
-+ */
-+int dbg_old_index_check_init(struct ubifs_info *c, struct ubifs_zbranch *zroot)
-+{
-+ struct ubifs_idx_node *idx;
-+ int lnum, offs, len, err = 0;
-+ struct ubifs_debug_info *d = c->dbg;
-+
-+ d->old_zroot = *zroot;
-+ lnum = d->old_zroot.lnum;
-+ offs = d->old_zroot.offs;
-+ len = d->old_zroot.len;
-+
-+ idx = kmalloc(c->max_idx_node_sz, GFP_NOFS);
-+ if (!idx)
-+ return -ENOMEM;
-+
-+ err = ubifs_read_node(c, idx, UBIFS_IDX_NODE, len, lnum, offs);
-+ if (err)
-+ goto out;
-+
-+ d->old_zroot_level = le16_to_cpu(idx->level);
-+ d->old_zroot_sqnum = le64_to_cpu(idx->ch.sqnum);
-+out:
-+ kfree(idx);
-+ return err;
-+}
-+
-+/**
-+ * dbg_check_old_index - check the old copy of the index.
-+ * @c: UBIFS file-system description object
-+ * @zroot: root of the new index
-+ *
-+ * In order to be able to recover from an unclean unmount, a complete copy of
-+ * the index must exist on flash. This is the "old" index. The commit process
-+ * must write the "new" index to flash without overwriting or destroying any
-+ * part of the old index. This function is run at commit end in order to check
-+ * that the old index does indeed exist completely intact.
-+ *
-+ * This function returns %0 on success and a negative error code on failure.
-+ */
-+int dbg_check_old_index(struct ubifs_info *c, struct ubifs_zbranch *zroot)
-+{
-+ int lnum, offs, len, err = 0, uninitialized_var(last_level), child_cnt;
-+ int first = 1, iip;
-+ struct ubifs_debug_info *d = c->dbg;
-+ union ubifs_key lower_key, upper_key, l_key, u_key;
-+ unsigned long long uninitialized_var(last_sqnum);
-+ struct ubifs_idx_node *idx;
-+ struct list_head list;
-+ struct idx_node *i;
-+ size_t sz;
-+
-+ if (!(ubifs_chk_flags & UBIFS_CHK_OLD_IDX))
-+ goto out;
-+
-+ INIT_LIST_HEAD(&list);
-+
-+ sz = sizeof(struct idx_node) + ubifs_idx_node_sz(c, c->fanout) -
-+ UBIFS_IDX_NODE_SZ;
-+
-+ /* Start at the old zroot */
-+ lnum = d->old_zroot.lnum;
-+ offs = d->old_zroot.offs;
-+ len = d->old_zroot.len;
-+ iip = 0;
-+
-+ /*
-+ * Traverse the index tree preorder depth-first i.e. do a node and then
-+ * its subtrees from left to right.
-+ */
-+ while (1) {
-+ struct ubifs_branch *br;
-+
-+ /* Get the next index node */
-+ i = kmalloc(sz, GFP_NOFS);
-+ if (!i) {
-+ err = -ENOMEM;
-+ goto out_free;
-+ }
-+ i->iip = iip;
-+ /* Keep the index nodes on our path in a linked list */
-+ list_add_tail(&i->list, &list);
-+ /* Read the index node */
-+ idx = &i->idx;
-+ err = ubifs_read_node(c, idx, UBIFS_IDX_NODE, len, lnum, offs);
-+ if (err)
-+ goto out_free;
-+ /* Validate index node */
-+ child_cnt = le16_to_cpu(idx->child_cnt);
-+ if (child_cnt < 1 || child_cnt > c->fanout) {
-+ err = 1;
-+ goto out_dump;
-+ }
-+ if (first) {
-+ first = 0;
-+ /* Check root level and sqnum */
-+ if (le16_to_cpu(idx->level) != d->old_zroot_level) {
-+ err = 2;
-+ goto out_dump;
-+ }
-+ if (le64_to_cpu(idx->ch.sqnum) != d->old_zroot_sqnum) {
-+ err = 3;
-+ goto out_dump;
-+ }
-+ /* Set last values as though root had a parent */
-+ last_level = le16_to_cpu(idx->level) + 1;
-+ last_sqnum = le64_to_cpu(idx->ch.sqnum) + 1;
-+ key_read(c, ubifs_idx_key(c, idx), &lower_key);
-+ highest_ino_key(c, &upper_key, INUM_WATERMARK);
-+ }
-+ key_copy(c, &upper_key, &i->upper_key);
-+ if (le16_to_cpu(idx->level) != last_level - 1) {
-+ err = 3;
-+ goto out_dump;
-+ }
-+ /*
-+ * The index is always written bottom up hence a child's sqnum
-+ * is always less than the parents.
-+ */
-+ if (le64_to_cpu(idx->ch.sqnum) >= last_sqnum) {
-+ err = 4;
-+ goto out_dump;
-+ }
-+ /* Check key range */
-+ key_read(c, ubifs_idx_key(c, idx), &l_key);
-+ br = ubifs_idx_branch(c, idx, child_cnt - 1);
-+ key_read(c, &br->key, &u_key);
-+ if (keys_cmp(c, &lower_key, &l_key) > 0) {
-+ err = 5;
-+ goto out_dump;
-+ }
-+ if (keys_cmp(c, &upper_key, &u_key) < 0) {
-+ err = 6;
-+ goto out_dump;
-+ }
-+ if (keys_cmp(c, &upper_key, &u_key) == 0)
-+ if (!is_hash_key(c, &u_key)) {
-+ err = 7;
-+ goto out_dump;
-+ }
-+ /* Go to next index node */
-+ if (le16_to_cpu(idx->level) == 0) {
-+ /* At the bottom, so go up until can go right */
-+ while (1) {
-+ /* Drop the bottom of the list */
-+ list_del(&i->list);
-+ kfree(i);
-+ /* No more list means we are done */
-+ if (list_empty(&list))
-+ goto out;
-+ /* Look at the new bottom */
-+ i = list_entry(list.prev, struct idx_node,
-+ list);
-+ idx = &i->idx;
-+ /* Can we go right */
-+ if (iip + 1 < le16_to_cpu(idx->child_cnt)) {
-+ iip = iip + 1;
-+ break;
-+ } else
-+ /* Nope, so go up again */
-+ iip = i->iip;
-+ }
-+ } else
-+ /* Go down left */
-+ iip = 0;
-+ /*
-+ * We have the parent in 'idx' and now we set up for reading the
-+ * child pointed to by slot 'iip'.
-+ */
-+ last_level = le16_to_cpu(idx->level);
-+ last_sqnum = le64_to_cpu(idx->ch.sqnum);
-+ br = ubifs_idx_branch(c, idx, iip);
-+ lnum = le32_to_cpu(br->lnum);
-+ offs = le32_to_cpu(br->offs);
-+ len = le32_to_cpu(br->len);
-+ key_read(c, &br->key, &lower_key);
-+ if (iip + 1 < le16_to_cpu(idx->child_cnt)) {
-+ br = ubifs_idx_branch(c, idx, iip + 1);
-+ key_read(c, &br->key, &upper_key);
-+ } else
-+ key_copy(c, &i->upper_key, &upper_key);
-+ }
-+out:
-+ err = dbg_old_index_check_init(c, zroot);
-+ if (err)
-+ goto out_free;
-+
-+ return 0;
-+
-+out_dump:
-+ dbg_err("dumping index node (iip=%d)", i->iip);
-+ dbg_dump_node(c, idx);
-+ list_del(&i->list);
-+ kfree(i);
-+ if (!list_empty(&list)) {
-+ i = list_entry(list.prev, struct idx_node, list);
-+ dbg_err("dumping parent index node");
-+ dbg_dump_node(c, &i->idx);
-+ }
-+out_free:
-+ while (!list_empty(&list)) {
-+ i = list_entry(list.next, struct idx_node, list);
-+ list_del(&i->list);
-+ kfree(i);
-+ }
-+ ubifs_err("failed, error %d", err);
-+ if (err > 0)
-+ err = -EINVAL;
-+ return err;
-+}
-+
-+#endif /* CONFIG_UBIFS_FS_DEBUG */
-diff -Nurd linux-2.6.24.orig/fs/ubifs/compress.c linux-2.6.24/fs/ubifs/compress.c
---- linux-2.6.24.orig/fs/ubifs/compress.c 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.24/fs/ubifs/compress.c 2009-04-17 09:49:28.000000000 +0200
-@@ -0,0 +1,251 @@
-+/*
-+ * This file is part of UBIFS.
-+ *
-+ * Copyright (C) 2006-2008 Nokia Corporation.
-+ * Copyright (C) 2006, 2007 University of Szeged, Hungary
-+ *
-+ * This program is free software; you can redistribute it and/or modify it
-+ * under the terms of the GNU General Public License version 2 as published by
-+ * the Free Software Foundation.
-+ *
-+ * 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, write to the Free Software Foundation, Inc., 51
-+ * Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
-+ *
-+ * Authors: Adrian Hunter
-+ * Artem Bityutskiy (Битюцкий Ðртём)
-+ * Zoltan Sogor
-+ */
-+
-+/*
-+ * This file provides a single place to access to compression and
-+ * decompression.
-+ */
-+
-+#include <linux/crypto.h>
-+#include "ubifs.h"
-+
-+/* Fake description object for the "none" compressor */
-+static struct ubifs_compressor none_compr = {
-+ .compr_type = UBIFS_COMPR_NONE,
-+ .name = "none",
-+ .capi_name = "",
-+};
-+
-+#ifdef CONFIG_UBIFS_FS_LZO
-+static DEFINE_MUTEX(lzo_mutex);
-+
-+static struct ubifs_compressor lzo_compr = {
-+ .compr_type = UBIFS_COMPR_LZO,
-+ .comp_mutex = &lzo_mutex,
-+ .name = "lzo",
-+ .capi_name = "lzo",
-+};
-+#else
-+static struct ubifs_compressor lzo_compr = {
-+ .compr_type = UBIFS_COMPR_LZO,
-+ .name = "lzo",
-+};
-+#endif
-+
-+#ifdef CONFIG_UBIFS_FS_ZLIB
-+static DEFINE_MUTEX(deflate_mutex);
-+static DEFINE_MUTEX(inflate_mutex);
-+
-+static struct ubifs_compressor zlib_compr = {
-+ .compr_type = UBIFS_COMPR_ZLIB,
-+ .comp_mutex = &deflate_mutex,
-+ .decomp_mutex = &inflate_mutex,
-+ .name = "zlib",
-+ .capi_name = "deflate",
-+};
-+#else
-+static struct ubifs_compressor zlib_compr = {
-+ .compr_type = UBIFS_COMPR_ZLIB,
-+ .name = "zlib",
-+};
-+#endif
-+
-+/* All UBIFS compressors */
-+struct ubifs_compressor *ubifs_compressors[UBIFS_COMPR_TYPES_CNT];
-+
-+/**
-+ * ubifs_compress - compress data.
-+ * @in_buf: data to compress
-+ * @in_len: length of the data to compress
-+ * @out_buf: output buffer where compressed data should be stored
-+ * @out_len: output buffer length is returned here
-+ * @compr_type: type of compression to use on enter, actually used compression
-+ * type on exit
-+ *
-+ * This function compresses input buffer @in_buf of length @in_len and stores
-+ * the result in the output buffer @out_buf and the resulting length in
-+ * @out_len. If the input buffer does not compress, it is just copied to the
-+ * @out_buf. The same happens if @compr_type is %UBIFS_COMPR_NONE or if
-+ * compression error occurred.
-+ *
-+ * Note, if the input buffer was not compressed, it is copied to the output
-+ * buffer and %UBIFS_COMPR_NONE is returned in @compr_type.
-+ */
-+void ubifs_compress(const void *in_buf, int in_len, void *out_buf, int *out_len,
-+ int *compr_type)
-+{
-+ int err;
-+ struct ubifs_compressor *compr = ubifs_compressors[*compr_type];
-+
-+ if (*compr_type == UBIFS_COMPR_NONE)
-+ goto no_compr;
-+
-+ /* If the input data is small, do not even try to compress it */
-+ if (in_len < UBIFS_MIN_COMPR_LEN)
-+ goto no_compr;
-+
-+ if (compr->comp_mutex)
-+ mutex_lock(compr->comp_mutex);
-+ err = crypto_comp_compress(compr->cc, in_buf, in_len, out_buf,
-+ (unsigned int *)out_len);
-+ if (compr->comp_mutex)
-+ mutex_unlock(compr->comp_mutex);
-+ if (unlikely(err)) {
-+ ubifs_warn("cannot compress %d bytes, compressor %s, "
-+ "error %d, leave data uncompressed",
-+ in_len, compr->name, err);
-+ goto no_compr;
-+ }
-+
-+ /*
-+ * If the data compressed only slightly, it is better to leave it
-+ * uncompressed to improve read speed.
-+ */
-+ if (in_len - *out_len < UBIFS_MIN_COMPRESS_DIFF)
-+ goto no_compr;
-+
-+ return;
-+
-+no_compr:
-+ memcpy(out_buf, in_buf, in_len);
-+ *out_len = in_len;
-+ *compr_type = UBIFS_COMPR_NONE;
-+}
-+
-+/**
-+ * ubifs_decompress - decompress data.
-+ * @in_buf: data to decompress
-+ * @in_len: length of the data to decompress
-+ * @out_buf: output buffer where decompressed data should
-+ * @out_len: output length is returned here
-+ * @compr_type: type of compression
-+ *
-+ * This function decompresses data from buffer @in_buf into buffer @out_buf.
-+ * The length of the uncompressed data is returned in @out_len. This functions
-+ * returns %0 on success or a negative error code on failure.
-+ */
-+int ubifs_decompress(const void *in_buf, int in_len, void *out_buf,
-+ int *out_len, int compr_type)
-+{
-+ int err;
-+ struct ubifs_compressor *compr;
-+
-+ if (unlikely(compr_type < 0 || compr_type >= UBIFS_COMPR_TYPES_CNT)) {
-+ ubifs_err("invalid compression type %d", compr_type);
-+ return -EINVAL;
-+ }
-+
-+ compr = ubifs_compressors[compr_type];
-+
-+ if (unlikely(!compr->capi_name)) {
-+ ubifs_err("%s compression is not compiled in", compr->name);
-+ return -EINVAL;
-+ }
-+
-+ if (compr_type == UBIFS_COMPR_NONE) {
-+ memcpy(out_buf, in_buf, in_len);
-+ *out_len = in_len;
-+ return 0;
-+ }
-+
-+ if (compr->decomp_mutex)
-+ mutex_lock(compr->decomp_mutex);
-+ err = crypto_comp_decompress(compr->cc, in_buf, in_len, out_buf,
-+ (unsigned int *)out_len);
-+ if (compr->decomp_mutex)
-+ mutex_unlock(compr->decomp_mutex);
-+ if (err)
-+ ubifs_err("cannot decompress %d bytes, compressor %s, "
-+ "error %d", in_len, compr->name, err);
-+
-+ return err;
-+}
-+
-+/**
-+ * compr_init - initialize a compressor.
-+ * @compr: compressor description object
-+ *
-+ * This function initializes the requested compressor and returns zero in case
-+ * of success or a negative error code in case of failure.
-+ */
-+static int __init compr_init(struct ubifs_compressor *compr)
-+{
-+ if (compr->capi_name) {
-+ compr->cc = crypto_alloc_comp(compr->capi_name, 0, 0);
-+ if (IS_ERR(compr->cc)) {
-+ ubifs_err("cannot initialize compressor %s, error %ld",
-+ compr->name, PTR_ERR(compr->cc));
-+ return PTR_ERR(compr->cc);
-+ }
-+ }
-+
-+ ubifs_compressors[compr->compr_type] = compr;
-+ return 0;
-+}
-+
-+/**
-+ * compr_exit - de-initialize a compressor.
-+ * @compr: compressor description object
-+ */
-+static void compr_exit(struct ubifs_compressor *compr)
-+{
-+ if (compr->capi_name)
-+ crypto_free_comp(compr->cc);
-+ return;
-+}
-+
-+/**
-+ * ubifs_compressors_init - initialize UBIFS compressors.
-+ *
-+ * This function initializes the compressor which were compiled in. Returns
-+ * zero in case of success and a negative error code in case of failure.
-+ */
-+int __init ubifs_compressors_init(void)
-+{
-+ int err;
-+
-+ err = compr_init(&lzo_compr);
-+ if (err)
-+ return err;
-+
-+ err = compr_init(&zlib_compr);
-+ if (err)
-+ goto out_lzo;
-+
-+ ubifs_compressors[UBIFS_COMPR_NONE] = &none_compr;
-+ return 0;
-+
-+out_lzo:
-+ compr_exit(&lzo_compr);
-+ return err;
-+}
-+
-+/**
-+ * ubifs_compressors_exit - de-initialize UBIFS compressors.
-+ */
-+void ubifs_compressors_exit(void)
-+{
-+ compr_exit(&lzo_compr);
-+ compr_exit(&zlib_compr);
-+}
-diff -Nurd linux-2.6.24.orig/fs/ubifs/debug.c linux-2.6.24/fs/ubifs/debug.c
---- linux-2.6.24.orig/fs/ubifs/debug.c 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.24/fs/ubifs/debug.c 2009-04-17 09:49:28.000000000 +0200
-@@ -0,0 +1,2603 @@
-+/*
-+ * This file is part of UBIFS.
-+ *
-+ * Copyright (C) 2006-2008 Nokia Corporation
-+ *
-+ * This program is free software; you can redistribute it and/or modify it
-+ * under the terms of the GNU General Public License version 2 as published by
-+ * the Free Software Foundation.
-+ *
-+ * 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, write to the Free Software Foundation, Inc., 51
-+ * Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
-+ *
-+ * Authors: Artem Bityutskiy (Битюцкий Ðртём)
-+ * Adrian Hunter
-+ */
-+
-+/*
-+ * This file implements most of the debugging stuff which is compiled in only
-+ * when it is enabled. But some debugging check functions are implemented in
-+ * corresponding subsystem, just because they are closely related and utilize
-+ * various local functions of those subsystems.
-+ */
-+
-+#define UBIFS_DBG_PRESERVE_UBI
-+
-+#include "ubifs.h"
-+#include <linux/module.h>
-+#include <linux/moduleparam.h>
-+#include <linux/debugfs.h>
-+
-+#ifdef CONFIG_UBIFS_FS_DEBUG
-+
-+DEFINE_SPINLOCK(dbg_lock);
-+
-+static char dbg_key_buf0[128];
-+static char dbg_key_buf1[128];
-+
-+unsigned int ubifs_msg_flags = UBIFS_MSG_FLAGS_DEFAULT;
-+unsigned int ubifs_chk_flags = UBIFS_CHK_FLAGS_DEFAULT;
-+unsigned int ubifs_tst_flags;
-+
-+module_param_named(debug_msgs, ubifs_msg_flags, uint, S_IRUGO | S_IWUSR);
-+module_param_named(debug_chks, ubifs_chk_flags, uint, S_IRUGO | S_IWUSR);
-+module_param_named(debug_tsts, ubifs_tst_flags, uint, S_IRUGO | S_IWUSR);
-+
-+MODULE_PARM_DESC(debug_msgs, "Debug message type flags");
-+MODULE_PARM_DESC(debug_chks, "Debug check flags");
-+MODULE_PARM_DESC(debug_tsts, "Debug special test flags");
-+
-+static const char *get_key_fmt(int fmt)
-+{
-+ switch (fmt) {
-+ case UBIFS_SIMPLE_KEY_FMT:
-+ return "simple";
-+ default:
-+ return "unknown/invalid format";
-+ }
-+}
-+
-+static const char *get_key_hash(int hash)
-+{
-+ switch (hash) {
-+ case UBIFS_KEY_HASH_R5:
-+ return "R5";
-+ case UBIFS_KEY_HASH_TEST:
-+ return "test";
-+ default:
-+ return "unknown/invalid name hash";
-+ }
-+}
-+
-+static const char *get_key_type(int type)
-+{
-+ switch (type) {
-+ case UBIFS_INO_KEY:
-+ return "inode";
-+ case UBIFS_DENT_KEY:
-+ return "direntry";
-+ case UBIFS_XENT_KEY:
-+ return "xentry";
-+ case UBIFS_DATA_KEY:
-+ return "data";
-+ case UBIFS_TRUN_KEY:
-+ return "truncate";
-+ default:
-+ return "unknown/invalid key";
-+ }
-+}
-+
-+static void sprintf_key(const struct ubifs_info *c, const union ubifs_key *key,
-+ char *buffer)
-+{
-+ char *p = buffer;
-+ int type = key_type(c, key);
-+
-+ if (c->key_fmt == UBIFS_SIMPLE_KEY_FMT) {
-+ switch (type) {
-+ case UBIFS_INO_KEY:
-+ sprintf(p, "(%lu, %s)", (unsigned long)key_inum(c, key),
-+ get_key_type(type));
-+ break;
-+ case UBIFS_DENT_KEY:
-+ case UBIFS_XENT_KEY:
-+ sprintf(p, "(%lu, %s, %#08x)",
-+ (unsigned long)key_inum(c, key),
-+ get_key_type(type), key_hash(c, key));
-+ break;
-+ case UBIFS_DATA_KEY:
-+ sprintf(p, "(%lu, %s, %u)",
-+ (unsigned long)key_inum(c, key),
-+ get_key_type(type), key_block(c, key));
-+ break;
-+ case UBIFS_TRUN_KEY:
-+ sprintf(p, "(%lu, %s)",
-+ (unsigned long)key_inum(c, key),
-+ get_key_type(type));
-+ break;
-+ default:
-+ sprintf(p, "(bad key type: %#08x, %#08x)",
-+ key->u32[0], key->u32[1]);
-+ }
-+ } else
-+ sprintf(p, "bad key format %d", c->key_fmt);
-+}
-+
-+const char *dbg_key_str0(const struct ubifs_info *c, const union ubifs_key *key)
-+{
-+ /* dbg_lock must be held */
-+ sprintf_key(c, key, dbg_key_buf0);
-+ return dbg_key_buf0;
-+}
-+
-+const char *dbg_key_str1(const struct ubifs_info *c, const union ubifs_key *key)
-+{
-+ /* dbg_lock must be held */
-+ sprintf_key(c, key, dbg_key_buf1);
-+ return dbg_key_buf1;
-+}
-+
-+const char *dbg_ntype(int type)
-+{
-+ switch (type) {
-+ case UBIFS_PAD_NODE:
-+ return "padding node";
-+ case UBIFS_SB_NODE:
-+ return "superblock node";
-+ case UBIFS_MST_NODE:
-+ return "master node";
-+ case UBIFS_REF_NODE:
-+ return "reference node";
-+ case UBIFS_INO_NODE:
-+ return "inode node";
-+ case UBIFS_DENT_NODE:
-+ return "direntry node";
-+ case UBIFS_XENT_NODE:
-+ return "xentry node";
-+ case UBIFS_DATA_NODE:
-+ return "data node";
-+ case UBIFS_TRUN_NODE:
-+ return "truncate node";
-+ case UBIFS_IDX_NODE:
-+ return "indexing node";
-+ case UBIFS_CS_NODE:
-+ return "commit start node";
-+ case UBIFS_ORPH_NODE:
-+ return "orphan node";
-+ default:
-+ return "unknown node";
-+ }
-+}
-+
-+static const char *dbg_gtype(int type)
-+{
-+ switch (type) {
-+ case UBIFS_NO_NODE_GROUP:
-+ return "no node group";
-+ case UBIFS_IN_NODE_GROUP:
-+ return "in node group";
-+ case UBIFS_LAST_OF_NODE_GROUP:
-+ return "last of node group";
-+ default:
-+ return "unknown";
-+ }
-+}
-+
-+const char *dbg_cstate(int cmt_state)
-+{
-+ switch (cmt_state) {
-+ case COMMIT_RESTING:
-+ return "commit resting";
-+ case COMMIT_BACKGROUND:
-+ return "background commit requested";
-+ case COMMIT_REQUIRED:
-+ return "commit required";
-+ case COMMIT_RUNNING_BACKGROUND:
-+ return "BACKGROUND commit running";
-+ case COMMIT_RUNNING_REQUIRED:
-+ return "commit running and required";
-+ case COMMIT_BROKEN:
-+ return "broken commit";
-+ default:
-+ return "unknown commit state";
-+ }
-+}
-+
-+static void dump_ch(const struct ubifs_ch *ch)
-+{
-+ printk(KERN_DEBUG "\tmagic %#x\n", le32_to_cpu(ch->magic));
-+ printk(KERN_DEBUG "\tcrc %#x\n", le32_to_cpu(ch->crc));
-+ printk(KERN_DEBUG "\tnode_type %d (%s)\n", ch->node_type,
-+ dbg_ntype(ch->node_type));
-+ printk(KERN_DEBUG "\tgroup_type %d (%s)\n", ch->group_type,
-+ dbg_gtype(ch->group_type));
-+ printk(KERN_DEBUG "\tsqnum %llu\n",
-+ (unsigned long long)le64_to_cpu(ch->sqnum));
-+ printk(KERN_DEBUG "\tlen %u\n", le32_to_cpu(ch->len));
-+}
-+
-+void dbg_dump_inode(const struct ubifs_info *c, const struct inode *inode)
-+{
-+ const struct ubifs_inode *ui = ubifs_inode(inode);
-+
-+ printk(KERN_DEBUG "Dump in-memory inode:");
-+ printk(KERN_DEBUG "\tinode %lu\n", inode->i_ino);
-+ printk(KERN_DEBUG "\tsize %llu\n",
-+ (unsigned long long)i_size_read(inode));
-+ printk(KERN_DEBUG "\tnlink %u\n", inode->i_nlink);
-+ printk(KERN_DEBUG "\tuid %u\n", (unsigned int)inode->i_uid);
-+ printk(KERN_DEBUG "\tgid %u\n", (unsigned int)inode->i_gid);
-+ printk(KERN_DEBUG "\tatime %u.%u\n",
-+ (unsigned int)inode->i_atime.tv_sec,
-+ (unsigned int)inode->i_atime.tv_nsec);
-+ printk(KERN_DEBUG "\tmtime %u.%u\n",
-+ (unsigned int)inode->i_mtime.tv_sec,
-+ (unsigned int)inode->i_mtime.tv_nsec);
-+ printk(KERN_DEBUG "\tctime %u.%u\n",
-+ (unsigned int)inode->i_ctime.tv_sec,
-+ (unsigned int)inode->i_ctime.tv_nsec);
-+ printk(KERN_DEBUG "\tcreat_sqnum %llu\n", ui->creat_sqnum);
-+ printk(KERN_DEBUG "\txattr_size %u\n", ui->xattr_size);
-+ printk(KERN_DEBUG "\txattr_cnt %u\n", ui->xattr_cnt);
-+ printk(KERN_DEBUG "\txattr_names %u\n", ui->xattr_names);
-+ printk(KERN_DEBUG "\tdirty %u\n", ui->dirty);
-+ printk(KERN_DEBUG "\txattr %u\n", ui->xattr);
-+ printk(KERN_DEBUG "\tbulk_read %u\n", ui->xattr);
-+ printk(KERN_DEBUG "\tsynced_i_size %llu\n",
-+ (unsigned long long)ui->synced_i_size);
-+ printk(KERN_DEBUG "\tui_size %llu\n",
-+ (unsigned long long)ui->ui_size);
-+ printk(KERN_DEBUG "\tflags %d\n", ui->flags);
-+ printk(KERN_DEBUG "\tcompr_type %d\n", ui->compr_type);
-+ printk(KERN_DEBUG "\tlast_page_read %lu\n", ui->last_page_read);
-+ printk(KERN_DEBUG "\tread_in_a_row %lu\n", ui->read_in_a_row);
-+ printk(KERN_DEBUG "\tdata_len %d\n", ui->data_len);
-+}
-+
-+void dbg_dump_node(const struct ubifs_info *c, const void *node)
-+{
-+ int i, n;
-+ union ubifs_key key;
-+ const struct ubifs_ch *ch = node;
-+
-+ if (dbg_failure_mode)
-+ return;
-+
-+ /* If the magic is incorrect, just hexdump the first bytes */
-+ if (le32_to_cpu(ch->magic) != UBIFS_NODE_MAGIC) {
-+ printk(KERN_DEBUG "Not a node, first %zu bytes:", UBIFS_CH_SZ);
-+ print_hex_dump(KERN_DEBUG, "", DUMP_PREFIX_OFFSET, 32, 1,
-+ (void *)node, UBIFS_CH_SZ, 1);
-+ return;
-+ }
-+
-+ spin_lock(&dbg_lock);
-+ dump_ch(node);
-+
-+ switch (ch->node_type) {
-+ case UBIFS_PAD_NODE:
-+ {
-+ const struct ubifs_pad_node *pad = node;
-+
-+ printk(KERN_DEBUG "\tpad_len %u\n",
-+ le32_to_cpu(pad->pad_len));
-+ break;
-+ }
-+ case UBIFS_SB_NODE:
-+ {
-+ const struct ubifs_sb_node *sup = node;
-+ unsigned int sup_flags = le32_to_cpu(sup->flags);
-+
-+ printk(KERN_DEBUG "\tkey_hash %d (%s)\n",
-+ (int)sup->key_hash, get_key_hash(sup->key_hash));
-+ printk(KERN_DEBUG "\tkey_fmt %d (%s)\n",
-+ (int)sup->key_fmt, get_key_fmt(sup->key_fmt));
-+ printk(KERN_DEBUG "\tflags %#x\n", sup_flags);
-+ printk(KERN_DEBUG "\t big_lpt %u\n",
-+ !!(sup_flags & UBIFS_FLG_BIGLPT));
-+ printk(KERN_DEBUG "\tmin_io_size %u\n",
-+ le32_to_cpu(sup->min_io_size));
-+ printk(KERN_DEBUG "\tleb_size %u\n",
-+ le32_to_cpu(sup->leb_size));
-+ printk(KERN_DEBUG "\tleb_cnt %u\n",
-+ le32_to_cpu(sup->leb_cnt));
-+ printk(KERN_DEBUG "\tmax_leb_cnt %u\n",
-+ le32_to_cpu(sup->max_leb_cnt));
-+ printk(KERN_DEBUG "\tmax_bud_bytes %llu\n",
-+ (unsigned long long)le64_to_cpu(sup->max_bud_bytes));
-+ printk(KERN_DEBUG "\tlog_lebs %u\n",
-+ le32_to_cpu(sup->log_lebs));
-+ printk(KERN_DEBUG "\tlpt_lebs %u\n",
-+ le32_to_cpu(sup->lpt_lebs));
-+ printk(KERN_DEBUG "\torph_lebs %u\n",
-+ le32_to_cpu(sup->orph_lebs));
-+ printk(KERN_DEBUG "\tjhead_cnt %u\n",
-+ le32_to_cpu(sup->jhead_cnt));
-+ printk(KERN_DEBUG "\tfanout %u\n",
-+ le32_to_cpu(sup->fanout));
-+ printk(KERN_DEBUG "\tlsave_cnt %u\n",
-+ le32_to_cpu(sup->lsave_cnt));
-+ printk(KERN_DEBUG "\tdefault_compr %u\n",
-+ (int)le16_to_cpu(sup->default_compr));
-+ printk(KERN_DEBUG "\trp_size %llu\n",
-+ (unsigned long long)le64_to_cpu(sup->rp_size));
-+ printk(KERN_DEBUG "\trp_uid %u\n",
-+ le32_to_cpu(sup->rp_uid));
-+ printk(KERN_DEBUG "\trp_gid %u\n",
-+ le32_to_cpu(sup->rp_gid));
-+ printk(KERN_DEBUG "\tfmt_version %u\n",
-+ le32_to_cpu(sup->fmt_version));
-+ printk(KERN_DEBUG "\ttime_gran %u\n",
-+ le32_to_cpu(sup->time_gran));
-+ printk(KERN_DEBUG "\tUUID %02X%02X%02X%02X-%02X%02X"
-+ "-%02X%02X-%02X%02X-%02X%02X%02X%02X%02X%02X\n",
-+ sup->uuid[0], sup->uuid[1], sup->uuid[2], sup->uuid[3],
-+ sup->uuid[4], sup->uuid[5], sup->uuid[6], sup->uuid[7],
-+ sup->uuid[8], sup->uuid[9], sup->uuid[10], sup->uuid[11],
-+ sup->uuid[12], sup->uuid[13], sup->uuid[14],
-+ sup->uuid[15]);
-+ break;
-+ }
-+ case UBIFS_MST_NODE:
-+ {
-+ const struct ubifs_mst_node *mst = node;
-+
-+ printk(KERN_DEBUG "\thighest_inum %llu\n",
-+ (unsigned long long)le64_to_cpu(mst->highest_inum));
-+ printk(KERN_DEBUG "\tcommit number %llu\n",
-+ (unsigned long long)le64_to_cpu(mst->cmt_no));
-+ printk(KERN_DEBUG "\tflags %#x\n",
-+ le32_to_cpu(mst->flags));
-+ printk(KERN_DEBUG "\tlog_lnum %u\n",
-+ le32_to_cpu(mst->log_lnum));
-+ printk(KERN_DEBUG "\troot_lnum %u\n",
-+ le32_to_cpu(mst->root_lnum));
-+ printk(KERN_DEBUG "\troot_offs %u\n",
-+ le32_to_cpu(mst->root_offs));
-+ printk(KERN_DEBUG "\troot_len %u\n",
-+ le32_to_cpu(mst->root_len));
-+ printk(KERN_DEBUG "\tgc_lnum %u\n",
-+ le32_to_cpu(mst->gc_lnum));
-+ printk(KERN_DEBUG "\tihead_lnum %u\n",
-+ le32_to_cpu(mst->ihead_lnum));
-+ printk(KERN_DEBUG "\tihead_offs %u\n",
-+ le32_to_cpu(mst->ihead_offs));
-+ printk(KERN_DEBUG "\tindex_size %llu\n",
-+ (unsigned long long)le64_to_cpu(mst->index_size));
-+ printk(KERN_DEBUG "\tlpt_lnum %u\n",
-+ le32_to_cpu(mst->lpt_lnum));
-+ printk(KERN_DEBUG "\tlpt_offs %u\n",
-+ le32_to_cpu(mst->lpt_offs));
-+ printk(KERN_DEBUG "\tnhead_lnum %u\n",
-+ le32_to_cpu(mst->nhead_lnum));
-+ printk(KERN_DEBUG "\tnhead_offs %u\n",
-+ le32_to_cpu(mst->nhead_offs));
-+ printk(KERN_DEBUG "\tltab_lnum %u\n",
-+ le32_to_cpu(mst->ltab_lnum));
-+ printk(KERN_DEBUG "\tltab_offs %u\n",
-+ le32_to_cpu(mst->ltab_offs));
-+ printk(KERN_DEBUG "\tlsave_lnum %u\n",
-+ le32_to_cpu(mst->lsave_lnum));
-+ printk(KERN_DEBUG "\tlsave_offs %u\n",
-+ le32_to_cpu(mst->lsave_offs));
-+ printk(KERN_DEBUG "\tlscan_lnum %u\n",
-+ le32_to_cpu(mst->lscan_lnum));
-+ printk(KERN_DEBUG "\tleb_cnt %u\n",
-+ le32_to_cpu(mst->leb_cnt));
-+ printk(KERN_DEBUG "\tempty_lebs %u\n",
-+ le32_to_cpu(mst->empty_lebs));
-+ printk(KERN_DEBUG "\tidx_lebs %u\n",
-+ le32_to_cpu(mst->idx_lebs));
-+ printk(KERN_DEBUG "\ttotal_free %llu\n",
-+ (unsigned long long)le64_to_cpu(mst->total_free));
-+ printk(KERN_DEBUG "\ttotal_dirty %llu\n",
-+ (unsigned long long)le64_to_cpu(mst->total_dirty));
-+ printk(KERN_DEBUG "\ttotal_used %llu\n",
-+ (unsigned long long)le64_to_cpu(mst->total_used));
-+ printk(KERN_DEBUG "\ttotal_dead %llu\n",
-+ (unsigned long long)le64_to_cpu(mst->total_dead));
-+ printk(KERN_DEBUG "\ttotal_dark %llu\n",
-+ (unsigned long long)le64_to_cpu(mst->total_dark));
-+ break;
-+ }
-+ case UBIFS_REF_NODE:
-+ {
-+ const struct ubifs_ref_node *ref = node;
-+
-+ printk(KERN_DEBUG "\tlnum %u\n",
-+ le32_to_cpu(ref->lnum));
-+ printk(KERN_DEBUG "\toffs %u\n",
-+ le32_to_cpu(ref->offs));
-+ printk(KERN_DEBUG "\tjhead %u\n",
-+ le32_to_cpu(ref->jhead));
-+ break;
-+ }
-+ case UBIFS_INO_NODE:
-+ {
-+ const struct ubifs_ino_node *ino = node;
-+
-+ key_read(c, &ino->key, &key);
-+ printk(KERN_DEBUG "\tkey %s\n", DBGKEY(&key));
-+ printk(KERN_DEBUG "\tcreat_sqnum %llu\n",
-+ (unsigned long long)le64_to_cpu(ino->creat_sqnum));
-+ printk(KERN_DEBUG "\tsize %llu\n",
-+ (unsigned long long)le64_to_cpu(ino->size));
-+ printk(KERN_DEBUG "\tnlink %u\n",
-+ le32_to_cpu(ino->nlink));
-+ printk(KERN_DEBUG "\tatime %lld.%u\n",
-+ (long long)le64_to_cpu(ino->atime_sec),
-+ le32_to_cpu(ino->atime_nsec));
-+ printk(KERN_DEBUG "\tmtime %lld.%u\n",
-+ (long long)le64_to_cpu(ino->mtime_sec),
-+ le32_to_cpu(ino->mtime_nsec));
-+ printk(KERN_DEBUG "\tctime %lld.%u\n",
-+ (long long)le64_to_cpu(ino->ctime_sec),
-+ le32_to_cpu(ino->ctime_nsec));
-+ printk(KERN_DEBUG "\tuid %u\n",
-+ le32_to_cpu(ino->uid));
-+ printk(KERN_DEBUG "\tgid %u\n",
-+ le32_to_cpu(ino->gid));
-+ printk(KERN_DEBUG "\tmode %u\n",
-+ le32_to_cpu(ino->mode));
-+ printk(KERN_DEBUG "\tflags %#x\n",
-+ le32_to_cpu(ino->flags));
-+ printk(KERN_DEBUG "\txattr_cnt %u\n",
-+ le32_to_cpu(ino->xattr_cnt));
-+ printk(KERN_DEBUG "\txattr_size %u\n",
-+ le32_to_cpu(ino->xattr_size));
-+ printk(KERN_DEBUG "\txattr_names %u\n",
-+ le32_to_cpu(ino->xattr_names));
-+ printk(KERN_DEBUG "\tcompr_type %#x\n",
-+ (int)le16_to_cpu(ino->compr_type));
-+ printk(KERN_DEBUG "\tdata len %u\n",
-+ le32_to_cpu(ino->data_len));
-+ break;
-+ }
-+ case UBIFS_DENT_NODE:
-+ case UBIFS_XENT_NODE:
-+ {
-+ const struct ubifs_dent_node *dent = node;
-+ int nlen = le16_to_cpu(dent->nlen);
-+
-+ key_read(c, &dent->key, &key);
-+ printk(KERN_DEBUG "\tkey %s\n", DBGKEY(&key));
-+ printk(KERN_DEBUG "\tinum %llu\n",
-+ (unsigned long long)le64_to_cpu(dent->inum));
-+ printk(KERN_DEBUG "\ttype %d\n", (int)dent->type);
-+ printk(KERN_DEBUG "\tnlen %d\n", nlen);
-+ printk(KERN_DEBUG "\tname ");
-+
-+ if (nlen > UBIFS_MAX_NLEN)
-+ printk(KERN_DEBUG "(bad name length, not printing, "
-+ "bad or corrupted node)");
-+ else {
-+ for (i = 0; i < nlen && dent->name[i]; i++)
-+ printk("%c", dent->name[i]);
-+ }
-+ printk("\n");
-+
-+ break;
-+ }
-+ case UBIFS_DATA_NODE:
-+ {
-+ const struct ubifs_data_node *dn = node;
-+ int dlen = le32_to_cpu(ch->len) - UBIFS_DATA_NODE_SZ;
-+
-+ key_read(c, &dn->key, &key);
-+ printk(KERN_DEBUG "\tkey %s\n", DBGKEY(&key));
-+ printk(KERN_DEBUG "\tsize %u\n",
-+ le32_to_cpu(dn->size));
-+ printk(KERN_DEBUG "\tcompr_typ %d\n",
-+ (int)le16_to_cpu(dn->compr_type));
-+ printk(KERN_DEBUG "\tdata size %d\n",
-+ dlen);
-+ printk(KERN_DEBUG "\tdata:\n");
-+ print_hex_dump(KERN_DEBUG, "\t", DUMP_PREFIX_OFFSET, 32, 1,
-+ (void *)&dn->data, dlen, 0);
-+ break;
-+ }
-+ case UBIFS_TRUN_NODE:
-+ {
-+ const struct ubifs_trun_node *trun = node;
-+
-+ printk(KERN_DEBUG "\tinum %u\n",
-+ le32_to_cpu(trun->inum));
-+ printk(KERN_DEBUG "\told_size %llu\n",
-+ (unsigned long long)le64_to_cpu(trun->old_size));
-+ printk(KERN_DEBUG "\tnew_size %llu\n",
-+ (unsigned long long)le64_to_cpu(trun->new_size));
-+ break;
-+ }
-+ case UBIFS_IDX_NODE:
-+ {
-+ const struct ubifs_idx_node *idx = node;
-+
-+ n = le16_to_cpu(idx->child_cnt);
-+ printk(KERN_DEBUG "\tchild_cnt %d\n", n);
-+ printk(KERN_DEBUG "\tlevel %d\n",
-+ (int)le16_to_cpu(idx->level));
-+ printk(KERN_DEBUG "\tBranches:\n");
-+
-+ for (i = 0; i < n && i < c->fanout - 1; i++) {
-+ const struct ubifs_branch *br;
-+
-+ br = ubifs_idx_branch(c, idx, i);
-+ key_read(c, &br->key, &key);
-+ printk(KERN_DEBUG "\t%d: LEB %d:%d len %d key %s\n",
-+ i, le32_to_cpu(br->lnum), le32_to_cpu(br->offs),
-+ le32_to_cpu(br->len), DBGKEY(&key));
-+ }
-+ break;
-+ }
-+ case UBIFS_CS_NODE:
-+ break;
-+ case UBIFS_ORPH_NODE:
-+ {
-+ const struct ubifs_orph_node *orph = node;
-+
-+ printk(KERN_DEBUG "\tcommit number %llu\n",
-+ (unsigned long long)
-+ le64_to_cpu(orph->cmt_no) & LLONG_MAX);
-+ printk(KERN_DEBUG "\tlast node flag %llu\n",
-+ (unsigned long long)(le64_to_cpu(orph->cmt_no)) >> 63);
-+ n = (le32_to_cpu(ch->len) - UBIFS_ORPH_NODE_SZ) >> 3;
-+ printk(KERN_DEBUG "\t%d orphan inode numbers:\n", n);
-+ for (i = 0; i < n; i++)
-+ printk(KERN_DEBUG "\t ino %llu\n",
-+ (unsigned long long)le64_to_cpu(orph->inos[i]));
-+ break;
-+ }
-+ default:
-+ printk(KERN_DEBUG "node type %d was not recognized\n",
-+ (int)ch->node_type);
-+ }
-+ spin_unlock(&dbg_lock);
-+}
-+
-+void dbg_dump_budget_req(const struct ubifs_budget_req *req)
-+{
-+ spin_lock(&dbg_lock);
-+ printk(KERN_DEBUG "Budgeting request: new_ino %d, dirtied_ino %d\n",
-+ req->new_ino, req->dirtied_ino);
-+ printk(KERN_DEBUG "\tnew_ino_d %d, dirtied_ino_d %d\n",
-+ req->new_ino_d, req->dirtied_ino_d);
-+ printk(KERN_DEBUG "\tnew_page %d, dirtied_page %d\n",
-+ req->new_page, req->dirtied_page);
-+ printk(KERN_DEBUG "\tnew_dent %d, mod_dent %d\n",
-+ req->new_dent, req->mod_dent);
-+ printk(KERN_DEBUG "\tidx_growth %d\n", req->idx_growth);
-+ printk(KERN_DEBUG "\tdata_growth %d dd_growth %d\n",
-+ req->data_growth, req->dd_growth);
-+ spin_unlock(&dbg_lock);
-+}
-+
-+void dbg_dump_lstats(const struct ubifs_lp_stats *lst)
-+{
-+ spin_lock(&dbg_lock);
-+ printk(KERN_DEBUG "(pid %d) Lprops statistics: empty_lebs %d, "
-+ "idx_lebs %d\n", current->pid, lst->empty_lebs, lst->idx_lebs);
-+ printk(KERN_DEBUG "\ttaken_empty_lebs %d, total_free %lld, "
-+ "total_dirty %lld\n", lst->taken_empty_lebs, lst->total_free,
-+ lst->total_dirty);
-+ printk(KERN_DEBUG "\ttotal_used %lld, total_dark %lld, "
-+ "total_dead %lld\n", lst->total_used, lst->total_dark,
-+ lst->total_dead);
-+ spin_unlock(&dbg_lock);
-+}
-+
-+void dbg_dump_budg(struct ubifs_info *c)
-+{
-+ int i;
-+ struct rb_node *rb;
-+ struct ubifs_bud *bud;
-+ struct ubifs_gced_idx_leb *idx_gc;
-+ long long available, outstanding, free;
-+
-+ ubifs_assert(spin_is_locked(&c->space_lock));
-+ spin_lock(&dbg_lock);
-+ printk(KERN_DEBUG "(pid %d) Budgeting info: budg_data_growth %lld, "
-+ "budg_dd_growth %lld, budg_idx_growth %lld\n", current->pid,
-+ c->budg_data_growth, c->budg_dd_growth, c->budg_idx_growth);
-+ printk(KERN_DEBUG "\tdata budget sum %lld, total budget sum %lld, "
-+ "freeable_cnt %d\n", c->budg_data_growth + c->budg_dd_growth,
-+ c->budg_data_growth + c->budg_dd_growth + c->budg_idx_growth,
-+ c->freeable_cnt);
-+ printk(KERN_DEBUG "\tmin_idx_lebs %d, old_idx_sz %lld, "
-+ "calc_idx_sz %lld, idx_gc_cnt %d\n", c->min_idx_lebs,
-+ c->old_idx_sz, c->calc_idx_sz, c->idx_gc_cnt);
-+ printk(KERN_DEBUG "\tdirty_pg_cnt %ld, dirty_zn_cnt %ld, "
-+ "clean_zn_cnt %ld\n", atomic_long_read(&c->dirty_pg_cnt),
-+ atomic_long_read(&c->dirty_zn_cnt),
-+ atomic_long_read(&c->clean_zn_cnt));
-+ printk(KERN_DEBUG "\tdark_wm %d, dead_wm %d, max_idx_node_sz %d\n",
-+ c->dark_wm, c->dead_wm, c->max_idx_node_sz);
-+ printk(KERN_DEBUG "\tgc_lnum %d, ihead_lnum %d\n",
-+ c->gc_lnum, c->ihead_lnum);
-+ /* If we are in R/O mode, journal heads do not exist */
-+ if (c->jheads)
-+ for (i = 0; i < c->jhead_cnt; i++)
-+ printk(KERN_DEBUG "\tjhead %d\t LEB %d\n",
-+ c->jheads[i].wbuf.jhead, c->jheads[i].wbuf.lnum);
-+ for (rb = rb_first(&c->buds); rb; rb = rb_next(rb)) {
-+ bud = rb_entry(rb, struct ubifs_bud, rb);
-+ printk(KERN_DEBUG "\tbud LEB %d\n", bud->lnum);
-+ }
-+ list_for_each_entry(bud, &c->old_buds, list)
-+ printk(KERN_DEBUG "\told bud LEB %d\n", bud->lnum);
-+ list_for_each_entry(idx_gc, &c->idx_gc, list)
-+ printk(KERN_DEBUG "\tGC'ed idx LEB %d unmap %d\n",
-+ idx_gc->lnum, idx_gc->unmap);
-+ printk(KERN_DEBUG "\tcommit state %d\n", c->cmt_state);
-+
-+ /* Print budgeting predictions */
-+ available = ubifs_calc_available(c, c->min_idx_lebs);
-+ outstanding = c->budg_data_growth + c->budg_dd_growth;
-+ free = ubifs_get_free_space_nolock(c);
-+ printk(KERN_DEBUG "Budgeting predictions:\n");
-+ printk(KERN_DEBUG "\tavailable: %lld, outstanding %lld, free %lld\n",
-+ available, outstanding, free);
-+ spin_unlock(&dbg_lock);
-+}
-+
-+void dbg_dump_lprop(const struct ubifs_info *c, const struct ubifs_lprops *lp)
-+{
-+ printk(KERN_DEBUG "LEB %d lprops: free %d, dirty %d (used %d), "
-+ "flags %#x\n", lp->lnum, lp->free, lp->dirty,
-+ c->leb_size - lp->free - lp->dirty, lp->flags);
-+}
-+
-+void dbg_dump_lprops(struct ubifs_info *c)
-+{
-+ int lnum, err;
-+ struct ubifs_lprops lp;
-+ struct ubifs_lp_stats lst;
-+
-+ printk(KERN_DEBUG "(pid %d) start dumping LEB properties\n",
-+ current->pid);
-+ ubifs_get_lp_stats(c, &lst);
-+ dbg_dump_lstats(&lst);
-+
-+ for (lnum = c->main_first; lnum < c->leb_cnt; lnum++) {
-+ err = ubifs_read_one_lp(c, lnum, &lp);
-+ if (err)
-+ ubifs_err("cannot read lprops for LEB %d", lnum);
-+
-+ dbg_dump_lprop(c, &lp);
-+ }
-+ printk(KERN_DEBUG "(pid %d) finish dumping LEB properties\n",
-+ current->pid);
-+}
-+
-+void dbg_dump_lpt_info(struct ubifs_info *c)
-+{
-+ int i;
-+
-+ spin_lock(&dbg_lock);
-+ printk(KERN_DEBUG "(pid %d) dumping LPT information\n", current->pid);
-+ printk(KERN_DEBUG "\tlpt_sz: %lld\n", c->lpt_sz);
-+ printk(KERN_DEBUG "\tpnode_sz: %d\n", c->pnode_sz);
-+ printk(KERN_DEBUG "\tnnode_sz: %d\n", c->nnode_sz);
-+ printk(KERN_DEBUG "\tltab_sz: %d\n", c->ltab_sz);
-+ printk(KERN_DEBUG "\tlsave_sz: %d\n", c->lsave_sz);
-+ printk(KERN_DEBUG "\tbig_lpt: %d\n", c->big_lpt);
-+ printk(KERN_DEBUG "\tlpt_hght: %d\n", c->lpt_hght);
-+ printk(KERN_DEBUG "\tpnode_cnt: %d\n", c->pnode_cnt);
-+ printk(KERN_DEBUG "\tnnode_cnt: %d\n", c->nnode_cnt);
-+ printk(KERN_DEBUG "\tdirty_pn_cnt: %d\n", c->dirty_pn_cnt);
-+ printk(KERN_DEBUG "\tdirty_nn_cnt: %d\n", c->dirty_nn_cnt);
-+ printk(KERN_DEBUG "\tlsave_cnt: %d\n", c->lsave_cnt);
-+ printk(KERN_DEBUG "\tspace_bits: %d\n", c->space_bits);
-+ printk(KERN_DEBUG "\tlpt_lnum_bits: %d\n", c->lpt_lnum_bits);
-+ printk(KERN_DEBUG "\tlpt_offs_bits: %d\n", c->lpt_offs_bits);
-+ printk(KERN_DEBUG "\tlpt_spc_bits: %d\n", c->lpt_spc_bits);
-+ printk(KERN_DEBUG "\tpcnt_bits: %d\n", c->pcnt_bits);
-+ printk(KERN_DEBUG "\tlnum_bits: %d\n", c->lnum_bits);
-+ printk(KERN_DEBUG "\tLPT root is at %d:%d\n", c->lpt_lnum, c->lpt_offs);
-+ printk(KERN_DEBUG "\tLPT head is at %d:%d\n",
-+ c->nhead_lnum, c->nhead_offs);
-+ printk(KERN_DEBUG "\tLPT ltab is at %d:%d\n",
-+ c->ltab_lnum, c->ltab_offs);
-+ if (c->big_lpt)
-+ printk(KERN_DEBUG "\tLPT lsave is at %d:%d\n",
-+ c->lsave_lnum, c->lsave_offs);
-+ for (i = 0; i < c->lpt_lebs; i++)
-+ printk(KERN_DEBUG "\tLPT LEB %d free %d dirty %d tgc %d "
-+ "cmt %d\n", i + c->lpt_first, c->ltab[i].free,
-+ c->ltab[i].dirty, c->ltab[i].tgc, c->ltab[i].cmt);
-+ spin_unlock(&dbg_lock);
-+}
-+
-+void dbg_dump_leb(const struct ubifs_info *c, int lnum)
-+{
-+ struct ubifs_scan_leb *sleb;
-+ struct ubifs_scan_node *snod;
-+
-+ if (dbg_failure_mode)
-+ return;
-+
-+ printk(KERN_DEBUG "(pid %d) start dumping LEB %d\n",
-+ current->pid, lnum);
-+ sleb = ubifs_scan(c, lnum, 0, c->dbg->buf);
-+ if (IS_ERR(sleb)) {
-+ ubifs_err("scan error %d", (int)PTR_ERR(sleb));
-+ return;
-+ }
-+
-+ printk(KERN_DEBUG "LEB %d has %d nodes ending at %d\n", lnum,
-+ sleb->nodes_cnt, sleb->endpt);
-+
-+ list_for_each_entry(snod, &sleb->nodes, list) {
-+ cond_resched();
-+ printk(KERN_DEBUG "Dumping node at LEB %d:%d len %d\n", lnum,
-+ snod->offs, snod->len);
-+ dbg_dump_node(c, snod->node);
-+ }
-+
-+ printk(KERN_DEBUG "(pid %d) finish dumping LEB %d\n",
-+ current->pid, lnum);
-+ ubifs_scan_destroy(sleb);
-+ return;
-+}
-+
-+void dbg_dump_znode(const struct ubifs_info *c,
-+ const struct ubifs_znode *znode)
-+{
-+ int n;
-+ const struct ubifs_zbranch *zbr;
-+
-+ spin_lock(&dbg_lock);
-+ if (znode->parent)
-+ zbr = &znode->parent->zbranch[znode->iip];
-+ else
-+ zbr = &c->zroot;
-+
-+ printk(KERN_DEBUG "znode %p, LEB %d:%d len %d parent %p iip %d level %d"
-+ " child_cnt %d flags %lx\n", znode, zbr->lnum, zbr->offs,
-+ zbr->len, znode->parent, znode->iip, znode->level,
-+ znode->child_cnt, znode->flags);
-+
-+ if (znode->child_cnt <= 0 || znode->child_cnt > c->fanout) {
-+ spin_unlock(&dbg_lock);
-+ return;
-+ }
-+
-+ printk(KERN_DEBUG "zbranches:\n");
-+ for (n = 0; n < znode->child_cnt; n++) {
-+ zbr = &znode->zbranch[n];
-+ if (znode->level > 0)
-+ printk(KERN_DEBUG "\t%d: znode %p LEB %d:%d len %d key "
-+ "%s\n", n, zbr->znode, zbr->lnum,
-+ zbr->offs, zbr->len,
-+ DBGKEY(&zbr->key));
-+ else
-+ printk(KERN_DEBUG "\t%d: LNC %p LEB %d:%d len %d key "
-+ "%s\n", n, zbr->znode, zbr->lnum,
-+ zbr->offs, zbr->len,
-+ DBGKEY(&zbr->key));
-+ }
-+ spin_unlock(&dbg_lock);
-+}
-+
-+void dbg_dump_heap(struct ubifs_info *c, struct ubifs_lpt_heap *heap, int cat)
-+{
-+ int i;
-+
-+ printk(KERN_DEBUG "(pid %d) start dumping heap cat %d (%d elements)\n",
-+ current->pid, cat, heap->cnt);
-+ for (i = 0; i < heap->cnt; i++) {
-+ struct ubifs_lprops *lprops = heap->arr[i];
-+
-+ printk(KERN_DEBUG "\t%d. LEB %d hpos %d free %d dirty %d "
-+ "flags %d\n", i, lprops->lnum, lprops->hpos,
-+ lprops->free, lprops->dirty, lprops->flags);
-+ }
-+ printk(KERN_DEBUG "(pid %d) finish dumping heap\n", current->pid);
-+}
-+
-+void dbg_dump_pnode(struct ubifs_info *c, struct ubifs_pnode *pnode,
-+ struct ubifs_nnode *parent, int iip)
-+{
-+ int i;
-+
-+ printk(KERN_DEBUG "(pid %d) dumping pnode:\n", current->pid);
-+ printk(KERN_DEBUG "\taddress %zx parent %zx cnext %zx\n",
-+ (size_t)pnode, (size_t)parent, (size_t)pnode->cnext);
-+ printk(KERN_DEBUG "\tflags %lu iip %d level %d num %d\n",
-+ pnode->flags, iip, pnode->level, pnode->num);
-+ for (i = 0; i < UBIFS_LPT_FANOUT; i++) {
-+ struct ubifs_lprops *lp = &pnode->lprops[i];
-+
-+ printk(KERN_DEBUG "\t%d: free %d dirty %d flags %d lnum %d\n",
-+ i, lp->free, lp->dirty, lp->flags, lp->lnum);
-+ }
-+}
-+
-+void dbg_dump_tnc(struct ubifs_info *c)
-+{
-+ struct ubifs_znode *znode;
-+ int level;
-+
-+ printk(KERN_DEBUG "\n");
-+ printk(KERN_DEBUG "(pid %d) start dumping TNC tree\n", current->pid);
-+ znode = ubifs_tnc_levelorder_next(c->zroot.znode, NULL);
-+ level = znode->level;
-+ printk(KERN_DEBUG "== Level %d ==\n", level);
-+ while (znode) {
-+ if (level != znode->level) {
-+ level = znode->level;
-+ printk(KERN_DEBUG "== Level %d ==\n", level);
-+ }
-+ dbg_dump_znode(c, znode);
-+ znode = ubifs_tnc_levelorder_next(c->zroot.znode, znode);
-+ }
-+ printk(KERN_DEBUG "(pid %d) finish dumping TNC tree\n", current->pid);
-+}
-+
-+static int dump_znode(struct ubifs_info *c, struct ubifs_znode *znode,
-+ void *priv)
-+{
-+ dbg_dump_znode(c, znode);
-+ return 0;
-+}
-+
-+/**
-+ * dbg_dump_index - dump the on-flash index.
-+ * @c: UBIFS file-system description object
-+ *
-+ * This function dumps whole UBIFS indexing B-tree, unlike 'dbg_dump_tnc()'
-+ * which dumps only in-memory znodes and does not read znodes which from flash.
-+ */
-+void dbg_dump_index(struct ubifs_info *c)
-+{
-+ dbg_walk_index(c, NULL, dump_znode, NULL);
-+}
-+
-+/**
-+ * dbg_save_space_info - save information about flash space.
-+ * @c: UBIFS file-system description object
-+ *
-+ * This function saves information about UBIFS free space, dirty space, etc, in
-+ * order to check it later.
-+ */
-+void dbg_save_space_info(struct ubifs_info *c)
-+{
-+ struct ubifs_debug_info *d = c->dbg;
-+
-+ ubifs_get_lp_stats(c, &d->saved_lst);
-+
-+ spin_lock(&c->space_lock);
-+ d->saved_free = ubifs_get_free_space_nolock(c);
-+ spin_unlock(&c->space_lock);
-+}
-+
-+/**
-+ * dbg_check_space_info - check flash space information.
-+ * @c: UBIFS file-system description object
-+ *
-+ * This function compares current flash space information with the information
-+ * which was saved when the 'dbg_save_space_info()' function was called.
-+ * Returns zero if the information has not changed, and %-EINVAL it it has
-+ * changed.
-+ */
-+int dbg_check_space_info(struct ubifs_info *c)
-+{
-+ struct ubifs_debug_info *d = c->dbg;
-+ struct ubifs_lp_stats lst;
-+ long long avail, free;
-+
-+ spin_lock(&c->space_lock);
-+ avail = ubifs_calc_available(c, c->min_idx_lebs);
-+ spin_unlock(&c->space_lock);
-+ free = ubifs_get_free_space(c);
-+
-+ if (free != d->saved_free) {
-+ ubifs_err("free space changed from %lld to %lld",
-+ d->saved_free, free);
-+ goto out;
-+ }
-+
-+ return 0;
-+
-+out:
-+ ubifs_msg("saved lprops statistics dump");
-+ dbg_dump_lstats(&d->saved_lst);
-+ ubifs_get_lp_stats(c, &lst);
-+ ubifs_msg("current lprops statistics dump");
-+ dbg_dump_lstats(&d->saved_lst);
-+ spin_lock(&c->space_lock);
-+ dbg_dump_budg(c);
-+ spin_unlock(&c->space_lock);
-+ dump_stack();
-+ return -EINVAL;
-+}
-+
-+/**
-+ * dbg_check_synced_i_size - check synchronized inode size.
-+ * @inode: inode to check
-+ *
-+ * If inode is clean, synchronized inode size has to be equivalent to current
-+ * inode size. This function has to be called only for locked inodes (@i_mutex
-+ * has to be locked). Returns %0 if synchronized inode size if correct, and
-+ * %-EINVAL if not.
-+ */
-+int dbg_check_synced_i_size(struct inode *inode)
-+{
-+ int err = 0;
-+ struct ubifs_inode *ui = ubifs_inode(inode);
-+
-+ if (!(ubifs_chk_flags & UBIFS_CHK_GEN))
-+ return 0;
-+ if (!S_ISREG(inode->i_mode))
-+ return 0;
-+
-+ mutex_lock(&ui->ui_mutex);
-+ spin_lock(&ui->ui_lock);
-+ if (ui->ui_size != ui->synced_i_size && !ui->dirty) {
-+ ubifs_err("ui_size is %lld, synced_i_size is %lld, but inode "
-+ "is clean", ui->ui_size, ui->synced_i_size);
-+ ubifs_err("i_ino %lu, i_mode %#x, i_size %lld", inode->i_ino,
-+ inode->i_mode, i_size_read(inode));
-+ dbg_dump_stack();
-+ err = -EINVAL;
-+ }
-+ spin_unlock(&ui->ui_lock);
-+ mutex_unlock(&ui->ui_mutex);
-+ return err;
-+}
-+
-+/*
-+ * dbg_check_dir - check directory inode size and link count.
-+ * @c: UBIFS file-system description object
-+ * @dir: the directory to calculate size for
-+ * @size: the result is returned here
-+ *
-+ * This function makes sure that directory size and link count are correct.
-+ * Returns zero in case of success and a negative error code in case of
-+ * failure.
-+ *
-+ * Note, it is good idea to make sure the @dir->i_mutex is locked before
-+ * calling this function.
-+ */
-+int dbg_check_dir_size(struct ubifs_info *c, const struct inode *dir)
-+{
-+ unsigned int nlink = 2;
-+ union ubifs_key key;
-+ struct ubifs_dent_node *dent, *pdent = NULL;
-+ struct qstr nm = { .name = NULL };
-+ loff_t size = UBIFS_INO_NODE_SZ;
-+
-+ if (!(ubifs_chk_flags & UBIFS_CHK_GEN))
-+ return 0;
-+
-+ if (!S_ISDIR(dir->i_mode))
-+ return 0;
-+
-+ lowest_dent_key(c, &key, dir->i_ino);
-+ while (1) {
-+ int err;
-+
-+ dent = ubifs_tnc_next_ent(c, &key, &nm);
-+ if (IS_ERR(dent)) {
-+ err = PTR_ERR(dent);
-+ if (err == -ENOENT)
-+ break;
-+ return err;
-+ }
-+
-+ nm.name = dent->name;
-+ nm.len = le16_to_cpu(dent->nlen);
-+ size += CALC_DENT_SIZE(nm.len);
-+ if (dent->type == UBIFS_ITYPE_DIR)
-+ nlink += 1;
-+ kfree(pdent);
-+ pdent = dent;
-+ key_read(c, &dent->key, &key);
-+ }
-+ kfree(pdent);
-+
-+ if (i_size_read(dir) != size) {
-+ ubifs_err("directory inode %lu has size %llu, "
-+ "but calculated size is %llu", dir->i_ino,
-+ (unsigned long long)i_size_read(dir),
-+ (unsigned long long)size);
-+ dump_stack();
-+ return -EINVAL;
-+ }
-+ if (dir->i_nlink != nlink) {
-+ ubifs_err("directory inode %lu has nlink %u, but calculated "
-+ "nlink is %u", dir->i_ino, dir->i_nlink, nlink);
-+ dump_stack();
-+ return -EINVAL;
-+ }
-+
-+ return 0;
-+}
-+
-+/**
-+ * dbg_check_key_order - make sure that colliding keys are properly ordered.
-+ * @c: UBIFS file-system description object
-+ * @zbr1: first zbranch
-+ * @zbr2: following zbranch
-+ *
-+ * In UBIFS indexing B-tree colliding keys has to be sorted in binary order of
-+ * names of the direntries/xentries which are referred by the keys. This
-+ * function reads direntries/xentries referred by @zbr1 and @zbr2 and makes
-+ * sure the name of direntry/xentry referred by @zbr1 is less than
-+ * direntry/xentry referred by @zbr2. Returns zero if this is true, %1 if not,
-+ * and a negative error code in case of failure.
-+ */
-+static int dbg_check_key_order(struct ubifs_info *c, struct ubifs_zbranch *zbr1,
-+ struct ubifs_zbranch *zbr2)
-+{
-+ int err, nlen1, nlen2, cmp;
-+ struct ubifs_dent_node *dent1, *dent2;
-+ union ubifs_key key;
-+
-+ ubifs_assert(!keys_cmp(c, &zbr1->key, &zbr2->key));
-+ dent1 = kmalloc(UBIFS_MAX_DENT_NODE_SZ, GFP_NOFS);
-+ if (!dent1)
-+ return -ENOMEM;
-+ dent2 = kmalloc(UBIFS_MAX_DENT_NODE_SZ, GFP_NOFS);
-+ if (!dent2) {
-+ err = -ENOMEM;
-+ goto out_free;
-+ }
-+
-+ err = ubifs_tnc_read_node(c, zbr1, dent1);
-+ if (err)
-+ goto out_free;
-+ err = ubifs_validate_entry(c, dent1);
-+ if (err)
-+ goto out_free;
-+
-+ err = ubifs_tnc_read_node(c, zbr2, dent2);
-+ if (err)
-+ goto out_free;
-+ err = ubifs_validate_entry(c, dent2);
-+ if (err)
-+ goto out_free;
-+
-+ /* Make sure node keys are the same as in zbranch */
-+ err = 1;
-+ key_read(c, &dent1->key, &key);
-+ if (keys_cmp(c, &zbr1->key, &key)) {
-+ dbg_err("1st entry at %d:%d has key %s", zbr1->lnum,
-+ zbr1->offs, DBGKEY(&key));
-+ dbg_err("but it should have key %s according to tnc",
-+ DBGKEY(&zbr1->key));
-+ dbg_dump_node(c, dent1);
-+ goto out_free;
-+ }
-+
-+ key_read(c, &dent2->key, &key);
-+ if (keys_cmp(c, &zbr2->key, &key)) {
-+ dbg_err("2nd entry at %d:%d has key %s", zbr1->lnum,
-+ zbr1->offs, DBGKEY(&key));
-+ dbg_err("but it should have key %s according to tnc",
-+ DBGKEY(&zbr2->key));
-+ dbg_dump_node(c, dent2);
-+ goto out_free;
-+ }
-+
-+ nlen1 = le16_to_cpu(dent1->nlen);
-+ nlen2 = le16_to_cpu(dent2->nlen);
-+
-+ cmp = memcmp(dent1->name, dent2->name, min_t(int, nlen1, nlen2));
-+ if (cmp < 0 || (cmp == 0 && nlen1 < nlen2)) {
-+ err = 0;
-+ goto out_free;
-+ }
-+ if (cmp == 0 && nlen1 == nlen2)
-+ dbg_err("2 xent/dent nodes with the same name");
-+ else
-+ dbg_err("bad order of colliding key %s",
-+ DBGKEY(&key));
-+
-+ ubifs_msg("first node at %d:%d\n", zbr1->lnum, zbr1->offs);
-+ dbg_dump_node(c, dent1);
-+ ubifs_msg("second node at %d:%d\n", zbr2->lnum, zbr2->offs);
-+ dbg_dump_node(c, dent2);
-+
-+out_free:
-+ kfree(dent2);
-+ kfree(dent1);
-+ return err;
-+}
-+
-+/**
-+ * dbg_check_znode - check if znode is all right.
-+ * @c: UBIFS file-system description object
-+ * @zbr: zbranch which points to this znode
-+ *
-+ * This function makes sure that znode referred to by @zbr is all right.
-+ * Returns zero if it is, and %-EINVAL if it is not.
-+ */
-+static int dbg_check_znode(struct ubifs_info *c, struct ubifs_zbranch *zbr)
-+{
-+ struct ubifs_znode *znode = zbr->znode;
-+ struct ubifs_znode *zp = znode->parent;
-+ int n, err, cmp;
-+
-+ if (znode->child_cnt <= 0 || znode->child_cnt > c->fanout) {
-+ err = 1;
-+ goto out;
-+ }
-+ if (znode->level < 0) {
-+ err = 2;
-+ goto out;
-+ }
-+ if (znode->iip < 0 || znode->iip >= c->fanout) {
-+ err = 3;
-+ goto out;
-+ }
-+
-+ if (zbr->len == 0)
-+ /* Only dirty zbranch may have no on-flash nodes */
-+ if (!ubifs_zn_dirty(znode)) {
-+ err = 4;
-+ goto out;
-+ }
-+
-+ if (ubifs_zn_dirty(znode)) {
-+ /*
-+ * If znode is dirty, its parent has to be dirty as well. The
-+ * order of the operation is important, so we have to have
-+ * memory barriers.
-+ */
-+ smp_mb();
-+ if (zp && !ubifs_zn_dirty(zp)) {
-+ /*
-+ * The dirty flag is atomic and is cleared outside the
-+ * TNC mutex, so znode's dirty flag may now have
-+ * been cleared. The child is always cleared before the
-+ * parent, so we just need to check again.
-+ */
-+ smp_mb();
-+ if (ubifs_zn_dirty(znode)) {
-+ err = 5;
-+ goto out;
-+ }
-+ }
-+ }
-+
-+ if (zp) {
-+ const union ubifs_key *min, *max;
-+
-+ if (znode->level != zp->level - 1) {
-+ err = 6;
-+ goto out;
-+ }
-+
-+ /* Make sure the 'parent' pointer in our znode is correct */
-+ err = ubifs_search_zbranch(c, zp, &zbr->key, &n);
-+ if (!err) {
-+ /* This zbranch does not exist in the parent */
-+ err = 7;
-+ goto out;
-+ }
-+
-+ if (znode->iip >= zp->child_cnt) {
-+ err = 8;
-+ goto out;
-+ }
-+
-+ if (znode->iip != n) {
-+ /* This may happen only in case of collisions */
-+ if (keys_cmp(c, &zp->zbranch[n].key,
-+ &zp->zbranch[znode->iip].key)) {
-+ err = 9;
-+ goto out;
-+ }
-+ n = znode->iip;
-+ }
-+
-+ /*
-+ * Make sure that the first key in our znode is greater than or
-+ * equal to the key in the pointing zbranch.
-+ */
-+ min = &zbr->key;
-+ cmp = keys_cmp(c, min, &znode->zbranch[0].key);
-+ if (cmp == 1) {
-+ err = 10;
-+ goto out;
-+ }
-+
-+ if (n + 1 < zp->child_cnt) {
-+ max = &zp->zbranch[n + 1].key;
-+
-+ /*
-+ * Make sure the last key in our znode is less or
-+ * equivalent than the the key in zbranch which goes
-+ * after our pointing zbranch.
-+ */
-+ cmp = keys_cmp(c, max,
-+ &znode->zbranch[znode->child_cnt - 1].key);
-+ if (cmp == -1) {
-+ err = 11;
-+ goto out;
-+ }
-+ }
-+ } else {
-+ /* This may only be root znode */
-+ if (zbr != &c->zroot) {
-+ err = 12;
-+ goto out;
-+ }
-+ }
-+
-+ /*
-+ * Make sure that next key is greater or equivalent then the previous
-+ * one.
-+ */
-+ for (n = 1; n < znode->child_cnt; n++) {
-+ cmp = keys_cmp(c, &znode->zbranch[n - 1].key,
-+ &znode->zbranch[n].key);
-+ if (cmp > 0) {
-+ err = 13;
-+ goto out;
-+ }
-+ if (cmp == 0) {
-+ /* This can only be keys with colliding hash */
-+ if (!is_hash_key(c, &znode->zbranch[n].key)) {
-+ err = 14;
-+ goto out;
-+ }
-+
-+ if (znode->level != 0 || c->replaying)
-+ continue;
-+
-+ /*
-+ * Colliding keys should follow binary order of
-+ * corresponding xentry/dentry names.
-+ */
-+ err = dbg_check_key_order(c, &znode->zbranch[n - 1],
-+ &znode->zbranch[n]);
-+ if (err < 0)
-+ return err;
-+ if (err) {
-+ err = 15;
-+ goto out;
-+ }
-+ }
-+ }
-+
-+ for (n = 0; n < znode->child_cnt; n++) {
-+ if (!znode->zbranch[n].znode &&
-+ (znode->zbranch[n].lnum == 0 ||
-+ znode->zbranch[n].len == 0)) {
-+ err = 16;
-+ goto out;
-+ }
-+
-+ if (znode->zbranch[n].lnum != 0 &&
-+ znode->zbranch[n].len == 0) {
-+ err = 17;
-+ goto out;
-+ }
-+
-+ if (znode->zbranch[n].lnum == 0 &&
-+ znode->zbranch[n].len != 0) {
-+ err = 18;
-+ goto out;
-+ }
-+
-+ if (znode->zbranch[n].lnum == 0 &&
-+ znode->zbranch[n].offs != 0) {
-+ err = 19;
-+ goto out;
-+ }
-+
-+ if (znode->level != 0 && znode->zbranch[n].znode)
-+ if (znode->zbranch[n].znode->parent != znode) {
-+ err = 20;
-+ goto out;
-+ }
-+ }
-+
-+ return 0;
-+
-+out:
-+ ubifs_err("failed, error %d", err);
-+ ubifs_msg("dump of the znode");
-+ dbg_dump_znode(c, znode);
-+ if (zp) {
-+ ubifs_msg("dump of the parent znode");
-+ dbg_dump_znode(c, zp);
-+ }
-+ dump_stack();
-+ return -EINVAL;
-+}
-+
-+/**
-+ * dbg_check_tnc - check TNC tree.
-+ * @c: UBIFS file-system description object
-+ * @extra: do extra checks that are possible at start commit
-+ *
-+ * This function traverses whole TNC tree and checks every znode. Returns zero
-+ * if everything is all right and %-EINVAL if something is wrong with TNC.
-+ */
-+int dbg_check_tnc(struct ubifs_info *c, int extra)
-+{
-+ struct ubifs_znode *znode;
-+ long clean_cnt = 0, dirty_cnt = 0;
-+ int err, last;
-+
-+ if (!(ubifs_chk_flags & UBIFS_CHK_TNC))
-+ return 0;
-+
-+ ubifs_assert(mutex_is_locked(&c->tnc_mutex));
-+ if (!c->zroot.znode)
-+ return 0;
-+
-+ znode = ubifs_tnc_postorder_first(c->zroot.znode);
-+ while (1) {
-+ struct ubifs_znode *prev;
-+ struct ubifs_zbranch *zbr;
-+
-+ if (!znode->parent)
-+ zbr = &c->zroot;
-+ else
-+ zbr = &znode->parent->zbranch[znode->iip];
-+
-+ err = dbg_check_znode(c, zbr);
-+ if (err)
-+ return err;
-+
-+ if (extra) {
-+ if (ubifs_zn_dirty(znode))
-+ dirty_cnt += 1;
-+ else
-+ clean_cnt += 1;
-+ }
-+
-+ prev = znode;
-+ znode = ubifs_tnc_postorder_next(znode);
-+ if (!znode)
-+ break;
-+
-+ /*
-+ * If the last key of this znode is equivalent to the first key
-+ * of the next znode (collision), then check order of the keys.
-+ */
-+ last = prev->child_cnt - 1;
-+ if (prev->level == 0 && znode->level == 0 && !c->replaying &&
-+ !keys_cmp(c, &prev->zbranch[last].key,
-+ &znode->zbranch[0].key)) {
-+ err = dbg_check_key_order(c, &prev->zbranch[last],
-+ &znode->zbranch[0]);
-+ if (err < 0)
-+ return err;
-+ if (err) {
-+ ubifs_msg("first znode");
-+ dbg_dump_znode(c, prev);
-+ ubifs_msg("second znode");
-+ dbg_dump_znode(c, znode);
-+ return -EINVAL;
-+ }
-+ }
-+ }
-+
-+ if (extra) {
-+ if (clean_cnt != atomic_long_read(&c->clean_zn_cnt)) {
-+ ubifs_err("incorrect clean_zn_cnt %ld, calculated %ld",
-+ atomic_long_read(&c->clean_zn_cnt),
-+ clean_cnt);
-+ return -EINVAL;
-+ }
-+ if (dirty_cnt != atomic_long_read(&c->dirty_zn_cnt)) {
-+ ubifs_err("incorrect dirty_zn_cnt %ld, calculated %ld",
-+ atomic_long_read(&c->dirty_zn_cnt),
-+ dirty_cnt);
-+ return -EINVAL;
-+ }
-+ }
-+
-+ return 0;
-+}
-+
-+/**
-+ * dbg_walk_index - walk the on-flash index.
-+ * @c: UBIFS file-system description object
-+ * @leaf_cb: called for each leaf node
-+ * @znode_cb: called for each indexing node
-+ * @priv: private data which is passed to callbacks
-+ *
-+ * This function walks the UBIFS index and calls the @leaf_cb for each leaf
-+ * node and @znode_cb for each indexing node. Returns zero in case of success
-+ * and a negative error code in case of failure.
-+ *
-+ * It would be better if this function removed every znode it pulled to into
-+ * the TNC, so that the behavior more closely matched the non-debugging
-+ * behavior.
-+ */
-+int dbg_walk_index(struct ubifs_info *c, dbg_leaf_callback leaf_cb,
-+ dbg_znode_callback znode_cb, void *priv)
-+{
-+ int err;
-+ struct ubifs_zbranch *zbr;
-+ struct ubifs_znode *znode, *child;
-+
-+ mutex_lock(&c->tnc_mutex);
-+ /* If the root indexing node is not in TNC - pull it */
-+ if (!c->zroot.znode) {
-+ c->zroot.znode = ubifs_load_znode(c, &c->zroot, NULL, 0);
-+ if (IS_ERR(c->zroot.znode)) {
-+ err = PTR_ERR(c->zroot.znode);
-+ c->zroot.znode = NULL;
-+ goto out_unlock;
-+ }
-+ }
-+
-+ /*
-+ * We are going to traverse the indexing tree in the postorder manner.
-+ * Go down and find the leftmost indexing node where we are going to
-+ * start from.
-+ */
-+ znode = c->zroot.znode;
-+ while (znode->level > 0) {
-+ zbr = &znode->zbranch[0];
-+ child = zbr->znode;
-+ if (!child) {
-+ child = ubifs_load_znode(c, zbr, znode, 0);
-+ if (IS_ERR(child)) {
-+ err = PTR_ERR(child);
-+ goto out_unlock;
-+ }
-+ zbr->znode = child;
-+ }
-+
-+ znode = child;
-+ }
-+
-+ /* Iterate over all indexing nodes */
-+ while (1) {
-+ int idx;
-+
-+ cond_resched();
-+
-+ if (znode_cb) {
-+ err = znode_cb(c, znode, priv);
-+ if (err) {
-+ ubifs_err("znode checking function returned "
-+ "error %d", err);
-+ dbg_dump_znode(c, znode);
-+ goto out_dump;
-+ }
-+ }
-+ if (leaf_cb && znode->level == 0) {
-+ for (idx = 0; idx < znode->child_cnt; idx++) {
-+ zbr = &znode->zbranch[idx];
-+ err = leaf_cb(c, zbr, priv);
-+ if (err) {
-+ ubifs_err("leaf checking function "
-+ "returned error %d, for leaf "
-+ "at LEB %d:%d",
-+ err, zbr->lnum, zbr->offs);
-+ goto out_dump;
-+ }
-+ }
-+ }
-+
-+ if (!znode->parent)
-+ break;
-+
-+ idx = znode->iip + 1;
-+ znode = znode->parent;
-+ if (idx < znode->child_cnt) {
-+ /* Switch to the next index in the parent */
-+ zbr = &znode->zbranch[idx];
-+ child = zbr->znode;
-+ if (!child) {
-+ child = ubifs_load_znode(c, zbr, znode, idx);
-+ if (IS_ERR(child)) {
-+ err = PTR_ERR(child);
-+ goto out_unlock;
-+ }
-+ zbr->znode = child;
-+ }
-+ znode = child;
-+ } else
-+ /*
-+ * This is the last child, switch to the parent and
-+ * continue.
-+ */
-+ continue;
-+
-+ /* Go to the lowest leftmost znode in the new sub-tree */
-+ while (znode->level > 0) {
-+ zbr = &znode->zbranch[0];
-+ child = zbr->znode;
-+ if (!child) {
-+ child = ubifs_load_znode(c, zbr, znode, 0);
-+ if (IS_ERR(child)) {
-+ err = PTR_ERR(child);
-+ goto out_unlock;
-+ }
-+ zbr->znode = child;
-+ }
-+ znode = child;
-+ }
-+ }
-+
-+ mutex_unlock(&c->tnc_mutex);
-+ return 0;
-+
-+out_dump:
-+ if (znode->parent)
-+ zbr = &znode->parent->zbranch[znode->iip];
-+ else
-+ zbr = &c->zroot;
-+ ubifs_msg("dump of znode at LEB %d:%d", zbr->lnum, zbr->offs);
-+ dbg_dump_znode(c, znode);
-+out_unlock:
-+ mutex_unlock(&c->tnc_mutex);
-+ return err;
-+}
-+
-+/**
-+ * add_size - add znode size to partially calculated index size.
-+ * @c: UBIFS file-system description object
-+ * @znode: znode to add size for
-+ * @priv: partially calculated index size
-+ *
-+ * This is a helper function for 'dbg_check_idx_size()' which is called for
-+ * every indexing node and adds its size to the 'long long' variable pointed to
-+ * by @priv.
-+ */
-+static int add_size(struct ubifs_info *c, struct ubifs_znode *znode, void *priv)
-+{
-+ long long *idx_size = priv;
-+ int add;
-+
-+ add = ubifs_idx_node_sz(c, znode->child_cnt);
-+ add = ALIGN(add, 8);
-+ *idx_size += add;
-+ return 0;
-+}
-+
-+/**
-+ * dbg_check_idx_size - check index size.
-+ * @c: UBIFS file-system description object
-+ * @idx_size: size to check
-+ *
-+ * This function walks the UBIFS index, calculates its size and checks that the
-+ * size is equivalent to @idx_size. Returns zero in case of success and a
-+ * negative error code in case of failure.
-+ */
-+int dbg_check_idx_size(struct ubifs_info *c, long long idx_size)
-+{
-+ int err;
-+ long long calc = 0;
-+
-+ if (!(ubifs_chk_flags & UBIFS_CHK_IDX_SZ))
-+ return 0;
-+
-+ err = dbg_walk_index(c, NULL, add_size, &calc);
-+ if (err) {
-+ ubifs_err("error %d while walking the index", err);
-+ return err;
-+ }
-+
-+ if (calc != idx_size) {
-+ ubifs_err("index size check failed: calculated size is %lld, "
-+ "should be %lld", calc, idx_size);
-+ dump_stack();
-+ return -EINVAL;
-+ }
-+
-+ return 0;
-+}
-+
-+/**
-+ * struct fsck_inode - information about an inode used when checking the file-system.
-+ * @rb: link in the RB-tree of inodes
-+ * @inum: inode number
-+ * @mode: inode type, permissions, etc
-+ * @nlink: inode link count
-+ * @xattr_cnt: count of extended attributes
-+ * @references: how many directory/xattr entries refer this inode (calculated
-+ * while walking the index)
-+ * @calc_cnt: for directory inode count of child directories
-+ * @size: inode size (read from on-flash inode)
-+ * @xattr_sz: summary size of all extended attributes (read from on-flash
-+ * inode)
-+ * @calc_sz: for directories calculated directory size
-+ * @calc_xcnt: count of extended attributes
-+ * @calc_xsz: calculated summary size of all extended attributes
-+ * @xattr_nms: sum of lengths of all extended attribute names belonging to this
-+ * inode (read from on-flash inode)
-+ * @calc_xnms: calculated sum of lengths of all extended attribute names
-+ */
-+struct fsck_inode {
-+ struct rb_node rb;
-+ ino_t inum;
-+ umode_t mode;
-+ unsigned int nlink;
-+ unsigned int xattr_cnt;
-+ int references;
-+ int calc_cnt;
-+ long long size;
-+ unsigned int xattr_sz;
-+ long long calc_sz;
-+ long long calc_xcnt;
-+ long long calc_xsz;
-+ unsigned int xattr_nms;
-+ long long calc_xnms;
-+};
-+
-+/**
-+ * struct fsck_data - private FS checking information.
-+ * @inodes: RB-tree of all inodes (contains @struct fsck_inode objects)
-+ */
-+struct fsck_data {
-+ struct rb_root inodes;
-+};
-+
-+/**
-+ * add_inode - add inode information to RB-tree of inodes.
-+ * @c: UBIFS file-system description object
-+ * @fsckd: FS checking information
-+ * @ino: raw UBIFS inode to add
-+ *
-+ * This is a helper function for 'check_leaf()' which adds information about
-+ * inode @ino to the RB-tree of inodes. Returns inode information pointer in
-+ * case of success and a negative error code in case of failure.
-+ */
-+static struct fsck_inode *add_inode(struct ubifs_info *c,
-+ struct fsck_data *fsckd,
-+ struct ubifs_ino_node *ino)
-+{
-+ struct rb_node **p, *parent = NULL;
-+ struct fsck_inode *fscki;
-+ ino_t inum = key_inum_flash(c, &ino->key);
-+
-+ p = &fsckd->inodes.rb_node;
-+ while (*p) {
-+ parent = *p;
-+ fscki = rb_entry(parent, struct fsck_inode, rb);
-+ if (inum < fscki->inum)
-+ p = &(*p)->rb_left;
-+ else if (inum > fscki->inum)
-+ p = &(*p)->rb_right;
-+ else
-+ return fscki;
-+ }
-+
-+ if (inum > c->highest_inum) {
-+ ubifs_err("too high inode number, max. is %lu",
-+ (unsigned long)c->highest_inum);
-+ return ERR_PTR(-EINVAL);
-+ }
-+
-+ fscki = kzalloc(sizeof(struct fsck_inode), GFP_NOFS);
-+ if (!fscki)
-+ return ERR_PTR(-ENOMEM);
-+
-+ fscki->inum = inum;
-+ fscki->nlink = le32_to_cpu(ino->nlink);
-+ fscki->size = le64_to_cpu(ino->size);
-+ fscki->xattr_cnt = le32_to_cpu(ino->xattr_cnt);
-+ fscki->xattr_sz = le32_to_cpu(ino->xattr_size);
-+ fscki->xattr_nms = le32_to_cpu(ino->xattr_names);
-+ fscki->mode = le32_to_cpu(ino->mode);
-+ if (S_ISDIR(fscki->mode)) {
-+ fscki->calc_sz = UBIFS_INO_NODE_SZ;
-+ fscki->calc_cnt = 2;
-+ }
-+ rb_link_node(&fscki->rb, parent, p);
-+ rb_insert_color(&fscki->rb, &fsckd->inodes);
-+ return fscki;
-+}
-+
-+/**
-+ * search_inode - search inode in the RB-tree of inodes.
-+ * @fsckd: FS checking information
-+ * @inum: inode number to search
-+ *
-+ * This is a helper function for 'check_leaf()' which searches inode @inum in
-+ * the RB-tree of inodes and returns an inode information pointer or %NULL if
-+ * the inode was not found.
-+ */
-+static struct fsck_inode *search_inode(struct fsck_data *fsckd, ino_t inum)
-+{
-+ struct rb_node *p;
-+ struct fsck_inode *fscki;
-+
-+ p = fsckd->inodes.rb_node;
-+ while (p) {
-+ fscki = rb_entry(p, struct fsck_inode, rb);
-+ if (inum < fscki->inum)
-+ p = p->rb_left;
-+ else if (inum > fscki->inum)
-+ p = p->rb_right;
-+ else
-+ return fscki;
-+ }
-+ return NULL;
-+}
-+
-+/**
-+ * read_add_inode - read inode node and add it to RB-tree of inodes.
-+ * @c: UBIFS file-system description object
-+ * @fsckd: FS checking information
-+ * @inum: inode number to read
-+ *
-+ * This is a helper function for 'check_leaf()' which finds inode node @inum in
-+ * the index, reads it, and adds it to the RB-tree of inodes. Returns inode
-+ * information pointer in case of success and a negative error code in case of
-+ * failure.
-+ */
-+static struct fsck_inode *read_add_inode(struct ubifs_info *c,
-+ struct fsck_data *fsckd, ino_t inum)
-+{
-+ int n, err;
-+ union ubifs_key key;
-+ struct ubifs_znode *znode;
-+ struct ubifs_zbranch *zbr;
-+ struct ubifs_ino_node *ino;
-+ struct fsck_inode *fscki;
-+
-+ fscki = search_inode(fsckd, inum);
-+ if (fscki)
-+ return fscki;
-+
-+ ino_key_init(c, &key, inum);
-+ err = ubifs_lookup_level0(c, &key, &znode, &n);
-+ if (!err) {
-+ ubifs_err("inode %lu not found in index", (unsigned long)inum);
-+ return ERR_PTR(-ENOENT);
-+ } else if (err < 0) {
-+ ubifs_err("error %d while looking up inode %lu",
-+ err, (unsigned long)inum);
-+ return ERR_PTR(err);
-+ }
-+
-+ zbr = &znode->zbranch[n];
-+ if (zbr->len < UBIFS_INO_NODE_SZ) {
-+ ubifs_err("bad node %lu node length %d",
-+ (unsigned long)inum, zbr->len);
-+ return ERR_PTR(-EINVAL);
-+ }
-+
-+ ino = kmalloc(zbr->len, GFP_NOFS);
-+ if (!ino)
-+ return ERR_PTR(-ENOMEM);
-+
-+ err = ubifs_tnc_read_node(c, zbr, ino);
-+ if (err) {
-+ ubifs_err("cannot read inode node at LEB %d:%d, error %d",
-+ zbr->lnum, zbr->offs, err);
-+ kfree(ino);
-+ return ERR_PTR(err);
-+ }
-+
-+ fscki = add_inode(c, fsckd, ino);
-+ kfree(ino);
-+ if (IS_ERR(fscki)) {
-+ ubifs_err("error %ld while adding inode %lu node",
-+ PTR_ERR(fscki), (unsigned long)inum);
-+ return fscki;
-+ }
-+
-+ return fscki;
-+}
-+
-+/**
-+ * check_leaf - check leaf node.
-+ * @c: UBIFS file-system description object
-+ * @zbr: zbranch of the leaf node to check
-+ * @priv: FS checking information
-+ *
-+ * This is a helper function for 'dbg_check_filesystem()' which is called for
-+ * every single leaf node while walking the indexing tree. It checks that the
-+ * leaf node referred from the indexing tree exists, has correct CRC, and does
-+ * some other basic validation. This function is also responsible for building
-+ * an RB-tree of inodes - it adds all inodes into the RB-tree. It also
-+ * calculates reference count, size, etc for each inode in order to later
-+ * compare them to the information stored inside the inodes and detect possible
-+ * inconsistencies. Returns zero in case of success and a negative error code
-+ * in case of failure.
-+ */
-+static int check_leaf(struct ubifs_info *c, struct ubifs_zbranch *zbr,
-+ void *priv)
-+{
-+ ino_t inum;
-+ void *node;
-+ int err, type = key_type(c, &zbr->key);
-+ struct fsck_inode *fscki;
-+
-+ if (zbr->len < UBIFS_CH_SZ) {
-+ ubifs_err("bad leaf length %d (LEB %d:%d)",
-+ zbr->len, zbr->lnum, zbr->offs);
-+ return -EINVAL;
-+ }
-+
-+ node = kmalloc(zbr->len, GFP_NOFS);
-+ if (!node)
-+ return -ENOMEM;
-+
-+ err = ubifs_tnc_read_node(c, zbr, node);
-+ if (err) {
-+ ubifs_err("cannot read leaf node at LEB %d:%d, error %d",
-+ zbr->lnum, zbr->offs, err);
-+ goto out_free;
-+ }
-+
-+ /* If this is an inode node, add it to RB-tree of inodes */
-+ if (type == UBIFS_INO_KEY) {
-+ fscki = add_inode(c, priv, node);
-+ if (IS_ERR(fscki)) {
-+ err = PTR_ERR(fscki);
-+ ubifs_err("error %d while adding inode node", err);
-+ goto out_dump;
-+ }
-+ goto out;
-+ }
-+
-+ if (type != UBIFS_DENT_KEY && type != UBIFS_XENT_KEY &&
-+ type != UBIFS_DATA_KEY) {
-+ ubifs_err("unexpected node type %d at LEB %d:%d",
-+ type, zbr->lnum, zbr->offs);
-+ err = -EINVAL;
-+ goto out_free;
-+ }
-+
-+ if (type == UBIFS_DATA_KEY) {
-+ long long blk_offs;
-+ struct ubifs_data_node *dn = node;
-+
-+ /*
-+ * Search the inode node this data node belongs to and insert
-+ * it to the RB-tree of inodes.
-+ */
-+ inum = key_inum_flash(c, &dn->key);
-+ fscki = read_add_inode(c, priv, inum);
-+ if (IS_ERR(fscki)) {
-+ err = PTR_ERR(fscki);
-+ ubifs_err("error %d while processing data node and "
-+ "trying to find inode node %lu",
-+ err, (unsigned long)inum);
-+ goto out_dump;
-+ }
-+
-+ /* Make sure the data node is within inode size */
-+ blk_offs = key_block_flash(c, &dn->key);
-+ blk_offs <<= UBIFS_BLOCK_SHIFT;
-+ blk_offs += le32_to_cpu(dn->size);
-+ if (blk_offs > fscki->size) {
-+ ubifs_err("data node at LEB %d:%d is not within inode "
-+ "size %lld", zbr->lnum, zbr->offs,
-+ fscki->size);
-+ err = -EINVAL;
-+ goto out_dump;
-+ }
-+ } else {
-+ int nlen;
-+ struct ubifs_dent_node *dent = node;
-+ struct fsck_inode *fscki1;
-+
-+ err = ubifs_validate_entry(c, dent);
-+ if (err)
-+ goto out_dump;
-+
-+ /*
-+ * Search the inode node this entry refers to and the parent
-+ * inode node and insert them to the RB-tree of inodes.
-+ */
-+ inum = le64_to_cpu(dent->inum);
-+ fscki = read_add_inode(c, priv, inum);
-+ if (IS_ERR(fscki)) {
-+ err = PTR_ERR(fscki);
-+ ubifs_err("error %d while processing entry node and "
-+ "trying to find inode node %lu",
-+ err, (unsigned long)inum);
-+ goto out_dump;
-+ }
-+
-+ /* Count how many direntries or xentries refers this inode */
-+ fscki->references += 1;
-+
-+ inum = key_inum_flash(c, &dent->key);
-+ fscki1 = read_add_inode(c, priv, inum);
-+ if (IS_ERR(fscki1)) {
-+ err = PTR_ERR(fscki);
-+ ubifs_err("error %d while processing entry node and "
-+ "trying to find parent inode node %lu",
-+ err, (unsigned long)inum);
-+ goto out_dump;
-+ }
-+
-+ nlen = le16_to_cpu(dent->nlen);
-+ if (type == UBIFS_XENT_KEY) {
-+ fscki1->calc_xcnt += 1;
-+ fscki1->calc_xsz += CALC_DENT_SIZE(nlen);
-+ fscki1->calc_xsz += CALC_XATTR_BYTES(fscki->size);
-+ fscki1->calc_xnms += nlen;
-+ } else {
-+ fscki1->calc_sz += CALC_DENT_SIZE(nlen);
-+ if (dent->type == UBIFS_ITYPE_DIR)
-+ fscki1->calc_cnt += 1;
-+ }
-+ }
-+
-+out:
-+ kfree(node);
-+ return 0;
-+
-+out_dump:
-+ ubifs_msg("dump of node at LEB %d:%d", zbr->lnum, zbr->offs);
-+ dbg_dump_node(c, node);
-+out_free:
-+ kfree(node);
-+ return err;
-+}
-+
-+/**
-+ * free_inodes - free RB-tree of inodes.
-+ * @fsckd: FS checking information
-+ */
-+static void free_inodes(struct fsck_data *fsckd)
-+{
-+ struct rb_node *this = fsckd->inodes.rb_node;
-+ struct fsck_inode *fscki;
-+
-+ while (this) {
-+ if (this->rb_left)
-+ this = this->rb_left;
-+ else if (this->rb_right)
-+ this = this->rb_right;
-+ else {
-+ fscki = rb_entry(this, struct fsck_inode, rb);
-+ this = rb_parent(this);
-+ if (this) {
-+ if (this->rb_left == &fscki->rb)
-+ this->rb_left = NULL;
-+ else
-+ this->rb_right = NULL;
-+ }
-+ kfree(fscki);
-+ }
-+ }
-+}
-+
-+/**
-+ * check_inodes - checks all inodes.
-+ * @c: UBIFS file-system description object
-+ * @fsckd: FS checking information
-+ *
-+ * This is a helper function for 'dbg_check_filesystem()' which walks the
-+ * RB-tree of inodes after the index scan has been finished, and checks that
-+ * inode nlink, size, etc are correct. Returns zero if inodes are fine,
-+ * %-EINVAL if not, and a negative error code in case of failure.
-+ */
-+static int check_inodes(struct ubifs_info *c, struct fsck_data *fsckd)
-+{
-+ int n, err;
-+ union ubifs_key key;
-+ struct ubifs_znode *znode;
-+ struct ubifs_zbranch *zbr;
-+ struct ubifs_ino_node *ino;
-+ struct fsck_inode *fscki;
-+ struct rb_node *this = rb_first(&fsckd->inodes);
-+
-+ while (this) {
-+ fscki = rb_entry(this, struct fsck_inode, rb);
-+ this = rb_next(this);
-+
-+ if (S_ISDIR(fscki->mode)) {
-+ /*
-+ * Directories have to have exactly one reference (they
-+ * cannot have hardlinks), although root inode is an
-+ * exception.
-+ */
-+ if (fscki->inum != UBIFS_ROOT_INO &&
-+ fscki->references != 1) {
-+ ubifs_err("directory inode %lu has %d "
-+ "direntries which refer it, but "
-+ "should be 1",
-+ (unsigned long)fscki->inum,
-+ fscki->references);
-+ goto out_dump;
-+ }
-+ if (fscki->inum == UBIFS_ROOT_INO &&
-+ fscki->references != 0) {
-+ ubifs_err("root inode %lu has non-zero (%d) "
-+ "direntries which refer it",
-+ (unsigned long)fscki->inum,
-+ fscki->references);
-+ goto out_dump;
-+ }
-+ if (fscki->calc_sz != fscki->size) {
-+ ubifs_err("directory inode %lu size is %lld, "
-+ "but calculated size is %lld",
-+ (unsigned long)fscki->inum,
-+ fscki->size, fscki->calc_sz);
-+ goto out_dump;
-+ }
-+ if (fscki->calc_cnt != fscki->nlink) {
-+ ubifs_err("directory inode %lu nlink is %d, "
-+ "but calculated nlink is %d",
-+ (unsigned long)fscki->inum,
-+ fscki->nlink, fscki->calc_cnt);
-+ goto out_dump;
-+ }
-+ } else {
-+ if (fscki->references != fscki->nlink) {
-+ ubifs_err("inode %lu nlink is %d, but "
-+ "calculated nlink is %d",
-+ (unsigned long)fscki->inum,
-+ fscki->nlink, fscki->references);
-+ goto out_dump;
-+ }
-+ }
-+ if (fscki->xattr_sz != fscki->calc_xsz) {
-+ ubifs_err("inode %lu has xattr size %u, but "
-+ "calculated size is %lld",
-+ (unsigned long)fscki->inum, fscki->xattr_sz,
-+ fscki->calc_xsz);
-+ goto out_dump;
-+ }
-+ if (fscki->xattr_cnt != fscki->calc_xcnt) {
-+ ubifs_err("inode %lu has %u xattrs, but "
-+ "calculated count is %lld",
-+ (unsigned long)fscki->inum,
-+ fscki->xattr_cnt, fscki->calc_xcnt);
-+ goto out_dump;
-+ }
-+ if (fscki->xattr_nms != fscki->calc_xnms) {
-+ ubifs_err("inode %lu has xattr names' size %u, but "
-+ "calculated names' size is %lld",
-+ (unsigned long)fscki->inum, fscki->xattr_nms,
-+ fscki->calc_xnms);
-+ goto out_dump;
-+ }
-+ }
-+
-+ return 0;
-+
-+out_dump:
-+ /* Read the bad inode and dump it */
-+ ino_key_init(c, &key, fscki->inum);
-+ err = ubifs_lookup_level0(c, &key, &znode, &n);
-+ if (!err) {
-+ ubifs_err("inode %lu not found in index",
-+ (unsigned long)fscki->inum);
-+ return -ENOENT;
-+ } else if (err < 0) {
-+ ubifs_err("error %d while looking up inode %lu",
-+ err, (unsigned long)fscki->inum);
-+ return err;
-+ }
-+
-+ zbr = &znode->zbranch[n];
-+ ino = kmalloc(zbr->len, GFP_NOFS);
-+ if (!ino)
-+ return -ENOMEM;
-+
-+ err = ubifs_tnc_read_node(c, zbr, ino);
-+ if (err) {
-+ ubifs_err("cannot read inode node at LEB %d:%d, error %d",
-+ zbr->lnum, zbr->offs, err);
-+ kfree(ino);
-+ return err;
-+ }
-+
-+ ubifs_msg("dump of the inode %lu sitting in LEB %d:%d",
-+ (unsigned long)fscki->inum, zbr->lnum, zbr->offs);
-+ dbg_dump_node(c, ino);
-+ kfree(ino);
-+ return -EINVAL;
-+}
-+
-+/**
-+ * dbg_check_filesystem - check the file-system.
-+ * @c: UBIFS file-system description object
-+ *
-+ * This function checks the file system, namely:
-+ * o makes sure that all leaf nodes exist and their CRCs are correct;
-+ * o makes sure inode nlink, size, xattr size/count are correct (for all
-+ * inodes).
-+ *
-+ * The function reads whole indexing tree and all nodes, so it is pretty
-+ * heavy-weight. Returns zero if the file-system is consistent, %-EINVAL if
-+ * not, and a negative error code in case of failure.
-+ */
-+int dbg_check_filesystem(struct ubifs_info *c)
-+{
-+ int err;
-+ struct fsck_data fsckd;
-+
-+ if (!(ubifs_chk_flags & UBIFS_CHK_FS))
-+ return 0;
-+
-+ fsckd.inodes = RB_ROOT;
-+ err = dbg_walk_index(c, check_leaf, NULL, &fsckd);
-+ if (err)
-+ goto out_free;
-+
-+ err = check_inodes(c, &fsckd);
-+ if (err)
-+ goto out_free;
-+
-+ free_inodes(&fsckd);
-+ return 0;
-+
-+out_free:
-+ ubifs_err("file-system check failed with error %d", err);
-+ dump_stack();
-+ free_inodes(&fsckd);
-+ return err;
-+}
-+
-+static int invocation_cnt;
-+
-+int dbg_force_in_the_gaps(void)
-+{
-+ if (!dbg_force_in_the_gaps_enabled)
-+ return 0;
-+ /* Force in-the-gaps every 8th commit */
-+ return !((invocation_cnt++) & 0x7);
-+}
-+
-+/* Failure mode for recovery testing */
-+
-+#define chance(n, d) (simple_rand() <= (n) * 32768LL / (d))
-+
-+struct failure_mode_info {
-+ struct list_head list;
-+ struct ubifs_info *c;
-+};
-+
-+static LIST_HEAD(fmi_list);
-+static DEFINE_SPINLOCK(fmi_lock);
-+
-+static unsigned int next;
-+
-+static int simple_rand(void)
-+{
-+ if (next == 0)
-+ next = current->pid;
-+ next = next * 1103515245 + 12345;
-+ return (next >> 16) & 32767;
-+}
-+
-+static void failure_mode_init(struct ubifs_info *c)
-+{
-+ struct failure_mode_info *fmi;
-+
-+ fmi = kmalloc(sizeof(struct failure_mode_info), GFP_NOFS);
-+ if (!fmi) {
-+ ubifs_err("Failed to register failure mode - no memory");
-+ return;
-+ }
-+ fmi->c = c;
-+ spin_lock(&fmi_lock);
-+ list_add_tail(&fmi->list, &fmi_list);
-+ spin_unlock(&fmi_lock);
-+}
-+
-+static void failure_mode_exit(struct ubifs_info *c)
-+{
-+ struct failure_mode_info *fmi, *tmp;
-+
-+ spin_lock(&fmi_lock);
-+ list_for_each_entry_safe(fmi, tmp, &fmi_list, list)
-+ if (fmi->c == c) {
-+ list_del(&fmi->list);
-+ kfree(fmi);
-+ }
-+ spin_unlock(&fmi_lock);
-+}
-+
-+static struct ubifs_info *dbg_find_info(struct ubi_volume_desc *desc)
-+{
-+ struct failure_mode_info *fmi;
-+
-+ spin_lock(&fmi_lock);
-+ list_for_each_entry(fmi, &fmi_list, list)
-+ if (fmi->c->ubi == desc) {
-+ struct ubifs_info *c = fmi->c;
-+
-+ spin_unlock(&fmi_lock);
-+ return c;
-+ }
-+ spin_unlock(&fmi_lock);
-+ return NULL;
-+}
-+
-+static int in_failure_mode(struct ubi_volume_desc *desc)
-+{
-+ struct ubifs_info *c = dbg_find_info(desc);
-+
-+ if (c && dbg_failure_mode)
-+ return c->dbg->failure_mode;
-+ return 0;
-+}
-+
-+static int do_fail(struct ubi_volume_desc *desc, int lnum, int write)
-+{
-+ struct ubifs_info *c = dbg_find_info(desc);
-+ struct ubifs_debug_info *d;
-+
-+ if (!c || !dbg_failure_mode)
-+ return 0;
-+ d = c->dbg;
-+ if (d->failure_mode)
-+ return 1;
-+ if (!d->fail_cnt) {
-+ /* First call - decide delay to failure */
-+ if (chance(1, 2)) {
-+ unsigned int delay = 1 << (simple_rand() >> 11);
-+
-+ if (chance(1, 2)) {
-+ d->fail_delay = 1;
-+ d->fail_timeout = jiffies +
-+ msecs_to_jiffies(delay);
-+ dbg_rcvry("failing after %ums", delay);
-+ } else {
-+ d->fail_delay = 2;
-+ d->fail_cnt_max = delay;
-+ dbg_rcvry("failing after %u calls", delay);
-+ }
-+ }
-+ d->fail_cnt += 1;
-+ }
-+ /* Determine if failure delay has expired */
-+ if (d->fail_delay == 1) {
-+ if (time_before(jiffies, d->fail_timeout))
-+ return 0;
-+ } else if (d->fail_delay == 2)
-+ if (d->fail_cnt++ < d->fail_cnt_max)
-+ return 0;
-+ if (lnum == UBIFS_SB_LNUM) {
-+ if (write) {
-+ if (chance(1, 2))
-+ return 0;
-+ } else if (chance(19, 20))
-+ return 0;
-+ dbg_rcvry("failing in super block LEB %d", lnum);
-+ } else if (lnum == UBIFS_MST_LNUM || lnum == UBIFS_MST_LNUM + 1) {
-+ if (chance(19, 20))
-+ return 0;
-+ dbg_rcvry("failing in master LEB %d", lnum);
-+ } else if (lnum >= UBIFS_LOG_LNUM && lnum <= c->log_last) {
-+ if (write) {
-+ if (chance(99, 100))
-+ return 0;
-+ } else if (chance(399, 400))
-+ return 0;
-+ dbg_rcvry("failing in log LEB %d", lnum);
-+ } else if (lnum >= c->lpt_first && lnum <= c->lpt_last) {
-+ if (write) {
-+ if (chance(7, 8))
-+ return 0;
-+ } else if (chance(19, 20))
-+ return 0;
-+ dbg_rcvry("failing in LPT LEB %d", lnum);
-+ } else if (lnum >= c->orph_first && lnum <= c->orph_last) {
-+ if (write) {
-+ if (chance(1, 2))
-+ return 0;
-+ } else if (chance(9, 10))
-+ return 0;
-+ dbg_rcvry("failing in orphan LEB %d", lnum);
-+ } else if (lnum == c->ihead_lnum) {
-+ if (chance(99, 100))
-+ return 0;
-+ dbg_rcvry("failing in index head LEB %d", lnum);
-+ } else if (c->jheads && lnum == c->jheads[GCHD].wbuf.lnum) {
-+ if (chance(9, 10))
-+ return 0;
-+ dbg_rcvry("failing in GC head LEB %d", lnum);
-+ } else if (write && !RB_EMPTY_ROOT(&c->buds) &&
-+ !ubifs_search_bud(c, lnum)) {
-+ if (chance(19, 20))
-+ return 0;
-+ dbg_rcvry("failing in non-bud LEB %d", lnum);
-+ } else if (c->cmt_state == COMMIT_RUNNING_BACKGROUND ||
-+ c->cmt_state == COMMIT_RUNNING_REQUIRED) {
-+ if (chance(999, 1000))
-+ return 0;
-+ dbg_rcvry("failing in bud LEB %d commit running", lnum);
-+ } else {
-+ if (chance(9999, 10000))
-+ return 0;
-+ dbg_rcvry("failing in bud LEB %d commit not running", lnum);
-+ }
-+ ubifs_err("*** SETTING FAILURE MODE ON (LEB %d) ***", lnum);
-+ d->failure_mode = 1;
-+ dump_stack();
-+ return 1;
-+}
-+
-+static void cut_data(const void *buf, int len)
-+{
-+ int flen, i;
-+ unsigned char *p = (void *)buf;
-+
-+ flen = (len * (long long)simple_rand()) >> 15;
-+ for (i = flen; i < len; i++)
-+ p[i] = 0xff;
-+}
-+
-+int dbg_leb_read(struct ubi_volume_desc *desc, int lnum, char *buf, int offset,
-+ int len, int check)
-+{
-+ if (in_failure_mode(desc))
-+ return -EIO;
-+ return ubi_leb_read(desc, lnum, buf, offset, len, check);
-+}
-+
-+int dbg_leb_write(struct ubi_volume_desc *desc, int lnum, const void *buf,
-+ int offset, int len, int dtype)
-+{
-+ int err, failing;
-+
-+ if (in_failure_mode(desc))
-+ return -EIO;
-+ failing = do_fail(desc, lnum, 1);
-+ if (failing)
-+ cut_data(buf, len);
-+ err = ubi_leb_write(desc, lnum, buf, offset, len, dtype);
-+ if (err)
-+ return err;
-+ if (failing)
-+ return -EIO;
-+ return 0;
-+}
-+
-+int dbg_leb_change(struct ubi_volume_desc *desc, int lnum, const void *buf,
-+ int len, int dtype)
-+{
-+ int err;
-+
-+ if (do_fail(desc, lnum, 1))
-+ return -EIO;
-+ err = ubi_leb_change(desc, lnum, buf, len, dtype);
-+ if (err)
-+ return err;
-+ if (do_fail(desc, lnum, 1))
-+ return -EIO;
-+ return 0;
-+}
-+
-+int dbg_leb_erase(struct ubi_volume_desc *desc, int lnum)
-+{
-+ int err;
-+
-+ if (do_fail(desc, lnum, 0))
-+ return -EIO;
-+ err = ubi_leb_erase(desc, lnum);
-+ if (err)
-+ return err;
-+ if (do_fail(desc, lnum, 0))
-+ return -EIO;
-+ return 0;
-+}
-+
-+int dbg_leb_unmap(struct ubi_volume_desc *desc, int lnum)
-+{
-+ int err;
-+
-+ if (do_fail(desc, lnum, 0))
-+ return -EIO;
-+ err = ubi_leb_unmap(desc, lnum);
-+ if (err)
-+ return err;
-+ if (do_fail(desc, lnum, 0))
-+ return -EIO;
-+ return 0;
-+}
-+
-+int dbg_is_mapped(struct ubi_volume_desc *desc, int lnum)
-+{
-+ if (in_failure_mode(desc))
-+ return -EIO;
-+ return ubi_is_mapped(desc, lnum);
-+}
-+
-+int dbg_leb_map(struct ubi_volume_desc *desc, int lnum, int dtype)
-+{
-+ int err;
-+
-+ if (do_fail(desc, lnum, 0))
-+ return -EIO;
-+ err = ubi_leb_map(desc, lnum, dtype);
-+ if (err)
-+ return err;
-+ if (do_fail(desc, lnum, 0))
-+ return -EIO;
-+ return 0;
-+}
-+
-+/**
-+ * ubifs_debugging_init - initialize UBIFS debugging.
-+ * @c: UBIFS file-system description object
-+ *
-+ * This function initializes debugging-related data for the file system.
-+ * Returns zero in case of success and a negative error code in case of
-+ * failure.
-+ */
-+int ubifs_debugging_init(struct ubifs_info *c)
-+{
-+ c->dbg = kzalloc(sizeof(struct ubifs_debug_info), GFP_KERNEL);
-+ if (!c->dbg)
-+ return -ENOMEM;
-+
-+ c->dbg->buf = vmalloc(c->leb_size);
-+ if (!c->dbg->buf)
-+ goto out;
-+
-+ failure_mode_init(c);
-+ return 0;
-+
-+out:
-+ kfree(c->dbg);
-+ return -ENOMEM;
-+}
-+
-+/**
-+ * ubifs_debugging_exit - free debugging data.
-+ * @c: UBIFS file-system description object
-+ */
-+void ubifs_debugging_exit(struct ubifs_info *c)
-+{
-+ failure_mode_exit(c);
-+ vfree(c->dbg->buf);
-+ kfree(c->dbg);
-+}
-+
-+/*
-+ * Root directory for UBIFS stuff in debugfs. Contains sub-directories which
-+ * contain the stuff specific to particular file-system mounts.
-+ */
-+static struct dentry *dfs_rootdir;
-+
-+/**
-+ * dbg_debugfs_init - initialize debugfs file-system.
-+ *
-+ * UBIFS uses debugfs file-system to expose various debugging knobs to
-+ * user-space. This function creates "ubifs" directory in the debugfs
-+ * file-system. Returns zero in case of success and a negative error code in
-+ * case of failure.
-+ */
-+int dbg_debugfs_init(void)
-+{
-+ dfs_rootdir = debugfs_create_dir("ubifs", NULL);
-+ if (IS_ERR(dfs_rootdir)) {
-+ int err = PTR_ERR(dfs_rootdir);
-+ ubifs_err("cannot create \"ubifs\" debugfs directory, "
-+ "error %d\n", err);
-+ return err;
-+ }
-+
-+ return 0;
-+}
-+
-+/**
-+ * dbg_debugfs_exit - remove the "ubifs" directory from debugfs file-system.
-+ */
-+void dbg_debugfs_exit(void)
-+{
-+ debugfs_remove(dfs_rootdir);
-+}
-+
-+static int open_debugfs_file(struct inode *inode, struct file *file)
-+{
-+ file->private_data = inode->i_private;
-+ return 0;
-+}
-+
-+static ssize_t write_debugfs_file(struct file *file, const char __user *buf,
-+ size_t count, loff_t *ppos)
-+{
-+ struct ubifs_info *c = file->private_data;
-+ struct ubifs_debug_info *d = c->dbg;
-+
-+ if (file->f_path.dentry == d->dfs_dump_lprops)
-+ dbg_dump_lprops(c);
-+ else if (file->f_path.dentry == d->dfs_dump_budg) {
-+ spin_lock(&c->space_lock);
-+ dbg_dump_budg(c);
-+ spin_unlock(&c->space_lock);
-+ } else if (file->f_path.dentry == d->dfs_dump_tnc) {
-+ mutex_lock(&c->tnc_mutex);
-+ dbg_dump_tnc(c);
-+ mutex_unlock(&c->tnc_mutex);
-+ } else
-+ return -EINVAL;
-+
-+ *ppos += count;
-+ return count;
-+}
-+
-+static const struct file_operations dfs_fops = {
-+ .open = open_debugfs_file,
-+ .write = write_debugfs_file,
-+ .owner = THIS_MODULE,
-+};
-+
-+/**
-+ * dbg_debugfs_init_fs - initialize debugfs for UBIFS instance.
-+ * @c: UBIFS file-system description object
-+ *
-+ * This function creates all debugfs files for this instance of UBIFS. Returns
-+ * zero in case of success and a negative error code in case of failure.
-+ *
-+ * Note, the only reason we have not merged this function with the
-+ * 'ubifs_debugging_init()' function is because it is better to initialize
-+ * debugfs interfaces at the very end of the mount process, and remove them at
-+ * the very beginning of the mount process.
-+ */
-+int dbg_debugfs_init_fs(struct ubifs_info *c)
-+{
-+ int err;
-+ const char *fname;
-+ struct dentry *dent;
-+ struct ubifs_debug_info *d = c->dbg;
-+
-+ sprintf(d->dfs_dir_name, "ubi%d_%d", c->vi.ubi_num, c->vi.vol_id);
-+ d->dfs_dir = debugfs_create_dir(d->dfs_dir_name, dfs_rootdir);
-+ if (IS_ERR(d->dfs_dir)) {
-+ err = PTR_ERR(d->dfs_dir);
-+ ubifs_err("cannot create \"%s\" debugfs directory, error %d\n",
-+ d->dfs_dir_name, err);
-+ goto out;
-+ }
-+
-+ fname = "dump_lprops";
-+ dent = debugfs_create_file(fname, S_IWUGO, d->dfs_dir, c, &dfs_fops);
-+ if (IS_ERR(dent))
-+ goto out_remove;
-+ d->dfs_dump_lprops = dent;
-+
-+ fname = "dump_budg";
-+ dent = debugfs_create_file(fname, S_IWUGO, d->dfs_dir, c, &dfs_fops);
-+ if (IS_ERR(dent))
-+ goto out_remove;
-+ d->dfs_dump_budg = dent;
-+
-+ fname = "dump_tnc";
-+ dent = debugfs_create_file(fname, S_IWUGO, d->dfs_dir, c, &dfs_fops);
-+ if (IS_ERR(dent))
-+ goto out_remove;
-+ d->dfs_dump_tnc = dent;
-+
-+ return 0;
-+
-+out_remove:
-+ err = PTR_ERR(dent);
-+ ubifs_err("cannot create \"%s\" debugfs directory, error %d\n",
-+ fname, err);
-+ if (d->dfs_dump_tnc)
-+ debugfs_remove(d->dfs_dump_tnc);
-+ if (d->dfs_dump_budg)
-+ debugfs_remove(d->dfs_dump_budg);
-+ if (d->dfs_dump_lprops)
-+ debugfs_remove(d->dfs_dump_lprops);
-+ debugfs_remove(d->dfs_dir);
-+out:
-+ return err;
-+}
-+
-+/**
-+ * dbg_debugfs_exit_fs - remove all debugfs files.
-+ * @c: UBIFS file-system description object
-+ */
-+void dbg_debugfs_exit_fs(struct ubifs_info *c)
-+{
-+ struct ubifs_debug_info *d = c->dbg;
-+
-+ debugfs_remove(d->dfs_dump_tnc);
-+ debugfs_remove(d->dfs_dump_budg);
-+ debugfs_remove(d->dfs_dump_lprops);
-+ debugfs_remove(d->dfs_dir);
-+}
-+
-+#endif /* CONFIG_UBIFS_FS_DEBUG */
-diff -Nurd linux-2.6.24.orig/fs/ubifs/debug.h linux-2.6.24/fs/ubifs/debug.h
---- linux-2.6.24.orig/fs/ubifs/debug.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.24/fs/ubifs/debug.h 2009-04-17 09:49:28.000000000 +0200
-@@ -0,0 +1,486 @@
-+/*
-+ * This file is part of UBIFS.
-+ *
-+ * Copyright (C) 2006-2008 Nokia Corporation.
-+ *
-+ * This program is free software; you can redistribute it and/or modify it
-+ * under the terms of the GNU General Public License version 2 as published by
-+ * the Free Software Foundation.
-+ *
-+ * 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, write to the Free Software Foundation, Inc., 51
-+ * Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
-+ *
-+ * Authors: Artem Bityutskiy (Битюцкий Ðртём)
-+ * Adrian Hunter
-+ */
-+
-+#ifndef __UBIFS_DEBUG_H__
-+#define __UBIFS_DEBUG_H__
-+
-+#ifdef CONFIG_UBIFS_FS_DEBUG
-+
-+/**
-+ * ubifs_debug_info - per-FS debugging information.
-+ * @buf: a buffer of LEB size, used for various purposes
-+ * @old_zroot: old index root - used by 'dbg_check_old_index()'
-+ * @old_zroot_level: old index root level - used by 'dbg_check_old_index()'
-+ * @old_zroot_sqnum: old index root sqnum - used by 'dbg_check_old_index()'
-+ * @failure_mode: failure mode for recovery testing
-+ * @fail_delay: 0=>don't delay, 1=>delay a time, 2=>delay a number of calls
-+ * @fail_timeout: time in jiffies when delay of failure mode expires
-+ * @fail_cnt: current number of calls to failure mode I/O functions
-+ * @fail_cnt_max: number of calls by which to delay failure mode
-+ * @chk_lpt_sz: used by LPT tree size checker
-+ * @chk_lpt_sz2: used by LPT tree size checker
-+ * @chk_lpt_wastage: used by LPT tree size checker
-+ * @chk_lpt_lebs: used by LPT tree size checker
-+ * @new_nhead_offs: used by LPT tree size checker
-+ * @new_ihead_lnum: used by debugging to check @c->ihead_lnum
-+ * @new_ihead_offs: used by debugging to check @c->ihead_offs
-+ *
-+ * @saved_lst: saved lprops statistics (used by 'dbg_save_space_info()')
-+ * @saved_free: saved free space (used by 'dbg_save_space_info()')
-+ *
-+ * dfs_dir_name: name of debugfs directory containing this file-system's files
-+ * dfs_dir: direntry object of the file-system debugfs directory
-+ * dfs_dump_lprops: "dump lprops" debugfs knob
-+ * dfs_dump_budg: "dump budgeting information" debugfs knob
-+ * dfs_dump_tnc: "dump TNC" debugfs knob
-+ */
-+struct ubifs_debug_info {
-+ void *buf;
-+ struct ubifs_zbranch old_zroot;
-+ int old_zroot_level;
-+ unsigned long long old_zroot_sqnum;
-+ int failure_mode;
-+ int fail_delay;
-+ unsigned long fail_timeout;
-+ unsigned int fail_cnt;
-+ unsigned int fail_cnt_max;
-+ long long chk_lpt_sz;
-+ long long chk_lpt_sz2;
-+ long long chk_lpt_wastage;
-+ int chk_lpt_lebs;
-+ int new_nhead_offs;
-+ int new_ihead_lnum;
-+ int new_ihead_offs;
-+
-+ struct ubifs_lp_stats saved_lst;
-+ long long saved_free;
-+
-+ char dfs_dir_name[100];
-+ struct dentry *dfs_dir;
-+ struct dentry *dfs_dump_lprops;
-+ struct dentry *dfs_dump_budg;
-+ struct dentry *dfs_dump_tnc;
-+};
-+
-+#define ubifs_assert(expr) do { \
-+ if (unlikely(!(expr))) { \
-+ printk(KERN_CRIT "UBIFS assert failed in %s at %u (pid %d)\n", \
-+ __func__, __LINE__, current->pid); \
-+ dbg_dump_stack(); \
-+ } \
-+} while (0)
-+
-+#define ubifs_assert_cmt_locked(c) do { \
-+ if (unlikely(down_write_trylock(&(c)->commit_sem))) { \
-+ up_write(&(c)->commit_sem); \
-+ printk(KERN_CRIT "commit lock is not locked!\n"); \
-+ ubifs_assert(0); \
-+ } \
-+} while (0)
-+
-+#define dbg_dump_stack() do { \
-+ if (!dbg_failure_mode) \
-+ dump_stack(); \
-+} while (0)
-+
-+/* Generic debugging messages */
-+#define dbg_msg(fmt, ...) do { \
-+ spin_lock(&dbg_lock); \
-+ printk(KERN_DEBUG "UBIFS DBG (pid %d): %s: " fmt "\n", current->pid, \
-+ __func__, ##__VA_ARGS__); \
-+ spin_unlock(&dbg_lock); \
-+} while (0)
-+
-+#define dbg_do_msg(typ, fmt, ...) do { \
-+ if (ubifs_msg_flags & typ) \
-+ dbg_msg(fmt, ##__VA_ARGS__); \
-+} while (0)
-+
-+#define dbg_err(fmt, ...) do { \
-+ spin_lock(&dbg_lock); \
-+ ubifs_err(fmt, ##__VA_ARGS__); \
-+ spin_unlock(&dbg_lock); \
-+} while (0)
-+
-+const char *dbg_key_str0(const struct ubifs_info *c,
-+ const union ubifs_key *key);
-+const char *dbg_key_str1(const struct ubifs_info *c,
-+ const union ubifs_key *key);
-+
-+/*
-+ * DBGKEY macros require @dbg_lock to be held, which it is in the dbg message
-+ * macros.
-+ */
-+#define DBGKEY(key) dbg_key_str0(c, (key))
-+#define DBGKEY1(key) dbg_key_str1(c, (key))
-+
-+/* General messages */
-+#define dbg_gen(fmt, ...) dbg_do_msg(UBIFS_MSG_GEN, fmt, ##__VA_ARGS__)
-+
-+/* Additional journal messages */
-+#define dbg_jnl(fmt, ...) dbg_do_msg(UBIFS_MSG_JNL, fmt, ##__VA_ARGS__)
-+
-+/* Additional TNC messages */
-+#define dbg_tnc(fmt, ...) dbg_do_msg(UBIFS_MSG_TNC, fmt, ##__VA_ARGS__)
-+
-+/* Additional lprops messages */
-+#define dbg_lp(fmt, ...) dbg_do_msg(UBIFS_MSG_LP, fmt, ##__VA_ARGS__)
-+
-+/* Additional LEB find messages */
-+#define dbg_find(fmt, ...) dbg_do_msg(UBIFS_MSG_FIND, fmt, ##__VA_ARGS__)
-+
-+/* Additional mount messages */
-+#define dbg_mnt(fmt, ...) dbg_do_msg(UBIFS_MSG_MNT, fmt, ##__VA_ARGS__)
-+
-+/* Additional I/O messages */
-+#define dbg_io(fmt, ...) dbg_do_msg(UBIFS_MSG_IO, fmt, ##__VA_ARGS__)
-+
-+/* Additional commit messages */
-+#define dbg_cmt(fmt, ...) dbg_do_msg(UBIFS_MSG_CMT, fmt, ##__VA_ARGS__)
-+
-+/* Additional budgeting messages */
-+#define dbg_budg(fmt, ...) dbg_do_msg(UBIFS_MSG_BUDG, fmt, ##__VA_ARGS__)
-+
-+/* Additional log messages */
-+#define dbg_log(fmt, ...) dbg_do_msg(UBIFS_MSG_LOG, fmt, ##__VA_ARGS__)
-+
-+/* Additional gc messages */
-+#define dbg_gc(fmt, ...) dbg_do_msg(UBIFS_MSG_GC, fmt, ##__VA_ARGS__)
-+
-+/* Additional scan messages */
-+#define dbg_scan(fmt, ...) dbg_do_msg(UBIFS_MSG_SCAN, fmt, ##__VA_ARGS__)
-+
-+/* Additional recovery messages */
-+#define dbg_rcvry(fmt, ...) dbg_do_msg(UBIFS_MSG_RCVRY, fmt, ##__VA_ARGS__)
-+
-+/*
-+ * Debugging message type flags (must match msg_type_names in debug.c).
-+ *
-+ * UBIFS_MSG_GEN: general messages
-+ * UBIFS_MSG_JNL: journal messages
-+ * UBIFS_MSG_MNT: mount messages
-+ * UBIFS_MSG_CMT: commit messages
-+ * UBIFS_MSG_FIND: LEB find messages
-+ * UBIFS_MSG_BUDG: budgeting messages
-+ * UBIFS_MSG_GC: garbage collection messages
-+ * UBIFS_MSG_TNC: TNC messages
-+ * UBIFS_MSG_LP: lprops messages
-+ * UBIFS_MSG_IO: I/O messages
-+ * UBIFS_MSG_LOG: log messages
-+ * UBIFS_MSG_SCAN: scan messages
-+ * UBIFS_MSG_RCVRY: recovery messages
-+ */
-+enum {
-+ UBIFS_MSG_GEN = 0x1,
-+ UBIFS_MSG_JNL = 0x2,
-+ UBIFS_MSG_MNT = 0x4,
-+ UBIFS_MSG_CMT = 0x8,
-+ UBIFS_MSG_FIND = 0x10,
-+ UBIFS_MSG_BUDG = 0x20,
-+ UBIFS_MSG_GC = 0x40,
-+ UBIFS_MSG_TNC = 0x80,
-+ UBIFS_MSG_LP = 0x100,
-+ UBIFS_MSG_IO = 0x200,
-+ UBIFS_MSG_LOG = 0x400,
-+ UBIFS_MSG_SCAN = 0x800,
-+ UBIFS_MSG_RCVRY = 0x1000,
-+};
-+
-+/* Debugging message type flags for each default debug message level */
-+#define UBIFS_MSG_LVL_0 0
-+#define UBIFS_MSG_LVL_1 0x1
-+#define UBIFS_MSG_LVL_2 0x7f
-+#define UBIFS_MSG_LVL_3 0xffff
-+
-+/*
-+ * Debugging check flags (must match chk_names in debug.c).
-+ *
-+ * UBIFS_CHK_GEN: general checks
-+ * UBIFS_CHK_TNC: check TNC
-+ * UBIFS_CHK_IDX_SZ: check index size
-+ * UBIFS_CHK_ORPH: check orphans
-+ * UBIFS_CHK_OLD_IDX: check the old index
-+ * UBIFS_CHK_LPROPS: check lprops
-+ * UBIFS_CHK_FS: check the file-system
-+ */
-+enum {
-+ UBIFS_CHK_GEN = 0x1,
-+ UBIFS_CHK_TNC = 0x2,
-+ UBIFS_CHK_IDX_SZ = 0x4,
-+ UBIFS_CHK_ORPH = 0x8,
-+ UBIFS_CHK_OLD_IDX = 0x10,
-+ UBIFS_CHK_LPROPS = 0x20,
-+ UBIFS_CHK_FS = 0x40,
-+};
-+
-+/*
-+ * Special testing flags (must match tst_names in debug.c).
-+ *
-+ * UBIFS_TST_FORCE_IN_THE_GAPS: force the use of in-the-gaps method
-+ * UBIFS_TST_RCVRY: failure mode for recovery testing
-+ */
-+enum {
-+ UBIFS_TST_FORCE_IN_THE_GAPS = 0x2,
-+ UBIFS_TST_RCVRY = 0x4,
-+};
-+
-+#if CONFIG_UBIFS_FS_DEBUG_MSG_LVL == 1
-+#define UBIFS_MSG_FLAGS_DEFAULT UBIFS_MSG_LVL_1
-+#elif CONFIG_UBIFS_FS_DEBUG_MSG_LVL == 2
-+#define UBIFS_MSG_FLAGS_DEFAULT UBIFS_MSG_LVL_2
-+#elif CONFIG_UBIFS_FS_DEBUG_MSG_LVL == 3
-+#define UBIFS_MSG_FLAGS_DEFAULT UBIFS_MSG_LVL_3
-+#else
-+#define UBIFS_MSG_FLAGS_DEFAULT UBIFS_MSG_LVL_0
-+#endif
-+
-+#ifdef CONFIG_UBIFS_FS_DEBUG_CHKS
-+#define UBIFS_CHK_FLAGS_DEFAULT 0xffffffff
-+#else
-+#define UBIFS_CHK_FLAGS_DEFAULT 0
-+#endif
-+
-+extern spinlock_t dbg_lock;
-+
-+extern unsigned int ubifs_msg_flags;
-+extern unsigned int ubifs_chk_flags;
-+extern unsigned int ubifs_tst_flags;
-+
-+int ubifs_debugging_init(struct ubifs_info *c);
-+void ubifs_debugging_exit(struct ubifs_info *c);
-+
-+/* Dump functions */
-+const char *dbg_ntype(int type);
-+const char *dbg_cstate(int cmt_state);
-+const char *dbg_get_key_dump(const struct ubifs_info *c,
-+ const union ubifs_key *key);
-+void dbg_dump_inode(const struct ubifs_info *c, const struct inode *inode);
-+void dbg_dump_node(const struct ubifs_info *c, const void *node);
-+void dbg_dump_lpt_node(const struct ubifs_info *c, void *node, int lnum,
-+ int offs);
-+void dbg_dump_budget_req(const struct ubifs_budget_req *req);
-+void dbg_dump_lstats(const struct ubifs_lp_stats *lst);
-+void dbg_dump_budg(struct ubifs_info *c);
-+void dbg_dump_lprop(const struct ubifs_info *c, const struct ubifs_lprops *lp);
-+void dbg_dump_lprops(struct ubifs_info *c);
-+void dbg_dump_lpt_info(struct ubifs_info *c);
-+void dbg_dump_leb(const struct ubifs_info *c, int lnum);
-+void dbg_dump_znode(const struct ubifs_info *c,
-+ const struct ubifs_znode *znode);
-+void dbg_dump_heap(struct ubifs_info *c, struct ubifs_lpt_heap *heap, int cat);
-+void dbg_dump_pnode(struct ubifs_info *c, struct ubifs_pnode *pnode,
-+ struct ubifs_nnode *parent, int iip);
-+void dbg_dump_tnc(struct ubifs_info *c);
-+void dbg_dump_index(struct ubifs_info *c);
-+void dbg_dump_lpt_lebs(const struct ubifs_info *c);
-+
-+/* Checking helper functions */
-+typedef int (*dbg_leaf_callback)(struct ubifs_info *c,
-+ struct ubifs_zbranch *zbr, void *priv);
-+typedef int (*dbg_znode_callback)(struct ubifs_info *c,
-+ struct ubifs_znode *znode, void *priv);
-+int dbg_walk_index(struct ubifs_info *c, dbg_leaf_callback leaf_cb,
-+ dbg_znode_callback znode_cb, void *priv);
-+
-+/* Checking functions */
-+void dbg_save_space_info(struct ubifs_info *c);
-+int dbg_check_space_info(struct ubifs_info *c);
-+int dbg_check_lprops(struct ubifs_info *c);
-+int dbg_old_index_check_init(struct ubifs_info *c, struct ubifs_zbranch *zroot);
-+int dbg_check_old_index(struct ubifs_info *c, struct ubifs_zbranch *zroot);
-+int dbg_check_cats(struct ubifs_info *c);
-+int dbg_check_ltab(struct ubifs_info *c);
-+int dbg_chk_lpt_free_spc(struct ubifs_info *c);
-+int dbg_chk_lpt_sz(struct ubifs_info *c, int action, int len);
-+int dbg_check_synced_i_size(struct inode *inode);
-+int dbg_check_dir_size(struct ubifs_info *c, const struct inode *dir);
-+int dbg_check_tnc(struct ubifs_info *c, int extra);
-+int dbg_check_idx_size(struct ubifs_info *c, long long idx_size);
-+int dbg_check_filesystem(struct ubifs_info *c);
-+void dbg_check_heap(struct ubifs_info *c, struct ubifs_lpt_heap *heap, int cat,
-+ int add_pos);
-+int dbg_check_lprops(struct ubifs_info *c);
-+int dbg_check_lpt_nodes(struct ubifs_info *c, struct ubifs_cnode *cnode,
-+ int row, int col);
-+
-+/* Force the use of in-the-gaps method for testing */
-+
-+#define dbg_force_in_the_gaps_enabled \
-+ (ubifs_tst_flags & UBIFS_TST_FORCE_IN_THE_GAPS)
-+
-+int dbg_force_in_the_gaps(void);
-+
-+/* Failure mode for recovery testing */
-+
-+#define dbg_failure_mode (ubifs_tst_flags & UBIFS_TST_RCVRY)
-+
-+#ifndef UBIFS_DBG_PRESERVE_UBI
-+
-+#define ubi_leb_read dbg_leb_read
-+#define ubi_leb_write dbg_leb_write
-+#define ubi_leb_change dbg_leb_change
-+#define ubi_leb_erase dbg_leb_erase
-+#define ubi_leb_unmap dbg_leb_unmap
-+#define ubi_is_mapped dbg_is_mapped
-+#define ubi_leb_map dbg_leb_map
-+
-+#endif
-+
-+int dbg_leb_read(struct ubi_volume_desc *desc, int lnum, char *buf, int offset,
-+ int len, int check);
-+int dbg_leb_write(struct ubi_volume_desc *desc, int lnum, const void *buf,
-+ int offset, int len, int dtype);
-+int dbg_leb_change(struct ubi_volume_desc *desc, int lnum, const void *buf,
-+ int len, int dtype);
-+int dbg_leb_erase(struct ubi_volume_desc *desc, int lnum);
-+int dbg_leb_unmap(struct ubi_volume_desc *desc, int lnum);
-+int dbg_is_mapped(struct ubi_volume_desc *desc, int lnum);
-+int dbg_leb_map(struct ubi_volume_desc *desc, int lnum, int dtype);
-+
-+static inline int dbg_read(struct ubi_volume_desc *desc, int lnum, char *buf,
-+ int offset, int len)
-+{
-+ return dbg_leb_read(desc, lnum, buf, offset, len, 0);
-+}
-+
-+static inline int dbg_write(struct ubi_volume_desc *desc, int lnum,
-+ const void *buf, int offset, int len)
-+{
-+ return dbg_leb_write(desc, lnum, buf, offset, len, UBI_UNKNOWN);
-+}
-+
-+static inline int dbg_change(struct ubi_volume_desc *desc, int lnum,
-+ const void *buf, int len)
-+{
-+ return dbg_leb_change(desc, lnum, buf, len, UBI_UNKNOWN);
-+}
-+
-+/* Debugfs-related stuff */
-+int dbg_debugfs_init(void);
-+void dbg_debugfs_exit(void);
-+int dbg_debugfs_init_fs(struct ubifs_info *c);
-+void dbg_debugfs_exit_fs(struct ubifs_info *c);
-+
-+#else /* !CONFIG_UBIFS_FS_DEBUG */
-+
-+/* Use "if (0)" to make compiler check arguments even if debugging is off */
-+#define ubifs_assert(expr) do { \
-+ if (0 && (expr)) \
-+ printk(KERN_CRIT "UBIFS assert failed in %s at %u (pid %d)\n", \
-+ __func__, __LINE__, current->pid); \
-+} while (0)
-+
-+#define dbg_err(fmt, ...) do { \
-+ if (0) \
-+ ubifs_err(fmt, ##__VA_ARGS__); \
-+} while (0)
-+
-+#define dbg_msg(fmt, ...) do { \
-+ if (0) \
-+ printk(KERN_DEBUG "UBIFS DBG (pid %d): %s: " fmt "\n", \
-+ current->pid, __func__, ##__VA_ARGS__); \
-+} while (0)
-+
-+#define dbg_dump_stack()
-+#define ubifs_assert_cmt_locked(c)
-+
-+#define dbg_gen(fmt, ...) dbg_msg(fmt, ##__VA_ARGS__)
-+#define dbg_jnl(fmt, ...) dbg_msg(fmt, ##__VA_ARGS__)
-+#define dbg_tnc(fmt, ...) dbg_msg(fmt, ##__VA_ARGS__)
-+#define dbg_lp(fmt, ...) dbg_msg(fmt, ##__VA_ARGS__)
-+#define dbg_find(fmt, ...) dbg_msg(fmt, ##__VA_ARGS__)
-+#define dbg_mnt(fmt, ...) dbg_msg(fmt, ##__VA_ARGS__)
-+#define dbg_io(fmt, ...) dbg_msg(fmt, ##__VA_ARGS__)
-+#define dbg_cmt(fmt, ...) dbg_msg(fmt, ##__VA_ARGS__)
-+#define dbg_budg(fmt, ...) dbg_msg(fmt, ##__VA_ARGS__)
-+#define dbg_log(fmt, ...) dbg_msg(fmt, ##__VA_ARGS__)
-+#define dbg_gc(fmt, ...) dbg_msg(fmt, ##__VA_ARGS__)
-+#define dbg_scan(fmt, ...) dbg_msg(fmt, ##__VA_ARGS__)
-+#define dbg_rcvry(fmt, ...) dbg_msg(fmt, ##__VA_ARGS__)
-+
-+#define DBGKEY(key) ((char *)(key))
-+#define DBGKEY1(key) ((char *)(key))
-+
-+#define ubifs_debugging_init(c) 0
-+#define ubifs_debugging_exit(c) ({})
-+
-+#define dbg_ntype(type) ""
-+#define dbg_cstate(cmt_state) ""
-+#define dbg_get_key_dump(c, key) ({})
-+#define dbg_dump_inode(c, inode) ({})
-+#define dbg_dump_node(c, node) ({})
-+#define dbg_dump_lpt_node(c, node, lnum, offs) ({})
-+#define dbg_dump_budget_req(req) ({})
-+#define dbg_dump_lstats(lst) ({})
-+#define dbg_dump_budg(c) ({})
-+#define dbg_dump_lprop(c, lp) ({})
-+#define dbg_dump_lprops(c) ({})
-+#define dbg_dump_lpt_info(c) ({})
-+#define dbg_dump_leb(c, lnum) ({})
-+#define dbg_dump_znode(c, znode) ({})
-+#define dbg_dump_heap(c, heap, cat) ({})
-+#define dbg_dump_pnode(c, pnode, parent, iip) ({})
-+#define dbg_dump_tnc(c) ({})
-+#define dbg_dump_index(c) ({})
-+#define dbg_dump_lpt_lebs(c) ({})
-+
-+#define dbg_walk_index(c, leaf_cb, znode_cb, priv) 0
-+#define dbg_old_index_check_init(c, zroot) 0
-+#define dbg_save_space_info(c) ({})
-+#define dbg_check_space_info(c) 0
-+#define dbg_check_old_index(c, zroot) 0
-+#define dbg_check_cats(c) 0
-+#define dbg_check_ltab(c) 0
-+#define dbg_chk_lpt_free_spc(c) 0
-+#define dbg_chk_lpt_sz(c, action, len) 0
-+#define dbg_check_synced_i_size(inode) 0
-+#define dbg_check_dir_size(c, dir) 0
-+#define dbg_check_tnc(c, x) 0
-+#define dbg_check_idx_size(c, idx_size) 0
-+#define dbg_check_filesystem(c) 0
-+#define dbg_check_heap(c, heap, cat, add_pos) ({})
-+#define dbg_check_lprops(c) 0
-+#define dbg_check_lpt_nodes(c, cnode, row, col) 0
-+#define dbg_force_in_the_gaps_enabled 0
-+#define dbg_force_in_the_gaps() 0
-+#define dbg_failure_mode 0
-+
-+#define dbg_debugfs_init() 0
-+#define dbg_debugfs_exit()
-+#define dbg_debugfs_init_fs(c) 0
-+#define dbg_debugfs_exit_fs(c) 0
-+
-+#endif /* !CONFIG_UBIFS_FS_DEBUG */
-+
-+/*
-+ * Some compatibility stuff goes here.
-+ */
-+
-+#include <asm/div64.h>
-+
-+static inline uint64_t div_u64(uint64_t dividend, uint64_t divisor)
-+{
-+ do_div(dividend, divisor);
-+ return dividend;
-+}
-+
-+#endif /* !__UBIFS_DEBUG_H__ */
-diff -Nurd linux-2.6.24.orig/fs/ubifs/dir.c linux-2.6.24/fs/ubifs/dir.c
---- linux-2.6.24.orig/fs/ubifs/dir.c 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.24/fs/ubifs/dir.c 2009-04-17 09:49:28.000000000 +0200
-@@ -0,0 +1,1215 @@
-+/* * This file is part of UBIFS.
-+ *
-+ * Copyright (C) 2006-2008 Nokia Corporation.
-+ * Copyright (C) 2006, 2007 University of Szeged, Hungary
-+ *
-+ * This program is free software; you can redistribute it and/or modify it
-+ * under the terms of the GNU General Public License version 2 as published by
-+ * the Free Software Foundation.
-+ *
-+ * 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, write to the Free Software Foundation, Inc., 51
-+ * Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
-+ *
-+ * Authors: Artem Bityutskiy (Битюцкий Ðртём)
-+ * Adrian Hunter
-+ * Zoltan Sogor
-+ */
-+
-+/*
-+ * This file implements directory operations.
-+ *
-+ * All FS operations in this file allocate budget before writing anything to the
-+ * media. If they fail to allocate it, the error is returned. The only
-+ * exceptions are 'ubifs_unlink()' and 'ubifs_rmdir()' which keep working even
-+ * if they unable to allocate the budget, because deletion %-ENOSPC failure is
-+ * not what users are usually ready to get. UBIFS budgeting subsystem has some
-+ * space reserved for these purposes.
-+ *
-+ * All operations in this file write all inodes which they change straight
-+ * away, instead of marking them dirty. For example, 'ubifs_link()' changes
-+ * @i_size of the parent inode and writes the parent inode together with the
-+ * target inode. This was done to simplify file-system recovery which would
-+ * otherwise be very difficult to do. The only exception is rename which marks
-+ * the re-named inode dirty (because its @i_ctime is updated) but does not
-+ * write it, but just marks it as dirty.
-+ */
-+
-+#include "ubifs.h"
-+
-+/**
-+ * inherit_flags - inherit flags of the parent inode.
-+ * @dir: parent inode
-+ * @mode: new inode mode flags
-+ *
-+ * This is a helper function for 'ubifs_new_inode()' which inherits flag of the
-+ * parent directory inode @dir. UBIFS inodes inherit the following flags:
-+ * o %UBIFS_COMPR_FL, which is useful to switch compression on/of on
-+ * sub-directory basis;
-+ * o %UBIFS_SYNC_FL - useful for the same reasons;
-+ * o %UBIFS_DIRSYNC_FL - similar, but relevant only to directories.
-+ *
-+ * This function returns the inherited flags.
-+ */
-+static int inherit_flags(const struct inode *dir, int mode)
-+{
-+ int flags;
-+ const struct ubifs_inode *ui = ubifs_inode(dir);
-+
-+ if (!S_ISDIR(dir->i_mode))
-+ /*
-+ * The parent is not a directory, which means that an extended
-+ * attribute inode is being created. No flags.
-+ */
-+ return 0;
-+
-+ flags = ui->flags & (UBIFS_COMPR_FL | UBIFS_SYNC_FL | UBIFS_DIRSYNC_FL);
-+ if (!S_ISDIR(mode))
-+ /* The "DIRSYNC" flag only applies to directories */
-+ flags &= ~UBIFS_DIRSYNC_FL;
-+ return flags;
-+}
-+
-+/**
-+ * ubifs_new_inode - allocate new UBIFS inode object.
-+ * @c: UBIFS file-system description object
-+ * @dir: parent directory inode
-+ * @mode: inode mode flags
-+ *
-+ * This function finds an unused inode number, allocates new inode and
-+ * initializes it. Returns new inode in case of success and an error code in
-+ * case of failure.
-+ */
-+struct inode *ubifs_new_inode(struct ubifs_info *c, const struct inode *dir,
-+ int mode)
-+{
-+ struct inode *inode;
-+ struct ubifs_inode *ui;
-+
-+ inode = new_inode(c->vfs_sb);
-+ ui = ubifs_inode(inode);
-+ if (!inode)
-+ return ERR_PTR(-ENOMEM);
-+
-+ /*
-+ * Set 'S_NOCMTIME' to prevent VFS form updating [mc]time of inodes and
-+ * marking them dirty in file write path (see 'file_update_time()').
-+ * UBIFS has to fully control "clean <-> dirty" transitions of inodes
-+ * to make budgeting work.
-+ */
-+ inode->i_flags |= (S_NOCMTIME);
-+
-+ inode->i_uid = current->fsuid;
-+ if (dir->i_mode & S_ISGID) {
-+ inode->i_gid = dir->i_gid;
-+ if (S_ISDIR(mode))
-+ mode |= S_ISGID;
-+ } else
-+ inode->i_gid = current->fsgid;
-+ inode->i_mode = mode;
-+ inode->i_mtime = inode->i_atime = inode->i_ctime =
-+ ubifs_current_time(inode);
-+ inode->i_mapping->nrpages = 0;
-+ /* Disable readahead */
-+ inode->i_mapping->backing_dev_info = &c->bdi;
-+
-+ switch (mode & S_IFMT) {
-+ case S_IFREG:
-+ inode->i_mapping->a_ops = &ubifs_file_address_operations;
-+ inode->i_op = &ubifs_file_inode_operations;
-+ inode->i_fop = &ubifs_file_operations;
-+ break;
-+ case S_IFDIR:
-+ inode->i_op = &ubifs_dir_inode_operations;
-+ inode->i_fop = &ubifs_dir_operations;
-+ inode->i_size = ui->ui_size = UBIFS_INO_NODE_SZ;
-+ break;
-+ case S_IFLNK:
-+ inode->i_op = &ubifs_symlink_inode_operations;
-+ break;
-+ case S_IFSOCK:
-+ case S_IFIFO:
-+ case S_IFBLK:
-+ case S_IFCHR:
-+ inode->i_op = &ubifs_file_inode_operations;
-+ break;
-+ default:
-+ BUG();
-+ }
-+
-+ ui->flags = inherit_flags(dir, mode);
-+ ubifs_set_inode_flags(inode);
-+ if (S_ISREG(mode))
-+ ui->compr_type = c->default_compr;
-+ else
-+ ui->compr_type = UBIFS_COMPR_NONE;
-+ ui->synced_i_size = 0;
-+
-+ spin_lock(&c->cnt_lock);
-+ /* Inode number overflow is currently not supported */
-+ if (c->highest_inum >= INUM_WARN_WATERMARK) {
-+ if (c->highest_inum >= INUM_WATERMARK) {
-+ spin_unlock(&c->cnt_lock);
-+ ubifs_err("out of inode numbers");
-+ make_bad_inode(inode);
-+ iput(inode);
-+ return ERR_PTR(-EINVAL);
-+ }
-+ ubifs_warn("running out of inode numbers (current %lu, max %d)",
-+ (unsigned long)c->highest_inum, INUM_WATERMARK);
-+ }
-+
-+ inode->i_ino = ++c->highest_inum;
-+ /*
-+ * The creation sequence number remains with this inode for its
-+ * lifetime. All nodes for this inode have a greater sequence number,
-+ * and so it is possible to distinguish obsolete nodes belonging to a
-+ * previous incarnation of the same inode number - for example, for the
-+ * purpose of rebuilding the index.
-+ */
-+ ui->creat_sqnum = ++c->max_sqnum;
-+ spin_unlock(&c->cnt_lock);
-+ return inode;
-+}
-+
-+#ifdef CONFIG_UBIFS_FS_DEBUG
-+
-+static int dbg_check_name(struct ubifs_dent_node *dent, struct qstr *nm)
-+{
-+ if (!(ubifs_chk_flags & UBIFS_CHK_GEN))
-+ return 0;
-+ if (le16_to_cpu(dent->nlen) != nm->len)
-+ return -EINVAL;
-+ if (memcmp(dent->name, nm->name, nm->len))
-+ return -EINVAL;
-+ return 0;
-+}
-+
-+#else
-+
-+#define dbg_check_name(dent, nm) 0
-+
-+#endif
-+
-+static struct dentry *ubifs_lookup(struct inode *dir, struct dentry *dentry,
-+ struct nameidata *nd)
-+{
-+ int err;
-+ union ubifs_key key;
-+ struct inode *inode = NULL;
-+ struct ubifs_dent_node *dent;
-+ struct ubifs_info *c = dir->i_sb->s_fs_info;
-+
-+ dbg_gen("'%.*s' in dir ino %lu",
-+ dentry->d_name.len, dentry->d_name.name, dir->i_ino);
-+
-+ if (dentry->d_name.len > UBIFS_MAX_NLEN)
-+ return ERR_PTR(-ENAMETOOLONG);
-+
-+ dent = kmalloc(UBIFS_MAX_DENT_NODE_SZ, GFP_NOFS);
-+ if (!dent)
-+ return ERR_PTR(-ENOMEM);
-+
-+ dent_key_init(c, &key, dir->i_ino, &dentry->d_name);
-+
-+ err = ubifs_tnc_lookup_nm(c, &key, dent, &dentry->d_name);
-+ if (err) {
-+ /*
-+ * Do not hash the direntry if parent 'i_nlink' is zero, because
-+ * this has side-effects - '->delete_inode()' call will not be
-+ * called for the parent orphan inode, because 'd_count' of its
-+ * direntry will stay 1 (it'll be negative direntry I guess)
-+ * and prevent 'iput_final()' until the dentry is destroyed due
-+ * to unmount or memory pressure.
-+ */
-+ if (err == -ENOENT && dir->i_nlink != 0) {
-+ dbg_gen("not found");
-+ goto done;
-+ }
-+ goto out;
-+ }
-+
-+ if (dbg_check_name(dent, &dentry->d_name)) {
-+ err = -EINVAL;
-+ goto out;
-+ }
-+
-+ inode = ubifs_iget(dir->i_sb, le64_to_cpu(dent->inum));
-+ if (IS_ERR(inode)) {
-+ /*
-+ * This should not happen. Probably the file-system needs
-+ * checking.
-+ */
-+ err = PTR_ERR(inode);
-+ ubifs_err("dead directory entry '%.*s', error %d",
-+ dentry->d_name.len, dentry->d_name.name, err);
-+ ubifs_ro_mode(c, err);
-+ goto out;
-+ }
-+
-+done:
-+ kfree(dent);
-+ return d_splice_alias(inode, dentry);
-+
-+out:
-+ kfree(dent);
-+ return ERR_PTR(err);
-+}
-+
-+static int ubifs_create(struct inode *dir, struct dentry *dentry, int mode,
-+ struct nameidata *nd)
-+{
-+ struct inode *inode;
-+ struct ubifs_info *c = dir->i_sb->s_fs_info;
-+ int err, sz_change = CALC_DENT_SIZE(dentry->d_name.len);
-+ struct ubifs_budget_req req = { .new_ino = 1, .new_dent = 1,
-+ .dirtied_ino = 1 };
-+ struct ubifs_inode *dir_ui = ubifs_inode(dir);
-+
-+ /*
-+ * Budget request settings: new inode, new direntry, changing the
-+ * parent directory inode.
-+ */
-+
-+ dbg_gen("dent '%.*s', mode %#x in dir ino %lu",
-+ dentry->d_name.len, dentry->d_name.name, mode, dir->i_ino);
-+
-+ err = ubifs_budget_space(c, &req);
-+ if (err)
-+ return err;
-+
-+ inode = ubifs_new_inode(c, dir, mode);
-+ if (IS_ERR(inode)) {
-+ err = PTR_ERR(inode);
-+ goto out_budg;
-+ }
-+
-+ mutex_lock(&dir_ui->ui_mutex);
-+ dir->i_size += sz_change;
-+ dir_ui->ui_size = dir->i_size;
-+ dir->i_mtime = dir->i_ctime = inode->i_ctime;
-+ err = ubifs_jnl_update(c, dir, &dentry->d_name, inode, 0, 0);
-+ if (err)
-+ goto out_cancel;
-+ mutex_unlock(&dir_ui->ui_mutex);
-+
-+ ubifs_release_budget(c, &req);
-+ insert_inode_hash(inode);
-+ d_instantiate(dentry, inode);
-+ return 0;
-+
-+out_cancel:
-+ dir->i_size -= sz_change;
-+ dir_ui->ui_size = dir->i_size;
-+ mutex_unlock(&dir_ui->ui_mutex);
-+ make_bad_inode(inode);
-+ iput(inode);
-+out_budg:
-+ ubifs_release_budget(c, &req);
-+ ubifs_err("cannot create regular file, error %d", err);
-+ return err;
-+}
-+
-+/**
-+ * vfs_dent_type - get VFS directory entry type.
-+ * @type: UBIFS directory entry type
-+ *
-+ * This function converts UBIFS directory entry type into VFS directory entry
-+ * type.
-+ */
-+static unsigned int vfs_dent_type(uint8_t type)
-+{
-+ switch (type) {
-+ case UBIFS_ITYPE_REG:
-+ return DT_REG;
-+ case UBIFS_ITYPE_DIR:
-+ return DT_DIR;
-+ case UBIFS_ITYPE_LNK:
-+ return DT_LNK;
-+ case UBIFS_ITYPE_BLK:
-+ return DT_BLK;
-+ case UBIFS_ITYPE_CHR:
-+ return DT_CHR;
-+ case UBIFS_ITYPE_FIFO:
-+ return DT_FIFO;
-+ case UBIFS_ITYPE_SOCK:
-+ return DT_SOCK;
-+ default:
-+ BUG();
-+ }
-+ return 0;
-+}
-+
-+/*
-+ * The classical Unix view for directory is that it is a linear array of
-+ * (name, inode number) entries. Linux/VFS assumes this model as well.
-+ * Particularly, 'readdir()' call wants us to return a directory entry offset
-+ * which later may be used to continue 'readdir()'ing the directory or to
-+ * 'seek()' to that specific direntry. Obviously UBIFS does not really fit this
-+ * model because directory entries are identified by keys, which may collide.
-+ *
-+ * UBIFS uses directory entry hash value for directory offsets, so
-+ * 'seekdir()'/'telldir()' may not always work because of possible key
-+ * collisions. But UBIFS guarantees that consecutive 'readdir()' calls work
-+ * properly by means of saving full directory entry name in the private field
-+ * of the file description object.
-+ *
-+ * This means that UBIFS cannot support NFS which requires full
-+ * 'seekdir()'/'telldir()' support.
-+ */
-+static int ubifs_readdir(struct file *file, void *dirent, filldir_t filldir)
-+{
-+ int err, over = 0;
-+ struct qstr nm;
-+ union ubifs_key key;
-+ struct ubifs_dent_node *dent;
-+ struct inode *dir = file->f_path.dentry->d_inode;
-+ struct ubifs_info *c = dir->i_sb->s_fs_info;
-+
-+ dbg_gen("dir ino %lu, f_pos %#llx", dir->i_ino, file->f_pos);
-+
-+ if (file->f_pos > UBIFS_S_KEY_HASH_MASK || file->f_pos == 2)
-+ /*
-+ * The directory was seek'ed to a senseless position or there
-+ * are no more entries.
-+ */
-+ return 0;
-+
-+ /* File positions 0 and 1 correspond to "." and ".." */
-+ if (file->f_pos == 0) {
-+ ubifs_assert(!file->private_data);
-+ over = filldir(dirent, ".", 1, 0, dir->i_ino, DT_DIR);
-+ if (over)
-+ return 0;
-+ file->f_pos = 1;
-+ }
-+
-+ if (file->f_pos == 1) {
-+ ubifs_assert(!file->private_data);
-+ over = filldir(dirent, "..", 2, 1,
-+ parent_ino(file->f_path.dentry), DT_DIR);
-+ if (over)
-+ return 0;
-+
-+ /* Find the first entry in TNC and save it */
-+ lowest_dent_key(c, &key, dir->i_ino);
-+ nm.name = NULL;
-+ dent = ubifs_tnc_next_ent(c, &key, &nm);
-+ if (IS_ERR(dent)) {
-+ err = PTR_ERR(dent);
-+ goto out;
-+ }
-+
-+ file->f_pos = key_hash_flash(c, &dent->key);
-+ file->private_data = dent;
-+ }
-+
-+ dent = file->private_data;
-+ if (!dent) {
-+ /*
-+ * The directory was seek'ed to and is now readdir'ed.
-+ * Find the entry corresponding to @file->f_pos or the
-+ * closest one.
-+ */
-+ dent_key_init_hash(c, &key, dir->i_ino, file->f_pos);
-+ nm.name = NULL;
-+ dent = ubifs_tnc_next_ent(c, &key, &nm);
-+ if (IS_ERR(dent)) {
-+ err = PTR_ERR(dent);
-+ goto out;
-+ }
-+ file->f_pos = key_hash_flash(c, &dent->key);
-+ file->private_data = dent;
-+ }
-+
-+ while (1) {
-+ dbg_gen("feed '%s', ino %llu, new f_pos %#x",
-+ dent->name, (unsigned long long)le64_to_cpu(dent->inum),
-+ key_hash_flash(c, &dent->key));
-+ ubifs_assert(le64_to_cpu(dent->ch.sqnum) >
-+ ubifs_inode(dir)->creat_sqnum);
-+
-+ nm.len = le16_to_cpu(dent->nlen);
-+ over = filldir(dirent, dent->name, nm.len, file->f_pos,
-+ le64_to_cpu(dent->inum),
-+ vfs_dent_type(dent->type));
-+ if (over)
-+ return 0;
-+
-+ /* Switch to the next entry */
-+ key_read(c, &dent->key, &key);
-+ nm.name = dent->name;
-+ dent = ubifs_tnc_next_ent(c, &key, &nm);
-+ if (IS_ERR(dent)) {
-+ err = PTR_ERR(dent);
-+ goto out;
-+ }
-+
-+ kfree(file->private_data);
-+ file->f_pos = key_hash_flash(c, &dent->key);
-+ file->private_data = dent;
-+ cond_resched();
-+ }
-+
-+out:
-+ if (err != -ENOENT) {
-+ ubifs_err("cannot find next direntry, error %d", err);
-+ return err;
-+ }
-+
-+ kfree(file->private_data);
-+ file->private_data = NULL;
-+ file->f_pos = 2;
-+ return 0;
-+}
-+
-+/* If a directory is seeked, we have to free saved readdir() state */
-+static loff_t ubifs_dir_llseek(struct file *file, loff_t offset, int origin)
-+{
-+ kfree(file->private_data);
-+ file->private_data = NULL;
-+ return generic_file_llseek(file, offset, origin);
-+}
-+
-+/* Free saved readdir() state when the directory is closed */
-+static int ubifs_dir_release(struct inode *dir, struct file *file)
-+{
-+ kfree(file->private_data);
-+ file->private_data = NULL;
-+ return 0;
-+}
-+
-+/**
-+ * lock_2_inodes - a wrapper for locking two UBIFS inodes.
-+ * @inode1: first inode
-+ * @inode2: second inode
-+ *
-+ * We do not implement any tricks to guarantee strict lock ordering, because
-+ * VFS has already done it for us on the @i_mutex. So this is just a simple
-+ * wrapper function.
-+ */
-+static void lock_2_inodes(struct inode *inode1, struct inode *inode2)
-+{
-+ mutex_lock_nested(&ubifs_inode(inode1)->ui_mutex, WB_MUTEX_1);
-+ mutex_lock_nested(&ubifs_inode(inode2)->ui_mutex, WB_MUTEX_2);
-+}
-+
-+/**
-+ * unlock_2_inodes - a wrapper for unlocking two UBIFS inodes.
-+ * @inode1: first inode
-+ * @inode2: second inode
-+ */
-+static void unlock_2_inodes(struct inode *inode1, struct inode *inode2)
-+{
-+ mutex_unlock(&ubifs_inode(inode2)->ui_mutex);
-+ mutex_unlock(&ubifs_inode(inode1)->ui_mutex);
-+}
-+
-+static int ubifs_link(struct dentry *old_dentry, struct inode *dir,
-+ struct dentry *dentry)
-+{
-+ struct ubifs_info *c = dir->i_sb->s_fs_info;
-+ struct inode *inode = old_dentry->d_inode;
-+ struct ubifs_inode *ui = ubifs_inode(inode);
-+ struct ubifs_inode *dir_ui = ubifs_inode(dir);
-+ int err, sz_change = CALC_DENT_SIZE(dentry->d_name.len);
-+ struct ubifs_budget_req req = { .new_dent = 1, .dirtied_ino = 2,
-+ .dirtied_ino_d = ALIGN(ui->data_len, 8) };
-+
-+ /*
-+ * Budget request settings: new direntry, changing the target inode,
-+ * changing the parent inode.
-+ */
-+
-+ dbg_gen("dent '%.*s' to ino %lu (nlink %d) in dir ino %lu",
-+ dentry->d_name.len, dentry->d_name.name, inode->i_ino,
-+ inode->i_nlink, dir->i_ino);
-+ ubifs_assert(mutex_is_locked(&dir->i_mutex));
-+ ubifs_assert(mutex_is_locked(&inode->i_mutex));
-+ err = dbg_check_synced_i_size(inode);
-+ if (err)
-+ return err;
-+
-+ err = ubifs_budget_space(c, &req);
-+ if (err)
-+ return err;
-+
-+ lock_2_inodes(dir, inode);
-+ inc_nlink(inode);
-+ atomic_inc(&inode->i_count);
-+ inode->i_ctime = ubifs_current_time(inode);
-+ dir->i_size += sz_change;
-+ dir_ui->ui_size = dir->i_size;
-+ dir->i_mtime = dir->i_ctime = inode->i_ctime;
-+ err = ubifs_jnl_update(c, dir, &dentry->d_name, inode, 0, 0);
-+ if (err)
-+ goto out_cancel;
-+ unlock_2_inodes(dir, inode);
-+
-+ ubifs_release_budget(c, &req);
-+ d_instantiate(dentry, inode);
-+ return 0;
-+
-+out_cancel:
-+ dir->i_size -= sz_change;
-+ dir_ui->ui_size = dir->i_size;
-+ drop_nlink(inode);
-+ unlock_2_inodes(dir, inode);
-+ ubifs_release_budget(c, &req);
-+ iput(inode);
-+ return err;
-+}
-+
-+static int ubifs_unlink(struct inode *dir, struct dentry *dentry)
-+{
-+ struct ubifs_info *c = dir->i_sb->s_fs_info;
-+ struct inode *inode = dentry->d_inode;
-+ struct ubifs_inode *dir_ui = ubifs_inode(dir);
-+ int sz_change = CALC_DENT_SIZE(dentry->d_name.len);
-+ int err, budgeted = 1;
-+ struct ubifs_budget_req req = { .mod_dent = 1, .dirtied_ino = 2 };
-+
-+ /*
-+ * Budget request settings: deletion direntry, deletion inode (+1 for
-+ * @dirtied_ino), changing the parent directory inode. If budgeting
-+ * fails, go ahead anyway because we have extra space reserved for
-+ * deletions.
-+ */
-+
-+ dbg_gen("dent '%.*s' from ino %lu (nlink %d) in dir ino %lu",
-+ dentry->d_name.len, dentry->d_name.name, inode->i_ino,
-+ inode->i_nlink, dir->i_ino);
-+ ubifs_assert(mutex_is_locked(&dir->i_mutex));
-+ ubifs_assert(mutex_is_locked(&inode->i_mutex));
-+ err = dbg_check_synced_i_size(inode);
-+ if (err)
-+ return err;
-+
-+ err = ubifs_budget_space(c, &req);
-+ if (err) {
-+ if (err != -ENOSPC)
-+ return err;
-+ budgeted = 0;
-+ }
-+
-+ lock_2_inodes(dir, inode);
-+ inode->i_ctime = ubifs_current_time(dir);
-+ drop_nlink(inode);
-+ dir->i_size -= sz_change;
-+ dir_ui->ui_size = dir->i_size;
-+ dir->i_mtime = dir->i_ctime = inode->i_ctime;
-+ err = ubifs_jnl_update(c, dir, &dentry->d_name, inode, 1, 0);
-+ if (err)
-+ goto out_cancel;
-+ unlock_2_inodes(dir, inode);
-+
-+ if (budgeted)
-+ ubifs_release_budget(c, &req);
-+ else {
-+ /* We've deleted something - clean the "no space" flags */
-+ c->nospace = c->nospace_rp = 0;
-+ smp_wmb();
-+ }
-+ return 0;
-+
-+out_cancel:
-+ dir->i_size += sz_change;
-+ dir_ui->ui_size = dir->i_size;
-+ inc_nlink(inode);
-+ unlock_2_inodes(dir, inode);
-+ if (budgeted)
-+ ubifs_release_budget(c, &req);
-+ return err;
-+}
-+
-+/**
-+ * check_dir_empty - check if a directory is empty or not.
-+ * @c: UBIFS file-system description object
-+ * @dir: VFS inode object of the directory to check
-+ *
-+ * This function checks if directory @dir is empty. Returns zero if the
-+ * directory is empty, %-ENOTEMPTY if it is not, and other negative error codes
-+ * in case of of errors.
-+ */
-+static int check_dir_empty(struct ubifs_info *c, struct inode *dir)
-+{
-+ struct qstr nm = { .name = NULL };
-+ struct ubifs_dent_node *dent;
-+ union ubifs_key key;
-+ int err;
-+
-+ lowest_dent_key(c, &key, dir->i_ino);
-+ dent = ubifs_tnc_next_ent(c, &key, &nm);
-+ if (IS_ERR(dent)) {
-+ err = PTR_ERR(dent);
-+ if (err == -ENOENT)
-+ err = 0;
-+ } else {
-+ kfree(dent);
-+ err = -ENOTEMPTY;
-+ }
-+ return err;
-+}
-+
-+static int ubifs_rmdir(struct inode *dir, struct dentry *dentry)
-+{
-+ struct ubifs_info *c = dir->i_sb->s_fs_info;
-+ struct inode *inode = dentry->d_inode;
-+ int sz_change = CALC_DENT_SIZE(dentry->d_name.len);
-+ int err, budgeted = 1;
-+ struct ubifs_inode *dir_ui = ubifs_inode(dir);
-+ struct ubifs_budget_req req = { .mod_dent = 1, .dirtied_ino = 2 };
-+
-+ /*
-+ * Budget request settings: deletion direntry, deletion inode and
-+ * changing the parent inode. If budgeting fails, go ahead anyway
-+ * because we have extra space reserved for deletions.
-+ */
-+
-+ dbg_gen("directory '%.*s', ino %lu in dir ino %lu", dentry->d_name.len,
-+ dentry->d_name.name, inode->i_ino, dir->i_ino);
-+ ubifs_assert(mutex_is_locked(&dir->i_mutex));
-+ ubifs_assert(mutex_is_locked(&inode->i_mutex));
-+ err = check_dir_empty(c, dentry->d_inode);
-+ if (err)
-+ return err;
-+
-+ err = ubifs_budget_space(c, &req);
-+ if (err) {
-+ if (err != -ENOSPC)
-+ return err;
-+ budgeted = 0;
-+ }
-+
-+ lock_2_inodes(dir, inode);
-+ inode->i_ctime = ubifs_current_time(dir);
-+ clear_nlink(inode);
-+ drop_nlink(dir);
-+ dir->i_size -= sz_change;
-+ dir_ui->ui_size = dir->i_size;
-+ dir->i_mtime = dir->i_ctime = inode->i_ctime;
-+ err = ubifs_jnl_update(c, dir, &dentry->d_name, inode, 1, 0);
-+ if (err)
-+ goto out_cancel;
-+ unlock_2_inodes(dir, inode);
-+
-+ if (budgeted)
-+ ubifs_release_budget(c, &req);
-+ else {
-+ /* We've deleted something - clean the "no space" flags */
-+ c->nospace = c->nospace_rp = 0;
-+ smp_wmb();
-+ }
-+ return 0;
-+
-+out_cancel:
-+ dir->i_size += sz_change;
-+ dir_ui->ui_size = dir->i_size;
-+ inc_nlink(dir);
-+ inc_nlink(inode);
-+ inc_nlink(inode);
-+ unlock_2_inodes(dir, inode);
-+ if (budgeted)
-+ ubifs_release_budget(c, &req);
-+ return err;
-+}
-+
-+static int ubifs_mkdir(struct inode *dir, struct dentry *dentry, int mode)
-+{
-+ struct inode *inode;
-+ struct ubifs_inode *dir_ui = ubifs_inode(dir);
-+ struct ubifs_info *c = dir->i_sb->s_fs_info;
-+ int err, sz_change = CALC_DENT_SIZE(dentry->d_name.len);
-+ struct ubifs_budget_req req = { .new_ino = 1, .new_dent = 1 };
-+
-+ /*
-+ * Budget request settings: new inode, new direntry and changing parent
-+ * directory inode.
-+ */
-+
-+ dbg_gen("dent '%.*s', mode %#x in dir ino %lu",
-+ dentry->d_name.len, dentry->d_name.name, mode, dir->i_ino);
-+
-+ err = ubifs_budget_space(c, &req);
-+ if (err)
-+ return err;
-+
-+ inode = ubifs_new_inode(c, dir, S_IFDIR | mode);
-+ if (IS_ERR(inode)) {
-+ err = PTR_ERR(inode);
-+ goto out_budg;
-+ }
-+
-+ mutex_lock(&dir_ui->ui_mutex);
-+ insert_inode_hash(inode);
-+ inc_nlink(inode);
-+ inc_nlink(dir);
-+ dir->i_size += sz_change;
-+ dir_ui->ui_size = dir->i_size;
-+ dir->i_mtime = dir->i_ctime = inode->i_ctime;
-+ err = ubifs_jnl_update(c, dir, &dentry->d_name, inode, 0, 0);
-+ if (err) {
-+ ubifs_err("cannot create directory, error %d", err);
-+ goto out_cancel;
-+ }
-+ mutex_unlock(&dir_ui->ui_mutex);
-+
-+ ubifs_release_budget(c, &req);
-+ d_instantiate(dentry, inode);
-+ return 0;
-+
-+out_cancel:
-+ dir->i_size -= sz_change;
-+ dir_ui->ui_size = dir->i_size;
-+ drop_nlink(dir);
-+ mutex_unlock(&dir_ui->ui_mutex);
-+ make_bad_inode(inode);
-+ iput(inode);
-+out_budg:
-+ ubifs_release_budget(c, &req);
-+ return err;
-+}
-+
-+static int ubifs_mknod(struct inode *dir, struct dentry *dentry,
-+ int mode, dev_t rdev)
-+{
-+ struct inode *inode;
-+ struct ubifs_inode *ui;
-+ struct ubifs_inode *dir_ui = ubifs_inode(dir);
-+ struct ubifs_info *c = dir->i_sb->s_fs_info;
-+ union ubifs_dev_desc *dev = NULL;
-+ int sz_change = CALC_DENT_SIZE(dentry->d_name.len);
-+ int err, devlen = 0;
-+ struct ubifs_budget_req req = { .new_ino = 1, .new_dent = 1,
-+ .new_ino_d = ALIGN(devlen, 8),
-+ .dirtied_ino = 1 };
-+
-+ /*
-+ * Budget request settings: new inode, new direntry and changing parent
-+ * directory inode.
-+ */
-+
-+ dbg_gen("dent '%.*s' in dir ino %lu",
-+ dentry->d_name.len, dentry->d_name.name, dir->i_ino);
-+
-+ if (!new_valid_dev(rdev))
-+ return -EINVAL;
-+
-+ if (S_ISBLK(mode) || S_ISCHR(mode)) {
-+ dev = kmalloc(sizeof(union ubifs_dev_desc), GFP_NOFS);
-+ if (!dev)
-+ return -ENOMEM;
-+ devlen = ubifs_encode_dev(dev, rdev);
-+ }
-+
-+ err = ubifs_budget_space(c, &req);
-+ if (err) {
-+ kfree(dev);
-+ return err;
-+ }
-+
-+ inode = ubifs_new_inode(c, dir, mode);
-+ if (IS_ERR(inode)) {
-+ kfree(dev);
-+ err = PTR_ERR(inode);
-+ goto out_budg;
-+ }
-+
-+ init_special_inode(inode, inode->i_mode, rdev);
-+ inode->i_size = ubifs_inode(inode)->ui_size = devlen;
-+ ui = ubifs_inode(inode);
-+ ui->data = dev;
-+ ui->data_len = devlen;
-+
-+ mutex_lock(&dir_ui->ui_mutex);
-+ dir->i_size += sz_change;
-+ dir_ui->ui_size = dir->i_size;
-+ dir->i_mtime = dir->i_ctime = inode->i_ctime;
-+ err = ubifs_jnl_update(c, dir, &dentry->d_name, inode, 0, 0);
-+ if (err)
-+ goto out_cancel;
-+ mutex_unlock(&dir_ui->ui_mutex);
-+
-+ ubifs_release_budget(c, &req);
-+ insert_inode_hash(inode);
-+ d_instantiate(dentry, inode);
-+ return 0;
-+
-+out_cancel:
-+ dir->i_size -= sz_change;
-+ dir_ui->ui_size = dir->i_size;
-+ mutex_unlock(&dir_ui->ui_mutex);
-+ make_bad_inode(inode);
-+ iput(inode);
-+out_budg:
-+ ubifs_release_budget(c, &req);
-+ return err;
-+}
-+
-+static int ubifs_symlink(struct inode *dir, struct dentry *dentry,
-+ const char *symname)
-+{
-+ struct inode *inode;
-+ struct ubifs_inode *ui;
-+ struct ubifs_inode *dir_ui = ubifs_inode(dir);
-+ struct ubifs_info *c = dir->i_sb->s_fs_info;
-+ int err, len = strlen(symname);
-+ int sz_change = CALC_DENT_SIZE(dentry->d_name.len);
-+ struct ubifs_budget_req req = { .new_ino = 1, .new_dent = 1,
-+ .new_ino_d = ALIGN(len, 8),
-+ .dirtied_ino = 1 };
-+
-+ /*
-+ * Budget request settings: new inode, new direntry and changing parent
-+ * directory inode.
-+ */
-+
-+ dbg_gen("dent '%.*s', target '%s' in dir ino %lu", dentry->d_name.len,
-+ dentry->d_name.name, symname, dir->i_ino);
-+
-+ if (len > UBIFS_MAX_INO_DATA)
-+ return -ENAMETOOLONG;
-+
-+ err = ubifs_budget_space(c, &req);
-+ if (err)
-+ return err;
-+
-+ inode = ubifs_new_inode(c, dir, S_IFLNK | S_IRWXUGO);
-+ if (IS_ERR(inode)) {
-+ err = PTR_ERR(inode);
-+ goto out_budg;
-+ }
-+
-+ ui = ubifs_inode(inode);
-+ ui->data = kmalloc(len + 1, GFP_NOFS);
-+ if (!ui->data) {
-+ err = -ENOMEM;
-+ goto out_inode;
-+ }
-+
-+ memcpy(ui->data, symname, len);
-+ ((char *)ui->data)[len] = '\0';
-+ /*
-+ * The terminating zero byte is not written to the flash media and it
-+ * is put just to make later in-memory string processing simpler. Thus,
-+ * data length is @len, not @len + %1.
-+ */
-+ ui->data_len = len;
-+ inode->i_size = ubifs_inode(inode)->ui_size = len;
-+
-+ mutex_lock(&dir_ui->ui_mutex);
-+ dir->i_size += sz_change;
-+ dir_ui->ui_size = dir->i_size;
-+ dir->i_mtime = dir->i_ctime = inode->i_ctime;
-+ err = ubifs_jnl_update(c, dir, &dentry->d_name, inode, 0, 0);
-+ if (err)
-+ goto out_cancel;
-+ mutex_unlock(&dir_ui->ui_mutex);
-+
-+ ubifs_release_budget(c, &req);
-+ insert_inode_hash(inode);
-+ d_instantiate(dentry, inode);
-+ return 0;
-+
-+out_cancel:
-+ dir->i_size -= sz_change;
-+ dir_ui->ui_size = dir->i_size;
-+ mutex_unlock(&dir_ui->ui_mutex);
-+out_inode:
-+ make_bad_inode(inode);
-+ iput(inode);
-+out_budg:
-+ ubifs_release_budget(c, &req);
-+ return err;
-+}
-+
-+/**
-+ * lock_3_inodes - a wrapper for locking three UBIFS inodes.
-+ * @inode1: first inode
-+ * @inode2: second inode
-+ * @inode3: third inode
-+ *
-+ * This function is used for 'ubifs_rename()' and @inode1 may be the same as
-+ * @inode2 whereas @inode3 may be %NULL.
-+ *
-+ * We do not implement any tricks to guarantee strict lock ordering, because
-+ * VFS has already done it for us on the @i_mutex. So this is just a simple
-+ * wrapper function.
-+ */
-+static void lock_3_inodes(struct inode *inode1, struct inode *inode2,
-+ struct inode *inode3)
-+{
-+ mutex_lock_nested(&ubifs_inode(inode1)->ui_mutex, WB_MUTEX_1);
-+ if (inode2 != inode1)
-+ mutex_lock_nested(&ubifs_inode(inode2)->ui_mutex, WB_MUTEX_2);
-+ if (inode3)
-+ mutex_lock_nested(&ubifs_inode(inode3)->ui_mutex, WB_MUTEX_3);
-+}
-+
-+/**
-+ * unlock_3_inodes - a wrapper for unlocking three UBIFS inodes for rename.
-+ * @inode1: first inode
-+ * @inode2: second inode
-+ * @inode3: third inode
-+ */
-+static void unlock_3_inodes(struct inode *inode1, struct inode *inode2,
-+ struct inode *inode3)
-+{
-+ if (inode3)
-+ mutex_unlock(&ubifs_inode(inode3)->ui_mutex);
-+ if (inode1 != inode2)
-+ mutex_unlock(&ubifs_inode(inode2)->ui_mutex);
-+ mutex_unlock(&ubifs_inode(inode1)->ui_mutex);
-+}
-+
-+static int ubifs_rename(struct inode *old_dir, struct dentry *old_dentry,
-+ struct inode *new_dir, struct dentry *new_dentry)
-+{
-+ struct ubifs_info *c = old_dir->i_sb->s_fs_info;
-+ struct inode *old_inode = old_dentry->d_inode;
-+ struct inode *new_inode = new_dentry->d_inode;
-+ struct ubifs_inode *old_inode_ui = ubifs_inode(old_inode);
-+ int err, release, sync = 0, move = (new_dir != old_dir);
-+ int is_dir = S_ISDIR(old_inode->i_mode);
-+ int unlink = !!new_inode;
-+ int new_sz = CALC_DENT_SIZE(new_dentry->d_name.len);
-+ int old_sz = CALC_DENT_SIZE(old_dentry->d_name.len);
-+ struct ubifs_budget_req req = { .new_dent = 1, .mod_dent = 1,
-+ .dirtied_ino = 3 };
-+ struct ubifs_budget_req ino_req = { .dirtied_ino = 1,
-+ .dirtied_ino_d = ALIGN(old_inode_ui->data_len, 8) };
-+ struct timespec time;
-+
-+ /*
-+ * Budget request settings: deletion direntry, new direntry, removing
-+ * the old inode, and changing old and new parent directory inodes.
-+ *
-+ * However, this operation also marks the target inode as dirty and
-+ * does not write it, so we allocate budget for the target inode
-+ * separately.
-+ */
-+
-+ dbg_gen("dent '%.*s' ino %lu in dir ino %lu to dent '%.*s' in "
-+ "dir ino %lu", old_dentry->d_name.len, old_dentry->d_name.name,
-+ old_inode->i_ino, old_dir->i_ino, new_dentry->d_name.len,
-+ new_dentry->d_name.name, new_dir->i_ino);
-+ ubifs_assert(mutex_is_locked(&old_dir->i_mutex));
-+ ubifs_assert(mutex_is_locked(&new_dir->i_mutex));
-+ if (unlink)
-+ ubifs_assert(mutex_is_locked(&new_inode->i_mutex));
-+
-+
-+ if (unlink && is_dir) {
-+ err = check_dir_empty(c, new_inode);
-+ if (err)
-+ return err;
-+ }
-+
-+ err = ubifs_budget_space(c, &req);
-+ if (err)
-+ return err;
-+ err = ubifs_budget_space(c, &ino_req);
-+ if (err) {
-+ ubifs_release_budget(c, &req);
-+ return err;
-+ }
-+
-+ lock_3_inodes(old_dir, new_dir, new_inode);
-+
-+ /*
-+ * Like most other Unix systems, set the @i_ctime for inodes on a
-+ * rename.
-+ */
-+ time = ubifs_current_time(old_dir);
-+ old_inode->i_ctime = time;
-+
-+ /* We must adjust parent link count when renaming directories */
-+ if (is_dir) {
-+ if (move) {
-+ /*
-+ * @old_dir loses a link because we are moving
-+ * @old_inode to a different directory.
-+ */
-+ drop_nlink(old_dir);
-+ /*
-+ * @new_dir only gains a link if we are not also
-+ * overwriting an existing directory.
-+ */
-+ if (!unlink)
-+ inc_nlink(new_dir);
-+ } else {
-+ /*
-+ * @old_inode is not moving to a different directory,
-+ * but @old_dir still loses a link if we are
-+ * overwriting an existing directory.
-+ */
-+ if (unlink)
-+ drop_nlink(old_dir);
-+ }
-+ }
-+
-+ old_dir->i_size -= old_sz;
-+ ubifs_inode(old_dir)->ui_size = old_dir->i_size;
-+ old_dir->i_mtime = old_dir->i_ctime = time;
-+ new_dir->i_mtime = new_dir->i_ctime = time;
-+
-+ /*
-+ * And finally, if we unlinked a direntry which happened to have the
-+ * same name as the moved direntry, we have to decrement @i_nlink of
-+ * the unlinked inode and change its ctime.
-+ */
-+ if (unlink) {
-+ /*
-+ * Directories cannot have hard-links, so if this is a
-+ * directory, decrement its @i_nlink twice because an empty
-+ * directory has @i_nlink 2.
-+ */
-+ if (is_dir)
-+ drop_nlink(new_inode);
-+ new_inode->i_ctime = time;
-+ drop_nlink(new_inode);
-+ } else {
-+ new_dir->i_size += new_sz;
-+ ubifs_inode(new_dir)->ui_size = new_dir->i_size;
-+ }
-+
-+ /*
-+ * Do not ask 'ubifs_jnl_rename()' to flush write-buffer if @old_inode
-+ * is dirty, because this will be done later on at the end of
-+ * 'ubifs_rename()'.
-+ */
-+ if (IS_SYNC(old_inode)) {
-+ sync = IS_DIRSYNC(old_dir) || IS_DIRSYNC(new_dir);
-+ if (unlink && IS_SYNC(new_inode))
-+ sync = 1;
-+ }
-+ err = ubifs_jnl_rename(c, old_dir, old_dentry, new_dir, new_dentry,
-+ sync);
-+ if (err)
-+ goto out_cancel;
-+
-+ unlock_3_inodes(old_dir, new_dir, new_inode);
-+ ubifs_release_budget(c, &req);
-+
-+ mutex_lock(&old_inode_ui->ui_mutex);
-+ release = old_inode_ui->dirty;
-+ mark_inode_dirty_sync(old_inode);
-+ mutex_unlock(&old_inode_ui->ui_mutex);
-+
-+ if (release)
-+ ubifs_release_budget(c, &ino_req);
-+ if (IS_SYNC(old_inode))
-+ err = old_inode->i_sb->s_op->write_inode(old_inode, 1);
-+ return err;
-+
-+out_cancel:
-+ if (unlink) {
-+ if (is_dir)
-+ inc_nlink(new_inode);
-+ inc_nlink(new_inode);
-+ } else {
-+ new_dir->i_size -= new_sz;
-+ ubifs_inode(new_dir)->ui_size = new_dir->i_size;
-+ }
-+ old_dir->i_size += old_sz;
-+ ubifs_inode(old_dir)->ui_size = old_dir->i_size;
-+ if (is_dir) {
-+ if (move) {
-+ inc_nlink(old_dir);
-+ if (!unlink)
-+ drop_nlink(new_dir);
-+ } else {
-+ if (unlink)
-+ inc_nlink(old_dir);
-+ }
-+ }
-+ unlock_3_inodes(old_dir, new_dir, new_inode);
-+ ubifs_release_budget(c, &ino_req);
-+ ubifs_release_budget(c, &req);
-+ return err;
-+}
-+
-+int ubifs_getattr(struct vfsmount *mnt, struct dentry *dentry,
-+ struct kstat *stat)
-+{
-+ loff_t size;
-+ struct inode *inode = dentry->d_inode;
-+ struct ubifs_inode *ui = ubifs_inode(inode);
-+
-+ mutex_lock(&ui->ui_mutex);
-+ stat->dev = inode->i_sb->s_dev;
-+ stat->ino = inode->i_ino;
-+ stat->mode = inode->i_mode;
-+ stat->nlink = inode->i_nlink;
-+ stat->uid = inode->i_uid;
-+ stat->gid = inode->i_gid;
-+ stat->rdev = inode->i_rdev;
-+ stat->atime = inode->i_atime;
-+ stat->mtime = inode->i_mtime;
-+ stat->ctime = inode->i_ctime;
-+ stat->blksize = UBIFS_BLOCK_SIZE;
-+ stat->size = ui->ui_size;
-+
-+ /*
-+ * Unfortunately, the 'stat()' system call was designed for block
-+ * device based file systems, and it is not appropriate for UBIFS,
-+ * because UBIFS does not have notion of "block". For example, it is
-+ * difficult to tell how many block a directory takes - it actually
-+ * takes less than 300 bytes, but we have to round it to block size,
-+ * which introduces large mistake. This makes utilities like 'du' to
-+ * report completely senseless numbers. This is the reason why UBIFS
-+ * goes the same way as JFFS2 - it reports zero blocks for everything
-+ * but regular files, which makes more sense than reporting completely
-+ * wrong sizes.
-+ */
-+ if (S_ISREG(inode->i_mode)) {
-+ size = ui->xattr_size;
-+ size += stat->size;
-+ size = ALIGN(size, UBIFS_BLOCK_SIZE);
-+ /*
-+ * Note, user-space expects 512-byte blocks count irrespectively
-+ * of what was reported in @stat->size.
-+ */
-+ stat->blocks = size >> 9;
-+ } else
-+ stat->blocks = 0;
-+ mutex_unlock(&ui->ui_mutex);
-+ return 0;
-+}
-+
-+const struct inode_operations ubifs_dir_inode_operations = {
-+ .lookup = ubifs_lookup,
-+ .create = ubifs_create,
-+ .link = ubifs_link,
-+ .symlink = ubifs_symlink,
-+ .unlink = ubifs_unlink,
-+ .mkdir = ubifs_mkdir,
-+ .rmdir = ubifs_rmdir,
-+ .mknod = ubifs_mknod,
-+ .rename = ubifs_rename,
-+ .setattr = ubifs_setattr,
-+ .getattr = ubifs_getattr,
-+#ifdef CONFIG_UBIFS_FS_XATTR
-+ .setxattr = ubifs_setxattr,
-+ .getxattr = ubifs_getxattr,
-+ .listxattr = ubifs_listxattr,
-+ .removexattr = ubifs_removexattr,
-+#endif
-+};
-+
-+const struct file_operations ubifs_dir_operations = {
-+ .llseek = ubifs_dir_llseek,
-+ .release = ubifs_dir_release,
-+ .read = generic_read_dir,
-+ .readdir = ubifs_readdir,
-+ .fsync = ubifs_fsync,
-+ .unlocked_ioctl = ubifs_ioctl,
-+#ifdef CONFIG_COMPAT
-+ .compat_ioctl = ubifs_compat_ioctl,
-+#endif
-+};
-diff -Nurd linux-2.6.24.orig/fs/ubifs/file.c linux-2.6.24/fs/ubifs/file.c
---- linux-2.6.24.orig/fs/ubifs/file.c 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.24/fs/ubifs/file.c 2009-04-17 09:49:28.000000000 +0200
-@@ -0,0 +1,1583 @@
-+/*
-+ * This file is part of UBIFS.
-+ *
-+ * Copyright (C) 2006-2008 Nokia Corporation.
-+ *
-+ * This program is free software; you can redistribute it and/or modify it
-+ * under the terms of the GNU General Public License version 2 as published by
-+ * the Free Software Foundation.
-+ *
-+ * 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, write to the Free Software Foundation, Inc., 51
-+ * Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
-+ *
-+ * Authors: Artem Bityutskiy (Битюцкий Ðртём)
-+ * Adrian Hunter
-+ */
-+
-+/*
-+ * This file implements VFS file and inode operations of regular files, device
-+ * nodes and symlinks as well as address space operations.
-+ *
-+ * UBIFS uses 2 page flags: PG_private and PG_checked. PG_private is set if the
-+ * page is dirty and is used for budgeting purposes - dirty pages should not be
-+ * budgeted. The PG_checked flag is set if full budgeting is required for the
-+ * page e.g., when it corresponds to a file hole or it is just beyond the file
-+ * size. The budgeting is done in 'ubifs_write_begin()', because it is OK to
-+ * fail in this function, and the budget is released in 'ubifs_write_end()'. So
-+ * the PG_private and PG_checked flags carry the information about how the page
-+ * was budgeted, to make it possible to release the budget properly.
-+ *
-+ * A thing to keep in mind: inode's 'i_mutex' is locked in most VFS operations
-+ * we implement. However, this is not true for '->writepage()', which might be
-+ * called with 'i_mutex' unlocked. For example, when pdflush is performing
-+ * write-back, it calls 'writepage()' with unlocked 'i_mutex', although the
-+ * inode has 'I_LOCK' flag in this case. At "normal" work-paths 'i_mutex' is
-+ * locked in '->writepage', e.g. in "sys_write -> alloc_pages -> direct reclaim
-+ * path'. So, in '->writepage()' we are only guaranteed that the page is
-+ * locked.
-+ *
-+ * Similarly, 'i_mutex' does not have to be locked in readpage(), e.g.,
-+ * readahead path does not have it locked ("sys_read -> generic_file_aio_read
-+ * -> ondemand_readahead -> readpage"). In case of readahead, 'I_LOCK' flag is
-+ * not set as well. However, UBIFS disables readahead.
-+ *
-+ * This, for example means that there might be 2 concurrent '->writepage()'
-+ * calls for the same inode, but different inode dirty pages.
-+ */
-+
-+#include "ubifs.h"
-+#include <linux/mount.h>
-+
-+static int read_block(struct inode *inode, void *addr, unsigned int block,
-+ struct ubifs_data_node *dn)
-+{
-+ struct ubifs_info *c = inode->i_sb->s_fs_info;
-+ int err, len, out_len;
-+ union ubifs_key key;
-+ unsigned int dlen;
-+
-+ data_key_init(c, &key, inode->i_ino, block);
-+ err = ubifs_tnc_lookup(c, &key, dn);
-+ if (err) {
-+ if (err == -ENOENT)
-+ /* Not found, so it must be a hole */
-+ memset(addr, 0, UBIFS_BLOCK_SIZE);
-+ return err;
-+ }
-+
-+ ubifs_assert(le64_to_cpu(dn->ch.sqnum) >
-+ ubifs_inode(inode)->creat_sqnum);
-+ len = le32_to_cpu(dn->size);
-+ if (len <= 0 || len > UBIFS_BLOCK_SIZE)
-+ goto dump;
-+
-+ dlen = le32_to_cpu(dn->ch.len) - UBIFS_DATA_NODE_SZ;
-+ out_len = UBIFS_BLOCK_SIZE;
-+ err = ubifs_decompress(&dn->data, dlen, addr, &out_len,
-+ le16_to_cpu(dn->compr_type));
-+ if (err || len != out_len)
-+ goto dump;
-+
-+ /*
-+ * Data length can be less than a full block, even for blocks that are
-+ * not the last in the file (e.g., as a result of making a hole and
-+ * appending data). Ensure that the remainder is zeroed out.
-+ */
-+ if (len < UBIFS_BLOCK_SIZE)
-+ memset(addr + len, 0, UBIFS_BLOCK_SIZE - len);
-+
-+ return 0;
-+
-+dump:
-+ ubifs_err("bad data node (block %u, inode %lu)",
-+ block, inode->i_ino);
-+ dbg_dump_node(c, dn);
-+ return -EINVAL;
-+}
-+
-+static int do_readpage(struct page *page)
-+{
-+ void *addr;
-+ int err = 0, i;
-+ unsigned int block, beyond;
-+ struct ubifs_data_node *dn;
-+ struct inode *inode = page->mapping->host;
-+ loff_t i_size = i_size_read(inode);
-+
-+ dbg_gen("ino %lu, pg %lu, i_size %lld, flags %#lx",
-+ inode->i_ino, page->index, i_size, page->flags);
-+ ubifs_assert(!PageChecked(page));
-+ ubifs_assert(!PagePrivate(page));
-+
-+ addr = kmap(page);
-+
-+ block = page->index << UBIFS_BLOCKS_PER_PAGE_SHIFT;
-+ beyond = (i_size + UBIFS_BLOCK_SIZE - 1) >> UBIFS_BLOCK_SHIFT;
-+ if (block >= beyond) {
-+ /* Reading beyond inode */
-+ SetPageChecked(page);
-+ memset(addr, 0, PAGE_CACHE_SIZE);
-+ goto out;
-+ }
-+
-+ dn = kmalloc(UBIFS_MAX_DATA_NODE_SZ, GFP_NOFS);
-+ if (!dn) {
-+ err = -ENOMEM;
-+ goto error;
-+ }
-+
-+ i = 0;
-+ while (1) {
-+ int ret;
-+
-+ if (block >= beyond) {
-+ /* Reading beyond inode */
-+ err = -ENOENT;
-+ memset(addr, 0, UBIFS_BLOCK_SIZE);
-+ } else {
-+ ret = read_block(inode, addr, block, dn);
-+ if (ret) {
-+ err = ret;
-+ if (err != -ENOENT)
-+ break;
-+ } else if (block + 1 == beyond) {
-+ int dlen = le32_to_cpu(dn->size);
-+ int ilen = i_size & (UBIFS_BLOCK_SIZE - 1);
-+
-+ if (ilen && ilen < dlen)
-+ memset(addr + ilen, 0, dlen - ilen);
-+ }
-+ }
-+ if (++i >= UBIFS_BLOCKS_PER_PAGE)
-+ break;
-+ block += 1;
-+ addr += UBIFS_BLOCK_SIZE;
-+ }
-+ if (err) {
-+ if (err == -ENOENT) {
-+ /* Not found, so it must be a hole */
-+ SetPageChecked(page);
-+ dbg_gen("hole");
-+ goto out_free;
-+ }
-+ ubifs_err("cannot read page %lu of inode %lu, error %d",
-+ page->index, inode->i_ino, err);
-+ goto error;
-+ }
-+
-+out_free:
-+ kfree(dn);
-+out:
-+ SetPageUptodate(page);
-+ ClearPageError(page);
-+ flush_dcache_page(page);
-+ kunmap(page);
-+ return 0;
-+
-+error:
-+ kfree(dn);
-+ ClearPageUptodate(page);
-+ SetPageError(page);
-+ flush_dcache_page(page);
-+ kunmap(page);
-+ return err;
-+}
-+
-+/**
-+ * release_new_page_budget - release budget of a new page.
-+ * @c: UBIFS file-system description object
-+ *
-+ * This is a helper function which releases budget corresponding to the budget
-+ * of one new page of data.
-+ */
-+static void release_new_page_budget(struct ubifs_info *c)
-+{
-+ struct ubifs_budget_req req = { .recalculate = 1, .new_page = 1 };
-+
-+ ubifs_release_budget(c, &req);
-+}
-+
-+/**
-+ * release_existing_page_budget - release budget of an existing page.
-+ * @c: UBIFS file-system description object
-+ *
-+ * This is a helper function which releases budget corresponding to the budget
-+ * of changing one one page of data which already exists on the flash media.
-+ */
-+static void release_existing_page_budget(struct ubifs_info *c)
-+{
-+ struct ubifs_budget_req req = { .dd_growth = c->page_budget};
-+
-+ ubifs_release_budget(c, &req);
-+}
-+
-+static int write_begin_slow(struct address_space *mapping,
-+ loff_t pos, unsigned len, struct page **pagep)
-+{
-+ struct inode *inode = mapping->host;
-+ struct ubifs_info *c = inode->i_sb->s_fs_info;
-+ pgoff_t index = pos >> PAGE_CACHE_SHIFT;
-+ struct ubifs_budget_req req = { .new_page = 1 };
-+ int uninitialized_var(err), appending = !!(pos + len > inode->i_size);
-+ struct page *page;
-+
-+ dbg_gen("ino %lu, pos %llu, len %u, i_size %lld",
-+ inode->i_ino, pos, len, inode->i_size);
-+
-+ /*
-+ * At the slow path we have to budget before locking the page, because
-+ * budgeting may force write-back, which would wait on locked pages and
-+ * deadlock if we had the page locked. At this point we do not know
-+ * anything about the page, so assume that this is a new page which is
-+ * written to a hole. This corresponds to largest budget. Later the
-+ * budget will be amended if this is not true.
-+ */
-+ if (appending)
-+ /* We are appending data, budget for inode change */
-+ req.dirtied_ino = 1;
-+
-+ err = ubifs_budget_space(c, &req);
-+ if (unlikely(err))
-+ return err;
-+
-+ page = __grab_cache_page(mapping, index);
-+ if (unlikely(!page)) {
-+ ubifs_release_budget(c, &req);
-+ return -ENOMEM;
-+ }
-+
-+ if (!PageUptodate(page)) {
-+ if (!(pos & ~PAGE_CACHE_MASK) && len == PAGE_CACHE_SIZE)
-+ SetPageChecked(page);
-+ else {
-+ err = do_readpage(page);
-+ if (err) {
-+ unlock_page(page);
-+ page_cache_release(page);
-+ return err;
-+ }
-+ }
-+
-+ SetPageUptodate(page);
-+ ClearPageError(page);
-+ }
-+
-+ if (PagePrivate(page))
-+ /*
-+ * The page is dirty, which means it was budgeted twice:
-+ * o first time the budget was allocated by the task which
-+ * made the page dirty and set the PG_private flag;
-+ * o and then we budgeted for it for the second time at the
-+ * very beginning of this function.
-+ *
-+ * So what we have to do is to release the page budget we
-+ * allocated.
-+ */
-+ release_new_page_budget(c);
-+ else if (!PageChecked(page))
-+ /*
-+ * We are changing a page which already exists on the media.
-+ * This means that changing the page does not make the amount
-+ * of indexing information larger, and this part of the budget
-+ * which we have already acquired may be released.
-+ */
-+ ubifs_convert_page_budget(c);
-+
-+ if (appending) {
-+ struct ubifs_inode *ui = ubifs_inode(inode);
-+
-+ /*
-+ * 'ubifs_write_end()' is optimized from the fast-path part of
-+ * 'ubifs_write_begin()' and expects the @ui_mutex to be locked
-+ * if data is appended.
-+ */
-+ mutex_lock(&ui->ui_mutex);
-+ if (ui->dirty)
-+ /*
-+ * The inode is dirty already, so we may free the
-+ * budget we allocated.
-+ */
-+ ubifs_release_dirty_inode_budget(c, ui);
-+ }
-+
-+ *pagep = page;
-+ return 0;
-+}
-+
-+/**
-+ * allocate_budget - allocate budget for 'ubifs_write_begin()'.
-+ * @c: UBIFS file-system description object
-+ * @page: page to allocate budget for
-+ * @ui: UBIFS inode object the page belongs to
-+ * @appending: non-zero if the page is appended
-+ *
-+ * This is a helper function for 'ubifs_write_begin()' which allocates budget
-+ * for the operation. The budget is allocated differently depending on whether
-+ * this is appending, whether the page is dirty or not, and so on. This
-+ * function leaves the @ui->ui_mutex locked in case of appending. Returns zero
-+ * in case of success and %-ENOSPC in case of failure.
-+ */
-+static int allocate_budget(struct ubifs_info *c, struct page *page,
-+ struct ubifs_inode *ui, int appending)
-+{
-+ struct ubifs_budget_req req = { .fast = 1 };
-+
-+ if (PagePrivate(page)) {
-+ if (!appending)
-+ /*
-+ * The page is dirty and we are not appending, which
-+ * means no budget is needed at all.
-+ */
-+ return 0;
-+
-+ mutex_lock(&ui->ui_mutex);
-+ if (ui->dirty)
-+ /*
-+ * The page is dirty and we are appending, so the inode
-+ * has to be marked as dirty. However, it is already
-+ * dirty, so we do not need any budget. We may return,
-+ * but @ui->ui_mutex hast to be left locked because we
-+ * should prevent write-back from flushing the inode
-+ * and freeing the budget. The lock will be released in
-+ * 'ubifs_write_end()'.
-+ */
-+ return 0;
-+
-+ /*
-+ * The page is dirty, we are appending, the inode is clean, so
-+ * we need to budget the inode change.
-+ */
-+ req.dirtied_ino = 1;
-+ } else {
-+ if (PageChecked(page))
-+ /*
-+ * The page corresponds to a hole and does not
-+ * exist on the media. So changing it makes
-+ * make the amount of indexing information
-+ * larger, and we have to budget for a new
-+ * page.
-+ */
-+ req.new_page = 1;
-+ else
-+ /*
-+ * Not a hole, the change will not add any new
-+ * indexing information, budget for page
-+ * change.
-+ */
-+ req.dirtied_page = 1;
-+
-+ if (appending) {
-+ mutex_lock(&ui->ui_mutex);
-+ if (!ui->dirty)
-+ /*
-+ * The inode is clean but we will have to mark
-+ * it as dirty because we are appending. This
-+ * needs a budget.
-+ */
-+ req.dirtied_ino = 1;
-+ }
-+ }
-+
-+ return ubifs_budget_space(c, &req);
-+}
-+
-+/*
-+ * This function is called when a page of data is going to be written. Since
-+ * the page of data will not necessarily go to the flash straight away, UBIFS
-+ * has to reserve space on the media for it, which is done by means of
-+ * budgeting.
-+ *
-+ * This is the hot-path of the file-system and we are trying to optimize it as
-+ * much as possible. For this reasons it is split on 2 parts - slow and fast.
-+ *
-+ * There many budgeting cases:
-+ * o a new page is appended - we have to budget for a new page and for
-+ * changing the inode; however, if the inode is already dirty, there is
-+ * no need to budget for it;
-+ * o an existing clean page is changed - we have budget for it; if the page
-+ * does not exist on the media (a hole), we have to budget for a new
-+ * page; otherwise, we may budget for changing an existing page; the
-+ * difference between these cases is that changing an existing page does
-+ * not introduce anything new to the FS indexing information, so it does
-+ * not grow, and smaller budget is acquired in this case;
-+ * o an existing dirty page is changed - no need to budget at all, because
-+ * the page budget has been acquired by earlier, when the page has been
-+ * marked dirty.
-+ *
-+ * UBIFS budgeting sub-system may force write-back if it thinks there is no
-+ * space to reserve. This imposes some locking restrictions and makes it
-+ * impossible to take into account the above cases, and makes it impossible to
-+ * optimize budgeting.
-+ *
-+ * The solution for this is that the fast path of 'ubifs_write_begin()' assumes
-+ * there is a plenty of flash space and the budget will be acquired quickly,
-+ * without forcing write-back. The slow path does not make this assumption.
-+ */
-+static int ubifs_write_begin(struct file *file, struct address_space *mapping,
-+ loff_t pos, unsigned len, unsigned flags,
-+ struct page **pagep, void **fsdata)
-+{
-+ struct inode *inode = mapping->host;
-+ struct ubifs_info *c = inode->i_sb->s_fs_info;
-+ struct ubifs_inode *ui = ubifs_inode(inode);
-+ pgoff_t index = pos >> PAGE_CACHE_SHIFT;
-+ int uninitialized_var(err), appending = !!(pos + len > inode->i_size);
-+ struct page *page;
-+
-+ ubifs_assert(ubifs_inode(inode)->ui_size == inode->i_size);
-+
-+ if (unlikely(c->ro_media))
-+ return -EROFS;
-+
-+ /* Try out the fast-path part first */
-+ page = __grab_cache_page(mapping, index);
-+ if (unlikely(!page))
-+ return -ENOMEM;
-+
-+ if (!PageUptodate(page)) {
-+ /* The page is not loaded from the flash */
-+ if (!(pos & ~PAGE_CACHE_MASK) && len == PAGE_CACHE_SIZE)
-+ /*
-+ * We change whole page so no need to load it. But we
-+ * have to set the @PG_checked flag to make the further
-+ * code the page is new. This might be not true, but it
-+ * is better to budget more that to read the page from
-+ * the media.
-+ */
-+ SetPageChecked(page);
-+ else {
-+ err = do_readpage(page);
-+ if (err) {
-+ unlock_page(page);
-+ page_cache_release(page);
-+ return err;
-+ }
-+ }
-+
-+ SetPageUptodate(page);
-+ ClearPageError(page);
-+ }
-+
-+ err = allocate_budget(c, page, ui, appending);
-+ if (unlikely(err)) {
-+ ubifs_assert(err == -ENOSPC);
-+ /*
-+ * Budgeting failed which means it would have to force
-+ * write-back but didn't, because we set the @fast flag in the
-+ * request. Write-back cannot be done now, while we have the
-+ * page locked, because it would deadlock. Unlock and free
-+ * everything and fall-back to slow-path.
-+ */
-+ if (appending) {
-+ ubifs_assert(mutex_is_locked(&ui->ui_mutex));
-+ mutex_unlock(&ui->ui_mutex);
-+ }
-+ unlock_page(page);
-+ page_cache_release(page);
-+
-+ return write_begin_slow(mapping, pos, len, pagep);
-+ }
-+
-+ /*
-+ * Whee, we aquired budgeting quickly - without involving
-+ * garbage-collection, committing or forceing write-back. We return
-+ * with @ui->ui_mutex locked if we are appending pages, and unlocked
-+ * otherwise. This is an optimization (slightly hacky though).
-+ */
-+ *pagep = page;
-+ return 0;
-+
-+}
-+
-+/**
-+ * cancel_budget - cancel budget.
-+ * @c: UBIFS file-system description object
-+ * @page: page to cancel budget for
-+ * @ui: UBIFS inode object the page belongs to
-+ * @appending: non-zero if the page is appended
-+ *
-+ * This is a helper function for a page write operation. It unlocks the
-+ * @ui->ui_mutex in case of appending.
-+ */
-+static void cancel_budget(struct ubifs_info *c, struct page *page,
-+ struct ubifs_inode *ui, int appending)
-+{
-+ if (appending) {
-+ if (!ui->dirty)
-+ ubifs_release_dirty_inode_budget(c, ui);
-+ mutex_unlock(&ui->ui_mutex);
-+ }
-+ if (!PagePrivate(page)) {
-+ if (PageChecked(page))
-+ release_new_page_budget(c);
-+ else
-+ release_existing_page_budget(c);
-+ }
-+}
-+
-+static int ubifs_write_end(struct file *file, struct address_space *mapping,
-+ loff_t pos, unsigned len, unsigned copied,
-+ struct page *page, void *fsdata)
-+{
-+ struct inode *inode = mapping->host;
-+ struct ubifs_inode *ui = ubifs_inode(inode);
-+ struct ubifs_info *c = inode->i_sb->s_fs_info;
-+ loff_t end_pos = pos + len;
-+ int appending = !!(end_pos > inode->i_size);
-+
-+ dbg_gen("ino %lu, pos %llu, pg %lu, len %u, copied %d, i_size %lld",
-+ inode->i_ino, pos, page->index, len, copied, inode->i_size);
-+
-+ if (unlikely(copied < len && len == PAGE_CACHE_SIZE)) {
-+ /*
-+ * VFS copied less data to the page that it intended and
-+ * declared in its '->write_begin()' call via the @len
-+ * argument. If the page was not up-to-date, and @len was
-+ * @PAGE_CACHE_SIZE, the 'ubifs_write_begin()' function did
-+ * not load it from the media (for optimization reasons). This
-+ * means that part of the page contains garbage. So read the
-+ * page now.
-+ */
-+ dbg_gen("copied %d instead of %d, read page and repeat",
-+ copied, len);
-+ cancel_budget(c, page, ui, appending);
-+
-+ /*
-+ * Return 0 to force VFS to repeat the whole operation, or the
-+ * error code if 'do_readpage()' failes.
-+ */
-+ copied = do_readpage(page);
-+ goto out;
-+ }
-+
-+ if (!PagePrivate(page)) {
-+ SetPagePrivate(page);
-+ atomic_long_inc(&c->dirty_pg_cnt);
-+ __set_page_dirty_nobuffers(page);
-+ }
-+
-+ if (appending) {
-+ i_size_write(inode, end_pos);
-+ ui->ui_size = end_pos;
-+ /*
-+ * Note, we do not set @I_DIRTY_PAGES (which means that the
-+ * inode has dirty pages), this has been done in
-+ * '__set_page_dirty_nobuffers()'.
-+ */
-+ __mark_inode_dirty(inode, I_DIRTY_DATASYNC);
-+ ubifs_assert(mutex_is_locked(&ui->ui_mutex));
-+ mutex_unlock(&ui->ui_mutex);
-+ }
-+
-+out:
-+ unlock_page(page);
-+ page_cache_release(page);
-+ return copied;
-+}
-+
-+/**
-+ * populate_page - copy data nodes into a page for bulk-read.
-+ * @c: UBIFS file-system description object
-+ * @page: page
-+ * @bu: bulk-read information
-+ * @n: next zbranch slot
-+ *
-+ * This function returns %0 on success and a negative error code on failure.
-+ */
-+static int populate_page(struct ubifs_info *c, struct page *page,
-+ struct bu_info *bu, int *n)
-+{
-+ int i = 0, nn = *n, offs = bu->zbranch[0].offs, hole = 0, read = 0;
-+ struct inode *inode = page->mapping->host;
-+ loff_t i_size = i_size_read(inode);
-+ unsigned int page_block;
-+ void *addr, *zaddr;
-+ pgoff_t end_index;
-+
-+ dbg_gen("ino %lu, pg %lu, i_size %lld, flags %#lx",
-+ inode->i_ino, page->index, i_size, page->flags);
-+
-+ addr = zaddr = kmap(page);
-+
-+ end_index = (i_size - 1) >> PAGE_CACHE_SHIFT;
-+ if (!i_size || page->index > end_index) {
-+ hole = 1;
-+ memset(addr, 0, PAGE_CACHE_SIZE);
-+ goto out_hole;
-+ }
-+
-+ page_block = page->index << UBIFS_BLOCKS_PER_PAGE_SHIFT;
-+ while (1) {
-+ int err, len, out_len, dlen;
-+
-+ if (nn >= bu->cnt) {
-+ hole = 1;
-+ memset(addr, 0, UBIFS_BLOCK_SIZE);
-+ } else if (key_block(c, &bu->zbranch[nn].key) == page_block) {
-+ struct ubifs_data_node *dn;
-+
-+ dn = bu->buf + (bu->zbranch[nn].offs - offs);
-+
-+ ubifs_assert(le64_to_cpu(dn->ch.sqnum) >
-+ ubifs_inode(inode)->creat_sqnum);
-+
-+ len = le32_to_cpu(dn->size);
-+ if (len <= 0 || len > UBIFS_BLOCK_SIZE)
-+ goto out_err;
-+
-+ dlen = le32_to_cpu(dn->ch.len) - UBIFS_DATA_NODE_SZ;
-+ out_len = UBIFS_BLOCK_SIZE;
-+ err = ubifs_decompress(&dn->data, dlen, addr, &out_len,
-+ le16_to_cpu(dn->compr_type));
-+ if (err || len != out_len)
-+ goto out_err;
-+
-+ if (len < UBIFS_BLOCK_SIZE)
-+ memset(addr + len, 0, UBIFS_BLOCK_SIZE - len);
-+
-+ nn += 1;
-+ read = (i << UBIFS_BLOCK_SHIFT) + len;
-+ } else if (key_block(c, &bu->zbranch[nn].key) < page_block) {
-+ nn += 1;
-+ continue;
-+ } else {
-+ hole = 1;
-+ memset(addr, 0, UBIFS_BLOCK_SIZE);
-+ }
-+ if (++i >= UBIFS_BLOCKS_PER_PAGE)
-+ break;
-+ addr += UBIFS_BLOCK_SIZE;
-+ page_block += 1;
-+ }
-+
-+ if (end_index == page->index) {
-+ int len = i_size & (PAGE_CACHE_SIZE - 1);
-+
-+ if (len && len < read)
-+ memset(zaddr + len, 0, read - len);
-+ }
-+
-+out_hole:
-+ if (hole) {
-+ SetPageChecked(page);
-+ dbg_gen("hole");
-+ }
-+
-+ SetPageUptodate(page);
-+ ClearPageError(page);
-+ flush_dcache_page(page);
-+ kunmap(page);
-+ *n = nn;
-+ return 0;
-+
-+out_err:
-+ ClearPageUptodate(page);
-+ SetPageError(page);
-+ flush_dcache_page(page);
-+ kunmap(page);
-+ ubifs_err("bad data node (block %u, inode %lu)",
-+ page_block, inode->i_ino);
-+ return -EINVAL;
-+}
-+
-+/**
-+ * ubifs_do_bulk_read - do bulk-read.
-+ * @c: UBIFS file-system description object
-+ * @bu: bulk-read information
-+ * @page1: first page to read
-+ *
-+ * This function returns %1 if the bulk-read is done, otherwise %0 is returned.
-+ */
-+static int ubifs_do_bulk_read(struct ubifs_info *c, struct bu_info *bu,
-+ struct page *page1)
-+{
-+ pgoff_t offset = page1->index, end_index;
-+ struct address_space *mapping = page1->mapping;
-+ struct inode *inode = mapping->host;
-+ struct ubifs_inode *ui = ubifs_inode(inode);
-+ int err, page_idx, page_cnt, ret = 0, n = 0;
-+ int allocate = bu->buf ? 0 : 1;
-+ loff_t isize;
-+
-+ err = ubifs_tnc_get_bu_keys(c, bu);
-+ if (err)
-+ goto out_warn;
-+
-+ if (bu->eof) {
-+ /* Turn off bulk-read at the end of the file */
-+ ui->read_in_a_row = 1;
-+ ui->bulk_read = 0;
-+ }
-+
-+ page_cnt = bu->blk_cnt >> UBIFS_BLOCKS_PER_PAGE_SHIFT;
-+ if (!page_cnt) {
-+ /*
-+ * This happens when there are multiple blocks per page and the
-+ * blocks for the first page we are looking for, are not
-+ * together. If all the pages were like this, bulk-read would
-+ * reduce performance, so we turn it off for a while.
-+ */
-+ goto out_bu_off;
-+ }
-+
-+ if (bu->cnt) {
-+ if (allocate) {
-+ /*
-+ * Allocate bulk-read buffer depending on how many data
-+ * nodes we are going to read.
-+ */
-+ bu->buf_len = bu->zbranch[bu->cnt - 1].offs +
-+ bu->zbranch[bu->cnt - 1].len -
-+ bu->zbranch[0].offs;
-+ ubifs_assert(bu->buf_len > 0);
-+ ubifs_assert(bu->buf_len <= c->leb_size);
-+ bu->buf = kmalloc(bu->buf_len, GFP_NOFS | __GFP_NOWARN);
-+ if (!bu->buf)
-+ goto out_bu_off;
-+ }
-+
-+ err = ubifs_tnc_bulk_read(c, bu);
-+ if (err)
-+ goto out_warn;
-+ }
-+
-+ err = populate_page(c, page1, bu, &n);
-+ if (err)
-+ goto out_warn;
-+
-+ unlock_page(page1);
-+ ret = 1;
-+
-+ isize = i_size_read(inode);
-+ if (isize == 0)
-+ goto out_free;
-+ end_index = ((isize - 1) >> PAGE_CACHE_SHIFT);
-+
-+ for (page_idx = 1; page_idx < page_cnt; page_idx++) {
-+ pgoff_t page_offset = offset + page_idx;
-+ struct page *page;
-+
-+ if (page_offset > end_index)
-+ break;
-+ page = find_or_create_page(mapping, page_offset,
-+ GFP_NOFS | __GFP_COLD);
-+ if (!page)
-+ break;
-+ if (!PageUptodate(page))
-+ err = populate_page(c, page, bu, &n);
-+ unlock_page(page);
-+ page_cache_release(page);
-+ if (err)
-+ break;
-+ }
-+
-+ ui->last_page_read = offset + page_idx - 1;
-+
-+out_free:
-+ if (allocate)
-+ kfree(bu->buf);
-+ return ret;
-+
-+out_warn:
-+ ubifs_warn("ignoring error %d and skipping bulk-read", err);
-+ goto out_free;
-+
-+out_bu_off:
-+ ui->read_in_a_row = ui->bulk_read = 0;
-+ goto out_free;
-+}
-+
-+/**
-+ * ubifs_bulk_read - determine whether to bulk-read and, if so, do it.
-+ * @page: page from which to start bulk-read.
-+ *
-+ * Some flash media are capable of reading sequentially at faster rates. UBIFS
-+ * bulk-read facility is designed to take advantage of that, by reading in one
-+ * go consecutive data nodes that are also located consecutively in the same
-+ * LEB. This function returns %1 if a bulk-read is done and %0 otherwise.
-+ */
-+static int ubifs_bulk_read(struct page *page)
-+{
-+ struct inode *inode = page->mapping->host;
-+ struct ubifs_info *c = inode->i_sb->s_fs_info;
-+ struct ubifs_inode *ui = ubifs_inode(inode);
-+ pgoff_t index = page->index, last_page_read = ui->last_page_read;
-+ struct bu_info *bu;
-+ int err = 0, allocated = 0;
-+
-+ ui->last_page_read = index;
-+ if (!c->bulk_read)
-+ return 0;
-+
-+ /*
-+ * Bulk-read is protected by @ui->ui_mutex, but it is an optimization,
-+ * so don't bother if we cannot lock the mutex.
-+ */
-+ if (!mutex_trylock(&ui->ui_mutex))
-+ return 0;
-+
-+ if (index != last_page_read + 1) {
-+ /* Turn off bulk-read if we stop reading sequentially */
-+ ui->read_in_a_row = 1;
-+ if (ui->bulk_read)
-+ ui->bulk_read = 0;
-+ goto out_unlock;
-+ }
-+
-+ if (!ui->bulk_read) {
-+ ui->read_in_a_row += 1;
-+ if (ui->read_in_a_row < 3)
-+ goto out_unlock;
-+ /* Three reads in a row, so switch on bulk-read */
-+ ui->bulk_read = 1;
-+ }
-+
-+ /*
-+ * If possible, try to use pre-allocated bulk-read information, which
-+ * is protected by @c->bu_mutex.
-+ */
-+ if (mutex_trylock(&c->bu_mutex))
-+ bu = &c->bu;
-+ else {
-+ bu = kmalloc(sizeof(struct bu_info), GFP_NOFS | __GFP_NOWARN);
-+ if (!bu)
-+ goto out_unlock;
-+
-+ bu->buf = NULL;
-+ allocated = 1;
-+ }
-+
-+ bu->buf_len = c->max_bu_buf_len;
-+ data_key_init(c, &bu->key, inode->i_ino,
-+ page->index << UBIFS_BLOCKS_PER_PAGE_SHIFT);
-+ err = ubifs_do_bulk_read(c, bu, page);
-+
-+ if (!allocated)
-+ mutex_unlock(&c->bu_mutex);
-+ else
-+ kfree(bu);
-+
-+out_unlock:
-+ mutex_unlock(&ui->ui_mutex);
-+ return err;
-+}
-+
-+static int ubifs_readpage(struct file *file, struct page *page)
-+{
-+ if (ubifs_bulk_read(page))
-+ return 0;
-+ do_readpage(page);
-+ unlock_page(page);
-+ return 0;
-+}
-+
-+static int do_writepage(struct page *page, int len)
-+{
-+ int err = 0, i, blen;
-+ unsigned int block;
-+ void *addr;
-+ union ubifs_key key;
-+ struct inode *inode = page->mapping->host;
-+ struct ubifs_info *c = inode->i_sb->s_fs_info;
-+
-+#ifdef UBIFS_DEBUG
-+ spin_lock(&ui->ui_lock);
-+ ubifs_assert(page->index <= ui->synced_i_size << PAGE_CACHE_SIZE);
-+ spin_unlock(&ui->ui_lock);
-+#endif
-+
-+ /* Update radix tree tags */
-+ set_page_writeback(page);
-+
-+ addr = kmap(page);
-+ block = page->index << UBIFS_BLOCKS_PER_PAGE_SHIFT;
-+ i = 0;
-+ while (len) {
-+ blen = min_t(int, len, UBIFS_BLOCK_SIZE);
-+ data_key_init(c, &key, inode->i_ino, block);
-+ err = ubifs_jnl_write_data(c, inode, &key, addr, blen);
-+ if (err)
-+ break;
-+ if (++i >= UBIFS_BLOCKS_PER_PAGE)
-+ break;
-+ block += 1;
-+ addr += blen;
-+ len -= blen;
-+ }
-+ if (err) {
-+ SetPageError(page);
-+ ubifs_err("cannot write page %lu of inode %lu, error %d",
-+ page->index, inode->i_ino, err);
-+ ubifs_ro_mode(c, err);
-+ }
-+
-+ ubifs_assert(PagePrivate(page));
-+ if (PageChecked(page))
-+ release_new_page_budget(c);
-+ else
-+ release_existing_page_budget(c);
-+
-+ atomic_long_dec(&c->dirty_pg_cnt);
-+ ClearPagePrivate(page);
-+ ClearPageChecked(page);
-+
-+ kunmap(page);
-+ unlock_page(page);
-+ end_page_writeback(page);
-+ return err;
-+}
-+
-+/*
-+ * When writing-back dirty inodes, VFS first writes-back pages belonging to the
-+ * inode, then the inode itself. For UBIFS this may cause a problem. Consider a
-+ * situation when a we have an inode with size 0, then a megabyte of data is
-+ * appended to the inode, then write-back starts and flushes some amount of the
-+ * dirty pages, the journal becomes full, commit happens and finishes, and then
-+ * an unclean reboot happens. When the file system is mounted next time, the
-+ * inode size would still be 0, but there would be many pages which are beyond
-+ * the inode size, they would be indexed and consume flash space. Because the
-+ * journal has been committed, the replay would not be able to detect this
-+ * situation and correct the inode size. This means UBIFS would have to scan
-+ * whole index and correct all inode sizes, which is long an unacceptable.
-+ *
-+ * To prevent situations like this, UBIFS writes pages back only if they are
-+ * within last synchronized inode size, i.e. the the size which has been
-+ * written to the flash media last time. Otherwise, UBIFS forces inode
-+ * write-back, thus making sure the on-flash inode contains current inode size,
-+ * and then keeps writing pages back.
-+ *
-+ * Some locking issues explanation. 'ubifs_writepage()' first is called with
-+ * the page locked, and it locks @ui_mutex. However, write-back does take inode
-+ * @i_mutex, which means other VFS operations may be run on this inode at the
-+ * same time. And the problematic one is truncation to smaller size, from where
-+ * we have to call 'vmtruncate()', which first changes @inode->i_size, then
-+ * drops the truncated pages. And while dropping the pages, it takes the page
-+ * lock. This means that 'do_truncation()' cannot call 'vmtruncate()' with
-+ * @ui_mutex locked, because it would deadlock with 'ubifs_writepage()'. This
-+ * means that @inode->i_size is changed while @ui_mutex is unlocked.
-+ *
-+ * But in 'ubifs_writepage()' we have to guarantee that we do not write beyond
-+ * inode size. How do we do this if @inode->i_size may became smaller while we
-+ * are in the middle of 'ubifs_writepage()'? The UBIFS solution is the
-+ * @ui->ui_isize "shadow" field which UBIFS uses instead of @inode->i_size
-+ * internally and updates it under @ui_mutex.
-+ *
-+ * Q: why we do not worry that if we race with truncation, we may end up with a
-+ * situation when the inode is truncated while we are in the middle of
-+ * 'do_writepage()', so we do write beyond inode size?
-+ * A: If we are in the middle of 'do_writepage()', truncation would be locked
-+ * on the page lock and it would not write the truncated inode node to the
-+ * journal before we have finished.
-+ */
-+static int ubifs_writepage(struct page *page, struct writeback_control *wbc)
-+{
-+ struct inode *inode = page->mapping->host;
-+ struct ubifs_inode *ui = ubifs_inode(inode);
-+ loff_t i_size = i_size_read(inode), synced_i_size;
-+ pgoff_t end_index = i_size >> PAGE_CACHE_SHIFT;
-+ int err, len = i_size & (PAGE_CACHE_SIZE - 1);
-+ void *kaddr;
-+
-+ dbg_gen("ino %lu, pg %lu, pg flags %#lx",
-+ inode->i_ino, page->index, page->flags);
-+ ubifs_assert(PagePrivate(page));
-+
-+ /* Is the page fully outside @i_size? (truncate in progress) */
-+ if (page->index > end_index || (page->index == end_index && !len)) {
-+ err = 0;
-+ goto out_unlock;
-+ }
-+
-+ spin_lock(&ui->ui_lock);
-+ synced_i_size = ui->synced_i_size;
-+ spin_unlock(&ui->ui_lock);
-+
-+ /* Is the page fully inside @i_size? */
-+ if (page->index < end_index) {
-+ if (page->index >= synced_i_size >> PAGE_CACHE_SHIFT) {
-+ err = inode->i_sb->s_op->write_inode(inode, 1);
-+ if (err)
-+ goto out_unlock;
-+ /*
-+ * The inode has been written, but the write-buffer has
-+ * not been synchronized, so in case of an unclean
-+ * reboot we may end up with some pages beyond inode
-+ * size, but they would be in the journal (because
-+ * commit flushes write buffers) and recovery would deal
-+ * with this.
-+ */
-+ }
-+ return do_writepage(page, PAGE_CACHE_SIZE);
-+ }
-+
-+ /*
-+ * The page straddles @i_size. It must be zeroed out on each and every
-+ * writepage invocation because it may be mmapped. "A file is mapped
-+ * in multiples of the page size. For a file that is not a multiple of
-+ * the page size, the remaining memory is zeroed when mapped, and
-+ * writes to that region are not written out to the file."
-+ */
-+ kaddr = kmap_atomic(page, KM_USER0);
-+ memset(kaddr + len, 0, PAGE_CACHE_SIZE - len);
-+ flush_dcache_page(page);
-+ kunmap_atomic(kaddr, KM_USER0);
-+
-+ if (i_size > synced_i_size) {
-+ err = inode->i_sb->s_op->write_inode(inode, 1);
-+ if (err)
-+ goto out_unlock;
-+ }
-+
-+ return do_writepage(page, len);
-+
-+out_unlock:
-+ unlock_page(page);
-+ return err;
-+}
-+
-+/**
-+ * do_attr_changes - change inode attributes.
-+ * @inode: inode to change attributes for
-+ * @attr: describes attributes to change
-+ */
-+static void do_attr_changes(struct inode *inode, const struct iattr *attr)
-+{
-+ if (attr->ia_valid & ATTR_UID)
-+ inode->i_uid = attr->ia_uid;
-+ if (attr->ia_valid & ATTR_GID)
-+ inode->i_gid = attr->ia_gid;
-+ if (attr->ia_valid & ATTR_ATIME)
-+ inode->i_atime = timespec_trunc(attr->ia_atime,
-+ inode->i_sb->s_time_gran);
-+ if (attr->ia_valid & ATTR_MTIME)
-+ inode->i_mtime = timespec_trunc(attr->ia_mtime,
-+ inode->i_sb->s_time_gran);
-+ if (attr->ia_valid & ATTR_CTIME)
-+ inode->i_ctime = timespec_trunc(attr->ia_ctime,
-+ inode->i_sb->s_time_gran);
-+ if (attr->ia_valid & ATTR_MODE) {
-+ umode_t mode = attr->ia_mode;
-+
-+ if (!in_group_p(inode->i_gid) && !capable(CAP_FSETID))
-+ mode &= ~S_ISGID;
-+ inode->i_mode = mode;
-+ }
-+}
-+
-+/**
-+ * do_truncation - truncate an inode.
-+ * @c: UBIFS file-system description object
-+ * @inode: inode to truncate
-+ * @attr: inode attribute changes description
-+ *
-+ * This function implements VFS '->setattr()' call when the inode is truncated
-+ * to a smaller size. Returns zero in case of success and a negative error code
-+ * in case of failure.
-+ */
-+static int do_truncation(struct ubifs_info *c, struct inode *inode,
-+ const struct iattr *attr)
-+{
-+ int err;
-+ struct ubifs_budget_req req;
-+ loff_t old_size = inode->i_size, new_size = attr->ia_size;
-+ int offset = new_size & (UBIFS_BLOCK_SIZE - 1), budgeted = 1;
-+ struct ubifs_inode *ui = ubifs_inode(inode);
-+
-+ dbg_gen("ino %lu, size %lld -> %lld", inode->i_ino, old_size, new_size);
-+ memset(&req, 0, sizeof(struct ubifs_budget_req));
-+
-+ /*
-+ * If this is truncation to a smaller size, and we do not truncate on a
-+ * block boundary, budget for changing one data block, because the last
-+ * block will be re-written.
-+ */
-+ if (new_size & (UBIFS_BLOCK_SIZE - 1))
-+ req.dirtied_page = 1;
-+
-+ req.dirtied_ino = 1;
-+ /* A funny way to budget for truncation node */
-+ req.dirtied_ino_d = UBIFS_TRUN_NODE_SZ;
-+ err = ubifs_budget_space(c, &req);
-+ if (err) {
-+ /*
-+ * Treat truncations to zero as deletion and always allow them,
-+ * just like we do for '->unlink()'.
-+ */
-+ if (new_size || err != -ENOSPC)
-+ return err;
-+ budgeted = 0;
-+ }
-+
-+ err = vmtruncate(inode, new_size);
-+ if (err)
-+ goto out_budg;
-+
-+ if (offset) {
-+ pgoff_t index = new_size >> PAGE_CACHE_SHIFT;
-+ struct page *page;
-+
-+ page = find_lock_page(inode->i_mapping, index);
-+ if (page) {
-+ if (PageDirty(page)) {
-+ /*
-+ * 'ubifs_jnl_truncate()' will try to truncate
-+ * the last data node, but it contains
-+ * out-of-date data because the page is dirty.
-+ * Write the page now, so that
-+ * 'ubifs_jnl_truncate()' will see an already
-+ * truncated (and up to date) data node.
-+ */
-+ ubifs_assert(PagePrivate(page));
-+
-+ clear_page_dirty_for_io(page);
-+ if (UBIFS_BLOCKS_PER_PAGE_SHIFT)
-+ offset = new_size &
-+ (PAGE_CACHE_SIZE - 1);
-+ err = do_writepage(page, offset);
-+ page_cache_release(page);
-+ if (err)
-+ goto out_budg;
-+ /*
-+ * We could now tell 'ubifs_jnl_truncate()' not
-+ * to read the last block.
-+ */
-+ } else {
-+ /*
-+ * We could 'kmap()' the page and pass the data
-+ * to 'ubifs_jnl_truncate()' to save it from
-+ * having to read it.
-+ */
-+ unlock_page(page);
-+ page_cache_release(page);
-+ }
-+ }
-+ }
-+
-+ mutex_lock(&ui->ui_mutex);
-+ ui->ui_size = inode->i_size;
-+ /* Truncation changes inode [mc]time */
-+ inode->i_mtime = inode->i_ctime = ubifs_current_time(inode);
-+ /* The other attributes may be changed at the same time as well */
-+ do_attr_changes(inode, attr);
-+
-+ err = ubifs_jnl_truncate(c, inode, old_size, new_size);
-+ mutex_unlock(&ui->ui_mutex);
-+out_budg:
-+ if (budgeted)
-+ ubifs_release_budget(c, &req);
-+ else {
-+ c->nospace = c->nospace_rp = 0;
-+ smp_wmb();
-+ }
-+ return err;
-+}
-+
-+/**
-+ * do_setattr - change inode attributes.
-+ * @c: UBIFS file-system description object
-+ * @inode: inode to change attributes for
-+ * @attr: inode attribute changes description
-+ *
-+ * This function implements VFS '->setattr()' call for all cases except
-+ * truncations to smaller size. Returns zero in case of success and a negative
-+ * error code in case of failure.
-+ */
-+static int do_setattr(struct ubifs_info *c, struct inode *inode,
-+ const struct iattr *attr)
-+{
-+ int err, release;
-+ loff_t new_size = attr->ia_size;
-+ struct ubifs_inode *ui = ubifs_inode(inode);
-+ struct ubifs_budget_req req = { .dirtied_ino = 1,
-+ .dirtied_ino_d = ALIGN(ui->data_len, 8) };
-+
-+ err = ubifs_budget_space(c, &req);
-+ if (err)
-+ return err;
-+
-+ if (attr->ia_valid & ATTR_SIZE) {
-+ dbg_gen("size %lld -> %lld", inode->i_size, new_size);
-+ err = vmtruncate(inode, new_size);
-+ if (err)
-+ goto out;
-+ }
-+
-+ mutex_lock(&ui->ui_mutex);
-+ if (attr->ia_valid & ATTR_SIZE) {
-+ /* Truncation changes inode [mc]time */
-+ inode->i_mtime = inode->i_ctime = ubifs_current_time(inode);
-+ /* 'vmtruncate()' changed @i_size, update @ui_size */
-+ ui->ui_size = inode->i_size;
-+ }
-+
-+ do_attr_changes(inode, attr);
-+
-+ release = ui->dirty;
-+ if (attr->ia_valid & ATTR_SIZE)
-+ /*
-+ * Inode length changed, so we have to make sure
-+ * @I_DIRTY_DATASYNC is set.
-+ */
-+ __mark_inode_dirty(inode, I_DIRTY_SYNC | I_DIRTY_DATASYNC);
-+ else
-+ mark_inode_dirty_sync(inode);
-+ mutex_unlock(&ui->ui_mutex);
-+
-+ if (release)
-+ ubifs_release_budget(c, &req);
-+ if (IS_SYNC(inode))
-+ err = inode->i_sb->s_op->write_inode(inode, 1);
-+ return err;
-+
-+out:
-+ ubifs_release_budget(c, &req);
-+ return err;
-+}
-+
-+int ubifs_setattr(struct dentry *dentry, struct iattr *attr)
-+{
-+ int err;
-+ struct inode *inode = dentry->d_inode;
-+ struct ubifs_info *c = inode->i_sb->s_fs_info;
-+
-+ dbg_gen("ino %lu, mode %#x, ia_valid %#x",
-+ inode->i_ino, inode->i_mode, attr->ia_valid);
-+ err = inode_change_ok(inode, attr);
-+ if (err)
-+ return err;
-+
-+ err = dbg_check_synced_i_size(inode);
-+ if (err)
-+ return err;
-+
-+ if ((attr->ia_valid & ATTR_SIZE) && attr->ia_size < inode->i_size)
-+ /* Truncation to a smaller size */
-+ err = do_truncation(c, inode, attr);
-+ else
-+ err = do_setattr(c, inode, attr);
-+
-+ return err;
-+}
-+
-+static void ubifs_invalidatepage(struct page *page, unsigned long offset)
-+{
-+ struct inode *inode = page->mapping->host;
-+ struct ubifs_info *c = inode->i_sb->s_fs_info;
-+
-+ ubifs_assert(PagePrivate(page));
-+ if (offset)
-+ /* Partial page remains dirty */
-+ return;
-+
-+ if (PageChecked(page))
-+ release_new_page_budget(c);
-+ else
-+ release_existing_page_budget(c);
-+
-+ atomic_long_dec(&c->dirty_pg_cnt);
-+ ClearPagePrivate(page);
-+ ClearPageChecked(page);
-+}
-+
-+static void *ubifs_follow_link(struct dentry *dentry, struct nameidata *nd)
-+{
-+ struct ubifs_inode *ui = ubifs_inode(dentry->d_inode);
-+
-+ nd_set_link(nd, ui->data);
-+ return NULL;
-+}
-+
-+int ubifs_fsync(struct file *file, struct dentry *dentry, int datasync)
-+{
-+ struct inode *inode = dentry->d_inode;
-+ struct ubifs_info *c = inode->i_sb->s_fs_info;
-+ int err;
-+
-+ dbg_gen("syncing inode %lu", inode->i_ino);
-+
-+ /*
-+ * VFS has already synchronized dirty pages for this inode. Synchronize
-+ * the inode unless this is a 'datasync()' call.
-+ */
-+ if (!datasync || (inode->i_state & I_DIRTY_DATASYNC)) {
-+ err = inode->i_sb->s_op->write_inode(inode, 1);
-+ if (err)
-+ return err;
-+ }
-+
-+ /*
-+ * Nodes related to this inode may still sit in a write-buffer. Flush
-+ * them.
-+ */
-+ err = ubifs_sync_wbufs_by_inode(c, inode);
-+ if (err)
-+ return err;
-+
-+ return 0;
-+}
-+
-+/**
-+ * mctime_update_needed - check if mtime or ctime update is needed.
-+ * @inode: the inode to do the check for
-+ * @now: current time
-+ *
-+ * This helper function checks if the inode mtime/ctime should be updated or
-+ * not. If current values of the time-stamps are within the UBIFS inode time
-+ * granularity, they are not updated. This is an optimization.
-+ */
-+static inline int mctime_update_needed(struct inode *inode,
-+ struct timespec *now)
-+{
-+ if (!timespec_equal(&inode->i_mtime, now) ||
-+ !timespec_equal(&inode->i_ctime, now))
-+ return 1;
-+ return 0;
-+}
-+
-+/**
-+ * update_ctime - update mtime and ctime of an inode.
-+ * @c: UBIFS file-system description object
-+ * @inode: inode to update
-+ *
-+ * This function updates mtime and ctime of the inode if it is not equivalent to
-+ * current time. Returns zero in case of success and a negative error code in
-+ * case of failure.
-+ */
-+static int update_mctime(struct ubifs_info *c, struct inode *inode)
-+{
-+ struct timespec now = ubifs_current_time(inode);
-+ struct ubifs_inode *ui = ubifs_inode(inode);
-+
-+ if (mctime_update_needed(inode, &now)) {
-+ int err, release;
-+ struct ubifs_budget_req req = { .dirtied_ino = 1,
-+ .dirtied_ino_d = ALIGN(ui->data_len, 8) };
-+
-+ err = ubifs_budget_space(c, &req);
-+ if (err)
-+ return err;
-+
-+ mutex_lock(&ui->ui_mutex);
-+ inode->i_mtime = inode->i_ctime = ubifs_current_time(inode);
-+ release = ui->dirty;
-+ mark_inode_dirty_sync(inode);
-+ mutex_unlock(&ui->ui_mutex);
-+ if (release)
-+ ubifs_release_budget(c, &req);
-+ }
-+
-+ return 0;
-+}
-+
-+static ssize_t ubifs_aio_write(struct kiocb *iocb, const struct iovec *iov,
-+ unsigned long nr_segs, loff_t pos)
-+{
-+ int err;
-+ ssize_t ret;
-+ struct inode *inode = iocb->ki_filp->f_mapping->host;
-+ struct ubifs_info *c = inode->i_sb->s_fs_info;
-+
-+ err = update_mctime(c, inode);
-+ if (err)
-+ return err;
-+
-+ ret = generic_file_aio_write(iocb, iov, nr_segs, pos);
-+ if (ret < 0)
-+ return ret;
-+
-+ if (ret > 0 && (IS_SYNC(inode) || iocb->ki_filp->f_flags & O_SYNC)) {
-+ err = ubifs_sync_wbufs_by_inode(c, inode);
-+ if (err)
-+ return err;
-+ }
-+
-+ return ret;
-+}
-+
-+static int ubifs_set_page_dirty(struct page *page)
-+{
-+ int ret;
-+
-+ ret = __set_page_dirty_nobuffers(page);
-+ /*
-+ * An attempt to dirty a page without budgeting for it - should not
-+ * happen.
-+ */
-+ ubifs_assert(ret == 0);
-+ return ret;
-+}
-+
-+static int ubifs_releasepage(struct page *page, gfp_t unused_gfp_flags)
-+{
-+ /*
-+ * An attempt to release a dirty page without budgeting for it - should
-+ * not happen.
-+ */
-+ if (PageWriteback(page))
-+ return 0;
-+ ubifs_assert(PagePrivate(page));
-+ ubifs_assert(0);
-+ ClearPagePrivate(page);
-+ ClearPageChecked(page);
-+ return 1;
-+}
-+
-+/*
-+ * mmap()d file has taken write protection fault and is being made
-+ * writable. UBIFS must ensure page is budgeted for.
-+ */
-+static int ubifs_vm_page_mkwrite(struct vm_area_struct *vma, struct page *page)
-+{
-+ struct inode *inode = vma->vm_file->f_path.dentry->d_inode;
-+ struct ubifs_info *c = inode->i_sb->s_fs_info;
-+ struct timespec now = ubifs_current_time(inode);
-+ struct ubifs_budget_req req = { .new_page = 1 };
-+ int err, update_time;
-+
-+ dbg_gen("ino %lu, pg %lu, i_size %lld", inode->i_ino, page->index,
-+ i_size_read(inode));
-+ ubifs_assert(!(inode->i_sb->s_flags & MS_RDONLY));
-+
-+ if (unlikely(c->ro_media))
-+ return -EROFS;
-+
-+ /*
-+ * We have not locked @page so far so we may budget for changing the
-+ * page. Note, we cannot do this after we locked the page, because
-+ * budgeting may cause write-back which would cause deadlock.
-+ *
-+ * At the moment we do not know whether the page is dirty or not, so we
-+ * assume that it is not and budget for a new page. We could look at
-+ * the @PG_private flag and figure this out, but we may race with write
-+ * back and the page state may change by the time we lock it, so this
-+ * would need additional care. We do not bother with this at the
-+ * moment, although it might be good idea to do. Instead, we allocate
-+ * budget for a new page and amend it later on if the page was in fact
-+ * dirty.
-+ *
-+ * The budgeting-related logic of this function is similar to what we
-+ * do in 'ubifs_write_begin()' and 'ubifs_write_end()'. Glance there
-+ * for more comments.
-+ */
-+ update_time = mctime_update_needed(inode, &now);
-+ if (update_time)
-+ /*
-+ * We have to change inode time stamp which requires extra
-+ * budgeting.
-+ */
-+ req.dirtied_ino = 1;
-+
-+ err = ubifs_budget_space(c, &req);
-+ if (unlikely(err)) {
-+ if (err == -ENOSPC)
-+ ubifs_warn("out of space for mmapped file "
-+ "(inode number %lu)", inode->i_ino);
-+ return err;
-+ }
-+
-+ lock_page(page);
-+ if (unlikely(page->mapping != inode->i_mapping ||
-+ page_offset(page) > i_size_read(inode))) {
-+ /* Page got truncated out from underneath us */
-+ err = -EINVAL;
-+ goto out_unlock;
-+ }
-+
-+ if (PagePrivate(page))
-+ release_new_page_budget(c);
-+ else {
-+ if (!PageChecked(page))
-+ ubifs_convert_page_budget(c);
-+ SetPagePrivate(page);
-+ atomic_long_inc(&c->dirty_pg_cnt);
-+ __set_page_dirty_nobuffers(page);
-+ }
-+
-+ if (update_time) {
-+ int release;
-+ struct ubifs_inode *ui = ubifs_inode(inode);
-+
-+ mutex_lock(&ui->ui_mutex);
-+ inode->i_mtime = inode->i_ctime = ubifs_current_time(inode);
-+ release = ui->dirty;
-+ mark_inode_dirty_sync(inode);
-+ mutex_unlock(&ui->ui_mutex);
-+ if (release)
-+ ubifs_release_dirty_inode_budget(c, ui);
-+ }
-+
-+ unlock_page(page);
-+ return 0;
-+
-+out_unlock:
-+ unlock_page(page);
-+ ubifs_release_budget(c, &req);
-+ return err;
-+}
-+
-+static struct vm_operations_struct ubifs_file_vm_ops = {
-+ .fault = filemap_fault,
-+ .page_mkwrite = ubifs_vm_page_mkwrite,
-+};
-+
-+static int ubifs_file_mmap(struct file *file, struct vm_area_struct *vma)
-+{
-+ int err;
-+
-+ /* 'generic_file_mmap()' takes care of NOMMU case */
-+ err = generic_file_mmap(file, vma);
-+ if (err)
-+ return err;
-+ vma->vm_ops = &ubifs_file_vm_ops;
-+ return 0;
-+}
-+
-+const struct address_space_operations ubifs_file_address_operations = {
-+ .readpage = ubifs_readpage,
-+ .writepage = ubifs_writepage,
-+ .write_begin = ubifs_write_begin,
-+ .write_end = ubifs_write_end,
-+ .invalidatepage = ubifs_invalidatepage,
-+ .set_page_dirty = ubifs_set_page_dirty,
-+ .releasepage = ubifs_releasepage,
-+};
-+
-+const struct inode_operations ubifs_file_inode_operations = {
-+ .setattr = ubifs_setattr,
-+ .getattr = ubifs_getattr,
-+#ifdef CONFIG_UBIFS_FS_XATTR
-+ .setxattr = ubifs_setxattr,
-+ .getxattr = ubifs_getxattr,
-+ .listxattr = ubifs_listxattr,
-+ .removexattr = ubifs_removexattr,
-+#endif
-+};
-+
-+const struct inode_operations ubifs_symlink_inode_operations = {
-+ .readlink = generic_readlink,
-+ .follow_link = ubifs_follow_link,
-+ .setattr = ubifs_setattr,
-+ .getattr = ubifs_getattr,
-+};
-+
-+const struct file_operations ubifs_file_operations = {
-+ .llseek = generic_file_llseek,
-+ .read = do_sync_read,
-+ .write = do_sync_write,
-+ .aio_read = generic_file_aio_read,
-+ .aio_write = ubifs_aio_write,
-+ .mmap = ubifs_file_mmap,
-+ .fsync = ubifs_fsync,
-+ .unlocked_ioctl = ubifs_ioctl,
-+ .splice_read = generic_file_splice_read,
-+ .splice_write = generic_file_splice_write,
-+#ifdef CONFIG_COMPAT
-+ .compat_ioctl = ubifs_compat_ioctl,
-+#endif
-+};
-diff -Nurd linux-2.6.24.orig/fs/ubifs/find.c linux-2.6.24/fs/ubifs/find.c
---- linux-2.6.24.orig/fs/ubifs/find.c 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.24/fs/ubifs/find.c 2009-04-17 09:49:28.000000000 +0200
-@@ -0,0 +1,977 @@
-+/*
-+ * This file is part of UBIFS.
-+ *
-+ * Copyright (C) 2006-2008 Nokia Corporation.
-+ *
-+ * This program is free software; you can redistribute it and/or modify it
-+ * under the terms of the GNU General Public License version 2 as published by
-+ * the Free Software Foundation.
-+ *
-+ * 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, write to the Free Software Foundation, Inc., 51
-+ * Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
-+ *
-+ * Authors: Artem Bityutskiy (Битюцкий Ðртём)
-+ * Adrian Hunter
-+ */
-+
-+/*
-+ * This file contains functions for finding LEBs for various purposes e.g.
-+ * garbage collection. In general, lprops category heaps and lists are used
-+ * for fast access, falling back on scanning the LPT as a last resort.
-+ */
-+
-+#include <linux/sort.h>
-+#include "ubifs.h"
-+
-+/**
-+ * struct scan_data - data provided to scan callback functions
-+ * @min_space: minimum number of bytes for which to scan
-+ * @pick_free: whether it is OK to scan for empty LEBs
-+ * @lnum: LEB number found is returned here
-+ * @exclude_index: whether to exclude index LEBs
-+ */
-+struct scan_data {
-+ int min_space;
-+ int pick_free;
-+ int lnum;
-+ int exclude_index;
-+};
-+
-+/**
-+ * valuable - determine whether LEB properties are valuable.
-+ * @c: the UBIFS file-system description object
-+ * @lprops: LEB properties
-+ *
-+ * This function return %1 if the LEB properties should be added to the LEB
-+ * properties tree in memory. Otherwise %0 is returned.
-+ */
-+static int valuable(struct ubifs_info *c, const struct ubifs_lprops *lprops)
-+{
-+ int n, cat = lprops->flags & LPROPS_CAT_MASK;
-+ struct ubifs_lpt_heap *heap;
-+
-+ switch (cat) {
-+ case LPROPS_DIRTY:
-+ case LPROPS_DIRTY_IDX:
-+ case LPROPS_FREE:
-+ heap = &c->lpt_heap[cat - 1];
-+ if (heap->cnt < heap->max_cnt)
-+ return 1;
-+ if (lprops->free + lprops->dirty >= c->dark_wm)
-+ return 1;
-+ return 0;
-+ case LPROPS_EMPTY:
-+ n = c->lst.empty_lebs + c->freeable_cnt -
-+ c->lst.taken_empty_lebs;
-+ if (n < c->lsave_cnt)
-+ return 1;
-+ return 0;
-+ case LPROPS_FREEABLE:
-+ return 1;
-+ case LPROPS_FRDI_IDX:
-+ return 1;
-+ }
-+ return 0;
-+}
-+
-+/**
-+ * scan_for_dirty_cb - dirty space scan callback.
-+ * @c: the UBIFS file-system description object
-+ * @lprops: LEB properties to scan
-+ * @in_tree: whether the LEB properties are in main memory
-+ * @data: information passed to and from the caller of the scan
-+ *
-+ * This function returns a code that indicates whether the scan should continue
-+ * (%LPT_SCAN_CONTINUE), whether the LEB properties should be added to the tree
-+ * in main memory (%LPT_SCAN_ADD), or whether the scan should stop
-+ * (%LPT_SCAN_STOP).
-+ */
-+static int scan_for_dirty_cb(struct ubifs_info *c,
-+ const struct ubifs_lprops *lprops, int in_tree,
-+ struct scan_data *data)
-+{
-+ int ret = LPT_SCAN_CONTINUE;
-+
-+ /* Exclude LEBs that are currently in use */
-+ if (lprops->flags & LPROPS_TAKEN)
-+ return LPT_SCAN_CONTINUE;
-+ /* Determine whether to add these LEB properties to the tree */
-+ if (!in_tree && valuable(c, lprops))
-+ ret |= LPT_SCAN_ADD;
-+ /* Exclude LEBs with too little space */
-+ if (lprops->free + lprops->dirty < data->min_space)
-+ return ret;
-+ /* If specified, exclude index LEBs */
-+ if (data->exclude_index && lprops->flags & LPROPS_INDEX)
-+ return ret;
-+ /* If specified, exclude empty or freeable LEBs */
-+ if (lprops->free + lprops->dirty == c->leb_size) {
-+ if (!data->pick_free)
-+ return ret;
-+ /* Exclude LEBs with too little dirty space (unless it is empty) */
-+ } else if (lprops->dirty < c->dead_wm)
-+ return ret;
-+ /* Finally we found space */
-+ data->lnum = lprops->lnum;
-+ return LPT_SCAN_ADD | LPT_SCAN_STOP;
-+}
-+
-+/**
-+ * scan_for_dirty - find a data LEB with free space.
-+ * @c: the UBIFS file-system description object
-+ * @min_space: minimum amount free plus dirty space the returned LEB has to
-+ * have
-+ * @pick_free: if it is OK to return a free or freeable LEB
-+ * @exclude_index: whether to exclude index LEBs
-+ *
-+ * This function returns a pointer to the LEB properties found or a negative
-+ * error code.
-+ */
-+static const struct ubifs_lprops *scan_for_dirty(struct ubifs_info *c,
-+ int min_space, int pick_free,
-+ int exclude_index)
-+{
-+ const struct ubifs_lprops *lprops;
-+ struct ubifs_lpt_heap *heap;
-+ struct scan_data data;
-+ int err, i;
-+
-+ /* There may be an LEB with enough dirty space on the free heap */
-+ heap = &c->lpt_heap[LPROPS_FREE - 1];
-+ for (i = 0; i < heap->cnt; i++) {
-+ lprops = heap->arr[i];
-+ if (lprops->free + lprops->dirty < min_space)
-+ continue;
-+ if (lprops->dirty < c->dead_wm)
-+ continue;
-+ return lprops;
-+ }
-+ /*
-+ * A LEB may have fallen off of the bottom of the dirty heap, and ended
-+ * up as uncategorized even though it has enough dirty space for us now,
-+ * so check the uncategorized list. N.B. neither empty nor freeable LEBs
-+ * can end up as uncategorized because they are kept on lists not
-+ * finite-sized heaps.
-+ */
-+ list_for_each_entry(lprops, &c->uncat_list, list) {
-+ if (lprops->flags & LPROPS_TAKEN)
-+ continue;
-+ if (lprops->free + lprops->dirty < min_space)
-+ continue;
-+ if (exclude_index && (lprops->flags & LPROPS_INDEX))
-+ continue;
-+ if (lprops->dirty < c->dead_wm)
-+ continue;
-+ return lprops;
-+ }
-+ /* We have looked everywhere in main memory, now scan the flash */
-+ if (c->pnodes_have >= c->pnode_cnt)
-+ /* All pnodes are in memory, so skip scan */
-+ return ERR_PTR(-ENOSPC);
-+ data.min_space = min_space;
-+ data.pick_free = pick_free;
-+ data.lnum = -1;
-+ data.exclude_index = exclude_index;
-+ err = ubifs_lpt_scan_nolock(c, -1, c->lscan_lnum,
-+ (ubifs_lpt_scan_callback)scan_for_dirty_cb,
-+ &data);
-+ if (err)
-+ return ERR_PTR(err);
-+ ubifs_assert(data.lnum >= c->main_first && data.lnum < c->leb_cnt);
-+ c->lscan_lnum = data.lnum;
-+ lprops = ubifs_lpt_lookup_dirty(c, data.lnum);
-+ if (IS_ERR(lprops))
-+ return lprops;
-+ ubifs_assert(lprops->lnum == data.lnum);
-+ ubifs_assert(lprops->free + lprops->dirty >= min_space);
-+ ubifs_assert(lprops->dirty >= c->dead_wm ||
-+ (pick_free &&
-+ lprops->free + lprops->dirty == c->leb_size));
-+ ubifs_assert(!(lprops->flags & LPROPS_TAKEN));
-+ ubifs_assert(!exclude_index || !(lprops->flags & LPROPS_INDEX));
-+ return lprops;
-+}
-+
-+/**
-+ * ubifs_find_dirty_leb - find a dirty LEB for the Garbage Collector.
-+ * @c: the UBIFS file-system description object
-+ * @ret_lp: LEB properties are returned here on exit
-+ * @min_space: minimum amount free plus dirty space the returned LEB has to
-+ * have
-+ * @pick_free: controls whether it is OK to pick empty or index LEBs
-+ *
-+ * This function tries to find a dirty logical eraseblock which has at least
-+ * @min_space free and dirty space. It prefers to take an LEB from the dirty or
-+ * dirty index heap, and it falls-back to LPT scanning if the heaps are empty
-+ * or do not have an LEB which satisfies the @min_space criteria.
-+ *
-+ * Note, LEBs which have less than dead watermark of free + dirty space are
-+ * never picked by this function.
-+ *
-+ * The additional @pick_free argument controls if this function has to return a
-+ * free or freeable LEB if one is present. For example, GC must to set it to %1,
-+ * when called from the journal space reservation function, because the
-+ * appearance of free space may coincide with the loss of enough dirty space
-+ * for GC to succeed anyway.
-+ *
-+ * In contrast, if the Garbage Collector is called from budgeting, it should
-+ * just make free space, not return LEBs which are already free or freeable.
-+ *
-+ * In addition @pick_free is set to %2 by the recovery process in order to
-+ * recover gc_lnum in which case an index LEB must not be returned.
-+ *
-+ * This function returns zero and the LEB properties of found dirty LEB in case
-+ * of success, %-ENOSPC if no dirty LEB was found and a negative error code in
-+ * case of other failures. The returned LEB is marked as "taken".
-+ */
-+int ubifs_find_dirty_leb(struct ubifs_info *c, struct ubifs_lprops *ret_lp,
-+ int min_space, int pick_free)
-+{
-+ int err = 0, sum, exclude_index = pick_free == 2 ? 1 : 0;
-+ const struct ubifs_lprops *lp = NULL, *idx_lp = NULL;
-+ struct ubifs_lpt_heap *heap, *idx_heap;
-+
-+ ubifs_get_lprops(c);
-+
-+ if (pick_free) {
-+ int lebs, rsvd_idx_lebs = 0;
-+
-+ spin_lock(&c->space_lock);
-+ lebs = c->lst.empty_lebs + c->idx_gc_cnt;
-+ lebs += c->freeable_cnt - c->lst.taken_empty_lebs;
-+
-+ /*
-+ * Note, the index may consume more LEBs than have been reserved
-+ * for it. It is OK because it might be consolidated by GC.
-+ * But if the index takes fewer LEBs than it is reserved for it,
-+ * this function must avoid picking those reserved LEBs.
-+ */
-+ if (c->min_idx_lebs >= c->lst.idx_lebs) {
-+ rsvd_idx_lebs = c->min_idx_lebs - c->lst.idx_lebs;
-+ exclude_index = 1;
-+ }
-+ spin_unlock(&c->space_lock);
-+
-+ /* Check if there are enough free LEBs for the index */
-+ if (rsvd_idx_lebs < lebs) {
-+ /* OK, try to find an empty LEB */
-+ lp = ubifs_fast_find_empty(c);
-+ if (lp)
-+ goto found;
-+
-+ /* Or a freeable LEB */
-+ lp = ubifs_fast_find_freeable(c);
-+ if (lp)
-+ goto found;
-+ } else
-+ /*
-+ * We cannot pick free/freeable LEBs in the below code.
-+ */
-+ pick_free = 0;
-+ } else {
-+ spin_lock(&c->space_lock);
-+ exclude_index = (c->min_idx_lebs >= c->lst.idx_lebs);
-+ spin_unlock(&c->space_lock);
-+ }
-+
-+ /* Look on the dirty and dirty index heaps */
-+ heap = &c->lpt_heap[LPROPS_DIRTY - 1];
-+ idx_heap = &c->lpt_heap[LPROPS_DIRTY_IDX - 1];
-+
-+ if (idx_heap->cnt && !exclude_index) {
-+ idx_lp = idx_heap->arr[0];
-+ sum = idx_lp->free + idx_lp->dirty;
-+ /*
-+ * Since we reserve thrice as much space for the index than it
-+ * actually takes, it does not make sense to pick indexing LEBs
-+ * with less than, say, half LEB of dirty space. May be half is
-+ * not the optimal boundary - this should be tested and
-+ * checked. This boundary should determine how much we use
-+ * in-the-gaps to consolidate the index comparing to how much
-+ * we use garbage collector to consolidate it. The "half"
-+ * criteria just feels to be fine.
-+ */
-+ if (sum < min_space || sum < c->half_leb_size)
-+ idx_lp = NULL;
-+ }
-+
-+ if (heap->cnt) {
-+ lp = heap->arr[0];
-+ if (lp->dirty + lp->free < min_space)
-+ lp = NULL;
-+ }
-+
-+ /* Pick the LEB with most space */
-+ if (idx_lp && lp) {
-+ if (idx_lp->free + idx_lp->dirty >= lp->free + lp->dirty)
-+ lp = idx_lp;
-+ } else if (idx_lp && !lp)
-+ lp = idx_lp;
-+
-+ if (lp) {
-+ ubifs_assert(lp->free + lp->dirty >= c->dead_wm);
-+ goto found;
-+ }
-+
-+ /* Did not find a dirty LEB on the dirty heaps, have to scan */
-+ dbg_find("scanning LPT for a dirty LEB");
-+ lp = scan_for_dirty(c, min_space, pick_free, exclude_index);
-+ if (IS_ERR(lp)) {
-+ err = PTR_ERR(lp);
-+ goto out;
-+ }
-+ ubifs_assert(lp->dirty >= c->dead_wm ||
-+ (pick_free && lp->free + lp->dirty == c->leb_size));
-+
-+found:
-+ dbg_find("found LEB %d, free %d, dirty %d, flags %#x",
-+ lp->lnum, lp->free, lp->dirty, lp->flags);
-+
-+ lp = ubifs_change_lp(c, lp, LPROPS_NC, LPROPS_NC,
-+ lp->flags | LPROPS_TAKEN, 0);
-+ if (IS_ERR(lp)) {
-+ err = PTR_ERR(lp);
-+ goto out;
-+ }
-+
-+ memcpy(ret_lp, lp, sizeof(struct ubifs_lprops));
-+
-+out:
-+ ubifs_release_lprops(c);
-+ return err;
-+}
-+
-+/**
-+ * scan_for_free_cb - free space scan callback.
-+ * @c: the UBIFS file-system description object
-+ * @lprops: LEB properties to scan
-+ * @in_tree: whether the LEB properties are in main memory
-+ * @data: information passed to and from the caller of the scan
-+ *
-+ * This function returns a code that indicates whether the scan should continue
-+ * (%LPT_SCAN_CONTINUE), whether the LEB properties should be added to the tree
-+ * in main memory (%LPT_SCAN_ADD), or whether the scan should stop
-+ * (%LPT_SCAN_STOP).
-+ */
-+static int scan_for_free_cb(struct ubifs_info *c,
-+ const struct ubifs_lprops *lprops, int in_tree,
-+ struct scan_data *data)
-+{
-+ int ret = LPT_SCAN_CONTINUE;
-+
-+ /* Exclude LEBs that are currently in use */
-+ if (lprops->flags & LPROPS_TAKEN)
-+ return LPT_SCAN_CONTINUE;
-+ /* Determine whether to add these LEB properties to the tree */
-+ if (!in_tree && valuable(c, lprops))
-+ ret |= LPT_SCAN_ADD;
-+ /* Exclude index LEBs */
-+ if (lprops->flags & LPROPS_INDEX)
-+ return ret;
-+ /* Exclude LEBs with too little space */
-+ if (lprops->free < data->min_space)
-+ return ret;
-+ /* If specified, exclude empty LEBs */
-+ if (!data->pick_free && lprops->free == c->leb_size)
-+ return ret;
-+ /*
-+ * LEBs that have only free and dirty space must not be allocated
-+ * because they may have been unmapped already or they may have data
-+ * that is obsolete only because of nodes that are still sitting in a
-+ * wbuf.
-+ */
-+ if (lprops->free + lprops->dirty == c->leb_size && lprops->dirty > 0)
-+ return ret;
-+ /* Finally we found space */
-+ data->lnum = lprops->lnum;
-+ return LPT_SCAN_ADD | LPT_SCAN_STOP;
-+}
-+
-+/**
-+ * do_find_free_space - find a data LEB with free space.
-+ * @c: the UBIFS file-system description object
-+ * @min_space: minimum amount of free space required
-+ * @pick_free: whether it is OK to scan for empty LEBs
-+ * @squeeze: whether to try to find space in a non-empty LEB first
-+ *
-+ * This function returns a pointer to the LEB properties found or a negative
-+ * error code.
-+ */
-+static
-+const struct ubifs_lprops *do_find_free_space(struct ubifs_info *c,
-+ int min_space, int pick_free,
-+ int squeeze)
-+{
-+ const struct ubifs_lprops *lprops;
-+ struct ubifs_lpt_heap *heap;
-+ struct scan_data data;
-+ int err, i;
-+
-+ if (squeeze) {
-+ lprops = ubifs_fast_find_free(c);
-+ if (lprops && lprops->free >= min_space)
-+ return lprops;
-+ }
-+ if (pick_free) {
-+ lprops = ubifs_fast_find_empty(c);
-+ if (lprops)
-+ return lprops;
-+ }
-+ if (!squeeze) {
-+ lprops = ubifs_fast_find_free(c);
-+ if (lprops && lprops->free >= min_space)
-+ return lprops;
-+ }
-+ /* There may be an LEB with enough free space on the dirty heap */
-+ heap = &c->lpt_heap[LPROPS_DIRTY - 1];
-+ for (i = 0; i < heap->cnt; i++) {
-+ lprops = heap->arr[i];
-+ if (lprops->free >= min_space)
-+ return lprops;
-+ }
-+ /*
-+ * A LEB may have fallen off of the bottom of the free heap, and ended
-+ * up as uncategorized even though it has enough free space for us now,
-+ * so check the uncategorized list. N.B. neither empty nor freeable LEBs
-+ * can end up as uncategorized because they are kept on lists not
-+ * finite-sized heaps.
-+ */
-+ list_for_each_entry(lprops, &c->uncat_list, list) {
-+ if (lprops->flags & LPROPS_TAKEN)
-+ continue;
-+ if (lprops->flags & LPROPS_INDEX)
-+ continue;
-+ if (lprops->free >= min_space)
-+ return lprops;
-+ }
-+ /* We have looked everywhere in main memory, now scan the flash */
-+ if (c->pnodes_have >= c->pnode_cnt)
-+ /* All pnodes are in memory, so skip scan */
-+ return ERR_PTR(-ENOSPC);
-+ data.min_space = min_space;
-+ data.pick_free = pick_free;
-+ data.lnum = -1;
-+ err = ubifs_lpt_scan_nolock(c, -1, c->lscan_lnum,
-+ (ubifs_lpt_scan_callback)scan_for_free_cb,
-+ &data);
-+ if (err)
-+ return ERR_PTR(err);
-+ ubifs_assert(data.lnum >= c->main_first && data.lnum < c->leb_cnt);
-+ c->lscan_lnum = data.lnum;
-+ lprops = ubifs_lpt_lookup_dirty(c, data.lnum);
-+ if (IS_ERR(lprops))
-+ return lprops;
-+ ubifs_assert(lprops->lnum == data.lnum);
-+ ubifs_assert(lprops->free >= min_space);
-+ ubifs_assert(!(lprops->flags & LPROPS_TAKEN));
-+ ubifs_assert(!(lprops->flags & LPROPS_INDEX));
-+ return lprops;
-+}
-+
-+/**
-+ * ubifs_find_free_space - find a data LEB with free space.
-+ * @c: the UBIFS file-system description object
-+ * @min_space: minimum amount of required free space
-+ * @free: contains amount of free space in the LEB on exit
-+ * @squeeze: whether to try to find space in a non-empty LEB first
-+ *
-+ * This function looks for an LEB with at least @min_space bytes of free space.
-+ * It tries to find an empty LEB if possible. If no empty LEBs are available,
-+ * this function searches for a non-empty data LEB. The returned LEB is marked
-+ * as "taken".
-+ *
-+ * This function returns found LEB number in case of success, %-ENOSPC if it
-+ * failed to find a LEB with @min_space bytes of free space and other a negative
-+ * error codes in case of failure.
-+ */
-+int ubifs_find_free_space(struct ubifs_info *c, int min_space, int *free,
-+ int squeeze)
-+{
-+ const struct ubifs_lprops *lprops;
-+ int lebs, rsvd_idx_lebs, pick_free = 0, err, lnum, flags;
-+
-+ dbg_find("min_space %d", min_space);
-+ ubifs_get_lprops(c);
-+
-+ /* Check if there are enough empty LEBs for commit */
-+ spin_lock(&c->space_lock);
-+ if (c->min_idx_lebs > c->lst.idx_lebs)
-+ rsvd_idx_lebs = c->min_idx_lebs - c->lst.idx_lebs;
-+ else
-+ rsvd_idx_lebs = 0;
-+ lebs = c->lst.empty_lebs + c->freeable_cnt + c->idx_gc_cnt -
-+ c->lst.taken_empty_lebs;
-+ if (rsvd_idx_lebs < lebs)
-+ /*
-+ * OK to allocate an empty LEB, but we still don't want to go
-+ * looking for one if there aren't any.
-+ */
-+ if (c->lst.empty_lebs - c->lst.taken_empty_lebs > 0) {
-+ pick_free = 1;
-+ /*
-+ * Because we release the space lock, we must account
-+ * for this allocation here. After the LEB properties
-+ * flags have been updated, we subtract one. Note, the
-+ * result of this is that lprops also decreases
-+ * @taken_empty_lebs in 'ubifs_change_lp()', so it is
-+ * off by one for a short period of time which may
-+ * introduce a small disturbance to budgeting
-+ * calculations, but this is harmless because at the
-+ * worst case this would make the budgeting subsystem
-+ * be more pessimistic than needed.
-+ *
-+ * Fundamentally, this is about serialization of the
-+ * budgeting and lprops subsystems. We could make the
-+ * @space_lock a mutex and avoid dropping it before
-+ * calling 'ubifs_change_lp()', but mutex is more
-+ * heavy-weight, and we want budgeting to be as fast as
-+ * possible.
-+ */
-+ c->lst.taken_empty_lebs += 1;
-+ }
-+ spin_unlock(&c->space_lock);
-+
-+ lprops = do_find_free_space(c, min_space, pick_free, squeeze);
-+ if (IS_ERR(lprops)) {
-+ err = PTR_ERR(lprops);
-+ goto out;
-+ }
-+
-+ lnum = lprops->lnum;
-+ flags = lprops->flags | LPROPS_TAKEN;
-+
-+ lprops = ubifs_change_lp(c, lprops, LPROPS_NC, LPROPS_NC, flags, 0);
-+ if (IS_ERR(lprops)) {
-+ err = PTR_ERR(lprops);
-+ goto out;
-+ }
-+
-+ if (pick_free) {
-+ spin_lock(&c->space_lock);
-+ c->lst.taken_empty_lebs -= 1;
-+ spin_unlock(&c->space_lock);
-+ }
-+
-+ *free = lprops->free;
-+ ubifs_release_lprops(c);
-+
-+ if (*free == c->leb_size) {
-+ /*
-+ * Ensure that empty LEBs have been unmapped. They may not have
-+ * been, for example, because of an unclean unmount. Also
-+ * LEBs that were freeable LEBs (free + dirty == leb_size) will
-+ * not have been unmapped.
-+ */
-+ err = ubifs_leb_unmap(c, lnum);
-+ if (err)
-+ return err;
-+ }
-+
-+ dbg_find("found LEB %d, free %d", lnum, *free);
-+ ubifs_assert(*free >= min_space);
-+ return lnum;
-+
-+out:
-+ if (pick_free) {
-+ spin_lock(&c->space_lock);
-+ c->lst.taken_empty_lebs -= 1;
-+ spin_unlock(&c->space_lock);
-+ }
-+ ubifs_release_lprops(c);
-+ return err;
-+}
-+
-+/**
-+ * scan_for_idx_cb - callback used by the scan for a free LEB for the index.
-+ * @c: the UBIFS file-system description object
-+ * @lprops: LEB properties to scan
-+ * @in_tree: whether the LEB properties are in main memory
-+ * @data: information passed to and from the caller of the scan
-+ *
-+ * This function returns a code that indicates whether the scan should continue
-+ * (%LPT_SCAN_CONTINUE), whether the LEB properties should be added to the tree
-+ * in main memory (%LPT_SCAN_ADD), or whether the scan should stop
-+ * (%LPT_SCAN_STOP).
-+ */
-+static int scan_for_idx_cb(struct ubifs_info *c,
-+ const struct ubifs_lprops *lprops, int in_tree,
-+ struct scan_data *data)
-+{
-+ int ret = LPT_SCAN_CONTINUE;
-+
-+ /* Exclude LEBs that are currently in use */
-+ if (lprops->flags & LPROPS_TAKEN)
-+ return LPT_SCAN_CONTINUE;
-+ /* Determine whether to add these LEB properties to the tree */
-+ if (!in_tree && valuable(c, lprops))
-+ ret |= LPT_SCAN_ADD;
-+ /* Exclude index LEBS */
-+ if (lprops->flags & LPROPS_INDEX)
-+ return ret;
-+ /* Exclude LEBs that cannot be made empty */
-+ if (lprops->free + lprops->dirty != c->leb_size)
-+ return ret;
-+ /*
-+ * We are allocating for the index so it is safe to allocate LEBs with
-+ * only free and dirty space, because write buffers are sync'd at commit
-+ * start.
-+ */
-+ data->lnum = lprops->lnum;
-+ return LPT_SCAN_ADD | LPT_SCAN_STOP;
-+}
-+
-+/**
-+ * scan_for_leb_for_idx - scan for a free LEB for the index.
-+ * @c: the UBIFS file-system description object
-+ */
-+static const struct ubifs_lprops *scan_for_leb_for_idx(struct ubifs_info *c)
-+{
-+ struct ubifs_lprops *lprops;
-+ struct scan_data data;
-+ int err;
-+
-+ data.lnum = -1;
-+ err = ubifs_lpt_scan_nolock(c, -1, c->lscan_lnum,
-+ (ubifs_lpt_scan_callback)scan_for_idx_cb,
-+ &data);
-+ if (err)
-+ return ERR_PTR(err);
-+ ubifs_assert(data.lnum >= c->main_first && data.lnum < c->leb_cnt);
-+ c->lscan_lnum = data.lnum;
-+ lprops = ubifs_lpt_lookup_dirty(c, data.lnum);
-+ if (IS_ERR(lprops))
-+ return lprops;
-+ ubifs_assert(lprops->lnum == data.lnum);
-+ ubifs_assert(lprops->free + lprops->dirty == c->leb_size);
-+ ubifs_assert(!(lprops->flags & LPROPS_TAKEN));
-+ ubifs_assert(!(lprops->flags & LPROPS_INDEX));
-+ return lprops;
-+}
-+
-+/**
-+ * ubifs_find_free_leb_for_idx - find a free LEB for the index.
-+ * @c: the UBIFS file-system description object
-+ *
-+ * This function looks for a free LEB and returns that LEB number. The returned
-+ * LEB is marked as "taken", "index".
-+ *
-+ * Only empty LEBs are allocated. This is for two reasons. First, the commit
-+ * calculates the number of LEBs to allocate based on the assumption that they
-+ * will be empty. Secondly, free space at the end of an index LEB is not
-+ * guaranteed to be empty because it may have been used by the in-the-gaps
-+ * method prior to an unclean unmount.
-+ *
-+ * If no LEB is found %-ENOSPC is returned. For other failures another negative
-+ * error code is returned.
-+ */
-+int ubifs_find_free_leb_for_idx(struct ubifs_info *c)
-+{
-+ const struct ubifs_lprops *lprops;
-+ int lnum = -1, err, flags;
-+
-+ ubifs_get_lprops(c);
-+
-+ lprops = ubifs_fast_find_empty(c);
-+ if (!lprops) {
-+ lprops = ubifs_fast_find_freeable(c);
-+ if (!lprops) {
-+ ubifs_assert(c->freeable_cnt == 0);
-+ if (c->lst.empty_lebs - c->lst.taken_empty_lebs > 0) {
-+ lprops = scan_for_leb_for_idx(c);
-+ if (IS_ERR(lprops)) {
-+ err = PTR_ERR(lprops);
-+ goto out;
-+ }
-+ }
-+ }
-+ }
-+
-+ if (!lprops) {
-+ err = -ENOSPC;
-+ goto out;
-+ }
-+
-+ lnum = lprops->lnum;
-+
-+ dbg_find("found LEB %d, free %d, dirty %d, flags %#x",
-+ lnum, lprops->free, lprops->dirty, lprops->flags);
-+
-+ flags = lprops->flags | LPROPS_TAKEN | LPROPS_INDEX;
-+ lprops = ubifs_change_lp(c, lprops, c->leb_size, 0, flags, 0);
-+ if (IS_ERR(lprops)) {
-+ err = PTR_ERR(lprops);
-+ goto out;
-+ }
-+
-+ ubifs_release_lprops(c);
-+
-+ /*
-+ * Ensure that empty LEBs have been unmapped. They may not have been,
-+ * for example, because of an unclean unmount. Also LEBs that were
-+ * freeable LEBs (free + dirty == leb_size) will not have been unmapped.
-+ */
-+ err = ubifs_leb_unmap(c, lnum);
-+ if (err) {
-+ ubifs_change_one_lp(c, lnum, LPROPS_NC, LPROPS_NC, 0,
-+ LPROPS_TAKEN | LPROPS_INDEX, 0);
-+ return err;
-+ }
-+
-+ return lnum;
-+
-+out:
-+ ubifs_release_lprops(c);
-+ return err;
-+}
-+
-+static int cmp_dirty_idx(const struct ubifs_lprops **a,
-+ const struct ubifs_lprops **b)
-+{
-+ const struct ubifs_lprops *lpa = *a;
-+ const struct ubifs_lprops *lpb = *b;
-+
-+ return lpa->dirty + lpa->free - lpb->dirty - lpb->free;
-+}
-+
-+static void swap_dirty_idx(struct ubifs_lprops **a, struct ubifs_lprops **b,
-+ int size)
-+{
-+ struct ubifs_lprops *t = *a;
-+
-+ *a = *b;
-+ *b = t;
-+}
-+
-+/**
-+ * ubifs_save_dirty_idx_lnums - save an array of the most dirty index LEB nos.
-+ * @c: the UBIFS file-system description object
-+ *
-+ * This function is called each commit to create an array of LEB numbers of
-+ * dirty index LEBs sorted in order of dirty and free space. This is used by
-+ * the in-the-gaps method of TNC commit.
-+ */
-+int ubifs_save_dirty_idx_lnums(struct ubifs_info *c)
-+{
-+ int i;
-+
-+ ubifs_get_lprops(c);
-+ /* Copy the LPROPS_DIRTY_IDX heap */
-+ c->dirty_idx.cnt = c->lpt_heap[LPROPS_DIRTY_IDX - 1].cnt;
-+ memcpy(c->dirty_idx.arr, c->lpt_heap[LPROPS_DIRTY_IDX - 1].arr,
-+ sizeof(void *) * c->dirty_idx.cnt);
-+ /* Sort it so that the dirtiest is now at the end */
-+ sort(c->dirty_idx.arr, c->dirty_idx.cnt, sizeof(void *),
-+ (int (*)(const void *, const void *))cmp_dirty_idx,
-+ (void (*)(void *, void *, int))swap_dirty_idx);
-+ dbg_find("found %d dirty index LEBs", c->dirty_idx.cnt);
-+ if (c->dirty_idx.cnt)
-+ dbg_find("dirtiest index LEB is %d with dirty %d and free %d",
-+ c->dirty_idx.arr[c->dirty_idx.cnt - 1]->lnum,
-+ c->dirty_idx.arr[c->dirty_idx.cnt - 1]->dirty,
-+ c->dirty_idx.arr[c->dirty_idx.cnt - 1]->free);
-+ /* Replace the lprops pointers with LEB numbers */
-+ for (i = 0; i < c->dirty_idx.cnt; i++)
-+ c->dirty_idx.arr[i] = (void *)(size_t)c->dirty_idx.arr[i]->lnum;
-+ ubifs_release_lprops(c);
-+ return 0;
-+}
-+
-+/**
-+ * scan_dirty_idx_cb - callback used by the scan for a dirty index LEB.
-+ * @c: the UBIFS file-system description object
-+ * @lprops: LEB properties to scan
-+ * @in_tree: whether the LEB properties are in main memory
-+ * @data: information passed to and from the caller of the scan
-+ *
-+ * This function returns a code that indicates whether the scan should continue
-+ * (%LPT_SCAN_CONTINUE), whether the LEB properties should be added to the tree
-+ * in main memory (%LPT_SCAN_ADD), or whether the scan should stop
-+ * (%LPT_SCAN_STOP).
-+ */
-+static int scan_dirty_idx_cb(struct ubifs_info *c,
-+ const struct ubifs_lprops *lprops, int in_tree,
-+ struct scan_data *data)
-+{
-+ int ret = LPT_SCAN_CONTINUE;
-+
-+ /* Exclude LEBs that are currently in use */
-+ if (lprops->flags & LPROPS_TAKEN)
-+ return LPT_SCAN_CONTINUE;
-+ /* Determine whether to add these LEB properties to the tree */
-+ if (!in_tree && valuable(c, lprops))
-+ ret |= LPT_SCAN_ADD;
-+ /* Exclude non-index LEBs */
-+ if (!(lprops->flags & LPROPS_INDEX))
-+ return ret;
-+ /* Exclude LEBs with too little space */
-+ if (lprops->free + lprops->dirty < c->min_idx_node_sz)
-+ return ret;
-+ /* Finally we found space */
-+ data->lnum = lprops->lnum;
-+ return LPT_SCAN_ADD | LPT_SCAN_STOP;
-+}
-+
-+/**
-+ * find_dirty_idx_leb - find a dirty index LEB.
-+ * @c: the UBIFS file-system description object
-+ *
-+ * This function returns LEB number upon success and a negative error code upon
-+ * failure. In particular, -ENOSPC is returned if a dirty index LEB is not
-+ * found.
-+ *
-+ * Note that this function scans the entire LPT but it is called very rarely.
-+ */
-+static int find_dirty_idx_leb(struct ubifs_info *c)
-+{
-+ const struct ubifs_lprops *lprops;
-+ struct ubifs_lpt_heap *heap;
-+ struct scan_data data;
-+ int err, i, ret;
-+
-+ /* Check all structures in memory first */
-+ data.lnum = -1;
-+ heap = &c->lpt_heap[LPROPS_DIRTY_IDX - 1];
-+ for (i = 0; i < heap->cnt; i++) {
-+ lprops = heap->arr[i];
-+ ret = scan_dirty_idx_cb(c, lprops, 1, &data);
-+ if (ret & LPT_SCAN_STOP)
-+ goto found;
-+ }
-+ list_for_each_entry(lprops, &c->frdi_idx_list, list) {
-+ ret = scan_dirty_idx_cb(c, lprops, 1, &data);
-+ if (ret & LPT_SCAN_STOP)
-+ goto found;
-+ }
-+ list_for_each_entry(lprops, &c->uncat_list, list) {
-+ ret = scan_dirty_idx_cb(c, lprops, 1, &data);
-+ if (ret & LPT_SCAN_STOP)
-+ goto found;
-+ }
-+ if (c->pnodes_have >= c->pnode_cnt)
-+ /* All pnodes are in memory, so skip scan */
-+ return -ENOSPC;
-+ err = ubifs_lpt_scan_nolock(c, -1, c->lscan_lnum,
-+ (ubifs_lpt_scan_callback)scan_dirty_idx_cb,
-+ &data);
-+ if (err)
-+ return err;
-+found:
-+ ubifs_assert(data.lnum >= c->main_first && data.lnum < c->leb_cnt);
-+ c->lscan_lnum = data.lnum;
-+ lprops = ubifs_lpt_lookup_dirty(c, data.lnum);
-+ if (IS_ERR(lprops))
-+ return PTR_ERR(lprops);
-+ ubifs_assert(lprops->lnum == data.lnum);
-+ ubifs_assert(lprops->free + lprops->dirty >= c->min_idx_node_sz);
-+ ubifs_assert(!(lprops->flags & LPROPS_TAKEN));
-+ ubifs_assert((lprops->flags & LPROPS_INDEX));
-+
-+ dbg_find("found dirty LEB %d, free %d, dirty %d, flags %#x",
-+ lprops->lnum, lprops->free, lprops->dirty, lprops->flags);
-+
-+ lprops = ubifs_change_lp(c, lprops, LPROPS_NC, LPROPS_NC,
-+ lprops->flags | LPROPS_TAKEN, 0);
-+ if (IS_ERR(lprops))
-+ return PTR_ERR(lprops);
-+
-+ return lprops->lnum;
-+}
-+
-+/**
-+ * get_idx_gc_leb - try to get a LEB number from trivial GC.
-+ * @c: the UBIFS file-system description object
-+ */
-+static int get_idx_gc_leb(struct ubifs_info *c)
-+{
-+ const struct ubifs_lprops *lp;
-+ int err, lnum;
-+
-+ err = ubifs_get_idx_gc_leb(c);
-+ if (err < 0)
-+ return err;
-+ lnum = err;
-+ /*
-+ * The LEB was due to be unmapped after the commit but
-+ * it is needed now for this commit.
-+ */
-+ lp = ubifs_lpt_lookup_dirty(c, lnum);
-+ if (IS_ERR(lp))
-+ return PTR_ERR(lp);
-+ lp = ubifs_change_lp(c, lp, LPROPS_NC, LPROPS_NC,
-+ lp->flags | LPROPS_INDEX, -1);
-+ if (IS_ERR(lp))
-+ return PTR_ERR(lp);
-+ dbg_find("LEB %d, dirty %d and free %d flags %#x",
-+ lp->lnum, lp->dirty, lp->free, lp->flags);
-+ return lnum;
-+}
-+
-+/**
-+ * find_dirtiest_idx_leb - find dirtiest index LEB from dirtiest array.
-+ * @c: the UBIFS file-system description object
-+ */
-+static int find_dirtiest_idx_leb(struct ubifs_info *c)
-+{
-+ const struct ubifs_lprops *lp;
-+ int lnum;
-+
-+ while (1) {
-+ if (!c->dirty_idx.cnt)
-+ return -ENOSPC;
-+ /* The lprops pointers were replaced by LEB numbers */
-+ lnum = (size_t)c->dirty_idx.arr[--c->dirty_idx.cnt];
-+ lp = ubifs_lpt_lookup(c, lnum);
-+ if (IS_ERR(lp))
-+ return PTR_ERR(lp);
-+ if ((lp->flags & LPROPS_TAKEN) || !(lp->flags & LPROPS_INDEX))
-+ continue;
-+ lp = ubifs_change_lp(c, lp, LPROPS_NC, LPROPS_NC,
-+ lp->flags | LPROPS_TAKEN, 0);
-+ if (IS_ERR(lp))
-+ return PTR_ERR(lp);
-+ break;
-+ }
-+ dbg_find("LEB %d, dirty %d and free %d flags %#x", lp->lnum, lp->dirty,
-+ lp->free, lp->flags);
-+ ubifs_assert(lp->flags | LPROPS_TAKEN);
-+ ubifs_assert(lp->flags | LPROPS_INDEX);
-+ return lnum;
-+}
-+
-+/**
-+ * ubifs_find_dirty_idx_leb - try to find dirtiest index LEB as at last commit.
-+ * @c: the UBIFS file-system description object
-+ *
-+ * This function attempts to find an untaken index LEB with the most free and
-+ * dirty space that can be used without overwriting index nodes that were in the
-+ * last index committed.
-+ */
-+int ubifs_find_dirty_idx_leb(struct ubifs_info *c)
-+{
-+ int err;
-+
-+ ubifs_get_lprops(c);
-+
-+ /*
-+ * We made an array of the dirtiest index LEB numbers as at the start of
-+ * last commit. Try that array first.
-+ */
-+ err = find_dirtiest_idx_leb(c);
-+
-+ /* Next try scanning the entire LPT */
-+ if (err == -ENOSPC)
-+ err = find_dirty_idx_leb(c);
-+
-+ /* Finally take any index LEBs awaiting trivial GC */
-+ if (err == -ENOSPC)
-+ err = get_idx_gc_leb(c);
-+
-+ ubifs_release_lprops(c);
-+ return err;
-+}
-diff -Nurd linux-2.6.24.orig/fs/ubifs/gc.c linux-2.6.24/fs/ubifs/gc.c
---- linux-2.6.24.orig/fs/ubifs/gc.c 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.24/fs/ubifs/gc.c 2009-04-17 09:49:28.000000000 +0200
-@@ -0,0 +1,869 @@
-+/*
-+ * This file is part of UBIFS.
-+ *
-+ * Copyright (C) 2006-2008 Nokia Corporation.
-+ *
-+ * This program is free software; you can redistribute it and/or modify it
-+ * under the terms of the GNU General Public License version 2 as published by
-+ * the Free Software Foundation.
-+ *
-+ * 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, write to the Free Software Foundation, Inc., 51
-+ * Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
-+ *
-+ * Authors: Adrian Hunter
-+ * Artem Bityutskiy (Битюцкий Ðртём)
-+ */
-+
-+/*
-+ * This file implements garbage collection. The procedure for garbage collection
-+ * is different depending on whether a LEB as an index LEB (contains index
-+ * nodes) or not. For non-index LEBs, garbage collection finds a LEB which
-+ * contains a lot of dirty space (obsolete nodes), and copies the non-obsolete
-+ * nodes to the journal, at which point the garbage-collected LEB is free to be
-+ * reused. For index LEBs, garbage collection marks the non-obsolete index nodes
-+ * dirty in the TNC, and after the next commit, the garbage-collected LEB is
-+ * to be reused. Garbage collection will cause the number of dirty index nodes
-+ * to grow, however sufficient space is reserved for the index to ensure the
-+ * commit will never run out of space.
-+ *
-+ * Notes about dead watermark. At current UBIFS implementation we assume that
-+ * LEBs which have less than @c->dead_wm bytes of free + dirty space are full
-+ * and not worth garbage-collecting. The dead watermark is one min. I/O unit
-+ * size, or min. UBIFS node size, depending on what is greater. Indeed, UBIFS
-+ * Garbage Collector has to synchronize the GC head's write buffer before
-+ * returning, so this is about wasting one min. I/O unit. However, UBIFS GC can
-+ * actually reclaim even very small pieces of dirty space by garbage collecting
-+ * enough dirty LEBs, but we do not bother doing this at this implementation.
-+ *
-+ * Notes about dark watermark. The results of GC work depends on how big are
-+ * the UBIFS nodes GC deals with. Large nodes make GC waste more space. Indeed,
-+ * if GC move data from LEB A to LEB B and nodes in LEB A are large, GC would
-+ * have to waste large pieces of free space at the end of LEB B, because nodes
-+ * from LEB A would not fit. And the worst situation is when all nodes are of
-+ * maximum size. So dark watermark is the amount of free + dirty space in LEB
-+ * which are guaranteed to be reclaimable. If LEB has less space, the GC migh
-+ * be unable to reclaim it. So, LEBs with free + dirty greater than dark
-+ * watermark are "good" LEBs from GC's point of few. The other LEBs are not so
-+ * good, and GC takes extra care when moving them.
-+ */
-+
-+#include <linux/pagemap.h>
-+#include "ubifs.h"
-+
-+/*
-+ * GC tries to optimize the way it fit nodes to available space, and it sorts
-+ * nodes a little. The below constants are watermarks which define "large",
-+ * "medium", and "small" nodes.
-+ */
-+#define MEDIUM_NODE_WM (UBIFS_BLOCK_SIZE / 4)
-+#define SMALL_NODE_WM UBIFS_MAX_DENT_NODE_SZ
-+
-+/*
-+ * GC may need to move more then one LEB to make progress. The below constants
-+ * define "soft" and "hard" limits on the number of LEBs the garbage collector
-+ * may move.
-+ */
-+#define SOFT_LEBS_LIMIT 4
-+#define HARD_LEBS_LIMIT 32
-+
-+/**
-+ * switch_gc_head - switch the garbage collection journal head.
-+ * @c: UBIFS file-system description object
-+ * @buf: buffer to write
-+ * @len: length of the buffer to write
-+ * @lnum: LEB number written is returned here
-+ * @offs: offset written is returned here
-+ *
-+ * This function switch the GC head to the next LEB which is reserved in
-+ * @c->gc_lnum. Returns %0 in case of success, %-EAGAIN if commit is required,
-+ * and other negative error code in case of failures.
-+ */
-+static int switch_gc_head(struct ubifs_info *c)
-+{
-+ int err, gc_lnum = c->gc_lnum;
-+ struct ubifs_wbuf *wbuf = &c->jheads[GCHD].wbuf;
-+
-+ ubifs_assert(gc_lnum != -1);
-+ dbg_gc("switch GC head from LEB %d:%d to LEB %d (waste %d bytes)",
-+ wbuf->lnum, wbuf->offs + wbuf->used, gc_lnum,
-+ c->leb_size - wbuf->offs - wbuf->used);
-+
-+ err = ubifs_wbuf_sync_nolock(wbuf);
-+ if (err)
-+ return err;
-+
-+ /*
-+ * The GC write-buffer was synchronized, we may safely unmap
-+ * 'c->gc_lnum'.
-+ */
-+ err = ubifs_leb_unmap(c, gc_lnum);
-+ if (err)
-+ return err;
-+
-+ err = ubifs_add_bud_to_log(c, GCHD, gc_lnum, 0);
-+ if (err)
-+ return err;
-+
-+ c->gc_lnum = -1;
-+ err = ubifs_wbuf_seek_nolock(wbuf, gc_lnum, 0, UBI_LONGTERM);
-+ return err;
-+}
-+
-+/**
-+ * joinup - bring data nodes for an inode together.
-+ * @c: UBIFS file-system description object
-+ * @sleb: describes scanned LEB
-+ * @inum: inode number
-+ * @blk: block number
-+ * @data: list to which to add data nodes
-+ *
-+ * This function looks at the first few nodes in the scanned LEB @sleb and adds
-+ * them to @data if they are data nodes from @inum and have a larger block
-+ * number than @blk. This function returns %0 on success and a negative error
-+ * code on failure.
-+ */
-+static int joinup(struct ubifs_info *c, struct ubifs_scan_leb *sleb, ino_t inum,
-+ unsigned int blk, struct list_head *data)
-+{
-+ int err, cnt = 6, lnum = sleb->lnum, offs;
-+ struct ubifs_scan_node *snod, *tmp;
-+ union ubifs_key *key;
-+
-+ list_for_each_entry_safe(snod, tmp, &sleb->nodes, list) {
-+ key = &snod->key;
-+ if (key_inum(c, key) == inum &&
-+ key_type(c, key) == UBIFS_DATA_KEY &&
-+ key_block(c, key) > blk) {
-+ offs = snod->offs;
-+ err = ubifs_tnc_has_node(c, key, 0, lnum, offs, 0);
-+ if (err < 0)
-+ return err;
-+ list_del(&snod->list);
-+ if (err) {
-+ list_add_tail(&snod->list, data);
-+ blk = key_block(c, key);
-+ } else
-+ kfree(snod);
-+ cnt = 6;
-+ } else if (--cnt == 0)
-+ break;
-+ }
-+ return 0;
-+}
-+
-+/**
-+ * move_nodes - move nodes.
-+ * @c: UBIFS file-system description object
-+ * @sleb: describes nodes to move
-+ *
-+ * This function moves valid nodes from data LEB described by @sleb to the GC
-+ * journal head. The obsolete nodes are dropped.
-+ *
-+ * When moving nodes we have to deal with classical bin-packing problem: the
-+ * space in the current GC journal head LEB and in @c->gc_lnum are the "bins",
-+ * where the nodes in the @sleb->nodes list are the elements which should be
-+ * fit optimally to the bins. This function uses the "first fit decreasing"
-+ * strategy, although it does not really sort the nodes but just split them on
-+ * 3 classes - large, medium, and small, so they are roughly sorted.
-+ *
-+ * This function returns zero in case of success, %-EAGAIN if commit is
-+ * required, and other negative error codes in case of other failures.
-+ */
-+static int move_nodes(struct ubifs_info *c, struct ubifs_scan_leb *sleb)
-+{
-+ struct ubifs_scan_node *snod, *tmp;
-+ struct list_head data, large, medium, small;
-+ struct ubifs_wbuf *wbuf = &c->jheads[GCHD].wbuf;
-+ int avail, err, min = INT_MAX;
-+ unsigned int blk = 0;
-+ ino_t inum = 0;
-+
-+ INIT_LIST_HEAD(&data);
-+ INIT_LIST_HEAD(&large);
-+ INIT_LIST_HEAD(&medium);
-+ INIT_LIST_HEAD(&small);
-+
-+ while (!list_empty(&sleb->nodes)) {
-+ struct list_head *lst = sleb->nodes.next;
-+
-+ snod = list_entry(lst, struct ubifs_scan_node, list);
-+
-+ ubifs_assert(snod->type != UBIFS_IDX_NODE);
-+ ubifs_assert(snod->type != UBIFS_REF_NODE);
-+ ubifs_assert(snod->type != UBIFS_CS_NODE);
-+
-+ err = ubifs_tnc_has_node(c, &snod->key, 0, sleb->lnum,
-+ snod->offs, 0);
-+ if (err < 0)
-+ goto out;
-+
-+ list_del(lst);
-+ if (!err) {
-+ /* The node is obsolete, remove it from the list */
-+ kfree(snod);
-+ continue;
-+ }
-+
-+ /*
-+ * Sort the list of nodes so that data nodes go first, large
-+ * nodes go second, and small nodes go last.
-+ */
-+ if (key_type(c, &snod->key) == UBIFS_DATA_KEY) {
-+ if (inum != key_inum(c, &snod->key)) {
-+ if (inum) {
-+ /*
-+ * Try to move data nodes from the same
-+ * inode together.
-+ */
-+ err = joinup(c, sleb, inum, blk, &data);
-+ if (err)
-+ goto out;
-+ }
-+ inum = key_inum(c, &snod->key);
-+ blk = key_block(c, &snod->key);
-+ }
-+ list_add_tail(lst, &data);
-+ } else if (snod->len > MEDIUM_NODE_WM)
-+ list_add_tail(lst, &large);
-+ else if (snod->len > SMALL_NODE_WM)
-+ list_add_tail(lst, &medium);
-+ else
-+ list_add_tail(lst, &small);
-+
-+ /* And find the smallest node */
-+ if (snod->len < min)
-+ min = snod->len;
-+ }
-+
-+ /*
-+ * Join the tree lists so that we'd have one roughly sorted list
-+ * ('large' will be the head of the joined list).
-+ */
-+ list_splice(&data, &large);
-+ list_splice(&medium, large.prev);
-+ list_splice(&small, large.prev);
-+
-+ if (wbuf->lnum == -1) {
-+ /*
-+ * The GC journal head is not set, because it is the first GC
-+ * invocation since mount.
-+ */
-+ err = switch_gc_head(c);
-+ if (err)
-+ goto out;
-+ }
-+
-+ /* Write nodes to their new location. Use the first-fit strategy */
-+ while (1) {
-+ avail = c->leb_size - wbuf->offs - wbuf->used;
-+ list_for_each_entry_safe(snod, tmp, &large, list) {
-+ int new_lnum, new_offs;
-+
-+ if (avail < min)
-+ break;
-+
-+ if (snod->len > avail)
-+ /* This node does not fit */
-+ continue;
-+
-+ cond_resched();
-+
-+ new_lnum = wbuf->lnum;
-+ new_offs = wbuf->offs + wbuf->used;
-+ err = ubifs_wbuf_write_nolock(wbuf, snod->node,
-+ snod->len);
-+ if (err)
-+ goto out;
-+ err = ubifs_tnc_replace(c, &snod->key, sleb->lnum,
-+ snod->offs, new_lnum, new_offs,
-+ snod->len);
-+ if (err)
-+ goto out;
-+
-+ avail = c->leb_size - wbuf->offs - wbuf->used;
-+ list_del(&snod->list);
-+ kfree(snod);
-+ }
-+
-+ if (list_empty(&large))
-+ break;
-+
-+ /*
-+ * Waste the rest of the space in the LEB and switch to the
-+ * next LEB.
-+ */
-+ err = switch_gc_head(c);
-+ if (err)
-+ goto out;
-+ }
-+
-+ return 0;
-+
-+out:
-+ list_for_each_entry_safe(snod, tmp, &large, list) {
-+ list_del(&snod->list);
-+ kfree(snod);
-+ }
-+ return err;
-+}
-+
-+/**
-+ * gc_sync_wbufs - sync write-buffers for GC.
-+ * @c: UBIFS file-system description object
-+ *
-+ * We must guarantee that obsoleting nodes are on flash. Unfortunately they may
-+ * be in a write-buffer instead. That is, a node could be written to a
-+ * write-buffer, obsoleting another node in a LEB that is GC'd. If that LEB is
-+ * erased before the write-buffer is sync'd and then there is an unclean
-+ * unmount, then an existing node is lost. To avoid this, we sync all
-+ * write-buffers.
-+ *
-+ * This function returns %0 on success or a negative error code on failure.
-+ */
-+static int gc_sync_wbufs(struct ubifs_info *c)
-+{
-+ int err, i;
-+
-+ for (i = 0; i < c->jhead_cnt; i++) {
-+ if (i == GCHD)
-+ continue;
-+ err = ubifs_wbuf_sync(&c->jheads[i].wbuf);
-+ if (err)
-+ return err;
-+ }
-+ return 0;
-+}
-+
-+/**
-+ * ubifs_garbage_collect_leb - garbage-collect a logical eraseblock.
-+ * @c: UBIFS file-system description object
-+ * @lp: describes the LEB to garbage collect
-+ *
-+ * This function garbage-collects an LEB and returns one of the @LEB_FREED,
-+ * @LEB_RETAINED, etc positive codes in case of success, %-EAGAIN if commit is
-+ * required, and other negative error codes in case of failures.
-+ */
-+int ubifs_garbage_collect_leb(struct ubifs_info *c, struct ubifs_lprops *lp)
-+{
-+ struct ubifs_scan_leb *sleb;
-+ struct ubifs_scan_node *snod;
-+ struct ubifs_wbuf *wbuf = &c->jheads[GCHD].wbuf;
-+ int err = 0, lnum = lp->lnum;
-+
-+ ubifs_assert(c->gc_lnum != -1 || wbuf->offs + wbuf->used == 0 ||
-+ c->need_recovery);
-+ ubifs_assert(c->gc_lnum != lnum);
-+ ubifs_assert(wbuf->lnum != lnum);
-+
-+ /*
-+ * We scan the entire LEB even though we only really need to scan up to
-+ * (c->leb_size - lp->free).
-+ */
-+ sleb = ubifs_scan(c, lnum, 0, c->sbuf);
-+ if (IS_ERR(sleb))
-+ return PTR_ERR(sleb);
-+
-+ ubifs_assert(!list_empty(&sleb->nodes));
-+ snod = list_entry(sleb->nodes.next, struct ubifs_scan_node, list);
-+
-+ if (snod->type == UBIFS_IDX_NODE) {
-+ struct ubifs_gced_idx_leb *idx_gc;
-+
-+ dbg_gc("indexing LEB %d (free %d, dirty %d)",
-+ lnum, lp->free, lp->dirty);
-+ list_for_each_entry(snod, &sleb->nodes, list) {
-+ struct ubifs_idx_node *idx = snod->node;
-+ int level = le16_to_cpu(idx->level);
-+
-+ ubifs_assert(snod->type == UBIFS_IDX_NODE);
-+ key_read(c, ubifs_idx_key(c, idx), &snod->key);
-+ err = ubifs_dirty_idx_node(c, &snod->key, level, lnum,
-+ snod->offs);
-+ if (err)
-+ goto out;
-+ }
-+
-+ idx_gc = kmalloc(sizeof(struct ubifs_gced_idx_leb), GFP_NOFS);
-+ if (!idx_gc) {
-+ err = -ENOMEM;
-+ goto out;
-+ }
-+
-+ idx_gc->lnum = lnum;
-+ idx_gc->unmap = 0;
-+ list_add(&idx_gc->list, &c->idx_gc);
-+
-+ /*
-+ * Don't release the LEB until after the next commit, because
-+ * it may contain data which is needed for recovery. So
-+ * although we freed this LEB, it will become usable only after
-+ * the commit.
-+ */
-+ err = ubifs_change_one_lp(c, lnum, c->leb_size, 0, 0,
-+ LPROPS_INDEX, 1);
-+ if (err)
-+ goto out;
-+ err = LEB_FREED_IDX;
-+ } else {
-+ dbg_gc("data LEB %d (free %d, dirty %d)",
-+ lnum, lp->free, lp->dirty);
-+
-+ err = move_nodes(c, sleb);
-+ if (err)
-+ goto out_inc_seq;
-+
-+ err = gc_sync_wbufs(c);
-+ if (err)
-+ goto out_inc_seq;
-+
-+ err = ubifs_change_one_lp(c, lnum, c->leb_size, 0, 0, 0, 0);
-+ if (err)
-+ goto out_inc_seq;
-+
-+ /* Allow for races with TNC */
-+ c->gced_lnum = lnum;
-+ smp_wmb();
-+ c->gc_seq += 1;
-+ smp_wmb();
-+
-+ if (c->gc_lnum == -1) {
-+ c->gc_lnum = lnum;
-+ err = LEB_RETAINED;
-+ } else {
-+ err = ubifs_wbuf_sync_nolock(wbuf);
-+ if (err)
-+ goto out;
-+
-+ err = ubifs_leb_unmap(c, lnum);
-+ if (err)
-+ goto out;
-+
-+ err = LEB_FREED;
-+ }
-+ }
-+
-+out:
-+ ubifs_scan_destroy(sleb);
-+ return err;
-+
-+out_inc_seq:
-+ /* We may have moved at least some nodes so allow for races with TNC */
-+ c->gced_lnum = lnum;
-+ smp_wmb();
-+ c->gc_seq += 1;
-+ smp_wmb();
-+ goto out;
-+}
-+
-+/**
-+ * ubifs_garbage_collect - UBIFS garbage collector.
-+ * @c: UBIFS file-system description object
-+ * @anyway: do GC even if there are free LEBs
-+ *
-+ * This function does out-of-place garbage collection. The return codes are:
-+ * o positive LEB number if the LEB has been freed and may be used;
-+ * o %-EAGAIN if the caller has to run commit;
-+ * o %-ENOSPC if GC failed to make any progress;
-+ * o other negative error codes in case of other errors.
-+ *
-+ * Garbage collector writes data to the journal when GC'ing data LEBs, and just
-+ * marking indexing nodes dirty when GC'ing indexing LEBs. Thus, at some point
-+ * commit may be required. But commit cannot be run from inside GC, because the
-+ * caller might be holding the commit lock, so %-EAGAIN is returned instead;
-+ * And this error code means that the caller has to run commit, and re-run GC
-+ * if there is still no free space.
-+ *
-+ * There are many reasons why this function may return %-EAGAIN:
-+ * o the log is full and there is no space to write an LEB reference for
-+ * @c->gc_lnum;
-+ * o the journal is too large and exceeds size limitations;
-+ * o GC moved indexing LEBs, but they can be used only after the commit;
-+ * o the shrinker fails to find clean znodes to free and requests the commit;
-+ * o etc.
-+ *
-+ * Note, if the file-system is close to be full, this function may return
-+ * %-EAGAIN infinitely, so the caller has to limit amount of re-invocations of
-+ * the function. E.g., this happens if the limits on the journal size are too
-+ * tough and GC writes too much to the journal before an LEB is freed. This
-+ * might also mean that the journal is too large, and the TNC becomes to big,
-+ * so that the shrinker is constantly called, finds not clean znodes to free,
-+ * and requests commit. Well, this may also happen if the journal is all right,
-+ * but another kernel process consumes too much memory. Anyway, infinite
-+ * %-EAGAIN may happen, but in some extreme/misconfiguration cases.
-+ */
-+int ubifs_garbage_collect(struct ubifs_info *c, int anyway)
-+{
-+ int i, err, ret, min_space = c->dead_wm;
-+ struct ubifs_lprops lp;
-+ struct ubifs_wbuf *wbuf = &c->jheads[GCHD].wbuf;
-+
-+ ubifs_assert_cmt_locked(c);
-+
-+ if (ubifs_gc_should_commit(c))
-+ return -EAGAIN;
-+
-+ mutex_lock_nested(&wbuf->io_mutex, wbuf->jhead);
-+
-+ if (c->ro_media) {
-+ ret = -EROFS;
-+ goto out_unlock;
-+ }
-+
-+ /* We expect the write-buffer to be empty on entry */
-+ ubifs_assert(!wbuf->used);
-+
-+ for (i = 0; ; i++) {
-+ int space_before = c->leb_size - wbuf->offs - wbuf->used;
-+ int space_after;
-+
-+ cond_resched();
-+
-+ /* Give the commit an opportunity to run */
-+ if (ubifs_gc_should_commit(c)) {
-+ ret = -EAGAIN;
-+ break;
-+ }
-+
-+ if (i > SOFT_LEBS_LIMIT && !list_empty(&c->idx_gc)) {
-+ /*
-+ * We've done enough iterations. Indexing LEBs were
-+ * moved and will be available after the commit.
-+ */
-+ dbg_gc("soft limit, some index LEBs GC'ed, -EAGAIN");
-+ ubifs_commit_required(c);
-+ ret = -EAGAIN;
-+ break;
-+ }
-+
-+ if (i > HARD_LEBS_LIMIT) {
-+ /*
-+ * We've moved too many LEBs and have not made
-+ * progress, give up.
-+ */
-+ dbg_gc("hard limit, -ENOSPC");
-+ ret = -ENOSPC;
-+ break;
-+ }
-+
-+ /*
-+ * Empty and freeable LEBs can turn up while we waited for
-+ * the wbuf lock, or while we have been running GC. In that
-+ * case, we should just return one of those instead of
-+ * continuing to GC dirty LEBs. Hence we request
-+ * 'ubifs_find_dirty_leb()' to return an empty LEB if it can.
-+ */
-+ ret = ubifs_find_dirty_leb(c, &lp, min_space, anyway ? 0 : 1);
-+ if (ret) {
-+ if (ret == -ENOSPC)
-+ dbg_gc("no more dirty LEBs");
-+ break;
-+ }
-+
-+ dbg_gc("found LEB %d: free %d, dirty %d, sum %d "
-+ "(min. space %d)", lp.lnum, lp.free, lp.dirty,
-+ lp.free + lp.dirty, min_space);
-+
-+ if (lp.free + lp.dirty == c->leb_size) {
-+ /* An empty LEB was returned */
-+ dbg_gc("LEB %d is free, return it", lp.lnum);
-+ /*
-+ * ubifs_find_dirty_leb() doesn't return freeable index
-+ * LEBs.
-+ */
-+ ubifs_assert(!(lp.flags & LPROPS_INDEX));
-+ if (lp.free != c->leb_size) {
-+ /*
-+ * Write buffers must be sync'd before
-+ * unmapping freeable LEBs, because one of them
-+ * may contain data which obsoletes something
-+ * in 'lp.pnum'.
-+ */
-+ ret = gc_sync_wbufs(c);
-+ if (ret)
-+ goto out;
-+ ret = ubifs_change_one_lp(c, lp.lnum,
-+ c->leb_size, 0, 0, 0,
-+ 0);
-+ if (ret)
-+ goto out;
-+ }
-+ ret = ubifs_leb_unmap(c, lp.lnum);
-+ if (ret)
-+ goto out;
-+ ret = lp.lnum;
-+ break;
-+ }
-+
-+ space_before = c->leb_size - wbuf->offs - wbuf->used;
-+ if (wbuf->lnum == -1)
-+ space_before = 0;
-+
-+ ret = ubifs_garbage_collect_leb(c, &lp);
-+ if (ret < 0) {
-+ if (ret == -EAGAIN || ret == -ENOSPC) {
-+ /*
-+ * These codes are not errors, so we have to
-+ * return the LEB to lprops. But if the
-+ * 'ubifs_return_leb()' function fails, its
-+ * failure code is propagated to the caller
-+ * instead of the original '-EAGAIN' or
-+ * '-ENOSPC'.
-+ */
-+ err = ubifs_return_leb(c, lp.lnum);
-+ if (err)
-+ ret = err;
-+ break;
-+ }
-+ goto out;
-+ }
-+
-+ if (ret == LEB_FREED) {
-+ /* An LEB has been freed and is ready for use */
-+ dbg_gc("LEB %d freed, return", lp.lnum);
-+ ret = lp.lnum;
-+ break;
-+ }
-+
-+ if (ret == LEB_FREED_IDX) {
-+ /*
-+ * This was an indexing LEB and it cannot be
-+ * immediately used. And instead of requesting the
-+ * commit straight away, we try to garbage collect some
-+ * more.
-+ */
-+ dbg_gc("indexing LEB %d freed, continue", lp.lnum);
-+ continue;
-+ }
-+
-+ ubifs_assert(ret == LEB_RETAINED);
-+ space_after = c->leb_size - wbuf->offs - wbuf->used;
-+ dbg_gc("LEB %d retained, freed %d bytes", lp.lnum,
-+ space_after - space_before);
-+
-+ if (space_after > space_before) {
-+ /* GC makes progress, keep working */
-+ min_space >>= 1;
-+ if (min_space < c->dead_wm)
-+ min_space = c->dead_wm;
-+ continue;
-+ }
-+
-+ dbg_gc("did not make progress");
-+
-+ /*
-+ * GC moved an LEB bud have not done any progress. This means
-+ * that the previous GC head LEB contained too few free space
-+ * and the LEB which was GC'ed contained only large nodes which
-+ * did not fit that space.
-+ *
-+ * We can do 2 things:
-+ * 1. pick another LEB in a hope it'll contain a small node
-+ * which will fit the space we have at the end of current GC
-+ * head LEB, but there is no guarantee, so we try this out
-+ * unless we have already been working for too long;
-+ * 2. request an LEB with more dirty space, which will force
-+ * 'ubifs_find_dirty_leb()' to start scanning the lprops
-+ * table, instead of just picking one from the heap
-+ * (previously it already picked the dirtiest LEB).
-+ */
-+ if (i < SOFT_LEBS_LIMIT) {
-+ dbg_gc("try again");
-+ continue;
-+ }
-+
-+ min_space <<= 1;
-+ if (min_space > c->dark_wm)
-+ min_space = c->dark_wm;
-+ dbg_gc("set min. space to %d", min_space);
-+ }
-+
-+ if (ret == -ENOSPC && !list_empty(&c->idx_gc)) {
-+ dbg_gc("no space, some index LEBs GC'ed, -EAGAIN");
-+ ubifs_commit_required(c);
-+ ret = -EAGAIN;
-+ }
-+
-+ err = ubifs_wbuf_sync_nolock(wbuf);
-+ if (!err)
-+ err = ubifs_leb_unmap(c, c->gc_lnum);
-+ if (err) {
-+ ret = err;
-+ goto out;
-+ }
-+out_unlock:
-+ mutex_unlock(&wbuf->io_mutex);
-+ return ret;
-+
-+out:
-+ ubifs_assert(ret < 0);
-+ ubifs_assert(ret != -ENOSPC && ret != -EAGAIN);
-+ ubifs_ro_mode(c, ret);
-+ ubifs_wbuf_sync_nolock(wbuf);
-+ mutex_unlock(&wbuf->io_mutex);
-+ ubifs_return_leb(c, lp.lnum);
-+ return ret;
-+}
-+
-+/**
-+ * ubifs_gc_start_commit - garbage collection at start of commit.
-+ * @c: UBIFS file-system description object
-+ *
-+ * If a LEB has only dirty and free space, then we may safely unmap it and make
-+ * it free. Note, we cannot do this with indexing LEBs because dirty space may
-+ * correspond index nodes that are required for recovery. In that case, the
-+ * LEB cannot be unmapped until after the next commit.
-+ *
-+ * This function returns %0 upon success and a negative error code upon failure.
-+ */
-+int ubifs_gc_start_commit(struct ubifs_info *c)
-+{
-+ struct ubifs_gced_idx_leb *idx_gc;
-+ const struct ubifs_lprops *lp;
-+ int err = 0, flags;
-+
-+ ubifs_get_lprops(c);
-+
-+ /*
-+ * Unmap (non-index) freeable LEBs. Note that recovery requires that all
-+ * wbufs are sync'd before this, which is done in 'do_commit()'.
-+ */
-+ while (1) {
-+ lp = ubifs_fast_find_freeable(c);
-+ if (IS_ERR(lp)) {
-+ err = PTR_ERR(lp);
-+ goto out;
-+ }
-+ if (!lp)
-+ break;
-+ ubifs_assert(!(lp->flags & LPROPS_TAKEN));
-+ ubifs_assert(!(lp->flags & LPROPS_INDEX));
-+ err = ubifs_leb_unmap(c, lp->lnum);
-+ if (err)
-+ goto out;
-+ lp = ubifs_change_lp(c, lp, c->leb_size, 0, lp->flags, 0);
-+ if (IS_ERR(lp)) {
-+ err = PTR_ERR(lp);
-+ goto out;
-+ }
-+ ubifs_assert(!(lp->flags & LPROPS_TAKEN));
-+ ubifs_assert(!(lp->flags & LPROPS_INDEX));
-+ }
-+
-+ /* Mark GC'd index LEBs OK to unmap after this commit finishes */
-+ list_for_each_entry(idx_gc, &c->idx_gc, list)
-+ idx_gc->unmap = 1;
-+
-+ /* Record index freeable LEBs for unmapping after commit */
-+ while (1) {
-+ lp = ubifs_fast_find_frdi_idx(c);
-+ if (IS_ERR(lp)) {
-+ err = PTR_ERR(lp);
-+ goto out;
-+ }
-+ if (!lp)
-+ break;
-+ idx_gc = kmalloc(sizeof(struct ubifs_gced_idx_leb), GFP_NOFS);
-+ if (!idx_gc) {
-+ err = -ENOMEM;
-+ goto out;
-+ }
-+ ubifs_assert(!(lp->flags & LPROPS_TAKEN));
-+ ubifs_assert(lp->flags & LPROPS_INDEX);
-+ /* Don't release the LEB until after the next commit */
-+ flags = (lp->flags | LPROPS_TAKEN) ^ LPROPS_INDEX;
-+ lp = ubifs_change_lp(c, lp, c->leb_size, 0, flags, 1);
-+ if (IS_ERR(lp)) {
-+ err = PTR_ERR(lp);
-+ kfree(idx_gc);
-+ goto out;
-+ }
-+ ubifs_assert(lp->flags & LPROPS_TAKEN);
-+ ubifs_assert(!(lp->flags & LPROPS_INDEX));
-+ idx_gc->lnum = lp->lnum;
-+ idx_gc->unmap = 1;
-+ list_add(&idx_gc->list, &c->idx_gc);
-+ }
-+out:
-+ ubifs_release_lprops(c);
-+ return err;
-+}
-+
-+/**
-+ * ubifs_gc_end_commit - garbage collection at end of commit.
-+ * @c: UBIFS file-system description object
-+ *
-+ * This function completes out-of-place garbage collection of index LEBs.
-+ */
-+int ubifs_gc_end_commit(struct ubifs_info *c)
-+{
-+ struct ubifs_gced_idx_leb *idx_gc, *tmp;
-+ struct ubifs_wbuf *wbuf;
-+ int err = 0;
-+
-+ wbuf = &c->jheads[GCHD].wbuf;
-+ mutex_lock_nested(&wbuf->io_mutex, wbuf->jhead);
-+ list_for_each_entry_safe(idx_gc, tmp, &c->idx_gc, list)
-+ if (idx_gc->unmap) {
-+ dbg_gc("LEB %d", idx_gc->lnum);
-+ err = ubifs_leb_unmap(c, idx_gc->lnum);
-+ if (err)
-+ goto out;
-+ err = ubifs_change_one_lp(c, idx_gc->lnum, LPROPS_NC,
-+ LPROPS_NC, 0, LPROPS_TAKEN, -1);
-+ if (err)
-+ goto out;
-+ list_del(&idx_gc->list);
-+ kfree(idx_gc);
-+ }
-+out:
-+ mutex_unlock(&wbuf->io_mutex);
-+ return err;
-+}
-+
-+/**
-+ * ubifs_destroy_idx_gc - destroy idx_gc list.
-+ * @c: UBIFS file-system description object
-+ *
-+ * This function destroys the @c->idx_gc list. It is called when unmounting
-+ * so locks are not needed. Returns zero in case of success and a negative
-+ * error code in case of failure.
-+ */
-+void ubifs_destroy_idx_gc(struct ubifs_info *c)
-+{
-+ while (!list_empty(&c->idx_gc)) {
-+ struct ubifs_gced_idx_leb *idx_gc;
-+
-+ idx_gc = list_entry(c->idx_gc.next, struct ubifs_gced_idx_leb,
-+ list);
-+ c->idx_gc_cnt -= 1;
-+ list_del(&idx_gc->list);
-+ kfree(idx_gc);
-+ }
-+}
-+
-+/**
-+ * ubifs_get_idx_gc_leb - get a LEB from GC'd index LEB list.
-+ * @c: UBIFS file-system description object
-+ *
-+ * Called during start commit so locks are not needed.
-+ */
-+int ubifs_get_idx_gc_leb(struct ubifs_info *c)
-+{
-+ struct ubifs_gced_idx_leb *idx_gc;
-+ int lnum;
-+
-+ if (list_empty(&c->idx_gc))
-+ return -ENOSPC;
-+ idx_gc = list_entry(c->idx_gc.next, struct ubifs_gced_idx_leb, list);
-+ lnum = idx_gc->lnum;
-+ /* c->idx_gc_cnt is updated by the caller when lprops are updated */
-+ list_del(&idx_gc->list);
-+ kfree(idx_gc);
-+ return lnum;
-+}
-diff -Nurd linux-2.6.24.orig/fs/ubifs/io.c linux-2.6.24/fs/ubifs/io.c
---- linux-2.6.24.orig/fs/ubifs/io.c 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.24/fs/ubifs/io.c 2009-04-17 09:49:28.000000000 +0200
-@@ -0,0 +1,940 @@
-+/*
-+ * This file is part of UBIFS.
-+ *
-+ * Copyright (C) 2006-2008 Nokia Corporation.
-+ * Copyright (C) 2006, 2007 University of Szeged, Hungary
-+ *
-+ * This program is free software; you can redistribute it and/or modify it
-+ * under the terms of the GNU General Public License version 2 as published by
-+ * the Free Software Foundation.
-+ *
-+ * 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, write to the Free Software Foundation, Inc., 51
-+ * Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
-+ *
-+ * Authors: Artem Bityutskiy (Битюцкий Ðртём)
-+ * Adrian Hunter
-+ * Zoltan Sogor
-+ */
-+
-+/*
-+ * This file implements UBIFS I/O subsystem which provides various I/O-related
-+ * helper functions (reading/writing/checking/validating nodes) and implements
-+ * write-buffering support. Write buffers help to save space which otherwise
-+ * would have been wasted for padding to the nearest minimal I/O unit boundary.
-+ * Instead, data first goes to the write-buffer and is flushed when the
-+ * buffer is full or when it is not used for some time (by timer). This is
-+ * similar to the mechanism is used by JFFS2.
-+ *
-+ * Write-buffers are defined by 'struct ubifs_wbuf' objects and protected by
-+ * mutexes defined inside these objects. Since sometimes upper-level code
-+ * has to lock the write-buffer (e.g. journal space reservation code), many
-+ * functions related to write-buffers have "nolock" suffix which means that the
-+ * caller has to lock the write-buffer before calling this function.
-+ *
-+ * UBIFS stores nodes at 64 bit-aligned addresses. If the node length is not
-+ * aligned, UBIFS starts the next node from the aligned address, and the padded
-+ * bytes may contain any rubbish. In other words, UBIFS does not put padding
-+ * bytes in those small gaps. Common headers of nodes store real node lengths,
-+ * not aligned lengths. Indexing nodes also store real lengths in branches.
-+ *
-+ * UBIFS uses padding when it pads to the next min. I/O unit. In this case it
-+ * uses padding nodes or padding bytes, if the padding node does not fit.
-+ *
-+ * All UBIFS nodes are protected by CRC checksums and UBIFS checks all nodes
-+ * every time they are read from the flash media.
-+ */
-+
-+#include <linux/crc32.h>
-+#include "ubifs.h"
-+
-+/**
-+ * ubifs_ro_mode - switch UBIFS to read read-only mode.
-+ * @c: UBIFS file-system description object
-+ * @err: error code which is the reason of switching to R/O mode
-+ */
-+void ubifs_ro_mode(struct ubifs_info *c, int err)
-+{
-+ if (!c->ro_media) {
-+ c->ro_media = 1;
-+ c->no_chk_data_crc = 0;
-+ ubifs_warn("switched to read-only mode, error %d", err);
-+ dbg_dump_stack();
-+ }
-+}
-+
-+/**
-+ * ubifs_check_node - check node.
-+ * @c: UBIFS file-system description object
-+ * @buf: node to check
-+ * @lnum: logical eraseblock number
-+ * @offs: offset within the logical eraseblock
-+ * @quiet: print no messages
-+ * @must_chk_crc: indicates whether to always check the CRC
-+ *
-+ * This function checks node magic number and CRC checksum. This function also
-+ * validates node length to prevent UBIFS from becoming crazy when an attacker
-+ * feeds it a file-system image with incorrect nodes. For example, too large
-+ * node length in the common header could cause UBIFS to read memory outside of
-+ * allocated buffer when checking the CRC checksum.
-+ *
-+ * This function may skip data nodes CRC checking if @c->no_chk_data_crc is
-+ * true, which is controlled by corresponding UBIFS mount option. However, if
-+ * @must_chk_crc is true, then @c->no_chk_data_crc is ignored and CRC is
-+ * checked. Similarly, if @c->always_chk_crc is true, @c->no_chk_data_crc is
-+ * ignored and CRC is checked.
-+ *
-+ * This function returns zero in case of success and %-EUCLEAN in case of bad
-+ * CRC or magic.
-+ */
-+int ubifs_check_node(const struct ubifs_info *c, const void *buf, int lnum,
-+ int offs, int quiet, int must_chk_crc)
-+{
-+ int err = -EINVAL, type, node_len;
-+ uint32_t crc, node_crc, magic;
-+ const struct ubifs_ch *ch = buf;
-+
-+ ubifs_assert(lnum >= 0 && lnum < c->leb_cnt && offs >= 0);
-+ ubifs_assert(!(offs & 7) && offs < c->leb_size);
-+
-+ magic = le32_to_cpu(ch->magic);
-+ if (magic != UBIFS_NODE_MAGIC) {
-+ if (!quiet)
-+ ubifs_err("bad magic %#08x, expected %#08x",
-+ magic, UBIFS_NODE_MAGIC);
-+ err = -EUCLEAN;
-+ goto out;
-+ }
-+
-+ type = ch->node_type;
-+ if (type < 0 || type >= UBIFS_NODE_TYPES_CNT) {
-+ if (!quiet)
-+ ubifs_err("bad node type %d", type);
-+ goto out;
-+ }
-+
-+ node_len = le32_to_cpu(ch->len);
-+ if (node_len + offs > c->leb_size)
-+ goto out_len;
-+
-+ if (c->ranges[type].max_len == 0) {
-+ if (node_len != c->ranges[type].len)
-+ goto out_len;
-+ } else if (node_len < c->ranges[type].min_len ||
-+ node_len > c->ranges[type].max_len)
-+ goto out_len;
-+
-+ if (!must_chk_crc && type == UBIFS_DATA_NODE && !c->always_chk_crc &&
-+ c->no_chk_data_crc)
-+ return 0;
-+
-+ crc = crc32(UBIFS_CRC32_INIT, buf + 8, node_len - 8);
-+ node_crc = le32_to_cpu(ch->crc);
-+ if (crc != node_crc) {
-+ if (!quiet)
-+ ubifs_err("bad CRC: calculated %#08x, read %#08x",
-+ crc, node_crc);
-+ err = -EUCLEAN;
-+ goto out;
-+ }
-+
-+ return 0;
-+
-+out_len:
-+ if (!quiet)
-+ ubifs_err("bad node length %d", node_len);
-+out:
-+ if (!quiet) {
-+ ubifs_err("bad node at LEB %d:%d", lnum, offs);
-+ dbg_dump_node(c, buf);
-+ dbg_dump_stack();
-+ }
-+ return err;
-+}
-+
-+/**
-+ * ubifs_pad - pad flash space.
-+ * @c: UBIFS file-system description object
-+ * @buf: buffer to put padding to
-+ * @pad: how many bytes to pad
-+ *
-+ * The flash media obliges us to write only in chunks of %c->min_io_size and
-+ * when we have to write less data we add padding node to the write-buffer and
-+ * pad it to the next minimal I/O unit's boundary. Padding nodes help when the
-+ * media is being scanned. If the amount of wasted space is not enough to fit a
-+ * padding node which takes %UBIFS_PAD_NODE_SZ bytes, we write padding bytes
-+ * pattern (%UBIFS_PADDING_BYTE).
-+ *
-+ * Padding nodes are also used to fill gaps when the "commit-in-gaps" method is
-+ * used.
-+ */
-+void ubifs_pad(const struct ubifs_info *c, void *buf, int pad)
-+{
-+ uint32_t crc;
-+
-+ ubifs_assert(pad >= 0 && !(pad & 7));
-+
-+ if (pad >= UBIFS_PAD_NODE_SZ) {
-+ struct ubifs_ch *ch = buf;
-+ struct ubifs_pad_node *pad_node = buf;
-+
-+ ch->magic = cpu_to_le32(UBIFS_NODE_MAGIC);
-+ ch->node_type = UBIFS_PAD_NODE;
-+ ch->group_type = UBIFS_NO_NODE_GROUP;
-+ ch->padding[0] = ch->padding[1] = 0;
-+ ch->sqnum = 0;
-+ ch->len = cpu_to_le32(UBIFS_PAD_NODE_SZ);
-+ pad -= UBIFS_PAD_NODE_SZ;
-+ pad_node->pad_len = cpu_to_le32(pad);
-+ crc = crc32(UBIFS_CRC32_INIT, buf + 8, UBIFS_PAD_NODE_SZ - 8);
-+ ch->crc = cpu_to_le32(crc);
-+ memset(buf + UBIFS_PAD_NODE_SZ, 0, pad);
-+ } else if (pad > 0)
-+ /* Too little space, padding node won't fit */
-+ memset(buf, UBIFS_PADDING_BYTE, pad);
-+}
-+
-+/**
-+ * next_sqnum - get next sequence number.
-+ * @c: UBIFS file-system description object
-+ */
-+static unsigned long long next_sqnum(struct ubifs_info *c)
-+{
-+ unsigned long long sqnum;
-+
-+ spin_lock(&c->cnt_lock);
-+ sqnum = ++c->max_sqnum;
-+ spin_unlock(&c->cnt_lock);
-+
-+ if (unlikely(sqnum >= SQNUM_WARN_WATERMARK)) {
-+ if (sqnum >= SQNUM_WATERMARK) {
-+ ubifs_err("sequence number overflow %llu, end of life",
-+ sqnum);
-+ ubifs_ro_mode(c, -EINVAL);
-+ }
-+ ubifs_warn("running out of sequence numbers, end of life soon");
-+ }
-+
-+ return sqnum;
-+}
-+
-+/**
-+ * ubifs_prepare_node - prepare node to be written to flash.
-+ * @c: UBIFS file-system description object
-+ * @node: the node to pad
-+ * @len: node length
-+ * @pad: if the buffer has to be padded
-+ *
-+ * This function prepares node at @node to be written to the media - it
-+ * calculates node CRC, fills the common header, and adds proper padding up to
-+ * the next minimum I/O unit if @pad is not zero.
-+ */
-+void ubifs_prepare_node(struct ubifs_info *c, void *node, int len, int pad)
-+{
-+ uint32_t crc;
-+ struct ubifs_ch *ch = node;
-+ unsigned long long sqnum = next_sqnum(c);
-+
-+ ubifs_assert(len >= UBIFS_CH_SZ);
-+
-+ ch->magic = cpu_to_le32(UBIFS_NODE_MAGIC);
-+ ch->len = cpu_to_le32(len);
-+ ch->group_type = UBIFS_NO_NODE_GROUP;
-+ ch->sqnum = cpu_to_le64(sqnum);
-+ ch->padding[0] = ch->padding[1] = 0;
-+ crc = crc32(UBIFS_CRC32_INIT, node + 8, len - 8);
-+ ch->crc = cpu_to_le32(crc);
-+
-+ if (pad) {
-+ len = ALIGN(len, 8);
-+ pad = ALIGN(len, c->min_io_size) - len;
-+ ubifs_pad(c, node + len, pad);
-+ }
-+}
-+
-+/**
-+ * ubifs_prep_grp_node - prepare node of a group to be written to flash.
-+ * @c: UBIFS file-system description object
-+ * @node: the node to pad
-+ * @len: node length
-+ * @last: indicates the last node of the group
-+ *
-+ * This function prepares node at @node to be written to the media - it
-+ * calculates node CRC and fills the common header.
-+ */
-+void ubifs_prep_grp_node(struct ubifs_info *c, void *node, int len, int last)
-+{
-+ uint32_t crc;
-+ struct ubifs_ch *ch = node;
-+ unsigned long long sqnum = next_sqnum(c);
-+
-+ ubifs_assert(len >= UBIFS_CH_SZ);
-+
-+ ch->magic = cpu_to_le32(UBIFS_NODE_MAGIC);
-+ ch->len = cpu_to_le32(len);
-+ if (last)
-+ ch->group_type = UBIFS_LAST_OF_NODE_GROUP;
-+ else
-+ ch->group_type = UBIFS_IN_NODE_GROUP;
-+ ch->sqnum = cpu_to_le64(sqnum);
-+ ch->padding[0] = ch->padding[1] = 0;
-+ crc = crc32(UBIFS_CRC32_INIT, node + 8, len - 8);
-+ ch->crc = cpu_to_le32(crc);
-+}
-+
-+/**
-+ * wbuf_timer_callback - write-buffer timer callback function.
-+ * @data: timer data (write-buffer descriptor)
-+ *
-+ * This function is called when the write-buffer timer expires.
-+ */
-+static void wbuf_timer_callback_nolock(unsigned long data)
-+{
-+ struct ubifs_wbuf *wbuf = (struct ubifs_wbuf *)data;
-+
-+ wbuf->need_sync = 1;
-+ wbuf->c->need_wbuf_sync = 1;
-+ ubifs_wake_up_bgt(wbuf->c);
-+}
-+
-+/**
-+ * new_wbuf_timer - start new write-buffer timer.
-+ * @wbuf: write-buffer descriptor
-+ */
-+static void new_wbuf_timer_nolock(struct ubifs_wbuf *wbuf)
-+{
-+ ubifs_assert(!timer_pending(&wbuf->timer));
-+
-+ if (!wbuf->timeout)
-+ return;
-+
-+ wbuf->timer.expires = jiffies + wbuf->timeout;
-+ add_timer(&wbuf->timer);
-+}
-+
-+/**
-+ * cancel_wbuf_timer - cancel write-buffer timer.
-+ * @wbuf: write-buffer descriptor
-+ */
-+static void cancel_wbuf_timer_nolock(struct ubifs_wbuf *wbuf)
-+{
-+ /*
-+ * If the syncer is waiting for the lock (from the background thread's
-+ * context) and another task is changing write-buffer then the syncing
-+ * should be canceled.
-+ */
-+ wbuf->need_sync = 0;
-+ del_timer(&wbuf->timer);
-+}
-+
-+/**
-+ * ubifs_wbuf_sync_nolock - synchronize write-buffer.
-+ * @wbuf: write-buffer to synchronize
-+ *
-+ * This function synchronizes write-buffer @buf and returns zero in case of
-+ * success or a negative error code in case of failure.
-+ */
-+int ubifs_wbuf_sync_nolock(struct ubifs_wbuf *wbuf)
-+{
-+ struct ubifs_info *c = wbuf->c;
-+ int err, dirt;
-+
-+ cancel_wbuf_timer_nolock(wbuf);
-+ if (!wbuf->used || wbuf->lnum == -1)
-+ /* Write-buffer is empty or not seeked */
-+ return 0;
-+
-+ dbg_io("LEB %d:%d, %d bytes",
-+ wbuf->lnum, wbuf->offs, wbuf->used);
-+ ubifs_assert(!(c->vfs_sb->s_flags & MS_RDONLY));
-+ ubifs_assert(!(wbuf->avail & 7));
-+ ubifs_assert(wbuf->offs + c->min_io_size <= c->leb_size);
-+
-+ if (c->ro_media)
-+ return -EROFS;
-+
-+ ubifs_pad(c, wbuf->buf + wbuf->used, wbuf->avail);
-+ err = ubi_leb_write(c->ubi, wbuf->lnum, wbuf->buf, wbuf->offs,
-+ c->min_io_size, wbuf->dtype);
-+ if (err) {
-+ ubifs_err("cannot write %d bytes to LEB %d:%d",
-+ c->min_io_size, wbuf->lnum, wbuf->offs);
-+ dbg_dump_stack();
-+ return err;
-+ }
-+
-+ dirt = wbuf->avail;
-+
-+ spin_lock(&wbuf->lock);
-+ wbuf->offs += c->min_io_size;
-+ wbuf->avail = c->min_io_size;
-+ wbuf->used = 0;
-+ wbuf->next_ino = 0;
-+ spin_unlock(&wbuf->lock);
-+
-+ if (wbuf->sync_callback)
-+ err = wbuf->sync_callback(c, wbuf->lnum,
-+ c->leb_size - wbuf->offs, dirt);
-+ return err;
-+}
-+
-+/**
-+ * ubifs_wbuf_seek_nolock - seek write-buffer.
-+ * @wbuf: write-buffer
-+ * @lnum: logical eraseblock number to seek to
-+ * @offs: logical eraseblock offset to seek to
-+ * @dtype: data type
-+ *
-+ * This function targets the write buffer to logical eraseblock @lnum:@offs.
-+ * The write-buffer is synchronized if it is not empty. Returns zero in case of
-+ * success and a negative error code in case of failure.
-+ */
-+int ubifs_wbuf_seek_nolock(struct ubifs_wbuf *wbuf, int lnum, int offs,
-+ int dtype)
-+{
-+ const struct ubifs_info *c = wbuf->c;
-+
-+ dbg_io("LEB %d:%d", lnum, offs);
-+ ubifs_assert(lnum >= 0 && lnum < c->leb_cnt);
-+ ubifs_assert(offs >= 0 && offs <= c->leb_size);
-+ ubifs_assert(offs % c->min_io_size == 0 && !(offs & 7));
-+ ubifs_assert(lnum != wbuf->lnum);
-+
-+ if (wbuf->used > 0) {
-+ int err = ubifs_wbuf_sync_nolock(wbuf);
-+
-+ if (err)
-+ return err;
-+ }
-+
-+ spin_lock(&wbuf->lock);
-+ wbuf->lnum = lnum;
-+ wbuf->offs = offs;
-+ wbuf->avail = c->min_io_size;
-+ wbuf->used = 0;
-+ spin_unlock(&wbuf->lock);
-+ wbuf->dtype = dtype;
-+
-+ return 0;
-+}
-+
-+/**
-+ * ubifs_bg_wbufs_sync - synchronize write-buffers.
-+ * @c: UBIFS file-system description object
-+ *
-+ * This function is called by background thread to synchronize write-buffers.
-+ * Returns zero in case of success and a negative error code in case of
-+ * failure.
-+ */
-+int ubifs_bg_wbufs_sync(struct ubifs_info *c)
-+{
-+ int err, i;
-+
-+ if (!c->need_wbuf_sync)
-+ return 0;
-+ c->need_wbuf_sync = 0;
-+
-+ if (c->ro_media) {
-+ err = -EROFS;
-+ goto out_timers;
-+ }
-+
-+ dbg_io("synchronize");
-+ for (i = 0; i < c->jhead_cnt; i++) {
-+ struct ubifs_wbuf *wbuf = &c->jheads[i].wbuf;
-+
-+ cond_resched();
-+
-+ /*
-+ * If the mutex is locked then wbuf is being changed, so
-+ * synchronization is not necessary.
-+ */
-+ if (mutex_is_locked(&wbuf->io_mutex))
-+ continue;
-+
-+ mutex_lock_nested(&wbuf->io_mutex, wbuf->jhead);
-+ if (!wbuf->need_sync) {
-+ mutex_unlock(&wbuf->io_mutex);
-+ continue;
-+ }
-+
-+ err = ubifs_wbuf_sync_nolock(wbuf);
-+ mutex_unlock(&wbuf->io_mutex);
-+ if (err) {
-+ ubifs_err("cannot sync write-buffer, error %d", err);
-+ ubifs_ro_mode(c, err);
-+ goto out_timers;
-+ }
-+ }
-+
-+ return 0;
-+
-+out_timers:
-+ /* Cancel all timers to prevent repeated errors */
-+ for (i = 0; i < c->jhead_cnt; i++) {
-+ struct ubifs_wbuf *wbuf = &c->jheads[i].wbuf;
-+
-+ mutex_lock_nested(&wbuf->io_mutex, wbuf->jhead);
-+ cancel_wbuf_timer_nolock(wbuf);
-+ mutex_unlock(&wbuf->io_mutex);
-+ }
-+ return err;
-+}
-+
-+/**
-+ * ubifs_wbuf_write_nolock - write data to flash via write-buffer.
-+ * @wbuf: write-buffer
-+ * @buf: node to write
-+ * @len: node length
-+ *
-+ * This function writes data to flash via write-buffer @wbuf. This means that
-+ * the last piece of the node won't reach the flash media immediately if it
-+ * does not take whole minimal I/O unit. Instead, the node will sit in RAM
-+ * until the write-buffer is synchronized (e.g., by timer).
-+ *
-+ * This function returns zero in case of success and a negative error code in
-+ * case of failure. If the node cannot be written because there is no more
-+ * space in this logical eraseblock, %-ENOSPC is returned.
-+ */
-+int ubifs_wbuf_write_nolock(struct ubifs_wbuf *wbuf, void *buf, int len)
-+{
-+ struct ubifs_info *c = wbuf->c;
-+ int err, written, n, aligned_len = ALIGN(len, 8), offs;
-+
-+ dbg_io("%d bytes (%s) to wbuf at LEB %d:%d", len,
-+ dbg_ntype(((struct ubifs_ch *)buf)->node_type), wbuf->lnum,
-+ wbuf->offs + wbuf->used);
-+ ubifs_assert(len > 0 && wbuf->lnum >= 0 && wbuf->lnum < c->leb_cnt);
-+ ubifs_assert(wbuf->offs >= 0 && wbuf->offs % c->min_io_size == 0);
-+ ubifs_assert(!(wbuf->offs & 7) && wbuf->offs <= c->leb_size);
-+ ubifs_assert(wbuf->avail > 0 && wbuf->avail <= c->min_io_size);
-+ ubifs_assert(mutex_is_locked(&wbuf->io_mutex));
-+
-+ if (c->leb_size - wbuf->offs - wbuf->used < aligned_len) {
-+ err = -ENOSPC;
-+ goto out;
-+ }
-+
-+ cancel_wbuf_timer_nolock(wbuf);
-+
-+ if (c->ro_media)
-+ return -EROFS;
-+
-+ if (aligned_len <= wbuf->avail) {
-+ /*
-+ * The node is not very large and fits entirely within
-+ * write-buffer.
-+ */
-+ memcpy(wbuf->buf + wbuf->used, buf, len);
-+
-+ if (aligned_len == wbuf->avail) {
-+ dbg_io("flush wbuf to LEB %d:%d", wbuf->lnum,
-+ wbuf->offs);
-+ err = ubi_leb_write(c->ubi, wbuf->lnum, wbuf->buf,
-+ wbuf->offs, c->min_io_size,
-+ wbuf->dtype);
-+ if (err)
-+ goto out;
-+
-+ spin_lock(&wbuf->lock);
-+ wbuf->offs += c->min_io_size;
-+ wbuf->avail = c->min_io_size;
-+ wbuf->used = 0;
-+ wbuf->next_ino = 0;
-+ spin_unlock(&wbuf->lock);
-+ } else {
-+ spin_lock(&wbuf->lock);
-+ wbuf->avail -= aligned_len;
-+ wbuf->used += aligned_len;
-+ spin_unlock(&wbuf->lock);
-+ }
-+
-+ goto exit;
-+ }
-+
-+ /*
-+ * The node is large enough and does not fit entirely within current
-+ * minimal I/O unit. We have to fill and flush write-buffer and switch
-+ * to the next min. I/O unit.
-+ */
-+ dbg_io("flush wbuf to LEB %d:%d", wbuf->lnum, wbuf->offs);
-+ memcpy(wbuf->buf + wbuf->used, buf, wbuf->avail);
-+ err = ubi_leb_write(c->ubi, wbuf->lnum, wbuf->buf, wbuf->offs,
-+ c->min_io_size, wbuf->dtype);
-+ if (err)
-+ goto out;
-+
-+ offs = wbuf->offs + c->min_io_size;
-+ len -= wbuf->avail;
-+ aligned_len -= wbuf->avail;
-+ written = wbuf->avail;
-+
-+ /*
-+ * The remaining data may take more whole min. I/O units, so write the
-+ * remains multiple to min. I/O unit size directly to the flash media.
-+ * We align node length to 8-byte boundary because we anyway flash wbuf
-+ * if the remaining space is less than 8 bytes.
-+ */
-+ n = aligned_len >> c->min_io_shift;
-+ if (n) {
-+ n <<= c->min_io_shift;
-+ dbg_io("write %d bytes to LEB %d:%d", n, wbuf->lnum, offs);
-+ err = ubi_leb_write(c->ubi, wbuf->lnum, buf + written, offs, n,
-+ wbuf->dtype);
-+ if (err)
-+ goto out;
-+ offs += n;
-+ aligned_len -= n;
-+ len -= n;
-+ written += n;
-+ }
-+
-+ spin_lock(&wbuf->lock);
-+ if (aligned_len)
-+ /*
-+ * And now we have what's left and what does not take whole
-+ * min. I/O unit, so write it to the write-buffer and we are
-+ * done.
-+ */
-+ memcpy(wbuf->buf, buf + written, len);
-+
-+ wbuf->offs = offs;
-+ wbuf->used = aligned_len;
-+ wbuf->avail = c->min_io_size - aligned_len;
-+ wbuf->next_ino = 0;
-+ spin_unlock(&wbuf->lock);
-+
-+exit:
-+ if (wbuf->sync_callback) {
-+ int free = c->leb_size - wbuf->offs - wbuf->used;
-+
-+ err = wbuf->sync_callback(c, wbuf->lnum, free, 0);
-+ if (err)
-+ goto out;
-+ }
-+
-+ if (wbuf->used)
-+ new_wbuf_timer_nolock(wbuf);
-+
-+ return 0;
-+
-+out:
-+ ubifs_err("cannot write %d bytes to LEB %d:%d, error %d",
-+ len, wbuf->lnum, wbuf->offs, err);
-+ dbg_dump_node(c, buf);
-+ dbg_dump_stack();
-+ dbg_dump_leb(c, wbuf->lnum);
-+ return err;
-+}
-+
-+/**
-+ * ubifs_write_node - write node to the media.
-+ * @c: UBIFS file-system description object
-+ * @buf: the node to write
-+ * @len: node length
-+ * @lnum: logical eraseblock number
-+ * @offs: offset within the logical eraseblock
-+ * @dtype: node life-time hint (%UBI_LONGTERM, %UBI_SHORTTERM, %UBI_UNKNOWN)
-+ *
-+ * This function automatically fills node magic number, assigns sequence
-+ * number, and calculates node CRC checksum. The length of the @buf buffer has
-+ * to be aligned to the minimal I/O unit size. This function automatically
-+ * appends padding node and padding bytes if needed. Returns zero in case of
-+ * success and a negative error code in case of failure.
-+ */
-+int ubifs_write_node(struct ubifs_info *c, void *buf, int len, int lnum,
-+ int offs, int dtype)
-+{
-+ int err, buf_len = ALIGN(len, c->min_io_size);
-+
-+ dbg_io("LEB %d:%d, %s, length %d (aligned %d)",
-+ lnum, offs, dbg_ntype(((struct ubifs_ch *)buf)->node_type), len,
-+ buf_len);
-+ ubifs_assert(lnum >= 0 && lnum < c->leb_cnt && offs >= 0);
-+ ubifs_assert(offs % c->min_io_size == 0 && offs < c->leb_size);
-+
-+ if (c->ro_media)
-+ return -EROFS;
-+
-+ ubifs_prepare_node(c, buf, len, 1);
-+ err = ubi_leb_write(c->ubi, lnum, buf, offs, buf_len, dtype);
-+ if (err) {
-+ ubifs_err("cannot write %d bytes to LEB %d:%d, error %d",
-+ buf_len, lnum, offs, err);
-+ dbg_dump_node(c, buf);
-+ dbg_dump_stack();
-+ }
-+
-+ return err;
-+}
-+
-+/**
-+ * ubifs_read_node_wbuf - read node from the media or write-buffer.
-+ * @wbuf: wbuf to check for un-written data
-+ * @buf: buffer to read to
-+ * @type: node type
-+ * @len: node length
-+ * @lnum: logical eraseblock number
-+ * @offs: offset within the logical eraseblock
-+ *
-+ * This function reads a node of known type and length, checks it and stores
-+ * in @buf. If the node partially or fully sits in the write-buffer, this
-+ * function takes data from the buffer, otherwise it reads the flash media.
-+ * Returns zero in case of success, %-EUCLEAN if CRC mismatched and a negative
-+ * error code in case of failure.
-+ */
-+int ubifs_read_node_wbuf(struct ubifs_wbuf *wbuf, void *buf, int type, int len,
-+ int lnum, int offs)
-+{
-+ const struct ubifs_info *c = wbuf->c;
-+ int err, rlen, overlap;
-+ struct ubifs_ch *ch = buf;
-+
-+ dbg_io("LEB %d:%d, %s, length %d", lnum, offs, dbg_ntype(type), len);
-+ ubifs_assert(wbuf && lnum >= 0 && lnum < c->leb_cnt && offs >= 0);
-+ ubifs_assert(!(offs & 7) && offs < c->leb_size);
-+ ubifs_assert(type >= 0 && type < UBIFS_NODE_TYPES_CNT);
-+
-+ spin_lock(&wbuf->lock);
-+ overlap = (lnum == wbuf->lnum && offs + len > wbuf->offs);
-+ if (!overlap) {
-+ /* We may safely unlock the write-buffer and read the data */
-+ spin_unlock(&wbuf->lock);
-+ return ubifs_read_node(c, buf, type, len, lnum, offs);
-+ }
-+
-+ /* Don't read under wbuf */
-+ rlen = wbuf->offs - offs;
-+ if (rlen < 0)
-+ rlen = 0;
-+
-+ /* Copy the rest from the write-buffer */
-+ memcpy(buf + rlen, wbuf->buf + offs + rlen - wbuf->offs, len - rlen);
-+ spin_unlock(&wbuf->lock);
-+
-+ if (rlen > 0) {
-+ /* Read everything that goes before write-buffer */
-+ err = ubi_read(c->ubi, lnum, buf, offs, rlen);
-+ if (err && err != -EBADMSG) {
-+ ubifs_err("failed to read node %d from LEB %d:%d, "
-+ "error %d", type, lnum, offs, err);
-+ dbg_dump_stack();
-+ return err;
-+ }
-+ }
-+
-+ if (type != ch->node_type) {
-+ ubifs_err("bad node type (%d but expected %d)",
-+ ch->node_type, type);
-+ goto out;
-+ }
-+
-+ err = ubifs_check_node(c, buf, lnum, offs, 0, 0);
-+ if (err) {
-+ ubifs_err("expected node type %d", type);
-+ return err;
-+ }
-+
-+ rlen = le32_to_cpu(ch->len);
-+ if (rlen != len) {
-+ ubifs_err("bad node length %d, expected %d", rlen, len);
-+ goto out;
-+ }
-+
-+ return 0;
-+
-+out:
-+ ubifs_err("bad node at LEB %d:%d", lnum, offs);
-+ dbg_dump_node(c, buf);
-+ dbg_dump_stack();
-+ return -EINVAL;
-+}
-+
-+/**
-+ * ubifs_read_node - read node.
-+ * @c: UBIFS file-system description object
-+ * @buf: buffer to read to
-+ * @type: node type
-+ * @len: node length (not aligned)
-+ * @lnum: logical eraseblock number
-+ * @offs: offset within the logical eraseblock
-+ *
-+ * This function reads a node of known type and and length, checks it and
-+ * stores in @buf. Returns zero in case of success, %-EUCLEAN if CRC mismatched
-+ * and a negative error code in case of failure.
-+ */
-+int ubifs_read_node(const struct ubifs_info *c, void *buf, int type, int len,
-+ int lnum, int offs)
-+{
-+ int err, l;
-+ struct ubifs_ch *ch = buf;
-+
-+ dbg_io("LEB %d:%d, %s, length %d", lnum, offs, dbg_ntype(type), len);
-+ ubifs_assert(lnum >= 0 && lnum < c->leb_cnt && offs >= 0);
-+ ubifs_assert(len >= UBIFS_CH_SZ && offs + len <= c->leb_size);
-+ ubifs_assert(!(offs & 7) && offs < c->leb_size);
-+ ubifs_assert(type >= 0 && type < UBIFS_NODE_TYPES_CNT);
-+
-+ err = ubi_read(c->ubi, lnum, buf, offs, len);
-+ if (err && err != -EBADMSG) {
-+ ubifs_err("cannot read node %d from LEB %d:%d, error %d",
-+ type, lnum, offs, err);
-+ return err;
-+ }
-+
-+ if (type != ch->node_type) {
-+ ubifs_err("bad node type (%d but expected %d)",
-+ ch->node_type, type);
-+ goto out;
-+ }
-+
-+ err = ubifs_check_node(c, buf, lnum, offs, 0, 0);
-+ if (err) {
-+ ubifs_err("expected node type %d", type);
-+ return err;
-+ }
-+
-+ l = le32_to_cpu(ch->len);
-+ if (l != len) {
-+ ubifs_err("bad node length %d, expected %d", l, len);
-+ goto out;
-+ }
-+
-+ return 0;
-+
-+out:
-+ ubifs_err("bad node at LEB %d:%d", lnum, offs);
-+ dbg_dump_node(c, buf);
-+ dbg_dump_stack();
-+ return -EINVAL;
-+}
-+
-+/**
-+ * ubifs_wbuf_init - initialize write-buffer.
-+ * @c: UBIFS file-system description object
-+ * @wbuf: write-buffer to initialize
-+ *
-+ * This function initializes write buffer. Returns zero in case of success
-+ * %-ENOMEM in case of failure.
-+ */
-+int ubifs_wbuf_init(struct ubifs_info *c, struct ubifs_wbuf *wbuf)
-+{
-+ size_t size;
-+
-+ wbuf->buf = kmalloc(c->min_io_size, GFP_KERNEL);
-+ if (!wbuf->buf)
-+ return -ENOMEM;
-+
-+ size = (c->min_io_size / UBIFS_CH_SZ + 1) * sizeof(ino_t);
-+ wbuf->inodes = kmalloc(size, GFP_KERNEL);
-+ if (!wbuf->inodes) {
-+ kfree(wbuf->buf);
-+ wbuf->buf = NULL;
-+ return -ENOMEM;
-+ }
-+
-+ wbuf->used = 0;
-+ wbuf->lnum = wbuf->offs = -1;
-+ wbuf->avail = c->min_io_size;
-+ wbuf->dtype = UBI_UNKNOWN;
-+ wbuf->sync_callback = NULL;
-+ mutex_init(&wbuf->io_mutex);
-+ spin_lock_init(&wbuf->lock);
-+
-+ wbuf->c = c;
-+ init_timer(&wbuf->timer);
-+ wbuf->timer.function = wbuf_timer_callback_nolock;
-+ wbuf->timer.data = (unsigned long)wbuf;
-+ wbuf->timeout = DEFAULT_WBUF_TIMEOUT;
-+ wbuf->next_ino = 0;
-+
-+ return 0;
-+}
-+
-+/**
-+ * ubifs_wbuf_add_ino_nolock - add an inode number into the wbuf inode array.
-+ * @wbuf: the write-buffer whereto add
-+ * @inum: the inode number
-+ *
-+ * This function adds an inode number to the inode array of the write-buffer.
-+ */
-+void ubifs_wbuf_add_ino_nolock(struct ubifs_wbuf *wbuf, ino_t inum)
-+{
-+ if (!wbuf->buf)
-+ /* NOR flash or something similar */
-+ return;
-+
-+ spin_lock(&wbuf->lock);
-+ if (wbuf->used)
-+ wbuf->inodes[wbuf->next_ino++] = inum;
-+ spin_unlock(&wbuf->lock);
-+}
-+
-+/**
-+ * wbuf_has_ino - returns if the wbuf contains data from the inode.
-+ * @wbuf: the write-buffer
-+ * @inum: the inode number
-+ *
-+ * This function returns with %1 if the write-buffer contains some data from the
-+ * given inode otherwise it returns with %0.
-+ */
-+static int wbuf_has_ino(struct ubifs_wbuf *wbuf, ino_t inum)
-+{
-+ int i, ret = 0;
-+
-+ spin_lock(&wbuf->lock);
-+ for (i = 0; i < wbuf->next_ino; i++)
-+ if (inum == wbuf->inodes[i]) {
-+ ret = 1;
-+ break;
-+ }
-+ spin_unlock(&wbuf->lock);
-+
-+ return ret;
-+}
-+
-+/**
-+ * ubifs_sync_wbufs_by_inode - synchronize write-buffers for an inode.
-+ * @c: UBIFS file-system description object
-+ * @inode: inode to synchronize
-+ *
-+ * This function synchronizes write-buffers which contain nodes belonging to
-+ * @inode. Returns zero in case of success and a negative error code in case of
-+ * failure.
-+ */
-+int ubifs_sync_wbufs_by_inode(struct ubifs_info *c, struct inode *inode)
-+{
-+ int i, err = 0;
-+
-+ for (i = 0; i < c->jhead_cnt; i++) {
-+ struct ubifs_wbuf *wbuf = &c->jheads[i].wbuf;
-+
-+ if (i == GCHD)
-+ /*
-+ * GC head is special, do not look at it. Even if the
-+ * head contains something related to this inode, it is
-+ * a _copy_ of corresponding on-flash node which sits
-+ * somewhere else.
-+ */
-+ continue;
-+
-+ if (!wbuf_has_ino(wbuf, inode->i_ino))
-+ continue;
-+
-+ mutex_lock_nested(&wbuf->io_mutex, wbuf->jhead);
-+ if (wbuf_has_ino(wbuf, inode->i_ino))
-+ err = ubifs_wbuf_sync_nolock(wbuf);
-+ mutex_unlock(&wbuf->io_mutex);
-+
-+ if (err) {
-+ ubifs_ro_mode(c, err);
-+ return err;
-+ }
-+ }
-+ return 0;
-+}
-diff -Nurd linux-2.6.24.orig/fs/ubifs/ioctl.c linux-2.6.24/fs/ubifs/ioctl.c
---- linux-2.6.24.orig/fs/ubifs/ioctl.c 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.24/fs/ubifs/ioctl.c 2009-04-17 09:49:28.000000000 +0200
-@@ -0,0 +1,196 @@
-+/*
-+ * This file is part of UBIFS.
-+ *
-+ * Copyright (C) 2006-2008 Nokia Corporation.
-+ * Copyright (C) 2006, 2007 University of Szeged, Hungary
-+ *
-+ * This program is free software; you can redistribute it and/or modify it
-+ * under the terms of the GNU General Public License version 2 as published by
-+ * the Free Software Foundation.
-+ *
-+ * 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, write to the Free Software Foundation, Inc., 51
-+ * Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
-+ *
-+ * Authors: Zoltan Sogor
-+ * Artem Bityutskiy (Битюцкий Ðртём)
-+ * Adrian Hunter
-+ */
-+
-+/* This file implements EXT2-compatible extended attribute ioctl() calls */
-+
-+#include <linux/compat.h>
-+#include <linux/smp_lock.h>
-+#include "ubifs.h"
-+
-+/**
-+ * ubifs_set_inode_flags - set VFS inode flags.
-+ * @inode: VFS inode to set flags for
-+ *
-+ * This function propagates flags from UBIFS inode object to VFS inode object.
-+ */
-+void ubifs_set_inode_flags(struct inode *inode)
-+{
-+ unsigned int flags = ubifs_inode(inode)->flags;
-+
-+ inode->i_flags &= ~(S_SYNC | S_APPEND | S_IMMUTABLE | S_DIRSYNC);
-+ if (flags & UBIFS_SYNC_FL)
-+ inode->i_flags |= S_SYNC;
-+ if (flags & UBIFS_APPEND_FL)
-+ inode->i_flags |= S_APPEND;
-+ if (flags & UBIFS_IMMUTABLE_FL)
-+ inode->i_flags |= S_IMMUTABLE;
-+ if (flags & UBIFS_DIRSYNC_FL)
-+ inode->i_flags |= S_DIRSYNC;
-+}
-+
-+/*
-+ * ioctl2ubifs - convert ioctl inode flags to UBIFS inode flags.
-+ * @ioctl_flags: flags to convert
-+ *
-+ * This function convert ioctl flags (@FS_COMPR_FL, etc) to UBIFS inode flags
-+ * (@UBIFS_COMPR_FL, etc).
-+ */
-+static int ioctl2ubifs(int ioctl_flags)
-+{
-+ int ubifs_flags = 0;
-+
-+ if (ioctl_flags & FS_COMPR_FL)
-+ ubifs_flags |= UBIFS_COMPR_FL;
-+ if (ioctl_flags & FS_SYNC_FL)
-+ ubifs_flags |= UBIFS_SYNC_FL;
-+ if (ioctl_flags & FS_APPEND_FL)
-+ ubifs_flags |= UBIFS_APPEND_FL;
-+ if (ioctl_flags & FS_IMMUTABLE_FL)
-+ ubifs_flags |= UBIFS_IMMUTABLE_FL;
-+ if (ioctl_flags & FS_DIRSYNC_FL)
-+ ubifs_flags |= UBIFS_DIRSYNC_FL;
-+
-+ return ubifs_flags;
-+}
-+
-+/*
-+ * ubifs2ioctl - convert UBIFS inode flags to ioctl inode flags.
-+ * @ubifs_flags: flags to convert
-+ *
-+ * This function convert UBIFS (@UBIFS_COMPR_FL, etc) to ioctl flags
-+ * (@FS_COMPR_FL, etc).
-+ */
-+static int ubifs2ioctl(int ubifs_flags)
-+{
-+ int ioctl_flags = 0;
-+
-+ if (ubifs_flags & UBIFS_COMPR_FL)
-+ ioctl_flags |= FS_COMPR_FL;
-+ if (ubifs_flags & UBIFS_SYNC_FL)
-+ ioctl_flags |= FS_SYNC_FL;
-+ if (ubifs_flags & UBIFS_APPEND_FL)
-+ ioctl_flags |= FS_APPEND_FL;
-+ if (ubifs_flags & UBIFS_IMMUTABLE_FL)
-+ ioctl_flags |= FS_IMMUTABLE_FL;
-+ if (ubifs_flags & UBIFS_DIRSYNC_FL)
-+ ioctl_flags |= FS_DIRSYNC_FL;
-+
-+ return ioctl_flags;
-+}
-+
-+static int setflags(struct inode *inode, int flags)
-+{
-+ int oldflags, err, release;
-+ struct ubifs_inode *ui = ubifs_inode(inode);
-+ struct ubifs_info *c = inode->i_sb->s_fs_info;
-+ struct ubifs_budget_req req = { .dirtied_ino = 1,
-+ .dirtied_ino_d = ui->data_len };
-+
-+ err = ubifs_budget_space(c, &req);
-+ if (err)
-+ return err;
-+
-+ /*
-+ * The IMMUTABLE and APPEND_ONLY flags can only be changed by
-+ * the relevant capability.
-+ */
-+ mutex_lock(&ui->ui_mutex);
-+ oldflags = ubifs2ioctl(ui->flags);
-+ if ((flags ^ oldflags) & (FS_APPEND_FL | FS_IMMUTABLE_FL)) {
-+ if (!capable(CAP_LINUX_IMMUTABLE)) {
-+ err = -EPERM;
-+ goto out_unlock;
-+ }
-+ }
-+
-+ ui->flags = ioctl2ubifs(flags);
-+ ubifs_set_inode_flags(inode);
-+ inode->i_ctime = ubifs_current_time(inode);
-+ release = ui->dirty;
-+ mark_inode_dirty_sync(inode);
-+ mutex_unlock(&ui->ui_mutex);
-+
-+ if (release)
-+ ubifs_release_budget(c, &req);
-+ if (IS_SYNC(inode))
-+ err = write_inode_now(inode, 1);
-+ return err;
-+
-+out_unlock:
-+ ubifs_err("can't modify inode %lu attributes", inode->i_ino);
-+ mutex_unlock(&ui->ui_mutex);
-+ ubifs_release_budget(c, &req);
-+ return err;
-+}
-+
-+long ubifs_ioctl(struct file *file, unsigned int cmd, unsigned long arg)
-+{
-+ int flags;
-+ struct inode *inode = file->f_path.dentry->d_inode;
-+
-+ switch (cmd) {
-+ case FS_IOC_GETFLAGS:
-+ flags = ubifs2ioctl(ubifs_inode(inode)->flags);
-+
-+ dbg_gen("get flags: %#x, i_flags %#x", flags, inode->i_flags);
-+ return put_user(flags, (int __user *) arg);
-+
-+ case FS_IOC_SETFLAGS: {
-+ if (IS_RDONLY(inode))
-+ return -EROFS;
-+
-+ if (!is_owner_or_cap(inode))
-+ return -EACCES;
-+
-+ if (get_user(flags, (int __user *) arg))
-+ return -EFAULT;
-+
-+ if (!S_ISDIR(inode->i_mode))
-+ flags &= ~FS_DIRSYNC_FL;
-+
-+ dbg_gen("set flags: %#x, i_flags %#x", flags, inode->i_flags);
-+ return setflags(inode, flags);
-+ }
-+
-+ default:
-+ return -ENOTTY;
-+ }
-+}
-+
-+#ifdef CONFIG_COMPAT
-+long ubifs_compat_ioctl(struct file *file, unsigned int cmd, unsigned long arg)
-+{
-+ switch (cmd) {
-+ case FS_IOC32_GETFLAGS:
-+ cmd = FS_IOC_GETFLAGS;
-+ break;
-+ case FS_IOC32_SETFLAGS:
-+ cmd = FS_IOC_SETFLAGS;
-+ break;
-+ default:
-+ return -ENOIOCTLCMD;
-+ }
-+ return ubifs_ioctl(file, cmd, (unsigned long)compat_ptr(arg));
-+}
-+#endif
-diff -Nurd linux-2.6.24.orig/fs/ubifs/journal.c linux-2.6.24/fs/ubifs/journal.c
---- linux-2.6.24.orig/fs/ubifs/journal.c 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.24/fs/ubifs/journal.c 2009-04-17 09:49:28.000000000 +0200
-@@ -0,0 +1,1443 @@
-+/*
-+ * This file is part of UBIFS.
-+ *
-+ * Copyright (C) 2006-2008 Nokia Corporation.
-+ *
-+ * This program is free software; you can redistribute it and/or modify it
-+ * under the terms of the GNU General Public License version 2 as published by
-+ * the Free Software Foundation.
-+ *
-+ * 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, write to the Free Software Foundation, Inc., 51
-+ * Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
-+ *
-+ * Authors: Artem Bityutskiy (Битюцкий Ðртём)
-+ * Adrian Hunter
-+ */
-+
-+/*
-+ * This file implements UBIFS journal.
-+ *
-+ * The journal consists of 2 parts - the log and bud LEBs. The log has fixed
-+ * length and position, while a bud logical eraseblock is any LEB in the main
-+ * area. Buds contain file system data - data nodes, inode nodes, etc. The log
-+ * contains only references to buds and some other stuff like commit
-+ * start node. The idea is that when we commit the journal, we do
-+ * not copy the data, the buds just become indexed. Since after the commit the
-+ * nodes in bud eraseblocks become leaf nodes of the file system index tree, we
-+ * use term "bud". Analogy is obvious, bud eraseblocks contain nodes which will
-+ * become leafs in the future.
-+ *
-+ * The journal is multi-headed because we want to write data to the journal as
-+ * optimally as possible. It is nice to have nodes belonging to the same inode
-+ * in one LEB, so we may write data owned by different inodes to different
-+ * journal heads, although at present only one data head is used.
-+ *
-+ * For recovery reasons, the base head contains all inode nodes, all directory
-+ * entry nodes and all truncate nodes. This means that the other heads contain
-+ * only data nodes.
-+ *
-+ * Bud LEBs may be half-indexed. For example, if the bud was not full at the
-+ * time of commit, the bud is retained to continue to be used in the journal,
-+ * even though the "front" of the LEB is now indexed. In that case, the log
-+ * reference contains the offset where the bud starts for the purposes of the
-+ * journal.
-+ *
-+ * The journal size has to be limited, because the larger is the journal, the
-+ * longer it takes to mount UBIFS (scanning the journal) and the more memory it
-+ * takes (indexing in the TNC).
-+ *
-+ * All the journal write operations like 'ubifs_jnl_update()' here, which write
-+ * multiple UBIFS nodes to the journal at one go, are atomic with respect to
-+ * unclean reboots. Should the unclean reboot happen, the recovery code drops
-+ * all the nodes.
-+ */
-+
-+#include "ubifs.h"
-+
-+/**
-+ * zero_ino_node_unused - zero out unused fields of an on-flash inode node.
-+ * @ino: the inode to zero out
-+ */
-+static inline void zero_ino_node_unused(struct ubifs_ino_node *ino)
-+{
-+ memset(ino->padding1, 0, 4);
-+ memset(ino->padding2, 0, 26);
-+}
-+
-+/**
-+ * zero_dent_node_unused - zero out unused fields of an on-flash directory
-+ * entry node.
-+ * @dent: the directory entry to zero out
-+ */
-+static inline void zero_dent_node_unused(struct ubifs_dent_node *dent)
-+{
-+ dent->padding1 = 0;
-+ memset(dent->padding2, 0, 4);
-+}
-+
-+/**
-+ * zero_data_node_unused - zero out unused fields of an on-flash data node.
-+ * @data: the data node to zero out
-+ */
-+static inline void zero_data_node_unused(struct ubifs_data_node *data)
-+{
-+ memset(data->padding, 0, 2);
-+}
-+
-+/**
-+ * zero_trun_node_unused - zero out unused fields of an on-flash truncation
-+ * node.
-+ * @trun: the truncation node to zero out
-+ */
-+static inline void zero_trun_node_unused(struct ubifs_trun_node *trun)
-+{
-+ memset(trun->padding, 0, 12);
-+}
-+
-+/**
-+ * reserve_space - reserve space in the journal.
-+ * @c: UBIFS file-system description object
-+ * @jhead: journal head number
-+ * @len: node length
-+ *
-+ * This function reserves space in journal head @head. If the reservation
-+ * succeeded, the journal head stays locked and later has to be unlocked using
-+ * 'release_head()'. 'write_node()' and 'write_head()' functions also unlock
-+ * it. Returns zero in case of success, %-EAGAIN if commit has to be done, and
-+ * other negative error codes in case of other failures.
-+ */
-+static int reserve_space(struct ubifs_info *c, int jhead, int len)
-+{
-+ int err = 0, err1, retries = 0, avail, lnum, offs, free, squeeze;
-+ struct ubifs_wbuf *wbuf = &c->jheads[jhead].wbuf;
-+
-+ /*
-+ * Typically, the base head has smaller nodes written to it, so it is
-+ * better to try to allocate space at the ends of eraseblocks. This is
-+ * what the squeeze parameter does.
-+ */
-+ squeeze = (jhead == BASEHD);
-+again:
-+ mutex_lock_nested(&wbuf->io_mutex, wbuf->jhead);
-+
-+ if (c->ro_media) {
-+ err = -EROFS;
-+ goto out_unlock;
-+ }
-+
-+ avail = c->leb_size - wbuf->offs - wbuf->used;
-+ if (wbuf->lnum != -1 && avail >= len)
-+ return 0;
-+
-+ /*
-+ * Write buffer wasn't seek'ed or there is no enough space - look for an
-+ * LEB with some empty space.
-+ */
-+ lnum = ubifs_find_free_space(c, len, &free, squeeze);
-+ if (lnum >= 0) {
-+ /* Found an LEB, add it to the journal head */
-+ offs = c->leb_size - free;
-+ err = ubifs_add_bud_to_log(c, jhead, lnum, offs);
-+ if (err)
-+ goto out_return;
-+ /* A new bud was successfully allocated and added to the log */
-+ goto out;
-+ }
-+
-+ err = lnum;
-+ if (err != -ENOSPC)
-+ goto out_unlock;
-+
-+ /*
-+ * No free space, we have to run garbage collector to make
-+ * some. But the write-buffer mutex has to be unlocked because
-+ * GC also takes it.
-+ */
-+ dbg_jnl("no free space jhead %d, run GC", jhead);
-+ mutex_unlock(&wbuf->io_mutex);
-+
-+ lnum = ubifs_garbage_collect(c, 0);
-+ if (lnum < 0) {
-+ err = lnum;
-+ if (err != -ENOSPC)
-+ return err;
-+
-+ /*
-+ * GC could not make a free LEB. But someone else may
-+ * have allocated new bud for this journal head,
-+ * because we dropped @wbuf->io_mutex, so try once
-+ * again.
-+ */
-+ dbg_jnl("GC couldn't make a free LEB for jhead %d", jhead);
-+ if (retries++ < 2) {
-+ dbg_jnl("retry (%d)", retries);
-+ goto again;
-+ }
-+
-+ dbg_jnl("return -ENOSPC");
-+ return err;
-+ }
-+
-+ mutex_lock_nested(&wbuf->io_mutex, wbuf->jhead);
-+ dbg_jnl("got LEB %d for jhead %d", lnum, jhead);
-+ avail = c->leb_size - wbuf->offs - wbuf->used;
-+
-+ if (wbuf->lnum != -1 && avail >= len) {
-+ /*
-+ * Someone else has switched the journal head and we have
-+ * enough space now. This happens when more then one process is
-+ * trying to write to the same journal head at the same time.
-+ */
-+ dbg_jnl("return LEB %d back, already have LEB %d:%d",
-+ lnum, wbuf->lnum, wbuf->offs + wbuf->used);
-+ err = ubifs_return_leb(c, lnum);
-+ if (err)
-+ goto out_unlock;
-+ return 0;
-+ }
-+
-+ err = ubifs_add_bud_to_log(c, jhead, lnum, 0);
-+ if (err)
-+ goto out_return;
-+ offs = 0;
-+
-+out:
-+ err = ubifs_wbuf_seek_nolock(wbuf, lnum, offs, wbuf->dtype);
-+ if (err)
-+ goto out_unlock;
-+
-+ return 0;
-+
-+out_unlock:
-+ mutex_unlock(&wbuf->io_mutex);
-+ return err;
-+
-+out_return:
-+ /* An error occurred and the LEB has to be returned to lprops */
-+ ubifs_assert(err < 0);
-+ err1 = ubifs_return_leb(c, lnum);
-+ if (err1 && err == -EAGAIN)
-+ /*
-+ * Return original error code only if it is not %-EAGAIN,
-+ * which is not really an error. Otherwise, return the error
-+ * code of 'ubifs_return_leb()'.
-+ */
-+ err = err1;
-+ mutex_unlock(&wbuf->io_mutex);
-+ return err;
-+}
-+
-+/**
-+ * write_node - write node to a journal head.
-+ * @c: UBIFS file-system description object
-+ * @jhead: journal head
-+ * @node: node to write
-+ * @len: node length
-+ * @lnum: LEB number written is returned here
-+ * @offs: offset written is returned here
-+ *
-+ * This function writes a node to reserved space of journal head @jhead.
-+ * Returns zero in case of success and a negative error code in case of
-+ * failure.
-+ */
-+static int write_node(struct ubifs_info *c, int jhead, void *node, int len,
-+ int *lnum, int *offs)
-+{
-+ struct ubifs_wbuf *wbuf = &c->jheads[jhead].wbuf;
-+
-+ ubifs_assert(jhead != GCHD);
-+
-+ *lnum = c->jheads[jhead].wbuf.lnum;
-+ *offs = c->jheads[jhead].wbuf.offs + c->jheads[jhead].wbuf.used;
-+
-+ dbg_jnl("jhead %d, LEB %d:%d, len %d", jhead, *lnum, *offs, len);
-+ ubifs_prepare_node(c, node, len, 0);
-+
-+ return ubifs_wbuf_write_nolock(wbuf, node, len);
-+}
-+
-+/**
-+ * write_head - write data to a journal head.
-+ * @c: UBIFS file-system description object
-+ * @jhead: journal head
-+ * @buf: buffer to write
-+ * @len: length to write
-+ * @lnum: LEB number written is returned here
-+ * @offs: offset written is returned here
-+ * @sync: non-zero if the write-buffer has to by synchronized
-+ *
-+ * This function is the same as 'write_node()' but it does not assume the
-+ * buffer it is writing is a node, so it does not prepare it (which means
-+ * initializing common header and calculating CRC).
-+ */
-+static int write_head(struct ubifs_info *c, int jhead, void *buf, int len,
-+ int *lnum, int *offs, int sync)
-+{
-+ int err;
-+ struct ubifs_wbuf *wbuf = &c->jheads[jhead].wbuf;
-+
-+ ubifs_assert(jhead != GCHD);
-+
-+ *lnum = c->jheads[jhead].wbuf.lnum;
-+ *offs = c->jheads[jhead].wbuf.offs + c->jheads[jhead].wbuf.used;
-+ dbg_jnl("jhead %d, LEB %d:%d, len %d", jhead, *lnum, *offs, len);
-+
-+ err = ubifs_wbuf_write_nolock(wbuf, buf, len);
-+ if (err)
-+ return err;
-+ if (sync)
-+ err = ubifs_wbuf_sync_nolock(wbuf);
-+ return err;
-+}
-+
-+/**
-+ * make_reservation - reserve journal space.
-+ * @c: UBIFS file-system description object
-+ * @jhead: journal head
-+ * @len: how many bytes to reserve
-+ *
-+ * This function makes space reservation in journal head @jhead. The function
-+ * takes the commit lock and locks the journal head, and the caller has to
-+ * unlock the head and finish the reservation with 'finish_reservation()'.
-+ * Returns zero in case of success and a negative error code in case of
-+ * failure.
-+ *
-+ * Note, the journal head may be unlocked as soon as the data is written, while
-+ * the commit lock has to be released after the data has been added to the
-+ * TNC.
-+ */
-+static int make_reservation(struct ubifs_info *c, int jhead, int len)
-+{
-+ int err, cmt_retries = 0, nospc_retries = 0;
-+
-+again:
-+ down_read(&c->commit_sem);
-+ err = reserve_space(c, jhead, len);
-+ if (!err)
-+ return 0;
-+ up_read(&c->commit_sem);
-+
-+ if (err == -ENOSPC) {
-+ /*
-+ * GC could not make any progress. We should try to commit
-+ * once because it could make some dirty space and GC would
-+ * make progress, so make the error -EAGAIN so that the below
-+ * will commit and re-try.
-+ */
-+ if (nospc_retries++ < 2) {
-+ dbg_jnl("no space, retry");
-+ err = -EAGAIN;
-+ }
-+
-+ /*
-+ * This means that the budgeting is incorrect. We always have
-+ * to be able to write to the media, because all operations are
-+ * budgeted. Deletions are not budgeted, though, but we reserve
-+ * an extra LEB for them.
-+ */
-+ }
-+
-+ if (err != -EAGAIN)
-+ goto out;
-+
-+ /*
-+ * -EAGAIN means that the journal is full or too large, or the above
-+ * code wants to do one commit. Do this and re-try.
-+ */
-+ if (cmt_retries > 128) {
-+ /*
-+ * This should not happen unless the journal size limitations
-+ * are too tough.
-+ */
-+ ubifs_err("stuck in space allocation");
-+ err = -ENOSPC;
-+ goto out;
-+ } else if (cmt_retries > 32)
-+ ubifs_warn("too many space allocation re-tries (%d)",
-+ cmt_retries);
-+
-+ dbg_jnl("-EAGAIN, commit and retry (retried %d times)",
-+ cmt_retries);
-+ cmt_retries += 1;
-+
-+ err = ubifs_run_commit(c);
-+ if (err)
-+ return err;
-+ goto again;
-+
-+out:
-+ ubifs_err("cannot reserve %d bytes in jhead %d, error %d",
-+ len, jhead, err);
-+ if (err == -ENOSPC) {
-+ /* This are some budgeting problems, print useful information */
-+ down_write(&c->commit_sem);
-+ spin_lock(&c->space_lock);
-+ dbg_dump_stack();
-+ dbg_dump_budg(c);
-+ spin_unlock(&c->space_lock);
-+ dbg_dump_lprops(c);
-+ cmt_retries = dbg_check_lprops(c);
-+ up_write(&c->commit_sem);
-+ }
-+ return err;
-+}
-+
-+/**
-+ * release_head - release a journal head.
-+ * @c: UBIFS file-system description object
-+ * @jhead: journal head
-+ *
-+ * This function releases journal head @jhead which was locked by
-+ * the 'make_reservation()' function. It has to be called after each successful
-+ * 'make_reservation()' invocation.
-+ */
-+static inline void release_head(struct ubifs_info *c, int jhead)
-+{
-+ mutex_unlock(&c->jheads[jhead].wbuf.io_mutex);
-+}
-+
-+/**
-+ * finish_reservation - finish a reservation.
-+ * @c: UBIFS file-system description object
-+ *
-+ * This function finishes journal space reservation. It must be called after
-+ * 'make_reservation()'.
-+ */
-+static void finish_reservation(struct ubifs_info *c)
-+{
-+ up_read(&c->commit_sem);
-+}
-+
-+/**
-+ * get_dent_type - translate VFS inode mode to UBIFS directory entry type.
-+ * @mode: inode mode
-+ */
-+static int get_dent_type(int mode)
-+{
-+ switch (mode & S_IFMT) {
-+ case S_IFREG:
-+ return UBIFS_ITYPE_REG;
-+ case S_IFDIR:
-+ return UBIFS_ITYPE_DIR;
-+ case S_IFLNK:
-+ return UBIFS_ITYPE_LNK;
-+ case S_IFBLK:
-+ return UBIFS_ITYPE_BLK;
-+ case S_IFCHR:
-+ return UBIFS_ITYPE_CHR;
-+ case S_IFIFO:
-+ return UBIFS_ITYPE_FIFO;
-+ case S_IFSOCK:
-+ return UBIFS_ITYPE_SOCK;
-+ default:
-+ BUG();
-+ }
-+ return 0;
-+}
-+
-+/**
-+ * pack_inode - pack an inode node.
-+ * @c: UBIFS file-system description object
-+ * @ino: buffer in which to pack inode node
-+ * @inode: inode to pack
-+ * @last: indicates the last node of the group
-+ */
-+static void pack_inode(struct ubifs_info *c, struct ubifs_ino_node *ino,
-+ const struct inode *inode, int last)
-+{
-+ int data_len = 0, last_reference = !inode->i_nlink;
-+ struct ubifs_inode *ui = ubifs_inode(inode);
-+
-+ ino->ch.node_type = UBIFS_INO_NODE;
-+ ino_key_init_flash(c, &ino->key, inode->i_ino);
-+ ino->creat_sqnum = cpu_to_le64(ui->creat_sqnum);
-+ ino->atime_sec = cpu_to_le64(inode->i_atime.tv_sec);
-+ ino->atime_nsec = cpu_to_le32(inode->i_atime.tv_nsec);
-+ ino->ctime_sec = cpu_to_le64(inode->i_ctime.tv_sec);
-+ ino->ctime_nsec = cpu_to_le32(inode->i_ctime.tv_nsec);
-+ ino->mtime_sec = cpu_to_le64(inode->i_mtime.tv_sec);
-+ ino->mtime_nsec = cpu_to_le32(inode->i_mtime.tv_nsec);
-+ ino->uid = cpu_to_le32(inode->i_uid);
-+ ino->gid = cpu_to_le32(inode->i_gid);
-+ ino->mode = cpu_to_le32(inode->i_mode);
-+ ino->flags = cpu_to_le32(ui->flags);
-+ ino->size = cpu_to_le64(ui->ui_size);
-+ ino->nlink = cpu_to_le32(inode->i_nlink);
-+ ino->compr_type = cpu_to_le16(ui->compr_type);
-+ ino->data_len = cpu_to_le32(ui->data_len);
-+ ino->xattr_cnt = cpu_to_le32(ui->xattr_cnt);
-+ ino->xattr_size = cpu_to_le32(ui->xattr_size);
-+ ino->xattr_names = cpu_to_le32(ui->xattr_names);
-+ zero_ino_node_unused(ino);
-+
-+ /*
-+ * Drop the attached data if this is a deletion inode, the data is not
-+ * needed anymore.
-+ */
-+ if (!last_reference) {
-+ memcpy(ino->data, ui->data, ui->data_len);
-+ data_len = ui->data_len;
-+ }
-+
-+ ubifs_prep_grp_node(c, ino, UBIFS_INO_NODE_SZ + data_len, last);
-+}
-+
-+/**
-+ * mark_inode_clean - mark UBIFS inode as clean.
-+ * @c: UBIFS file-system description object
-+ * @ui: UBIFS inode to mark as clean
-+ *
-+ * This helper function marks UBIFS inode @ui as clean by cleaning the
-+ * @ui->dirty flag and releasing its budget. Note, VFS may still treat the
-+ * inode as dirty and try to write it back, but 'ubifs_write_inode()' would
-+ * just do nothing.
-+ */
-+static void mark_inode_clean(struct ubifs_info *c, struct ubifs_inode *ui)
-+{
-+ if (ui->dirty)
-+ ubifs_release_dirty_inode_budget(c, ui);
-+ ui->dirty = 0;
-+}
-+
-+/**
-+ * ubifs_jnl_update - update inode.
-+ * @c: UBIFS file-system description object
-+ * @dir: parent inode or host inode in case of extended attributes
-+ * @nm: directory entry name
-+ * @inode: inode to update
-+ * @deletion: indicates a directory entry deletion i.e unlink or rmdir
-+ * @xent: non-zero if the directory entry is an extended attribute entry
-+ *
-+ * This function updates an inode by writing a directory entry (or extended
-+ * attribute entry), the inode itself, and the parent directory inode (or the
-+ * host inode) to the journal.
-+ *
-+ * The function writes the host inode @dir last, which is important in case of
-+ * extended attributes. Indeed, then we guarantee that if the host inode gets
-+ * synchronized (with 'fsync()'), and the write-buffer it sits in gets flushed,
-+ * the extended attribute inode gets flushed too. And this is exactly what the
-+ * user expects - synchronizing the host inode synchronizes its extended
-+ * attributes. Similarly, this guarantees that if @dir is synchronized, its
-+ * directory entry corresponding to @nm gets synchronized too.
-+ *
-+ * If the inode (@inode) or the parent directory (@dir) are synchronous, this
-+ * function synchronizes the write-buffer.
-+ *
-+ * This function marks the @dir and @inode inodes as clean and returns zero on
-+ * success. In case of failure, a negative error code is returned.
-+ */
-+int ubifs_jnl_update(struct ubifs_info *c, const struct inode *dir,
-+ const struct qstr *nm, const struct inode *inode,
-+ int deletion, int xent)
-+{
-+ int err, dlen, ilen, len, lnum, ino_offs, dent_offs;
-+ int aligned_dlen, aligned_ilen, sync = IS_DIRSYNC(dir);
-+ int last_reference = !!(deletion && inode->i_nlink == 0);
-+ struct ubifs_inode *ui = ubifs_inode(inode);
-+ struct ubifs_inode *dir_ui = ubifs_inode(dir);
-+ struct ubifs_dent_node *dent;
-+ struct ubifs_ino_node *ino;
-+ union ubifs_key dent_key, ino_key;
-+
-+ dbg_jnl("ino %lu, dent '%.*s', data len %d in dir ino %lu",
-+ inode->i_ino, nm->len, nm->name, ui->data_len, dir->i_ino);
-+ ubifs_assert(dir_ui->data_len == 0);
-+ ubifs_assert(mutex_is_locked(&dir_ui->ui_mutex));
-+
-+ dlen = UBIFS_DENT_NODE_SZ + nm->len + 1;
-+ ilen = UBIFS_INO_NODE_SZ;
-+
-+ /*
-+ * If the last reference to the inode is being deleted, then there is
-+ * no need to attach and write inode data, it is being deleted anyway.
-+ * And if the inode is being deleted, no need to synchronize
-+ * write-buffer even if the inode is synchronous.
-+ */
-+ if (!last_reference) {
-+ ilen += ui->data_len;
-+ sync |= IS_SYNC(inode);
-+ }
-+
-+ aligned_dlen = ALIGN(dlen, 8);
-+ aligned_ilen = ALIGN(ilen, 8);
-+ len = aligned_dlen + aligned_ilen + UBIFS_INO_NODE_SZ;
-+ dent = kmalloc(len, GFP_NOFS);
-+ if (!dent)
-+ return -ENOMEM;
-+
-+ /* Make reservation before allocating sequence numbers */
-+ err = make_reservation(c, BASEHD, len);
-+ if (err)
-+ goto out_free;
-+
-+ if (!xent) {
-+ dent->ch.node_type = UBIFS_DENT_NODE;
-+ dent_key_init(c, &dent_key, dir->i_ino, nm);
-+ } else {
-+ dent->ch.node_type = UBIFS_XENT_NODE;
-+ xent_key_init(c, &dent_key, dir->i_ino, nm);
-+ }
-+
-+ key_write(c, &dent_key, dent->key);
-+ dent->inum = deletion ? 0 : cpu_to_le64(inode->i_ino);
-+ dent->type = get_dent_type(inode->i_mode);
-+ dent->nlen = cpu_to_le16(nm->len);
-+ memcpy(dent->name, nm->name, nm->len);
-+ dent->name[nm->len] = '\0';
-+ zero_dent_node_unused(dent);
-+ ubifs_prep_grp_node(c, dent, dlen, 0);
-+
-+ ino = (void *)dent + aligned_dlen;
-+ pack_inode(c, ino, inode, 0);
-+ ino = (void *)ino + aligned_ilen;
-+ pack_inode(c, ino, dir, 1);
-+
-+ if (last_reference) {
-+ err = ubifs_add_orphan(c, inode->i_ino);
-+ if (err) {
-+ release_head(c, BASEHD);
-+ goto out_finish;
-+ }
-+ ui->del_cmtno = c->cmt_no;
-+ }
-+
-+ err = write_head(c, BASEHD, dent, len, &lnum, &dent_offs, sync);
-+ if (err)
-+ goto out_release;
-+ if (!sync) {
-+ struct ubifs_wbuf *wbuf = &c->jheads[BASEHD].wbuf;
-+
-+ ubifs_wbuf_add_ino_nolock(wbuf, inode->i_ino);
-+ ubifs_wbuf_add_ino_nolock(wbuf, dir->i_ino);
-+ }
-+ release_head(c, BASEHD);
-+ kfree(dent);
-+
-+ if (deletion) {
-+ err = ubifs_tnc_remove_nm(c, &dent_key, nm);
-+ if (err)
-+ goto out_ro;
-+ err = ubifs_add_dirt(c, lnum, dlen);
-+ } else
-+ err = ubifs_tnc_add_nm(c, &dent_key, lnum, dent_offs, dlen, nm);
-+ if (err)
-+ goto out_ro;
-+
-+ /*
-+ * Note, we do not remove the inode from TNC even if the last reference
-+ * to it has just been deleted, because the inode may still be opened.
-+ * Instead, the inode has been added to orphan lists and the orphan
-+ * subsystem will take further care about it.
-+ */
-+ ino_key_init(c, &ino_key, inode->i_ino);
-+ ino_offs = dent_offs + aligned_dlen;
-+ err = ubifs_tnc_add(c, &ino_key, lnum, ino_offs, ilen);
-+ if (err)
-+ goto out_ro;
-+
-+ ino_key_init(c, &ino_key, dir->i_ino);
-+ ino_offs += aligned_ilen;
-+ err = ubifs_tnc_add(c, &ino_key, lnum, ino_offs, UBIFS_INO_NODE_SZ);
-+ if (err)
-+ goto out_ro;
-+
-+ finish_reservation(c);
-+ spin_lock(&ui->ui_lock);
-+ ui->synced_i_size = ui->ui_size;
-+ spin_unlock(&ui->ui_lock);
-+ mark_inode_clean(c, ui);
-+ mark_inode_clean(c, dir_ui);
-+ return 0;
-+
-+out_finish:
-+ finish_reservation(c);
-+out_free:
-+ kfree(dent);
-+ return err;
-+
-+out_release:
-+ release_head(c, BASEHD);
-+out_ro:
-+ ubifs_ro_mode(c, err);
-+ if (last_reference)
-+ ubifs_delete_orphan(c, inode->i_ino);
-+ finish_reservation(c);
-+ return err;
-+}
-+
-+/**
-+ * ubifs_jnl_write_data - write a data node to the journal.
-+ * @c: UBIFS file-system description object
-+ * @inode: inode the data node belongs to
-+ * @key: node key
-+ * @buf: buffer to write
-+ * @len: data length (must not exceed %UBIFS_BLOCK_SIZE)
-+ *
-+ * This function writes a data node to the journal. Returns %0 if the data node
-+ * was successfully written, and a negative error code in case of failure.
-+ */
-+int ubifs_jnl_write_data(struct ubifs_info *c, const struct inode *inode,
-+ const union ubifs_key *key, const void *buf, int len)
-+{
-+ struct ubifs_data_node *data;
-+ int err, lnum, offs, compr_type, out_len;
-+ int dlen = UBIFS_DATA_NODE_SZ + UBIFS_BLOCK_SIZE * WORST_COMPR_FACTOR;
-+ struct ubifs_inode *ui = ubifs_inode(inode);
-+
-+ dbg_jnl("ino %lu, blk %u, len %d, key %s",
-+ (unsigned long)key_inum(c, key), key_block(c, key), len,
-+ DBGKEY(key));
-+ ubifs_assert(len <= UBIFS_BLOCK_SIZE);
-+
-+ data = kmalloc(dlen, GFP_NOFS);
-+ if (!data)
-+ return -ENOMEM;
-+
-+ data->ch.node_type = UBIFS_DATA_NODE;
-+ key_write(c, key, &data->key);
-+ data->size = cpu_to_le32(len);
-+ zero_data_node_unused(data);
-+
-+ if (!(ui->flags & UBIFS_COMPR_FL))
-+ /* Compression is disabled for this inode */
-+ compr_type = UBIFS_COMPR_NONE;
-+ else
-+ compr_type = ui->compr_type;
-+
-+ out_len = dlen - UBIFS_DATA_NODE_SZ;
-+ ubifs_compress(buf, len, &data->data, &out_len, &compr_type);
-+ ubifs_assert(out_len <= UBIFS_BLOCK_SIZE);
-+
-+ dlen = UBIFS_DATA_NODE_SZ + out_len;
-+ data->compr_type = cpu_to_le16(compr_type);
-+
-+ /* Make reservation before allocating sequence numbers */
-+ err = make_reservation(c, DATAHD, dlen);
-+ if (err)
-+ goto out_free;
-+
-+ err = write_node(c, DATAHD, data, dlen, &lnum, &offs);
-+ if (err)
-+ goto out_release;
-+ ubifs_wbuf_add_ino_nolock(&c->jheads[DATAHD].wbuf, key_inum(c, key));
-+ release_head(c, DATAHD);
-+
-+ err = ubifs_tnc_add(c, key, lnum, offs, dlen);
-+ if (err)
-+ goto out_ro;
-+
-+ finish_reservation(c);
-+ kfree(data);
-+ return 0;
-+
-+out_release:
-+ release_head(c, DATAHD);
-+out_ro:
-+ ubifs_ro_mode(c, err);
-+ finish_reservation(c);
-+out_free:
-+ kfree(data);
-+ return err;
-+}
-+
-+/**
-+ * ubifs_jnl_write_inode - flush inode to the journal.
-+ * @c: UBIFS file-system description object
-+ * @inode: inode to flush
-+ *
-+ * This function writes inode @inode to the journal. If the inode is
-+ * synchronous, it also synchronizes the write-buffer. Returns zero in case of
-+ * success and a negative error code in case of failure.
-+ */
-+int ubifs_jnl_write_inode(struct ubifs_info *c, const struct inode *inode)
-+{
-+ int err, lnum, offs;
-+ struct ubifs_ino_node *ino;
-+ struct ubifs_inode *ui = ubifs_inode(inode);
-+ int sync = 0, len = UBIFS_INO_NODE_SZ, last_reference = !inode->i_nlink;
-+
-+ dbg_jnl("ino %lu, nlink %u", inode->i_ino, inode->i_nlink);
-+
-+ /*
-+ * If the inode is being deleted, do not write the attached data. No
-+ * need to synchronize the write-buffer either.
-+ */
-+ if (!last_reference) {
-+ len += ui->data_len;
-+ sync = IS_SYNC(inode);
-+ }
-+ ino = kmalloc(len, GFP_NOFS);
-+ if (!ino)
-+ return -ENOMEM;
-+
-+ /* Make reservation before allocating sequence numbers */
-+ err = make_reservation(c, BASEHD, len);
-+ if (err)
-+ goto out_free;
-+
-+ pack_inode(c, ino, inode, 1);
-+ err = write_head(c, BASEHD, ino, len, &lnum, &offs, sync);
-+ if (err)
-+ goto out_release;
-+ if (!sync)
-+ ubifs_wbuf_add_ino_nolock(&c->jheads[BASEHD].wbuf,
-+ inode->i_ino);
-+ release_head(c, BASEHD);
-+
-+ if (last_reference) {
-+ err = ubifs_tnc_remove_ino(c, inode->i_ino);
-+ if (err)
-+ goto out_ro;
-+ ubifs_delete_orphan(c, inode->i_ino);
-+ err = ubifs_add_dirt(c, lnum, len);
-+ } else {
-+ union ubifs_key key;
-+
-+ ino_key_init(c, &key, inode->i_ino);
-+ err = ubifs_tnc_add(c, &key, lnum, offs, len);
-+ }
-+ if (err)
-+ goto out_ro;
-+
-+ finish_reservation(c);
-+ spin_lock(&ui->ui_lock);
-+ ui->synced_i_size = ui->ui_size;
-+ spin_unlock(&ui->ui_lock);
-+ kfree(ino);
-+ return 0;
-+
-+out_release:
-+ release_head(c, BASEHD);
-+out_ro:
-+ ubifs_ro_mode(c, err);
-+ finish_reservation(c);
-+out_free:
-+ kfree(ino);
-+ return err;
-+}
-+
-+/**
-+ * ubifs_jnl_delete_inode - delete an inode.
-+ * @c: UBIFS file-system description object
-+ * @inode: inode to delete
-+ *
-+ * This function deletes inode @inode which includes removing it from orphans,
-+ * deleting it from TNC and, in some cases, writing a deletion inode to the
-+ * journal.
-+ *
-+ * When regular file inodes are unlinked or a directory inode is removed, the
-+ * 'ubifs_jnl_update()' function writes a corresponding deletion inode and
-+ * direntry to the media, and adds the inode to orphans. After this, when the
-+ * last reference to this inode has been dropped, this function is called. In
-+ * general, it has to write one more deletion inode to the media, because if
-+ * a commit happened between 'ubifs_jnl_update()' and
-+ * 'ubifs_jnl_delete_inode()', the deletion inode is not in the journal
-+ * anymore, and in fact it might not be on the flash anymore, because it might
-+ * have been garbage-collected already. And for optimization reasons UBIFS does
-+ * not read the orphan area if it has been unmounted cleanly, so it would have
-+ * no indication in the journal that there is a deleted inode which has to be
-+ * removed from TNC.
-+ *
-+ * However, if there was no commit between 'ubifs_jnl_update()' and
-+ * 'ubifs_jnl_delete_inode()', then there is no need to write the deletion
-+ * inode to the media for the second time. And this is quite a typical case.
-+ *
-+ * This function returns zero in case of success and a negative error code in
-+ * case of failure.
-+ */
-+int ubifs_jnl_delete_inode(struct ubifs_info *c, const struct inode *inode)
-+{
-+ int err;
-+ struct ubifs_inode *ui = ubifs_inode(inode);
-+
-+ ubifs_assert(inode->i_nlink == 0);
-+
-+ if (ui->del_cmtno != c->cmt_no)
-+ /* A commit happened for sure */
-+ return ubifs_jnl_write_inode(c, inode);
-+
-+ down_read(&c->commit_sem);
-+ /*
-+ * Check commit number again, because the first test has been done
-+ * without @c->commit_sem, so a commit might have happened.
-+ */
-+ if (ui->del_cmtno != c->cmt_no) {
-+ up_read(&c->commit_sem);
-+ return ubifs_jnl_write_inode(c, inode);
-+ }
-+
-+ err = ubifs_tnc_remove_ino(c, inode->i_ino);
-+ if (err)
-+ ubifs_ro_mode(c, err);
-+ else
-+ ubifs_delete_orphan(c, inode->i_ino);
-+ up_read(&c->commit_sem);
-+ return err;
-+}
-+
-+/**
-+ * ubifs_jnl_rename - rename a directory entry.
-+ * @c: UBIFS file-system description object
-+ * @old_dir: parent inode of directory entry to rename
-+ * @old_dentry: directory entry to rename
-+ * @new_dir: parent inode of directory entry to rename
-+ * @new_dentry: new directory entry (or directory entry to replace)
-+ * @sync: non-zero if the write-buffer has to be synchronized
-+ *
-+ * This function implements the re-name operation which may involve writing up
-+ * to 3 inodes and 2 directory entries. It marks the written inodes as clean
-+ * and returns zero on success. In case of failure, a negative error code is
-+ * returned.
-+ */
-+int ubifs_jnl_rename(struct ubifs_info *c, const struct inode *old_dir,
-+ const struct dentry *old_dentry,
-+ const struct inode *new_dir,
-+ const struct dentry *new_dentry, int sync)
-+{
-+ void *p;
-+ union ubifs_key key;
-+ struct ubifs_dent_node *dent, *dent2;
-+ int err, dlen1, dlen2, ilen, lnum, offs, len;
-+ const struct inode *old_inode = old_dentry->d_inode;
-+ const struct inode *new_inode = new_dentry->d_inode;
-+ int aligned_dlen1, aligned_dlen2, plen = UBIFS_INO_NODE_SZ;
-+ int last_reference = !!(new_inode && new_inode->i_nlink == 0);
-+ int move = (old_dir != new_dir);
-+ struct ubifs_inode *uninitialized_var(new_ui);
-+
-+ dbg_jnl("dent '%.*s' in dir ino %lu to dent '%.*s' in dir ino %lu",
-+ old_dentry->d_name.len, old_dentry->d_name.name,
-+ old_dir->i_ino, new_dentry->d_name.len,
-+ new_dentry->d_name.name, new_dir->i_ino);
-+ ubifs_assert(ubifs_inode(old_dir)->data_len == 0);
-+ ubifs_assert(ubifs_inode(new_dir)->data_len == 0);
-+ ubifs_assert(mutex_is_locked(&ubifs_inode(old_dir)->ui_mutex));
-+ ubifs_assert(mutex_is_locked(&ubifs_inode(new_dir)->ui_mutex));
-+
-+ dlen1 = UBIFS_DENT_NODE_SZ + new_dentry->d_name.len + 1;
-+ dlen2 = UBIFS_DENT_NODE_SZ + old_dentry->d_name.len + 1;
-+ if (new_inode) {
-+ new_ui = ubifs_inode(new_inode);
-+ ubifs_assert(mutex_is_locked(&new_ui->ui_mutex));
-+ ilen = UBIFS_INO_NODE_SZ;
-+ if (!last_reference)
-+ ilen += new_ui->data_len;
-+ } else
-+ ilen = 0;
-+
-+ aligned_dlen1 = ALIGN(dlen1, 8);
-+ aligned_dlen2 = ALIGN(dlen2, 8);
-+ len = aligned_dlen1 + aligned_dlen2 + ALIGN(ilen, 8) + ALIGN(plen, 8);
-+ if (old_dir != new_dir)
-+ len += plen;
-+ dent = kmalloc(len, GFP_NOFS);
-+ if (!dent)
-+ return -ENOMEM;
-+
-+ /* Make reservation before allocating sequence numbers */
-+ err = make_reservation(c, BASEHD, len);
-+ if (err)
-+ goto out_free;
-+
-+ /* Make new dent */
-+ dent->ch.node_type = UBIFS_DENT_NODE;
-+ dent_key_init_flash(c, &dent->key, new_dir->i_ino, &new_dentry->d_name);
-+ dent->inum = cpu_to_le64(old_inode->i_ino);
-+ dent->type = get_dent_type(old_inode->i_mode);
-+ dent->nlen = cpu_to_le16(new_dentry->d_name.len);
-+ memcpy(dent->name, new_dentry->d_name.name, new_dentry->d_name.len);
-+ dent->name[new_dentry->d_name.len] = '\0';
-+ zero_dent_node_unused(dent);
-+ ubifs_prep_grp_node(c, dent, dlen1, 0);
-+
-+ /* Make deletion dent */
-+ dent2 = (void *)dent + aligned_dlen1;
-+ dent2->ch.node_type = UBIFS_DENT_NODE;
-+ dent_key_init_flash(c, &dent2->key, old_dir->i_ino,
-+ &old_dentry->d_name);
-+ dent2->inum = 0;
-+ dent2->type = DT_UNKNOWN;
-+ dent2->nlen = cpu_to_le16(old_dentry->d_name.len);
-+ memcpy(dent2->name, old_dentry->d_name.name, old_dentry->d_name.len);
-+ dent2->name[old_dentry->d_name.len] = '\0';
-+ zero_dent_node_unused(dent2);
-+ ubifs_prep_grp_node(c, dent2, dlen2, 0);
-+
-+ p = (void *)dent2 + aligned_dlen2;
-+ if (new_inode) {
-+ pack_inode(c, p, new_inode, 0);
-+ p += ALIGN(ilen, 8);
-+ }
-+
-+ if (!move)
-+ pack_inode(c, p, old_dir, 1);
-+ else {
-+ pack_inode(c, p, old_dir, 0);
-+ p += ALIGN(plen, 8);
-+ pack_inode(c, p, new_dir, 1);
-+ }
-+
-+ if (last_reference) {
-+ err = ubifs_add_orphan(c, new_inode->i_ino);
-+ if (err) {
-+ release_head(c, BASEHD);
-+ goto out_finish;
-+ }
-+ new_ui->del_cmtno = c->cmt_no;
-+ }
-+
-+ err = write_head(c, BASEHD, dent, len, &lnum, &offs, sync);
-+ if (err)
-+ goto out_release;
-+ if (!sync) {
-+ struct ubifs_wbuf *wbuf = &c->jheads[BASEHD].wbuf;
-+
-+ ubifs_wbuf_add_ino_nolock(wbuf, new_dir->i_ino);
-+ ubifs_wbuf_add_ino_nolock(wbuf, old_dir->i_ino);
-+ if (new_inode)
-+ ubifs_wbuf_add_ino_nolock(&c->jheads[BASEHD].wbuf,
-+ new_inode->i_ino);
-+ }
-+ release_head(c, BASEHD);
-+
-+ dent_key_init(c, &key, new_dir->i_ino, &new_dentry->d_name);
-+ err = ubifs_tnc_add_nm(c, &key, lnum, offs, dlen1, &new_dentry->d_name);
-+ if (err)
-+ goto out_ro;
-+
-+ err = ubifs_add_dirt(c, lnum, dlen2);
-+ if (err)
-+ goto out_ro;
-+
-+ dent_key_init(c, &key, old_dir->i_ino, &old_dentry->d_name);
-+ err = ubifs_tnc_remove_nm(c, &key, &old_dentry->d_name);
-+ if (err)
-+ goto out_ro;
-+
-+ offs += aligned_dlen1 + aligned_dlen2;
-+ if (new_inode) {
-+ ino_key_init(c, &key, new_inode->i_ino);
-+ err = ubifs_tnc_add(c, &key, lnum, offs, ilen);
-+ if (err)
-+ goto out_ro;
-+ offs += ALIGN(ilen, 8);
-+ }
-+
-+ ino_key_init(c, &key, old_dir->i_ino);
-+ err = ubifs_tnc_add(c, &key, lnum, offs, plen);
-+ if (err)
-+ goto out_ro;
-+
-+ if (old_dir != new_dir) {
-+ offs += ALIGN(plen, 8);
-+ ino_key_init(c, &key, new_dir->i_ino);
-+ err = ubifs_tnc_add(c, &key, lnum, offs, plen);
-+ if (err)
-+ goto out_ro;
-+ }
-+
-+ finish_reservation(c);
-+ if (new_inode) {
-+ mark_inode_clean(c, new_ui);
-+ spin_lock(&new_ui->ui_lock);
-+ new_ui->synced_i_size = new_ui->ui_size;
-+ spin_unlock(&new_ui->ui_lock);
-+ }
-+ mark_inode_clean(c, ubifs_inode(old_dir));
-+ if (move)
-+ mark_inode_clean(c, ubifs_inode(new_dir));
-+ kfree(dent);
-+ return 0;
-+
-+out_release:
-+ release_head(c, BASEHD);
-+out_ro:
-+ ubifs_ro_mode(c, err);
-+ if (last_reference)
-+ ubifs_delete_orphan(c, new_inode->i_ino);
-+out_finish:
-+ finish_reservation(c);
-+out_free:
-+ kfree(dent);
-+ return err;
-+}
-+
-+/**
-+ * recomp_data_node - re-compress a truncated data node.
-+ * @dn: data node to re-compress
-+ * @new_len: new length
-+ *
-+ * This function is used when an inode is truncated and the last data node of
-+ * the inode has to be re-compressed and re-written.
-+ */
-+static int recomp_data_node(struct ubifs_data_node *dn, int *new_len)
-+{
-+ void *buf;
-+ int err, len, compr_type, out_len;
-+
-+ out_len = le32_to_cpu(dn->size);
-+ buf = kmalloc(out_len * WORST_COMPR_FACTOR, GFP_NOFS);
-+ if (!buf)
-+ return -ENOMEM;
-+
-+ len = le32_to_cpu(dn->ch.len) - UBIFS_DATA_NODE_SZ;
-+ compr_type = le16_to_cpu(dn->compr_type);
-+ err = ubifs_decompress(&dn->data, len, buf, &out_len, compr_type);
-+ if (err)
-+ goto out;
-+
-+ ubifs_compress(buf, *new_len, &dn->data, &out_len, &compr_type);
-+ ubifs_assert(out_len <= UBIFS_BLOCK_SIZE);
-+ dn->compr_type = cpu_to_le16(compr_type);
-+ dn->size = cpu_to_le32(*new_len);
-+ *new_len = UBIFS_DATA_NODE_SZ + out_len;
-+out:
-+ kfree(buf);
-+ return err;
-+}
-+
-+/**
-+ * ubifs_jnl_truncate - update the journal for a truncation.
-+ * @c: UBIFS file-system description object
-+ * @inode: inode to truncate
-+ * @old_size: old size
-+ * @new_size: new size
-+ *
-+ * When the size of a file decreases due to truncation, a truncation node is
-+ * written, the journal tree is updated, and the last data block is re-written
-+ * if it has been affected. The inode is also updated in order to synchronize
-+ * the new inode size.
-+ *
-+ * This function marks the inode as clean and returns zero on success. In case
-+ * of failure, a negative error code is returned.
-+ */
-+int ubifs_jnl_truncate(struct ubifs_info *c, const struct inode *inode,
-+ loff_t old_size, loff_t new_size)
-+{
-+ union ubifs_key key, to_key;
-+ struct ubifs_ino_node *ino;
-+ struct ubifs_trun_node *trun;
-+ struct ubifs_data_node *uninitialized_var(dn);
-+ int err, dlen, len, lnum, offs, bit, sz, sync = IS_SYNC(inode);
-+ struct ubifs_inode *ui = ubifs_inode(inode);
-+ ino_t inum = inode->i_ino;
-+ unsigned int blk;
-+
-+ dbg_jnl("ino %lu, size %lld -> %lld",
-+ (unsigned long)inum, old_size, new_size);
-+ ubifs_assert(!ui->data_len);
-+ ubifs_assert(S_ISREG(inode->i_mode));
-+ ubifs_assert(mutex_is_locked(&ui->ui_mutex));
-+
-+ sz = UBIFS_TRUN_NODE_SZ + UBIFS_INO_NODE_SZ +
-+ UBIFS_MAX_DATA_NODE_SZ * WORST_COMPR_FACTOR;
-+ ino = kmalloc(sz, GFP_NOFS);
-+ if (!ino)
-+ return -ENOMEM;
-+
-+ trun = (void *)ino + UBIFS_INO_NODE_SZ;
-+ trun->ch.node_type = UBIFS_TRUN_NODE;
-+ trun->inum = cpu_to_le32(inum);
-+ trun->old_size = cpu_to_le64(old_size);
-+ trun->new_size = cpu_to_le64(new_size);
-+ zero_trun_node_unused(trun);
-+
-+ dlen = new_size & (UBIFS_BLOCK_SIZE - 1);
-+ if (dlen) {
-+ /* Get last data block so it can be truncated */
-+ dn = (void *)trun + UBIFS_TRUN_NODE_SZ;
-+ blk = new_size >> UBIFS_BLOCK_SHIFT;
-+ data_key_init(c, &key, inum, blk);
-+ dbg_jnl("last block key %s", DBGKEY(&key));
-+ err = ubifs_tnc_lookup(c, &key, dn);
-+ if (err == -ENOENT)
-+ dlen = 0; /* Not found (so it is a hole) */
-+ else if (err)
-+ goto out_free;
-+ else {
-+ if (le32_to_cpu(dn->size) <= dlen)
-+ dlen = 0; /* Nothing to do */
-+ else {
-+ int compr_type = le16_to_cpu(dn->compr_type);
-+
-+ if (compr_type != UBIFS_COMPR_NONE) {
-+ err = recomp_data_node(dn, &dlen);
-+ if (err)
-+ goto out_free;
-+ } else {
-+ dn->size = cpu_to_le32(dlen);
-+ dlen += UBIFS_DATA_NODE_SZ;
-+ }
-+ zero_data_node_unused(dn);
-+ }
-+ }
-+ }
-+
-+ /* Must make reservation before allocating sequence numbers */
-+ len = UBIFS_TRUN_NODE_SZ + UBIFS_INO_NODE_SZ;
-+ if (dlen)
-+ len += dlen;
-+ err = make_reservation(c, BASEHD, len);
-+ if (err)
-+ goto out_free;
-+
-+ pack_inode(c, ino, inode, 0);
-+ ubifs_prep_grp_node(c, trun, UBIFS_TRUN_NODE_SZ, dlen ? 0 : 1);
-+ if (dlen)
-+ ubifs_prep_grp_node(c, dn, dlen, 1);
-+
-+ err = write_head(c, BASEHD, ino, len, &lnum, &offs, sync);
-+ if (err)
-+ goto out_release;
-+ if (!sync)
-+ ubifs_wbuf_add_ino_nolock(&c->jheads[BASEHD].wbuf, inum);
-+ release_head(c, BASEHD);
-+
-+ if (dlen) {
-+ sz = offs + UBIFS_INO_NODE_SZ + UBIFS_TRUN_NODE_SZ;
-+ err = ubifs_tnc_add(c, &key, lnum, sz, dlen);
-+ if (err)
-+ goto out_ro;
-+ }
-+
-+ ino_key_init(c, &key, inum);
-+ err = ubifs_tnc_add(c, &key, lnum, offs, UBIFS_INO_NODE_SZ);
-+ if (err)
-+ goto out_ro;
-+
-+ err = ubifs_add_dirt(c, lnum, UBIFS_TRUN_NODE_SZ);
-+ if (err)
-+ goto out_ro;
-+
-+ bit = new_size & (UBIFS_BLOCK_SIZE - 1);
-+ blk = (new_size >> UBIFS_BLOCK_SHIFT) + (bit ? 1 : 0);
-+ data_key_init(c, &key, inum, blk);
-+
-+ bit = old_size & (UBIFS_BLOCK_SIZE - 1);
-+ blk = (old_size >> UBIFS_BLOCK_SHIFT) - (bit ? 0 : 1);
-+ data_key_init(c, &to_key, inum, blk);
-+
-+ err = ubifs_tnc_remove_range(c, &key, &to_key);
-+ if (err)
-+ goto out_ro;
-+
-+ finish_reservation(c);
-+ spin_lock(&ui->ui_lock);
-+ ui->synced_i_size = ui->ui_size;
-+ spin_unlock(&ui->ui_lock);
-+ mark_inode_clean(c, ui);
-+ kfree(ino);
-+ return 0;
-+
-+out_release:
-+ release_head(c, BASEHD);
-+out_ro:
-+ ubifs_ro_mode(c, err);
-+ finish_reservation(c);
-+out_free:
-+ kfree(ino);
-+ return err;
-+}
-+
-+#ifdef CONFIG_UBIFS_FS_XATTR
-+
-+/**
-+ * ubifs_jnl_delete_xattr - delete an extended attribute.
-+ * @c: UBIFS file-system description object
-+ * @host: host inode
-+ * @inode: extended attribute inode
-+ * @nm: extended attribute entry name
-+ *
-+ * This function delete an extended attribute which is very similar to
-+ * un-linking regular files - it writes a deletion xentry, a deletion inode and
-+ * updates the target inode. Returns zero in case of success and a negative
-+ * error code in case of failure.
-+ */
-+int ubifs_jnl_delete_xattr(struct ubifs_info *c, const struct inode *host,
-+ const struct inode *inode, const struct qstr *nm)
-+{
-+ int err, xlen, hlen, len, lnum, xent_offs, aligned_xlen;
-+ struct ubifs_dent_node *xent;
-+ struct ubifs_ino_node *ino;
-+ union ubifs_key xent_key, key1, key2;
-+ int sync = IS_DIRSYNC(host);
-+ struct ubifs_inode *host_ui = ubifs_inode(host);
-+
-+ dbg_jnl("host %lu, xattr ino %lu, name '%s', data len %d",
-+ host->i_ino, inode->i_ino, nm->name,
-+ ubifs_inode(inode)->data_len);
-+ ubifs_assert(inode->i_nlink == 0);
-+ ubifs_assert(mutex_is_locked(&host_ui->ui_mutex));
-+
-+ /*
-+ * Since we are deleting the inode, we do not bother to attach any data
-+ * to it and assume its length is %UBIFS_INO_NODE_SZ.
-+ */
-+ xlen = UBIFS_DENT_NODE_SZ + nm->len + 1;
-+ aligned_xlen = ALIGN(xlen, 8);
-+ hlen = host_ui->data_len + UBIFS_INO_NODE_SZ;
-+ len = aligned_xlen + UBIFS_INO_NODE_SZ + ALIGN(hlen, 8);
-+
-+ xent = kmalloc(len, GFP_NOFS);
-+ if (!xent)
-+ return -ENOMEM;
-+
-+ /* Make reservation before allocating sequence numbers */
-+ err = make_reservation(c, BASEHD, len);
-+ if (err) {
-+ kfree(xent);
-+ return err;
-+ }
-+
-+ xent->ch.node_type = UBIFS_XENT_NODE;
-+ xent_key_init(c, &xent_key, host->i_ino, nm);
-+ key_write(c, &xent_key, xent->key);
-+ xent->inum = 0;
-+ xent->type = get_dent_type(inode->i_mode);
-+ xent->nlen = cpu_to_le16(nm->len);
-+ memcpy(xent->name, nm->name, nm->len);
-+ xent->name[nm->len] = '\0';
-+ zero_dent_node_unused(xent);
-+ ubifs_prep_grp_node(c, xent, xlen, 0);
-+
-+ ino = (void *)xent + aligned_xlen;
-+ pack_inode(c, ino, inode, 0);
-+ ino = (void *)ino + UBIFS_INO_NODE_SZ;
-+ pack_inode(c, ino, host, 1);
-+
-+ err = write_head(c, BASEHD, xent, len, &lnum, &xent_offs, sync);
-+ if (!sync && !err)
-+ ubifs_wbuf_add_ino_nolock(&c->jheads[BASEHD].wbuf, host->i_ino);
-+ release_head(c, BASEHD);
-+ kfree(xent);
-+ if (err)
-+ goto out_ro;
-+
-+ /* Remove the extended attribute entry from TNC */
-+ err = ubifs_tnc_remove_nm(c, &xent_key, nm);
-+ if (err)
-+ goto out_ro;
-+ err = ubifs_add_dirt(c, lnum, xlen);
-+ if (err)
-+ goto out_ro;
-+
-+ /*
-+ * Remove all nodes belonging to the extended attribute inode from TNC.
-+ * Well, there actually must be only one node - the inode itself.
-+ */
-+ lowest_ino_key(c, &key1, inode->i_ino);
-+ highest_ino_key(c, &key2, inode->i_ino);
-+ err = ubifs_tnc_remove_range(c, &key1, &key2);
-+ if (err)
-+ goto out_ro;
-+ err = ubifs_add_dirt(c, lnum, UBIFS_INO_NODE_SZ);
-+ if (err)
-+ goto out_ro;
-+
-+ /* And update TNC with the new host inode position */
-+ ino_key_init(c, &key1, host->i_ino);
-+ err = ubifs_tnc_add(c, &key1, lnum, xent_offs + len - hlen, hlen);
-+ if (err)
-+ goto out_ro;
-+
-+ finish_reservation(c);
-+ spin_lock(&host_ui->ui_lock);
-+ host_ui->synced_i_size = host_ui->ui_size;
-+ spin_unlock(&host_ui->ui_lock);
-+ mark_inode_clean(c, host_ui);
-+ return 0;
-+
-+out_ro:
-+ ubifs_ro_mode(c, err);
-+ finish_reservation(c);
-+ return err;
-+}
-+
-+/**
-+ * ubifs_jnl_change_xattr - change an extended attribute.
-+ * @c: UBIFS file-system description object
-+ * @inode: extended attribute inode
-+ * @host: host inode
-+ *
-+ * This function writes the updated version of an extended attribute inode and
-+ * the host inode tho the journal (to the base head). The host inode is written
-+ * after the extended attribute inode in order to guarantee that the extended
-+ * attribute will be flushed when the inode is synchronized by 'fsync()' and
-+ * consequently, the write-buffer is synchronized. This function returns zero
-+ * in case of success and a negative error code in case of failure.
-+ */
-+int ubifs_jnl_change_xattr(struct ubifs_info *c, const struct inode *inode,
-+ const struct inode *host)
-+{
-+ int err, len1, len2, aligned_len, aligned_len1, lnum, offs;
-+ struct ubifs_inode *host_ui = ubifs_inode(host);
-+ struct ubifs_ino_node *ino;
-+ union ubifs_key key;
-+ int sync = IS_DIRSYNC(host);
-+
-+ dbg_jnl("ino %lu, ino %lu", host->i_ino, inode->i_ino);
-+ ubifs_assert(host->i_nlink > 0);
-+ ubifs_assert(inode->i_nlink > 0);
-+ ubifs_assert(mutex_is_locked(&host_ui->ui_mutex));
-+
-+ len1 = UBIFS_INO_NODE_SZ + host_ui->data_len;
-+ len2 = UBIFS_INO_NODE_SZ + ubifs_inode(inode)->data_len;
-+ aligned_len1 = ALIGN(len1, 8);
-+ aligned_len = aligned_len1 + ALIGN(len2, 8);
-+
-+ ino = kmalloc(aligned_len, GFP_NOFS);
-+ if (!ino)
-+ return -ENOMEM;
-+
-+ /* Make reservation before allocating sequence numbers */
-+ err = make_reservation(c, BASEHD, aligned_len);
-+ if (err)
-+ goto out_free;
-+
-+ pack_inode(c, ino, host, 0);
-+ pack_inode(c, (void *)ino + aligned_len1, inode, 1);
-+
-+ err = write_head(c, BASEHD, ino, aligned_len, &lnum, &offs, 0);
-+ if (!sync && !err) {
-+ struct ubifs_wbuf *wbuf = &c->jheads[BASEHD].wbuf;
-+
-+ ubifs_wbuf_add_ino_nolock(wbuf, host->i_ino);
-+ ubifs_wbuf_add_ino_nolock(wbuf, inode->i_ino);
-+ }
-+ release_head(c, BASEHD);
-+ if (err)
-+ goto out_ro;
-+
-+ ino_key_init(c, &key, host->i_ino);
-+ err = ubifs_tnc_add(c, &key, lnum, offs, len1);
-+ if (err)
-+ goto out_ro;
-+
-+ ino_key_init(c, &key, inode->i_ino);
-+ err = ubifs_tnc_add(c, &key, lnum, offs + aligned_len1, len2);
-+ if (err)
-+ goto out_ro;
-+
-+ finish_reservation(c);
-+ spin_lock(&host_ui->ui_lock);
-+ host_ui->synced_i_size = host_ui->ui_size;
-+ spin_unlock(&host_ui->ui_lock);
-+ mark_inode_clean(c, host_ui);
-+ kfree(ino);
-+ return 0;
-+
-+out_ro:
-+ ubifs_ro_mode(c, err);
-+ finish_reservation(c);
-+out_free:
-+ kfree(ino);
-+ return err;
-+}
-+
-+#endif /* CONFIG_UBIFS_FS_XATTR */
-diff -Nurd linux-2.6.24.orig/fs/ubifs/key.h linux-2.6.24/fs/ubifs/key.h
---- linux-2.6.24.orig/fs/ubifs/key.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.24/fs/ubifs/key.h 2009-04-17 09:49:28.000000000 +0200
-@@ -0,0 +1,557 @@
-+/*
-+ * This file is part of UBIFS.
-+ *
-+ * Copyright (C) 2006-2008 Nokia Corporation.
-+ *
-+ * This program is free software; you can redistribute it and/or modify it
-+ * under the terms of the GNU General Public License version 2 as published by
-+ * the Free Software Foundation.
-+ *
-+ * 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, write to the Free Software Foundation, Inc., 51
-+ * Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
-+ *
-+ * Authors: Artem Bityutskiy (Битюцкий Ðртём)
-+ * Adrian Hunter
-+ */
-+
-+/*
-+ * This header contains various key-related definitions and helper function.
-+ * UBIFS allows several key schemes, so we access key fields only via these
-+ * helpers. At the moment only one key scheme is supported.
-+ *
-+ * Simple key scheme
-+ * ~~~~~~~~~~~~~~~~~
-+ *
-+ * Keys are 64-bits long. First 32-bits are inode number (parent inode number
-+ * in case of direntry key). Next 3 bits are node type. The last 29 bits are
-+ * 4KiB offset in case of inode node, and direntry hash in case of a direntry
-+ * node. We use "r5" hash borrowed from reiserfs.
-+ */
-+
-+#ifndef __UBIFS_KEY_H__
-+#define __UBIFS_KEY_H__
-+
-+/**
-+ * key_mask_hash - mask a valid hash value.
-+ * @val: value to be masked
-+ *
-+ * We use hash values as offset in directories, so values %0 and %1 are
-+ * reserved for "." and "..". %2 is reserved for "end of readdir" marker. This
-+ * function makes sure the reserved values are not used.
-+ */
-+static inline uint32_t key_mask_hash(uint32_t hash)
-+{
-+ hash &= UBIFS_S_KEY_HASH_MASK;
-+ if (unlikely(hash <= 2))
-+ hash += 3;
-+ return hash;
-+}
-+
-+/**
-+ * key_r5_hash - R5 hash function (borrowed from reiserfs).
-+ * @s: direntry name
-+ * @len: name length
-+ */
-+static inline uint32_t key_r5_hash(const char *s, int len)
-+{
-+ uint32_t a = 0;
-+ const signed char *str = (const signed char *)s;
-+
-+ while (*str) {
-+ a += *str << 4;
-+ a += *str >> 4;
-+ a *= 11;
-+ str++;
-+ }
-+
-+ return key_mask_hash(a);
-+}
-+
-+/**
-+ * key_test_hash - testing hash function.
-+ * @str: direntry name
-+ * @len: name length
-+ */
-+static inline uint32_t key_test_hash(const char *str, int len)
-+{
-+ uint32_t a = 0;
-+
-+ len = min_t(uint32_t, len, 4);
-+ memcpy(&a, str, len);
-+ return key_mask_hash(a);
-+}
-+
-+/**
-+ * ino_key_init - initialize inode key.
-+ * @c: UBIFS file-system description object
-+ * @key: key to initialize
-+ * @inum: inode number
-+ */
-+static inline void ino_key_init(const struct ubifs_info *c,
-+ union ubifs_key *key, ino_t inum)
-+{
-+ key->u32[0] = inum;
-+ key->u32[1] = UBIFS_INO_KEY << UBIFS_S_KEY_BLOCK_BITS;
-+}
-+
-+/**
-+ * ino_key_init_flash - initialize on-flash inode key.
-+ * @c: UBIFS file-system description object
-+ * @k: key to initialize
-+ * @inum: inode number
-+ */
-+static inline void ino_key_init_flash(const struct ubifs_info *c, void *k,
-+ ino_t inum)
-+{
-+ union ubifs_key *key = k;
-+
-+ key->j32[0] = cpu_to_le32(inum);
-+ key->j32[1] = cpu_to_le32(UBIFS_INO_KEY << UBIFS_S_KEY_BLOCK_BITS);
-+ memset(k + 8, 0, UBIFS_MAX_KEY_LEN - 8);
-+}
-+
-+/**
-+ * lowest_ino_key - get the lowest possible inode key.
-+ * @c: UBIFS file-system description object
-+ * @key: key to initialize
-+ * @inum: inode number
-+ */
-+static inline void lowest_ino_key(const struct ubifs_info *c,
-+ union ubifs_key *key, ino_t inum)
-+{
-+ key->u32[0] = inum;
-+ key->u32[1] = 0;
-+}
-+
-+/**
-+ * highest_ino_key - get the highest possible inode key.
-+ * @c: UBIFS file-system description object
-+ * @key: key to initialize
-+ * @inum: inode number
-+ */
-+static inline void highest_ino_key(const struct ubifs_info *c,
-+ union ubifs_key *key, ino_t inum)
-+{
-+ key->u32[0] = inum;
-+ key->u32[1] = 0xffffffff;
-+}
-+
-+/**
-+ * dent_key_init - initialize directory entry key.
-+ * @c: UBIFS file-system description object
-+ * @key: key to initialize
-+ * @inum: parent inode number
-+ * @nm: direntry name and length
-+ */
-+static inline void dent_key_init(const struct ubifs_info *c,
-+ union ubifs_key *key, ino_t inum,
-+ const struct qstr *nm)
-+{
-+ uint32_t hash = c->key_hash(nm->name, nm->len);
-+
-+ ubifs_assert(!(hash & ~UBIFS_S_KEY_HASH_MASK));
-+ key->u32[0] = inum;
-+ key->u32[1] = hash | (UBIFS_DENT_KEY << UBIFS_S_KEY_HASH_BITS);
-+}
-+
-+/**
-+ * dent_key_init_hash - initialize directory entry key without re-calculating
-+ * hash function.
-+ * @c: UBIFS file-system description object
-+ * @key: key to initialize
-+ * @inum: parent inode number
-+ * @hash: direntry name hash
-+ */
-+static inline void dent_key_init_hash(const struct ubifs_info *c,
-+ union ubifs_key *key, ino_t inum,
-+ uint32_t hash)
-+{
-+ ubifs_assert(!(hash & ~UBIFS_S_KEY_HASH_MASK));
-+ key->u32[0] = inum;
-+ key->u32[1] = hash | (UBIFS_DENT_KEY << UBIFS_S_KEY_HASH_BITS);
-+}
-+
-+/**
-+ * dent_key_init_flash - initialize on-flash directory entry key.
-+ * @c: UBIFS file-system description object
-+ * @k: key to initialize
-+ * @inum: parent inode number
-+ * @nm: direntry name and length
-+ */
-+static inline void dent_key_init_flash(const struct ubifs_info *c, void *k,
-+ ino_t inum, const struct qstr *nm)
-+{
-+ union ubifs_key *key = k;
-+ uint32_t hash = c->key_hash(nm->name, nm->len);
-+
-+ ubifs_assert(!(hash & ~UBIFS_S_KEY_HASH_MASK));
-+ key->j32[0] = cpu_to_le32(inum);
-+ key->j32[1] = cpu_to_le32(hash |
-+ (UBIFS_DENT_KEY << UBIFS_S_KEY_HASH_BITS));
-+ memset(k + 8, 0, UBIFS_MAX_KEY_LEN - 8);
-+}
-+
-+/**
-+ * lowest_dent_key - get the lowest possible directory entry key.
-+ * @c: UBIFS file-system description object
-+ * @key: where to store the lowest key
-+ * @inum: parent inode number
-+ */
-+static inline void lowest_dent_key(const struct ubifs_info *c,
-+ union ubifs_key *key, ino_t inum)
-+{
-+ key->u32[0] = inum;
-+ key->u32[1] = UBIFS_DENT_KEY << UBIFS_S_KEY_HASH_BITS;
-+}
-+
-+/**
-+ * xent_key_init - initialize extended attribute entry key.
-+ * @c: UBIFS file-system description object
-+ * @key: key to initialize
-+ * @inum: host inode number
-+ * @nm: extended attribute entry name and length
-+ */
-+static inline void xent_key_init(const struct ubifs_info *c,
-+ union ubifs_key *key, ino_t inum,
-+ const struct qstr *nm)
-+{
-+ uint32_t hash = c->key_hash(nm->name, nm->len);
-+
-+ ubifs_assert(!(hash & ~UBIFS_S_KEY_HASH_MASK));
-+ key->u32[0] = inum;
-+ key->u32[1] = hash | (UBIFS_XENT_KEY << UBIFS_S_KEY_HASH_BITS);
-+}
-+
-+/**
-+ * xent_key_init_hash - initialize extended attribute entry key without
-+ * re-calculating hash function.
-+ * @c: UBIFS file-system description object
-+ * @key: key to initialize
-+ * @inum: host inode number
-+ * @hash: extended attribute entry name hash
-+ */
-+static inline void xent_key_init_hash(const struct ubifs_info *c,
-+ union ubifs_key *key, ino_t inum,
-+ uint32_t hash)
-+{
-+ ubifs_assert(!(hash & ~UBIFS_S_KEY_HASH_MASK));
-+ key->u32[0] = inum;
-+ key->u32[1] = hash | (UBIFS_XENT_KEY << UBIFS_S_KEY_HASH_BITS);
-+}
-+
-+/**
-+ * xent_key_init_flash - initialize on-flash extended attribute entry key.
-+ * @c: UBIFS file-system description object
-+ * @k: key to initialize
-+ * @inum: host inode number
-+ * @nm: extended attribute entry name and length
-+ */
-+static inline void xent_key_init_flash(const struct ubifs_info *c, void *k,
-+ ino_t inum, const struct qstr *nm)
-+{
-+ union ubifs_key *key = k;
-+ uint32_t hash = c->key_hash(nm->name, nm->len);
-+
-+ ubifs_assert(!(hash & ~UBIFS_S_KEY_HASH_MASK));
-+ key->j32[0] = cpu_to_le32(inum);
-+ key->j32[1] = cpu_to_le32(hash |
-+ (UBIFS_XENT_KEY << UBIFS_S_KEY_HASH_BITS));
-+ memset(k + 8, 0, UBIFS_MAX_KEY_LEN - 8);
-+}
-+
-+/**
-+ * lowest_xent_key - get the lowest possible extended attribute entry key.
-+ * @c: UBIFS file-system description object
-+ * @key: where to store the lowest key
-+ * @inum: host inode number
-+ */
-+static inline void lowest_xent_key(const struct ubifs_info *c,
-+ union ubifs_key *key, ino_t inum)
-+{
-+ key->u32[0] = inum;
-+ key->u32[1] = UBIFS_XENT_KEY << UBIFS_S_KEY_HASH_BITS;
-+}
-+
-+/**
-+ * data_key_init - initialize data key.
-+ * @c: UBIFS file-system description object
-+ * @key: key to initialize
-+ * @inum: inode number
-+ * @block: block number
-+ */
-+static inline void data_key_init(const struct ubifs_info *c,
-+ union ubifs_key *key, ino_t inum,
-+ unsigned int block)
-+{
-+ ubifs_assert(!(block & ~UBIFS_S_KEY_BLOCK_MASK));
-+ key->u32[0] = inum;
-+ key->u32[1] = block | (UBIFS_DATA_KEY << UBIFS_S_KEY_BLOCK_BITS);
-+}
-+
-+/**
-+ * data_key_init_flash - initialize on-flash data key.
-+ * @c: UBIFS file-system description object
-+ * @k: key to initialize
-+ * @inum: inode number
-+ * @block: block number
-+ */
-+static inline void data_key_init_flash(const struct ubifs_info *c, void *k,
-+ ino_t inum, unsigned int block)
-+{
-+ union ubifs_key *key = k;
-+
-+ ubifs_assert(!(block & ~UBIFS_S_KEY_BLOCK_MASK));
-+ key->j32[0] = cpu_to_le32(inum);
-+ key->j32[1] = cpu_to_le32(block |
-+ (UBIFS_DATA_KEY << UBIFS_S_KEY_BLOCK_BITS));
-+ memset(k + 8, 0, UBIFS_MAX_KEY_LEN - 8);
-+}
-+
-+/**
-+ * trun_key_init - initialize truncation node key.
-+ * @c: UBIFS file-system description object
-+ * @key: key to initialize
-+ * @inum: inode number
-+ *
-+ * Note, UBIFS does not have truncation keys on the media and this function is
-+ * only used for purposes of replay.
-+ */
-+static inline void trun_key_init(const struct ubifs_info *c,
-+ union ubifs_key *key, ino_t inum)
-+{
-+ key->u32[0] = inum;
-+ key->u32[1] = UBIFS_TRUN_KEY << UBIFS_S_KEY_BLOCK_BITS;
-+}
-+
-+/**
-+ * key_type - get key type.
-+ * @c: UBIFS file-system description object
-+ * @key: key to get type of
-+ */
-+static inline int key_type(const struct ubifs_info *c,
-+ const union ubifs_key *key)
-+{
-+ return key->u32[1] >> UBIFS_S_KEY_BLOCK_BITS;
-+}
-+
-+/**
-+ * key_type_flash - get type of a on-flash formatted key.
-+ * @c: UBIFS file-system description object
-+ * @k: key to get type of
-+ */
-+static inline int key_type_flash(const struct ubifs_info *c, const void *k)
-+{
-+ const union ubifs_key *key = k;
-+
-+ return le32_to_cpu(key->j32[1]) >> UBIFS_S_KEY_BLOCK_BITS;
-+}
-+
-+/**
-+ * key_inum - fetch inode number from key.
-+ * @c: UBIFS file-system description object
-+ * @k: key to fetch inode number from
-+ */
-+static inline ino_t key_inum(const struct ubifs_info *c, const void *k)
-+{
-+ const union ubifs_key *key = k;
-+
-+ return key->u32[0];
-+}
-+
-+/**
-+ * key_inum_flash - fetch inode number from an on-flash formatted key.
-+ * @c: UBIFS file-system description object
-+ * @k: key to fetch inode number from
-+ */
-+static inline ino_t key_inum_flash(const struct ubifs_info *c, const void *k)
-+{
-+ const union ubifs_key *key = k;
-+
-+ return le32_to_cpu(key->j32[0]);
-+}
-+
-+/**
-+ * key_hash - get directory entry hash.
-+ * @c: UBIFS file-system description object
-+ * @key: the key to get hash from
-+ */
-+static inline int key_hash(const struct ubifs_info *c,
-+ const union ubifs_key *key)
-+{
-+ return key->u32[1] & UBIFS_S_KEY_HASH_MASK;
-+}
-+
-+/**
-+ * key_hash_flash - get directory entry hash from an on-flash formatted key.
-+ * @c: UBIFS file-system description object
-+ * @k: the key to get hash from
-+ */
-+static inline int key_hash_flash(const struct ubifs_info *c, const void *k)
-+{
-+ const union ubifs_key *key = k;
-+
-+ return le32_to_cpu(key->j32[1]) & UBIFS_S_KEY_HASH_MASK;
-+}
-+
-+/**
-+ * key_block - get data block number.
-+ * @c: UBIFS file-system description object
-+ * @key: the key to get the block number from
-+ */
-+static inline unsigned int key_block(const struct ubifs_info *c,
-+ const union ubifs_key *key)
-+{
-+ return key->u32[1] & UBIFS_S_KEY_BLOCK_MASK;
-+}
-+
-+/**
-+ * key_block_flash - get data block number from an on-flash formatted key.
-+ * @c: UBIFS file-system description object
-+ * @k: the key to get the block number from
-+ */
-+static inline unsigned int key_block_flash(const struct ubifs_info *c,
-+ const void *k)
-+{
-+ const union ubifs_key *key = k;
-+
-+ return le32_to_cpu(key->j32[1]) & UBIFS_S_KEY_BLOCK_MASK;
-+}
-+
-+/**
-+ * key_read - transform a key to in-memory format.
-+ * @c: UBIFS file-system description object
-+ * @from: the key to transform
-+ * @to: the key to store the result
-+ */
-+static inline void key_read(const struct ubifs_info *c, const void *from,
-+ union ubifs_key *to)
-+{
-+ const union ubifs_key *f = from;
-+
-+ to->u32[0] = le32_to_cpu(f->j32[0]);
-+ to->u32[1] = le32_to_cpu(f->j32[1]);
-+}
-+
-+/**
-+ * key_write - transform a key from in-memory format.
-+ * @c: UBIFS file-system description object
-+ * @from: the key to transform
-+ * @to: the key to store the result
-+ */
-+static inline void key_write(const struct ubifs_info *c,
-+ const union ubifs_key *from, void *to)
-+{
-+ union ubifs_key *t = to;
-+
-+ t->j32[0] = cpu_to_le32(from->u32[0]);
-+ t->j32[1] = cpu_to_le32(from->u32[1]);
-+ memset(to + 8, 0, UBIFS_MAX_KEY_LEN - 8);
-+}
-+
-+/**
-+ * key_write_idx - transform a key from in-memory format for the index.
-+ * @c: UBIFS file-system description object
-+ * @from: the key to transform
-+ * @to: the key to store the result
-+ */
-+static inline void key_write_idx(const struct ubifs_info *c,
-+ const union ubifs_key *from, void *to)
-+{
-+ union ubifs_key *t = to;
-+
-+ t->j32[0] = cpu_to_le32(from->u32[0]);
-+ t->j32[1] = cpu_to_le32(from->u32[1]);
-+}
-+
-+/**
-+ * key_copy - copy a key.
-+ * @c: UBIFS file-system description object
-+ * @from: the key to copy from
-+ * @to: the key to copy to
-+ */
-+static inline void key_copy(const struct ubifs_info *c,
-+ const union ubifs_key *from, union ubifs_key *to)
-+{
-+ to->u64[0] = from->u64[0];
-+}
-+
-+/**
-+ * keys_cmp - compare keys.
-+ * @c: UBIFS file-system description object
-+ * @key1: the first key to compare
-+ * @key2: the second key to compare
-+ *
-+ * This function compares 2 keys and returns %-1 if @key1 is less than
-+ * @key2, %0 if the keys are equivalent and %1 if @key1 is greater than @key2.
-+ */
-+static inline int keys_cmp(const struct ubifs_info *c,
-+ const union ubifs_key *key1,
-+ const union ubifs_key *key2)
-+{
-+ if (key1->u32[0] < key2->u32[0])
-+ return -1;
-+ if (key1->u32[0] > key2->u32[0])
-+ return 1;
-+ if (key1->u32[1] < key2->u32[1])
-+ return -1;
-+ if (key1->u32[1] > key2->u32[1])
-+ return 1;
-+
-+ return 0;
-+}
-+
-+/**
-+ * keys_eq - determine if keys are equivalent.
-+ * @c: UBIFS file-system description object
-+ * @key1: the first key to compare
-+ * @key2: the second key to compare
-+ *
-+ * This function compares 2 keys and returns %1 if @key1 is equal to @key2 and
-+ * %0 if not.
-+ */
-+static inline int keys_eq(const struct ubifs_info *c,
-+ const union ubifs_key *key1,
-+ const union ubifs_key *key2)
-+{
-+ if (key1->u32[0] != key2->u32[0])
-+ return 0;
-+ if (key1->u32[1] != key2->u32[1])
-+ return 0;
-+ return 1;
-+}
-+
-+/**
-+ * is_hash_key - is a key vulnerable to hash collisions.
-+ * @c: UBIFS file-system description object
-+ * @key: key
-+ *
-+ * This function returns %1 if @key is a hashed key or %0 otherwise.
-+ */
-+static inline int is_hash_key(const struct ubifs_info *c,
-+ const union ubifs_key *key)
-+{
-+ int type = key_type(c, key);
-+
-+ return type == UBIFS_DENT_KEY || type == UBIFS_XENT_KEY;
-+}
-+
-+/**
-+ * key_max_inode_size - get maximum file size allowed by current key format.
-+ * @c: UBIFS file-system description object
-+ */
-+static inline unsigned long long key_max_inode_size(const struct ubifs_info *c)
-+{
-+ switch (c->key_fmt) {
-+ case UBIFS_SIMPLE_KEY_FMT:
-+ return (1ULL << UBIFS_S_KEY_BLOCK_BITS) * UBIFS_BLOCK_SIZE;
-+ default:
-+ return 0;
-+ }
-+}
-+#endif /* !__UBIFS_KEY_H__ */
-diff -Nurd linux-2.6.24.orig/fs/ubifs/log.c linux-2.6.24/fs/ubifs/log.c
---- linux-2.6.24.orig/fs/ubifs/log.c 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.24/fs/ubifs/log.c 2009-04-17 09:49:28.000000000 +0200
-@@ -0,0 +1,807 @@
-+/*
-+ * This file is part of UBIFS.
-+ *
-+ * Copyright (C) 2006-2008 Nokia Corporation.
-+ *
-+ * This program is free software; you can redistribute it and/or modify it
-+ * under the terms of the GNU General Public License version 2 as published by
-+ * the Free Software Foundation.
-+ *
-+ * 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, write to the Free Software Foundation, Inc., 51
-+ * Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
-+ *
-+ * Authors: Artem Bityutskiy (Битюцкий Ðртём)
-+ * Adrian Hunter
-+ */
-+
-+/*
-+ * This file is a part of UBIFS journal implementation and contains various
-+ * functions which manipulate the log. The log is a fixed area on the flash
-+ * which does not contain any data but refers to buds. The log is a part of the
-+ * journal.
-+ */
-+
-+#include "ubifs.h"
-+
-+#ifdef CONFIG_UBIFS_FS_DEBUG
-+static int dbg_check_bud_bytes(struct ubifs_info *c);
-+#else
-+#define dbg_check_bud_bytes(c) 0
-+#endif
-+
-+/**
-+ * ubifs_search_bud - search bud LEB.
-+ * @c: UBIFS file-system description object
-+ * @lnum: logical eraseblock number to search
-+ *
-+ * This function searches bud LEB @lnum. Returns bud description object in case
-+ * of success and %NULL if there is no bud with this LEB number.
-+ */
-+struct ubifs_bud *ubifs_search_bud(struct ubifs_info *c, int lnum)
-+{
-+ struct rb_node *p;
-+ struct ubifs_bud *bud;
-+
-+ spin_lock(&c->buds_lock);
-+ p = c->buds.rb_node;
-+ while (p) {
-+ bud = rb_entry(p, struct ubifs_bud, rb);
-+ if (lnum < bud->lnum)
-+ p = p->rb_left;
-+ else if (lnum > bud->lnum)
-+ p = p->rb_right;
-+ else {
-+ spin_unlock(&c->buds_lock);
-+ return bud;
-+ }
-+ }
-+ spin_unlock(&c->buds_lock);
-+ return NULL;
-+}
-+
-+/**
-+ * ubifs_get_wbuf - get the wbuf associated with a LEB, if there is one.
-+ * @c: UBIFS file-system description object
-+ * @lnum: logical eraseblock number to search
-+ *
-+ * This functions returns the wbuf for @lnum or %NULL if there is not one.
-+ */
-+struct ubifs_wbuf *ubifs_get_wbuf(struct ubifs_info *c, int lnum)
-+{
-+ struct rb_node *p;
-+ struct ubifs_bud *bud;
-+ int jhead;
-+
-+ if (!c->jheads)
-+ return NULL;
-+
-+ spin_lock(&c->buds_lock);
-+ p = c->buds.rb_node;
-+ while (p) {
-+ bud = rb_entry(p, struct ubifs_bud, rb);
-+ if (lnum < bud->lnum)
-+ p = p->rb_left;
-+ else if (lnum > bud->lnum)
-+ p = p->rb_right;
-+ else {
-+ jhead = bud->jhead;
-+ spin_unlock(&c->buds_lock);
-+ return &c->jheads[jhead].wbuf;
-+ }
-+ }
-+ spin_unlock(&c->buds_lock);
-+ return NULL;
-+}
-+
-+/**
-+ * next_log_lnum - switch to the next log LEB.
-+ * @c: UBIFS file-system description object
-+ * @lnum: current log LEB
-+ */
-+static inline int next_log_lnum(const struct ubifs_info *c, int lnum)
-+{
-+ lnum += 1;
-+ if (lnum > c->log_last)
-+ lnum = UBIFS_LOG_LNUM;
-+
-+ return lnum;
-+}
-+
-+/**
-+ * empty_log_bytes - calculate amount of empty space in the log.
-+ * @c: UBIFS file-system description object
-+ */
-+static inline long long empty_log_bytes(const struct ubifs_info *c)
-+{
-+ long long h, t;
-+
-+ h = (long long)c->lhead_lnum * c->leb_size + c->lhead_offs;
-+ t = (long long)c->ltail_lnum * c->leb_size;
-+
-+ if (h >= t)
-+ return c->log_bytes - h + t;
-+ else
-+ return t - h;
-+}
-+
-+/**
-+ * ubifs_add_bud - add bud LEB to the tree of buds and its journal head list.
-+ * @c: UBIFS file-system description object
-+ * @bud: the bud to add
-+ */
-+void ubifs_add_bud(struct ubifs_info *c, struct ubifs_bud *bud)
-+{
-+ struct rb_node **p, *parent = NULL;
-+ struct ubifs_bud *b;
-+ struct ubifs_jhead *jhead;
-+
-+ spin_lock(&c->buds_lock);
-+ p = &c->buds.rb_node;
-+ while (*p) {
-+ parent = *p;
-+ b = rb_entry(parent, struct ubifs_bud, rb);
-+ ubifs_assert(bud->lnum != b->lnum);
-+ if (bud->lnum < b->lnum)
-+ p = &(*p)->rb_left;
-+ else
-+ p = &(*p)->rb_right;
-+ }
-+
-+ rb_link_node(&bud->rb, parent, p);
-+ rb_insert_color(&bud->rb, &c->buds);
-+ if (c->jheads) {
-+ jhead = &c->jheads[bud->jhead];
-+ list_add_tail(&bud->list, &jhead->buds_list);
-+ } else
-+ ubifs_assert(c->replaying && (c->vfs_sb->s_flags & MS_RDONLY));
-+
-+ /*
-+ * Note, although this is a new bud, we anyway account this space now,
-+ * before any data has been written to it, because this is about to
-+ * guarantee fixed mount time, and this bud will anyway be read and
-+ * scanned.
-+ */
-+ c->bud_bytes += c->leb_size - bud->start;
-+
-+ dbg_log("LEB %d:%d, jhead %d, bud_bytes %lld", bud->lnum,
-+ bud->start, bud->jhead, c->bud_bytes);
-+ spin_unlock(&c->buds_lock);
-+}
-+
-+/**
-+ * ubifs_create_buds_lists - create journal head buds lists for remount rw.
-+ * @c: UBIFS file-system description object
-+ */
-+void ubifs_create_buds_lists(struct ubifs_info *c)
-+{
-+ struct rb_node *p;
-+
-+ spin_lock(&c->buds_lock);
-+ p = rb_first(&c->buds);
-+ while (p) {
-+ struct ubifs_bud *bud = rb_entry(p, struct ubifs_bud, rb);
-+ struct ubifs_jhead *jhead = &c->jheads[bud->jhead];
-+
-+ list_add_tail(&bud->list, &jhead->buds_list);
-+ p = rb_next(p);
-+ }
-+ spin_unlock(&c->buds_lock);
-+}
-+
-+/**
-+ * ubifs_add_bud_to_log - add a new bud to the log.
-+ * @c: UBIFS file-system description object
-+ * @jhead: journal head the bud belongs to
-+ * @lnum: LEB number of the bud
-+ * @offs: starting offset of the bud
-+ *
-+ * This function writes reference node for the new bud LEB @lnum it to the log,
-+ * and adds it to the buds tress. It also makes sure that log size does not
-+ * exceed the 'c->max_bud_bytes' limit. Returns zero in case of success,
-+ * %-EAGAIN if commit is required, and a negative error codes in case of
-+ * failure.
-+ */
-+int ubifs_add_bud_to_log(struct ubifs_info *c, int jhead, int lnum, int offs)
-+{
-+ int err;
-+ struct ubifs_bud *bud;
-+ struct ubifs_ref_node *ref;
-+
-+ bud = kmalloc(sizeof(struct ubifs_bud), GFP_NOFS);
-+ if (!bud)
-+ return -ENOMEM;
-+ ref = kzalloc(c->ref_node_alsz, GFP_NOFS);
-+ if (!ref) {
-+ kfree(bud);
-+ return -ENOMEM;
-+ }
-+
-+ mutex_lock(&c->log_mutex);
-+
-+ if (c->ro_media) {
-+ err = -EROFS;
-+ goto out_unlock;
-+ }
-+
-+ /* Make sure we have enough space in the log */
-+ if (empty_log_bytes(c) - c->ref_node_alsz < c->min_log_bytes) {
-+ dbg_log("not enough log space - %lld, required %d",
-+ empty_log_bytes(c), c->min_log_bytes);
-+ ubifs_commit_required(c);
-+ err = -EAGAIN;
-+ goto out_unlock;
-+ }
-+
-+ /*
-+ * Make sure the the amount of space in buds will not exceed
-+ * 'c->max_bud_bytes' limit, because we want to guarantee mount time
-+ * limits.
-+ *
-+ * It is not necessary to hold @c->buds_lock when reading @c->bud_bytes
-+ * because we are holding @c->log_mutex. All @c->bud_bytes take place
-+ * when both @c->log_mutex and @c->bud_bytes are locked.
-+ */
-+ if (c->bud_bytes + c->leb_size - offs > c->max_bud_bytes) {
-+ dbg_log("bud bytes %lld (%lld max), require commit",
-+ c->bud_bytes, c->max_bud_bytes);
-+ ubifs_commit_required(c);
-+ err = -EAGAIN;
-+ goto out_unlock;
-+ }
-+
-+ /*
-+ * If the journal is full enough - start background commit. Note, it is
-+ * OK to read 'c->cmt_state' without spinlock because integer reads
-+ * are atomic in the kernel.
-+ */
-+ if (c->bud_bytes >= c->bg_bud_bytes &&
-+ c->cmt_state == COMMIT_RESTING) {
-+ dbg_log("bud bytes %lld (%lld max), initiate BG commit",
-+ c->bud_bytes, c->max_bud_bytes);
-+ ubifs_request_bg_commit(c);
-+ }
-+
-+ bud->lnum = lnum;
-+ bud->start = offs;
-+ bud->jhead = jhead;
-+
-+ ref->ch.node_type = UBIFS_REF_NODE;
-+ ref->lnum = cpu_to_le32(bud->lnum);
-+ ref->offs = cpu_to_le32(bud->start);
-+ ref->jhead = cpu_to_le32(jhead);
-+
-+ if (c->lhead_offs > c->leb_size - c->ref_node_alsz) {
-+ c->lhead_lnum = next_log_lnum(c, c->lhead_lnum);
-+ c->lhead_offs = 0;
-+ }
-+
-+ if (c->lhead_offs == 0) {
-+ /* Must ensure next log LEB has been unmapped */
-+ err = ubifs_leb_unmap(c, c->lhead_lnum);
-+ if (err)
-+ goto out_unlock;
-+ }
-+
-+ if (bud->start == 0) {
-+ /*
-+ * Before writing the LEB reference which refers an empty LEB
-+ * to the log, we have to make sure it is mapped, because
-+ * otherwise we'd risk to refer an LEB with garbage in case of
-+ * an unclean reboot, because the target LEB might have been
-+ * unmapped, but not yet physically erased.
-+ */
-+ err = ubi_leb_map(c->ubi, bud->lnum, UBI_SHORTTERM);
-+ if (err)
-+ goto out_unlock;
-+ }
-+
-+ dbg_log("write ref LEB %d:%d",
-+ c->lhead_lnum, c->lhead_offs);
-+ err = ubifs_write_node(c, ref, UBIFS_REF_NODE_SZ, c->lhead_lnum,
-+ c->lhead_offs, UBI_SHORTTERM);
-+ if (err)
-+ goto out_unlock;
-+
-+ c->lhead_offs += c->ref_node_alsz;
-+
-+ ubifs_add_bud(c, bud);
-+
-+ mutex_unlock(&c->log_mutex);
-+ kfree(ref);
-+ return 0;
-+
-+out_unlock:
-+ if (err != -EAGAIN)
-+ ubifs_ro_mode(c, err);
-+ mutex_unlock(&c->log_mutex);
-+ kfree(ref);
-+ kfree(bud);
-+ return err;
-+}
-+
-+/**
-+ * remove_buds - remove used buds.
-+ * @c: UBIFS file-system description object
-+ *
-+ * This function removes use buds from the buds tree. It does not remove the
-+ * buds which are pointed to by journal heads.
-+ */
-+static void remove_buds(struct ubifs_info *c)
-+{
-+ struct rb_node *p;
-+
-+ ubifs_assert(list_empty(&c->old_buds));
-+ c->cmt_bud_bytes = 0;
-+ spin_lock(&c->buds_lock);
-+ p = rb_first(&c->buds);
-+ while (p) {
-+ struct rb_node *p1 = p;
-+ struct ubifs_bud *bud;
-+ struct ubifs_wbuf *wbuf;
-+
-+ p = rb_next(p);
-+ bud = rb_entry(p1, struct ubifs_bud, rb);
-+ wbuf = &c->jheads[bud->jhead].wbuf;
-+
-+ if (wbuf->lnum == bud->lnum) {
-+ /*
-+ * Do not remove buds which are pointed to by journal
-+ * heads (non-closed buds).
-+ */
-+ c->cmt_bud_bytes += wbuf->offs - bud->start;
-+ dbg_log("preserve %d:%d, jhead %d, bud bytes %d, "
-+ "cmt_bud_bytes %lld", bud->lnum, bud->start,
-+ bud->jhead, wbuf->offs - bud->start,
-+ c->cmt_bud_bytes);
-+ bud->start = wbuf->offs;
-+ } else {
-+ c->cmt_bud_bytes += c->leb_size - bud->start;
-+ dbg_log("remove %d:%d, jhead %d, bud bytes %d, "
-+ "cmt_bud_bytes %lld", bud->lnum, bud->start,
-+ bud->jhead, c->leb_size - bud->start,
-+ c->cmt_bud_bytes);
-+ rb_erase(p1, &c->buds);
-+ list_del(&bud->list);
-+ /*
-+ * If the commit does not finish, the recovery will need
-+ * to replay the journal, in which case the old buds
-+ * must be unchanged. Do not release them until post
-+ * commit i.e. do not allow them to be garbage
-+ * collected.
-+ */
-+ list_add(&bud->list, &c->old_buds);
-+ }
-+ }
-+ spin_unlock(&c->buds_lock);
-+}
-+
-+/**
-+ * ubifs_log_start_commit - start commit.
-+ * @c: UBIFS file-system description object
-+ * @ltail_lnum: return new log tail LEB number
-+ *
-+ * The commit operation starts with writing "commit start" node to the log and
-+ * reference nodes for all journal heads which will define new journal after
-+ * the commit has been finished. The commit start and reference nodes are
-+ * written in one go to the nearest empty log LEB (hence, when commit is
-+ * finished UBIFS may safely unmap all the previous log LEBs). This function
-+ * returns zero in case of success and a negative error code in case of
-+ * failure.
-+ */
-+int ubifs_log_start_commit(struct ubifs_info *c, int *ltail_lnum)
-+{
-+ void *buf;
-+ struct ubifs_cs_node *cs;
-+ struct ubifs_ref_node *ref;
-+ int err, i, max_len, len;
-+
-+ err = dbg_check_bud_bytes(c);
-+ if (err)
-+ return err;
-+
-+ max_len = UBIFS_CS_NODE_SZ + c->jhead_cnt * UBIFS_REF_NODE_SZ;
-+ max_len = ALIGN(max_len, c->min_io_size);
-+ buf = cs = kmalloc(max_len, GFP_NOFS);
-+ if (!buf)
-+ return -ENOMEM;
-+
-+ cs->ch.node_type = UBIFS_CS_NODE;
-+ cs->cmt_no = cpu_to_le64(c->cmt_no);
-+ ubifs_prepare_node(c, cs, UBIFS_CS_NODE_SZ, 0);
-+
-+ /*
-+ * Note, we do not lock 'c->log_mutex' because this is the commit start
-+ * phase and we are exclusively using the log. And we do not lock
-+ * write-buffer because nobody can write to the file-system at this
-+ * phase.
-+ */
-+
-+ len = UBIFS_CS_NODE_SZ;
-+ for (i = 0; i < c->jhead_cnt; i++) {
-+ int lnum = c->jheads[i].wbuf.lnum;
-+ int offs = c->jheads[i].wbuf.offs;
-+
-+ if (lnum == -1 || offs == c->leb_size)
-+ continue;
-+
-+ dbg_log("add ref to LEB %d:%d for jhead %d", lnum, offs, i);
-+ ref = buf + len;
-+ ref->ch.node_type = UBIFS_REF_NODE;
-+ ref->lnum = cpu_to_le32(lnum);
-+ ref->offs = cpu_to_le32(offs);
-+ ref->jhead = cpu_to_le32(i);
-+
-+ ubifs_prepare_node(c, ref, UBIFS_REF_NODE_SZ, 0);
-+ len += UBIFS_REF_NODE_SZ;
-+ }
-+
-+ ubifs_pad(c, buf + len, ALIGN(len, c->min_io_size) - len);
-+
-+ /* Switch to the next log LEB */
-+ if (c->lhead_offs) {
-+ c->lhead_lnum = next_log_lnum(c, c->lhead_lnum);
-+ c->lhead_offs = 0;
-+ }
-+
-+ if (c->lhead_offs == 0) {
-+ /* Must ensure next LEB has been unmapped */
-+ err = ubifs_leb_unmap(c, c->lhead_lnum);
-+ if (err)
-+ goto out;
-+ }
-+
-+ len = ALIGN(len, c->min_io_size);
-+ dbg_log("writing commit start at LEB %d:0, len %d", c->lhead_lnum, len);
-+ err = ubifs_leb_write(c, c->lhead_lnum, cs, 0, len, UBI_SHORTTERM);
-+ if (err)
-+ goto out;
-+
-+ *ltail_lnum = c->lhead_lnum;
-+
-+ c->lhead_offs += len;
-+ if (c->lhead_offs == c->leb_size) {
-+ c->lhead_lnum = next_log_lnum(c, c->lhead_lnum);
-+ c->lhead_offs = 0;
-+ }
-+
-+ remove_buds(c);
-+
-+ /*
-+ * We have started the commit and now users may use the rest of the log
-+ * for new writes.
-+ */
-+ c->min_log_bytes = 0;
-+
-+out:
-+ kfree(buf);
-+ return err;
-+}
-+
-+/**
-+ * ubifs_log_end_commit - end commit.
-+ * @c: UBIFS file-system description object
-+ * @ltail_lnum: new log tail LEB number
-+ *
-+ * This function is called on when the commit operation was finished. It
-+ * moves log tail to new position and unmaps LEBs which contain obsolete data.
-+ * Returns zero in case of success and a negative error code in case of
-+ * failure.
-+ */
-+int ubifs_log_end_commit(struct ubifs_info *c, int ltail_lnum)
-+{
-+ int err;
-+
-+ /*
-+ * At this phase we have to lock 'c->log_mutex' because UBIFS allows FS
-+ * writes during commit. Its only short "commit" start phase when
-+ * writers are blocked.
-+ */
-+ mutex_lock(&c->log_mutex);
-+
-+ dbg_log("old tail was LEB %d:0, new tail is LEB %d:0",
-+ c->ltail_lnum, ltail_lnum);
-+
-+ c->ltail_lnum = ltail_lnum;
-+ /*
-+ * The commit is finished and from now on it must be guaranteed that
-+ * there is always enough space for the next commit.
-+ */
-+ c->min_log_bytes = c->leb_size;
-+
-+ spin_lock(&c->buds_lock);
-+ c->bud_bytes -= c->cmt_bud_bytes;
-+ spin_unlock(&c->buds_lock);
-+
-+ err = dbg_check_bud_bytes(c);
-+
-+ mutex_unlock(&c->log_mutex);
-+ return err;
-+}
-+
-+/**
-+ * ubifs_log_post_commit - things to do after commit is completed.
-+ * @c: UBIFS file-system description object
-+ * @old_ltail_lnum: old log tail LEB number
-+ *
-+ * Release buds only after commit is completed, because they must be unchanged
-+ * if recovery is needed.
-+ *
-+ * Unmap log LEBs only after commit is completed, because they may be needed for
-+ * recovery.
-+ *
-+ * This function returns %0 on success and a negative error code on failure.
-+ */
-+int ubifs_log_post_commit(struct ubifs_info *c, int old_ltail_lnum)
-+{
-+ int lnum, err = 0;
-+
-+ while (!list_empty(&c->old_buds)) {
-+ struct ubifs_bud *bud;
-+
-+ bud = list_entry(c->old_buds.next, struct ubifs_bud, list);
-+ err = ubifs_return_leb(c, bud->lnum);
-+ if (err)
-+ return err;
-+ list_del(&bud->list);
-+ kfree(bud);
-+ }
-+ mutex_lock(&c->log_mutex);
-+ for (lnum = old_ltail_lnum; lnum != c->ltail_lnum;
-+ lnum = next_log_lnum(c, lnum)) {
-+ dbg_log("unmap log LEB %d", lnum);
-+ err = ubifs_leb_unmap(c, lnum);
-+ if (err)
-+ goto out;
-+ }
-+out:
-+ mutex_unlock(&c->log_mutex);
-+ return err;
-+}
-+
-+/**
-+ * struct done_ref - references that have been done.
-+ * @rb: rb-tree node
-+ * @lnum: LEB number
-+ */
-+struct done_ref {
-+ struct rb_node rb;
-+ int lnum;
-+};
-+
-+/**
-+ * done_already - determine if a reference has been done already.
-+ * @done_tree: rb-tree to store references that have been done
-+ * @lnum: LEB number of reference
-+ *
-+ * This function returns %1 if the reference has been done, %0 if not, otherwise
-+ * a negative error code is returned.
-+ */
-+static int done_already(struct rb_root *done_tree, int lnum)
-+{
-+ struct rb_node **p = &done_tree->rb_node, *parent = NULL;
-+ struct done_ref *dr;
-+
-+ while (*p) {
-+ parent = *p;
-+ dr = rb_entry(parent, struct done_ref, rb);
-+ if (lnum < dr->lnum)
-+ p = &(*p)->rb_left;
-+ else if (lnum > dr->lnum)
-+ p = &(*p)->rb_right;
-+ else
-+ return 1;
-+ }
-+
-+ dr = kzalloc(sizeof(struct done_ref), GFP_NOFS);
-+ if (!dr)
-+ return -ENOMEM;
-+
-+ dr->lnum = lnum;
-+
-+ rb_link_node(&dr->rb, parent, p);
-+ rb_insert_color(&dr->rb, done_tree);
-+
-+ return 0;
-+}
-+
-+/**
-+ * destroy_done_tree - destroy the done tree.
-+ * @done_tree: done tree to destroy
-+ */
-+static void destroy_done_tree(struct rb_root *done_tree)
-+{
-+ struct rb_node *this = done_tree->rb_node;
-+ struct done_ref *dr;
-+
-+ while (this) {
-+ if (this->rb_left) {
-+ this = this->rb_left;
-+ continue;
-+ } else if (this->rb_right) {
-+ this = this->rb_right;
-+ continue;
-+ }
-+ dr = rb_entry(this, struct done_ref, rb);
-+ this = rb_parent(this);
-+ if (this) {
-+ if (this->rb_left == &dr->rb)
-+ this->rb_left = NULL;
-+ else
-+ this->rb_right = NULL;
-+ }
-+ kfree(dr);
-+ }
-+}
-+
-+/**
-+ * add_node - add a node to the consolidated log.
-+ * @c: UBIFS file-system description object
-+ * @buf: buffer to which to add
-+ * @lnum: LEB number to which to write is passed and returned here
-+ * @offs: offset to where to write is passed and returned here
-+ * @node: node to add
-+ *
-+ * This function returns %0 on success and a negative error code on failure.
-+ */
-+static int add_node(struct ubifs_info *c, void *buf, int *lnum, int *offs,
-+ void *node)
-+{
-+ struct ubifs_ch *ch = node;
-+ int len = le32_to_cpu(ch->len), remains = c->leb_size - *offs;
-+
-+ if (len > remains) {
-+ int sz = ALIGN(*offs, c->min_io_size), err;
-+
-+ ubifs_pad(c, buf + *offs, sz - *offs);
-+ err = ubifs_leb_change(c, *lnum, buf, sz, UBI_SHORTTERM);
-+ if (err)
-+ return err;
-+ *lnum = next_log_lnum(c, *lnum);
-+ *offs = 0;
-+ }
-+ memcpy(buf + *offs, node, len);
-+ *offs += ALIGN(len, 8);
-+ return 0;
-+}
-+
-+/**
-+ * ubifs_consolidate_log - consolidate the log.
-+ * @c: UBIFS file-system description object
-+ *
-+ * Repeated failed commits could cause the log to be full, but at least 1 LEB is
-+ * needed for commit. This function rewrites the reference nodes in the log
-+ * omitting duplicates, and failed CS nodes, and leaving no gaps.
-+ *
-+ * This function returns %0 on success and a negative error code on failure.
-+ */
-+int ubifs_consolidate_log(struct ubifs_info *c)
-+{
-+ struct ubifs_scan_leb *sleb;
-+ struct ubifs_scan_node *snod;
-+ struct rb_root done_tree = RB_ROOT;
-+ int lnum, err, first = 1, write_lnum, offs = 0;
-+ void *buf;
-+
-+ dbg_rcvry("log tail LEB %d, log head LEB %d", c->ltail_lnum,
-+ c->lhead_lnum);
-+ buf = vmalloc(c->leb_size);
-+ if (!buf)
-+ return -ENOMEM;
-+ lnum = c->ltail_lnum;
-+ write_lnum = lnum;
-+ while (1) {
-+ sleb = ubifs_scan(c, lnum, 0, c->sbuf);
-+ if (IS_ERR(sleb)) {
-+ err = PTR_ERR(sleb);
-+ goto out_free;
-+ }
-+ list_for_each_entry(snod, &sleb->nodes, list) {
-+ switch (snod->type) {
-+ case UBIFS_REF_NODE: {
-+ struct ubifs_ref_node *ref = snod->node;
-+ int ref_lnum = le32_to_cpu(ref->lnum);
-+
-+ err = done_already(&done_tree, ref_lnum);
-+ if (err < 0)
-+ goto out_scan;
-+ if (err != 1) {
-+ err = add_node(c, buf, &write_lnum,
-+ &offs, snod->node);
-+ if (err)
-+ goto out_scan;
-+ }
-+ break;
-+ }
-+ case UBIFS_CS_NODE:
-+ if (!first)
-+ break;
-+ err = add_node(c, buf, &write_lnum, &offs,
-+ snod->node);
-+ if (err)
-+ goto out_scan;
-+ first = 0;
-+ break;
-+ }
-+ }
-+ ubifs_scan_destroy(sleb);
-+ if (lnum == c->lhead_lnum)
-+ break;
-+ lnum = next_log_lnum(c, lnum);
-+ }
-+ if (offs) {
-+ int sz = ALIGN(offs, c->min_io_size);
-+
-+ ubifs_pad(c, buf + offs, sz - offs);
-+ err = ubifs_leb_change(c, write_lnum, buf, sz, UBI_SHORTTERM);
-+ if (err)
-+ goto out_free;
-+ offs = ALIGN(offs, c->min_io_size);
-+ }
-+ destroy_done_tree(&done_tree);
-+ vfree(buf);
-+ if (write_lnum == c->lhead_lnum) {
-+ ubifs_err("log is too full");
-+ return -EINVAL;
-+ }
-+ /* Unmap remaining LEBs */
-+ lnum = write_lnum;
-+ do {
-+ lnum = next_log_lnum(c, lnum);
-+ err = ubifs_leb_unmap(c, lnum);
-+ if (err)
-+ return err;
-+ } while (lnum != c->lhead_lnum);
-+ c->lhead_lnum = write_lnum;
-+ c->lhead_offs = offs;
-+ dbg_rcvry("new log head at %d:%d", c->lhead_lnum, c->lhead_offs);
-+ return 0;
-+
-+out_scan:
-+ ubifs_scan_destroy(sleb);
-+out_free:
-+ destroy_done_tree(&done_tree);
-+ vfree(buf);
-+ return err;
-+}
-+
-+#ifdef CONFIG_UBIFS_FS_DEBUG
-+
-+/**
-+ * dbg_check_bud_bytes - make sure bud bytes calculation are all right.
-+ * @c: UBIFS file-system description object
-+ *
-+ * This function makes sure the amount of flash space used by closed buds
-+ * ('c->bud_bytes' is correct). Returns zero in case of success and %-EINVAL in
-+ * case of failure.
-+ */
-+static int dbg_check_bud_bytes(struct ubifs_info *c)
-+{
-+ int i, err = 0;
-+ struct ubifs_bud *bud;
-+ long long bud_bytes = 0;
-+
-+ if (!(ubifs_chk_flags & UBIFS_CHK_GEN))
-+ return 0;
-+
-+ spin_lock(&c->buds_lock);
-+ for (i = 0; i < c->jhead_cnt; i++)
-+ list_for_each_entry(bud, &c->jheads[i].buds_list, list)
-+ bud_bytes += c->leb_size - bud->start;
-+
-+ if (c->bud_bytes != bud_bytes) {
-+ ubifs_err("bad bud_bytes %lld, calculated %lld",
-+ c->bud_bytes, bud_bytes);
-+ err = -EINVAL;
-+ }
-+ spin_unlock(&c->buds_lock);
-+
-+ return err;
-+}
-+
-+#endif /* CONFIG_UBIFS_FS_DEBUG */
-diff -Nurd linux-2.6.24.orig/fs/ubifs/lprops.c linux-2.6.24/fs/ubifs/lprops.c
---- linux-2.6.24.orig/fs/ubifs/lprops.c 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.24/fs/ubifs/lprops.c 2009-04-17 09:49:28.000000000 +0200
-@@ -0,0 +1,1333 @@
-+/*
-+ * This file is part of UBIFS.
-+ *
-+ * Copyright (C) 2006-2008 Nokia Corporation.
-+ *
-+ * This program is free software; you can redistribute it and/or modify it
-+ * under the terms of the GNU General Public License version 2 as published by
-+ * the Free Software Foundation.
-+ *
-+ * 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, write to the Free Software Foundation, Inc., 51
-+ * Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
-+ *
-+ * Authors: Adrian Hunter
-+ * Artem Bityutskiy (Битюцкий Ðртём)
-+ */
-+
-+/*
-+ * This file implements the functions that access LEB properties and their
-+ * categories. LEBs are categorized based on the needs of UBIFS, and the
-+ * categories are stored as either heaps or lists to provide a fast way of
-+ * finding a LEB in a particular category. For example, UBIFS may need to find
-+ * an empty LEB for the journal, or a very dirty LEB for garbage collection.
-+ */
-+
-+#include "ubifs.h"
-+
-+/**
-+ * get_heap_comp_val - get the LEB properties value for heap comparisons.
-+ * @lprops: LEB properties
-+ * @cat: LEB category
-+ */
-+static int get_heap_comp_val(struct ubifs_lprops *lprops, int cat)
-+{
-+ switch (cat) {
-+ case LPROPS_FREE:
-+ return lprops->free;
-+ case LPROPS_DIRTY_IDX:
-+ return lprops->free + lprops->dirty;
-+ default:
-+ return lprops->dirty;
-+ }
-+}
-+
-+/**
-+ * move_up_lpt_heap - move a new heap entry up as far as possible.
-+ * @c: UBIFS file-system description object
-+ * @heap: LEB category heap
-+ * @lprops: LEB properties to move
-+ * @cat: LEB category
-+ *
-+ * New entries to a heap are added at the bottom and then moved up until the
-+ * parent's value is greater. In the case of LPT's category heaps, the value
-+ * is either the amount of free space or the amount of dirty space, depending
-+ * on the category.
-+ */
-+static void move_up_lpt_heap(struct ubifs_info *c, struct ubifs_lpt_heap *heap,
-+ struct ubifs_lprops *lprops, int cat)
-+{
-+ int val1, val2, hpos;
-+
-+ hpos = lprops->hpos;
-+ if (!hpos)
-+ return; /* Already top of the heap */
-+ val1 = get_heap_comp_val(lprops, cat);
-+ /* Compare to parent and, if greater, move up the heap */
-+ do {
-+ int ppos = (hpos - 1) / 2;
-+
-+ val2 = get_heap_comp_val(heap->arr[ppos], cat);
-+ if (val2 >= val1)
-+ return;
-+ /* Greater than parent so move up */
-+ heap->arr[ppos]->hpos = hpos;
-+ heap->arr[hpos] = heap->arr[ppos];
-+ heap->arr[ppos] = lprops;
-+ lprops->hpos = ppos;
-+ hpos = ppos;
-+ } while (hpos);
-+}
-+
-+/**
-+ * adjust_lpt_heap - move a changed heap entry up or down the heap.
-+ * @c: UBIFS file-system description object
-+ * @heap: LEB category heap
-+ * @lprops: LEB properties to move
-+ * @hpos: heap position of @lprops
-+ * @cat: LEB category
-+ *
-+ * Changed entries in a heap are moved up or down until the parent's value is
-+ * greater. In the case of LPT's category heaps, the value is either the amount
-+ * of free space or the amount of dirty space, depending on the category.
-+ */
-+static void adjust_lpt_heap(struct ubifs_info *c, struct ubifs_lpt_heap *heap,
-+ struct ubifs_lprops *lprops, int hpos, int cat)
-+{
-+ int val1, val2, val3, cpos;
-+
-+ val1 = get_heap_comp_val(lprops, cat);
-+ /* Compare to parent and, if greater than parent, move up the heap */
-+ if (hpos) {
-+ int ppos = (hpos - 1) / 2;
-+
-+ val2 = get_heap_comp_val(heap->arr[ppos], cat);
-+ if (val1 > val2) {
-+ /* Greater than parent so move up */
-+ while (1) {
-+ heap->arr[ppos]->hpos = hpos;
-+ heap->arr[hpos] = heap->arr[ppos];
-+ heap->arr[ppos] = lprops;
-+ lprops->hpos = ppos;
-+ hpos = ppos;
-+ if (!hpos)
-+ return;
-+ ppos = (hpos - 1) / 2;
-+ val2 = get_heap_comp_val(heap->arr[ppos], cat);
-+ if (val1 <= val2)
-+ return;
-+ /* Still greater than parent so keep going */
-+ }
-+ }
-+ }
-+
-+ /* Not greater than parent, so compare to children */
-+ while (1) {
-+ /* Compare to left child */
-+ cpos = hpos * 2 + 1;
-+ if (cpos >= heap->cnt)
-+ return;
-+ val2 = get_heap_comp_val(heap->arr[cpos], cat);
-+ if (val1 < val2) {
-+ /* Less than left child, so promote biggest child */
-+ if (cpos + 1 < heap->cnt) {
-+ val3 = get_heap_comp_val(heap->arr[cpos + 1],
-+ cat);
-+ if (val3 > val2)
-+ cpos += 1; /* Right child is bigger */
-+ }
-+ heap->arr[cpos]->hpos = hpos;
-+ heap->arr[hpos] = heap->arr[cpos];
-+ heap->arr[cpos] = lprops;
-+ lprops->hpos = cpos;
-+ hpos = cpos;
-+ continue;
-+ }
-+ /* Compare to right child */
-+ cpos += 1;
-+ if (cpos >= heap->cnt)
-+ return;
-+ val3 = get_heap_comp_val(heap->arr[cpos], cat);
-+ if (val1 < val3) {
-+ /* Less than right child, so promote right child */
-+ heap->arr[cpos]->hpos = hpos;
-+ heap->arr[hpos] = heap->arr[cpos];
-+ heap->arr[cpos] = lprops;
-+ lprops->hpos = cpos;
-+ hpos = cpos;
-+ continue;
-+ }
-+ return;
-+ }
-+}
-+
-+/**
-+ * add_to_lpt_heap - add LEB properties to a LEB category heap.
-+ * @c: UBIFS file-system description object
-+ * @lprops: LEB properties to add
-+ * @cat: LEB category
-+ *
-+ * This function returns %1 if @lprops is added to the heap for LEB category
-+ * @cat, otherwise %0 is returned because the heap is full.
-+ */
-+static int add_to_lpt_heap(struct ubifs_info *c, struct ubifs_lprops *lprops,
-+ int cat)
-+{
-+ struct ubifs_lpt_heap *heap = &c->lpt_heap[cat - 1];
-+
-+ if (heap->cnt >= heap->max_cnt) {
-+ const int b = LPT_HEAP_SZ / 2 - 1;
-+ int cpos, val1, val2;
-+
-+ /* Compare to some other LEB on the bottom of heap */
-+ /* Pick a position kind of randomly */
-+ cpos = (((size_t)lprops >> 4) & b) + b;
-+ ubifs_assert(cpos >= b);
-+ ubifs_assert(cpos < LPT_HEAP_SZ);
-+ ubifs_assert(cpos < heap->cnt);
-+
-+ val1 = get_heap_comp_val(lprops, cat);
-+ val2 = get_heap_comp_val(heap->arr[cpos], cat);
-+ if (val1 > val2) {
-+ struct ubifs_lprops *lp;
-+
-+ lp = heap->arr[cpos];
-+ lp->flags &= ~LPROPS_CAT_MASK;
-+ lp->flags |= LPROPS_UNCAT;
-+ list_add(&lp->list, &c->uncat_list);
-+ lprops->hpos = cpos;
-+ heap->arr[cpos] = lprops;
-+ move_up_lpt_heap(c, heap, lprops, cat);
-+ dbg_check_heap(c, heap, cat, lprops->hpos);
-+ return 1; /* Added to heap */
-+ }
-+ dbg_check_heap(c, heap, cat, -1);
-+ return 0; /* Not added to heap */
-+ } else {
-+ lprops->hpos = heap->cnt++;
-+ heap->arr[lprops->hpos] = lprops;
-+ move_up_lpt_heap(c, heap, lprops, cat);
-+ dbg_check_heap(c, heap, cat, lprops->hpos);
-+ return 1; /* Added to heap */
-+ }
-+}
-+
-+/**
-+ * remove_from_lpt_heap - remove LEB properties from a LEB category heap.
-+ * @c: UBIFS file-system description object
-+ * @lprops: LEB properties to remove
-+ * @cat: LEB category
-+ */
-+static void remove_from_lpt_heap(struct ubifs_info *c,
-+ struct ubifs_lprops *lprops, int cat)
-+{
-+ struct ubifs_lpt_heap *heap;
-+ int hpos = lprops->hpos;
-+
-+ heap = &c->lpt_heap[cat - 1];
-+ ubifs_assert(hpos >= 0 && hpos < heap->cnt);
-+ ubifs_assert(heap->arr[hpos] == lprops);
-+ heap->cnt -= 1;
-+ if (hpos < heap->cnt) {
-+ heap->arr[hpos] = heap->arr[heap->cnt];
-+ heap->arr[hpos]->hpos = hpos;
-+ adjust_lpt_heap(c, heap, heap->arr[hpos], hpos, cat);
-+ }
-+ dbg_check_heap(c, heap, cat, -1);
-+}
-+
-+/**
-+ * lpt_heap_replace - replace lprops in a category heap.
-+ * @c: UBIFS file-system description object
-+ * @old_lprops: LEB properties to replace
-+ * @new_lprops: LEB properties with which to replace
-+ * @cat: LEB category
-+ *
-+ * During commit it is sometimes necessary to copy a pnode (see dirty_cow_pnode)
-+ * and the lprops that the pnode contains. When that happens, references in
-+ * the category heaps to those lprops must be updated to point to the new
-+ * lprops. This function does that.
-+ */
-+static void lpt_heap_replace(struct ubifs_info *c,
-+ struct ubifs_lprops *old_lprops,
-+ struct ubifs_lprops *new_lprops, int cat)
-+{
-+ struct ubifs_lpt_heap *heap;
-+ int hpos = new_lprops->hpos;
-+
-+ heap = &c->lpt_heap[cat - 1];
-+ heap->arr[hpos] = new_lprops;
-+}
-+
-+/**
-+ * ubifs_add_to_cat - add LEB properties to a category list or heap.
-+ * @c: UBIFS file-system description object
-+ * @lprops: LEB properties to add
-+ * @cat: LEB category to which to add
-+ *
-+ * LEB properties are categorized to enable fast find operations.
-+ */
-+void ubifs_add_to_cat(struct ubifs_info *c, struct ubifs_lprops *lprops,
-+ int cat)
-+{
-+ switch (cat) {
-+ case LPROPS_DIRTY:
-+ case LPROPS_DIRTY_IDX:
-+ case LPROPS_FREE:
-+ if (add_to_lpt_heap(c, lprops, cat))
-+ break;
-+ /* No more room on heap so make it uncategorized */
-+ cat = LPROPS_UNCAT;
-+ /* Fall through */
-+ case LPROPS_UNCAT:
-+ list_add(&lprops->list, &c->uncat_list);
-+ break;
-+ case LPROPS_EMPTY:
-+ list_add(&lprops->list, &c->empty_list);
-+ break;
-+ case LPROPS_FREEABLE:
-+ list_add(&lprops->list, &c->freeable_list);
-+ c->freeable_cnt += 1;
-+ break;
-+ case LPROPS_FRDI_IDX:
-+ list_add(&lprops->list, &c->frdi_idx_list);
-+ break;
-+ default:
-+ ubifs_assert(0);
-+ }
-+ lprops->flags &= ~LPROPS_CAT_MASK;
-+ lprops->flags |= cat;
-+}
-+
-+/**
-+ * ubifs_remove_from_cat - remove LEB properties from a category list or heap.
-+ * @c: UBIFS file-system description object
-+ * @lprops: LEB properties to remove
-+ * @cat: LEB category from which to remove
-+ *
-+ * LEB properties are categorized to enable fast find operations.
-+ */
-+static void ubifs_remove_from_cat(struct ubifs_info *c,
-+ struct ubifs_lprops *lprops, int cat)
-+{
-+ switch (cat) {
-+ case LPROPS_DIRTY:
-+ case LPROPS_DIRTY_IDX:
-+ case LPROPS_FREE:
-+ remove_from_lpt_heap(c, lprops, cat);
-+ break;
-+ case LPROPS_FREEABLE:
-+ c->freeable_cnt -= 1;
-+ ubifs_assert(c->freeable_cnt >= 0);
-+ /* Fall through */
-+ case LPROPS_UNCAT:
-+ case LPROPS_EMPTY:
-+ case LPROPS_FRDI_IDX:
-+ ubifs_assert(!list_empty(&lprops->list));
-+ list_del(&lprops->list);
-+ break;
-+ default:
-+ ubifs_assert(0);
-+ }
-+}
-+
-+/**
-+ * ubifs_replace_cat - replace lprops in a category list or heap.
-+ * @c: UBIFS file-system description object
-+ * @old_lprops: LEB properties to replace
-+ * @new_lprops: LEB properties with which to replace
-+ *
-+ * During commit it is sometimes necessary to copy a pnode (see dirty_cow_pnode)
-+ * and the lprops that the pnode contains. When that happens, references in
-+ * category lists and heaps must be replaced. This function does that.
-+ */
-+void ubifs_replace_cat(struct ubifs_info *c, struct ubifs_lprops *old_lprops,
-+ struct ubifs_lprops *new_lprops)
-+{
-+ int cat;
-+
-+ cat = new_lprops->flags & LPROPS_CAT_MASK;
-+ switch (cat) {
-+ case LPROPS_DIRTY:
-+ case LPROPS_DIRTY_IDX:
-+ case LPROPS_FREE:
-+ lpt_heap_replace(c, old_lprops, new_lprops, cat);
-+ break;
-+ case LPROPS_UNCAT:
-+ case LPROPS_EMPTY:
-+ case LPROPS_FREEABLE:
-+ case LPROPS_FRDI_IDX:
-+ list_replace(&old_lprops->list, &new_lprops->list);
-+ break;
-+ default:
-+ ubifs_assert(0);
-+ }
-+}
-+
-+/**
-+ * ubifs_ensure_cat - ensure LEB properties are categorized.
-+ * @c: UBIFS file-system description object
-+ * @lprops: LEB properties
-+ *
-+ * A LEB may have fallen off of the bottom of a heap, and ended up as
-+ * uncategorized even though it has enough space for us now. If that is the case
-+ * this function will put the LEB back onto a heap.
-+ */
-+void ubifs_ensure_cat(struct ubifs_info *c, struct ubifs_lprops *lprops)
-+{
-+ int cat = lprops->flags & LPROPS_CAT_MASK;
-+
-+ if (cat != LPROPS_UNCAT)
-+ return;
-+ cat = ubifs_categorize_lprops(c, lprops);
-+ if (cat == LPROPS_UNCAT)
-+ return;
-+ ubifs_remove_from_cat(c, lprops, LPROPS_UNCAT);
-+ ubifs_add_to_cat(c, lprops, cat);
-+}
-+
-+/**
-+ * ubifs_categorize_lprops - categorize LEB properties.
-+ * @c: UBIFS file-system description object
-+ * @lprops: LEB properties to categorize
-+ *
-+ * LEB properties are categorized to enable fast find operations. This function
-+ * returns the LEB category to which the LEB properties belong. Note however
-+ * that if the LEB category is stored as a heap and the heap is full, the
-+ * LEB properties may have their category changed to %LPROPS_UNCAT.
-+ */
-+int ubifs_categorize_lprops(const struct ubifs_info *c,
-+ const struct ubifs_lprops *lprops)
-+{
-+ if (lprops->flags & LPROPS_TAKEN)
-+ return LPROPS_UNCAT;
-+
-+ if (lprops->free == c->leb_size) {
-+ ubifs_assert(!(lprops->flags & LPROPS_INDEX));
-+ return LPROPS_EMPTY;
-+ }
-+
-+ if (lprops->free + lprops->dirty == c->leb_size) {
-+ if (lprops->flags & LPROPS_INDEX)
-+ return LPROPS_FRDI_IDX;
-+ else
-+ return LPROPS_FREEABLE;
-+ }
-+
-+ if (lprops->flags & LPROPS_INDEX) {
-+ if (lprops->dirty + lprops->free >= c->min_idx_node_sz)
-+ return LPROPS_DIRTY_IDX;
-+ } else {
-+ if (lprops->dirty >= c->dead_wm &&
-+ lprops->dirty > lprops->free)
-+ return LPROPS_DIRTY;
-+ if (lprops->free > 0)
-+ return LPROPS_FREE;
-+ }
-+
-+ return LPROPS_UNCAT;
-+}
-+
-+/**
-+ * change_category - change LEB properties category.
-+ * @c: UBIFS file-system description object
-+ * @lprops: LEB properties to recategorize
-+ *
-+ * LEB properties are categorized to enable fast find operations. When the LEB
-+ * properties change they must be recategorized.
-+ */
-+static void change_category(struct ubifs_info *c, struct ubifs_lprops *lprops)
-+{
-+ int old_cat = lprops->flags & LPROPS_CAT_MASK;
-+ int new_cat = ubifs_categorize_lprops(c, lprops);
-+
-+ if (old_cat == new_cat) {
-+ struct ubifs_lpt_heap *heap = &c->lpt_heap[new_cat - 1];
-+
-+ /* lprops on a heap now must be moved up or down */
-+ if (new_cat < 1 || new_cat > LPROPS_HEAP_CNT)
-+ return; /* Not on a heap */
-+ heap = &c->lpt_heap[new_cat - 1];
-+ adjust_lpt_heap(c, heap, lprops, lprops->hpos, new_cat);
-+ } else {
-+ ubifs_remove_from_cat(c, lprops, old_cat);
-+ ubifs_add_to_cat(c, lprops, new_cat);
-+ }
-+}
-+
-+/**
-+ * calc_dark - calculate LEB dark space size.
-+ * @c: the UBIFS file-system description object
-+ * @spc: amount of free and dirty space in the LEB
-+ *
-+ * This function calculates amount of dark space in an LEB which has @spc bytes
-+ * of free and dirty space. Returns the calculations result.
-+ *
-+ * Dark space is the space which is not always usable - it depends on which
-+ * nodes are written in which order. E.g., if an LEB has only 512 free bytes,
-+ * it is dark space, because it cannot fit a large data node. So UBIFS cannot
-+ * count on this LEB and treat these 512 bytes as usable because it is not true
-+ * if, for example, only big chunks of uncompressible data will be written to
-+ * the FS.
-+ */
-+static int calc_dark(struct ubifs_info *c, int spc)
-+{
-+ ubifs_assert(!(spc & 7));
-+
-+ if (spc < c->dark_wm)
-+ return spc;
-+
-+ /*
-+ * If we have slightly more space then the dark space watermark, we can
-+ * anyway safely assume it we'll be able to write a node of the
-+ * smallest size there.
-+ */
-+ if (spc - c->dark_wm < MIN_WRITE_SZ)
-+ return spc - MIN_WRITE_SZ;
-+
-+ return c->dark_wm;
-+}
-+
-+/**
-+ * is_lprops_dirty - determine if LEB properties are dirty.
-+ * @c: the UBIFS file-system description object
-+ * @lprops: LEB properties to test
-+ */
-+static int is_lprops_dirty(struct ubifs_info *c, struct ubifs_lprops *lprops)
-+{
-+ struct ubifs_pnode *pnode;
-+ int pos;
-+
-+ pos = (lprops->lnum - c->main_first) & (UBIFS_LPT_FANOUT - 1);
-+ pnode = (struct ubifs_pnode *)container_of(lprops - pos,
-+ struct ubifs_pnode,
-+ lprops[0]);
-+ return !test_bit(COW_ZNODE, &pnode->flags) &&
-+ test_bit(DIRTY_CNODE, &pnode->flags);
-+}
-+
-+/**
-+ * ubifs_change_lp - change LEB properties.
-+ * @c: the UBIFS file-system description object
-+ * @lp: LEB properties to change
-+ * @free: new free space amount
-+ * @dirty: new dirty space amount
-+ * @flags: new flags
-+ * @idx_gc_cnt: change to the count of idx_gc list
-+ *
-+ * This function changes LEB properties (@free, @dirty or @flag). However, the
-+ * property which has the %LPROPS_NC value is not changed. Returns a pointer to
-+ * the updated LEB properties on success and a negative error code on failure.
-+ *
-+ * Note, the LEB properties may have had to be copied (due to COW) and
-+ * consequently the pointer returned may not be the same as the pointer
-+ * passed.
-+ */
-+const struct ubifs_lprops *ubifs_change_lp(struct ubifs_info *c,
-+ const struct ubifs_lprops *lp,
-+ int free, int dirty, int flags,
-+ int idx_gc_cnt)
-+{
-+ /*
-+ * This is the only function that is allowed to change lprops, so we
-+ * discard the const qualifier.
-+ */
-+ struct ubifs_lprops *lprops = (struct ubifs_lprops *)lp;
-+
-+ dbg_lp("LEB %d, free %d, dirty %d, flags %d",
-+ lprops->lnum, free, dirty, flags);
-+
-+ ubifs_assert(mutex_is_locked(&c->lp_mutex));
-+ ubifs_assert(c->lst.empty_lebs >= 0 &&
-+ c->lst.empty_lebs <= c->main_lebs);
-+ ubifs_assert(c->freeable_cnt >= 0);
-+ ubifs_assert(c->freeable_cnt <= c->main_lebs);
-+ ubifs_assert(c->lst.taken_empty_lebs >= 0);
-+ ubifs_assert(c->lst.taken_empty_lebs <= c->lst.empty_lebs);
-+ ubifs_assert(!(c->lst.total_free & 7) && !(c->lst.total_dirty & 7));
-+ ubifs_assert(!(c->lst.total_dead & 7) && !(c->lst.total_dark & 7));
-+ ubifs_assert(!(c->lst.total_used & 7));
-+ ubifs_assert(free == LPROPS_NC || free >= 0);
-+ ubifs_assert(dirty == LPROPS_NC || dirty >= 0);
-+
-+ if (!is_lprops_dirty(c, lprops)) {
-+ lprops = ubifs_lpt_lookup_dirty(c, lprops->lnum);
-+ if (IS_ERR(lprops))
-+ return lprops;
-+ } else
-+ ubifs_assert(lprops == ubifs_lpt_lookup_dirty(c, lprops->lnum));
-+
-+ ubifs_assert(!(lprops->free & 7) && !(lprops->dirty & 7));
-+
-+ spin_lock(&c->space_lock);
-+ if ((lprops->flags & LPROPS_TAKEN) && lprops->free == c->leb_size)
-+ c->lst.taken_empty_lebs -= 1;
-+
-+ if (!(lprops->flags & LPROPS_INDEX)) {
-+ int old_spc;
-+
-+ old_spc = lprops->free + lprops->dirty;
-+ if (old_spc < c->dead_wm)
-+ c->lst.total_dead -= old_spc;
-+ else
-+ c->lst.total_dark -= calc_dark(c, old_spc);
-+
-+ c->lst.total_used -= c->leb_size - old_spc;
-+ }
-+
-+ if (free != LPROPS_NC) {
-+ free = ALIGN(free, 8);
-+ c->lst.total_free += free - lprops->free;
-+
-+ /* Increase or decrease empty LEBs counter if needed */
-+ if (free == c->leb_size) {
-+ if (lprops->free != c->leb_size)
-+ c->lst.empty_lebs += 1;
-+ } else if (lprops->free == c->leb_size)
-+ c->lst.empty_lebs -= 1;
-+ lprops->free = free;
-+ }
-+
-+ if (dirty != LPROPS_NC) {
-+ dirty = ALIGN(dirty, 8);
-+ c->lst.total_dirty += dirty - lprops->dirty;
-+ lprops->dirty = dirty;
-+ }
-+
-+ if (flags != LPROPS_NC) {
-+ /* Take care about indexing LEBs counter if needed */
-+ if ((lprops->flags & LPROPS_INDEX)) {
-+ if (!(flags & LPROPS_INDEX))
-+ c->lst.idx_lebs -= 1;
-+ } else if (flags & LPROPS_INDEX)
-+ c->lst.idx_lebs += 1;
-+ lprops->flags = flags;
-+ }
-+
-+ if (!(lprops->flags & LPROPS_INDEX)) {
-+ int new_spc;
-+
-+ new_spc = lprops->free + lprops->dirty;
-+ if (new_spc < c->dead_wm)
-+ c->lst.total_dead += new_spc;
-+ else
-+ c->lst.total_dark += calc_dark(c, new_spc);
-+
-+ c->lst.total_used += c->leb_size - new_spc;
-+ }
-+
-+ if ((lprops->flags & LPROPS_TAKEN) && lprops->free == c->leb_size)
-+ c->lst.taken_empty_lebs += 1;
-+
-+ change_category(c, lprops);
-+ c->idx_gc_cnt += idx_gc_cnt;
-+ spin_unlock(&c->space_lock);
-+ return lprops;
-+}
-+
-+/**
-+ * ubifs_get_lp_stats - get lprops statistics.
-+ * @c: UBIFS file-system description object
-+ * @st: return statistics
-+ */
-+void ubifs_get_lp_stats(struct ubifs_info *c, struct ubifs_lp_stats *lst)
-+{
-+ spin_lock(&c->space_lock);
-+ memcpy(lst, &c->lst, sizeof(struct ubifs_lp_stats));
-+ spin_unlock(&c->space_lock);
-+}
-+
-+/**
-+ * ubifs_change_one_lp - change LEB properties.
-+ * @c: the UBIFS file-system description object
-+ * @lnum: LEB to change properties for
-+ * @free: amount of free space
-+ * @dirty: amount of dirty space
-+ * @flags_set: flags to set
-+ * @flags_clean: flags to clean
-+ * @idx_gc_cnt: change to the count of idx_gc list
-+ *
-+ * This function changes properties of LEB @lnum. It is a helper wrapper over
-+ * 'ubifs_change_lp()' which hides lprops get/release. The arguments are the
-+ * same as in case of 'ubifs_change_lp()'. Returns zero in case of success and
-+ * a negative error code in case of failure.
-+ */
-+int ubifs_change_one_lp(struct ubifs_info *c, int lnum, int free, int dirty,
-+ int flags_set, int flags_clean, int idx_gc_cnt)
-+{
-+ int err = 0, flags;
-+ const struct ubifs_lprops *lp;
-+
-+ ubifs_get_lprops(c);
-+
-+ lp = ubifs_lpt_lookup_dirty(c, lnum);
-+ if (IS_ERR(lp)) {
-+ err = PTR_ERR(lp);
-+ goto out;
-+ }
-+
-+ flags = (lp->flags | flags_set) & ~flags_clean;
-+ lp = ubifs_change_lp(c, lp, free, dirty, flags, idx_gc_cnt);
-+ if (IS_ERR(lp))
-+ err = PTR_ERR(lp);
-+
-+out:
-+ ubifs_release_lprops(c);
-+ if (err)
-+ ubifs_err("cannot change properties of LEB %d, error %d",
-+ lnum, err);
-+ return err;
-+}
-+
-+/**
-+ * ubifs_update_one_lp - update LEB properties.
-+ * @c: the UBIFS file-system description object
-+ * @lnum: LEB to change properties for
-+ * @free: amount of free space
-+ * @dirty: amount of dirty space to add
-+ * @flags_set: flags to set
-+ * @flags_clean: flags to clean
-+ *
-+ * This function is the same as 'ubifs_change_one_lp()' but @dirty is added to
-+ * current dirty space, not substitutes it.
-+ */
-+int ubifs_update_one_lp(struct ubifs_info *c, int lnum, int free, int dirty,
-+ int flags_set, int flags_clean)
-+{
-+ int err = 0, flags;
-+ const struct ubifs_lprops *lp;
-+
-+ ubifs_get_lprops(c);
-+
-+ lp = ubifs_lpt_lookup_dirty(c, lnum);
-+ if (IS_ERR(lp)) {
-+ err = PTR_ERR(lp);
-+ goto out;
-+ }
-+
-+ flags = (lp->flags | flags_set) & ~flags_clean;
-+ lp = ubifs_change_lp(c, lp, free, lp->dirty + dirty, flags, 0);
-+ if (IS_ERR(lp))
-+ err = PTR_ERR(lp);
-+
-+out:
-+ ubifs_release_lprops(c);
-+ if (err)
-+ ubifs_err("cannot update properties of LEB %d, error %d",
-+ lnum, err);
-+ return err;
-+}
-+
-+/**
-+ * ubifs_read_one_lp - read LEB properties.
-+ * @c: the UBIFS file-system description object
-+ * @lnum: LEB to read properties for
-+ * @lp: where to store read properties
-+ *
-+ * This helper function reads properties of a LEB @lnum and stores them in @lp.
-+ * Returns zero in case of success and a negative error code in case of
-+ * failure.
-+ */
-+int ubifs_read_one_lp(struct ubifs_info *c, int lnum, struct ubifs_lprops *lp)
-+{
-+ int err = 0;
-+ const struct ubifs_lprops *lpp;
-+
-+ ubifs_get_lprops(c);
-+
-+ lpp = ubifs_lpt_lookup(c, lnum);
-+ if (IS_ERR(lpp)) {
-+ err = PTR_ERR(lpp);
-+ ubifs_err("cannot read properties of LEB %d, error %d",
-+ lnum, err);
-+ goto out;
-+ }
-+
-+ memcpy(lp, lpp, sizeof(struct ubifs_lprops));
-+
-+out:
-+ ubifs_release_lprops(c);
-+ return err;
-+}
-+
-+/**
-+ * ubifs_fast_find_free - try to find a LEB with free space quickly.
-+ * @c: the UBIFS file-system description object
-+ *
-+ * This function returns LEB properties for a LEB with free space or %NULL if
-+ * the function is unable to find a LEB quickly.
-+ */
-+const struct ubifs_lprops *ubifs_fast_find_free(struct ubifs_info *c)
-+{
-+ struct ubifs_lprops *lprops;
-+ struct ubifs_lpt_heap *heap;
-+
-+ ubifs_assert(mutex_is_locked(&c->lp_mutex));
-+
-+ heap = &c->lpt_heap[LPROPS_FREE - 1];
-+ if (heap->cnt == 0)
-+ return NULL;
-+
-+ lprops = heap->arr[0];
-+ ubifs_assert(!(lprops->flags & LPROPS_TAKEN));
-+ ubifs_assert(!(lprops->flags & LPROPS_INDEX));
-+ return lprops;
-+}
-+
-+/**
-+ * ubifs_fast_find_empty - try to find an empty LEB quickly.
-+ * @c: the UBIFS file-system description object
-+ *
-+ * This function returns LEB properties for an empty LEB or %NULL if the
-+ * function is unable to find an empty LEB quickly.
-+ */
-+const struct ubifs_lprops *ubifs_fast_find_empty(struct ubifs_info *c)
-+{
-+ struct ubifs_lprops *lprops;
-+
-+ ubifs_assert(mutex_is_locked(&c->lp_mutex));
-+
-+ if (list_empty(&c->empty_list))
-+ return NULL;
-+
-+ lprops = list_entry(c->empty_list.next, struct ubifs_lprops, list);
-+ ubifs_assert(!(lprops->flags & LPROPS_TAKEN));
-+ ubifs_assert(!(lprops->flags & LPROPS_INDEX));
-+ ubifs_assert(lprops->free == c->leb_size);
-+ return lprops;
-+}
-+
-+/**
-+ * ubifs_fast_find_freeable - try to find a freeable LEB quickly.
-+ * @c: the UBIFS file-system description object
-+ *
-+ * This function returns LEB properties for a freeable LEB or %NULL if the
-+ * function is unable to find a freeable LEB quickly.
-+ */
-+const struct ubifs_lprops *ubifs_fast_find_freeable(struct ubifs_info *c)
-+{
-+ struct ubifs_lprops *lprops;
-+
-+ ubifs_assert(mutex_is_locked(&c->lp_mutex));
-+
-+ if (list_empty(&c->freeable_list))
-+ return NULL;
-+
-+ lprops = list_entry(c->freeable_list.next, struct ubifs_lprops, list);
-+ ubifs_assert(!(lprops->flags & LPROPS_TAKEN));
-+ ubifs_assert(!(lprops->flags & LPROPS_INDEX));
-+ ubifs_assert(lprops->free + lprops->dirty == c->leb_size);
-+ ubifs_assert(c->freeable_cnt > 0);
-+ return lprops;
-+}
-+
-+/**
-+ * ubifs_fast_find_frdi_idx - try to find a freeable index LEB quickly.
-+ * @c: the UBIFS file-system description object
-+ *
-+ * This function returns LEB properties for a freeable index LEB or %NULL if the
-+ * function is unable to find a freeable index LEB quickly.
-+ */
-+const struct ubifs_lprops *ubifs_fast_find_frdi_idx(struct ubifs_info *c)
-+{
-+ struct ubifs_lprops *lprops;
-+
-+ ubifs_assert(mutex_is_locked(&c->lp_mutex));
-+
-+ if (list_empty(&c->frdi_idx_list))
-+ return NULL;
-+
-+ lprops = list_entry(c->frdi_idx_list.next, struct ubifs_lprops, list);
-+ ubifs_assert(!(lprops->flags & LPROPS_TAKEN));
-+ ubifs_assert((lprops->flags & LPROPS_INDEX));
-+ ubifs_assert(lprops->free + lprops->dirty == c->leb_size);
-+ return lprops;
-+}
-+
-+#ifdef CONFIG_UBIFS_FS_DEBUG
-+
-+/**
-+ * dbg_check_cats - check category heaps and lists.
-+ * @c: UBIFS file-system description object
-+ *
-+ * This function returns %0 on success and a negative error code on failure.
-+ */
-+int dbg_check_cats(struct ubifs_info *c)
-+{
-+ struct ubifs_lprops *lprops;
-+ struct list_head *pos;
-+ int i, cat;
-+
-+ if (!(ubifs_chk_flags & (UBIFS_CHK_GEN | UBIFS_CHK_LPROPS)))
-+ return 0;
-+
-+ list_for_each_entry(lprops, &c->empty_list, list) {
-+ if (lprops->free != c->leb_size) {
-+ ubifs_err("non-empty LEB %d on empty list "
-+ "(free %d dirty %d flags %d)", lprops->lnum,
-+ lprops->free, lprops->dirty, lprops->flags);
-+ return -EINVAL;
-+ }
-+ if (lprops->flags & LPROPS_TAKEN) {
-+ ubifs_err("taken LEB %d on empty list "
-+ "(free %d dirty %d flags %d)", lprops->lnum,
-+ lprops->free, lprops->dirty, lprops->flags);
-+ return -EINVAL;
-+ }
-+ }
-+
-+ i = 0;
-+ list_for_each_entry(lprops, &c->freeable_list, list) {
-+ if (lprops->free + lprops->dirty != c->leb_size) {
-+ ubifs_err("non-freeable LEB %d on freeable list "
-+ "(free %d dirty %d flags %d)", lprops->lnum,
-+ lprops->free, lprops->dirty, lprops->flags);
-+ return -EINVAL;
-+ }
-+ if (lprops->flags & LPROPS_TAKEN) {
-+ ubifs_err("taken LEB %d on freeable list "
-+ "(free %d dirty %d flags %d)", lprops->lnum,
-+ lprops->free, lprops->dirty, lprops->flags);
-+ return -EINVAL;
-+ }
-+ i += 1;
-+ }
-+ if (i != c->freeable_cnt) {
-+ ubifs_err("freeable list count %d expected %d", i,
-+ c->freeable_cnt);
-+ return -EINVAL;
-+ }
-+
-+ i = 0;
-+ list_for_each(pos, &c->idx_gc)
-+ i += 1;
-+ if (i != c->idx_gc_cnt) {
-+ ubifs_err("idx_gc list count %d expected %d", i,
-+ c->idx_gc_cnt);
-+ return -EINVAL;
-+ }
-+
-+ list_for_each_entry(lprops, &c->frdi_idx_list, list) {
-+ if (lprops->free + lprops->dirty != c->leb_size) {
-+ ubifs_err("non-freeable LEB %d on frdi_idx list "
-+ "(free %d dirty %d flags %d)", lprops->lnum,
-+ lprops->free, lprops->dirty, lprops->flags);
-+ return -EINVAL;
-+ }
-+ if (lprops->flags & LPROPS_TAKEN) {
-+ ubifs_err("taken LEB %d on frdi_idx list "
-+ "(free %d dirty %d flags %d)", lprops->lnum,
-+ lprops->free, lprops->dirty, lprops->flags);
-+ return -EINVAL;
-+ }
-+ if (!(lprops->flags & LPROPS_INDEX)) {
-+ ubifs_err("non-index LEB %d on frdi_idx list "
-+ "(free %d dirty %d flags %d)", lprops->lnum,
-+ lprops->free, lprops->dirty, lprops->flags);
-+ return -EINVAL;
-+ }
-+ }
-+
-+ for (cat = 1; cat <= LPROPS_HEAP_CNT; cat++) {
-+ struct ubifs_lpt_heap *heap = &c->lpt_heap[cat - 1];
-+
-+ for (i = 0; i < heap->cnt; i++) {
-+ lprops = heap->arr[i];
-+ if (!lprops) {
-+ ubifs_err("null ptr in LPT heap cat %d", cat);
-+ return -EINVAL;
-+ }
-+ if (lprops->hpos != i) {
-+ ubifs_err("bad ptr in LPT heap cat %d", cat);
-+ return -EINVAL;
-+ }
-+ if (lprops->flags & LPROPS_TAKEN) {
-+ ubifs_err("taken LEB in LPT heap cat %d", cat);
-+ return -EINVAL;
-+ }
-+ }
-+ }
-+
-+ return 0;
-+}
-+
-+void dbg_check_heap(struct ubifs_info *c, struct ubifs_lpt_heap *heap, int cat,
-+ int add_pos)
-+{
-+ int i = 0, j, err = 0;
-+
-+ if (!(ubifs_chk_flags & (UBIFS_CHK_GEN | UBIFS_CHK_LPROPS)))
-+ return;
-+
-+ for (i = 0; i < heap->cnt; i++) {
-+ struct ubifs_lprops *lprops = heap->arr[i];
-+ struct ubifs_lprops *lp;
-+
-+ if (i != add_pos)
-+ if ((lprops->flags & LPROPS_CAT_MASK) != cat) {
-+ err = 1;
-+ goto out;
-+ }
-+ if (lprops->hpos != i) {
-+ err = 2;
-+ goto out;
-+ }
-+ lp = ubifs_lpt_lookup(c, lprops->lnum);
-+ if (IS_ERR(lp)) {
-+ err = 3;
-+ goto out;
-+ }
-+ if (lprops != lp) {
-+ dbg_msg("lprops %zx lp %zx lprops->lnum %d lp->lnum %d",
-+ (size_t)lprops, (size_t)lp, lprops->lnum,
-+ lp->lnum);
-+ err = 4;
-+ goto out;
-+ }
-+ for (j = 0; j < i; j++) {
-+ lp = heap->arr[j];
-+ if (lp == lprops) {
-+ err = 5;
-+ goto out;
-+ }
-+ if (lp->lnum == lprops->lnum) {
-+ err = 6;
-+ goto out;
-+ }
-+ }
-+ }
-+out:
-+ if (err) {
-+ dbg_msg("failed cat %d hpos %d err %d", cat, i, err);
-+ dbg_dump_stack();
-+ dbg_dump_heap(c, heap, cat);
-+ }
-+}
-+
-+/**
-+ * struct scan_check_data - data provided to scan callback function.
-+ * @lst: LEB properties statistics
-+ * @err: error code
-+ */
-+struct scan_check_data {
-+ struct ubifs_lp_stats lst;
-+ int err;
-+};
-+
-+/**
-+ * scan_check_cb - scan callback.
-+ * @c: the UBIFS file-system description object
-+ * @lp: LEB properties to scan
-+ * @in_tree: whether the LEB properties are in main memory
-+ * @data: information passed to and from the caller of the scan
-+ *
-+ * This function returns a code that indicates whether the scan should continue
-+ * (%LPT_SCAN_CONTINUE), whether the LEB properties should be added to the tree
-+ * in main memory (%LPT_SCAN_ADD), or whether the scan should stop
-+ * (%LPT_SCAN_STOP).
-+ */
-+static int scan_check_cb(struct ubifs_info *c,
-+ const struct ubifs_lprops *lp, int in_tree,
-+ struct scan_check_data *data)
-+{
-+ struct ubifs_scan_leb *sleb;
-+ struct ubifs_scan_node *snod;
-+ struct ubifs_lp_stats *lst = &data->lst;
-+ int cat, lnum = lp->lnum, is_idx = 0, used = 0, free, dirty;
-+
-+ cat = lp->flags & LPROPS_CAT_MASK;
-+ if (cat != LPROPS_UNCAT) {
-+ cat = ubifs_categorize_lprops(c, lp);
-+ if (cat != (lp->flags & LPROPS_CAT_MASK)) {
-+ ubifs_err("bad LEB category %d expected %d",
-+ (lp->flags & LPROPS_CAT_MASK), cat);
-+ goto out;
-+ }
-+ }
-+
-+ /* Check lp is on its category list (if it has one) */
-+ if (in_tree) {
-+ struct list_head *list = NULL;
-+
-+ switch (cat) {
-+ case LPROPS_EMPTY:
-+ list = &c->empty_list;
-+ break;
-+ case LPROPS_FREEABLE:
-+ list = &c->freeable_list;
-+ break;
-+ case LPROPS_FRDI_IDX:
-+ list = &c->frdi_idx_list;
-+ break;
-+ case LPROPS_UNCAT:
-+ list = &c->uncat_list;
-+ break;
-+ }
-+ if (list) {
-+ struct ubifs_lprops *lprops;
-+ int found = 0;
-+
-+ list_for_each_entry(lprops, list, list) {
-+ if (lprops == lp) {
-+ found = 1;
-+ break;
-+ }
-+ }
-+ if (!found) {
-+ ubifs_err("bad LPT list (category %d)", cat);
-+ goto out;
-+ }
-+ }
-+ }
-+
-+ /* Check lp is on its category heap (if it has one) */
-+ if (in_tree && cat > 0 && cat <= LPROPS_HEAP_CNT) {
-+ struct ubifs_lpt_heap *heap = &c->lpt_heap[cat - 1];
-+
-+ if ((lp->hpos != -1 && heap->arr[lp->hpos]->lnum != lnum) ||
-+ lp != heap->arr[lp->hpos]) {
-+ ubifs_err("bad LPT heap (category %d)", cat);
-+ goto out;
-+ }
-+ }
-+
-+ sleb = ubifs_scan(c, lnum, 0, c->dbg->buf);
-+ if (IS_ERR(sleb)) {
-+ /*
-+ * After an unclean unmount, empty and freeable LEBs
-+ * may contain garbage.
-+ */
-+ if (lp->free == c->leb_size) {
-+ ubifs_err("scan errors were in empty LEB "
-+ "- continuing checking");
-+ lst->empty_lebs += 1;
-+ lst->total_free += c->leb_size;
-+ lst->total_dark += calc_dark(c, c->leb_size);
-+ return LPT_SCAN_CONTINUE;
-+ }
-+
-+ if (lp->free + lp->dirty == c->leb_size &&
-+ !(lp->flags & LPROPS_INDEX)) {
-+ ubifs_err("scan errors were in freeable LEB "
-+ "- continuing checking");
-+ lst->total_free += lp->free;
-+ lst->total_dirty += lp->dirty;
-+ lst->total_dark += calc_dark(c, c->leb_size);
-+ return LPT_SCAN_CONTINUE;
-+ }
-+ data->err = PTR_ERR(sleb);
-+ return LPT_SCAN_STOP;
-+ }
-+
-+ is_idx = -1;
-+ list_for_each_entry(snod, &sleb->nodes, list) {
-+ int found, level = 0;
-+
-+ cond_resched();
-+
-+ if (is_idx == -1)
-+ is_idx = (snod->type == UBIFS_IDX_NODE) ? 1 : 0;
-+
-+ if (is_idx && snod->type != UBIFS_IDX_NODE) {
-+ ubifs_err("indexing node in data LEB %d:%d",
-+ lnum, snod->offs);
-+ goto out_destroy;
-+ }
-+
-+ if (snod->type == UBIFS_IDX_NODE) {
-+ struct ubifs_idx_node *idx = snod->node;
-+
-+ key_read(c, ubifs_idx_key(c, idx), &snod->key);
-+ level = le16_to_cpu(idx->level);
-+ }
-+
-+ found = ubifs_tnc_has_node(c, &snod->key, level, lnum,
-+ snod->offs, is_idx);
-+ if (found) {
-+ if (found < 0)
-+ goto out_destroy;
-+ used += ALIGN(snod->len, 8);
-+ }
-+ }
-+
-+ free = c->leb_size - sleb->endpt;
-+ dirty = sleb->endpt - used;
-+
-+ if (free > c->leb_size || free < 0 || dirty > c->leb_size ||
-+ dirty < 0) {
-+ ubifs_err("bad calculated accounting for LEB %d: "
-+ "free %d, dirty %d", lnum, free, dirty);
-+ goto out_destroy;
-+ }
-+
-+ if (lp->free + lp->dirty == c->leb_size &&
-+ free + dirty == c->leb_size)
-+ if ((is_idx && !(lp->flags & LPROPS_INDEX)) ||
-+ (!is_idx && free == c->leb_size) ||
-+ lp->free == c->leb_size) {
-+ /*
-+ * Empty or freeable LEBs could contain index
-+ * nodes from an uncompleted commit due to an
-+ * unclean unmount. Or they could be empty for
-+ * the same reason. Or it may simply not have been
-+ * unmapped.
-+ */
-+ free = lp->free;
-+ dirty = lp->dirty;
-+ is_idx = 0;
-+ }
-+
-+ if (is_idx && lp->free + lp->dirty == free + dirty &&
-+ lnum != c->ihead_lnum) {
-+ /*
-+ * After an unclean unmount, an index LEB could have a different
-+ * amount of free space than the value recorded by lprops. That
-+ * is because the in-the-gaps method may use free space or
-+ * create free space (as a side-effect of using ubi_leb_change
-+ * and not writing the whole LEB). The incorrect free space
-+ * value is not a problem because the index is only ever
-+ * allocated empty LEBs, so there will never be an attempt to
-+ * write to the free space at the end of an index LEB - except
-+ * by the in-the-gaps method for which it is not a problem.
-+ */
-+ free = lp->free;
-+ dirty = lp->dirty;
-+ }
-+
-+ if (lp->free != free || lp->dirty != dirty)
-+ goto out_print;
-+
-+ if (is_idx && !(lp->flags & LPROPS_INDEX)) {
-+ if (free == c->leb_size)
-+ /* Free but not unmapped LEB, it's fine */
-+ is_idx = 0;
-+ else {
-+ ubifs_err("indexing node without indexing "
-+ "flag");
-+ goto out_print;
-+ }
-+ }
-+
-+ if (!is_idx && (lp->flags & LPROPS_INDEX)) {
-+ ubifs_err("data node with indexing flag");
-+ goto out_print;
-+ }
-+
-+ if (free == c->leb_size)
-+ lst->empty_lebs += 1;
-+
-+ if (is_idx)
-+ lst->idx_lebs += 1;
-+
-+ if (!(lp->flags & LPROPS_INDEX))
-+ lst->total_used += c->leb_size - free - dirty;
-+ lst->total_free += free;
-+ lst->total_dirty += dirty;
-+
-+ if (!(lp->flags & LPROPS_INDEX)) {
-+ int spc = free + dirty;
-+
-+ if (spc < c->dead_wm)
-+ lst->total_dead += spc;
-+ else
-+ lst->total_dark += calc_dark(c, spc);
-+ }
-+
-+ ubifs_scan_destroy(sleb);
-+ return LPT_SCAN_CONTINUE;
-+
-+out_print:
-+ ubifs_err("bad accounting of LEB %d: free %d, dirty %d flags %#x, "
-+ "should be free %d, dirty %d",
-+ lnum, lp->free, lp->dirty, lp->flags, free, dirty);
-+ dbg_dump_leb(c, lnum);
-+out_destroy:
-+ ubifs_scan_destroy(sleb);
-+out:
-+ data->err = -EINVAL;
-+ return LPT_SCAN_STOP;
-+}
-+
-+/**
-+ * dbg_check_lprops - check all LEB properties.
-+ * @c: UBIFS file-system description object
-+ *
-+ * This function checks all LEB properties and makes sure they are all correct.
-+ * It returns zero if everything is fine, %-EINVAL if there is an inconsistency
-+ * and other negative error codes in case of other errors. This function is
-+ * called while the file system is locked (because of commit start), so no
-+ * additional locking is required. Note that locking the LPT mutex would cause
-+ * a circular lock dependency with the TNC mutex.
-+ */
-+int dbg_check_lprops(struct ubifs_info *c)
-+{
-+ int i, err;
-+ struct scan_check_data data;
-+ struct ubifs_lp_stats *lst = &data.lst;
-+
-+ if (!(ubifs_chk_flags & UBIFS_CHK_LPROPS))
-+ return 0;
-+
-+ /*
-+ * As we are going to scan the media, the write buffers have to be
-+ * synchronized.
-+ */
-+ for (i = 0; i < c->jhead_cnt; i++) {
-+ err = ubifs_wbuf_sync(&c->jheads[i].wbuf);
-+ if (err)
-+ return err;
-+ }
-+
-+ memset(lst, 0, sizeof(struct ubifs_lp_stats));
-+
-+ data.err = 0;
-+ err = ubifs_lpt_scan_nolock(c, c->main_first, c->leb_cnt - 1,
-+ (ubifs_lpt_scan_callback)scan_check_cb,
-+ &data);
-+ if (err && err != -ENOSPC)
-+ goto out;
-+ if (data.err) {
-+ err = data.err;
-+ goto out;
-+ }
-+
-+ if (lst->empty_lebs != c->lst.empty_lebs ||
-+ lst->idx_lebs != c->lst.idx_lebs ||
-+ lst->total_free != c->lst.total_free ||
-+ lst->total_dirty != c->lst.total_dirty ||
-+ lst->total_used != c->lst.total_used) {
-+ ubifs_err("bad overall accounting");
-+ ubifs_err("calculated: empty_lebs %d, idx_lebs %d, "
-+ "total_free %lld, total_dirty %lld, total_used %lld",
-+ lst->empty_lebs, lst->idx_lebs, lst->total_free,
-+ lst->total_dirty, lst->total_used);
-+ ubifs_err("read from lprops: empty_lebs %d, idx_lebs %d, "
-+ "total_free %lld, total_dirty %lld, total_used %lld",
-+ c->lst.empty_lebs, c->lst.idx_lebs, c->lst.total_free,
-+ c->lst.total_dirty, c->lst.total_used);
-+ err = -EINVAL;
-+ goto out;
-+ }
-+
-+ if (lst->total_dead != c->lst.total_dead ||
-+ lst->total_dark != c->lst.total_dark) {
-+ ubifs_err("bad dead/dark space accounting");
-+ ubifs_err("calculated: total_dead %lld, total_dark %lld",
-+ lst->total_dead, lst->total_dark);
-+ ubifs_err("read from lprops: total_dead %lld, total_dark %lld",
-+ c->lst.total_dead, c->lst.total_dark);
-+ err = -EINVAL;
-+ goto out;
-+ }
-+
-+ err = dbg_check_cats(c);
-+out:
-+ return err;
-+}
-+
-+#endif /* CONFIG_UBIFS_FS_DEBUG */
-diff -Nurd linux-2.6.24.orig/fs/ubifs/lpt.c linux-2.6.24/fs/ubifs/lpt.c
---- linux-2.6.24.orig/fs/ubifs/lpt.c 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.24/fs/ubifs/lpt.c 2009-04-17 09:49:28.000000000 +0200
-@@ -0,0 +1,2271 @@
-+/*
-+ * This file is part of UBIFS.
-+ *
-+ * Copyright (C) 2006-2008 Nokia Corporation.
-+ *
-+ * This program is free software; you can redistribute it and/or modify it
-+ * under the terms of the GNU General Public License version 2 as published by
-+ * the Free Software Foundation.
-+ *
-+ * 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, write to the Free Software Foundation, Inc., 51
-+ * Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
-+ *
-+ * Authors: Adrian Hunter
-+ * Artem Bityutskiy (Битюцкий Ðртём)
-+ */
-+
-+/*
-+ * This file implements the LEB properties tree (LPT) area. The LPT area
-+ * contains the LEB properties tree, a table of LPT area eraseblocks (ltab), and
-+ * (for the "big" model) a table of saved LEB numbers (lsave). The LPT area sits
-+ * between the log and the orphan area.
-+ *
-+ * The LPT area is like a miniature self-contained file system. It is required
-+ * that it never runs out of space, is fast to access and update, and scales
-+ * logarithmically. The LEB properties tree is implemented as a wandering tree
-+ * much like the TNC, and the LPT area has its own garbage collection.
-+ *
-+ * The LPT has two slightly different forms called the "small model" and the
-+ * "big model". The small model is used when the entire LEB properties table
-+ * can be written into a single eraseblock. In that case, garbage collection
-+ * consists of just writing the whole table, which therefore makes all other
-+ * eraseblocks reusable. In the case of the big model, dirty eraseblocks are
-+ * selected for garbage collection, which consists of marking the clean nodes in
-+ * that LEB as dirty, and then only the dirty nodes are written out. Also, in
-+ * the case of the big model, a table of LEB numbers is saved so that the entire
-+ * LPT does not to be scanned looking for empty eraseblocks when UBIFS is first
-+ * mounted.
-+ */
-+
-+#include "ubifs.h"
-+#include <linux/crc16.h>
-+
-+/**
-+ * do_calc_lpt_geom - calculate sizes for the LPT area.
-+ * @c: the UBIFS file-system description object
-+ *
-+ * Calculate the sizes of LPT bit fields, nodes, and tree, based on the
-+ * properties of the flash and whether LPT is "big" (c->big_lpt).
-+ */
-+static void do_calc_lpt_geom(struct ubifs_info *c)
-+{
-+ int i, n, bits, per_leb_wastage, max_pnode_cnt;
-+ long long sz, tot_wastage;
-+
-+ n = c->main_lebs + c->max_leb_cnt - c->leb_cnt;
-+ max_pnode_cnt = DIV_ROUND_UP(n, UBIFS_LPT_FANOUT);
-+
-+ c->lpt_hght = 1;
-+ n = UBIFS_LPT_FANOUT;
-+ while (n < max_pnode_cnt) {
-+ c->lpt_hght += 1;
-+ n <<= UBIFS_LPT_FANOUT_SHIFT;
-+ }
-+
-+ c->pnode_cnt = DIV_ROUND_UP(c->main_lebs, UBIFS_LPT_FANOUT);
-+
-+ n = DIV_ROUND_UP(c->pnode_cnt, UBIFS_LPT_FANOUT);
-+ c->nnode_cnt = n;
-+ for (i = 1; i < c->lpt_hght; i++) {
-+ n = DIV_ROUND_UP(n, UBIFS_LPT_FANOUT);
-+ c->nnode_cnt += n;
-+ }
-+
-+ c->space_bits = fls(c->leb_size) - 3;
-+ c->lpt_lnum_bits = fls(c->lpt_lebs);
-+ c->lpt_offs_bits = fls(c->leb_size - 1);
-+ c->lpt_spc_bits = fls(c->leb_size);
-+
-+ n = DIV_ROUND_UP(c->max_leb_cnt, UBIFS_LPT_FANOUT);
-+ c->pcnt_bits = fls(n - 1);
-+
-+ c->lnum_bits = fls(c->max_leb_cnt - 1);
-+
-+ bits = UBIFS_LPT_CRC_BITS + UBIFS_LPT_TYPE_BITS +
-+ (c->big_lpt ? c->pcnt_bits : 0) +
-+ (c->space_bits * 2 + 1) * UBIFS_LPT_FANOUT;
-+ c->pnode_sz = (bits + 7) / 8;
-+
-+ bits = UBIFS_LPT_CRC_BITS + UBIFS_LPT_TYPE_BITS +
-+ (c->big_lpt ? c->pcnt_bits : 0) +
-+ (c->lpt_lnum_bits + c->lpt_offs_bits) * UBIFS_LPT_FANOUT;
-+ c->nnode_sz = (bits + 7) / 8;
-+
-+ bits = UBIFS_LPT_CRC_BITS + UBIFS_LPT_TYPE_BITS +
-+ c->lpt_lebs * c->lpt_spc_bits * 2;
-+ c->ltab_sz = (bits + 7) / 8;
-+
-+ bits = UBIFS_LPT_CRC_BITS + UBIFS_LPT_TYPE_BITS +
-+ c->lnum_bits * c->lsave_cnt;
-+ c->lsave_sz = (bits + 7) / 8;
-+
-+ /* Calculate the minimum LPT size */
-+ c->lpt_sz = (long long)c->pnode_cnt * c->pnode_sz;
-+ c->lpt_sz += (long long)c->nnode_cnt * c->nnode_sz;
-+ c->lpt_sz += c->ltab_sz;
-+ if (c->big_lpt)
-+ c->lpt_sz += c->lsave_sz;
-+
-+ /* Add wastage */
-+ sz = c->lpt_sz;
-+ per_leb_wastage = max_t(int, c->pnode_sz, c->nnode_sz);
-+ sz += per_leb_wastage;
-+ tot_wastage = per_leb_wastage;
-+ while (sz > c->leb_size) {
-+ sz += per_leb_wastage;
-+ sz -= c->leb_size;
-+ tot_wastage += per_leb_wastage;
-+ }
-+ tot_wastage += ALIGN(sz, c->min_io_size) - sz;
-+ c->lpt_sz += tot_wastage;
-+}
-+
-+/**
-+ * ubifs_calc_lpt_geom - calculate and check sizes for the LPT area.
-+ * @c: the UBIFS file-system description object
-+ *
-+ * This function returns %0 on success and a negative error code on failure.
-+ */
-+int ubifs_calc_lpt_geom(struct ubifs_info *c)
-+{
-+ int lebs_needed;
-+ long long sz;
-+
-+ do_calc_lpt_geom(c);
-+
-+ /* Verify that lpt_lebs is big enough */
-+ sz = c->lpt_sz * 2; /* Must have at least 2 times the size */
-+ lebs_needed = div_u64(sz + c->leb_size - 1, c->leb_size);
-+ if (lebs_needed > c->lpt_lebs) {
-+ ubifs_err("too few LPT LEBs");
-+ return -EINVAL;
-+ }
-+
-+ /* Verify that ltab fits in a single LEB (since ltab is a single node */
-+ if (c->ltab_sz > c->leb_size) {
-+ ubifs_err("LPT ltab too big");
-+ return -EINVAL;
-+ }
-+
-+ c->check_lpt_free = c->big_lpt;
-+ return 0;
-+}
-+
-+/**
-+ * calc_dflt_lpt_geom - calculate default LPT geometry.
-+ * @c: the UBIFS file-system description object
-+ * @main_lebs: number of main area LEBs is passed and returned here
-+ * @big_lpt: whether the LPT area is "big" is returned here
-+ *
-+ * The size of the LPT area depends on parameters that themselves are dependent
-+ * on the size of the LPT area. This function, successively recalculates the LPT
-+ * area geometry until the parameters and resultant geometry are consistent.
-+ *
-+ * This function returns %0 on success and a negative error code on failure.
-+ */
-+static int calc_dflt_lpt_geom(struct ubifs_info *c, int *main_lebs,
-+ int *big_lpt)
-+{
-+ int i, lebs_needed;
-+ long long sz;
-+
-+ /* Start by assuming the minimum number of LPT LEBs */
-+ c->lpt_lebs = UBIFS_MIN_LPT_LEBS;
-+ c->main_lebs = *main_lebs - c->lpt_lebs;
-+ if (c->main_lebs <= 0)
-+ return -EINVAL;
-+
-+ /* And assume we will use the small LPT model */
-+ c->big_lpt = 0;
-+
-+ /*
-+ * Calculate the geometry based on assumptions above and then see if it
-+ * makes sense
-+ */
-+ do_calc_lpt_geom(c);
-+
-+ /* Small LPT model must have lpt_sz < leb_size */
-+ if (c->lpt_sz > c->leb_size) {
-+ /* Nope, so try again using big LPT model */
-+ c->big_lpt = 1;
-+ do_calc_lpt_geom(c);
-+ }
-+
-+ /* Now check there are enough LPT LEBs */
-+ for (i = 0; i < 64 ; i++) {
-+ sz = c->lpt_sz * 4; /* Allow 4 times the size */
-+ lebs_needed = div_u64(sz + c->leb_size - 1, c->leb_size);
-+ if (lebs_needed > c->lpt_lebs) {
-+ /* Not enough LPT LEBs so try again with more */
-+ c->lpt_lebs = lebs_needed;
-+ c->main_lebs = *main_lebs - c->lpt_lebs;
-+ if (c->main_lebs <= 0)
-+ return -EINVAL;
-+ do_calc_lpt_geom(c);
-+ continue;
-+ }
-+ if (c->ltab_sz > c->leb_size) {
-+ ubifs_err("LPT ltab too big");
-+ return -EINVAL;
-+ }
-+ *main_lebs = c->main_lebs;
-+ *big_lpt = c->big_lpt;
-+ return 0;
-+ }
-+ return -EINVAL;
-+}
-+
-+/**
-+ * pack_bits - pack bit fields end-to-end.
-+ * @addr: address at which to pack (passed and next address returned)
-+ * @pos: bit position at which to pack (passed and next position returned)
-+ * @val: value to pack
-+ * @nrbits: number of bits of value to pack (1-32)
-+ */
-+static void pack_bits(uint8_t **addr, int *pos, uint32_t val, int nrbits)
-+{
-+ uint8_t *p = *addr;
-+ int b = *pos;
-+
-+ ubifs_assert(nrbits > 0);
-+ ubifs_assert(nrbits <= 32);
-+ ubifs_assert(*pos >= 0);
-+ ubifs_assert(*pos < 8);
-+ ubifs_assert((val >> nrbits) == 0 || nrbits == 32);
-+ if (b) {
-+ *p |= ((uint8_t)val) << b;
-+ nrbits += b;
-+ if (nrbits > 8) {
-+ *++p = (uint8_t)(val >>= (8 - b));
-+ if (nrbits > 16) {
-+ *++p = (uint8_t)(val >>= 8);
-+ if (nrbits > 24) {
-+ *++p = (uint8_t)(val >>= 8);
-+ if (nrbits > 32)
-+ *++p = (uint8_t)(val >>= 8);
-+ }
-+ }
-+ }
-+ } else {
-+ *p = (uint8_t)val;
-+ if (nrbits > 8) {
-+ *++p = (uint8_t)(val >>= 8);
-+ if (nrbits > 16) {
-+ *++p = (uint8_t)(val >>= 8);
-+ if (nrbits > 24)
-+ *++p = (uint8_t)(val >>= 8);
-+ }
-+ }
-+ }
-+ b = nrbits & 7;
-+ if (b == 0)
-+ p++;
-+ *addr = p;
-+ *pos = b;
-+}
-+
-+/**
-+ * ubifs_unpack_bits - unpack bit fields.
-+ * @addr: address at which to unpack (passed and next address returned)
-+ * @pos: bit position at which to unpack (passed and next position returned)
-+ * @nrbits: number of bits of value to unpack (1-32)
-+ *
-+ * This functions returns the value unpacked.
-+ */
-+uint32_t ubifs_unpack_bits(uint8_t **addr, int *pos, int nrbits)
-+{
-+ const int k = 32 - nrbits;
-+ uint8_t *p = *addr;
-+ int b = *pos;
-+ uint32_t uninitialized_var(val);
-+ const int bytes = (nrbits + b + 7) >> 3;
-+
-+ ubifs_assert(nrbits > 0);
-+ ubifs_assert(nrbits <= 32);
-+ ubifs_assert(*pos >= 0);
-+ ubifs_assert(*pos < 8);
-+ if (b) {
-+ switch (bytes) {
-+ case 2:
-+ val = p[1];
-+ break;
-+ case 3:
-+ val = p[1] | ((uint32_t)p[2] << 8);
-+ break;
-+ case 4:
-+ val = p[1] | ((uint32_t)p[2] << 8) |
-+ ((uint32_t)p[3] << 16);
-+ break;
-+ case 5:
-+ val = p[1] | ((uint32_t)p[2] << 8) |
-+ ((uint32_t)p[3] << 16) |
-+ ((uint32_t)p[4] << 24);
-+ }
-+ val <<= (8 - b);
-+ val |= *p >> b;
-+ nrbits += b;
-+ } else {
-+ switch (bytes) {
-+ case 1:
-+ val = p[0];
-+ break;
-+ case 2:
-+ val = p[0] | ((uint32_t)p[1] << 8);
-+ break;
-+ case 3:
-+ val = p[0] | ((uint32_t)p[1] << 8) |
-+ ((uint32_t)p[2] << 16);
-+ break;
-+ case 4:
-+ val = p[0] | ((uint32_t)p[1] << 8) |
-+ ((uint32_t)p[2] << 16) |
-+ ((uint32_t)p[3] << 24);
-+ break;
-+ }
-+ }
-+ val <<= k;
-+ val >>= k;
-+ b = nrbits & 7;
-+ p += nrbits >> 3;
-+ *addr = p;
-+ *pos = b;
-+ ubifs_assert((val >> nrbits) == 0 || nrbits - b == 32);
-+ return val;
-+}
-+
-+/**
-+ * ubifs_pack_pnode - pack all the bit fields of a pnode.
-+ * @c: UBIFS file-system description object
-+ * @buf: buffer into which to pack
-+ * @pnode: pnode to pack
-+ */
-+void ubifs_pack_pnode(struct ubifs_info *c, void *buf,
-+ struct ubifs_pnode *pnode)
-+{
-+ uint8_t *addr = buf + UBIFS_LPT_CRC_BYTES;
-+ int i, pos = 0;
-+ uint16_t crc;
-+
-+ pack_bits(&addr, &pos, UBIFS_LPT_PNODE, UBIFS_LPT_TYPE_BITS);
-+ if (c->big_lpt)
-+ pack_bits(&addr, &pos, pnode->num, c->pcnt_bits);
-+ for (i = 0; i < UBIFS_LPT_FANOUT; i++) {
-+ pack_bits(&addr, &pos, pnode->lprops[i].free >> 3,
-+ c->space_bits);
-+ pack_bits(&addr, &pos, pnode->lprops[i].dirty >> 3,
-+ c->space_bits);
-+ if (pnode->lprops[i].flags & LPROPS_INDEX)
-+ pack_bits(&addr, &pos, 1, 1);
-+ else
-+ pack_bits(&addr, &pos, 0, 1);
-+ }
-+ crc = crc16(-1, buf + UBIFS_LPT_CRC_BYTES,
-+ c->pnode_sz - UBIFS_LPT_CRC_BYTES);
-+ addr = buf;
-+ pos = 0;
-+ pack_bits(&addr, &pos, crc, UBIFS_LPT_CRC_BITS);
-+}
-+
-+/**
-+ * ubifs_pack_nnode - pack all the bit fields of a nnode.
-+ * @c: UBIFS file-system description object
-+ * @buf: buffer into which to pack
-+ * @nnode: nnode to pack
-+ */
-+void ubifs_pack_nnode(struct ubifs_info *c, void *buf,
-+ struct ubifs_nnode *nnode)
-+{
-+ uint8_t *addr = buf + UBIFS_LPT_CRC_BYTES;
-+ int i, pos = 0;
-+ uint16_t crc;
-+
-+ pack_bits(&addr, &pos, UBIFS_LPT_NNODE, UBIFS_LPT_TYPE_BITS);
-+ if (c->big_lpt)
-+ pack_bits(&addr, &pos, nnode->num, c->pcnt_bits);
-+ for (i = 0; i < UBIFS_LPT_FANOUT; i++) {
-+ int lnum = nnode->nbranch[i].lnum;
-+
-+ if (lnum == 0)
-+ lnum = c->lpt_last + 1;
-+ pack_bits(&addr, &pos, lnum - c->lpt_first, c->lpt_lnum_bits);
-+ pack_bits(&addr, &pos, nnode->nbranch[i].offs,
-+ c->lpt_offs_bits);
-+ }
-+ crc = crc16(-1, buf + UBIFS_LPT_CRC_BYTES,
-+ c->nnode_sz - UBIFS_LPT_CRC_BYTES);
-+ addr = buf;
-+ pos = 0;
-+ pack_bits(&addr, &pos, crc, UBIFS_LPT_CRC_BITS);
-+}
-+
-+/**
-+ * ubifs_pack_ltab - pack the LPT's own lprops table.
-+ * @c: UBIFS file-system description object
-+ * @buf: buffer into which to pack
-+ * @ltab: LPT's own lprops table to pack
-+ */
-+void ubifs_pack_ltab(struct ubifs_info *c, void *buf,
-+ struct ubifs_lpt_lprops *ltab)
-+{
-+ uint8_t *addr = buf + UBIFS_LPT_CRC_BYTES;
-+ int i, pos = 0;
-+ uint16_t crc;
-+
-+ pack_bits(&addr, &pos, UBIFS_LPT_LTAB, UBIFS_LPT_TYPE_BITS);
-+ for (i = 0; i < c->lpt_lebs; i++) {
-+ pack_bits(&addr, &pos, ltab[i].free, c->lpt_spc_bits);
-+ pack_bits(&addr, &pos, ltab[i].dirty, c->lpt_spc_bits);
-+ }
-+ crc = crc16(-1, buf + UBIFS_LPT_CRC_BYTES,
-+ c->ltab_sz - UBIFS_LPT_CRC_BYTES);
-+ addr = buf;
-+ pos = 0;
-+ pack_bits(&addr, &pos, crc, UBIFS_LPT_CRC_BITS);
-+}
-+
-+/**
-+ * ubifs_pack_lsave - pack the LPT's save table.
-+ * @c: UBIFS file-system description object
-+ * @buf: buffer into which to pack
-+ * @lsave: LPT's save table to pack
-+ */
-+void ubifs_pack_lsave(struct ubifs_info *c, void *buf, int *lsave)
-+{
-+ uint8_t *addr = buf + UBIFS_LPT_CRC_BYTES;
-+ int i, pos = 0;
-+ uint16_t crc;
-+
-+ pack_bits(&addr, &pos, UBIFS_LPT_LSAVE, UBIFS_LPT_TYPE_BITS);
-+ for (i = 0; i < c->lsave_cnt; i++)
-+ pack_bits(&addr, &pos, lsave[i], c->lnum_bits);
-+ crc = crc16(-1, buf + UBIFS_LPT_CRC_BYTES,
-+ c->lsave_sz - UBIFS_LPT_CRC_BYTES);
-+ addr = buf;
-+ pos = 0;
-+ pack_bits(&addr, &pos, crc, UBIFS_LPT_CRC_BITS);
-+}
-+
-+/**
-+ * ubifs_add_lpt_dirt - add dirty space to LPT LEB properties.
-+ * @c: UBIFS file-system description object
-+ * @lnum: LEB number to which to add dirty space
-+ * @dirty: amount of dirty space to add
-+ */
-+void ubifs_add_lpt_dirt(struct ubifs_info *c, int lnum, int dirty)
-+{
-+ if (!dirty || !lnum)
-+ return;
-+ dbg_lp("LEB %d add %d to %d",
-+ lnum, dirty, c->ltab[lnum - c->lpt_first].dirty);
-+ ubifs_assert(lnum >= c->lpt_first && lnum <= c->lpt_last);
-+ c->ltab[lnum - c->lpt_first].dirty += dirty;
-+}
-+
-+/**
-+ * set_ltab - set LPT LEB properties.
-+ * @c: UBIFS file-system description object
-+ * @lnum: LEB number
-+ * @free: amount of free space
-+ * @dirty: amount of dirty space
-+ */
-+static void set_ltab(struct ubifs_info *c, int lnum, int free, int dirty)
-+{
-+ dbg_lp("LEB %d free %d dirty %d to %d %d",
-+ lnum, c->ltab[lnum - c->lpt_first].free,
-+ c->ltab[lnum - c->lpt_first].dirty, free, dirty);
-+ ubifs_assert(lnum >= c->lpt_first && lnum <= c->lpt_last);
-+ c->ltab[lnum - c->lpt_first].free = free;
-+ c->ltab[lnum - c->lpt_first].dirty = dirty;
-+}
-+
-+/**
-+ * ubifs_add_nnode_dirt - add dirty space to LPT LEB properties.
-+ * @c: UBIFS file-system description object
-+ * @nnode: nnode for which to add dirt
-+ */
-+void ubifs_add_nnode_dirt(struct ubifs_info *c, struct ubifs_nnode *nnode)
-+{
-+ struct ubifs_nnode *np = nnode->parent;
-+
-+ if (np)
-+ ubifs_add_lpt_dirt(c, np->nbranch[nnode->iip].lnum,
-+ c->nnode_sz);
-+ else {
-+ ubifs_add_lpt_dirt(c, c->lpt_lnum, c->nnode_sz);
-+ if (!(c->lpt_drty_flgs & LTAB_DIRTY)) {
-+ c->lpt_drty_flgs |= LTAB_DIRTY;
-+ ubifs_add_lpt_dirt(c, c->ltab_lnum, c->ltab_sz);
-+ }
-+ }
-+}
-+
-+/**
-+ * add_pnode_dirt - add dirty space to LPT LEB properties.
-+ * @c: UBIFS file-system description object
-+ * @pnode: pnode for which to add dirt
-+ */
-+static void add_pnode_dirt(struct ubifs_info *c, struct ubifs_pnode *pnode)
-+{
-+ ubifs_add_lpt_dirt(c, pnode->parent->nbranch[pnode->iip].lnum,
-+ c->pnode_sz);
-+}
-+
-+/**
-+ * calc_nnode_num - calculate nnode number.
-+ * @row: the row in the tree (root is zero)
-+ * @col: the column in the row (leftmost is zero)
-+ *
-+ * The nnode number is a number that uniquely identifies a nnode and can be used
-+ * easily to traverse the tree from the root to that nnode.
-+ *
-+ * This function calculates and returns the nnode number for the nnode at @row
-+ * and @col.
-+ */
-+static int calc_nnode_num(int row, int col)
-+{
-+ int num, bits;
-+
-+ num = 1;
-+ while (row--) {
-+ bits = (col & (UBIFS_LPT_FANOUT - 1));
-+ col >>= UBIFS_LPT_FANOUT_SHIFT;
-+ num <<= UBIFS_LPT_FANOUT_SHIFT;
-+ num |= bits;
-+ }
-+ return num;
-+}
-+
-+/**
-+ * calc_nnode_num_from_parent - calculate nnode number.
-+ * @c: UBIFS file-system description object
-+ * @parent: parent nnode
-+ * @iip: index in parent
-+ *
-+ * The nnode number is a number that uniquely identifies a nnode and can be used
-+ * easily to traverse the tree from the root to that nnode.
-+ *
-+ * This function calculates and returns the nnode number based on the parent's
-+ * nnode number and the index in parent.
-+ */
-+static int calc_nnode_num_from_parent(const struct ubifs_info *c,
-+ struct ubifs_nnode *parent, int iip)
-+{
-+ int num, shft;
-+
-+ if (!parent)
-+ return 1;
-+ shft = (c->lpt_hght - parent->level) * UBIFS_LPT_FANOUT_SHIFT;
-+ num = parent->num ^ (1 << shft);
-+ num |= (UBIFS_LPT_FANOUT + iip) << shft;
-+ return num;
-+}
-+
-+/**
-+ * calc_pnode_num_from_parent - calculate pnode number.
-+ * @c: UBIFS file-system description object
-+ * @parent: parent nnode
-+ * @iip: index in parent
-+ *
-+ * The pnode number is a number that uniquely identifies a pnode and can be used
-+ * easily to traverse the tree from the root to that pnode.
-+ *
-+ * This function calculates and returns the pnode number based on the parent's
-+ * nnode number and the index in parent.
-+ */
-+static int calc_pnode_num_from_parent(const struct ubifs_info *c,
-+ struct ubifs_nnode *parent, int iip)
-+{
-+ int i, n = c->lpt_hght - 1, pnum = parent->num, num = 0;
-+
-+ for (i = 0; i < n; i++) {
-+ num <<= UBIFS_LPT_FANOUT_SHIFT;
-+ num |= pnum & (UBIFS_LPT_FANOUT - 1);
-+ pnum >>= UBIFS_LPT_FANOUT_SHIFT;
-+ }
-+ num <<= UBIFS_LPT_FANOUT_SHIFT;
-+ num |= iip;
-+ return num;
-+}
-+
-+/**
-+ * ubifs_create_dflt_lpt - create default LPT.
-+ * @c: UBIFS file-system description object
-+ * @main_lebs: number of main area LEBs is passed and returned here
-+ * @lpt_first: LEB number of first LPT LEB
-+ * @lpt_lebs: number of LEBs for LPT is passed and returned here
-+ * @big_lpt: use big LPT model is passed and returned here
-+ *
-+ * This function returns %0 on success and a negative error code on failure.
-+ */
-+int ubifs_create_dflt_lpt(struct ubifs_info *c, int *main_lebs, int lpt_first,
-+ int *lpt_lebs, int *big_lpt)
-+{
-+ int lnum, err = 0, node_sz, iopos, i, j, cnt, len, alen, row;
-+ int blnum, boffs, bsz, bcnt;
-+ struct ubifs_pnode *pnode = NULL;
-+ struct ubifs_nnode *nnode = NULL;
-+ void *buf = NULL, *p;
-+ struct ubifs_lpt_lprops *ltab = NULL;
-+ int *lsave = NULL;
-+
-+ err = calc_dflt_lpt_geom(c, main_lebs, big_lpt);
-+ if (err)
-+ return err;
-+ *lpt_lebs = c->lpt_lebs;
-+
-+ /* Needed by 'ubifs_pack_nnode()' and 'set_ltab()' */
-+ c->lpt_first = lpt_first;
-+ /* Needed by 'set_ltab()' */
-+ c->lpt_last = lpt_first + c->lpt_lebs - 1;
-+ /* Needed by 'ubifs_pack_lsave()' */
-+ c->main_first = c->leb_cnt - *main_lebs;
-+
-+ lsave = kmalloc(sizeof(int) * c->lsave_cnt, GFP_KERNEL);
-+ pnode = kzalloc(sizeof(struct ubifs_pnode), GFP_KERNEL);
-+ nnode = kzalloc(sizeof(struct ubifs_nnode), GFP_KERNEL);
-+ buf = vmalloc(c->leb_size);
-+ ltab = vmalloc(sizeof(struct ubifs_lpt_lprops) * c->lpt_lebs);
-+ if (!pnode || !nnode || !buf || !ltab || !lsave) {
-+ err = -ENOMEM;
-+ goto out;
-+ }
-+
-+ ubifs_assert(!c->ltab);
-+ c->ltab = ltab; /* Needed by set_ltab */
-+
-+ /* Initialize LPT's own lprops */
-+ for (i = 0; i < c->lpt_lebs; i++) {
-+ ltab[i].free = c->leb_size;
-+ ltab[i].dirty = 0;
-+ ltab[i].tgc = 0;
-+ ltab[i].cmt = 0;
-+ }
-+
-+ lnum = lpt_first;
-+ p = buf;
-+ /* Number of leaf nodes (pnodes) */
-+ cnt = c->pnode_cnt;
-+
-+ /*
-+ * The first pnode contains the LEB properties for the LEBs that contain
-+ * the root inode node and the root index node of the index tree.
-+ */
-+ node_sz = ALIGN(ubifs_idx_node_sz(c, 1), 8);
-+ iopos = ALIGN(node_sz, c->min_io_size);
-+ pnode->lprops[0].free = c->leb_size - iopos;
-+ pnode->lprops[0].dirty = iopos - node_sz;
-+ pnode->lprops[0].flags = LPROPS_INDEX;
-+
-+ node_sz = UBIFS_INO_NODE_SZ;
-+ iopos = ALIGN(node_sz, c->min_io_size);
-+ pnode->lprops[1].free = c->leb_size - iopos;
-+ pnode->lprops[1].dirty = iopos - node_sz;
-+
-+ for (i = 2; i < UBIFS_LPT_FANOUT; i++)
-+ pnode->lprops[i].free = c->leb_size;
-+
-+ /* Add first pnode */
-+ ubifs_pack_pnode(c, p, pnode);
-+ p += c->pnode_sz;
-+ len = c->pnode_sz;
-+ pnode->num += 1;
-+
-+ /* Reset pnode values for remaining pnodes */
-+ pnode->lprops[0].free = c->leb_size;
-+ pnode->lprops[0].dirty = 0;
-+ pnode->lprops[0].flags = 0;
-+
-+ pnode->lprops[1].free = c->leb_size;
-+ pnode->lprops[1].dirty = 0;
-+
-+ /*
-+ * To calculate the internal node branches, we keep information about
-+ * the level below.
-+ */
-+ blnum = lnum; /* LEB number of level below */
-+ boffs = 0; /* Offset of level below */
-+ bcnt = cnt; /* Number of nodes in level below */
-+ bsz = c->pnode_sz; /* Size of nodes in level below */
-+
-+ /* Add all remaining pnodes */
-+ for (i = 1; i < cnt; i++) {
-+ if (len + c->pnode_sz > c->leb_size) {
-+ alen = ALIGN(len, c->min_io_size);
-+ set_ltab(c, lnum, c->leb_size - alen, alen - len);
-+ memset(p, 0xff, alen - len);
-+ err = ubi_leb_change(c->ubi, lnum++, buf, alen,
-+ UBI_SHORTTERM);
-+ if (err)
-+ goto out;
-+ p = buf;
-+ len = 0;
-+ }
-+ ubifs_pack_pnode(c, p, pnode);
-+ p += c->pnode_sz;
-+ len += c->pnode_sz;
-+ /*
-+ * pnodes are simply numbered left to right starting at zero,
-+ * which means the pnode number can be used easily to traverse
-+ * down the tree to the corresponding pnode.
-+ */
-+ pnode->num += 1;
-+ }
-+
-+ row = 0;
-+ for (i = UBIFS_LPT_FANOUT; cnt > i; i <<= UBIFS_LPT_FANOUT_SHIFT)
-+ row += 1;
-+ /* Add all nnodes, one level at a time */
-+ while (1) {
-+ /* Number of internal nodes (nnodes) at next level */
-+ cnt = DIV_ROUND_UP(cnt, UBIFS_LPT_FANOUT);
-+ for (i = 0; i < cnt; i++) {
-+ if (len + c->nnode_sz > c->leb_size) {
-+ alen = ALIGN(len, c->min_io_size);
-+ set_ltab(c, lnum, c->leb_size - alen,
-+ alen - len);
-+ memset(p, 0xff, alen - len);
-+ err = ubi_leb_change(c->ubi, lnum++, buf, alen,
-+ UBI_SHORTTERM);
-+ if (err)
-+ goto out;
-+ p = buf;
-+ len = 0;
-+ }
-+ /* Only 1 nnode at this level, so it is the root */
-+ if (cnt == 1) {
-+ c->lpt_lnum = lnum;
-+ c->lpt_offs = len;
-+ }
-+ /* Set branches to the level below */
-+ for (j = 0; j < UBIFS_LPT_FANOUT; j++) {
-+ if (bcnt) {
-+ if (boffs + bsz > c->leb_size) {
-+ blnum += 1;
-+ boffs = 0;
-+ }
-+ nnode->nbranch[j].lnum = blnum;
-+ nnode->nbranch[j].offs = boffs;
-+ boffs += bsz;
-+ bcnt--;
-+ } else {
-+ nnode->nbranch[j].lnum = 0;
-+ nnode->nbranch[j].offs = 0;
-+ }
-+ }
-+ nnode->num = calc_nnode_num(row, i);
-+ ubifs_pack_nnode(c, p, nnode);
-+ p += c->nnode_sz;
-+ len += c->nnode_sz;
-+ }
-+ /* Only 1 nnode at this level, so it is the root */
-+ if (cnt == 1)
-+ break;
-+ /* Update the information about the level below */
-+ bcnt = cnt;
-+ bsz = c->nnode_sz;
-+ row -= 1;
-+ }
-+
-+ if (*big_lpt) {
-+ /* Need to add LPT's save table */
-+ if (len + c->lsave_sz > c->leb_size) {
-+ alen = ALIGN(len, c->min_io_size);
-+ set_ltab(c, lnum, c->leb_size - alen, alen - len);
-+ memset(p, 0xff, alen - len);
-+ err = ubi_leb_change(c->ubi, lnum++, buf, alen,
-+ UBI_SHORTTERM);
-+ if (err)
-+ goto out;
-+ p = buf;
-+ len = 0;
-+ }
-+
-+ c->lsave_lnum = lnum;
-+ c->lsave_offs = len;
-+
-+ for (i = 0; i < c->lsave_cnt && i < *main_lebs; i++)
-+ lsave[i] = c->main_first + i;
-+ for (; i < c->lsave_cnt; i++)
-+ lsave[i] = c->main_first;
-+
-+ ubifs_pack_lsave(c, p, lsave);
-+ p += c->lsave_sz;
-+ len += c->lsave_sz;
-+ }
-+
-+ /* Need to add LPT's own LEB properties table */
-+ if (len + c->ltab_sz > c->leb_size) {
-+ alen = ALIGN(len, c->min_io_size);
-+ set_ltab(c, lnum, c->leb_size - alen, alen - len);
-+ memset(p, 0xff, alen - len);
-+ err = ubi_leb_change(c->ubi, lnum++, buf, alen, UBI_SHORTTERM);
-+ if (err)
-+ goto out;
-+ p = buf;
-+ len = 0;
-+ }
-+
-+ c->ltab_lnum = lnum;
-+ c->ltab_offs = len;
-+
-+ /* Update ltab before packing it */
-+ len += c->ltab_sz;
-+ alen = ALIGN(len, c->min_io_size);
-+ set_ltab(c, lnum, c->leb_size - alen, alen - len);
-+
-+ ubifs_pack_ltab(c, p, ltab);
-+ p += c->ltab_sz;
-+
-+ /* Write remaining buffer */
-+ memset(p, 0xff, alen - len);
-+ err = ubi_leb_change(c->ubi, lnum, buf, alen, UBI_SHORTTERM);
-+ if (err)
-+ goto out;
-+
-+ c->nhead_lnum = lnum;
-+ c->nhead_offs = ALIGN(len, c->min_io_size);
-+
-+ dbg_lp("space_bits %d", c->space_bits);
-+ dbg_lp("lpt_lnum_bits %d", c->lpt_lnum_bits);
-+ dbg_lp("lpt_offs_bits %d", c->lpt_offs_bits);
-+ dbg_lp("lpt_spc_bits %d", c->lpt_spc_bits);
-+ dbg_lp("pcnt_bits %d", c->pcnt_bits);
-+ dbg_lp("lnum_bits %d", c->lnum_bits);
-+ dbg_lp("pnode_sz %d", c->pnode_sz);
-+ dbg_lp("nnode_sz %d", c->nnode_sz);
-+ dbg_lp("ltab_sz %d", c->ltab_sz);
-+ dbg_lp("lsave_sz %d", c->lsave_sz);
-+ dbg_lp("lsave_cnt %d", c->lsave_cnt);
-+ dbg_lp("lpt_hght %d", c->lpt_hght);
-+ dbg_lp("big_lpt %d", c->big_lpt);
-+ dbg_lp("LPT root is at %d:%d", c->lpt_lnum, c->lpt_offs);
-+ dbg_lp("LPT head is at %d:%d", c->nhead_lnum, c->nhead_offs);
-+ dbg_lp("LPT ltab is at %d:%d", c->ltab_lnum, c->ltab_offs);
-+ if (c->big_lpt)
-+ dbg_lp("LPT lsave is at %d:%d", c->lsave_lnum, c->lsave_offs);
-+out:
-+ c->ltab = NULL;
-+ kfree(lsave);
-+ vfree(ltab);
-+ vfree(buf);
-+ kfree(nnode);
-+ kfree(pnode);
-+ return err;
-+}
-+
-+/**
-+ * update_cats - add LEB properties of a pnode to LEB category lists and heaps.
-+ * @c: UBIFS file-system description object
-+ * @pnode: pnode
-+ *
-+ * When a pnode is loaded into memory, the LEB properties it contains are added,
-+ * by this function, to the LEB category lists and heaps.
-+ */
-+static void update_cats(struct ubifs_info *c, struct ubifs_pnode *pnode)
-+{
-+ int i;
-+
-+ for (i = 0; i < UBIFS_LPT_FANOUT; i++) {
-+ int cat = pnode->lprops[i].flags & LPROPS_CAT_MASK;
-+ int lnum = pnode->lprops[i].lnum;
-+
-+ if (!lnum)
-+ return;
-+ ubifs_add_to_cat(c, &pnode->lprops[i], cat);
-+ }
-+}
-+
-+/**
-+ * replace_cats - add LEB properties of a pnode to LEB category lists and heaps.
-+ * @c: UBIFS file-system description object
-+ * @old_pnode: pnode copied
-+ * @new_pnode: pnode copy
-+ *
-+ * During commit it is sometimes necessary to copy a pnode
-+ * (see dirty_cow_pnode). When that happens, references in
-+ * category lists and heaps must be replaced. This function does that.
-+ */
-+static void replace_cats(struct ubifs_info *c, struct ubifs_pnode *old_pnode,
-+ struct ubifs_pnode *new_pnode)
-+{
-+ int i;
-+
-+ for (i = 0; i < UBIFS_LPT_FANOUT; i++) {
-+ if (!new_pnode->lprops[i].lnum)
-+ return;
-+ ubifs_replace_cat(c, &old_pnode->lprops[i],
-+ &new_pnode->lprops[i]);
-+ }
-+}
-+
-+/**
-+ * check_lpt_crc - check LPT node crc is correct.
-+ * @c: UBIFS file-system description object
-+ * @buf: buffer containing node
-+ * @len: length of node
-+ *
-+ * This function returns %0 on success and a negative error code on failure.
-+ */
-+static int check_lpt_crc(void *buf, int len)
-+{
-+ int pos = 0;
-+ uint8_t *addr = buf;
-+ uint16_t crc, calc_crc;
-+
-+ crc = ubifs_unpack_bits(&addr, &pos, UBIFS_LPT_CRC_BITS);
-+ calc_crc = crc16(-1, buf + UBIFS_LPT_CRC_BYTES,
-+ len - UBIFS_LPT_CRC_BYTES);
-+ if (crc != calc_crc) {
-+ ubifs_err("invalid crc in LPT node: crc %hx calc %hx", crc,
-+ calc_crc);
-+ dbg_dump_stack();
-+ return -EINVAL;
-+ }
-+ return 0;
-+}
-+
-+/**
-+ * check_lpt_type - check LPT node type is correct.
-+ * @c: UBIFS file-system description object
-+ * @addr: address of type bit field is passed and returned updated here
-+ * @pos: position of type bit field is passed and returned updated here
-+ * @type: expected type
-+ *
-+ * This function returns %0 on success and a negative error code on failure.
-+ */
-+static int check_lpt_type(uint8_t **addr, int *pos, int type)
-+{
-+ int node_type;
-+
-+ node_type = ubifs_unpack_bits(addr, pos, UBIFS_LPT_TYPE_BITS);
-+ if (node_type != type) {
-+ ubifs_err("invalid type (%d) in LPT node type %d", node_type,
-+ type);
-+ dbg_dump_stack();
-+ return -EINVAL;
-+ }
-+ return 0;
-+}
-+
-+/**
-+ * unpack_pnode - unpack a pnode.
-+ * @c: UBIFS file-system description object
-+ * @buf: buffer containing packed pnode to unpack
-+ * @pnode: pnode structure to fill
-+ *
-+ * This function returns %0 on success and a negative error code on failure.
-+ */
-+static int unpack_pnode(const struct ubifs_info *c, void *buf,
-+ struct ubifs_pnode *pnode)
-+{
-+ uint8_t *addr = buf + UBIFS_LPT_CRC_BYTES;
-+ int i, pos = 0, err;
-+
-+ err = check_lpt_type(&addr, &pos, UBIFS_LPT_PNODE);
-+ if (err)
-+ return err;
-+ if (c->big_lpt)
-+ pnode->num = ubifs_unpack_bits(&addr, &pos, c->pcnt_bits);
-+ for (i = 0; i < UBIFS_LPT_FANOUT; i++) {
-+ struct ubifs_lprops * const lprops = &pnode->lprops[i];
-+
-+ lprops->free = ubifs_unpack_bits(&addr, &pos, c->space_bits);
-+ lprops->free <<= 3;
-+ lprops->dirty = ubifs_unpack_bits(&addr, &pos, c->space_bits);
-+ lprops->dirty <<= 3;
-+
-+ if (ubifs_unpack_bits(&addr, &pos, 1))
-+ lprops->flags = LPROPS_INDEX;
-+ else
-+ lprops->flags = 0;
-+ lprops->flags |= ubifs_categorize_lprops(c, lprops);
-+ }
-+ err = check_lpt_crc(buf, c->pnode_sz);
-+ return err;
-+}
-+
-+/**
-+ * ubifs_unpack_nnode - unpack a nnode.
-+ * @c: UBIFS file-system description object
-+ * @buf: buffer containing packed nnode to unpack
-+ * @nnode: nnode structure to fill
-+ *
-+ * This function returns %0 on success and a negative error code on failure.
-+ */
-+int ubifs_unpack_nnode(const struct ubifs_info *c, void *buf,
-+ struct ubifs_nnode *nnode)
-+{
-+ uint8_t *addr = buf + UBIFS_LPT_CRC_BYTES;
-+ int i, pos = 0, err;
-+
-+ err = check_lpt_type(&addr, &pos, UBIFS_LPT_NNODE);
-+ if (err)
-+ return err;
-+ if (c->big_lpt)
-+ nnode->num = ubifs_unpack_bits(&addr, &pos, c->pcnt_bits);
-+ for (i = 0; i < UBIFS_LPT_FANOUT; i++) {
-+ int lnum;
-+
-+ lnum = ubifs_unpack_bits(&addr, &pos, c->lpt_lnum_bits) +
-+ c->lpt_first;
-+ if (lnum == c->lpt_last + 1)
-+ lnum = 0;
-+ nnode->nbranch[i].lnum = lnum;
-+ nnode->nbranch[i].offs = ubifs_unpack_bits(&addr, &pos,
-+ c->lpt_offs_bits);
-+ }
-+ err = check_lpt_crc(buf, c->nnode_sz);
-+ return err;
-+}
-+
-+/**
-+ * unpack_ltab - unpack the LPT's own lprops table.
-+ * @c: UBIFS file-system description object
-+ * @buf: buffer from which to unpack
-+ *
-+ * This function returns %0 on success and a negative error code on failure.
-+ */
-+static int unpack_ltab(const struct ubifs_info *c, void *buf)
-+{
-+ uint8_t *addr = buf + UBIFS_LPT_CRC_BYTES;
-+ int i, pos = 0, err;
-+
-+ err = check_lpt_type(&addr, &pos, UBIFS_LPT_LTAB);
-+ if (err)
-+ return err;
-+ for (i = 0; i < c->lpt_lebs; i++) {
-+ int free = ubifs_unpack_bits(&addr, &pos, c->lpt_spc_bits);
-+ int dirty = ubifs_unpack_bits(&addr, &pos, c->lpt_spc_bits);
-+
-+ if (free < 0 || free > c->leb_size || dirty < 0 ||
-+ dirty > c->leb_size || free + dirty > c->leb_size)
-+ return -EINVAL;
-+
-+ c->ltab[i].free = free;
-+ c->ltab[i].dirty = dirty;
-+ c->ltab[i].tgc = 0;
-+ c->ltab[i].cmt = 0;
-+ }
-+ err = check_lpt_crc(buf, c->ltab_sz);
-+ return err;
-+}
-+
-+/**
-+ * unpack_lsave - unpack the LPT's save table.
-+ * @c: UBIFS file-system description object
-+ * @buf: buffer from which to unpack
-+ *
-+ * This function returns %0 on success and a negative error code on failure.
-+ */
-+static int unpack_lsave(const struct ubifs_info *c, void *buf)
-+{
-+ uint8_t *addr = buf + UBIFS_LPT_CRC_BYTES;
-+ int i, pos = 0, err;
-+
-+ err = check_lpt_type(&addr, &pos, UBIFS_LPT_LSAVE);
-+ if (err)
-+ return err;
-+ for (i = 0; i < c->lsave_cnt; i++) {
-+ int lnum = ubifs_unpack_bits(&addr, &pos, c->lnum_bits);
-+
-+ if (lnum < c->main_first || lnum >= c->leb_cnt)
-+ return -EINVAL;
-+ c->lsave[i] = lnum;
-+ }
-+ err = check_lpt_crc(buf, c->lsave_sz);
-+ return err;
-+}
-+
-+/**
-+ * validate_nnode - validate a nnode.
-+ * @c: UBIFS file-system description object
-+ * @nnode: nnode to validate
-+ * @parent: parent nnode (or NULL for the root nnode)
-+ * @iip: index in parent
-+ *
-+ * This function returns %0 on success and a negative error code on failure.
-+ */
-+static int validate_nnode(const struct ubifs_info *c, struct ubifs_nnode *nnode,
-+ struct ubifs_nnode *parent, int iip)
-+{
-+ int i, lvl, max_offs;
-+
-+ if (c->big_lpt) {
-+ int num = calc_nnode_num_from_parent(c, parent, iip);
-+
-+ if (nnode->num != num)
-+ return -EINVAL;
-+ }
-+ lvl = parent ? parent->level - 1 : c->lpt_hght;
-+ if (lvl < 1)
-+ return -EINVAL;
-+ if (lvl == 1)
-+ max_offs = c->leb_size - c->pnode_sz;
-+ else
-+ max_offs = c->leb_size - c->nnode_sz;
-+ for (i = 0; i < UBIFS_LPT_FANOUT; i++) {
-+ int lnum = nnode->nbranch[i].lnum;
-+ int offs = nnode->nbranch[i].offs;
-+
-+ if (lnum == 0) {
-+ if (offs != 0)
-+ return -EINVAL;
-+ continue;
-+ }
-+ if (lnum < c->lpt_first || lnum > c->lpt_last)
-+ return -EINVAL;
-+ if (offs < 0 || offs > max_offs)
-+ return -EINVAL;
-+ }
-+ return 0;
-+}
-+
-+/**
-+ * validate_pnode - validate a pnode.
-+ * @c: UBIFS file-system description object
-+ * @pnode: pnode to validate
-+ * @parent: parent nnode
-+ * @iip: index in parent
-+ *
-+ * This function returns %0 on success and a negative error code on failure.
-+ */
-+static int validate_pnode(const struct ubifs_info *c, struct ubifs_pnode *pnode,
-+ struct ubifs_nnode *parent, int iip)
-+{
-+ int i;
-+
-+ if (c->big_lpt) {
-+ int num = calc_pnode_num_from_parent(c, parent, iip);
-+
-+ if (pnode->num != num)
-+ return -EINVAL;
-+ }
-+ for (i = 0; i < UBIFS_LPT_FANOUT; i++) {
-+ int free = pnode->lprops[i].free;
-+ int dirty = pnode->lprops[i].dirty;
-+
-+ if (free < 0 || free > c->leb_size || free % c->min_io_size ||
-+ (free & 7))
-+ return -EINVAL;
-+ if (dirty < 0 || dirty > c->leb_size || (dirty & 7))
-+ return -EINVAL;
-+ if (dirty + free > c->leb_size)
-+ return -EINVAL;
-+ }
-+ return 0;
-+}
-+
-+/**
-+ * set_pnode_lnum - set LEB numbers on a pnode.
-+ * @c: UBIFS file-system description object
-+ * @pnode: pnode to update
-+ *
-+ * This function calculates the LEB numbers for the LEB properties it contains
-+ * based on the pnode number.
-+ */
-+static void set_pnode_lnum(const struct ubifs_info *c,
-+ struct ubifs_pnode *pnode)
-+{
-+ int i, lnum;
-+
-+ lnum = (pnode->num << UBIFS_LPT_FANOUT_SHIFT) + c->main_first;
-+ for (i = 0; i < UBIFS_LPT_FANOUT; i++) {
-+ if (lnum >= c->leb_cnt)
-+ return;
-+ pnode->lprops[i].lnum = lnum++;
-+ }
-+}
-+
-+/**
-+ * ubifs_read_nnode - read a nnode from flash and link it to the tree in memory.
-+ * @c: UBIFS file-system description object
-+ * @parent: parent nnode (or NULL for the root)
-+ * @iip: index in parent
-+ *
-+ * This function returns %0 on success and a negative error code on failure.
-+ */
-+int ubifs_read_nnode(struct ubifs_info *c, struct ubifs_nnode *parent, int iip)
-+{
-+ struct ubifs_nbranch *branch = NULL;
-+ struct ubifs_nnode *nnode = NULL;
-+ void *buf = c->lpt_nod_buf;
-+ int err, lnum, offs;
-+
-+ if (parent) {
-+ branch = &parent->nbranch[iip];
-+ lnum = branch->lnum;
-+ offs = branch->offs;
-+ } else {
-+ lnum = c->lpt_lnum;
-+ offs = c->lpt_offs;
-+ }
-+ nnode = kzalloc(sizeof(struct ubifs_nnode), GFP_NOFS);
-+ if (!nnode) {
-+ err = -ENOMEM;
-+ goto out;
-+ }
-+ if (lnum == 0) {
-+ /*
-+ * This nnode was not written which just means that the LEB
-+ * properties in the subtree below it describe empty LEBs. We
-+ * make the nnode as though we had read it, which in fact means
-+ * doing almost nothing.
-+ */
-+ if (c->big_lpt)
-+ nnode->num = calc_nnode_num_from_parent(c, parent, iip);
-+ } else {
-+ err = ubi_read(c->ubi, lnum, buf, offs, c->nnode_sz);
-+ if (err)
-+ goto out;
-+ err = ubifs_unpack_nnode(c, buf, nnode);
-+ if (err)
-+ goto out;
-+ }
-+ err = validate_nnode(c, nnode, parent, iip);
-+ if (err)
-+ goto out;
-+ if (!c->big_lpt)
-+ nnode->num = calc_nnode_num_from_parent(c, parent, iip);
-+ if (parent) {
-+ branch->nnode = nnode;
-+ nnode->level = parent->level - 1;
-+ } else {
-+ c->nroot = nnode;
-+ nnode->level = c->lpt_hght;
-+ }
-+ nnode->parent = parent;
-+ nnode->iip = iip;
-+ return 0;
-+
-+out:
-+ ubifs_err("error %d reading nnode at %d:%d", err, lnum, offs);
-+ kfree(nnode);
-+ return err;
-+}
-+
-+/**
-+ * read_pnode - read a pnode from flash and link it to the tree in memory.
-+ * @c: UBIFS file-system description object
-+ * @parent: parent nnode
-+ * @iip: index in parent
-+ *
-+ * This function returns %0 on success and a negative error code on failure.
-+ */
-+static int read_pnode(struct ubifs_info *c, struct ubifs_nnode *parent, int iip)
-+{
-+ struct ubifs_nbranch *branch;
-+ struct ubifs_pnode *pnode = NULL;
-+ void *buf = c->lpt_nod_buf;
-+ int err, lnum, offs;
-+
-+ branch = &parent->nbranch[iip];
-+ lnum = branch->lnum;
-+ offs = branch->offs;
-+ pnode = kzalloc(sizeof(struct ubifs_pnode), GFP_NOFS);
-+ if (!pnode) {
-+ err = -ENOMEM;
-+ goto out;
-+ }
-+ if (lnum == 0) {
-+ /*
-+ * This pnode was not written which just means that the LEB
-+ * properties in it describe empty LEBs. We make the pnode as
-+ * though we had read it.
-+ */
-+ int i;
-+
-+ if (c->big_lpt)
-+ pnode->num = calc_pnode_num_from_parent(c, parent, iip);
-+ for (i = 0; i < UBIFS_LPT_FANOUT; i++) {
-+ struct ubifs_lprops * const lprops = &pnode->lprops[i];
-+
-+ lprops->free = c->leb_size;
-+ lprops->flags = ubifs_categorize_lprops(c, lprops);
-+ }
-+ } else {
-+ err = ubi_read(c->ubi, lnum, buf, offs, c->pnode_sz);
-+ if (err)
-+ goto out;
-+ err = unpack_pnode(c, buf, pnode);
-+ if (err)
-+ goto out;
-+ }
-+ err = validate_pnode(c, pnode, parent, iip);
-+ if (err)
-+ goto out;
-+ if (!c->big_lpt)
-+ pnode->num = calc_pnode_num_from_parent(c, parent, iip);
-+ branch->pnode = pnode;
-+ pnode->parent = parent;
-+ pnode->iip = iip;
-+ set_pnode_lnum(c, pnode);
-+ c->pnodes_have += 1;
-+ return 0;
-+
-+out:
-+ ubifs_err("error %d reading pnode at %d:%d", err, lnum, offs);
-+ dbg_dump_pnode(c, pnode, parent, iip);
-+ dbg_msg("calc num: %d", calc_pnode_num_from_parent(c, parent, iip));
-+ kfree(pnode);
-+ return err;
-+}
-+
-+/**
-+ * read_ltab - read LPT's own lprops table.
-+ * @c: UBIFS file-system description object
-+ *
-+ * This function returns %0 on success and a negative error code on failure.
-+ */
-+static int read_ltab(struct ubifs_info *c)
-+{
-+ int err;
-+ void *buf;
-+
-+ buf = vmalloc(c->ltab_sz);
-+ if (!buf)
-+ return -ENOMEM;
-+ err = ubi_read(c->ubi, c->ltab_lnum, buf, c->ltab_offs, c->ltab_sz);
-+ if (err)
-+ goto out;
-+ err = unpack_ltab(c, buf);
-+out:
-+ vfree(buf);
-+ return err;
-+}
-+
-+/**
-+ * read_lsave - read LPT's save table.
-+ * @c: UBIFS file-system description object
-+ *
-+ * This function returns %0 on success and a negative error code on failure.
-+ */
-+static int read_lsave(struct ubifs_info *c)
-+{
-+ int err, i;
-+ void *buf;
-+
-+ buf = vmalloc(c->lsave_sz);
-+ if (!buf)
-+ return -ENOMEM;
-+ err = ubi_read(c->ubi, c->lsave_lnum, buf, c->lsave_offs, c->lsave_sz);
-+ if (err)
-+ goto out;
-+ err = unpack_lsave(c, buf);
-+ if (err)
-+ goto out;
-+ for (i = 0; i < c->lsave_cnt; i++) {
-+ int lnum = c->lsave[i];
-+
-+ /*
-+ * Due to automatic resizing, the values in the lsave table
-+ * could be beyond the volume size - just ignore them.
-+ */
-+ if (lnum >= c->leb_cnt)
-+ continue;
-+ ubifs_lpt_lookup(c, lnum);
-+ }
-+out:
-+ vfree(buf);
-+ return err;
-+}
-+
-+/**
-+ * ubifs_get_nnode - get a nnode.
-+ * @c: UBIFS file-system description object
-+ * @parent: parent nnode (or NULL for the root)
-+ * @iip: index in parent
-+ *
-+ * This function returns a pointer to the nnode on success or a negative error
-+ * code on failure.
-+ */
-+struct ubifs_nnode *ubifs_get_nnode(struct ubifs_info *c,
-+ struct ubifs_nnode *parent, int iip)
-+{
-+ struct ubifs_nbranch *branch;
-+ struct ubifs_nnode *nnode;
-+ int err;
-+
-+ branch = &parent->nbranch[iip];
-+ nnode = branch->nnode;
-+ if (nnode)
-+ return nnode;
-+ err = ubifs_read_nnode(c, parent, iip);
-+ if (err)
-+ return ERR_PTR(err);
-+ return branch->nnode;
-+}
-+
-+/**
-+ * ubifs_get_pnode - get a pnode.
-+ * @c: UBIFS file-system description object
-+ * @parent: parent nnode
-+ * @iip: index in parent
-+ *
-+ * This function returns a pointer to the pnode on success or a negative error
-+ * code on failure.
-+ */
-+struct ubifs_pnode *ubifs_get_pnode(struct ubifs_info *c,
-+ struct ubifs_nnode *parent, int iip)
-+{
-+ struct ubifs_nbranch *branch;
-+ struct ubifs_pnode *pnode;
-+ int err;
-+
-+ branch = &parent->nbranch[iip];
-+ pnode = branch->pnode;
-+ if (pnode)
-+ return pnode;
-+ err = read_pnode(c, parent, iip);
-+ if (err)
-+ return ERR_PTR(err);
-+ update_cats(c, branch->pnode);
-+ return branch->pnode;
-+}
-+
-+/**
-+ * ubifs_lpt_lookup - lookup LEB properties in the LPT.
-+ * @c: UBIFS file-system description object
-+ * @lnum: LEB number to lookup
-+ *
-+ * This function returns a pointer to the LEB properties on success or a
-+ * negative error code on failure.
-+ */
-+struct ubifs_lprops *ubifs_lpt_lookup(struct ubifs_info *c, int lnum)
-+{
-+ int err, i, h, iip, shft;
-+ struct ubifs_nnode *nnode;
-+ struct ubifs_pnode *pnode;
-+
-+ if (!c->nroot) {
-+ err = ubifs_read_nnode(c, NULL, 0);
-+ if (err)
-+ return ERR_PTR(err);
-+ }
-+ nnode = c->nroot;
-+ i = lnum - c->main_first;
-+ shft = c->lpt_hght * UBIFS_LPT_FANOUT_SHIFT;
-+ for (h = 1; h < c->lpt_hght; h++) {
-+ iip = ((i >> shft) & (UBIFS_LPT_FANOUT - 1));
-+ shft -= UBIFS_LPT_FANOUT_SHIFT;
-+ nnode = ubifs_get_nnode(c, nnode, iip);
-+ if (IS_ERR(nnode))
-+ return ERR_PTR(PTR_ERR(nnode));
-+ }
-+ iip = ((i >> shft) & (UBIFS_LPT_FANOUT - 1));
-+ shft -= UBIFS_LPT_FANOUT_SHIFT;
-+ pnode = ubifs_get_pnode(c, nnode, iip);
-+ if (IS_ERR(pnode))
-+ return ERR_PTR(PTR_ERR(pnode));
-+ iip = (i & (UBIFS_LPT_FANOUT - 1));
-+ dbg_lp("LEB %d, free %d, dirty %d, flags %d", lnum,
-+ pnode->lprops[iip].free, pnode->lprops[iip].dirty,
-+ pnode->lprops[iip].flags);
-+ return &pnode->lprops[iip];
-+}
-+
-+/**
-+ * dirty_cow_nnode - ensure a nnode is not being committed.
-+ * @c: UBIFS file-system description object
-+ * @nnode: nnode to check
-+ *
-+ * Returns dirtied nnode on success or negative error code on failure.
-+ */
-+static struct ubifs_nnode *dirty_cow_nnode(struct ubifs_info *c,
-+ struct ubifs_nnode *nnode)
-+{
-+ struct ubifs_nnode *n;
-+ int i;
-+
-+ if (!test_bit(COW_CNODE, &nnode->flags)) {
-+ /* nnode is not being committed */
-+ if (!test_and_set_bit(DIRTY_CNODE, &nnode->flags)) {
-+ c->dirty_nn_cnt += 1;
-+ ubifs_add_nnode_dirt(c, nnode);
-+ }
-+ return nnode;
-+ }
-+
-+ /* nnode is being committed, so copy it */
-+ n = kmalloc(sizeof(struct ubifs_nnode), GFP_NOFS);
-+ if (unlikely(!n))
-+ return ERR_PTR(-ENOMEM);
-+
-+ memcpy(n, nnode, sizeof(struct ubifs_nnode));
-+ n->cnext = NULL;
-+ __set_bit(DIRTY_CNODE, &n->flags);
-+ __clear_bit(COW_CNODE, &n->flags);
-+
-+ /* The children now have new parent */
-+ for (i = 0; i < UBIFS_LPT_FANOUT; i++) {
-+ struct ubifs_nbranch *branch = &n->nbranch[i];
-+
-+ if (branch->cnode)
-+ branch->cnode->parent = n;
-+ }
-+
-+ ubifs_assert(!test_bit(OBSOLETE_CNODE, &nnode->flags));
-+ __set_bit(OBSOLETE_CNODE, &nnode->flags);
-+
-+ c->dirty_nn_cnt += 1;
-+ ubifs_add_nnode_dirt(c, nnode);
-+ if (nnode->parent)
-+ nnode->parent->nbranch[n->iip].nnode = n;
-+ else
-+ c->nroot = n;
-+ return n;
-+}
-+
-+/**
-+ * dirty_cow_pnode - ensure a pnode is not being committed.
-+ * @c: UBIFS file-system description object
-+ * @pnode: pnode to check
-+ *
-+ * Returns dirtied pnode on success or negative error code on failure.
-+ */
-+static struct ubifs_pnode *dirty_cow_pnode(struct ubifs_info *c,
-+ struct ubifs_pnode *pnode)
-+{
-+ struct ubifs_pnode *p;
-+
-+ if (!test_bit(COW_CNODE, &pnode->flags)) {
-+ /* pnode is not being committed */
-+ if (!test_and_set_bit(DIRTY_CNODE, &pnode->flags)) {
-+ c->dirty_pn_cnt += 1;
-+ add_pnode_dirt(c, pnode);
-+ }
-+ return pnode;
-+ }
-+
-+ /* pnode is being committed, so copy it */
-+ p = kmalloc(sizeof(struct ubifs_pnode), GFP_NOFS);
-+ if (unlikely(!p))
-+ return ERR_PTR(-ENOMEM);
-+
-+ memcpy(p, pnode, sizeof(struct ubifs_pnode));
-+ p->cnext = NULL;
-+ __set_bit(DIRTY_CNODE, &p->flags);
-+ __clear_bit(COW_CNODE, &p->flags);
-+ replace_cats(c, pnode, p);
-+
-+ ubifs_assert(!test_bit(OBSOLETE_CNODE, &pnode->flags));
-+ __set_bit(OBSOLETE_CNODE, &pnode->flags);
-+
-+ c->dirty_pn_cnt += 1;
-+ add_pnode_dirt(c, pnode);
-+ pnode->parent->nbranch[p->iip].pnode = p;
-+ return p;
-+}
-+
-+/**
-+ * ubifs_lpt_lookup_dirty - lookup LEB properties in the LPT.
-+ * @c: UBIFS file-system description object
-+ * @lnum: LEB number to lookup
-+ *
-+ * This function returns a pointer to the LEB properties on success or a
-+ * negative error code on failure.
-+ */
-+struct ubifs_lprops *ubifs_lpt_lookup_dirty(struct ubifs_info *c, int lnum)
-+{
-+ int err, i, h, iip, shft;
-+ struct ubifs_nnode *nnode;
-+ struct ubifs_pnode *pnode;
-+
-+ if (!c->nroot) {
-+ err = ubifs_read_nnode(c, NULL, 0);
-+ if (err)
-+ return ERR_PTR(err);
-+ }
-+ nnode = c->nroot;
-+ nnode = dirty_cow_nnode(c, nnode);
-+ if (IS_ERR(nnode))
-+ return ERR_PTR(PTR_ERR(nnode));
-+ i = lnum - c->main_first;
-+ shft = c->lpt_hght * UBIFS_LPT_FANOUT_SHIFT;
-+ for (h = 1; h < c->lpt_hght; h++) {
-+ iip = ((i >> shft) & (UBIFS_LPT_FANOUT - 1));
-+ shft -= UBIFS_LPT_FANOUT_SHIFT;
-+ nnode = ubifs_get_nnode(c, nnode, iip);
-+ if (IS_ERR(nnode))
-+ return ERR_PTR(PTR_ERR(nnode));
-+ nnode = dirty_cow_nnode(c, nnode);
-+ if (IS_ERR(nnode))
-+ return ERR_PTR(PTR_ERR(nnode));
-+ }
-+ iip = ((i >> shft) & (UBIFS_LPT_FANOUT - 1));
-+ shft -= UBIFS_LPT_FANOUT_SHIFT;
-+ pnode = ubifs_get_pnode(c, nnode, iip);
-+ if (IS_ERR(pnode))
-+ return ERR_PTR(PTR_ERR(pnode));
-+ pnode = dirty_cow_pnode(c, pnode);
-+ if (IS_ERR(pnode))
-+ return ERR_PTR(PTR_ERR(pnode));
-+ iip = (i & (UBIFS_LPT_FANOUT - 1));
-+ dbg_lp("LEB %d, free %d, dirty %d, flags %d", lnum,
-+ pnode->lprops[iip].free, pnode->lprops[iip].dirty,
-+ pnode->lprops[iip].flags);
-+ ubifs_assert(test_bit(DIRTY_CNODE, &pnode->flags));
-+ return &pnode->lprops[iip];
-+}
-+
-+/**
-+ * lpt_init_rd - initialize the LPT for reading.
-+ * @c: UBIFS file-system description object
-+ *
-+ * This function returns %0 on success and a negative error code on failure.
-+ */
-+static int lpt_init_rd(struct ubifs_info *c)
-+{
-+ int err, i;
-+
-+ c->ltab = vmalloc(sizeof(struct ubifs_lpt_lprops) * c->lpt_lebs);
-+ if (!c->ltab)
-+ return -ENOMEM;
-+
-+ i = max_t(int, c->nnode_sz, c->pnode_sz);
-+ c->lpt_nod_buf = kmalloc(i, GFP_KERNEL);
-+ if (!c->lpt_nod_buf)
-+ return -ENOMEM;
-+
-+ for (i = 0; i < LPROPS_HEAP_CNT; i++) {
-+ c->lpt_heap[i].arr = kmalloc(sizeof(void *) * LPT_HEAP_SZ,
-+ GFP_KERNEL);
-+ if (!c->lpt_heap[i].arr)
-+ return -ENOMEM;
-+ c->lpt_heap[i].cnt = 0;
-+ c->lpt_heap[i].max_cnt = LPT_HEAP_SZ;
-+ }
-+
-+ c->dirty_idx.arr = kmalloc(sizeof(void *) * LPT_HEAP_SZ, GFP_KERNEL);
-+ if (!c->dirty_idx.arr)
-+ return -ENOMEM;
-+ c->dirty_idx.cnt = 0;
-+ c->dirty_idx.max_cnt = LPT_HEAP_SZ;
-+
-+ err = read_ltab(c);
-+ if (err)
-+ return err;
-+
-+ dbg_lp("space_bits %d", c->space_bits);
-+ dbg_lp("lpt_lnum_bits %d", c->lpt_lnum_bits);
-+ dbg_lp("lpt_offs_bits %d", c->lpt_offs_bits);
-+ dbg_lp("lpt_spc_bits %d", c->lpt_spc_bits);
-+ dbg_lp("pcnt_bits %d", c->pcnt_bits);
-+ dbg_lp("lnum_bits %d", c->lnum_bits);
-+ dbg_lp("pnode_sz %d", c->pnode_sz);
-+ dbg_lp("nnode_sz %d", c->nnode_sz);
-+ dbg_lp("ltab_sz %d", c->ltab_sz);
-+ dbg_lp("lsave_sz %d", c->lsave_sz);
-+ dbg_lp("lsave_cnt %d", c->lsave_cnt);
-+ dbg_lp("lpt_hght %d", c->lpt_hght);
-+ dbg_lp("big_lpt %d", c->big_lpt);
-+ dbg_lp("LPT root is at %d:%d", c->lpt_lnum, c->lpt_offs);
-+ dbg_lp("LPT head is at %d:%d", c->nhead_lnum, c->nhead_offs);
-+ dbg_lp("LPT ltab is at %d:%d", c->ltab_lnum, c->ltab_offs);
-+ if (c->big_lpt)
-+ dbg_lp("LPT lsave is at %d:%d", c->lsave_lnum, c->lsave_offs);
-+
-+ return 0;
-+}
-+
-+/**
-+ * lpt_init_wr - initialize the LPT for writing.
-+ * @c: UBIFS file-system description object
-+ *
-+ * 'lpt_init_rd()' must have been called already.
-+ *
-+ * This function returns %0 on success and a negative error code on failure.
-+ */
-+static int lpt_init_wr(struct ubifs_info *c)
-+{
-+ int err, i;
-+
-+ c->ltab_cmt = vmalloc(sizeof(struct ubifs_lpt_lprops) * c->lpt_lebs);
-+ if (!c->ltab_cmt)
-+ return -ENOMEM;
-+
-+ c->lpt_buf = vmalloc(c->leb_size);
-+ if (!c->lpt_buf)
-+ return -ENOMEM;
-+
-+ if (c->big_lpt) {
-+ c->lsave = kmalloc(sizeof(int) * c->lsave_cnt, GFP_NOFS);
-+ if (!c->lsave)
-+ return -ENOMEM;
-+ err = read_lsave(c);
-+ if (err)
-+ return err;
-+ }
-+
-+ for (i = 0; i < c->lpt_lebs; i++)
-+ if (c->ltab[i].free == c->leb_size) {
-+ err = ubifs_leb_unmap(c, i + c->lpt_first);
-+ if (err)
-+ return err;
-+ }
-+
-+ return 0;
-+}
-+
-+/**
-+ * ubifs_lpt_init - initialize the LPT.
-+ * @c: UBIFS file-system description object
-+ * @rd: whether to initialize lpt for reading
-+ * @wr: whether to initialize lpt for writing
-+ *
-+ * For mounting 'rw', @rd and @wr are both true. For mounting 'ro', @rd is true
-+ * and @wr is false. For mounting from 'ro' to 'rw', @rd is false and @wr is
-+ * true.
-+ *
-+ * This function returns %0 on success and a negative error code on failure.
-+ */
-+int ubifs_lpt_init(struct ubifs_info *c, int rd, int wr)
-+{
-+ int err;
-+
-+ if (rd) {
-+ err = lpt_init_rd(c);
-+ if (err)
-+ return err;
-+ }
-+
-+ if (wr) {
-+ err = lpt_init_wr(c);
-+ if (err)
-+ return err;
-+ }
-+
-+ return 0;
-+}
-+
-+/**
-+ * struct lpt_scan_node - somewhere to put nodes while we scan LPT.
-+ * @nnode: where to keep a nnode
-+ * @pnode: where to keep a pnode
-+ * @cnode: where to keep a cnode
-+ * @in_tree: is the node in the tree in memory
-+ * @ptr.nnode: pointer to the nnode (if it is an nnode) which may be here or in
-+ * the tree
-+ * @ptr.pnode: ditto for pnode
-+ * @ptr.cnode: ditto for cnode
-+ */
-+struct lpt_scan_node {
-+ union {
-+ struct ubifs_nnode nnode;
-+ struct ubifs_pnode pnode;
-+ struct ubifs_cnode cnode;
-+ };
-+ int in_tree;
-+ union {
-+ struct ubifs_nnode *nnode;
-+ struct ubifs_pnode *pnode;
-+ struct ubifs_cnode *cnode;
-+ } ptr;
-+};
-+
-+/**
-+ * scan_get_nnode - for the scan, get a nnode from either the tree or flash.
-+ * @c: the UBIFS file-system description object
-+ * @path: where to put the nnode
-+ * @parent: parent of the nnode
-+ * @iip: index in parent of the nnode
-+ *
-+ * This function returns a pointer to the nnode on success or a negative error
-+ * code on failure.
-+ */
-+static struct ubifs_nnode *scan_get_nnode(struct ubifs_info *c,
-+ struct lpt_scan_node *path,
-+ struct ubifs_nnode *parent, int iip)
-+{
-+ struct ubifs_nbranch *branch;
-+ struct ubifs_nnode *nnode;
-+ void *buf = c->lpt_nod_buf;
-+ int err;
-+
-+ branch = &parent->nbranch[iip];
-+ nnode = branch->nnode;
-+ if (nnode) {
-+ path->in_tree = 1;
-+ path->ptr.nnode = nnode;
-+ return nnode;
-+ }
-+ nnode = &path->nnode;
-+ path->in_tree = 0;
-+ path->ptr.nnode = nnode;
-+ memset(nnode, 0, sizeof(struct ubifs_nnode));
-+ if (branch->lnum == 0) {
-+ /*
-+ * This nnode was not written which just means that the LEB
-+ * properties in the subtree below it describe empty LEBs. We
-+ * make the nnode as though we had read it, which in fact means
-+ * doing almost nothing.
-+ */
-+ if (c->big_lpt)
-+ nnode->num = calc_nnode_num_from_parent(c, parent, iip);
-+ } else {
-+ err = ubi_read(c->ubi, branch->lnum, buf, branch->offs,
-+ c->nnode_sz);
-+ if (err)
-+ return ERR_PTR(err);
-+ err = ubifs_unpack_nnode(c, buf, nnode);
-+ if (err)
-+ return ERR_PTR(err);
-+ }
-+ err = validate_nnode(c, nnode, parent, iip);
-+ if (err)
-+ return ERR_PTR(err);
-+ if (!c->big_lpt)
-+ nnode->num = calc_nnode_num_from_parent(c, parent, iip);
-+ nnode->level = parent->level - 1;
-+ nnode->parent = parent;
-+ nnode->iip = iip;
-+ return nnode;
-+}
-+
-+/**
-+ * scan_get_pnode - for the scan, get a pnode from either the tree or flash.
-+ * @c: the UBIFS file-system description object
-+ * @path: where to put the pnode
-+ * @parent: parent of the pnode
-+ * @iip: index in parent of the pnode
-+ *
-+ * This function returns a pointer to the pnode on success or a negative error
-+ * code on failure.
-+ */
-+static struct ubifs_pnode *scan_get_pnode(struct ubifs_info *c,
-+ struct lpt_scan_node *path,
-+ struct ubifs_nnode *parent, int iip)
-+{
-+ struct ubifs_nbranch *branch;
-+ struct ubifs_pnode *pnode;
-+ void *buf = c->lpt_nod_buf;
-+ int err;
-+
-+ branch = &parent->nbranch[iip];
-+ pnode = branch->pnode;
-+ if (pnode) {
-+ path->in_tree = 1;
-+ path->ptr.pnode = pnode;
-+ return pnode;
-+ }
-+ pnode = &path->pnode;
-+ path->in_tree = 0;
-+ path->ptr.pnode = pnode;
-+ memset(pnode, 0, sizeof(struct ubifs_pnode));
-+ if (branch->lnum == 0) {
-+ /*
-+ * This pnode was not written which just means that the LEB
-+ * properties in it describe empty LEBs. We make the pnode as
-+ * though we had read it.
-+ */
-+ int i;
-+
-+ if (c->big_lpt)
-+ pnode->num = calc_pnode_num_from_parent(c, parent, iip);
-+ for (i = 0; i < UBIFS_LPT_FANOUT; i++) {
-+ struct ubifs_lprops * const lprops = &pnode->lprops[i];
-+
-+ lprops->free = c->leb_size;
-+ lprops->flags = ubifs_categorize_lprops(c, lprops);
-+ }
-+ } else {
-+ ubifs_assert(branch->lnum >= c->lpt_first &&
-+ branch->lnum <= c->lpt_last);
-+ ubifs_assert(branch->offs >= 0 && branch->offs < c->leb_size);
-+ err = ubi_read(c->ubi, branch->lnum, buf, branch->offs,
-+ c->pnode_sz);
-+ if (err)
-+ return ERR_PTR(err);
-+ err = unpack_pnode(c, buf, pnode);
-+ if (err)
-+ return ERR_PTR(err);
-+ }
-+ err = validate_pnode(c, pnode, parent, iip);
-+ if (err)
-+ return ERR_PTR(err);
-+ if (!c->big_lpt)
-+ pnode->num = calc_pnode_num_from_parent(c, parent, iip);
-+ pnode->parent = parent;
-+ pnode->iip = iip;
-+ set_pnode_lnum(c, pnode);
-+ return pnode;
-+}
-+
-+/**
-+ * ubifs_lpt_scan_nolock - scan the LPT.
-+ * @c: the UBIFS file-system description object
-+ * @start_lnum: LEB number from which to start scanning
-+ * @end_lnum: LEB number at which to stop scanning
-+ * @scan_cb: callback function called for each lprops
-+ * @data: data to be passed to the callback function
-+ *
-+ * This function returns %0 on success and a negative error code on failure.
-+ */
-+int ubifs_lpt_scan_nolock(struct ubifs_info *c, int start_lnum, int end_lnum,
-+ ubifs_lpt_scan_callback scan_cb, void *data)
-+{
-+ int err = 0, i, h, iip, shft;
-+ struct ubifs_nnode *nnode;
-+ struct ubifs_pnode *pnode;
-+ struct lpt_scan_node *path;
-+
-+ if (start_lnum == -1) {
-+ start_lnum = end_lnum + 1;
-+ if (start_lnum >= c->leb_cnt)
-+ start_lnum = c->main_first;
-+ }
-+
-+ ubifs_assert(start_lnum >= c->main_first && start_lnum < c->leb_cnt);
-+ ubifs_assert(end_lnum >= c->main_first && end_lnum < c->leb_cnt);
-+
-+ if (!c->nroot) {
-+ err = ubifs_read_nnode(c, NULL, 0);
-+ if (err)
-+ return err;
-+ }
-+
-+ path = kmalloc(sizeof(struct lpt_scan_node) * (c->lpt_hght + 1),
-+ GFP_NOFS);
-+ if (!path)
-+ return -ENOMEM;
-+
-+ path[0].ptr.nnode = c->nroot;
-+ path[0].in_tree = 1;
-+again:
-+ /* Descend to the pnode containing start_lnum */
-+ nnode = c->nroot;
-+ i = start_lnum - c->main_first;
-+ shft = c->lpt_hght * UBIFS_LPT_FANOUT_SHIFT;
-+ for (h = 1; h < c->lpt_hght; h++) {
-+ iip = ((i >> shft) & (UBIFS_LPT_FANOUT - 1));
-+ shft -= UBIFS_LPT_FANOUT_SHIFT;
-+ nnode = scan_get_nnode(c, path + h, nnode, iip);
-+ if (IS_ERR(nnode)) {
-+ err = PTR_ERR(nnode);
-+ goto out;
-+ }
-+ }
-+ iip = ((i >> shft) & (UBIFS_LPT_FANOUT - 1));
-+ shft -= UBIFS_LPT_FANOUT_SHIFT;
-+ pnode = scan_get_pnode(c, path + h, nnode, iip);
-+ if (IS_ERR(pnode)) {
-+ err = PTR_ERR(pnode);
-+ goto out;
-+ }
-+ iip = (i & (UBIFS_LPT_FANOUT - 1));
-+
-+ /* Loop for each lprops */
-+ while (1) {
-+ struct ubifs_lprops *lprops = &pnode->lprops[iip];
-+ int ret, lnum = lprops->lnum;
-+
-+ ret = scan_cb(c, lprops, path[h].in_tree, data);
-+ if (ret < 0) {
-+ err = ret;
-+ goto out;
-+ }
-+ if (ret & LPT_SCAN_ADD) {
-+ /* Add all the nodes in path to the tree in memory */
-+ for (h = 1; h < c->lpt_hght; h++) {
-+ const size_t sz = sizeof(struct ubifs_nnode);
-+ struct ubifs_nnode *parent;
-+
-+ if (path[h].in_tree)
-+ continue;
-+ nnode = kmalloc(sz, GFP_NOFS);
-+ if (!nnode) {
-+ err = -ENOMEM;
-+ goto out;
-+ }
-+ memcpy(nnode, &path[h].nnode, sz);
-+ parent = nnode->parent;
-+ parent->nbranch[nnode->iip].nnode = nnode;
-+ path[h].ptr.nnode = nnode;
-+ path[h].in_tree = 1;
-+ path[h + 1].cnode.parent = nnode;
-+ }
-+ if (path[h].in_tree)
-+ ubifs_ensure_cat(c, lprops);
-+ else {
-+ const size_t sz = sizeof(struct ubifs_pnode);
-+ struct ubifs_nnode *parent;
-+
-+ pnode = kmalloc(sz, GFP_NOFS);
-+ if (!pnode) {
-+ err = -ENOMEM;
-+ goto out;
-+ }
-+ memcpy(pnode, &path[h].pnode, sz);
-+ parent = pnode->parent;
-+ parent->nbranch[pnode->iip].pnode = pnode;
-+ path[h].ptr.pnode = pnode;
-+ path[h].in_tree = 1;
-+ update_cats(c, pnode);
-+ c->pnodes_have += 1;
-+ }
-+ err = dbg_check_lpt_nodes(c, (struct ubifs_cnode *)
-+ c->nroot, 0, 0);
-+ if (err)
-+ goto out;
-+ err = dbg_check_cats(c);
-+ if (err)
-+ goto out;
-+ }
-+ if (ret & LPT_SCAN_STOP) {
-+ err = 0;
-+ break;
-+ }
-+ /* Get the next lprops */
-+ if (lnum == end_lnum) {
-+ /*
-+ * We got to the end without finding what we were
-+ * looking for
-+ */
-+ err = -ENOSPC;
-+ goto out;
-+ }
-+ if (lnum + 1 >= c->leb_cnt) {
-+ /* Wrap-around to the beginning */
-+ start_lnum = c->main_first;
-+ goto again;
-+ }
-+ if (iip + 1 < UBIFS_LPT_FANOUT) {
-+ /* Next lprops is in the same pnode */
-+ iip += 1;
-+ continue;
-+ }
-+ /* We need to get the next pnode. Go up until we can go right */
-+ iip = pnode->iip;
-+ while (1) {
-+ h -= 1;
-+ ubifs_assert(h >= 0);
-+ nnode = path[h].ptr.nnode;
-+ if (iip + 1 < UBIFS_LPT_FANOUT)
-+ break;
-+ iip = nnode->iip;
-+ }
-+ /* Go right */
-+ iip += 1;
-+ /* Descend to the pnode */
-+ h += 1;
-+ for (; h < c->lpt_hght; h++) {
-+ nnode = scan_get_nnode(c, path + h, nnode, iip);
-+ if (IS_ERR(nnode)) {
-+ err = PTR_ERR(nnode);
-+ goto out;
-+ }
-+ iip = 0;
-+ }
-+ pnode = scan_get_pnode(c, path + h, nnode, iip);
-+ if (IS_ERR(pnode)) {
-+ err = PTR_ERR(pnode);
-+ goto out;
-+ }
-+ iip = 0;
-+ }
-+out:
-+ kfree(path);
-+ return err;
-+}
-+
-+#ifdef CONFIG_UBIFS_FS_DEBUG
-+
-+/**
-+ * dbg_chk_pnode - check a pnode.
-+ * @c: the UBIFS file-system description object
-+ * @pnode: pnode to check
-+ * @col: pnode column
-+ *
-+ * This function returns %0 on success and a negative error code on failure.
-+ */
-+static int dbg_chk_pnode(struct ubifs_info *c, struct ubifs_pnode *pnode,
-+ int col)
-+{
-+ int i;
-+
-+ if (pnode->num != col) {
-+ dbg_err("pnode num %d expected %d parent num %d iip %d",
-+ pnode->num, col, pnode->parent->num, pnode->iip);
-+ return -EINVAL;
-+ }
-+ for (i = 0; i < UBIFS_LPT_FANOUT; i++) {
-+ struct ubifs_lprops *lp, *lprops = &pnode->lprops[i];
-+ int lnum = (pnode->num << UBIFS_LPT_FANOUT_SHIFT) + i +
-+ c->main_first;
-+ int found, cat = lprops->flags & LPROPS_CAT_MASK;
-+ struct ubifs_lpt_heap *heap;
-+ struct list_head *list = NULL;
-+
-+ if (lnum >= c->leb_cnt)
-+ continue;
-+ if (lprops->lnum != lnum) {
-+ dbg_err("bad LEB number %d expected %d",
-+ lprops->lnum, lnum);
-+ return -EINVAL;
-+ }
-+ if (lprops->flags & LPROPS_TAKEN) {
-+ if (cat != LPROPS_UNCAT) {
-+ dbg_err("LEB %d taken but not uncat %d",
-+ lprops->lnum, cat);
-+ return -EINVAL;
-+ }
-+ continue;
-+ }
-+ if (lprops->flags & LPROPS_INDEX) {
-+ switch (cat) {
-+ case LPROPS_UNCAT:
-+ case LPROPS_DIRTY_IDX:
-+ case LPROPS_FRDI_IDX:
-+ break;
-+ default:
-+ dbg_err("LEB %d index but cat %d",
-+ lprops->lnum, cat);
-+ return -EINVAL;
-+ }
-+ } else {
-+ switch (cat) {
-+ case LPROPS_UNCAT:
-+ case LPROPS_DIRTY:
-+ case LPROPS_FREE:
-+ case LPROPS_EMPTY:
-+ case LPROPS_FREEABLE:
-+ break;
-+ default:
-+ dbg_err("LEB %d not index but cat %d",
-+ lprops->lnum, cat);
-+ return -EINVAL;
-+ }
-+ }
-+ switch (cat) {
-+ case LPROPS_UNCAT:
-+ list = &c->uncat_list;
-+ break;
-+ case LPROPS_EMPTY:
-+ list = &c->empty_list;
-+ break;
-+ case LPROPS_FREEABLE:
-+ list = &c->freeable_list;
-+ break;
-+ case LPROPS_FRDI_IDX:
-+ list = &c->frdi_idx_list;
-+ break;
-+ }
-+ found = 0;
-+ switch (cat) {
-+ case LPROPS_DIRTY:
-+ case LPROPS_DIRTY_IDX:
-+ case LPROPS_FREE:
-+ heap = &c->lpt_heap[cat - 1];
-+ if (lprops->hpos < heap->cnt &&
-+ heap->arr[lprops->hpos] == lprops)
-+ found = 1;
-+ break;
-+ case LPROPS_UNCAT:
-+ case LPROPS_EMPTY:
-+ case LPROPS_FREEABLE:
-+ case LPROPS_FRDI_IDX:
-+ list_for_each_entry(lp, list, list)
-+ if (lprops == lp) {
-+ found = 1;
-+ break;
-+ }
-+ break;
-+ }
-+ if (!found) {
-+ dbg_err("LEB %d cat %d not found in cat heap/list",
-+ lprops->lnum, cat);
-+ return -EINVAL;
-+ }
-+ switch (cat) {
-+ case LPROPS_EMPTY:
-+ if (lprops->free != c->leb_size) {
-+ dbg_err("LEB %d cat %d free %d dirty %d",
-+ lprops->lnum, cat, lprops->free,
-+ lprops->dirty);
-+ return -EINVAL;
-+ }
-+ case LPROPS_FREEABLE:
-+ case LPROPS_FRDI_IDX:
-+ if (lprops->free + lprops->dirty != c->leb_size) {
-+ dbg_err("LEB %d cat %d free %d dirty %d",
-+ lprops->lnum, cat, lprops->free,
-+ lprops->dirty);
-+ return -EINVAL;
-+ }
-+ }
-+ }
-+ return 0;
-+}
-+
-+/**
-+ * dbg_check_lpt_nodes - check nnodes and pnodes.
-+ * @c: the UBIFS file-system description object
-+ * @cnode: next cnode (nnode or pnode) to check
-+ * @row: row of cnode (root is zero)
-+ * @col: column of cnode (leftmost is zero)
-+ *
-+ * This function returns %0 on success and a negative error code on failure.
-+ */
-+int dbg_check_lpt_nodes(struct ubifs_info *c, struct ubifs_cnode *cnode,
-+ int row, int col)
-+{
-+ struct ubifs_nnode *nnode, *nn;
-+ struct ubifs_cnode *cn;
-+ int num, iip = 0, err;
-+
-+ if (!(ubifs_chk_flags & UBIFS_CHK_LPROPS))
-+ return 0;
-+
-+ while (cnode) {
-+ ubifs_assert(row >= 0);
-+ nnode = cnode->parent;
-+ if (cnode->level) {
-+ /* cnode is a nnode */
-+ num = calc_nnode_num(row, col);
-+ if (cnode->num != num) {
-+ dbg_err("nnode num %d expected %d "
-+ "parent num %d iip %d", cnode->num, num,
-+ (nnode ? nnode->num : 0), cnode->iip);
-+ return -EINVAL;
-+ }
-+ nn = (struct ubifs_nnode *)cnode;
-+ while (iip < UBIFS_LPT_FANOUT) {
-+ cn = nn->nbranch[iip].cnode;
-+ if (cn) {
-+ /* Go down */
-+ row += 1;
-+ col <<= UBIFS_LPT_FANOUT_SHIFT;
-+ col += iip;
-+ iip = 0;
-+ cnode = cn;
-+ break;
-+ }
-+ /* Go right */
-+ iip += 1;
-+ }
-+ if (iip < UBIFS_LPT_FANOUT)
-+ continue;
-+ } else {
-+ struct ubifs_pnode *pnode;
-+
-+ /* cnode is a pnode */
-+ pnode = (struct ubifs_pnode *)cnode;
-+ err = dbg_chk_pnode(c, pnode, col);
-+ if (err)
-+ return err;
-+ }
-+ /* Go up and to the right */
-+ row -= 1;
-+ col >>= UBIFS_LPT_FANOUT_SHIFT;
-+ iip = cnode->iip + 1;
-+ cnode = (struct ubifs_cnode *)nnode;
-+ }
-+ return 0;
-+}
-+
-+#endif /* CONFIG_UBIFS_FS_DEBUG */
-diff -Nurd linux-2.6.24.orig/fs/ubifs/lpt_commit.c linux-2.6.24/fs/ubifs/lpt_commit.c
---- linux-2.6.24.orig/fs/ubifs/lpt_commit.c 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.24/fs/ubifs/lpt_commit.c 2009-04-17 09:49:28.000000000 +0200
-@@ -0,0 +1,1969 @@
-+/*
-+ * This file is part of UBIFS.
-+ *
-+ * Copyright (C) 2006-2008 Nokia Corporation.
-+ *
-+ * This program is free software; you can redistribute it and/or modify it
-+ * under the terms of the GNU General Public License version 2 as published by
-+ * the Free Software Foundation.
-+ *
-+ * 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, write to the Free Software Foundation, Inc., 51
-+ * Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
-+ *
-+ * Authors: Adrian Hunter
-+ * Artem Bityutskiy (Битюцкий Ðртём)
-+ */
-+
-+/*
-+ * This file implements commit-related functionality of the LEB properties
-+ * subsystem.
-+ */
-+
-+#include <linux/crc16.h>
-+#include "ubifs.h"
-+
-+/**
-+ * first_dirty_cnode - find first dirty cnode.
-+ * @c: UBIFS file-system description object
-+ * @nnode: nnode at which to start
-+ *
-+ * This function returns the first dirty cnode or %NULL if there is not one.
-+ */
-+static struct ubifs_cnode *first_dirty_cnode(struct ubifs_nnode *nnode)
-+{
-+ ubifs_assert(nnode);
-+ while (1) {
-+ int i, cont = 0;
-+
-+ for (i = 0; i < UBIFS_LPT_FANOUT; i++) {
-+ struct ubifs_cnode *cnode;
-+
-+ cnode = nnode->nbranch[i].cnode;
-+ if (cnode &&
-+ test_bit(DIRTY_CNODE, &cnode->flags)) {
-+ if (cnode->level == 0)
-+ return cnode;
-+ nnode = (struct ubifs_nnode *)cnode;
-+ cont = 1;
-+ break;
-+ }
-+ }
-+ if (!cont)
-+ return (struct ubifs_cnode *)nnode;
-+ }
-+}
-+
-+/**
-+ * next_dirty_cnode - find next dirty cnode.
-+ * @cnode: cnode from which to begin searching
-+ *
-+ * This function returns the next dirty cnode or %NULL if there is not one.
-+ */
-+static struct ubifs_cnode *next_dirty_cnode(struct ubifs_cnode *cnode)
-+{
-+ struct ubifs_nnode *nnode;
-+ int i;
-+
-+ ubifs_assert(cnode);
-+ nnode = cnode->parent;
-+ if (!nnode)
-+ return NULL;
-+ for (i = cnode->iip + 1; i < UBIFS_LPT_FANOUT; i++) {
-+ cnode = nnode->nbranch[i].cnode;
-+ if (cnode && test_bit(DIRTY_CNODE, &cnode->flags)) {
-+ if (cnode->level == 0)
-+ return cnode; /* cnode is a pnode */
-+ /* cnode is a nnode */
-+ return first_dirty_cnode((struct ubifs_nnode *)cnode);
-+ }
-+ }
-+ return (struct ubifs_cnode *)nnode;
-+}
-+
-+/**
-+ * get_cnodes_to_commit - create list of dirty cnodes to commit.
-+ * @c: UBIFS file-system description object
-+ *
-+ * This function returns the number of cnodes to commit.
-+ */
-+static int get_cnodes_to_commit(struct ubifs_info *c)
-+{
-+ struct ubifs_cnode *cnode, *cnext;
-+ int cnt = 0;
-+
-+ if (!c->nroot)
-+ return 0;
-+
-+ if (!test_bit(DIRTY_CNODE, &c->nroot->flags))
-+ return 0;
-+
-+ c->lpt_cnext = first_dirty_cnode(c->nroot);
-+ cnode = c->lpt_cnext;
-+ if (!cnode)
-+ return 0;
-+ cnt += 1;
-+ while (1) {
-+ ubifs_assert(!test_bit(COW_ZNODE, &cnode->flags));
-+ __set_bit(COW_ZNODE, &cnode->flags);
-+ cnext = next_dirty_cnode(cnode);
-+ if (!cnext) {
-+ cnode->cnext = c->lpt_cnext;
-+ break;
-+ }
-+ cnode->cnext = cnext;
-+ cnode = cnext;
-+ cnt += 1;
-+ }
-+ dbg_cmt("committing %d cnodes", cnt);
-+ dbg_lp("committing %d cnodes", cnt);
-+ ubifs_assert(cnt == c->dirty_nn_cnt + c->dirty_pn_cnt);
-+ return cnt;
-+}
-+
-+/**
-+ * upd_ltab - update LPT LEB properties.
-+ * @c: UBIFS file-system description object
-+ * @lnum: LEB number
-+ * @free: amount of free space
-+ * @dirty: amount of dirty space to add
-+ */
-+static void upd_ltab(struct ubifs_info *c, int lnum, int free, int dirty)
-+{
-+ dbg_lp("LEB %d free %d dirty %d to %d +%d",
-+ lnum, c->ltab[lnum - c->lpt_first].free,
-+ c->ltab[lnum - c->lpt_first].dirty, free, dirty);
-+ ubifs_assert(lnum >= c->lpt_first && lnum <= c->lpt_last);
-+ c->ltab[lnum - c->lpt_first].free = free;
-+ c->ltab[lnum - c->lpt_first].dirty += dirty;
-+}
-+
-+/**
-+ * alloc_lpt_leb - allocate an LPT LEB that is empty.
-+ * @c: UBIFS file-system description object
-+ * @lnum: LEB number is passed and returned here
-+ *
-+ * This function finds the next empty LEB in the ltab starting from @lnum. If a
-+ * an empty LEB is found it is returned in @lnum and the function returns %0.
-+ * Otherwise the function returns -ENOSPC. Note however, that LPT is designed
-+ * never to run out of space.
-+ */
-+static int alloc_lpt_leb(struct ubifs_info *c, int *lnum)
-+{
-+ int i, n;
-+
-+ n = *lnum - c->lpt_first + 1;
-+ for (i = n; i < c->lpt_lebs; i++) {
-+ if (c->ltab[i].tgc || c->ltab[i].cmt)
-+ continue;
-+ if (c->ltab[i].free == c->leb_size) {
-+ c->ltab[i].cmt = 1;
-+ *lnum = i + c->lpt_first;
-+ return 0;
-+ }
-+ }
-+
-+ for (i = 0; i < n; i++) {
-+ if (c->ltab[i].tgc || c->ltab[i].cmt)
-+ continue;
-+ if (c->ltab[i].free == c->leb_size) {
-+ c->ltab[i].cmt = 1;
-+ *lnum = i + c->lpt_first;
-+ return 0;
-+ }
-+ }
-+ return -ENOSPC;
-+}
-+
-+/**
-+ * layout_cnodes - layout cnodes for commit.
-+ * @c: UBIFS file-system description object
-+ *
-+ * This function returns %0 on success and a negative error code on failure.
-+ */
-+static int layout_cnodes(struct ubifs_info *c)
-+{
-+ int lnum, offs, len, alen, done_lsave, done_ltab, err;
-+ struct ubifs_cnode *cnode;
-+
-+ err = dbg_chk_lpt_sz(c, 0, 0);
-+ if (err)
-+ return err;
-+ cnode = c->lpt_cnext;
-+ if (!cnode)
-+ return 0;
-+ lnum = c->nhead_lnum;
-+ offs = c->nhead_offs;
-+ /* Try to place lsave and ltab nicely */
-+ done_lsave = !c->big_lpt;
-+ done_ltab = 0;
-+ if (!done_lsave && offs + c->lsave_sz <= c->leb_size) {
-+ done_lsave = 1;
-+ c->lsave_lnum = lnum;
-+ c->lsave_offs = offs;
-+ offs += c->lsave_sz;
-+ dbg_chk_lpt_sz(c, 1, c->lsave_sz);
-+ }
-+
-+ if (offs + c->ltab_sz <= c->leb_size) {
-+ done_ltab = 1;
-+ c->ltab_lnum = lnum;
-+ c->ltab_offs = offs;
-+ offs += c->ltab_sz;
-+ dbg_chk_lpt_sz(c, 1, c->ltab_sz);
-+ }
-+
-+ do {
-+ if (cnode->level) {
-+ len = c->nnode_sz;
-+ c->dirty_nn_cnt -= 1;
-+ } else {
-+ len = c->pnode_sz;
-+ c->dirty_pn_cnt -= 1;
-+ }
-+ while (offs + len > c->leb_size) {
-+ alen = ALIGN(offs, c->min_io_size);
-+ upd_ltab(c, lnum, c->leb_size - alen, alen - offs);
-+ dbg_chk_lpt_sz(c, 2, alen - offs);
-+ err = alloc_lpt_leb(c, &lnum);
-+ if (err)
-+ goto no_space;
-+ offs = 0;
-+ ubifs_assert(lnum >= c->lpt_first &&
-+ lnum <= c->lpt_last);
-+ /* Try to place lsave and ltab nicely */
-+ if (!done_lsave) {
-+ done_lsave = 1;
-+ c->lsave_lnum = lnum;
-+ c->lsave_offs = offs;
-+ offs += c->lsave_sz;
-+ dbg_chk_lpt_sz(c, 1, c->lsave_sz);
-+ continue;
-+ }
-+ if (!done_ltab) {
-+ done_ltab = 1;
-+ c->ltab_lnum = lnum;
-+ c->ltab_offs = offs;
-+ offs += c->ltab_sz;
-+ dbg_chk_lpt_sz(c, 1, c->ltab_sz);
-+ continue;
-+ }
-+ break;
-+ }
-+ if (cnode->parent) {
-+ cnode->parent->nbranch[cnode->iip].lnum = lnum;
-+ cnode->parent->nbranch[cnode->iip].offs = offs;
-+ } else {
-+ c->lpt_lnum = lnum;
-+ c->lpt_offs = offs;
-+ }
-+ offs += len;
-+ dbg_chk_lpt_sz(c, 1, len);
-+ cnode = cnode->cnext;
-+ } while (cnode && cnode != c->lpt_cnext);
-+
-+ /* Make sure to place LPT's save table */
-+ if (!done_lsave) {
-+ if (offs + c->lsave_sz > c->leb_size) {
-+ alen = ALIGN(offs, c->min_io_size);
-+ upd_ltab(c, lnum, c->leb_size - alen, alen - offs);
-+ dbg_chk_lpt_sz(c, 2, alen - offs);
-+ err = alloc_lpt_leb(c, &lnum);
-+ if (err)
-+ goto no_space;
-+ offs = 0;
-+ ubifs_assert(lnum >= c->lpt_first &&
-+ lnum <= c->lpt_last);
-+ }
-+ done_lsave = 1;
-+ c->lsave_lnum = lnum;
-+ c->lsave_offs = offs;
-+ offs += c->lsave_sz;
-+ dbg_chk_lpt_sz(c, 1, c->lsave_sz);
-+ }
-+
-+ /* Make sure to place LPT's own lprops table */
-+ if (!done_ltab) {
-+ if (offs + c->ltab_sz > c->leb_size) {
-+ alen = ALIGN(offs, c->min_io_size);
-+ upd_ltab(c, lnum, c->leb_size - alen, alen - offs);
-+ dbg_chk_lpt_sz(c, 2, alen - offs);
-+ err = alloc_lpt_leb(c, &lnum);
-+ if (err)
-+ goto no_space;
-+ offs = 0;
-+ ubifs_assert(lnum >= c->lpt_first &&
-+ lnum <= c->lpt_last);
-+ }
-+ done_ltab = 1;
-+ c->ltab_lnum = lnum;
-+ c->ltab_offs = offs;
-+ offs += c->ltab_sz;
-+ dbg_chk_lpt_sz(c, 1, c->ltab_sz);
-+ }
-+
-+ alen = ALIGN(offs, c->min_io_size);
-+ upd_ltab(c, lnum, c->leb_size - alen, alen - offs);
-+ dbg_chk_lpt_sz(c, 4, alen - offs);
-+ err = dbg_chk_lpt_sz(c, 3, alen);
-+ if (err)
-+ return err;
-+ return 0;
-+
-+no_space:
-+ ubifs_err("LPT out of space");
-+ dbg_err("LPT out of space at LEB %d:%d needing %d, done_ltab %d, "
-+ "done_lsave %d", lnum, offs, len, done_ltab, done_lsave);
-+ dbg_dump_lpt_info(c);
-+ dbg_dump_lpt_lebs(c);
-+ dump_stack();
-+ return err;
-+}
-+
-+/**
-+ * realloc_lpt_leb - allocate an LPT LEB that is empty.
-+ * @c: UBIFS file-system description object
-+ * @lnum: LEB number is passed and returned here
-+ *
-+ * This function duplicates exactly the results of the function alloc_lpt_leb.
-+ * It is used during end commit to reallocate the same LEB numbers that were
-+ * allocated by alloc_lpt_leb during start commit.
-+ *
-+ * This function finds the next LEB that was allocated by the alloc_lpt_leb
-+ * function starting from @lnum. If a LEB is found it is returned in @lnum and
-+ * the function returns %0. Otherwise the function returns -ENOSPC.
-+ * Note however, that LPT is designed never to run out of space.
-+ */
-+static int realloc_lpt_leb(struct ubifs_info *c, int *lnum)
-+{
-+ int i, n;
-+
-+ n = *lnum - c->lpt_first + 1;
-+ for (i = n; i < c->lpt_lebs; i++)
-+ if (c->ltab[i].cmt) {
-+ c->ltab[i].cmt = 0;
-+ *lnum = i + c->lpt_first;
-+ return 0;
-+ }
-+
-+ for (i = 0; i < n; i++)
-+ if (c->ltab[i].cmt) {
-+ c->ltab[i].cmt = 0;
-+ *lnum = i + c->lpt_first;
-+ return 0;
-+ }
-+ return -ENOSPC;
-+}
-+
-+/**
-+ * write_cnodes - write cnodes for commit.
-+ * @c: UBIFS file-system description object
-+ *
-+ * This function returns %0 on success and a negative error code on failure.
-+ */
-+static int write_cnodes(struct ubifs_info *c)
-+{
-+ int lnum, offs, len, from, err, wlen, alen, done_ltab, done_lsave;
-+ struct ubifs_cnode *cnode;
-+ void *buf = c->lpt_buf;
-+
-+ cnode = c->lpt_cnext;
-+ if (!cnode)
-+ return 0;
-+ lnum = c->nhead_lnum;
-+ offs = c->nhead_offs;
-+ from = offs;
-+ /* Ensure empty LEB is unmapped */
-+ if (offs == 0) {
-+ err = ubifs_leb_unmap(c, lnum);
-+ if (err)
-+ return err;
-+ }
-+ /* Try to place lsave and ltab nicely */
-+ done_lsave = !c->big_lpt;
-+ done_ltab = 0;
-+ if (!done_lsave && offs + c->lsave_sz <= c->leb_size) {
-+ done_lsave = 1;
-+ ubifs_pack_lsave(c, buf + offs, c->lsave);
-+ offs += c->lsave_sz;
-+ dbg_chk_lpt_sz(c, 1, c->lsave_sz);
-+ }
-+
-+ if (offs + c->ltab_sz <= c->leb_size) {
-+ done_ltab = 1;
-+ ubifs_pack_ltab(c, buf + offs, c->ltab_cmt);
-+ offs += c->ltab_sz;
-+ dbg_chk_lpt_sz(c, 1, c->ltab_sz);
-+ }
-+
-+ /* Loop for each cnode */
-+ do {
-+ if (cnode->level)
-+ len = c->nnode_sz;
-+ else
-+ len = c->pnode_sz;
-+ while (offs + len > c->leb_size) {
-+ wlen = offs - from;
-+ if (wlen) {
-+ alen = ALIGN(wlen, c->min_io_size);
-+ memset(buf + offs, 0xff, alen - wlen);
-+ err = ubifs_leb_write(c, lnum, buf + from, from,
-+ alen, UBI_SHORTTERM);
-+ if (err)
-+ return err;
-+ dbg_chk_lpt_sz(c, 4, alen - wlen);
-+ }
-+ dbg_chk_lpt_sz(c, 2, 0);
-+ err = realloc_lpt_leb(c, &lnum);
-+ if (err)
-+ goto no_space;
-+ offs = 0;
-+ from = 0;
-+ ubifs_assert(lnum >= c->lpt_first &&
-+ lnum <= c->lpt_last);
-+ err = ubifs_leb_unmap(c, lnum);
-+ if (err)
-+ return err;
-+ /* Try to place lsave and ltab nicely */
-+ if (!done_lsave) {
-+ done_lsave = 1;
-+ ubifs_pack_lsave(c, buf + offs, c->lsave);
-+ offs += c->lsave_sz;
-+ dbg_chk_lpt_sz(c, 1, c->lsave_sz);
-+ continue;
-+ }
-+ if (!done_ltab) {
-+ done_ltab = 1;
-+ ubifs_pack_ltab(c, buf + offs, c->ltab_cmt);
-+ offs += c->ltab_sz;
-+ dbg_chk_lpt_sz(c, 1, c->ltab_sz);
-+ continue;
-+ }
-+ break;
-+ }
-+ if (cnode->level)
-+ ubifs_pack_nnode(c, buf + offs,
-+ (struct ubifs_nnode *)cnode);
-+ else
-+ ubifs_pack_pnode(c, buf + offs,
-+ (struct ubifs_pnode *)cnode);
-+ /*
-+ * The reason for the barriers is the same as in case of TNC.
-+ * See comment in 'write_index()'. 'dirty_cow_nnode()' and
-+ * 'dirty_cow_pnode()' are the functions for which this is
-+ * important.
-+ */
-+ clear_bit(DIRTY_CNODE, &cnode->flags);
-+ smp_mb__before_clear_bit();
-+ clear_bit(COW_ZNODE, &cnode->flags);
-+ smp_mb__after_clear_bit();
-+ offs += len;
-+ dbg_chk_lpt_sz(c, 1, len);
-+ cnode = cnode->cnext;
-+ } while (cnode && cnode != c->lpt_cnext);
-+
-+ /* Make sure to place LPT's save table */
-+ if (!done_lsave) {
-+ if (offs + c->lsave_sz > c->leb_size) {
-+ wlen = offs - from;
-+ alen = ALIGN(wlen, c->min_io_size);
-+ memset(buf + offs, 0xff, alen - wlen);
-+ err = ubifs_leb_write(c, lnum, buf + from, from, alen,
-+ UBI_SHORTTERM);
-+ if (err)
-+ return err;
-+ dbg_chk_lpt_sz(c, 2, alen - wlen);
-+ err = realloc_lpt_leb(c, &lnum);
-+ if (err)
-+ goto no_space;
-+ offs = 0;
-+ ubifs_assert(lnum >= c->lpt_first &&
-+ lnum <= c->lpt_last);
-+ err = ubifs_leb_unmap(c, lnum);
-+ if (err)
-+ return err;
-+ }
-+ done_lsave = 1;
-+ ubifs_pack_lsave(c, buf + offs, c->lsave);
-+ offs += c->lsave_sz;
-+ dbg_chk_lpt_sz(c, 1, c->lsave_sz);
-+ }
-+
-+ /* Make sure to place LPT's own lprops table */
-+ if (!done_ltab) {
-+ if (offs + c->ltab_sz > c->leb_size) {
-+ wlen = offs - from;
-+ alen = ALIGN(wlen, c->min_io_size);
-+ memset(buf + offs, 0xff, alen - wlen);
-+ err = ubifs_leb_write(c, lnum, buf + from, from, alen,
-+ UBI_SHORTTERM);
-+ if (err)
-+ return err;
-+ dbg_chk_lpt_sz(c, 2, alen - wlen);
-+ err = realloc_lpt_leb(c, &lnum);
-+ if (err)
-+ goto no_space;
-+ offs = 0;
-+ ubifs_assert(lnum >= c->lpt_first &&
-+ lnum <= c->lpt_last);
-+ err = ubifs_leb_unmap(c, lnum);
-+ if (err)
-+ return err;
-+ }
-+ done_ltab = 1;
-+ ubifs_pack_ltab(c, buf + offs, c->ltab_cmt);
-+ offs += c->ltab_sz;
-+ dbg_chk_lpt_sz(c, 1, c->ltab_sz);
-+ }
-+
-+ /* Write remaining data in buffer */
-+ wlen = offs - from;
-+ alen = ALIGN(wlen, c->min_io_size);
-+ memset(buf + offs, 0xff, alen - wlen);
-+ err = ubifs_leb_write(c, lnum, buf + from, from, alen, UBI_SHORTTERM);
-+ if (err)
-+ return err;
-+
-+ dbg_chk_lpt_sz(c, 4, alen - wlen);
-+ err = dbg_chk_lpt_sz(c, 3, ALIGN(offs, c->min_io_size));
-+ if (err)
-+ return err;
-+
-+ c->nhead_lnum = lnum;
-+ c->nhead_offs = ALIGN(offs, c->min_io_size);
-+
-+ dbg_lp("LPT root is at %d:%d", c->lpt_lnum, c->lpt_offs);
-+ dbg_lp("LPT head is at %d:%d", c->nhead_lnum, c->nhead_offs);
-+ dbg_lp("LPT ltab is at %d:%d", c->ltab_lnum, c->ltab_offs);
-+ if (c->big_lpt)
-+ dbg_lp("LPT lsave is at %d:%d", c->lsave_lnum, c->lsave_offs);
-+
-+ return 0;
-+
-+no_space:
-+ ubifs_err("LPT out of space mismatch");
-+ dbg_err("LPT out of space mismatch at LEB %d:%d needing %d, done_ltab "
-+ "%d, done_lsave %d", lnum, offs, len, done_ltab, done_lsave);
-+ dbg_dump_lpt_info(c);
-+ dbg_dump_lpt_lebs(c);
-+ dump_stack();
-+ return err;
-+}
-+
-+/**
-+ * next_pnode_to_dirty - find next pnode to dirty.
-+ * @c: UBIFS file-system description object
-+ * @pnode: pnode
-+ *
-+ * This function returns the next pnode to dirty or %NULL if there are no more
-+ * pnodes. Note that pnodes that have never been written (lnum == 0) are
-+ * skipped.
-+ */
-+static struct ubifs_pnode *next_pnode_to_dirty(struct ubifs_info *c,
-+ struct ubifs_pnode *pnode)
-+{
-+ struct ubifs_nnode *nnode;
-+ int iip;
-+
-+ /* Try to go right */
-+ nnode = pnode->parent;
-+ for (iip = pnode->iip + 1; iip < UBIFS_LPT_FANOUT; iip++) {
-+ if (nnode->nbranch[iip].lnum)
-+ return ubifs_get_pnode(c, nnode, iip);
-+ }
-+
-+ /* Go up while can't go right */
-+ do {
-+ iip = nnode->iip + 1;
-+ nnode = nnode->parent;
-+ if (!nnode)
-+ return NULL;
-+ for (; iip < UBIFS_LPT_FANOUT; iip++) {
-+ if (nnode->nbranch[iip].lnum)
-+ break;
-+ }
-+ } while (iip >= UBIFS_LPT_FANOUT);
-+
-+ /* Go right */
-+ nnode = ubifs_get_nnode(c, nnode, iip);
-+ if (IS_ERR(nnode))
-+ return (void *)nnode;
-+
-+ /* Go down to level 1 */
-+ while (nnode->level > 1) {
-+ for (iip = 0; iip < UBIFS_LPT_FANOUT; iip++) {
-+ if (nnode->nbranch[iip].lnum)
-+ break;
-+ }
-+ if (iip >= UBIFS_LPT_FANOUT) {
-+ /*
-+ * Should not happen, but we need to keep going
-+ * if it does.
-+ */
-+ iip = 0;
-+ }
-+ nnode = ubifs_get_nnode(c, nnode, iip);
-+ if (IS_ERR(nnode))
-+ return (void *)nnode;
-+ }
-+
-+ for (iip = 0; iip < UBIFS_LPT_FANOUT; iip++)
-+ if (nnode->nbranch[iip].lnum)
-+ break;
-+ if (iip >= UBIFS_LPT_FANOUT)
-+ /* Should not happen, but we need to keep going if it does */
-+ iip = 0;
-+ return ubifs_get_pnode(c, nnode, iip);
-+}
-+
-+/**
-+ * pnode_lookup - lookup a pnode in the LPT.
-+ * @c: UBIFS file-system description object
-+ * @i: pnode number (0 to main_lebs - 1)
-+ *
-+ * This function returns a pointer to the pnode on success or a negative
-+ * error code on failure.
-+ */
-+static struct ubifs_pnode *pnode_lookup(struct ubifs_info *c, int i)
-+{
-+ int err, h, iip, shft;
-+ struct ubifs_nnode *nnode;
-+
-+ if (!c->nroot) {
-+ err = ubifs_read_nnode(c, NULL, 0);
-+ if (err)
-+ return ERR_PTR(err);
-+ }
-+ i <<= UBIFS_LPT_FANOUT_SHIFT;
-+ nnode = c->nroot;
-+ shft = c->lpt_hght * UBIFS_LPT_FANOUT_SHIFT;
-+ for (h = 1; h < c->lpt_hght; h++) {
-+ iip = ((i >> shft) & (UBIFS_LPT_FANOUT - 1));
-+ shft -= UBIFS_LPT_FANOUT_SHIFT;
-+ nnode = ubifs_get_nnode(c, nnode, iip);
-+ if (IS_ERR(nnode))
-+ return ERR_PTR(PTR_ERR(nnode));
-+ }
-+ iip = ((i >> shft) & (UBIFS_LPT_FANOUT - 1));
-+ return ubifs_get_pnode(c, nnode, iip);
-+}
-+
-+/**
-+ * add_pnode_dirt - add dirty space to LPT LEB properties.
-+ * @c: UBIFS file-system description object
-+ * @pnode: pnode for which to add dirt
-+ */
-+static void add_pnode_dirt(struct ubifs_info *c, struct ubifs_pnode *pnode)
-+{
-+ ubifs_add_lpt_dirt(c, pnode->parent->nbranch[pnode->iip].lnum,
-+ c->pnode_sz);
-+}
-+
-+/**
-+ * do_make_pnode_dirty - mark a pnode dirty.
-+ * @c: UBIFS file-system description object
-+ * @pnode: pnode to mark dirty
-+ */
-+static void do_make_pnode_dirty(struct ubifs_info *c, struct ubifs_pnode *pnode)
-+{
-+ /* Assumes cnext list is empty i.e. not called during commit */
-+ if (!test_and_set_bit(DIRTY_CNODE, &pnode->flags)) {
-+ struct ubifs_nnode *nnode;
-+
-+ c->dirty_pn_cnt += 1;
-+ add_pnode_dirt(c, pnode);
-+ /* Mark parent and ancestors dirty too */
-+ nnode = pnode->parent;
-+ while (nnode) {
-+ if (!test_and_set_bit(DIRTY_CNODE, &nnode->flags)) {
-+ c->dirty_nn_cnt += 1;
-+ ubifs_add_nnode_dirt(c, nnode);
-+ nnode = nnode->parent;
-+ } else
-+ break;
-+ }
-+ }
-+}
-+
-+/**
-+ * make_tree_dirty - mark the entire LEB properties tree dirty.
-+ * @c: UBIFS file-system description object
-+ *
-+ * This function is used by the "small" LPT model to cause the entire LEB
-+ * properties tree to be written. The "small" LPT model does not use LPT
-+ * garbage collection because it is more efficient to write the entire tree
-+ * (because it is small).
-+ *
-+ * This function returns %0 on success and a negative error code on failure.
-+ */
-+static int make_tree_dirty(struct ubifs_info *c)
-+{
-+ struct ubifs_pnode *pnode;
-+
-+ pnode = pnode_lookup(c, 0);
-+ while (pnode) {
-+ do_make_pnode_dirty(c, pnode);
-+ pnode = next_pnode_to_dirty(c, pnode);
-+ if (IS_ERR(pnode))
-+ return PTR_ERR(pnode);
-+ }
-+ return 0;
-+}
-+
-+/**
-+ * need_write_all - determine if the LPT area is running out of free space.
-+ * @c: UBIFS file-system description object
-+ *
-+ * This function returns %1 if the LPT area is running out of free space and %0
-+ * if it is not.
-+ */
-+static int need_write_all(struct ubifs_info *c)
-+{
-+ long long free = 0;
-+ int i;
-+
-+ for (i = 0; i < c->lpt_lebs; i++) {
-+ if (i + c->lpt_first == c->nhead_lnum)
-+ free += c->leb_size - c->nhead_offs;
-+ else if (c->ltab[i].free == c->leb_size)
-+ free += c->leb_size;
-+ else if (c->ltab[i].free + c->ltab[i].dirty == c->leb_size)
-+ free += c->leb_size;
-+ }
-+ /* Less than twice the size left */
-+ if (free <= c->lpt_sz * 2)
-+ return 1;
-+ return 0;
-+}
-+
-+/**
-+ * lpt_tgc_start - start trivial garbage collection of LPT LEBs.
-+ * @c: UBIFS file-system description object
-+ *
-+ * LPT trivial garbage collection is where a LPT LEB contains only dirty and
-+ * free space and so may be reused as soon as the next commit is completed.
-+ * This function is called during start commit to mark LPT LEBs for trivial GC.
-+ */
-+static void lpt_tgc_start(struct ubifs_info *c)
-+{
-+ int i;
-+
-+ for (i = 0; i < c->lpt_lebs; i++) {
-+ if (i + c->lpt_first == c->nhead_lnum)
-+ continue;
-+ if (c->ltab[i].dirty > 0 &&
-+ c->ltab[i].free + c->ltab[i].dirty == c->leb_size) {
-+ c->ltab[i].tgc = 1;
-+ c->ltab[i].free = c->leb_size;
-+ c->ltab[i].dirty = 0;
-+ dbg_lp("LEB %d", i + c->lpt_first);
-+ }
-+ }
-+}
-+
-+/**
-+ * lpt_tgc_end - end trivial garbage collection of LPT LEBs.
-+ * @c: UBIFS file-system description object
-+ *
-+ * LPT trivial garbage collection is where a LPT LEB contains only dirty and
-+ * free space and so may be reused as soon as the next commit is completed.
-+ * This function is called after the commit is completed (master node has been
-+ * written) and un-maps LPT LEBs that were marked for trivial GC.
-+ */
-+static int lpt_tgc_end(struct ubifs_info *c)
-+{
-+ int i, err;
-+
-+ for (i = 0; i < c->lpt_lebs; i++)
-+ if (c->ltab[i].tgc) {
-+ err = ubifs_leb_unmap(c, i + c->lpt_first);
-+ if (err)
-+ return err;
-+ c->ltab[i].tgc = 0;
-+ dbg_lp("LEB %d", i + c->lpt_first);
-+ }
-+ return 0;
-+}
-+
-+/**
-+ * populate_lsave - fill the lsave array with important LEB numbers.
-+ * @c: the UBIFS file-system description object
-+ *
-+ * This function is only called for the "big" model. It records a small number
-+ * of LEB numbers of important LEBs. Important LEBs are ones that are (from
-+ * most important to least important): empty, freeable, freeable index, dirty
-+ * index, dirty or free. Upon mount, we read this list of LEB numbers and bring
-+ * their pnodes into memory. That will stop us from having to scan the LPT
-+ * straight away. For the "small" model we assume that scanning the LPT is no
-+ * big deal.
-+ */
-+static void populate_lsave(struct ubifs_info *c)
-+{
-+ struct ubifs_lprops *lprops;
-+ struct ubifs_lpt_heap *heap;
-+ int i, cnt = 0;
-+
-+ ubifs_assert(c->big_lpt);
-+ if (!(c->lpt_drty_flgs & LSAVE_DIRTY)) {
-+ c->lpt_drty_flgs |= LSAVE_DIRTY;
-+ ubifs_add_lpt_dirt(c, c->lsave_lnum, c->lsave_sz);
-+ }
-+ list_for_each_entry(lprops, &c->empty_list, list) {
-+ c->lsave[cnt++] = lprops->lnum;
-+ if (cnt >= c->lsave_cnt)
-+ return;
-+ }
-+ list_for_each_entry(lprops, &c->freeable_list, list) {
-+ c->lsave[cnt++] = lprops->lnum;
-+ if (cnt >= c->lsave_cnt)
-+ return;
-+ }
-+ list_for_each_entry(lprops, &c->frdi_idx_list, list) {
-+ c->lsave[cnt++] = lprops->lnum;
-+ if (cnt >= c->lsave_cnt)
-+ return;
-+ }
-+ heap = &c->lpt_heap[LPROPS_DIRTY_IDX - 1];
-+ for (i = 0; i < heap->cnt; i++) {
-+ c->lsave[cnt++] = heap->arr[i]->lnum;
-+ if (cnt >= c->lsave_cnt)
-+ return;
-+ }
-+ heap = &c->lpt_heap[LPROPS_DIRTY - 1];
-+ for (i = 0; i < heap->cnt; i++) {
-+ c->lsave[cnt++] = heap->arr[i]->lnum;
-+ if (cnt >= c->lsave_cnt)
-+ return;
-+ }
-+ heap = &c->lpt_heap[LPROPS_FREE - 1];
-+ for (i = 0; i < heap->cnt; i++) {
-+ c->lsave[cnt++] = heap->arr[i]->lnum;
-+ if (cnt >= c->lsave_cnt)
-+ return;
-+ }
-+ /* Fill it up completely */
-+ while (cnt < c->lsave_cnt)
-+ c->lsave[cnt++] = c->main_first;
-+}
-+
-+/**
-+ * nnode_lookup - lookup a nnode in the LPT.
-+ * @c: UBIFS file-system description object
-+ * @i: nnode number
-+ *
-+ * This function returns a pointer to the nnode on success or a negative
-+ * error code on failure.
-+ */
-+static struct ubifs_nnode *nnode_lookup(struct ubifs_info *c, int i)
-+{
-+ int err, iip;
-+ struct ubifs_nnode *nnode;
-+
-+ if (!c->nroot) {
-+ err = ubifs_read_nnode(c, NULL, 0);
-+ if (err)
-+ return ERR_PTR(err);
-+ }
-+ nnode = c->nroot;
-+ while (1) {
-+ iip = i & (UBIFS_LPT_FANOUT - 1);
-+ i >>= UBIFS_LPT_FANOUT_SHIFT;
-+ if (!i)
-+ break;
-+ nnode = ubifs_get_nnode(c, nnode, iip);
-+ if (IS_ERR(nnode))
-+ return nnode;
-+ }
-+ return nnode;
-+}
-+
-+/**
-+ * make_nnode_dirty - find a nnode and, if found, make it dirty.
-+ * @c: UBIFS file-system description object
-+ * @node_num: nnode number of nnode to make dirty
-+ * @lnum: LEB number where nnode was written
-+ * @offs: offset where nnode was written
-+ *
-+ * This function is used by LPT garbage collection. LPT garbage collection is
-+ * used only for the "big" LPT model (c->big_lpt == 1). Garbage collection
-+ * simply involves marking all the nodes in the LEB being garbage-collected as
-+ * dirty. The dirty nodes are written next commit, after which the LEB is free
-+ * to be reused.
-+ *
-+ * This function returns %0 on success and a negative error code on failure.
-+ */
-+static int make_nnode_dirty(struct ubifs_info *c, int node_num, int lnum,
-+ int offs)
-+{
-+ struct ubifs_nnode *nnode;
-+
-+ nnode = nnode_lookup(c, node_num);
-+ if (IS_ERR(nnode))
-+ return PTR_ERR(nnode);
-+ if (nnode->parent) {
-+ struct ubifs_nbranch *branch;
-+
-+ branch = &nnode->parent->nbranch[nnode->iip];
-+ if (branch->lnum != lnum || branch->offs != offs)
-+ return 0; /* nnode is obsolete */
-+ } else if (c->lpt_lnum != lnum || c->lpt_offs != offs)
-+ return 0; /* nnode is obsolete */
-+ /* Assumes cnext list is empty i.e. not called during commit */
-+ if (!test_and_set_bit(DIRTY_CNODE, &nnode->flags)) {
-+ c->dirty_nn_cnt += 1;
-+ ubifs_add_nnode_dirt(c, nnode);
-+ /* Mark parent and ancestors dirty too */
-+ nnode = nnode->parent;
-+ while (nnode) {
-+ if (!test_and_set_bit(DIRTY_CNODE, &nnode->flags)) {
-+ c->dirty_nn_cnt += 1;
-+ ubifs_add_nnode_dirt(c, nnode);
-+ nnode = nnode->parent;
-+ } else
-+ break;
-+ }
-+ }
-+ return 0;
-+}
-+
-+/**
-+ * make_pnode_dirty - find a pnode and, if found, make it dirty.
-+ * @c: UBIFS file-system description object
-+ * @node_num: pnode number of pnode to make dirty
-+ * @lnum: LEB number where pnode was written
-+ * @offs: offset where pnode was written
-+ *
-+ * This function is used by LPT garbage collection. LPT garbage collection is
-+ * used only for the "big" LPT model (c->big_lpt == 1). Garbage collection
-+ * simply involves marking all the nodes in the LEB being garbage-collected as
-+ * dirty. The dirty nodes are written next commit, after which the LEB is free
-+ * to be reused.
-+ *
-+ * This function returns %0 on success and a negative error code on failure.
-+ */
-+static int make_pnode_dirty(struct ubifs_info *c, int node_num, int lnum,
-+ int offs)
-+{
-+ struct ubifs_pnode *pnode;
-+ struct ubifs_nbranch *branch;
-+
-+ pnode = pnode_lookup(c, node_num);
-+ if (IS_ERR(pnode))
-+ return PTR_ERR(pnode);
-+ branch = &pnode->parent->nbranch[pnode->iip];
-+ if (branch->lnum != lnum || branch->offs != offs)
-+ return 0;
-+ do_make_pnode_dirty(c, pnode);
-+ return 0;
-+}
-+
-+/**
-+ * make_ltab_dirty - make ltab node dirty.
-+ * @c: UBIFS file-system description object
-+ * @lnum: LEB number where ltab was written
-+ * @offs: offset where ltab was written
-+ *
-+ * This function is used by LPT garbage collection. LPT garbage collection is
-+ * used only for the "big" LPT model (c->big_lpt == 1). Garbage collection
-+ * simply involves marking all the nodes in the LEB being garbage-collected as
-+ * dirty. The dirty nodes are written next commit, after which the LEB is free
-+ * to be reused.
-+ *
-+ * This function returns %0 on success and a negative error code on failure.
-+ */
-+static int make_ltab_dirty(struct ubifs_info *c, int lnum, int offs)
-+{
-+ if (lnum != c->ltab_lnum || offs != c->ltab_offs)
-+ return 0; /* This ltab node is obsolete */
-+ if (!(c->lpt_drty_flgs & LTAB_DIRTY)) {
-+ c->lpt_drty_flgs |= LTAB_DIRTY;
-+ ubifs_add_lpt_dirt(c, c->ltab_lnum, c->ltab_sz);
-+ }
-+ return 0;
-+}
-+
-+/**
-+ * make_lsave_dirty - make lsave node dirty.
-+ * @c: UBIFS file-system description object
-+ * @lnum: LEB number where lsave was written
-+ * @offs: offset where lsave was written
-+ *
-+ * This function is used by LPT garbage collection. LPT garbage collection is
-+ * used only for the "big" LPT model (c->big_lpt == 1). Garbage collection
-+ * simply involves marking all the nodes in the LEB being garbage-collected as
-+ * dirty. The dirty nodes are written next commit, after which the LEB is free
-+ * to be reused.
-+ *
-+ * This function returns %0 on success and a negative error code on failure.
-+ */
-+static int make_lsave_dirty(struct ubifs_info *c, int lnum, int offs)
-+{
-+ if (lnum != c->lsave_lnum || offs != c->lsave_offs)
-+ return 0; /* This lsave node is obsolete */
-+ if (!(c->lpt_drty_flgs & LSAVE_DIRTY)) {
-+ c->lpt_drty_flgs |= LSAVE_DIRTY;
-+ ubifs_add_lpt_dirt(c, c->lsave_lnum, c->lsave_sz);
-+ }
-+ return 0;
-+}
-+
-+/**
-+ * make_node_dirty - make node dirty.
-+ * @c: UBIFS file-system description object
-+ * @node_type: LPT node type
-+ * @node_num: node number
-+ * @lnum: LEB number where node was written
-+ * @offs: offset where node was written
-+ *
-+ * This function is used by LPT garbage collection. LPT garbage collection is
-+ * used only for the "big" LPT model (c->big_lpt == 1). Garbage collection
-+ * simply involves marking all the nodes in the LEB being garbage-collected as
-+ * dirty. The dirty nodes are written next commit, after which the LEB is free
-+ * to be reused.
-+ *
-+ * This function returns %0 on success and a negative error code on failure.
-+ */
-+static int make_node_dirty(struct ubifs_info *c, int node_type, int node_num,
-+ int lnum, int offs)
-+{
-+ switch (node_type) {
-+ case UBIFS_LPT_NNODE:
-+ return make_nnode_dirty(c, node_num, lnum, offs);
-+ case UBIFS_LPT_PNODE:
-+ return make_pnode_dirty(c, node_num, lnum, offs);
-+ case UBIFS_LPT_LTAB:
-+ return make_ltab_dirty(c, lnum, offs);
-+ case UBIFS_LPT_LSAVE:
-+ return make_lsave_dirty(c, lnum, offs);
-+ }
-+ return -EINVAL;
-+}
-+
-+/**
-+ * get_lpt_node_len - return the length of a node based on its type.
-+ * @c: UBIFS file-system description object
-+ * @node_type: LPT node type
-+ */
-+static int get_lpt_node_len(const struct ubifs_info *c, int node_type)
-+{
-+ switch (node_type) {
-+ case UBIFS_LPT_NNODE:
-+ return c->nnode_sz;
-+ case UBIFS_LPT_PNODE:
-+ return c->pnode_sz;
-+ case UBIFS_LPT_LTAB:
-+ return c->ltab_sz;
-+ case UBIFS_LPT_LSAVE:
-+ return c->lsave_sz;
-+ }
-+ return 0;
-+}
-+
-+/**
-+ * get_pad_len - return the length of padding in a buffer.
-+ * @c: UBIFS file-system description object
-+ * @buf: buffer
-+ * @len: length of buffer
-+ */
-+static int get_pad_len(const struct ubifs_info *c, uint8_t *buf, int len)
-+{
-+ int offs, pad_len;
-+
-+ if (c->min_io_size == 1)
-+ return 0;
-+ offs = c->leb_size - len;
-+ pad_len = ALIGN(offs, c->min_io_size) - offs;
-+ return pad_len;
-+}
-+
-+/**
-+ * get_lpt_node_type - return type (and node number) of a node in a buffer.
-+ * @c: UBIFS file-system description object
-+ * @buf: buffer
-+ * @node_num: node number is returned here
-+ */
-+static int get_lpt_node_type(const struct ubifs_info *c, uint8_t *buf,
-+ int *node_num)
-+{
-+ uint8_t *addr = buf + UBIFS_LPT_CRC_BYTES;
-+ int pos = 0, node_type;
-+
-+ node_type = ubifs_unpack_bits(&addr, &pos, UBIFS_LPT_TYPE_BITS);
-+ *node_num = ubifs_unpack_bits(&addr, &pos, c->pcnt_bits);
-+ return node_type;
-+}
-+
-+/**
-+ * is_a_node - determine if a buffer contains a node.
-+ * @c: UBIFS file-system description object
-+ * @buf: buffer
-+ * @len: length of buffer
-+ *
-+ * This function returns %1 if the buffer contains a node or %0 if it does not.
-+ */
-+static int is_a_node(const struct ubifs_info *c, uint8_t *buf, int len)
-+{
-+ uint8_t *addr = buf + UBIFS_LPT_CRC_BYTES;
-+ int pos = 0, node_type, node_len;
-+ uint16_t crc, calc_crc;
-+
-+ if (len < UBIFS_LPT_CRC_BYTES + (UBIFS_LPT_TYPE_BITS + 7) / 8)
-+ return 0;
-+ node_type = ubifs_unpack_bits(&addr, &pos, UBIFS_LPT_TYPE_BITS);
-+ if (node_type == UBIFS_LPT_NOT_A_NODE)
-+ return 0;
-+ node_len = get_lpt_node_len(c, node_type);
-+ if (!node_len || node_len > len)
-+ return 0;
-+ pos = 0;
-+ addr = buf;
-+ crc = ubifs_unpack_bits(&addr, &pos, UBIFS_LPT_CRC_BITS);
-+ calc_crc = crc16(-1, buf + UBIFS_LPT_CRC_BYTES,
-+ node_len - UBIFS_LPT_CRC_BYTES);
-+ if (crc != calc_crc)
-+ return 0;
-+ return 1;
-+}
-+
-+/**
-+ * lpt_gc_lnum - garbage collect a LPT LEB.
-+ * @c: UBIFS file-system description object
-+ * @lnum: LEB number to garbage collect
-+ *
-+ * LPT garbage collection is used only for the "big" LPT model
-+ * (c->big_lpt == 1). Garbage collection simply involves marking all the nodes
-+ * in the LEB being garbage-collected as dirty. The dirty nodes are written
-+ * next commit, after which the LEB is free to be reused.
-+ *
-+ * This function returns %0 on success and a negative error code on failure.
-+ */
-+static int lpt_gc_lnum(struct ubifs_info *c, int lnum)
-+{
-+ int err, len = c->leb_size, node_type, node_num, node_len, offs;
-+ void *buf = c->lpt_buf;
-+
-+ dbg_lp("LEB %d", lnum);
-+ err = ubi_read(c->ubi, lnum, buf, 0, c->leb_size);
-+ if (err) {
-+ ubifs_err("cannot read LEB %d, error %d", lnum, err);
-+ return err;
-+ }
-+ while (1) {
-+ if (!is_a_node(c, buf, len)) {
-+ int pad_len;
-+
-+ pad_len = get_pad_len(c, buf, len);
-+ if (pad_len) {
-+ buf += pad_len;
-+ len -= pad_len;
-+ continue;
-+ }
-+ return 0;
-+ }
-+ node_type = get_lpt_node_type(c, buf, &node_num);
-+ node_len = get_lpt_node_len(c, node_type);
-+ offs = c->leb_size - len;
-+ ubifs_assert(node_len != 0);
-+ mutex_lock(&c->lp_mutex);
-+ err = make_node_dirty(c, node_type, node_num, lnum, offs);
-+ mutex_unlock(&c->lp_mutex);
-+ if (err)
-+ return err;
-+ buf += node_len;
-+ len -= node_len;
-+ }
-+ return 0;
-+}
-+
-+/**
-+ * lpt_gc - LPT garbage collection.
-+ * @c: UBIFS file-system description object
-+ *
-+ * Select a LPT LEB for LPT garbage collection and call 'lpt_gc_lnum()'.
-+ * Returns %0 on success and a negative error code on failure.
-+ */
-+static int lpt_gc(struct ubifs_info *c)
-+{
-+ int i, lnum = -1, dirty = 0;
-+
-+ mutex_lock(&c->lp_mutex);
-+ for (i = 0; i < c->lpt_lebs; i++) {
-+ ubifs_assert(!c->ltab[i].tgc);
-+ if (i + c->lpt_first == c->nhead_lnum ||
-+ c->ltab[i].free + c->ltab[i].dirty == c->leb_size)
-+ continue;
-+ if (c->ltab[i].dirty > dirty) {
-+ dirty = c->ltab[i].dirty;
-+ lnum = i + c->lpt_first;
-+ }
-+ }
-+ mutex_unlock(&c->lp_mutex);
-+ if (lnum == -1)
-+ return -ENOSPC;
-+ return lpt_gc_lnum(c, lnum);
-+}
-+
-+/**
-+ * ubifs_lpt_start_commit - UBIFS commit starts.
-+ * @c: the UBIFS file-system description object
-+ *
-+ * This function has to be called when UBIFS starts the commit operation.
-+ * This function "freezes" all currently dirty LEB properties and does not
-+ * change them anymore. Further changes are saved and tracked separately
-+ * because they are not part of this commit. This function returns zero in case
-+ * of success and a negative error code in case of failure.
-+ */
-+int ubifs_lpt_start_commit(struct ubifs_info *c)
-+{
-+ int err, cnt;
-+
-+ dbg_lp("");
-+
-+ mutex_lock(&c->lp_mutex);
-+ err = dbg_chk_lpt_free_spc(c);
-+ if (err)
-+ goto out;
-+ err = dbg_check_ltab(c);
-+ if (err)
-+ goto out;
-+
-+ if (c->check_lpt_free) {
-+ /*
-+ * We ensure there is enough free space in
-+ * ubifs_lpt_post_commit() by marking nodes dirty. That
-+ * information is lost when we unmount, so we also need
-+ * to check free space once after mounting also.
-+ */
-+ c->check_lpt_free = 0;
-+ while (need_write_all(c)) {
-+ mutex_unlock(&c->lp_mutex);
-+ err = lpt_gc(c);
-+ if (err)
-+ return err;
-+ mutex_lock(&c->lp_mutex);
-+ }
-+ }
-+
-+ lpt_tgc_start(c);
-+
-+ if (!c->dirty_pn_cnt) {
-+ dbg_cmt("no cnodes to commit");
-+ err = 0;
-+ goto out;
-+ }
-+
-+ if (!c->big_lpt && need_write_all(c)) {
-+ /* If needed, write everything */
-+ err = make_tree_dirty(c);
-+ if (err)
-+ goto out;
-+ lpt_tgc_start(c);
-+ }
-+
-+ if (c->big_lpt)
-+ populate_lsave(c);
-+
-+ cnt = get_cnodes_to_commit(c);
-+ ubifs_assert(cnt != 0);
-+
-+ err = layout_cnodes(c);
-+ if (err)
-+ goto out;
-+
-+ /* Copy the LPT's own lprops for end commit to write */
-+ memcpy(c->ltab_cmt, c->ltab,
-+ sizeof(struct ubifs_lpt_lprops) * c->lpt_lebs);
-+ c->lpt_drty_flgs &= ~(LTAB_DIRTY | LSAVE_DIRTY);
-+
-+out:
-+ mutex_unlock(&c->lp_mutex);
-+ return err;
-+}
-+
-+/**
-+ * free_obsolete_cnodes - free obsolete cnodes for commit end.
-+ * @c: UBIFS file-system description object
-+ */
-+static void free_obsolete_cnodes(struct ubifs_info *c)
-+{
-+ struct ubifs_cnode *cnode, *cnext;
-+
-+ cnext = c->lpt_cnext;
-+ if (!cnext)
-+ return;
-+ do {
-+ cnode = cnext;
-+ cnext = cnode->cnext;
-+ if (test_bit(OBSOLETE_CNODE, &cnode->flags))
-+ kfree(cnode);
-+ else
-+ cnode->cnext = NULL;
-+ } while (cnext != c->lpt_cnext);
-+ c->lpt_cnext = NULL;
-+}
-+
-+/**
-+ * ubifs_lpt_end_commit - finish the commit operation.
-+ * @c: the UBIFS file-system description object
-+ *
-+ * This function has to be called when the commit operation finishes. It
-+ * flushes the changes which were "frozen" by 'ubifs_lprops_start_commit()' to
-+ * the media. Returns zero in case of success and a negative error code in case
-+ * of failure.
-+ */
-+int ubifs_lpt_end_commit(struct ubifs_info *c)
-+{
-+ int err;
-+
-+ dbg_lp("");
-+
-+ if (!c->lpt_cnext)
-+ return 0;
-+
-+ err = write_cnodes(c);
-+ if (err)
-+ return err;
-+
-+ mutex_lock(&c->lp_mutex);
-+ free_obsolete_cnodes(c);
-+ mutex_unlock(&c->lp_mutex);
-+
-+ return 0;
-+}
-+
-+/**
-+ * ubifs_lpt_post_commit - post commit LPT trivial GC and LPT GC.
-+ * @c: UBIFS file-system description object
-+ *
-+ * LPT trivial GC is completed after a commit. Also LPT GC is done after a
-+ * commit for the "big" LPT model.
-+ */
-+int ubifs_lpt_post_commit(struct ubifs_info *c)
-+{
-+ int err;
-+
-+ mutex_lock(&c->lp_mutex);
-+ err = lpt_tgc_end(c);
-+ if (err)
-+ goto out;
-+ if (c->big_lpt)
-+ while (need_write_all(c)) {
-+ mutex_unlock(&c->lp_mutex);
-+ err = lpt_gc(c);
-+ if (err)
-+ return err;
-+ mutex_lock(&c->lp_mutex);
-+ }
-+out:
-+ mutex_unlock(&c->lp_mutex);
-+ return err;
-+}
-+
-+/**
-+ * first_nnode - find the first nnode in memory.
-+ * @c: UBIFS file-system description object
-+ * @hght: height of tree where nnode found is returned here
-+ *
-+ * This function returns a pointer to the nnode found or %NULL if no nnode is
-+ * found. This function is a helper to 'ubifs_lpt_free()'.
-+ */
-+static struct ubifs_nnode *first_nnode(struct ubifs_info *c, int *hght)
-+{
-+ struct ubifs_nnode *nnode;
-+ int h, i, found;
-+
-+ nnode = c->nroot;
-+ *hght = 0;
-+ if (!nnode)
-+ return NULL;
-+ for (h = 1; h < c->lpt_hght; h++) {
-+ found = 0;
-+ for (i = 0; i < UBIFS_LPT_FANOUT; i++) {
-+ if (nnode->nbranch[i].nnode) {
-+ found = 1;
-+ nnode = nnode->nbranch[i].nnode;
-+ *hght = h;
-+ break;
-+ }
-+ }
-+ if (!found)
-+ break;
-+ }
-+ return nnode;
-+}
-+
-+/**
-+ * next_nnode - find the next nnode in memory.
-+ * @c: UBIFS file-system description object
-+ * @nnode: nnode from which to start.
-+ * @hght: height of tree where nnode is, is passed and returned here
-+ *
-+ * This function returns a pointer to the nnode found or %NULL if no nnode is
-+ * found. This function is a helper to 'ubifs_lpt_free()'.
-+ */
-+static struct ubifs_nnode *next_nnode(struct ubifs_info *c,
-+ struct ubifs_nnode *nnode, int *hght)
-+{
-+ struct ubifs_nnode *parent;
-+ int iip, h, i, found;
-+
-+ parent = nnode->parent;
-+ if (!parent)
-+ return NULL;
-+ if (nnode->iip == UBIFS_LPT_FANOUT - 1) {
-+ *hght -= 1;
-+ return parent;
-+ }
-+ for (iip = nnode->iip + 1; iip < UBIFS_LPT_FANOUT; iip++) {
-+ nnode = parent->nbranch[iip].nnode;
-+ if (nnode)
-+ break;
-+ }
-+ if (!nnode) {
-+ *hght -= 1;
-+ return parent;
-+ }
-+ for (h = *hght + 1; h < c->lpt_hght; h++) {
-+ found = 0;
-+ for (i = 0; i < UBIFS_LPT_FANOUT; i++) {
-+ if (nnode->nbranch[i].nnode) {
-+ found = 1;
-+ nnode = nnode->nbranch[i].nnode;
-+ *hght = h;
-+ break;
-+ }
-+ }
-+ if (!found)
-+ break;
-+ }
-+ return nnode;
-+}
-+
-+/**
-+ * ubifs_lpt_free - free resources owned by the LPT.
-+ * @c: UBIFS file-system description object
-+ * @wr_only: free only resources used for writing
-+ */
-+void ubifs_lpt_free(struct ubifs_info *c, int wr_only)
-+{
-+ struct ubifs_nnode *nnode;
-+ int i, hght;
-+
-+ /* Free write-only things first */
-+
-+ free_obsolete_cnodes(c); /* Leftover from a failed commit */
-+
-+ vfree(c->ltab_cmt);
-+ c->ltab_cmt = NULL;
-+ vfree(c->lpt_buf);
-+ c->lpt_buf = NULL;
-+ kfree(c->lsave);
-+ c->lsave = NULL;
-+
-+ if (wr_only)
-+ return;
-+
-+ /* Now free the rest */
-+
-+ nnode = first_nnode(c, &hght);
-+ while (nnode) {
-+ for (i = 0; i < UBIFS_LPT_FANOUT; i++)
-+ kfree(nnode->nbranch[i].nnode);
-+ nnode = next_nnode(c, nnode, &hght);
-+ }
-+ for (i = 0; i < LPROPS_HEAP_CNT; i++)
-+ kfree(c->lpt_heap[i].arr);
-+ kfree(c->dirty_idx.arr);
-+ kfree(c->nroot);
-+ vfree(c->ltab);
-+ kfree(c->lpt_nod_buf);
-+}
-+
-+#ifdef CONFIG_UBIFS_FS_DEBUG
-+
-+/**
-+ * dbg_is_all_ff - determine if a buffer contains only 0xFF bytes.
-+ * @buf: buffer
-+ * @len: buffer length
-+ */
-+static int dbg_is_all_ff(uint8_t *buf, int len)
-+{
-+ int i;
-+
-+ for (i = 0; i < len; i++)
-+ if (buf[i] != 0xff)
-+ return 0;
-+ return 1;
-+}
-+
-+/**
-+ * dbg_is_nnode_dirty - determine if a nnode is dirty.
-+ * @c: the UBIFS file-system description object
-+ * @lnum: LEB number where nnode was written
-+ * @offs: offset where nnode was written
-+ */
-+static int dbg_is_nnode_dirty(struct ubifs_info *c, int lnum, int offs)
-+{
-+ struct ubifs_nnode *nnode;
-+ int hght;
-+
-+ /* Entire tree is in memory so first_nnode / next_nnode are OK */
-+ nnode = first_nnode(c, &hght);
-+ for (; nnode; nnode = next_nnode(c, nnode, &hght)) {
-+ struct ubifs_nbranch *branch;
-+
-+ cond_resched();
-+ if (nnode->parent) {
-+ branch = &nnode->parent->nbranch[nnode->iip];
-+ if (branch->lnum != lnum || branch->offs != offs)
-+ continue;
-+ if (test_bit(DIRTY_CNODE, &nnode->flags))
-+ return 1;
-+ return 0;
-+ } else {
-+ if (c->lpt_lnum != lnum || c->lpt_offs != offs)
-+ continue;
-+ if (test_bit(DIRTY_CNODE, &nnode->flags))
-+ return 1;
-+ return 0;
-+ }
-+ }
-+ return 1;
-+}
-+
-+/**
-+ * dbg_is_pnode_dirty - determine if a pnode is dirty.
-+ * @c: the UBIFS file-system description object
-+ * @lnum: LEB number where pnode was written
-+ * @offs: offset where pnode was written
-+ */
-+static int dbg_is_pnode_dirty(struct ubifs_info *c, int lnum, int offs)
-+{
-+ int i, cnt;
-+
-+ cnt = DIV_ROUND_UP(c->main_lebs, UBIFS_LPT_FANOUT);
-+ for (i = 0; i < cnt; i++) {
-+ struct ubifs_pnode *pnode;
-+ struct ubifs_nbranch *branch;
-+
-+ cond_resched();
-+ pnode = pnode_lookup(c, i);
-+ if (IS_ERR(pnode))
-+ return PTR_ERR(pnode);
-+ branch = &pnode->parent->nbranch[pnode->iip];
-+ if (branch->lnum != lnum || branch->offs != offs)
-+ continue;
-+ if (test_bit(DIRTY_CNODE, &pnode->flags))
-+ return 1;
-+ return 0;
-+ }
-+ return 1;
-+}
-+
-+/**
-+ * dbg_is_ltab_dirty - determine if a ltab node is dirty.
-+ * @c: the UBIFS file-system description object
-+ * @lnum: LEB number where ltab node was written
-+ * @offs: offset where ltab node was written
-+ */
-+static int dbg_is_ltab_dirty(struct ubifs_info *c, int lnum, int offs)
-+{
-+ if (lnum != c->ltab_lnum || offs != c->ltab_offs)
-+ return 1;
-+ return (c->lpt_drty_flgs & LTAB_DIRTY) != 0;
-+}
-+
-+/**
-+ * dbg_is_lsave_dirty - determine if a lsave node is dirty.
-+ * @c: the UBIFS file-system description object
-+ * @lnum: LEB number where lsave node was written
-+ * @offs: offset where lsave node was written
-+ */
-+static int dbg_is_lsave_dirty(struct ubifs_info *c, int lnum, int offs)
-+{
-+ if (lnum != c->lsave_lnum || offs != c->lsave_offs)
-+ return 1;
-+ return (c->lpt_drty_flgs & LSAVE_DIRTY) != 0;
-+}
-+
-+/**
-+ * dbg_is_node_dirty - determine if a node is dirty.
-+ * @c: the UBIFS file-system description object
-+ * @node_type: node type
-+ * @lnum: LEB number where node was written
-+ * @offs: offset where node was written
-+ */
-+static int dbg_is_node_dirty(struct ubifs_info *c, int node_type, int lnum,
-+ int offs)
-+{
-+ switch (node_type) {
-+ case UBIFS_LPT_NNODE:
-+ return dbg_is_nnode_dirty(c, lnum, offs);
-+ case UBIFS_LPT_PNODE:
-+ return dbg_is_pnode_dirty(c, lnum, offs);
-+ case UBIFS_LPT_LTAB:
-+ return dbg_is_ltab_dirty(c, lnum, offs);
-+ case UBIFS_LPT_LSAVE:
-+ return dbg_is_lsave_dirty(c, lnum, offs);
-+ }
-+ return 1;
-+}
-+
-+/**
-+ * dbg_check_ltab_lnum - check the ltab for a LPT LEB number.
-+ * @c: the UBIFS file-system description object
-+ * @lnum: LEB number where node was written
-+ * @offs: offset where node was written
-+ *
-+ * This function returns %0 on success and a negative error code on failure.
-+ */
-+static int dbg_check_ltab_lnum(struct ubifs_info *c, int lnum)
-+{
-+ int err, len = c->leb_size, dirty = 0, node_type, node_num, node_len;
-+ int ret;
-+ void *buf = c->dbg->buf;
-+
-+ if (!(ubifs_chk_flags & UBIFS_CHK_LPROPS))
-+ return 0;
-+
-+ dbg_lp("LEB %d", lnum);
-+ err = ubi_read(c->ubi, lnum, buf, 0, c->leb_size);
-+ if (err) {
-+ dbg_msg("ubi_read failed, LEB %d, error %d", lnum, err);
-+ return err;
-+ }
-+ while (1) {
-+ if (!is_a_node(c, buf, len)) {
-+ int i, pad_len;
-+
-+ pad_len = get_pad_len(c, buf, len);
-+ if (pad_len) {
-+ buf += pad_len;
-+ len -= pad_len;
-+ dirty += pad_len;
-+ continue;
-+ }
-+ if (!dbg_is_all_ff(buf, len)) {
-+ dbg_msg("invalid empty space in LEB %d at %d",
-+ lnum, c->leb_size - len);
-+ err = -EINVAL;
-+ }
-+ i = lnum - c->lpt_first;
-+ if (len != c->ltab[i].free) {
-+ dbg_msg("invalid free space in LEB %d "
-+ "(free %d, expected %d)",
-+ lnum, len, c->ltab[i].free);
-+ err = -EINVAL;
-+ }
-+ if (dirty != c->ltab[i].dirty) {
-+ dbg_msg("invalid dirty space in LEB %d "
-+ "(dirty %d, expected %d)",
-+ lnum, dirty, c->ltab[i].dirty);
-+ err = -EINVAL;
-+ }
-+ return err;
-+ }
-+ node_type = get_lpt_node_type(c, buf, &node_num);
-+ node_len = get_lpt_node_len(c, node_type);
-+ ret = dbg_is_node_dirty(c, node_type, lnum, c->leb_size - len);
-+ if (ret == 1)
-+ dirty += node_len;
-+ buf += node_len;
-+ len -= node_len;
-+ }
-+}
-+
-+/**
-+ * dbg_check_ltab - check the free and dirty space in the ltab.
-+ * @c: the UBIFS file-system description object
-+ *
-+ * This function returns %0 on success and a negative error code on failure.
-+ */
-+int dbg_check_ltab(struct ubifs_info *c)
-+{
-+ int lnum, err, i, cnt;
-+
-+ if (!(ubifs_chk_flags & UBIFS_CHK_LPROPS))
-+ return 0;
-+
-+ /* Bring the entire tree into memory */
-+ cnt = DIV_ROUND_UP(c->main_lebs, UBIFS_LPT_FANOUT);
-+ for (i = 0; i < cnt; i++) {
-+ struct ubifs_pnode *pnode;
-+
-+ pnode = pnode_lookup(c, i);
-+ if (IS_ERR(pnode))
-+ return PTR_ERR(pnode);
-+ cond_resched();
-+ }
-+
-+ /* Check nodes */
-+ err = dbg_check_lpt_nodes(c, (struct ubifs_cnode *)c->nroot, 0, 0);
-+ if (err)
-+ return err;
-+
-+ /* Check each LEB */
-+ for (lnum = c->lpt_first; lnum <= c->lpt_last; lnum++) {
-+ err = dbg_check_ltab_lnum(c, lnum);
-+ if (err) {
-+ dbg_err("failed at LEB %d", lnum);
-+ return err;
-+ }
-+ }
-+
-+ dbg_lp("succeeded");
-+ return 0;
-+}
-+
-+/**
-+ * dbg_chk_lpt_free_spc - check LPT free space is enough to write entire LPT.
-+ * @c: the UBIFS file-system description object
-+ *
-+ * This function returns %0 on success and a negative error code on failure.
-+ */
-+int dbg_chk_lpt_free_spc(struct ubifs_info *c)
-+{
-+ long long free = 0;
-+ int i;
-+
-+ if (!(ubifs_chk_flags & UBIFS_CHK_LPROPS))
-+ return 0;
-+
-+ for (i = 0; i < c->lpt_lebs; i++) {
-+ if (c->ltab[i].tgc || c->ltab[i].cmt)
-+ continue;
-+ if (i + c->lpt_first == c->nhead_lnum)
-+ free += c->leb_size - c->nhead_offs;
-+ else if (c->ltab[i].free == c->leb_size)
-+ free += c->leb_size;
-+ }
-+ if (free < c->lpt_sz) {
-+ dbg_err("LPT space error: free %lld lpt_sz %lld",
-+ free, c->lpt_sz);
-+ dbg_dump_lpt_info(c);
-+ dbg_dump_lpt_lebs(c);
-+ dump_stack();
-+ return -EINVAL;
-+ }
-+ return 0;
-+}
-+
-+/**
-+ * dbg_chk_lpt_sz - check LPT does not write more than LPT size.
-+ * @c: the UBIFS file-system description object
-+ * @action: action
-+ * @len: length written
-+ *
-+ * This function returns %0 on success and a negative error code on failure.
-+ */
-+int dbg_chk_lpt_sz(struct ubifs_info *c, int action, int len)
-+{
-+ struct ubifs_debug_info *d = c->dbg;
-+ long long chk_lpt_sz, lpt_sz;
-+ int err = 0;
-+
-+ if (!(ubifs_chk_flags & UBIFS_CHK_LPROPS))
-+ return 0;
-+
-+ switch (action) {
-+ case 0:
-+ d->chk_lpt_sz = 0;
-+ d->chk_lpt_sz2 = 0;
-+ d->chk_lpt_lebs = 0;
-+ d->chk_lpt_wastage = 0;
-+ if (c->dirty_pn_cnt > c->pnode_cnt) {
-+ dbg_err("dirty pnodes %d exceed max %d",
-+ c->dirty_pn_cnt, c->pnode_cnt);
-+ err = -EINVAL;
-+ }
-+ if (c->dirty_nn_cnt > c->nnode_cnt) {
-+ dbg_err("dirty nnodes %d exceed max %d",
-+ c->dirty_nn_cnt, c->nnode_cnt);
-+ err = -EINVAL;
-+ }
-+ return err;
-+ case 1:
-+ d->chk_lpt_sz += len;
-+ return 0;
-+ case 2:
-+ d->chk_lpt_sz += len;
-+ d->chk_lpt_wastage += len;
-+ d->chk_lpt_lebs += 1;
-+ return 0;
-+ case 3:
-+ chk_lpt_sz = c->leb_size;
-+ chk_lpt_sz *= d->chk_lpt_lebs;
-+ chk_lpt_sz += len - c->nhead_offs;
-+ if (d->chk_lpt_sz != chk_lpt_sz) {
-+ dbg_err("LPT wrote %lld but space used was %lld",
-+ d->chk_lpt_sz, chk_lpt_sz);
-+ err = -EINVAL;
-+ }
-+ if (d->chk_lpt_sz > c->lpt_sz) {
-+ dbg_err("LPT wrote %lld but lpt_sz is %lld",
-+ d->chk_lpt_sz, c->lpt_sz);
-+ err = -EINVAL;
-+ }
-+ if (d->chk_lpt_sz2 && d->chk_lpt_sz != d->chk_lpt_sz2) {
-+ dbg_err("LPT layout size %lld but wrote %lld",
-+ d->chk_lpt_sz, d->chk_lpt_sz2);
-+ err = -EINVAL;
-+ }
-+ if (d->chk_lpt_sz2 && d->new_nhead_offs != len) {
-+ dbg_err("LPT new nhead offs: expected %d was %d",
-+ d->new_nhead_offs, len);
-+ err = -EINVAL;
-+ }
-+ lpt_sz = (long long)c->pnode_cnt * c->pnode_sz;
-+ lpt_sz += (long long)c->nnode_cnt * c->nnode_sz;
-+ lpt_sz += c->ltab_sz;
-+ if (c->big_lpt)
-+ lpt_sz += c->lsave_sz;
-+ if (d->chk_lpt_sz - d->chk_lpt_wastage > lpt_sz) {
-+ dbg_err("LPT chk_lpt_sz %lld + waste %lld exceeds %lld",
-+ d->chk_lpt_sz, d->chk_lpt_wastage, lpt_sz);
-+ err = -EINVAL;
-+ }
-+ if (err) {
-+ dbg_dump_lpt_info(c);
-+ dbg_dump_lpt_lebs(c);
-+ dump_stack();
-+ }
-+ d->chk_lpt_sz2 = d->chk_lpt_sz;
-+ d->chk_lpt_sz = 0;
-+ d->chk_lpt_wastage = 0;
-+ d->chk_lpt_lebs = 0;
-+ d->new_nhead_offs = len;
-+ return err;
-+ case 4:
-+ d->chk_lpt_sz += len;
-+ d->chk_lpt_wastage += len;
-+ return 0;
-+ default:
-+ return -EINVAL;
-+ }
-+}
-+
-+/**
-+ * dbg_dump_lpt_leb - dump an LPT LEB.
-+ * @c: UBIFS file-system description object
-+ * @lnum: LEB number to dump
-+ *
-+ * This function dumps an LEB from LPT area. Nodes in this area are very
-+ * different to nodes in the main area (e.g., they do not have common headers,
-+ * they do not have 8-byte alignments, etc), so we have a separate function to
-+ * dump LPT area LEBs. Note, LPT has to be locked by the caller.
-+ */
-+static void dump_lpt_leb(const struct ubifs_info *c, int lnum)
-+{
-+ int err, len = c->leb_size, node_type, node_num, node_len, offs;
-+ void *buf = c->dbg->buf;
-+
-+ printk(KERN_DEBUG "(pid %d) start dumping LEB %d\n",
-+ current->pid, lnum);
-+ err = ubi_read(c->ubi, lnum, buf, 0, c->leb_size);
-+ if (err) {
-+ ubifs_err("cannot read LEB %d, error %d", lnum, err);
-+ return;
-+ }
-+ while (1) {
-+ offs = c->leb_size - len;
-+ if (!is_a_node(c, buf, len)) {
-+ int pad_len;
-+
-+ pad_len = get_pad_len(c, buf, len);
-+ if (pad_len) {
-+ printk(KERN_DEBUG "LEB %d:%d, pad %d bytes\n",
-+ lnum, offs, pad_len);
-+ buf += pad_len;
-+ len -= pad_len;
-+ continue;
-+ }
-+ if (len)
-+ printk(KERN_DEBUG "LEB %d:%d, free %d bytes\n",
-+ lnum, offs, len);
-+ break;
-+ }
-+
-+ node_type = get_lpt_node_type(c, buf, &node_num);
-+ switch (node_type) {
-+ case UBIFS_LPT_PNODE:
-+ {
-+ node_len = c->pnode_sz;
-+ if (c->big_lpt)
-+ printk(KERN_DEBUG "LEB %d:%d, pnode num %d\n",
-+ lnum, offs, node_num);
-+ else
-+ printk(KERN_DEBUG "LEB %d:%d, pnode\n",
-+ lnum, offs);
-+ break;
-+ }
-+ case UBIFS_LPT_NNODE:
-+ {
-+ int i;
-+ struct ubifs_nnode nnode;
-+
-+ node_len = c->nnode_sz;
-+ if (c->big_lpt)
-+ printk(KERN_DEBUG "LEB %d:%d, nnode num %d, ",
-+ lnum, offs, node_num);
-+ else
-+ printk(KERN_DEBUG "LEB %d:%d, nnode, ",
-+ lnum, offs);
-+ err = ubifs_unpack_nnode(c, buf, &nnode);
-+ for (i = 0; i < UBIFS_LPT_FANOUT; i++) {
-+ printk("%d:%d", nnode.nbranch[i].lnum,
-+ nnode.nbranch[i].offs);
-+ if (i != UBIFS_LPT_FANOUT - 1)
-+ printk(", ");
-+ }
-+ printk("\n");
-+ break;
-+ }
-+ case UBIFS_LPT_LTAB:
-+ node_len = c->ltab_sz;
-+ printk(KERN_DEBUG "LEB %d:%d, ltab\n",
-+ lnum, offs);
-+ break;
-+ case UBIFS_LPT_LSAVE:
-+ node_len = c->lsave_sz;
-+ printk(KERN_DEBUG "LEB %d:%d, lsave len\n", lnum, offs);
-+ break;
-+ default:
-+ ubifs_err("LPT node type %d not recognized", node_type);
-+ return;
-+ }
-+
-+ buf += node_len;
-+ len -= node_len;
-+ }
-+
-+ printk(KERN_DEBUG "(pid %d) finish dumping LEB %d\n",
-+ current->pid, lnum);
-+}
-+
-+/**
-+ * dbg_dump_lpt_lebs - dump LPT lebs.
-+ * @c: UBIFS file-system description object
-+ *
-+ * This function dumps all LPT LEBs. The caller has to make sure the LPT is
-+ * locked.
-+ */
-+void dbg_dump_lpt_lebs(const struct ubifs_info *c)
-+{
-+ int i;
-+
-+ printk(KERN_DEBUG "(pid %d) start dumping all LPT LEBs\n",
-+ current->pid);
-+ for (i = 0; i < c->lpt_lebs; i++)
-+ dump_lpt_leb(c, i + c->lpt_first);
-+ printk(KERN_DEBUG "(pid %d) finish dumping all LPT LEBs\n",
-+ current->pid);
-+}
-+
-+#endif /* CONFIG_UBIFS_FS_DEBUG */
-diff -Nurd linux-2.6.24.orig/fs/ubifs/master.c linux-2.6.24/fs/ubifs/master.c
---- linux-2.6.24.orig/fs/ubifs/master.c 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.24/fs/ubifs/master.c 2009-04-17 09:49:28.000000000 +0200
-@@ -0,0 +1,387 @@
-+/*
-+ * This file is part of UBIFS.
-+ *
-+ * Copyright (C) 2006-2008 Nokia Corporation.
-+ *
-+ * This program is free software; you can redistribute it and/or modify it
-+ * under the terms of the GNU General Public License version 2 as published by
-+ * the Free Software Foundation.
-+ *
-+ * 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, write to the Free Software Foundation, Inc., 51
-+ * Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
-+ *
-+ * Authors: Artem Bityutskiy (Битюцкий Ðртём)
-+ * Adrian Hunter
-+ */
-+
-+/* This file implements reading and writing the master node */
-+
-+#include "ubifs.h"
-+
-+/**
-+ * scan_for_master - search the valid master node.
-+ * @c: UBIFS file-system description object
-+ *
-+ * This function scans the master node LEBs and search for the latest master
-+ * node. Returns zero in case of success and a negative error code in case of
-+ * failure.
-+ */
-+static int scan_for_master(struct ubifs_info *c)
-+{
-+ struct ubifs_scan_leb *sleb;
-+ struct ubifs_scan_node *snod;
-+ int lnum, offs = 0, nodes_cnt;
-+
-+ lnum = UBIFS_MST_LNUM;
-+
-+ sleb = ubifs_scan(c, lnum, 0, c->sbuf);
-+ if (IS_ERR(sleb))
-+ return PTR_ERR(sleb);
-+ nodes_cnt = sleb->nodes_cnt;
-+ if (nodes_cnt > 0) {
-+ snod = list_entry(sleb->nodes.prev, struct ubifs_scan_node,
-+ list);
-+ if (snod->type != UBIFS_MST_NODE)
-+ goto out;
-+ memcpy(c->mst_node, snod->node, snod->len);
-+ offs = snod->offs;
-+ }
-+ ubifs_scan_destroy(sleb);
-+
-+ lnum += 1;
-+
-+ sleb = ubifs_scan(c, lnum, 0, c->sbuf);
-+ if (IS_ERR(sleb))
-+ return PTR_ERR(sleb);
-+ if (sleb->nodes_cnt != nodes_cnt)
-+ goto out;
-+ if (!sleb->nodes_cnt)
-+ goto out;
-+ snod = list_entry(sleb->nodes.prev, struct ubifs_scan_node, list);
-+ if (snod->type != UBIFS_MST_NODE)
-+ goto out;
-+ if (snod->offs != offs)
-+ goto out;
-+ if (memcmp((void *)c->mst_node + UBIFS_CH_SZ,
-+ (void *)snod->node + UBIFS_CH_SZ,
-+ UBIFS_MST_NODE_SZ - UBIFS_CH_SZ))
-+ goto out;
-+ c->mst_offs = offs;
-+ ubifs_scan_destroy(sleb);
-+ return 0;
-+
-+out:
-+ ubifs_scan_destroy(sleb);
-+ return -EINVAL;
-+}
-+
-+/**
-+ * validate_master - validate master node.
-+ * @c: UBIFS file-system description object
-+ *
-+ * This function validates data which was read from master node. Returns zero
-+ * if the data is all right and %-EINVAL if not.
-+ */
-+static int validate_master(const struct ubifs_info *c)
-+{
-+ long long main_sz;
-+ int err;
-+
-+ if (c->max_sqnum >= SQNUM_WATERMARK) {
-+ err = 1;
-+ goto out;
-+ }
-+
-+ if (c->cmt_no >= c->max_sqnum) {
-+ err = 2;
-+ goto out;
-+ }
-+
-+ if (c->highest_inum >= INUM_WATERMARK) {
-+ err = 3;
-+ goto out;
-+ }
-+
-+ if (c->lhead_lnum < UBIFS_LOG_LNUM ||
-+ c->lhead_lnum >= UBIFS_LOG_LNUM + c->log_lebs ||
-+ c->lhead_offs < 0 || c->lhead_offs >= c->leb_size ||
-+ c->lhead_offs & (c->min_io_size - 1)) {
-+ err = 4;
-+ goto out;
-+ }
-+
-+ if (c->zroot.lnum >= c->leb_cnt || c->zroot.lnum < c->main_first ||
-+ c->zroot.offs >= c->leb_size || c->zroot.offs & 7) {
-+ err = 5;
-+ goto out;
-+ }
-+
-+ if (c->zroot.len < c->ranges[UBIFS_IDX_NODE].min_len ||
-+ c->zroot.len > c->ranges[UBIFS_IDX_NODE].max_len) {
-+ err = 6;
-+ goto out;
-+ }
-+
-+ if (c->gc_lnum >= c->leb_cnt || c->gc_lnum < c->main_first) {
-+ err = 7;
-+ goto out;
-+ }
-+
-+ if (c->ihead_lnum >= c->leb_cnt || c->ihead_lnum < c->main_first ||
-+ c->ihead_offs % c->min_io_size || c->ihead_offs < 0 ||
-+ c->ihead_offs > c->leb_size || c->ihead_offs & 7) {
-+ err = 8;
-+ goto out;
-+ }
-+
-+ main_sz = (long long)c->main_lebs * c->leb_size;
-+ if (c->old_idx_sz & 7 || c->old_idx_sz >= main_sz) {
-+ err = 9;
-+ goto out;
-+ }
-+
-+ if (c->lpt_lnum < c->lpt_first || c->lpt_lnum > c->lpt_last ||
-+ c->lpt_offs < 0 || c->lpt_offs + c->nnode_sz > c->leb_size) {
-+ err = 10;
-+ goto out;
-+ }
-+
-+ if (c->nhead_lnum < c->lpt_first || c->nhead_lnum > c->lpt_last ||
-+ c->nhead_offs < 0 || c->nhead_offs % c->min_io_size ||
-+ c->nhead_offs > c->leb_size) {
-+ err = 11;
-+ goto out;
-+ }
-+
-+ if (c->ltab_lnum < c->lpt_first || c->ltab_lnum > c->lpt_last ||
-+ c->ltab_offs < 0 ||
-+ c->ltab_offs + c->ltab_sz > c->leb_size) {
-+ err = 12;
-+ goto out;
-+ }
-+
-+ if (c->big_lpt && (c->lsave_lnum < c->lpt_first ||
-+ c->lsave_lnum > c->lpt_last || c->lsave_offs < 0 ||
-+ c->lsave_offs + c->lsave_sz > c->leb_size)) {
-+ err = 13;
-+ goto out;
-+ }
-+
-+ if (c->lscan_lnum < c->main_first || c->lscan_lnum >= c->leb_cnt) {
-+ err = 14;
-+ goto out;
-+ }
-+
-+ if (c->lst.empty_lebs < 0 || c->lst.empty_lebs > c->main_lebs - 2) {
-+ err = 15;
-+ goto out;
-+ }
-+
-+ if (c->lst.idx_lebs < 0 || c->lst.idx_lebs > c->main_lebs - 1) {
-+ err = 16;
-+ goto out;
-+ }
-+
-+ if (c->lst.total_free < 0 || c->lst.total_free > main_sz ||
-+ c->lst.total_free & 7) {
-+ err = 17;
-+ goto out;
-+ }
-+
-+ if (c->lst.total_dirty < 0 || (c->lst.total_dirty & 7)) {
-+ err = 18;
-+ goto out;
-+ }
-+
-+ if (c->lst.total_used < 0 || (c->lst.total_used & 7)) {
-+ err = 19;
-+ goto out;
-+ }
-+
-+ if (c->lst.total_free + c->lst.total_dirty +
-+ c->lst.total_used > main_sz) {
-+ err = 20;
-+ goto out;
-+ }
-+
-+ if (c->lst.total_dead + c->lst.total_dark +
-+ c->lst.total_used + c->old_idx_sz > main_sz) {
-+ err = 21;
-+ goto out;
-+ }
-+
-+ if (c->lst.total_dead < 0 ||
-+ c->lst.total_dead > c->lst.total_free + c->lst.total_dirty ||
-+ c->lst.total_dead & 7) {
-+ err = 22;
-+ goto out;
-+ }
-+
-+ if (c->lst.total_dark < 0 ||
-+ c->lst.total_dark > c->lst.total_free + c->lst.total_dirty ||
-+ c->lst.total_dark & 7) {
-+ err = 23;
-+ goto out;
-+ }
-+
-+ return 0;
-+
-+out:
-+ ubifs_err("bad master node at offset %d error %d", c->mst_offs, err);
-+ dbg_dump_node(c, c->mst_node);
-+ return -EINVAL;
-+}
-+
-+/**
-+ * ubifs_read_master - read master node.
-+ * @c: UBIFS file-system description object
-+ *
-+ * This function finds and reads the master node during file-system mount. If
-+ * the flash is empty, it creates default master node as well. Returns zero in
-+ * case of success and a negative error code in case of failure.
-+ */
-+int ubifs_read_master(struct ubifs_info *c)
-+{
-+ int err, old_leb_cnt;
-+
-+ c->mst_node = kzalloc(c->mst_node_alsz, GFP_KERNEL);
-+ if (!c->mst_node)
-+ return -ENOMEM;
-+
-+ err = scan_for_master(c);
-+ if (err) {
-+ err = ubifs_recover_master_node(c);
-+ if (err)
-+ /*
-+ * Note, we do not free 'c->mst_node' here because the
-+ * unmount routine will take care of this.
-+ */
-+ return err;
-+ }
-+
-+ /* Make sure that the recovery flag is clear */
-+ c->mst_node->flags &= cpu_to_le32(~UBIFS_MST_RCVRY);
-+
-+ c->max_sqnum = le64_to_cpu(c->mst_node->ch.sqnum);
-+ c->highest_inum = le64_to_cpu(c->mst_node->highest_inum);
-+ c->cmt_no = le64_to_cpu(c->mst_node->cmt_no);
-+ c->zroot.lnum = le32_to_cpu(c->mst_node->root_lnum);
-+ c->zroot.offs = le32_to_cpu(c->mst_node->root_offs);
-+ c->zroot.len = le32_to_cpu(c->mst_node->root_len);
-+ c->lhead_lnum = le32_to_cpu(c->mst_node->log_lnum);
-+ c->gc_lnum = le32_to_cpu(c->mst_node->gc_lnum);
-+ c->ihead_lnum = le32_to_cpu(c->mst_node->ihead_lnum);
-+ c->ihead_offs = le32_to_cpu(c->mst_node->ihead_offs);
-+ c->old_idx_sz = le64_to_cpu(c->mst_node->index_size);
-+ c->lpt_lnum = le32_to_cpu(c->mst_node->lpt_lnum);
-+ c->lpt_offs = le32_to_cpu(c->mst_node->lpt_offs);
-+ c->nhead_lnum = le32_to_cpu(c->mst_node->nhead_lnum);
-+ c->nhead_offs = le32_to_cpu(c->mst_node->nhead_offs);
-+ c->ltab_lnum = le32_to_cpu(c->mst_node->ltab_lnum);
-+ c->ltab_offs = le32_to_cpu(c->mst_node->ltab_offs);
-+ c->lsave_lnum = le32_to_cpu(c->mst_node->lsave_lnum);
-+ c->lsave_offs = le32_to_cpu(c->mst_node->lsave_offs);
-+ c->lscan_lnum = le32_to_cpu(c->mst_node->lscan_lnum);
-+ c->lst.empty_lebs = le32_to_cpu(c->mst_node->empty_lebs);
-+ c->lst.idx_lebs = le32_to_cpu(c->mst_node->idx_lebs);
-+ old_leb_cnt = le32_to_cpu(c->mst_node->leb_cnt);
-+ c->lst.total_free = le64_to_cpu(c->mst_node->total_free);
-+ c->lst.total_dirty = le64_to_cpu(c->mst_node->total_dirty);
-+ c->lst.total_used = le64_to_cpu(c->mst_node->total_used);
-+ c->lst.total_dead = le64_to_cpu(c->mst_node->total_dead);
-+ c->lst.total_dark = le64_to_cpu(c->mst_node->total_dark);
-+
-+ c->calc_idx_sz = c->old_idx_sz;
-+
-+ if (c->mst_node->flags & cpu_to_le32(UBIFS_MST_NO_ORPHS))
-+ c->no_orphs = 1;
-+
-+ if (old_leb_cnt != c->leb_cnt) {
-+ /* The file system has been resized */
-+ int growth = c->leb_cnt - old_leb_cnt;
-+
-+ if (c->leb_cnt < old_leb_cnt ||
-+ c->leb_cnt < UBIFS_MIN_LEB_CNT) {
-+ ubifs_err("bad leb_cnt on master node");
-+ dbg_dump_node(c, c->mst_node);
-+ return -EINVAL;
-+ }
-+
-+ dbg_mnt("Auto resizing (master) from %d LEBs to %d LEBs",
-+ old_leb_cnt, c->leb_cnt);
-+ c->lst.empty_lebs += growth;
-+ c->lst.total_free += growth * (long long)c->leb_size;
-+ c->lst.total_dark += growth * (long long)c->dark_wm;
-+
-+ /*
-+ * Reflect changes back onto the master node. N.B. the master
-+ * node gets written immediately whenever mounting (or
-+ * remounting) in read-write mode, so we do not need to write it
-+ * here.
-+ */
-+ c->mst_node->leb_cnt = cpu_to_le32(c->leb_cnt);
-+ c->mst_node->empty_lebs = cpu_to_le32(c->lst.empty_lebs);
-+ c->mst_node->total_free = cpu_to_le64(c->lst.total_free);
-+ c->mst_node->total_dark = cpu_to_le64(c->lst.total_dark);
-+ }
-+
-+ err = validate_master(c);
-+ if (err)
-+ return err;
-+
-+ err = dbg_old_index_check_init(c, &c->zroot);
-+
-+ return err;
-+}
-+
-+/**
-+ * ubifs_write_master - write master node.
-+ * @c: UBIFS file-system description object
-+ *
-+ * This function writes the master node. The caller has to take the
-+ * @c->mst_mutex lock before calling this function. Returns zero in case of
-+ * success and a negative error code in case of failure. The master node is
-+ * written twice to enable recovery.
-+ */
-+int ubifs_write_master(struct ubifs_info *c)
-+{
-+ int err, lnum, offs, len;
-+
-+ if (c->ro_media)
-+ return -EROFS;
-+
-+ lnum = UBIFS_MST_LNUM;
-+ offs = c->mst_offs + c->mst_node_alsz;
-+ len = UBIFS_MST_NODE_SZ;
-+
-+ if (offs + UBIFS_MST_NODE_SZ > c->leb_size) {
-+ err = ubifs_leb_unmap(c, lnum);
-+ if (err)
-+ return err;
-+ offs = 0;
-+ }
-+
-+ c->mst_offs = offs;
-+ c->mst_node->highest_inum = cpu_to_le64(c->highest_inum);
-+
-+ err = ubifs_write_node(c, c->mst_node, len, lnum, offs, UBI_SHORTTERM);
-+ if (err)
-+ return err;
-+
-+ lnum += 1;
-+
-+ if (offs == 0) {
-+ err = ubifs_leb_unmap(c, lnum);
-+ if (err)
-+ return err;
-+ }
-+ err = ubifs_write_node(c, c->mst_node, len, lnum, offs, UBI_SHORTTERM);
-+
-+ return err;
-+}
-diff -Nurd linux-2.6.24.orig/fs/ubifs/misc.h linux-2.6.24/fs/ubifs/misc.h
---- linux-2.6.24.orig/fs/ubifs/misc.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.24/fs/ubifs/misc.h 2009-04-17 09:49:28.000000000 +0200
-@@ -0,0 +1,340 @@
-+/*
-+ * This file is part of UBIFS.
-+ *
-+ * Copyright (C) 2006-2008 Nokia Corporation
-+ *
-+ * This program is free software; you can redistribute it and/or modify it
-+ * under the terms of the GNU General Public License version 2 as published by
-+ * the Free Software Foundation.
-+ *
-+ * 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, write to the Free Software Foundation, Inc., 51
-+ * Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
-+ *
-+ * Authors: Artem Bityutskiy (Битюцкий Ðртём)
-+ * Adrian Hunter
-+ */
-+
-+/*
-+ * This file contains miscellaneous helper functions.
-+ */
-+
-+#ifndef __UBIFS_MISC_H__
-+#define __UBIFS_MISC_H__
-+
-+/**
-+ * ubifs_zn_dirty - check if znode is dirty.
-+ * @znode: znode to check
-+ *
-+ * This helper function returns %1 if @znode is dirty and %0 otherwise.
-+ */
-+static inline int ubifs_zn_dirty(const struct ubifs_znode *znode)
-+{
-+ return !!test_bit(DIRTY_ZNODE, &znode->flags);
-+}
-+
-+/**
-+ * ubifs_wake_up_bgt - wake up background thread.
-+ * @c: UBIFS file-system description object
-+ */
-+static inline void ubifs_wake_up_bgt(struct ubifs_info *c)
-+{
-+ if (c->bgt && !c->need_bgt) {
-+ c->need_bgt = 1;
-+ wake_up_process(c->bgt);
-+ }
-+}
-+
-+/**
-+ * ubifs_tnc_find_child - find next child in znode.
-+ * @znode: znode to search at
-+ * @start: the zbranch index to start at
-+ *
-+ * This helper function looks for znode child starting at index @start. Returns
-+ * the child or %NULL if no children were found.
-+ */
-+static inline struct ubifs_znode *
-+ubifs_tnc_find_child(struct ubifs_znode *znode, int start)
-+{
-+ while (start < znode->child_cnt) {
-+ if (znode->zbranch[start].znode)
-+ return znode->zbranch[start].znode;
-+ start += 1;
-+ }
-+
-+ return NULL;
-+}
-+
-+/**
-+ * ubifs_inode - get UBIFS inode information by VFS 'struct inode' object.
-+ * @inode: the VFS 'struct inode' pointer
-+ */
-+static inline struct ubifs_inode *ubifs_inode(const struct inode *inode)
-+{
-+ return container_of(inode, struct ubifs_inode, vfs_inode);
-+}
-+
-+/**
-+ * ubifs_compr_present - check if compressor was compiled in.
-+ * @compr_type: compressor type to check
-+ *
-+ * This function returns %1 of compressor of type @compr_type is present, and
-+ * %0 if not.
-+ */
-+static inline int ubifs_compr_present(int compr_type)
-+{
-+ ubifs_assert(compr_type >= 0 && compr_type < UBIFS_COMPR_TYPES_CNT);
-+ return !!ubifs_compressors[compr_type]->capi_name;
-+}
-+
-+/**
-+ * ubifs_compr_name - get compressor name string by its type.
-+ * @compr_type: compressor type
-+ *
-+ * This function returns compressor type string.
-+ */
-+static inline const char *ubifs_compr_name(int compr_type)
-+{
-+ ubifs_assert(compr_type >= 0 && compr_type < UBIFS_COMPR_TYPES_CNT);
-+ return ubifs_compressors[compr_type]->name;
-+}
-+
-+/**
-+ * ubifs_wbuf_sync - synchronize write-buffer.
-+ * @wbuf: write-buffer to synchronize
-+ *
-+ * This is the same as as 'ubifs_wbuf_sync_nolock()' but it does not assume
-+ * that the write-buffer is already locked.
-+ */
-+static inline int ubifs_wbuf_sync(struct ubifs_wbuf *wbuf)
-+{
-+ int err;
-+
-+ mutex_lock_nested(&wbuf->io_mutex, wbuf->jhead);
-+ err = ubifs_wbuf_sync_nolock(wbuf);
-+ mutex_unlock(&wbuf->io_mutex);
-+ return err;
-+}
-+
-+/**
-+ * ubifs_leb_unmap - unmap an LEB.
-+ * @c: UBIFS file-system description object
-+ * @lnum: LEB number to unmap
-+ *
-+ * This function returns %0 on success and a negative error code on failure.
-+ */
-+static inline int ubifs_leb_unmap(const struct ubifs_info *c, int lnum)
-+{
-+ int err;
-+
-+ if (c->ro_media)
-+ return -EROFS;
-+ err = ubi_leb_unmap(c->ubi, lnum);
-+ if (err) {
-+ ubifs_err("unmap LEB %d failed, error %d", lnum, err);
-+ return err;
-+ }
-+
-+ return 0;
-+}
-+
-+/**
-+ * ubifs_leb_write - write to a LEB.
-+ * @c: UBIFS file-system description object
-+ * @lnum: LEB number to write
-+ * @buf: buffer to write from
-+ * @offs: offset within LEB to write to
-+ * @len: length to write
-+ * @dtype: data type
-+ *
-+ * This function returns %0 on success and a negative error code on failure.
-+ */
-+static inline int ubifs_leb_write(const struct ubifs_info *c, int lnum,
-+ const void *buf, int offs, int len, int dtype)
-+{
-+ int err;
-+
-+ if (c->ro_media)
-+ return -EROFS;
-+ err = ubi_leb_write(c->ubi, lnum, buf, offs, len, dtype);
-+ if (err) {
-+ ubifs_err("writing %d bytes at %d:%d, error %d",
-+ len, lnum, offs, err);
-+ return err;
-+ }
-+
-+ return 0;
-+}
-+
-+/**
-+ * ubifs_leb_change - atomic LEB change.
-+ * @c: UBIFS file-system description object
-+ * @lnum: LEB number to write
-+ * @buf: buffer to write from
-+ * @len: length to write
-+ * @dtype: data type
-+ *
-+ * This function returns %0 on success and a negative error code on failure.
-+ */
-+static inline int ubifs_leb_change(const struct ubifs_info *c, int lnum,
-+ const void *buf, int len, int dtype)
-+{
-+ int err;
-+
-+ if (c->ro_media)
-+ return -EROFS;
-+ err = ubi_leb_change(c->ubi, lnum, buf, len, dtype);
-+ if (err) {
-+ ubifs_err("changing %d bytes in LEB %d, error %d",
-+ len, lnum, err);
-+ return err;
-+ }
-+
-+ return 0;
-+}
-+
-+/**
-+ * ubifs_encode_dev - encode device node IDs.
-+ * @dev: UBIFS device node information
-+ * @rdev: device IDs to encode
-+ *
-+ * This is a helper function which encodes major/minor numbers of a device node
-+ * into UBIFS device node description. We use standard Linux "new" and "huge"
-+ * encodings.
-+ */
-+static inline int ubifs_encode_dev(union ubifs_dev_desc *dev, dev_t rdev)
-+{
-+ if (new_valid_dev(rdev)) {
-+ dev->new = cpu_to_le32(new_encode_dev(rdev));
-+ return sizeof(dev->new);
-+ } else {
-+ dev->huge = cpu_to_le64(huge_encode_dev(rdev));
-+ return sizeof(dev->huge);
-+ }
-+}
-+
-+/**
-+ * ubifs_add_dirt - add dirty space to LEB properties.
-+ * @c: the UBIFS file-system description object
-+ * @lnum: LEB to add dirty space for
-+ * @dirty: dirty space to add
-+ *
-+ * This is a helper function which increased amount of dirty LEB space. Returns
-+ * zero in case of success and a negative error code in case of failure.
-+ */
-+static inline int ubifs_add_dirt(struct ubifs_info *c, int lnum, int dirty)
-+{
-+ return ubifs_update_one_lp(c, lnum, LPROPS_NC, dirty, 0, 0);
-+}
-+
-+/**
-+ * ubifs_return_leb - return LEB to lprops.
-+ * @c: the UBIFS file-system description object
-+ * @lnum: LEB to return
-+ *
-+ * This helper function cleans the "taken" flag of a logical eraseblock in the
-+ * lprops. Returns zero in case of success and a negative error code in case of
-+ * failure.
-+ */
-+static inline int ubifs_return_leb(struct ubifs_info *c, int lnum)
-+{
-+ return ubifs_change_one_lp(c, lnum, LPROPS_NC, LPROPS_NC, 0,
-+ LPROPS_TAKEN, 0);
-+}
-+
-+/**
-+ * ubifs_idx_node_sz - return index node size.
-+ * @c: the UBIFS file-system description object
-+ * @child_cnt: number of children of this index node
-+ */
-+static inline int ubifs_idx_node_sz(const struct ubifs_info *c, int child_cnt)
-+{
-+ return UBIFS_IDX_NODE_SZ + (UBIFS_BRANCH_SZ + c->key_len) * child_cnt;
-+}
-+
-+/**
-+ * ubifs_idx_branch - return pointer to an index branch.
-+ * @c: the UBIFS file-system description object
-+ * @idx: index node
-+ * @bnum: branch number
-+ */
-+static inline
-+struct ubifs_branch *ubifs_idx_branch(const struct ubifs_info *c,
-+ const struct ubifs_idx_node *idx,
-+ int bnum)
-+{
-+ return (struct ubifs_branch *)((void *)idx->branches +
-+ (UBIFS_BRANCH_SZ + c->key_len) * bnum);
-+}
-+
-+/**
-+ * ubifs_idx_key - return pointer to an index key.
-+ * @c: the UBIFS file-system description object
-+ * @idx: index node
-+ */
-+static inline void *ubifs_idx_key(const struct ubifs_info *c,
-+ const struct ubifs_idx_node *idx)
-+{
-+ return (void *)((struct ubifs_branch *)idx->branches)->key;
-+}
-+
-+/**
-+ * ubifs_current_time - round current time to time granularity.
-+ * @inode: inode
-+ */
-+static inline struct timespec ubifs_current_time(struct inode *inode)
-+{
-+ return (inode->i_sb->s_time_gran < NSEC_PER_SEC) ?
-+ current_fs_time(inode->i_sb) : CURRENT_TIME_SEC;
-+}
-+
-+/**
-+ * ubifs_tnc_lookup - look up a file-system node.
-+ * @c: UBIFS file-system description object
-+ * @key: node key to lookup
-+ * @node: the node is returned here
-+ *
-+ * This function look up and reads node with key @key. The caller has to make
-+ * sure the @node buffer is large enough to fit the node. Returns zero in case
-+ * of success, %-ENOENT if the node was not found, and a negative error code in
-+ * case of failure.
-+ */
-+static inline int ubifs_tnc_lookup(struct ubifs_info *c,
-+ const union ubifs_key *key, void *node)
-+{
-+ return ubifs_tnc_locate(c, key, node, NULL, NULL);
-+}
-+
-+/**
-+ * ubifs_get_lprops - get reference to LEB properties.
-+ * @c: the UBIFS file-system description object
-+ *
-+ * This function locks lprops. Lprops have to be unlocked by
-+ * 'ubifs_release_lprops()'.
-+ */
-+static inline void ubifs_get_lprops(struct ubifs_info *c)
-+{
-+ mutex_lock(&c->lp_mutex);
-+}
-+
-+/**
-+ * ubifs_release_lprops - release lprops lock.
-+ * @c: the UBIFS file-system description object
-+ *
-+ * This function has to be called after each 'ubifs_get_lprops()' call to
-+ * unlock lprops.
-+ */
-+static inline void ubifs_release_lprops(struct ubifs_info *c)
-+{
-+ ubifs_assert(mutex_is_locked(&c->lp_mutex));
-+ ubifs_assert(c->lst.empty_lebs >= 0 &&
-+ c->lst.empty_lebs <= c->main_lebs);
-+ mutex_unlock(&c->lp_mutex);
-+}
-+
-+#endif /* __UBIFS_MISC_H__ */
-diff -Nurd linux-2.6.24.orig/fs/ubifs/orphan.c linux-2.6.24/fs/ubifs/orphan.c
---- linux-2.6.24.orig/fs/ubifs/orphan.c 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.24/fs/ubifs/orphan.c 2009-04-17 09:49:28.000000000 +0200
-@@ -0,0 +1,962 @@
-+/*
-+ * This file is part of UBIFS.
-+ *
-+ * Copyright (C) 2006-2008 Nokia Corporation.
-+ *
-+ * This program is free software; you can redistribute it and/or modify it
-+ * under the terms of the GNU General Public License version 2 as published by
-+ * the Free Software Foundation.
-+ *
-+ * 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, write to the Free Software Foundation, Inc., 51
-+ * Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
-+ *
-+ * Author: Adrian Hunter
-+ */
-+
-+#include "ubifs.h"
-+
-+/*
-+ * An orphan is an inode number whose inode node has been committed to the index
-+ * with a link count of zero. That happens when an open file is deleted
-+ * (unlinked) and then a commit is run. In the normal course of events the inode
-+ * would be deleted when the file is closed. However in the case of an unclean
-+ * unmount, orphans need to be accounted for. After an unclean unmount, the
-+ * orphans' inodes must be deleted which means either scanning the entire index
-+ * looking for them, or keeping a list on flash somewhere. This unit implements
-+ * the latter approach.
-+ *
-+ * The orphan area is a fixed number of LEBs situated between the LPT area and
-+ * the main area. The number of orphan area LEBs is specified when the file
-+ * system is created. The minimum number is 1. The size of the orphan area
-+ * should be so that it can hold the maximum number of orphans that are expected
-+ * to ever exist at one time.
-+ *
-+ * The number of orphans that can fit in a LEB is:
-+ *
-+ * (c->leb_size - UBIFS_ORPH_NODE_SZ) / sizeof(__le64)
-+ *
-+ * For example: a 15872 byte LEB can fit 1980 orphans so 1 LEB may be enough.
-+ *
-+ * Orphans are accumulated in a rb-tree. When an inode's link count drops to
-+ * zero, the inode number is added to the rb-tree. It is removed from the tree
-+ * when the inode is deleted. Any new orphans that are in the orphan tree when
-+ * the commit is run, are written to the orphan area in 1 or more orphan nodes.
-+ * If the orphan area is full, it is consolidated to make space. There is
-+ * always enough space because validation prevents the user from creating more
-+ * than the maximum number of orphans allowed.
-+ */
-+
-+#ifdef CONFIG_UBIFS_FS_DEBUG
-+static int dbg_check_orphans(struct ubifs_info *c);
-+#else
-+#define dbg_check_orphans(c) 0
-+#endif
-+
-+/**
-+ * ubifs_add_orphan - add an orphan.
-+ * @c: UBIFS file-system description object
-+ * @inum: orphan inode number
-+ *
-+ * Add an orphan. This function is called when an inodes link count drops to
-+ * zero.
-+ */
-+int ubifs_add_orphan(struct ubifs_info *c, ino_t inum)
-+{
-+ struct ubifs_orphan *orphan, *o;
-+ struct rb_node **p, *parent = NULL;
-+
-+ orphan = kzalloc(sizeof(struct ubifs_orphan), GFP_NOFS);
-+ if (!orphan)
-+ return -ENOMEM;
-+ orphan->inum = inum;
-+ orphan->new = 1;
-+
-+ spin_lock(&c->orphan_lock);
-+ if (c->tot_orphans >= c->max_orphans) {
-+ spin_unlock(&c->orphan_lock);
-+ kfree(orphan);
-+ return -ENFILE;
-+ }
-+ p = &c->orph_tree.rb_node;
-+ while (*p) {
-+ parent = *p;
-+ o = rb_entry(parent, struct ubifs_orphan, rb);
-+ if (inum < o->inum)
-+ p = &(*p)->rb_left;
-+ else if (inum > o->inum)
-+ p = &(*p)->rb_right;
-+ else {
-+ dbg_err("orphaned twice");
-+ spin_unlock(&c->orphan_lock);
-+ kfree(orphan);
-+ return 0;
-+ }
-+ }
-+ c->tot_orphans += 1;
-+ c->new_orphans += 1;
-+ rb_link_node(&orphan->rb, parent, p);
-+ rb_insert_color(&orphan->rb, &c->orph_tree);
-+ list_add_tail(&orphan->list, &c->orph_list);
-+ list_add_tail(&orphan->new_list, &c->orph_new);
-+ spin_unlock(&c->orphan_lock);
-+ dbg_gen("ino %lu", (unsigned long)inum);
-+ return 0;
-+}
-+
-+/**
-+ * ubifs_delete_orphan - delete an orphan.
-+ * @c: UBIFS file-system description object
-+ * @inum: orphan inode number
-+ *
-+ * Delete an orphan. This function is called when an inode is deleted.
-+ */
-+void ubifs_delete_orphan(struct ubifs_info *c, ino_t inum)
-+{
-+ struct ubifs_orphan *o;
-+ struct rb_node *p;
-+
-+ spin_lock(&c->orphan_lock);
-+ p = c->orph_tree.rb_node;
-+ while (p) {
-+ o = rb_entry(p, struct ubifs_orphan, rb);
-+ if (inum < o->inum)
-+ p = p->rb_left;
-+ else if (inum > o->inum)
-+ p = p->rb_right;
-+ else {
-+ if (o->dnext) {
-+ spin_unlock(&c->orphan_lock);
-+ dbg_gen("deleted twice ino %lu",
-+ (unsigned long)inum);
-+ return;
-+ }
-+ if (o->cnext) {
-+ o->dnext = c->orph_dnext;
-+ c->orph_dnext = o;
-+ spin_unlock(&c->orphan_lock);
-+ dbg_gen("delete later ino %lu",
-+ (unsigned long)inum);
-+ return;
-+ }
-+ rb_erase(p, &c->orph_tree);
-+ list_del(&o->list);
-+ c->tot_orphans -= 1;
-+ if (o->new) {
-+ list_del(&o->new_list);
-+ c->new_orphans -= 1;
-+ }
-+ spin_unlock(&c->orphan_lock);
-+ kfree(o);
-+ dbg_gen("inum %lu", (unsigned long)inum);
-+ return;
-+ }
-+ }
-+ spin_unlock(&c->orphan_lock);
-+ dbg_err("missing orphan ino %lu", (unsigned long)inum);
-+ dbg_dump_stack();
-+}
-+
-+/**
-+ * ubifs_orphan_start_commit - start commit of orphans.
-+ * @c: UBIFS file-system description object
-+ *
-+ * Start commit of orphans.
-+ */
-+int ubifs_orphan_start_commit(struct ubifs_info *c)
-+{
-+ struct ubifs_orphan *orphan, **last;
-+
-+ spin_lock(&c->orphan_lock);
-+ last = &c->orph_cnext;
-+ list_for_each_entry(orphan, &c->orph_new, new_list) {
-+ ubifs_assert(orphan->new);
-+ orphan->new = 0;
-+ *last = orphan;
-+ last = &orphan->cnext;
-+ }
-+ *last = orphan->cnext;
-+ c->cmt_orphans = c->new_orphans;
-+ c->new_orphans = 0;
-+ dbg_cmt("%d orphans to commit", c->cmt_orphans);
-+ INIT_LIST_HEAD(&c->orph_new);
-+ if (c->tot_orphans == 0)
-+ c->no_orphs = 1;
-+ else
-+ c->no_orphs = 0;
-+ spin_unlock(&c->orphan_lock);
-+ return 0;
-+}
-+
-+/**
-+ * avail_orphs - calculate available space.
-+ * @c: UBIFS file-system description object
-+ *
-+ * This function returns the number of orphans that can be written in the
-+ * available space.
-+ */
-+static int avail_orphs(struct ubifs_info *c)
-+{
-+ int avail_lebs, avail, gap;
-+
-+ avail_lebs = c->orph_lebs - (c->ohead_lnum - c->orph_first) - 1;
-+ avail = avail_lebs *
-+ ((c->leb_size - UBIFS_ORPH_NODE_SZ) / sizeof(__le64));
-+ gap = c->leb_size - c->ohead_offs;
-+ if (gap >= UBIFS_ORPH_NODE_SZ + sizeof(__le64))
-+ avail += (gap - UBIFS_ORPH_NODE_SZ) / sizeof(__le64);
-+ return avail;
-+}
-+
-+/**
-+ * tot_avail_orphs - calculate total space.
-+ * @c: UBIFS file-system description object
-+ *
-+ * This function returns the number of orphans that can be written in half
-+ * the total space. That leaves half the space for adding new orphans.
-+ */
-+static int tot_avail_orphs(struct ubifs_info *c)
-+{
-+ int avail_lebs, avail;
-+
-+ avail_lebs = c->orph_lebs;
-+ avail = avail_lebs *
-+ ((c->leb_size - UBIFS_ORPH_NODE_SZ) / sizeof(__le64));
-+ return avail / 2;
-+}
-+
-+/**
-+ * do_write_orph_node - write a node to the orphan head.
-+ * @c: UBIFS file-system description object
-+ * @len: length of node
-+ * @atomic: write atomically
-+ *
-+ * This function writes a node to the orphan head from the orphan buffer. If
-+ * %atomic is not zero, then the write is done atomically. On success, %0 is
-+ * returned, otherwise a negative error code is returned.
-+ */
-+static int do_write_orph_node(struct ubifs_info *c, int len, int atomic)
-+{
-+ int err = 0;
-+
-+ if (atomic) {
-+ ubifs_assert(c->ohead_offs == 0);
-+ ubifs_prepare_node(c, c->orph_buf, len, 1);
-+ len = ALIGN(len, c->min_io_size);
-+ err = ubifs_leb_change(c, c->ohead_lnum, c->orph_buf, len,
-+ UBI_SHORTTERM);
-+ } else {
-+ if (c->ohead_offs == 0) {
-+ /* Ensure LEB has been unmapped */
-+ err = ubifs_leb_unmap(c, c->ohead_lnum);
-+ if (err)
-+ return err;
-+ }
-+ err = ubifs_write_node(c, c->orph_buf, len, c->ohead_lnum,
-+ c->ohead_offs, UBI_SHORTTERM);
-+ }
-+ return err;
-+}
-+
-+/**
-+ * write_orph_node - write an orphan node.
-+ * @c: UBIFS file-system description object
-+ * @atomic: write atomically
-+ *
-+ * This function builds an orphan node from the cnext list and writes it to the
-+ * orphan head. On success, %0 is returned, otherwise a negative error code
-+ * is returned.
-+ */
-+static int write_orph_node(struct ubifs_info *c, int atomic)
-+{
-+ struct ubifs_orphan *orphan, *cnext;
-+ struct ubifs_orph_node *orph;
-+ int gap, err, len, cnt, i;
-+
-+ ubifs_assert(c->cmt_orphans > 0);
-+ gap = c->leb_size - c->ohead_offs;
-+ if (gap < UBIFS_ORPH_NODE_SZ + sizeof(__le64)) {
-+ c->ohead_lnum += 1;
-+ c->ohead_offs = 0;
-+ gap = c->leb_size;
-+ if (c->ohead_lnum > c->orph_last) {
-+ /*
-+ * We limit the number of orphans so that this should
-+ * never happen.
-+ */
-+ ubifs_err("out of space in orphan area");
-+ return -EINVAL;
-+ }
-+ }
-+ cnt = (gap - UBIFS_ORPH_NODE_SZ) / sizeof(__le64);
-+ if (cnt > c->cmt_orphans)
-+ cnt = c->cmt_orphans;
-+ len = UBIFS_ORPH_NODE_SZ + cnt * sizeof(__le64);
-+ ubifs_assert(c->orph_buf);
-+ orph = c->orph_buf;
-+ orph->ch.node_type = UBIFS_ORPH_NODE;
-+ spin_lock(&c->orphan_lock);
-+ cnext = c->orph_cnext;
-+ for (i = 0; i < cnt; i++) {
-+ orphan = cnext;
-+ orph->inos[i] = cpu_to_le64(orphan->inum);
-+ cnext = orphan->cnext;
-+ orphan->cnext = NULL;
-+ }
-+ c->orph_cnext = cnext;
-+ c->cmt_orphans -= cnt;
-+ spin_unlock(&c->orphan_lock);
-+ if (c->cmt_orphans)
-+ orph->cmt_no = cpu_to_le64(c->cmt_no);
-+ else
-+ /* Mark the last node of the commit */
-+ orph->cmt_no = cpu_to_le64((c->cmt_no) | (1ULL << 63));
-+ ubifs_assert(c->ohead_offs + len <= c->leb_size);
-+ ubifs_assert(c->ohead_lnum >= c->orph_first);
-+ ubifs_assert(c->ohead_lnum <= c->orph_last);
-+ err = do_write_orph_node(c, len, atomic);
-+ c->ohead_offs += ALIGN(len, c->min_io_size);
-+ c->ohead_offs = ALIGN(c->ohead_offs, 8);
-+ return err;
-+}
-+
-+/**
-+ * write_orph_nodes - write orphan nodes until there are no more to commit.
-+ * @c: UBIFS file-system description object
-+ * @atomic: write atomically
-+ *
-+ * This function writes orphan nodes for all the orphans to commit. On success,
-+ * %0 is returned, otherwise a negative error code is returned.
-+ */
-+static int write_orph_nodes(struct ubifs_info *c, int atomic)
-+{
-+ int err;
-+
-+ while (c->cmt_orphans > 0) {
-+ err = write_orph_node(c, atomic);
-+ if (err)
-+ return err;
-+ }
-+ if (atomic) {
-+ int lnum;
-+
-+ /* Unmap any unused LEBs after consolidation */
-+ lnum = c->ohead_lnum + 1;
-+ for (lnum = c->ohead_lnum + 1; lnum <= c->orph_last; lnum++) {
-+ err = ubifs_leb_unmap(c, lnum);
-+ if (err)
-+ return err;
-+ }
-+ }
-+ return 0;
-+}
-+
-+/**
-+ * consolidate - consolidate the orphan area.
-+ * @c: UBIFS file-system description object
-+ *
-+ * This function enables consolidation by putting all the orphans into the list
-+ * to commit. The list is in the order that the orphans were added, and the
-+ * LEBs are written atomically in order, so at no time can orphans be lost by
-+ * an unclean unmount.
-+ *
-+ * This function returns %0 on success and a negative error code on failure.
-+ */
-+static int consolidate(struct ubifs_info *c)
-+{
-+ int tot_avail = tot_avail_orphs(c), err = 0;
-+
-+ spin_lock(&c->orphan_lock);
-+ dbg_cmt("there is space for %d orphans and there are %d",
-+ tot_avail, c->tot_orphans);
-+ if (c->tot_orphans - c->new_orphans <= tot_avail) {
-+ struct ubifs_orphan *orphan, **last;
-+ int cnt = 0;
-+
-+ /* Change the cnext list to include all non-new orphans */
-+ last = &c->orph_cnext;
-+ list_for_each_entry(orphan, &c->orph_list, list) {
-+ if (orphan->new)
-+ continue;
-+ *last = orphan;
-+ last = &orphan->cnext;
-+ cnt += 1;
-+ }
-+ *last = orphan->cnext;
-+ ubifs_assert(cnt == c->tot_orphans - c->new_orphans);
-+ c->cmt_orphans = cnt;
-+ c->ohead_lnum = c->orph_first;
-+ c->ohead_offs = 0;
-+ } else {
-+ /*
-+ * We limit the number of orphans so that this should
-+ * never happen.
-+ */
-+ ubifs_err("out of space in orphan area");
-+ err = -EINVAL;
-+ }
-+ spin_unlock(&c->orphan_lock);
-+ return err;
-+}
-+
-+/**
-+ * commit_orphans - commit orphans.
-+ * @c: UBIFS file-system description object
-+ *
-+ * This function commits orphans to flash. On success, %0 is returned,
-+ * otherwise a negative error code is returned.
-+ */
-+static int commit_orphans(struct ubifs_info *c)
-+{
-+ int avail, atomic = 0, err;
-+
-+ ubifs_assert(c->cmt_orphans > 0);
-+ avail = avail_orphs(c);
-+ if (avail < c->cmt_orphans) {
-+ /* Not enough space to write new orphans, so consolidate */
-+ err = consolidate(c);
-+ if (err)
-+ return err;
-+ atomic = 1;
-+ }
-+ err = write_orph_nodes(c, atomic);
-+ return err;
-+}
-+
-+/**
-+ * erase_deleted - erase the orphans marked for deletion.
-+ * @c: UBIFS file-system description object
-+ *
-+ * During commit, the orphans being committed cannot be deleted, so they are
-+ * marked for deletion and deleted by this function. Also, the recovery
-+ * adds killed orphans to the deletion list, and therefore they are deleted
-+ * here too.
-+ */
-+static void erase_deleted(struct ubifs_info *c)
-+{
-+ struct ubifs_orphan *orphan, *dnext;
-+
-+ spin_lock(&c->orphan_lock);
-+ dnext = c->orph_dnext;
-+ while (dnext) {
-+ orphan = dnext;
-+ dnext = orphan->dnext;
-+ ubifs_assert(!orphan->new);
-+ rb_erase(&orphan->rb, &c->orph_tree);
-+ list_del(&orphan->list);
-+ c->tot_orphans -= 1;
-+ dbg_gen("deleting orphan ino %lu", (unsigned long)orphan->inum);
-+ kfree(orphan);
-+ }
-+ c->orph_dnext = NULL;
-+ spin_unlock(&c->orphan_lock);
-+}
-+
-+/**
-+ * ubifs_orphan_end_commit - end commit of orphans.
-+ * @c: UBIFS file-system description object
-+ *
-+ * End commit of orphans.
-+ */
-+int ubifs_orphan_end_commit(struct ubifs_info *c)
-+{
-+ int err;
-+
-+ if (c->cmt_orphans != 0) {
-+ err = commit_orphans(c);
-+ if (err)
-+ return err;
-+ }
-+ erase_deleted(c);
-+ err = dbg_check_orphans(c);
-+ return err;
-+}
-+
-+/**
-+ * ubifs_clear_orphans - erase all LEBs used for orphans.
-+ * @c: UBIFS file-system description object
-+ *
-+ * If recovery is not required, then the orphans from the previous session
-+ * are not needed. This function locates the LEBs used to record
-+ * orphans, and un-maps them.
-+ */
-+int ubifs_clear_orphans(struct ubifs_info *c)
-+{
-+ int lnum, err;
-+
-+ for (lnum = c->orph_first; lnum <= c->orph_last; lnum++) {
-+ err = ubifs_leb_unmap(c, lnum);
-+ if (err)
-+ return err;
-+ }
-+ c->ohead_lnum = c->orph_first;
-+ c->ohead_offs = 0;
-+ return 0;
-+}
-+
-+/**
-+ * insert_dead_orphan - insert an orphan.
-+ * @c: UBIFS file-system description object
-+ * @inum: orphan inode number
-+ *
-+ * This function is a helper to the 'do_kill_orphans()' function. The orphan
-+ * must be kept until the next commit, so it is added to the rb-tree and the
-+ * deletion list.
-+ */
-+static int insert_dead_orphan(struct ubifs_info *c, ino_t inum)
-+{
-+ struct ubifs_orphan *orphan, *o;
-+ struct rb_node **p, *parent = NULL;
-+
-+ orphan = kzalloc(sizeof(struct ubifs_orphan), GFP_KERNEL);
-+ if (!orphan)
-+ return -ENOMEM;
-+ orphan->inum = inum;
-+
-+ p = &c->orph_tree.rb_node;
-+ while (*p) {
-+ parent = *p;
-+ o = rb_entry(parent, struct ubifs_orphan, rb);
-+ if (inum < o->inum)
-+ p = &(*p)->rb_left;
-+ else if (inum > o->inum)
-+ p = &(*p)->rb_right;
-+ else {
-+ /* Already added - no problem */
-+ kfree(orphan);
-+ return 0;
-+ }
-+ }
-+ c->tot_orphans += 1;
-+ rb_link_node(&orphan->rb, parent, p);
-+ rb_insert_color(&orphan->rb, &c->orph_tree);
-+ list_add_tail(&orphan->list, &c->orph_list);
-+ orphan->dnext = c->orph_dnext;
-+ c->orph_dnext = orphan;
-+ dbg_mnt("ino %lu, new %d, tot %d", (unsigned long)inum,
-+ c->new_orphans, c->tot_orphans);
-+ return 0;
-+}
-+
-+/**
-+ * do_kill_orphans - remove orphan inodes from the index.
-+ * @c: UBIFS file-system description object
-+ * @sleb: scanned LEB
-+ * @last_cmt_no: cmt_no of last orphan node read is passed and returned here
-+ * @outofdate: whether the LEB is out of date is returned here
-+ * @last_flagged: whether the end orphan node is encountered
-+ *
-+ * This function is a helper to the 'kill_orphans()' function. It goes through
-+ * every orphan node in a LEB and for every inode number recorded, removes
-+ * all keys for that inode from the TNC.
-+ */
-+static int do_kill_orphans(struct ubifs_info *c, struct ubifs_scan_leb *sleb,
-+ unsigned long long *last_cmt_no, int *outofdate,
-+ int *last_flagged)
-+{
-+ struct ubifs_scan_node *snod;
-+ struct ubifs_orph_node *orph;
-+ unsigned long long cmt_no;
-+ ino_t inum;
-+ int i, n, err, first = 1;
-+
-+ list_for_each_entry(snod, &sleb->nodes, list) {
-+ if (snod->type != UBIFS_ORPH_NODE) {
-+ ubifs_err("invalid node type %d in orphan area at "
-+ "%d:%d", snod->type, sleb->lnum, snod->offs);
-+ dbg_dump_node(c, snod->node);
-+ return -EINVAL;
-+ }
-+
-+ orph = snod->node;
-+
-+ /* Check commit number */
-+ cmt_no = le64_to_cpu(orph->cmt_no) & LLONG_MAX;
-+ /*
-+ * The commit number on the master node may be less, because
-+ * of a failed commit. If there are several failed commits in a
-+ * row, the commit number written on orphan nodes will continue
-+ * to increase (because the commit number is adjusted here) even
-+ * though the commit number on the master node stays the same
-+ * because the master node has not been re-written.
-+ */
-+ if (cmt_no > c->cmt_no)
-+ c->cmt_no = cmt_no;
-+ if (cmt_no < *last_cmt_no && *last_flagged) {
-+ /*
-+ * The last orphan node had a higher commit number and
-+ * was flagged as the last written for that commit
-+ * number. That makes this orphan node, out of date.
-+ */
-+ if (!first) {
-+ ubifs_err("out of order commit number %llu in "
-+ "orphan node at %d:%d",
-+ cmt_no, sleb->lnum, snod->offs);
-+ dbg_dump_node(c, snod->node);
-+ return -EINVAL;
-+ }
-+ dbg_rcvry("out of date LEB %d", sleb->lnum);
-+ *outofdate = 1;
-+ return 0;
-+ }
-+
-+ if (first)
-+ first = 0;
-+
-+ n = (le32_to_cpu(orph->ch.len) - UBIFS_ORPH_NODE_SZ) >> 3;
-+ for (i = 0; i < n; i++) {
-+ inum = le64_to_cpu(orph->inos[i]);
-+ dbg_rcvry("deleting orphaned inode %lu",
-+ (unsigned long)inum);
-+ err = ubifs_tnc_remove_ino(c, inum);
-+ if (err)
-+ return err;
-+ err = insert_dead_orphan(c, inum);
-+ if (err)
-+ return err;
-+ }
-+
-+ *last_cmt_no = cmt_no;
-+ if (le64_to_cpu(orph->cmt_no) & (1ULL << 63)) {
-+ dbg_rcvry("last orph node for commit %llu at %d:%d",
-+ cmt_no, sleb->lnum, snod->offs);
-+ *last_flagged = 1;
-+ } else
-+ *last_flagged = 0;
-+ }
-+
-+ return 0;
-+}
-+
-+/**
-+ * kill_orphans - remove all orphan inodes from the index.
-+ * @c: UBIFS file-system description object
-+ *
-+ * If recovery is required, then orphan inodes recorded during the previous
-+ * session (which ended with an unclean unmount) must be deleted from the index.
-+ * This is done by updating the TNC, but since the index is not updated until
-+ * the next commit, the LEBs where the orphan information is recorded are not
-+ * erased until the next commit.
-+ */
-+static int kill_orphans(struct ubifs_info *c)
-+{
-+ unsigned long long last_cmt_no = 0;
-+ int lnum, err = 0, outofdate = 0, last_flagged = 0;
-+
-+ c->ohead_lnum = c->orph_first;
-+ c->ohead_offs = 0;
-+ /* Check no-orphans flag and skip this if no orphans */
-+ if (c->no_orphs) {
-+ dbg_rcvry("no orphans");
-+ return 0;
-+ }
-+ /*
-+ * Orph nodes always start at c->orph_first and are written to each
-+ * successive LEB in turn. Generally unused LEBs will have been unmapped
-+ * but may contain out of date orphan nodes if the unmap didn't go
-+ * through. In addition, the last orphan node written for each commit is
-+ * marked (top bit of orph->cmt_no is set to 1). It is possible that
-+ * there are orphan nodes from the next commit (i.e. the commit did not
-+ * complete successfully). In that case, no orphans will have been lost
-+ * due to the way that orphans are written, and any orphans added will
-+ * be valid orphans anyway and so can be deleted.
-+ */
-+ for (lnum = c->orph_first; lnum <= c->orph_last; lnum++) {
-+ struct ubifs_scan_leb *sleb;
-+
-+ dbg_rcvry("LEB %d", lnum);
-+ sleb = ubifs_scan(c, lnum, 0, c->sbuf);
-+ if (IS_ERR(sleb)) {
-+ sleb = ubifs_recover_leb(c, lnum, 0, c->sbuf, 0);
-+ if (IS_ERR(sleb)) {
-+ err = PTR_ERR(sleb);
-+ break;
-+ }
-+ }
-+ err = do_kill_orphans(c, sleb, &last_cmt_no, &outofdate,
-+ &last_flagged);
-+ if (err || outofdate) {
-+ ubifs_scan_destroy(sleb);
-+ break;
-+ }
-+ if (sleb->endpt) {
-+ c->ohead_lnum = lnum;
-+ c->ohead_offs = sleb->endpt;
-+ }
-+ ubifs_scan_destroy(sleb);
-+ }
-+ return err;
-+}
-+
-+/**
-+ * ubifs_mount_orphans - delete orphan inodes and erase LEBs that recorded them.
-+ * @c: UBIFS file-system description object
-+ * @unclean: indicates recovery from unclean unmount
-+ * @read_only: indicates read only mount
-+ *
-+ * This function is called when mounting to erase orphans from the previous
-+ * session. If UBIFS was not unmounted cleanly, then the inodes recorded as
-+ * orphans are deleted.
-+ */
-+int ubifs_mount_orphans(struct ubifs_info *c, int unclean, int read_only)
-+{
-+ int err = 0;
-+
-+ c->max_orphans = tot_avail_orphs(c);
-+
-+ if (!read_only) {
-+ c->orph_buf = vmalloc(c->leb_size);
-+ if (!c->orph_buf)
-+ return -ENOMEM;
-+ }
-+
-+ if (unclean)
-+ err = kill_orphans(c);
-+ else if (!read_only)
-+ err = ubifs_clear_orphans(c);
-+
-+ return err;
-+}
-+
-+#ifdef CONFIG_UBIFS_FS_DEBUG
-+
-+struct check_orphan {
-+ struct rb_node rb;
-+ ino_t inum;
-+};
-+
-+struct check_info {
-+ unsigned long last_ino;
-+ unsigned long tot_inos;
-+ unsigned long missing;
-+ unsigned long long leaf_cnt;
-+ struct ubifs_ino_node *node;
-+ struct rb_root root;
-+};
-+
-+static int dbg_find_orphan(struct ubifs_info *c, ino_t inum)
-+{
-+ struct ubifs_orphan *o;
-+ struct rb_node *p;
-+
-+ spin_lock(&c->orphan_lock);
-+ p = c->orph_tree.rb_node;
-+ while (p) {
-+ o = rb_entry(p, struct ubifs_orphan, rb);
-+ if (inum < o->inum)
-+ p = p->rb_left;
-+ else if (inum > o->inum)
-+ p = p->rb_right;
-+ else {
-+ spin_unlock(&c->orphan_lock);
-+ return 1;
-+ }
-+ }
-+ spin_unlock(&c->orphan_lock);
-+ return 0;
-+}
-+
-+static int dbg_ins_check_orphan(struct rb_root *root, ino_t inum)
-+{
-+ struct check_orphan *orphan, *o;
-+ struct rb_node **p, *parent = NULL;
-+
-+ orphan = kzalloc(sizeof(struct check_orphan), GFP_NOFS);
-+ if (!orphan)
-+ return -ENOMEM;
-+ orphan->inum = inum;
-+
-+ p = &root->rb_node;
-+ while (*p) {
-+ parent = *p;
-+ o = rb_entry(parent, struct check_orphan, rb);
-+ if (inum < o->inum)
-+ p = &(*p)->rb_left;
-+ else if (inum > o->inum)
-+ p = &(*p)->rb_right;
-+ else {
-+ kfree(orphan);
-+ return 0;
-+ }
-+ }
-+ rb_link_node(&orphan->rb, parent, p);
-+ rb_insert_color(&orphan->rb, root);
-+ return 0;
-+}
-+
-+static int dbg_find_check_orphan(struct rb_root *root, ino_t inum)
-+{
-+ struct check_orphan *o;
-+ struct rb_node *p;
-+
-+ p = root->rb_node;
-+ while (p) {
-+ o = rb_entry(p, struct check_orphan, rb);
-+ if (inum < o->inum)
-+ p = p->rb_left;
-+ else if (inum > o->inum)
-+ p = p->rb_right;
-+ else
-+ return 1;
-+ }
-+ return 0;
-+}
-+
-+static void dbg_free_check_tree(struct rb_root *root)
-+{
-+ struct rb_node *this = root->rb_node;
-+ struct check_orphan *o;
-+
-+ while (this) {
-+ if (this->rb_left) {
-+ this = this->rb_left;
-+ continue;
-+ } else if (this->rb_right) {
-+ this = this->rb_right;
-+ continue;
-+ }
-+ o = rb_entry(this, struct check_orphan, rb);
-+ this = rb_parent(this);
-+ if (this) {
-+ if (this->rb_left == &o->rb)
-+ this->rb_left = NULL;
-+ else
-+ this->rb_right = NULL;
-+ }
-+ kfree(o);
-+ }
-+}
-+
-+static int dbg_orphan_check(struct ubifs_info *c, struct ubifs_zbranch *zbr,
-+ void *priv)
-+{
-+ struct check_info *ci = priv;
-+ ino_t inum;
-+ int err;
-+
-+ inum = key_inum(c, &zbr->key);
-+ if (inum != ci->last_ino) {
-+ /* Lowest node type is the inode node, so it comes first */
-+ if (key_type(c, &zbr->key) != UBIFS_INO_KEY)
-+ ubifs_err("found orphan node ino %lu, type %d",
-+ (unsigned long)inum, key_type(c, &zbr->key));
-+ ci->last_ino = inum;
-+ ci->tot_inos += 1;
-+ err = ubifs_tnc_read_node(c, zbr, ci->node);
-+ if (err) {
-+ ubifs_err("node read failed, error %d", err);
-+ return err;
-+ }
-+ if (ci->node->nlink == 0)
-+ /* Must be recorded as an orphan */
-+ if (!dbg_find_check_orphan(&ci->root, inum) &&
-+ !dbg_find_orphan(c, inum)) {
-+ ubifs_err("missing orphan, ino %lu",
-+ (unsigned long)inum);
-+ ci->missing += 1;
-+ }
-+ }
-+ ci->leaf_cnt += 1;
-+ return 0;
-+}
-+
-+static int dbg_read_orphans(struct check_info *ci, struct ubifs_scan_leb *sleb)
-+{
-+ struct ubifs_scan_node *snod;
-+ struct ubifs_orph_node *orph;
-+ ino_t inum;
-+ int i, n, err;
-+
-+ list_for_each_entry(snod, &sleb->nodes, list) {
-+ cond_resched();
-+ if (snod->type != UBIFS_ORPH_NODE)
-+ continue;
-+ orph = snod->node;
-+ n = (le32_to_cpu(orph->ch.len) - UBIFS_ORPH_NODE_SZ) >> 3;
-+ for (i = 0; i < n; i++) {
-+ inum = le64_to_cpu(orph->inos[i]);
-+ err = dbg_ins_check_orphan(&ci->root, inum);
-+ if (err)
-+ return err;
-+ }
-+ }
-+ return 0;
-+}
-+
-+static int dbg_scan_orphans(struct ubifs_info *c, struct check_info *ci)
-+{
-+ int lnum, err = 0;
-+
-+ /* Check no-orphans flag and skip this if no orphans */
-+ if (c->no_orphs)
-+ return 0;
-+
-+ for (lnum = c->orph_first; lnum <= c->orph_last; lnum++) {
-+ struct ubifs_scan_leb *sleb;
-+
-+ sleb = ubifs_scan(c, lnum, 0, c->dbg->buf);
-+ if (IS_ERR(sleb)) {
-+ err = PTR_ERR(sleb);
-+ break;
-+ }
-+
-+ err = dbg_read_orphans(ci, sleb);
-+ ubifs_scan_destroy(sleb);
-+ if (err)
-+ break;
-+ }
-+
-+ return err;
-+}
-+
-+static int dbg_check_orphans(struct ubifs_info *c)
-+{
-+ struct check_info ci;
-+ int err;
-+
-+ if (!(ubifs_chk_flags & UBIFS_CHK_ORPH))
-+ return 0;
-+
-+ ci.last_ino = 0;
-+ ci.tot_inos = 0;
-+ ci.missing = 0;
-+ ci.leaf_cnt = 0;
-+ ci.root = RB_ROOT;
-+ ci.node = kmalloc(UBIFS_MAX_INO_NODE_SZ, GFP_NOFS);
-+ if (!ci.node) {
-+ ubifs_err("out of memory");
-+ return -ENOMEM;
-+ }
-+
-+ err = dbg_scan_orphans(c, &ci);
-+ if (err)
-+ goto out;
-+
-+ err = dbg_walk_index(c, &dbg_orphan_check, NULL, &ci);
-+ if (err) {
-+ ubifs_err("cannot scan TNC, error %d", err);
-+ goto out;
-+ }
-+
-+ if (ci.missing) {
-+ ubifs_err("%lu missing orphan(s)", ci.missing);
-+ err = -EINVAL;
-+ goto out;
-+ }
-+
-+ dbg_cmt("last inode number is %lu", ci.last_ino);
-+ dbg_cmt("total number of inodes is %lu", ci.tot_inos);
-+ dbg_cmt("total number of leaf nodes is %llu", ci.leaf_cnt);
-+
-+out:
-+ dbg_free_check_tree(&ci.root);
-+ kfree(ci.node);
-+ return err;
-+}
-+
-+#endif /* CONFIG_UBIFS_FS_DEBUG */
-diff -Nurd linux-2.6.24.orig/fs/ubifs/recovery.c linux-2.6.24/fs/ubifs/recovery.c
---- linux-2.6.24.orig/fs/ubifs/recovery.c 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.24/fs/ubifs/recovery.c 2009-04-17 09:49:28.000000000 +0200
-@@ -0,0 +1,1520 @@
-+/*
-+ * This file is part of UBIFS.
-+ *
-+ * Copyright (C) 2006-2008 Nokia Corporation
-+ *
-+ * This program is free software; you can redistribute it and/or modify it
-+ * under the terms of the GNU General Public License version 2 as published by
-+ * the Free Software Foundation.
-+ *
-+ * 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, write to the Free Software Foundation, Inc., 51
-+ * Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
-+ *
-+ * Authors: Adrian Hunter
-+ * Artem Bityutskiy (Битюцкий Ðртём)
-+ */
-+
-+/*
-+ * This file implements functions needed to recover from unclean un-mounts.
-+ * When UBIFS is mounted, it checks a flag on the master node to determine if
-+ * an un-mount was completed sucessfully. If not, the process of mounting
-+ * incorparates additional checking and fixing of on-flash data structures.
-+ * UBIFS always cleans away all remnants of an unclean un-mount, so that
-+ * errors do not accumulate. However UBIFS defers recovery if it is mounted
-+ * read-only, and the flash is not modified in that case.
-+ */
-+
-+#include <linux/crc32.h>
-+#include "ubifs.h"
-+
-+/**
-+ * is_empty - determine whether a buffer is empty (contains all 0xff).
-+ * @buf: buffer to clean
-+ * @len: length of buffer
-+ *
-+ * This function returns %1 if the buffer is empty (contains all 0xff) otherwise
-+ * %0 is returned.
-+ */
-+static int is_empty(void *buf, int len)
-+{
-+ uint8_t *p = buf;
-+ int i;
-+
-+ for (i = 0; i < len; i++)
-+ if (*p++ != 0xff)
-+ return 0;
-+ return 1;
-+}
-+
-+/**
-+ * get_master_node - get the last valid master node allowing for corruption.
-+ * @c: UBIFS file-system description object
-+ * @lnum: LEB number
-+ * @pbuf: buffer containing the LEB read, is returned here
-+ * @mst: master node, if found, is returned here
-+ * @cor: corruption, if found, is returned here
-+ *
-+ * This function allocates a buffer, reads the LEB into it, and finds and
-+ * returns the last valid master node allowing for one area of corruption.
-+ * The corrupt area, if there is one, must be consistent with the assumption
-+ * that it is the result of an unclean unmount while the master node was being
-+ * written. Under those circumstances, it is valid to use the previously written
-+ * master node.
-+ *
-+ * This function returns %0 on success and a negative error code on failure.
-+ */
-+static int get_master_node(const struct ubifs_info *c, int lnum, void **pbuf,
-+ struct ubifs_mst_node **mst, void **cor)
-+{
-+ const int sz = c->mst_node_alsz;
-+ int err, offs, len;
-+ void *sbuf, *buf;
-+
-+ sbuf = vmalloc(c->leb_size);
-+ if (!sbuf)
-+ return -ENOMEM;
-+
-+ err = ubi_read(c->ubi, lnum, sbuf, 0, c->leb_size);
-+ if (err && err != -EBADMSG)
-+ goto out_free;
-+
-+ /* Find the first position that is definitely not a node */
-+ offs = 0;
-+ buf = sbuf;
-+ len = c->leb_size;
-+ while (offs + UBIFS_MST_NODE_SZ <= c->leb_size) {
-+ struct ubifs_ch *ch = buf;
-+
-+ if (le32_to_cpu(ch->magic) != UBIFS_NODE_MAGIC)
-+ break;
-+ offs += sz;
-+ buf += sz;
-+ len -= sz;
-+ }
-+ /* See if there was a valid master node before that */
-+ if (offs) {
-+ int ret;
-+
-+ offs -= sz;
-+ buf -= sz;
-+ len += sz;
-+ ret = ubifs_scan_a_node(c, buf, len, lnum, offs, 1);
-+ if (ret != SCANNED_A_NODE && offs) {
-+ /* Could have been corruption so check one place back */
-+ offs -= sz;
-+ buf -= sz;
-+ len += sz;
-+ ret = ubifs_scan_a_node(c, buf, len, lnum, offs, 1);
-+ if (ret != SCANNED_A_NODE)
-+ /*
-+ * We accept only one area of corruption because
-+ * we are assuming that it was caused while
-+ * trying to write a master node.
-+ */
-+ goto out_err;
-+ }
-+ if (ret == SCANNED_A_NODE) {
-+ struct ubifs_ch *ch = buf;
-+
-+ if (ch->node_type != UBIFS_MST_NODE)
-+ goto out_err;
-+ dbg_rcvry("found a master node at %d:%d", lnum, offs);
-+ *mst = buf;
-+ offs += sz;
-+ buf += sz;
-+ len -= sz;
-+ }
-+ }
-+ /* Check for corruption */
-+ if (offs < c->leb_size) {
-+ if (!is_empty(buf, min_t(int, len, sz))) {
-+ *cor = buf;
-+ dbg_rcvry("found corruption at %d:%d", lnum, offs);
-+ }
-+ offs += sz;
-+ buf += sz;
-+ len -= sz;
-+ }
-+ /* Check remaining empty space */
-+ if (offs < c->leb_size)
-+ if (!is_empty(buf, len))
-+ goto out_err;
-+ *pbuf = sbuf;
-+ return 0;
-+
-+out_err:
-+ err = -EINVAL;
-+out_free:
-+ vfree(sbuf);
-+ *mst = NULL;
-+ *cor = NULL;
-+ return err;
-+}
-+
-+/**
-+ * write_rcvrd_mst_node - write recovered master node.
-+ * @c: UBIFS file-system description object
-+ * @mst: master node
-+ *
-+ * This function returns %0 on success and a negative error code on failure.
-+ */
-+static int write_rcvrd_mst_node(struct ubifs_info *c,
-+ struct ubifs_mst_node *mst)
-+{
-+ int err = 0, lnum = UBIFS_MST_LNUM, sz = c->mst_node_alsz;
-+ __le32 save_flags;
-+
-+ dbg_rcvry("recovery");
-+
-+ save_flags = mst->flags;
-+ mst->flags |= cpu_to_le32(UBIFS_MST_RCVRY);
-+
-+ ubifs_prepare_node(c, mst, UBIFS_MST_NODE_SZ, 1);
-+ err = ubi_leb_change(c->ubi, lnum, mst, sz, UBI_SHORTTERM);
-+ if (err)
-+ goto out;
-+ err = ubi_leb_change(c->ubi, lnum + 1, mst, sz, UBI_SHORTTERM);
-+ if (err)
-+ goto out;
-+out:
-+ mst->flags = save_flags;
-+ return err;
-+}
-+
-+/**
-+ * ubifs_recover_master_node - recover the master node.
-+ * @c: UBIFS file-system description object
-+ *
-+ * This function recovers the master node from corruption that may occur due to
-+ * an unclean unmount.
-+ *
-+ * This function returns %0 on success and a negative error code on failure.
-+ */
-+int ubifs_recover_master_node(struct ubifs_info *c)
-+{
-+ void *buf1 = NULL, *buf2 = NULL, *cor1 = NULL, *cor2 = NULL;
-+ struct ubifs_mst_node *mst1 = NULL, *mst2 = NULL, *mst;
-+ const int sz = c->mst_node_alsz;
-+ int err, offs1, offs2;
-+
-+ dbg_rcvry("recovery");
-+
-+ err = get_master_node(c, UBIFS_MST_LNUM, &buf1, &mst1, &cor1);
-+ if (err)
-+ goto out_free;
-+
-+ err = get_master_node(c, UBIFS_MST_LNUM + 1, &buf2, &mst2, &cor2);
-+ if (err)
-+ goto out_free;
-+
-+ if (mst1) {
-+ offs1 = (void *)mst1 - buf1;
-+ if ((le32_to_cpu(mst1->flags) & UBIFS_MST_RCVRY) &&
-+ (offs1 == 0 && !cor1)) {
-+ /*
-+ * mst1 was written by recovery at offset 0 with no
-+ * corruption.
-+ */
-+ dbg_rcvry("recovery recovery");
-+ mst = mst1;
-+ } else if (mst2) {
-+ offs2 = (void *)mst2 - buf2;
-+ if (offs1 == offs2) {
-+ /* Same offset, so must be the same */
-+ if (memcmp((void *)mst1 + UBIFS_CH_SZ,
-+ (void *)mst2 + UBIFS_CH_SZ,
-+ UBIFS_MST_NODE_SZ - UBIFS_CH_SZ))
-+ goto out_err;
-+ mst = mst1;
-+ } else if (offs2 + sz == offs1) {
-+ /* 1st LEB was written, 2nd was not */
-+ if (cor1)
-+ goto out_err;
-+ mst = mst1;
-+ } else if (offs1 == 0 && offs2 + sz >= c->leb_size) {
-+ /* 1st LEB was unmapped and written, 2nd not */
-+ if (cor1)
-+ goto out_err;
-+ mst = mst1;
-+ } else
-+ goto out_err;
-+ } else {
-+ /*
-+ * 2nd LEB was unmapped and about to be written, so
-+ * there must be only one master node in the first LEB
-+ * and no corruption.
-+ */
-+ if (offs1 != 0 || cor1)
-+ goto out_err;
-+ mst = mst1;
-+ }
-+ } else {
-+ if (!mst2)
-+ goto out_err;
-+ /*
-+ * 1st LEB was unmapped and about to be written, so there must
-+ * be no room left in 2nd LEB.
-+ */
-+ offs2 = (void *)mst2 - buf2;
-+ if (offs2 + sz + sz <= c->leb_size)
-+ goto out_err;
-+ mst = mst2;
-+ }
-+
-+ dbg_rcvry("recovered master node from LEB %d",
-+ (mst == mst1 ? UBIFS_MST_LNUM : UBIFS_MST_LNUM + 1));
-+
-+ memcpy(c->mst_node, mst, UBIFS_MST_NODE_SZ);
-+
-+ if ((c->vfs_sb->s_flags & MS_RDONLY)) {
-+ /* Read-only mode. Keep a copy for switching to rw mode */
-+ c->rcvrd_mst_node = kmalloc(sz, GFP_KERNEL);
-+ if (!c->rcvrd_mst_node) {
-+ err = -ENOMEM;
-+ goto out_free;
-+ }
-+ memcpy(c->rcvrd_mst_node, c->mst_node, UBIFS_MST_NODE_SZ);
-+ } else {
-+ /* Write the recovered master node */
-+ c->max_sqnum = le64_to_cpu(mst->ch.sqnum) - 1;
-+ err = write_rcvrd_mst_node(c, c->mst_node);
-+ if (err)
-+ goto out_free;
-+ }
-+
-+ vfree(buf2);
-+ vfree(buf1);
-+
-+ return 0;
-+
-+out_err:
-+ err = -EINVAL;
-+out_free:
-+ ubifs_err("failed to recover master node");
-+ if (mst1) {
-+ dbg_err("dumping first master node");
-+ dbg_dump_node(c, mst1);
-+ }
-+ if (mst2) {
-+ dbg_err("dumping second master node");
-+ dbg_dump_node(c, mst2);
-+ }
-+ vfree(buf2);
-+ vfree(buf1);
-+ return err;
-+}
-+
-+/**
-+ * ubifs_write_rcvrd_mst_node - write the recovered master node.
-+ * @c: UBIFS file-system description object
-+ *
-+ * This function writes the master node that was recovered during mounting in
-+ * read-only mode and must now be written because we are remounting rw.
-+ *
-+ * This function returns %0 on success and a negative error code on failure.
-+ */
-+int ubifs_write_rcvrd_mst_node(struct ubifs_info *c)
-+{
-+ int err;
-+
-+ if (!c->rcvrd_mst_node)
-+ return 0;
-+ c->rcvrd_mst_node->flags |= cpu_to_le32(UBIFS_MST_DIRTY);
-+ c->mst_node->flags |= cpu_to_le32(UBIFS_MST_DIRTY);
-+ err = write_rcvrd_mst_node(c, c->rcvrd_mst_node);
-+ if (err)
-+ return err;
-+ kfree(c->rcvrd_mst_node);
-+ c->rcvrd_mst_node = NULL;
-+ return 0;
-+}
-+
-+/**
-+ * is_last_write - determine if an offset was in the last write to a LEB.
-+ * @c: UBIFS file-system description object
-+ * @buf: buffer to check
-+ * @offs: offset to check
-+ *
-+ * This function returns %1 if @offs was in the last write to the LEB whose data
-+ * is in @buf, otherwise %0 is returned. The determination is made by checking
-+ * for subsequent empty space starting from the next min_io_size boundary (or a
-+ * bit less than the common header size if min_io_size is one).
-+ */
-+static int is_last_write(const struct ubifs_info *c, void *buf, int offs)
-+{
-+ int empty_offs;
-+ int check_len;
-+ uint8_t *p;
-+
-+ if (c->min_io_size == 1) {
-+ check_len = c->leb_size - offs;
-+ p = buf + check_len;
-+ for (; check_len > 0; check_len--)
-+ if (*--p != 0xff)
-+ break;
-+ /*
-+ * 'check_len' is the size of the corruption which cannot be
-+ * more than the size of 1 node if it was caused by an unclean
-+ * unmount.
-+ */
-+ if (check_len > UBIFS_MAX_NODE_SZ)
-+ return 0;
-+ return 1;
-+ }
-+
-+ /*
-+ * Round up to the next c->min_io_size boundary i.e. 'offs' is in the
-+ * last wbuf written. After that should be empty space.
-+ */
-+ empty_offs = ALIGN(offs + 1, c->min_io_size);
-+ check_len = c->leb_size - empty_offs;
-+ p = buf + empty_offs - offs;
-+
-+ for (; check_len > 0; check_len--)
-+ if (*p++ != 0xff)
-+ return 0;
-+ return 1;
-+}
-+
-+/**
-+ * clean_buf - clean the data from an LEB sitting in a buffer.
-+ * @c: UBIFS file-system description object
-+ * @buf: buffer to clean
-+ * @lnum: LEB number to clean
-+ * @offs: offset from which to clean
-+ * @len: length of buffer
-+ *
-+ * This function pads up to the next min_io_size boundary (if there is one) and
-+ * sets empty space to all 0xff. @buf, @offs and @len are updated to the next
-+ * min_io_size boundary (if there is one).
-+ */
-+static void clean_buf(const struct ubifs_info *c, void **buf, int lnum,
-+ int *offs, int *len)
-+{
-+ int empty_offs, pad_len;
-+
-+ lnum = lnum;
-+ dbg_rcvry("cleaning corruption at %d:%d", lnum, *offs);
-+
-+ if (c->min_io_size == 1) {
-+ memset(*buf, 0xff, c->leb_size - *offs);
-+ return;
-+ }
-+
-+ ubifs_assert(!(*offs & 7));
-+ empty_offs = ALIGN(*offs, c->min_io_size);
-+ pad_len = empty_offs - *offs;
-+ ubifs_pad(c, *buf, pad_len);
-+ *offs += pad_len;
-+ *buf += pad_len;
-+ *len -= pad_len;
-+ memset(*buf, 0xff, c->leb_size - empty_offs);
-+}
-+
-+/**
-+ * no_more_nodes - determine if there are no more nodes in a buffer.
-+ * @c: UBIFS file-system description object
-+ * @buf: buffer to check
-+ * @len: length of buffer
-+ * @lnum: LEB number of the LEB from which @buf was read
-+ * @offs: offset from which @buf was read
-+ *
-+ * This function scans @buf for more nodes and returns %0 is a node is found and
-+ * %1 if no more nodes are found.
-+ */
-+static int no_more_nodes(const struct ubifs_info *c, void *buf, int len,
-+ int lnum, int offs)
-+{
-+ int skip, next_offs = 0;
-+
-+ if (len > UBIFS_DATA_NODE_SZ) {
-+ struct ubifs_ch *ch = buf;
-+ int dlen = le32_to_cpu(ch->len);
-+
-+ if (ch->node_type == UBIFS_DATA_NODE && dlen >= UBIFS_CH_SZ &&
-+ dlen <= UBIFS_MAX_DATA_NODE_SZ)
-+ /* The corrupt node looks like a data node */
-+ next_offs = ALIGN(offs + dlen, 8);
-+ }
-+
-+ if (c->min_io_size == 1)
-+ skip = 8;
-+ else
-+ skip = ALIGN(offs + 1, c->min_io_size) - offs;
-+
-+ offs += skip;
-+ buf += skip;
-+ len -= skip;
-+ while (len > 8) {
-+ struct ubifs_ch *ch = buf;
-+ uint32_t magic = le32_to_cpu(ch->magic);
-+ int ret;
-+
-+ if (magic == UBIFS_NODE_MAGIC) {
-+ ret = ubifs_scan_a_node(c, buf, len, lnum, offs, 1);
-+ if (ret == SCANNED_A_NODE || ret > 0) {
-+ /*
-+ * There is a small chance this is just data in
-+ * a data node, so check that possibility. e.g.
-+ * this is part of a file that itself contains
-+ * a UBIFS image.
-+ */
-+ if (next_offs && offs + le32_to_cpu(ch->len) <=
-+ next_offs)
-+ continue;
-+ dbg_rcvry("unexpected node at %d:%d", lnum,
-+ offs);
-+ return 0;
-+ }
-+ }
-+ offs += 8;
-+ buf += 8;
-+ len -= 8;
-+ }
-+ return 1;
-+}
-+
-+/**
-+ * fix_unclean_leb - fix an unclean LEB.
-+ * @c: UBIFS file-system description object
-+ * @sleb: scanned LEB information
-+ * @start: offset where scan started
-+ */
-+static int fix_unclean_leb(struct ubifs_info *c, struct ubifs_scan_leb *sleb,
-+ int start)
-+{
-+ int lnum = sleb->lnum, endpt = start;
-+
-+ /* Get the end offset of the last node we are keeping */
-+ if (!list_empty(&sleb->nodes)) {
-+ struct ubifs_scan_node *snod;
-+
-+ snod = list_entry(sleb->nodes.prev,
-+ struct ubifs_scan_node, list);
-+ endpt = snod->offs + snod->len;
-+ }
-+
-+ if ((c->vfs_sb->s_flags & MS_RDONLY) && !c->remounting_rw) {
-+ /* Add to recovery list */
-+ struct ubifs_unclean_leb *ucleb;
-+
-+ dbg_rcvry("need to fix LEB %d start %d endpt %d",
-+ lnum, start, sleb->endpt);
-+ ucleb = kzalloc(sizeof(struct ubifs_unclean_leb), GFP_NOFS);
-+ if (!ucleb)
-+ return -ENOMEM;
-+ ucleb->lnum = lnum;
-+ ucleb->endpt = endpt;
-+ list_add_tail(&ucleb->list, &c->unclean_leb_list);
-+ } else {
-+ /* Write the fixed LEB back to flash */
-+ int err;
-+
-+ dbg_rcvry("fixing LEB %d start %d endpt %d",
-+ lnum, start, sleb->endpt);
-+ if (endpt == 0) {
-+ err = ubifs_leb_unmap(c, lnum);
-+ if (err)
-+ return err;
-+ } else {
-+ int len = ALIGN(endpt, c->min_io_size);
-+
-+ if (start) {
-+ err = ubi_read(c->ubi, lnum, sleb->buf, 0,
-+ start);
-+ if (err)
-+ return err;
-+ }
-+ /* Pad to min_io_size */
-+ if (len > endpt) {
-+ int pad_len = len - ALIGN(endpt, 8);
-+
-+ if (pad_len > 0) {
-+ void *buf = sleb->buf + len - pad_len;
-+
-+ ubifs_pad(c, buf, pad_len);
-+ }
-+ }
-+ err = ubi_leb_change(c->ubi, lnum, sleb->buf, len,
-+ UBI_UNKNOWN);
-+ if (err)
-+ return err;
-+ }
-+ }
-+ return 0;
-+}
-+
-+/**
-+ * drop_incomplete_group - drop nodes from an incomplete group.
-+ * @sleb: scanned LEB information
-+ * @offs: offset of dropped nodes is returned here
-+ *
-+ * This function returns %1 if nodes are dropped and %0 otherwise.
-+ */
-+static int drop_incomplete_group(struct ubifs_scan_leb *sleb, int *offs)
-+{
-+ int dropped = 0;
-+
-+ while (!list_empty(&sleb->nodes)) {
-+ struct ubifs_scan_node *snod;
-+ struct ubifs_ch *ch;
-+
-+ snod = list_entry(sleb->nodes.prev, struct ubifs_scan_node,
-+ list);
-+ ch = snod->node;
-+ if (ch->group_type != UBIFS_IN_NODE_GROUP)
-+ return dropped;
-+ dbg_rcvry("dropping node at %d:%d", sleb->lnum, snod->offs);
-+ *offs = snod->offs;
-+ list_del(&snod->list);
-+ kfree(snod);
-+ sleb->nodes_cnt -= 1;
-+ dropped = 1;
-+ }
-+ return dropped;
-+}
-+
-+/**
-+ * ubifs_recover_leb - scan and recover a LEB.
-+ * @c: UBIFS file-system description object
-+ * @lnum: LEB number
-+ * @offs: offset
-+ * @sbuf: LEB-sized buffer to use
-+ * @grouped: nodes may be grouped for recovery
-+ *
-+ * This function does a scan of a LEB, but caters for errors that might have
-+ * been caused by the unclean unmount from which we are attempting to recover.
-+ *
-+ * This function returns %0 on success and a negative error code on failure.
-+ */
-+struct ubifs_scan_leb *ubifs_recover_leb(struct ubifs_info *c, int lnum,
-+ int offs, void *sbuf, int grouped)
-+{
-+ int err, len = c->leb_size - offs, need_clean = 0, quiet = 1;
-+ int empty_chkd = 0, start = offs;
-+ struct ubifs_scan_leb *sleb;
-+ void *buf = sbuf + offs;
-+
-+ dbg_rcvry("%d:%d", lnum, offs);
-+
-+ sleb = ubifs_start_scan(c, lnum, offs, sbuf);
-+ if (IS_ERR(sleb))
-+ return sleb;
-+
-+ if (sleb->ecc)
-+ need_clean = 1;
-+
-+ while (len >= 8) {
-+ int ret;
-+
-+ dbg_scan("look at LEB %d:%d (%d bytes left)",
-+ lnum, offs, len);
-+
-+ cond_resched();
-+
-+ /*
-+ * Scan quietly until there is an error from which we cannot
-+ * recover
-+ */
-+ ret = ubifs_scan_a_node(c, buf, len, lnum, offs, quiet);
-+
-+ if (ret == SCANNED_A_NODE) {
-+ /* A valid node, and not a padding node */
-+ struct ubifs_ch *ch = buf;
-+ int node_len;
-+
-+ err = ubifs_add_snod(c, sleb, buf, offs);
-+ if (err)
-+ goto error;
-+ node_len = ALIGN(le32_to_cpu(ch->len), 8);
-+ offs += node_len;
-+ buf += node_len;
-+ len -= node_len;
-+ continue;
-+ }
-+
-+ if (ret > 0) {
-+ /* Padding bytes or a valid padding node */
-+ offs += ret;
-+ buf += ret;
-+ len -= ret;
-+ continue;
-+ }
-+
-+ if (ret == SCANNED_EMPTY_SPACE) {
-+ if (!is_empty(buf, len)) {
-+ if (!is_last_write(c, buf, offs))
-+ break;
-+ clean_buf(c, &buf, lnum, &offs, &len);
-+ need_clean = 1;
-+ }
-+ empty_chkd = 1;
-+ break;
-+ }
-+
-+ if (ret == SCANNED_GARBAGE || ret == SCANNED_A_BAD_PAD_NODE)
-+ if (is_last_write(c, buf, offs)) {
-+ clean_buf(c, &buf, lnum, &offs, &len);
-+ need_clean = 1;
-+ empty_chkd = 1;
-+ break;
-+ }
-+
-+ if (ret == SCANNED_A_CORRUPT_NODE)
-+ if (no_more_nodes(c, buf, len, lnum, offs)) {
-+ clean_buf(c, &buf, lnum, &offs, &len);
-+ need_clean = 1;
-+ empty_chkd = 1;
-+ break;
-+ }
-+
-+ if (quiet) {
-+ /* Redo the last scan but noisily */
-+ quiet = 0;
-+ continue;
-+ }
-+
-+ switch (ret) {
-+ case SCANNED_GARBAGE:
-+ dbg_err("garbage");
-+ goto corrupted;
-+ case SCANNED_A_CORRUPT_NODE:
-+ case SCANNED_A_BAD_PAD_NODE:
-+ dbg_err("bad node");
-+ goto corrupted;
-+ default:
-+ dbg_err("unknown");
-+ goto corrupted;
-+ }
-+ }
-+
-+ if (!empty_chkd && !is_empty(buf, len)) {
-+ if (is_last_write(c, buf, offs)) {
-+ clean_buf(c, &buf, lnum, &offs, &len);
-+ need_clean = 1;
-+ } else {
-+ ubifs_err("corrupt empty space at LEB %d:%d",
-+ lnum, offs);
-+ goto corrupted;
-+ }
-+ }
-+
-+ /* Drop nodes from incomplete group */
-+ if (grouped && drop_incomplete_group(sleb, &offs)) {
-+ buf = sbuf + offs;
-+ len = c->leb_size - offs;
-+ clean_buf(c, &buf, lnum, &offs, &len);
-+ need_clean = 1;
-+ }
-+
-+ if (offs % c->min_io_size) {
-+ clean_buf(c, &buf, lnum, &offs, &len);
-+ need_clean = 1;
-+ }
-+
-+ ubifs_end_scan(c, sleb, lnum, offs);
-+
-+ if (need_clean) {
-+ err = fix_unclean_leb(c, sleb, start);
-+ if (err)
-+ goto error;
-+ }
-+
-+ return sleb;
-+
-+corrupted:
-+ ubifs_scanned_corruption(c, lnum, offs, buf);
-+ err = -EUCLEAN;
-+error:
-+ ubifs_err("LEB %d scanning failed", lnum);
-+ ubifs_scan_destroy(sleb);
-+ return ERR_PTR(err);
-+}
-+
-+/**
-+ * get_cs_sqnum - get commit start sequence number.
-+ * @c: UBIFS file-system description object
-+ * @lnum: LEB number of commit start node
-+ * @offs: offset of commit start node
-+ * @cs_sqnum: commit start sequence number is returned here
-+ *
-+ * This function returns %0 on success and a negative error code on failure.
-+ */
-+static int get_cs_sqnum(struct ubifs_info *c, int lnum, int offs,
-+ unsigned long long *cs_sqnum)
-+{
-+ struct ubifs_cs_node *cs_node = NULL;
-+ int err, ret;
-+
-+ dbg_rcvry("at %d:%d", lnum, offs);
-+ cs_node = kmalloc(UBIFS_CS_NODE_SZ, GFP_KERNEL);
-+ if (!cs_node)
-+ return -ENOMEM;
-+ if (c->leb_size - offs < UBIFS_CS_NODE_SZ)
-+ goto out_err;
-+ err = ubi_read(c->ubi, lnum, (void *)cs_node, offs, UBIFS_CS_NODE_SZ);
-+ if (err && err != -EBADMSG)
-+ goto out_free;
-+ ret = ubifs_scan_a_node(c, cs_node, UBIFS_CS_NODE_SZ, lnum, offs, 0);
-+ if (ret != SCANNED_A_NODE) {
-+ dbg_err("Not a valid node");
-+ goto out_err;
-+ }
-+ if (cs_node->ch.node_type != UBIFS_CS_NODE) {
-+ dbg_err("Node a CS node, type is %d", cs_node->ch.node_type);
-+ goto out_err;
-+ }
-+ if (le64_to_cpu(cs_node->cmt_no) != c->cmt_no) {
-+ dbg_err("CS node cmt_no %llu != current cmt_no %llu",
-+ (unsigned long long)le64_to_cpu(cs_node->cmt_no),
-+ c->cmt_no);
-+ goto out_err;
-+ }
-+ *cs_sqnum = le64_to_cpu(cs_node->ch.sqnum);
-+ dbg_rcvry("commit start sqnum %llu", *cs_sqnum);
-+ kfree(cs_node);
-+ return 0;
-+
-+out_err:
-+ err = -EINVAL;
-+out_free:
-+ ubifs_err("failed to get CS sqnum");
-+ kfree(cs_node);
-+ return err;
-+}
-+
-+/**
-+ * ubifs_recover_log_leb - scan and recover a log LEB.
-+ * @c: UBIFS file-system description object
-+ * @lnum: LEB number
-+ * @offs: offset
-+ * @sbuf: LEB-sized buffer to use
-+ *
-+ * This function does a scan of a LEB, but caters for errors that might have
-+ * been caused by the unclean unmount from which we are attempting to recover.
-+ *
-+ * This function returns %0 on success and a negative error code on failure.
-+ */
-+struct ubifs_scan_leb *ubifs_recover_log_leb(struct ubifs_info *c, int lnum,
-+ int offs, void *sbuf)
-+{
-+ struct ubifs_scan_leb *sleb;
-+ int next_lnum;
-+
-+ dbg_rcvry("LEB %d", lnum);
-+ next_lnum = lnum + 1;
-+ if (next_lnum >= UBIFS_LOG_LNUM + c->log_lebs)
-+ next_lnum = UBIFS_LOG_LNUM;
-+ if (next_lnum != c->ltail_lnum) {
-+ /*
-+ * We can only recover at the end of the log, so check that the
-+ * next log LEB is empty or out of date.
-+ */
-+ sleb = ubifs_scan(c, next_lnum, 0, sbuf);
-+ if (IS_ERR(sleb))
-+ return sleb;
-+ if (sleb->nodes_cnt) {
-+ struct ubifs_scan_node *snod;
-+ unsigned long long cs_sqnum = c->cs_sqnum;
-+
-+ snod = list_entry(sleb->nodes.next,
-+ struct ubifs_scan_node, list);
-+ if (cs_sqnum == 0) {
-+ int err;
-+
-+ err = get_cs_sqnum(c, lnum, offs, &cs_sqnum);
-+ if (err) {
-+ ubifs_scan_destroy(sleb);
-+ return ERR_PTR(err);
-+ }
-+ }
-+ if (snod->sqnum > cs_sqnum) {
-+ ubifs_err("unrecoverable log corruption "
-+ "in LEB %d", lnum);
-+ ubifs_scan_destroy(sleb);
-+ return ERR_PTR(-EUCLEAN);
-+ }
-+ }
-+ ubifs_scan_destroy(sleb);
-+ }
-+ return ubifs_recover_leb(c, lnum, offs, sbuf, 0);
-+}
-+
-+/**
-+ * recover_head - recover a head.
-+ * @c: UBIFS file-system description object
-+ * @lnum: LEB number of head to recover
-+ * @offs: offset of head to recover
-+ * @sbuf: LEB-sized buffer to use
-+ *
-+ * This function ensures that there is no data on the flash at a head location.
-+ *
-+ * This function returns %0 on success and a negative error code on failure.
-+ */
-+static int recover_head(const struct ubifs_info *c, int lnum, int offs,
-+ void *sbuf)
-+{
-+ int len, err, need_clean = 0;
-+
-+ if (c->min_io_size > 1)
-+ len = c->min_io_size;
-+ else
-+ len = 512;
-+ if (offs + len > c->leb_size)
-+ len = c->leb_size - offs;
-+
-+ if (!len)
-+ return 0;
-+
-+ /* Read at the head location and check it is empty flash */
-+ err = ubi_read(c->ubi, lnum, sbuf, offs, len);
-+ if (err)
-+ need_clean = 1;
-+ else {
-+ uint8_t *p = sbuf;
-+
-+ while (len--)
-+ if (*p++ != 0xff) {
-+ need_clean = 1;
-+ break;
-+ }
-+ }
-+
-+ if (need_clean) {
-+ dbg_rcvry("cleaning head at %d:%d", lnum, offs);
-+ if (offs == 0)
-+ return ubifs_leb_unmap(c, lnum);
-+ err = ubi_read(c->ubi, lnum, sbuf, 0, offs);
-+ if (err)
-+ return err;
-+ return ubi_leb_change(c->ubi, lnum, sbuf, offs, UBI_UNKNOWN);
-+ }
-+
-+ return 0;
-+}
-+
-+/**
-+ * ubifs_recover_inl_heads - recover index and LPT heads.
-+ * @c: UBIFS file-system description object
-+ * @sbuf: LEB-sized buffer to use
-+ *
-+ * This function ensures that there is no data on the flash at the index and
-+ * LPT head locations.
-+ *
-+ * This deals with the recovery of a half-completed journal commit. UBIFS is
-+ * careful never to overwrite the last version of the index or the LPT. Because
-+ * the index and LPT are wandering trees, data from a half-completed commit will
-+ * not be referenced anywhere in UBIFS. The data will be either in LEBs that are
-+ * assumed to be empty and will be unmapped anyway before use, or in the index
-+ * and LPT heads.
-+ *
-+ * This function returns %0 on success and a negative error code on failure.
-+ */
-+int ubifs_recover_inl_heads(const struct ubifs_info *c, void *sbuf)
-+{
-+ int err;
-+
-+ ubifs_assert(!(c->vfs_sb->s_flags & MS_RDONLY) || c->remounting_rw);
-+
-+ dbg_rcvry("checking index head at %d:%d", c->ihead_lnum, c->ihead_offs);
-+ err = recover_head(c, c->ihead_lnum, c->ihead_offs, sbuf);
-+ if (err)
-+ return err;
-+
-+ dbg_rcvry("checking LPT head at %d:%d", c->nhead_lnum, c->nhead_offs);
-+ err = recover_head(c, c->nhead_lnum, c->nhead_offs, sbuf);
-+ if (err)
-+ return err;
-+
-+ return 0;
-+}
-+
-+/**
-+ * clean_an_unclean_leb - read and write a LEB to remove corruption.
-+ * @c: UBIFS file-system description object
-+ * @ucleb: unclean LEB information
-+ * @sbuf: LEB-sized buffer to use
-+ *
-+ * This function reads a LEB up to a point pre-determined by the mount recovery,
-+ * checks the nodes, and writes the result back to the flash, thereby cleaning
-+ * off any following corruption, or non-fatal ECC errors.
-+ *
-+ * This function returns %0 on success and a negative error code on failure.
-+ */
-+static int clean_an_unclean_leb(const struct ubifs_info *c,
-+ struct ubifs_unclean_leb *ucleb, void *sbuf)
-+{
-+ int err, lnum = ucleb->lnum, offs = 0, len = ucleb->endpt, quiet = 1;
-+ void *buf = sbuf;
-+
-+ dbg_rcvry("LEB %d len %d", lnum, len);
-+
-+ if (len == 0) {
-+ /* Nothing to read, just unmap it */
-+ err = ubifs_leb_unmap(c, lnum);
-+ if (err)
-+ return err;
-+ return 0;
-+ }
-+
-+ err = ubi_read(c->ubi, lnum, buf, offs, len);
-+ if (err && err != -EBADMSG)
-+ return err;
-+
-+ while (len >= 8) {
-+ int ret;
-+
-+ cond_resched();
-+
-+ /* Scan quietly until there is an error */
-+ ret = ubifs_scan_a_node(c, buf, len, lnum, offs, quiet);
-+
-+ if (ret == SCANNED_A_NODE) {
-+ /* A valid node, and not a padding node */
-+ struct ubifs_ch *ch = buf;
-+ int node_len;
-+
-+ node_len = ALIGN(le32_to_cpu(ch->len), 8);
-+ offs += node_len;
-+ buf += node_len;
-+ len -= node_len;
-+ continue;
-+ }
-+
-+ if (ret > 0) {
-+ /* Padding bytes or a valid padding node */
-+ offs += ret;
-+ buf += ret;
-+ len -= ret;
-+ continue;
-+ }
-+
-+ if (ret == SCANNED_EMPTY_SPACE) {
-+ ubifs_err("unexpected empty space at %d:%d",
-+ lnum, offs);
-+ return -EUCLEAN;
-+ }
-+
-+ if (quiet) {
-+ /* Redo the last scan but noisily */
-+ quiet = 0;
-+ continue;
-+ }
-+
-+ ubifs_scanned_corruption(c, lnum, offs, buf);
-+ return -EUCLEAN;
-+ }
-+
-+ /* Pad to min_io_size */
-+ len = ALIGN(ucleb->endpt, c->min_io_size);
-+ if (len > ucleb->endpt) {
-+ int pad_len = len - ALIGN(ucleb->endpt, 8);
-+
-+ if (pad_len > 0) {
-+ buf = c->sbuf + len - pad_len;
-+ ubifs_pad(c, buf, pad_len);
-+ }
-+ }
-+
-+ /* Write back the LEB atomically */
-+ err = ubi_leb_change(c->ubi, lnum, sbuf, len, UBI_UNKNOWN);
-+ if (err)
-+ return err;
-+
-+ dbg_rcvry("cleaned LEB %d", lnum);
-+
-+ return 0;
-+}
-+
-+/**
-+ * ubifs_clean_lebs - clean LEBs recovered during read-only mount.
-+ * @c: UBIFS file-system description object
-+ * @sbuf: LEB-sized buffer to use
-+ *
-+ * This function cleans a LEB identified during recovery that needs to be
-+ * written but was not because UBIFS was mounted read-only. This happens when
-+ * remounting to read-write mode.
-+ *
-+ * This function returns %0 on success and a negative error code on failure.
-+ */
-+int ubifs_clean_lebs(const struct ubifs_info *c, void *sbuf)
-+{
-+ dbg_rcvry("recovery");
-+ while (!list_empty(&c->unclean_leb_list)) {
-+ struct ubifs_unclean_leb *ucleb;
-+ int err;
-+
-+ ucleb = list_entry(c->unclean_leb_list.next,
-+ struct ubifs_unclean_leb, list);
-+ err = clean_an_unclean_leb(c, ucleb, sbuf);
-+ if (err)
-+ return err;
-+ list_del(&ucleb->list);
-+ kfree(ucleb);
-+ }
-+ return 0;
-+}
-+
-+/**
-+ * ubifs_rcvry_gc_commit - recover the GC LEB number and run the commit.
-+ * @c: UBIFS file-system description object
-+ *
-+ * Out-of-place garbage collection requires always one empty LEB with which to
-+ * start garbage collection. The LEB number is recorded in c->gc_lnum and is
-+ * written to the master node on unmounting. In the case of an unclean unmount
-+ * the value of gc_lnum recorded in the master node is out of date and cannot
-+ * be used. Instead, recovery must allocate an empty LEB for this purpose.
-+ * However, there may not be enough empty space, in which case it must be
-+ * possible to GC the dirtiest LEB into the GC head LEB.
-+ *
-+ * This function also runs the commit which causes the TNC updates from
-+ * size-recovery and orphans to be written to the flash. That is important to
-+ * ensure correct replay order for subsequent mounts.
-+ *
-+ * This function returns %0 on success and a negative error code on failure.
-+ */
-+int ubifs_rcvry_gc_commit(struct ubifs_info *c)
-+{
-+ struct ubifs_wbuf *wbuf = &c->jheads[GCHD].wbuf;
-+ struct ubifs_lprops lp;
-+ int lnum, err;
-+
-+ c->gc_lnum = -1;
-+ if (wbuf->lnum == -1) {
-+ dbg_rcvry("no GC head LEB");
-+ goto find_free;
-+ }
-+ /*
-+ * See whether the used space in the dirtiest LEB fits in the GC head
-+ * LEB.
-+ */
-+ if (wbuf->offs == c->leb_size) {
-+ dbg_rcvry("no room in GC head LEB");
-+ goto find_free;
-+ }
-+ err = ubifs_find_dirty_leb(c, &lp, wbuf->offs, 2);
-+ if (err) {
-+ if (err == -ENOSPC)
-+ dbg_err("could not find a dirty LEB");
-+ return err;
-+ }
-+ ubifs_assert(!(lp.flags & LPROPS_INDEX));
-+ lnum = lp.lnum;
-+ if (lp.free + lp.dirty == c->leb_size) {
-+ /* An empty LEB was returned */
-+ if (lp.free != c->leb_size) {
-+ err = ubifs_change_one_lp(c, lnum, c->leb_size,
-+ 0, 0, 0, 0);
-+ if (err)
-+ return err;
-+ }
-+ err = ubifs_leb_unmap(c, lnum);
-+ if (err)
-+ return err;
-+ c->gc_lnum = lnum;
-+ dbg_rcvry("allocated LEB %d for GC", lnum);
-+ /* Run the commit */
-+ dbg_rcvry("committing");
-+ return ubifs_run_commit(c);
-+ }
-+ /*
-+ * There was no empty LEB so the used space in the dirtiest LEB must fit
-+ * in the GC head LEB.
-+ */
-+ if (lp.free + lp.dirty < wbuf->offs) {
-+ dbg_rcvry("LEB %d doesn't fit in GC head LEB %d:%d",
-+ lnum, wbuf->lnum, wbuf->offs);
-+ err = ubifs_return_leb(c, lnum);
-+ if (err)
-+ return err;
-+ goto find_free;
-+ }
-+ /*
-+ * We run the commit before garbage collection otherwise subsequent
-+ * mounts will see the GC and orphan deletion in a different order.
-+ */
-+ dbg_rcvry("committing");
-+ err = ubifs_run_commit(c);
-+ if (err)
-+ return err;
-+ /*
-+ * The data in the dirtiest LEB fits in the GC head LEB, so do the GC
-+ * - use locking to keep 'ubifs_assert()' happy.
-+ */
-+ dbg_rcvry("GC'ing LEB %d", lnum);
-+ mutex_lock_nested(&wbuf->io_mutex, wbuf->jhead);
-+ err = ubifs_garbage_collect_leb(c, &lp);
-+ if (err >= 0) {
-+ int err2 = ubifs_wbuf_sync_nolock(wbuf);
-+
-+ if (err2)
-+ err = err2;
-+ }
-+ mutex_unlock(&wbuf->io_mutex);
-+ if (err < 0) {
-+ dbg_err("GC failed, error %d", err);
-+ if (err == -EAGAIN)
-+ err = -EINVAL;
-+ return err;
-+ }
-+ if (err != LEB_RETAINED) {
-+ dbg_err("GC returned %d", err);
-+ return -EINVAL;
-+ }
-+ err = ubifs_leb_unmap(c, c->gc_lnum);
-+ if (err)
-+ return err;
-+ dbg_rcvry("allocated LEB %d for GC", lnum);
-+ return 0;
-+
-+find_free:
-+ /*
-+ * There is no GC head LEB or the free space in the GC head LEB is too
-+ * small. Allocate gc_lnum by calling 'ubifs_find_free_leb_for_idx()' so
-+ * GC is not run.
-+ */
-+ lnum = ubifs_find_free_leb_for_idx(c);
-+ if (lnum < 0) {
-+ dbg_err("could not find an empty LEB");
-+ return lnum;
-+ }
-+ /* And reset the index flag */
-+ err = ubifs_change_one_lp(c, lnum, LPROPS_NC, LPROPS_NC, 0,
-+ LPROPS_INDEX, 0);
-+ if (err)
-+ return err;
-+ c->gc_lnum = lnum;
-+ dbg_rcvry("allocated LEB %d for GC", lnum);
-+ /* Run the commit */
-+ dbg_rcvry("committing");
-+ return ubifs_run_commit(c);
-+}
-+
-+/**
-+ * struct size_entry - inode size information for recovery.
-+ * @rb: link in the RB-tree of sizes
-+ * @inum: inode number
-+ * @i_size: size on inode
-+ * @d_size: maximum size based on data nodes
-+ * @exists: indicates whether the inode exists
-+ * @inode: inode if pinned in memory awaiting rw mode to fix it
-+ */
-+struct size_entry {
-+ struct rb_node rb;
-+ ino_t inum;
-+ loff_t i_size;
-+ loff_t d_size;
-+ int exists;
-+ struct inode *inode;
-+};
-+
-+/**
-+ * add_ino - add an entry to the size tree.
-+ * @c: UBIFS file-system description object
-+ * @inum: inode number
-+ * @i_size: size on inode
-+ * @d_size: maximum size based on data nodes
-+ * @exists: indicates whether the inode exists
-+ */
-+static int add_ino(struct ubifs_info *c, ino_t inum, loff_t i_size,
-+ loff_t d_size, int exists)
-+{
-+ struct rb_node **p = &c->size_tree.rb_node, *parent = NULL;
-+ struct size_entry *e;
-+
-+ while (*p) {
-+ parent = *p;
-+ e = rb_entry(parent, struct size_entry, rb);
-+ if (inum < e->inum)
-+ p = &(*p)->rb_left;
-+ else
-+ p = &(*p)->rb_right;
-+ }
-+
-+ e = kzalloc(sizeof(struct size_entry), GFP_KERNEL);
-+ if (!e)
-+ return -ENOMEM;
-+
-+ e->inum = inum;
-+ e->i_size = i_size;
-+ e->d_size = d_size;
-+ e->exists = exists;
-+
-+ rb_link_node(&e->rb, parent, p);
-+ rb_insert_color(&e->rb, &c->size_tree);
-+
-+ return 0;
-+}
-+
-+/**
-+ * find_ino - find an entry on the size tree.
-+ * @c: UBIFS file-system description object
-+ * @inum: inode number
-+ */
-+static struct size_entry *find_ino(struct ubifs_info *c, ino_t inum)
-+{
-+ struct rb_node *p = c->size_tree.rb_node;
-+ struct size_entry *e;
-+
-+ while (p) {
-+ e = rb_entry(p, struct size_entry, rb);
-+ if (inum < e->inum)
-+ p = p->rb_left;
-+ else if (inum > e->inum)
-+ p = p->rb_right;
-+ else
-+ return e;
-+ }
-+ return NULL;
-+}
-+
-+/**
-+ * remove_ino - remove an entry from the size tree.
-+ * @c: UBIFS file-system description object
-+ * @inum: inode number
-+ */
-+static void remove_ino(struct ubifs_info *c, ino_t inum)
-+{
-+ struct size_entry *e = find_ino(c, inum);
-+
-+ if (!e)
-+ return;
-+ rb_erase(&e->rb, &c->size_tree);
-+ kfree(e);
-+}
-+
-+/**
-+ * ubifs_destroy_size_tree - free resources related to the size tree.
-+ * @c: UBIFS file-system description object
-+ */
-+void ubifs_destroy_size_tree(struct ubifs_info *c)
-+{
-+ struct rb_node *this = c->size_tree.rb_node;
-+ struct size_entry *e;
-+
-+ while (this) {
-+ if (this->rb_left) {
-+ this = this->rb_left;
-+ continue;
-+ } else if (this->rb_right) {
-+ this = this->rb_right;
-+ continue;
-+ }
-+ e = rb_entry(this, struct size_entry, rb);
-+ if (e->inode)
-+ iput(e->inode);
-+ this = rb_parent(this);
-+ if (this) {
-+ if (this->rb_left == &e->rb)
-+ this->rb_left = NULL;
-+ else
-+ this->rb_right = NULL;
-+ }
-+ kfree(e);
-+ }
-+ c->size_tree = RB_ROOT;
-+}
-+
-+/**
-+ * ubifs_recover_size_accum - accumulate inode sizes for recovery.
-+ * @c: UBIFS file-system description object
-+ * @key: node key
-+ * @deletion: node is for a deletion
-+ * @new_size: inode size
-+ *
-+ * This function has two purposes:
-+ * 1) to ensure there are no data nodes that fall outside the inode size
-+ * 2) to ensure there are no data nodes for inodes that do not exist
-+ * To accomplish those purposes, a rb-tree is constructed containing an entry
-+ * for each inode number in the journal that has not been deleted, and recording
-+ * the size from the inode node, the maximum size of any data node (also altered
-+ * by truncations) and a flag indicating a inode number for which no inode node
-+ * was present in the journal.
-+ *
-+ * Note that there is still the possibility that there are data nodes that have
-+ * been committed that are beyond the inode size, however the only way to find
-+ * them would be to scan the entire index. Alternatively, some provision could
-+ * be made to record the size of inodes at the start of commit, which would seem
-+ * very cumbersome for a scenario that is quite unlikely and the only negative
-+ * consequence of which is wasted space.
-+ *
-+ * This functions returns %0 on success and a negative error code on failure.
-+ */
-+int ubifs_recover_size_accum(struct ubifs_info *c, union ubifs_key *key,
-+ int deletion, loff_t new_size)
-+{
-+ ino_t inum = key_inum(c, key);
-+ struct size_entry *e;
-+ int err;
-+
-+ switch (key_type(c, key)) {
-+ case UBIFS_INO_KEY:
-+ if (deletion)
-+ remove_ino(c, inum);
-+ else {
-+ e = find_ino(c, inum);
-+ if (e) {
-+ e->i_size = new_size;
-+ e->exists = 1;
-+ } else {
-+ err = add_ino(c, inum, new_size, 0, 1);
-+ if (err)
-+ return err;
-+ }
-+ }
-+ break;
-+ case UBIFS_DATA_KEY:
-+ e = find_ino(c, inum);
-+ if (e) {
-+ if (new_size > e->d_size)
-+ e->d_size = new_size;
-+ } else {
-+ err = add_ino(c, inum, 0, new_size, 0);
-+ if (err)
-+ return err;
-+ }
-+ break;
-+ case UBIFS_TRUN_KEY:
-+ e = find_ino(c, inum);
-+ if (e)
-+ e->d_size = new_size;
-+ break;
-+ }
-+ return 0;
-+}
-+
-+/**
-+ * fix_size_in_place - fix inode size in place on flash.
-+ * @c: UBIFS file-system description object
-+ * @e: inode size information for recovery
-+ */
-+static int fix_size_in_place(struct ubifs_info *c, struct size_entry *e)
-+{
-+ struct ubifs_ino_node *ino = c->sbuf;
-+ unsigned char *p;
-+ union ubifs_key key;
-+ int err, lnum, offs, len;
-+ loff_t i_size;
-+ uint32_t crc;
-+
-+ /* Locate the inode node LEB number and offset */
-+ ino_key_init(c, &key, e->inum);
-+ err = ubifs_tnc_locate(c, &key, ino, &lnum, &offs);
-+ if (err)
-+ goto out;
-+ /*
-+ * If the size recorded on the inode node is greater than the size that
-+ * was calculated from nodes in the journal then don't change the inode.
-+ */
-+ i_size = le64_to_cpu(ino->size);
-+ if (i_size >= e->d_size)
-+ return 0;
-+ /* Read the LEB */
-+ err = ubi_read(c->ubi, lnum, c->sbuf, 0, c->leb_size);
-+ if (err)
-+ goto out;
-+ /* Change the size field and recalculate the CRC */
-+ ino = c->sbuf + offs;
-+ ino->size = cpu_to_le64(e->d_size);
-+ len = le32_to_cpu(ino->ch.len);
-+ crc = crc32(UBIFS_CRC32_INIT, (void *)ino + 8, len - 8);
-+ ino->ch.crc = cpu_to_le32(crc);
-+ /* Work out where data in the LEB ends and free space begins */
-+ p = c->sbuf;
-+ len = c->leb_size - 1;
-+ while (p[len] == 0xff)
-+ len -= 1;
-+ len = ALIGN(len + 1, c->min_io_size);
-+ /* Atomically write the fixed LEB back again */
-+ err = ubi_leb_change(c->ubi, lnum, c->sbuf, len, UBI_UNKNOWN);
-+ if (err)
-+ goto out;
-+ dbg_rcvry("inode %lu at %d:%d size %lld -> %lld ",
-+ (unsigned long)e->inum, lnum, offs, i_size, e->d_size);
-+ return 0;
-+
-+out:
-+ ubifs_warn("inode %lu failed to fix size %lld -> %lld error %d",
-+ (unsigned long)e->inum, e->i_size, e->d_size, err);
-+ return err;
-+}
-+
-+/**
-+ * ubifs_recover_size - recover inode size.
-+ * @c: UBIFS file-system description object
-+ *
-+ * This function attempts to fix inode size discrepancies identified by the
-+ * 'ubifs_recover_size_accum()' function.
-+ *
-+ * This functions returns %0 on success and a negative error code on failure.
-+ */
-+int ubifs_recover_size(struct ubifs_info *c)
-+{
-+ struct rb_node *this = rb_first(&c->size_tree);
-+
-+ while (this) {
-+ struct size_entry *e;
-+ int err;
-+
-+ e = rb_entry(this, struct size_entry, rb);
-+ if (!e->exists) {
-+ union ubifs_key key;
-+
-+ ino_key_init(c, &key, e->inum);
-+ err = ubifs_tnc_lookup(c, &key, c->sbuf);
-+ if (err && err != -ENOENT)
-+ return err;
-+ if (err == -ENOENT) {
-+ /* Remove data nodes that have no inode */
-+ dbg_rcvry("removing ino %lu",
-+ (unsigned long)e->inum);
-+ err = ubifs_tnc_remove_ino(c, e->inum);
-+ if (err)
-+ return err;
-+ } else {
-+ struct ubifs_ino_node *ino = c->sbuf;
-+
-+ e->exists = 1;
-+ e->i_size = le64_to_cpu(ino->size);
-+ }
-+ }
-+ if (e->exists && e->i_size < e->d_size) {
-+ if (!e->inode && (c->vfs_sb->s_flags & MS_RDONLY)) {
-+ /* Fix the inode size and pin it in memory */
-+ struct inode *inode;
-+
-+ inode = ubifs_iget(c->vfs_sb, e->inum);
-+ if (IS_ERR(inode))
-+ return PTR_ERR(inode);
-+ if (inode->i_size < e->d_size) {
-+ dbg_rcvry("ino %lu size %lld -> %lld",
-+ (unsigned long)e->inum,
-+ e->d_size, inode->i_size);
-+ inode->i_size = e->d_size;
-+ ubifs_inode(inode)->ui_size = e->d_size;
-+ e->inode = inode;
-+ this = rb_next(this);
-+ continue;
-+ }
-+ iput(inode);
-+ } else {
-+ /* Fix the size in place */
-+ err = fix_size_in_place(c, e);
-+ if (err)
-+ return err;
-+ if (e->inode)
-+ iput(e->inode);
-+ }
-+ }
-+ this = rb_next(this);
-+ rb_erase(&e->rb, &c->size_tree);
-+ kfree(e);
-+ }
-+ return 0;
-+}
-diff -Nurd linux-2.6.24.orig/fs/ubifs/replay.c linux-2.6.24/fs/ubifs/replay.c
---- linux-2.6.24.orig/fs/ubifs/replay.c 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.24/fs/ubifs/replay.c 2009-04-17 09:49:28.000000000 +0200
-@@ -0,0 +1,1084 @@
-+/*
-+ * This file is part of UBIFS.
-+ *
-+ * Copyright (C) 2006-2008 Nokia Corporation.
-+ *
-+ * This program is free software; you can redistribute it and/or modify it
-+ * under the terms of the GNU General Public License version 2 as published by
-+ * the Free Software Foundation.
-+ *
-+ * 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, write to the Free Software Foundation, Inc., 51
-+ * Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
-+ *
-+ * Authors: Adrian Hunter
-+ * Artem Bityutskiy (Битюцкий Ðртём)
-+ */
-+
-+/*
-+ * This file contains journal replay code. It runs when the file-system is being
-+ * mounted and requires no locking.
-+ *
-+ * The larger is the journal, the longer it takes to scan it, so the longer it
-+ * takes to mount UBIFS. This is why the journal has limited size which may be
-+ * changed depending on the system requirements. But a larger journal gives
-+ * faster I/O speed because it writes the index less frequently. So this is a
-+ * trade-off. Also, the journal is indexed by the in-memory index (TNC), so the
-+ * larger is the journal, the more memory its index may consume.
-+ */
-+
-+#include "ubifs.h"
-+
-+/*
-+ * Replay flags.
-+ *
-+ * REPLAY_DELETION: node was deleted
-+ * REPLAY_REF: node is a reference node
-+ */
-+enum {
-+ REPLAY_DELETION = 1,
-+ REPLAY_REF = 2,
-+};
-+
-+/**
-+ * struct replay_entry - replay tree entry.
-+ * @lnum: logical eraseblock number of the node
-+ * @offs: node offset
-+ * @len: node length
-+ * @sqnum: node sequence number
-+ * @flags: replay flags
-+ * @rb: links the replay tree
-+ * @key: node key
-+ * @nm: directory entry name
-+ * @old_size: truncation old size
-+ * @new_size: truncation new size
-+ * @free: amount of free space in a bud
-+ * @dirty: amount of dirty space in a bud from padding and deletion nodes
-+ *
-+ * UBIFS journal replay must compare node sequence numbers, which means it must
-+ * build a tree of node information to insert into the TNC.
-+ */
-+struct replay_entry {
-+ int lnum;
-+ int offs;
-+ int len;
-+ unsigned long long sqnum;
-+ int flags;
-+ struct rb_node rb;
-+ union ubifs_key key;
-+ union {
-+ struct qstr nm;
-+ struct {
-+ loff_t old_size;
-+ loff_t new_size;
-+ };
-+ struct {
-+ int free;
-+ int dirty;
-+ };
-+ };
-+};
-+
-+/**
-+ * struct bud_entry - entry in the list of buds to replay.
-+ * @list: next bud in the list
-+ * @bud: bud description object
-+ * @free: free bytes in the bud
-+ * @sqnum: reference node sequence number
-+ */
-+struct bud_entry {
-+ struct list_head list;
-+ struct ubifs_bud *bud;
-+ int free;
-+ unsigned long long sqnum;
-+};
-+
-+/**
-+ * set_bud_lprops - set free and dirty space used by a bud.
-+ * @c: UBIFS file-system description object
-+ * @r: replay entry of bud
-+ */
-+static int set_bud_lprops(struct ubifs_info *c, struct replay_entry *r)
-+{
-+ const struct ubifs_lprops *lp;
-+ int err = 0, dirty;
-+
-+ ubifs_get_lprops(c);
-+
-+ lp = ubifs_lpt_lookup_dirty(c, r->lnum);
-+ if (IS_ERR(lp)) {
-+ err = PTR_ERR(lp);
-+ goto out;
-+ }
-+
-+ dirty = lp->dirty;
-+ if (r->offs == 0 && (lp->free != c->leb_size || lp->dirty != 0)) {
-+ /*
-+ * The LEB was added to the journal with a starting offset of
-+ * zero which means the LEB must have been empty. The LEB
-+ * property values should be lp->free == c->leb_size and
-+ * lp->dirty == 0, but that is not the case. The reason is that
-+ * the LEB was garbage collected. The garbage collector resets
-+ * the free and dirty space without recording it anywhere except
-+ * lprops, so if there is not a commit then lprops does not have
-+ * that information next time the file system is mounted.
-+ *
-+ * We do not need to adjust free space because the scan has told
-+ * us the exact value which is recorded in the replay entry as
-+ * r->free.
-+ *
-+ * However we do need to subtract from the dirty space the
-+ * amount of space that the garbage collector reclaimed, which
-+ * is the whole LEB minus the amount of space that was free.
-+ */
-+ dbg_mnt("bud LEB %d was GC'd (%d free, %d dirty)", r->lnum,
-+ lp->free, lp->dirty);
-+ dbg_gc("bud LEB %d was GC'd (%d free, %d dirty)", r->lnum,
-+ lp->free, lp->dirty);
-+ dirty -= c->leb_size - lp->free;
-+ /*
-+ * If the replay order was perfect the dirty space would now be
-+ * zero. The order is not perfect because the the journal heads
-+ * race with each other. This is not a problem but is does mean
-+ * that the dirty space may temporarily exceed c->leb_size
-+ * during the replay.
-+ */
-+ if (dirty != 0)
-+ dbg_msg("LEB %d lp: %d free %d dirty "
-+ "replay: %d free %d dirty", r->lnum, lp->free,
-+ lp->dirty, r->free, r->dirty);
-+ }
-+ lp = ubifs_change_lp(c, lp, r->free, dirty + r->dirty,
-+ lp->flags | LPROPS_TAKEN, 0);
-+ if (IS_ERR(lp)) {
-+ err = PTR_ERR(lp);
-+ goto out;
-+ }
-+out:
-+ ubifs_release_lprops(c);
-+ return err;
-+}
-+
-+/**
-+ * trun_remove_range - apply a replay entry for a truncation to the TNC.
-+ * @c: UBIFS file-system description object
-+ * @r: replay entry of truncation
-+ */
-+static int trun_remove_range(struct ubifs_info *c, struct replay_entry *r)
-+{
-+ unsigned min_blk, max_blk;
-+ union ubifs_key min_key, max_key;
-+ ino_t ino;
-+
-+ min_blk = r->new_size / UBIFS_BLOCK_SIZE;
-+ if (r->new_size & (UBIFS_BLOCK_SIZE - 1))
-+ min_blk += 1;
-+
-+ max_blk = r->old_size / UBIFS_BLOCK_SIZE;
-+ if ((r->old_size & (UBIFS_BLOCK_SIZE - 1)) == 0)
-+ max_blk -= 1;
-+
-+ ino = key_inum(c, &r->key);
-+
-+ data_key_init(c, &min_key, ino, min_blk);
-+ data_key_init(c, &max_key, ino, max_blk);
-+
-+ return ubifs_tnc_remove_range(c, &min_key, &max_key);
-+}
-+
-+/**
-+ * apply_replay_entry - apply a replay entry to the TNC.
-+ * @c: UBIFS file-system description object
-+ * @r: replay entry to apply
-+ *
-+ * Apply a replay entry to the TNC.
-+ */
-+static int apply_replay_entry(struct ubifs_info *c, struct replay_entry *r)
-+{
-+ int err, deletion = ((r->flags & REPLAY_DELETION) != 0);
-+
-+ dbg_mnt("LEB %d:%d len %d flgs %d sqnum %llu %s", r->lnum,
-+ r->offs, r->len, r->flags, r->sqnum, DBGKEY(&r->key));
-+
-+ /* Set c->replay_sqnum to help deal with dangling branches. */
-+ c->replay_sqnum = r->sqnum;
-+
-+ if (r->flags & REPLAY_REF)
-+ err = set_bud_lprops(c, r);
-+ else if (is_hash_key(c, &r->key)) {
-+ if (deletion)
-+ err = ubifs_tnc_remove_nm(c, &r->key, &r->nm);
-+ else
-+ err = ubifs_tnc_add_nm(c, &r->key, r->lnum, r->offs,
-+ r->len, &r->nm);
-+ } else {
-+ if (deletion)
-+ switch (key_type(c, &r->key)) {
-+ case UBIFS_INO_KEY:
-+ {
-+ ino_t inum = key_inum(c, &r->key);
-+
-+ err = ubifs_tnc_remove_ino(c, inum);
-+ break;
-+ }
-+ case UBIFS_TRUN_KEY:
-+ err = trun_remove_range(c, r);
-+ break;
-+ default:
-+ err = ubifs_tnc_remove(c, &r->key);
-+ break;
-+ }
-+ else
-+ err = ubifs_tnc_add(c, &r->key, r->lnum, r->offs,
-+ r->len);
-+ if (err)
-+ return err;
-+
-+ if (c->need_recovery)
-+ err = ubifs_recover_size_accum(c, &r->key, deletion,
-+ r->new_size);
-+ }
-+
-+ return err;
-+}
-+
-+/**
-+ * destroy_replay_tree - destroy the replay.
-+ * @c: UBIFS file-system description object
-+ *
-+ * Destroy the replay tree.
-+ */
-+static void destroy_replay_tree(struct ubifs_info *c)
-+{
-+ struct rb_node *this = c->replay_tree.rb_node;
-+ struct replay_entry *r;
-+
-+ while (this) {
-+ if (this->rb_left) {
-+ this = this->rb_left;
-+ continue;
-+ } else if (this->rb_right) {
-+ this = this->rb_right;
-+ continue;
-+ }
-+ r = rb_entry(this, struct replay_entry, rb);
-+ this = rb_parent(this);
-+ if (this) {
-+ if (this->rb_left == &r->rb)
-+ this->rb_left = NULL;
-+ else
-+ this->rb_right = NULL;
-+ }
-+ if (is_hash_key(c, &r->key))
-+ kfree(r->nm.name);
-+ kfree(r);
-+ }
-+ c->replay_tree = RB_ROOT;
-+}
-+
-+/**
-+ * apply_replay_tree - apply the replay tree to the TNC.
-+ * @c: UBIFS file-system description object
-+ *
-+ * Apply the replay tree.
-+ * Returns zero in case of success and a negative error code in case of
-+ * failure.
-+ */
-+static int apply_replay_tree(struct ubifs_info *c)
-+{
-+ struct rb_node *this = rb_first(&c->replay_tree);
-+
-+ while (this) {
-+ struct replay_entry *r;
-+ int err;
-+
-+ cond_resched();
-+
-+ r = rb_entry(this, struct replay_entry, rb);
-+ err = apply_replay_entry(c, r);
-+ if (err)
-+ return err;
-+ this = rb_next(this);
-+ }
-+ return 0;
-+}
-+
-+/**
-+ * insert_node - insert a node to the replay tree.
-+ * @c: UBIFS file-system description object
-+ * @lnum: node logical eraseblock number
-+ * @offs: node offset
-+ * @len: node length
-+ * @key: node key
-+ * @sqnum: sequence number
-+ * @deletion: non-zero if this is a deletion
-+ * @used: number of bytes in use in a LEB
-+ * @old_size: truncation old size
-+ * @new_size: truncation new size
-+ *
-+ * This function inserts a scanned non-direntry node to the replay tree. The
-+ * replay tree is an RB-tree containing @struct replay_entry elements which are
-+ * indexed by the sequence number. The replay tree is applied at the very end
-+ * of the replay process. Since the tree is sorted in sequence number order,
-+ * the older modifications are applied first. This function returns zero in
-+ * case of success and a negative error code in case of failure.
-+ */
-+static int insert_node(struct ubifs_info *c, int lnum, int offs, int len,
-+ union ubifs_key *key, unsigned long long sqnum,
-+ int deletion, int *used, loff_t old_size,
-+ loff_t new_size)
-+{
-+ struct rb_node **p = &c->replay_tree.rb_node, *parent = NULL;
-+ struct replay_entry *r;
-+
-+ if (key_inum(c, key) >= c->highest_inum)
-+ c->highest_inum = key_inum(c, key);
-+
-+ dbg_mnt("add LEB %d:%d, key %s", lnum, offs, DBGKEY(key));
-+ while (*p) {
-+ parent = *p;
-+ r = rb_entry(parent, struct replay_entry, rb);
-+ if (sqnum < r->sqnum) {
-+ p = &(*p)->rb_left;
-+ continue;
-+ } else if (sqnum > r->sqnum) {
-+ p = &(*p)->rb_right;
-+ continue;
-+ }
-+ ubifs_err("duplicate sqnum in replay");
-+ return -EINVAL;
-+ }
-+
-+ r = kzalloc(sizeof(struct replay_entry), GFP_KERNEL);
-+ if (!r)
-+ return -ENOMEM;
-+
-+ if (!deletion)
-+ *used += ALIGN(len, 8);
-+ r->lnum = lnum;
-+ r->offs = offs;
-+ r->len = len;
-+ r->sqnum = sqnum;
-+ r->flags = (deletion ? REPLAY_DELETION : 0);
-+ r->old_size = old_size;
-+ r->new_size = new_size;
-+ key_copy(c, key, &r->key);
-+
-+ rb_link_node(&r->rb, parent, p);
-+ rb_insert_color(&r->rb, &c->replay_tree);
-+ return 0;
-+}
-+
-+/**
-+ * insert_dent - insert a directory entry node into the replay tree.
-+ * @c: UBIFS file-system description object
-+ * @lnum: node logical eraseblock number
-+ * @offs: node offset
-+ * @len: node length
-+ * @key: node key
-+ * @name: directory entry name
-+ * @nlen: directory entry name length
-+ * @sqnum: sequence number
-+ * @deletion: non-zero if this is a deletion
-+ * @used: number of bytes in use in a LEB
-+ *
-+ * This function inserts a scanned directory entry node to the replay tree.
-+ * Returns zero in case of success and a negative error code in case of
-+ * failure.
-+ *
-+ * This function is also used for extended attribute entries because they are
-+ * implemented as directory entry nodes.
-+ */
-+static int insert_dent(struct ubifs_info *c, int lnum, int offs, int len,
-+ union ubifs_key *key, const char *name, int nlen,
-+ unsigned long long sqnum, int deletion, int *used)
-+{
-+ struct rb_node **p = &c->replay_tree.rb_node, *parent = NULL;
-+ struct replay_entry *r;
-+ char *nbuf;
-+
-+ if (key_inum(c, key) >= c->highest_inum)
-+ c->highest_inum = key_inum(c, key);
-+
-+ dbg_mnt("add LEB %d:%d, key %s", lnum, offs, DBGKEY(key));
-+ while (*p) {
-+ parent = *p;
-+ r = rb_entry(parent, struct replay_entry, rb);
-+ if (sqnum < r->sqnum) {
-+ p = &(*p)->rb_left;
-+ continue;
-+ }
-+ if (sqnum > r->sqnum) {
-+ p = &(*p)->rb_right;
-+ continue;
-+ }
-+ ubifs_err("duplicate sqnum in replay");
-+ return -EINVAL;
-+ }
-+
-+ r = kzalloc(sizeof(struct replay_entry), GFP_KERNEL);
-+ if (!r)
-+ return -ENOMEM;
-+ nbuf = kmalloc(nlen + 1, GFP_KERNEL);
-+ if (!nbuf) {
-+ kfree(r);
-+ return -ENOMEM;
-+ }
-+
-+ if (!deletion)
-+ *used += ALIGN(len, 8);
-+ r->lnum = lnum;
-+ r->offs = offs;
-+ r->len = len;
-+ r->sqnum = sqnum;
-+ r->nm.len = nlen;
-+ memcpy(nbuf, name, nlen);
-+ nbuf[nlen] = '\0';
-+ r->nm.name = nbuf;
-+ r->flags = (deletion ? REPLAY_DELETION : 0);
-+ key_copy(c, key, &r->key);
-+
-+ ubifs_assert(!*p);
-+ rb_link_node(&r->rb, parent, p);
-+ rb_insert_color(&r->rb, &c->replay_tree);
-+ return 0;
-+}
-+
-+/**
-+ * ubifs_validate_entry - validate directory or extended attribute entry node.
-+ * @c: UBIFS file-system description object
-+ * @dent: the node to validate
-+ *
-+ * This function validates directory or extended attribute entry node @dent.
-+ * Returns zero if the node is all right and a %-EINVAL if not.
-+ */
-+int ubifs_validate_entry(struct ubifs_info *c,
-+ const struct ubifs_dent_node *dent)
-+{
-+ int key_type = key_type_flash(c, dent->key);
-+ int nlen = le16_to_cpu(dent->nlen);
-+
-+ if (le32_to_cpu(dent->ch.len) != nlen + UBIFS_DENT_NODE_SZ + 1 ||
-+ dent->type >= UBIFS_ITYPES_CNT ||
-+ nlen > UBIFS_MAX_NLEN || dent->name[nlen] != 0 ||
-+ strnlen(dent->name, nlen) != nlen ||
-+ le64_to_cpu(dent->inum) > MAX_INUM) {
-+ ubifs_err("bad %s node", key_type == UBIFS_DENT_KEY ?
-+ "directory entry" : "extended attribute entry");
-+ return -EINVAL;
-+ }
-+
-+ if (key_type != UBIFS_DENT_KEY && key_type != UBIFS_XENT_KEY) {
-+ ubifs_err("bad key type %d", key_type);
-+ return -EINVAL;
-+ }
-+
-+ return 0;
-+}
-+
-+/**
-+ * replay_bud - replay a bud logical eraseblock.
-+ * @c: UBIFS file-system description object
-+ * @lnum: bud logical eraseblock number to replay
-+ * @offs: bud start offset
-+ * @jhead: journal head to which this bud belongs
-+ * @free: amount of free space in the bud is returned here
-+ * @dirty: amount of dirty space from padding and deletion nodes is returned
-+ * here
-+ *
-+ * This function returns zero in case of success and a negative error code in
-+ * case of failure.
-+ */
-+static int replay_bud(struct ubifs_info *c, int lnum, int offs, int jhead,
-+ int *free, int *dirty)
-+{
-+ int err = 0, used = 0;
-+ struct ubifs_scan_leb *sleb;
-+ struct ubifs_scan_node *snod;
-+ struct ubifs_bud *bud;
-+
-+ dbg_mnt("replay bud LEB %d, head %d", lnum, jhead);
-+ if (c->need_recovery)
-+ sleb = ubifs_recover_leb(c, lnum, offs, c->sbuf, jhead != GCHD);
-+ else
-+ sleb = ubifs_scan(c, lnum, offs, c->sbuf);
-+ if (IS_ERR(sleb))
-+ return PTR_ERR(sleb);
-+
-+ /*
-+ * The bud does not have to start from offset zero - the beginning of
-+ * the 'lnum' LEB may contain previously committed data. One of the
-+ * things we have to do in replay is to correctly update lprops with
-+ * newer information about this LEB.
-+ *
-+ * At this point lprops thinks that this LEB has 'c->leb_size - offs'
-+ * bytes of free space because it only contain information about
-+ * committed data.
-+ *
-+ * But we know that real amount of free space is 'c->leb_size -
-+ * sleb->endpt', and the space in the 'lnum' LEB between 'offs' and
-+ * 'sleb->endpt' is used by bud data. We have to correctly calculate
-+ * how much of these data are dirty and update lprops with this
-+ * information.
-+ *
-+ * The dirt in that LEB region is comprised of padding nodes, deletion
-+ * nodes, truncation nodes and nodes which are obsoleted by subsequent
-+ * nodes in this LEB. So instead of calculating clean space, we
-+ * calculate used space ('used' variable).
-+ */
-+
-+ list_for_each_entry(snod, &sleb->nodes, list) {
-+ int deletion = 0;
-+
-+ cond_resched();
-+
-+ if (snod->sqnum >= SQNUM_WATERMARK) {
-+ ubifs_err("file system's life ended");
-+ goto out_dump;
-+ }
-+
-+ if (snod->sqnum > c->max_sqnum)
-+ c->max_sqnum = snod->sqnum;
-+
-+ switch (snod->type) {
-+ case UBIFS_INO_NODE:
-+ {
-+ struct ubifs_ino_node *ino = snod->node;
-+ loff_t new_size = le64_to_cpu(ino->size);
-+
-+ if (le32_to_cpu(ino->nlink) == 0)
-+ deletion = 1;
-+ err = insert_node(c, lnum, snod->offs, snod->len,
-+ &snod->key, snod->sqnum, deletion,
-+ &used, 0, new_size);
-+ break;
-+ }
-+ case UBIFS_DATA_NODE:
-+ {
-+ struct ubifs_data_node *dn = snod->node;
-+ loff_t new_size = le32_to_cpu(dn->size) +
-+ key_block(c, &snod->key) *
-+ UBIFS_BLOCK_SIZE;
-+
-+ err = insert_node(c, lnum, snod->offs, snod->len,
-+ &snod->key, snod->sqnum, deletion,
-+ &used, 0, new_size);
-+ break;
-+ }
-+ case UBIFS_DENT_NODE:
-+ case UBIFS_XENT_NODE:
-+ {
-+ struct ubifs_dent_node *dent = snod->node;
-+
-+ err = ubifs_validate_entry(c, dent);
-+ if (err)
-+ goto out_dump;
-+
-+ err = insert_dent(c, lnum, snod->offs, snod->len,
-+ &snod->key, dent->name,
-+ le16_to_cpu(dent->nlen), snod->sqnum,
-+ !le64_to_cpu(dent->inum), &used);
-+ break;
-+ }
-+ case UBIFS_TRUN_NODE:
-+ {
-+ struct ubifs_trun_node *trun = snod->node;
-+ loff_t old_size = le64_to_cpu(trun->old_size);
-+ loff_t new_size = le64_to_cpu(trun->new_size);
-+ union ubifs_key key;
-+
-+ /* Validate truncation node */
-+ if (old_size < 0 || old_size > c->max_inode_sz ||
-+ new_size < 0 || new_size > c->max_inode_sz ||
-+ old_size <= new_size) {
-+ ubifs_err("bad truncation node");
-+ goto out_dump;
-+ }
-+
-+ /*
-+ * Create a fake truncation key just to use the same
-+ * functions which expect nodes to have keys.
-+ */
-+ trun_key_init(c, &key, le32_to_cpu(trun->inum));
-+ err = insert_node(c, lnum, snod->offs, snod->len,
-+ &key, snod->sqnum, 1, &used,
-+ old_size, new_size);
-+ break;
-+ }
-+ default:
-+ ubifs_err("unexpected node type %d in bud LEB %d:%d",
-+ snod->type, lnum, snod->offs);
-+ err = -EINVAL;
-+ goto out_dump;
-+ }
-+ if (err)
-+ goto out;
-+ }
-+
-+ bud = ubifs_search_bud(c, lnum);
-+ if (!bud)
-+ BUG();
-+
-+ ubifs_assert(sleb->endpt - offs >= used);
-+ ubifs_assert(sleb->endpt % c->min_io_size == 0);
-+
-+ if (sleb->endpt + c->min_io_size <= c->leb_size &&
-+ !(c->vfs_sb->s_flags & MS_RDONLY))
-+ err = ubifs_wbuf_seek_nolock(&c->jheads[jhead].wbuf, lnum,
-+ sleb->endpt, UBI_SHORTTERM);
-+
-+ *dirty = sleb->endpt - offs - used;
-+ *free = c->leb_size - sleb->endpt;
-+
-+out:
-+ ubifs_scan_destroy(sleb);
-+ return err;
-+
-+out_dump:
-+ ubifs_err("bad node is at LEB %d:%d", lnum, snod->offs);
-+ dbg_dump_node(c, snod->node);
-+ ubifs_scan_destroy(sleb);
-+ return -EINVAL;
-+}
-+
-+/**
-+ * insert_ref_node - insert a reference node to the replay tree.
-+ * @c: UBIFS file-system description object
-+ * @lnum: node logical eraseblock number
-+ * @offs: node offset
-+ * @sqnum: sequence number
-+ * @free: amount of free space in bud
-+ * @dirty: amount of dirty space from padding and deletion nodes
-+ *
-+ * This function inserts a reference node to the replay tree and returns zero
-+ * in case of success or a negative error code in case of failure.
-+ */
-+static int insert_ref_node(struct ubifs_info *c, int lnum, int offs,
-+ unsigned long long sqnum, int free, int dirty)
-+{
-+ struct rb_node **p = &c->replay_tree.rb_node, *parent = NULL;
-+ struct replay_entry *r;
-+
-+ dbg_mnt("add ref LEB %d:%d", lnum, offs);
-+ while (*p) {
-+ parent = *p;
-+ r = rb_entry(parent, struct replay_entry, rb);
-+ if (sqnum < r->sqnum) {
-+ p = &(*p)->rb_left;
-+ continue;
-+ } else if (sqnum > r->sqnum) {
-+ p = &(*p)->rb_right;
-+ continue;
-+ }
-+ ubifs_err("duplicate sqnum in replay tree");
-+ return -EINVAL;
-+ }
-+
-+ r = kzalloc(sizeof(struct replay_entry), GFP_KERNEL);
-+ if (!r)
-+ return -ENOMEM;
-+
-+ r->lnum = lnum;
-+ r->offs = offs;
-+ r->sqnum = sqnum;
-+ r->flags = REPLAY_REF;
-+ r->free = free;
-+ r->dirty = dirty;
-+
-+ rb_link_node(&r->rb, parent, p);
-+ rb_insert_color(&r->rb, &c->replay_tree);
-+ return 0;
-+}
-+
-+/**
-+ * replay_buds - replay all buds.
-+ * @c: UBIFS file-system description object
-+ *
-+ * This function returns zero in case of success and a negative error code in
-+ * case of failure.
-+ */
-+static int replay_buds(struct ubifs_info *c)
-+{
-+ struct bud_entry *b;
-+ int err, uninitialized_var(free), uninitialized_var(dirty);
-+
-+ list_for_each_entry(b, &c->replay_buds, list) {
-+ err = replay_bud(c, b->bud->lnum, b->bud->start, b->bud->jhead,
-+ &free, &dirty);
-+ if (err)
-+ return err;
-+ err = insert_ref_node(c, b->bud->lnum, b->bud->start, b->sqnum,
-+ free, dirty);
-+ if (err)
-+ return err;
-+ }
-+
-+ return 0;
-+}
-+
-+/**
-+ * destroy_bud_list - destroy the list of buds to replay.
-+ * @c: UBIFS file-system description object
-+ */
-+static void destroy_bud_list(struct ubifs_info *c)
-+{
-+ struct bud_entry *b;
-+
-+ while (!list_empty(&c->replay_buds)) {
-+ b = list_entry(c->replay_buds.next, struct bud_entry, list);
-+ list_del(&b->list);
-+ kfree(b);
-+ }
-+}
-+
-+/**
-+ * add_replay_bud - add a bud to the list of buds to replay.
-+ * @c: UBIFS file-system description object
-+ * @lnum: bud logical eraseblock number to replay
-+ * @offs: bud start offset
-+ * @jhead: journal head to which this bud belongs
-+ * @sqnum: reference node sequence number
-+ *
-+ * This function returns zero in case of success and a negative error code in
-+ * case of failure.
-+ */
-+static int add_replay_bud(struct ubifs_info *c, int lnum, int offs, int jhead,
-+ unsigned long long sqnum)
-+{
-+ struct ubifs_bud *bud;
-+ struct bud_entry *b;
-+
-+ dbg_mnt("add replay bud LEB %d:%d, head %d", lnum, offs, jhead);
-+
-+ bud = kmalloc(sizeof(struct ubifs_bud), GFP_KERNEL);
-+ if (!bud)
-+ return -ENOMEM;
-+
-+ b = kmalloc(sizeof(struct bud_entry), GFP_KERNEL);
-+ if (!b) {
-+ kfree(bud);
-+ return -ENOMEM;
-+ }
-+
-+ bud->lnum = lnum;
-+ bud->start = offs;
-+ bud->jhead = jhead;
-+ ubifs_add_bud(c, bud);
-+
-+ b->bud = bud;
-+ b->sqnum = sqnum;
-+ list_add_tail(&b->list, &c->replay_buds);
-+
-+ return 0;
-+}
-+
-+/**
-+ * validate_ref - validate a reference node.
-+ * @c: UBIFS file-system description object
-+ * @ref: the reference node to validate
-+ * @ref_lnum: LEB number of the reference node
-+ * @ref_offs: reference node offset
-+ *
-+ * This function returns %1 if a bud reference already exists for the LEB. %0 is
-+ * returned if the reference node is new, otherwise %-EINVAL is returned if
-+ * validation failed.
-+ */
-+static int validate_ref(struct ubifs_info *c, const struct ubifs_ref_node *ref)
-+{
-+ struct ubifs_bud *bud;
-+ int lnum = le32_to_cpu(ref->lnum);
-+ unsigned int offs = le32_to_cpu(ref->offs);
-+ unsigned int jhead = le32_to_cpu(ref->jhead);
-+
-+ /*
-+ * ref->offs may point to the end of LEB when the journal head points
-+ * to the end of LEB and we write reference node for it during commit.
-+ * So this is why we require 'offs > c->leb_size'.
-+ */
-+ if (jhead >= c->jhead_cnt || lnum >= c->leb_cnt ||
-+ lnum < c->main_first || offs > c->leb_size ||
-+ offs & (c->min_io_size - 1))
-+ return -EINVAL;
-+
-+ /* Make sure we have not already looked at this bud */
-+ bud = ubifs_search_bud(c, lnum);
-+ if (bud) {
-+ if (bud->jhead == jhead && bud->start <= offs)
-+ return 1;
-+ ubifs_err("bud at LEB %d:%d was already referred", lnum, offs);
-+ return -EINVAL;
-+ }
-+
-+ return 0;
-+}
-+
-+/**
-+ * replay_log_leb - replay a log logical eraseblock.
-+ * @c: UBIFS file-system description object
-+ * @lnum: log logical eraseblock to replay
-+ * @offs: offset to start replaying from
-+ * @sbuf: scan buffer
-+ *
-+ * This function replays a log LEB and returns zero in case of success, %1 if
-+ * this is the last LEB in the log, and a negative error code in case of
-+ * failure.
-+ */
-+static int replay_log_leb(struct ubifs_info *c, int lnum, int offs, void *sbuf)
-+{
-+ int err;
-+ struct ubifs_scan_leb *sleb;
-+ struct ubifs_scan_node *snod;
-+ const struct ubifs_cs_node *node;
-+
-+ dbg_mnt("replay log LEB %d:%d", lnum, offs);
-+ sleb = ubifs_scan(c, lnum, offs, sbuf);
-+ if (IS_ERR(sleb)) {
-+ if (c->need_recovery)
-+ sleb = ubifs_recover_log_leb(c, lnum, offs, sbuf);
-+ if (IS_ERR(sleb))
-+ return PTR_ERR(sleb);
-+ }
-+
-+ if (sleb->nodes_cnt == 0) {
-+ err = 1;
-+ goto out;
-+ }
-+
-+ node = sleb->buf;
-+
-+ snod = list_entry(sleb->nodes.next, struct ubifs_scan_node, list);
-+ if (c->cs_sqnum == 0) {
-+ /*
-+ * This is the first log LEB we are looking at, make sure that
-+ * the first node is a commit start node. Also record its
-+ * sequence number so that UBIFS can determine where the log
-+ * ends, because all nodes which were have higher sequence
-+ * numbers.
-+ */
-+ if (snod->type != UBIFS_CS_NODE) {
-+ dbg_err("first log node at LEB %d:%d is not CS node",
-+ lnum, offs);
-+ goto out_dump;
-+ }
-+ if (le64_to_cpu(node->cmt_no) != c->cmt_no) {
-+ dbg_err("first CS node at LEB %d:%d has wrong "
-+ "commit number %llu expected %llu",
-+ lnum, offs,
-+ (unsigned long long)le64_to_cpu(node->cmt_no),
-+ c->cmt_no);
-+ goto out_dump;
-+ }
-+
-+ c->cs_sqnum = le64_to_cpu(node->ch.sqnum);
-+ dbg_mnt("commit start sqnum %llu", c->cs_sqnum);
-+ }
-+
-+ if (snod->sqnum < c->cs_sqnum) {
-+ /*
-+ * This means that we reached end of log and now
-+ * look to the older log data, which was already
-+ * committed but the eraseblock was not erased (UBIFS
-+ * only un-maps it). So this basically means we have to
-+ * exit with "end of log" code.
-+ */
-+ err = 1;
-+ goto out;
-+ }
-+
-+ /* Make sure the first node sits at offset zero of the LEB */
-+ if (snod->offs != 0) {
-+ dbg_err("first node is not at zero offset");
-+ goto out_dump;
-+ }
-+
-+ list_for_each_entry(snod, &sleb->nodes, list) {
-+
-+ cond_resched();
-+
-+ if (snod->sqnum >= SQNUM_WATERMARK) {
-+ ubifs_err("file system's life ended");
-+ goto out_dump;
-+ }
-+
-+ if (snod->sqnum < c->cs_sqnum) {
-+ dbg_err("bad sqnum %llu, commit sqnum %llu",
-+ snod->sqnum, c->cs_sqnum);
-+ goto out_dump;
-+ }
-+
-+ if (snod->sqnum > c->max_sqnum)
-+ c->max_sqnum = snod->sqnum;
-+
-+ switch (snod->type) {
-+ case UBIFS_REF_NODE: {
-+ const struct ubifs_ref_node *ref = snod->node;
-+
-+ err = validate_ref(c, ref);
-+ if (err == 1)
-+ break; /* Already have this bud */
-+ if (err)
-+ goto out_dump;
-+
-+ err = add_replay_bud(c, le32_to_cpu(ref->lnum),
-+ le32_to_cpu(ref->offs),
-+ le32_to_cpu(ref->jhead),
-+ snod->sqnum);
-+ if (err)
-+ goto out;
-+
-+ break;
-+ }
-+ case UBIFS_CS_NODE:
-+ /* Make sure it sits at the beginning of LEB */
-+ if (snod->offs != 0) {
-+ ubifs_err("unexpected node in log");
-+ goto out_dump;
-+ }
-+ break;
-+ default:
-+ ubifs_err("unexpected node in log");
-+ goto out_dump;
-+ }
-+ }
-+
-+ if (sleb->endpt || c->lhead_offs >= c->leb_size) {
-+ c->lhead_lnum = lnum;
-+ c->lhead_offs = sleb->endpt;
-+ }
-+
-+ err = !sleb->endpt;
-+out:
-+ ubifs_scan_destroy(sleb);
-+ return err;
-+
-+out_dump:
-+ ubifs_err("log error detected while replying the log at LEB %d:%d",
-+ lnum, offs + snod->offs);
-+ dbg_dump_node(c, snod->node);
-+ ubifs_scan_destroy(sleb);
-+ return -EINVAL;
-+}
-+
-+/**
-+ * take_ihead - update the status of the index head in lprops to 'taken'.
-+ * @c: UBIFS file-system description object
-+ *
-+ * This function returns the amount of free space in the index head LEB or a
-+ * negative error code.
-+ */
-+static int take_ihead(struct ubifs_info *c)
-+{
-+ const struct ubifs_lprops *lp;
-+ int err, free;
-+
-+ ubifs_get_lprops(c);
-+
-+ lp = ubifs_lpt_lookup_dirty(c, c->ihead_lnum);
-+ if (IS_ERR(lp)) {
-+ err = PTR_ERR(lp);
-+ goto out;
-+ }
-+
-+ free = lp->free;
-+
-+ lp = ubifs_change_lp(c, lp, LPROPS_NC, LPROPS_NC,
-+ lp->flags | LPROPS_TAKEN, 0);
-+ if (IS_ERR(lp)) {
-+ err = PTR_ERR(lp);
-+ goto out;
-+ }
-+
-+ err = free;
-+out:
-+ ubifs_release_lprops(c);
-+ return err;
-+}
-+
-+/**
-+ * ubifs_replay_journal - replay journal.
-+ * @c: UBIFS file-system description object
-+ *
-+ * This function scans the journal, replays and cleans it up. It makes sure all
-+ * memory data structures related to uncommitted journal are built (dirty TNC
-+ * tree, tree of buds, modified lprops, etc).
-+ */
-+int ubifs_replay_journal(struct ubifs_info *c)
-+{
-+ int err, i, lnum, offs, free;
-+ void *sbuf = NULL;
-+
-+ BUILD_BUG_ON(UBIFS_TRUN_KEY > 5);
-+
-+ /* Update the status of the index head in lprops to 'taken' */
-+ free = take_ihead(c);
-+ if (free < 0)
-+ return free; /* Error code */
-+
-+ if (c->ihead_offs != c->leb_size - free) {
-+ ubifs_err("bad index head LEB %d:%d", c->ihead_lnum,
-+ c->ihead_offs);
-+ return -EINVAL;
-+ }
-+
-+ sbuf = vmalloc(c->leb_size);
-+ if (!sbuf)
-+ return -ENOMEM;
-+
-+ dbg_mnt("start replaying the journal");
-+
-+ c->replaying = 1;
-+
-+ lnum = c->ltail_lnum = c->lhead_lnum;
-+ offs = c->lhead_offs;
-+
-+ for (i = 0; i < c->log_lebs; i++, lnum++) {
-+ if (lnum >= UBIFS_LOG_LNUM + c->log_lebs) {
-+ /*
-+ * The log is logically circular, we reached the last
-+ * LEB, switch to the first one.
-+ */
-+ lnum = UBIFS_LOG_LNUM;
-+ offs = 0;
-+ }
-+ err = replay_log_leb(c, lnum, offs, sbuf);
-+ if (err == 1)
-+ /* We hit the end of the log */
-+ break;
-+ if (err)
-+ goto out;
-+ offs = 0;
-+ }
-+
-+ err = replay_buds(c);
-+ if (err)
-+ goto out;
-+
-+ err = apply_replay_tree(c);
-+ if (err)
-+ goto out;
-+
-+ /*
-+ * UBIFS budgeting calculations use @c->budg_uncommitted_idx variable
-+ * to roughly estimate index growth. Things like @c->min_idx_lebs
-+ * depend on it. This means we have to initialize it to make sure
-+ * budgeting works properly.
-+ */
-+ c->budg_uncommitted_idx = atomic_long_read(&c->dirty_zn_cnt);
-+ c->budg_uncommitted_idx *= c->max_idx_node_sz;
-+
-+ ubifs_assert(c->bud_bytes <= c->max_bud_bytes || c->need_recovery);
-+ dbg_mnt("finished, log head LEB %d:%d, max_sqnum %llu, "
-+ "highest_inum %lu", c->lhead_lnum, c->lhead_offs, c->max_sqnum,
-+ (unsigned long)c->highest_inum);
-+out:
-+ destroy_replay_tree(c);
-+ destroy_bud_list(c);
-+ vfree(sbuf);
-+ c->replaying = 0;
-+ return err;
-+}
-diff -Nurd linux-2.6.24.orig/fs/ubifs/sb.c linux-2.6.24/fs/ubifs/sb.c
---- linux-2.6.24.orig/fs/ubifs/sb.c 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.24/fs/ubifs/sb.c 2009-04-17 09:49:28.000000000 +0200
-@@ -0,0 +1,634 @@
-+/*
-+ * This file is part of UBIFS.
-+ *
-+ * Copyright (C) 2006-2008 Nokia Corporation.
-+ *
-+ * This program is free software; you can redistribute it and/or modify it
-+ * under the terms of the GNU General Public License version 2 as published by
-+ * the Free Software Foundation.
-+ *
-+ * 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, write to the Free Software Foundation, Inc., 51
-+ * Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
-+ *
-+ * Authors: Artem Bityutskiy (Битюцкий Ðртём)
-+ * Adrian Hunter
-+ */
-+
-+/*
-+ * This file implements UBIFS superblock. The superblock is stored at the first
-+ * LEB of the volume and is never changed by UBIFS. Only user-space tools may
-+ * change it. The superblock node mostly contains geometry information.
-+ */
-+
-+#include "ubifs.h"
-+#include <linux/random.h>
-+
-+/*
-+ * Default journal size in logical eraseblocks as a percent of total
-+ * flash size.
-+ */
-+#define DEFAULT_JNL_PERCENT 5
-+
-+/* Default maximum journal size in bytes */
-+#define DEFAULT_MAX_JNL (32*1024*1024)
-+
-+/* Default indexing tree fanout */
-+#define DEFAULT_FANOUT 8
-+
-+/* Default number of data journal heads */
-+#define DEFAULT_JHEADS_CNT 1
-+
-+/* Default positions of different LEBs in the main area */
-+#define DEFAULT_IDX_LEB 0
-+#define DEFAULT_DATA_LEB 1
-+#define DEFAULT_GC_LEB 2
-+
-+/* Default number of LEB numbers in LPT's save table */
-+#define DEFAULT_LSAVE_CNT 256
-+
-+/* Default reserved pool size as a percent of maximum free space */
-+#define DEFAULT_RP_PERCENT 5
-+
-+/* The default maximum size of reserved pool in bytes */
-+#define DEFAULT_MAX_RP_SIZE (5*1024*1024)
-+
-+/* Default UBIFS compressor */
-+#define DEFAULT_COMPRESSOR UBIFS_COMPR_LZO
-+
-+/* Default time granularity in nanoseconds */
-+#define DEFAULT_TIME_GRAN 1000000000
-+
-+/**
-+ * create_default_filesystem - format empty UBI volume.
-+ * @c: UBIFS file-system description object
-+ *
-+ * This function creates default empty file-system. Returns zero in case of
-+ * success and a negative error code in case of failure.
-+ */
-+static int create_default_filesystem(struct ubifs_info *c)
-+{
-+ struct ubifs_sb_node *sup;
-+ struct ubifs_mst_node *mst;
-+ struct ubifs_idx_node *idx;
-+ struct ubifs_branch *br;
-+ struct ubifs_ino_node *ino;
-+ struct ubifs_cs_node *cs;
-+ union ubifs_key key;
-+ int err, tmp, jnl_lebs, log_lebs, max_buds, main_lebs, main_first;
-+ int lpt_lebs, lpt_first, orph_lebs, big_lpt, ino_waste, sup_flags = 0;
-+ int min_leb_cnt = UBIFS_MIN_LEB_CNT;
-+ long long tmp64, main_bytes;
-+ __le64 tmp_le64;
-+
-+ /* Some functions called from here depend on the @c->key_len filed */
-+ c->key_len = UBIFS_SK_LEN;
-+
-+ /*
-+ * First of all, we have to calculate default file-system geometry -
-+ * log size, journal size, etc.
-+ */
-+ if (c->leb_cnt < 0x7FFFFFFF / DEFAULT_JNL_PERCENT)
-+ /* We can first multiply then divide and have no overflow */
-+ jnl_lebs = c->leb_cnt * DEFAULT_JNL_PERCENT / 100;
-+ else
-+ jnl_lebs = (c->leb_cnt / 100) * DEFAULT_JNL_PERCENT;
-+
-+ if (jnl_lebs < UBIFS_MIN_JNL_LEBS)
-+ jnl_lebs = UBIFS_MIN_JNL_LEBS;
-+ if (jnl_lebs * c->leb_size > DEFAULT_MAX_JNL)
-+ jnl_lebs = DEFAULT_MAX_JNL / c->leb_size;
-+
-+ /*
-+ * The log should be large enough to fit reference nodes for all bud
-+ * LEBs. Because buds do not have to start from the beginning of LEBs
-+ * (half of the LEB may contain committed data), the log should
-+ * generally be larger, make it twice as large.
-+ */
-+ tmp = 2 * (c->ref_node_alsz * jnl_lebs) + c->leb_size - 1;
-+ log_lebs = tmp / c->leb_size;
-+ /* Plus one LEB reserved for commit */
-+ log_lebs += 1;
-+ if (c->leb_cnt - min_leb_cnt > 8) {
-+ /* And some extra space to allow writes while committing */
-+ log_lebs += 1;
-+ min_leb_cnt += 1;
-+ }
-+
-+ max_buds = jnl_lebs - log_lebs;
-+ if (max_buds < UBIFS_MIN_BUD_LEBS)
-+ max_buds = UBIFS_MIN_BUD_LEBS;
-+
-+ /*
-+ * Orphan nodes are stored in a separate area. One node can store a lot
-+ * of orphan inode numbers, but when new orphan comes we just add a new
-+ * orphan node. At some point the nodes are consolidated into one
-+ * orphan node.
-+ */
-+ orph_lebs = UBIFS_MIN_ORPH_LEBS;
-+#ifdef CONFIG_UBIFS_FS_DEBUG
-+ if (c->leb_cnt - min_leb_cnt > 1)
-+ /*
-+ * For debugging purposes it is better to have at least 2
-+ * orphan LEBs, because the orphan subsystem would need to do
-+ * consolidations and would be stressed more.
-+ */
-+ orph_lebs += 1;
-+#endif
-+
-+ main_lebs = c->leb_cnt - UBIFS_SB_LEBS - UBIFS_MST_LEBS - log_lebs;
-+ main_lebs -= orph_lebs;
-+
-+ lpt_first = UBIFS_LOG_LNUM + log_lebs;
-+ c->lsave_cnt = DEFAULT_LSAVE_CNT;
-+ c->max_leb_cnt = c->leb_cnt;
-+ err = ubifs_create_dflt_lpt(c, &main_lebs, lpt_first, &lpt_lebs,
-+ &big_lpt);
-+ if (err)
-+ return err;
-+
-+ dbg_gen("LEB Properties Tree created (LEBs %d-%d)", lpt_first,
-+ lpt_first + lpt_lebs - 1);
-+
-+ main_first = c->leb_cnt - main_lebs;
-+
-+ /* Create default superblock */
-+ tmp = ALIGN(UBIFS_SB_NODE_SZ, c->min_io_size);
-+ sup = kzalloc(tmp, GFP_KERNEL);
-+ if (!sup)
-+ return -ENOMEM;
-+
-+ tmp64 = (long long)max_buds * c->leb_size;
-+ if (big_lpt)
-+ sup_flags |= UBIFS_FLG_BIGLPT;
-+
-+ sup->ch.node_type = UBIFS_SB_NODE;
-+ sup->key_hash = UBIFS_KEY_HASH_R5;
-+ sup->flags = cpu_to_le32(sup_flags);
-+ sup->min_io_size = cpu_to_le32(c->min_io_size);
-+ sup->leb_size = cpu_to_le32(c->leb_size);
-+ sup->leb_cnt = cpu_to_le32(c->leb_cnt);
-+ sup->max_leb_cnt = cpu_to_le32(c->max_leb_cnt);
-+ sup->max_bud_bytes = cpu_to_le64(tmp64);
-+ sup->log_lebs = cpu_to_le32(log_lebs);
-+ sup->lpt_lebs = cpu_to_le32(lpt_lebs);
-+ sup->orph_lebs = cpu_to_le32(orph_lebs);
-+ sup->jhead_cnt = cpu_to_le32(DEFAULT_JHEADS_CNT);
-+ sup->fanout = cpu_to_le32(DEFAULT_FANOUT);
-+ sup->lsave_cnt = cpu_to_le32(c->lsave_cnt);
-+ sup->fmt_version = cpu_to_le32(UBIFS_FORMAT_VERSION);
-+ sup->time_gran = cpu_to_le32(DEFAULT_TIME_GRAN);
-+ if (c->mount_opts.override_compr)
-+ sup->default_compr = cpu_to_le16(c->mount_opts.compr_type);
-+ else
-+ sup->default_compr = cpu_to_le16(UBIFS_COMPR_LZO);
-+
-+ generate_random_uuid(sup->uuid);
-+
-+ main_bytes = (long long)main_lebs * c->leb_size;
-+ tmp64 = div_u64(main_bytes * DEFAULT_RP_PERCENT, 100);
-+ if (tmp64 > DEFAULT_MAX_RP_SIZE)
-+ tmp64 = DEFAULT_MAX_RP_SIZE;
-+ sup->rp_size = cpu_to_le64(tmp64);
-+
-+ err = ubifs_write_node(c, sup, UBIFS_SB_NODE_SZ, 0, 0, UBI_LONGTERM);
-+ kfree(sup);
-+ if (err)
-+ return err;
-+
-+ dbg_gen("default superblock created at LEB 0:0");
-+
-+ /* Create default master node */
-+ mst = kzalloc(c->mst_node_alsz, GFP_KERNEL);
-+ if (!mst)
-+ return -ENOMEM;
-+
-+ mst->ch.node_type = UBIFS_MST_NODE;
-+ mst->log_lnum = cpu_to_le32(UBIFS_LOG_LNUM);
-+ mst->highest_inum = cpu_to_le64(UBIFS_FIRST_INO);
-+ mst->cmt_no = 0;
-+ mst->root_lnum = cpu_to_le32(main_first + DEFAULT_IDX_LEB);
-+ mst->root_offs = 0;
-+ tmp = ubifs_idx_node_sz(c, 1);
-+ mst->root_len = cpu_to_le32(tmp);
-+ mst->gc_lnum = cpu_to_le32(main_first + DEFAULT_GC_LEB);
-+ mst->ihead_lnum = cpu_to_le32(main_first + DEFAULT_IDX_LEB);
-+ mst->ihead_offs = cpu_to_le32(ALIGN(tmp, c->min_io_size));
-+ mst->index_size = cpu_to_le64(ALIGN(tmp, 8));
-+ mst->lpt_lnum = cpu_to_le32(c->lpt_lnum);
-+ mst->lpt_offs = cpu_to_le32(c->lpt_offs);
-+ mst->nhead_lnum = cpu_to_le32(c->nhead_lnum);
-+ mst->nhead_offs = cpu_to_le32(c->nhead_offs);
-+ mst->ltab_lnum = cpu_to_le32(c->ltab_lnum);
-+ mst->ltab_offs = cpu_to_le32(c->ltab_offs);
-+ mst->lsave_lnum = cpu_to_le32(c->lsave_lnum);
-+ mst->lsave_offs = cpu_to_le32(c->lsave_offs);
-+ mst->lscan_lnum = cpu_to_le32(main_first);
-+ mst->empty_lebs = cpu_to_le32(main_lebs - 2);
-+ mst->idx_lebs = cpu_to_le32(1);
-+ mst->leb_cnt = cpu_to_le32(c->leb_cnt);
-+
-+ /* Calculate lprops statistics */
-+ tmp64 = main_bytes;
-+ tmp64 -= ALIGN(ubifs_idx_node_sz(c, 1), c->min_io_size);
-+ tmp64 -= ALIGN(UBIFS_INO_NODE_SZ, c->min_io_size);
-+ mst->total_free = cpu_to_le64(tmp64);
-+
-+ tmp64 = ALIGN(ubifs_idx_node_sz(c, 1), c->min_io_size);
-+ ino_waste = ALIGN(UBIFS_INO_NODE_SZ, c->min_io_size) -
-+ UBIFS_INO_NODE_SZ;
-+ tmp64 += ino_waste;
-+ tmp64 -= ALIGN(ubifs_idx_node_sz(c, 1), 8);
-+ mst->total_dirty = cpu_to_le64(tmp64);
-+
-+ /* The indexing LEB does not contribute to dark space */
-+ tmp64 = (c->main_lebs - 1) * c->dark_wm;
-+ mst->total_dark = cpu_to_le64(tmp64);
-+
-+ mst->total_used = cpu_to_le64(UBIFS_INO_NODE_SZ);
-+
-+ err = ubifs_write_node(c, mst, UBIFS_MST_NODE_SZ, UBIFS_MST_LNUM, 0,
-+ UBI_UNKNOWN);
-+ if (err) {
-+ kfree(mst);
-+ return err;
-+ }
-+ err = ubifs_write_node(c, mst, UBIFS_MST_NODE_SZ, UBIFS_MST_LNUM + 1, 0,
-+ UBI_UNKNOWN);
-+ kfree(mst);
-+ if (err)
-+ return err;
-+
-+ dbg_gen("default master node created at LEB %d:0", UBIFS_MST_LNUM);
-+
-+ /* Create the root indexing node */
-+ tmp = ubifs_idx_node_sz(c, 1);
-+ idx = kzalloc(ALIGN(tmp, c->min_io_size), GFP_KERNEL);
-+ if (!idx)
-+ return -ENOMEM;
-+
-+ c->key_fmt = UBIFS_SIMPLE_KEY_FMT;
-+ c->key_hash = key_r5_hash;
-+
-+ idx->ch.node_type = UBIFS_IDX_NODE;
-+ idx->child_cnt = cpu_to_le16(1);
-+ ino_key_init(c, &key, UBIFS_ROOT_INO);
-+ br = ubifs_idx_branch(c, idx, 0);
-+ key_write_idx(c, &key, &br->key);
-+ br->lnum = cpu_to_le32(main_first + DEFAULT_DATA_LEB);
-+ br->len = cpu_to_le32(UBIFS_INO_NODE_SZ);
-+ err = ubifs_write_node(c, idx, tmp, main_first + DEFAULT_IDX_LEB, 0,
-+ UBI_UNKNOWN);
-+ kfree(idx);
-+ if (err)
-+ return err;
-+
-+ dbg_gen("default root indexing node created LEB %d:0",
-+ main_first + DEFAULT_IDX_LEB);
-+
-+ /* Create default root inode */
-+ tmp = ALIGN(UBIFS_INO_NODE_SZ, c->min_io_size);
-+ ino = kzalloc(tmp, GFP_KERNEL);
-+ if (!ino)
-+ return -ENOMEM;
-+
-+ ino_key_init_flash(c, &ino->key, UBIFS_ROOT_INO);
-+ ino->ch.node_type = UBIFS_INO_NODE;
-+ ino->creat_sqnum = cpu_to_le64(++c->max_sqnum);
-+ ino->nlink = cpu_to_le32(2);
-+ tmp_le64 = cpu_to_le64(CURRENT_TIME_SEC.tv_sec);
-+ ino->atime_sec = tmp_le64;
-+ ino->ctime_sec = tmp_le64;
-+ ino->mtime_sec = tmp_le64;
-+ ino->atime_nsec = 0;
-+ ino->ctime_nsec = 0;
-+ ino->mtime_nsec = 0;
-+ ino->mode = cpu_to_le32(S_IFDIR | S_IRUGO | S_IWUSR | S_IXUGO);
-+ ino->size = cpu_to_le64(UBIFS_INO_NODE_SZ);
-+
-+ /* Set compression enabled by default */
-+ ino->flags = cpu_to_le32(UBIFS_COMPR_FL);
-+
-+ err = ubifs_write_node(c, ino, UBIFS_INO_NODE_SZ,
-+ main_first + DEFAULT_DATA_LEB, 0,
-+ UBI_UNKNOWN);
-+ kfree(ino);
-+ if (err)
-+ return err;
-+
-+ dbg_gen("root inode created at LEB %d:0",
-+ main_first + DEFAULT_DATA_LEB);
-+
-+ /*
-+ * The first node in the log has to be the commit start node. This is
-+ * always the case during normal file-system operation. Write a fake
-+ * commit start node to the log.
-+ */
-+ tmp = ALIGN(UBIFS_CS_NODE_SZ, c->min_io_size);
-+ cs = kzalloc(tmp, GFP_KERNEL);
-+ if (!cs)
-+ return -ENOMEM;
-+
-+ cs->ch.node_type = UBIFS_CS_NODE;
-+ err = ubifs_write_node(c, cs, UBIFS_CS_NODE_SZ, UBIFS_LOG_LNUM,
-+ 0, UBI_UNKNOWN);
-+ kfree(cs);
-+
-+ ubifs_msg("default file-system created");
-+ return 0;
-+}
-+
-+/**
-+ * validate_sb - validate superblock node.
-+ * @c: UBIFS file-system description object
-+ * @sup: superblock node
-+ *
-+ * This function validates superblock node @sup. Since most of data was read
-+ * from the superblock and stored in @c, the function validates fields in @c
-+ * instead. Returns zero in case of success and %-EINVAL in case of validation
-+ * failure.
-+ */
-+static int validate_sb(struct ubifs_info *c, struct ubifs_sb_node *sup)
-+{
-+ long long max_bytes;
-+ int err = 1, min_leb_cnt;
-+
-+ if (!c->key_hash) {
-+ err = 2;
-+ goto failed;
-+ }
-+
-+ if (sup->key_fmt != UBIFS_SIMPLE_KEY_FMT) {
-+ err = 3;
-+ goto failed;
-+ }
-+
-+ if (le32_to_cpu(sup->min_io_size) != c->min_io_size) {
-+ ubifs_err("min. I/O unit mismatch: %d in superblock, %d real",
-+ le32_to_cpu(sup->min_io_size), c->min_io_size);
-+ goto failed;
-+ }
-+
-+ if (le32_to_cpu(sup->leb_size) != c->leb_size) {
-+ ubifs_err("LEB size mismatch: %d in superblock, %d real",
-+ le32_to_cpu(sup->leb_size), c->leb_size);
-+ goto failed;
-+ }
-+
-+ if (c->log_lebs < UBIFS_MIN_LOG_LEBS ||
-+ c->lpt_lebs < UBIFS_MIN_LPT_LEBS ||
-+ c->orph_lebs < UBIFS_MIN_ORPH_LEBS ||
-+ c->main_lebs < UBIFS_MIN_MAIN_LEBS) {
-+ err = 4;
-+ goto failed;
-+ }
-+
-+ /*
-+ * Calculate minimum allowed amount of main area LEBs. This is very
-+ * similar to %UBIFS_MIN_LEB_CNT, but we take into account real what we
-+ * have just read from the superblock.
-+ */
-+ min_leb_cnt = UBIFS_SB_LEBS + UBIFS_MST_LEBS + c->log_lebs;
-+ min_leb_cnt += c->lpt_lebs + c->orph_lebs + c->jhead_cnt + 6;
-+
-+ if (c->leb_cnt < min_leb_cnt || c->leb_cnt > c->vi.size) {
-+ ubifs_err("bad LEB count: %d in superblock, %d on UBI volume, "
-+ "%d minimum required", c->leb_cnt, c->vi.size,
-+ min_leb_cnt);
-+ goto failed;
-+ }
-+
-+ if (c->max_leb_cnt < c->leb_cnt) {
-+ ubifs_err("max. LEB count %d less than LEB count %d",
-+ c->max_leb_cnt, c->leb_cnt);
-+ goto failed;
-+ }
-+
-+ if (c->main_lebs < UBIFS_MIN_MAIN_LEBS) {
-+ err = 7;
-+ goto failed;
-+ }
-+
-+ if (c->max_bud_bytes < (long long)c->leb_size * UBIFS_MIN_BUD_LEBS ||
-+ c->max_bud_bytes > (long long)c->leb_size * c->main_lebs) {
-+ err = 8;
-+ goto failed;
-+ }
-+
-+ if (c->jhead_cnt < NONDATA_JHEADS_CNT + 1 ||
-+ c->jhead_cnt > NONDATA_JHEADS_CNT + UBIFS_MAX_JHEADS) {
-+ err = 9;
-+ goto failed;
-+ }
-+
-+ if (c->fanout < UBIFS_MIN_FANOUT ||
-+ ubifs_idx_node_sz(c, c->fanout) > c->leb_size) {
-+ err = 10;
-+ goto failed;
-+ }
-+
-+ if (c->lsave_cnt < 0 || (c->lsave_cnt > DEFAULT_LSAVE_CNT &&
-+ c->lsave_cnt > c->max_leb_cnt - UBIFS_SB_LEBS - UBIFS_MST_LEBS -
-+ c->log_lebs - c->lpt_lebs - c->orph_lebs)) {
-+ err = 11;
-+ goto failed;
-+ }
-+
-+ if (UBIFS_SB_LEBS + UBIFS_MST_LEBS + c->log_lebs + c->lpt_lebs +
-+ c->orph_lebs + c->main_lebs != c->leb_cnt) {
-+ err = 12;
-+ goto failed;
-+ }
-+
-+ if (c->default_compr < 0 || c->default_compr >= UBIFS_COMPR_TYPES_CNT) {
-+ err = 13;
-+ goto failed;
-+ }
-+
-+ max_bytes = c->main_lebs * (long long)c->leb_size;
-+ if (c->rp_size < 0 || max_bytes < c->rp_size) {
-+ err = 14;
-+ goto failed;
-+ }
-+
-+ if (le32_to_cpu(sup->time_gran) > 1000000000 ||
-+ le32_to_cpu(sup->time_gran) < 1) {
-+ err = 15;
-+ goto failed;
-+ }
-+
-+ return 0;
-+
-+failed:
-+ ubifs_err("bad superblock, error %d", err);
-+ dbg_dump_node(c, sup);
-+ return -EINVAL;
-+}
-+
-+/**
-+ * ubifs_read_sb_node - read superblock node.
-+ * @c: UBIFS file-system description object
-+ *
-+ * This function returns a pointer to the superblock node or a negative error
-+ * code.
-+ */
-+struct ubifs_sb_node *ubifs_read_sb_node(struct ubifs_info *c)
-+{
-+ struct ubifs_sb_node *sup;
-+ int err;
-+
-+ sup = kmalloc(ALIGN(UBIFS_SB_NODE_SZ, c->min_io_size), GFP_NOFS);
-+ if (!sup)
-+ return ERR_PTR(-ENOMEM);
-+
-+ err = ubifs_read_node(c, sup, UBIFS_SB_NODE, UBIFS_SB_NODE_SZ,
-+ UBIFS_SB_LNUM, 0);
-+ if (err) {
-+ kfree(sup);
-+ return ERR_PTR(err);
-+ }
-+
-+ return sup;
-+}
-+
-+/**
-+ * ubifs_write_sb_node - write superblock node.
-+ * @c: UBIFS file-system description object
-+ * @sup: superblock node read with 'ubifs_read_sb_node()'
-+ *
-+ * This function returns %0 on success and a negative error code on failure.
-+ */
-+int ubifs_write_sb_node(struct ubifs_info *c, struct ubifs_sb_node *sup)
-+{
-+ int len = ALIGN(UBIFS_SB_NODE_SZ, c->min_io_size);
-+
-+ ubifs_prepare_node(c, sup, UBIFS_SB_NODE_SZ, 1);
-+ return ubifs_leb_change(c, UBIFS_SB_LNUM, sup, len, UBI_LONGTERM);
-+}
-+
-+/**
-+ * ubifs_read_superblock - read superblock.
-+ * @c: UBIFS file-system description object
-+ *
-+ * This function finds, reads and checks the superblock. If an empty UBI volume
-+ * is being mounted, this function creates default superblock. Returns zero in
-+ * case of success, and a negative error code in case of failure.
-+ */
-+int ubifs_read_superblock(struct ubifs_info *c)
-+{
-+ int err, sup_flags;
-+ struct ubifs_sb_node *sup;
-+
-+ if (c->empty) {
-+ err = create_default_filesystem(c);
-+ if (err)
-+ return err;
-+ }
-+
-+ sup = ubifs_read_sb_node(c);
-+ if (IS_ERR(sup))
-+ return PTR_ERR(sup);
-+
-+ /*
-+ * The software supports all previous versions but not future versions,
-+ * due to the unavailability of time-travelling equipment.
-+ */
-+ c->fmt_version = le32_to_cpu(sup->fmt_version);
-+ if (c->fmt_version > UBIFS_FORMAT_VERSION) {
-+ ubifs_err("on-flash format version is %d, but software only "
-+ "supports up to version %d", c->fmt_version,
-+ UBIFS_FORMAT_VERSION);
-+ err = -EINVAL;
-+ goto out;
-+ }
-+
-+ if (c->fmt_version < 3) {
-+ ubifs_err("on-flash format version %d is not supported",
-+ c->fmt_version);
-+ err = -EINVAL;
-+ goto out;
-+ }
-+
-+ switch (sup->key_hash) {
-+ case UBIFS_KEY_HASH_R5:
-+ c->key_hash = key_r5_hash;
-+ c->key_hash_type = UBIFS_KEY_HASH_R5;
-+ break;
-+
-+ case UBIFS_KEY_HASH_TEST:
-+ c->key_hash = key_test_hash;
-+ c->key_hash_type = UBIFS_KEY_HASH_TEST;
-+ break;
-+ };
-+
-+ c->key_fmt = sup->key_fmt;
-+
-+ switch (c->key_fmt) {
-+ case UBIFS_SIMPLE_KEY_FMT:
-+ c->key_len = UBIFS_SK_LEN;
-+ break;
-+ default:
-+ ubifs_err("unsupported key format");
-+ err = -EINVAL;
-+ goto out;
-+ }
-+
-+ c->leb_cnt = le32_to_cpu(sup->leb_cnt);
-+ c->max_leb_cnt = le32_to_cpu(sup->max_leb_cnt);
-+ c->max_bud_bytes = le64_to_cpu(sup->max_bud_bytes);
-+ c->log_lebs = le32_to_cpu(sup->log_lebs);
-+ c->lpt_lebs = le32_to_cpu(sup->lpt_lebs);
-+ c->orph_lebs = le32_to_cpu(sup->orph_lebs);
-+ c->jhead_cnt = le32_to_cpu(sup->jhead_cnt) + NONDATA_JHEADS_CNT;
-+ c->fanout = le32_to_cpu(sup->fanout);
-+ c->lsave_cnt = le32_to_cpu(sup->lsave_cnt);
-+ c->rp_size = le64_to_cpu(sup->rp_size);
-+ c->rp_uid = le32_to_cpu(sup->rp_uid);
-+ c->rp_gid = le32_to_cpu(sup->rp_gid);
-+ sup_flags = le32_to_cpu(sup->flags);
-+ if (!c->mount_opts.override_compr)
-+ c->default_compr = le16_to_cpu(sup->default_compr);
-+
-+ c->vfs_sb->s_time_gran = le32_to_cpu(sup->time_gran);
-+ memcpy(&c->uuid, &sup->uuid, 16);
-+ c->big_lpt = !!(sup_flags & UBIFS_FLG_BIGLPT);
-+
-+ /* Automatically increase file system size to the maximum size */
-+ c->old_leb_cnt = c->leb_cnt;
-+ if (c->leb_cnt < c->vi.size && c->leb_cnt < c->max_leb_cnt) {
-+ c->leb_cnt = min_t(int, c->max_leb_cnt, c->vi.size);
-+ if (c->vfs_sb->s_flags & MS_RDONLY)
-+ dbg_mnt("Auto resizing (ro) from %d LEBs to %d LEBs",
-+ c->old_leb_cnt, c->leb_cnt);
-+ else {
-+ dbg_mnt("Auto resizing (sb) from %d LEBs to %d LEBs",
-+ c->old_leb_cnt, c->leb_cnt);
-+ sup->leb_cnt = cpu_to_le32(c->leb_cnt);
-+ err = ubifs_write_sb_node(c, sup);
-+ if (err)
-+ goto out;
-+ c->old_leb_cnt = c->leb_cnt;
-+ }
-+ }
-+
-+ c->log_bytes = (long long)c->log_lebs * c->leb_size;
-+ c->log_last = UBIFS_LOG_LNUM + c->log_lebs - 1;
-+ c->lpt_first = UBIFS_LOG_LNUM + c->log_lebs;
-+ c->lpt_last = c->lpt_first + c->lpt_lebs - 1;
-+ c->orph_first = c->lpt_last + 1;
-+ c->orph_last = c->orph_first + c->orph_lebs - 1;
-+ c->main_lebs = c->leb_cnt - UBIFS_SB_LEBS - UBIFS_MST_LEBS;
-+ c->main_lebs -= c->log_lebs + c->lpt_lebs + c->orph_lebs;
-+ c->main_first = c->leb_cnt - c->main_lebs;
-+ c->report_rp_size = ubifs_reported_space(c, c->rp_size);
-+
-+ err = validate_sb(c, sup);
-+out:
-+ kfree(sup);
-+ return err;
-+}
-diff -Nurd linux-2.6.24.orig/fs/ubifs/scan.c linux-2.6.24/fs/ubifs/scan.c
---- linux-2.6.24.orig/fs/ubifs/scan.c 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.24/fs/ubifs/scan.c 2009-04-17 09:49:28.000000000 +0200
-@@ -0,0 +1,362 @@
-+/*
-+ * This file is part of UBIFS.
-+ *
-+ * Copyright (C) 2006-2008 Nokia Corporation
-+ *
-+ * This program is free software; you can redistribute it and/or modify it
-+ * under the terms of the GNU General Public License version 2 as published by
-+ * the Free Software Foundation.
-+ *
-+ * 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, write to the Free Software Foundation, Inc., 51
-+ * Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
-+ *
-+ * Authors: Adrian Hunter
-+ * Artem Bityutskiy (Битюцкий Ðртём)
-+ */
-+
-+/*
-+ * This file implements the scan which is a general-purpose function for
-+ * determining what nodes are in an eraseblock. The scan is used to replay the
-+ * journal, to do garbage collection. for the TNC in-the-gaps method, and by
-+ * debugging functions.
-+ */
-+
-+#include "ubifs.h"
-+
-+/**
-+ * scan_padding_bytes - scan for padding bytes.
-+ * @buf: buffer to scan
-+ * @len: length of buffer
-+ *
-+ * This function returns the number of padding bytes on success and
-+ * %SCANNED_GARBAGE on failure.
-+ */
-+static int scan_padding_bytes(void *buf, int len)
-+{
-+ int pad_len = 0, max_pad_len = min_t(int, UBIFS_PAD_NODE_SZ, len);
-+ uint8_t *p = buf;
-+
-+ dbg_scan("not a node");
-+
-+ while (pad_len < max_pad_len && *p++ == UBIFS_PADDING_BYTE)
-+ pad_len += 1;
-+
-+ if (!pad_len || (pad_len & 7))
-+ return SCANNED_GARBAGE;
-+
-+ dbg_scan("%d padding bytes", pad_len);
-+
-+ return pad_len;
-+}
-+
-+/**
-+ * ubifs_scan_a_node - scan for a node or padding.
-+ * @c: UBIFS file-system description object
-+ * @buf: buffer to scan
-+ * @len: length of buffer
-+ * @lnum: logical eraseblock number
-+ * @offs: offset within the logical eraseblock
-+ * @quiet: print no messages
-+ *
-+ * This function returns a scanning code to indicate what was scanned.
-+ */
-+int ubifs_scan_a_node(const struct ubifs_info *c, void *buf, int len, int lnum,
-+ int offs, int quiet)
-+{
-+ struct ubifs_ch *ch = buf;
-+ uint32_t magic;
-+
-+ magic = le32_to_cpu(ch->magic);
-+
-+ if (magic == 0xFFFFFFFF) {
-+ dbg_scan("hit empty space");
-+ return SCANNED_EMPTY_SPACE;
-+ }
-+
-+ if (magic != UBIFS_NODE_MAGIC)
-+ return scan_padding_bytes(buf, len);
-+
-+ if (len < UBIFS_CH_SZ)
-+ return SCANNED_GARBAGE;
-+
-+ dbg_scan("scanning %s", dbg_ntype(ch->node_type));
-+
-+ if (ubifs_check_node(c, buf, lnum, offs, quiet, 1))
-+ return SCANNED_A_CORRUPT_NODE;
-+
-+ if (ch->node_type == UBIFS_PAD_NODE) {
-+ struct ubifs_pad_node *pad = buf;
-+ int pad_len = le32_to_cpu(pad->pad_len);
-+ int node_len = le32_to_cpu(ch->len);
-+
-+ /* Validate the padding node */
-+ if (pad_len < 0 ||
-+ offs + node_len + pad_len > c->leb_size) {
-+ if (!quiet) {
-+ ubifs_err("bad pad node at LEB %d:%d",
-+ lnum, offs);
-+ dbg_dump_node(c, pad);
-+ }
-+ return SCANNED_A_BAD_PAD_NODE;
-+ }
-+
-+ /* Make the node pads to 8-byte boundary */
-+ if ((node_len + pad_len) & 7) {
-+ if (!quiet) {
-+ dbg_err("bad padding length %d - %d",
-+ offs, offs + node_len + pad_len);
-+ }
-+ return SCANNED_A_BAD_PAD_NODE;
-+ }
-+
-+ dbg_scan("%d bytes padded, offset now %d",
-+ pad_len, ALIGN(offs + node_len + pad_len, 8));
-+
-+ return node_len + pad_len;
-+ }
-+
-+ return SCANNED_A_NODE;
-+}
-+
-+/**
-+ * ubifs_start_scan - create LEB scanning information at start of scan.
-+ * @c: UBIFS file-system description object
-+ * @lnum: logical eraseblock number
-+ * @offs: offset to start at (usually zero)
-+ * @sbuf: scan buffer (must be c->leb_size)
-+ *
-+ * This function returns %0 on success and a negative error code on failure.
-+ */
-+struct ubifs_scan_leb *ubifs_start_scan(const struct ubifs_info *c, int lnum,
-+ int offs, void *sbuf)
-+{
-+ struct ubifs_scan_leb *sleb;
-+ int err;
-+
-+ dbg_scan("scan LEB %d:%d", lnum, offs);
-+
-+ sleb = kzalloc(sizeof(struct ubifs_scan_leb), GFP_NOFS);
-+ if (!sleb)
-+ return ERR_PTR(-ENOMEM);
-+
-+ sleb->lnum = lnum;
-+ INIT_LIST_HEAD(&sleb->nodes);
-+ sleb->buf = sbuf;
-+
-+ err = ubi_read(c->ubi, lnum, sbuf + offs, offs, c->leb_size - offs);
-+ if (err && err != -EBADMSG) {
-+ ubifs_err("cannot read %d bytes from LEB %d:%d,"
-+ " error %d", c->leb_size - offs, lnum, offs, err);
-+ kfree(sleb);
-+ return ERR_PTR(err);
-+ }
-+
-+ if (err == -EBADMSG)
-+ sleb->ecc = 1;
-+
-+ return sleb;
-+}
-+
-+/**
-+ * ubifs_end_scan - update LEB scanning information at end of scan.
-+ * @c: UBIFS file-system description object
-+ * @sleb: scanning information
-+ * @lnum: logical eraseblock number
-+ * @offs: offset to start at (usually zero)
-+ *
-+ * This function returns %0 on success and a negative error code on failure.
-+ */
-+void ubifs_end_scan(const struct ubifs_info *c, struct ubifs_scan_leb *sleb,
-+ int lnum, int offs)
-+{
-+ lnum = lnum;
-+ dbg_scan("stop scanning LEB %d at offset %d", lnum, offs);
-+ ubifs_assert(offs % c->min_io_size == 0);
-+
-+ sleb->endpt = ALIGN(offs, c->min_io_size);
-+}
-+
-+/**
-+ * ubifs_add_snod - add a scanned node to LEB scanning information.
-+ * @c: UBIFS file-system description object
-+ * @sleb: scanning information
-+ * @buf: buffer containing node
-+ * @offs: offset of node on flash
-+ *
-+ * This function returns %0 on success and a negative error code on failure.
-+ */
-+int ubifs_add_snod(const struct ubifs_info *c, struct ubifs_scan_leb *sleb,
-+ void *buf, int offs)
-+{
-+ struct ubifs_ch *ch = buf;
-+ struct ubifs_ino_node *ino = buf;
-+ struct ubifs_scan_node *snod;
-+
-+ snod = kzalloc(sizeof(struct ubifs_scan_node), GFP_NOFS);
-+ if (!snod)
-+ return -ENOMEM;
-+
-+ snod->sqnum = le64_to_cpu(ch->sqnum);
-+ snod->type = ch->node_type;
-+ snod->offs = offs;
-+ snod->len = le32_to_cpu(ch->len);
-+ snod->node = buf;
-+
-+ switch (ch->node_type) {
-+ case UBIFS_INO_NODE:
-+ case UBIFS_DENT_NODE:
-+ case UBIFS_XENT_NODE:
-+ case UBIFS_DATA_NODE:
-+ case UBIFS_TRUN_NODE:
-+ /*
-+ * The key is in the same place in all keyed
-+ * nodes.
-+ */
-+ key_read(c, &ino->key, &snod->key);
-+ break;
-+ }
-+ list_add_tail(&snod->list, &sleb->nodes);
-+ sleb->nodes_cnt += 1;
-+ return 0;
-+}
-+
-+/**
-+ * ubifs_scanned_corruption - print information after UBIFS scanned corruption.
-+ * @c: UBIFS file-system description object
-+ * @lnum: LEB number of corruption
-+ * @offs: offset of corruption
-+ * @buf: buffer containing corruption
-+ */
-+void ubifs_scanned_corruption(const struct ubifs_info *c, int lnum, int offs,
-+ void *buf)
-+{
-+ int len;
-+
-+ ubifs_err("corrupted data at LEB %d:%d", lnum, offs);
-+ if (dbg_failure_mode)
-+ return;
-+ len = c->leb_size - offs;
-+ if (len > 4096)
-+ len = 4096;
-+ dbg_err("first %d bytes from LEB %d:%d", len, lnum, offs);
-+ print_hex_dump(KERN_DEBUG, "", DUMP_PREFIX_OFFSET, 32, 4, buf, len, 1);
-+}
-+
-+/**
-+ * ubifs_scan - scan a logical eraseblock.
-+ * @c: UBIFS file-system description object
-+ * @lnum: logical eraseblock number
-+ * @offs: offset to start at (usually zero)
-+ * @sbuf: scan buffer (must be c->leb_size)
-+ *
-+ * This function scans LEB number @lnum and returns complete information about
-+ * its contents. Returns an error code in case of failure.
-+ */
-+struct ubifs_scan_leb *ubifs_scan(const struct ubifs_info *c, int lnum,
-+ int offs, void *sbuf)
-+{
-+ void *buf = sbuf + offs;
-+ int err, len = c->leb_size - offs;
-+ struct ubifs_scan_leb *sleb;
-+
-+ sleb = ubifs_start_scan(c, lnum, offs, sbuf);
-+ if (IS_ERR(sleb))
-+ return sleb;
-+
-+ while (len >= 8) {
-+ struct ubifs_ch *ch = buf;
-+ int node_len, ret;
-+
-+ dbg_scan("look at LEB %d:%d (%d bytes left)",
-+ lnum, offs, len);
-+
-+ cond_resched();
-+
-+ ret = ubifs_scan_a_node(c, buf, len, lnum, offs, 0);
-+
-+ if (ret > 0) {
-+ /* Padding bytes or a valid padding node */
-+ offs += ret;
-+ buf += ret;
-+ len -= ret;
-+ continue;
-+ }
-+
-+ if (ret == SCANNED_EMPTY_SPACE)
-+ /* Empty space is checked later */
-+ break;
-+
-+ switch (ret) {
-+ case SCANNED_GARBAGE:
-+ dbg_err("garbage");
-+ goto corrupted;
-+ case SCANNED_A_NODE:
-+ break;
-+ case SCANNED_A_CORRUPT_NODE:
-+ case SCANNED_A_BAD_PAD_NODE:
-+ dbg_err("bad node");
-+ goto corrupted;
-+ default:
-+ dbg_err("unknown");
-+ goto corrupted;
-+ }
-+
-+ err = ubifs_add_snod(c, sleb, buf, offs);
-+ if (err)
-+ goto error;
-+
-+ node_len = ALIGN(le32_to_cpu(ch->len), 8);
-+ offs += node_len;
-+ buf += node_len;
-+ len -= node_len;
-+ }
-+
-+ if (offs % c->min_io_size)
-+ goto corrupted;
-+
-+ ubifs_end_scan(c, sleb, lnum, offs);
-+
-+ for (; len > 4; offs += 4, buf = buf + 4, len -= 4)
-+ if (*(uint32_t *)buf != 0xffffffff)
-+ break;
-+ for (; len; offs++, buf++, len--)
-+ if (*(uint8_t *)buf != 0xff) {
-+ ubifs_err("corrupt empty space at LEB %d:%d",
-+ lnum, offs);
-+ goto corrupted;
-+ }
-+
-+ return sleb;
-+
-+corrupted:
-+ ubifs_scanned_corruption(c, lnum, offs, buf);
-+ err = -EUCLEAN;
-+error:
-+ ubifs_err("LEB %d scanning failed", lnum);
-+ ubifs_scan_destroy(sleb);
-+ return ERR_PTR(err);
-+}
-+
-+/**
-+ * ubifs_scan_destroy - destroy LEB scanning information.
-+ * @sleb: scanning information to free
-+ */
-+void ubifs_scan_destroy(struct ubifs_scan_leb *sleb)
-+{
-+ struct ubifs_scan_node *node;
-+ struct list_head *head;
-+
-+ head = &sleb->nodes;
-+ while (!list_empty(head)) {
-+ node = list_entry(head->next, struct ubifs_scan_node, list);
-+ list_del(&node->list);
-+ kfree(node);
-+ }
-+ kfree(sleb);
-+}
-diff -Nurd linux-2.6.24.orig/fs/ubifs/shrinker.c linux-2.6.24/fs/ubifs/shrinker.c
---- linux-2.6.24.orig/fs/ubifs/shrinker.c 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.24/fs/ubifs/shrinker.c 2009-04-17 09:49:28.000000000 +0200
-@@ -0,0 +1,322 @@
-+/*
-+ * This file is part of UBIFS.
-+ *
-+ * Copyright (C) 2006-2008 Nokia Corporation.
-+ *
-+ * This program is free software; you can redistribute it and/or modify it
-+ * under the terms of the GNU General Public License version 2 as published by
-+ * the Free Software Foundation.
-+ *
-+ * 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, write to the Free Software Foundation, Inc., 51
-+ * Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
-+ *
-+ * Authors: Artem Bityutskiy (Битюцкий Ðртём)
-+ * Adrian Hunter
-+ */
-+
-+/*
-+ * This file implements UBIFS shrinker which evicts clean znodes from the TNC
-+ * tree when Linux VM needs more RAM.
-+ *
-+ * We do not implement any LRU lists to find oldest znodes to free because it
-+ * would add additional overhead to the file system fast paths. So the shrinker
-+ * just walks the TNC tree when searching for znodes to free.
-+ *
-+ * If the root of a TNC sub-tree is clean and old enough, then the children are
-+ * also clean and old enough. So the shrinker walks the TNC in level order and
-+ * dumps entire sub-trees.
-+ *
-+ * The age of znodes is just the time-stamp when they were last looked at.
-+ * The current shrinker first tries to evict old znodes, then young ones.
-+ *
-+ * Since the shrinker is global, it has to protect against races with FS
-+ * un-mounts, which is done by the 'ubifs_infos_lock' and 'c->umount_mutex'.
-+ */
-+
-+#include "ubifs.h"
-+
-+/* List of all UBIFS file-system instances */
-+LIST_HEAD(ubifs_infos);
-+
-+/*
-+ * We number each shrinker run and record the number on the ubifs_info structure
-+ * so that we can easily work out which ubifs_info structures have already been
-+ * done by the current run.
-+ */
-+static unsigned int shrinker_run_no;
-+
-+/* Protects 'ubifs_infos' list */
-+DEFINE_SPINLOCK(ubifs_infos_lock);
-+
-+/* Global clean znode counter (for all mounted UBIFS instances) */
-+atomic_long_t ubifs_clean_zn_cnt;
-+
-+/**
-+ * shrink_tnc - shrink TNC tree.
-+ * @c: UBIFS file-system description object
-+ * @nr: number of znodes to free
-+ * @age: the age of znodes to free
-+ * @contention: if any contention, this is set to %1
-+ *
-+ * This function traverses TNC tree and frees clean znodes. It does not free
-+ * clean znodes which younger then @age. Returns number of freed znodes.
-+ */
-+static int shrink_tnc(struct ubifs_info *c, int nr, int age, int *contention)
-+{
-+ int total_freed = 0;
-+ struct ubifs_znode *znode, *zprev;
-+ int time = get_seconds();
-+
-+ ubifs_assert(mutex_is_locked(&c->umount_mutex));
-+ ubifs_assert(mutex_is_locked(&c->tnc_mutex));
-+
-+ if (!c->zroot.znode || atomic_long_read(&c->clean_zn_cnt) == 0)
-+ return 0;
-+
-+ /*
-+ * Traverse the TNC tree in levelorder manner, so that it is possible
-+ * to destroy large sub-trees. Indeed, if a znode is old, then all its
-+ * children are older or of the same age.
-+ *
-+ * Note, we are holding 'c->tnc_mutex', so we do not have to lock the
-+ * 'c->space_lock' when _reading_ 'c->clean_zn_cnt', because it is
-+ * changed only when the 'c->tnc_mutex' is held.
-+ */
-+ zprev = NULL;
-+ znode = ubifs_tnc_levelorder_next(c->zroot.znode, NULL);
-+ while (znode && total_freed < nr &&
-+ atomic_long_read(&c->clean_zn_cnt) > 0) {
-+ int freed;
-+
-+ /*
-+ * If the znode is clean, but it is in the 'c->cnext' list, this
-+ * means that this znode has just been written to flash as a
-+ * part of commit and was marked clean. They will be removed
-+ * from the list at end commit. We cannot change the list,
-+ * because it is not protected by any mutex (design decision to
-+ * make commit really independent and parallel to main I/O). So
-+ * we just skip these znodes.
-+ *
-+ * Note, the 'clean_zn_cnt' counters are not updated until
-+ * after the commit, so the UBIFS shrinker does not report
-+ * the znodes which are in the 'c->cnext' list as freeable.
-+ *
-+ * Also note, if the root of a sub-tree is not in 'c->cnext',
-+ * then the whole sub-tree is not in 'c->cnext' as well, so it
-+ * is safe to dump whole sub-tree.
-+ */
-+
-+ if (znode->cnext) {
-+ /*
-+ * Very soon these znodes will be removed from the list
-+ * and become freeable.
-+ */
-+ *contention = 1;
-+ } else if (!ubifs_zn_dirty(znode) &&
-+ abs(time - znode->time) >= age) {
-+ if (znode->parent)
-+ znode->parent->zbranch[znode->iip].znode = NULL;
-+ else
-+ c->zroot.znode = NULL;
-+
-+ freed = ubifs_destroy_tnc_subtree(znode);
-+ atomic_long_sub(freed, &ubifs_clean_zn_cnt);
-+ atomic_long_sub(freed, &c->clean_zn_cnt);
-+ ubifs_assert(atomic_long_read(&c->clean_zn_cnt) >= 0);
-+ total_freed += freed;
-+ znode = zprev;
-+ }
-+
-+ if (unlikely(!c->zroot.znode))
-+ break;
-+
-+ zprev = znode;
-+ znode = ubifs_tnc_levelorder_next(c->zroot.znode, znode);
-+ cond_resched();
-+ }
-+
-+ return total_freed;
-+}
-+
-+/**
-+ * shrink_tnc_trees - shrink UBIFS TNC trees.
-+ * @nr: number of znodes to free
-+ * @age: the age of znodes to free
-+ * @contention: if any contention, this is set to %1
-+ *
-+ * This function walks the list of mounted UBIFS file-systems and frees clean
-+ * znodes which are older then @age, until at least @nr znodes are freed.
-+ * Returns the number of freed znodes.
-+ */
-+static int shrink_tnc_trees(int nr, int age, int *contention)
-+{
-+ struct ubifs_info *c;
-+ struct list_head *p;
-+ unsigned int run_no;
-+ int freed = 0;
-+
-+ spin_lock(&ubifs_infos_lock);
-+ do {
-+ run_no = ++shrinker_run_no;
-+ } while (run_no == 0);
-+ /* Iterate over all mounted UBIFS file-systems and try to shrink them */
-+ p = ubifs_infos.next;
-+ while (p != &ubifs_infos) {
-+ c = list_entry(p, struct ubifs_info, infos_list);
-+ /*
-+ * We move the ones we do to the end of the list, so we stop
-+ * when we see one we have already done.
-+ */
-+ if (c->shrinker_run_no == run_no)
-+ break;
-+ if (!mutex_trylock(&c->umount_mutex)) {
-+ /* Some un-mount is in progress, try next FS */
-+ *contention = 1;
-+ p = p->next;
-+ continue;
-+ }
-+ /*
-+ * We're holding 'c->umount_mutex', so the file-system won't go
-+ * away.
-+ */
-+ if (!mutex_trylock(&c->tnc_mutex)) {
-+ mutex_unlock(&c->umount_mutex);
-+ *contention = 1;
-+ p = p->next;
-+ continue;
-+ }
-+ spin_unlock(&ubifs_infos_lock);
-+ /*
-+ * OK, now we have TNC locked, the file-system cannot go away -
-+ * it is safe to reap the cache.
-+ */
-+ c->shrinker_run_no = run_no;
-+ freed += shrink_tnc(c, nr, age, contention);
-+ mutex_unlock(&c->tnc_mutex);
-+ spin_lock(&ubifs_infos_lock);
-+ /* Get the next list element before we move this one */
-+ p = p->next;
-+ /*
-+ * Move this one to the end of the list to provide some
-+ * fairness.
-+ */
-+ list_del(&c->infos_list);
-+ list_add_tail(&c->infos_list, &ubifs_infos);
-+ mutex_unlock(&c->umount_mutex);
-+ if (freed >= nr)
-+ break;
-+ }
-+ spin_unlock(&ubifs_infos_lock);
-+ return freed;
-+}
-+
-+/**
-+ * kick_a_thread - kick a background thread to start commit.
-+ *
-+ * This function kicks a background thread to start background commit. Returns
-+ * %-1 if a thread was kicked or there is another reason to assume the memory
-+ * will soon be freed or become freeable. If there are no dirty znodes, returns
-+ * %0.
-+ */
-+static int kick_a_thread(void)
-+{
-+ int i;
-+ struct ubifs_info *c;
-+
-+ /*
-+ * Iterate over all mounted UBIFS file-systems and find out if there is
-+ * already an ongoing commit operation there. If no, then iterate for
-+ * the second time and initiate background commit.
-+ */
-+ spin_lock(&ubifs_infos_lock);
-+ for (i = 0; i < 2; i++) {
-+ list_for_each_entry(c, &ubifs_infos, infos_list) {
-+ long dirty_zn_cnt;
-+
-+ if (!mutex_trylock(&c->umount_mutex)) {
-+ /*
-+ * Some un-mount is in progress, it will
-+ * certainly free memory, so just return.
-+ */
-+ spin_unlock(&ubifs_infos_lock);
-+ return -1;
-+ }
-+
-+ dirty_zn_cnt = atomic_long_read(&c->dirty_zn_cnt);
-+
-+ if (!dirty_zn_cnt || c->cmt_state == COMMIT_BROKEN ||
-+ c->ro_media) {
-+ mutex_unlock(&c->umount_mutex);
-+ continue;
-+ }
-+
-+ if (c->cmt_state != COMMIT_RESTING) {
-+ spin_unlock(&ubifs_infos_lock);
-+ mutex_unlock(&c->umount_mutex);
-+ return -1;
-+ }
-+
-+ if (i == 1) {
-+ list_del(&c->infos_list);
-+ list_add_tail(&c->infos_list, &ubifs_infos);
-+ spin_unlock(&ubifs_infos_lock);
-+
-+ ubifs_request_bg_commit(c);
-+ mutex_unlock(&c->umount_mutex);
-+ return -1;
-+ }
-+ mutex_unlock(&c->umount_mutex);
-+ }
-+ }
-+ spin_unlock(&ubifs_infos_lock);
-+
-+ return 0;
-+}
-+
-+int ubifs_shrinker(int nr, gfp_t gfp_mask)
-+{
-+ int freed, contention = 0;
-+ long clean_zn_cnt = atomic_long_read(&ubifs_clean_zn_cnt);
-+
-+ if (nr == 0)
-+ return clean_zn_cnt;
-+
-+ if (!clean_zn_cnt) {
-+ /*
-+ * No clean znodes, nothing to reap. All we can do in this case
-+ * is to kick background threads to start commit, which will
-+ * probably make clean znodes which, in turn, will be freeable.
-+ * And we return -1 which means will make VM call us again
-+ * later.
-+ */
-+ dbg_tnc("no clean znodes, kick a thread");
-+ return kick_a_thread();
-+ }
-+
-+ freed = shrink_tnc_trees(nr, OLD_ZNODE_AGE, &contention);
-+ if (freed >= nr)
-+ goto out;
-+
-+ dbg_tnc("not enough old znodes, try to free young ones");
-+ freed += shrink_tnc_trees(nr - freed, YOUNG_ZNODE_AGE, &contention);
-+ if (freed >= nr)
-+ goto out;
-+
-+ dbg_tnc("not enough young znodes, free all");
-+ freed += shrink_tnc_trees(nr - freed, 0, &contention);
-+
-+ if (!freed && contention) {
-+ dbg_tnc("freed nothing, but contention");
-+ return -1;
-+ }
-+
-+out:
-+ dbg_tnc("%d znodes were freed, requested %d", freed, nr);
-+ return freed;
-+}
-diff -Nurd linux-2.6.24.orig/fs/ubifs/super.c linux-2.6.24/fs/ubifs/super.c
---- linux-2.6.24.orig/fs/ubifs/super.c 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.24/fs/ubifs/super.c 2009-04-17 09:49:28.000000000 +0200
-@@ -0,0 +1,2192 @@
-+/*
-+ * This file is part of UBIFS.
-+ *
-+ * Copyright (C) 2006-2008 Nokia Corporation.
-+ *
-+ * This program is free software; you can redistribute it and/or modify it
-+ * under the terms of the GNU General Public License version 2 as published by
-+ * the Free Software Foundation.
-+ *
-+ * 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, write to the Free Software Foundation, Inc., 51
-+ * Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
-+ *
-+ * Authors: Artem Bityutskiy (Битюцкий Ðртём)
-+ * Adrian Hunter
-+ */
-+
-+/*
-+ * This file implements UBIFS initialization and VFS superblock operations. Some
-+ * initialization stuff which is rather large and complex is placed at
-+ * corresponding subsystems, but most of it is here.
-+ */
-+
-+#include <linux/init.h>
-+#include <linux/slab.h>
-+#include <linux/module.h>
-+#include <linux/ctype.h>
-+#include <linux/kthread.h>
-+#include <linux/parser.h>
-+#include <linux/seq_file.h>
-+#include <linux/mount.h>
-+#include <linux/writeback.h>
-+#include "ubifs.h"
-+
-+/*
-+ * Maximum amount of memory we may 'kmalloc()' without worrying that we are
-+ * allocating too much.
-+ */
-+#define UBIFS_KMALLOC_OK (128*1024)
-+
-+/* Slab cache for UBIFS inodes */
-+struct kmem_cache *ubifs_inode_slab;
-+
-+#ifndef UBIFS_COMPAT_NO_SHRINKER
-+/* UBIFS TNC shrinker description */
-+static struct shrinker ubifs_shrinker_info = {
-+ .shrink = ubifs_shrinker,
-+ .seeks = DEFAULT_SEEKS,
-+};
-+#endif
-+
-+/**
-+ * validate_inode - validate inode.
-+ * @c: UBIFS file-system description object
-+ * @inode: the inode to validate
-+ *
-+ * This is a helper function for 'ubifs_iget()' which validates various fields
-+ * of a newly built inode to make sure they contain sane values and prevent
-+ * possible vulnerabilities. Returns zero if the inode is all right and
-+ * a non-zero error code if not.
-+ */
-+static int validate_inode(struct ubifs_info *c, const struct inode *inode)
-+{
-+ int err;
-+ const struct ubifs_inode *ui = ubifs_inode(inode);
-+
-+ if (inode->i_size > c->max_inode_sz) {
-+ ubifs_err("inode is too large (%lld)",
-+ (long long)inode->i_size);
-+ return 1;
-+ }
-+
-+ if (ui->compr_type < 0 || ui->compr_type >= UBIFS_COMPR_TYPES_CNT) {
-+ ubifs_err("unknown compression type %d", ui->compr_type);
-+ return 2;
-+ }
-+
-+ if (ui->xattr_names + ui->xattr_cnt > XATTR_LIST_MAX)
-+ return 3;
-+
-+ if (ui->data_len < 0 || ui->data_len > UBIFS_MAX_INO_DATA)
-+ return 4;
-+
-+ if (ui->xattr && (inode->i_mode & S_IFMT) != S_IFREG)
-+ return 5;
-+
-+ if (!ubifs_compr_present(ui->compr_type)) {
-+ ubifs_warn("inode %lu uses '%s' compression, but it was not "
-+ "compiled in", inode->i_ino,
-+ ubifs_compr_name(ui->compr_type));
-+ }
-+
-+ err = dbg_check_dir_size(c, inode);
-+ return err;
-+}
-+
-+struct inode *ubifs_iget(struct super_block *sb, unsigned long inum)
-+{
-+ struct inode *inode;
-+
-+ inode = iget(sb, inum);
-+ if (!inode) {
-+ make_bad_inode(inode);
-+ return ERR_PTR(-EINVAL);
-+ }
-+
-+ return inode;
-+}
-+
-+void ubifs_read_inode(struct inode *inode)
-+{
-+ int err;
-+ union ubifs_key key;
-+ struct ubifs_ino_node *ino;
-+ struct ubifs_info *c = inode->i_sb->s_fs_info;
-+ struct ubifs_inode *ui = ubifs_inode(inode);
-+
-+ dbg_gen("inode %lu", inode->i_ino);
-+ ubifs_assert(inode->i_state & I_LOCK);
-+
-+ ino = kmalloc(UBIFS_MAX_INO_NODE_SZ, GFP_NOFS);
-+ if (!ino) {
-+ err = -ENOMEM;
-+ goto out;
-+ }
-+
-+ ino_key_init(c, &key, inode->i_ino);
-+
-+ err = ubifs_tnc_lookup(c, &key, ino);
-+ if (err)
-+ goto out_ino;
-+
-+ inode->i_flags |= (S_NOCMTIME | S_NOATIME);
-+ inode->i_nlink = le32_to_cpu(ino->nlink);
-+ inode->i_uid = le32_to_cpu(ino->uid);
-+ inode->i_gid = le32_to_cpu(ino->gid);
-+ inode->i_atime.tv_sec = (int64_t)le64_to_cpu(ino->atime_sec);
-+ inode->i_atime.tv_nsec = le32_to_cpu(ino->atime_nsec);
-+ inode->i_mtime.tv_sec = (int64_t)le64_to_cpu(ino->mtime_sec);
-+ inode->i_mtime.tv_nsec = le32_to_cpu(ino->mtime_nsec);
-+ inode->i_ctime.tv_sec = (int64_t)le64_to_cpu(ino->ctime_sec);
-+ inode->i_ctime.tv_nsec = le32_to_cpu(ino->ctime_nsec);
-+ inode->i_mode = le32_to_cpu(ino->mode);
-+ inode->i_size = le64_to_cpu(ino->size);
-+
-+ ui->data_len = le32_to_cpu(ino->data_len);
-+ ui->flags = le32_to_cpu(ino->flags);
-+ ui->compr_type = le16_to_cpu(ino->compr_type);
-+ ui->creat_sqnum = le64_to_cpu(ino->creat_sqnum);
-+ ui->xattr_cnt = le32_to_cpu(ino->xattr_cnt);
-+ ui->xattr_size = le32_to_cpu(ino->xattr_size);
-+ ui->xattr_names = le32_to_cpu(ino->xattr_names);
-+ ui->synced_i_size = ui->ui_size = inode->i_size;
-+
-+ ui->xattr = (ui->flags & UBIFS_XATTR_FL) ? 1 : 0;
-+
-+ err = validate_inode(c, inode);
-+ if (err)
-+ goto out_invalid;
-+
-+ /* Disable read-ahead */
-+ inode->i_mapping->backing_dev_info = &c->bdi;
-+
-+ switch (inode->i_mode & S_IFMT) {
-+ case S_IFREG:
-+ inode->i_mapping->a_ops = &ubifs_file_address_operations;
-+ inode->i_op = &ubifs_file_inode_operations;
-+ inode->i_fop = &ubifs_file_operations;
-+ if (ui->xattr) {
-+ ui->data = kmalloc(ui->data_len + 1, GFP_NOFS);
-+ if (!ui->data) {
-+ err = -ENOMEM;
-+ goto out_ino;
-+ }
-+ memcpy(ui->data, ino->data, ui->data_len);
-+ ((char *)ui->data)[ui->data_len] = '\0';
-+ } else if (ui->data_len != 0) {
-+ err = 10;
-+ goto out_invalid;
-+ }
-+ break;
-+ case S_IFDIR:
-+ inode->i_op = &ubifs_dir_inode_operations;
-+ inode->i_fop = &ubifs_dir_operations;
-+ if (ui->data_len != 0) {
-+ err = 11;
-+ goto out_invalid;
-+ }
-+ break;
-+ case S_IFLNK:
-+ inode->i_op = &ubifs_symlink_inode_operations;
-+ if (ui->data_len <= 0 || ui->data_len > UBIFS_MAX_INO_DATA) {
-+ err = 12;
-+ goto out_invalid;
-+ }
-+ ui->data = kmalloc(ui->data_len + 1, GFP_NOFS);
-+ if (!ui->data) {
-+ err = -ENOMEM;
-+ goto out_ino;
-+ }
-+ memcpy(ui->data, ino->data, ui->data_len);
-+ ((char *)ui->data)[ui->data_len] = '\0';
-+ break;
-+ case S_IFBLK:
-+ case S_IFCHR:
-+ {
-+ dev_t rdev;
-+ union ubifs_dev_desc *dev;
-+
-+ ui->data = kmalloc(sizeof(union ubifs_dev_desc), GFP_NOFS);
-+ if (!ui->data) {
-+ err = -ENOMEM;
-+ goto out_ino;
-+ }
-+
-+ dev = (union ubifs_dev_desc *)ino->data;
-+ if (ui->data_len == sizeof(dev->new))
-+ rdev = new_decode_dev(le32_to_cpu(dev->new));
-+ else if (ui->data_len == sizeof(dev->huge))
-+ rdev = huge_decode_dev(le64_to_cpu(dev->huge));
-+ else {
-+ err = 13;
-+ goto out_invalid;
-+ }
-+ memcpy(ui->data, ino->data, ui->data_len);
-+ inode->i_op = &ubifs_file_inode_operations;
-+ init_special_inode(inode, inode->i_mode, rdev);
-+ break;
-+ }
-+ case S_IFSOCK:
-+ case S_IFIFO:
-+ inode->i_op = &ubifs_file_inode_operations;
-+ init_special_inode(inode, inode->i_mode, 0);
-+ if (ui->data_len != 0) {
-+ err = 14;
-+ goto out_invalid;
-+ }
-+ break;
-+ default:
-+ err = 15;
-+ goto out_invalid;
-+ }
-+
-+ ubifs_set_inode_flags(inode);
-+ kfree(ino);
-+ return;
-+
-+out_invalid:
-+ ubifs_err("inode %lu validation failed, error %d", inode->i_ino, err);
-+ dbg_dump_inode(c, inode);
-+ dbg_dump_node(c, ino);
-+ err = -EINVAL;
-+out_ino:
-+ kfree(ino);
-+out:
-+ ubifs_err("failed to read inode %lu, error %d", inode->i_ino, err);
-+ make_bad_inode(inode);
-+ return;
-+}
-+
-+static struct inode *ubifs_alloc_inode(struct super_block *sb)
-+{
-+ struct ubifs_inode *ui;
-+
-+ ui = kmem_cache_alloc(ubifs_inode_slab, GFP_NOFS);
-+ if (!ui)
-+ return NULL;
-+
-+ memset((void *)ui + sizeof(struct inode), 0,
-+ sizeof(struct ubifs_inode) - sizeof(struct inode));
-+ mutex_init(&ui->ui_mutex);
-+ spin_lock_init(&ui->ui_lock);
-+ return &ui->vfs_inode;
-+};
-+
-+static void ubifs_destroy_inode(struct inode *inode)
-+{
-+ struct ubifs_inode *ui = ubifs_inode(inode);
-+
-+ kfree(ui->data);
-+ kmem_cache_free(ubifs_inode_slab, inode);
-+}
-+
-+/*
-+ * Note, Linux write-back code calls this without 'i_mutex'.
-+ */
-+static int ubifs_write_inode(struct inode *inode, int wait)
-+{
-+ int err = 0;
-+ struct ubifs_info *c = inode->i_sb->s_fs_info;
-+ struct ubifs_inode *ui = ubifs_inode(inode);
-+
-+ ubifs_assert(!ui->xattr);
-+ if (is_bad_inode(inode))
-+ return 0;
-+
-+ mutex_lock(&ui->ui_mutex);
-+ /*
-+ * Due to races between write-back forced by budgeting
-+ * (see 'sync_some_inodes()') and pdflush write-back, the inode may
-+ * have already been synchronized, do not do this again. This might
-+ * also happen if it was synchronized in an VFS operation, e.g.
-+ * 'ubifs_link()'.
-+ */
-+ if (!ui->dirty) {
-+ mutex_unlock(&ui->ui_mutex);
-+ return 0;
-+ }
-+
-+ /*
-+ * As an optimization, do not write orphan inodes to the media just
-+ * because this is not needed.
-+ */
-+ dbg_gen("inode %lu, mode %#x, nlink %u",
-+ inode->i_ino, (int)inode->i_mode, inode->i_nlink);
-+ if (inode->i_nlink) {
-+ err = ubifs_jnl_write_inode(c, inode);
-+ if (err)
-+ ubifs_err("can't write inode %lu, error %d",
-+ inode->i_ino, err);
-+ }
-+
-+ ui->dirty = 0;
-+ mutex_unlock(&ui->ui_mutex);
-+ ubifs_release_dirty_inode_budget(c, ui);
-+ return err;
-+}
-+
-+static void ubifs_delete_inode(struct inode *inode)
-+{
-+ int err;
-+ struct ubifs_info *c = inode->i_sb->s_fs_info;
-+ struct ubifs_inode *ui = ubifs_inode(inode);
-+
-+ if (ui->xattr)
-+ /*
-+ * Extended attribute inode deletions are fully handled in
-+ * 'ubifs_removexattr()'. These inodes are special and have
-+ * limited usage, so there is nothing to do here.
-+ */
-+ goto out;
-+
-+ dbg_gen("inode %lu, mode %#x", inode->i_ino, (int)inode->i_mode);
-+ ubifs_assert(!atomic_read(&inode->i_count));
-+ ubifs_assert(inode->i_nlink == 0);
-+
-+ truncate_inode_pages(&inode->i_data, 0);
-+ if (is_bad_inode(inode))
-+ goto out;
-+
-+ ui->ui_size = inode->i_size = 0;
-+ err = ubifs_jnl_delete_inode(c, inode);
-+ if (err)
-+ /*
-+ * Worst case we have a lost orphan inode wasting space, so a
-+ * simple error message is OK here.
-+ */
-+ ubifs_err("can't delete inode %lu, error %d",
-+ inode->i_ino, err);
-+
-+out:
-+ if (ui->dirty)
-+ ubifs_release_dirty_inode_budget(c, ui);
-+ clear_inode(inode);
-+}
-+
-+static void ubifs_dirty_inode(struct inode *inode)
-+{
-+ struct ubifs_inode *ui = ubifs_inode(inode);
-+
-+ ubifs_assert(mutex_is_locked(&ui->ui_mutex));
-+ if (!ui->dirty) {
-+ ui->dirty = 1;
-+ dbg_gen("inode %lu", inode->i_ino);
-+ }
-+}
-+
-+static int ubifs_statfs(struct dentry *dentry, struct kstatfs *buf)
-+{
-+ struct ubifs_info *c = dentry->d_sb->s_fs_info;
-+ unsigned long long free;
-+ __le32 *uuid = (__le32 *)c->uuid;
-+
-+ free = ubifs_get_free_space(c);
-+ dbg_gen("free space %lld bytes (%lld blocks)",
-+ free, free >> UBIFS_BLOCK_SHIFT);
-+
-+ buf->f_type = UBIFS_SUPER_MAGIC;
-+ buf->f_bsize = UBIFS_BLOCK_SIZE;
-+ buf->f_blocks = c->block_cnt;
-+ buf->f_bfree = free >> UBIFS_BLOCK_SHIFT;
-+ if (free > c->report_rp_size)
-+ buf->f_bavail = (free - c->report_rp_size) >> UBIFS_BLOCK_SHIFT;
-+ else
-+ buf->f_bavail = 0;
-+ buf->f_files = 0;
-+ buf->f_ffree = 0;
-+ buf->f_namelen = UBIFS_MAX_NLEN;
-+ buf->f_fsid.val[0] = le32_to_cpu(uuid[0]) ^ le32_to_cpu(uuid[2]);
-+ buf->f_fsid.val[1] = le32_to_cpu(uuid[1]) ^ le32_to_cpu(uuid[3]);
-+ ubifs_assert(buf->f_bfree <= c->block_cnt);
-+ return 0;
-+}
-+
-+static int ubifs_show_options(struct seq_file *s, struct vfsmount *mnt)
-+{
-+ struct ubifs_info *c = mnt->mnt_sb->s_fs_info;
-+
-+ if (c->mount_opts.unmount_mode == 2)
-+ seq_printf(s, ",fast_unmount");
-+ else if (c->mount_opts.unmount_mode == 1)
-+ seq_printf(s, ",norm_unmount");
-+
-+ if (c->mount_opts.bulk_read == 2)
-+ seq_printf(s, ",bulk_read");
-+ else if (c->mount_opts.bulk_read == 1)
-+ seq_printf(s, ",no_bulk_read");
-+
-+ if (c->mount_opts.chk_data_crc == 2)
-+ seq_printf(s, ",chk_data_crc");
-+ else if (c->mount_opts.chk_data_crc == 1)
-+ seq_printf(s, ",no_chk_data_crc");
-+
-+ if (c->mount_opts.override_compr) {
-+ seq_printf(s, ",compr=");
-+ seq_printf(s, ubifs_compr_name(c->mount_opts.compr_type));
-+ }
-+
-+ return 0;
-+}
-+
-+static int ubifs_sync_fs(struct super_block *sb, int wait)
-+{
-+ int i, err;
-+ struct ubifs_info *c = sb->s_fs_info;
-+ struct writeback_control wbc = {
-+ .sync_mode = WB_SYNC_ALL,
-+ .range_start = 0,
-+ .range_end = LLONG_MAX,
-+ .nr_to_write = LONG_MAX,
-+ };
-+
-+ /*
-+ * Zero @wait is just an advisory thing to help the file system shove
-+ * lots of data into the queues, and there will be the second
-+ * '->sync_fs()' call, with non-zero @wait.
-+ */
-+ if (!wait)
-+ return 0;
-+
-+ if (sb->s_flags & MS_RDONLY)
-+ return 0;
-+
-+ /*
-+ * VFS calls '->sync_fs()' before synchronizing all dirty inodes and
-+ * pages, so synchronize them first, then commit the journal. Strictly
-+ * speaking, it is not necessary to commit the journal here,
-+ * synchronizing write-buffers would be enough. But committing makes
-+ * UBIFS free space predictions much more accurate, so we want to let
-+ * the user be able to get more accurate results of 'statfs()' after
-+ * they synchronize the file system.
-+ */
-+ generic_sync_sb_inodes(sb, &wbc);
-+
-+ /*
-+ * Synchronize write buffers, because 'ubifs_run_commit()' does not
-+ * do this if it waits for an already running commit.
-+ */
-+ for (i = 0; i < c->jhead_cnt; i++) {
-+ err = ubifs_wbuf_sync(&c->jheads[i].wbuf);
-+ if (err)
-+ return err;
-+ }
-+
-+ err = ubifs_run_commit(c);
-+ if (err)
-+ return err;
-+
-+ return ubi_sync(c->vi.ubi_num);
-+}
-+
-+/**
-+ * init_constants_early - initialize UBIFS constants.
-+ * @c: UBIFS file-system description object
-+ *
-+ * This function initialize UBIFS constants which do not need the superblock to
-+ * be read. It also checks that the UBI volume satisfies basic UBIFS
-+ * requirements. Returns zero in case of success and a negative error code in
-+ * case of failure.
-+ */
-+static int init_constants_early(struct ubifs_info *c)
-+{
-+ if (c->vi.corrupted) {
-+ ubifs_warn("UBI volume is corrupted - read-only mode");
-+ c->ro_media = 1;
-+ }
-+
-+ if (c->di.ro_mode) {
-+ ubifs_msg("read-only UBI device");
-+ c->ro_media = 1;
-+ }
-+
-+ if (c->vi.vol_type == UBI_STATIC_VOLUME) {
-+ ubifs_msg("static UBI volume - read-only mode");
-+ c->ro_media = 1;
-+ }
-+
-+ c->leb_cnt = c->vi.size;
-+ c->leb_size = c->vi.usable_leb_size;
-+ c->half_leb_size = c->leb_size / 2;
-+ c->min_io_size = c->di.min_io_size;
-+ c->min_io_shift = fls(c->min_io_size) - 1;
-+
-+ if (c->leb_size < UBIFS_MIN_LEB_SZ) {
-+ ubifs_err("too small LEBs (%d bytes), min. is %d bytes",
-+ c->leb_size, UBIFS_MIN_LEB_SZ);
-+ return -EINVAL;
-+ }
-+
-+ if (c->leb_cnt < UBIFS_MIN_LEB_CNT) {
-+ ubifs_err("too few LEBs (%d), min. is %d",
-+ c->leb_cnt, UBIFS_MIN_LEB_CNT);
-+ return -EINVAL;
-+ }
-+
-+ if (!is_power_of_2(c->min_io_size)) {
-+ ubifs_err("bad min. I/O size %d", c->min_io_size);
-+ return -EINVAL;
-+ }
-+
-+ /*
-+ * UBIFS aligns all node to 8-byte boundary, so to make function in
-+ * io.c simpler, assume minimum I/O unit size to be 8 bytes if it is
-+ * less than 8.
-+ */
-+ if (c->min_io_size < 8) {
-+ c->min_io_size = 8;
-+ c->min_io_shift = 3;
-+ }
-+
-+ c->ref_node_alsz = ALIGN(UBIFS_REF_NODE_SZ, c->min_io_size);
-+ c->mst_node_alsz = ALIGN(UBIFS_MST_NODE_SZ, c->min_io_size);
-+
-+ /*
-+ * Initialize node length ranges which are mostly needed for node
-+ * length validation.
-+ */
-+ c->ranges[UBIFS_PAD_NODE].len = UBIFS_PAD_NODE_SZ;
-+ c->ranges[UBIFS_SB_NODE].len = UBIFS_SB_NODE_SZ;
-+ c->ranges[UBIFS_MST_NODE].len = UBIFS_MST_NODE_SZ;
-+ c->ranges[UBIFS_REF_NODE].len = UBIFS_REF_NODE_SZ;
-+ c->ranges[UBIFS_TRUN_NODE].len = UBIFS_TRUN_NODE_SZ;
-+ c->ranges[UBIFS_CS_NODE].len = UBIFS_CS_NODE_SZ;
-+
-+ c->ranges[UBIFS_INO_NODE].min_len = UBIFS_INO_NODE_SZ;
-+ c->ranges[UBIFS_INO_NODE].max_len = UBIFS_MAX_INO_NODE_SZ;
-+ c->ranges[UBIFS_ORPH_NODE].min_len =
-+ UBIFS_ORPH_NODE_SZ + sizeof(__le64);
-+ c->ranges[UBIFS_ORPH_NODE].max_len = c->leb_size;
-+ c->ranges[UBIFS_DENT_NODE].min_len = UBIFS_DENT_NODE_SZ;
-+ c->ranges[UBIFS_DENT_NODE].max_len = UBIFS_MAX_DENT_NODE_SZ;
-+ c->ranges[UBIFS_XENT_NODE].min_len = UBIFS_XENT_NODE_SZ;
-+ c->ranges[UBIFS_XENT_NODE].max_len = UBIFS_MAX_XENT_NODE_SZ;
-+ c->ranges[UBIFS_DATA_NODE].min_len = UBIFS_DATA_NODE_SZ;
-+ c->ranges[UBIFS_DATA_NODE].max_len = UBIFS_MAX_DATA_NODE_SZ;
-+ /*
-+ * Minimum indexing node size is amended later when superblock is
-+ * read and the key length is known.
-+ */
-+ c->ranges[UBIFS_IDX_NODE].min_len = UBIFS_IDX_NODE_SZ + UBIFS_BRANCH_SZ;
-+ /*
-+ * Maximum indexing node size is amended later when superblock is
-+ * read and the fanout is known.
-+ */
-+ c->ranges[UBIFS_IDX_NODE].max_len = INT_MAX;
-+
-+ /*
-+ * Initialize dead and dark LEB space watermarks. See gc.c for comments
-+ * about these values.
-+ */
-+ c->dead_wm = ALIGN(MIN_WRITE_SZ, c->min_io_size);
-+ c->dark_wm = ALIGN(UBIFS_MAX_NODE_SZ, c->min_io_size);
-+
-+ /*
-+ * Calculate how many bytes would be wasted at the end of LEB if it was
-+ * fully filled with data nodes of maximum size. This is used in
-+ * calculations when reporting free space.
-+ */
-+ c->leb_overhead = c->leb_size % UBIFS_MAX_DATA_NODE_SZ;
-+
-+ /* Buffer size for bulk-reads */
-+ c->max_bu_buf_len = UBIFS_MAX_BULK_READ * UBIFS_MAX_DATA_NODE_SZ;
-+ if (c->max_bu_buf_len > c->leb_size)
-+ c->max_bu_buf_len = c->leb_size;
-+ return 0;
-+}
-+
-+/**
-+ * bud_wbuf_callback - bud LEB write-buffer synchronization call-back.
-+ * @c: UBIFS file-system description object
-+ * @lnum: LEB the write-buffer was synchronized to
-+ * @free: how many free bytes left in this LEB
-+ * @pad: how many bytes were padded
-+ *
-+ * This is a callback function which is called by the I/O unit when the
-+ * write-buffer is synchronized. We need this to correctly maintain space
-+ * accounting in bud logical eraseblocks. This function returns zero in case of
-+ * success and a negative error code in case of failure.
-+ *
-+ * This function actually belongs to the journal, but we keep it here because
-+ * we want to keep it static.
-+ */
-+static int bud_wbuf_callback(struct ubifs_info *c, int lnum, int free, int pad)
-+{
-+ return ubifs_update_one_lp(c, lnum, free, pad, 0, 0);
-+}
-+
-+/*
-+ * init_constants_sb - initialize UBIFS constants.
-+ * @c: UBIFS file-system description object
-+ *
-+ * This is a helper function which initializes various UBIFS constants after
-+ * the superblock has been read. It also checks various UBIFS parameters and
-+ * makes sure they are all right. Returns zero in case of success and a
-+ * negative error code in case of failure.
-+ */
-+static int init_constants_sb(struct ubifs_info *c)
-+{
-+ int tmp, err;
-+ long long tmp64;
-+
-+ c->main_bytes = (long long)c->main_lebs * c->leb_size;
-+ c->max_znode_sz = sizeof(struct ubifs_znode) +
-+ c->fanout * sizeof(struct ubifs_zbranch);
-+
-+ tmp = ubifs_idx_node_sz(c, 1);
-+ c->ranges[UBIFS_IDX_NODE].min_len = tmp;
-+ c->min_idx_node_sz = ALIGN(tmp, 8);
-+
-+ tmp = ubifs_idx_node_sz(c, c->fanout);
-+ c->ranges[UBIFS_IDX_NODE].max_len = tmp;
-+ c->max_idx_node_sz = ALIGN(tmp, 8);
-+
-+ /* Make sure LEB size is large enough to fit full commit */
-+ tmp = UBIFS_CS_NODE_SZ + UBIFS_REF_NODE_SZ * c->jhead_cnt;
-+ tmp = ALIGN(tmp, c->min_io_size);
-+ if (tmp > c->leb_size) {
-+ dbg_err("too small LEB size %d, at least %d needed",
-+ c->leb_size, tmp);
-+ return -EINVAL;
-+ }
-+
-+ /*
-+ * Make sure that the log is large enough to fit reference nodes for
-+ * all buds plus one reserved LEB.
-+ */
-+ tmp64 = c->max_bud_bytes + c->leb_size - 1;
-+ c->max_bud_cnt = div_u64(tmp64, c->leb_size);
-+ tmp = (c->ref_node_alsz * c->max_bud_cnt + c->leb_size - 1);
-+ tmp /= c->leb_size;
-+ tmp += 1;
-+ if (c->log_lebs < tmp) {
-+ dbg_err("too small log %d LEBs, required min. %d LEBs",
-+ c->log_lebs, tmp);
-+ return -EINVAL;
-+ }
-+
-+ /*
-+ * When budgeting we assume worst-case scenarios when the pages are not
-+ * be compressed and direntries are of the maximum size.
-+ *
-+ * Note, data, which may be stored in inodes is budgeted separately, so
-+ * it is not included into 'c->inode_budget'.
-+ */
-+ c->page_budget = UBIFS_MAX_DATA_NODE_SZ * UBIFS_BLOCKS_PER_PAGE;
-+ c->inode_budget = UBIFS_INO_NODE_SZ;
-+ c->dent_budget = UBIFS_MAX_DENT_NODE_SZ;
-+
-+ /*
-+ * When the amount of flash space used by buds becomes
-+ * 'c->max_bud_bytes', UBIFS just blocks all writers and starts commit.
-+ * The writers are unblocked when the commit is finished. To avoid
-+ * writers to be blocked UBIFS initiates background commit in advance,
-+ * when number of bud bytes becomes above the limit defined below.
-+ */
-+ c->bg_bud_bytes = (c->max_bud_bytes * 13) >> 4;
-+
-+ /*
-+ * Ensure minimum journal size. All the bytes in the journal heads are
-+ * considered to be used, when calculating the current journal usage.
-+ * Consequently, if the journal is too small, UBIFS will treat it as
-+ * always full.
-+ */
-+ tmp64 = (long long)(c->jhead_cnt + 1) * c->leb_size + 1;
-+ if (c->bg_bud_bytes < tmp64)
-+ c->bg_bud_bytes = tmp64;
-+ if (c->max_bud_bytes < tmp64 + c->leb_size)
-+ c->max_bud_bytes = tmp64 + c->leb_size;
-+
-+ err = ubifs_calc_lpt_geom(c);
-+ if (err)
-+ return err;
-+
-+ return 0;
-+}
-+
-+/*
-+ * init_constants_master - initialize UBIFS constants.
-+ * @c: UBIFS file-system description object
-+ *
-+ * This is a helper function which initializes various UBIFS constants after
-+ * the master node has been read. It also checks various UBIFS parameters and
-+ * makes sure they are all right.
-+ */
-+static void init_constants_master(struct ubifs_info *c)
-+{
-+ long long tmp64;
-+
-+ c->min_idx_lebs = ubifs_calc_min_idx_lebs(c);
-+
-+ /*
-+ * Calculate total amount of FS blocks. This number is not used
-+ * internally because it does not make much sense for UBIFS, but it is
-+ * necessary to report something for the 'statfs()' call.
-+ *
-+ * Subtract the LEB reserved for GC, the LEB which is reserved for
-+ * deletions, minimum LEBs for the index, and assume only one journal
-+ * head is available.
-+ */
-+ tmp64 = c->main_lebs - 1 - 1 - MIN_INDEX_LEBS - c->jhead_cnt + 1;
-+ tmp64 *= (long long)c->leb_size - c->leb_overhead;
-+ tmp64 = ubifs_reported_space(c, tmp64);
-+ c->block_cnt = tmp64 >> UBIFS_BLOCK_SHIFT;
-+}
-+
-+/**
-+ * take_gc_lnum - reserve GC LEB.
-+ * @c: UBIFS file-system description object
-+ *
-+ * This function ensures that the LEB reserved for garbage collection is marked
-+ * as "taken" in lprops. We also have to set free space to LEB size and dirty
-+ * space to zero, because lprops may contain out-of-date information if the
-+ * file-system was un-mounted before it has been committed. This function
-+ * returns zero in case of success and a negative error code in case of
-+ * failure.
-+ */
-+static int take_gc_lnum(struct ubifs_info *c)
-+{
-+ int err;
-+
-+ if (c->gc_lnum == -1) {
-+ ubifs_err("no LEB for GC");
-+ return -EINVAL;
-+ }
-+
-+ /* And we have to tell lprops that this LEB is taken */
-+ err = ubifs_change_one_lp(c, c->gc_lnum, c->leb_size, 0,
-+ LPROPS_TAKEN, 0, 0);
-+ return err;
-+}
-+
-+/**
-+ * alloc_wbufs - allocate write-buffers.
-+ * @c: UBIFS file-system description object
-+ *
-+ * This helper function allocates and initializes UBIFS write-buffers. Returns
-+ * zero in case of success and %-ENOMEM in case of failure.
-+ */
-+static int alloc_wbufs(struct ubifs_info *c)
-+{
-+ int i, err;
-+
-+ c->jheads = kzalloc(c->jhead_cnt * sizeof(struct ubifs_jhead),
-+ GFP_KERNEL);
-+ if (!c->jheads)
-+ return -ENOMEM;
-+
-+ /* Initialize journal heads */
-+ for (i = 0; i < c->jhead_cnt; i++) {
-+ INIT_LIST_HEAD(&c->jheads[i].buds_list);
-+ err = ubifs_wbuf_init(c, &c->jheads[i].wbuf);
-+ if (err)
-+ return err;
-+
-+ c->jheads[i].wbuf.sync_callback = &bud_wbuf_callback;
-+ c->jheads[i].wbuf.jhead = i;
-+ }
-+
-+ c->jheads[BASEHD].wbuf.dtype = UBI_SHORTTERM;
-+ /*
-+ * Garbage Collector head likely contains long-term data and
-+ * does not need to be synchronized by timer.
-+ */
-+ c->jheads[GCHD].wbuf.dtype = UBI_LONGTERM;
-+ c->jheads[GCHD].wbuf.timeout = 0;
-+
-+ return 0;
-+}
-+
-+/**
-+ * free_wbufs - free write-buffers.
-+ * @c: UBIFS file-system description object
-+ */
-+static void free_wbufs(struct ubifs_info *c)
-+{
-+ int i;
-+
-+ if (c->jheads) {
-+ for (i = 0; i < c->jhead_cnt; i++) {
-+ kfree(c->jheads[i].wbuf.buf);
-+ kfree(c->jheads[i].wbuf.inodes);
-+ }
-+ kfree(c->jheads);
-+ c->jheads = NULL;
-+ }
-+}
-+
-+/**
-+ * free_orphans - free orphans.
-+ * @c: UBIFS file-system description object
-+ */
-+static void free_orphans(struct ubifs_info *c)
-+{
-+ struct ubifs_orphan *orph;
-+
-+ while (c->orph_dnext) {
-+ orph = c->orph_dnext;
-+ c->orph_dnext = orph->dnext;
-+ list_del(&orph->list);
-+ kfree(orph);
-+ }
-+
-+ while (!list_empty(&c->orph_list)) {
-+ orph = list_entry(c->orph_list.next, struct ubifs_orphan, list);
-+ list_del(&orph->list);
-+ kfree(orph);
-+ dbg_err("orphan list not empty at unmount");
-+ }
-+
-+ vfree(c->orph_buf);
-+ c->orph_buf = NULL;
-+}
-+
-+/**
-+ * free_buds - free per-bud objects.
-+ * @c: UBIFS file-system description object
-+ */
-+static void free_buds(struct ubifs_info *c)
-+{
-+ struct rb_node *this = c->buds.rb_node;
-+ struct ubifs_bud *bud;
-+
-+ while (this) {
-+ if (this->rb_left)
-+ this = this->rb_left;
-+ else if (this->rb_right)
-+ this = this->rb_right;
-+ else {
-+ bud = rb_entry(this, struct ubifs_bud, rb);
-+ this = rb_parent(this);
-+ if (this) {
-+ if (this->rb_left == &bud->rb)
-+ this->rb_left = NULL;
-+ else
-+ this->rb_right = NULL;
-+ }
-+ kfree(bud);
-+ }
-+ }
-+}
-+
-+/**
-+ * check_volume_empty - check if the UBI volume is empty.
-+ * @c: UBIFS file-system description object
-+ *
-+ * This function checks if the UBIFS volume is empty by looking if its LEBs are
-+ * mapped or not. The result of checking is stored in the @c->empty variable.
-+ * Returns zero in case of success and a negative error code in case of
-+ * failure.
-+ */
-+static int check_volume_empty(struct ubifs_info *c)
-+{
-+ int lnum, err;
-+
-+ c->empty = 1;
-+ for (lnum = 0; lnum < c->leb_cnt; lnum++) {
-+ err = ubi_is_mapped(c->ubi, lnum);
-+ if (unlikely(err < 0))
-+ return err;
-+ if (err == 1) {
-+ c->empty = 0;
-+ break;
-+ }
-+
-+ cond_resched();
-+ }
-+
-+ return 0;
-+}
-+
-+/*
-+ * UBIFS mount options.
-+ *
-+ * Opt_fast_unmount: do not run a journal commit before un-mounting
-+ * Opt_norm_unmount: run a journal commit before un-mounting
-+ * Opt_bulk_read: enable bulk-reads
-+ * Opt_no_bulk_read: disable bulk-reads
-+ * Opt_chk_data_crc: check CRCs when reading data nodes
-+ * Opt_no_chk_data_crc: do not check CRCs when reading data nodes
-+ * Opt_override_compr: override default compressor
-+ * Opt_err: just end of array marker
-+ */
-+enum {
-+ Opt_fast_unmount,
-+ Opt_norm_unmount,
-+ Opt_bulk_read,
-+ Opt_no_bulk_read,
-+ Opt_chk_data_crc,
-+ Opt_no_chk_data_crc,
-+ Opt_override_compr,
-+ Opt_err,
-+};
-+
-+static match_table_t tokens = {
-+ {Opt_fast_unmount, "fast_unmount"},
-+ {Opt_norm_unmount, "norm_unmount"},
-+ {Opt_bulk_read, "bulk_read"},
-+ {Opt_no_bulk_read, "no_bulk_read"},
-+ {Opt_chk_data_crc, "chk_data_crc"},
-+ {Opt_no_chk_data_crc, "no_chk_data_crc"},
-+ {Opt_override_compr, "compr=%s"},
-+ {Opt_err, NULL},
-+};
-+
-+/**
-+ * ubifs_parse_options - parse mount parameters.
-+ * @c: UBIFS file-system description object
-+ * @options: parameters to parse
-+ * @is_remount: non-zero if this is FS re-mount
-+ *
-+ * This function parses UBIFS mount options and returns zero in case success
-+ * and a negative error code in case of failure.
-+ */
-+static int ubifs_parse_options(struct ubifs_info *c, char *options,
-+ int is_remount)
-+{
-+ char *p;
-+ substring_t args[MAX_OPT_ARGS];
-+
-+ if (!options)
-+ return 0;
-+
-+ while ((p = strsep(&options, ","))) {
-+ int token;
-+
-+ if (!*p)
-+ continue;
-+
-+ token = match_token(p, tokens, args);
-+ switch (token) {
-+ /*
-+ * %Opt_fast_unmount and %Opt_norm_unmount options are ignored.
-+ * We accepte them in order to be backware-compatible. But this
-+ * should be removed at some point.
-+ */
-+ case Opt_fast_unmount:
-+ c->mount_opts.unmount_mode = 2;
-+ break;
-+ case Opt_norm_unmount:
-+ c->mount_opts.unmount_mode = 1;
-+ break;
-+ case Opt_bulk_read:
-+ c->mount_opts.bulk_read = 2;
-+ c->bulk_read = 1;
-+ break;
-+ case Opt_no_bulk_read:
-+ c->mount_opts.bulk_read = 1;
-+ c->bulk_read = 0;
-+ break;
-+ case Opt_chk_data_crc:
-+ c->mount_opts.chk_data_crc = 2;
-+ c->no_chk_data_crc = 0;
-+ break;
-+ case Opt_no_chk_data_crc:
-+ c->mount_opts.chk_data_crc = 1;
-+ c->no_chk_data_crc = 1;
-+ break;
-+ case Opt_override_compr:
-+ {
-+ char *name = match_strdup(&args[0]);
-+
-+ if (!name)
-+ return -ENOMEM;
-+ if (!strcmp(name, "none"))
-+ c->mount_opts.compr_type = UBIFS_COMPR_NONE;
-+ else if (!strcmp(name, "lzo"))
-+ c->mount_opts.compr_type = UBIFS_COMPR_LZO;
-+ else if (!strcmp(name, "zlib"))
-+ c->mount_opts.compr_type = UBIFS_COMPR_ZLIB;
-+ else {
-+ ubifs_err("unknown compressor \"%s\"", name);
-+ kfree(name);
-+ return -EINVAL;
-+ }
-+ kfree(name);
-+ c->mount_opts.override_compr = 1;
-+ c->default_compr = c->mount_opts.compr_type;
-+ break;
-+ }
-+ default:
-+ ubifs_err("unrecognized mount option \"%s\" "
-+ "or missing value", p);
-+ return -EINVAL;
-+ }
-+ }
-+
-+ return 0;
-+}
-+
-+/**
-+ * destroy_journal - destroy journal data structures.
-+ * @c: UBIFS file-system description object
-+ *
-+ * This function destroys journal data structures including those that may have
-+ * been created by recovery functions.
-+ */
-+static void destroy_journal(struct ubifs_info *c)
-+{
-+ while (!list_empty(&c->unclean_leb_list)) {
-+ struct ubifs_unclean_leb *ucleb;
-+
-+ ucleb = list_entry(c->unclean_leb_list.next,
-+ struct ubifs_unclean_leb, list);
-+ list_del(&ucleb->list);
-+ kfree(ucleb);
-+ }
-+ while (!list_empty(&c->old_buds)) {
-+ struct ubifs_bud *bud;
-+
-+ bud = list_entry(c->old_buds.next, struct ubifs_bud, list);
-+ list_del(&bud->list);
-+ kfree(bud);
-+ }
-+ ubifs_destroy_idx_gc(c);
-+ ubifs_destroy_size_tree(c);
-+ ubifs_tnc_close(c);
-+ free_buds(c);
-+}
-+
-+/**
-+ * bu_init - initialize bulk-read information.
-+ * @c: UBIFS file-system description object
-+ */
-+static void bu_init(struct ubifs_info *c)
-+{
-+ ubifs_assert(c->bulk_read == 1);
-+
-+ if (c->bu.buf)
-+ return; /* Already initialized */
-+
-+again:
-+ c->bu.buf = kmalloc(c->max_bu_buf_len, GFP_KERNEL | __GFP_NOWARN);
-+ if (!c->bu.buf) {
-+ if (c->max_bu_buf_len > UBIFS_KMALLOC_OK) {
-+ c->max_bu_buf_len = UBIFS_KMALLOC_OK;
-+ goto again;
-+ }
-+
-+ /* Just disable bulk-read */
-+ ubifs_warn("Cannot allocate %d bytes of memory for bulk-read, "
-+ "disabling it", c->max_bu_buf_len);
-+ c->mount_opts.bulk_read = 1;
-+ c->bulk_read = 0;
-+ return;
-+ }
-+}
-+
-+/**
-+ * check_free_space - check if there is enough free space to mount.
-+ * @c: UBIFS file-system description object
-+ *
-+ * This function makes sure UBIFS has enough free space to be mounted in
-+ * read/write mode. UBIFS must always have some free space to allow deletions.
-+ */
-+static int check_free_space(struct ubifs_info *c)
-+{
-+ ubifs_assert(c->dark_wm > 0);
-+ if (c->lst.total_free + c->lst.total_dirty < c->dark_wm) {
-+ ubifs_err("insufficient free space to mount in read/write mode");
-+ dbg_dump_budg(c);
-+ dbg_dump_lprops(c);
-+ return -ENOSPC;
-+ }
-+ return 0;
-+}
-+
-+/**
-+ * mount_ubifs - mount UBIFS file-system.
-+ * @c: UBIFS file-system description object
-+ *
-+ * This function mounts UBIFS file system. Returns zero in case of success and
-+ * a negative error code in case of failure.
-+ *
-+ * Note, the function does not de-allocate resources it it fails half way
-+ * through, and the caller has to do this instead.
-+ */
-+static int mount_ubifs(struct ubifs_info *c)
-+{
-+ struct super_block *sb = c->vfs_sb;
-+ int err, mounted_read_only = (sb->s_flags & MS_RDONLY);
-+ long long x;
-+ size_t sz;
-+
-+ err = init_constants_early(c);
-+ if (err)
-+ return err;
-+
-+ err = ubifs_debugging_init(c);
-+ if (err)
-+ return err;
-+
-+ err = check_volume_empty(c);
-+ if (err)
-+ goto out_free;
-+
-+ if (c->empty && (mounted_read_only || c->ro_media)) {
-+ /*
-+ * This UBI volume is empty, and read-only, or the file system
-+ * is mounted read-only - we cannot format it.
-+ */
-+ ubifs_err("can't format empty UBI volume: read-only %s",
-+ c->ro_media ? "UBI volume" : "mount");
-+ err = -EROFS;
-+ goto out_free;
-+ }
-+
-+ if (c->ro_media && !mounted_read_only) {
-+ ubifs_err("cannot mount read-write - read-only media");
-+ err = -EROFS;
-+ goto out_free;
-+ }
-+
-+ /*
-+ * The requirement for the buffer is that it should fit indexing B-tree
-+ * height amount of integers. We assume the height if the TNC tree will
-+ * never exceed 64.
-+ */
-+ err = -ENOMEM;
-+ c->bottom_up_buf = kmalloc(BOTTOM_UP_HEIGHT * sizeof(int), GFP_KERNEL);
-+ if (!c->bottom_up_buf)
-+ goto out_free;
-+
-+ c->sbuf = vmalloc(c->leb_size);
-+ if (!c->sbuf)
-+ goto out_free;
-+
-+ if (!mounted_read_only) {
-+ c->ileb_buf = vmalloc(c->leb_size);
-+ if (!c->ileb_buf)
-+ goto out_free;
-+ }
-+
-+ if (c->bulk_read == 1)
-+ bu_init(c);
-+
-+ /*
-+ * We have to check all CRCs, even for data nodes, when we mount the FS
-+ * (specifically, when we are replaying).
-+ */
-+ c->always_chk_crc = 1;
-+
-+ err = ubifs_read_superblock(c);
-+ if (err)
-+ goto out_free;
-+
-+ /*
-+ * Make sure the compressor which is set as default in the superblock
-+ * or overridden by mount options is actually compiled in.
-+ */
-+ if (!ubifs_compr_present(c->default_compr)) {
-+ ubifs_err("'compressor \"%s\" is not compiled in",
-+ ubifs_compr_name(c->default_compr));
-+ goto out_free;
-+ }
-+
-+ err = init_constants_sb(c);
-+ if (err)
-+ goto out_free;
-+
-+ sz = ALIGN(c->max_idx_node_sz, c->min_io_size);
-+ sz = ALIGN(sz + c->max_idx_node_sz, c->min_io_size);
-+ c->cbuf = kmalloc(sz, GFP_NOFS);
-+ if (!c->cbuf) {
-+ err = -ENOMEM;
-+ goto out_free;
-+ }
-+
-+ sprintf(c->bgt_name, BGT_NAME_PATTERN, c->vi.ubi_num, c->vi.vol_id);
-+ if (!mounted_read_only) {
-+ err = alloc_wbufs(c);
-+ if (err)
-+ goto out_cbuf;
-+
-+ /* Create background thread */
-+ c->bgt = kthread_create(ubifs_bg_thread, c, c->bgt_name);
-+ if (IS_ERR(c->bgt)) {
-+ err = PTR_ERR(c->bgt);
-+ c->bgt = NULL;
-+ ubifs_err("cannot spawn \"%s\", error %d",
-+ c->bgt_name, err);
-+ goto out_wbufs;
-+ }
-+ wake_up_process(c->bgt);
-+ }
-+
-+ err = ubifs_read_master(c);
-+ if (err)
-+ goto out_master;
-+
-+ init_constants_master(c);
-+
-+ if ((c->mst_node->flags & cpu_to_le32(UBIFS_MST_DIRTY)) != 0) {
-+ ubifs_msg("recovery needed");
-+ c->need_recovery = 1;
-+ if (!mounted_read_only) {
-+ err = ubifs_recover_inl_heads(c, c->sbuf);
-+ if (err)
-+ goto out_master;
-+ }
-+ } else if (!mounted_read_only) {
-+ /*
-+ * Set the "dirty" flag so that if we reboot uncleanly we
-+ * will notice this immediately on the next mount.
-+ */
-+ c->mst_node->flags |= cpu_to_le32(UBIFS_MST_DIRTY);
-+ err = ubifs_write_master(c);
-+ if (err)
-+ goto out_master;
-+ }
-+
-+ err = ubifs_lpt_init(c, 1, !mounted_read_only);
-+ if (err)
-+ goto out_lpt;
-+
-+ err = dbg_check_idx_size(c, c->old_idx_sz);
-+ if (err)
-+ goto out_lpt;
-+
-+ err = ubifs_replay_journal(c);
-+ if (err)
-+ goto out_journal;
-+
-+ err = ubifs_mount_orphans(c, c->need_recovery, mounted_read_only);
-+ if (err)
-+ goto out_orphans;
-+
-+ if (!mounted_read_only) {
-+ int lnum;
-+
-+ err = check_free_space(c);
-+ if (err)
-+ goto out_orphans;
-+
-+ /* Check for enough log space */
-+ lnum = c->lhead_lnum + 1;
-+ if (lnum >= UBIFS_LOG_LNUM + c->log_lebs)
-+ lnum = UBIFS_LOG_LNUM;
-+ if (lnum == c->ltail_lnum) {
-+ err = ubifs_consolidate_log(c);
-+ if (err)
-+ goto out_orphans;
-+ }
-+
-+ if (c->need_recovery) {
-+ err = ubifs_recover_size(c);
-+ if (err)
-+ goto out_orphans;
-+ err = ubifs_rcvry_gc_commit(c);
-+ } else {
-+ err = take_gc_lnum(c);
-+ if (err)
-+ goto out_orphans;
-+
-+ /*
-+ * GC LEB may contain garbage if there was an unclean
-+ * reboot, and it should be un-mapped.
-+ */
-+ err = ubifs_leb_unmap(c, c->gc_lnum);
-+ if (err)
-+ return err;
-+ }
-+
-+ err = dbg_check_lprops(c);
-+ if (err)
-+ goto out_orphans;
-+ } else if (c->need_recovery) {
-+ err = ubifs_recover_size(c);
-+ if (err)
-+ goto out_orphans;
-+ } else {
-+ /*
-+ * Even if we mount read-only, we have to set space in GC LEB
-+ * to proper value because this affects UBIFS free space
-+ * reporting. We do not want to have a situation when
-+ * re-mounting from R/O to R/W changes amount of free space.
-+ */
-+ err = take_gc_lnum(c);
-+ if (err)
-+ goto out_orphans;
-+ }
-+
-+ spin_lock(&ubifs_infos_lock);
-+ list_add_tail(&c->infos_list, &ubifs_infos);
-+ spin_unlock(&ubifs_infos_lock);
-+
-+ if (c->need_recovery) {
-+ if (mounted_read_only)
-+ ubifs_msg("recovery deferred");
-+ else {
-+ c->need_recovery = 0;
-+ ubifs_msg("recovery completed");
-+ /* GC LEB has to be empty and taken at this point */
-+ ubifs_assert(c->lst.taken_empty_lebs == 1);
-+ }
-+ } else
-+ ubifs_assert(c->lst.taken_empty_lebs == 1);
-+
-+ err = dbg_check_filesystem(c);
-+ if (err)
-+ goto out_infos;
-+
-+ err = dbg_debugfs_init_fs(c);
-+ if (err)
-+ goto out_infos;
-+
-+ c->always_chk_crc = 0;
-+
-+ ubifs_msg("mounted UBI device %d, volume %d, name \"%s\"",
-+ c->vi.ubi_num, c->vi.vol_id, c->vi.name);
-+ if (mounted_read_only)
-+ ubifs_msg("mounted read-only");
-+ x = (long long)c->main_lebs * c->leb_size;
-+ ubifs_msg("file system size: %lld bytes (%lld KiB, %lld MiB, %d "
-+ "LEBs)", x, x >> 10, x >> 20, c->main_lebs);
-+ x = (long long)c->log_lebs * c->leb_size + c->max_bud_bytes;
-+ ubifs_msg("journal size: %lld bytes (%lld KiB, %lld MiB, %d "
-+ "LEBs)", x, x >> 10, x >> 20, c->log_lebs + c->max_bud_cnt);
-+ ubifs_msg("media format: %d (latest is %d)",
-+ c->fmt_version, UBIFS_FORMAT_VERSION);
-+ ubifs_msg("default compressor: %s", ubifs_compr_name(c->default_compr));
-+ ubifs_msg("reserved for root: %llu bytes (%llu KiB)",
-+ c->report_rp_size, c->report_rp_size >> 10);
-+
-+ dbg_msg("compiled on: " __DATE__ " at " __TIME__);
-+ dbg_msg("min. I/O unit size: %d bytes", c->min_io_size);
-+ dbg_msg("LEB size: %d bytes (%d KiB)",
-+ c->leb_size, c->leb_size >> 10);
-+ dbg_msg("data journal heads: %d",
-+ c->jhead_cnt - NONDATA_JHEADS_CNT);
-+ dbg_msg("UUID: %02X%02X%02X%02X-%02X%02X"
-+ "-%02X%02X-%02X%02X-%02X%02X%02X%02X%02X%02X",
-+ c->uuid[0], c->uuid[1], c->uuid[2], c->uuid[3],
-+ c->uuid[4], c->uuid[5], c->uuid[6], c->uuid[7],
-+ c->uuid[8], c->uuid[9], c->uuid[10], c->uuid[11],
-+ c->uuid[12], c->uuid[13], c->uuid[14], c->uuid[15]);
-+ dbg_msg("big_lpt %d", c->big_lpt);
-+ dbg_msg("log LEBs: %d (%d - %d)",
-+ c->log_lebs, UBIFS_LOG_LNUM, c->log_last);
-+ dbg_msg("LPT area LEBs: %d (%d - %d)",
-+ c->lpt_lebs, c->lpt_first, c->lpt_last);
-+ dbg_msg("orphan area LEBs: %d (%d - %d)",
-+ c->orph_lebs, c->orph_first, c->orph_last);
-+ dbg_msg("main area LEBs: %d (%d - %d)",
-+ c->main_lebs, c->main_first, c->leb_cnt - 1);
-+ dbg_msg("index LEBs: %d", c->lst.idx_lebs);
-+ dbg_msg("total index bytes: %lld (%lld KiB, %lld MiB)",
-+ c->old_idx_sz, c->old_idx_sz >> 10, c->old_idx_sz >> 20);
-+ dbg_msg("key hash type: %d", c->key_hash_type);
-+ dbg_msg("tree fanout: %d", c->fanout);
-+ dbg_msg("reserved GC LEB: %d", c->gc_lnum);
-+ dbg_msg("first main LEB: %d", c->main_first);
-+ dbg_msg("max. znode size %d", c->max_znode_sz);
-+ dbg_msg("max. index node size %d", c->max_idx_node_sz);
-+ dbg_msg("node sizes: data %zu, inode %zu, dentry %zu",
-+ UBIFS_DATA_NODE_SZ, UBIFS_INO_NODE_SZ, UBIFS_DENT_NODE_SZ);
-+ dbg_msg("node sizes: trun %zu, sb %zu, master %zu",
-+ UBIFS_TRUN_NODE_SZ, UBIFS_SB_NODE_SZ, UBIFS_MST_NODE_SZ);
-+ dbg_msg("node sizes: ref %zu, cmt. start %zu, orph %zu",
-+ UBIFS_REF_NODE_SZ, UBIFS_CS_NODE_SZ, UBIFS_ORPH_NODE_SZ);
-+ dbg_msg("max. node sizes: data %zu, inode %zu dentry %zu",
-+ UBIFS_MAX_DATA_NODE_SZ, UBIFS_MAX_INO_NODE_SZ,
-+ UBIFS_MAX_DENT_NODE_SZ);
-+ dbg_msg("dead watermark: %d", c->dead_wm);
-+ dbg_msg("dark watermark: %d", c->dark_wm);
-+ dbg_msg("LEB overhead: %d", c->leb_overhead);
-+ x = (long long)c->main_lebs * c->dark_wm;
-+ dbg_msg("max. dark space: %lld (%lld KiB, %lld MiB)",
-+ x, x >> 10, x >> 20);
-+ dbg_msg("maximum bud bytes: %lld (%lld KiB, %lld MiB)",
-+ c->max_bud_bytes, c->max_bud_bytes >> 10,
-+ c->max_bud_bytes >> 20);
-+ dbg_msg("BG commit bud bytes: %lld (%lld KiB, %lld MiB)",
-+ c->bg_bud_bytes, c->bg_bud_bytes >> 10,
-+ c->bg_bud_bytes >> 20);
-+ dbg_msg("current bud bytes %lld (%lld KiB, %lld MiB)",
-+ c->bud_bytes, c->bud_bytes >> 10, c->bud_bytes >> 20);
-+ dbg_msg("max. seq. number: %llu", c->max_sqnum);
-+ dbg_msg("commit number: %llu", c->cmt_no);
-+
-+ return 0;
-+
-+out_infos:
-+ spin_lock(&ubifs_infos_lock);
-+ list_del(&c->infos_list);
-+ spin_unlock(&ubifs_infos_lock);
-+out_orphans:
-+ free_orphans(c);
-+out_journal:
-+ destroy_journal(c);
-+out_lpt:
-+ ubifs_lpt_free(c, 0);
-+out_master:
-+ kfree(c->mst_node);
-+ kfree(c->rcvrd_mst_node);
-+ if (c->bgt)
-+ kthread_stop(c->bgt);
-+out_wbufs:
-+ free_wbufs(c);
-+out_cbuf:
-+ kfree(c->cbuf);
-+out_free:
-+ kfree(c->bu.buf);
-+ vfree(c->ileb_buf);
-+ vfree(c->sbuf);
-+ kfree(c->bottom_up_buf);
-+ ubifs_debugging_exit(c);
-+ return err;
-+}
-+
-+/**
-+ * ubifs_umount - un-mount UBIFS file-system.
-+ * @c: UBIFS file-system description object
-+ *
-+ * Note, this function is called to free allocated resourced when un-mounting,
-+ * as well as free resources when an error occurred while we were half way
-+ * through mounting (error path cleanup function). So it has to make sure the
-+ * resource was actually allocated before freeing it.
-+ */
-+static void ubifs_umount(struct ubifs_info *c)
-+{
-+ dbg_gen("un-mounting UBI device %d, volume %d", c->vi.ubi_num,
-+ c->vi.vol_id);
-+
-+ dbg_debugfs_exit_fs(c);
-+ spin_lock(&ubifs_infos_lock);
-+ list_del(&c->infos_list);
-+ spin_unlock(&ubifs_infos_lock);
-+
-+ if (c->bgt)
-+ kthread_stop(c->bgt);
-+
-+ destroy_journal(c);
-+ free_wbufs(c);
-+ free_orphans(c);
-+ ubifs_lpt_free(c, 0);
-+
-+ kfree(c->cbuf);
-+ kfree(c->rcvrd_mst_node);
-+ kfree(c->mst_node);
-+ kfree(c->bu.buf);
-+ vfree(c->ileb_buf);
-+ vfree(c->sbuf);
-+ kfree(c->bottom_up_buf);
-+ ubifs_debugging_exit(c);
-+}
-+
-+/**
-+ * ubifs_remount_rw - re-mount in read-write mode.
-+ * @c: UBIFS file-system description object
-+ *
-+ * UBIFS avoids allocating many unnecessary resources when mounted in read-only
-+ * mode. This function allocates the needed resources and re-mounts UBIFS in
-+ * read-write mode.
-+ */
-+static int ubifs_remount_rw(struct ubifs_info *c)
-+{
-+ int err, lnum;
-+
-+ mutex_lock(&c->umount_mutex);
-+ dbg_save_space_info(c);
-+ c->remounting_rw = 1;
-+ c->always_chk_crc = 1;
-+
-+ err = check_free_space(c);
-+ if (err)
-+ goto out;
-+
-+ if (c->old_leb_cnt != c->leb_cnt) {
-+ struct ubifs_sb_node *sup;
-+
-+ sup = ubifs_read_sb_node(c);
-+ if (IS_ERR(sup)) {
-+ err = PTR_ERR(sup);
-+ goto out;
-+ }
-+ sup->leb_cnt = cpu_to_le32(c->leb_cnt);
-+ err = ubifs_write_sb_node(c, sup);
-+ if (err)
-+ goto out;
-+ }
-+
-+ if (c->need_recovery) {
-+ ubifs_msg("completing deferred recovery");
-+ err = ubifs_write_rcvrd_mst_node(c);
-+ if (err)
-+ goto out;
-+ err = ubifs_recover_size(c);
-+ if (err)
-+ goto out;
-+ err = ubifs_clean_lebs(c, c->sbuf);
-+ if (err)
-+ goto out;
-+ err = ubifs_recover_inl_heads(c, c->sbuf);
-+ if (err)
-+ goto out;
-+ } else {
-+ /* A readonly mount is not allowed to have orphans */
-+ ubifs_assert(c->tot_orphans == 0);
-+ err = ubifs_clear_orphans(c);
-+ if (err)
-+ goto out;
-+ }
-+
-+ if (!(c->mst_node->flags & cpu_to_le32(UBIFS_MST_DIRTY))) {
-+ c->mst_node->flags |= cpu_to_le32(UBIFS_MST_DIRTY);
-+ err = ubifs_write_master(c);
-+ if (err)
-+ goto out;
-+ }
-+
-+ c->ileb_buf = vmalloc(c->leb_size);
-+ if (!c->ileb_buf) {
-+ err = -ENOMEM;
-+ goto out;
-+ }
-+
-+ err = ubifs_lpt_init(c, 0, 1);
-+ if (err)
-+ goto out;
-+
-+ err = alloc_wbufs(c);
-+ if (err)
-+ goto out;
-+
-+ ubifs_create_buds_lists(c);
-+
-+ /* Create background thread */
-+ c->bgt = kthread_create(ubifs_bg_thread, c, c->bgt_name);
-+ if (IS_ERR(c->bgt)) {
-+ err = PTR_ERR(c->bgt);
-+ c->bgt = NULL;
-+ ubifs_err("cannot spawn \"%s\", error %d",
-+ c->bgt_name, err);
-+ goto out;
-+ }
-+ wake_up_process(c->bgt);
-+
-+ c->orph_buf = vmalloc(c->leb_size);
-+ if (!c->orph_buf) {
-+ err = -ENOMEM;
-+ goto out;
-+ }
-+
-+ /* Check for enough log space */
-+ lnum = c->lhead_lnum + 1;
-+ if (lnum >= UBIFS_LOG_LNUM + c->log_lebs)
-+ lnum = UBIFS_LOG_LNUM;
-+ if (lnum == c->ltail_lnum) {
-+ err = ubifs_consolidate_log(c);
-+ if (err)
-+ goto out;
-+ }
-+
-+ if (c->need_recovery)
-+ err = ubifs_rcvry_gc_commit(c);
-+ else
-+ err = ubifs_leb_unmap(c, c->gc_lnum);
-+ if (err)
-+ goto out;
-+
-+ if (c->need_recovery) {
-+ c->need_recovery = 0;
-+ ubifs_msg("deferred recovery completed");
-+ }
-+
-+ dbg_gen("re-mounted read-write");
-+ c->vfs_sb->s_flags &= ~MS_RDONLY;
-+ c->remounting_rw = 0;
-+ c->always_chk_crc = 0;
-+ err = dbg_check_space_info(c);
-+ mutex_unlock(&c->umount_mutex);
-+ return err;
-+
-+out:
-+ vfree(c->orph_buf);
-+ c->orph_buf = NULL;
-+ if (c->bgt) {
-+ kthread_stop(c->bgt);
-+ c->bgt = NULL;
-+ }
-+ free_wbufs(c);
-+ vfree(c->ileb_buf);
-+ c->ileb_buf = NULL;
-+ ubifs_lpt_free(c, 1);
-+ c->remounting_rw = 0;
-+ c->always_chk_crc = 0;
-+ mutex_unlock(&c->umount_mutex);
-+ return err;
-+}
-+
-+/**
-+ * ubifs_remount_ro - re-mount in read-only mode.
-+ * @c: UBIFS file-system description object
-+ *
-+ * We assume VFS has stopped writing. Possibly the background thread could be
-+ * running a commit, however kthread_stop will wait in that case.
-+ */
-+static void ubifs_remount_ro(struct ubifs_info *c)
-+{
-+ int i, err;
-+
-+ ubifs_assert(!c->need_recovery);
-+ ubifs_assert(!(c->vfs_sb->s_flags & MS_RDONLY));
-+
-+ mutex_lock(&c->umount_mutex);
-+ if (c->bgt) {
-+ kthread_stop(c->bgt);
-+ c->bgt = NULL;
-+ }
-+
-+ dbg_save_space_info(c);
-+
-+ for (i = 0; i < c->jhead_cnt; i++) {
-+ ubifs_wbuf_sync(&c->jheads[i].wbuf);
-+ del_timer_sync(&c->jheads[i].wbuf.timer);
-+ }
-+
-+ c->mst_node->flags &= ~cpu_to_le32(UBIFS_MST_DIRTY);
-+ c->mst_node->flags |= cpu_to_le32(UBIFS_MST_NO_ORPHS);
-+ c->mst_node->gc_lnum = cpu_to_le32(c->gc_lnum);
-+ err = ubifs_write_master(c);
-+ if (err)
-+ ubifs_ro_mode(c, err);
-+
-+ free_wbufs(c);
-+ vfree(c->orph_buf);
-+ c->orph_buf = NULL;
-+ vfree(c->ileb_buf);
-+ c->ileb_buf = NULL;
-+ ubifs_lpt_free(c, 1);
-+ err = dbg_check_space_info(c);
-+ if (err)
-+ ubifs_ro_mode(c, err);
-+ mutex_unlock(&c->umount_mutex);
-+}
-+
-+static void ubifs_put_super(struct super_block *sb)
-+{
-+ int i;
-+ struct ubifs_info *c = sb->s_fs_info;
-+
-+ ubifs_msg("un-mount UBI device %d, volume %d", c->vi.ubi_num,
-+ c->vi.vol_id);
-+ /*
-+ * The following asserts are only valid if there has not been a failure
-+ * of the media. For example, there will be dirty inodes if we failed
-+ * to write them back because of I/O errors.
-+ */
-+ ubifs_assert(atomic_long_read(&c->dirty_pg_cnt) == 0);
-+ ubifs_assert(c->budg_idx_growth == 0);
-+ ubifs_assert(c->budg_dd_growth == 0);
-+ ubifs_assert(c->budg_data_growth == 0);
-+
-+ /*
-+ * The 'c->umount_lock' prevents races between UBIFS memory shrinker
-+ * and file system un-mount. Namely, it prevents the shrinker from
-+ * picking this superblock for shrinking - it will be just skipped if
-+ * the mutex is locked.
-+ */
-+ mutex_lock(&c->umount_mutex);
-+ if (!(c->vfs_sb->s_flags & MS_RDONLY)) {
-+ /*
-+ * First of all kill the background thread to make sure it does
-+ * not interfere with un-mounting and freeing resources.
-+ */
-+ if (c->bgt) {
-+ kthread_stop(c->bgt);
-+ c->bgt = NULL;
-+ }
-+
-+ /* Synchronize write-buffers */
-+ if (c->jheads)
-+ for (i = 0; i < c->jhead_cnt; i++) {
-+ ubifs_wbuf_sync(&c->jheads[i].wbuf);
-+ del_timer_sync(&c->jheads[i].wbuf.timer);
-+ }
-+
-+ /*
-+ * On fatal errors c->ro_media is set to 1, in which case we do
-+ * not write the master node.
-+ */
-+ if (!c->ro_media) {
-+ /*
-+ * We are being cleanly unmounted which means the
-+ * orphans were killed - indicate this in the master
-+ * node. Also save the reserved GC LEB number.
-+ */
-+ int err;
-+
-+ c->mst_node->flags &= ~cpu_to_le32(UBIFS_MST_DIRTY);
-+ c->mst_node->flags |= cpu_to_le32(UBIFS_MST_NO_ORPHS);
-+ c->mst_node->gc_lnum = cpu_to_le32(c->gc_lnum);
-+ err = ubifs_write_master(c);
-+ if (err)
-+ /*
-+ * Recovery will attempt to fix the master area
-+ * next mount, so we just print a message and
-+ * continue to unmount normally.
-+ */
-+ ubifs_err("failed to write master node, "
-+ "error %d", err);
-+ }
-+ }
-+
-+ ubifs_umount(c);
-+ bdi_destroy(&c->bdi);
-+ ubi_close_volume(c->ubi);
-+ mutex_unlock(&c->umount_mutex);
-+ kfree(c);
-+}
-+
-+static int ubifs_remount_fs(struct super_block *sb, int *flags, char *data)
-+{
-+ int err;
-+ struct ubifs_info *c = sb->s_fs_info;
-+
-+ dbg_gen("old flags %#lx, new flags %#x", sb->s_flags, *flags);
-+
-+ err = ubifs_parse_options(c, data, 1);
-+ if (err) {
-+ ubifs_err("invalid or unknown remount parameter");
-+ return err;
-+ }
-+
-+ if ((sb->s_flags & MS_RDONLY) && !(*flags & MS_RDONLY)) {
-+ if (c->ro_media) {
-+ ubifs_msg("cannot re-mount due to prior errors");
-+ return -EROFS;
-+ }
-+ err = ubifs_remount_rw(c);
-+ if (err)
-+ return err;
-+ } else if (!(sb->s_flags & MS_RDONLY) && (*flags & MS_RDONLY)) {
-+ if (c->ro_media) {
-+ ubifs_msg("cannot re-mount due to prior errors");
-+ return -EROFS;
-+ }
-+ ubifs_remount_ro(c);
-+ }
-+
-+ if (c->bulk_read == 1)
-+ bu_init(c);
-+ else {
-+ dbg_gen("disable bulk-read");
-+ kfree(c->bu.buf);
-+ c->bu.buf = NULL;
-+ }
-+
-+ ubifs_assert(c->lst.taken_empty_lebs == 1);
-+ return 0;
-+}
-+
-+const struct super_operations ubifs_super_operations = {
-+ .read_inode = ubifs_read_inode,
-+ .alloc_inode = ubifs_alloc_inode,
-+ .destroy_inode = ubifs_destroy_inode,
-+ .put_super = ubifs_put_super,
-+ .write_inode = ubifs_write_inode,
-+ .delete_inode = ubifs_delete_inode,
-+ .statfs = ubifs_statfs,
-+ .dirty_inode = ubifs_dirty_inode,
-+ .remount_fs = ubifs_remount_fs,
-+ .show_options = ubifs_show_options,
-+ .sync_fs = ubifs_sync_fs,
-+};
-+
-+/**
-+ * open_ubi - parse UBI device name string and open the UBI device.
-+ * @name: UBI volume name
-+ * @mode: UBI volume open mode
-+ *
-+ * There are several ways to specify UBI volumes when mounting UBIFS:
-+ * o ubiX_Y - UBI device number X, volume Y;
-+ * o ubiY - UBI device number 0, volume Y;
-+ * o ubiX:NAME - mount UBI device X, volume with name NAME;
-+ * o ubi:NAME - mount UBI device 0, volume with name NAME.
-+ *
-+ * Alternative '!' separator may be used instead of ':' (because some shells
-+ * like busybox may interpret ':' as an NFS host name separator). This function
-+ * returns ubi volume object in case of success and a negative error code in
-+ * case of failure.
-+ */
-+static struct ubi_volume_desc *open_ubi(const char *name, int mode)
-+{
-+ int dev, vol;
-+ char *endptr;
-+
-+ if (name[0] != 'u' || name[1] != 'b' || name[2] != 'i')
-+ return ERR_PTR(-EINVAL);
-+
-+ /* ubi:NAME method */
-+ if ((name[3] == ':' || name[3] == '!') && name[4] != '\0')
-+ return ubi_open_volume_nm(0, name + 4, mode);
-+
-+ if (!isdigit(name[3]))
-+ return ERR_PTR(-EINVAL);
-+
-+ dev = simple_strtoul(name + 3, &endptr, 0);
-+
-+ /* ubiY method */
-+ if (*endptr == '\0')
-+ return ubi_open_volume(0, dev, mode);
-+
-+ /* ubiX_Y method */
-+ if (*endptr == '_' && isdigit(endptr[1])) {
-+ vol = simple_strtoul(endptr + 1, &endptr, 0);
-+ if (*endptr != '\0')
-+ return ERR_PTR(-EINVAL);
-+ return ubi_open_volume(dev, vol, mode);
-+ }
-+
-+ /* ubiX:NAME method */
-+ if ((*endptr == ':' || *endptr == '!') && endptr[1] != '\0')
-+ return ubi_open_volume_nm(dev, ++endptr, mode);
-+
-+ return ERR_PTR(-EINVAL);
-+}
-+
-+static int ubifs_fill_super(struct super_block *sb, void *data, int silent)
-+{
-+ struct ubi_volume_desc *ubi = sb->s_fs_info;
-+ struct ubifs_info *c;
-+ struct inode *root;
-+ int err;
-+
-+ c = kzalloc(sizeof(struct ubifs_info), GFP_KERNEL);
-+ if (!c)
-+ return -ENOMEM;
-+
-+ spin_lock_init(&c->cnt_lock);
-+ spin_lock_init(&c->cs_lock);
-+ spin_lock_init(&c->buds_lock);
-+ spin_lock_init(&c->space_lock);
-+ spin_lock_init(&c->orphan_lock);
-+ init_rwsem(&c->commit_sem);
-+ mutex_init(&c->lp_mutex);
-+ mutex_init(&c->tnc_mutex);
-+ mutex_init(&c->log_mutex);
-+ mutex_init(&c->mst_mutex);
-+ mutex_init(&c->umount_mutex);
-+ mutex_init(&c->bu_mutex);
-+ init_waitqueue_head(&c->cmt_wq);
-+ c->buds = RB_ROOT;
-+ c->old_idx = RB_ROOT;
-+ c->size_tree = RB_ROOT;
-+ c->orph_tree = RB_ROOT;
-+ INIT_LIST_HEAD(&c->infos_list);
-+ INIT_LIST_HEAD(&c->idx_gc);
-+ INIT_LIST_HEAD(&c->replay_list);
-+ INIT_LIST_HEAD(&c->replay_buds);
-+ INIT_LIST_HEAD(&c->uncat_list);
-+ INIT_LIST_HEAD(&c->empty_list);
-+ INIT_LIST_HEAD(&c->freeable_list);
-+ INIT_LIST_HEAD(&c->frdi_idx_list);
-+ INIT_LIST_HEAD(&c->unclean_leb_list);
-+ INIT_LIST_HEAD(&c->old_buds);
-+ INIT_LIST_HEAD(&c->orph_list);
-+ INIT_LIST_HEAD(&c->orph_new);
-+
-+ c->highest_inum = UBIFS_FIRST_INO;
-+ c->lhead_lnum = c->ltail_lnum = UBIFS_LOG_LNUM;
-+
-+ ubi_get_volume_info(ubi, &c->vi);
-+ ubi_get_device_info(c->vi.ubi_num, &c->di);
-+
-+ /* Re-open the UBI device in read-write mode */
-+ c->ubi = ubi_open_volume(c->vi.ubi_num, c->vi.vol_id, UBI_READWRITE);
-+ if (IS_ERR(c->ubi)) {
-+ err = PTR_ERR(c->ubi);
-+ goto out_free;
-+ }
-+
-+ /*
-+ * UBIFS provides 'backing_dev_info' in order to disable read-ahead. For
-+ * UBIFS, I/O is not deferred, it is done immediately in readpage,
-+ * which means the user would have to wait not just for their own I/O
-+ * but the read-ahead I/O as well i.e. completely pointless.
-+ *
-+ * Read-ahead will be disabled because @c->bdi.ra_pages is 0.
-+ */
-+ c->bdi.capabilities = BDI_CAP_MAP_COPY;
-+ c->bdi.unplug_io_fn = default_unplug_io_fn;
-+ err = bdi_init(&c->bdi);
-+ if (err)
-+ goto out_close;
-+
-+ err = ubifs_parse_options(c, data, 0);
-+ if (err)
-+ goto out_bdi;
-+
-+ c->vfs_sb = sb;
-+
-+ sb->s_fs_info = c;
-+ sb->s_magic = UBIFS_SUPER_MAGIC;
-+ sb->s_blocksize = UBIFS_BLOCK_SIZE;
-+ sb->s_blocksize_bits = UBIFS_BLOCK_SHIFT;
-+ sb->s_dev = c->vi.cdev;
-+ sb->s_maxbytes = c->max_inode_sz = key_max_inode_size(c);
-+ if (c->max_inode_sz > MAX_LFS_FILESIZE)
-+ sb->s_maxbytes = c->max_inode_sz = MAX_LFS_FILESIZE;
-+ sb->s_op = &ubifs_super_operations;
-+
-+ mutex_lock(&c->umount_mutex);
-+ err = mount_ubifs(c);
-+ if (err) {
-+ ubifs_assert(err < 0);
-+ goto out_unlock;
-+ }
-+
-+ /* Read the root inode */
-+ root = ubifs_iget(sb, UBIFS_ROOT_INO);
-+ if (IS_ERR(root)) {
-+ err = PTR_ERR(root);
-+ goto out_umount;
-+ }
-+
-+ sb->s_root = d_alloc_root(root);
-+ if (!sb->s_root)
-+ goto out_iput;
-+
-+ mutex_unlock(&c->umount_mutex);
-+ return 0;
-+
-+out_iput:
-+ iput(root);
-+out_umount:
-+ ubifs_umount(c);
-+out_unlock:
-+ mutex_unlock(&c->umount_mutex);
-+out_bdi:
-+ bdi_destroy(&c->bdi);
-+out_close:
-+ ubi_close_volume(c->ubi);
-+out_free:
-+ kfree(c);
-+ return err;
-+}
-+
-+static int sb_test(struct super_block *sb, void *data)
-+{
-+ dev_t *dev = data;
-+
-+ return sb->s_dev == *dev;
-+}
-+
-+static int sb_set(struct super_block *sb, void *data)
-+{
-+ dev_t *dev = data;
-+
-+ sb->s_dev = *dev;
-+ return 0;
-+}
-+
-+static int ubifs_get_sb(struct file_system_type *fs_type, int flags,
-+ const char *name, void *data, struct vfsmount *mnt)
-+{
-+ struct ubi_volume_desc *ubi;
-+ struct ubi_volume_info vi;
-+ struct super_block *sb;
-+ int err;
-+
-+ dbg_gen("name %s, flags %#x", name, flags);
-+
-+ /*
-+ * Get UBI device number and volume ID. Mount it read-only so far
-+ * because this might be a new mount point, and UBI allows only one
-+ * read-write user at a time.
-+ */
-+ ubi = open_ubi(name, UBI_READONLY);
-+ if (IS_ERR(ubi)) {
-+ ubifs_err("cannot open \"%s\", error %d",
-+ name, (int)PTR_ERR(ubi));
-+ return PTR_ERR(ubi);
-+ }
-+ ubi_get_volume_info(ubi, &vi);
-+
-+ dbg_gen("opened ubi%d_%d", vi.ubi_num, vi.vol_id);
-+
-+ sb = sget(fs_type, &sb_test, &sb_set, &vi.cdev);
-+ if (IS_ERR(sb)) {
-+ err = PTR_ERR(sb);
-+ goto out_close;
-+ }
-+
-+ if (sb->s_root) {
-+ /* A new mount point for already mounted UBIFS */
-+ dbg_gen("this ubi volume is already mounted");
-+ if ((flags ^ sb->s_flags) & MS_RDONLY) {
-+ err = -EBUSY;
-+ goto out_deact;
-+ }
-+ } else {
-+ sb->s_flags = flags;
-+ /*
-+ * Pass 'ubi' to 'fill_super()' in sb->s_fs_info where it is
-+ * replaced by 'c'.
-+ */
-+ sb->s_fs_info = ubi;
-+ err = ubifs_fill_super(sb, data, flags & MS_SILENT ? 1 : 0);
-+ if (err)
-+ goto out_deact;
-+ /* We do not support atime */
-+ sb->s_flags |= MS_ACTIVE | MS_NOATIME;
-+ }
-+
-+ /* 'fill_super()' opens ubi again so we must close it here */
-+ ubi_close_volume(ubi);
-+
-+ return simple_set_mnt(mnt, sb);
-+
-+out_deact:
-+ up_write(&sb->s_umount);
-+ deactivate_super(sb);
-+out_close:
-+ ubi_close_volume(ubi);
-+ return err;
-+}
-+
-+static void ubifs_kill_sb(struct super_block *sb)
-+{
-+ generic_shutdown_super(sb);
-+}
-+
-+static struct file_system_type ubifs_fs_type = {
-+ .name = "ubifs",
-+ .owner = THIS_MODULE,
-+ .get_sb = ubifs_get_sb,
-+ .kill_sb = ubifs_kill_sb,
-+ .fs_flags = FS_REQUIRES_DEV,
-+};
-+
-+/*
-+ * Inode slab cache constructor.
-+ */
-+static void inode_slab_ctor(struct kmem_cache *cachep, void *obj)
-+{
-+ struct ubifs_inode *ui = obj;
-+ inode_init_once(&ui->vfs_inode);
-+}
-+
-+static int __init ubifs_init(void)
-+{
-+ int err;
-+
-+ BUILD_BUG_ON(sizeof(struct ubifs_ch) != 24);
-+
-+ /* Make sure node sizes are 8-byte aligned */
-+ BUILD_BUG_ON(UBIFS_CH_SZ & 7);
-+ BUILD_BUG_ON(UBIFS_INO_NODE_SZ & 7);
-+ BUILD_BUG_ON(UBIFS_DENT_NODE_SZ & 7);
-+ BUILD_BUG_ON(UBIFS_XENT_NODE_SZ & 7);
-+ BUILD_BUG_ON(UBIFS_DATA_NODE_SZ & 7);
-+ BUILD_BUG_ON(UBIFS_TRUN_NODE_SZ & 7);
-+ BUILD_BUG_ON(UBIFS_SB_NODE_SZ & 7);
-+ BUILD_BUG_ON(UBIFS_MST_NODE_SZ & 7);
-+ BUILD_BUG_ON(UBIFS_REF_NODE_SZ & 7);
-+ BUILD_BUG_ON(UBIFS_CS_NODE_SZ & 7);
-+ BUILD_BUG_ON(UBIFS_ORPH_NODE_SZ & 7);
-+
-+ BUILD_BUG_ON(UBIFS_MAX_DENT_NODE_SZ & 7);
-+ BUILD_BUG_ON(UBIFS_MAX_XENT_NODE_SZ & 7);
-+ BUILD_BUG_ON(UBIFS_MAX_DATA_NODE_SZ & 7);
-+ BUILD_BUG_ON(UBIFS_MAX_INO_NODE_SZ & 7);
-+ BUILD_BUG_ON(UBIFS_MAX_NODE_SZ & 7);
-+ BUILD_BUG_ON(MIN_WRITE_SZ & 7);
-+
-+ /* Check min. node size */
-+ BUILD_BUG_ON(UBIFS_INO_NODE_SZ < MIN_WRITE_SZ);
-+ BUILD_BUG_ON(UBIFS_DENT_NODE_SZ < MIN_WRITE_SZ);
-+ BUILD_BUG_ON(UBIFS_XENT_NODE_SZ < MIN_WRITE_SZ);
-+ BUILD_BUG_ON(UBIFS_TRUN_NODE_SZ < MIN_WRITE_SZ);
-+
-+ BUILD_BUG_ON(UBIFS_MAX_DENT_NODE_SZ > UBIFS_MAX_NODE_SZ);
-+ BUILD_BUG_ON(UBIFS_MAX_XENT_NODE_SZ > UBIFS_MAX_NODE_SZ);
-+ BUILD_BUG_ON(UBIFS_MAX_DATA_NODE_SZ > UBIFS_MAX_NODE_SZ);
-+ BUILD_BUG_ON(UBIFS_MAX_INO_NODE_SZ > UBIFS_MAX_NODE_SZ);
-+
-+ /* Defined node sizes */
-+ BUILD_BUG_ON(UBIFS_SB_NODE_SZ != 4096);
-+ BUILD_BUG_ON(UBIFS_MST_NODE_SZ != 512);
-+ BUILD_BUG_ON(UBIFS_INO_NODE_SZ != 160);
-+ BUILD_BUG_ON(UBIFS_REF_NODE_SZ != 64);
-+
-+ /*
-+ * We use 2 bit wide bit-fields to store compression type, which should
-+ * be amended if more compressors are added. The bit-fields are:
-+ * @compr_type in 'struct ubifs_inode', @default_compr in
-+ * 'struct ubifs_info' and @compr_type in 'struct ubifs_mount_opts'.
-+ */
-+ BUILD_BUG_ON(UBIFS_COMPR_TYPES_CNT > 4);
-+
-+ /*
-+ * We require that PAGE_CACHE_SIZE is greater-than-or-equal-to
-+ * UBIFS_BLOCK_SIZE. It is assumed that both are powers of 2.
-+ */
-+ if (PAGE_CACHE_SIZE < UBIFS_BLOCK_SIZE) {
-+ ubifs_err("VFS page cache size is %u bytes, but UBIFS requires"
-+ " at least 4096 bytes",
-+ (unsigned int)PAGE_CACHE_SIZE);
-+ return -EINVAL;
-+ }
-+
-+ err = register_filesystem(&ubifs_fs_type);
-+ if (err) {
-+ ubifs_err("cannot register file system, error %d", err);
-+ return err;
-+ }
-+
-+ err = -ENOMEM;
-+ ubifs_inode_slab = kmem_cache_create("ubifs_inode_slab",
-+ sizeof(struct ubifs_inode), 0,
-+ SLAB_MEM_SPREAD | SLAB_RECLAIM_ACCOUNT,
-+ &inode_slab_ctor);
-+ if (!ubifs_inode_slab)
-+ goto out_reg;
-+
-+ register_shrinker(&ubifs_shrinker_info);
-+
-+ err = ubifs_compressors_init();
-+ if (err)
-+ goto out_shrinker;
-+
-+ err = dbg_debugfs_init();
-+ if (err)
-+ goto out_compr;
-+
-+ return 0;
-+
-+out_compr:
-+ ubifs_compressors_exit();
-+out_shrinker:
-+ unregister_shrinker(&ubifs_shrinker_info);
-+ kmem_cache_destroy(ubifs_inode_slab);
-+out_reg:
-+ unregister_filesystem(&ubifs_fs_type);
-+ return err;
-+}
-+/* late_initcall to let compressors initialize first */
-+late_initcall(ubifs_init);
-+
-+static void __exit ubifs_exit(void)
-+{
-+ ubifs_assert(list_empty(&ubifs_infos));
-+ ubifs_assert(atomic_long_read(&ubifs_clean_zn_cnt) == 0);
-+
-+ dbg_debugfs_exit();
-+ ubifs_compressors_exit();
-+ unregister_shrinker(&ubifs_shrinker_info);
-+ kmem_cache_destroy(ubifs_inode_slab);
-+ unregister_filesystem(&ubifs_fs_type);
-+}
-+module_exit(ubifs_exit);
-+
-+MODULE_LICENSE("GPL");
-+MODULE_VERSION(__stringify(UBIFS_VERSION));
-+MODULE_AUTHOR("Artem Bityutskiy, Adrian Hunter");
-+MODULE_DESCRIPTION("UBIFS - UBI File System");
-diff -Nurd linux-2.6.24.orig/fs/ubifs/tnc.c linux-2.6.24/fs/ubifs/tnc.c
---- linux-2.6.24.orig/fs/ubifs/tnc.c 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.24/fs/ubifs/tnc.c 2009-04-17 09:49:28.000000000 +0200
-@@ -0,0 +1,3270 @@
-+/*
-+ * This file is part of UBIFS.
-+ *
-+ * Copyright (C) 2006-2008 Nokia Corporation.
-+ *
-+ * This program is free software; you can redistribute it and/or modify it
-+ * under the terms of the GNU General Public License version 2 as published by
-+ * the Free Software Foundation.
-+ *
-+ * 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, write to the Free Software Foundation, Inc., 51
-+ * Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
-+ *
-+ * Authors: Adrian Hunter
-+ * Artem Bityutskiy (Битюцкий Ðртём)
-+ */
-+
-+/*
-+ * This file implements TNC (Tree Node Cache) which caches indexing nodes of
-+ * the UBIFS B-tree.
-+ *
-+ * At the moment the locking rules of the TNC tree are quite simple and
-+ * straightforward. We just have a mutex and lock it when we traverse the
-+ * tree. If a znode is not in memory, we read it from flash while still having
-+ * the mutex locked.
-+ */
-+
-+#include <linux/crc32.h>
-+#include "ubifs.h"
-+
-+/*
-+ * Returned codes of 'matches_name()' and 'fallible_matches_name()' functions.
-+ * @NAME_LESS: name corresponding to the first argument is less than second
-+ * @NAME_MATCHES: names match
-+ * @NAME_GREATER: name corresponding to the second argument is greater than
-+ * first
-+ * @NOT_ON_MEDIA: node referred by zbranch does not exist on the media
-+ *
-+ * These constants were introduce to improve readability.
-+ */
-+enum {
-+ NAME_LESS = 0,
-+ NAME_MATCHES = 1,
-+ NAME_GREATER = 2,
-+ NOT_ON_MEDIA = 3,
-+};
-+
-+/**
-+ * insert_old_idx - record an index node obsoleted since the last commit start.
-+ * @c: UBIFS file-system description object
-+ * @lnum: LEB number of obsoleted index node
-+ * @offs: offset of obsoleted index node
-+ *
-+ * Returns %0 on success, and a negative error code on failure.
-+ *
-+ * For recovery, there must always be a complete intact version of the index on
-+ * flash at all times. That is called the "old index". It is the index as at the
-+ * time of the last successful commit. Many of the index nodes in the old index
-+ * may be dirty, but they must not be erased until the next successful commit
-+ * (at which point that index becomes the old index).
-+ *
-+ * That means that the garbage collection and the in-the-gaps method of
-+ * committing must be able to determine if an index node is in the old index.
-+ * Most of the old index nodes can be found by looking up the TNC using the
-+ * 'lookup_znode()' function. However, some of the old index nodes may have
-+ * been deleted from the current index or may have been changed so much that
-+ * they cannot be easily found. In those cases, an entry is added to an RB-tree.
-+ * That is what this function does. The RB-tree is ordered by LEB number and
-+ * offset because they uniquely identify the old index node.
-+ */
-+static int insert_old_idx(struct ubifs_info *c, int lnum, int offs)
-+{
-+ struct ubifs_old_idx *old_idx, *o;
-+ struct rb_node **p, *parent = NULL;
-+
-+ old_idx = kmalloc(sizeof(struct ubifs_old_idx), GFP_NOFS);
-+ if (unlikely(!old_idx))
-+ return -ENOMEM;
-+ old_idx->lnum = lnum;
-+ old_idx->offs = offs;
-+
-+ p = &c->old_idx.rb_node;
-+ while (*p) {
-+ parent = *p;
-+ o = rb_entry(parent, struct ubifs_old_idx, rb);
-+ if (lnum < o->lnum)
-+ p = &(*p)->rb_left;
-+ else if (lnum > o->lnum)
-+ p = &(*p)->rb_right;
-+ else if (offs < o->offs)
-+ p = &(*p)->rb_left;
-+ else if (offs > o->offs)
-+ p = &(*p)->rb_right;
-+ else {
-+ ubifs_err("old idx added twice!");
-+ kfree(old_idx);
-+ return 0;
-+ }
-+ }
-+ rb_link_node(&old_idx->rb, parent, p);
-+ rb_insert_color(&old_idx->rb, &c->old_idx);
-+ return 0;
-+}
-+
-+/**
-+ * insert_old_idx_znode - record a znode obsoleted since last commit start.
-+ * @c: UBIFS file-system description object
-+ * @znode: znode of obsoleted index node
-+ *
-+ * Returns %0 on success, and a negative error code on failure.
-+ */
-+int insert_old_idx_znode(struct ubifs_info *c, struct ubifs_znode *znode)
-+{
-+ if (znode->parent) {
-+ struct ubifs_zbranch *zbr;
-+
-+ zbr = &znode->parent->zbranch[znode->iip];
-+ if (zbr->len)
-+ return insert_old_idx(c, zbr->lnum, zbr->offs);
-+ } else
-+ if (c->zroot.len)
-+ return insert_old_idx(c, c->zroot.lnum,
-+ c->zroot.offs);
-+ return 0;
-+}
-+
-+/**
-+ * ins_clr_old_idx_znode - record a znode obsoleted since last commit start.
-+ * @c: UBIFS file-system description object
-+ * @znode: znode of obsoleted index node
-+ *
-+ * Returns %0 on success, and a negative error code on failure.
-+ */
-+static int ins_clr_old_idx_znode(struct ubifs_info *c,
-+ struct ubifs_znode *znode)
-+{
-+ int err;
-+
-+ if (znode->parent) {
-+ struct ubifs_zbranch *zbr;
-+
-+ zbr = &znode->parent->zbranch[znode->iip];
-+ if (zbr->len) {
-+ err = insert_old_idx(c, zbr->lnum, zbr->offs);
-+ if (err)
-+ return err;
-+ zbr->lnum = 0;
-+ zbr->offs = 0;
-+ zbr->len = 0;
-+ }
-+ } else
-+ if (c->zroot.len) {
-+ err = insert_old_idx(c, c->zroot.lnum, c->zroot.offs);
-+ if (err)
-+ return err;
-+ c->zroot.lnum = 0;
-+ c->zroot.offs = 0;
-+ c->zroot.len = 0;
-+ }
-+ return 0;
-+}
-+
-+/**
-+ * destroy_old_idx - destroy the old_idx RB-tree.
-+ * @c: UBIFS file-system description object
-+ *
-+ * During start commit, the old_idx RB-tree is used to avoid overwriting index
-+ * nodes that were in the index last commit but have since been deleted. This
-+ * is necessary for recovery i.e. the old index must be kept intact until the
-+ * new index is successfully written. The old-idx RB-tree is used for the
-+ * in-the-gaps method of writing index nodes and is destroyed every commit.
-+ */
-+void destroy_old_idx(struct ubifs_info *c)
-+{
-+ struct rb_node *this = c->old_idx.rb_node;
-+ struct ubifs_old_idx *old_idx;
-+
-+ while (this) {
-+ if (this->rb_left) {
-+ this = this->rb_left;
-+ continue;
-+ } else if (this->rb_right) {
-+ this = this->rb_right;
-+ continue;
-+ }
-+ old_idx = rb_entry(this, struct ubifs_old_idx, rb);
-+ this = rb_parent(this);
-+ if (this) {
-+ if (this->rb_left == &old_idx->rb)
-+ this->rb_left = NULL;
-+ else
-+ this->rb_right = NULL;
-+ }
-+ kfree(old_idx);
-+ }
-+ c->old_idx = RB_ROOT;
-+}
-+
-+/**
-+ * copy_znode - copy a dirty znode.
-+ * @c: UBIFS file-system description object
-+ * @znode: znode to copy
-+ *
-+ * A dirty znode being committed may not be changed, so it is copied.
-+ */
-+static struct ubifs_znode *copy_znode(struct ubifs_info *c,
-+ struct ubifs_znode *znode)
-+{
-+ struct ubifs_znode *zn;
-+
-+ zn = kmalloc(c->max_znode_sz, GFP_NOFS);
-+ if (unlikely(!zn))
-+ return ERR_PTR(-ENOMEM);
-+
-+ memcpy(zn, znode, c->max_znode_sz);
-+ zn->cnext = NULL;
-+ __set_bit(DIRTY_ZNODE, &zn->flags);
-+ __clear_bit(COW_ZNODE, &zn->flags);
-+
-+ ubifs_assert(!test_bit(OBSOLETE_ZNODE, &znode->flags));
-+ __set_bit(OBSOLETE_ZNODE, &znode->flags);
-+
-+ if (znode->level != 0) {
-+ int i;
-+ const int n = zn->child_cnt;
-+
-+ /* The children now have new parent */
-+ for (i = 0; i < n; i++) {
-+ struct ubifs_zbranch *zbr = &zn->zbranch[i];
-+
-+ if (zbr->znode)
-+ zbr->znode->parent = zn;
-+ }
-+ }
-+
-+ atomic_long_inc(&c->dirty_zn_cnt);
-+ return zn;
-+}
-+
-+/**
-+ * add_idx_dirt - add dirt due to a dirty znode.
-+ * @c: UBIFS file-system description object
-+ * @lnum: LEB number of index node
-+ * @dirt: size of index node
-+ *
-+ * This function updates lprops dirty space and the new size of the index.
-+ */
-+static int add_idx_dirt(struct ubifs_info *c, int lnum, int dirt)
-+{
-+ c->calc_idx_sz -= ALIGN(dirt, 8);
-+ return ubifs_add_dirt(c, lnum, dirt);
-+}
-+
-+/**
-+ * dirty_cow_znode - ensure a znode is not being committed.
-+ * @c: UBIFS file-system description object
-+ * @zbr: branch of znode to check
-+ *
-+ * Returns dirtied znode on success or negative error code on failure.
-+ */
-+static struct ubifs_znode *dirty_cow_znode(struct ubifs_info *c,
-+ struct ubifs_zbranch *zbr)
-+{
-+ struct ubifs_znode *znode = zbr->znode;
-+ struct ubifs_znode *zn;
-+ int err;
-+
-+ if (!test_bit(COW_ZNODE, &znode->flags)) {
-+ /* znode is not being committed */
-+ if (!test_and_set_bit(DIRTY_ZNODE, &znode->flags)) {
-+ atomic_long_inc(&c->dirty_zn_cnt);
-+ atomic_long_dec(&c->clean_zn_cnt);
-+ atomic_long_dec(&ubifs_clean_zn_cnt);
-+ err = add_idx_dirt(c, zbr->lnum, zbr->len);
-+ if (unlikely(err))
-+ return ERR_PTR(err);
-+ }
-+ return znode;
-+ }
-+
-+ zn = copy_znode(c, znode);
-+ if (IS_ERR(zn))
-+ return zn;
-+
-+ if (zbr->len) {
-+ err = insert_old_idx(c, zbr->lnum, zbr->offs);
-+ if (unlikely(err))
-+ return ERR_PTR(err);
-+ err = add_idx_dirt(c, zbr->lnum, zbr->len);
-+ } else
-+ err = 0;
-+
-+ zbr->znode = zn;
-+ zbr->lnum = 0;
-+ zbr->offs = 0;
-+ zbr->len = 0;
-+
-+ if (unlikely(err))
-+ return ERR_PTR(err);
-+ return zn;
-+}
-+
-+/**
-+ * lnc_add - add a leaf node to the leaf node cache.
-+ * @c: UBIFS file-system description object
-+ * @zbr: zbranch of leaf node
-+ * @node: leaf node
-+ *
-+ * Leaf nodes are non-index nodes directory entry nodes or data nodes. The
-+ * purpose of the leaf node cache is to save re-reading the same leaf node over
-+ * and over again. Most things are cached by VFS, however the file system must
-+ * cache directory entries for readdir and for resolving hash collisions. The
-+ * present implementation of the leaf node cache is extremely simple, and
-+ * allows for error returns that are not used but that may be needed if a more
-+ * complex implementation is created.
-+ *
-+ * Note, this function does not add the @node object to LNC directly, but
-+ * allocates a copy of the object and adds the copy to LNC. The reason for this
-+ * is that @node has been allocated outside of the TNC subsystem and will be
-+ * used with @c->tnc_mutex unlock upon return from the TNC subsystem. But LNC
-+ * may be changed at any time, e.g. freed by the shrinker.
-+ */
-+static int lnc_add(struct ubifs_info *c, struct ubifs_zbranch *zbr,
-+ const void *node)
-+{
-+ int err;
-+ void *lnc_node;
-+ const struct ubifs_dent_node *dent = node;
-+
-+ ubifs_assert(!zbr->leaf);
-+ ubifs_assert(zbr->len != 0);
-+ ubifs_assert(is_hash_key(c, &zbr->key));
-+
-+ err = ubifs_validate_entry(c, dent);
-+ if (err) {
-+ dbg_dump_stack();
-+ dbg_dump_node(c, dent);
-+ return err;
-+ }
-+
-+ lnc_node = kmalloc(zbr->len, GFP_NOFS);
-+ if (!lnc_node)
-+ /* We don't have to have the cache, so no error */
-+ return 0;
-+
-+ memcpy(lnc_node, node, zbr->len);
-+ zbr->leaf = lnc_node;
-+ return 0;
-+}
-+
-+ /**
-+ * lnc_add_directly - add a leaf node to the leaf-node-cache.
-+ * @c: UBIFS file-system description object
-+ * @zbr: zbranch of leaf node
-+ * @node: leaf node
-+ *
-+ * This function is similar to 'lnc_add()', but it does not create a copy of
-+ * @node but inserts @node to TNC directly.
-+ */
-+static int lnc_add_directly(struct ubifs_info *c, struct ubifs_zbranch *zbr,
-+ void *node)
-+{
-+ int err;
-+
-+ ubifs_assert(!zbr->leaf);
-+ ubifs_assert(zbr->len != 0);
-+
-+ err = ubifs_validate_entry(c, node);
-+ if (err) {
-+ dbg_dump_stack();
-+ dbg_dump_node(c, node);
-+ return err;
-+ }
-+
-+ zbr->leaf = node;
-+ return 0;
-+}
-+
-+/**
-+ * lnc_free - remove a leaf node from the leaf node cache.
-+ * @zbr: zbranch of leaf node
-+ * @node: leaf node
-+ */
-+static void lnc_free(struct ubifs_zbranch *zbr)
-+{
-+ if (!zbr->leaf)
-+ return;
-+ kfree(zbr->leaf);
-+ zbr->leaf = NULL;
-+}
-+
-+/**
-+ * tnc_read_node_nm - read a "hashed" leaf node.
-+ * @c: UBIFS file-system description object
-+ * @zbr: key and position of the node
-+ * @node: node is returned here
-+ *
-+ * This function reads a "hashed" node defined by @zbr from the leaf node cache
-+ * (in it is there) or from the hash media, in which case the node is also
-+ * added to LNC. Returns zero in case of success or a negative negative error
-+ * code in case of failure.
-+ */
-+static int tnc_read_node_nm(struct ubifs_info *c, struct ubifs_zbranch *zbr,
-+ void *node)
-+{
-+ int err;
-+
-+ ubifs_assert(is_hash_key(c, &zbr->key));
-+
-+ if (zbr->leaf) {
-+ /* Read from the leaf node cache */
-+ ubifs_assert(zbr->len != 0);
-+ memcpy(node, zbr->leaf, zbr->len);
-+ return 0;
-+ }
-+
-+ err = ubifs_tnc_read_node(c, zbr, node);
-+ if (err)
-+ return err;
-+
-+ /* Add the node to the leaf node cache */
-+ err = lnc_add(c, zbr, node);
-+ return err;
-+}
-+
-+/**
-+ * try_read_node - read a node if it is a node.
-+ * @c: UBIFS file-system description object
-+ * @buf: buffer to read to
-+ * @type: node type
-+ * @len: node length (not aligned)
-+ * @lnum: LEB number of node to read
-+ * @offs: offset of node to read
-+ *
-+ * This function tries to read a node of known type and length, checks it and
-+ * stores it in @buf. This function returns %1 if a node is present and %0 if
-+ * a node is not present. A negative error code is returned for I/O errors.
-+ * This function performs that same function as ubifs_read_node except that
-+ * it does not require that there is actually a node present and instead
-+ * the return code indicates if a node was read.
-+ *
-+ * Note, this function does not check CRC of data nodes if @c->no_chk_data_crc
-+ * is true (it is controlled by corresponding mount option). However, if
-+ * @c->always_chk_crc is true, @c->no_chk_data_crc is ignored and CRC is always
-+ * checked.
-+ */
-+static int try_read_node(const struct ubifs_info *c, void *buf, int type,
-+ int len, int lnum, int offs)
-+{
-+ int err, node_len;
-+ struct ubifs_ch *ch = buf;
-+ uint32_t crc, node_crc;
-+
-+ dbg_io("LEB %d:%d, %s, length %d", lnum, offs, dbg_ntype(type), len);
-+
-+ err = ubi_read(c->ubi, lnum, buf, offs, len);
-+ if (err) {
-+ ubifs_err("cannot read node type %d from LEB %d:%d, error %d",
-+ type, lnum, offs, err);
-+ return err;
-+ }
-+
-+ if (le32_to_cpu(ch->magic) != UBIFS_NODE_MAGIC)
-+ return 0;
-+
-+ if (ch->node_type != type)
-+ return 0;
-+
-+ node_len = le32_to_cpu(ch->len);
-+ if (node_len != len)
-+ return 0;
-+
-+ if (type == UBIFS_DATA_NODE && !c->always_chk_crc && c->no_chk_data_crc)
-+ return 1;
-+
-+ crc = crc32(UBIFS_CRC32_INIT, buf + 8, node_len - 8);
-+ node_crc = le32_to_cpu(ch->crc);
-+ if (crc != node_crc)
-+ return 0;
-+
-+ return 1;
-+}
-+
-+/**
-+ * fallible_read_node - try to read a leaf node.
-+ * @c: UBIFS file-system description object
-+ * @key: key of node to read
-+ * @zbr: position of node
-+ * @node: node returned
-+ *
-+ * This function tries to read a node and returns %1 if the node is read, %0
-+ * if the node is not present, and a negative error code in the case of error.
-+ */
-+static int fallible_read_node(struct ubifs_info *c, const union ubifs_key *key,
-+ struct ubifs_zbranch *zbr, void *node)
-+{
-+ int ret;
-+
-+ dbg_tnc("LEB %d:%d, key %s", zbr->lnum, zbr->offs, DBGKEY(key));
-+
-+ ret = try_read_node(c, node, key_type(c, key), zbr->len, zbr->lnum,
-+ zbr->offs);
-+ if (ret == 1) {
-+ union ubifs_key node_key;
-+ struct ubifs_dent_node *dent = node;
-+
-+ /* All nodes have key in the same place */
-+ key_read(c, &dent->key, &node_key);
-+ if (keys_cmp(c, key, &node_key) != 0)
-+ ret = 0;
-+ }
-+ if (ret == 0 && c->replaying)
-+ dbg_mnt("dangling branch LEB %d:%d len %d, key %s",
-+ zbr->lnum, zbr->offs, zbr->len, DBGKEY(key));
-+ return ret;
-+}
-+
-+/**
-+ * matches_name - determine if a direntry or xattr entry matches a given name.
-+ * @c: UBIFS file-system description object
-+ * @zbr: zbranch of dent
-+ * @nm: name to match
-+ *
-+ * This function checks if xentry/direntry referred by zbranch @zbr matches name
-+ * @nm. Returns %NAME_MATCHES if it does, %NAME_LESS if the name referred by
-+ * @zbr is less than @nm, and %NAME_GREATER if it is greater than @nm. In case
-+ * of failure, a negative error code is returned.
-+ */
-+static int matches_name(struct ubifs_info *c, struct ubifs_zbranch *zbr,
-+ const struct qstr *nm)
-+{
-+ struct ubifs_dent_node *dent;
-+ int nlen, err;
-+
-+ /* If possible, match against the dent in the leaf node cache */
-+ if (!zbr->leaf) {
-+ dent = kmalloc(zbr->len, GFP_NOFS);
-+ if (!dent)
-+ return -ENOMEM;
-+
-+ err = ubifs_tnc_read_node(c, zbr, dent);
-+ if (err)
-+ goto out_free;
-+
-+ /* Add the node to the leaf node cache */
-+ err = lnc_add_directly(c, zbr, dent);
-+ if (err)
-+ goto out_free;
-+ } else
-+ dent = zbr->leaf;
-+
-+ nlen = le16_to_cpu(dent->nlen);
-+ err = memcmp(dent->name, nm->name, min_t(int, nlen, nm->len));
-+ if (err == 0) {
-+ if (nlen == nm->len)
-+ return NAME_MATCHES;
-+ else if (nlen < nm->len)
-+ return NAME_LESS;
-+ else
-+ return NAME_GREATER;
-+ } else if (err < 0)
-+ return NAME_LESS;
-+ else
-+ return NAME_GREATER;
-+
-+out_free:
-+ kfree(dent);
-+ return err;
-+}
-+
-+/**
-+ * get_znode - get a TNC znode that may not be loaded yet.
-+ * @c: UBIFS file-system description object
-+ * @znode: parent znode
-+ * @n: znode branch slot number
-+ *
-+ * This function returns the znode or a negative error code.
-+ */
-+static struct ubifs_znode *get_znode(struct ubifs_info *c,
-+ struct ubifs_znode *znode, int n)
-+{
-+ struct ubifs_zbranch *zbr;
-+
-+ zbr = &znode->zbranch[n];
-+ if (zbr->znode)
-+ znode = zbr->znode;
-+ else
-+ znode = ubifs_load_znode(c, zbr, znode, n);
-+ return znode;
-+}
-+
-+/**
-+ * tnc_next - find next TNC entry.
-+ * @c: UBIFS file-system description object
-+ * @zn: znode is passed and returned here
-+ * @n: znode branch slot number is passed and returned here
-+ *
-+ * This function returns %0 if the next TNC entry is found, %-ENOENT if there is
-+ * no next entry, or a negative error code otherwise.
-+ */
-+static int tnc_next(struct ubifs_info *c, struct ubifs_znode **zn, int *n)
-+{
-+ struct ubifs_znode *znode = *zn;
-+ int nn = *n;
-+
-+ nn += 1;
-+ if (nn < znode->child_cnt) {
-+ *n = nn;
-+ return 0;
-+ }
-+ while (1) {
-+ struct ubifs_znode *zp;
-+
-+ zp = znode->parent;
-+ if (!zp)
-+ return -ENOENT;
-+ nn = znode->iip + 1;
-+ znode = zp;
-+ if (nn < znode->child_cnt) {
-+ znode = get_znode(c, znode, nn);
-+ if (IS_ERR(znode))
-+ return PTR_ERR(znode);
-+ while (znode->level != 0) {
-+ znode = get_znode(c, znode, 0);
-+ if (IS_ERR(znode))
-+ return PTR_ERR(znode);
-+ }
-+ nn = 0;
-+ break;
-+ }
-+ }
-+ *zn = znode;
-+ *n = nn;
-+ return 0;
-+}
-+
-+/**
-+ * tnc_prev - find previous TNC entry.
-+ * @c: UBIFS file-system description object
-+ * @zn: znode is returned here
-+ * @n: znode branch slot number is passed and returned here
-+ *
-+ * This function returns %0 if the previous TNC entry is found, %-ENOENT if
-+ * there is no next entry, or a negative error code otherwise.
-+ */
-+static int tnc_prev(struct ubifs_info *c, struct ubifs_znode **zn, int *n)
-+{
-+ struct ubifs_znode *znode = *zn;
-+ int nn = *n;
-+
-+ if (nn > 0) {
-+ *n = nn - 1;
-+ return 0;
-+ }
-+ while (1) {
-+ struct ubifs_znode *zp;
-+
-+ zp = znode->parent;
-+ if (!zp)
-+ return -ENOENT;
-+ nn = znode->iip - 1;
-+ znode = zp;
-+ if (nn >= 0) {
-+ znode = get_znode(c, znode, nn);
-+ if (IS_ERR(znode))
-+ return PTR_ERR(znode);
-+ while (znode->level != 0) {
-+ nn = znode->child_cnt - 1;
-+ znode = get_znode(c, znode, nn);
-+ if (IS_ERR(znode))
-+ return PTR_ERR(znode);
-+ }
-+ nn = znode->child_cnt - 1;
-+ break;
-+ }
-+ }
-+ *zn = znode;
-+ *n = nn;
-+ return 0;
-+}
-+
-+/**
-+ * resolve_collision - resolve a collision.
-+ * @c: UBIFS file-system description object
-+ * @key: key of a directory or extended attribute entry
-+ * @zn: znode is returned here
-+ * @n: zbranch number is passed and returned here
-+ * @nm: name of the entry
-+ *
-+ * This function is called for "hashed" keys to make sure that the found key
-+ * really corresponds to the looked up node (directory or extended attribute
-+ * entry). It returns %1 and sets @zn and @n if the collision is resolved.
-+ * %0 is returned if @nm is not found and @zn and @n are set to the previous
-+ * entry, i.e. to the entry after which @nm could follow if it were in TNC.
-+ * This means that @n may be set to %-1 if the leftmost key in @zn is the
-+ * previous one. A negative error code is returned on failures.
-+ */
-+static int resolve_collision(struct ubifs_info *c, const union ubifs_key *key,
-+ struct ubifs_znode **zn, int *n,
-+ const struct qstr *nm)
-+{
-+ int err;
-+
-+ err = matches_name(c, &(*zn)->zbranch[*n], nm);
-+ if (unlikely(err < 0))
-+ return err;
-+ if (err == NAME_MATCHES)
-+ return 1;
-+
-+ if (err == NAME_GREATER) {
-+ /* Look left */
-+ while (1) {
-+ err = tnc_prev(c, zn, n);
-+ if (err == -ENOENT) {
-+ ubifs_assert(*n == 0);
-+ *n = -1;
-+ return 0;
-+ }
-+ if (err < 0)
-+ return err;
-+ if (keys_cmp(c, &(*zn)->zbranch[*n].key, key)) {
-+ /*
-+ * We have found the branch after which we would
-+ * like to insert, but inserting in this znode
-+ * may still be wrong. Consider the following 3
-+ * znodes, in the case where we are resolving a
-+ * collision with Key2.
-+ *
-+ * znode zp
-+ * ----------------------
-+ * level 1 | Key0 | Key1 |
-+ * -----------------------
-+ * | |
-+ * znode za | | znode zb
-+ * ------------ ------------
-+ * level 0 | Key0 | | Key2 |
-+ * ------------ ------------
-+ *
-+ * The lookup finds Key2 in znode zb. Lets say
-+ * there is no match and the name is greater so
-+ * we look left. When we find Key0, we end up
-+ * here. If we return now, we will insert into
-+ * znode za at slot n = 1. But that is invalid
-+ * according to the parent's keys. Key2 must
-+ * be inserted into znode zb.
-+ *
-+ * Note, this problem is not relevant for the
-+ * case when we go right, because
-+ * 'tnc_insert()' would correct the parent key.
-+ */
-+ if (*n == (*zn)->child_cnt - 1) {
-+ err = tnc_next(c, zn, n);
-+ if (err) {
-+ /* Should be impossible */
-+ ubifs_assert(0);
-+ if (err == -ENOENT)
-+ err = -EINVAL;
-+ return err;
-+ }
-+ ubifs_assert(*n == 0);
-+ *n = -1;
-+ }
-+ return 0;
-+ }
-+ err = matches_name(c, &(*zn)->zbranch[*n], nm);
-+ if (err < 0)
-+ return err;
-+ if (err == NAME_LESS)
-+ return 0;
-+ if (err == NAME_MATCHES)
-+ return 1;
-+ ubifs_assert(err == NAME_GREATER);
-+ }
-+ } else {
-+ int nn = *n;
-+ struct ubifs_znode *znode = *zn;
-+
-+ /* Look right */
-+ while (1) {
-+ err = tnc_next(c, &znode, &nn);
-+ if (err == -ENOENT)
-+ return 0;
-+ if (err < 0)
-+ return err;
-+ if (keys_cmp(c, &znode->zbranch[nn].key, key))
-+ return 0;
-+ err = matches_name(c, &znode->zbranch[nn], nm);
-+ if (err < 0)
-+ return err;
-+ if (err == NAME_GREATER)
-+ return 0;
-+ *zn = znode;
-+ *n = nn;
-+ if (err == NAME_MATCHES)
-+ return 1;
-+ ubifs_assert(err == NAME_LESS);
-+ }
-+ }
-+}
-+
-+/**
-+ * fallible_matches_name - determine if a dent matches a given name.
-+ * @c: UBIFS file-system description object
-+ * @zbr: zbranch of dent
-+ * @nm: name to match
-+ *
-+ * This is a "fallible" version of 'matches_name()' function which does not
-+ * panic if the direntry/xentry referred by @zbr does not exist on the media.
-+ *
-+ * This function checks if xentry/direntry referred by zbranch @zbr matches name
-+ * @nm. Returns %NAME_MATCHES it does, %NAME_LESS if the name referred by @zbr
-+ * is less than @nm, %NAME_GREATER if it is greater than @nm, and @NOT_ON_MEDIA
-+ * if xentry/direntry referred by @zbr does not exist on the media. A negative
-+ * error code is returned in case of failure.
-+ */
-+static int fallible_matches_name(struct ubifs_info *c,
-+ struct ubifs_zbranch *zbr,
-+ const struct qstr *nm)
-+{
-+ struct ubifs_dent_node *dent;
-+ int nlen, err;
-+
-+ /* If possible, match against the dent in the leaf node cache */
-+ if (!zbr->leaf) {
-+ dent = kmalloc(zbr->len, GFP_NOFS);
-+ if (!dent)
-+ return -ENOMEM;
-+
-+ err = fallible_read_node(c, &zbr->key, zbr, dent);
-+ if (err < 0)
-+ goto out_free;
-+ if (err == 0) {
-+ /* The node was not present */
-+ err = NOT_ON_MEDIA;
-+ goto out_free;
-+ }
-+ ubifs_assert(err == 1);
-+
-+ err = lnc_add_directly(c, zbr, dent);
-+ if (err)
-+ goto out_free;
-+ } else
-+ dent = zbr->leaf;
-+
-+ nlen = le16_to_cpu(dent->nlen);
-+ err = memcmp(dent->name, nm->name, min_t(int, nlen, nm->len));
-+ if (err == 0) {
-+ if (nlen == nm->len)
-+ return NAME_MATCHES;
-+ else if (nlen < nm->len)
-+ return NAME_LESS;
-+ else
-+ return NAME_GREATER;
-+ } else if (err < 0)
-+ return NAME_LESS;
-+ else
-+ return NAME_GREATER;
-+
-+out_free:
-+ kfree(dent);
-+ return err;
-+}
-+
-+/**
-+ * fallible_resolve_collision - resolve a collision even if nodes are missing.
-+ * @c: UBIFS file-system description object
-+ * @key: key
-+ * @zn: znode is returned here
-+ * @n: branch number is passed and returned here
-+ * @nm: name of directory entry
-+ * @adding: indicates caller is adding a key to the TNC
-+ *
-+ * This is a "fallible" version of the 'resolve_collision()' function which
-+ * does not panic if one of the nodes referred to by TNC does not exist on the
-+ * media. This may happen when replaying the journal if a deleted node was
-+ * Garbage-collected and the commit was not done. A branch that refers to a node
-+ * that is not present is called a dangling branch. The following are the return
-+ * codes for this function:
-+ * o if @nm was found, %1 is returned and @zn and @n are set to the found
-+ * branch;
-+ * o if we are @adding and @nm was not found, %0 is returned;
-+ * o if we are not @adding and @nm was not found, but a dangling branch was
-+ * found, then %1 is returned and @zn and @n are set to the dangling branch;
-+ * o a negative error code is returned in case of failure.
-+ */
-+static int fallible_resolve_collision(struct ubifs_info *c,
-+ const union ubifs_key *key,
-+ struct ubifs_znode **zn, int *n,
-+ const struct qstr *nm, int adding)
-+{
-+ struct ubifs_znode *o_znode = NULL, *znode = *zn;
-+ int uninitialized_var(o_n), err, cmp, unsure = 0, nn = *n;
-+
-+ cmp = fallible_matches_name(c, &znode->zbranch[nn], nm);
-+ if (unlikely(cmp < 0))
-+ return cmp;
-+ if (cmp == NAME_MATCHES)
-+ return 1;
-+ if (cmp == NOT_ON_MEDIA) {
-+ o_znode = znode;
-+ o_n = nn;
-+ /*
-+ * We are unlucky and hit a dangling branch straight away.
-+ * Now we do not really know where to go to find the needed
-+ * branch - to the left or to the right. Well, let's try left.
-+ */
-+ unsure = 1;
-+ } else if (!adding)
-+ unsure = 1; /* Remove a dangling branch wherever it is */
-+
-+ if (cmp == NAME_GREATER || unsure) {
-+ /* Look left */
-+ while (1) {
-+ err = tnc_prev(c, zn, n);
-+ if (err == -ENOENT) {
-+ ubifs_assert(*n == 0);
-+ *n = -1;
-+ break;
-+ }
-+ if (err < 0)
-+ return err;
-+ if (keys_cmp(c, &(*zn)->zbranch[*n].key, key)) {
-+ /* See comments in 'resolve_collision()' */
-+ if (*n == (*zn)->child_cnt - 1) {
-+ err = tnc_next(c, zn, n);
-+ if (err) {
-+ /* Should be impossible */
-+ ubifs_assert(0);
-+ if (err == -ENOENT)
-+ err = -EINVAL;
-+ return err;
-+ }
-+ ubifs_assert(*n == 0);
-+ *n = -1;
-+ }
-+ break;
-+ }
-+ err = fallible_matches_name(c, &(*zn)->zbranch[*n], nm);
-+ if (err < 0)
-+ return err;
-+ if (err == NAME_MATCHES)
-+ return 1;
-+ if (err == NOT_ON_MEDIA) {
-+ o_znode = *zn;
-+ o_n = *n;
-+ continue;
-+ }
-+ if (!adding)
-+ continue;
-+ if (err == NAME_LESS)
-+ break;
-+ else
-+ unsure = 0;
-+ }
-+ }
-+
-+ if (cmp == NAME_LESS || unsure) {
-+ /* Look right */
-+ *zn = znode;
-+ *n = nn;
-+ while (1) {
-+ err = tnc_next(c, &znode, &nn);
-+ if (err == -ENOENT)
-+ break;
-+ if (err < 0)
-+ return err;
-+ if (keys_cmp(c, &znode->zbranch[nn].key, key))
-+ break;
-+ err = fallible_matches_name(c, &znode->zbranch[nn], nm);
-+ if (err < 0)
-+ return err;
-+ if (err == NAME_GREATER)
-+ break;
-+ *zn = znode;
-+ *n = nn;
-+ if (err == NAME_MATCHES)
-+ return 1;
-+ if (err == NOT_ON_MEDIA) {
-+ o_znode = znode;
-+ o_n = nn;
-+ }
-+ }
-+ }
-+
-+ /* Never match a dangling branch when adding */
-+ if (adding || !o_znode)
-+ return 0;
-+
-+ dbg_mnt("dangling match LEB %d:%d len %d %s",
-+ o_znode->zbranch[o_n].lnum, o_znode->zbranch[o_n].offs,
-+ o_znode->zbranch[o_n].len, DBGKEY(key));
-+ *zn = o_znode;
-+ *n = o_n;
-+ return 1;
-+}
-+
-+/**
-+ * matches_position - determine if a zbranch matches a given position.
-+ * @zbr: zbranch of dent
-+ * @lnum: LEB number of dent to match
-+ * @offs: offset of dent to match
-+ *
-+ * This function returns %1 if @lnum:@offs matches, and %0 otherwise.
-+ */
-+static int matches_position(struct ubifs_zbranch *zbr, int lnum, int offs)
-+{
-+ if (zbr->lnum == lnum && zbr->offs == offs)
-+ return 1;
-+ else
-+ return 0;
-+}
-+
-+/**
-+ * resolve_collision_directly - resolve a collision directly.
-+ * @c: UBIFS file-system description object
-+ * @key: key of directory entry
-+ * @zn: znode is passed and returned here
-+ * @n: zbranch number is passed and returned here
-+ * @lnum: LEB number of dent node to match
-+ * @offs: offset of dent node to match
-+ *
-+ * This function is used for "hashed" keys to make sure the found directory or
-+ * extended attribute entry node is what was looked for. It is used when the
-+ * flash address of the right node is known (@lnum:@offs) which makes it much
-+ * easier to resolve collisions (no need to read entries and match full
-+ * names). This function returns %1 and sets @zn and @n if the collision is
-+ * resolved, %0 if @lnum:@offs is not found and @zn and @n are set to the
-+ * previous directory entry. Otherwise a negative error code is returned.
-+ */
-+static int resolve_collision_directly(struct ubifs_info *c,
-+ const union ubifs_key *key,
-+ struct ubifs_znode **zn, int *n,
-+ int lnum, int offs)
-+{
-+ struct ubifs_znode *znode;
-+ int nn, err;
-+
-+ znode = *zn;
-+ nn = *n;
-+ if (matches_position(&znode->zbranch[nn], lnum, offs))
-+ return 1;
-+
-+ /* Look left */
-+ while (1) {
-+ err = tnc_prev(c, &znode, &nn);
-+ if (err == -ENOENT)
-+ break;
-+ if (err < 0)
-+ return err;
-+ if (keys_cmp(c, &znode->zbranch[nn].key, key))
-+ break;
-+ if (matches_position(&znode->zbranch[nn], lnum, offs)) {
-+ *zn = znode;
-+ *n = nn;
-+ return 1;
-+ }
-+ }
-+
-+ /* Look right */
-+ znode = *zn;
-+ nn = *n;
-+ while (1) {
-+ err = tnc_next(c, &znode, &nn);
-+ if (err == -ENOENT)
-+ return 0;
-+ if (err < 0)
-+ return err;
-+ if (keys_cmp(c, &znode->zbranch[nn].key, key))
-+ return 0;
-+ *zn = znode;
-+ *n = nn;
-+ if (matches_position(&znode->zbranch[nn], lnum, offs))
-+ return 1;
-+ }
-+}
-+
-+/**
-+ * dirty_cow_bottom_up - dirty a znode and its ancestors.
-+ * @c: UBIFS file-system description object
-+ * @znode: znode to dirty
-+ *
-+ * If we do not have a unique key that resides in a znode, then we cannot
-+ * dirty that znode from the top down (i.e. by using lookup_level0_dirty)
-+ * This function records the path back to the last dirty ancestor, and then
-+ * dirties the znodes on that path.
-+ */
-+static struct ubifs_znode *dirty_cow_bottom_up(struct ubifs_info *c,
-+ struct ubifs_znode *znode)
-+{
-+ struct ubifs_znode *zp;
-+ int *path = c->bottom_up_buf, p = 0;
-+
-+ ubifs_assert(c->zroot.znode);
-+ ubifs_assert(znode);
-+ if (c->zroot.znode->level > BOTTOM_UP_HEIGHT) {
-+ kfree(c->bottom_up_buf);
-+ c->bottom_up_buf = kmalloc(c->zroot.znode->level * sizeof(int),
-+ GFP_NOFS);
-+ if (!c->bottom_up_buf)
-+ return ERR_PTR(-ENOMEM);
-+ path = c->bottom_up_buf;
-+ }
-+ if (c->zroot.znode->level) {
-+ /* Go up until parent is dirty */
-+ while (1) {
-+ int n;
-+
-+ zp = znode->parent;
-+ if (!zp)
-+ break;
-+ n = znode->iip;
-+ ubifs_assert(p < c->zroot.znode->level);
-+ path[p++] = n;
-+ if (!zp->cnext && ubifs_zn_dirty(znode))
-+ break;
-+ znode = zp;
-+ }
-+ }
-+
-+ /* Come back down, dirtying as we go */
-+ while (1) {
-+ struct ubifs_zbranch *zbr;
-+
-+ zp = znode->parent;
-+ if (zp) {
-+ ubifs_assert(path[p - 1] >= 0);
-+ ubifs_assert(path[p - 1] < zp->child_cnt);
-+ zbr = &zp->zbranch[path[--p]];
-+ znode = dirty_cow_znode(c, zbr);
-+ } else {
-+ ubifs_assert(znode == c->zroot.znode);
-+ znode = dirty_cow_znode(c, &c->zroot);
-+ }
-+ if (IS_ERR(znode) || !p)
-+ break;
-+ ubifs_assert(path[p - 1] >= 0);
-+ ubifs_assert(path[p - 1] < znode->child_cnt);
-+ znode = znode->zbranch[path[p - 1]].znode;
-+ }
-+
-+ return znode;
-+}
-+
-+/**
-+ * ubifs_lookup_level0 - search for zero-level znode.
-+ * @c: UBIFS file-system description object
-+ * @key: key to lookup
-+ * @zn: znode is returned here
-+ * @n: znode branch slot number is returned here
-+ *
-+ * This function looks up the TNC tree and search for zero-level znode which
-+ * refers key @key. The found zero-level znode is returned in @zn. There are 3
-+ * cases:
-+ * o exact match, i.e. the found zero-level znode contains key @key, then %1
-+ * is returned and slot number of the matched branch is stored in @n;
-+ * o not exact match, which means that zero-level znode does not contain
-+ * @key, then %0 is returned and slot number of the closed branch is stored
-+ * in @n;
-+ * o @key is so small that it is even less than the lowest key of the
-+ * leftmost zero-level node, then %0 is returned and %0 is stored in @n.
-+ *
-+ * Note, when the TNC tree is traversed, some znodes may be absent, then this
-+ * function reads corresponding indexing nodes and inserts them to TNC. In
-+ * case of failure, a negative error code is returned.
-+ */
-+int ubifs_lookup_level0(struct ubifs_info *c, const union ubifs_key *key,
-+ struct ubifs_znode **zn, int *n)
-+{
-+ int err, exact;
-+ struct ubifs_znode *znode;
-+ unsigned long time = get_seconds();
-+
-+ dbg_tnc("search key %s", DBGKEY(key));
-+
-+ znode = c->zroot.znode;
-+ if (unlikely(!znode)) {
-+ znode = ubifs_load_znode(c, &c->zroot, NULL, 0);
-+ if (IS_ERR(znode))
-+ return PTR_ERR(znode);
-+ }
-+
-+ znode->time = time;
-+
-+ while (1) {
-+ struct ubifs_zbranch *zbr;
-+
-+ exact = ubifs_search_zbranch(c, znode, key, n);
-+
-+ if (znode->level == 0)
-+ break;
-+
-+ if (*n < 0)
-+ *n = 0;
-+ zbr = &znode->zbranch[*n];
-+
-+ if (zbr->znode) {
-+ znode->time = time;
-+ znode = zbr->znode;
-+ continue;
-+ }
-+
-+ /* znode is not in TNC cache, load it from the media */
-+ znode = ubifs_load_znode(c, zbr, znode, *n);
-+ if (IS_ERR(znode))
-+ return PTR_ERR(znode);
-+ }
-+
-+ *zn = znode;
-+ if (exact || !is_hash_key(c, key) || *n != -1) {
-+ dbg_tnc("found %d, lvl %d, n %d", exact, znode->level, *n);
-+ return exact;
-+ }
-+
-+ /*
-+ * Here is a tricky place. We have not found the key and this is a
-+ * "hashed" key, which may collide. The rest of the code deals with
-+ * situations like this:
-+ *
-+ * | 3 | 5 |
-+ * / \
-+ * | 3 | 5 | | 6 | 7 | (x)
-+ *
-+ * Or more a complex example:
-+ *
-+ * | 1 | 5 |
-+ * / \
-+ * | 1 | 3 | | 5 | 8 |
-+ * \ /
-+ * | 5 | 5 | | 6 | 7 | (x)
-+ *
-+ * In the examples, if we are looking for key "5", we may reach nodes
-+ * marked with "(x)". In this case what we have do is to look at the
-+ * left and see if there is "5" key there. If there is, we have to
-+ * return it.
-+ *
-+ * Note, this whole situation is possible because we allow to have
-+ * elements which are equivalent to the next key in the parent in the
-+ * children of current znode. For example, this happens if we split a
-+ * znode like this: | 3 | 5 | 5 | 6 | 7 |, which results in something
-+ * like this:
-+ * | 3 | 5 |
-+ * / \
-+ * | 3 | 5 | | 5 | 6 | 7 |
-+ * ^
-+ * And this becomes what is at the first "picture" after key "5" marked
-+ * with "^" is removed. What could be done is we could prohibit
-+ * splitting in the middle of the colliding sequence. Also, when
-+ * removing the leftmost key, we would have to correct the key of the
-+ * parent node, which would introduce additional complications. Namely,
-+ * if we changed the the leftmost key of the parent znode, the garbage
-+ * collector would be unable to find it (GC is doing this when GC'ing
-+ * indexing LEBs). Although we already have an additional RB-tree where
-+ * we save such changed znodes (see 'ins_clr_old_idx_znode()') until
-+ * after the commit. But anyway, this does not look easy to implement
-+ * so we did not try this.
-+ */
-+ err = tnc_prev(c, &znode, n);
-+ if (err == -ENOENT) {
-+ dbg_tnc("found 0, lvl %d, n -1", znode->level);
-+ *n = -1;
-+ return 0;
-+ }
-+ if (unlikely(err < 0))
-+ return err;
-+ if (keys_cmp(c, key, &znode->zbranch[*n].key)) {
-+ dbg_tnc("found 0, lvl %d, n -1", znode->level);
-+ *n = -1;
-+ return 0;
-+ }
-+
-+ dbg_tnc("found 1, lvl %d, n %d", znode->level, *n);
-+ *zn = znode;
-+ return 1;
-+}
-+
-+/**
-+ * lookup_level0_dirty - search for zero-level znode dirtying.
-+ * @c: UBIFS file-system description object
-+ * @key: key to lookup
-+ * @zn: znode is returned here
-+ * @n: znode branch slot number is returned here
-+ *
-+ * This function looks up the TNC tree and search for zero-level znode which
-+ * refers key @key. The found zero-level znode is returned in @zn. There are 3
-+ * cases:
-+ * o exact match, i.e. the found zero-level znode contains key @key, then %1
-+ * is returned and slot number of the matched branch is stored in @n;
-+ * o not exact match, which means that zero-level znode does not contain @key
-+ * then %0 is returned and slot number of the closed branch is stored in
-+ * @n;
-+ * o @key is so small that it is even less than the lowest key of the
-+ * leftmost zero-level node, then %0 is returned and %-1 is stored in @n.
-+ *
-+ * Additionally all znodes in the path from the root to the located zero-level
-+ * znode are marked as dirty.
-+ *
-+ * Note, when the TNC tree is traversed, some znodes may be absent, then this
-+ * function reads corresponding indexing nodes and inserts them to TNC. In
-+ * case of failure, a negative error code is returned.
-+ */
-+static int lookup_level0_dirty(struct ubifs_info *c, const union ubifs_key *key,
-+ struct ubifs_znode **zn, int *n)
-+{
-+ int err, exact;
-+ struct ubifs_znode *znode;
-+ unsigned long time = get_seconds();
-+
-+ dbg_tnc("search and dirty key %s", DBGKEY(key));
-+
-+ znode = c->zroot.znode;
-+ if (unlikely(!znode)) {
-+ znode = ubifs_load_znode(c, &c->zroot, NULL, 0);
-+ if (IS_ERR(znode))
-+ return PTR_ERR(znode);
-+ }
-+
-+ znode = dirty_cow_znode(c, &c->zroot);
-+ if (IS_ERR(znode))
-+ return PTR_ERR(znode);
-+
-+ znode->time = time;
-+
-+ while (1) {
-+ struct ubifs_zbranch *zbr;
-+
-+ exact = ubifs_search_zbranch(c, znode, key, n);
-+
-+ if (znode->level == 0)
-+ break;
-+
-+ if (*n < 0)
-+ *n = 0;
-+ zbr = &znode->zbranch[*n];
-+
-+ if (zbr->znode) {
-+ znode->time = time;
-+ znode = dirty_cow_znode(c, zbr);
-+ if (IS_ERR(znode))
-+ return PTR_ERR(znode);
-+ continue;
-+ }
-+
-+ /* znode is not in TNC cache, load it from the media */
-+ znode = ubifs_load_znode(c, zbr, znode, *n);
-+ if (IS_ERR(znode))
-+ return PTR_ERR(znode);
-+ znode = dirty_cow_znode(c, zbr);
-+ if (IS_ERR(znode))
-+ return PTR_ERR(znode);
-+ }
-+
-+ *zn = znode;
-+ if (exact || !is_hash_key(c, key) || *n != -1) {
-+ dbg_tnc("found %d, lvl %d, n %d", exact, znode->level, *n);
-+ return exact;
-+ }
-+
-+ /*
-+ * See huge comment at 'lookup_level0_dirty()' what is the rest of the
-+ * code.
-+ */
-+ err = tnc_prev(c, &znode, n);
-+ if (err == -ENOENT) {
-+ *n = -1;
-+ dbg_tnc("found 0, lvl %d, n -1", znode->level);
-+ return 0;
-+ }
-+ if (unlikely(err < 0))
-+ return err;
-+ if (keys_cmp(c, key, &znode->zbranch[*n].key)) {
-+ *n = -1;
-+ dbg_tnc("found 0, lvl %d, n -1", znode->level);
-+ return 0;
-+ }
-+
-+ if (znode->cnext || !ubifs_zn_dirty(znode)) {
-+ znode = dirty_cow_bottom_up(c, znode);
-+ if (IS_ERR(znode))
-+ return PTR_ERR(znode);
-+ }
-+
-+ dbg_tnc("found 1, lvl %d, n %d", znode->level, *n);
-+ *zn = znode;
-+ return 1;
-+}
-+
-+/**
-+ * maybe_leb_gced - determine if a LEB may have been garbage collected.
-+ * @c: UBIFS file-system description object
-+ * @lnum: LEB number
-+ * @gc_seq1: garbage collection sequence number
-+ *
-+ * This function determines if @lnum may have been garbage collected since
-+ * sequence number @gc_seq1. If it may have been then %1 is returned, otherwise
-+ * %0 is returned.
-+ */
-+static int maybe_leb_gced(struct ubifs_info *c, int lnum, int gc_seq1)
-+{
-+ int gc_seq2, gced_lnum;
-+
-+ gced_lnum = c->gced_lnum;
-+ smp_rmb();
-+ gc_seq2 = c->gc_seq;
-+ /* Same seq means no GC */
-+ if (gc_seq1 == gc_seq2)
-+ return 0;
-+ /* Different by more than 1 means we don't know */
-+ if (gc_seq1 + 1 != gc_seq2)
-+ return 1;
-+ /*
-+ * We have seen the sequence number has increased by 1. Now we need to
-+ * be sure we read the right LEB number, so read it again.
-+ */
-+ smp_rmb();
-+ if (gced_lnum != c->gced_lnum)
-+ return 1;
-+ /* Finally we can check lnum */
-+ if (gced_lnum == lnum)
-+ return 1;
-+ return 0;
-+}
-+
-+/**
-+ * ubifs_tnc_locate - look up a file-system node and return it and its location.
-+ * @c: UBIFS file-system description object
-+ * @key: node key to lookup
-+ * @node: the node is returned here
-+ * @lnum: LEB number is returned here
-+ * @offs: offset is returned here
-+ *
-+ * This function look up and reads node with key @key. The caller has to make
-+ * sure the @node buffer is large enough to fit the node. Returns zero in case
-+ * of success, %-ENOENT if the node was not found, and a negative error code in
-+ * case of failure. The node location can be returned in @lnum and @offs.
-+ */
-+int ubifs_tnc_locate(struct ubifs_info *c, const union ubifs_key *key,
-+ void *node, int *lnum, int *offs)
-+{
-+ int found, n, err, safely = 0, gc_seq1;
-+ struct ubifs_znode *znode;
-+ struct ubifs_zbranch zbr, *zt;
-+
-+again:
-+ mutex_lock(&c->tnc_mutex);
-+ found = ubifs_lookup_level0(c, key, &znode, &n);
-+ if (!found) {
-+ err = -ENOENT;
-+ goto out;
-+ } else if (found < 0) {
-+ err = found;
-+ goto out;
-+ }
-+ zt = &znode->zbranch[n];
-+ if (lnum) {
-+ *lnum = zt->lnum;
-+ *offs = zt->offs;
-+ }
-+ if (is_hash_key(c, key)) {
-+ /*
-+ * In this case the leaf node cache gets used, so we pass the
-+ * address of the zbranch and keep the mutex locked
-+ */
-+ err = tnc_read_node_nm(c, zt, node);
-+ goto out;
-+ }
-+ if (safely) {
-+ err = ubifs_tnc_read_node(c, zt, node);
-+ goto out;
-+ }
-+ /* Drop the TNC mutex prematurely and race with garbage collection */
-+ zbr = znode->zbranch[n];
-+ gc_seq1 = c->gc_seq;
-+ mutex_unlock(&c->tnc_mutex);
-+
-+ if (ubifs_get_wbuf(c, zbr.lnum)) {
-+ /* We do not GC journal heads */
-+ err = ubifs_tnc_read_node(c, &zbr, node);
-+ return err;
-+ }
-+
-+ err = fallible_read_node(c, key, &zbr, node);
-+ if (err <= 0 || maybe_leb_gced(c, zbr.lnum, gc_seq1)) {
-+ /*
-+ * The node may have been GC'ed out from under us so try again
-+ * while keeping the TNC mutex locked.
-+ */
-+ safely = 1;
-+ goto again;
-+ }
-+ return 0;
-+
-+out:
-+ mutex_unlock(&c->tnc_mutex);
-+ return err;
-+}
-+
-+/**
-+ * ubifs_tnc_get_bu_keys - lookup keys for bulk-read.
-+ * @c: UBIFS file-system description object
-+ * @bu: bulk-read parameters and results
-+ *
-+ * Lookup consecutive data node keys for the same inode that reside
-+ * consecutively in the same LEB. This function returns zero in case of success
-+ * and a negative error code in case of failure.
-+ *
-+ * Note, if the bulk-read buffer length (@bu->buf_len) is known, this function
-+ * makes sure bulk-read nodes fit the buffer. Otherwise, this function prepares
-+ * maximum possible amount of nodes for bulk-read.
-+ */
-+int ubifs_tnc_get_bu_keys(struct ubifs_info *c, struct bu_info *bu)
-+{
-+ int n, err = 0, lnum = -1, uninitialized_var(offs);
-+ int uninitialized_var(len);
-+ unsigned int block = key_block(c, &bu->key);
-+ struct ubifs_znode *znode;
-+
-+ bu->cnt = 0;
-+ bu->blk_cnt = 0;
-+ bu->eof = 0;
-+
-+ mutex_lock(&c->tnc_mutex);
-+ /* Find first key */
-+ err = ubifs_lookup_level0(c, &bu->key, &znode, &n);
-+ if (err < 0)
-+ goto out;
-+ if (err) {
-+ /* Key found */
-+ len = znode->zbranch[n].len;
-+ /* The buffer must be big enough for at least 1 node */
-+ if (len > bu->buf_len) {
-+ err = -EINVAL;
-+ goto out;
-+ }
-+ /* Add this key */
-+ bu->zbranch[bu->cnt++] = znode->zbranch[n];
-+ bu->blk_cnt += 1;
-+ lnum = znode->zbranch[n].lnum;
-+ offs = ALIGN(znode->zbranch[n].offs + len, 8);
-+ }
-+ while (1) {
-+ struct ubifs_zbranch *zbr;
-+ union ubifs_key *key;
-+ unsigned int next_block;
-+
-+ /* Find next key */
-+ err = tnc_next(c, &znode, &n);
-+ if (err)
-+ goto out;
-+ zbr = &znode->zbranch[n];
-+ key = &zbr->key;
-+ /* See if there is another data key for this file */
-+ if (key_inum(c, key) != key_inum(c, &bu->key) ||
-+ key_type(c, key) != UBIFS_DATA_KEY) {
-+ err = -ENOENT;
-+ goto out;
-+ }
-+ if (lnum < 0) {
-+ /* First key found */
-+ lnum = zbr->lnum;
-+ offs = ALIGN(zbr->offs + zbr->len, 8);
-+ len = zbr->len;
-+ if (len > bu->buf_len) {
-+ err = -EINVAL;
-+ goto out;
-+ }
-+ } else {
-+ /*
-+ * The data nodes must be in consecutive positions in
-+ * the same LEB.
-+ */
-+ if (zbr->lnum != lnum || zbr->offs != offs)
-+ goto out;
-+ offs += ALIGN(zbr->len, 8);
-+ len = ALIGN(len, 8) + zbr->len;
-+ /* Must not exceed buffer length */
-+ if (len > bu->buf_len)
-+ goto out;
-+ }
-+ /* Allow for holes */
-+ next_block = key_block(c, key);
-+ bu->blk_cnt += (next_block - block - 1);
-+ if (bu->blk_cnt >= UBIFS_MAX_BULK_READ)
-+ goto out;
-+ block = next_block;
-+ /* Add this key */
-+ bu->zbranch[bu->cnt++] = *zbr;
-+ bu->blk_cnt += 1;
-+ /* See if we have room for more */
-+ if (bu->cnt >= UBIFS_MAX_BULK_READ)
-+ goto out;
-+ if (bu->blk_cnt >= UBIFS_MAX_BULK_READ)
-+ goto out;
-+ }
-+out:
-+ if (err == -ENOENT) {
-+ bu->eof = 1;
-+ err = 0;
-+ }
-+ bu->gc_seq = c->gc_seq;
-+ mutex_unlock(&c->tnc_mutex);
-+ if (err)
-+ return err;
-+ /*
-+ * An enormous hole could cause bulk-read to encompass too many
-+ * page cache pages, so limit the number here.
-+ */
-+ if (bu->blk_cnt > UBIFS_MAX_BULK_READ)
-+ bu->blk_cnt = UBIFS_MAX_BULK_READ;
-+ /*
-+ * Ensure that bulk-read covers a whole number of page cache
-+ * pages.
-+ */
-+ if (UBIFS_BLOCKS_PER_PAGE == 1 ||
-+ !(bu->blk_cnt & (UBIFS_BLOCKS_PER_PAGE - 1)))
-+ return 0;
-+ if (bu->eof) {
-+ /* At the end of file we can round up */
-+ bu->blk_cnt += UBIFS_BLOCKS_PER_PAGE - 1;
-+ return 0;
-+ }
-+ /* Exclude data nodes that do not make up a whole page cache page */
-+ block = key_block(c, &bu->key) + bu->blk_cnt;
-+ block &= ~(UBIFS_BLOCKS_PER_PAGE - 1);
-+ while (bu->cnt) {
-+ if (key_block(c, &bu->zbranch[bu->cnt - 1].key) < block)
-+ break;
-+ bu->cnt -= 1;
-+ }
-+ return 0;
-+}
-+
-+/**
-+ * read_wbuf - bulk-read from a LEB with a wbuf.
-+ * @wbuf: wbuf that may overlap the read
-+ * @buf: buffer into which to read
-+ * @len: read length
-+ * @lnum: LEB number from which to read
-+ * @offs: offset from which to read
-+ *
-+ * This functions returns %0 on success or a negative error code on failure.
-+ */
-+static int read_wbuf(struct ubifs_wbuf *wbuf, void *buf, int len, int lnum,
-+ int offs)
-+{
-+ const struct ubifs_info *c = wbuf->c;
-+ int rlen, overlap;
-+
-+ dbg_io("LEB %d:%d, length %d", lnum, offs, len);
-+ ubifs_assert(wbuf && lnum >= 0 && lnum < c->leb_cnt && offs >= 0);
-+ ubifs_assert(!(offs & 7) && offs < c->leb_size);
-+ ubifs_assert(offs + len <= c->leb_size);
-+
-+ spin_lock(&wbuf->lock);
-+ overlap = (lnum == wbuf->lnum && offs + len > wbuf->offs);
-+ if (!overlap) {
-+ /* We may safely unlock the write-buffer and read the data */
-+ spin_unlock(&wbuf->lock);
-+ return ubi_read(c->ubi, lnum, buf, offs, len);
-+ }
-+
-+ /* Don't read under wbuf */
-+ rlen = wbuf->offs - offs;
-+ if (rlen < 0)
-+ rlen = 0;
-+
-+ /* Copy the rest from the write-buffer */
-+ memcpy(buf + rlen, wbuf->buf + offs + rlen - wbuf->offs, len - rlen);
-+ spin_unlock(&wbuf->lock);
-+
-+ if (rlen > 0)
-+ /* Read everything that goes before write-buffer */
-+ return ubi_read(c->ubi, lnum, buf, offs, rlen);
-+
-+ return 0;
-+}
-+
-+/**
-+ * validate_data_node - validate data nodes for bulk-read.
-+ * @c: UBIFS file-system description object
-+ * @buf: buffer containing data node to validate
-+ * @zbr: zbranch of data node to validate
-+ *
-+ * This functions returns %0 on success or a negative error code on failure.
-+ */
-+static int validate_data_node(struct ubifs_info *c, void *buf,
-+ struct ubifs_zbranch *zbr)
-+{
-+ union ubifs_key key1;
-+ struct ubifs_ch *ch = buf;
-+ int err, len;
-+
-+ if (ch->node_type != UBIFS_DATA_NODE) {
-+ ubifs_err("bad node type (%d but expected %d)",
-+ ch->node_type, UBIFS_DATA_NODE);
-+ goto out_err;
-+ }
-+
-+ err = ubifs_check_node(c, buf, zbr->lnum, zbr->offs, 0, 0);
-+ if (err) {
-+ ubifs_err("expected node type %d", UBIFS_DATA_NODE);
-+ goto out;
-+ }
-+
-+ len = le32_to_cpu(ch->len);
-+ if (len != zbr->len) {
-+ ubifs_err("bad node length %d, expected %d", len, zbr->len);
-+ goto out_err;
-+ }
-+
-+ /* Make sure the key of the read node is correct */
-+ key_read(c, buf + UBIFS_KEY_OFFSET, &key1);
-+ if (!keys_eq(c, &zbr->key, &key1)) {
-+ ubifs_err("bad key in node at LEB %d:%d",
-+ zbr->lnum, zbr->offs);
-+ dbg_tnc("looked for key %s found node's key %s",
-+ DBGKEY(&zbr->key), DBGKEY1(&key1));
-+ goto out_err;
-+ }
-+
-+ return 0;
-+
-+out_err:
-+ err = -EINVAL;
-+out:
-+ ubifs_err("bad node at LEB %d:%d", zbr->lnum, zbr->offs);
-+ dbg_dump_node(c, buf);
-+ dbg_dump_stack();
-+ return err;
-+}
-+
-+/**
-+ * ubifs_tnc_bulk_read - read a number of data nodes in one go.
-+ * @c: UBIFS file-system description object
-+ * @bu: bulk-read parameters and results
-+ *
-+ * This functions reads and validates the data nodes that were identified by the
-+ * 'ubifs_tnc_get_bu_keys()' function. This functions returns %0 on success,
-+ * -EAGAIN to indicate a race with GC, or another negative error code on
-+ * failure.
-+ */
-+int ubifs_tnc_bulk_read(struct ubifs_info *c, struct bu_info *bu)
-+{
-+ int lnum = bu->zbranch[0].lnum, offs = bu->zbranch[0].offs, len, err, i;
-+ struct ubifs_wbuf *wbuf;
-+ void *buf;
-+
-+ len = bu->zbranch[bu->cnt - 1].offs;
-+ len += bu->zbranch[bu->cnt - 1].len - offs;
-+ if (len > bu->buf_len) {
-+ ubifs_err("buffer too small %d vs %d", bu->buf_len, len);
-+ return -EINVAL;
-+ }
-+
-+ /* Do the read */
-+ wbuf = ubifs_get_wbuf(c, lnum);
-+ if (wbuf)
-+ err = read_wbuf(wbuf, bu->buf, len, lnum, offs);
-+ else
-+ err = ubi_read(c->ubi, lnum, bu->buf, offs, len);
-+
-+ /* Check for a race with GC */
-+ if (maybe_leb_gced(c, lnum, bu->gc_seq))
-+ return -EAGAIN;
-+
-+ if (err && err != -EBADMSG) {
-+ ubifs_err("failed to read from LEB %d:%d, error %d",
-+ lnum, offs, err);
-+ dbg_dump_stack();
-+ dbg_tnc("key %s", DBGKEY(&bu->key));
-+ return err;
-+ }
-+
-+ /* Validate the nodes read */
-+ buf = bu->buf;
-+ for (i = 0; i < bu->cnt; i++) {
-+ err = validate_data_node(c, buf, &bu->zbranch[i]);
-+ if (err)
-+ return err;
-+ buf = buf + ALIGN(bu->zbranch[i].len, 8);
-+ }
-+
-+ return 0;
-+}
-+
-+/**
-+ * do_lookup_nm- look up a "hashed" node.
-+ * @c: UBIFS file-system description object
-+ * @key: node key to lookup
-+ * @node: the node is returned here
-+ * @nm: node name
-+ *
-+ * This function look up and reads a node which contains name hash in the key.
-+ * Since the hash may have collisions, there may be many nodes with the same
-+ * key, so we have to sequentially look to all of them until the needed one is
-+ * found. This function returns zero in case of success, %-ENOENT if the node
-+ * was not found, and a negative error code in case of failure.
-+ */
-+static int do_lookup_nm(struct ubifs_info *c, const union ubifs_key *key,
-+ void *node, const struct qstr *nm)
-+{
-+ int found, n, err;
-+ struct ubifs_znode *znode;
-+
-+ dbg_tnc("name '%.*s' key %s", nm->len, nm->name, DBGKEY(key));
-+ mutex_lock(&c->tnc_mutex);
-+ found = ubifs_lookup_level0(c, key, &znode, &n);
-+ if (!found) {
-+ err = -ENOENT;
-+ goto out_unlock;
-+ } else if (found < 0) {
-+ err = found;
-+ goto out_unlock;
-+ }
-+
-+ ubifs_assert(n >= 0);
-+
-+ err = resolve_collision(c, key, &znode, &n, nm);
-+ dbg_tnc("rc returned %d, znode %p, n %d", err, znode, n);
-+ if (unlikely(err < 0))
-+ goto out_unlock;
-+ if (err == 0) {
-+ err = -ENOENT;
-+ goto out_unlock;
-+ }
-+
-+ err = tnc_read_node_nm(c, &znode->zbranch[n], node);
-+
-+out_unlock:
-+ mutex_unlock(&c->tnc_mutex);
-+ return err;
-+}
-+
-+/**
-+ * ubifs_tnc_lookup_nm - look up a "hashed" node.
-+ * @c: UBIFS file-system description object
-+ * @key: node key to lookup
-+ * @node: the node is returned here
-+ * @nm: node name
-+ *
-+ * This function look up and reads a node which contains name hash in the key.
-+ * Since the hash may have collisions, there may be many nodes with the same
-+ * key, so we have to sequentially look to all of them until the needed one is
-+ * found. This function returns zero in case of success, %-ENOENT if the node
-+ * was not found, and a negative error code in case of failure.
-+ */
-+int ubifs_tnc_lookup_nm(struct ubifs_info *c, const union ubifs_key *key,
-+ void *node, const struct qstr *nm)
-+{
-+ int err, len;
-+ const struct ubifs_dent_node *dent = node;
-+
-+ /*
-+ * We assume that in most of the cases there are no name collisions and
-+ * 'ubifs_tnc_lookup()' returns us the right direntry.
-+ */
-+ err = ubifs_tnc_lookup(c, key, node);
-+ if (err)
-+ return err;
-+
-+ len = le16_to_cpu(dent->nlen);
-+ if (nm->len == len && !memcmp(dent->name, nm->name, len))
-+ return 0;
-+
-+ /*
-+ * Unluckily, there are hash collisions and we have to iterate over
-+ * them look at each direntry with colliding name hash sequentially.
-+ */
-+ return do_lookup_nm(c, key, node, nm);
-+}
-+
-+/**
-+ * correct_parent_keys - correct parent znodes' keys.
-+ * @c: UBIFS file-system description object
-+ * @znode: znode to correct parent znodes for
-+ *
-+ * This is a helper function for 'tnc_insert()'. When the key of the leftmost
-+ * zbranch changes, keys of parent znodes have to be corrected. This helper
-+ * function is called in such situations and corrects the keys if needed.
-+ */
-+static void correct_parent_keys(const struct ubifs_info *c,
-+ struct ubifs_znode *znode)
-+{
-+ union ubifs_key *key, *key1;
-+
-+ ubifs_assert(znode->parent);
-+ ubifs_assert(znode->iip == 0);
-+
-+ key = &znode->zbranch[0].key;
-+ key1 = &znode->parent->zbranch[0].key;
-+
-+ while (keys_cmp(c, key, key1) < 0) {
-+ key_copy(c, key, key1);
-+ znode = znode->parent;
-+ znode->alt = 1;
-+ if (!znode->parent || znode->iip)
-+ break;
-+ key1 = &znode->parent->zbranch[0].key;
-+ }
-+}
-+
-+/**
-+ * insert_zbranch - insert a zbranch into a znode.
-+ * @znode: znode into which to insert
-+ * @zbr: zbranch to insert
-+ * @n: slot number to insert to
-+ *
-+ * This is a helper function for 'tnc_insert()'. UBIFS does not allow "gaps" in
-+ * znode's array of zbranches and keeps zbranches consolidated, so when a new
-+ * zbranch has to be inserted to the @znode->zbranches[]' array at the @n-th
-+ * slot, zbranches starting from @n have to be moved right.
-+ */
-+static void insert_zbranch(struct ubifs_znode *znode,
-+ const struct ubifs_zbranch *zbr, int n)
-+{
-+ int i;
-+
-+ ubifs_assert(ubifs_zn_dirty(znode));
-+
-+ if (znode->level) {
-+ for (i = znode->child_cnt; i > n; i--) {
-+ znode->zbranch[i] = znode->zbranch[i - 1];
-+ if (znode->zbranch[i].znode)
-+ znode->zbranch[i].znode->iip = i;
-+ }
-+ if (zbr->znode)
-+ zbr->znode->iip = n;
-+ } else
-+ for (i = znode->child_cnt; i > n; i--)
-+ znode->zbranch[i] = znode->zbranch[i - 1];
-+
-+ znode->zbranch[n] = *zbr;
-+ znode->child_cnt += 1;
-+
-+ /*
-+ * After inserting at slot zero, the lower bound of the key range of
-+ * this znode may have changed. If this znode is subsequently split
-+ * then the upper bound of the key range may change, and furthermore
-+ * it could change to be lower than the original lower bound. If that
-+ * happens, then it will no longer be possible to find this znode in the
-+ * TNC using the key from the index node on flash. That is bad because
-+ * if it is not found, we will assume it is obsolete and may overwrite
-+ * it. Then if there is an unclean unmount, we will start using the
-+ * old index which will be broken.
-+ *
-+ * So we first mark znodes that have insertions at slot zero, and then
-+ * if they are split we add their lnum/offs to the old_idx tree.
-+ */
-+ if (n == 0)
-+ znode->alt = 1;
-+}
-+
-+/**
-+ * tnc_insert - insert a node into TNC.
-+ * @c: UBIFS file-system description object
-+ * @znode: znode to insert into
-+ * @zbr: branch to insert
-+ * @n: slot number to insert new zbranch to
-+ *
-+ * This function inserts a new node described by @zbr into znode @znode. If
-+ * znode does not have a free slot for new zbranch, it is split. Parent znodes
-+ * are splat as well if needed. Returns zero in case of success or a negative
-+ * error code in case of failure.
-+ */
-+static int tnc_insert(struct ubifs_info *c, struct ubifs_znode *znode,
-+ struct ubifs_zbranch *zbr, int n)
-+{
-+ struct ubifs_znode *zn, *zi, *zp;
-+ int i, keep, move, appending = 0;
-+ union ubifs_key *key = &zbr->key, *key1;
-+
-+ ubifs_assert(n >= 0 && n <= c->fanout);
-+
-+ /* Implement naive insert for now */
-+again:
-+ zp = znode->parent;
-+ if (znode->child_cnt < c->fanout) {
-+ ubifs_assert(n != c->fanout);
-+ dbg_tnc("inserted at %d level %d, key %s", n, znode->level,
-+ DBGKEY(key));
-+
-+ insert_zbranch(znode, zbr, n);
-+
-+ /* Ensure parent's key is correct */
-+ if (n == 0 && zp && znode->iip == 0)
-+ correct_parent_keys(c, znode);
-+
-+ return 0;
-+ }
-+
-+ /*
-+ * Unfortunately, @znode does not have more empty slots and we have to
-+ * split it.
-+ */
-+ dbg_tnc("splitting level %d, key %s", znode->level, DBGKEY(key));
-+
-+ if (znode->alt)
-+ /*
-+ * We can no longer be sure of finding this znode by key, so we
-+ * record it in the old_idx tree.
-+ */
-+ ins_clr_old_idx_znode(c, znode);
-+
-+ zn = kzalloc(c->max_znode_sz, GFP_NOFS);
-+ if (!zn)
-+ return -ENOMEM;
-+ zn->parent = zp;
-+ zn->level = znode->level;
-+
-+ /* Decide where to split */
-+ if (znode->level == 0 && key_type(c, key) == UBIFS_DATA_KEY) {
-+ /* Try not to split consecutive data keys */
-+ if (n == c->fanout) {
-+ key1 = &znode->zbranch[n - 1].key;
-+ if (key_inum(c, key1) == key_inum(c, key) &&
-+ key_type(c, key1) == UBIFS_DATA_KEY)
-+ appending = 1;
-+ } else
-+ goto check_split;
-+ } else if (appending && n != c->fanout) {
-+ /* Try not to split consecutive data keys */
-+ appending = 0;
-+check_split:
-+ if (n >= (c->fanout + 1) / 2) {
-+ key1 = &znode->zbranch[0].key;
-+ if (key_inum(c, key1) == key_inum(c, key) &&
-+ key_type(c, key1) == UBIFS_DATA_KEY) {
-+ key1 = &znode->zbranch[n].key;
-+ if (key_inum(c, key1) != key_inum(c, key) ||
-+ key_type(c, key1) != UBIFS_DATA_KEY) {
-+ keep = n;
-+ move = c->fanout - keep;
-+ zi = znode;
-+ goto do_split;
-+ }
-+ }
-+ }
-+ }
-+
-+ if (appending) {
-+ keep = c->fanout;
-+ move = 0;
-+ } else {
-+ keep = (c->fanout + 1) / 2;
-+ move = c->fanout - keep;
-+ }
-+
-+ /*
-+ * Although we don't at present, we could look at the neighbors and see
-+ * if we can move some zbranches there.
-+ */
-+
-+ if (n < keep) {
-+ /* Insert into existing znode */
-+ zi = znode;
-+ move += 1;
-+ keep -= 1;
-+ } else {
-+ /* Insert into new znode */
-+ zi = zn;
-+ n -= keep;
-+ /* Re-parent */
-+ if (zn->level != 0)
-+ zbr->znode->parent = zn;
-+ }
-+
-+do_split:
-+
-+ __set_bit(DIRTY_ZNODE, &zn->flags);
-+ atomic_long_inc(&c->dirty_zn_cnt);
-+
-+ zn->child_cnt = move;
-+ znode->child_cnt = keep;
-+
-+ dbg_tnc("moving %d, keeping %d", move, keep);
-+
-+ /* Move zbranch */
-+ for (i = 0; i < move; i++) {
-+ zn->zbranch[i] = znode->zbranch[keep + i];
-+ /* Re-parent */
-+ if (zn->level != 0)
-+ if (zn->zbranch[i].znode) {
-+ zn->zbranch[i].znode->parent = zn;
-+ zn->zbranch[i].znode->iip = i;
-+ }
-+ }
-+
-+ /* Insert new key and branch */
-+ dbg_tnc("inserting at %d level %d, key %s", n, zn->level, DBGKEY(key));
-+
-+ insert_zbranch(zi, zbr, n);
-+
-+ /* Insert new znode (produced by spitting) into the parent */
-+ if (zp) {
-+ if (n == 0 && zi == znode && znode->iip == 0)
-+ correct_parent_keys(c, znode);
-+
-+ /* Locate insertion point */
-+ n = znode->iip + 1;
-+
-+ /* Tail recursion */
-+ zbr->key = zn->zbranch[0].key;
-+ zbr->znode = zn;
-+ zbr->lnum = 0;
-+ zbr->offs = 0;
-+ zbr->len = 0;
-+ znode = zp;
-+
-+ goto again;
-+ }
-+
-+ /* We have to split root znode */
-+ dbg_tnc("creating new zroot at level %d", znode->level + 1);
-+
-+ zi = kzalloc(c->max_znode_sz, GFP_NOFS);
-+ if (!zi)
-+ return -ENOMEM;
-+
-+ zi->child_cnt = 2;
-+ zi->level = znode->level + 1;
-+
-+ __set_bit(DIRTY_ZNODE, &zi->flags);
-+ atomic_long_inc(&c->dirty_zn_cnt);
-+
-+ zi->zbranch[0].key = znode->zbranch[0].key;
-+ zi->zbranch[0].znode = znode;
-+ zi->zbranch[0].lnum = c->zroot.lnum;
-+ zi->zbranch[0].offs = c->zroot.offs;
-+ zi->zbranch[0].len = c->zroot.len;
-+ zi->zbranch[1].key = zn->zbranch[0].key;
-+ zi->zbranch[1].znode = zn;
-+
-+ c->zroot.lnum = 0;
-+ c->zroot.offs = 0;
-+ c->zroot.len = 0;
-+ c->zroot.znode = zi;
-+
-+ zn->parent = zi;
-+ zn->iip = 1;
-+ znode->parent = zi;
-+ znode->iip = 0;
-+
-+ return 0;
-+}
-+
-+/**
-+ * ubifs_tnc_add - add a node to TNC.
-+ * @c: UBIFS file-system description object
-+ * @key: key to add
-+ * @lnum: LEB number of node
-+ * @offs: node offset
-+ * @len: node length
-+ *
-+ * This function adds a node with key @key to TNC. The node may be new or it may
-+ * obsolete some existing one. Returns %0 on success or negative error code on
-+ * failure.
-+ */
-+int ubifs_tnc_add(struct ubifs_info *c, const union ubifs_key *key, int lnum,
-+ int offs, int len)
-+{
-+ int found, n, err = 0;
-+ struct ubifs_znode *znode;
-+
-+ mutex_lock(&c->tnc_mutex);
-+ dbg_tnc("%d:%d, len %d, key %s", lnum, offs, len, DBGKEY(key));
-+ found = lookup_level0_dirty(c, key, &znode, &n);
-+ if (!found) {
-+ struct ubifs_zbranch zbr;
-+
-+ zbr.znode = NULL;
-+ zbr.lnum = lnum;
-+ zbr.offs = offs;
-+ zbr.len = len;
-+ key_copy(c, key, &zbr.key);
-+ err = tnc_insert(c, znode, &zbr, n + 1);
-+ } else if (found == 1) {
-+ struct ubifs_zbranch *zbr = &znode->zbranch[n];
-+
-+ lnc_free(zbr);
-+ err = ubifs_add_dirt(c, zbr->lnum, zbr->len);
-+ zbr->lnum = lnum;
-+ zbr->offs = offs;
-+ zbr->len = len;
-+ } else
-+ err = found;
-+ if (!err)
-+ err = dbg_check_tnc(c, 0);
-+ mutex_unlock(&c->tnc_mutex);
-+
-+ return err;
-+}
-+
-+/**
-+ * ubifs_tnc_replace - replace a node in the TNC only if the old node is found.
-+ * @c: UBIFS file-system description object
-+ * @key: key to add
-+ * @old_lnum: LEB number of old node
-+ * @old_offs: old node offset
-+ * @lnum: LEB number of node
-+ * @offs: node offset
-+ * @len: node length
-+ *
-+ * This function replaces a node with key @key in the TNC only if the old node
-+ * is found. This function is called by garbage collection when node are moved.
-+ * Returns %0 on success or negative error code on failure.
-+ */
-+int ubifs_tnc_replace(struct ubifs_info *c, const union ubifs_key *key,
-+ int old_lnum, int old_offs, int lnum, int offs, int len)
-+{
-+ int found, n, err = 0;
-+ struct ubifs_znode *znode;
-+
-+ mutex_lock(&c->tnc_mutex);
-+ dbg_tnc("old LEB %d:%d, new LEB %d:%d, len %d, key %s", old_lnum,
-+ old_offs, lnum, offs, len, DBGKEY(key));
-+ found = lookup_level0_dirty(c, key, &znode, &n);
-+ if (found < 0) {
-+ err = found;
-+ goto out_unlock;
-+ }
-+
-+ if (found == 1) {
-+ struct ubifs_zbranch *zbr = &znode->zbranch[n];
-+
-+ found = 0;
-+ if (zbr->lnum == old_lnum && zbr->offs == old_offs) {
-+ lnc_free(zbr);
-+ err = ubifs_add_dirt(c, zbr->lnum, zbr->len);
-+ if (err)
-+ goto out_unlock;
-+ zbr->lnum = lnum;
-+ zbr->offs = offs;
-+ zbr->len = len;
-+ found = 1;
-+ } else if (is_hash_key(c, key)) {
-+ found = resolve_collision_directly(c, key, &znode, &n,
-+ old_lnum, old_offs);
-+ dbg_tnc("rc returned %d, znode %p, n %d, LEB %d:%d",
-+ found, znode, n, old_lnum, old_offs);
-+ if (found < 0) {
-+ err = found;
-+ goto out_unlock;
-+ }
-+
-+ if (found) {
-+ /* Ensure the znode is dirtied */
-+ if (znode->cnext || !ubifs_zn_dirty(znode)) {
-+ znode = dirty_cow_bottom_up(c, znode);
-+ if (IS_ERR(znode)) {
-+ err = PTR_ERR(znode);
-+ goto out_unlock;
-+ }
-+ }
-+ zbr = &znode->zbranch[n];
-+ lnc_free(zbr);
-+ err = ubifs_add_dirt(c, zbr->lnum,
-+ zbr->len);
-+ if (err)
-+ goto out_unlock;
-+ zbr->lnum = lnum;
-+ zbr->offs = offs;
-+ zbr->len = len;
-+ }
-+ }
-+ }
-+
-+ if (!found)
-+ err = ubifs_add_dirt(c, lnum, len);
-+
-+ if (!err)
-+ err = dbg_check_tnc(c, 0);
-+
-+out_unlock:
-+ mutex_unlock(&c->tnc_mutex);
-+ return err;
-+}
-+
-+/**
-+ * ubifs_tnc_add_nm - add a "hashed" node to TNC.
-+ * @c: UBIFS file-system description object
-+ * @key: key to add
-+ * @lnum: LEB number of node
-+ * @offs: node offset
-+ * @len: node length
-+ * @nm: node name
-+ *
-+ * This is the same as 'ubifs_tnc_add()' but it should be used with keys which
-+ * may have collisions, like directory entry keys.
-+ */
-+int ubifs_tnc_add_nm(struct ubifs_info *c, const union ubifs_key *key,
-+ int lnum, int offs, int len, const struct qstr *nm)
-+{
-+ int found, n, err = 0;
-+ struct ubifs_znode *znode;
-+
-+ mutex_lock(&c->tnc_mutex);
-+ dbg_tnc("LEB %d:%d, name '%.*s', key %s", lnum, offs, nm->len, nm->name,
-+ DBGKEY(key));
-+ found = lookup_level0_dirty(c, key, &znode, &n);
-+ if (found < 0) {
-+ err = found;
-+ goto out_unlock;
-+ }
-+
-+ if (found == 1) {
-+ if (c->replaying)
-+ found = fallible_resolve_collision(c, key, &znode, &n,
-+ nm, 1);
-+ else
-+ found = resolve_collision(c, key, &znode, &n, nm);
-+ dbg_tnc("rc returned %d, znode %p, n %d", found, znode, n);
-+ if (found < 0) {
-+ err = found;
-+ goto out_unlock;
-+ }
-+
-+ /* Ensure the znode is dirtied */
-+ if (znode->cnext || !ubifs_zn_dirty(znode)) {
-+ znode = dirty_cow_bottom_up(c, znode);
-+ if (IS_ERR(znode)) {
-+ err = PTR_ERR(znode);
-+ goto out_unlock;
-+ }
-+ }
-+
-+ if (found == 1) {
-+ struct ubifs_zbranch *zbr = &znode->zbranch[n];
-+
-+ lnc_free(zbr);
-+ err = ubifs_add_dirt(c, zbr->lnum, zbr->len);
-+ zbr->lnum = lnum;
-+ zbr->offs = offs;
-+ zbr->len = len;
-+ goto out_unlock;
-+ }
-+ }
-+
-+ if (!found) {
-+ struct ubifs_zbranch zbr;
-+
-+ zbr.znode = NULL;
-+ zbr.lnum = lnum;
-+ zbr.offs = offs;
-+ zbr.len = len;
-+ key_copy(c, key, &zbr.key);
-+ err = tnc_insert(c, znode, &zbr, n + 1);
-+ if (err)
-+ goto out_unlock;
-+ if (c->replaying) {
-+ /*
-+ * We did not find it in the index so there may be a
-+ * dangling branch still in the index. So we remove it
-+ * by passing 'ubifs_tnc_remove_nm()' the same key but
-+ * an unmatchable name.
-+ */
-+ struct qstr noname = { .len = 0, .name = "" };
-+
-+ err = dbg_check_tnc(c, 0);
-+ mutex_unlock(&c->tnc_mutex);
-+ if (err)
-+ return err;
-+ return ubifs_tnc_remove_nm(c, key, &noname);
-+ }
-+ }
-+
-+out_unlock:
-+ if (!err)
-+ err = dbg_check_tnc(c, 0);
-+ mutex_unlock(&c->tnc_mutex);
-+ return err;
-+}
-+
-+/**
-+ * tnc_delete - delete a znode form TNC.
-+ * @c: UBIFS file-system description object
-+ * @znode: znode to delete from
-+ * @n: zbranch slot number to delete
-+ *
-+ * This function deletes a leaf node from @n-th slot of @znode. Returns zero in
-+ * case of success and a negative error code in case of failure.
-+ */
-+static int tnc_delete(struct ubifs_info *c, struct ubifs_znode *znode, int n)
-+{
-+ struct ubifs_zbranch *zbr;
-+ struct ubifs_znode *zp;
-+ int i, err;
-+
-+ /* Delete without merge for now */
-+ ubifs_assert(znode->level == 0);
-+ ubifs_assert(n >= 0 && n < c->fanout);
-+ dbg_tnc("deleting %s", DBGKEY(&znode->zbranch[n].key));
-+
-+ zbr = &znode->zbranch[n];
-+ lnc_free(zbr);
-+
-+ err = ubifs_add_dirt(c, zbr->lnum, zbr->len);
-+ if (err) {
-+ dbg_dump_znode(c, znode);
-+ return err;
-+ }
-+
-+ /* We do not "gap" zbranch slots */
-+ for (i = n; i < znode->child_cnt - 1; i++)
-+ znode->zbranch[i] = znode->zbranch[i + 1];
-+ znode->child_cnt -= 1;
-+
-+ if (znode->child_cnt > 0)
-+ return 0;
-+
-+ /*
-+ * This was the last zbranch, we have to delete this znode from the
-+ * parent.
-+ */
-+
-+ do {
-+ ubifs_assert(!test_bit(OBSOLETE_ZNODE, &znode->flags));
-+ ubifs_assert(ubifs_zn_dirty(znode));
-+
-+ zp = znode->parent;
-+ n = znode->iip;
-+
-+ atomic_long_dec(&c->dirty_zn_cnt);
-+
-+ err = insert_old_idx_znode(c, znode);
-+ if (err)
-+ return err;
-+
-+ if (znode->cnext) {
-+ __set_bit(OBSOLETE_ZNODE, &znode->flags);
-+ atomic_long_inc(&c->clean_zn_cnt);
-+ atomic_long_inc(&ubifs_clean_zn_cnt);
-+ } else
-+ kfree(znode);
-+ znode = zp;
-+ } while (znode->child_cnt == 1); /* while removing last child */
-+
-+ /* Remove from znode, entry n - 1 */
-+ znode->child_cnt -= 1;
-+ ubifs_assert(znode->level != 0);
-+ for (i = n; i < znode->child_cnt; i++) {
-+ znode->zbranch[i] = znode->zbranch[i + 1];
-+ if (znode->zbranch[i].znode)
-+ znode->zbranch[i].znode->iip = i;
-+ }
-+
-+ /*
-+ * If this is the root and it has only 1 child then
-+ * collapse the tree.
-+ */
-+ if (!znode->parent) {
-+ while (znode->child_cnt == 1 && znode->level != 0) {
-+ zp = znode;
-+ zbr = &znode->zbranch[0];
-+ znode = get_znode(c, znode, 0);
-+ if (IS_ERR(znode))
-+ return PTR_ERR(znode);
-+ znode = dirty_cow_znode(c, zbr);
-+ if (IS_ERR(znode))
-+ return PTR_ERR(znode);
-+ znode->parent = NULL;
-+ znode->iip = 0;
-+ if (c->zroot.len) {
-+ err = insert_old_idx(c, c->zroot.lnum,
-+ c->zroot.offs);
-+ if (err)
-+ return err;
-+ }
-+ c->zroot.lnum = zbr->lnum;
-+ c->zroot.offs = zbr->offs;
-+ c->zroot.len = zbr->len;
-+ c->zroot.znode = znode;
-+ ubifs_assert(!test_bit(OBSOLETE_ZNODE,
-+ &zp->flags));
-+ ubifs_assert(test_bit(DIRTY_ZNODE, &zp->flags));
-+ atomic_long_dec(&c->dirty_zn_cnt);
-+
-+ if (zp->cnext) {
-+ __set_bit(OBSOLETE_ZNODE, &zp->flags);
-+ atomic_long_inc(&c->clean_zn_cnt);
-+ atomic_long_inc(&ubifs_clean_zn_cnt);
-+ } else
-+ kfree(zp);
-+ }
-+ }
-+
-+ return 0;
-+}
-+
-+/**
-+ * ubifs_tnc_remove - remove an index entry of a node.
-+ * @c: UBIFS file-system description object
-+ * @key: key of node
-+ *
-+ * Returns %0 on success or negative error code on failure.
-+ */
-+int ubifs_tnc_remove(struct ubifs_info *c, const union ubifs_key *key)
-+{
-+ int found, n, err = 0;
-+ struct ubifs_znode *znode;
-+
-+ mutex_lock(&c->tnc_mutex);
-+ dbg_tnc("key %s", DBGKEY(key));
-+ found = lookup_level0_dirty(c, key, &znode, &n);
-+ if (found < 0) {
-+ err = found;
-+ goto out_unlock;
-+ }
-+ if (found == 1)
-+ err = tnc_delete(c, znode, n);
-+ if (!err)
-+ err = dbg_check_tnc(c, 0);
-+
-+out_unlock:
-+ mutex_unlock(&c->tnc_mutex);
-+ return err;
-+}
-+
-+/**
-+ * ubifs_tnc_remove_nm - remove an index entry for a "hashed" node.
-+ * @c: UBIFS file-system description object
-+ * @key: key of node
-+ * @nm: directory entry name
-+ *
-+ * Returns %0 on success or negative error code on failure.
-+ */
-+int ubifs_tnc_remove_nm(struct ubifs_info *c, const union ubifs_key *key,
-+ const struct qstr *nm)
-+{
-+ int n, err;
-+ struct ubifs_znode *znode;
-+
-+ mutex_lock(&c->tnc_mutex);
-+ dbg_tnc("%.*s, key %s", nm->len, nm->name, DBGKEY(key));
-+ err = lookup_level0_dirty(c, key, &znode, &n);
-+ if (err < 0)
-+ goto out_unlock;
-+
-+ if (err) {
-+ if (c->replaying)
-+ err = fallible_resolve_collision(c, key, &znode, &n,
-+ nm, 0);
-+ else
-+ err = resolve_collision(c, key, &znode, &n, nm);
-+ dbg_tnc("rc returned %d, znode %p, n %d", err, znode, n);
-+ if (err < 0)
-+ goto out_unlock;
-+ if (err) {
-+ /* Ensure the znode is dirtied */
-+ if (znode->cnext || !ubifs_zn_dirty(znode)) {
-+ znode = dirty_cow_bottom_up(c, znode);
-+ if (IS_ERR(znode)) {
-+ err = PTR_ERR(znode);
-+ goto out_unlock;
-+ }
-+ }
-+ err = tnc_delete(c, znode, n);
-+ }
-+ }
-+
-+out_unlock:
-+ if (!err)
-+ err = dbg_check_tnc(c, 0);
-+ mutex_unlock(&c->tnc_mutex);
-+ return err;
-+}
-+
-+/**
-+ * key_in_range - determine if a key falls within a range of keys.
-+ * @c: UBIFS file-system description object
-+ * @key: key to check
-+ * @from_key: lowest key in range
-+ * @to_key: highest key in range
-+ *
-+ * This function returns %1 if the key is in range and %0 otherwise.
-+ */
-+static int key_in_range(struct ubifs_info *c, union ubifs_key *key,
-+ union ubifs_key *from_key, union ubifs_key *to_key)
-+{
-+ if (keys_cmp(c, key, from_key) < 0)
-+ return 0;
-+ if (keys_cmp(c, key, to_key) > 0)
-+ return 0;
-+ return 1;
-+}
-+
-+/**
-+ * ubifs_tnc_remove_range - remove index entries in range.
-+ * @c: UBIFS file-system description object
-+ * @from_key: lowest key to remove
-+ * @to_key: highest key to remove
-+ *
-+ * This function removes index entries starting at @from_key and ending at
-+ * @to_key. This function returns zero in case of success and a negative error
-+ * code in case of failure.
-+ */
-+int ubifs_tnc_remove_range(struct ubifs_info *c, union ubifs_key *from_key,
-+ union ubifs_key *to_key)
-+{
-+ int i, n, k, err = 0;
-+ struct ubifs_znode *znode;
-+ union ubifs_key *key;
-+
-+ mutex_lock(&c->tnc_mutex);
-+ while (1) {
-+ /* Find first level 0 znode that contains keys to remove */
-+ err = ubifs_lookup_level0(c, from_key, &znode, &n);
-+ if (err < 0)
-+ goto out_unlock;
-+
-+ if (err)
-+ key = from_key;
-+ else {
-+ err = tnc_next(c, &znode, &n);
-+ if (err == -ENOENT) {
-+ err = 0;
-+ goto out_unlock;
-+ }
-+ if (err < 0)
-+ goto out_unlock;
-+ key = &znode->zbranch[n].key;
-+ if (!key_in_range(c, key, from_key, to_key)) {
-+ err = 0;
-+ goto out_unlock;
-+ }
-+ }
-+
-+ /* Ensure the znode is dirtied */
-+ if (znode->cnext || !ubifs_zn_dirty(znode)) {
-+ znode = dirty_cow_bottom_up(c, znode);
-+ if (IS_ERR(znode)) {
-+ err = PTR_ERR(znode);
-+ goto out_unlock;
-+ }
-+ }
-+
-+ /* Remove all keys in range except the first */
-+ for (i = n + 1, k = 0; i < znode->child_cnt; i++, k++) {
-+ key = &znode->zbranch[i].key;
-+ if (!key_in_range(c, key, from_key, to_key))
-+ break;
-+ lnc_free(&znode->zbranch[i]);
-+ err = ubifs_add_dirt(c, znode->zbranch[i].lnum,
-+ znode->zbranch[i].len);
-+ if (err) {
-+ dbg_dump_znode(c, znode);
-+ goto out_unlock;
-+ }
-+ dbg_tnc("removing %s", DBGKEY(key));
-+ }
-+ if (k) {
-+ for (i = n + 1 + k; i < znode->child_cnt; i++)
-+ znode->zbranch[i - k] = znode->zbranch[i];
-+ znode->child_cnt -= k;
-+ }
-+
-+ /* Now delete the first */
-+ err = tnc_delete(c, znode, n);
-+ if (err)
-+ goto out_unlock;
-+ }
-+
-+out_unlock:
-+ if (!err)
-+ err = dbg_check_tnc(c, 0);
-+ mutex_unlock(&c->tnc_mutex);
-+ return err;
-+}
-+
-+/**
-+ * ubifs_tnc_remove_ino - remove an inode from TNC.
-+ * @c: UBIFS file-system description object
-+ * @inum: inode number to remove
-+ *
-+ * This function remove inode @inum and all the extended attributes associated
-+ * with the anode from TNC and returns zero in case of success or a negative
-+ * error code in case of failure.
-+ */
-+int ubifs_tnc_remove_ino(struct ubifs_info *c, ino_t inum)
-+{
-+ union ubifs_key key1, key2;
-+ struct ubifs_dent_node *xent, *pxent = NULL;
-+ struct qstr nm = { .name = NULL };
-+
-+ dbg_tnc("ino %lu", (unsigned long)inum);
-+
-+ /*
-+ * Walk all extended attribute entries and remove them together with
-+ * corresponding extended attribute inodes.
-+ */
-+ lowest_xent_key(c, &key1, inum);
-+ while (1) {
-+ ino_t xattr_inum;
-+ int err;
-+
-+ xent = ubifs_tnc_next_ent(c, &key1, &nm);
-+ if (IS_ERR(xent)) {
-+ err = PTR_ERR(xent);
-+ if (err == -ENOENT)
-+ break;
-+ return err;
-+ }
-+
-+ xattr_inum = le64_to_cpu(xent->inum);
-+ dbg_tnc("xent '%s', ino %lu", xent->name,
-+ (unsigned long)xattr_inum);
-+
-+ nm.name = xent->name;
-+ nm.len = le16_to_cpu(xent->nlen);
-+ err = ubifs_tnc_remove_nm(c, &key1, &nm);
-+ if (err) {
-+ kfree(xent);
-+ return err;
-+ }
-+
-+ lowest_ino_key(c, &key1, xattr_inum);
-+ highest_ino_key(c, &key2, xattr_inum);
-+ err = ubifs_tnc_remove_range(c, &key1, &key2);
-+ if (err) {
-+ kfree(xent);
-+ return err;
-+ }
-+
-+ kfree(pxent);
-+ pxent = xent;
-+ key_read(c, &xent->key, &key1);
-+ }
-+
-+ kfree(pxent);
-+ lowest_ino_key(c, &key1, inum);
-+ highest_ino_key(c, &key2, inum);
-+
-+ return ubifs_tnc_remove_range(c, &key1, &key2);
-+}
-+
-+/**
-+ * ubifs_tnc_next_ent - walk directory or extended attribute entries.
-+ * @c: UBIFS file-system description object
-+ * @key: key of last entry
-+ * @nm: name of last entry found or %NULL
-+ *
-+ * This function finds and reads the next directory or extended attribute entry
-+ * after the given key (@key) if there is one. @nm is used to resolve
-+ * collisions.
-+ *
-+ * If the name of the current entry is not known and only the key is known,
-+ * @nm->name has to be %NULL. In this case the semantics of this function is a
-+ * little bit different and it returns the entry corresponding to this key, not
-+ * the next one. If the key was not found, the closest "right" entry is
-+ * returned.
-+ *
-+ * If the fist entry has to be found, @key has to contain the lowest possible
-+ * key value for this inode and @name has to be %NULL.
-+ *
-+ * This function returns the found directory or extended attribute entry node
-+ * in case of success, %-ENOENT is returned if no entry was found, and a
-+ * negative error code is returned in case of failure.
-+ */
-+struct ubifs_dent_node *ubifs_tnc_next_ent(struct ubifs_info *c,
-+ union ubifs_key *key,
-+ const struct qstr *nm)
-+{
-+ int n, err, type = key_type(c, key);
-+ struct ubifs_znode *znode;
-+ struct ubifs_dent_node *dent;
-+ struct ubifs_zbranch *zbr;
-+ union ubifs_key *dkey;
-+
-+ dbg_tnc("%s %s", nm->name ? (char *)nm->name : "(lowest)", DBGKEY(key));
-+ ubifs_assert(is_hash_key(c, key));
-+
-+ mutex_lock(&c->tnc_mutex);
-+ err = ubifs_lookup_level0(c, key, &znode, &n);
-+ if (unlikely(err < 0))
-+ goto out_unlock;
-+
-+ if (nm->name) {
-+ if (err) {
-+ /* Handle collisions */
-+ err = resolve_collision(c, key, &znode, &n, nm);
-+ dbg_tnc("rc returned %d, znode %p, n %d",
-+ err, znode, n);
-+ if (unlikely(err < 0))
-+ goto out_unlock;
-+ }
-+
-+ /* Now find next entry */
-+ err = tnc_next(c, &znode, &n);
-+ if (unlikely(err))
-+ goto out_unlock;
-+ } else {
-+ /*
-+ * The full name of the entry was not given, in which case the
-+ * behavior of this function is a little different and it
-+ * returns current entry, not the next one.
-+ */
-+ if (!err) {
-+ /*
-+ * However, the given key does not exist in the TNC
-+ * tree and @znode/@n variables contain the closest
-+ * "preceding" element. Switch to the next one.
-+ */
-+ err = tnc_next(c, &znode, &n);
-+ if (err)
-+ goto out_unlock;
-+ }
-+ }
-+
-+ zbr = &znode->zbranch[n];
-+ dent = kmalloc(zbr->len, GFP_NOFS);
-+ if (unlikely(!dent)) {
-+ err = -ENOMEM;
-+ goto out_unlock;
-+ }
-+
-+ /*
-+ * The above 'tnc_next()' call could lead us to the next inode, check
-+ * this.
-+ */
-+ dkey = &zbr->key;
-+ if (key_inum(c, dkey) != key_inum(c, key) ||
-+ key_type(c, dkey) != type) {
-+ err = -ENOENT;
-+ goto out_free;
-+ }
-+
-+ err = tnc_read_node_nm(c, zbr, dent);
-+ if (unlikely(err))
-+ goto out_free;
-+
-+ mutex_unlock(&c->tnc_mutex);
-+ return dent;
-+
-+out_free:
-+ kfree(dent);
-+out_unlock:
-+ mutex_unlock(&c->tnc_mutex);
-+ return ERR_PTR(err);
-+}
-+
-+/**
-+ * tnc_destroy_cnext - destroy left-over obsolete znodes from a failed commit.
-+ * @c: UBIFS file-system description object
-+ *
-+ * Destroy left-over obsolete znodes from a failed commit.
-+ */
-+static void tnc_destroy_cnext(struct ubifs_info *c)
-+{
-+ struct ubifs_znode *cnext;
-+
-+ if (!c->cnext)
-+ return;
-+ ubifs_assert(c->cmt_state == COMMIT_BROKEN);
-+ cnext = c->cnext;
-+ do {
-+ struct ubifs_znode *znode = cnext;
-+
-+ cnext = cnext->cnext;
-+ if (test_bit(OBSOLETE_ZNODE, &znode->flags))
-+ kfree(znode);
-+ } while (cnext && cnext != c->cnext);
-+}
-+
-+/**
-+ * ubifs_tnc_close - close TNC subsystem and free all related resources.
-+ * @c: UBIFS file-system description object
-+ */
-+void ubifs_tnc_close(struct ubifs_info *c)
-+{
-+ long clean_freed;
-+
-+ tnc_destroy_cnext(c);
-+ if (c->zroot.znode) {
-+ clean_freed = ubifs_destroy_tnc_subtree(c->zroot.znode);
-+ atomic_long_sub(clean_freed, &ubifs_clean_zn_cnt);
-+ }
-+ kfree(c->gap_lebs);
-+ kfree(c->ilebs);
-+ destroy_old_idx(c);
-+}
-+
-+/**
-+ * left_znode - get the znode to the left.
-+ * @c: UBIFS file-system description object
-+ * @znode: znode
-+ *
-+ * This function returns a pointer to the znode to the left of @znode or NULL if
-+ * there is not one. A negative error code is returned on failure.
-+ */
-+static struct ubifs_znode *left_znode(struct ubifs_info *c,
-+ struct ubifs_znode *znode)
-+{
-+ int level = znode->level;
-+
-+ while (1) {
-+ int n = znode->iip - 1;
-+
-+ /* Go up until we can go left */
-+ znode = znode->parent;
-+ if (!znode)
-+ return NULL;
-+ if (n >= 0) {
-+ /* Now go down the rightmost branch to 'level' */
-+ znode = get_znode(c, znode, n);
-+ if (IS_ERR(znode))
-+ return znode;
-+ while (znode->level != level) {
-+ n = znode->child_cnt - 1;
-+ znode = get_znode(c, znode, n);
-+ if (IS_ERR(znode))
-+ return znode;
-+ }
-+ break;
-+ }
-+ }
-+ return znode;
-+}
-+
-+/**
-+ * right_znode - get the znode to the right.
-+ * @c: UBIFS file-system description object
-+ * @znode: znode
-+ *
-+ * This function returns a pointer to the znode to the right of @znode or NULL
-+ * if there is not one. A negative error code is returned on failure.
-+ */
-+static struct ubifs_znode *right_znode(struct ubifs_info *c,
-+ struct ubifs_znode *znode)
-+{
-+ int level = znode->level;
-+
-+ while (1) {
-+ int n = znode->iip + 1;
-+
-+ /* Go up until we can go right */
-+ znode = znode->parent;
-+ if (!znode)
-+ return NULL;
-+ if (n < znode->child_cnt) {
-+ /* Now go down the leftmost branch to 'level' */
-+ znode = get_znode(c, znode, n);
-+ if (IS_ERR(znode))
-+ return znode;
-+ while (znode->level != level) {
-+ znode = get_znode(c, znode, 0);
-+ if (IS_ERR(znode))
-+ return znode;
-+ }
-+ break;
-+ }
-+ }
-+ return znode;
-+}
-+
-+/**
-+ * lookup_znode - find a particular indexing node from TNC.
-+ * @c: UBIFS file-system description object
-+ * @key: index node key to lookup
-+ * @level: index node level
-+ * @lnum: index node LEB number
-+ * @offs: index node offset
-+ *
-+ * This function searches an indexing node by its first key @key and its
-+ * address @lnum:@offs. It looks up the indexing tree by pulling all indexing
-+ * nodes it traverses to TNC. This function is called fro indexing nodes which
-+ * were found on the media by scanning, for example when garbage-collecting or
-+ * when doing in-the-gaps commit. This means that the indexing node which is
-+ * looked for does not have to have exactly the same leftmost key @key, because
-+ * the leftmost key may have been changed, in which case TNC will contain a
-+ * dirty znode which still refers the same @lnum:@offs. This function is clever
-+ * enough to recognize such indexing nodes.
-+ *
-+ * Note, if a znode was deleted or changed too much, then this function will
-+ * not find it. For situations like this UBIFS has the old index RB-tree
-+ * (indexed by @lnum:@offs).
-+ *
-+ * This function returns a pointer to the znode found or %NULL if it is not
-+ * found. A negative error code is returned on failure.
-+ */
-+static struct ubifs_znode *lookup_znode(struct ubifs_info *c,
-+ union ubifs_key *key, int level,
-+ int lnum, int offs)
-+{
-+ struct ubifs_znode *znode, *zn;
-+ int n, nn;
-+
-+ /*
-+ * The arguments have probably been read off flash, so don't assume
-+ * they are valid.
-+ */
-+ if (level < 0)
-+ return ERR_PTR(-EINVAL);
-+
-+ /* Get the root znode */
-+ znode = c->zroot.znode;
-+ if (!znode) {
-+ znode = ubifs_load_znode(c, &c->zroot, NULL, 0);
-+ if (IS_ERR(znode))
-+ return znode;
-+ }
-+ /* Check if it is the one we are looking for */
-+ if (c->zroot.lnum == lnum && c->zroot.offs == offs)
-+ return znode;
-+ /* Descend to the parent level i.e. (level + 1) */
-+ if (level >= znode->level)
-+ return NULL;
-+ while (1) {
-+ ubifs_search_zbranch(c, znode, key, &n);
-+ if (n < 0) {
-+ /*
-+ * We reached a znode where the leftmost key is greater
-+ * than the key we are searching for. This is the same
-+ * situation as the one described in a huge comment at
-+ * the end of the 'ubifs_lookup_level0()' function. And
-+ * for exactly the same reasons we have to try to look
-+ * left before giving up.
-+ */
-+ znode = left_znode(c, znode);
-+ if (!znode)
-+ return NULL;
-+ if (IS_ERR(znode))
-+ return znode;
-+ ubifs_search_zbranch(c, znode, key, &n);
-+ ubifs_assert(n >= 0);
-+ }
-+ if (znode->level == level + 1)
-+ break;
-+ znode = get_znode(c, znode, n);
-+ if (IS_ERR(znode))
-+ return znode;
-+ }
-+ /* Check if the child is the one we are looking for */
-+ if (znode->zbranch[n].lnum == lnum && znode->zbranch[n].offs == offs)
-+ return get_znode(c, znode, n);
-+ /* If the key is unique, there is nowhere else to look */
-+ if (!is_hash_key(c, key))
-+ return NULL;
-+ /*
-+ * The key is not unique and so may be also in the znodes to either
-+ * side.
-+ */
-+ zn = znode;
-+ nn = n;
-+ /* Look left */
-+ while (1) {
-+ /* Move one branch to the left */
-+ if (n)
-+ n -= 1;
-+ else {
-+ znode = left_znode(c, znode);
-+ if (!znode)
-+ break;
-+ if (IS_ERR(znode))
-+ return znode;
-+ n = znode->child_cnt - 1;
-+ }
-+ /* Check it */
-+ if (znode->zbranch[n].lnum == lnum &&
-+ znode->zbranch[n].offs == offs)
-+ return get_znode(c, znode, n);
-+ /* Stop if the key is less than the one we are looking for */
-+ if (keys_cmp(c, &znode->zbranch[n].key, key) < 0)
-+ break;
-+ }
-+ /* Back to the middle */
-+ znode = zn;
-+ n = nn;
-+ /* Look right */
-+ while (1) {
-+ /* Move one branch to the right */
-+ if (++n >= znode->child_cnt) {
-+ znode = right_znode(c, znode);
-+ if (!znode)
-+ break;
-+ if (IS_ERR(znode))
-+ return znode;
-+ n = 0;
-+ }
-+ /* Check it */
-+ if (znode->zbranch[n].lnum == lnum &&
-+ znode->zbranch[n].offs == offs)
-+ return get_znode(c, znode, n);
-+ /* Stop if the key is greater than the one we are looking for */
-+ if (keys_cmp(c, &znode->zbranch[n].key, key) > 0)
-+ break;
-+ }
-+ return NULL;
-+}
-+
-+/**
-+ * is_idx_node_in_tnc - determine if an index node is in the TNC.
-+ * @c: UBIFS file-system description object
-+ * @key: key of index node
-+ * @level: index node level
-+ * @lnum: LEB number of index node
-+ * @offs: offset of index node
-+ *
-+ * This function returns %0 if the index node is not referred to in the TNC, %1
-+ * if the index node is referred to in the TNC and the corresponding znode is
-+ * dirty, %2 if an index node is referred to in the TNC and the corresponding
-+ * znode is clean, and a negative error code in case of failure.
-+ *
-+ * Note, the @key argument has to be the key of the first child. Also note,
-+ * this function relies on the fact that 0:0 is never a valid LEB number and
-+ * offset for a main-area node.
-+ */
-+int is_idx_node_in_tnc(struct ubifs_info *c, union ubifs_key *key, int level,
-+ int lnum, int offs)
-+{
-+ struct ubifs_znode *znode;
-+
-+ znode = lookup_znode(c, key, level, lnum, offs);
-+ if (!znode)
-+ return 0;
-+ if (IS_ERR(znode))
-+ return PTR_ERR(znode);
-+
-+ return ubifs_zn_dirty(znode) ? 1 : 2;
-+}
-+
-+/**
-+ * is_leaf_node_in_tnc - determine if a non-indexing not is in the TNC.
-+ * @c: UBIFS file-system description object
-+ * @key: node key
-+ * @lnum: node LEB number
-+ * @offs: node offset
-+ *
-+ * This function returns %1 if the node is referred to in the TNC, %0 if it is
-+ * not, and a negative error code in case of failure.
-+ *
-+ * Note, this function relies on the fact that 0:0 is never a valid LEB number
-+ * and offset for a main-area node.
-+ */
-+static int is_leaf_node_in_tnc(struct ubifs_info *c, union ubifs_key *key,
-+ int lnum, int offs)
-+{
-+ struct ubifs_zbranch *zbr;
-+ struct ubifs_znode *znode, *zn;
-+ int n, found, err, nn;
-+ const int unique = !is_hash_key(c, key);
-+
-+ found = ubifs_lookup_level0(c, key, &znode, &n);
-+ if (found < 0)
-+ return found; /* Error code */
-+ if (!found)
-+ return 0;
-+ zbr = &znode->zbranch[n];
-+ if (lnum == zbr->lnum && offs == zbr->offs)
-+ return 1; /* Found it */
-+ if (unique)
-+ return 0;
-+ /*
-+ * Because the key is not unique, we have to look left
-+ * and right as well
-+ */
-+ zn = znode;
-+ nn = n;
-+ /* Look left */
-+ while (1) {
-+ err = tnc_prev(c, &znode, &n);
-+ if (err == -ENOENT)
-+ break;
-+ if (err)
-+ return err;
-+ if (keys_cmp(c, key, &znode->zbranch[n].key))
-+ break;
-+ zbr = &znode->zbranch[n];
-+ if (lnum == zbr->lnum && offs == zbr->offs)
-+ return 1; /* Found it */
-+ }
-+ /* Look right */
-+ znode = zn;
-+ n = nn;
-+ while (1) {
-+ err = tnc_next(c, &znode, &n);
-+ if (err) {
-+ if (err == -ENOENT)
-+ return 0;
-+ return err;
-+ }
-+ if (keys_cmp(c, key, &znode->zbranch[n].key))
-+ break;
-+ zbr = &znode->zbranch[n];
-+ if (lnum == zbr->lnum && offs == zbr->offs)
-+ return 1; /* Found it */
-+ }
-+ return 0;
-+}
-+
-+/**
-+ * ubifs_tnc_has_node - determine whether a node is in the TNC.
-+ * @c: UBIFS file-system description object
-+ * @key: node key
-+ * @level: index node level (if it is an index node)
-+ * @lnum: node LEB number
-+ * @offs: node offset
-+ * @is_idx: non-zero if the node is an index node
-+ *
-+ * This function returns %1 if the node is in the TNC, %0 if it is not, and a
-+ * negative error code in case of failure. For index nodes, @key has to be the
-+ * key of the first child. An index node is considered to be in the TNC only if
-+ * the corresponding znode is clean or has not been loaded.
-+ */
-+int ubifs_tnc_has_node(struct ubifs_info *c, union ubifs_key *key, int level,
-+ int lnum, int offs, int is_idx)
-+{
-+ int err;
-+
-+ mutex_lock(&c->tnc_mutex);
-+ if (is_idx) {
-+ err = is_idx_node_in_tnc(c, key, level, lnum, offs);
-+ if (err < 0)
-+ goto out_unlock;
-+ if (err == 1)
-+ /* The index node was found but it was dirty */
-+ err = 0;
-+ else if (err == 2)
-+ /* The index node was found and it was clean */
-+ err = 1;
-+ else
-+ BUG_ON(err != 0);
-+ } else
-+ err = is_leaf_node_in_tnc(c, key, lnum, offs);
-+
-+out_unlock:
-+ mutex_unlock(&c->tnc_mutex);
-+ return err;
-+}
-+
-+/**
-+ * ubifs_dirty_idx_node - dirty an index node.
-+ * @c: UBIFS file-system description object
-+ * @key: index node key
-+ * @level: index node level
-+ * @lnum: index node LEB number
-+ * @offs: index node offset
-+ *
-+ * This function loads and dirties an index node so that it can be garbage
-+ * collected. The @key argument has to be the key of the first child. This
-+ * function relies on the fact that 0:0 is never a valid LEB number and offset
-+ * for a main-area node. Returns %0 on success and a negative error code on
-+ * failure.
-+ */
-+int ubifs_dirty_idx_node(struct ubifs_info *c, union ubifs_key *key, int level,
-+ int lnum, int offs)
-+{
-+ struct ubifs_znode *znode;
-+ int err = 0;
-+
-+ mutex_lock(&c->tnc_mutex);
-+ znode = lookup_znode(c, key, level, lnum, offs);
-+ if (!znode)
-+ goto out_unlock;
-+ if (IS_ERR(znode)) {
-+ err = PTR_ERR(znode);
-+ goto out_unlock;
-+ }
-+ znode = dirty_cow_bottom_up(c, znode);
-+ if (IS_ERR(znode)) {
-+ err = PTR_ERR(znode);
-+ goto out_unlock;
-+ }
-+
-+out_unlock:
-+ mutex_unlock(&c->tnc_mutex);
-+ return err;
-+}
-diff -Nurd linux-2.6.24.orig/fs/ubifs/tnc_commit.c linux-2.6.24/fs/ubifs/tnc_commit.c
---- linux-2.6.24.orig/fs/ubifs/tnc_commit.c 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.24/fs/ubifs/tnc_commit.c 2009-04-17 09:49:28.000000000 +0200
-@@ -0,0 +1,1105 @@
-+/*
-+ * This file is part of UBIFS.
-+ *
-+ * Copyright (C) 2006-2008 Nokia Corporation.
-+ *
-+ * This program is free software; you can redistribute it and/or modify it
-+ * under the terms of the GNU General Public License version 2 as published by
-+ * the Free Software Foundation.
-+ *
-+ * 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, write to the Free Software Foundation, Inc., 51
-+ * Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
-+ *
-+ * Authors: Adrian Hunter
-+ * Artem Bityutskiy (Битюцкий Ðртём)
-+ */
-+
-+/* This file implements TNC functions for committing */
-+
-+#include "ubifs.h"
-+
-+/**
-+ * make_idx_node - make an index node for fill-the-gaps method of TNC commit.
-+ * @c: UBIFS file-system description object
-+ * @idx: buffer in which to place new index node
-+ * @znode: znode from which to make new index node
-+ * @lnum: LEB number where new index node will be written
-+ * @offs: offset where new index node will be written
-+ * @len: length of new index node
-+ */
-+static int make_idx_node(struct ubifs_info *c, struct ubifs_idx_node *idx,
-+ struct ubifs_znode *znode, int lnum, int offs, int len)
-+{
-+ struct ubifs_znode *zp;
-+ int i, err;
-+
-+ /* Make index node */
-+ idx->ch.node_type = UBIFS_IDX_NODE;
-+ idx->child_cnt = cpu_to_le16(znode->child_cnt);
-+ idx->level = cpu_to_le16(znode->level);
-+ for (i = 0; i < znode->child_cnt; i++) {
-+ struct ubifs_branch *br = ubifs_idx_branch(c, idx, i);
-+ struct ubifs_zbranch *zbr = &znode->zbranch[i];
-+
-+ key_write_idx(c, &zbr->key, &br->key);
-+ br->lnum = cpu_to_le32(zbr->lnum);
-+ br->offs = cpu_to_le32(zbr->offs);
-+ br->len = cpu_to_le32(zbr->len);
-+ if (!zbr->lnum || !zbr->len) {
-+ ubifs_err("bad ref in znode");
-+ dbg_dump_znode(c, znode);
-+ if (zbr->znode)
-+ dbg_dump_znode(c, zbr->znode);
-+ }
-+ }
-+ ubifs_prepare_node(c, idx, len, 0);
-+
-+#ifdef CONFIG_UBIFS_FS_DEBUG
-+ znode->lnum = lnum;
-+ znode->offs = offs;
-+ znode->len = len;
-+#endif
-+
-+ err = insert_old_idx_znode(c, znode);
-+
-+ /* Update the parent */
-+ zp = znode->parent;
-+ if (zp) {
-+ struct ubifs_zbranch *zbr;
-+
-+ zbr = &zp->zbranch[znode->iip];
-+ zbr->lnum = lnum;
-+ zbr->offs = offs;
-+ zbr->len = len;
-+ } else {
-+ c->zroot.lnum = lnum;
-+ c->zroot.offs = offs;
-+ c->zroot.len = len;
-+ }
-+ c->calc_idx_sz += ALIGN(len, 8);
-+
-+ atomic_long_dec(&c->dirty_zn_cnt);
-+
-+ ubifs_assert(ubifs_zn_dirty(znode));
-+ ubifs_assert(test_bit(COW_ZNODE, &znode->flags));
-+
-+ __clear_bit(DIRTY_ZNODE, &znode->flags);
-+ __clear_bit(COW_ZNODE, &znode->flags);
-+
-+ return err;
-+}
-+
-+/**
-+ * fill_gap - make index nodes in gaps in dirty index LEBs.
-+ * @c: UBIFS file-system description object
-+ * @lnum: LEB number that gap appears in
-+ * @gap_start: offset of start of gap
-+ * @gap_end: offset of end of gap
-+ * @dirt: adds dirty space to this
-+ *
-+ * This function returns the number of index nodes written into the gap.
-+ */
-+static int fill_gap(struct ubifs_info *c, int lnum, int gap_start, int gap_end,
-+ int *dirt)
-+{
-+ int len, gap_remains, gap_pos, written, pad_len;
-+
-+ ubifs_assert((gap_start & 7) == 0);
-+ ubifs_assert((gap_end & 7) == 0);
-+ ubifs_assert(gap_end >= gap_start);
-+
-+ gap_remains = gap_end - gap_start;
-+ if (!gap_remains)
-+ return 0;
-+ gap_pos = gap_start;
-+ written = 0;
-+ while (c->enext) {
-+ len = ubifs_idx_node_sz(c, c->enext->child_cnt);
-+ if (len < gap_remains) {
-+ struct ubifs_znode *znode = c->enext;
-+ const int alen = ALIGN(len, 8);
-+ int err;
-+
-+ ubifs_assert(alen <= gap_remains);
-+ err = make_idx_node(c, c->ileb_buf + gap_pos, znode,
-+ lnum, gap_pos, len);
-+ if (err)
-+ return err;
-+ gap_remains -= alen;
-+ gap_pos += alen;
-+ c->enext = znode->cnext;
-+ if (c->enext == c->cnext)
-+ c->enext = NULL;
-+ written += 1;
-+ } else
-+ break;
-+ }
-+ if (gap_end == c->leb_size) {
-+ c->ileb_len = ALIGN(gap_pos, c->min_io_size);
-+ /* Pad to end of min_io_size */
-+ pad_len = c->ileb_len - gap_pos;
-+ } else
-+ /* Pad to end of gap */
-+ pad_len = gap_remains;
-+ dbg_gc("LEB %d:%d to %d len %d nodes written %d wasted bytes %d",
-+ lnum, gap_start, gap_end, gap_end - gap_start, written, pad_len);
-+ ubifs_pad(c, c->ileb_buf + gap_pos, pad_len);
-+ *dirt += pad_len;
-+ return written;
-+}
-+
-+/**
-+ * find_old_idx - find an index node obsoleted since the last commit start.
-+ * @c: UBIFS file-system description object
-+ * @lnum: LEB number of obsoleted index node
-+ * @offs: offset of obsoleted index node
-+ *
-+ * Returns %1 if found and %0 otherwise.
-+ */
-+static int find_old_idx(struct ubifs_info *c, int lnum, int offs)
-+{
-+ struct ubifs_old_idx *o;
-+ struct rb_node *p;
-+
-+ p = c->old_idx.rb_node;
-+ while (p) {
-+ o = rb_entry(p, struct ubifs_old_idx, rb);
-+ if (lnum < o->lnum)
-+ p = p->rb_left;
-+ else if (lnum > o->lnum)
-+ p = p->rb_right;
-+ else if (offs < o->offs)
-+ p = p->rb_left;
-+ else if (offs > o->offs)
-+ p = p->rb_right;
-+ else
-+ return 1;
-+ }
-+ return 0;
-+}
-+
-+/**
-+ * is_idx_node_in_use - determine if an index node can be overwritten.
-+ * @c: UBIFS file-system description object
-+ * @key: key of index node
-+ * @level: index node level
-+ * @lnum: LEB number of index node
-+ * @offs: offset of index node
-+ *
-+ * If @key / @lnum / @offs identify an index node that was not part of the old
-+ * index, then this function returns %0 (obsolete). Else if the index node was
-+ * part of the old index but is now dirty %1 is returned, else if it is clean %2
-+ * is returned. A negative error code is returned on failure.
-+ */
-+static int is_idx_node_in_use(struct ubifs_info *c, union ubifs_key *key,
-+ int level, int lnum, int offs)
-+{
-+ int ret;
-+
-+ ret = is_idx_node_in_tnc(c, key, level, lnum, offs);
-+ if (ret < 0)
-+ return ret; /* Error code */
-+ if (ret == 0)
-+ if (find_old_idx(c, lnum, offs))
-+ return 1;
-+ return ret;
-+}
-+
-+/**
-+ * layout_leb_in_gaps - layout index nodes using in-the-gaps method.
-+ * @c: UBIFS file-system description object
-+ * @p: return LEB number here
-+ *
-+ * This function lays out new index nodes for dirty znodes using in-the-gaps
-+ * method of TNC commit.
-+ * This function merely puts the next znode into the next gap, making no attempt
-+ * to try to maximise the number of znodes that fit.
-+ * This function returns the number of index nodes written into the gaps, or a
-+ * negative error code on failure.
-+ */
-+static int layout_leb_in_gaps(struct ubifs_info *c, int *p)
-+{
-+ struct ubifs_scan_leb *sleb;
-+ struct ubifs_scan_node *snod;
-+ int lnum, dirt = 0, gap_start, gap_end, err, written, tot_written;
-+
-+ tot_written = 0;
-+ /* Get an index LEB with lots of obsolete index nodes */
-+ lnum = ubifs_find_dirty_idx_leb(c);
-+ if (lnum < 0)
-+ /*
-+ * There also may be dirt in the index head that could be
-+ * filled, however we do not check there at present.
-+ */
-+ return lnum; /* Error code */
-+ *p = lnum;
-+ dbg_gc("LEB %d", lnum);
-+ /*
-+ * Scan the index LEB. We use the generic scan for this even though
-+ * it is more comprehensive and less efficient than is needed for this
-+ * purpose.
-+ */
-+ sleb = ubifs_scan(c, lnum, 0, c->ileb_buf);
-+ c->ileb_len = 0;
-+ if (IS_ERR(sleb))
-+ return PTR_ERR(sleb);
-+ gap_start = 0;
-+ list_for_each_entry(snod, &sleb->nodes, list) {
-+ struct ubifs_idx_node *idx;
-+ int in_use, level;
-+
-+ ubifs_assert(snod->type == UBIFS_IDX_NODE);
-+ idx = snod->node;
-+ key_read(c, ubifs_idx_key(c, idx), &snod->key);
-+ level = le16_to_cpu(idx->level);
-+ /* Determine if the index node is in use (not obsolete) */
-+ in_use = is_idx_node_in_use(c, &snod->key, level, lnum,
-+ snod->offs);
-+ if (in_use < 0) {
-+ ubifs_scan_destroy(sleb);
-+ return in_use; /* Error code */
-+ }
-+ if (in_use) {
-+ if (in_use == 1)
-+ dirt += ALIGN(snod->len, 8);
-+ /*
-+ * The obsolete index nodes form gaps that can be
-+ * overwritten. This gap has ended because we have
-+ * found an index node that is still in use
-+ * i.e. not obsolete
-+ */
-+ gap_end = snod->offs;
-+ /* Try to fill gap */
-+ written = fill_gap(c, lnum, gap_start, gap_end, &dirt);
-+ if (written < 0) {
-+ ubifs_scan_destroy(sleb);
-+ return written; /* Error code */
-+ }
-+ tot_written += written;
-+ gap_start = ALIGN(snod->offs + snod->len, 8);
-+ }
-+ }
-+ ubifs_scan_destroy(sleb);
-+ c->ileb_len = c->leb_size;
-+ gap_end = c->leb_size;
-+ /* Try to fill gap */
-+ written = fill_gap(c, lnum, gap_start, gap_end, &dirt);
-+ if (written < 0)
-+ return written; /* Error code */
-+ tot_written += written;
-+ if (tot_written == 0) {
-+ struct ubifs_lprops lp;
-+
-+ dbg_gc("LEB %d wrote %d index nodes", lnum, tot_written);
-+ err = ubifs_read_one_lp(c, lnum, &lp);
-+ if (err)
-+ return err;
-+ if (lp.free == c->leb_size) {
-+ /*
-+ * We must have snatched this LEB from the idx_gc list
-+ * so we need to correct the free and dirty space.
-+ */
-+ err = ubifs_change_one_lp(c, lnum,
-+ c->leb_size - c->ileb_len,
-+ dirt, 0, 0, 0);
-+ if (err)
-+ return err;
-+ }
-+ return 0;
-+ }
-+ err = ubifs_change_one_lp(c, lnum, c->leb_size - c->ileb_len, dirt,
-+ 0, 0, 0);
-+ if (err)
-+ return err;
-+ err = ubifs_leb_change(c, lnum, c->ileb_buf, c->ileb_len,
-+ UBI_SHORTTERM);
-+ if (err)
-+ return err;
-+ dbg_gc("LEB %d wrote %d index nodes", lnum, tot_written);
-+ return tot_written;
-+}
-+
-+/**
-+ * get_leb_cnt - calculate the number of empty LEBs needed to commit.
-+ * @c: UBIFS file-system description object
-+ * @cnt: number of znodes to commit
-+ *
-+ * This function returns the number of empty LEBs needed to commit @cnt znodes
-+ * to the current index head. The number is not exact and may be more than
-+ * needed.
-+ */
-+static int get_leb_cnt(struct ubifs_info *c, int cnt)
-+{
-+ int d;
-+
-+ /* Assume maximum index node size (i.e. overestimate space needed) */
-+ cnt -= (c->leb_size - c->ihead_offs) / c->max_idx_node_sz;
-+ if (cnt < 0)
-+ cnt = 0;
-+ d = c->leb_size / c->max_idx_node_sz;
-+ return DIV_ROUND_UP(cnt, d);
-+}
-+
-+/**
-+ * layout_in_gaps - in-the-gaps method of committing TNC.
-+ * @c: UBIFS file-system description object
-+ * @cnt: number of dirty znodes to commit.
-+ *
-+ * This function lays out new index nodes for dirty znodes using in-the-gaps
-+ * method of TNC commit.
-+ *
-+ * This function returns %0 on success and a negative error code on failure.
-+ */
-+static int layout_in_gaps(struct ubifs_info *c, int cnt)
-+{
-+ int err, leb_needed_cnt, written, *p;
-+
-+ dbg_gc("%d znodes to write", cnt);
-+
-+ c->gap_lebs = kmalloc(sizeof(int) * (c->lst.idx_lebs + 1), GFP_NOFS);
-+ if (!c->gap_lebs)
-+ return -ENOMEM;
-+
-+ p = c->gap_lebs;
-+ do {
-+ ubifs_assert(p < c->gap_lebs + sizeof(int) * c->lst.idx_lebs);
-+ written = layout_leb_in_gaps(c, p);
-+ if (written < 0) {
-+ err = written;
-+ if (err != -ENOSPC) {
-+ kfree(c->gap_lebs);
-+ c->gap_lebs = NULL;
-+ return err;
-+ }
-+ if (!dbg_force_in_the_gaps_enabled) {
-+ /*
-+ * Do not print scary warnings if the debugging
-+ * option which forces in-the-gaps is enabled.
-+ */
-+ ubifs_err("out of space");
-+ spin_lock(&c->space_lock);
-+ dbg_dump_budg(c);
-+ spin_unlock(&c->space_lock);
-+ dbg_dump_lprops(c);
-+ }
-+ /* Try to commit anyway */
-+ err = 0;
-+ break;
-+ }
-+ p++;
-+ cnt -= written;
-+ leb_needed_cnt = get_leb_cnt(c, cnt);
-+ dbg_gc("%d znodes remaining, need %d LEBs, have %d", cnt,
-+ leb_needed_cnt, c->ileb_cnt);
-+ } while (leb_needed_cnt > c->ileb_cnt);
-+
-+ *p = -1;
-+ return 0;
-+}
-+
-+/**
-+ * layout_in_empty_space - layout index nodes in empty space.
-+ * @c: UBIFS file-system description object
-+ *
-+ * This function lays out new index nodes for dirty znodes using empty LEBs.
-+ *
-+ * This function returns %0 on success and a negative error code on failure.
-+ */
-+static int layout_in_empty_space(struct ubifs_info *c)
-+{
-+ struct ubifs_znode *znode, *cnext, *zp;
-+ int lnum, offs, len, next_len, buf_len, buf_offs, used, avail;
-+ int wlen, blen, err;
-+
-+ cnext = c->enext;
-+ if (!cnext)
-+ return 0;
-+
-+ lnum = c->ihead_lnum;
-+ buf_offs = c->ihead_offs;
-+
-+ buf_len = ubifs_idx_node_sz(c, c->fanout);
-+ buf_len = ALIGN(buf_len, c->min_io_size);
-+ used = 0;
-+ avail = buf_len;
-+
-+ /* Ensure there is enough room for first write */
-+ next_len = ubifs_idx_node_sz(c, cnext->child_cnt);
-+ if (buf_offs + next_len > c->leb_size)
-+ lnum = -1;
-+
-+ while (1) {
-+ znode = cnext;
-+
-+ len = ubifs_idx_node_sz(c, znode->child_cnt);
-+
-+ /* Determine the index node position */
-+ if (lnum == -1) {
-+ if (c->ileb_nxt >= c->ileb_cnt) {
-+ ubifs_err("out of space");
-+ return -ENOSPC;
-+ }
-+ lnum = c->ilebs[c->ileb_nxt++];
-+ buf_offs = 0;
-+ used = 0;
-+ avail = buf_len;
-+ }
-+
-+ offs = buf_offs + used;
-+
-+#ifdef CONFIG_UBIFS_FS_DEBUG
-+ znode->lnum = lnum;
-+ znode->offs = offs;
-+ znode->len = len;
-+#endif
-+
-+ /* Update the parent */
-+ zp = znode->parent;
-+ if (zp) {
-+ struct ubifs_zbranch *zbr;
-+ int i;
-+
-+ i = znode->iip;
-+ zbr = &zp->zbranch[i];
-+ zbr->lnum = lnum;
-+ zbr->offs = offs;
-+ zbr->len = len;
-+ } else {
-+ c->zroot.lnum = lnum;
-+ c->zroot.offs = offs;
-+ c->zroot.len = len;
-+ }
-+ c->calc_idx_sz += ALIGN(len, 8);
-+
-+ /*
-+ * Once lprops is updated, we can decrease the dirty znode count
-+ * but it is easier to just do it here.
-+ */
-+ atomic_long_dec(&c->dirty_zn_cnt);
-+
-+ /*
-+ * Calculate the next index node length to see if there is
-+ * enough room for it
-+ */
-+ cnext = znode->cnext;
-+ if (cnext == c->cnext)
-+ next_len = 0;
-+ else
-+ next_len = ubifs_idx_node_sz(c, cnext->child_cnt);
-+
-+ if (c->min_io_size == 1) {
-+ buf_offs += ALIGN(len, 8);
-+ if (next_len) {
-+ if (buf_offs + next_len <= c->leb_size)
-+ continue;
-+ err = ubifs_update_one_lp(c, lnum, 0,
-+ c->leb_size - buf_offs, 0, 0);
-+ if (err)
-+ return err;
-+ lnum = -1;
-+ continue;
-+ }
-+ err = ubifs_update_one_lp(c, lnum,
-+ c->leb_size - buf_offs, 0, 0, 0);
-+ if (err)
-+ return err;
-+ break;
-+ }
-+
-+ /* Update buffer positions */
-+ wlen = used + len;
-+ used += ALIGN(len, 8);
-+ avail -= ALIGN(len, 8);
-+
-+ if (next_len != 0 &&
-+ buf_offs + used + next_len <= c->leb_size &&
-+ avail > 0)
-+ continue;
-+
-+ if (avail <= 0 && next_len &&
-+ buf_offs + used + next_len <= c->leb_size)
-+ blen = buf_len;
-+ else
-+ blen = ALIGN(wlen, c->min_io_size);
-+
-+ /* The buffer is full or there are no more znodes to do */
-+ buf_offs += blen;
-+ if (next_len) {
-+ if (buf_offs + next_len > c->leb_size) {
-+ err = ubifs_update_one_lp(c, lnum,
-+ c->leb_size - buf_offs, blen - used,
-+ 0, 0);
-+ if (err)
-+ return err;
-+ lnum = -1;
-+ }
-+ used -= blen;
-+ if (used < 0)
-+ used = 0;
-+ avail = buf_len - used;
-+ continue;
-+ }
-+ err = ubifs_update_one_lp(c, lnum, c->leb_size - buf_offs,
-+ blen - used, 0, 0);
-+ if (err)
-+ return err;
-+ break;
-+ }
-+
-+#ifdef CONFIG_UBIFS_FS_DEBUG
-+ c->dbg->new_ihead_lnum = lnum;
-+ c->dbg->new_ihead_offs = buf_offs;
-+#endif
-+
-+ return 0;
-+}
-+
-+/**
-+ * layout_commit - determine positions of index nodes to commit.
-+ * @c: UBIFS file-system description object
-+ * @no_space: indicates that insufficient empty LEBs were allocated
-+ * @cnt: number of znodes to commit
-+ *
-+ * Calculate and update the positions of index nodes to commit. If there were
-+ * an insufficient number of empty LEBs allocated, then index nodes are placed
-+ * into the gaps created by obsolete index nodes in non-empty index LEBs. For
-+ * this purpose, an obsolete index node is one that was not in the index as at
-+ * the end of the last commit. To write "in-the-gaps" requires that those index
-+ * LEBs are updated atomically in-place.
-+ */
-+static int layout_commit(struct ubifs_info *c, int no_space, int cnt)
-+{
-+ int err;
-+
-+ if (no_space) {
-+ err = layout_in_gaps(c, cnt);
-+ if (err)
-+ return err;
-+ }
-+ err = layout_in_empty_space(c);
-+ return err;
-+}
-+
-+/**
-+ * find_first_dirty - find first dirty znode.
-+ * @znode: znode to begin searching from
-+ */
-+static struct ubifs_znode *find_first_dirty(struct ubifs_znode *znode)
-+{
-+ int i, cont;
-+
-+ if (!znode)
-+ return NULL;
-+
-+ while (1) {
-+ if (znode->level == 0) {
-+ if (ubifs_zn_dirty(znode))
-+ return znode;
-+ return NULL;
-+ }
-+ cont = 0;
-+ for (i = 0; i < znode->child_cnt; i++) {
-+ struct ubifs_zbranch *zbr = &znode->zbranch[i];
-+
-+ if (zbr->znode && ubifs_zn_dirty(zbr->znode)) {
-+ znode = zbr->znode;
-+ cont = 1;
-+ break;
-+ }
-+ }
-+ if (!cont) {
-+ if (ubifs_zn_dirty(znode))
-+ return znode;
-+ return NULL;
-+ }
-+ }
-+}
-+
-+/**
-+ * find_next_dirty - find next dirty znode.
-+ * @znode: znode to begin searching from
-+ */
-+static struct ubifs_znode *find_next_dirty(struct ubifs_znode *znode)
-+{
-+ int n = znode->iip + 1;
-+
-+ znode = znode->parent;
-+ if (!znode)
-+ return NULL;
-+ for (; n < znode->child_cnt; n++) {
-+ struct ubifs_zbranch *zbr = &znode->zbranch[n];
-+
-+ if (zbr->znode && ubifs_zn_dirty(zbr->znode))
-+ return find_first_dirty(zbr->znode);
-+ }
-+ return znode;
-+}
-+
-+/**
-+ * get_znodes_to_commit - create list of dirty znodes to commit.
-+ * @c: UBIFS file-system description object
-+ *
-+ * This function returns the number of znodes to commit.
-+ */
-+static int get_znodes_to_commit(struct ubifs_info *c)
-+{
-+ struct ubifs_znode *znode, *cnext;
-+ int cnt = 0;
-+
-+ c->cnext = find_first_dirty(c->zroot.znode);
-+ znode = c->enext = c->cnext;
-+ if (!znode) {
-+ dbg_cmt("no znodes to commit");
-+ return 0;
-+ }
-+ cnt += 1;
-+ while (1) {
-+ ubifs_assert(!test_bit(COW_ZNODE, &znode->flags));
-+ __set_bit(COW_ZNODE, &znode->flags);
-+ znode->alt = 0;
-+ cnext = find_next_dirty(znode);
-+ if (!cnext) {
-+ znode->cnext = c->cnext;
-+ break;
-+ }
-+ znode->cnext = cnext;
-+ znode = cnext;
-+ cnt += 1;
-+ }
-+ dbg_cmt("committing %d znodes", cnt);
-+ ubifs_assert(cnt == atomic_long_read(&c->dirty_zn_cnt));
-+ return cnt;
-+}
-+
-+/**
-+ * alloc_idx_lebs - allocate empty LEBs to be used to commit.
-+ * @c: UBIFS file-system description object
-+ * @cnt: number of znodes to commit
-+ *
-+ * This function returns %-ENOSPC if it cannot allocate a sufficient number of
-+ * empty LEBs. %0 is returned on success, otherwise a negative error code
-+ * is returned.
-+ */
-+static int alloc_idx_lebs(struct ubifs_info *c, int cnt)
-+{
-+ int i, leb_cnt, lnum;
-+
-+ c->ileb_cnt = 0;
-+ c->ileb_nxt = 0;
-+ leb_cnt = get_leb_cnt(c, cnt);
-+ dbg_cmt("need about %d empty LEBS for TNC commit", leb_cnt);
-+ if (!leb_cnt)
-+ return 0;
-+ c->ilebs = kmalloc(leb_cnt * sizeof(int), GFP_NOFS);
-+ if (!c->ilebs)
-+ return -ENOMEM;
-+ for (i = 0; i < leb_cnt; i++) {
-+ lnum = ubifs_find_free_leb_for_idx(c);
-+ if (lnum < 0)
-+ return lnum;
-+ c->ilebs[c->ileb_cnt++] = lnum;
-+ dbg_cmt("LEB %d", lnum);
-+ }
-+ if (dbg_force_in_the_gaps())
-+ return -ENOSPC;
-+ return 0;
-+}
-+
-+/**
-+ * free_unused_idx_lebs - free unused LEBs that were allocated for the commit.
-+ * @c: UBIFS file-system description object
-+ *
-+ * It is possible that we allocate more empty LEBs for the commit than we need.
-+ * This functions frees the surplus.
-+ *
-+ * This function returns %0 on success and a negative error code on failure.
-+ */
-+static int free_unused_idx_lebs(struct ubifs_info *c)
-+{
-+ int i, err = 0, lnum, er;
-+
-+ for (i = c->ileb_nxt; i < c->ileb_cnt; i++) {
-+ lnum = c->ilebs[i];
-+ dbg_cmt("LEB %d", lnum);
-+ er = ubifs_change_one_lp(c, lnum, LPROPS_NC, LPROPS_NC, 0,
-+ LPROPS_INDEX | LPROPS_TAKEN, 0);
-+ if (!err)
-+ err = er;
-+ }
-+ return err;
-+}
-+
-+/**
-+ * free_idx_lebs - free unused LEBs after commit end.
-+ * @c: UBIFS file-system description object
-+ *
-+ * This function returns %0 on success and a negative error code on failure.
-+ */
-+static int free_idx_lebs(struct ubifs_info *c)
-+{
-+ int err;
-+
-+ err = free_unused_idx_lebs(c);
-+ kfree(c->ilebs);
-+ c->ilebs = NULL;
-+ return err;
-+}
-+
-+/**
-+ * ubifs_tnc_start_commit - start TNC commit.
-+ * @c: UBIFS file-system description object
-+ * @zroot: new index root position is returned here
-+ *
-+ * This function prepares the list of indexing nodes to commit and lays out
-+ * their positions on flash. If there is not enough free space it uses the
-+ * in-gap commit method. Returns zero in case of success and a negative error
-+ * code in case of failure.
-+ */
-+int ubifs_tnc_start_commit(struct ubifs_info *c, struct ubifs_zbranch *zroot)
-+{
-+ int err = 0, cnt;
-+
-+ mutex_lock(&c->tnc_mutex);
-+ err = dbg_check_tnc(c, 1);
-+ if (err)
-+ goto out;
-+ cnt = get_znodes_to_commit(c);
-+ if (cnt != 0) {
-+ int no_space = 0;
-+
-+ err = alloc_idx_lebs(c, cnt);
-+ if (err == -ENOSPC)
-+ no_space = 1;
-+ else if (err)
-+ goto out_free;
-+ err = layout_commit(c, no_space, cnt);
-+ if (err)
-+ goto out_free;
-+ ubifs_assert(atomic_long_read(&c->dirty_zn_cnt) == 0);
-+ err = free_unused_idx_lebs(c);
-+ if (err)
-+ goto out;
-+ }
-+ destroy_old_idx(c);
-+ memcpy(zroot, &c->zroot, sizeof(struct ubifs_zbranch));
-+
-+ err = ubifs_save_dirty_idx_lnums(c);
-+ if (err)
-+ goto out;
-+
-+ spin_lock(&c->space_lock);
-+ /*
-+ * Although we have not finished committing yet, update size of the
-+ * committed index ('c->old_idx_sz') and zero out the index growth
-+ * budget. It is OK to do this now, because we've reserved all the
-+ * space which is needed to commit the index, and it is save for the
-+ * budgeting subsystem to assume the index is already committed,
-+ * even though it is not.
-+ */
-+ ubifs_assert(c->min_idx_lebs == ubifs_calc_min_idx_lebs(c));
-+ c->old_idx_sz = c->calc_idx_sz;
-+ c->budg_uncommitted_idx = 0;
-+ c->min_idx_lebs = ubifs_calc_min_idx_lebs(c);
-+ spin_unlock(&c->space_lock);
-+ mutex_unlock(&c->tnc_mutex);
-+
-+ dbg_cmt("number of index LEBs %d", c->lst.idx_lebs);
-+ dbg_cmt("size of index %llu", c->calc_idx_sz);
-+ return err;
-+
-+out_free:
-+ free_idx_lebs(c);
-+out:
-+ mutex_unlock(&c->tnc_mutex);
-+ return err;
-+}
-+
-+/**
-+ * write_index - write index nodes.
-+ * @c: UBIFS file-system description object
-+ *
-+ * This function writes the index nodes whose positions were laid out in the
-+ * layout_in_empty_space function.
-+ */
-+static int write_index(struct ubifs_info *c)
-+{
-+ struct ubifs_idx_node *idx;
-+ struct ubifs_znode *znode, *cnext;
-+ int i, lnum, offs, len, next_len, buf_len, buf_offs, used;
-+ int avail, wlen, err, lnum_pos = 0;
-+
-+ cnext = c->enext;
-+ if (!cnext)
-+ return 0;
-+
-+ /*
-+ * Always write index nodes to the index head so that index nodes and
-+ * other types of nodes are never mixed in the same erase block.
-+ */
-+ lnum = c->ihead_lnum;
-+ buf_offs = c->ihead_offs;
-+
-+ /* Allocate commit buffer */
-+ buf_len = ALIGN(c->max_idx_node_sz, c->min_io_size);
-+ used = 0;
-+ avail = buf_len;
-+
-+ /* Ensure there is enough room for first write */
-+ next_len = ubifs_idx_node_sz(c, cnext->child_cnt);
-+ if (buf_offs + next_len > c->leb_size) {
-+ err = ubifs_update_one_lp(c, lnum, LPROPS_NC, 0, 0,
-+ LPROPS_TAKEN);
-+ if (err)
-+ return err;
-+ lnum = -1;
-+ }
-+
-+ while (1) {
-+ cond_resched();
-+
-+ znode = cnext;
-+ idx = c->cbuf + used;
-+
-+ /* Make index node */
-+ idx->ch.node_type = UBIFS_IDX_NODE;
-+ idx->child_cnt = cpu_to_le16(znode->child_cnt);
-+ idx->level = cpu_to_le16(znode->level);
-+ for (i = 0; i < znode->child_cnt; i++) {
-+ struct ubifs_branch *br = ubifs_idx_branch(c, idx, i);
-+ struct ubifs_zbranch *zbr = &znode->zbranch[i];
-+
-+ key_write_idx(c, &zbr->key, &br->key);
-+ br->lnum = cpu_to_le32(zbr->lnum);
-+ br->offs = cpu_to_le32(zbr->offs);
-+ br->len = cpu_to_le32(zbr->len);
-+ if (!zbr->lnum || !zbr->len) {
-+ ubifs_err("bad ref in znode");
-+ dbg_dump_znode(c, znode);
-+ if (zbr->znode)
-+ dbg_dump_znode(c, zbr->znode);
-+ }
-+ }
-+ len = ubifs_idx_node_sz(c, znode->child_cnt);
-+ ubifs_prepare_node(c, idx, len, 0);
-+
-+ /* Determine the index node position */
-+ if (lnum == -1) {
-+ lnum = c->ilebs[lnum_pos++];
-+ buf_offs = 0;
-+ used = 0;
-+ avail = buf_len;
-+ }
-+ offs = buf_offs + used;
-+
-+#ifdef CONFIG_UBIFS_FS_DEBUG
-+ if (lnum != znode->lnum || offs != znode->offs ||
-+ len != znode->len) {
-+ ubifs_err("inconsistent znode posn");
-+ return -EINVAL;
-+ }
-+#endif
-+
-+ /* Grab some stuff from znode while we still can */
-+ cnext = znode->cnext;
-+
-+ ubifs_assert(ubifs_zn_dirty(znode));
-+ ubifs_assert(test_bit(COW_ZNODE, &znode->flags));
-+
-+ /*
-+ * It is important that other threads should see %DIRTY_ZNODE
-+ * flag cleared before %COW_ZNODE. Specifically, it matters in
-+ * the 'dirty_cow_znode()' function. This is the reason for the
-+ * first barrier. Also, we want the bit changes to be seen to
-+ * other threads ASAP, to avoid unnecesarry copying, which is
-+ * the reason for the second barrier.
-+ */
-+ clear_bit(DIRTY_ZNODE, &znode->flags);
-+ smp_mb__before_clear_bit();
-+ clear_bit(COW_ZNODE, &znode->flags);
-+ smp_mb__after_clear_bit();
-+
-+ /* Do not access znode from this point on */
-+
-+ /* Update buffer positions */
-+ wlen = used + len;
-+ used += ALIGN(len, 8);
-+ avail -= ALIGN(len, 8);
-+
-+ /*
-+ * Calculate the next index node length to see if there is
-+ * enough room for it
-+ */
-+ if (cnext == c->cnext)
-+ next_len = 0;
-+ else
-+ next_len = ubifs_idx_node_sz(c, cnext->child_cnt);
-+
-+ if (c->min_io_size == 1) {
-+ /*
-+ * Write the prepared index node immediately if there is
-+ * no minimum IO size
-+ */
-+ err = ubifs_leb_write(c, lnum, c->cbuf, buf_offs,
-+ wlen, UBI_SHORTTERM);
-+ if (err)
-+ return err;
-+ buf_offs += ALIGN(wlen, 8);
-+ if (next_len) {
-+ used = 0;
-+ avail = buf_len;
-+ if (buf_offs + next_len > c->leb_size) {
-+ err = ubifs_update_one_lp(c, lnum,
-+ LPROPS_NC, 0, 0, LPROPS_TAKEN);
-+ if (err)
-+ return err;
-+ lnum = -1;
-+ }
-+ continue;
-+ }
-+ } else {
-+ int blen, nxt_offs = buf_offs + used + next_len;
-+
-+ if (next_len && nxt_offs <= c->leb_size) {
-+ if (avail > 0)
-+ continue;
-+ else
-+ blen = buf_len;
-+ } else {
-+ wlen = ALIGN(wlen, 8);
-+ blen = ALIGN(wlen, c->min_io_size);
-+ ubifs_pad(c, c->cbuf + wlen, blen - wlen);
-+ }
-+ /*
-+ * The buffer is full or there are no more znodes
-+ * to do
-+ */
-+ err = ubifs_leb_write(c, lnum, c->cbuf, buf_offs,
-+ blen, UBI_SHORTTERM);
-+ if (err)
-+ return err;
-+ buf_offs += blen;
-+ if (next_len) {
-+ if (nxt_offs > c->leb_size) {
-+ err = ubifs_update_one_lp(c, lnum,
-+ LPROPS_NC, 0, 0, LPROPS_TAKEN);
-+ if (err)
-+ return err;
-+ lnum = -1;
-+ }
-+ used -= blen;
-+ if (used < 0)
-+ used = 0;
-+ avail = buf_len - used;
-+ memmove(c->cbuf, c->cbuf + blen, used);
-+ continue;
-+ }
-+ }
-+ break;
-+ }
-+
-+#ifdef CONFIG_UBIFS_FS_DEBUG
-+ if (lnum != c->dbg->new_ihead_lnum ||
-+ buf_offs != c->dbg->new_ihead_offs) {
-+ ubifs_err("inconsistent ihead");
-+ return -EINVAL;
-+ }
-+#endif
-+
-+ c->ihead_lnum = lnum;
-+ c->ihead_offs = buf_offs;
-+
-+ return 0;
-+}
-+
-+/**
-+ * free_obsolete_znodes - free obsolete znodes.
-+ * @c: UBIFS file-system description object
-+ *
-+ * At the end of commit end, obsolete znodes are freed.
-+ */
-+static void free_obsolete_znodes(struct ubifs_info *c)
-+{
-+ struct ubifs_znode *znode, *cnext;
-+
-+ cnext = c->cnext;
-+ do {
-+ znode = cnext;
-+ cnext = znode->cnext;
-+ if (test_bit(OBSOLETE_ZNODE, &znode->flags))
-+ kfree(znode);
-+ else {
-+ znode->cnext = NULL;
-+ atomic_long_inc(&c->clean_zn_cnt);
-+ atomic_long_inc(&ubifs_clean_zn_cnt);
-+ }
-+ } while (cnext != c->cnext);
-+}
-+
-+/**
-+ * return_gap_lebs - return LEBs used by the in-gap commit method.
-+ * @c: UBIFS file-system description object
-+ *
-+ * This function clears the "taken" flag for the LEBs which were used by the
-+ * "commit in-the-gaps" method.
-+ */
-+static int return_gap_lebs(struct ubifs_info *c)
-+{
-+ int *p, err;
-+
-+ if (!c->gap_lebs)
-+ return 0;
-+
-+ dbg_cmt("");
-+ for (p = c->gap_lebs; *p != -1; p++) {
-+ err = ubifs_change_one_lp(c, *p, LPROPS_NC, LPROPS_NC, 0,
-+ LPROPS_TAKEN, 0);
-+ if (err)
-+ return err;
-+ }
-+
-+ kfree(c->gap_lebs);
-+ c->gap_lebs = NULL;
-+ return 0;
-+}
-+
-+/**
-+ * ubifs_tnc_end_commit - update the TNC for commit end.
-+ * @c: UBIFS file-system description object
-+ *
-+ * Write the dirty znodes.
-+ */
-+int ubifs_tnc_end_commit(struct ubifs_info *c)
-+{
-+ int err;
-+
-+ if (!c->cnext)
-+ return 0;
-+
-+ err = return_gap_lebs(c);
-+ if (err)
-+ return err;
-+
-+ err = write_index(c);
-+ if (err)
-+ return err;
-+
-+ mutex_lock(&c->tnc_mutex);
-+
-+ dbg_cmt("TNC height is %d", c->zroot.znode->level + 1);
-+
-+ free_obsolete_znodes(c);
-+
-+ c->cnext = NULL;
-+ kfree(c->ilebs);
-+ c->ilebs = NULL;
-+
-+ mutex_unlock(&c->tnc_mutex);
-+
-+ return 0;
-+}
-diff -Nurd linux-2.6.24.orig/fs/ubifs/tnc_misc.c linux-2.6.24/fs/ubifs/tnc_misc.c
---- linux-2.6.24.orig/fs/ubifs/tnc_misc.c 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.24/fs/ubifs/tnc_misc.c 2009-04-17 09:49:28.000000000 +0200
-@@ -0,0 +1,494 @@
-+/*
-+ * This file is part of UBIFS.
-+ *
-+ * Copyright (C) 2006-2008 Nokia Corporation.
-+ *
-+ * This program is free software; you can redistribute it and/or modify it
-+ * under the terms of the GNU General Public License version 2 as published by
-+ * the Free Software Foundation.
-+ *
-+ * 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, write to the Free Software Foundation, Inc., 51
-+ * Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
-+ *
-+ * Authors: Adrian Hunter
-+ * Artem Bityutskiy (Битюцкий Ðртём)
-+ */
-+
-+/*
-+ * This file contains miscelanious TNC-related functions shared betweend
-+ * different files. This file does not form any logically separate TNC
-+ * sub-system. The file was created because there is a lot of TNC code and
-+ * putting it all in one file would make that file too big and unreadable.
-+ */
-+
-+#include "ubifs.h"
-+
-+/**
-+ * ubifs_tnc_levelorder_next - next TNC tree element in levelorder traversal.
-+ * @zr: root of the subtree to traverse
-+ * @znode: previous znode
-+ *
-+ * This function implements levelorder TNC traversal. The LNC is ignored.
-+ * Returns the next element or %NULL if @znode is already the last one.
-+ */
-+struct ubifs_znode *ubifs_tnc_levelorder_next(struct ubifs_znode *zr,
-+ struct ubifs_znode *znode)
-+{
-+ int level, iip, level_search = 0;
-+ struct ubifs_znode *zn;
-+
-+ ubifs_assert(zr);
-+
-+ if (unlikely(!znode))
-+ return zr;
-+
-+ if (unlikely(znode == zr)) {
-+ if (znode->level == 0)
-+ return NULL;
-+ return ubifs_tnc_find_child(zr, 0);
-+ }
-+
-+ level = znode->level;
-+
-+ iip = znode->iip;
-+ while (1) {
-+ ubifs_assert(znode->level <= zr->level);
-+
-+ /*
-+ * First walk up until there is a znode with next branch to
-+ * look at.
-+ */
-+ while (znode->parent != zr && iip >= znode->parent->child_cnt) {
-+ znode = znode->parent;
-+ iip = znode->iip;
-+ }
-+
-+ if (unlikely(znode->parent == zr &&
-+ iip >= znode->parent->child_cnt)) {
-+ /* This level is done, switch to the lower one */
-+ level -= 1;
-+ if (level_search || level < 0)
-+ /*
-+ * We were already looking for znode at lower
-+ * level ('level_search'). As we are here
-+ * again, it just does not exist. Or all levels
-+ * were finished ('level < 0').
-+ */
-+ return NULL;
-+
-+ level_search = 1;
-+ iip = -1;
-+ znode = ubifs_tnc_find_child(zr, 0);
-+ ubifs_assert(znode);
-+ }
-+
-+ /* Switch to the next index */
-+ zn = ubifs_tnc_find_child(znode->parent, iip + 1);
-+ if (!zn) {
-+ /* No more children to look at, we have walk up */
-+ iip = znode->parent->child_cnt;
-+ continue;
-+ }
-+
-+ /* Walk back down to the level we came from ('level') */
-+ while (zn->level != level) {
-+ znode = zn;
-+ zn = ubifs_tnc_find_child(zn, 0);
-+ if (!zn) {
-+ /*
-+ * This path is not too deep so it does not
-+ * reach 'level'. Try next path.
-+ */
-+ iip = znode->iip;
-+ break;
-+ }
-+ }
-+
-+ if (zn) {
-+ ubifs_assert(zn->level >= 0);
-+ return zn;
-+ }
-+ }
-+}
-+
-+/**
-+ * ubifs_search_zbranch - search znode branch.
-+ * @c: UBIFS file-system description object
-+ * @znode: znode to search in
-+ * @key: key to search for
-+ * @n: znode branch slot number is returned here
-+ *
-+ * This is a helper function which search branch with key @key in @znode using
-+ * binary search. The result of the search may be:
-+ * o exact match, then %1 is returned, and the slot number of the branch is
-+ * stored in @n;
-+ * o no exact match, then %0 is returned and the slot number of the left
-+ * closest branch is returned in @n; the slot if all keys in this znode are
-+ * greater than @key, then %-1 is returned in @n.
-+ */
-+int ubifs_search_zbranch(const struct ubifs_info *c,
-+ const struct ubifs_znode *znode,
-+ const union ubifs_key *key, int *n)
-+{
-+ int beg = 0, end = znode->child_cnt, uninitialized_var(mid);
-+ int uninitialized_var(cmp);
-+ const struct ubifs_zbranch *zbr = &znode->zbranch[0];
-+
-+ ubifs_assert(end > beg);
-+
-+ while (end > beg) {
-+ mid = (beg + end) >> 1;
-+ cmp = keys_cmp(c, key, &zbr[mid].key);
-+ if (cmp > 0)
-+ beg = mid + 1;
-+ else if (cmp < 0)
-+ end = mid;
-+ else {
-+ *n = mid;
-+ return 1;
-+ }
-+ }
-+
-+ *n = end - 1;
-+
-+ /* The insert point is after *n */
-+ ubifs_assert(*n >= -1 && *n < znode->child_cnt);
-+ if (*n == -1)
-+ ubifs_assert(keys_cmp(c, key, &zbr[0].key) < 0);
-+ else
-+ ubifs_assert(keys_cmp(c, key, &zbr[*n].key) > 0);
-+ if (*n + 1 < znode->child_cnt)
-+ ubifs_assert(keys_cmp(c, key, &zbr[*n + 1].key) < 0);
-+
-+ return 0;
-+}
-+
-+/**
-+ * ubifs_tnc_postorder_first - find first znode to do postorder tree traversal.
-+ * @znode: znode to start at (root of the sub-tree to traverse)
-+ *
-+ * Find the lowest leftmost znode in a subtree of the TNC tree. The LNC is
-+ * ignored.
-+ */
-+struct ubifs_znode *ubifs_tnc_postorder_first(struct ubifs_znode *znode)
-+{
-+ if (unlikely(!znode))
-+ return NULL;
-+
-+ while (znode->level > 0) {
-+ struct ubifs_znode *child;
-+
-+ child = ubifs_tnc_find_child(znode, 0);
-+ if (!child)
-+ return znode;
-+ znode = child;
-+ }
-+
-+ return znode;
-+}
-+
-+/**
-+ * ubifs_tnc_postorder_next - next TNC tree element in postorder traversal.
-+ * @znode: previous znode
-+ *
-+ * This function implements postorder TNC traversal. The LNC is ignored.
-+ * Returns the next element or %NULL if @znode is already the last one.
-+ */
-+struct ubifs_znode *ubifs_tnc_postorder_next(struct ubifs_znode *znode)
-+{
-+ struct ubifs_znode *zn;
-+
-+ ubifs_assert(znode);
-+ if (unlikely(!znode->parent))
-+ return NULL;
-+
-+ /* Switch to the next index in the parent */
-+ zn = ubifs_tnc_find_child(znode->parent, znode->iip + 1);
-+ if (!zn)
-+ /* This is in fact the last child, return parent */
-+ return znode->parent;
-+
-+ /* Go to the first znode in this new subtree */
-+ return ubifs_tnc_postorder_first(zn);
-+}
-+
-+/**
-+ * ubifs_destroy_tnc_subtree - destroy all znodes connected to a subtree.
-+ * @znode: znode defining subtree to destroy
-+ *
-+ * This function destroys subtree of the TNC tree. Returns number of clean
-+ * znodes in the subtree.
-+ */
-+long ubifs_destroy_tnc_subtree(struct ubifs_znode *znode)
-+{
-+ struct ubifs_znode *zn = ubifs_tnc_postorder_first(znode);
-+ long clean_freed = 0;
-+ int n;
-+
-+ ubifs_assert(zn);
-+ while (1) {
-+ for (n = 0; n < zn->child_cnt; n++) {
-+ if (!zn->zbranch[n].znode)
-+ continue;
-+
-+ if (zn->level > 0 &&
-+ !ubifs_zn_dirty(zn->zbranch[n].znode))
-+ clean_freed += 1;
-+
-+ cond_resched();
-+ kfree(zn->zbranch[n].znode);
-+ }
-+
-+ if (zn == znode) {
-+ if (!ubifs_zn_dirty(zn))
-+ clean_freed += 1;
-+ kfree(zn);
-+ return clean_freed;
-+ }
-+
-+ zn = ubifs_tnc_postorder_next(zn);
-+ }
-+}
-+
-+/**
-+ * read_znode - read an indexing node from flash and fill znode.
-+ * @c: UBIFS file-system description object
-+ * @lnum: LEB of the indexing node to read
-+ * @offs: node offset
-+ * @len: node length
-+ * @znode: znode to read to
-+ *
-+ * This function reads an indexing node from the flash media and fills znode
-+ * with the read data. Returns zero in case of success and a negative error
-+ * code in case of failure. The read indexing node is validated and if anything
-+ * is wrong with it, this function prints complaint messages and returns
-+ * %-EINVAL.
-+ */
-+static int read_znode(struct ubifs_info *c, int lnum, int offs, int len,
-+ struct ubifs_znode *znode)
-+{
-+ int i, err, type, cmp;
-+ struct ubifs_idx_node *idx;
-+
-+ idx = kmalloc(c->max_idx_node_sz, GFP_NOFS);
-+ if (!idx)
-+ return -ENOMEM;
-+
-+ err = ubifs_read_node(c, idx, UBIFS_IDX_NODE, len, lnum, offs);
-+ if (err < 0) {
-+ kfree(idx);
-+ return err;
-+ }
-+
-+ znode->child_cnt = le16_to_cpu(idx->child_cnt);
-+ znode->level = le16_to_cpu(idx->level);
-+
-+ dbg_tnc("LEB %d:%d, level %d, %d branch",
-+ lnum, offs, znode->level, znode->child_cnt);
-+
-+ if (znode->child_cnt > c->fanout || znode->level > UBIFS_MAX_LEVELS) {
-+ dbg_err("current fanout %d, branch count %d",
-+ c->fanout, znode->child_cnt);
-+ dbg_err("max levels %d, znode level %d",
-+ UBIFS_MAX_LEVELS, znode->level);
-+ err = 1;
-+ goto out_dump;
-+ }
-+
-+ for (i = 0; i < znode->child_cnt; i++) {
-+ const struct ubifs_branch *br = ubifs_idx_branch(c, idx, i);
-+ struct ubifs_zbranch *zbr = &znode->zbranch[i];
-+
-+ key_read(c, &br->key, &zbr->key);
-+ zbr->lnum = le32_to_cpu(br->lnum);
-+ zbr->offs = le32_to_cpu(br->offs);
-+ zbr->len = le32_to_cpu(br->len);
-+ zbr->znode = NULL;
-+
-+ /* Validate branch */
-+
-+ if (zbr->lnum < c->main_first ||
-+ zbr->lnum >= c->leb_cnt || zbr->offs < 0 ||
-+ zbr->offs + zbr->len > c->leb_size || zbr->offs & 7) {
-+ dbg_err("bad branch %d", i);
-+ err = 2;
-+ goto out_dump;
-+ }
-+
-+ switch (key_type(c, &zbr->key)) {
-+ case UBIFS_INO_KEY:
-+ case UBIFS_DATA_KEY:
-+ case UBIFS_DENT_KEY:
-+ case UBIFS_XENT_KEY:
-+ break;
-+ default:
-+ dbg_msg("bad key type at slot %d: %s", i,
-+ DBGKEY(&zbr->key));
-+ err = 3;
-+ goto out_dump;
-+ }
-+
-+ if (znode->level)
-+ continue;
-+
-+ type = key_type(c, &zbr->key);
-+ if (c->ranges[type].max_len == 0) {
-+ if (zbr->len != c->ranges[type].len) {
-+ dbg_err("bad target node (type %d) length (%d)",
-+ type, zbr->len);
-+ dbg_err("have to be %d", c->ranges[type].len);
-+ err = 4;
-+ goto out_dump;
-+ }
-+ } else if (zbr->len < c->ranges[type].min_len ||
-+ zbr->len > c->ranges[type].max_len) {
-+ dbg_err("bad target node (type %d) length (%d)",
-+ type, zbr->len);
-+ dbg_err("have to be in range of %d-%d",
-+ c->ranges[type].min_len,
-+ c->ranges[type].max_len);
-+ err = 5;
-+ goto out_dump;
-+ }
-+ }
-+
-+ /*
-+ * Ensure that the next key is greater or equivalent to the
-+ * previous one.
-+ */
-+ for (i = 0; i < znode->child_cnt - 1; i++) {
-+ const union ubifs_key *key1, *key2;
-+
-+ key1 = &znode->zbranch[i].key;
-+ key2 = &znode->zbranch[i + 1].key;
-+
-+ cmp = keys_cmp(c, key1, key2);
-+ if (cmp > 0) {
-+ dbg_err("bad key order (keys %d and %d)", i, i + 1);
-+ err = 6;
-+ goto out_dump;
-+ } else if (cmp == 0 && !is_hash_key(c, key1)) {
-+ /* These can only be keys with colliding hash */
-+ dbg_err("keys %d and %d are not hashed but equivalent",
-+ i, i + 1);
-+ err = 7;
-+ goto out_dump;
-+ }
-+ }
-+
-+ kfree(idx);
-+ return 0;
-+
-+out_dump:
-+ ubifs_err("bad indexing node at LEB %d:%d, error %d", lnum, offs, err);
-+ dbg_dump_node(c, idx);
-+ kfree(idx);
-+ return -EINVAL;
-+}
-+
-+/**
-+ * ubifs_load_znode - load znode to TNC cache.
-+ * @c: UBIFS file-system description object
-+ * @zbr: znode branch
-+ * @parent: znode's parent
-+ * @iip: index in parent
-+ *
-+ * This function loads znode pointed to by @zbr into the TNC cache and
-+ * returns pointer to it in case of success and a negative error code in case
-+ * of failure.
-+ */
-+struct ubifs_znode *ubifs_load_znode(struct ubifs_info *c,
-+ struct ubifs_zbranch *zbr,
-+ struct ubifs_znode *parent, int iip)
-+{
-+ int err;
-+ struct ubifs_znode *znode;
-+
-+ ubifs_assert(!zbr->znode);
-+ /*
-+ * A slab cache is not presently used for znodes because the znode size
-+ * depends on the fanout which is stored in the superblock.
-+ */
-+ znode = kzalloc(c->max_znode_sz, GFP_NOFS);
-+ if (!znode)
-+ return ERR_PTR(-ENOMEM);
-+
-+ err = read_znode(c, zbr->lnum, zbr->offs, zbr->len, znode);
-+ if (err)
-+ goto out;
-+
-+ atomic_long_inc(&c->clean_zn_cnt);
-+
-+ /*
-+ * Increment the global clean znode counter as well. It is OK that
-+ * global and per-FS clean znode counters may be inconsistent for some
-+ * short time (because we might be preempted at this point), the global
-+ * one is only used in shrinker.
-+ */
-+ atomic_long_inc(&ubifs_clean_zn_cnt);
-+
-+ zbr->znode = znode;
-+ znode->parent = parent;
-+ znode->time = get_seconds();
-+ znode->iip = iip;
-+
-+ return znode;
-+
-+out:
-+ kfree(znode);
-+ return ERR_PTR(err);
-+}
-+
-+/**
-+ * ubifs_tnc_read_node - read a leaf node from the flash media.
-+ * @c: UBIFS file-system description object
-+ * @zbr: key and position of the node
-+ * @node: node is returned here
-+ *
-+ * This function reads a node defined by @zbr from the flash media. Returns
-+ * zero in case of success or a negative negative error code in case of
-+ * failure.
-+ */
-+int ubifs_tnc_read_node(struct ubifs_info *c, struct ubifs_zbranch *zbr,
-+ void *node)
-+{
-+ union ubifs_key key1, *key = &zbr->key;
-+ int err, type = key_type(c, key);
-+ struct ubifs_wbuf *wbuf;
-+
-+ /*
-+ * 'zbr' has to point to on-flash node. The node may sit in a bud and
-+ * may even be in a write buffer, so we have to take care about this.
-+ */
-+ wbuf = ubifs_get_wbuf(c, zbr->lnum);
-+ if (wbuf)
-+ err = ubifs_read_node_wbuf(wbuf, node, type, zbr->len,
-+ zbr->lnum, zbr->offs);
-+ else
-+ err = ubifs_read_node(c, node, type, zbr->len, zbr->lnum,
-+ zbr->offs);
-+
-+ if (err) {
-+ dbg_tnc("key %s", DBGKEY(key));
-+ return err;
-+ }
-+
-+ /* Make sure the key of the read node is correct */
-+ key_read(c, node + UBIFS_KEY_OFFSET, &key1);
-+ if (!keys_eq(c, key, &key1)) {
-+ ubifs_err("bad key in node at LEB %d:%d",
-+ zbr->lnum, zbr->offs);
-+ dbg_tnc("looked for key %s found node's key %s",
-+ DBGKEY(key), DBGKEY1(&key1));
-+ dbg_dump_node(c, node);
-+ return -EINVAL;
-+ }
-+
-+ return 0;
-+}
-diff -Nurd linux-2.6.24.orig/fs/ubifs/ubifs-media.h linux-2.6.24/fs/ubifs/ubifs-media.h
---- linux-2.6.24.orig/fs/ubifs/ubifs-media.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.24/fs/ubifs/ubifs-media.h 2009-04-17 09:49:28.000000000 +0200
-@@ -0,0 +1,751 @@
-+/*
-+ * This file is part of UBIFS.
-+ *
-+ * Copyright (C) 2006-2008 Nokia Corporation.
-+ *
-+ * This program is free software; you can redistribute it and/or modify it
-+ * under the terms of the GNU General Public License version 2 as published by
-+ * the Free Software Foundation.
-+ *
-+ * 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, write to the Free Software Foundation, Inc., 51
-+ * Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
-+ *
-+ * Authors: Artem Bityutskiy (Битюцкий Ðртём)
-+ * Adrian Hunter
-+ */
-+
-+/*
-+ * This file describes UBIFS on-flash format and contains definitions of all the
-+ * relevant data structures and constants.
-+ *
-+ * All UBIFS on-flash objects are stored in the form of nodes. All nodes start
-+ * with the UBIFS node magic number and have the same common header. Nodes
-+ * always sit at 8-byte aligned positions on the media and node header sizes are
-+ * also 8-byte aligned (except for the indexing node and the padding node).
-+ */
-+
-+#ifndef __UBIFS_MEDIA_H__
-+#define __UBIFS_MEDIA_H__
-+
-+/* UBIFS node magic number (must not have the padding byte first or last) */
-+#define UBIFS_NODE_MAGIC 0x06101831
-+
-+/* UBIFS on-flash format version */
-+#define UBIFS_FORMAT_VERSION 4
-+
-+/* Minimum logical eraseblock size in bytes */
-+#define UBIFS_MIN_LEB_SZ (15*1024)
-+
-+/* Initial CRC32 value used when calculating CRC checksums */
-+#define UBIFS_CRC32_INIT 0xFFFFFFFFU
-+
-+/*
-+ * UBIFS does not try to compress data if its length is less than the below
-+ * constant.
-+ */
-+#define UBIFS_MIN_COMPR_LEN 128
-+
-+/*
-+ * If compressed data length is less than %UBIFS_MIN_COMPRESS_DIFF bytes
-+ * shorter than uncompressed data length, UBIFS preferes to leave this data
-+ * node uncompress, because it'll be read faster.
-+ */
-+#define UBIFS_MIN_COMPRESS_DIFF 64
-+
-+/* Root inode number */
-+#define UBIFS_ROOT_INO 1
-+
-+/* Lowest inode number used for regular inodes (not UBIFS-only internal ones) */
-+#define UBIFS_FIRST_INO 64
-+
-+/*
-+ * Maximum file name and extended attribute length (must be a multiple of 8,
-+ * minus 1).
-+ */
-+#define UBIFS_MAX_NLEN 255
-+
-+/* Maximum number of data journal heads */
-+#define UBIFS_MAX_JHEADS 1
-+
-+/*
-+ * Size of UBIFS data block. Note, UBIFS is not a block oriented file-system,
-+ * which means that it does not treat the underlying media as consisting of
-+ * blocks like in case of hard drives. Do not be confused. UBIFS block is just
-+ * the maximum amount of data which one data node can have or which can be
-+ * attached to an inode node.
-+ */
-+#define UBIFS_BLOCK_SIZE 4096
-+#define UBIFS_BLOCK_SHIFT 12
-+
-+/* UBIFS padding byte pattern (must not be first or last byte of node magic) */
-+#define UBIFS_PADDING_BYTE 0xCE
-+
-+/* Maximum possible key length */
-+#define UBIFS_MAX_KEY_LEN 16
-+
-+/* Key length ("simple" format) */
-+#define UBIFS_SK_LEN 8
-+
-+/* Minimum index tree fanout */
-+#define UBIFS_MIN_FANOUT 3
-+
-+/* Maximum number of levels in UBIFS indexing B-tree */
-+#define UBIFS_MAX_LEVELS 512
-+
-+/* Maximum amount of data attached to an inode in bytes */
-+#define UBIFS_MAX_INO_DATA UBIFS_BLOCK_SIZE
-+
-+/* LEB Properties Tree fanout (must be power of 2) and fanout shift */
-+#define UBIFS_LPT_FANOUT 4
-+#define UBIFS_LPT_FANOUT_SHIFT 2
-+
-+/* LEB Properties Tree bit field sizes */
-+#define UBIFS_LPT_CRC_BITS 16
-+#define UBIFS_LPT_CRC_BYTES 2
-+#define UBIFS_LPT_TYPE_BITS 4
-+
-+/* The key is always at the same position in all keyed nodes */
-+#define UBIFS_KEY_OFFSET offsetof(struct ubifs_ino_node, key)
-+
-+/*
-+ * LEB Properties Tree node types.
-+ *
-+ * UBIFS_LPT_PNODE: LPT leaf node (contains LEB properties)
-+ * UBIFS_LPT_NNODE: LPT internal node
-+ * UBIFS_LPT_LTAB: LPT's own lprops table
-+ * UBIFS_LPT_LSAVE: LPT's save table (big model only)
-+ * UBIFS_LPT_NODE_CNT: count of LPT node types
-+ * UBIFS_LPT_NOT_A_NODE: all ones (15 for 4 bits) is never a valid node type
-+ */
-+enum {
-+ UBIFS_LPT_PNODE,
-+ UBIFS_LPT_NNODE,
-+ UBIFS_LPT_LTAB,
-+ UBIFS_LPT_LSAVE,
-+ UBIFS_LPT_NODE_CNT,
-+ UBIFS_LPT_NOT_A_NODE = (1 << UBIFS_LPT_TYPE_BITS) - 1,
-+};
-+
-+/*
-+ * UBIFS inode types.
-+ *
-+ * UBIFS_ITYPE_REG: regular file
-+ * UBIFS_ITYPE_DIR: directory
-+ * UBIFS_ITYPE_LNK: soft link
-+ * UBIFS_ITYPE_BLK: block device node
-+ * UBIFS_ITYPE_CHR: character device node
-+ * UBIFS_ITYPE_FIFO: fifo
-+ * UBIFS_ITYPE_SOCK: socket
-+ * UBIFS_ITYPES_CNT: count of supported file types
-+ */
-+enum {
-+ UBIFS_ITYPE_REG,
-+ UBIFS_ITYPE_DIR,
-+ UBIFS_ITYPE_LNK,
-+ UBIFS_ITYPE_BLK,
-+ UBIFS_ITYPE_CHR,
-+ UBIFS_ITYPE_FIFO,
-+ UBIFS_ITYPE_SOCK,
-+ UBIFS_ITYPES_CNT,
-+};
-+
-+/*
-+ * Supported key hash functions.
-+ *
-+ * UBIFS_KEY_HASH_R5: R5 hash
-+ * UBIFS_KEY_HASH_TEST: test hash which just returns first 4 bytes of the name
-+ */
-+enum {
-+ UBIFS_KEY_HASH_R5,
-+ UBIFS_KEY_HASH_TEST,
-+};
-+
-+/*
-+ * Supported key formats.
-+ *
-+ * UBIFS_SIMPLE_KEY_FMT: simple key format
-+ */
-+enum {
-+ UBIFS_SIMPLE_KEY_FMT,
-+};
-+
-+/*
-+ * The simple key format uses 29 bits for storing UBIFS block number and hash
-+ * value.
-+ */
-+#define UBIFS_S_KEY_BLOCK_BITS 29
-+#define UBIFS_S_KEY_BLOCK_MASK 0x1FFFFFFF
-+#define UBIFS_S_KEY_HASH_BITS UBIFS_S_KEY_BLOCK_BITS
-+#define UBIFS_S_KEY_HASH_MASK UBIFS_S_KEY_BLOCK_MASK
-+
-+/*
-+ * Key types.
-+ *
-+ * UBIFS_INO_KEY: inode node key
-+ * UBIFS_DATA_KEY: data node key
-+ * UBIFS_DENT_KEY: directory entry node key
-+ * UBIFS_XENT_KEY: extended attribute entry key
-+ * UBIFS_KEY_TYPES_CNT: number of supported key types
-+ */
-+enum {
-+ UBIFS_INO_KEY,
-+ UBIFS_DATA_KEY,
-+ UBIFS_DENT_KEY,
-+ UBIFS_XENT_KEY,
-+ UBIFS_KEY_TYPES_CNT,
-+};
-+
-+/* Count of LEBs reserved for the superblock area */
-+#define UBIFS_SB_LEBS 1
-+/* Count of LEBs reserved for the master area */
-+#define UBIFS_MST_LEBS 2
-+
-+/* First LEB of the superblock area */
-+#define UBIFS_SB_LNUM 0
-+/* First LEB of the master area */
-+#define UBIFS_MST_LNUM (UBIFS_SB_LNUM + UBIFS_SB_LEBS)
-+/* First LEB of the log area */
-+#define UBIFS_LOG_LNUM (UBIFS_MST_LNUM + UBIFS_MST_LEBS)
-+
-+/*
-+ * The below constants define the absolute minimum values for various UBIFS
-+ * media areas. Many of them actually depend of flash geometry and the FS
-+ * configuration (number of journal heads, orphan LEBs, etc). This means that
-+ * the smallest volume size which can be used for UBIFS cannot be pre-defined
-+ * by these constants. The file-system that meets the below limitation will not
-+ * necessarily mount. UBIFS does run-time calculations and validates the FS
-+ * size.
-+ */
-+
-+/* Minimum number of logical eraseblocks in the log */
-+#define UBIFS_MIN_LOG_LEBS 2
-+/* Minimum number of bud logical eraseblocks (one for each head) */
-+#define UBIFS_MIN_BUD_LEBS 3
-+/* Minimum number of journal logical eraseblocks */
-+#define UBIFS_MIN_JNL_LEBS (UBIFS_MIN_LOG_LEBS + UBIFS_MIN_BUD_LEBS)
-+/* Minimum number of LPT area logical eraseblocks */
-+#define UBIFS_MIN_LPT_LEBS 2
-+/* Minimum number of orphan area logical eraseblocks */
-+#define UBIFS_MIN_ORPH_LEBS 1
-+/*
-+ * Minimum number of main area logical eraseblocks (buds, 3 for the index, 1
-+ * for GC, 1 for deletions, and at least 1 for committed data).
-+ */
-+#define UBIFS_MIN_MAIN_LEBS (UBIFS_MIN_BUD_LEBS + 6)
-+
-+/* Minimum number of logical eraseblocks */
-+#define UBIFS_MIN_LEB_CNT (UBIFS_SB_LEBS + UBIFS_MST_LEBS + \
-+ UBIFS_MIN_LOG_LEBS + UBIFS_MIN_LPT_LEBS + \
-+ UBIFS_MIN_ORPH_LEBS + UBIFS_MIN_MAIN_LEBS)
-+
-+/* Node sizes (N.B. these are guaranteed to be multiples of 8) */
-+#define UBIFS_CH_SZ sizeof(struct ubifs_ch)
-+#define UBIFS_INO_NODE_SZ sizeof(struct ubifs_ino_node)
-+#define UBIFS_DATA_NODE_SZ sizeof(struct ubifs_data_node)
-+#define UBIFS_DENT_NODE_SZ sizeof(struct ubifs_dent_node)
-+#define UBIFS_TRUN_NODE_SZ sizeof(struct ubifs_trun_node)
-+#define UBIFS_PAD_NODE_SZ sizeof(struct ubifs_pad_node)
-+#define UBIFS_SB_NODE_SZ sizeof(struct ubifs_sb_node)
-+#define UBIFS_MST_NODE_SZ sizeof(struct ubifs_mst_node)
-+#define UBIFS_REF_NODE_SZ sizeof(struct ubifs_ref_node)
-+#define UBIFS_IDX_NODE_SZ sizeof(struct ubifs_idx_node)
-+#define UBIFS_CS_NODE_SZ sizeof(struct ubifs_cs_node)
-+#define UBIFS_ORPH_NODE_SZ sizeof(struct ubifs_orph_node)
-+/* Extended attribute entry nodes are identical to directory entry nodes */
-+#define UBIFS_XENT_NODE_SZ UBIFS_DENT_NODE_SZ
-+/* Only this does not have to be multiple of 8 bytes */
-+#define UBIFS_BRANCH_SZ sizeof(struct ubifs_branch)
-+
-+/* Maximum node sizes (N.B. these are guaranteed to be multiples of 8) */
-+#define UBIFS_MAX_DATA_NODE_SZ (UBIFS_DATA_NODE_SZ + UBIFS_BLOCK_SIZE)
-+#define UBIFS_MAX_INO_NODE_SZ (UBIFS_INO_NODE_SZ + UBIFS_MAX_INO_DATA)
-+#define UBIFS_MAX_DENT_NODE_SZ (UBIFS_DENT_NODE_SZ + UBIFS_MAX_NLEN + 1)
-+#define UBIFS_MAX_XENT_NODE_SZ UBIFS_MAX_DENT_NODE_SZ
-+
-+/* The largest UBIFS node */
-+#define UBIFS_MAX_NODE_SZ UBIFS_MAX_INO_NODE_SZ
-+
-+/*
-+ * On-flash inode flags.
-+ *
-+ * UBIFS_COMPR_FL: use compression for this inode
-+ * UBIFS_SYNC_FL: I/O on this inode has to be synchronous
-+ * UBIFS_IMMUTABLE_FL: inode is immutable
-+ * UBIFS_APPEND_FL: writes to the inode may only append data
-+ * UBIFS_DIRSYNC_FL: I/O on this directory inode has to be synchronous
-+ * UBIFS_XATTR_FL: this inode is the inode for an extended attribute value
-+ *
-+ * Note, these are on-flash flags which correspond to ioctl flags
-+ * (@FS_COMPR_FL, etc). They have the same values now, but generally, do not
-+ * have to be the same.
-+ */
-+enum {
-+ UBIFS_COMPR_FL = 0x01,
-+ UBIFS_SYNC_FL = 0x02,
-+ UBIFS_IMMUTABLE_FL = 0x04,
-+ UBIFS_APPEND_FL = 0x08,
-+ UBIFS_DIRSYNC_FL = 0x10,
-+ UBIFS_XATTR_FL = 0x20,
-+};
-+
-+/* Inode flag bits used by UBIFS */
-+#define UBIFS_FL_MASK 0x0000001F
-+
-+/*
-+ * UBIFS compression types.
-+ *
-+ * UBIFS_COMPR_NONE: no compression
-+ * UBIFS_COMPR_LZO: LZO compression
-+ * UBIFS_COMPR_ZLIB: ZLIB compression
-+ * UBIFS_COMPR_TYPES_CNT: count of supported compression types
-+ */
-+enum {
-+ UBIFS_COMPR_NONE,
-+ UBIFS_COMPR_LZO,
-+ UBIFS_COMPR_ZLIB,
-+ UBIFS_COMPR_TYPES_CNT,
-+};
-+
-+/*
-+ * UBIFS node types.
-+ *
-+ * UBIFS_INO_NODE: inode node
-+ * UBIFS_DATA_NODE: data node
-+ * UBIFS_DENT_NODE: directory entry node
-+ * UBIFS_XENT_NODE: extended attribute node
-+ * UBIFS_TRUN_NODE: truncation node
-+ * UBIFS_PAD_NODE: padding node
-+ * UBIFS_SB_NODE: superblock node
-+ * UBIFS_MST_NODE: master node
-+ * UBIFS_REF_NODE: LEB reference node
-+ * UBIFS_IDX_NODE: index node
-+ * UBIFS_CS_NODE: commit start node
-+ * UBIFS_ORPH_NODE: orphan node
-+ * UBIFS_NODE_TYPES_CNT: count of supported node types
-+ *
-+ * Note, we index arrays by these numbers, so keep them low and contiguous.
-+ * Node type constants for inodes, direntries and so on have to be the same as
-+ * corresponding key type constants.
-+ */
-+enum {
-+ UBIFS_INO_NODE,
-+ UBIFS_DATA_NODE,
-+ UBIFS_DENT_NODE,
-+ UBIFS_XENT_NODE,
-+ UBIFS_TRUN_NODE,
-+ UBIFS_PAD_NODE,
-+ UBIFS_SB_NODE,
-+ UBIFS_MST_NODE,
-+ UBIFS_REF_NODE,
-+ UBIFS_IDX_NODE,
-+ UBIFS_CS_NODE,
-+ UBIFS_ORPH_NODE,
-+ UBIFS_NODE_TYPES_CNT,
-+};
-+
-+/*
-+ * Master node flags.
-+ *
-+ * UBIFS_MST_DIRTY: rebooted uncleanly - master node is dirty
-+ * UBIFS_MST_NO_ORPHS: no orphan inodes present
-+ * UBIFS_MST_RCVRY: written by recovery
-+ */
-+enum {
-+ UBIFS_MST_DIRTY = 1,
-+ UBIFS_MST_NO_ORPHS = 2,
-+ UBIFS_MST_RCVRY = 4,
-+};
-+
-+/*
-+ * Node group type (used by recovery to recover whole group or none).
-+ *
-+ * UBIFS_NO_NODE_GROUP: this node is not part of a group
-+ * UBIFS_IN_NODE_GROUP: this node is a part of a group
-+ * UBIFS_LAST_OF_NODE_GROUP: this node is the last in a group
-+ */
-+enum {
-+ UBIFS_NO_NODE_GROUP = 0,
-+ UBIFS_IN_NODE_GROUP,
-+ UBIFS_LAST_OF_NODE_GROUP,
-+};
-+
-+/*
-+ * Superblock flags.
-+ *
-+ * UBIFS_FLG_BIGLPT: if "big" LPT model is used if set
-+ */
-+enum {
-+ UBIFS_FLG_BIGLPT = 0x02,
-+};
-+
-+/**
-+ * struct ubifs_ch - common header node.
-+ * @magic: UBIFS node magic number (%UBIFS_NODE_MAGIC)
-+ * @crc: CRC-32 checksum of the node header
-+ * @sqnum: sequence number
-+ * @len: full node length
-+ * @node_type: node type
-+ * @group_type: node group type
-+ * @padding: reserved for future, zeroes
-+ *
-+ * Every UBIFS node starts with this common part. If the node has a key, the
-+ * key always goes next.
-+ */
-+struct ubifs_ch {
-+ __le32 magic;
-+ __le32 crc;
-+ __le64 sqnum;
-+ __le32 len;
-+ __u8 node_type;
-+ __u8 group_type;
-+ __u8 padding[2];
-+} __attribute__ ((packed));
-+
-+/**
-+ * union ubifs_dev_desc - device node descriptor.
-+ * @new: new type device descriptor
-+ * @huge: huge type device descriptor
-+ *
-+ * This data structure describes major/minor numbers of a device node. In an
-+ * inode is a device node then its data contains an object of this type. UBIFS
-+ * uses standard Linux "new" and "huge" device node encodings.
-+ */
-+union ubifs_dev_desc {
-+ __le32 new;
-+ __le64 huge;
-+} __attribute__ ((packed));
-+
-+/**
-+ * struct ubifs_ino_node - inode node.
-+ * @ch: common header
-+ * @key: node key
-+ * @creat_sqnum: sequence number at time of creation
-+ * @size: inode size in bytes (amount of uncompressed data)
-+ * @atime_sec: access time seconds
-+ * @ctime_sec: creation time seconds
-+ * @mtime_sec: modification time seconds
-+ * @atime_nsec: access time nanoseconds
-+ * @ctime_nsec: creation time nanoseconds
-+ * @mtime_nsec: modification time nanoseconds
-+ * @nlink: number of hard links
-+ * @uid: owner ID
-+ * @gid: group ID
-+ * @mode: access flags
-+ * @flags: per-inode flags (%UBIFS_COMPR_FL, %UBIFS_SYNC_FL, etc)
-+ * @data_len: inode data length
-+ * @xattr_cnt: count of extended attributes this inode has
-+ * @xattr_size: summarized size of all extended attributes in bytes
-+ * @padding1: reserved for future, zeroes
-+ * @xattr_names: sum of lengths of all extended attribute names belonging to
-+ * this inode
-+ * @compr_type: compression type used for this inode
-+ * @padding2: reserved for future, zeroes
-+ * @data: data attached to the inode
-+ *
-+ * Note, even though inode compression type is defined by @compr_type, some
-+ * nodes of this inode may be compressed with different compressor - this
-+ * happens if compression type is changed while the inode already has data
-+ * nodes. But @compr_type will be use for further writes to the inode.
-+ *
-+ * Note, do not forget to amend 'zero_ino_node_unused()' function when changing
-+ * the padding fields.
-+ */
-+struct ubifs_ino_node {
-+ struct ubifs_ch ch;
-+ __u8 key[UBIFS_MAX_KEY_LEN];
-+ __le64 creat_sqnum;
-+ __le64 size;
-+ __le64 atime_sec;
-+ __le64 ctime_sec;
-+ __le64 mtime_sec;
-+ __le32 atime_nsec;
-+ __le32 ctime_nsec;
-+ __le32 mtime_nsec;
-+ __le32 nlink;
-+ __le32 uid;
-+ __le32 gid;
-+ __le32 mode;
-+ __le32 flags;
-+ __le32 data_len;
-+ __le32 xattr_cnt;
-+ __le32 xattr_size;
-+ __u8 padding1[4]; /* Watch 'zero_ino_node_unused()' if changing! */
-+ __le32 xattr_names;
-+ __le16 compr_type;
-+ __u8 padding2[26]; /* Watch 'zero_ino_node_unused()' if changing! */
-+ __u8 data[];
-+} __attribute__ ((packed));
-+
-+/**
-+ * struct ubifs_dent_node - directory entry node.
-+ * @ch: common header
-+ * @key: node key
-+ * @inum: target inode number
-+ * @padding1: reserved for future, zeroes
-+ * @type: type of the target inode (%UBIFS_ITYPE_REG, %UBIFS_ITYPE_DIR, etc)
-+ * @nlen: name length
-+ * @padding2: reserved for future, zeroes
-+ * @name: zero-terminated name
-+ *
-+ * Note, do not forget to amend 'zero_dent_node_unused()' function when
-+ * changing the padding fields.
-+ */
-+struct ubifs_dent_node {
-+ struct ubifs_ch ch;
-+ __u8 key[UBIFS_MAX_KEY_LEN];
-+ __le64 inum;
-+ __u8 padding1;
-+ __u8 type;
-+ __le16 nlen;
-+ __u8 padding2[4]; /* Watch 'zero_dent_node_unused()' if changing! */
-+ __u8 name[];
-+} __attribute__ ((packed));
-+
-+/**
-+ * struct ubifs_data_node - data node.
-+ * @ch: common header
-+ * @key: node key
-+ * @size: uncompressed data size in bytes
-+ * @compr_type: compression type (%UBIFS_COMPR_NONE, %UBIFS_COMPR_LZO, etc)
-+ * @padding: reserved for future, zeroes
-+ * @data: data
-+ *
-+ * Note, do not forget to amend 'zero_data_node_unused()' function when
-+ * changing the padding fields.
-+ */
-+struct ubifs_data_node {
-+ struct ubifs_ch ch;
-+ __u8 key[UBIFS_MAX_KEY_LEN];
-+ __le32 size;
-+ __le16 compr_type;
-+ __u8 padding[2]; /* Watch 'zero_data_node_unused()' if changing! */
-+ __u8 data[];
-+} __attribute__ ((packed));
-+
-+/**
-+ * struct ubifs_trun_node - truncation node.
-+ * @ch: common header
-+ * @inum: truncated inode number
-+ * @padding: reserved for future, zeroes
-+ * @old_size: size before truncation
-+ * @new_size: size after truncation
-+ *
-+ * This node exists only in the journal and never goes to the main area. Note,
-+ * do not forget to amend 'zero_trun_node_unused()' function when changing the
-+ * padding fields.
-+ */
-+struct ubifs_trun_node {
-+ struct ubifs_ch ch;
-+ __le32 inum;
-+ __u8 padding[12]; /* Watch 'zero_trun_node_unused()' if changing! */
-+ __le64 old_size;
-+ __le64 new_size;
-+} __attribute__ ((packed));
-+
-+/**
-+ * struct ubifs_pad_node - padding node.
-+ * @ch: common header
-+ * @pad_len: how many bytes after this node are unused (because padded)
-+ * @padding: reserved for future, zeroes
-+ */
-+struct ubifs_pad_node {
-+ struct ubifs_ch ch;
-+ __le32 pad_len;
-+} __attribute__ ((packed));
-+
-+/**
-+ * struct ubifs_sb_node - superblock node.
-+ * @ch: common header
-+ * @padding: reserved for future, zeroes
-+ * @key_hash: type of hash function used in keys
-+ * @key_fmt: format of the key
-+ * @flags: file-system flags (%UBIFS_FLG_BIGLPT, etc)
-+ * @min_io_size: minimal input/output unit size
-+ * @leb_size: logical eraseblock size in bytes
-+ * @leb_cnt: count of LEBs used by file-system
-+ * @max_leb_cnt: maximum count of LEBs used by file-system
-+ * @max_bud_bytes: maximum amount of data stored in buds
-+ * @log_lebs: log size in logical eraseblocks
-+ * @lpt_lebs: number of LEBs used for lprops table
-+ * @orph_lebs: number of LEBs used for recording orphans
-+ * @jhead_cnt: count of journal heads
-+ * @fanout: tree fanout (max. number of links per indexing node)
-+ * @lsave_cnt: number of LEB numbers in LPT's save table
-+ * @fmt_version: UBIFS on-flash format version
-+ * @default_compr: default compression
-+ * @padding1: reserved for future, zeroes
-+ * @rp_uid: reserve pool UID
-+ * @rp_gid: reserve pool GID
-+ * @rp_size: size of the reserved pool in bytes
-+ * @padding2: reserved for future, zeroes
-+ * @time_gran: time granularity in nanoseconds
-+ * @uuid: UUID generated when the file system image was created
-+ */
-+struct ubifs_sb_node {
-+ struct ubifs_ch ch;
-+ __u8 padding[2];
-+ __u8 key_hash;
-+ __u8 key_fmt;
-+ __le32 flags;
-+ __le32 min_io_size;
-+ __le32 leb_size;
-+ __le32 leb_cnt;
-+ __le32 max_leb_cnt;
-+ __le64 max_bud_bytes;
-+ __le32 log_lebs;
-+ __le32 lpt_lebs;
-+ __le32 orph_lebs;
-+ __le32 jhead_cnt;
-+ __le32 fanout;
-+ __le32 lsave_cnt;
-+ __le32 fmt_version;
-+ __le16 default_compr;
-+ __u8 padding1[2];
-+ __le32 rp_uid;
-+ __le32 rp_gid;
-+ __le64 rp_size;
-+ __le32 time_gran;
-+ __u8 uuid[16];
-+ __u8 padding2[3972];
-+} __attribute__ ((packed));
-+
-+/**
-+ * struct ubifs_mst_node - master node.
-+ * @ch: common header
-+ * @highest_inum: highest inode number in the committed index
-+ * @cmt_no: commit number
-+ * @flags: various flags (%UBIFS_MST_DIRTY, etc)
-+ * @log_lnum: start of the log
-+ * @root_lnum: LEB number of the root indexing node
-+ * @root_offs: offset within @root_lnum
-+ * @root_len: root indexing node length
-+ * @gc_lnum: LEB reserved for garbage collection (%-1 value means the LEB was
-+ * not reserved and should be reserved on mount)
-+ * @ihead_lnum: LEB number of index head
-+ * @ihead_offs: offset of index head
-+ * @index_size: size of index on flash
-+ * @total_free: total free space in bytes
-+ * @total_dirty: total dirty space in bytes
-+ * @total_used: total used space in bytes (includes only data LEBs)
-+ * @total_dead: total dead space in bytes (includes only data LEBs)
-+ * @total_dark: total dark space in bytes (includes only data LEBs)
-+ * @lpt_lnum: LEB number of LPT root nnode
-+ * @lpt_offs: offset of LPT root nnode
-+ * @nhead_lnum: LEB number of LPT head
-+ * @nhead_offs: offset of LPT head
-+ * @ltab_lnum: LEB number of LPT's own lprops table
-+ * @ltab_offs: offset of LPT's own lprops table
-+ * @lsave_lnum: LEB number of LPT's save table (big model only)
-+ * @lsave_offs: offset of LPT's save table (big model only)
-+ * @lscan_lnum: LEB number of last LPT scan
-+ * @empty_lebs: number of empty logical eraseblocks
-+ * @idx_lebs: number of indexing logical eraseblocks
-+ * @leb_cnt: count of LEBs used by file-system
-+ * @padding: reserved for future, zeroes
-+ */
-+struct ubifs_mst_node {
-+ struct ubifs_ch ch;
-+ __le64 highest_inum;
-+ __le64 cmt_no;
-+ __le32 flags;
-+ __le32 log_lnum;
-+ __le32 root_lnum;
-+ __le32 root_offs;
-+ __le32 root_len;
-+ __le32 gc_lnum;
-+ __le32 ihead_lnum;
-+ __le32 ihead_offs;
-+ __le64 index_size;
-+ __le64 total_free;
-+ __le64 total_dirty;
-+ __le64 total_used;
-+ __le64 total_dead;
-+ __le64 total_dark;
-+ __le32 lpt_lnum;
-+ __le32 lpt_offs;
-+ __le32 nhead_lnum;
-+ __le32 nhead_offs;
-+ __le32 ltab_lnum;
-+ __le32 ltab_offs;
-+ __le32 lsave_lnum;
-+ __le32 lsave_offs;
-+ __le32 lscan_lnum;
-+ __le32 empty_lebs;
-+ __le32 idx_lebs;
-+ __le32 leb_cnt;
-+ __u8 padding[344];
-+} __attribute__ ((packed));
-+
-+/**
-+ * struct ubifs_ref_node - logical eraseblock reference node.
-+ * @ch: common header
-+ * @lnum: the referred logical eraseblock number
-+ * @offs: start offset in the referred LEB
-+ * @jhead: journal head number
-+ * @padding: reserved for future, zeroes
-+ */
-+struct ubifs_ref_node {
-+ struct ubifs_ch ch;
-+ __le32 lnum;
-+ __le32 offs;
-+ __le32 jhead;
-+ __u8 padding[28];
-+} __attribute__ ((packed));
-+
-+/**
-+ * struct ubifs_branch - key/reference/length branch
-+ * @lnum: LEB number of the target node
-+ * @offs: offset within @lnum
-+ * @len: target node length
-+ * @key: key
-+ */
-+struct ubifs_branch {
-+ __le32 lnum;
-+ __le32 offs;
-+ __le32 len;
-+ __u8 key[];
-+} __attribute__ ((packed));
-+
-+/**
-+ * struct ubifs_idx_node - indexing node.
-+ * @ch: common header
-+ * @child_cnt: number of child index nodes
-+ * @level: tree level
-+ * @branches: LEB number / offset / length / key branches
-+ */
-+struct ubifs_idx_node {
-+ struct ubifs_ch ch;
-+ __le16 child_cnt;
-+ __le16 level;
-+ __u8 branches[];
-+} __attribute__ ((packed));
-+
-+/**
-+ * struct ubifs_cs_node - commit start node.
-+ * @ch: common header
-+ * @cmt_no: commit number
-+ */
-+struct ubifs_cs_node {
-+ struct ubifs_ch ch;
-+ __le64 cmt_no;
-+} __attribute__ ((packed));
-+
-+/**
-+ * struct ubifs_orph_node - orphan node.
-+ * @ch: common header
-+ * @cmt_no: commit number (also top bit is set on the last node of the commit)
-+ * @inos: inode numbers of orphans
-+ */
-+struct ubifs_orph_node {
-+ struct ubifs_ch ch;
-+ __le64 cmt_no;
-+ __le64 inos[];
-+} __attribute__ ((packed));
-+
-+#endif /* __UBIFS_MEDIA_H__ */
-diff -Nurd linux-2.6.24.orig/fs/ubifs/ubifs.h linux-2.6.24/fs/ubifs/ubifs.h
---- linux-2.6.24.orig/fs/ubifs/ubifs.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.24/fs/ubifs/ubifs.h 2009-04-17 09:49:28.000000000 +0200
-@@ -0,0 +1,1722 @@
-+/*
-+ * This file is part of UBIFS.
-+ *
-+ * Copyright (C) 2006-2008 Nokia Corporation
-+ *
-+ * This program is free software; you can redistribute it and/or modify it
-+ * under the terms of the GNU General Public License version 2 as published by
-+ * the Free Software Foundation.
-+ *
-+ * 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, write to the Free Software Foundation, Inc., 51
-+ * Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
-+ *
-+ * Authors: Artem Bityutskiy (Битюцкий Ðртём)
-+ * Adrian Hunter
-+ */
-+
-+#ifndef __UBIFS_H__
-+#define __UBIFS_H__
-+
-+#include <asm/div64.h>
-+#include <linux/statfs.h>
-+#include <linux/fs.h>
-+#include <linux/err.h>
-+#include <linux/sched.h>
-+#include <linux/vmalloc.h>
-+#include <linux/spinlock.h>
-+#include <linux/mutex.h>
-+#include <linux/rwsem.h>
-+#include <linux/mtd/ubi.h>
-+#include <linux/pagemap.h>
-+#include <linux/backing-dev.h>
-+#include "ubifs-media.h"
-+
-+/* Version of this UBIFS implementation */
-+#define UBIFS_VERSION 1
-+
-+/* Normal UBIFS messages */
-+#define ubifs_msg(fmt, ...) \
-+ printk(KERN_NOTICE "UBIFS: " fmt "\n", ##__VA_ARGS__)
-+/* UBIFS error messages */
-+#define ubifs_err(fmt, ...) \
-+ printk(KERN_ERR "UBIFS error (pid %d): %s: " fmt "\n", current->pid, \
-+ __func__, ##__VA_ARGS__)
-+/* UBIFS warning messages */
-+#define ubifs_warn(fmt, ...) \
-+ printk(KERN_WARNING "UBIFS warning (pid %d): %s: " fmt "\n", \
-+ current->pid, __func__, ##__VA_ARGS__)
-+
-+/* UBIFS file system VFS magic number */
-+#define UBIFS_SUPER_MAGIC 0x24051905
-+
-+/* Number of UBIFS blocks per VFS page */
-+#define UBIFS_BLOCKS_PER_PAGE (PAGE_CACHE_SIZE / UBIFS_BLOCK_SIZE)
-+#define UBIFS_BLOCKS_PER_PAGE_SHIFT (PAGE_CACHE_SHIFT - UBIFS_BLOCK_SHIFT)
-+
-+/* "File system end of life" sequence number watermark */
-+#define SQNUM_WARN_WATERMARK 0xFFFFFFFF00000000ULL
-+#define SQNUM_WATERMARK 0xFFFFFFFFFF000000ULL
-+
-+/*
-+ * Minimum amount of LEBs reserved for the index. At present the index needs at
-+ * least 2 LEBs: one for the index head and one for in-the-gaps method (which
-+ * currently does not cater for the index head and so excludes it from
-+ * consideration).
-+ */
-+#define MIN_INDEX_LEBS 2
-+
-+/* Minimum amount of data UBIFS writes to the flash */
-+#define MIN_WRITE_SZ (UBIFS_DATA_NODE_SZ + 8)
-+
-+/*
-+ * Currently we do not support inode number overlapping and re-using, so this
-+ * watermark defines dangerous inode number level. This should be fixed later,
-+ * although it is difficult to exceed current limit. Another option is to use
-+ * 64-bit inode numbers, but this means more overhead.
-+ */
-+#define INUM_WARN_WATERMARK 0xFFF00000
-+#define INUM_WATERMARK 0xFFFFFF00
-+
-+/* Largest key size supported in this implementation */
-+#define CUR_MAX_KEY_LEN UBIFS_SK_LEN
-+
-+/* Maximum number of entries in each LPT (LEB category) heap */
-+#define LPT_HEAP_SZ 256
-+
-+/*
-+ * Background thread name pattern. The numbers are UBI device and volume
-+ * numbers.
-+ */
-+#define BGT_NAME_PATTERN "ubifs_bgt%d_%d"
-+
-+/* Default write-buffer synchronization timeout (5 secs) */
-+#define DEFAULT_WBUF_TIMEOUT (5 * HZ)
-+
-+/* Maximum possible inode number (only 32-bit inodes are supported now) */
-+#define MAX_INUM 0xFFFFFFFF
-+
-+/* Number of non-data journal heads */
-+#define NONDATA_JHEADS_CNT 2
-+
-+/* Garbage collector head */
-+#define GCHD 0
-+/* Base journal head number */
-+#define BASEHD 1
-+/* First "general purpose" journal head */
-+#define DATAHD 2
-+
-+/* 'No change' value for 'ubifs_change_lp()' */
-+#define LPROPS_NC 0x80000001
-+
-+/*
-+ * There is no notion of truncation key because truncation nodes do not exist
-+ * in TNC. However, when replaying, it is handy to introduce fake "truncation"
-+ * keys for truncation nodes because the code becomes simpler. So we define
-+ * %UBIFS_TRUN_KEY type.
-+ */
-+#define UBIFS_TRUN_KEY UBIFS_KEY_TYPES_CNT
-+
-+/*
-+ * How much a directory entry/extended attribute entry adds to the parent/host
-+ * inode.
-+ */
-+#define CALC_DENT_SIZE(name_len) ALIGN(UBIFS_DENT_NODE_SZ + (name_len) + 1, 8)
-+
-+/* How much an extended attribute adds to the host inode */
-+#define CALC_XATTR_BYTES(data_len) ALIGN(UBIFS_INO_NODE_SZ + (data_len) + 1, 8)
-+
-+/*
-+ * Znodes which were not touched for 'OLD_ZNODE_AGE' seconds are considered
-+ * "old", and znode which were touched last 'YOUNG_ZNODE_AGE' seconds ago are
-+ * considered "young". This is used by shrinker when selecting znode to trim
-+ * off.
-+ */
-+#define OLD_ZNODE_AGE 20
-+#define YOUNG_ZNODE_AGE 5
-+
-+/*
-+ * Some compressors, like LZO, may end up with more data then the input buffer.
-+ * So UBIFS always allocates larger output buffer, to be sure the compressor
-+ * will not corrupt memory in case of worst case compression.
-+ */
-+#define WORST_COMPR_FACTOR 2
-+
-+/* Maximum expected tree height for use by bottom_up_buf */
-+#define BOTTOM_UP_HEIGHT 64
-+
-+/* Maximum number of data nodes to bulk-read */
-+#define UBIFS_MAX_BULK_READ 32
-+
-+/*
-+ * Lockdep classes for UBIFS inode @ui_mutex.
-+ */
-+enum {
-+ WB_MUTEX_1 = 0,
-+ WB_MUTEX_2 = 1,
-+ WB_MUTEX_3 = 2,
-+};
-+
-+/*
-+ * Znode flags (actually, bit numbers which store the flags).
-+ *
-+ * DIRTY_ZNODE: znode is dirty
-+ * COW_ZNODE: znode is being committed and a new instance of this znode has to
-+ * be created before changing this znode
-+ * OBSOLETE_ZNODE: znode is obsolete, which means it was deleted, but it is
-+ * still in the commit list and the ongoing commit operation
-+ * will commit it, and delete this znode after it is done
-+ */
-+enum {
-+ DIRTY_ZNODE = 0,
-+ COW_ZNODE = 1,
-+ OBSOLETE_ZNODE = 2,
-+};
-+
-+/*
-+ * Commit states.
-+ *
-+ * COMMIT_RESTING: commit is not wanted
-+ * COMMIT_BACKGROUND: background commit has been requested
-+ * COMMIT_REQUIRED: commit is required
-+ * COMMIT_RUNNING_BACKGROUND: background commit is running
-+ * COMMIT_RUNNING_REQUIRED: commit is running and it is required
-+ * COMMIT_BROKEN: commit failed
-+ */
-+enum {
-+ COMMIT_RESTING = 0,
-+ COMMIT_BACKGROUND,
-+ COMMIT_REQUIRED,
-+ COMMIT_RUNNING_BACKGROUND,
-+ COMMIT_RUNNING_REQUIRED,
-+ COMMIT_BROKEN,
-+};
-+
-+/*
-+ * 'ubifs_scan_a_node()' return values.
-+ *
-+ * SCANNED_GARBAGE: scanned garbage
-+ * SCANNED_EMPTY_SPACE: scanned empty space
-+ * SCANNED_A_NODE: scanned a valid node
-+ * SCANNED_A_CORRUPT_NODE: scanned a corrupted node
-+ * SCANNED_A_BAD_PAD_NODE: scanned a padding node with invalid pad length
-+ *
-+ * Greater than zero means: 'scanned that number of padding bytes'
-+ */
-+enum {
-+ SCANNED_GARBAGE = 0,
-+ SCANNED_EMPTY_SPACE = -1,
-+ SCANNED_A_NODE = -2,
-+ SCANNED_A_CORRUPT_NODE = -3,
-+ SCANNED_A_BAD_PAD_NODE = -4,
-+};
-+
-+/*
-+ * LPT cnode flag bits.
-+ *
-+ * DIRTY_CNODE: cnode is dirty
-+ * COW_CNODE: cnode is being committed and must be copied before writing
-+ * OBSOLETE_CNODE: cnode is being committed and has been copied (or deleted),
-+ * so it can (and must) be freed when the commit is finished
-+ */
-+enum {
-+ DIRTY_CNODE = 0,
-+ COW_CNODE = 1,
-+ OBSOLETE_CNODE = 2,
-+};
-+
-+/*
-+ * Dirty flag bits (lpt_drty_flgs) for LPT special nodes.
-+ *
-+ * LTAB_DIRTY: ltab node is dirty
-+ * LSAVE_DIRTY: lsave node is dirty
-+ */
-+enum {
-+ LTAB_DIRTY = 1,
-+ LSAVE_DIRTY = 2,
-+};
-+
-+/*
-+ * Return codes used by the garbage collector.
-+ * @LEB_FREED: the logical eraseblock was freed and is ready to use
-+ * @LEB_FREED_IDX: indexing LEB was freed and can be used only after the commit
-+ * @LEB_RETAINED: the logical eraseblock was freed and retained for GC purposes
-+ */
-+enum {
-+ LEB_FREED,
-+ LEB_FREED_IDX,
-+ LEB_RETAINED,
-+};
-+
-+/**
-+ * struct ubifs_old_idx - index node obsoleted since last commit start.
-+ * @rb: rb-tree node
-+ * @lnum: LEB number of obsoleted index node
-+ * @offs: offset of obsoleted index node
-+ */
-+struct ubifs_old_idx {
-+ struct rb_node rb;
-+ int lnum;
-+ int offs;
-+};
-+
-+/* The below union makes it easier to deal with keys */
-+union ubifs_key {
-+ uint8_t u8[CUR_MAX_KEY_LEN];
-+ uint32_t u32[CUR_MAX_KEY_LEN/4];
-+ uint64_t u64[CUR_MAX_KEY_LEN/8];
-+ __le32 j32[CUR_MAX_KEY_LEN/4];
-+};
-+
-+/**
-+ * struct ubifs_scan_node - UBIFS scanned node information.
-+ * @list: list of scanned nodes
-+ * @key: key of node scanned (if it has one)
-+ * @sqnum: sequence number
-+ * @type: type of node scanned
-+ * @offs: offset with LEB of node scanned
-+ * @len: length of node scanned
-+ * @node: raw node
-+ */
-+struct ubifs_scan_node {
-+ struct list_head list;
-+ union ubifs_key key;
-+ unsigned long long sqnum;
-+ int type;
-+ int offs;
-+ int len;
-+ void *node;
-+};
-+
-+/**
-+ * struct ubifs_scan_leb - UBIFS scanned LEB information.
-+ * @lnum: logical eraseblock number
-+ * @nodes_cnt: number of nodes scanned
-+ * @nodes: list of struct ubifs_scan_node
-+ * @endpt: end point (and therefore the start of empty space)
-+ * @ecc: read returned -EBADMSG
-+ * @buf: buffer containing entire LEB scanned
-+ */
-+struct ubifs_scan_leb {
-+ int lnum;
-+ int nodes_cnt;
-+ struct list_head nodes;
-+ int endpt;
-+ int ecc;
-+ void *buf;
-+};
-+
-+/**
-+ * struct ubifs_gced_idx_leb - garbage-collected indexing LEB.
-+ * @list: list
-+ * @lnum: LEB number
-+ * @unmap: OK to unmap this LEB
-+ *
-+ * This data structure is used to temporary store garbage-collected indexing
-+ * LEBs - they are not released immediately, but only after the next commit.
-+ * This is needed to guarantee recoverability.
-+ */
-+struct ubifs_gced_idx_leb {
-+ struct list_head list;
-+ int lnum;
-+ int unmap;
-+};
-+
-+/**
-+ * struct ubifs_inode - UBIFS in-memory inode description.
-+ * @vfs_inode: VFS inode description object
-+ * @creat_sqnum: sequence number at time of creation
-+ * @del_cmtno: commit number corresponding to the time the inode was deleted,
-+ * protected by @c->commit_sem;
-+ * @xattr_size: summarized size of all extended attributes in bytes
-+ * @xattr_cnt: count of extended attributes this inode has
-+ * @xattr_names: sum of lengths of all extended attribute names belonging to
-+ * this inode
-+ * @dirty: non-zero if the inode is dirty
-+ * @xattr: non-zero if this is an extended attribute inode
-+ * @bulk_read: non-zero if bulk-read should be used
-+ * @ui_mutex: serializes inode write-back with the rest of VFS operations,
-+ * serializes "clean <-> dirty" state changes, serializes bulk-read,
-+ * protects @dirty, @bulk_read, @ui_size, and @xattr_size
-+ * @ui_lock: protects @synced_i_size
-+ * @synced_i_size: synchronized size of inode, i.e. the value of inode size
-+ * currently stored on the flash; used only for regular file
-+ * inodes
-+ * @ui_size: inode size used by UBIFS when writing to flash
-+ * @flags: inode flags (@UBIFS_COMPR_FL, etc)
-+ * @compr_type: default compression type used for this inode
-+ * @last_page_read: page number of last page read (for bulk read)
-+ * @read_in_a_row: number of consecutive pages read in a row (for bulk read)
-+ * @data_len: length of the data attached to the inode
-+ * @data: inode's data
-+ *
-+ * @ui_mutex exists for two main reasons. At first it prevents inodes from
-+ * being written back while UBIFS changing them, being in the middle of an VFS
-+ * operation. This way UBIFS makes sure the inode fields are consistent. For
-+ * example, in 'ubifs_rename()' we change 3 inodes simultaneously, and
-+ * write-back must not write any of them before we have finished.
-+ *
-+ * The second reason is budgeting - UBIFS has to budget all operations. If an
-+ * operation is going to mark an inode dirty, it has to allocate budget for
-+ * this. It cannot just mark it dirty because there is no guarantee there will
-+ * be enough flash space to write the inode back later. This means UBIFS has
-+ * to have full control over inode "clean <-> dirty" transitions (and pages
-+ * actually). But unfortunately, VFS marks inodes dirty in many places, and it
-+ * does not ask the file-system if it is allowed to do so (there is a notifier,
-+ * but it is not enough), i.e., there is no mechanism to synchronize with this.
-+ * So UBIFS has its own inode dirty flag and its own mutex to serialize
-+ * "clean <-> dirty" transitions.
-+ *
-+ * The @synced_i_size field is used to make sure we never write pages which are
-+ * beyond last synchronized inode size. See 'ubifs_writepage()' for more
-+ * information.
-+ *
-+ * The @ui_size is a "shadow" variable for @inode->i_size and UBIFS uses
-+ * @ui_size instead of @inode->i_size. The reason for this is that UBIFS cannot
-+ * make sure @inode->i_size is always changed under @ui_mutex, because it
-+ * cannot call 'vmtruncate()' with @ui_mutex locked, because it would deadlock
-+ * with 'ubifs_writepage()' (see file.c). All the other inode fields are
-+ * changed under @ui_mutex, so they do not need "shadow" fields. Note, one
-+ * could consider to rework locking and base it on "shadow" fields.
-+ */
-+struct ubifs_inode {
-+ struct inode vfs_inode;
-+ unsigned long long creat_sqnum;
-+ unsigned long long del_cmtno;
-+ unsigned int xattr_size;
-+ unsigned int xattr_cnt;
-+ unsigned int xattr_names;
-+ unsigned int dirty:1;
-+ unsigned int xattr:1;
-+ unsigned int bulk_read:1;
-+ unsigned int compr_type:2;
-+ struct mutex ui_mutex;
-+ spinlock_t ui_lock;
-+ loff_t synced_i_size;
-+ loff_t ui_size;
-+ int flags;
-+ pgoff_t last_page_read;
-+ pgoff_t read_in_a_row;
-+ int data_len;
-+ void *data;
-+};
-+
-+/**
-+ * struct ubifs_unclean_leb - records a LEB recovered under read-only mode.
-+ * @list: list
-+ * @lnum: LEB number of recovered LEB
-+ * @endpt: offset where recovery ended
-+ *
-+ * This structure records a LEB identified during recovery that needs to be
-+ * cleaned but was not because UBIFS was mounted read-only. The information
-+ * is used to clean the LEB when remounting to read-write mode.
-+ */
-+struct ubifs_unclean_leb {
-+ struct list_head list;
-+ int lnum;
-+ int endpt;
-+};
-+
-+/*
-+ * LEB properties flags.
-+ *
-+ * LPROPS_UNCAT: not categorized
-+ * LPROPS_DIRTY: dirty > free, dirty >= @c->dead_wm, not index
-+ * LPROPS_DIRTY_IDX: dirty + free > @c->min_idx_node_sze and index
-+ * LPROPS_FREE: free > 0, dirty < @c->dead_wm, not empty, not index
-+ * LPROPS_HEAP_CNT: number of heaps used for storing categorized LEBs
-+ * LPROPS_EMPTY: LEB is empty, not taken
-+ * LPROPS_FREEABLE: free + dirty == leb_size, not index, not taken
-+ * LPROPS_FRDI_IDX: free + dirty == leb_size and index, may be taken
-+ * LPROPS_CAT_MASK: mask for the LEB categories above
-+ * LPROPS_TAKEN: LEB was taken (this flag is not saved on the media)
-+ * LPROPS_INDEX: LEB contains indexing nodes (this flag also exists on flash)
-+ */
-+enum {
-+ LPROPS_UNCAT = 0,
-+ LPROPS_DIRTY = 1,
-+ LPROPS_DIRTY_IDX = 2,
-+ LPROPS_FREE = 3,
-+ LPROPS_HEAP_CNT = 3,
-+ LPROPS_EMPTY = 4,
-+ LPROPS_FREEABLE = 5,
-+ LPROPS_FRDI_IDX = 6,
-+ LPROPS_CAT_MASK = 15,
-+ LPROPS_TAKEN = 16,
-+ LPROPS_INDEX = 32,
-+};
-+
-+/**
-+ * struct ubifs_lprops - logical eraseblock properties.
-+ * @free: amount of free space in bytes
-+ * @dirty: amount of dirty space in bytes
-+ * @flags: LEB properties flags (see above)
-+ * @lnum: LEB number
-+ * @list: list of same-category lprops (for LPROPS_EMPTY and LPROPS_FREEABLE)
-+ * @hpos: heap position in heap of same-category lprops (other categories)
-+ */
-+struct ubifs_lprops {
-+ int free;
-+ int dirty;
-+ int flags;
-+ int lnum;
-+ union {
-+ struct list_head list;
-+ int hpos;
-+ };
-+};
-+
-+/**
-+ * struct ubifs_lpt_lprops - LPT logical eraseblock properties.
-+ * @free: amount of free space in bytes
-+ * @dirty: amount of dirty space in bytes
-+ * @tgc: trivial GC flag (1 => unmap after commit end)
-+ * @cmt: commit flag (1 => reserved for commit)
-+ */
-+struct ubifs_lpt_lprops {
-+ int free;
-+ int dirty;
-+ unsigned tgc:1;
-+ unsigned cmt:1;
-+};
-+
-+/**
-+ * struct ubifs_lp_stats - statistics of eraseblocks in the main area.
-+ * @empty_lebs: number of empty LEBs
-+ * @taken_empty_lebs: number of taken LEBs
-+ * @idx_lebs: number of indexing LEBs
-+ * @total_free: total free space in bytes (includes all LEBs)
-+ * @total_dirty: total dirty space in bytes (includes all LEBs)
-+ * @total_used: total used space in bytes (does not include index LEBs)
-+ * @total_dead: total dead space in bytes (does not include index LEBs)
-+ * @total_dark: total dark space in bytes (does not include index LEBs)
-+ *
-+ * The @taken_empty_lebs field counts the LEBs that are in the transient state
-+ * of having been "taken" for use but not yet written to. @taken_empty_lebs is
-+ * needed to account correctly for @gc_lnum, otherwise @empty_lebs could be
-+ * used by itself (in which case 'unused_lebs' would be a better name). In the
-+ * case of @gc_lnum, it is "taken" at mount time or whenever a LEB is retained
-+ * by GC, but unlike other empty LEBs that are "taken", it may not be written
-+ * straight away (i.e. before the next commit start or unmount), so either
-+ * @gc_lnum must be specially accounted for, or the current approach followed
-+ * i.e. count it under @taken_empty_lebs.
-+ *
-+ * @empty_lebs includes @taken_empty_lebs.
-+ *
-+ * @total_used, @total_dead and @total_dark fields do not account indexing
-+ * LEBs.
-+ */
-+struct ubifs_lp_stats {
-+ int empty_lebs;
-+ int taken_empty_lebs;
-+ int idx_lebs;
-+ long long total_free;
-+ long long total_dirty;
-+ long long total_used;
-+ long long total_dead;
-+ long long total_dark;
-+};
-+
-+struct ubifs_nnode;
-+
-+/**
-+ * struct ubifs_cnode - LEB Properties Tree common node.
-+ * @parent: parent nnode
-+ * @cnext: next cnode to commit
-+ * @flags: flags (%DIRTY_LPT_NODE or %OBSOLETE_LPT_NODE)
-+ * @iip: index in parent
-+ * @level: level in the tree (zero for pnodes, greater than zero for nnodes)
-+ * @num: node number
-+ */
-+struct ubifs_cnode {
-+ struct ubifs_nnode *parent;
-+ struct ubifs_cnode *cnext;
-+ unsigned long flags;
-+ int iip;
-+ int level;
-+ int num;
-+};
-+
-+/**
-+ * struct ubifs_pnode - LEB Properties Tree leaf node.
-+ * @parent: parent nnode
-+ * @cnext: next cnode to commit
-+ * @flags: flags (%DIRTY_LPT_NODE or %OBSOLETE_LPT_NODE)
-+ * @iip: index in parent
-+ * @level: level in the tree (always zero for pnodes)
-+ * @num: node number
-+ * @lprops: LEB properties array
-+ */
-+struct ubifs_pnode {
-+ struct ubifs_nnode *parent;
-+ struct ubifs_cnode *cnext;
-+ unsigned long flags;
-+ int iip;
-+ int level;
-+ int num;
-+ struct ubifs_lprops lprops[UBIFS_LPT_FANOUT];
-+};
-+
-+/**
-+ * struct ubifs_nbranch - LEB Properties Tree internal node branch.
-+ * @lnum: LEB number of child
-+ * @offs: offset of child
-+ * @nnode: nnode child
-+ * @pnode: pnode child
-+ * @cnode: cnode child
-+ */
-+struct ubifs_nbranch {
-+ int lnum;
-+ int offs;
-+ union {
-+ struct ubifs_nnode *nnode;
-+ struct ubifs_pnode *pnode;
-+ struct ubifs_cnode *cnode;
-+ };
-+};
-+
-+/**
-+ * struct ubifs_nnode - LEB Properties Tree internal node.
-+ * @parent: parent nnode
-+ * @cnext: next cnode to commit
-+ * @flags: flags (%DIRTY_LPT_NODE or %OBSOLETE_LPT_NODE)
-+ * @iip: index in parent
-+ * @level: level in the tree (always greater than zero for nnodes)
-+ * @num: node number
-+ * @nbranch: branches to child nodes
-+ */
-+struct ubifs_nnode {
-+ struct ubifs_nnode *parent;
-+ struct ubifs_cnode *cnext;
-+ unsigned long flags;
-+ int iip;
-+ int level;
-+ int num;
-+ struct ubifs_nbranch nbranch[UBIFS_LPT_FANOUT];
-+};
-+
-+/**
-+ * struct ubifs_lpt_heap - heap of categorized lprops.
-+ * @arr: heap array
-+ * @cnt: number in heap
-+ * @max_cnt: maximum number allowed in heap
-+ *
-+ * There are %LPROPS_HEAP_CNT heaps.
-+ */
-+struct ubifs_lpt_heap {
-+ struct ubifs_lprops **arr;
-+ int cnt;
-+ int max_cnt;
-+};
-+
-+/*
-+ * Return codes for LPT scan callback function.
-+ *
-+ * LPT_SCAN_CONTINUE: continue scanning
-+ * LPT_SCAN_ADD: add the LEB properties scanned to the tree in memory
-+ * LPT_SCAN_STOP: stop scanning
-+ */
-+enum {
-+ LPT_SCAN_CONTINUE = 0,
-+ LPT_SCAN_ADD = 1,
-+ LPT_SCAN_STOP = 2,
-+};
-+
-+struct ubifs_info;
-+
-+/* Callback used by the 'ubifs_lpt_scan_nolock()' function */
-+typedef int (*ubifs_lpt_scan_callback)(struct ubifs_info *c,
-+ const struct ubifs_lprops *lprops,
-+ int in_tree, void *data);
-+
-+/**
-+ * struct ubifs_wbuf - UBIFS write-buffer.
-+ * @c: UBIFS file-system description object
-+ * @buf: write-buffer (of min. flash I/O unit size)
-+ * @lnum: logical eraseblock number the write-buffer points to
-+ * @offs: write-buffer offset in this logical eraseblock
-+ * @avail: number of bytes available in the write-buffer
-+ * @used: number of used bytes in the write-buffer
-+ * @dtype: type of data stored in this LEB (%UBI_LONGTERM, %UBI_SHORTTERM,
-+ * %UBI_UNKNOWN)
-+ * @jhead: journal head the mutex belongs to (note, needed only to shut lockdep
-+ * up by 'mutex_lock_nested()).
-+ * @sync_callback: write-buffer synchronization callback
-+ * @io_mutex: serializes write-buffer I/O
-+ * @lock: serializes @buf, @lnum, @offs, @avail, @used, @next_ino and @inodes
-+ * fields
-+ * @timer: write-buffer timer
-+ * @timeout: timer expire interval in jiffies
-+ * @need_sync: it is set if its timer expired and needs sync
-+ * @next_ino: points to the next position of the following inode number
-+ * @inodes: stores the inode numbers of the nodes which are in wbuf
-+ *
-+ * The write-buffer synchronization callback is called when the write-buffer is
-+ * synchronized in order to notify how much space was wasted due to
-+ * write-buffer padding and how much free space is left in the LEB.
-+ *
-+ * Note: the fields @buf, @lnum, @offs, @avail and @used can be read under
-+ * spin-lock or mutex because they are written under both mutex and spin-lock.
-+ * @buf is appended to under mutex but overwritten under both mutex and
-+ * spin-lock. Thus the data between @buf and @buf + @used can be read under
-+ * spinlock.
-+ */
-+struct ubifs_wbuf {
-+ struct ubifs_info *c;
-+ void *buf;
-+ int lnum;
-+ int offs;
-+ int avail;
-+ int used;
-+ int dtype;
-+ int jhead;
-+ int (*sync_callback)(struct ubifs_info *c, int lnum, int free, int pad);
-+ struct mutex io_mutex;
-+ spinlock_t lock;
-+ struct timer_list timer;
-+ int timeout;
-+ int need_sync;
-+ int next_ino;
-+ ino_t *inodes;
-+};
-+
-+/**
-+ * struct ubifs_bud - bud logical eraseblock.
-+ * @lnum: logical eraseblock number
-+ * @start: where the (uncommitted) bud data starts
-+ * @jhead: journal head number this bud belongs to
-+ * @list: link in the list buds belonging to the same journal head
-+ * @rb: link in the tree of all buds
-+ */
-+struct ubifs_bud {
-+ int lnum;
-+ int start;
-+ int jhead;
-+ struct list_head list;
-+ struct rb_node rb;
-+};
-+
-+/**
-+ * struct ubifs_jhead - journal head.
-+ * @wbuf: head's write-buffer
-+ * @buds_list: list of bud LEBs belonging to this journal head
-+ *
-+ * Note, the @buds list is protected by the @c->buds_lock.
-+ */
-+struct ubifs_jhead {
-+ struct ubifs_wbuf wbuf;
-+ struct list_head buds_list;
-+};
-+
-+/**
-+ * struct ubifs_zbranch - key/coordinate/length branch stored in znodes.
-+ * @key: key
-+ * @znode: znode address in memory
-+ * @lnum: LEB number of the target node (indexing node or data node)
-+ * @offs: target node offset within @lnum
-+ * @len: target node length
-+ */
-+struct ubifs_zbranch {
-+ union ubifs_key key;
-+ union {
-+ struct ubifs_znode *znode;
-+ void *leaf;
-+ };
-+ int lnum;
-+ int offs;
-+ int len;
-+};
-+
-+/**
-+ * struct ubifs_znode - in-memory representation of an indexing node.
-+ * @parent: parent znode or NULL if it is the root
-+ * @cnext: next znode to commit
-+ * @flags: znode flags (%DIRTY_ZNODE, %COW_ZNODE or %OBSOLETE_ZNODE)
-+ * @time: last access time (seconds)
-+ * @level: level of the entry in the TNC tree
-+ * @child_cnt: count of child znodes
-+ * @iip: index in parent's zbranch array
-+ * @alt: lower bound of key range has altered i.e. child inserted at slot 0
-+ * @lnum: LEB number of the corresponding indexing node
-+ * @offs: offset of the corresponding indexing node
-+ * @len: length of the corresponding indexing node
-+ * @zbranch: array of znode branches (@c->fanout elements)
-+ */
-+struct ubifs_znode {
-+ struct ubifs_znode *parent;
-+ struct ubifs_znode *cnext;
-+ unsigned long flags;
-+ unsigned long time;
-+ int level;
-+ int child_cnt;
-+ int iip;
-+ int alt;
-+#ifdef CONFIG_UBIFS_FS_DEBUG
-+ int lnum, offs, len;
-+#endif
-+ struct ubifs_zbranch zbranch[];
-+};
-+
-+/**
-+ * struct bu_info - bulk-read information.
-+ * @key: first data node key
-+ * @zbranch: zbranches of data nodes to bulk read
-+ * @buf: buffer to read into
-+ * @buf_len: buffer length
-+ * @gc_seq: GC sequence number to detect races with GC
-+ * @cnt: number of data nodes for bulk read
-+ * @blk_cnt: number of data blocks including holes
-+ * @oef: end of file reached
-+ */
-+struct bu_info {
-+ union ubifs_key key;
-+ struct ubifs_zbranch zbranch[UBIFS_MAX_BULK_READ];
-+ void *buf;
-+ int buf_len;
-+ int gc_seq;
-+ int cnt;
-+ int blk_cnt;
-+ int eof;
-+};
-+
-+/**
-+ * struct ubifs_node_range - node length range description data structure.
-+ * @len: fixed node length
-+ * @min_len: minimum possible node length
-+ * @max_len: maximum possible node length
-+ *
-+ * If @max_len is %0, the node has fixed length @len.
-+ */
-+struct ubifs_node_range {
-+ union {
-+ int len;
-+ int min_len;
-+ };
-+ int max_len;
-+};
-+
-+/**
-+ * struct ubifs_compressor - UBIFS compressor description structure.
-+ * @compr_type: compressor type (%UBIFS_COMPR_LZO, etc)
-+ * @cc: cryptoapi compressor handle
-+ * @comp_mutex: mutex used during compression
-+ * @decomp_mutex: mutex used during decompression
-+ * @name: compressor name
-+ * @capi_name: cryptoapi compressor name
-+ */
-+struct ubifs_compressor {
-+ int compr_type;
-+ struct crypto_comp *cc;
-+ struct mutex *comp_mutex;
-+ struct mutex *decomp_mutex;
-+ const char *name;
-+ const char *capi_name;
-+};
-+
-+/**
-+ * struct ubifs_budget_req - budget requirements of an operation.
-+ *
-+ * @fast: non-zero if the budgeting should try to acquire budget quickly and
-+ * should not try to call write-back
-+ * @recalculate: non-zero if @idx_growth, @data_growth, and @dd_growth fields
-+ * have to be re-calculated
-+ * @new_page: non-zero if the operation adds a new page
-+ * @dirtied_page: non-zero if the operation makes a page dirty
-+ * @new_dent: non-zero if the operation adds a new directory entry
-+ * @mod_dent: non-zero if the operation removes or modifies an existing
-+ * directory entry
-+ * @new_ino: non-zero if the operation adds a new inode
-+ * @new_ino_d: now much data newly created inode contains
-+ * @dirtied_ino: how many inodes the operation makes dirty
-+ * @dirtied_ino_d: now much data dirtied inode contains
-+ * @idx_growth: how much the index will supposedly grow
-+ * @data_growth: how much new data the operation will supposedly add
-+ * @dd_growth: how much data that makes other data dirty the operation will
-+ * supposedly add
-+ *
-+ * @idx_growth, @data_growth and @dd_growth are not used in budget request. The
-+ * budgeting subsystem caches index and data growth values there to avoid
-+ * re-calculating them when the budget is released. However, if @idx_growth is
-+ * %-1, it is calculated by the release function using other fields.
-+ *
-+ * An inode may contain 4KiB of data at max., thus the widths of @new_ino_d
-+ * is 13 bits, and @dirtied_ino_d - 15, because up to 4 inodes may be made
-+ * dirty by the re-name operation.
-+ *
-+ * Note, UBIFS aligns node lengths to 8-bytes boundary, so the requester has to
-+ * make sure the amount of inode data which contribute to @new_ino_d and
-+ * @dirtied_ino_d fields are aligned.
-+ */
-+struct ubifs_budget_req {
-+ unsigned int fast:1;
-+ unsigned int recalculate:1;
-+#ifndef UBIFS_DEBUG
-+ unsigned int new_page:1;
-+ unsigned int dirtied_page:1;
-+ unsigned int new_dent:1;
-+ unsigned int mod_dent:1;
-+ unsigned int new_ino:1;
-+ unsigned int new_ino_d:13;
-+ unsigned int dirtied_ino:4;
-+ unsigned int dirtied_ino_d:15;
-+#else
-+ /* Not bit-fields to check for overflows */
-+ unsigned int new_page;
-+ unsigned int dirtied_page;
-+ unsigned int new_dent;
-+ unsigned int mod_dent;
-+ unsigned int new_ino;
-+ unsigned int new_ino_d;
-+ unsigned int dirtied_ino;
-+ unsigned int dirtied_ino_d;
-+#endif
-+ int idx_growth;
-+ int data_growth;
-+ int dd_growth;
-+};
-+
-+/**
-+ * struct ubifs_orphan - stores the inode number of an orphan.
-+ * @rb: rb-tree node of rb-tree of orphans sorted by inode number
-+ * @list: list head of list of orphans in order added
-+ * @new_list: list head of list of orphans added since the last commit
-+ * @cnext: next orphan to commit
-+ * @dnext: next orphan to delete
-+ * @inum: inode number
-+ * @new: %1 => added since the last commit, otherwise %0
-+ */
-+struct ubifs_orphan {
-+ struct rb_node rb;
-+ struct list_head list;
-+ struct list_head new_list;
-+ struct ubifs_orphan *cnext;
-+ struct ubifs_orphan *dnext;
-+ ino_t inum;
-+ int new;
-+};
-+
-+/**
-+ * struct ubifs_mount_opts - UBIFS-specific mount options information.
-+ * @unmount_mode: selected unmount mode (%0 default, %1 normal, %2 fast)
-+ * @bulk_read: enable/disable bulk-reads (%0 default, %1 disabe, %2 enable)
-+ * @chk_data_crc: enable/disable CRC data checking when reading data nodes
-+ * (%0 default, %1 disabe, %2 enable)
-+ * @override_compr: override default compressor (%0 - do not override and use
-+ * superblock compressor, %1 - override and use compressor
-+ * specified in @compr_type)
-+ * @compr_type: compressor type to override the superblock compressor with
-+ * (%UBIFS_COMPR_NONE, etc)
-+ */
-+struct ubifs_mount_opts {
-+ unsigned int unmount_mode:2;
-+ unsigned int bulk_read:2;
-+ unsigned int chk_data_crc:2;
-+ unsigned int override_compr:1;
-+ unsigned int compr_type:2;
-+};
-+
-+struct ubifs_debug_info;
-+
-+/**
-+ * struct ubifs_info - UBIFS file-system description data structure
-+ * (per-superblock).
-+ * @vfs_sb: VFS @struct super_block object
-+ * @bdi: backing device info object to make VFS happy and disable read-ahead
-+ *
-+ * @highest_inum: highest used inode number
-+ * @max_sqnum: current global sequence number
-+ * @cmt_no: commit number of the last successfully completed commit, protected
-+ * by @commit_sem
-+ * @cnt_lock: protects @highest_inum and @max_sqnum counters
-+ * @fmt_version: UBIFS on-flash format version
-+ * @uuid: UUID from super block
-+ *
-+ * @lhead_lnum: log head logical eraseblock number
-+ * @lhead_offs: log head offset
-+ * @ltail_lnum: log tail logical eraseblock number (offset is always 0)
-+ * @log_mutex: protects the log, @lhead_lnum, @lhead_offs, @ltail_lnum, and
-+ * @bud_bytes
-+ * @min_log_bytes: minimum required number of bytes in the log
-+ * @cmt_bud_bytes: used during commit to temporarily amount of bytes in
-+ * committed buds
-+ *
-+ * @buds: tree of all buds indexed by bud LEB number
-+ * @bud_bytes: how many bytes of flash is used by buds
-+ * @buds_lock: protects the @buds tree, @bud_bytes, and per-journal head bud
-+ * lists
-+ * @jhead_cnt: count of journal heads
-+ * @jheads: journal heads (head zero is base head)
-+ * @max_bud_bytes: maximum number of bytes allowed in buds
-+ * @bg_bud_bytes: number of bud bytes when background commit is initiated
-+ * @old_buds: buds to be released after commit ends
-+ * @max_bud_cnt: maximum number of buds
-+ *
-+ * @commit_sem: synchronizes committer with other processes
-+ * @cmt_state: commit state
-+ * @cs_lock: commit state lock
-+ * @cmt_wq: wait queue to sleep on if the log is full and a commit is running
-+ *
-+ * @big_lpt: flag that LPT is too big to write whole during commit
-+ * @no_chk_data_crc: do not check CRCs when reading data nodes (except during
-+ * recovery)
-+ * @bulk_read: enable bulk-reads
-+ * @default_compr: default compression algorithm (%UBIFS_COMPR_LZO, etc)
-+ *
-+ * @tnc_mutex: protects the Tree Node Cache (TNC), @zroot, @cnext, @enext, and
-+ * @calc_idx_sz
-+ * @zroot: zbranch which points to the root index node and znode
-+ * @cnext: next znode to commit
-+ * @enext: next znode to commit to empty space
-+ * @gap_lebs: array of LEBs used by the in-gaps commit method
-+ * @cbuf: commit buffer
-+ * @ileb_buf: buffer for commit in-the-gaps method
-+ * @ileb_len: length of data in ileb_buf
-+ * @ihead_lnum: LEB number of index head
-+ * @ihead_offs: offset of index head
-+ * @ilebs: pre-allocated index LEBs
-+ * @ileb_cnt: number of pre-allocated index LEBs
-+ * @ileb_nxt: next pre-allocated index LEBs
-+ * @old_idx: tree of index nodes obsoleted since the last commit start
-+ * @bottom_up_buf: a buffer which is used by 'dirty_cow_bottom_up()' in tnc.c
-+ *
-+ * @mst_node: master node
-+ * @mst_offs: offset of valid master node
-+ * @mst_mutex: protects the master node area, @mst_node, and @mst_offs
-+ *
-+ * @max_bu_buf_len: maximum bulk-read buffer length
-+ * @bu_mutex: protects the pre-allocated bulk-read buffer and @c->bu
-+ * @bu: pre-allocated bulk-read information
-+ *
-+ * @log_lebs: number of logical eraseblocks in the log
-+ * @log_bytes: log size in bytes
-+ * @log_last: last LEB of the log
-+ * @lpt_lebs: number of LEBs used for lprops table
-+ * @lpt_first: first LEB of the lprops table area
-+ * @lpt_last: last LEB of the lprops table area
-+ * @orph_lebs: number of LEBs used for the orphan area
-+ * @orph_first: first LEB of the orphan area
-+ * @orph_last: last LEB of the orphan area
-+ * @main_lebs: count of LEBs in the main area
-+ * @main_first: first LEB of the main area
-+ * @main_bytes: main area size in bytes
-+ *
-+ * @key_hash_type: type of the key hash
-+ * @key_hash: direntry key hash function
-+ * @key_fmt: key format
-+ * @key_len: key length
-+ * @fanout: fanout of the index tree (number of links per indexing node)
-+ *
-+ * @min_io_size: minimal input/output unit size
-+ * @min_io_shift: number of bits in @min_io_size minus one
-+ * @leb_size: logical eraseblock size in bytes
-+ * @half_leb_size: half LEB size
-+ * @leb_cnt: count of logical eraseblocks
-+ * @max_leb_cnt: maximum count of logical eraseblocks
-+ * @old_leb_cnt: count of logical eraseblocks before re-size
-+ * @ro_media: the underlying UBI volume is read-only
-+ *
-+ * @dirty_pg_cnt: number of dirty pages (not used)
-+ * @dirty_zn_cnt: number of dirty znodes
-+ * @clean_zn_cnt: number of clean znodes
-+ *
-+ * @budg_idx_growth: amount of bytes budgeted for index growth
-+ * @budg_data_growth: amount of bytes budgeted for cached data
-+ * @budg_dd_growth: amount of bytes budgeted for cached data that will make
-+ * other data dirty
-+ * @budg_uncommitted_idx: amount of bytes were budgeted for growth of the index,
-+ * but which still have to be taken into account because
-+ * the index has not been committed so far
-+ * @space_lock: protects @budg_idx_growth, @budg_data_growth, @budg_dd_growth,
-+ * @budg_uncommited_idx, @min_idx_lebs, @old_idx_sz, @lst,
-+ * @nospace, and @nospace_rp;
-+ * @min_idx_lebs: minimum number of LEBs required for the index
-+ * @old_idx_sz: size of index on flash
-+ * @calc_idx_sz: temporary variable which is used to calculate new index size
-+ * (contains accurate new index size at end of TNC commit start)
-+ * @lst: lprops statistics
-+ * @nospace: non-zero if the file-system does not have flash space (used as
-+ * optimization)
-+ * @nospace_rp: the same as @nospace, but additionally means that even reserved
-+ * pool is full
-+ *
-+ * @page_budget: budget for a page
-+ * @inode_budget: budget for an inode
-+ * @dent_budget: budget for a directory entry
-+ *
-+ * @ref_node_alsz: size of the LEB reference node aligned to the min. flash
-+ * I/O unit
-+ * @mst_node_alsz: master node aligned size
-+ * @min_idx_node_sz: minimum indexing node aligned on 8-bytes boundary
-+ * @max_idx_node_sz: maximum indexing node aligned on 8-bytes boundary
-+ * @max_inode_sz: maximum possible inode size in bytes
-+ * @max_znode_sz: size of znode in bytes
-+ *
-+ * @leb_overhead: how many bytes are wasted in an LEB when it is filled with
-+ * data nodes of maximum size - used in free space reporting
-+ * @dead_wm: LEB dead space watermark
-+ * @dark_wm: LEB dark space watermark
-+ * @block_cnt: count of 4KiB blocks on the FS
-+ *
-+ * @ranges: UBIFS node length ranges
-+ * @ubi: UBI volume descriptor
-+ * @di: UBI device information
-+ * @vi: UBI volume information
-+ *
-+ * @orph_tree: rb-tree of orphan inode numbers
-+ * @orph_list: list of orphan inode numbers in order added
-+ * @orph_new: list of orphan inode numbers added since last commit
-+ * @orph_cnext: next orphan to commit
-+ * @orph_dnext: next orphan to delete
-+ * @orphan_lock: lock for orph_tree and orph_new
-+ * @orph_buf: buffer for orphan nodes
-+ * @new_orphans: number of orphans since last commit
-+ * @cmt_orphans: number of orphans being committed
-+ * @tot_orphans: number of orphans in the rb_tree
-+ * @max_orphans: maximum number of orphans allowed
-+ * @ohead_lnum: orphan head LEB number
-+ * @ohead_offs: orphan head offset
-+ * @no_orphs: non-zero if there are no orphans
-+ *
-+ * @bgt: UBIFS background thread
-+ * @bgt_name: background thread name
-+ * @need_bgt: if background thread should run
-+ * @need_wbuf_sync: if write-buffers have to be synchronized
-+ *
-+ * @gc_lnum: LEB number used for garbage collection
-+ * @sbuf: a buffer of LEB size used by GC and replay for scanning
-+ * @idx_gc: list of index LEBs that have been garbage collected
-+ * @idx_gc_cnt: number of elements on the idx_gc list
-+ * @gc_seq: incremented for every non-index LEB garbage collected
-+ * @gced_lnum: last non-index LEB that was garbage collected
-+ *
-+ * @infos_list: links all 'ubifs_info' objects
-+ * @umount_mutex: serializes shrinker and un-mount
-+ * @shrinker_run_no: shrinker run number
-+ *
-+ * @space_bits: number of bits needed to record free or dirty space
-+ * @lpt_lnum_bits: number of bits needed to record a LEB number in the LPT
-+ * @lpt_offs_bits: number of bits needed to record an offset in the LPT
-+ * @lpt_spc_bits: number of bits needed to space in the LPT
-+ * @pcnt_bits: number of bits needed to record pnode or nnode number
-+ * @lnum_bits: number of bits needed to record LEB number
-+ * @nnode_sz: size of on-flash nnode
-+ * @pnode_sz: size of on-flash pnode
-+ * @ltab_sz: size of on-flash LPT lprops table
-+ * @lsave_sz: size of on-flash LPT save table
-+ * @pnode_cnt: number of pnodes
-+ * @nnode_cnt: number of nnodes
-+ * @lpt_hght: height of the LPT
-+ * @pnodes_have: number of pnodes in memory
-+ *
-+ * @lp_mutex: protects lprops table and all the other lprops-related fields
-+ * @lpt_lnum: LEB number of the root nnode of the LPT
-+ * @lpt_offs: offset of the root nnode of the LPT
-+ * @nhead_lnum: LEB number of LPT head
-+ * @nhead_offs: offset of LPT head
-+ * @lpt_drty_flgs: dirty flags for LPT special nodes e.g. ltab
-+ * @dirty_nn_cnt: number of dirty nnodes
-+ * @dirty_pn_cnt: number of dirty pnodes
-+ * @check_lpt_free: flag that indicates LPT GC may be needed
-+ * @lpt_sz: LPT size
-+ * @lpt_nod_buf: buffer for an on-flash nnode or pnode
-+ * @lpt_buf: buffer of LEB size used by LPT
-+ * @nroot: address in memory of the root nnode of the LPT
-+ * @lpt_cnext: next LPT node to commit
-+ * @lpt_heap: array of heaps of categorized lprops
-+ * @dirty_idx: a (reverse sorted) copy of the LPROPS_DIRTY_IDX heap as at
-+ * previous commit start
-+ * @uncat_list: list of un-categorized LEBs
-+ * @empty_list: list of empty LEBs
-+ * @freeable_list: list of freeable non-index LEBs (free + dirty == leb_size)
-+ * @frdi_idx_list: list of freeable index LEBs (free + dirty == leb_size)
-+ * @freeable_cnt: number of freeable LEBs in @freeable_list
-+ *
-+ * @ltab_lnum: LEB number of LPT's own lprops table
-+ * @ltab_offs: offset of LPT's own lprops table
-+ * @ltab: LPT's own lprops table
-+ * @ltab_cmt: LPT's own lprops table (commit copy)
-+ * @lsave_cnt: number of LEB numbers in LPT's save table
-+ * @lsave_lnum: LEB number of LPT's save table
-+ * @lsave_offs: offset of LPT's save table
-+ * @lsave: LPT's save table
-+ * @lscan_lnum: LEB number of last LPT scan
-+ *
-+ * @rp_size: size of the reserved pool in bytes
-+ * @report_rp_size: size of the reserved pool reported to user-space
-+ * @rp_uid: reserved pool user ID
-+ * @rp_gid: reserved pool group ID
-+ *
-+ * @empty: if the UBI device is empty
-+ * @replay_tree: temporary tree used during journal replay
-+ * @replay_list: temporary list used during journal replay
-+ * @replay_buds: list of buds to replay
-+ * @cs_sqnum: sequence number of first node in the log (commit start node)
-+ * @replay_sqnum: sequence number of node currently being replayed
-+ * @need_recovery: file-system needs recovery
-+ * @replaying: set to %1 during journal replay
-+ * @unclean_leb_list: LEBs to recover when mounting ro to rw
-+ * @rcvrd_mst_node: recovered master node to write when mounting ro to rw
-+ * @size_tree: inode size information for recovery
-+ * @remounting_rw: set while remounting from ro to rw (sb flags have MS_RDONLY)
-+ * @always_chk_crc: always check CRCs (while mounting and remounting rw)
-+ * @mount_opts: UBIFS-specific mount options
-+ *
-+ * @dbg: debugging-related information
-+ */
-+struct ubifs_info {
-+ struct super_block *vfs_sb;
-+ struct backing_dev_info bdi;
-+
-+ ino_t highest_inum;
-+ unsigned long long max_sqnum;
-+ unsigned long long cmt_no;
-+ spinlock_t cnt_lock;
-+ int fmt_version;
-+ unsigned char uuid[16];
-+
-+ int lhead_lnum;
-+ int lhead_offs;
-+ int ltail_lnum;
-+ struct mutex log_mutex;
-+ int min_log_bytes;
-+ long long cmt_bud_bytes;
-+
-+ struct rb_root buds;
-+ long long bud_bytes;
-+ spinlock_t buds_lock;
-+ int jhead_cnt;
-+ struct ubifs_jhead *jheads;
-+ long long max_bud_bytes;
-+ long long bg_bud_bytes;
-+ struct list_head old_buds;
-+ int max_bud_cnt;
-+
-+ struct rw_semaphore commit_sem;
-+ int cmt_state;
-+ spinlock_t cs_lock;
-+ wait_queue_head_t cmt_wq;
-+
-+ unsigned int big_lpt:1;
-+ unsigned int no_chk_data_crc:1;
-+ unsigned int bulk_read:1;
-+ unsigned int default_compr:2;
-+
-+ struct mutex tnc_mutex;
-+ struct ubifs_zbranch zroot;
-+ struct ubifs_znode *cnext;
-+ struct ubifs_znode *enext;
-+ int *gap_lebs;
-+ void *cbuf;
-+ void *ileb_buf;
-+ int ileb_len;
-+ int ihead_lnum;
-+ int ihead_offs;
-+ int *ilebs;
-+ int ileb_cnt;
-+ int ileb_nxt;
-+ struct rb_root old_idx;
-+ int *bottom_up_buf;
-+
-+ struct ubifs_mst_node *mst_node;
-+ int mst_offs;
-+ struct mutex mst_mutex;
-+
-+ int max_bu_buf_len;
-+ struct mutex bu_mutex;
-+ struct bu_info bu;
-+
-+ int log_lebs;
-+ long long log_bytes;
-+ int log_last;
-+ int lpt_lebs;
-+ int lpt_first;
-+ int lpt_last;
-+ int orph_lebs;
-+ int orph_first;
-+ int orph_last;
-+ int main_lebs;
-+ int main_first;
-+ long long main_bytes;
-+
-+ uint8_t key_hash_type;
-+ uint32_t (*key_hash)(const char *str, int len);
-+ int key_fmt;
-+ int key_len;
-+ int fanout;
-+
-+ int min_io_size;
-+ int min_io_shift;
-+ int leb_size;
-+ int half_leb_size;
-+ int leb_cnt;
-+ int max_leb_cnt;
-+ int old_leb_cnt;
-+ int ro_media;
-+
-+ atomic_long_t dirty_pg_cnt;
-+ atomic_long_t dirty_zn_cnt;
-+ atomic_long_t clean_zn_cnt;
-+
-+ long long budg_idx_growth;
-+ long long budg_data_growth;
-+ long long budg_dd_growth;
-+ long long budg_uncommitted_idx;
-+ spinlock_t space_lock;
-+ int min_idx_lebs;
-+ unsigned long long old_idx_sz;
-+ unsigned long long calc_idx_sz;
-+ struct ubifs_lp_stats lst;
-+ unsigned int nospace:1;
-+ unsigned int nospace_rp:1;
-+
-+ int page_budget;
-+ int inode_budget;
-+ int dent_budget;
-+
-+ int ref_node_alsz;
-+ int mst_node_alsz;
-+ int min_idx_node_sz;
-+ int max_idx_node_sz;
-+ long long max_inode_sz;
-+ int max_znode_sz;
-+
-+ int leb_overhead;
-+ int dead_wm;
-+ int dark_wm;
-+ int block_cnt;
-+
-+ struct ubifs_node_range ranges[UBIFS_NODE_TYPES_CNT];
-+ struct ubi_volume_desc *ubi;
-+ struct ubi_device_info di;
-+ struct ubi_volume_info vi;
-+
-+ struct rb_root orph_tree;
-+ struct list_head orph_list;
-+ struct list_head orph_new;
-+ struct ubifs_orphan *orph_cnext;
-+ struct ubifs_orphan *orph_dnext;
-+ spinlock_t orphan_lock;
-+ void *orph_buf;
-+ int new_orphans;
-+ int cmt_orphans;
-+ int tot_orphans;
-+ int max_orphans;
-+ int ohead_lnum;
-+ int ohead_offs;
-+ int no_orphs;
-+
-+ struct task_struct *bgt;
-+ char bgt_name[sizeof(BGT_NAME_PATTERN) + 9];
-+ int need_bgt;
-+ int need_wbuf_sync;
-+
-+ int gc_lnum;
-+ void *sbuf;
-+ struct list_head idx_gc;
-+ int idx_gc_cnt;
-+ int gc_seq;
-+ int gced_lnum;
-+
-+ struct list_head infos_list;
-+ struct mutex umount_mutex;
-+ unsigned int shrinker_run_no;
-+
-+ int space_bits;
-+ int lpt_lnum_bits;
-+ int lpt_offs_bits;
-+ int lpt_spc_bits;
-+ int pcnt_bits;
-+ int lnum_bits;
-+ int nnode_sz;
-+ int pnode_sz;
-+ int ltab_sz;
-+ int lsave_sz;
-+ int pnode_cnt;
-+ int nnode_cnt;
-+ int lpt_hght;
-+ int pnodes_have;
-+
-+ struct mutex lp_mutex;
-+ int lpt_lnum;
-+ int lpt_offs;
-+ int nhead_lnum;
-+ int nhead_offs;
-+ int lpt_drty_flgs;
-+ int dirty_nn_cnt;
-+ int dirty_pn_cnt;
-+ int check_lpt_free;
-+ long long lpt_sz;
-+ void *lpt_nod_buf;
-+ void *lpt_buf;
-+ struct ubifs_nnode *nroot;
-+ struct ubifs_cnode *lpt_cnext;
-+ struct ubifs_lpt_heap lpt_heap[LPROPS_HEAP_CNT];
-+ struct ubifs_lpt_heap dirty_idx;
-+ struct list_head uncat_list;
-+ struct list_head empty_list;
-+ struct list_head freeable_list;
-+ struct list_head frdi_idx_list;
-+ int freeable_cnt;
-+
-+ int ltab_lnum;
-+ int ltab_offs;
-+ struct ubifs_lpt_lprops *ltab;
-+ struct ubifs_lpt_lprops *ltab_cmt;
-+ int lsave_cnt;
-+ int lsave_lnum;
-+ int lsave_offs;
-+ int *lsave;
-+ int lscan_lnum;
-+
-+ long long rp_size;
-+ long long report_rp_size;
-+ uid_t rp_uid;
-+ gid_t rp_gid;
-+
-+ /* The below fields are used only during mounting and re-mounting */
-+ int empty;
-+ struct rb_root replay_tree;
-+ struct list_head replay_list;
-+ struct list_head replay_buds;
-+ unsigned long long cs_sqnum;
-+ unsigned long long replay_sqnum;
-+ int need_recovery;
-+ int replaying;
-+ struct list_head unclean_leb_list;
-+ struct ubifs_mst_node *rcvrd_mst_node;
-+ struct rb_root size_tree;
-+ int remounting_rw;
-+ int always_chk_crc;
-+ struct ubifs_mount_opts mount_opts;
-+
-+#ifdef CONFIG_UBIFS_FS_DEBUG
-+ struct ubifs_debug_info *dbg;
-+#endif
-+};
-+
-+extern struct list_head ubifs_infos;
-+extern spinlock_t ubifs_infos_lock;
-+extern atomic_long_t ubifs_clean_zn_cnt;
-+extern struct kmem_cache *ubifs_inode_slab;
-+extern const struct super_operations ubifs_super_operations;
-+extern const struct address_space_operations ubifs_file_address_operations;
-+extern const struct file_operations ubifs_file_operations;
-+extern const struct inode_operations ubifs_file_inode_operations;
-+extern const struct file_operations ubifs_dir_operations;
-+extern const struct inode_operations ubifs_dir_inode_operations;
-+extern const struct inode_operations ubifs_symlink_inode_operations;
-+extern struct backing_dev_info ubifs_backing_dev_info;
-+extern struct ubifs_compressor *ubifs_compressors[UBIFS_COMPR_TYPES_CNT];
-+
-+/* io.c */
-+void ubifs_ro_mode(struct ubifs_info *c, int err);
-+int ubifs_wbuf_write_nolock(struct ubifs_wbuf *wbuf, void *buf, int len);
-+int ubifs_wbuf_seek_nolock(struct ubifs_wbuf *wbuf, int lnum, int offs,
-+ int dtype);
-+int ubifs_wbuf_init(struct ubifs_info *c, struct ubifs_wbuf *wbuf);
-+int ubifs_read_node(const struct ubifs_info *c, void *buf, int type, int len,
-+ int lnum, int offs);
-+int ubifs_read_node_wbuf(struct ubifs_wbuf *wbuf, void *buf, int type, int len,
-+ int lnum, int offs);
-+int ubifs_write_node(struct ubifs_info *c, void *node, int len, int lnum,
-+ int offs, int dtype);
-+int ubifs_check_node(const struct ubifs_info *c, const void *buf, int lnum,
-+ int offs, int quiet, int must_chk_crc);
-+void ubifs_prepare_node(struct ubifs_info *c, void *buf, int len, int pad);
-+void ubifs_prep_grp_node(struct ubifs_info *c, void *node, int len, int last);
-+int ubifs_io_init(struct ubifs_info *c);
-+void ubifs_pad(const struct ubifs_info *c, void *buf, int pad);
-+int ubifs_wbuf_sync_nolock(struct ubifs_wbuf *wbuf);
-+int ubifs_bg_wbufs_sync(struct ubifs_info *c);
-+void ubifs_wbuf_add_ino_nolock(struct ubifs_wbuf *wbuf, ino_t inum);
-+int ubifs_sync_wbufs_by_inode(struct ubifs_info *c, struct inode *inode);
-+
-+/* scan.c */
-+struct ubifs_scan_leb *ubifs_scan(const struct ubifs_info *c, int lnum,
-+ int offs, void *sbuf);
-+void ubifs_scan_destroy(struct ubifs_scan_leb *sleb);
-+int ubifs_scan_a_node(const struct ubifs_info *c, void *buf, int len, int lnum,
-+ int offs, int quiet);
-+struct ubifs_scan_leb *ubifs_start_scan(const struct ubifs_info *c, int lnum,
-+ int offs, void *sbuf);
-+void ubifs_end_scan(const struct ubifs_info *c, struct ubifs_scan_leb *sleb,
-+ int lnum, int offs);
-+int ubifs_add_snod(const struct ubifs_info *c, struct ubifs_scan_leb *sleb,
-+ void *buf, int offs);
-+void ubifs_scanned_corruption(const struct ubifs_info *c, int lnum, int offs,
-+ void *buf);
-+
-+/* log.c */
-+void ubifs_add_bud(struct ubifs_info *c, struct ubifs_bud *bud);
-+void ubifs_create_buds_lists(struct ubifs_info *c);
-+int ubifs_add_bud_to_log(struct ubifs_info *c, int jhead, int lnum, int offs);
-+struct ubifs_bud *ubifs_search_bud(struct ubifs_info *c, int lnum);
-+struct ubifs_wbuf *ubifs_get_wbuf(struct ubifs_info *c, int lnum);
-+int ubifs_log_start_commit(struct ubifs_info *c, int *ltail_lnum);
-+int ubifs_log_end_commit(struct ubifs_info *c, int new_ltail_lnum);
-+int ubifs_log_post_commit(struct ubifs_info *c, int old_ltail_lnum);
-+int ubifs_consolidate_log(struct ubifs_info *c);
-+
-+/* journal.c */
-+int ubifs_jnl_update(struct ubifs_info *c, const struct inode *dir,
-+ const struct qstr *nm, const struct inode *inode,
-+ int deletion, int xent);
-+int ubifs_jnl_write_data(struct ubifs_info *c, const struct inode *inode,
-+ const union ubifs_key *key, const void *buf, int len);
-+int ubifs_jnl_write_inode(struct ubifs_info *c, const struct inode *inode);
-+int ubifs_jnl_delete_inode(struct ubifs_info *c, const struct inode *inode);
-+int ubifs_jnl_rename(struct ubifs_info *c, const struct inode *old_dir,
-+ const struct dentry *old_dentry,
-+ const struct inode *new_dir,
-+ const struct dentry *new_dentry, int sync);
-+int ubifs_jnl_truncate(struct ubifs_info *c, const struct inode *inode,
-+ loff_t old_size, loff_t new_size);
-+int ubifs_jnl_delete_xattr(struct ubifs_info *c, const struct inode *host,
-+ const struct inode *inode, const struct qstr *nm);
-+int ubifs_jnl_change_xattr(struct ubifs_info *c, const struct inode *inode1,
-+ const struct inode *inode2);
-+
-+/* budget.c */
-+int ubifs_budget_space(struct ubifs_info *c, struct ubifs_budget_req *req);
-+void ubifs_release_budget(struct ubifs_info *c, struct ubifs_budget_req *req);
-+void ubifs_release_dirty_inode_budget(struct ubifs_info *c,
-+ struct ubifs_inode *ui);
-+int ubifs_budget_inode_op(struct ubifs_info *c, struct inode *inode,
-+ struct ubifs_budget_req *req);
-+void ubifs_release_ino_dirty(struct ubifs_info *c, struct inode *inode,
-+ struct ubifs_budget_req *req);
-+void ubifs_cancel_ino_op(struct ubifs_info *c, struct inode *inode,
-+ struct ubifs_budget_req *req);
-+long long ubifs_get_free_space(struct ubifs_info *c);
-+long long ubifs_get_free_space_nolock(struct ubifs_info *c);
-+int ubifs_calc_min_idx_lebs(struct ubifs_info *c);
-+void ubifs_convert_page_budget(struct ubifs_info *c);
-+long long ubifs_reported_space(const struct ubifs_info *c, long long free);
-+long long ubifs_calc_available(const struct ubifs_info *c, int min_idx_lebs);
-+
-+/* find.c */
-+int ubifs_find_free_space(struct ubifs_info *c, int min_space, int *free,
-+ int squeeze);
-+int ubifs_find_free_leb_for_idx(struct ubifs_info *c);
-+int ubifs_find_dirty_leb(struct ubifs_info *c, struct ubifs_lprops *ret_lp,
-+ int min_space, int pick_free);
-+int ubifs_find_dirty_idx_leb(struct ubifs_info *c);
-+int ubifs_save_dirty_idx_lnums(struct ubifs_info *c);
-+
-+/* tnc.c */
-+int ubifs_lookup_level0(struct ubifs_info *c, const union ubifs_key *key,
-+ struct ubifs_znode **zn, int *n);
-+int ubifs_tnc_lookup_nm(struct ubifs_info *c, const union ubifs_key *key,
-+ void *node, const struct qstr *nm);
-+int ubifs_tnc_locate(struct ubifs_info *c, const union ubifs_key *key,
-+ void *node, int *lnum, int *offs);
-+int ubifs_tnc_add(struct ubifs_info *c, const union ubifs_key *key, int lnum,
-+ int offs, int len);
-+int ubifs_tnc_replace(struct ubifs_info *c, const union ubifs_key *key,
-+ int old_lnum, int old_offs, int lnum, int offs, int len);
-+int ubifs_tnc_add_nm(struct ubifs_info *c, const union ubifs_key *key,
-+ int lnum, int offs, int len, const struct qstr *nm);
-+int ubifs_tnc_remove(struct ubifs_info *c, const union ubifs_key *key);
-+int ubifs_tnc_remove_nm(struct ubifs_info *c, const union ubifs_key *key,
-+ const struct qstr *nm);
-+int ubifs_tnc_remove_range(struct ubifs_info *c, union ubifs_key *from_key,
-+ union ubifs_key *to_key);
-+int ubifs_tnc_remove_ino(struct ubifs_info *c, ino_t inum);
-+struct ubifs_dent_node *ubifs_tnc_next_ent(struct ubifs_info *c,
-+ union ubifs_key *key,
-+ const struct qstr *nm);
-+void ubifs_tnc_close(struct ubifs_info *c);
-+int ubifs_tnc_has_node(struct ubifs_info *c, union ubifs_key *key, int level,
-+ int lnum, int offs, int is_idx);
-+int ubifs_dirty_idx_node(struct ubifs_info *c, union ubifs_key *key, int level,
-+ int lnum, int offs);
-+/* Shared by tnc.c for tnc_commit.c */
-+void destroy_old_idx(struct ubifs_info *c);
-+int is_idx_node_in_tnc(struct ubifs_info *c, union ubifs_key *key, int level,
-+ int lnum, int offs);
-+int insert_old_idx_znode(struct ubifs_info *c, struct ubifs_znode *znode);
-+int ubifs_tnc_get_bu_keys(struct ubifs_info *c, struct bu_info *bu);
-+int ubifs_tnc_bulk_read(struct ubifs_info *c, struct bu_info *bu);
-+
-+/* tnc_misc.c */
-+struct ubifs_znode *ubifs_tnc_levelorder_next(struct ubifs_znode *zr,
-+ struct ubifs_znode *znode);
-+int ubifs_search_zbranch(const struct ubifs_info *c,
-+ const struct ubifs_znode *znode,
-+ const union ubifs_key *key, int *n);
-+struct ubifs_znode *ubifs_tnc_postorder_first(struct ubifs_znode *znode);
-+struct ubifs_znode *ubifs_tnc_postorder_next(struct ubifs_znode *znode);
-+long ubifs_destroy_tnc_subtree(struct ubifs_znode *zr);
-+struct ubifs_znode *ubifs_load_znode(struct ubifs_info *c,
-+ struct ubifs_zbranch *zbr,
-+ struct ubifs_znode *parent, int iip);
-+int ubifs_tnc_read_node(struct ubifs_info *c, struct ubifs_zbranch *zbr,
-+ void *node);
-+
-+/* tnc_commit.c */
-+int ubifs_tnc_start_commit(struct ubifs_info *c, struct ubifs_zbranch *zroot);
-+int ubifs_tnc_end_commit(struct ubifs_info *c);
-+
-+/* shrinker.c */
-+int ubifs_shrinker(int nr_to_scan, gfp_t gfp_mask);
-+
-+/* commit.c */
-+int ubifs_bg_thread(void *info);
-+void ubifs_commit_required(struct ubifs_info *c);
-+void ubifs_request_bg_commit(struct ubifs_info *c);
-+int ubifs_run_commit(struct ubifs_info *c);
-+void ubifs_recovery_commit(struct ubifs_info *c);
-+int ubifs_gc_should_commit(struct ubifs_info *c);
-+void ubifs_wait_for_commit(struct ubifs_info *c);
-+
-+/* master.c */
-+int ubifs_read_master(struct ubifs_info *c);
-+int ubifs_write_master(struct ubifs_info *c);
-+
-+/* sb.c */
-+int ubifs_read_superblock(struct ubifs_info *c);
-+struct ubifs_sb_node *ubifs_read_sb_node(struct ubifs_info *c);
-+int ubifs_write_sb_node(struct ubifs_info *c, struct ubifs_sb_node *sup);
-+
-+/* replay.c */
-+int ubifs_validate_entry(struct ubifs_info *c,
-+ const struct ubifs_dent_node *dent);
-+int ubifs_replay_journal(struct ubifs_info *c);
-+
-+/* gc.c */
-+int ubifs_garbage_collect(struct ubifs_info *c, int anyway);
-+int ubifs_gc_start_commit(struct ubifs_info *c);
-+int ubifs_gc_end_commit(struct ubifs_info *c);
-+void ubifs_destroy_idx_gc(struct ubifs_info *c);
-+int ubifs_get_idx_gc_leb(struct ubifs_info *c);
-+int ubifs_garbage_collect_leb(struct ubifs_info *c, struct ubifs_lprops *lp);
-+
-+/* orphan.c */
-+int ubifs_add_orphan(struct ubifs_info *c, ino_t inum);
-+void ubifs_delete_orphan(struct ubifs_info *c, ino_t inum);
-+int ubifs_orphan_start_commit(struct ubifs_info *c);
-+int ubifs_orphan_end_commit(struct ubifs_info *c);
-+int ubifs_mount_orphans(struct ubifs_info *c, int unclean, int read_only);
-+int ubifs_clear_orphans(struct ubifs_info *c);
-+
-+/* lpt.c */
-+int ubifs_calc_lpt_geom(struct ubifs_info *c);
-+int ubifs_create_dflt_lpt(struct ubifs_info *c, int *main_lebs, int lpt_first,
-+ int *lpt_lebs, int *big_lpt);
-+int ubifs_lpt_init(struct ubifs_info *c, int rd, int wr);
-+struct ubifs_lprops *ubifs_lpt_lookup(struct ubifs_info *c, int lnum);
-+struct ubifs_lprops *ubifs_lpt_lookup_dirty(struct ubifs_info *c, int lnum);
-+int ubifs_lpt_scan_nolock(struct ubifs_info *c, int start_lnum, int end_lnum,
-+ ubifs_lpt_scan_callback scan_cb, void *data);
-+
-+/* Shared by lpt.c for lpt_commit.c */
-+void ubifs_pack_lsave(struct ubifs_info *c, void *buf, int *lsave);
-+void ubifs_pack_ltab(struct ubifs_info *c, void *buf,
-+ struct ubifs_lpt_lprops *ltab);
-+void ubifs_pack_pnode(struct ubifs_info *c, void *buf,
-+ struct ubifs_pnode *pnode);
-+void ubifs_pack_nnode(struct ubifs_info *c, void *buf,
-+ struct ubifs_nnode *nnode);
-+struct ubifs_pnode *ubifs_get_pnode(struct ubifs_info *c,
-+ struct ubifs_nnode *parent, int iip);
-+struct ubifs_nnode *ubifs_get_nnode(struct ubifs_info *c,
-+ struct ubifs_nnode *parent, int iip);
-+int ubifs_read_nnode(struct ubifs_info *c, struct ubifs_nnode *parent, int iip);
-+void ubifs_add_lpt_dirt(struct ubifs_info *c, int lnum, int dirty);
-+void ubifs_add_nnode_dirt(struct ubifs_info *c, struct ubifs_nnode *nnode);
-+uint32_t ubifs_unpack_bits(uint8_t **addr, int *pos, int nrbits);
-+struct ubifs_nnode *ubifs_first_nnode(struct ubifs_info *c, int *hght);
-+/* Needed only in debugging code in lpt_commit.c */
-+int ubifs_unpack_nnode(const struct ubifs_info *c, void *buf,
-+ struct ubifs_nnode *nnode);
-+
-+/* lpt_commit.c */
-+int ubifs_lpt_start_commit(struct ubifs_info *c);
-+int ubifs_lpt_end_commit(struct ubifs_info *c);
-+int ubifs_lpt_post_commit(struct ubifs_info *c);
-+void ubifs_lpt_free(struct ubifs_info *c, int wr_only);
-+
-+/* lprops.c */
-+const struct ubifs_lprops *ubifs_change_lp(struct ubifs_info *c,
-+ const struct ubifs_lprops *lp,
-+ int free, int dirty, int flags,
-+ int idx_gc_cnt);
-+void ubifs_get_lp_stats(struct ubifs_info *c, struct ubifs_lp_stats *lst);
-+void ubifs_add_to_cat(struct ubifs_info *c, struct ubifs_lprops *lprops,
-+ int cat);
-+void ubifs_replace_cat(struct ubifs_info *c, struct ubifs_lprops *old_lprops,
-+ struct ubifs_lprops *new_lprops);
-+void ubifs_ensure_cat(struct ubifs_info *c, struct ubifs_lprops *lprops);
-+int ubifs_categorize_lprops(const struct ubifs_info *c,
-+ const struct ubifs_lprops *lprops);
-+int ubifs_change_one_lp(struct ubifs_info *c, int lnum, int free, int dirty,
-+ int flags_set, int flags_clean, int idx_gc_cnt);
-+int ubifs_update_one_lp(struct ubifs_info *c, int lnum, int free, int dirty,
-+ int flags_set, int flags_clean);
-+int ubifs_read_one_lp(struct ubifs_info *c, int lnum, struct ubifs_lprops *lp);
-+const struct ubifs_lprops *ubifs_fast_find_free(struct ubifs_info *c);
-+const struct ubifs_lprops *ubifs_fast_find_empty(struct ubifs_info *c);
-+const struct ubifs_lprops *ubifs_fast_find_freeable(struct ubifs_info *c);
-+const struct ubifs_lprops *ubifs_fast_find_frdi_idx(struct ubifs_info *c);
-+
-+/* file.c */
-+int ubifs_fsync(struct file *file, struct dentry *dentry, int datasync);
-+int ubifs_setattr(struct dentry *dentry, struct iattr *attr);
-+
-+/* dir.c */
-+struct inode *ubifs_new_inode(struct ubifs_info *c, const struct inode *dir,
-+ int mode);
-+int ubifs_getattr(struct vfsmount *mnt, struct dentry *dentry,
-+ struct kstat *stat);
-+
-+/* xattr.c */
-+int ubifs_setxattr(struct dentry *dentry, const char *name,
-+ const void *value, size_t size, int flags);
-+ssize_t ubifs_getxattr(struct dentry *dentry, const char *name, void *buf,
-+ size_t size);
-+ssize_t ubifs_listxattr(struct dentry *dentry, char *buffer, size_t size);
-+int ubifs_removexattr(struct dentry *dentry, const char *name);
-+
-+/* super.c */
-+struct inode *ubifs_iget(struct super_block *sb, unsigned long inum);
-+
-+/* recovery.c */
-+int ubifs_recover_master_node(struct ubifs_info *c);
-+int ubifs_write_rcvrd_mst_node(struct ubifs_info *c);
-+struct ubifs_scan_leb *ubifs_recover_leb(struct ubifs_info *c, int lnum,
-+ int offs, void *sbuf, int grouped);
-+struct ubifs_scan_leb *ubifs_recover_log_leb(struct ubifs_info *c, int lnum,
-+ int offs, void *sbuf);
-+int ubifs_recover_inl_heads(const struct ubifs_info *c, void *sbuf);
-+int ubifs_clean_lebs(const struct ubifs_info *c, void *sbuf);
-+int ubifs_rcvry_gc_commit(struct ubifs_info *c);
-+int ubifs_recover_size_accum(struct ubifs_info *c, union ubifs_key *key,
-+ int deletion, loff_t new_size);
-+int ubifs_recover_size(struct ubifs_info *c);
-+void ubifs_destroy_size_tree(struct ubifs_info *c);
-+
-+/* ioctl.c */
-+long ubifs_ioctl(struct file *file, unsigned int cmd, unsigned long arg);
-+void ubifs_set_inode_flags(struct inode *inode);
-+#ifdef CONFIG_COMPAT
-+long ubifs_compat_ioctl(struct file *file, unsigned int cmd, unsigned long arg);
-+#endif
-+
-+/* compressor.c */
-+int __init ubifs_compressors_init(void);
-+void ubifs_compressors_exit(void);
-+void ubifs_compress(const void *in_buf, int in_len, void *out_buf, int *out_len,
-+ int *compr_type);
-+int ubifs_decompress(const void *buf, int len, void *out, int *out_len,
-+ int compr_type);
-+
-+#include "debug.h"
-+#include "misc.h"
-+#include "key.h"
-+
-+#endif /* !__UBIFS_H__ */
-diff -Nurd linux-2.6.24.orig/fs/ubifs/xattr.c linux-2.6.24/fs/ubifs/xattr.c
---- linux-2.6.24.orig/fs/ubifs/xattr.c 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.24/fs/ubifs/xattr.c 2009-04-17 09:49:28.000000000 +0200
-@@ -0,0 +1,571 @@
-+/*
-+ * This file is part of UBIFS.
-+ *
-+ * Copyright (C) 2006-2008 Nokia Corporation.
-+ *
-+ * This program is free software; you can redistribute it and/or modify it
-+ * under the terms of the GNU General Public License version 2 as published by
-+ * the Free Software Foundation.
-+ *
-+ * 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, write to the Free Software Foundation, Inc., 51
-+ * Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
-+ *
-+ * Authors: Artem Bityutskiy (Битюцкий Ðртём)
-+ * Adrian Hunter
-+ */
-+
-+/*
-+ * This file implements UBIFS extended attributes support.
-+ *
-+ * Extended attributes are implemented as regular inodes with attached data,
-+ * which limits extended attribute size to UBIFS block size (4KiB). Names of
-+ * extended attributes are described by extended attribute entries (xentries),
-+ * which are almost identical to directory entries, but have different key type.
-+ *
-+ * In other words, the situation with extended attributes is very similar to
-+ * directories. Indeed, any inode (but of course not xattr inodes) may have a
-+ * number of associated xentries, just like directory inodes have associated
-+ * directory entries. Extended attribute entries store the name of the extended
-+ * attribute, the host inode number, and the extended attribute inode number.
-+ * Similarly, direntries store the name, the parent and the target inode
-+ * numbers. Thus, most of the common UBIFS mechanisms may be re-used for
-+ * extended attributes.
-+ *
-+ * The number of extended attributes is not limited, but there is Linux
-+ * limitation on the maximum possible size of the list of all extended
-+ * attributes associated with an inode (%XATTR_LIST_MAX), so UBIFS makes sure
-+ * the sum of all extended attribute names of the inode does not exceed that
-+ * limit.
-+ *
-+ * Extended attributes are synchronous, which means they are written to the
-+ * flash media synchronously and there is no write-back for extended attribute
-+ * inodes. The extended attribute values are not stored in compressed form on
-+ * the media.
-+ *
-+ * Since extended attributes are represented by regular inodes, they are cached
-+ * in the VFS inode cache. The xentries are cached in the LNC cache (see
-+ * tnc.c).
-+ *
-+ * ACL support is not implemented.
-+ */
-+
-+#include <linux/xattr.h>
-+#include <linux/posix_acl_xattr.h>
-+#include "ubifs.h"
-+
-+/*
-+ * Limit the number of extended attributes per inode so that the total size
-+ * (@xattr_size) is guaranteeded to fit in an 'unsigned int'.
-+ */
-+#define MAX_XATTRS_PER_INODE 65535
-+
-+/*
-+ * Extended attribute type constants.
-+ *
-+ * USER_XATTR: user extended attribute ("user.*")
-+ * TRUSTED_XATTR: trusted extended attribute ("trusted.*)
-+ * SECURITY_XATTR: security extended attribute ("security.*")
-+ */
-+enum {
-+ USER_XATTR,
-+ TRUSTED_XATTR,
-+ SECURITY_XATTR,
-+};
-+
-+static struct inode_operations none_inode_operations;
-+static struct address_space_operations none_address_operations;
-+static struct file_operations none_file_operations;
-+
-+/**
-+ * create_xattr - create an extended attribute.
-+ * @c: UBIFS file-system description object
-+ * @host: host inode
-+ * @nm: extended attribute name
-+ * @value: extended attribute value
-+ * @size: size of extended attribute value
-+ *
-+ * This is a helper function which creates an extended attribute of name @nm
-+ * and value @value for inode @host. The host inode is also updated on flash
-+ * because the ctime and extended attribute accounting data changes. This
-+ * function returns zero in case of success and a negative error code in case
-+ * of failure.
-+ */
-+static int create_xattr(struct ubifs_info *c, struct inode *host,
-+ const struct qstr *nm, const void *value, int size)
-+{
-+ int err;
-+ struct inode *inode;
-+ struct ubifs_inode *ui, *host_ui = ubifs_inode(host);
-+ struct ubifs_budget_req req = { .new_ino = 1, .new_dent = 1,
-+ .new_ino_d = ALIGN(size, 8), .dirtied_ino = 1,
-+ .dirtied_ino_d = ALIGN(host_ui->data_len, 8) };
-+
-+ if (host_ui->xattr_cnt >= MAX_XATTRS_PER_INODE)
-+ return -ENOSPC;
-+ /*
-+ * Linux limits the maximum size of the extended attribute names list
-+ * to %XATTR_LIST_MAX. This means we should not allow creating more
-+ * extended attributes if the name list becomes larger. This limitation
-+ * is artificial for UBIFS, though.
-+ */
-+ if (host_ui->xattr_names + host_ui->xattr_cnt +
-+ nm->len + 1 > XATTR_LIST_MAX)
-+ return -ENOSPC;
-+
-+ err = ubifs_budget_space(c, &req);
-+ if (err)
-+ return err;
-+
-+ inode = ubifs_new_inode(c, host, S_IFREG | S_IRWXUGO);
-+ if (IS_ERR(inode)) {
-+ err = PTR_ERR(inode);
-+ goto out_budg;
-+ }
-+
-+ /* Re-define all operations to be "nothing" */
-+ inode->i_mapping->a_ops = &none_address_operations;
-+ inode->i_op = &none_inode_operations;
-+ inode->i_fop = &none_file_operations;
-+
-+ inode->i_flags |= S_SYNC | S_NOATIME | S_NOCMTIME | S_NOQUOTA;
-+ ui = ubifs_inode(inode);
-+ ui->xattr = 1;
-+ ui->flags |= UBIFS_XATTR_FL;
-+ ui->data = kmalloc(size, GFP_NOFS);
-+ if (!ui->data) {
-+ err = -ENOMEM;
-+ goto out_free;
-+ }
-+ memcpy(ui->data, value, size);
-+ inode->i_size = ui->ui_size = size;
-+ ui->data_len = size;
-+
-+ mutex_lock(&host_ui->ui_mutex);
-+ host->i_ctime = ubifs_current_time(host);
-+ host_ui->xattr_cnt += 1;
-+ host_ui->xattr_size += CALC_DENT_SIZE(nm->len);
-+ host_ui->xattr_size += CALC_XATTR_BYTES(size);
-+ host_ui->xattr_names += nm->len;
-+
-+ err = ubifs_jnl_update(c, host, nm, inode, 0, 1);
-+ if (err)
-+ goto out_cancel;
-+ mutex_unlock(&host_ui->ui_mutex);
-+
-+ ubifs_release_budget(c, &req);
-+ insert_inode_hash(inode);
-+ iput(inode);
-+ return 0;
-+
-+out_cancel:
-+ host_ui->xattr_cnt -= 1;
-+ host_ui->xattr_size -= CALC_DENT_SIZE(nm->len);
-+ host_ui->xattr_size -= CALC_XATTR_BYTES(size);
-+ mutex_unlock(&host_ui->ui_mutex);
-+out_free:
-+ make_bad_inode(inode);
-+ iput(inode);
-+out_budg:
-+ ubifs_release_budget(c, &req);
-+ return err;
-+}
-+
-+/**
-+ * change_xattr - change an extended attribute.
-+ * @c: UBIFS file-system description object
-+ * @host: host inode
-+ * @inode: extended attribute inode
-+ * @value: extended attribute value
-+ * @size: size of extended attribute value
-+ *
-+ * This helper function changes the value of extended attribute @inode with new
-+ * data from @value. Returns zero in case of success and a negative error code
-+ * in case of failure.
-+ */
-+static int change_xattr(struct ubifs_info *c, struct inode *host,
-+ struct inode *inode, const void *value, int size)
-+{
-+ int err;
-+ struct ubifs_inode *host_ui = ubifs_inode(host);
-+ struct ubifs_inode *ui = ubifs_inode(inode);
-+ struct ubifs_budget_req req = { .dirtied_ino = 2,
-+ .dirtied_ino_d = ALIGN(size, 8) + ALIGN(host_ui->data_len, 8) };
-+
-+ ubifs_assert(ui->data_len == inode->i_size);
-+ err = ubifs_budget_space(c, &req);
-+ if (err)
-+ return err;
-+
-+ kfree(ui->data);
-+ ui->data = kmalloc(size, GFP_NOFS);
-+ if (!ui->data) {
-+ err = -ENOMEM;
-+ goto out_free;
-+ }
-+ memcpy(ui->data, value, size);
-+ inode->i_size = ui->ui_size = size;
-+ ui->data_len = size;
-+
-+ mutex_lock(&host_ui->ui_mutex);
-+ host->i_ctime = ubifs_current_time(host);
-+ host_ui->xattr_size -= CALC_XATTR_BYTES(ui->data_len);
-+ host_ui->xattr_size += CALC_XATTR_BYTES(size);
-+
-+ /*
-+ * It is important to write the host inode after the xattr inode
-+ * because if the host inode gets synchronized (via 'fsync()'), then
-+ * the extended attribute inode gets synchronized, because it goes
-+ * before the host inode in the write-buffer.
-+ */
-+ err = ubifs_jnl_change_xattr(c, inode, host);
-+ if (err)
-+ goto out_cancel;
-+ mutex_unlock(&host_ui->ui_mutex);
-+
-+ ubifs_release_budget(c, &req);
-+ return 0;
-+
-+out_cancel:
-+ host_ui->xattr_size -= CALC_XATTR_BYTES(size);
-+ host_ui->xattr_size += CALC_XATTR_BYTES(ui->data_len);
-+ mutex_unlock(&host_ui->ui_mutex);
-+ make_bad_inode(inode);
-+out_free:
-+ ubifs_release_budget(c, &req);
-+ return err;
-+}
-+
-+/**
-+ * check_namespace - check extended attribute name-space.
-+ * @nm: extended attribute name
-+ *
-+ * This function makes sure the extended attribute name belongs to one of the
-+ * supported extended attribute name-spaces. Returns name-space index in case
-+ * of success and a negative error code in case of failure.
-+ */
-+static int check_namespace(const struct qstr *nm)
-+{
-+ int type;
-+
-+ if (nm->len > UBIFS_MAX_NLEN)
-+ return -ENAMETOOLONG;
-+
-+ if (!strncmp(nm->name, XATTR_TRUSTED_PREFIX,
-+ XATTR_TRUSTED_PREFIX_LEN)) {
-+ if (nm->name[sizeof(XATTR_TRUSTED_PREFIX) - 1] == '\0')
-+ return -EINVAL;
-+ type = TRUSTED_XATTR;
-+ } else if (!strncmp(nm->name, XATTR_USER_PREFIX,
-+ XATTR_USER_PREFIX_LEN)) {
-+ if (nm->name[XATTR_USER_PREFIX_LEN] == '\0')
-+ return -EINVAL;
-+ type = USER_XATTR;
-+ } else if (!strncmp(nm->name, XATTR_SECURITY_PREFIX,
-+ XATTR_SECURITY_PREFIX_LEN)) {
-+ if (nm->name[sizeof(XATTR_SECURITY_PREFIX) - 1] == '\0')
-+ return -EINVAL;
-+ type = SECURITY_XATTR;
-+ } else
-+ return -EOPNOTSUPP;
-+
-+ return type;
-+}
-+
-+static struct inode *iget_xattr(struct ubifs_info *c, ino_t inum)
-+{
-+ struct inode *inode;
-+
-+ inode = ubifs_iget(c->vfs_sb, inum);
-+ if (IS_ERR(inode)) {
-+ ubifs_err("dead extended attribute entry, error %d",
-+ (int)PTR_ERR(inode));
-+ return inode;
-+ }
-+ if (ubifs_inode(inode)->xattr)
-+ return inode;
-+ ubifs_err("corrupt extended attribute entry");
-+ iput(inode);
-+ return ERR_PTR(-EINVAL);
-+}
-+
-+int ubifs_setxattr(struct dentry *dentry, const char *name,
-+ const void *value, size_t size, int flags)
-+{
-+ struct inode *inode, *host = dentry->d_inode;
-+ struct ubifs_info *c = host->i_sb->s_fs_info;
-+ struct qstr nm = { .name = name, .len = strlen(name) };
-+ struct ubifs_dent_node *xent;
-+ union ubifs_key key;
-+ int err, type;
-+
-+ dbg_gen("xattr '%s', host ino %lu ('%.*s'), size %zd", name,
-+ host->i_ino, dentry->d_name.len, dentry->d_name.name, size);
-+ ubifs_assert(mutex_is_locked(&host->i_mutex));
-+
-+ if (size > UBIFS_MAX_INO_DATA)
-+ return -ERANGE;
-+
-+ type = check_namespace(&nm);
-+ if (type < 0)
-+ return type;
-+
-+ xent = kmalloc(UBIFS_MAX_XENT_NODE_SZ, GFP_NOFS);
-+ if (!xent)
-+ return -ENOMEM;
-+
-+ /*
-+ * The extended attribute entries are stored in LNC, so multiple
-+ * look-ups do not involve reading the flash.
-+ */
-+ xent_key_init(c, &key, host->i_ino, &nm);
-+ err = ubifs_tnc_lookup_nm(c, &key, xent, &nm);
-+ if (err) {
-+ if (err != -ENOENT)
-+ goto out_free;
-+
-+ if (flags & XATTR_REPLACE)
-+ /* We are asked not to create the xattr */
-+ err = -ENODATA;
-+ else
-+ err = create_xattr(c, host, &nm, value, size);
-+ goto out_free;
-+ }
-+
-+ if (flags & XATTR_CREATE) {
-+ /* We are asked not to replace the xattr */
-+ err = -EEXIST;
-+ goto out_free;
-+ }
-+
-+ inode = iget_xattr(c, le64_to_cpu(xent->inum));
-+ if (IS_ERR(inode)) {
-+ err = PTR_ERR(inode);
-+ goto out_free;
-+ }
-+
-+ err = change_xattr(c, host, inode, value, size);
-+ iput(inode);
-+
-+out_free:
-+ kfree(xent);
-+ return err;
-+}
-+
-+ssize_t ubifs_getxattr(struct dentry *dentry, const char *name, void *buf,
-+ size_t size)
-+{
-+ struct inode *inode, *host = dentry->d_inode;
-+ struct ubifs_info *c = host->i_sb->s_fs_info;
-+ struct qstr nm = { .name = name, .len = strlen(name) };
-+ struct ubifs_inode *ui;
-+ struct ubifs_dent_node *xent;
-+ union ubifs_key key;
-+ int err;
-+
-+ dbg_gen("xattr '%s', ino %lu ('%.*s'), buf size %zd", name,
-+ host->i_ino, dentry->d_name.len, dentry->d_name.name, size);
-+
-+ err = check_namespace(&nm);
-+ if (err < 0)
-+ return err;
-+
-+ xent = kmalloc(UBIFS_MAX_XENT_NODE_SZ, GFP_NOFS);
-+ if (!xent)
-+ return -ENOMEM;
-+
-+ xent_key_init(c, &key, host->i_ino, &nm);
-+ err = ubifs_tnc_lookup_nm(c, &key, xent, &nm);
-+ if (err) {
-+ if (err == -ENOENT)
-+ err = -ENODATA;
-+ goto out_unlock;
-+ }
-+
-+ inode = iget_xattr(c, le64_to_cpu(xent->inum));
-+ if (IS_ERR(inode)) {
-+ err = PTR_ERR(inode);
-+ goto out_unlock;
-+ }
-+
-+ ui = ubifs_inode(inode);
-+ ubifs_assert(inode->i_size == ui->data_len);
-+ ubifs_assert(ubifs_inode(host)->xattr_size > ui->data_len);
-+
-+ if (buf) {
-+ /* If @buf is %NULL we are supposed to return the length */
-+ if (ui->data_len > size) {
-+ dbg_err("buffer size %zd, xattr len %d",
-+ size, ui->data_len);
-+ err = -ERANGE;
-+ goto out_iput;
-+ }
-+
-+ memcpy(buf, ui->data, ui->data_len);
-+ }
-+ err = ui->data_len;
-+
-+out_iput:
-+ iput(inode);
-+out_unlock:
-+ kfree(xent);
-+ return err;
-+}
-+
-+ssize_t ubifs_listxattr(struct dentry *dentry, char *buffer, size_t size)
-+{
-+ union ubifs_key key;
-+ struct inode *host = dentry->d_inode;
-+ struct ubifs_info *c = host->i_sb->s_fs_info;
-+ struct ubifs_inode *host_ui = ubifs_inode(host);
-+ struct ubifs_dent_node *xent, *pxent = NULL;
-+ int err, len, written = 0;
-+ struct qstr nm = { .name = NULL };
-+
-+ dbg_gen("ino %lu ('%.*s'), buffer size %zd", host->i_ino,
-+ dentry->d_name.len, dentry->d_name.name, size);
-+
-+ len = host_ui->xattr_names + host_ui->xattr_cnt;
-+ if (!buffer)
-+ /*
-+ * We should return the minimum buffer size which will fit a
-+ * null-terminated list of all the extended attribute names.
-+ */
-+ return len;
-+
-+ if (len > size)
-+ return -ERANGE;
-+
-+ lowest_xent_key(c, &key, host->i_ino);
-+ while (1) {
-+ int type;
-+
-+ xent = ubifs_tnc_next_ent(c, &key, &nm);
-+ if (IS_ERR(xent)) {
-+ err = PTR_ERR(xent);
-+ break;
-+ }
-+
-+ nm.name = xent->name;
-+ nm.len = le16_to_cpu(xent->nlen);
-+
-+ type = check_namespace(&nm);
-+ if (unlikely(type < 0)) {
-+ err = type;
-+ break;
-+ }
-+
-+ /* Show trusted namespace only for "power" users */
-+ if (type != TRUSTED_XATTR || capable(CAP_SYS_ADMIN)) {
-+ memcpy(buffer + written, nm.name, nm.len + 1);
-+ written += nm.len + 1;
-+ }
-+
-+ kfree(pxent);
-+ pxent = xent;
-+ key_read(c, &xent->key, &key);
-+ }
-+
-+ kfree(pxent);
-+ if (err != -ENOENT) {
-+ ubifs_err("cannot find next direntry, error %d", err);
-+ return err;
-+ }
-+
-+ ubifs_assert(written <= size);
-+ return written;
-+}
-+
-+static int remove_xattr(struct ubifs_info *c, struct inode *host,
-+ struct inode *inode, const struct qstr *nm)
-+{
-+ int err;
-+ struct ubifs_inode *host_ui = ubifs_inode(host);
-+ struct ubifs_inode *ui = ubifs_inode(inode);
-+ struct ubifs_budget_req req = { .dirtied_ino = 2, .mod_dent = 1,
-+ .dirtied_ino_d = ALIGN(host_ui->data_len, 8) };
-+
-+ ubifs_assert(ui->data_len == inode->i_size);
-+
-+ err = ubifs_budget_space(c, &req);
-+ if (err)
-+ return err;
-+
-+ mutex_lock(&host_ui->ui_mutex);
-+ host->i_ctime = ubifs_current_time(host);
-+ host_ui->xattr_cnt -= 1;
-+ host_ui->xattr_size -= CALC_DENT_SIZE(nm->len);
-+ host_ui->xattr_size -= CALC_XATTR_BYTES(ui->data_len);
-+ host_ui->xattr_names -= nm->len;
-+
-+ err = ubifs_jnl_delete_xattr(c, host, inode, nm);
-+ if (err)
-+ goto out_cancel;
-+ mutex_unlock(&host_ui->ui_mutex);
-+
-+ ubifs_release_budget(c, &req);
-+ return 0;
-+
-+out_cancel:
-+ host_ui->xattr_cnt += 1;
-+ host_ui->xattr_size += CALC_DENT_SIZE(nm->len);
-+ host_ui->xattr_size += CALC_XATTR_BYTES(ui->data_len);
-+ mutex_unlock(&host_ui->ui_mutex);
-+ ubifs_release_budget(c, &req);
-+ make_bad_inode(inode);
-+ return err;
-+}
-+
-+int ubifs_removexattr(struct dentry *dentry, const char *name)
-+{
-+ struct inode *inode, *host = dentry->d_inode;
-+ struct ubifs_info *c = host->i_sb->s_fs_info;
-+ struct qstr nm = { .name = name, .len = strlen(name) };
-+ struct ubifs_dent_node *xent;
-+ union ubifs_key key;
-+ int err;
-+
-+ dbg_gen("xattr '%s', ino %lu ('%.*s')", name,
-+ host->i_ino, dentry->d_name.len, dentry->d_name.name);
-+ ubifs_assert(mutex_is_locked(&host->i_mutex));
-+
-+ err = check_namespace(&nm);
-+ if (err < 0)
-+ return err;
-+
-+ xent = kmalloc(UBIFS_MAX_XENT_NODE_SZ, GFP_NOFS);
-+ if (!xent)
-+ return -ENOMEM;
-+
-+ xent_key_init(c, &key, host->i_ino, &nm);
-+ err = ubifs_tnc_lookup_nm(c, &key, xent, &nm);
-+ if (err) {
-+ if (err == -ENOENT)
-+ err = -ENODATA;
-+ goto out_free;
-+ }
-+
-+ inode = iget_xattr(c, le64_to_cpu(xent->inum));
-+ if (IS_ERR(inode)) {
-+ err = PTR_ERR(inode);
-+ goto out_free;
-+ }
-+
-+ ubifs_assert(inode->i_nlink == 1);
-+ inode->i_nlink = 0;
-+ err = remove_xattr(c, host, inode, &nm);
-+ if (err)
-+ inode->i_nlink = 1;
-+
-+ /* If @i_nlink is 0, 'iput()' will delete the inode */
-+ iput(inode);
-+
-+out_free:
-+ kfree(xent);
-+ return err;
-+}
-diff -Nurd linux-2.6.24.orig/include/linux/fs.h linux-2.6.24/include/linux/fs.h
---- linux-2.6.24.orig/include/linux/fs.h 2009-04-17 09:45:11.000000000 +0200
-+++ linux-2.6.24/include/linux/fs.h 2009-04-17 09:49:28.000000000 +0200
-@@ -1672,6 +1672,8 @@
- extern int invalidate_inode_pages2(struct address_space *mapping);
- extern int invalidate_inode_pages2_range(struct address_space *mapping,
- pgoff_t start, pgoff_t end);
-+extern void generic_sync_sb_inodes(struct super_block *sb,
-+ struct writeback_control *wbc);
- extern int write_inode_now(struct inode *, int);
- extern int filemap_fdatawrite(struct address_space *);
- extern int filemap_flush(struct address_space *);
-diff -Nurd linux-2.6.24.orig/include/linux/mtd/ubi.h linux-2.6.24/include/linux/mtd/ubi.h
---- linux-2.6.24.orig/include/linux/mtd/ubi.h 2009-04-17 09:45:11.000000000 +0200
-+++ linux-2.6.24/include/linux/mtd/ubi.h 2009-04-17 09:49:28.000000000 +0200
-@@ -26,23 +26,6 @@
- #include <mtd/ubi-user.h>
-
- /*
-- * UBI data type hint constants.
-- *
-- * UBI_LONGTERM: long-term data
-- * UBI_SHORTTERM: short-term data
-- * UBI_UNKNOWN: data persistence is unknown
-- *
-- * These constants are used when data is written to UBI volumes in order to
-- * help the UBI wear-leveling unit to find more appropriate physical
-- * eraseblocks.
-- */
--enum {
-- UBI_LONGTERM = 1,
-- UBI_SHORTTERM,
-- UBI_UNKNOWN
--};
--
--/*
- * enum ubi_open_mode - UBI volume open mode constants.
- *
- * UBI_READONLY: read-only mode
-@@ -62,13 +45,13 @@
- * @size: how many physical eraseblocks are reserved for this volume
- * @used_bytes: how many bytes of data this volume contains
- * @used_ebs: how many physical eraseblocks of this volume actually contain any
-- * data
-+ * data
- * @vol_type: volume type (%UBI_DYNAMIC_VOLUME or %UBI_STATIC_VOLUME)
- * @corrupted: non-zero if the volume is corrupted (static volumes only)
- * @upd_marker: non-zero if the volume has update marker set
- * @alignment: volume alignment
- * @usable_leb_size: how many bytes are available in logical eraseblocks of
-- * this volume
-+ * this volume
- * @name_len: volume name length
- * @name: volume name
- * @cdev: UBI volume character device major and minor numbers
-@@ -167,7 +150,9 @@
- int len, int dtype);
- int ubi_leb_erase(struct ubi_volume_desc *desc, int lnum);
- int ubi_leb_unmap(struct ubi_volume_desc *desc, int lnum);
-+int ubi_leb_map(struct ubi_volume_desc *desc, int lnum, int dtype);
- int ubi_is_mapped(struct ubi_volume_desc *desc, int lnum);
-+int ubi_sync(int ubi_num);
-
- /*
- * This function is the same as the 'ubi_leb_read()' function, but it does not
-diff -Nurd linux-2.6.24.orig/include/mtd/Kbuild linux-2.6.24/include/mtd/Kbuild
---- linux-2.6.24.orig/include/mtd/Kbuild 2009-04-17 09:45:11.000000000 +0200
-+++ linux-2.6.24/include/mtd/Kbuild 2009-04-17 09:49:28.000000000 +0200
-@@ -3,5 +3,4 @@
- header-y += mtd-abi.h
- header-y += mtd-user.h
- header-y += nftl-user.h
--header-y += ubi-header.h
- header-y += ubi-user.h
-diff -Nurd linux-2.6.24.orig/include/mtd/ubi-user.h linux-2.6.24/include/mtd/ubi-user.h
---- linux-2.6.24.orig/include/mtd/ubi-user.h 2009-04-17 09:45:11.000000000 +0200
-+++ linux-2.6.24/include/mtd/ubi-user.h 2009-04-17 09:49:28.000000000 +0200
-@@ -22,33 +22,55 @@
- #define __UBI_USER_H__
-
- /*
-+ * UBI device creation (the same as MTD device attachment)
-+ * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-+ *
-+ * MTD devices may be attached using %UBI_IOCATT ioctl command of the UBI
-+ * control device. The caller has to properly fill and pass
-+ * &struct ubi_attach_req object - UBI will attach the MTD device specified in
-+ * the request and return the newly created UBI device number as the ioctl
-+ * return value.
-+ *
-+ * UBI device deletion (the same as MTD device detachment)
-+ * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-+ *
-+ * An UBI device maybe deleted with %UBI_IOCDET ioctl command of the UBI
-+ * control device.
-+ *
- * UBI volume creation
- * ~~~~~~~~~~~~~~~~~~~
- *
-- * UBI volumes are created via the %UBI_IOCMKVOL IOCTL command of UBI character
-+ * UBI volumes are created via the %UBI_IOCMKVOL ioctl command of UBI character
- * device. A &struct ubi_mkvol_req object has to be properly filled and a
-- * pointer to it has to be passed to the IOCTL.
-+ * pointer to it has to be passed to the ioctl.
- *
- * UBI volume deletion
- * ~~~~~~~~~~~~~~~~~~~
- *
-- * To delete a volume, the %UBI_IOCRMVOL IOCTL command of the UBI character
-+ * To delete a volume, the %UBI_IOCRMVOL ioctl command of the UBI character
- * device should be used. A pointer to the 32-bit volume ID hast to be passed
-- * to the IOCTL.
-+ * to the ioctl.
- *
- * UBI volume re-size
- * ~~~~~~~~~~~~~~~~~~
- *
-- * To re-size a volume, the %UBI_IOCRSVOL IOCTL command of the UBI character
-+ * To re-size a volume, the %UBI_IOCRSVOL ioctl command of the UBI character
- * device should be used. A &struct ubi_rsvol_req object has to be properly
-- * filled and a pointer to it has to be passed to the IOCTL.
-+ * filled and a pointer to it has to be passed to the ioctl.
-+ *
-+ * UBI volumes re-name
-+ * ~~~~~~~~~~~~~~~~~~~
-+ *
-+ * To re-name several volumes atomically at one go, the %UBI_IOCRNVOL command
-+ * of the UBI character device should be used. A &struct ubi_rnvol_req object
-+ * has to be properly filled and a pointer to it has to be passed to the ioctl.
- *
- * UBI volume update
- * ~~~~~~~~~~~~~~~~~
- *
-- * Volume update should be done via the %UBI_IOCVOLUP IOCTL command of the
-+ * Volume update should be done via the %UBI_IOCVOLUP ioctl command of the
- * corresponding UBI volume character device. A pointer to a 64-bit update
-- * size should be passed to the IOCTL. After then, UBI expects user to write
-+ * size should be passed to the ioctl. After this, UBI expects user to write
- * this number of bytes to the volume character device. The update is finished
- * when the claimed number of bytes is passed. So, the volume update sequence
- * is something like:
-@@ -57,19 +79,65 @@
- * ioctl(fd, UBI_IOCVOLUP, &image_size);
- * write(fd, buf, image_size);
- * close(fd);
-+ *
-+ * Logical eraseblock erase
-+ * ~~~~~~~~~~~~~~~~~~~~~~~~
-+ *
-+ * To erase a logical eraseblock, the %UBI_IOCEBER ioctl command of the
-+ * corresponding UBI volume character device should be used. This command
-+ * unmaps the requested logical eraseblock, makes sure the corresponding
-+ * physical eraseblock is successfully erased, and returns.
-+ *
-+ * Atomic logical eraseblock change
-+ * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-+ *
-+ * Atomic logical eraseblock change operation is called using the %UBI_IOCEBCH
-+ * ioctl command of the corresponding UBI volume character device. A pointer to
-+ * a &struct ubi_leb_change_req object has to be passed to the ioctl. Then the
-+ * user is expected to write the requested amount of bytes (similarly to what
-+ * should be done in case of the "volume update" ioctl).
-+ *
-+ * Logical eraseblock map
-+ * ~~~~~~~~~~~~~~~~~~~~~
-+ *
-+ * To map a logical eraseblock to a physical eraseblock, the %UBI_IOCEBMAP
-+ * ioctl command should be used. A pointer to a &struct ubi_map_req object is
-+ * expected to be passed. The ioctl maps the requested logical eraseblock to
-+ * a physical eraseblock and returns. Only non-mapped logical eraseblocks can
-+ * be mapped. If the logical eraseblock specified in the request is already
-+ * mapped to a physical eraseblock, the ioctl fails and returns error.
-+ *
-+ * Logical eraseblock unmap
-+ * ~~~~~~~~~~~~~~~~~~~~~~~~
-+ *
-+ * To unmap a logical eraseblock to a physical eraseblock, the %UBI_IOCEBUNMAP
-+ * ioctl command should be used. The ioctl unmaps the logical eraseblocks,
-+ * schedules corresponding physical eraseblock for erasure, and returns. Unlike
-+ * the "LEB erase" command, it does not wait for the physical eraseblock being
-+ * erased. Note, the side effect of this is that if an unclean reboot happens
-+ * after the unmap ioctl returns, you may find the LEB mapped again to the same
-+ * physical eraseblock after the UBI is run again.
-+ *
-+ * Check if logical eraseblock is mapped
-+ * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-+ *
-+ * To check if a logical eraseblock is mapped to a physical eraseblock, the
-+ * %UBI_IOCEBISMAP ioctl command should be used. It returns %0 if the LEB is
-+ * not mapped, and %1 if it is mapped.
- */
-
- /*
-- * When a new volume is created, users may either specify the volume number they
-- * want to create or to let UBI automatically assign a volume number using this
-- * constant.
-+ * When a new UBI volume or UBI device is created, users may either specify the
-+ * volume/device number they want to create or to let UBI automatically assign
-+ * the number using these constants.
- */
- #define UBI_VOL_NUM_AUTO (-1)
-+#define UBI_DEV_NUM_AUTO (-1)
-
- /* Maximum volume name length */
- #define UBI_MAX_VOLUME_NAME 127
-
--/* IOCTL commands of UBI character devices */
-+/* ioctl commands of UBI character devices */
-
- #define UBI_IOC_MAGIC 'o'
-
-@@ -79,15 +147,57 @@
- #define UBI_IOCRMVOL _IOW(UBI_IOC_MAGIC, 1, int32_t)
- /* Re-size an UBI volume */
- #define UBI_IOCRSVOL _IOW(UBI_IOC_MAGIC, 2, struct ubi_rsvol_req)
-+/* Re-name volumes */
-+#define UBI_IOCRNVOL _IOW(UBI_IOC_MAGIC, 3, struct ubi_rnvol_req)
-
--/* IOCTL commands of UBI volume character devices */
-+/* ioctl commands of the UBI control character device */
-+
-+#define UBI_CTRL_IOC_MAGIC 'o'
-+
-+/* Attach an MTD device */
-+#define UBI_IOCATT _IOW(UBI_CTRL_IOC_MAGIC, 64, struct ubi_attach_req)
-+/* Detach an MTD device */
-+#define UBI_IOCDET _IOW(UBI_CTRL_IOC_MAGIC, 65, int32_t)
-+
-+/* ioctl commands of UBI volume character devices */
-
- #define UBI_VOL_IOC_MAGIC 'O'
-
- /* Start UBI volume update */
- #define UBI_IOCVOLUP _IOW(UBI_VOL_IOC_MAGIC, 0, int64_t)
--/* An eraseblock erasure command, used for debugging, disabled by default */
-+/* LEB erasure command, used for debugging, disabled by default */
- #define UBI_IOCEBER _IOW(UBI_VOL_IOC_MAGIC, 1, int32_t)
-+/* Atomic LEB change command */
-+#define UBI_IOCEBCH _IOW(UBI_VOL_IOC_MAGIC, 2, int32_t)
-+/* Map LEB command */
-+#define UBI_IOCEBMAP _IOW(UBI_VOL_IOC_MAGIC, 3, struct ubi_map_req)
-+/* Unmap LEB command */
-+#define UBI_IOCEBUNMAP _IOW(UBI_VOL_IOC_MAGIC, 4, int32_t)
-+/* Check if LEB is mapped command */
-+#define UBI_IOCEBISMAP _IOR(UBI_VOL_IOC_MAGIC, 5, int32_t)
-+
-+/* Maximum MTD device name length supported by UBI */
-+#define MAX_UBI_MTD_NAME_LEN 127
-+
-+/* Maximum amount of UBI volumes that can be re-named at one go */
-+#define UBI_MAX_RNVOL 32
-+
-+/*
-+ * UBI data type hint constants.
-+ *
-+ * UBI_LONGTERM: long-term data
-+ * UBI_SHORTTERM: short-term data
-+ * UBI_UNKNOWN: data persistence is unknown
-+ *
-+ * These constants are used when data is written to UBI volumes in order to
-+ * help the UBI wear-leveling unit to find more appropriate physical
-+ * eraseblocks.
-+ */
-+enum {
-+ UBI_LONGTERM = 1,
-+ UBI_SHORTTERM = 2,
-+ UBI_UNKNOWN = 3,
-+};
-
- /*
- * UBI volume type constants.
-@@ -97,22 +207,58 @@
- */
- enum {
- UBI_DYNAMIC_VOLUME = 3,
-- UBI_STATIC_VOLUME = 4
-+ UBI_STATIC_VOLUME = 4,
-+};
-+
-+/**
-+ * struct ubi_attach_req - attach MTD device request.
-+ * @ubi_num: UBI device number to create
-+ * @mtd_num: MTD device number to attach
-+ * @vid_hdr_offset: VID header offset (use defaults if %0)
-+ * @padding: reserved for future, not used, has to be zeroed
-+ *
-+ * This data structure is used to specify MTD device UBI has to attach and the
-+ * parameters it has to use. The number which should be assigned to the new UBI
-+ * device is passed in @ubi_num. UBI may automatically assign the number if
-+ * @UBI_DEV_NUM_AUTO is passed. In this case, the device number is returned in
-+ * @ubi_num.
-+ *
-+ * Most applications should pass %0 in @vid_hdr_offset to make UBI use default
-+ * offset of the VID header within physical eraseblocks. The default offset is
-+ * the next min. I/O unit after the EC header. For example, it will be offset
-+ * 512 in case of a 512 bytes page NAND flash with no sub-page support. Or
-+ * it will be 512 in case of a 2KiB page NAND flash with 4 512-byte sub-pages.
-+ *
-+ * But in rare cases, if this optimizes things, the VID header may be placed to
-+ * a different offset. For example, the boot-loader might do things faster if
-+ * the VID header sits at the end of the first 2KiB NAND page with 4 sub-pages.
-+ * As the boot-loader would not normally need to read EC headers (unless it
-+ * needs UBI in RW mode), it might be faster to calculate ECC. This is weird
-+ * example, but it real-life example. So, in this example, @vid_hdr_offer would
-+ * be 2KiB-64 bytes = 1984. Note, that this position is not even 512-bytes
-+ * aligned, which is OK, as UBI is clever enough to realize this is 4th
-+ * sub-page of the first page and add needed padding.
-+ */
-+struct ubi_attach_req {
-+ int32_t ubi_num;
-+ int32_t mtd_num;
-+ int32_t vid_hdr_offset;
-+ int8_t padding[12];
- };
-
- /**
- * struct ubi_mkvol_req - volume description data structure used in
-- * volume creation requests.
-+ * volume creation requests.
- * @vol_id: volume number
- * @alignment: volume alignment
- * @bytes: volume size in bytes
- * @vol_type: volume type (%UBI_DYNAMIC_VOLUME or %UBI_STATIC_VOLUME)
-- * @padding1: reserved for future, not used
-+ * @padding1: reserved for future, not used, has to be zeroed
- * @name_len: volume name length
-- * @padding2: reserved for future, not used
-+ * @padding2: reserved for future, not used, has to be zeroed
- * @name: volume name
- *
-- * This structure is used by userspace programs when creating new volumes. The
-+ * This structure is used by user-space programs when creating new volumes. The
- * @used_bytes field is only necessary when creating static volumes.
- *
- * The @alignment field specifies the required alignment of the volume logical
-@@ -139,7 +285,7 @@
- int8_t padding1;
- int16_t name_len;
- int8_t padding2[4];
-- char name[UBI_MAX_VOLUME_NAME+1];
-+ char name[UBI_MAX_VOLUME_NAME + 1];
- } __attribute__ ((packed));
-
- /**
-@@ -158,4 +304,73 @@
- int32_t vol_id;
- } __attribute__ ((packed));
-
-+/**
-+ * struct ubi_rnvol_req - volumes re-name request.
-+ * @count: count of volumes to re-name
-+ * @padding1: reserved for future, not used, has to be zeroed
-+ * @vol_id: ID of the volume to re-name
-+ * @name_len: name length
-+ * @padding2: reserved for future, not used, has to be zeroed
-+ * @name: new volume name
-+ *
-+ * UBI allows to re-name up to %32 volumes at one go. The count of volumes to
-+ * re-name is specified in the @count field. The ID of the volumes to re-name
-+ * and the new names are specified in the @vol_id and @name fields.
-+ *
-+ * The UBI volume re-name operation is atomic, which means that should power cut
-+ * happen, the volumes will have either old name or new name. So the possible
-+ * use-cases of this command is atomic upgrade. Indeed, to upgrade, say, volumes
-+ * A and B one may create temporary volumes %A1 and %B1 with the new contents,
-+ * then atomically re-name A1->A and B1->B, in which case old %A and %B will
-+ * be removed.
-+ *
-+ * If it is not desirable to remove old A and B, the re-name request has to
-+ * contain 4 entries: A1->A, A->A1, B1->B, B->B1, in which case old A1 and B1
-+ * become A and B, and old A and B will become A1 and B1.
-+ *
-+ * It is also OK to request: A1->A, A1->X, B1->B, B->Y, in which case old A1
-+ * and B1 become A and B, and old A and B become X and Y.
-+ *
-+ * In other words, in case of re-naming into an existing volume name, the
-+ * existing volume is removed, unless it is re-named as well at the same
-+ * re-name request.
-+ */
-+struct ubi_rnvol_req {
-+ int32_t count;
-+ int8_t padding1[12];
-+ struct {
-+ int32_t vol_id;
-+ int16_t name_len;
-+ int8_t padding2[2];
-+ char name[UBI_MAX_VOLUME_NAME + 1];
-+ } ents[UBI_MAX_RNVOL];
-+} __attribute__ ((packed));
-+
-+/**
-+ * struct ubi_leb_change_req - a data structure used in atomic LEB change
-+ * requests.
-+ * @lnum: logical eraseblock number to change
-+ * @bytes: how many bytes will be written to the logical eraseblock
-+ * @dtype: data type (%UBI_LONGTERM, %UBI_SHORTTERM, %UBI_UNKNOWN)
-+ * @padding: reserved for future, not used, has to be zeroed
-+ */
-+struct ubi_leb_change_req {
-+ int32_t lnum;
-+ int32_t bytes;
-+ int8_t dtype;
-+ int8_t padding[7];
-+} __attribute__ ((packed));
-+
-+/**
-+ * struct ubi_map_req - a data structure used in map LEB requests.
-+ * @lnum: logical eraseblock number to unmap
-+ * @dtype: data type (%UBI_LONGTERM, %UBI_SHORTTERM, %UBI_UNKNOWN)
-+ * @padding: reserved for future, not used, has to be zeroed
-+ */
-+struct ubi_map_req {
-+ int32_t lnum;
-+ int8_t dtype;
-+ int8_t padding[3];
-+} __attribute__ ((packed));
-+
- #endif /* __UBI_USER_H__ */
diff --git a/recipes/linux/linux-2.6.24/ubifs-v2.6.24.patch b/recipes/linux/linux-2.6.24/ubifs-v2.6.24.patch
new file mode 100644
index 0000000000..952e989df4
--- /dev/null
+++ b/recipes/linux/linux-2.6.24/ubifs-v2.6.24.patch
@@ -0,0 +1,45442 @@
+diff -Nurd linux-2.6.24/Documentation/ABI/stable/sysfs-class-ubi ubifs-v2.6.24/Documentation/ABI/stable/sysfs-class-ubi
+--- linux-2.6.24/Documentation/ABI/stable/sysfs-class-ubi 1970-01-01 02:00:00.000000000 +0200
++++ ubifs-v2.6.24/Documentation/ABI/stable/sysfs-class-ubi 2009-04-07 17:14:47.000000000 +0200
+@@ -0,0 +1,212 @@
++What: /sys/class/ubi/
++Date: July 2006
++KernelVersion: 2.6.22
++Contact: Artem Bityutskiy <dedekind@infradead.org>
++Description:
++ The ubi/ class sub-directory belongs to the UBI subsystem and
++ provides general UBI information, per-UBI device information
++ and per-UBI volume information.
++
++What: /sys/class/ubi/version
++Date: July 2006
++KernelVersion: 2.6.22
++Contact: Artem Bityutskiy <dedekind@infradead.org>
++Description:
++ This file contains version of the latest supported UBI on-media
++ format. Currently it is 1, and there is no plan to change this.
++ However, if in the future UBI needs on-flash format changes
++ which cannot be done in a compatible manner, a new format
++ version will be added. So this is a mechanism for possible
++ future backward-compatible (but forward-incompatible)
++ improvements.
++
++What: /sys/class/ubiX/
++Date: July 2006
++KernelVersion: 2.6.22
++Contact: Artem Bityutskiy <dedekind@infradead.org>
++Description:
++ The /sys/class/ubi0, /sys/class/ubi1, etc directories describe
++ UBI devices (UBI device 0, 1, etc). They contain general UBI
++ device information and per UBI volume information (each UBI
++ device may have many UBI volumes)
++
++What: /sys/class/ubi/ubiX/avail_eraseblocks
++Date: July 2006
++KernelVersion: 2.6.22
++Contact: Artem Bityutskiy <dedekind@infradead.org>
++Description:
++ Amount of available logical eraseblock. For example, one may
++ create a new UBI volume which has this amount of logical
++ eraseblocks.
++
++What: /sys/class/ubi/ubiX/bad_peb_count
++Date: July 2006
++KernelVersion: 2.6.22
++Contact: Artem Bityutskiy <dedekind@infradead.org>
++Description:
++ Count of bad physical eraseblocks on the underlying MTD device.
++
++What: /sys/class/ubi/ubiX/bgt_enabled
++Date: July 2006
++KernelVersion: 2.6.22
++Contact: Artem Bityutskiy <dedekind@infradead.org>
++Description:
++ Contains ASCII "0\n" if the UBI background thread is disabled,
++ and ASCII "1\n" if it is enabled.
++
++What: /sys/class/ubi/ubiX/dev
++Date: July 2006
++KernelVersion: 2.6.22
++Contact: Artem Bityutskiy <dedekind@infradead.org>
++Description:
++ Major and minor numbers of the character device corresponding
++ to this UBI device (in <major>:<minor> format).
++
++What: /sys/class/ubi/ubiX/eraseblock_size
++Date: July 2006
++KernelVersion: 2.6.22
++Contact: Artem Bityutskiy <dedekind@infradead.org>
++Description:
++ Maximum logical eraseblock size this UBI device may provide. UBI
++ volumes may have smaller logical eraseblock size because of their
++ alignment.
++
++What: /sys/class/ubi/ubiX/max_ec
++Date: July 2006
++KernelVersion: 2.6.22
++Contact: Artem Bityutskiy <dedekind@infradead.org>
++Description:
++ Maximum physical eraseblock erase counter value.
++
++What: /sys/class/ubi/ubiX/max_vol_count
++Date: July 2006
++KernelVersion: 2.6.22
++Contact: Artem Bityutskiy <dedekind@infradead.org>
++Description:
++ Maximum number of volumes which this UBI device may have.
++
++What: /sys/class/ubi/ubiX/min_io_size
++Date: July 2006
++KernelVersion: 2.6.22
++Contact: Artem Bityutskiy <dedekind@infradead.org>
++Description:
++ Minimum input/output unit size. All the I/O may only be done
++ in fractions of the contained number.
++
++What: /sys/class/ubi/ubiX/mtd_num
++Date: January 2008
++KernelVersion: 2.6.25
++Contact: Artem Bityutskiy <dedekind@infradead.org>
++Description:
++ Number of the underlying MTD device.
++
++What: /sys/class/ubi/ubiX/reserved_for_bad
++Date: July 2006
++KernelVersion: 2.6.22
++Contact: Artem Bityutskiy <dedekind@infradead.org>
++Description:
++ Number of physical eraseblocks reserved for bad block handling.
++
++What: /sys/class/ubi/ubiX/total_eraseblocks
++Date: July 2006
++KernelVersion: 2.6.22
++Contact: Artem Bityutskiy <dedekind@infradead.org>
++Description:
++ Total number of good (not marked as bad) physical eraseblocks on
++ the underlying MTD device.
++
++What: /sys/class/ubi/ubiX/volumes_count
++Date: July 2006
++KernelVersion: 2.6.22
++Contact: Artem Bityutskiy <dedekind@infradead.org>
++Description:
++ Count of volumes on this UBI device.
++
++What: /sys/class/ubi/ubiX/ubiX_Y/
++Date: July 2006
++KernelVersion: 2.6.22
++Contact: Artem Bityutskiy <dedekind@infradead.org>
++Description:
++ The /sys/class/ubi/ubiX/ubiX_0/, /sys/class/ubi/ubiX/ubiX_1/,
++ etc directories describe UBI volumes on UBI device X (volumes
++ 0, 1, etc).
++
++What: /sys/class/ubi/ubiX/ubiX_Y/alignment
++Date: July 2006
++KernelVersion: 2.6.22
++Contact: Artem Bityutskiy <dedekind@infradead.org>
++Description:
++ Volume alignment - the value the logical eraseblock size of
++ this volume has to be aligned on. For example, 2048 means that
++ logical eraseblock size is multiple of 2048. In other words,
++ volume logical eraseblock size is UBI device logical eraseblock
++ size aligned to the alignment value.
++
++What: /sys/class/ubi/ubiX/ubiX_Y/corrupted
++Date: July 2006
++KernelVersion: 2.6.22
++Contact: Artem Bityutskiy <dedekind@infradead.org>
++Description:
++ Contains ASCII "0\n" if the UBI volume is OK, and ASCII "1\n"
++ if it is corrupted (e.g., due to an interrupted volume update).
++
++What: /sys/class/ubi/ubiX/ubiX_Y/data_bytes
++Date: July 2006
++KernelVersion: 2.6.22
++Contact: Artem Bityutskiy <dedekind@infradead.org>
++Description:
++ The amount of data this volume contains. This value makes sense
++ only for static volumes, and for dynamic volume it equivalent
++ to the total volume size in bytes.
++
++What: /sys/class/ubi/ubiX/ubiX_Y/dev
++Date: July 2006
++KernelVersion: 2.6.22
++Contact: Artem Bityutskiy <dedekind@infradead.org>
++Description:
++ Major and minor numbers of the character device corresponding
++ to this UBI volume (in <major>:<minor> format).
++
++What: /sys/class/ubi/ubiX/ubiX_Y/name
++Date: July 2006
++KernelVersion: 2.6.22
++Contact: Artem Bityutskiy <dedekind@infradead.org>
++Description:
++ Volume name.
++
++What: /sys/class/ubi/ubiX/ubiX_Y/reserved_ebs
++Date: July 2006
++KernelVersion: 2.6.22
++Contact: Artem Bityutskiy <dedekind@infradead.org>
++Description:
++ Count of physical eraseblock reserved for this volume.
++ Equivalent to the volume size in logical eraseblocks.
++
++What: /sys/class/ubi/ubiX/ubiX_Y/type
++Date: July 2006
++KernelVersion: 2.6.22
++Contact: Artem Bityutskiy <dedekind@infradead.org>
++Description:
++ Volume type. Contains ASCII "dynamic\n" for dynamic volumes and
++ "static\n" for static volumes.
++
++What: /sys/class/ubi/ubiX/ubiX_Y/upd_marker
++Date: July 2006
++KernelVersion: 2.6.22
++Contact: Artem Bityutskiy <dedekind@infradead.org>
++Description:
++ Contains ASCII "0\n" if the update marker is not set for this
++ volume, and "1\n" if it is set. The update marker is set when
++ volume update starts, and cleaned when it ends. So the presence
++ of the update marker indicates that the volume is being updated
++ at the moment of the update was interrupted. The later may be
++ checked using the "corrupted" sysfs file.
++
++What: /sys/class/ubi/ubiX/ubiX_Y/usable_eb_size
++Date: July 2006
++KernelVersion: 2.6.22
++Contact: Artem Bityutskiy <dedekind@infradead.org>
++Description:
++ Logical eraseblock size of this volume. Equivalent to logical
++ eraseblock size of the device aligned on the volume alignment
++ value.
+diff -Nurd linux-2.6.24/Documentation/filesystems/ubifs.txt ubifs-v2.6.24/Documentation/filesystems/ubifs.txt
+--- linux-2.6.24/Documentation/filesystems/ubifs.txt 1970-01-01 02:00:00.000000000 +0200
++++ ubifs-v2.6.24/Documentation/filesystems/ubifs.txt 2009-04-07 17:14:47.000000000 +0200
+@@ -0,0 +1,169 @@
++Introduction
++=============
++
++UBIFS file-system stands for UBI File System. UBI stands for "Unsorted
++Block Images". UBIFS is a flash file system, which means it is designed
++to work with flash devices. It is important to understand, that UBIFS
++is completely different to any traditional file-system in Linux, like
++Ext2, XFS, JFS, etc. UBIFS represents a separate class of file-systems
++which work with MTD devices, not block devices. The other Linux
++file-system of this class is JFFS2.
++
++To make it more clear, here is a small comparison of MTD devices and
++block devices.
++
++1 MTD devices represent flash devices and they consist of eraseblocks of
++ rather large size, typically about 128KiB. Block devices consist of
++ small blocks, typically 512 bytes.
++2 MTD devices support 3 main operations - read from some offset within an
++ eraseblock, write to some offset within an eraseblock, and erase a whole
++ eraseblock. Block devices support 2 main operations - read a whole
++ block and write a whole block.
++3 The whole eraseblock has to be erased before it becomes possible to
++ re-write its contents. Blocks may be just re-written.
++4 Eraseblocks become worn out after some number of erase cycles -
++ typically 100K-1G for SLC NAND and NOR flashes, and 1K-10K for MLC
++ NAND flashes. Blocks do not have the wear-out property.
++5 Eraseblocks may become bad (only on NAND flashes) and software should
++ deal with this. Blocks on hard drives typically do not become bad,
++ because hardware has mechanisms to substitute bad blocks, at least in
++ modern LBA disks.
++
++It should be quite obvious why UBIFS is very different to traditional
++file-systems.
++
++UBIFS works on top of UBI. UBI is a separate software layer which may be
++found in drivers/mtd/ubi. UBI is basically a volume management and
++wear-leveling layer. It provides so called UBI volumes which is a higher
++level abstraction than a MTD device. The programming model of UBI devices
++is very similar to MTD devices - they still consist of large eraseblocks,
++they have read/write/erase operations, but UBI devices are devoid of
++limitations like wear and bad blocks (items 4 and 5 in the above list).
++
++In a sense, UBIFS is a next generation of JFFS2 file-system, but it is
++very different and incompatible to JFFS2. The following are the main
++differences.
++
++* JFFS2 works on top of MTD devices, UBIFS depends on UBI and works on
++ top of UBI volumes.
++* JFFS2 does not have on-media index and has to build it while mounting,
++ which requires full media scan. UBIFS maintains the FS indexing
++ information on the flash media and does not require full media scan,
++ so it mounts many times faster than JFFS2.
++* JFFS2 is a write-through file-system, while UBIFS supports write-back,
++ which makes UBIFS much faster on writes.
++
++Similarly to JFFS2, UBIFS supports on-the-flight compression which makes
++it possible to fit quite a lot of data to the flash.
++
++Similarly to JFFS2, UBIFS is tolerant of unclean reboots and power-cuts.
++It does not need stuff like fsck.ext2. UBIFS automatically replays its
++journal and recovers from crashes, ensuring that the on-flash data
++structures are consistent.
++
++UBIFS scales logarithmically (most of the data structures it uses are
++trees), so the mount time and memory consumption do not linearly depend
++on the flash size, like in case of JFFS2. This is because UBIFS
++maintains the FS index on the flash media. However, UBIFS depends on
++UBI, which scales linearly. So overall UBI/UBIFS stack scales linearly.
++Nevertheless, UBI/UBIFS scales considerably better than JFFS2.
++
++The authors of UBIFS believe, that it is possible to develop UBI2 which
++would scale logarithmically as well. UBI2 would support the same API as UBI,
++but it would be binary incompatible to UBI. So UBIFS would not need to be
++changed to use UBI2
++
++
++Mount options
++=============
++
++(*) == default.
++
++bulk_read read more in one go to take advantage of flash
++ media that read faster sequentially
++no_bulk_read (*) do not bulk-read
++no_chk_data_crc skip checking of CRCs on data nodes in order to
++ improve read performance. Use this option only
++ if the flash media is highly reliable. The effect
++ of this option is that corruption of the contents
++ of a file can go unnoticed.
++chk_data_crc (*) do not skip checking CRCs on data nodes
++compr=none override default compressor and set it to "none"
++compr=lzo override default compressor and set it to "lzo"
++compr=zlib override default compressor and set it to "zlib"
++
++
++Quick usage instructions
++========================
++
++The UBI volume to mount is specified using "ubiX_Y" or "ubiX:NAME" syntax,
++where "X" is UBI device number, "Y" is UBI volume number, and "NAME" is
++UBI volume name.
++
++Mount volume 0 on UBI device 0 to /mnt/ubifs:
++$ mount -t ubifs ubi0_0 /mnt/ubifs
++
++Mount "rootfs" volume of UBI device 0 to /mnt/ubifs ("rootfs" is volume
++name):
++$ mount -t ubifs ubi0:rootfs /mnt/ubifs
++
++The following is an example of the kernel boot arguments to attach mtd0
++to UBI and mount volume "rootfs":
++ubi.mtd=0 root=ubi0:rootfs rootfstype=ubifs
++
++
++Module Parameters for Debugging
++===============================
++
++When UBIFS has been compiled with debugging enabled, there are 3 module
++parameters that are available to control aspects of testing and debugging.
++The parameters are unsigned integers where each bit controls an option.
++The parameters are:
++
++debug_msgs Selects which debug messages to display, as follows:
++
++ Message Type Flag value
++
++ General messages 1
++ Journal messages 2
++ Mount messages 4
++ Commit messages 8
++ LEB search messages 16
++ Budgeting messages 32
++ Garbage collection messages 64
++ Tree Node Cache (TNC) messages 128
++ LEB properties (lprops) messages 256
++ Input/output messages 512
++ Log messages 1024
++ Scan messages 2048
++ Recovery messages 4096
++
++debug_chks Selects extra checks that UBIFS can do while running:
++
++ Check Flag value
++
++ General checks 1
++ Check Tree Node Cache (TNC) 2
++ Check indexing tree size 4
++ Check orphan area 8
++ Check old indexing tree 16
++ Check LEB properties (lprops) 32
++ Check leaf nodes and inodes 64
++
++debug_tsts Selects a mode of testing, as follows:
++
++ Test mode Flag value
++
++ Force in-the-gaps method 2
++ Failure mode for recovery testing 4
++
++For example, set debug_msgs to 5 to display General messages and Mount
++messages.
++
++
++References
++==========
++
++UBIFS documentation and FAQ/HOWTO at the MTD web site:
++http://www.linux-mtd.infradead.org/doc/ubifs.html
++http://www.linux-mtd.infradead.org/faq/ubifs.html
+diff -Nurd linux-2.6.24/MAINTAINERS ubifs-v2.6.24/MAINTAINERS
+--- linux-2.6.24/MAINTAINERS 2008-01-25 00:58:37.000000000 +0200
++++ ubifs-v2.6.24/MAINTAINERS 2009-04-07 17:14:47.000000000 +0200
+@@ -2148,6 +2148,15 @@
+ W: http://www.linux-mtd.infradead.org/doc/jffs2.html
+ S: Maintained
+
++UBI FILE SYSTEM (UBIFS)
++P: Artem Bityutskiy
++M: dedekind@infradead.org
++P: Adrian Hunter
++M: ext-adrian.hunter@nokia.com
++L: linux-mtd@lists.infradead.org
++W: http://www.linux-mtd.infradead.org/doc/ubifs.html
++S: Maintained
++
+ JFS FILESYSTEM
+ P: Dave Kleikamp
+ M: shaggy@austin.ibm.com
+@@ -2547,7 +2556,7 @@
+ M: dedekind@infradead.org
+ W: http://www.linux-mtd.infradead.org/
+ L: linux-mtd@lists.infradead.org
+-T: git git://git.infradead.org/~dedekind/ubi-2.6.git
++T: git git://git.infradead.org/ubi-2.6.git
+ S: Maintained
+
+ MICROTEK X6 SCANNER
+diff -Nurd linux-2.6.24/crypto/Kconfig ubifs-v2.6.24/crypto/Kconfig
+--- linux-2.6.24/crypto/Kconfig 2008-01-25 00:58:37.000000000 +0200
++++ ubifs-v2.6.24/crypto/Kconfig 2009-04-07 17:14:47.000000000 +0200
+@@ -502,6 +502,14 @@
+ Authenc: Combined mode wrapper for IPsec.
+ This is required for IPSec.
+
++config CRYPTO_LZO
++ tristate "LZO compression algorithm"
++ select CRYPTO_ALGAPI
++ select LZO_COMPRESS
++ select LZO_DECOMPRESS
++ help
++ This is the LZO algorithm.
++
+ source "drivers/crypto/Kconfig"
+
+ endif # if CRYPTO
+diff -Nurd linux-2.6.24/crypto/Makefile ubifs-v2.6.24/crypto/Makefile
+--- linux-2.6.24/crypto/Makefile 2008-01-25 00:58:37.000000000 +0200
++++ ubifs-v2.6.24/crypto/Makefile 2009-04-07 17:14:47.000000000 +0200
+@@ -51,6 +51,7 @@
+ obj-$(CONFIG_CRYPTO_DEFLATE) += deflate.o
+ obj-$(CONFIG_CRYPTO_MICHAEL_MIC) += michael_mic.o
+ obj-$(CONFIG_CRYPTO_CRC32C) += crc32c.o
++obj-$(CONFIG_CRYPTO_LZO) += lzo.o
+ obj-$(CONFIG_CRYPTO_AUTHENC) += authenc.o
+
+ obj-$(CONFIG_CRYPTO_TEST) += tcrypt.o
+diff -Nurd linux-2.6.24/crypto/lzo.c ubifs-v2.6.24/crypto/lzo.c
+--- linux-2.6.24/crypto/lzo.c 1970-01-01 02:00:00.000000000 +0200
++++ ubifs-v2.6.24/crypto/lzo.c 2009-04-07 17:14:47.000000000 +0200
+@@ -0,0 +1,106 @@
++/*
++ * Cryptographic API.
++ *
++ * This program is free software; you can redistribute it and/or modify it
++ * under the terms of the GNU General Public License version 2 as published by
++ * the Free Software Foundation.
++ *
++ * 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, write to the Free Software Foundation, Inc., 51
++ * Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
++ *
++ */
++
++#include <linux/init.h>
++#include <linux/module.h>
++#include <linux/crypto.h>
++#include <linux/vmalloc.h>
++#include <linux/lzo.h>
++
++struct lzo_ctx {
++ void *lzo_comp_mem;
++};
++
++static int lzo_init(struct crypto_tfm *tfm)
++{
++ struct lzo_ctx *ctx = crypto_tfm_ctx(tfm);
++
++ ctx->lzo_comp_mem = vmalloc(LZO1X_MEM_COMPRESS);
++ if (!ctx->lzo_comp_mem)
++ return -ENOMEM;
++
++ return 0;
++}
++
++static void lzo_exit(struct crypto_tfm *tfm)
++{
++ struct lzo_ctx *ctx = crypto_tfm_ctx(tfm);
++
++ vfree(ctx->lzo_comp_mem);
++}
++
++static int lzo_compress(struct crypto_tfm *tfm, const u8 *src,
++ unsigned int slen, u8 *dst, unsigned int *dlen)
++{
++ struct lzo_ctx *ctx = crypto_tfm_ctx(tfm);
++ size_t tmp_len = *dlen; /* size_t(ulong) <-> uint on 64 bit */
++ int err;
++
++ err = lzo1x_1_compress(src, slen, dst, &tmp_len, ctx->lzo_comp_mem);
++
++ if (err != LZO_E_OK)
++ return -EINVAL;
++
++ *dlen = tmp_len;
++ return 0;
++}
++
++static int lzo_decompress(struct crypto_tfm *tfm, const u8 *src,
++ unsigned int slen, u8 *dst, unsigned int *dlen)
++{
++ int err;
++ size_t tmp_len = *dlen; /* size_t(ulong) <-> uint on 64 bit */
++
++ err = lzo1x_decompress_safe(src, slen, dst, &tmp_len);
++
++ if (err != LZO_E_OK)
++ return -EINVAL;
++
++ *dlen = tmp_len;
++ return 0;
++
++}
++
++static struct crypto_alg alg = {
++ .cra_name = "lzo",
++ .cra_flags = CRYPTO_ALG_TYPE_COMPRESS,
++ .cra_ctxsize = sizeof(struct lzo_ctx),
++ .cra_module = THIS_MODULE,
++ .cra_list = LIST_HEAD_INIT(alg.cra_list),
++ .cra_init = lzo_init,
++ .cra_exit = lzo_exit,
++ .cra_u = { .compress = {
++ .coa_compress = lzo_compress,
++ .coa_decompress = lzo_decompress } }
++};
++
++static int __init init(void)
++{
++ return crypto_register_alg(&alg);
++}
++
++static void __exit fini(void)
++{
++ crypto_unregister_alg(&alg);
++}
++
++module_init(init);
++module_exit(fini);
++
++MODULE_LICENSE("GPL");
++MODULE_DESCRIPTION("LZO Compression Algorithm");
+diff -Nurd linux-2.6.24/crypto/tcrypt.c ubifs-v2.6.24/crypto/tcrypt.c
+--- linux-2.6.24/crypto/tcrypt.c 2008-01-25 00:58:37.000000000 +0200
++++ ubifs-v2.6.24/crypto/tcrypt.c 2009-04-07 17:14:47.000000000 +0200
+@@ -78,7 +78,7 @@
+ "twofish", "serpent", "sha384", "sha512", "md4", "aes", "cast6",
+ "arc4", "michael_mic", "deflate", "crc32c", "tea", "xtea",
+ "khazad", "wp512", "wp384", "wp256", "tnepres", "xeta", "fcrypt",
+- "camellia", "seed", NULL
++ "camellia", "seed", "lzo", NULL
+ };
+
+ static void hexdump(unsigned char *buf, unsigned int len)
+@@ -800,7 +800,8 @@
+ crypto_free_hash(tfm);
+ }
+
+-static void test_deflate(void)
++static void test_comp(char *algo, struct comp_testvec *ctemplate,
++ struct comp_testvec *dtemplate, int ctcount, int dtcount)
+ {
+ unsigned int i;
+ char result[COMP_BUF_SIZE];
+@@ -808,25 +809,26 @@
+ struct comp_testvec *tv;
+ unsigned int tsize;
+
+- printk("\ntesting deflate compression\n");
++ printk("\ntesting %s compression\n", algo);
+
+- tsize = sizeof (deflate_comp_tv_template);
++ tsize = sizeof(struct comp_testvec);
++ tsize *= ctcount;
+ if (tsize > TVMEMSIZE) {
+ printk("template (%u) too big for tvmem (%u)\n", tsize,
+ TVMEMSIZE);
+ return;
+ }
+
+- memcpy(tvmem, deflate_comp_tv_template, tsize);
++ memcpy(tvmem, ctemplate, tsize);
+ tv = (void *)tvmem;
+
+- tfm = crypto_alloc_comp("deflate", 0, CRYPTO_ALG_ASYNC);
++ tfm = crypto_alloc_comp(algo, 0, CRYPTO_ALG_ASYNC);
+ if (IS_ERR(tfm)) {
+- printk("failed to load transform for deflate\n");
++ printk("failed to load transform for %s\n", algo);
+ return;
+ }
+
+- for (i = 0; i < DEFLATE_COMP_TEST_VECTORS; i++) {
++ for (i = 0; i < ctcount; i++) {
+ int ilen, ret, dlen = COMP_BUF_SIZE;
+
+ printk("test %u:\n", i + 1);
+@@ -845,19 +847,20 @@
+ ilen, dlen);
+ }
+
+- printk("\ntesting deflate decompression\n");
++ printk("\ntesting %s decompression\n", algo);
+
+- tsize = sizeof (deflate_decomp_tv_template);
++ tsize = sizeof(struct comp_testvec);
++ tsize *= dtcount;
+ if (tsize > TVMEMSIZE) {
+ printk("template (%u) too big for tvmem (%u)\n", tsize,
+ TVMEMSIZE);
+ goto out;
+ }
+
+- memcpy(tvmem, deflate_decomp_tv_template, tsize);
++ memcpy(tvmem, dtemplate, tsize);
+ tv = (void *)tvmem;
+
+- for (i = 0; i < DEFLATE_DECOMP_TEST_VECTORS; i++) {
++ for (i = 0; i < dtcount; i++) {
+ int ilen, ret, dlen = COMP_BUF_SIZE;
+
+ printk("test %u:\n", i + 1);
+@@ -1057,7 +1060,11 @@
+ test_hash("tgr192", tgr192_tv_template, TGR192_TEST_VECTORS);
+ test_hash("tgr160", tgr160_tv_template, TGR160_TEST_VECTORS);
+ test_hash("tgr128", tgr128_tv_template, TGR128_TEST_VECTORS);
+- test_deflate();
++ test_comp("deflate", deflate_comp_tv_template,
++ deflate_decomp_tv_template, DEFLATE_COMP_TEST_VECTORS,
++ DEFLATE_DECOMP_TEST_VECTORS);
++ test_comp("lzo", lzo_comp_tv_template, lzo_decomp_tv_template,
++ LZO_COMP_TEST_VECTORS, LZO_DECOMP_TEST_VECTORS);
+ test_hash("crc32c", crc32c_tv_template, CRC32C_TEST_VECTORS);
+ test_hash("hmac(md5)", hmac_md5_tv_template,
+ HMAC_MD5_TEST_VECTORS);
+@@ -1167,7 +1174,9 @@
+ break;
+
+ case 13:
+- test_deflate();
++ test_comp("deflate", deflate_comp_tv_template,
++ deflate_decomp_tv_template, DEFLATE_COMP_TEST_VECTORS,
++ DEFLATE_DECOMP_TEST_VECTORS);
+ break;
+
+ case 14:
+@@ -1292,6 +1301,11 @@
+ CAMELLIA_CBC_DEC_TEST_VECTORS);
+ break;
+
++ case 33:
++ test_comp("lzo", lzo_comp_tv_template, lzo_decomp_tv_template,
++ LZO_COMP_TEST_VECTORS, LZO_DECOMP_TEST_VECTORS);
++ break;
++
+ case 100:
+ test_hash("hmac(md5)", hmac_md5_tv_template,
+ HMAC_MD5_TEST_VECTORS);
+diff -Nurd linux-2.6.24/crypto/tcrypt.h ubifs-v2.6.24/crypto/tcrypt.h
+--- linux-2.6.24/crypto/tcrypt.h 2008-01-25 00:58:37.000000000 +0200
++++ ubifs-v2.6.24/crypto/tcrypt.h 2009-04-07 17:14:47.000000000 +0200
+@@ -4408,6 +4408,88 @@
+ };
+
+ /*
++ * LZO test vectors (null-terminated strings).
++ */
++#define LZO_COMP_TEST_VECTORS 2
++#define LZO_DECOMP_TEST_VECTORS 2
++
++static struct comp_testvec lzo_comp_tv_template[] = {
++ {
++ .inlen = 70,
++ .outlen = 46,
++ .input = "Join us now and share the software "
++ "Join us now and share the software ",
++ .output = { 0x00, 0x0d, 0x4a, 0x6f, 0x69, 0x6e, 0x20, 0x75,
++ 0x73, 0x20, 0x6e, 0x6f, 0x77, 0x20, 0x61, 0x6e,
++ 0x64, 0x20, 0x73, 0x68, 0x61, 0x72, 0x65, 0x20,
++ 0x74, 0x68, 0x65, 0x20, 0x73, 0x6f, 0x66, 0x74,
++ 0x77, 0x70, 0x01, 0x01, 0x4a, 0x6f, 0x69, 0x6e,
++ 0x3d, 0x88, 0x00, 0x11, 0x00, 0x00 },
++ }, {
++ .inlen = 159,
++ .outlen = 133,
++ .input = "This document describes a compression method based on the LZO "
++ "compression algorithm. This document defines the application of "
++ "the LZO algorithm used in UBIFS.",
++ .output = { 0x00, 0x2b, 0x54, 0x68, 0x69, 0x73, 0x20, 0x64,
++ 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x20,
++ 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65,
++ 0x73, 0x20, 0x61, 0x20, 0x63, 0x6f, 0x6d, 0x70,
++ 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x20,
++ 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x20, 0x62,
++ 0x61, 0x73, 0x65, 0x64, 0x20, 0x6f, 0x6e, 0x20,
++ 0x74, 0x68, 0x65, 0x20, 0x4c, 0x5a, 0x4f, 0x2b,
++ 0x8c, 0x00, 0x0d, 0x61, 0x6c, 0x67, 0x6f, 0x72,
++ 0x69, 0x74, 0x68, 0x6d, 0x2e, 0x20, 0x20, 0x54,
++ 0x68, 0x69, 0x73, 0x2a, 0x54, 0x01, 0x02, 0x66,
++ 0x69, 0x6e, 0x65, 0x73, 0x94, 0x06, 0x05, 0x61,
++ 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x76,
++ 0x0a, 0x6f, 0x66, 0x88, 0x02, 0x60, 0x09, 0x27,
++ 0xf0, 0x00, 0x0c, 0x20, 0x75, 0x73, 0x65, 0x64,
++ 0x20, 0x69, 0x6e, 0x20, 0x55, 0x42, 0x49, 0x46,
++ 0x53, 0x2e, 0x11, 0x00, 0x00 },
++ },
++};
++
++static struct comp_testvec lzo_decomp_tv_template[] = {
++ {
++ .inlen = 133,
++ .outlen = 159,
++ .input = { 0x00, 0x2b, 0x54, 0x68, 0x69, 0x73, 0x20, 0x64,
++ 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x20,
++ 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65,
++ 0x73, 0x20, 0x61, 0x20, 0x63, 0x6f, 0x6d, 0x70,
++ 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x20,
++ 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x20, 0x62,
++ 0x61, 0x73, 0x65, 0x64, 0x20, 0x6f, 0x6e, 0x20,
++ 0x74, 0x68, 0x65, 0x20, 0x4c, 0x5a, 0x4f, 0x2b,
++ 0x8c, 0x00, 0x0d, 0x61, 0x6c, 0x67, 0x6f, 0x72,
++ 0x69, 0x74, 0x68, 0x6d, 0x2e, 0x20, 0x20, 0x54,
++ 0x68, 0x69, 0x73, 0x2a, 0x54, 0x01, 0x02, 0x66,
++ 0x69, 0x6e, 0x65, 0x73, 0x94, 0x06, 0x05, 0x61,
++ 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x76,
++ 0x0a, 0x6f, 0x66, 0x88, 0x02, 0x60, 0x09, 0x27,
++ 0xf0, 0x00, 0x0c, 0x20, 0x75, 0x73, 0x65, 0x64,
++ 0x20, 0x69, 0x6e, 0x20, 0x55, 0x42, 0x49, 0x46,
++ 0x53, 0x2e, 0x11, 0x00, 0x00 },
++ .output = "This document describes a compression method based on the LZO "
++ "compression algorithm. This document defines the application of "
++ "the LZO algorithm used in UBIFS.",
++ }, {
++ .inlen = 46,
++ .outlen = 70,
++ .input = { 0x00, 0x0d, 0x4a, 0x6f, 0x69, 0x6e, 0x20, 0x75,
++ 0x73, 0x20, 0x6e, 0x6f, 0x77, 0x20, 0x61, 0x6e,
++ 0x64, 0x20, 0x73, 0x68, 0x61, 0x72, 0x65, 0x20,
++ 0x74, 0x68, 0x65, 0x20, 0x73, 0x6f, 0x66, 0x74,
++ 0x77, 0x70, 0x01, 0x01, 0x4a, 0x6f, 0x69, 0x6e,
++ 0x3d, 0x88, 0x00, 0x11, 0x00, 0x00 },
++ .output = "Join us now and share the software "
++ "Join us now and share the software ",
++ },
++};
++
++/*
+ * Michael MIC test vectors from IEEE 802.11i
+ */
+ #define MICHAEL_MIC_TEST_VECTORS 6
+diff -Nurd linux-2.6.24/drivers/mtd/nand/nandsim.c ubifs-v2.6.24/drivers/mtd/nand/nandsim.c
+--- linux-2.6.24/drivers/mtd/nand/nandsim.c 2008-01-25 00:58:37.000000000 +0200
++++ ubifs-v2.6.24/drivers/mtd/nand/nandsim.c 2009-04-07 17:14:47.000000000 +0200
+@@ -39,6 +39,7 @@
+ #include <linux/delay.h>
+ #include <linux/list.h>
+ #include <linux/random.h>
++#include <asm/div64.h>
+
+ /* Default simulator parameters values */
+ #if !defined(CONFIG_NANDSIM_FIRST_ID_BYTE) || \
+@@ -298,11 +299,11 @@
+
+ /* NAND flash "geometry" */
+ struct nandsin_geometry {
+- uint32_t totsz; /* total flash size, bytes */
++ uint64_t totsz; /* total flash size, bytes */
+ uint32_t secsz; /* flash sector (erase block) size, bytes */
+ uint pgsz; /* NAND flash page size, bytes */
+ uint oobsz; /* page OOB area size, bytes */
+- uint32_t totszoob; /* total flash size including OOB, bytes */
++ uint64_t totszoob; /* total flash size including OOB, bytes */
+ uint pgszoob; /* page size including OOB , bytes*/
+ uint secszoob; /* sector size including OOB, bytes */
+ uint pgnum; /* total number of pages */
+@@ -459,6 +460,12 @@
+ return kstrdup(buf, GFP_KERNEL);
+ }
+
++static u_int64_t divide(u_int64_t n, u_int32_t d)
++{
++ do_div(n, d);
++ return n;
++}
++
+ /*
+ * Initialize the nandsim structure.
+ *
+@@ -469,8 +476,8 @@
+ struct nand_chip *chip = (struct nand_chip *)mtd->priv;
+ struct nandsim *ns = (struct nandsim *)(chip->priv);
+ int i, ret = 0;
+- u_int32_t remains;
+- u_int32_t next_offset;
++ u_int64_t remains;
++ u_int64_t next_offset;
+
+ if (NS_IS_INITIALIZED(ns)) {
+ NS_ERR("init_nandsim: nandsim is already initialized\n");
+@@ -487,8 +494,8 @@
+ ns->geom.oobsz = mtd->oobsize;
+ ns->geom.secsz = mtd->erasesize;
+ ns->geom.pgszoob = ns->geom.pgsz + ns->geom.oobsz;
+- ns->geom.pgnum = ns->geom.totsz / ns->geom.pgsz;
+- ns->geom.totszoob = ns->geom.totsz + ns->geom.pgnum * ns->geom.oobsz;
++ ns->geom.pgnum = divide(ns->geom.totsz, ns->geom.pgsz);
++ ns->geom.totszoob = ns->geom.totsz + (uint64_t)ns->geom.pgnum * ns->geom.oobsz;
+ ns->geom.secshift = ffs(ns->geom.secsz) - 1;
+ ns->geom.pgshift = chip->page_shift;
+ ns->geom.oobshift = ffs(ns->geom.oobsz) - 1;
+@@ -511,7 +518,7 @@
+ }
+
+ if (ns->options & OPT_SMALLPAGE) {
+- if (ns->geom.totsz < (32 << 20)) {
++ if (ns->geom.totsz <= (32 << 20)) {
+ ns->geom.pgaddrbytes = 3;
+ ns->geom.secaddrbytes = 2;
+ } else {
+@@ -537,15 +544,16 @@
+ remains = ns->geom.totsz;
+ next_offset = 0;
+ for (i = 0; i < parts_num; ++i) {
+- unsigned long part = parts[i];
+- if (!part || part > remains / ns->geom.secsz) {
++ u_int64_t part_sz = (u_int64_t)parts[i] * ns->geom.secsz;
++
++ if (!part_sz || part_sz > remains) {
+ NS_ERR("bad partition size.\n");
+ ret = -EINVAL;
+ goto error;
+ }
+ ns->partitions[i].name = get_partition_name(i);
+ ns->partitions[i].offset = next_offset;
+- ns->partitions[i].size = part * ns->geom.secsz;
++ ns->partitions[i].size = part_sz;
+ next_offset += ns->partitions[i].size;
+ remains -= ns->partitions[i].size;
+ }
+@@ -573,7 +581,8 @@
+ if (ns->busw == 16)
+ NS_WARN("16-bit flashes support wasn't tested\n");
+
+- printk("flash size: %u MiB\n", ns->geom.totsz >> 20);
++ printk("flash size: %llu MiB\n",
++ (unsigned long long)ns->geom.totsz >> 20);
+ printk("page size: %u bytes\n", ns->geom.pgsz);
+ printk("OOB area size: %u bytes\n", ns->geom.oobsz);
+ printk("sector size: %u KiB\n", ns->geom.secsz >> 10);
+@@ -582,8 +591,9 @@
+ printk("bus width: %u\n", ns->busw);
+ printk("bits in sector size: %u\n", ns->geom.secshift);
+ printk("bits in page size: %u\n", ns->geom.pgshift);
+- printk("bits in OOB size: %u\n", ns->geom.oobshift);
+- printk("flash size with OOB: %u KiB\n", ns->geom.totszoob >> 10);
++ printk("bits in OOB size: %u\n", ns->geom.oobshift);
++ printk("flash size with OOB: %llu KiB\n",
++ (unsigned long long)ns->geom.totszoob >> 10);
+ printk("page address bytes: %u\n", ns->geom.pgaddrbytes);
+ printk("sector address bytes: %u\n", ns->geom.secaddrbytes);
+ printk("options: %#x\n", ns->options);
+@@ -825,7 +835,7 @@
+
+ if (!rptwear)
+ return 0;
+- wear_eb_count = mtd->size / mtd->erasesize;
++ wear_eb_count = divide(mtd->size, mtd->erasesize);
+ mem = wear_eb_count * sizeof(unsigned long);
+ if (mem / sizeof(unsigned long) != wear_eb_count) {
+ NS_ERR("Too many erase blocks for wear reporting\n");
+@@ -2013,7 +2023,7 @@
+ }
+
+ if (overridesize) {
+- u_int32_t new_size = nsmtd->erasesize << overridesize;
++ u_int64_t new_size = (u_int64_t)nsmtd->erasesize << overridesize;
+ if (new_size >> overridesize != nsmtd->erasesize) {
+ NS_ERR("overridesize is too big\n");
+ goto err_exit;
+@@ -2021,7 +2031,8 @@
+ /* N.B. This relies on nand_scan not doing anything with the size before we change it */
+ nsmtd->size = new_size;
+ chip->chipsize = new_size;
+- chip->chip_shift = ffs(new_size) - 1;
++ chip->chip_shift = ffs(nsmtd->erasesize) + overridesize - 1;
++ chip->pagemask = (chip->chipsize >> chip->page_shift) - 1;
+ }
+
+ if ((retval = setup_wear_reporting(nsmtd)) != 0)
+diff -Nurd linux-2.6.24/drivers/mtd/ubi/Kconfig ubifs-v2.6.24/drivers/mtd/ubi/Kconfig
+--- linux-2.6.24/drivers/mtd/ubi/Kconfig 2008-01-25 00:58:37.000000000 +0200
++++ ubifs-v2.6.24/drivers/mtd/ubi/Kconfig 2009-04-07 17:14:47.000000000 +0200
+@@ -24,8 +24,13 @@
+ erase counter value and the lowest erase counter value of eraseblocks
+ of UBI devices. When this threshold is exceeded, UBI starts performing
+ wear leveling by means of moving data from eraseblock with low erase
+- counter to eraseblocks with high erase counter. Leave the default
+- value if unsure.
++ counter to eraseblocks with high erase counter.
++
++ The default value should be OK for SLC NAND flashes, NOR flashes and
++ other flashes which have eraseblock life-cycle 100000 or more.
++ However, in case of MLC NAND flashes which typically have eraseblock
++ life-cycle less then 10000, the threshold should be lessened (e.g.,
++ to 128 or 256, although it does not have to be power of 2).
+
+ config MTD_UBI_BEB_RESERVE
+ int "Percentage of reserved eraseblocks for bad eraseblocks handling"
+diff -Nurd linux-2.6.24/drivers/mtd/ubi/Kconfig.debug ubifs-v2.6.24/drivers/mtd/ubi/Kconfig.debug
+--- linux-2.6.24/drivers/mtd/ubi/Kconfig.debug 2008-01-25 00:58:37.000000000 +0200
++++ ubifs-v2.6.24/drivers/mtd/ubi/Kconfig.debug 2009-04-07 17:14:47.000000000 +0200
+@@ -33,16 +33,6 @@
+ This option switches the background thread off by default. The thread
+ may be also be enabled/disabled via UBI sysfs.
+
+-config MTD_UBI_DEBUG_USERSPACE_IO
+- bool "Direct user-space write/erase support"
+- default n
+- depends on MTD_UBI_DEBUG
+- help
+- By default, users cannot directly write and erase individual
+- eraseblocks of dynamic volumes, and have to use update operation
+- instead. This option enables this capability - it is very useful for
+- debugging and testing.
+-
+ config MTD_UBI_DEBUG_EMULATE_BITFLIPS
+ bool "Emulate flash bit-flips"
+ depends on MTD_UBI_DEBUG
+diff -Nurd linux-2.6.24/drivers/mtd/ubi/build.c ubifs-v2.6.24/drivers/mtd/ubi/build.c
+--- linux-2.6.24/drivers/mtd/ubi/build.c 2008-01-25 00:58:37.000000000 +0200
++++ ubifs-v2.6.24/drivers/mtd/ubi/build.c 2009-04-07 17:14:47.000000000 +0200
+@@ -21,11 +21,16 @@
+ */
+
+ /*
+- * This file includes UBI initialization and building of UBI devices. At the
+- * moment UBI devices may only be added while UBI is initialized, but dynamic
+- * device add/remove functionality is planned. Also, at the moment we only
+- * attach UBI devices by scanning, which will become a bottleneck when flashes
+- * reach certain large size. Then one may improve UBI and add other methods.
++ * This file includes UBI initialization and building of UBI devices.
++ *
++ * When UBI is initialized, it attaches all the MTD devices specified as the
++ * module load parameters or the kernel boot parameters. If MTD devices were
++ * specified, UBI does not attach any MTD device, but it is possible to do
++ * later using the "UBI control device".
++ *
++ * At the moment we only attach UBI devices by scanning, which will become a
++ * bottleneck when flashes reach certain large size. Then one may improve UBI
++ * and add other methods, although it does not seem to be easy to do.
+ */
+
+ #include <linux/err.h>
+@@ -33,7 +38,9 @@
+ #include <linux/moduleparam.h>
+ #include <linux/stringify.h>
+ #include <linux/stat.h>
++#include <linux/miscdevice.h>
+ #include <linux/log2.h>
++#include <linux/kthread.h>
+ #include "ubi.h"
+
+ /* Maximum length of the 'mtd=' parameter */
+@@ -43,29 +50,39 @@
+ * struct mtd_dev_param - MTD device parameter description data structure.
+ * @name: MTD device name or number string
+ * @vid_hdr_offs: VID header offset
+- * @data_offs: data offset
+ */
+-struct mtd_dev_param
+-{
++struct mtd_dev_param {
+ char name[MTD_PARAM_LEN_MAX];
+ int vid_hdr_offs;
+- int data_offs;
+ };
+
+ /* Numbers of elements set in the @mtd_dev_param array */
+-static int mtd_devs = 0;
++static int mtd_devs;
+
+ /* MTD devices specification parameters */
+ static struct mtd_dev_param mtd_dev_param[UBI_MAX_DEVICES];
+
+-/* Number of UBI devices in system */
+-int ubi_devices_cnt;
++/* Root UBI "class" object (corresponds to '/<sysfs>/class/ubi/') */
++struct class *ubi_class;
++
++/* Slab cache for wear-leveling entries */
++struct kmem_cache *ubi_wl_entry_slab;
++
++/* UBI control character device */
++static struct miscdevice ubi_ctrl_cdev = {
++ .minor = MISC_DYNAMIC_MINOR,
++ .name = "ubi_ctrl",
++ .fops = &ubi_ctrl_cdev_operations,
++};
+
+ /* All UBI devices in system */
+-struct ubi_device *ubi_devices[UBI_MAX_DEVICES];
++static struct ubi_device *ubi_devices[UBI_MAX_DEVICES];
+
+-/* Root UBI "class" object (corresponds to '/<sysfs>/class/ubi/') */
+-struct class *ubi_class;
++/* Serializes UBI devices creations and removals */
++DEFINE_MUTEX(ubi_devices_mutex);
++
++/* Protects @ubi_devices and @ubi->ref_count */
++static DEFINE_SPINLOCK(ubi_devices_lock);
+
+ /* "Show" method for files in '/<sysfs>/class/ubi/' */
+ static ssize_t ubi_version_show(struct class *class, char *buf)
+@@ -101,42 +118,157 @@
+ __ATTR(min_io_size, S_IRUGO, dev_attribute_show, NULL);
+ static struct device_attribute dev_bgt_enabled =
+ __ATTR(bgt_enabled, S_IRUGO, dev_attribute_show, NULL);
++static struct device_attribute dev_mtd_num =
++ __ATTR(mtd_num, S_IRUGO, dev_attribute_show, NULL);
++
++/**
++ * ubi_get_device - get UBI device.
++ * @ubi_num: UBI device number
++ *
++ * This function returns UBI device description object for UBI device number
++ * @ubi_num, or %NULL if the device does not exist. This function increases the
++ * device reference count to prevent removal of the device. In other words, the
++ * device cannot be removed if its reference count is not zero.
++ */
++struct ubi_device *ubi_get_device(int ubi_num)
++{
++ struct ubi_device *ubi;
++
++ spin_lock(&ubi_devices_lock);
++ ubi = ubi_devices[ubi_num];
++ if (ubi) {
++ ubi_assert(ubi->ref_count >= 0);
++ ubi->ref_count += 1;
++ get_device(&ubi->dev);
++ }
++ spin_unlock(&ubi_devices_lock);
++
++ return ubi;
++}
++
++/**
++ * ubi_put_device - drop an UBI device reference.
++ * @ubi: UBI device description object
++ */
++void ubi_put_device(struct ubi_device *ubi)
++{
++ spin_lock(&ubi_devices_lock);
++ ubi->ref_count -= 1;
++ put_device(&ubi->dev);
++ spin_unlock(&ubi_devices_lock);
++}
++
++/**
++ * ubi_get_by_major - get UBI device by character device major number.
++ * @major: major number
++ *
++ * This function is similar to 'ubi_get_device()', but it searches the device
++ * by its major number.
++ */
++struct ubi_device *ubi_get_by_major(int major)
++{
++ int i;
++ struct ubi_device *ubi;
++
++ spin_lock(&ubi_devices_lock);
++ for (i = 0; i < UBI_MAX_DEVICES; i++) {
++ ubi = ubi_devices[i];
++ if (ubi && MAJOR(ubi->cdev.dev) == major) {
++ ubi_assert(ubi->ref_count >= 0);
++ ubi->ref_count += 1;
++ get_device(&ubi->dev);
++ spin_unlock(&ubi_devices_lock);
++ return ubi;
++ }
++ }
++ spin_unlock(&ubi_devices_lock);
++
++ return NULL;
++}
++
++/**
++ * ubi_major2num - get UBI device number by character device major number.
++ * @major: major number
++ *
++ * This function searches UBI device number object by its major number. If UBI
++ * device was not found, this function returns -ENODEV, otherwise the UBI device
++ * number is returned.
++ */
++int ubi_major2num(int major)
++{
++ int i, ubi_num = -ENODEV;
++
++ spin_lock(&ubi_devices_lock);
++ for (i = 0; i < UBI_MAX_DEVICES; i++) {
++ struct ubi_device *ubi = ubi_devices[i];
++
++ if (ubi && MAJOR(ubi->cdev.dev) == major) {
++ ubi_num = ubi->ubi_num;
++ break;
++ }
++ }
++ spin_unlock(&ubi_devices_lock);
++
++ return ubi_num;
++}
+
+ /* "Show" method for files in '/<sysfs>/class/ubi/ubiX/' */
+ static ssize_t dev_attribute_show(struct device *dev,
+ struct device_attribute *attr, char *buf)
+ {
+- const struct ubi_device *ubi;
++ ssize_t ret;
++ struct ubi_device *ubi;
+
++ /*
++ * The below code looks weird, but it actually makes sense. We get the
++ * UBI device reference from the contained 'struct ubi_device'. But it
++ * is unclear if the device was removed or not yet. Indeed, if the
++ * device was removed before we increased its reference count,
++ * 'ubi_get_device()' will return -ENODEV and we fail.
++ *
++ * Remember, 'struct ubi_device' is freed in the release function, so
++ * we still can use 'ubi->ubi_num'.
++ */
+ ubi = container_of(dev, struct ubi_device, dev);
++ ubi = ubi_get_device(ubi->ubi_num);
++ if (!ubi)
++ return -ENODEV;
++
+ if (attr == &dev_eraseblock_size)
+- return sprintf(buf, "%d\n", ubi->leb_size);
++ ret = sprintf(buf, "%d\n", ubi->leb_size);
+ else if (attr == &dev_avail_eraseblocks)
+- return sprintf(buf, "%d\n", ubi->avail_pebs);
++ ret = sprintf(buf, "%d\n", ubi->avail_pebs);
+ else if (attr == &dev_total_eraseblocks)
+- return sprintf(buf, "%d\n", ubi->good_peb_count);
++ ret = sprintf(buf, "%d\n", ubi->good_peb_count);
+ else if (attr == &dev_volumes_count)
+- return sprintf(buf, "%d\n", ubi->vol_count);
++ ret = sprintf(buf, "%d\n", ubi->vol_count - UBI_INT_VOL_COUNT);
+ else if (attr == &dev_max_ec)
+- return sprintf(buf, "%d\n", ubi->max_ec);
++ ret = sprintf(buf, "%d\n", ubi->max_ec);
+ else if (attr == &dev_reserved_for_bad)
+- return sprintf(buf, "%d\n", ubi->beb_rsvd_pebs);
++ ret = sprintf(buf, "%d\n", ubi->beb_rsvd_pebs);
+ else if (attr == &dev_bad_peb_count)
+- return sprintf(buf, "%d\n", ubi->bad_peb_count);
++ ret = sprintf(buf, "%d\n", ubi->bad_peb_count);
+ else if (attr == &dev_max_vol_count)
+- return sprintf(buf, "%d\n", ubi->vtbl_slots);
++ ret = sprintf(buf, "%d\n", ubi->vtbl_slots);
+ else if (attr == &dev_min_io_size)
+- return sprintf(buf, "%d\n", ubi->min_io_size);
++ ret = sprintf(buf, "%d\n", ubi->min_io_size);
+ else if (attr == &dev_bgt_enabled)
+- return sprintf(buf, "%d\n", ubi->thread_enabled);
++ ret = sprintf(buf, "%d\n", ubi->thread_enabled);
++ else if (attr == &dev_mtd_num)
++ ret = sprintf(buf, "%d\n", ubi->mtd->index);
+ else
+- BUG();
++ ret = -EINVAL;
+
+- return 0;
++ ubi_put_device(ubi);
++ return ret;
+ }
+
+-/* Fake "release" method for UBI devices */
+-static void dev_release(struct device *dev) { }
++static void dev_release(struct device *dev)
++{
++ struct ubi_device *ubi = container_of(dev, struct ubi_device, dev);
++
++ kfree(ubi);
++}
+
+ /**
+ * ubi_sysfs_init - initialize sysfs for an UBI device.
+@@ -150,68 +282,44 @@
+ int err;
+
+ ubi->dev.release = dev_release;
+- ubi->dev.devt = MKDEV(ubi->major, 0);
++ ubi->dev.devt = ubi->cdev.dev;
+ ubi->dev.class = ubi_class;
+ sprintf(&ubi->dev.bus_id[0], UBI_NAME_STR"%d", ubi->ubi_num);
+ err = device_register(&ubi->dev);
+ if (err)
+- goto out;
++ return err;
+
+ err = device_create_file(&ubi->dev, &dev_eraseblock_size);
+ if (err)
+- goto out_unregister;
++ return err;
+ err = device_create_file(&ubi->dev, &dev_avail_eraseblocks);
+ if (err)
+- goto out_eraseblock_size;
++ return err;
+ err = device_create_file(&ubi->dev, &dev_total_eraseblocks);
+ if (err)
+- goto out_avail_eraseblocks;
++ return err;
+ err = device_create_file(&ubi->dev, &dev_volumes_count);
+ if (err)
+- goto out_total_eraseblocks;
++ return err;
+ err = device_create_file(&ubi->dev, &dev_max_ec);
+ if (err)
+- goto out_volumes_count;
++ return err;
+ err = device_create_file(&ubi->dev, &dev_reserved_for_bad);
+ if (err)
+- goto out_volumes_max_ec;
++ return err;
+ err = device_create_file(&ubi->dev, &dev_bad_peb_count);
+ if (err)
+- goto out_reserved_for_bad;
++ return err;
+ err = device_create_file(&ubi->dev, &dev_max_vol_count);
+ if (err)
+- goto out_bad_peb_count;
++ return err;
+ err = device_create_file(&ubi->dev, &dev_min_io_size);
+ if (err)
+- goto out_max_vol_count;
++ return err;
+ err = device_create_file(&ubi->dev, &dev_bgt_enabled);
+ if (err)
+- goto out_min_io_size;
+-
+- return 0;
+-
+-out_min_io_size:
+- device_remove_file(&ubi->dev, &dev_min_io_size);
+-out_max_vol_count:
+- device_remove_file(&ubi->dev, &dev_max_vol_count);
+-out_bad_peb_count:
+- device_remove_file(&ubi->dev, &dev_bad_peb_count);
+-out_reserved_for_bad:
+- device_remove_file(&ubi->dev, &dev_reserved_for_bad);
+-out_volumes_max_ec:
+- device_remove_file(&ubi->dev, &dev_max_ec);
+-out_volumes_count:
+- device_remove_file(&ubi->dev, &dev_volumes_count);
+-out_total_eraseblocks:
+- device_remove_file(&ubi->dev, &dev_total_eraseblocks);
+-out_avail_eraseblocks:
+- device_remove_file(&ubi->dev, &dev_avail_eraseblocks);
+-out_eraseblock_size:
+- device_remove_file(&ubi->dev, &dev_eraseblock_size);
+-out_unregister:
+- device_unregister(&ubi->dev);
+-out:
+- ubi_err("failed to initialize sysfs for %s", ubi->ubi_name);
++ return err;
++ err = device_create_file(&ubi->dev, &dev_mtd_num);
+ return err;
+ }
+
+@@ -221,6 +329,7 @@
+ */
+ static void ubi_sysfs_close(struct ubi_device *ubi)
+ {
++ device_remove_file(&ubi->dev, &dev_mtd_num);
+ device_remove_file(&ubi->dev, &dev_bgt_enabled);
+ device_remove_file(&ubi->dev, &dev_min_io_size);
+ device_remove_file(&ubi->dev, &dev_max_vol_count);
+@@ -244,7 +353,26 @@
+
+ for (i = 0; i < ubi->vtbl_slots; i++)
+ if (ubi->volumes[i])
+- ubi_free_volume(ubi, i);
++ ubi_free_volume(ubi, ubi->volumes[i]);
++}
++
++/**
++ * free_user_volumes - free all user volumes.
++ * @ubi: UBI device description object
++ *
++ * Normally the volumes are freed at the release function of the volume device
++ * objects. However, on error paths the volumes have to be freed before the
++ * device objects have been initialized.
++ */
++static void free_user_volumes(struct ubi_device *ubi)
++{
++ int i;
++
++ for (i = 0; i < ubi->vtbl_slots; i++)
++ if (ubi->volumes[i]) {
++ kfree(ubi->volumes[i]->eba_tbl);
++ kfree(ubi->volumes[i]);
++ }
+ }
+
+ /**
+@@ -252,16 +380,13 @@
+ * @ubi: UBI device description object
+ *
+ * This function returns zero in case of success and a negative error code in
+- * case of failure.
++ * case of failure. Note, this function destroys all volumes if it failes.
+ */
+ static int uif_init(struct ubi_device *ubi)
+ {
+ int i, err;
+ dev_t dev;
+
+- mutex_init(&ubi->vtbl_mutex);
+- spin_lock_init(&ubi->volumes_lock);
+-
+ sprintf(ubi->ubi_name, UBI_NAME_STR "%d", ubi->ubi_num);
+
+ /*
+@@ -278,52 +403,72 @@
+ return err;
+ }
+
++ ubi_assert(MINOR(dev) == 0);
+ cdev_init(&ubi->cdev, &ubi_cdev_operations);
+- ubi->major = MAJOR(dev);
+- dbg_msg("%s major is %u", ubi->ubi_name, ubi->major);
++ dbg_gen("%s major is %u", ubi->ubi_name, MAJOR(dev));
+ ubi->cdev.owner = THIS_MODULE;
+
+- dev = MKDEV(ubi->major, 0);
+ err = cdev_add(&ubi->cdev, dev, 1);
+ if (err) {
+- ubi_err("cannot add character device %s", ubi->ubi_name);
++ ubi_err("cannot add character device");
+ goto out_unreg;
+ }
+
+ err = ubi_sysfs_init(ubi);
+ if (err)
+- goto out_cdev;
++ goto out_sysfs;
+
+ for (i = 0; i < ubi->vtbl_slots; i++)
+ if (ubi->volumes[i]) {
+- err = ubi_add_volume(ubi, i);
+- if (err)
++ err = ubi_add_volume(ubi, ubi->volumes[i]);
++ if (err) {
++ ubi_err("cannot add volume %d", i);
+ goto out_volumes;
++ }
+ }
+
+ return 0;
+
+ out_volumes:
+ kill_volumes(ubi);
++out_sysfs:
+ ubi_sysfs_close(ubi);
+-out_cdev:
+ cdev_del(&ubi->cdev);
+ out_unreg:
+- unregister_chrdev_region(MKDEV(ubi->major, 0),
+- ubi->vtbl_slots + 1);
++ unregister_chrdev_region(ubi->cdev.dev, ubi->vtbl_slots + 1);
++ ubi_err("cannot initialize UBI %s, error %d", ubi->ubi_name, err);
+ return err;
+ }
+
+ /**
+ * uif_close - close user interfaces for an UBI device.
+ * @ubi: UBI device description object
++ *
++ * Note, since this function un-registers UBI volume device objects (@vol->dev),
++ * the memory allocated voe the volumes is freed as well (in the release
++ * function).
+ */
+ static void uif_close(struct ubi_device *ubi)
+ {
+ kill_volumes(ubi);
+ ubi_sysfs_close(ubi);
+ cdev_del(&ubi->cdev);
+- unregister_chrdev_region(MKDEV(ubi->major, 0), ubi->vtbl_slots + 1);
++ unregister_chrdev_region(ubi->cdev.dev, ubi->vtbl_slots + 1);
++}
++
++/**
++ * free_internal_volumes - free internal volumes.
++ * @ubi: UBI device description object
++ */
++static void free_internal_volumes(struct ubi_device *ubi)
++{
++ int i;
++
++ for (i = ubi->vtbl_slots;
++ i < ubi->vtbl_slots + UBI_INT_VOL_COUNT; i++) {
++ kfree(ubi->volumes[i]->eba_tbl);
++ kfree(ubi->volumes[i]);
++ }
+ }
+
+ /**
+@@ -370,6 +515,7 @@
+ out_wl:
+ ubi_wl_close(ubi);
+ out_vtbl:
++ free_internal_volumes(ubi);
+ vfree(ubi->vtbl);
+ out_si:
+ ubi_scan_destroy_si(si);
+@@ -377,16 +523,16 @@
+ }
+
+ /**
+- * io_init - initialize I/O unit for a given UBI device.
++ * io_init - initialize I/O sub-system for a given UBI device.
+ * @ubi: UBI device description object
+ *
+ * If @ubi->vid_hdr_offset or @ubi->leb_start is zero, default offsets are
+ * assumed:
+ * o EC header is always at offset zero - this cannot be changed;
+ * o VID header starts just after the EC header at the closest address
+- * aligned to @io->@hdrs_min_io_size;
++ * aligned to @io->hdrs_min_io_size;
+ * o data starts just after the VID header at the closest address aligned to
+- * @io->@min_io_size
++ * @io->min_io_size
+ *
+ * This function returns zero in case of success and a negative error code in
+ * case of failure.
+@@ -407,6 +553,9 @@
+ return -EINVAL;
+ }
+
++ if (ubi->vid_hdr_offset < 0)
++ return -EINVAL;
++
+ /*
+ * Note, in this implementation we support MTD devices with 0x7FFFFFFF
+ * physical eraseblocks maximum.
+@@ -422,9 +571,14 @@
+ ubi->min_io_size = ubi->mtd->writesize;
+ ubi->hdrs_min_io_size = ubi->mtd->writesize >> ubi->mtd->subpage_sft;
+
+- /* Make sure minimal I/O unit is power of 2 */
++ /*
++ * Make sure minimal I/O unit is power of 2. Note, there is no
++ * fundamental reason for this assumption. It is just an optimization
++ * which allows us to avoid costly division operations.
++ */
+ if (!is_power_of_2(ubi->min_io_size)) {
+- ubi_err("bad min. I/O unit");
++ ubi_err("min. I/O unit (%d) is not power of 2",
++ ubi->min_io_size);
+ return -EINVAL;
+ }
+
+@@ -453,10 +607,8 @@
+ }
+
+ /* Similar for the data offset */
+- if (ubi->leb_start == 0) {
+- ubi->leb_start = ubi->vid_hdr_offset + ubi->vid_hdr_alsize;
+- ubi->leb_start = ALIGN(ubi->leb_start, ubi->min_io_size);
+- }
++ ubi->leb_start = ubi->vid_hdr_offset + UBI_EC_HDR_SIZE;
++ ubi->leb_start = ALIGN(ubi->leb_start, ubi->min_io_size);
+
+ dbg_msg("vid_hdr_offset %d", ubi->vid_hdr_offset);
+ dbg_msg("vid_hdr_aloffset %d", ubi->vid_hdr_aloffset);
+@@ -474,7 +626,7 @@
+ if (ubi->vid_hdr_offset < UBI_EC_HDR_SIZE ||
+ ubi->leb_start < ubi->vid_hdr_offset + UBI_VID_HDR_SIZE ||
+ ubi->leb_start > ubi->peb_size - UBI_VID_HDR_SIZE ||
+- ubi->leb_start % ubi->min_io_size) {
++ ubi->leb_start & (ubi->min_io_size - 1)) {
+ ubi_err("bad VID header (%d) or data offsets (%d)",
+ ubi->vid_hdr_offset, ubi->leb_start);
+ return -EINVAL;
+@@ -499,8 +651,16 @@
+ ubi->ro_mode = 1;
+ }
+
+- dbg_msg("leb_size %d", ubi->leb_size);
+- dbg_msg("ro_mode %d", ubi->ro_mode);
++ ubi_msg("physical eraseblock size: %d bytes (%d KiB)",
++ ubi->peb_size, ubi->peb_size >> 10);
++ ubi_msg("logical eraseblock size: %d bytes", ubi->leb_size);
++ ubi_msg("smallest flash I/O unit: %d", ubi->min_io_size);
++ if (ubi->hdrs_min_io_size != ubi->min_io_size)
++ ubi_msg("sub-page size: %d",
++ ubi->hdrs_min_io_size);
++ ubi_msg("VID header offset: %d (aligned %d)",
++ ubi->vid_hdr_offset, ubi->vid_hdr_aloffset);
++ ubi_msg("data offset: %d", ubi->leb_start);
+
+ /*
+ * Note, ideally, we have to initialize ubi->bad_peb_count here. But
+@@ -514,89 +674,162 @@
+ }
+
+ /**
+- * attach_mtd_dev - attach an MTD device.
+- * @mtd_dev: MTD device name or number string
+- * @vid_hdr_offset: VID header offset
+- * @data_offset: data offset
++ * autoresize - re-size the volume which has the "auto-resize" flag set.
++ * @ubi: UBI device description object
++ * @vol_id: ID of the volume to re-size
+ *
+- * This function attaches an MTD device to UBI. It first treats @mtd_dev as the
+- * MTD device name, and tries to open it by this name. If it is unable to open,
+- * it tries to convert @mtd_dev to an integer and open the MTD device by its
+- * number. Returns zero in case of success and a negative error code in case of
+- * failure.
++ * This function re-sizes the volume marked by the @UBI_VTBL_AUTORESIZE_FLG in
++ * the volume table to the largest possible size. See comments in ubi-header.h
++ * for more description of the flag. Returns zero in case of success and a
++ * negative error code in case of failure.
+ */
+-static int attach_mtd_dev(const char *mtd_dev, int vid_hdr_offset,
+- int data_offset)
++static int autoresize(struct ubi_device *ubi, int vol_id)
+ {
+- struct ubi_device *ubi;
+- struct mtd_info *mtd;
+- int i, err;
++ struct ubi_volume_desc desc;
++ struct ubi_volume *vol = ubi->volumes[vol_id];
++ int err, old_reserved_pebs = vol->reserved_pebs;
+
+- mtd = get_mtd_device_nm(mtd_dev);
+- if (IS_ERR(mtd)) {
+- int mtd_num;
+- char *endp;
++ /*
++ * Clear the auto-resize flag in the volume in-memory copy of the
++ * volume table, and 'ubi_resize_volume()' will propagate this change
++ * to the flash.
++ */
++ ubi->vtbl[vol_id].flags &= ~UBI_VTBL_AUTORESIZE_FLG;
+
+- if (PTR_ERR(mtd) != -ENODEV)
+- return PTR_ERR(mtd);
++ if (ubi->avail_pebs == 0) {
++ struct ubi_vtbl_record vtbl_rec;
+
+ /*
+- * Probably this is not MTD device name but MTD device number -
+- * check this out.
++ * No available PEBs to re-size the volume, clear the flag on
++ * flash and exit.
+ */
+- mtd_num = simple_strtoul(mtd_dev, &endp, 0);
+- if (*endp != '\0' || mtd_dev == endp) {
+- ubi_err("incorrect MTD device: \"%s\"", mtd_dev);
+- return -ENODEV;
++ memcpy(&vtbl_rec, &ubi->vtbl[vol_id],
++ sizeof(struct ubi_vtbl_record));
++ err = ubi_change_vtbl_record(ubi, vol_id, &vtbl_rec);
++ if (err)
++ ubi_err("cannot clean auto-resize flag for volume %d",
++ vol_id);
++ } else {
++ desc.vol = vol;
++ err = ubi_resize_volume(&desc,
++ old_reserved_pebs + ubi->avail_pebs);
++ if (err)
++ ubi_err("cannot auto-resize volume %d", vol_id);
++ }
++
++ if (err)
++ return err;
++
++ ubi_msg("volume %d (\"%s\") re-sized from %d to %d LEBs", vol_id,
++ vol->name, old_reserved_pebs, vol->reserved_pebs);
++ return 0;
++}
++
++/**
++ * ubi_attach_mtd_dev - attach an MTD device.
++ * @mtd: MTD device description object
++ * @ubi_num: number to assign to the new UBI device
++ * @vid_hdr_offset: VID header offset
++ *
++ * This function attaches MTD device @mtd_dev to UBI and assign @ubi_num number
++ * to the newly created UBI device, unless @ubi_num is %UBI_DEV_NUM_AUTO, in
++ * which case this function finds a vacant device number and assigns it
++ * automatically. Returns the new UBI device number in case of success and a
++ * negative error code in case of failure.
++ *
++ * Note, the invocations of this function has to be serialized by the
++ * @ubi_devices_mutex.
++ */
++int ubi_attach_mtd_dev(struct mtd_info *mtd, int ubi_num, int vid_hdr_offset)
++{
++ struct ubi_device *ubi;
++ int i, err, do_free = 1;
++
++ /*
++ * Check if we already have the same MTD device attached.
++ *
++ * Note, this function assumes that UBI devices creations and deletions
++ * are serialized, so it does not take the &ubi_devices_lock.
++ */
++ for (i = 0; i < UBI_MAX_DEVICES; i++) {
++ ubi = ubi_devices[i];
++ if (ubi && mtd->index == ubi->mtd->index) {
++ dbg_err("mtd%d is already attached to ubi%d",
++ mtd->index, i);
++ return -EEXIST;
+ }
++ }
+
+- mtd = get_mtd_device(NULL, mtd_num);
+- if (IS_ERR(mtd))
+- return PTR_ERR(mtd);
++ /*
++ * Make sure this MTD device is not emulated on top of an UBI volume
++ * already. Well, generally this recursion works fine, but there are
++ * different problems like the UBI module takes a reference to itself
++ * by attaching (and thus, opening) the emulated MTD device. This
++ * results in inability to unload the module. And in general it makes
++ * no sense to attach emulated MTD devices, so we prohibit this.
++ */
++ if (mtd->type == MTD_UBIVOLUME) {
++ ubi_err("refuse attaching mtd%d - it is already emulated on "
++ "top of UBI", mtd->index);
++ return -EINVAL;
+ }
+
+- /* Check if we already have the same MTD device attached */
+- for (i = 0; i < ubi_devices_cnt; i++)
+- if (ubi_devices[i]->mtd->index == mtd->index) {
+- ubi_err("mtd%d is already attached to ubi%d",
+- mtd->index, i);
+- err = -EINVAL;
+- goto out_mtd;
++ if (ubi_num == UBI_DEV_NUM_AUTO) {
++ /* Search for an empty slot in the @ubi_devices array */
++ for (ubi_num = 0; ubi_num < UBI_MAX_DEVICES; ubi_num++)
++ if (!ubi_devices[ubi_num])
++ break;
++ if (ubi_num == UBI_MAX_DEVICES) {
++ dbg_err("only %d UBI devices may be created",
++ UBI_MAX_DEVICES);
++ return -ENFILE;
+ }
++ } else {
++ if (ubi_num >= UBI_MAX_DEVICES)
++ return -EINVAL;
+
+- ubi = ubi_devices[ubi_devices_cnt] = kzalloc(sizeof(struct ubi_device),
+- GFP_KERNEL);
+- if (!ubi) {
+- err = -ENOMEM;
+- goto out_mtd;
++ /* Make sure ubi_num is not busy */
++ if (ubi_devices[ubi_num]) {
++ dbg_err("ubi%d already exists", ubi_num);
++ return -EEXIST;
++ }
+ }
+
+- ubi->ubi_num = ubi_devices_cnt;
++ ubi = kzalloc(sizeof(struct ubi_device), GFP_KERNEL);
++ if (!ubi)
++ return -ENOMEM;
++
+ ubi->mtd = mtd;
++ ubi->ubi_num = ubi_num;
++ ubi->vid_hdr_offset = vid_hdr_offset;
++ ubi->autoresize_vol_id = -1;
+
+- dbg_msg("attaching mtd%d to ubi%d: VID header offset %d data offset %d",
+- ubi->mtd->index, ubi_devices_cnt, vid_hdr_offset, data_offset);
++ mutex_init(&ubi->buf_mutex);
++ mutex_init(&ubi->ckvol_mutex);
++ mutex_init(&ubi->mult_mutex);
++ mutex_init(&ubi->volumes_mutex);
++ spin_lock_init(&ubi->volumes_lock);
++
++ ubi_msg("attaching mtd%d to ubi%d", mtd->index, ubi_num);
+
+- ubi->vid_hdr_offset = vid_hdr_offset;
+- ubi->leb_start = data_offset;
+ err = io_init(ubi);
+ if (err)
+ goto out_free;
+
+- mutex_init(&ubi->buf_mutex);
++ err = -ENOMEM;
+ ubi->peb_buf1 = vmalloc(ubi->peb_size);
+ if (!ubi->peb_buf1)
+ goto out_free;
+
+ ubi->peb_buf2 = vmalloc(ubi->peb_size);
+ if (!ubi->peb_buf2)
+- goto out_free;
++ goto out_free;
+
+ #ifdef CONFIG_MTD_UBI_DEBUG
+ mutex_init(&ubi->dbg_buf_mutex);
+ ubi->dbg_peb_buf = vmalloc(ubi->peb_size);
+ if (!ubi->dbg_peb_buf)
+- goto out_free;
++ goto out_free;
+ #endif
+
+ err = attach_by_scanning(ubi);
+@@ -605,22 +838,29 @@
+ goto out_free;
+ }
+
++ if (ubi->autoresize_vol_id != -1) {
++ err = autoresize(ubi, ubi->autoresize_vol_id);
++ if (err)
++ goto out_detach;
++ }
++
+ err = uif_init(ubi);
+ if (err)
+- goto out_detach;
++ goto out_nofree;
+
+- ubi_msg("attached mtd%d to ubi%d", ubi->mtd->index, ubi_devices_cnt);
+- ubi_msg("MTD device name: \"%s\"", ubi->mtd->name);
++ ubi->bgt_thread = kthread_create(ubi_thread, ubi, ubi->bgt_name);
++ if (IS_ERR(ubi->bgt_thread)) {
++ err = PTR_ERR(ubi->bgt_thread);
++ ubi_err("cannot spawn \"%s\", error %d", ubi->bgt_name,
++ err);
++ goto out_uif;
++ }
++
++ ubi_msg("attached mtd%d to ubi%d", mtd->index, ubi_num);
++ ubi_msg("MTD device name: \"%s\"", mtd->name);
+ ubi_msg("MTD device size: %llu MiB", ubi->flash_size >> 20);
+- ubi_msg("physical eraseblock size: %d bytes (%d KiB)",
+- ubi->peb_size, ubi->peb_size >> 10);
+- ubi_msg("logical eraseblock size: %d bytes", ubi->leb_size);
+ ubi_msg("number of good PEBs: %d", ubi->good_peb_count);
+ ubi_msg("number of bad PEBs: %d", ubi->bad_peb_count);
+- ubi_msg("smallest flash I/O unit: %d", ubi->min_io_size);
+- ubi_msg("VID header offset: %d (aligned %d)",
+- ubi->vid_hdr_offset, ubi->vid_hdr_aloffset);
+- ubi_msg("data offset: %d", ubi->leb_start);
+ ubi_msg("max. allowed volumes: %d", ubi->vtbl_slots);
+ ubi_msg("wear-leveling threshold: %d", CONFIG_MTD_UBI_WL_THRESHOLD);
+ ubi_msg("number of internal volumes: %d", UBI_INT_VOL_COUNT);
+@@ -632,18 +872,22 @@
+ ubi->beb_rsvd_pebs);
+ ubi_msg("max/mean erase counter: %d/%d", ubi->max_ec, ubi->mean_ec);
+
+- /* Enable the background thread */
+- if (!DBG_DISABLE_BGT) {
++ if (!DBG_DISABLE_BGT)
+ ubi->thread_enabled = 1;
+- wake_up_process(ubi->bgt_thread);
+- }
++ wake_up_process(ubi->bgt_thread);
+
+- ubi_devices_cnt += 1;
+- return 0;
++ ubi_devices[ubi_num] = ubi;
++ return ubi_num;
+
++out_uif:
++ uif_close(ubi);
++out_nofree:
++ do_free = 0;
+ out_detach:
+- ubi_eba_close(ubi);
+ ubi_wl_close(ubi);
++ if (do_free)
++ free_user_volumes(ubi);
++ free_internal_volumes(ubi);
+ vfree(ubi->vtbl);
+ out_free:
+ vfree(ubi->peb_buf1);
+@@ -652,24 +896,67 @@
+ vfree(ubi->dbg_peb_buf);
+ #endif
+ kfree(ubi);
+-out_mtd:
+- put_mtd_device(mtd);
+- ubi_devices[ubi_devices_cnt] = NULL;
+ return err;
+ }
+
+ /**
+- * detach_mtd_dev - detach an MTD device.
+- * @ubi: UBI device description object
++ * ubi_detach_mtd_dev - detach an MTD device.
++ * @ubi_num: UBI device number to detach from
++ * @anyway: detach MTD even if device reference count is not zero
++ *
++ * This function destroys an UBI device number @ubi_num and detaches the
++ * underlying MTD device. Returns zero in case of success and %-EBUSY if the
++ * UBI device is busy and cannot be destroyed, and %-EINVAL if it does not
++ * exist.
++ *
++ * Note, the invocations of this function has to be serialized by the
++ * @ubi_devices_mutex.
+ */
+-static void detach_mtd_dev(struct ubi_device *ubi)
++int ubi_detach_mtd_dev(int ubi_num, int anyway)
+ {
+- int ubi_num = ubi->ubi_num, mtd_num = ubi->mtd->index;
++ struct ubi_device *ubi;
+
++ if (ubi_num < 0 || ubi_num >= UBI_MAX_DEVICES)
++ return -EINVAL;
++
++ spin_lock(&ubi_devices_lock);
++ ubi = ubi_devices[ubi_num];
++ if (!ubi) {
++ spin_unlock(&ubi_devices_lock);
++ return -EINVAL;
++ }
++
++ if (ubi->ref_count) {
++ if (!anyway) {
++ spin_unlock(&ubi_devices_lock);
++ return -EBUSY;
++ }
++ /* This may only happen if there is a bug */
++ ubi_err("%s reference count %d, destroy anyway",
++ ubi->ubi_name, ubi->ref_count);
++ }
++ ubi_devices[ubi_num] = NULL;
++ spin_unlock(&ubi_devices_lock);
++
++ ubi_assert(ubi_num == ubi->ubi_num);
+ dbg_msg("detaching mtd%d from ubi%d", ubi->mtd->index, ubi_num);
++
++ /*
++ * Before freeing anything, we have to stop the background thread to
++ * prevent it from doing anything on this device while we are freeing.
++ */
++ if (ubi->bgt_thread)
++ kthread_stop(ubi->bgt_thread);
++
++ /*
++ * Get a reference to the device in order to prevent 'dev_release()'
++ * from freeing @ubi object.
++ */
++ get_device(&ubi->dev);
++
+ uif_close(ubi);
+- ubi_eba_close(ubi);
+ ubi_wl_close(ubi);
++ free_internal_volumes(ubi);
+ vfree(ubi->vtbl);
+ put_mtd_device(ubi->mtd);
+ vfree(ubi->peb_buf1);
+@@ -677,11 +964,37 @@
+ #ifdef CONFIG_MTD_UBI_DEBUG
+ vfree(ubi->dbg_peb_buf);
+ #endif
+- kfree(ubi_devices[ubi_num]);
+- ubi_devices[ubi_num] = NULL;
+- ubi_devices_cnt -= 1;
+- ubi_assert(ubi_devices_cnt >= 0);
+- ubi_msg("mtd%d is detached from ubi%d", mtd_num, ubi_num);
++ ubi_msg("mtd%d is detached from ubi%d", ubi->mtd->index, ubi->ubi_num);
++ put_device(&ubi->dev);
++ return 0;
++}
++
++/**
++ * find_mtd_device - open an MTD device by its name or number.
++ * @mtd_dev: name or number of the device
++ *
++ * This function tries to open and MTD device described by @mtd_dev string,
++ * which is first treated as an ASCII number, and if it is not true, it is
++ * treated as MTD device name. Returns MTD device description object in case of
++ * success and a negative error code in case of failure.
++ */
++static struct mtd_info * __init open_mtd_device(const char *mtd_dev)
++{
++ struct mtd_info *mtd;
++ int mtd_num;
++ char *endp;
++
++ mtd_num = simple_strtoul(mtd_dev, &endp, 0);
++ if (*endp != '\0' || mtd_dev == endp) {
++ /*
++ * This does not look like an ASCII integer, probably this is
++ * MTD device name.
++ */
++ mtd = get_mtd_device_nm(mtd_dev);
++ } else
++ mtd = get_mtd_device(NULL, mtd_num);
++
++ return mtd;
+ }
+
+ static int __init ubi_init(void)
+@@ -693,55 +1006,101 @@
+ BUILD_BUG_ON(sizeof(struct ubi_vid_hdr) != 64);
+
+ if (mtd_devs > UBI_MAX_DEVICES) {
+- printk("UBI error: too many MTD devices, maximum is %d\n",
+- UBI_MAX_DEVICES);
++ ubi_err("too many MTD devices, maximum is %d", UBI_MAX_DEVICES);
+ return -EINVAL;
+ }
+
++ /* Create base sysfs directory and sysfs files */
+ ubi_class = class_create(THIS_MODULE, UBI_NAME_STR);
+- if (IS_ERR(ubi_class))
+- return PTR_ERR(ubi_class);
++ if (IS_ERR(ubi_class)) {
++ err = PTR_ERR(ubi_class);
++ ubi_err("cannot create UBI class");
++ goto out;
++ }
+
+ err = class_create_file(ubi_class, &ubi_version);
+- if (err)
++ if (err) {
++ ubi_err("cannot create sysfs file");
+ goto out_class;
++ }
++
++ err = misc_register(&ubi_ctrl_cdev);
++ if (err) {
++ ubi_err("cannot register device");
++ goto out_version;
++ }
++
++ ubi_wl_entry_slab = kmem_cache_create("ubi_wl_entry_slab",
++ sizeof(struct ubi_wl_entry),
++ 0, 0, NULL);
++ if (!ubi_wl_entry_slab)
++ goto out_dev_unreg;
+
+ /* Attach MTD devices */
+ for (i = 0; i < mtd_devs; i++) {
+ struct mtd_dev_param *p = &mtd_dev_param[i];
++ struct mtd_info *mtd;
+
+ cond_resched();
+- err = attach_mtd_dev(p->name, p->vid_hdr_offs, p->data_offs);
+- if (err)
++
++ mtd = open_mtd_device(p->name);
++ if (IS_ERR(mtd)) {
++ err = PTR_ERR(mtd);
+ goto out_detach;
++ }
++
++ mutex_lock(&ubi_devices_mutex);
++ err = ubi_attach_mtd_dev(mtd, UBI_DEV_NUM_AUTO,
++ p->vid_hdr_offs);
++ mutex_unlock(&ubi_devices_mutex);
++ if (err < 0) {
++ put_mtd_device(mtd);
++ ubi_err("cannot attach mtd%d", mtd->index);
++ goto out_detach;
++ }
+ }
+
+ return 0;
+
+ out_detach:
+ for (k = 0; k < i; k++)
+- detach_mtd_dev(ubi_devices[k]);
++ if (ubi_devices[k]) {
++ mutex_lock(&ubi_devices_mutex);
++ ubi_detach_mtd_dev(ubi_devices[k]->ubi_num, 1);
++ mutex_unlock(&ubi_devices_mutex);
++ }
++ kmem_cache_destroy(ubi_wl_entry_slab);
++out_dev_unreg:
++ misc_deregister(&ubi_ctrl_cdev);
++out_version:
+ class_remove_file(ubi_class, &ubi_version);
+ out_class:
+ class_destroy(ubi_class);
++out:
++ ubi_err("UBI error: cannot initialize UBI, error %d", err);
+ return err;
+ }
+ module_init(ubi_init);
+
+ static void __exit ubi_exit(void)
+ {
+- int i, n = ubi_devices_cnt;
++ int i;
+
+- for (i = 0; i < n; i++)
+- detach_mtd_dev(ubi_devices[i]);
++ for (i = 0; i < UBI_MAX_DEVICES; i++)
++ if (ubi_devices[i]) {
++ mutex_lock(&ubi_devices_mutex);
++ ubi_detach_mtd_dev(ubi_devices[i]->ubi_num, 1);
++ mutex_unlock(&ubi_devices_mutex);
++ }
++ kmem_cache_destroy(ubi_wl_entry_slab);
++ misc_deregister(&ubi_ctrl_cdev);
+ class_remove_file(ubi_class, &ubi_version);
+ class_destroy(ubi_class);
+ }
+ module_exit(ubi_exit);
+
+ /**
+- * bytes_str_to_int - convert a string representing number of bytes to an
+- * integer.
++ * bytes_str_to_int - convert a number of bytes string into an integer.
+ * @str: the string to convert
+ *
+ * This function returns positive resulting integer in case of success and a
+@@ -754,7 +1113,8 @@
+
+ result = simple_strtoul(str, &endp, 0);
+ if (str == endp || result < 0) {
+- printk("UBI error: incorrect bytes count: \"%s\"\n", str);
++ printk(KERN_ERR "UBI error: incorrect bytes count: \"%s\"\n",
++ str);
+ return -EINVAL;
+ }
+
+@@ -764,15 +1124,14 @@
+ case 'M':
+ result *= 1024;
+ case 'K':
+- case 'k':
+ result *= 1024;
+- if (endp[1] == 'i' && (endp[2] == '\0' ||
+- endp[2] == 'B' || endp[2] == 'b'))
++ if (endp[1] == 'i' && endp[2] == 'B')
+ endp += 2;
+ case '\0':
+ break;
+ default:
+- printk("UBI error: incorrect bytes count: \"%s\"\n", str);
++ printk(KERN_ERR "UBI error: incorrect bytes count: \"%s\"\n",
++ str);
+ return -EINVAL;
+ }
+
+@@ -793,23 +1152,27 @@
+ struct mtd_dev_param *p;
+ char buf[MTD_PARAM_LEN_MAX];
+ char *pbuf = &buf[0];
+- char *tokens[3] = {NULL, NULL, NULL};
++ char *tokens[2] = {NULL, NULL};
++
++ if (!val)
++ return -EINVAL;
+
+ if (mtd_devs == UBI_MAX_DEVICES) {
+- printk("UBI error: too many parameters, max. is %d\n",
++ printk(KERN_ERR "UBI error: too many parameters, max. is %d\n",
+ UBI_MAX_DEVICES);
+ return -EINVAL;
+ }
+
+ len = strnlen(val, MTD_PARAM_LEN_MAX);
+ if (len == MTD_PARAM_LEN_MAX) {
+- printk("UBI error: parameter \"%s\" is too long, max. is %d\n",
+- val, MTD_PARAM_LEN_MAX);
++ printk(KERN_ERR "UBI error: parameter \"%s\" is too long, "
++ "max. is %d\n", val, MTD_PARAM_LEN_MAX);
+ return -EINVAL;
+ }
+
+ if (len == 0) {
+- printk("UBI warning: empty 'mtd=' parameter - ignored\n");
++ printk(KERN_WARNING "UBI warning: empty 'mtd=' parameter - "
++ "ignored\n");
+ return 0;
+ }
+
+@@ -819,11 +1182,12 @@
+ if (buf[len - 1] == '\n')
+ buf[len - 1] = '\0';
+
+- for (i = 0; i < 3; i++)
++ for (i = 0; i < 2; i++)
+ tokens[i] = strsep(&pbuf, ",");
+
+ if (pbuf) {
+- printk("UBI error: too many arguments at \"%s\"\n", val);
++ printk(KERN_ERR "UBI error: too many arguments at \"%s\"\n",
++ val);
+ return -EINVAL;
+ }
+
+@@ -832,13 +1196,9 @@
+
+ if (tokens[1])
+ p->vid_hdr_offs = bytes_str_to_int(tokens[1]);
+- if (tokens[2])
+- p->data_offs = bytes_str_to_int(tokens[2]);
+
+ if (p->vid_hdr_offs < 0)
+ return p->vid_hdr_offs;
+- if (p->data_offs < 0)
+- return p->data_offs;
+
+ mtd_devs += 1;
+ return 0;
+@@ -846,16 +1206,15 @@
+
+ module_param_call(mtd, ubi_mtd_param_parse, NULL, NULL, 000);
+ MODULE_PARM_DESC(mtd, "MTD devices to attach. Parameter format: "
+- "mtd=<name|num>[,<vid_hdr_offs>,<data_offs>]. "
++ "mtd=<name|num>[,<vid_hdr_offs>].\n"
+ "Multiple \"mtd\" parameters may be specified.\n"
+- "MTD devices may be specified by their number or name. "
+- "Optional \"vid_hdr_offs\" and \"data_offs\" parameters "
+- "specify UBI VID header position and data starting "
+- "position to be used by UBI.\n"
+- "Example: mtd=content,1984,2048 mtd=4 - attach MTD device"
+- "with name content using VID header offset 1984 and data "
+- "start 2048, and MTD device number 4 using default "
+- "offsets");
++ "MTD devices may be specified by their number or name.\n"
++ "Optional \"vid_hdr_offs\" parameter specifies UBI VID "
++ "header position and data starting position to be used "
++ "by UBI.\n"
++ "Example: mtd=content,1984 mtd=4 - attach MTD device"
++ "with name \"content\" using VID header offset 1984, and "
++ "MTD device number 4 with default VID header offset.");
+
+ MODULE_VERSION(__stringify(UBI_VERSION));
+ MODULE_DESCRIPTION("UBI - Unsorted Block Images");
+diff -Nurd linux-2.6.24/drivers/mtd/ubi/cdev.c ubifs-v2.6.24/drivers/mtd/ubi/cdev.c
+--- linux-2.6.24/drivers/mtd/ubi/cdev.c 2008-01-25 00:58:37.000000000 +0200
++++ ubifs-v2.6.24/drivers/mtd/ubi/cdev.c 2009-04-07 17:14:47.000000000 +0200
+@@ -28,45 +28,22 @@
+ *
+ * Major and minor numbers are assigned dynamically to both UBI and volume
+ * character devices.
++ *
++ * Well, there is the third kind of character devices - the UBI control
++ * character device, which allows to manipulate by UBI devices - create and
++ * delete them. In other words, it is used for attaching and detaching MTD
++ * devices.
+ */
+
+ #include <linux/module.h>
+ #include <linux/stat.h>
+ #include <linux/ioctl.h>
+ #include <linux/capability.h>
++#include <linux/uaccess.h>
++#include <linux/compat.h>
+ #include <mtd/ubi-user.h>
+-#include <asm/uaccess.h>
+-#include <asm/div64.h>
+ #include "ubi.h"
+
+-/*
+- * Maximum sequence numbers of UBI and volume character device IOCTLs (direct
+- * logical eraseblock erase is a debug-only feature).
+- */
+-#define UBI_CDEV_IOC_MAX_SEQ 2
+-#ifndef CONFIG_MTD_UBI_DEBUG_USERSPACE_IO
+-#define VOL_CDEV_IOC_MAX_SEQ 1
+-#else
+-#define VOL_CDEV_IOC_MAX_SEQ 2
+-#endif
+-
+-/**
+- * major_to_device - get UBI device object by character device major number.
+- * @major: major number
+- *
+- * This function returns a pointer to the UBI device object.
+- */
+-static struct ubi_device *major_to_device(int major)
+-{
+- int i;
+-
+- for (i = 0; i < ubi_devices_cnt; i++)
+- if (ubi_devices[i] && ubi_devices[i]->major == major)
+- return ubi_devices[i];
+- BUG();
+- return NULL;
+-}
+-
+ /**
+ * get_exclusive - get exclusive access to an UBI volume.
+ * @desc: volume descriptor
+@@ -124,18 +101,20 @@
+ static int vol_cdev_open(struct inode *inode, struct file *file)
+ {
+ struct ubi_volume_desc *desc;
+- const struct ubi_device *ubi = major_to_device(imajor(inode));
+- int vol_id = iminor(inode) - 1;
+- int mode;
++ int vol_id = iminor(inode) - 1, mode, ubi_num;
++
++ ubi_num = ubi_major2num(imajor(inode));
++ if (ubi_num < 0)
++ return ubi_num;
+
+ if (file->f_mode & FMODE_WRITE)
+ mode = UBI_READWRITE;
+ else
+ mode = UBI_READONLY;
+
+- dbg_msg("open volume %d, mode %d", vol_id, mode);
++ dbg_gen("open volume %d, mode %d", vol_id, mode);
+
+- desc = ubi_open_volume(ubi->ubi_num, vol_id, mode);
++ desc = ubi_open_volume(ubi_num, vol_id, mode);
+ if (IS_ERR(desc))
+ return PTR_ERR(desc);
+
+@@ -148,13 +127,20 @@
+ struct ubi_volume_desc *desc = file->private_data;
+ struct ubi_volume *vol = desc->vol;
+
+- dbg_msg("release volume %d, mode %d", vol->vol_id, desc->mode);
++ dbg_gen("release volume %d, mode %d", vol->vol_id, desc->mode);
+
+ if (vol->updating) {
+ ubi_warn("update of volume %d not finished, volume is damaged",
+ vol->vol_id);
++ ubi_assert(!vol->changing_leb);
+ vol->updating = 0;
+ vfree(vol->upd_buf);
++ } else if (vol->changing_leb) {
++ dbg_gen("only %lld of %lld bytes received for atomic LEB change"
++ " for volume %d:%d, cancel", vol->upd_received,
++ vol->upd_bytes, vol->ubi->ubi_num, vol->vol_id);
++ vol->changing_leb = 0;
++ vfree(vol->upd_buf);
+ }
+
+ ubi_close_volume(desc);
+@@ -192,26 +178,35 @@
+ return -EINVAL;
+ }
+
+- dbg_msg("seek volume %d, offset %lld, origin %d, new offset %lld",
++ dbg_gen("seek volume %d, offset %lld, origin %d, new offset %lld",
+ vol->vol_id, offset, origin, new_offset);
+
+ file->f_pos = new_offset;
+ return new_offset;
+ }
+
++static int vol_cdev_fsync(struct file *file, struct dentry *dentry,
++ int datasync)
++{
++ struct ubi_volume_desc *desc = file->private_data;
++ struct ubi_device *ubi = desc->vol->ubi;
++
++ return ubi_sync(ubi->ubi_num);
++}
++
++
+ static ssize_t vol_cdev_read(struct file *file, __user char *buf, size_t count,
+ loff_t *offp)
+ {
+ struct ubi_volume_desc *desc = file->private_data;
+ struct ubi_volume *vol = desc->vol;
+ struct ubi_device *ubi = vol->ubi;
+- int err, lnum, off, len, vol_id = desc->vol->vol_id, tbuf_size;
++ int err, lnum, off, len, tbuf_size;
+ size_t count_save = count;
+ void *tbuf;
+- uint64_t tmp;
+
+- dbg_msg("read %zd bytes from offset %lld of volume %d",
+- count, *offp, vol_id);
++ dbg_gen("read %zd bytes from offset %lld of volume %d",
++ count, *offp, vol->vol_id);
+
+ if (vol->updating) {
+ dbg_err("updating");
+@@ -225,7 +220,7 @@
+ return 0;
+
+ if (vol->corrupted)
+- dbg_msg("read from corrupted volume %d", vol_id);
++ dbg_gen("read from corrupted volume %d", vol->vol_id);
+
+ if (*offp + count > vol->used_bytes)
+ count_save = count = vol->used_bytes - *offp;
+@@ -238,10 +233,7 @@
+ return -ENOMEM;
+
+ len = count > tbuf_size ? tbuf_size : count;
+-
+- tmp = *offp;
+- off = do_div(tmp, vol->usable_leb_size);
+- lnum = tmp;
++ lnum = div_u64_rem(*offp, vol->usable_leb_size, &off);
+
+ do {
+ cond_resched();
+@@ -249,7 +241,7 @@
+ if (off + len >= vol->usable_leb_size)
+ len = vol->usable_leb_size - off;
+
+- err = ubi_eba_read_leb(ubi, vol_id, lnum, tbuf, off, len, 0);
++ err = ubi_eba_read_leb(ubi, vol, lnum, tbuf, off, len, 0);
+ if (err)
+ break;
+
+@@ -276,12 +268,9 @@
+ return err ? err : count_save - count;
+ }
+
+-#ifdef CONFIG_MTD_UBI_DEBUG_USERSPACE_IO
+-
+ /*
+ * This function allows to directly write to dynamic UBI volumes, without
+- * issuing the volume update operation. Available only as a debugging feature.
+- * Very useful for testing UBI.
++ * issuing the volume update operation.
+ */
+ static ssize_t vol_cdev_direct_write(struct file *file, const char __user *buf,
+ size_t count, loff_t *offp)
+@@ -289,22 +278,21 @@
+ struct ubi_volume_desc *desc = file->private_data;
+ struct ubi_volume *vol = desc->vol;
+ struct ubi_device *ubi = vol->ubi;
+- int lnum, off, len, tbuf_size, vol_id = vol->vol_id, err = 0;
++ int lnum, off, len, tbuf_size, err = 0;
+ size_t count_save = count;
+ char *tbuf;
+- uint64_t tmp;
+
+- dbg_msg("requested: write %zd bytes to offset %lld of volume %u",
+- count, *offp, desc->vol->vol_id);
++ if (!vol->direct_writes)
++ return -EPERM;
++
++ dbg_gen("requested: write %zd bytes to offset %lld of volume %u",
++ count, *offp, vol->vol_id);
+
+ if (vol->vol_type == UBI_STATIC_VOLUME)
+ return -EROFS;
+
+- tmp = *offp;
+- off = do_div(tmp, vol->usable_leb_size);
+- lnum = tmp;
+-
+- if (off % ubi->min_io_size) {
++ lnum = div_u64_rem(*offp, vol->usable_leb_size, &off);
++ if (off & (ubi->min_io_size - 1)) {
+ dbg_err("unaligned position");
+ return -EINVAL;
+ }
+@@ -313,7 +301,7 @@
+ count_save = count = vol->used_bytes - *offp;
+
+ /* We can write only in fractions of the minimum I/O unit */
+- if (count % ubi->min_io_size) {
++ if (count & (ubi->min_io_size - 1)) {
+ dbg_err("unaligned write length");
+ return -EINVAL;
+ }
+@@ -339,7 +327,7 @@
+ break;
+ }
+
+- err = ubi_eba_write_leb(ubi, vol_id, lnum, tbuf, off, len,
++ err = ubi_eba_write_leb(ubi, vol, lnum, tbuf, off, len,
+ UBI_UNKNOWN);
+ if (err)
+ break;
+@@ -360,10 +348,6 @@
+ return err ? err : count_save - count;
+ }
+
+-#else
+-#define vol_cdev_direct_write(file, buf, count, offp) -EPERM
+-#endif /* CONFIG_MTD_UBI_DEBUG_USERSPACE_IO */
+-
+ static ssize_t vol_cdev_write(struct file *file, const char __user *buf,
+ size_t count, loff_t *offp)
+ {
+@@ -372,22 +356,32 @@
+ struct ubi_volume *vol = desc->vol;
+ struct ubi_device *ubi = vol->ubi;
+
+- if (!vol->updating)
++ if (!vol->updating && !vol->changing_leb)
+ return vol_cdev_direct_write(file, buf, count, offp);
+
+- err = ubi_more_update_data(ubi, vol->vol_id, buf, count);
++ if (vol->updating)
++ err = ubi_more_update_data(ubi, vol, buf, count);
++ else
++ err = ubi_more_leb_change_data(ubi, vol, buf, count);
++
+ if (err < 0) {
+- ubi_err("cannot write %zd bytes of update data", count);
++ ubi_err("cannot accept more %zd bytes of data, error %d",
++ count, err);
+ return err;
+ }
+
+ if (err) {
+ /*
+- * Update is finished, @err contains number of actually written
+- * bytes now.
++ * The operation is finished, @err contains number of actually
++ * written bytes.
+ */
+ count = err;
+
++ if (vol->changing_leb) {
++ revoke_exclusive(desc, UBI_READWRITE);
++ return count;
++ }
++
+ err = ubi_check_volume(ubi, vol->vol_id);
+ if (err < 0)
+ return err;
+@@ -402,12 +396,11 @@
+ revoke_exclusive(desc, UBI_READWRITE);
+ }
+
+- *offp += count;
+ return count;
+ }
+
+-static int vol_cdev_ioctl(struct inode *inode, struct file *file,
+- unsigned int cmd, unsigned long arg)
++static long vol_cdev_ioctl(struct file *file, unsigned int cmd,
++ unsigned long arg)
+ {
+ int err = 0;
+ struct ubi_volume_desc *desc = file->private_data;
+@@ -437,7 +430,8 @@
+ break;
+ }
+
+- rsvd_bytes = vol->reserved_pebs * (ubi->leb_size-vol->data_pad);
++ rsvd_bytes = (long long)vol->reserved_pebs *
++ ubi->leb_size-vol->data_pad;
+ if (bytes < 0 || bytes > rsvd_bytes) {
+ err = -EINVAL;
+ break;
+@@ -447,15 +441,49 @@
+ if (err < 0)
+ break;
+
+- err = ubi_start_update(ubi, vol->vol_id, bytes);
++ err = ubi_start_update(ubi, vol, bytes);
+ if (bytes == 0)
+ revoke_exclusive(desc, UBI_READWRITE);
++ break;
++ }
+
+- file->f_pos = 0;
++ /* Atomic logical eraseblock change command */
++ case UBI_IOCEBCH:
++ {
++ struct ubi_leb_change_req req;
++
++ err = copy_from_user(&req, argp,
++ sizeof(struct ubi_leb_change_req));
++ if (err) {
++ err = -EFAULT;
++ break;
++ }
++
++ if (desc->mode == UBI_READONLY ||
++ vol->vol_type == UBI_STATIC_VOLUME) {
++ err = -EROFS;
++ break;
++ }
++
++ /* Validate the request */
++ err = -EINVAL;
++ if (req.lnum < 0 || req.lnum >= vol->reserved_pebs ||
++ req.bytes < 0 || req.lnum >= vol->usable_leb_size)
++ break;
++ if (req.dtype != UBI_LONGTERM && req.dtype != UBI_SHORTTERM &&
++ req.dtype != UBI_UNKNOWN)
++ break;
++
++ err = get_exclusive(desc);
++ if (err < 0)
++ break;
++
++ err = ubi_start_leb_change(ubi, vol, &req);
++ if (req.bytes == 0)
++ revoke_exclusive(desc, UBI_READWRITE);
+ break;
+ }
+
+-#ifdef CONFIG_MTD_UBI_DEBUG_USERSPACE_IO
+ /* Logical eraseblock erasure command */
+ case UBI_IOCEBER:
+ {
+@@ -467,7 +495,8 @@
+ break;
+ }
+
+- if (desc->mode == UBI_READONLY) {
++ if (desc->mode == UBI_READONLY ||
++ vol->vol_type == UBI_STATIC_VOLUME) {
+ err = -EROFS;
+ break;
+ }
+@@ -477,26 +506,85 @@
+ break;
+ }
+
+- if (vol->vol_type != UBI_DYNAMIC_VOLUME) {
+- err = -EROFS;
++ dbg_gen("erase LEB %d:%d", vol->vol_id, lnum);
++ err = ubi_eba_unmap_leb(ubi, vol, lnum);
++ if (err)
++ break;
++
++ err = ubi_wl_flush(ubi);
++ break;
++ }
++
++ /* Logical eraseblock map command */
++ case UBI_IOCEBMAP:
++ {
++ struct ubi_map_req req;
++
++ err = copy_from_user(&req, argp, sizeof(struct ubi_map_req));
++ if (err) {
++ err = -EFAULT;
+ break;
+ }
++ err = ubi_leb_map(desc, req.lnum, req.dtype);
++ break;
++ }
+
+- dbg_msg("erase LEB %d:%d", vol->vol_id, lnum);
+- err = ubi_eba_unmap_leb(ubi, vol->vol_id, lnum);
+- if (err)
++ /* Logical eraseblock un-map command */
++ case UBI_IOCEBUNMAP:
++ {
++ int32_t lnum;
++
++ err = get_user(lnum, (__user int32_t *)argp);
++ if (err) {
++ err = -EFAULT;
+ break;
++ }
++ err = ubi_leb_unmap(desc, lnum);
++ break;
++ }
+
+- err = ubi_wl_flush(ubi);
++ /* Check if logical eraseblock is mapped command */
++ case UBI_IOCEBISMAP:
++ {
++ int32_t lnum;
++
++ err = get_user(lnum, (__user int32_t *)argp);
++ if (err) {
++ err = -EFAULT;
++ break;
++ }
++ err = ubi_is_mapped(desc, lnum);
++ break;
++ }
++
++ /* Set volume property command*/
++ case UBI_IOCSETPROP:
++ {
++ struct ubi_set_prop_req req;
++
++ err = copy_from_user(&req, argp,
++ sizeof(struct ubi_set_prop_req));
++ if (err) {
++ err = -EFAULT;
++ break;
++ }
++ switch (req.property) {
++ case UBI_PROP_DIRECT_WRITE:
++ mutex_lock(&ubi->volumes_mutex);
++ desc->vol->direct_writes = !!req.value;
++ mutex_unlock(&ubi->volumes_mutex);
++ break;
++ default:
++ err = -EINVAL;
++ break;
++ }
+ break;
+ }
+-#endif
+
+ default:
+ err = -ENOTTY;
+ break;
+ }
+-
+ return err;
+ }
+
+@@ -533,7 +621,7 @@
+ if (req->alignment > ubi->leb_size)
+ goto bad;
+
+- n = req->alignment % ubi->min_io_size;
++ n = req->alignment & (ubi->min_io_size - 1);
+ if (req->alignment != 1 && n)
+ goto bad;
+
+@@ -542,6 +630,10 @@
+ goto bad;
+ }
+
++ n = strnlen(req->name, req->name_len + 1);
++ if (n != req->name_len)
++ goto bad;
++
+ return 0;
+
+ bad:
+@@ -569,8 +661,169 @@
+ return 0;
+ }
+
+-static int ubi_cdev_ioctl(struct inode *inode, struct file *file,
+- unsigned int cmd, unsigned long arg)
++/**
++ * rename_volumes - rename UBI volumes.
++ * @ubi: UBI device description object
++ * @req: volumes re-name request
++ *
++ * This is a helper function for the volume re-name IOCTL which validates the
++ * the request, opens the volume and calls corresponding volumes management
++ * function. Returns zero in case of success and a negative error code in case
++ * of failure.
++ */
++static int rename_volumes(struct ubi_device *ubi,
++ struct ubi_rnvol_req *req)
++{
++ int i, n, err;
++ struct list_head rename_list;
++ struct ubi_rename_entry *re, *re1;
++
++ if (req->count < 0 || req->count > UBI_MAX_RNVOL)
++ return -EINVAL;
++
++ if (req->count == 0)
++ return 0;
++
++ /* Validate volume IDs and names in the request */
++ for (i = 0; i < req->count; i++) {
++ if (req->ents[i].vol_id < 0 ||
++ req->ents[i].vol_id >= ubi->vtbl_slots)
++ return -EINVAL;
++ if (req->ents[i].name_len < 0)
++ return -EINVAL;
++ if (req->ents[i].name_len > UBI_VOL_NAME_MAX)
++ return -ENAMETOOLONG;
++ req->ents[i].name[req->ents[i].name_len] = '\0';
++ n = strlen(req->ents[i].name);
++ if (n != req->ents[i].name_len)
++ err = -EINVAL;
++ }
++
++ /* Make sure volume IDs and names are unique */
++ for (i = 0; i < req->count - 1; i++) {
++ for (n = i + 1; n < req->count; n++) {
++ if (req->ents[i].vol_id == req->ents[n].vol_id) {
++ dbg_err("duplicated volume id %d",
++ req->ents[i].vol_id);
++ return -EINVAL;
++ }
++ if (!strcmp(req->ents[i].name, req->ents[n].name)) {
++ dbg_err("duplicated volume name \"%s\"",
++ req->ents[i].name);
++ return -EINVAL;
++ }
++ }
++ }
++
++ /* Create the re-name list */
++ INIT_LIST_HEAD(&rename_list);
++ for (i = 0; i < req->count; i++) {
++ int vol_id = req->ents[i].vol_id;
++ int name_len = req->ents[i].name_len;
++ const char *name = req->ents[i].name;
++
++ re = kzalloc(sizeof(struct ubi_rename_entry), GFP_KERNEL);
++ if (!re) {
++ err = -ENOMEM;
++ goto out_free;
++ }
++
++ re->desc = ubi_open_volume(ubi->ubi_num, vol_id, UBI_EXCLUSIVE);
++ if (IS_ERR(re->desc)) {
++ err = PTR_ERR(re->desc);
++ dbg_err("cannot open volume %d, error %d", vol_id, err);
++ kfree(re);
++ goto out_free;
++ }
++
++ /* Skip this re-naming if the name does not really change */
++ if (re->desc->vol->name_len == name_len &&
++ !memcmp(re->desc->vol->name, name, name_len)) {
++ ubi_close_volume(re->desc);
++ kfree(re);
++ continue;
++ }
++
++ re->new_name_len = name_len;
++ memcpy(re->new_name, name, name_len);
++ list_add_tail(&re->list, &rename_list);
++ dbg_msg("will rename volume %d from \"%s\" to \"%s\"",
++ vol_id, re->desc->vol->name, name);
++ }
++
++ if (list_empty(&rename_list))
++ return 0;
++
++ /* Find out the volumes which have to be removed */
++ list_for_each_entry(re, &rename_list, list) {
++ struct ubi_volume_desc *desc;
++ int no_remove_needed = 0;
++
++ /*
++ * Volume @re->vol_id is going to be re-named to
++ * @re->new_name, while its current name is @name. If a volume
++ * with name @re->new_name currently exists, it has to be
++ * removed, unless it is also re-named in the request (@req).
++ */
++ list_for_each_entry(re1, &rename_list, list) {
++ if (re->new_name_len == re1->desc->vol->name_len &&
++ !memcmp(re->new_name, re1->desc->vol->name,
++ re1->desc->vol->name_len)) {
++ no_remove_needed = 1;
++ break;
++ }
++ }
++
++ if (no_remove_needed)
++ continue;
++
++ /*
++ * It seems we need to remove volume with name @re->new_name,
++ * if it exists.
++ */
++ desc = ubi_open_volume_nm(ubi->ubi_num, re->new_name,
++ UBI_EXCLUSIVE);
++ if (IS_ERR(desc)) {
++ err = PTR_ERR(desc);
++ if (err == -ENODEV)
++ /* Re-naming into a non-existing volume name */
++ continue;
++
++ /* The volume exists but busy, or an error occurred */
++ dbg_err("cannot open volume \"%s\", error %d",
++ re->new_name, err);
++ goto out_free;
++ }
++
++ re = kzalloc(sizeof(struct ubi_rename_entry), GFP_KERNEL);
++ if (!re) {
++ err = -ENOMEM;
++ ubi_close_volume(desc);
++ goto out_free;
++ }
++
++ re->remove = 1;
++ re->desc = desc;
++ list_add(&re->list, &rename_list);
++ dbg_msg("will remove volume %d, name \"%s\"",
++ re->desc->vol->vol_id, re->desc->vol->name);
++ }
++
++ mutex_lock(&ubi->volumes_mutex);
++ err = ubi_rename_volumes(ubi, &rename_list);
++ mutex_unlock(&ubi->volumes_mutex);
++
++out_free:
++ list_for_each_entry_safe(re, re1, &rename_list, list) {
++ ubi_close_volume(re->desc);
++ list_del(&re->list);
++ kfree(re);
++ }
++ return err;
++}
++
++static long ubi_cdev_ioctl(struct file *file, unsigned int cmd,
++ unsigned long arg)
+ {
+ int err = 0;
+ struct ubi_device *ubi;
+@@ -580,9 +833,9 @@
+ if (!capable(CAP_SYS_RESOURCE))
+ return -EPERM;
+
+- ubi = major_to_device(imajor(inode));
+- if (IS_ERR(ubi))
+- return PTR_ERR(ubi);
++ ubi = ubi_get_by_major(imajor(file->f_mapping->host));
++ if (!ubi)
++ return -ENODEV;
+
+ switch (cmd) {
+ /* Create volume command */
+@@ -590,21 +843,21 @@
+ {
+ struct ubi_mkvol_req req;
+
+- dbg_msg("create volume");
+- err = copy_from_user(&req, argp,
+- sizeof(struct ubi_mkvol_req));
++ dbg_gen("create volume");
++ err = copy_from_user(&req, argp, sizeof(struct ubi_mkvol_req));
+ if (err) {
+ err = -EFAULT;
+ break;
+ }
+
++ req.name[req.name_len] = '\0';
+ err = verify_mkvol_req(ubi, &req);
+ if (err)
+ break;
+
+- req.name[req.name_len] = '\0';
+-
++ mutex_lock(&ubi->volumes_mutex);
+ err = ubi_create_volume(ubi, &req);
++ mutex_unlock(&ubi->volumes_mutex);
+ if (err)
+ break;
+
+@@ -620,7 +873,7 @@
+ {
+ int vol_id;
+
+- dbg_msg("remove volume");
++ dbg_gen("remove volume");
+ err = get_user(vol_id, (__user int32_t *)argp);
+ if (err) {
+ err = -EFAULT;
+@@ -633,10 +886,16 @@
+ break;
+ }
+
+- err = ubi_remove_volume(desc);
+- if (err)
+- ubi_close_volume(desc);
++ mutex_lock(&ubi->volumes_mutex);
++ err = ubi_remove_volume(desc, 0);
++ mutex_unlock(&ubi->volumes_mutex);
+
++ /*
++ * The volume is deleted (unless an error occurred), and the
++ * 'struct ubi_volume' object will be freed when
++ * 'ubi_close_volume()' will call 'put_device()'.
++ */
++ ubi_close_volume(desc);
+ break;
+ }
+
+@@ -644,12 +903,10 @@
+ case UBI_IOCRSVOL:
+ {
+ int pebs;
+- uint64_t tmp;
+ struct ubi_rsvol_req req;
+
+- dbg_msg("re-size volume");
+- err = copy_from_user(&req, argp,
+- sizeof(struct ubi_rsvol_req));
++ dbg_gen("re-size volume");
++ err = copy_from_user(&req, argp, sizeof(struct ubi_rsvol_req));
+ if (err) {
+ err = -EFAULT;
+ break;
+@@ -665,37 +922,182 @@
+ break;
+ }
+
+- tmp = req.bytes;
+- pebs = !!do_div(tmp, desc->vol->usable_leb_size);
+- pebs += tmp;
++ pebs = div_u64(req.bytes + desc->vol->usable_leb_size - 1,
++ desc->vol->usable_leb_size);
+
++ mutex_lock(&ubi->volumes_mutex);
+ err = ubi_resize_volume(desc, pebs);
++ mutex_unlock(&ubi->volumes_mutex);
+ ubi_close_volume(desc);
+ break;
+ }
+
++ /* Re-name volumes command */
++ case UBI_IOCRNVOL:
++ {
++ struct ubi_rnvol_req *req;
++
++ dbg_msg("re-name volumes");
++ req = kmalloc(sizeof(struct ubi_rnvol_req), GFP_KERNEL);
++ if (!req) {
++ err = -ENOMEM;
++ break;
++ };
++
++ err = copy_from_user(req, argp, sizeof(struct ubi_rnvol_req));
++ if (err) {
++ err = -EFAULT;
++ kfree(req);
++ break;
++ }
++
++ mutex_lock(&ubi->mult_mutex);
++ err = rename_volumes(ubi, req);
++ mutex_unlock(&ubi->mult_mutex);
++ kfree(req);
++ break;
++ }
++
+ default:
+ err = -ENOTTY;
+ break;
+ }
+
++ ubi_put_device(ubi);
+ return err;
+ }
+
++static long ctrl_cdev_ioctl(struct file *file, unsigned int cmd,
++ unsigned long arg)
++{
++ int err = 0;
++ void __user *argp = (void __user *)arg;
++
++ if (!capable(CAP_SYS_RESOURCE))
++ return -EPERM;
++
++ switch (cmd) {
++ /* Attach an MTD device command */
++ case UBI_IOCATT:
++ {
++ struct ubi_attach_req req;
++ struct mtd_info *mtd;
++
++ dbg_gen("attach MTD device");
++ err = copy_from_user(&req, argp, sizeof(struct ubi_attach_req));
++ if (err) {
++ err = -EFAULT;
++ break;
++ }
++
++ if (req.mtd_num < 0 ||
++ (req.ubi_num < 0 && req.ubi_num != UBI_DEV_NUM_AUTO)) {
++ err = -EINVAL;
++ break;
++ }
++
++ mtd = get_mtd_device(NULL, req.mtd_num);
++ if (IS_ERR(mtd)) {
++ err = PTR_ERR(mtd);
++ break;
++ }
++
++ /*
++ * Note, further request verification is done by
++ * 'ubi_attach_mtd_dev()'.
++ */
++ mutex_lock(&ubi_devices_mutex);
++ err = ubi_attach_mtd_dev(mtd, req.ubi_num, req.vid_hdr_offset);
++ mutex_unlock(&ubi_devices_mutex);
++ if (err < 0)
++ put_mtd_device(mtd);
++ else
++ /* @err contains UBI device number */
++ err = put_user(err, (__user int32_t *)argp);
++
++ break;
++ }
++
++ /* Detach an MTD device command */
++ case UBI_IOCDET:
++ {
++ int ubi_num;
++
++ dbg_gen("dettach MTD device");
++ err = get_user(ubi_num, (__user int32_t *)argp);
++ if (err) {
++ err = -EFAULT;
++ break;
++ }
++
++ mutex_lock(&ubi_devices_mutex);
++ err = ubi_detach_mtd_dev(ubi_num, 0);
++ mutex_unlock(&ubi_devices_mutex);
++ break;
++ }
++
++ default:
++ err = -ENOTTY;
++ break;
++ }
++
++ return err;
++}
++
++#ifdef CONFIG_COMPAT
++static long vol_cdev_compat_ioctl(struct file *file, unsigned int cmd,
++ unsigned long arg)
++{
++ unsigned long translated_arg = (unsigned long)compat_ptr(arg);
++
++ return vol_cdev_ioctl(file, cmd, translated_arg);
++}
++
++static long ubi_cdev_compat_ioctl(struct file *file, unsigned int cmd,
++ unsigned long arg)
++{
++ unsigned long translated_arg = (unsigned long)compat_ptr(arg);
++
++ return ubi_cdev_ioctl(file, cmd, translated_arg);
++}
++
++static long ctrl_cdev_compat_ioctl(struct file *file, unsigned int cmd,
++ unsigned long arg)
++{
++ unsigned long translated_arg = (unsigned long)compat_ptr(arg);
++
++ return ctrl_cdev_ioctl(file, cmd, translated_arg);
++}
++#else
++#define vol_cdev_compat_ioctl NULL
++#define ubi_cdev_compat_ioctl NULL
++#define ctrl_cdev_compat_ioctl NULL
++#endif
++
++/* UBI volume character device operations */
++const struct file_operations ubi_vol_cdev_operations = {
++ .owner = THIS_MODULE,
++ .open = vol_cdev_open,
++ .release = vol_cdev_release,
++ .llseek = vol_cdev_llseek,
++ .read = vol_cdev_read,
++ .write = vol_cdev_write,
++ .fsync = vol_cdev_fsync,
++ .unlocked_ioctl = vol_cdev_ioctl,
++ .compat_ioctl = vol_cdev_compat_ioctl,
++};
++
+ /* UBI character device operations */
+-struct file_operations ubi_cdev_operations = {
+- .owner = THIS_MODULE,
+- .ioctl = ubi_cdev_ioctl,
+- .llseek = no_llseek,
++const struct file_operations ubi_cdev_operations = {
++ .owner = THIS_MODULE,
++ .llseek = no_llseek,
++ .unlocked_ioctl = ubi_cdev_ioctl,
++ .compat_ioctl = ubi_cdev_compat_ioctl,
+ };
+
+-/* UBI volume character device operations */
+-struct file_operations ubi_vol_cdev_operations = {
+- .owner = THIS_MODULE,
+- .open = vol_cdev_open,
+- .release = vol_cdev_release,
+- .llseek = vol_cdev_llseek,
+- .read = vol_cdev_read,
+- .write = vol_cdev_write,
+- .ioctl = vol_cdev_ioctl,
++/* UBI control character device operations */
++const struct file_operations ubi_ctrl_cdev_operations = {
++ .owner = THIS_MODULE,
++ .unlocked_ioctl = ctrl_cdev_ioctl,
++ .compat_ioctl = ctrl_cdev_compat_ioctl,
+ };
+diff -Nurd linux-2.6.24/drivers/mtd/ubi/debug.c ubifs-v2.6.24/drivers/mtd/ubi/debug.c
+--- linux-2.6.24/drivers/mtd/ubi/debug.c 2008-01-25 00:58:37.000000000 +0200
++++ ubifs-v2.6.24/drivers/mtd/ubi/debug.c 2009-04-07 17:14:47.000000000 +0200
+@@ -24,7 +24,7 @@
+ * changes.
+ */
+
+-#ifdef CONFIG_MTD_UBI_DEBUG_MSG
++#ifdef CONFIG_MTD_UBI_DEBUG
+
+ #include "ubi.h"
+
+@@ -34,14 +34,19 @@
+ */
+ void ubi_dbg_dump_ec_hdr(const struct ubi_ec_hdr *ec_hdr)
+ {
+- dbg_msg("erase counter header dump:");
+- dbg_msg("magic %#08x", be32_to_cpu(ec_hdr->magic));
+- dbg_msg("version %d", (int)ec_hdr->version);
+- dbg_msg("ec %llu", (long long)be64_to_cpu(ec_hdr->ec));
+- dbg_msg("vid_hdr_offset %d", be32_to_cpu(ec_hdr->vid_hdr_offset));
+- dbg_msg("data_offset %d", be32_to_cpu(ec_hdr->data_offset));
+- dbg_msg("hdr_crc %#08x", be32_to_cpu(ec_hdr->hdr_crc));
+- dbg_msg("erase counter header hexdump:");
++ printk(KERN_DEBUG "Erase counter header dump:\n");
++ printk(KERN_DEBUG "\tmagic %#08x\n",
++ be32_to_cpu(ec_hdr->magic));
++ printk(KERN_DEBUG "\tversion %d\n", (int)ec_hdr->version);
++ printk(KERN_DEBUG "\tec %llu\n",
++ (long long)be64_to_cpu(ec_hdr->ec));
++ printk(KERN_DEBUG "\tvid_hdr_offset %d\n",
++ be32_to_cpu(ec_hdr->vid_hdr_offset));
++ printk(KERN_DEBUG "\tdata_offset %d\n",
++ be32_to_cpu(ec_hdr->data_offset));
++ printk(KERN_DEBUG "\thdr_crc %#08x\n",
++ be32_to_cpu(ec_hdr->hdr_crc));
++ printk(KERN_DEBUG "erase counter header hexdump:\n");
+ print_hex_dump(KERN_DEBUG, "", DUMP_PREFIX_OFFSET, 32, 1,
+ ec_hdr, UBI_EC_HDR_SIZE, 1);
+ }
+@@ -52,22 +57,23 @@
+ */
+ void ubi_dbg_dump_vid_hdr(const struct ubi_vid_hdr *vid_hdr)
+ {
+- dbg_msg("volume identifier header dump:");
+- dbg_msg("magic %08x", be32_to_cpu(vid_hdr->magic));
+- dbg_msg("version %d", (int)vid_hdr->version);
+- dbg_msg("vol_type %d", (int)vid_hdr->vol_type);
+- dbg_msg("copy_flag %d", (int)vid_hdr->copy_flag);
+- dbg_msg("compat %d", (int)vid_hdr->compat);
+- dbg_msg("vol_id %d", be32_to_cpu(vid_hdr->vol_id));
+- dbg_msg("lnum %d", be32_to_cpu(vid_hdr->lnum));
+- dbg_msg("leb_ver %u", be32_to_cpu(vid_hdr->leb_ver));
+- dbg_msg("data_size %d", be32_to_cpu(vid_hdr->data_size));
+- dbg_msg("used_ebs %d", be32_to_cpu(vid_hdr->used_ebs));
+- dbg_msg("data_pad %d", be32_to_cpu(vid_hdr->data_pad));
+- dbg_msg("sqnum %llu",
++ printk(KERN_DEBUG "Volume identifier header dump:\n");
++ printk(KERN_DEBUG "\tmagic %08x\n", be32_to_cpu(vid_hdr->magic));
++ printk(KERN_DEBUG "\tversion %d\n", (int)vid_hdr->version);
++ printk(KERN_DEBUG "\tvol_type %d\n", (int)vid_hdr->vol_type);
++ printk(KERN_DEBUG "\tcopy_flag %d\n", (int)vid_hdr->copy_flag);
++ printk(KERN_DEBUG "\tcompat %d\n", (int)vid_hdr->compat);
++ printk(KERN_DEBUG "\tvol_id %d\n", be32_to_cpu(vid_hdr->vol_id));
++ printk(KERN_DEBUG "\tlnum %d\n", be32_to_cpu(vid_hdr->lnum));
++ printk(KERN_DEBUG "\tdata_size %d\n", be32_to_cpu(vid_hdr->data_size));
++ printk(KERN_DEBUG "\tused_ebs %d\n", be32_to_cpu(vid_hdr->used_ebs));
++ printk(KERN_DEBUG "\tdata_pad %d\n", be32_to_cpu(vid_hdr->data_pad));
++ printk(KERN_DEBUG "\tsqnum %llu\n",
+ (unsigned long long)be64_to_cpu(vid_hdr->sqnum));
+- dbg_msg("hdr_crc %08x", be32_to_cpu(vid_hdr->hdr_crc));
+- dbg_msg("volume identifier header hexdump:");
++ printk(KERN_DEBUG "\thdr_crc %08x\n", be32_to_cpu(vid_hdr->hdr_crc));
++ printk(KERN_DEBUG "Volume identifier header hexdump:\n");
++ print_hex_dump(KERN_DEBUG, "", DUMP_PREFIX_OFFSET, 32, 1,
++ vid_hdr, UBI_VID_HDR_SIZE, 1);
+ }
+
+ /**
+@@ -76,27 +82,27 @@
+ */
+ void ubi_dbg_dump_vol_info(const struct ubi_volume *vol)
+ {
+- dbg_msg("volume information dump:");
+- dbg_msg("vol_id %d", vol->vol_id);
+- dbg_msg("reserved_pebs %d", vol->reserved_pebs);
+- dbg_msg("alignment %d", vol->alignment);
+- dbg_msg("data_pad %d", vol->data_pad);
+- dbg_msg("vol_type %d", vol->vol_type);
+- dbg_msg("name_len %d", vol->name_len);
+- dbg_msg("usable_leb_size %d", vol->usable_leb_size);
+- dbg_msg("used_ebs %d", vol->used_ebs);
+- dbg_msg("used_bytes %lld", vol->used_bytes);
+- dbg_msg("last_eb_bytes %d", vol->last_eb_bytes);
+- dbg_msg("corrupted %d", vol->corrupted);
+- dbg_msg("upd_marker %d", vol->upd_marker);
++ printk(KERN_DEBUG "Volume information dump:\n");
++ printk(KERN_DEBUG "\tvol_id %d\n", vol->vol_id);
++ printk(KERN_DEBUG "\treserved_pebs %d\n", vol->reserved_pebs);
++ printk(KERN_DEBUG "\talignment %d\n", vol->alignment);
++ printk(KERN_DEBUG "\tdata_pad %d\n", vol->data_pad);
++ printk(KERN_DEBUG "\tvol_type %d\n", vol->vol_type);
++ printk(KERN_DEBUG "\tname_len %d\n", vol->name_len);
++ printk(KERN_DEBUG "\tusable_leb_size %d\n", vol->usable_leb_size);
++ printk(KERN_DEBUG "\tused_ebs %d\n", vol->used_ebs);
++ printk(KERN_DEBUG "\tused_bytes %lld\n", vol->used_bytes);
++ printk(KERN_DEBUG "\tlast_eb_bytes %d\n", vol->last_eb_bytes);
++ printk(KERN_DEBUG "\tcorrupted %d\n", vol->corrupted);
++ printk(KERN_DEBUG "\tupd_marker %d\n", vol->upd_marker);
+
+ if (vol->name_len <= UBI_VOL_NAME_MAX &&
+ strnlen(vol->name, vol->name_len + 1) == vol->name_len) {
+- dbg_msg("name %s", vol->name);
++ printk(KERN_DEBUG "\tname %s\n", vol->name);
+ } else {
+- dbg_msg("the 1st 5 characters of the name: %c%c%c%c%c",
+- vol->name[0], vol->name[1], vol->name[2],
+- vol->name[3], vol->name[4]);
++ printk(KERN_DEBUG "\t1st 5 characters of name: %c%c%c%c%c\n",
++ vol->name[0], vol->name[1], vol->name[2],
++ vol->name[3], vol->name[4]);
+ }
+ }
+
+@@ -109,28 +115,29 @@
+ {
+ int name_len = be16_to_cpu(r->name_len);
+
+- dbg_msg("volume table record %d dump:", idx);
+- dbg_msg("reserved_pebs %d", be32_to_cpu(r->reserved_pebs));
+- dbg_msg("alignment %d", be32_to_cpu(r->alignment));
+- dbg_msg("data_pad %d", be32_to_cpu(r->data_pad));
+- dbg_msg("vol_type %d", (int)r->vol_type);
+- dbg_msg("upd_marker %d", (int)r->upd_marker);
+- dbg_msg("name_len %d", name_len);
++ printk(KERN_DEBUG "Volume table record %d dump:\n", idx);
++ printk(KERN_DEBUG "\treserved_pebs %d\n",
++ be32_to_cpu(r->reserved_pebs));
++ printk(KERN_DEBUG "\talignment %d\n", be32_to_cpu(r->alignment));
++ printk(KERN_DEBUG "\tdata_pad %d\n", be32_to_cpu(r->data_pad));
++ printk(KERN_DEBUG "\tvol_type %d\n", (int)r->vol_type);
++ printk(KERN_DEBUG "\tupd_marker %d\n", (int)r->upd_marker);
++ printk(KERN_DEBUG "\tname_len %d\n", name_len);
+
+ if (r->name[0] == '\0') {
+- dbg_msg("name NULL");
++ printk(KERN_DEBUG "\tname NULL\n");
+ return;
+ }
+
+ if (name_len <= UBI_VOL_NAME_MAX &&
+ strnlen(&r->name[0], name_len + 1) == name_len) {
+- dbg_msg("name %s", &r->name[0]);
++ printk(KERN_DEBUG "\tname %s\n", &r->name[0]);
+ } else {
+- dbg_msg("1st 5 characters of the name: %c%c%c%c%c",
++ printk(KERN_DEBUG "\t1st 5 characters of name: %c%c%c%c%c\n",
+ r->name[0], r->name[1], r->name[2], r->name[3],
+ r->name[4]);
+ }
+- dbg_msg("crc %#08x", be32_to_cpu(r->crc));
++ printk(KERN_DEBUG "\tcrc %#08x\n", be32_to_cpu(r->crc));
+ }
+
+ /**
+@@ -139,15 +146,15 @@
+ */
+ void ubi_dbg_dump_sv(const struct ubi_scan_volume *sv)
+ {
+- dbg_msg("volume scanning information dump:");
+- dbg_msg("vol_id %d", sv->vol_id);
+- dbg_msg("highest_lnum %d", sv->highest_lnum);
+- dbg_msg("leb_count %d", sv->leb_count);
+- dbg_msg("compat %d", sv->compat);
+- dbg_msg("vol_type %d", sv->vol_type);
+- dbg_msg("used_ebs %d", sv->used_ebs);
+- dbg_msg("last_data_size %d", sv->last_data_size);
+- dbg_msg("data_pad %d", sv->data_pad);
++ printk(KERN_DEBUG "Volume scanning information dump:\n");
++ printk(KERN_DEBUG "\tvol_id %d\n", sv->vol_id);
++ printk(KERN_DEBUG "\thighest_lnum %d\n", sv->highest_lnum);
++ printk(KERN_DEBUG "\tleb_count %d\n", sv->leb_count);
++ printk(KERN_DEBUG "\tcompat %d\n", sv->compat);
++ printk(KERN_DEBUG "\tvol_type %d\n", sv->vol_type);
++ printk(KERN_DEBUG "\tused_ebs %d\n", sv->used_ebs);
++ printk(KERN_DEBUG "\tlast_data_size %d\n", sv->last_data_size);
++ printk(KERN_DEBUG "\tdata_pad %d\n", sv->data_pad);
+ }
+
+ /**
+@@ -157,14 +164,13 @@
+ */
+ void ubi_dbg_dump_seb(const struct ubi_scan_leb *seb, int type)
+ {
+- dbg_msg("eraseblock scanning information dump:");
+- dbg_msg("ec %d", seb->ec);
+- dbg_msg("pnum %d", seb->pnum);
++ printk(KERN_DEBUG "eraseblock scanning information dump:\n");
++ printk(KERN_DEBUG "\tec %d\n", seb->ec);
++ printk(KERN_DEBUG "\tpnum %d\n", seb->pnum);
+ if (type == 0) {
+- dbg_msg("lnum %d", seb->lnum);
+- dbg_msg("scrub %d", seb->scrub);
+- dbg_msg("sqnum %llu", seb->sqnum);
+- dbg_msg("leb_ver %u", seb->leb_ver);
++ printk(KERN_DEBUG "\tlnum %d\n", seb->lnum);
++ printk(KERN_DEBUG "\tscrub %d\n", seb->scrub);
++ printk(KERN_DEBUG "\tsqnum %llu\n", seb->sqnum);
+ }
+ }
+
+@@ -176,16 +182,16 @@
+ {
+ char nm[17];
+
+- dbg_msg("volume creation request dump:");
+- dbg_msg("vol_id %d", req->vol_id);
+- dbg_msg("alignment %d", req->alignment);
+- dbg_msg("bytes %lld", (long long)req->bytes);
+- dbg_msg("vol_type %d", req->vol_type);
+- dbg_msg("name_len %d", req->name_len);
++ printk(KERN_DEBUG "Volume creation request dump:\n");
++ printk(KERN_DEBUG "\tvol_id %d\n", req->vol_id);
++ printk(KERN_DEBUG "\talignment %d\n", req->alignment);
++ printk(KERN_DEBUG "\tbytes %lld\n", (long long)req->bytes);
++ printk(KERN_DEBUG "\tvol_type %d\n", req->vol_type);
++ printk(KERN_DEBUG "\tname_len %d\n", req->name_len);
+
+ memcpy(nm, req->name, 16);
+ nm[16] = 0;
+- dbg_msg("the 1st 16 characters of the name: %s", nm);
++ printk(KERN_DEBUG "\t1st 16 characters of name: %s\n", nm);
+ }
+
+-#endif /* CONFIG_MTD_UBI_DEBUG_MSG */
++#endif /* CONFIG_MTD_UBI_DEBUG */
+diff -Nurd linux-2.6.24/drivers/mtd/ubi/debug.h ubifs-v2.6.24/drivers/mtd/ubi/debug.h
+--- linux-2.6.24/drivers/mtd/ubi/debug.h 2008-01-25 00:58:37.000000000 +0200
++++ ubifs-v2.6.24/drivers/mtd/ubi/debug.h 2009-04-07 17:14:47.000000000 +0200
+@@ -24,23 +24,19 @@
+ #ifdef CONFIG_MTD_UBI_DEBUG
+ #include <linux/random.h>
+
+-#define ubi_assert(expr) BUG_ON(!(expr))
+ #define dbg_err(fmt, ...) ubi_err(fmt, ##__VA_ARGS__)
+-#else
+-#define ubi_assert(expr) ({})
+-#define dbg_err(fmt, ...) ({})
+-#endif
+
+-#ifdef CONFIG_MTD_UBI_DEBUG_DISABLE_BGT
+-#define DBG_DISABLE_BGT 1
+-#else
+-#define DBG_DISABLE_BGT 0
+-#endif
++#define ubi_assert(expr) do { \
++ if (unlikely(!(expr))) { \
++ printk(KERN_CRIT "UBI assert failed in %s at %u (pid %d)\n", \
++ __func__, __LINE__, current->pid); \
++ ubi_dbg_dump_stack(); \
++ } \
++} while (0)
+
+-#ifdef CONFIG_MTD_UBI_DEBUG_MSG
+-/* Generic debugging message */
+-#define dbg_msg(fmt, ...) \
+- printk(KERN_DEBUG "UBI DBG: %s: " fmt "\n", __FUNCTION__, ##__VA_ARGS__)
++#define dbg_msg(fmt, ...) \
++ printk(KERN_DEBUG "UBI DBG (pid %d): %s: " fmt "\n", \
++ current->pid, __FUNCTION__, ##__VA_ARGS__)
+
+ #define ubi_dbg_dump_stack() dump_stack()
+
+@@ -60,54 +56,47 @@
+ void ubi_dbg_dump_seb(const struct ubi_scan_leb *seb, int type);
+ void ubi_dbg_dump_mkvol_req(const struct ubi_mkvol_req *req);
+
++#ifdef CONFIG_MTD_UBI_DEBUG_MSG
++/* General debugging messages */
++#define dbg_gen(fmt, ...) dbg_msg(fmt, ##__VA_ARGS__)
+ #else
+-
+-#define dbg_msg(fmt, ...) ({})
+-#define ubi_dbg_dump_stack() ({})
+-#define ubi_dbg_dump_ec_hdr(ec_hdr) ({})
+-#define ubi_dbg_dump_vid_hdr(vid_hdr) ({})
+-#define ubi_dbg_dump_vol_info(vol) ({})
+-#define ubi_dbg_dump_vtbl_record(r, idx) ({})
+-#define ubi_dbg_dump_sv(sv) ({})
+-#define ubi_dbg_dump_seb(seb, type) ({})
+-#define ubi_dbg_dump_mkvol_req(req) ({})
+-
+-#endif /* CONFIG_MTD_UBI_DEBUG_MSG */
++#define dbg_gen(fmt, ...) ({})
++#endif
+
+ #ifdef CONFIG_MTD_UBI_DEBUG_MSG_EBA
+-/* Messages from the eraseblock association unit */
+-#define dbg_eba(fmt, ...) \
+- printk(KERN_DEBUG "UBI DBG eba: %s: " fmt "\n", __FUNCTION__, \
+- ##__VA_ARGS__)
++/* Messages from the eraseblock association sub-system */
++#define dbg_eba(fmt, ...) dbg_msg(fmt, ##__VA_ARGS__)
+ #else
+ #define dbg_eba(fmt, ...) ({})
+ #endif
+
+ #ifdef CONFIG_MTD_UBI_DEBUG_MSG_WL
+-/* Messages from the wear-leveling unit */
+-#define dbg_wl(fmt, ...) \
+- printk(KERN_DEBUG "UBI DBG wl: %s: " fmt "\n", __FUNCTION__, \
+- ##__VA_ARGS__)
++/* Messages from the wear-leveling sub-system */
++#define dbg_wl(fmt, ...) dbg_msg(fmt, ##__VA_ARGS__)
+ #else
+ #define dbg_wl(fmt, ...) ({})
+ #endif
+
+ #ifdef CONFIG_MTD_UBI_DEBUG_MSG_IO
+-/* Messages from the input/output unit */
+-#define dbg_io(fmt, ...) \
+- printk(KERN_DEBUG "UBI DBG io: %s: " fmt "\n", __FUNCTION__, \
+- ##__VA_ARGS__)
++/* Messages from the input/output sub-system */
++#define dbg_io(fmt, ...) dbg_msg(fmt, ##__VA_ARGS__)
+ #else
+ #define dbg_io(fmt, ...) ({})
+ #endif
+
+ #ifdef CONFIG_MTD_UBI_DEBUG_MSG_BLD
+ /* Initialization and build messages */
+-#define dbg_bld(fmt, ...) \
+- printk(KERN_DEBUG "UBI DBG bld: %s: " fmt "\n", __FUNCTION__, \
+- ##__VA_ARGS__)
++#define dbg_bld(fmt, ...) dbg_msg(fmt, ##__VA_ARGS__)
++#define UBI_IO_DEBUG 1
+ #else
+ #define dbg_bld(fmt, ...) ({})
++#define UBI_IO_DEBUG 0
++#endif
++
++#ifdef CONFIG_MTD_UBI_DEBUG_DISABLE_BGT
++#define DBG_DISABLE_BGT 1
++#else
++#define DBG_DISABLE_BGT 0
+ #endif
+
+ #ifdef CONFIG_MTD_UBI_DEBUG_EMULATE_BITFLIPS
+@@ -154,4 +143,50 @@
+ #define ubi_dbg_is_erase_failure() 0
+ #endif
+
++#else
++
++#define ubi_assert(expr) ({})
++#define dbg_err(fmt, ...) ({})
++#define dbg_msg(fmt, ...) ({})
++#define dbg_gen(fmt, ...) ({})
++#define dbg_eba(fmt, ...) ({})
++#define dbg_wl(fmt, ...) ({})
++#define dbg_io(fmt, ...) ({})
++#define dbg_bld(fmt, ...) ({})
++#define ubi_dbg_dump_stack() ({})
++#define ubi_dbg_dump_ec_hdr(ec_hdr) ({})
++#define ubi_dbg_dump_vid_hdr(vid_hdr) ({})
++#define ubi_dbg_dump_vol_info(vol) ({})
++#define ubi_dbg_dump_vtbl_record(r, idx) ({})
++#define ubi_dbg_dump_sv(sv) ({})
++#define ubi_dbg_dump_seb(seb, type) ({})
++#define ubi_dbg_dump_mkvol_req(req) ({})
++
++#define UBI_IO_DEBUG 0
++#define DBG_DISABLE_BGT 0
++#define ubi_dbg_is_bitflip() 0
++#define ubi_dbg_is_write_failure() 0
++#define ubi_dbg_is_erase_failure() 0
++
++#endif /* !CONFIG_MTD_UBI_DEBUG */
++
++/*
++ * Some compatibility stuff goes here.
++ */
++
++#include <asm/div64.h>
++
++static inline uint64_t div_u64(uint64_t dividend, uint64_t divisor)
++{
++ do_div(dividend, divisor);
++ return dividend;
++}
++
++static inline uint64_t div_u64_rem(uint64_t dividend, uint32_t divisor,
++ uint32_t *remainder)
++{
++ *remainder = do_div(dividend, divisor);
++ return dividend;
++}
++
+ #endif /* !__UBI_DEBUG_H__ */
+diff -Nurd linux-2.6.24/drivers/mtd/ubi/eba.c ubifs-v2.6.24/drivers/mtd/ubi/eba.c
+--- linux-2.6.24/drivers/mtd/ubi/eba.c 2008-01-25 00:58:37.000000000 +0200
++++ ubifs-v2.6.24/drivers/mtd/ubi/eba.c 2009-04-07 17:14:47.000000000 +0200
+@@ -19,20 +19,20 @@
+ */
+
+ /*
+- * The UBI Eraseblock Association (EBA) unit.
++ * The UBI Eraseblock Association (EBA) sub-system.
+ *
+- * This unit is responsible for I/O to/from logical eraseblock.
++ * This sub-system is responsible for I/O to/from logical eraseblock.
+ *
+ * Although in this implementation the EBA table is fully kept and managed in
+ * RAM, which assumes poor scalability, it might be (partially) maintained on
+ * flash in future implementations.
+ *
+- * The EBA unit implements per-logical eraseblock locking. Before accessing a
+- * logical eraseblock it is locked for reading or writing. The per-logical
+- * eraseblock locking is implemented by means of the lock tree. The lock tree
+- * is an RB-tree which refers all the currently locked logical eraseblocks. The
+- * lock tree elements are &struct ltree_entry objects. They are indexed by
+- * (@vol_id, @lnum) pairs.
++ * The EBA sub-system implements per-logical eraseblock locking. Before
++ * accessing a logical eraseblock it is locked for reading or writing. The
++ * per-logical eraseblock locking is implemented by means of the lock tree. The
++ * lock tree is an RB-tree which refers all the currently locked logical
++ * eraseblocks. The lock tree elements are &struct ubi_ltree_entry objects.
++ * They are indexed by (@vol_id, @lnum) pairs.
+ *
+ * EBA also maintains the global sequence counter which is incremented each
+ * time a logical eraseblock is mapped to a physical eraseblock and it is
+@@ -50,29 +50,6 @@
+ #define EBA_RESERVED_PEBS 1
+
+ /**
+- * struct ltree_entry - an entry in the lock tree.
+- * @rb: links RB-tree nodes
+- * @vol_id: volume ID of the locked logical eraseblock
+- * @lnum: locked logical eraseblock number
+- * @users: how many tasks are using this logical eraseblock or wait for it
+- * @mutex: read/write mutex to implement read/write access serialization to
+- * the (@vol_id, @lnum) logical eraseblock
+- *
+- * When a logical eraseblock is being locked - corresponding &struct ltree_entry
+- * object is inserted to the lock tree (@ubi->ltree).
+- */
+-struct ltree_entry {
+- struct rb_node rb;
+- int vol_id;
+- int lnum;
+- int users;
+- struct rw_semaphore mutex;
+-};
+-
+-/* Slab cache for lock-tree entries */
+-static struct kmem_cache *ltree_slab;
+-
+-/**
+ * next_sqnum - get next sequence number.
+ * @ubi: UBI device description object
+ *
+@@ -101,7 +78,7 @@
+ */
+ static int ubi_get_compat(const struct ubi_device *ubi, int vol_id)
+ {
+- if (vol_id == UBI_LAYOUT_VOL_ID)
++ if (vol_id == UBI_LAYOUT_VOLUME_ID)
+ return UBI_LAYOUT_VOLUME_COMPAT;
+ return 0;
+ }
+@@ -112,20 +89,20 @@
+ * @vol_id: volume ID
+ * @lnum: logical eraseblock number
+ *
+- * This function returns a pointer to the corresponding &struct ltree_entry
++ * This function returns a pointer to the corresponding &struct ubi_ltree_entry
+ * object if the logical eraseblock is locked and %NULL if it is not.
+ * @ubi->ltree_lock has to be locked.
+ */
+-static struct ltree_entry *ltree_lookup(struct ubi_device *ubi, int vol_id,
+- int lnum)
++static struct ubi_ltree_entry *ltree_lookup(struct ubi_device *ubi, int vol_id,
++ int lnum)
+ {
+ struct rb_node *p;
+
+ p = ubi->ltree.rb_node;
+ while (p) {
+- struct ltree_entry *le;
++ struct ubi_ltree_entry *le;
+
+- le = rb_entry(p, struct ltree_entry, rb);
++ le = rb_entry(p, struct ubi_ltree_entry, rb);
+
+ if (vol_id < le->vol_id)
+ p = p->rb_left;
+@@ -155,15 +132,17 @@
+ * Returns pointer to the lock tree entry or %-ENOMEM if memory allocation
+ * failed.
+ */
+-static struct ltree_entry *ltree_add_entry(struct ubi_device *ubi, int vol_id,
+- int lnum)
++static struct ubi_ltree_entry *ltree_add_entry(struct ubi_device *ubi,
++ int vol_id, int lnum)
+ {
+- struct ltree_entry *le, *le1, *le_free;
++ struct ubi_ltree_entry *le, *le1, *le_free;
+
+- le = kmem_cache_alloc(ltree_slab, GFP_NOFS);
++ le = kmalloc(sizeof(struct ubi_ltree_entry), GFP_NOFS);
+ if (!le)
+ return ERR_PTR(-ENOMEM);
+
++ le->users = 0;
++ init_rwsem(&le->mutex);
+ le->vol_id = vol_id;
+ le->lnum = lnum;
+
+@@ -189,7 +168,7 @@
+ p = &ubi->ltree.rb_node;
+ while (*p) {
+ parent = *p;
+- le1 = rb_entry(parent, struct ltree_entry, rb);
++ le1 = rb_entry(parent, struct ubi_ltree_entry, rb);
+
+ if (vol_id < le1->vol_id)
+ p = &(*p)->rb_left;
+@@ -210,9 +189,7 @@
+ le->users += 1;
+ spin_unlock(&ubi->ltree_lock);
+
+- if (le_free)
+- kmem_cache_free(ltree_slab, le_free);
+-
++ kfree(le_free);
+ return le;
+ }
+
+@@ -227,7 +204,7 @@
+ */
+ static int leb_read_lock(struct ubi_device *ubi, int vol_id, int lnum)
+ {
+- struct ltree_entry *le;
++ struct ubi_ltree_entry *le;
+
+ le = ltree_add_entry(ubi, vol_id, lnum);
+ if (IS_ERR(le))
+@@ -244,22 +221,18 @@
+ */
+ static void leb_read_unlock(struct ubi_device *ubi, int vol_id, int lnum)
+ {
+- int free = 0;
+- struct ltree_entry *le;
++ struct ubi_ltree_entry *le;
+
+ spin_lock(&ubi->ltree_lock);
+ le = ltree_lookup(ubi, vol_id, lnum);
+ le->users -= 1;
+ ubi_assert(le->users >= 0);
++ up_read(&le->mutex);
+ if (le->users == 0) {
+ rb_erase(&le->rb, &ubi->ltree);
+- free = 1;
++ kfree(le);
+ }
+ spin_unlock(&ubi->ltree_lock);
+-
+- up_read(&le->mutex);
+- if (free)
+- kmem_cache_free(ltree_slab, le);
+ }
+
+ /**
+@@ -273,7 +246,7 @@
+ */
+ static int leb_write_lock(struct ubi_device *ubi, int vol_id, int lnum)
+ {
+- struct ltree_entry *le;
++ struct ubi_ltree_entry *le;
+
+ le = ltree_add_entry(ubi, vol_id, lnum);
+ if (IS_ERR(le))
+@@ -283,6 +256,40 @@
+ }
+
+ /**
++ * leb_write_lock - lock logical eraseblock for writing.
++ * @ubi: UBI device description object
++ * @vol_id: volume ID
++ * @lnum: logical eraseblock number
++ *
++ * This function locks a logical eraseblock for writing if there is no
++ * contention and does nothing if there is contention. Returns %0 in case of
++ * success, %1 in case of contention, and and a negative error code in case of
++ * failure.
++ */
++static int leb_write_trylock(struct ubi_device *ubi, int vol_id, int lnum)
++{
++ struct ubi_ltree_entry *le;
++
++ le = ltree_add_entry(ubi, vol_id, lnum);
++ if (IS_ERR(le))
++ return PTR_ERR(le);
++ if (down_write_trylock(&le->mutex))
++ return 0;
++
++ /* Contention, cancel */
++ spin_lock(&ubi->ltree_lock);
++ le->users -= 1;
++ ubi_assert(le->users >= 0);
++ if (le->users == 0) {
++ rb_erase(&le->rb, &ubi->ltree);
++ kfree(le);
++ }
++ spin_unlock(&ubi->ltree_lock);
++
++ return 1;
++}
++
++/**
+ * leb_write_unlock - unlock logical eraseblock.
+ * @ubi: UBI device description object
+ * @vol_id: volume ID
+@@ -290,39 +297,34 @@
+ */
+ static void leb_write_unlock(struct ubi_device *ubi, int vol_id, int lnum)
+ {
+- int free;
+- struct ltree_entry *le;
++ struct ubi_ltree_entry *le;
+
+ spin_lock(&ubi->ltree_lock);
+ le = ltree_lookup(ubi, vol_id, lnum);
+ le->users -= 1;
+ ubi_assert(le->users >= 0);
++ up_write(&le->mutex);
+ if (le->users == 0) {
+ rb_erase(&le->rb, &ubi->ltree);
+- free = 1;
+- } else
+- free = 0;
++ kfree(le);
++ }
+ spin_unlock(&ubi->ltree_lock);
+-
+- up_write(&le->mutex);
+- if (free)
+- kmem_cache_free(ltree_slab, le);
+ }
+
+ /**
+ * ubi_eba_unmap_leb - un-map logical eraseblock.
+ * @ubi: UBI device description object
+- * @vol_id: volume ID
++ * @vol: volume description object
+ * @lnum: logical eraseblock number
+ *
+ * This function un-maps logical eraseblock @lnum and schedules corresponding
+ * physical eraseblock for erasure. Returns zero in case of success and a
+ * negative error code in case of failure.
+ */
+-int ubi_eba_unmap_leb(struct ubi_device *ubi, int vol_id, int lnum)
++int ubi_eba_unmap_leb(struct ubi_device *ubi, struct ubi_volume *vol,
++ int lnum)
+ {
+- int idx = vol_id2idx(ubi, vol_id), err, pnum;
+- struct ubi_volume *vol = ubi->volumes[idx];
++ int err, pnum, vol_id = vol->vol_id;
+
+ if (ubi->ro_mode)
+ return -EROFS;
+@@ -349,7 +351,7 @@
+ /**
+ * ubi_eba_read_leb - read data.
+ * @ubi: UBI device description object
+- * @vol_id: volume ID
++ * @vol: volume description object
+ * @lnum: logical eraseblock number
+ * @buf: buffer to store the read data
+ * @offset: offset from where to read
+@@ -365,12 +367,11 @@
+ * returned for any volume type if an ECC error was detected by the MTD device
+ * driver. Other negative error cored may be returned in case of other errors.
+ */
+-int ubi_eba_read_leb(struct ubi_device *ubi, int vol_id, int lnum, void *buf,
+- int offset, int len, int check)
++int ubi_eba_read_leb(struct ubi_device *ubi, struct ubi_volume *vol, int lnum,
++ void *buf, int offset, int len, int check)
+ {
+- int err, pnum, scrub = 0, idx = vol_id2idx(ubi, vol_id);
++ int err, pnum, scrub = 0, vol_id = vol->vol_id;
+ struct ubi_vid_hdr *vid_hdr;
+- struct ubi_volume *vol = ubi->volumes[idx];
+ uint32_t uninitialized_var(crc);
+
+ err = leb_read_lock(ubi, vol_id, lnum);
+@@ -500,16 +501,12 @@
+ struct ubi_vid_hdr *vid_hdr;
+
+ vid_hdr = ubi_zalloc_vid_hdr(ubi, GFP_NOFS);
+- if (!vid_hdr) {
++ if (!vid_hdr)
+ return -ENOMEM;
+- }
+-
+- mutex_lock(&ubi->buf_mutex);
+
+ retry:
+ new_pnum = ubi_wl_get_peb(ubi, UBI_UNKNOWN);
+ if (new_pnum < 0) {
+- mutex_unlock(&ubi->buf_mutex);
+ ubi_free_vid_hdr(ubi, vid_hdr);
+ return new_pnum;
+ }
+@@ -529,20 +526,23 @@
+ goto write_error;
+
+ data_size = offset + len;
++ mutex_lock(&ubi->buf_mutex);
+ memset(ubi->peb_buf1 + offset, 0xFF, len);
+
+ /* Read everything before the area where the write failure happened */
+ if (offset > 0) {
+ err = ubi_io_read_data(ubi, ubi->peb_buf1, pnum, 0, offset);
+ if (err && err != UBI_IO_BITFLIPS)
+- goto out_put;
++ goto out_unlock;
+ }
+
+ memcpy(ubi->peb_buf1 + offset, buf, len);
+
+ err = ubi_io_write_data(ubi, ubi->peb_buf1, new_pnum, 0, data_size);
+- if (err)
++ if (err) {
++ mutex_unlock(&ubi->buf_mutex);
+ goto write_error;
++ }
+
+ mutex_unlock(&ubi->buf_mutex);
+ ubi_free_vid_hdr(ubi, vid_hdr);
+@@ -553,8 +553,9 @@
+ ubi_msg("data was successfully recovered");
+ return 0;
+
+-out_put:
++out_unlock:
+ mutex_unlock(&ubi->buf_mutex);
++out_put:
+ ubi_wl_put_peb(ubi, new_pnum, 1);
+ ubi_free_vid_hdr(ubi, vid_hdr);
+ return err;
+@@ -567,7 +568,6 @@
+ ubi_warn("failed to write to PEB %d", new_pnum);
+ ubi_wl_put_peb(ubi, new_pnum, 1);
+ if (++tries > UBI_IO_RETRIES) {
+- mutex_unlock(&ubi->buf_mutex);
+ ubi_free_vid_hdr(ubi, vid_hdr);
+ return err;
+ }
+@@ -578,7 +578,7 @@
+ /**
+ * ubi_eba_write_leb - write data to dynamic volume.
+ * @ubi: UBI device description object
+- * @vol_id: volume ID
++ * @vol: volume description object
+ * @lnum: logical eraseblock number
+ * @buf: the data to write
+ * @offset: offset within the logical eraseblock where to write
+@@ -586,15 +586,14 @@
+ * @dtype: data type
+ *
+ * This function writes data to logical eraseblock @lnum of a dynamic volume
+- * @vol_id. Returns zero in case of success and a negative error code in case
++ * @vol. Returns zero in case of success and a negative error code in case
+ * of failure. In case of error, it is possible that something was still
+ * written to the flash media, but may be some garbage.
+ */
+-int ubi_eba_write_leb(struct ubi_device *ubi, int vol_id, int lnum,
++int ubi_eba_write_leb(struct ubi_device *ubi, struct ubi_volume *vol, int lnum,
+ const void *buf, int offset, int len, int dtype)
+ {
+- int idx = vol_id2idx(ubi, vol_id), err, pnum, tries = 0;
+- struct ubi_volume *vol = ubi->volumes[idx];
++ int err, pnum, tries = 0, vol_id = vol->vol_id;
+ struct ubi_vid_hdr *vid_hdr;
+
+ if (ubi->ro_mode)
+@@ -613,7 +612,8 @@
+ if (err) {
+ ubi_warn("failed to write data to PEB %d", pnum);
+ if (err == -EIO && ubi->bad_allowed)
+- err = recover_peb(ubi, pnum, vol_id, lnum, buf, offset, len);
++ err = recover_peb(ubi, pnum, vol_id, lnum, buf,
++ offset, len);
+ if (err)
+ ubi_ro_mode(ubi);
+ }
+@@ -656,11 +656,14 @@
+ goto write_error;
+ }
+
+- err = ubi_io_write_data(ubi, buf, pnum, offset, len);
+- if (err) {
+- ubi_warn("failed to write %d bytes at offset %d of LEB %d:%d, "
+- "PEB %d", len, offset, vol_id, lnum, pnum);
+- goto write_error;
++ if (len) {
++ err = ubi_io_write_data(ubi, buf, pnum, offset, len);
++ if (err) {
++ ubi_warn("failed to write %d bytes at offset %d of "
++ "LEB %d:%d, PEB %d", len, offset, vol_id,
++ lnum, pnum);
++ goto write_error;
++ }
+ }
+
+ vol->eba_tbl[lnum] = pnum;
+@@ -698,7 +701,7 @@
+ /**
+ * ubi_eba_write_leb_st - write data to static volume.
+ * @ubi: UBI device description object
+- * @vol_id: volume ID
++ * @vol: volume description object
+ * @lnum: logical eraseblock number
+ * @buf: data to write
+ * @len: how many bytes to write
+@@ -706,7 +709,7 @@
+ * @used_ebs: how many logical eraseblocks will this volume contain
+ *
+ * This function writes data to logical eraseblock @lnum of static volume
+- * @vol_id. The @used_ebs argument should contain total number of logical
++ * @vol. The @used_ebs argument should contain total number of logical
+ * eraseblock in this static volume.
+ *
+ * When writing to the last logical eraseblock, the @len argument doesn't have
+@@ -718,12 +721,11 @@
+ * volumes. This function returns zero in case of success and a negative error
+ * code in case of failure.
+ */
+-int ubi_eba_write_leb_st(struct ubi_device *ubi, int vol_id, int lnum,
+- const void *buf, int len, int dtype, int used_ebs)
++int ubi_eba_write_leb_st(struct ubi_device *ubi, struct ubi_volume *vol,
++ int lnum, const void *buf, int len, int dtype,
++ int used_ebs)
+ {
+- int err, pnum, tries = 0, data_size = len;
+- int idx = vol_id2idx(ubi, vol_id);
+- struct ubi_volume *vol = ubi->volumes[idx];
++ int err, pnum, tries = 0, data_size = len, vol_id = vol->vol_id;
+ struct ubi_vid_hdr *vid_hdr;
+ uint32_t crc;
+
+@@ -734,7 +736,7 @@
+ /* If this is the last LEB @len may be unaligned */
+ len = ALIGN(data_size, ubi->min_io_size);
+ else
+- ubi_assert(len % ubi->min_io_size == 0);
++ ubi_assert(!(len & (ubi->min_io_size - 1)));
+
+ vid_hdr = ubi_zalloc_vid_hdr(ubi, GFP_NOFS);
+ if (!vid_hdr)
+@@ -819,7 +821,7 @@
+ /*
+ * ubi_eba_atomic_leb_change - change logical eraseblock atomically.
+ * @ubi: UBI device description object
+- * @vol_id: volume ID
++ * @vol: volume description object
+ * @lnum: logical eraseblock number
+ * @buf: data to write
+ * @len: how many bytes to write
+@@ -834,17 +836,27 @@
+ * UBI reserves one LEB for the "atomic LEB change" operation, so only one
+ * LEB change may be done at a time. This is ensured by @ubi->alc_mutex.
+ */
+-int ubi_eba_atomic_leb_change(struct ubi_device *ubi, int vol_id, int lnum,
+- const void *buf, int len, int dtype)
++int ubi_eba_atomic_leb_change(struct ubi_device *ubi, struct ubi_volume *vol,
++ int lnum, const void *buf, int len, int dtype)
+ {
+- int err, pnum, tries = 0, idx = vol_id2idx(ubi, vol_id);
+- struct ubi_volume *vol = ubi->volumes[idx];
++ int err, pnum, tries = 0, vol_id = vol->vol_id;
+ struct ubi_vid_hdr *vid_hdr;
+ uint32_t crc;
+
+ if (ubi->ro_mode)
+ return -EROFS;
+
++ if (len == 0) {
++ /*
++ * Special case when data length is zero. In this case the LEB
++ * has to be unmapped and mapped somewhere else.
++ */
++ err = ubi_eba_unmap_leb(ubi, vol, lnum);
++ if (err)
++ return err;
++ return ubi_eba_write_leb(ubi, vol, lnum, NULL, 0, 0, dtype);
++ }
++
+ vid_hdr = ubi_zalloc_vid_hdr(ubi, GFP_NOFS);
+ if (!vid_hdr)
+ return -ENOMEM;
+@@ -891,7 +903,7 @@
+ }
+
+ if (vol->eba_tbl[lnum] >= 0) {
+- err = ubi_wl_put_peb(ubi, vol->eba_tbl[lnum], 1);
++ err = ubi_wl_put_peb(ubi, vol->eba_tbl[lnum], 0);
+ if (err)
+ goto out_leb_unlock;
+ }
+@@ -928,20 +940,6 @@
+ }
+
+ /**
+- * ltree_entry_ctor - lock tree entries slab cache constructor.
+- * @obj: the lock-tree entry to construct
+- * @cache: the lock tree entry slab cache
+- * @flags: constructor flags
+- */
+-static void ltree_entry_ctor(struct kmem_cache *cache, void *obj)
+-{
+- struct ltree_entry *le = obj;
+-
+- le->users = 0;
+- init_rwsem(&le->mutex);
+-}
+-
+-/**
+ * ubi_eba_copy_leb - copy logical eraseblock.
+ * @ubi: UBI device description object
+ * @from: physical eraseblock number from where to copy
+@@ -950,14 +948,20 @@
+ *
+ * This function copies logical eraseblock from physical eraseblock @from to
+ * physical eraseblock @to. The @vid_hdr buffer may be changed by this
+- * function. Returns zero in case of success, %UBI_IO_BITFLIPS if the operation
+- * was canceled because bit-flips were detected at the target PEB, and a
+- * negative error code in case of failure.
++ * function. Returns:
++ * o %0 in case of success;
++ * o %1 if the operation was canceled because the volume is being deleted
++ * or because the PEB was put meanwhile;
++ * o %2 if the operation was canceled because there was a write error to the
++ * target PEB;
++ * o %-EAGAIN if the operation was canceled because a bit-flip was detected
++ * in the target PEB;
++ * o a negative error code in case of failure.
+ */
+ int ubi_eba_copy_leb(struct ubi_device *ubi, int from, int to,
+ struct ubi_vid_hdr *vid_hdr)
+ {
+- int err, vol_id, lnum, data_size, aldata_size, pnum, idx;
++ int err, vol_id, lnum, data_size, aldata_size, idx;
+ struct ubi_volume *vol;
+ uint32_t crc;
+
+@@ -973,51 +977,67 @@
+ data_size = aldata_size =
+ ubi->leb_size - be32_to_cpu(vid_hdr->data_pad);
+
+- /*
+- * We do not want anybody to write to this logical eraseblock while we
+- * are moving it, so we lock it.
+- */
+- err = leb_write_lock(ubi, vol_id, lnum);
+- if (err)
+- return err;
+-
+- mutex_lock(&ubi->buf_mutex);
+-
+- /*
+- * But the logical eraseblock might have been put by this time.
+- * Cancel if it is true.
+- */
+ idx = vol_id2idx(ubi, vol_id);
+-
++ spin_lock(&ubi->volumes_lock);
+ /*
+- * We may race with volume deletion/re-size, so we have to hold
+- * @ubi->volumes_lock.
++ * Note, we may race with volume deletion, which means that the volume
++ * this logical eraseblock belongs to might be being deleted. Since the
++ * volume deletion un-maps all the volume's logical eraseblocks, it will
++ * be locked in 'ubi_wl_put_peb()' and wait for the WL worker to finish.
+ */
+- spin_lock(&ubi->volumes_lock);
+ vol = ubi->volumes[idx];
+ if (!vol) {
+- dbg_eba("volume %d was removed meanwhile", vol_id);
++ /* No need to do further work, cancel */
++ dbg_eba("volume %d is being removed, cancel", vol_id);
+ spin_unlock(&ubi->volumes_lock);
+- goto out_unlock;
++ return 1;
+ }
++ spin_unlock(&ubi->volumes_lock);
+
+- pnum = vol->eba_tbl[lnum];
+- if (pnum != from) {
+- dbg_eba("LEB %d:%d is no longer mapped to PEB %d, mapped to "
+- "PEB %d, cancel", vol_id, lnum, from, pnum);
+- spin_unlock(&ubi->volumes_lock);
+- goto out_unlock;
++ /*
++ * We do not want anybody to write to this logical eraseblock while we
++ * are moving it, so lock it.
++ *
++ * Note, we are using non-waiting locking here, because we cannot sleep
++ * on the LEB, since it may cause deadlocks. Indeed, imagine a task is
++ * unmapping the LEB which is mapped to the PEB we are going to move
++ * (@from). This task locks the LEB and goes sleep in the
++ * 'ubi_wl_put_peb()' function on the @ubi->move_mutex. In turn, we are
++ * holding @ubi->move_mutex and go sleep on the LEB lock. So, if the
++ * LEB is already locked, we just do not move it and return %1.
++ */
++ err = leb_write_trylock(ubi, vol_id, lnum);
++ if (err) {
++ dbg_eba("contention on LEB %d:%d, cancel", vol_id, lnum);
++ return err;
+ }
+- spin_unlock(&ubi->volumes_lock);
+
+- /* OK, now the LEB is locked and we can safely start moving it */
++ /*
++ * The LEB might have been put meanwhile, and the task which put it is
++ * probably waiting on @ubi->move_mutex. No need to continue the work,
++ * cancel it.
++ */
++ if (vol->eba_tbl[lnum] != from) {
++ dbg_eba("LEB %d:%d is no longer mapped to PEB %d, mapped to "
++ "PEB %d, cancel", vol_id, lnum, from,
++ vol->eba_tbl[lnum]);
++ err = 1;
++ goto out_unlock_leb;
++ }
+
++ /*
++ * OK, now the LEB is locked and we can safely start moving it. Since
++ * this function utilizes the @ubi->peb1_buf buffer which is shared
++ * with some other functions, so lock the buffer by taking the
++ * @ubi->buf_mutex.
++ */
++ mutex_lock(&ubi->buf_mutex);
+ dbg_eba("read %d bytes of data", aldata_size);
+ err = ubi_io_read_data(ubi, ubi->peb_buf1, from, 0, aldata_size);
+ if (err && err != UBI_IO_BITFLIPS) {
+ ubi_warn("error %d while reading data from PEB %d",
+ err, from);
+- goto out_unlock;
++ goto out_unlock_buf;
+ }
+
+ /*
+@@ -1052,8 +1072,11 @@
+ vid_hdr->sqnum = cpu_to_be64(next_sqnum(ubi));
+
+ err = ubi_io_write_vid_hdr(ubi, to, vid_hdr);
+- if (err)
+- goto out_unlock;
++ if (err) {
++ if (err == -EIO)
++ err = 2;
++ goto out_unlock_buf;
++ }
+
+ cond_resched();
+
+@@ -1062,13 +1085,18 @@
+ if (err) {
+ if (err != UBI_IO_BITFLIPS)
+ ubi_warn("cannot read VID header back from PEB %d", to);
+- goto out_unlock;
++ else
++ err = -EAGAIN;
++ goto out_unlock_buf;
+ }
+
+ if (data_size > 0) {
+ err = ubi_io_write_data(ubi, ubi->peb_buf1, to, 0, aldata_size);
+- if (err)
+- goto out_unlock;
++ if (err) {
++ if (err == -EIO)
++ err = 2;
++ goto out_unlock_buf;
++ }
+
+ cond_resched();
+
+@@ -1082,29 +1110,33 @@
+ if (err != UBI_IO_BITFLIPS)
+ ubi_warn("cannot read data back from PEB %d",
+ to);
+- goto out_unlock;
++ else
++ err = -EAGAIN;
++ goto out_unlock_buf;
+ }
+
+ cond_resched();
+
+ if (memcmp(ubi->peb_buf1, ubi->peb_buf2, aldata_size)) {
+- ubi_warn("read data back from PEB %d - it is different",
+- to);
+- goto out_unlock;
++ ubi_warn("read data back from PEB %d and it is "
++ "different", to);
++ err = -EINVAL;
++ goto out_unlock_buf;
+ }
+ }
+
+ ubi_assert(vol->eba_tbl[lnum] == from);
+ vol->eba_tbl[lnum] = to;
+
+-out_unlock:
++out_unlock_buf:
+ mutex_unlock(&ubi->buf_mutex);
++out_unlock_leb:
+ leb_write_unlock(ubi, vol_id, lnum);
+ return err;
+ }
+
+ /**
+- * ubi_eba_init_scan - initialize the EBA unit using scanning information.
++ * ubi_eba_init_scan - initialize the EBA sub-system using scanning information.
+ * @ubi: UBI device description object
+ * @si: scanning information
+ *
+@@ -1119,20 +1151,12 @@
+ struct ubi_scan_leb *seb;
+ struct rb_node *rb;
+
+- dbg_eba("initialize EBA unit");
++ dbg_eba("initialize EBA sub-system");
+
+ spin_lock_init(&ubi->ltree_lock);
+ mutex_init(&ubi->alc_mutex);
+ ubi->ltree = RB_ROOT;
+
+- if (ubi_devices_cnt == 0) {
+- ltree_slab = kmem_cache_create("ubi_ltree_slab",
+- sizeof(struct ltree_entry), 0,
+- 0, &ltree_entry_ctor);
+- if (!ltree_slab)
+- return -ENOMEM;
+- }
+-
+ ubi->global_sqnum = si->max_sqnum + 1;
+ num_volumes = ubi->vtbl_slots + UBI_INT_VOL_COUNT;
+
+@@ -1168,6 +1192,15 @@
+ }
+ }
+
++ if (ubi->avail_pebs < EBA_RESERVED_PEBS) {
++ ubi_err("no enough physical eraseblocks (%d, need %d)",
++ ubi->avail_pebs, EBA_RESERVED_PEBS);
++ err = -ENOSPC;
++ goto out_free;
++ }
++ ubi->avail_pebs -= EBA_RESERVED_PEBS;
++ ubi->rsvd_pebs += EBA_RESERVED_PEBS;
++
+ if (ubi->bad_allowed) {
+ ubi_calculate_reserved(ubi);
+
+@@ -1184,16 +1217,7 @@
+ ubi->rsvd_pebs += ubi->beb_rsvd_pebs;
+ }
+
+- if (ubi->avail_pebs < EBA_RESERVED_PEBS) {
+- ubi_err("no enough physical eraseblocks (%d, need %d)",
+- ubi->avail_pebs, EBA_RESERVED_PEBS);
+- err = -ENOSPC;
+- goto out_free;
+- }
+- ubi->avail_pebs -= EBA_RESERVED_PEBS;
+- ubi->rsvd_pebs += EBA_RESERVED_PEBS;
+-
+- dbg_eba("EBA unit is initialized");
++ dbg_eba("EBA sub-system is initialized");
+ return 0;
+
+ out_free:
+@@ -1202,26 +1226,5 @@
+ continue;
+ kfree(ubi->volumes[i]->eba_tbl);
+ }
+- if (ubi_devices_cnt == 0)
+- kmem_cache_destroy(ltree_slab);
+ return err;
+ }
+-
+-/**
+- * ubi_eba_close - close EBA unit.
+- * @ubi: UBI device description object
+- */
+-void ubi_eba_close(const struct ubi_device *ubi)
+-{
+- int i, num_volumes = ubi->vtbl_slots + UBI_INT_VOL_COUNT;
+-
+- dbg_eba("close EBA unit");
+-
+- for (i = 0; i < num_volumes; i++) {
+- if (!ubi->volumes[i])
+- continue;
+- kfree(ubi->volumes[i]->eba_tbl);
+- }
+- if (ubi_devices_cnt == 1)
+- kmem_cache_destroy(ltree_slab);
+-}
+diff -Nurd linux-2.6.24/drivers/mtd/ubi/gluebi.c ubifs-v2.6.24/drivers/mtd/ubi/gluebi.c
+--- linux-2.6.24/drivers/mtd/ubi/gluebi.c 2008-01-25 00:58:37.000000000 +0200
++++ ubifs-v2.6.24/drivers/mtd/ubi/gluebi.c 2009-04-07 17:14:47.000000000 +0200
+@@ -28,7 +28,7 @@
+ * eraseblock size is equivalent to the logical eraseblock size of the volume.
+ */
+
+-#include <asm/div64.h>
++#include <linux/math64.h>
+ #include "ubi.h"
+
+ /**
+@@ -109,9 +109,8 @@
+ int err = 0, lnum, offs, total_read;
+ struct ubi_volume *vol;
+ struct ubi_device *ubi;
+- uint64_t tmp = from;
+
+- dbg_msg("read %zd bytes from offset %lld", len, from);
++ dbg_gen("read %zd bytes from offset %lld", len, from);
+
+ if (len < 0 || from < 0 || from + len > mtd->size)
+ return -EINVAL;
+@@ -119,9 +118,7 @@
+ vol = container_of(mtd, struct ubi_volume, gluebi_mtd);
+ ubi = vol->ubi;
+
+- offs = do_div(tmp, mtd->erasesize);
+- lnum = tmp;
+-
++ lnum = div_u64_rem(from, mtd->erasesize, &offs);
+ total_read = len;
+ while (total_read) {
+ size_t to_read = mtd->erasesize - offs;
+@@ -129,8 +126,7 @@
+ if (to_read > total_read)
+ to_read = total_read;
+
+- err = ubi_eba_read_leb(ubi, vol->vol_id, lnum, buf, offs,
+- to_read, 0);
++ err = ubi_eba_read_leb(ubi, vol, lnum, buf, offs, to_read, 0);
+ if (err)
+ break;
+
+@@ -161,9 +157,8 @@
+ int err = 0, lnum, offs, total_written;
+ struct ubi_volume *vol;
+ struct ubi_device *ubi;
+- uint64_t tmp = to;
+
+- dbg_msg("write %zd bytes to offset %lld", len, to);
++ dbg_gen("write %zd bytes to offset %lld", len, to);
+
+ if (len < 0 || to < 0 || len + to > mtd->size)
+ return -EINVAL;
+@@ -174,8 +169,7 @@
+ if (ubi->ro_mode)
+ return -EROFS;
+
+- offs = do_div(tmp, mtd->erasesize);
+- lnum = tmp;
++ lnum = div_u64_rem(to, mtd->erasesize, &offs);
+
+ if (len % mtd->writesize || offs % mtd->writesize)
+ return -EINVAL;
+@@ -187,8 +181,8 @@
+ if (to_write > total_written)
+ to_write = total_written;
+
+- err = ubi_eba_write_leb(ubi, vol->vol_id, lnum, buf, offs,
+- to_write, UBI_UNKNOWN);
++ err = ubi_eba_write_leb(ubi, vol, lnum, buf, offs, to_write,
++ UBI_UNKNOWN);
+ if (err)
+ break;
+
+@@ -216,7 +210,7 @@
+ struct ubi_volume *vol;
+ struct ubi_device *ubi;
+
+- dbg_msg("erase %u bytes at offset %u", instr->len, instr->addr);
++ dbg_gen("erase %u bytes at offset %u", instr->len, instr->addr);
+
+ if (instr->addr < 0 || instr->addr > mtd->size - mtd->erasesize)
+ return -EINVAL;
+@@ -237,7 +231,7 @@
+ return -EROFS;
+
+ for (i = 0; i < count; i++) {
+- err = ubi_eba_unmap_leb(ubi, vol->vol_id, lnum + i);
++ err = ubi_eba_unmap_leb(ubi, vol, lnum + i);
+ if (err)
+ goto out_err;
+ }
+@@ -250,8 +244,8 @@
+ if (err)
+ goto out_err;
+
+- instr->state = MTD_ERASE_DONE;
+- mtd_erase_callback(instr);
++ instr->state = MTD_ERASE_DONE;
++ mtd_erase_callback(instr);
+ return 0;
+
+ out_err:
+@@ -292,19 +286,20 @@
+ /*
+ * In case of dynamic volume, MTD device size is just volume size. In
+ * case of a static volume the size is equivalent to the amount of data
+- * bytes, which is zero at this moment and will be changed after volume
+- * update.
++ * bytes.
+ */
+ if (vol->vol_type == UBI_DYNAMIC_VOLUME)
+ mtd->size = vol->usable_leb_size * vol->reserved_pebs;
++ else
++ mtd->size = vol->used_bytes;
+
+ if (add_mtd_device(mtd)) {
+- ubi_err("cannot not add MTD device\n");
++ ubi_err("cannot not add MTD device");
+ kfree(mtd->name);
+ return -ENFILE;
+ }
+
+- dbg_msg("added mtd%d (\"%s\"), size %u, EB size %u",
++ dbg_gen("added mtd%d (\"%s\"), size %u, EB size %u",
+ mtd->index, mtd->name, mtd->size, mtd->erasesize);
+ return 0;
+ }
+@@ -322,7 +317,7 @@
+ int err;
+ struct mtd_info *mtd = &vol->gluebi_mtd;
+
+- dbg_msg("remove mtd%d", mtd->index);
++ dbg_gen("remove mtd%d", mtd->index);
+ err = del_mtd_device(mtd);
+ if (err)
+ return err;
+diff -Nurd linux-2.6.24/drivers/mtd/ubi/io.c ubifs-v2.6.24/drivers/mtd/ubi/io.c
+--- linux-2.6.24/drivers/mtd/ubi/io.c 2008-01-25 00:58:37.000000000 +0200
++++ ubifs-v2.6.24/drivers/mtd/ubi/io.c 2009-04-07 17:14:47.000000000 +0200
+@@ -20,15 +20,15 @@
+ */
+
+ /*
+- * UBI input/output unit.
++ * UBI input/output sub-system.
+ *
+- * This unit provides a uniform way to work with all kinds of the underlying
+- * MTD devices. It also implements handy functions for reading and writing UBI
+- * headers.
++ * This sub-system provides a uniform way to work with all kinds of the
++ * underlying MTD devices. It also implements handy functions for reading and
++ * writing UBI headers.
+ *
+ * We are trying to have a paranoid mindset and not to trust to what we read
+- * from the flash media in order to be more secure and robust. So this unit
+- * validates every single header it reads from the flash media.
++ * from the flash media in order to be more secure and robust. So this
++ * sub-system validates every single header it reads from the flash media.
+ *
+ * Some words about how the eraseblock headers are stored.
+ *
+@@ -79,11 +79,11 @@
+ * 512-byte chunks, we have to allocate one more buffer and copy our VID header
+ * to offset 448 of this buffer.
+ *
+- * The I/O unit does the following trick in order to avoid this extra copy.
+- * It always allocates a @ubi->vid_hdr_alsize bytes buffer for the VID header
+- * and returns a pointer to offset @ubi->vid_hdr_shift of this buffer. When the
+- * VID header is being written out, it shifts the VID header pointer back and
+- * writes the whole sub-page.
++ * The I/O sub-system does the following trick in order to avoid this extra
++ * copy. It always allocates a @ubi->vid_hdr_alsize bytes buffer for the VID
++ * header and returns a pointer to offset @ubi->vid_hdr_shift of this buffer.
++ * When the VID header is being written out, it shifts the VID header pointer
++ * back and writes the whole sub-page.
+ */
+
+ #include <linux/crc32.h>
+@@ -156,15 +156,19 @@
+ /*
+ * -EUCLEAN is reported if there was a bit-flip which
+ * was corrected, so this is harmless.
++ *
++ * We do not report about it here unless debugging is
++ * enabled. A corresponding message will be printed
++ * later, when it is has been scrubbed.
+ */
+- ubi_msg("fixable bit-flip detected at PEB %d", pnum);
++ dbg_msg("fixable bit-flip detected at PEB %d", pnum);
+ ubi_assert(len == read);
+ return UBI_IO_BITFLIPS;
+ }
+
+ if (read != len && retries++ < UBI_IO_RETRIES) {
+- dbg_io("error %d while reading %d bytes from PEB %d:%d, "
+- "read only %zd bytes, retry",
++ dbg_io("error %d while reading %d bytes from PEB %d:%d,"
++ " read only %zd bytes, retry",
+ err, len, pnum, offset, read);
+ yield();
+ goto retry;
+@@ -173,11 +177,21 @@
+ ubi_err("error %d while reading %d bytes from PEB %d:%d, "
+ "read %zd bytes", err, len, pnum, offset, read);
+ ubi_dbg_dump_stack();
++
++ /*
++ * The driver should never return -EBADMSG if it failed to read
++ * all the requested data. But some buggy drivers might do
++ * this, so we change it to -EIO.
++ */
++ if (read != len && err == -EBADMSG) {
++ ubi_assert(0);
++ err = -EIO;
++ }
+ } else {
+ ubi_assert(len == read);
+
+ if (ubi_dbg_is_bitflip()) {
+- dbg_msg("bit-flip (emulated)");
++ dbg_gen("bit-flip (emulated)");
+ err = UBI_IO_BITFLIPS;
+ }
+ }
+@@ -381,6 +395,7 @@
+ {
+ int err, i, patt_count;
+
++ ubi_msg("run torture test for PEB %d", pnum);
+ patt_count = ARRAY_SIZE(patterns);
+ ubi_assert(patt_count > 0);
+
+@@ -424,6 +439,7 @@
+ }
+
+ err = patt_count;
++ ubi_msg("PEB %d passed torture test, do not mark it a bad", pnum);
+
+ out:
+ mutex_unlock(&ubi->buf_mutex);
+@@ -667,6 +683,9 @@
+ if (verbose)
+ ubi_warn("no EC header found at PEB %d, "
+ "only 0xFF bytes", pnum);
++ else if (UBI_IO_DEBUG)
++ dbg_msg("no EC header found at PEB %d, "
++ "only 0xFF bytes", pnum);
+ return UBI_IO_PEB_EMPTY;
+ }
+
+@@ -678,7 +697,9 @@
+ ubi_warn("bad magic number at PEB %d: %08x instead of "
+ "%08x", pnum, magic, UBI_EC_HDR_MAGIC);
+ ubi_dbg_dump_ec_hdr(ec_hdr);
+- }
++ } else if (UBI_IO_DEBUG)
++ dbg_msg("bad magic number at PEB %d: %08x instead of "
++ "%08x", pnum, magic, UBI_EC_HDR_MAGIC);
+ return UBI_IO_BAD_EC_HDR;
+ }
+
+@@ -687,10 +708,12 @@
+
+ if (hdr_crc != crc) {
+ if (verbose) {
+- ubi_warn("bad EC header CRC at PEB %d, calculated %#08x,"
+- " read %#08x", pnum, crc, hdr_crc);
++ ubi_warn("bad EC header CRC at PEB %d, calculated "
++ "%#08x, read %#08x", pnum, crc, hdr_crc);
+ ubi_dbg_dump_ec_hdr(ec_hdr);
+- }
++ } else if (UBI_IO_DEBUG)
++ dbg_msg("bad EC header CRC at PEB %d, calculated "
++ "%#08x, read %#08x", pnum, crc, hdr_crc);
+ return UBI_IO_BAD_EC_HDR;
+ }
+
+@@ -940,6 +963,9 @@
+ if (verbose)
+ ubi_warn("no VID header found at PEB %d, "
+ "only 0xFF bytes", pnum);
++ else if (UBI_IO_DEBUG)
++ dbg_msg("no VID header found at PEB %d, "
++ "only 0xFF bytes", pnum);
+ return UBI_IO_PEB_FREE;
+ }
+
+@@ -951,7 +977,9 @@
+ ubi_warn("bad magic number at PEB %d: %08x instead of "
+ "%08x", pnum, magic, UBI_VID_HDR_MAGIC);
+ ubi_dbg_dump_vid_hdr(vid_hdr);
+- }
++ } else if (UBI_IO_DEBUG)
++ dbg_msg("bad magic number at PEB %d: %08x instead of "
++ "%08x", pnum, magic, UBI_VID_HDR_MAGIC);
+ return UBI_IO_BAD_VID_HDR;
+ }
+
+@@ -963,7 +991,9 @@
+ ubi_warn("bad CRC at PEB %d, calculated %#08x, "
+ "read %#08x", pnum, crc, hdr_crc);
+ ubi_dbg_dump_vid_hdr(vid_hdr);
+- }
++ } else if (UBI_IO_DEBUG)
++ dbg_msg("bad CRC at PEB %d, calculated %#08x, "
++ "read %#08x", pnum, crc, hdr_crc);
+ return UBI_IO_BAD_VID_HDR;
+ }
+
+@@ -1004,7 +1034,7 @@
+
+ err = paranoid_check_peb_ec_hdr(ubi, pnum);
+ if (err)
+- return err > 0 ? -EINVAL: err;
++ return err > 0 ? -EINVAL : err;
+
+ vid_hdr->magic = cpu_to_be32(UBI_VID_HDR_MAGIC);
+ vid_hdr->version = UBI_VERSION;
+@@ -1081,8 +1111,7 @@
+ }
+
+ /**
+- * paranoid_check_peb_ec_hdr - check that the erase counter header of a
+- * physical eraseblock is in-place and is all right.
++ * paranoid_check_peb_ec_hdr - check erase counter header.
+ * @ubi: UBI device description object
+ * @pnum: the physical eraseblock number to check
+ *
+@@ -1160,8 +1189,7 @@
+ }
+
+ /**
+- * paranoid_check_peb_vid_hdr - check that the volume identifier header of a
+- * physical eraseblock is in-place and is all right.
++ * paranoid_check_peb_vid_hdr - check volume identifier header.
+ * @ubi: UBI device description object
+ * @pnum: the physical eraseblock number to check
+ *
+@@ -1242,7 +1270,7 @@
+
+ fail:
+ ubi_err("paranoid check failed for PEB %d", pnum);
+- dbg_msg("hex dump of the %d-%d region", offset, offset + len);
++ ubi_msg("hex dump of the %d-%d region", offset, offset + len);
+ print_hex_dump(KERN_DEBUG, "", DUMP_PREFIX_OFFSET, 32, 1,
+ ubi->dbg_peb_buf, len, 1);
+ err = 1;
+diff -Nurd linux-2.6.24/drivers/mtd/ubi/kapi.c ubifs-v2.6.24/drivers/mtd/ubi/kapi.c
+--- linux-2.6.24/drivers/mtd/ubi/kapi.c 2008-01-25 00:58:37.000000000 +0200
++++ ubifs-v2.6.24/drivers/mtd/ubi/kapi.c 2009-04-07 17:14:47.000000000 +0200
+@@ -30,23 +30,27 @@
+ * @ubi_num: UBI device number
+ * @di: the information is stored here
+ *
+- * This function returns %0 in case of success and a %-ENODEV if there is no
+- * such UBI device.
++ * This function returns %0 in case of success, %-EINVAL if the UBI device
++ * number is invalid, and %-ENODEV if there is no such UBI device.
+ */
+ int ubi_get_device_info(int ubi_num, struct ubi_device_info *di)
+ {
+- const struct ubi_device *ubi;
++ struct ubi_device *ubi;
+
+- if (ubi_num < 0 || ubi_num >= UBI_MAX_DEVICES ||
+- !ubi_devices[ubi_num])
++ if (ubi_num < 0 || ubi_num >= UBI_MAX_DEVICES)
++ return -EINVAL;
++
++ ubi = ubi_get_device(ubi_num);
++ if (!ubi)
+ return -ENODEV;
+
+- ubi = ubi_devices[ubi_num];
+ di->ubi_num = ubi->ubi_num;
+ di->leb_size = ubi->leb_size;
+ di->min_io_size = ubi->min_io_size;
+ di->ro_mode = ubi->ro_mode;
+- di->cdev = MKDEV(ubi->major, 0);
++ di->cdev = ubi->cdev.dev;
++
++ ubi_put_device(ubi);
+ return 0;
+ }
+ EXPORT_SYMBOL_GPL(ubi_get_device_info);
+@@ -73,7 +77,7 @@
+ vi->usable_leb_size = vol->usable_leb_size;
+ vi->name_len = vol->name_len;
+ vi->name = vol->name;
+- vi->cdev = MKDEV(ubi->major, vi->vol_id + 1);
++ vi->cdev = vol->cdev.dev;
+ }
+ EXPORT_SYMBOL_GPL(ubi_get_volume_info);
+
+@@ -102,39 +106,41 @@
+ struct ubi_device *ubi;
+ struct ubi_volume *vol;
+
+- dbg_msg("open device %d volume %d, mode %d", ubi_num, vol_id, mode);
+-
+- err = -ENODEV;
+- if (ubi_num < 0)
+- return ERR_PTR(err);
+-
+- ubi = ubi_devices[ubi_num];
+-
+- if (!try_module_get(THIS_MODULE))
+- return ERR_PTR(err);
++ dbg_gen("open device %d volume %d, mode %d", ubi_num, vol_id, mode);
+
+- if (ubi_num >= UBI_MAX_DEVICES || !ubi)
+- goto out_put;
++ if (ubi_num < 0 || ubi_num >= UBI_MAX_DEVICES)
++ return ERR_PTR(-EINVAL);
+
+- err = -EINVAL;
+- if (vol_id < 0 || vol_id >= ubi->vtbl_slots)
+- goto out_put;
+ if (mode != UBI_READONLY && mode != UBI_READWRITE &&
+ mode != UBI_EXCLUSIVE)
+- goto out_put;
++ return ERR_PTR(-EINVAL);
++
++ /*
++ * First of all, we have to get the UBI device to prevent its removal.
++ */
++ ubi = ubi_get_device(ubi_num);
++ if (!ubi)
++ return ERR_PTR(-ENODEV);
++
++ if (vol_id < 0 || vol_id >= ubi->vtbl_slots) {
++ err = -EINVAL;
++ goto out_put_ubi;
++ }
+
+ desc = kmalloc(sizeof(struct ubi_volume_desc), GFP_KERNEL);
+ if (!desc) {
+ err = -ENOMEM;
+- goto out_put;
++ goto out_put_ubi;
+ }
+
++ err = -ENODEV;
++ if (!try_module_get(THIS_MODULE))
++ goto out_free;
++
+ spin_lock(&ubi->volumes_lock);
+ vol = ubi->volumes[vol_id];
+- if (!vol) {
+- err = -ENODEV;
++ if (!vol)
+ goto out_unlock;
+- }
+
+ err = -EBUSY;
+ switch (mode) {
+@@ -156,21 +162,19 @@
+ vol->exclusive = 1;
+ break;
+ }
++ get_device(&vol->dev);
++ vol->ref_count += 1;
+ spin_unlock(&ubi->volumes_lock);
+
+ desc->vol = vol;
+ desc->mode = mode;
+
+- /*
+- * To prevent simultaneous checks of the same volume we use @vtbl_mutex,
+- * although it is not the purpose it was introduced for.
+- */
+- mutex_lock(&ubi->vtbl_mutex);
++ mutex_lock(&ubi->ckvol_mutex);
+ if (!vol->checked) {
+ /* This is the first open - check the volume */
+ err = ubi_check_volume(ubi, vol_id);
+ if (err < 0) {
+- mutex_unlock(&ubi->vtbl_mutex);
++ mutex_unlock(&ubi->ckvol_mutex);
+ ubi_close_volume(desc);
+ return ERR_PTR(err);
+ }
+@@ -181,14 +185,17 @@
+ }
+ vol->checked = 1;
+ }
+- mutex_unlock(&ubi->vtbl_mutex);
++ mutex_unlock(&ubi->ckvol_mutex);
++
+ return desc;
+
+ out_unlock:
+ spin_unlock(&ubi->volumes_lock);
+- kfree(desc);
+-out_put:
+ module_put(THIS_MODULE);
++out_free:
++ kfree(desc);
++out_put_ubi:
++ ubi_put_device(ubi);
+ return ERR_PTR(err);
+ }
+ EXPORT_SYMBOL_GPL(ubi_open_volume);
+@@ -205,10 +212,10 @@
+ int mode)
+ {
+ int i, vol_id = -1, len;
+- struct ubi_volume_desc *ret;
+ struct ubi_device *ubi;
++ struct ubi_volume_desc *ret;
+
+- dbg_msg("open volume %s, mode %d", name, mode);
++ dbg_gen("open volume %s, mode %d", name, mode);
+
+ if (!name)
+ return ERR_PTR(-EINVAL);
+@@ -217,14 +224,12 @@
+ if (len > UBI_VOL_NAME_MAX)
+ return ERR_PTR(-EINVAL);
+
+- ret = ERR_PTR(-ENODEV);
+- if (!try_module_get(THIS_MODULE))
+- return ret;
+-
+- if (ubi_num < 0 || ubi_num >= UBI_MAX_DEVICES || !ubi_devices[ubi_num])
+- goto out_put;
++ if (ubi_num < 0 || ubi_num >= UBI_MAX_DEVICES)
++ return ERR_PTR(-EINVAL);
+
+- ubi = ubi_devices[ubi_num];
++ ubi = ubi_get_device(ubi_num);
++ if (!ubi)
++ return ERR_PTR(-ENODEV);
+
+ spin_lock(&ubi->volumes_lock);
+ /* Walk all volumes of this UBI device */
+@@ -238,13 +243,16 @@
+ }
+ spin_unlock(&ubi->volumes_lock);
+
+- if (vol_id < 0)
+- goto out_put;
+-
+- ret = ubi_open_volume(ubi_num, vol_id, mode);
++ if (vol_id >= 0)
++ ret = ubi_open_volume(ubi_num, vol_id, mode);
++ else
++ ret = ERR_PTR(-ENODEV);
+
+-out_put:
+- module_put(THIS_MODULE);
++ /*
++ * We should put the UBI device even in case of success, because
++ * 'ubi_open_volume()' took a reference as well.
++ */
++ ubi_put_device(ubi);
+ return ret;
+ }
+ EXPORT_SYMBOL_GPL(ubi_open_volume_nm);
+@@ -256,10 +264,11 @@
+ void ubi_close_volume(struct ubi_volume_desc *desc)
+ {
+ struct ubi_volume *vol = desc->vol;
++ struct ubi_device *ubi = vol->ubi;
+
+- dbg_msg("close volume %d, mode %d", vol->vol_id, desc->mode);
++ dbg_gen("close volume %d, mode %d", vol->vol_id, desc->mode);
+
+- spin_lock(&vol->ubi->volumes_lock);
++ spin_lock(&ubi->volumes_lock);
+ switch (desc->mode) {
+ case UBI_READONLY:
+ vol->readers -= 1;
+@@ -270,9 +279,12 @@
+ case UBI_EXCLUSIVE:
+ vol->exclusive = 0;
+ }
+- spin_unlock(&vol->ubi->volumes_lock);
++ vol->ref_count -= 1;
++ spin_unlock(&ubi->volumes_lock);
+
+ kfree(desc);
++ put_device(&vol->dev);
++ ubi_put_device(ubi);
+ module_put(THIS_MODULE);
+ }
+ EXPORT_SYMBOL_GPL(ubi_close_volume);
+@@ -311,7 +323,7 @@
+ struct ubi_device *ubi = vol->ubi;
+ int err, vol_id = vol->vol_id;
+
+- dbg_msg("read %d bytes from LEB %d:%d:%d", len, vol_id, lnum, offset);
++ dbg_gen("read %d bytes from LEB %d:%d:%d", len, vol_id, lnum, offset);
+
+ if (vol_id < 0 || vol_id >= ubi->vtbl_slots || lnum < 0 ||
+ lnum >= vol->used_ebs || offset < 0 || len < 0 ||
+@@ -332,7 +344,7 @@
+ if (len == 0)
+ return 0;
+
+- err = ubi_eba_read_leb(ubi, vol_id, lnum, buf, offset, len, check);
++ err = ubi_eba_read_leb(ubi, vol, lnum, buf, offset, len, check);
+ if (err && err == -EBADMSG && vol->vol_type == UBI_STATIC_VOLUME) {
+ ubi_warn("mark volume %d as corrupted", vol_id);
+ vol->corrupted = 1;
+@@ -376,7 +388,7 @@
+ struct ubi_device *ubi = vol->ubi;
+ int vol_id = vol->vol_id;
+
+- dbg_msg("write %d bytes to LEB %d:%d:%d", len, vol_id, lnum, offset);
++ dbg_gen("write %d bytes to LEB %d:%d:%d", len, vol_id, lnum, offset);
+
+ if (vol_id < 0 || vol_id >= ubi->vtbl_slots)
+ return -EINVAL;
+@@ -385,8 +397,8 @@
+ return -EROFS;
+
+ if (lnum < 0 || lnum >= vol->reserved_pebs || offset < 0 || len < 0 ||
+- offset + len > vol->usable_leb_size || offset % ubi->min_io_size ||
+- len % ubi->min_io_size)
++ offset + len > vol->usable_leb_size ||
++ offset & (ubi->min_io_size - 1) || len & (ubi->min_io_size - 1))
+ return -EINVAL;
+
+ if (dtype != UBI_LONGTERM && dtype != UBI_SHORTTERM &&
+@@ -399,7 +411,7 @@
+ if (len == 0)
+ return 0;
+
+- return ubi_eba_write_leb(ubi, vol_id, lnum, buf, offset, len, dtype);
++ return ubi_eba_write_leb(ubi, vol, lnum, buf, offset, len, dtype);
+ }
+ EXPORT_SYMBOL_GPL(ubi_leb_write);
+
+@@ -426,7 +438,7 @@
+ struct ubi_device *ubi = vol->ubi;
+ int vol_id = vol->vol_id;
+
+- dbg_msg("atomically write %d bytes to LEB %d:%d", len, vol_id, lnum);
++ dbg_gen("atomically write %d bytes to LEB %d:%d", len, vol_id, lnum);
+
+ if (vol_id < 0 || vol_id >= ubi->vtbl_slots)
+ return -EINVAL;
+@@ -435,7 +447,7 @@
+ return -EROFS;
+
+ if (lnum < 0 || lnum >= vol->reserved_pebs || len < 0 ||
+- len > vol->usable_leb_size || len % ubi->min_io_size)
++ len > vol->usable_leb_size || len & (ubi->min_io_size - 1))
+ return -EINVAL;
+
+ if (dtype != UBI_LONGTERM && dtype != UBI_SHORTTERM &&
+@@ -448,7 +460,7 @@
+ if (len == 0)
+ return 0;
+
+- return ubi_eba_atomic_leb_change(ubi, vol_id, lnum, buf, len, dtype);
++ return ubi_eba_atomic_leb_change(ubi, vol, lnum, buf, len, dtype);
+ }
+ EXPORT_SYMBOL_GPL(ubi_leb_change);
+
+@@ -468,9 +480,9 @@
+ {
+ struct ubi_volume *vol = desc->vol;
+ struct ubi_device *ubi = vol->ubi;
+- int err, vol_id = vol->vol_id;
++ int err;
+
+- dbg_msg("erase LEB %d:%d", vol_id, lnum);
++ dbg_gen("erase LEB %d:%d", vol->vol_id, lnum);
+
+ if (desc->mode == UBI_READONLY || vol->vol_type == UBI_STATIC_VOLUME)
+ return -EROFS;
+@@ -481,7 +493,7 @@
+ if (vol->upd_marker)
+ return -EBADF;
+
+- err = ubi_eba_unmap_leb(ubi, vol_id, lnum);
++ err = ubi_eba_unmap_leb(ubi, vol, lnum);
+ if (err)
+ return err;
+
+@@ -529,9 +541,8 @@
+ {
+ struct ubi_volume *vol = desc->vol;
+ struct ubi_device *ubi = vol->ubi;
+- int vol_id = vol->vol_id;
+
+- dbg_msg("unmap LEB %d:%d", vol_id, lnum);
++ dbg_gen("unmap LEB %d:%d", vol->vol_id, lnum);
+
+ if (desc->mode == UBI_READONLY || vol->vol_type == UBI_STATIC_VOLUME)
+ return -EROFS;
+@@ -542,11 +553,55 @@
+ if (vol->upd_marker)
+ return -EBADF;
+
+- return ubi_eba_unmap_leb(ubi, vol_id, lnum);
++ return ubi_eba_unmap_leb(ubi, vol, lnum);
+ }
+ EXPORT_SYMBOL_GPL(ubi_leb_unmap);
+
+ /**
++ * ubi_leb_map - map logical erasblock to a physical eraseblock.
++ * @desc: volume descriptor
++ * @lnum: logical eraseblock number
++ * @dtype: expected data type
++ *
++ * This function maps an un-mapped logical eraseblock @lnum to a physical
++ * eraseblock. This means, that after a successfull invocation of this
++ * function the logical eraseblock @lnum will be empty (contain only %0xFF
++ * bytes) and be mapped to a physical eraseblock, even if an unclean reboot
++ * happens.
++ *
++ * This function returns zero in case of success, %-EBADF if the volume is
++ * damaged because of an interrupted update, %-EBADMSG if the logical
++ * eraseblock is already mapped, and other negative error codes in case of
++ * other failures.
++ */
++int ubi_leb_map(struct ubi_volume_desc *desc, int lnum, int dtype)
++{
++ struct ubi_volume *vol = desc->vol;
++ struct ubi_device *ubi = vol->ubi;
++
++ dbg_gen("unmap LEB %d:%d", vol->vol_id, lnum);
++
++ if (desc->mode == UBI_READONLY || vol->vol_type == UBI_STATIC_VOLUME)
++ return -EROFS;
++
++ if (lnum < 0 || lnum >= vol->reserved_pebs)
++ return -EINVAL;
++
++ if (dtype != UBI_LONGTERM && dtype != UBI_SHORTTERM &&
++ dtype != UBI_UNKNOWN)
++ return -EINVAL;
++
++ if (vol->upd_marker)
++ return -EBADF;
++
++ if (vol->eba_tbl[lnum] >= 0)
++ return -EBADMSG;
++
++ return ubi_eba_write_leb(ubi, vol, lnum, NULL, 0, 0, dtype);
++}
++EXPORT_SYMBOL_GPL(ubi_leb_map);
++
++/**
+ * ubi_is_mapped - check if logical eraseblock is mapped.
+ * @desc: volume descriptor
+ * @lnum: logical eraseblock number
+@@ -566,7 +621,7 @@
+ {
+ struct ubi_volume *vol = desc->vol;
+
+- dbg_msg("test LEB %d:%d", vol->vol_id, lnum);
++ dbg_gen("test LEB %d:%d", vol->vol_id, lnum);
+
+ if (lnum < 0 || lnum >= vol->reserved_pebs)
+ return -EINVAL;
+@@ -577,3 +632,27 @@
+ return vol->eba_tbl[lnum] >= 0;
+ }
+ EXPORT_SYMBOL_GPL(ubi_is_mapped);
++
++/**
++ * ubi_sync - synchronize UBI device buffers.
++ * @ubi_num: UBI device to synchronize
++ *
++ * The underlying MTD device may cache data in hardware or in software. This
++ * function ensures the caches are flushed. Returns zero in case of success and
++ * a negative error code in case of failure.
++ */
++int ubi_sync(int ubi_num)
++{
++ struct ubi_device *ubi;
++
++ ubi = ubi_get_device(ubi_num);
++ if (!ubi)
++ return -ENODEV;
++
++ if (ubi->mtd->sync)
++ ubi->mtd->sync(ubi->mtd);
++
++ ubi_put_device(ubi);
++ return 0;
++}
++EXPORT_SYMBOL_GPL(ubi_sync);
+diff -Nurd linux-2.6.24/drivers/mtd/ubi/misc.c ubifs-v2.6.24/drivers/mtd/ubi/misc.c
+--- linux-2.6.24/drivers/mtd/ubi/misc.c 2008-01-25 00:58:37.000000000 +0200
++++ ubifs-v2.6.24/drivers/mtd/ubi/misc.c 2009-04-07 17:14:47.000000000 +0200
+@@ -37,7 +37,7 @@
+ {
+ int i;
+
+- ubi_assert(length % ubi->min_io_size == 0);
++ ubi_assert(!(length & (ubi->min_io_size - 1)));
+
+ for (i = length - 1; i >= 0; i--)
+ if (((const uint8_t *)buf)[i] != 0xFF)
+@@ -79,7 +79,7 @@
+ else
+ size = vol->usable_leb_size;
+
+- err = ubi_eba_read_leb(ubi, vol_id, i, buf, 0, size, 1);
++ err = ubi_eba_read_leb(ubi, vol, i, buf, 0, size, 1);
+ if (err) {
+ if (err == -EBADMSG)
+ err = 1;
+diff -Nurd linux-2.6.24/drivers/mtd/ubi/scan.c ubifs-v2.6.24/drivers/mtd/ubi/scan.c
+--- linux-2.6.24/drivers/mtd/ubi/scan.c 2008-01-25 00:58:37.000000000 +0200
++++ ubifs-v2.6.24/drivers/mtd/ubi/scan.c 2009-04-07 17:14:47.000000000 +0200
+@@ -19,9 +19,9 @@
+ */
+
+ /*
+- * UBI scanning unit.
++ * UBI scanning sub-system.
+ *
+- * This unit is responsible for scanning the flash media, checking UBI
++ * This sub-system is responsible for scanning the flash media, checking UBI
+ * headers and providing complete information about the UBI flash image.
+ *
+ * The scanning information is represented by a &struct ubi_scan_info' object.
+@@ -92,29 +92,7 @@
+ }
+
+ /**
+- * commit_to_mean_value - commit intermediate results to the final mean erase
+- * counter value.
+- * @si: scanning information
+- *
+- * This is a helper function which calculates partial mean erase counter mean
+- * value and adds it to the resulting mean value. As we can work only in
+- * integer arithmetic and we want to calculate the mean value of erase counter
+- * accurately, we first sum erase counter values in @si->ec_sum variable and
+- * count these components in @si->ec_count. If this temporary @si->ec_sum is
+- * going to overflow, we calculate the partial mean value
+- * (@si->ec_sum/@si->ec_count) and add it to @si->mean_ec.
+- */
+-static void commit_to_mean_value(struct ubi_scan_info *si)
+-{
+- si->ec_sum /= si->ec_count;
+- if (si->ec_sum % si->ec_count >= si->ec_count / 2)
+- si->mean_ec += 1;
+- si->mean_ec += si->ec_sum;
+-}
+-
+-/**
+- * validate_vid_hdr - check that volume identifier header is correct and
+- * consistent.
++ * validate_vid_hdr - check volume identifier header.
+ * @vid_hdr: the volume identifier header to check
+ * @sv: information about the volume this logical eraseblock belongs to
+ * @pnum: physical eraseblock number the VID header came from
+@@ -123,7 +101,7 @@
+ * non-zero if an inconsistency was found and zero if not.
+ *
+ * Note, UBI does sanity check of everything it reads from the flash media.
+- * Most of the checks are done in the I/O unit. Here we check that the
++ * Most of the checks are done in the I/O sub-system. Here we check that the
+ * information in the VID header is consistent to the information in other VID
+ * headers of the same volume.
+ */
+@@ -267,40 +245,21 @@
+ struct ubi_vid_hdr *vh = NULL;
+ unsigned long long sqnum2 = be64_to_cpu(vid_hdr->sqnum);
+
+- if (seb->sqnum == 0 && sqnum2 == 0) {
+- long long abs, v1 = seb->leb_ver, v2 = be32_to_cpu(vid_hdr->leb_ver);
+-
++ if (sqnum2 == seb->sqnum) {
+ /*
+- * UBI constantly increases the logical eraseblock version
+- * number and it can overflow. Thus, we have to bear in mind
+- * that versions that are close to %0xFFFFFFFF are less then
+- * versions that are close to %0.
+- *
+- * The UBI WL unit guarantees that the number of pending tasks
+- * is not greater then %0x7FFFFFFF. So, if the difference
+- * between any two versions is greater or equivalent to
+- * %0x7FFFFFFF, there was an overflow and the logical
+- * eraseblock with lower version is actually newer then the one
+- * with higher version.
+- *
+- * FIXME: but this is anyway obsolete and will be removed at
+- * some point.
++ * This must be a really ancient UBI image which has been
++ * created before sequence numbers support has been added. At
++ * that times we used 32-bit LEB versions stored in logical
++ * eraseblocks. That was before UBI got into mainline. We do not
++ * support these images anymore. Well, those images will work
++ * still work, but only if no unclean reboots happened.
+ */
++ ubi_err("unsupported on-flash UBI format\n");
++ return -EINVAL;
++ }
+
+- dbg_bld("using old crappy leb_ver stuff");
+-
+- abs = v1 - v2;
+- if (abs < 0)
+- abs = -abs;
+-
+- if (abs < 0x7FFFFFFF)
+- /* Non-overflow situation */
+- second_is_newer = (v2 > v1);
+- else
+- second_is_newer = (v2 < v1);
+- } else
+- /* Obviously the LEB with lower sequence counter is older */
+- second_is_newer = sqnum2 > seb->sqnum;
++ /* Obviously the LEB with lower sequence counter is older */
++ second_is_newer = !!(sqnum2 > seb->sqnum);
+
+ /*
+ * Now we know which copy is newer. If the copy flag of the PEB with
+@@ -308,7 +267,7 @@
+ * check data CRC. For the second PEB we already have the VID header,
+ * for the first one - we'll need to re-read it from flash.
+ *
+- * FIXME: this may be optimized so that we wouldn't read twice.
++ * Note: this may be optimized so that we wouldn't read twice.
+ */
+
+ if (second_is_newer) {
+@@ -360,7 +319,7 @@
+ }
+
+ err = ubi_io_read_data(ubi, buf, pnum, 0, len);
+- if (err && err != UBI_IO_BITFLIPS)
++ if (err && err != UBI_IO_BITFLIPS && err != -EBADMSG)
+ goto out_free_buf;
+
+ data_crc = be32_to_cpu(vid_hdr->data_crc);
+@@ -390,13 +349,11 @@
+ vfree(buf);
+ out_free_vidh:
+ ubi_free_vid_hdr(ubi, vh);
+- ubi_assert(err < 0);
+ return err;
+ }
+
+ /**
+- * ubi_scan_add_used - add information about a physical eraseblock to the
+- * scanning information.
++ * ubi_scan_add_used - add physical eraseblock to the scanning information.
+ * @ubi: UBI device description object
+ * @si: scanning information
+ * @pnum: the physical eraseblock number
+@@ -416,7 +373,6 @@
+ int bitflips)
+ {
+ int err, vol_id, lnum;
+- uint32_t leb_ver;
+ unsigned long long sqnum;
+ struct ubi_scan_volume *sv;
+ struct ubi_scan_leb *seb;
+@@ -425,13 +381,12 @@
+ vol_id = be32_to_cpu(vid_hdr->vol_id);
+ lnum = be32_to_cpu(vid_hdr->lnum);
+ sqnum = be64_to_cpu(vid_hdr->sqnum);
+- leb_ver = be32_to_cpu(vid_hdr->leb_ver);
+
+- dbg_bld("PEB %d, LEB %d:%d, EC %d, sqnum %llu, ver %u, bitflips %d",
+- pnum, vol_id, lnum, ec, sqnum, leb_ver, bitflips);
++ dbg_bld("PEB %d, LEB %d:%d, EC %d, sqnum %llu, bitflips %d",
++ pnum, vol_id, lnum, ec, sqnum, bitflips);
+
+ sv = add_volume(si, vol_id, pnum, vid_hdr);
+- if (IS_ERR(sv) < 0)
++ if (IS_ERR(sv))
+ return PTR_ERR(sv);
+
+ if (si->max_sqnum < sqnum)
+@@ -461,25 +416,20 @@
+ */
+
+ dbg_bld("this LEB already exists: PEB %d, sqnum %llu, "
+- "LEB ver %u, EC %d", seb->pnum, seb->sqnum,
+- seb->leb_ver, seb->ec);
+-
+- /*
+- * Make sure that the logical eraseblocks have different
+- * versions. Otherwise the image is bad.
+- */
+- if (seb->leb_ver == leb_ver && leb_ver != 0) {
+- ubi_err("two LEBs with same version %u", leb_ver);
+- ubi_dbg_dump_seb(seb, 0);
+- ubi_dbg_dump_vid_hdr(vid_hdr);
+- return -EINVAL;
+- }
++ "EC %d", seb->pnum, seb->sqnum, seb->ec);
+
+ /*
+ * Make sure that the logical eraseblocks have different
+ * sequence numbers. Otherwise the image is bad.
+ *
+- * FIXME: remove 'sqnum != 0' check when leb_ver is removed.
++ * However, if the sequence number is zero, we assume it must
++ * be an ancient UBI image from the era when UBI did not have
++ * sequence numbers. We still can attach these images, unless
++ * there is a need to distinguish between old and new
++ * eraseblocks, in which case we'll refuse the image in
++ * 'compare_lebs()'. In other words, we attach old clean
++ * images, but refuse attaching old images with duplicated
++ * logical eraseblocks because there was an unclean reboot.
+ */
+ if (seb->sqnum == sqnum && sqnum != 0) {
+ ubi_err("two LEBs with same sequence number %llu",
+@@ -519,7 +469,6 @@
+ seb->pnum = pnum;
+ seb->scrub = ((cmp_res & 2) || bitflips);
+ seb->sqnum = sqnum;
+- seb->leb_ver = leb_ver;
+
+ if (sv->highest_lnum == lnum)
+ sv->last_data_size =
+@@ -556,7 +505,6 @@
+ seb->lnum = lnum;
+ seb->sqnum = sqnum;
+ seb->scrub = bitflips;
+- seb->leb_ver = leb_ver;
+
+ if (sv->highest_lnum <= lnum) {
+ sv->highest_lnum = lnum;
+@@ -570,8 +518,7 @@
+ }
+
+ /**
+- * ubi_scan_find_sv - find information about a particular volume in the
+- * scanning information.
++ * ubi_scan_find_sv - find volume in the scanning information.
+ * @si: scanning information
+ * @vol_id: the requested volume ID
+ *
+@@ -600,8 +547,7 @@
+ }
+
+ /**
+- * ubi_scan_find_seb - find information about a particular logical
+- * eraseblock in the volume scanning information.
++ * ubi_scan_find_seb - find LEB in the volume scanning information.
+ * @sv: a pointer to the volume scanning information
+ * @lnum: the requested logical eraseblock
+ *
+@@ -661,9 +607,9 @@
+ *
+ * This function erases physical eraseblock 'pnum', and writes the erase
+ * counter header to it. This function should only be used on UBI device
+- * initialization stages, when the EBA unit had not been yet initialized. This
+- * function returns zero in case of success and a negative error code in case
+- * of failure.
++ * initialization stages, when the EBA sub-system had not been yet initialized.
++ * This function returns zero in case of success and a negative error code in
++ * case of failure.
+ */
+ int ubi_scan_erase_peb(struct ubi_device *ubi, const struct ubi_scan_info *si,
+ int pnum, int ec)
+@@ -703,9 +649,10 @@
+ * @si: scanning information
+ *
+ * This function returns a free physical eraseblock. It is supposed to be
+- * called on the UBI initialization stages when the wear-leveling unit is not
+- * initialized yet. This function picks a physical eraseblocks from one of the
+- * lists, writes the EC header if it is needed, and removes it from the list.
++ * called on the UBI initialization stages when the wear-leveling sub-system is
++ * not initialized yet. This function picks a physical eraseblocks from one of
++ * the lists, writes the EC header if it is needed, and removes it from the
++ * list.
+ *
+ * This function returns scanning physical eraseblock information in case of
+ * success and an error code in case of failure.
+@@ -758,8 +705,7 @@
+ }
+
+ /**
+- * process_eb - read UBI headers, check them and add corresponding data
+- * to the scanning information.
++ * process_eb - read, check UBI headers, and add them to scanning information.
+ * @ubi: UBI device description object
+ * @si: scanning information
+ * @pnum: the physical eraseblock number
+@@ -767,9 +713,10 @@
+ * This function returns a zero if the physical eraseblock was successfully
+ * handled and a negative error code in case of failure.
+ */
+-static int process_eb(struct ubi_device *ubi, struct ubi_scan_info *si, int pnum)
++static int process_eb(struct ubi_device *ubi, struct ubi_scan_info *si,
++ int pnum)
+ {
+- long long ec;
++ long long uninitialized_var(ec);
+ int err, bitflips = 0, vol_id, ec_corr = 0;
+
+ dbg_bld("scan PEB %d", pnum);
+@@ -780,8 +727,9 @@
+ return err;
+ else if (err) {
+ /*
+- * FIXME: this is actually duty of the I/O unit to initialize
+- * this, but MTD does not provide enough information.
++ * FIXME: this is actually duty of the I/O sub-system to
++ * initialize this, but MTD does not provide enough
++ * information.
+ */
+ si->bad_peb_count += 1;
+ return 0;
+@@ -854,7 +802,7 @@
+ }
+
+ vol_id = be32_to_cpu(vidh->vol_id);
+- if (vol_id > UBI_MAX_VOLUMES && vol_id != UBI_LAYOUT_VOL_ID) {
++ if (vol_id > UBI_MAX_VOLUMES && vol_id != UBI_LAYOUT_VOLUME_ID) {
+ int lnum = be32_to_cpu(vidh->lnum);
+
+ /* Unsupported internal volume */
+@@ -897,15 +845,8 @@
+
+ adjust_mean_ec:
+ if (!ec_corr) {
+- if (si->ec_sum + ec < ec) {
+- commit_to_mean_value(si);
+- si->ec_sum = 0;
+- si->ec_count = 0;
+- } else {
+- si->ec_sum += ec;
+- si->ec_count += 1;
+- }
+-
++ si->ec_sum += ec;
++ si->ec_count += 1;
+ if (ec > si->max_ec)
+ si->max_ec = ec;
+ if (ec < si->min_ec)
+@@ -953,7 +894,7 @@
+ for (pnum = 0; pnum < ubi->peb_count; pnum++) {
+ cond_resched();
+
+- dbg_msg("process PEB %d", pnum);
++ dbg_gen("process PEB %d", pnum);
+ err = process_eb(ubi, si, pnum);
+ if (err < 0)
+ goto out_vidh;
+@@ -961,9 +902,9 @@
+
+ dbg_msg("scanning is finished");
+
+- /* Finish mean erase counter calculations */
++ /* Calculate mean erase counter */
+ if (si->ec_count)
+- commit_to_mean_value(si);
++ si->mean_ec = div_u64(si->ec_sum, si->ec_count);
+
+ if (si->is_empty)
+ ubi_msg("empty MTD device detected");
+@@ -1100,8 +1041,7 @@
+ #ifdef CONFIG_MTD_UBI_DEBUG_PARANOID
+
+ /**
+- * paranoid_check_si - check if the scanning information is correct and
+- * consistent.
++ * paranoid_check_si - check the scanning information.
+ * @ubi: UBI device description object
+ * @si: scanning information
+ *
+@@ -1286,11 +1226,6 @@
+ ubi_err("bad data_pad %d", sv->data_pad);
+ goto bad_vid_hdr;
+ }
+-
+- if (seb->leb_ver != be32_to_cpu(vidh->leb_ver)) {
+- ubi_err("bad leb_ver %u", seb->leb_ver);
+- goto bad_vid_hdr;
+- }
+ }
+
+ if (!last_seb)
+@@ -1320,8 +1255,7 @@
+ if (err < 0) {
+ kfree(buf);
+ return err;
+- }
+- else if (err)
++ } else if (err)
+ buf[pnum] = 1;
+ }
+
+diff -Nurd linux-2.6.24/drivers/mtd/ubi/scan.h ubifs-v2.6.24/drivers/mtd/ubi/scan.h
+--- linux-2.6.24/drivers/mtd/ubi/scan.h 2008-01-25 00:58:37.000000000 +0200
++++ ubifs-v2.6.24/drivers/mtd/ubi/scan.h 2009-04-07 17:14:47.000000000 +0200
+@@ -34,7 +34,6 @@
+ * @u: unions RB-tree or @list links
+ * @u.rb: link in the per-volume RB-tree of &struct ubi_scan_leb objects
+ * @u.list: link in one of the eraseblock lists
+- * @leb_ver: logical eraseblock version (obsolete)
+ *
+ * One object of this type is allocated for each physical eraseblock during
+ * scanning.
+@@ -49,7 +48,6 @@
+ struct rb_node rb;
+ struct list_head list;
+ } u;
+- uint32_t leb_ver;
+ };
+
+ /**
+@@ -59,16 +57,16 @@
+ * @leb_count: number of logical eraseblocks in this volume
+ * @vol_type: volume type
+ * @used_ebs: number of used logical eraseblocks in this volume (only for
+- * static volumes)
++ * static volumes)
+ * @last_data_size: amount of data in the last logical eraseblock of this
+- * volume (always equivalent to the usable logical eraseblock size in case of
+- * dynamic volumes)
++ * volume (always equivalent to the usable logical eraseblock
++ * size in case of dynamic volumes)
+ * @data_pad: how many bytes at the end of logical eraseblocks of this volume
+- * are not used (due to volume alignment)
++ * are not used (due to volume alignment)
+ * @compat: compatibility flags of this volume
+ * @rb: link in the volume RB-tree
+ * @root: root of the RB-tree containing all the eraseblock belonging to this
+- * volume (&struct ubi_scan_leb objects)
++ * volume (&struct ubi_scan_leb objects)
+ *
+ * One object of this type is allocated for each volume during scanning.
+ */
+@@ -92,8 +90,8 @@
+ * @free: list of free physical eraseblocks
+ * @erase: list of physical eraseblocks which have to be erased
+ * @alien: list of physical eraseblocks which should not be used by UBI (e.g.,
++ * those belonging to "preserve"-compatible internal volumes)
+ * @bad_peb_count: count of bad physical eraseblocks
+- * those belonging to "preserve"-compatible internal volumes)
+ * @vols_found: number of volumes found during scanning
+ * @highest_vol_id: highest volume ID
+ * @alien_peb_count: count of physical eraseblocks in the @alien list
+@@ -106,8 +104,8 @@
+ * @ec_count: a temporary variable used when calculating @mean_ec
+ *
+ * This data structure contains the result of scanning and may be used by other
+- * UBI units to build final UBI data structures, further error-recovery and so
+- * on.
++ * UBI sub-systems to build final UBI data structures, further error-recovery
++ * and so on.
+ */
+ struct ubi_scan_info {
+ struct rb_root volumes;
+@@ -124,7 +122,7 @@
+ int max_ec;
+ unsigned long long max_sqnum;
+ int mean_ec;
+- int ec_sum;
++ uint64_t ec_sum;
+ int ec_count;
+ };
+
+@@ -132,8 +130,7 @@
+ struct ubi_vid_hdr;
+
+ /*
+- * ubi_scan_move_to_list - move a physical eraseblock from the volume tree to a
+- * list.
++ * ubi_scan_move_to_list - move a PEB from the volume tree to a list.
+ *
+ * @sv: volume scanning information
+ * @seb: scanning eraseblock infprmation
+diff -Nurd linux-2.6.24/drivers/mtd/ubi/ubi-media.h ubifs-v2.6.24/drivers/mtd/ubi/ubi-media.h
+--- linux-2.6.24/drivers/mtd/ubi/ubi-media.h 1970-01-01 02:00:00.000000000 +0200
++++ ubifs-v2.6.24/drivers/mtd/ubi/ubi-media.h 2009-04-07 17:14:47.000000000 +0200
+@@ -0,0 +1,368 @@
++/*
++ * Copyright (c) International Business Machines Corp., 2006
++ *
++ * 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 2 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, write to the Free Software
++ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
++ *
++ * Authors: Artem Bityutskiy (Битюцкий Ðртём)
++ * Thomas Gleixner
++ * Frank Haverkamp
++ * Oliver Lohmann
++ * Andreas Arnez
++ */
++
++/*
++ * This file defines the layout of UBI headers and all the other UBI on-flash
++ * data structures.
++ */
++
++#ifndef __UBI_MEDIA_H__
++#define __UBI_MEDIA_H__
++
++#include <asm/byteorder.h>
++
++/* The version of UBI images supported by this implementation */
++#define UBI_VERSION 1
++
++/* The highest erase counter value supported by this implementation */
++#define UBI_MAX_ERASECOUNTER 0x7FFFFFFF
++
++/* The initial CRC32 value used when calculating CRC checksums */
++#define UBI_CRC32_INIT 0xFFFFFFFFU
++
++/* Erase counter header magic number (ASCII "UBI#") */
++#define UBI_EC_HDR_MAGIC 0x55424923
++/* Volume identifier header magic number (ASCII "UBI!") */
++#define UBI_VID_HDR_MAGIC 0x55424921
++
++/*
++ * Volume type constants used in the volume identifier header.
++ *
++ * @UBI_VID_DYNAMIC: dynamic volume
++ * @UBI_VID_STATIC: static volume
++ */
++enum {
++ UBI_VID_DYNAMIC = 1,
++ UBI_VID_STATIC = 2
++};
++
++/*
++ * Volume flags used in the volume table record.
++ *
++ * @UBI_VTBL_AUTORESIZE_FLG: auto-resize this volume
++ *
++ * %UBI_VTBL_AUTORESIZE_FLG flag can be set only for one volume in the volume
++ * table. UBI automatically re-sizes the volume which has this flag and makes
++ * the volume to be of largest possible size. This means that if after the
++ * initialization UBI finds out that there are available physical eraseblocks
++ * present on the device, it automatically appends all of them to the volume
++ * (the physical eraseblocks reserved for bad eraseblocks handling and other
++ * reserved physical eraseblocks are not taken). So, if there is a volume with
++ * the %UBI_VTBL_AUTORESIZE_FLG flag set, the amount of available logical
++ * eraseblocks will be zero after UBI is loaded, because all of them will be
++ * reserved for this volume. Note, the %UBI_VTBL_AUTORESIZE_FLG bit is cleared
++ * after the volume had been initialized.
++ *
++ * The auto-resize feature is useful for device production purposes. For
++ * example, different NAND flash chips may have different amount of initial bad
++ * eraseblocks, depending of particular chip instance. Manufacturers of NAND
++ * chips usually guarantee that the amount of initial bad eraseblocks does not
++ * exceed certain percent, e.g. 2%. When one creates an UBI image which will be
++ * flashed to the end devices in production, he does not know the exact amount
++ * of good physical eraseblocks the NAND chip on the device will have, but this
++ * number is required to calculate the volume sized and put them to the volume
++ * table of the UBI image. In this case, one of the volumes (e.g., the one
++ * which will store the root file system) is marked as "auto-resizable", and
++ * UBI will adjust its size on the first boot if needed.
++ *
++ * Note, first UBI reserves some amount of physical eraseblocks for bad
++ * eraseblock handling, and then re-sizes the volume, not vice-versa. This
++ * means that the pool of reserved physical eraseblocks will always be present.
++ */
++enum {
++ UBI_VTBL_AUTORESIZE_FLG = 0x01,
++};
++
++/*
++ * Compatibility constants used by internal volumes.
++ *
++ * @UBI_COMPAT_DELETE: delete this internal volume before anything is written
++ * to the flash
++ * @UBI_COMPAT_RO: attach this device in read-only mode
++ * @UBI_COMPAT_PRESERVE: preserve this internal volume - do not touch its
++ * physical eraseblocks, don't allow the wear-leveling
++ * sub-system to move them
++ * @UBI_COMPAT_REJECT: reject this UBI image
++ */
++enum {
++ UBI_COMPAT_DELETE = 1,
++ UBI_COMPAT_RO = 2,
++ UBI_COMPAT_PRESERVE = 4,
++ UBI_COMPAT_REJECT = 5
++};
++
++/* Sizes of UBI headers */
++#define UBI_EC_HDR_SIZE sizeof(struct ubi_ec_hdr)
++#define UBI_VID_HDR_SIZE sizeof(struct ubi_vid_hdr)
++
++/* Sizes of UBI headers without the ending CRC */
++#define UBI_EC_HDR_SIZE_CRC (UBI_EC_HDR_SIZE - sizeof(__be32))
++#define UBI_VID_HDR_SIZE_CRC (UBI_VID_HDR_SIZE - sizeof(__be32))
++
++/**
++ * struct ubi_ec_hdr - UBI erase counter header.
++ * @magic: erase counter header magic number (%UBI_EC_HDR_MAGIC)
++ * @version: version of UBI implementation which is supposed to accept this
++ * UBI image
++ * @padding1: reserved for future, zeroes
++ * @ec: the erase counter
++ * @vid_hdr_offset: where the VID header starts
++ * @data_offset: where the user data start
++ * @padding2: reserved for future, zeroes
++ * @hdr_crc: erase counter header CRC checksum
++ *
++ * The erase counter header takes 64 bytes and has a plenty of unused space for
++ * future usage. The unused fields are zeroed. The @version field is used to
++ * indicate the version of UBI implementation which is supposed to be able to
++ * work with this UBI image. If @version is greater then the current UBI
++ * version, the image is rejected. This may be useful in future if something
++ * is changed radically. This field is duplicated in the volume identifier
++ * header.
++ *
++ * The @vid_hdr_offset and @data_offset fields contain the offset of the the
++ * volume identifier header and user data, relative to the beginning of the
++ * physical eraseblock. These values have to be the same for all physical
++ * eraseblocks.
++ */
++struct ubi_ec_hdr {
++ __be32 magic;
++ __u8 version;
++ __u8 padding1[3];
++ __be64 ec; /* Warning: the current limit is 31-bit anyway! */
++ __be32 vid_hdr_offset;
++ __be32 data_offset;
++ __u8 padding2[36];
++ __be32 hdr_crc;
++} __attribute__ ((packed));
++
++/**
++ * struct ubi_vid_hdr - on-flash UBI volume identifier header.
++ * @magic: volume identifier header magic number (%UBI_VID_HDR_MAGIC)
++ * @version: UBI implementation version which is supposed to accept this UBI
++ * image (%UBI_VERSION)
++ * @vol_type: volume type (%UBI_VID_DYNAMIC or %UBI_VID_STATIC)
++ * @copy_flag: if this logical eraseblock was copied from another physical
++ * eraseblock (for wear-leveling reasons)
++ * @compat: compatibility of this volume (%0, %UBI_COMPAT_DELETE,
++ * %UBI_COMPAT_IGNORE, %UBI_COMPAT_PRESERVE, or %UBI_COMPAT_REJECT)
++ * @vol_id: ID of this volume
++ * @lnum: logical eraseblock number
++ * @padding1: reserved for future, zeroes
++ * @data_size: how many bytes of data this logical eraseblock contains
++ * @used_ebs: total number of used logical eraseblocks in this volume
++ * @data_pad: how many bytes at the end of this physical eraseblock are not
++ * used
++ * @data_crc: CRC checksum of the data stored in this logical eraseblock
++ * @padding2: reserved for future, zeroes
++ * @sqnum: sequence number
++ * @padding3: reserved for future, zeroes
++ * @hdr_crc: volume identifier header CRC checksum
++ *
++ * The @sqnum is the value of the global sequence counter at the time when this
++ * VID header was created. The global sequence counter is incremented each time
++ * UBI writes a new VID header to the flash, i.e. when it maps a logical
++ * eraseblock to a new physical eraseblock. The global sequence counter is an
++ * unsigned 64-bit integer and we assume it never overflows. The @sqnum
++ * (sequence number) is used to distinguish between older and newer versions of
++ * logical eraseblocks.
++ *
++ * There are 2 situations when there may be more then one physical eraseblock
++ * corresponding to the same logical eraseblock, i.e., having the same @vol_id
++ * and @lnum values in the volume identifier header. Suppose we have a logical
++ * eraseblock L and it is mapped to the physical eraseblock P.
++ *
++ * 1. Because UBI may erase physical eraseblocks asynchronously, the following
++ * situation is possible: L is asynchronously erased, so P is scheduled for
++ * erasure, then L is written to,i.e. mapped to another physical eraseblock P1,
++ * so P1 is written to, then an unclean reboot happens. Result - there are 2
++ * physical eraseblocks P and P1 corresponding to the same logical eraseblock
++ * L. But P1 has greater sequence number, so UBI picks P1 when it attaches the
++ * flash.
++ *
++ * 2. From time to time UBI moves logical eraseblocks to other physical
++ * eraseblocks for wear-leveling reasons. If, for example, UBI moves L from P
++ * to P1, and an unclean reboot happens before P is physically erased, there
++ * are two physical eraseblocks P and P1 corresponding to L and UBI has to
++ * select one of them when the flash is attached. The @sqnum field says which
++ * PEB is the original (obviously P will have lower @sqnum) and the copy. But
++ * it is not enough to select the physical eraseblock with the higher sequence
++ * number, because the unclean reboot could have happen in the middle of the
++ * copying process, so the data in P is corrupted. It is also not enough to
++ * just select the physical eraseblock with lower sequence number, because the
++ * data there may be old (consider a case if more data was added to P1 after
++ * the copying). Moreover, the unclean reboot may happen when the erasure of P
++ * was just started, so it result in unstable P, which is "mostly" OK, but
++ * still has unstable bits.
++ *
++ * UBI uses the @copy_flag field to indicate that this logical eraseblock is a
++ * copy. UBI also calculates data CRC when the data is moved and stores it at
++ * the @data_crc field of the copy (P1). So when UBI needs to pick one physical
++ * eraseblock of two (P or P1), the @copy_flag of the newer one (P1) is
++ * examined. If it is cleared, the situation* is simple and the newer one is
++ * picked. If it is set, the data CRC of the copy (P1) is examined. If the CRC
++ * checksum is correct, this physical eraseblock is selected (P1). Otherwise
++ * the older one (P) is selected.
++ *
++ * There are 2 sorts of volumes in UBI: user volumes and internal volumes.
++ * Internal volumes are not seen from outside and are used for various internal
++ * UBI purposes. In this implementation there is only one internal volume - the
++ * layout volume. Internal volumes are the main mechanism of UBI extensions.
++ * For example, in future one may introduce a journal internal volume. Internal
++ * volumes have their own reserved range of IDs.
++ *
++ * The @compat field is only used for internal volumes and contains the "degree
++ * of their compatibility". It is always zero for user volumes. This field
++ * provides a mechanism to introduce UBI extensions and to be still compatible
++ * with older UBI binaries. For example, if someone introduced a journal in
++ * future, he would probably use %UBI_COMPAT_DELETE compatibility for the
++ * journal volume. And in this case, older UBI binaries, which know nothing
++ * about the journal volume, would just delete this volume and work perfectly
++ * fine. This is similar to what Ext2fs does when it is fed by an Ext3fs image
++ * - it just ignores the Ext3fs journal.
++ *
++ * The @data_crc field contains the CRC checksum of the contents of the logical
++ * eraseblock if this is a static volume. In case of dynamic volumes, it does
++ * not contain the CRC checksum as a rule. The only exception is when the
++ * data of the physical eraseblock was moved by the wear-leveling sub-system,
++ * then the wear-leveling sub-system calculates the data CRC and stores it in
++ * the @data_crc field. And of course, the @copy_flag is %in this case.
++ *
++ * The @data_size field is used only for static volumes because UBI has to know
++ * how many bytes of data are stored in this eraseblock. For dynamic volumes,
++ * this field usually contains zero. The only exception is when the data of the
++ * physical eraseblock was moved to another physical eraseblock for
++ * wear-leveling reasons. In this case, UBI calculates CRC checksum of the
++ * contents and uses both @data_crc and @data_size fields. In this case, the
++ * @data_size field contains data size.
++ *
++ * The @used_ebs field is used only for static volumes and indicates how many
++ * eraseblocks the data of the volume takes. For dynamic volumes this field is
++ * not used and always contains zero.
++ *
++ * The @data_pad is calculated when volumes are created using the alignment
++ * parameter. So, effectively, the @data_pad field reduces the size of logical
++ * eraseblocks of this volume. This is very handy when one uses block-oriented
++ * software (say, cramfs) on top of the UBI volume.
++ */
++struct ubi_vid_hdr {
++ __be32 magic;
++ __u8 version;
++ __u8 vol_type;
++ __u8 copy_flag;
++ __u8 compat;
++ __be32 vol_id;
++ __be32 lnum;
++ __u8 padding1[4];
++ __be32 data_size;
++ __be32 used_ebs;
++ __be32 data_pad;
++ __be32 data_crc;
++ __u8 padding2[4];
++ __be64 sqnum;
++ __u8 padding3[12];
++ __be32 hdr_crc;
++} __attribute__ ((packed));
++
++/* Internal UBI volumes count */
++#define UBI_INT_VOL_COUNT 1
++
++/*
++ * Starting ID of internal volumes. There is reserved room for 4096 internal
++ * volumes.
++ */
++#define UBI_INTERNAL_VOL_START (0x7FFFFFFF - 4096)
++
++/* The layout volume contains the volume table */
++
++#define UBI_LAYOUT_VOLUME_ID UBI_INTERNAL_VOL_START
++#define UBI_LAYOUT_VOLUME_TYPE UBI_VID_DYNAMIC
++#define UBI_LAYOUT_VOLUME_ALIGN 1
++#define UBI_LAYOUT_VOLUME_EBS 2
++#define UBI_LAYOUT_VOLUME_NAME "layout volume"
++#define UBI_LAYOUT_VOLUME_COMPAT UBI_COMPAT_REJECT
++
++/* The maximum number of volumes per one UBI device */
++#define UBI_MAX_VOLUMES 128
++
++/* The maximum volume name length */
++#define UBI_VOL_NAME_MAX 127
++
++/* Size of the volume table record */
++#define UBI_VTBL_RECORD_SIZE sizeof(struct ubi_vtbl_record)
++
++/* Size of the volume table record without the ending CRC */
++#define UBI_VTBL_RECORD_SIZE_CRC (UBI_VTBL_RECORD_SIZE - sizeof(__be32))
++
++/**
++ * struct ubi_vtbl_record - a record in the volume table.
++ * @reserved_pebs: how many physical eraseblocks are reserved for this volume
++ * @alignment: volume alignment
++ * @data_pad: how many bytes are unused at the end of the each physical
++ * eraseblock to satisfy the requested alignment
++ * @vol_type: volume type (%UBI_DYNAMIC_VOLUME or %UBI_STATIC_VOLUME)
++ * @upd_marker: if volume update was started but not finished
++ * @name_len: volume name length
++ * @name: the volume name
++ * @flags: volume flags (%UBI_VTBL_AUTORESIZE_FLG)
++ * @padding: reserved, zeroes
++ * @crc: a CRC32 checksum of the record
++ *
++ * The volume table records are stored in the volume table, which is stored in
++ * the layout volume. The layout volume consists of 2 logical eraseblock, each
++ * of which contains a copy of the volume table (i.e., the volume table is
++ * duplicated). The volume table is an array of &struct ubi_vtbl_record
++ * objects indexed by the volume ID.
++ *
++ * If the size of the logical eraseblock is large enough to fit
++ * %UBI_MAX_VOLUMES records, the volume table contains %UBI_MAX_VOLUMES
++ * records. Otherwise, it contains as many records as it can fit (i.e., size of
++ * logical eraseblock divided by sizeof(struct ubi_vtbl_record)).
++ *
++ * The @upd_marker flag is used to implement volume update. It is set to %1
++ * before update and set to %0 after the update. So if the update operation was
++ * interrupted, UBI knows that the volume is corrupted.
++ *
++ * The @alignment field is specified when the volume is created and cannot be
++ * later changed. It may be useful, for example, when a block-oriented file
++ * system works on top of UBI. The @data_pad field is calculated using the
++ * logical eraseblock size and @alignment. The alignment must be multiple to the
++ * minimal flash I/O unit. If @alignment is 1, all the available space of
++ * the physical eraseblocks is used.
++ *
++ * Empty records contain all zeroes and the CRC checksum of those zeroes.
++ */
++struct ubi_vtbl_record {
++ __be32 reserved_pebs;
++ __be32 alignment;
++ __be32 data_pad;
++ __u8 vol_type;
++ __u8 upd_marker;
++ __be16 name_len;
++ __u8 name[UBI_VOL_NAME_MAX+1];
++ __u8 flags;
++ __u8 padding[23];
++ __be32 crc;
++} __attribute__ ((packed));
++
++#endif /* !__UBI_MEDIA_H__ */
+diff -Nurd linux-2.6.24/drivers/mtd/ubi/ubi.h ubifs-v2.6.24/drivers/mtd/ubi/ubi.h
+--- linux-2.6.24/drivers/mtd/ubi/ubi.h 2008-01-25 00:58:37.000000000 +0200
++++ ubifs-v2.6.24/drivers/mtd/ubi/ubi.h 2009-04-07 17:14:47.000000000 +0200
+@@ -37,10 +37,9 @@
+ #include <linux/string.h>
+ #include <linux/vmalloc.h>
+ #include <linux/mtd/mtd.h>
+-
+-#include <mtd/ubi-header.h>
+ #include <linux/mtd/ubi.h>
+
++#include "ubi-media.h"
+ #include "scan.h"
+ #include "debug.h"
+
+@@ -75,15 +74,22 @@
+ #define UBI_IO_RETRIES 3
+
+ /*
+- * Error codes returned by the I/O unit.
++ * Length of the protection queue. The length is effectively equivalent to the
++ * number of (global) erase cycles PEBs are protected from the wear-leveling
++ * worker.
++ */
++#define UBI_PROT_QUEUE_LEN 10
++
++/*
++ * Error codes returned by the I/O sub-system.
+ *
+ * UBI_IO_PEB_EMPTY: the physical eraseblock is empty, i.e. it contains only
+- * 0xFF bytes
++ * %0xFF bytes
+ * UBI_IO_PEB_FREE: the physical eraseblock is free, i.e. it contains only a
+- * valid erase counter header, and the rest are %0xFF bytes
++ * valid erase counter header, and the rest are %0xFF bytes
+ * UBI_IO_BAD_EC_HDR: the erase counter header is corrupted (bad magic or CRC)
+ * UBI_IO_BAD_VID_HDR: the volume identifier header is corrupted (bad magic or
+- * CRC)
++ * CRC)
+ * UBI_IO_BITFLIPS: bit-flips were detected and corrected
+ */
+ enum {
+@@ -94,8 +100,68 @@
+ UBI_IO_BITFLIPS
+ };
+
+-extern int ubi_devices_cnt;
+-extern struct ubi_device *ubi_devices[];
++/**
++ * struct ubi_wl_entry - wear-leveling entry.
++ * @u.rb: link in the corresponding (free/used) RB-tree
++ * @u.list: link in the protection queue
++ * @ec: erase counter
++ * @pnum: physical eraseblock number
++ *
++ * This data structure is used in the WL sub-system. Each physical eraseblock
++ * has a corresponding &struct wl_entry object which may be kept in different
++ * RB-trees. See WL sub-system for details.
++ */
++struct ubi_wl_entry {
++ union {
++ struct rb_node rb;
++ struct list_head list;
++ } u;
++ int ec;
++ int pnum;
++};
++
++/**
++ * struct ubi_ltree_entry - an entry in the lock tree.
++ * @rb: links RB-tree nodes
++ * @vol_id: volume ID of the locked logical eraseblock
++ * @lnum: locked logical eraseblock number
++ * @users: how many tasks are using this logical eraseblock or wait for it
++ * @mutex: read/write mutex to implement read/write access serialization to
++ * the (@vol_id, @lnum) logical eraseblock
++ *
++ * This data structure is used in the EBA sub-system to implement per-LEB
++ * locking. When a logical eraseblock is being locked - corresponding
++ * &struct ubi_ltree_entry object is inserted to the lock tree (@ubi->ltree).
++ * See EBA sub-system for details.
++ */
++struct ubi_ltree_entry {
++ struct rb_node rb;
++ int vol_id;
++ int lnum;
++ int users;
++ struct rw_semaphore mutex;
++};
++
++/**
++ * struct ubi_rename_entry - volume re-name description data structure.
++ * @new_name_len: new volume name length
++ * @new_name: new volume name
++ * @remove: if not zero, this volume should be removed, not re-named
++ * @desc: descriptor of the volume
++ * @list: links re-name entries into a list
++ *
++ * This data structure is utilized in the multiple volume re-name code. Namely,
++ * UBI first creates a list of &struct ubi_rename_entry objects from the
++ * &struct ubi_rnvol_req request object, and then utilizes this list to do all
++ * the job.
++ */
++struct ubi_rename_entry {
++ int new_name_len;
++ char new_name[UBI_VOL_NAME_MAX + 1];
++ int remove;
++ struct ubi_volume_desc *desc;
++ struct list_head list;
++};
+
+ struct ubi_volume_desc;
+
+@@ -105,11 +171,10 @@
+ * @cdev: character device object to create character device
+ * @ubi: reference to the UBI device description object
+ * @vol_id: volume ID
++ * @ref_count: volume reference count
+ * @readers: number of users holding this volume in read-only mode
+ * @writers: number of users holding this volume in read-write mode
+ * @exclusive: whether somebody holds this volume in exclusive mode
+- * @removed: if the volume was removed
+- * @checked: if this static volume was checked
+ *
+ * @reserved_pebs: how many physical eraseblocks are reserved for this volume
+ * @vol_type: volume type (%UBI_DYNAMIC_VOLUME or %UBI_STATIC_VOLUME)
+@@ -117,21 +182,31 @@
+ * @used_ebs: how many logical eraseblocks in this volume contain data
+ * @last_eb_bytes: how many bytes are stored in the last logical eraseblock
+ * @used_bytes: how many bytes of data this volume contains
+- * @upd_marker: non-zero if the update marker is set for this volume
+- * @corrupted: non-zero if the volume is corrupted (static volumes only)
+ * @alignment: volume alignment
+ * @data_pad: how many bytes are not used at the end of physical eraseblocks to
+- * satisfy the requested alignment
++ * satisfy the requested alignment
+ * @name_len: volume name length
+ * @name: volume name
+ *
+- * @updating: whether the volume is being updated
+ * @upd_ebs: how many eraseblocks are expected to be updated
+- * @upd_bytes: how many bytes are expected to be received
+- * @upd_received: how many update bytes were already received
+- * @upd_buf: update buffer which is used to collect update data
++ * @ch_lnum: LEB number which is being changing by the atomic LEB change
++ * operation
++ * @ch_dtype: data persistency type which is being changing by the atomic LEB
++ * change operation
++ * @upd_bytes: how many bytes are expected to be received for volume update or
++ * atomic LEB change
++ * @upd_received: how many bytes were already received for volume update or
++ * atomic LEB change
++ * @upd_buf: update buffer which is used to collect update data or data for
++ * atomic LEB change
+ *
+ * @eba_tbl: EBA table of this volume (LEB->PEB mapping)
++ * @checked: %1 if this static volume was checked
++ * @corrupted: %1 if the volume is corrupted (static volumes only)
++ * @upd_marker: %1 if the update marker is set for this volume
++ * @updating: %1 if the volume is being updated
++ * @changing_leb: %1 if the atomic LEB change ioctl command is in progress
++ * @direct_writes: %1 if direct writes are enabled for this volume
+ *
+ * @gluebi_desc: gluebi UBI volume descriptor
+ * @gluebi_refcount: reference count of the gluebi MTD device
+@@ -150,11 +225,10 @@
+ struct cdev cdev;
+ struct ubi_device *ubi;
+ int vol_id;
++ int ref_count;
+ int readers;
+ int writers;
+ int exclusive;
+- int removed;
+- int checked;
+
+ int reserved_pebs;
+ int vol_type;
+@@ -162,23 +236,32 @@
+ int used_ebs;
+ int last_eb_bytes;
+ long long used_bytes;
+- int upd_marker;
+- int corrupted;
+ int alignment;
+ int data_pad;
+ int name_len;
+- char name[UBI_VOL_NAME_MAX+1];
++ char name[UBI_VOL_NAME_MAX + 1];
+
+- int updating;
+ int upd_ebs;
++ int ch_lnum;
++ int ch_dtype;
+ long long upd_bytes;
+ long long upd_received;
+ void *upd_buf;
+
+ int *eba_tbl;
++ unsigned int checked:1;
++ unsigned int corrupted:1;
++ unsigned int upd_marker:1;
++ unsigned int updating:1;
++ unsigned int changing_leb:1;
++ unsigned int direct_writes:1;
+
+ #ifdef CONFIG_MTD_UBI_GLUEBI
+- /* Gluebi-related stuff may be compiled out */
++ /*
++ * Gluebi-related stuff may be compiled out.
++ * Note: this should not be built into UBI but should be a separate
++ * ubimtd driver which works on top of UBI and emulates MTD devices.
++ */
+ struct ubi_volume_desc *gluebi_desc;
+ int gluebi_refcount;
+ struct mtd_info gluebi_mtd;
+@@ -186,8 +269,7 @@
+ };
+
+ /**
+- * struct ubi_volume_desc - descriptor of the UBI volume returned when it is
+- * opened.
++ * struct ubi_volume_desc - UBI volume descriptor returned when it is opened.
+ * @vol: reference to the corresponding volume description object
+ * @mode: open mode (%UBI_READONLY, %UBI_READWRITE, or %UBI_EXCLUSIVE)
+ */
+@@ -200,28 +282,32 @@
+
+ /**
+ * struct ubi_device - UBI device description structure
+- * @dev: class device object to use the the Linux device model
++ * @dev: UBI device object to use the the Linux device model
+ * @cdev: character device object to create character device
+ * @ubi_num: UBI device number
+ * @ubi_name: UBI device name
+- * @major: character device major number
+ * @vol_count: number of volumes in this UBI device
+ * @volumes: volumes of this UBI device
+ * @volumes_lock: protects @volumes, @rsvd_pebs, @avail_pebs, beb_rsvd_pebs,
+- * @beb_rsvd_level, @bad_peb_count, @good_peb_count, @vol_count, @vol->readers,
+- * @vol->writers, @vol->exclusive, @vol->removed, @vol->mapping and
+- * @vol->eba_tbl.
++ * @beb_rsvd_level, @bad_peb_count, @good_peb_count, @vol_count,
++ * @vol->readers, @vol->writers, @vol->exclusive,
++ * @vol->ref_count, @vol->mapping and @vol->eba_tbl.
++ * @ref_count: count of references on the UBI device
+ *
+ * @rsvd_pebs: count of reserved physical eraseblocks
+ * @avail_pebs: count of available physical eraseblocks
+ * @beb_rsvd_pebs: how many physical eraseblocks are reserved for bad PEB
+- * handling
++ * handling
+ * @beb_rsvd_level: normal level of PEBs reserved for bad PEB handling
+ *
++ * @autoresize_vol_id: ID of the volume which has to be auto-resized at the end
++ * of UBI initialization
+ * @vtbl_slots: how many slots are available in the volume table
+ * @vtbl_size: size of the volume table in bytes
+ * @vtbl: in-RAM volume table copy
+- * @vtbl_mutex: protects on-flash volume table
++ * @volumes_mutex: protects on-flash volume table and serializes volume
++ * changes, like creation, deletion, update, re-size,
++ * re-name and set property
+ *
+ * @max_ec: current highest erase counter value
+ * @mean_ec: current mean erase counter value
+@@ -234,19 +320,19 @@
+ * @used: RB-tree of used physical eraseblocks
+ * @free: RB-tree of free physical eraseblocks
+ * @scrub: RB-tree of physical eraseblocks which need scrubbing
+- * @prot: protection trees
+- * @prot.pnum: protection tree indexed by physical eraseblock numbers
+- * @prot.aec: protection tree indexed by absolute erase counter value
+- * @wl_lock: protects the @used, @free, @prot, @lookuptbl, @abs_ec, @move_from,
+- * @move_to, @move_to_put @erase_pending, @wl_scheduled, and @works
+- * fields
++ * @pq: protection queue (contain physical eraseblocks which are temporarily
++ * protected from the wear-leveling worker)
++ * @pq_head: protection queue head
++ * @wl_lock: protects the @used, @free, @pq, @pq_head, @lookuptbl, @move_from,
++ * @move_to, @move_to_put @erase_pending, @wl_scheduled and @works
++ * fields
++ * @move_mutex: serializes eraseblock moves
++ * @work_sem: synchronizes the WL worker with use tasks
+ * @wl_scheduled: non-zero if the wear-leveling was scheduled
+ * @lookuptbl: a table to quickly find a &struct ubi_wl_entry object for any
+- * physical eraseblock
+- * @abs_ec: absolute erase counter
++ * physical eraseblock
+ * @move_from: physical eraseblock from where the data is being moved
+ * @move_to: physical eraseblock where the data is being moved to
+- * @move_from_put: if the "from" PEB was put
+ * @move_to_put: if the "to" PEB was put
+ * @works: list of pending works
+ * @works_count: count of pending works
+@@ -264,68 +350,70 @@
+ * @ro_mode: if the UBI device is in read-only mode
+ * @leb_size: logical eraseblock size
+ * @leb_start: starting offset of logical eraseblocks within physical
+- * eraseblocks
++ * eraseblocks
+ * @ec_hdr_alsize: size of the EC header aligned to @hdrs_min_io_size
+ * @vid_hdr_alsize: size of the VID header aligned to @hdrs_min_io_size
+ * @vid_hdr_offset: starting offset of the volume identifier header (might be
+- * unaligned)
++ * unaligned)
+ * @vid_hdr_aloffset: starting offset of the VID header aligned to
+ * @hdrs_min_io_size
+ * @vid_hdr_shift: contains @vid_hdr_offset - @vid_hdr_aloffset
+ * @bad_allowed: whether the MTD device admits of bad physical eraseblocks or
+- * not
++ * not
+ * @mtd: MTD device descriptor
+ *
+ * @peb_buf1: a buffer of PEB size used for different purposes
+ * @peb_buf2: another buffer of PEB size used for different purposes
+- * @buf_mutex: proptects @peb_buf1 and @peb_buf2
+- * @dbg_peb_buf: buffer of PEB size used for debugging
+- * @dbg_buf_mutex: proptects @dbg_peb_buf
++ * @buf_mutex: protects @peb_buf1 and @peb_buf2
++ * @ckvol_mutex: serializes static volume checking when opening
++ * @mult_mutex: serializes operations on multiple volumes, like re-naming
++ * @dbg_peb_buf: buffer of PEB size used for debugging
++ * @dbg_buf_mutex: protects @dbg_peb_buf
+ */
+ struct ubi_device {
+ struct cdev cdev;
+ struct device dev;
+ int ubi_num;
+ char ubi_name[sizeof(UBI_NAME_STR)+5];
+- int major;
+ int vol_count;
+ struct ubi_volume *volumes[UBI_MAX_VOLUMES+UBI_INT_VOL_COUNT];
+ spinlock_t volumes_lock;
++ int ref_count;
+
+ int rsvd_pebs;
+ int avail_pebs;
+ int beb_rsvd_pebs;
+ int beb_rsvd_level;
+
++ int autoresize_vol_id;
+ int vtbl_slots;
+ int vtbl_size;
+ struct ubi_vtbl_record *vtbl;
+- struct mutex vtbl_mutex;
++ struct mutex volumes_mutex;
+
+ int max_ec;
++ /* Note, mean_ec is not updated run-time - should be fixed */
+ int mean_ec;
+
+- /* EBA unit's stuff */
++ /* EBA sub-system's stuff */
+ unsigned long long global_sqnum;
+ spinlock_t ltree_lock;
+ struct rb_root ltree;
+ struct mutex alc_mutex;
+
+- /* Wear-leveling unit's stuff */
++ /* Wear-leveling sub-system's stuff */
+ struct rb_root used;
+ struct rb_root free;
+ struct rb_root scrub;
+- struct {
+- struct rb_root pnum;
+- struct rb_root aec;
+- } prot;
++ struct list_head pq[UBI_PROT_QUEUE_LEN];
++ int pq_head;
+ spinlock_t wl_lock;
++ struct mutex move_mutex;
++ struct rw_semaphore work_sem;
+ int wl_scheduled;
+ struct ubi_wl_entry **lookuptbl;
+- unsigned long long abs_ec;
+ struct ubi_wl_entry *move_from;
+ struct ubi_wl_entry *move_to;
+- int move_from_put;
+ int move_to_put;
+ struct list_head works;
+ int works_count;
+@@ -333,7 +421,7 @@
+ int thread_enabled;
+ char bgt_name[sizeof(UBI_BGT_NAME_PATTERN)+2];
+
+- /* I/O unit's stuff */
++ /* I/O sub-system's stuff */
+ long long flash_size;
+ int peb_count;
+ int peb_size;
+@@ -355,35 +443,49 @@
+ void *peb_buf1;
+ void *peb_buf2;
+ struct mutex buf_mutex;
++ struct mutex ckvol_mutex;
++ struct mutex mult_mutex;
+ #ifdef CONFIG_MTD_UBI_DEBUG
+ void *dbg_peb_buf;
+ struct mutex dbg_buf_mutex;
+ #endif
+ };
+
+-extern struct file_operations ubi_cdev_operations;
+-extern struct file_operations ubi_vol_cdev_operations;
++extern struct kmem_cache *ubi_wl_entry_slab;
++extern const struct file_operations ubi_ctrl_cdev_operations;
++extern const struct file_operations ubi_cdev_operations;
++extern const struct file_operations ubi_vol_cdev_operations;
+ extern struct class *ubi_class;
++extern struct mutex ubi_devices_mutex;
+
+ /* vtbl.c */
+ int ubi_change_vtbl_record(struct ubi_device *ubi, int idx,
+ struct ubi_vtbl_record *vtbl_rec);
++int ubi_vtbl_rename_volumes(struct ubi_device *ubi,
++ struct list_head *rename_list);
+ int ubi_read_volume_table(struct ubi_device *ubi, struct ubi_scan_info *si);
+
+ /* vmt.c */
+ int ubi_create_volume(struct ubi_device *ubi, struct ubi_mkvol_req *req);
+-int ubi_remove_volume(struct ubi_volume_desc *desc);
++int ubi_remove_volume(struct ubi_volume_desc *desc, int no_vtbl);
+ int ubi_resize_volume(struct ubi_volume_desc *desc, int reserved_pebs);
+-int ubi_add_volume(struct ubi_device *ubi, int vol_id);
+-void ubi_free_volume(struct ubi_device *ubi, int vol_id);
++int ubi_rename_volumes(struct ubi_device *ubi, struct list_head *rename_list);
++int ubi_add_volume(struct ubi_device *ubi, struct ubi_volume *vol);
++void ubi_free_volume(struct ubi_device *ubi, struct ubi_volume *vol);
+
+ /* upd.c */
+-int ubi_start_update(struct ubi_device *ubi, int vol_id, long long bytes);
+-int ubi_more_update_data(struct ubi_device *ubi, int vol_id,
++int ubi_start_update(struct ubi_device *ubi, struct ubi_volume *vol,
++ long long bytes);
++int ubi_more_update_data(struct ubi_device *ubi, struct ubi_volume *vol,
+ const void __user *buf, int count);
++int ubi_start_leb_change(struct ubi_device *ubi, struct ubi_volume *vol,
++ const struct ubi_leb_change_req *req);
++int ubi_more_leb_change_data(struct ubi_device *ubi, struct ubi_volume *vol,
++ const void __user *buf, int count);
+
+ /* misc.c */
+-int ubi_calc_data_len(const struct ubi_device *ubi, const void *buf, int length);
++int ubi_calc_data_len(const struct ubi_device *ubi, const void *buf,
++ int length);
+ int ubi_check_volume(struct ubi_device *ubi, int vol_id);
+ void ubi_calculate_reserved(struct ubi_device *ubi);
+
+@@ -399,20 +501,20 @@
+ #endif
+
+ /* eba.c */
+-int ubi_eba_unmap_leb(struct ubi_device *ubi, int vol_id, int lnum);
+-int ubi_eba_read_leb(struct ubi_device *ubi, int vol_id, int lnum, void *buf,
+- int offset, int len, int check);
+-int ubi_eba_write_leb(struct ubi_device *ubi, int vol_id, int lnum,
++int ubi_eba_unmap_leb(struct ubi_device *ubi, struct ubi_volume *vol,
++ int lnum);
++int ubi_eba_read_leb(struct ubi_device *ubi, struct ubi_volume *vol, int lnum,
++ void *buf, int offset, int len, int check);
++int ubi_eba_write_leb(struct ubi_device *ubi, struct ubi_volume *vol, int lnum,
+ const void *buf, int offset, int len, int dtype);
+-int ubi_eba_write_leb_st(struct ubi_device *ubi, int vol_id, int lnum,
+- const void *buf, int len, int dtype,
++int ubi_eba_write_leb_st(struct ubi_device *ubi, struct ubi_volume *vol,
++ int lnum, const void *buf, int len, int dtype,
+ int used_ebs);
+-int ubi_eba_atomic_leb_change(struct ubi_device *ubi, int vol_id, int lnum,
+- const void *buf, int len, int dtype);
++int ubi_eba_atomic_leb_change(struct ubi_device *ubi, struct ubi_volume *vol,
++ int lnum, const void *buf, int len, int dtype);
+ int ubi_eba_copy_leb(struct ubi_device *ubi, int from, int to,
+ struct ubi_vid_hdr *vid_hdr);
+ int ubi_eba_init_scan(struct ubi_device *ubi, struct ubi_scan_info *si);
+-void ubi_eba_close(const struct ubi_device *ubi);
+
+ /* wl.c */
+ int ubi_wl_get_peb(struct ubi_device *ubi, int dtype);
+@@ -421,6 +523,7 @@
+ int ubi_wl_scrub_peb(struct ubi_device *ubi, int pnum);
+ int ubi_wl_init_scan(struct ubi_device *ubi, struct ubi_scan_info *si);
+ void ubi_wl_close(struct ubi_device *ubi);
++int ubi_thread(void *u);
+
+ /* io.c */
+ int ubi_io_read(const struct ubi_device *ubi, void *buf, int pnum, int offset,
+@@ -439,6 +542,14 @@
+ int ubi_io_write_vid_hdr(struct ubi_device *ubi, int pnum,
+ struct ubi_vid_hdr *vid_hdr);
+
++/* build.c */
++int ubi_attach_mtd_dev(struct mtd_info *mtd, int ubi_num, int vid_hdr_offset);
++int ubi_detach_mtd_dev(int ubi_num, int anyway);
++struct ubi_device *ubi_get_device(int ubi_num);
++void ubi_put_device(struct ubi_device *ubi);
++struct ubi_device *ubi_get_by_major(int major);
++int ubi_major2num(int major);
++
+ /*
+ * ubi_rb_for_each_entry - walk an RB-tree.
+ * @rb: a pointer to type 'struct rb_node' to to use as a loop counter
+@@ -523,8 +634,10 @@
+ */
+ static inline void ubi_ro_mode(struct ubi_device *ubi)
+ {
+- ubi->ro_mode = 1;
+- ubi_warn("switch to read-only mode");
++ if (!ubi->ro_mode) {
++ ubi->ro_mode = 1;
++ ubi_warn("switch to read-only mode");
++ }
+ }
+
+ /**
+diff -Nurd linux-2.6.24/drivers/mtd/ubi/upd.c ubifs-v2.6.24/drivers/mtd/ubi/upd.c
+--- linux-2.6.24/drivers/mtd/ubi/upd.c 2008-01-25 00:58:37.000000000 +0200
++++ ubifs-v2.6.24/drivers/mtd/ubi/upd.c 2009-04-07 17:14:47.000000000 +0200
+@@ -22,7 +22,8 @@
+ */
+
+ /*
+- * This file contains implementation of the volume update functionality.
++ * This file contains implementation of the volume update and atomic LEB change
++ * functionality.
+ *
+ * The update operation is based on the per-volume update marker which is
+ * stored in the volume table. The update marker is set before the update
+@@ -38,36 +39,37 @@
+ */
+
+ #include <linux/err.h>
+-#include <asm/uaccess.h>
+-#include <asm/div64.h>
++#include <linux/uaccess.h>
+ #include "ubi.h"
+
+ /**
+ * set_update_marker - set update marker.
+ * @ubi: UBI device description object
+- * @vol_id: volume ID
++ * @vol: volume description object
+ *
+- * This function sets the update marker flag for volume @vol_id. Returns zero
++ * This function sets the update marker flag for volume @vol. Returns zero
+ * in case of success and a negative error code in case of failure.
+ */
+-static int set_update_marker(struct ubi_device *ubi, int vol_id)
++static int set_update_marker(struct ubi_device *ubi, struct ubi_volume *vol)
+ {
+ int err;
+ struct ubi_vtbl_record vtbl_rec;
+- struct ubi_volume *vol = ubi->volumes[vol_id];
+
+- dbg_msg("set update marker for volume %d", vol_id);
++ dbg_gen("set update marker for volume %d", vol->vol_id);
+
+ if (vol->upd_marker) {
+- ubi_assert(ubi->vtbl[vol_id].upd_marker);
+- dbg_msg("already set");
++ ubi_assert(ubi->vtbl[vol->vol_id].upd_marker);
++ dbg_gen("already set");
+ return 0;
+ }
+
+- memcpy(&vtbl_rec, &ubi->vtbl[vol_id], sizeof(struct ubi_vtbl_record));
++ memcpy(&vtbl_rec, &ubi->vtbl[vol->vol_id],
++ sizeof(struct ubi_vtbl_record));
+ vtbl_rec.upd_marker = 1;
+
+- err = ubi_change_vtbl_record(ubi, vol_id, &vtbl_rec);
++ mutex_lock(&ubi->volumes_mutex);
++ err = ubi_change_vtbl_record(ubi, vol->vol_id, &vtbl_rec);
++ mutex_unlock(&ubi->volumes_mutex);
+ vol->upd_marker = 1;
+ return err;
+ }
+@@ -75,38 +77,40 @@
+ /**
+ * clear_update_marker - clear update marker.
+ * @ubi: UBI device description object
+- * @vol_id: volume ID
++ * @vol: volume description object
+ * @bytes: new data size in bytes
+ *
+- * This function clears the update marker for volume @vol_id, sets new volume
++ * This function clears the update marker for volume @vol, sets new volume
+ * data size and clears the "corrupted" flag (static volumes only). Returns
+ * zero in case of success and a negative error code in case of failure.
+ */
+-static int clear_update_marker(struct ubi_device *ubi, int vol_id, long long bytes)
++static int clear_update_marker(struct ubi_device *ubi, struct ubi_volume *vol,
++ long long bytes)
+ {
+ int err;
+- uint64_t tmp;
+ struct ubi_vtbl_record vtbl_rec;
+- struct ubi_volume *vol = ubi->volumes[vol_id];
+
+- dbg_msg("clear update marker for volume %d", vol_id);
++ dbg_gen("clear update marker for volume %d", vol->vol_id);
+
+- memcpy(&vtbl_rec, &ubi->vtbl[vol_id], sizeof(struct ubi_vtbl_record));
++ memcpy(&vtbl_rec, &ubi->vtbl[vol->vol_id],
++ sizeof(struct ubi_vtbl_record));
+ ubi_assert(vol->upd_marker && vtbl_rec.upd_marker);
+ vtbl_rec.upd_marker = 0;
+
+ if (vol->vol_type == UBI_STATIC_VOLUME) {
+ vol->corrupted = 0;
+- vol->used_bytes = tmp = bytes;
+- vol->last_eb_bytes = do_div(tmp, vol->usable_leb_size);
+- vol->used_ebs = tmp;
++ vol->used_bytes = bytes;
++ vol->used_ebs = div_u64_rem(bytes, vol->usable_leb_size,
++ &vol->last_eb_bytes);
+ if (vol->last_eb_bytes)
+ vol->used_ebs += 1;
+ else
+ vol->last_eb_bytes = vol->usable_leb_size;
+ }
+
+- err = ubi_change_vtbl_record(ubi, vol_id, &vtbl_rec);
++ mutex_lock(&ubi->volumes_mutex);
++ err = ubi_change_vtbl_record(ubi, vol->vol_id, &vtbl_rec);
++ mutex_unlock(&ubi->volumes_mutex);
+ vol->upd_marker = 0;
+ return err;
+ }
+@@ -114,35 +118,35 @@
+ /**
+ * ubi_start_update - start volume update.
+ * @ubi: UBI device description object
+- * @vol_id: volume ID
++ * @vol: volume description object
+ * @bytes: update bytes
+ *
+ * This function starts volume update operation. If @bytes is zero, the volume
+ * is just wiped out. Returns zero in case of success and a negative error code
+ * in case of failure.
+ */
+-int ubi_start_update(struct ubi_device *ubi, int vol_id, long long bytes)
++int ubi_start_update(struct ubi_device *ubi, struct ubi_volume *vol,
++ long long bytes)
+ {
+ int i, err;
+- uint64_t tmp;
+- struct ubi_volume *vol = ubi->volumes[vol_id];
+
+- dbg_msg("start update of volume %d, %llu bytes", vol_id, bytes);
++ dbg_gen("start update of volume %d, %llu bytes", vol->vol_id, bytes);
++ ubi_assert(!vol->updating && !vol->changing_leb);
+ vol->updating = 1;
+
+- err = set_update_marker(ubi, vol_id);
++ err = set_update_marker(ubi, vol);
+ if (err)
+ return err;
+
+ /* Before updating - wipe out the volume */
+ for (i = 0; i < vol->reserved_pebs; i++) {
+- err = ubi_eba_unmap_leb(ubi, vol_id, i);
++ err = ubi_eba_unmap_leb(ubi, vol, i);
+ if (err)
+ return err;
+ }
+
+ if (bytes == 0) {
+- err = clear_update_marker(ubi, vol_id, 0);
++ err = clear_update_marker(ubi, vol, 0);
+ if (err)
+ return err;
+ err = ubi_wl_flush(ubi);
+@@ -154,18 +158,50 @@
+ if (!vol->upd_buf)
+ return -ENOMEM;
+
+- tmp = bytes;
+- vol->upd_ebs = !!do_div(tmp, vol->usable_leb_size);
+- vol->upd_ebs += tmp;
++ vol->upd_ebs = div_u64(bytes + vol->usable_leb_size - 1,
++ vol->usable_leb_size);
+ vol->upd_bytes = bytes;
+ vol->upd_received = 0;
+ return 0;
+ }
+
+ /**
++ * ubi_start_leb_change - start atomic LEB change.
++ * @ubi: UBI device description object
++ * @vol: volume description object
++ * @req: operation request
++ *
++ * This function starts atomic LEB change operation. Returns zero in case of
++ * success and a negative error code in case of failure.
++ */
++int ubi_start_leb_change(struct ubi_device *ubi, struct ubi_volume *vol,
++ const struct ubi_leb_change_req *req)
++{
++ ubi_assert(!vol->updating && !vol->changing_leb);
++
++ dbg_gen("start changing LEB %d:%d, %u bytes",
++ vol->vol_id, req->lnum, req->bytes);
++ if (req->bytes == 0)
++ return ubi_eba_atomic_leb_change(ubi, vol, req->lnum, NULL, 0,
++ req->dtype);
++
++ vol->upd_bytes = req->bytes;
++ vol->upd_received = 0;
++ vol->changing_leb = 1;
++ vol->ch_lnum = req->lnum;
++ vol->ch_dtype = req->dtype;
++
++ vol->upd_buf = vmalloc(req->bytes);
++ if (!vol->upd_buf)
++ return -ENOMEM;
++
++ return 0;
++}
++
++/**
+ * write_leb - write update data.
+ * @ubi: UBI device description object
+- * @vol_id: volume ID
++ * @vol: volume description object
+ * @lnum: logical eraseblock number
+ * @buf: data to write
+ * @len: data size
+@@ -191,25 +227,22 @@
+ * This function returns zero in case of success and a negative error code in
+ * case of failure.
+ */
+-static int write_leb(struct ubi_device *ubi, int vol_id, int lnum, void *buf,
+- int len, int used_ebs)
++static int write_leb(struct ubi_device *ubi, struct ubi_volume *vol, int lnum,
++ void *buf, int len, int used_ebs)
+ {
+- int err, l;
+- struct ubi_volume *vol = ubi->volumes[vol_id];
++ int err;
+
+ if (vol->vol_type == UBI_DYNAMIC_VOLUME) {
+- l = ALIGN(len, ubi->min_io_size);
+- memset(buf + len, 0xFF, l - len);
++ int l = ALIGN(len, ubi->min_io_size);
+
+- l = ubi_calc_data_len(ubi, buf, l);
+- if (l == 0) {
+- dbg_msg("all %d bytes contain 0xFF - skip", len);
++ memset(buf + len, 0xFF, l - len);
++ len = ubi_calc_data_len(ubi, buf, l);
++ if (len == 0) {
++ dbg_gen("all %d bytes contain 0xFF - skip", len);
+ return 0;
+ }
+- if (len != l)
+- dbg_msg("skip last %d bytes (0xFF)", len - l);
+
+- err = ubi_eba_write_leb(ubi, vol_id, lnum, buf, 0, l,
++ err = ubi_eba_write_leb(ubi, vol, lnum, buf, 0, len,
+ UBI_UNKNOWN);
+ } else {
+ /*
+@@ -222,7 +255,7 @@
+ * contain zeros, not random trash.
+ */
+ memset(buf + len, 0, vol->usable_leb_size - len);
+- err = ubi_eba_write_leb_st(ubi, vol_id, lnum, buf, len,
++ err = ubi_eba_write_leb_st(ubi, vol, lnum, buf, len,
+ UBI_UNKNOWN, used_ebs);
+ }
+
+@@ -231,33 +264,29 @@
+
+ /**
+ * ubi_more_update_data - write more update data.
++ * @ubi: UBI device description object
+ * @vol: volume description object
+ * @buf: write data (user-space memory buffer)
+ * @count: how much bytes to write
+ *
+ * This function writes more data to the volume which is being updated. It may
+- * be called arbitrary number of times until all of the update data arrive.
+- * This function returns %0 in case of success, number of bytes written during
+- * the last call if the whole volume update was successfully finished, and a
++ * be called arbitrary number of times until all the update data arriveis. This
++ * function returns %0 in case of success, number of bytes written during the
++ * last call if the whole volume update has been successfully finished, and a
+ * negative error code in case of failure.
+ */
+-int ubi_more_update_data(struct ubi_device *ubi, int vol_id,
++int ubi_more_update_data(struct ubi_device *ubi, struct ubi_volume *vol,
+ const void __user *buf, int count)
+ {
+- uint64_t tmp;
+- struct ubi_volume *vol = ubi->volumes[vol_id];
+ int lnum, offs, err = 0, len, to_write = count;
+
+- dbg_msg("write %d of %lld bytes, %lld already passed",
++ dbg_gen("write %d of %lld bytes, %lld already passed",
+ count, vol->upd_bytes, vol->upd_received);
+
+ if (ubi->ro_mode)
+ return -EROFS;
+
+- tmp = vol->upd_received;
+- offs = do_div(tmp, vol->usable_leb_size);
+- lnum = tmp;
+-
++ lnum = div_u64_rem(vol->upd_received, vol->usable_leb_size, &offs);
+ if (vol->upd_received + count > vol->upd_bytes)
+ to_write = count = vol->upd_bytes - vol->upd_received;
+
+@@ -290,8 +319,8 @@
+ * is the last chunk, it's time to flush the buffer.
+ */
+ ubi_assert(flush_len <= vol->usable_leb_size);
+- err = write_leb(ubi, vol_id, lnum, vol->upd_buf,
+- flush_len, vol->upd_ebs);
++ err = write_leb(ubi, vol, lnum, vol->upd_buf, flush_len,
++ vol->upd_ebs);
+ if (err)
+ return err;
+ }
+@@ -318,8 +347,8 @@
+
+ if (len == vol->usable_leb_size ||
+ vol->upd_received + len == vol->upd_bytes) {
+- err = write_leb(ubi, vol_id, lnum, vol->upd_buf, len,
+- vol->upd_ebs);
++ err = write_leb(ubi, vol, lnum, vol->upd_buf,
++ len, vol->upd_ebs);
+ if (err)
+ break;
+ }
+@@ -333,16 +362,72 @@
+ ubi_assert(vol->upd_received <= vol->upd_bytes);
+ if (vol->upd_received == vol->upd_bytes) {
+ /* The update is finished, clear the update marker */
+- err = clear_update_marker(ubi, vol_id, vol->upd_bytes);
++ err = clear_update_marker(ubi, vol, vol->upd_bytes);
+ if (err)
+ return err;
+ err = ubi_wl_flush(ubi);
+ if (err == 0) {
++ vol->updating = 0;
+ err = to_write;
+ vfree(vol->upd_buf);
+- vol->updating = 0;
+ }
+ }
+
+ return err;
+ }
++
++/**
++ * ubi_more_leb_change_data - accept more data for atomic LEB change.
++ * @ubi: UBI device description object
++ * @vol: volume description object
++ * @buf: write data (user-space memory buffer)
++ * @count: how much bytes to write
++ *
++ * This function accepts more data to the volume which is being under the
++ * "atomic LEB change" operation. It may be called arbitrary number of times
++ * until all data arrives. This function returns %0 in case of success, number
++ * of bytes written during the last call if the whole "atomic LEB change"
++ * operation has been successfully finished, and a negative error code in case
++ * of failure.
++ */
++int ubi_more_leb_change_data(struct ubi_device *ubi, struct ubi_volume *vol,
++ const void __user *buf, int count)
++{
++ int err;
++
++ dbg_gen("write %d of %lld bytes, %lld already passed",
++ count, vol->upd_bytes, vol->upd_received);
++
++ if (ubi->ro_mode)
++ return -EROFS;
++
++ if (vol->upd_received + count > vol->upd_bytes)
++ count = vol->upd_bytes - vol->upd_received;
++
++ err = copy_from_user(vol->upd_buf + vol->upd_received, buf, count);
++ if (err)
++ return -EFAULT;
++
++ vol->upd_received += count;
++
++ if (vol->upd_received == vol->upd_bytes) {
++ int len = ALIGN((int)vol->upd_bytes, ubi->min_io_size);
++
++ memset(vol->upd_buf + vol->upd_bytes, 0xFF,
++ len - vol->upd_bytes);
++ len = ubi_calc_data_len(ubi, vol->upd_buf, len);
++ err = ubi_eba_atomic_leb_change(ubi, vol, vol->ch_lnum,
++ vol->upd_buf, len, UBI_UNKNOWN);
++ if (err)
++ return err;
++ }
++
++ ubi_assert(vol->upd_received <= vol->upd_bytes);
++ if (vol->upd_received == vol->upd_bytes) {
++ vol->changing_leb = 0;
++ err = count;
++ vfree(vol->upd_buf);
++ }
++
++ return err;
++}
+diff -Nurd linux-2.6.24/drivers/mtd/ubi/vmt.c ubifs-v2.6.24/drivers/mtd/ubi/vmt.c
+--- linux-2.6.24/drivers/mtd/ubi/vmt.c 2008-01-25 00:58:37.000000000 +0200
++++ ubifs-v2.6.24/drivers/mtd/ubi/vmt.c 2009-04-07 17:14:47.000000000 +0200
+@@ -24,13 +24,12 @@
+ */
+
+ #include <linux/err.h>
+-#include <asm/div64.h>
+ #include "ubi.h"
+
+ #ifdef CONFIG_MTD_UBI_DEBUG_PARANOID
+-static void paranoid_check_volumes(struct ubi_device *ubi);
++static int paranoid_check_volumes(struct ubi_device *ubi);
+ #else
+-#define paranoid_check_volumes(ubi)
++#define paranoid_check_volumes(ubi) 0
+ #endif
+
+ static ssize_t vol_attribute_show(struct device *dev,
+@@ -63,21 +62,30 @@
+ * B. process 2 removes volume Y;
+ * C. process 1 starts reading the /<sysfs>/class/ubi/ubiX_Y/reserved_ebs file;
+ *
+- * What we want to do in a situation like that is to return error when the file
+- * is read. This is done by means of the 'removed' flag and the 'vol_lock' of
+- * the UBI volume description object.
++ * In this situation, this function will return %-ENODEV because it will find
++ * out that the volume was removed from the @ubi->volumes array.
+ */
+ static ssize_t vol_attribute_show(struct device *dev,
+ struct device_attribute *attr, char *buf)
+ {
+ int ret;
+ struct ubi_volume *vol = container_of(dev, struct ubi_volume, dev);
++ struct ubi_device *ubi;
+
+- spin_lock(&vol->ubi->volumes_lock);
+- if (vol->removed) {
+- spin_unlock(&vol->ubi->volumes_lock);
++ ubi = ubi_get_device(vol->ubi->ubi_num);
++ if (!ubi)
++ return -ENODEV;
++
++ spin_lock(&ubi->volumes_lock);
++ if (!ubi->volumes[vol->vol_id]) {
++ spin_unlock(&ubi->volumes_lock);
++ ubi_put_device(ubi);
+ return -ENODEV;
+ }
++ /* Take a reference to prevent volume removal */
++ vol->ref_count += 1;
++ spin_unlock(&ubi->volumes_lock);
++
+ if (attr == &attr_vol_reserved_ebs)
+ ret = sprintf(buf, "%d\n", vol->reserved_pebs);
+ else if (attr == &attr_vol_type) {
+@@ -94,15 +102,22 @@
+ ret = sprintf(buf, "%d\n", vol->corrupted);
+ else if (attr == &attr_vol_alignment)
+ ret = sprintf(buf, "%d\n", vol->alignment);
+- else if (attr == &attr_vol_usable_eb_size) {
++ else if (attr == &attr_vol_usable_eb_size)
+ ret = sprintf(buf, "%d\n", vol->usable_leb_size);
+- } else if (attr == &attr_vol_data_bytes)
++ else if (attr == &attr_vol_data_bytes)
+ ret = sprintf(buf, "%lld\n", vol->used_bytes);
+ else if (attr == &attr_vol_upd_marker)
+ ret = sprintf(buf, "%d\n", vol->upd_marker);
+ else
+- BUG();
+- spin_unlock(&vol->ubi->volumes_lock);
++ /* This must be a bug */
++ ret = -EINVAL;
++
++ /* We've done the operation, drop volume and UBI device references */
++ spin_lock(&ubi->volumes_lock);
++ vol->ref_count -= 1;
++ ubi_assert(vol->ref_count >= 0);
++ spin_unlock(&ubi->volumes_lock);
++ ubi_put_device(ubi);
+ return ret;
+ }
+
+@@ -110,7 +125,8 @@
+ static void vol_release(struct device *dev)
+ {
+ struct ubi_volume *vol = container_of(dev, struct ubi_volume, dev);
+- ubi_assert(vol->removed);
++
++ kfree(vol->eba_tbl);
+ kfree(vol);
+ }
+
+@@ -152,9 +168,7 @@
+ if (err)
+ return err;
+ err = device_create_file(&vol->dev, &attr_vol_upd_marker);
+- if (err)
+- return err;
+- return 0;
++ return err;
+ }
+
+ /**
+@@ -180,16 +194,17 @@
+ * @req: volume creation request
+ *
+ * This function creates volume described by @req. If @req->vol_id id
+- * %UBI_VOL_NUM_AUTO, this function automatically assigne ID to the new volume
++ * %UBI_VOL_NUM_AUTO, this function automatically assign ID to the new volume
+ * and saves it in @req->vol_id. Returns zero in case of success and a negative
+- * error code in case of failure.
++ * error code in case of failure. Note, the caller has to have the
++ * @ubi->volumes_mutex locked.
+ */
+ int ubi_create_volume(struct ubi_device *ubi, struct ubi_mkvol_req *req)
+ {
+- int i, err, vol_id = req->vol_id;
++ int i, err, vol_id = req->vol_id, do_free = 1;
+ struct ubi_volume *vol;
+ struct ubi_vtbl_record vtbl_rec;
+- uint64_t bytes;
++ dev_t dev;
+
+ if (ubi->ro_mode)
+ return -EROFS;
+@@ -199,10 +214,9 @@
+ return -ENOMEM;
+
+ spin_lock(&ubi->volumes_lock);
+-
+ if (vol_id == UBI_VOL_NUM_AUTO) {
+ /* Find unused volume ID */
+- dbg_msg("search for vacant volume ID");
++ dbg_gen("search for vacant volume ID");
+ for (i = 0; i < ubi->vtbl_slots; i++)
+ if (!ubi->volumes[i]) {
+ vol_id = i;
+@@ -217,7 +231,7 @@
+ req->vol_id = vol_id;
+ }
+
+- dbg_msg("volume ID %d, %llu bytes, type %d, name %s",
++ dbg_gen("volume ID %d, %llu bytes, type %d, name %s",
+ vol_id, (unsigned long long)req->bytes,
+ (int)req->vol_type, req->name);
+
+@@ -237,12 +251,10 @@
+ goto out_unlock;
+ }
+
+- /* Calculate how many eraseblocks are requested */
++ /* Calculate how many eraseblocks are requested */
+ vol->usable_leb_size = ubi->leb_size - ubi->leb_size % req->alignment;
+- bytes = req->bytes;
+- if (do_div(bytes, vol->usable_leb_size))
+- vol->reserved_pebs = 1;
+- vol->reserved_pebs += bytes;
++ vol->reserved_pebs += div_u64(req->bytes + vol->usable_leb_size - 1,
++ vol->usable_leb_size);
+
+ /* Reserve physical eraseblocks */
+ if (vol->reserved_pebs > ubi->avail_pebs) {
+@@ -252,17 +264,15 @@
+ }
+ ubi->avail_pebs -= vol->reserved_pebs;
+ ubi->rsvd_pebs += vol->reserved_pebs;
++ spin_unlock(&ubi->volumes_lock);
+
+ vol->vol_id = vol_id;
+ vol->alignment = req->alignment;
+ vol->data_pad = ubi->leb_size % vol->alignment;
+ vol->vol_type = req->vol_type;
+ vol->name_len = req->name_len;
+- memcpy(vol->name, req->name, vol->name_len + 1);
+- vol->exclusive = 1;
++ memcpy(vol->name, req->name, vol->name_len);
+ vol->ubi = ubi;
+- ubi->volumes[vol_id] = vol;
+- spin_unlock(&ubi->volumes_lock);
+
+ /*
+ * Finish all pending erases because there may be some LEBs belonging
+@@ -287,10 +297,10 @@
+ vol->used_bytes =
+ (long long)vol->used_ebs * vol->usable_leb_size;
+ } else {
+- bytes = vol->used_bytes;
+- vol->last_eb_bytes = do_div(bytes, vol->usable_leb_size);
+- vol->used_ebs = bytes;
+- if (vol->last_eb_bytes)
++ vol->used_ebs = div_u64_rem(vol->used_bytes,
++ vol->usable_leb_size,
++ &vol->last_eb_bytes);
++ if (vol->last_eb_bytes != 0)
+ vol->used_ebs += 1;
+ else
+ vol->last_eb_bytes = vol->usable_leb_size;
+@@ -299,9 +309,10 @@
+ /* Register character device for the volume */
+ cdev_init(&vol->cdev, &ubi_vol_cdev_operations);
+ vol->cdev.owner = THIS_MODULE;
+- err = cdev_add(&vol->cdev, MKDEV(ubi->major, vol_id + 1), 1);
++ dev = MKDEV(MAJOR(ubi->cdev.dev), vol_id + 1);
++ err = cdev_add(&vol->cdev, dev, 1);
+ if (err) {
+- ubi_err("cannot add character device for volume %d", vol_id);
++ ubi_err("cannot add character device");
+ goto out_mapping;
+ }
+
+@@ -311,12 +322,15 @@
+
+ vol->dev.release = vol_release;
+ vol->dev.parent = &ubi->dev;
+- vol->dev.devt = MKDEV(ubi->major, vol->vol_id + 1);
++ vol->dev.devt = dev;
+ vol->dev.class = ubi_class;
++
+ sprintf(&vol->dev.bus_id[0], "%s_%d", ubi->ubi_name, vol->vol_id);
+ err = device_register(&vol->dev);
+- if (err)
++ if (err) {
++ ubi_err("cannot register device");
+ goto out_gluebi;
++ }
+
+ err = volume_sysfs_init(ubi, vol);
+ if (err)
+@@ -332,98 +346,108 @@
+ vtbl_rec.vol_type = UBI_VID_DYNAMIC;
+ else
+ vtbl_rec.vol_type = UBI_VID_STATIC;
+- memcpy(vtbl_rec.name, vol->name, vol->name_len + 1);
++ memcpy(vtbl_rec.name, vol->name, vol->name_len);
+
+ err = ubi_change_vtbl_record(ubi, vol_id, &vtbl_rec);
+ if (err)
+ goto out_sysfs;
+
+ spin_lock(&ubi->volumes_lock);
++ ubi->volumes[vol_id] = vol;
+ ubi->vol_count += 1;
+- vol->exclusive = 0;
+ spin_unlock(&ubi->volumes_lock);
+
+- paranoid_check_volumes(ubi);
+- return 0;
++ err = paranoid_check_volumes(ubi);
++ return err;
+
++out_sysfs:
++ /*
++ * We have registered our device, we should not free the volume
++ * description object in this function in case of an error - it is
++ * freed by the release function.
++ *
++ * Get device reference to prevent the release function from being
++ * called just after sysfs has been closed.
++ */
++ do_free = 0;
++ get_device(&vol->dev);
++ volume_sysfs_close(vol);
+ out_gluebi:
+- err = ubi_destroy_gluebi(vol);
++ if (ubi_destroy_gluebi(vol))
++ dbg_err("cannot destroy gluebi for volume %d:%d",
++ ubi->ubi_num, vol_id);
+ out_cdev:
+ cdev_del(&vol->cdev);
+ out_mapping:
+- kfree(vol->eba_tbl);
++ if (do_free)
++ kfree(vol->eba_tbl);
+ out_acc:
+ spin_lock(&ubi->volumes_lock);
+ ubi->rsvd_pebs -= vol->reserved_pebs;
+ ubi->avail_pebs += vol->reserved_pebs;
+- ubi->volumes[vol_id] = NULL;
+ out_unlock:
+ spin_unlock(&ubi->volumes_lock);
+- kfree(vol);
+- return err;
+-
+- /*
+- * We are registered, so @vol is destroyed in the release function and
+- * we have to de-initialize differently.
+- */
+-out_sysfs:
+- err = ubi_destroy_gluebi(vol);
+- cdev_del(&vol->cdev);
+- kfree(vol->eba_tbl);
+- spin_lock(&ubi->volumes_lock);
+- ubi->rsvd_pebs -= vol->reserved_pebs;
+- ubi->avail_pebs += vol->reserved_pebs;
+- ubi->volumes[vol_id] = NULL;
+- spin_unlock(&ubi->volumes_lock);
+- volume_sysfs_close(vol);
++ if (do_free)
++ kfree(vol);
++ else
++ put_device(&vol->dev);
++ ubi_err("cannot create volume %d, error %d", vol_id, err);
+ return err;
+ }
+
+ /**
+ * ubi_remove_volume - remove volume.
+ * @desc: volume descriptor
++ * @no_vtbl: do not change volume table if not zero
+ *
+ * This function removes volume described by @desc. The volume has to be opened
+ * in "exclusive" mode. Returns zero in case of success and a negative error
+- * code in case of failure.
++ * code in case of failure. The caller has to have the @ubi->volumes_mutex
++ * locked.
+ */
+-int ubi_remove_volume(struct ubi_volume_desc *desc)
++int ubi_remove_volume(struct ubi_volume_desc *desc, int no_vtbl)
+ {
+ struct ubi_volume *vol = desc->vol;
+ struct ubi_device *ubi = vol->ubi;
+ int i, err, vol_id = vol->vol_id, reserved_pebs = vol->reserved_pebs;
+
+- dbg_msg("remove UBI volume %d", vol_id);
++ dbg_gen("remove UBI volume %d", vol_id);
+ ubi_assert(desc->mode == UBI_EXCLUSIVE);
+ ubi_assert(vol == ubi->volumes[vol_id]);
+
+ if (ubi->ro_mode)
+ return -EROFS;
+
++ spin_lock(&ubi->volumes_lock);
++ if (vol->ref_count > 1) {
++ /*
++ * The volume is busy, probably someone is reading one of its
++ * sysfs files.
++ */
++ err = -EBUSY;
++ goto out_unlock;
++ }
++ ubi->volumes[vol_id] = NULL;
++ spin_unlock(&ubi->volumes_lock);
++
+ err = ubi_destroy_gluebi(vol);
+ if (err)
+- return err;
++ goto out_err;
+
+- err = ubi_change_vtbl_record(ubi, vol_id, NULL);
+- if (err)
+- return err;
++ if (!no_vtbl) {
++ err = ubi_change_vtbl_record(ubi, vol_id, NULL);
++ if (err)
++ goto out_err;
++ }
+
+ for (i = 0; i < vol->reserved_pebs; i++) {
+- err = ubi_eba_unmap_leb(ubi, vol_id, i);
++ err = ubi_eba_unmap_leb(ubi, vol, i);
+ if (err)
+- return err;
++ goto out_err;
+ }
+
+- spin_lock(&ubi->volumes_lock);
+- vol->removed = 1;
+- ubi->volumes[vol_id] = NULL;
+- spin_unlock(&ubi->volumes_lock);
+-
+- kfree(vol->eba_tbl);
+- vol->eba_tbl = NULL;
+ cdev_del(&vol->cdev);
+ volume_sysfs_close(vol);
+- kfree(desc);
+
+ spin_lock(&ubi->volumes_lock);
+ ubi->rsvd_pebs -= reserved_pebs;
+@@ -440,9 +464,17 @@
+ ubi->vol_count -= 1;
+ spin_unlock(&ubi->volumes_lock);
+
+- paranoid_check_volumes(ubi);
+- module_put(THIS_MODULE);
+- return 0;
++ if (!no_vtbl)
++ err = paranoid_check_volumes(ubi);
++ return err;
++
++out_err:
++ ubi_err("cannot remove volume %d, error %d", vol_id, err);
++ spin_lock(&ubi->volumes_lock);
++ ubi->volumes[vol_id] = vol;
++out_unlock:
++ spin_unlock(&ubi->volumes_lock);
++ return err;
+ }
+
+ /**
+@@ -450,8 +482,9 @@
+ * @desc: volume descriptor
+ * @reserved_pebs: new size in physical eraseblocks
+ *
+- * This function returns zero in case of success, and a negative error code in
+- * case of failure.
++ * This function re-sizes the volume and returns zero in case of success, and a
++ * negative error code in case of failure. The caller has to have the
++ * @ubi->volumes_mutex locked.
+ */
+ int ubi_resize_volume(struct ubi_volume_desc *desc, int reserved_pebs)
+ {
+@@ -464,10 +497,8 @@
+ if (ubi->ro_mode)
+ return -EROFS;
+
+- dbg_msg("re-size volume %d to from %d to %d PEBs",
++ dbg_gen("re-size volume %d to from %d to %d PEBs",
+ vol_id, vol->reserved_pebs, reserved_pebs);
+- ubi_assert(desc->mode == UBI_EXCLUSIVE);
+- ubi_assert(vol == ubi->volumes[vol_id]);
+
+ if (vol->vol_type == UBI_STATIC_VOLUME &&
+ reserved_pebs < vol->used_ebs) {
+@@ -487,6 +518,14 @@
+ for (i = 0; i < reserved_pebs; i++)
+ new_mapping[i] = UBI_LEB_UNMAPPED;
+
++ spin_lock(&ubi->volumes_lock);
++ if (vol->ref_count > 1) {
++ spin_unlock(&ubi->volumes_lock);
++ err = -EBUSY;
++ goto out_free;
++ }
++ spin_unlock(&ubi->volumes_lock);
++
+ /* Reserve physical eraseblocks */
+ pebs = reserved_pebs - vol->reserved_pebs;
+ if (pebs > 0) {
+@@ -516,7 +555,7 @@
+
+ if (pebs < 0) {
+ for (i = 0; i < -pebs; i++) {
+- err = ubi_eba_unmap_leb(ubi, vol_id, reserved_pebs + i);
++ err = ubi_eba_unmap_leb(ubi, vol, reserved_pebs + i);
+ if (err)
+ goto out_acc;
+ }
+@@ -547,8 +586,8 @@
+ (long long)vol->used_ebs * vol->usable_leb_size;
+ }
+
+- paranoid_check_volumes(ubi);
+- return 0;
++ err = paranoid_check_volumes(ubi);
++ return err;
+
+ out_acc:
+ if (pebs > 0) {
+@@ -563,29 +602,67 @@
+ }
+
+ /**
++ * ubi_rename_volumes - re-name UBI volumes.
++ * @ubi: UBI device description object
++ * @rename_list: list of &struct ubi_rename_entry objects
++ *
++ * This function re-names or removes volumes specified in the re-name list.
++ * Returns zero in case of success and a negative error code in case of
++ * failure.
++ */
++int ubi_rename_volumes(struct ubi_device *ubi, struct list_head *rename_list)
++{
++ int err;
++ struct ubi_rename_entry *re;
++
++ err = ubi_vtbl_rename_volumes(ubi, rename_list);
++ if (err)
++ return err;
++
++ list_for_each_entry(re, rename_list, list) {
++ if (re->remove) {
++ err = ubi_remove_volume(re->desc, 1);
++ if (err)
++ break;
++ } else {
++ struct ubi_volume *vol = re->desc->vol;
++
++ spin_lock(&ubi->volumes_lock);
++ vol->name_len = re->new_name_len;
++ memcpy(vol->name, re->new_name, re->new_name_len + 1);
++ spin_unlock(&ubi->volumes_lock);
++ }
++ }
++
++ if (!err)
++ err = paranoid_check_volumes(ubi);
++ return err;
++}
++
++/**
+ * ubi_add_volume - add volume.
+ * @ubi: UBI device description object
+- * @vol_id: volume ID
++ * @vol: volume description object
+ *
+- * This function adds an existin volume and initializes all its data
+- * structures. Returnes zero in case of success and a negative error code in
++ * This function adds an existing volume and initializes all its data
++ * structures. Returns zero in case of success and a negative error code in
+ * case of failure.
+ */
+-int ubi_add_volume(struct ubi_device *ubi, int vol_id)
++int ubi_add_volume(struct ubi_device *ubi, struct ubi_volume *vol)
+ {
+- int err;
+- struct ubi_volume *vol = ubi->volumes[vol_id];
++ int err, vol_id = vol->vol_id;
++ dev_t dev;
+
+- dbg_msg("add volume %d", vol_id);
+- ubi_dbg_dump_vol_info(vol);
+- ubi_assert(vol);
++ dbg_gen("add volume %d", vol_id);
+
+ /* Register character device for the volume */
+ cdev_init(&vol->cdev, &ubi_vol_cdev_operations);
+ vol->cdev.owner = THIS_MODULE;
+- err = cdev_add(&vol->cdev, MKDEV(ubi->major, vol->vol_id + 1), 1);
++ dev = MKDEV(MAJOR(ubi->cdev.dev), vol->vol_id + 1);
++ err = cdev_add(&vol->cdev, dev, 1);
+ if (err) {
+- ubi_err("cannot add character device for volume %d", vol_id);
++ ubi_err("cannot add character device for volume %d, error %d",
++ vol_id, err);
+ return err;
+ }
+
+@@ -595,7 +672,7 @@
+
+ vol->dev.release = vol_release;
+ vol->dev.parent = &ubi->dev;
+- vol->dev.devt = MKDEV(ubi->major, vol->vol_id + 1);
++ vol->dev.devt = dev;
+ vol->dev.class = ubi_class;
+ sprintf(&vol->dev.bus_id[0], "%s_%d", ubi->ubi_name, vol->vol_id);
+ err = device_register(&vol->dev);
+@@ -610,8 +687,8 @@
+ return err;
+ }
+
+- paranoid_check_volumes(ubi);
+- return 0;
++ err = paranoid_check_volumes(ubi);
++ return err;
+
+ out_gluebi:
+ err = ubi_destroy_gluebi(vol);
+@@ -623,22 +700,19 @@
+ /**
+ * ubi_free_volume - free volume.
+ * @ubi: UBI device description object
+- * @vol_id: volume ID
++ * @vol: volume description object
+ *
+- * This function frees all resources for volume @vol_id but does not remove it.
++ * This function frees all resources for volume @vol but does not remove it.
+ * Used only when the UBI device is detached.
+ */
+-void ubi_free_volume(struct ubi_device *ubi, int vol_id)
++void ubi_free_volume(struct ubi_device *ubi, struct ubi_volume *vol)
+ {
+ int err;
+- struct ubi_volume *vol = ubi->volumes[vol_id];
+
+- dbg_msg("free volume %d", vol_id);
+- ubi_assert(vol);
++ dbg_gen("free volume %d", vol->vol_id);
+
+- vol->removed = 1;
++ ubi->volumes[vol->vol_id] = NULL;
+ err = ubi_destroy_gluebi(vol);
+- ubi->volumes[vol_id] = NULL;
+ cdev_del(&vol->cdev);
+ volume_sysfs_close(vol);
+ }
+@@ -649,8 +723,10 @@
+ * paranoid_check_volume - check volume information.
+ * @ubi: UBI device description object
+ * @vol_id: volume ID
++ *
++ * Returns zero if volume is all right and a a negative error code if not.
+ */
+-static void paranoid_check_volume(struct ubi_device *ubi, int vol_id)
++static int paranoid_check_volume(struct ubi_device *ubi, int vol_id)
+ {
+ int idx = vol_id2idx(ubi, vol_id);
+ int reserved_pebs, alignment, data_pad, vol_type, name_len, upd_marker;
+@@ -668,16 +744,7 @@
+ goto fail;
+ }
+ spin_unlock(&ubi->volumes_lock);
+- return;
+- }
+-
+- if (vol->exclusive) {
+- /*
+- * The volume may be being created at the moment, do not check
+- * it (e.g., it may be in the middle of ubi_create_volume().
+- */
+- spin_unlock(&ubi->volumes_lock);
+- return;
++ return 0;
+ }
+
+ if (vol->reserved_pebs < 0 || vol->alignment < 0 || vol->data_pad < 0 ||
+@@ -690,7 +757,7 @@
+ goto fail;
+ }
+
+- n = vol->alignment % ubi->min_io_size;
++ n = vol->alignment & (ubi->min_io_size - 1);
+ if (vol->alignment != 1 && n) {
+ ubi_err("alignment is not multiple of min I/O unit");
+ goto fail;
+@@ -708,11 +775,6 @@
+ goto fail;
+ }
+
+- if (vol->upd_marker != 0 && vol->upd_marker != 1) {
+- ubi_err("bad upd_marker");
+- goto fail;
+- }
+-
+ if (vol->upd_marker && vol->corrupted) {
+ dbg_err("update marker and corrupted simultaneously");
+ goto fail;
+@@ -747,7 +809,7 @@
+
+ n = (long long)vol->used_ebs * vol->usable_leb_size;
+ if (vol->vol_type == UBI_DYNAMIC_VOLUME) {
+- if (vol->corrupted != 0) {
++ if (vol->corrupted) {
+ ubi_err("corrupted dynamic volume");
+ goto fail;
+ }
+@@ -764,10 +826,6 @@
+ goto fail;
+ }
+ } else {
+- if (vol->corrupted != 0 && vol->corrupted != 1) {
+- ubi_err("bad corrupted");
+- goto fail;
+- }
+ if (vol->used_ebs < 0 || vol->used_ebs > vol->reserved_pebs) {
+ ubi_err("bad used_ebs");
+ goto fail;
+@@ -796,33 +854,39 @@
+
+ if (alignment != vol->alignment || data_pad != vol->data_pad ||
+ upd_marker != vol->upd_marker || vol_type != vol->vol_type ||
+- name_len!= vol->name_len || strncmp(name, vol->name, name_len)) {
++ name_len != vol->name_len || strncmp(name, vol->name, name_len)) {
+ ubi_err("volume info is different");
+ goto fail;
+ }
+
+ spin_unlock(&ubi->volumes_lock);
+- return;
++ return 0;
+
+ fail:
+ ubi_err("paranoid check failed for volume %d", vol_id);
+- ubi_dbg_dump_vol_info(vol);
++ if (vol)
++ ubi_dbg_dump_vol_info(vol);
+ ubi_dbg_dump_vtbl_record(&ubi->vtbl[vol_id], vol_id);
+ spin_unlock(&ubi->volumes_lock);
+- BUG();
++ return -EINVAL;
+ }
+
+ /**
+ * paranoid_check_volumes - check information about all volumes.
+ * @ubi: UBI device description object
++ *
++ * Returns zero if volumes are all right and a a negative error code if not.
+ */
+-static void paranoid_check_volumes(struct ubi_device *ubi)
++static int paranoid_check_volumes(struct ubi_device *ubi)
+ {
+- int i;
++ int i, err = 0;
+
+- mutex_lock(&ubi->vtbl_mutex);
+- for (i = 0; i < ubi->vtbl_slots; i++)
+- paranoid_check_volume(ubi, i);
+- mutex_unlock(&ubi->vtbl_mutex);
++ for (i = 0; i < ubi->vtbl_slots; i++) {
++ err = paranoid_check_volume(ubi, i);
++ if (err)
++ break;
++ }
++
++ return err;
+ }
+ #endif
+diff -Nurd linux-2.6.24/drivers/mtd/ubi/vtbl.c ubifs-v2.6.24/drivers/mtd/ubi/vtbl.c
+--- linux-2.6.24/drivers/mtd/ubi/vtbl.c 2008-01-25 00:58:37.000000000 +0200
++++ ubifs-v2.6.24/drivers/mtd/ubi/vtbl.c 2009-04-07 17:14:47.000000000 +0200
+@@ -86,8 +86,10 @@
+ {
+ int i, err;
+ uint32_t crc;
++ struct ubi_volume *layout_vol;
+
+ ubi_assert(idx >= 0 && idx < ubi->vtbl_slots);
++ layout_vol = ubi->volumes[vol_id2idx(ubi, UBI_LAYOUT_VOLUME_ID)];
+
+ if (!vtbl_rec)
+ vtbl_rec = &empty_vtbl_record;
+@@ -96,31 +98,75 @@
+ vtbl_rec->crc = cpu_to_be32(crc);
+ }
+
+- mutex_lock(&ubi->vtbl_mutex);
+ memcpy(&ubi->vtbl[idx], vtbl_rec, sizeof(struct ubi_vtbl_record));
+ for (i = 0; i < UBI_LAYOUT_VOLUME_EBS; i++) {
+- err = ubi_eba_unmap_leb(ubi, UBI_LAYOUT_VOL_ID, i);
+- if (err) {
+- mutex_unlock(&ubi->vtbl_mutex);
++ err = ubi_eba_unmap_leb(ubi, layout_vol, i);
++ if (err)
+ return err;
+- }
+- err = ubi_eba_write_leb(ubi, UBI_LAYOUT_VOL_ID, i, ubi->vtbl, 0,
++
++ err = ubi_eba_write_leb(ubi, layout_vol, i, ubi->vtbl, 0,
+ ubi->vtbl_size, UBI_LONGTERM);
+- if (err) {
+- mutex_unlock(&ubi->vtbl_mutex);
++ if (err)
+ return err;
+- }
+ }
+
+ paranoid_vtbl_check(ubi);
+- mutex_unlock(&ubi->vtbl_mutex);
+- return ubi_wl_flush(ubi);
++ return 0;
+ }
+
+ /**
+- * vol_til_check - check if volume table is not corrupted and contains sensible
+- * data.
++ * ubi_vtbl_rename_volumes - rename UBI volumes in the volume table.
++ * @ubi: UBI device description object
++ * @rename_list: list of &struct ubi_rename_entry objects
+ *
++ * This function re-names multiple volumes specified in @req in the volume
++ * table. Returns zero in case of success and a negative error code in case of
++ * failure.
++ */
++int ubi_vtbl_rename_volumes(struct ubi_device *ubi,
++ struct list_head *rename_list)
++{
++ int i, err;
++ struct ubi_rename_entry *re;
++ struct ubi_volume *layout_vol;
++
++ list_for_each_entry(re, rename_list, list) {
++ uint32_t crc;
++ struct ubi_volume *vol = re->desc->vol;
++ struct ubi_vtbl_record *vtbl_rec = &ubi->vtbl[vol->vol_id];
++
++ if (re->remove) {
++ memcpy(vtbl_rec, &empty_vtbl_record,
++ sizeof(struct ubi_vtbl_record));
++ continue;
++ }
++
++ vtbl_rec->name_len = cpu_to_be16(re->new_name_len);
++ memcpy(vtbl_rec->name, re->new_name, re->new_name_len);
++ memset(vtbl_rec->name + re->new_name_len, 0,
++ UBI_VOL_NAME_MAX + 1 - re->new_name_len);
++ crc = crc32(UBI_CRC32_INIT, vtbl_rec,
++ UBI_VTBL_RECORD_SIZE_CRC);
++ vtbl_rec->crc = cpu_to_be32(crc);
++ }
++
++ layout_vol = ubi->volumes[vol_id2idx(ubi, UBI_LAYOUT_VOLUME_ID)];
++ for (i = 0; i < UBI_LAYOUT_VOLUME_EBS; i++) {
++ err = ubi_eba_unmap_leb(ubi, layout_vol, i);
++ if (err)
++ return err;
++
++ err = ubi_eba_write_leb(ubi, layout_vol, i, ubi->vtbl, 0,
++ ubi->vtbl_size, UBI_LONGTERM);
++ if (err)
++ return err;
++ }
++
++ return 0;
++}
++
++/**
++ * vtbl_check - check if volume table is not corrupted and sensible.
+ * @ubi: UBI device description object
+ * @vtbl: volume table
+ *
+@@ -131,7 +177,7 @@
+ const struct ubi_vtbl_record *vtbl)
+ {
+ int i, n, reserved_pebs, alignment, data_pad, vol_type, name_len;
+- int upd_marker;
++ int upd_marker, err;
+ uint32_t crc;
+ const char *name;
+
+@@ -157,7 +203,7 @@
+ if (reserved_pebs == 0) {
+ if (memcmp(&vtbl[i], &empty_vtbl_record,
+ UBI_VTBL_RECORD_SIZE)) {
+- dbg_err("bad empty record");
++ err = 2;
+ goto bad;
+ }
+ continue;
+@@ -165,56 +211,57 @@
+
+ if (reserved_pebs < 0 || alignment < 0 || data_pad < 0 ||
+ name_len < 0) {
+- dbg_err("negative values");
++ err = 3;
+ goto bad;
+ }
+
+ if (alignment > ubi->leb_size || alignment == 0) {
+- dbg_err("bad alignment");
++ err = 4;
+ goto bad;
+ }
+
+- n = alignment % ubi->min_io_size;
++ n = alignment & (ubi->min_io_size - 1);
+ if (alignment != 1 && n) {
+- dbg_err("alignment is not multiple of min I/O unit");
++ err = 5;
+ goto bad;
+ }
+
+ n = ubi->leb_size % alignment;
+ if (data_pad != n) {
+ dbg_err("bad data_pad, has to be %d", n);
++ err = 6;
+ goto bad;
+ }
+
+ if (vol_type != UBI_VID_DYNAMIC && vol_type != UBI_VID_STATIC) {
+- dbg_err("bad vol_type");
++ err = 7;
+ goto bad;
+ }
+
+ if (upd_marker != 0 && upd_marker != 1) {
+- dbg_err("bad upd_marker");
++ err = 8;
+ goto bad;
+ }
+
+ if (reserved_pebs > ubi->good_peb_count) {
+- dbg_err("too large reserved_pebs, good PEBs %d",
+- ubi->good_peb_count);
++ dbg_err("too large reserved_pebs %d, good PEBs %d",
++ reserved_pebs, ubi->good_peb_count);
++ err = 9;
+ goto bad;
+ }
+
+ if (name_len > UBI_VOL_NAME_MAX) {
+- dbg_err("too long volume name, max %d",
+- UBI_VOL_NAME_MAX);
++ err = 10;
+ goto bad;
+ }
+
+ if (name[0] == '\0') {
+- dbg_err("NULL volume name");
++ err = 11;
+ goto bad;
+ }
+
+ if (name_len != strnlen(name, name_len + 1)) {
+- dbg_err("bad name_len");
++ err = 12;
+ goto bad;
+ }
+ }
+@@ -239,7 +286,7 @@
+ return 0;
+
+ bad:
+- ubi_err("volume table check failed, record %d", i);
++ ubi_err("volume table check failed: record %d, error %d", i, err);
+ ubi_dbg_dump_vtbl_record(&vtbl[i], i);
+ return -EINVAL;
+ }
+@@ -273,7 +320,7 @@
+ * this volume table copy was found during scanning. It has to be wiped
+ * out.
+ */
+- sv = ubi_scan_find_sv(si, UBI_LAYOUT_VOL_ID);
++ sv = ubi_scan_find_sv(si, UBI_LAYOUT_VOLUME_ID);
+ if (sv)
+ old_seb = ubi_scan_find_seb(sv, copy);
+
+@@ -285,13 +332,12 @@
+ }
+
+ vid_hdr->vol_type = UBI_VID_DYNAMIC;
+- vid_hdr->vol_id = cpu_to_be32(UBI_LAYOUT_VOL_ID);
++ vid_hdr->vol_id = cpu_to_be32(UBI_LAYOUT_VOLUME_ID);
+ vid_hdr->compat = UBI_LAYOUT_VOLUME_COMPAT;
+ vid_hdr->data_size = vid_hdr->used_ebs =
+ vid_hdr->data_pad = cpu_to_be32(0);
+ vid_hdr->lnum = cpu_to_be32(copy);
+ vid_hdr->sqnum = cpu_to_be64(++si->max_sqnum);
+- vid_hdr->leb_ver = cpu_to_be32(old_seb ? old_seb->leb_ver + 1: 0);
+
+ /* The EC header is already there, write the VID header */
+ err = ubi_io_write_vid_hdr(ubi, new_seb->pnum, vid_hdr);
+@@ -374,7 +420,7 @@
+ * to LEB 0.
+ */
+
+- dbg_msg("check layout volume");
++ dbg_gen("check layout volume");
+
+ /* Read both LEB 0 and LEB 1 into memory */
+ ubi_rb_for_each_entry(rb, seb, &sv->root, u.rb) {
+@@ -388,7 +434,16 @@
+ err = ubi_io_read_data(ubi, leb[seb->lnum], seb->pnum, 0,
+ ubi->vtbl_size);
+ if (err == UBI_IO_BITFLIPS || err == -EBADMSG)
+- /* Scrub the PEB later */
++ /*
++ * Scrub the PEB later. Note, -EBADMSG indicates an
++ * uncorrectable ECC error, but we have our own CRC and
++ * the data will be checked later. If the data is OK,
++ * the PEB will be scrubbed (because we set
++ * seb->scrub). If the data is not OK, the contents of
++ * the PEB will be recovered from the second copy, and
++ * seb->scrub will be cleared in
++ * 'ubi_scan_add_used()'.
++ */
+ seb->scrub = 1;
+ else if (err)
+ goto out_free;
+@@ -404,7 +459,8 @@
+ if (!leb_corrupted[0]) {
+ /* LEB 0 is OK */
+ if (leb[1])
+- leb_corrupted[1] = memcmp(leb[0], leb[1], ubi->vtbl_size);
++ leb_corrupted[1] = memcmp(leb[0], leb[1],
++ ubi->vtbl_size);
+ if (leb_corrupted[1]) {
+ ubi_warn("volume table copy #2 is corrupted");
+ err = create_vtbl(ubi, si, 1, leb[0]);
+@@ -518,6 +574,17 @@
+ vol->name[vol->name_len] = '\0';
+ vol->vol_id = i;
+
++ if (vtbl[i].flags & UBI_VTBL_AUTORESIZE_FLG) {
++ /* Auto re-size flag may be set only for one volume */
++ if (ubi->autoresize_vol_id != -1) {
++ ubi_err("more then one auto-resize volume (%d "
++ "and %d)", ubi->autoresize_vol_id, i);
++ return -EINVAL;
++ }
++
++ ubi->autoresize_vol_id = i;
++ }
++
+ ubi_assert(!ubi->volumes[i]);
+ ubi->volumes[i] = vol;
+ ubi->vol_count += 1;
+@@ -568,6 +635,7 @@
+ vol->last_eb_bytes = sv->last_data_size;
+ }
+
++ /* And add the layout volume */
+ vol = kzalloc(sizeof(struct ubi_volume), GFP_KERNEL);
+ if (!vol)
+ return -ENOMEM;
+@@ -582,7 +650,8 @@
+ vol->last_eb_bytes = vol->reserved_pebs;
+ vol->used_bytes =
+ (long long)vol->used_ebs * (ubi->leb_size - vol->data_pad);
+- vol->vol_id = UBI_LAYOUT_VOL_ID;
++ vol->vol_id = UBI_LAYOUT_VOLUME_ID;
++ vol->ref_count = 1;
+
+ ubi_assert(!ubi->volumes[i]);
+ ubi->volumes[vol_id2idx(ubi, vol->vol_id)] = vol;
+@@ -610,30 +679,32 @@
+ static int check_sv(const struct ubi_volume *vol,
+ const struct ubi_scan_volume *sv)
+ {
++ int err;
++
+ if (sv->highest_lnum >= vol->reserved_pebs) {
+- dbg_err("bad highest_lnum");
++ err = 1;
+ goto bad;
+ }
+ if (sv->leb_count > vol->reserved_pebs) {
+- dbg_err("bad leb_count");
++ err = 2;
+ goto bad;
+ }
+ if (sv->vol_type != vol->vol_type) {
+- dbg_err("bad vol_type");
++ err = 3;
+ goto bad;
+ }
+ if (sv->used_ebs > vol->reserved_pebs) {
+- dbg_err("bad used_ebs");
++ err = 4;
+ goto bad;
+ }
+ if (sv->data_pad != vol->data_pad) {
+- dbg_err("bad data_pad");
++ err = 5;
+ goto bad;
+ }
+ return 0;
+
+ bad:
+- ubi_err("bad scanning information");
++ ubi_err("bad scanning information, error %d", err);
+ ubi_dbg_dump_sv(sv);
+ ubi_dbg_dump_vol_info(vol);
+ return -EINVAL;
+@@ -662,14 +733,13 @@
+ return -EINVAL;
+ }
+
+- if (si->highest_vol_id >= ubi->vtbl_slots + UBI_INT_VOL_COUNT&&
++ if (si->highest_vol_id >= ubi->vtbl_slots + UBI_INT_VOL_COUNT &&
+ si->highest_vol_id < UBI_INTERNAL_VOL_START) {
+ ubi_err("too large volume ID %d found by scanning",
+ si->highest_vol_id);
+ return -EINVAL;
+ }
+
+-
+ for (i = 0; i < ubi->vtbl_slots + UBI_INT_VOL_COUNT; i++) {
+ cond_resched();
+
+@@ -707,8 +777,7 @@
+ }
+
+ /**
+- * ubi_read_volume_table - read volume table.
+- * information.
++ * ubi_read_volume_table - read the volume table.
+ * @ubi: UBI device description object
+ * @si: scanning information
+ *
+@@ -734,7 +803,7 @@
+ ubi->vtbl_size = ubi->vtbl_slots * UBI_VTBL_RECORD_SIZE;
+ ubi->vtbl_size = ALIGN(ubi->vtbl_size, ubi->min_io_size);
+
+- sv = ubi_scan_find_sv(si, UBI_LAYOUT_VOL_ID);
++ sv = ubi_scan_find_sv(si, UBI_LAYOUT_VOLUME_ID);
+ if (!sv) {
+ /*
+ * No logical eraseblocks belonging to the layout volume were
+@@ -787,11 +856,10 @@
+
+ out_free:
+ vfree(ubi->vtbl);
+- for (i = 0; i < ubi->vtbl_slots + UBI_INT_VOL_COUNT; i++)
+- if (ubi->volumes[i]) {
+- kfree(ubi->volumes[i]);
+- ubi->volumes[i] = NULL;
+- }
++ for (i = 0; i < ubi->vtbl_slots + UBI_INT_VOL_COUNT; i++) {
++ kfree(ubi->volumes[i]);
++ ubi->volumes[i] = NULL;
++ }
+ return err;
+ }
+
+diff -Nurd linux-2.6.24/drivers/mtd/ubi/wl.c ubifs-v2.6.24/drivers/mtd/ubi/wl.c
+--- linux-2.6.24/drivers/mtd/ubi/wl.c 2008-01-25 00:58:37.000000000 +0200
++++ ubifs-v2.6.24/drivers/mtd/ubi/wl.c 2009-04-07 17:14:47.000000000 +0200
+@@ -19,22 +19,22 @@
+ */
+
+ /*
+- * UBI wear-leveling unit.
++ * UBI wear-leveling sub-system.
+ *
+- * This unit is responsible for wear-leveling. It works in terms of physical
+- * eraseblocks and erase counters and knows nothing about logical eraseblocks,
+- * volumes, etc. From this unit's perspective all physical eraseblocks are of
+- * two types - used and free. Used physical eraseblocks are those that were
+- * "get" by the 'ubi_wl_get_peb()' function, and free physical eraseblocks are
+- * those that were put by the 'ubi_wl_put_peb()' function.
++ * This sub-system is responsible for wear-leveling. It works in terms of
++ * physical eraseblocks and erase counters and knows nothing about logical
++ * eraseblocks, volumes, etc. From this sub-system's perspective all physical
++ * eraseblocks are of two types - used and free. Used physical eraseblocks are
++ * those that were "get" by the 'ubi_wl_get_peb()' function, and free physical
++ * eraseblocks are those that were put by the 'ubi_wl_put_peb()' function.
+ *
+ * Physical eraseblocks returned by 'ubi_wl_get_peb()' have only erase counter
+- * header. The rest of the physical eraseblock contains only 0xFF bytes.
++ * header. The rest of the physical eraseblock contains only %0xFF bytes.
+ *
+- * When physical eraseblocks are returned to the WL unit by means of the
++ * When physical eraseblocks are returned to the WL sub-system by means of the
+ * 'ubi_wl_put_peb()' function, they are scheduled for erasure. The erasure is
+ * done asynchronously in context of the per-UBI device background thread,
+- * which is also managed by the WL unit.
++ * which is also managed by the WL sub-system.
+ *
+ * The wear-leveling is ensured by means of moving the contents of used
+ * physical eraseblocks with low erase counter to free physical eraseblocks
+@@ -43,34 +43,64 @@
+ * The 'ubi_wl_get_peb()' function accepts data type hints which help to pick
+ * an "optimal" physical eraseblock. For example, when it is known that the
+ * physical eraseblock will be "put" soon because it contains short-term data,
+- * the WL unit may pick a free physical eraseblock with low erase counter, and
+- * so forth.
++ * the WL sub-system may pick a free physical eraseblock with low erase
++ * counter, and so forth.
+ *
+- * If the WL unit fails to erase a physical eraseblock, it marks it as bad.
++ * If the WL sub-system fails to erase a physical eraseblock, it marks it as
++ * bad.
+ *
+- * This unit is also responsible for scrubbing. If a bit-flip is detected in a
+- * physical eraseblock, it has to be moved. Technically this is the same as
+- * moving it for wear-leveling reasons.
++ * This sub-system is also responsible for scrubbing. If a bit-flip is detected
++ * in a physical eraseblock, it has to be moved. Technically this is the same
++ * as moving it for wear-leveling reasons.
+ *
+- * As it was said, for the UBI unit all physical eraseblocks are either "free"
+- * or "used". Free eraseblock are kept in the @wl->free RB-tree, while used
+- * eraseblocks are kept in a set of different RB-trees: @wl->used,
+- * @wl->prot.pnum, @wl->prot.aec, and @wl->scrub.
++ * As it was said, for the UBI sub-system all physical eraseblocks are either
++ * "free" or "used". Free eraseblock are kept in the @wl->free RB-tree, while
++ * used eraseblocks are kept in @wl->used or @wl->scrub RB-trees, or
++ * (temporarily) in the @wl->pq queue.
++ *
++ * When the WL sub-system returns a physical eraseblock, the physical
++ * eraseblock is protected from being moved for some "time". For this reason,
++ * the physical eraseblock is not directly moved from the @wl->free tree to the
++ * @wl->used tree. There is a protection queue in between where this
++ * physical eraseblock is temporarily stored (@wl->pq).
++ *
++ * All this protection stuff is needed because:
++ * o we don't want to move physical eraseblocks just after we have given them
++ * to the user; instead, we first want to let users fill them up with data;
++ *
++ * o there is a chance that the user will put the physical eraseblock very
++ * soon, so it makes sense not to move it for some time, but wait; this is
++ * especially important in case of "short term" physical eraseblocks.
++ *
++ * Physical eraseblocks stay protected only for limited time. But the "time" is
++ * measured in erase cycles in this case. This is implemented with help of the
++ * protection queue. Eraseblocks are put to the tail of this queue when they
++ * are returned by the 'ubi_wl_get_peb()', and eraseblocks are removed from the
++ * head of the queue on each erase operation (for any eraseblock). So the
++ * length of the queue defines how may (global) erase cycles PEBs are protected.
++ *
++ * To put it differently, each physical eraseblock has 2 main states: free and
++ * used. The former state corresponds to the @wl->free tree. The latter state
++ * is split up on several sub-states:
++ * o the WL movement is allowed (@wl->used tree);
++ * o the WL movement is temporarily prohibited (@wl->pq queue);
++ * o scrubbing is needed (@wl->scrub tree).
++ *
++ * Depending on the sub-state, wear-leveling entries of the used physical
++ * eraseblocks may be kept in one of those structures.
+ *
+ * Note, in this implementation, we keep a small in-RAM object for each physical
+ * eraseblock. This is surely not a scalable solution. But it appears to be good
+ * enough for moderately large flashes and it is simple. In future, one may
+- * re-work this unit and make it more scalable.
++ * re-work this sub-system and make it more scalable.
+ *
+- * At the moment this unit does not utilize the sequence number, which was
+- * introduced relatively recently. But it would be wise to do this because the
+- * sequence number of a logical eraseblock characterizes how old is it. For
++ * At the moment this sub-system does not utilize the sequence number, which
++ * was introduced relatively recently. But it would be wise to do this because
++ * the sequence number of a logical eraseblock characterizes how old is it. For
+ * example, when we move a PEB with low erase counter, and we need to pick the
+ * target PEB, we pick a PEB with the highest EC if our PEB is "old" and we
+ * pick target PEB with an average EC if our PEB is not very "old". This is a
+- * room for future re-works of the WL unit.
+- *
+- * FIXME: looks too complex, should be simplified (later).
++ * room for future re-works of the WL sub-system.
+ */
+
+ #include <linux/slab.h>
+@@ -83,29 +113,22 @@
+ #define WL_RESERVED_PEBS 1
+
+ /*
+- * How many erase cycles are short term, unknown, and long term physical
+- * eraseblocks protected.
+- */
+-#define ST_PROTECTION 16
+-#define U_PROTECTION 10
+-#define LT_PROTECTION 4
+-
+-/*
+ * Maximum difference between two erase counters. If this threshold is
+- * exceeded, the WL unit starts moving data from used physical eraseblocks with
+- * low erase counter to free physical eraseblocks with high erase counter.
++ * exceeded, the WL sub-system starts moving data from used physical
++ * eraseblocks with low erase counter to free physical eraseblocks with high
++ * erase counter.
+ */
+ #define UBI_WL_THRESHOLD CONFIG_MTD_UBI_WL_THRESHOLD
+
+ /*
+- * When a physical eraseblock is moved, the WL unit has to pick the target
++ * When a physical eraseblock is moved, the WL sub-system has to pick the target
+ * physical eraseblock to move to. The simplest way would be just to pick the
+ * one with the highest erase counter. But in certain workloads this could lead
+ * to an unlimited wear of one or few physical eraseblock. Indeed, imagine a
+ * situation when the picked physical eraseblock is constantly erased after the
+ * data is written to it. So, we have a constant which limits the highest erase
+- * counter of the free physical eraseblock to pick. Namely, the WL unit does
+- * not pick eraseblocks with erase counter greater then the lowest erase
++ * counter of the free physical eraseblock to pick. Namely, the WL sub-system
++ * does not pick eraseblocks with erase counter greater then the lowest erase
+ * counter plus %WL_FREE_MAX_DIFF.
+ */
+ #define WL_FREE_MAX_DIFF (2*UBI_WL_THRESHOLD)
+@@ -117,80 +140,9 @@
+ #define WL_MAX_FAILURES 32
+
+ /**
+- * struct ubi_wl_entry - wear-leveling entry.
+- * @rb: link in the corresponding RB-tree
+- * @ec: erase counter
+- * @pnum: physical eraseblock number
+- *
+- * Each physical eraseblock has a corresponding &struct wl_entry object which
+- * may be kept in different RB-trees.
+- */
+-struct ubi_wl_entry {
+- struct rb_node rb;
+- int ec;
+- int pnum;
+-};
+-
+-/**
+- * struct ubi_wl_prot_entry - PEB protection entry.
+- * @rb_pnum: link in the @wl->prot.pnum RB-tree
+- * @rb_aec: link in the @wl->prot.aec RB-tree
+- * @abs_ec: the absolute erase counter value when the protection ends
+- * @e: the wear-leveling entry of the physical eraseblock under protection
+- *
+- * When the WL unit returns a physical eraseblock, the physical eraseblock is
+- * protected from being moved for some "time". For this reason, the physical
+- * eraseblock is not directly moved from the @wl->free tree to the @wl->used
+- * tree. There is one more tree in between where this physical eraseblock is
+- * temporarily stored (@wl->prot).
+- *
+- * All this protection stuff is needed because:
+- * o we don't want to move physical eraseblocks just after we have given them
+- * to the user; instead, we first want to let users fill them up with data;
+- *
+- * o there is a chance that the user will put the physical eraseblock very
+- * soon, so it makes sense not to move it for some time, but wait; this is
+- * especially important in case of "short term" physical eraseblocks.
+- *
+- * Physical eraseblocks stay protected only for limited time. But the "time" is
+- * measured in erase cycles in this case. This is implemented with help of the
+- * absolute erase counter (@wl->abs_ec). When it reaches certain value, the
+- * physical eraseblocks are moved from the protection trees (@wl->prot.*) to
+- * the @wl->used tree.
+- *
+- * Protected physical eraseblocks are searched by physical eraseblock number
+- * (when they are put) and by the absolute erase counter (to check if it is
+- * time to move them to the @wl->used tree). So there are actually 2 RB-trees
+- * storing the protected physical eraseblocks: @wl->prot.pnum and
+- * @wl->prot.aec. They are referred to as the "protection" trees. The
+- * first one is indexed by the physical eraseblock number. The second one is
+- * indexed by the absolute erase counter. Both trees store
+- * &struct ubi_wl_prot_entry objects.
+- *
+- * Each physical eraseblock has 2 main states: free and used. The former state
+- * corresponds to the @wl->free tree. The latter state is split up on several
+- * sub-states:
+- * o the WL movement is allowed (@wl->used tree);
+- * o the WL movement is temporarily prohibited (@wl->prot.pnum and
+- * @wl->prot.aec trees);
+- * o scrubbing is needed (@wl->scrub tree).
+- *
+- * Depending on the sub-state, wear-leveling entries of the used physical
+- * eraseblocks may be kept in one of those trees.
+- */
+-struct ubi_wl_prot_entry {
+- struct rb_node rb_pnum;
+- struct rb_node rb_aec;
+- unsigned long long abs_ec;
+- struct ubi_wl_entry *e;
+-};
+-
+-/**
+ * struct ubi_work - UBI work description data structure.
+ * @list: a link in the list of pending works
+ * @func: worker function
+- * @priv: private data of the worker function
+- *
+ * @e: physical eraseblock to erase
+ * @torture: if the physical eraseblock has to be tortured
+ *
+@@ -211,14 +163,13 @@
+ static int paranoid_check_ec(struct ubi_device *ubi, int pnum, int ec);
+ static int paranoid_check_in_wl_tree(struct ubi_wl_entry *e,
+ struct rb_root *root);
++static int paranoid_check_in_pq(struct ubi_device *ubi, struct ubi_wl_entry *e);
+ #else
+ #define paranoid_check_ec(ubi, pnum, ec) 0
+ #define paranoid_check_in_wl_tree(e, root)
++#define paranoid_check_in_pq(ubi, e) 0
+ #endif
+
+-/* Slab cache for wear-leveling entries */
+-static struct kmem_cache *wl_entries_slab;
+-
+ /**
+ * wl_tree_add - add a wear-leveling entry to a WL RB-tree.
+ * @e: the wear-leveling entry to add
+@@ -236,7 +187,7 @@
+ struct ubi_wl_entry *e1;
+
+ parent = *p;
+- e1 = rb_entry(parent, struct ubi_wl_entry, rb);
++ e1 = rb_entry(parent, struct ubi_wl_entry, u.rb);
+
+ if (e->ec < e1->ec)
+ p = &(*p)->rb_left;
+@@ -251,8 +202,8 @@
+ }
+ }
+
+- rb_link_node(&e->rb, parent, p);
+- rb_insert_color(&e->rb, root);
++ rb_link_node(&e->u.rb, parent, p);
++ rb_insert_color(&e->u.rb, root);
+ }
+
+ /**
+@@ -267,15 +218,26 @@
+ int err;
+ struct ubi_work *wrk;
+
+- spin_lock(&ubi->wl_lock);
++ cond_resched();
+
++ /*
++ * @ubi->work_sem is used to synchronize with the workers. Workers take
++ * it in read mode, so many of them may be doing works at a time. But
++ * the queue flush code has to be sure the whole queue of works is
++ * done, and it takes the mutex in write mode.
++ */
++ down_read(&ubi->work_sem);
++ spin_lock(&ubi->wl_lock);
+ if (list_empty(&ubi->works)) {
+ spin_unlock(&ubi->wl_lock);
++ up_read(&ubi->work_sem);
+ return 0;
+ }
+
+ wrk = list_entry(ubi->works.next, struct ubi_work, list);
+ list_del(&wrk->list);
++ ubi->works_count -= 1;
++ ubi_assert(ubi->works_count >= 0);
+ spin_unlock(&ubi->wl_lock);
+
+ /*
+@@ -286,11 +248,8 @@
+ err = wrk->func(ubi, wrk, 0);
+ if (err)
+ ubi_err("work failed with error code %d", err);
++ up_read(&ubi->work_sem);
+
+- spin_lock(&ubi->wl_lock);
+- ubi->works_count -= 1;
+- ubi_assert(ubi->works_count >= 0);
+- spin_unlock(&ubi->wl_lock);
+ return err;
+ }
+
+@@ -339,7 +298,7 @@
+ while (p) {
+ struct ubi_wl_entry *e1;
+
+- e1 = rb_entry(p, struct ubi_wl_entry, rb);
++ e1 = rb_entry(p, struct ubi_wl_entry, u.rb);
+
+ if (e->pnum == e1->pnum) {
+ ubi_assert(e == e1);
+@@ -363,50 +322,24 @@
+ }
+
+ /**
+- * prot_tree_add - add physical eraseblock to protection trees.
++ * prot_queue_add - add physical eraseblock to the protection queue.
+ * @ubi: UBI device description object
+ * @e: the physical eraseblock to add
+- * @pe: protection entry object to use
+- * @abs_ec: absolute erase counter value when this physical eraseblock has
+- * to be removed from the protection trees.
+ *
+- * @wl->lock has to be locked.
++ * This function adds @e to the tail of the protection queue @ubi->pq, where
++ * @e will stay for %UBI_PROT_QUEUE_LEN erase operations and will be
++ * temporarily protected from the wear-leveling worker. Note, @wl->lock has to
++ * be locked.
+ */
+-static void prot_tree_add(struct ubi_device *ubi, struct ubi_wl_entry *e,
+- struct ubi_wl_prot_entry *pe, int abs_ec)
++static void prot_queue_add(struct ubi_device *ubi, struct ubi_wl_entry *e)
+ {
+- struct rb_node **p, *parent = NULL;
+- struct ubi_wl_prot_entry *pe1;
+-
+- pe->e = e;
+- pe->abs_ec = ubi->abs_ec + abs_ec;
+-
+- p = &ubi->prot.pnum.rb_node;
+- while (*p) {
+- parent = *p;
+- pe1 = rb_entry(parent, struct ubi_wl_prot_entry, rb_pnum);
+-
+- if (e->pnum < pe1->e->pnum)
+- p = &(*p)->rb_left;
+- else
+- p = &(*p)->rb_right;
+- }
+- rb_link_node(&pe->rb_pnum, parent, p);
+- rb_insert_color(&pe->rb_pnum, &ubi->prot.pnum);
+-
+- p = &ubi->prot.aec.rb_node;
+- parent = NULL;
+- while (*p) {
+- parent = *p;
+- pe1 = rb_entry(parent, struct ubi_wl_prot_entry, rb_aec);
++ int pq_tail = ubi->pq_head - 1;
+
+- if (pe->abs_ec < pe1->abs_ec)
+- p = &(*p)->rb_left;
+- else
+- p = &(*p)->rb_right;
+- }
+- rb_link_node(&pe->rb_aec, parent, p);
+- rb_insert_color(&pe->rb_aec, &ubi->prot.aec);
++ if (pq_tail < 0)
++ pq_tail = UBI_PROT_QUEUE_LEN - 1;
++ ubi_assert(pq_tail >= 0 && pq_tail < UBI_PROT_QUEUE_LEN);
++ list_add_tail(&e->u.list, &ubi->pq[pq_tail]);
++ dbg_wl("added PEB %d EC %d to the protection queue", e->pnum, e->ec);
+ }
+
+ /**
+@@ -422,14 +355,14 @@
+ struct rb_node *p;
+ struct ubi_wl_entry *e;
+
+- e = rb_entry(rb_first(root), struct ubi_wl_entry, rb);
++ e = rb_entry(rb_first(root), struct ubi_wl_entry, u.rb);
+ max += e->ec;
+
+ p = root->rb_node;
+ while (p) {
+ struct ubi_wl_entry *e1;
+
+- e1 = rb_entry(p, struct ubi_wl_entry, rb);
++ e1 = rb_entry(p, struct ubi_wl_entry, u.rb);
+ if (e1->ec >= max)
+ p = p->rb_left;
+ else {
+@@ -451,17 +384,12 @@
+ */
+ int ubi_wl_get_peb(struct ubi_device *ubi, int dtype)
+ {
+- int err, protect, medium_ec;
++ int err, medium_ec;
+ struct ubi_wl_entry *e, *first, *last;
+- struct ubi_wl_prot_entry *pe;
+
+ ubi_assert(dtype == UBI_LONGTERM || dtype == UBI_SHORTTERM ||
+ dtype == UBI_UNKNOWN);
+
+- pe = kmalloc(sizeof(struct ubi_wl_prot_entry), GFP_NOFS);
+- if (!pe)
+- return -ENOMEM;
+-
+ retry:
+ spin_lock(&ubi->wl_lock);
+ if (!ubi->free.rb_node) {
+@@ -469,110 +397,91 @@
+ ubi_assert(list_empty(&ubi->works));
+ ubi_err("no free eraseblocks");
+ spin_unlock(&ubi->wl_lock);
+- kfree(pe);
+ return -ENOSPC;
+ }
+ spin_unlock(&ubi->wl_lock);
+
+ err = produce_free_peb(ubi);
+- if (err < 0) {
+- kfree(pe);
++ if (err < 0)
+ return err;
+- }
+ goto retry;
+ }
+
+ switch (dtype) {
+- case UBI_LONGTERM:
+- /*
+- * For long term data we pick a physical eraseblock
+- * with high erase counter. But the highest erase
+- * counter we can pick is bounded by the the lowest
+- * erase counter plus %WL_FREE_MAX_DIFF.
+- */
+- e = find_wl_entry(&ubi->free, WL_FREE_MAX_DIFF);
+- protect = LT_PROTECTION;
+- break;
+- case UBI_UNKNOWN:
+- /*
+- * For unknown data we pick a physical eraseblock with
+- * medium erase counter. But we by no means can pick a
+- * physical eraseblock with erase counter greater or
+- * equivalent than the lowest erase counter plus
+- * %WL_FREE_MAX_DIFF.
+- */
+- first = rb_entry(rb_first(&ubi->free),
+- struct ubi_wl_entry, rb);
+- last = rb_entry(rb_last(&ubi->free),
+- struct ubi_wl_entry, rb);
++ case UBI_LONGTERM:
++ /*
++ * For long term data we pick a physical eraseblock with high
++ * erase counter. But the highest erase counter we can pick is
++ * bounded by the the lowest erase counter plus
++ * %WL_FREE_MAX_DIFF.
++ */
++ e = find_wl_entry(&ubi->free, WL_FREE_MAX_DIFF);
++ break;
++ case UBI_UNKNOWN:
++ /*
++ * For unknown data we pick a physical eraseblock with medium
++ * erase counter. But we by no means can pick a physical
++ * eraseblock with erase counter greater or equivalent than the
++ * lowest erase counter plus %WL_FREE_MAX_DIFF.
++ */
++ first = rb_entry(rb_first(&ubi->free), struct ubi_wl_entry,
++ u.rb);
++ last = rb_entry(rb_last(&ubi->free), struct ubi_wl_entry, u.rb);
+
+- if (last->ec - first->ec < WL_FREE_MAX_DIFF)
+- e = rb_entry(ubi->free.rb_node,
+- struct ubi_wl_entry, rb);
+- else {
+- medium_ec = (first->ec + WL_FREE_MAX_DIFF)/2;
+- e = find_wl_entry(&ubi->free, medium_ec);
+- }
+- protect = U_PROTECTION;
+- break;
+- case UBI_SHORTTERM:
+- /*
+- * For short term data we pick a physical eraseblock
+- * with the lowest erase counter as we expect it will
+- * be erased soon.
+- */
+- e = rb_entry(rb_first(&ubi->free),
+- struct ubi_wl_entry, rb);
+- protect = ST_PROTECTION;
+- break;
+- default:
+- protect = 0;
+- e = NULL;
+- BUG();
++ if (last->ec - first->ec < WL_FREE_MAX_DIFF)
++ e = rb_entry(ubi->free.rb_node,
++ struct ubi_wl_entry, u.rb);
++ else {
++ medium_ec = (first->ec + WL_FREE_MAX_DIFF)/2;
++ e = find_wl_entry(&ubi->free, medium_ec);
++ }
++ break;
++ case UBI_SHORTTERM:
++ /*
++ * For short term data we pick a physical eraseblock with the
++ * lowest erase counter as we expect it will be erased soon.
++ */
++ e = rb_entry(rb_first(&ubi->free), struct ubi_wl_entry, u.rb);
++ break;
++ default:
++ BUG();
+ }
+
++ paranoid_check_in_wl_tree(e, &ubi->free);
++
+ /*
+- * Move the physical eraseblock to the protection trees where it will
++ * Move the physical eraseblock to the protection queue where it will
+ * be protected from being moved for some time.
+ */
+- paranoid_check_in_wl_tree(e, &ubi->free);
+- rb_erase(&e->rb, &ubi->free);
+- prot_tree_add(ubi, e, pe, protect);
+-
+- dbg_wl("PEB %d EC %d, protection %d", e->pnum, e->ec, protect);
++ rb_erase(&e->u.rb, &ubi->free);
++ dbg_wl("PEB %d EC %d", e->pnum, e->ec);
++ prot_queue_add(ubi, e);
+ spin_unlock(&ubi->wl_lock);
+-
+ return e->pnum;
+ }
+
+ /**
+- * prot_tree_del - remove a physical eraseblock from the protection trees
++ * prot_queue_del - remove a physical eraseblock from the protection queue.
+ * @ubi: UBI device description object
+ * @pnum: the physical eraseblock to remove
++ *
++ * This function deletes PEB @pnum from the protection queue and returns zero
++ * in case of success and %-ENODEV if the PEB was not found.
+ */
+-static void prot_tree_del(struct ubi_device *ubi, int pnum)
++static int prot_queue_del(struct ubi_device *ubi, int pnum)
+ {
+- struct rb_node *p;
+- struct ubi_wl_prot_entry *pe = NULL;
+-
+- p = ubi->prot.pnum.rb_node;
+- while (p) {
+-
+- pe = rb_entry(p, struct ubi_wl_prot_entry, rb_pnum);
++ struct ubi_wl_entry *e;
+
+- if (pnum == pe->e->pnum)
+- break;
++ e = ubi->lookuptbl[pnum];
++ if (!e)
++ return -ENODEV;
+
+- if (pnum < pe->e->pnum)
+- p = p->rb_left;
+- else
+- p = p->rb_right;
+- }
++ if (paranoid_check_in_pq(ubi, e))
++ return -ENODEV;
+
+- ubi_assert(pe->e->pnum == pnum);
+- rb_erase(&pe->rb_aec, &ubi->prot.aec);
+- rb_erase(&pe->rb_pnum, &ubi->prot.pnum);
+- kfree(pe);
++ list_del(&e->u.list);
++ dbg_wl("deleted PEB %d from the protection queue", e->pnum);
++ return 0;
+ }
+
+ /**
+@@ -584,7 +493,8 @@
+ * This function returns zero in case of success and a negative error code in
+ * case of failure.
+ */
+-static int sync_erase(struct ubi_device *ubi, struct ubi_wl_entry *e, int torture)
++static int sync_erase(struct ubi_device *ubi, struct ubi_wl_entry *e,
++ int torture)
+ {
+ int err;
+ struct ubi_ec_hdr *ec_hdr;
+@@ -636,48 +546,47 @@
+ }
+
+ /**
+- * check_protection_over - check if it is time to stop protecting some
+- * physical eraseblocks.
++ * serve_prot_queue - check if it is time to stop protecting PEBs.
+ * @ubi: UBI device description object
+ *
+- * This function is called after each erase operation, when the absolute erase
+- * counter is incremented, to check if some physical eraseblock have not to be
+- * protected any longer. These physical eraseblocks are moved from the
+- * protection trees to the used tree.
++ * This function is called after each erase operation and removes PEBs from the
++ * tail of the protection queue. These PEBs have been protected for long enough
++ * and should be moved to the used tree.
+ */
+-static void check_protection_over(struct ubi_device *ubi)
++static void serve_prot_queue(struct ubi_device *ubi)
+ {
+- struct ubi_wl_prot_entry *pe;
++ struct ubi_wl_entry *e, *tmp;
++ int count;
+
+ /*
+ * There may be several protected physical eraseblock to remove,
+ * process them all.
+ */
+- while (1) {
+- spin_lock(&ubi->wl_lock);
+- if (!ubi->prot.aec.rb_node) {
+- spin_unlock(&ubi->wl_lock);
+- break;
+- }
+-
+- pe = rb_entry(rb_first(&ubi->prot.aec),
+- struct ubi_wl_prot_entry, rb_aec);
++repeat:
++ count = 0;
++ spin_lock(&ubi->wl_lock);
++ list_for_each_entry_safe(e, tmp, &ubi->pq[ubi->pq_head], u.list) {
++ dbg_wl("PEB %d EC %d protection over, move to used tree",
++ e->pnum, e->ec);
+
+- if (pe->abs_ec > ubi->abs_ec) {
++ list_del(&e->u.list);
++ wl_tree_add(e, &ubi->used);
++ if (count++ > 32) {
++ /*
++ * Let's be nice and avoid holding the spinlock for
++ * too long.
++ */
+ spin_unlock(&ubi->wl_lock);
+- break;
++ cond_resched();
++ goto repeat;
+ }
+-
+- dbg_wl("PEB %d protection over, abs_ec %llu, PEB abs_ec %llu",
+- pe->e->pnum, ubi->abs_ec, pe->abs_ec);
+- rb_erase(&pe->rb_aec, &ubi->prot.aec);
+- rb_erase(&pe->rb_pnum, &ubi->prot.pnum);
+- wl_tree_add(pe->e, &ubi->used);
+- spin_unlock(&ubi->wl_lock);
+-
+- kfree(pe);
+- cond_resched();
+ }
++
++ ubi->pq_head += 1;
++ if (ubi->pq_head == UBI_PROT_QUEUE_LEN)
++ ubi->pq_head = 0;
++ ubi_assert(ubi->pq_head >= 0 && ubi->pq_head < UBI_PROT_QUEUE_LEN);
++ spin_unlock(&ubi->wl_lock);
+ }
+
+ /**
+@@ -685,8 +594,8 @@
+ * @ubi: UBI device description object
+ * @wrk: the work to schedule
+ *
+- * This function enqueues a work defined by @wrk to the tail of the pending
+- * works list.
++ * This function adds a work defined by @wrk to the tail of the pending works
++ * list.
+ */
+ static void schedule_ubi_work(struct ubi_device *ubi, struct ubi_work *wrk)
+ {
+@@ -744,12 +653,11 @@
+ static int wear_leveling_worker(struct ubi_device *ubi, struct ubi_work *wrk,
+ int cancel)
+ {
+- int err, put = 0;
++ int err, scrubbing = 0, torture = 0;
+ struct ubi_wl_entry *e1, *e2;
+ struct ubi_vid_hdr *vid_hdr;
+
+ kfree(wrk);
+-
+ if (cancel)
+ return 0;
+
+@@ -757,21 +665,17 @@
+ if (!vid_hdr)
+ return -ENOMEM;
+
++ mutex_lock(&ubi->move_mutex);
+ spin_lock(&ubi->wl_lock);
++ ubi_assert(!ubi->move_from && !ubi->move_to);
++ ubi_assert(!ubi->move_to_put);
+
+- /*
+- * Only one WL worker at a time is supported at this implementation, so
+- * make sure a PEB is not being moved already.
+- */
+- if (ubi->move_to || !ubi->free.rb_node ||
++ if (!ubi->free.rb_node ||
+ (!ubi->used.rb_node && !ubi->scrub.rb_node)) {
+ /*
+- * Only one WL worker at a time is supported at this
+- * implementation, so if a LEB is already being moved, cancel.
+- *
+- * No free physical eraseblocks? Well, we cancel wear-leveling
+- * then. It will be triggered again when a free physical
+- * eraseblock appears.
++ * No free physical eraseblocks? Well, they must be waiting in
++ * the queue to be erased. Cancel movement - it will be
++ * triggered again when a free physical eraseblock appears.
+ *
+ * No used physical eraseblocks? They must be temporarily
+ * protected from being moved. They will be moved to the
+@@ -780,10 +684,7 @@
+ */
+ dbg_wl("cancel WL, a list is empty: free %d, used %d",
+ !ubi->free.rb_node, !ubi->used.rb_node);
+- ubi->wl_scheduled = 0;
+- spin_unlock(&ubi->wl_lock);
+- ubi_free_vid_hdr(ubi, vid_hdr);
+- return 0;
++ goto out_cancel;
+ }
+
+ if (!ubi->scrub.rb_node) {
+@@ -792,33 +693,30 @@
+ * highly worn-out free physical eraseblock. If the erase
+ * counters differ much enough, start wear-leveling.
+ */
+- e1 = rb_entry(rb_first(&ubi->used), struct ubi_wl_entry, rb);
++ e1 = rb_entry(rb_first(&ubi->used), struct ubi_wl_entry, u.rb);
+ e2 = find_wl_entry(&ubi->free, WL_FREE_MAX_DIFF);
+
+ if (!(e2->ec - e1->ec >= UBI_WL_THRESHOLD)) {
+ dbg_wl("no WL needed: min used EC %d, max free EC %d",
+ e1->ec, e2->ec);
+- ubi->wl_scheduled = 0;
+- spin_unlock(&ubi->wl_lock);
+- ubi_free_vid_hdr(ubi, vid_hdr);
+- return 0;
++ goto out_cancel;
+ }
+ paranoid_check_in_wl_tree(e1, &ubi->used);
+- rb_erase(&e1->rb, &ubi->used);
++ rb_erase(&e1->u.rb, &ubi->used);
+ dbg_wl("move PEB %d EC %d to PEB %d EC %d",
+ e1->pnum, e1->ec, e2->pnum, e2->ec);
+ } else {
+- e1 = rb_entry(rb_first(&ubi->scrub), struct ubi_wl_entry, rb);
++ /* Perform scrubbing */
++ scrubbing = 1;
++ e1 = rb_entry(rb_first(&ubi->scrub), struct ubi_wl_entry, u.rb);
+ e2 = find_wl_entry(&ubi->free, WL_FREE_MAX_DIFF);
+ paranoid_check_in_wl_tree(e1, &ubi->scrub);
+- rb_erase(&e1->rb, &ubi->scrub);
++ rb_erase(&e1->u.rb, &ubi->scrub);
+ dbg_wl("scrub PEB %d to PEB %d", e1->pnum, e2->pnum);
+ }
+
+ paranoid_check_in_wl_tree(e2, &ubi->free);
+- rb_erase(&e2->rb, &ubi->free);
+- ubi_assert(!ubi->move_from && !ubi->move_to);
+- ubi_assert(!ubi->move_to_put && !ubi->move_from_put);
++ rb_erase(&e2->u.rb, &ubi->free);
+ ubi->move_from = e1;
+ ubi->move_to = e2;
+ spin_unlock(&ubi->wl_lock);
+@@ -828,6 +726,10 @@
+ * We so far do not know which logical eraseblock our physical
+ * eraseblock (@e1) belongs to. We have to read the volume identifier
+ * header first.
++ *
++ * Note, we are protected from this PEB being unmapped and erased. The
++ * 'ubi_wl_put_peb()' would wait for moving to be finished if the PEB
++ * which is being moved was unmapped.
+ */
+
+ err = ubi_io_read_vid_hdr(ubi, e1->pnum, vid_hdr, 0);
+@@ -842,97 +744,145 @@
+ * likely have the VID header in place.
+ */
+ dbg_wl("PEB %d has no VID header", e1->pnum);
+- err = 0;
+- } else {
+- ubi_err("error %d while reading VID header from PEB %d",
+- err, e1->pnum);
+- if (err > 0)
+- err = -EIO;
++ goto out_not_moved;
+ }
+- goto error;
++
++ ubi_err("error %d while reading VID header from PEB %d",
++ err, e1->pnum);
++ if (err > 0)
++ err = -EIO;
++ goto out_error;
+ }
+
+ err = ubi_eba_copy_leb(ubi, e1->pnum, e2->pnum, vid_hdr);
+ if (err) {
+- if (err == UBI_IO_BITFLIPS)
+- err = 0;
+- goto error;
++ if (err == -EAGAIN)
++ goto out_not_moved;
++ if (err < 0)
++ goto out_error;
++ if (err == 2) {
++ /* Target PEB write error, torture it */
++ torture = 1;
++ goto out_not_moved;
++ }
++
++ /*
++ * The LEB has not been moved because the volume is being
++ * deleted or the PEB has been put meanwhile. We should prevent
++ * this PEB from being selected for wear-leveling movement
++ * again, so put it to the protection queue.
++ */
++
++ dbg_wl("canceled moving PEB %d", e1->pnum);
++ ubi_assert(err == 1);
++
++ ubi_free_vid_hdr(ubi, vid_hdr);
++ vid_hdr = NULL;
++
++ spin_lock(&ubi->wl_lock);
++ prot_queue_add(ubi, e1);
++ ubi_assert(!ubi->move_to_put);
++ ubi->move_from = ubi->move_to = NULL;
++ ubi->wl_scheduled = 0;
++ spin_unlock(&ubi->wl_lock);
++
++ e1 = NULL;
++ err = schedule_erase(ubi, e2, 0);
++ if (err)
++ goto out_error;
++ mutex_unlock(&ubi->move_mutex);
++ return 0;
+ }
+
++ /* The PEB has been successfully moved */
+ ubi_free_vid_hdr(ubi, vid_hdr);
++ vid_hdr = NULL;
++ if (scrubbing)
++ ubi_msg("scrubbed PEB %d, data moved to PEB %d",
++ e1->pnum, e2->pnum);
++
+ spin_lock(&ubi->wl_lock);
+- if (!ubi->move_to_put)
++ if (!ubi->move_to_put) {
+ wl_tree_add(e2, &ubi->used);
+- else
+- put = 1;
++ e2 = NULL;
++ }
+ ubi->move_from = ubi->move_to = NULL;
+- ubi->move_from_put = ubi->move_to_put = 0;
+- ubi->wl_scheduled = 0;
++ ubi->move_to_put = ubi->wl_scheduled = 0;
+ spin_unlock(&ubi->wl_lock);
+
+- if (put) {
++ err = schedule_erase(ubi, e1, 0);
++ if (err) {
++ e1 = NULL;
++ goto out_error;
++ }
++
++ if (e2) {
+ /*
+ * Well, the target PEB was put meanwhile, schedule it for
+ * erasure.
+ */
+ dbg_wl("PEB %d was put meanwhile, erase", e2->pnum);
+ err = schedule_erase(ubi, e2, 0);
+- if (err) {
+- kmem_cache_free(wl_entries_slab, e2);
+- ubi_ro_mode(ubi);
+- }
+- }
+-
+- err = schedule_erase(ubi, e1, 0);
+- if (err) {
+- kmem_cache_free(wl_entries_slab, e1);
+- ubi_ro_mode(ubi);
++ if (err)
++ goto out_error;
+ }
+
+ dbg_wl("done");
+- return err;
++ mutex_unlock(&ubi->move_mutex);
++ return 0;
+
+ /*
+- * Some error occurred. @e1 was not changed, so return it back. @e2
+- * might be changed, schedule it for erasure.
++ * For some reasons the LEB was not moved, might be an error, might be
++ * something else. @e1 was not changed, so return it back. @e2 might
++ * have been changed, schedule it for erasure.
+ */
+-error:
+- if (err)
+- dbg_wl("error %d occurred, cancel operation", err);
+- ubi_assert(err <= 0);
+-
++out_not_moved:
++ dbg_wl("canceled moving PEB %d", e1->pnum);
+ ubi_free_vid_hdr(ubi, vid_hdr);
++ vid_hdr = NULL;
+ spin_lock(&ubi->wl_lock);
+- ubi->wl_scheduled = 0;
+- if (ubi->move_from_put)
+- put = 1;
++ if (scrubbing)
++ wl_tree_add(e1, &ubi->scrub);
+ else
+ wl_tree_add(e1, &ubi->used);
++ ubi_assert(!ubi->move_to_put);
+ ubi->move_from = ubi->move_to = NULL;
+- ubi->move_from_put = ubi->move_to_put = 0;
++ ubi->wl_scheduled = 0;
+ spin_unlock(&ubi->wl_lock);
+
+- if (put) {
+- /*
+- * Well, the target PEB was put meanwhile, schedule it for
+- * erasure.
+- */
+- dbg_wl("PEB %d was put meanwhile, erase", e1->pnum);
+- err = schedule_erase(ubi, e1, 0);
+- if (err) {
+- kmem_cache_free(wl_entries_slab, e1);
+- ubi_ro_mode(ubi);
+- }
+- }
++ e1 = NULL;
++ err = schedule_erase(ubi, e2, torture);
++ if (err)
++ goto out_error;
+
+- err = schedule_erase(ubi, e2, 0);
+- if (err) {
+- kmem_cache_free(wl_entries_slab, e2);
+- ubi_ro_mode(ubi);
+- }
++ mutex_unlock(&ubi->move_mutex);
++ return 0;
+
+- yield();
++out_error:
++ ubi_err("error %d while moving PEB %d to PEB %d",
++ err, e1->pnum, e2->pnum);
++
++ ubi_free_vid_hdr(ubi, vid_hdr);
++ spin_lock(&ubi->wl_lock);
++ ubi->move_from = ubi->move_to = NULL;
++ ubi->move_to_put = ubi->wl_scheduled = 0;
++ spin_unlock(&ubi->wl_lock);
++
++ if (e1)
++ kmem_cache_free(ubi_wl_entry_slab, e1);
++ if (e2)
++ kmem_cache_free(ubi_wl_entry_slab, e2);
++ ubi_ro_mode(ubi);
++
++ mutex_unlock(&ubi->move_mutex);
+ return err;
++
++out_cancel:
++ ubi->wl_scheduled = 0;
++ spin_unlock(&ubi->wl_lock);
++ mutex_unlock(&ubi->move_mutex);
++ ubi_free_vid_hdr(ubi, vid_hdr);
++ return 0;
+ }
+
+ /**
+@@ -970,7 +920,7 @@
+ * erase counter of free physical eraseblocks is greater then
+ * %UBI_WL_THRESHOLD.
+ */
+- e1 = rb_entry(rb_first(&ubi->used), struct ubi_wl_entry, rb);
++ e1 = rb_entry(rb_first(&ubi->used), struct ubi_wl_entry, u.rb);
+ e2 = find_wl_entry(&ubi->free, WL_FREE_MAX_DIFF);
+
+ if (!(e2->ec - e1->ec >= UBI_WL_THRESHOLD))
+@@ -1020,7 +970,7 @@
+ if (cancel) {
+ dbg_wl("cancel erasure of PEB %d EC %d", pnum, e->ec);
+ kfree(wl_wrk);
+- kmem_cache_free(wl_entries_slab, e);
++ kmem_cache_free(ubi_wl_entry_slab, e);
+ return 0;
+ }
+
+@@ -1032,15 +982,14 @@
+ kfree(wl_wrk);
+
+ spin_lock(&ubi->wl_lock);
+- ubi->abs_ec += 1;
+ wl_tree_add(e, &ubi->free);
+ spin_unlock(&ubi->wl_lock);
+
+ /*
+- * One more erase operation has happened, take care about protected
+- * physical eraseblocks.
++ * One more erase operation has happened, take care about
++ * protected physical eraseblocks.
+ */
+- check_protection_over(ubi);
++ serve_prot_queue(ubi);
+
+ /* And take care about wear-leveling */
+ err = ensure_wear_leveling(ubi);
+@@ -1049,7 +998,7 @@
+
+ ubi_err("failed to erase PEB %d, error %d", pnum, err);
+ kfree(wl_wrk);
+- kmem_cache_free(wl_entries_slab, e);
++ kmem_cache_free(ubi_wl_entry_slab, e);
+
+ if (err == -EINTR || err == -ENOMEM || err == -EAGAIN ||
+ err == -EBUSY) {
+@@ -1119,8 +1068,7 @@
+ }
+
+ /**
+- * ubi_wl_put_peb - return a physical eraseblock to the wear-leveling
+- * unit.
++ * ubi_wl_put_peb - return a PEB to the wear-leveling sub-system.
+ * @ubi: UBI device description object
+ * @pnum: physical eraseblock to return
+ * @torture: if this physical eraseblock has to be tortured
+@@ -1128,7 +1076,7 @@
+ * This function is called to return physical eraseblock @pnum to the pool of
+ * free physical eraseblocks. The @torture flag has to be set if an I/O error
+ * occurred to this @pnum and it has to be tested. This function returns zero
+- * in case of success and a negative error code in case of failure.
++ * in case of success, and a negative error code in case of failure.
+ */
+ int ubi_wl_put_peb(struct ubi_device *ubi, int pnum, int torture)
+ {
+@@ -1139,8 +1087,8 @@
+ ubi_assert(pnum >= 0);
+ ubi_assert(pnum < ubi->peb_count);
+
++retry:
+ spin_lock(&ubi->wl_lock);
+-
+ e = ubi->lookuptbl[pnum];
+ if (e == ubi->move_from) {
+ /*
+@@ -1148,17 +1096,22 @@
+ * be moved. It will be scheduled for erasure in the
+ * wear-leveling worker.
+ */
+- dbg_wl("PEB %d is being moved", pnum);
+- ubi_assert(!ubi->move_from_put);
+- ubi->move_from_put = 1;
++ dbg_wl("PEB %d is being moved, wait", pnum);
+ spin_unlock(&ubi->wl_lock);
+- return 0;
++
++ /* Wait for the WL worker by taking the @ubi->move_mutex */
++ mutex_lock(&ubi->move_mutex);
++ mutex_unlock(&ubi->move_mutex);
++ goto retry;
+ } else if (e == ubi->move_to) {
+ /*
+ * User is putting the physical eraseblock which was selected
+ * as the target the data is moved to. It may happen if the EBA
+- * unit already re-mapped the LEB but the WL unit did has not
+- * put the PEB to the "used" tree.
++ * sub-system already re-mapped the LEB in 'ubi_eba_copy_leb()'
++ * but the WL sub-system has not put the PEB to the "used" tree
++ * yet, but it is about to do this. So we just set a flag which
++ * will tell the WL worker that the PEB is not needed anymore
++ * and should be scheduled for erasure.
+ */
+ dbg_wl("PEB %d is the target of data moving", pnum);
+ ubi_assert(!ubi->move_to_put);
+@@ -1168,12 +1121,19 @@
+ } else {
+ if (in_wl_tree(e, &ubi->used)) {
+ paranoid_check_in_wl_tree(e, &ubi->used);
+- rb_erase(&e->rb, &ubi->used);
++ rb_erase(&e->u.rb, &ubi->used);
+ } else if (in_wl_tree(e, &ubi->scrub)) {
+ paranoid_check_in_wl_tree(e, &ubi->scrub);
+- rb_erase(&e->rb, &ubi->scrub);
+- } else
+- prot_tree_del(ubi, e->pnum);
++ rb_erase(&e->u.rb, &ubi->scrub);
++ } else {
++ err = prot_queue_del(ubi, e->pnum);
++ if (err) {
++ ubi_err("PEB %d not found", pnum);
++ ubi_ro_mode(ubi);
++ spin_unlock(&ubi->wl_lock);
++ return err;
++ }
++ }
+ }
+ spin_unlock(&ubi->wl_lock);
+
+@@ -1201,7 +1161,7 @@
+ {
+ struct ubi_wl_entry *e;
+
+- ubi_msg("schedule PEB %d for scrubbing", pnum);
++ dbg_msg("schedule PEB %d for scrubbing", pnum);
+
+ retry:
+ spin_lock(&ubi->wl_lock);
+@@ -1226,9 +1186,18 @@
+
+ if (in_wl_tree(e, &ubi->used)) {
+ paranoid_check_in_wl_tree(e, &ubi->used);
+- rb_erase(&e->rb, &ubi->used);
+- } else
+- prot_tree_del(ubi, pnum);
++ rb_erase(&e->u.rb, &ubi->used);
++ } else {
++ int err;
++
++ err = prot_queue_del(ubi, e->pnum);
++ if (err) {
++ ubi_err("PEB %d not found", pnum);
++ ubi_ro_mode(ubi);
++ spin_unlock(&ubi->wl_lock);
++ return err;
++ }
++ }
+
+ wl_tree_add(e, &ubi->scrub);
+ spin_unlock(&ubi->wl_lock);
+@@ -1249,17 +1218,32 @@
+ */
+ int ubi_wl_flush(struct ubi_device *ubi)
+ {
+- int err, pending_count;
++ int err;
+
+- pending_count = ubi->works_count;
++ /*
++ * Erase while the pending works queue is not empty, but not more than
++ * the number of currently pending works.
++ */
++ dbg_wl("flush (%d pending works)", ubi->works_count);
++ while (ubi->works_count) {
++ err = do_work(ubi);
++ if (err)
++ return err;
++ }
+
+- dbg_wl("flush (%d pending works)", pending_count);
++ /*
++ * Make sure all the works which have been done in parallel are
++ * finished.
++ */
++ down_write(&ubi->work_sem);
++ up_write(&ubi->work_sem);
+
+ /*
+- * Erase while the pending works queue is not empty, but not more then
+- * the number of currently pending works.
++ * And in case last was the WL worker and it canceled the LEB
++ * movement, flush again.
+ */
+- while (pending_count-- > 0) {
++ while (ubi->works_count) {
++ dbg_wl("flush more (%d pending works)", ubi->works_count);
+ err = do_work(ubi);
+ if (err)
+ return err;
+@@ -1284,17 +1268,17 @@
+ else if (rb->rb_right)
+ rb = rb->rb_right;
+ else {
+- e = rb_entry(rb, struct ubi_wl_entry, rb);
++ e = rb_entry(rb, struct ubi_wl_entry, u.rb);
+
+ rb = rb_parent(rb);
+ if (rb) {
+- if (rb->rb_left == &e->rb)
++ if (rb->rb_left == &e->u.rb)
+ rb->rb_left = NULL;
+ else
+ rb->rb_right = NULL;
+ }
+
+- kmem_cache_free(wl_entries_slab, e);
++ kmem_cache_free(ubi_wl_entry_slab, e);
+ }
+ }
+ }
+@@ -1303,7 +1287,7 @@
+ * ubi_thread - UBI background thread.
+ * @u: the UBI device description object pointer
+ */
+-static int ubi_thread(void *u)
++int ubi_thread(void *u)
+ {
+ int failures = 0;
+ struct ubi_device *ubi = u;
+@@ -1316,7 +1300,7 @@
+ int err;
+
+ if (kthread_should_stop())
+- goto out;
++ break;
+
+ if (try_to_freeze())
+ continue;
+@@ -1343,7 +1327,8 @@
+ ubi_msg("%s: %d consecutive failures",
+ ubi->bgt_name, WL_MAX_FAILURES);
+ ubi_ro_mode(ubi);
+- break;
++ ubi->thread_enabled = 0;
++ continue;
+ }
+ } else
+ failures = 0;
+@@ -1351,7 +1336,6 @@
+ cond_resched();
+ }
+
+-out:
+ dbg_wl("background thread \"%s\" is killed", ubi->bgt_name);
+ return 0;
+ }
+@@ -1374,8 +1358,7 @@
+ }
+
+ /**
+- * ubi_wl_init_scan - initialize the wear-leveling unit using scanning
+- * information.
++ * ubi_wl_init_scan - initialize the WL sub-system using scanning information.
+ * @ubi: UBI device description object
+ * @si: scanning information
+ *
+@@ -1384,46 +1367,34 @@
+ */
+ int ubi_wl_init_scan(struct ubi_device *ubi, struct ubi_scan_info *si)
+ {
+- int err;
++ int err, i;
+ struct rb_node *rb1, *rb2;
+ struct ubi_scan_volume *sv;
+ struct ubi_scan_leb *seb, *tmp;
+ struct ubi_wl_entry *e;
+
+-
+ ubi->used = ubi->free = ubi->scrub = RB_ROOT;
+- ubi->prot.pnum = ubi->prot.aec = RB_ROOT;
+ spin_lock_init(&ubi->wl_lock);
++ mutex_init(&ubi->move_mutex);
++ init_rwsem(&ubi->work_sem);
+ ubi->max_ec = si->max_ec;
+ INIT_LIST_HEAD(&ubi->works);
+
+ sprintf(ubi->bgt_name, UBI_BGT_NAME_PATTERN, ubi->ubi_num);
+
+- ubi->bgt_thread = kthread_create(ubi_thread, ubi, ubi->bgt_name);
+- if (IS_ERR(ubi->bgt_thread)) {
+- err = PTR_ERR(ubi->bgt_thread);
+- ubi_err("cannot spawn \"%s\", error %d", ubi->bgt_name,
+- err);
+- return err;
+- }
+-
+- if (ubi_devices_cnt == 0) {
+- wl_entries_slab = kmem_cache_create("ubi_wl_entry_slab",
+- sizeof(struct ubi_wl_entry),
+- 0, 0, NULL);
+- if (!wl_entries_slab)
+- return -ENOMEM;
+- }
+-
+ err = -ENOMEM;
+ ubi->lookuptbl = kzalloc(ubi->peb_count * sizeof(void *), GFP_KERNEL);
+ if (!ubi->lookuptbl)
+- goto out_free;
++ return err;
++
++ for (i = 0; i < UBI_PROT_QUEUE_LEN; i++)
++ INIT_LIST_HEAD(&ubi->pq[i]);
++ ubi->pq_head = 0;
+
+ list_for_each_entry_safe(seb, tmp, &si->erase, u.list) {
+ cond_resched();
+
+- e = kmem_cache_alloc(wl_entries_slab, GFP_KERNEL);
++ e = kmem_cache_alloc(ubi_wl_entry_slab, GFP_KERNEL);
+ if (!e)
+ goto out_free;
+
+@@ -1431,7 +1402,7 @@
+ e->ec = seb->ec;
+ ubi->lookuptbl[e->pnum] = e;
+ if (schedule_erase(ubi, e, 0)) {
+- kmem_cache_free(wl_entries_slab, e);
++ kmem_cache_free(ubi_wl_entry_slab, e);
+ goto out_free;
+ }
+ }
+@@ -1439,7 +1410,7 @@
+ list_for_each_entry(seb, &si->free, u.list) {
+ cond_resched();
+
+- e = kmem_cache_alloc(wl_entries_slab, GFP_KERNEL);
++ e = kmem_cache_alloc(ubi_wl_entry_slab, GFP_KERNEL);
+ if (!e)
+ goto out_free;
+
+@@ -1453,7 +1424,7 @@
+ list_for_each_entry(seb, &si->corr, u.list) {
+ cond_resched();
+
+- e = kmem_cache_alloc(wl_entries_slab, GFP_KERNEL);
++ e = kmem_cache_alloc(ubi_wl_entry_slab, GFP_KERNEL);
+ if (!e)
+ goto out_free;
+
+@@ -1461,7 +1432,7 @@
+ e->ec = seb->ec;
+ ubi->lookuptbl[e->pnum] = e;
+ if (schedule_erase(ubi, e, 0)) {
+- kmem_cache_free(wl_entries_slab, e);
++ kmem_cache_free(ubi_wl_entry_slab, e);
+ goto out_free;
+ }
+ }
+@@ -1470,7 +1441,7 @@
+ ubi_rb_for_each_entry(rb2, seb, &sv->root, u.rb) {
+ cond_resched();
+
+- e = kmem_cache_alloc(wl_entries_slab, GFP_KERNEL);
++ e = kmem_cache_alloc(ubi_wl_entry_slab, GFP_KERNEL);
+ if (!e)
+ goto out_free;
+
+@@ -1510,70 +1481,45 @@
+ tree_destroy(&ubi->free);
+ tree_destroy(&ubi->scrub);
+ kfree(ubi->lookuptbl);
+- if (ubi_devices_cnt == 0)
+- kmem_cache_destroy(wl_entries_slab);
+ return err;
+ }
+
+ /**
+- * protection_trees_destroy - destroy the protection RB-trees.
++ * protection_queue_destroy - destroy the protection queue.
+ * @ubi: UBI device description object
+ */
+-static void protection_trees_destroy(struct ubi_device *ubi)
++static void protection_queue_destroy(struct ubi_device *ubi)
+ {
+- struct rb_node *rb;
+- struct ubi_wl_prot_entry *pe;
+-
+- rb = ubi->prot.aec.rb_node;
+- while (rb) {
+- if (rb->rb_left)
+- rb = rb->rb_left;
+- else if (rb->rb_right)
+- rb = rb->rb_right;
+- else {
+- pe = rb_entry(rb, struct ubi_wl_prot_entry, rb_aec);
+-
+- rb = rb_parent(rb);
+- if (rb) {
+- if (rb->rb_left == &pe->rb_aec)
+- rb->rb_left = NULL;
+- else
+- rb->rb_right = NULL;
+- }
++ int i;
++ struct ubi_wl_entry *e, *tmp;
+
+- kmem_cache_free(wl_entries_slab, pe->e);
+- kfree(pe);
++ for (i = 0; i < UBI_PROT_QUEUE_LEN; ++i) {
++ list_for_each_entry_safe(e, tmp, &ubi->pq[i], u.list) {
++ list_del(&e->u.list);
++ kmem_cache_free(ubi_wl_entry_slab, e);
+ }
+ }
+ }
+
+ /**
+- * ubi_wl_close - close the wear-leveling unit.
++ * ubi_wl_close - close the wear-leveling sub-system.
+ * @ubi: UBI device description object
+ */
+ void ubi_wl_close(struct ubi_device *ubi)
+ {
+- dbg_wl("disable \"%s\"", ubi->bgt_name);
+- if (ubi->bgt_thread)
+- kthread_stop(ubi->bgt_thread);
+-
+- dbg_wl("close the UBI wear-leveling unit");
+-
++ dbg_wl("close the WL sub-system");
+ cancel_pending(ubi);
+- protection_trees_destroy(ubi);
++ protection_queue_destroy(ubi);
+ tree_destroy(&ubi->used);
+ tree_destroy(&ubi->free);
+ tree_destroy(&ubi->scrub);
+ kfree(ubi->lookuptbl);
+- if (ubi_devices_cnt == 1)
+- kmem_cache_destroy(wl_entries_slab);
+ }
+
+ #ifdef CONFIG_MTD_UBI_DEBUG_PARANOID
+
+ /**
+- * paranoid_check_ec - make sure that the erase counter of a physical eraseblock
+- * is correct.
++ * paranoid_check_ec - make sure that the erase counter of a PEB is correct.
+ * @ubi: UBI device description object
+ * @pnum: the physical eraseblock number to check
+ * @ec: the erase counter to check
+@@ -1614,13 +1560,12 @@
+ }
+
+ /**
+- * paranoid_check_in_wl_tree - make sure that a wear-leveling entry is present
+- * in a WL RB-tree.
++ * paranoid_check_in_wl_tree - check that wear-leveling entry is in WL RB-tree.
+ * @e: the wear-leveling entry to check
+ * @root: the root of the tree
+ *
+- * This function returns zero if @e is in the @root RB-tree and %1 if it
+- * is not.
++ * This function returns zero if @e is in the @root RB-tree and %1 if it is
++ * not.
+ */
+ static int paranoid_check_in_wl_tree(struct ubi_wl_entry *e,
+ struct rb_root *root)
+@@ -1634,4 +1579,27 @@
+ return 1;
+ }
+
++/**
++ * paranoid_check_in_pq - check if wear-leveling entry is in the protection
++ * queue.
++ * @ubi: UBI device description object
++ * @e: the wear-leveling entry to check
++ *
++ * This function returns zero if @e is in @ubi->pq and %1 if it is not.
++ */
++static int paranoid_check_in_pq(struct ubi_device *ubi, struct ubi_wl_entry *e)
++{
++ struct ubi_wl_entry *p;
++ int i;
++
++ for (i = 0; i < UBI_PROT_QUEUE_LEN; ++i)
++ list_for_each_entry(p, &ubi->pq[i], u.list)
++ if (p == e)
++ return 0;
++
++ ubi_err("paranoid check failed for PEB %d, EC %d, Protect queue",
++ e->pnum, e->ec);
++ ubi_dbg_dump_stack();
++ return 1;
++}
+ #endif /* CONFIG_MTD_UBI_DEBUG_PARANOID */
+diff -Nurd linux-2.6.24/fs/Kconfig ubifs-v2.6.24/fs/Kconfig
+--- linux-2.6.24/fs/Kconfig 2008-01-25 00:58:37.000000000 +0200
++++ ubifs-v2.6.24/fs/Kconfig 2009-04-07 17:14:47.000000000 +0200
+@@ -1385,6 +1385,9 @@
+
+ endchoice
+
++# UBIFS File system configuration
++source "fs/ubifs/Kconfig"
++
+ config CRAMFS
+ tristate "Compressed ROM file system support (cramfs)"
+ depends on BLOCK
+diff -Nurd linux-2.6.24/fs/Makefile ubifs-v2.6.24/fs/Makefile
+--- linux-2.6.24/fs/Makefile 2008-01-25 00:58:37.000000000 +0200
++++ ubifs-v2.6.24/fs/Makefile 2009-04-07 17:14:47.000000000 +0200
+@@ -99,6 +99,7 @@
+ obj-$(CONFIG_UFS_FS) += ufs/
+ obj-$(CONFIG_EFS_FS) += efs/
+ obj-$(CONFIG_JFFS2_FS) += jffs2/
++obj-$(CONFIG_UBIFS_FS) += ubifs/
+ obj-$(CONFIG_AFFS_FS) += affs/
+ obj-$(CONFIG_ROMFS_FS) += romfs/
+ obj-$(CONFIG_QNX4FS_FS) += qnx4/
+diff -Nurd linux-2.6.24/fs/fs-writeback.c ubifs-v2.6.24/fs/fs-writeback.c
+--- linux-2.6.24/fs/fs-writeback.c 2008-01-25 00:58:37.000000000 +0200
++++ ubifs-v2.6.24/fs/fs-writeback.c 2009-04-07 17:14:47.000000000 +0200
+@@ -386,8 +386,6 @@
+ * WB_SYNC_HOLD is a hack for sys_sync(): reattach the inode to sb->s_dirty so
+ * that it can be located for waiting on in __writeback_single_inode().
+ *
+- * Called under inode_lock.
+- *
+ * If `bdi' is non-zero then we're being asked to writeback a specific queue.
+ * This function assumes that the blockdev superblock's inodes are backed by
+ * a variety of queues, so all inodes are searched. For other superblocks,
+@@ -403,11 +401,12 @@
+ * on the writer throttling path, and we get decent balancing between many
+ * throttled threads: we don't want them all piling up on inode_sync_wait.
+ */
+-static void
+-sync_sb_inodes(struct super_block *sb, struct writeback_control *wbc)
++void generic_sync_sb_inodes(struct super_block *sb,
++ struct writeback_control *wbc)
+ {
+ const unsigned long start = jiffies; /* livelock avoidance */
+
++ spin_lock(&inode_lock);
+ if (!wbc->for_kupdate || list_empty(&sb->s_io))
+ queue_io(sb, wbc->older_than_this);
+
+@@ -482,8 +481,16 @@
+ if (wbc->nr_to_write <= 0)
+ break;
+ }
++ spin_unlock(&inode_lock);
+ return; /* Leave any unwritten inodes on s_io */
+ }
++EXPORT_SYMBOL_GPL(generic_sync_sb_inodes);
++
++static void sync_sb_inodes(struct super_block *sb,
++ struct writeback_control *wbc)
++{
++ generic_sync_sb_inodes(sb, wbc);
++}
+
+ /*
+ * Start writeback of dirty pagecache data against all unlocked inodes.
+@@ -524,11 +531,8 @@
+ * be unmounted by the time it is released.
+ */
+ if (down_read_trylock(&sb->s_umount)) {
+- if (sb->s_root) {
+- spin_lock(&inode_lock);
++ if (sb->s_root)
+ sync_sb_inodes(sb, wbc);
+- spin_unlock(&inode_lock);
+- }
+ up_read(&sb->s_umount);
+ }
+ spin_lock(&sb_lock);
+@@ -566,9 +570,7 @@
+ (inodes_stat.nr_inodes - inodes_stat.nr_unused) +
+ nr_dirty + nr_unstable;
+ wbc.nr_to_write += wbc.nr_to_write / 2; /* Bit more for luck */
+- spin_lock(&inode_lock);
+ sync_sb_inodes(sb, &wbc);
+- spin_unlock(&inode_lock);
+ }
+
+ /*
+diff -Nurd linux-2.6.24/fs/ubifs/Kconfig ubifs-v2.6.24/fs/ubifs/Kconfig
+--- linux-2.6.24/fs/ubifs/Kconfig 1970-01-01 02:00:00.000000000 +0200
++++ ubifs-v2.6.24/fs/ubifs/Kconfig 2009-04-07 17:14:47.000000000 +0200
+@@ -0,0 +1,72 @@
++config UBIFS_FS
++ tristate "UBIFS file system support"
++ select CRC16
++ select CRC32
++ select CRYPTO if UBIFS_FS_ADVANCED_COMPR
++ select CRYPTO if UBIFS_FS_LZO
++ select CRYPTO if UBIFS_FS_ZLIB
++ select CRYPTO_LZO if UBIFS_FS_LZO
++ select CRYPTO_DEFLATE if UBIFS_FS_ZLIB
++ depends on MTD_UBI
++ help
++ UBIFS is a file system for flash devices which works on top of UBI.
++
++config UBIFS_FS_XATTR
++ bool "Extended attributes support"
++ depends on UBIFS_FS
++ help
++ This option enables support of extended attributes.
++
++config UBIFS_FS_ADVANCED_COMPR
++ bool "Advanced compression options"
++ depends on UBIFS_FS
++ help
++ This option allows to explicitly choose which compressions, if any,
++ are enabled in UBIFS. Removing compressors means inbility to read
++ existing file systems.
++
++ If unsure, say 'N'.
++
++config UBIFS_FS_LZO
++ bool "LZO compression support" if UBIFS_FS_ADVANCED_COMPR
++ depends on UBIFS_FS
++ default y
++ help
++ LZO compressor is generally faster then zlib but compresses worse.
++ Say 'Y' if unsure.
++
++config UBIFS_FS_ZLIB
++ bool "ZLIB compression support" if UBIFS_FS_ADVANCED_COMPR
++ depends on UBIFS_FS
++ default y
++ help
++ Zlib copresses better then LZO but it is slower. Say 'Y' if unsure.
++
++# Debugging-related stuff
++config UBIFS_FS_DEBUG
++ bool "Enable debugging"
++ depends on UBIFS_FS
++ select DEBUG_FS
++ select KALLSYMS_ALL
++ help
++ This option enables UBIFS debugging.
++
++config UBIFS_FS_DEBUG_MSG_LVL
++ int "Default message level (0 = no extra messages, 3 = lots)"
++ depends on UBIFS_FS_DEBUG
++ default "0"
++ help
++ This controls the amount of debugging messages produced by UBIFS.
++ If reporting bugs, please try to have available a full dump of the
++ messages at level 1 while the misbehaviour was occurring. Level 2
++ may become necessary if level 1 messages were not enough to find the
++ bug. Generally Level 3 should be avoided.
++
++config UBIFS_FS_DEBUG_CHKS
++ bool "Enable extra checks"
++ depends on UBIFS_FS_DEBUG
++ help
++ If extra checks are enabled UBIFS will check the consistency of its
++ internal data structures during operation. However, UBIFS performance
++ is dramatically slower when this option is selected especially if the
++ file system is large.
+diff -Nurd linux-2.6.24/fs/ubifs/Makefile ubifs-v2.6.24/fs/ubifs/Makefile
+--- linux-2.6.24/fs/ubifs/Makefile 1970-01-01 02:00:00.000000000 +0200
++++ ubifs-v2.6.24/fs/ubifs/Makefile 2009-04-07 17:14:47.000000000 +0200
+@@ -0,0 +1,9 @@
++obj-$(CONFIG_UBIFS_FS) += ubifs.o
++
++ubifs-y += shrinker.o journal.o file.o dir.o super.o sb.o io.o
++ubifs-y += tnc.o master.o scan.o replay.o log.o commit.o gc.o orphan.o
++ubifs-y += budget.o find.o tnc_commit.o compress.o lpt.o lprops.o
++ubifs-y += recovery.o ioctl.o lpt_commit.o tnc_misc.o
++
++ubifs-$(CONFIG_UBIFS_FS_DEBUG) += debug.o
++ubifs-$(CONFIG_UBIFS_FS_XATTR) += xattr.o
+diff -Nurd linux-2.6.24/fs/ubifs/budget.c ubifs-v2.6.24/fs/ubifs/budget.c
+--- linux-2.6.24/fs/ubifs/budget.c 1970-01-01 02:00:00.000000000 +0200
++++ ubifs-v2.6.24/fs/ubifs/budget.c 2009-04-07 17:14:47.000000000 +0200
+@@ -0,0 +1,755 @@
++/*
++ * This file is part of UBIFS.
++ *
++ * Copyright (C) 2006-2008 Nokia Corporation.
++ *
++ * This program is free software; you can redistribute it and/or modify it
++ * under the terms of the GNU General Public License version 2 as published by
++ * the Free Software Foundation.
++ *
++ * 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, write to the Free Software Foundation, Inc., 51
++ * Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
++ *
++ * Authors: Adrian Hunter
++ * Artem Bityutskiy (Битюцкий Ðртём)
++ */
++
++/*
++ * This file implements the budgeting sub-system which is responsible for UBIFS
++ * space management.
++ *
++ * Factors such as compression, wasted space at the ends of LEBs, space in other
++ * journal heads, the effect of updates on the index, and so on, make it
++ * impossible to accurately predict the amount of space needed. Consequently
++ * approximations are used.
++ */
++
++#include "ubifs.h"
++#include <linux/writeback.h>
++
++/*
++ * When pessimistic budget calculations say that there is no enough space,
++ * UBIFS starts writing back dirty inodes and pages, doing garbage collection,
++ * or committing. The below constant defines maximum number of times UBIFS
++ * repeats the operations.
++ */
++#define MAX_MKSPC_RETRIES 3
++
++/*
++ * The below constant defines amount of dirty pages which should be written
++ * back at when trying to shrink the liability.
++ */
++#define NR_TO_WRITE 16
++
++/**
++ * shrink_liability - write-back some dirty pages/inodes.
++ * @c: UBIFS file-system description object
++ * @nr_to_write: how many dirty pages to write-back
++ *
++ * This function shrinks UBIFS liability by means of writing back some amount
++ * of dirty inodes and their pages. Returns the amount of pages which were
++ * written back. The returned value does not include dirty inodes which were
++ * synchronized.
++ *
++ * Note, this function synchronizes even VFS inodes which are locked
++ * (@i_mutex) by the caller of the budgeting function, because write-back does
++ * not touch @i_mutex.
++ */
++static int shrink_liability(struct ubifs_info *c, int nr_to_write)
++{
++ int nr_written;
++ struct writeback_control wbc = {
++ .sync_mode = WB_SYNC_NONE,
++ .range_end = LLONG_MAX,
++ .nr_to_write = nr_to_write,
++ };
++
++ generic_sync_sb_inodes(c->vfs_sb, &wbc);
++ nr_written = nr_to_write - wbc.nr_to_write;
++
++ if (!nr_written) {
++ /*
++ * Re-try again but wait on pages/inodes which are being
++ * written-back concurrently (e.g., by pdflush).
++ */
++ memset(&wbc, 0, sizeof(struct writeback_control));
++ wbc.sync_mode = WB_SYNC_ALL;
++ wbc.range_end = LLONG_MAX;
++ wbc.nr_to_write = nr_to_write;
++ generic_sync_sb_inodes(c->vfs_sb, &wbc);
++ nr_written = nr_to_write - wbc.nr_to_write;
++ }
++
++ dbg_budg("%d pages were written back", nr_written);
++ return nr_written;
++}
++
++
++/**
++ * run_gc - run garbage collector.
++ * @c: UBIFS file-system description object
++ *
++ * This function runs garbage collector to make some more free space. Returns
++ * zero if a free LEB has been produced, %-EAGAIN if commit is required, and a
++ * negative error code in case of failure.
++ */
++static int run_gc(struct ubifs_info *c)
++{
++ int err, lnum;
++
++ /* Make some free space by garbage-collecting dirty space */
++ down_read(&c->commit_sem);
++ lnum = ubifs_garbage_collect(c, 1);
++ up_read(&c->commit_sem);
++ if (lnum < 0)
++ return lnum;
++
++ /* GC freed one LEB, return it to lprops */
++ dbg_budg("GC freed LEB %d", lnum);
++ err = ubifs_return_leb(c, lnum);
++ if (err)
++ return err;
++ return 0;
++}
++
++/**
++ * get_liability - calculate current liability.
++ * @c: UBIFS file-system description object
++ *
++ * This function calculates and returns current UBIFS liability, i.e. the
++ * amount of bytes UBIFS has "promised" to write to the media.
++ */
++static long long get_liability(struct ubifs_info *c)
++{
++ long long liab;
++
++ spin_lock(&c->space_lock);
++ liab = c->budg_idx_growth + c->budg_data_growth + c->budg_dd_growth;
++ spin_unlock(&c->space_lock);
++ return liab;
++}
++
++/**
++ * make_free_space - make more free space on the file-system.
++ * @c: UBIFS file-system description object
++ *
++ * This function is called when an operation cannot be budgeted because there
++ * is supposedly no free space. But in most cases there is some free space:
++ * o budgeting is pessimistic, so it always budgets more then it is actually
++ * needed, so shrinking the liability is one way to make free space - the
++ * cached data will take less space then it was budgeted for;
++ * o GC may turn some dark space into free space (budgeting treats dark space
++ * as not available);
++ * o commit may free some LEB, i.e., turn freeable LEBs into free LEBs.
++ *
++ * So this function tries to do the above. Returns %-EAGAIN if some free space
++ * was presumably made and the caller has to re-try budgeting the operation.
++ * Returns %-ENOSPC if it couldn't do more free space, and other negative error
++ * codes on failures.
++ */
++static int make_free_space(struct ubifs_info *c)
++{
++ int err, retries = 0;
++ long long liab1, liab2;
++
++ do {
++ liab1 = get_liability(c);
++ /*
++ * We probably have some dirty pages or inodes (liability), try
++ * to write them back.
++ */
++ dbg_budg("liability %lld, run write-back", liab1);
++ shrink_liability(c, NR_TO_WRITE);
++
++ liab2 = get_liability(c);
++ if (liab2 < liab1)
++ return -EAGAIN;
++
++ dbg_budg("new liability %lld (not shrinked)", liab2);
++
++ /* Liability did not shrink again, try GC */
++ dbg_budg("Run GC");
++ err = run_gc(c);
++ if (!err)
++ return -EAGAIN;
++
++ if (err != -EAGAIN && err != -ENOSPC)
++ /* Some real error happened */
++ return err;
++
++ dbg_budg("Run commit (retries %d)", retries);
++ err = ubifs_run_commit(c);
++ if (err)
++ return err;
++ } while (retries++ < MAX_MKSPC_RETRIES);
++
++ return -ENOSPC;
++}
++
++/**
++ * ubifs_calc_min_idx_lebs - calculate amount of LEBs for the index.
++ * @c: UBIFS file-system description object
++ *
++ * This function calculates and returns the number of LEBs which should be kept
++ * for index usage.
++ */
++int ubifs_calc_min_idx_lebs(struct ubifs_info *c)
++{
++ int idx_lebs;
++ long long idx_size;
++
++ idx_size = c->old_idx_sz + c->budg_idx_growth + c->budg_uncommitted_idx;
++ /* And make sure we have thrice the index size of space reserved */
++ idx_size += idx_size << 1;
++ /*
++ * We do not maintain 'old_idx_size' as 'old_idx_lebs'/'old_idx_bytes'
++ * pair, nor similarly the two variables for the new index size, so we
++ * have to do this costly 64-bit division on fast-path.
++ */
++ idx_lebs = div_u64(idx_size + c->idx_leb_size - 1, c->idx_leb_size);
++ /*
++ * The index head is not available for the in-the-gaps method, so add an
++ * extra LEB to compensate.
++ */
++ idx_lebs += 1;
++ if (idx_lebs < MIN_INDEX_LEBS)
++ idx_lebs = MIN_INDEX_LEBS;
++ return idx_lebs;
++}
++
++/**
++ * ubifs_calc_available - calculate available FS space.
++ * @c: UBIFS file-system description object
++ * @min_idx_lebs: minimum number of LEBs reserved for the index
++ *
++ * This function calculates and returns amount of FS space available for use.
++ */
++long long ubifs_calc_available(const struct ubifs_info *c, int min_idx_lebs)
++{
++ int subtract_lebs;
++ long long available;
++
++ available = c->main_bytes - c->lst.total_used;
++
++ /*
++ * Now 'available' contains theoretically available flash space
++ * assuming there is no index, so we have to subtract the space which
++ * is reserved for the index.
++ */
++ subtract_lebs = min_idx_lebs;
++
++ /* Take into account that GC reserves one LEB for its own needs */
++ subtract_lebs += 1;
++
++ /*
++ * The GC journal head LEB is not really accessible. And since
++ * different write types go to different heads, we may count only on
++ * one head's space.
++ */
++ subtract_lebs += c->jhead_cnt - 1;
++
++ /* We also reserve one LEB for deletions, which bypass budgeting */
++ subtract_lebs += 1;
++
++ available -= (long long)subtract_lebs * c->leb_size;
++
++ /* Subtract the dead space which is not available for use */
++ available -= c->lst.total_dead;
++
++ /*
++ * Subtract dark space, which might or might not be usable - it depends
++ * on the data which we have on the media and which will be written. If
++ * this is a lot of uncompressed or not-compressible data, the dark
++ * space cannot be used.
++ */
++ available -= c->lst.total_dark;
++
++ /*
++ * However, there is more dark space. The index may be bigger than
++ * @min_idx_lebs. Those extra LEBs are assumed to be available, but
++ * their dark space is not included in total_dark, so it is subtracted
++ * here.
++ */
++ if (c->lst.idx_lebs > min_idx_lebs) {
++ subtract_lebs = c->lst.idx_lebs - min_idx_lebs;
++ available -= subtract_lebs * c->dark_wm;
++ }
++
++ /* The calculations are rough and may end up with a negative number */
++ return available > 0 ? available : 0;
++}
++
++/**
++ * can_use_rp - check whether the user is allowed to use reserved pool.
++ * @c: UBIFS file-system description object
++ *
++ * UBIFS has so-called "reserved pool" which is flash space reserved
++ * for the superuser and for uses whose UID/GID is recorded in UBIFS superblock.
++ * This function checks whether current user is allowed to use reserved pool.
++ * Returns %1 current user is allowed to use reserved pool and %0 otherwise.
++ */
++static int can_use_rp(struct ubifs_info *c)
++{
++ if (current->fsuid == c->rp_uid || capable(CAP_SYS_RESOURCE) ||
++ (c->rp_gid != 0 && in_group_p(c->rp_gid)))
++ return 1;
++ return 0;
++}
++
++/**
++ * do_budget_space - reserve flash space for index and data growth.
++ * @c: UBIFS file-system description object
++ *
++ * This function makes sure UBIFS has enough free LEBs for index growth and
++ * data.
++ *
++ * When budgeting index space, UBIFS reserves thrice as many LEBs as the index
++ * would take if it was consolidated and written to the flash. This guarantees
++ * that the "in-the-gaps" commit method always succeeds and UBIFS will always
++ * be able to commit dirty index. So this function basically adds amount of
++ * budgeted index space to the size of the current index, multiplies this by 3,
++ * and makes sure this does not exceed the amount of free LEBs.
++ *
++ * Notes about @c->min_idx_lebs and @c->lst.idx_lebs variables:
++ * o @c->lst.idx_lebs is the number of LEBs the index currently uses. It might
++ * be large, because UBIFS does not do any index consolidation as long as
++ * there is free space. IOW, the index may take a lot of LEBs, but the LEBs
++ * will contain a lot of dirt.
++ * o @c->min_idx_lebs is the number of LEBS the index presumably takes. IOW,
++ * the index may be consolidated to take up to @c->min_idx_lebs LEBs.
++ *
++ * This function returns zero in case of success, and %-ENOSPC in case of
++ * failure.
++ */
++static int do_budget_space(struct ubifs_info *c)
++{
++ long long outstanding, available;
++ int lebs, rsvd_idx_lebs, min_idx_lebs;
++
++ /* First budget index space */
++ min_idx_lebs = ubifs_calc_min_idx_lebs(c);
++
++ /* Now 'min_idx_lebs' contains number of LEBs to reserve */
++ if (min_idx_lebs > c->lst.idx_lebs)
++ rsvd_idx_lebs = min_idx_lebs - c->lst.idx_lebs;
++ else
++ rsvd_idx_lebs = 0;
++
++ /*
++ * The number of LEBs that are available to be used by the index is:
++ *
++ * @c->lst.empty_lebs + @c->freeable_cnt + @c->idx_gc_cnt -
++ * @c->lst.taken_empty_lebs
++ *
++ * @c->lst.empty_lebs are available because they are empty.
++ * @c->freeable_cnt are available because they contain only free and
++ * dirty space, @c->idx_gc_cnt are available because they are index
++ * LEBs that have been garbage collected and are awaiting the commit
++ * before they can be used. And the in-the-gaps method will grab these
++ * if it needs them. @c->lst.taken_empty_lebs are empty LEBs that have
++ * already been allocated for some purpose.
++ *
++ * Note, @c->idx_gc_cnt is included to both @c->lst.empty_lebs (because
++ * these LEBs are empty) and to @c->lst.taken_empty_lebs (because they
++ * are taken until after the commit).
++ *
++ * Note, @c->lst.taken_empty_lebs may temporarily be higher by one
++ * because of the way we serialize LEB allocations and budgeting. See a
++ * comment in 'ubifs_find_free_space()'.
++ */
++ lebs = c->lst.empty_lebs + c->freeable_cnt + c->idx_gc_cnt -
++ c->lst.taken_empty_lebs;
++ if (unlikely(rsvd_idx_lebs > lebs)) {
++ dbg_budg("out of indexing space: min_idx_lebs %d (old %d), "
++ "rsvd_idx_lebs %d", min_idx_lebs, c->min_idx_lebs,
++ rsvd_idx_lebs);
++ return -ENOSPC;
++ }
++
++ available = ubifs_calc_available(c, min_idx_lebs);
++ outstanding = c->budg_data_growth + c->budg_dd_growth;
++
++ if (unlikely(available < outstanding)) {
++ dbg_budg("out of data space: available %lld, outstanding %lld",
++ available, outstanding);
++ return -ENOSPC;
++ }
++
++ if (available - outstanding <= c->rp_size && !can_use_rp(c))
++ return -ENOSPC;
++
++ c->min_idx_lebs = min_idx_lebs;
++ return 0;
++}
++
++/**
++ * calc_idx_growth - calculate approximate index growth from budgeting request.
++ * @c: UBIFS file-system description object
++ * @req: budgeting request
++ *
++ * For now we assume each new node adds one znode. But this is rather poor
++ * approximation, though.
++ */
++static int calc_idx_growth(const struct ubifs_info *c,
++ const struct ubifs_budget_req *req)
++{
++ int znodes;
++
++ znodes = req->new_ino + (req->new_page << UBIFS_BLOCKS_PER_PAGE_SHIFT) +
++ req->new_dent;
++ return znodes * c->max_idx_node_sz;
++}
++
++/**
++ * calc_data_growth - calculate approximate amount of new data from budgeting
++ * request.
++ * @c: UBIFS file-system description object
++ * @req: budgeting request
++ */
++static int calc_data_growth(const struct ubifs_info *c,
++ const struct ubifs_budget_req *req)
++{
++ int data_growth;
++
++ data_growth = req->new_ino ? c->inode_budget : 0;
++ if (req->new_page)
++ data_growth += c->page_budget;
++ if (req->new_dent)
++ data_growth += c->dent_budget;
++ data_growth += req->new_ino_d;
++ return data_growth;
++}
++
++/**
++ * calc_dd_growth - calculate approximate amount of data which makes other data
++ * dirty from budgeting request.
++ * @c: UBIFS file-system description object
++ * @req: budgeting request
++ */
++static int calc_dd_growth(const struct ubifs_info *c,
++ const struct ubifs_budget_req *req)
++{
++ int dd_growth;
++
++ dd_growth = req->dirtied_page ? c->page_budget : 0;
++
++ if (req->dirtied_ino)
++ dd_growth += c->inode_budget << (req->dirtied_ino - 1);
++ if (req->mod_dent)
++ dd_growth += c->dent_budget;
++ dd_growth += req->dirtied_ino_d;
++ return dd_growth;
++}
++
++/**
++ * ubifs_budget_space - ensure there is enough space to complete an operation.
++ * @c: UBIFS file-system description object
++ * @req: budget request
++ *
++ * This function allocates budget for an operation. It uses pessimistic
++ * approximation of how much flash space the operation needs. The goal of this
++ * function is to make sure UBIFS always has flash space to flush all dirty
++ * pages, dirty inodes, and dirty znodes (liability). This function may force
++ * commit, garbage-collection or write-back. Returns zero in case of success,
++ * %-ENOSPC if there is no free space and other negative error codes in case of
++ * failures.
++ */
++int ubifs_budget_space(struct ubifs_info *c, struct ubifs_budget_req *req)
++{
++ int uninitialized_var(cmt_retries), uninitialized_var(wb_retries);
++ int err, idx_growth, data_growth, dd_growth, retried = 0;
++
++ ubifs_assert(req->new_page <= 1);
++ ubifs_assert(req->dirtied_page <= 1);
++ ubifs_assert(req->new_dent <= 1);
++ ubifs_assert(req->mod_dent <= 1);
++ ubifs_assert(req->new_ino <= 1);
++ ubifs_assert(req->new_ino_d <= UBIFS_MAX_INO_DATA);
++ ubifs_assert(req->dirtied_ino <= 4);
++ ubifs_assert(req->dirtied_ino_d <= UBIFS_MAX_INO_DATA * 4);
++ ubifs_assert(!(req->new_ino_d & 7));
++ ubifs_assert(!(req->dirtied_ino_d & 7));
++
++ data_growth = calc_data_growth(c, req);
++ dd_growth = calc_dd_growth(c, req);
++ if (!data_growth && !dd_growth)
++ return 0;
++ idx_growth = calc_idx_growth(c, req);
++
++again:
++ spin_lock(&c->space_lock);
++ ubifs_assert(c->budg_idx_growth >= 0);
++ ubifs_assert(c->budg_data_growth >= 0);
++ ubifs_assert(c->budg_dd_growth >= 0);
++
++ if (unlikely(c->nospace) && (c->nospace_rp || !can_use_rp(c))) {
++ dbg_budg("no space");
++ spin_unlock(&c->space_lock);
++ return -ENOSPC;
++ }
++
++ c->budg_idx_growth += idx_growth;
++ c->budg_data_growth += data_growth;
++ c->budg_dd_growth += dd_growth;
++
++ err = do_budget_space(c);
++ if (likely(!err)) {
++ req->idx_growth = idx_growth;
++ req->data_growth = data_growth;
++ req->dd_growth = dd_growth;
++ spin_unlock(&c->space_lock);
++ return 0;
++ }
++
++ /* Restore the old values */
++ c->budg_idx_growth -= idx_growth;
++ c->budg_data_growth -= data_growth;
++ c->budg_dd_growth -= dd_growth;
++ spin_unlock(&c->space_lock);
++
++ if (req->fast) {
++ dbg_budg("no space for fast budgeting");
++ return err;
++ }
++
++ err = make_free_space(c);
++ cond_resched();
++ if (err == -EAGAIN) {
++ dbg_budg("try again");
++ goto again;
++ } else if (err == -ENOSPC) {
++ if (!retried) {
++ retried = 1;
++ dbg_budg("-ENOSPC, but anyway try once again");
++ goto again;
++ }
++ dbg_budg("FS is full, -ENOSPC");
++ c->nospace = 1;
++ if (can_use_rp(c) || c->rp_size == 0)
++ c->nospace_rp = 1;
++ smp_wmb();
++ } else
++ ubifs_err("cannot budget space, error %d", err);
++ return err;
++}
++
++/**
++ * ubifs_release_budget - release budgeted free space.
++ * @c: UBIFS file-system description object
++ * @req: budget request
++ *
++ * This function releases the space budgeted by 'ubifs_budget_space()'. Note,
++ * since the index changes (which were budgeted for in @req->idx_growth) will
++ * only be written to the media on commit, this function moves the index budget
++ * from @c->budg_idx_growth to @c->budg_uncommitted_idx. The latter will be
++ * zeroed by the commit operation.
++ */
++void ubifs_release_budget(struct ubifs_info *c, struct ubifs_budget_req *req)
++{
++ ubifs_assert(req->new_page <= 1);
++ ubifs_assert(req->dirtied_page <= 1);
++ ubifs_assert(req->new_dent <= 1);
++ ubifs_assert(req->mod_dent <= 1);
++ ubifs_assert(req->new_ino <= 1);
++ ubifs_assert(req->new_ino_d <= UBIFS_MAX_INO_DATA);
++ ubifs_assert(req->dirtied_ino <= 4);
++ ubifs_assert(req->dirtied_ino_d <= UBIFS_MAX_INO_DATA * 4);
++ ubifs_assert(!(req->new_ino_d & 7));
++ ubifs_assert(!(req->dirtied_ino_d & 7));
++ if (!req->recalculate) {
++ ubifs_assert(req->idx_growth >= 0);
++ ubifs_assert(req->data_growth >= 0);
++ ubifs_assert(req->dd_growth >= 0);
++ }
++
++ if (req->recalculate) {
++ req->data_growth = calc_data_growth(c, req);
++ req->dd_growth = calc_dd_growth(c, req);
++ req->idx_growth = calc_idx_growth(c, req);
++ }
++
++ if (!req->data_growth && !req->dd_growth)
++ return;
++
++ c->nospace = c->nospace_rp = 0;
++ smp_wmb();
++
++ spin_lock(&c->space_lock);
++ c->budg_idx_growth -= req->idx_growth;
++ c->budg_uncommitted_idx += req->idx_growth;
++ c->budg_data_growth -= req->data_growth;
++ c->budg_dd_growth -= req->dd_growth;
++ c->min_idx_lebs = ubifs_calc_min_idx_lebs(c);
++
++ ubifs_assert(c->budg_idx_growth >= 0);
++ ubifs_assert(c->budg_data_growth >= 0);
++ ubifs_assert(c->budg_dd_growth >= 0);
++ ubifs_assert(c->min_idx_lebs < c->main_lebs);
++ ubifs_assert(!(c->budg_idx_growth & 7));
++ ubifs_assert(!(c->budg_data_growth & 7));
++ ubifs_assert(!(c->budg_dd_growth & 7));
++ spin_unlock(&c->space_lock);
++}
++
++/**
++ * ubifs_convert_page_budget - convert budget of a new page.
++ * @c: UBIFS file-system description object
++ *
++ * This function converts budget which was allocated for a new page of data to
++ * the budget of changing an existing page of data. The latter is smaller then
++ * the former, so this function only does simple re-calculation and does not
++ * involve any write-back.
++ */
++void ubifs_convert_page_budget(struct ubifs_info *c)
++{
++ spin_lock(&c->space_lock);
++ /* Release the index growth reservation */
++ c->budg_idx_growth -= c->max_idx_node_sz << UBIFS_BLOCKS_PER_PAGE_SHIFT;
++ /* Release the data growth reservation */
++ c->budg_data_growth -= c->page_budget;
++ /* Increase the dirty data growth reservation instead */
++ c->budg_dd_growth += c->page_budget;
++ /* And re-calculate the indexing space reservation */
++ c->min_idx_lebs = ubifs_calc_min_idx_lebs(c);
++ spin_unlock(&c->space_lock);
++}
++
++/**
++ * ubifs_release_dirty_inode_budget - release dirty inode budget.
++ * @c: UBIFS file-system description object
++ * @ui: UBIFS inode to release the budget for
++ *
++ * This function releases budget corresponding to a dirty inode. It is usually
++ * called when after the inode has been written to the media and marked as
++ * clean.
++ */
++void ubifs_release_dirty_inode_budget(struct ubifs_info *c,
++ struct ubifs_inode *ui)
++{
++ struct ubifs_budget_req req;
++
++ memset(&req, 0, sizeof(struct ubifs_budget_req));
++ req.dd_growth = c->inode_budget + ALIGN(ui->data_len, 8);
++ ubifs_release_budget(c, &req);
++}
++
++/**
++ * ubifs_reported_space - calculate reported free space.
++ * @c: the UBIFS file-system description object
++ * @free: amount of free space
++ *
++ * This function calculates amount of free space which will be reported to
++ * user-space. User-space application tend to expect that if the file-system
++ * (e.g., via the 'statfs()' call) reports that it has N bytes available, they
++ * are able to write a file of size N. UBIFS attaches node headers to each data
++ * node and it has to write indexing nodes as well. This introduces additional
++ * overhead, and UBIFS has to report slightly less free space to meet the above
++ * expectations.
++ *
++ * This function assumes free space is made up of uncompressed data nodes and
++ * full index nodes (one per data node, tripled because we always allow enough
++ * space to write the index thrice).
++ *
++ * Note, the calculation is pessimistic, which means that most of the time
++ * UBIFS reports less space than it actually has.
++ */
++long long ubifs_reported_space(const struct ubifs_info *c, long long free)
++{
++ int divisor, factor, f;
++
++ /*
++ * Reported space size is @free * X, where X is UBIFS block size
++ * divided by UBIFS block size + all overhead one data block
++ * introduces. The overhead is the node header + indexing overhead.
++ *
++ * Indexing overhead calculations are based on the following formula:
++ * I = N/(f - 1) + 1, where I - number of indexing nodes, N - number
++ * of data nodes, f - fanout. Because effective UBIFS fanout is twice
++ * as less than maximum fanout, we assume that each data node
++ * introduces 3 * @c->max_idx_node_sz / (@c->fanout/2 - 1) bytes.
++ * Note, the multiplier 3 is because UBIFS reserves thrice as more space
++ * for the index.
++ */
++ f = c->fanout > 3 ? c->fanout >> 1 : 2;
++ factor = UBIFS_BLOCK_SIZE;
++ divisor = UBIFS_MAX_DATA_NODE_SZ;
++ divisor += (c->max_idx_node_sz * 3) / (f - 1);
++ free *= factor;
++ return div_u64(free, divisor);
++}
++
++/**
++ * ubifs_get_free_space_nolock - return amount of free space.
++ * @c: UBIFS file-system description object
++ *
++ * This function calculates amount of free space to report to user-space.
++ *
++ * Because UBIFS may introduce substantial overhead (the index, node headers,
++ * alignment, wastage at the end of LEBs, etc), it cannot report real amount of
++ * free flash space it has (well, because not all dirty space is reclaimable,
++ * UBIFS does not actually know the real amount). If UBIFS did so, it would
++ * bread user expectations about what free space is. Users seem to accustomed
++ * to assume that if the file-system reports N bytes of free space, they would
++ * be able to fit a file of N bytes to the FS. This almost works for
++ * traditional file-systems, because they have way less overhead than UBIFS.
++ * So, to keep users happy, UBIFS tries to take the overhead into account.
++ */
++long long ubifs_get_free_space_nolock(struct ubifs_info *c)
++{
++ int rsvd_idx_lebs, lebs;
++ long long available, outstanding, free;
++
++ ubifs_assert(c->min_idx_lebs == ubifs_calc_min_idx_lebs(c));
++ outstanding = c->budg_data_growth + c->budg_dd_growth;
++ available = ubifs_calc_available(c, c->min_idx_lebs);
++
++ /*
++ * When reporting free space to user-space, UBIFS guarantees that it is
++ * possible to write a file of free space size. This means that for
++ * empty LEBs we may use more precise calculations than
++ * 'ubifs_calc_available()' is using. Namely, we know that in empty
++ * LEBs we would waste only @c->leb_overhead bytes, not @c->dark_wm.
++ * Thus, amend the available space.
++ *
++ * Note, the calculations below are similar to what we have in
++ * 'do_budget_space()', so refer there for comments.
++ */
++ if (c->min_idx_lebs > c->lst.idx_lebs)
++ rsvd_idx_lebs = c->min_idx_lebs - c->lst.idx_lebs;
++ else
++ rsvd_idx_lebs = 0;
++ lebs = c->lst.empty_lebs + c->freeable_cnt + c->idx_gc_cnt -
++ c->lst.taken_empty_lebs;
++ lebs -= rsvd_idx_lebs;
++ available += lebs * (c->dark_wm - c->leb_overhead);
++
++ if (available > outstanding)
++ free = ubifs_reported_space(c, available - outstanding);
++ else
++ free = 0;
++ return free;
++}
++
++/**
++ * ubifs_get_free_space - return amount of free space.
++ * @c: UBIFS file-system description object
++ *
++ * This function calculates and retuns amount of free space to report to
++ * user-space.
++ */
++long long ubifs_get_free_space(struct ubifs_info *c)
++{
++ long long free;
++
++ spin_lock(&c->space_lock);
++ free = ubifs_get_free_space_nolock(c);
++ spin_unlock(&c->space_lock);
++
++ return free;
++}
+diff -Nurd linux-2.6.24/fs/ubifs/commit.c ubifs-v2.6.24/fs/ubifs/commit.c
+--- linux-2.6.24/fs/ubifs/commit.c 1970-01-01 02:00:00.000000000 +0200
++++ ubifs-v2.6.24/fs/ubifs/commit.c 2009-04-07 17:14:47.000000000 +0200
+@@ -0,0 +1,679 @@
++/*
++ * This file is part of UBIFS.
++ *
++ * Copyright (C) 2006-2008 Nokia Corporation.
++ *
++ * This program is free software; you can redistribute it and/or modify it
++ * under the terms of the GNU General Public License version 2 as published by
++ * the Free Software Foundation.
++ *
++ * 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, write to the Free Software Foundation, Inc., 51
++ * Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
++ *
++ * Authors: Adrian Hunter
++ * Artem Bityutskiy (Битюцкий Ðртём)
++ */
++
++/*
++ * This file implements functions that manage the running of the commit process.
++ * Each affected module has its own functions to accomplish their part in the
++ * commit and those functions are called here.
++ *
++ * The commit is the process whereby all updates to the index and LEB properties
++ * are written out together and the journal becomes empty. This keeps the
++ * file system consistent - at all times the state can be recreated by reading
++ * the index and LEB properties and then replaying the journal.
++ *
++ * The commit is split into two parts named "commit start" and "commit end".
++ * During commit start, the commit process has exclusive access to the journal
++ * by holding the commit semaphore down for writing. As few I/O operations as
++ * possible are performed during commit start, instead the nodes that are to be
++ * written are merely identified. During commit end, the commit semaphore is no
++ * longer held and the journal is again in operation, allowing users to continue
++ * to use the file system while the bulk of the commit I/O is performed. The
++ * purpose of this two-step approach is to prevent the commit from causing any
++ * latency blips. Note that in any case, the commit does not prevent lookups
++ * (as permitted by the TNC mutex), or access to VFS data structures e.g. page
++ * cache.
++ */
++
++#include <linux/freezer.h>
++#include <linux/kthread.h>
++#include "ubifs.h"
++
++/**
++ * do_commit - commit the journal.
++ * @c: UBIFS file-system description object
++ *
++ * This function implements UBIFS commit. It has to be called with commit lock
++ * locked. Returns zero in case of success and a negative error code in case of
++ * failure.
++ */
++static int do_commit(struct ubifs_info *c)
++{
++ int err, new_ltail_lnum, old_ltail_lnum, i;
++ struct ubifs_zbranch zroot;
++ struct ubifs_lp_stats lst;
++
++ dbg_cmt("start");
++ if (c->ro_media) {
++ err = -EROFS;
++ goto out_up;
++ }
++
++ /* Sync all write buffers (necessary for recovery) */
++ for (i = 0; i < c->jhead_cnt; i++) {
++ err = ubifs_wbuf_sync(&c->jheads[i].wbuf);
++ if (err)
++ goto out_up;
++ }
++
++ c->cmt_no += 1;
++ err = ubifs_gc_start_commit(c);
++ if (err)
++ goto out_up;
++ err = dbg_check_lprops(c);
++ if (err)
++ goto out_up;
++ err = ubifs_log_start_commit(c, &new_ltail_lnum);
++ if (err)
++ goto out_up;
++ err = ubifs_tnc_start_commit(c, &zroot);
++ if (err)
++ goto out_up;
++ err = ubifs_lpt_start_commit(c);
++ if (err)
++ goto out_up;
++ err = ubifs_orphan_start_commit(c);
++ if (err)
++ goto out_up;
++
++ ubifs_get_lp_stats(c, &lst);
++
++ up_write(&c->commit_sem);
++
++ err = ubifs_tnc_end_commit(c);
++ if (err)
++ goto out;
++ err = ubifs_lpt_end_commit(c);
++ if (err)
++ goto out;
++ err = ubifs_orphan_end_commit(c);
++ if (err)
++ goto out;
++ old_ltail_lnum = c->ltail_lnum;
++ err = ubifs_log_end_commit(c, new_ltail_lnum);
++ if (err)
++ goto out;
++ err = dbg_check_old_index(c, &zroot);
++ if (err)
++ goto out;
++
++ mutex_lock(&c->mst_mutex);
++ c->mst_node->cmt_no = cpu_to_le64(c->cmt_no);
++ c->mst_node->log_lnum = cpu_to_le32(new_ltail_lnum);
++ c->mst_node->root_lnum = cpu_to_le32(zroot.lnum);
++ c->mst_node->root_offs = cpu_to_le32(zroot.offs);
++ c->mst_node->root_len = cpu_to_le32(zroot.len);
++ c->mst_node->ihead_lnum = cpu_to_le32(c->ihead_lnum);
++ c->mst_node->ihead_offs = cpu_to_le32(c->ihead_offs);
++ c->mst_node->index_size = cpu_to_le64(c->old_idx_sz);
++ c->mst_node->lpt_lnum = cpu_to_le32(c->lpt_lnum);
++ c->mst_node->lpt_offs = cpu_to_le32(c->lpt_offs);
++ c->mst_node->nhead_lnum = cpu_to_le32(c->nhead_lnum);
++ c->mst_node->nhead_offs = cpu_to_le32(c->nhead_offs);
++ c->mst_node->ltab_lnum = cpu_to_le32(c->ltab_lnum);
++ c->mst_node->ltab_offs = cpu_to_le32(c->ltab_offs);
++ c->mst_node->lsave_lnum = cpu_to_le32(c->lsave_lnum);
++ c->mst_node->lsave_offs = cpu_to_le32(c->lsave_offs);
++ c->mst_node->lscan_lnum = cpu_to_le32(c->lscan_lnum);
++ c->mst_node->empty_lebs = cpu_to_le32(lst.empty_lebs);
++ c->mst_node->idx_lebs = cpu_to_le32(lst.idx_lebs);
++ c->mst_node->total_free = cpu_to_le64(lst.total_free);
++ c->mst_node->total_dirty = cpu_to_le64(lst.total_dirty);
++ c->mst_node->total_used = cpu_to_le64(lst.total_used);
++ c->mst_node->total_dead = cpu_to_le64(lst.total_dead);
++ c->mst_node->total_dark = cpu_to_le64(lst.total_dark);
++ if (c->no_orphs)
++ c->mst_node->flags |= cpu_to_le32(UBIFS_MST_NO_ORPHS);
++ else
++ c->mst_node->flags &= ~cpu_to_le32(UBIFS_MST_NO_ORPHS);
++ err = ubifs_write_master(c);
++ mutex_unlock(&c->mst_mutex);
++ if (err)
++ goto out;
++
++ err = ubifs_log_post_commit(c, old_ltail_lnum);
++ if (err)
++ goto out;
++ err = ubifs_gc_end_commit(c);
++ if (err)
++ goto out;
++ err = ubifs_lpt_post_commit(c);
++ if (err)
++ goto out;
++
++ spin_lock(&c->cs_lock);
++ c->cmt_state = COMMIT_RESTING;
++ wake_up(&c->cmt_wq);
++ dbg_cmt("commit end");
++ spin_unlock(&c->cs_lock);
++
++ return 0;
++
++out_up:
++ up_write(&c->commit_sem);
++out:
++ ubifs_err("commit failed, error %d", err);
++ spin_lock(&c->cs_lock);
++ c->cmt_state = COMMIT_BROKEN;
++ wake_up(&c->cmt_wq);
++ spin_unlock(&c->cs_lock);
++ ubifs_ro_mode(c, err);
++ return err;
++}
++
++/**
++ * run_bg_commit - run background commit if it is needed.
++ * @c: UBIFS file-system description object
++ *
++ * This function runs background commit if it is needed. Returns zero in case
++ * of success and a negative error code in case of failure.
++ */
++static int run_bg_commit(struct ubifs_info *c)
++{
++ spin_lock(&c->cs_lock);
++ /*
++ * Run background commit only if background commit was requested or if
++ * commit is required.
++ */
++ if (c->cmt_state != COMMIT_BACKGROUND &&
++ c->cmt_state != COMMIT_REQUIRED)
++ goto out;
++ spin_unlock(&c->cs_lock);
++
++ down_write(&c->commit_sem);
++ spin_lock(&c->cs_lock);
++ if (c->cmt_state == COMMIT_REQUIRED)
++ c->cmt_state = COMMIT_RUNNING_REQUIRED;
++ else if (c->cmt_state == COMMIT_BACKGROUND)
++ c->cmt_state = COMMIT_RUNNING_BACKGROUND;
++ else
++ goto out_cmt_unlock;
++ spin_unlock(&c->cs_lock);
++
++ return do_commit(c);
++
++out_cmt_unlock:
++ up_write(&c->commit_sem);
++out:
++ spin_unlock(&c->cs_lock);
++ return 0;
++}
++
++/**
++ * ubifs_bg_thread - UBIFS background thread function.
++ * @info: points to the file-system description object
++ *
++ * This function implements various file-system background activities:
++ * o when a write-buffer timer expires it synchronizes the appropriate
++ * write-buffer;
++ * o when the journal is about to be full, it starts in-advance commit.
++ *
++ * Note, other stuff like background garbage collection may be added here in
++ * future.
++ */
++int ubifs_bg_thread(void *info)
++{
++ int err;
++ struct ubifs_info *c = info;
++
++ dbg_msg("background thread \"%s\" started, PID %d",
++ c->bgt_name, current->pid);
++ set_freezable();
++
++ while (1) {
++ if (kthread_should_stop())
++ break;
++
++ if (try_to_freeze())
++ continue;
++
++ set_current_state(TASK_INTERRUPTIBLE);
++ /* Check if there is something to do */
++ if (!c->need_bgt) {
++ /*
++ * Nothing prevents us from going sleep now and
++ * be never woken up and block the task which
++ * could wait in 'kthread_stop()' forever.
++ */
++ if (kthread_should_stop())
++ break;
++ schedule();
++ continue;
++ } else
++ __set_current_state(TASK_RUNNING);
++
++ c->need_bgt = 0;
++ err = ubifs_bg_wbufs_sync(c);
++ if (err)
++ ubifs_ro_mode(c, err);
++
++ run_bg_commit(c);
++ cond_resched();
++ }
++
++ dbg_msg("background thread \"%s\" stops", c->bgt_name);
++ return 0;
++}
++
++/**
++ * ubifs_commit_required - set commit state to "required".
++ * @c: UBIFS file-system description object
++ *
++ * This function is called if a commit is required but cannot be done from the
++ * calling function, so it is just flagged instead.
++ */
++void ubifs_commit_required(struct ubifs_info *c)
++{
++ spin_lock(&c->cs_lock);
++ switch (c->cmt_state) {
++ case COMMIT_RESTING:
++ case COMMIT_BACKGROUND:
++ dbg_cmt("old: %s, new: %s", dbg_cstate(c->cmt_state),
++ dbg_cstate(COMMIT_REQUIRED));
++ c->cmt_state = COMMIT_REQUIRED;
++ break;
++ case COMMIT_RUNNING_BACKGROUND:
++ dbg_cmt("old: %s, new: %s", dbg_cstate(c->cmt_state),
++ dbg_cstate(COMMIT_RUNNING_REQUIRED));
++ c->cmt_state = COMMIT_RUNNING_REQUIRED;
++ break;
++ case COMMIT_REQUIRED:
++ case COMMIT_RUNNING_REQUIRED:
++ case COMMIT_BROKEN:
++ break;
++ }
++ spin_unlock(&c->cs_lock);
++}
++
++/**
++ * ubifs_request_bg_commit - notify the background thread to do a commit.
++ * @c: UBIFS file-system description object
++ *
++ * This function is called if the journal is full enough to make a commit
++ * worthwhile, so background thread is kicked to start it.
++ */
++void ubifs_request_bg_commit(struct ubifs_info *c)
++{
++ spin_lock(&c->cs_lock);
++ if (c->cmt_state == COMMIT_RESTING) {
++ dbg_cmt("old: %s, new: %s", dbg_cstate(c->cmt_state),
++ dbg_cstate(COMMIT_BACKGROUND));
++ c->cmt_state = COMMIT_BACKGROUND;
++ spin_unlock(&c->cs_lock);
++ ubifs_wake_up_bgt(c);
++ } else
++ spin_unlock(&c->cs_lock);
++}
++
++/**
++ * wait_for_commit - wait for commit.
++ * @c: UBIFS file-system description object
++ *
++ * This function sleeps until the commit operation is no longer running.
++ */
++static int wait_for_commit(struct ubifs_info *c)
++{
++ dbg_cmt("pid %d goes sleep", current->pid);
++
++ /*
++ * The following sleeps if the condition is false, and will be woken
++ * when the commit ends. It is possible, although very unlikely, that we
++ * will wake up and see the subsequent commit running, rather than the
++ * one we were waiting for, and go back to sleep. However, we will be
++ * woken again, so there is no danger of sleeping forever.
++ */
++ wait_event(c->cmt_wq, c->cmt_state != COMMIT_RUNNING_BACKGROUND &&
++ c->cmt_state != COMMIT_RUNNING_REQUIRED);
++ dbg_cmt("commit finished, pid %d woke up", current->pid);
++ return 0;
++}
++
++/**
++ * ubifs_run_commit - run or wait for commit.
++ * @c: UBIFS file-system description object
++ *
++ * This function runs commit and returns zero in case of success and a negative
++ * error code in case of failure.
++ */
++int ubifs_run_commit(struct ubifs_info *c)
++{
++ int err = 0;
++
++ spin_lock(&c->cs_lock);
++ if (c->cmt_state == COMMIT_BROKEN) {
++ err = -EINVAL;
++ goto out;
++ }
++
++ if (c->cmt_state == COMMIT_RUNNING_BACKGROUND)
++ /*
++ * We set the commit state to 'running required' to indicate
++ * that we want it to complete as quickly as possible.
++ */
++ c->cmt_state = COMMIT_RUNNING_REQUIRED;
++
++ if (c->cmt_state == COMMIT_RUNNING_REQUIRED) {
++ spin_unlock(&c->cs_lock);
++ return wait_for_commit(c);
++ }
++ spin_unlock(&c->cs_lock);
++
++ /* Ok, the commit is indeed needed */
++
++ down_write(&c->commit_sem);
++ spin_lock(&c->cs_lock);
++ /*
++ * Since we unlocked 'c->cs_lock', the state may have changed, so
++ * re-check it.
++ */
++ if (c->cmt_state == COMMIT_BROKEN) {
++ err = -EINVAL;
++ goto out_cmt_unlock;
++ }
++
++ if (c->cmt_state == COMMIT_RUNNING_BACKGROUND)
++ c->cmt_state = COMMIT_RUNNING_REQUIRED;
++
++ if (c->cmt_state == COMMIT_RUNNING_REQUIRED) {
++ up_write(&c->commit_sem);
++ spin_unlock(&c->cs_lock);
++ return wait_for_commit(c);
++ }
++ c->cmt_state = COMMIT_RUNNING_REQUIRED;
++ spin_unlock(&c->cs_lock);
++
++ err = do_commit(c);
++ return err;
++
++out_cmt_unlock:
++ up_write(&c->commit_sem);
++out:
++ spin_unlock(&c->cs_lock);
++ return err;
++}
++
++/**
++ * ubifs_gc_should_commit - determine if it is time for GC to run commit.
++ * @c: UBIFS file-system description object
++ *
++ * This function is called by garbage collection to determine if commit should
++ * be run. If commit state is @COMMIT_BACKGROUND, which means that the journal
++ * is full enough to start commit, this function returns true. It is not
++ * absolutely necessary to commit yet, but it feels like this should be better
++ * then to keep doing GC. This function returns %1 if GC has to initiate commit
++ * and %0 if not.
++ */
++int ubifs_gc_should_commit(struct ubifs_info *c)
++{
++ int ret = 0;
++
++ spin_lock(&c->cs_lock);
++ if (c->cmt_state == COMMIT_BACKGROUND) {
++ dbg_cmt("commit required now");
++ c->cmt_state = COMMIT_REQUIRED;
++ } else
++ dbg_cmt("commit not requested");
++ if (c->cmt_state == COMMIT_REQUIRED)
++ ret = 1;
++ spin_unlock(&c->cs_lock);
++ return ret;
++}
++
++#ifdef CONFIG_UBIFS_FS_DEBUG
++
++/**
++ * struct idx_node - hold index nodes during index tree traversal.
++ * @list: list
++ * @iip: index in parent (slot number of this indexing node in the parent
++ * indexing node)
++ * @upper_key: all keys in this indexing node have to be less or equivalent to
++ * this key
++ * @idx: index node (8-byte aligned because all node structures must be 8-byte
++ * aligned)
++ */
++struct idx_node {
++ struct list_head list;
++ int iip;
++ union ubifs_key upper_key;
++ struct ubifs_idx_node idx __attribute__((aligned(8)));
++};
++
++/**
++ * dbg_old_index_check_init - get information for the next old index check.
++ * @c: UBIFS file-system description object
++ * @zroot: root of the index
++ *
++ * This function records information about the index that will be needed for the
++ * next old index check i.e. 'dbg_check_old_index()'.
++ *
++ * This function returns %0 on success and a negative error code on failure.
++ */
++int dbg_old_index_check_init(struct ubifs_info *c, struct ubifs_zbranch *zroot)
++{
++ struct ubifs_idx_node *idx;
++ int lnum, offs, len, err = 0;
++ struct ubifs_debug_info *d = c->dbg;
++
++ d->old_zroot = *zroot;
++ lnum = d->old_zroot.lnum;
++ offs = d->old_zroot.offs;
++ len = d->old_zroot.len;
++
++ idx = kmalloc(c->max_idx_node_sz, GFP_NOFS);
++ if (!idx)
++ return -ENOMEM;
++
++ err = ubifs_read_node(c, idx, UBIFS_IDX_NODE, len, lnum, offs);
++ if (err)
++ goto out;
++
++ d->old_zroot_level = le16_to_cpu(idx->level);
++ d->old_zroot_sqnum = le64_to_cpu(idx->ch.sqnum);
++out:
++ kfree(idx);
++ return err;
++}
++
++/**
++ * dbg_check_old_index - check the old copy of the index.
++ * @c: UBIFS file-system description object
++ * @zroot: root of the new index
++ *
++ * In order to be able to recover from an unclean unmount, a complete copy of
++ * the index must exist on flash. This is the "old" index. The commit process
++ * must write the "new" index to flash without overwriting or destroying any
++ * part of the old index. This function is run at commit end in order to check
++ * that the old index does indeed exist completely intact.
++ *
++ * This function returns %0 on success and a negative error code on failure.
++ */
++int dbg_check_old_index(struct ubifs_info *c, struct ubifs_zbranch *zroot)
++{
++ int lnum, offs, len, err = 0, uninitialized_var(last_level), child_cnt;
++ int first = 1, iip;
++ struct ubifs_debug_info *d = c->dbg;
++ union ubifs_key lower_key, upper_key, l_key, u_key;
++ unsigned long long uninitialized_var(last_sqnum);
++ struct ubifs_idx_node *idx;
++ struct list_head list;
++ struct idx_node *i;
++ size_t sz;
++
++ if (!(ubifs_chk_flags & UBIFS_CHK_OLD_IDX))
++ goto out;
++
++ INIT_LIST_HEAD(&list);
++
++ sz = sizeof(struct idx_node) + ubifs_idx_node_sz(c, c->fanout) -
++ UBIFS_IDX_NODE_SZ;
++
++ /* Start at the old zroot */
++ lnum = d->old_zroot.lnum;
++ offs = d->old_zroot.offs;
++ len = d->old_zroot.len;
++ iip = 0;
++
++ /*
++ * Traverse the index tree preorder depth-first i.e. do a node and then
++ * its subtrees from left to right.
++ */
++ while (1) {
++ struct ubifs_branch *br;
++
++ /* Get the next index node */
++ i = kmalloc(sz, GFP_NOFS);
++ if (!i) {
++ err = -ENOMEM;
++ goto out_free;
++ }
++ i->iip = iip;
++ /* Keep the index nodes on our path in a linked list */
++ list_add_tail(&i->list, &list);
++ /* Read the index node */
++ idx = &i->idx;
++ err = ubifs_read_node(c, idx, UBIFS_IDX_NODE, len, lnum, offs);
++ if (err)
++ goto out_free;
++ /* Validate index node */
++ child_cnt = le16_to_cpu(idx->child_cnt);
++ if (child_cnt < 1 || child_cnt > c->fanout) {
++ err = 1;
++ goto out_dump;
++ }
++ if (first) {
++ first = 0;
++ /* Check root level and sqnum */
++ if (le16_to_cpu(idx->level) != d->old_zroot_level) {
++ err = 2;
++ goto out_dump;
++ }
++ if (le64_to_cpu(idx->ch.sqnum) != d->old_zroot_sqnum) {
++ err = 3;
++ goto out_dump;
++ }
++ /* Set last values as though root had a parent */
++ last_level = le16_to_cpu(idx->level) + 1;
++ last_sqnum = le64_to_cpu(idx->ch.sqnum) + 1;
++ key_read(c, ubifs_idx_key(c, idx), &lower_key);
++ highest_ino_key(c, &upper_key, INUM_WATERMARK);
++ }
++ key_copy(c, &upper_key, &i->upper_key);
++ if (le16_to_cpu(idx->level) != last_level - 1) {
++ err = 3;
++ goto out_dump;
++ }
++ /*
++ * The index is always written bottom up hence a child's sqnum
++ * is always less than the parents.
++ */
++ if (le64_to_cpu(idx->ch.sqnum) >= last_sqnum) {
++ err = 4;
++ goto out_dump;
++ }
++ /* Check key range */
++ key_read(c, ubifs_idx_key(c, idx), &l_key);
++ br = ubifs_idx_branch(c, idx, child_cnt - 1);
++ key_read(c, &br->key, &u_key);
++ if (keys_cmp(c, &lower_key, &l_key) > 0) {
++ err = 5;
++ goto out_dump;
++ }
++ if (keys_cmp(c, &upper_key, &u_key) < 0) {
++ err = 6;
++ goto out_dump;
++ }
++ if (keys_cmp(c, &upper_key, &u_key) == 0)
++ if (!is_hash_key(c, &u_key)) {
++ err = 7;
++ goto out_dump;
++ }
++ /* Go to next index node */
++ if (le16_to_cpu(idx->level) == 0) {
++ /* At the bottom, so go up until can go right */
++ while (1) {
++ /* Drop the bottom of the list */
++ list_del(&i->list);
++ kfree(i);
++ /* No more list means we are done */
++ if (list_empty(&list))
++ goto out;
++ /* Look at the new bottom */
++ i = list_entry(list.prev, struct idx_node,
++ list);
++ idx = &i->idx;
++ /* Can we go right */
++ if (iip + 1 < le16_to_cpu(idx->child_cnt)) {
++ iip = iip + 1;
++ break;
++ } else
++ /* Nope, so go up again */
++ iip = i->iip;
++ }
++ } else
++ /* Go down left */
++ iip = 0;
++ /*
++ * We have the parent in 'idx' and now we set up for reading the
++ * child pointed to by slot 'iip'.
++ */
++ last_level = le16_to_cpu(idx->level);
++ last_sqnum = le64_to_cpu(idx->ch.sqnum);
++ br = ubifs_idx_branch(c, idx, iip);
++ lnum = le32_to_cpu(br->lnum);
++ offs = le32_to_cpu(br->offs);
++ len = le32_to_cpu(br->len);
++ key_read(c, &br->key, &lower_key);
++ if (iip + 1 < le16_to_cpu(idx->child_cnt)) {
++ br = ubifs_idx_branch(c, idx, iip + 1);
++ key_read(c, &br->key, &upper_key);
++ } else
++ key_copy(c, &i->upper_key, &upper_key);
++ }
++out:
++ err = dbg_old_index_check_init(c, zroot);
++ if (err)
++ goto out_free;
++
++ return 0;
++
++out_dump:
++ dbg_err("dumping index node (iip=%d)", i->iip);
++ dbg_dump_node(c, idx);
++ list_del(&i->list);
++ kfree(i);
++ if (!list_empty(&list)) {
++ i = list_entry(list.prev, struct idx_node, list);
++ dbg_err("dumping parent index node");
++ dbg_dump_node(c, &i->idx);
++ }
++out_free:
++ while (!list_empty(&list)) {
++ i = list_entry(list.next, struct idx_node, list);
++ list_del(&i->list);
++ kfree(i);
++ }
++ ubifs_err("failed, error %d", err);
++ if (err > 0)
++ err = -EINVAL;
++ return err;
++}
++
++#endif /* CONFIG_UBIFS_FS_DEBUG */
+diff -Nurd linux-2.6.24/fs/ubifs/compress.c ubifs-v2.6.24/fs/ubifs/compress.c
+--- linux-2.6.24/fs/ubifs/compress.c 1970-01-01 02:00:00.000000000 +0200
++++ ubifs-v2.6.24/fs/ubifs/compress.c 2009-04-07 17:14:47.000000000 +0200
+@@ -0,0 +1,251 @@
++/*
++ * This file is part of UBIFS.
++ *
++ * Copyright (C) 2006-2008 Nokia Corporation.
++ * Copyright (C) 2006, 2007 University of Szeged, Hungary
++ *
++ * This program is free software; you can redistribute it and/or modify it
++ * under the terms of the GNU General Public License version 2 as published by
++ * the Free Software Foundation.
++ *
++ * 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, write to the Free Software Foundation, Inc., 51
++ * Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
++ *
++ * Authors: Adrian Hunter
++ * Artem Bityutskiy (Битюцкий Ðртём)
++ * Zoltan Sogor
++ */
++
++/*
++ * This file provides a single place to access to compression and
++ * decompression.
++ */
++
++#include <linux/crypto.h>
++#include "ubifs.h"
++
++/* Fake description object for the "none" compressor */
++static struct ubifs_compressor none_compr = {
++ .compr_type = UBIFS_COMPR_NONE,
++ .name = "none",
++ .capi_name = "",
++};
++
++#ifdef CONFIG_UBIFS_FS_LZO
++static DEFINE_MUTEX(lzo_mutex);
++
++static struct ubifs_compressor lzo_compr = {
++ .compr_type = UBIFS_COMPR_LZO,
++ .comp_mutex = &lzo_mutex,
++ .name = "lzo",
++ .capi_name = "lzo",
++};
++#else
++static struct ubifs_compressor lzo_compr = {
++ .compr_type = UBIFS_COMPR_LZO,
++ .name = "lzo",
++};
++#endif
++
++#ifdef CONFIG_UBIFS_FS_ZLIB
++static DEFINE_MUTEX(deflate_mutex);
++static DEFINE_MUTEX(inflate_mutex);
++
++static struct ubifs_compressor zlib_compr = {
++ .compr_type = UBIFS_COMPR_ZLIB,
++ .comp_mutex = &deflate_mutex,
++ .decomp_mutex = &inflate_mutex,
++ .name = "zlib",
++ .capi_name = "deflate",
++};
++#else
++static struct ubifs_compressor zlib_compr = {
++ .compr_type = UBIFS_COMPR_ZLIB,
++ .name = "zlib",
++};
++#endif
++
++/* All UBIFS compressors */
++struct ubifs_compressor *ubifs_compressors[UBIFS_COMPR_TYPES_CNT];
++
++/**
++ * ubifs_compress - compress data.
++ * @in_buf: data to compress
++ * @in_len: length of the data to compress
++ * @out_buf: output buffer where compressed data should be stored
++ * @out_len: output buffer length is returned here
++ * @compr_type: type of compression to use on enter, actually used compression
++ * type on exit
++ *
++ * This function compresses input buffer @in_buf of length @in_len and stores
++ * the result in the output buffer @out_buf and the resulting length in
++ * @out_len. If the input buffer does not compress, it is just copied to the
++ * @out_buf. The same happens if @compr_type is %UBIFS_COMPR_NONE or if
++ * compression error occurred.
++ *
++ * Note, if the input buffer was not compressed, it is copied to the output
++ * buffer and %UBIFS_COMPR_NONE is returned in @compr_type.
++ */
++void ubifs_compress(const void *in_buf, int in_len, void *out_buf, int *out_len,
++ int *compr_type)
++{
++ int err;
++ struct ubifs_compressor *compr = ubifs_compressors[*compr_type];
++
++ if (*compr_type == UBIFS_COMPR_NONE)
++ goto no_compr;
++
++ /* If the input data is small, do not even try to compress it */
++ if (in_len < UBIFS_MIN_COMPR_LEN)
++ goto no_compr;
++
++ if (compr->comp_mutex)
++ mutex_lock(compr->comp_mutex);
++ err = crypto_comp_compress(compr->cc, in_buf, in_len, out_buf,
++ (unsigned int *)out_len);
++ if (compr->comp_mutex)
++ mutex_unlock(compr->comp_mutex);
++ if (unlikely(err)) {
++ ubifs_warn("cannot compress %d bytes, compressor %s, "
++ "error %d, leave data uncompressed",
++ in_len, compr->name, err);
++ goto no_compr;
++ }
++
++ /*
++ * If the data compressed only slightly, it is better to leave it
++ * uncompressed to improve read speed.
++ */
++ if (in_len - *out_len < UBIFS_MIN_COMPRESS_DIFF)
++ goto no_compr;
++
++ return;
++
++no_compr:
++ memcpy(out_buf, in_buf, in_len);
++ *out_len = in_len;
++ *compr_type = UBIFS_COMPR_NONE;
++}
++
++/**
++ * ubifs_decompress - decompress data.
++ * @in_buf: data to decompress
++ * @in_len: length of the data to decompress
++ * @out_buf: output buffer where decompressed data should
++ * @out_len: output length is returned here
++ * @compr_type: type of compression
++ *
++ * This function decompresses data from buffer @in_buf into buffer @out_buf.
++ * The length of the uncompressed data is returned in @out_len. This functions
++ * returns %0 on success or a negative error code on failure.
++ */
++int ubifs_decompress(const void *in_buf, int in_len, void *out_buf,
++ int *out_len, int compr_type)
++{
++ int err;
++ struct ubifs_compressor *compr;
++
++ if (unlikely(compr_type < 0 || compr_type >= UBIFS_COMPR_TYPES_CNT)) {
++ ubifs_err("invalid compression type %d", compr_type);
++ return -EINVAL;
++ }
++
++ compr = ubifs_compressors[compr_type];
++
++ if (unlikely(!compr->capi_name)) {
++ ubifs_err("%s compression is not compiled in", compr->name);
++ return -EINVAL;
++ }
++
++ if (compr_type == UBIFS_COMPR_NONE) {
++ memcpy(out_buf, in_buf, in_len);
++ *out_len = in_len;
++ return 0;
++ }
++
++ if (compr->decomp_mutex)
++ mutex_lock(compr->decomp_mutex);
++ err = crypto_comp_decompress(compr->cc, in_buf, in_len, out_buf,
++ (unsigned int *)out_len);
++ if (compr->decomp_mutex)
++ mutex_unlock(compr->decomp_mutex);
++ if (err)
++ ubifs_err("cannot decompress %d bytes, compressor %s, "
++ "error %d", in_len, compr->name, err);
++
++ return err;
++}
++
++/**
++ * compr_init - initialize a compressor.
++ * @compr: compressor description object
++ *
++ * This function initializes the requested compressor and returns zero in case
++ * of success or a negative error code in case of failure.
++ */
++static int __init compr_init(struct ubifs_compressor *compr)
++{
++ if (compr->capi_name) {
++ compr->cc = crypto_alloc_comp(compr->capi_name, 0, 0);
++ if (IS_ERR(compr->cc)) {
++ ubifs_err("cannot initialize compressor %s, error %ld",
++ compr->name, PTR_ERR(compr->cc));
++ return PTR_ERR(compr->cc);
++ }
++ }
++
++ ubifs_compressors[compr->compr_type] = compr;
++ return 0;
++}
++
++/**
++ * compr_exit - de-initialize a compressor.
++ * @compr: compressor description object
++ */
++static void compr_exit(struct ubifs_compressor *compr)
++{
++ if (compr->capi_name)
++ crypto_free_comp(compr->cc);
++ return;
++}
++
++/**
++ * ubifs_compressors_init - initialize UBIFS compressors.
++ *
++ * This function initializes the compressor which were compiled in. Returns
++ * zero in case of success and a negative error code in case of failure.
++ */
++int __init ubifs_compressors_init(void)
++{
++ int err;
++
++ err = compr_init(&lzo_compr);
++ if (err)
++ return err;
++
++ err = compr_init(&zlib_compr);
++ if (err)
++ goto out_lzo;
++
++ ubifs_compressors[UBIFS_COMPR_NONE] = &none_compr;
++ return 0;
++
++out_lzo:
++ compr_exit(&lzo_compr);
++ return err;
++}
++
++/**
++ * ubifs_compressors_exit - de-initialize UBIFS compressors.
++ */
++void ubifs_compressors_exit(void)
++{
++ compr_exit(&lzo_compr);
++ compr_exit(&zlib_compr);
++}
+diff -Nurd linux-2.6.24/fs/ubifs/debug.c ubifs-v2.6.24/fs/ubifs/debug.c
+--- linux-2.6.24/fs/ubifs/debug.c 1970-01-01 02:00:00.000000000 +0200
++++ ubifs-v2.6.24/fs/ubifs/debug.c 2009-04-07 17:14:47.000000000 +0200
+@@ -0,0 +1,2603 @@
++/*
++ * This file is part of UBIFS.
++ *
++ * Copyright (C) 2006-2008 Nokia Corporation
++ *
++ * This program is free software; you can redistribute it and/or modify it
++ * under the terms of the GNU General Public License version 2 as published by
++ * the Free Software Foundation.
++ *
++ * 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, write to the Free Software Foundation, Inc., 51
++ * Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
++ *
++ * Authors: Artem Bityutskiy (Битюцкий Ðртём)
++ * Adrian Hunter
++ */
++
++/*
++ * This file implements most of the debugging stuff which is compiled in only
++ * when it is enabled. But some debugging check functions are implemented in
++ * corresponding subsystem, just because they are closely related and utilize
++ * various local functions of those subsystems.
++ */
++
++#define UBIFS_DBG_PRESERVE_UBI
++
++#include "ubifs.h"
++#include <linux/module.h>
++#include <linux/moduleparam.h>
++#include <linux/debugfs.h>
++
++#ifdef CONFIG_UBIFS_FS_DEBUG
++
++DEFINE_SPINLOCK(dbg_lock);
++
++static char dbg_key_buf0[128];
++static char dbg_key_buf1[128];
++
++unsigned int ubifs_msg_flags = UBIFS_MSG_FLAGS_DEFAULT;
++unsigned int ubifs_chk_flags = UBIFS_CHK_FLAGS_DEFAULT;
++unsigned int ubifs_tst_flags;
++
++module_param_named(debug_msgs, ubifs_msg_flags, uint, S_IRUGO | S_IWUSR);
++module_param_named(debug_chks, ubifs_chk_flags, uint, S_IRUGO | S_IWUSR);
++module_param_named(debug_tsts, ubifs_tst_flags, uint, S_IRUGO | S_IWUSR);
++
++MODULE_PARM_DESC(debug_msgs, "Debug message type flags");
++MODULE_PARM_DESC(debug_chks, "Debug check flags");
++MODULE_PARM_DESC(debug_tsts, "Debug special test flags");
++
++static const char *get_key_fmt(int fmt)
++{
++ switch (fmt) {
++ case UBIFS_SIMPLE_KEY_FMT:
++ return "simple";
++ default:
++ return "unknown/invalid format";
++ }
++}
++
++static const char *get_key_hash(int hash)
++{
++ switch (hash) {
++ case UBIFS_KEY_HASH_R5:
++ return "R5";
++ case UBIFS_KEY_HASH_TEST:
++ return "test";
++ default:
++ return "unknown/invalid name hash";
++ }
++}
++
++static const char *get_key_type(int type)
++{
++ switch (type) {
++ case UBIFS_INO_KEY:
++ return "inode";
++ case UBIFS_DENT_KEY:
++ return "direntry";
++ case UBIFS_XENT_KEY:
++ return "xentry";
++ case UBIFS_DATA_KEY:
++ return "data";
++ case UBIFS_TRUN_KEY:
++ return "truncate";
++ default:
++ return "unknown/invalid key";
++ }
++}
++
++static void sprintf_key(const struct ubifs_info *c, const union ubifs_key *key,
++ char *buffer)
++{
++ char *p = buffer;
++ int type = key_type(c, key);
++
++ if (c->key_fmt == UBIFS_SIMPLE_KEY_FMT) {
++ switch (type) {
++ case UBIFS_INO_KEY:
++ sprintf(p, "(%lu, %s)", (unsigned long)key_inum(c, key),
++ get_key_type(type));
++ break;
++ case UBIFS_DENT_KEY:
++ case UBIFS_XENT_KEY:
++ sprintf(p, "(%lu, %s, %#08x)",
++ (unsigned long)key_inum(c, key),
++ get_key_type(type), key_hash(c, key));
++ break;
++ case UBIFS_DATA_KEY:
++ sprintf(p, "(%lu, %s, %u)",
++ (unsigned long)key_inum(c, key),
++ get_key_type(type), key_block(c, key));
++ break;
++ case UBIFS_TRUN_KEY:
++ sprintf(p, "(%lu, %s)",
++ (unsigned long)key_inum(c, key),
++ get_key_type(type));
++ break;
++ default:
++ sprintf(p, "(bad key type: %#08x, %#08x)",
++ key->u32[0], key->u32[1]);
++ }
++ } else
++ sprintf(p, "bad key format %d", c->key_fmt);
++}
++
++const char *dbg_key_str0(const struct ubifs_info *c, const union ubifs_key *key)
++{
++ /* dbg_lock must be held */
++ sprintf_key(c, key, dbg_key_buf0);
++ return dbg_key_buf0;
++}
++
++const char *dbg_key_str1(const struct ubifs_info *c, const union ubifs_key *key)
++{
++ /* dbg_lock must be held */
++ sprintf_key(c, key, dbg_key_buf1);
++ return dbg_key_buf1;
++}
++
++const char *dbg_ntype(int type)
++{
++ switch (type) {
++ case UBIFS_PAD_NODE:
++ return "padding node";
++ case UBIFS_SB_NODE:
++ return "superblock node";
++ case UBIFS_MST_NODE:
++ return "master node";
++ case UBIFS_REF_NODE:
++ return "reference node";
++ case UBIFS_INO_NODE:
++ return "inode node";
++ case UBIFS_DENT_NODE:
++ return "direntry node";
++ case UBIFS_XENT_NODE:
++ return "xentry node";
++ case UBIFS_DATA_NODE:
++ return "data node";
++ case UBIFS_TRUN_NODE:
++ return "truncate node";
++ case UBIFS_IDX_NODE:
++ return "indexing node";
++ case UBIFS_CS_NODE:
++ return "commit start node";
++ case UBIFS_ORPH_NODE:
++ return "orphan node";
++ default:
++ return "unknown node";
++ }
++}
++
++static const char *dbg_gtype(int type)
++{
++ switch (type) {
++ case UBIFS_NO_NODE_GROUP:
++ return "no node group";
++ case UBIFS_IN_NODE_GROUP:
++ return "in node group";
++ case UBIFS_LAST_OF_NODE_GROUP:
++ return "last of node group";
++ default:
++ return "unknown";
++ }
++}
++
++const char *dbg_cstate(int cmt_state)
++{
++ switch (cmt_state) {
++ case COMMIT_RESTING:
++ return "commit resting";
++ case COMMIT_BACKGROUND:
++ return "background commit requested";
++ case COMMIT_REQUIRED:
++ return "commit required";
++ case COMMIT_RUNNING_BACKGROUND:
++ return "BACKGROUND commit running";
++ case COMMIT_RUNNING_REQUIRED:
++ return "commit running and required";
++ case COMMIT_BROKEN:
++ return "broken commit";
++ default:
++ return "unknown commit state";
++ }
++}
++
++static void dump_ch(const struct ubifs_ch *ch)
++{
++ printk(KERN_DEBUG "\tmagic %#x\n", le32_to_cpu(ch->magic));
++ printk(KERN_DEBUG "\tcrc %#x\n", le32_to_cpu(ch->crc));
++ printk(KERN_DEBUG "\tnode_type %d (%s)\n", ch->node_type,
++ dbg_ntype(ch->node_type));
++ printk(KERN_DEBUG "\tgroup_type %d (%s)\n", ch->group_type,
++ dbg_gtype(ch->group_type));
++ printk(KERN_DEBUG "\tsqnum %llu\n",
++ (unsigned long long)le64_to_cpu(ch->sqnum));
++ printk(KERN_DEBUG "\tlen %u\n", le32_to_cpu(ch->len));
++}
++
++void dbg_dump_inode(const struct ubifs_info *c, const struct inode *inode)
++{
++ const struct ubifs_inode *ui = ubifs_inode(inode);
++
++ printk(KERN_DEBUG "Dump in-memory inode:");
++ printk(KERN_DEBUG "\tinode %lu\n", inode->i_ino);
++ printk(KERN_DEBUG "\tsize %llu\n",
++ (unsigned long long)i_size_read(inode));
++ printk(KERN_DEBUG "\tnlink %u\n", inode->i_nlink);
++ printk(KERN_DEBUG "\tuid %u\n", (unsigned int)inode->i_uid);
++ printk(KERN_DEBUG "\tgid %u\n", (unsigned int)inode->i_gid);
++ printk(KERN_DEBUG "\tatime %u.%u\n",
++ (unsigned int)inode->i_atime.tv_sec,
++ (unsigned int)inode->i_atime.tv_nsec);
++ printk(KERN_DEBUG "\tmtime %u.%u\n",
++ (unsigned int)inode->i_mtime.tv_sec,
++ (unsigned int)inode->i_mtime.tv_nsec);
++ printk(KERN_DEBUG "\tctime %u.%u\n",
++ (unsigned int)inode->i_ctime.tv_sec,
++ (unsigned int)inode->i_ctime.tv_nsec);
++ printk(KERN_DEBUG "\tcreat_sqnum %llu\n", ui->creat_sqnum);
++ printk(KERN_DEBUG "\txattr_size %u\n", ui->xattr_size);
++ printk(KERN_DEBUG "\txattr_cnt %u\n", ui->xattr_cnt);
++ printk(KERN_DEBUG "\txattr_names %u\n", ui->xattr_names);
++ printk(KERN_DEBUG "\tdirty %u\n", ui->dirty);
++ printk(KERN_DEBUG "\txattr %u\n", ui->xattr);
++ printk(KERN_DEBUG "\tbulk_read %u\n", ui->xattr);
++ printk(KERN_DEBUG "\tsynced_i_size %llu\n",
++ (unsigned long long)ui->synced_i_size);
++ printk(KERN_DEBUG "\tui_size %llu\n",
++ (unsigned long long)ui->ui_size);
++ printk(KERN_DEBUG "\tflags %d\n", ui->flags);
++ printk(KERN_DEBUG "\tcompr_type %d\n", ui->compr_type);
++ printk(KERN_DEBUG "\tlast_page_read %lu\n", ui->last_page_read);
++ printk(KERN_DEBUG "\tread_in_a_row %lu\n", ui->read_in_a_row);
++ printk(KERN_DEBUG "\tdata_len %d\n", ui->data_len);
++}
++
++void dbg_dump_node(const struct ubifs_info *c, const void *node)
++{
++ int i, n;
++ union ubifs_key key;
++ const struct ubifs_ch *ch = node;
++
++ if (dbg_failure_mode)
++ return;
++
++ /* If the magic is incorrect, just hexdump the first bytes */
++ if (le32_to_cpu(ch->magic) != UBIFS_NODE_MAGIC) {
++ printk(KERN_DEBUG "Not a node, first %zu bytes:", UBIFS_CH_SZ);
++ print_hex_dump(KERN_DEBUG, "", DUMP_PREFIX_OFFSET, 32, 1,
++ (void *)node, UBIFS_CH_SZ, 1);
++ return;
++ }
++
++ spin_lock(&dbg_lock);
++ dump_ch(node);
++
++ switch (ch->node_type) {
++ case UBIFS_PAD_NODE:
++ {
++ const struct ubifs_pad_node *pad = node;
++
++ printk(KERN_DEBUG "\tpad_len %u\n",
++ le32_to_cpu(pad->pad_len));
++ break;
++ }
++ case UBIFS_SB_NODE:
++ {
++ const struct ubifs_sb_node *sup = node;
++ unsigned int sup_flags = le32_to_cpu(sup->flags);
++
++ printk(KERN_DEBUG "\tkey_hash %d (%s)\n",
++ (int)sup->key_hash, get_key_hash(sup->key_hash));
++ printk(KERN_DEBUG "\tkey_fmt %d (%s)\n",
++ (int)sup->key_fmt, get_key_fmt(sup->key_fmt));
++ printk(KERN_DEBUG "\tflags %#x\n", sup_flags);
++ printk(KERN_DEBUG "\t big_lpt %u\n",
++ !!(sup_flags & UBIFS_FLG_BIGLPT));
++ printk(KERN_DEBUG "\tmin_io_size %u\n",
++ le32_to_cpu(sup->min_io_size));
++ printk(KERN_DEBUG "\tleb_size %u\n",
++ le32_to_cpu(sup->leb_size));
++ printk(KERN_DEBUG "\tleb_cnt %u\n",
++ le32_to_cpu(sup->leb_cnt));
++ printk(KERN_DEBUG "\tmax_leb_cnt %u\n",
++ le32_to_cpu(sup->max_leb_cnt));
++ printk(KERN_DEBUG "\tmax_bud_bytes %llu\n",
++ (unsigned long long)le64_to_cpu(sup->max_bud_bytes));
++ printk(KERN_DEBUG "\tlog_lebs %u\n",
++ le32_to_cpu(sup->log_lebs));
++ printk(KERN_DEBUG "\tlpt_lebs %u\n",
++ le32_to_cpu(sup->lpt_lebs));
++ printk(KERN_DEBUG "\torph_lebs %u\n",
++ le32_to_cpu(sup->orph_lebs));
++ printk(KERN_DEBUG "\tjhead_cnt %u\n",
++ le32_to_cpu(sup->jhead_cnt));
++ printk(KERN_DEBUG "\tfanout %u\n",
++ le32_to_cpu(sup->fanout));
++ printk(KERN_DEBUG "\tlsave_cnt %u\n",
++ le32_to_cpu(sup->lsave_cnt));
++ printk(KERN_DEBUG "\tdefault_compr %u\n",
++ (int)le16_to_cpu(sup->default_compr));
++ printk(KERN_DEBUG "\trp_size %llu\n",
++ (unsigned long long)le64_to_cpu(sup->rp_size));
++ printk(KERN_DEBUG "\trp_uid %u\n",
++ le32_to_cpu(sup->rp_uid));
++ printk(KERN_DEBUG "\trp_gid %u\n",
++ le32_to_cpu(sup->rp_gid));
++ printk(KERN_DEBUG "\tfmt_version %u\n",
++ le32_to_cpu(sup->fmt_version));
++ printk(KERN_DEBUG "\ttime_gran %u\n",
++ le32_to_cpu(sup->time_gran));
++ printk(KERN_DEBUG "\tUUID %02X%02X%02X%02X-%02X%02X"
++ "-%02X%02X-%02X%02X-%02X%02X%02X%02X%02X%02X\n",
++ sup->uuid[0], sup->uuid[1], sup->uuid[2], sup->uuid[3],
++ sup->uuid[4], sup->uuid[5], sup->uuid[6], sup->uuid[7],
++ sup->uuid[8], sup->uuid[9], sup->uuid[10], sup->uuid[11],
++ sup->uuid[12], sup->uuid[13], sup->uuid[14],
++ sup->uuid[15]);
++ break;
++ }
++ case UBIFS_MST_NODE:
++ {
++ const struct ubifs_mst_node *mst = node;
++
++ printk(KERN_DEBUG "\thighest_inum %llu\n",
++ (unsigned long long)le64_to_cpu(mst->highest_inum));
++ printk(KERN_DEBUG "\tcommit number %llu\n",
++ (unsigned long long)le64_to_cpu(mst->cmt_no));
++ printk(KERN_DEBUG "\tflags %#x\n",
++ le32_to_cpu(mst->flags));
++ printk(KERN_DEBUG "\tlog_lnum %u\n",
++ le32_to_cpu(mst->log_lnum));
++ printk(KERN_DEBUG "\troot_lnum %u\n",
++ le32_to_cpu(mst->root_lnum));
++ printk(KERN_DEBUG "\troot_offs %u\n",
++ le32_to_cpu(mst->root_offs));
++ printk(KERN_DEBUG "\troot_len %u\n",
++ le32_to_cpu(mst->root_len));
++ printk(KERN_DEBUG "\tgc_lnum %u\n",
++ le32_to_cpu(mst->gc_lnum));
++ printk(KERN_DEBUG "\tihead_lnum %u\n",
++ le32_to_cpu(mst->ihead_lnum));
++ printk(KERN_DEBUG "\tihead_offs %u\n",
++ le32_to_cpu(mst->ihead_offs));
++ printk(KERN_DEBUG "\tindex_size %llu\n",
++ (unsigned long long)le64_to_cpu(mst->index_size));
++ printk(KERN_DEBUG "\tlpt_lnum %u\n",
++ le32_to_cpu(mst->lpt_lnum));
++ printk(KERN_DEBUG "\tlpt_offs %u\n",
++ le32_to_cpu(mst->lpt_offs));
++ printk(KERN_DEBUG "\tnhead_lnum %u\n",
++ le32_to_cpu(mst->nhead_lnum));
++ printk(KERN_DEBUG "\tnhead_offs %u\n",
++ le32_to_cpu(mst->nhead_offs));
++ printk(KERN_DEBUG "\tltab_lnum %u\n",
++ le32_to_cpu(mst->ltab_lnum));
++ printk(KERN_DEBUG "\tltab_offs %u\n",
++ le32_to_cpu(mst->ltab_offs));
++ printk(KERN_DEBUG "\tlsave_lnum %u\n",
++ le32_to_cpu(mst->lsave_lnum));
++ printk(KERN_DEBUG "\tlsave_offs %u\n",
++ le32_to_cpu(mst->lsave_offs));
++ printk(KERN_DEBUG "\tlscan_lnum %u\n",
++ le32_to_cpu(mst->lscan_lnum));
++ printk(KERN_DEBUG "\tleb_cnt %u\n",
++ le32_to_cpu(mst->leb_cnt));
++ printk(KERN_DEBUG "\tempty_lebs %u\n",
++ le32_to_cpu(mst->empty_lebs));
++ printk(KERN_DEBUG "\tidx_lebs %u\n",
++ le32_to_cpu(mst->idx_lebs));
++ printk(KERN_DEBUG "\ttotal_free %llu\n",
++ (unsigned long long)le64_to_cpu(mst->total_free));
++ printk(KERN_DEBUG "\ttotal_dirty %llu\n",
++ (unsigned long long)le64_to_cpu(mst->total_dirty));
++ printk(KERN_DEBUG "\ttotal_used %llu\n",
++ (unsigned long long)le64_to_cpu(mst->total_used));
++ printk(KERN_DEBUG "\ttotal_dead %llu\n",
++ (unsigned long long)le64_to_cpu(mst->total_dead));
++ printk(KERN_DEBUG "\ttotal_dark %llu\n",
++ (unsigned long long)le64_to_cpu(mst->total_dark));
++ break;
++ }
++ case UBIFS_REF_NODE:
++ {
++ const struct ubifs_ref_node *ref = node;
++
++ printk(KERN_DEBUG "\tlnum %u\n",
++ le32_to_cpu(ref->lnum));
++ printk(KERN_DEBUG "\toffs %u\n",
++ le32_to_cpu(ref->offs));
++ printk(KERN_DEBUG "\tjhead %u\n",
++ le32_to_cpu(ref->jhead));
++ break;
++ }
++ case UBIFS_INO_NODE:
++ {
++ const struct ubifs_ino_node *ino = node;
++
++ key_read(c, &ino->key, &key);
++ printk(KERN_DEBUG "\tkey %s\n", DBGKEY(&key));
++ printk(KERN_DEBUG "\tcreat_sqnum %llu\n",
++ (unsigned long long)le64_to_cpu(ino->creat_sqnum));
++ printk(KERN_DEBUG "\tsize %llu\n",
++ (unsigned long long)le64_to_cpu(ino->size));
++ printk(KERN_DEBUG "\tnlink %u\n",
++ le32_to_cpu(ino->nlink));
++ printk(KERN_DEBUG "\tatime %lld.%u\n",
++ (long long)le64_to_cpu(ino->atime_sec),
++ le32_to_cpu(ino->atime_nsec));
++ printk(KERN_DEBUG "\tmtime %lld.%u\n",
++ (long long)le64_to_cpu(ino->mtime_sec),
++ le32_to_cpu(ino->mtime_nsec));
++ printk(KERN_DEBUG "\tctime %lld.%u\n",
++ (long long)le64_to_cpu(ino->ctime_sec),
++ le32_to_cpu(ino->ctime_nsec));
++ printk(KERN_DEBUG "\tuid %u\n",
++ le32_to_cpu(ino->uid));
++ printk(KERN_DEBUG "\tgid %u\n",
++ le32_to_cpu(ino->gid));
++ printk(KERN_DEBUG "\tmode %u\n",
++ le32_to_cpu(ino->mode));
++ printk(KERN_DEBUG "\tflags %#x\n",
++ le32_to_cpu(ino->flags));
++ printk(KERN_DEBUG "\txattr_cnt %u\n",
++ le32_to_cpu(ino->xattr_cnt));
++ printk(KERN_DEBUG "\txattr_size %u\n",
++ le32_to_cpu(ino->xattr_size));
++ printk(KERN_DEBUG "\txattr_names %u\n",
++ le32_to_cpu(ino->xattr_names));
++ printk(KERN_DEBUG "\tcompr_type %#x\n",
++ (int)le16_to_cpu(ino->compr_type));
++ printk(KERN_DEBUG "\tdata len %u\n",
++ le32_to_cpu(ino->data_len));
++ break;
++ }
++ case UBIFS_DENT_NODE:
++ case UBIFS_XENT_NODE:
++ {
++ const struct ubifs_dent_node *dent = node;
++ int nlen = le16_to_cpu(dent->nlen);
++
++ key_read(c, &dent->key, &key);
++ printk(KERN_DEBUG "\tkey %s\n", DBGKEY(&key));
++ printk(KERN_DEBUG "\tinum %llu\n",
++ (unsigned long long)le64_to_cpu(dent->inum));
++ printk(KERN_DEBUG "\ttype %d\n", (int)dent->type);
++ printk(KERN_DEBUG "\tnlen %d\n", nlen);
++ printk(KERN_DEBUG "\tname ");
++
++ if (nlen > UBIFS_MAX_NLEN)
++ printk(KERN_DEBUG "(bad name length, not printing, "
++ "bad or corrupted node)");
++ else {
++ for (i = 0; i < nlen && dent->name[i]; i++)
++ printk(KERN_CONT "%c", dent->name[i]);
++ }
++ printk(KERN_CONT "\n");
++
++ break;
++ }
++ case UBIFS_DATA_NODE:
++ {
++ const struct ubifs_data_node *dn = node;
++ int dlen = le32_to_cpu(ch->len) - UBIFS_DATA_NODE_SZ;
++
++ key_read(c, &dn->key, &key);
++ printk(KERN_DEBUG "\tkey %s\n", DBGKEY(&key));
++ printk(KERN_DEBUG "\tsize %u\n",
++ le32_to_cpu(dn->size));
++ printk(KERN_DEBUG "\tcompr_typ %d\n",
++ (int)le16_to_cpu(dn->compr_type));
++ printk(KERN_DEBUG "\tdata size %d\n",
++ dlen);
++ printk(KERN_DEBUG "\tdata:\n");
++ print_hex_dump(KERN_DEBUG, "\t", DUMP_PREFIX_OFFSET, 32, 1,
++ (void *)&dn->data, dlen, 0);
++ break;
++ }
++ case UBIFS_TRUN_NODE:
++ {
++ const struct ubifs_trun_node *trun = node;
++
++ printk(KERN_DEBUG "\tinum %u\n",
++ le32_to_cpu(trun->inum));
++ printk(KERN_DEBUG "\told_size %llu\n",
++ (unsigned long long)le64_to_cpu(trun->old_size));
++ printk(KERN_DEBUG "\tnew_size %llu\n",
++ (unsigned long long)le64_to_cpu(trun->new_size));
++ break;
++ }
++ case UBIFS_IDX_NODE:
++ {
++ const struct ubifs_idx_node *idx = node;
++
++ n = le16_to_cpu(idx->child_cnt);
++ printk(KERN_DEBUG "\tchild_cnt %d\n", n);
++ printk(KERN_DEBUG "\tlevel %d\n",
++ (int)le16_to_cpu(idx->level));
++ printk(KERN_DEBUG "\tBranches:\n");
++
++ for (i = 0; i < n && i < c->fanout - 1; i++) {
++ const struct ubifs_branch *br;
++
++ br = ubifs_idx_branch(c, idx, i);
++ key_read(c, &br->key, &key);
++ printk(KERN_DEBUG "\t%d: LEB %d:%d len %d key %s\n",
++ i, le32_to_cpu(br->lnum), le32_to_cpu(br->offs),
++ le32_to_cpu(br->len), DBGKEY(&key));
++ }
++ break;
++ }
++ case UBIFS_CS_NODE:
++ break;
++ case UBIFS_ORPH_NODE:
++ {
++ const struct ubifs_orph_node *orph = node;
++
++ printk(KERN_DEBUG "\tcommit number %llu\n",
++ (unsigned long long)
++ le64_to_cpu(orph->cmt_no) & LLONG_MAX);
++ printk(KERN_DEBUG "\tlast node flag %llu\n",
++ (unsigned long long)(le64_to_cpu(orph->cmt_no)) >> 63);
++ n = (le32_to_cpu(ch->len) - UBIFS_ORPH_NODE_SZ) >> 3;
++ printk(KERN_DEBUG "\t%d orphan inode numbers:\n", n);
++ for (i = 0; i < n; i++)
++ printk(KERN_DEBUG "\t ino %llu\n",
++ (unsigned long long)le64_to_cpu(orph->inos[i]));
++ break;
++ }
++ default:
++ printk(KERN_DEBUG "node type %d was not recognized\n",
++ (int)ch->node_type);
++ }
++ spin_unlock(&dbg_lock);
++}
++
++void dbg_dump_budget_req(const struct ubifs_budget_req *req)
++{
++ spin_lock(&dbg_lock);
++ printk(KERN_DEBUG "Budgeting request: new_ino %d, dirtied_ino %d\n",
++ req->new_ino, req->dirtied_ino);
++ printk(KERN_DEBUG "\tnew_ino_d %d, dirtied_ino_d %d\n",
++ req->new_ino_d, req->dirtied_ino_d);
++ printk(KERN_DEBUG "\tnew_page %d, dirtied_page %d\n",
++ req->new_page, req->dirtied_page);
++ printk(KERN_DEBUG "\tnew_dent %d, mod_dent %d\n",
++ req->new_dent, req->mod_dent);
++ printk(KERN_DEBUG "\tidx_growth %d\n", req->idx_growth);
++ printk(KERN_DEBUG "\tdata_growth %d dd_growth %d\n",
++ req->data_growth, req->dd_growth);
++ spin_unlock(&dbg_lock);
++}
++
++void dbg_dump_lstats(const struct ubifs_lp_stats *lst)
++{
++ spin_lock(&dbg_lock);
++ printk(KERN_DEBUG "(pid %d) Lprops statistics: empty_lebs %d, "
++ "idx_lebs %d\n", current->pid, lst->empty_lebs, lst->idx_lebs);
++ printk(KERN_DEBUG "\ttaken_empty_lebs %d, total_free %lld, "
++ "total_dirty %lld\n", lst->taken_empty_lebs, lst->total_free,
++ lst->total_dirty);
++ printk(KERN_DEBUG "\ttotal_used %lld, total_dark %lld, "
++ "total_dead %lld\n", lst->total_used, lst->total_dark,
++ lst->total_dead);
++ spin_unlock(&dbg_lock);
++}
++
++void dbg_dump_budg(struct ubifs_info *c)
++{
++ int i;
++ struct rb_node *rb;
++ struct ubifs_bud *bud;
++ struct ubifs_gced_idx_leb *idx_gc;
++ long long available, outstanding, free;
++
++ ubifs_assert(spin_is_locked(&c->space_lock));
++ spin_lock(&dbg_lock);
++ printk(KERN_DEBUG "(pid %d) Budgeting info: budg_data_growth %lld, "
++ "budg_dd_growth %lld, budg_idx_growth %lld\n", current->pid,
++ c->budg_data_growth, c->budg_dd_growth, c->budg_idx_growth);
++ printk(KERN_DEBUG "\tdata budget sum %lld, total budget sum %lld, "
++ "freeable_cnt %d\n", c->budg_data_growth + c->budg_dd_growth,
++ c->budg_data_growth + c->budg_dd_growth + c->budg_idx_growth,
++ c->freeable_cnt);
++ printk(KERN_DEBUG "\tmin_idx_lebs %d, old_idx_sz %lld, "
++ "calc_idx_sz %lld, idx_gc_cnt %d\n", c->min_idx_lebs,
++ c->old_idx_sz, c->calc_idx_sz, c->idx_gc_cnt);
++ printk(KERN_DEBUG "\tdirty_pg_cnt %ld, dirty_zn_cnt %ld, "
++ "clean_zn_cnt %ld\n", atomic_long_read(&c->dirty_pg_cnt),
++ atomic_long_read(&c->dirty_zn_cnt),
++ atomic_long_read(&c->clean_zn_cnt));
++ printk(KERN_DEBUG "\tdark_wm %d, dead_wm %d, max_idx_node_sz %d\n",
++ c->dark_wm, c->dead_wm, c->max_idx_node_sz);
++ printk(KERN_DEBUG "\tgc_lnum %d, ihead_lnum %d\n",
++ c->gc_lnum, c->ihead_lnum);
++ /* If we are in R/O mode, journal heads do not exist */
++ if (c->jheads)
++ for (i = 0; i < c->jhead_cnt; i++)
++ printk(KERN_DEBUG "\tjhead %d\t LEB %d\n",
++ c->jheads[i].wbuf.jhead, c->jheads[i].wbuf.lnum);
++ for (rb = rb_first(&c->buds); rb; rb = rb_next(rb)) {
++ bud = rb_entry(rb, struct ubifs_bud, rb);
++ printk(KERN_DEBUG "\tbud LEB %d\n", bud->lnum);
++ }
++ list_for_each_entry(bud, &c->old_buds, list)
++ printk(KERN_DEBUG "\told bud LEB %d\n", bud->lnum);
++ list_for_each_entry(idx_gc, &c->idx_gc, list)
++ printk(KERN_DEBUG "\tGC'ed idx LEB %d unmap %d\n",
++ idx_gc->lnum, idx_gc->unmap);
++ printk(KERN_DEBUG "\tcommit state %d\n", c->cmt_state);
++
++ /* Print budgeting predictions */
++ available = ubifs_calc_available(c, c->min_idx_lebs);
++ outstanding = c->budg_data_growth + c->budg_dd_growth;
++ free = ubifs_get_free_space_nolock(c);
++ printk(KERN_DEBUG "Budgeting predictions:\n");
++ printk(KERN_DEBUG "\tavailable: %lld, outstanding %lld, free %lld\n",
++ available, outstanding, free);
++ spin_unlock(&dbg_lock);
++}
++
++void dbg_dump_lprop(const struct ubifs_info *c, const struct ubifs_lprops *lp)
++{
++ printk(KERN_DEBUG "LEB %d lprops: free %d, dirty %d (used %d), "
++ "flags %#x\n", lp->lnum, lp->free, lp->dirty,
++ c->leb_size - lp->free - lp->dirty, lp->flags);
++}
++
++void dbg_dump_lprops(struct ubifs_info *c)
++{
++ int lnum, err;
++ struct ubifs_lprops lp;
++ struct ubifs_lp_stats lst;
++
++ printk(KERN_DEBUG "(pid %d) start dumping LEB properties\n",
++ current->pid);
++ ubifs_get_lp_stats(c, &lst);
++ dbg_dump_lstats(&lst);
++
++ for (lnum = c->main_first; lnum < c->leb_cnt; lnum++) {
++ err = ubifs_read_one_lp(c, lnum, &lp);
++ if (err)
++ ubifs_err("cannot read lprops for LEB %d", lnum);
++
++ dbg_dump_lprop(c, &lp);
++ }
++ printk(KERN_DEBUG "(pid %d) finish dumping LEB properties\n",
++ current->pid);
++}
++
++void dbg_dump_lpt_info(struct ubifs_info *c)
++{
++ int i;
++
++ spin_lock(&dbg_lock);
++ printk(KERN_DEBUG "(pid %d) dumping LPT information\n", current->pid);
++ printk(KERN_DEBUG "\tlpt_sz: %lld\n", c->lpt_sz);
++ printk(KERN_DEBUG "\tpnode_sz: %d\n", c->pnode_sz);
++ printk(KERN_DEBUG "\tnnode_sz: %d\n", c->nnode_sz);
++ printk(KERN_DEBUG "\tltab_sz: %d\n", c->ltab_sz);
++ printk(KERN_DEBUG "\tlsave_sz: %d\n", c->lsave_sz);
++ printk(KERN_DEBUG "\tbig_lpt: %d\n", c->big_lpt);
++ printk(KERN_DEBUG "\tlpt_hght: %d\n", c->lpt_hght);
++ printk(KERN_DEBUG "\tpnode_cnt: %d\n", c->pnode_cnt);
++ printk(KERN_DEBUG "\tnnode_cnt: %d\n", c->nnode_cnt);
++ printk(KERN_DEBUG "\tdirty_pn_cnt: %d\n", c->dirty_pn_cnt);
++ printk(KERN_DEBUG "\tdirty_nn_cnt: %d\n", c->dirty_nn_cnt);
++ printk(KERN_DEBUG "\tlsave_cnt: %d\n", c->lsave_cnt);
++ printk(KERN_DEBUG "\tspace_bits: %d\n", c->space_bits);
++ printk(KERN_DEBUG "\tlpt_lnum_bits: %d\n", c->lpt_lnum_bits);
++ printk(KERN_DEBUG "\tlpt_offs_bits: %d\n", c->lpt_offs_bits);
++ printk(KERN_DEBUG "\tlpt_spc_bits: %d\n", c->lpt_spc_bits);
++ printk(KERN_DEBUG "\tpcnt_bits: %d\n", c->pcnt_bits);
++ printk(KERN_DEBUG "\tlnum_bits: %d\n", c->lnum_bits);
++ printk(KERN_DEBUG "\tLPT root is at %d:%d\n", c->lpt_lnum, c->lpt_offs);
++ printk(KERN_DEBUG "\tLPT head is at %d:%d\n",
++ c->nhead_lnum, c->nhead_offs);
++ printk(KERN_DEBUG "\tLPT ltab is at %d:%d\n",
++ c->ltab_lnum, c->ltab_offs);
++ if (c->big_lpt)
++ printk(KERN_DEBUG "\tLPT lsave is at %d:%d\n",
++ c->lsave_lnum, c->lsave_offs);
++ for (i = 0; i < c->lpt_lebs; i++)
++ printk(KERN_DEBUG "\tLPT LEB %d free %d dirty %d tgc %d "
++ "cmt %d\n", i + c->lpt_first, c->ltab[i].free,
++ c->ltab[i].dirty, c->ltab[i].tgc, c->ltab[i].cmt);
++ spin_unlock(&dbg_lock);
++}
++
++void dbg_dump_leb(const struct ubifs_info *c, int lnum)
++{
++ struct ubifs_scan_leb *sleb;
++ struct ubifs_scan_node *snod;
++
++ if (dbg_failure_mode)
++ return;
++
++ printk(KERN_DEBUG "(pid %d) start dumping LEB %d\n",
++ current->pid, lnum);
++ sleb = ubifs_scan(c, lnum, 0, c->dbg->buf);
++ if (IS_ERR(sleb)) {
++ ubifs_err("scan error %d", (int)PTR_ERR(sleb));
++ return;
++ }
++
++ printk(KERN_DEBUG "LEB %d has %d nodes ending at %d\n", lnum,
++ sleb->nodes_cnt, sleb->endpt);
++
++ list_for_each_entry(snod, &sleb->nodes, list) {
++ cond_resched();
++ printk(KERN_DEBUG "Dumping node at LEB %d:%d len %d\n", lnum,
++ snod->offs, snod->len);
++ dbg_dump_node(c, snod->node);
++ }
++
++ printk(KERN_DEBUG "(pid %d) finish dumping LEB %d\n",
++ current->pid, lnum);
++ ubifs_scan_destroy(sleb);
++ return;
++}
++
++void dbg_dump_znode(const struct ubifs_info *c,
++ const struct ubifs_znode *znode)
++{
++ int n;
++ const struct ubifs_zbranch *zbr;
++
++ spin_lock(&dbg_lock);
++ if (znode->parent)
++ zbr = &znode->parent->zbranch[znode->iip];
++ else
++ zbr = &c->zroot;
++
++ printk(KERN_DEBUG "znode %p, LEB %d:%d len %d parent %p iip %d level %d"
++ " child_cnt %d flags %lx\n", znode, zbr->lnum, zbr->offs,
++ zbr->len, znode->parent, znode->iip, znode->level,
++ znode->child_cnt, znode->flags);
++
++ if (znode->child_cnt <= 0 || znode->child_cnt > c->fanout) {
++ spin_unlock(&dbg_lock);
++ return;
++ }
++
++ printk(KERN_DEBUG "zbranches:\n");
++ for (n = 0; n < znode->child_cnt; n++) {
++ zbr = &znode->zbranch[n];
++ if (znode->level > 0)
++ printk(KERN_DEBUG "\t%d: znode %p LEB %d:%d len %d key "
++ "%s\n", n, zbr->znode, zbr->lnum,
++ zbr->offs, zbr->len,
++ DBGKEY(&zbr->key));
++ else
++ printk(KERN_DEBUG "\t%d: LNC %p LEB %d:%d len %d key "
++ "%s\n", n, zbr->znode, zbr->lnum,
++ zbr->offs, zbr->len,
++ DBGKEY(&zbr->key));
++ }
++ spin_unlock(&dbg_lock);
++}
++
++void dbg_dump_heap(struct ubifs_info *c, struct ubifs_lpt_heap *heap, int cat)
++{
++ int i;
++
++ printk(KERN_DEBUG "(pid %d) start dumping heap cat %d (%d elements)\n",
++ current->pid, cat, heap->cnt);
++ for (i = 0; i < heap->cnt; i++) {
++ struct ubifs_lprops *lprops = heap->arr[i];
++
++ printk(KERN_DEBUG "\t%d. LEB %d hpos %d free %d dirty %d "
++ "flags %d\n", i, lprops->lnum, lprops->hpos,
++ lprops->free, lprops->dirty, lprops->flags);
++ }
++ printk(KERN_DEBUG "(pid %d) finish dumping heap\n", current->pid);
++}
++
++void dbg_dump_pnode(struct ubifs_info *c, struct ubifs_pnode *pnode,
++ struct ubifs_nnode *parent, int iip)
++{
++ int i;
++
++ printk(KERN_DEBUG "(pid %d) dumping pnode:\n", current->pid);
++ printk(KERN_DEBUG "\taddress %zx parent %zx cnext %zx\n",
++ (size_t)pnode, (size_t)parent, (size_t)pnode->cnext);
++ printk(KERN_DEBUG "\tflags %lu iip %d level %d num %d\n",
++ pnode->flags, iip, pnode->level, pnode->num);
++ for (i = 0; i < UBIFS_LPT_FANOUT; i++) {
++ struct ubifs_lprops *lp = &pnode->lprops[i];
++
++ printk(KERN_DEBUG "\t%d: free %d dirty %d flags %d lnum %d\n",
++ i, lp->free, lp->dirty, lp->flags, lp->lnum);
++ }
++}
++
++void dbg_dump_tnc(struct ubifs_info *c)
++{
++ struct ubifs_znode *znode;
++ int level;
++
++ printk(KERN_DEBUG "\n");
++ printk(KERN_DEBUG "(pid %d) start dumping TNC tree\n", current->pid);
++ znode = ubifs_tnc_levelorder_next(c->zroot.znode, NULL);
++ level = znode->level;
++ printk(KERN_DEBUG "== Level %d ==\n", level);
++ while (znode) {
++ if (level != znode->level) {
++ level = znode->level;
++ printk(KERN_DEBUG "== Level %d ==\n", level);
++ }
++ dbg_dump_znode(c, znode);
++ znode = ubifs_tnc_levelorder_next(c->zroot.znode, znode);
++ }
++ printk(KERN_DEBUG "(pid %d) finish dumping TNC tree\n", current->pid);
++}
++
++static int dump_znode(struct ubifs_info *c, struct ubifs_znode *znode,
++ void *priv)
++{
++ dbg_dump_znode(c, znode);
++ return 0;
++}
++
++/**
++ * dbg_dump_index - dump the on-flash index.
++ * @c: UBIFS file-system description object
++ *
++ * This function dumps whole UBIFS indexing B-tree, unlike 'dbg_dump_tnc()'
++ * which dumps only in-memory znodes and does not read znodes which from flash.
++ */
++void dbg_dump_index(struct ubifs_info *c)
++{
++ dbg_walk_index(c, NULL, dump_znode, NULL);
++}
++
++/**
++ * dbg_save_space_info - save information about flash space.
++ * @c: UBIFS file-system description object
++ *
++ * This function saves information about UBIFS free space, dirty space, etc, in
++ * order to check it later.
++ */
++void dbg_save_space_info(struct ubifs_info *c)
++{
++ struct ubifs_debug_info *d = c->dbg;
++
++ ubifs_get_lp_stats(c, &d->saved_lst);
++
++ spin_lock(&c->space_lock);
++ d->saved_free = ubifs_get_free_space_nolock(c);
++ spin_unlock(&c->space_lock);
++}
++
++/**
++ * dbg_check_space_info - check flash space information.
++ * @c: UBIFS file-system description object
++ *
++ * This function compares current flash space information with the information
++ * which was saved when the 'dbg_save_space_info()' function was called.
++ * Returns zero if the information has not changed, and %-EINVAL it it has
++ * changed.
++ */
++int dbg_check_space_info(struct ubifs_info *c)
++{
++ struct ubifs_debug_info *d = c->dbg;
++ struct ubifs_lp_stats lst;
++ long long avail, free;
++
++ spin_lock(&c->space_lock);
++ avail = ubifs_calc_available(c, c->min_idx_lebs);
++ spin_unlock(&c->space_lock);
++ free = ubifs_get_free_space(c);
++
++ if (free != d->saved_free) {
++ ubifs_err("free space changed from %lld to %lld",
++ d->saved_free, free);
++ goto out;
++ }
++
++ return 0;
++
++out:
++ ubifs_msg("saved lprops statistics dump");
++ dbg_dump_lstats(&d->saved_lst);
++ ubifs_get_lp_stats(c, &lst);
++ ubifs_msg("current lprops statistics dump");
++ dbg_dump_lstats(&d->saved_lst);
++ spin_lock(&c->space_lock);
++ dbg_dump_budg(c);
++ spin_unlock(&c->space_lock);
++ dump_stack();
++ return -EINVAL;
++}
++
++/**
++ * dbg_check_synced_i_size - check synchronized inode size.
++ * @inode: inode to check
++ *
++ * If inode is clean, synchronized inode size has to be equivalent to current
++ * inode size. This function has to be called only for locked inodes (@i_mutex
++ * has to be locked). Returns %0 if synchronized inode size if correct, and
++ * %-EINVAL if not.
++ */
++int dbg_check_synced_i_size(struct inode *inode)
++{
++ int err = 0;
++ struct ubifs_inode *ui = ubifs_inode(inode);
++
++ if (!(ubifs_chk_flags & UBIFS_CHK_GEN))
++ return 0;
++ if (!S_ISREG(inode->i_mode))
++ return 0;
++
++ mutex_lock(&ui->ui_mutex);
++ spin_lock(&ui->ui_lock);
++ if (ui->ui_size != ui->synced_i_size && !ui->dirty) {
++ ubifs_err("ui_size is %lld, synced_i_size is %lld, but inode "
++ "is clean", ui->ui_size, ui->synced_i_size);
++ ubifs_err("i_ino %lu, i_mode %#x, i_size %lld", inode->i_ino,
++ inode->i_mode, i_size_read(inode));
++ dbg_dump_stack();
++ err = -EINVAL;
++ }
++ spin_unlock(&ui->ui_lock);
++ mutex_unlock(&ui->ui_mutex);
++ return err;
++}
++
++/*
++ * dbg_check_dir - check directory inode size and link count.
++ * @c: UBIFS file-system description object
++ * @dir: the directory to calculate size for
++ * @size: the result is returned here
++ *
++ * This function makes sure that directory size and link count are correct.
++ * Returns zero in case of success and a negative error code in case of
++ * failure.
++ *
++ * Note, it is good idea to make sure the @dir->i_mutex is locked before
++ * calling this function.
++ */
++int dbg_check_dir_size(struct ubifs_info *c, const struct inode *dir)
++{
++ unsigned int nlink = 2;
++ union ubifs_key key;
++ struct ubifs_dent_node *dent, *pdent = NULL;
++ struct qstr nm = { .name = NULL };
++ loff_t size = UBIFS_INO_NODE_SZ;
++
++ if (!(ubifs_chk_flags & UBIFS_CHK_GEN))
++ return 0;
++
++ if (!S_ISDIR(dir->i_mode))
++ return 0;
++
++ lowest_dent_key(c, &key, dir->i_ino);
++ while (1) {
++ int err;
++
++ dent = ubifs_tnc_next_ent(c, &key, &nm);
++ if (IS_ERR(dent)) {
++ err = PTR_ERR(dent);
++ if (err == -ENOENT)
++ break;
++ return err;
++ }
++
++ nm.name = dent->name;
++ nm.len = le16_to_cpu(dent->nlen);
++ size += CALC_DENT_SIZE(nm.len);
++ if (dent->type == UBIFS_ITYPE_DIR)
++ nlink += 1;
++ kfree(pdent);
++ pdent = dent;
++ key_read(c, &dent->key, &key);
++ }
++ kfree(pdent);
++
++ if (i_size_read(dir) != size) {
++ ubifs_err("directory inode %lu has size %llu, "
++ "but calculated size is %llu", dir->i_ino,
++ (unsigned long long)i_size_read(dir),
++ (unsigned long long)size);
++ dump_stack();
++ return -EINVAL;
++ }
++ if (dir->i_nlink != nlink) {
++ ubifs_err("directory inode %lu has nlink %u, but calculated "
++ "nlink is %u", dir->i_ino, dir->i_nlink, nlink);
++ dump_stack();
++ return -EINVAL;
++ }
++
++ return 0;
++}
++
++/**
++ * dbg_check_key_order - make sure that colliding keys are properly ordered.
++ * @c: UBIFS file-system description object
++ * @zbr1: first zbranch
++ * @zbr2: following zbranch
++ *
++ * In UBIFS indexing B-tree colliding keys has to be sorted in binary order of
++ * names of the direntries/xentries which are referred by the keys. This
++ * function reads direntries/xentries referred by @zbr1 and @zbr2 and makes
++ * sure the name of direntry/xentry referred by @zbr1 is less than
++ * direntry/xentry referred by @zbr2. Returns zero if this is true, %1 if not,
++ * and a negative error code in case of failure.
++ */
++static int dbg_check_key_order(struct ubifs_info *c, struct ubifs_zbranch *zbr1,
++ struct ubifs_zbranch *zbr2)
++{
++ int err, nlen1, nlen2, cmp;
++ struct ubifs_dent_node *dent1, *dent2;
++ union ubifs_key key;
++
++ ubifs_assert(!keys_cmp(c, &zbr1->key, &zbr2->key));
++ dent1 = kmalloc(UBIFS_MAX_DENT_NODE_SZ, GFP_NOFS);
++ if (!dent1)
++ return -ENOMEM;
++ dent2 = kmalloc(UBIFS_MAX_DENT_NODE_SZ, GFP_NOFS);
++ if (!dent2) {
++ err = -ENOMEM;
++ goto out_free;
++ }
++
++ err = ubifs_tnc_read_node(c, zbr1, dent1);
++ if (err)
++ goto out_free;
++ err = ubifs_validate_entry(c, dent1);
++ if (err)
++ goto out_free;
++
++ err = ubifs_tnc_read_node(c, zbr2, dent2);
++ if (err)
++ goto out_free;
++ err = ubifs_validate_entry(c, dent2);
++ if (err)
++ goto out_free;
++
++ /* Make sure node keys are the same as in zbranch */
++ err = 1;
++ key_read(c, &dent1->key, &key);
++ if (keys_cmp(c, &zbr1->key, &key)) {
++ dbg_err("1st entry at %d:%d has key %s", zbr1->lnum,
++ zbr1->offs, DBGKEY(&key));
++ dbg_err("but it should have key %s according to tnc",
++ DBGKEY(&zbr1->key));
++ dbg_dump_node(c, dent1);
++ goto out_free;
++ }
++
++ key_read(c, &dent2->key, &key);
++ if (keys_cmp(c, &zbr2->key, &key)) {
++ dbg_err("2nd entry at %d:%d has key %s", zbr1->lnum,
++ zbr1->offs, DBGKEY(&key));
++ dbg_err("but it should have key %s according to tnc",
++ DBGKEY(&zbr2->key));
++ dbg_dump_node(c, dent2);
++ goto out_free;
++ }
++
++ nlen1 = le16_to_cpu(dent1->nlen);
++ nlen2 = le16_to_cpu(dent2->nlen);
++
++ cmp = memcmp(dent1->name, dent2->name, min_t(int, nlen1, nlen2));
++ if (cmp < 0 || (cmp == 0 && nlen1 < nlen2)) {
++ err = 0;
++ goto out_free;
++ }
++ if (cmp == 0 && nlen1 == nlen2)
++ dbg_err("2 xent/dent nodes with the same name");
++ else
++ dbg_err("bad order of colliding key %s",
++ DBGKEY(&key));
++
++ ubifs_msg("first node at %d:%d\n", zbr1->lnum, zbr1->offs);
++ dbg_dump_node(c, dent1);
++ ubifs_msg("second node at %d:%d\n", zbr2->lnum, zbr2->offs);
++ dbg_dump_node(c, dent2);
++
++out_free:
++ kfree(dent2);
++ kfree(dent1);
++ return err;
++}
++
++/**
++ * dbg_check_znode - check if znode is all right.
++ * @c: UBIFS file-system description object
++ * @zbr: zbranch which points to this znode
++ *
++ * This function makes sure that znode referred to by @zbr is all right.
++ * Returns zero if it is, and %-EINVAL if it is not.
++ */
++static int dbg_check_znode(struct ubifs_info *c, struct ubifs_zbranch *zbr)
++{
++ struct ubifs_znode *znode = zbr->znode;
++ struct ubifs_znode *zp = znode->parent;
++ int n, err, cmp;
++
++ if (znode->child_cnt <= 0 || znode->child_cnt > c->fanout) {
++ err = 1;
++ goto out;
++ }
++ if (znode->level < 0) {
++ err = 2;
++ goto out;
++ }
++ if (znode->iip < 0 || znode->iip >= c->fanout) {
++ err = 3;
++ goto out;
++ }
++
++ if (zbr->len == 0)
++ /* Only dirty zbranch may have no on-flash nodes */
++ if (!ubifs_zn_dirty(znode)) {
++ err = 4;
++ goto out;
++ }
++
++ if (ubifs_zn_dirty(znode)) {
++ /*
++ * If znode is dirty, its parent has to be dirty as well. The
++ * order of the operation is important, so we have to have
++ * memory barriers.
++ */
++ smp_mb();
++ if (zp && !ubifs_zn_dirty(zp)) {
++ /*
++ * The dirty flag is atomic and is cleared outside the
++ * TNC mutex, so znode's dirty flag may now have
++ * been cleared. The child is always cleared before the
++ * parent, so we just need to check again.
++ */
++ smp_mb();
++ if (ubifs_zn_dirty(znode)) {
++ err = 5;
++ goto out;
++ }
++ }
++ }
++
++ if (zp) {
++ const union ubifs_key *min, *max;
++
++ if (znode->level != zp->level - 1) {
++ err = 6;
++ goto out;
++ }
++
++ /* Make sure the 'parent' pointer in our znode is correct */
++ err = ubifs_search_zbranch(c, zp, &zbr->key, &n);
++ if (!err) {
++ /* This zbranch does not exist in the parent */
++ err = 7;
++ goto out;
++ }
++
++ if (znode->iip >= zp->child_cnt) {
++ err = 8;
++ goto out;
++ }
++
++ if (znode->iip != n) {
++ /* This may happen only in case of collisions */
++ if (keys_cmp(c, &zp->zbranch[n].key,
++ &zp->zbranch[znode->iip].key)) {
++ err = 9;
++ goto out;
++ }
++ n = znode->iip;
++ }
++
++ /*
++ * Make sure that the first key in our znode is greater than or
++ * equal to the key in the pointing zbranch.
++ */
++ min = &zbr->key;
++ cmp = keys_cmp(c, min, &znode->zbranch[0].key);
++ if (cmp == 1) {
++ err = 10;
++ goto out;
++ }
++
++ if (n + 1 < zp->child_cnt) {
++ max = &zp->zbranch[n + 1].key;
++
++ /*
++ * Make sure the last key in our znode is less or
++ * equivalent than the key in the zbranch which goes
++ * after our pointing zbranch.
++ */
++ cmp = keys_cmp(c, max,
++ &znode->zbranch[znode->child_cnt - 1].key);
++ if (cmp == -1) {
++ err = 11;
++ goto out;
++ }
++ }
++ } else {
++ /* This may only be root znode */
++ if (zbr != &c->zroot) {
++ err = 12;
++ goto out;
++ }
++ }
++
++ /*
++ * Make sure that next key is greater or equivalent then the previous
++ * one.
++ */
++ for (n = 1; n < znode->child_cnt; n++) {
++ cmp = keys_cmp(c, &znode->zbranch[n - 1].key,
++ &znode->zbranch[n].key);
++ if (cmp > 0) {
++ err = 13;
++ goto out;
++ }
++ if (cmp == 0) {
++ /* This can only be keys with colliding hash */
++ if (!is_hash_key(c, &znode->zbranch[n].key)) {
++ err = 14;
++ goto out;
++ }
++
++ if (znode->level != 0 || c->replaying)
++ continue;
++
++ /*
++ * Colliding keys should follow binary order of
++ * corresponding xentry/dentry names.
++ */
++ err = dbg_check_key_order(c, &znode->zbranch[n - 1],
++ &znode->zbranch[n]);
++ if (err < 0)
++ return err;
++ if (err) {
++ err = 15;
++ goto out;
++ }
++ }
++ }
++
++ for (n = 0; n < znode->child_cnt; n++) {
++ if (!znode->zbranch[n].znode &&
++ (znode->zbranch[n].lnum == 0 ||
++ znode->zbranch[n].len == 0)) {
++ err = 16;
++ goto out;
++ }
++
++ if (znode->zbranch[n].lnum != 0 &&
++ znode->zbranch[n].len == 0) {
++ err = 17;
++ goto out;
++ }
++
++ if (znode->zbranch[n].lnum == 0 &&
++ znode->zbranch[n].len != 0) {
++ err = 18;
++ goto out;
++ }
++
++ if (znode->zbranch[n].lnum == 0 &&
++ znode->zbranch[n].offs != 0) {
++ err = 19;
++ goto out;
++ }
++
++ if (znode->level != 0 && znode->zbranch[n].znode)
++ if (znode->zbranch[n].znode->parent != znode) {
++ err = 20;
++ goto out;
++ }
++ }
++
++ return 0;
++
++out:
++ ubifs_err("failed, error %d", err);
++ ubifs_msg("dump of the znode");
++ dbg_dump_znode(c, znode);
++ if (zp) {
++ ubifs_msg("dump of the parent znode");
++ dbg_dump_znode(c, zp);
++ }
++ dump_stack();
++ return -EINVAL;
++}
++
++/**
++ * dbg_check_tnc - check TNC tree.
++ * @c: UBIFS file-system description object
++ * @extra: do extra checks that are possible at start commit
++ *
++ * This function traverses whole TNC tree and checks every znode. Returns zero
++ * if everything is all right and %-EINVAL if something is wrong with TNC.
++ */
++int dbg_check_tnc(struct ubifs_info *c, int extra)
++{
++ struct ubifs_znode *znode;
++ long clean_cnt = 0, dirty_cnt = 0;
++ int err, last;
++
++ if (!(ubifs_chk_flags & UBIFS_CHK_TNC))
++ return 0;
++
++ ubifs_assert(mutex_is_locked(&c->tnc_mutex));
++ if (!c->zroot.znode)
++ return 0;
++
++ znode = ubifs_tnc_postorder_first(c->zroot.znode);
++ while (1) {
++ struct ubifs_znode *prev;
++ struct ubifs_zbranch *zbr;
++
++ if (!znode->parent)
++ zbr = &c->zroot;
++ else
++ zbr = &znode->parent->zbranch[znode->iip];
++
++ err = dbg_check_znode(c, zbr);
++ if (err)
++ return err;
++
++ if (extra) {
++ if (ubifs_zn_dirty(znode))
++ dirty_cnt += 1;
++ else
++ clean_cnt += 1;
++ }
++
++ prev = znode;
++ znode = ubifs_tnc_postorder_next(znode);
++ if (!znode)
++ break;
++
++ /*
++ * If the last key of this znode is equivalent to the first key
++ * of the next znode (collision), then check order of the keys.
++ */
++ last = prev->child_cnt - 1;
++ if (prev->level == 0 && znode->level == 0 && !c->replaying &&
++ !keys_cmp(c, &prev->zbranch[last].key,
++ &znode->zbranch[0].key)) {
++ err = dbg_check_key_order(c, &prev->zbranch[last],
++ &znode->zbranch[0]);
++ if (err < 0)
++ return err;
++ if (err) {
++ ubifs_msg("first znode");
++ dbg_dump_znode(c, prev);
++ ubifs_msg("second znode");
++ dbg_dump_znode(c, znode);
++ return -EINVAL;
++ }
++ }
++ }
++
++ if (extra) {
++ if (clean_cnt != atomic_long_read(&c->clean_zn_cnt)) {
++ ubifs_err("incorrect clean_zn_cnt %ld, calculated %ld",
++ atomic_long_read(&c->clean_zn_cnt),
++ clean_cnt);
++ return -EINVAL;
++ }
++ if (dirty_cnt != atomic_long_read(&c->dirty_zn_cnt)) {
++ ubifs_err("incorrect dirty_zn_cnt %ld, calculated %ld",
++ atomic_long_read(&c->dirty_zn_cnt),
++ dirty_cnt);
++ return -EINVAL;
++ }
++ }
++
++ return 0;
++}
++
++/**
++ * dbg_walk_index - walk the on-flash index.
++ * @c: UBIFS file-system description object
++ * @leaf_cb: called for each leaf node
++ * @znode_cb: called for each indexing node
++ * @priv: private data which is passed to callbacks
++ *
++ * This function walks the UBIFS index and calls the @leaf_cb for each leaf
++ * node and @znode_cb for each indexing node. Returns zero in case of success
++ * and a negative error code in case of failure.
++ *
++ * It would be better if this function removed every znode it pulled to into
++ * the TNC, so that the behavior more closely matched the non-debugging
++ * behavior.
++ */
++int dbg_walk_index(struct ubifs_info *c, dbg_leaf_callback leaf_cb,
++ dbg_znode_callback znode_cb, void *priv)
++{
++ int err;
++ struct ubifs_zbranch *zbr;
++ struct ubifs_znode *znode, *child;
++
++ mutex_lock(&c->tnc_mutex);
++ /* If the root indexing node is not in TNC - pull it */
++ if (!c->zroot.znode) {
++ c->zroot.znode = ubifs_load_znode(c, &c->zroot, NULL, 0);
++ if (IS_ERR(c->zroot.znode)) {
++ err = PTR_ERR(c->zroot.znode);
++ c->zroot.znode = NULL;
++ goto out_unlock;
++ }
++ }
++
++ /*
++ * We are going to traverse the indexing tree in the postorder manner.
++ * Go down and find the leftmost indexing node where we are going to
++ * start from.
++ */
++ znode = c->zroot.znode;
++ while (znode->level > 0) {
++ zbr = &znode->zbranch[0];
++ child = zbr->znode;
++ if (!child) {
++ child = ubifs_load_znode(c, zbr, znode, 0);
++ if (IS_ERR(child)) {
++ err = PTR_ERR(child);
++ goto out_unlock;
++ }
++ zbr->znode = child;
++ }
++
++ znode = child;
++ }
++
++ /* Iterate over all indexing nodes */
++ while (1) {
++ int idx;
++
++ cond_resched();
++
++ if (znode_cb) {
++ err = znode_cb(c, znode, priv);
++ if (err) {
++ ubifs_err("znode checking function returned "
++ "error %d", err);
++ dbg_dump_znode(c, znode);
++ goto out_dump;
++ }
++ }
++ if (leaf_cb && znode->level == 0) {
++ for (idx = 0; idx < znode->child_cnt; idx++) {
++ zbr = &znode->zbranch[idx];
++ err = leaf_cb(c, zbr, priv);
++ if (err) {
++ ubifs_err("leaf checking function "
++ "returned error %d, for leaf "
++ "at LEB %d:%d",
++ err, zbr->lnum, zbr->offs);
++ goto out_dump;
++ }
++ }
++ }
++
++ if (!znode->parent)
++ break;
++
++ idx = znode->iip + 1;
++ znode = znode->parent;
++ if (idx < znode->child_cnt) {
++ /* Switch to the next index in the parent */
++ zbr = &znode->zbranch[idx];
++ child = zbr->znode;
++ if (!child) {
++ child = ubifs_load_znode(c, zbr, znode, idx);
++ if (IS_ERR(child)) {
++ err = PTR_ERR(child);
++ goto out_unlock;
++ }
++ zbr->znode = child;
++ }
++ znode = child;
++ } else
++ /*
++ * This is the last child, switch to the parent and
++ * continue.
++ */
++ continue;
++
++ /* Go to the lowest leftmost znode in the new sub-tree */
++ while (znode->level > 0) {
++ zbr = &znode->zbranch[0];
++ child = zbr->znode;
++ if (!child) {
++ child = ubifs_load_znode(c, zbr, znode, 0);
++ if (IS_ERR(child)) {
++ err = PTR_ERR(child);
++ goto out_unlock;
++ }
++ zbr->znode = child;
++ }
++ znode = child;
++ }
++ }
++
++ mutex_unlock(&c->tnc_mutex);
++ return 0;
++
++out_dump:
++ if (znode->parent)
++ zbr = &znode->parent->zbranch[znode->iip];
++ else
++ zbr = &c->zroot;
++ ubifs_msg("dump of znode at LEB %d:%d", zbr->lnum, zbr->offs);
++ dbg_dump_znode(c, znode);
++out_unlock:
++ mutex_unlock(&c->tnc_mutex);
++ return err;
++}
++
++/**
++ * add_size - add znode size to partially calculated index size.
++ * @c: UBIFS file-system description object
++ * @znode: znode to add size for
++ * @priv: partially calculated index size
++ *
++ * This is a helper function for 'dbg_check_idx_size()' which is called for
++ * every indexing node and adds its size to the 'long long' variable pointed to
++ * by @priv.
++ */
++static int add_size(struct ubifs_info *c, struct ubifs_znode *znode, void *priv)
++{
++ long long *idx_size = priv;
++ int add;
++
++ add = ubifs_idx_node_sz(c, znode->child_cnt);
++ add = ALIGN(add, 8);
++ *idx_size += add;
++ return 0;
++}
++
++/**
++ * dbg_check_idx_size - check index size.
++ * @c: UBIFS file-system description object
++ * @idx_size: size to check
++ *
++ * This function walks the UBIFS index, calculates its size and checks that the
++ * size is equivalent to @idx_size. Returns zero in case of success and a
++ * negative error code in case of failure.
++ */
++int dbg_check_idx_size(struct ubifs_info *c, long long idx_size)
++{
++ int err;
++ long long calc = 0;
++
++ if (!(ubifs_chk_flags & UBIFS_CHK_IDX_SZ))
++ return 0;
++
++ err = dbg_walk_index(c, NULL, add_size, &calc);
++ if (err) {
++ ubifs_err("error %d while walking the index", err);
++ return err;
++ }
++
++ if (calc != idx_size) {
++ ubifs_err("index size check failed: calculated size is %lld, "
++ "should be %lld", calc, idx_size);
++ dump_stack();
++ return -EINVAL;
++ }
++
++ return 0;
++}
++
++/**
++ * struct fsck_inode - information about an inode used when checking the file-system.
++ * @rb: link in the RB-tree of inodes
++ * @inum: inode number
++ * @mode: inode type, permissions, etc
++ * @nlink: inode link count
++ * @xattr_cnt: count of extended attributes
++ * @references: how many directory/xattr entries refer this inode (calculated
++ * while walking the index)
++ * @calc_cnt: for directory inode count of child directories
++ * @size: inode size (read from on-flash inode)
++ * @xattr_sz: summary size of all extended attributes (read from on-flash
++ * inode)
++ * @calc_sz: for directories calculated directory size
++ * @calc_xcnt: count of extended attributes
++ * @calc_xsz: calculated summary size of all extended attributes
++ * @xattr_nms: sum of lengths of all extended attribute names belonging to this
++ * inode (read from on-flash inode)
++ * @calc_xnms: calculated sum of lengths of all extended attribute names
++ */
++struct fsck_inode {
++ struct rb_node rb;
++ ino_t inum;
++ umode_t mode;
++ unsigned int nlink;
++ unsigned int xattr_cnt;
++ int references;
++ int calc_cnt;
++ long long size;
++ unsigned int xattr_sz;
++ long long calc_sz;
++ long long calc_xcnt;
++ long long calc_xsz;
++ unsigned int xattr_nms;
++ long long calc_xnms;
++};
++
++/**
++ * struct fsck_data - private FS checking information.
++ * @inodes: RB-tree of all inodes (contains @struct fsck_inode objects)
++ */
++struct fsck_data {
++ struct rb_root inodes;
++};
++
++/**
++ * add_inode - add inode information to RB-tree of inodes.
++ * @c: UBIFS file-system description object
++ * @fsckd: FS checking information
++ * @ino: raw UBIFS inode to add
++ *
++ * This is a helper function for 'check_leaf()' which adds information about
++ * inode @ino to the RB-tree of inodes. Returns inode information pointer in
++ * case of success and a negative error code in case of failure.
++ */
++static struct fsck_inode *add_inode(struct ubifs_info *c,
++ struct fsck_data *fsckd,
++ struct ubifs_ino_node *ino)
++{
++ struct rb_node **p, *parent = NULL;
++ struct fsck_inode *fscki;
++ ino_t inum = key_inum_flash(c, &ino->key);
++
++ p = &fsckd->inodes.rb_node;
++ while (*p) {
++ parent = *p;
++ fscki = rb_entry(parent, struct fsck_inode, rb);
++ if (inum < fscki->inum)
++ p = &(*p)->rb_left;
++ else if (inum > fscki->inum)
++ p = &(*p)->rb_right;
++ else
++ return fscki;
++ }
++
++ if (inum > c->highest_inum) {
++ ubifs_err("too high inode number, max. is %lu",
++ (unsigned long)c->highest_inum);
++ return ERR_PTR(-EINVAL);
++ }
++
++ fscki = kzalloc(sizeof(struct fsck_inode), GFP_NOFS);
++ if (!fscki)
++ return ERR_PTR(-ENOMEM);
++
++ fscki->inum = inum;
++ fscki->nlink = le32_to_cpu(ino->nlink);
++ fscki->size = le64_to_cpu(ino->size);
++ fscki->xattr_cnt = le32_to_cpu(ino->xattr_cnt);
++ fscki->xattr_sz = le32_to_cpu(ino->xattr_size);
++ fscki->xattr_nms = le32_to_cpu(ino->xattr_names);
++ fscki->mode = le32_to_cpu(ino->mode);
++ if (S_ISDIR(fscki->mode)) {
++ fscki->calc_sz = UBIFS_INO_NODE_SZ;
++ fscki->calc_cnt = 2;
++ }
++ rb_link_node(&fscki->rb, parent, p);
++ rb_insert_color(&fscki->rb, &fsckd->inodes);
++ return fscki;
++}
++
++/**
++ * search_inode - search inode in the RB-tree of inodes.
++ * @fsckd: FS checking information
++ * @inum: inode number to search
++ *
++ * This is a helper function for 'check_leaf()' which searches inode @inum in
++ * the RB-tree of inodes and returns an inode information pointer or %NULL if
++ * the inode was not found.
++ */
++static struct fsck_inode *search_inode(struct fsck_data *fsckd, ino_t inum)
++{
++ struct rb_node *p;
++ struct fsck_inode *fscki;
++
++ p = fsckd->inodes.rb_node;
++ while (p) {
++ fscki = rb_entry(p, struct fsck_inode, rb);
++ if (inum < fscki->inum)
++ p = p->rb_left;
++ else if (inum > fscki->inum)
++ p = p->rb_right;
++ else
++ return fscki;
++ }
++ return NULL;
++}
++
++/**
++ * read_add_inode - read inode node and add it to RB-tree of inodes.
++ * @c: UBIFS file-system description object
++ * @fsckd: FS checking information
++ * @inum: inode number to read
++ *
++ * This is a helper function for 'check_leaf()' which finds inode node @inum in
++ * the index, reads it, and adds it to the RB-tree of inodes. Returns inode
++ * information pointer in case of success and a negative error code in case of
++ * failure.
++ */
++static struct fsck_inode *read_add_inode(struct ubifs_info *c,
++ struct fsck_data *fsckd, ino_t inum)
++{
++ int n, err;
++ union ubifs_key key;
++ struct ubifs_znode *znode;
++ struct ubifs_zbranch *zbr;
++ struct ubifs_ino_node *ino;
++ struct fsck_inode *fscki;
++
++ fscki = search_inode(fsckd, inum);
++ if (fscki)
++ return fscki;
++
++ ino_key_init(c, &key, inum);
++ err = ubifs_lookup_level0(c, &key, &znode, &n);
++ if (!err) {
++ ubifs_err("inode %lu not found in index", (unsigned long)inum);
++ return ERR_PTR(-ENOENT);
++ } else if (err < 0) {
++ ubifs_err("error %d while looking up inode %lu",
++ err, (unsigned long)inum);
++ return ERR_PTR(err);
++ }
++
++ zbr = &znode->zbranch[n];
++ if (zbr->len < UBIFS_INO_NODE_SZ) {
++ ubifs_err("bad node %lu node length %d",
++ (unsigned long)inum, zbr->len);
++ return ERR_PTR(-EINVAL);
++ }
++
++ ino = kmalloc(zbr->len, GFP_NOFS);
++ if (!ino)
++ return ERR_PTR(-ENOMEM);
++
++ err = ubifs_tnc_read_node(c, zbr, ino);
++ if (err) {
++ ubifs_err("cannot read inode node at LEB %d:%d, error %d",
++ zbr->lnum, zbr->offs, err);
++ kfree(ino);
++ return ERR_PTR(err);
++ }
++
++ fscki = add_inode(c, fsckd, ino);
++ kfree(ino);
++ if (IS_ERR(fscki)) {
++ ubifs_err("error %ld while adding inode %lu node",
++ PTR_ERR(fscki), (unsigned long)inum);
++ return fscki;
++ }
++
++ return fscki;
++}
++
++/**
++ * check_leaf - check leaf node.
++ * @c: UBIFS file-system description object
++ * @zbr: zbranch of the leaf node to check
++ * @priv: FS checking information
++ *
++ * This is a helper function for 'dbg_check_filesystem()' which is called for
++ * every single leaf node while walking the indexing tree. It checks that the
++ * leaf node referred from the indexing tree exists, has correct CRC, and does
++ * some other basic validation. This function is also responsible for building
++ * an RB-tree of inodes - it adds all inodes into the RB-tree. It also
++ * calculates reference count, size, etc for each inode in order to later
++ * compare them to the information stored inside the inodes and detect possible
++ * inconsistencies. Returns zero in case of success and a negative error code
++ * in case of failure.
++ */
++static int check_leaf(struct ubifs_info *c, struct ubifs_zbranch *zbr,
++ void *priv)
++{
++ ino_t inum;
++ void *node;
++ int err, type = key_type(c, &zbr->key);
++ struct fsck_inode *fscki;
++
++ if (zbr->len < UBIFS_CH_SZ) {
++ ubifs_err("bad leaf length %d (LEB %d:%d)",
++ zbr->len, zbr->lnum, zbr->offs);
++ return -EINVAL;
++ }
++
++ node = kmalloc(zbr->len, GFP_NOFS);
++ if (!node)
++ return -ENOMEM;
++
++ err = ubifs_tnc_read_node(c, zbr, node);
++ if (err) {
++ ubifs_err("cannot read leaf node at LEB %d:%d, error %d",
++ zbr->lnum, zbr->offs, err);
++ goto out_free;
++ }
++
++ /* If this is an inode node, add it to RB-tree of inodes */
++ if (type == UBIFS_INO_KEY) {
++ fscki = add_inode(c, priv, node);
++ if (IS_ERR(fscki)) {
++ err = PTR_ERR(fscki);
++ ubifs_err("error %d while adding inode node", err);
++ goto out_dump;
++ }
++ goto out;
++ }
++
++ if (type != UBIFS_DENT_KEY && type != UBIFS_XENT_KEY &&
++ type != UBIFS_DATA_KEY) {
++ ubifs_err("unexpected node type %d at LEB %d:%d",
++ type, zbr->lnum, zbr->offs);
++ err = -EINVAL;
++ goto out_free;
++ }
++
++ if (type == UBIFS_DATA_KEY) {
++ long long blk_offs;
++ struct ubifs_data_node *dn = node;
++
++ /*
++ * Search the inode node this data node belongs to and insert
++ * it to the RB-tree of inodes.
++ */
++ inum = key_inum_flash(c, &dn->key);
++ fscki = read_add_inode(c, priv, inum);
++ if (IS_ERR(fscki)) {
++ err = PTR_ERR(fscki);
++ ubifs_err("error %d while processing data node and "
++ "trying to find inode node %lu",
++ err, (unsigned long)inum);
++ goto out_dump;
++ }
++
++ /* Make sure the data node is within inode size */
++ blk_offs = key_block_flash(c, &dn->key);
++ blk_offs <<= UBIFS_BLOCK_SHIFT;
++ blk_offs += le32_to_cpu(dn->size);
++ if (blk_offs > fscki->size) {
++ ubifs_err("data node at LEB %d:%d is not within inode "
++ "size %lld", zbr->lnum, zbr->offs,
++ fscki->size);
++ err = -EINVAL;
++ goto out_dump;
++ }
++ } else {
++ int nlen;
++ struct ubifs_dent_node *dent = node;
++ struct fsck_inode *fscki1;
++
++ err = ubifs_validate_entry(c, dent);
++ if (err)
++ goto out_dump;
++
++ /*
++ * Search the inode node this entry refers to and the parent
++ * inode node and insert them to the RB-tree of inodes.
++ */
++ inum = le64_to_cpu(dent->inum);
++ fscki = read_add_inode(c, priv, inum);
++ if (IS_ERR(fscki)) {
++ err = PTR_ERR(fscki);
++ ubifs_err("error %d while processing entry node and "
++ "trying to find inode node %lu",
++ err, (unsigned long)inum);
++ goto out_dump;
++ }
++
++ /* Count how many direntries or xentries refers this inode */
++ fscki->references += 1;
++
++ inum = key_inum_flash(c, &dent->key);
++ fscki1 = read_add_inode(c, priv, inum);
++ if (IS_ERR(fscki1)) {
++ err = PTR_ERR(fscki);
++ ubifs_err("error %d while processing entry node and "
++ "trying to find parent inode node %lu",
++ err, (unsigned long)inum);
++ goto out_dump;
++ }
++
++ nlen = le16_to_cpu(dent->nlen);
++ if (type == UBIFS_XENT_KEY) {
++ fscki1->calc_xcnt += 1;
++ fscki1->calc_xsz += CALC_DENT_SIZE(nlen);
++ fscki1->calc_xsz += CALC_XATTR_BYTES(fscki->size);
++ fscki1->calc_xnms += nlen;
++ } else {
++ fscki1->calc_sz += CALC_DENT_SIZE(nlen);
++ if (dent->type == UBIFS_ITYPE_DIR)
++ fscki1->calc_cnt += 1;
++ }
++ }
++
++out:
++ kfree(node);
++ return 0;
++
++out_dump:
++ ubifs_msg("dump of node at LEB %d:%d", zbr->lnum, zbr->offs);
++ dbg_dump_node(c, node);
++out_free:
++ kfree(node);
++ return err;
++}
++
++/**
++ * free_inodes - free RB-tree of inodes.
++ * @fsckd: FS checking information
++ */
++static void free_inodes(struct fsck_data *fsckd)
++{
++ struct rb_node *this = fsckd->inodes.rb_node;
++ struct fsck_inode *fscki;
++
++ while (this) {
++ if (this->rb_left)
++ this = this->rb_left;
++ else if (this->rb_right)
++ this = this->rb_right;
++ else {
++ fscki = rb_entry(this, struct fsck_inode, rb);
++ this = rb_parent(this);
++ if (this) {
++ if (this->rb_left == &fscki->rb)
++ this->rb_left = NULL;
++ else
++ this->rb_right = NULL;
++ }
++ kfree(fscki);
++ }
++ }
++}
++
++/**
++ * check_inodes - checks all inodes.
++ * @c: UBIFS file-system description object
++ * @fsckd: FS checking information
++ *
++ * This is a helper function for 'dbg_check_filesystem()' which walks the
++ * RB-tree of inodes after the index scan has been finished, and checks that
++ * inode nlink, size, etc are correct. Returns zero if inodes are fine,
++ * %-EINVAL if not, and a negative error code in case of failure.
++ */
++static int check_inodes(struct ubifs_info *c, struct fsck_data *fsckd)
++{
++ int n, err;
++ union ubifs_key key;
++ struct ubifs_znode *znode;
++ struct ubifs_zbranch *zbr;
++ struct ubifs_ino_node *ino;
++ struct fsck_inode *fscki;
++ struct rb_node *this = rb_first(&fsckd->inodes);
++
++ while (this) {
++ fscki = rb_entry(this, struct fsck_inode, rb);
++ this = rb_next(this);
++
++ if (S_ISDIR(fscki->mode)) {
++ /*
++ * Directories have to have exactly one reference (they
++ * cannot have hardlinks), although root inode is an
++ * exception.
++ */
++ if (fscki->inum != UBIFS_ROOT_INO &&
++ fscki->references != 1) {
++ ubifs_err("directory inode %lu has %d "
++ "direntries which refer it, but "
++ "should be 1",
++ (unsigned long)fscki->inum,
++ fscki->references);
++ goto out_dump;
++ }
++ if (fscki->inum == UBIFS_ROOT_INO &&
++ fscki->references != 0) {
++ ubifs_err("root inode %lu has non-zero (%d) "
++ "direntries which refer it",
++ (unsigned long)fscki->inum,
++ fscki->references);
++ goto out_dump;
++ }
++ if (fscki->calc_sz != fscki->size) {
++ ubifs_err("directory inode %lu size is %lld, "
++ "but calculated size is %lld",
++ (unsigned long)fscki->inum,
++ fscki->size, fscki->calc_sz);
++ goto out_dump;
++ }
++ if (fscki->calc_cnt != fscki->nlink) {
++ ubifs_err("directory inode %lu nlink is %d, "
++ "but calculated nlink is %d",
++ (unsigned long)fscki->inum,
++ fscki->nlink, fscki->calc_cnt);
++ goto out_dump;
++ }
++ } else {
++ if (fscki->references != fscki->nlink) {
++ ubifs_err("inode %lu nlink is %d, but "
++ "calculated nlink is %d",
++ (unsigned long)fscki->inum,
++ fscki->nlink, fscki->references);
++ goto out_dump;
++ }
++ }
++ if (fscki->xattr_sz != fscki->calc_xsz) {
++ ubifs_err("inode %lu has xattr size %u, but "
++ "calculated size is %lld",
++ (unsigned long)fscki->inum, fscki->xattr_sz,
++ fscki->calc_xsz);
++ goto out_dump;
++ }
++ if (fscki->xattr_cnt != fscki->calc_xcnt) {
++ ubifs_err("inode %lu has %u xattrs, but "
++ "calculated count is %lld",
++ (unsigned long)fscki->inum,
++ fscki->xattr_cnt, fscki->calc_xcnt);
++ goto out_dump;
++ }
++ if (fscki->xattr_nms != fscki->calc_xnms) {
++ ubifs_err("inode %lu has xattr names' size %u, but "
++ "calculated names' size is %lld",
++ (unsigned long)fscki->inum, fscki->xattr_nms,
++ fscki->calc_xnms);
++ goto out_dump;
++ }
++ }
++
++ return 0;
++
++out_dump:
++ /* Read the bad inode and dump it */
++ ino_key_init(c, &key, fscki->inum);
++ err = ubifs_lookup_level0(c, &key, &znode, &n);
++ if (!err) {
++ ubifs_err("inode %lu not found in index",
++ (unsigned long)fscki->inum);
++ return -ENOENT;
++ } else if (err < 0) {
++ ubifs_err("error %d while looking up inode %lu",
++ err, (unsigned long)fscki->inum);
++ return err;
++ }
++
++ zbr = &znode->zbranch[n];
++ ino = kmalloc(zbr->len, GFP_NOFS);
++ if (!ino)
++ return -ENOMEM;
++
++ err = ubifs_tnc_read_node(c, zbr, ino);
++ if (err) {
++ ubifs_err("cannot read inode node at LEB %d:%d, error %d",
++ zbr->lnum, zbr->offs, err);
++ kfree(ino);
++ return err;
++ }
++
++ ubifs_msg("dump of the inode %lu sitting in LEB %d:%d",
++ (unsigned long)fscki->inum, zbr->lnum, zbr->offs);
++ dbg_dump_node(c, ino);
++ kfree(ino);
++ return -EINVAL;
++}
++
++/**
++ * dbg_check_filesystem - check the file-system.
++ * @c: UBIFS file-system description object
++ *
++ * This function checks the file system, namely:
++ * o makes sure that all leaf nodes exist and their CRCs are correct;
++ * o makes sure inode nlink, size, xattr size/count are correct (for all
++ * inodes).
++ *
++ * The function reads whole indexing tree and all nodes, so it is pretty
++ * heavy-weight. Returns zero if the file-system is consistent, %-EINVAL if
++ * not, and a negative error code in case of failure.
++ */
++int dbg_check_filesystem(struct ubifs_info *c)
++{
++ int err;
++ struct fsck_data fsckd;
++
++ if (!(ubifs_chk_flags & UBIFS_CHK_FS))
++ return 0;
++
++ fsckd.inodes = RB_ROOT;
++ err = dbg_walk_index(c, check_leaf, NULL, &fsckd);
++ if (err)
++ goto out_free;
++
++ err = check_inodes(c, &fsckd);
++ if (err)
++ goto out_free;
++
++ free_inodes(&fsckd);
++ return 0;
++
++out_free:
++ ubifs_err("file-system check failed with error %d", err);
++ dump_stack();
++ free_inodes(&fsckd);
++ return err;
++}
++
++static int invocation_cnt;
++
++int dbg_force_in_the_gaps(void)
++{
++ if (!dbg_force_in_the_gaps_enabled)
++ return 0;
++ /* Force in-the-gaps every 8th commit */
++ return !((invocation_cnt++) & 0x7);
++}
++
++/* Failure mode for recovery testing */
++
++#define chance(n, d) (simple_rand() <= (n) * 32768LL / (d))
++
++struct failure_mode_info {
++ struct list_head list;
++ struct ubifs_info *c;
++};
++
++static LIST_HEAD(fmi_list);
++static DEFINE_SPINLOCK(fmi_lock);
++
++static unsigned int next;
++
++static int simple_rand(void)
++{
++ if (next == 0)
++ next = current->pid;
++ next = next * 1103515245 + 12345;
++ return (next >> 16) & 32767;
++}
++
++static void failure_mode_init(struct ubifs_info *c)
++{
++ struct failure_mode_info *fmi;
++
++ fmi = kmalloc(sizeof(struct failure_mode_info), GFP_NOFS);
++ if (!fmi) {
++ ubifs_err("Failed to register failure mode - no memory");
++ return;
++ }
++ fmi->c = c;
++ spin_lock(&fmi_lock);
++ list_add_tail(&fmi->list, &fmi_list);
++ spin_unlock(&fmi_lock);
++}
++
++static void failure_mode_exit(struct ubifs_info *c)
++{
++ struct failure_mode_info *fmi, *tmp;
++
++ spin_lock(&fmi_lock);
++ list_for_each_entry_safe(fmi, tmp, &fmi_list, list)
++ if (fmi->c == c) {
++ list_del(&fmi->list);
++ kfree(fmi);
++ }
++ spin_unlock(&fmi_lock);
++}
++
++static struct ubifs_info *dbg_find_info(struct ubi_volume_desc *desc)
++{
++ struct failure_mode_info *fmi;
++
++ spin_lock(&fmi_lock);
++ list_for_each_entry(fmi, &fmi_list, list)
++ if (fmi->c->ubi == desc) {
++ struct ubifs_info *c = fmi->c;
++
++ spin_unlock(&fmi_lock);
++ return c;
++ }
++ spin_unlock(&fmi_lock);
++ return NULL;
++}
++
++static int in_failure_mode(struct ubi_volume_desc *desc)
++{
++ struct ubifs_info *c = dbg_find_info(desc);
++
++ if (c && dbg_failure_mode)
++ return c->dbg->failure_mode;
++ return 0;
++}
++
++static int do_fail(struct ubi_volume_desc *desc, int lnum, int write)
++{
++ struct ubifs_info *c = dbg_find_info(desc);
++ struct ubifs_debug_info *d;
++
++ if (!c || !dbg_failure_mode)
++ return 0;
++ d = c->dbg;
++ if (d->failure_mode)
++ return 1;
++ if (!d->fail_cnt) {
++ /* First call - decide delay to failure */
++ if (chance(1, 2)) {
++ unsigned int delay = 1 << (simple_rand() >> 11);
++
++ if (chance(1, 2)) {
++ d->fail_delay = 1;
++ d->fail_timeout = jiffies +
++ msecs_to_jiffies(delay);
++ dbg_rcvry("failing after %ums", delay);
++ } else {
++ d->fail_delay = 2;
++ d->fail_cnt_max = delay;
++ dbg_rcvry("failing after %u calls", delay);
++ }
++ }
++ d->fail_cnt += 1;
++ }
++ /* Determine if failure delay has expired */
++ if (d->fail_delay == 1) {
++ if (time_before(jiffies, d->fail_timeout))
++ return 0;
++ } else if (d->fail_delay == 2)
++ if (d->fail_cnt++ < d->fail_cnt_max)
++ return 0;
++ if (lnum == UBIFS_SB_LNUM) {
++ if (write) {
++ if (chance(1, 2))
++ return 0;
++ } else if (chance(19, 20))
++ return 0;
++ dbg_rcvry("failing in super block LEB %d", lnum);
++ } else if (lnum == UBIFS_MST_LNUM || lnum == UBIFS_MST_LNUM + 1) {
++ if (chance(19, 20))
++ return 0;
++ dbg_rcvry("failing in master LEB %d", lnum);
++ } else if (lnum >= UBIFS_LOG_LNUM && lnum <= c->log_last) {
++ if (write) {
++ if (chance(99, 100))
++ return 0;
++ } else if (chance(399, 400))
++ return 0;
++ dbg_rcvry("failing in log LEB %d", lnum);
++ } else if (lnum >= c->lpt_first && lnum <= c->lpt_last) {
++ if (write) {
++ if (chance(7, 8))
++ return 0;
++ } else if (chance(19, 20))
++ return 0;
++ dbg_rcvry("failing in LPT LEB %d", lnum);
++ } else if (lnum >= c->orph_first && lnum <= c->orph_last) {
++ if (write) {
++ if (chance(1, 2))
++ return 0;
++ } else if (chance(9, 10))
++ return 0;
++ dbg_rcvry("failing in orphan LEB %d", lnum);
++ } else if (lnum == c->ihead_lnum) {
++ if (chance(99, 100))
++ return 0;
++ dbg_rcvry("failing in index head LEB %d", lnum);
++ } else if (c->jheads && lnum == c->jheads[GCHD].wbuf.lnum) {
++ if (chance(9, 10))
++ return 0;
++ dbg_rcvry("failing in GC head LEB %d", lnum);
++ } else if (write && !RB_EMPTY_ROOT(&c->buds) &&
++ !ubifs_search_bud(c, lnum)) {
++ if (chance(19, 20))
++ return 0;
++ dbg_rcvry("failing in non-bud LEB %d", lnum);
++ } else if (c->cmt_state == COMMIT_RUNNING_BACKGROUND ||
++ c->cmt_state == COMMIT_RUNNING_REQUIRED) {
++ if (chance(999, 1000))
++ return 0;
++ dbg_rcvry("failing in bud LEB %d commit running", lnum);
++ } else {
++ if (chance(9999, 10000))
++ return 0;
++ dbg_rcvry("failing in bud LEB %d commit not running", lnum);
++ }
++ ubifs_err("*** SETTING FAILURE MODE ON (LEB %d) ***", lnum);
++ d->failure_mode = 1;
++ dump_stack();
++ return 1;
++}
++
++static void cut_data(const void *buf, int len)
++{
++ int flen, i;
++ unsigned char *p = (void *)buf;
++
++ flen = (len * (long long)simple_rand()) >> 15;
++ for (i = flen; i < len; i++)
++ p[i] = 0xff;
++}
++
++int dbg_leb_read(struct ubi_volume_desc *desc, int lnum, char *buf, int offset,
++ int len, int check)
++{
++ if (in_failure_mode(desc))
++ return -EIO;
++ return ubi_leb_read(desc, lnum, buf, offset, len, check);
++}
++
++int dbg_leb_write(struct ubi_volume_desc *desc, int lnum, const void *buf,
++ int offset, int len, int dtype)
++{
++ int err, failing;
++
++ if (in_failure_mode(desc))
++ return -EIO;
++ failing = do_fail(desc, lnum, 1);
++ if (failing)
++ cut_data(buf, len);
++ err = ubi_leb_write(desc, lnum, buf, offset, len, dtype);
++ if (err)
++ return err;
++ if (failing)
++ return -EIO;
++ return 0;
++}
++
++int dbg_leb_change(struct ubi_volume_desc *desc, int lnum, const void *buf,
++ int len, int dtype)
++{
++ int err;
++
++ if (do_fail(desc, lnum, 1))
++ return -EIO;
++ err = ubi_leb_change(desc, lnum, buf, len, dtype);
++ if (err)
++ return err;
++ if (do_fail(desc, lnum, 1))
++ return -EIO;
++ return 0;
++}
++
++int dbg_leb_erase(struct ubi_volume_desc *desc, int lnum)
++{
++ int err;
++
++ if (do_fail(desc, lnum, 0))
++ return -EIO;
++ err = ubi_leb_erase(desc, lnum);
++ if (err)
++ return err;
++ if (do_fail(desc, lnum, 0))
++ return -EIO;
++ return 0;
++}
++
++int dbg_leb_unmap(struct ubi_volume_desc *desc, int lnum)
++{
++ int err;
++
++ if (do_fail(desc, lnum, 0))
++ return -EIO;
++ err = ubi_leb_unmap(desc, lnum);
++ if (err)
++ return err;
++ if (do_fail(desc, lnum, 0))
++ return -EIO;
++ return 0;
++}
++
++int dbg_is_mapped(struct ubi_volume_desc *desc, int lnum)
++{
++ if (in_failure_mode(desc))
++ return -EIO;
++ return ubi_is_mapped(desc, lnum);
++}
++
++int dbg_leb_map(struct ubi_volume_desc *desc, int lnum, int dtype)
++{
++ int err;
++
++ if (do_fail(desc, lnum, 0))
++ return -EIO;
++ err = ubi_leb_map(desc, lnum, dtype);
++ if (err)
++ return err;
++ if (do_fail(desc, lnum, 0))
++ return -EIO;
++ return 0;
++}
++
++/**
++ * ubifs_debugging_init - initialize UBIFS debugging.
++ * @c: UBIFS file-system description object
++ *
++ * This function initializes debugging-related data for the file system.
++ * Returns zero in case of success and a negative error code in case of
++ * failure.
++ */
++int ubifs_debugging_init(struct ubifs_info *c)
++{
++ c->dbg = kzalloc(sizeof(struct ubifs_debug_info), GFP_KERNEL);
++ if (!c->dbg)
++ return -ENOMEM;
++
++ c->dbg->buf = vmalloc(c->leb_size);
++ if (!c->dbg->buf)
++ goto out;
++
++ failure_mode_init(c);
++ return 0;
++
++out:
++ kfree(c->dbg);
++ return -ENOMEM;
++}
++
++/**
++ * ubifs_debugging_exit - free debugging data.
++ * @c: UBIFS file-system description object
++ */
++void ubifs_debugging_exit(struct ubifs_info *c)
++{
++ failure_mode_exit(c);
++ vfree(c->dbg->buf);
++ kfree(c->dbg);
++}
++
++/*
++ * Root directory for UBIFS stuff in debugfs. Contains sub-directories which
++ * contain the stuff specific to particular file-system mounts.
++ */
++static struct dentry *dfs_rootdir;
++
++/**
++ * dbg_debugfs_init - initialize debugfs file-system.
++ *
++ * UBIFS uses debugfs file-system to expose various debugging knobs to
++ * user-space. This function creates "ubifs" directory in the debugfs
++ * file-system. Returns zero in case of success and a negative error code in
++ * case of failure.
++ */
++int dbg_debugfs_init(void)
++{
++ dfs_rootdir = debugfs_create_dir("ubifs", NULL);
++ if (IS_ERR(dfs_rootdir)) {
++ int err = PTR_ERR(dfs_rootdir);
++ ubifs_err("cannot create \"ubifs\" debugfs directory, "
++ "error %d\n", err);
++ return err;
++ }
++
++ return 0;
++}
++
++/**
++ * dbg_debugfs_exit - remove the "ubifs" directory from debugfs file-system.
++ */
++void dbg_debugfs_exit(void)
++{
++ debugfs_remove(dfs_rootdir);
++}
++
++static int open_debugfs_file(struct inode *inode, struct file *file)
++{
++ file->private_data = inode->i_private;
++ return 0;
++}
++
++static ssize_t write_debugfs_file(struct file *file, const char __user *buf,
++ size_t count, loff_t *ppos)
++{
++ struct ubifs_info *c = file->private_data;
++ struct ubifs_debug_info *d = c->dbg;
++
++ if (file->f_path.dentry == d->dfs_dump_lprops)
++ dbg_dump_lprops(c);
++ else if (file->f_path.dentry == d->dfs_dump_budg) {
++ spin_lock(&c->space_lock);
++ dbg_dump_budg(c);
++ spin_unlock(&c->space_lock);
++ } else if (file->f_path.dentry == d->dfs_dump_tnc) {
++ mutex_lock(&c->tnc_mutex);
++ dbg_dump_tnc(c);
++ mutex_unlock(&c->tnc_mutex);
++ } else
++ return -EINVAL;
++
++ *ppos += count;
++ return count;
++}
++
++static const struct file_operations dfs_fops = {
++ .open = open_debugfs_file,
++ .write = write_debugfs_file,
++ .owner = THIS_MODULE,
++};
++
++/**
++ * dbg_debugfs_init_fs - initialize debugfs for UBIFS instance.
++ * @c: UBIFS file-system description object
++ *
++ * This function creates all debugfs files for this instance of UBIFS. Returns
++ * zero in case of success and a negative error code in case of failure.
++ *
++ * Note, the only reason we have not merged this function with the
++ * 'ubifs_debugging_init()' function is because it is better to initialize
++ * debugfs interfaces at the very end of the mount process, and remove them at
++ * the very beginning of the mount process.
++ */
++int dbg_debugfs_init_fs(struct ubifs_info *c)
++{
++ int err;
++ const char *fname;
++ struct dentry *dent;
++ struct ubifs_debug_info *d = c->dbg;
++
++ sprintf(d->dfs_dir_name, "ubi%d_%d", c->vi.ubi_num, c->vi.vol_id);
++ d->dfs_dir = debugfs_create_dir(d->dfs_dir_name, dfs_rootdir);
++ if (IS_ERR(d->dfs_dir)) {
++ err = PTR_ERR(d->dfs_dir);
++ ubifs_err("cannot create \"%s\" debugfs directory, error %d\n",
++ d->dfs_dir_name, err);
++ goto out;
++ }
++
++ fname = "dump_lprops";
++ dent = debugfs_create_file(fname, S_IWUGO, d->dfs_dir, c, &dfs_fops);
++ if (IS_ERR(dent))
++ goto out_remove;
++ d->dfs_dump_lprops = dent;
++
++ fname = "dump_budg";
++ dent = debugfs_create_file(fname, S_IWUGO, d->dfs_dir, c, &dfs_fops);
++ if (IS_ERR(dent))
++ goto out_remove;
++ d->dfs_dump_budg = dent;
++
++ fname = "dump_tnc";
++ dent = debugfs_create_file(fname, S_IWUGO, d->dfs_dir, c, &dfs_fops);
++ if (IS_ERR(dent))
++ goto out_remove;
++ d->dfs_dump_tnc = dent;
++
++ return 0;
++
++out_remove:
++ err = PTR_ERR(dent);
++ ubifs_err("cannot create \"%s\" debugfs directory, error %d\n",
++ fname, err);
++ if (d->dfs_dump_tnc)
++ debugfs_remove(d->dfs_dump_tnc);
++ if (d->dfs_dump_budg)
++ debugfs_remove(d->dfs_dump_budg);
++ if (d->dfs_dump_lprops)
++ debugfs_remove(d->dfs_dump_lprops);
++ debugfs_remove(d->dfs_dir);
++out:
++ return err;
++}
++
++/**
++ * dbg_debugfs_exit_fs - remove all debugfs files.
++ * @c: UBIFS file-system description object
++ */
++void dbg_debugfs_exit_fs(struct ubifs_info *c)
++{
++ struct ubifs_debug_info *d = c->dbg;
++
++ debugfs_remove(d->dfs_dump_tnc);
++ debugfs_remove(d->dfs_dump_budg);
++ debugfs_remove(d->dfs_dump_lprops);
++ debugfs_remove(d->dfs_dir);
++}
++
++#endif /* CONFIG_UBIFS_FS_DEBUG */
+diff -Nurd linux-2.6.24/fs/ubifs/debug.h ubifs-v2.6.24/fs/ubifs/debug.h
+--- linux-2.6.24/fs/ubifs/debug.h 1970-01-01 02:00:00.000000000 +0200
++++ ubifs-v2.6.24/fs/ubifs/debug.h 2009-04-07 17:14:47.000000000 +0200
+@@ -0,0 +1,507 @@
++/*
++ * This file is part of UBIFS.
++ *
++ * Copyright (C) 2006-2008 Nokia Corporation.
++ *
++ * This program is free software; you can redistribute it and/or modify it
++ * under the terms of the GNU General Public License version 2 as published by
++ * the Free Software Foundation.
++ *
++ * 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, write to the Free Software Foundation, Inc., 51
++ * Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
++ *
++ * Authors: Artem Bityutskiy (Битюцкий Ðртём)
++ * Adrian Hunter
++ */
++
++#ifndef __UBIFS_DEBUG_H__
++#define __UBIFS_DEBUG_H__
++
++#ifdef CONFIG_UBIFS_FS_DEBUG
++
++/**
++ * ubifs_debug_info - per-FS debugging information.
++ * @buf: a buffer of LEB size, used for various purposes
++ * @old_zroot: old index root - used by 'dbg_check_old_index()'
++ * @old_zroot_level: old index root level - used by 'dbg_check_old_index()'
++ * @old_zroot_sqnum: old index root sqnum - used by 'dbg_check_old_index()'
++ * @failure_mode: failure mode for recovery testing
++ * @fail_delay: 0=>don't delay, 1=>delay a time, 2=>delay a number of calls
++ * @fail_timeout: time in jiffies when delay of failure mode expires
++ * @fail_cnt: current number of calls to failure mode I/O functions
++ * @fail_cnt_max: number of calls by which to delay failure mode
++ * @chk_lpt_sz: used by LPT tree size checker
++ * @chk_lpt_sz2: used by LPT tree size checker
++ * @chk_lpt_wastage: used by LPT tree size checker
++ * @chk_lpt_lebs: used by LPT tree size checker
++ * @new_nhead_offs: used by LPT tree size checker
++ * @new_ihead_lnum: used by debugging to check @c->ihead_lnum
++ * @new_ihead_offs: used by debugging to check @c->ihead_offs
++ *
++ * @saved_lst: saved lprops statistics (used by 'dbg_save_space_info()')
++ * @saved_free: saved free space (used by 'dbg_save_space_info()')
++ *
++ * dfs_dir_name: name of debugfs directory containing this file-system's files
++ * dfs_dir: direntry object of the file-system debugfs directory
++ * dfs_dump_lprops: "dump lprops" debugfs knob
++ * dfs_dump_budg: "dump budgeting information" debugfs knob
++ * dfs_dump_tnc: "dump TNC" debugfs knob
++ */
++struct ubifs_debug_info {
++ void *buf;
++ struct ubifs_zbranch old_zroot;
++ int old_zroot_level;
++ unsigned long long old_zroot_sqnum;
++ int failure_mode;
++ int fail_delay;
++ unsigned long fail_timeout;
++ unsigned int fail_cnt;
++ unsigned int fail_cnt_max;
++ long long chk_lpt_sz;
++ long long chk_lpt_sz2;
++ long long chk_lpt_wastage;
++ int chk_lpt_lebs;
++ int new_nhead_offs;
++ int new_ihead_lnum;
++ int new_ihead_offs;
++
++ struct ubifs_lp_stats saved_lst;
++ long long saved_free;
++
++ char dfs_dir_name[100];
++ struct dentry *dfs_dir;
++ struct dentry *dfs_dump_lprops;
++ struct dentry *dfs_dump_budg;
++ struct dentry *dfs_dump_tnc;
++};
++
++#define ubifs_assert(expr) do { \
++ if (unlikely(!(expr))) { \
++ printk(KERN_CRIT "UBIFS assert failed in %s at %u (pid %d)\n", \
++ __func__, __LINE__, current->pid); \
++ dbg_dump_stack(); \
++ } \
++} while (0)
++
++#define ubifs_assert_cmt_locked(c) do { \
++ if (unlikely(down_write_trylock(&(c)->commit_sem))) { \
++ up_write(&(c)->commit_sem); \
++ printk(KERN_CRIT "commit lock is not locked!\n"); \
++ ubifs_assert(0); \
++ } \
++} while (0)
++
++#define dbg_dump_stack() do { \
++ if (!dbg_failure_mode) \
++ dump_stack(); \
++} while (0)
++
++/* Generic debugging messages */
++#define dbg_msg(fmt, ...) do { \
++ spin_lock(&dbg_lock); \
++ printk(KERN_DEBUG "UBIFS DBG (pid %d): %s: " fmt "\n", current->pid, \
++ __func__, ##__VA_ARGS__); \
++ spin_unlock(&dbg_lock); \
++} while (0)
++
++#define dbg_do_msg(typ, fmt, ...) do { \
++ if (ubifs_msg_flags & typ) \
++ dbg_msg(fmt, ##__VA_ARGS__); \
++} while (0)
++
++#define dbg_err(fmt, ...) do { \
++ spin_lock(&dbg_lock); \
++ ubifs_err(fmt, ##__VA_ARGS__); \
++ spin_unlock(&dbg_lock); \
++} while (0)
++
++const char *dbg_key_str0(const struct ubifs_info *c,
++ const union ubifs_key *key);
++const char *dbg_key_str1(const struct ubifs_info *c,
++ const union ubifs_key *key);
++
++/*
++ * DBGKEY macros require @dbg_lock to be held, which it is in the dbg message
++ * macros.
++ */
++#define DBGKEY(key) dbg_key_str0(c, (key))
++#define DBGKEY1(key) dbg_key_str1(c, (key))
++
++/* General messages */
++#define dbg_gen(fmt, ...) dbg_do_msg(UBIFS_MSG_GEN, fmt, ##__VA_ARGS__)
++
++/* Additional journal messages */
++#define dbg_jnl(fmt, ...) dbg_do_msg(UBIFS_MSG_JNL, fmt, ##__VA_ARGS__)
++
++/* Additional TNC messages */
++#define dbg_tnc(fmt, ...) dbg_do_msg(UBIFS_MSG_TNC, fmt, ##__VA_ARGS__)
++
++/* Additional lprops messages */
++#define dbg_lp(fmt, ...) dbg_do_msg(UBIFS_MSG_LP, fmt, ##__VA_ARGS__)
++
++/* Additional LEB find messages */
++#define dbg_find(fmt, ...) dbg_do_msg(UBIFS_MSG_FIND, fmt, ##__VA_ARGS__)
++
++/* Additional mount messages */
++#define dbg_mnt(fmt, ...) dbg_do_msg(UBIFS_MSG_MNT, fmt, ##__VA_ARGS__)
++
++/* Additional I/O messages */
++#define dbg_io(fmt, ...) dbg_do_msg(UBIFS_MSG_IO, fmt, ##__VA_ARGS__)
++
++/* Additional commit messages */
++#define dbg_cmt(fmt, ...) dbg_do_msg(UBIFS_MSG_CMT, fmt, ##__VA_ARGS__)
++
++/* Additional budgeting messages */
++#define dbg_budg(fmt, ...) dbg_do_msg(UBIFS_MSG_BUDG, fmt, ##__VA_ARGS__)
++
++/* Additional log messages */
++#define dbg_log(fmt, ...) dbg_do_msg(UBIFS_MSG_LOG, fmt, ##__VA_ARGS__)
++
++/* Additional gc messages */
++#define dbg_gc(fmt, ...) dbg_do_msg(UBIFS_MSG_GC, fmt, ##__VA_ARGS__)
++
++/* Additional scan messages */
++#define dbg_scan(fmt, ...) dbg_do_msg(UBIFS_MSG_SCAN, fmt, ##__VA_ARGS__)
++
++/* Additional recovery messages */
++#define dbg_rcvry(fmt, ...) dbg_do_msg(UBIFS_MSG_RCVRY, fmt, ##__VA_ARGS__)
++
++/*
++ * Debugging message type flags (must match msg_type_names in debug.c).
++ *
++ * UBIFS_MSG_GEN: general messages
++ * UBIFS_MSG_JNL: journal messages
++ * UBIFS_MSG_MNT: mount messages
++ * UBIFS_MSG_CMT: commit messages
++ * UBIFS_MSG_FIND: LEB find messages
++ * UBIFS_MSG_BUDG: budgeting messages
++ * UBIFS_MSG_GC: garbage collection messages
++ * UBIFS_MSG_TNC: TNC messages
++ * UBIFS_MSG_LP: lprops messages
++ * UBIFS_MSG_IO: I/O messages
++ * UBIFS_MSG_LOG: log messages
++ * UBIFS_MSG_SCAN: scan messages
++ * UBIFS_MSG_RCVRY: recovery messages
++ */
++enum {
++ UBIFS_MSG_GEN = 0x1,
++ UBIFS_MSG_JNL = 0x2,
++ UBIFS_MSG_MNT = 0x4,
++ UBIFS_MSG_CMT = 0x8,
++ UBIFS_MSG_FIND = 0x10,
++ UBIFS_MSG_BUDG = 0x20,
++ UBIFS_MSG_GC = 0x40,
++ UBIFS_MSG_TNC = 0x80,
++ UBIFS_MSG_LP = 0x100,
++ UBIFS_MSG_IO = 0x200,
++ UBIFS_MSG_LOG = 0x400,
++ UBIFS_MSG_SCAN = 0x800,
++ UBIFS_MSG_RCVRY = 0x1000,
++};
++
++/* Debugging message type flags for each default debug message level */
++#define UBIFS_MSG_LVL_0 0
++#define UBIFS_MSG_LVL_1 0x1
++#define UBIFS_MSG_LVL_2 0x7f
++#define UBIFS_MSG_LVL_3 0xffff
++
++/*
++ * Debugging check flags (must match chk_names in debug.c).
++ *
++ * UBIFS_CHK_GEN: general checks
++ * UBIFS_CHK_TNC: check TNC
++ * UBIFS_CHK_IDX_SZ: check index size
++ * UBIFS_CHK_ORPH: check orphans
++ * UBIFS_CHK_OLD_IDX: check the old index
++ * UBIFS_CHK_LPROPS: check lprops
++ * UBIFS_CHK_FS: check the file-system
++ */
++enum {
++ UBIFS_CHK_GEN = 0x1,
++ UBIFS_CHK_TNC = 0x2,
++ UBIFS_CHK_IDX_SZ = 0x4,
++ UBIFS_CHK_ORPH = 0x8,
++ UBIFS_CHK_OLD_IDX = 0x10,
++ UBIFS_CHK_LPROPS = 0x20,
++ UBIFS_CHK_FS = 0x40,
++};
++
++/*
++ * Special testing flags (must match tst_names in debug.c).
++ *
++ * UBIFS_TST_FORCE_IN_THE_GAPS: force the use of in-the-gaps method
++ * UBIFS_TST_RCVRY: failure mode for recovery testing
++ */
++enum {
++ UBIFS_TST_FORCE_IN_THE_GAPS = 0x2,
++ UBIFS_TST_RCVRY = 0x4,
++};
++
++#if CONFIG_UBIFS_FS_DEBUG_MSG_LVL == 1
++#define UBIFS_MSG_FLAGS_DEFAULT UBIFS_MSG_LVL_1
++#elif CONFIG_UBIFS_FS_DEBUG_MSG_LVL == 2
++#define UBIFS_MSG_FLAGS_DEFAULT UBIFS_MSG_LVL_2
++#elif CONFIG_UBIFS_FS_DEBUG_MSG_LVL == 3
++#define UBIFS_MSG_FLAGS_DEFAULT UBIFS_MSG_LVL_3
++#else
++#define UBIFS_MSG_FLAGS_DEFAULT UBIFS_MSG_LVL_0
++#endif
++
++#ifdef CONFIG_UBIFS_FS_DEBUG_CHKS
++#define UBIFS_CHK_FLAGS_DEFAULT 0xffffffff
++#else
++#define UBIFS_CHK_FLAGS_DEFAULT 0
++#endif
++
++extern spinlock_t dbg_lock;
++
++extern unsigned int ubifs_msg_flags;
++extern unsigned int ubifs_chk_flags;
++extern unsigned int ubifs_tst_flags;
++
++int ubifs_debugging_init(struct ubifs_info *c);
++void ubifs_debugging_exit(struct ubifs_info *c);
++
++/* Dump functions */
++const char *dbg_ntype(int type);
++const char *dbg_cstate(int cmt_state);
++const char *dbg_get_key_dump(const struct ubifs_info *c,
++ const union ubifs_key *key);
++void dbg_dump_inode(const struct ubifs_info *c, const struct inode *inode);
++void dbg_dump_node(const struct ubifs_info *c, const void *node);
++void dbg_dump_lpt_node(const struct ubifs_info *c, void *node, int lnum,
++ int offs);
++void dbg_dump_budget_req(const struct ubifs_budget_req *req);
++void dbg_dump_lstats(const struct ubifs_lp_stats *lst);
++void dbg_dump_budg(struct ubifs_info *c);
++void dbg_dump_lprop(const struct ubifs_info *c, const struct ubifs_lprops *lp);
++void dbg_dump_lprops(struct ubifs_info *c);
++void dbg_dump_lpt_info(struct ubifs_info *c);
++void dbg_dump_leb(const struct ubifs_info *c, int lnum);
++void dbg_dump_znode(const struct ubifs_info *c,
++ const struct ubifs_znode *znode);
++void dbg_dump_heap(struct ubifs_info *c, struct ubifs_lpt_heap *heap, int cat);
++void dbg_dump_pnode(struct ubifs_info *c, struct ubifs_pnode *pnode,
++ struct ubifs_nnode *parent, int iip);
++void dbg_dump_tnc(struct ubifs_info *c);
++void dbg_dump_index(struct ubifs_info *c);
++void dbg_dump_lpt_lebs(const struct ubifs_info *c);
++
++/* Checking helper functions */
++typedef int (*dbg_leaf_callback)(struct ubifs_info *c,
++ struct ubifs_zbranch *zbr, void *priv);
++typedef int (*dbg_znode_callback)(struct ubifs_info *c,
++ struct ubifs_znode *znode, void *priv);
++int dbg_walk_index(struct ubifs_info *c, dbg_leaf_callback leaf_cb,
++ dbg_znode_callback znode_cb, void *priv);
++
++/* Checking functions */
++void dbg_save_space_info(struct ubifs_info *c);
++int dbg_check_space_info(struct ubifs_info *c);
++int dbg_check_lprops(struct ubifs_info *c);
++int dbg_old_index_check_init(struct ubifs_info *c, struct ubifs_zbranch *zroot);
++int dbg_check_old_index(struct ubifs_info *c, struct ubifs_zbranch *zroot);
++int dbg_check_cats(struct ubifs_info *c);
++int dbg_check_ltab(struct ubifs_info *c);
++int dbg_chk_lpt_free_spc(struct ubifs_info *c);
++int dbg_chk_lpt_sz(struct ubifs_info *c, int action, int len);
++int dbg_check_synced_i_size(struct inode *inode);
++int dbg_check_dir_size(struct ubifs_info *c, const struct inode *dir);
++int dbg_check_tnc(struct ubifs_info *c, int extra);
++int dbg_check_idx_size(struct ubifs_info *c, long long idx_size);
++int dbg_check_filesystem(struct ubifs_info *c);
++void dbg_check_heap(struct ubifs_info *c, struct ubifs_lpt_heap *heap, int cat,
++ int add_pos);
++int dbg_check_lprops(struct ubifs_info *c);
++int dbg_check_lpt_nodes(struct ubifs_info *c, struct ubifs_cnode *cnode,
++ int row, int col);
++
++/* Force the use of in-the-gaps method for testing */
++
++#define dbg_force_in_the_gaps_enabled \
++ (ubifs_tst_flags & UBIFS_TST_FORCE_IN_THE_GAPS)
++
++int dbg_force_in_the_gaps(void);
++
++/* Failure mode for recovery testing */
++
++#define dbg_failure_mode (ubifs_tst_flags & UBIFS_TST_RCVRY)
++
++#ifndef UBIFS_DBG_PRESERVE_UBI
++
++#define ubi_leb_read dbg_leb_read
++#define ubi_leb_write dbg_leb_write
++#define ubi_leb_change dbg_leb_change
++#define ubi_leb_erase dbg_leb_erase
++#define ubi_leb_unmap dbg_leb_unmap
++#define ubi_is_mapped dbg_is_mapped
++#define ubi_leb_map dbg_leb_map
++
++#endif
++
++int dbg_leb_read(struct ubi_volume_desc *desc, int lnum, char *buf, int offset,
++ int len, int check);
++int dbg_leb_write(struct ubi_volume_desc *desc, int lnum, const void *buf,
++ int offset, int len, int dtype);
++int dbg_leb_change(struct ubi_volume_desc *desc, int lnum, const void *buf,
++ int len, int dtype);
++int dbg_leb_erase(struct ubi_volume_desc *desc, int lnum);
++int dbg_leb_unmap(struct ubi_volume_desc *desc, int lnum);
++int dbg_is_mapped(struct ubi_volume_desc *desc, int lnum);
++int dbg_leb_map(struct ubi_volume_desc *desc, int lnum, int dtype);
++
++static inline int dbg_read(struct ubi_volume_desc *desc, int lnum, char *buf,
++ int offset, int len)
++{
++ return dbg_leb_read(desc, lnum, buf, offset, len, 0);
++}
++
++static inline int dbg_write(struct ubi_volume_desc *desc, int lnum,
++ const void *buf, int offset, int len)
++{
++ return dbg_leb_write(desc, lnum, buf, offset, len, UBI_UNKNOWN);
++}
++
++static inline int dbg_change(struct ubi_volume_desc *desc, int lnum,
++ const void *buf, int len)
++{
++ return dbg_leb_change(desc, lnum, buf, len, UBI_UNKNOWN);
++}
++
++/* Debugfs-related stuff */
++int dbg_debugfs_init(void);
++void dbg_debugfs_exit(void);
++int dbg_debugfs_init_fs(struct ubifs_info *c);
++void dbg_debugfs_exit_fs(struct ubifs_info *c);
++
++#else /* !CONFIG_UBIFS_FS_DEBUG */
++
++/* Use "if (0)" to make compiler check arguments even if debugging is off */
++#define ubifs_assert(expr) do { \
++ if (0 && (expr)) \
++ printk(KERN_CRIT "UBIFS assert failed in %s at %u (pid %d)\n", \
++ __func__, __LINE__, current->pid); \
++} while (0)
++
++#define dbg_err(fmt, ...) do { \
++ if (0) \
++ ubifs_err(fmt, ##__VA_ARGS__); \
++} while (0)
++
++#define dbg_msg(fmt, ...) do { \
++ if (0) \
++ printk(KERN_DEBUG "UBIFS DBG (pid %d): %s: " fmt "\n", \
++ current->pid, __func__, ##__VA_ARGS__); \
++} while (0)
++
++#define dbg_dump_stack()
++#define ubifs_assert_cmt_locked(c)
++
++#define dbg_gen(fmt, ...) dbg_msg(fmt, ##__VA_ARGS__)
++#define dbg_jnl(fmt, ...) dbg_msg(fmt, ##__VA_ARGS__)
++#define dbg_tnc(fmt, ...) dbg_msg(fmt, ##__VA_ARGS__)
++#define dbg_lp(fmt, ...) dbg_msg(fmt, ##__VA_ARGS__)
++#define dbg_find(fmt, ...) dbg_msg(fmt, ##__VA_ARGS__)
++#define dbg_mnt(fmt, ...) dbg_msg(fmt, ##__VA_ARGS__)
++#define dbg_io(fmt, ...) dbg_msg(fmt, ##__VA_ARGS__)
++#define dbg_cmt(fmt, ...) dbg_msg(fmt, ##__VA_ARGS__)
++#define dbg_budg(fmt, ...) dbg_msg(fmt, ##__VA_ARGS__)
++#define dbg_log(fmt, ...) dbg_msg(fmt, ##__VA_ARGS__)
++#define dbg_gc(fmt, ...) dbg_msg(fmt, ##__VA_ARGS__)
++#define dbg_scan(fmt, ...) dbg_msg(fmt, ##__VA_ARGS__)
++#define dbg_rcvry(fmt, ...) dbg_msg(fmt, ##__VA_ARGS__)
++
++#define DBGKEY(key) ((char *)(key))
++#define DBGKEY1(key) ((char *)(key))
++
++#define ubifs_debugging_init(c) 0
++#define ubifs_debugging_exit(c) ({})
++
++#define dbg_ntype(type) ""
++#define dbg_cstate(cmt_state) ""
++#define dbg_get_key_dump(c, key) ({})
++#define dbg_dump_inode(c, inode) ({})
++#define dbg_dump_node(c, node) ({})
++#define dbg_dump_lpt_node(c, node, lnum, offs) ({})
++#define dbg_dump_budget_req(req) ({})
++#define dbg_dump_lstats(lst) ({})
++#define dbg_dump_budg(c) ({})
++#define dbg_dump_lprop(c, lp) ({})
++#define dbg_dump_lprops(c) ({})
++#define dbg_dump_lpt_info(c) ({})
++#define dbg_dump_leb(c, lnum) ({})
++#define dbg_dump_znode(c, znode) ({})
++#define dbg_dump_heap(c, heap, cat) ({})
++#define dbg_dump_pnode(c, pnode, parent, iip) ({})
++#define dbg_dump_tnc(c) ({})
++#define dbg_dump_index(c) ({})
++#define dbg_dump_lpt_lebs(c) ({})
++
++#define dbg_walk_index(c, leaf_cb, znode_cb, priv) 0
++#define dbg_old_index_check_init(c, zroot) 0
++#define dbg_save_space_info(c) ({})
++#define dbg_check_space_info(c) 0
++#define dbg_check_old_index(c, zroot) 0
++#define dbg_check_cats(c) 0
++#define dbg_check_ltab(c) 0
++#define dbg_chk_lpt_free_spc(c) 0
++#define dbg_chk_lpt_sz(c, action, len) 0
++#define dbg_check_synced_i_size(inode) 0
++#define dbg_check_dir_size(c, dir) 0
++#define dbg_check_tnc(c, x) 0
++#define dbg_check_idx_size(c, idx_size) 0
++#define dbg_check_filesystem(c) 0
++#define dbg_check_heap(c, heap, cat, add_pos) ({})
++#define dbg_check_lprops(c) 0
++#define dbg_check_lpt_nodes(c, cnode, row, col) 0
++#define dbg_force_in_the_gaps_enabled 0
++#define dbg_force_in_the_gaps() 0
++#define dbg_failure_mode 0
++
++#define dbg_debugfs_init() 0
++#define dbg_debugfs_exit()
++#define dbg_debugfs_init_fs(c) 0
++#define dbg_debugfs_exit_fs(c) 0
++
++#endif /* !CONFIG_UBIFS_FS_DEBUG */
++
++/*
++ * Some compatibility stuff goes here.
++ */
++
++#include <asm/div64.h>
++
++static inline uint64_t div_u64(uint64_t dividend, uint64_t divisor)
++{
++ do_div(dividend, divisor);
++ return dividend;
++}
++
++static inline void ___list_splice(const struct list_head *list,
++ struct list_head *prev,
++ struct list_head *next)
++{
++ struct list_head *first = list->next;
++ struct list_head *last = list->prev;
++
++ first->prev = prev;
++ prev->next = first;
++
++ last->next = next;
++ next->prev = last;
++}
++
++/* The below has been back-ported from 2.6.28 */
++static inline void list_splice_tail(struct list_head *list,
++ struct list_head *head)
++{
++ if (!list_empty(list))
++ ___list_splice(list, head->prev, head);
++}
++#endif /* !__UBIFS_DEBUG_H__ */
+diff -Nurd linux-2.6.24/fs/ubifs/dir.c ubifs-v2.6.24/fs/ubifs/dir.c
+--- linux-2.6.24/fs/ubifs/dir.c 1970-01-01 02:00:00.000000000 +0200
++++ ubifs-v2.6.24/fs/ubifs/dir.c 2009-04-07 17:14:47.000000000 +0200
+@@ -0,0 +1,1215 @@
++/* * This file is part of UBIFS.
++ *
++ * Copyright (C) 2006-2008 Nokia Corporation.
++ * Copyright (C) 2006, 2007 University of Szeged, Hungary
++ *
++ * This program is free software; you can redistribute it and/or modify it
++ * under the terms of the GNU General Public License version 2 as published by
++ * the Free Software Foundation.
++ *
++ * 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, write to the Free Software Foundation, Inc., 51
++ * Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
++ *
++ * Authors: Artem Bityutskiy (Битюцкий Ðртём)
++ * Adrian Hunter
++ * Zoltan Sogor
++ */
++
++/*
++ * This file implements directory operations.
++ *
++ * All FS operations in this file allocate budget before writing anything to the
++ * media. If they fail to allocate it, the error is returned. The only
++ * exceptions are 'ubifs_unlink()' and 'ubifs_rmdir()' which keep working even
++ * if they unable to allocate the budget, because deletion %-ENOSPC failure is
++ * not what users are usually ready to get. UBIFS budgeting subsystem has some
++ * space reserved for these purposes.
++ *
++ * All operations in this file write all inodes which they change straight
++ * away, instead of marking them dirty. For example, 'ubifs_link()' changes
++ * @i_size of the parent inode and writes the parent inode together with the
++ * target inode. This was done to simplify file-system recovery which would
++ * otherwise be very difficult to do. The only exception is rename which marks
++ * the re-named inode dirty (because its @i_ctime is updated) but does not
++ * write it, but just marks it as dirty.
++ */
++
++#include "ubifs.h"
++
++/**
++ * inherit_flags - inherit flags of the parent inode.
++ * @dir: parent inode
++ * @mode: new inode mode flags
++ *
++ * This is a helper function for 'ubifs_new_inode()' which inherits flag of the
++ * parent directory inode @dir. UBIFS inodes inherit the following flags:
++ * o %UBIFS_COMPR_FL, which is useful to switch compression on/of on
++ * sub-directory basis;
++ * o %UBIFS_SYNC_FL - useful for the same reasons;
++ * o %UBIFS_DIRSYNC_FL - similar, but relevant only to directories.
++ *
++ * This function returns the inherited flags.
++ */
++static int inherit_flags(const struct inode *dir, int mode)
++{
++ int flags;
++ const struct ubifs_inode *ui = ubifs_inode(dir);
++
++ if (!S_ISDIR(dir->i_mode))
++ /*
++ * The parent is not a directory, which means that an extended
++ * attribute inode is being created. No flags.
++ */
++ return 0;
++
++ flags = ui->flags & (UBIFS_COMPR_FL | UBIFS_SYNC_FL | UBIFS_DIRSYNC_FL);
++ if (!S_ISDIR(mode))
++ /* The "DIRSYNC" flag only applies to directories */
++ flags &= ~UBIFS_DIRSYNC_FL;
++ return flags;
++}
++
++/**
++ * ubifs_new_inode - allocate new UBIFS inode object.
++ * @c: UBIFS file-system description object
++ * @dir: parent directory inode
++ * @mode: inode mode flags
++ *
++ * This function finds an unused inode number, allocates new inode and
++ * initializes it. Returns new inode in case of success and an error code in
++ * case of failure.
++ */
++struct inode *ubifs_new_inode(struct ubifs_info *c, const struct inode *dir,
++ int mode)
++{
++ struct inode *inode;
++ struct ubifs_inode *ui;
++
++ inode = new_inode(c->vfs_sb);
++ ui = ubifs_inode(inode);
++ if (!inode)
++ return ERR_PTR(-ENOMEM);
++
++ /*
++ * Set 'S_NOCMTIME' to prevent VFS form updating [mc]time of inodes and
++ * marking them dirty in file write path (see 'file_update_time()').
++ * UBIFS has to fully control "clean <-> dirty" transitions of inodes
++ * to make budgeting work.
++ */
++ inode->i_flags |= (S_NOCMTIME);
++
++ inode->i_uid = current->fsuid;
++ if (dir->i_mode & S_ISGID) {
++ inode->i_gid = dir->i_gid;
++ if (S_ISDIR(mode))
++ mode |= S_ISGID;
++ } else
++ inode->i_gid = current->fsgid;
++ inode->i_mode = mode;
++ inode->i_mtime = inode->i_atime = inode->i_ctime =
++ ubifs_current_time(inode);
++ inode->i_mapping->nrpages = 0;
++ /* Disable readahead */
++ inode->i_mapping->backing_dev_info = &c->bdi;
++
++ switch (mode & S_IFMT) {
++ case S_IFREG:
++ inode->i_mapping->a_ops = &ubifs_file_address_operations;
++ inode->i_op = &ubifs_file_inode_operations;
++ inode->i_fop = &ubifs_file_operations;
++ break;
++ case S_IFDIR:
++ inode->i_op = &ubifs_dir_inode_operations;
++ inode->i_fop = &ubifs_dir_operations;
++ inode->i_size = ui->ui_size = UBIFS_INO_NODE_SZ;
++ break;
++ case S_IFLNK:
++ inode->i_op = &ubifs_symlink_inode_operations;
++ break;
++ case S_IFSOCK:
++ case S_IFIFO:
++ case S_IFBLK:
++ case S_IFCHR:
++ inode->i_op = &ubifs_file_inode_operations;
++ break;
++ default:
++ BUG();
++ }
++
++ ui->flags = inherit_flags(dir, mode);
++ ubifs_set_inode_flags(inode);
++ if (S_ISREG(mode))
++ ui->compr_type = c->default_compr;
++ else
++ ui->compr_type = UBIFS_COMPR_NONE;
++ ui->synced_i_size = 0;
++
++ spin_lock(&c->cnt_lock);
++ /* Inode number overflow is currently not supported */
++ if (c->highest_inum >= INUM_WARN_WATERMARK) {
++ if (c->highest_inum >= INUM_WATERMARK) {
++ spin_unlock(&c->cnt_lock);
++ ubifs_err("out of inode numbers");
++ make_bad_inode(inode);
++ iput(inode);
++ return ERR_PTR(-EINVAL);
++ }
++ ubifs_warn("running out of inode numbers (current %lu, max %d)",
++ (unsigned long)c->highest_inum, INUM_WATERMARK);
++ }
++
++ inode->i_ino = ++c->highest_inum;
++ /*
++ * The creation sequence number remains with this inode for its
++ * lifetime. All nodes for this inode have a greater sequence number,
++ * and so it is possible to distinguish obsolete nodes belonging to a
++ * previous incarnation of the same inode number - for example, for the
++ * purpose of rebuilding the index.
++ */
++ ui->creat_sqnum = ++c->max_sqnum;
++ spin_unlock(&c->cnt_lock);
++ return inode;
++}
++
++#ifdef CONFIG_UBIFS_FS_DEBUG
++
++static int dbg_check_name(struct ubifs_dent_node *dent, struct qstr *nm)
++{
++ if (!(ubifs_chk_flags & UBIFS_CHK_GEN))
++ return 0;
++ if (le16_to_cpu(dent->nlen) != nm->len)
++ return -EINVAL;
++ if (memcmp(dent->name, nm->name, nm->len))
++ return -EINVAL;
++ return 0;
++}
++
++#else
++
++#define dbg_check_name(dent, nm) 0
++
++#endif
++
++static struct dentry *ubifs_lookup(struct inode *dir, struct dentry *dentry,
++ struct nameidata *nd)
++{
++ int err;
++ union ubifs_key key;
++ struct inode *inode = NULL;
++ struct ubifs_dent_node *dent;
++ struct ubifs_info *c = dir->i_sb->s_fs_info;
++
++ dbg_gen("'%.*s' in dir ino %lu",
++ dentry->d_name.len, dentry->d_name.name, dir->i_ino);
++
++ if (dentry->d_name.len > UBIFS_MAX_NLEN)
++ return ERR_PTR(-ENAMETOOLONG);
++
++ dent = kmalloc(UBIFS_MAX_DENT_NODE_SZ, GFP_NOFS);
++ if (!dent)
++ return ERR_PTR(-ENOMEM);
++
++ dent_key_init(c, &key, dir->i_ino, &dentry->d_name);
++
++ err = ubifs_tnc_lookup_nm(c, &key, dent, &dentry->d_name);
++ if (err) {
++ /*
++ * Do not hash the direntry if parent 'i_nlink' is zero, because
++ * this has side-effects - '->delete_inode()' call will not be
++ * called for the parent orphan inode, because 'd_count' of its
++ * direntry will stay 1 (it'll be negative direntry I guess)
++ * and prevent 'iput_final()' until the dentry is destroyed due
++ * to unmount or memory pressure.
++ */
++ if (err == -ENOENT && dir->i_nlink != 0) {
++ dbg_gen("not found");
++ goto done;
++ }
++ goto out;
++ }
++
++ if (dbg_check_name(dent, &dentry->d_name)) {
++ err = -EINVAL;
++ goto out;
++ }
++
++ inode = ubifs_iget(dir->i_sb, le64_to_cpu(dent->inum));
++ if (IS_ERR(inode)) {
++ /*
++ * This should not happen. Probably the file-system needs
++ * checking.
++ */
++ err = PTR_ERR(inode);
++ ubifs_err("dead directory entry '%.*s', error %d",
++ dentry->d_name.len, dentry->d_name.name, err);
++ ubifs_ro_mode(c, err);
++ goto out;
++ }
++
++done:
++ kfree(dent);
++ return d_splice_alias(inode, dentry);
++
++out:
++ kfree(dent);
++ return ERR_PTR(err);
++}
++
++static int ubifs_create(struct inode *dir, struct dentry *dentry, int mode,
++ struct nameidata *nd)
++{
++ struct inode *inode;
++ struct ubifs_info *c = dir->i_sb->s_fs_info;
++ int err, sz_change = CALC_DENT_SIZE(dentry->d_name.len);
++ struct ubifs_budget_req req = { .new_ino = 1, .new_dent = 1,
++ .dirtied_ino = 1 };
++ struct ubifs_inode *dir_ui = ubifs_inode(dir);
++
++ /*
++ * Budget request settings: new inode, new direntry, changing the
++ * parent directory inode.
++ */
++
++ dbg_gen("dent '%.*s', mode %#x in dir ino %lu",
++ dentry->d_name.len, dentry->d_name.name, mode, dir->i_ino);
++
++ err = ubifs_budget_space(c, &req);
++ if (err)
++ return err;
++
++ inode = ubifs_new_inode(c, dir, mode);
++ if (IS_ERR(inode)) {
++ err = PTR_ERR(inode);
++ goto out_budg;
++ }
++
++ mutex_lock(&dir_ui->ui_mutex);
++ dir->i_size += sz_change;
++ dir_ui->ui_size = dir->i_size;
++ dir->i_mtime = dir->i_ctime = inode->i_ctime;
++ err = ubifs_jnl_update(c, dir, &dentry->d_name, inode, 0, 0);
++ if (err)
++ goto out_cancel;
++ mutex_unlock(&dir_ui->ui_mutex);
++
++ ubifs_release_budget(c, &req);
++ insert_inode_hash(inode);
++ d_instantiate(dentry, inode);
++ return 0;
++
++out_cancel:
++ dir->i_size -= sz_change;
++ dir_ui->ui_size = dir->i_size;
++ mutex_unlock(&dir_ui->ui_mutex);
++ make_bad_inode(inode);
++ iput(inode);
++out_budg:
++ ubifs_release_budget(c, &req);
++ ubifs_err("cannot create regular file, error %d", err);
++ return err;
++}
++
++/**
++ * vfs_dent_type - get VFS directory entry type.
++ * @type: UBIFS directory entry type
++ *
++ * This function converts UBIFS directory entry type into VFS directory entry
++ * type.
++ */
++static unsigned int vfs_dent_type(uint8_t type)
++{
++ switch (type) {
++ case UBIFS_ITYPE_REG:
++ return DT_REG;
++ case UBIFS_ITYPE_DIR:
++ return DT_DIR;
++ case UBIFS_ITYPE_LNK:
++ return DT_LNK;
++ case UBIFS_ITYPE_BLK:
++ return DT_BLK;
++ case UBIFS_ITYPE_CHR:
++ return DT_CHR;
++ case UBIFS_ITYPE_FIFO:
++ return DT_FIFO;
++ case UBIFS_ITYPE_SOCK:
++ return DT_SOCK;
++ default:
++ BUG();
++ }
++ return 0;
++}
++
++/*
++ * The classical Unix view for directory is that it is a linear array of
++ * (name, inode number) entries. Linux/VFS assumes this model as well.
++ * Particularly, 'readdir()' call wants us to return a directory entry offset
++ * which later may be used to continue 'readdir()'ing the directory or to
++ * 'seek()' to that specific direntry. Obviously UBIFS does not really fit this
++ * model because directory entries are identified by keys, which may collide.
++ *
++ * UBIFS uses directory entry hash value for directory offsets, so
++ * 'seekdir()'/'telldir()' may not always work because of possible key
++ * collisions. But UBIFS guarantees that consecutive 'readdir()' calls work
++ * properly by means of saving full directory entry name in the private field
++ * of the file description object.
++ *
++ * This means that UBIFS cannot support NFS which requires full
++ * 'seekdir()'/'telldir()' support.
++ */
++static int ubifs_readdir(struct file *file, void *dirent, filldir_t filldir)
++{
++ int err, over = 0;
++ struct qstr nm;
++ union ubifs_key key;
++ struct ubifs_dent_node *dent;
++ struct inode *dir = file->f_path.dentry->d_inode;
++ struct ubifs_info *c = dir->i_sb->s_fs_info;
++
++ dbg_gen("dir ino %lu, f_pos %#llx", dir->i_ino, file->f_pos);
++
++ if (file->f_pos > UBIFS_S_KEY_HASH_MASK || file->f_pos == 2)
++ /*
++ * The directory was seek'ed to a senseless position or there
++ * are no more entries.
++ */
++ return 0;
++
++ /* File positions 0 and 1 correspond to "." and ".." */
++ if (file->f_pos == 0) {
++ ubifs_assert(!file->private_data);
++ over = filldir(dirent, ".", 1, 0, dir->i_ino, DT_DIR);
++ if (over)
++ return 0;
++ file->f_pos = 1;
++ }
++
++ if (file->f_pos == 1) {
++ ubifs_assert(!file->private_data);
++ over = filldir(dirent, "..", 2, 1,
++ parent_ino(file->f_path.dentry), DT_DIR);
++ if (over)
++ return 0;
++
++ /* Find the first entry in TNC and save it */
++ lowest_dent_key(c, &key, dir->i_ino);
++ nm.name = NULL;
++ dent = ubifs_tnc_next_ent(c, &key, &nm);
++ if (IS_ERR(dent)) {
++ err = PTR_ERR(dent);
++ goto out;
++ }
++
++ file->f_pos = key_hash_flash(c, &dent->key);
++ file->private_data = dent;
++ }
++
++ dent = file->private_data;
++ if (!dent) {
++ /*
++ * The directory was seek'ed to and is now readdir'ed.
++ * Find the entry corresponding to @file->f_pos or the
++ * closest one.
++ */
++ dent_key_init_hash(c, &key, dir->i_ino, file->f_pos);
++ nm.name = NULL;
++ dent = ubifs_tnc_next_ent(c, &key, &nm);
++ if (IS_ERR(dent)) {
++ err = PTR_ERR(dent);
++ goto out;
++ }
++ file->f_pos = key_hash_flash(c, &dent->key);
++ file->private_data = dent;
++ }
++
++ while (1) {
++ dbg_gen("feed '%s', ino %llu, new f_pos %#x",
++ dent->name, (unsigned long long)le64_to_cpu(dent->inum),
++ key_hash_flash(c, &dent->key));
++ ubifs_assert(le64_to_cpu(dent->ch.sqnum) >
++ ubifs_inode(dir)->creat_sqnum);
++
++ nm.len = le16_to_cpu(dent->nlen);
++ over = filldir(dirent, dent->name, nm.len, file->f_pos,
++ le64_to_cpu(dent->inum),
++ vfs_dent_type(dent->type));
++ if (over)
++ return 0;
++
++ /* Switch to the next entry */
++ key_read(c, &dent->key, &key);
++ nm.name = dent->name;
++ dent = ubifs_tnc_next_ent(c, &key, &nm);
++ if (IS_ERR(dent)) {
++ err = PTR_ERR(dent);
++ goto out;
++ }
++
++ kfree(file->private_data);
++ file->f_pos = key_hash_flash(c, &dent->key);
++ file->private_data = dent;
++ cond_resched();
++ }
++
++out:
++ if (err != -ENOENT) {
++ ubifs_err("cannot find next direntry, error %d", err);
++ return err;
++ }
++
++ kfree(file->private_data);
++ file->private_data = NULL;
++ file->f_pos = 2;
++ return 0;
++}
++
++/* If a directory is seeked, we have to free saved readdir() state */
++static loff_t ubifs_dir_llseek(struct file *file, loff_t offset, int origin)
++{
++ kfree(file->private_data);
++ file->private_data = NULL;
++ return generic_file_llseek(file, offset, origin);
++}
++
++/* Free saved readdir() state when the directory is closed */
++static int ubifs_dir_release(struct inode *dir, struct file *file)
++{
++ kfree(file->private_data);
++ file->private_data = NULL;
++ return 0;
++}
++
++/**
++ * lock_2_inodes - a wrapper for locking two UBIFS inodes.
++ * @inode1: first inode
++ * @inode2: second inode
++ *
++ * We do not implement any tricks to guarantee strict lock ordering, because
++ * VFS has already done it for us on the @i_mutex. So this is just a simple
++ * wrapper function.
++ */
++static void lock_2_inodes(struct inode *inode1, struct inode *inode2)
++{
++ mutex_lock_nested(&ubifs_inode(inode1)->ui_mutex, WB_MUTEX_1);
++ mutex_lock_nested(&ubifs_inode(inode2)->ui_mutex, WB_MUTEX_2);
++}
++
++/**
++ * unlock_2_inodes - a wrapper for unlocking two UBIFS inodes.
++ * @inode1: first inode
++ * @inode2: second inode
++ */
++static void unlock_2_inodes(struct inode *inode1, struct inode *inode2)
++{
++ mutex_unlock(&ubifs_inode(inode2)->ui_mutex);
++ mutex_unlock(&ubifs_inode(inode1)->ui_mutex);
++}
++
++static int ubifs_link(struct dentry *old_dentry, struct inode *dir,
++ struct dentry *dentry)
++{
++ struct ubifs_info *c = dir->i_sb->s_fs_info;
++ struct inode *inode = old_dentry->d_inode;
++ struct ubifs_inode *ui = ubifs_inode(inode);
++ struct ubifs_inode *dir_ui = ubifs_inode(dir);
++ int err, sz_change = CALC_DENT_SIZE(dentry->d_name.len);
++ struct ubifs_budget_req req = { .new_dent = 1, .dirtied_ino = 2,
++ .dirtied_ino_d = ALIGN(ui->data_len, 8) };
++
++ /*
++ * Budget request settings: new direntry, changing the target inode,
++ * changing the parent inode.
++ */
++
++ dbg_gen("dent '%.*s' to ino %lu (nlink %d) in dir ino %lu",
++ dentry->d_name.len, dentry->d_name.name, inode->i_ino,
++ inode->i_nlink, dir->i_ino);
++ ubifs_assert(mutex_is_locked(&dir->i_mutex));
++ ubifs_assert(mutex_is_locked(&inode->i_mutex));
++ err = dbg_check_synced_i_size(inode);
++ if (err)
++ return err;
++
++ err = ubifs_budget_space(c, &req);
++ if (err)
++ return err;
++
++ lock_2_inodes(dir, inode);
++ inc_nlink(inode);
++ atomic_inc(&inode->i_count);
++ inode->i_ctime = ubifs_current_time(inode);
++ dir->i_size += sz_change;
++ dir_ui->ui_size = dir->i_size;
++ dir->i_mtime = dir->i_ctime = inode->i_ctime;
++ err = ubifs_jnl_update(c, dir, &dentry->d_name, inode, 0, 0);
++ if (err)
++ goto out_cancel;
++ unlock_2_inodes(dir, inode);
++
++ ubifs_release_budget(c, &req);
++ d_instantiate(dentry, inode);
++ return 0;
++
++out_cancel:
++ dir->i_size -= sz_change;
++ dir_ui->ui_size = dir->i_size;
++ drop_nlink(inode);
++ unlock_2_inodes(dir, inode);
++ ubifs_release_budget(c, &req);
++ iput(inode);
++ return err;
++}
++
++static int ubifs_unlink(struct inode *dir, struct dentry *dentry)
++{
++ struct ubifs_info *c = dir->i_sb->s_fs_info;
++ struct inode *inode = dentry->d_inode;
++ struct ubifs_inode *dir_ui = ubifs_inode(dir);
++ int sz_change = CALC_DENT_SIZE(dentry->d_name.len);
++ int err, budgeted = 1;
++ struct ubifs_budget_req req = { .mod_dent = 1, .dirtied_ino = 2 };
++
++ /*
++ * Budget request settings: deletion direntry, deletion inode (+1 for
++ * @dirtied_ino), changing the parent directory inode. If budgeting
++ * fails, go ahead anyway because we have extra space reserved for
++ * deletions.
++ */
++
++ dbg_gen("dent '%.*s' from ino %lu (nlink %d) in dir ino %lu",
++ dentry->d_name.len, dentry->d_name.name, inode->i_ino,
++ inode->i_nlink, dir->i_ino);
++ ubifs_assert(mutex_is_locked(&dir->i_mutex));
++ ubifs_assert(mutex_is_locked(&inode->i_mutex));
++ err = dbg_check_synced_i_size(inode);
++ if (err)
++ return err;
++
++ err = ubifs_budget_space(c, &req);
++ if (err) {
++ if (err != -ENOSPC)
++ return err;
++ budgeted = 0;
++ }
++
++ lock_2_inodes(dir, inode);
++ inode->i_ctime = ubifs_current_time(dir);
++ drop_nlink(inode);
++ dir->i_size -= sz_change;
++ dir_ui->ui_size = dir->i_size;
++ dir->i_mtime = dir->i_ctime = inode->i_ctime;
++ err = ubifs_jnl_update(c, dir, &dentry->d_name, inode, 1, 0);
++ if (err)
++ goto out_cancel;
++ unlock_2_inodes(dir, inode);
++
++ if (budgeted)
++ ubifs_release_budget(c, &req);
++ else {
++ /* We've deleted something - clean the "no space" flags */
++ c->nospace = c->nospace_rp = 0;
++ smp_wmb();
++ }
++ return 0;
++
++out_cancel:
++ dir->i_size += sz_change;
++ dir_ui->ui_size = dir->i_size;
++ inc_nlink(inode);
++ unlock_2_inodes(dir, inode);
++ if (budgeted)
++ ubifs_release_budget(c, &req);
++ return err;
++}
++
++/**
++ * check_dir_empty - check if a directory is empty or not.
++ * @c: UBIFS file-system description object
++ * @dir: VFS inode object of the directory to check
++ *
++ * This function checks if directory @dir is empty. Returns zero if the
++ * directory is empty, %-ENOTEMPTY if it is not, and other negative error codes
++ * in case of of errors.
++ */
++static int check_dir_empty(struct ubifs_info *c, struct inode *dir)
++{
++ struct qstr nm = { .name = NULL };
++ struct ubifs_dent_node *dent;
++ union ubifs_key key;
++ int err;
++
++ lowest_dent_key(c, &key, dir->i_ino);
++ dent = ubifs_tnc_next_ent(c, &key, &nm);
++ if (IS_ERR(dent)) {
++ err = PTR_ERR(dent);
++ if (err == -ENOENT)
++ err = 0;
++ } else {
++ kfree(dent);
++ err = -ENOTEMPTY;
++ }
++ return err;
++}
++
++static int ubifs_rmdir(struct inode *dir, struct dentry *dentry)
++{
++ struct ubifs_info *c = dir->i_sb->s_fs_info;
++ struct inode *inode = dentry->d_inode;
++ int sz_change = CALC_DENT_SIZE(dentry->d_name.len);
++ int err, budgeted = 1;
++ struct ubifs_inode *dir_ui = ubifs_inode(dir);
++ struct ubifs_budget_req req = { .mod_dent = 1, .dirtied_ino = 2 };
++
++ /*
++ * Budget request settings: deletion direntry, deletion inode and
++ * changing the parent inode. If budgeting fails, go ahead anyway
++ * because we have extra space reserved for deletions.
++ */
++
++ dbg_gen("directory '%.*s', ino %lu in dir ino %lu", dentry->d_name.len,
++ dentry->d_name.name, inode->i_ino, dir->i_ino);
++ ubifs_assert(mutex_is_locked(&dir->i_mutex));
++ ubifs_assert(mutex_is_locked(&inode->i_mutex));
++ err = check_dir_empty(c, dentry->d_inode);
++ if (err)
++ return err;
++
++ err = ubifs_budget_space(c, &req);
++ if (err) {
++ if (err != -ENOSPC)
++ return err;
++ budgeted = 0;
++ }
++
++ lock_2_inodes(dir, inode);
++ inode->i_ctime = ubifs_current_time(dir);
++ clear_nlink(inode);
++ drop_nlink(dir);
++ dir->i_size -= sz_change;
++ dir_ui->ui_size = dir->i_size;
++ dir->i_mtime = dir->i_ctime = inode->i_ctime;
++ err = ubifs_jnl_update(c, dir, &dentry->d_name, inode, 1, 0);
++ if (err)
++ goto out_cancel;
++ unlock_2_inodes(dir, inode);
++
++ if (budgeted)
++ ubifs_release_budget(c, &req);
++ else {
++ /* We've deleted something - clean the "no space" flags */
++ c->nospace = c->nospace_rp = 0;
++ smp_wmb();
++ }
++ return 0;
++
++out_cancel:
++ dir->i_size += sz_change;
++ dir_ui->ui_size = dir->i_size;
++ inc_nlink(dir);
++ inc_nlink(inode);
++ inc_nlink(inode);
++ unlock_2_inodes(dir, inode);
++ if (budgeted)
++ ubifs_release_budget(c, &req);
++ return err;
++}
++
++static int ubifs_mkdir(struct inode *dir, struct dentry *dentry, int mode)
++{
++ struct inode *inode;
++ struct ubifs_inode *dir_ui = ubifs_inode(dir);
++ struct ubifs_info *c = dir->i_sb->s_fs_info;
++ int err, sz_change = CALC_DENT_SIZE(dentry->d_name.len);
++ struct ubifs_budget_req req = { .new_ino = 1, .new_dent = 1 };
++
++ /*
++ * Budget request settings: new inode, new direntry and changing parent
++ * directory inode.
++ */
++
++ dbg_gen("dent '%.*s', mode %#x in dir ino %lu",
++ dentry->d_name.len, dentry->d_name.name, mode, dir->i_ino);
++
++ err = ubifs_budget_space(c, &req);
++ if (err)
++ return err;
++
++ inode = ubifs_new_inode(c, dir, S_IFDIR | mode);
++ if (IS_ERR(inode)) {
++ err = PTR_ERR(inode);
++ goto out_budg;
++ }
++
++ mutex_lock(&dir_ui->ui_mutex);
++ insert_inode_hash(inode);
++ inc_nlink(inode);
++ inc_nlink(dir);
++ dir->i_size += sz_change;
++ dir_ui->ui_size = dir->i_size;
++ dir->i_mtime = dir->i_ctime = inode->i_ctime;
++ err = ubifs_jnl_update(c, dir, &dentry->d_name, inode, 0, 0);
++ if (err) {
++ ubifs_err("cannot create directory, error %d", err);
++ goto out_cancel;
++ }
++ mutex_unlock(&dir_ui->ui_mutex);
++
++ ubifs_release_budget(c, &req);
++ d_instantiate(dentry, inode);
++ return 0;
++
++out_cancel:
++ dir->i_size -= sz_change;
++ dir_ui->ui_size = dir->i_size;
++ drop_nlink(dir);
++ mutex_unlock(&dir_ui->ui_mutex);
++ make_bad_inode(inode);
++ iput(inode);
++out_budg:
++ ubifs_release_budget(c, &req);
++ return err;
++}
++
++static int ubifs_mknod(struct inode *dir, struct dentry *dentry,
++ int mode, dev_t rdev)
++{
++ struct inode *inode;
++ struct ubifs_inode *ui;
++ struct ubifs_inode *dir_ui = ubifs_inode(dir);
++ struct ubifs_info *c = dir->i_sb->s_fs_info;
++ union ubifs_dev_desc *dev = NULL;
++ int sz_change = CALC_DENT_SIZE(dentry->d_name.len);
++ int err, devlen = 0;
++ struct ubifs_budget_req req = { .new_ino = 1, .new_dent = 1,
++ .new_ino_d = ALIGN(devlen, 8),
++ .dirtied_ino = 1 };
++
++ /*
++ * Budget request settings: new inode, new direntry and changing parent
++ * directory inode.
++ */
++
++ dbg_gen("dent '%.*s' in dir ino %lu",
++ dentry->d_name.len, dentry->d_name.name, dir->i_ino);
++
++ if (!new_valid_dev(rdev))
++ return -EINVAL;
++
++ if (S_ISBLK(mode) || S_ISCHR(mode)) {
++ dev = kmalloc(sizeof(union ubifs_dev_desc), GFP_NOFS);
++ if (!dev)
++ return -ENOMEM;
++ devlen = ubifs_encode_dev(dev, rdev);
++ }
++
++ err = ubifs_budget_space(c, &req);
++ if (err) {
++ kfree(dev);
++ return err;
++ }
++
++ inode = ubifs_new_inode(c, dir, mode);
++ if (IS_ERR(inode)) {
++ kfree(dev);
++ err = PTR_ERR(inode);
++ goto out_budg;
++ }
++
++ init_special_inode(inode, inode->i_mode, rdev);
++ inode->i_size = ubifs_inode(inode)->ui_size = devlen;
++ ui = ubifs_inode(inode);
++ ui->data = dev;
++ ui->data_len = devlen;
++
++ mutex_lock(&dir_ui->ui_mutex);
++ dir->i_size += sz_change;
++ dir_ui->ui_size = dir->i_size;
++ dir->i_mtime = dir->i_ctime = inode->i_ctime;
++ err = ubifs_jnl_update(c, dir, &dentry->d_name, inode, 0, 0);
++ if (err)
++ goto out_cancel;
++ mutex_unlock(&dir_ui->ui_mutex);
++
++ ubifs_release_budget(c, &req);
++ insert_inode_hash(inode);
++ d_instantiate(dentry, inode);
++ return 0;
++
++out_cancel:
++ dir->i_size -= sz_change;
++ dir_ui->ui_size = dir->i_size;
++ mutex_unlock(&dir_ui->ui_mutex);
++ make_bad_inode(inode);
++ iput(inode);
++out_budg:
++ ubifs_release_budget(c, &req);
++ return err;
++}
++
++static int ubifs_symlink(struct inode *dir, struct dentry *dentry,
++ const char *symname)
++{
++ struct inode *inode;
++ struct ubifs_inode *ui;
++ struct ubifs_inode *dir_ui = ubifs_inode(dir);
++ struct ubifs_info *c = dir->i_sb->s_fs_info;
++ int err, len = strlen(symname);
++ int sz_change = CALC_DENT_SIZE(dentry->d_name.len);
++ struct ubifs_budget_req req = { .new_ino = 1, .new_dent = 1,
++ .new_ino_d = ALIGN(len, 8),
++ .dirtied_ino = 1 };
++
++ /*
++ * Budget request settings: new inode, new direntry and changing parent
++ * directory inode.
++ */
++
++ dbg_gen("dent '%.*s', target '%s' in dir ino %lu", dentry->d_name.len,
++ dentry->d_name.name, symname, dir->i_ino);
++
++ if (len > UBIFS_MAX_INO_DATA)
++ return -ENAMETOOLONG;
++
++ err = ubifs_budget_space(c, &req);
++ if (err)
++ return err;
++
++ inode = ubifs_new_inode(c, dir, S_IFLNK | S_IRWXUGO);
++ if (IS_ERR(inode)) {
++ err = PTR_ERR(inode);
++ goto out_budg;
++ }
++
++ ui = ubifs_inode(inode);
++ ui->data = kmalloc(len + 1, GFP_NOFS);
++ if (!ui->data) {
++ err = -ENOMEM;
++ goto out_inode;
++ }
++
++ memcpy(ui->data, symname, len);
++ ((char *)ui->data)[len] = '\0';
++ /*
++ * The terminating zero byte is not written to the flash media and it
++ * is put just to make later in-memory string processing simpler. Thus,
++ * data length is @len, not @len + %1.
++ */
++ ui->data_len = len;
++ inode->i_size = ubifs_inode(inode)->ui_size = len;
++
++ mutex_lock(&dir_ui->ui_mutex);
++ dir->i_size += sz_change;
++ dir_ui->ui_size = dir->i_size;
++ dir->i_mtime = dir->i_ctime = inode->i_ctime;
++ err = ubifs_jnl_update(c, dir, &dentry->d_name, inode, 0, 0);
++ if (err)
++ goto out_cancel;
++ mutex_unlock(&dir_ui->ui_mutex);
++
++ ubifs_release_budget(c, &req);
++ insert_inode_hash(inode);
++ d_instantiate(dentry, inode);
++ return 0;
++
++out_cancel:
++ dir->i_size -= sz_change;
++ dir_ui->ui_size = dir->i_size;
++ mutex_unlock(&dir_ui->ui_mutex);
++out_inode:
++ make_bad_inode(inode);
++ iput(inode);
++out_budg:
++ ubifs_release_budget(c, &req);
++ return err;
++}
++
++/**
++ * lock_3_inodes - a wrapper for locking three UBIFS inodes.
++ * @inode1: first inode
++ * @inode2: second inode
++ * @inode3: third inode
++ *
++ * This function is used for 'ubifs_rename()' and @inode1 may be the same as
++ * @inode2 whereas @inode3 may be %NULL.
++ *
++ * We do not implement any tricks to guarantee strict lock ordering, because
++ * VFS has already done it for us on the @i_mutex. So this is just a simple
++ * wrapper function.
++ */
++static void lock_3_inodes(struct inode *inode1, struct inode *inode2,
++ struct inode *inode3)
++{
++ mutex_lock_nested(&ubifs_inode(inode1)->ui_mutex, WB_MUTEX_1);
++ if (inode2 != inode1)
++ mutex_lock_nested(&ubifs_inode(inode2)->ui_mutex, WB_MUTEX_2);
++ if (inode3)
++ mutex_lock_nested(&ubifs_inode(inode3)->ui_mutex, WB_MUTEX_3);
++}
++
++/**
++ * unlock_3_inodes - a wrapper for unlocking three UBIFS inodes for rename.
++ * @inode1: first inode
++ * @inode2: second inode
++ * @inode3: third inode
++ */
++static void unlock_3_inodes(struct inode *inode1, struct inode *inode2,
++ struct inode *inode3)
++{
++ if (inode3)
++ mutex_unlock(&ubifs_inode(inode3)->ui_mutex);
++ if (inode1 != inode2)
++ mutex_unlock(&ubifs_inode(inode2)->ui_mutex);
++ mutex_unlock(&ubifs_inode(inode1)->ui_mutex);
++}
++
++static int ubifs_rename(struct inode *old_dir, struct dentry *old_dentry,
++ struct inode *new_dir, struct dentry *new_dentry)
++{
++ struct ubifs_info *c = old_dir->i_sb->s_fs_info;
++ struct inode *old_inode = old_dentry->d_inode;
++ struct inode *new_inode = new_dentry->d_inode;
++ struct ubifs_inode *old_inode_ui = ubifs_inode(old_inode);
++ int err, release, sync = 0, move = (new_dir != old_dir);
++ int is_dir = S_ISDIR(old_inode->i_mode);
++ int unlink = !!new_inode;
++ int new_sz = CALC_DENT_SIZE(new_dentry->d_name.len);
++ int old_sz = CALC_DENT_SIZE(old_dentry->d_name.len);
++ struct ubifs_budget_req req = { .new_dent = 1, .mod_dent = 1,
++ .dirtied_ino = 3 };
++ struct ubifs_budget_req ino_req = { .dirtied_ino = 1,
++ .dirtied_ino_d = ALIGN(old_inode_ui->data_len, 8) };
++ struct timespec time;
++
++ /*
++ * Budget request settings: deletion direntry, new direntry, removing
++ * the old inode, and changing old and new parent directory inodes.
++ *
++ * However, this operation also marks the target inode as dirty and
++ * does not write it, so we allocate budget for the target inode
++ * separately.
++ */
++
++ dbg_gen("dent '%.*s' ino %lu in dir ino %lu to dent '%.*s' in "
++ "dir ino %lu", old_dentry->d_name.len, old_dentry->d_name.name,
++ old_inode->i_ino, old_dir->i_ino, new_dentry->d_name.len,
++ new_dentry->d_name.name, new_dir->i_ino);
++ ubifs_assert(mutex_is_locked(&old_dir->i_mutex));
++ ubifs_assert(mutex_is_locked(&new_dir->i_mutex));
++ if (unlink)
++ ubifs_assert(mutex_is_locked(&new_inode->i_mutex));
++
++
++ if (unlink && is_dir) {
++ err = check_dir_empty(c, new_inode);
++ if (err)
++ return err;
++ }
++
++ err = ubifs_budget_space(c, &req);
++ if (err)
++ return err;
++ err = ubifs_budget_space(c, &ino_req);
++ if (err) {
++ ubifs_release_budget(c, &req);
++ return err;
++ }
++
++ lock_3_inodes(old_dir, new_dir, new_inode);
++
++ /*
++ * Like most other Unix systems, set the @i_ctime for inodes on a
++ * rename.
++ */
++ time = ubifs_current_time(old_dir);
++ old_inode->i_ctime = time;
++
++ /* We must adjust parent link count when renaming directories */
++ if (is_dir) {
++ if (move) {
++ /*
++ * @old_dir loses a link because we are moving
++ * @old_inode to a different directory.
++ */
++ drop_nlink(old_dir);
++ /*
++ * @new_dir only gains a link if we are not also
++ * overwriting an existing directory.
++ */
++ if (!unlink)
++ inc_nlink(new_dir);
++ } else {
++ /*
++ * @old_inode is not moving to a different directory,
++ * but @old_dir still loses a link if we are
++ * overwriting an existing directory.
++ */
++ if (unlink)
++ drop_nlink(old_dir);
++ }
++ }
++
++ old_dir->i_size -= old_sz;
++ ubifs_inode(old_dir)->ui_size = old_dir->i_size;
++ old_dir->i_mtime = old_dir->i_ctime = time;
++ new_dir->i_mtime = new_dir->i_ctime = time;
++
++ /*
++ * And finally, if we unlinked a direntry which happened to have the
++ * same name as the moved direntry, we have to decrement @i_nlink of
++ * the unlinked inode and change its ctime.
++ */
++ if (unlink) {
++ /*
++ * Directories cannot have hard-links, so if this is a
++ * directory, decrement its @i_nlink twice because an empty
++ * directory has @i_nlink 2.
++ */
++ if (is_dir)
++ drop_nlink(new_inode);
++ new_inode->i_ctime = time;
++ drop_nlink(new_inode);
++ } else {
++ new_dir->i_size += new_sz;
++ ubifs_inode(new_dir)->ui_size = new_dir->i_size;
++ }
++
++ /*
++ * Do not ask 'ubifs_jnl_rename()' to flush write-buffer if @old_inode
++ * is dirty, because this will be done later on at the end of
++ * 'ubifs_rename()'.
++ */
++ if (IS_SYNC(old_inode)) {
++ sync = IS_DIRSYNC(old_dir) || IS_DIRSYNC(new_dir);
++ if (unlink && IS_SYNC(new_inode))
++ sync = 1;
++ }
++ err = ubifs_jnl_rename(c, old_dir, old_dentry, new_dir, new_dentry,
++ sync);
++ if (err)
++ goto out_cancel;
++
++ unlock_3_inodes(old_dir, new_dir, new_inode);
++ ubifs_release_budget(c, &req);
++
++ mutex_lock(&old_inode_ui->ui_mutex);
++ release = old_inode_ui->dirty;
++ mark_inode_dirty_sync(old_inode);
++ mutex_unlock(&old_inode_ui->ui_mutex);
++
++ if (release)
++ ubifs_release_budget(c, &ino_req);
++ if (IS_SYNC(old_inode))
++ err = old_inode->i_sb->s_op->write_inode(old_inode, 1);
++ return err;
++
++out_cancel:
++ if (unlink) {
++ if (is_dir)
++ inc_nlink(new_inode);
++ inc_nlink(new_inode);
++ } else {
++ new_dir->i_size -= new_sz;
++ ubifs_inode(new_dir)->ui_size = new_dir->i_size;
++ }
++ old_dir->i_size += old_sz;
++ ubifs_inode(old_dir)->ui_size = old_dir->i_size;
++ if (is_dir) {
++ if (move) {
++ inc_nlink(old_dir);
++ if (!unlink)
++ drop_nlink(new_dir);
++ } else {
++ if (unlink)
++ inc_nlink(old_dir);
++ }
++ }
++ unlock_3_inodes(old_dir, new_dir, new_inode);
++ ubifs_release_budget(c, &ino_req);
++ ubifs_release_budget(c, &req);
++ return err;
++}
++
++int ubifs_getattr(struct vfsmount *mnt, struct dentry *dentry,
++ struct kstat *stat)
++{
++ loff_t size;
++ struct inode *inode = dentry->d_inode;
++ struct ubifs_inode *ui = ubifs_inode(inode);
++
++ mutex_lock(&ui->ui_mutex);
++ stat->dev = inode->i_sb->s_dev;
++ stat->ino = inode->i_ino;
++ stat->mode = inode->i_mode;
++ stat->nlink = inode->i_nlink;
++ stat->uid = inode->i_uid;
++ stat->gid = inode->i_gid;
++ stat->rdev = inode->i_rdev;
++ stat->atime = inode->i_atime;
++ stat->mtime = inode->i_mtime;
++ stat->ctime = inode->i_ctime;
++ stat->blksize = UBIFS_BLOCK_SIZE;
++ stat->size = ui->ui_size;
++
++ /*
++ * Unfortunately, the 'stat()' system call was designed for block
++ * device based file systems, and it is not appropriate for UBIFS,
++ * because UBIFS does not have notion of "block". For example, it is
++ * difficult to tell how many block a directory takes - it actually
++ * takes less than 300 bytes, but we have to round it to block size,
++ * which introduces large mistake. This makes utilities like 'du' to
++ * report completely senseless numbers. This is the reason why UBIFS
++ * goes the same way as JFFS2 - it reports zero blocks for everything
++ * but regular files, which makes more sense than reporting completely
++ * wrong sizes.
++ */
++ if (S_ISREG(inode->i_mode)) {
++ size = ui->xattr_size;
++ size += stat->size;
++ size = ALIGN(size, UBIFS_BLOCK_SIZE);
++ /*
++ * Note, user-space expects 512-byte blocks count irrespectively
++ * of what was reported in @stat->size.
++ */
++ stat->blocks = size >> 9;
++ } else
++ stat->blocks = 0;
++ mutex_unlock(&ui->ui_mutex);
++ return 0;
++}
++
++const struct inode_operations ubifs_dir_inode_operations = {
++ .lookup = ubifs_lookup,
++ .create = ubifs_create,
++ .link = ubifs_link,
++ .symlink = ubifs_symlink,
++ .unlink = ubifs_unlink,
++ .mkdir = ubifs_mkdir,
++ .rmdir = ubifs_rmdir,
++ .mknod = ubifs_mknod,
++ .rename = ubifs_rename,
++ .setattr = ubifs_setattr,
++ .getattr = ubifs_getattr,
++#ifdef CONFIG_UBIFS_FS_XATTR
++ .setxattr = ubifs_setxattr,
++ .getxattr = ubifs_getxattr,
++ .listxattr = ubifs_listxattr,
++ .removexattr = ubifs_removexattr,
++#endif
++};
++
++const struct file_operations ubifs_dir_operations = {
++ .llseek = ubifs_dir_llseek,
++ .release = ubifs_dir_release,
++ .read = generic_read_dir,
++ .readdir = ubifs_readdir,
++ .fsync = ubifs_fsync,
++ .unlocked_ioctl = ubifs_ioctl,
++#ifdef CONFIG_COMPAT
++ .compat_ioctl = ubifs_compat_ioctl,
++#endif
++};
+diff -Nurd linux-2.6.24/fs/ubifs/file.c ubifs-v2.6.24/fs/ubifs/file.c
+--- linux-2.6.24/fs/ubifs/file.c 1970-01-01 02:00:00.000000000 +0200
++++ ubifs-v2.6.24/fs/ubifs/file.c 2009-04-07 17:14:47.000000000 +0200
+@@ -0,0 +1,1593 @@
++/*
++ * This file is part of UBIFS.
++ *
++ * Copyright (C) 2006-2008 Nokia Corporation.
++ *
++ * This program is free software; you can redistribute it and/or modify it
++ * under the terms of the GNU General Public License version 2 as published by
++ * the Free Software Foundation.
++ *
++ * 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, write to the Free Software Foundation, Inc., 51
++ * Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
++ *
++ * Authors: Artem Bityutskiy (Битюцкий Ðртём)
++ * Adrian Hunter
++ */
++
++/*
++ * This file implements VFS file and inode operations of regular files, device
++ * nodes and symlinks as well as address space operations.
++ *
++ * UBIFS uses 2 page flags: PG_private and PG_checked. PG_private is set if the
++ * page is dirty and is used for budgeting purposes - dirty pages should not be
++ * budgeted. The PG_checked flag is set if full budgeting is required for the
++ * page e.g., when it corresponds to a file hole or it is just beyond the file
++ * size. The budgeting is done in 'ubifs_write_begin()', because it is OK to
++ * fail in this function, and the budget is released in 'ubifs_write_end()'. So
++ * the PG_private and PG_checked flags carry the information about how the page
++ * was budgeted, to make it possible to release the budget properly.
++ *
++ * A thing to keep in mind: inode's 'i_mutex' is locked in most VFS operations
++ * we implement. However, this is not true for '->writepage()', which might be
++ * called with 'i_mutex' unlocked. For example, when pdflush is performing
++ * write-back, it calls 'writepage()' with unlocked 'i_mutex', although the
++ * inode has 'I_LOCK' flag in this case. At "normal" work-paths 'i_mutex' is
++ * locked in '->writepage', e.g. in "sys_write -> alloc_pages -> direct reclaim
++ * path'. So, in '->writepage()' we are only guaranteed that the page is
++ * locked.
++ *
++ * Similarly, 'i_mutex' does not have to be locked in readpage(), e.g.,
++ * readahead path does not have it locked ("sys_read -> generic_file_aio_read
++ * -> ondemand_readahead -> readpage"). In case of readahead, 'I_LOCK' flag is
++ * not set as well. However, UBIFS disables readahead.
++ *
++ * This, for example means that there might be 2 concurrent '->writepage()'
++ * calls for the same inode, but different inode dirty pages.
++ */
++
++#include "ubifs.h"
++#include <linux/mount.h>
++
++static int read_block(struct inode *inode, void *addr, unsigned int block,
++ struct ubifs_data_node *dn)
++{
++ struct ubifs_info *c = inode->i_sb->s_fs_info;
++ int err, len, out_len;
++ union ubifs_key key;
++ unsigned int dlen;
++
++ data_key_init(c, &key, inode->i_ino, block);
++ err = ubifs_tnc_lookup(c, &key, dn);
++ if (err) {
++ if (err == -ENOENT)
++ /* Not found, so it must be a hole */
++ memset(addr, 0, UBIFS_BLOCK_SIZE);
++ return err;
++ }
++
++ ubifs_assert(le64_to_cpu(dn->ch.sqnum) >
++ ubifs_inode(inode)->creat_sqnum);
++ len = le32_to_cpu(dn->size);
++ if (len <= 0 || len > UBIFS_BLOCK_SIZE)
++ goto dump;
++
++ dlen = le32_to_cpu(dn->ch.len) - UBIFS_DATA_NODE_SZ;
++ out_len = UBIFS_BLOCK_SIZE;
++ err = ubifs_decompress(&dn->data, dlen, addr, &out_len,
++ le16_to_cpu(dn->compr_type));
++ if (err || len != out_len)
++ goto dump;
++
++ /*
++ * Data length can be less than a full block, even for blocks that are
++ * not the last in the file (e.g., as a result of making a hole and
++ * appending data). Ensure that the remainder is zeroed out.
++ */
++ if (len < UBIFS_BLOCK_SIZE)
++ memset(addr + len, 0, UBIFS_BLOCK_SIZE - len);
++
++ return 0;
++
++dump:
++ ubifs_err("bad data node (block %u, inode %lu)",
++ block, inode->i_ino);
++ dbg_dump_node(c, dn);
++ return -EINVAL;
++}
++
++static int do_readpage(struct page *page)
++{
++ void *addr;
++ int err = 0, i;
++ unsigned int block, beyond;
++ struct ubifs_data_node *dn;
++ struct inode *inode = page->mapping->host;
++ loff_t i_size = i_size_read(inode);
++
++ dbg_gen("ino %lu, pg %lu, i_size %lld, flags %#lx",
++ inode->i_ino, page->index, i_size, page->flags);
++ ubifs_assert(!PageChecked(page));
++ ubifs_assert(!PagePrivate(page));
++
++ addr = kmap(page);
++
++ block = page->index << UBIFS_BLOCKS_PER_PAGE_SHIFT;
++ beyond = (i_size + UBIFS_BLOCK_SIZE - 1) >> UBIFS_BLOCK_SHIFT;
++ if (block >= beyond) {
++ /* Reading beyond inode */
++ SetPageChecked(page);
++ memset(addr, 0, PAGE_CACHE_SIZE);
++ goto out;
++ }
++
++ dn = kmalloc(UBIFS_MAX_DATA_NODE_SZ, GFP_NOFS);
++ if (!dn) {
++ err = -ENOMEM;
++ goto error;
++ }
++
++ i = 0;
++ while (1) {
++ int ret;
++
++ if (block >= beyond) {
++ /* Reading beyond inode */
++ err = -ENOENT;
++ memset(addr, 0, UBIFS_BLOCK_SIZE);
++ } else {
++ ret = read_block(inode, addr, block, dn);
++ if (ret) {
++ err = ret;
++ if (err != -ENOENT)
++ break;
++ } else if (block + 1 == beyond) {
++ int dlen = le32_to_cpu(dn->size);
++ int ilen = i_size & (UBIFS_BLOCK_SIZE - 1);
++
++ if (ilen && ilen < dlen)
++ memset(addr + ilen, 0, dlen - ilen);
++ }
++ }
++ if (++i >= UBIFS_BLOCKS_PER_PAGE)
++ break;
++ block += 1;
++ addr += UBIFS_BLOCK_SIZE;
++ }
++ if (err) {
++ if (err == -ENOENT) {
++ /* Not found, so it must be a hole */
++ SetPageChecked(page);
++ dbg_gen("hole");
++ goto out_free;
++ }
++ ubifs_err("cannot read page %lu of inode %lu, error %d",
++ page->index, inode->i_ino, err);
++ goto error;
++ }
++
++out_free:
++ kfree(dn);
++out:
++ SetPageUptodate(page);
++ ClearPageError(page);
++ flush_dcache_page(page);
++ kunmap(page);
++ return 0;
++
++error:
++ kfree(dn);
++ ClearPageUptodate(page);
++ SetPageError(page);
++ flush_dcache_page(page);
++ kunmap(page);
++ return err;
++}
++
++/**
++ * release_new_page_budget - release budget of a new page.
++ * @c: UBIFS file-system description object
++ *
++ * This is a helper function which releases budget corresponding to the budget
++ * of one new page of data.
++ */
++static void release_new_page_budget(struct ubifs_info *c)
++{
++ struct ubifs_budget_req req = { .recalculate = 1, .new_page = 1 };
++
++ ubifs_release_budget(c, &req);
++}
++
++/**
++ * release_existing_page_budget - release budget of an existing page.
++ * @c: UBIFS file-system description object
++ *
++ * This is a helper function which releases budget corresponding to the budget
++ * of changing one one page of data which already exists on the flash media.
++ */
++static void release_existing_page_budget(struct ubifs_info *c)
++{
++ struct ubifs_budget_req req = { .dd_growth = c->page_budget};
++
++ ubifs_release_budget(c, &req);
++}
++
++static int write_begin_slow(struct address_space *mapping,
++ loff_t pos, unsigned len, struct page **pagep)
++{
++ struct inode *inode = mapping->host;
++ struct ubifs_info *c = inode->i_sb->s_fs_info;
++ pgoff_t index = pos >> PAGE_CACHE_SHIFT;
++ struct ubifs_budget_req req = { .new_page = 1 };
++ int uninitialized_var(err), appending = !!(pos + len > inode->i_size);
++ struct page *page;
++
++ dbg_gen("ino %lu, pos %llu, len %u, i_size %lld",
++ inode->i_ino, pos, len, inode->i_size);
++
++ /*
++ * At the slow path we have to budget before locking the page, because
++ * budgeting may force write-back, which would wait on locked pages and
++ * deadlock if we had the page locked. At this point we do not know
++ * anything about the page, so assume that this is a new page which is
++ * written to a hole. This corresponds to largest budget. Later the
++ * budget will be amended if this is not true.
++ */
++ if (appending)
++ /* We are appending data, budget for inode change */
++ req.dirtied_ino = 1;
++
++ err = ubifs_budget_space(c, &req);
++ if (unlikely(err))
++ return err;
++
++ page = __grab_cache_page(mapping, index);
++ if (unlikely(!page)) {
++ ubifs_release_budget(c, &req);
++ return -ENOMEM;
++ }
++
++ if (!PageUptodate(page)) {
++ if (!(pos & ~PAGE_CACHE_MASK) && len == PAGE_CACHE_SIZE)
++ SetPageChecked(page);
++ else {
++ err = do_readpage(page);
++ if (err) {
++ unlock_page(page);
++ page_cache_release(page);
++ return err;
++ }
++ }
++
++ SetPageUptodate(page);
++ ClearPageError(page);
++ }
++
++ if (PagePrivate(page))
++ /*
++ * The page is dirty, which means it was budgeted twice:
++ * o first time the budget was allocated by the task which
++ * made the page dirty and set the PG_private flag;
++ * o and then we budgeted for it for the second time at the
++ * very beginning of this function.
++ *
++ * So what we have to do is to release the page budget we
++ * allocated.
++ */
++ release_new_page_budget(c);
++ else if (!PageChecked(page))
++ /*
++ * We are changing a page which already exists on the media.
++ * This means that changing the page does not make the amount
++ * of indexing information larger, and this part of the budget
++ * which we have already acquired may be released.
++ */
++ ubifs_convert_page_budget(c);
++
++ if (appending) {
++ struct ubifs_inode *ui = ubifs_inode(inode);
++
++ /*
++ * 'ubifs_write_end()' is optimized from the fast-path part of
++ * 'ubifs_write_begin()' and expects the @ui_mutex to be locked
++ * if data is appended.
++ */
++ mutex_lock(&ui->ui_mutex);
++ if (ui->dirty)
++ /*
++ * The inode is dirty already, so we may free the
++ * budget we allocated.
++ */
++ ubifs_release_dirty_inode_budget(c, ui);
++ }
++
++ *pagep = page;
++ return 0;
++}
++
++/**
++ * allocate_budget - allocate budget for 'ubifs_write_begin()'.
++ * @c: UBIFS file-system description object
++ * @page: page to allocate budget for
++ * @ui: UBIFS inode object the page belongs to
++ * @appending: non-zero if the page is appended
++ *
++ * This is a helper function for 'ubifs_write_begin()' which allocates budget
++ * for the operation. The budget is allocated differently depending on whether
++ * this is appending, whether the page is dirty or not, and so on. This
++ * function leaves the @ui->ui_mutex locked in case of appending. Returns zero
++ * in case of success and %-ENOSPC in case of failure.
++ */
++static int allocate_budget(struct ubifs_info *c, struct page *page,
++ struct ubifs_inode *ui, int appending)
++{
++ struct ubifs_budget_req req = { .fast = 1 };
++
++ if (PagePrivate(page)) {
++ if (!appending)
++ /*
++ * The page is dirty and we are not appending, which
++ * means no budget is needed at all.
++ */
++ return 0;
++
++ mutex_lock(&ui->ui_mutex);
++ if (ui->dirty)
++ /*
++ * The page is dirty and we are appending, so the inode
++ * has to be marked as dirty. However, it is already
++ * dirty, so we do not need any budget. We may return,
++ * but @ui->ui_mutex hast to be left locked because we
++ * should prevent write-back from flushing the inode
++ * and freeing the budget. The lock will be released in
++ * 'ubifs_write_end()'.
++ */
++ return 0;
++
++ /*
++ * The page is dirty, we are appending, the inode is clean, so
++ * we need to budget the inode change.
++ */
++ req.dirtied_ino = 1;
++ } else {
++ if (PageChecked(page))
++ /*
++ * The page corresponds to a hole and does not
++ * exist on the media. So changing it makes
++ * make the amount of indexing information
++ * larger, and we have to budget for a new
++ * page.
++ */
++ req.new_page = 1;
++ else
++ /*
++ * Not a hole, the change will not add any new
++ * indexing information, budget for page
++ * change.
++ */
++ req.dirtied_page = 1;
++
++ if (appending) {
++ mutex_lock(&ui->ui_mutex);
++ if (!ui->dirty)
++ /*
++ * The inode is clean but we will have to mark
++ * it as dirty because we are appending. This
++ * needs a budget.
++ */
++ req.dirtied_ino = 1;
++ }
++ }
++
++ return ubifs_budget_space(c, &req);
++}
++
++/*
++ * This function is called when a page of data is going to be written. Since
++ * the page of data will not necessarily go to the flash straight away, UBIFS
++ * has to reserve space on the media for it, which is done by means of
++ * budgeting.
++ *
++ * This is the hot-path of the file-system and we are trying to optimize it as
++ * much as possible. For this reasons it is split on 2 parts - slow and fast.
++ *
++ * There many budgeting cases:
++ * o a new page is appended - we have to budget for a new page and for
++ * changing the inode; however, if the inode is already dirty, there is
++ * no need to budget for it;
++ * o an existing clean page is changed - we have budget for it; if the page
++ * does not exist on the media (a hole), we have to budget for a new
++ * page; otherwise, we may budget for changing an existing page; the
++ * difference between these cases is that changing an existing page does
++ * not introduce anything new to the FS indexing information, so it does
++ * not grow, and smaller budget is acquired in this case;
++ * o an existing dirty page is changed - no need to budget at all, because
++ * the page budget has been acquired by earlier, when the page has been
++ * marked dirty.
++ *
++ * UBIFS budgeting sub-system may force write-back if it thinks there is no
++ * space to reserve. This imposes some locking restrictions and makes it
++ * impossible to take into account the above cases, and makes it impossible to
++ * optimize budgeting.
++ *
++ * The solution for this is that the fast path of 'ubifs_write_begin()' assumes
++ * there is a plenty of flash space and the budget will be acquired quickly,
++ * without forcing write-back. The slow path does not make this assumption.
++ */
++static int ubifs_write_begin(struct file *file, struct address_space *mapping,
++ loff_t pos, unsigned len, unsigned flags,
++ struct page **pagep, void **fsdata)
++{
++ struct inode *inode = mapping->host;
++ struct ubifs_info *c = inode->i_sb->s_fs_info;
++ struct ubifs_inode *ui = ubifs_inode(inode);
++ pgoff_t index = pos >> PAGE_CACHE_SHIFT;
++ int uninitialized_var(err), appending = !!(pos + len > inode->i_size);
++ int skipped_read = 0;
++ struct page *page;
++
++ ubifs_assert(ubifs_inode(inode)->ui_size == inode->i_size);
++
++ if (unlikely(c->ro_media))
++ return -EROFS;
++
++ /* Try out the fast-path part first */
++ page = __grab_cache_page(mapping, index);
++ if (unlikely(!page))
++ return -ENOMEM;
++
++ if (!PageUptodate(page)) {
++ /* The page is not loaded from the flash */
++ if (!(pos & ~PAGE_CACHE_MASK) && len == PAGE_CACHE_SIZE) {
++ /*
++ * We change whole page so no need to load it. But we
++ * have to set the @PG_checked flag to make the further
++ * code the page is new. This might be not true, but it
++ * is better to budget more that to read the page from
++ * the media.
++ */
++ SetPageChecked(page);
++ skipped_read = 1;
++ } else {
++ err = do_readpage(page);
++ if (err) {
++ unlock_page(page);
++ page_cache_release(page);
++ return err;
++ }
++ }
++
++ SetPageUptodate(page);
++ ClearPageError(page);
++ }
++
++ err = allocate_budget(c, page, ui, appending);
++ if (unlikely(err)) {
++ ubifs_assert(err == -ENOSPC);
++ /*
++ * If we skipped reading the page because we were going to
++ * write all of it, then it is not up to date.
++ */
++ if (skipped_read) {
++ ClearPageChecked(page);
++ ClearPageUptodate(page);
++ }
++ /*
++ * Budgeting failed which means it would have to force
++ * write-back but didn't, because we set the @fast flag in the
++ * request. Write-back cannot be done now, while we have the
++ * page locked, because it would deadlock. Unlock and free
++ * everything and fall-back to slow-path.
++ */
++ if (appending) {
++ ubifs_assert(mutex_is_locked(&ui->ui_mutex));
++ mutex_unlock(&ui->ui_mutex);
++ }
++ unlock_page(page);
++ page_cache_release(page);
++
++ return write_begin_slow(mapping, pos, len, pagep);
++ }
++
++ /*
++ * Whee, we aquired budgeting quickly - without involving
++ * garbage-collection, committing or forceing write-back. We return
++ * with @ui->ui_mutex locked if we are appending pages, and unlocked
++ * otherwise. This is an optimization (slightly hacky though).
++ */
++ *pagep = page;
++ return 0;
++
++}
++
++/**
++ * cancel_budget - cancel budget.
++ * @c: UBIFS file-system description object
++ * @page: page to cancel budget for
++ * @ui: UBIFS inode object the page belongs to
++ * @appending: non-zero if the page is appended
++ *
++ * This is a helper function for a page write operation. It unlocks the
++ * @ui->ui_mutex in case of appending.
++ */
++static void cancel_budget(struct ubifs_info *c, struct page *page,
++ struct ubifs_inode *ui, int appending)
++{
++ if (appending) {
++ if (!ui->dirty)
++ ubifs_release_dirty_inode_budget(c, ui);
++ mutex_unlock(&ui->ui_mutex);
++ }
++ if (!PagePrivate(page)) {
++ if (PageChecked(page))
++ release_new_page_budget(c);
++ else
++ release_existing_page_budget(c);
++ }
++}
++
++static int ubifs_write_end(struct file *file, struct address_space *mapping,
++ loff_t pos, unsigned len, unsigned copied,
++ struct page *page, void *fsdata)
++{
++ struct inode *inode = mapping->host;
++ struct ubifs_inode *ui = ubifs_inode(inode);
++ struct ubifs_info *c = inode->i_sb->s_fs_info;
++ loff_t end_pos = pos + len;
++ int appending = !!(end_pos > inode->i_size);
++
++ dbg_gen("ino %lu, pos %llu, pg %lu, len %u, copied %d, i_size %lld",
++ inode->i_ino, pos, page->index, len, copied, inode->i_size);
++
++ if (unlikely(copied < len && len == PAGE_CACHE_SIZE)) {
++ /*
++ * VFS copied less data to the page that it intended and
++ * declared in its '->write_begin()' call via the @len
++ * argument. If the page was not up-to-date, and @len was
++ * @PAGE_CACHE_SIZE, the 'ubifs_write_begin()' function did
++ * not load it from the media (for optimization reasons). This
++ * means that part of the page contains garbage. So read the
++ * page now.
++ */
++ dbg_gen("copied %d instead of %d, read page and repeat",
++ copied, len);
++ cancel_budget(c, page, ui, appending);
++
++ /*
++ * Return 0 to force VFS to repeat the whole operation, or the
++ * error code if 'do_readpage()' failes.
++ */
++ copied = do_readpage(page);
++ goto out;
++ }
++
++ if (!PagePrivate(page)) {
++ SetPagePrivate(page);
++ atomic_long_inc(&c->dirty_pg_cnt);
++ __set_page_dirty_nobuffers(page);
++ }
++
++ if (appending) {
++ i_size_write(inode, end_pos);
++ ui->ui_size = end_pos;
++ /*
++ * Note, we do not set @I_DIRTY_PAGES (which means that the
++ * inode has dirty pages), this has been done in
++ * '__set_page_dirty_nobuffers()'.
++ */
++ __mark_inode_dirty(inode, I_DIRTY_DATASYNC);
++ ubifs_assert(mutex_is_locked(&ui->ui_mutex));
++ mutex_unlock(&ui->ui_mutex);
++ }
++
++out:
++ unlock_page(page);
++ page_cache_release(page);
++ return copied;
++}
++
++/**
++ * populate_page - copy data nodes into a page for bulk-read.
++ * @c: UBIFS file-system description object
++ * @page: page
++ * @bu: bulk-read information
++ * @n: next zbranch slot
++ *
++ * This function returns %0 on success and a negative error code on failure.
++ */
++static int populate_page(struct ubifs_info *c, struct page *page,
++ struct bu_info *bu, int *n)
++{
++ int i = 0, nn = *n, offs = bu->zbranch[0].offs, hole = 0, read = 0;
++ struct inode *inode = page->mapping->host;
++ loff_t i_size = i_size_read(inode);
++ unsigned int page_block;
++ void *addr, *zaddr;
++ pgoff_t end_index;
++
++ dbg_gen("ino %lu, pg %lu, i_size %lld, flags %#lx",
++ inode->i_ino, page->index, i_size, page->flags);
++
++ addr = zaddr = kmap(page);
++
++ end_index = (i_size - 1) >> PAGE_CACHE_SHIFT;
++ if (!i_size || page->index > end_index) {
++ hole = 1;
++ memset(addr, 0, PAGE_CACHE_SIZE);
++ goto out_hole;
++ }
++
++ page_block = page->index << UBIFS_BLOCKS_PER_PAGE_SHIFT;
++ while (1) {
++ int err, len, out_len, dlen;
++
++ if (nn >= bu->cnt) {
++ hole = 1;
++ memset(addr, 0, UBIFS_BLOCK_SIZE);
++ } else if (key_block(c, &bu->zbranch[nn].key) == page_block) {
++ struct ubifs_data_node *dn;
++
++ dn = bu->buf + (bu->zbranch[nn].offs - offs);
++
++ ubifs_assert(le64_to_cpu(dn->ch.sqnum) >
++ ubifs_inode(inode)->creat_sqnum);
++
++ len = le32_to_cpu(dn->size);
++ if (len <= 0 || len > UBIFS_BLOCK_SIZE)
++ goto out_err;
++
++ dlen = le32_to_cpu(dn->ch.len) - UBIFS_DATA_NODE_SZ;
++ out_len = UBIFS_BLOCK_SIZE;
++ err = ubifs_decompress(&dn->data, dlen, addr, &out_len,
++ le16_to_cpu(dn->compr_type));
++ if (err || len != out_len)
++ goto out_err;
++
++ if (len < UBIFS_BLOCK_SIZE)
++ memset(addr + len, 0, UBIFS_BLOCK_SIZE - len);
++
++ nn += 1;
++ read = (i << UBIFS_BLOCK_SHIFT) + len;
++ } else if (key_block(c, &bu->zbranch[nn].key) < page_block) {
++ nn += 1;
++ continue;
++ } else {
++ hole = 1;
++ memset(addr, 0, UBIFS_BLOCK_SIZE);
++ }
++ if (++i >= UBIFS_BLOCKS_PER_PAGE)
++ break;
++ addr += UBIFS_BLOCK_SIZE;
++ page_block += 1;
++ }
++
++ if (end_index == page->index) {
++ int len = i_size & (PAGE_CACHE_SIZE - 1);
++
++ if (len && len < read)
++ memset(zaddr + len, 0, read - len);
++ }
++
++out_hole:
++ if (hole) {
++ SetPageChecked(page);
++ dbg_gen("hole");
++ }
++
++ SetPageUptodate(page);
++ ClearPageError(page);
++ flush_dcache_page(page);
++ kunmap(page);
++ *n = nn;
++ return 0;
++
++out_err:
++ ClearPageUptodate(page);
++ SetPageError(page);
++ flush_dcache_page(page);
++ kunmap(page);
++ ubifs_err("bad data node (block %u, inode %lu)",
++ page_block, inode->i_ino);
++ return -EINVAL;
++}
++
++/**
++ * ubifs_do_bulk_read - do bulk-read.
++ * @c: UBIFS file-system description object
++ * @bu: bulk-read information
++ * @page1: first page to read
++ *
++ * This function returns %1 if the bulk-read is done, otherwise %0 is returned.
++ */
++static int ubifs_do_bulk_read(struct ubifs_info *c, struct bu_info *bu,
++ struct page *page1)
++{
++ pgoff_t offset = page1->index, end_index;
++ struct address_space *mapping = page1->mapping;
++ struct inode *inode = mapping->host;
++ struct ubifs_inode *ui = ubifs_inode(inode);
++ int err, page_idx, page_cnt, ret = 0, n = 0;
++ int allocate = bu->buf ? 0 : 1;
++ loff_t isize;
++
++ err = ubifs_tnc_get_bu_keys(c, bu);
++ if (err)
++ goto out_warn;
++
++ if (bu->eof) {
++ /* Turn off bulk-read at the end of the file */
++ ui->read_in_a_row = 1;
++ ui->bulk_read = 0;
++ }
++
++ page_cnt = bu->blk_cnt >> UBIFS_BLOCKS_PER_PAGE_SHIFT;
++ if (!page_cnt) {
++ /*
++ * This happens when there are multiple blocks per page and the
++ * blocks for the first page we are looking for, are not
++ * together. If all the pages were like this, bulk-read would
++ * reduce performance, so we turn it off for a while.
++ */
++ goto out_bu_off;
++ }
++
++ if (bu->cnt) {
++ if (allocate) {
++ /*
++ * Allocate bulk-read buffer depending on how many data
++ * nodes we are going to read.
++ */
++ bu->buf_len = bu->zbranch[bu->cnt - 1].offs +
++ bu->zbranch[bu->cnt - 1].len -
++ bu->zbranch[0].offs;
++ ubifs_assert(bu->buf_len > 0);
++ ubifs_assert(bu->buf_len <= c->leb_size);
++ bu->buf = kmalloc(bu->buf_len, GFP_NOFS | __GFP_NOWARN);
++ if (!bu->buf)
++ goto out_bu_off;
++ }
++
++ err = ubifs_tnc_bulk_read(c, bu);
++ if (err)
++ goto out_warn;
++ }
++
++ err = populate_page(c, page1, bu, &n);
++ if (err)
++ goto out_warn;
++
++ unlock_page(page1);
++ ret = 1;
++
++ isize = i_size_read(inode);
++ if (isize == 0)
++ goto out_free;
++ end_index = ((isize - 1) >> PAGE_CACHE_SHIFT);
++
++ for (page_idx = 1; page_idx < page_cnt; page_idx++) {
++ pgoff_t page_offset = offset + page_idx;
++ struct page *page;
++
++ if (page_offset > end_index)
++ break;
++ page = find_or_create_page(mapping, page_offset,
++ GFP_NOFS | __GFP_COLD);
++ if (!page)
++ break;
++ if (!PageUptodate(page))
++ err = populate_page(c, page, bu, &n);
++ unlock_page(page);
++ page_cache_release(page);
++ if (err)
++ break;
++ }
++
++ ui->last_page_read = offset + page_idx - 1;
++
++out_free:
++ if (allocate)
++ kfree(bu->buf);
++ return ret;
++
++out_warn:
++ ubifs_warn("ignoring error %d and skipping bulk-read", err);
++ goto out_free;
++
++out_bu_off:
++ ui->read_in_a_row = ui->bulk_read = 0;
++ goto out_free;
++}
++
++/**
++ * ubifs_bulk_read - determine whether to bulk-read and, if so, do it.
++ * @page: page from which to start bulk-read.
++ *
++ * Some flash media are capable of reading sequentially at faster rates. UBIFS
++ * bulk-read facility is designed to take advantage of that, by reading in one
++ * go consecutive data nodes that are also located consecutively in the same
++ * LEB. This function returns %1 if a bulk-read is done and %0 otherwise.
++ */
++static int ubifs_bulk_read(struct page *page)
++{
++ struct inode *inode = page->mapping->host;
++ struct ubifs_info *c = inode->i_sb->s_fs_info;
++ struct ubifs_inode *ui = ubifs_inode(inode);
++ pgoff_t index = page->index, last_page_read = ui->last_page_read;
++ struct bu_info *bu;
++ int err = 0, allocated = 0;
++
++ ui->last_page_read = index;
++ if (!c->bulk_read)
++ return 0;
++
++ /*
++ * Bulk-read is protected by @ui->ui_mutex, but it is an optimization,
++ * so don't bother if we cannot lock the mutex.
++ */
++ if (!mutex_trylock(&ui->ui_mutex))
++ return 0;
++
++ if (index != last_page_read + 1) {
++ /* Turn off bulk-read if we stop reading sequentially */
++ ui->read_in_a_row = 1;
++ if (ui->bulk_read)
++ ui->bulk_read = 0;
++ goto out_unlock;
++ }
++
++ if (!ui->bulk_read) {
++ ui->read_in_a_row += 1;
++ if (ui->read_in_a_row < 3)
++ goto out_unlock;
++ /* Three reads in a row, so switch on bulk-read */
++ ui->bulk_read = 1;
++ }
++
++ /*
++ * If possible, try to use pre-allocated bulk-read information, which
++ * is protected by @c->bu_mutex.
++ */
++ if (mutex_trylock(&c->bu_mutex))
++ bu = &c->bu;
++ else {
++ bu = kmalloc(sizeof(struct bu_info), GFP_NOFS | __GFP_NOWARN);
++ if (!bu)
++ goto out_unlock;
++
++ bu->buf = NULL;
++ allocated = 1;
++ }
++
++ bu->buf_len = c->max_bu_buf_len;
++ data_key_init(c, &bu->key, inode->i_ino,
++ page->index << UBIFS_BLOCKS_PER_PAGE_SHIFT);
++ err = ubifs_do_bulk_read(c, bu, page);
++
++ if (!allocated)
++ mutex_unlock(&c->bu_mutex);
++ else
++ kfree(bu);
++
++out_unlock:
++ mutex_unlock(&ui->ui_mutex);
++ return err;
++}
++
++static int ubifs_readpage(struct file *file, struct page *page)
++{
++ if (ubifs_bulk_read(page))
++ return 0;
++ do_readpage(page);
++ unlock_page(page);
++ return 0;
++}
++
++static int do_writepage(struct page *page, int len)
++{
++ int err = 0, i, blen;
++ unsigned int block;
++ void *addr;
++ union ubifs_key key;
++ struct inode *inode = page->mapping->host;
++ struct ubifs_info *c = inode->i_sb->s_fs_info;
++
++#ifdef UBIFS_DEBUG
++ spin_lock(&ui->ui_lock);
++ ubifs_assert(page->index <= ui->synced_i_size << PAGE_CACHE_SIZE);
++ spin_unlock(&ui->ui_lock);
++#endif
++
++ /* Update radix tree tags */
++ set_page_writeback(page);
++
++ addr = kmap(page);
++ block = page->index << UBIFS_BLOCKS_PER_PAGE_SHIFT;
++ i = 0;
++ while (len) {
++ blen = min_t(int, len, UBIFS_BLOCK_SIZE);
++ data_key_init(c, &key, inode->i_ino, block);
++ err = ubifs_jnl_write_data(c, inode, &key, addr, blen);
++ if (err)
++ break;
++ if (++i >= UBIFS_BLOCKS_PER_PAGE)
++ break;
++ block += 1;
++ addr += blen;
++ len -= blen;
++ }
++ if (err) {
++ SetPageError(page);
++ ubifs_err("cannot write page %lu of inode %lu, error %d",
++ page->index, inode->i_ino, err);
++ ubifs_ro_mode(c, err);
++ }
++
++ ubifs_assert(PagePrivate(page));
++ if (PageChecked(page))
++ release_new_page_budget(c);
++ else
++ release_existing_page_budget(c);
++
++ atomic_long_dec(&c->dirty_pg_cnt);
++ ClearPagePrivate(page);
++ ClearPageChecked(page);
++
++ kunmap(page);
++ unlock_page(page);
++ end_page_writeback(page);
++ return err;
++}
++
++/*
++ * When writing-back dirty inodes, VFS first writes-back pages belonging to the
++ * inode, then the inode itself. For UBIFS this may cause a problem. Consider a
++ * situation when a we have an inode with size 0, then a megabyte of data is
++ * appended to the inode, then write-back starts and flushes some amount of the
++ * dirty pages, the journal becomes full, commit happens and finishes, and then
++ * an unclean reboot happens. When the file system is mounted next time, the
++ * inode size would still be 0, but there would be many pages which are beyond
++ * the inode size, they would be indexed and consume flash space. Because the
++ * journal has been committed, the replay would not be able to detect this
++ * situation and correct the inode size. This means UBIFS would have to scan
++ * whole index and correct all inode sizes, which is long an unacceptable.
++ *
++ * To prevent situations like this, UBIFS writes pages back only if they are
++ * within the last synchronized inode size, i.e. the size which has been
++ * written to the flash media last time. Otherwise, UBIFS forces inode
++ * write-back, thus making sure the on-flash inode contains current inode size,
++ * and then keeps writing pages back.
++ *
++ * Some locking issues explanation. 'ubifs_writepage()' first is called with
++ * the page locked, and it locks @ui_mutex. However, write-back does take inode
++ * @i_mutex, which means other VFS operations may be run on this inode at the
++ * same time. And the problematic one is truncation to smaller size, from where
++ * we have to call 'vmtruncate()', which first changes @inode->i_size, then
++ * drops the truncated pages. And while dropping the pages, it takes the page
++ * lock. This means that 'do_truncation()' cannot call 'vmtruncate()' with
++ * @ui_mutex locked, because it would deadlock with 'ubifs_writepage()'. This
++ * means that @inode->i_size is changed while @ui_mutex is unlocked.
++ *
++ * But in 'ubifs_writepage()' we have to guarantee that we do not write beyond
++ * inode size. How do we do this if @inode->i_size may became smaller while we
++ * are in the middle of 'ubifs_writepage()'? The UBIFS solution is the
++ * @ui->ui_isize "shadow" field which UBIFS uses instead of @inode->i_size
++ * internally and updates it under @ui_mutex.
++ *
++ * Q: why we do not worry that if we race with truncation, we may end up with a
++ * situation when the inode is truncated while we are in the middle of
++ * 'do_writepage()', so we do write beyond inode size?
++ * A: If we are in the middle of 'do_writepage()', truncation would be locked
++ * on the page lock and it would not write the truncated inode node to the
++ * journal before we have finished.
++ */
++static int ubifs_writepage(struct page *page, struct writeback_control *wbc)
++{
++ struct inode *inode = page->mapping->host;
++ struct ubifs_inode *ui = ubifs_inode(inode);
++ loff_t i_size = i_size_read(inode), synced_i_size;
++ pgoff_t end_index = i_size >> PAGE_CACHE_SHIFT;
++ int err, len = i_size & (PAGE_CACHE_SIZE - 1);
++ void *kaddr;
++
++ dbg_gen("ino %lu, pg %lu, pg flags %#lx",
++ inode->i_ino, page->index, page->flags);
++ ubifs_assert(PagePrivate(page));
++
++ /* Is the page fully outside @i_size? (truncate in progress) */
++ if (page->index > end_index || (page->index == end_index && !len)) {
++ err = 0;
++ goto out_unlock;
++ }
++
++ spin_lock(&ui->ui_lock);
++ synced_i_size = ui->synced_i_size;
++ spin_unlock(&ui->ui_lock);
++
++ /* Is the page fully inside @i_size? */
++ if (page->index < end_index) {
++ if (page->index >= synced_i_size >> PAGE_CACHE_SHIFT) {
++ err = inode->i_sb->s_op->write_inode(inode, 1);
++ if (err)
++ goto out_unlock;
++ /*
++ * The inode has been written, but the write-buffer has
++ * not been synchronized, so in case of an unclean
++ * reboot we may end up with some pages beyond inode
++ * size, but they would be in the journal (because
++ * commit flushes write buffers) and recovery would deal
++ * with this.
++ */
++ }
++ return do_writepage(page, PAGE_CACHE_SIZE);
++ }
++
++ /*
++ * The page straddles @i_size. It must be zeroed out on each and every
++ * writepage invocation because it may be mmapped. "A file is mapped
++ * in multiples of the page size. For a file that is not a multiple of
++ * the page size, the remaining memory is zeroed when mapped, and
++ * writes to that region are not written out to the file."
++ */
++ kaddr = kmap_atomic(page, KM_USER0);
++ memset(kaddr + len, 0, PAGE_CACHE_SIZE - len);
++ flush_dcache_page(page);
++ kunmap_atomic(kaddr, KM_USER0);
++
++ if (i_size > synced_i_size) {
++ err = inode->i_sb->s_op->write_inode(inode, 1);
++ if (err)
++ goto out_unlock;
++ }
++
++ return do_writepage(page, len);
++
++out_unlock:
++ unlock_page(page);
++ return err;
++}
++
++/**
++ * do_attr_changes - change inode attributes.
++ * @inode: inode to change attributes for
++ * @attr: describes attributes to change
++ */
++static void do_attr_changes(struct inode *inode, const struct iattr *attr)
++{
++ if (attr->ia_valid & ATTR_UID)
++ inode->i_uid = attr->ia_uid;
++ if (attr->ia_valid & ATTR_GID)
++ inode->i_gid = attr->ia_gid;
++ if (attr->ia_valid & ATTR_ATIME)
++ inode->i_atime = timespec_trunc(attr->ia_atime,
++ inode->i_sb->s_time_gran);
++ if (attr->ia_valid & ATTR_MTIME)
++ inode->i_mtime = timespec_trunc(attr->ia_mtime,
++ inode->i_sb->s_time_gran);
++ if (attr->ia_valid & ATTR_CTIME)
++ inode->i_ctime = timespec_trunc(attr->ia_ctime,
++ inode->i_sb->s_time_gran);
++ if (attr->ia_valid & ATTR_MODE) {
++ umode_t mode = attr->ia_mode;
++
++ if (!in_group_p(inode->i_gid) && !capable(CAP_FSETID))
++ mode &= ~S_ISGID;
++ inode->i_mode = mode;
++ }
++}
++
++/**
++ * do_truncation - truncate an inode.
++ * @c: UBIFS file-system description object
++ * @inode: inode to truncate
++ * @attr: inode attribute changes description
++ *
++ * This function implements VFS '->setattr()' call when the inode is truncated
++ * to a smaller size. Returns zero in case of success and a negative error code
++ * in case of failure.
++ */
++static int do_truncation(struct ubifs_info *c, struct inode *inode,
++ const struct iattr *attr)
++{
++ int err;
++ struct ubifs_budget_req req;
++ loff_t old_size = inode->i_size, new_size = attr->ia_size;
++ int offset = new_size & (UBIFS_BLOCK_SIZE - 1), budgeted = 1;
++ struct ubifs_inode *ui = ubifs_inode(inode);
++
++ dbg_gen("ino %lu, size %lld -> %lld", inode->i_ino, old_size, new_size);
++ memset(&req, 0, sizeof(struct ubifs_budget_req));
++
++ /*
++ * If this is truncation to a smaller size, and we do not truncate on a
++ * block boundary, budget for changing one data block, because the last
++ * block will be re-written.
++ */
++ if (new_size & (UBIFS_BLOCK_SIZE - 1))
++ req.dirtied_page = 1;
++
++ req.dirtied_ino = 1;
++ /* A funny way to budget for truncation node */
++ req.dirtied_ino_d = UBIFS_TRUN_NODE_SZ;
++ err = ubifs_budget_space(c, &req);
++ if (err) {
++ /*
++ * Treat truncations to zero as deletion and always allow them,
++ * just like we do for '->unlink()'.
++ */
++ if (new_size || err != -ENOSPC)
++ return err;
++ budgeted = 0;
++ }
++
++ err = vmtruncate(inode, new_size);
++ if (err)
++ goto out_budg;
++
++ if (offset) {
++ pgoff_t index = new_size >> PAGE_CACHE_SHIFT;
++ struct page *page;
++
++ page = find_lock_page(inode->i_mapping, index);
++ if (page) {
++ if (PageDirty(page)) {
++ /*
++ * 'ubifs_jnl_truncate()' will try to truncate
++ * the last data node, but it contains
++ * out-of-date data because the page is dirty.
++ * Write the page now, so that
++ * 'ubifs_jnl_truncate()' will see an already
++ * truncated (and up to date) data node.
++ */
++ ubifs_assert(PagePrivate(page));
++
++ clear_page_dirty_for_io(page);
++ if (UBIFS_BLOCKS_PER_PAGE_SHIFT)
++ offset = new_size &
++ (PAGE_CACHE_SIZE - 1);
++ err = do_writepage(page, offset);
++ page_cache_release(page);
++ if (err)
++ goto out_budg;
++ /*
++ * We could now tell 'ubifs_jnl_truncate()' not
++ * to read the last block.
++ */
++ } else {
++ /*
++ * We could 'kmap()' the page and pass the data
++ * to 'ubifs_jnl_truncate()' to save it from
++ * having to read it.
++ */
++ unlock_page(page);
++ page_cache_release(page);
++ }
++ }
++ }
++
++ mutex_lock(&ui->ui_mutex);
++ ui->ui_size = inode->i_size;
++ /* Truncation changes inode [mc]time */
++ inode->i_mtime = inode->i_ctime = ubifs_current_time(inode);
++ /* The other attributes may be changed at the same time as well */
++ do_attr_changes(inode, attr);
++
++ err = ubifs_jnl_truncate(c, inode, old_size, new_size);
++ mutex_unlock(&ui->ui_mutex);
++out_budg:
++ if (budgeted)
++ ubifs_release_budget(c, &req);
++ else {
++ c->nospace = c->nospace_rp = 0;
++ smp_wmb();
++ }
++ return err;
++}
++
++/**
++ * do_setattr - change inode attributes.
++ * @c: UBIFS file-system description object
++ * @inode: inode to change attributes for
++ * @attr: inode attribute changes description
++ *
++ * This function implements VFS '->setattr()' call for all cases except
++ * truncations to smaller size. Returns zero in case of success and a negative
++ * error code in case of failure.
++ */
++static int do_setattr(struct ubifs_info *c, struct inode *inode,
++ const struct iattr *attr)
++{
++ int err, release;
++ loff_t new_size = attr->ia_size;
++ struct ubifs_inode *ui = ubifs_inode(inode);
++ struct ubifs_budget_req req = { .dirtied_ino = 1,
++ .dirtied_ino_d = ALIGN(ui->data_len, 8) };
++
++ err = ubifs_budget_space(c, &req);
++ if (err)
++ return err;
++
++ if (attr->ia_valid & ATTR_SIZE) {
++ dbg_gen("size %lld -> %lld", inode->i_size, new_size);
++ err = vmtruncate(inode, new_size);
++ if (err)
++ goto out;
++ }
++
++ mutex_lock(&ui->ui_mutex);
++ if (attr->ia_valid & ATTR_SIZE) {
++ /* Truncation changes inode [mc]time */
++ inode->i_mtime = inode->i_ctime = ubifs_current_time(inode);
++ /* 'vmtruncate()' changed @i_size, update @ui_size */
++ ui->ui_size = inode->i_size;
++ }
++
++ do_attr_changes(inode, attr);
++
++ release = ui->dirty;
++ if (attr->ia_valid & ATTR_SIZE)
++ /*
++ * Inode length changed, so we have to make sure
++ * @I_DIRTY_DATASYNC is set.
++ */
++ __mark_inode_dirty(inode, I_DIRTY_SYNC | I_DIRTY_DATASYNC);
++ else
++ mark_inode_dirty_sync(inode);
++ mutex_unlock(&ui->ui_mutex);
++
++ if (release)
++ ubifs_release_budget(c, &req);
++ if (IS_SYNC(inode))
++ err = inode->i_sb->s_op->write_inode(inode, 1);
++ return err;
++
++out:
++ ubifs_release_budget(c, &req);
++ return err;
++}
++
++int ubifs_setattr(struct dentry *dentry, struct iattr *attr)
++{
++ int err;
++ struct inode *inode = dentry->d_inode;
++ struct ubifs_info *c = inode->i_sb->s_fs_info;
++
++ dbg_gen("ino %lu, mode %#x, ia_valid %#x",
++ inode->i_ino, inode->i_mode, attr->ia_valid);
++ err = inode_change_ok(inode, attr);
++ if (err)
++ return err;
++
++ err = dbg_check_synced_i_size(inode);
++ if (err)
++ return err;
++
++ if ((attr->ia_valid & ATTR_SIZE) && attr->ia_size < inode->i_size)
++ /* Truncation to a smaller size */
++ err = do_truncation(c, inode, attr);
++ else
++ err = do_setattr(c, inode, attr);
++
++ return err;
++}
++
++static void ubifs_invalidatepage(struct page *page, unsigned long offset)
++{
++ struct inode *inode = page->mapping->host;
++ struct ubifs_info *c = inode->i_sb->s_fs_info;
++
++ ubifs_assert(PagePrivate(page));
++ if (offset)
++ /* Partial page remains dirty */
++ return;
++
++ if (PageChecked(page))
++ release_new_page_budget(c);
++ else
++ release_existing_page_budget(c);
++
++ atomic_long_dec(&c->dirty_pg_cnt);
++ ClearPagePrivate(page);
++ ClearPageChecked(page);
++}
++
++static void *ubifs_follow_link(struct dentry *dentry, struct nameidata *nd)
++{
++ struct ubifs_inode *ui = ubifs_inode(dentry->d_inode);
++
++ nd_set_link(nd, ui->data);
++ return NULL;
++}
++
++int ubifs_fsync(struct file *file, struct dentry *dentry, int datasync)
++{
++ struct inode *inode = dentry->d_inode;
++ struct ubifs_info *c = inode->i_sb->s_fs_info;
++ int err;
++
++ dbg_gen("syncing inode %lu", inode->i_ino);
++
++ /*
++ * VFS has already synchronized dirty pages for this inode. Synchronize
++ * the inode unless this is a 'datasync()' call.
++ */
++ if (!datasync || (inode->i_state & I_DIRTY_DATASYNC)) {
++ err = inode->i_sb->s_op->write_inode(inode, 1);
++ if (err)
++ return err;
++ }
++
++ /*
++ * Nodes related to this inode may still sit in a write-buffer. Flush
++ * them.
++ */
++ err = ubifs_sync_wbufs_by_inode(c, inode);
++ if (err)
++ return err;
++
++ return 0;
++}
++
++/**
++ * mctime_update_needed - check if mtime or ctime update is needed.
++ * @inode: the inode to do the check for
++ * @now: current time
++ *
++ * This helper function checks if the inode mtime/ctime should be updated or
++ * not. If current values of the time-stamps are within the UBIFS inode time
++ * granularity, they are not updated. This is an optimization.
++ */
++static inline int mctime_update_needed(struct inode *inode,
++ struct timespec *now)
++{
++ if (!timespec_equal(&inode->i_mtime, now) ||
++ !timespec_equal(&inode->i_ctime, now))
++ return 1;
++ return 0;
++}
++
++/**
++ * update_ctime - update mtime and ctime of an inode.
++ * @c: UBIFS file-system description object
++ * @inode: inode to update
++ *
++ * This function updates mtime and ctime of the inode if it is not equivalent to
++ * current time. Returns zero in case of success and a negative error code in
++ * case of failure.
++ */
++static int update_mctime(struct ubifs_info *c, struct inode *inode)
++{
++ struct timespec now = ubifs_current_time(inode);
++ struct ubifs_inode *ui = ubifs_inode(inode);
++
++ if (mctime_update_needed(inode, &now)) {
++ int err, release;
++ struct ubifs_budget_req req = { .dirtied_ino = 1,
++ .dirtied_ino_d = ALIGN(ui->data_len, 8) };
++
++ err = ubifs_budget_space(c, &req);
++ if (err)
++ return err;
++
++ mutex_lock(&ui->ui_mutex);
++ inode->i_mtime = inode->i_ctime = ubifs_current_time(inode);
++ release = ui->dirty;
++ mark_inode_dirty_sync(inode);
++ mutex_unlock(&ui->ui_mutex);
++ if (release)
++ ubifs_release_budget(c, &req);
++ }
++
++ return 0;
++}
++
++static ssize_t ubifs_aio_write(struct kiocb *iocb, const struct iovec *iov,
++ unsigned long nr_segs, loff_t pos)
++{
++ int err;
++ ssize_t ret;
++ struct inode *inode = iocb->ki_filp->f_mapping->host;
++ struct ubifs_info *c = inode->i_sb->s_fs_info;
++
++ err = update_mctime(c, inode);
++ if (err)
++ return err;
++
++ ret = generic_file_aio_write(iocb, iov, nr_segs, pos);
++ if (ret < 0)
++ return ret;
++
++ if (ret > 0 && (IS_SYNC(inode) || iocb->ki_filp->f_flags & O_SYNC)) {
++ err = ubifs_sync_wbufs_by_inode(c, inode);
++ if (err)
++ return err;
++ }
++
++ return ret;
++}
++
++static int ubifs_set_page_dirty(struct page *page)
++{
++ int ret;
++
++ ret = __set_page_dirty_nobuffers(page);
++ /*
++ * An attempt to dirty a page without budgeting for it - should not
++ * happen.
++ */
++ ubifs_assert(ret == 0);
++ return ret;
++}
++
++static int ubifs_releasepage(struct page *page, gfp_t unused_gfp_flags)
++{
++ /*
++ * An attempt to release a dirty page without budgeting for it - should
++ * not happen.
++ */
++ if (PageWriteback(page))
++ return 0;
++ ubifs_assert(PagePrivate(page));
++ ubifs_assert(0);
++ ClearPagePrivate(page);
++ ClearPageChecked(page);
++ return 1;
++}
++
++/*
++ * mmap()d file has taken write protection fault and is being made
++ * writable. UBIFS must ensure page is budgeted for.
++ */
++static int ubifs_vm_page_mkwrite(struct vm_area_struct *vma, struct page *page)
++{
++ struct inode *inode = vma->vm_file->f_path.dentry->d_inode;
++ struct ubifs_info *c = inode->i_sb->s_fs_info;
++ struct timespec now = ubifs_current_time(inode);
++ struct ubifs_budget_req req = { .new_page = 1 };
++ int err, update_time;
++
++ dbg_gen("ino %lu, pg %lu, i_size %lld", inode->i_ino, page->index,
++ i_size_read(inode));
++ ubifs_assert(!(inode->i_sb->s_flags & MS_RDONLY));
++
++ if (unlikely(c->ro_media))
++ return -EROFS;
++
++ /*
++ * We have not locked @page so far so we may budget for changing the
++ * page. Note, we cannot do this after we locked the page, because
++ * budgeting may cause write-back which would cause deadlock.
++ *
++ * At the moment we do not know whether the page is dirty or not, so we
++ * assume that it is not and budget for a new page. We could look at
++ * the @PG_private flag and figure this out, but we may race with write
++ * back and the page state may change by the time we lock it, so this
++ * would need additional care. We do not bother with this at the
++ * moment, although it might be good idea to do. Instead, we allocate
++ * budget for a new page and amend it later on if the page was in fact
++ * dirty.
++ *
++ * The budgeting-related logic of this function is similar to what we
++ * do in 'ubifs_write_begin()' and 'ubifs_write_end()'. Glance there
++ * for more comments.
++ */
++ update_time = mctime_update_needed(inode, &now);
++ if (update_time)
++ /*
++ * We have to change inode time stamp which requires extra
++ * budgeting.
++ */
++ req.dirtied_ino = 1;
++
++ err = ubifs_budget_space(c, &req);
++ if (unlikely(err)) {
++ if (err == -ENOSPC)
++ ubifs_warn("out of space for mmapped file "
++ "(inode number %lu)", inode->i_ino);
++ return err;
++ }
++
++ lock_page(page);
++ if (unlikely(page->mapping != inode->i_mapping ||
++ page_offset(page) > i_size_read(inode))) {
++ /* Page got truncated out from underneath us */
++ err = -EINVAL;
++ goto out_unlock;
++ }
++
++ if (PagePrivate(page))
++ release_new_page_budget(c);
++ else {
++ if (!PageChecked(page))
++ ubifs_convert_page_budget(c);
++ SetPagePrivate(page);
++ atomic_long_inc(&c->dirty_pg_cnt);
++ __set_page_dirty_nobuffers(page);
++ }
++
++ if (update_time) {
++ int release;
++ struct ubifs_inode *ui = ubifs_inode(inode);
++
++ mutex_lock(&ui->ui_mutex);
++ inode->i_mtime = inode->i_ctime = ubifs_current_time(inode);
++ release = ui->dirty;
++ mark_inode_dirty_sync(inode);
++ mutex_unlock(&ui->ui_mutex);
++ if (release)
++ ubifs_release_dirty_inode_budget(c, ui);
++ }
++
++ unlock_page(page);
++ return 0;
++
++out_unlock:
++ unlock_page(page);
++ ubifs_release_budget(c, &req);
++ return err;
++}
++
++static struct vm_operations_struct ubifs_file_vm_ops = {
++ .fault = filemap_fault,
++ .page_mkwrite = ubifs_vm_page_mkwrite,
++};
++
++static int ubifs_file_mmap(struct file *file, struct vm_area_struct *vma)
++{
++ int err;
++
++ /* 'generic_file_mmap()' takes care of NOMMU case */
++ err = generic_file_mmap(file, vma);
++ if (err)
++ return err;
++ vma->vm_ops = &ubifs_file_vm_ops;
++ return 0;
++}
++
++const struct address_space_operations ubifs_file_address_operations = {
++ .readpage = ubifs_readpage,
++ .writepage = ubifs_writepage,
++ .write_begin = ubifs_write_begin,
++ .write_end = ubifs_write_end,
++ .invalidatepage = ubifs_invalidatepage,
++ .set_page_dirty = ubifs_set_page_dirty,
++ .releasepage = ubifs_releasepage,
++};
++
++const struct inode_operations ubifs_file_inode_operations = {
++ .setattr = ubifs_setattr,
++ .getattr = ubifs_getattr,
++#ifdef CONFIG_UBIFS_FS_XATTR
++ .setxattr = ubifs_setxattr,
++ .getxattr = ubifs_getxattr,
++ .listxattr = ubifs_listxattr,
++ .removexattr = ubifs_removexattr,
++#endif
++};
++
++const struct inode_operations ubifs_symlink_inode_operations = {
++ .readlink = generic_readlink,
++ .follow_link = ubifs_follow_link,
++ .setattr = ubifs_setattr,
++ .getattr = ubifs_getattr,
++};
++
++const struct file_operations ubifs_file_operations = {
++ .llseek = generic_file_llseek,
++ .read = do_sync_read,
++ .write = do_sync_write,
++ .aio_read = generic_file_aio_read,
++ .aio_write = ubifs_aio_write,
++ .mmap = ubifs_file_mmap,
++ .fsync = ubifs_fsync,
++ .unlocked_ioctl = ubifs_ioctl,
++ .splice_read = generic_file_splice_read,
++ .splice_write = generic_file_splice_write,
++#ifdef CONFIG_COMPAT
++ .compat_ioctl = ubifs_compat_ioctl,
++#endif
++};
+diff -Nurd linux-2.6.24/fs/ubifs/find.c ubifs-v2.6.24/fs/ubifs/find.c
+--- linux-2.6.24/fs/ubifs/find.c 1970-01-01 02:00:00.000000000 +0200
++++ ubifs-v2.6.24/fs/ubifs/find.c 2009-04-07 17:14:47.000000000 +0200
+@@ -0,0 +1,977 @@
++/*
++ * This file is part of UBIFS.
++ *
++ * Copyright (C) 2006-2008 Nokia Corporation.
++ *
++ * This program is free software; you can redistribute it and/or modify it
++ * under the terms of the GNU General Public License version 2 as published by
++ * the Free Software Foundation.
++ *
++ * 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, write to the Free Software Foundation, Inc., 51
++ * Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
++ *
++ * Authors: Artem Bityutskiy (Битюцкий Ðртём)
++ * Adrian Hunter
++ */
++
++/*
++ * This file contains functions for finding LEBs for various purposes e.g.
++ * garbage collection. In general, lprops category heaps and lists are used
++ * for fast access, falling back on scanning the LPT as a last resort.
++ */
++
++#include <linux/sort.h>
++#include "ubifs.h"
++
++/**
++ * struct scan_data - data provided to scan callback functions
++ * @min_space: minimum number of bytes for which to scan
++ * @pick_free: whether it is OK to scan for empty LEBs
++ * @lnum: LEB number found is returned here
++ * @exclude_index: whether to exclude index LEBs
++ */
++struct scan_data {
++ int min_space;
++ int pick_free;
++ int lnum;
++ int exclude_index;
++};
++
++/**
++ * valuable - determine whether LEB properties are valuable.
++ * @c: the UBIFS file-system description object
++ * @lprops: LEB properties
++ *
++ * This function return %1 if the LEB properties should be added to the LEB
++ * properties tree in memory. Otherwise %0 is returned.
++ */
++static int valuable(struct ubifs_info *c, const struct ubifs_lprops *lprops)
++{
++ int n, cat = lprops->flags & LPROPS_CAT_MASK;
++ struct ubifs_lpt_heap *heap;
++
++ switch (cat) {
++ case LPROPS_DIRTY:
++ case LPROPS_DIRTY_IDX:
++ case LPROPS_FREE:
++ heap = &c->lpt_heap[cat - 1];
++ if (heap->cnt < heap->max_cnt)
++ return 1;
++ if (lprops->free + lprops->dirty >= c->dark_wm)
++ return 1;
++ return 0;
++ case LPROPS_EMPTY:
++ n = c->lst.empty_lebs + c->freeable_cnt -
++ c->lst.taken_empty_lebs;
++ if (n < c->lsave_cnt)
++ return 1;
++ return 0;
++ case LPROPS_FREEABLE:
++ return 1;
++ case LPROPS_FRDI_IDX:
++ return 1;
++ }
++ return 0;
++}
++
++/**
++ * scan_for_dirty_cb - dirty space scan callback.
++ * @c: the UBIFS file-system description object
++ * @lprops: LEB properties to scan
++ * @in_tree: whether the LEB properties are in main memory
++ * @data: information passed to and from the caller of the scan
++ *
++ * This function returns a code that indicates whether the scan should continue
++ * (%LPT_SCAN_CONTINUE), whether the LEB properties should be added to the tree
++ * in main memory (%LPT_SCAN_ADD), or whether the scan should stop
++ * (%LPT_SCAN_STOP).
++ */
++static int scan_for_dirty_cb(struct ubifs_info *c,
++ const struct ubifs_lprops *lprops, int in_tree,
++ struct scan_data *data)
++{
++ int ret = LPT_SCAN_CONTINUE;
++
++ /* Exclude LEBs that are currently in use */
++ if (lprops->flags & LPROPS_TAKEN)
++ return LPT_SCAN_CONTINUE;
++ /* Determine whether to add these LEB properties to the tree */
++ if (!in_tree && valuable(c, lprops))
++ ret |= LPT_SCAN_ADD;
++ /* Exclude LEBs with too little space */
++ if (lprops->free + lprops->dirty < data->min_space)
++ return ret;
++ /* If specified, exclude index LEBs */
++ if (data->exclude_index && lprops->flags & LPROPS_INDEX)
++ return ret;
++ /* If specified, exclude empty or freeable LEBs */
++ if (lprops->free + lprops->dirty == c->leb_size) {
++ if (!data->pick_free)
++ return ret;
++ /* Exclude LEBs with too little dirty space (unless it is empty) */
++ } else if (lprops->dirty < c->dead_wm)
++ return ret;
++ /* Finally we found space */
++ data->lnum = lprops->lnum;
++ return LPT_SCAN_ADD | LPT_SCAN_STOP;
++}
++
++/**
++ * scan_for_dirty - find a data LEB with free space.
++ * @c: the UBIFS file-system description object
++ * @min_space: minimum amount free plus dirty space the returned LEB has to
++ * have
++ * @pick_free: if it is OK to return a free or freeable LEB
++ * @exclude_index: whether to exclude index LEBs
++ *
++ * This function returns a pointer to the LEB properties found or a negative
++ * error code.
++ */
++static const struct ubifs_lprops *scan_for_dirty(struct ubifs_info *c,
++ int min_space, int pick_free,
++ int exclude_index)
++{
++ const struct ubifs_lprops *lprops;
++ struct ubifs_lpt_heap *heap;
++ struct scan_data data;
++ int err, i;
++
++ /* There may be an LEB with enough dirty space on the free heap */
++ heap = &c->lpt_heap[LPROPS_FREE - 1];
++ for (i = 0; i < heap->cnt; i++) {
++ lprops = heap->arr[i];
++ if (lprops->free + lprops->dirty < min_space)
++ continue;
++ if (lprops->dirty < c->dead_wm)
++ continue;
++ return lprops;
++ }
++ /*
++ * A LEB may have fallen off of the bottom of the dirty heap, and ended
++ * up as uncategorized even though it has enough dirty space for us now,
++ * so check the uncategorized list. N.B. neither empty nor freeable LEBs
++ * can end up as uncategorized because they are kept on lists not
++ * finite-sized heaps.
++ */
++ list_for_each_entry(lprops, &c->uncat_list, list) {
++ if (lprops->flags & LPROPS_TAKEN)
++ continue;
++ if (lprops->free + lprops->dirty < min_space)
++ continue;
++ if (exclude_index && (lprops->flags & LPROPS_INDEX))
++ continue;
++ if (lprops->dirty < c->dead_wm)
++ continue;
++ return lprops;
++ }
++ /* We have looked everywhere in main memory, now scan the flash */
++ if (c->pnodes_have >= c->pnode_cnt)
++ /* All pnodes are in memory, so skip scan */
++ return ERR_PTR(-ENOSPC);
++ data.min_space = min_space;
++ data.pick_free = pick_free;
++ data.lnum = -1;
++ data.exclude_index = exclude_index;
++ err = ubifs_lpt_scan_nolock(c, -1, c->lscan_lnum,
++ (ubifs_lpt_scan_callback)scan_for_dirty_cb,
++ &data);
++ if (err)
++ return ERR_PTR(err);
++ ubifs_assert(data.lnum >= c->main_first && data.lnum < c->leb_cnt);
++ c->lscan_lnum = data.lnum;
++ lprops = ubifs_lpt_lookup_dirty(c, data.lnum);
++ if (IS_ERR(lprops))
++ return lprops;
++ ubifs_assert(lprops->lnum == data.lnum);
++ ubifs_assert(lprops->free + lprops->dirty >= min_space);
++ ubifs_assert(lprops->dirty >= c->dead_wm ||
++ (pick_free &&
++ lprops->free + lprops->dirty == c->leb_size));
++ ubifs_assert(!(lprops->flags & LPROPS_TAKEN));
++ ubifs_assert(!exclude_index || !(lprops->flags & LPROPS_INDEX));
++ return lprops;
++}
++
++/**
++ * ubifs_find_dirty_leb - find a dirty LEB for the Garbage Collector.
++ * @c: the UBIFS file-system description object
++ * @ret_lp: LEB properties are returned here on exit
++ * @min_space: minimum amount free plus dirty space the returned LEB has to
++ * have
++ * @pick_free: controls whether it is OK to pick empty or index LEBs
++ *
++ * This function tries to find a dirty logical eraseblock which has at least
++ * @min_space free and dirty space. It prefers to take an LEB from the dirty or
++ * dirty index heap, and it falls-back to LPT scanning if the heaps are empty
++ * or do not have an LEB which satisfies the @min_space criteria.
++ *
++ * Note, LEBs which have less than dead watermark of free + dirty space are
++ * never picked by this function.
++ *
++ * The additional @pick_free argument controls if this function has to return a
++ * free or freeable LEB if one is present. For example, GC must to set it to %1,
++ * when called from the journal space reservation function, because the
++ * appearance of free space may coincide with the loss of enough dirty space
++ * for GC to succeed anyway.
++ *
++ * In contrast, if the Garbage Collector is called from budgeting, it should
++ * just make free space, not return LEBs which are already free or freeable.
++ *
++ * In addition @pick_free is set to %2 by the recovery process in order to
++ * recover gc_lnum in which case an index LEB must not be returned.
++ *
++ * This function returns zero and the LEB properties of found dirty LEB in case
++ * of success, %-ENOSPC if no dirty LEB was found and a negative error code in
++ * case of other failures. The returned LEB is marked as "taken".
++ */
++int ubifs_find_dirty_leb(struct ubifs_info *c, struct ubifs_lprops *ret_lp,
++ int min_space, int pick_free)
++{
++ int err = 0, sum, exclude_index = pick_free == 2 ? 1 : 0;
++ const struct ubifs_lprops *lp = NULL, *idx_lp = NULL;
++ struct ubifs_lpt_heap *heap, *idx_heap;
++
++ ubifs_get_lprops(c);
++
++ if (pick_free) {
++ int lebs, rsvd_idx_lebs = 0;
++
++ spin_lock(&c->space_lock);
++ lebs = c->lst.empty_lebs + c->idx_gc_cnt;
++ lebs += c->freeable_cnt - c->lst.taken_empty_lebs;
++
++ /*
++ * Note, the index may consume more LEBs than have been reserved
++ * for it. It is OK because it might be consolidated by GC.
++ * But if the index takes fewer LEBs than it is reserved for it,
++ * this function must avoid picking those reserved LEBs.
++ */
++ if (c->min_idx_lebs >= c->lst.idx_lebs) {
++ rsvd_idx_lebs = c->min_idx_lebs - c->lst.idx_lebs;
++ exclude_index = 1;
++ }
++ spin_unlock(&c->space_lock);
++
++ /* Check if there are enough free LEBs for the index */
++ if (rsvd_idx_lebs < lebs) {
++ /* OK, try to find an empty LEB */
++ lp = ubifs_fast_find_empty(c);
++ if (lp)
++ goto found;
++
++ /* Or a freeable LEB */
++ lp = ubifs_fast_find_freeable(c);
++ if (lp)
++ goto found;
++ } else
++ /*
++ * We cannot pick free/freeable LEBs in the below code.
++ */
++ pick_free = 0;
++ } else {
++ spin_lock(&c->space_lock);
++ exclude_index = (c->min_idx_lebs >= c->lst.idx_lebs);
++ spin_unlock(&c->space_lock);
++ }
++
++ /* Look on the dirty and dirty index heaps */
++ heap = &c->lpt_heap[LPROPS_DIRTY - 1];
++ idx_heap = &c->lpt_heap[LPROPS_DIRTY_IDX - 1];
++
++ if (idx_heap->cnt && !exclude_index) {
++ idx_lp = idx_heap->arr[0];
++ sum = idx_lp->free + idx_lp->dirty;
++ /*
++ * Since we reserve thrice as much space for the index than it
++ * actually takes, it does not make sense to pick indexing LEBs
++ * with less than, say, half LEB of dirty space. May be half is
++ * not the optimal boundary - this should be tested and
++ * checked. This boundary should determine how much we use
++ * in-the-gaps to consolidate the index comparing to how much
++ * we use garbage collector to consolidate it. The "half"
++ * criteria just feels to be fine.
++ */
++ if (sum < min_space || sum < c->half_leb_size)
++ idx_lp = NULL;
++ }
++
++ if (heap->cnt) {
++ lp = heap->arr[0];
++ if (lp->dirty + lp->free < min_space)
++ lp = NULL;
++ }
++
++ /* Pick the LEB with most space */
++ if (idx_lp && lp) {
++ if (idx_lp->free + idx_lp->dirty >= lp->free + lp->dirty)
++ lp = idx_lp;
++ } else if (idx_lp && !lp)
++ lp = idx_lp;
++
++ if (lp) {
++ ubifs_assert(lp->free + lp->dirty >= c->dead_wm);
++ goto found;
++ }
++
++ /* Did not find a dirty LEB on the dirty heaps, have to scan */
++ dbg_find("scanning LPT for a dirty LEB");
++ lp = scan_for_dirty(c, min_space, pick_free, exclude_index);
++ if (IS_ERR(lp)) {
++ err = PTR_ERR(lp);
++ goto out;
++ }
++ ubifs_assert(lp->dirty >= c->dead_wm ||
++ (pick_free && lp->free + lp->dirty == c->leb_size));
++
++found:
++ dbg_find("found LEB %d, free %d, dirty %d, flags %#x",
++ lp->lnum, lp->free, lp->dirty, lp->flags);
++
++ lp = ubifs_change_lp(c, lp, LPROPS_NC, LPROPS_NC,
++ lp->flags | LPROPS_TAKEN, 0);
++ if (IS_ERR(lp)) {
++ err = PTR_ERR(lp);
++ goto out;
++ }
++
++ memcpy(ret_lp, lp, sizeof(struct ubifs_lprops));
++
++out:
++ ubifs_release_lprops(c);
++ return err;
++}
++
++/**
++ * scan_for_free_cb - free space scan callback.
++ * @c: the UBIFS file-system description object
++ * @lprops: LEB properties to scan
++ * @in_tree: whether the LEB properties are in main memory
++ * @data: information passed to and from the caller of the scan
++ *
++ * This function returns a code that indicates whether the scan should continue
++ * (%LPT_SCAN_CONTINUE), whether the LEB properties should be added to the tree
++ * in main memory (%LPT_SCAN_ADD), or whether the scan should stop
++ * (%LPT_SCAN_STOP).
++ */
++static int scan_for_free_cb(struct ubifs_info *c,
++ const struct ubifs_lprops *lprops, int in_tree,
++ struct scan_data *data)
++{
++ int ret = LPT_SCAN_CONTINUE;
++
++ /* Exclude LEBs that are currently in use */
++ if (lprops->flags & LPROPS_TAKEN)
++ return LPT_SCAN_CONTINUE;
++ /* Determine whether to add these LEB properties to the tree */
++ if (!in_tree && valuable(c, lprops))
++ ret |= LPT_SCAN_ADD;
++ /* Exclude index LEBs */
++ if (lprops->flags & LPROPS_INDEX)
++ return ret;
++ /* Exclude LEBs with too little space */
++ if (lprops->free < data->min_space)
++ return ret;
++ /* If specified, exclude empty LEBs */
++ if (!data->pick_free && lprops->free == c->leb_size)
++ return ret;
++ /*
++ * LEBs that have only free and dirty space must not be allocated
++ * because they may have been unmapped already or they may have data
++ * that is obsolete only because of nodes that are still sitting in a
++ * wbuf.
++ */
++ if (lprops->free + lprops->dirty == c->leb_size && lprops->dirty > 0)
++ return ret;
++ /* Finally we found space */
++ data->lnum = lprops->lnum;
++ return LPT_SCAN_ADD | LPT_SCAN_STOP;
++}
++
++/**
++ * do_find_free_space - find a data LEB with free space.
++ * @c: the UBIFS file-system description object
++ * @min_space: minimum amount of free space required
++ * @pick_free: whether it is OK to scan for empty LEBs
++ * @squeeze: whether to try to find space in a non-empty LEB first
++ *
++ * This function returns a pointer to the LEB properties found or a negative
++ * error code.
++ */
++static
++const struct ubifs_lprops *do_find_free_space(struct ubifs_info *c,
++ int min_space, int pick_free,
++ int squeeze)
++{
++ const struct ubifs_lprops *lprops;
++ struct ubifs_lpt_heap *heap;
++ struct scan_data data;
++ int err, i;
++
++ if (squeeze) {
++ lprops = ubifs_fast_find_free(c);
++ if (lprops && lprops->free >= min_space)
++ return lprops;
++ }
++ if (pick_free) {
++ lprops = ubifs_fast_find_empty(c);
++ if (lprops)
++ return lprops;
++ }
++ if (!squeeze) {
++ lprops = ubifs_fast_find_free(c);
++ if (lprops && lprops->free >= min_space)
++ return lprops;
++ }
++ /* There may be an LEB with enough free space on the dirty heap */
++ heap = &c->lpt_heap[LPROPS_DIRTY - 1];
++ for (i = 0; i < heap->cnt; i++) {
++ lprops = heap->arr[i];
++ if (lprops->free >= min_space)
++ return lprops;
++ }
++ /*
++ * A LEB may have fallen off of the bottom of the free heap, and ended
++ * up as uncategorized even though it has enough free space for us now,
++ * so check the uncategorized list. N.B. neither empty nor freeable LEBs
++ * can end up as uncategorized because they are kept on lists not
++ * finite-sized heaps.
++ */
++ list_for_each_entry(lprops, &c->uncat_list, list) {
++ if (lprops->flags & LPROPS_TAKEN)
++ continue;
++ if (lprops->flags & LPROPS_INDEX)
++ continue;
++ if (lprops->free >= min_space)
++ return lprops;
++ }
++ /* We have looked everywhere in main memory, now scan the flash */
++ if (c->pnodes_have >= c->pnode_cnt)
++ /* All pnodes are in memory, so skip scan */
++ return ERR_PTR(-ENOSPC);
++ data.min_space = min_space;
++ data.pick_free = pick_free;
++ data.lnum = -1;
++ err = ubifs_lpt_scan_nolock(c, -1, c->lscan_lnum,
++ (ubifs_lpt_scan_callback)scan_for_free_cb,
++ &data);
++ if (err)
++ return ERR_PTR(err);
++ ubifs_assert(data.lnum >= c->main_first && data.lnum < c->leb_cnt);
++ c->lscan_lnum = data.lnum;
++ lprops = ubifs_lpt_lookup_dirty(c, data.lnum);
++ if (IS_ERR(lprops))
++ return lprops;
++ ubifs_assert(lprops->lnum == data.lnum);
++ ubifs_assert(lprops->free >= min_space);
++ ubifs_assert(!(lprops->flags & LPROPS_TAKEN));
++ ubifs_assert(!(lprops->flags & LPROPS_INDEX));
++ return lprops;
++}
++
++/**
++ * ubifs_find_free_space - find a data LEB with free space.
++ * @c: the UBIFS file-system description object
++ * @min_space: minimum amount of required free space
++ * @offs: contains offset of where free space starts on exit
++ * @squeeze: whether to try to find space in a non-empty LEB first
++ *
++ * This function looks for an LEB with at least @min_space bytes of free space.
++ * It tries to find an empty LEB if possible. If no empty LEBs are available,
++ * this function searches for a non-empty data LEB. The returned LEB is marked
++ * as "taken".
++ *
++ * This function returns found LEB number in case of success, %-ENOSPC if it
++ * failed to find a LEB with @min_space bytes of free space and other a negative
++ * error codes in case of failure.
++ */
++int ubifs_find_free_space(struct ubifs_info *c, int min_space, int *offs,
++ int squeeze)
++{
++ const struct ubifs_lprops *lprops;
++ int lebs, rsvd_idx_lebs, pick_free = 0, err, lnum, flags;
++
++ dbg_find("min_space %d", min_space);
++ ubifs_get_lprops(c);
++
++ /* Check if there are enough empty LEBs for commit */
++ spin_lock(&c->space_lock);
++ if (c->min_idx_lebs > c->lst.idx_lebs)
++ rsvd_idx_lebs = c->min_idx_lebs - c->lst.idx_lebs;
++ else
++ rsvd_idx_lebs = 0;
++ lebs = c->lst.empty_lebs + c->freeable_cnt + c->idx_gc_cnt -
++ c->lst.taken_empty_lebs;
++ if (rsvd_idx_lebs < lebs)
++ /*
++ * OK to allocate an empty LEB, but we still don't want to go
++ * looking for one if there aren't any.
++ */
++ if (c->lst.empty_lebs - c->lst.taken_empty_lebs > 0) {
++ pick_free = 1;
++ /*
++ * Because we release the space lock, we must account
++ * for this allocation here. After the LEB properties
++ * flags have been updated, we subtract one. Note, the
++ * result of this is that lprops also decreases
++ * @taken_empty_lebs in 'ubifs_change_lp()', so it is
++ * off by one for a short period of time which may
++ * introduce a small disturbance to budgeting
++ * calculations, but this is harmless because at the
++ * worst case this would make the budgeting subsystem
++ * be more pessimistic than needed.
++ *
++ * Fundamentally, this is about serialization of the
++ * budgeting and lprops subsystems. We could make the
++ * @space_lock a mutex and avoid dropping it before
++ * calling 'ubifs_change_lp()', but mutex is more
++ * heavy-weight, and we want budgeting to be as fast as
++ * possible.
++ */
++ c->lst.taken_empty_lebs += 1;
++ }
++ spin_unlock(&c->space_lock);
++
++ lprops = do_find_free_space(c, min_space, pick_free, squeeze);
++ if (IS_ERR(lprops)) {
++ err = PTR_ERR(lprops);
++ goto out;
++ }
++
++ lnum = lprops->lnum;
++ flags = lprops->flags | LPROPS_TAKEN;
++
++ lprops = ubifs_change_lp(c, lprops, LPROPS_NC, LPROPS_NC, flags, 0);
++ if (IS_ERR(lprops)) {
++ err = PTR_ERR(lprops);
++ goto out;
++ }
++
++ if (pick_free) {
++ spin_lock(&c->space_lock);
++ c->lst.taken_empty_lebs -= 1;
++ spin_unlock(&c->space_lock);
++ }
++
++ *offs = c->leb_size - lprops->free;
++ ubifs_release_lprops(c);
++
++ if (*offs == 0) {
++ /*
++ * Ensure that empty LEBs have been unmapped. They may not have
++ * been, for example, because of an unclean unmount. Also
++ * LEBs that were freeable LEBs (free + dirty == leb_size) will
++ * not have been unmapped.
++ */
++ err = ubifs_leb_unmap(c, lnum);
++ if (err)
++ return err;
++ }
++
++ dbg_find("found LEB %d, free %d", lnum, c->leb_size - *offs);
++ ubifs_assert(*offs <= c->leb_size - min_space);
++ return lnum;
++
++out:
++ if (pick_free) {
++ spin_lock(&c->space_lock);
++ c->lst.taken_empty_lebs -= 1;
++ spin_unlock(&c->space_lock);
++ }
++ ubifs_release_lprops(c);
++ return err;
++}
++
++/**
++ * scan_for_idx_cb - callback used by the scan for a free LEB for the index.
++ * @c: the UBIFS file-system description object
++ * @lprops: LEB properties to scan
++ * @in_tree: whether the LEB properties are in main memory
++ * @data: information passed to and from the caller of the scan
++ *
++ * This function returns a code that indicates whether the scan should continue
++ * (%LPT_SCAN_CONTINUE), whether the LEB properties should be added to the tree
++ * in main memory (%LPT_SCAN_ADD), or whether the scan should stop
++ * (%LPT_SCAN_STOP).
++ */
++static int scan_for_idx_cb(struct ubifs_info *c,
++ const struct ubifs_lprops *lprops, int in_tree,
++ struct scan_data *data)
++{
++ int ret = LPT_SCAN_CONTINUE;
++
++ /* Exclude LEBs that are currently in use */
++ if (lprops->flags & LPROPS_TAKEN)
++ return LPT_SCAN_CONTINUE;
++ /* Determine whether to add these LEB properties to the tree */
++ if (!in_tree && valuable(c, lprops))
++ ret |= LPT_SCAN_ADD;
++ /* Exclude index LEBS */
++ if (lprops->flags & LPROPS_INDEX)
++ return ret;
++ /* Exclude LEBs that cannot be made empty */
++ if (lprops->free + lprops->dirty != c->leb_size)
++ return ret;
++ /*
++ * We are allocating for the index so it is safe to allocate LEBs with
++ * only free and dirty space, because write buffers are sync'd at commit
++ * start.
++ */
++ data->lnum = lprops->lnum;
++ return LPT_SCAN_ADD | LPT_SCAN_STOP;
++}
++
++/**
++ * scan_for_leb_for_idx - scan for a free LEB for the index.
++ * @c: the UBIFS file-system description object
++ */
++static const struct ubifs_lprops *scan_for_leb_for_idx(struct ubifs_info *c)
++{
++ struct ubifs_lprops *lprops;
++ struct scan_data data;
++ int err;
++
++ data.lnum = -1;
++ err = ubifs_lpt_scan_nolock(c, -1, c->lscan_lnum,
++ (ubifs_lpt_scan_callback)scan_for_idx_cb,
++ &data);
++ if (err)
++ return ERR_PTR(err);
++ ubifs_assert(data.lnum >= c->main_first && data.lnum < c->leb_cnt);
++ c->lscan_lnum = data.lnum;
++ lprops = ubifs_lpt_lookup_dirty(c, data.lnum);
++ if (IS_ERR(lprops))
++ return lprops;
++ ubifs_assert(lprops->lnum == data.lnum);
++ ubifs_assert(lprops->free + lprops->dirty == c->leb_size);
++ ubifs_assert(!(lprops->flags & LPROPS_TAKEN));
++ ubifs_assert(!(lprops->flags & LPROPS_INDEX));
++ return lprops;
++}
++
++/**
++ * ubifs_find_free_leb_for_idx - find a free LEB for the index.
++ * @c: the UBIFS file-system description object
++ *
++ * This function looks for a free LEB and returns that LEB number. The returned
++ * LEB is marked as "taken", "index".
++ *
++ * Only empty LEBs are allocated. This is for two reasons. First, the commit
++ * calculates the number of LEBs to allocate based on the assumption that they
++ * will be empty. Secondly, free space at the end of an index LEB is not
++ * guaranteed to be empty because it may have been used by the in-the-gaps
++ * method prior to an unclean unmount.
++ *
++ * If no LEB is found %-ENOSPC is returned. For other failures another negative
++ * error code is returned.
++ */
++int ubifs_find_free_leb_for_idx(struct ubifs_info *c)
++{
++ const struct ubifs_lprops *lprops;
++ int lnum = -1, err, flags;
++
++ ubifs_get_lprops(c);
++
++ lprops = ubifs_fast_find_empty(c);
++ if (!lprops) {
++ lprops = ubifs_fast_find_freeable(c);
++ if (!lprops) {
++ ubifs_assert(c->freeable_cnt == 0);
++ if (c->lst.empty_lebs - c->lst.taken_empty_lebs > 0) {
++ lprops = scan_for_leb_for_idx(c);
++ if (IS_ERR(lprops)) {
++ err = PTR_ERR(lprops);
++ goto out;
++ }
++ }
++ }
++ }
++
++ if (!lprops) {
++ err = -ENOSPC;
++ goto out;
++ }
++
++ lnum = lprops->lnum;
++
++ dbg_find("found LEB %d, free %d, dirty %d, flags %#x",
++ lnum, lprops->free, lprops->dirty, lprops->flags);
++
++ flags = lprops->flags | LPROPS_TAKEN | LPROPS_INDEX;
++ lprops = ubifs_change_lp(c, lprops, c->leb_size, 0, flags, 0);
++ if (IS_ERR(lprops)) {
++ err = PTR_ERR(lprops);
++ goto out;
++ }
++
++ ubifs_release_lprops(c);
++
++ /*
++ * Ensure that empty LEBs have been unmapped. They may not have been,
++ * for example, because of an unclean unmount. Also LEBs that were
++ * freeable LEBs (free + dirty == leb_size) will not have been unmapped.
++ */
++ err = ubifs_leb_unmap(c, lnum);
++ if (err) {
++ ubifs_change_one_lp(c, lnum, LPROPS_NC, LPROPS_NC, 0,
++ LPROPS_TAKEN | LPROPS_INDEX, 0);
++ return err;
++ }
++
++ return lnum;
++
++out:
++ ubifs_release_lprops(c);
++ return err;
++}
++
++static int cmp_dirty_idx(const struct ubifs_lprops **a,
++ const struct ubifs_lprops **b)
++{
++ const struct ubifs_lprops *lpa = *a;
++ const struct ubifs_lprops *lpb = *b;
++
++ return lpa->dirty + lpa->free - lpb->dirty - lpb->free;
++}
++
++static void swap_dirty_idx(struct ubifs_lprops **a, struct ubifs_lprops **b,
++ int size)
++{
++ struct ubifs_lprops *t = *a;
++
++ *a = *b;
++ *b = t;
++}
++
++/**
++ * ubifs_save_dirty_idx_lnums - save an array of the most dirty index LEB nos.
++ * @c: the UBIFS file-system description object
++ *
++ * This function is called each commit to create an array of LEB numbers of
++ * dirty index LEBs sorted in order of dirty and free space. This is used by
++ * the in-the-gaps method of TNC commit.
++ */
++int ubifs_save_dirty_idx_lnums(struct ubifs_info *c)
++{
++ int i;
++
++ ubifs_get_lprops(c);
++ /* Copy the LPROPS_DIRTY_IDX heap */
++ c->dirty_idx.cnt = c->lpt_heap[LPROPS_DIRTY_IDX - 1].cnt;
++ memcpy(c->dirty_idx.arr, c->lpt_heap[LPROPS_DIRTY_IDX - 1].arr,
++ sizeof(void *) * c->dirty_idx.cnt);
++ /* Sort it so that the dirtiest is now at the end */
++ sort(c->dirty_idx.arr, c->dirty_idx.cnt, sizeof(void *),
++ (int (*)(const void *, const void *))cmp_dirty_idx,
++ (void (*)(void *, void *, int))swap_dirty_idx);
++ dbg_find("found %d dirty index LEBs", c->dirty_idx.cnt);
++ if (c->dirty_idx.cnt)
++ dbg_find("dirtiest index LEB is %d with dirty %d and free %d",
++ c->dirty_idx.arr[c->dirty_idx.cnt - 1]->lnum,
++ c->dirty_idx.arr[c->dirty_idx.cnt - 1]->dirty,
++ c->dirty_idx.arr[c->dirty_idx.cnt - 1]->free);
++ /* Replace the lprops pointers with LEB numbers */
++ for (i = 0; i < c->dirty_idx.cnt; i++)
++ c->dirty_idx.arr[i] = (void *)(size_t)c->dirty_idx.arr[i]->lnum;
++ ubifs_release_lprops(c);
++ return 0;
++}
++
++/**
++ * scan_dirty_idx_cb - callback used by the scan for a dirty index LEB.
++ * @c: the UBIFS file-system description object
++ * @lprops: LEB properties to scan
++ * @in_tree: whether the LEB properties are in main memory
++ * @data: information passed to and from the caller of the scan
++ *
++ * This function returns a code that indicates whether the scan should continue
++ * (%LPT_SCAN_CONTINUE), whether the LEB properties should be added to the tree
++ * in main memory (%LPT_SCAN_ADD), or whether the scan should stop
++ * (%LPT_SCAN_STOP).
++ */
++static int scan_dirty_idx_cb(struct ubifs_info *c,
++ const struct ubifs_lprops *lprops, int in_tree,
++ struct scan_data *data)
++{
++ int ret = LPT_SCAN_CONTINUE;
++
++ /* Exclude LEBs that are currently in use */
++ if (lprops->flags & LPROPS_TAKEN)
++ return LPT_SCAN_CONTINUE;
++ /* Determine whether to add these LEB properties to the tree */
++ if (!in_tree && valuable(c, lprops))
++ ret |= LPT_SCAN_ADD;
++ /* Exclude non-index LEBs */
++ if (!(lprops->flags & LPROPS_INDEX))
++ return ret;
++ /* Exclude LEBs with too little space */
++ if (lprops->free + lprops->dirty < c->min_idx_node_sz)
++ return ret;
++ /* Finally we found space */
++ data->lnum = lprops->lnum;
++ return LPT_SCAN_ADD | LPT_SCAN_STOP;
++}
++
++/**
++ * find_dirty_idx_leb - find a dirty index LEB.
++ * @c: the UBIFS file-system description object
++ *
++ * This function returns LEB number upon success and a negative error code upon
++ * failure. In particular, -ENOSPC is returned if a dirty index LEB is not
++ * found.
++ *
++ * Note that this function scans the entire LPT but it is called very rarely.
++ */
++static int find_dirty_idx_leb(struct ubifs_info *c)
++{
++ const struct ubifs_lprops *lprops;
++ struct ubifs_lpt_heap *heap;
++ struct scan_data data;
++ int err, i, ret;
++
++ /* Check all structures in memory first */
++ data.lnum = -1;
++ heap = &c->lpt_heap[LPROPS_DIRTY_IDX - 1];
++ for (i = 0; i < heap->cnt; i++) {
++ lprops = heap->arr[i];
++ ret = scan_dirty_idx_cb(c, lprops, 1, &data);
++ if (ret & LPT_SCAN_STOP)
++ goto found;
++ }
++ list_for_each_entry(lprops, &c->frdi_idx_list, list) {
++ ret = scan_dirty_idx_cb(c, lprops, 1, &data);
++ if (ret & LPT_SCAN_STOP)
++ goto found;
++ }
++ list_for_each_entry(lprops, &c->uncat_list, list) {
++ ret = scan_dirty_idx_cb(c, lprops, 1, &data);
++ if (ret & LPT_SCAN_STOP)
++ goto found;
++ }
++ if (c->pnodes_have >= c->pnode_cnt)
++ /* All pnodes are in memory, so skip scan */
++ return -ENOSPC;
++ err = ubifs_lpt_scan_nolock(c, -1, c->lscan_lnum,
++ (ubifs_lpt_scan_callback)scan_dirty_idx_cb,
++ &data);
++ if (err)
++ return err;
++found:
++ ubifs_assert(data.lnum >= c->main_first && data.lnum < c->leb_cnt);
++ c->lscan_lnum = data.lnum;
++ lprops = ubifs_lpt_lookup_dirty(c, data.lnum);
++ if (IS_ERR(lprops))
++ return PTR_ERR(lprops);
++ ubifs_assert(lprops->lnum == data.lnum);
++ ubifs_assert(lprops->free + lprops->dirty >= c->min_idx_node_sz);
++ ubifs_assert(!(lprops->flags & LPROPS_TAKEN));
++ ubifs_assert((lprops->flags & LPROPS_INDEX));
++
++ dbg_find("found dirty LEB %d, free %d, dirty %d, flags %#x",
++ lprops->lnum, lprops->free, lprops->dirty, lprops->flags);
++
++ lprops = ubifs_change_lp(c, lprops, LPROPS_NC, LPROPS_NC,
++ lprops->flags | LPROPS_TAKEN, 0);
++ if (IS_ERR(lprops))
++ return PTR_ERR(lprops);
++
++ return lprops->lnum;
++}
++
++/**
++ * get_idx_gc_leb - try to get a LEB number from trivial GC.
++ * @c: the UBIFS file-system description object
++ */
++static int get_idx_gc_leb(struct ubifs_info *c)
++{
++ const struct ubifs_lprops *lp;
++ int err, lnum;
++
++ err = ubifs_get_idx_gc_leb(c);
++ if (err < 0)
++ return err;
++ lnum = err;
++ /*
++ * The LEB was due to be unmapped after the commit but
++ * it is needed now for this commit.
++ */
++ lp = ubifs_lpt_lookup_dirty(c, lnum);
++ if (IS_ERR(lp))
++ return PTR_ERR(lp);
++ lp = ubifs_change_lp(c, lp, LPROPS_NC, LPROPS_NC,
++ lp->flags | LPROPS_INDEX, -1);
++ if (IS_ERR(lp))
++ return PTR_ERR(lp);
++ dbg_find("LEB %d, dirty %d and free %d flags %#x",
++ lp->lnum, lp->dirty, lp->free, lp->flags);
++ return lnum;
++}
++
++/**
++ * find_dirtiest_idx_leb - find dirtiest index LEB from dirtiest array.
++ * @c: the UBIFS file-system description object
++ */
++static int find_dirtiest_idx_leb(struct ubifs_info *c)
++{
++ const struct ubifs_lprops *lp;
++ int lnum;
++
++ while (1) {
++ if (!c->dirty_idx.cnt)
++ return -ENOSPC;
++ /* The lprops pointers were replaced by LEB numbers */
++ lnum = (size_t)c->dirty_idx.arr[--c->dirty_idx.cnt];
++ lp = ubifs_lpt_lookup(c, lnum);
++ if (IS_ERR(lp))
++ return PTR_ERR(lp);
++ if ((lp->flags & LPROPS_TAKEN) || !(lp->flags & LPROPS_INDEX))
++ continue;
++ lp = ubifs_change_lp(c, lp, LPROPS_NC, LPROPS_NC,
++ lp->flags | LPROPS_TAKEN, 0);
++ if (IS_ERR(lp))
++ return PTR_ERR(lp);
++ break;
++ }
++ dbg_find("LEB %d, dirty %d and free %d flags %#x", lp->lnum, lp->dirty,
++ lp->free, lp->flags);
++ ubifs_assert(lp->flags | LPROPS_TAKEN);
++ ubifs_assert(lp->flags | LPROPS_INDEX);
++ return lnum;
++}
++
++/**
++ * ubifs_find_dirty_idx_leb - try to find dirtiest index LEB as at last commit.
++ * @c: the UBIFS file-system description object
++ *
++ * This function attempts to find an untaken index LEB with the most free and
++ * dirty space that can be used without overwriting index nodes that were in the
++ * last index committed.
++ */
++int ubifs_find_dirty_idx_leb(struct ubifs_info *c)
++{
++ int err;
++
++ ubifs_get_lprops(c);
++
++ /*
++ * We made an array of the dirtiest index LEB numbers as at the start of
++ * last commit. Try that array first.
++ */
++ err = find_dirtiest_idx_leb(c);
++
++ /* Next try scanning the entire LPT */
++ if (err == -ENOSPC)
++ err = find_dirty_idx_leb(c);
++
++ /* Finally take any index LEBs awaiting trivial GC */
++ if (err == -ENOSPC)
++ err = get_idx_gc_leb(c);
++
++ ubifs_release_lprops(c);
++ return err;
++}
+diff -Nurd linux-2.6.24/fs/ubifs/gc.c ubifs-v2.6.24/fs/ubifs/gc.c
+--- linux-2.6.24/fs/ubifs/gc.c 1970-01-01 02:00:00.000000000 +0200
++++ ubifs-v2.6.24/fs/ubifs/gc.c 2009-04-07 17:14:47.000000000 +0200
+@@ -0,0 +1,1033 @@
++/*
++ * This file is part of UBIFS.
++ *
++ * Copyright (C) 2006-2008 Nokia Corporation.
++ *
++ * This program is free software; you can redistribute it and/or modify it
++ * under the terms of the GNU General Public License version 2 as published by
++ * the Free Software Foundation.
++ *
++ * 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, write to the Free Software Foundation, Inc., 51
++ * Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
++ *
++ * Authors: Adrian Hunter
++ * Artem Bityutskiy (Битюцкий Ðртём)
++ */
++
++/*
++ * This file implements garbage collection. The procedure for garbage collection
++ * is different depending on whether a LEB as an index LEB (contains index
++ * nodes) or not. For non-index LEBs, garbage collection finds a LEB which
++ * contains a lot of dirty space (obsolete nodes), and copies the non-obsolete
++ * nodes to the journal, at which point the garbage-collected LEB is free to be
++ * reused. For index LEBs, garbage collection marks the non-obsolete index nodes
++ * dirty in the TNC, and after the next commit, the garbage-collected LEB is
++ * to be reused. Garbage collection will cause the number of dirty index nodes
++ * to grow, however sufficient space is reserved for the index to ensure the
++ * commit will never run out of space.
++ *
++ * Notes about dead watermark. At current UBIFS implementation we assume that
++ * LEBs which have less than @c->dead_wm bytes of free + dirty space are full
++ * and not worth garbage-collecting. The dead watermark is one min. I/O unit
++ * size, or min. UBIFS node size, depending on what is greater. Indeed, UBIFS
++ * Garbage Collector has to synchronize the GC head's write buffer before
++ * returning, so this is about wasting one min. I/O unit. However, UBIFS GC can
++ * actually reclaim even very small pieces of dirty space by garbage collecting
++ * enough dirty LEBs, but we do not bother doing this at this implementation.
++ *
++ * Notes about dark watermark. The results of GC work depends on how big are
++ * the UBIFS nodes GC deals with. Large nodes make GC waste more space. Indeed,
++ * if GC move data from LEB A to LEB B and nodes in LEB A are large, GC would
++ * have to waste large pieces of free space at the end of LEB B, because nodes
++ * from LEB A would not fit. And the worst situation is when all nodes are of
++ * maximum size. So dark watermark is the amount of free + dirty space in LEB
++ * which are guaranteed to be reclaimable. If LEB has less space, the GC might
++ * be unable to reclaim it. So, LEBs with free + dirty greater than dark
++ * watermark are "good" LEBs from GC's point of few. The other LEBs are not so
++ * good, and GC takes extra care when moving them.
++ */
++
++#include <linux/pagemap.h>
++#include "ubifs.h"
++
++/*
++ * GC may need to move more then one LEB to make progress. The below constants
++ * define "soft" and "hard" limits on the number of LEBs the garbage collector
++ * may move.
++ */
++#define SOFT_LEBS_LIMIT 4
++#define HARD_LEBS_LIMIT 32
++
++/**
++ * switch_gc_head - switch the garbage collection journal head.
++ * @c: UBIFS file-system description object
++ * @buf: buffer to write
++ * @len: length of the buffer to write
++ * @lnum: LEB number written is returned here
++ * @offs: offset written is returned here
++ *
++ * This function switch the GC head to the next LEB which is reserved in
++ * @c->gc_lnum. Returns %0 in case of success, %-EAGAIN if commit is required,
++ * and other negative error code in case of failures.
++ */
++static int switch_gc_head(struct ubifs_info *c)
++{
++ int err, gc_lnum = c->gc_lnum;
++ struct ubifs_wbuf *wbuf = &c->jheads[GCHD].wbuf;
++
++ ubifs_assert(gc_lnum != -1);
++ dbg_gc("switch GC head from LEB %d:%d to LEB %d (waste %d bytes)",
++ wbuf->lnum, wbuf->offs + wbuf->used, gc_lnum,
++ c->leb_size - wbuf->offs - wbuf->used);
++
++ err = ubifs_wbuf_sync_nolock(wbuf);
++ if (err)
++ return err;
++
++ /*
++ * The GC write-buffer was synchronized, we may safely unmap
++ * 'c->gc_lnum'.
++ */
++ err = ubifs_leb_unmap(c, gc_lnum);
++ if (err)
++ return err;
++
++ err = ubifs_add_bud_to_log(c, GCHD, gc_lnum, 0);
++ if (err)
++ return err;
++
++ c->gc_lnum = -1;
++ err = ubifs_wbuf_seek_nolock(wbuf, gc_lnum, 0, UBI_LONGTERM);
++ return err;
++}
++
++/**
++ * list_sort - sort a list.
++ * @priv: private data, passed to @cmp
++ * @head: the list to sort
++ * @cmp: the elements comparison function
++ *
++ * This function has been implemented by Mark J Roberts <mjr@znex.org>. It
++ * implements "merge sort" which has O(nlog(n)) complexity. The list is sorted
++ * in ascending order.
++ *
++ * The comparison function @cmp is supposed to return a negative value if @a is
++ * than @b, and a positive value if @a is greater than @b. If @a and @b are
++ * equivalent, then it does not matter what this function returns.
++ */
++static void list_sort(void *priv, struct list_head *head,
++ int (*cmp)(void *priv, struct list_head *a,
++ struct list_head *b))
++{
++ struct list_head *p, *q, *e, *list, *tail, *oldhead;
++ int insize, nmerges, psize, qsize, i;
++
++ if (list_empty(head))
++ return;
++
++ list = head->next;
++ list_del(head);
++ insize = 1;
++ for (;;) {
++ p = oldhead = list;
++ list = tail = NULL;
++ nmerges = 0;
++
++ while (p) {
++ nmerges++;
++ q = p;
++ psize = 0;
++ for (i = 0; i < insize; i++) {
++ psize++;
++ q = q->next == oldhead ? NULL : q->next;
++ if (!q)
++ break;
++ }
++
++ qsize = insize;
++ while (psize > 0 || (qsize > 0 && q)) {
++ if (!psize) {
++ e = q;
++ q = q->next;
++ qsize--;
++ if (q == oldhead)
++ q = NULL;
++ } else if (!qsize || !q) {
++ e = p;
++ p = p->next;
++ psize--;
++ if (p == oldhead)
++ p = NULL;
++ } else if (cmp(priv, p, q) <= 0) {
++ e = p;
++ p = p->next;
++ psize--;
++ if (p == oldhead)
++ p = NULL;
++ } else {
++ e = q;
++ q = q->next;
++ qsize--;
++ if (q == oldhead)
++ q = NULL;
++ }
++ if (tail)
++ tail->next = e;
++ else
++ list = e;
++ e->prev = tail;
++ tail = e;
++ }
++ p = q;
++ }
++
++ tail->next = list;
++ list->prev = tail;
++
++ if (nmerges <= 1)
++ break;
++
++ insize *= 2;
++ }
++
++ head->next = list;
++ head->prev = list->prev;
++ list->prev->next = head;
++ list->prev = head;
++}
++
++/**
++ * data_nodes_cmp - compare 2 data nodes.
++ * @priv: UBIFS file-system description object
++ * @a: first data node
++ * @a: second data node
++ *
++ * This function compares data nodes @a and @b. Returns %1 if @a has greater
++ * inode or block number, and %-1 otherwise.
++ */
++int data_nodes_cmp(void *priv, struct list_head *a, struct list_head *b)
++{
++ ino_t inuma, inumb;
++ struct ubifs_info *c = priv;
++ struct ubifs_scan_node *sa, *sb;
++
++ cond_resched();
++ sa = list_entry(a, struct ubifs_scan_node, list);
++ sb = list_entry(b, struct ubifs_scan_node, list);
++ ubifs_assert(key_type(c, &sa->key) == UBIFS_DATA_KEY);
++ ubifs_assert(key_type(c, &sb->key) == UBIFS_DATA_KEY);
++
++ inuma = key_inum(c, &sa->key);
++ inumb = key_inum(c, &sb->key);
++
++ if (inuma == inumb) {
++ unsigned int blka = key_block(c, &sa->key);
++ unsigned int blkb = key_block(c, &sb->key);
++
++ if (blka <= blkb)
++ return -1;
++ } else if (inuma <= inumb)
++ return -1;
++
++ return 1;
++}
++
++/*
++ * nondata_nodes_cmp - compare 2 non-data nodes.
++ * @priv: UBIFS file-system description object
++ * @a: first node
++ * @a: second node
++ *
++ * This function compares nodes @a and @b. It makes sure that inode nodes go
++ * first and sorted by length in descending order. Directory entry nodes go
++ * after inode nodes and are sorted in ascending hash valuer order.
++ */
++int nondata_nodes_cmp(void *priv, struct list_head *a, struct list_head *b)
++{
++ int typea, typeb;
++ ino_t inuma, inumb;
++ struct ubifs_info *c = priv;
++ struct ubifs_scan_node *sa, *sb;
++
++ cond_resched();
++ sa = list_entry(a, struct ubifs_scan_node, list);
++ sb = list_entry(b, struct ubifs_scan_node, list);
++ typea = key_type(c, &sa->key);
++ typeb = key_type(c, &sb->key);
++ ubifs_assert(typea != UBIFS_DATA_KEY && typeb != UBIFS_DATA_KEY);
++
++ /* Inodes go before directory entries */
++ if (typea == UBIFS_INO_KEY) {
++ if (typeb == UBIFS_INO_KEY)
++ return sb->len - sa->len;
++ return -1;
++ }
++ if (typeb == UBIFS_INO_KEY)
++ return 1;
++
++ ubifs_assert(typea == UBIFS_DENT_KEY && typeb == UBIFS_DENT_KEY);
++ inuma = key_inum(c, &sa->key);
++ inumb = key_inum(c, &sb->key);
++
++ if (inuma == inumb) {
++ uint32_t hasha = key_hash(c, &sa->key);
++ uint32_t hashb = key_hash(c, &sb->key);
++
++ if (hasha <= hashb)
++ return -1;
++ } else if (inuma <= inumb)
++ return -1;
++
++ return 1;
++}
++
++/**
++ * sort_nodes - sort nodes for GC.
++ * @c: UBIFS file-system description object
++ * @sleb: describes nodes to sort and contains the result on exit
++ * @nondata: contains non-data nodes on exit
++ * @min: minimum node size is returned here
++ *
++ * This function sorts the list of inodes to garbage collect. First of all, it
++ * kills obsolete nodes and separates data and non-data nodes to the
++ * @sleb->nodes and @nondata lists correspondingly.
++ *
++ * Data nodes are then sorted in block number order - this is important for
++ * bulk-read; data nodes with lower inode number go before data nodes with
++ * higher inode number, and data nodes with lower block number go before data
++ * nodes with higher block number;
++ *
++ * Non-data nodes are sorted as follows.
++ * o First go inode nodes - they are sorted in descending length order.
++ * o Then go directory entry nodes - they are sorted in hash order, which
++ * should supposedly optimize 'readdir()'. Direntry nodes with lower parent
++ * inode number go before direntry nodes with higher parent inode number,
++ * and direntry nodes with lower name hash values go before direntry nodes
++ * with higher name hash values.
++ *
++ * This function returns zero in case of success and a negative error code in
++ * case of failure.
++ */
++static int sort_nodes(struct ubifs_info *c, struct ubifs_scan_leb *sleb,
++ struct list_head *nondata, int *min)
++{
++ struct ubifs_scan_node *snod, *tmp;
++
++ *min = INT_MAX;
++
++ /* Separate data nodes and non-data nodes */
++ list_for_each_entry_safe(snod, tmp, &sleb->nodes, list) {
++ int err;
++
++ ubifs_assert(snod->type != UBIFS_IDX_NODE);
++ ubifs_assert(snod->type != UBIFS_REF_NODE);
++ ubifs_assert(snod->type != UBIFS_CS_NODE);
++
++ err = ubifs_tnc_has_node(c, &snod->key, 0, sleb->lnum,
++ snod->offs, 0);
++ if (err < 0)
++ return err;
++
++ if (!err) {
++ /* The node is obsolete, remove it from the list */
++ list_del(&snod->list);
++ kfree(snod);
++ continue;
++ }
++
++ if (snod->len < *min)
++ *min = snod->len;
++
++ if (key_type(c, &snod->key) != UBIFS_DATA_KEY)
++ list_move_tail(&snod->list, nondata);
++ }
++
++ /* Sort data and non-data nodes */
++ list_sort(c, &sleb->nodes, &data_nodes_cmp);
++ list_sort(c, nondata, &nondata_nodes_cmp);
++ return 0;
++}
++
++/**
++ * move_node - move a node.
++ * @c: UBIFS file-system description object
++ * @sleb: describes the LEB to move nodes from
++ * @snod: the mode to move
++ * @wbuf: write-buffer to move node to
++ *
++ * This function moves node @snod to @wbuf, changes TNC correspondingly, and
++ * destroys @snod. Returns zero in case of success and a negative error code in
++ * case of failure.
++ */
++static int move_node(struct ubifs_info *c, struct ubifs_scan_leb *sleb,
++ struct ubifs_scan_node *snod, struct ubifs_wbuf *wbuf)
++{
++ int err, new_lnum = wbuf->lnum, new_offs = wbuf->offs + wbuf->used;
++
++ cond_resched();
++ err = ubifs_wbuf_write_nolock(wbuf, snod->node, snod->len);
++ if (err)
++ return err;
++
++ err = ubifs_tnc_replace(c, &snod->key, sleb->lnum,
++ snod->offs, new_lnum, new_offs,
++ snod->len);
++ list_del(&snod->list);
++ kfree(snod);
++ return err;
++}
++
++/**
++ * move_nodes - move nodes.
++ * @c: UBIFS file-system description object
++ * @sleb: describes the LEB to move nodes from
++ *
++ * This function moves valid nodes from data LEB described by @sleb to the GC
++ * journal head. This function returns zero in case of success, %-EAGAIN if
++ * commit is required, and other negative error codes in case of other
++ * failures.
++ */
++static int move_nodes(struct ubifs_info *c, struct ubifs_scan_leb *sleb)
++{
++ int err, min;
++ LIST_HEAD(nondata);
++ struct ubifs_wbuf *wbuf = &c->jheads[GCHD].wbuf;
++
++ if (wbuf->lnum == -1) {
++ /*
++ * The GC journal head is not set, because it is the first GC
++ * invocation since mount.
++ */
++ err = switch_gc_head(c);
++ if (err)
++ return err;
++ }
++
++ err = sort_nodes(c, sleb, &nondata, &min);
++ if (err)
++ goto out;
++
++ /* Write nodes to their new location. Use the first-fit strategy */
++ while (1) {
++ int avail;
++ struct ubifs_scan_node *snod, *tmp;
++
++ /* Move data nodes */
++ list_for_each_entry_safe(snod, tmp, &sleb->nodes, list) {
++ avail = c->leb_size - wbuf->offs - wbuf->used;
++ if (snod->len > avail)
++ /*
++ * Do not skip data nodes in order to optimize
++ * bulk-read.
++ */
++ break;
++
++ err = move_node(c, sleb, snod, wbuf);
++ if (err)
++ goto out;
++ }
++
++ /* Move non-data nodes */
++ list_for_each_entry_safe(snod, tmp, &nondata, list) {
++ avail = c->leb_size - wbuf->offs - wbuf->used;
++ if (avail < min)
++ break;
++
++ if (snod->len > avail) {
++ /*
++ * Keep going only if this is an inode with
++ * some data. Otherwise stop and switch the GC
++ * head. IOW, we assume that data-less inode
++ * nodes and direntry nodes are roughly of the
++ * same size.
++ */
++ if (key_type(c, &snod->key) == UBIFS_DENT_KEY ||
++ snod->len == UBIFS_INO_NODE_SZ)
++ break;
++ continue;
++ }
++
++ err = move_node(c, sleb, snod, wbuf);
++ if (err)
++ goto out;
++ }
++
++ if (list_empty(&sleb->nodes) && list_empty(&nondata))
++ break;
++
++ /*
++ * Waste the rest of the space in the LEB and switch to the
++ * next LEB.
++ */
++ err = switch_gc_head(c);
++ if (err)
++ goto out;
++ }
++
++ return 0;
++
++out:
++ list_splice_tail(&nondata, &sleb->nodes);
++ return err;
++}
++
++/**
++ * gc_sync_wbufs - sync write-buffers for GC.
++ * @c: UBIFS file-system description object
++ *
++ * We must guarantee that obsoleting nodes are on flash. Unfortunately they may
++ * be in a write-buffer instead. That is, a node could be written to a
++ * write-buffer, obsoleting another node in a LEB that is GC'd. If that LEB is
++ * erased before the write-buffer is sync'd and then there is an unclean
++ * unmount, then an existing node is lost. To avoid this, we sync all
++ * write-buffers.
++ *
++ * This function returns %0 on success or a negative error code on failure.
++ */
++static int gc_sync_wbufs(struct ubifs_info *c)
++{
++ int err, i;
++
++ for (i = 0; i < c->jhead_cnt; i++) {
++ if (i == GCHD)
++ continue;
++ err = ubifs_wbuf_sync(&c->jheads[i].wbuf);
++ if (err)
++ return err;
++ }
++ return 0;
++}
++
++/**
++ * ubifs_garbage_collect_leb - garbage-collect a logical eraseblock.
++ * @c: UBIFS file-system description object
++ * @lp: describes the LEB to garbage collect
++ *
++ * This function garbage-collects an LEB and returns one of the @LEB_FREED,
++ * @LEB_RETAINED, etc positive codes in case of success, %-EAGAIN if commit is
++ * required, and other negative error codes in case of failures.
++ */
++int ubifs_garbage_collect_leb(struct ubifs_info *c, struct ubifs_lprops *lp)
++{
++ struct ubifs_scan_leb *sleb;
++ struct ubifs_scan_node *snod;
++ struct ubifs_wbuf *wbuf = &c->jheads[GCHD].wbuf;
++ int err = 0, lnum = lp->lnum;
++
++ ubifs_assert(c->gc_lnum != -1 || wbuf->offs + wbuf->used == 0 ||
++ c->need_recovery);
++ ubifs_assert(c->gc_lnum != lnum);
++ ubifs_assert(wbuf->lnum != lnum);
++
++ /*
++ * We scan the entire LEB even though we only really need to scan up to
++ * (c->leb_size - lp->free).
++ */
++ sleb = ubifs_scan(c, lnum, 0, c->sbuf);
++ if (IS_ERR(sleb))
++ return PTR_ERR(sleb);
++
++ ubifs_assert(!list_empty(&sleb->nodes));
++ snod = list_entry(sleb->nodes.next, struct ubifs_scan_node, list);
++
++ if (snod->type == UBIFS_IDX_NODE) {
++ struct ubifs_gced_idx_leb *idx_gc;
++
++ dbg_gc("indexing LEB %d (free %d, dirty %d)",
++ lnum, lp->free, lp->dirty);
++ list_for_each_entry(snod, &sleb->nodes, list) {
++ struct ubifs_idx_node *idx = snod->node;
++ int level = le16_to_cpu(idx->level);
++
++ ubifs_assert(snod->type == UBIFS_IDX_NODE);
++ key_read(c, ubifs_idx_key(c, idx), &snod->key);
++ err = ubifs_dirty_idx_node(c, &snod->key, level, lnum,
++ snod->offs);
++ if (err)
++ goto out;
++ }
++
++ idx_gc = kmalloc(sizeof(struct ubifs_gced_idx_leb), GFP_NOFS);
++ if (!idx_gc) {
++ err = -ENOMEM;
++ goto out;
++ }
++
++ idx_gc->lnum = lnum;
++ idx_gc->unmap = 0;
++ list_add(&idx_gc->list, &c->idx_gc);
++
++ /*
++ * Don't release the LEB until after the next commit, because
++ * it may contain data which is needed for recovery. So
++ * although we freed this LEB, it will become usable only after
++ * the commit.
++ */
++ err = ubifs_change_one_lp(c, lnum, c->leb_size, 0, 0,
++ LPROPS_INDEX, 1);
++ if (err)
++ goto out;
++ err = LEB_FREED_IDX;
++ } else {
++ dbg_gc("data LEB %d (free %d, dirty %d)",
++ lnum, lp->free, lp->dirty);
++
++ err = move_nodes(c, sleb);
++ if (err)
++ goto out_inc_seq;
++
++ err = gc_sync_wbufs(c);
++ if (err)
++ goto out_inc_seq;
++
++ err = ubifs_change_one_lp(c, lnum, c->leb_size, 0, 0, 0, 0);
++ if (err)
++ goto out_inc_seq;
++
++ /* Allow for races with TNC */
++ c->gced_lnum = lnum;
++ smp_wmb();
++ c->gc_seq += 1;
++ smp_wmb();
++
++ if (c->gc_lnum == -1) {
++ c->gc_lnum = lnum;
++ err = LEB_RETAINED;
++ } else {
++ err = ubifs_wbuf_sync_nolock(wbuf);
++ if (err)
++ goto out;
++
++ err = ubifs_leb_unmap(c, lnum);
++ if (err)
++ goto out;
++
++ err = LEB_FREED;
++ }
++ }
++
++out:
++ ubifs_scan_destroy(sleb);
++ return err;
++
++out_inc_seq:
++ /* We may have moved at least some nodes so allow for races with TNC */
++ c->gced_lnum = lnum;
++ smp_wmb();
++ c->gc_seq += 1;
++ smp_wmb();
++ goto out;
++}
++
++/**
++ * ubifs_garbage_collect - UBIFS garbage collector.
++ * @c: UBIFS file-system description object
++ * @anyway: do GC even if there are free LEBs
++ *
++ * This function does out-of-place garbage collection. The return codes are:
++ * o positive LEB number if the LEB has been freed and may be used;
++ * o %-EAGAIN if the caller has to run commit;
++ * o %-ENOSPC if GC failed to make any progress;
++ * o other negative error codes in case of other errors.
++ *
++ * Garbage collector writes data to the journal when GC'ing data LEBs, and just
++ * marking indexing nodes dirty when GC'ing indexing LEBs. Thus, at some point
++ * commit may be required. But commit cannot be run from inside GC, because the
++ * caller might be holding the commit lock, so %-EAGAIN is returned instead;
++ * And this error code means that the caller has to run commit, and re-run GC
++ * if there is still no free space.
++ *
++ * There are many reasons why this function may return %-EAGAIN:
++ * o the log is full and there is no space to write an LEB reference for
++ * @c->gc_lnum;
++ * o the journal is too large and exceeds size limitations;
++ * o GC moved indexing LEBs, but they can be used only after the commit;
++ * o the shrinker fails to find clean znodes to free and requests the commit;
++ * o etc.
++ *
++ * Note, if the file-system is close to be full, this function may return
++ * %-EAGAIN infinitely, so the caller has to limit amount of re-invocations of
++ * the function. E.g., this happens if the limits on the journal size are too
++ * tough and GC writes too much to the journal before an LEB is freed. This
++ * might also mean that the journal is too large, and the TNC becomes to big,
++ * so that the shrinker is constantly called, finds not clean znodes to free,
++ * and requests commit. Well, this may also happen if the journal is all right,
++ * but another kernel process consumes too much memory. Anyway, infinite
++ * %-EAGAIN may happen, but in some extreme/misconfiguration cases.
++ */
++int ubifs_garbage_collect(struct ubifs_info *c, int anyway)
++{
++ int i, err, ret, min_space = c->dead_wm;
++ struct ubifs_lprops lp;
++ struct ubifs_wbuf *wbuf = &c->jheads[GCHD].wbuf;
++
++ ubifs_assert_cmt_locked(c);
++
++ if (ubifs_gc_should_commit(c))
++ return -EAGAIN;
++
++ mutex_lock_nested(&wbuf->io_mutex, wbuf->jhead);
++
++ if (c->ro_media) {
++ ret = -EROFS;
++ goto out_unlock;
++ }
++
++ /* We expect the write-buffer to be empty on entry */
++ ubifs_assert(!wbuf->used);
++
++ for (i = 0; ; i++) {
++ int space_before = c->leb_size - wbuf->offs - wbuf->used;
++ int space_after;
++
++ cond_resched();
++
++ /* Give the commit an opportunity to run */
++ if (ubifs_gc_should_commit(c)) {
++ ret = -EAGAIN;
++ break;
++ }
++
++ if (i > SOFT_LEBS_LIMIT && !list_empty(&c->idx_gc)) {
++ /*
++ * We've done enough iterations. Indexing LEBs were
++ * moved and will be available after the commit.
++ */
++ dbg_gc("soft limit, some index LEBs GC'ed, -EAGAIN");
++ ubifs_commit_required(c);
++ ret = -EAGAIN;
++ break;
++ }
++
++ if (i > HARD_LEBS_LIMIT) {
++ /*
++ * We've moved too many LEBs and have not made
++ * progress, give up.
++ */
++ dbg_gc("hard limit, -ENOSPC");
++ ret = -ENOSPC;
++ break;
++ }
++
++ /*
++ * Empty and freeable LEBs can turn up while we waited for
++ * the wbuf lock, or while we have been running GC. In that
++ * case, we should just return one of those instead of
++ * continuing to GC dirty LEBs. Hence we request
++ * 'ubifs_find_dirty_leb()' to return an empty LEB if it can.
++ */
++ ret = ubifs_find_dirty_leb(c, &lp, min_space, anyway ? 0 : 1);
++ if (ret) {
++ if (ret == -ENOSPC)
++ dbg_gc("no more dirty LEBs");
++ break;
++ }
++
++ dbg_gc("found LEB %d: free %d, dirty %d, sum %d "
++ "(min. space %d)", lp.lnum, lp.free, lp.dirty,
++ lp.free + lp.dirty, min_space);
++
++ if (lp.free + lp.dirty == c->leb_size) {
++ /* An empty LEB was returned */
++ dbg_gc("LEB %d is free, return it", lp.lnum);
++ /*
++ * ubifs_find_dirty_leb() doesn't return freeable index
++ * LEBs.
++ */
++ ubifs_assert(!(lp.flags & LPROPS_INDEX));
++ if (lp.free != c->leb_size) {
++ /*
++ * Write buffers must be sync'd before
++ * unmapping freeable LEBs, because one of them
++ * may contain data which obsoletes something
++ * in 'lp.pnum'.
++ */
++ ret = gc_sync_wbufs(c);
++ if (ret)
++ goto out;
++ ret = ubifs_change_one_lp(c, lp.lnum,
++ c->leb_size, 0, 0, 0,
++ 0);
++ if (ret)
++ goto out;
++ }
++ ret = ubifs_leb_unmap(c, lp.lnum);
++ if (ret)
++ goto out;
++ ret = lp.lnum;
++ break;
++ }
++
++ space_before = c->leb_size - wbuf->offs - wbuf->used;
++ if (wbuf->lnum == -1)
++ space_before = 0;
++
++ ret = ubifs_garbage_collect_leb(c, &lp);
++ if (ret < 0) {
++ if (ret == -EAGAIN || ret == -ENOSPC) {
++ /*
++ * These codes are not errors, so we have to
++ * return the LEB to lprops. But if the
++ * 'ubifs_return_leb()' function fails, its
++ * failure code is propagated to the caller
++ * instead of the original '-EAGAIN' or
++ * '-ENOSPC'.
++ */
++ err = ubifs_return_leb(c, lp.lnum);
++ if (err)
++ ret = err;
++ break;
++ }
++ goto out;
++ }
++
++ if (ret == LEB_FREED) {
++ /* An LEB has been freed and is ready for use */
++ dbg_gc("LEB %d freed, return", lp.lnum);
++ ret = lp.lnum;
++ break;
++ }
++
++ if (ret == LEB_FREED_IDX) {
++ /*
++ * This was an indexing LEB and it cannot be
++ * immediately used. And instead of requesting the
++ * commit straight away, we try to garbage collect some
++ * more.
++ */
++ dbg_gc("indexing LEB %d freed, continue", lp.lnum);
++ continue;
++ }
++
++ ubifs_assert(ret == LEB_RETAINED);
++ space_after = c->leb_size - wbuf->offs - wbuf->used;
++ dbg_gc("LEB %d retained, freed %d bytes", lp.lnum,
++ space_after - space_before);
++
++ if (space_after > space_before) {
++ /* GC makes progress, keep working */
++ min_space >>= 1;
++ if (min_space < c->dead_wm)
++ min_space = c->dead_wm;
++ continue;
++ }
++
++ dbg_gc("did not make progress");
++
++ /*
++ * GC moved an LEB bud have not done any progress. This means
++ * that the previous GC head LEB contained too few free space
++ * and the LEB which was GC'ed contained only large nodes which
++ * did not fit that space.
++ *
++ * We can do 2 things:
++ * 1. pick another LEB in a hope it'll contain a small node
++ * which will fit the space we have at the end of current GC
++ * head LEB, but there is no guarantee, so we try this out
++ * unless we have already been working for too long;
++ * 2. request an LEB with more dirty space, which will force
++ * 'ubifs_find_dirty_leb()' to start scanning the lprops
++ * table, instead of just picking one from the heap
++ * (previously it already picked the dirtiest LEB).
++ */
++ if (i < SOFT_LEBS_LIMIT) {
++ dbg_gc("try again");
++ continue;
++ }
++
++ min_space <<= 1;
++ if (min_space > c->dark_wm)
++ min_space = c->dark_wm;
++ dbg_gc("set min. space to %d", min_space);
++ }
++
++ if (ret == -ENOSPC && !list_empty(&c->idx_gc)) {
++ dbg_gc("no space, some index LEBs GC'ed, -EAGAIN");
++ ubifs_commit_required(c);
++ ret = -EAGAIN;
++ }
++
++ err = ubifs_wbuf_sync_nolock(wbuf);
++ if (!err)
++ err = ubifs_leb_unmap(c, c->gc_lnum);
++ if (err) {
++ ret = err;
++ goto out;
++ }
++out_unlock:
++ mutex_unlock(&wbuf->io_mutex);
++ return ret;
++
++out:
++ ubifs_assert(ret < 0);
++ ubifs_assert(ret != -ENOSPC && ret != -EAGAIN);
++ ubifs_ro_mode(c, ret);
++ ubifs_wbuf_sync_nolock(wbuf);
++ mutex_unlock(&wbuf->io_mutex);
++ ubifs_return_leb(c, lp.lnum);
++ return ret;
++}
++
++/**
++ * ubifs_gc_start_commit - garbage collection at start of commit.
++ * @c: UBIFS file-system description object
++ *
++ * If a LEB has only dirty and free space, then we may safely unmap it and make
++ * it free. Note, we cannot do this with indexing LEBs because dirty space may
++ * correspond index nodes that are required for recovery. In that case, the
++ * LEB cannot be unmapped until after the next commit.
++ *
++ * This function returns %0 upon success and a negative error code upon failure.
++ */
++int ubifs_gc_start_commit(struct ubifs_info *c)
++{
++ struct ubifs_gced_idx_leb *idx_gc;
++ const struct ubifs_lprops *lp;
++ int err = 0, flags;
++
++ ubifs_get_lprops(c);
++
++ /*
++ * Unmap (non-index) freeable LEBs. Note that recovery requires that all
++ * wbufs are sync'd before this, which is done in 'do_commit()'.
++ */
++ while (1) {
++ lp = ubifs_fast_find_freeable(c);
++ if (IS_ERR(lp)) {
++ err = PTR_ERR(lp);
++ goto out;
++ }
++ if (!lp)
++ break;
++ ubifs_assert(!(lp->flags & LPROPS_TAKEN));
++ ubifs_assert(!(lp->flags & LPROPS_INDEX));
++ err = ubifs_leb_unmap(c, lp->lnum);
++ if (err)
++ goto out;
++ lp = ubifs_change_lp(c, lp, c->leb_size, 0, lp->flags, 0);
++ if (IS_ERR(lp)) {
++ err = PTR_ERR(lp);
++ goto out;
++ }
++ ubifs_assert(!(lp->flags & LPROPS_TAKEN));
++ ubifs_assert(!(lp->flags & LPROPS_INDEX));
++ }
++
++ /* Mark GC'd index LEBs OK to unmap after this commit finishes */
++ list_for_each_entry(idx_gc, &c->idx_gc, list)
++ idx_gc->unmap = 1;
++
++ /* Record index freeable LEBs for unmapping after commit */
++ while (1) {
++ lp = ubifs_fast_find_frdi_idx(c);
++ if (IS_ERR(lp)) {
++ err = PTR_ERR(lp);
++ goto out;
++ }
++ if (!lp)
++ break;
++ idx_gc = kmalloc(sizeof(struct ubifs_gced_idx_leb), GFP_NOFS);
++ if (!idx_gc) {
++ err = -ENOMEM;
++ goto out;
++ }
++ ubifs_assert(!(lp->flags & LPROPS_TAKEN));
++ ubifs_assert(lp->flags & LPROPS_INDEX);
++ /* Don't release the LEB until after the next commit */
++ flags = (lp->flags | LPROPS_TAKEN) ^ LPROPS_INDEX;
++ lp = ubifs_change_lp(c, lp, c->leb_size, 0, flags, 1);
++ if (IS_ERR(lp)) {
++ err = PTR_ERR(lp);
++ kfree(idx_gc);
++ goto out;
++ }
++ ubifs_assert(lp->flags & LPROPS_TAKEN);
++ ubifs_assert(!(lp->flags & LPROPS_INDEX));
++ idx_gc->lnum = lp->lnum;
++ idx_gc->unmap = 1;
++ list_add(&idx_gc->list, &c->idx_gc);
++ }
++out:
++ ubifs_release_lprops(c);
++ return err;
++}
++
++/**
++ * ubifs_gc_end_commit - garbage collection at end of commit.
++ * @c: UBIFS file-system description object
++ *
++ * This function completes out-of-place garbage collection of index LEBs.
++ */
++int ubifs_gc_end_commit(struct ubifs_info *c)
++{
++ struct ubifs_gced_idx_leb *idx_gc, *tmp;
++ struct ubifs_wbuf *wbuf;
++ int err = 0;
++
++ wbuf = &c->jheads[GCHD].wbuf;
++ mutex_lock_nested(&wbuf->io_mutex, wbuf->jhead);
++ list_for_each_entry_safe(idx_gc, tmp, &c->idx_gc, list)
++ if (idx_gc->unmap) {
++ dbg_gc("LEB %d", idx_gc->lnum);
++ err = ubifs_leb_unmap(c, idx_gc->lnum);
++ if (err)
++ goto out;
++ err = ubifs_change_one_lp(c, idx_gc->lnum, LPROPS_NC,
++ LPROPS_NC, 0, LPROPS_TAKEN, -1);
++ if (err)
++ goto out;
++ list_del(&idx_gc->list);
++ kfree(idx_gc);
++ }
++out:
++ mutex_unlock(&wbuf->io_mutex);
++ return err;
++}
++
++/**
++ * ubifs_destroy_idx_gc - destroy idx_gc list.
++ * @c: UBIFS file-system description object
++ *
++ * This function destroys the @c->idx_gc list. It is called when unmounting
++ * so locks are not needed. Returns zero in case of success and a negative
++ * error code in case of failure.
++ */
++void ubifs_destroy_idx_gc(struct ubifs_info *c)
++{
++ while (!list_empty(&c->idx_gc)) {
++ struct ubifs_gced_idx_leb *idx_gc;
++
++ idx_gc = list_entry(c->idx_gc.next, struct ubifs_gced_idx_leb,
++ list);
++ c->idx_gc_cnt -= 1;
++ list_del(&idx_gc->list);
++ kfree(idx_gc);
++ }
++}
++
++/**
++ * ubifs_get_idx_gc_leb - get a LEB from GC'd index LEB list.
++ * @c: UBIFS file-system description object
++ *
++ * Called during start commit so locks are not needed.
++ */
++int ubifs_get_idx_gc_leb(struct ubifs_info *c)
++{
++ struct ubifs_gced_idx_leb *idx_gc;
++ int lnum;
++
++ if (list_empty(&c->idx_gc))
++ return -ENOSPC;
++ idx_gc = list_entry(c->idx_gc.next, struct ubifs_gced_idx_leb, list);
++ lnum = idx_gc->lnum;
++ /* c->idx_gc_cnt is updated by the caller when lprops are updated */
++ list_del(&idx_gc->list);
++ kfree(idx_gc);
++ return lnum;
++}
+diff -Nurd linux-2.6.24/fs/ubifs/io.c ubifs-v2.6.24/fs/ubifs/io.c
+--- linux-2.6.24/fs/ubifs/io.c 1970-01-01 02:00:00.000000000 +0200
++++ ubifs-v2.6.24/fs/ubifs/io.c 2009-04-07 17:14:47.000000000 +0200
+@@ -0,0 +1,940 @@
++/*
++ * This file is part of UBIFS.
++ *
++ * Copyright (C) 2006-2008 Nokia Corporation.
++ * Copyright (C) 2006, 2007 University of Szeged, Hungary
++ *
++ * This program is free software; you can redistribute it and/or modify it
++ * under the terms of the GNU General Public License version 2 as published by
++ * the Free Software Foundation.
++ *
++ * 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, write to the Free Software Foundation, Inc., 51
++ * Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
++ *
++ * Authors: Artem Bityutskiy (Битюцкий Ðртём)
++ * Adrian Hunter
++ * Zoltan Sogor
++ */
++
++/*
++ * This file implements UBIFS I/O subsystem which provides various I/O-related
++ * helper functions (reading/writing/checking/validating nodes) and implements
++ * write-buffering support. Write buffers help to save space which otherwise
++ * would have been wasted for padding to the nearest minimal I/O unit boundary.
++ * Instead, data first goes to the write-buffer and is flushed when the
++ * buffer is full or when it is not used for some time (by timer). This is
++ * similar to the mechanism is used by JFFS2.
++ *
++ * Write-buffers are defined by 'struct ubifs_wbuf' objects and protected by
++ * mutexes defined inside these objects. Since sometimes upper-level code
++ * has to lock the write-buffer (e.g. journal space reservation code), many
++ * functions related to write-buffers have "nolock" suffix which means that the
++ * caller has to lock the write-buffer before calling this function.
++ *
++ * UBIFS stores nodes at 64 bit-aligned addresses. If the node length is not
++ * aligned, UBIFS starts the next node from the aligned address, and the padded
++ * bytes may contain any rubbish. In other words, UBIFS does not put padding
++ * bytes in those small gaps. Common headers of nodes store real node lengths,
++ * not aligned lengths. Indexing nodes also store real lengths in branches.
++ *
++ * UBIFS uses padding when it pads to the next min. I/O unit. In this case it
++ * uses padding nodes or padding bytes, if the padding node does not fit.
++ *
++ * All UBIFS nodes are protected by CRC checksums and UBIFS checks all nodes
++ * every time they are read from the flash media.
++ */
++
++#include <linux/crc32.h>
++#include "ubifs.h"
++
++/**
++ * ubifs_ro_mode - switch UBIFS to read read-only mode.
++ * @c: UBIFS file-system description object
++ * @err: error code which is the reason of switching to R/O mode
++ */
++void ubifs_ro_mode(struct ubifs_info *c, int err)
++{
++ if (!c->ro_media) {
++ c->ro_media = 1;
++ c->no_chk_data_crc = 0;
++ ubifs_warn("switched to read-only mode, error %d", err);
++ dbg_dump_stack();
++ }
++}
++
++/**
++ * ubifs_check_node - check node.
++ * @c: UBIFS file-system description object
++ * @buf: node to check
++ * @lnum: logical eraseblock number
++ * @offs: offset within the logical eraseblock
++ * @quiet: print no messages
++ * @must_chk_crc: indicates whether to always check the CRC
++ *
++ * This function checks node magic number and CRC checksum. This function also
++ * validates node length to prevent UBIFS from becoming crazy when an attacker
++ * feeds it a file-system image with incorrect nodes. For example, too large
++ * node length in the common header could cause UBIFS to read memory outside of
++ * allocated buffer when checking the CRC checksum.
++ *
++ * This function may skip data nodes CRC checking if @c->no_chk_data_crc is
++ * true, which is controlled by corresponding UBIFS mount option. However, if
++ * @must_chk_crc is true, then @c->no_chk_data_crc is ignored and CRC is
++ * checked. Similarly, if @c->always_chk_crc is true, @c->no_chk_data_crc is
++ * ignored and CRC is checked.
++ *
++ * This function returns zero in case of success and %-EUCLEAN in case of bad
++ * CRC or magic.
++ */
++int ubifs_check_node(const struct ubifs_info *c, const void *buf, int lnum,
++ int offs, int quiet, int must_chk_crc)
++{
++ int err = -EINVAL, type, node_len;
++ uint32_t crc, node_crc, magic;
++ const struct ubifs_ch *ch = buf;
++
++ ubifs_assert(lnum >= 0 && lnum < c->leb_cnt && offs >= 0);
++ ubifs_assert(!(offs & 7) && offs < c->leb_size);
++
++ magic = le32_to_cpu(ch->magic);
++ if (magic != UBIFS_NODE_MAGIC) {
++ if (!quiet)
++ ubifs_err("bad magic %#08x, expected %#08x",
++ magic, UBIFS_NODE_MAGIC);
++ err = -EUCLEAN;
++ goto out;
++ }
++
++ type = ch->node_type;
++ if (type < 0 || type >= UBIFS_NODE_TYPES_CNT) {
++ if (!quiet)
++ ubifs_err("bad node type %d", type);
++ goto out;
++ }
++
++ node_len = le32_to_cpu(ch->len);
++ if (node_len + offs > c->leb_size)
++ goto out_len;
++
++ if (c->ranges[type].max_len == 0) {
++ if (node_len != c->ranges[type].len)
++ goto out_len;
++ } else if (node_len < c->ranges[type].min_len ||
++ node_len > c->ranges[type].max_len)
++ goto out_len;
++
++ if (!must_chk_crc && type == UBIFS_DATA_NODE && !c->always_chk_crc &&
++ c->no_chk_data_crc)
++ return 0;
++
++ crc = crc32(UBIFS_CRC32_INIT, buf + 8, node_len - 8);
++ node_crc = le32_to_cpu(ch->crc);
++ if (crc != node_crc) {
++ if (!quiet)
++ ubifs_err("bad CRC: calculated %#08x, read %#08x",
++ crc, node_crc);
++ err = -EUCLEAN;
++ goto out;
++ }
++
++ return 0;
++
++out_len:
++ if (!quiet)
++ ubifs_err("bad node length %d", node_len);
++out:
++ if (!quiet) {
++ ubifs_err("bad node at LEB %d:%d", lnum, offs);
++ dbg_dump_node(c, buf);
++ dbg_dump_stack();
++ }
++ return err;
++}
++
++/**
++ * ubifs_pad - pad flash space.
++ * @c: UBIFS file-system description object
++ * @buf: buffer to put padding to
++ * @pad: how many bytes to pad
++ *
++ * The flash media obliges us to write only in chunks of %c->min_io_size and
++ * when we have to write less data we add padding node to the write-buffer and
++ * pad it to the next minimal I/O unit's boundary. Padding nodes help when the
++ * media is being scanned. If the amount of wasted space is not enough to fit a
++ * padding node which takes %UBIFS_PAD_NODE_SZ bytes, we write padding bytes
++ * pattern (%UBIFS_PADDING_BYTE).
++ *
++ * Padding nodes are also used to fill gaps when the "commit-in-gaps" method is
++ * used.
++ */
++void ubifs_pad(const struct ubifs_info *c, void *buf, int pad)
++{
++ uint32_t crc;
++
++ ubifs_assert(pad >= 0 && !(pad & 7));
++
++ if (pad >= UBIFS_PAD_NODE_SZ) {
++ struct ubifs_ch *ch = buf;
++ struct ubifs_pad_node *pad_node = buf;
++
++ ch->magic = cpu_to_le32(UBIFS_NODE_MAGIC);
++ ch->node_type = UBIFS_PAD_NODE;
++ ch->group_type = UBIFS_NO_NODE_GROUP;
++ ch->padding[0] = ch->padding[1] = 0;
++ ch->sqnum = 0;
++ ch->len = cpu_to_le32(UBIFS_PAD_NODE_SZ);
++ pad -= UBIFS_PAD_NODE_SZ;
++ pad_node->pad_len = cpu_to_le32(pad);
++ crc = crc32(UBIFS_CRC32_INIT, buf + 8, UBIFS_PAD_NODE_SZ - 8);
++ ch->crc = cpu_to_le32(crc);
++ memset(buf + UBIFS_PAD_NODE_SZ, 0, pad);
++ } else if (pad > 0)
++ /* Too little space, padding node won't fit */
++ memset(buf, UBIFS_PADDING_BYTE, pad);
++}
++
++/**
++ * next_sqnum - get next sequence number.
++ * @c: UBIFS file-system description object
++ */
++static unsigned long long next_sqnum(struct ubifs_info *c)
++{
++ unsigned long long sqnum;
++
++ spin_lock(&c->cnt_lock);
++ sqnum = ++c->max_sqnum;
++ spin_unlock(&c->cnt_lock);
++
++ if (unlikely(sqnum >= SQNUM_WARN_WATERMARK)) {
++ if (sqnum >= SQNUM_WATERMARK) {
++ ubifs_err("sequence number overflow %llu, end of life",
++ sqnum);
++ ubifs_ro_mode(c, -EINVAL);
++ }
++ ubifs_warn("running out of sequence numbers, end of life soon");
++ }
++
++ return sqnum;
++}
++
++/**
++ * ubifs_prepare_node - prepare node to be written to flash.
++ * @c: UBIFS file-system description object
++ * @node: the node to pad
++ * @len: node length
++ * @pad: if the buffer has to be padded
++ *
++ * This function prepares node at @node to be written to the media - it
++ * calculates node CRC, fills the common header, and adds proper padding up to
++ * the next minimum I/O unit if @pad is not zero.
++ */
++void ubifs_prepare_node(struct ubifs_info *c, void *node, int len, int pad)
++{
++ uint32_t crc;
++ struct ubifs_ch *ch = node;
++ unsigned long long sqnum = next_sqnum(c);
++
++ ubifs_assert(len >= UBIFS_CH_SZ);
++
++ ch->magic = cpu_to_le32(UBIFS_NODE_MAGIC);
++ ch->len = cpu_to_le32(len);
++ ch->group_type = UBIFS_NO_NODE_GROUP;
++ ch->sqnum = cpu_to_le64(sqnum);
++ ch->padding[0] = ch->padding[1] = 0;
++ crc = crc32(UBIFS_CRC32_INIT, node + 8, len - 8);
++ ch->crc = cpu_to_le32(crc);
++
++ if (pad) {
++ len = ALIGN(len, 8);
++ pad = ALIGN(len, c->min_io_size) - len;
++ ubifs_pad(c, node + len, pad);
++ }
++}
++
++/**
++ * ubifs_prep_grp_node - prepare node of a group to be written to flash.
++ * @c: UBIFS file-system description object
++ * @node: the node to pad
++ * @len: node length
++ * @last: indicates the last node of the group
++ *
++ * This function prepares node at @node to be written to the media - it
++ * calculates node CRC and fills the common header.
++ */
++void ubifs_prep_grp_node(struct ubifs_info *c, void *node, int len, int last)
++{
++ uint32_t crc;
++ struct ubifs_ch *ch = node;
++ unsigned long long sqnum = next_sqnum(c);
++
++ ubifs_assert(len >= UBIFS_CH_SZ);
++
++ ch->magic = cpu_to_le32(UBIFS_NODE_MAGIC);
++ ch->len = cpu_to_le32(len);
++ if (last)
++ ch->group_type = UBIFS_LAST_OF_NODE_GROUP;
++ else
++ ch->group_type = UBIFS_IN_NODE_GROUP;
++ ch->sqnum = cpu_to_le64(sqnum);
++ ch->padding[0] = ch->padding[1] = 0;
++ crc = crc32(UBIFS_CRC32_INIT, node + 8, len - 8);
++ ch->crc = cpu_to_le32(crc);
++}
++
++/**
++ * wbuf_timer_callback - write-buffer timer callback function.
++ * @data: timer data (write-buffer descriptor)
++ *
++ * This function is called when the write-buffer timer expires.
++ */
++static void wbuf_timer_callback_nolock(unsigned long data)
++{
++ struct ubifs_wbuf *wbuf = (struct ubifs_wbuf *)data;
++
++ wbuf->need_sync = 1;
++ wbuf->c->need_wbuf_sync = 1;
++ ubifs_wake_up_bgt(wbuf->c);
++}
++
++/**
++ * new_wbuf_timer - start new write-buffer timer.
++ * @wbuf: write-buffer descriptor
++ */
++static void new_wbuf_timer_nolock(struct ubifs_wbuf *wbuf)
++{
++ ubifs_assert(!timer_pending(&wbuf->timer));
++
++ if (!wbuf->timeout)
++ return;
++
++ wbuf->timer.expires = jiffies + wbuf->timeout;
++ add_timer(&wbuf->timer);
++}
++
++/**
++ * cancel_wbuf_timer - cancel write-buffer timer.
++ * @wbuf: write-buffer descriptor
++ */
++static void cancel_wbuf_timer_nolock(struct ubifs_wbuf *wbuf)
++{
++ /*
++ * If the syncer is waiting for the lock (from the background thread's
++ * context) and another task is changing write-buffer then the syncing
++ * should be canceled.
++ */
++ wbuf->need_sync = 0;
++ del_timer(&wbuf->timer);
++}
++
++/**
++ * ubifs_wbuf_sync_nolock - synchronize write-buffer.
++ * @wbuf: write-buffer to synchronize
++ *
++ * This function synchronizes write-buffer @buf and returns zero in case of
++ * success or a negative error code in case of failure.
++ */
++int ubifs_wbuf_sync_nolock(struct ubifs_wbuf *wbuf)
++{
++ struct ubifs_info *c = wbuf->c;
++ int err, dirt;
++
++ cancel_wbuf_timer_nolock(wbuf);
++ if (!wbuf->used || wbuf->lnum == -1)
++ /* Write-buffer is empty or not seeked */
++ return 0;
++
++ dbg_io("LEB %d:%d, %d bytes",
++ wbuf->lnum, wbuf->offs, wbuf->used);
++ ubifs_assert(!(c->vfs_sb->s_flags & MS_RDONLY));
++ ubifs_assert(!(wbuf->avail & 7));
++ ubifs_assert(wbuf->offs + c->min_io_size <= c->leb_size);
++
++ if (c->ro_media)
++ return -EROFS;
++
++ ubifs_pad(c, wbuf->buf + wbuf->used, wbuf->avail);
++ err = ubi_leb_write(c->ubi, wbuf->lnum, wbuf->buf, wbuf->offs,
++ c->min_io_size, wbuf->dtype);
++ if (err) {
++ ubifs_err("cannot write %d bytes to LEB %d:%d",
++ c->min_io_size, wbuf->lnum, wbuf->offs);
++ dbg_dump_stack();
++ return err;
++ }
++
++ dirt = wbuf->avail;
++
++ spin_lock(&wbuf->lock);
++ wbuf->offs += c->min_io_size;
++ wbuf->avail = c->min_io_size;
++ wbuf->used = 0;
++ wbuf->next_ino = 0;
++ spin_unlock(&wbuf->lock);
++
++ if (wbuf->sync_callback)
++ err = wbuf->sync_callback(c, wbuf->lnum,
++ c->leb_size - wbuf->offs, dirt);
++ return err;
++}
++
++/**
++ * ubifs_wbuf_seek_nolock - seek write-buffer.
++ * @wbuf: write-buffer
++ * @lnum: logical eraseblock number to seek to
++ * @offs: logical eraseblock offset to seek to
++ * @dtype: data type
++ *
++ * This function targets the write buffer to logical eraseblock @lnum:@offs.
++ * The write-buffer is synchronized if it is not empty. Returns zero in case of
++ * success and a negative error code in case of failure.
++ */
++int ubifs_wbuf_seek_nolock(struct ubifs_wbuf *wbuf, int lnum, int offs,
++ int dtype)
++{
++ const struct ubifs_info *c = wbuf->c;
++
++ dbg_io("LEB %d:%d", lnum, offs);
++ ubifs_assert(lnum >= 0 && lnum < c->leb_cnt);
++ ubifs_assert(offs >= 0 && offs <= c->leb_size);
++ ubifs_assert(offs % c->min_io_size == 0 && !(offs & 7));
++ ubifs_assert(lnum != wbuf->lnum);
++
++ if (wbuf->used > 0) {
++ int err = ubifs_wbuf_sync_nolock(wbuf);
++
++ if (err)
++ return err;
++ }
++
++ spin_lock(&wbuf->lock);
++ wbuf->lnum = lnum;
++ wbuf->offs = offs;
++ wbuf->avail = c->min_io_size;
++ wbuf->used = 0;
++ spin_unlock(&wbuf->lock);
++ wbuf->dtype = dtype;
++
++ return 0;
++}
++
++/**
++ * ubifs_bg_wbufs_sync - synchronize write-buffers.
++ * @c: UBIFS file-system description object
++ *
++ * This function is called by background thread to synchronize write-buffers.
++ * Returns zero in case of success and a negative error code in case of
++ * failure.
++ */
++int ubifs_bg_wbufs_sync(struct ubifs_info *c)
++{
++ int err, i;
++
++ if (!c->need_wbuf_sync)
++ return 0;
++ c->need_wbuf_sync = 0;
++
++ if (c->ro_media) {
++ err = -EROFS;
++ goto out_timers;
++ }
++
++ dbg_io("synchronize");
++ for (i = 0; i < c->jhead_cnt; i++) {
++ struct ubifs_wbuf *wbuf = &c->jheads[i].wbuf;
++
++ cond_resched();
++
++ /*
++ * If the mutex is locked then wbuf is being changed, so
++ * synchronization is not necessary.
++ */
++ if (mutex_is_locked(&wbuf->io_mutex))
++ continue;
++
++ mutex_lock_nested(&wbuf->io_mutex, wbuf->jhead);
++ if (!wbuf->need_sync) {
++ mutex_unlock(&wbuf->io_mutex);
++ continue;
++ }
++
++ err = ubifs_wbuf_sync_nolock(wbuf);
++ mutex_unlock(&wbuf->io_mutex);
++ if (err) {
++ ubifs_err("cannot sync write-buffer, error %d", err);
++ ubifs_ro_mode(c, err);
++ goto out_timers;
++ }
++ }
++
++ return 0;
++
++out_timers:
++ /* Cancel all timers to prevent repeated errors */
++ for (i = 0; i < c->jhead_cnt; i++) {
++ struct ubifs_wbuf *wbuf = &c->jheads[i].wbuf;
++
++ mutex_lock_nested(&wbuf->io_mutex, wbuf->jhead);
++ cancel_wbuf_timer_nolock(wbuf);
++ mutex_unlock(&wbuf->io_mutex);
++ }
++ return err;
++}
++
++/**
++ * ubifs_wbuf_write_nolock - write data to flash via write-buffer.
++ * @wbuf: write-buffer
++ * @buf: node to write
++ * @len: node length
++ *
++ * This function writes data to flash via write-buffer @wbuf. This means that
++ * the last piece of the node won't reach the flash media immediately if it
++ * does not take whole minimal I/O unit. Instead, the node will sit in RAM
++ * until the write-buffer is synchronized (e.g., by timer).
++ *
++ * This function returns zero in case of success and a negative error code in
++ * case of failure. If the node cannot be written because there is no more
++ * space in this logical eraseblock, %-ENOSPC is returned.
++ */
++int ubifs_wbuf_write_nolock(struct ubifs_wbuf *wbuf, void *buf, int len)
++{
++ struct ubifs_info *c = wbuf->c;
++ int err, written, n, aligned_len = ALIGN(len, 8), offs;
++
++ dbg_io("%d bytes (%s) to wbuf at LEB %d:%d", len,
++ dbg_ntype(((struct ubifs_ch *)buf)->node_type), wbuf->lnum,
++ wbuf->offs + wbuf->used);
++ ubifs_assert(len > 0 && wbuf->lnum >= 0 && wbuf->lnum < c->leb_cnt);
++ ubifs_assert(wbuf->offs >= 0 && wbuf->offs % c->min_io_size == 0);
++ ubifs_assert(!(wbuf->offs & 7) && wbuf->offs <= c->leb_size);
++ ubifs_assert(wbuf->avail > 0 && wbuf->avail <= c->min_io_size);
++ ubifs_assert(mutex_is_locked(&wbuf->io_mutex));
++
++ if (c->leb_size - wbuf->offs - wbuf->used < aligned_len) {
++ err = -ENOSPC;
++ goto out;
++ }
++
++ cancel_wbuf_timer_nolock(wbuf);
++
++ if (c->ro_media)
++ return -EROFS;
++
++ if (aligned_len <= wbuf->avail) {
++ /*
++ * The node is not very large and fits entirely within
++ * write-buffer.
++ */
++ memcpy(wbuf->buf + wbuf->used, buf, len);
++
++ if (aligned_len == wbuf->avail) {
++ dbg_io("flush wbuf to LEB %d:%d", wbuf->lnum,
++ wbuf->offs);
++ err = ubi_leb_write(c->ubi, wbuf->lnum, wbuf->buf,
++ wbuf->offs, c->min_io_size,
++ wbuf->dtype);
++ if (err)
++ goto out;
++
++ spin_lock(&wbuf->lock);
++ wbuf->offs += c->min_io_size;
++ wbuf->avail = c->min_io_size;
++ wbuf->used = 0;
++ wbuf->next_ino = 0;
++ spin_unlock(&wbuf->lock);
++ } else {
++ spin_lock(&wbuf->lock);
++ wbuf->avail -= aligned_len;
++ wbuf->used += aligned_len;
++ spin_unlock(&wbuf->lock);
++ }
++
++ goto exit;
++ }
++
++ /*
++ * The node is large enough and does not fit entirely within current
++ * minimal I/O unit. We have to fill and flush write-buffer and switch
++ * to the next min. I/O unit.
++ */
++ dbg_io("flush wbuf to LEB %d:%d", wbuf->lnum, wbuf->offs);
++ memcpy(wbuf->buf + wbuf->used, buf, wbuf->avail);
++ err = ubi_leb_write(c->ubi, wbuf->lnum, wbuf->buf, wbuf->offs,
++ c->min_io_size, wbuf->dtype);
++ if (err)
++ goto out;
++
++ offs = wbuf->offs + c->min_io_size;
++ len -= wbuf->avail;
++ aligned_len -= wbuf->avail;
++ written = wbuf->avail;
++
++ /*
++ * The remaining data may take more whole min. I/O units, so write the
++ * remains multiple to min. I/O unit size directly to the flash media.
++ * We align node length to 8-byte boundary because we anyway flash wbuf
++ * if the remaining space is less than 8 bytes.
++ */
++ n = aligned_len >> c->min_io_shift;
++ if (n) {
++ n <<= c->min_io_shift;
++ dbg_io("write %d bytes to LEB %d:%d", n, wbuf->lnum, offs);
++ err = ubi_leb_write(c->ubi, wbuf->lnum, buf + written, offs, n,
++ wbuf->dtype);
++ if (err)
++ goto out;
++ offs += n;
++ aligned_len -= n;
++ len -= n;
++ written += n;
++ }
++
++ spin_lock(&wbuf->lock);
++ if (aligned_len)
++ /*
++ * And now we have what's left and what does not take whole
++ * min. I/O unit, so write it to the write-buffer and we are
++ * done.
++ */
++ memcpy(wbuf->buf, buf + written, len);
++
++ wbuf->offs = offs;
++ wbuf->used = aligned_len;
++ wbuf->avail = c->min_io_size - aligned_len;
++ wbuf->next_ino = 0;
++ spin_unlock(&wbuf->lock);
++
++exit:
++ if (wbuf->sync_callback) {
++ int free = c->leb_size - wbuf->offs - wbuf->used;
++
++ err = wbuf->sync_callback(c, wbuf->lnum, free, 0);
++ if (err)
++ goto out;
++ }
++
++ if (wbuf->used)
++ new_wbuf_timer_nolock(wbuf);
++
++ return 0;
++
++out:
++ ubifs_err("cannot write %d bytes to LEB %d:%d, error %d",
++ len, wbuf->lnum, wbuf->offs, err);
++ dbg_dump_node(c, buf);
++ dbg_dump_stack();
++ dbg_dump_leb(c, wbuf->lnum);
++ return err;
++}
++
++/**
++ * ubifs_write_node - write node to the media.
++ * @c: UBIFS file-system description object
++ * @buf: the node to write
++ * @len: node length
++ * @lnum: logical eraseblock number
++ * @offs: offset within the logical eraseblock
++ * @dtype: node life-time hint (%UBI_LONGTERM, %UBI_SHORTTERM, %UBI_UNKNOWN)
++ *
++ * This function automatically fills node magic number, assigns sequence
++ * number, and calculates node CRC checksum. The length of the @buf buffer has
++ * to be aligned to the minimal I/O unit size. This function automatically
++ * appends padding node and padding bytes if needed. Returns zero in case of
++ * success and a negative error code in case of failure.
++ */
++int ubifs_write_node(struct ubifs_info *c, void *buf, int len, int lnum,
++ int offs, int dtype)
++{
++ int err, buf_len = ALIGN(len, c->min_io_size);
++
++ dbg_io("LEB %d:%d, %s, length %d (aligned %d)",
++ lnum, offs, dbg_ntype(((struct ubifs_ch *)buf)->node_type), len,
++ buf_len);
++ ubifs_assert(lnum >= 0 && lnum < c->leb_cnt && offs >= 0);
++ ubifs_assert(offs % c->min_io_size == 0 && offs < c->leb_size);
++
++ if (c->ro_media)
++ return -EROFS;
++
++ ubifs_prepare_node(c, buf, len, 1);
++ err = ubi_leb_write(c->ubi, lnum, buf, offs, buf_len, dtype);
++ if (err) {
++ ubifs_err("cannot write %d bytes to LEB %d:%d, error %d",
++ buf_len, lnum, offs, err);
++ dbg_dump_node(c, buf);
++ dbg_dump_stack();
++ }
++
++ return err;
++}
++
++/**
++ * ubifs_read_node_wbuf - read node from the media or write-buffer.
++ * @wbuf: wbuf to check for un-written data
++ * @buf: buffer to read to
++ * @type: node type
++ * @len: node length
++ * @lnum: logical eraseblock number
++ * @offs: offset within the logical eraseblock
++ *
++ * This function reads a node of known type and length, checks it and stores
++ * in @buf. If the node partially or fully sits in the write-buffer, this
++ * function takes data from the buffer, otherwise it reads the flash media.
++ * Returns zero in case of success, %-EUCLEAN if CRC mismatched and a negative
++ * error code in case of failure.
++ */
++int ubifs_read_node_wbuf(struct ubifs_wbuf *wbuf, void *buf, int type, int len,
++ int lnum, int offs)
++{
++ const struct ubifs_info *c = wbuf->c;
++ int err, rlen, overlap;
++ struct ubifs_ch *ch = buf;
++
++ dbg_io("LEB %d:%d, %s, length %d", lnum, offs, dbg_ntype(type), len);
++ ubifs_assert(wbuf && lnum >= 0 && lnum < c->leb_cnt && offs >= 0);
++ ubifs_assert(!(offs & 7) && offs < c->leb_size);
++ ubifs_assert(type >= 0 && type < UBIFS_NODE_TYPES_CNT);
++
++ spin_lock(&wbuf->lock);
++ overlap = (lnum == wbuf->lnum && offs + len > wbuf->offs);
++ if (!overlap) {
++ /* We may safely unlock the write-buffer and read the data */
++ spin_unlock(&wbuf->lock);
++ return ubifs_read_node(c, buf, type, len, lnum, offs);
++ }
++
++ /* Don't read under wbuf */
++ rlen = wbuf->offs - offs;
++ if (rlen < 0)
++ rlen = 0;
++
++ /* Copy the rest from the write-buffer */
++ memcpy(buf + rlen, wbuf->buf + offs + rlen - wbuf->offs, len - rlen);
++ spin_unlock(&wbuf->lock);
++
++ if (rlen > 0) {
++ /* Read everything that goes before write-buffer */
++ err = ubi_read(c->ubi, lnum, buf, offs, rlen);
++ if (err && err != -EBADMSG) {
++ ubifs_err("failed to read node %d from LEB %d:%d, "
++ "error %d", type, lnum, offs, err);
++ dbg_dump_stack();
++ return err;
++ }
++ }
++
++ if (type != ch->node_type) {
++ ubifs_err("bad node type (%d but expected %d)",
++ ch->node_type, type);
++ goto out;
++ }
++
++ err = ubifs_check_node(c, buf, lnum, offs, 0, 0);
++ if (err) {
++ ubifs_err("expected node type %d", type);
++ return err;
++ }
++
++ rlen = le32_to_cpu(ch->len);
++ if (rlen != len) {
++ ubifs_err("bad node length %d, expected %d", rlen, len);
++ goto out;
++ }
++
++ return 0;
++
++out:
++ ubifs_err("bad node at LEB %d:%d", lnum, offs);
++ dbg_dump_node(c, buf);
++ dbg_dump_stack();
++ return -EINVAL;
++}
++
++/**
++ * ubifs_read_node - read node.
++ * @c: UBIFS file-system description object
++ * @buf: buffer to read to
++ * @type: node type
++ * @len: node length (not aligned)
++ * @lnum: logical eraseblock number
++ * @offs: offset within the logical eraseblock
++ *
++ * This function reads a node of known type and and length, checks it and
++ * stores in @buf. Returns zero in case of success, %-EUCLEAN if CRC mismatched
++ * and a negative error code in case of failure.
++ */
++int ubifs_read_node(const struct ubifs_info *c, void *buf, int type, int len,
++ int lnum, int offs)
++{
++ int err, l;
++ struct ubifs_ch *ch = buf;
++
++ dbg_io("LEB %d:%d, %s, length %d", lnum, offs, dbg_ntype(type), len);
++ ubifs_assert(lnum >= 0 && lnum < c->leb_cnt && offs >= 0);
++ ubifs_assert(len >= UBIFS_CH_SZ && offs + len <= c->leb_size);
++ ubifs_assert(!(offs & 7) && offs < c->leb_size);
++ ubifs_assert(type >= 0 && type < UBIFS_NODE_TYPES_CNT);
++
++ err = ubi_read(c->ubi, lnum, buf, offs, len);
++ if (err && err != -EBADMSG) {
++ ubifs_err("cannot read node %d from LEB %d:%d, error %d",
++ type, lnum, offs, err);
++ return err;
++ }
++
++ if (type != ch->node_type) {
++ ubifs_err("bad node type (%d but expected %d)",
++ ch->node_type, type);
++ goto out;
++ }
++
++ err = ubifs_check_node(c, buf, lnum, offs, 0, 0);
++ if (err) {
++ ubifs_err("expected node type %d", type);
++ return err;
++ }
++
++ l = le32_to_cpu(ch->len);
++ if (l != len) {
++ ubifs_err("bad node length %d, expected %d", l, len);
++ goto out;
++ }
++
++ return 0;
++
++out:
++ ubifs_err("bad node at LEB %d:%d", lnum, offs);
++ dbg_dump_node(c, buf);
++ dbg_dump_stack();
++ return -EINVAL;
++}
++
++/**
++ * ubifs_wbuf_init - initialize write-buffer.
++ * @c: UBIFS file-system description object
++ * @wbuf: write-buffer to initialize
++ *
++ * This function initializes write buffer. Returns zero in case of success
++ * %-ENOMEM in case of failure.
++ */
++int ubifs_wbuf_init(struct ubifs_info *c, struct ubifs_wbuf *wbuf)
++{
++ size_t size;
++
++ wbuf->buf = kmalloc(c->min_io_size, GFP_KERNEL);
++ if (!wbuf->buf)
++ return -ENOMEM;
++
++ size = (c->min_io_size / UBIFS_CH_SZ + 1) * sizeof(ino_t);
++ wbuf->inodes = kmalloc(size, GFP_KERNEL);
++ if (!wbuf->inodes) {
++ kfree(wbuf->buf);
++ wbuf->buf = NULL;
++ return -ENOMEM;
++ }
++
++ wbuf->used = 0;
++ wbuf->lnum = wbuf->offs = -1;
++ wbuf->avail = c->min_io_size;
++ wbuf->dtype = UBI_UNKNOWN;
++ wbuf->sync_callback = NULL;
++ mutex_init(&wbuf->io_mutex);
++ spin_lock_init(&wbuf->lock);
++
++ wbuf->c = c;
++ init_timer(&wbuf->timer);
++ wbuf->timer.function = wbuf_timer_callback_nolock;
++ wbuf->timer.data = (unsigned long)wbuf;
++ wbuf->timeout = DEFAULT_WBUF_TIMEOUT;
++ wbuf->next_ino = 0;
++
++ return 0;
++}
++
++/**
++ * ubifs_wbuf_add_ino_nolock - add an inode number into the wbuf inode array.
++ * @wbuf: the write-buffer whereto add
++ * @inum: the inode number
++ *
++ * This function adds an inode number to the inode array of the write-buffer.
++ */
++void ubifs_wbuf_add_ino_nolock(struct ubifs_wbuf *wbuf, ino_t inum)
++{
++ if (!wbuf->buf)
++ /* NOR flash or something similar */
++ return;
++
++ spin_lock(&wbuf->lock);
++ if (wbuf->used)
++ wbuf->inodes[wbuf->next_ino++] = inum;
++ spin_unlock(&wbuf->lock);
++}
++
++/**
++ * wbuf_has_ino - returns if the wbuf contains data from the inode.
++ * @wbuf: the write-buffer
++ * @inum: the inode number
++ *
++ * This function returns with %1 if the write-buffer contains some data from the
++ * given inode otherwise it returns with %0.
++ */
++static int wbuf_has_ino(struct ubifs_wbuf *wbuf, ino_t inum)
++{
++ int i, ret = 0;
++
++ spin_lock(&wbuf->lock);
++ for (i = 0; i < wbuf->next_ino; i++)
++ if (inum == wbuf->inodes[i]) {
++ ret = 1;
++ break;
++ }
++ spin_unlock(&wbuf->lock);
++
++ return ret;
++}
++
++/**
++ * ubifs_sync_wbufs_by_inode - synchronize write-buffers for an inode.
++ * @c: UBIFS file-system description object
++ * @inode: inode to synchronize
++ *
++ * This function synchronizes write-buffers which contain nodes belonging to
++ * @inode. Returns zero in case of success and a negative error code in case of
++ * failure.
++ */
++int ubifs_sync_wbufs_by_inode(struct ubifs_info *c, struct inode *inode)
++{
++ int i, err = 0;
++
++ for (i = 0; i < c->jhead_cnt; i++) {
++ struct ubifs_wbuf *wbuf = &c->jheads[i].wbuf;
++
++ if (i == GCHD)
++ /*
++ * GC head is special, do not look at it. Even if the
++ * head contains something related to this inode, it is
++ * a _copy_ of corresponding on-flash node which sits
++ * somewhere else.
++ */
++ continue;
++
++ if (!wbuf_has_ino(wbuf, inode->i_ino))
++ continue;
++
++ mutex_lock_nested(&wbuf->io_mutex, wbuf->jhead);
++ if (wbuf_has_ino(wbuf, inode->i_ino))
++ err = ubifs_wbuf_sync_nolock(wbuf);
++ mutex_unlock(&wbuf->io_mutex);
++
++ if (err) {
++ ubifs_ro_mode(c, err);
++ return err;
++ }
++ }
++ return 0;
++}
+diff -Nurd linux-2.6.24/fs/ubifs/ioctl.c ubifs-v2.6.24/fs/ubifs/ioctl.c
+--- linux-2.6.24/fs/ubifs/ioctl.c 1970-01-01 02:00:00.000000000 +0200
++++ ubifs-v2.6.24/fs/ubifs/ioctl.c 2009-04-07 17:14:47.000000000 +0200
+@@ -0,0 +1,196 @@
++/*
++ * This file is part of UBIFS.
++ *
++ * Copyright (C) 2006-2008 Nokia Corporation.
++ * Copyright (C) 2006, 2007 University of Szeged, Hungary
++ *
++ * This program is free software; you can redistribute it and/or modify it
++ * under the terms of the GNU General Public License version 2 as published by
++ * the Free Software Foundation.
++ *
++ * 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, write to the Free Software Foundation, Inc., 51
++ * Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
++ *
++ * Authors: Zoltan Sogor
++ * Artem Bityutskiy (Битюцкий Ðртём)
++ * Adrian Hunter
++ */
++
++/* This file implements EXT2-compatible extended attribute ioctl() calls */
++
++#include <linux/compat.h>
++#include <linux/smp_lock.h>
++#include "ubifs.h"
++
++/**
++ * ubifs_set_inode_flags - set VFS inode flags.
++ * @inode: VFS inode to set flags for
++ *
++ * This function propagates flags from UBIFS inode object to VFS inode object.
++ */
++void ubifs_set_inode_flags(struct inode *inode)
++{
++ unsigned int flags = ubifs_inode(inode)->flags;
++
++ inode->i_flags &= ~(S_SYNC | S_APPEND | S_IMMUTABLE | S_DIRSYNC);
++ if (flags & UBIFS_SYNC_FL)
++ inode->i_flags |= S_SYNC;
++ if (flags & UBIFS_APPEND_FL)
++ inode->i_flags |= S_APPEND;
++ if (flags & UBIFS_IMMUTABLE_FL)
++ inode->i_flags |= S_IMMUTABLE;
++ if (flags & UBIFS_DIRSYNC_FL)
++ inode->i_flags |= S_DIRSYNC;
++}
++
++/*
++ * ioctl2ubifs - convert ioctl inode flags to UBIFS inode flags.
++ * @ioctl_flags: flags to convert
++ *
++ * This function convert ioctl flags (@FS_COMPR_FL, etc) to UBIFS inode flags
++ * (@UBIFS_COMPR_FL, etc).
++ */
++static int ioctl2ubifs(int ioctl_flags)
++{
++ int ubifs_flags = 0;
++
++ if (ioctl_flags & FS_COMPR_FL)
++ ubifs_flags |= UBIFS_COMPR_FL;
++ if (ioctl_flags & FS_SYNC_FL)
++ ubifs_flags |= UBIFS_SYNC_FL;
++ if (ioctl_flags & FS_APPEND_FL)
++ ubifs_flags |= UBIFS_APPEND_FL;
++ if (ioctl_flags & FS_IMMUTABLE_FL)
++ ubifs_flags |= UBIFS_IMMUTABLE_FL;
++ if (ioctl_flags & FS_DIRSYNC_FL)
++ ubifs_flags |= UBIFS_DIRSYNC_FL;
++
++ return ubifs_flags;
++}
++
++/*
++ * ubifs2ioctl - convert UBIFS inode flags to ioctl inode flags.
++ * @ubifs_flags: flags to convert
++ *
++ * This function convert UBIFS (@UBIFS_COMPR_FL, etc) to ioctl flags
++ * (@FS_COMPR_FL, etc).
++ */
++static int ubifs2ioctl(int ubifs_flags)
++{
++ int ioctl_flags = 0;
++
++ if (ubifs_flags & UBIFS_COMPR_FL)
++ ioctl_flags |= FS_COMPR_FL;
++ if (ubifs_flags & UBIFS_SYNC_FL)
++ ioctl_flags |= FS_SYNC_FL;
++ if (ubifs_flags & UBIFS_APPEND_FL)
++ ioctl_flags |= FS_APPEND_FL;
++ if (ubifs_flags & UBIFS_IMMUTABLE_FL)
++ ioctl_flags |= FS_IMMUTABLE_FL;
++ if (ubifs_flags & UBIFS_DIRSYNC_FL)
++ ioctl_flags |= FS_DIRSYNC_FL;
++
++ return ioctl_flags;
++}
++
++static int setflags(struct inode *inode, int flags)
++{
++ int oldflags, err, release;
++ struct ubifs_inode *ui = ubifs_inode(inode);
++ struct ubifs_info *c = inode->i_sb->s_fs_info;
++ struct ubifs_budget_req req = { .dirtied_ino = 1,
++ .dirtied_ino_d = ui->data_len };
++
++ err = ubifs_budget_space(c, &req);
++ if (err)
++ return err;
++
++ /*
++ * The IMMUTABLE and APPEND_ONLY flags can only be changed by
++ * the relevant capability.
++ */
++ mutex_lock(&ui->ui_mutex);
++ oldflags = ubifs2ioctl(ui->flags);
++ if ((flags ^ oldflags) & (FS_APPEND_FL | FS_IMMUTABLE_FL)) {
++ if (!capable(CAP_LINUX_IMMUTABLE)) {
++ err = -EPERM;
++ goto out_unlock;
++ }
++ }
++
++ ui->flags = ioctl2ubifs(flags);
++ ubifs_set_inode_flags(inode);
++ inode->i_ctime = ubifs_current_time(inode);
++ release = ui->dirty;
++ mark_inode_dirty_sync(inode);
++ mutex_unlock(&ui->ui_mutex);
++
++ if (release)
++ ubifs_release_budget(c, &req);
++ if (IS_SYNC(inode))
++ err = write_inode_now(inode, 1);
++ return err;
++
++out_unlock:
++ ubifs_err("can't modify inode %lu attributes", inode->i_ino);
++ mutex_unlock(&ui->ui_mutex);
++ ubifs_release_budget(c, &req);
++ return err;
++}
++
++long ubifs_ioctl(struct file *file, unsigned int cmd, unsigned long arg)
++{
++ int flags;
++ struct inode *inode = file->f_path.dentry->d_inode;
++
++ switch (cmd) {
++ case FS_IOC_GETFLAGS:
++ flags = ubifs2ioctl(ubifs_inode(inode)->flags);
++
++ dbg_gen("get flags: %#x, i_flags %#x", flags, inode->i_flags);
++ return put_user(flags, (int __user *) arg);
++
++ case FS_IOC_SETFLAGS: {
++ if (IS_RDONLY(inode))
++ return -EROFS;
++
++ if (!is_owner_or_cap(inode))
++ return -EACCES;
++
++ if (get_user(flags, (int __user *) arg))
++ return -EFAULT;
++
++ if (!S_ISDIR(inode->i_mode))
++ flags &= ~FS_DIRSYNC_FL;
++
++ dbg_gen("set flags: %#x, i_flags %#x", flags, inode->i_flags);
++ return setflags(inode, flags);
++ }
++
++ default:
++ return -ENOTTY;
++ }
++}
++
++#ifdef CONFIG_COMPAT
++long ubifs_compat_ioctl(struct file *file, unsigned int cmd, unsigned long arg)
++{
++ switch (cmd) {
++ case FS_IOC32_GETFLAGS:
++ cmd = FS_IOC_GETFLAGS;
++ break;
++ case FS_IOC32_SETFLAGS:
++ cmd = FS_IOC_SETFLAGS;
++ break;
++ default:
++ return -ENOIOCTLCMD;
++ }
++ return ubifs_ioctl(file, cmd, (unsigned long)compat_ptr(arg));
++}
++#endif
+diff -Nurd linux-2.6.24/fs/ubifs/journal.c ubifs-v2.6.24/fs/ubifs/journal.c
+--- linux-2.6.24/fs/ubifs/journal.c 1970-01-01 02:00:00.000000000 +0200
++++ ubifs-v2.6.24/fs/ubifs/journal.c 2009-04-07 17:14:47.000000000 +0200
+@@ -0,0 +1,1442 @@
++/*
++ * This file is part of UBIFS.
++ *
++ * Copyright (C) 2006-2008 Nokia Corporation.
++ *
++ * This program is free software; you can redistribute it and/or modify it
++ * under the terms of the GNU General Public License version 2 as published by
++ * the Free Software Foundation.
++ *
++ * 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, write to the Free Software Foundation, Inc., 51
++ * Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
++ *
++ * Authors: Artem Bityutskiy (Битюцкий Ðртём)
++ * Adrian Hunter
++ */
++
++/*
++ * This file implements UBIFS journal.
++ *
++ * The journal consists of 2 parts - the log and bud LEBs. The log has fixed
++ * length and position, while a bud logical eraseblock is any LEB in the main
++ * area. Buds contain file system data - data nodes, inode nodes, etc. The log
++ * contains only references to buds and some other stuff like commit
++ * start node. The idea is that when we commit the journal, we do
++ * not copy the data, the buds just become indexed. Since after the commit the
++ * nodes in bud eraseblocks become leaf nodes of the file system index tree, we
++ * use term "bud". Analogy is obvious, bud eraseblocks contain nodes which will
++ * become leafs in the future.
++ *
++ * The journal is multi-headed because we want to write data to the journal as
++ * optimally as possible. It is nice to have nodes belonging to the same inode
++ * in one LEB, so we may write data owned by different inodes to different
++ * journal heads, although at present only one data head is used.
++ *
++ * For recovery reasons, the base head contains all inode nodes, all directory
++ * entry nodes and all truncate nodes. This means that the other heads contain
++ * only data nodes.
++ *
++ * Bud LEBs may be half-indexed. For example, if the bud was not full at the
++ * time of commit, the bud is retained to continue to be used in the journal,
++ * even though the "front" of the LEB is now indexed. In that case, the log
++ * reference contains the offset where the bud starts for the purposes of the
++ * journal.
++ *
++ * The journal size has to be limited, because the larger is the journal, the
++ * longer it takes to mount UBIFS (scanning the journal) and the more memory it
++ * takes (indexing in the TNC).
++ *
++ * All the journal write operations like 'ubifs_jnl_update()' here, which write
++ * multiple UBIFS nodes to the journal at one go, are atomic with respect to
++ * unclean reboots. Should the unclean reboot happen, the recovery code drops
++ * all the nodes.
++ */
++
++#include "ubifs.h"
++
++/**
++ * zero_ino_node_unused - zero out unused fields of an on-flash inode node.
++ * @ino: the inode to zero out
++ */
++static inline void zero_ino_node_unused(struct ubifs_ino_node *ino)
++{
++ memset(ino->padding1, 0, 4);
++ memset(ino->padding2, 0, 26);
++}
++
++/**
++ * zero_dent_node_unused - zero out unused fields of an on-flash directory
++ * entry node.
++ * @dent: the directory entry to zero out
++ */
++static inline void zero_dent_node_unused(struct ubifs_dent_node *dent)
++{
++ dent->padding1 = 0;
++ memset(dent->padding2, 0, 4);
++}
++
++/**
++ * zero_data_node_unused - zero out unused fields of an on-flash data node.
++ * @data: the data node to zero out
++ */
++static inline void zero_data_node_unused(struct ubifs_data_node *data)
++{
++ memset(data->padding, 0, 2);
++}
++
++/**
++ * zero_trun_node_unused - zero out unused fields of an on-flash truncation
++ * node.
++ * @trun: the truncation node to zero out
++ */
++static inline void zero_trun_node_unused(struct ubifs_trun_node *trun)
++{
++ memset(trun->padding, 0, 12);
++}
++
++/**
++ * reserve_space - reserve space in the journal.
++ * @c: UBIFS file-system description object
++ * @jhead: journal head number
++ * @len: node length
++ *
++ * This function reserves space in journal head @head. If the reservation
++ * succeeded, the journal head stays locked and later has to be unlocked using
++ * 'release_head()'. 'write_node()' and 'write_head()' functions also unlock
++ * it. Returns zero in case of success, %-EAGAIN if commit has to be done, and
++ * other negative error codes in case of other failures.
++ */
++static int reserve_space(struct ubifs_info *c, int jhead, int len)
++{
++ int err = 0, err1, retries = 0, avail, lnum, offs, squeeze;
++ struct ubifs_wbuf *wbuf = &c->jheads[jhead].wbuf;
++
++ /*
++ * Typically, the base head has smaller nodes written to it, so it is
++ * better to try to allocate space at the ends of eraseblocks. This is
++ * what the squeeze parameter does.
++ */
++ squeeze = (jhead == BASEHD);
++again:
++ mutex_lock_nested(&wbuf->io_mutex, wbuf->jhead);
++
++ if (c->ro_media) {
++ err = -EROFS;
++ goto out_unlock;
++ }
++
++ avail = c->leb_size - wbuf->offs - wbuf->used;
++ if (wbuf->lnum != -1 && avail >= len)
++ return 0;
++
++ /*
++ * Write buffer wasn't seek'ed or there is no enough space - look for an
++ * LEB with some empty space.
++ */
++ lnum = ubifs_find_free_space(c, len, &offs, squeeze);
++ if (lnum >= 0) {
++ /* Found an LEB, add it to the journal head */
++ err = ubifs_add_bud_to_log(c, jhead, lnum, offs);
++ if (err)
++ goto out_return;
++ /* A new bud was successfully allocated and added to the log */
++ goto out;
++ }
++
++ err = lnum;
++ if (err != -ENOSPC)
++ goto out_unlock;
++
++ /*
++ * No free space, we have to run garbage collector to make
++ * some. But the write-buffer mutex has to be unlocked because
++ * GC also takes it.
++ */
++ dbg_jnl("no free space jhead %d, run GC", jhead);
++ mutex_unlock(&wbuf->io_mutex);
++
++ lnum = ubifs_garbage_collect(c, 0);
++ if (lnum < 0) {
++ err = lnum;
++ if (err != -ENOSPC)
++ return err;
++
++ /*
++ * GC could not make a free LEB. But someone else may
++ * have allocated new bud for this journal head,
++ * because we dropped @wbuf->io_mutex, so try once
++ * again.
++ */
++ dbg_jnl("GC couldn't make a free LEB for jhead %d", jhead);
++ if (retries++ < 2) {
++ dbg_jnl("retry (%d)", retries);
++ goto again;
++ }
++
++ dbg_jnl("return -ENOSPC");
++ return err;
++ }
++
++ mutex_lock_nested(&wbuf->io_mutex, wbuf->jhead);
++ dbg_jnl("got LEB %d for jhead %d", lnum, jhead);
++ avail = c->leb_size - wbuf->offs - wbuf->used;
++
++ if (wbuf->lnum != -1 && avail >= len) {
++ /*
++ * Someone else has switched the journal head and we have
++ * enough space now. This happens when more then one process is
++ * trying to write to the same journal head at the same time.
++ */
++ dbg_jnl("return LEB %d back, already have LEB %d:%d",
++ lnum, wbuf->lnum, wbuf->offs + wbuf->used);
++ err = ubifs_return_leb(c, lnum);
++ if (err)
++ goto out_unlock;
++ return 0;
++ }
++
++ err = ubifs_add_bud_to_log(c, jhead, lnum, 0);
++ if (err)
++ goto out_return;
++ offs = 0;
++
++out:
++ err = ubifs_wbuf_seek_nolock(wbuf, lnum, offs, wbuf->dtype);
++ if (err)
++ goto out_unlock;
++
++ return 0;
++
++out_unlock:
++ mutex_unlock(&wbuf->io_mutex);
++ return err;
++
++out_return:
++ /* An error occurred and the LEB has to be returned to lprops */
++ ubifs_assert(err < 0);
++ err1 = ubifs_return_leb(c, lnum);
++ if (err1 && err == -EAGAIN)
++ /*
++ * Return original error code only if it is not %-EAGAIN,
++ * which is not really an error. Otherwise, return the error
++ * code of 'ubifs_return_leb()'.
++ */
++ err = err1;
++ mutex_unlock(&wbuf->io_mutex);
++ return err;
++}
++
++/**
++ * write_node - write node to a journal head.
++ * @c: UBIFS file-system description object
++ * @jhead: journal head
++ * @node: node to write
++ * @len: node length
++ * @lnum: LEB number written is returned here
++ * @offs: offset written is returned here
++ *
++ * This function writes a node to reserved space of journal head @jhead.
++ * Returns zero in case of success and a negative error code in case of
++ * failure.
++ */
++static int write_node(struct ubifs_info *c, int jhead, void *node, int len,
++ int *lnum, int *offs)
++{
++ struct ubifs_wbuf *wbuf = &c->jheads[jhead].wbuf;
++
++ ubifs_assert(jhead != GCHD);
++
++ *lnum = c->jheads[jhead].wbuf.lnum;
++ *offs = c->jheads[jhead].wbuf.offs + c->jheads[jhead].wbuf.used;
++
++ dbg_jnl("jhead %d, LEB %d:%d, len %d", jhead, *lnum, *offs, len);
++ ubifs_prepare_node(c, node, len, 0);
++
++ return ubifs_wbuf_write_nolock(wbuf, node, len);
++}
++
++/**
++ * write_head - write data to a journal head.
++ * @c: UBIFS file-system description object
++ * @jhead: journal head
++ * @buf: buffer to write
++ * @len: length to write
++ * @lnum: LEB number written is returned here
++ * @offs: offset written is returned here
++ * @sync: non-zero if the write-buffer has to by synchronized
++ *
++ * This function is the same as 'write_node()' but it does not assume the
++ * buffer it is writing is a node, so it does not prepare it (which means
++ * initializing common header and calculating CRC).
++ */
++static int write_head(struct ubifs_info *c, int jhead, void *buf, int len,
++ int *lnum, int *offs, int sync)
++{
++ int err;
++ struct ubifs_wbuf *wbuf = &c->jheads[jhead].wbuf;
++
++ ubifs_assert(jhead != GCHD);
++
++ *lnum = c->jheads[jhead].wbuf.lnum;
++ *offs = c->jheads[jhead].wbuf.offs + c->jheads[jhead].wbuf.used;
++ dbg_jnl("jhead %d, LEB %d:%d, len %d", jhead, *lnum, *offs, len);
++
++ err = ubifs_wbuf_write_nolock(wbuf, buf, len);
++ if (err)
++ return err;
++ if (sync)
++ err = ubifs_wbuf_sync_nolock(wbuf);
++ return err;
++}
++
++/**
++ * make_reservation - reserve journal space.
++ * @c: UBIFS file-system description object
++ * @jhead: journal head
++ * @len: how many bytes to reserve
++ *
++ * This function makes space reservation in journal head @jhead. The function
++ * takes the commit lock and locks the journal head, and the caller has to
++ * unlock the head and finish the reservation with 'finish_reservation()'.
++ * Returns zero in case of success and a negative error code in case of
++ * failure.
++ *
++ * Note, the journal head may be unlocked as soon as the data is written, while
++ * the commit lock has to be released after the data has been added to the
++ * TNC.
++ */
++static int make_reservation(struct ubifs_info *c, int jhead, int len)
++{
++ int err, cmt_retries = 0, nospc_retries = 0;
++
++again:
++ down_read(&c->commit_sem);
++ err = reserve_space(c, jhead, len);
++ if (!err)
++ return 0;
++ up_read(&c->commit_sem);
++
++ if (err == -ENOSPC) {
++ /*
++ * GC could not make any progress. We should try to commit
++ * once because it could make some dirty space and GC would
++ * make progress, so make the error -EAGAIN so that the below
++ * will commit and re-try.
++ */
++ if (nospc_retries++ < 2) {
++ dbg_jnl("no space, retry");
++ err = -EAGAIN;
++ }
++
++ /*
++ * This means that the budgeting is incorrect. We always have
++ * to be able to write to the media, because all operations are
++ * budgeted. Deletions are not budgeted, though, but we reserve
++ * an extra LEB for them.
++ */
++ }
++
++ if (err != -EAGAIN)
++ goto out;
++
++ /*
++ * -EAGAIN means that the journal is full or too large, or the above
++ * code wants to do one commit. Do this and re-try.
++ */
++ if (cmt_retries > 128) {
++ /*
++ * This should not happen unless the journal size limitations
++ * are too tough.
++ */
++ ubifs_err("stuck in space allocation");
++ err = -ENOSPC;
++ goto out;
++ } else if (cmt_retries > 32)
++ ubifs_warn("too many space allocation re-tries (%d)",
++ cmt_retries);
++
++ dbg_jnl("-EAGAIN, commit and retry (retried %d times)",
++ cmt_retries);
++ cmt_retries += 1;
++
++ err = ubifs_run_commit(c);
++ if (err)
++ return err;
++ goto again;
++
++out:
++ ubifs_err("cannot reserve %d bytes in jhead %d, error %d",
++ len, jhead, err);
++ if (err == -ENOSPC) {
++ /* This are some budgeting problems, print useful information */
++ down_write(&c->commit_sem);
++ spin_lock(&c->space_lock);
++ dbg_dump_stack();
++ dbg_dump_budg(c);
++ spin_unlock(&c->space_lock);
++ dbg_dump_lprops(c);
++ cmt_retries = dbg_check_lprops(c);
++ up_write(&c->commit_sem);
++ }
++ return err;
++}
++
++/**
++ * release_head - release a journal head.
++ * @c: UBIFS file-system description object
++ * @jhead: journal head
++ *
++ * This function releases journal head @jhead which was locked by
++ * the 'make_reservation()' function. It has to be called after each successful
++ * 'make_reservation()' invocation.
++ */
++static inline void release_head(struct ubifs_info *c, int jhead)
++{
++ mutex_unlock(&c->jheads[jhead].wbuf.io_mutex);
++}
++
++/**
++ * finish_reservation - finish a reservation.
++ * @c: UBIFS file-system description object
++ *
++ * This function finishes journal space reservation. It must be called after
++ * 'make_reservation()'.
++ */
++static void finish_reservation(struct ubifs_info *c)
++{
++ up_read(&c->commit_sem);
++}
++
++/**
++ * get_dent_type - translate VFS inode mode to UBIFS directory entry type.
++ * @mode: inode mode
++ */
++static int get_dent_type(int mode)
++{
++ switch (mode & S_IFMT) {
++ case S_IFREG:
++ return UBIFS_ITYPE_REG;
++ case S_IFDIR:
++ return UBIFS_ITYPE_DIR;
++ case S_IFLNK:
++ return UBIFS_ITYPE_LNK;
++ case S_IFBLK:
++ return UBIFS_ITYPE_BLK;
++ case S_IFCHR:
++ return UBIFS_ITYPE_CHR;
++ case S_IFIFO:
++ return UBIFS_ITYPE_FIFO;
++ case S_IFSOCK:
++ return UBIFS_ITYPE_SOCK;
++ default:
++ BUG();
++ }
++ return 0;
++}
++
++/**
++ * pack_inode - pack an inode node.
++ * @c: UBIFS file-system description object
++ * @ino: buffer in which to pack inode node
++ * @inode: inode to pack
++ * @last: indicates the last node of the group
++ */
++static void pack_inode(struct ubifs_info *c, struct ubifs_ino_node *ino,
++ const struct inode *inode, int last)
++{
++ int data_len = 0, last_reference = !inode->i_nlink;
++ struct ubifs_inode *ui = ubifs_inode(inode);
++
++ ino->ch.node_type = UBIFS_INO_NODE;
++ ino_key_init_flash(c, &ino->key, inode->i_ino);
++ ino->creat_sqnum = cpu_to_le64(ui->creat_sqnum);
++ ino->atime_sec = cpu_to_le64(inode->i_atime.tv_sec);
++ ino->atime_nsec = cpu_to_le32(inode->i_atime.tv_nsec);
++ ino->ctime_sec = cpu_to_le64(inode->i_ctime.tv_sec);
++ ino->ctime_nsec = cpu_to_le32(inode->i_ctime.tv_nsec);
++ ino->mtime_sec = cpu_to_le64(inode->i_mtime.tv_sec);
++ ino->mtime_nsec = cpu_to_le32(inode->i_mtime.tv_nsec);
++ ino->uid = cpu_to_le32(inode->i_uid);
++ ino->gid = cpu_to_le32(inode->i_gid);
++ ino->mode = cpu_to_le32(inode->i_mode);
++ ino->flags = cpu_to_le32(ui->flags);
++ ino->size = cpu_to_le64(ui->ui_size);
++ ino->nlink = cpu_to_le32(inode->i_nlink);
++ ino->compr_type = cpu_to_le16(ui->compr_type);
++ ino->data_len = cpu_to_le32(ui->data_len);
++ ino->xattr_cnt = cpu_to_le32(ui->xattr_cnt);
++ ino->xattr_size = cpu_to_le32(ui->xattr_size);
++ ino->xattr_names = cpu_to_le32(ui->xattr_names);
++ zero_ino_node_unused(ino);
++
++ /*
++ * Drop the attached data if this is a deletion inode, the data is not
++ * needed anymore.
++ */
++ if (!last_reference) {
++ memcpy(ino->data, ui->data, ui->data_len);
++ data_len = ui->data_len;
++ }
++
++ ubifs_prep_grp_node(c, ino, UBIFS_INO_NODE_SZ + data_len, last);
++}
++
++/**
++ * mark_inode_clean - mark UBIFS inode as clean.
++ * @c: UBIFS file-system description object
++ * @ui: UBIFS inode to mark as clean
++ *
++ * This helper function marks UBIFS inode @ui as clean by cleaning the
++ * @ui->dirty flag and releasing its budget. Note, VFS may still treat the
++ * inode as dirty and try to write it back, but 'ubifs_write_inode()' would
++ * just do nothing.
++ */
++static void mark_inode_clean(struct ubifs_info *c, struct ubifs_inode *ui)
++{
++ if (ui->dirty)
++ ubifs_release_dirty_inode_budget(c, ui);
++ ui->dirty = 0;
++}
++
++/**
++ * ubifs_jnl_update - update inode.
++ * @c: UBIFS file-system description object
++ * @dir: parent inode or host inode in case of extended attributes
++ * @nm: directory entry name
++ * @inode: inode to update
++ * @deletion: indicates a directory entry deletion i.e unlink or rmdir
++ * @xent: non-zero if the directory entry is an extended attribute entry
++ *
++ * This function updates an inode by writing a directory entry (or extended
++ * attribute entry), the inode itself, and the parent directory inode (or the
++ * host inode) to the journal.
++ *
++ * The function writes the host inode @dir last, which is important in case of
++ * extended attributes. Indeed, then we guarantee that if the host inode gets
++ * synchronized (with 'fsync()'), and the write-buffer it sits in gets flushed,
++ * the extended attribute inode gets flushed too. And this is exactly what the
++ * user expects - synchronizing the host inode synchronizes its extended
++ * attributes. Similarly, this guarantees that if @dir is synchronized, its
++ * directory entry corresponding to @nm gets synchronized too.
++ *
++ * If the inode (@inode) or the parent directory (@dir) are synchronous, this
++ * function synchronizes the write-buffer.
++ *
++ * This function marks the @dir and @inode inodes as clean and returns zero on
++ * success. In case of failure, a negative error code is returned.
++ */
++int ubifs_jnl_update(struct ubifs_info *c, const struct inode *dir,
++ const struct qstr *nm, const struct inode *inode,
++ int deletion, int xent)
++{
++ int err, dlen, ilen, len, lnum, ino_offs, dent_offs;
++ int aligned_dlen, aligned_ilen, sync = IS_DIRSYNC(dir);
++ int last_reference = !!(deletion && inode->i_nlink == 0);
++ struct ubifs_inode *ui = ubifs_inode(inode);
++ struct ubifs_inode *dir_ui = ubifs_inode(dir);
++ struct ubifs_dent_node *dent;
++ struct ubifs_ino_node *ino;
++ union ubifs_key dent_key, ino_key;
++
++ dbg_jnl("ino %lu, dent '%.*s', data len %d in dir ino %lu",
++ inode->i_ino, nm->len, nm->name, ui->data_len, dir->i_ino);
++ ubifs_assert(dir_ui->data_len == 0);
++ ubifs_assert(mutex_is_locked(&dir_ui->ui_mutex));
++
++ dlen = UBIFS_DENT_NODE_SZ + nm->len + 1;
++ ilen = UBIFS_INO_NODE_SZ;
++
++ /*
++ * If the last reference to the inode is being deleted, then there is
++ * no need to attach and write inode data, it is being deleted anyway.
++ * And if the inode is being deleted, no need to synchronize
++ * write-buffer even if the inode is synchronous.
++ */
++ if (!last_reference) {
++ ilen += ui->data_len;
++ sync |= IS_SYNC(inode);
++ }
++
++ aligned_dlen = ALIGN(dlen, 8);
++ aligned_ilen = ALIGN(ilen, 8);
++ len = aligned_dlen + aligned_ilen + UBIFS_INO_NODE_SZ;
++ dent = kmalloc(len, GFP_NOFS);
++ if (!dent)
++ return -ENOMEM;
++
++ /* Make reservation before allocating sequence numbers */
++ err = make_reservation(c, BASEHD, len);
++ if (err)
++ goto out_free;
++
++ if (!xent) {
++ dent->ch.node_type = UBIFS_DENT_NODE;
++ dent_key_init(c, &dent_key, dir->i_ino, nm);
++ } else {
++ dent->ch.node_type = UBIFS_XENT_NODE;
++ xent_key_init(c, &dent_key, dir->i_ino, nm);
++ }
++
++ key_write(c, &dent_key, dent->key);
++ dent->inum = deletion ? 0 : cpu_to_le64(inode->i_ino);
++ dent->type = get_dent_type(inode->i_mode);
++ dent->nlen = cpu_to_le16(nm->len);
++ memcpy(dent->name, nm->name, nm->len);
++ dent->name[nm->len] = '\0';
++ zero_dent_node_unused(dent);
++ ubifs_prep_grp_node(c, dent, dlen, 0);
++
++ ino = (void *)dent + aligned_dlen;
++ pack_inode(c, ino, inode, 0);
++ ino = (void *)ino + aligned_ilen;
++ pack_inode(c, ino, dir, 1);
++
++ if (last_reference) {
++ err = ubifs_add_orphan(c, inode->i_ino);
++ if (err) {
++ release_head(c, BASEHD);
++ goto out_finish;
++ }
++ ui->del_cmtno = c->cmt_no;
++ }
++
++ err = write_head(c, BASEHD, dent, len, &lnum, &dent_offs, sync);
++ if (err)
++ goto out_release;
++ if (!sync) {
++ struct ubifs_wbuf *wbuf = &c->jheads[BASEHD].wbuf;
++
++ ubifs_wbuf_add_ino_nolock(wbuf, inode->i_ino);
++ ubifs_wbuf_add_ino_nolock(wbuf, dir->i_ino);
++ }
++ release_head(c, BASEHD);
++ kfree(dent);
++
++ if (deletion) {
++ err = ubifs_tnc_remove_nm(c, &dent_key, nm);
++ if (err)
++ goto out_ro;
++ err = ubifs_add_dirt(c, lnum, dlen);
++ } else
++ err = ubifs_tnc_add_nm(c, &dent_key, lnum, dent_offs, dlen, nm);
++ if (err)
++ goto out_ro;
++
++ /*
++ * Note, we do not remove the inode from TNC even if the last reference
++ * to it has just been deleted, because the inode may still be opened.
++ * Instead, the inode has been added to orphan lists and the orphan
++ * subsystem will take further care about it.
++ */
++ ino_key_init(c, &ino_key, inode->i_ino);
++ ino_offs = dent_offs + aligned_dlen;
++ err = ubifs_tnc_add(c, &ino_key, lnum, ino_offs, ilen);
++ if (err)
++ goto out_ro;
++
++ ino_key_init(c, &ino_key, dir->i_ino);
++ ino_offs += aligned_ilen;
++ err = ubifs_tnc_add(c, &ino_key, lnum, ino_offs, UBIFS_INO_NODE_SZ);
++ if (err)
++ goto out_ro;
++
++ finish_reservation(c);
++ spin_lock(&ui->ui_lock);
++ ui->synced_i_size = ui->ui_size;
++ spin_unlock(&ui->ui_lock);
++ mark_inode_clean(c, ui);
++ mark_inode_clean(c, dir_ui);
++ return 0;
++
++out_finish:
++ finish_reservation(c);
++out_free:
++ kfree(dent);
++ return err;
++
++out_release:
++ release_head(c, BASEHD);
++out_ro:
++ ubifs_ro_mode(c, err);
++ if (last_reference)
++ ubifs_delete_orphan(c, inode->i_ino);
++ finish_reservation(c);
++ return err;
++}
++
++/**
++ * ubifs_jnl_write_data - write a data node to the journal.
++ * @c: UBIFS file-system description object
++ * @inode: inode the data node belongs to
++ * @key: node key
++ * @buf: buffer to write
++ * @len: data length (must not exceed %UBIFS_BLOCK_SIZE)
++ *
++ * This function writes a data node to the journal. Returns %0 if the data node
++ * was successfully written, and a negative error code in case of failure.
++ */
++int ubifs_jnl_write_data(struct ubifs_info *c, const struct inode *inode,
++ const union ubifs_key *key, const void *buf, int len)
++{
++ struct ubifs_data_node *data;
++ int err, lnum, offs, compr_type, out_len;
++ int dlen = UBIFS_DATA_NODE_SZ + UBIFS_BLOCK_SIZE * WORST_COMPR_FACTOR;
++ struct ubifs_inode *ui = ubifs_inode(inode);
++
++ dbg_jnl("ino %lu, blk %u, len %d, key %s",
++ (unsigned long)key_inum(c, key), key_block(c, key), len,
++ DBGKEY(key));
++ ubifs_assert(len <= UBIFS_BLOCK_SIZE);
++
++ data = kmalloc(dlen, GFP_NOFS);
++ if (!data)
++ return -ENOMEM;
++
++ data->ch.node_type = UBIFS_DATA_NODE;
++ key_write(c, key, &data->key);
++ data->size = cpu_to_le32(len);
++ zero_data_node_unused(data);
++
++ if (!(ui->flags & UBIFS_COMPR_FL))
++ /* Compression is disabled for this inode */
++ compr_type = UBIFS_COMPR_NONE;
++ else
++ compr_type = ui->compr_type;
++
++ out_len = dlen - UBIFS_DATA_NODE_SZ;
++ ubifs_compress(buf, len, &data->data, &out_len, &compr_type);
++ ubifs_assert(out_len <= UBIFS_BLOCK_SIZE);
++
++ dlen = UBIFS_DATA_NODE_SZ + out_len;
++ data->compr_type = cpu_to_le16(compr_type);
++
++ /* Make reservation before allocating sequence numbers */
++ err = make_reservation(c, DATAHD, dlen);
++ if (err)
++ goto out_free;
++
++ err = write_node(c, DATAHD, data, dlen, &lnum, &offs);
++ if (err)
++ goto out_release;
++ ubifs_wbuf_add_ino_nolock(&c->jheads[DATAHD].wbuf, key_inum(c, key));
++ release_head(c, DATAHD);
++
++ err = ubifs_tnc_add(c, key, lnum, offs, dlen);
++ if (err)
++ goto out_ro;
++
++ finish_reservation(c);
++ kfree(data);
++ return 0;
++
++out_release:
++ release_head(c, DATAHD);
++out_ro:
++ ubifs_ro_mode(c, err);
++ finish_reservation(c);
++out_free:
++ kfree(data);
++ return err;
++}
++
++/**
++ * ubifs_jnl_write_inode - flush inode to the journal.
++ * @c: UBIFS file-system description object
++ * @inode: inode to flush
++ *
++ * This function writes inode @inode to the journal. If the inode is
++ * synchronous, it also synchronizes the write-buffer. Returns zero in case of
++ * success and a negative error code in case of failure.
++ */
++int ubifs_jnl_write_inode(struct ubifs_info *c, const struct inode *inode)
++{
++ int err, lnum, offs;
++ struct ubifs_ino_node *ino;
++ struct ubifs_inode *ui = ubifs_inode(inode);
++ int sync = 0, len = UBIFS_INO_NODE_SZ, last_reference = !inode->i_nlink;
++
++ dbg_jnl("ino %lu, nlink %u", inode->i_ino, inode->i_nlink);
++
++ /*
++ * If the inode is being deleted, do not write the attached data. No
++ * need to synchronize the write-buffer either.
++ */
++ if (!last_reference) {
++ len += ui->data_len;
++ sync = IS_SYNC(inode);
++ }
++ ino = kmalloc(len, GFP_NOFS);
++ if (!ino)
++ return -ENOMEM;
++
++ /* Make reservation before allocating sequence numbers */
++ err = make_reservation(c, BASEHD, len);
++ if (err)
++ goto out_free;
++
++ pack_inode(c, ino, inode, 1);
++ err = write_head(c, BASEHD, ino, len, &lnum, &offs, sync);
++ if (err)
++ goto out_release;
++ if (!sync)
++ ubifs_wbuf_add_ino_nolock(&c->jheads[BASEHD].wbuf,
++ inode->i_ino);
++ release_head(c, BASEHD);
++
++ if (last_reference) {
++ err = ubifs_tnc_remove_ino(c, inode->i_ino);
++ if (err)
++ goto out_ro;
++ ubifs_delete_orphan(c, inode->i_ino);
++ err = ubifs_add_dirt(c, lnum, len);
++ } else {
++ union ubifs_key key;
++
++ ino_key_init(c, &key, inode->i_ino);
++ err = ubifs_tnc_add(c, &key, lnum, offs, len);
++ }
++ if (err)
++ goto out_ro;
++
++ finish_reservation(c);
++ spin_lock(&ui->ui_lock);
++ ui->synced_i_size = ui->ui_size;
++ spin_unlock(&ui->ui_lock);
++ kfree(ino);
++ return 0;
++
++out_release:
++ release_head(c, BASEHD);
++out_ro:
++ ubifs_ro_mode(c, err);
++ finish_reservation(c);
++out_free:
++ kfree(ino);
++ return err;
++}
++
++/**
++ * ubifs_jnl_delete_inode - delete an inode.
++ * @c: UBIFS file-system description object
++ * @inode: inode to delete
++ *
++ * This function deletes inode @inode which includes removing it from orphans,
++ * deleting it from TNC and, in some cases, writing a deletion inode to the
++ * journal.
++ *
++ * When regular file inodes are unlinked or a directory inode is removed, the
++ * 'ubifs_jnl_update()' function writes a corresponding deletion inode and
++ * direntry to the media, and adds the inode to orphans. After this, when the
++ * last reference to this inode has been dropped, this function is called. In
++ * general, it has to write one more deletion inode to the media, because if
++ * a commit happened between 'ubifs_jnl_update()' and
++ * 'ubifs_jnl_delete_inode()', the deletion inode is not in the journal
++ * anymore, and in fact it might not be on the flash anymore, because it might
++ * have been garbage-collected already. And for optimization reasons UBIFS does
++ * not read the orphan area if it has been unmounted cleanly, so it would have
++ * no indication in the journal that there is a deleted inode which has to be
++ * removed from TNC.
++ *
++ * However, if there was no commit between 'ubifs_jnl_update()' and
++ * 'ubifs_jnl_delete_inode()', then there is no need to write the deletion
++ * inode to the media for the second time. And this is quite a typical case.
++ *
++ * This function returns zero in case of success and a negative error code in
++ * case of failure.
++ */
++int ubifs_jnl_delete_inode(struct ubifs_info *c, const struct inode *inode)
++{
++ int err;
++ struct ubifs_inode *ui = ubifs_inode(inode);
++
++ ubifs_assert(inode->i_nlink == 0);
++
++ if (ui->del_cmtno != c->cmt_no)
++ /* A commit happened for sure */
++ return ubifs_jnl_write_inode(c, inode);
++
++ down_read(&c->commit_sem);
++ /*
++ * Check commit number again, because the first test has been done
++ * without @c->commit_sem, so a commit might have happened.
++ */
++ if (ui->del_cmtno != c->cmt_no) {
++ up_read(&c->commit_sem);
++ return ubifs_jnl_write_inode(c, inode);
++ }
++
++ err = ubifs_tnc_remove_ino(c, inode->i_ino);
++ if (err)
++ ubifs_ro_mode(c, err);
++ else
++ ubifs_delete_orphan(c, inode->i_ino);
++ up_read(&c->commit_sem);
++ return err;
++}
++
++/**
++ * ubifs_jnl_rename - rename a directory entry.
++ * @c: UBIFS file-system description object
++ * @old_dir: parent inode of directory entry to rename
++ * @old_dentry: directory entry to rename
++ * @new_dir: parent inode of directory entry to rename
++ * @new_dentry: new directory entry (or directory entry to replace)
++ * @sync: non-zero if the write-buffer has to be synchronized
++ *
++ * This function implements the re-name operation which may involve writing up
++ * to 3 inodes and 2 directory entries. It marks the written inodes as clean
++ * and returns zero on success. In case of failure, a negative error code is
++ * returned.
++ */
++int ubifs_jnl_rename(struct ubifs_info *c, const struct inode *old_dir,
++ const struct dentry *old_dentry,
++ const struct inode *new_dir,
++ const struct dentry *new_dentry, int sync)
++{
++ void *p;
++ union ubifs_key key;
++ struct ubifs_dent_node *dent, *dent2;
++ int err, dlen1, dlen2, ilen, lnum, offs, len;
++ const struct inode *old_inode = old_dentry->d_inode;
++ const struct inode *new_inode = new_dentry->d_inode;
++ int aligned_dlen1, aligned_dlen2, plen = UBIFS_INO_NODE_SZ;
++ int last_reference = !!(new_inode && new_inode->i_nlink == 0);
++ int move = (old_dir != new_dir);
++ struct ubifs_inode *uninitialized_var(new_ui);
++
++ dbg_jnl("dent '%.*s' in dir ino %lu to dent '%.*s' in dir ino %lu",
++ old_dentry->d_name.len, old_dentry->d_name.name,
++ old_dir->i_ino, new_dentry->d_name.len,
++ new_dentry->d_name.name, new_dir->i_ino);
++ ubifs_assert(ubifs_inode(old_dir)->data_len == 0);
++ ubifs_assert(ubifs_inode(new_dir)->data_len == 0);
++ ubifs_assert(mutex_is_locked(&ubifs_inode(old_dir)->ui_mutex));
++ ubifs_assert(mutex_is_locked(&ubifs_inode(new_dir)->ui_mutex));
++
++ dlen1 = UBIFS_DENT_NODE_SZ + new_dentry->d_name.len + 1;
++ dlen2 = UBIFS_DENT_NODE_SZ + old_dentry->d_name.len + 1;
++ if (new_inode) {
++ new_ui = ubifs_inode(new_inode);
++ ubifs_assert(mutex_is_locked(&new_ui->ui_mutex));
++ ilen = UBIFS_INO_NODE_SZ;
++ if (!last_reference)
++ ilen += new_ui->data_len;
++ } else
++ ilen = 0;
++
++ aligned_dlen1 = ALIGN(dlen1, 8);
++ aligned_dlen2 = ALIGN(dlen2, 8);
++ len = aligned_dlen1 + aligned_dlen2 + ALIGN(ilen, 8) + ALIGN(plen, 8);
++ if (old_dir != new_dir)
++ len += plen;
++ dent = kmalloc(len, GFP_NOFS);
++ if (!dent)
++ return -ENOMEM;
++
++ /* Make reservation before allocating sequence numbers */
++ err = make_reservation(c, BASEHD, len);
++ if (err)
++ goto out_free;
++
++ /* Make new dent */
++ dent->ch.node_type = UBIFS_DENT_NODE;
++ dent_key_init_flash(c, &dent->key, new_dir->i_ino, &new_dentry->d_name);
++ dent->inum = cpu_to_le64(old_inode->i_ino);
++ dent->type = get_dent_type(old_inode->i_mode);
++ dent->nlen = cpu_to_le16(new_dentry->d_name.len);
++ memcpy(dent->name, new_dentry->d_name.name, new_dentry->d_name.len);
++ dent->name[new_dentry->d_name.len] = '\0';
++ zero_dent_node_unused(dent);
++ ubifs_prep_grp_node(c, dent, dlen1, 0);
++
++ /* Make deletion dent */
++ dent2 = (void *)dent + aligned_dlen1;
++ dent2->ch.node_type = UBIFS_DENT_NODE;
++ dent_key_init_flash(c, &dent2->key, old_dir->i_ino,
++ &old_dentry->d_name);
++ dent2->inum = 0;
++ dent2->type = DT_UNKNOWN;
++ dent2->nlen = cpu_to_le16(old_dentry->d_name.len);
++ memcpy(dent2->name, old_dentry->d_name.name, old_dentry->d_name.len);
++ dent2->name[old_dentry->d_name.len] = '\0';
++ zero_dent_node_unused(dent2);
++ ubifs_prep_grp_node(c, dent2, dlen2, 0);
++
++ p = (void *)dent2 + aligned_dlen2;
++ if (new_inode) {
++ pack_inode(c, p, new_inode, 0);
++ p += ALIGN(ilen, 8);
++ }
++
++ if (!move)
++ pack_inode(c, p, old_dir, 1);
++ else {
++ pack_inode(c, p, old_dir, 0);
++ p += ALIGN(plen, 8);
++ pack_inode(c, p, new_dir, 1);
++ }
++
++ if (last_reference) {
++ err = ubifs_add_orphan(c, new_inode->i_ino);
++ if (err) {
++ release_head(c, BASEHD);
++ goto out_finish;
++ }
++ new_ui->del_cmtno = c->cmt_no;
++ }
++
++ err = write_head(c, BASEHD, dent, len, &lnum, &offs, sync);
++ if (err)
++ goto out_release;
++ if (!sync) {
++ struct ubifs_wbuf *wbuf = &c->jheads[BASEHD].wbuf;
++
++ ubifs_wbuf_add_ino_nolock(wbuf, new_dir->i_ino);
++ ubifs_wbuf_add_ino_nolock(wbuf, old_dir->i_ino);
++ if (new_inode)
++ ubifs_wbuf_add_ino_nolock(&c->jheads[BASEHD].wbuf,
++ new_inode->i_ino);
++ }
++ release_head(c, BASEHD);
++
++ dent_key_init(c, &key, new_dir->i_ino, &new_dentry->d_name);
++ err = ubifs_tnc_add_nm(c, &key, lnum, offs, dlen1, &new_dentry->d_name);
++ if (err)
++ goto out_ro;
++
++ err = ubifs_add_dirt(c, lnum, dlen2);
++ if (err)
++ goto out_ro;
++
++ dent_key_init(c, &key, old_dir->i_ino, &old_dentry->d_name);
++ err = ubifs_tnc_remove_nm(c, &key, &old_dentry->d_name);
++ if (err)
++ goto out_ro;
++
++ offs += aligned_dlen1 + aligned_dlen2;
++ if (new_inode) {
++ ino_key_init(c, &key, new_inode->i_ino);
++ err = ubifs_tnc_add(c, &key, lnum, offs, ilen);
++ if (err)
++ goto out_ro;
++ offs += ALIGN(ilen, 8);
++ }
++
++ ino_key_init(c, &key, old_dir->i_ino);
++ err = ubifs_tnc_add(c, &key, lnum, offs, plen);
++ if (err)
++ goto out_ro;
++
++ if (old_dir != new_dir) {
++ offs += ALIGN(plen, 8);
++ ino_key_init(c, &key, new_dir->i_ino);
++ err = ubifs_tnc_add(c, &key, lnum, offs, plen);
++ if (err)
++ goto out_ro;
++ }
++
++ finish_reservation(c);
++ if (new_inode) {
++ mark_inode_clean(c, new_ui);
++ spin_lock(&new_ui->ui_lock);
++ new_ui->synced_i_size = new_ui->ui_size;
++ spin_unlock(&new_ui->ui_lock);
++ }
++ mark_inode_clean(c, ubifs_inode(old_dir));
++ if (move)
++ mark_inode_clean(c, ubifs_inode(new_dir));
++ kfree(dent);
++ return 0;
++
++out_release:
++ release_head(c, BASEHD);
++out_ro:
++ ubifs_ro_mode(c, err);
++ if (last_reference)
++ ubifs_delete_orphan(c, new_inode->i_ino);
++out_finish:
++ finish_reservation(c);
++out_free:
++ kfree(dent);
++ return err;
++}
++
++/**
++ * recomp_data_node - re-compress a truncated data node.
++ * @dn: data node to re-compress
++ * @new_len: new length
++ *
++ * This function is used when an inode is truncated and the last data node of
++ * the inode has to be re-compressed and re-written.
++ */
++static int recomp_data_node(struct ubifs_data_node *dn, int *new_len)
++{
++ void *buf;
++ int err, len, compr_type, out_len;
++
++ out_len = le32_to_cpu(dn->size);
++ buf = kmalloc(out_len * WORST_COMPR_FACTOR, GFP_NOFS);
++ if (!buf)
++ return -ENOMEM;
++
++ len = le32_to_cpu(dn->ch.len) - UBIFS_DATA_NODE_SZ;
++ compr_type = le16_to_cpu(dn->compr_type);
++ err = ubifs_decompress(&dn->data, len, buf, &out_len, compr_type);
++ if (err)
++ goto out;
++
++ ubifs_compress(buf, *new_len, &dn->data, &out_len, &compr_type);
++ ubifs_assert(out_len <= UBIFS_BLOCK_SIZE);
++ dn->compr_type = cpu_to_le16(compr_type);
++ dn->size = cpu_to_le32(*new_len);
++ *new_len = UBIFS_DATA_NODE_SZ + out_len;
++out:
++ kfree(buf);
++ return err;
++}
++
++/**
++ * ubifs_jnl_truncate - update the journal for a truncation.
++ * @c: UBIFS file-system description object
++ * @inode: inode to truncate
++ * @old_size: old size
++ * @new_size: new size
++ *
++ * When the size of a file decreases due to truncation, a truncation node is
++ * written, the journal tree is updated, and the last data block is re-written
++ * if it has been affected. The inode is also updated in order to synchronize
++ * the new inode size.
++ *
++ * This function marks the inode as clean and returns zero on success. In case
++ * of failure, a negative error code is returned.
++ */
++int ubifs_jnl_truncate(struct ubifs_info *c, const struct inode *inode,
++ loff_t old_size, loff_t new_size)
++{
++ union ubifs_key key, to_key;
++ struct ubifs_ino_node *ino;
++ struct ubifs_trun_node *trun;
++ struct ubifs_data_node *uninitialized_var(dn);
++ int err, dlen, len, lnum, offs, bit, sz, sync = IS_SYNC(inode);
++ struct ubifs_inode *ui = ubifs_inode(inode);
++ ino_t inum = inode->i_ino;
++ unsigned int blk;
++
++ dbg_jnl("ino %lu, size %lld -> %lld",
++ (unsigned long)inum, old_size, new_size);
++ ubifs_assert(!ui->data_len);
++ ubifs_assert(S_ISREG(inode->i_mode));
++ ubifs_assert(mutex_is_locked(&ui->ui_mutex));
++
++ sz = UBIFS_TRUN_NODE_SZ + UBIFS_INO_NODE_SZ +
++ UBIFS_MAX_DATA_NODE_SZ * WORST_COMPR_FACTOR;
++ ino = kmalloc(sz, GFP_NOFS);
++ if (!ino)
++ return -ENOMEM;
++
++ trun = (void *)ino + UBIFS_INO_NODE_SZ;
++ trun->ch.node_type = UBIFS_TRUN_NODE;
++ trun->inum = cpu_to_le32(inum);
++ trun->old_size = cpu_to_le64(old_size);
++ trun->new_size = cpu_to_le64(new_size);
++ zero_trun_node_unused(trun);
++
++ dlen = new_size & (UBIFS_BLOCK_SIZE - 1);
++ if (dlen) {
++ /* Get last data block so it can be truncated */
++ dn = (void *)trun + UBIFS_TRUN_NODE_SZ;
++ blk = new_size >> UBIFS_BLOCK_SHIFT;
++ data_key_init(c, &key, inum, blk);
++ dbg_jnl("last block key %s", DBGKEY(&key));
++ err = ubifs_tnc_lookup(c, &key, dn);
++ if (err == -ENOENT)
++ dlen = 0; /* Not found (so it is a hole) */
++ else if (err)
++ goto out_free;
++ else {
++ if (le32_to_cpu(dn->size) <= dlen)
++ dlen = 0; /* Nothing to do */
++ else {
++ int compr_type = le16_to_cpu(dn->compr_type);
++
++ if (compr_type != UBIFS_COMPR_NONE) {
++ err = recomp_data_node(dn, &dlen);
++ if (err)
++ goto out_free;
++ } else {
++ dn->size = cpu_to_le32(dlen);
++ dlen += UBIFS_DATA_NODE_SZ;
++ }
++ zero_data_node_unused(dn);
++ }
++ }
++ }
++
++ /* Must make reservation before allocating sequence numbers */
++ len = UBIFS_TRUN_NODE_SZ + UBIFS_INO_NODE_SZ;
++ if (dlen)
++ len += dlen;
++ err = make_reservation(c, BASEHD, len);
++ if (err)
++ goto out_free;
++
++ pack_inode(c, ino, inode, 0);
++ ubifs_prep_grp_node(c, trun, UBIFS_TRUN_NODE_SZ, dlen ? 0 : 1);
++ if (dlen)
++ ubifs_prep_grp_node(c, dn, dlen, 1);
++
++ err = write_head(c, BASEHD, ino, len, &lnum, &offs, sync);
++ if (err)
++ goto out_release;
++ if (!sync)
++ ubifs_wbuf_add_ino_nolock(&c->jheads[BASEHD].wbuf, inum);
++ release_head(c, BASEHD);
++
++ if (dlen) {
++ sz = offs + UBIFS_INO_NODE_SZ + UBIFS_TRUN_NODE_SZ;
++ err = ubifs_tnc_add(c, &key, lnum, sz, dlen);
++ if (err)
++ goto out_ro;
++ }
++
++ ino_key_init(c, &key, inum);
++ err = ubifs_tnc_add(c, &key, lnum, offs, UBIFS_INO_NODE_SZ);
++ if (err)
++ goto out_ro;
++
++ err = ubifs_add_dirt(c, lnum, UBIFS_TRUN_NODE_SZ);
++ if (err)
++ goto out_ro;
++
++ bit = new_size & (UBIFS_BLOCK_SIZE - 1);
++ blk = (new_size >> UBIFS_BLOCK_SHIFT) + (bit ? 1 : 0);
++ data_key_init(c, &key, inum, blk);
++
++ bit = old_size & (UBIFS_BLOCK_SIZE - 1);
++ blk = (old_size >> UBIFS_BLOCK_SHIFT) - (bit ? 0 : 1);
++ data_key_init(c, &to_key, inum, blk);
++
++ err = ubifs_tnc_remove_range(c, &key, &to_key);
++ if (err)
++ goto out_ro;
++
++ finish_reservation(c);
++ spin_lock(&ui->ui_lock);
++ ui->synced_i_size = ui->ui_size;
++ spin_unlock(&ui->ui_lock);
++ mark_inode_clean(c, ui);
++ kfree(ino);
++ return 0;
++
++out_release:
++ release_head(c, BASEHD);
++out_ro:
++ ubifs_ro_mode(c, err);
++ finish_reservation(c);
++out_free:
++ kfree(ino);
++ return err;
++}
++
++#ifdef CONFIG_UBIFS_FS_XATTR
++
++/**
++ * ubifs_jnl_delete_xattr - delete an extended attribute.
++ * @c: UBIFS file-system description object
++ * @host: host inode
++ * @inode: extended attribute inode
++ * @nm: extended attribute entry name
++ *
++ * This function delete an extended attribute which is very similar to
++ * un-linking regular files - it writes a deletion xentry, a deletion inode and
++ * updates the target inode. Returns zero in case of success and a negative
++ * error code in case of failure.
++ */
++int ubifs_jnl_delete_xattr(struct ubifs_info *c, const struct inode *host,
++ const struct inode *inode, const struct qstr *nm)
++{
++ int err, xlen, hlen, len, lnum, xent_offs, aligned_xlen;
++ struct ubifs_dent_node *xent;
++ struct ubifs_ino_node *ino;
++ union ubifs_key xent_key, key1, key2;
++ int sync = IS_DIRSYNC(host);
++ struct ubifs_inode *host_ui = ubifs_inode(host);
++
++ dbg_jnl("host %lu, xattr ino %lu, name '%s', data len %d",
++ host->i_ino, inode->i_ino, nm->name,
++ ubifs_inode(inode)->data_len);
++ ubifs_assert(inode->i_nlink == 0);
++ ubifs_assert(mutex_is_locked(&host_ui->ui_mutex));
++
++ /*
++ * Since we are deleting the inode, we do not bother to attach any data
++ * to it and assume its length is %UBIFS_INO_NODE_SZ.
++ */
++ xlen = UBIFS_DENT_NODE_SZ + nm->len + 1;
++ aligned_xlen = ALIGN(xlen, 8);
++ hlen = host_ui->data_len + UBIFS_INO_NODE_SZ;
++ len = aligned_xlen + UBIFS_INO_NODE_SZ + ALIGN(hlen, 8);
++
++ xent = kmalloc(len, GFP_NOFS);
++ if (!xent)
++ return -ENOMEM;
++
++ /* Make reservation before allocating sequence numbers */
++ err = make_reservation(c, BASEHD, len);
++ if (err) {
++ kfree(xent);
++ return err;
++ }
++
++ xent->ch.node_type = UBIFS_XENT_NODE;
++ xent_key_init(c, &xent_key, host->i_ino, nm);
++ key_write(c, &xent_key, xent->key);
++ xent->inum = 0;
++ xent->type = get_dent_type(inode->i_mode);
++ xent->nlen = cpu_to_le16(nm->len);
++ memcpy(xent->name, nm->name, nm->len);
++ xent->name[nm->len] = '\0';
++ zero_dent_node_unused(xent);
++ ubifs_prep_grp_node(c, xent, xlen, 0);
++
++ ino = (void *)xent + aligned_xlen;
++ pack_inode(c, ino, inode, 0);
++ ino = (void *)ino + UBIFS_INO_NODE_SZ;
++ pack_inode(c, ino, host, 1);
++
++ err = write_head(c, BASEHD, xent, len, &lnum, &xent_offs, sync);
++ if (!sync && !err)
++ ubifs_wbuf_add_ino_nolock(&c->jheads[BASEHD].wbuf, host->i_ino);
++ release_head(c, BASEHD);
++ kfree(xent);
++ if (err)
++ goto out_ro;
++
++ /* Remove the extended attribute entry from TNC */
++ err = ubifs_tnc_remove_nm(c, &xent_key, nm);
++ if (err)
++ goto out_ro;
++ err = ubifs_add_dirt(c, lnum, xlen);
++ if (err)
++ goto out_ro;
++
++ /*
++ * Remove all nodes belonging to the extended attribute inode from TNC.
++ * Well, there actually must be only one node - the inode itself.
++ */
++ lowest_ino_key(c, &key1, inode->i_ino);
++ highest_ino_key(c, &key2, inode->i_ino);
++ err = ubifs_tnc_remove_range(c, &key1, &key2);
++ if (err)
++ goto out_ro;
++ err = ubifs_add_dirt(c, lnum, UBIFS_INO_NODE_SZ);
++ if (err)
++ goto out_ro;
++
++ /* And update TNC with the new host inode position */
++ ino_key_init(c, &key1, host->i_ino);
++ err = ubifs_tnc_add(c, &key1, lnum, xent_offs + len - hlen, hlen);
++ if (err)
++ goto out_ro;
++
++ finish_reservation(c);
++ spin_lock(&host_ui->ui_lock);
++ host_ui->synced_i_size = host_ui->ui_size;
++ spin_unlock(&host_ui->ui_lock);
++ mark_inode_clean(c, host_ui);
++ return 0;
++
++out_ro:
++ ubifs_ro_mode(c, err);
++ finish_reservation(c);
++ return err;
++}
++
++/**
++ * ubifs_jnl_change_xattr - change an extended attribute.
++ * @c: UBIFS file-system description object
++ * @inode: extended attribute inode
++ * @host: host inode
++ *
++ * This function writes the updated version of an extended attribute inode and
++ * the host inode to the journal (to the base head). The host inode is written
++ * after the extended attribute inode in order to guarantee that the extended
++ * attribute will be flushed when the inode is synchronized by 'fsync()' and
++ * consequently, the write-buffer is synchronized. This function returns zero
++ * in case of success and a negative error code in case of failure.
++ */
++int ubifs_jnl_change_xattr(struct ubifs_info *c, const struct inode *inode,
++ const struct inode *host)
++{
++ int err, len1, len2, aligned_len, aligned_len1, lnum, offs;
++ struct ubifs_inode *host_ui = ubifs_inode(host);
++ struct ubifs_ino_node *ino;
++ union ubifs_key key;
++ int sync = IS_DIRSYNC(host);
++
++ dbg_jnl("ino %lu, ino %lu", host->i_ino, inode->i_ino);
++ ubifs_assert(host->i_nlink > 0);
++ ubifs_assert(inode->i_nlink > 0);
++ ubifs_assert(mutex_is_locked(&host_ui->ui_mutex));
++
++ len1 = UBIFS_INO_NODE_SZ + host_ui->data_len;
++ len2 = UBIFS_INO_NODE_SZ + ubifs_inode(inode)->data_len;
++ aligned_len1 = ALIGN(len1, 8);
++ aligned_len = aligned_len1 + ALIGN(len2, 8);
++
++ ino = kmalloc(aligned_len, GFP_NOFS);
++ if (!ino)
++ return -ENOMEM;
++
++ /* Make reservation before allocating sequence numbers */
++ err = make_reservation(c, BASEHD, aligned_len);
++ if (err)
++ goto out_free;
++
++ pack_inode(c, ino, host, 0);
++ pack_inode(c, (void *)ino + aligned_len1, inode, 1);
++
++ err = write_head(c, BASEHD, ino, aligned_len, &lnum, &offs, 0);
++ if (!sync && !err) {
++ struct ubifs_wbuf *wbuf = &c->jheads[BASEHD].wbuf;
++
++ ubifs_wbuf_add_ino_nolock(wbuf, host->i_ino);
++ ubifs_wbuf_add_ino_nolock(wbuf, inode->i_ino);
++ }
++ release_head(c, BASEHD);
++ if (err)
++ goto out_ro;
++
++ ino_key_init(c, &key, host->i_ino);
++ err = ubifs_tnc_add(c, &key, lnum, offs, len1);
++ if (err)
++ goto out_ro;
++
++ ino_key_init(c, &key, inode->i_ino);
++ err = ubifs_tnc_add(c, &key, lnum, offs + aligned_len1, len2);
++ if (err)
++ goto out_ro;
++
++ finish_reservation(c);
++ spin_lock(&host_ui->ui_lock);
++ host_ui->synced_i_size = host_ui->ui_size;
++ spin_unlock(&host_ui->ui_lock);
++ mark_inode_clean(c, host_ui);
++ kfree(ino);
++ return 0;
++
++out_ro:
++ ubifs_ro_mode(c, err);
++ finish_reservation(c);
++out_free:
++ kfree(ino);
++ return err;
++}
++
++#endif /* CONFIG_UBIFS_FS_XATTR */
+diff -Nurd linux-2.6.24/fs/ubifs/key.h ubifs-v2.6.24/fs/ubifs/key.h
+--- linux-2.6.24/fs/ubifs/key.h 1970-01-01 02:00:00.000000000 +0200
++++ ubifs-v2.6.24/fs/ubifs/key.h 2009-04-07 17:14:47.000000000 +0200
+@@ -0,0 +1,557 @@
++/*
++ * This file is part of UBIFS.
++ *
++ * Copyright (C) 2006-2008 Nokia Corporation.
++ *
++ * This program is free software; you can redistribute it and/or modify it
++ * under the terms of the GNU General Public License version 2 as published by
++ * the Free Software Foundation.
++ *
++ * 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, write to the Free Software Foundation, Inc., 51
++ * Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
++ *
++ * Authors: Artem Bityutskiy (Битюцкий Ðртём)
++ * Adrian Hunter
++ */
++
++/*
++ * This header contains various key-related definitions and helper function.
++ * UBIFS allows several key schemes, so we access key fields only via these
++ * helpers. At the moment only one key scheme is supported.
++ *
++ * Simple key scheme
++ * ~~~~~~~~~~~~~~~~~
++ *
++ * Keys are 64-bits long. First 32-bits are inode number (parent inode number
++ * in case of direntry key). Next 3 bits are node type. The last 29 bits are
++ * 4KiB offset in case of inode node, and direntry hash in case of a direntry
++ * node. We use "r5" hash borrowed from reiserfs.
++ */
++
++#ifndef __UBIFS_KEY_H__
++#define __UBIFS_KEY_H__
++
++/**
++ * key_mask_hash - mask a valid hash value.
++ * @val: value to be masked
++ *
++ * We use hash values as offset in directories, so values %0 and %1 are
++ * reserved for "." and "..". %2 is reserved for "end of readdir" marker. This
++ * function makes sure the reserved values are not used.
++ */
++static inline uint32_t key_mask_hash(uint32_t hash)
++{
++ hash &= UBIFS_S_KEY_HASH_MASK;
++ if (unlikely(hash <= 2))
++ hash += 3;
++ return hash;
++}
++
++/**
++ * key_r5_hash - R5 hash function (borrowed from reiserfs).
++ * @s: direntry name
++ * @len: name length
++ */
++static inline uint32_t key_r5_hash(const char *s, int len)
++{
++ uint32_t a = 0;
++ const signed char *str = (const signed char *)s;
++
++ while (*str) {
++ a += *str << 4;
++ a += *str >> 4;
++ a *= 11;
++ str++;
++ }
++
++ return key_mask_hash(a);
++}
++
++/**
++ * key_test_hash - testing hash function.
++ * @str: direntry name
++ * @len: name length
++ */
++static inline uint32_t key_test_hash(const char *str, int len)
++{
++ uint32_t a = 0;
++
++ len = min_t(uint32_t, len, 4);
++ memcpy(&a, str, len);
++ return key_mask_hash(a);
++}
++
++/**
++ * ino_key_init - initialize inode key.
++ * @c: UBIFS file-system description object
++ * @key: key to initialize
++ * @inum: inode number
++ */
++static inline void ino_key_init(const struct ubifs_info *c,
++ union ubifs_key *key, ino_t inum)
++{
++ key->u32[0] = inum;
++ key->u32[1] = UBIFS_INO_KEY << UBIFS_S_KEY_BLOCK_BITS;
++}
++
++/**
++ * ino_key_init_flash - initialize on-flash inode key.
++ * @c: UBIFS file-system description object
++ * @k: key to initialize
++ * @inum: inode number
++ */
++static inline void ino_key_init_flash(const struct ubifs_info *c, void *k,
++ ino_t inum)
++{
++ union ubifs_key *key = k;
++
++ key->j32[0] = cpu_to_le32(inum);
++ key->j32[1] = cpu_to_le32(UBIFS_INO_KEY << UBIFS_S_KEY_BLOCK_BITS);
++ memset(k + 8, 0, UBIFS_MAX_KEY_LEN - 8);
++}
++
++/**
++ * lowest_ino_key - get the lowest possible inode key.
++ * @c: UBIFS file-system description object
++ * @key: key to initialize
++ * @inum: inode number
++ */
++static inline void lowest_ino_key(const struct ubifs_info *c,
++ union ubifs_key *key, ino_t inum)
++{
++ key->u32[0] = inum;
++ key->u32[1] = 0;
++}
++
++/**
++ * highest_ino_key - get the highest possible inode key.
++ * @c: UBIFS file-system description object
++ * @key: key to initialize
++ * @inum: inode number
++ */
++static inline void highest_ino_key(const struct ubifs_info *c,
++ union ubifs_key *key, ino_t inum)
++{
++ key->u32[0] = inum;
++ key->u32[1] = 0xffffffff;
++}
++
++/**
++ * dent_key_init - initialize directory entry key.
++ * @c: UBIFS file-system description object
++ * @key: key to initialize
++ * @inum: parent inode number
++ * @nm: direntry name and length
++ */
++static inline void dent_key_init(const struct ubifs_info *c,
++ union ubifs_key *key, ino_t inum,
++ const struct qstr *nm)
++{
++ uint32_t hash = c->key_hash(nm->name, nm->len);
++
++ ubifs_assert(!(hash & ~UBIFS_S_KEY_HASH_MASK));
++ key->u32[0] = inum;
++ key->u32[1] = hash | (UBIFS_DENT_KEY << UBIFS_S_KEY_HASH_BITS);
++}
++
++/**
++ * dent_key_init_hash - initialize directory entry key without re-calculating
++ * hash function.
++ * @c: UBIFS file-system description object
++ * @key: key to initialize
++ * @inum: parent inode number
++ * @hash: direntry name hash
++ */
++static inline void dent_key_init_hash(const struct ubifs_info *c,
++ union ubifs_key *key, ino_t inum,
++ uint32_t hash)
++{
++ ubifs_assert(!(hash & ~UBIFS_S_KEY_HASH_MASK));
++ key->u32[0] = inum;
++ key->u32[1] = hash | (UBIFS_DENT_KEY << UBIFS_S_KEY_HASH_BITS);
++}
++
++/**
++ * dent_key_init_flash - initialize on-flash directory entry key.
++ * @c: UBIFS file-system description object
++ * @k: key to initialize
++ * @inum: parent inode number
++ * @nm: direntry name and length
++ */
++static inline void dent_key_init_flash(const struct ubifs_info *c, void *k,
++ ino_t inum, const struct qstr *nm)
++{
++ union ubifs_key *key = k;
++ uint32_t hash = c->key_hash(nm->name, nm->len);
++
++ ubifs_assert(!(hash & ~UBIFS_S_KEY_HASH_MASK));
++ key->j32[0] = cpu_to_le32(inum);
++ key->j32[1] = cpu_to_le32(hash |
++ (UBIFS_DENT_KEY << UBIFS_S_KEY_HASH_BITS));
++ memset(k + 8, 0, UBIFS_MAX_KEY_LEN - 8);
++}
++
++/**
++ * lowest_dent_key - get the lowest possible directory entry key.
++ * @c: UBIFS file-system description object
++ * @key: where to store the lowest key
++ * @inum: parent inode number
++ */
++static inline void lowest_dent_key(const struct ubifs_info *c,
++ union ubifs_key *key, ino_t inum)
++{
++ key->u32[0] = inum;
++ key->u32[1] = UBIFS_DENT_KEY << UBIFS_S_KEY_HASH_BITS;
++}
++
++/**
++ * xent_key_init - initialize extended attribute entry key.
++ * @c: UBIFS file-system description object
++ * @key: key to initialize
++ * @inum: host inode number
++ * @nm: extended attribute entry name and length
++ */
++static inline void xent_key_init(const struct ubifs_info *c,
++ union ubifs_key *key, ino_t inum,
++ const struct qstr *nm)
++{
++ uint32_t hash = c->key_hash(nm->name, nm->len);
++
++ ubifs_assert(!(hash & ~UBIFS_S_KEY_HASH_MASK));
++ key->u32[0] = inum;
++ key->u32[1] = hash | (UBIFS_XENT_KEY << UBIFS_S_KEY_HASH_BITS);
++}
++
++/**
++ * xent_key_init_hash - initialize extended attribute entry key without
++ * re-calculating hash function.
++ * @c: UBIFS file-system description object
++ * @key: key to initialize
++ * @inum: host inode number
++ * @hash: extended attribute entry name hash
++ */
++static inline void xent_key_init_hash(const struct ubifs_info *c,
++ union ubifs_key *key, ino_t inum,
++ uint32_t hash)
++{
++ ubifs_assert(!(hash & ~UBIFS_S_KEY_HASH_MASK));
++ key->u32[0] = inum;
++ key->u32[1] = hash | (UBIFS_XENT_KEY << UBIFS_S_KEY_HASH_BITS);
++}
++
++/**
++ * xent_key_init_flash - initialize on-flash extended attribute entry key.
++ * @c: UBIFS file-system description object
++ * @k: key to initialize
++ * @inum: host inode number
++ * @nm: extended attribute entry name and length
++ */
++static inline void xent_key_init_flash(const struct ubifs_info *c, void *k,
++ ino_t inum, const struct qstr *nm)
++{
++ union ubifs_key *key = k;
++ uint32_t hash = c->key_hash(nm->name, nm->len);
++
++ ubifs_assert(!(hash & ~UBIFS_S_KEY_HASH_MASK));
++ key->j32[0] = cpu_to_le32(inum);
++ key->j32[1] = cpu_to_le32(hash |
++ (UBIFS_XENT_KEY << UBIFS_S_KEY_HASH_BITS));
++ memset(k + 8, 0, UBIFS_MAX_KEY_LEN - 8);
++}
++
++/**
++ * lowest_xent_key - get the lowest possible extended attribute entry key.
++ * @c: UBIFS file-system description object
++ * @key: where to store the lowest key
++ * @inum: host inode number
++ */
++static inline void lowest_xent_key(const struct ubifs_info *c,
++ union ubifs_key *key, ino_t inum)
++{
++ key->u32[0] = inum;
++ key->u32[1] = UBIFS_XENT_KEY << UBIFS_S_KEY_HASH_BITS;
++}
++
++/**
++ * data_key_init - initialize data key.
++ * @c: UBIFS file-system description object
++ * @key: key to initialize
++ * @inum: inode number
++ * @block: block number
++ */
++static inline void data_key_init(const struct ubifs_info *c,
++ union ubifs_key *key, ino_t inum,
++ unsigned int block)
++{
++ ubifs_assert(!(block & ~UBIFS_S_KEY_BLOCK_MASK));
++ key->u32[0] = inum;
++ key->u32[1] = block | (UBIFS_DATA_KEY << UBIFS_S_KEY_BLOCK_BITS);
++}
++
++/**
++ * data_key_init_flash - initialize on-flash data key.
++ * @c: UBIFS file-system description object
++ * @k: key to initialize
++ * @inum: inode number
++ * @block: block number
++ */
++static inline void data_key_init_flash(const struct ubifs_info *c, void *k,
++ ino_t inum, unsigned int block)
++{
++ union ubifs_key *key = k;
++
++ ubifs_assert(!(block & ~UBIFS_S_KEY_BLOCK_MASK));
++ key->j32[0] = cpu_to_le32(inum);
++ key->j32[1] = cpu_to_le32(block |
++ (UBIFS_DATA_KEY << UBIFS_S_KEY_BLOCK_BITS));
++ memset(k + 8, 0, UBIFS_MAX_KEY_LEN - 8);
++}
++
++/**
++ * trun_key_init - initialize truncation node key.
++ * @c: UBIFS file-system description object
++ * @key: key to initialize
++ * @inum: inode number
++ *
++ * Note, UBIFS does not have truncation keys on the media and this function is
++ * only used for purposes of replay.
++ */
++static inline void trun_key_init(const struct ubifs_info *c,
++ union ubifs_key *key, ino_t inum)
++{
++ key->u32[0] = inum;
++ key->u32[1] = UBIFS_TRUN_KEY << UBIFS_S_KEY_BLOCK_BITS;
++}
++
++/**
++ * key_type - get key type.
++ * @c: UBIFS file-system description object
++ * @key: key to get type of
++ */
++static inline int key_type(const struct ubifs_info *c,
++ const union ubifs_key *key)
++{
++ return key->u32[1] >> UBIFS_S_KEY_BLOCK_BITS;
++}
++
++/**
++ * key_type_flash - get type of a on-flash formatted key.
++ * @c: UBIFS file-system description object
++ * @k: key to get type of
++ */
++static inline int key_type_flash(const struct ubifs_info *c, const void *k)
++{
++ const union ubifs_key *key = k;
++
++ return le32_to_cpu(key->j32[1]) >> UBIFS_S_KEY_BLOCK_BITS;
++}
++
++/**
++ * key_inum - fetch inode number from key.
++ * @c: UBIFS file-system description object
++ * @k: key to fetch inode number from
++ */
++static inline ino_t key_inum(const struct ubifs_info *c, const void *k)
++{
++ const union ubifs_key *key = k;
++
++ return key->u32[0];
++}
++
++/**
++ * key_inum_flash - fetch inode number from an on-flash formatted key.
++ * @c: UBIFS file-system description object
++ * @k: key to fetch inode number from
++ */
++static inline ino_t key_inum_flash(const struct ubifs_info *c, const void *k)
++{
++ const union ubifs_key *key = k;
++
++ return le32_to_cpu(key->j32[0]);
++}
++
++/**
++ * key_hash - get directory entry hash.
++ * @c: UBIFS file-system description object
++ * @key: the key to get hash from
++ */
++static inline uint32_t key_hash(const struct ubifs_info *c,
++ const union ubifs_key *key)
++{
++ return key->u32[1] & UBIFS_S_KEY_HASH_MASK;
++}
++
++/**
++ * key_hash_flash - get directory entry hash from an on-flash formatted key.
++ * @c: UBIFS file-system description object
++ * @k: the key to get hash from
++ */
++static inline uint32_t key_hash_flash(const struct ubifs_info *c, const void *k)
++{
++ const union ubifs_key *key = k;
++
++ return le32_to_cpu(key->j32[1]) & UBIFS_S_KEY_HASH_MASK;
++}
++
++/**
++ * key_block - get data block number.
++ * @c: UBIFS file-system description object
++ * @key: the key to get the block number from
++ */
++static inline unsigned int key_block(const struct ubifs_info *c,
++ const union ubifs_key *key)
++{
++ return key->u32[1] & UBIFS_S_KEY_BLOCK_MASK;
++}
++
++/**
++ * key_block_flash - get data block number from an on-flash formatted key.
++ * @c: UBIFS file-system description object
++ * @k: the key to get the block number from
++ */
++static inline unsigned int key_block_flash(const struct ubifs_info *c,
++ const void *k)
++{
++ const union ubifs_key *key = k;
++
++ return le32_to_cpu(key->j32[1]) & UBIFS_S_KEY_BLOCK_MASK;
++}
++
++/**
++ * key_read - transform a key to in-memory format.
++ * @c: UBIFS file-system description object
++ * @from: the key to transform
++ * @to: the key to store the result
++ */
++static inline void key_read(const struct ubifs_info *c, const void *from,
++ union ubifs_key *to)
++{
++ const union ubifs_key *f = from;
++
++ to->u32[0] = le32_to_cpu(f->j32[0]);
++ to->u32[1] = le32_to_cpu(f->j32[1]);
++}
++
++/**
++ * key_write - transform a key from in-memory format.
++ * @c: UBIFS file-system description object
++ * @from: the key to transform
++ * @to: the key to store the result
++ */
++static inline void key_write(const struct ubifs_info *c,
++ const union ubifs_key *from, void *to)
++{
++ union ubifs_key *t = to;
++
++ t->j32[0] = cpu_to_le32(from->u32[0]);
++ t->j32[1] = cpu_to_le32(from->u32[1]);
++ memset(to + 8, 0, UBIFS_MAX_KEY_LEN - 8);
++}
++
++/**
++ * key_write_idx - transform a key from in-memory format for the index.
++ * @c: UBIFS file-system description object
++ * @from: the key to transform
++ * @to: the key to store the result
++ */
++static inline void key_write_idx(const struct ubifs_info *c,
++ const union ubifs_key *from, void *to)
++{
++ union ubifs_key *t = to;
++
++ t->j32[0] = cpu_to_le32(from->u32[0]);
++ t->j32[1] = cpu_to_le32(from->u32[1]);
++}
++
++/**
++ * key_copy - copy a key.
++ * @c: UBIFS file-system description object
++ * @from: the key to copy from
++ * @to: the key to copy to
++ */
++static inline void key_copy(const struct ubifs_info *c,
++ const union ubifs_key *from, union ubifs_key *to)
++{
++ to->u64[0] = from->u64[0];
++}
++
++/**
++ * keys_cmp - compare keys.
++ * @c: UBIFS file-system description object
++ * @key1: the first key to compare
++ * @key2: the second key to compare
++ *
++ * This function compares 2 keys and returns %-1 if @key1 is less than
++ * @key2, %0 if the keys are equivalent and %1 if @key1 is greater than @key2.
++ */
++static inline int keys_cmp(const struct ubifs_info *c,
++ const union ubifs_key *key1,
++ const union ubifs_key *key2)
++{
++ if (key1->u32[0] < key2->u32[0])
++ return -1;
++ if (key1->u32[0] > key2->u32[0])
++ return 1;
++ if (key1->u32[1] < key2->u32[1])
++ return -1;
++ if (key1->u32[1] > key2->u32[1])
++ return 1;
++
++ return 0;
++}
++
++/**
++ * keys_eq - determine if keys are equivalent.
++ * @c: UBIFS file-system description object
++ * @key1: the first key to compare
++ * @key2: the second key to compare
++ *
++ * This function compares 2 keys and returns %1 if @key1 is equal to @key2 and
++ * %0 if not.
++ */
++static inline int keys_eq(const struct ubifs_info *c,
++ const union ubifs_key *key1,
++ const union ubifs_key *key2)
++{
++ if (key1->u32[0] != key2->u32[0])
++ return 0;
++ if (key1->u32[1] != key2->u32[1])
++ return 0;
++ return 1;
++}
++
++/**
++ * is_hash_key - is a key vulnerable to hash collisions.
++ * @c: UBIFS file-system description object
++ * @key: key
++ *
++ * This function returns %1 if @key is a hashed key or %0 otherwise.
++ */
++static inline int is_hash_key(const struct ubifs_info *c,
++ const union ubifs_key *key)
++{
++ int type = key_type(c, key);
++
++ return type == UBIFS_DENT_KEY || type == UBIFS_XENT_KEY;
++}
++
++/**
++ * key_max_inode_size - get maximum file size allowed by current key format.
++ * @c: UBIFS file-system description object
++ */
++static inline unsigned long long key_max_inode_size(const struct ubifs_info *c)
++{
++ switch (c->key_fmt) {
++ case UBIFS_SIMPLE_KEY_FMT:
++ return (1ULL << UBIFS_S_KEY_BLOCK_BITS) * UBIFS_BLOCK_SIZE;
++ default:
++ return 0;
++ }
++}
++#endif /* !__UBIFS_KEY_H__ */
+diff -Nurd linux-2.6.24/fs/ubifs/log.c ubifs-v2.6.24/fs/ubifs/log.c
+--- linux-2.6.24/fs/ubifs/log.c 1970-01-01 02:00:00.000000000 +0200
++++ ubifs-v2.6.24/fs/ubifs/log.c 2009-04-07 17:14:47.000000000 +0200
+@@ -0,0 +1,806 @@
++/*
++ * This file is part of UBIFS.
++ *
++ * Copyright (C) 2006-2008 Nokia Corporation.
++ *
++ * This program is free software; you can redistribute it and/or modify it
++ * under the terms of the GNU General Public License version 2 as published by
++ * the Free Software Foundation.
++ *
++ * 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, write to the Free Software Foundation, Inc., 51
++ * Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
++ *
++ * Authors: Artem Bityutskiy (Битюцкий Ðртём)
++ * Adrian Hunter
++ */
++
++/*
++ * This file is a part of UBIFS journal implementation and contains various
++ * functions which manipulate the log. The log is a fixed area on the flash
++ * which does not contain any data but refers to buds. The log is a part of the
++ * journal.
++ */
++
++#include "ubifs.h"
++
++#ifdef CONFIG_UBIFS_FS_DEBUG
++static int dbg_check_bud_bytes(struct ubifs_info *c);
++#else
++#define dbg_check_bud_bytes(c) 0
++#endif
++
++/**
++ * ubifs_search_bud - search bud LEB.
++ * @c: UBIFS file-system description object
++ * @lnum: logical eraseblock number to search
++ *
++ * This function searches bud LEB @lnum. Returns bud description object in case
++ * of success and %NULL if there is no bud with this LEB number.
++ */
++struct ubifs_bud *ubifs_search_bud(struct ubifs_info *c, int lnum)
++{
++ struct rb_node *p;
++ struct ubifs_bud *bud;
++
++ spin_lock(&c->buds_lock);
++ p = c->buds.rb_node;
++ while (p) {
++ bud = rb_entry(p, struct ubifs_bud, rb);
++ if (lnum < bud->lnum)
++ p = p->rb_left;
++ else if (lnum > bud->lnum)
++ p = p->rb_right;
++ else {
++ spin_unlock(&c->buds_lock);
++ return bud;
++ }
++ }
++ spin_unlock(&c->buds_lock);
++ return NULL;
++}
++
++/**
++ * ubifs_get_wbuf - get the wbuf associated with a LEB, if there is one.
++ * @c: UBIFS file-system description object
++ * @lnum: logical eraseblock number to search
++ *
++ * This functions returns the wbuf for @lnum or %NULL if there is not one.
++ */
++struct ubifs_wbuf *ubifs_get_wbuf(struct ubifs_info *c, int lnum)
++{
++ struct rb_node *p;
++ struct ubifs_bud *bud;
++ int jhead;
++
++ if (!c->jheads)
++ return NULL;
++
++ spin_lock(&c->buds_lock);
++ p = c->buds.rb_node;
++ while (p) {
++ bud = rb_entry(p, struct ubifs_bud, rb);
++ if (lnum < bud->lnum)
++ p = p->rb_left;
++ else if (lnum > bud->lnum)
++ p = p->rb_right;
++ else {
++ jhead = bud->jhead;
++ spin_unlock(&c->buds_lock);
++ return &c->jheads[jhead].wbuf;
++ }
++ }
++ spin_unlock(&c->buds_lock);
++ return NULL;
++}
++
++/**
++ * next_log_lnum - switch to the next log LEB.
++ * @c: UBIFS file-system description object
++ * @lnum: current log LEB
++ */
++static inline int next_log_lnum(const struct ubifs_info *c, int lnum)
++{
++ lnum += 1;
++ if (lnum > c->log_last)
++ lnum = UBIFS_LOG_LNUM;
++
++ return lnum;
++}
++
++/**
++ * empty_log_bytes - calculate amount of empty space in the log.
++ * @c: UBIFS file-system description object
++ */
++static inline long long empty_log_bytes(const struct ubifs_info *c)
++{
++ long long h, t;
++
++ h = (long long)c->lhead_lnum * c->leb_size + c->lhead_offs;
++ t = (long long)c->ltail_lnum * c->leb_size;
++
++ if (h >= t)
++ return c->log_bytes - h + t;
++ else
++ return t - h;
++}
++
++/**
++ * ubifs_add_bud - add bud LEB to the tree of buds and its journal head list.
++ * @c: UBIFS file-system description object
++ * @bud: the bud to add
++ */
++void ubifs_add_bud(struct ubifs_info *c, struct ubifs_bud *bud)
++{
++ struct rb_node **p, *parent = NULL;
++ struct ubifs_bud *b;
++ struct ubifs_jhead *jhead;
++
++ spin_lock(&c->buds_lock);
++ p = &c->buds.rb_node;
++ while (*p) {
++ parent = *p;
++ b = rb_entry(parent, struct ubifs_bud, rb);
++ ubifs_assert(bud->lnum != b->lnum);
++ if (bud->lnum < b->lnum)
++ p = &(*p)->rb_left;
++ else
++ p = &(*p)->rb_right;
++ }
++
++ rb_link_node(&bud->rb, parent, p);
++ rb_insert_color(&bud->rb, &c->buds);
++ if (c->jheads) {
++ jhead = &c->jheads[bud->jhead];
++ list_add_tail(&bud->list, &jhead->buds_list);
++ } else
++ ubifs_assert(c->replaying && (c->vfs_sb->s_flags & MS_RDONLY));
++
++ /*
++ * Note, although this is a new bud, we anyway account this space now,
++ * before any data has been written to it, because this is about to
++ * guarantee fixed mount time, and this bud will anyway be read and
++ * scanned.
++ */
++ c->bud_bytes += c->leb_size - bud->start;
++
++ dbg_log("LEB %d:%d, jhead %d, bud_bytes %lld", bud->lnum,
++ bud->start, bud->jhead, c->bud_bytes);
++ spin_unlock(&c->buds_lock);
++}
++
++/**
++ * ubifs_create_buds_lists - create journal head buds lists for remount rw.
++ * @c: UBIFS file-system description object
++ */
++void ubifs_create_buds_lists(struct ubifs_info *c)
++{
++ struct rb_node *p;
++
++ spin_lock(&c->buds_lock);
++ p = rb_first(&c->buds);
++ while (p) {
++ struct ubifs_bud *bud = rb_entry(p, struct ubifs_bud, rb);
++ struct ubifs_jhead *jhead = &c->jheads[bud->jhead];
++
++ list_add_tail(&bud->list, &jhead->buds_list);
++ p = rb_next(p);
++ }
++ spin_unlock(&c->buds_lock);
++}
++
++/**
++ * ubifs_add_bud_to_log - add a new bud to the log.
++ * @c: UBIFS file-system description object
++ * @jhead: journal head the bud belongs to
++ * @lnum: LEB number of the bud
++ * @offs: starting offset of the bud
++ *
++ * This function writes reference node for the new bud LEB @lnum it to the log,
++ * and adds it to the buds tress. It also makes sure that log size does not
++ * exceed the 'c->max_bud_bytes' limit. Returns zero in case of success,
++ * %-EAGAIN if commit is required, and a negative error codes in case of
++ * failure.
++ */
++int ubifs_add_bud_to_log(struct ubifs_info *c, int jhead, int lnum, int offs)
++{
++ int err;
++ struct ubifs_bud *bud;
++ struct ubifs_ref_node *ref;
++
++ bud = kmalloc(sizeof(struct ubifs_bud), GFP_NOFS);
++ if (!bud)
++ return -ENOMEM;
++ ref = kzalloc(c->ref_node_alsz, GFP_NOFS);
++ if (!ref) {
++ kfree(bud);
++ return -ENOMEM;
++ }
++
++ mutex_lock(&c->log_mutex);
++
++ if (c->ro_media) {
++ err = -EROFS;
++ goto out_unlock;
++ }
++
++ /* Make sure we have enough space in the log */
++ if (empty_log_bytes(c) - c->ref_node_alsz < c->min_log_bytes) {
++ dbg_log("not enough log space - %lld, required %d",
++ empty_log_bytes(c), c->min_log_bytes);
++ ubifs_commit_required(c);
++ err = -EAGAIN;
++ goto out_unlock;
++ }
++
++ /*
++ * Make sure the amount of space in buds will not exceed the
++ * 'c->max_bud_bytes' limit, because we want to guarantee mount time
++ * limits.
++ *
++ * It is not necessary to hold @c->buds_lock when reading @c->bud_bytes
++ * because we are holding @c->log_mutex. All @c->bud_bytes take place
++ * when both @c->log_mutex and @c->bud_bytes are locked.
++ */
++ if (c->bud_bytes + c->leb_size - offs > c->max_bud_bytes) {
++ dbg_log("bud bytes %lld (%lld max), require commit",
++ c->bud_bytes, c->max_bud_bytes);
++ ubifs_commit_required(c);
++ err = -EAGAIN;
++ goto out_unlock;
++ }
++
++ /*
++ * If the journal is full enough - start background commit. Note, it is
++ * OK to read 'c->cmt_state' without spinlock because integer reads
++ * are atomic in the kernel.
++ */
++ if (c->bud_bytes >= c->bg_bud_bytes &&
++ c->cmt_state == COMMIT_RESTING) {
++ dbg_log("bud bytes %lld (%lld max), initiate BG commit",
++ c->bud_bytes, c->max_bud_bytes);
++ ubifs_request_bg_commit(c);
++ }
++
++ bud->lnum = lnum;
++ bud->start = offs;
++ bud->jhead = jhead;
++
++ ref->ch.node_type = UBIFS_REF_NODE;
++ ref->lnum = cpu_to_le32(bud->lnum);
++ ref->offs = cpu_to_le32(bud->start);
++ ref->jhead = cpu_to_le32(jhead);
++
++ if (c->lhead_offs > c->leb_size - c->ref_node_alsz) {
++ c->lhead_lnum = next_log_lnum(c, c->lhead_lnum);
++ c->lhead_offs = 0;
++ }
++
++ if (c->lhead_offs == 0) {
++ /* Must ensure next log LEB has been unmapped */
++ err = ubifs_leb_unmap(c, c->lhead_lnum);
++ if (err)
++ goto out_unlock;
++ }
++
++ if (bud->start == 0) {
++ /*
++ * Before writing the LEB reference which refers an empty LEB
++ * to the log, we have to make sure it is mapped, because
++ * otherwise we'd risk to refer an LEB with garbage in case of
++ * an unclean reboot, because the target LEB might have been
++ * unmapped, but not yet physically erased.
++ */
++ err = ubi_leb_map(c->ubi, bud->lnum, UBI_SHORTTERM);
++ if (err)
++ goto out_unlock;
++ }
++
++ dbg_log("write ref LEB %d:%d",
++ c->lhead_lnum, c->lhead_offs);
++ err = ubifs_write_node(c, ref, UBIFS_REF_NODE_SZ, c->lhead_lnum,
++ c->lhead_offs, UBI_SHORTTERM);
++ if (err)
++ goto out_unlock;
++
++ c->lhead_offs += c->ref_node_alsz;
++
++ ubifs_add_bud(c, bud);
++
++ mutex_unlock(&c->log_mutex);
++ kfree(ref);
++ return 0;
++
++out_unlock:
++ if (err != -EAGAIN)
++ ubifs_ro_mode(c, err);
++ mutex_unlock(&c->log_mutex);
++ kfree(ref);
++ kfree(bud);
++ return err;
++}
++
++/**
++ * remove_buds - remove used buds.
++ * @c: UBIFS file-system description object
++ *
++ * This function removes use buds from the buds tree. It does not remove the
++ * buds which are pointed to by journal heads.
++ */
++static void remove_buds(struct ubifs_info *c)
++{
++ struct rb_node *p;
++
++ ubifs_assert(list_empty(&c->old_buds));
++ c->cmt_bud_bytes = 0;
++ spin_lock(&c->buds_lock);
++ p = rb_first(&c->buds);
++ while (p) {
++ struct rb_node *p1 = p;
++ struct ubifs_bud *bud;
++ struct ubifs_wbuf *wbuf;
++
++ p = rb_next(p);
++ bud = rb_entry(p1, struct ubifs_bud, rb);
++ wbuf = &c->jheads[bud->jhead].wbuf;
++
++ if (wbuf->lnum == bud->lnum) {
++ /*
++ * Do not remove buds which are pointed to by journal
++ * heads (non-closed buds).
++ */
++ c->cmt_bud_bytes += wbuf->offs - bud->start;
++ dbg_log("preserve %d:%d, jhead %d, bud bytes %d, "
++ "cmt_bud_bytes %lld", bud->lnum, bud->start,
++ bud->jhead, wbuf->offs - bud->start,
++ c->cmt_bud_bytes);
++ bud->start = wbuf->offs;
++ } else {
++ c->cmt_bud_bytes += c->leb_size - bud->start;
++ dbg_log("remove %d:%d, jhead %d, bud bytes %d, "
++ "cmt_bud_bytes %lld", bud->lnum, bud->start,
++ bud->jhead, c->leb_size - bud->start,
++ c->cmt_bud_bytes);
++ rb_erase(p1, &c->buds);
++ /*
++ * If the commit does not finish, the recovery will need
++ * to replay the journal, in which case the old buds
++ * must be unchanged. Do not release them until post
++ * commit i.e. do not allow them to be garbage
++ * collected.
++ */
++ list_move(&bud->list, &c->old_buds);
++ }
++ }
++ spin_unlock(&c->buds_lock);
++}
++
++/**
++ * ubifs_log_start_commit - start commit.
++ * @c: UBIFS file-system description object
++ * @ltail_lnum: return new log tail LEB number
++ *
++ * The commit operation starts with writing "commit start" node to the log and
++ * reference nodes for all journal heads which will define new journal after
++ * the commit has been finished. The commit start and reference nodes are
++ * written in one go to the nearest empty log LEB (hence, when commit is
++ * finished UBIFS may safely unmap all the previous log LEBs). This function
++ * returns zero in case of success and a negative error code in case of
++ * failure.
++ */
++int ubifs_log_start_commit(struct ubifs_info *c, int *ltail_lnum)
++{
++ void *buf;
++ struct ubifs_cs_node *cs;
++ struct ubifs_ref_node *ref;
++ int err, i, max_len, len;
++
++ err = dbg_check_bud_bytes(c);
++ if (err)
++ return err;
++
++ max_len = UBIFS_CS_NODE_SZ + c->jhead_cnt * UBIFS_REF_NODE_SZ;
++ max_len = ALIGN(max_len, c->min_io_size);
++ buf = cs = kmalloc(max_len, GFP_NOFS);
++ if (!buf)
++ return -ENOMEM;
++
++ cs->ch.node_type = UBIFS_CS_NODE;
++ cs->cmt_no = cpu_to_le64(c->cmt_no);
++ ubifs_prepare_node(c, cs, UBIFS_CS_NODE_SZ, 0);
++
++ /*
++ * Note, we do not lock 'c->log_mutex' because this is the commit start
++ * phase and we are exclusively using the log. And we do not lock
++ * write-buffer because nobody can write to the file-system at this
++ * phase.
++ */
++
++ len = UBIFS_CS_NODE_SZ;
++ for (i = 0; i < c->jhead_cnt; i++) {
++ int lnum = c->jheads[i].wbuf.lnum;
++ int offs = c->jheads[i].wbuf.offs;
++
++ if (lnum == -1 || offs == c->leb_size)
++ continue;
++
++ dbg_log("add ref to LEB %d:%d for jhead %d", lnum, offs, i);
++ ref = buf + len;
++ ref->ch.node_type = UBIFS_REF_NODE;
++ ref->lnum = cpu_to_le32(lnum);
++ ref->offs = cpu_to_le32(offs);
++ ref->jhead = cpu_to_le32(i);
++
++ ubifs_prepare_node(c, ref, UBIFS_REF_NODE_SZ, 0);
++ len += UBIFS_REF_NODE_SZ;
++ }
++
++ ubifs_pad(c, buf + len, ALIGN(len, c->min_io_size) - len);
++
++ /* Switch to the next log LEB */
++ if (c->lhead_offs) {
++ c->lhead_lnum = next_log_lnum(c, c->lhead_lnum);
++ c->lhead_offs = 0;
++ }
++
++ if (c->lhead_offs == 0) {
++ /* Must ensure next LEB has been unmapped */
++ err = ubifs_leb_unmap(c, c->lhead_lnum);
++ if (err)
++ goto out;
++ }
++
++ len = ALIGN(len, c->min_io_size);
++ dbg_log("writing commit start at LEB %d:0, len %d", c->lhead_lnum, len);
++ err = ubifs_leb_write(c, c->lhead_lnum, cs, 0, len, UBI_SHORTTERM);
++ if (err)
++ goto out;
++
++ *ltail_lnum = c->lhead_lnum;
++
++ c->lhead_offs += len;
++ if (c->lhead_offs == c->leb_size) {
++ c->lhead_lnum = next_log_lnum(c, c->lhead_lnum);
++ c->lhead_offs = 0;
++ }
++
++ remove_buds(c);
++
++ /*
++ * We have started the commit and now users may use the rest of the log
++ * for new writes.
++ */
++ c->min_log_bytes = 0;
++
++out:
++ kfree(buf);
++ return err;
++}
++
++/**
++ * ubifs_log_end_commit - end commit.
++ * @c: UBIFS file-system description object
++ * @ltail_lnum: new log tail LEB number
++ *
++ * This function is called on when the commit operation was finished. It
++ * moves log tail to new position and unmaps LEBs which contain obsolete data.
++ * Returns zero in case of success and a negative error code in case of
++ * failure.
++ */
++int ubifs_log_end_commit(struct ubifs_info *c, int ltail_lnum)
++{
++ int err;
++
++ /*
++ * At this phase we have to lock 'c->log_mutex' because UBIFS allows FS
++ * writes during commit. Its only short "commit" start phase when
++ * writers are blocked.
++ */
++ mutex_lock(&c->log_mutex);
++
++ dbg_log("old tail was LEB %d:0, new tail is LEB %d:0",
++ c->ltail_lnum, ltail_lnum);
++
++ c->ltail_lnum = ltail_lnum;
++ /*
++ * The commit is finished and from now on it must be guaranteed that
++ * there is always enough space for the next commit.
++ */
++ c->min_log_bytes = c->leb_size;
++
++ spin_lock(&c->buds_lock);
++ c->bud_bytes -= c->cmt_bud_bytes;
++ spin_unlock(&c->buds_lock);
++
++ err = dbg_check_bud_bytes(c);
++
++ mutex_unlock(&c->log_mutex);
++ return err;
++}
++
++/**
++ * ubifs_log_post_commit - things to do after commit is completed.
++ * @c: UBIFS file-system description object
++ * @old_ltail_lnum: old log tail LEB number
++ *
++ * Release buds only after commit is completed, because they must be unchanged
++ * if recovery is needed.
++ *
++ * Unmap log LEBs only after commit is completed, because they may be needed for
++ * recovery.
++ *
++ * This function returns %0 on success and a negative error code on failure.
++ */
++int ubifs_log_post_commit(struct ubifs_info *c, int old_ltail_lnum)
++{
++ int lnum, err = 0;
++
++ while (!list_empty(&c->old_buds)) {
++ struct ubifs_bud *bud;
++
++ bud = list_entry(c->old_buds.next, struct ubifs_bud, list);
++ err = ubifs_return_leb(c, bud->lnum);
++ if (err)
++ return err;
++ list_del(&bud->list);
++ kfree(bud);
++ }
++ mutex_lock(&c->log_mutex);
++ for (lnum = old_ltail_lnum; lnum != c->ltail_lnum;
++ lnum = next_log_lnum(c, lnum)) {
++ dbg_log("unmap log LEB %d", lnum);
++ err = ubifs_leb_unmap(c, lnum);
++ if (err)
++ goto out;
++ }
++out:
++ mutex_unlock(&c->log_mutex);
++ return err;
++}
++
++/**
++ * struct done_ref - references that have been done.
++ * @rb: rb-tree node
++ * @lnum: LEB number
++ */
++struct done_ref {
++ struct rb_node rb;
++ int lnum;
++};
++
++/**
++ * done_already - determine if a reference has been done already.
++ * @done_tree: rb-tree to store references that have been done
++ * @lnum: LEB number of reference
++ *
++ * This function returns %1 if the reference has been done, %0 if not, otherwise
++ * a negative error code is returned.
++ */
++static int done_already(struct rb_root *done_tree, int lnum)
++{
++ struct rb_node **p = &done_tree->rb_node, *parent = NULL;
++ struct done_ref *dr;
++
++ while (*p) {
++ parent = *p;
++ dr = rb_entry(parent, struct done_ref, rb);
++ if (lnum < dr->lnum)
++ p = &(*p)->rb_left;
++ else if (lnum > dr->lnum)
++ p = &(*p)->rb_right;
++ else
++ return 1;
++ }
++
++ dr = kzalloc(sizeof(struct done_ref), GFP_NOFS);
++ if (!dr)
++ return -ENOMEM;
++
++ dr->lnum = lnum;
++
++ rb_link_node(&dr->rb, parent, p);
++ rb_insert_color(&dr->rb, done_tree);
++
++ return 0;
++}
++
++/**
++ * destroy_done_tree - destroy the done tree.
++ * @done_tree: done tree to destroy
++ */
++static void destroy_done_tree(struct rb_root *done_tree)
++{
++ struct rb_node *this = done_tree->rb_node;
++ struct done_ref *dr;
++
++ while (this) {
++ if (this->rb_left) {
++ this = this->rb_left;
++ continue;
++ } else if (this->rb_right) {
++ this = this->rb_right;
++ continue;
++ }
++ dr = rb_entry(this, struct done_ref, rb);
++ this = rb_parent(this);
++ if (this) {
++ if (this->rb_left == &dr->rb)
++ this->rb_left = NULL;
++ else
++ this->rb_right = NULL;
++ }
++ kfree(dr);
++ }
++}
++
++/**
++ * add_node - add a node to the consolidated log.
++ * @c: UBIFS file-system description object
++ * @buf: buffer to which to add
++ * @lnum: LEB number to which to write is passed and returned here
++ * @offs: offset to where to write is passed and returned here
++ * @node: node to add
++ *
++ * This function returns %0 on success and a negative error code on failure.
++ */
++static int add_node(struct ubifs_info *c, void *buf, int *lnum, int *offs,
++ void *node)
++{
++ struct ubifs_ch *ch = node;
++ int len = le32_to_cpu(ch->len), remains = c->leb_size - *offs;
++
++ if (len > remains) {
++ int sz = ALIGN(*offs, c->min_io_size), err;
++
++ ubifs_pad(c, buf + *offs, sz - *offs);
++ err = ubifs_leb_change(c, *lnum, buf, sz, UBI_SHORTTERM);
++ if (err)
++ return err;
++ *lnum = next_log_lnum(c, *lnum);
++ *offs = 0;
++ }
++ memcpy(buf + *offs, node, len);
++ *offs += ALIGN(len, 8);
++ return 0;
++}
++
++/**
++ * ubifs_consolidate_log - consolidate the log.
++ * @c: UBIFS file-system description object
++ *
++ * Repeated failed commits could cause the log to be full, but at least 1 LEB is
++ * needed for commit. This function rewrites the reference nodes in the log
++ * omitting duplicates, and failed CS nodes, and leaving no gaps.
++ *
++ * This function returns %0 on success and a negative error code on failure.
++ */
++int ubifs_consolidate_log(struct ubifs_info *c)
++{
++ struct ubifs_scan_leb *sleb;
++ struct ubifs_scan_node *snod;
++ struct rb_root done_tree = RB_ROOT;
++ int lnum, err, first = 1, write_lnum, offs = 0;
++ void *buf;
++
++ dbg_rcvry("log tail LEB %d, log head LEB %d", c->ltail_lnum,
++ c->lhead_lnum);
++ buf = vmalloc(c->leb_size);
++ if (!buf)
++ return -ENOMEM;
++ lnum = c->ltail_lnum;
++ write_lnum = lnum;
++ while (1) {
++ sleb = ubifs_scan(c, lnum, 0, c->sbuf);
++ if (IS_ERR(sleb)) {
++ err = PTR_ERR(sleb);
++ goto out_free;
++ }
++ list_for_each_entry(snod, &sleb->nodes, list) {
++ switch (snod->type) {
++ case UBIFS_REF_NODE: {
++ struct ubifs_ref_node *ref = snod->node;
++ int ref_lnum = le32_to_cpu(ref->lnum);
++
++ err = done_already(&done_tree, ref_lnum);
++ if (err < 0)
++ goto out_scan;
++ if (err != 1) {
++ err = add_node(c, buf, &write_lnum,
++ &offs, snod->node);
++ if (err)
++ goto out_scan;
++ }
++ break;
++ }
++ case UBIFS_CS_NODE:
++ if (!first)
++ break;
++ err = add_node(c, buf, &write_lnum, &offs,
++ snod->node);
++ if (err)
++ goto out_scan;
++ first = 0;
++ break;
++ }
++ }
++ ubifs_scan_destroy(sleb);
++ if (lnum == c->lhead_lnum)
++ break;
++ lnum = next_log_lnum(c, lnum);
++ }
++ if (offs) {
++ int sz = ALIGN(offs, c->min_io_size);
++
++ ubifs_pad(c, buf + offs, sz - offs);
++ err = ubifs_leb_change(c, write_lnum, buf, sz, UBI_SHORTTERM);
++ if (err)
++ goto out_free;
++ offs = ALIGN(offs, c->min_io_size);
++ }
++ destroy_done_tree(&done_tree);
++ vfree(buf);
++ if (write_lnum == c->lhead_lnum) {
++ ubifs_err("log is too full");
++ return -EINVAL;
++ }
++ /* Unmap remaining LEBs */
++ lnum = write_lnum;
++ do {
++ lnum = next_log_lnum(c, lnum);
++ err = ubifs_leb_unmap(c, lnum);
++ if (err)
++ return err;
++ } while (lnum != c->lhead_lnum);
++ c->lhead_lnum = write_lnum;
++ c->lhead_offs = offs;
++ dbg_rcvry("new log head at %d:%d", c->lhead_lnum, c->lhead_offs);
++ return 0;
++
++out_scan:
++ ubifs_scan_destroy(sleb);
++out_free:
++ destroy_done_tree(&done_tree);
++ vfree(buf);
++ return err;
++}
++
++#ifdef CONFIG_UBIFS_FS_DEBUG
++
++/**
++ * dbg_check_bud_bytes - make sure bud bytes calculation are all right.
++ * @c: UBIFS file-system description object
++ *
++ * This function makes sure the amount of flash space used by closed buds
++ * ('c->bud_bytes' is correct). Returns zero in case of success and %-EINVAL in
++ * case of failure.
++ */
++static int dbg_check_bud_bytes(struct ubifs_info *c)
++{
++ int i, err = 0;
++ struct ubifs_bud *bud;
++ long long bud_bytes = 0;
++
++ if (!(ubifs_chk_flags & UBIFS_CHK_GEN))
++ return 0;
++
++ spin_lock(&c->buds_lock);
++ for (i = 0; i < c->jhead_cnt; i++)
++ list_for_each_entry(bud, &c->jheads[i].buds_list, list)
++ bud_bytes += c->leb_size - bud->start;
++
++ if (c->bud_bytes != bud_bytes) {
++ ubifs_err("bad bud_bytes %lld, calculated %lld",
++ c->bud_bytes, bud_bytes);
++ err = -EINVAL;
++ }
++ spin_unlock(&c->buds_lock);
++
++ return err;
++}
++
++#endif /* CONFIG_UBIFS_FS_DEBUG */
+diff -Nurd linux-2.6.24/fs/ubifs/lprops.c ubifs-v2.6.24/fs/ubifs/lprops.c
+--- linux-2.6.24/fs/ubifs/lprops.c 1970-01-01 02:00:00.000000000 +0200
++++ ubifs-v2.6.24/fs/ubifs/lprops.c 2009-04-07 17:14:47.000000000 +0200
+@@ -0,0 +1,1333 @@
++/*
++ * This file is part of UBIFS.
++ *
++ * Copyright (C) 2006-2008 Nokia Corporation.
++ *
++ * This program is free software; you can redistribute it and/or modify it
++ * under the terms of the GNU General Public License version 2 as published by
++ * the Free Software Foundation.
++ *
++ * 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, write to the Free Software Foundation, Inc., 51
++ * Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
++ *
++ * Authors: Adrian Hunter
++ * Artem Bityutskiy (Битюцкий Ðртём)
++ */
++
++/*
++ * This file implements the functions that access LEB properties and their
++ * categories. LEBs are categorized based on the needs of UBIFS, and the
++ * categories are stored as either heaps or lists to provide a fast way of
++ * finding a LEB in a particular category. For example, UBIFS may need to find
++ * an empty LEB for the journal, or a very dirty LEB for garbage collection.
++ */
++
++#include "ubifs.h"
++
++/**
++ * get_heap_comp_val - get the LEB properties value for heap comparisons.
++ * @lprops: LEB properties
++ * @cat: LEB category
++ */
++static int get_heap_comp_val(struct ubifs_lprops *lprops, int cat)
++{
++ switch (cat) {
++ case LPROPS_FREE:
++ return lprops->free;
++ case LPROPS_DIRTY_IDX:
++ return lprops->free + lprops->dirty;
++ default:
++ return lprops->dirty;
++ }
++}
++
++/**
++ * move_up_lpt_heap - move a new heap entry up as far as possible.
++ * @c: UBIFS file-system description object
++ * @heap: LEB category heap
++ * @lprops: LEB properties to move
++ * @cat: LEB category
++ *
++ * New entries to a heap are added at the bottom and then moved up until the
++ * parent's value is greater. In the case of LPT's category heaps, the value
++ * is either the amount of free space or the amount of dirty space, depending
++ * on the category.
++ */
++static void move_up_lpt_heap(struct ubifs_info *c, struct ubifs_lpt_heap *heap,
++ struct ubifs_lprops *lprops, int cat)
++{
++ int val1, val2, hpos;
++
++ hpos = lprops->hpos;
++ if (!hpos)
++ return; /* Already top of the heap */
++ val1 = get_heap_comp_val(lprops, cat);
++ /* Compare to parent and, if greater, move up the heap */
++ do {
++ int ppos = (hpos - 1) / 2;
++
++ val2 = get_heap_comp_val(heap->arr[ppos], cat);
++ if (val2 >= val1)
++ return;
++ /* Greater than parent so move up */
++ heap->arr[ppos]->hpos = hpos;
++ heap->arr[hpos] = heap->arr[ppos];
++ heap->arr[ppos] = lprops;
++ lprops->hpos = ppos;
++ hpos = ppos;
++ } while (hpos);
++}
++
++/**
++ * adjust_lpt_heap - move a changed heap entry up or down the heap.
++ * @c: UBIFS file-system description object
++ * @heap: LEB category heap
++ * @lprops: LEB properties to move
++ * @hpos: heap position of @lprops
++ * @cat: LEB category
++ *
++ * Changed entries in a heap are moved up or down until the parent's value is
++ * greater. In the case of LPT's category heaps, the value is either the amount
++ * of free space or the amount of dirty space, depending on the category.
++ */
++static void adjust_lpt_heap(struct ubifs_info *c, struct ubifs_lpt_heap *heap,
++ struct ubifs_lprops *lprops, int hpos, int cat)
++{
++ int val1, val2, val3, cpos;
++
++ val1 = get_heap_comp_val(lprops, cat);
++ /* Compare to parent and, if greater than parent, move up the heap */
++ if (hpos) {
++ int ppos = (hpos - 1) / 2;
++
++ val2 = get_heap_comp_val(heap->arr[ppos], cat);
++ if (val1 > val2) {
++ /* Greater than parent so move up */
++ while (1) {
++ heap->arr[ppos]->hpos = hpos;
++ heap->arr[hpos] = heap->arr[ppos];
++ heap->arr[ppos] = lprops;
++ lprops->hpos = ppos;
++ hpos = ppos;
++ if (!hpos)
++ return;
++ ppos = (hpos - 1) / 2;
++ val2 = get_heap_comp_val(heap->arr[ppos], cat);
++ if (val1 <= val2)
++ return;
++ /* Still greater than parent so keep going */
++ }
++ }
++ }
++
++ /* Not greater than parent, so compare to children */
++ while (1) {
++ /* Compare to left child */
++ cpos = hpos * 2 + 1;
++ if (cpos >= heap->cnt)
++ return;
++ val2 = get_heap_comp_val(heap->arr[cpos], cat);
++ if (val1 < val2) {
++ /* Less than left child, so promote biggest child */
++ if (cpos + 1 < heap->cnt) {
++ val3 = get_heap_comp_val(heap->arr[cpos + 1],
++ cat);
++ if (val3 > val2)
++ cpos += 1; /* Right child is bigger */
++ }
++ heap->arr[cpos]->hpos = hpos;
++ heap->arr[hpos] = heap->arr[cpos];
++ heap->arr[cpos] = lprops;
++ lprops->hpos = cpos;
++ hpos = cpos;
++ continue;
++ }
++ /* Compare to right child */
++ cpos += 1;
++ if (cpos >= heap->cnt)
++ return;
++ val3 = get_heap_comp_val(heap->arr[cpos], cat);
++ if (val1 < val3) {
++ /* Less than right child, so promote right child */
++ heap->arr[cpos]->hpos = hpos;
++ heap->arr[hpos] = heap->arr[cpos];
++ heap->arr[cpos] = lprops;
++ lprops->hpos = cpos;
++ hpos = cpos;
++ continue;
++ }
++ return;
++ }
++}
++
++/**
++ * add_to_lpt_heap - add LEB properties to a LEB category heap.
++ * @c: UBIFS file-system description object
++ * @lprops: LEB properties to add
++ * @cat: LEB category
++ *
++ * This function returns %1 if @lprops is added to the heap for LEB category
++ * @cat, otherwise %0 is returned because the heap is full.
++ */
++static int add_to_lpt_heap(struct ubifs_info *c, struct ubifs_lprops *lprops,
++ int cat)
++{
++ struct ubifs_lpt_heap *heap = &c->lpt_heap[cat - 1];
++
++ if (heap->cnt >= heap->max_cnt) {
++ const int b = LPT_HEAP_SZ / 2 - 1;
++ int cpos, val1, val2;
++
++ /* Compare to some other LEB on the bottom of heap */
++ /* Pick a position kind of randomly */
++ cpos = (((size_t)lprops >> 4) & b) + b;
++ ubifs_assert(cpos >= b);
++ ubifs_assert(cpos < LPT_HEAP_SZ);
++ ubifs_assert(cpos < heap->cnt);
++
++ val1 = get_heap_comp_val(lprops, cat);
++ val2 = get_heap_comp_val(heap->arr[cpos], cat);
++ if (val1 > val2) {
++ struct ubifs_lprops *lp;
++
++ lp = heap->arr[cpos];
++ lp->flags &= ~LPROPS_CAT_MASK;
++ lp->flags |= LPROPS_UNCAT;
++ list_add(&lp->list, &c->uncat_list);
++ lprops->hpos = cpos;
++ heap->arr[cpos] = lprops;
++ move_up_lpt_heap(c, heap, lprops, cat);
++ dbg_check_heap(c, heap, cat, lprops->hpos);
++ return 1; /* Added to heap */
++ }
++ dbg_check_heap(c, heap, cat, -1);
++ return 0; /* Not added to heap */
++ } else {
++ lprops->hpos = heap->cnt++;
++ heap->arr[lprops->hpos] = lprops;
++ move_up_lpt_heap(c, heap, lprops, cat);
++ dbg_check_heap(c, heap, cat, lprops->hpos);
++ return 1; /* Added to heap */
++ }
++}
++
++/**
++ * remove_from_lpt_heap - remove LEB properties from a LEB category heap.
++ * @c: UBIFS file-system description object
++ * @lprops: LEB properties to remove
++ * @cat: LEB category
++ */
++static void remove_from_lpt_heap(struct ubifs_info *c,
++ struct ubifs_lprops *lprops, int cat)
++{
++ struct ubifs_lpt_heap *heap;
++ int hpos = lprops->hpos;
++
++ heap = &c->lpt_heap[cat - 1];
++ ubifs_assert(hpos >= 0 && hpos < heap->cnt);
++ ubifs_assert(heap->arr[hpos] == lprops);
++ heap->cnt -= 1;
++ if (hpos < heap->cnt) {
++ heap->arr[hpos] = heap->arr[heap->cnt];
++ heap->arr[hpos]->hpos = hpos;
++ adjust_lpt_heap(c, heap, heap->arr[hpos], hpos, cat);
++ }
++ dbg_check_heap(c, heap, cat, -1);
++}
++
++/**
++ * lpt_heap_replace - replace lprops in a category heap.
++ * @c: UBIFS file-system description object
++ * @old_lprops: LEB properties to replace
++ * @new_lprops: LEB properties with which to replace
++ * @cat: LEB category
++ *
++ * During commit it is sometimes necessary to copy a pnode (see dirty_cow_pnode)
++ * and the lprops that the pnode contains. When that happens, references in
++ * the category heaps to those lprops must be updated to point to the new
++ * lprops. This function does that.
++ */
++static void lpt_heap_replace(struct ubifs_info *c,
++ struct ubifs_lprops *old_lprops,
++ struct ubifs_lprops *new_lprops, int cat)
++{
++ struct ubifs_lpt_heap *heap;
++ int hpos = new_lprops->hpos;
++
++ heap = &c->lpt_heap[cat - 1];
++ heap->arr[hpos] = new_lprops;
++}
++
++/**
++ * ubifs_add_to_cat - add LEB properties to a category list or heap.
++ * @c: UBIFS file-system description object
++ * @lprops: LEB properties to add
++ * @cat: LEB category to which to add
++ *
++ * LEB properties are categorized to enable fast find operations.
++ */
++void ubifs_add_to_cat(struct ubifs_info *c, struct ubifs_lprops *lprops,
++ int cat)
++{
++ switch (cat) {
++ case LPROPS_DIRTY:
++ case LPROPS_DIRTY_IDX:
++ case LPROPS_FREE:
++ if (add_to_lpt_heap(c, lprops, cat))
++ break;
++ /* No more room on heap so make it uncategorized */
++ cat = LPROPS_UNCAT;
++ /* Fall through */
++ case LPROPS_UNCAT:
++ list_add(&lprops->list, &c->uncat_list);
++ break;
++ case LPROPS_EMPTY:
++ list_add(&lprops->list, &c->empty_list);
++ break;
++ case LPROPS_FREEABLE:
++ list_add(&lprops->list, &c->freeable_list);
++ c->freeable_cnt += 1;
++ break;
++ case LPROPS_FRDI_IDX:
++ list_add(&lprops->list, &c->frdi_idx_list);
++ break;
++ default:
++ ubifs_assert(0);
++ }
++ lprops->flags &= ~LPROPS_CAT_MASK;
++ lprops->flags |= cat;
++}
++
++/**
++ * ubifs_remove_from_cat - remove LEB properties from a category list or heap.
++ * @c: UBIFS file-system description object
++ * @lprops: LEB properties to remove
++ * @cat: LEB category from which to remove
++ *
++ * LEB properties are categorized to enable fast find operations.
++ */
++static void ubifs_remove_from_cat(struct ubifs_info *c,
++ struct ubifs_lprops *lprops, int cat)
++{
++ switch (cat) {
++ case LPROPS_DIRTY:
++ case LPROPS_DIRTY_IDX:
++ case LPROPS_FREE:
++ remove_from_lpt_heap(c, lprops, cat);
++ break;
++ case LPROPS_FREEABLE:
++ c->freeable_cnt -= 1;
++ ubifs_assert(c->freeable_cnt >= 0);
++ /* Fall through */
++ case LPROPS_UNCAT:
++ case LPROPS_EMPTY:
++ case LPROPS_FRDI_IDX:
++ ubifs_assert(!list_empty(&lprops->list));
++ list_del(&lprops->list);
++ break;
++ default:
++ ubifs_assert(0);
++ }
++}
++
++/**
++ * ubifs_replace_cat - replace lprops in a category list or heap.
++ * @c: UBIFS file-system description object
++ * @old_lprops: LEB properties to replace
++ * @new_lprops: LEB properties with which to replace
++ *
++ * During commit it is sometimes necessary to copy a pnode (see dirty_cow_pnode)
++ * and the lprops that the pnode contains. When that happens, references in
++ * category lists and heaps must be replaced. This function does that.
++ */
++void ubifs_replace_cat(struct ubifs_info *c, struct ubifs_lprops *old_lprops,
++ struct ubifs_lprops *new_lprops)
++{
++ int cat;
++
++ cat = new_lprops->flags & LPROPS_CAT_MASK;
++ switch (cat) {
++ case LPROPS_DIRTY:
++ case LPROPS_DIRTY_IDX:
++ case LPROPS_FREE:
++ lpt_heap_replace(c, old_lprops, new_lprops, cat);
++ break;
++ case LPROPS_UNCAT:
++ case LPROPS_EMPTY:
++ case LPROPS_FREEABLE:
++ case LPROPS_FRDI_IDX:
++ list_replace(&old_lprops->list, &new_lprops->list);
++ break;
++ default:
++ ubifs_assert(0);
++ }
++}
++
++/**
++ * ubifs_ensure_cat - ensure LEB properties are categorized.
++ * @c: UBIFS file-system description object
++ * @lprops: LEB properties
++ *
++ * A LEB may have fallen off of the bottom of a heap, and ended up as
++ * uncategorized even though it has enough space for us now. If that is the case
++ * this function will put the LEB back onto a heap.
++ */
++void ubifs_ensure_cat(struct ubifs_info *c, struct ubifs_lprops *lprops)
++{
++ int cat = lprops->flags & LPROPS_CAT_MASK;
++
++ if (cat != LPROPS_UNCAT)
++ return;
++ cat = ubifs_categorize_lprops(c, lprops);
++ if (cat == LPROPS_UNCAT)
++ return;
++ ubifs_remove_from_cat(c, lprops, LPROPS_UNCAT);
++ ubifs_add_to_cat(c, lprops, cat);
++}
++
++/**
++ * ubifs_categorize_lprops - categorize LEB properties.
++ * @c: UBIFS file-system description object
++ * @lprops: LEB properties to categorize
++ *
++ * LEB properties are categorized to enable fast find operations. This function
++ * returns the LEB category to which the LEB properties belong. Note however
++ * that if the LEB category is stored as a heap and the heap is full, the
++ * LEB properties may have their category changed to %LPROPS_UNCAT.
++ */
++int ubifs_categorize_lprops(const struct ubifs_info *c,
++ const struct ubifs_lprops *lprops)
++{
++ if (lprops->flags & LPROPS_TAKEN)
++ return LPROPS_UNCAT;
++
++ if (lprops->free == c->leb_size) {
++ ubifs_assert(!(lprops->flags & LPROPS_INDEX));
++ return LPROPS_EMPTY;
++ }
++
++ if (lprops->free + lprops->dirty == c->leb_size) {
++ if (lprops->flags & LPROPS_INDEX)
++ return LPROPS_FRDI_IDX;
++ else
++ return LPROPS_FREEABLE;
++ }
++
++ if (lprops->flags & LPROPS_INDEX) {
++ if (lprops->dirty + lprops->free >= c->min_idx_node_sz)
++ return LPROPS_DIRTY_IDX;
++ } else {
++ if (lprops->dirty >= c->dead_wm &&
++ lprops->dirty > lprops->free)
++ return LPROPS_DIRTY;
++ if (lprops->free > 0)
++ return LPROPS_FREE;
++ }
++
++ return LPROPS_UNCAT;
++}
++
++/**
++ * change_category - change LEB properties category.
++ * @c: UBIFS file-system description object
++ * @lprops: LEB properties to recategorize
++ *
++ * LEB properties are categorized to enable fast find operations. When the LEB
++ * properties change they must be recategorized.
++ */
++static void change_category(struct ubifs_info *c, struct ubifs_lprops *lprops)
++{
++ int old_cat = lprops->flags & LPROPS_CAT_MASK;
++ int new_cat = ubifs_categorize_lprops(c, lprops);
++
++ if (old_cat == new_cat) {
++ struct ubifs_lpt_heap *heap = &c->lpt_heap[new_cat - 1];
++
++ /* lprops on a heap now must be moved up or down */
++ if (new_cat < 1 || new_cat > LPROPS_HEAP_CNT)
++ return; /* Not on a heap */
++ heap = &c->lpt_heap[new_cat - 1];
++ adjust_lpt_heap(c, heap, lprops, lprops->hpos, new_cat);
++ } else {
++ ubifs_remove_from_cat(c, lprops, old_cat);
++ ubifs_add_to_cat(c, lprops, new_cat);
++ }
++}
++
++/**
++ * calc_dark - calculate LEB dark space size.
++ * @c: the UBIFS file-system description object
++ * @spc: amount of free and dirty space in the LEB
++ *
++ * This function calculates amount of dark space in an LEB which has @spc bytes
++ * of free and dirty space. Returns the calculations result.
++ *
++ * Dark space is the space which is not always usable - it depends on which
++ * nodes are written in which order. E.g., if an LEB has only 512 free bytes,
++ * it is dark space, because it cannot fit a large data node. So UBIFS cannot
++ * count on this LEB and treat these 512 bytes as usable because it is not true
++ * if, for example, only big chunks of uncompressible data will be written to
++ * the FS.
++ */
++static int calc_dark(struct ubifs_info *c, int spc)
++{
++ ubifs_assert(!(spc & 7));
++
++ if (spc < c->dark_wm)
++ return spc;
++
++ /*
++ * If we have slightly more space then the dark space watermark, we can
++ * anyway safely assume it we'll be able to write a node of the
++ * smallest size there.
++ */
++ if (spc - c->dark_wm < MIN_WRITE_SZ)
++ return spc - MIN_WRITE_SZ;
++
++ return c->dark_wm;
++}
++
++/**
++ * is_lprops_dirty - determine if LEB properties are dirty.
++ * @c: the UBIFS file-system description object
++ * @lprops: LEB properties to test
++ */
++static int is_lprops_dirty(struct ubifs_info *c, struct ubifs_lprops *lprops)
++{
++ struct ubifs_pnode *pnode;
++ int pos;
++
++ pos = (lprops->lnum - c->main_first) & (UBIFS_LPT_FANOUT - 1);
++ pnode = (struct ubifs_pnode *)container_of(lprops - pos,
++ struct ubifs_pnode,
++ lprops[0]);
++ return !test_bit(COW_ZNODE, &pnode->flags) &&
++ test_bit(DIRTY_CNODE, &pnode->flags);
++}
++
++/**
++ * ubifs_change_lp - change LEB properties.
++ * @c: the UBIFS file-system description object
++ * @lp: LEB properties to change
++ * @free: new free space amount
++ * @dirty: new dirty space amount
++ * @flags: new flags
++ * @idx_gc_cnt: change to the count of idx_gc list
++ *
++ * This function changes LEB properties (@free, @dirty or @flag). However, the
++ * property which has the %LPROPS_NC value is not changed. Returns a pointer to
++ * the updated LEB properties on success and a negative error code on failure.
++ *
++ * Note, the LEB properties may have had to be copied (due to COW) and
++ * consequently the pointer returned may not be the same as the pointer
++ * passed.
++ */
++const struct ubifs_lprops *ubifs_change_lp(struct ubifs_info *c,
++ const struct ubifs_lprops *lp,
++ int free, int dirty, int flags,
++ int idx_gc_cnt)
++{
++ /*
++ * This is the only function that is allowed to change lprops, so we
++ * discard the const qualifier.
++ */
++ struct ubifs_lprops *lprops = (struct ubifs_lprops *)lp;
++
++ dbg_lp("LEB %d, free %d, dirty %d, flags %d",
++ lprops->lnum, free, dirty, flags);
++
++ ubifs_assert(mutex_is_locked(&c->lp_mutex));
++ ubifs_assert(c->lst.empty_lebs >= 0 &&
++ c->lst.empty_lebs <= c->main_lebs);
++ ubifs_assert(c->freeable_cnt >= 0);
++ ubifs_assert(c->freeable_cnt <= c->main_lebs);
++ ubifs_assert(c->lst.taken_empty_lebs >= 0);
++ ubifs_assert(c->lst.taken_empty_lebs <= c->lst.empty_lebs);
++ ubifs_assert(!(c->lst.total_free & 7) && !(c->lst.total_dirty & 7));
++ ubifs_assert(!(c->lst.total_dead & 7) && !(c->lst.total_dark & 7));
++ ubifs_assert(!(c->lst.total_used & 7));
++ ubifs_assert(free == LPROPS_NC || free >= 0);
++ ubifs_assert(dirty == LPROPS_NC || dirty >= 0);
++
++ if (!is_lprops_dirty(c, lprops)) {
++ lprops = ubifs_lpt_lookup_dirty(c, lprops->lnum);
++ if (IS_ERR(lprops))
++ return lprops;
++ } else
++ ubifs_assert(lprops == ubifs_lpt_lookup_dirty(c, lprops->lnum));
++
++ ubifs_assert(!(lprops->free & 7) && !(lprops->dirty & 7));
++
++ spin_lock(&c->space_lock);
++ if ((lprops->flags & LPROPS_TAKEN) && lprops->free == c->leb_size)
++ c->lst.taken_empty_lebs -= 1;
++
++ if (!(lprops->flags & LPROPS_INDEX)) {
++ int old_spc;
++
++ old_spc = lprops->free + lprops->dirty;
++ if (old_spc < c->dead_wm)
++ c->lst.total_dead -= old_spc;
++ else
++ c->lst.total_dark -= calc_dark(c, old_spc);
++
++ c->lst.total_used -= c->leb_size - old_spc;
++ }
++
++ if (free != LPROPS_NC) {
++ free = ALIGN(free, 8);
++ c->lst.total_free += free - lprops->free;
++
++ /* Increase or decrease empty LEBs counter if needed */
++ if (free == c->leb_size) {
++ if (lprops->free != c->leb_size)
++ c->lst.empty_lebs += 1;
++ } else if (lprops->free == c->leb_size)
++ c->lst.empty_lebs -= 1;
++ lprops->free = free;
++ }
++
++ if (dirty != LPROPS_NC) {
++ dirty = ALIGN(dirty, 8);
++ c->lst.total_dirty += dirty - lprops->dirty;
++ lprops->dirty = dirty;
++ }
++
++ if (flags != LPROPS_NC) {
++ /* Take care about indexing LEBs counter if needed */
++ if ((lprops->flags & LPROPS_INDEX)) {
++ if (!(flags & LPROPS_INDEX))
++ c->lst.idx_lebs -= 1;
++ } else if (flags & LPROPS_INDEX)
++ c->lst.idx_lebs += 1;
++ lprops->flags = flags;
++ }
++
++ if (!(lprops->flags & LPROPS_INDEX)) {
++ int new_spc;
++
++ new_spc = lprops->free + lprops->dirty;
++ if (new_spc < c->dead_wm)
++ c->lst.total_dead += new_spc;
++ else
++ c->lst.total_dark += calc_dark(c, new_spc);
++
++ c->lst.total_used += c->leb_size - new_spc;
++ }
++
++ if ((lprops->flags & LPROPS_TAKEN) && lprops->free == c->leb_size)
++ c->lst.taken_empty_lebs += 1;
++
++ change_category(c, lprops);
++ c->idx_gc_cnt += idx_gc_cnt;
++ spin_unlock(&c->space_lock);
++ return lprops;
++}
++
++/**
++ * ubifs_get_lp_stats - get lprops statistics.
++ * @c: UBIFS file-system description object
++ * @st: return statistics
++ */
++void ubifs_get_lp_stats(struct ubifs_info *c, struct ubifs_lp_stats *lst)
++{
++ spin_lock(&c->space_lock);
++ memcpy(lst, &c->lst, sizeof(struct ubifs_lp_stats));
++ spin_unlock(&c->space_lock);
++}
++
++/**
++ * ubifs_change_one_lp - change LEB properties.
++ * @c: the UBIFS file-system description object
++ * @lnum: LEB to change properties for
++ * @free: amount of free space
++ * @dirty: amount of dirty space
++ * @flags_set: flags to set
++ * @flags_clean: flags to clean
++ * @idx_gc_cnt: change to the count of idx_gc list
++ *
++ * This function changes properties of LEB @lnum. It is a helper wrapper over
++ * 'ubifs_change_lp()' which hides lprops get/release. The arguments are the
++ * same as in case of 'ubifs_change_lp()'. Returns zero in case of success and
++ * a negative error code in case of failure.
++ */
++int ubifs_change_one_lp(struct ubifs_info *c, int lnum, int free, int dirty,
++ int flags_set, int flags_clean, int idx_gc_cnt)
++{
++ int err = 0, flags;
++ const struct ubifs_lprops *lp;
++
++ ubifs_get_lprops(c);
++
++ lp = ubifs_lpt_lookup_dirty(c, lnum);
++ if (IS_ERR(lp)) {
++ err = PTR_ERR(lp);
++ goto out;
++ }
++
++ flags = (lp->flags | flags_set) & ~flags_clean;
++ lp = ubifs_change_lp(c, lp, free, dirty, flags, idx_gc_cnt);
++ if (IS_ERR(lp))
++ err = PTR_ERR(lp);
++
++out:
++ ubifs_release_lprops(c);
++ if (err)
++ ubifs_err("cannot change properties of LEB %d, error %d",
++ lnum, err);
++ return err;
++}
++
++/**
++ * ubifs_update_one_lp - update LEB properties.
++ * @c: the UBIFS file-system description object
++ * @lnum: LEB to change properties for
++ * @free: amount of free space
++ * @dirty: amount of dirty space to add
++ * @flags_set: flags to set
++ * @flags_clean: flags to clean
++ *
++ * This function is the same as 'ubifs_change_one_lp()' but @dirty is added to
++ * current dirty space, not substitutes it.
++ */
++int ubifs_update_one_lp(struct ubifs_info *c, int lnum, int free, int dirty,
++ int flags_set, int flags_clean)
++{
++ int err = 0, flags;
++ const struct ubifs_lprops *lp;
++
++ ubifs_get_lprops(c);
++
++ lp = ubifs_lpt_lookup_dirty(c, lnum);
++ if (IS_ERR(lp)) {
++ err = PTR_ERR(lp);
++ goto out;
++ }
++
++ flags = (lp->flags | flags_set) & ~flags_clean;
++ lp = ubifs_change_lp(c, lp, free, lp->dirty + dirty, flags, 0);
++ if (IS_ERR(lp))
++ err = PTR_ERR(lp);
++
++out:
++ ubifs_release_lprops(c);
++ if (err)
++ ubifs_err("cannot update properties of LEB %d, error %d",
++ lnum, err);
++ return err;
++}
++
++/**
++ * ubifs_read_one_lp - read LEB properties.
++ * @c: the UBIFS file-system description object
++ * @lnum: LEB to read properties for
++ * @lp: where to store read properties
++ *
++ * This helper function reads properties of a LEB @lnum and stores them in @lp.
++ * Returns zero in case of success and a negative error code in case of
++ * failure.
++ */
++int ubifs_read_one_lp(struct ubifs_info *c, int lnum, struct ubifs_lprops *lp)
++{
++ int err = 0;
++ const struct ubifs_lprops *lpp;
++
++ ubifs_get_lprops(c);
++
++ lpp = ubifs_lpt_lookup(c, lnum);
++ if (IS_ERR(lpp)) {
++ err = PTR_ERR(lpp);
++ ubifs_err("cannot read properties of LEB %d, error %d",
++ lnum, err);
++ goto out;
++ }
++
++ memcpy(lp, lpp, sizeof(struct ubifs_lprops));
++
++out:
++ ubifs_release_lprops(c);
++ return err;
++}
++
++/**
++ * ubifs_fast_find_free - try to find a LEB with free space quickly.
++ * @c: the UBIFS file-system description object
++ *
++ * This function returns LEB properties for a LEB with free space or %NULL if
++ * the function is unable to find a LEB quickly.
++ */
++const struct ubifs_lprops *ubifs_fast_find_free(struct ubifs_info *c)
++{
++ struct ubifs_lprops *lprops;
++ struct ubifs_lpt_heap *heap;
++
++ ubifs_assert(mutex_is_locked(&c->lp_mutex));
++
++ heap = &c->lpt_heap[LPROPS_FREE - 1];
++ if (heap->cnt == 0)
++ return NULL;
++
++ lprops = heap->arr[0];
++ ubifs_assert(!(lprops->flags & LPROPS_TAKEN));
++ ubifs_assert(!(lprops->flags & LPROPS_INDEX));
++ return lprops;
++}
++
++/**
++ * ubifs_fast_find_empty - try to find an empty LEB quickly.
++ * @c: the UBIFS file-system description object
++ *
++ * This function returns LEB properties for an empty LEB or %NULL if the
++ * function is unable to find an empty LEB quickly.
++ */
++const struct ubifs_lprops *ubifs_fast_find_empty(struct ubifs_info *c)
++{
++ struct ubifs_lprops *lprops;
++
++ ubifs_assert(mutex_is_locked(&c->lp_mutex));
++
++ if (list_empty(&c->empty_list))
++ return NULL;
++
++ lprops = list_entry(c->empty_list.next, struct ubifs_lprops, list);
++ ubifs_assert(!(lprops->flags & LPROPS_TAKEN));
++ ubifs_assert(!(lprops->flags & LPROPS_INDEX));
++ ubifs_assert(lprops->free == c->leb_size);
++ return lprops;
++}
++
++/**
++ * ubifs_fast_find_freeable - try to find a freeable LEB quickly.
++ * @c: the UBIFS file-system description object
++ *
++ * This function returns LEB properties for a freeable LEB or %NULL if the
++ * function is unable to find a freeable LEB quickly.
++ */
++const struct ubifs_lprops *ubifs_fast_find_freeable(struct ubifs_info *c)
++{
++ struct ubifs_lprops *lprops;
++
++ ubifs_assert(mutex_is_locked(&c->lp_mutex));
++
++ if (list_empty(&c->freeable_list))
++ return NULL;
++
++ lprops = list_entry(c->freeable_list.next, struct ubifs_lprops, list);
++ ubifs_assert(!(lprops->flags & LPROPS_TAKEN));
++ ubifs_assert(!(lprops->flags & LPROPS_INDEX));
++ ubifs_assert(lprops->free + lprops->dirty == c->leb_size);
++ ubifs_assert(c->freeable_cnt > 0);
++ return lprops;
++}
++
++/**
++ * ubifs_fast_find_frdi_idx - try to find a freeable index LEB quickly.
++ * @c: the UBIFS file-system description object
++ *
++ * This function returns LEB properties for a freeable index LEB or %NULL if the
++ * function is unable to find a freeable index LEB quickly.
++ */
++const struct ubifs_lprops *ubifs_fast_find_frdi_idx(struct ubifs_info *c)
++{
++ struct ubifs_lprops *lprops;
++
++ ubifs_assert(mutex_is_locked(&c->lp_mutex));
++
++ if (list_empty(&c->frdi_idx_list))
++ return NULL;
++
++ lprops = list_entry(c->frdi_idx_list.next, struct ubifs_lprops, list);
++ ubifs_assert(!(lprops->flags & LPROPS_TAKEN));
++ ubifs_assert((lprops->flags & LPROPS_INDEX));
++ ubifs_assert(lprops->free + lprops->dirty == c->leb_size);
++ return lprops;
++}
++
++#ifdef CONFIG_UBIFS_FS_DEBUG
++
++/**
++ * dbg_check_cats - check category heaps and lists.
++ * @c: UBIFS file-system description object
++ *
++ * This function returns %0 on success and a negative error code on failure.
++ */
++int dbg_check_cats(struct ubifs_info *c)
++{
++ struct ubifs_lprops *lprops;
++ struct list_head *pos;
++ int i, cat;
++
++ if (!(ubifs_chk_flags & (UBIFS_CHK_GEN | UBIFS_CHK_LPROPS)))
++ return 0;
++
++ list_for_each_entry(lprops, &c->empty_list, list) {
++ if (lprops->free != c->leb_size) {
++ ubifs_err("non-empty LEB %d on empty list "
++ "(free %d dirty %d flags %d)", lprops->lnum,
++ lprops->free, lprops->dirty, lprops->flags);
++ return -EINVAL;
++ }
++ if (lprops->flags & LPROPS_TAKEN) {
++ ubifs_err("taken LEB %d on empty list "
++ "(free %d dirty %d flags %d)", lprops->lnum,
++ lprops->free, lprops->dirty, lprops->flags);
++ return -EINVAL;
++ }
++ }
++
++ i = 0;
++ list_for_each_entry(lprops, &c->freeable_list, list) {
++ if (lprops->free + lprops->dirty != c->leb_size) {
++ ubifs_err("non-freeable LEB %d on freeable list "
++ "(free %d dirty %d flags %d)", lprops->lnum,
++ lprops->free, lprops->dirty, lprops->flags);
++ return -EINVAL;
++ }
++ if (lprops->flags & LPROPS_TAKEN) {
++ ubifs_err("taken LEB %d on freeable list "
++ "(free %d dirty %d flags %d)", lprops->lnum,
++ lprops->free, lprops->dirty, lprops->flags);
++ return -EINVAL;
++ }
++ i += 1;
++ }
++ if (i != c->freeable_cnt) {
++ ubifs_err("freeable list count %d expected %d", i,
++ c->freeable_cnt);
++ return -EINVAL;
++ }
++
++ i = 0;
++ list_for_each(pos, &c->idx_gc)
++ i += 1;
++ if (i != c->idx_gc_cnt) {
++ ubifs_err("idx_gc list count %d expected %d", i,
++ c->idx_gc_cnt);
++ return -EINVAL;
++ }
++
++ list_for_each_entry(lprops, &c->frdi_idx_list, list) {
++ if (lprops->free + lprops->dirty != c->leb_size) {
++ ubifs_err("non-freeable LEB %d on frdi_idx list "
++ "(free %d dirty %d flags %d)", lprops->lnum,
++ lprops->free, lprops->dirty, lprops->flags);
++ return -EINVAL;
++ }
++ if (lprops->flags & LPROPS_TAKEN) {
++ ubifs_err("taken LEB %d on frdi_idx list "
++ "(free %d dirty %d flags %d)", lprops->lnum,
++ lprops->free, lprops->dirty, lprops->flags);
++ return -EINVAL;
++ }
++ if (!(lprops->flags & LPROPS_INDEX)) {
++ ubifs_err("non-index LEB %d on frdi_idx list "
++ "(free %d dirty %d flags %d)", lprops->lnum,
++ lprops->free, lprops->dirty, lprops->flags);
++ return -EINVAL;
++ }
++ }
++
++ for (cat = 1; cat <= LPROPS_HEAP_CNT; cat++) {
++ struct ubifs_lpt_heap *heap = &c->lpt_heap[cat - 1];
++
++ for (i = 0; i < heap->cnt; i++) {
++ lprops = heap->arr[i];
++ if (!lprops) {
++ ubifs_err("null ptr in LPT heap cat %d", cat);
++ return -EINVAL;
++ }
++ if (lprops->hpos != i) {
++ ubifs_err("bad ptr in LPT heap cat %d", cat);
++ return -EINVAL;
++ }
++ if (lprops->flags & LPROPS_TAKEN) {
++ ubifs_err("taken LEB in LPT heap cat %d", cat);
++ return -EINVAL;
++ }
++ }
++ }
++
++ return 0;
++}
++
++void dbg_check_heap(struct ubifs_info *c, struct ubifs_lpt_heap *heap, int cat,
++ int add_pos)
++{
++ int i = 0, j, err = 0;
++
++ if (!(ubifs_chk_flags & (UBIFS_CHK_GEN | UBIFS_CHK_LPROPS)))
++ return;
++
++ for (i = 0; i < heap->cnt; i++) {
++ struct ubifs_lprops *lprops = heap->arr[i];
++ struct ubifs_lprops *lp;
++
++ if (i != add_pos)
++ if ((lprops->flags & LPROPS_CAT_MASK) != cat) {
++ err = 1;
++ goto out;
++ }
++ if (lprops->hpos != i) {
++ err = 2;
++ goto out;
++ }
++ lp = ubifs_lpt_lookup(c, lprops->lnum);
++ if (IS_ERR(lp)) {
++ err = 3;
++ goto out;
++ }
++ if (lprops != lp) {
++ dbg_msg("lprops %zx lp %zx lprops->lnum %d lp->lnum %d",
++ (size_t)lprops, (size_t)lp, lprops->lnum,
++ lp->lnum);
++ err = 4;
++ goto out;
++ }
++ for (j = 0; j < i; j++) {
++ lp = heap->arr[j];
++ if (lp == lprops) {
++ err = 5;
++ goto out;
++ }
++ if (lp->lnum == lprops->lnum) {
++ err = 6;
++ goto out;
++ }
++ }
++ }
++out:
++ if (err) {
++ dbg_msg("failed cat %d hpos %d err %d", cat, i, err);
++ dbg_dump_stack();
++ dbg_dump_heap(c, heap, cat);
++ }
++}
++
++/**
++ * struct scan_check_data - data provided to scan callback function.
++ * @lst: LEB properties statistics
++ * @err: error code
++ */
++struct scan_check_data {
++ struct ubifs_lp_stats lst;
++ int err;
++};
++
++/**
++ * scan_check_cb - scan callback.
++ * @c: the UBIFS file-system description object
++ * @lp: LEB properties to scan
++ * @in_tree: whether the LEB properties are in main memory
++ * @data: information passed to and from the caller of the scan
++ *
++ * This function returns a code that indicates whether the scan should continue
++ * (%LPT_SCAN_CONTINUE), whether the LEB properties should be added to the tree
++ * in main memory (%LPT_SCAN_ADD), or whether the scan should stop
++ * (%LPT_SCAN_STOP).
++ */
++static int scan_check_cb(struct ubifs_info *c,
++ const struct ubifs_lprops *lp, int in_tree,
++ struct scan_check_data *data)
++{
++ struct ubifs_scan_leb *sleb;
++ struct ubifs_scan_node *snod;
++ struct ubifs_lp_stats *lst = &data->lst;
++ int cat, lnum = lp->lnum, is_idx = 0, used = 0, free, dirty;
++
++ cat = lp->flags & LPROPS_CAT_MASK;
++ if (cat != LPROPS_UNCAT) {
++ cat = ubifs_categorize_lprops(c, lp);
++ if (cat != (lp->flags & LPROPS_CAT_MASK)) {
++ ubifs_err("bad LEB category %d expected %d",
++ (lp->flags & LPROPS_CAT_MASK), cat);
++ goto out;
++ }
++ }
++
++ /* Check lp is on its category list (if it has one) */
++ if (in_tree) {
++ struct list_head *list = NULL;
++
++ switch (cat) {
++ case LPROPS_EMPTY:
++ list = &c->empty_list;
++ break;
++ case LPROPS_FREEABLE:
++ list = &c->freeable_list;
++ break;
++ case LPROPS_FRDI_IDX:
++ list = &c->frdi_idx_list;
++ break;
++ case LPROPS_UNCAT:
++ list = &c->uncat_list;
++ break;
++ }
++ if (list) {
++ struct ubifs_lprops *lprops;
++ int found = 0;
++
++ list_for_each_entry(lprops, list, list) {
++ if (lprops == lp) {
++ found = 1;
++ break;
++ }
++ }
++ if (!found) {
++ ubifs_err("bad LPT list (category %d)", cat);
++ goto out;
++ }
++ }
++ }
++
++ /* Check lp is on its category heap (if it has one) */
++ if (in_tree && cat > 0 && cat <= LPROPS_HEAP_CNT) {
++ struct ubifs_lpt_heap *heap = &c->lpt_heap[cat - 1];
++
++ if ((lp->hpos != -1 && heap->arr[lp->hpos]->lnum != lnum) ||
++ lp != heap->arr[lp->hpos]) {
++ ubifs_err("bad LPT heap (category %d)", cat);
++ goto out;
++ }
++ }
++
++ sleb = ubifs_scan(c, lnum, 0, c->dbg->buf);
++ if (IS_ERR(sleb)) {
++ /*
++ * After an unclean unmount, empty and freeable LEBs
++ * may contain garbage.
++ */
++ if (lp->free == c->leb_size) {
++ ubifs_err("scan errors were in empty LEB "
++ "- continuing checking");
++ lst->empty_lebs += 1;
++ lst->total_free += c->leb_size;
++ lst->total_dark += calc_dark(c, c->leb_size);
++ return LPT_SCAN_CONTINUE;
++ }
++
++ if (lp->free + lp->dirty == c->leb_size &&
++ !(lp->flags & LPROPS_INDEX)) {
++ ubifs_err("scan errors were in freeable LEB "
++ "- continuing checking");
++ lst->total_free += lp->free;
++ lst->total_dirty += lp->dirty;
++ lst->total_dark += calc_dark(c, c->leb_size);
++ return LPT_SCAN_CONTINUE;
++ }
++ data->err = PTR_ERR(sleb);
++ return LPT_SCAN_STOP;
++ }
++
++ is_idx = -1;
++ list_for_each_entry(snod, &sleb->nodes, list) {
++ int found, level = 0;
++
++ cond_resched();
++
++ if (is_idx == -1)
++ is_idx = (snod->type == UBIFS_IDX_NODE) ? 1 : 0;
++
++ if (is_idx && snod->type != UBIFS_IDX_NODE) {
++ ubifs_err("indexing node in data LEB %d:%d",
++ lnum, snod->offs);
++ goto out_destroy;
++ }
++
++ if (snod->type == UBIFS_IDX_NODE) {
++ struct ubifs_idx_node *idx = snod->node;
++
++ key_read(c, ubifs_idx_key(c, idx), &snod->key);
++ level = le16_to_cpu(idx->level);
++ }
++
++ found = ubifs_tnc_has_node(c, &snod->key, level, lnum,
++ snod->offs, is_idx);
++ if (found) {
++ if (found < 0)
++ goto out_destroy;
++ used += ALIGN(snod->len, 8);
++ }
++ }
++
++ free = c->leb_size - sleb->endpt;
++ dirty = sleb->endpt - used;
++
++ if (free > c->leb_size || free < 0 || dirty > c->leb_size ||
++ dirty < 0) {
++ ubifs_err("bad calculated accounting for LEB %d: "
++ "free %d, dirty %d", lnum, free, dirty);
++ goto out_destroy;
++ }
++
++ if (lp->free + lp->dirty == c->leb_size &&
++ free + dirty == c->leb_size)
++ if ((is_idx && !(lp->flags & LPROPS_INDEX)) ||
++ (!is_idx && free == c->leb_size) ||
++ lp->free == c->leb_size) {
++ /*
++ * Empty or freeable LEBs could contain index
++ * nodes from an uncompleted commit due to an
++ * unclean unmount. Or they could be empty for
++ * the same reason. Or it may simply not have been
++ * unmapped.
++ */
++ free = lp->free;
++ dirty = lp->dirty;
++ is_idx = 0;
++ }
++
++ if (is_idx && lp->free + lp->dirty == free + dirty &&
++ lnum != c->ihead_lnum) {
++ /*
++ * After an unclean unmount, an index LEB could have a different
++ * amount of free space than the value recorded by lprops. That
++ * is because the in-the-gaps method may use free space or
++ * create free space (as a side-effect of using ubi_leb_change
++ * and not writing the whole LEB). The incorrect free space
++ * value is not a problem because the index is only ever
++ * allocated empty LEBs, so there will never be an attempt to
++ * write to the free space at the end of an index LEB - except
++ * by the in-the-gaps method for which it is not a problem.
++ */
++ free = lp->free;
++ dirty = lp->dirty;
++ }
++
++ if (lp->free != free || lp->dirty != dirty)
++ goto out_print;
++
++ if (is_idx && !(lp->flags & LPROPS_INDEX)) {
++ if (free == c->leb_size)
++ /* Free but not unmapped LEB, it's fine */
++ is_idx = 0;
++ else {
++ ubifs_err("indexing node without indexing "
++ "flag");
++ goto out_print;
++ }
++ }
++
++ if (!is_idx && (lp->flags & LPROPS_INDEX)) {
++ ubifs_err("data node with indexing flag");
++ goto out_print;
++ }
++
++ if (free == c->leb_size)
++ lst->empty_lebs += 1;
++
++ if (is_idx)
++ lst->idx_lebs += 1;
++
++ if (!(lp->flags & LPROPS_INDEX))
++ lst->total_used += c->leb_size - free - dirty;
++ lst->total_free += free;
++ lst->total_dirty += dirty;
++
++ if (!(lp->flags & LPROPS_INDEX)) {
++ int spc = free + dirty;
++
++ if (spc < c->dead_wm)
++ lst->total_dead += spc;
++ else
++ lst->total_dark += calc_dark(c, spc);
++ }
++
++ ubifs_scan_destroy(sleb);
++ return LPT_SCAN_CONTINUE;
++
++out_print:
++ ubifs_err("bad accounting of LEB %d: free %d, dirty %d flags %#x, "
++ "should be free %d, dirty %d",
++ lnum, lp->free, lp->dirty, lp->flags, free, dirty);
++ dbg_dump_leb(c, lnum);
++out_destroy:
++ ubifs_scan_destroy(sleb);
++out:
++ data->err = -EINVAL;
++ return LPT_SCAN_STOP;
++}
++
++/**
++ * dbg_check_lprops - check all LEB properties.
++ * @c: UBIFS file-system description object
++ *
++ * This function checks all LEB properties and makes sure they are all correct.
++ * It returns zero if everything is fine, %-EINVAL if there is an inconsistency
++ * and other negative error codes in case of other errors. This function is
++ * called while the file system is locked (because of commit start), so no
++ * additional locking is required. Note that locking the LPT mutex would cause
++ * a circular lock dependency with the TNC mutex.
++ */
++int dbg_check_lprops(struct ubifs_info *c)
++{
++ int i, err;
++ struct scan_check_data data;
++ struct ubifs_lp_stats *lst = &data.lst;
++
++ if (!(ubifs_chk_flags & UBIFS_CHK_LPROPS))
++ return 0;
++
++ /*
++ * As we are going to scan the media, the write buffers have to be
++ * synchronized.
++ */
++ for (i = 0; i < c->jhead_cnt; i++) {
++ err = ubifs_wbuf_sync(&c->jheads[i].wbuf);
++ if (err)
++ return err;
++ }
++
++ memset(lst, 0, sizeof(struct ubifs_lp_stats));
++
++ data.err = 0;
++ err = ubifs_lpt_scan_nolock(c, c->main_first, c->leb_cnt - 1,
++ (ubifs_lpt_scan_callback)scan_check_cb,
++ &data);
++ if (err && err != -ENOSPC)
++ goto out;
++ if (data.err) {
++ err = data.err;
++ goto out;
++ }
++
++ if (lst->empty_lebs != c->lst.empty_lebs ||
++ lst->idx_lebs != c->lst.idx_lebs ||
++ lst->total_free != c->lst.total_free ||
++ lst->total_dirty != c->lst.total_dirty ||
++ lst->total_used != c->lst.total_used) {
++ ubifs_err("bad overall accounting");
++ ubifs_err("calculated: empty_lebs %d, idx_lebs %d, "
++ "total_free %lld, total_dirty %lld, total_used %lld",
++ lst->empty_lebs, lst->idx_lebs, lst->total_free,
++ lst->total_dirty, lst->total_used);
++ ubifs_err("read from lprops: empty_lebs %d, idx_lebs %d, "
++ "total_free %lld, total_dirty %lld, total_used %lld",
++ c->lst.empty_lebs, c->lst.idx_lebs, c->lst.total_free,
++ c->lst.total_dirty, c->lst.total_used);
++ err = -EINVAL;
++ goto out;
++ }
++
++ if (lst->total_dead != c->lst.total_dead ||
++ lst->total_dark != c->lst.total_dark) {
++ ubifs_err("bad dead/dark space accounting");
++ ubifs_err("calculated: total_dead %lld, total_dark %lld",
++ lst->total_dead, lst->total_dark);
++ ubifs_err("read from lprops: total_dead %lld, total_dark %lld",
++ c->lst.total_dead, c->lst.total_dark);
++ err = -EINVAL;
++ goto out;
++ }
++
++ err = dbg_check_cats(c);
++out:
++ return err;
++}
++
++#endif /* CONFIG_UBIFS_FS_DEBUG */
+diff -Nurd linux-2.6.24/fs/ubifs/lpt.c ubifs-v2.6.24/fs/ubifs/lpt.c
+--- linux-2.6.24/fs/ubifs/lpt.c 1970-01-01 02:00:00.000000000 +0200
++++ ubifs-v2.6.24/fs/ubifs/lpt.c 2009-04-07 17:14:47.000000000 +0200
+@@ -0,0 +1,2271 @@
++/*
++ * This file is part of UBIFS.
++ *
++ * Copyright (C) 2006-2008 Nokia Corporation.
++ *
++ * This program is free software; you can redistribute it and/or modify it
++ * under the terms of the GNU General Public License version 2 as published by
++ * the Free Software Foundation.
++ *
++ * 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, write to the Free Software Foundation, Inc., 51
++ * Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
++ *
++ * Authors: Adrian Hunter
++ * Artem Bityutskiy (Битюцкий Ðртём)
++ */
++
++/*
++ * This file implements the LEB properties tree (LPT) area. The LPT area
++ * contains the LEB properties tree, a table of LPT area eraseblocks (ltab), and
++ * (for the "big" model) a table of saved LEB numbers (lsave). The LPT area sits
++ * between the log and the orphan area.
++ *
++ * The LPT area is like a miniature self-contained file system. It is required
++ * that it never runs out of space, is fast to access and update, and scales
++ * logarithmically. The LEB properties tree is implemented as a wandering tree
++ * much like the TNC, and the LPT area has its own garbage collection.
++ *
++ * The LPT has two slightly different forms called the "small model" and the
++ * "big model". The small model is used when the entire LEB properties table
++ * can be written into a single eraseblock. In that case, garbage collection
++ * consists of just writing the whole table, which therefore makes all other
++ * eraseblocks reusable. In the case of the big model, dirty eraseblocks are
++ * selected for garbage collection, which consists of marking the clean nodes in
++ * that LEB as dirty, and then only the dirty nodes are written out. Also, in
++ * the case of the big model, a table of LEB numbers is saved so that the entire
++ * LPT does not to be scanned looking for empty eraseblocks when UBIFS is first
++ * mounted.
++ */
++
++#include "ubifs.h"
++#include <linux/crc16.h>
++
++/**
++ * do_calc_lpt_geom - calculate sizes for the LPT area.
++ * @c: the UBIFS file-system description object
++ *
++ * Calculate the sizes of LPT bit fields, nodes, and tree, based on the
++ * properties of the flash and whether LPT is "big" (c->big_lpt).
++ */
++static void do_calc_lpt_geom(struct ubifs_info *c)
++{
++ int i, n, bits, per_leb_wastage, max_pnode_cnt;
++ long long sz, tot_wastage;
++
++ n = c->main_lebs + c->max_leb_cnt - c->leb_cnt;
++ max_pnode_cnt = DIV_ROUND_UP(n, UBIFS_LPT_FANOUT);
++
++ c->lpt_hght = 1;
++ n = UBIFS_LPT_FANOUT;
++ while (n < max_pnode_cnt) {
++ c->lpt_hght += 1;
++ n <<= UBIFS_LPT_FANOUT_SHIFT;
++ }
++
++ c->pnode_cnt = DIV_ROUND_UP(c->main_lebs, UBIFS_LPT_FANOUT);
++
++ n = DIV_ROUND_UP(c->pnode_cnt, UBIFS_LPT_FANOUT);
++ c->nnode_cnt = n;
++ for (i = 1; i < c->lpt_hght; i++) {
++ n = DIV_ROUND_UP(n, UBIFS_LPT_FANOUT);
++ c->nnode_cnt += n;
++ }
++
++ c->space_bits = fls(c->leb_size) - 3;
++ c->lpt_lnum_bits = fls(c->lpt_lebs);
++ c->lpt_offs_bits = fls(c->leb_size - 1);
++ c->lpt_spc_bits = fls(c->leb_size);
++
++ n = DIV_ROUND_UP(c->max_leb_cnt, UBIFS_LPT_FANOUT);
++ c->pcnt_bits = fls(n - 1);
++
++ c->lnum_bits = fls(c->max_leb_cnt - 1);
++
++ bits = UBIFS_LPT_CRC_BITS + UBIFS_LPT_TYPE_BITS +
++ (c->big_lpt ? c->pcnt_bits : 0) +
++ (c->space_bits * 2 + 1) * UBIFS_LPT_FANOUT;
++ c->pnode_sz = (bits + 7) / 8;
++
++ bits = UBIFS_LPT_CRC_BITS + UBIFS_LPT_TYPE_BITS +
++ (c->big_lpt ? c->pcnt_bits : 0) +
++ (c->lpt_lnum_bits + c->lpt_offs_bits) * UBIFS_LPT_FANOUT;
++ c->nnode_sz = (bits + 7) / 8;
++
++ bits = UBIFS_LPT_CRC_BITS + UBIFS_LPT_TYPE_BITS +
++ c->lpt_lebs * c->lpt_spc_bits * 2;
++ c->ltab_sz = (bits + 7) / 8;
++
++ bits = UBIFS_LPT_CRC_BITS + UBIFS_LPT_TYPE_BITS +
++ c->lnum_bits * c->lsave_cnt;
++ c->lsave_sz = (bits + 7) / 8;
++
++ /* Calculate the minimum LPT size */
++ c->lpt_sz = (long long)c->pnode_cnt * c->pnode_sz;
++ c->lpt_sz += (long long)c->nnode_cnt * c->nnode_sz;
++ c->lpt_sz += c->ltab_sz;
++ if (c->big_lpt)
++ c->lpt_sz += c->lsave_sz;
++
++ /* Add wastage */
++ sz = c->lpt_sz;
++ per_leb_wastage = max_t(int, c->pnode_sz, c->nnode_sz);
++ sz += per_leb_wastage;
++ tot_wastage = per_leb_wastage;
++ while (sz > c->leb_size) {
++ sz += per_leb_wastage;
++ sz -= c->leb_size;
++ tot_wastage += per_leb_wastage;
++ }
++ tot_wastage += ALIGN(sz, c->min_io_size) - sz;
++ c->lpt_sz += tot_wastage;
++}
++
++/**
++ * ubifs_calc_lpt_geom - calculate and check sizes for the LPT area.
++ * @c: the UBIFS file-system description object
++ *
++ * This function returns %0 on success and a negative error code on failure.
++ */
++int ubifs_calc_lpt_geom(struct ubifs_info *c)
++{
++ int lebs_needed;
++ long long sz;
++
++ do_calc_lpt_geom(c);
++
++ /* Verify that lpt_lebs is big enough */
++ sz = c->lpt_sz * 2; /* Must have at least 2 times the size */
++ lebs_needed = div_u64(sz + c->leb_size - 1, c->leb_size);
++ if (lebs_needed > c->lpt_lebs) {
++ ubifs_err("too few LPT LEBs");
++ return -EINVAL;
++ }
++
++ /* Verify that ltab fits in a single LEB (since ltab is a single node */
++ if (c->ltab_sz > c->leb_size) {
++ ubifs_err("LPT ltab too big");
++ return -EINVAL;
++ }
++
++ c->check_lpt_free = c->big_lpt;
++ return 0;
++}
++
++/**
++ * calc_dflt_lpt_geom - calculate default LPT geometry.
++ * @c: the UBIFS file-system description object
++ * @main_lebs: number of main area LEBs is passed and returned here
++ * @big_lpt: whether the LPT area is "big" is returned here
++ *
++ * The size of the LPT area depends on parameters that themselves are dependent
++ * on the size of the LPT area. This function, successively recalculates the LPT
++ * area geometry until the parameters and resultant geometry are consistent.
++ *
++ * This function returns %0 on success and a negative error code on failure.
++ */
++static int calc_dflt_lpt_geom(struct ubifs_info *c, int *main_lebs,
++ int *big_lpt)
++{
++ int i, lebs_needed;
++ long long sz;
++
++ /* Start by assuming the minimum number of LPT LEBs */
++ c->lpt_lebs = UBIFS_MIN_LPT_LEBS;
++ c->main_lebs = *main_lebs - c->lpt_lebs;
++ if (c->main_lebs <= 0)
++ return -EINVAL;
++
++ /* And assume we will use the small LPT model */
++ c->big_lpt = 0;
++
++ /*
++ * Calculate the geometry based on assumptions above and then see if it
++ * makes sense
++ */
++ do_calc_lpt_geom(c);
++
++ /* Small LPT model must have lpt_sz < leb_size */
++ if (c->lpt_sz > c->leb_size) {
++ /* Nope, so try again using big LPT model */
++ c->big_lpt = 1;
++ do_calc_lpt_geom(c);
++ }
++
++ /* Now check there are enough LPT LEBs */
++ for (i = 0; i < 64 ; i++) {
++ sz = c->lpt_sz * 4; /* Allow 4 times the size */
++ lebs_needed = div_u64(sz + c->leb_size - 1, c->leb_size);
++ if (lebs_needed > c->lpt_lebs) {
++ /* Not enough LPT LEBs so try again with more */
++ c->lpt_lebs = lebs_needed;
++ c->main_lebs = *main_lebs - c->lpt_lebs;
++ if (c->main_lebs <= 0)
++ return -EINVAL;
++ do_calc_lpt_geom(c);
++ continue;
++ }
++ if (c->ltab_sz > c->leb_size) {
++ ubifs_err("LPT ltab too big");
++ return -EINVAL;
++ }
++ *main_lebs = c->main_lebs;
++ *big_lpt = c->big_lpt;
++ return 0;
++ }
++ return -EINVAL;
++}
++
++/**
++ * pack_bits - pack bit fields end-to-end.
++ * @addr: address at which to pack (passed and next address returned)
++ * @pos: bit position at which to pack (passed and next position returned)
++ * @val: value to pack
++ * @nrbits: number of bits of value to pack (1-32)
++ */
++static void pack_bits(uint8_t **addr, int *pos, uint32_t val, int nrbits)
++{
++ uint8_t *p = *addr;
++ int b = *pos;
++
++ ubifs_assert(nrbits > 0);
++ ubifs_assert(nrbits <= 32);
++ ubifs_assert(*pos >= 0);
++ ubifs_assert(*pos < 8);
++ ubifs_assert((val >> nrbits) == 0 || nrbits == 32);
++ if (b) {
++ *p |= ((uint8_t)val) << b;
++ nrbits += b;
++ if (nrbits > 8) {
++ *++p = (uint8_t)(val >>= (8 - b));
++ if (nrbits > 16) {
++ *++p = (uint8_t)(val >>= 8);
++ if (nrbits > 24) {
++ *++p = (uint8_t)(val >>= 8);
++ if (nrbits > 32)
++ *++p = (uint8_t)(val >>= 8);
++ }
++ }
++ }
++ } else {
++ *p = (uint8_t)val;
++ if (nrbits > 8) {
++ *++p = (uint8_t)(val >>= 8);
++ if (nrbits > 16) {
++ *++p = (uint8_t)(val >>= 8);
++ if (nrbits > 24)
++ *++p = (uint8_t)(val >>= 8);
++ }
++ }
++ }
++ b = nrbits & 7;
++ if (b == 0)
++ p++;
++ *addr = p;
++ *pos = b;
++}
++
++/**
++ * ubifs_unpack_bits - unpack bit fields.
++ * @addr: address at which to unpack (passed and next address returned)
++ * @pos: bit position at which to unpack (passed and next position returned)
++ * @nrbits: number of bits of value to unpack (1-32)
++ *
++ * This functions returns the value unpacked.
++ */
++uint32_t ubifs_unpack_bits(uint8_t **addr, int *pos, int nrbits)
++{
++ const int k = 32 - nrbits;
++ uint8_t *p = *addr;
++ int b = *pos;
++ uint32_t uninitialized_var(val);
++ const int bytes = (nrbits + b + 7) >> 3;
++
++ ubifs_assert(nrbits > 0);
++ ubifs_assert(nrbits <= 32);
++ ubifs_assert(*pos >= 0);
++ ubifs_assert(*pos < 8);
++ if (b) {
++ switch (bytes) {
++ case 2:
++ val = p[1];
++ break;
++ case 3:
++ val = p[1] | ((uint32_t)p[2] << 8);
++ break;
++ case 4:
++ val = p[1] | ((uint32_t)p[2] << 8) |
++ ((uint32_t)p[3] << 16);
++ break;
++ case 5:
++ val = p[1] | ((uint32_t)p[2] << 8) |
++ ((uint32_t)p[3] << 16) |
++ ((uint32_t)p[4] << 24);
++ }
++ val <<= (8 - b);
++ val |= *p >> b;
++ nrbits += b;
++ } else {
++ switch (bytes) {
++ case 1:
++ val = p[0];
++ break;
++ case 2:
++ val = p[0] | ((uint32_t)p[1] << 8);
++ break;
++ case 3:
++ val = p[0] | ((uint32_t)p[1] << 8) |
++ ((uint32_t)p[2] << 16);
++ break;
++ case 4:
++ val = p[0] | ((uint32_t)p[1] << 8) |
++ ((uint32_t)p[2] << 16) |
++ ((uint32_t)p[3] << 24);
++ break;
++ }
++ }
++ val <<= k;
++ val >>= k;
++ b = nrbits & 7;
++ p += nrbits >> 3;
++ *addr = p;
++ *pos = b;
++ ubifs_assert((val >> nrbits) == 0 || nrbits - b == 32);
++ return val;
++}
++
++/**
++ * ubifs_pack_pnode - pack all the bit fields of a pnode.
++ * @c: UBIFS file-system description object
++ * @buf: buffer into which to pack
++ * @pnode: pnode to pack
++ */
++void ubifs_pack_pnode(struct ubifs_info *c, void *buf,
++ struct ubifs_pnode *pnode)
++{
++ uint8_t *addr = buf + UBIFS_LPT_CRC_BYTES;
++ int i, pos = 0;
++ uint16_t crc;
++
++ pack_bits(&addr, &pos, UBIFS_LPT_PNODE, UBIFS_LPT_TYPE_BITS);
++ if (c->big_lpt)
++ pack_bits(&addr, &pos, pnode->num, c->pcnt_bits);
++ for (i = 0; i < UBIFS_LPT_FANOUT; i++) {
++ pack_bits(&addr, &pos, pnode->lprops[i].free >> 3,
++ c->space_bits);
++ pack_bits(&addr, &pos, pnode->lprops[i].dirty >> 3,
++ c->space_bits);
++ if (pnode->lprops[i].flags & LPROPS_INDEX)
++ pack_bits(&addr, &pos, 1, 1);
++ else
++ pack_bits(&addr, &pos, 0, 1);
++ }
++ crc = crc16(-1, buf + UBIFS_LPT_CRC_BYTES,
++ c->pnode_sz - UBIFS_LPT_CRC_BYTES);
++ addr = buf;
++ pos = 0;
++ pack_bits(&addr, &pos, crc, UBIFS_LPT_CRC_BITS);
++}
++
++/**
++ * ubifs_pack_nnode - pack all the bit fields of a nnode.
++ * @c: UBIFS file-system description object
++ * @buf: buffer into which to pack
++ * @nnode: nnode to pack
++ */
++void ubifs_pack_nnode(struct ubifs_info *c, void *buf,
++ struct ubifs_nnode *nnode)
++{
++ uint8_t *addr = buf + UBIFS_LPT_CRC_BYTES;
++ int i, pos = 0;
++ uint16_t crc;
++
++ pack_bits(&addr, &pos, UBIFS_LPT_NNODE, UBIFS_LPT_TYPE_BITS);
++ if (c->big_lpt)
++ pack_bits(&addr, &pos, nnode->num, c->pcnt_bits);
++ for (i = 0; i < UBIFS_LPT_FANOUT; i++) {
++ int lnum = nnode->nbranch[i].lnum;
++
++ if (lnum == 0)
++ lnum = c->lpt_last + 1;
++ pack_bits(&addr, &pos, lnum - c->lpt_first, c->lpt_lnum_bits);
++ pack_bits(&addr, &pos, nnode->nbranch[i].offs,
++ c->lpt_offs_bits);
++ }
++ crc = crc16(-1, buf + UBIFS_LPT_CRC_BYTES,
++ c->nnode_sz - UBIFS_LPT_CRC_BYTES);
++ addr = buf;
++ pos = 0;
++ pack_bits(&addr, &pos, crc, UBIFS_LPT_CRC_BITS);
++}
++
++/**
++ * ubifs_pack_ltab - pack the LPT's own lprops table.
++ * @c: UBIFS file-system description object
++ * @buf: buffer into which to pack
++ * @ltab: LPT's own lprops table to pack
++ */
++void ubifs_pack_ltab(struct ubifs_info *c, void *buf,
++ struct ubifs_lpt_lprops *ltab)
++{
++ uint8_t *addr = buf + UBIFS_LPT_CRC_BYTES;
++ int i, pos = 0;
++ uint16_t crc;
++
++ pack_bits(&addr, &pos, UBIFS_LPT_LTAB, UBIFS_LPT_TYPE_BITS);
++ for (i = 0; i < c->lpt_lebs; i++) {
++ pack_bits(&addr, &pos, ltab[i].free, c->lpt_spc_bits);
++ pack_bits(&addr, &pos, ltab[i].dirty, c->lpt_spc_bits);
++ }
++ crc = crc16(-1, buf + UBIFS_LPT_CRC_BYTES,
++ c->ltab_sz - UBIFS_LPT_CRC_BYTES);
++ addr = buf;
++ pos = 0;
++ pack_bits(&addr, &pos, crc, UBIFS_LPT_CRC_BITS);
++}
++
++/**
++ * ubifs_pack_lsave - pack the LPT's save table.
++ * @c: UBIFS file-system description object
++ * @buf: buffer into which to pack
++ * @lsave: LPT's save table to pack
++ */
++void ubifs_pack_lsave(struct ubifs_info *c, void *buf, int *lsave)
++{
++ uint8_t *addr = buf + UBIFS_LPT_CRC_BYTES;
++ int i, pos = 0;
++ uint16_t crc;
++
++ pack_bits(&addr, &pos, UBIFS_LPT_LSAVE, UBIFS_LPT_TYPE_BITS);
++ for (i = 0; i < c->lsave_cnt; i++)
++ pack_bits(&addr, &pos, lsave[i], c->lnum_bits);
++ crc = crc16(-1, buf + UBIFS_LPT_CRC_BYTES,
++ c->lsave_sz - UBIFS_LPT_CRC_BYTES);
++ addr = buf;
++ pos = 0;
++ pack_bits(&addr, &pos, crc, UBIFS_LPT_CRC_BITS);
++}
++
++/**
++ * ubifs_add_lpt_dirt - add dirty space to LPT LEB properties.
++ * @c: UBIFS file-system description object
++ * @lnum: LEB number to which to add dirty space
++ * @dirty: amount of dirty space to add
++ */
++void ubifs_add_lpt_dirt(struct ubifs_info *c, int lnum, int dirty)
++{
++ if (!dirty || !lnum)
++ return;
++ dbg_lp("LEB %d add %d to %d",
++ lnum, dirty, c->ltab[lnum - c->lpt_first].dirty);
++ ubifs_assert(lnum >= c->lpt_first && lnum <= c->lpt_last);
++ c->ltab[lnum - c->lpt_first].dirty += dirty;
++}
++
++/**
++ * set_ltab - set LPT LEB properties.
++ * @c: UBIFS file-system description object
++ * @lnum: LEB number
++ * @free: amount of free space
++ * @dirty: amount of dirty space
++ */
++static void set_ltab(struct ubifs_info *c, int lnum, int free, int dirty)
++{
++ dbg_lp("LEB %d free %d dirty %d to %d %d",
++ lnum, c->ltab[lnum - c->lpt_first].free,
++ c->ltab[lnum - c->lpt_first].dirty, free, dirty);
++ ubifs_assert(lnum >= c->lpt_first && lnum <= c->lpt_last);
++ c->ltab[lnum - c->lpt_first].free = free;
++ c->ltab[lnum - c->lpt_first].dirty = dirty;
++}
++
++/**
++ * ubifs_add_nnode_dirt - add dirty space to LPT LEB properties.
++ * @c: UBIFS file-system description object
++ * @nnode: nnode for which to add dirt
++ */
++void ubifs_add_nnode_dirt(struct ubifs_info *c, struct ubifs_nnode *nnode)
++{
++ struct ubifs_nnode *np = nnode->parent;
++
++ if (np)
++ ubifs_add_lpt_dirt(c, np->nbranch[nnode->iip].lnum,
++ c->nnode_sz);
++ else {
++ ubifs_add_lpt_dirt(c, c->lpt_lnum, c->nnode_sz);
++ if (!(c->lpt_drty_flgs & LTAB_DIRTY)) {
++ c->lpt_drty_flgs |= LTAB_DIRTY;
++ ubifs_add_lpt_dirt(c, c->ltab_lnum, c->ltab_sz);
++ }
++ }
++}
++
++/**
++ * add_pnode_dirt - add dirty space to LPT LEB properties.
++ * @c: UBIFS file-system description object
++ * @pnode: pnode for which to add dirt
++ */
++static void add_pnode_dirt(struct ubifs_info *c, struct ubifs_pnode *pnode)
++{
++ ubifs_add_lpt_dirt(c, pnode->parent->nbranch[pnode->iip].lnum,
++ c->pnode_sz);
++}
++
++/**
++ * calc_nnode_num - calculate nnode number.
++ * @row: the row in the tree (root is zero)
++ * @col: the column in the row (leftmost is zero)
++ *
++ * The nnode number is a number that uniquely identifies a nnode and can be used
++ * easily to traverse the tree from the root to that nnode.
++ *
++ * This function calculates and returns the nnode number for the nnode at @row
++ * and @col.
++ */
++static int calc_nnode_num(int row, int col)
++{
++ int num, bits;
++
++ num = 1;
++ while (row--) {
++ bits = (col & (UBIFS_LPT_FANOUT - 1));
++ col >>= UBIFS_LPT_FANOUT_SHIFT;
++ num <<= UBIFS_LPT_FANOUT_SHIFT;
++ num |= bits;
++ }
++ return num;
++}
++
++/**
++ * calc_nnode_num_from_parent - calculate nnode number.
++ * @c: UBIFS file-system description object
++ * @parent: parent nnode
++ * @iip: index in parent
++ *
++ * The nnode number is a number that uniquely identifies a nnode and can be used
++ * easily to traverse the tree from the root to that nnode.
++ *
++ * This function calculates and returns the nnode number based on the parent's
++ * nnode number and the index in parent.
++ */
++static int calc_nnode_num_from_parent(const struct ubifs_info *c,
++ struct ubifs_nnode *parent, int iip)
++{
++ int num, shft;
++
++ if (!parent)
++ return 1;
++ shft = (c->lpt_hght - parent->level) * UBIFS_LPT_FANOUT_SHIFT;
++ num = parent->num ^ (1 << shft);
++ num |= (UBIFS_LPT_FANOUT + iip) << shft;
++ return num;
++}
++
++/**
++ * calc_pnode_num_from_parent - calculate pnode number.
++ * @c: UBIFS file-system description object
++ * @parent: parent nnode
++ * @iip: index in parent
++ *
++ * The pnode number is a number that uniquely identifies a pnode and can be used
++ * easily to traverse the tree from the root to that pnode.
++ *
++ * This function calculates and returns the pnode number based on the parent's
++ * nnode number and the index in parent.
++ */
++static int calc_pnode_num_from_parent(const struct ubifs_info *c,
++ struct ubifs_nnode *parent, int iip)
++{
++ int i, n = c->lpt_hght - 1, pnum = parent->num, num = 0;
++
++ for (i = 0; i < n; i++) {
++ num <<= UBIFS_LPT_FANOUT_SHIFT;
++ num |= pnum & (UBIFS_LPT_FANOUT - 1);
++ pnum >>= UBIFS_LPT_FANOUT_SHIFT;
++ }
++ num <<= UBIFS_LPT_FANOUT_SHIFT;
++ num |= iip;
++ return num;
++}
++
++/**
++ * ubifs_create_dflt_lpt - create default LPT.
++ * @c: UBIFS file-system description object
++ * @main_lebs: number of main area LEBs is passed and returned here
++ * @lpt_first: LEB number of first LPT LEB
++ * @lpt_lebs: number of LEBs for LPT is passed and returned here
++ * @big_lpt: use big LPT model is passed and returned here
++ *
++ * This function returns %0 on success and a negative error code on failure.
++ */
++int ubifs_create_dflt_lpt(struct ubifs_info *c, int *main_lebs, int lpt_first,
++ int *lpt_lebs, int *big_lpt)
++{
++ int lnum, err = 0, node_sz, iopos, i, j, cnt, len, alen, row;
++ int blnum, boffs, bsz, bcnt;
++ struct ubifs_pnode *pnode = NULL;
++ struct ubifs_nnode *nnode = NULL;
++ void *buf = NULL, *p;
++ struct ubifs_lpt_lprops *ltab = NULL;
++ int *lsave = NULL;
++
++ err = calc_dflt_lpt_geom(c, main_lebs, big_lpt);
++ if (err)
++ return err;
++ *lpt_lebs = c->lpt_lebs;
++
++ /* Needed by 'ubifs_pack_nnode()' and 'set_ltab()' */
++ c->lpt_first = lpt_first;
++ /* Needed by 'set_ltab()' */
++ c->lpt_last = lpt_first + c->lpt_lebs - 1;
++ /* Needed by 'ubifs_pack_lsave()' */
++ c->main_first = c->leb_cnt - *main_lebs;
++
++ lsave = kmalloc(sizeof(int) * c->lsave_cnt, GFP_KERNEL);
++ pnode = kzalloc(sizeof(struct ubifs_pnode), GFP_KERNEL);
++ nnode = kzalloc(sizeof(struct ubifs_nnode), GFP_KERNEL);
++ buf = vmalloc(c->leb_size);
++ ltab = vmalloc(sizeof(struct ubifs_lpt_lprops) * c->lpt_lebs);
++ if (!pnode || !nnode || !buf || !ltab || !lsave) {
++ err = -ENOMEM;
++ goto out;
++ }
++
++ ubifs_assert(!c->ltab);
++ c->ltab = ltab; /* Needed by set_ltab */
++
++ /* Initialize LPT's own lprops */
++ for (i = 0; i < c->lpt_lebs; i++) {
++ ltab[i].free = c->leb_size;
++ ltab[i].dirty = 0;
++ ltab[i].tgc = 0;
++ ltab[i].cmt = 0;
++ }
++
++ lnum = lpt_first;
++ p = buf;
++ /* Number of leaf nodes (pnodes) */
++ cnt = c->pnode_cnt;
++
++ /*
++ * The first pnode contains the LEB properties for the LEBs that contain
++ * the root inode node and the root index node of the index tree.
++ */
++ node_sz = ALIGN(ubifs_idx_node_sz(c, 1), 8);
++ iopos = ALIGN(node_sz, c->min_io_size);
++ pnode->lprops[0].free = c->leb_size - iopos;
++ pnode->lprops[0].dirty = iopos - node_sz;
++ pnode->lprops[0].flags = LPROPS_INDEX;
++
++ node_sz = UBIFS_INO_NODE_SZ;
++ iopos = ALIGN(node_sz, c->min_io_size);
++ pnode->lprops[1].free = c->leb_size - iopos;
++ pnode->lprops[1].dirty = iopos - node_sz;
++
++ for (i = 2; i < UBIFS_LPT_FANOUT; i++)
++ pnode->lprops[i].free = c->leb_size;
++
++ /* Add first pnode */
++ ubifs_pack_pnode(c, p, pnode);
++ p += c->pnode_sz;
++ len = c->pnode_sz;
++ pnode->num += 1;
++
++ /* Reset pnode values for remaining pnodes */
++ pnode->lprops[0].free = c->leb_size;
++ pnode->lprops[0].dirty = 0;
++ pnode->lprops[0].flags = 0;
++
++ pnode->lprops[1].free = c->leb_size;
++ pnode->lprops[1].dirty = 0;
++
++ /*
++ * To calculate the internal node branches, we keep information about
++ * the level below.
++ */
++ blnum = lnum; /* LEB number of level below */
++ boffs = 0; /* Offset of level below */
++ bcnt = cnt; /* Number of nodes in level below */
++ bsz = c->pnode_sz; /* Size of nodes in level below */
++
++ /* Add all remaining pnodes */
++ for (i = 1; i < cnt; i++) {
++ if (len + c->pnode_sz > c->leb_size) {
++ alen = ALIGN(len, c->min_io_size);
++ set_ltab(c, lnum, c->leb_size - alen, alen - len);
++ memset(p, 0xff, alen - len);
++ err = ubi_leb_change(c->ubi, lnum++, buf, alen,
++ UBI_SHORTTERM);
++ if (err)
++ goto out;
++ p = buf;
++ len = 0;
++ }
++ ubifs_pack_pnode(c, p, pnode);
++ p += c->pnode_sz;
++ len += c->pnode_sz;
++ /*
++ * pnodes are simply numbered left to right starting at zero,
++ * which means the pnode number can be used easily to traverse
++ * down the tree to the corresponding pnode.
++ */
++ pnode->num += 1;
++ }
++
++ row = 0;
++ for (i = UBIFS_LPT_FANOUT; cnt > i; i <<= UBIFS_LPT_FANOUT_SHIFT)
++ row += 1;
++ /* Add all nnodes, one level at a time */
++ while (1) {
++ /* Number of internal nodes (nnodes) at next level */
++ cnt = DIV_ROUND_UP(cnt, UBIFS_LPT_FANOUT);
++ for (i = 0; i < cnt; i++) {
++ if (len + c->nnode_sz > c->leb_size) {
++ alen = ALIGN(len, c->min_io_size);
++ set_ltab(c, lnum, c->leb_size - alen,
++ alen - len);
++ memset(p, 0xff, alen - len);
++ err = ubi_leb_change(c->ubi, lnum++, buf, alen,
++ UBI_SHORTTERM);
++ if (err)
++ goto out;
++ p = buf;
++ len = 0;
++ }
++ /* Only 1 nnode at this level, so it is the root */
++ if (cnt == 1) {
++ c->lpt_lnum = lnum;
++ c->lpt_offs = len;
++ }
++ /* Set branches to the level below */
++ for (j = 0; j < UBIFS_LPT_FANOUT; j++) {
++ if (bcnt) {
++ if (boffs + bsz > c->leb_size) {
++ blnum += 1;
++ boffs = 0;
++ }
++ nnode->nbranch[j].lnum = blnum;
++ nnode->nbranch[j].offs = boffs;
++ boffs += bsz;
++ bcnt--;
++ } else {
++ nnode->nbranch[j].lnum = 0;
++ nnode->nbranch[j].offs = 0;
++ }
++ }
++ nnode->num = calc_nnode_num(row, i);
++ ubifs_pack_nnode(c, p, nnode);
++ p += c->nnode_sz;
++ len += c->nnode_sz;
++ }
++ /* Only 1 nnode at this level, so it is the root */
++ if (cnt == 1)
++ break;
++ /* Update the information about the level below */
++ bcnt = cnt;
++ bsz = c->nnode_sz;
++ row -= 1;
++ }
++
++ if (*big_lpt) {
++ /* Need to add LPT's save table */
++ if (len + c->lsave_sz > c->leb_size) {
++ alen = ALIGN(len, c->min_io_size);
++ set_ltab(c, lnum, c->leb_size - alen, alen - len);
++ memset(p, 0xff, alen - len);
++ err = ubi_leb_change(c->ubi, lnum++, buf, alen,
++ UBI_SHORTTERM);
++ if (err)
++ goto out;
++ p = buf;
++ len = 0;
++ }
++
++ c->lsave_lnum = lnum;
++ c->lsave_offs = len;
++
++ for (i = 0; i < c->lsave_cnt && i < *main_lebs; i++)
++ lsave[i] = c->main_first + i;
++ for (; i < c->lsave_cnt; i++)
++ lsave[i] = c->main_first;
++
++ ubifs_pack_lsave(c, p, lsave);
++ p += c->lsave_sz;
++ len += c->lsave_sz;
++ }
++
++ /* Need to add LPT's own LEB properties table */
++ if (len + c->ltab_sz > c->leb_size) {
++ alen = ALIGN(len, c->min_io_size);
++ set_ltab(c, lnum, c->leb_size - alen, alen - len);
++ memset(p, 0xff, alen - len);
++ err = ubi_leb_change(c->ubi, lnum++, buf, alen, UBI_SHORTTERM);
++ if (err)
++ goto out;
++ p = buf;
++ len = 0;
++ }
++
++ c->ltab_lnum = lnum;
++ c->ltab_offs = len;
++
++ /* Update ltab before packing it */
++ len += c->ltab_sz;
++ alen = ALIGN(len, c->min_io_size);
++ set_ltab(c, lnum, c->leb_size - alen, alen - len);
++
++ ubifs_pack_ltab(c, p, ltab);
++ p += c->ltab_sz;
++
++ /* Write remaining buffer */
++ memset(p, 0xff, alen - len);
++ err = ubi_leb_change(c->ubi, lnum, buf, alen, UBI_SHORTTERM);
++ if (err)
++ goto out;
++
++ c->nhead_lnum = lnum;
++ c->nhead_offs = ALIGN(len, c->min_io_size);
++
++ dbg_lp("space_bits %d", c->space_bits);
++ dbg_lp("lpt_lnum_bits %d", c->lpt_lnum_bits);
++ dbg_lp("lpt_offs_bits %d", c->lpt_offs_bits);
++ dbg_lp("lpt_spc_bits %d", c->lpt_spc_bits);
++ dbg_lp("pcnt_bits %d", c->pcnt_bits);
++ dbg_lp("lnum_bits %d", c->lnum_bits);
++ dbg_lp("pnode_sz %d", c->pnode_sz);
++ dbg_lp("nnode_sz %d", c->nnode_sz);
++ dbg_lp("ltab_sz %d", c->ltab_sz);
++ dbg_lp("lsave_sz %d", c->lsave_sz);
++ dbg_lp("lsave_cnt %d", c->lsave_cnt);
++ dbg_lp("lpt_hght %d", c->lpt_hght);
++ dbg_lp("big_lpt %d", c->big_lpt);
++ dbg_lp("LPT root is at %d:%d", c->lpt_lnum, c->lpt_offs);
++ dbg_lp("LPT head is at %d:%d", c->nhead_lnum, c->nhead_offs);
++ dbg_lp("LPT ltab is at %d:%d", c->ltab_lnum, c->ltab_offs);
++ if (c->big_lpt)
++ dbg_lp("LPT lsave is at %d:%d", c->lsave_lnum, c->lsave_offs);
++out:
++ c->ltab = NULL;
++ kfree(lsave);
++ vfree(ltab);
++ vfree(buf);
++ kfree(nnode);
++ kfree(pnode);
++ return err;
++}
++
++/**
++ * update_cats - add LEB properties of a pnode to LEB category lists and heaps.
++ * @c: UBIFS file-system description object
++ * @pnode: pnode
++ *
++ * When a pnode is loaded into memory, the LEB properties it contains are added,
++ * by this function, to the LEB category lists and heaps.
++ */
++static void update_cats(struct ubifs_info *c, struct ubifs_pnode *pnode)
++{
++ int i;
++
++ for (i = 0; i < UBIFS_LPT_FANOUT; i++) {
++ int cat = pnode->lprops[i].flags & LPROPS_CAT_MASK;
++ int lnum = pnode->lprops[i].lnum;
++
++ if (!lnum)
++ return;
++ ubifs_add_to_cat(c, &pnode->lprops[i], cat);
++ }
++}
++
++/**
++ * replace_cats - add LEB properties of a pnode to LEB category lists and heaps.
++ * @c: UBIFS file-system description object
++ * @old_pnode: pnode copied
++ * @new_pnode: pnode copy
++ *
++ * During commit it is sometimes necessary to copy a pnode
++ * (see dirty_cow_pnode). When that happens, references in
++ * category lists and heaps must be replaced. This function does that.
++ */
++static void replace_cats(struct ubifs_info *c, struct ubifs_pnode *old_pnode,
++ struct ubifs_pnode *new_pnode)
++{
++ int i;
++
++ for (i = 0; i < UBIFS_LPT_FANOUT; i++) {
++ if (!new_pnode->lprops[i].lnum)
++ return;
++ ubifs_replace_cat(c, &old_pnode->lprops[i],
++ &new_pnode->lprops[i]);
++ }
++}
++
++/**
++ * check_lpt_crc - check LPT node crc is correct.
++ * @c: UBIFS file-system description object
++ * @buf: buffer containing node
++ * @len: length of node
++ *
++ * This function returns %0 on success and a negative error code on failure.
++ */
++static int check_lpt_crc(void *buf, int len)
++{
++ int pos = 0;
++ uint8_t *addr = buf;
++ uint16_t crc, calc_crc;
++
++ crc = ubifs_unpack_bits(&addr, &pos, UBIFS_LPT_CRC_BITS);
++ calc_crc = crc16(-1, buf + UBIFS_LPT_CRC_BYTES,
++ len - UBIFS_LPT_CRC_BYTES);
++ if (crc != calc_crc) {
++ ubifs_err("invalid crc in LPT node: crc %hx calc %hx", crc,
++ calc_crc);
++ dbg_dump_stack();
++ return -EINVAL;
++ }
++ return 0;
++}
++
++/**
++ * check_lpt_type - check LPT node type is correct.
++ * @c: UBIFS file-system description object
++ * @addr: address of type bit field is passed and returned updated here
++ * @pos: position of type bit field is passed and returned updated here
++ * @type: expected type
++ *
++ * This function returns %0 on success and a negative error code on failure.
++ */
++static int check_lpt_type(uint8_t **addr, int *pos, int type)
++{
++ int node_type;
++
++ node_type = ubifs_unpack_bits(addr, pos, UBIFS_LPT_TYPE_BITS);
++ if (node_type != type) {
++ ubifs_err("invalid type (%d) in LPT node type %d", node_type,
++ type);
++ dbg_dump_stack();
++ return -EINVAL;
++ }
++ return 0;
++}
++
++/**
++ * unpack_pnode - unpack a pnode.
++ * @c: UBIFS file-system description object
++ * @buf: buffer containing packed pnode to unpack
++ * @pnode: pnode structure to fill
++ *
++ * This function returns %0 on success and a negative error code on failure.
++ */
++static int unpack_pnode(const struct ubifs_info *c, void *buf,
++ struct ubifs_pnode *pnode)
++{
++ uint8_t *addr = buf + UBIFS_LPT_CRC_BYTES;
++ int i, pos = 0, err;
++
++ err = check_lpt_type(&addr, &pos, UBIFS_LPT_PNODE);
++ if (err)
++ return err;
++ if (c->big_lpt)
++ pnode->num = ubifs_unpack_bits(&addr, &pos, c->pcnt_bits);
++ for (i = 0; i < UBIFS_LPT_FANOUT; i++) {
++ struct ubifs_lprops * const lprops = &pnode->lprops[i];
++
++ lprops->free = ubifs_unpack_bits(&addr, &pos, c->space_bits);
++ lprops->free <<= 3;
++ lprops->dirty = ubifs_unpack_bits(&addr, &pos, c->space_bits);
++ lprops->dirty <<= 3;
++
++ if (ubifs_unpack_bits(&addr, &pos, 1))
++ lprops->flags = LPROPS_INDEX;
++ else
++ lprops->flags = 0;
++ lprops->flags |= ubifs_categorize_lprops(c, lprops);
++ }
++ err = check_lpt_crc(buf, c->pnode_sz);
++ return err;
++}
++
++/**
++ * ubifs_unpack_nnode - unpack a nnode.
++ * @c: UBIFS file-system description object
++ * @buf: buffer containing packed nnode to unpack
++ * @nnode: nnode structure to fill
++ *
++ * This function returns %0 on success and a negative error code on failure.
++ */
++int ubifs_unpack_nnode(const struct ubifs_info *c, void *buf,
++ struct ubifs_nnode *nnode)
++{
++ uint8_t *addr = buf + UBIFS_LPT_CRC_BYTES;
++ int i, pos = 0, err;
++
++ err = check_lpt_type(&addr, &pos, UBIFS_LPT_NNODE);
++ if (err)
++ return err;
++ if (c->big_lpt)
++ nnode->num = ubifs_unpack_bits(&addr, &pos, c->pcnt_bits);
++ for (i = 0; i < UBIFS_LPT_FANOUT; i++) {
++ int lnum;
++
++ lnum = ubifs_unpack_bits(&addr, &pos, c->lpt_lnum_bits) +
++ c->lpt_first;
++ if (lnum == c->lpt_last + 1)
++ lnum = 0;
++ nnode->nbranch[i].lnum = lnum;
++ nnode->nbranch[i].offs = ubifs_unpack_bits(&addr, &pos,
++ c->lpt_offs_bits);
++ }
++ err = check_lpt_crc(buf, c->nnode_sz);
++ return err;
++}
++
++/**
++ * unpack_ltab - unpack the LPT's own lprops table.
++ * @c: UBIFS file-system description object
++ * @buf: buffer from which to unpack
++ *
++ * This function returns %0 on success and a negative error code on failure.
++ */
++static int unpack_ltab(const struct ubifs_info *c, void *buf)
++{
++ uint8_t *addr = buf + UBIFS_LPT_CRC_BYTES;
++ int i, pos = 0, err;
++
++ err = check_lpt_type(&addr, &pos, UBIFS_LPT_LTAB);
++ if (err)
++ return err;
++ for (i = 0; i < c->lpt_lebs; i++) {
++ int free = ubifs_unpack_bits(&addr, &pos, c->lpt_spc_bits);
++ int dirty = ubifs_unpack_bits(&addr, &pos, c->lpt_spc_bits);
++
++ if (free < 0 || free > c->leb_size || dirty < 0 ||
++ dirty > c->leb_size || free + dirty > c->leb_size)
++ return -EINVAL;
++
++ c->ltab[i].free = free;
++ c->ltab[i].dirty = dirty;
++ c->ltab[i].tgc = 0;
++ c->ltab[i].cmt = 0;
++ }
++ err = check_lpt_crc(buf, c->ltab_sz);
++ return err;
++}
++
++/**
++ * unpack_lsave - unpack the LPT's save table.
++ * @c: UBIFS file-system description object
++ * @buf: buffer from which to unpack
++ *
++ * This function returns %0 on success and a negative error code on failure.
++ */
++static int unpack_lsave(const struct ubifs_info *c, void *buf)
++{
++ uint8_t *addr = buf + UBIFS_LPT_CRC_BYTES;
++ int i, pos = 0, err;
++
++ err = check_lpt_type(&addr, &pos, UBIFS_LPT_LSAVE);
++ if (err)
++ return err;
++ for (i = 0; i < c->lsave_cnt; i++) {
++ int lnum = ubifs_unpack_bits(&addr, &pos, c->lnum_bits);
++
++ if (lnum < c->main_first || lnum >= c->leb_cnt)
++ return -EINVAL;
++ c->lsave[i] = lnum;
++ }
++ err = check_lpt_crc(buf, c->lsave_sz);
++ return err;
++}
++
++/**
++ * validate_nnode - validate a nnode.
++ * @c: UBIFS file-system description object
++ * @nnode: nnode to validate
++ * @parent: parent nnode (or NULL for the root nnode)
++ * @iip: index in parent
++ *
++ * This function returns %0 on success and a negative error code on failure.
++ */
++static int validate_nnode(const struct ubifs_info *c, struct ubifs_nnode *nnode,
++ struct ubifs_nnode *parent, int iip)
++{
++ int i, lvl, max_offs;
++
++ if (c->big_lpt) {
++ int num = calc_nnode_num_from_parent(c, parent, iip);
++
++ if (nnode->num != num)
++ return -EINVAL;
++ }
++ lvl = parent ? parent->level - 1 : c->lpt_hght;
++ if (lvl < 1)
++ return -EINVAL;
++ if (lvl == 1)
++ max_offs = c->leb_size - c->pnode_sz;
++ else
++ max_offs = c->leb_size - c->nnode_sz;
++ for (i = 0; i < UBIFS_LPT_FANOUT; i++) {
++ int lnum = nnode->nbranch[i].lnum;
++ int offs = nnode->nbranch[i].offs;
++
++ if (lnum == 0) {
++ if (offs != 0)
++ return -EINVAL;
++ continue;
++ }
++ if (lnum < c->lpt_first || lnum > c->lpt_last)
++ return -EINVAL;
++ if (offs < 0 || offs > max_offs)
++ return -EINVAL;
++ }
++ return 0;
++}
++
++/**
++ * validate_pnode - validate a pnode.
++ * @c: UBIFS file-system description object
++ * @pnode: pnode to validate
++ * @parent: parent nnode
++ * @iip: index in parent
++ *
++ * This function returns %0 on success and a negative error code on failure.
++ */
++static int validate_pnode(const struct ubifs_info *c, struct ubifs_pnode *pnode,
++ struct ubifs_nnode *parent, int iip)
++{
++ int i;
++
++ if (c->big_lpt) {
++ int num = calc_pnode_num_from_parent(c, parent, iip);
++
++ if (pnode->num != num)
++ return -EINVAL;
++ }
++ for (i = 0; i < UBIFS_LPT_FANOUT; i++) {
++ int free = pnode->lprops[i].free;
++ int dirty = pnode->lprops[i].dirty;
++
++ if (free < 0 || free > c->leb_size || free % c->min_io_size ||
++ (free & 7))
++ return -EINVAL;
++ if (dirty < 0 || dirty > c->leb_size || (dirty & 7))
++ return -EINVAL;
++ if (dirty + free > c->leb_size)
++ return -EINVAL;
++ }
++ return 0;
++}
++
++/**
++ * set_pnode_lnum - set LEB numbers on a pnode.
++ * @c: UBIFS file-system description object
++ * @pnode: pnode to update
++ *
++ * This function calculates the LEB numbers for the LEB properties it contains
++ * based on the pnode number.
++ */
++static void set_pnode_lnum(const struct ubifs_info *c,
++ struct ubifs_pnode *pnode)
++{
++ int i, lnum;
++
++ lnum = (pnode->num << UBIFS_LPT_FANOUT_SHIFT) + c->main_first;
++ for (i = 0; i < UBIFS_LPT_FANOUT; i++) {
++ if (lnum >= c->leb_cnt)
++ return;
++ pnode->lprops[i].lnum = lnum++;
++ }
++}
++
++/**
++ * ubifs_read_nnode - read a nnode from flash and link it to the tree in memory.
++ * @c: UBIFS file-system description object
++ * @parent: parent nnode (or NULL for the root)
++ * @iip: index in parent
++ *
++ * This function returns %0 on success and a negative error code on failure.
++ */
++int ubifs_read_nnode(struct ubifs_info *c, struct ubifs_nnode *parent, int iip)
++{
++ struct ubifs_nbranch *branch = NULL;
++ struct ubifs_nnode *nnode = NULL;
++ void *buf = c->lpt_nod_buf;
++ int err, lnum, offs;
++
++ if (parent) {
++ branch = &parent->nbranch[iip];
++ lnum = branch->lnum;
++ offs = branch->offs;
++ } else {
++ lnum = c->lpt_lnum;
++ offs = c->lpt_offs;
++ }
++ nnode = kzalloc(sizeof(struct ubifs_nnode), GFP_NOFS);
++ if (!nnode) {
++ err = -ENOMEM;
++ goto out;
++ }
++ if (lnum == 0) {
++ /*
++ * This nnode was not written which just means that the LEB
++ * properties in the subtree below it describe empty LEBs. We
++ * make the nnode as though we had read it, which in fact means
++ * doing almost nothing.
++ */
++ if (c->big_lpt)
++ nnode->num = calc_nnode_num_from_parent(c, parent, iip);
++ } else {
++ err = ubi_read(c->ubi, lnum, buf, offs, c->nnode_sz);
++ if (err)
++ goto out;
++ err = ubifs_unpack_nnode(c, buf, nnode);
++ if (err)
++ goto out;
++ }
++ err = validate_nnode(c, nnode, parent, iip);
++ if (err)
++ goto out;
++ if (!c->big_lpt)
++ nnode->num = calc_nnode_num_from_parent(c, parent, iip);
++ if (parent) {
++ branch->nnode = nnode;
++ nnode->level = parent->level - 1;
++ } else {
++ c->nroot = nnode;
++ nnode->level = c->lpt_hght;
++ }
++ nnode->parent = parent;
++ nnode->iip = iip;
++ return 0;
++
++out:
++ ubifs_err("error %d reading nnode at %d:%d", err, lnum, offs);
++ kfree(nnode);
++ return err;
++}
++
++/**
++ * read_pnode - read a pnode from flash and link it to the tree in memory.
++ * @c: UBIFS file-system description object
++ * @parent: parent nnode
++ * @iip: index in parent
++ *
++ * This function returns %0 on success and a negative error code on failure.
++ */
++static int read_pnode(struct ubifs_info *c, struct ubifs_nnode *parent, int iip)
++{
++ struct ubifs_nbranch *branch;
++ struct ubifs_pnode *pnode = NULL;
++ void *buf = c->lpt_nod_buf;
++ int err, lnum, offs;
++
++ branch = &parent->nbranch[iip];
++ lnum = branch->lnum;
++ offs = branch->offs;
++ pnode = kzalloc(sizeof(struct ubifs_pnode), GFP_NOFS);
++ if (!pnode) {
++ err = -ENOMEM;
++ goto out;
++ }
++ if (lnum == 0) {
++ /*
++ * This pnode was not written which just means that the LEB
++ * properties in it describe empty LEBs. We make the pnode as
++ * though we had read it.
++ */
++ int i;
++
++ if (c->big_lpt)
++ pnode->num = calc_pnode_num_from_parent(c, parent, iip);
++ for (i = 0; i < UBIFS_LPT_FANOUT; i++) {
++ struct ubifs_lprops * const lprops = &pnode->lprops[i];
++
++ lprops->free = c->leb_size;
++ lprops->flags = ubifs_categorize_lprops(c, lprops);
++ }
++ } else {
++ err = ubi_read(c->ubi, lnum, buf, offs, c->pnode_sz);
++ if (err)
++ goto out;
++ err = unpack_pnode(c, buf, pnode);
++ if (err)
++ goto out;
++ }
++ err = validate_pnode(c, pnode, parent, iip);
++ if (err)
++ goto out;
++ if (!c->big_lpt)
++ pnode->num = calc_pnode_num_from_parent(c, parent, iip);
++ branch->pnode = pnode;
++ pnode->parent = parent;
++ pnode->iip = iip;
++ set_pnode_lnum(c, pnode);
++ c->pnodes_have += 1;
++ return 0;
++
++out:
++ ubifs_err("error %d reading pnode at %d:%d", err, lnum, offs);
++ dbg_dump_pnode(c, pnode, parent, iip);
++ dbg_msg("calc num: %d", calc_pnode_num_from_parent(c, parent, iip));
++ kfree(pnode);
++ return err;
++}
++
++/**
++ * read_ltab - read LPT's own lprops table.
++ * @c: UBIFS file-system description object
++ *
++ * This function returns %0 on success and a negative error code on failure.
++ */
++static int read_ltab(struct ubifs_info *c)
++{
++ int err;
++ void *buf;
++
++ buf = vmalloc(c->ltab_sz);
++ if (!buf)
++ return -ENOMEM;
++ err = ubi_read(c->ubi, c->ltab_lnum, buf, c->ltab_offs, c->ltab_sz);
++ if (err)
++ goto out;
++ err = unpack_ltab(c, buf);
++out:
++ vfree(buf);
++ return err;
++}
++
++/**
++ * read_lsave - read LPT's save table.
++ * @c: UBIFS file-system description object
++ *
++ * This function returns %0 on success and a negative error code on failure.
++ */
++static int read_lsave(struct ubifs_info *c)
++{
++ int err, i;
++ void *buf;
++
++ buf = vmalloc(c->lsave_sz);
++ if (!buf)
++ return -ENOMEM;
++ err = ubi_read(c->ubi, c->lsave_lnum, buf, c->lsave_offs, c->lsave_sz);
++ if (err)
++ goto out;
++ err = unpack_lsave(c, buf);
++ if (err)
++ goto out;
++ for (i = 0; i < c->lsave_cnt; i++) {
++ int lnum = c->lsave[i];
++
++ /*
++ * Due to automatic resizing, the values in the lsave table
++ * could be beyond the volume size - just ignore them.
++ */
++ if (lnum >= c->leb_cnt)
++ continue;
++ ubifs_lpt_lookup(c, lnum);
++ }
++out:
++ vfree(buf);
++ return err;
++}
++
++/**
++ * ubifs_get_nnode - get a nnode.
++ * @c: UBIFS file-system description object
++ * @parent: parent nnode (or NULL for the root)
++ * @iip: index in parent
++ *
++ * This function returns a pointer to the nnode on success or a negative error
++ * code on failure.
++ */
++struct ubifs_nnode *ubifs_get_nnode(struct ubifs_info *c,
++ struct ubifs_nnode *parent, int iip)
++{
++ struct ubifs_nbranch *branch;
++ struct ubifs_nnode *nnode;
++ int err;
++
++ branch = &parent->nbranch[iip];
++ nnode = branch->nnode;
++ if (nnode)
++ return nnode;
++ err = ubifs_read_nnode(c, parent, iip);
++ if (err)
++ return ERR_PTR(err);
++ return branch->nnode;
++}
++
++/**
++ * ubifs_get_pnode - get a pnode.
++ * @c: UBIFS file-system description object
++ * @parent: parent nnode
++ * @iip: index in parent
++ *
++ * This function returns a pointer to the pnode on success or a negative error
++ * code on failure.
++ */
++struct ubifs_pnode *ubifs_get_pnode(struct ubifs_info *c,
++ struct ubifs_nnode *parent, int iip)
++{
++ struct ubifs_nbranch *branch;
++ struct ubifs_pnode *pnode;
++ int err;
++
++ branch = &parent->nbranch[iip];
++ pnode = branch->pnode;
++ if (pnode)
++ return pnode;
++ err = read_pnode(c, parent, iip);
++ if (err)
++ return ERR_PTR(err);
++ update_cats(c, branch->pnode);
++ return branch->pnode;
++}
++
++/**
++ * ubifs_lpt_lookup - lookup LEB properties in the LPT.
++ * @c: UBIFS file-system description object
++ * @lnum: LEB number to lookup
++ *
++ * This function returns a pointer to the LEB properties on success or a
++ * negative error code on failure.
++ */
++struct ubifs_lprops *ubifs_lpt_lookup(struct ubifs_info *c, int lnum)
++{
++ int err, i, h, iip, shft;
++ struct ubifs_nnode *nnode;
++ struct ubifs_pnode *pnode;
++
++ if (!c->nroot) {
++ err = ubifs_read_nnode(c, NULL, 0);
++ if (err)
++ return ERR_PTR(err);
++ }
++ nnode = c->nroot;
++ i = lnum - c->main_first;
++ shft = c->lpt_hght * UBIFS_LPT_FANOUT_SHIFT;
++ for (h = 1; h < c->lpt_hght; h++) {
++ iip = ((i >> shft) & (UBIFS_LPT_FANOUT - 1));
++ shft -= UBIFS_LPT_FANOUT_SHIFT;
++ nnode = ubifs_get_nnode(c, nnode, iip);
++ if (IS_ERR(nnode))
++ return ERR_PTR(PTR_ERR(nnode));
++ }
++ iip = ((i >> shft) & (UBIFS_LPT_FANOUT - 1));
++ shft -= UBIFS_LPT_FANOUT_SHIFT;
++ pnode = ubifs_get_pnode(c, nnode, iip);
++ if (IS_ERR(pnode))
++ return ERR_PTR(PTR_ERR(pnode));
++ iip = (i & (UBIFS_LPT_FANOUT - 1));
++ dbg_lp("LEB %d, free %d, dirty %d, flags %d", lnum,
++ pnode->lprops[iip].free, pnode->lprops[iip].dirty,
++ pnode->lprops[iip].flags);
++ return &pnode->lprops[iip];
++}
++
++/**
++ * dirty_cow_nnode - ensure a nnode is not being committed.
++ * @c: UBIFS file-system description object
++ * @nnode: nnode to check
++ *
++ * Returns dirtied nnode on success or negative error code on failure.
++ */
++static struct ubifs_nnode *dirty_cow_nnode(struct ubifs_info *c,
++ struct ubifs_nnode *nnode)
++{
++ struct ubifs_nnode *n;
++ int i;
++
++ if (!test_bit(COW_CNODE, &nnode->flags)) {
++ /* nnode is not being committed */
++ if (!test_and_set_bit(DIRTY_CNODE, &nnode->flags)) {
++ c->dirty_nn_cnt += 1;
++ ubifs_add_nnode_dirt(c, nnode);
++ }
++ return nnode;
++ }
++
++ /* nnode is being committed, so copy it */
++ n = kmalloc(sizeof(struct ubifs_nnode), GFP_NOFS);
++ if (unlikely(!n))
++ return ERR_PTR(-ENOMEM);
++
++ memcpy(n, nnode, sizeof(struct ubifs_nnode));
++ n->cnext = NULL;
++ __set_bit(DIRTY_CNODE, &n->flags);
++ __clear_bit(COW_CNODE, &n->flags);
++
++ /* The children now have new parent */
++ for (i = 0; i < UBIFS_LPT_FANOUT; i++) {
++ struct ubifs_nbranch *branch = &n->nbranch[i];
++
++ if (branch->cnode)
++ branch->cnode->parent = n;
++ }
++
++ ubifs_assert(!test_bit(OBSOLETE_CNODE, &nnode->flags));
++ __set_bit(OBSOLETE_CNODE, &nnode->flags);
++
++ c->dirty_nn_cnt += 1;
++ ubifs_add_nnode_dirt(c, nnode);
++ if (nnode->parent)
++ nnode->parent->nbranch[n->iip].nnode = n;
++ else
++ c->nroot = n;
++ return n;
++}
++
++/**
++ * dirty_cow_pnode - ensure a pnode is not being committed.
++ * @c: UBIFS file-system description object
++ * @pnode: pnode to check
++ *
++ * Returns dirtied pnode on success or negative error code on failure.
++ */
++static struct ubifs_pnode *dirty_cow_pnode(struct ubifs_info *c,
++ struct ubifs_pnode *pnode)
++{
++ struct ubifs_pnode *p;
++
++ if (!test_bit(COW_CNODE, &pnode->flags)) {
++ /* pnode is not being committed */
++ if (!test_and_set_bit(DIRTY_CNODE, &pnode->flags)) {
++ c->dirty_pn_cnt += 1;
++ add_pnode_dirt(c, pnode);
++ }
++ return pnode;
++ }
++
++ /* pnode is being committed, so copy it */
++ p = kmalloc(sizeof(struct ubifs_pnode), GFP_NOFS);
++ if (unlikely(!p))
++ return ERR_PTR(-ENOMEM);
++
++ memcpy(p, pnode, sizeof(struct ubifs_pnode));
++ p->cnext = NULL;
++ __set_bit(DIRTY_CNODE, &p->flags);
++ __clear_bit(COW_CNODE, &p->flags);
++ replace_cats(c, pnode, p);
++
++ ubifs_assert(!test_bit(OBSOLETE_CNODE, &pnode->flags));
++ __set_bit(OBSOLETE_CNODE, &pnode->flags);
++
++ c->dirty_pn_cnt += 1;
++ add_pnode_dirt(c, pnode);
++ pnode->parent->nbranch[p->iip].pnode = p;
++ return p;
++}
++
++/**
++ * ubifs_lpt_lookup_dirty - lookup LEB properties in the LPT.
++ * @c: UBIFS file-system description object
++ * @lnum: LEB number to lookup
++ *
++ * This function returns a pointer to the LEB properties on success or a
++ * negative error code on failure.
++ */
++struct ubifs_lprops *ubifs_lpt_lookup_dirty(struct ubifs_info *c, int lnum)
++{
++ int err, i, h, iip, shft;
++ struct ubifs_nnode *nnode;
++ struct ubifs_pnode *pnode;
++
++ if (!c->nroot) {
++ err = ubifs_read_nnode(c, NULL, 0);
++ if (err)
++ return ERR_PTR(err);
++ }
++ nnode = c->nroot;
++ nnode = dirty_cow_nnode(c, nnode);
++ if (IS_ERR(nnode))
++ return ERR_PTR(PTR_ERR(nnode));
++ i = lnum - c->main_first;
++ shft = c->lpt_hght * UBIFS_LPT_FANOUT_SHIFT;
++ for (h = 1; h < c->lpt_hght; h++) {
++ iip = ((i >> shft) & (UBIFS_LPT_FANOUT - 1));
++ shft -= UBIFS_LPT_FANOUT_SHIFT;
++ nnode = ubifs_get_nnode(c, nnode, iip);
++ if (IS_ERR(nnode))
++ return ERR_PTR(PTR_ERR(nnode));
++ nnode = dirty_cow_nnode(c, nnode);
++ if (IS_ERR(nnode))
++ return ERR_PTR(PTR_ERR(nnode));
++ }
++ iip = ((i >> shft) & (UBIFS_LPT_FANOUT - 1));
++ shft -= UBIFS_LPT_FANOUT_SHIFT;
++ pnode = ubifs_get_pnode(c, nnode, iip);
++ if (IS_ERR(pnode))
++ return ERR_PTR(PTR_ERR(pnode));
++ pnode = dirty_cow_pnode(c, pnode);
++ if (IS_ERR(pnode))
++ return ERR_PTR(PTR_ERR(pnode));
++ iip = (i & (UBIFS_LPT_FANOUT - 1));
++ dbg_lp("LEB %d, free %d, dirty %d, flags %d", lnum,
++ pnode->lprops[iip].free, pnode->lprops[iip].dirty,
++ pnode->lprops[iip].flags);
++ ubifs_assert(test_bit(DIRTY_CNODE, &pnode->flags));
++ return &pnode->lprops[iip];
++}
++
++/**
++ * lpt_init_rd - initialize the LPT for reading.
++ * @c: UBIFS file-system description object
++ *
++ * This function returns %0 on success and a negative error code on failure.
++ */
++static int lpt_init_rd(struct ubifs_info *c)
++{
++ int err, i;
++
++ c->ltab = vmalloc(sizeof(struct ubifs_lpt_lprops) * c->lpt_lebs);
++ if (!c->ltab)
++ return -ENOMEM;
++
++ i = max_t(int, c->nnode_sz, c->pnode_sz);
++ c->lpt_nod_buf = kmalloc(i, GFP_KERNEL);
++ if (!c->lpt_nod_buf)
++ return -ENOMEM;
++
++ for (i = 0; i < LPROPS_HEAP_CNT; i++) {
++ c->lpt_heap[i].arr = kmalloc(sizeof(void *) * LPT_HEAP_SZ,
++ GFP_KERNEL);
++ if (!c->lpt_heap[i].arr)
++ return -ENOMEM;
++ c->lpt_heap[i].cnt = 0;
++ c->lpt_heap[i].max_cnt = LPT_HEAP_SZ;
++ }
++
++ c->dirty_idx.arr = kmalloc(sizeof(void *) * LPT_HEAP_SZ, GFP_KERNEL);
++ if (!c->dirty_idx.arr)
++ return -ENOMEM;
++ c->dirty_idx.cnt = 0;
++ c->dirty_idx.max_cnt = LPT_HEAP_SZ;
++
++ err = read_ltab(c);
++ if (err)
++ return err;
++
++ dbg_lp("space_bits %d", c->space_bits);
++ dbg_lp("lpt_lnum_bits %d", c->lpt_lnum_bits);
++ dbg_lp("lpt_offs_bits %d", c->lpt_offs_bits);
++ dbg_lp("lpt_spc_bits %d", c->lpt_spc_bits);
++ dbg_lp("pcnt_bits %d", c->pcnt_bits);
++ dbg_lp("lnum_bits %d", c->lnum_bits);
++ dbg_lp("pnode_sz %d", c->pnode_sz);
++ dbg_lp("nnode_sz %d", c->nnode_sz);
++ dbg_lp("ltab_sz %d", c->ltab_sz);
++ dbg_lp("lsave_sz %d", c->lsave_sz);
++ dbg_lp("lsave_cnt %d", c->lsave_cnt);
++ dbg_lp("lpt_hght %d", c->lpt_hght);
++ dbg_lp("big_lpt %d", c->big_lpt);
++ dbg_lp("LPT root is at %d:%d", c->lpt_lnum, c->lpt_offs);
++ dbg_lp("LPT head is at %d:%d", c->nhead_lnum, c->nhead_offs);
++ dbg_lp("LPT ltab is at %d:%d", c->ltab_lnum, c->ltab_offs);
++ if (c->big_lpt)
++ dbg_lp("LPT lsave is at %d:%d", c->lsave_lnum, c->lsave_offs);
++
++ return 0;
++}
++
++/**
++ * lpt_init_wr - initialize the LPT for writing.
++ * @c: UBIFS file-system description object
++ *
++ * 'lpt_init_rd()' must have been called already.
++ *
++ * This function returns %0 on success and a negative error code on failure.
++ */
++static int lpt_init_wr(struct ubifs_info *c)
++{
++ int err, i;
++
++ c->ltab_cmt = vmalloc(sizeof(struct ubifs_lpt_lprops) * c->lpt_lebs);
++ if (!c->ltab_cmt)
++ return -ENOMEM;
++
++ c->lpt_buf = vmalloc(c->leb_size);
++ if (!c->lpt_buf)
++ return -ENOMEM;
++
++ if (c->big_lpt) {
++ c->lsave = kmalloc(sizeof(int) * c->lsave_cnt, GFP_NOFS);
++ if (!c->lsave)
++ return -ENOMEM;
++ err = read_lsave(c);
++ if (err)
++ return err;
++ }
++
++ for (i = 0; i < c->lpt_lebs; i++)
++ if (c->ltab[i].free == c->leb_size) {
++ err = ubifs_leb_unmap(c, i + c->lpt_first);
++ if (err)
++ return err;
++ }
++
++ return 0;
++}
++
++/**
++ * ubifs_lpt_init - initialize the LPT.
++ * @c: UBIFS file-system description object
++ * @rd: whether to initialize lpt for reading
++ * @wr: whether to initialize lpt for writing
++ *
++ * For mounting 'rw', @rd and @wr are both true. For mounting 'ro', @rd is true
++ * and @wr is false. For mounting from 'ro' to 'rw', @rd is false and @wr is
++ * true.
++ *
++ * This function returns %0 on success and a negative error code on failure.
++ */
++int ubifs_lpt_init(struct ubifs_info *c, int rd, int wr)
++{
++ int err;
++
++ if (rd) {
++ err = lpt_init_rd(c);
++ if (err)
++ return err;
++ }
++
++ if (wr) {
++ err = lpt_init_wr(c);
++ if (err)
++ return err;
++ }
++
++ return 0;
++}
++
++/**
++ * struct lpt_scan_node - somewhere to put nodes while we scan LPT.
++ * @nnode: where to keep a nnode
++ * @pnode: where to keep a pnode
++ * @cnode: where to keep a cnode
++ * @in_tree: is the node in the tree in memory
++ * @ptr.nnode: pointer to the nnode (if it is an nnode) which may be here or in
++ * the tree
++ * @ptr.pnode: ditto for pnode
++ * @ptr.cnode: ditto for cnode
++ */
++struct lpt_scan_node {
++ union {
++ struct ubifs_nnode nnode;
++ struct ubifs_pnode pnode;
++ struct ubifs_cnode cnode;
++ };
++ int in_tree;
++ union {
++ struct ubifs_nnode *nnode;
++ struct ubifs_pnode *pnode;
++ struct ubifs_cnode *cnode;
++ } ptr;
++};
++
++/**
++ * scan_get_nnode - for the scan, get a nnode from either the tree or flash.
++ * @c: the UBIFS file-system description object
++ * @path: where to put the nnode
++ * @parent: parent of the nnode
++ * @iip: index in parent of the nnode
++ *
++ * This function returns a pointer to the nnode on success or a negative error
++ * code on failure.
++ */
++static struct ubifs_nnode *scan_get_nnode(struct ubifs_info *c,
++ struct lpt_scan_node *path,
++ struct ubifs_nnode *parent, int iip)
++{
++ struct ubifs_nbranch *branch;
++ struct ubifs_nnode *nnode;
++ void *buf = c->lpt_nod_buf;
++ int err;
++
++ branch = &parent->nbranch[iip];
++ nnode = branch->nnode;
++ if (nnode) {
++ path->in_tree = 1;
++ path->ptr.nnode = nnode;
++ return nnode;
++ }
++ nnode = &path->nnode;
++ path->in_tree = 0;
++ path->ptr.nnode = nnode;
++ memset(nnode, 0, sizeof(struct ubifs_nnode));
++ if (branch->lnum == 0) {
++ /*
++ * This nnode was not written which just means that the LEB
++ * properties in the subtree below it describe empty LEBs. We
++ * make the nnode as though we had read it, which in fact means
++ * doing almost nothing.
++ */
++ if (c->big_lpt)
++ nnode->num = calc_nnode_num_from_parent(c, parent, iip);
++ } else {
++ err = ubi_read(c->ubi, branch->lnum, buf, branch->offs,
++ c->nnode_sz);
++ if (err)
++ return ERR_PTR(err);
++ err = ubifs_unpack_nnode(c, buf, nnode);
++ if (err)
++ return ERR_PTR(err);
++ }
++ err = validate_nnode(c, nnode, parent, iip);
++ if (err)
++ return ERR_PTR(err);
++ if (!c->big_lpt)
++ nnode->num = calc_nnode_num_from_parent(c, parent, iip);
++ nnode->level = parent->level - 1;
++ nnode->parent = parent;
++ nnode->iip = iip;
++ return nnode;
++}
++
++/**
++ * scan_get_pnode - for the scan, get a pnode from either the tree or flash.
++ * @c: the UBIFS file-system description object
++ * @path: where to put the pnode
++ * @parent: parent of the pnode
++ * @iip: index in parent of the pnode
++ *
++ * This function returns a pointer to the pnode on success or a negative error
++ * code on failure.
++ */
++static struct ubifs_pnode *scan_get_pnode(struct ubifs_info *c,
++ struct lpt_scan_node *path,
++ struct ubifs_nnode *parent, int iip)
++{
++ struct ubifs_nbranch *branch;
++ struct ubifs_pnode *pnode;
++ void *buf = c->lpt_nod_buf;
++ int err;
++
++ branch = &parent->nbranch[iip];
++ pnode = branch->pnode;
++ if (pnode) {
++ path->in_tree = 1;
++ path->ptr.pnode = pnode;
++ return pnode;
++ }
++ pnode = &path->pnode;
++ path->in_tree = 0;
++ path->ptr.pnode = pnode;
++ memset(pnode, 0, sizeof(struct ubifs_pnode));
++ if (branch->lnum == 0) {
++ /*
++ * This pnode was not written which just means that the LEB
++ * properties in it describe empty LEBs. We make the pnode as
++ * though we had read it.
++ */
++ int i;
++
++ if (c->big_lpt)
++ pnode->num = calc_pnode_num_from_parent(c, parent, iip);
++ for (i = 0; i < UBIFS_LPT_FANOUT; i++) {
++ struct ubifs_lprops * const lprops = &pnode->lprops[i];
++
++ lprops->free = c->leb_size;
++ lprops->flags = ubifs_categorize_lprops(c, lprops);
++ }
++ } else {
++ ubifs_assert(branch->lnum >= c->lpt_first &&
++ branch->lnum <= c->lpt_last);
++ ubifs_assert(branch->offs >= 0 && branch->offs < c->leb_size);
++ err = ubi_read(c->ubi, branch->lnum, buf, branch->offs,
++ c->pnode_sz);
++ if (err)
++ return ERR_PTR(err);
++ err = unpack_pnode(c, buf, pnode);
++ if (err)
++ return ERR_PTR(err);
++ }
++ err = validate_pnode(c, pnode, parent, iip);
++ if (err)
++ return ERR_PTR(err);
++ if (!c->big_lpt)
++ pnode->num = calc_pnode_num_from_parent(c, parent, iip);
++ pnode->parent = parent;
++ pnode->iip = iip;
++ set_pnode_lnum(c, pnode);
++ return pnode;
++}
++
++/**
++ * ubifs_lpt_scan_nolock - scan the LPT.
++ * @c: the UBIFS file-system description object
++ * @start_lnum: LEB number from which to start scanning
++ * @end_lnum: LEB number at which to stop scanning
++ * @scan_cb: callback function called for each lprops
++ * @data: data to be passed to the callback function
++ *
++ * This function returns %0 on success and a negative error code on failure.
++ */
++int ubifs_lpt_scan_nolock(struct ubifs_info *c, int start_lnum, int end_lnum,
++ ubifs_lpt_scan_callback scan_cb, void *data)
++{
++ int err = 0, i, h, iip, shft;
++ struct ubifs_nnode *nnode;
++ struct ubifs_pnode *pnode;
++ struct lpt_scan_node *path;
++
++ if (start_lnum == -1) {
++ start_lnum = end_lnum + 1;
++ if (start_lnum >= c->leb_cnt)
++ start_lnum = c->main_first;
++ }
++
++ ubifs_assert(start_lnum >= c->main_first && start_lnum < c->leb_cnt);
++ ubifs_assert(end_lnum >= c->main_first && end_lnum < c->leb_cnt);
++
++ if (!c->nroot) {
++ err = ubifs_read_nnode(c, NULL, 0);
++ if (err)
++ return err;
++ }
++
++ path = kmalloc(sizeof(struct lpt_scan_node) * (c->lpt_hght + 1),
++ GFP_NOFS);
++ if (!path)
++ return -ENOMEM;
++
++ path[0].ptr.nnode = c->nroot;
++ path[0].in_tree = 1;
++again:
++ /* Descend to the pnode containing start_lnum */
++ nnode = c->nroot;
++ i = start_lnum - c->main_first;
++ shft = c->lpt_hght * UBIFS_LPT_FANOUT_SHIFT;
++ for (h = 1; h < c->lpt_hght; h++) {
++ iip = ((i >> shft) & (UBIFS_LPT_FANOUT - 1));
++ shft -= UBIFS_LPT_FANOUT_SHIFT;
++ nnode = scan_get_nnode(c, path + h, nnode, iip);
++ if (IS_ERR(nnode)) {
++ err = PTR_ERR(nnode);
++ goto out;
++ }
++ }
++ iip = ((i >> shft) & (UBIFS_LPT_FANOUT - 1));
++ shft -= UBIFS_LPT_FANOUT_SHIFT;
++ pnode = scan_get_pnode(c, path + h, nnode, iip);
++ if (IS_ERR(pnode)) {
++ err = PTR_ERR(pnode);
++ goto out;
++ }
++ iip = (i & (UBIFS_LPT_FANOUT - 1));
++
++ /* Loop for each lprops */
++ while (1) {
++ struct ubifs_lprops *lprops = &pnode->lprops[iip];
++ int ret, lnum = lprops->lnum;
++
++ ret = scan_cb(c, lprops, path[h].in_tree, data);
++ if (ret < 0) {
++ err = ret;
++ goto out;
++ }
++ if (ret & LPT_SCAN_ADD) {
++ /* Add all the nodes in path to the tree in memory */
++ for (h = 1; h < c->lpt_hght; h++) {
++ const size_t sz = sizeof(struct ubifs_nnode);
++ struct ubifs_nnode *parent;
++
++ if (path[h].in_tree)
++ continue;
++ nnode = kmalloc(sz, GFP_NOFS);
++ if (!nnode) {
++ err = -ENOMEM;
++ goto out;
++ }
++ memcpy(nnode, &path[h].nnode, sz);
++ parent = nnode->parent;
++ parent->nbranch[nnode->iip].nnode = nnode;
++ path[h].ptr.nnode = nnode;
++ path[h].in_tree = 1;
++ path[h + 1].cnode.parent = nnode;
++ }
++ if (path[h].in_tree)
++ ubifs_ensure_cat(c, lprops);
++ else {
++ const size_t sz = sizeof(struct ubifs_pnode);
++ struct ubifs_nnode *parent;
++
++ pnode = kmalloc(sz, GFP_NOFS);
++ if (!pnode) {
++ err = -ENOMEM;
++ goto out;
++ }
++ memcpy(pnode, &path[h].pnode, sz);
++ parent = pnode->parent;
++ parent->nbranch[pnode->iip].pnode = pnode;
++ path[h].ptr.pnode = pnode;
++ path[h].in_tree = 1;
++ update_cats(c, pnode);
++ c->pnodes_have += 1;
++ }
++ err = dbg_check_lpt_nodes(c, (struct ubifs_cnode *)
++ c->nroot, 0, 0);
++ if (err)
++ goto out;
++ err = dbg_check_cats(c);
++ if (err)
++ goto out;
++ }
++ if (ret & LPT_SCAN_STOP) {
++ err = 0;
++ break;
++ }
++ /* Get the next lprops */
++ if (lnum == end_lnum) {
++ /*
++ * We got to the end without finding what we were
++ * looking for
++ */
++ err = -ENOSPC;
++ goto out;
++ }
++ if (lnum + 1 >= c->leb_cnt) {
++ /* Wrap-around to the beginning */
++ start_lnum = c->main_first;
++ goto again;
++ }
++ if (iip + 1 < UBIFS_LPT_FANOUT) {
++ /* Next lprops is in the same pnode */
++ iip += 1;
++ continue;
++ }
++ /* We need to get the next pnode. Go up until we can go right */
++ iip = pnode->iip;
++ while (1) {
++ h -= 1;
++ ubifs_assert(h >= 0);
++ nnode = path[h].ptr.nnode;
++ if (iip + 1 < UBIFS_LPT_FANOUT)
++ break;
++ iip = nnode->iip;
++ }
++ /* Go right */
++ iip += 1;
++ /* Descend to the pnode */
++ h += 1;
++ for (; h < c->lpt_hght; h++) {
++ nnode = scan_get_nnode(c, path + h, nnode, iip);
++ if (IS_ERR(nnode)) {
++ err = PTR_ERR(nnode);
++ goto out;
++ }
++ iip = 0;
++ }
++ pnode = scan_get_pnode(c, path + h, nnode, iip);
++ if (IS_ERR(pnode)) {
++ err = PTR_ERR(pnode);
++ goto out;
++ }
++ iip = 0;
++ }
++out:
++ kfree(path);
++ return err;
++}
++
++#ifdef CONFIG_UBIFS_FS_DEBUG
++
++/**
++ * dbg_chk_pnode - check a pnode.
++ * @c: the UBIFS file-system description object
++ * @pnode: pnode to check
++ * @col: pnode column
++ *
++ * This function returns %0 on success and a negative error code on failure.
++ */
++static int dbg_chk_pnode(struct ubifs_info *c, struct ubifs_pnode *pnode,
++ int col)
++{
++ int i;
++
++ if (pnode->num != col) {
++ dbg_err("pnode num %d expected %d parent num %d iip %d",
++ pnode->num, col, pnode->parent->num, pnode->iip);
++ return -EINVAL;
++ }
++ for (i = 0; i < UBIFS_LPT_FANOUT; i++) {
++ struct ubifs_lprops *lp, *lprops = &pnode->lprops[i];
++ int lnum = (pnode->num << UBIFS_LPT_FANOUT_SHIFT) + i +
++ c->main_first;
++ int found, cat = lprops->flags & LPROPS_CAT_MASK;
++ struct ubifs_lpt_heap *heap;
++ struct list_head *list = NULL;
++
++ if (lnum >= c->leb_cnt)
++ continue;
++ if (lprops->lnum != lnum) {
++ dbg_err("bad LEB number %d expected %d",
++ lprops->lnum, lnum);
++ return -EINVAL;
++ }
++ if (lprops->flags & LPROPS_TAKEN) {
++ if (cat != LPROPS_UNCAT) {
++ dbg_err("LEB %d taken but not uncat %d",
++ lprops->lnum, cat);
++ return -EINVAL;
++ }
++ continue;
++ }
++ if (lprops->flags & LPROPS_INDEX) {
++ switch (cat) {
++ case LPROPS_UNCAT:
++ case LPROPS_DIRTY_IDX:
++ case LPROPS_FRDI_IDX:
++ break;
++ default:
++ dbg_err("LEB %d index but cat %d",
++ lprops->lnum, cat);
++ return -EINVAL;
++ }
++ } else {
++ switch (cat) {
++ case LPROPS_UNCAT:
++ case LPROPS_DIRTY:
++ case LPROPS_FREE:
++ case LPROPS_EMPTY:
++ case LPROPS_FREEABLE:
++ break;
++ default:
++ dbg_err("LEB %d not index but cat %d",
++ lprops->lnum, cat);
++ return -EINVAL;
++ }
++ }
++ switch (cat) {
++ case LPROPS_UNCAT:
++ list = &c->uncat_list;
++ break;
++ case LPROPS_EMPTY:
++ list = &c->empty_list;
++ break;
++ case LPROPS_FREEABLE:
++ list = &c->freeable_list;
++ break;
++ case LPROPS_FRDI_IDX:
++ list = &c->frdi_idx_list;
++ break;
++ }
++ found = 0;
++ switch (cat) {
++ case LPROPS_DIRTY:
++ case LPROPS_DIRTY_IDX:
++ case LPROPS_FREE:
++ heap = &c->lpt_heap[cat - 1];
++ if (lprops->hpos < heap->cnt &&
++ heap->arr[lprops->hpos] == lprops)
++ found = 1;
++ break;
++ case LPROPS_UNCAT:
++ case LPROPS_EMPTY:
++ case LPROPS_FREEABLE:
++ case LPROPS_FRDI_IDX:
++ list_for_each_entry(lp, list, list)
++ if (lprops == lp) {
++ found = 1;
++ break;
++ }
++ break;
++ }
++ if (!found) {
++ dbg_err("LEB %d cat %d not found in cat heap/list",
++ lprops->lnum, cat);
++ return -EINVAL;
++ }
++ switch (cat) {
++ case LPROPS_EMPTY:
++ if (lprops->free != c->leb_size) {
++ dbg_err("LEB %d cat %d free %d dirty %d",
++ lprops->lnum, cat, lprops->free,
++ lprops->dirty);
++ return -EINVAL;
++ }
++ case LPROPS_FREEABLE:
++ case LPROPS_FRDI_IDX:
++ if (lprops->free + lprops->dirty != c->leb_size) {
++ dbg_err("LEB %d cat %d free %d dirty %d",
++ lprops->lnum, cat, lprops->free,
++ lprops->dirty);
++ return -EINVAL;
++ }
++ }
++ }
++ return 0;
++}
++
++/**
++ * dbg_check_lpt_nodes - check nnodes and pnodes.
++ * @c: the UBIFS file-system description object
++ * @cnode: next cnode (nnode or pnode) to check
++ * @row: row of cnode (root is zero)
++ * @col: column of cnode (leftmost is zero)
++ *
++ * This function returns %0 on success and a negative error code on failure.
++ */
++int dbg_check_lpt_nodes(struct ubifs_info *c, struct ubifs_cnode *cnode,
++ int row, int col)
++{
++ struct ubifs_nnode *nnode, *nn;
++ struct ubifs_cnode *cn;
++ int num, iip = 0, err;
++
++ if (!(ubifs_chk_flags & UBIFS_CHK_LPROPS))
++ return 0;
++
++ while (cnode) {
++ ubifs_assert(row >= 0);
++ nnode = cnode->parent;
++ if (cnode->level) {
++ /* cnode is a nnode */
++ num = calc_nnode_num(row, col);
++ if (cnode->num != num) {
++ dbg_err("nnode num %d expected %d "
++ "parent num %d iip %d", cnode->num, num,
++ (nnode ? nnode->num : 0), cnode->iip);
++ return -EINVAL;
++ }
++ nn = (struct ubifs_nnode *)cnode;
++ while (iip < UBIFS_LPT_FANOUT) {
++ cn = nn->nbranch[iip].cnode;
++ if (cn) {
++ /* Go down */
++ row += 1;
++ col <<= UBIFS_LPT_FANOUT_SHIFT;
++ col += iip;
++ iip = 0;
++ cnode = cn;
++ break;
++ }
++ /* Go right */
++ iip += 1;
++ }
++ if (iip < UBIFS_LPT_FANOUT)
++ continue;
++ } else {
++ struct ubifs_pnode *pnode;
++
++ /* cnode is a pnode */
++ pnode = (struct ubifs_pnode *)cnode;
++ err = dbg_chk_pnode(c, pnode, col);
++ if (err)
++ return err;
++ }
++ /* Go up and to the right */
++ row -= 1;
++ col >>= UBIFS_LPT_FANOUT_SHIFT;
++ iip = cnode->iip + 1;
++ cnode = (struct ubifs_cnode *)nnode;
++ }
++ return 0;
++}
++
++#endif /* CONFIG_UBIFS_FS_DEBUG */
+diff -Nurd linux-2.6.24/fs/ubifs/lpt_commit.c ubifs-v2.6.24/fs/ubifs/lpt_commit.c
+--- linux-2.6.24/fs/ubifs/lpt_commit.c 1970-01-01 02:00:00.000000000 +0200
++++ ubifs-v2.6.24/fs/ubifs/lpt_commit.c 2009-04-07 17:14:47.000000000 +0200
+@@ -0,0 +1,1973 @@
++/*
++ * This file is part of UBIFS.
++ *
++ * Copyright (C) 2006-2008 Nokia Corporation.
++ *
++ * This program is free software; you can redistribute it and/or modify it
++ * under the terms of the GNU General Public License version 2 as published by
++ * the Free Software Foundation.
++ *
++ * 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, write to the Free Software Foundation, Inc., 51
++ * Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
++ *
++ * Authors: Adrian Hunter
++ * Artem Bityutskiy (Битюцкий Ðртём)
++ */
++
++/*
++ * This file implements commit-related functionality of the LEB properties
++ * subsystem.
++ */
++
++#include <linux/crc16.h>
++#include "ubifs.h"
++
++/**
++ * first_dirty_cnode - find first dirty cnode.
++ * @c: UBIFS file-system description object
++ * @nnode: nnode at which to start
++ *
++ * This function returns the first dirty cnode or %NULL if there is not one.
++ */
++static struct ubifs_cnode *first_dirty_cnode(struct ubifs_nnode *nnode)
++{
++ ubifs_assert(nnode);
++ while (1) {
++ int i, cont = 0;
++
++ for (i = 0; i < UBIFS_LPT_FANOUT; i++) {
++ struct ubifs_cnode *cnode;
++
++ cnode = nnode->nbranch[i].cnode;
++ if (cnode &&
++ test_bit(DIRTY_CNODE, &cnode->flags)) {
++ if (cnode->level == 0)
++ return cnode;
++ nnode = (struct ubifs_nnode *)cnode;
++ cont = 1;
++ break;
++ }
++ }
++ if (!cont)
++ return (struct ubifs_cnode *)nnode;
++ }
++}
++
++/**
++ * next_dirty_cnode - find next dirty cnode.
++ * @cnode: cnode from which to begin searching
++ *
++ * This function returns the next dirty cnode or %NULL if there is not one.
++ */
++static struct ubifs_cnode *next_dirty_cnode(struct ubifs_cnode *cnode)
++{
++ struct ubifs_nnode *nnode;
++ int i;
++
++ ubifs_assert(cnode);
++ nnode = cnode->parent;
++ if (!nnode)
++ return NULL;
++ for (i = cnode->iip + 1; i < UBIFS_LPT_FANOUT; i++) {
++ cnode = nnode->nbranch[i].cnode;
++ if (cnode && test_bit(DIRTY_CNODE, &cnode->flags)) {
++ if (cnode->level == 0)
++ return cnode; /* cnode is a pnode */
++ /* cnode is a nnode */
++ return first_dirty_cnode((struct ubifs_nnode *)cnode);
++ }
++ }
++ return (struct ubifs_cnode *)nnode;
++}
++
++/**
++ * get_cnodes_to_commit - create list of dirty cnodes to commit.
++ * @c: UBIFS file-system description object
++ *
++ * This function returns the number of cnodes to commit.
++ */
++static int get_cnodes_to_commit(struct ubifs_info *c)
++{
++ struct ubifs_cnode *cnode, *cnext;
++ int cnt = 0;
++
++ if (!c->nroot)
++ return 0;
++
++ if (!test_bit(DIRTY_CNODE, &c->nroot->flags))
++ return 0;
++
++ c->lpt_cnext = first_dirty_cnode(c->nroot);
++ cnode = c->lpt_cnext;
++ if (!cnode)
++ return 0;
++ cnt += 1;
++ while (1) {
++ ubifs_assert(!test_bit(COW_ZNODE, &cnode->flags));
++ __set_bit(COW_ZNODE, &cnode->flags);
++ cnext = next_dirty_cnode(cnode);
++ if (!cnext) {
++ cnode->cnext = c->lpt_cnext;
++ break;
++ }
++ cnode->cnext = cnext;
++ cnode = cnext;
++ cnt += 1;
++ }
++ dbg_cmt("committing %d cnodes", cnt);
++ dbg_lp("committing %d cnodes", cnt);
++ ubifs_assert(cnt == c->dirty_nn_cnt + c->dirty_pn_cnt);
++ return cnt;
++}
++
++/**
++ * upd_ltab - update LPT LEB properties.
++ * @c: UBIFS file-system description object
++ * @lnum: LEB number
++ * @free: amount of free space
++ * @dirty: amount of dirty space to add
++ */
++static void upd_ltab(struct ubifs_info *c, int lnum, int free, int dirty)
++{
++ dbg_lp("LEB %d free %d dirty %d to %d +%d",
++ lnum, c->ltab[lnum - c->lpt_first].free,
++ c->ltab[lnum - c->lpt_first].dirty, free, dirty);
++ ubifs_assert(lnum >= c->lpt_first && lnum <= c->lpt_last);
++ c->ltab[lnum - c->lpt_first].free = free;
++ c->ltab[lnum - c->lpt_first].dirty += dirty;
++}
++
++/**
++ * alloc_lpt_leb - allocate an LPT LEB that is empty.
++ * @c: UBIFS file-system description object
++ * @lnum: LEB number is passed and returned here
++ *
++ * This function finds the next empty LEB in the ltab starting from @lnum. If a
++ * an empty LEB is found it is returned in @lnum and the function returns %0.
++ * Otherwise the function returns -ENOSPC. Note however, that LPT is designed
++ * never to run out of space.
++ */
++static int alloc_lpt_leb(struct ubifs_info *c, int *lnum)
++{
++ int i, n;
++
++ n = *lnum - c->lpt_first + 1;
++ for (i = n; i < c->lpt_lebs; i++) {
++ if (c->ltab[i].tgc || c->ltab[i].cmt)
++ continue;
++ if (c->ltab[i].free == c->leb_size) {
++ c->ltab[i].cmt = 1;
++ *lnum = i + c->lpt_first;
++ return 0;
++ }
++ }
++
++ for (i = 0; i < n; i++) {
++ if (c->ltab[i].tgc || c->ltab[i].cmt)
++ continue;
++ if (c->ltab[i].free == c->leb_size) {
++ c->ltab[i].cmt = 1;
++ *lnum = i + c->lpt_first;
++ return 0;
++ }
++ }
++ return -ENOSPC;
++}
++
++/**
++ * layout_cnodes - layout cnodes for commit.
++ * @c: UBIFS file-system description object
++ *
++ * This function returns %0 on success and a negative error code on failure.
++ */
++static int layout_cnodes(struct ubifs_info *c)
++{
++ int lnum, offs, len, alen, done_lsave, done_ltab, err;
++ struct ubifs_cnode *cnode;
++
++ err = dbg_chk_lpt_sz(c, 0, 0);
++ if (err)
++ return err;
++ cnode = c->lpt_cnext;
++ if (!cnode)
++ return 0;
++ lnum = c->nhead_lnum;
++ offs = c->nhead_offs;
++ /* Try to place lsave and ltab nicely */
++ done_lsave = !c->big_lpt;
++ done_ltab = 0;
++ if (!done_lsave && offs + c->lsave_sz <= c->leb_size) {
++ done_lsave = 1;
++ c->lsave_lnum = lnum;
++ c->lsave_offs = offs;
++ offs += c->lsave_sz;
++ dbg_chk_lpt_sz(c, 1, c->lsave_sz);
++ }
++
++ if (offs + c->ltab_sz <= c->leb_size) {
++ done_ltab = 1;
++ c->ltab_lnum = lnum;
++ c->ltab_offs = offs;
++ offs += c->ltab_sz;
++ dbg_chk_lpt_sz(c, 1, c->ltab_sz);
++ }
++
++ do {
++ if (cnode->level) {
++ len = c->nnode_sz;
++ c->dirty_nn_cnt -= 1;
++ } else {
++ len = c->pnode_sz;
++ c->dirty_pn_cnt -= 1;
++ }
++ while (offs + len > c->leb_size) {
++ alen = ALIGN(offs, c->min_io_size);
++ upd_ltab(c, lnum, c->leb_size - alen, alen - offs);
++ dbg_chk_lpt_sz(c, 2, c->leb_size - offs);
++ err = alloc_lpt_leb(c, &lnum);
++ if (err)
++ goto no_space;
++ offs = 0;
++ ubifs_assert(lnum >= c->lpt_first &&
++ lnum <= c->lpt_last);
++ /* Try to place lsave and ltab nicely */
++ if (!done_lsave) {
++ done_lsave = 1;
++ c->lsave_lnum = lnum;
++ c->lsave_offs = offs;
++ offs += c->lsave_sz;
++ dbg_chk_lpt_sz(c, 1, c->lsave_sz);
++ continue;
++ }
++ if (!done_ltab) {
++ done_ltab = 1;
++ c->ltab_lnum = lnum;
++ c->ltab_offs = offs;
++ offs += c->ltab_sz;
++ dbg_chk_lpt_sz(c, 1, c->ltab_sz);
++ continue;
++ }
++ break;
++ }
++ if (cnode->parent) {
++ cnode->parent->nbranch[cnode->iip].lnum = lnum;
++ cnode->parent->nbranch[cnode->iip].offs = offs;
++ } else {
++ c->lpt_lnum = lnum;
++ c->lpt_offs = offs;
++ }
++ offs += len;
++ dbg_chk_lpt_sz(c, 1, len);
++ cnode = cnode->cnext;
++ } while (cnode && cnode != c->lpt_cnext);
++
++ /* Make sure to place LPT's save table */
++ if (!done_lsave) {
++ if (offs + c->lsave_sz > c->leb_size) {
++ alen = ALIGN(offs, c->min_io_size);
++ upd_ltab(c, lnum, c->leb_size - alen, alen - offs);
++ dbg_chk_lpt_sz(c, 2, c->leb_size - offs);
++ err = alloc_lpt_leb(c, &lnum);
++ if (err)
++ goto no_space;
++ offs = 0;
++ ubifs_assert(lnum >= c->lpt_first &&
++ lnum <= c->lpt_last);
++ }
++ done_lsave = 1;
++ c->lsave_lnum = lnum;
++ c->lsave_offs = offs;
++ offs += c->lsave_sz;
++ dbg_chk_lpt_sz(c, 1, c->lsave_sz);
++ }
++
++ /* Make sure to place LPT's own lprops table */
++ if (!done_ltab) {
++ if (offs + c->ltab_sz > c->leb_size) {
++ alen = ALIGN(offs, c->min_io_size);
++ upd_ltab(c, lnum, c->leb_size - alen, alen - offs);
++ dbg_chk_lpt_sz(c, 2, c->leb_size - offs);
++ err = alloc_lpt_leb(c, &lnum);
++ if (err)
++ goto no_space;
++ offs = 0;
++ ubifs_assert(lnum >= c->lpt_first &&
++ lnum <= c->lpt_last);
++ }
++ done_ltab = 1;
++ c->ltab_lnum = lnum;
++ c->ltab_offs = offs;
++ offs += c->ltab_sz;
++ dbg_chk_lpt_sz(c, 1, c->ltab_sz);
++ }
++
++ alen = ALIGN(offs, c->min_io_size);
++ upd_ltab(c, lnum, c->leb_size - alen, alen - offs);
++ dbg_chk_lpt_sz(c, 4, alen - offs);
++ err = dbg_chk_lpt_sz(c, 3, alen);
++ if (err)
++ return err;
++ return 0;
++
++no_space:
++ ubifs_err("LPT out of space");
++ dbg_err("LPT out of space at LEB %d:%d needing %d, done_ltab %d, "
++ "done_lsave %d", lnum, offs, len, done_ltab, done_lsave);
++ dbg_dump_lpt_info(c);
++ dbg_dump_lpt_lebs(c);
++ dump_stack();
++ return err;
++}
++
++/**
++ * realloc_lpt_leb - allocate an LPT LEB that is empty.
++ * @c: UBIFS file-system description object
++ * @lnum: LEB number is passed and returned here
++ *
++ * This function duplicates exactly the results of the function alloc_lpt_leb.
++ * It is used during end commit to reallocate the same LEB numbers that were
++ * allocated by alloc_lpt_leb during start commit.
++ *
++ * This function finds the next LEB that was allocated by the alloc_lpt_leb
++ * function starting from @lnum. If a LEB is found it is returned in @lnum and
++ * the function returns %0. Otherwise the function returns -ENOSPC.
++ * Note however, that LPT is designed never to run out of space.
++ */
++static int realloc_lpt_leb(struct ubifs_info *c, int *lnum)
++{
++ int i, n;
++
++ n = *lnum - c->lpt_first + 1;
++ for (i = n; i < c->lpt_lebs; i++)
++ if (c->ltab[i].cmt) {
++ c->ltab[i].cmt = 0;
++ *lnum = i + c->lpt_first;
++ return 0;
++ }
++
++ for (i = 0; i < n; i++)
++ if (c->ltab[i].cmt) {
++ c->ltab[i].cmt = 0;
++ *lnum = i + c->lpt_first;
++ return 0;
++ }
++ return -ENOSPC;
++}
++
++/**
++ * write_cnodes - write cnodes for commit.
++ * @c: UBIFS file-system description object
++ *
++ * This function returns %0 on success and a negative error code on failure.
++ */
++static int write_cnodes(struct ubifs_info *c)
++{
++ int lnum, offs, len, from, err, wlen, alen, done_ltab, done_lsave;
++ struct ubifs_cnode *cnode;
++ void *buf = c->lpt_buf;
++
++ cnode = c->lpt_cnext;
++ if (!cnode)
++ return 0;
++ lnum = c->nhead_lnum;
++ offs = c->nhead_offs;
++ from = offs;
++ /* Ensure empty LEB is unmapped */
++ if (offs == 0) {
++ err = ubifs_leb_unmap(c, lnum);
++ if (err)
++ return err;
++ }
++ /* Try to place lsave and ltab nicely */
++ done_lsave = !c->big_lpt;
++ done_ltab = 0;
++ if (!done_lsave && offs + c->lsave_sz <= c->leb_size) {
++ done_lsave = 1;
++ ubifs_pack_lsave(c, buf + offs, c->lsave);
++ offs += c->lsave_sz;
++ dbg_chk_lpt_sz(c, 1, c->lsave_sz);
++ }
++
++ if (offs + c->ltab_sz <= c->leb_size) {
++ done_ltab = 1;
++ ubifs_pack_ltab(c, buf + offs, c->ltab_cmt);
++ offs += c->ltab_sz;
++ dbg_chk_lpt_sz(c, 1, c->ltab_sz);
++ }
++
++ /* Loop for each cnode */
++ do {
++ if (cnode->level)
++ len = c->nnode_sz;
++ else
++ len = c->pnode_sz;
++ while (offs + len > c->leb_size) {
++ wlen = offs - from;
++ if (wlen) {
++ alen = ALIGN(wlen, c->min_io_size);
++ memset(buf + offs, 0xff, alen - wlen);
++ err = ubifs_leb_write(c, lnum, buf + from, from,
++ alen, UBI_SHORTTERM);
++ if (err)
++ return err;
++ }
++ dbg_chk_lpt_sz(c, 2, c->leb_size - offs);
++ err = realloc_lpt_leb(c, &lnum);
++ if (err)
++ goto no_space;
++ offs = from = 0;
++ ubifs_assert(lnum >= c->lpt_first &&
++ lnum <= c->lpt_last);
++ err = ubifs_leb_unmap(c, lnum);
++ if (err)
++ return err;
++ /* Try to place lsave and ltab nicely */
++ if (!done_lsave) {
++ done_lsave = 1;
++ ubifs_pack_lsave(c, buf + offs, c->lsave);
++ offs += c->lsave_sz;
++ dbg_chk_lpt_sz(c, 1, c->lsave_sz);
++ continue;
++ }
++ if (!done_ltab) {
++ done_ltab = 1;
++ ubifs_pack_ltab(c, buf + offs, c->ltab_cmt);
++ offs += c->ltab_sz;
++ dbg_chk_lpt_sz(c, 1, c->ltab_sz);
++ continue;
++ }
++ break;
++ }
++ if (cnode->level)
++ ubifs_pack_nnode(c, buf + offs,
++ (struct ubifs_nnode *)cnode);
++ else
++ ubifs_pack_pnode(c, buf + offs,
++ (struct ubifs_pnode *)cnode);
++ /*
++ * The reason for the barriers is the same as in case of TNC.
++ * See comment in 'write_index()'. 'dirty_cow_nnode()' and
++ * 'dirty_cow_pnode()' are the functions for which this is
++ * important.
++ */
++ clear_bit(DIRTY_CNODE, &cnode->flags);
++ smp_mb__before_clear_bit();
++ clear_bit(COW_ZNODE, &cnode->flags);
++ smp_mb__after_clear_bit();
++ offs += len;
++ dbg_chk_lpt_sz(c, 1, len);
++ cnode = cnode->cnext;
++ } while (cnode && cnode != c->lpt_cnext);
++
++ /* Make sure to place LPT's save table */
++ if (!done_lsave) {
++ if (offs + c->lsave_sz > c->leb_size) {
++ wlen = offs - from;
++ alen = ALIGN(wlen, c->min_io_size);
++ memset(buf + offs, 0xff, alen - wlen);
++ err = ubifs_leb_write(c, lnum, buf + from, from, alen,
++ UBI_SHORTTERM);
++ if (err)
++ return err;
++ dbg_chk_lpt_sz(c, 2, c->leb_size - offs);
++ err = realloc_lpt_leb(c, &lnum);
++ if (err)
++ goto no_space;
++ offs = from = 0;
++ ubifs_assert(lnum >= c->lpt_first &&
++ lnum <= c->lpt_last);
++ err = ubifs_leb_unmap(c, lnum);
++ if (err)
++ return err;
++ }
++ done_lsave = 1;
++ ubifs_pack_lsave(c, buf + offs, c->lsave);
++ offs += c->lsave_sz;
++ dbg_chk_lpt_sz(c, 1, c->lsave_sz);
++ }
++
++ /* Make sure to place LPT's own lprops table */
++ if (!done_ltab) {
++ if (offs + c->ltab_sz > c->leb_size) {
++ wlen = offs - from;
++ alen = ALIGN(wlen, c->min_io_size);
++ memset(buf + offs, 0xff, alen - wlen);
++ err = ubifs_leb_write(c, lnum, buf + from, from, alen,
++ UBI_SHORTTERM);
++ if (err)
++ return err;
++ dbg_chk_lpt_sz(c, 2, c->leb_size - offs);
++ err = realloc_lpt_leb(c, &lnum);
++ if (err)
++ goto no_space;
++ offs = from = 0;
++ ubifs_assert(lnum >= c->lpt_first &&
++ lnum <= c->lpt_last);
++ err = ubifs_leb_unmap(c, lnum);
++ if (err)
++ return err;
++ }
++ done_ltab = 1;
++ ubifs_pack_ltab(c, buf + offs, c->ltab_cmt);
++ offs += c->ltab_sz;
++ dbg_chk_lpt_sz(c, 1, c->ltab_sz);
++ }
++
++ /* Write remaining data in buffer */
++ wlen = offs - from;
++ alen = ALIGN(wlen, c->min_io_size);
++ memset(buf + offs, 0xff, alen - wlen);
++ err = ubifs_leb_write(c, lnum, buf + from, from, alen, UBI_SHORTTERM);
++ if (err)
++ return err;
++
++ dbg_chk_lpt_sz(c, 4, alen - wlen);
++ err = dbg_chk_lpt_sz(c, 3, ALIGN(offs, c->min_io_size));
++ if (err)
++ return err;
++
++ c->nhead_lnum = lnum;
++ c->nhead_offs = ALIGN(offs, c->min_io_size);
++
++ dbg_lp("LPT root is at %d:%d", c->lpt_lnum, c->lpt_offs);
++ dbg_lp("LPT head is at %d:%d", c->nhead_lnum, c->nhead_offs);
++ dbg_lp("LPT ltab is at %d:%d", c->ltab_lnum, c->ltab_offs);
++ if (c->big_lpt)
++ dbg_lp("LPT lsave is at %d:%d", c->lsave_lnum, c->lsave_offs);
++
++ return 0;
++
++no_space:
++ ubifs_err("LPT out of space mismatch");
++ dbg_err("LPT out of space mismatch at LEB %d:%d needing %d, done_ltab "
++ "%d, done_lsave %d", lnum, offs, len, done_ltab, done_lsave);
++ dbg_dump_lpt_info(c);
++ dbg_dump_lpt_lebs(c);
++ dump_stack();
++ return err;
++}
++
++/**
++ * next_pnode_to_dirty - find next pnode to dirty.
++ * @c: UBIFS file-system description object
++ * @pnode: pnode
++ *
++ * This function returns the next pnode to dirty or %NULL if there are no more
++ * pnodes. Note that pnodes that have never been written (lnum == 0) are
++ * skipped.
++ */
++static struct ubifs_pnode *next_pnode_to_dirty(struct ubifs_info *c,
++ struct ubifs_pnode *pnode)
++{
++ struct ubifs_nnode *nnode;
++ int iip;
++
++ /* Try to go right */
++ nnode = pnode->parent;
++ for (iip = pnode->iip + 1; iip < UBIFS_LPT_FANOUT; iip++) {
++ if (nnode->nbranch[iip].lnum)
++ return ubifs_get_pnode(c, nnode, iip);
++ }
++
++ /* Go up while can't go right */
++ do {
++ iip = nnode->iip + 1;
++ nnode = nnode->parent;
++ if (!nnode)
++ return NULL;
++ for (; iip < UBIFS_LPT_FANOUT; iip++) {
++ if (nnode->nbranch[iip].lnum)
++ break;
++ }
++ } while (iip >= UBIFS_LPT_FANOUT);
++
++ /* Go right */
++ nnode = ubifs_get_nnode(c, nnode, iip);
++ if (IS_ERR(nnode))
++ return (void *)nnode;
++
++ /* Go down to level 1 */
++ while (nnode->level > 1) {
++ for (iip = 0; iip < UBIFS_LPT_FANOUT; iip++) {
++ if (nnode->nbranch[iip].lnum)
++ break;
++ }
++ if (iip >= UBIFS_LPT_FANOUT) {
++ /*
++ * Should not happen, but we need to keep going
++ * if it does.
++ */
++ iip = 0;
++ }
++ nnode = ubifs_get_nnode(c, nnode, iip);
++ if (IS_ERR(nnode))
++ return (void *)nnode;
++ }
++
++ for (iip = 0; iip < UBIFS_LPT_FANOUT; iip++)
++ if (nnode->nbranch[iip].lnum)
++ break;
++ if (iip >= UBIFS_LPT_FANOUT)
++ /* Should not happen, but we need to keep going if it does */
++ iip = 0;
++ return ubifs_get_pnode(c, nnode, iip);
++}
++
++/**
++ * pnode_lookup - lookup a pnode in the LPT.
++ * @c: UBIFS file-system description object
++ * @i: pnode number (0 to main_lebs - 1)
++ *
++ * This function returns a pointer to the pnode on success or a negative
++ * error code on failure.
++ */
++static struct ubifs_pnode *pnode_lookup(struct ubifs_info *c, int i)
++{
++ int err, h, iip, shft;
++ struct ubifs_nnode *nnode;
++
++ if (!c->nroot) {
++ err = ubifs_read_nnode(c, NULL, 0);
++ if (err)
++ return ERR_PTR(err);
++ }
++ i <<= UBIFS_LPT_FANOUT_SHIFT;
++ nnode = c->nroot;
++ shft = c->lpt_hght * UBIFS_LPT_FANOUT_SHIFT;
++ for (h = 1; h < c->lpt_hght; h++) {
++ iip = ((i >> shft) & (UBIFS_LPT_FANOUT - 1));
++ shft -= UBIFS_LPT_FANOUT_SHIFT;
++ nnode = ubifs_get_nnode(c, nnode, iip);
++ if (IS_ERR(nnode))
++ return ERR_PTR(PTR_ERR(nnode));
++ }
++ iip = ((i >> shft) & (UBIFS_LPT_FANOUT - 1));
++ return ubifs_get_pnode(c, nnode, iip);
++}
++
++/**
++ * add_pnode_dirt - add dirty space to LPT LEB properties.
++ * @c: UBIFS file-system description object
++ * @pnode: pnode for which to add dirt
++ */
++static void add_pnode_dirt(struct ubifs_info *c, struct ubifs_pnode *pnode)
++{
++ ubifs_add_lpt_dirt(c, pnode->parent->nbranch[pnode->iip].lnum,
++ c->pnode_sz);
++}
++
++/**
++ * do_make_pnode_dirty - mark a pnode dirty.
++ * @c: UBIFS file-system description object
++ * @pnode: pnode to mark dirty
++ */
++static void do_make_pnode_dirty(struct ubifs_info *c, struct ubifs_pnode *pnode)
++{
++ /* Assumes cnext list is empty i.e. not called during commit */
++ if (!test_and_set_bit(DIRTY_CNODE, &pnode->flags)) {
++ struct ubifs_nnode *nnode;
++
++ c->dirty_pn_cnt += 1;
++ add_pnode_dirt(c, pnode);
++ /* Mark parent and ancestors dirty too */
++ nnode = pnode->parent;
++ while (nnode) {
++ if (!test_and_set_bit(DIRTY_CNODE, &nnode->flags)) {
++ c->dirty_nn_cnt += 1;
++ ubifs_add_nnode_dirt(c, nnode);
++ nnode = nnode->parent;
++ } else
++ break;
++ }
++ }
++}
++
++/**
++ * make_tree_dirty - mark the entire LEB properties tree dirty.
++ * @c: UBIFS file-system description object
++ *
++ * This function is used by the "small" LPT model to cause the entire LEB
++ * properties tree to be written. The "small" LPT model does not use LPT
++ * garbage collection because it is more efficient to write the entire tree
++ * (because it is small).
++ *
++ * This function returns %0 on success and a negative error code on failure.
++ */
++static int make_tree_dirty(struct ubifs_info *c)
++{
++ struct ubifs_pnode *pnode;
++
++ pnode = pnode_lookup(c, 0);
++ while (pnode) {
++ do_make_pnode_dirty(c, pnode);
++ pnode = next_pnode_to_dirty(c, pnode);
++ if (IS_ERR(pnode))
++ return PTR_ERR(pnode);
++ }
++ return 0;
++}
++
++/**
++ * need_write_all - determine if the LPT area is running out of free space.
++ * @c: UBIFS file-system description object
++ *
++ * This function returns %1 if the LPT area is running out of free space and %0
++ * if it is not.
++ */
++static int need_write_all(struct ubifs_info *c)
++{
++ long long free = 0;
++ int i;
++
++ for (i = 0; i < c->lpt_lebs; i++) {
++ if (i + c->lpt_first == c->nhead_lnum)
++ free += c->leb_size - c->nhead_offs;
++ else if (c->ltab[i].free == c->leb_size)
++ free += c->leb_size;
++ else if (c->ltab[i].free + c->ltab[i].dirty == c->leb_size)
++ free += c->leb_size;
++ }
++ /* Less than twice the size left */
++ if (free <= c->lpt_sz * 2)
++ return 1;
++ return 0;
++}
++
++/**
++ * lpt_tgc_start - start trivial garbage collection of LPT LEBs.
++ * @c: UBIFS file-system description object
++ *
++ * LPT trivial garbage collection is where a LPT LEB contains only dirty and
++ * free space and so may be reused as soon as the next commit is completed.
++ * This function is called during start commit to mark LPT LEBs for trivial GC.
++ */
++static void lpt_tgc_start(struct ubifs_info *c)
++{
++ int i;
++
++ for (i = 0; i < c->lpt_lebs; i++) {
++ if (i + c->lpt_first == c->nhead_lnum)
++ continue;
++ if (c->ltab[i].dirty > 0 &&
++ c->ltab[i].free + c->ltab[i].dirty == c->leb_size) {
++ c->ltab[i].tgc = 1;
++ c->ltab[i].free = c->leb_size;
++ c->ltab[i].dirty = 0;
++ dbg_lp("LEB %d", i + c->lpt_first);
++ }
++ }
++}
++
++/**
++ * lpt_tgc_end - end trivial garbage collection of LPT LEBs.
++ * @c: UBIFS file-system description object
++ *
++ * LPT trivial garbage collection is where a LPT LEB contains only dirty and
++ * free space and so may be reused as soon as the next commit is completed.
++ * This function is called after the commit is completed (master node has been
++ * written) and un-maps LPT LEBs that were marked for trivial GC.
++ */
++static int lpt_tgc_end(struct ubifs_info *c)
++{
++ int i, err;
++
++ for (i = 0; i < c->lpt_lebs; i++)
++ if (c->ltab[i].tgc) {
++ err = ubifs_leb_unmap(c, i + c->lpt_first);
++ if (err)
++ return err;
++ c->ltab[i].tgc = 0;
++ dbg_lp("LEB %d", i + c->lpt_first);
++ }
++ return 0;
++}
++
++/**
++ * populate_lsave - fill the lsave array with important LEB numbers.
++ * @c: the UBIFS file-system description object
++ *
++ * This function is only called for the "big" model. It records a small number
++ * of LEB numbers of important LEBs. Important LEBs are ones that are (from
++ * most important to least important): empty, freeable, freeable index, dirty
++ * index, dirty or free. Upon mount, we read this list of LEB numbers and bring
++ * their pnodes into memory. That will stop us from having to scan the LPT
++ * straight away. For the "small" model we assume that scanning the LPT is no
++ * big deal.
++ */
++static void populate_lsave(struct ubifs_info *c)
++{
++ struct ubifs_lprops *lprops;
++ struct ubifs_lpt_heap *heap;
++ int i, cnt = 0;
++
++ ubifs_assert(c->big_lpt);
++ if (!(c->lpt_drty_flgs & LSAVE_DIRTY)) {
++ c->lpt_drty_flgs |= LSAVE_DIRTY;
++ ubifs_add_lpt_dirt(c, c->lsave_lnum, c->lsave_sz);
++ }
++ list_for_each_entry(lprops, &c->empty_list, list) {
++ c->lsave[cnt++] = lprops->lnum;
++ if (cnt >= c->lsave_cnt)
++ return;
++ }
++ list_for_each_entry(lprops, &c->freeable_list, list) {
++ c->lsave[cnt++] = lprops->lnum;
++ if (cnt >= c->lsave_cnt)
++ return;
++ }
++ list_for_each_entry(lprops, &c->frdi_idx_list, list) {
++ c->lsave[cnt++] = lprops->lnum;
++ if (cnt >= c->lsave_cnt)
++ return;
++ }
++ heap = &c->lpt_heap[LPROPS_DIRTY_IDX - 1];
++ for (i = 0; i < heap->cnt; i++) {
++ c->lsave[cnt++] = heap->arr[i]->lnum;
++ if (cnt >= c->lsave_cnt)
++ return;
++ }
++ heap = &c->lpt_heap[LPROPS_DIRTY - 1];
++ for (i = 0; i < heap->cnt; i++) {
++ c->lsave[cnt++] = heap->arr[i]->lnum;
++ if (cnt >= c->lsave_cnt)
++ return;
++ }
++ heap = &c->lpt_heap[LPROPS_FREE - 1];
++ for (i = 0; i < heap->cnt; i++) {
++ c->lsave[cnt++] = heap->arr[i]->lnum;
++ if (cnt >= c->lsave_cnt)
++ return;
++ }
++ /* Fill it up completely */
++ while (cnt < c->lsave_cnt)
++ c->lsave[cnt++] = c->main_first;
++}
++
++/**
++ * nnode_lookup - lookup a nnode in the LPT.
++ * @c: UBIFS file-system description object
++ * @i: nnode number
++ *
++ * This function returns a pointer to the nnode on success or a negative
++ * error code on failure.
++ */
++static struct ubifs_nnode *nnode_lookup(struct ubifs_info *c, int i)
++{
++ int err, iip;
++ struct ubifs_nnode *nnode;
++
++ if (!c->nroot) {
++ err = ubifs_read_nnode(c, NULL, 0);
++ if (err)
++ return ERR_PTR(err);
++ }
++ nnode = c->nroot;
++ while (1) {
++ iip = i & (UBIFS_LPT_FANOUT - 1);
++ i >>= UBIFS_LPT_FANOUT_SHIFT;
++ if (!i)
++ break;
++ nnode = ubifs_get_nnode(c, nnode, iip);
++ if (IS_ERR(nnode))
++ return nnode;
++ }
++ return nnode;
++}
++
++/**
++ * make_nnode_dirty - find a nnode and, if found, make it dirty.
++ * @c: UBIFS file-system description object
++ * @node_num: nnode number of nnode to make dirty
++ * @lnum: LEB number where nnode was written
++ * @offs: offset where nnode was written
++ *
++ * This function is used by LPT garbage collection. LPT garbage collection is
++ * used only for the "big" LPT model (c->big_lpt == 1). Garbage collection
++ * simply involves marking all the nodes in the LEB being garbage-collected as
++ * dirty. The dirty nodes are written next commit, after which the LEB is free
++ * to be reused.
++ *
++ * This function returns %0 on success and a negative error code on failure.
++ */
++static int make_nnode_dirty(struct ubifs_info *c, int node_num, int lnum,
++ int offs)
++{
++ struct ubifs_nnode *nnode;
++
++ nnode = nnode_lookup(c, node_num);
++ if (IS_ERR(nnode))
++ return PTR_ERR(nnode);
++ if (nnode->parent) {
++ struct ubifs_nbranch *branch;
++
++ branch = &nnode->parent->nbranch[nnode->iip];
++ if (branch->lnum != lnum || branch->offs != offs)
++ return 0; /* nnode is obsolete */
++ } else if (c->lpt_lnum != lnum || c->lpt_offs != offs)
++ return 0; /* nnode is obsolete */
++ /* Assumes cnext list is empty i.e. not called during commit */
++ if (!test_and_set_bit(DIRTY_CNODE, &nnode->flags)) {
++ c->dirty_nn_cnt += 1;
++ ubifs_add_nnode_dirt(c, nnode);
++ /* Mark parent and ancestors dirty too */
++ nnode = nnode->parent;
++ while (nnode) {
++ if (!test_and_set_bit(DIRTY_CNODE, &nnode->flags)) {
++ c->dirty_nn_cnt += 1;
++ ubifs_add_nnode_dirt(c, nnode);
++ nnode = nnode->parent;
++ } else
++ break;
++ }
++ }
++ return 0;
++}
++
++/**
++ * make_pnode_dirty - find a pnode and, if found, make it dirty.
++ * @c: UBIFS file-system description object
++ * @node_num: pnode number of pnode to make dirty
++ * @lnum: LEB number where pnode was written
++ * @offs: offset where pnode was written
++ *
++ * This function is used by LPT garbage collection. LPT garbage collection is
++ * used only for the "big" LPT model (c->big_lpt == 1). Garbage collection
++ * simply involves marking all the nodes in the LEB being garbage-collected as
++ * dirty. The dirty nodes are written next commit, after which the LEB is free
++ * to be reused.
++ *
++ * This function returns %0 on success and a negative error code on failure.
++ */
++static int make_pnode_dirty(struct ubifs_info *c, int node_num, int lnum,
++ int offs)
++{
++ struct ubifs_pnode *pnode;
++ struct ubifs_nbranch *branch;
++
++ pnode = pnode_lookup(c, node_num);
++ if (IS_ERR(pnode))
++ return PTR_ERR(pnode);
++ branch = &pnode->parent->nbranch[pnode->iip];
++ if (branch->lnum != lnum || branch->offs != offs)
++ return 0;
++ do_make_pnode_dirty(c, pnode);
++ return 0;
++}
++
++/**
++ * make_ltab_dirty - make ltab node dirty.
++ * @c: UBIFS file-system description object
++ * @lnum: LEB number where ltab was written
++ * @offs: offset where ltab was written
++ *
++ * This function is used by LPT garbage collection. LPT garbage collection is
++ * used only for the "big" LPT model (c->big_lpt == 1). Garbage collection
++ * simply involves marking all the nodes in the LEB being garbage-collected as
++ * dirty. The dirty nodes are written next commit, after which the LEB is free
++ * to be reused.
++ *
++ * This function returns %0 on success and a negative error code on failure.
++ */
++static int make_ltab_dirty(struct ubifs_info *c, int lnum, int offs)
++{
++ if (lnum != c->ltab_lnum || offs != c->ltab_offs)
++ return 0; /* This ltab node is obsolete */
++ if (!(c->lpt_drty_flgs & LTAB_DIRTY)) {
++ c->lpt_drty_flgs |= LTAB_DIRTY;
++ ubifs_add_lpt_dirt(c, c->ltab_lnum, c->ltab_sz);
++ }
++ return 0;
++}
++
++/**
++ * make_lsave_dirty - make lsave node dirty.
++ * @c: UBIFS file-system description object
++ * @lnum: LEB number where lsave was written
++ * @offs: offset where lsave was written
++ *
++ * This function is used by LPT garbage collection. LPT garbage collection is
++ * used only for the "big" LPT model (c->big_lpt == 1). Garbage collection
++ * simply involves marking all the nodes in the LEB being garbage-collected as
++ * dirty. The dirty nodes are written next commit, after which the LEB is free
++ * to be reused.
++ *
++ * This function returns %0 on success and a negative error code on failure.
++ */
++static int make_lsave_dirty(struct ubifs_info *c, int lnum, int offs)
++{
++ if (lnum != c->lsave_lnum || offs != c->lsave_offs)
++ return 0; /* This lsave node is obsolete */
++ if (!(c->lpt_drty_flgs & LSAVE_DIRTY)) {
++ c->lpt_drty_flgs |= LSAVE_DIRTY;
++ ubifs_add_lpt_dirt(c, c->lsave_lnum, c->lsave_sz);
++ }
++ return 0;
++}
++
++/**
++ * make_node_dirty - make node dirty.
++ * @c: UBIFS file-system description object
++ * @node_type: LPT node type
++ * @node_num: node number
++ * @lnum: LEB number where node was written
++ * @offs: offset where node was written
++ *
++ * This function is used by LPT garbage collection. LPT garbage collection is
++ * used only for the "big" LPT model (c->big_lpt == 1). Garbage collection
++ * simply involves marking all the nodes in the LEB being garbage-collected as
++ * dirty. The dirty nodes are written next commit, after which the LEB is free
++ * to be reused.
++ *
++ * This function returns %0 on success and a negative error code on failure.
++ */
++static int make_node_dirty(struct ubifs_info *c, int node_type, int node_num,
++ int lnum, int offs)
++{
++ switch (node_type) {
++ case UBIFS_LPT_NNODE:
++ return make_nnode_dirty(c, node_num, lnum, offs);
++ case UBIFS_LPT_PNODE:
++ return make_pnode_dirty(c, node_num, lnum, offs);
++ case UBIFS_LPT_LTAB:
++ return make_ltab_dirty(c, lnum, offs);
++ case UBIFS_LPT_LSAVE:
++ return make_lsave_dirty(c, lnum, offs);
++ }
++ return -EINVAL;
++}
++
++/**
++ * get_lpt_node_len - return the length of a node based on its type.
++ * @c: UBIFS file-system description object
++ * @node_type: LPT node type
++ */
++static int get_lpt_node_len(const struct ubifs_info *c, int node_type)
++{
++ switch (node_type) {
++ case UBIFS_LPT_NNODE:
++ return c->nnode_sz;
++ case UBIFS_LPT_PNODE:
++ return c->pnode_sz;
++ case UBIFS_LPT_LTAB:
++ return c->ltab_sz;
++ case UBIFS_LPT_LSAVE:
++ return c->lsave_sz;
++ }
++ return 0;
++}
++
++/**
++ * get_pad_len - return the length of padding in a buffer.
++ * @c: UBIFS file-system description object
++ * @buf: buffer
++ * @len: length of buffer
++ */
++static int get_pad_len(const struct ubifs_info *c, uint8_t *buf, int len)
++{
++ int offs, pad_len;
++
++ if (c->min_io_size == 1)
++ return 0;
++ offs = c->leb_size - len;
++ pad_len = ALIGN(offs, c->min_io_size) - offs;
++ return pad_len;
++}
++
++/**
++ * get_lpt_node_type - return type (and node number) of a node in a buffer.
++ * @c: UBIFS file-system description object
++ * @buf: buffer
++ * @node_num: node number is returned here
++ */
++static int get_lpt_node_type(const struct ubifs_info *c, uint8_t *buf,
++ int *node_num)
++{
++ uint8_t *addr = buf + UBIFS_LPT_CRC_BYTES;
++ int pos = 0, node_type;
++
++ node_type = ubifs_unpack_bits(&addr, &pos, UBIFS_LPT_TYPE_BITS);
++ *node_num = ubifs_unpack_bits(&addr, &pos, c->pcnt_bits);
++ return node_type;
++}
++
++/**
++ * is_a_node - determine if a buffer contains a node.
++ * @c: UBIFS file-system description object
++ * @buf: buffer
++ * @len: length of buffer
++ *
++ * This function returns %1 if the buffer contains a node or %0 if it does not.
++ */
++static int is_a_node(const struct ubifs_info *c, uint8_t *buf, int len)
++{
++ uint8_t *addr = buf + UBIFS_LPT_CRC_BYTES;
++ int pos = 0, node_type, node_len;
++ uint16_t crc, calc_crc;
++
++ if (len < UBIFS_LPT_CRC_BYTES + (UBIFS_LPT_TYPE_BITS + 7) / 8)
++ return 0;
++ node_type = ubifs_unpack_bits(&addr, &pos, UBIFS_LPT_TYPE_BITS);
++ if (node_type == UBIFS_LPT_NOT_A_NODE)
++ return 0;
++ node_len = get_lpt_node_len(c, node_type);
++ if (!node_len || node_len > len)
++ return 0;
++ pos = 0;
++ addr = buf;
++ crc = ubifs_unpack_bits(&addr, &pos, UBIFS_LPT_CRC_BITS);
++ calc_crc = crc16(-1, buf + UBIFS_LPT_CRC_BYTES,
++ node_len - UBIFS_LPT_CRC_BYTES);
++ if (crc != calc_crc)
++ return 0;
++ return 1;
++}
++
++/**
++ * lpt_gc_lnum - garbage collect a LPT LEB.
++ * @c: UBIFS file-system description object
++ * @lnum: LEB number to garbage collect
++ *
++ * LPT garbage collection is used only for the "big" LPT model
++ * (c->big_lpt == 1). Garbage collection simply involves marking all the nodes
++ * in the LEB being garbage-collected as dirty. The dirty nodes are written
++ * next commit, after which the LEB is free to be reused.
++ *
++ * This function returns %0 on success and a negative error code on failure.
++ */
++static int lpt_gc_lnum(struct ubifs_info *c, int lnum)
++{
++ int err, len = c->leb_size, node_type, node_num, node_len, offs;
++ void *buf = c->lpt_buf;
++
++ dbg_lp("LEB %d", lnum);
++ err = ubi_read(c->ubi, lnum, buf, 0, c->leb_size);
++ if (err) {
++ ubifs_err("cannot read LEB %d, error %d", lnum, err);
++ return err;
++ }
++ while (1) {
++ if (!is_a_node(c, buf, len)) {
++ int pad_len;
++
++ pad_len = get_pad_len(c, buf, len);
++ if (pad_len) {
++ buf += pad_len;
++ len -= pad_len;
++ continue;
++ }
++ return 0;
++ }
++ node_type = get_lpt_node_type(c, buf, &node_num);
++ node_len = get_lpt_node_len(c, node_type);
++ offs = c->leb_size - len;
++ ubifs_assert(node_len != 0);
++ mutex_lock(&c->lp_mutex);
++ err = make_node_dirty(c, node_type, node_num, lnum, offs);
++ mutex_unlock(&c->lp_mutex);
++ if (err)
++ return err;
++ buf += node_len;
++ len -= node_len;
++ }
++ return 0;
++}
++
++/**
++ * lpt_gc - LPT garbage collection.
++ * @c: UBIFS file-system description object
++ *
++ * Select a LPT LEB for LPT garbage collection and call 'lpt_gc_lnum()'.
++ * Returns %0 on success and a negative error code on failure.
++ */
++static int lpt_gc(struct ubifs_info *c)
++{
++ int i, lnum = -1, dirty = 0;
++
++ mutex_lock(&c->lp_mutex);
++ for (i = 0; i < c->lpt_lebs; i++) {
++ ubifs_assert(!c->ltab[i].tgc);
++ if (i + c->lpt_first == c->nhead_lnum ||
++ c->ltab[i].free + c->ltab[i].dirty == c->leb_size)
++ continue;
++ if (c->ltab[i].dirty > dirty) {
++ dirty = c->ltab[i].dirty;
++ lnum = i + c->lpt_first;
++ }
++ }
++ mutex_unlock(&c->lp_mutex);
++ if (lnum == -1)
++ return -ENOSPC;
++ return lpt_gc_lnum(c, lnum);
++}
++
++/**
++ * ubifs_lpt_start_commit - UBIFS commit starts.
++ * @c: the UBIFS file-system description object
++ *
++ * This function has to be called when UBIFS starts the commit operation.
++ * This function "freezes" all currently dirty LEB properties and does not
++ * change them anymore. Further changes are saved and tracked separately
++ * because they are not part of this commit. This function returns zero in case
++ * of success and a negative error code in case of failure.
++ */
++int ubifs_lpt_start_commit(struct ubifs_info *c)
++{
++ int err, cnt;
++
++ dbg_lp("");
++
++ mutex_lock(&c->lp_mutex);
++ err = dbg_chk_lpt_free_spc(c);
++ if (err)
++ goto out;
++ err = dbg_check_ltab(c);
++ if (err)
++ goto out;
++
++ if (c->check_lpt_free) {
++ /*
++ * We ensure there is enough free space in
++ * ubifs_lpt_post_commit() by marking nodes dirty. That
++ * information is lost when we unmount, so we also need
++ * to check free space once after mounting also.
++ */
++ c->check_lpt_free = 0;
++ while (need_write_all(c)) {
++ mutex_unlock(&c->lp_mutex);
++ err = lpt_gc(c);
++ if (err)
++ return err;
++ mutex_lock(&c->lp_mutex);
++ }
++ }
++
++ lpt_tgc_start(c);
++
++ if (!c->dirty_pn_cnt) {
++ dbg_cmt("no cnodes to commit");
++ err = 0;
++ goto out;
++ }
++
++ if (!c->big_lpt && need_write_all(c)) {
++ /* If needed, write everything */
++ err = make_tree_dirty(c);
++ if (err)
++ goto out;
++ lpt_tgc_start(c);
++ }
++
++ if (c->big_lpt)
++ populate_lsave(c);
++
++ cnt = get_cnodes_to_commit(c);
++ ubifs_assert(cnt != 0);
++
++ err = layout_cnodes(c);
++ if (err)
++ goto out;
++
++ /* Copy the LPT's own lprops for end commit to write */
++ memcpy(c->ltab_cmt, c->ltab,
++ sizeof(struct ubifs_lpt_lprops) * c->lpt_lebs);
++ c->lpt_drty_flgs &= ~(LTAB_DIRTY | LSAVE_DIRTY);
++
++out:
++ mutex_unlock(&c->lp_mutex);
++ return err;
++}
++
++/**
++ * free_obsolete_cnodes - free obsolete cnodes for commit end.
++ * @c: UBIFS file-system description object
++ */
++static void free_obsolete_cnodes(struct ubifs_info *c)
++{
++ struct ubifs_cnode *cnode, *cnext;
++
++ cnext = c->lpt_cnext;
++ if (!cnext)
++ return;
++ do {
++ cnode = cnext;
++ cnext = cnode->cnext;
++ if (test_bit(OBSOLETE_CNODE, &cnode->flags))
++ kfree(cnode);
++ else
++ cnode->cnext = NULL;
++ } while (cnext != c->lpt_cnext);
++ c->lpt_cnext = NULL;
++}
++
++/**
++ * ubifs_lpt_end_commit - finish the commit operation.
++ * @c: the UBIFS file-system description object
++ *
++ * This function has to be called when the commit operation finishes. It
++ * flushes the changes which were "frozen" by 'ubifs_lprops_start_commit()' to
++ * the media. Returns zero in case of success and a negative error code in case
++ * of failure.
++ */
++int ubifs_lpt_end_commit(struct ubifs_info *c)
++{
++ int err;
++
++ dbg_lp("");
++
++ if (!c->lpt_cnext)
++ return 0;
++
++ err = write_cnodes(c);
++ if (err)
++ return err;
++
++ mutex_lock(&c->lp_mutex);
++ free_obsolete_cnodes(c);
++ mutex_unlock(&c->lp_mutex);
++
++ return 0;
++}
++
++/**
++ * ubifs_lpt_post_commit - post commit LPT trivial GC and LPT GC.
++ * @c: UBIFS file-system description object
++ *
++ * LPT trivial GC is completed after a commit. Also LPT GC is done after a
++ * commit for the "big" LPT model.
++ */
++int ubifs_lpt_post_commit(struct ubifs_info *c)
++{
++ int err;
++
++ mutex_lock(&c->lp_mutex);
++ err = lpt_tgc_end(c);
++ if (err)
++ goto out;
++ if (c->big_lpt)
++ while (need_write_all(c)) {
++ mutex_unlock(&c->lp_mutex);
++ err = lpt_gc(c);
++ if (err)
++ return err;
++ mutex_lock(&c->lp_mutex);
++ }
++out:
++ mutex_unlock(&c->lp_mutex);
++ return err;
++}
++
++/**
++ * first_nnode - find the first nnode in memory.
++ * @c: UBIFS file-system description object
++ * @hght: height of tree where nnode found is returned here
++ *
++ * This function returns a pointer to the nnode found or %NULL if no nnode is
++ * found. This function is a helper to 'ubifs_lpt_free()'.
++ */
++static struct ubifs_nnode *first_nnode(struct ubifs_info *c, int *hght)
++{
++ struct ubifs_nnode *nnode;
++ int h, i, found;
++
++ nnode = c->nroot;
++ *hght = 0;
++ if (!nnode)
++ return NULL;
++ for (h = 1; h < c->lpt_hght; h++) {
++ found = 0;
++ for (i = 0; i < UBIFS_LPT_FANOUT; i++) {
++ if (nnode->nbranch[i].nnode) {
++ found = 1;
++ nnode = nnode->nbranch[i].nnode;
++ *hght = h;
++ break;
++ }
++ }
++ if (!found)
++ break;
++ }
++ return nnode;
++}
++
++/**
++ * next_nnode - find the next nnode in memory.
++ * @c: UBIFS file-system description object
++ * @nnode: nnode from which to start.
++ * @hght: height of tree where nnode is, is passed and returned here
++ *
++ * This function returns a pointer to the nnode found or %NULL if no nnode is
++ * found. This function is a helper to 'ubifs_lpt_free()'.
++ */
++static struct ubifs_nnode *next_nnode(struct ubifs_info *c,
++ struct ubifs_nnode *nnode, int *hght)
++{
++ struct ubifs_nnode *parent;
++ int iip, h, i, found;
++
++ parent = nnode->parent;
++ if (!parent)
++ return NULL;
++ if (nnode->iip == UBIFS_LPT_FANOUT - 1) {
++ *hght -= 1;
++ return parent;
++ }
++ for (iip = nnode->iip + 1; iip < UBIFS_LPT_FANOUT; iip++) {
++ nnode = parent->nbranch[iip].nnode;
++ if (nnode)
++ break;
++ }
++ if (!nnode) {
++ *hght -= 1;
++ return parent;
++ }
++ for (h = *hght + 1; h < c->lpt_hght; h++) {
++ found = 0;
++ for (i = 0; i < UBIFS_LPT_FANOUT; i++) {
++ if (nnode->nbranch[i].nnode) {
++ found = 1;
++ nnode = nnode->nbranch[i].nnode;
++ *hght = h;
++ break;
++ }
++ }
++ if (!found)
++ break;
++ }
++ return nnode;
++}
++
++/**
++ * ubifs_lpt_free - free resources owned by the LPT.
++ * @c: UBIFS file-system description object
++ * @wr_only: free only resources used for writing
++ */
++void ubifs_lpt_free(struct ubifs_info *c, int wr_only)
++{
++ struct ubifs_nnode *nnode;
++ int i, hght;
++
++ /* Free write-only things first */
++
++ free_obsolete_cnodes(c); /* Leftover from a failed commit */
++
++ vfree(c->ltab_cmt);
++ c->ltab_cmt = NULL;
++ vfree(c->lpt_buf);
++ c->lpt_buf = NULL;
++ kfree(c->lsave);
++ c->lsave = NULL;
++
++ if (wr_only)
++ return;
++
++ /* Now free the rest */
++
++ nnode = first_nnode(c, &hght);
++ while (nnode) {
++ for (i = 0; i < UBIFS_LPT_FANOUT; i++)
++ kfree(nnode->nbranch[i].nnode);
++ nnode = next_nnode(c, nnode, &hght);
++ }
++ for (i = 0; i < LPROPS_HEAP_CNT; i++)
++ kfree(c->lpt_heap[i].arr);
++ kfree(c->dirty_idx.arr);
++ kfree(c->nroot);
++ vfree(c->ltab);
++ kfree(c->lpt_nod_buf);
++}
++
++#ifdef CONFIG_UBIFS_FS_DEBUG
++
++/**
++ * dbg_is_all_ff - determine if a buffer contains only 0xFF bytes.
++ * @buf: buffer
++ * @len: buffer length
++ */
++static int dbg_is_all_ff(uint8_t *buf, int len)
++{
++ int i;
++
++ for (i = 0; i < len; i++)
++ if (buf[i] != 0xff)
++ return 0;
++ return 1;
++}
++
++/**
++ * dbg_is_nnode_dirty - determine if a nnode is dirty.
++ * @c: the UBIFS file-system description object
++ * @lnum: LEB number where nnode was written
++ * @offs: offset where nnode was written
++ */
++static int dbg_is_nnode_dirty(struct ubifs_info *c, int lnum, int offs)
++{
++ struct ubifs_nnode *nnode;
++ int hght;
++
++ /* Entire tree is in memory so first_nnode / next_nnode are OK */
++ nnode = first_nnode(c, &hght);
++ for (; nnode; nnode = next_nnode(c, nnode, &hght)) {
++ struct ubifs_nbranch *branch;
++
++ cond_resched();
++ if (nnode->parent) {
++ branch = &nnode->parent->nbranch[nnode->iip];
++ if (branch->lnum != lnum || branch->offs != offs)
++ continue;
++ if (test_bit(DIRTY_CNODE, &nnode->flags))
++ return 1;
++ return 0;
++ } else {
++ if (c->lpt_lnum != lnum || c->lpt_offs != offs)
++ continue;
++ if (test_bit(DIRTY_CNODE, &nnode->flags))
++ return 1;
++ return 0;
++ }
++ }
++ return 1;
++}
++
++/**
++ * dbg_is_pnode_dirty - determine if a pnode is dirty.
++ * @c: the UBIFS file-system description object
++ * @lnum: LEB number where pnode was written
++ * @offs: offset where pnode was written
++ */
++static int dbg_is_pnode_dirty(struct ubifs_info *c, int lnum, int offs)
++{
++ int i, cnt;
++
++ cnt = DIV_ROUND_UP(c->main_lebs, UBIFS_LPT_FANOUT);
++ for (i = 0; i < cnt; i++) {
++ struct ubifs_pnode *pnode;
++ struct ubifs_nbranch *branch;
++
++ cond_resched();
++ pnode = pnode_lookup(c, i);
++ if (IS_ERR(pnode))
++ return PTR_ERR(pnode);
++ branch = &pnode->parent->nbranch[pnode->iip];
++ if (branch->lnum != lnum || branch->offs != offs)
++ continue;
++ if (test_bit(DIRTY_CNODE, &pnode->flags))
++ return 1;
++ return 0;
++ }
++ return 1;
++}
++
++/**
++ * dbg_is_ltab_dirty - determine if a ltab node is dirty.
++ * @c: the UBIFS file-system description object
++ * @lnum: LEB number where ltab node was written
++ * @offs: offset where ltab node was written
++ */
++static int dbg_is_ltab_dirty(struct ubifs_info *c, int lnum, int offs)
++{
++ if (lnum != c->ltab_lnum || offs != c->ltab_offs)
++ return 1;
++ return (c->lpt_drty_flgs & LTAB_DIRTY) != 0;
++}
++
++/**
++ * dbg_is_lsave_dirty - determine if a lsave node is dirty.
++ * @c: the UBIFS file-system description object
++ * @lnum: LEB number where lsave node was written
++ * @offs: offset where lsave node was written
++ */
++static int dbg_is_lsave_dirty(struct ubifs_info *c, int lnum, int offs)
++{
++ if (lnum != c->lsave_lnum || offs != c->lsave_offs)
++ return 1;
++ return (c->lpt_drty_flgs & LSAVE_DIRTY) != 0;
++}
++
++/**
++ * dbg_is_node_dirty - determine if a node is dirty.
++ * @c: the UBIFS file-system description object
++ * @node_type: node type
++ * @lnum: LEB number where node was written
++ * @offs: offset where node was written
++ */
++static int dbg_is_node_dirty(struct ubifs_info *c, int node_type, int lnum,
++ int offs)
++{
++ switch (node_type) {
++ case UBIFS_LPT_NNODE:
++ return dbg_is_nnode_dirty(c, lnum, offs);
++ case UBIFS_LPT_PNODE:
++ return dbg_is_pnode_dirty(c, lnum, offs);
++ case UBIFS_LPT_LTAB:
++ return dbg_is_ltab_dirty(c, lnum, offs);
++ case UBIFS_LPT_LSAVE:
++ return dbg_is_lsave_dirty(c, lnum, offs);
++ }
++ return 1;
++}
++
++/**
++ * dbg_check_ltab_lnum - check the ltab for a LPT LEB number.
++ * @c: the UBIFS file-system description object
++ * @lnum: LEB number where node was written
++ * @offs: offset where node was written
++ *
++ * This function returns %0 on success and a negative error code on failure.
++ */
++static int dbg_check_ltab_lnum(struct ubifs_info *c, int lnum)
++{
++ int err, len = c->leb_size, dirty = 0, node_type, node_num, node_len;
++ int ret;
++ void *buf = c->dbg->buf;
++
++ if (!(ubifs_chk_flags & UBIFS_CHK_LPROPS))
++ return 0;
++
++ dbg_lp("LEB %d", lnum);
++ err = ubi_read(c->ubi, lnum, buf, 0, c->leb_size);
++ if (err) {
++ dbg_msg("ubi_read failed, LEB %d, error %d", lnum, err);
++ return err;
++ }
++ while (1) {
++ if (!is_a_node(c, buf, len)) {
++ int i, pad_len;
++
++ pad_len = get_pad_len(c, buf, len);
++ if (pad_len) {
++ buf += pad_len;
++ len -= pad_len;
++ dirty += pad_len;
++ continue;
++ }
++ if (!dbg_is_all_ff(buf, len)) {
++ dbg_msg("invalid empty space in LEB %d at %d",
++ lnum, c->leb_size - len);
++ err = -EINVAL;
++ }
++ i = lnum - c->lpt_first;
++ if (len != c->ltab[i].free) {
++ dbg_msg("invalid free space in LEB %d "
++ "(free %d, expected %d)",
++ lnum, len, c->ltab[i].free);
++ err = -EINVAL;
++ }
++ if (dirty != c->ltab[i].dirty) {
++ dbg_msg("invalid dirty space in LEB %d "
++ "(dirty %d, expected %d)",
++ lnum, dirty, c->ltab[i].dirty);
++ err = -EINVAL;
++ }
++ return err;
++ }
++ node_type = get_lpt_node_type(c, buf, &node_num);
++ node_len = get_lpt_node_len(c, node_type);
++ ret = dbg_is_node_dirty(c, node_type, lnum, c->leb_size - len);
++ if (ret == 1)
++ dirty += node_len;
++ buf += node_len;
++ len -= node_len;
++ }
++}
++
++/**
++ * dbg_check_ltab - check the free and dirty space in the ltab.
++ * @c: the UBIFS file-system description object
++ *
++ * This function returns %0 on success and a negative error code on failure.
++ */
++int dbg_check_ltab(struct ubifs_info *c)
++{
++ int lnum, err, i, cnt;
++
++ if (!(ubifs_chk_flags & UBIFS_CHK_LPROPS))
++ return 0;
++
++ /* Bring the entire tree into memory */
++ cnt = DIV_ROUND_UP(c->main_lebs, UBIFS_LPT_FANOUT);
++ for (i = 0; i < cnt; i++) {
++ struct ubifs_pnode *pnode;
++
++ pnode = pnode_lookup(c, i);
++ if (IS_ERR(pnode))
++ return PTR_ERR(pnode);
++ cond_resched();
++ }
++
++ /* Check nodes */
++ err = dbg_check_lpt_nodes(c, (struct ubifs_cnode *)c->nroot, 0, 0);
++ if (err)
++ return err;
++
++ /* Check each LEB */
++ for (lnum = c->lpt_first; lnum <= c->lpt_last; lnum++) {
++ err = dbg_check_ltab_lnum(c, lnum);
++ if (err) {
++ dbg_err("failed at LEB %d", lnum);
++ return err;
++ }
++ }
++
++ dbg_lp("succeeded");
++ return 0;
++}
++
++/**
++ * dbg_chk_lpt_free_spc - check LPT free space is enough to write entire LPT.
++ * @c: the UBIFS file-system description object
++ *
++ * This function returns %0 on success and a negative error code on failure.
++ */
++int dbg_chk_lpt_free_spc(struct ubifs_info *c)
++{
++ long long free = 0;
++ int i;
++
++ if (!(ubifs_chk_flags & UBIFS_CHK_LPROPS))
++ return 0;
++
++ for (i = 0; i < c->lpt_lebs; i++) {
++ if (c->ltab[i].tgc || c->ltab[i].cmt)
++ continue;
++ if (i + c->lpt_first == c->nhead_lnum)
++ free += c->leb_size - c->nhead_offs;
++ else if (c->ltab[i].free == c->leb_size)
++ free += c->leb_size;
++ }
++ if (free < c->lpt_sz) {
++ dbg_err("LPT space error: free %lld lpt_sz %lld",
++ free, c->lpt_sz);
++ dbg_dump_lpt_info(c);
++ dbg_dump_lpt_lebs(c);
++ dump_stack();
++ return -EINVAL;
++ }
++ return 0;
++}
++
++/**
++ * dbg_chk_lpt_sz - check LPT does not write more than LPT size.
++ * @c: the UBIFS file-system description object
++ * @action: what to do
++ * @len: length written
++ *
++ * This function returns %0 on success and a negative error code on failure.
++ * The @action argument may be one of:
++ * o %0 - LPT debugging checking starts, initialize debugging variables;
++ * o %1 - wrote an LPT node, increase LPT size by @len bytes;
++ * o %2 - switched to a different LEB and wasted @len bytes;
++ * o %3 - check that we've written the right number of bytes.
++ * o %4 - wasted @len bytes;
++ */
++int dbg_chk_lpt_sz(struct ubifs_info *c, int action, int len)
++{
++ struct ubifs_debug_info *d = c->dbg;
++ long long chk_lpt_sz, lpt_sz;
++ int err = 0;
++
++ if (!(ubifs_chk_flags & UBIFS_CHK_LPROPS))
++ return 0;
++
++ switch (action) {
++ case 0:
++ d->chk_lpt_sz = 0;
++ d->chk_lpt_sz2 = 0;
++ d->chk_lpt_lebs = 0;
++ d->chk_lpt_wastage = 0;
++ if (c->dirty_pn_cnt > c->pnode_cnt) {
++ dbg_err("dirty pnodes %d exceed max %d",
++ c->dirty_pn_cnt, c->pnode_cnt);
++ err = -EINVAL;
++ }
++ if (c->dirty_nn_cnt > c->nnode_cnt) {
++ dbg_err("dirty nnodes %d exceed max %d",
++ c->dirty_nn_cnt, c->nnode_cnt);
++ err = -EINVAL;
++ }
++ return err;
++ case 1:
++ d->chk_lpt_sz += len;
++ return 0;
++ case 2:
++ d->chk_lpt_sz += len;
++ d->chk_lpt_wastage += len;
++ d->chk_lpt_lebs += 1;
++ return 0;
++ case 3:
++ chk_lpt_sz = c->leb_size;
++ chk_lpt_sz *= d->chk_lpt_lebs;
++ chk_lpt_sz += len - c->nhead_offs;
++ if (d->chk_lpt_sz != chk_lpt_sz) {
++ dbg_err("LPT wrote %lld but space used was %lld",
++ d->chk_lpt_sz, chk_lpt_sz);
++ err = -EINVAL;
++ }
++ if (d->chk_lpt_sz > c->lpt_sz) {
++ dbg_err("LPT wrote %lld but lpt_sz is %lld",
++ d->chk_lpt_sz, c->lpt_sz);
++ err = -EINVAL;
++ }
++ if (d->chk_lpt_sz2 && d->chk_lpt_sz != d->chk_lpt_sz2) {
++ dbg_err("LPT layout size %lld but wrote %lld",
++ d->chk_lpt_sz, d->chk_lpt_sz2);
++ err = -EINVAL;
++ }
++ if (d->chk_lpt_sz2 && d->new_nhead_offs != len) {
++ dbg_err("LPT new nhead offs: expected %d was %d",
++ d->new_nhead_offs, len);
++ err = -EINVAL;
++ }
++ lpt_sz = (long long)c->pnode_cnt * c->pnode_sz;
++ lpt_sz += (long long)c->nnode_cnt * c->nnode_sz;
++ lpt_sz += c->ltab_sz;
++ if (c->big_lpt)
++ lpt_sz += c->lsave_sz;
++ if (d->chk_lpt_sz - d->chk_lpt_wastage > lpt_sz) {
++ dbg_err("LPT chk_lpt_sz %lld + waste %lld exceeds %lld",
++ d->chk_lpt_sz, d->chk_lpt_wastage, lpt_sz);
++ err = -EINVAL;
++ }
++ if (err) {
++ dbg_dump_lpt_info(c);
++ dbg_dump_lpt_lebs(c);
++ dump_stack();
++ }
++ d->chk_lpt_sz2 = d->chk_lpt_sz;
++ d->chk_lpt_sz = 0;
++ d->chk_lpt_wastage = 0;
++ d->chk_lpt_lebs = 0;
++ d->new_nhead_offs = len;
++ return err;
++ case 4:
++ d->chk_lpt_sz += len;
++ d->chk_lpt_wastage += len;
++ return 0;
++ default:
++ return -EINVAL;
++ }
++}
++
++/**
++ * dbg_dump_lpt_leb - dump an LPT LEB.
++ * @c: UBIFS file-system description object
++ * @lnum: LEB number to dump
++ *
++ * This function dumps an LEB from LPT area. Nodes in this area are very
++ * different to nodes in the main area (e.g., they do not have common headers,
++ * they do not have 8-byte alignments, etc), so we have a separate function to
++ * dump LPT area LEBs. Note, LPT has to be locked by the caller.
++ */
++static void dump_lpt_leb(const struct ubifs_info *c, int lnum)
++{
++ int err, len = c->leb_size, node_type, node_num, node_len, offs;
++ void *buf = c->dbg->buf;
++
++ printk(KERN_DEBUG "(pid %d) start dumping LEB %d\n",
++ current->pid, lnum);
++ err = ubi_read(c->ubi, lnum, buf, 0, c->leb_size);
++ if (err) {
++ ubifs_err("cannot read LEB %d, error %d", lnum, err);
++ return;
++ }
++ while (1) {
++ offs = c->leb_size - len;
++ if (!is_a_node(c, buf, len)) {
++ int pad_len;
++
++ pad_len = get_pad_len(c, buf, len);
++ if (pad_len) {
++ printk(KERN_DEBUG "LEB %d:%d, pad %d bytes\n",
++ lnum, offs, pad_len);
++ buf += pad_len;
++ len -= pad_len;
++ continue;
++ }
++ if (len)
++ printk(KERN_DEBUG "LEB %d:%d, free %d bytes\n",
++ lnum, offs, len);
++ break;
++ }
++
++ node_type = get_lpt_node_type(c, buf, &node_num);
++ switch (node_type) {
++ case UBIFS_LPT_PNODE:
++ {
++ node_len = c->pnode_sz;
++ if (c->big_lpt)
++ printk(KERN_DEBUG "LEB %d:%d, pnode num %d\n",
++ lnum, offs, node_num);
++ else
++ printk(KERN_DEBUG "LEB %d:%d, pnode\n",
++ lnum, offs);
++ break;
++ }
++ case UBIFS_LPT_NNODE:
++ {
++ int i;
++ struct ubifs_nnode nnode;
++
++ node_len = c->nnode_sz;
++ if (c->big_lpt)
++ printk(KERN_DEBUG "LEB %d:%d, nnode num %d, ",
++ lnum, offs, node_num);
++ else
++ printk(KERN_DEBUG "LEB %d:%d, nnode, ",
++ lnum, offs);
++ err = ubifs_unpack_nnode(c, buf, &nnode);
++ for (i = 0; i < UBIFS_LPT_FANOUT; i++) {
++ printk(KERN_CONT "%d:%d", nnode.nbranch[i].lnum,
++ nnode.nbranch[i].offs);
++ if (i != UBIFS_LPT_FANOUT - 1)
++ printk(KERN_CONT ", ");
++ }
++ printk(KERN_CONT "\n");
++ break;
++ }
++ case UBIFS_LPT_LTAB:
++ node_len = c->ltab_sz;
++ printk(KERN_DEBUG "LEB %d:%d, ltab\n",
++ lnum, offs);
++ break;
++ case UBIFS_LPT_LSAVE:
++ node_len = c->lsave_sz;
++ printk(KERN_DEBUG "LEB %d:%d, lsave len\n", lnum, offs);
++ break;
++ default:
++ ubifs_err("LPT node type %d not recognized", node_type);
++ return;
++ }
++
++ buf += node_len;
++ len -= node_len;
++ }
++
++ printk(KERN_DEBUG "(pid %d) finish dumping LEB %d\n",
++ current->pid, lnum);
++}
++
++/**
++ * dbg_dump_lpt_lebs - dump LPT lebs.
++ * @c: UBIFS file-system description object
++ *
++ * This function dumps all LPT LEBs. The caller has to make sure the LPT is
++ * locked.
++ */
++void dbg_dump_lpt_lebs(const struct ubifs_info *c)
++{
++ int i;
++
++ printk(KERN_DEBUG "(pid %d) start dumping all LPT LEBs\n",
++ current->pid);
++ for (i = 0; i < c->lpt_lebs; i++)
++ dump_lpt_leb(c, i + c->lpt_first);
++ printk(KERN_DEBUG "(pid %d) finish dumping all LPT LEBs\n",
++ current->pid);
++}
++
++#endif /* CONFIG_UBIFS_FS_DEBUG */
+diff -Nurd linux-2.6.24/fs/ubifs/master.c ubifs-v2.6.24/fs/ubifs/master.c
+--- linux-2.6.24/fs/ubifs/master.c 1970-01-01 02:00:00.000000000 +0200
++++ ubifs-v2.6.24/fs/ubifs/master.c 2009-04-07 17:14:47.000000000 +0200
+@@ -0,0 +1,387 @@
++/*
++ * This file is part of UBIFS.
++ *
++ * Copyright (C) 2006-2008 Nokia Corporation.
++ *
++ * This program is free software; you can redistribute it and/or modify it
++ * under the terms of the GNU General Public License version 2 as published by
++ * the Free Software Foundation.
++ *
++ * 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, write to the Free Software Foundation, Inc., 51
++ * Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
++ *
++ * Authors: Artem Bityutskiy (Битюцкий Ðртём)
++ * Adrian Hunter
++ */
++
++/* This file implements reading and writing the master node */
++
++#include "ubifs.h"
++
++/**
++ * scan_for_master - search the valid master node.
++ * @c: UBIFS file-system description object
++ *
++ * This function scans the master node LEBs and search for the latest master
++ * node. Returns zero in case of success and a negative error code in case of
++ * failure.
++ */
++static int scan_for_master(struct ubifs_info *c)
++{
++ struct ubifs_scan_leb *sleb;
++ struct ubifs_scan_node *snod;
++ int lnum, offs = 0, nodes_cnt;
++
++ lnum = UBIFS_MST_LNUM;
++
++ sleb = ubifs_scan(c, lnum, 0, c->sbuf);
++ if (IS_ERR(sleb))
++ return PTR_ERR(sleb);
++ nodes_cnt = sleb->nodes_cnt;
++ if (nodes_cnt > 0) {
++ snod = list_entry(sleb->nodes.prev, struct ubifs_scan_node,
++ list);
++ if (snod->type != UBIFS_MST_NODE)
++ goto out;
++ memcpy(c->mst_node, snod->node, snod->len);
++ offs = snod->offs;
++ }
++ ubifs_scan_destroy(sleb);
++
++ lnum += 1;
++
++ sleb = ubifs_scan(c, lnum, 0, c->sbuf);
++ if (IS_ERR(sleb))
++ return PTR_ERR(sleb);
++ if (sleb->nodes_cnt != nodes_cnt)
++ goto out;
++ if (!sleb->nodes_cnt)
++ goto out;
++ snod = list_entry(sleb->nodes.prev, struct ubifs_scan_node, list);
++ if (snod->type != UBIFS_MST_NODE)
++ goto out;
++ if (snod->offs != offs)
++ goto out;
++ if (memcmp((void *)c->mst_node + UBIFS_CH_SZ,
++ (void *)snod->node + UBIFS_CH_SZ,
++ UBIFS_MST_NODE_SZ - UBIFS_CH_SZ))
++ goto out;
++ c->mst_offs = offs;
++ ubifs_scan_destroy(sleb);
++ return 0;
++
++out:
++ ubifs_scan_destroy(sleb);
++ return -EINVAL;
++}
++
++/**
++ * validate_master - validate master node.
++ * @c: UBIFS file-system description object
++ *
++ * This function validates data which was read from master node. Returns zero
++ * if the data is all right and %-EINVAL if not.
++ */
++static int validate_master(const struct ubifs_info *c)
++{
++ long long main_sz;
++ int err;
++
++ if (c->max_sqnum >= SQNUM_WATERMARK) {
++ err = 1;
++ goto out;
++ }
++
++ if (c->cmt_no >= c->max_sqnum) {
++ err = 2;
++ goto out;
++ }
++
++ if (c->highest_inum >= INUM_WATERMARK) {
++ err = 3;
++ goto out;
++ }
++
++ if (c->lhead_lnum < UBIFS_LOG_LNUM ||
++ c->lhead_lnum >= UBIFS_LOG_LNUM + c->log_lebs ||
++ c->lhead_offs < 0 || c->lhead_offs >= c->leb_size ||
++ c->lhead_offs & (c->min_io_size - 1)) {
++ err = 4;
++ goto out;
++ }
++
++ if (c->zroot.lnum >= c->leb_cnt || c->zroot.lnum < c->main_first ||
++ c->zroot.offs >= c->leb_size || c->zroot.offs & 7) {
++ err = 5;
++ goto out;
++ }
++
++ if (c->zroot.len < c->ranges[UBIFS_IDX_NODE].min_len ||
++ c->zroot.len > c->ranges[UBIFS_IDX_NODE].max_len) {
++ err = 6;
++ goto out;
++ }
++
++ if (c->gc_lnum >= c->leb_cnt || c->gc_lnum < c->main_first) {
++ err = 7;
++ goto out;
++ }
++
++ if (c->ihead_lnum >= c->leb_cnt || c->ihead_lnum < c->main_first ||
++ c->ihead_offs % c->min_io_size || c->ihead_offs < 0 ||
++ c->ihead_offs > c->leb_size || c->ihead_offs & 7) {
++ err = 8;
++ goto out;
++ }
++
++ main_sz = (long long)c->main_lebs * c->leb_size;
++ if (c->old_idx_sz & 7 || c->old_idx_sz >= main_sz) {
++ err = 9;
++ goto out;
++ }
++
++ if (c->lpt_lnum < c->lpt_first || c->lpt_lnum > c->lpt_last ||
++ c->lpt_offs < 0 || c->lpt_offs + c->nnode_sz > c->leb_size) {
++ err = 10;
++ goto out;
++ }
++
++ if (c->nhead_lnum < c->lpt_first || c->nhead_lnum > c->lpt_last ||
++ c->nhead_offs < 0 || c->nhead_offs % c->min_io_size ||
++ c->nhead_offs > c->leb_size) {
++ err = 11;
++ goto out;
++ }
++
++ if (c->ltab_lnum < c->lpt_first || c->ltab_lnum > c->lpt_last ||
++ c->ltab_offs < 0 ||
++ c->ltab_offs + c->ltab_sz > c->leb_size) {
++ err = 12;
++ goto out;
++ }
++
++ if (c->big_lpt && (c->lsave_lnum < c->lpt_first ||
++ c->lsave_lnum > c->lpt_last || c->lsave_offs < 0 ||
++ c->lsave_offs + c->lsave_sz > c->leb_size)) {
++ err = 13;
++ goto out;
++ }
++
++ if (c->lscan_lnum < c->main_first || c->lscan_lnum >= c->leb_cnt) {
++ err = 14;
++ goto out;
++ }
++
++ if (c->lst.empty_lebs < 0 || c->lst.empty_lebs > c->main_lebs - 2) {
++ err = 15;
++ goto out;
++ }
++
++ if (c->lst.idx_lebs < 0 || c->lst.idx_lebs > c->main_lebs - 1) {
++ err = 16;
++ goto out;
++ }
++
++ if (c->lst.total_free < 0 || c->lst.total_free > main_sz ||
++ c->lst.total_free & 7) {
++ err = 17;
++ goto out;
++ }
++
++ if (c->lst.total_dirty < 0 || (c->lst.total_dirty & 7)) {
++ err = 18;
++ goto out;
++ }
++
++ if (c->lst.total_used < 0 || (c->lst.total_used & 7)) {
++ err = 19;
++ goto out;
++ }
++
++ if (c->lst.total_free + c->lst.total_dirty +
++ c->lst.total_used > main_sz) {
++ err = 20;
++ goto out;
++ }
++
++ if (c->lst.total_dead + c->lst.total_dark +
++ c->lst.total_used + c->old_idx_sz > main_sz) {
++ err = 21;
++ goto out;
++ }
++
++ if (c->lst.total_dead < 0 ||
++ c->lst.total_dead > c->lst.total_free + c->lst.total_dirty ||
++ c->lst.total_dead & 7) {
++ err = 22;
++ goto out;
++ }
++
++ if (c->lst.total_dark < 0 ||
++ c->lst.total_dark > c->lst.total_free + c->lst.total_dirty ||
++ c->lst.total_dark & 7) {
++ err = 23;
++ goto out;
++ }
++
++ return 0;
++
++out:
++ ubifs_err("bad master node at offset %d error %d", c->mst_offs, err);
++ dbg_dump_node(c, c->mst_node);
++ return -EINVAL;
++}
++
++/**
++ * ubifs_read_master - read master node.
++ * @c: UBIFS file-system description object
++ *
++ * This function finds and reads the master node during file-system mount. If
++ * the flash is empty, it creates default master node as well. Returns zero in
++ * case of success and a negative error code in case of failure.
++ */
++int ubifs_read_master(struct ubifs_info *c)
++{
++ int err, old_leb_cnt;
++
++ c->mst_node = kzalloc(c->mst_node_alsz, GFP_KERNEL);
++ if (!c->mst_node)
++ return -ENOMEM;
++
++ err = scan_for_master(c);
++ if (err) {
++ err = ubifs_recover_master_node(c);
++ if (err)
++ /*
++ * Note, we do not free 'c->mst_node' here because the
++ * unmount routine will take care of this.
++ */
++ return err;
++ }
++
++ /* Make sure that the recovery flag is clear */
++ c->mst_node->flags &= cpu_to_le32(~UBIFS_MST_RCVRY);
++
++ c->max_sqnum = le64_to_cpu(c->mst_node->ch.sqnum);
++ c->highest_inum = le64_to_cpu(c->mst_node->highest_inum);
++ c->cmt_no = le64_to_cpu(c->mst_node->cmt_no);
++ c->zroot.lnum = le32_to_cpu(c->mst_node->root_lnum);
++ c->zroot.offs = le32_to_cpu(c->mst_node->root_offs);
++ c->zroot.len = le32_to_cpu(c->mst_node->root_len);
++ c->lhead_lnum = le32_to_cpu(c->mst_node->log_lnum);
++ c->gc_lnum = le32_to_cpu(c->mst_node->gc_lnum);
++ c->ihead_lnum = le32_to_cpu(c->mst_node->ihead_lnum);
++ c->ihead_offs = le32_to_cpu(c->mst_node->ihead_offs);
++ c->old_idx_sz = le64_to_cpu(c->mst_node->index_size);
++ c->lpt_lnum = le32_to_cpu(c->mst_node->lpt_lnum);
++ c->lpt_offs = le32_to_cpu(c->mst_node->lpt_offs);
++ c->nhead_lnum = le32_to_cpu(c->mst_node->nhead_lnum);
++ c->nhead_offs = le32_to_cpu(c->mst_node->nhead_offs);
++ c->ltab_lnum = le32_to_cpu(c->mst_node->ltab_lnum);
++ c->ltab_offs = le32_to_cpu(c->mst_node->ltab_offs);
++ c->lsave_lnum = le32_to_cpu(c->mst_node->lsave_lnum);
++ c->lsave_offs = le32_to_cpu(c->mst_node->lsave_offs);
++ c->lscan_lnum = le32_to_cpu(c->mst_node->lscan_lnum);
++ c->lst.empty_lebs = le32_to_cpu(c->mst_node->empty_lebs);
++ c->lst.idx_lebs = le32_to_cpu(c->mst_node->idx_lebs);
++ old_leb_cnt = le32_to_cpu(c->mst_node->leb_cnt);
++ c->lst.total_free = le64_to_cpu(c->mst_node->total_free);
++ c->lst.total_dirty = le64_to_cpu(c->mst_node->total_dirty);
++ c->lst.total_used = le64_to_cpu(c->mst_node->total_used);
++ c->lst.total_dead = le64_to_cpu(c->mst_node->total_dead);
++ c->lst.total_dark = le64_to_cpu(c->mst_node->total_dark);
++
++ c->calc_idx_sz = c->old_idx_sz;
++
++ if (c->mst_node->flags & cpu_to_le32(UBIFS_MST_NO_ORPHS))
++ c->no_orphs = 1;
++
++ if (old_leb_cnt != c->leb_cnt) {
++ /* The file system has been resized */
++ int growth = c->leb_cnt - old_leb_cnt;
++
++ if (c->leb_cnt < old_leb_cnt ||
++ c->leb_cnt < UBIFS_MIN_LEB_CNT) {
++ ubifs_err("bad leb_cnt on master node");
++ dbg_dump_node(c, c->mst_node);
++ return -EINVAL;
++ }
++
++ dbg_mnt("Auto resizing (master) from %d LEBs to %d LEBs",
++ old_leb_cnt, c->leb_cnt);
++ c->lst.empty_lebs += growth;
++ c->lst.total_free += growth * (long long)c->leb_size;
++ c->lst.total_dark += growth * (long long)c->dark_wm;
++
++ /*
++ * Reflect changes back onto the master node. N.B. the master
++ * node gets written immediately whenever mounting (or
++ * remounting) in read-write mode, so we do not need to write it
++ * here.
++ */
++ c->mst_node->leb_cnt = cpu_to_le32(c->leb_cnt);
++ c->mst_node->empty_lebs = cpu_to_le32(c->lst.empty_lebs);
++ c->mst_node->total_free = cpu_to_le64(c->lst.total_free);
++ c->mst_node->total_dark = cpu_to_le64(c->lst.total_dark);
++ }
++
++ err = validate_master(c);
++ if (err)
++ return err;
++
++ err = dbg_old_index_check_init(c, &c->zroot);
++
++ return err;
++}
++
++/**
++ * ubifs_write_master - write master node.
++ * @c: UBIFS file-system description object
++ *
++ * This function writes the master node. The caller has to take the
++ * @c->mst_mutex lock before calling this function. Returns zero in case of
++ * success and a negative error code in case of failure. The master node is
++ * written twice to enable recovery.
++ */
++int ubifs_write_master(struct ubifs_info *c)
++{
++ int err, lnum, offs, len;
++
++ if (c->ro_media)
++ return -EROFS;
++
++ lnum = UBIFS_MST_LNUM;
++ offs = c->mst_offs + c->mst_node_alsz;
++ len = UBIFS_MST_NODE_SZ;
++
++ if (offs + UBIFS_MST_NODE_SZ > c->leb_size) {
++ err = ubifs_leb_unmap(c, lnum);
++ if (err)
++ return err;
++ offs = 0;
++ }
++
++ c->mst_offs = offs;
++ c->mst_node->highest_inum = cpu_to_le64(c->highest_inum);
++
++ err = ubifs_write_node(c, c->mst_node, len, lnum, offs, UBI_SHORTTERM);
++ if (err)
++ return err;
++
++ lnum += 1;
++
++ if (offs == 0) {
++ err = ubifs_leb_unmap(c, lnum);
++ if (err)
++ return err;
++ }
++ err = ubifs_write_node(c, c->mst_node, len, lnum, offs, UBI_SHORTTERM);
++
++ return err;
++}
+diff -Nurd linux-2.6.24/fs/ubifs/misc.h ubifs-v2.6.24/fs/ubifs/misc.h
+--- linux-2.6.24/fs/ubifs/misc.h 1970-01-01 02:00:00.000000000 +0200
++++ ubifs-v2.6.24/fs/ubifs/misc.h 2009-04-07 17:14:47.000000000 +0200
+@@ -0,0 +1,340 @@
++/*
++ * This file is part of UBIFS.
++ *
++ * Copyright (C) 2006-2008 Nokia Corporation
++ *
++ * This program is free software; you can redistribute it and/or modify it
++ * under the terms of the GNU General Public License version 2 as published by
++ * the Free Software Foundation.
++ *
++ * 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, write to the Free Software Foundation, Inc., 51
++ * Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
++ *
++ * Authors: Artem Bityutskiy (Битюцкий Ðртём)
++ * Adrian Hunter
++ */
++
++/*
++ * This file contains miscellaneous helper functions.
++ */
++
++#ifndef __UBIFS_MISC_H__
++#define __UBIFS_MISC_H__
++
++/**
++ * ubifs_zn_dirty - check if znode is dirty.
++ * @znode: znode to check
++ *
++ * This helper function returns %1 if @znode is dirty and %0 otherwise.
++ */
++static inline int ubifs_zn_dirty(const struct ubifs_znode *znode)
++{
++ return !!test_bit(DIRTY_ZNODE, &znode->flags);
++}
++
++/**
++ * ubifs_wake_up_bgt - wake up background thread.
++ * @c: UBIFS file-system description object
++ */
++static inline void ubifs_wake_up_bgt(struct ubifs_info *c)
++{
++ if (c->bgt && !c->need_bgt) {
++ c->need_bgt = 1;
++ wake_up_process(c->bgt);
++ }
++}
++
++/**
++ * ubifs_tnc_find_child - find next child in znode.
++ * @znode: znode to search at
++ * @start: the zbranch index to start at
++ *
++ * This helper function looks for znode child starting at index @start. Returns
++ * the child or %NULL if no children were found.
++ */
++static inline struct ubifs_znode *
++ubifs_tnc_find_child(struct ubifs_znode *znode, int start)
++{
++ while (start < znode->child_cnt) {
++ if (znode->zbranch[start].znode)
++ return znode->zbranch[start].znode;
++ start += 1;
++ }
++
++ return NULL;
++}
++
++/**
++ * ubifs_inode - get UBIFS inode information by VFS 'struct inode' object.
++ * @inode: the VFS 'struct inode' pointer
++ */
++static inline struct ubifs_inode *ubifs_inode(const struct inode *inode)
++{
++ return container_of(inode, struct ubifs_inode, vfs_inode);
++}
++
++/**
++ * ubifs_compr_present - check if compressor was compiled in.
++ * @compr_type: compressor type to check
++ *
++ * This function returns %1 of compressor of type @compr_type is present, and
++ * %0 if not.
++ */
++static inline int ubifs_compr_present(int compr_type)
++{
++ ubifs_assert(compr_type >= 0 && compr_type < UBIFS_COMPR_TYPES_CNT);
++ return !!ubifs_compressors[compr_type]->capi_name;
++}
++
++/**
++ * ubifs_compr_name - get compressor name string by its type.
++ * @compr_type: compressor type
++ *
++ * This function returns compressor type string.
++ */
++static inline const char *ubifs_compr_name(int compr_type)
++{
++ ubifs_assert(compr_type >= 0 && compr_type < UBIFS_COMPR_TYPES_CNT);
++ return ubifs_compressors[compr_type]->name;
++}
++
++/**
++ * ubifs_wbuf_sync - synchronize write-buffer.
++ * @wbuf: write-buffer to synchronize
++ *
++ * This is the same as as 'ubifs_wbuf_sync_nolock()' but it does not assume
++ * that the write-buffer is already locked.
++ */
++static inline int ubifs_wbuf_sync(struct ubifs_wbuf *wbuf)
++{
++ int err;
++
++ mutex_lock_nested(&wbuf->io_mutex, wbuf->jhead);
++ err = ubifs_wbuf_sync_nolock(wbuf);
++ mutex_unlock(&wbuf->io_mutex);
++ return err;
++}
++
++/**
++ * ubifs_leb_unmap - unmap an LEB.
++ * @c: UBIFS file-system description object
++ * @lnum: LEB number to unmap
++ *
++ * This function returns %0 on success and a negative error code on failure.
++ */
++static inline int ubifs_leb_unmap(const struct ubifs_info *c, int lnum)
++{
++ int err;
++
++ if (c->ro_media)
++ return -EROFS;
++ err = ubi_leb_unmap(c->ubi, lnum);
++ if (err) {
++ ubifs_err("unmap LEB %d failed, error %d", lnum, err);
++ return err;
++ }
++
++ return 0;
++}
++
++/**
++ * ubifs_leb_write - write to a LEB.
++ * @c: UBIFS file-system description object
++ * @lnum: LEB number to write
++ * @buf: buffer to write from
++ * @offs: offset within LEB to write to
++ * @len: length to write
++ * @dtype: data type
++ *
++ * This function returns %0 on success and a negative error code on failure.
++ */
++static inline int ubifs_leb_write(const struct ubifs_info *c, int lnum,
++ const void *buf, int offs, int len, int dtype)
++{
++ int err;
++
++ if (c->ro_media)
++ return -EROFS;
++ err = ubi_leb_write(c->ubi, lnum, buf, offs, len, dtype);
++ if (err) {
++ ubifs_err("writing %d bytes at %d:%d, error %d",
++ len, lnum, offs, err);
++ return err;
++ }
++
++ return 0;
++}
++
++/**
++ * ubifs_leb_change - atomic LEB change.
++ * @c: UBIFS file-system description object
++ * @lnum: LEB number to write
++ * @buf: buffer to write from
++ * @len: length to write
++ * @dtype: data type
++ *
++ * This function returns %0 on success and a negative error code on failure.
++ */
++static inline int ubifs_leb_change(const struct ubifs_info *c, int lnum,
++ const void *buf, int len, int dtype)
++{
++ int err;
++
++ if (c->ro_media)
++ return -EROFS;
++ err = ubi_leb_change(c->ubi, lnum, buf, len, dtype);
++ if (err) {
++ ubifs_err("changing %d bytes in LEB %d, error %d",
++ len, lnum, err);
++ return err;
++ }
++
++ return 0;
++}
++
++/**
++ * ubifs_encode_dev - encode device node IDs.
++ * @dev: UBIFS device node information
++ * @rdev: device IDs to encode
++ *
++ * This is a helper function which encodes major/minor numbers of a device node
++ * into UBIFS device node description. We use standard Linux "new" and "huge"
++ * encodings.
++ */
++static inline int ubifs_encode_dev(union ubifs_dev_desc *dev, dev_t rdev)
++{
++ if (new_valid_dev(rdev)) {
++ dev->new = cpu_to_le32(new_encode_dev(rdev));
++ return sizeof(dev->new);
++ } else {
++ dev->huge = cpu_to_le64(huge_encode_dev(rdev));
++ return sizeof(dev->huge);
++ }
++}
++
++/**
++ * ubifs_add_dirt - add dirty space to LEB properties.
++ * @c: the UBIFS file-system description object
++ * @lnum: LEB to add dirty space for
++ * @dirty: dirty space to add
++ *
++ * This is a helper function which increased amount of dirty LEB space. Returns
++ * zero in case of success and a negative error code in case of failure.
++ */
++static inline int ubifs_add_dirt(struct ubifs_info *c, int lnum, int dirty)
++{
++ return ubifs_update_one_lp(c, lnum, LPROPS_NC, dirty, 0, 0);
++}
++
++/**
++ * ubifs_return_leb - return LEB to lprops.
++ * @c: the UBIFS file-system description object
++ * @lnum: LEB to return
++ *
++ * This helper function cleans the "taken" flag of a logical eraseblock in the
++ * lprops. Returns zero in case of success and a negative error code in case of
++ * failure.
++ */
++static inline int ubifs_return_leb(struct ubifs_info *c, int lnum)
++{
++ return ubifs_change_one_lp(c, lnum, LPROPS_NC, LPROPS_NC, 0,
++ LPROPS_TAKEN, 0);
++}
++
++/**
++ * ubifs_idx_node_sz - return index node size.
++ * @c: the UBIFS file-system description object
++ * @child_cnt: number of children of this index node
++ */
++static inline int ubifs_idx_node_sz(const struct ubifs_info *c, int child_cnt)
++{
++ return UBIFS_IDX_NODE_SZ + (UBIFS_BRANCH_SZ + c->key_len) * child_cnt;
++}
++
++/**
++ * ubifs_idx_branch - return pointer to an index branch.
++ * @c: the UBIFS file-system description object
++ * @idx: index node
++ * @bnum: branch number
++ */
++static inline
++struct ubifs_branch *ubifs_idx_branch(const struct ubifs_info *c,
++ const struct ubifs_idx_node *idx,
++ int bnum)
++{
++ return (struct ubifs_branch *)((void *)idx->branches +
++ (UBIFS_BRANCH_SZ + c->key_len) * bnum);
++}
++
++/**
++ * ubifs_idx_key - return pointer to an index key.
++ * @c: the UBIFS file-system description object
++ * @idx: index node
++ */
++static inline void *ubifs_idx_key(const struct ubifs_info *c,
++ const struct ubifs_idx_node *idx)
++{
++ return (void *)((struct ubifs_branch *)idx->branches)->key;
++}
++
++/**
++ * ubifs_current_time - round current time to time granularity.
++ * @inode: inode
++ */
++static inline struct timespec ubifs_current_time(struct inode *inode)
++{
++ return (inode->i_sb->s_time_gran < NSEC_PER_SEC) ?
++ current_fs_time(inode->i_sb) : CURRENT_TIME_SEC;
++}
++
++/**
++ * ubifs_tnc_lookup - look up a file-system node.
++ * @c: UBIFS file-system description object
++ * @key: node key to lookup
++ * @node: the node is returned here
++ *
++ * This function look up and reads node with key @key. The caller has to make
++ * sure the @node buffer is large enough to fit the node. Returns zero in case
++ * of success, %-ENOENT if the node was not found, and a negative error code in
++ * case of failure.
++ */
++static inline int ubifs_tnc_lookup(struct ubifs_info *c,
++ const union ubifs_key *key, void *node)
++{
++ return ubifs_tnc_locate(c, key, node, NULL, NULL);
++}
++
++/**
++ * ubifs_get_lprops - get reference to LEB properties.
++ * @c: the UBIFS file-system description object
++ *
++ * This function locks lprops. Lprops have to be unlocked by
++ * 'ubifs_release_lprops()'.
++ */
++static inline void ubifs_get_lprops(struct ubifs_info *c)
++{
++ mutex_lock(&c->lp_mutex);
++}
++
++/**
++ * ubifs_release_lprops - release lprops lock.
++ * @c: the UBIFS file-system description object
++ *
++ * This function has to be called after each 'ubifs_get_lprops()' call to
++ * unlock lprops.
++ */
++static inline void ubifs_release_lprops(struct ubifs_info *c)
++{
++ ubifs_assert(mutex_is_locked(&c->lp_mutex));
++ ubifs_assert(c->lst.empty_lebs >= 0 &&
++ c->lst.empty_lebs <= c->main_lebs);
++ mutex_unlock(&c->lp_mutex);
++}
++
++#endif /* __UBIFS_MISC_H__ */
+diff -Nurd linux-2.6.24/fs/ubifs/orphan.c ubifs-v2.6.24/fs/ubifs/orphan.c
+--- linux-2.6.24/fs/ubifs/orphan.c 1970-01-01 02:00:00.000000000 +0200
++++ ubifs-v2.6.24/fs/ubifs/orphan.c 2009-04-07 17:14:47.000000000 +0200
+@@ -0,0 +1,962 @@
++/*
++ * This file is part of UBIFS.
++ *
++ * Copyright (C) 2006-2008 Nokia Corporation.
++ *
++ * This program is free software; you can redistribute it and/or modify it
++ * under the terms of the GNU General Public License version 2 as published by
++ * the Free Software Foundation.
++ *
++ * 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, write to the Free Software Foundation, Inc., 51
++ * Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
++ *
++ * Author: Adrian Hunter
++ */
++
++#include "ubifs.h"
++
++/*
++ * An orphan is an inode number whose inode node has been committed to the index
++ * with a link count of zero. That happens when an open file is deleted
++ * (unlinked) and then a commit is run. In the normal course of events the inode
++ * would be deleted when the file is closed. However in the case of an unclean
++ * unmount, orphans need to be accounted for. After an unclean unmount, the
++ * orphans' inodes must be deleted which means either scanning the entire index
++ * looking for them, or keeping a list on flash somewhere. This unit implements
++ * the latter approach.
++ *
++ * The orphan area is a fixed number of LEBs situated between the LPT area and
++ * the main area. The number of orphan area LEBs is specified when the file
++ * system is created. The minimum number is 1. The size of the orphan area
++ * should be so that it can hold the maximum number of orphans that are expected
++ * to ever exist at one time.
++ *
++ * The number of orphans that can fit in a LEB is:
++ *
++ * (c->leb_size - UBIFS_ORPH_NODE_SZ) / sizeof(__le64)
++ *
++ * For example: a 15872 byte LEB can fit 1980 orphans so 1 LEB may be enough.
++ *
++ * Orphans are accumulated in a rb-tree. When an inode's link count drops to
++ * zero, the inode number is added to the rb-tree. It is removed from the tree
++ * when the inode is deleted. Any new orphans that are in the orphan tree when
++ * the commit is run, are written to the orphan area in 1 or more orphan nodes.
++ * If the orphan area is full, it is consolidated to make space. There is
++ * always enough space because validation prevents the user from creating more
++ * than the maximum number of orphans allowed.
++ */
++
++#ifdef CONFIG_UBIFS_FS_DEBUG
++static int dbg_check_orphans(struct ubifs_info *c);
++#else
++#define dbg_check_orphans(c) 0
++#endif
++
++/**
++ * ubifs_add_orphan - add an orphan.
++ * @c: UBIFS file-system description object
++ * @inum: orphan inode number
++ *
++ * Add an orphan. This function is called when an inodes link count drops to
++ * zero.
++ */
++int ubifs_add_orphan(struct ubifs_info *c, ino_t inum)
++{
++ struct ubifs_orphan *orphan, *o;
++ struct rb_node **p, *parent = NULL;
++
++ orphan = kzalloc(sizeof(struct ubifs_orphan), GFP_NOFS);
++ if (!orphan)
++ return -ENOMEM;
++ orphan->inum = inum;
++ orphan->new = 1;
++
++ spin_lock(&c->orphan_lock);
++ if (c->tot_orphans >= c->max_orphans) {
++ spin_unlock(&c->orphan_lock);
++ kfree(orphan);
++ return -ENFILE;
++ }
++ p = &c->orph_tree.rb_node;
++ while (*p) {
++ parent = *p;
++ o = rb_entry(parent, struct ubifs_orphan, rb);
++ if (inum < o->inum)
++ p = &(*p)->rb_left;
++ else if (inum > o->inum)
++ p = &(*p)->rb_right;
++ else {
++ dbg_err("orphaned twice");
++ spin_unlock(&c->orphan_lock);
++ kfree(orphan);
++ return 0;
++ }
++ }
++ c->tot_orphans += 1;
++ c->new_orphans += 1;
++ rb_link_node(&orphan->rb, parent, p);
++ rb_insert_color(&orphan->rb, &c->orph_tree);
++ list_add_tail(&orphan->list, &c->orph_list);
++ list_add_tail(&orphan->new_list, &c->orph_new);
++ spin_unlock(&c->orphan_lock);
++ dbg_gen("ino %lu", (unsigned long)inum);
++ return 0;
++}
++
++/**
++ * ubifs_delete_orphan - delete an orphan.
++ * @c: UBIFS file-system description object
++ * @inum: orphan inode number
++ *
++ * Delete an orphan. This function is called when an inode is deleted.
++ */
++void ubifs_delete_orphan(struct ubifs_info *c, ino_t inum)
++{
++ struct ubifs_orphan *o;
++ struct rb_node *p;
++
++ spin_lock(&c->orphan_lock);
++ p = c->orph_tree.rb_node;
++ while (p) {
++ o = rb_entry(p, struct ubifs_orphan, rb);
++ if (inum < o->inum)
++ p = p->rb_left;
++ else if (inum > o->inum)
++ p = p->rb_right;
++ else {
++ if (o->dnext) {
++ spin_unlock(&c->orphan_lock);
++ dbg_gen("deleted twice ino %lu",
++ (unsigned long)inum);
++ return;
++ }
++ if (o->cnext) {
++ o->dnext = c->orph_dnext;
++ c->orph_dnext = o;
++ spin_unlock(&c->orphan_lock);
++ dbg_gen("delete later ino %lu",
++ (unsigned long)inum);
++ return;
++ }
++ rb_erase(p, &c->orph_tree);
++ list_del(&o->list);
++ c->tot_orphans -= 1;
++ if (o->new) {
++ list_del(&o->new_list);
++ c->new_orphans -= 1;
++ }
++ spin_unlock(&c->orphan_lock);
++ kfree(o);
++ dbg_gen("inum %lu", (unsigned long)inum);
++ return;
++ }
++ }
++ spin_unlock(&c->orphan_lock);
++ dbg_err("missing orphan ino %lu", (unsigned long)inum);
++ dbg_dump_stack();
++}
++
++/**
++ * ubifs_orphan_start_commit - start commit of orphans.
++ * @c: UBIFS file-system description object
++ *
++ * Start commit of orphans.
++ */
++int ubifs_orphan_start_commit(struct ubifs_info *c)
++{
++ struct ubifs_orphan *orphan, **last;
++
++ spin_lock(&c->orphan_lock);
++ last = &c->orph_cnext;
++ list_for_each_entry(orphan, &c->orph_new, new_list) {
++ ubifs_assert(orphan->new);
++ orphan->new = 0;
++ *last = orphan;
++ last = &orphan->cnext;
++ }
++ *last = orphan->cnext;
++ c->cmt_orphans = c->new_orphans;
++ c->new_orphans = 0;
++ dbg_cmt("%d orphans to commit", c->cmt_orphans);
++ INIT_LIST_HEAD(&c->orph_new);
++ if (c->tot_orphans == 0)
++ c->no_orphs = 1;
++ else
++ c->no_orphs = 0;
++ spin_unlock(&c->orphan_lock);
++ return 0;
++}
++
++/**
++ * avail_orphs - calculate available space.
++ * @c: UBIFS file-system description object
++ *
++ * This function returns the number of orphans that can be written in the
++ * available space.
++ */
++static int avail_orphs(struct ubifs_info *c)
++{
++ int avail_lebs, avail, gap;
++
++ avail_lebs = c->orph_lebs - (c->ohead_lnum - c->orph_first) - 1;
++ avail = avail_lebs *
++ ((c->leb_size - UBIFS_ORPH_NODE_SZ) / sizeof(__le64));
++ gap = c->leb_size - c->ohead_offs;
++ if (gap >= UBIFS_ORPH_NODE_SZ + sizeof(__le64))
++ avail += (gap - UBIFS_ORPH_NODE_SZ) / sizeof(__le64);
++ return avail;
++}
++
++/**
++ * tot_avail_orphs - calculate total space.
++ * @c: UBIFS file-system description object
++ *
++ * This function returns the number of orphans that can be written in half
++ * the total space. That leaves half the space for adding new orphans.
++ */
++static int tot_avail_orphs(struct ubifs_info *c)
++{
++ int avail_lebs, avail;
++
++ avail_lebs = c->orph_lebs;
++ avail = avail_lebs *
++ ((c->leb_size - UBIFS_ORPH_NODE_SZ) / sizeof(__le64));
++ return avail / 2;
++}
++
++/**
++ * do_write_orph_node - write a node to the orphan head.
++ * @c: UBIFS file-system description object
++ * @len: length of node
++ * @atomic: write atomically
++ *
++ * This function writes a node to the orphan head from the orphan buffer. If
++ * %atomic is not zero, then the write is done atomically. On success, %0 is
++ * returned, otherwise a negative error code is returned.
++ */
++static int do_write_orph_node(struct ubifs_info *c, int len, int atomic)
++{
++ int err = 0;
++
++ if (atomic) {
++ ubifs_assert(c->ohead_offs == 0);
++ ubifs_prepare_node(c, c->orph_buf, len, 1);
++ len = ALIGN(len, c->min_io_size);
++ err = ubifs_leb_change(c, c->ohead_lnum, c->orph_buf, len,
++ UBI_SHORTTERM);
++ } else {
++ if (c->ohead_offs == 0) {
++ /* Ensure LEB has been unmapped */
++ err = ubifs_leb_unmap(c, c->ohead_lnum);
++ if (err)
++ return err;
++ }
++ err = ubifs_write_node(c, c->orph_buf, len, c->ohead_lnum,
++ c->ohead_offs, UBI_SHORTTERM);
++ }
++ return err;
++}
++
++/**
++ * write_orph_node - write an orphan node.
++ * @c: UBIFS file-system description object
++ * @atomic: write atomically
++ *
++ * This function builds an orphan node from the cnext list and writes it to the
++ * orphan head. On success, %0 is returned, otherwise a negative error code
++ * is returned.
++ */
++static int write_orph_node(struct ubifs_info *c, int atomic)
++{
++ struct ubifs_orphan *orphan, *cnext;
++ struct ubifs_orph_node *orph;
++ int gap, err, len, cnt, i;
++
++ ubifs_assert(c->cmt_orphans > 0);
++ gap = c->leb_size - c->ohead_offs;
++ if (gap < UBIFS_ORPH_NODE_SZ + sizeof(__le64)) {
++ c->ohead_lnum += 1;
++ c->ohead_offs = 0;
++ gap = c->leb_size;
++ if (c->ohead_lnum > c->orph_last) {
++ /*
++ * We limit the number of orphans so that this should
++ * never happen.
++ */
++ ubifs_err("out of space in orphan area");
++ return -EINVAL;
++ }
++ }
++ cnt = (gap - UBIFS_ORPH_NODE_SZ) / sizeof(__le64);
++ if (cnt > c->cmt_orphans)
++ cnt = c->cmt_orphans;
++ len = UBIFS_ORPH_NODE_SZ + cnt * sizeof(__le64);
++ ubifs_assert(c->orph_buf);
++ orph = c->orph_buf;
++ orph->ch.node_type = UBIFS_ORPH_NODE;
++ spin_lock(&c->orphan_lock);
++ cnext = c->orph_cnext;
++ for (i = 0; i < cnt; i++) {
++ orphan = cnext;
++ orph->inos[i] = cpu_to_le64(orphan->inum);
++ cnext = orphan->cnext;
++ orphan->cnext = NULL;
++ }
++ c->orph_cnext = cnext;
++ c->cmt_orphans -= cnt;
++ spin_unlock(&c->orphan_lock);
++ if (c->cmt_orphans)
++ orph->cmt_no = cpu_to_le64(c->cmt_no);
++ else
++ /* Mark the last node of the commit */
++ orph->cmt_no = cpu_to_le64((c->cmt_no) | (1ULL << 63));
++ ubifs_assert(c->ohead_offs + len <= c->leb_size);
++ ubifs_assert(c->ohead_lnum >= c->orph_first);
++ ubifs_assert(c->ohead_lnum <= c->orph_last);
++ err = do_write_orph_node(c, len, atomic);
++ c->ohead_offs += ALIGN(len, c->min_io_size);
++ c->ohead_offs = ALIGN(c->ohead_offs, 8);
++ return err;
++}
++
++/**
++ * write_orph_nodes - write orphan nodes until there are no more to commit.
++ * @c: UBIFS file-system description object
++ * @atomic: write atomically
++ *
++ * This function writes orphan nodes for all the orphans to commit. On success,
++ * %0 is returned, otherwise a negative error code is returned.
++ */
++static int write_orph_nodes(struct ubifs_info *c, int atomic)
++{
++ int err;
++
++ while (c->cmt_orphans > 0) {
++ err = write_orph_node(c, atomic);
++ if (err)
++ return err;
++ }
++ if (atomic) {
++ int lnum;
++
++ /* Unmap any unused LEBs after consolidation */
++ lnum = c->ohead_lnum + 1;
++ for (lnum = c->ohead_lnum + 1; lnum <= c->orph_last; lnum++) {
++ err = ubifs_leb_unmap(c, lnum);
++ if (err)
++ return err;
++ }
++ }
++ return 0;
++}
++
++/**
++ * consolidate - consolidate the orphan area.
++ * @c: UBIFS file-system description object
++ *
++ * This function enables consolidation by putting all the orphans into the list
++ * to commit. The list is in the order that the orphans were added, and the
++ * LEBs are written atomically in order, so at no time can orphans be lost by
++ * an unclean unmount.
++ *
++ * This function returns %0 on success and a negative error code on failure.
++ */
++static int consolidate(struct ubifs_info *c)
++{
++ int tot_avail = tot_avail_orphs(c), err = 0;
++
++ spin_lock(&c->orphan_lock);
++ dbg_cmt("there is space for %d orphans and there are %d",
++ tot_avail, c->tot_orphans);
++ if (c->tot_orphans - c->new_orphans <= tot_avail) {
++ struct ubifs_orphan *orphan, **last;
++ int cnt = 0;
++
++ /* Change the cnext list to include all non-new orphans */
++ last = &c->orph_cnext;
++ list_for_each_entry(orphan, &c->orph_list, list) {
++ if (orphan->new)
++ continue;
++ *last = orphan;
++ last = &orphan->cnext;
++ cnt += 1;
++ }
++ *last = orphan->cnext;
++ ubifs_assert(cnt == c->tot_orphans - c->new_orphans);
++ c->cmt_orphans = cnt;
++ c->ohead_lnum = c->orph_first;
++ c->ohead_offs = 0;
++ } else {
++ /*
++ * We limit the number of orphans so that this should
++ * never happen.
++ */
++ ubifs_err("out of space in orphan area");
++ err = -EINVAL;
++ }
++ spin_unlock(&c->orphan_lock);
++ return err;
++}
++
++/**
++ * commit_orphans - commit orphans.
++ * @c: UBIFS file-system description object
++ *
++ * This function commits orphans to flash. On success, %0 is returned,
++ * otherwise a negative error code is returned.
++ */
++static int commit_orphans(struct ubifs_info *c)
++{
++ int avail, atomic = 0, err;
++
++ ubifs_assert(c->cmt_orphans > 0);
++ avail = avail_orphs(c);
++ if (avail < c->cmt_orphans) {
++ /* Not enough space to write new orphans, so consolidate */
++ err = consolidate(c);
++ if (err)
++ return err;
++ atomic = 1;
++ }
++ err = write_orph_nodes(c, atomic);
++ return err;
++}
++
++/**
++ * erase_deleted - erase the orphans marked for deletion.
++ * @c: UBIFS file-system description object
++ *
++ * During commit, the orphans being committed cannot be deleted, so they are
++ * marked for deletion and deleted by this function. Also, the recovery
++ * adds killed orphans to the deletion list, and therefore they are deleted
++ * here too.
++ */
++static void erase_deleted(struct ubifs_info *c)
++{
++ struct ubifs_orphan *orphan, *dnext;
++
++ spin_lock(&c->orphan_lock);
++ dnext = c->orph_dnext;
++ while (dnext) {
++ orphan = dnext;
++ dnext = orphan->dnext;
++ ubifs_assert(!orphan->new);
++ rb_erase(&orphan->rb, &c->orph_tree);
++ list_del(&orphan->list);
++ c->tot_orphans -= 1;
++ dbg_gen("deleting orphan ino %lu", (unsigned long)orphan->inum);
++ kfree(orphan);
++ }
++ c->orph_dnext = NULL;
++ spin_unlock(&c->orphan_lock);
++}
++
++/**
++ * ubifs_orphan_end_commit - end commit of orphans.
++ * @c: UBIFS file-system description object
++ *
++ * End commit of orphans.
++ */
++int ubifs_orphan_end_commit(struct ubifs_info *c)
++{
++ int err;
++
++ if (c->cmt_orphans != 0) {
++ err = commit_orphans(c);
++ if (err)
++ return err;
++ }
++ erase_deleted(c);
++ err = dbg_check_orphans(c);
++ return err;
++}
++
++/**
++ * ubifs_clear_orphans - erase all LEBs used for orphans.
++ * @c: UBIFS file-system description object
++ *
++ * If recovery is not required, then the orphans from the previous session
++ * are not needed. This function locates the LEBs used to record
++ * orphans, and un-maps them.
++ */
++int ubifs_clear_orphans(struct ubifs_info *c)
++{
++ int lnum, err;
++
++ for (lnum = c->orph_first; lnum <= c->orph_last; lnum++) {
++ err = ubifs_leb_unmap(c, lnum);
++ if (err)
++ return err;
++ }
++ c->ohead_lnum = c->orph_first;
++ c->ohead_offs = 0;
++ return 0;
++}
++
++/**
++ * insert_dead_orphan - insert an orphan.
++ * @c: UBIFS file-system description object
++ * @inum: orphan inode number
++ *
++ * This function is a helper to the 'do_kill_orphans()' function. The orphan
++ * must be kept until the next commit, so it is added to the rb-tree and the
++ * deletion list.
++ */
++static int insert_dead_orphan(struct ubifs_info *c, ino_t inum)
++{
++ struct ubifs_orphan *orphan, *o;
++ struct rb_node **p, *parent = NULL;
++
++ orphan = kzalloc(sizeof(struct ubifs_orphan), GFP_KERNEL);
++ if (!orphan)
++ return -ENOMEM;
++ orphan->inum = inum;
++
++ p = &c->orph_tree.rb_node;
++ while (*p) {
++ parent = *p;
++ o = rb_entry(parent, struct ubifs_orphan, rb);
++ if (inum < o->inum)
++ p = &(*p)->rb_left;
++ else if (inum > o->inum)
++ p = &(*p)->rb_right;
++ else {
++ /* Already added - no problem */
++ kfree(orphan);
++ return 0;
++ }
++ }
++ c->tot_orphans += 1;
++ rb_link_node(&orphan->rb, parent, p);
++ rb_insert_color(&orphan->rb, &c->orph_tree);
++ list_add_tail(&orphan->list, &c->orph_list);
++ orphan->dnext = c->orph_dnext;
++ c->orph_dnext = orphan;
++ dbg_mnt("ino %lu, new %d, tot %d", (unsigned long)inum,
++ c->new_orphans, c->tot_orphans);
++ return 0;
++}
++
++/**
++ * do_kill_orphans - remove orphan inodes from the index.
++ * @c: UBIFS file-system description object
++ * @sleb: scanned LEB
++ * @last_cmt_no: cmt_no of last orphan node read is passed and returned here
++ * @outofdate: whether the LEB is out of date is returned here
++ * @last_flagged: whether the end orphan node is encountered
++ *
++ * This function is a helper to the 'kill_orphans()' function. It goes through
++ * every orphan node in a LEB and for every inode number recorded, removes
++ * all keys for that inode from the TNC.
++ */
++static int do_kill_orphans(struct ubifs_info *c, struct ubifs_scan_leb *sleb,
++ unsigned long long *last_cmt_no, int *outofdate,
++ int *last_flagged)
++{
++ struct ubifs_scan_node *snod;
++ struct ubifs_orph_node *orph;
++ unsigned long long cmt_no;
++ ino_t inum;
++ int i, n, err, first = 1;
++
++ list_for_each_entry(snod, &sleb->nodes, list) {
++ if (snod->type != UBIFS_ORPH_NODE) {
++ ubifs_err("invalid node type %d in orphan area at "
++ "%d:%d", snod->type, sleb->lnum, snod->offs);
++ dbg_dump_node(c, snod->node);
++ return -EINVAL;
++ }
++
++ orph = snod->node;
++
++ /* Check commit number */
++ cmt_no = le64_to_cpu(orph->cmt_no) & LLONG_MAX;
++ /*
++ * The commit number on the master node may be less, because
++ * of a failed commit. If there are several failed commits in a
++ * row, the commit number written on orphan nodes will continue
++ * to increase (because the commit number is adjusted here) even
++ * though the commit number on the master node stays the same
++ * because the master node has not been re-written.
++ */
++ if (cmt_no > c->cmt_no)
++ c->cmt_no = cmt_no;
++ if (cmt_no < *last_cmt_no && *last_flagged) {
++ /*
++ * The last orphan node had a higher commit number and
++ * was flagged as the last written for that commit
++ * number. That makes this orphan node, out of date.
++ */
++ if (!first) {
++ ubifs_err("out of order commit number %llu in "
++ "orphan node at %d:%d",
++ cmt_no, sleb->lnum, snod->offs);
++ dbg_dump_node(c, snod->node);
++ return -EINVAL;
++ }
++ dbg_rcvry("out of date LEB %d", sleb->lnum);
++ *outofdate = 1;
++ return 0;
++ }
++
++ if (first)
++ first = 0;
++
++ n = (le32_to_cpu(orph->ch.len) - UBIFS_ORPH_NODE_SZ) >> 3;
++ for (i = 0; i < n; i++) {
++ inum = le64_to_cpu(orph->inos[i]);
++ dbg_rcvry("deleting orphaned inode %lu",
++ (unsigned long)inum);
++ err = ubifs_tnc_remove_ino(c, inum);
++ if (err)
++ return err;
++ err = insert_dead_orphan(c, inum);
++ if (err)
++ return err;
++ }
++
++ *last_cmt_no = cmt_no;
++ if (le64_to_cpu(orph->cmt_no) & (1ULL << 63)) {
++ dbg_rcvry("last orph node for commit %llu at %d:%d",
++ cmt_no, sleb->lnum, snod->offs);
++ *last_flagged = 1;
++ } else
++ *last_flagged = 0;
++ }
++
++ return 0;
++}
++
++/**
++ * kill_orphans - remove all orphan inodes from the index.
++ * @c: UBIFS file-system description object
++ *
++ * If recovery is required, then orphan inodes recorded during the previous
++ * session (which ended with an unclean unmount) must be deleted from the index.
++ * This is done by updating the TNC, but since the index is not updated until
++ * the next commit, the LEBs where the orphan information is recorded are not
++ * erased until the next commit.
++ */
++static int kill_orphans(struct ubifs_info *c)
++{
++ unsigned long long last_cmt_no = 0;
++ int lnum, err = 0, outofdate = 0, last_flagged = 0;
++
++ c->ohead_lnum = c->orph_first;
++ c->ohead_offs = 0;
++ /* Check no-orphans flag and skip this if no orphans */
++ if (c->no_orphs) {
++ dbg_rcvry("no orphans");
++ return 0;
++ }
++ /*
++ * Orph nodes always start at c->orph_first and are written to each
++ * successive LEB in turn. Generally unused LEBs will have been unmapped
++ * but may contain out of date orphan nodes if the unmap didn't go
++ * through. In addition, the last orphan node written for each commit is
++ * marked (top bit of orph->cmt_no is set to 1). It is possible that
++ * there are orphan nodes from the next commit (i.e. the commit did not
++ * complete successfully). In that case, no orphans will have been lost
++ * due to the way that orphans are written, and any orphans added will
++ * be valid orphans anyway and so can be deleted.
++ */
++ for (lnum = c->orph_first; lnum <= c->orph_last; lnum++) {
++ struct ubifs_scan_leb *sleb;
++
++ dbg_rcvry("LEB %d", lnum);
++ sleb = ubifs_scan(c, lnum, 0, c->sbuf);
++ if (IS_ERR(sleb)) {
++ sleb = ubifs_recover_leb(c, lnum, 0, c->sbuf, 0);
++ if (IS_ERR(sleb)) {
++ err = PTR_ERR(sleb);
++ break;
++ }
++ }
++ err = do_kill_orphans(c, sleb, &last_cmt_no, &outofdate,
++ &last_flagged);
++ if (err || outofdate) {
++ ubifs_scan_destroy(sleb);
++ break;
++ }
++ if (sleb->endpt) {
++ c->ohead_lnum = lnum;
++ c->ohead_offs = sleb->endpt;
++ }
++ ubifs_scan_destroy(sleb);
++ }
++ return err;
++}
++
++/**
++ * ubifs_mount_orphans - delete orphan inodes and erase LEBs that recorded them.
++ * @c: UBIFS file-system description object
++ * @unclean: indicates recovery from unclean unmount
++ * @read_only: indicates read only mount
++ *
++ * This function is called when mounting to erase orphans from the previous
++ * session. If UBIFS was not unmounted cleanly, then the inodes recorded as
++ * orphans are deleted.
++ */
++int ubifs_mount_orphans(struct ubifs_info *c, int unclean, int read_only)
++{
++ int err = 0;
++
++ c->max_orphans = tot_avail_orphs(c);
++
++ if (!read_only) {
++ c->orph_buf = vmalloc(c->leb_size);
++ if (!c->orph_buf)
++ return -ENOMEM;
++ }
++
++ if (unclean)
++ err = kill_orphans(c);
++ else if (!read_only)
++ err = ubifs_clear_orphans(c);
++
++ return err;
++}
++
++#ifdef CONFIG_UBIFS_FS_DEBUG
++
++struct check_orphan {
++ struct rb_node rb;
++ ino_t inum;
++};
++
++struct check_info {
++ unsigned long last_ino;
++ unsigned long tot_inos;
++ unsigned long missing;
++ unsigned long long leaf_cnt;
++ struct ubifs_ino_node *node;
++ struct rb_root root;
++};
++
++static int dbg_find_orphan(struct ubifs_info *c, ino_t inum)
++{
++ struct ubifs_orphan *o;
++ struct rb_node *p;
++
++ spin_lock(&c->orphan_lock);
++ p = c->orph_tree.rb_node;
++ while (p) {
++ o = rb_entry(p, struct ubifs_orphan, rb);
++ if (inum < o->inum)
++ p = p->rb_left;
++ else if (inum > o->inum)
++ p = p->rb_right;
++ else {
++ spin_unlock(&c->orphan_lock);
++ return 1;
++ }
++ }
++ spin_unlock(&c->orphan_lock);
++ return 0;
++}
++
++static int dbg_ins_check_orphan(struct rb_root *root, ino_t inum)
++{
++ struct check_orphan *orphan, *o;
++ struct rb_node **p, *parent = NULL;
++
++ orphan = kzalloc(sizeof(struct check_orphan), GFP_NOFS);
++ if (!orphan)
++ return -ENOMEM;
++ orphan->inum = inum;
++
++ p = &root->rb_node;
++ while (*p) {
++ parent = *p;
++ o = rb_entry(parent, struct check_orphan, rb);
++ if (inum < o->inum)
++ p = &(*p)->rb_left;
++ else if (inum > o->inum)
++ p = &(*p)->rb_right;
++ else {
++ kfree(orphan);
++ return 0;
++ }
++ }
++ rb_link_node(&orphan->rb, parent, p);
++ rb_insert_color(&orphan->rb, root);
++ return 0;
++}
++
++static int dbg_find_check_orphan(struct rb_root *root, ino_t inum)
++{
++ struct check_orphan *o;
++ struct rb_node *p;
++
++ p = root->rb_node;
++ while (p) {
++ o = rb_entry(p, struct check_orphan, rb);
++ if (inum < o->inum)
++ p = p->rb_left;
++ else if (inum > o->inum)
++ p = p->rb_right;
++ else
++ return 1;
++ }
++ return 0;
++}
++
++static void dbg_free_check_tree(struct rb_root *root)
++{
++ struct rb_node *this = root->rb_node;
++ struct check_orphan *o;
++
++ while (this) {
++ if (this->rb_left) {
++ this = this->rb_left;
++ continue;
++ } else if (this->rb_right) {
++ this = this->rb_right;
++ continue;
++ }
++ o = rb_entry(this, struct check_orphan, rb);
++ this = rb_parent(this);
++ if (this) {
++ if (this->rb_left == &o->rb)
++ this->rb_left = NULL;
++ else
++ this->rb_right = NULL;
++ }
++ kfree(o);
++ }
++}
++
++static int dbg_orphan_check(struct ubifs_info *c, struct ubifs_zbranch *zbr,
++ void *priv)
++{
++ struct check_info *ci = priv;
++ ino_t inum;
++ int err;
++
++ inum = key_inum(c, &zbr->key);
++ if (inum != ci->last_ino) {
++ /* Lowest node type is the inode node, so it comes first */
++ if (key_type(c, &zbr->key) != UBIFS_INO_KEY)
++ ubifs_err("found orphan node ino %lu, type %d",
++ (unsigned long)inum, key_type(c, &zbr->key));
++ ci->last_ino = inum;
++ ci->tot_inos += 1;
++ err = ubifs_tnc_read_node(c, zbr, ci->node);
++ if (err) {
++ ubifs_err("node read failed, error %d", err);
++ return err;
++ }
++ if (ci->node->nlink == 0)
++ /* Must be recorded as an orphan */
++ if (!dbg_find_check_orphan(&ci->root, inum) &&
++ !dbg_find_orphan(c, inum)) {
++ ubifs_err("missing orphan, ino %lu",
++ (unsigned long)inum);
++ ci->missing += 1;
++ }
++ }
++ ci->leaf_cnt += 1;
++ return 0;
++}
++
++static int dbg_read_orphans(struct check_info *ci, struct ubifs_scan_leb *sleb)
++{
++ struct ubifs_scan_node *snod;
++ struct ubifs_orph_node *orph;
++ ino_t inum;
++ int i, n, err;
++
++ list_for_each_entry(snod, &sleb->nodes, list) {
++ cond_resched();
++ if (snod->type != UBIFS_ORPH_NODE)
++ continue;
++ orph = snod->node;
++ n = (le32_to_cpu(orph->ch.len) - UBIFS_ORPH_NODE_SZ) >> 3;
++ for (i = 0; i < n; i++) {
++ inum = le64_to_cpu(orph->inos[i]);
++ err = dbg_ins_check_orphan(&ci->root, inum);
++ if (err)
++ return err;
++ }
++ }
++ return 0;
++}
++
++static int dbg_scan_orphans(struct ubifs_info *c, struct check_info *ci)
++{
++ int lnum, err = 0;
++
++ /* Check no-orphans flag and skip this if no orphans */
++ if (c->no_orphs)
++ return 0;
++
++ for (lnum = c->orph_first; lnum <= c->orph_last; lnum++) {
++ struct ubifs_scan_leb *sleb;
++
++ sleb = ubifs_scan(c, lnum, 0, c->dbg->buf);
++ if (IS_ERR(sleb)) {
++ err = PTR_ERR(sleb);
++ break;
++ }
++
++ err = dbg_read_orphans(ci, sleb);
++ ubifs_scan_destroy(sleb);
++ if (err)
++ break;
++ }
++
++ return err;
++}
++
++static int dbg_check_orphans(struct ubifs_info *c)
++{
++ struct check_info ci;
++ int err;
++
++ if (!(ubifs_chk_flags & UBIFS_CHK_ORPH))
++ return 0;
++
++ ci.last_ino = 0;
++ ci.tot_inos = 0;
++ ci.missing = 0;
++ ci.leaf_cnt = 0;
++ ci.root = RB_ROOT;
++ ci.node = kmalloc(UBIFS_MAX_INO_NODE_SZ, GFP_NOFS);
++ if (!ci.node) {
++ ubifs_err("out of memory");
++ return -ENOMEM;
++ }
++
++ err = dbg_scan_orphans(c, &ci);
++ if (err)
++ goto out;
++
++ err = dbg_walk_index(c, &dbg_orphan_check, NULL, &ci);
++ if (err) {
++ ubifs_err("cannot scan TNC, error %d", err);
++ goto out;
++ }
++
++ if (ci.missing) {
++ ubifs_err("%lu missing orphan(s)", ci.missing);
++ err = -EINVAL;
++ goto out;
++ }
++
++ dbg_cmt("last inode number is %lu", ci.last_ino);
++ dbg_cmt("total number of inodes is %lu", ci.tot_inos);
++ dbg_cmt("total number of leaf nodes is %llu", ci.leaf_cnt);
++
++out:
++ dbg_free_check_tree(&ci.root);
++ kfree(ci.node);
++ return err;
++}
++
++#endif /* CONFIG_UBIFS_FS_DEBUG */
+diff -Nurd linux-2.6.24/fs/ubifs/recovery.c ubifs-v2.6.24/fs/ubifs/recovery.c
+--- linux-2.6.24/fs/ubifs/recovery.c 1970-01-01 02:00:00.000000000 +0200
++++ ubifs-v2.6.24/fs/ubifs/recovery.c 2009-04-07 17:14:47.000000000 +0200
+@@ -0,0 +1,1496 @@
++/*
++ * This file is part of UBIFS.
++ *
++ * Copyright (C) 2006-2008 Nokia Corporation
++ *
++ * This program is free software; you can redistribute it and/or modify it
++ * under the terms of the GNU General Public License version 2 as published by
++ * the Free Software Foundation.
++ *
++ * 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, write to the Free Software Foundation, Inc., 51
++ * Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
++ *
++ * Authors: Adrian Hunter
++ * Artem Bityutskiy (Битюцкий Ðртём)
++ */
++
++/*
++ * This file implements functions needed to recover from unclean un-mounts.
++ * When UBIFS is mounted, it checks a flag on the master node to determine if
++ * an un-mount was completed sucessfully. If not, the process of mounting
++ * incorparates additional checking and fixing of on-flash data structures.
++ * UBIFS always cleans away all remnants of an unclean un-mount, so that
++ * errors do not accumulate. However UBIFS defers recovery if it is mounted
++ * read-only, and the flash is not modified in that case.
++ */
++
++#include <linux/crc32.h>
++#include "ubifs.h"
++
++/**
++ * is_empty - determine whether a buffer is empty (contains all 0xff).
++ * @buf: buffer to clean
++ * @len: length of buffer
++ *
++ * This function returns %1 if the buffer is empty (contains all 0xff) otherwise
++ * %0 is returned.
++ */
++static int is_empty(void *buf, int len)
++{
++ uint8_t *p = buf;
++ int i;
++
++ for (i = 0; i < len; i++)
++ if (*p++ != 0xff)
++ return 0;
++ return 1;
++}
++
++/**
++ * get_master_node - get the last valid master node allowing for corruption.
++ * @c: UBIFS file-system description object
++ * @lnum: LEB number
++ * @pbuf: buffer containing the LEB read, is returned here
++ * @mst: master node, if found, is returned here
++ * @cor: corruption, if found, is returned here
++ *
++ * This function allocates a buffer, reads the LEB into it, and finds and
++ * returns the last valid master node allowing for one area of corruption.
++ * The corrupt area, if there is one, must be consistent with the assumption
++ * that it is the result of an unclean unmount while the master node was being
++ * written. Under those circumstances, it is valid to use the previously written
++ * master node.
++ *
++ * This function returns %0 on success and a negative error code on failure.
++ */
++static int get_master_node(const struct ubifs_info *c, int lnum, void **pbuf,
++ struct ubifs_mst_node **mst, void **cor)
++{
++ const int sz = c->mst_node_alsz;
++ int err, offs, len;
++ void *sbuf, *buf;
++
++ sbuf = vmalloc(c->leb_size);
++ if (!sbuf)
++ return -ENOMEM;
++
++ err = ubi_read(c->ubi, lnum, sbuf, 0, c->leb_size);
++ if (err && err != -EBADMSG)
++ goto out_free;
++
++ /* Find the first position that is definitely not a node */
++ offs = 0;
++ buf = sbuf;
++ len = c->leb_size;
++ while (offs + UBIFS_MST_NODE_SZ <= c->leb_size) {
++ struct ubifs_ch *ch = buf;
++
++ if (le32_to_cpu(ch->magic) != UBIFS_NODE_MAGIC)
++ break;
++ offs += sz;
++ buf += sz;
++ len -= sz;
++ }
++ /* See if there was a valid master node before that */
++ if (offs) {
++ int ret;
++
++ offs -= sz;
++ buf -= sz;
++ len += sz;
++ ret = ubifs_scan_a_node(c, buf, len, lnum, offs, 1);
++ if (ret != SCANNED_A_NODE && offs) {
++ /* Could have been corruption so check one place back */
++ offs -= sz;
++ buf -= sz;
++ len += sz;
++ ret = ubifs_scan_a_node(c, buf, len, lnum, offs, 1);
++ if (ret != SCANNED_A_NODE)
++ /*
++ * We accept only one area of corruption because
++ * we are assuming that it was caused while
++ * trying to write a master node.
++ */
++ goto out_err;
++ }
++ if (ret == SCANNED_A_NODE) {
++ struct ubifs_ch *ch = buf;
++
++ if (ch->node_type != UBIFS_MST_NODE)
++ goto out_err;
++ dbg_rcvry("found a master node at %d:%d", lnum, offs);
++ *mst = buf;
++ offs += sz;
++ buf += sz;
++ len -= sz;
++ }
++ }
++ /* Check for corruption */
++ if (offs < c->leb_size) {
++ if (!is_empty(buf, min_t(int, len, sz))) {
++ *cor = buf;
++ dbg_rcvry("found corruption at %d:%d", lnum, offs);
++ }
++ offs += sz;
++ buf += sz;
++ len -= sz;
++ }
++ /* Check remaining empty space */
++ if (offs < c->leb_size)
++ if (!is_empty(buf, len))
++ goto out_err;
++ *pbuf = sbuf;
++ return 0;
++
++out_err:
++ err = -EINVAL;
++out_free:
++ vfree(sbuf);
++ *mst = NULL;
++ *cor = NULL;
++ return err;
++}
++
++/**
++ * write_rcvrd_mst_node - write recovered master node.
++ * @c: UBIFS file-system description object
++ * @mst: master node
++ *
++ * This function returns %0 on success and a negative error code on failure.
++ */
++static int write_rcvrd_mst_node(struct ubifs_info *c,
++ struct ubifs_mst_node *mst)
++{
++ int err = 0, lnum = UBIFS_MST_LNUM, sz = c->mst_node_alsz;
++ __le32 save_flags;
++
++ dbg_rcvry("recovery");
++
++ save_flags = mst->flags;
++ mst->flags |= cpu_to_le32(UBIFS_MST_RCVRY);
++
++ ubifs_prepare_node(c, mst, UBIFS_MST_NODE_SZ, 1);
++ err = ubi_leb_change(c->ubi, lnum, mst, sz, UBI_SHORTTERM);
++ if (err)
++ goto out;
++ err = ubi_leb_change(c->ubi, lnum + 1, mst, sz, UBI_SHORTTERM);
++ if (err)
++ goto out;
++out:
++ mst->flags = save_flags;
++ return err;
++}
++
++/**
++ * ubifs_recover_master_node - recover the master node.
++ * @c: UBIFS file-system description object
++ *
++ * This function recovers the master node from corruption that may occur due to
++ * an unclean unmount.
++ *
++ * This function returns %0 on success and a negative error code on failure.
++ */
++int ubifs_recover_master_node(struct ubifs_info *c)
++{
++ void *buf1 = NULL, *buf2 = NULL, *cor1 = NULL, *cor2 = NULL;
++ struct ubifs_mst_node *mst1 = NULL, *mst2 = NULL, *mst;
++ const int sz = c->mst_node_alsz;
++ int err, offs1, offs2;
++
++ dbg_rcvry("recovery");
++
++ err = get_master_node(c, UBIFS_MST_LNUM, &buf1, &mst1, &cor1);
++ if (err)
++ goto out_free;
++
++ err = get_master_node(c, UBIFS_MST_LNUM + 1, &buf2, &mst2, &cor2);
++ if (err)
++ goto out_free;
++
++ if (mst1) {
++ offs1 = (void *)mst1 - buf1;
++ if ((le32_to_cpu(mst1->flags) & UBIFS_MST_RCVRY) &&
++ (offs1 == 0 && !cor1)) {
++ /*
++ * mst1 was written by recovery at offset 0 with no
++ * corruption.
++ */
++ dbg_rcvry("recovery recovery");
++ mst = mst1;
++ } else if (mst2) {
++ offs2 = (void *)mst2 - buf2;
++ if (offs1 == offs2) {
++ /* Same offset, so must be the same */
++ if (memcmp((void *)mst1 + UBIFS_CH_SZ,
++ (void *)mst2 + UBIFS_CH_SZ,
++ UBIFS_MST_NODE_SZ - UBIFS_CH_SZ))
++ goto out_err;
++ mst = mst1;
++ } else if (offs2 + sz == offs1) {
++ /* 1st LEB was written, 2nd was not */
++ if (cor1)
++ goto out_err;
++ mst = mst1;
++ } else if (offs1 == 0 && offs2 + sz >= c->leb_size) {
++ /* 1st LEB was unmapped and written, 2nd not */
++ if (cor1)
++ goto out_err;
++ mst = mst1;
++ } else
++ goto out_err;
++ } else {
++ /*
++ * 2nd LEB was unmapped and about to be written, so
++ * there must be only one master node in the first LEB
++ * and no corruption.
++ */
++ if (offs1 != 0 || cor1)
++ goto out_err;
++ mst = mst1;
++ }
++ } else {
++ if (!mst2)
++ goto out_err;
++ /*
++ * 1st LEB was unmapped and about to be written, so there must
++ * be no room left in 2nd LEB.
++ */
++ offs2 = (void *)mst2 - buf2;
++ if (offs2 + sz + sz <= c->leb_size)
++ goto out_err;
++ mst = mst2;
++ }
++
++ dbg_rcvry("recovered master node from LEB %d",
++ (mst == mst1 ? UBIFS_MST_LNUM : UBIFS_MST_LNUM + 1));
++
++ memcpy(c->mst_node, mst, UBIFS_MST_NODE_SZ);
++
++ if ((c->vfs_sb->s_flags & MS_RDONLY)) {
++ /* Read-only mode. Keep a copy for switching to rw mode */
++ c->rcvrd_mst_node = kmalloc(sz, GFP_KERNEL);
++ if (!c->rcvrd_mst_node) {
++ err = -ENOMEM;
++ goto out_free;
++ }
++ memcpy(c->rcvrd_mst_node, c->mst_node, UBIFS_MST_NODE_SZ);
++ } else {
++ /* Write the recovered master node */
++ c->max_sqnum = le64_to_cpu(mst->ch.sqnum) - 1;
++ err = write_rcvrd_mst_node(c, c->mst_node);
++ if (err)
++ goto out_free;
++ }
++
++ vfree(buf2);
++ vfree(buf1);
++
++ return 0;
++
++out_err:
++ err = -EINVAL;
++out_free:
++ ubifs_err("failed to recover master node");
++ if (mst1) {
++ dbg_err("dumping first master node");
++ dbg_dump_node(c, mst1);
++ }
++ if (mst2) {
++ dbg_err("dumping second master node");
++ dbg_dump_node(c, mst2);
++ }
++ vfree(buf2);
++ vfree(buf1);
++ return err;
++}
++
++/**
++ * ubifs_write_rcvrd_mst_node - write the recovered master node.
++ * @c: UBIFS file-system description object
++ *
++ * This function writes the master node that was recovered during mounting in
++ * read-only mode and must now be written because we are remounting rw.
++ *
++ * This function returns %0 on success and a negative error code on failure.
++ */
++int ubifs_write_rcvrd_mst_node(struct ubifs_info *c)
++{
++ int err;
++
++ if (!c->rcvrd_mst_node)
++ return 0;
++ c->rcvrd_mst_node->flags |= cpu_to_le32(UBIFS_MST_DIRTY);
++ c->mst_node->flags |= cpu_to_le32(UBIFS_MST_DIRTY);
++ err = write_rcvrd_mst_node(c, c->rcvrd_mst_node);
++ if (err)
++ return err;
++ kfree(c->rcvrd_mst_node);
++ c->rcvrd_mst_node = NULL;
++ return 0;
++}
++
++/**
++ * is_last_write - determine if an offset was in the last write to a LEB.
++ * @c: UBIFS file-system description object
++ * @buf: buffer to check
++ * @offs: offset to check
++ *
++ * This function returns %1 if @offs was in the last write to the LEB whose data
++ * is in @buf, otherwise %0 is returned. The determination is made by checking
++ * for subsequent empty space starting from the next min_io_size boundary (or a
++ * bit less than the common header size if min_io_size is one).
++ */
++static int is_last_write(const struct ubifs_info *c, void *buf, int offs)
++{
++ int empty_offs;
++ int check_len;
++ uint8_t *p;
++
++ if (c->min_io_size == 1) {
++ check_len = c->leb_size - offs;
++ p = buf + check_len;
++ for (; check_len > 0; check_len--)
++ if (*--p != 0xff)
++ break;
++ /*
++ * 'check_len' is the size of the corruption which cannot be
++ * more than the size of 1 node if it was caused by an unclean
++ * unmount.
++ */
++ if (check_len > UBIFS_MAX_NODE_SZ)
++ return 0;
++ return 1;
++ }
++
++ /*
++ * Round up to the next c->min_io_size boundary i.e. 'offs' is in the
++ * last wbuf written. After that should be empty space.
++ */
++ empty_offs = ALIGN(offs + 1, c->min_io_size);
++ check_len = c->leb_size - empty_offs;
++ p = buf + empty_offs - offs;
++
++ for (; check_len > 0; check_len--)
++ if (*p++ != 0xff)
++ return 0;
++ return 1;
++}
++
++/**
++ * clean_buf - clean the data from an LEB sitting in a buffer.
++ * @c: UBIFS file-system description object
++ * @buf: buffer to clean
++ * @lnum: LEB number to clean
++ * @offs: offset from which to clean
++ * @len: length of buffer
++ *
++ * This function pads up to the next min_io_size boundary (if there is one) and
++ * sets empty space to all 0xff. @buf, @offs and @len are updated to the next
++ * min_io_size boundary (if there is one).
++ */
++static void clean_buf(const struct ubifs_info *c, void **buf, int lnum,
++ int *offs, int *len)
++{
++ int empty_offs, pad_len;
++
++ lnum = lnum;
++ dbg_rcvry("cleaning corruption at %d:%d", lnum, *offs);
++
++ if (c->min_io_size == 1) {
++ memset(*buf, 0xff, c->leb_size - *offs);
++ return;
++ }
++
++ ubifs_assert(!(*offs & 7));
++ empty_offs = ALIGN(*offs, c->min_io_size);
++ pad_len = empty_offs - *offs;
++ ubifs_pad(c, *buf, pad_len);
++ *offs += pad_len;
++ *buf += pad_len;
++ *len -= pad_len;
++ memset(*buf, 0xff, c->leb_size - empty_offs);
++}
++
++/**
++ * no_more_nodes - determine if there are no more nodes in a buffer.
++ * @c: UBIFS file-system description object
++ * @buf: buffer to check
++ * @len: length of buffer
++ * @lnum: LEB number of the LEB from which @buf was read
++ * @offs: offset from which @buf was read
++ *
++ * This function ensures that the corrupted node at @offs is the last thing
++ * written to a LEB. This function returns %1 if more data is not found and
++ * %0 if more data is found.
++ */
++static int no_more_nodes(const struct ubifs_info *c, void *buf, int len,
++ int lnum, int offs)
++{
++ struct ubifs_ch *ch = buf;
++ int skip, dlen = le32_to_cpu(ch->len);
++
++ /* Check for empty space after the corrupt node's common header */
++ skip = ALIGN(offs + UBIFS_CH_SZ, c->min_io_size) - offs;
++ if (is_empty(buf + skip, len - skip))
++ return 1;
++ /*
++ * The area after the common header size is not empty, so the common
++ * header must be intact. Check it.
++ */
++ if (ubifs_check_node(c, buf, lnum, offs, 1, 0) != -EUCLEAN) {
++ dbg_rcvry("unexpected bad common header at %d:%d", lnum, offs);
++ return 0;
++ }
++ /* Now we know the corrupt node's length we can skip over it */
++ skip = ALIGN(offs + dlen, c->min_io_size) - offs;
++ /* After which there should be empty space */
++ if (is_empty(buf + skip, len - skip))
++ return 1;
++ dbg_rcvry("unexpected data at %d:%d", lnum, offs + skip);
++ return 0;
++}
++
++/**
++ * fix_unclean_leb - fix an unclean LEB.
++ * @c: UBIFS file-system description object
++ * @sleb: scanned LEB information
++ * @start: offset where scan started
++ */
++static int fix_unclean_leb(struct ubifs_info *c, struct ubifs_scan_leb *sleb,
++ int start)
++{
++ int lnum = sleb->lnum, endpt = start;
++
++ /* Get the end offset of the last node we are keeping */
++ if (!list_empty(&sleb->nodes)) {
++ struct ubifs_scan_node *snod;
++
++ snod = list_entry(sleb->nodes.prev,
++ struct ubifs_scan_node, list);
++ endpt = snod->offs + snod->len;
++ }
++
++ if ((c->vfs_sb->s_flags & MS_RDONLY) && !c->remounting_rw) {
++ /* Add to recovery list */
++ struct ubifs_unclean_leb *ucleb;
++
++ dbg_rcvry("need to fix LEB %d start %d endpt %d",
++ lnum, start, sleb->endpt);
++ ucleb = kzalloc(sizeof(struct ubifs_unclean_leb), GFP_NOFS);
++ if (!ucleb)
++ return -ENOMEM;
++ ucleb->lnum = lnum;
++ ucleb->endpt = endpt;
++ list_add_tail(&ucleb->list, &c->unclean_leb_list);
++ } else {
++ /* Write the fixed LEB back to flash */
++ int err;
++
++ dbg_rcvry("fixing LEB %d start %d endpt %d",
++ lnum, start, sleb->endpt);
++ if (endpt == 0) {
++ err = ubifs_leb_unmap(c, lnum);
++ if (err)
++ return err;
++ } else {
++ int len = ALIGN(endpt, c->min_io_size);
++
++ if (start) {
++ err = ubi_read(c->ubi, lnum, sleb->buf, 0,
++ start);
++ if (err)
++ return err;
++ }
++ /* Pad to min_io_size */
++ if (len > endpt) {
++ int pad_len = len - ALIGN(endpt, 8);
++
++ if (pad_len > 0) {
++ void *buf = sleb->buf + len - pad_len;
++
++ ubifs_pad(c, buf, pad_len);
++ }
++ }
++ err = ubi_leb_change(c->ubi, lnum, sleb->buf, len,
++ UBI_UNKNOWN);
++ if (err)
++ return err;
++ }
++ }
++ return 0;
++}
++
++/**
++ * drop_incomplete_group - drop nodes from an incomplete group.
++ * @sleb: scanned LEB information
++ * @offs: offset of dropped nodes is returned here
++ *
++ * This function returns %1 if nodes are dropped and %0 otherwise.
++ */
++static int drop_incomplete_group(struct ubifs_scan_leb *sleb, int *offs)
++{
++ int dropped = 0;
++
++ while (!list_empty(&sleb->nodes)) {
++ struct ubifs_scan_node *snod;
++ struct ubifs_ch *ch;
++
++ snod = list_entry(sleb->nodes.prev, struct ubifs_scan_node,
++ list);
++ ch = snod->node;
++ if (ch->group_type != UBIFS_IN_NODE_GROUP)
++ return dropped;
++ dbg_rcvry("dropping node at %d:%d", sleb->lnum, snod->offs);
++ *offs = snod->offs;
++ list_del(&snod->list);
++ kfree(snod);
++ sleb->nodes_cnt -= 1;
++ dropped = 1;
++ }
++ return dropped;
++}
++
++/**
++ * ubifs_recover_leb - scan and recover a LEB.
++ * @c: UBIFS file-system description object
++ * @lnum: LEB number
++ * @offs: offset
++ * @sbuf: LEB-sized buffer to use
++ * @grouped: nodes may be grouped for recovery
++ *
++ * This function does a scan of a LEB, but caters for errors that might have
++ * been caused by the unclean unmount from which we are attempting to recover.
++ *
++ * This function returns %0 on success and a negative error code on failure.
++ */
++struct ubifs_scan_leb *ubifs_recover_leb(struct ubifs_info *c, int lnum,
++ int offs, void *sbuf, int grouped)
++{
++ int err, len = c->leb_size - offs, need_clean = 0, quiet = 1;
++ int empty_chkd = 0, start = offs;
++ struct ubifs_scan_leb *sleb;
++ void *buf = sbuf + offs;
++
++ dbg_rcvry("%d:%d", lnum, offs);
++
++ sleb = ubifs_start_scan(c, lnum, offs, sbuf);
++ if (IS_ERR(sleb))
++ return sleb;
++
++ if (sleb->ecc)
++ need_clean = 1;
++
++ while (len >= 8) {
++ int ret;
++
++ dbg_scan("look at LEB %d:%d (%d bytes left)",
++ lnum, offs, len);
++
++ cond_resched();
++
++ /*
++ * Scan quietly until there is an error from which we cannot
++ * recover
++ */
++ ret = ubifs_scan_a_node(c, buf, len, lnum, offs, quiet);
++
++ if (ret == SCANNED_A_NODE) {
++ /* A valid node, and not a padding node */
++ struct ubifs_ch *ch = buf;
++ int node_len;
++
++ err = ubifs_add_snod(c, sleb, buf, offs);
++ if (err)
++ goto error;
++ node_len = ALIGN(le32_to_cpu(ch->len), 8);
++ offs += node_len;
++ buf += node_len;
++ len -= node_len;
++ continue;
++ }
++
++ if (ret > 0) {
++ /* Padding bytes or a valid padding node */
++ offs += ret;
++ buf += ret;
++ len -= ret;
++ continue;
++ }
++
++ if (ret == SCANNED_EMPTY_SPACE) {
++ if (!is_empty(buf, len)) {
++ if (!is_last_write(c, buf, offs))
++ break;
++ clean_buf(c, &buf, lnum, &offs, &len);
++ need_clean = 1;
++ }
++ empty_chkd = 1;
++ break;
++ }
++
++ if (ret == SCANNED_GARBAGE || ret == SCANNED_A_BAD_PAD_NODE)
++ if (is_last_write(c, buf, offs)) {
++ clean_buf(c, &buf, lnum, &offs, &len);
++ need_clean = 1;
++ empty_chkd = 1;
++ break;
++ }
++
++ if (ret == SCANNED_A_CORRUPT_NODE)
++ if (no_more_nodes(c, buf, len, lnum, offs)) {
++ clean_buf(c, &buf, lnum, &offs, &len);
++ need_clean = 1;
++ empty_chkd = 1;
++ break;
++ }
++
++ if (quiet) {
++ /* Redo the last scan but noisily */
++ quiet = 0;
++ continue;
++ }
++
++ switch (ret) {
++ case SCANNED_GARBAGE:
++ dbg_err("garbage");
++ goto corrupted;
++ case SCANNED_A_CORRUPT_NODE:
++ case SCANNED_A_BAD_PAD_NODE:
++ dbg_err("bad node");
++ goto corrupted;
++ default:
++ dbg_err("unknown");
++ goto corrupted;
++ }
++ }
++
++ if (!empty_chkd && !is_empty(buf, len)) {
++ if (is_last_write(c, buf, offs)) {
++ clean_buf(c, &buf, lnum, &offs, &len);
++ need_clean = 1;
++ } else {
++ ubifs_err("corrupt empty space at LEB %d:%d",
++ lnum, offs);
++ goto corrupted;
++ }
++ }
++
++ /* Drop nodes from incomplete group */
++ if (grouped && drop_incomplete_group(sleb, &offs)) {
++ buf = sbuf + offs;
++ len = c->leb_size - offs;
++ clean_buf(c, &buf, lnum, &offs, &len);
++ need_clean = 1;
++ }
++
++ if (offs % c->min_io_size) {
++ clean_buf(c, &buf, lnum, &offs, &len);
++ need_clean = 1;
++ }
++
++ ubifs_end_scan(c, sleb, lnum, offs);
++
++ if (need_clean) {
++ err = fix_unclean_leb(c, sleb, start);
++ if (err)
++ goto error;
++ }
++
++ return sleb;
++
++corrupted:
++ ubifs_scanned_corruption(c, lnum, offs, buf);
++ err = -EUCLEAN;
++error:
++ ubifs_err("LEB %d scanning failed", lnum);
++ ubifs_scan_destroy(sleb);
++ return ERR_PTR(err);
++}
++
++/**
++ * get_cs_sqnum - get commit start sequence number.
++ * @c: UBIFS file-system description object
++ * @lnum: LEB number of commit start node
++ * @offs: offset of commit start node
++ * @cs_sqnum: commit start sequence number is returned here
++ *
++ * This function returns %0 on success and a negative error code on failure.
++ */
++static int get_cs_sqnum(struct ubifs_info *c, int lnum, int offs,
++ unsigned long long *cs_sqnum)
++{
++ struct ubifs_cs_node *cs_node = NULL;
++ int err, ret;
++
++ dbg_rcvry("at %d:%d", lnum, offs);
++ cs_node = kmalloc(UBIFS_CS_NODE_SZ, GFP_KERNEL);
++ if (!cs_node)
++ return -ENOMEM;
++ if (c->leb_size - offs < UBIFS_CS_NODE_SZ)
++ goto out_err;
++ err = ubi_read(c->ubi, lnum, (void *)cs_node, offs, UBIFS_CS_NODE_SZ);
++ if (err && err != -EBADMSG)
++ goto out_free;
++ ret = ubifs_scan_a_node(c, cs_node, UBIFS_CS_NODE_SZ, lnum, offs, 0);
++ if (ret != SCANNED_A_NODE) {
++ dbg_err("Not a valid node");
++ goto out_err;
++ }
++ if (cs_node->ch.node_type != UBIFS_CS_NODE) {
++ dbg_err("Node a CS node, type is %d", cs_node->ch.node_type);
++ goto out_err;
++ }
++ if (le64_to_cpu(cs_node->cmt_no) != c->cmt_no) {
++ dbg_err("CS node cmt_no %llu != current cmt_no %llu",
++ (unsigned long long)le64_to_cpu(cs_node->cmt_no),
++ c->cmt_no);
++ goto out_err;
++ }
++ *cs_sqnum = le64_to_cpu(cs_node->ch.sqnum);
++ dbg_rcvry("commit start sqnum %llu", *cs_sqnum);
++ kfree(cs_node);
++ return 0;
++
++out_err:
++ err = -EINVAL;
++out_free:
++ ubifs_err("failed to get CS sqnum");
++ kfree(cs_node);
++ return err;
++}
++
++/**
++ * ubifs_recover_log_leb - scan and recover a log LEB.
++ * @c: UBIFS file-system description object
++ * @lnum: LEB number
++ * @offs: offset
++ * @sbuf: LEB-sized buffer to use
++ *
++ * This function does a scan of a LEB, but caters for errors that might have
++ * been caused by the unclean unmount from which we are attempting to recover.
++ *
++ * This function returns %0 on success and a negative error code on failure.
++ */
++struct ubifs_scan_leb *ubifs_recover_log_leb(struct ubifs_info *c, int lnum,
++ int offs, void *sbuf)
++{
++ struct ubifs_scan_leb *sleb;
++ int next_lnum;
++
++ dbg_rcvry("LEB %d", lnum);
++ next_lnum = lnum + 1;
++ if (next_lnum >= UBIFS_LOG_LNUM + c->log_lebs)
++ next_lnum = UBIFS_LOG_LNUM;
++ if (next_lnum != c->ltail_lnum) {
++ /*
++ * We can only recover at the end of the log, so check that the
++ * next log LEB is empty or out of date.
++ */
++ sleb = ubifs_scan(c, next_lnum, 0, sbuf);
++ if (IS_ERR(sleb))
++ return sleb;
++ if (sleb->nodes_cnt) {
++ struct ubifs_scan_node *snod;
++ unsigned long long cs_sqnum = c->cs_sqnum;
++
++ snod = list_entry(sleb->nodes.next,
++ struct ubifs_scan_node, list);
++ if (cs_sqnum == 0) {
++ int err;
++
++ err = get_cs_sqnum(c, lnum, offs, &cs_sqnum);
++ if (err) {
++ ubifs_scan_destroy(sleb);
++ return ERR_PTR(err);
++ }
++ }
++ if (snod->sqnum > cs_sqnum) {
++ ubifs_err("unrecoverable log corruption "
++ "in LEB %d", lnum);
++ ubifs_scan_destroy(sleb);
++ return ERR_PTR(-EUCLEAN);
++ }
++ }
++ ubifs_scan_destroy(sleb);
++ }
++ return ubifs_recover_leb(c, lnum, offs, sbuf, 0);
++}
++
++/**
++ * recover_head - recover a head.
++ * @c: UBIFS file-system description object
++ * @lnum: LEB number of head to recover
++ * @offs: offset of head to recover
++ * @sbuf: LEB-sized buffer to use
++ *
++ * This function ensures that there is no data on the flash at a head location.
++ *
++ * This function returns %0 on success and a negative error code on failure.
++ */
++static int recover_head(const struct ubifs_info *c, int lnum, int offs,
++ void *sbuf)
++{
++ int len, err, need_clean = 0;
++
++ if (c->min_io_size > 1)
++ len = c->min_io_size;
++ else
++ len = 512;
++ if (offs + len > c->leb_size)
++ len = c->leb_size - offs;
++
++ if (!len)
++ return 0;
++
++ /* Read at the head location and check it is empty flash */
++ err = ubi_read(c->ubi, lnum, sbuf, offs, len);
++ if (err)
++ need_clean = 1;
++ else {
++ uint8_t *p = sbuf;
++
++ while (len--)
++ if (*p++ != 0xff) {
++ need_clean = 1;
++ break;
++ }
++ }
++
++ if (need_clean) {
++ dbg_rcvry("cleaning head at %d:%d", lnum, offs);
++ if (offs == 0)
++ return ubifs_leb_unmap(c, lnum);
++ err = ubi_read(c->ubi, lnum, sbuf, 0, offs);
++ if (err)
++ return err;
++ return ubi_leb_change(c->ubi, lnum, sbuf, offs, UBI_UNKNOWN);
++ }
++
++ return 0;
++}
++
++/**
++ * ubifs_recover_inl_heads - recover index and LPT heads.
++ * @c: UBIFS file-system description object
++ * @sbuf: LEB-sized buffer to use
++ *
++ * This function ensures that there is no data on the flash at the index and
++ * LPT head locations.
++ *
++ * This deals with the recovery of a half-completed journal commit. UBIFS is
++ * careful never to overwrite the last version of the index or the LPT. Because
++ * the index and LPT are wandering trees, data from a half-completed commit will
++ * not be referenced anywhere in UBIFS. The data will be either in LEBs that are
++ * assumed to be empty and will be unmapped anyway before use, or in the index
++ * and LPT heads.
++ *
++ * This function returns %0 on success and a negative error code on failure.
++ */
++int ubifs_recover_inl_heads(const struct ubifs_info *c, void *sbuf)
++{
++ int err;
++
++ ubifs_assert(!(c->vfs_sb->s_flags & MS_RDONLY) || c->remounting_rw);
++
++ dbg_rcvry("checking index head at %d:%d", c->ihead_lnum, c->ihead_offs);
++ err = recover_head(c, c->ihead_lnum, c->ihead_offs, sbuf);
++ if (err)
++ return err;
++
++ dbg_rcvry("checking LPT head at %d:%d", c->nhead_lnum, c->nhead_offs);
++ err = recover_head(c, c->nhead_lnum, c->nhead_offs, sbuf);
++ if (err)
++ return err;
++
++ return 0;
++}
++
++/**
++ * clean_an_unclean_leb - read and write a LEB to remove corruption.
++ * @c: UBIFS file-system description object
++ * @ucleb: unclean LEB information
++ * @sbuf: LEB-sized buffer to use
++ *
++ * This function reads a LEB up to a point pre-determined by the mount recovery,
++ * checks the nodes, and writes the result back to the flash, thereby cleaning
++ * off any following corruption, or non-fatal ECC errors.
++ *
++ * This function returns %0 on success and a negative error code on failure.
++ */
++static int clean_an_unclean_leb(const struct ubifs_info *c,
++ struct ubifs_unclean_leb *ucleb, void *sbuf)
++{
++ int err, lnum = ucleb->lnum, offs = 0, len = ucleb->endpt, quiet = 1;
++ void *buf = sbuf;
++
++ dbg_rcvry("LEB %d len %d", lnum, len);
++
++ if (len == 0) {
++ /* Nothing to read, just unmap it */
++ err = ubifs_leb_unmap(c, lnum);
++ if (err)
++ return err;
++ return 0;
++ }
++
++ err = ubi_read(c->ubi, lnum, buf, offs, len);
++ if (err && err != -EBADMSG)
++ return err;
++
++ while (len >= 8) {
++ int ret;
++
++ cond_resched();
++
++ /* Scan quietly until there is an error */
++ ret = ubifs_scan_a_node(c, buf, len, lnum, offs, quiet);
++
++ if (ret == SCANNED_A_NODE) {
++ /* A valid node, and not a padding node */
++ struct ubifs_ch *ch = buf;
++ int node_len;
++
++ node_len = ALIGN(le32_to_cpu(ch->len), 8);
++ offs += node_len;
++ buf += node_len;
++ len -= node_len;
++ continue;
++ }
++
++ if (ret > 0) {
++ /* Padding bytes or a valid padding node */
++ offs += ret;
++ buf += ret;
++ len -= ret;
++ continue;
++ }
++
++ if (ret == SCANNED_EMPTY_SPACE) {
++ ubifs_err("unexpected empty space at %d:%d",
++ lnum, offs);
++ return -EUCLEAN;
++ }
++
++ if (quiet) {
++ /* Redo the last scan but noisily */
++ quiet = 0;
++ continue;
++ }
++
++ ubifs_scanned_corruption(c, lnum, offs, buf);
++ return -EUCLEAN;
++ }
++
++ /* Pad to min_io_size */
++ len = ALIGN(ucleb->endpt, c->min_io_size);
++ if (len > ucleb->endpt) {
++ int pad_len = len - ALIGN(ucleb->endpt, 8);
++
++ if (pad_len > 0) {
++ buf = c->sbuf + len - pad_len;
++ ubifs_pad(c, buf, pad_len);
++ }
++ }
++
++ /* Write back the LEB atomically */
++ err = ubi_leb_change(c->ubi, lnum, sbuf, len, UBI_UNKNOWN);
++ if (err)
++ return err;
++
++ dbg_rcvry("cleaned LEB %d", lnum);
++
++ return 0;
++}
++
++/**
++ * ubifs_clean_lebs - clean LEBs recovered during read-only mount.
++ * @c: UBIFS file-system description object
++ * @sbuf: LEB-sized buffer to use
++ *
++ * This function cleans a LEB identified during recovery that needs to be
++ * written but was not because UBIFS was mounted read-only. This happens when
++ * remounting to read-write mode.
++ *
++ * This function returns %0 on success and a negative error code on failure.
++ */
++int ubifs_clean_lebs(const struct ubifs_info *c, void *sbuf)
++{
++ dbg_rcvry("recovery");
++ while (!list_empty(&c->unclean_leb_list)) {
++ struct ubifs_unclean_leb *ucleb;
++ int err;
++
++ ucleb = list_entry(c->unclean_leb_list.next,
++ struct ubifs_unclean_leb, list);
++ err = clean_an_unclean_leb(c, ucleb, sbuf);
++ if (err)
++ return err;
++ list_del(&ucleb->list);
++ kfree(ucleb);
++ }
++ return 0;
++}
++
++/**
++ * ubifs_rcvry_gc_commit - recover the GC LEB number and run the commit.
++ * @c: UBIFS file-system description object
++ *
++ * Out-of-place garbage collection requires always one empty LEB with which to
++ * start garbage collection. The LEB number is recorded in c->gc_lnum and is
++ * written to the master node on unmounting. In the case of an unclean unmount
++ * the value of gc_lnum recorded in the master node is out of date and cannot
++ * be used. Instead, recovery must allocate an empty LEB for this purpose.
++ * However, there may not be enough empty space, in which case it must be
++ * possible to GC the dirtiest LEB into the GC head LEB.
++ *
++ * This function also runs the commit which causes the TNC updates from
++ * size-recovery and orphans to be written to the flash. That is important to
++ * ensure correct replay order for subsequent mounts.
++ *
++ * This function returns %0 on success and a negative error code on failure.
++ */
++int ubifs_rcvry_gc_commit(struct ubifs_info *c)
++{
++ struct ubifs_wbuf *wbuf = &c->jheads[GCHD].wbuf;
++ struct ubifs_lprops lp;
++ int lnum, err;
++
++ c->gc_lnum = -1;
++ if (wbuf->lnum == -1) {
++ dbg_rcvry("no GC head LEB");
++ goto find_free;
++ }
++ /*
++ * See whether the used space in the dirtiest LEB fits in the GC head
++ * LEB.
++ */
++ if (wbuf->offs == c->leb_size) {
++ dbg_rcvry("no room in GC head LEB");
++ goto find_free;
++ }
++ err = ubifs_find_dirty_leb(c, &lp, wbuf->offs, 2);
++ if (err) {
++ if (err == -ENOSPC)
++ dbg_err("could not find a dirty LEB");
++ return err;
++ }
++ ubifs_assert(!(lp.flags & LPROPS_INDEX));
++ lnum = lp.lnum;
++ if (lp.free + lp.dirty == c->leb_size) {
++ /* An empty LEB was returned */
++ if (lp.free != c->leb_size) {
++ err = ubifs_change_one_lp(c, lnum, c->leb_size,
++ 0, 0, 0, 0);
++ if (err)
++ return err;
++ }
++ err = ubifs_leb_unmap(c, lnum);
++ if (err)
++ return err;
++ c->gc_lnum = lnum;
++ dbg_rcvry("allocated LEB %d for GC", lnum);
++ /* Run the commit */
++ dbg_rcvry("committing");
++ return ubifs_run_commit(c);
++ }
++ /*
++ * There was no empty LEB so the used space in the dirtiest LEB must fit
++ * in the GC head LEB.
++ */
++ if (lp.free + lp.dirty < wbuf->offs) {
++ dbg_rcvry("LEB %d doesn't fit in GC head LEB %d:%d",
++ lnum, wbuf->lnum, wbuf->offs);
++ err = ubifs_return_leb(c, lnum);
++ if (err)
++ return err;
++ goto find_free;
++ }
++ /*
++ * We run the commit before garbage collection otherwise subsequent
++ * mounts will see the GC and orphan deletion in a different order.
++ */
++ dbg_rcvry("committing");
++ err = ubifs_run_commit(c);
++ if (err)
++ return err;
++ /*
++ * The data in the dirtiest LEB fits in the GC head LEB, so do the GC
++ * - use locking to keep 'ubifs_assert()' happy.
++ */
++ dbg_rcvry("GC'ing LEB %d", lnum);
++ mutex_lock_nested(&wbuf->io_mutex, wbuf->jhead);
++ err = ubifs_garbage_collect_leb(c, &lp);
++ if (err >= 0) {
++ int err2 = ubifs_wbuf_sync_nolock(wbuf);
++
++ if (err2)
++ err = err2;
++ }
++ mutex_unlock(&wbuf->io_mutex);
++ if (err < 0) {
++ dbg_err("GC failed, error %d", err);
++ if (err == -EAGAIN)
++ err = -EINVAL;
++ return err;
++ }
++ if (err != LEB_RETAINED) {
++ dbg_err("GC returned %d", err);
++ return -EINVAL;
++ }
++ err = ubifs_leb_unmap(c, c->gc_lnum);
++ if (err)
++ return err;
++ dbg_rcvry("allocated LEB %d for GC", lnum);
++ return 0;
++
++find_free:
++ /*
++ * There is no GC head LEB or the free space in the GC head LEB is too
++ * small. Allocate gc_lnum by calling 'ubifs_find_free_leb_for_idx()' so
++ * GC is not run.
++ */
++ lnum = ubifs_find_free_leb_for_idx(c);
++ if (lnum < 0) {
++ dbg_err("could not find an empty LEB");
++ return lnum;
++ }
++ /* And reset the index flag */
++ err = ubifs_change_one_lp(c, lnum, LPROPS_NC, LPROPS_NC, 0,
++ LPROPS_INDEX, 0);
++ if (err)
++ return err;
++ c->gc_lnum = lnum;
++ dbg_rcvry("allocated LEB %d for GC", lnum);
++ /* Run the commit */
++ dbg_rcvry("committing");
++ return ubifs_run_commit(c);
++}
++
++/**
++ * struct size_entry - inode size information for recovery.
++ * @rb: link in the RB-tree of sizes
++ * @inum: inode number
++ * @i_size: size on inode
++ * @d_size: maximum size based on data nodes
++ * @exists: indicates whether the inode exists
++ * @inode: inode if pinned in memory awaiting rw mode to fix it
++ */
++struct size_entry {
++ struct rb_node rb;
++ ino_t inum;
++ loff_t i_size;
++ loff_t d_size;
++ int exists;
++ struct inode *inode;
++};
++
++/**
++ * add_ino - add an entry to the size tree.
++ * @c: UBIFS file-system description object
++ * @inum: inode number
++ * @i_size: size on inode
++ * @d_size: maximum size based on data nodes
++ * @exists: indicates whether the inode exists
++ */
++static int add_ino(struct ubifs_info *c, ino_t inum, loff_t i_size,
++ loff_t d_size, int exists)
++{
++ struct rb_node **p = &c->size_tree.rb_node, *parent = NULL;
++ struct size_entry *e;
++
++ while (*p) {
++ parent = *p;
++ e = rb_entry(parent, struct size_entry, rb);
++ if (inum < e->inum)
++ p = &(*p)->rb_left;
++ else
++ p = &(*p)->rb_right;
++ }
++
++ e = kzalloc(sizeof(struct size_entry), GFP_KERNEL);
++ if (!e)
++ return -ENOMEM;
++
++ e->inum = inum;
++ e->i_size = i_size;
++ e->d_size = d_size;
++ e->exists = exists;
++
++ rb_link_node(&e->rb, parent, p);
++ rb_insert_color(&e->rb, &c->size_tree);
++
++ return 0;
++}
++
++/**
++ * find_ino - find an entry on the size tree.
++ * @c: UBIFS file-system description object
++ * @inum: inode number
++ */
++static struct size_entry *find_ino(struct ubifs_info *c, ino_t inum)
++{
++ struct rb_node *p = c->size_tree.rb_node;
++ struct size_entry *e;
++
++ while (p) {
++ e = rb_entry(p, struct size_entry, rb);
++ if (inum < e->inum)
++ p = p->rb_left;
++ else if (inum > e->inum)
++ p = p->rb_right;
++ else
++ return e;
++ }
++ return NULL;
++}
++
++/**
++ * remove_ino - remove an entry from the size tree.
++ * @c: UBIFS file-system description object
++ * @inum: inode number
++ */
++static void remove_ino(struct ubifs_info *c, ino_t inum)
++{
++ struct size_entry *e = find_ino(c, inum);
++
++ if (!e)
++ return;
++ rb_erase(&e->rb, &c->size_tree);
++ kfree(e);
++}
++
++/**
++ * ubifs_destroy_size_tree - free resources related to the size tree.
++ * @c: UBIFS file-system description object
++ */
++void ubifs_destroy_size_tree(struct ubifs_info *c)
++{
++ struct rb_node *this = c->size_tree.rb_node;
++ struct size_entry *e;
++
++ while (this) {
++ if (this->rb_left) {
++ this = this->rb_left;
++ continue;
++ } else if (this->rb_right) {
++ this = this->rb_right;
++ continue;
++ }
++ e = rb_entry(this, struct size_entry, rb);
++ if (e->inode)
++ iput(e->inode);
++ this = rb_parent(this);
++ if (this) {
++ if (this->rb_left == &e->rb)
++ this->rb_left = NULL;
++ else
++ this->rb_right = NULL;
++ }
++ kfree(e);
++ }
++ c->size_tree = RB_ROOT;
++}
++
++/**
++ * ubifs_recover_size_accum - accumulate inode sizes for recovery.
++ * @c: UBIFS file-system description object
++ * @key: node key
++ * @deletion: node is for a deletion
++ * @new_size: inode size
++ *
++ * This function has two purposes:
++ * 1) to ensure there are no data nodes that fall outside the inode size
++ * 2) to ensure there are no data nodes for inodes that do not exist
++ * To accomplish those purposes, a rb-tree is constructed containing an entry
++ * for each inode number in the journal that has not been deleted, and recording
++ * the size from the inode node, the maximum size of any data node (also altered
++ * by truncations) and a flag indicating a inode number for which no inode node
++ * was present in the journal.
++ *
++ * Note that there is still the possibility that there are data nodes that have
++ * been committed that are beyond the inode size, however the only way to find
++ * them would be to scan the entire index. Alternatively, some provision could
++ * be made to record the size of inodes at the start of commit, which would seem
++ * very cumbersome for a scenario that is quite unlikely and the only negative
++ * consequence of which is wasted space.
++ *
++ * This functions returns %0 on success and a negative error code on failure.
++ */
++int ubifs_recover_size_accum(struct ubifs_info *c, union ubifs_key *key,
++ int deletion, loff_t new_size)
++{
++ ino_t inum = key_inum(c, key);
++ struct size_entry *e;
++ int err;
++
++ switch (key_type(c, key)) {
++ case UBIFS_INO_KEY:
++ if (deletion)
++ remove_ino(c, inum);
++ else {
++ e = find_ino(c, inum);
++ if (e) {
++ e->i_size = new_size;
++ e->exists = 1;
++ } else {
++ err = add_ino(c, inum, new_size, 0, 1);
++ if (err)
++ return err;
++ }
++ }
++ break;
++ case UBIFS_DATA_KEY:
++ e = find_ino(c, inum);
++ if (e) {
++ if (new_size > e->d_size)
++ e->d_size = new_size;
++ } else {
++ err = add_ino(c, inum, 0, new_size, 0);
++ if (err)
++ return err;
++ }
++ break;
++ case UBIFS_TRUN_KEY:
++ e = find_ino(c, inum);
++ if (e)
++ e->d_size = new_size;
++ break;
++ }
++ return 0;
++}
++
++/**
++ * fix_size_in_place - fix inode size in place on flash.
++ * @c: UBIFS file-system description object
++ * @e: inode size information for recovery
++ */
++static int fix_size_in_place(struct ubifs_info *c, struct size_entry *e)
++{
++ struct ubifs_ino_node *ino = c->sbuf;
++ unsigned char *p;
++ union ubifs_key key;
++ int err, lnum, offs, len;
++ loff_t i_size;
++ uint32_t crc;
++
++ /* Locate the inode node LEB number and offset */
++ ino_key_init(c, &key, e->inum);
++ err = ubifs_tnc_locate(c, &key, ino, &lnum, &offs);
++ if (err)
++ goto out;
++ /*
++ * If the size recorded on the inode node is greater than the size that
++ * was calculated from nodes in the journal then don't change the inode.
++ */
++ i_size = le64_to_cpu(ino->size);
++ if (i_size >= e->d_size)
++ return 0;
++ /* Read the LEB */
++ err = ubi_read(c->ubi, lnum, c->sbuf, 0, c->leb_size);
++ if (err)
++ goto out;
++ /* Change the size field and recalculate the CRC */
++ ino = c->sbuf + offs;
++ ino->size = cpu_to_le64(e->d_size);
++ len = le32_to_cpu(ino->ch.len);
++ crc = crc32(UBIFS_CRC32_INIT, (void *)ino + 8, len - 8);
++ ino->ch.crc = cpu_to_le32(crc);
++ /* Work out where data in the LEB ends and free space begins */
++ p = c->sbuf;
++ len = c->leb_size - 1;
++ while (p[len] == 0xff)
++ len -= 1;
++ len = ALIGN(len + 1, c->min_io_size);
++ /* Atomically write the fixed LEB back again */
++ err = ubi_leb_change(c->ubi, lnum, c->sbuf, len, UBI_UNKNOWN);
++ if (err)
++ goto out;
++ dbg_rcvry("inode %lu at %d:%d size %lld -> %lld ",
++ (unsigned long)e->inum, lnum, offs, i_size, e->d_size);
++ return 0;
++
++out:
++ ubifs_warn("inode %lu failed to fix size %lld -> %lld error %d",
++ (unsigned long)e->inum, e->i_size, e->d_size, err);
++ return err;
++}
++
++/**
++ * ubifs_recover_size - recover inode size.
++ * @c: UBIFS file-system description object
++ *
++ * This function attempts to fix inode size discrepancies identified by the
++ * 'ubifs_recover_size_accum()' function.
++ *
++ * This functions returns %0 on success and a negative error code on failure.
++ */
++int ubifs_recover_size(struct ubifs_info *c)
++{
++ struct rb_node *this = rb_first(&c->size_tree);
++
++ while (this) {
++ struct size_entry *e;
++ int err;
++
++ e = rb_entry(this, struct size_entry, rb);
++ if (!e->exists) {
++ union ubifs_key key;
++
++ ino_key_init(c, &key, e->inum);
++ err = ubifs_tnc_lookup(c, &key, c->sbuf);
++ if (err && err != -ENOENT)
++ return err;
++ if (err == -ENOENT) {
++ /* Remove data nodes that have no inode */
++ dbg_rcvry("removing ino %lu",
++ (unsigned long)e->inum);
++ err = ubifs_tnc_remove_ino(c, e->inum);
++ if (err)
++ return err;
++ } else {
++ struct ubifs_ino_node *ino = c->sbuf;
++
++ e->exists = 1;
++ e->i_size = le64_to_cpu(ino->size);
++ }
++ }
++ if (e->exists && e->i_size < e->d_size) {
++ if (!e->inode && (c->vfs_sb->s_flags & MS_RDONLY)) {
++ /* Fix the inode size and pin it in memory */
++ struct inode *inode;
++
++ inode = ubifs_iget(c->vfs_sb, e->inum);
++ if (IS_ERR(inode))
++ return PTR_ERR(inode);
++ if (inode->i_size < e->d_size) {
++ dbg_rcvry("ino %lu size %lld -> %lld",
++ (unsigned long)e->inum,
++ e->d_size, inode->i_size);
++ inode->i_size = e->d_size;
++ ubifs_inode(inode)->ui_size = e->d_size;
++ e->inode = inode;
++ this = rb_next(this);
++ continue;
++ }
++ iput(inode);
++ } else {
++ /* Fix the size in place */
++ err = fix_size_in_place(c, e);
++ if (err)
++ return err;
++ if (e->inode)
++ iput(e->inode);
++ }
++ }
++ this = rb_next(this);
++ rb_erase(&e->rb, &c->size_tree);
++ kfree(e);
++ }
++ return 0;
++}
+diff -Nurd linux-2.6.24/fs/ubifs/replay.c ubifs-v2.6.24/fs/ubifs/replay.c
+--- linux-2.6.24/fs/ubifs/replay.c 1970-01-01 02:00:00.000000000 +0200
++++ ubifs-v2.6.24/fs/ubifs/replay.c 2009-04-07 17:14:47.000000000 +0200
+@@ -0,0 +1,1084 @@
++/*
++ * This file is part of UBIFS.
++ *
++ * Copyright (C) 2006-2008 Nokia Corporation.
++ *
++ * This program is free software; you can redistribute it and/or modify it
++ * under the terms of the GNU General Public License version 2 as published by
++ * the Free Software Foundation.
++ *
++ * 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, write to the Free Software Foundation, Inc., 51
++ * Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
++ *
++ * Authors: Adrian Hunter
++ * Artem Bityutskiy (Битюцкий Ðртём)
++ */
++
++/*
++ * This file contains journal replay code. It runs when the file-system is being
++ * mounted and requires no locking.
++ *
++ * The larger is the journal, the longer it takes to scan it, so the longer it
++ * takes to mount UBIFS. This is why the journal has limited size which may be
++ * changed depending on the system requirements. But a larger journal gives
++ * faster I/O speed because it writes the index less frequently. So this is a
++ * trade-off. Also, the journal is indexed by the in-memory index (TNC), so the
++ * larger is the journal, the more memory its index may consume.
++ */
++
++#include "ubifs.h"
++
++/*
++ * Replay flags.
++ *
++ * REPLAY_DELETION: node was deleted
++ * REPLAY_REF: node is a reference node
++ */
++enum {
++ REPLAY_DELETION = 1,
++ REPLAY_REF = 2,
++};
++
++/**
++ * struct replay_entry - replay tree entry.
++ * @lnum: logical eraseblock number of the node
++ * @offs: node offset
++ * @len: node length
++ * @sqnum: node sequence number
++ * @flags: replay flags
++ * @rb: links the replay tree
++ * @key: node key
++ * @nm: directory entry name
++ * @old_size: truncation old size
++ * @new_size: truncation new size
++ * @free: amount of free space in a bud
++ * @dirty: amount of dirty space in a bud from padding and deletion nodes
++ *
++ * UBIFS journal replay must compare node sequence numbers, which means it must
++ * build a tree of node information to insert into the TNC.
++ */
++struct replay_entry {
++ int lnum;
++ int offs;
++ int len;
++ unsigned long long sqnum;
++ int flags;
++ struct rb_node rb;
++ union ubifs_key key;
++ union {
++ struct qstr nm;
++ struct {
++ loff_t old_size;
++ loff_t new_size;
++ };
++ struct {
++ int free;
++ int dirty;
++ };
++ };
++};
++
++/**
++ * struct bud_entry - entry in the list of buds to replay.
++ * @list: next bud in the list
++ * @bud: bud description object
++ * @free: free bytes in the bud
++ * @sqnum: reference node sequence number
++ */
++struct bud_entry {
++ struct list_head list;
++ struct ubifs_bud *bud;
++ int free;
++ unsigned long long sqnum;
++};
++
++/**
++ * set_bud_lprops - set free and dirty space used by a bud.
++ * @c: UBIFS file-system description object
++ * @r: replay entry of bud
++ */
++static int set_bud_lprops(struct ubifs_info *c, struct replay_entry *r)
++{
++ const struct ubifs_lprops *lp;
++ int err = 0, dirty;
++
++ ubifs_get_lprops(c);
++
++ lp = ubifs_lpt_lookup_dirty(c, r->lnum);
++ if (IS_ERR(lp)) {
++ err = PTR_ERR(lp);
++ goto out;
++ }
++
++ dirty = lp->dirty;
++ if (r->offs == 0 && (lp->free != c->leb_size || lp->dirty != 0)) {
++ /*
++ * The LEB was added to the journal with a starting offset of
++ * zero which means the LEB must have been empty. The LEB
++ * property values should be lp->free == c->leb_size and
++ * lp->dirty == 0, but that is not the case. The reason is that
++ * the LEB was garbage collected. The garbage collector resets
++ * the free and dirty space without recording it anywhere except
++ * lprops, so if there is not a commit then lprops does not have
++ * that information next time the file system is mounted.
++ *
++ * We do not need to adjust free space because the scan has told
++ * us the exact value which is recorded in the replay entry as
++ * r->free.
++ *
++ * However we do need to subtract from the dirty space the
++ * amount of space that the garbage collector reclaimed, which
++ * is the whole LEB minus the amount of space that was free.
++ */
++ dbg_mnt("bud LEB %d was GC'd (%d free, %d dirty)", r->lnum,
++ lp->free, lp->dirty);
++ dbg_gc("bud LEB %d was GC'd (%d free, %d dirty)", r->lnum,
++ lp->free, lp->dirty);
++ dirty -= c->leb_size - lp->free;
++ /*
++ * If the replay order was perfect the dirty space would now be
++ * zero. The order is not perfect because the journal heads
++ * race with each other. This is not a problem but is does mean
++ * that the dirty space may temporarily exceed c->leb_size
++ * during the replay.
++ */
++ if (dirty != 0)
++ dbg_msg("LEB %d lp: %d free %d dirty "
++ "replay: %d free %d dirty", r->lnum, lp->free,
++ lp->dirty, r->free, r->dirty);
++ }
++ lp = ubifs_change_lp(c, lp, r->free, dirty + r->dirty,
++ lp->flags | LPROPS_TAKEN, 0);
++ if (IS_ERR(lp)) {
++ err = PTR_ERR(lp);
++ goto out;
++ }
++out:
++ ubifs_release_lprops(c);
++ return err;
++}
++
++/**
++ * trun_remove_range - apply a replay entry for a truncation to the TNC.
++ * @c: UBIFS file-system description object
++ * @r: replay entry of truncation
++ */
++static int trun_remove_range(struct ubifs_info *c, struct replay_entry *r)
++{
++ unsigned min_blk, max_blk;
++ union ubifs_key min_key, max_key;
++ ino_t ino;
++
++ min_blk = r->new_size / UBIFS_BLOCK_SIZE;
++ if (r->new_size & (UBIFS_BLOCK_SIZE - 1))
++ min_blk += 1;
++
++ max_blk = r->old_size / UBIFS_BLOCK_SIZE;
++ if ((r->old_size & (UBIFS_BLOCK_SIZE - 1)) == 0)
++ max_blk -= 1;
++
++ ino = key_inum(c, &r->key);
++
++ data_key_init(c, &min_key, ino, min_blk);
++ data_key_init(c, &max_key, ino, max_blk);
++
++ return ubifs_tnc_remove_range(c, &min_key, &max_key);
++}
++
++/**
++ * apply_replay_entry - apply a replay entry to the TNC.
++ * @c: UBIFS file-system description object
++ * @r: replay entry to apply
++ *
++ * Apply a replay entry to the TNC.
++ */
++static int apply_replay_entry(struct ubifs_info *c, struct replay_entry *r)
++{
++ int err, deletion = ((r->flags & REPLAY_DELETION) != 0);
++
++ dbg_mnt("LEB %d:%d len %d flgs %d sqnum %llu %s", r->lnum,
++ r->offs, r->len, r->flags, r->sqnum, DBGKEY(&r->key));
++
++ /* Set c->replay_sqnum to help deal with dangling branches. */
++ c->replay_sqnum = r->sqnum;
++
++ if (r->flags & REPLAY_REF)
++ err = set_bud_lprops(c, r);
++ else if (is_hash_key(c, &r->key)) {
++ if (deletion)
++ err = ubifs_tnc_remove_nm(c, &r->key, &r->nm);
++ else
++ err = ubifs_tnc_add_nm(c, &r->key, r->lnum, r->offs,
++ r->len, &r->nm);
++ } else {
++ if (deletion)
++ switch (key_type(c, &r->key)) {
++ case UBIFS_INO_KEY:
++ {
++ ino_t inum = key_inum(c, &r->key);
++
++ err = ubifs_tnc_remove_ino(c, inum);
++ break;
++ }
++ case UBIFS_TRUN_KEY:
++ err = trun_remove_range(c, r);
++ break;
++ default:
++ err = ubifs_tnc_remove(c, &r->key);
++ break;
++ }
++ else
++ err = ubifs_tnc_add(c, &r->key, r->lnum, r->offs,
++ r->len);
++ if (err)
++ return err;
++
++ if (c->need_recovery)
++ err = ubifs_recover_size_accum(c, &r->key, deletion,
++ r->new_size);
++ }
++
++ return err;
++}
++
++/**
++ * destroy_replay_tree - destroy the replay.
++ * @c: UBIFS file-system description object
++ *
++ * Destroy the replay tree.
++ */
++static void destroy_replay_tree(struct ubifs_info *c)
++{
++ struct rb_node *this = c->replay_tree.rb_node;
++ struct replay_entry *r;
++
++ while (this) {
++ if (this->rb_left) {
++ this = this->rb_left;
++ continue;
++ } else if (this->rb_right) {
++ this = this->rb_right;
++ continue;
++ }
++ r = rb_entry(this, struct replay_entry, rb);
++ this = rb_parent(this);
++ if (this) {
++ if (this->rb_left == &r->rb)
++ this->rb_left = NULL;
++ else
++ this->rb_right = NULL;
++ }
++ if (is_hash_key(c, &r->key))
++ kfree(r->nm.name);
++ kfree(r);
++ }
++ c->replay_tree = RB_ROOT;
++}
++
++/**
++ * apply_replay_tree - apply the replay tree to the TNC.
++ * @c: UBIFS file-system description object
++ *
++ * Apply the replay tree.
++ * Returns zero in case of success and a negative error code in case of
++ * failure.
++ */
++static int apply_replay_tree(struct ubifs_info *c)
++{
++ struct rb_node *this = rb_first(&c->replay_tree);
++
++ while (this) {
++ struct replay_entry *r;
++ int err;
++
++ cond_resched();
++
++ r = rb_entry(this, struct replay_entry, rb);
++ err = apply_replay_entry(c, r);
++ if (err)
++ return err;
++ this = rb_next(this);
++ }
++ return 0;
++}
++
++/**
++ * insert_node - insert a node to the replay tree.
++ * @c: UBIFS file-system description object
++ * @lnum: node logical eraseblock number
++ * @offs: node offset
++ * @len: node length
++ * @key: node key
++ * @sqnum: sequence number
++ * @deletion: non-zero if this is a deletion
++ * @used: number of bytes in use in a LEB
++ * @old_size: truncation old size
++ * @new_size: truncation new size
++ *
++ * This function inserts a scanned non-direntry node to the replay tree. The
++ * replay tree is an RB-tree containing @struct replay_entry elements which are
++ * indexed by the sequence number. The replay tree is applied at the very end
++ * of the replay process. Since the tree is sorted in sequence number order,
++ * the older modifications are applied first. This function returns zero in
++ * case of success and a negative error code in case of failure.
++ */
++static int insert_node(struct ubifs_info *c, int lnum, int offs, int len,
++ union ubifs_key *key, unsigned long long sqnum,
++ int deletion, int *used, loff_t old_size,
++ loff_t new_size)
++{
++ struct rb_node **p = &c->replay_tree.rb_node, *parent = NULL;
++ struct replay_entry *r;
++
++ if (key_inum(c, key) >= c->highest_inum)
++ c->highest_inum = key_inum(c, key);
++
++ dbg_mnt("add LEB %d:%d, key %s", lnum, offs, DBGKEY(key));
++ while (*p) {
++ parent = *p;
++ r = rb_entry(parent, struct replay_entry, rb);
++ if (sqnum < r->sqnum) {
++ p = &(*p)->rb_left;
++ continue;
++ } else if (sqnum > r->sqnum) {
++ p = &(*p)->rb_right;
++ continue;
++ }
++ ubifs_err("duplicate sqnum in replay");
++ return -EINVAL;
++ }
++
++ r = kzalloc(sizeof(struct replay_entry), GFP_KERNEL);
++ if (!r)
++ return -ENOMEM;
++
++ if (!deletion)
++ *used += ALIGN(len, 8);
++ r->lnum = lnum;
++ r->offs = offs;
++ r->len = len;
++ r->sqnum = sqnum;
++ r->flags = (deletion ? REPLAY_DELETION : 0);
++ r->old_size = old_size;
++ r->new_size = new_size;
++ key_copy(c, key, &r->key);
++
++ rb_link_node(&r->rb, parent, p);
++ rb_insert_color(&r->rb, &c->replay_tree);
++ return 0;
++}
++
++/**
++ * insert_dent - insert a directory entry node into the replay tree.
++ * @c: UBIFS file-system description object
++ * @lnum: node logical eraseblock number
++ * @offs: node offset
++ * @len: node length
++ * @key: node key
++ * @name: directory entry name
++ * @nlen: directory entry name length
++ * @sqnum: sequence number
++ * @deletion: non-zero if this is a deletion
++ * @used: number of bytes in use in a LEB
++ *
++ * This function inserts a scanned directory entry node to the replay tree.
++ * Returns zero in case of success and a negative error code in case of
++ * failure.
++ *
++ * This function is also used for extended attribute entries because they are
++ * implemented as directory entry nodes.
++ */
++static int insert_dent(struct ubifs_info *c, int lnum, int offs, int len,
++ union ubifs_key *key, const char *name, int nlen,
++ unsigned long long sqnum, int deletion, int *used)
++{
++ struct rb_node **p = &c->replay_tree.rb_node, *parent = NULL;
++ struct replay_entry *r;
++ char *nbuf;
++
++ if (key_inum(c, key) >= c->highest_inum)
++ c->highest_inum = key_inum(c, key);
++
++ dbg_mnt("add LEB %d:%d, key %s", lnum, offs, DBGKEY(key));
++ while (*p) {
++ parent = *p;
++ r = rb_entry(parent, struct replay_entry, rb);
++ if (sqnum < r->sqnum) {
++ p = &(*p)->rb_left;
++ continue;
++ }
++ if (sqnum > r->sqnum) {
++ p = &(*p)->rb_right;
++ continue;
++ }
++ ubifs_err("duplicate sqnum in replay");
++ return -EINVAL;
++ }
++
++ r = kzalloc(sizeof(struct replay_entry), GFP_KERNEL);
++ if (!r)
++ return -ENOMEM;
++ nbuf = kmalloc(nlen + 1, GFP_KERNEL);
++ if (!nbuf) {
++ kfree(r);
++ return -ENOMEM;
++ }
++
++ if (!deletion)
++ *used += ALIGN(len, 8);
++ r->lnum = lnum;
++ r->offs = offs;
++ r->len = len;
++ r->sqnum = sqnum;
++ r->nm.len = nlen;
++ memcpy(nbuf, name, nlen);
++ nbuf[nlen] = '\0';
++ r->nm.name = nbuf;
++ r->flags = (deletion ? REPLAY_DELETION : 0);
++ key_copy(c, key, &r->key);
++
++ ubifs_assert(!*p);
++ rb_link_node(&r->rb, parent, p);
++ rb_insert_color(&r->rb, &c->replay_tree);
++ return 0;
++}
++
++/**
++ * ubifs_validate_entry - validate directory or extended attribute entry node.
++ * @c: UBIFS file-system description object
++ * @dent: the node to validate
++ *
++ * This function validates directory or extended attribute entry node @dent.
++ * Returns zero if the node is all right and a %-EINVAL if not.
++ */
++int ubifs_validate_entry(struct ubifs_info *c,
++ const struct ubifs_dent_node *dent)
++{
++ int key_type = key_type_flash(c, dent->key);
++ int nlen = le16_to_cpu(dent->nlen);
++
++ if (le32_to_cpu(dent->ch.len) != nlen + UBIFS_DENT_NODE_SZ + 1 ||
++ dent->type >= UBIFS_ITYPES_CNT ||
++ nlen > UBIFS_MAX_NLEN || dent->name[nlen] != 0 ||
++ strnlen(dent->name, nlen) != nlen ||
++ le64_to_cpu(dent->inum) > MAX_INUM) {
++ ubifs_err("bad %s node", key_type == UBIFS_DENT_KEY ?
++ "directory entry" : "extended attribute entry");
++ return -EINVAL;
++ }
++
++ if (key_type != UBIFS_DENT_KEY && key_type != UBIFS_XENT_KEY) {
++ ubifs_err("bad key type %d", key_type);
++ return -EINVAL;
++ }
++
++ return 0;
++}
++
++/**
++ * replay_bud - replay a bud logical eraseblock.
++ * @c: UBIFS file-system description object
++ * @lnum: bud logical eraseblock number to replay
++ * @offs: bud start offset
++ * @jhead: journal head to which this bud belongs
++ * @free: amount of free space in the bud is returned here
++ * @dirty: amount of dirty space from padding and deletion nodes is returned
++ * here
++ *
++ * This function returns zero in case of success and a negative error code in
++ * case of failure.
++ */
++static int replay_bud(struct ubifs_info *c, int lnum, int offs, int jhead,
++ int *free, int *dirty)
++{
++ int err = 0, used = 0;
++ struct ubifs_scan_leb *sleb;
++ struct ubifs_scan_node *snod;
++ struct ubifs_bud *bud;
++
++ dbg_mnt("replay bud LEB %d, head %d", lnum, jhead);
++ if (c->need_recovery)
++ sleb = ubifs_recover_leb(c, lnum, offs, c->sbuf, jhead != GCHD);
++ else
++ sleb = ubifs_scan(c, lnum, offs, c->sbuf);
++ if (IS_ERR(sleb))
++ return PTR_ERR(sleb);
++
++ /*
++ * The bud does not have to start from offset zero - the beginning of
++ * the 'lnum' LEB may contain previously committed data. One of the
++ * things we have to do in replay is to correctly update lprops with
++ * newer information about this LEB.
++ *
++ * At this point lprops thinks that this LEB has 'c->leb_size - offs'
++ * bytes of free space because it only contain information about
++ * committed data.
++ *
++ * But we know that real amount of free space is 'c->leb_size -
++ * sleb->endpt', and the space in the 'lnum' LEB between 'offs' and
++ * 'sleb->endpt' is used by bud data. We have to correctly calculate
++ * how much of these data are dirty and update lprops with this
++ * information.
++ *
++ * The dirt in that LEB region is comprised of padding nodes, deletion
++ * nodes, truncation nodes and nodes which are obsoleted by subsequent
++ * nodes in this LEB. So instead of calculating clean space, we
++ * calculate used space ('used' variable).
++ */
++
++ list_for_each_entry(snod, &sleb->nodes, list) {
++ int deletion = 0;
++
++ cond_resched();
++
++ if (snod->sqnum >= SQNUM_WATERMARK) {
++ ubifs_err("file system's life ended");
++ goto out_dump;
++ }
++
++ if (snod->sqnum > c->max_sqnum)
++ c->max_sqnum = snod->sqnum;
++
++ switch (snod->type) {
++ case UBIFS_INO_NODE:
++ {
++ struct ubifs_ino_node *ino = snod->node;
++ loff_t new_size = le64_to_cpu(ino->size);
++
++ if (le32_to_cpu(ino->nlink) == 0)
++ deletion = 1;
++ err = insert_node(c, lnum, snod->offs, snod->len,
++ &snod->key, snod->sqnum, deletion,
++ &used, 0, new_size);
++ break;
++ }
++ case UBIFS_DATA_NODE:
++ {
++ struct ubifs_data_node *dn = snod->node;
++ loff_t new_size = le32_to_cpu(dn->size) +
++ key_block(c, &snod->key) *
++ UBIFS_BLOCK_SIZE;
++
++ err = insert_node(c, lnum, snod->offs, snod->len,
++ &snod->key, snod->sqnum, deletion,
++ &used, 0, new_size);
++ break;
++ }
++ case UBIFS_DENT_NODE:
++ case UBIFS_XENT_NODE:
++ {
++ struct ubifs_dent_node *dent = snod->node;
++
++ err = ubifs_validate_entry(c, dent);
++ if (err)
++ goto out_dump;
++
++ err = insert_dent(c, lnum, snod->offs, snod->len,
++ &snod->key, dent->name,
++ le16_to_cpu(dent->nlen), snod->sqnum,
++ !le64_to_cpu(dent->inum), &used);
++ break;
++ }
++ case UBIFS_TRUN_NODE:
++ {
++ struct ubifs_trun_node *trun = snod->node;
++ loff_t old_size = le64_to_cpu(trun->old_size);
++ loff_t new_size = le64_to_cpu(trun->new_size);
++ union ubifs_key key;
++
++ /* Validate truncation node */
++ if (old_size < 0 || old_size > c->max_inode_sz ||
++ new_size < 0 || new_size > c->max_inode_sz ||
++ old_size <= new_size) {
++ ubifs_err("bad truncation node");
++ goto out_dump;
++ }
++
++ /*
++ * Create a fake truncation key just to use the same
++ * functions which expect nodes to have keys.
++ */
++ trun_key_init(c, &key, le32_to_cpu(trun->inum));
++ err = insert_node(c, lnum, snod->offs, snod->len,
++ &key, snod->sqnum, 1, &used,
++ old_size, new_size);
++ break;
++ }
++ default:
++ ubifs_err("unexpected node type %d in bud LEB %d:%d",
++ snod->type, lnum, snod->offs);
++ err = -EINVAL;
++ goto out_dump;
++ }
++ if (err)
++ goto out;
++ }
++
++ bud = ubifs_search_bud(c, lnum);
++ if (!bud)
++ BUG();
++
++ ubifs_assert(sleb->endpt - offs >= used);
++ ubifs_assert(sleb->endpt % c->min_io_size == 0);
++
++ if (sleb->endpt + c->min_io_size <= c->leb_size &&
++ !(c->vfs_sb->s_flags & MS_RDONLY))
++ err = ubifs_wbuf_seek_nolock(&c->jheads[jhead].wbuf, lnum,
++ sleb->endpt, UBI_SHORTTERM);
++
++ *dirty = sleb->endpt - offs - used;
++ *free = c->leb_size - sleb->endpt;
++
++out:
++ ubifs_scan_destroy(sleb);
++ return err;
++
++out_dump:
++ ubifs_err("bad node is at LEB %d:%d", lnum, snod->offs);
++ dbg_dump_node(c, snod->node);
++ ubifs_scan_destroy(sleb);
++ return -EINVAL;
++}
++
++/**
++ * insert_ref_node - insert a reference node to the replay tree.
++ * @c: UBIFS file-system description object
++ * @lnum: node logical eraseblock number
++ * @offs: node offset
++ * @sqnum: sequence number
++ * @free: amount of free space in bud
++ * @dirty: amount of dirty space from padding and deletion nodes
++ *
++ * This function inserts a reference node to the replay tree and returns zero
++ * in case of success or a negative error code in case of failure.
++ */
++static int insert_ref_node(struct ubifs_info *c, int lnum, int offs,
++ unsigned long long sqnum, int free, int dirty)
++{
++ struct rb_node **p = &c->replay_tree.rb_node, *parent = NULL;
++ struct replay_entry *r;
++
++ dbg_mnt("add ref LEB %d:%d", lnum, offs);
++ while (*p) {
++ parent = *p;
++ r = rb_entry(parent, struct replay_entry, rb);
++ if (sqnum < r->sqnum) {
++ p = &(*p)->rb_left;
++ continue;
++ } else if (sqnum > r->sqnum) {
++ p = &(*p)->rb_right;
++ continue;
++ }
++ ubifs_err("duplicate sqnum in replay tree");
++ return -EINVAL;
++ }
++
++ r = kzalloc(sizeof(struct replay_entry), GFP_KERNEL);
++ if (!r)
++ return -ENOMEM;
++
++ r->lnum = lnum;
++ r->offs = offs;
++ r->sqnum = sqnum;
++ r->flags = REPLAY_REF;
++ r->free = free;
++ r->dirty = dirty;
++
++ rb_link_node(&r->rb, parent, p);
++ rb_insert_color(&r->rb, &c->replay_tree);
++ return 0;
++}
++
++/**
++ * replay_buds - replay all buds.
++ * @c: UBIFS file-system description object
++ *
++ * This function returns zero in case of success and a negative error code in
++ * case of failure.
++ */
++static int replay_buds(struct ubifs_info *c)
++{
++ struct bud_entry *b;
++ int err, uninitialized_var(free), uninitialized_var(dirty);
++
++ list_for_each_entry(b, &c->replay_buds, list) {
++ err = replay_bud(c, b->bud->lnum, b->bud->start, b->bud->jhead,
++ &free, &dirty);
++ if (err)
++ return err;
++ err = insert_ref_node(c, b->bud->lnum, b->bud->start, b->sqnum,
++ free, dirty);
++ if (err)
++ return err;
++ }
++
++ return 0;
++}
++
++/**
++ * destroy_bud_list - destroy the list of buds to replay.
++ * @c: UBIFS file-system description object
++ */
++static void destroy_bud_list(struct ubifs_info *c)
++{
++ struct bud_entry *b;
++
++ while (!list_empty(&c->replay_buds)) {
++ b = list_entry(c->replay_buds.next, struct bud_entry, list);
++ list_del(&b->list);
++ kfree(b);
++ }
++}
++
++/**
++ * add_replay_bud - add a bud to the list of buds to replay.
++ * @c: UBIFS file-system description object
++ * @lnum: bud logical eraseblock number to replay
++ * @offs: bud start offset
++ * @jhead: journal head to which this bud belongs
++ * @sqnum: reference node sequence number
++ *
++ * This function returns zero in case of success and a negative error code in
++ * case of failure.
++ */
++static int add_replay_bud(struct ubifs_info *c, int lnum, int offs, int jhead,
++ unsigned long long sqnum)
++{
++ struct ubifs_bud *bud;
++ struct bud_entry *b;
++
++ dbg_mnt("add replay bud LEB %d:%d, head %d", lnum, offs, jhead);
++
++ bud = kmalloc(sizeof(struct ubifs_bud), GFP_KERNEL);
++ if (!bud)
++ return -ENOMEM;
++
++ b = kmalloc(sizeof(struct bud_entry), GFP_KERNEL);
++ if (!b) {
++ kfree(bud);
++ return -ENOMEM;
++ }
++
++ bud->lnum = lnum;
++ bud->start = offs;
++ bud->jhead = jhead;
++ ubifs_add_bud(c, bud);
++
++ b->bud = bud;
++ b->sqnum = sqnum;
++ list_add_tail(&b->list, &c->replay_buds);
++
++ return 0;
++}
++
++/**
++ * validate_ref - validate a reference node.
++ * @c: UBIFS file-system description object
++ * @ref: the reference node to validate
++ * @ref_lnum: LEB number of the reference node
++ * @ref_offs: reference node offset
++ *
++ * This function returns %1 if a bud reference already exists for the LEB. %0 is
++ * returned if the reference node is new, otherwise %-EINVAL is returned if
++ * validation failed.
++ */
++static int validate_ref(struct ubifs_info *c, const struct ubifs_ref_node *ref)
++{
++ struct ubifs_bud *bud;
++ int lnum = le32_to_cpu(ref->lnum);
++ unsigned int offs = le32_to_cpu(ref->offs);
++ unsigned int jhead = le32_to_cpu(ref->jhead);
++
++ /*
++ * ref->offs may point to the end of LEB when the journal head points
++ * to the end of LEB and we write reference node for it during commit.
++ * So this is why we require 'offs > c->leb_size'.
++ */
++ if (jhead >= c->jhead_cnt || lnum >= c->leb_cnt ||
++ lnum < c->main_first || offs > c->leb_size ||
++ offs & (c->min_io_size - 1))
++ return -EINVAL;
++
++ /* Make sure we have not already looked at this bud */
++ bud = ubifs_search_bud(c, lnum);
++ if (bud) {
++ if (bud->jhead == jhead && bud->start <= offs)
++ return 1;
++ ubifs_err("bud at LEB %d:%d was already referred", lnum, offs);
++ return -EINVAL;
++ }
++
++ return 0;
++}
++
++/**
++ * replay_log_leb - replay a log logical eraseblock.
++ * @c: UBIFS file-system description object
++ * @lnum: log logical eraseblock to replay
++ * @offs: offset to start replaying from
++ * @sbuf: scan buffer
++ *
++ * This function replays a log LEB and returns zero in case of success, %1 if
++ * this is the last LEB in the log, and a negative error code in case of
++ * failure.
++ */
++static int replay_log_leb(struct ubifs_info *c, int lnum, int offs, void *sbuf)
++{
++ int err;
++ struct ubifs_scan_leb *sleb;
++ struct ubifs_scan_node *snod;
++ const struct ubifs_cs_node *node;
++
++ dbg_mnt("replay log LEB %d:%d", lnum, offs);
++ sleb = ubifs_scan(c, lnum, offs, sbuf);
++ if (IS_ERR(sleb)) {
++ if (c->need_recovery)
++ sleb = ubifs_recover_log_leb(c, lnum, offs, sbuf);
++ if (IS_ERR(sleb))
++ return PTR_ERR(sleb);
++ }
++
++ if (sleb->nodes_cnt == 0) {
++ err = 1;
++ goto out;
++ }
++
++ node = sleb->buf;
++
++ snod = list_entry(sleb->nodes.next, struct ubifs_scan_node, list);
++ if (c->cs_sqnum == 0) {
++ /*
++ * This is the first log LEB we are looking at, make sure that
++ * the first node is a commit start node. Also record its
++ * sequence number so that UBIFS can determine where the log
++ * ends, because all nodes which were have higher sequence
++ * numbers.
++ */
++ if (snod->type != UBIFS_CS_NODE) {
++ dbg_err("first log node at LEB %d:%d is not CS node",
++ lnum, offs);
++ goto out_dump;
++ }
++ if (le64_to_cpu(node->cmt_no) != c->cmt_no) {
++ dbg_err("first CS node at LEB %d:%d has wrong "
++ "commit number %llu expected %llu",
++ lnum, offs,
++ (unsigned long long)le64_to_cpu(node->cmt_no),
++ c->cmt_no);
++ goto out_dump;
++ }
++
++ c->cs_sqnum = le64_to_cpu(node->ch.sqnum);
++ dbg_mnt("commit start sqnum %llu", c->cs_sqnum);
++ }
++
++ if (snod->sqnum < c->cs_sqnum) {
++ /*
++ * This means that we reached end of log and now
++ * look to the older log data, which was already
++ * committed but the eraseblock was not erased (UBIFS
++ * only un-maps it). So this basically means we have to
++ * exit with "end of log" code.
++ */
++ err = 1;
++ goto out;
++ }
++
++ /* Make sure the first node sits at offset zero of the LEB */
++ if (snod->offs != 0) {
++ dbg_err("first node is not at zero offset");
++ goto out_dump;
++ }
++
++ list_for_each_entry(snod, &sleb->nodes, list) {
++
++ cond_resched();
++
++ if (snod->sqnum >= SQNUM_WATERMARK) {
++ ubifs_err("file system's life ended");
++ goto out_dump;
++ }
++
++ if (snod->sqnum < c->cs_sqnum) {
++ dbg_err("bad sqnum %llu, commit sqnum %llu",
++ snod->sqnum, c->cs_sqnum);
++ goto out_dump;
++ }
++
++ if (snod->sqnum > c->max_sqnum)
++ c->max_sqnum = snod->sqnum;
++
++ switch (snod->type) {
++ case UBIFS_REF_NODE: {
++ const struct ubifs_ref_node *ref = snod->node;
++
++ err = validate_ref(c, ref);
++ if (err == 1)
++ break; /* Already have this bud */
++ if (err)
++ goto out_dump;
++
++ err = add_replay_bud(c, le32_to_cpu(ref->lnum),
++ le32_to_cpu(ref->offs),
++ le32_to_cpu(ref->jhead),
++ snod->sqnum);
++ if (err)
++ goto out;
++
++ break;
++ }
++ case UBIFS_CS_NODE:
++ /* Make sure it sits at the beginning of LEB */
++ if (snod->offs != 0) {
++ ubifs_err("unexpected node in log");
++ goto out_dump;
++ }
++ break;
++ default:
++ ubifs_err("unexpected node in log");
++ goto out_dump;
++ }
++ }
++
++ if (sleb->endpt || c->lhead_offs >= c->leb_size) {
++ c->lhead_lnum = lnum;
++ c->lhead_offs = sleb->endpt;
++ }
++
++ err = !sleb->endpt;
++out:
++ ubifs_scan_destroy(sleb);
++ return err;
++
++out_dump:
++ ubifs_err("log error detected while replying the log at LEB %d:%d",
++ lnum, offs + snod->offs);
++ dbg_dump_node(c, snod->node);
++ ubifs_scan_destroy(sleb);
++ return -EINVAL;
++}
++
++/**
++ * take_ihead - update the status of the index head in lprops to 'taken'.
++ * @c: UBIFS file-system description object
++ *
++ * This function returns the amount of free space in the index head LEB or a
++ * negative error code.
++ */
++static int take_ihead(struct ubifs_info *c)
++{
++ const struct ubifs_lprops *lp;
++ int err, free;
++
++ ubifs_get_lprops(c);
++
++ lp = ubifs_lpt_lookup_dirty(c, c->ihead_lnum);
++ if (IS_ERR(lp)) {
++ err = PTR_ERR(lp);
++ goto out;
++ }
++
++ free = lp->free;
++
++ lp = ubifs_change_lp(c, lp, LPROPS_NC, LPROPS_NC,
++ lp->flags | LPROPS_TAKEN, 0);
++ if (IS_ERR(lp)) {
++ err = PTR_ERR(lp);
++ goto out;
++ }
++
++ err = free;
++out:
++ ubifs_release_lprops(c);
++ return err;
++}
++
++/**
++ * ubifs_replay_journal - replay journal.
++ * @c: UBIFS file-system description object
++ *
++ * This function scans the journal, replays and cleans it up. It makes sure all
++ * memory data structures related to uncommitted journal are built (dirty TNC
++ * tree, tree of buds, modified lprops, etc).
++ */
++int ubifs_replay_journal(struct ubifs_info *c)
++{
++ int err, i, lnum, offs, free;
++ void *sbuf = NULL;
++
++ BUILD_BUG_ON(UBIFS_TRUN_KEY > 5);
++
++ /* Update the status of the index head in lprops to 'taken' */
++ free = take_ihead(c);
++ if (free < 0)
++ return free; /* Error code */
++
++ if (c->ihead_offs != c->leb_size - free) {
++ ubifs_err("bad index head LEB %d:%d", c->ihead_lnum,
++ c->ihead_offs);
++ return -EINVAL;
++ }
++
++ sbuf = vmalloc(c->leb_size);
++ if (!sbuf)
++ return -ENOMEM;
++
++ dbg_mnt("start replaying the journal");
++
++ c->replaying = 1;
++
++ lnum = c->ltail_lnum = c->lhead_lnum;
++ offs = c->lhead_offs;
++
++ for (i = 0; i < c->log_lebs; i++, lnum++) {
++ if (lnum >= UBIFS_LOG_LNUM + c->log_lebs) {
++ /*
++ * The log is logically circular, we reached the last
++ * LEB, switch to the first one.
++ */
++ lnum = UBIFS_LOG_LNUM;
++ offs = 0;
++ }
++ err = replay_log_leb(c, lnum, offs, sbuf);
++ if (err == 1)
++ /* We hit the end of the log */
++ break;
++ if (err)
++ goto out;
++ offs = 0;
++ }
++
++ err = replay_buds(c);
++ if (err)
++ goto out;
++
++ err = apply_replay_tree(c);
++ if (err)
++ goto out;
++
++ /*
++ * UBIFS budgeting calculations use @c->budg_uncommitted_idx variable
++ * to roughly estimate index growth. Things like @c->min_idx_lebs
++ * depend on it. This means we have to initialize it to make sure
++ * budgeting works properly.
++ */
++ c->budg_uncommitted_idx = atomic_long_read(&c->dirty_zn_cnt);
++ c->budg_uncommitted_idx *= c->max_idx_node_sz;
++
++ ubifs_assert(c->bud_bytes <= c->max_bud_bytes || c->need_recovery);
++ dbg_mnt("finished, log head LEB %d:%d, max_sqnum %llu, "
++ "highest_inum %lu", c->lhead_lnum, c->lhead_offs, c->max_sqnum,
++ (unsigned long)c->highest_inum);
++out:
++ destroy_replay_tree(c);
++ destroy_bud_list(c);
++ vfree(sbuf);
++ c->replaying = 0;
++ return err;
++}
+diff -Nurd linux-2.6.24/fs/ubifs/sb.c ubifs-v2.6.24/fs/ubifs/sb.c
+--- linux-2.6.24/fs/ubifs/sb.c 1970-01-01 02:00:00.000000000 +0200
++++ ubifs-v2.6.24/fs/ubifs/sb.c 2009-04-07 17:14:47.000000000 +0200
+@@ -0,0 +1,656 @@
++/*
++ * This file is part of UBIFS.
++ *
++ * Copyright (C) 2006-2008 Nokia Corporation.
++ *
++ * This program is free software; you can redistribute it and/or modify it
++ * under the terms of the GNU General Public License version 2 as published by
++ * the Free Software Foundation.
++ *
++ * 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, write to the Free Software Foundation, Inc., 51
++ * Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
++ *
++ * Authors: Artem Bityutskiy (Битюцкий Ðртём)
++ * Adrian Hunter
++ */
++
++/*
++ * This file implements UBIFS superblock. The superblock is stored at the first
++ * LEB of the volume and is never changed by UBIFS. Only user-space tools may
++ * change it. The superblock node mostly contains geometry information.
++ */
++
++#include "ubifs.h"
++#include <linux/random.h>
++
++/*
++ * Default journal size in logical eraseblocks as a percent of total
++ * flash size.
++ */
++#define DEFAULT_JNL_PERCENT 5
++
++/* Default maximum journal size in bytes */
++#define DEFAULT_MAX_JNL (32*1024*1024)
++
++/* Default indexing tree fanout */
++#define DEFAULT_FANOUT 8
++
++/* Default number of data journal heads */
++#define DEFAULT_JHEADS_CNT 1
++
++/* Default positions of different LEBs in the main area */
++#define DEFAULT_IDX_LEB 0
++#define DEFAULT_DATA_LEB 1
++#define DEFAULT_GC_LEB 2
++
++/* Default number of LEB numbers in LPT's save table */
++#define DEFAULT_LSAVE_CNT 256
++
++/* Default reserved pool size as a percent of maximum free space */
++#define DEFAULT_RP_PERCENT 5
++
++/* The default maximum size of reserved pool in bytes */
++#define DEFAULT_MAX_RP_SIZE (5*1024*1024)
++
++/* Default UBIFS compressor */
++#define DEFAULT_COMPRESSOR UBIFS_COMPR_LZO
++
++/* Default time granularity in nanoseconds */
++#define DEFAULT_TIME_GRAN 1000000000
++
++/**
++ * create_default_filesystem - format empty UBI volume.
++ * @c: UBIFS file-system description object
++ *
++ * This function creates default empty file-system. Returns zero in case of
++ * success and a negative error code in case of failure.
++ */
++static int create_default_filesystem(struct ubifs_info *c)
++{
++ struct ubifs_sb_node *sup;
++ struct ubifs_mst_node *mst;
++ struct ubifs_idx_node *idx;
++ struct ubifs_branch *br;
++ struct ubifs_ino_node *ino;
++ struct ubifs_cs_node *cs;
++ union ubifs_key key;
++ int err, tmp, jnl_lebs, log_lebs, max_buds, main_lebs, main_first;
++ int lpt_lebs, lpt_first, orph_lebs, big_lpt, ino_waste, sup_flags = 0;
++ int min_leb_cnt = UBIFS_MIN_LEB_CNT;
++ long long tmp64, main_bytes;
++ __le64 tmp_le64;
++
++ /* Some functions called from here depend on the @c->key_len filed */
++ c->key_len = UBIFS_SK_LEN;
++
++ /*
++ * First of all, we have to calculate default file-system geometry -
++ * log size, journal size, etc.
++ */
++ if (c->leb_cnt < 0x7FFFFFFF / DEFAULT_JNL_PERCENT)
++ /* We can first multiply then divide and have no overflow */
++ jnl_lebs = c->leb_cnt * DEFAULT_JNL_PERCENT / 100;
++ else
++ jnl_lebs = (c->leb_cnt / 100) * DEFAULT_JNL_PERCENT;
++
++ if (jnl_lebs < UBIFS_MIN_JNL_LEBS)
++ jnl_lebs = UBIFS_MIN_JNL_LEBS;
++ if (jnl_lebs * c->leb_size > DEFAULT_MAX_JNL)
++ jnl_lebs = DEFAULT_MAX_JNL / c->leb_size;
++
++ /*
++ * The log should be large enough to fit reference nodes for all bud
++ * LEBs. Because buds do not have to start from the beginning of LEBs
++ * (half of the LEB may contain committed data), the log should
++ * generally be larger, make it twice as large.
++ */
++ tmp = 2 * (c->ref_node_alsz * jnl_lebs) + c->leb_size - 1;
++ log_lebs = tmp / c->leb_size;
++ /* Plus one LEB reserved for commit */
++ log_lebs += 1;
++ if (c->leb_cnt - min_leb_cnt > 8) {
++ /* And some extra space to allow writes while committing */
++ log_lebs += 1;
++ min_leb_cnt += 1;
++ }
++
++ max_buds = jnl_lebs - log_lebs;
++ if (max_buds < UBIFS_MIN_BUD_LEBS)
++ max_buds = UBIFS_MIN_BUD_LEBS;
++
++ /*
++ * Orphan nodes are stored in a separate area. One node can store a lot
++ * of orphan inode numbers, but when new orphan comes we just add a new
++ * orphan node. At some point the nodes are consolidated into one
++ * orphan node.
++ */
++ orph_lebs = UBIFS_MIN_ORPH_LEBS;
++#ifdef CONFIG_UBIFS_FS_DEBUG
++ if (c->leb_cnt - min_leb_cnt > 1)
++ /*
++ * For debugging purposes it is better to have at least 2
++ * orphan LEBs, because the orphan subsystem would need to do
++ * consolidations and would be stressed more.
++ */
++ orph_lebs += 1;
++#endif
++
++ main_lebs = c->leb_cnt - UBIFS_SB_LEBS - UBIFS_MST_LEBS - log_lebs;
++ main_lebs -= orph_lebs;
++
++ lpt_first = UBIFS_LOG_LNUM + log_lebs;
++ c->lsave_cnt = DEFAULT_LSAVE_CNT;
++ c->max_leb_cnt = c->leb_cnt;
++ err = ubifs_create_dflt_lpt(c, &main_lebs, lpt_first, &lpt_lebs,
++ &big_lpt);
++ if (err)
++ return err;
++
++ dbg_gen("LEB Properties Tree created (LEBs %d-%d)", lpt_first,
++ lpt_first + lpt_lebs - 1);
++
++ main_first = c->leb_cnt - main_lebs;
++
++ /* Create default superblock */
++ tmp = ALIGN(UBIFS_SB_NODE_SZ, c->min_io_size);
++ sup = kzalloc(tmp, GFP_KERNEL);
++ if (!sup)
++ return -ENOMEM;
++
++ tmp64 = (long long)max_buds * c->leb_size;
++ if (big_lpt)
++ sup_flags |= UBIFS_FLG_BIGLPT;
++
++ sup->ch.node_type = UBIFS_SB_NODE;
++ sup->key_hash = UBIFS_KEY_HASH_R5;
++ sup->flags = cpu_to_le32(sup_flags);
++ sup->min_io_size = cpu_to_le32(c->min_io_size);
++ sup->leb_size = cpu_to_le32(c->leb_size);
++ sup->leb_cnt = cpu_to_le32(c->leb_cnt);
++ sup->max_leb_cnt = cpu_to_le32(c->max_leb_cnt);
++ sup->max_bud_bytes = cpu_to_le64(tmp64);
++ sup->log_lebs = cpu_to_le32(log_lebs);
++ sup->lpt_lebs = cpu_to_le32(lpt_lebs);
++ sup->orph_lebs = cpu_to_le32(orph_lebs);
++ sup->jhead_cnt = cpu_to_le32(DEFAULT_JHEADS_CNT);
++ sup->fanout = cpu_to_le32(DEFAULT_FANOUT);
++ sup->lsave_cnt = cpu_to_le32(c->lsave_cnt);
++ sup->fmt_version = cpu_to_le32(UBIFS_FORMAT_VERSION);
++ sup->time_gran = cpu_to_le32(DEFAULT_TIME_GRAN);
++ if (c->mount_opts.override_compr)
++ sup->default_compr = cpu_to_le16(c->mount_opts.compr_type);
++ else
++ sup->default_compr = cpu_to_le16(UBIFS_COMPR_LZO);
++
++ generate_random_uuid(sup->uuid);
++
++ main_bytes = (long long)main_lebs * c->leb_size;
++ tmp64 = div_u64(main_bytes * DEFAULT_RP_PERCENT, 100);
++ if (tmp64 > DEFAULT_MAX_RP_SIZE)
++ tmp64 = DEFAULT_MAX_RP_SIZE;
++ sup->rp_size = cpu_to_le64(tmp64);
++ sup->ro_compat_version = cpu_to_le32(UBIFS_RO_COMPAT_VERSION);
++
++ err = ubifs_write_node(c, sup, UBIFS_SB_NODE_SZ, 0, 0, UBI_LONGTERM);
++ kfree(sup);
++ if (err)
++ return err;
++
++ dbg_gen("default superblock created at LEB 0:0");
++
++ /* Create default master node */
++ mst = kzalloc(c->mst_node_alsz, GFP_KERNEL);
++ if (!mst)
++ return -ENOMEM;
++
++ mst->ch.node_type = UBIFS_MST_NODE;
++ mst->log_lnum = cpu_to_le32(UBIFS_LOG_LNUM);
++ mst->highest_inum = cpu_to_le64(UBIFS_FIRST_INO);
++ mst->cmt_no = 0;
++ mst->root_lnum = cpu_to_le32(main_first + DEFAULT_IDX_LEB);
++ mst->root_offs = 0;
++ tmp = ubifs_idx_node_sz(c, 1);
++ mst->root_len = cpu_to_le32(tmp);
++ mst->gc_lnum = cpu_to_le32(main_first + DEFAULT_GC_LEB);
++ mst->ihead_lnum = cpu_to_le32(main_first + DEFAULT_IDX_LEB);
++ mst->ihead_offs = cpu_to_le32(ALIGN(tmp, c->min_io_size));
++ mst->index_size = cpu_to_le64(ALIGN(tmp, 8));
++ mst->lpt_lnum = cpu_to_le32(c->lpt_lnum);
++ mst->lpt_offs = cpu_to_le32(c->lpt_offs);
++ mst->nhead_lnum = cpu_to_le32(c->nhead_lnum);
++ mst->nhead_offs = cpu_to_le32(c->nhead_offs);
++ mst->ltab_lnum = cpu_to_le32(c->ltab_lnum);
++ mst->ltab_offs = cpu_to_le32(c->ltab_offs);
++ mst->lsave_lnum = cpu_to_le32(c->lsave_lnum);
++ mst->lsave_offs = cpu_to_le32(c->lsave_offs);
++ mst->lscan_lnum = cpu_to_le32(main_first);
++ mst->empty_lebs = cpu_to_le32(main_lebs - 2);
++ mst->idx_lebs = cpu_to_le32(1);
++ mst->leb_cnt = cpu_to_le32(c->leb_cnt);
++
++ /* Calculate lprops statistics */
++ tmp64 = main_bytes;
++ tmp64 -= ALIGN(ubifs_idx_node_sz(c, 1), c->min_io_size);
++ tmp64 -= ALIGN(UBIFS_INO_NODE_SZ, c->min_io_size);
++ mst->total_free = cpu_to_le64(tmp64);
++
++ tmp64 = ALIGN(ubifs_idx_node_sz(c, 1), c->min_io_size);
++ ino_waste = ALIGN(UBIFS_INO_NODE_SZ, c->min_io_size) -
++ UBIFS_INO_NODE_SZ;
++ tmp64 += ino_waste;
++ tmp64 -= ALIGN(ubifs_idx_node_sz(c, 1), 8);
++ mst->total_dirty = cpu_to_le64(tmp64);
++
++ /* The indexing LEB does not contribute to dark space */
++ tmp64 = (c->main_lebs - 1) * c->dark_wm;
++ mst->total_dark = cpu_to_le64(tmp64);
++
++ mst->total_used = cpu_to_le64(UBIFS_INO_NODE_SZ);
++
++ err = ubifs_write_node(c, mst, UBIFS_MST_NODE_SZ, UBIFS_MST_LNUM, 0,
++ UBI_UNKNOWN);
++ if (err) {
++ kfree(mst);
++ return err;
++ }
++ err = ubifs_write_node(c, mst, UBIFS_MST_NODE_SZ, UBIFS_MST_LNUM + 1, 0,
++ UBI_UNKNOWN);
++ kfree(mst);
++ if (err)
++ return err;
++
++ dbg_gen("default master node created at LEB %d:0", UBIFS_MST_LNUM);
++
++ /* Create the root indexing node */
++ tmp = ubifs_idx_node_sz(c, 1);
++ idx = kzalloc(ALIGN(tmp, c->min_io_size), GFP_KERNEL);
++ if (!idx)
++ return -ENOMEM;
++
++ c->key_fmt = UBIFS_SIMPLE_KEY_FMT;
++ c->key_hash = key_r5_hash;
++
++ idx->ch.node_type = UBIFS_IDX_NODE;
++ idx->child_cnt = cpu_to_le16(1);
++ ino_key_init(c, &key, UBIFS_ROOT_INO);
++ br = ubifs_idx_branch(c, idx, 0);
++ key_write_idx(c, &key, &br->key);
++ br->lnum = cpu_to_le32(main_first + DEFAULT_DATA_LEB);
++ br->len = cpu_to_le32(UBIFS_INO_NODE_SZ);
++ err = ubifs_write_node(c, idx, tmp, main_first + DEFAULT_IDX_LEB, 0,
++ UBI_UNKNOWN);
++ kfree(idx);
++ if (err)
++ return err;
++
++ dbg_gen("default root indexing node created LEB %d:0",
++ main_first + DEFAULT_IDX_LEB);
++
++ /* Create default root inode */
++ tmp = ALIGN(UBIFS_INO_NODE_SZ, c->min_io_size);
++ ino = kzalloc(tmp, GFP_KERNEL);
++ if (!ino)
++ return -ENOMEM;
++
++ ino_key_init_flash(c, &ino->key, UBIFS_ROOT_INO);
++ ino->ch.node_type = UBIFS_INO_NODE;
++ ino->creat_sqnum = cpu_to_le64(++c->max_sqnum);
++ ino->nlink = cpu_to_le32(2);
++ tmp_le64 = cpu_to_le64(CURRENT_TIME_SEC.tv_sec);
++ ino->atime_sec = tmp_le64;
++ ino->ctime_sec = tmp_le64;
++ ino->mtime_sec = tmp_le64;
++ ino->atime_nsec = 0;
++ ino->ctime_nsec = 0;
++ ino->mtime_nsec = 0;
++ ino->mode = cpu_to_le32(S_IFDIR | S_IRUGO | S_IWUSR | S_IXUGO);
++ ino->size = cpu_to_le64(UBIFS_INO_NODE_SZ);
++
++ /* Set compression enabled by default */
++ ino->flags = cpu_to_le32(UBIFS_COMPR_FL);
++
++ err = ubifs_write_node(c, ino, UBIFS_INO_NODE_SZ,
++ main_first + DEFAULT_DATA_LEB, 0,
++ UBI_UNKNOWN);
++ kfree(ino);
++ if (err)
++ return err;
++
++ dbg_gen("root inode created at LEB %d:0",
++ main_first + DEFAULT_DATA_LEB);
++
++ /*
++ * The first node in the log has to be the commit start node. This is
++ * always the case during normal file-system operation. Write a fake
++ * commit start node to the log.
++ */
++ tmp = ALIGN(UBIFS_CS_NODE_SZ, c->min_io_size);
++ cs = kzalloc(tmp, GFP_KERNEL);
++ if (!cs)
++ return -ENOMEM;
++
++ cs->ch.node_type = UBIFS_CS_NODE;
++ err = ubifs_write_node(c, cs, UBIFS_CS_NODE_SZ, UBIFS_LOG_LNUM,
++ 0, UBI_UNKNOWN);
++ kfree(cs);
++
++ ubifs_msg("default file-system created");
++ return 0;
++}
++
++/**
++ * validate_sb - validate superblock node.
++ * @c: UBIFS file-system description object
++ * @sup: superblock node
++ *
++ * This function validates superblock node @sup. Since most of data was read
++ * from the superblock and stored in @c, the function validates fields in @c
++ * instead. Returns zero in case of success and %-EINVAL in case of validation
++ * failure.
++ */
++static int validate_sb(struct ubifs_info *c, struct ubifs_sb_node *sup)
++{
++ long long max_bytes;
++ int err = 1, min_leb_cnt;
++
++ if (!c->key_hash) {
++ err = 2;
++ goto failed;
++ }
++
++ if (sup->key_fmt != UBIFS_SIMPLE_KEY_FMT) {
++ err = 3;
++ goto failed;
++ }
++
++ if (le32_to_cpu(sup->min_io_size) != c->min_io_size) {
++ ubifs_err("min. I/O unit mismatch: %d in superblock, %d real",
++ le32_to_cpu(sup->min_io_size), c->min_io_size);
++ goto failed;
++ }
++
++ if (le32_to_cpu(sup->leb_size) != c->leb_size) {
++ ubifs_err("LEB size mismatch: %d in superblock, %d real",
++ le32_to_cpu(sup->leb_size), c->leb_size);
++ goto failed;
++ }
++
++ if (c->log_lebs < UBIFS_MIN_LOG_LEBS ||
++ c->lpt_lebs < UBIFS_MIN_LPT_LEBS ||
++ c->orph_lebs < UBIFS_MIN_ORPH_LEBS ||
++ c->main_lebs < UBIFS_MIN_MAIN_LEBS) {
++ err = 4;
++ goto failed;
++ }
++
++ /*
++ * Calculate minimum allowed amount of main area LEBs. This is very
++ * similar to %UBIFS_MIN_LEB_CNT, but we take into account real what we
++ * have just read from the superblock.
++ */
++ min_leb_cnt = UBIFS_SB_LEBS + UBIFS_MST_LEBS + c->log_lebs;
++ min_leb_cnt += c->lpt_lebs + c->orph_lebs + c->jhead_cnt + 6;
++
++ if (c->leb_cnt < min_leb_cnt || c->leb_cnt > c->vi.size) {
++ ubifs_err("bad LEB count: %d in superblock, %d on UBI volume, "
++ "%d minimum required", c->leb_cnt, c->vi.size,
++ min_leb_cnt);
++ goto failed;
++ }
++
++ if (c->max_leb_cnt < c->leb_cnt) {
++ ubifs_err("max. LEB count %d less than LEB count %d",
++ c->max_leb_cnt, c->leb_cnt);
++ goto failed;
++ }
++
++ if (c->main_lebs < UBIFS_MIN_MAIN_LEBS) {
++ err = 7;
++ goto failed;
++ }
++
++ if (c->max_bud_bytes < (long long)c->leb_size * UBIFS_MIN_BUD_LEBS ||
++ c->max_bud_bytes > (long long)c->leb_size * c->main_lebs) {
++ err = 8;
++ goto failed;
++ }
++
++ if (c->jhead_cnt < NONDATA_JHEADS_CNT + 1 ||
++ c->jhead_cnt > NONDATA_JHEADS_CNT + UBIFS_MAX_JHEADS) {
++ err = 9;
++ goto failed;
++ }
++
++ if (c->fanout < UBIFS_MIN_FANOUT ||
++ ubifs_idx_node_sz(c, c->fanout) > c->leb_size) {
++ err = 10;
++ goto failed;
++ }
++
++ if (c->lsave_cnt < 0 || (c->lsave_cnt > DEFAULT_LSAVE_CNT &&
++ c->lsave_cnt > c->max_leb_cnt - UBIFS_SB_LEBS - UBIFS_MST_LEBS -
++ c->log_lebs - c->lpt_lebs - c->orph_lebs)) {
++ err = 11;
++ goto failed;
++ }
++
++ if (UBIFS_SB_LEBS + UBIFS_MST_LEBS + c->log_lebs + c->lpt_lebs +
++ c->orph_lebs + c->main_lebs != c->leb_cnt) {
++ err = 12;
++ goto failed;
++ }
++
++ if (c->default_compr < 0 || c->default_compr >= UBIFS_COMPR_TYPES_CNT) {
++ err = 13;
++ goto failed;
++ }
++
++ max_bytes = c->main_lebs * (long long)c->leb_size;
++ if (c->rp_size < 0 || max_bytes < c->rp_size) {
++ err = 14;
++ goto failed;
++ }
++
++ if (le32_to_cpu(sup->time_gran) > 1000000000 ||
++ le32_to_cpu(sup->time_gran) < 1) {
++ err = 15;
++ goto failed;
++ }
++
++ return 0;
++
++failed:
++ ubifs_err("bad superblock, error %d", err);
++ dbg_dump_node(c, sup);
++ return -EINVAL;
++}
++
++/**
++ * ubifs_read_sb_node - read superblock node.
++ * @c: UBIFS file-system description object
++ *
++ * This function returns a pointer to the superblock node or a negative error
++ * code.
++ */
++struct ubifs_sb_node *ubifs_read_sb_node(struct ubifs_info *c)
++{
++ struct ubifs_sb_node *sup;
++ int err;
++
++ sup = kmalloc(ALIGN(UBIFS_SB_NODE_SZ, c->min_io_size), GFP_NOFS);
++ if (!sup)
++ return ERR_PTR(-ENOMEM);
++
++ err = ubifs_read_node(c, sup, UBIFS_SB_NODE, UBIFS_SB_NODE_SZ,
++ UBIFS_SB_LNUM, 0);
++ if (err) {
++ kfree(sup);
++ return ERR_PTR(err);
++ }
++
++ return sup;
++}
++
++/**
++ * ubifs_write_sb_node - write superblock node.
++ * @c: UBIFS file-system description object
++ * @sup: superblock node read with 'ubifs_read_sb_node()'
++ *
++ * This function returns %0 on success and a negative error code on failure.
++ */
++int ubifs_write_sb_node(struct ubifs_info *c, struct ubifs_sb_node *sup)
++{
++ int len = ALIGN(UBIFS_SB_NODE_SZ, c->min_io_size);
++
++ ubifs_prepare_node(c, sup, UBIFS_SB_NODE_SZ, 1);
++ return ubifs_leb_change(c, UBIFS_SB_LNUM, sup, len, UBI_LONGTERM);
++}
++
++/**
++ * ubifs_read_superblock - read superblock.
++ * @c: UBIFS file-system description object
++ *
++ * This function finds, reads and checks the superblock. If an empty UBI volume
++ * is being mounted, this function creates default superblock. Returns zero in
++ * case of success, and a negative error code in case of failure.
++ */
++int ubifs_read_superblock(struct ubifs_info *c)
++{
++ int err, sup_flags;
++ struct ubifs_sb_node *sup;
++
++ if (c->empty) {
++ err = create_default_filesystem(c);
++ if (err)
++ return err;
++ }
++
++ sup = ubifs_read_sb_node(c);
++ if (IS_ERR(sup))
++ return PTR_ERR(sup);
++
++ c->fmt_version = le32_to_cpu(sup->fmt_version);
++ c->ro_compat_version = le32_to_cpu(sup->ro_compat_version);
++
++ /*
++ * The software supports all previous versions but not future versions,
++ * due to the unavailability of time-travelling equipment.
++ */
++ if (c->fmt_version > UBIFS_FORMAT_VERSION) {
++ struct super_block *sb = c->vfs_sb;
++ int mounting_ro = sb->s_flags & MS_RDONLY;
++
++ ubifs_assert(!c->ro_media || mounting_ro);
++ if (!mounting_ro ||
++ c->ro_compat_version > UBIFS_RO_COMPAT_VERSION) {
++ ubifs_err("on-flash format version is w%d/r%d, but "
++ "software only supports up to version "
++ "w%d/r%d", c->fmt_version,
++ c->ro_compat_version, UBIFS_FORMAT_VERSION,
++ UBIFS_RO_COMPAT_VERSION);
++ if (c->ro_compat_version <= UBIFS_RO_COMPAT_VERSION) {
++ ubifs_msg("only R/O mounting is possible");
++ err = -EROFS;
++ } else
++ err = -EINVAL;
++ goto out;
++ }
++
++ /*
++ * The FS is mounted R/O, and the media format is
++ * R/O-compatible with the UBIFS implementation, so we can
++ * mount.
++ */
++ c->rw_incompat = 1;
++ }
++
++ if (c->fmt_version < 3) {
++ ubifs_err("on-flash format version %d is not supported",
++ c->fmt_version);
++ err = -EINVAL;
++ goto out;
++ }
++
++ switch (sup->key_hash) {
++ case UBIFS_KEY_HASH_R5:
++ c->key_hash = key_r5_hash;
++ c->key_hash_type = UBIFS_KEY_HASH_R5;
++ break;
++
++ case UBIFS_KEY_HASH_TEST:
++ c->key_hash = key_test_hash;
++ c->key_hash_type = UBIFS_KEY_HASH_TEST;
++ break;
++ };
++
++ c->key_fmt = sup->key_fmt;
++
++ switch (c->key_fmt) {
++ case UBIFS_SIMPLE_KEY_FMT:
++ c->key_len = UBIFS_SK_LEN;
++ break;
++ default:
++ ubifs_err("unsupported key format");
++ err = -EINVAL;
++ goto out;
++ }
++
++ c->leb_cnt = le32_to_cpu(sup->leb_cnt);
++ c->max_leb_cnt = le32_to_cpu(sup->max_leb_cnt);
++ c->max_bud_bytes = le64_to_cpu(sup->max_bud_bytes);
++ c->log_lebs = le32_to_cpu(sup->log_lebs);
++ c->lpt_lebs = le32_to_cpu(sup->lpt_lebs);
++ c->orph_lebs = le32_to_cpu(sup->orph_lebs);
++ c->jhead_cnt = le32_to_cpu(sup->jhead_cnt) + NONDATA_JHEADS_CNT;
++ c->fanout = le32_to_cpu(sup->fanout);
++ c->lsave_cnt = le32_to_cpu(sup->lsave_cnt);
++ c->rp_size = le64_to_cpu(sup->rp_size);
++ c->rp_uid = le32_to_cpu(sup->rp_uid);
++ c->rp_gid = le32_to_cpu(sup->rp_gid);
++ sup_flags = le32_to_cpu(sup->flags);
++ if (!c->mount_opts.override_compr)
++ c->default_compr = le16_to_cpu(sup->default_compr);
++
++ c->vfs_sb->s_time_gran = le32_to_cpu(sup->time_gran);
++ memcpy(&c->uuid, &sup->uuid, 16);
++ c->big_lpt = !!(sup_flags & UBIFS_FLG_BIGLPT);
++
++ /* Automatically increase file system size to the maximum size */
++ c->old_leb_cnt = c->leb_cnt;
++ if (c->leb_cnt < c->vi.size && c->leb_cnt < c->max_leb_cnt) {
++ c->leb_cnt = min_t(int, c->max_leb_cnt, c->vi.size);
++ if (c->vfs_sb->s_flags & MS_RDONLY)
++ dbg_mnt("Auto resizing (ro) from %d LEBs to %d LEBs",
++ c->old_leb_cnt, c->leb_cnt);
++ else {
++ dbg_mnt("Auto resizing (sb) from %d LEBs to %d LEBs",
++ c->old_leb_cnt, c->leb_cnt);
++ sup->leb_cnt = cpu_to_le32(c->leb_cnt);
++ err = ubifs_write_sb_node(c, sup);
++ if (err)
++ goto out;
++ c->old_leb_cnt = c->leb_cnt;
++ }
++ }
++
++ c->log_bytes = (long long)c->log_lebs * c->leb_size;
++ c->log_last = UBIFS_LOG_LNUM + c->log_lebs - 1;
++ c->lpt_first = UBIFS_LOG_LNUM + c->log_lebs;
++ c->lpt_last = c->lpt_first + c->lpt_lebs - 1;
++ c->orph_first = c->lpt_last + 1;
++ c->orph_last = c->orph_first + c->orph_lebs - 1;
++ c->main_lebs = c->leb_cnt - UBIFS_SB_LEBS - UBIFS_MST_LEBS;
++ c->main_lebs -= c->log_lebs + c->lpt_lebs + c->orph_lebs;
++ c->main_first = c->leb_cnt - c->main_lebs;
++
++ err = validate_sb(c, sup);
++out:
++ kfree(sup);
++ return err;
++}
+diff -Nurd linux-2.6.24/fs/ubifs/scan.c ubifs-v2.6.24/fs/ubifs/scan.c
+--- linux-2.6.24/fs/ubifs/scan.c 1970-01-01 02:00:00.000000000 +0200
++++ ubifs-v2.6.24/fs/ubifs/scan.c 2009-04-07 17:14:47.000000000 +0200
+@@ -0,0 +1,362 @@
++/*
++ * This file is part of UBIFS.
++ *
++ * Copyright (C) 2006-2008 Nokia Corporation
++ *
++ * This program is free software; you can redistribute it and/or modify it
++ * under the terms of the GNU General Public License version 2 as published by
++ * the Free Software Foundation.
++ *
++ * 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, write to the Free Software Foundation, Inc., 51
++ * Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
++ *
++ * Authors: Adrian Hunter
++ * Artem Bityutskiy (Битюцкий Ðртём)
++ */
++
++/*
++ * This file implements the scan which is a general-purpose function for
++ * determining what nodes are in an eraseblock. The scan is used to replay the
++ * journal, to do garbage collection. for the TNC in-the-gaps method, and by
++ * debugging functions.
++ */
++
++#include "ubifs.h"
++
++/**
++ * scan_padding_bytes - scan for padding bytes.
++ * @buf: buffer to scan
++ * @len: length of buffer
++ *
++ * This function returns the number of padding bytes on success and
++ * %SCANNED_GARBAGE on failure.
++ */
++static int scan_padding_bytes(void *buf, int len)
++{
++ int pad_len = 0, max_pad_len = min_t(int, UBIFS_PAD_NODE_SZ, len);
++ uint8_t *p = buf;
++
++ dbg_scan("not a node");
++
++ while (pad_len < max_pad_len && *p++ == UBIFS_PADDING_BYTE)
++ pad_len += 1;
++
++ if (!pad_len || (pad_len & 7))
++ return SCANNED_GARBAGE;
++
++ dbg_scan("%d padding bytes", pad_len);
++
++ return pad_len;
++}
++
++/**
++ * ubifs_scan_a_node - scan for a node or padding.
++ * @c: UBIFS file-system description object
++ * @buf: buffer to scan
++ * @len: length of buffer
++ * @lnum: logical eraseblock number
++ * @offs: offset within the logical eraseblock
++ * @quiet: print no messages
++ *
++ * This function returns a scanning code to indicate what was scanned.
++ */
++int ubifs_scan_a_node(const struct ubifs_info *c, void *buf, int len, int lnum,
++ int offs, int quiet)
++{
++ struct ubifs_ch *ch = buf;
++ uint32_t magic;
++
++ magic = le32_to_cpu(ch->magic);
++
++ if (magic == 0xFFFFFFFF) {
++ dbg_scan("hit empty space");
++ return SCANNED_EMPTY_SPACE;
++ }
++
++ if (magic != UBIFS_NODE_MAGIC)
++ return scan_padding_bytes(buf, len);
++
++ if (len < UBIFS_CH_SZ)
++ return SCANNED_GARBAGE;
++
++ dbg_scan("scanning %s", dbg_ntype(ch->node_type));
++
++ if (ubifs_check_node(c, buf, lnum, offs, quiet, 1))
++ return SCANNED_A_CORRUPT_NODE;
++
++ if (ch->node_type == UBIFS_PAD_NODE) {
++ struct ubifs_pad_node *pad = buf;
++ int pad_len = le32_to_cpu(pad->pad_len);
++ int node_len = le32_to_cpu(ch->len);
++
++ /* Validate the padding node */
++ if (pad_len < 0 ||
++ offs + node_len + pad_len > c->leb_size) {
++ if (!quiet) {
++ ubifs_err("bad pad node at LEB %d:%d",
++ lnum, offs);
++ dbg_dump_node(c, pad);
++ }
++ return SCANNED_A_BAD_PAD_NODE;
++ }
++
++ /* Make the node pads to 8-byte boundary */
++ if ((node_len + pad_len) & 7) {
++ if (!quiet) {
++ dbg_err("bad padding length %d - %d",
++ offs, offs + node_len + pad_len);
++ }
++ return SCANNED_A_BAD_PAD_NODE;
++ }
++
++ dbg_scan("%d bytes padded, offset now %d",
++ pad_len, ALIGN(offs + node_len + pad_len, 8));
++
++ return node_len + pad_len;
++ }
++
++ return SCANNED_A_NODE;
++}
++
++/**
++ * ubifs_start_scan - create LEB scanning information at start of scan.
++ * @c: UBIFS file-system description object
++ * @lnum: logical eraseblock number
++ * @offs: offset to start at (usually zero)
++ * @sbuf: scan buffer (must be c->leb_size)
++ *
++ * This function returns %0 on success and a negative error code on failure.
++ */
++struct ubifs_scan_leb *ubifs_start_scan(const struct ubifs_info *c, int lnum,
++ int offs, void *sbuf)
++{
++ struct ubifs_scan_leb *sleb;
++ int err;
++
++ dbg_scan("scan LEB %d:%d", lnum, offs);
++
++ sleb = kzalloc(sizeof(struct ubifs_scan_leb), GFP_NOFS);
++ if (!sleb)
++ return ERR_PTR(-ENOMEM);
++
++ sleb->lnum = lnum;
++ INIT_LIST_HEAD(&sleb->nodes);
++ sleb->buf = sbuf;
++
++ err = ubi_read(c->ubi, lnum, sbuf + offs, offs, c->leb_size - offs);
++ if (err && err != -EBADMSG) {
++ ubifs_err("cannot read %d bytes from LEB %d:%d,"
++ " error %d", c->leb_size - offs, lnum, offs, err);
++ kfree(sleb);
++ return ERR_PTR(err);
++ }
++
++ if (err == -EBADMSG)
++ sleb->ecc = 1;
++
++ return sleb;
++}
++
++/**
++ * ubifs_end_scan - update LEB scanning information at end of scan.
++ * @c: UBIFS file-system description object
++ * @sleb: scanning information
++ * @lnum: logical eraseblock number
++ * @offs: offset to start at (usually zero)
++ *
++ * This function returns %0 on success and a negative error code on failure.
++ */
++void ubifs_end_scan(const struct ubifs_info *c, struct ubifs_scan_leb *sleb,
++ int lnum, int offs)
++{
++ lnum = lnum;
++ dbg_scan("stop scanning LEB %d at offset %d", lnum, offs);
++ ubifs_assert(offs % c->min_io_size == 0);
++
++ sleb->endpt = ALIGN(offs, c->min_io_size);
++}
++
++/**
++ * ubifs_add_snod - add a scanned node to LEB scanning information.
++ * @c: UBIFS file-system description object
++ * @sleb: scanning information
++ * @buf: buffer containing node
++ * @offs: offset of node on flash
++ *
++ * This function returns %0 on success and a negative error code on failure.
++ */
++int ubifs_add_snod(const struct ubifs_info *c, struct ubifs_scan_leb *sleb,
++ void *buf, int offs)
++{
++ struct ubifs_ch *ch = buf;
++ struct ubifs_ino_node *ino = buf;
++ struct ubifs_scan_node *snod;
++
++ snod = kzalloc(sizeof(struct ubifs_scan_node), GFP_NOFS);
++ if (!snod)
++ return -ENOMEM;
++
++ snod->sqnum = le64_to_cpu(ch->sqnum);
++ snod->type = ch->node_type;
++ snod->offs = offs;
++ snod->len = le32_to_cpu(ch->len);
++ snod->node = buf;
++
++ switch (ch->node_type) {
++ case UBIFS_INO_NODE:
++ case UBIFS_DENT_NODE:
++ case UBIFS_XENT_NODE:
++ case UBIFS_DATA_NODE:
++ case UBIFS_TRUN_NODE:
++ /*
++ * The key is in the same place in all keyed
++ * nodes.
++ */
++ key_read(c, &ino->key, &snod->key);
++ break;
++ }
++ list_add_tail(&snod->list, &sleb->nodes);
++ sleb->nodes_cnt += 1;
++ return 0;
++}
++
++/**
++ * ubifs_scanned_corruption - print information after UBIFS scanned corruption.
++ * @c: UBIFS file-system description object
++ * @lnum: LEB number of corruption
++ * @offs: offset of corruption
++ * @buf: buffer containing corruption
++ */
++void ubifs_scanned_corruption(const struct ubifs_info *c, int lnum, int offs,
++ void *buf)
++{
++ int len;
++
++ ubifs_err("corrupted data at LEB %d:%d", lnum, offs);
++ if (dbg_failure_mode)
++ return;
++ len = c->leb_size - offs;
++ if (len > 4096)
++ len = 4096;
++ dbg_err("first %d bytes from LEB %d:%d", len, lnum, offs);
++ print_hex_dump(KERN_DEBUG, "", DUMP_PREFIX_OFFSET, 32, 4, buf, len, 1);
++}
++
++/**
++ * ubifs_scan - scan a logical eraseblock.
++ * @c: UBIFS file-system description object
++ * @lnum: logical eraseblock number
++ * @offs: offset to start at (usually zero)
++ * @sbuf: scan buffer (must be c->leb_size)
++ *
++ * This function scans LEB number @lnum and returns complete information about
++ * its contents. Returns an error code in case of failure.
++ */
++struct ubifs_scan_leb *ubifs_scan(const struct ubifs_info *c, int lnum,
++ int offs, void *sbuf)
++{
++ void *buf = sbuf + offs;
++ int err, len = c->leb_size - offs;
++ struct ubifs_scan_leb *sleb;
++
++ sleb = ubifs_start_scan(c, lnum, offs, sbuf);
++ if (IS_ERR(sleb))
++ return sleb;
++
++ while (len >= 8) {
++ struct ubifs_ch *ch = buf;
++ int node_len, ret;
++
++ dbg_scan("look at LEB %d:%d (%d bytes left)",
++ lnum, offs, len);
++
++ cond_resched();
++
++ ret = ubifs_scan_a_node(c, buf, len, lnum, offs, 0);
++
++ if (ret > 0) {
++ /* Padding bytes or a valid padding node */
++ offs += ret;
++ buf += ret;
++ len -= ret;
++ continue;
++ }
++
++ if (ret == SCANNED_EMPTY_SPACE)
++ /* Empty space is checked later */
++ break;
++
++ switch (ret) {
++ case SCANNED_GARBAGE:
++ dbg_err("garbage");
++ goto corrupted;
++ case SCANNED_A_NODE:
++ break;
++ case SCANNED_A_CORRUPT_NODE:
++ case SCANNED_A_BAD_PAD_NODE:
++ dbg_err("bad node");
++ goto corrupted;
++ default:
++ dbg_err("unknown");
++ goto corrupted;
++ }
++
++ err = ubifs_add_snod(c, sleb, buf, offs);
++ if (err)
++ goto error;
++
++ node_len = ALIGN(le32_to_cpu(ch->len), 8);
++ offs += node_len;
++ buf += node_len;
++ len -= node_len;
++ }
++
++ if (offs % c->min_io_size)
++ goto corrupted;
++
++ ubifs_end_scan(c, sleb, lnum, offs);
++
++ for (; len > 4; offs += 4, buf = buf + 4, len -= 4)
++ if (*(uint32_t *)buf != 0xffffffff)
++ break;
++ for (; len; offs++, buf++, len--)
++ if (*(uint8_t *)buf != 0xff) {
++ ubifs_err("corrupt empty space at LEB %d:%d",
++ lnum, offs);
++ goto corrupted;
++ }
++
++ return sleb;
++
++corrupted:
++ ubifs_scanned_corruption(c, lnum, offs, buf);
++ err = -EUCLEAN;
++error:
++ ubifs_err("LEB %d scanning failed", lnum);
++ ubifs_scan_destroy(sleb);
++ return ERR_PTR(err);
++}
++
++/**
++ * ubifs_scan_destroy - destroy LEB scanning information.
++ * @sleb: scanning information to free
++ */
++void ubifs_scan_destroy(struct ubifs_scan_leb *sleb)
++{
++ struct ubifs_scan_node *node;
++ struct list_head *head;
++
++ head = &sleb->nodes;
++ while (!list_empty(head)) {
++ node = list_entry(head->next, struct ubifs_scan_node, list);
++ list_del(&node->list);
++ kfree(node);
++ }
++ kfree(sleb);
++}
+diff -Nurd linux-2.6.24/fs/ubifs/shrinker.c ubifs-v2.6.24/fs/ubifs/shrinker.c
+--- linux-2.6.24/fs/ubifs/shrinker.c 1970-01-01 02:00:00.000000000 +0200
++++ ubifs-v2.6.24/fs/ubifs/shrinker.c 2009-04-07 17:14:47.000000000 +0200
+@@ -0,0 +1,320 @@
++/*
++ * This file is part of UBIFS.
++ *
++ * Copyright (C) 2006-2008 Nokia Corporation.
++ *
++ * This program is free software; you can redistribute it and/or modify it
++ * under the terms of the GNU General Public License version 2 as published by
++ * the Free Software Foundation.
++ *
++ * 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, write to the Free Software Foundation, Inc., 51
++ * Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
++ *
++ * Authors: Artem Bityutskiy (Битюцкий Ðртём)
++ * Adrian Hunter
++ */
++
++/*
++ * This file implements UBIFS shrinker which evicts clean znodes from the TNC
++ * tree when Linux VM needs more RAM.
++ *
++ * We do not implement any LRU lists to find oldest znodes to free because it
++ * would add additional overhead to the file system fast paths. So the shrinker
++ * just walks the TNC tree when searching for znodes to free.
++ *
++ * If the root of a TNC sub-tree is clean and old enough, then the children are
++ * also clean and old enough. So the shrinker walks the TNC in level order and
++ * dumps entire sub-trees.
++ *
++ * The age of znodes is just the time-stamp when they were last looked at.
++ * The current shrinker first tries to evict old znodes, then young ones.
++ *
++ * Since the shrinker is global, it has to protect against races with FS
++ * un-mounts, which is done by the 'ubifs_infos_lock' and 'c->umount_mutex'.
++ */
++
++#include "ubifs.h"
++
++/* List of all UBIFS file-system instances */
++LIST_HEAD(ubifs_infos);
++
++/*
++ * We number each shrinker run and record the number on the ubifs_info structure
++ * so that we can easily work out which ubifs_info structures have already been
++ * done by the current run.
++ */
++static unsigned int shrinker_run_no;
++
++/* Protects 'ubifs_infos' list */
++DEFINE_SPINLOCK(ubifs_infos_lock);
++
++/* Global clean znode counter (for all mounted UBIFS instances) */
++atomic_long_t ubifs_clean_zn_cnt;
++
++/**
++ * shrink_tnc - shrink TNC tree.
++ * @c: UBIFS file-system description object
++ * @nr: number of znodes to free
++ * @age: the age of znodes to free
++ * @contention: if any contention, this is set to %1
++ *
++ * This function traverses TNC tree and frees clean znodes. It does not free
++ * clean znodes which younger then @age. Returns number of freed znodes.
++ */
++static int shrink_tnc(struct ubifs_info *c, int nr, int age, int *contention)
++{
++ int total_freed = 0;
++ struct ubifs_znode *znode, *zprev;
++ int time = get_seconds();
++
++ ubifs_assert(mutex_is_locked(&c->umount_mutex));
++ ubifs_assert(mutex_is_locked(&c->tnc_mutex));
++
++ if (!c->zroot.znode || atomic_long_read(&c->clean_zn_cnt) == 0)
++ return 0;
++
++ /*
++ * Traverse the TNC tree in levelorder manner, so that it is possible
++ * to destroy large sub-trees. Indeed, if a znode is old, then all its
++ * children are older or of the same age.
++ *
++ * Note, we are holding 'c->tnc_mutex', so we do not have to lock the
++ * 'c->space_lock' when _reading_ 'c->clean_zn_cnt', because it is
++ * changed only when the 'c->tnc_mutex' is held.
++ */
++ zprev = NULL;
++ znode = ubifs_tnc_levelorder_next(c->zroot.znode, NULL);
++ while (znode && total_freed < nr &&
++ atomic_long_read(&c->clean_zn_cnt) > 0) {
++ int freed;
++
++ /*
++ * If the znode is clean, but it is in the 'c->cnext' list, this
++ * means that this znode has just been written to flash as a
++ * part of commit and was marked clean. They will be removed
++ * from the list at end commit. We cannot change the list,
++ * because it is not protected by any mutex (design decision to
++ * make commit really independent and parallel to main I/O). So
++ * we just skip these znodes.
++ *
++ * Note, the 'clean_zn_cnt' counters are not updated until
++ * after the commit, so the UBIFS shrinker does not report
++ * the znodes which are in the 'c->cnext' list as freeable.
++ *
++ * Also note, if the root of a sub-tree is not in 'c->cnext',
++ * then the whole sub-tree is not in 'c->cnext' as well, so it
++ * is safe to dump whole sub-tree.
++ */
++
++ if (znode->cnext) {
++ /*
++ * Very soon these znodes will be removed from the list
++ * and become freeable.
++ */
++ *contention = 1;
++ } else if (!ubifs_zn_dirty(znode) &&
++ abs(time - znode->time) >= age) {
++ if (znode->parent)
++ znode->parent->zbranch[znode->iip].znode = NULL;
++ else
++ c->zroot.znode = NULL;
++
++ freed = ubifs_destroy_tnc_subtree(znode);
++ atomic_long_sub(freed, &ubifs_clean_zn_cnt);
++ atomic_long_sub(freed, &c->clean_zn_cnt);
++ ubifs_assert(atomic_long_read(&c->clean_zn_cnt) >= 0);
++ total_freed += freed;
++ znode = zprev;
++ }
++
++ if (unlikely(!c->zroot.znode))
++ break;
++
++ zprev = znode;
++ znode = ubifs_tnc_levelorder_next(c->zroot.znode, znode);
++ cond_resched();
++ }
++
++ return total_freed;
++}
++
++/**
++ * shrink_tnc_trees - shrink UBIFS TNC trees.
++ * @nr: number of znodes to free
++ * @age: the age of znodes to free
++ * @contention: if any contention, this is set to %1
++ *
++ * This function walks the list of mounted UBIFS file-systems and frees clean
++ * znodes which are older then @age, until at least @nr znodes are freed.
++ * Returns the number of freed znodes.
++ */
++static int shrink_tnc_trees(int nr, int age, int *contention)
++{
++ struct ubifs_info *c;
++ struct list_head *p;
++ unsigned int run_no;
++ int freed = 0;
++
++ spin_lock(&ubifs_infos_lock);
++ do {
++ run_no = ++shrinker_run_no;
++ } while (run_no == 0);
++ /* Iterate over all mounted UBIFS file-systems and try to shrink them */
++ p = ubifs_infos.next;
++ while (p != &ubifs_infos) {
++ c = list_entry(p, struct ubifs_info, infos_list);
++ /*
++ * We move the ones we do to the end of the list, so we stop
++ * when we see one we have already done.
++ */
++ if (c->shrinker_run_no == run_no)
++ break;
++ if (!mutex_trylock(&c->umount_mutex)) {
++ /* Some un-mount is in progress, try next FS */
++ *contention = 1;
++ p = p->next;
++ continue;
++ }
++ /*
++ * We're holding 'c->umount_mutex', so the file-system won't go
++ * away.
++ */
++ if (!mutex_trylock(&c->tnc_mutex)) {
++ mutex_unlock(&c->umount_mutex);
++ *contention = 1;
++ p = p->next;
++ continue;
++ }
++ spin_unlock(&ubifs_infos_lock);
++ /*
++ * OK, now we have TNC locked, the file-system cannot go away -
++ * it is safe to reap the cache.
++ */
++ c->shrinker_run_no = run_no;
++ freed += shrink_tnc(c, nr, age, contention);
++ mutex_unlock(&c->tnc_mutex);
++ spin_lock(&ubifs_infos_lock);
++ /* Get the next list element before we move this one */
++ p = p->next;
++ /*
++ * Move this one to the end of the list to provide some
++ * fairness.
++ */
++ list_move_tail(&c->infos_list, &ubifs_infos);
++ mutex_unlock(&c->umount_mutex);
++ if (freed >= nr)
++ break;
++ }
++ spin_unlock(&ubifs_infos_lock);
++ return freed;
++}
++
++/**
++ * kick_a_thread - kick a background thread to start commit.
++ *
++ * This function kicks a background thread to start background commit. Returns
++ * %-1 if a thread was kicked or there is another reason to assume the memory
++ * will soon be freed or become freeable. If there are no dirty znodes, returns
++ * %0.
++ */
++static int kick_a_thread(void)
++{
++ int i;
++ struct ubifs_info *c;
++
++ /*
++ * Iterate over all mounted UBIFS file-systems and find out if there is
++ * already an ongoing commit operation there. If no, then iterate for
++ * the second time and initiate background commit.
++ */
++ spin_lock(&ubifs_infos_lock);
++ for (i = 0; i < 2; i++) {
++ list_for_each_entry(c, &ubifs_infos, infos_list) {
++ long dirty_zn_cnt;
++
++ if (!mutex_trylock(&c->umount_mutex)) {
++ /*
++ * Some un-mount is in progress, it will
++ * certainly free memory, so just return.
++ */
++ spin_unlock(&ubifs_infos_lock);
++ return -1;
++ }
++
++ dirty_zn_cnt = atomic_long_read(&c->dirty_zn_cnt);
++
++ if (!dirty_zn_cnt || c->cmt_state == COMMIT_BROKEN ||
++ c->ro_media) {
++ mutex_unlock(&c->umount_mutex);
++ continue;
++ }
++
++ if (c->cmt_state != COMMIT_RESTING) {
++ spin_unlock(&ubifs_infos_lock);
++ mutex_unlock(&c->umount_mutex);
++ return -1;
++ }
++
++ if (i == 1) {
++ list_move_tail(&c->infos_list, &ubifs_infos);
++ spin_unlock(&ubifs_infos_lock);
++
++ ubifs_request_bg_commit(c);
++ mutex_unlock(&c->umount_mutex);
++ return -1;
++ }
++ mutex_unlock(&c->umount_mutex);
++ }
++ }
++ spin_unlock(&ubifs_infos_lock);
++
++ return 0;
++}
++
++int ubifs_shrinker(int nr, gfp_t gfp_mask)
++{
++ int freed, contention = 0;
++ long clean_zn_cnt = atomic_long_read(&ubifs_clean_zn_cnt);
++
++ if (nr == 0)
++ return clean_zn_cnt;
++
++ if (!clean_zn_cnt) {
++ /*
++ * No clean znodes, nothing to reap. All we can do in this case
++ * is to kick background threads to start commit, which will
++ * probably make clean znodes which, in turn, will be freeable.
++ * And we return -1 which means will make VM call us again
++ * later.
++ */
++ dbg_tnc("no clean znodes, kick a thread");
++ return kick_a_thread();
++ }
++
++ freed = shrink_tnc_trees(nr, OLD_ZNODE_AGE, &contention);
++ if (freed >= nr)
++ goto out;
++
++ dbg_tnc("not enough old znodes, try to free young ones");
++ freed += shrink_tnc_trees(nr - freed, YOUNG_ZNODE_AGE, &contention);
++ if (freed >= nr)
++ goto out;
++
++ dbg_tnc("not enough young znodes, free all");
++ freed += shrink_tnc_trees(nr - freed, 0, &contention);
++
++ if (!freed && contention) {
++ dbg_tnc("freed nothing, but contention");
++ return -1;
++ }
++
++out:
++ dbg_tnc("%d znodes were freed, requested %d", freed, nr);
++ return freed;
++}
+diff -Nurd linux-2.6.24/fs/ubifs/super.c ubifs-v2.6.24/fs/ubifs/super.c
+--- linux-2.6.24/fs/ubifs/super.c 1970-01-01 02:00:00.000000000 +0200
++++ ubifs-v2.6.24/fs/ubifs/super.c 2009-04-07 17:14:47.000000000 +0200
+@@ -0,0 +1,2209 @@
++/*
++ * This file is part of UBIFS.
++ *
++ * Copyright (C) 2006-2008 Nokia Corporation.
++ *
++ * This program is free software; you can redistribute it and/or modify it
++ * under the terms of the GNU General Public License version 2 as published by
++ * the Free Software Foundation.
++ *
++ * 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, write to the Free Software Foundation, Inc., 51
++ * Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
++ *
++ * Authors: Artem Bityutskiy (Битюцкий Ðртём)
++ * Adrian Hunter
++ */
++
++/*
++ * This file implements UBIFS initialization and VFS superblock operations. Some
++ * initialization stuff which is rather large and complex is placed at
++ * corresponding subsystems, but most of it is here.
++ */
++
++#include <linux/init.h>
++#include <linux/slab.h>
++#include <linux/module.h>
++#include <linux/ctype.h>
++#include <linux/kthread.h>
++#include <linux/parser.h>
++#include <linux/seq_file.h>
++#include <linux/mount.h>
++#include <linux/writeback.h>
++#include "ubifs.h"
++
++/*
++ * Maximum amount of memory we may 'kmalloc()' without worrying that we are
++ * allocating too much.
++ */
++#define UBIFS_KMALLOC_OK (128*1024)
++
++/* Slab cache for UBIFS inodes */
++struct kmem_cache *ubifs_inode_slab;
++
++#ifndef UBIFS_COMPAT_NO_SHRINKER
++/* UBIFS TNC shrinker description */
++static struct shrinker ubifs_shrinker_info = {
++ .shrink = ubifs_shrinker,
++ .seeks = DEFAULT_SEEKS,
++};
++#endif
++
++/**
++ * validate_inode - validate inode.
++ * @c: UBIFS file-system description object
++ * @inode: the inode to validate
++ *
++ * This is a helper function for 'ubifs_iget()' which validates various fields
++ * of a newly built inode to make sure they contain sane values and prevent
++ * possible vulnerabilities. Returns zero if the inode is all right and
++ * a non-zero error code if not.
++ */
++static int validate_inode(struct ubifs_info *c, const struct inode *inode)
++{
++ int err;
++ const struct ubifs_inode *ui = ubifs_inode(inode);
++
++ if (inode->i_size > c->max_inode_sz) {
++ ubifs_err("inode is too large (%lld)",
++ (long long)inode->i_size);
++ return 1;
++ }
++
++ if (ui->compr_type < 0 || ui->compr_type >= UBIFS_COMPR_TYPES_CNT) {
++ ubifs_err("unknown compression type %d", ui->compr_type);
++ return 2;
++ }
++
++ if (ui->xattr_names + ui->xattr_cnt > XATTR_LIST_MAX)
++ return 3;
++
++ if (ui->data_len < 0 || ui->data_len > UBIFS_MAX_INO_DATA)
++ return 4;
++
++ if (ui->xattr && (inode->i_mode & S_IFMT) != S_IFREG)
++ return 5;
++
++ if (!ubifs_compr_present(ui->compr_type)) {
++ ubifs_warn("inode %lu uses '%s' compression, but it was not "
++ "compiled in", inode->i_ino,
++ ubifs_compr_name(ui->compr_type));
++ }
++
++ err = dbg_check_dir_size(c, inode);
++ return err;
++}
++
++struct inode *ubifs_iget(struct super_block *sb, unsigned long inum)
++{
++ struct inode *inode;
++
++ inode = iget(sb, inum);
++ if (!inode) {
++ make_bad_inode(inode);
++ return ERR_PTR(-EINVAL);
++ }
++
++ return inode;
++}
++
++void ubifs_read_inode(struct inode *inode)
++{
++ int err;
++ union ubifs_key key;
++ struct ubifs_ino_node *ino;
++ struct ubifs_info *c = inode->i_sb->s_fs_info;
++ struct ubifs_inode *ui = ubifs_inode(inode);
++
++ dbg_gen("inode %lu", inode->i_ino);
++ ubifs_assert(inode->i_state & I_LOCK);
++
++ ino = kmalloc(UBIFS_MAX_INO_NODE_SZ, GFP_NOFS);
++ if (!ino) {
++ err = -ENOMEM;
++ goto out;
++ }
++
++ ino_key_init(c, &key, inode->i_ino);
++
++ err = ubifs_tnc_lookup(c, &key, ino);
++ if (err)
++ goto out_ino;
++
++ inode->i_flags |= (S_NOCMTIME | S_NOATIME);
++ inode->i_nlink = le32_to_cpu(ino->nlink);
++ inode->i_uid = le32_to_cpu(ino->uid);
++ inode->i_gid = le32_to_cpu(ino->gid);
++ inode->i_atime.tv_sec = (int64_t)le64_to_cpu(ino->atime_sec);
++ inode->i_atime.tv_nsec = le32_to_cpu(ino->atime_nsec);
++ inode->i_mtime.tv_sec = (int64_t)le64_to_cpu(ino->mtime_sec);
++ inode->i_mtime.tv_nsec = le32_to_cpu(ino->mtime_nsec);
++ inode->i_ctime.tv_sec = (int64_t)le64_to_cpu(ino->ctime_sec);
++ inode->i_ctime.tv_nsec = le32_to_cpu(ino->ctime_nsec);
++ inode->i_mode = le32_to_cpu(ino->mode);
++ inode->i_size = le64_to_cpu(ino->size);
++
++ ui->data_len = le32_to_cpu(ino->data_len);
++ ui->flags = le32_to_cpu(ino->flags);
++ ui->compr_type = le16_to_cpu(ino->compr_type);
++ ui->creat_sqnum = le64_to_cpu(ino->creat_sqnum);
++ ui->xattr_cnt = le32_to_cpu(ino->xattr_cnt);
++ ui->xattr_size = le32_to_cpu(ino->xattr_size);
++ ui->xattr_names = le32_to_cpu(ino->xattr_names);
++ ui->synced_i_size = ui->ui_size = inode->i_size;
++
++ ui->xattr = (ui->flags & UBIFS_XATTR_FL) ? 1 : 0;
++
++ err = validate_inode(c, inode);
++ if (err)
++ goto out_invalid;
++
++ /* Disable read-ahead */
++ inode->i_mapping->backing_dev_info = &c->bdi;
++
++ switch (inode->i_mode & S_IFMT) {
++ case S_IFREG:
++ inode->i_mapping->a_ops = &ubifs_file_address_operations;
++ inode->i_op = &ubifs_file_inode_operations;
++ inode->i_fop = &ubifs_file_operations;
++ if (ui->xattr) {
++ ui->data = kmalloc(ui->data_len + 1, GFP_NOFS);
++ if (!ui->data) {
++ err = -ENOMEM;
++ goto out_ino;
++ }
++ memcpy(ui->data, ino->data, ui->data_len);
++ ((char *)ui->data)[ui->data_len] = '\0';
++ } else if (ui->data_len != 0) {
++ err = 10;
++ goto out_invalid;
++ }
++ break;
++ case S_IFDIR:
++ inode->i_op = &ubifs_dir_inode_operations;
++ inode->i_fop = &ubifs_dir_operations;
++ if (ui->data_len != 0) {
++ err = 11;
++ goto out_invalid;
++ }
++ break;
++ case S_IFLNK:
++ inode->i_op = &ubifs_symlink_inode_operations;
++ if (ui->data_len <= 0 || ui->data_len > UBIFS_MAX_INO_DATA) {
++ err = 12;
++ goto out_invalid;
++ }
++ ui->data = kmalloc(ui->data_len + 1, GFP_NOFS);
++ if (!ui->data) {
++ err = -ENOMEM;
++ goto out_ino;
++ }
++ memcpy(ui->data, ino->data, ui->data_len);
++ ((char *)ui->data)[ui->data_len] = '\0';
++ break;
++ case S_IFBLK:
++ case S_IFCHR:
++ {
++ dev_t rdev;
++ union ubifs_dev_desc *dev;
++
++ ui->data = kmalloc(sizeof(union ubifs_dev_desc), GFP_NOFS);
++ if (!ui->data) {
++ err = -ENOMEM;
++ goto out_ino;
++ }
++
++ dev = (union ubifs_dev_desc *)ino->data;
++ if (ui->data_len == sizeof(dev->new))
++ rdev = new_decode_dev(le32_to_cpu(dev->new));
++ else if (ui->data_len == sizeof(dev->huge))
++ rdev = huge_decode_dev(le64_to_cpu(dev->huge));
++ else {
++ err = 13;
++ goto out_invalid;
++ }
++ memcpy(ui->data, ino->data, ui->data_len);
++ inode->i_op = &ubifs_file_inode_operations;
++ init_special_inode(inode, inode->i_mode, rdev);
++ break;
++ }
++ case S_IFSOCK:
++ case S_IFIFO:
++ inode->i_op = &ubifs_file_inode_operations;
++ init_special_inode(inode, inode->i_mode, 0);
++ if (ui->data_len != 0) {
++ err = 14;
++ goto out_invalid;
++ }
++ break;
++ default:
++ err = 15;
++ goto out_invalid;
++ }
++
++ ubifs_set_inode_flags(inode);
++ kfree(ino);
++ return;
++
++out_invalid:
++ ubifs_err("inode %lu validation failed, error %d", inode->i_ino, err);
++ dbg_dump_inode(c, inode);
++ dbg_dump_node(c, ino);
++ err = -EINVAL;
++out_ino:
++ kfree(ino);
++out:
++ ubifs_err("failed to read inode %lu, error %d", inode->i_ino, err);
++ make_bad_inode(inode);
++ return;
++}
++
++static struct inode *ubifs_alloc_inode(struct super_block *sb)
++{
++ struct ubifs_inode *ui;
++
++ ui = kmem_cache_alloc(ubifs_inode_slab, GFP_NOFS);
++ if (!ui)
++ return NULL;
++
++ memset((void *)ui + sizeof(struct inode), 0,
++ sizeof(struct ubifs_inode) - sizeof(struct inode));
++ mutex_init(&ui->ui_mutex);
++ spin_lock_init(&ui->ui_lock);
++ return &ui->vfs_inode;
++};
++
++static void ubifs_destroy_inode(struct inode *inode)
++{
++ struct ubifs_inode *ui = ubifs_inode(inode);
++
++ kfree(ui->data);
++ kmem_cache_free(ubifs_inode_slab, inode);
++}
++
++/*
++ * Note, Linux write-back code calls this without 'i_mutex'.
++ */
++static int ubifs_write_inode(struct inode *inode, int wait)
++{
++ int err = 0;
++ struct ubifs_info *c = inode->i_sb->s_fs_info;
++ struct ubifs_inode *ui = ubifs_inode(inode);
++
++ ubifs_assert(!ui->xattr);
++ if (is_bad_inode(inode))
++ return 0;
++
++ mutex_lock(&ui->ui_mutex);
++ /*
++ * Due to races between write-back forced by budgeting
++ * (see 'sync_some_inodes()') and pdflush write-back, the inode may
++ * have already been synchronized, do not do this again. This might
++ * also happen if it was synchronized in an VFS operation, e.g.
++ * 'ubifs_link()'.
++ */
++ if (!ui->dirty) {
++ mutex_unlock(&ui->ui_mutex);
++ return 0;
++ }
++
++ /*
++ * As an optimization, do not write orphan inodes to the media just
++ * because this is not needed.
++ */
++ dbg_gen("inode %lu, mode %#x, nlink %u",
++ inode->i_ino, (int)inode->i_mode, inode->i_nlink);
++ if (inode->i_nlink) {
++ err = ubifs_jnl_write_inode(c, inode);
++ if (err)
++ ubifs_err("can't write inode %lu, error %d",
++ inode->i_ino, err);
++ }
++
++ ui->dirty = 0;
++ mutex_unlock(&ui->ui_mutex);
++ ubifs_release_dirty_inode_budget(c, ui);
++ return err;
++}
++
++static void ubifs_delete_inode(struct inode *inode)
++{
++ int err;
++ struct ubifs_info *c = inode->i_sb->s_fs_info;
++ struct ubifs_inode *ui = ubifs_inode(inode);
++
++ if (ui->xattr)
++ /*
++ * Extended attribute inode deletions are fully handled in
++ * 'ubifs_removexattr()'. These inodes are special and have
++ * limited usage, so there is nothing to do here.
++ */
++ goto out;
++
++ dbg_gen("inode %lu, mode %#x", inode->i_ino, (int)inode->i_mode);
++ ubifs_assert(!atomic_read(&inode->i_count));
++ ubifs_assert(inode->i_nlink == 0);
++
++ truncate_inode_pages(&inode->i_data, 0);
++ if (is_bad_inode(inode))
++ goto out;
++
++ ui->ui_size = inode->i_size = 0;
++ err = ubifs_jnl_delete_inode(c, inode);
++ if (err)
++ /*
++ * Worst case we have a lost orphan inode wasting space, so a
++ * simple error message is OK here.
++ */
++ ubifs_err("can't delete inode %lu, error %d",
++ inode->i_ino, err);
++
++out:
++ if (ui->dirty)
++ ubifs_release_dirty_inode_budget(c, ui);
++ clear_inode(inode);
++}
++
++static void ubifs_dirty_inode(struct inode *inode)
++{
++ struct ubifs_inode *ui = ubifs_inode(inode);
++
++ ubifs_assert(mutex_is_locked(&ui->ui_mutex));
++ if (!ui->dirty) {
++ ui->dirty = 1;
++ dbg_gen("inode %lu", inode->i_ino);
++ }
++}
++
++static int ubifs_statfs(struct dentry *dentry, struct kstatfs *buf)
++{
++ struct ubifs_info *c = dentry->d_sb->s_fs_info;
++ unsigned long long free;
++ __le32 *uuid = (__le32 *)c->uuid;
++
++ free = ubifs_get_free_space(c);
++ dbg_gen("free space %lld bytes (%lld blocks)",
++ free, free >> UBIFS_BLOCK_SHIFT);
++
++ buf->f_type = UBIFS_SUPER_MAGIC;
++ buf->f_bsize = UBIFS_BLOCK_SIZE;
++ buf->f_blocks = c->block_cnt;
++ buf->f_bfree = free >> UBIFS_BLOCK_SHIFT;
++ if (free > c->report_rp_size)
++ buf->f_bavail = (free - c->report_rp_size) >> UBIFS_BLOCK_SHIFT;
++ else
++ buf->f_bavail = 0;
++ buf->f_files = 0;
++ buf->f_ffree = 0;
++ buf->f_namelen = UBIFS_MAX_NLEN;
++ buf->f_fsid.val[0] = le32_to_cpu(uuid[0]) ^ le32_to_cpu(uuid[2]);
++ buf->f_fsid.val[1] = le32_to_cpu(uuid[1]) ^ le32_to_cpu(uuid[3]);
++ ubifs_assert(buf->f_bfree <= c->block_cnt);
++ return 0;
++}
++
++static int ubifs_show_options(struct seq_file *s, struct vfsmount *mnt)
++{
++ struct ubifs_info *c = mnt->mnt_sb->s_fs_info;
++
++ if (c->mount_opts.unmount_mode == 2)
++ seq_printf(s, ",fast_unmount");
++ else if (c->mount_opts.unmount_mode == 1)
++ seq_printf(s, ",norm_unmount");
++
++ if (c->mount_opts.bulk_read == 2)
++ seq_printf(s, ",bulk_read");
++ else if (c->mount_opts.bulk_read == 1)
++ seq_printf(s, ",no_bulk_read");
++
++ if (c->mount_opts.chk_data_crc == 2)
++ seq_printf(s, ",chk_data_crc");
++ else if (c->mount_opts.chk_data_crc == 1)
++ seq_printf(s, ",no_chk_data_crc");
++
++ if (c->mount_opts.override_compr) {
++ seq_printf(s, ",compr=%s",
++ ubifs_compr_name(c->mount_opts.compr_type));
++ }
++
++ return 0;
++}
++
++static int ubifs_sync_fs(struct super_block *sb, int wait)
++{
++ int i, err;
++ struct ubifs_info *c = sb->s_fs_info;
++ struct writeback_control wbc = {
++ .sync_mode = WB_SYNC_ALL,
++ .range_start = 0,
++ .range_end = LLONG_MAX,
++ .nr_to_write = LONG_MAX,
++ };
++
++ /*
++ * Zero @wait is just an advisory thing to help the file system shove
++ * lots of data into the queues, and there will be the second
++ * '->sync_fs()' call, with non-zero @wait.
++ */
++ if (!wait)
++ return 0;
++
++ if (sb->s_flags & MS_RDONLY)
++ return 0;
++
++ /*
++ * VFS calls '->sync_fs()' before synchronizing all dirty inodes and
++ * pages, so synchronize them first, then commit the journal. Strictly
++ * speaking, it is not necessary to commit the journal here,
++ * synchronizing write-buffers would be enough. But committing makes
++ * UBIFS free space predictions much more accurate, so we want to let
++ * the user be able to get more accurate results of 'statfs()' after
++ * they synchronize the file system.
++ */
++ generic_sync_sb_inodes(sb, &wbc);
++
++ /*
++ * Synchronize write buffers, because 'ubifs_run_commit()' does not
++ * do this if it waits for an already running commit.
++ */
++ for (i = 0; i < c->jhead_cnt; i++) {
++ err = ubifs_wbuf_sync(&c->jheads[i].wbuf);
++ if (err)
++ return err;
++ }
++
++ err = ubifs_run_commit(c);
++ if (err)
++ return err;
++
++ return ubi_sync(c->vi.ubi_num);
++}
++
++/**
++ * init_constants_early - initialize UBIFS constants.
++ * @c: UBIFS file-system description object
++ *
++ * This function initialize UBIFS constants which do not need the superblock to
++ * be read. It also checks that the UBI volume satisfies basic UBIFS
++ * requirements. Returns zero in case of success and a negative error code in
++ * case of failure.
++ */
++static int init_constants_early(struct ubifs_info *c)
++{
++ if (c->vi.corrupted) {
++ ubifs_warn("UBI volume is corrupted - read-only mode");
++ c->ro_media = 1;
++ }
++
++ if (c->di.ro_mode) {
++ ubifs_msg("read-only UBI device");
++ c->ro_media = 1;
++ }
++
++ if (c->vi.vol_type == UBI_STATIC_VOLUME) {
++ ubifs_msg("static UBI volume - read-only mode");
++ c->ro_media = 1;
++ }
++
++ c->leb_cnt = c->vi.size;
++ c->leb_size = c->vi.usable_leb_size;
++ c->half_leb_size = c->leb_size / 2;
++ c->min_io_size = c->di.min_io_size;
++ c->min_io_shift = fls(c->min_io_size) - 1;
++
++ if (c->leb_size < UBIFS_MIN_LEB_SZ) {
++ ubifs_err("too small LEBs (%d bytes), min. is %d bytes",
++ c->leb_size, UBIFS_MIN_LEB_SZ);
++ return -EINVAL;
++ }
++
++ if (c->leb_cnt < UBIFS_MIN_LEB_CNT) {
++ ubifs_err("too few LEBs (%d), min. is %d",
++ c->leb_cnt, UBIFS_MIN_LEB_CNT);
++ return -EINVAL;
++ }
++
++ if (!is_power_of_2(c->min_io_size)) {
++ ubifs_err("bad min. I/O size %d", c->min_io_size);
++ return -EINVAL;
++ }
++
++ /*
++ * UBIFS aligns all node to 8-byte boundary, so to make function in
++ * io.c simpler, assume minimum I/O unit size to be 8 bytes if it is
++ * less than 8.
++ */
++ if (c->min_io_size < 8) {
++ c->min_io_size = 8;
++ c->min_io_shift = 3;
++ }
++
++ c->ref_node_alsz = ALIGN(UBIFS_REF_NODE_SZ, c->min_io_size);
++ c->mst_node_alsz = ALIGN(UBIFS_MST_NODE_SZ, c->min_io_size);
++
++ /*
++ * Initialize node length ranges which are mostly needed for node
++ * length validation.
++ */
++ c->ranges[UBIFS_PAD_NODE].len = UBIFS_PAD_NODE_SZ;
++ c->ranges[UBIFS_SB_NODE].len = UBIFS_SB_NODE_SZ;
++ c->ranges[UBIFS_MST_NODE].len = UBIFS_MST_NODE_SZ;
++ c->ranges[UBIFS_REF_NODE].len = UBIFS_REF_NODE_SZ;
++ c->ranges[UBIFS_TRUN_NODE].len = UBIFS_TRUN_NODE_SZ;
++ c->ranges[UBIFS_CS_NODE].len = UBIFS_CS_NODE_SZ;
++
++ c->ranges[UBIFS_INO_NODE].min_len = UBIFS_INO_NODE_SZ;
++ c->ranges[UBIFS_INO_NODE].max_len = UBIFS_MAX_INO_NODE_SZ;
++ c->ranges[UBIFS_ORPH_NODE].min_len =
++ UBIFS_ORPH_NODE_SZ + sizeof(__le64);
++ c->ranges[UBIFS_ORPH_NODE].max_len = c->leb_size;
++ c->ranges[UBIFS_DENT_NODE].min_len = UBIFS_DENT_NODE_SZ;
++ c->ranges[UBIFS_DENT_NODE].max_len = UBIFS_MAX_DENT_NODE_SZ;
++ c->ranges[UBIFS_XENT_NODE].min_len = UBIFS_XENT_NODE_SZ;
++ c->ranges[UBIFS_XENT_NODE].max_len = UBIFS_MAX_XENT_NODE_SZ;
++ c->ranges[UBIFS_DATA_NODE].min_len = UBIFS_DATA_NODE_SZ;
++ c->ranges[UBIFS_DATA_NODE].max_len = UBIFS_MAX_DATA_NODE_SZ;
++ /*
++ * Minimum indexing node size is amended later when superblock is
++ * read and the key length is known.
++ */
++ c->ranges[UBIFS_IDX_NODE].min_len = UBIFS_IDX_NODE_SZ + UBIFS_BRANCH_SZ;
++ /*
++ * Maximum indexing node size is amended later when superblock is
++ * read and the fanout is known.
++ */
++ c->ranges[UBIFS_IDX_NODE].max_len = INT_MAX;
++
++ /*
++ * Initialize dead and dark LEB space watermarks. See gc.c for comments
++ * about these values.
++ */
++ c->dead_wm = ALIGN(MIN_WRITE_SZ, c->min_io_size);
++ c->dark_wm = ALIGN(UBIFS_MAX_NODE_SZ, c->min_io_size);
++
++ /*
++ * Calculate how many bytes would be wasted at the end of LEB if it was
++ * fully filled with data nodes of maximum size. This is used in
++ * calculations when reporting free space.
++ */
++ c->leb_overhead = c->leb_size % UBIFS_MAX_DATA_NODE_SZ;
++
++ /* Buffer size for bulk-reads */
++ c->max_bu_buf_len = UBIFS_MAX_BULK_READ * UBIFS_MAX_DATA_NODE_SZ;
++ if (c->max_bu_buf_len > c->leb_size)
++ c->max_bu_buf_len = c->leb_size;
++ return 0;
++}
++
++/**
++ * bud_wbuf_callback - bud LEB write-buffer synchronization call-back.
++ * @c: UBIFS file-system description object
++ * @lnum: LEB the write-buffer was synchronized to
++ * @free: how many free bytes left in this LEB
++ * @pad: how many bytes were padded
++ *
++ * This is a callback function which is called by the I/O unit when the
++ * write-buffer is synchronized. We need this to correctly maintain space
++ * accounting in bud logical eraseblocks. This function returns zero in case of
++ * success and a negative error code in case of failure.
++ *
++ * This function actually belongs to the journal, but we keep it here because
++ * we want to keep it static.
++ */
++static int bud_wbuf_callback(struct ubifs_info *c, int lnum, int free, int pad)
++{
++ return ubifs_update_one_lp(c, lnum, free, pad, 0, 0);
++}
++
++/*
++ * init_constants_sb - initialize UBIFS constants.
++ * @c: UBIFS file-system description object
++ *
++ * This is a helper function which initializes various UBIFS constants after
++ * the superblock has been read. It also checks various UBIFS parameters and
++ * makes sure they are all right. Returns zero in case of success and a
++ * negative error code in case of failure.
++ */
++static int init_constants_sb(struct ubifs_info *c)
++{
++ int tmp, err;
++ long long tmp64;
++
++ c->main_bytes = (long long)c->main_lebs * c->leb_size;
++ c->max_znode_sz = sizeof(struct ubifs_znode) +
++ c->fanout * sizeof(struct ubifs_zbranch);
++
++ tmp = ubifs_idx_node_sz(c, 1);
++ c->ranges[UBIFS_IDX_NODE].min_len = tmp;
++ c->min_idx_node_sz = ALIGN(tmp, 8);
++
++ tmp = ubifs_idx_node_sz(c, c->fanout);
++ c->ranges[UBIFS_IDX_NODE].max_len = tmp;
++ c->max_idx_node_sz = ALIGN(tmp, 8);
++
++ /* Make sure LEB size is large enough to fit full commit */
++ tmp = UBIFS_CS_NODE_SZ + UBIFS_REF_NODE_SZ * c->jhead_cnt;
++ tmp = ALIGN(tmp, c->min_io_size);
++ if (tmp > c->leb_size) {
++ dbg_err("too small LEB size %d, at least %d needed",
++ c->leb_size, tmp);
++ return -EINVAL;
++ }
++
++ /*
++ * Make sure that the log is large enough to fit reference nodes for
++ * all buds plus one reserved LEB.
++ */
++ tmp64 = c->max_bud_bytes + c->leb_size - 1;
++ c->max_bud_cnt = div_u64(tmp64, c->leb_size);
++ tmp = (c->ref_node_alsz * c->max_bud_cnt + c->leb_size - 1);
++ tmp /= c->leb_size;
++ tmp += 1;
++ if (c->log_lebs < tmp) {
++ dbg_err("too small log %d LEBs, required min. %d LEBs",
++ c->log_lebs, tmp);
++ return -EINVAL;
++ }
++
++ /*
++ * When budgeting we assume worst-case scenarios when the pages are not
++ * be compressed and direntries are of the maximum size.
++ *
++ * Note, data, which may be stored in inodes is budgeted separately, so
++ * it is not included into 'c->inode_budget'.
++ */
++ c->page_budget = UBIFS_MAX_DATA_NODE_SZ * UBIFS_BLOCKS_PER_PAGE;
++ c->inode_budget = UBIFS_INO_NODE_SZ;
++ c->dent_budget = UBIFS_MAX_DENT_NODE_SZ;
++
++ /*
++ * When the amount of flash space used by buds becomes
++ * 'c->max_bud_bytes', UBIFS just blocks all writers and starts commit.
++ * The writers are unblocked when the commit is finished. To avoid
++ * writers to be blocked UBIFS initiates background commit in advance,
++ * when number of bud bytes becomes above the limit defined below.
++ */
++ c->bg_bud_bytes = (c->max_bud_bytes * 13) >> 4;
++
++ /*
++ * Ensure minimum journal size. All the bytes in the journal heads are
++ * considered to be used, when calculating the current journal usage.
++ * Consequently, if the journal is too small, UBIFS will treat it as
++ * always full.
++ */
++ tmp64 = (long long)(c->jhead_cnt + 1) * c->leb_size + 1;
++ if (c->bg_bud_bytes < tmp64)
++ c->bg_bud_bytes = tmp64;
++ if (c->max_bud_bytes < tmp64 + c->leb_size)
++ c->max_bud_bytes = tmp64 + c->leb_size;
++
++ err = ubifs_calc_lpt_geom(c);
++ if (err)
++ return err;
++
++ /* Initialize effective LEB size used in budgeting calculations */
++ c->idx_leb_size = c->leb_size - c->max_idx_node_sz;
++ return 0;
++}
++
++/*
++ * init_constants_master - initialize UBIFS constants.
++ * @c: UBIFS file-system description object
++ *
++ * This is a helper function which initializes various UBIFS constants after
++ * the master node has been read. It also checks various UBIFS parameters and
++ * makes sure they are all right.
++ */
++static void init_constants_master(struct ubifs_info *c)
++{
++ long long tmp64;
++
++ c->min_idx_lebs = ubifs_calc_min_idx_lebs(c);
++ c->report_rp_size = ubifs_reported_space(c, c->rp_size);
++
++ /*
++ * Calculate total amount of FS blocks. This number is not used
++ * internally because it does not make much sense for UBIFS, but it is
++ * necessary to report something for the 'statfs()' call.
++ *
++ * Subtract the LEB reserved for GC, the LEB which is reserved for
++ * deletions, minimum LEBs for the index, and assume only one journal
++ * head is available.
++ */
++ tmp64 = c->main_lebs - 1 - 1 - MIN_INDEX_LEBS - c->jhead_cnt + 1;
++ tmp64 *= (long long)c->leb_size - c->leb_overhead;
++ tmp64 = ubifs_reported_space(c, tmp64);
++ c->block_cnt = tmp64 >> UBIFS_BLOCK_SHIFT;
++}
++
++/**
++ * take_gc_lnum - reserve GC LEB.
++ * @c: UBIFS file-system description object
++ *
++ * This function ensures that the LEB reserved for garbage collection is marked
++ * as "taken" in lprops. We also have to set free space to LEB size and dirty
++ * space to zero, because lprops may contain out-of-date information if the
++ * file-system was un-mounted before it has been committed. This function
++ * returns zero in case of success and a negative error code in case of
++ * failure.
++ */
++static int take_gc_lnum(struct ubifs_info *c)
++{
++ int err;
++
++ if (c->gc_lnum == -1) {
++ ubifs_err("no LEB for GC");
++ return -EINVAL;
++ }
++
++ /* And we have to tell lprops that this LEB is taken */
++ err = ubifs_change_one_lp(c, c->gc_lnum, c->leb_size, 0,
++ LPROPS_TAKEN, 0, 0);
++ return err;
++}
++
++/**
++ * alloc_wbufs - allocate write-buffers.
++ * @c: UBIFS file-system description object
++ *
++ * This helper function allocates and initializes UBIFS write-buffers. Returns
++ * zero in case of success and %-ENOMEM in case of failure.
++ */
++static int alloc_wbufs(struct ubifs_info *c)
++{
++ int i, err;
++
++ c->jheads = kzalloc(c->jhead_cnt * sizeof(struct ubifs_jhead),
++ GFP_KERNEL);
++ if (!c->jheads)
++ return -ENOMEM;
++
++ /* Initialize journal heads */
++ for (i = 0; i < c->jhead_cnt; i++) {
++ INIT_LIST_HEAD(&c->jheads[i].buds_list);
++ err = ubifs_wbuf_init(c, &c->jheads[i].wbuf);
++ if (err)
++ return err;
++
++ c->jheads[i].wbuf.sync_callback = &bud_wbuf_callback;
++ c->jheads[i].wbuf.jhead = i;
++ }
++
++ c->jheads[BASEHD].wbuf.dtype = UBI_SHORTTERM;
++ /*
++ * Garbage Collector head likely contains long-term data and
++ * does not need to be synchronized by timer.
++ */
++ c->jheads[GCHD].wbuf.dtype = UBI_LONGTERM;
++ c->jheads[GCHD].wbuf.timeout = 0;
++
++ return 0;
++}
++
++/**
++ * free_wbufs - free write-buffers.
++ * @c: UBIFS file-system description object
++ */
++static void free_wbufs(struct ubifs_info *c)
++{
++ int i;
++
++ if (c->jheads) {
++ for (i = 0; i < c->jhead_cnt; i++) {
++ kfree(c->jheads[i].wbuf.buf);
++ kfree(c->jheads[i].wbuf.inodes);
++ }
++ kfree(c->jheads);
++ c->jheads = NULL;
++ }
++}
++
++/**
++ * free_orphans - free orphans.
++ * @c: UBIFS file-system description object
++ */
++static void free_orphans(struct ubifs_info *c)
++{
++ struct ubifs_orphan *orph;
++
++ while (c->orph_dnext) {
++ orph = c->orph_dnext;
++ c->orph_dnext = orph->dnext;
++ list_del(&orph->list);
++ kfree(orph);
++ }
++
++ while (!list_empty(&c->orph_list)) {
++ orph = list_entry(c->orph_list.next, struct ubifs_orphan, list);
++ list_del(&orph->list);
++ kfree(orph);
++ dbg_err("orphan list not empty at unmount");
++ }
++
++ vfree(c->orph_buf);
++ c->orph_buf = NULL;
++}
++
++/**
++ * free_buds - free per-bud objects.
++ * @c: UBIFS file-system description object
++ */
++static void free_buds(struct ubifs_info *c)
++{
++ struct rb_node *this = c->buds.rb_node;
++ struct ubifs_bud *bud;
++
++ while (this) {
++ if (this->rb_left)
++ this = this->rb_left;
++ else if (this->rb_right)
++ this = this->rb_right;
++ else {
++ bud = rb_entry(this, struct ubifs_bud, rb);
++ this = rb_parent(this);
++ if (this) {
++ if (this->rb_left == &bud->rb)
++ this->rb_left = NULL;
++ else
++ this->rb_right = NULL;
++ }
++ kfree(bud);
++ }
++ }
++}
++
++/**
++ * check_volume_empty - check if the UBI volume is empty.
++ * @c: UBIFS file-system description object
++ *
++ * This function checks if the UBIFS volume is empty by looking if its LEBs are
++ * mapped or not. The result of checking is stored in the @c->empty variable.
++ * Returns zero in case of success and a negative error code in case of
++ * failure.
++ */
++static int check_volume_empty(struct ubifs_info *c)
++{
++ int lnum, err;
++
++ c->empty = 1;
++ for (lnum = 0; lnum < c->leb_cnt; lnum++) {
++ err = ubi_is_mapped(c->ubi, lnum);
++ if (unlikely(err < 0))
++ return err;
++ if (err == 1) {
++ c->empty = 0;
++ break;
++ }
++
++ cond_resched();
++ }
++
++ return 0;
++}
++
++/*
++ * UBIFS mount options.
++ *
++ * Opt_fast_unmount: do not run a journal commit before un-mounting
++ * Opt_norm_unmount: run a journal commit before un-mounting
++ * Opt_bulk_read: enable bulk-reads
++ * Opt_no_bulk_read: disable bulk-reads
++ * Opt_chk_data_crc: check CRCs when reading data nodes
++ * Opt_no_chk_data_crc: do not check CRCs when reading data nodes
++ * Opt_override_compr: override default compressor
++ * Opt_err: just end of array marker
++ */
++enum {
++ Opt_fast_unmount,
++ Opt_norm_unmount,
++ Opt_bulk_read,
++ Opt_no_bulk_read,
++ Opt_chk_data_crc,
++ Opt_no_chk_data_crc,
++ Opt_override_compr,
++ Opt_err,
++};
++
++static match_table_t tokens = {
++ {Opt_fast_unmount, "fast_unmount"},
++ {Opt_norm_unmount, "norm_unmount"},
++ {Opt_bulk_read, "bulk_read"},
++ {Opt_no_bulk_read, "no_bulk_read"},
++ {Opt_chk_data_crc, "chk_data_crc"},
++ {Opt_no_chk_data_crc, "no_chk_data_crc"},
++ {Opt_override_compr, "compr=%s"},
++ {Opt_err, NULL},
++};
++
++/**
++ * ubifs_parse_options - parse mount parameters.
++ * @c: UBIFS file-system description object
++ * @options: parameters to parse
++ * @is_remount: non-zero if this is FS re-mount
++ *
++ * This function parses UBIFS mount options and returns zero in case success
++ * and a negative error code in case of failure.
++ */
++static int ubifs_parse_options(struct ubifs_info *c, char *options,
++ int is_remount)
++{
++ char *p;
++ substring_t args[MAX_OPT_ARGS];
++
++ if (!options)
++ return 0;
++
++ while ((p = strsep(&options, ","))) {
++ int token;
++
++ if (!*p)
++ continue;
++
++ token = match_token(p, tokens, args);
++ switch (token) {
++ /*
++ * %Opt_fast_unmount and %Opt_norm_unmount options are ignored.
++ * We accepte them in order to be backware-compatible. But this
++ * should be removed at some point.
++ */
++ case Opt_fast_unmount:
++ c->mount_opts.unmount_mode = 2;
++ break;
++ case Opt_norm_unmount:
++ c->mount_opts.unmount_mode = 1;
++ break;
++ case Opt_bulk_read:
++ c->mount_opts.bulk_read = 2;
++ c->bulk_read = 1;
++ break;
++ case Opt_no_bulk_read:
++ c->mount_opts.bulk_read = 1;
++ c->bulk_read = 0;
++ break;
++ case Opt_chk_data_crc:
++ c->mount_opts.chk_data_crc = 2;
++ c->no_chk_data_crc = 0;
++ break;
++ case Opt_no_chk_data_crc:
++ c->mount_opts.chk_data_crc = 1;
++ c->no_chk_data_crc = 1;
++ break;
++ case Opt_override_compr:
++ {
++ char *name = match_strdup(&args[0]);
++
++ if (!name)
++ return -ENOMEM;
++ if (!strcmp(name, "none"))
++ c->mount_opts.compr_type = UBIFS_COMPR_NONE;
++ else if (!strcmp(name, "lzo"))
++ c->mount_opts.compr_type = UBIFS_COMPR_LZO;
++ else if (!strcmp(name, "zlib"))
++ c->mount_opts.compr_type = UBIFS_COMPR_ZLIB;
++ else {
++ ubifs_err("unknown compressor \"%s\"", name);
++ kfree(name);
++ return -EINVAL;
++ }
++ kfree(name);
++ c->mount_opts.override_compr = 1;
++ c->default_compr = c->mount_opts.compr_type;
++ break;
++ }
++ default:
++ ubifs_err("unrecognized mount option \"%s\" "
++ "or missing value", p);
++ return -EINVAL;
++ }
++ }
++
++ return 0;
++}
++
++/**
++ * destroy_journal - destroy journal data structures.
++ * @c: UBIFS file-system description object
++ *
++ * This function destroys journal data structures including those that may have
++ * been created by recovery functions.
++ */
++static void destroy_journal(struct ubifs_info *c)
++{
++ while (!list_empty(&c->unclean_leb_list)) {
++ struct ubifs_unclean_leb *ucleb;
++
++ ucleb = list_entry(c->unclean_leb_list.next,
++ struct ubifs_unclean_leb, list);
++ list_del(&ucleb->list);
++ kfree(ucleb);
++ }
++ while (!list_empty(&c->old_buds)) {
++ struct ubifs_bud *bud;
++
++ bud = list_entry(c->old_buds.next, struct ubifs_bud, list);
++ list_del(&bud->list);
++ kfree(bud);
++ }
++ ubifs_destroy_idx_gc(c);
++ ubifs_destroy_size_tree(c);
++ ubifs_tnc_close(c);
++ free_buds(c);
++}
++
++/**
++ * bu_init - initialize bulk-read information.
++ * @c: UBIFS file-system description object
++ */
++static void bu_init(struct ubifs_info *c)
++{
++ ubifs_assert(c->bulk_read == 1);
++
++ if (c->bu.buf)
++ return; /* Already initialized */
++
++again:
++ c->bu.buf = kmalloc(c->max_bu_buf_len, GFP_KERNEL | __GFP_NOWARN);
++ if (!c->bu.buf) {
++ if (c->max_bu_buf_len > UBIFS_KMALLOC_OK) {
++ c->max_bu_buf_len = UBIFS_KMALLOC_OK;
++ goto again;
++ }
++
++ /* Just disable bulk-read */
++ ubifs_warn("Cannot allocate %d bytes of memory for bulk-read, "
++ "disabling it", c->max_bu_buf_len);
++ c->mount_opts.bulk_read = 1;
++ c->bulk_read = 0;
++ return;
++ }
++}
++
++/**
++ * check_free_space - check if there is enough free space to mount.
++ * @c: UBIFS file-system description object
++ *
++ * This function makes sure UBIFS has enough free space to be mounted in
++ * read/write mode. UBIFS must always have some free space to allow deletions.
++ */
++static int check_free_space(struct ubifs_info *c)
++{
++ ubifs_assert(c->dark_wm > 0);
++ if (c->lst.total_free + c->lst.total_dirty < c->dark_wm) {
++ ubifs_err("insufficient free space to mount in read/write mode");
++ dbg_dump_budg(c);
++ dbg_dump_lprops(c);
++ return -ENOSPC;
++ }
++ return 0;
++}
++
++/**
++ * mount_ubifs - mount UBIFS file-system.
++ * @c: UBIFS file-system description object
++ *
++ * This function mounts UBIFS file system. Returns zero in case of success and
++ * a negative error code in case of failure.
++ *
++ * Note, the function does not de-allocate resources it it fails half way
++ * through, and the caller has to do this instead.
++ */
++static int mount_ubifs(struct ubifs_info *c)
++{
++ struct super_block *sb = c->vfs_sb;
++ int err, mounted_read_only = (sb->s_flags & MS_RDONLY);
++ long long x;
++ size_t sz;
++
++ err = init_constants_early(c);
++ if (err)
++ return err;
++
++ err = ubifs_debugging_init(c);
++ if (err)
++ return err;
++
++ err = check_volume_empty(c);
++ if (err)
++ goto out_free;
++
++ if (c->empty && (mounted_read_only || c->ro_media)) {
++ /*
++ * This UBI volume is empty, and read-only, or the file system
++ * is mounted read-only - we cannot format it.
++ */
++ ubifs_err("can't format empty UBI volume: read-only %s",
++ c->ro_media ? "UBI volume" : "mount");
++ err = -EROFS;
++ goto out_free;
++ }
++
++ if (c->ro_media && !mounted_read_only) {
++ ubifs_err("cannot mount read-write - read-only media");
++ err = -EROFS;
++ goto out_free;
++ }
++
++ /*
++ * The requirement for the buffer is that it should fit indexing B-tree
++ * height amount of integers. We assume the height if the TNC tree will
++ * never exceed 64.
++ */
++ err = -ENOMEM;
++ c->bottom_up_buf = kmalloc(BOTTOM_UP_HEIGHT * sizeof(int), GFP_KERNEL);
++ if (!c->bottom_up_buf)
++ goto out_free;
++
++ c->sbuf = vmalloc(c->leb_size);
++ if (!c->sbuf)
++ goto out_free;
++
++ if (!mounted_read_only) {
++ c->ileb_buf = vmalloc(c->leb_size);
++ if (!c->ileb_buf)
++ goto out_free;
++ }
++
++ if (c->bulk_read == 1)
++ bu_init(c);
++
++ /*
++ * We have to check all CRCs, even for data nodes, when we mount the FS
++ * (specifically, when we are replaying).
++ */
++ c->always_chk_crc = 1;
++
++ err = ubifs_read_superblock(c);
++ if (err)
++ goto out_free;
++
++ /*
++ * Make sure the compressor which is set as default in the superblock
++ * or overridden by mount options is actually compiled in.
++ */
++ if (!ubifs_compr_present(c->default_compr)) {
++ ubifs_err("'compressor \"%s\" is not compiled in",
++ ubifs_compr_name(c->default_compr));
++ goto out_free;
++ }
++
++ err = init_constants_sb(c);
++ if (err)
++ goto out_free;
++
++ sz = ALIGN(c->max_idx_node_sz, c->min_io_size);
++ sz = ALIGN(sz + c->max_idx_node_sz, c->min_io_size);
++ c->cbuf = kmalloc(sz, GFP_NOFS);
++ if (!c->cbuf) {
++ err = -ENOMEM;
++ goto out_free;
++ }
++
++ sprintf(c->bgt_name, BGT_NAME_PATTERN, c->vi.ubi_num, c->vi.vol_id);
++ if (!mounted_read_only) {
++ err = alloc_wbufs(c);
++ if (err)
++ goto out_cbuf;
++
++ /* Create background thread */
++ c->bgt = kthread_create(ubifs_bg_thread, c, "%s", c->bgt_name);
++ if (IS_ERR(c->bgt)) {
++ err = PTR_ERR(c->bgt);
++ c->bgt = NULL;
++ ubifs_err("cannot spawn \"%s\", error %d",
++ c->bgt_name, err);
++ goto out_wbufs;
++ }
++ wake_up_process(c->bgt);
++ }
++
++ err = ubifs_read_master(c);
++ if (err)
++ goto out_master;
++
++ init_constants_master(c);
++
++ if ((c->mst_node->flags & cpu_to_le32(UBIFS_MST_DIRTY)) != 0) {
++ ubifs_msg("recovery needed");
++ c->need_recovery = 1;
++ if (!mounted_read_only) {
++ err = ubifs_recover_inl_heads(c, c->sbuf);
++ if (err)
++ goto out_master;
++ }
++ } else if (!mounted_read_only) {
++ /*
++ * Set the "dirty" flag so that if we reboot uncleanly we
++ * will notice this immediately on the next mount.
++ */
++ c->mst_node->flags |= cpu_to_le32(UBIFS_MST_DIRTY);
++ err = ubifs_write_master(c);
++ if (err)
++ goto out_master;
++ }
++
++ err = ubifs_lpt_init(c, 1, !mounted_read_only);
++ if (err)
++ goto out_lpt;
++
++ err = dbg_check_idx_size(c, c->old_idx_sz);
++ if (err)
++ goto out_lpt;
++
++ err = ubifs_replay_journal(c);
++ if (err)
++ goto out_journal;
++
++ err = ubifs_mount_orphans(c, c->need_recovery, mounted_read_only);
++ if (err)
++ goto out_orphans;
++
++ if (!mounted_read_only) {
++ int lnum;
++
++ err = check_free_space(c);
++ if (err)
++ goto out_orphans;
++
++ /* Check for enough log space */
++ lnum = c->lhead_lnum + 1;
++ if (lnum >= UBIFS_LOG_LNUM + c->log_lebs)
++ lnum = UBIFS_LOG_LNUM;
++ if (lnum == c->ltail_lnum) {
++ err = ubifs_consolidate_log(c);
++ if (err)
++ goto out_orphans;
++ }
++
++ if (c->need_recovery) {
++ err = ubifs_recover_size(c);
++ if (err)
++ goto out_orphans;
++ err = ubifs_rcvry_gc_commit(c);
++ } else {
++ err = take_gc_lnum(c);
++ if (err)
++ goto out_orphans;
++
++ /*
++ * GC LEB may contain garbage if there was an unclean
++ * reboot, and it should be un-mapped.
++ */
++ err = ubifs_leb_unmap(c, c->gc_lnum);
++ if (err)
++ return err;
++ }
++
++ err = dbg_check_lprops(c);
++ if (err)
++ goto out_orphans;
++ } else if (c->need_recovery) {
++ err = ubifs_recover_size(c);
++ if (err)
++ goto out_orphans;
++ } else {
++ /*
++ * Even if we mount read-only, we have to set space in GC LEB
++ * to proper value because this affects UBIFS free space
++ * reporting. We do not want to have a situation when
++ * re-mounting from R/O to R/W changes amount of free space.
++ */
++ err = take_gc_lnum(c);
++ if (err)
++ goto out_orphans;
++ }
++
++ spin_lock(&ubifs_infos_lock);
++ list_add_tail(&c->infos_list, &ubifs_infos);
++ spin_unlock(&ubifs_infos_lock);
++
++ if (c->need_recovery) {
++ if (mounted_read_only)
++ ubifs_msg("recovery deferred");
++ else {
++ c->need_recovery = 0;
++ ubifs_msg("recovery completed");
++ /*
++ * GC LEB has to be empty and taken at this point. But
++ * the journal head LEBs may also be accounted as
++ * "empty taken" if they are empty.
++ */
++ ubifs_assert(c->lst.taken_empty_lebs > 0);
++ }
++ } else
++ ubifs_assert(c->lst.taken_empty_lebs > 0);
++
++ err = dbg_check_filesystem(c);
++ if (err)
++ goto out_infos;
++
++ err = dbg_debugfs_init_fs(c);
++ if (err)
++ goto out_infos;
++
++ c->always_chk_crc = 0;
++
++ ubifs_msg("mounted UBI device %d, volume %d, name \"%s\"",
++ c->vi.ubi_num, c->vi.vol_id, c->vi.name);
++ if (mounted_read_only)
++ ubifs_msg("mounted read-only");
++ x = (long long)c->main_lebs * c->leb_size;
++ ubifs_msg("file system size: %lld bytes (%lld KiB, %lld MiB, %d "
++ "LEBs)", x, x >> 10, x >> 20, c->main_lebs);
++ x = (long long)c->log_lebs * c->leb_size + c->max_bud_bytes;
++ ubifs_msg("journal size: %lld bytes (%lld KiB, %lld MiB, %d "
++ "LEBs)", x, x >> 10, x >> 20, c->log_lebs + c->max_bud_cnt);
++ ubifs_msg("media format: w%d/r%d (latest is w%d/r%d)",
++ c->fmt_version, c->ro_compat_version,
++ UBIFS_FORMAT_VERSION, UBIFS_RO_COMPAT_VERSION);
++ ubifs_msg("default compressor: %s", ubifs_compr_name(c->default_compr));
++ ubifs_msg("reserved for root: %llu bytes (%llu KiB)",
++ c->report_rp_size, c->report_rp_size >> 10);
++
++ dbg_msg("compiled on: " __DATE__ " at " __TIME__);
++ dbg_msg("min. I/O unit size: %d bytes", c->min_io_size);
++ dbg_msg("LEB size: %d bytes (%d KiB)",
++ c->leb_size, c->leb_size >> 10);
++ dbg_msg("data journal heads: %d",
++ c->jhead_cnt - NONDATA_JHEADS_CNT);
++ dbg_msg("UUID: %02X%02X%02X%02X-%02X%02X"
++ "-%02X%02X-%02X%02X-%02X%02X%02X%02X%02X%02X",
++ c->uuid[0], c->uuid[1], c->uuid[2], c->uuid[3],
++ c->uuid[4], c->uuid[5], c->uuid[6], c->uuid[7],
++ c->uuid[8], c->uuid[9], c->uuid[10], c->uuid[11],
++ c->uuid[12], c->uuid[13], c->uuid[14], c->uuid[15]);
++ dbg_msg("big_lpt %d", c->big_lpt);
++ dbg_msg("log LEBs: %d (%d - %d)",
++ c->log_lebs, UBIFS_LOG_LNUM, c->log_last);
++ dbg_msg("LPT area LEBs: %d (%d - %d)",
++ c->lpt_lebs, c->lpt_first, c->lpt_last);
++ dbg_msg("orphan area LEBs: %d (%d - %d)",
++ c->orph_lebs, c->orph_first, c->orph_last);
++ dbg_msg("main area LEBs: %d (%d - %d)",
++ c->main_lebs, c->main_first, c->leb_cnt - 1);
++ dbg_msg("index LEBs: %d", c->lst.idx_lebs);
++ dbg_msg("total index bytes: %lld (%lld KiB, %lld MiB)",
++ c->old_idx_sz, c->old_idx_sz >> 10, c->old_idx_sz >> 20);
++ dbg_msg("key hash type: %d", c->key_hash_type);
++ dbg_msg("tree fanout: %d", c->fanout);
++ dbg_msg("reserved GC LEB: %d", c->gc_lnum);
++ dbg_msg("first main LEB: %d", c->main_first);
++ dbg_msg("max. znode size %d", c->max_znode_sz);
++ dbg_msg("max. index node size %d", c->max_idx_node_sz);
++ dbg_msg("node sizes: data %zu, inode %zu, dentry %zu",
++ UBIFS_DATA_NODE_SZ, UBIFS_INO_NODE_SZ, UBIFS_DENT_NODE_SZ);
++ dbg_msg("node sizes: trun %zu, sb %zu, master %zu",
++ UBIFS_TRUN_NODE_SZ, UBIFS_SB_NODE_SZ, UBIFS_MST_NODE_SZ);
++ dbg_msg("node sizes: ref %zu, cmt. start %zu, orph %zu",
++ UBIFS_REF_NODE_SZ, UBIFS_CS_NODE_SZ, UBIFS_ORPH_NODE_SZ);
++ dbg_msg("max. node sizes: data %zu, inode %zu dentry %zu",
++ UBIFS_MAX_DATA_NODE_SZ, UBIFS_MAX_INO_NODE_SZ,
++ UBIFS_MAX_DENT_NODE_SZ);
++ dbg_msg("dead watermark: %d", c->dead_wm);
++ dbg_msg("dark watermark: %d", c->dark_wm);
++ dbg_msg("LEB overhead: %d", c->leb_overhead);
++ x = (long long)c->main_lebs * c->dark_wm;
++ dbg_msg("max. dark space: %lld (%lld KiB, %lld MiB)",
++ x, x >> 10, x >> 20);
++ dbg_msg("maximum bud bytes: %lld (%lld KiB, %lld MiB)",
++ c->max_bud_bytes, c->max_bud_bytes >> 10,
++ c->max_bud_bytes >> 20);
++ dbg_msg("BG commit bud bytes: %lld (%lld KiB, %lld MiB)",
++ c->bg_bud_bytes, c->bg_bud_bytes >> 10,
++ c->bg_bud_bytes >> 20);
++ dbg_msg("current bud bytes %lld (%lld KiB, %lld MiB)",
++ c->bud_bytes, c->bud_bytes >> 10, c->bud_bytes >> 20);
++ dbg_msg("max. seq. number: %llu", c->max_sqnum);
++ dbg_msg("commit number: %llu", c->cmt_no);
++
++ return 0;
++
++out_infos:
++ spin_lock(&ubifs_infos_lock);
++ list_del(&c->infos_list);
++ spin_unlock(&ubifs_infos_lock);
++out_orphans:
++ free_orphans(c);
++out_journal:
++ destroy_journal(c);
++out_lpt:
++ ubifs_lpt_free(c, 0);
++out_master:
++ kfree(c->mst_node);
++ kfree(c->rcvrd_mst_node);
++ if (c->bgt)
++ kthread_stop(c->bgt);
++out_wbufs:
++ free_wbufs(c);
++out_cbuf:
++ kfree(c->cbuf);
++out_free:
++ kfree(c->bu.buf);
++ vfree(c->ileb_buf);
++ vfree(c->sbuf);
++ kfree(c->bottom_up_buf);
++ ubifs_debugging_exit(c);
++ return err;
++}
++
++/**
++ * ubifs_umount - un-mount UBIFS file-system.
++ * @c: UBIFS file-system description object
++ *
++ * Note, this function is called to free allocated resourced when un-mounting,
++ * as well as free resources when an error occurred while we were half way
++ * through mounting (error path cleanup function). So it has to make sure the
++ * resource was actually allocated before freeing it.
++ */
++static void ubifs_umount(struct ubifs_info *c)
++{
++ dbg_gen("un-mounting UBI device %d, volume %d", c->vi.ubi_num,
++ c->vi.vol_id);
++
++ dbg_debugfs_exit_fs(c);
++ spin_lock(&ubifs_infos_lock);
++ list_del(&c->infos_list);
++ spin_unlock(&ubifs_infos_lock);
++
++ if (c->bgt)
++ kthread_stop(c->bgt);
++
++ destroy_journal(c);
++ free_wbufs(c);
++ free_orphans(c);
++ ubifs_lpt_free(c, 0);
++
++ kfree(c->cbuf);
++ kfree(c->rcvrd_mst_node);
++ kfree(c->mst_node);
++ kfree(c->bu.buf);
++ vfree(c->ileb_buf);
++ vfree(c->sbuf);
++ kfree(c->bottom_up_buf);
++ ubifs_debugging_exit(c);
++}
++
++/**
++ * ubifs_remount_rw - re-mount in read-write mode.
++ * @c: UBIFS file-system description object
++ *
++ * UBIFS avoids allocating many unnecessary resources when mounted in read-only
++ * mode. This function allocates the needed resources and re-mounts UBIFS in
++ * read-write mode.
++ */
++static int ubifs_remount_rw(struct ubifs_info *c)
++{
++ int err, lnum;
++
++ if (c->rw_incompat) {
++ ubifs_err("the file-system is not R/W-compatible");
++ ubifs_msg("on-flash format version is w%d/r%d, but software "
++ "only supports up to version w%d/r%d", c->fmt_version,
++ c->ro_compat_version, UBIFS_FORMAT_VERSION,
++ UBIFS_RO_COMPAT_VERSION);
++ return -EROFS;
++ }
++
++ mutex_lock(&c->umount_mutex);
++ dbg_save_space_info(c);
++ c->remounting_rw = 1;
++ c->always_chk_crc = 1;
++
++ err = check_free_space(c);
++ if (err)
++ goto out;
++
++ if (c->old_leb_cnt != c->leb_cnt) {
++ struct ubifs_sb_node *sup;
++
++ sup = ubifs_read_sb_node(c);
++ if (IS_ERR(sup)) {
++ err = PTR_ERR(sup);
++ goto out;
++ }
++ sup->leb_cnt = cpu_to_le32(c->leb_cnt);
++ err = ubifs_write_sb_node(c, sup);
++ if (err)
++ goto out;
++ }
++
++ if (c->need_recovery) {
++ ubifs_msg("completing deferred recovery");
++ err = ubifs_write_rcvrd_mst_node(c);
++ if (err)
++ goto out;
++ err = ubifs_recover_size(c);
++ if (err)
++ goto out;
++ err = ubifs_clean_lebs(c, c->sbuf);
++ if (err)
++ goto out;
++ err = ubifs_recover_inl_heads(c, c->sbuf);
++ if (err)
++ goto out;
++ } else {
++ /* A readonly mount is not allowed to have orphans */
++ ubifs_assert(c->tot_orphans == 0);
++ err = ubifs_clear_orphans(c);
++ if (err)
++ goto out;
++ }
++
++ if (!(c->mst_node->flags & cpu_to_le32(UBIFS_MST_DIRTY))) {
++ c->mst_node->flags |= cpu_to_le32(UBIFS_MST_DIRTY);
++ err = ubifs_write_master(c);
++ if (err)
++ goto out;
++ }
++
++ c->ileb_buf = vmalloc(c->leb_size);
++ if (!c->ileb_buf) {
++ err = -ENOMEM;
++ goto out;
++ }
++
++ err = ubifs_lpt_init(c, 0, 1);
++ if (err)
++ goto out;
++
++ err = alloc_wbufs(c);
++ if (err)
++ goto out;
++
++ ubifs_create_buds_lists(c);
++
++ /* Create background thread */
++ c->bgt = kthread_create(ubifs_bg_thread, c, "%s", c->bgt_name);
++ if (IS_ERR(c->bgt)) {
++ err = PTR_ERR(c->bgt);
++ c->bgt = NULL;
++ ubifs_err("cannot spawn \"%s\", error %d",
++ c->bgt_name, err);
++ goto out;
++ }
++ wake_up_process(c->bgt);
++
++ c->orph_buf = vmalloc(c->leb_size);
++ if (!c->orph_buf) {
++ err = -ENOMEM;
++ goto out;
++ }
++
++ /* Check for enough log space */
++ lnum = c->lhead_lnum + 1;
++ if (lnum >= UBIFS_LOG_LNUM + c->log_lebs)
++ lnum = UBIFS_LOG_LNUM;
++ if (lnum == c->ltail_lnum) {
++ err = ubifs_consolidate_log(c);
++ if (err)
++ goto out;
++ }
++
++ if (c->need_recovery)
++ err = ubifs_rcvry_gc_commit(c);
++ else
++ err = ubifs_leb_unmap(c, c->gc_lnum);
++ if (err)
++ goto out;
++
++ if (c->need_recovery) {
++ c->need_recovery = 0;
++ ubifs_msg("deferred recovery completed");
++ }
++
++ dbg_gen("re-mounted read-write");
++ c->vfs_sb->s_flags &= ~MS_RDONLY;
++ c->remounting_rw = 0;
++ c->always_chk_crc = 0;
++ err = dbg_check_space_info(c);
++ mutex_unlock(&c->umount_mutex);
++ return err;
++
++out:
++ vfree(c->orph_buf);
++ c->orph_buf = NULL;
++ if (c->bgt) {
++ kthread_stop(c->bgt);
++ c->bgt = NULL;
++ }
++ free_wbufs(c);
++ vfree(c->ileb_buf);
++ c->ileb_buf = NULL;
++ ubifs_lpt_free(c, 1);
++ c->remounting_rw = 0;
++ c->always_chk_crc = 0;
++ mutex_unlock(&c->umount_mutex);
++ return err;
++}
++
++/**
++ * ubifs_remount_ro - re-mount in read-only mode.
++ * @c: UBIFS file-system description object
++ *
++ * We assume VFS has stopped writing. Possibly the background thread could be
++ * running a commit, however kthread_stop will wait in that case.
++ */
++static void ubifs_remount_ro(struct ubifs_info *c)
++{
++ int i, err;
++
++ ubifs_assert(!c->need_recovery);
++ ubifs_assert(!(c->vfs_sb->s_flags & MS_RDONLY));
++
++ mutex_lock(&c->umount_mutex);
++ if (c->bgt) {
++ kthread_stop(c->bgt);
++ c->bgt = NULL;
++ }
++
++ dbg_save_space_info(c);
++
++ for (i = 0; i < c->jhead_cnt; i++) {
++ ubifs_wbuf_sync(&c->jheads[i].wbuf);
++ del_timer_sync(&c->jheads[i].wbuf.timer);
++ }
++
++ c->mst_node->flags &= ~cpu_to_le32(UBIFS_MST_DIRTY);
++ c->mst_node->flags |= cpu_to_le32(UBIFS_MST_NO_ORPHS);
++ c->mst_node->gc_lnum = cpu_to_le32(c->gc_lnum);
++ err = ubifs_write_master(c);
++ if (err)
++ ubifs_ro_mode(c, err);
++
++ free_wbufs(c);
++ vfree(c->orph_buf);
++ c->orph_buf = NULL;
++ vfree(c->ileb_buf);
++ c->ileb_buf = NULL;
++ ubifs_lpt_free(c, 1);
++ err = dbg_check_space_info(c);
++ if (err)
++ ubifs_ro_mode(c, err);
++ mutex_unlock(&c->umount_mutex);
++}
++
++static void ubifs_put_super(struct super_block *sb)
++{
++ int i;
++ struct ubifs_info *c = sb->s_fs_info;
++
++ ubifs_msg("un-mount UBI device %d, volume %d", c->vi.ubi_num,
++ c->vi.vol_id);
++ /*
++ * The following asserts are only valid if there has not been a failure
++ * of the media. For example, there will be dirty inodes if we failed
++ * to write them back because of I/O errors.
++ */
++ ubifs_assert(atomic_long_read(&c->dirty_pg_cnt) == 0);
++ ubifs_assert(c->budg_idx_growth == 0);
++ ubifs_assert(c->budg_dd_growth == 0);
++ ubifs_assert(c->budg_data_growth == 0);
++
++ /*
++ * The 'c->umount_lock' prevents races between UBIFS memory shrinker
++ * and file system un-mount. Namely, it prevents the shrinker from
++ * picking this superblock for shrinking - it will be just skipped if
++ * the mutex is locked.
++ */
++ mutex_lock(&c->umount_mutex);
++ if (!(c->vfs_sb->s_flags & MS_RDONLY)) {
++ /*
++ * First of all kill the background thread to make sure it does
++ * not interfere with un-mounting and freeing resources.
++ */
++ if (c->bgt) {
++ kthread_stop(c->bgt);
++ c->bgt = NULL;
++ }
++
++ /* Synchronize write-buffers */
++ if (c->jheads)
++ for (i = 0; i < c->jhead_cnt; i++) {
++ ubifs_wbuf_sync(&c->jheads[i].wbuf);
++ del_timer_sync(&c->jheads[i].wbuf.timer);
++ }
++
++ /*
++ * On fatal errors c->ro_media is set to 1, in which case we do
++ * not write the master node.
++ */
++ if (!c->ro_media) {
++ /*
++ * We are being cleanly unmounted which means the
++ * orphans were killed - indicate this in the master
++ * node. Also save the reserved GC LEB number.
++ */
++ int err;
++
++ c->mst_node->flags &= ~cpu_to_le32(UBIFS_MST_DIRTY);
++ c->mst_node->flags |= cpu_to_le32(UBIFS_MST_NO_ORPHS);
++ c->mst_node->gc_lnum = cpu_to_le32(c->gc_lnum);
++ err = ubifs_write_master(c);
++ if (err)
++ /*
++ * Recovery will attempt to fix the master area
++ * next mount, so we just print a message and
++ * continue to unmount normally.
++ */
++ ubifs_err("failed to write master node, "
++ "error %d", err);
++ }
++ }
++
++ ubifs_umount(c);
++ bdi_destroy(&c->bdi);
++ ubi_close_volume(c->ubi);
++ mutex_unlock(&c->umount_mutex);
++ kfree(c);
++}
++
++static int ubifs_remount_fs(struct super_block *sb, int *flags, char *data)
++{
++ int err;
++ struct ubifs_info *c = sb->s_fs_info;
++
++ dbg_gen("old flags %#lx, new flags %#x", sb->s_flags, *flags);
++
++ err = ubifs_parse_options(c, data, 1);
++ if (err) {
++ ubifs_err("invalid or unknown remount parameter");
++ return err;
++ }
++
++ if ((sb->s_flags & MS_RDONLY) && !(*flags & MS_RDONLY)) {
++ if (c->ro_media) {
++ ubifs_msg("cannot re-mount due to prior errors");
++ return -EROFS;
++ }
++ err = ubifs_remount_rw(c);
++ if (err)
++ return err;
++ } else if (!(sb->s_flags & MS_RDONLY) && (*flags & MS_RDONLY)) {
++ if (c->ro_media) {
++ ubifs_msg("cannot re-mount due to prior errors");
++ return -EROFS;
++ }
++ ubifs_remount_ro(c);
++ }
++
++ if (c->bulk_read == 1)
++ bu_init(c);
++ else {
++ dbg_gen("disable bulk-read");
++ kfree(c->bu.buf);
++ c->bu.buf = NULL;
++ }
++
++ ubifs_assert(c->lst.taken_empty_lebs > 0);
++ return 0;
++}
++
++const struct super_operations ubifs_super_operations = {
++ .read_inode = ubifs_read_inode,
++ .alloc_inode = ubifs_alloc_inode,
++ .destroy_inode = ubifs_destroy_inode,
++ .put_super = ubifs_put_super,
++ .write_inode = ubifs_write_inode,
++ .delete_inode = ubifs_delete_inode,
++ .statfs = ubifs_statfs,
++ .dirty_inode = ubifs_dirty_inode,
++ .remount_fs = ubifs_remount_fs,
++ .show_options = ubifs_show_options,
++ .sync_fs = ubifs_sync_fs,
++};
++
++/**
++ * open_ubi - parse UBI device name string and open the UBI device.
++ * @name: UBI volume name
++ * @mode: UBI volume open mode
++ *
++ * There are several ways to specify UBI volumes when mounting UBIFS:
++ * o ubiX_Y - UBI device number X, volume Y;
++ * o ubiY - UBI device number 0, volume Y;
++ * o ubiX:NAME - mount UBI device X, volume with name NAME;
++ * o ubi:NAME - mount UBI device 0, volume with name NAME.
++ *
++ * Alternative '!' separator may be used instead of ':' (because some shells
++ * like busybox may interpret ':' as an NFS host name separator). This function
++ * returns ubi volume object in case of success and a negative error code in
++ * case of failure.
++ */
++static struct ubi_volume_desc *open_ubi(const char *name, int mode)
++{
++ int dev, vol;
++ char *endptr;
++
++ if (name[0] != 'u' || name[1] != 'b' || name[2] != 'i')
++ return ERR_PTR(-EINVAL);
++
++ /* ubi:NAME method */
++ if ((name[3] == ':' || name[3] == '!') && name[4] != '\0')
++ return ubi_open_volume_nm(0, name + 4, mode);
++
++ if (!isdigit(name[3]))
++ return ERR_PTR(-EINVAL);
++
++ dev = simple_strtoul(name + 3, &endptr, 0);
++
++ /* ubiY method */
++ if (*endptr == '\0')
++ return ubi_open_volume(0, dev, mode);
++
++ /* ubiX_Y method */
++ if (*endptr == '_' && isdigit(endptr[1])) {
++ vol = simple_strtoul(endptr + 1, &endptr, 0);
++ if (*endptr != '\0')
++ return ERR_PTR(-EINVAL);
++ return ubi_open_volume(dev, vol, mode);
++ }
++
++ /* ubiX:NAME method */
++ if ((*endptr == ':' || *endptr == '!') && endptr[1] != '\0')
++ return ubi_open_volume_nm(dev, ++endptr, mode);
++
++ return ERR_PTR(-EINVAL);
++}
++
++static int ubifs_fill_super(struct super_block *sb, void *data, int silent)
++{
++ struct ubi_volume_desc *ubi = sb->s_fs_info;
++ struct ubifs_info *c;
++ struct inode *root;
++ int err;
++
++ c = kzalloc(sizeof(struct ubifs_info), GFP_KERNEL);
++ if (!c)
++ return -ENOMEM;
++
++ spin_lock_init(&c->cnt_lock);
++ spin_lock_init(&c->cs_lock);
++ spin_lock_init(&c->buds_lock);
++ spin_lock_init(&c->space_lock);
++ spin_lock_init(&c->orphan_lock);
++ init_rwsem(&c->commit_sem);
++ mutex_init(&c->lp_mutex);
++ mutex_init(&c->tnc_mutex);
++ mutex_init(&c->log_mutex);
++ mutex_init(&c->mst_mutex);
++ mutex_init(&c->umount_mutex);
++ mutex_init(&c->bu_mutex);
++ init_waitqueue_head(&c->cmt_wq);
++ c->buds = RB_ROOT;
++ c->old_idx = RB_ROOT;
++ c->size_tree = RB_ROOT;
++ c->orph_tree = RB_ROOT;
++ INIT_LIST_HEAD(&c->infos_list);
++ INIT_LIST_HEAD(&c->idx_gc);
++ INIT_LIST_HEAD(&c->replay_list);
++ INIT_LIST_HEAD(&c->replay_buds);
++ INIT_LIST_HEAD(&c->uncat_list);
++ INIT_LIST_HEAD(&c->empty_list);
++ INIT_LIST_HEAD(&c->freeable_list);
++ INIT_LIST_HEAD(&c->frdi_idx_list);
++ INIT_LIST_HEAD(&c->unclean_leb_list);
++ INIT_LIST_HEAD(&c->old_buds);
++ INIT_LIST_HEAD(&c->orph_list);
++ INIT_LIST_HEAD(&c->orph_new);
++
++ c->highest_inum = UBIFS_FIRST_INO;
++ c->lhead_lnum = c->ltail_lnum = UBIFS_LOG_LNUM;
++
++ ubi_get_volume_info(ubi, &c->vi);
++ ubi_get_device_info(c->vi.ubi_num, &c->di);
++
++ /* Re-open the UBI device in read-write mode */
++ c->ubi = ubi_open_volume(c->vi.ubi_num, c->vi.vol_id, UBI_READWRITE);
++ if (IS_ERR(c->ubi)) {
++ err = PTR_ERR(c->ubi);
++ goto out_free;
++ }
++
++ /*
++ * UBIFS provides 'backing_dev_info' in order to disable read-ahead. For
++ * UBIFS, I/O is not deferred, it is done immediately in readpage,
++ * which means the user would have to wait not just for their own I/O
++ * but the read-ahead I/O as well i.e. completely pointless.
++ *
++ * Read-ahead will be disabled because @c->bdi.ra_pages is 0.
++ */
++ c->bdi.capabilities = BDI_CAP_MAP_COPY;
++ c->bdi.unplug_io_fn = default_unplug_io_fn;
++ err = bdi_init(&c->bdi);
++ if (err)
++ goto out_close;
++
++ err = ubifs_parse_options(c, data, 0);
++ if (err)
++ goto out_bdi;
++
++ c->vfs_sb = sb;
++
++ sb->s_fs_info = c;
++ sb->s_magic = UBIFS_SUPER_MAGIC;
++ sb->s_blocksize = UBIFS_BLOCK_SIZE;
++ sb->s_blocksize_bits = UBIFS_BLOCK_SHIFT;
++ sb->s_dev = c->vi.cdev;
++ sb->s_maxbytes = c->max_inode_sz = key_max_inode_size(c);
++ if (c->max_inode_sz > MAX_LFS_FILESIZE)
++ sb->s_maxbytes = c->max_inode_sz = MAX_LFS_FILESIZE;
++ sb->s_op = &ubifs_super_operations;
++
++ mutex_lock(&c->umount_mutex);
++ err = mount_ubifs(c);
++ if (err) {
++ ubifs_assert(err < 0);
++ goto out_unlock;
++ }
++
++ /* Read the root inode */
++ root = ubifs_iget(sb, UBIFS_ROOT_INO);
++ if (IS_ERR(root)) {
++ err = PTR_ERR(root);
++ goto out_umount;
++ }
++
++ sb->s_root = d_alloc_root(root);
++ if (!sb->s_root)
++ goto out_iput;
++
++ mutex_unlock(&c->umount_mutex);
++ return 0;
++
++out_iput:
++ iput(root);
++out_umount:
++ ubifs_umount(c);
++out_unlock:
++ mutex_unlock(&c->umount_mutex);
++out_bdi:
++ bdi_destroy(&c->bdi);
++out_close:
++ ubi_close_volume(c->ubi);
++out_free:
++ kfree(c);
++ return err;
++}
++
++static int sb_test(struct super_block *sb, void *data)
++{
++ dev_t *dev = data;
++
++ return sb->s_dev == *dev;
++}
++
++static int sb_set(struct super_block *sb, void *data)
++{
++ dev_t *dev = data;
++
++ sb->s_dev = *dev;
++ return 0;
++}
++
++static int ubifs_get_sb(struct file_system_type *fs_type, int flags,
++ const char *name, void *data, struct vfsmount *mnt)
++{
++ struct ubi_volume_desc *ubi;
++ struct ubi_volume_info vi;
++ struct super_block *sb;
++ int err;
++
++ dbg_gen("name %s, flags %#x", name, flags);
++
++ /*
++ * Get UBI device number and volume ID. Mount it read-only so far
++ * because this might be a new mount point, and UBI allows only one
++ * read-write user at a time.
++ */
++ ubi = open_ubi(name, UBI_READONLY);
++ if (IS_ERR(ubi)) {
++ ubifs_err("cannot open \"%s\", error %d",
++ name, (int)PTR_ERR(ubi));
++ return PTR_ERR(ubi);
++ }
++ ubi_get_volume_info(ubi, &vi);
++
++ dbg_gen("opened ubi%d_%d", vi.ubi_num, vi.vol_id);
++
++ sb = sget(fs_type, &sb_test, &sb_set, &vi.cdev);
++ if (IS_ERR(sb)) {
++ err = PTR_ERR(sb);
++ goto out_close;
++ }
++
++ if (sb->s_root) {
++ /* A new mount point for already mounted UBIFS */
++ dbg_gen("this ubi volume is already mounted");
++ if ((flags ^ sb->s_flags) & MS_RDONLY) {
++ err = -EBUSY;
++ goto out_deact;
++ }
++ } else {
++ sb->s_flags = flags;
++ /*
++ * Pass 'ubi' to 'fill_super()' in sb->s_fs_info where it is
++ * replaced by 'c'.
++ */
++ sb->s_fs_info = ubi;
++ err = ubifs_fill_super(sb, data, flags & MS_SILENT ? 1 : 0);
++ if (err)
++ goto out_deact;
++ /* We do not support atime */
++ sb->s_flags |= MS_ACTIVE | MS_NOATIME;
++ }
++
++ /* 'fill_super()' opens ubi again so we must close it here */
++ ubi_close_volume(ubi);
++
++ return simple_set_mnt(mnt, sb);
++
++out_deact:
++ up_write(&sb->s_umount);
++ deactivate_super(sb);
++out_close:
++ ubi_close_volume(ubi);
++ return err;
++}
++
++static void ubifs_kill_sb(struct super_block *sb)
++{
++ generic_shutdown_super(sb);
++}
++
++static struct file_system_type ubifs_fs_type = {
++ .name = "ubifs",
++ .owner = THIS_MODULE,
++ .get_sb = ubifs_get_sb,
++ .kill_sb = ubifs_kill_sb,
++ .fs_flags = FS_REQUIRES_DEV,
++};
++
++/*
++ * Inode slab cache constructor.
++ */
++static void inode_slab_ctor(struct kmem_cache *cachep, void *obj)
++{
++ struct ubifs_inode *ui = obj;
++ inode_init_once(&ui->vfs_inode);
++}
++
++static int __init ubifs_init(void)
++{
++ int err;
++
++ BUILD_BUG_ON(sizeof(struct ubifs_ch) != 24);
++
++ /* Make sure node sizes are 8-byte aligned */
++ BUILD_BUG_ON(UBIFS_CH_SZ & 7);
++ BUILD_BUG_ON(UBIFS_INO_NODE_SZ & 7);
++ BUILD_BUG_ON(UBIFS_DENT_NODE_SZ & 7);
++ BUILD_BUG_ON(UBIFS_XENT_NODE_SZ & 7);
++ BUILD_BUG_ON(UBIFS_DATA_NODE_SZ & 7);
++ BUILD_BUG_ON(UBIFS_TRUN_NODE_SZ & 7);
++ BUILD_BUG_ON(UBIFS_SB_NODE_SZ & 7);
++ BUILD_BUG_ON(UBIFS_MST_NODE_SZ & 7);
++ BUILD_BUG_ON(UBIFS_REF_NODE_SZ & 7);
++ BUILD_BUG_ON(UBIFS_CS_NODE_SZ & 7);
++ BUILD_BUG_ON(UBIFS_ORPH_NODE_SZ & 7);
++
++ BUILD_BUG_ON(UBIFS_MAX_DENT_NODE_SZ & 7);
++ BUILD_BUG_ON(UBIFS_MAX_XENT_NODE_SZ & 7);
++ BUILD_BUG_ON(UBIFS_MAX_DATA_NODE_SZ & 7);
++ BUILD_BUG_ON(UBIFS_MAX_INO_NODE_SZ & 7);
++ BUILD_BUG_ON(UBIFS_MAX_NODE_SZ & 7);
++ BUILD_BUG_ON(MIN_WRITE_SZ & 7);
++
++ /* Check min. node size */
++ BUILD_BUG_ON(UBIFS_INO_NODE_SZ < MIN_WRITE_SZ);
++ BUILD_BUG_ON(UBIFS_DENT_NODE_SZ < MIN_WRITE_SZ);
++ BUILD_BUG_ON(UBIFS_XENT_NODE_SZ < MIN_WRITE_SZ);
++ BUILD_BUG_ON(UBIFS_TRUN_NODE_SZ < MIN_WRITE_SZ);
++
++ BUILD_BUG_ON(UBIFS_MAX_DENT_NODE_SZ > UBIFS_MAX_NODE_SZ);
++ BUILD_BUG_ON(UBIFS_MAX_XENT_NODE_SZ > UBIFS_MAX_NODE_SZ);
++ BUILD_BUG_ON(UBIFS_MAX_DATA_NODE_SZ > UBIFS_MAX_NODE_SZ);
++ BUILD_BUG_ON(UBIFS_MAX_INO_NODE_SZ > UBIFS_MAX_NODE_SZ);
++
++ /* Defined node sizes */
++ BUILD_BUG_ON(UBIFS_SB_NODE_SZ != 4096);
++ BUILD_BUG_ON(UBIFS_MST_NODE_SZ != 512);
++ BUILD_BUG_ON(UBIFS_INO_NODE_SZ != 160);
++ BUILD_BUG_ON(UBIFS_REF_NODE_SZ != 64);
++
++ /*
++ * We use 2 bit wide bit-fields to store compression type, which should
++ * be amended if more compressors are added. The bit-fields are:
++ * @compr_type in 'struct ubifs_inode', @default_compr in
++ * 'struct ubifs_info' and @compr_type in 'struct ubifs_mount_opts'.
++ */
++ BUILD_BUG_ON(UBIFS_COMPR_TYPES_CNT > 4);
++
++ /*
++ * We require that PAGE_CACHE_SIZE is greater-than-or-equal-to
++ * UBIFS_BLOCK_SIZE. It is assumed that both are powers of 2.
++ */
++ if (PAGE_CACHE_SIZE < UBIFS_BLOCK_SIZE) {
++ ubifs_err("VFS page cache size is %u bytes, but UBIFS requires"
++ " at least 4096 bytes",
++ (unsigned int)PAGE_CACHE_SIZE);
++ return -EINVAL;
++ }
++
++ err = register_filesystem(&ubifs_fs_type);
++ if (err) {
++ ubifs_err("cannot register file system, error %d", err);
++ return err;
++ }
++
++ err = -ENOMEM;
++ ubifs_inode_slab = kmem_cache_create("ubifs_inode_slab",
++ sizeof(struct ubifs_inode), 0,
++ SLAB_MEM_SPREAD | SLAB_RECLAIM_ACCOUNT,
++ &inode_slab_ctor);
++ if (!ubifs_inode_slab)
++ goto out_reg;
++
++ register_shrinker(&ubifs_shrinker_info);
++
++ err = ubifs_compressors_init();
++ if (err)
++ goto out_shrinker;
++
++ err = dbg_debugfs_init();
++ if (err)
++ goto out_compr;
++
++ return 0;
++
++out_compr:
++ ubifs_compressors_exit();
++out_shrinker:
++ unregister_shrinker(&ubifs_shrinker_info);
++ kmem_cache_destroy(ubifs_inode_slab);
++out_reg:
++ unregister_filesystem(&ubifs_fs_type);
++ return err;
++}
++/* late_initcall to let compressors initialize first */
++late_initcall(ubifs_init);
++
++static void __exit ubifs_exit(void)
++{
++ ubifs_assert(list_empty(&ubifs_infos));
++ ubifs_assert(atomic_long_read(&ubifs_clean_zn_cnt) == 0);
++
++ dbg_debugfs_exit();
++ ubifs_compressors_exit();
++ unregister_shrinker(&ubifs_shrinker_info);
++ kmem_cache_destroy(ubifs_inode_slab);
++ unregister_filesystem(&ubifs_fs_type);
++}
++module_exit(ubifs_exit);
++
++MODULE_LICENSE("GPL");
++MODULE_VERSION(__stringify(UBIFS_VERSION));
++MODULE_AUTHOR("Artem Bityutskiy, Adrian Hunter");
++MODULE_DESCRIPTION("UBIFS - UBI File System");
+diff -Nurd linux-2.6.24/fs/ubifs/tnc.c ubifs-v2.6.24/fs/ubifs/tnc.c
+--- linux-2.6.24/fs/ubifs/tnc.c 1970-01-01 02:00:00.000000000 +0200
++++ ubifs-v2.6.24/fs/ubifs/tnc.c 2009-04-07 17:14:47.000000000 +0200
+@@ -0,0 +1,3270 @@
++/*
++ * This file is part of UBIFS.
++ *
++ * Copyright (C) 2006-2008 Nokia Corporation.
++ *
++ * This program is free software; you can redistribute it and/or modify it
++ * under the terms of the GNU General Public License version 2 as published by
++ * the Free Software Foundation.
++ *
++ * 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, write to the Free Software Foundation, Inc., 51
++ * Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
++ *
++ * Authors: Adrian Hunter
++ * Artem Bityutskiy (Битюцкий Ðртём)
++ */
++
++/*
++ * This file implements TNC (Tree Node Cache) which caches indexing nodes of
++ * the UBIFS B-tree.
++ *
++ * At the moment the locking rules of the TNC tree are quite simple and
++ * straightforward. We just have a mutex and lock it when we traverse the
++ * tree. If a znode is not in memory, we read it from flash while still having
++ * the mutex locked.
++ */
++
++#include <linux/crc32.h>
++#include "ubifs.h"
++
++/*
++ * Returned codes of 'matches_name()' and 'fallible_matches_name()' functions.
++ * @NAME_LESS: name corresponding to the first argument is less than second
++ * @NAME_MATCHES: names match
++ * @NAME_GREATER: name corresponding to the second argument is greater than
++ * first
++ * @NOT_ON_MEDIA: node referred by zbranch does not exist on the media
++ *
++ * These constants were introduce to improve readability.
++ */
++enum {
++ NAME_LESS = 0,
++ NAME_MATCHES = 1,
++ NAME_GREATER = 2,
++ NOT_ON_MEDIA = 3,
++};
++
++/**
++ * insert_old_idx - record an index node obsoleted since the last commit start.
++ * @c: UBIFS file-system description object
++ * @lnum: LEB number of obsoleted index node
++ * @offs: offset of obsoleted index node
++ *
++ * Returns %0 on success, and a negative error code on failure.
++ *
++ * For recovery, there must always be a complete intact version of the index on
++ * flash at all times. That is called the "old index". It is the index as at the
++ * time of the last successful commit. Many of the index nodes in the old index
++ * may be dirty, but they must not be erased until the next successful commit
++ * (at which point that index becomes the old index).
++ *
++ * That means that the garbage collection and the in-the-gaps method of
++ * committing must be able to determine if an index node is in the old index.
++ * Most of the old index nodes can be found by looking up the TNC using the
++ * 'lookup_znode()' function. However, some of the old index nodes may have
++ * been deleted from the current index or may have been changed so much that
++ * they cannot be easily found. In those cases, an entry is added to an RB-tree.
++ * That is what this function does. The RB-tree is ordered by LEB number and
++ * offset because they uniquely identify the old index node.
++ */
++static int insert_old_idx(struct ubifs_info *c, int lnum, int offs)
++{
++ struct ubifs_old_idx *old_idx, *o;
++ struct rb_node **p, *parent = NULL;
++
++ old_idx = kmalloc(sizeof(struct ubifs_old_idx), GFP_NOFS);
++ if (unlikely(!old_idx))
++ return -ENOMEM;
++ old_idx->lnum = lnum;
++ old_idx->offs = offs;
++
++ p = &c->old_idx.rb_node;
++ while (*p) {
++ parent = *p;
++ o = rb_entry(parent, struct ubifs_old_idx, rb);
++ if (lnum < o->lnum)
++ p = &(*p)->rb_left;
++ else if (lnum > o->lnum)
++ p = &(*p)->rb_right;
++ else if (offs < o->offs)
++ p = &(*p)->rb_left;
++ else if (offs > o->offs)
++ p = &(*p)->rb_right;
++ else {
++ ubifs_err("old idx added twice!");
++ kfree(old_idx);
++ return 0;
++ }
++ }
++ rb_link_node(&old_idx->rb, parent, p);
++ rb_insert_color(&old_idx->rb, &c->old_idx);
++ return 0;
++}
++
++/**
++ * insert_old_idx_znode - record a znode obsoleted since last commit start.
++ * @c: UBIFS file-system description object
++ * @znode: znode of obsoleted index node
++ *
++ * Returns %0 on success, and a negative error code on failure.
++ */
++int insert_old_idx_znode(struct ubifs_info *c, struct ubifs_znode *znode)
++{
++ if (znode->parent) {
++ struct ubifs_zbranch *zbr;
++
++ zbr = &znode->parent->zbranch[znode->iip];
++ if (zbr->len)
++ return insert_old_idx(c, zbr->lnum, zbr->offs);
++ } else
++ if (c->zroot.len)
++ return insert_old_idx(c, c->zroot.lnum,
++ c->zroot.offs);
++ return 0;
++}
++
++/**
++ * ins_clr_old_idx_znode - record a znode obsoleted since last commit start.
++ * @c: UBIFS file-system description object
++ * @znode: znode of obsoleted index node
++ *
++ * Returns %0 on success, and a negative error code on failure.
++ */
++static int ins_clr_old_idx_znode(struct ubifs_info *c,
++ struct ubifs_znode *znode)
++{
++ int err;
++
++ if (znode->parent) {
++ struct ubifs_zbranch *zbr;
++
++ zbr = &znode->parent->zbranch[znode->iip];
++ if (zbr->len) {
++ err = insert_old_idx(c, zbr->lnum, zbr->offs);
++ if (err)
++ return err;
++ zbr->lnum = 0;
++ zbr->offs = 0;
++ zbr->len = 0;
++ }
++ } else
++ if (c->zroot.len) {
++ err = insert_old_idx(c, c->zroot.lnum, c->zroot.offs);
++ if (err)
++ return err;
++ c->zroot.lnum = 0;
++ c->zroot.offs = 0;
++ c->zroot.len = 0;
++ }
++ return 0;
++}
++
++/**
++ * destroy_old_idx - destroy the old_idx RB-tree.
++ * @c: UBIFS file-system description object
++ *
++ * During start commit, the old_idx RB-tree is used to avoid overwriting index
++ * nodes that were in the index last commit but have since been deleted. This
++ * is necessary for recovery i.e. the old index must be kept intact until the
++ * new index is successfully written. The old-idx RB-tree is used for the
++ * in-the-gaps method of writing index nodes and is destroyed every commit.
++ */
++void destroy_old_idx(struct ubifs_info *c)
++{
++ struct rb_node *this = c->old_idx.rb_node;
++ struct ubifs_old_idx *old_idx;
++
++ while (this) {
++ if (this->rb_left) {
++ this = this->rb_left;
++ continue;
++ } else if (this->rb_right) {
++ this = this->rb_right;
++ continue;
++ }
++ old_idx = rb_entry(this, struct ubifs_old_idx, rb);
++ this = rb_parent(this);
++ if (this) {
++ if (this->rb_left == &old_idx->rb)
++ this->rb_left = NULL;
++ else
++ this->rb_right = NULL;
++ }
++ kfree(old_idx);
++ }
++ c->old_idx = RB_ROOT;
++}
++
++/**
++ * copy_znode - copy a dirty znode.
++ * @c: UBIFS file-system description object
++ * @znode: znode to copy
++ *
++ * A dirty znode being committed may not be changed, so it is copied.
++ */
++static struct ubifs_znode *copy_znode(struct ubifs_info *c,
++ struct ubifs_znode *znode)
++{
++ struct ubifs_znode *zn;
++
++ zn = kmalloc(c->max_znode_sz, GFP_NOFS);
++ if (unlikely(!zn))
++ return ERR_PTR(-ENOMEM);
++
++ memcpy(zn, znode, c->max_znode_sz);
++ zn->cnext = NULL;
++ __set_bit(DIRTY_ZNODE, &zn->flags);
++ __clear_bit(COW_ZNODE, &zn->flags);
++
++ ubifs_assert(!test_bit(OBSOLETE_ZNODE, &znode->flags));
++ __set_bit(OBSOLETE_ZNODE, &znode->flags);
++
++ if (znode->level != 0) {
++ int i;
++ const int n = zn->child_cnt;
++
++ /* The children now have new parent */
++ for (i = 0; i < n; i++) {
++ struct ubifs_zbranch *zbr = &zn->zbranch[i];
++
++ if (zbr->znode)
++ zbr->znode->parent = zn;
++ }
++ }
++
++ atomic_long_inc(&c->dirty_zn_cnt);
++ return zn;
++}
++
++/**
++ * add_idx_dirt - add dirt due to a dirty znode.
++ * @c: UBIFS file-system description object
++ * @lnum: LEB number of index node
++ * @dirt: size of index node
++ *
++ * This function updates lprops dirty space and the new size of the index.
++ */
++static int add_idx_dirt(struct ubifs_info *c, int lnum, int dirt)
++{
++ c->calc_idx_sz -= ALIGN(dirt, 8);
++ return ubifs_add_dirt(c, lnum, dirt);
++}
++
++/**
++ * dirty_cow_znode - ensure a znode is not being committed.
++ * @c: UBIFS file-system description object
++ * @zbr: branch of znode to check
++ *
++ * Returns dirtied znode on success or negative error code on failure.
++ */
++static struct ubifs_znode *dirty_cow_znode(struct ubifs_info *c,
++ struct ubifs_zbranch *zbr)
++{
++ struct ubifs_znode *znode = zbr->znode;
++ struct ubifs_znode *zn;
++ int err;
++
++ if (!test_bit(COW_ZNODE, &znode->flags)) {
++ /* znode is not being committed */
++ if (!test_and_set_bit(DIRTY_ZNODE, &znode->flags)) {
++ atomic_long_inc(&c->dirty_zn_cnt);
++ atomic_long_dec(&c->clean_zn_cnt);
++ atomic_long_dec(&ubifs_clean_zn_cnt);
++ err = add_idx_dirt(c, zbr->lnum, zbr->len);
++ if (unlikely(err))
++ return ERR_PTR(err);
++ }
++ return znode;
++ }
++
++ zn = copy_znode(c, znode);
++ if (IS_ERR(zn))
++ return zn;
++
++ if (zbr->len) {
++ err = insert_old_idx(c, zbr->lnum, zbr->offs);
++ if (unlikely(err))
++ return ERR_PTR(err);
++ err = add_idx_dirt(c, zbr->lnum, zbr->len);
++ } else
++ err = 0;
++
++ zbr->znode = zn;
++ zbr->lnum = 0;
++ zbr->offs = 0;
++ zbr->len = 0;
++
++ if (unlikely(err))
++ return ERR_PTR(err);
++ return zn;
++}
++
++/**
++ * lnc_add - add a leaf node to the leaf node cache.
++ * @c: UBIFS file-system description object
++ * @zbr: zbranch of leaf node
++ * @node: leaf node
++ *
++ * Leaf nodes are non-index nodes directory entry nodes or data nodes. The
++ * purpose of the leaf node cache is to save re-reading the same leaf node over
++ * and over again. Most things are cached by VFS, however the file system must
++ * cache directory entries for readdir and for resolving hash collisions. The
++ * present implementation of the leaf node cache is extremely simple, and
++ * allows for error returns that are not used but that may be needed if a more
++ * complex implementation is created.
++ *
++ * Note, this function does not add the @node object to LNC directly, but
++ * allocates a copy of the object and adds the copy to LNC. The reason for this
++ * is that @node has been allocated outside of the TNC subsystem and will be
++ * used with @c->tnc_mutex unlock upon return from the TNC subsystem. But LNC
++ * may be changed at any time, e.g. freed by the shrinker.
++ */
++static int lnc_add(struct ubifs_info *c, struct ubifs_zbranch *zbr,
++ const void *node)
++{
++ int err;
++ void *lnc_node;
++ const struct ubifs_dent_node *dent = node;
++
++ ubifs_assert(!zbr->leaf);
++ ubifs_assert(zbr->len != 0);
++ ubifs_assert(is_hash_key(c, &zbr->key));
++
++ err = ubifs_validate_entry(c, dent);
++ if (err) {
++ dbg_dump_stack();
++ dbg_dump_node(c, dent);
++ return err;
++ }
++
++ lnc_node = kmalloc(zbr->len, GFP_NOFS);
++ if (!lnc_node)
++ /* We don't have to have the cache, so no error */
++ return 0;
++
++ memcpy(lnc_node, node, zbr->len);
++ zbr->leaf = lnc_node;
++ return 0;
++}
++
++ /**
++ * lnc_add_directly - add a leaf node to the leaf-node-cache.
++ * @c: UBIFS file-system description object
++ * @zbr: zbranch of leaf node
++ * @node: leaf node
++ *
++ * This function is similar to 'lnc_add()', but it does not create a copy of
++ * @node but inserts @node to TNC directly.
++ */
++static int lnc_add_directly(struct ubifs_info *c, struct ubifs_zbranch *zbr,
++ void *node)
++{
++ int err;
++
++ ubifs_assert(!zbr->leaf);
++ ubifs_assert(zbr->len != 0);
++
++ err = ubifs_validate_entry(c, node);
++ if (err) {
++ dbg_dump_stack();
++ dbg_dump_node(c, node);
++ return err;
++ }
++
++ zbr->leaf = node;
++ return 0;
++}
++
++/**
++ * lnc_free - remove a leaf node from the leaf node cache.
++ * @zbr: zbranch of leaf node
++ * @node: leaf node
++ */
++static void lnc_free(struct ubifs_zbranch *zbr)
++{
++ if (!zbr->leaf)
++ return;
++ kfree(zbr->leaf);
++ zbr->leaf = NULL;
++}
++
++/**
++ * tnc_read_node_nm - read a "hashed" leaf node.
++ * @c: UBIFS file-system description object
++ * @zbr: key and position of the node
++ * @node: node is returned here
++ *
++ * This function reads a "hashed" node defined by @zbr from the leaf node cache
++ * (in it is there) or from the hash media, in which case the node is also
++ * added to LNC. Returns zero in case of success or a negative negative error
++ * code in case of failure.
++ */
++static int tnc_read_node_nm(struct ubifs_info *c, struct ubifs_zbranch *zbr,
++ void *node)
++{
++ int err;
++
++ ubifs_assert(is_hash_key(c, &zbr->key));
++
++ if (zbr->leaf) {
++ /* Read from the leaf node cache */
++ ubifs_assert(zbr->len != 0);
++ memcpy(node, zbr->leaf, zbr->len);
++ return 0;
++ }
++
++ err = ubifs_tnc_read_node(c, zbr, node);
++ if (err)
++ return err;
++
++ /* Add the node to the leaf node cache */
++ err = lnc_add(c, zbr, node);
++ return err;
++}
++
++/**
++ * try_read_node - read a node if it is a node.
++ * @c: UBIFS file-system description object
++ * @buf: buffer to read to
++ * @type: node type
++ * @len: node length (not aligned)
++ * @lnum: LEB number of node to read
++ * @offs: offset of node to read
++ *
++ * This function tries to read a node of known type and length, checks it and
++ * stores it in @buf. This function returns %1 if a node is present and %0 if
++ * a node is not present. A negative error code is returned for I/O errors.
++ * This function performs that same function as ubifs_read_node except that
++ * it does not require that there is actually a node present and instead
++ * the return code indicates if a node was read.
++ *
++ * Note, this function does not check CRC of data nodes if @c->no_chk_data_crc
++ * is true (it is controlled by corresponding mount option). However, if
++ * @c->always_chk_crc is true, @c->no_chk_data_crc is ignored and CRC is always
++ * checked.
++ */
++static int try_read_node(const struct ubifs_info *c, void *buf, int type,
++ int len, int lnum, int offs)
++{
++ int err, node_len;
++ struct ubifs_ch *ch = buf;
++ uint32_t crc, node_crc;
++
++ dbg_io("LEB %d:%d, %s, length %d", lnum, offs, dbg_ntype(type), len);
++
++ err = ubi_read(c->ubi, lnum, buf, offs, len);
++ if (err) {
++ ubifs_err("cannot read node type %d from LEB %d:%d, error %d",
++ type, lnum, offs, err);
++ return err;
++ }
++
++ if (le32_to_cpu(ch->magic) != UBIFS_NODE_MAGIC)
++ return 0;
++
++ if (ch->node_type != type)
++ return 0;
++
++ node_len = le32_to_cpu(ch->len);
++ if (node_len != len)
++ return 0;
++
++ if (type == UBIFS_DATA_NODE && !c->always_chk_crc && c->no_chk_data_crc)
++ return 1;
++
++ crc = crc32(UBIFS_CRC32_INIT, buf + 8, node_len - 8);
++ node_crc = le32_to_cpu(ch->crc);
++ if (crc != node_crc)
++ return 0;
++
++ return 1;
++}
++
++/**
++ * fallible_read_node - try to read a leaf node.
++ * @c: UBIFS file-system description object
++ * @key: key of node to read
++ * @zbr: position of node
++ * @node: node returned
++ *
++ * This function tries to read a node and returns %1 if the node is read, %0
++ * if the node is not present, and a negative error code in the case of error.
++ */
++static int fallible_read_node(struct ubifs_info *c, const union ubifs_key *key,
++ struct ubifs_zbranch *zbr, void *node)
++{
++ int ret;
++
++ dbg_tnc("LEB %d:%d, key %s", zbr->lnum, zbr->offs, DBGKEY(key));
++
++ ret = try_read_node(c, node, key_type(c, key), zbr->len, zbr->lnum,
++ zbr->offs);
++ if (ret == 1) {
++ union ubifs_key node_key;
++ struct ubifs_dent_node *dent = node;
++
++ /* All nodes have key in the same place */
++ key_read(c, &dent->key, &node_key);
++ if (keys_cmp(c, key, &node_key) != 0)
++ ret = 0;
++ }
++ if (ret == 0 && c->replaying)
++ dbg_mnt("dangling branch LEB %d:%d len %d, key %s",
++ zbr->lnum, zbr->offs, zbr->len, DBGKEY(key));
++ return ret;
++}
++
++/**
++ * matches_name - determine if a direntry or xattr entry matches a given name.
++ * @c: UBIFS file-system description object
++ * @zbr: zbranch of dent
++ * @nm: name to match
++ *
++ * This function checks if xentry/direntry referred by zbranch @zbr matches name
++ * @nm. Returns %NAME_MATCHES if it does, %NAME_LESS if the name referred by
++ * @zbr is less than @nm, and %NAME_GREATER if it is greater than @nm. In case
++ * of failure, a negative error code is returned.
++ */
++static int matches_name(struct ubifs_info *c, struct ubifs_zbranch *zbr,
++ const struct qstr *nm)
++{
++ struct ubifs_dent_node *dent;
++ int nlen, err;
++
++ /* If possible, match against the dent in the leaf node cache */
++ if (!zbr->leaf) {
++ dent = kmalloc(zbr->len, GFP_NOFS);
++ if (!dent)
++ return -ENOMEM;
++
++ err = ubifs_tnc_read_node(c, zbr, dent);
++ if (err)
++ goto out_free;
++
++ /* Add the node to the leaf node cache */
++ err = lnc_add_directly(c, zbr, dent);
++ if (err)
++ goto out_free;
++ } else
++ dent = zbr->leaf;
++
++ nlen = le16_to_cpu(dent->nlen);
++ err = memcmp(dent->name, nm->name, min_t(int, nlen, nm->len));
++ if (err == 0) {
++ if (nlen == nm->len)
++ return NAME_MATCHES;
++ else if (nlen < nm->len)
++ return NAME_LESS;
++ else
++ return NAME_GREATER;
++ } else if (err < 0)
++ return NAME_LESS;
++ else
++ return NAME_GREATER;
++
++out_free:
++ kfree(dent);
++ return err;
++}
++
++/**
++ * get_znode - get a TNC znode that may not be loaded yet.
++ * @c: UBIFS file-system description object
++ * @znode: parent znode
++ * @n: znode branch slot number
++ *
++ * This function returns the znode or a negative error code.
++ */
++static struct ubifs_znode *get_znode(struct ubifs_info *c,
++ struct ubifs_znode *znode, int n)
++{
++ struct ubifs_zbranch *zbr;
++
++ zbr = &znode->zbranch[n];
++ if (zbr->znode)
++ znode = zbr->znode;
++ else
++ znode = ubifs_load_znode(c, zbr, znode, n);
++ return znode;
++}
++
++/**
++ * tnc_next - find next TNC entry.
++ * @c: UBIFS file-system description object
++ * @zn: znode is passed and returned here
++ * @n: znode branch slot number is passed and returned here
++ *
++ * This function returns %0 if the next TNC entry is found, %-ENOENT if there is
++ * no next entry, or a negative error code otherwise.
++ */
++static int tnc_next(struct ubifs_info *c, struct ubifs_znode **zn, int *n)
++{
++ struct ubifs_znode *znode = *zn;
++ int nn = *n;
++
++ nn += 1;
++ if (nn < znode->child_cnt) {
++ *n = nn;
++ return 0;
++ }
++ while (1) {
++ struct ubifs_znode *zp;
++
++ zp = znode->parent;
++ if (!zp)
++ return -ENOENT;
++ nn = znode->iip + 1;
++ znode = zp;
++ if (nn < znode->child_cnt) {
++ znode = get_znode(c, znode, nn);
++ if (IS_ERR(znode))
++ return PTR_ERR(znode);
++ while (znode->level != 0) {
++ znode = get_znode(c, znode, 0);
++ if (IS_ERR(znode))
++ return PTR_ERR(znode);
++ }
++ nn = 0;
++ break;
++ }
++ }
++ *zn = znode;
++ *n = nn;
++ return 0;
++}
++
++/**
++ * tnc_prev - find previous TNC entry.
++ * @c: UBIFS file-system description object
++ * @zn: znode is returned here
++ * @n: znode branch slot number is passed and returned here
++ *
++ * This function returns %0 if the previous TNC entry is found, %-ENOENT if
++ * there is no next entry, or a negative error code otherwise.
++ */
++static int tnc_prev(struct ubifs_info *c, struct ubifs_znode **zn, int *n)
++{
++ struct ubifs_znode *znode = *zn;
++ int nn = *n;
++
++ if (nn > 0) {
++ *n = nn - 1;
++ return 0;
++ }
++ while (1) {
++ struct ubifs_znode *zp;
++
++ zp = znode->parent;
++ if (!zp)
++ return -ENOENT;
++ nn = znode->iip - 1;
++ znode = zp;
++ if (nn >= 0) {
++ znode = get_znode(c, znode, nn);
++ if (IS_ERR(znode))
++ return PTR_ERR(znode);
++ while (znode->level != 0) {
++ nn = znode->child_cnt - 1;
++ znode = get_znode(c, znode, nn);
++ if (IS_ERR(znode))
++ return PTR_ERR(znode);
++ }
++ nn = znode->child_cnt - 1;
++ break;
++ }
++ }
++ *zn = znode;
++ *n = nn;
++ return 0;
++}
++
++/**
++ * resolve_collision - resolve a collision.
++ * @c: UBIFS file-system description object
++ * @key: key of a directory or extended attribute entry
++ * @zn: znode is returned here
++ * @n: zbranch number is passed and returned here
++ * @nm: name of the entry
++ *
++ * This function is called for "hashed" keys to make sure that the found key
++ * really corresponds to the looked up node (directory or extended attribute
++ * entry). It returns %1 and sets @zn and @n if the collision is resolved.
++ * %0 is returned if @nm is not found and @zn and @n are set to the previous
++ * entry, i.e. to the entry after which @nm could follow if it were in TNC.
++ * This means that @n may be set to %-1 if the leftmost key in @zn is the
++ * previous one. A negative error code is returned on failures.
++ */
++static int resolve_collision(struct ubifs_info *c, const union ubifs_key *key,
++ struct ubifs_znode **zn, int *n,
++ const struct qstr *nm)
++{
++ int err;
++
++ err = matches_name(c, &(*zn)->zbranch[*n], nm);
++ if (unlikely(err < 0))
++ return err;
++ if (err == NAME_MATCHES)
++ return 1;
++
++ if (err == NAME_GREATER) {
++ /* Look left */
++ while (1) {
++ err = tnc_prev(c, zn, n);
++ if (err == -ENOENT) {
++ ubifs_assert(*n == 0);
++ *n = -1;
++ return 0;
++ }
++ if (err < 0)
++ return err;
++ if (keys_cmp(c, &(*zn)->zbranch[*n].key, key)) {
++ /*
++ * We have found the branch after which we would
++ * like to insert, but inserting in this znode
++ * may still be wrong. Consider the following 3
++ * znodes, in the case where we are resolving a
++ * collision with Key2.
++ *
++ * znode zp
++ * ----------------------
++ * level 1 | Key0 | Key1 |
++ * -----------------------
++ * | |
++ * znode za | | znode zb
++ * ------------ ------------
++ * level 0 | Key0 | | Key2 |
++ * ------------ ------------
++ *
++ * The lookup finds Key2 in znode zb. Lets say
++ * there is no match and the name is greater so
++ * we look left. When we find Key0, we end up
++ * here. If we return now, we will insert into
++ * znode za at slot n = 1. But that is invalid
++ * according to the parent's keys. Key2 must
++ * be inserted into znode zb.
++ *
++ * Note, this problem is not relevant for the
++ * case when we go right, because
++ * 'tnc_insert()' would correct the parent key.
++ */
++ if (*n == (*zn)->child_cnt - 1) {
++ err = tnc_next(c, zn, n);
++ if (err) {
++ /* Should be impossible */
++ ubifs_assert(0);
++ if (err == -ENOENT)
++ err = -EINVAL;
++ return err;
++ }
++ ubifs_assert(*n == 0);
++ *n = -1;
++ }
++ return 0;
++ }
++ err = matches_name(c, &(*zn)->zbranch[*n], nm);
++ if (err < 0)
++ return err;
++ if (err == NAME_LESS)
++ return 0;
++ if (err == NAME_MATCHES)
++ return 1;
++ ubifs_assert(err == NAME_GREATER);
++ }
++ } else {
++ int nn = *n;
++ struct ubifs_znode *znode = *zn;
++
++ /* Look right */
++ while (1) {
++ err = tnc_next(c, &znode, &nn);
++ if (err == -ENOENT)
++ return 0;
++ if (err < 0)
++ return err;
++ if (keys_cmp(c, &znode->zbranch[nn].key, key))
++ return 0;
++ err = matches_name(c, &znode->zbranch[nn], nm);
++ if (err < 0)
++ return err;
++ if (err == NAME_GREATER)
++ return 0;
++ *zn = znode;
++ *n = nn;
++ if (err == NAME_MATCHES)
++ return 1;
++ ubifs_assert(err == NAME_LESS);
++ }
++ }
++}
++
++/**
++ * fallible_matches_name - determine if a dent matches a given name.
++ * @c: UBIFS file-system description object
++ * @zbr: zbranch of dent
++ * @nm: name to match
++ *
++ * This is a "fallible" version of 'matches_name()' function which does not
++ * panic if the direntry/xentry referred by @zbr does not exist on the media.
++ *
++ * This function checks if xentry/direntry referred by zbranch @zbr matches name
++ * @nm. Returns %NAME_MATCHES it does, %NAME_LESS if the name referred by @zbr
++ * is less than @nm, %NAME_GREATER if it is greater than @nm, and @NOT_ON_MEDIA
++ * if xentry/direntry referred by @zbr does not exist on the media. A negative
++ * error code is returned in case of failure.
++ */
++static int fallible_matches_name(struct ubifs_info *c,
++ struct ubifs_zbranch *zbr,
++ const struct qstr *nm)
++{
++ struct ubifs_dent_node *dent;
++ int nlen, err;
++
++ /* If possible, match against the dent in the leaf node cache */
++ if (!zbr->leaf) {
++ dent = kmalloc(zbr->len, GFP_NOFS);
++ if (!dent)
++ return -ENOMEM;
++
++ err = fallible_read_node(c, &zbr->key, zbr, dent);
++ if (err < 0)
++ goto out_free;
++ if (err == 0) {
++ /* The node was not present */
++ err = NOT_ON_MEDIA;
++ goto out_free;
++ }
++ ubifs_assert(err == 1);
++
++ err = lnc_add_directly(c, zbr, dent);
++ if (err)
++ goto out_free;
++ } else
++ dent = zbr->leaf;
++
++ nlen = le16_to_cpu(dent->nlen);
++ err = memcmp(dent->name, nm->name, min_t(int, nlen, nm->len));
++ if (err == 0) {
++ if (nlen == nm->len)
++ return NAME_MATCHES;
++ else if (nlen < nm->len)
++ return NAME_LESS;
++ else
++ return NAME_GREATER;
++ } else if (err < 0)
++ return NAME_LESS;
++ else
++ return NAME_GREATER;
++
++out_free:
++ kfree(dent);
++ return err;
++}
++
++/**
++ * fallible_resolve_collision - resolve a collision even if nodes are missing.
++ * @c: UBIFS file-system description object
++ * @key: key
++ * @zn: znode is returned here
++ * @n: branch number is passed and returned here
++ * @nm: name of directory entry
++ * @adding: indicates caller is adding a key to the TNC
++ *
++ * This is a "fallible" version of the 'resolve_collision()' function which
++ * does not panic if one of the nodes referred to by TNC does not exist on the
++ * media. This may happen when replaying the journal if a deleted node was
++ * Garbage-collected and the commit was not done. A branch that refers to a node
++ * that is not present is called a dangling branch. The following are the return
++ * codes for this function:
++ * o if @nm was found, %1 is returned and @zn and @n are set to the found
++ * branch;
++ * o if we are @adding and @nm was not found, %0 is returned;
++ * o if we are not @adding and @nm was not found, but a dangling branch was
++ * found, then %1 is returned and @zn and @n are set to the dangling branch;
++ * o a negative error code is returned in case of failure.
++ */
++static int fallible_resolve_collision(struct ubifs_info *c,
++ const union ubifs_key *key,
++ struct ubifs_znode **zn, int *n,
++ const struct qstr *nm, int adding)
++{
++ struct ubifs_znode *o_znode = NULL, *znode = *zn;
++ int uninitialized_var(o_n), err, cmp, unsure = 0, nn = *n;
++
++ cmp = fallible_matches_name(c, &znode->zbranch[nn], nm);
++ if (unlikely(cmp < 0))
++ return cmp;
++ if (cmp == NAME_MATCHES)
++ return 1;
++ if (cmp == NOT_ON_MEDIA) {
++ o_znode = znode;
++ o_n = nn;
++ /*
++ * We are unlucky and hit a dangling branch straight away.
++ * Now we do not really know where to go to find the needed
++ * branch - to the left or to the right. Well, let's try left.
++ */
++ unsure = 1;
++ } else if (!adding)
++ unsure = 1; /* Remove a dangling branch wherever it is */
++
++ if (cmp == NAME_GREATER || unsure) {
++ /* Look left */
++ while (1) {
++ err = tnc_prev(c, zn, n);
++ if (err == -ENOENT) {
++ ubifs_assert(*n == 0);
++ *n = -1;
++ break;
++ }
++ if (err < 0)
++ return err;
++ if (keys_cmp(c, &(*zn)->zbranch[*n].key, key)) {
++ /* See comments in 'resolve_collision()' */
++ if (*n == (*zn)->child_cnt - 1) {
++ err = tnc_next(c, zn, n);
++ if (err) {
++ /* Should be impossible */
++ ubifs_assert(0);
++ if (err == -ENOENT)
++ err = -EINVAL;
++ return err;
++ }
++ ubifs_assert(*n == 0);
++ *n = -1;
++ }
++ break;
++ }
++ err = fallible_matches_name(c, &(*zn)->zbranch[*n], nm);
++ if (err < 0)
++ return err;
++ if (err == NAME_MATCHES)
++ return 1;
++ if (err == NOT_ON_MEDIA) {
++ o_znode = *zn;
++ o_n = *n;
++ continue;
++ }
++ if (!adding)
++ continue;
++ if (err == NAME_LESS)
++ break;
++ else
++ unsure = 0;
++ }
++ }
++
++ if (cmp == NAME_LESS || unsure) {
++ /* Look right */
++ *zn = znode;
++ *n = nn;
++ while (1) {
++ err = tnc_next(c, &znode, &nn);
++ if (err == -ENOENT)
++ break;
++ if (err < 0)
++ return err;
++ if (keys_cmp(c, &znode->zbranch[nn].key, key))
++ break;
++ err = fallible_matches_name(c, &znode->zbranch[nn], nm);
++ if (err < 0)
++ return err;
++ if (err == NAME_GREATER)
++ break;
++ *zn = znode;
++ *n = nn;
++ if (err == NAME_MATCHES)
++ return 1;
++ if (err == NOT_ON_MEDIA) {
++ o_znode = znode;
++ o_n = nn;
++ }
++ }
++ }
++
++ /* Never match a dangling branch when adding */
++ if (adding || !o_znode)
++ return 0;
++
++ dbg_mnt("dangling match LEB %d:%d len %d %s",
++ o_znode->zbranch[o_n].lnum, o_znode->zbranch[o_n].offs,
++ o_znode->zbranch[o_n].len, DBGKEY(key));
++ *zn = o_znode;
++ *n = o_n;
++ return 1;
++}
++
++/**
++ * matches_position - determine if a zbranch matches a given position.
++ * @zbr: zbranch of dent
++ * @lnum: LEB number of dent to match
++ * @offs: offset of dent to match
++ *
++ * This function returns %1 if @lnum:@offs matches, and %0 otherwise.
++ */
++static int matches_position(struct ubifs_zbranch *zbr, int lnum, int offs)
++{
++ if (zbr->lnum == lnum && zbr->offs == offs)
++ return 1;
++ else
++ return 0;
++}
++
++/**
++ * resolve_collision_directly - resolve a collision directly.
++ * @c: UBIFS file-system description object
++ * @key: key of directory entry
++ * @zn: znode is passed and returned here
++ * @n: zbranch number is passed and returned here
++ * @lnum: LEB number of dent node to match
++ * @offs: offset of dent node to match
++ *
++ * This function is used for "hashed" keys to make sure the found directory or
++ * extended attribute entry node is what was looked for. It is used when the
++ * flash address of the right node is known (@lnum:@offs) which makes it much
++ * easier to resolve collisions (no need to read entries and match full
++ * names). This function returns %1 and sets @zn and @n if the collision is
++ * resolved, %0 if @lnum:@offs is not found and @zn and @n are set to the
++ * previous directory entry. Otherwise a negative error code is returned.
++ */
++static int resolve_collision_directly(struct ubifs_info *c,
++ const union ubifs_key *key,
++ struct ubifs_znode **zn, int *n,
++ int lnum, int offs)
++{
++ struct ubifs_znode *znode;
++ int nn, err;
++
++ znode = *zn;
++ nn = *n;
++ if (matches_position(&znode->zbranch[nn], lnum, offs))
++ return 1;
++
++ /* Look left */
++ while (1) {
++ err = tnc_prev(c, &znode, &nn);
++ if (err == -ENOENT)
++ break;
++ if (err < 0)
++ return err;
++ if (keys_cmp(c, &znode->zbranch[nn].key, key))
++ break;
++ if (matches_position(&znode->zbranch[nn], lnum, offs)) {
++ *zn = znode;
++ *n = nn;
++ return 1;
++ }
++ }
++
++ /* Look right */
++ znode = *zn;
++ nn = *n;
++ while (1) {
++ err = tnc_next(c, &znode, &nn);
++ if (err == -ENOENT)
++ return 0;
++ if (err < 0)
++ return err;
++ if (keys_cmp(c, &znode->zbranch[nn].key, key))
++ return 0;
++ *zn = znode;
++ *n = nn;
++ if (matches_position(&znode->zbranch[nn], lnum, offs))
++ return 1;
++ }
++}
++
++/**
++ * dirty_cow_bottom_up - dirty a znode and its ancestors.
++ * @c: UBIFS file-system description object
++ * @znode: znode to dirty
++ *
++ * If we do not have a unique key that resides in a znode, then we cannot
++ * dirty that znode from the top down (i.e. by using lookup_level0_dirty)
++ * This function records the path back to the last dirty ancestor, and then
++ * dirties the znodes on that path.
++ */
++static struct ubifs_znode *dirty_cow_bottom_up(struct ubifs_info *c,
++ struct ubifs_znode *znode)
++{
++ struct ubifs_znode *zp;
++ int *path = c->bottom_up_buf, p = 0;
++
++ ubifs_assert(c->zroot.znode);
++ ubifs_assert(znode);
++ if (c->zroot.znode->level > BOTTOM_UP_HEIGHT) {
++ kfree(c->bottom_up_buf);
++ c->bottom_up_buf = kmalloc(c->zroot.znode->level * sizeof(int),
++ GFP_NOFS);
++ if (!c->bottom_up_buf)
++ return ERR_PTR(-ENOMEM);
++ path = c->bottom_up_buf;
++ }
++ if (c->zroot.znode->level) {
++ /* Go up until parent is dirty */
++ while (1) {
++ int n;
++
++ zp = znode->parent;
++ if (!zp)
++ break;
++ n = znode->iip;
++ ubifs_assert(p < c->zroot.znode->level);
++ path[p++] = n;
++ if (!zp->cnext && ubifs_zn_dirty(znode))
++ break;
++ znode = zp;
++ }
++ }
++
++ /* Come back down, dirtying as we go */
++ while (1) {
++ struct ubifs_zbranch *zbr;
++
++ zp = znode->parent;
++ if (zp) {
++ ubifs_assert(path[p - 1] >= 0);
++ ubifs_assert(path[p - 1] < zp->child_cnt);
++ zbr = &zp->zbranch[path[--p]];
++ znode = dirty_cow_znode(c, zbr);
++ } else {
++ ubifs_assert(znode == c->zroot.znode);
++ znode = dirty_cow_znode(c, &c->zroot);
++ }
++ if (IS_ERR(znode) || !p)
++ break;
++ ubifs_assert(path[p - 1] >= 0);
++ ubifs_assert(path[p - 1] < znode->child_cnt);
++ znode = znode->zbranch[path[p - 1]].znode;
++ }
++
++ return znode;
++}
++
++/**
++ * ubifs_lookup_level0 - search for zero-level znode.
++ * @c: UBIFS file-system description object
++ * @key: key to lookup
++ * @zn: znode is returned here
++ * @n: znode branch slot number is returned here
++ *
++ * This function looks up the TNC tree and search for zero-level znode which
++ * refers key @key. The found zero-level znode is returned in @zn. There are 3
++ * cases:
++ * o exact match, i.e. the found zero-level znode contains key @key, then %1
++ * is returned and slot number of the matched branch is stored in @n;
++ * o not exact match, which means that zero-level znode does not contain
++ * @key, then %0 is returned and slot number of the closed branch is stored
++ * in @n;
++ * o @key is so small that it is even less than the lowest key of the
++ * leftmost zero-level node, then %0 is returned and %0 is stored in @n.
++ *
++ * Note, when the TNC tree is traversed, some znodes may be absent, then this
++ * function reads corresponding indexing nodes and inserts them to TNC. In
++ * case of failure, a negative error code is returned.
++ */
++int ubifs_lookup_level0(struct ubifs_info *c, const union ubifs_key *key,
++ struct ubifs_znode **zn, int *n)
++{
++ int err, exact;
++ struct ubifs_znode *znode;
++ unsigned long time = get_seconds();
++
++ dbg_tnc("search key %s", DBGKEY(key));
++
++ znode = c->zroot.znode;
++ if (unlikely(!znode)) {
++ znode = ubifs_load_znode(c, &c->zroot, NULL, 0);
++ if (IS_ERR(znode))
++ return PTR_ERR(znode);
++ }
++
++ znode->time = time;
++
++ while (1) {
++ struct ubifs_zbranch *zbr;
++
++ exact = ubifs_search_zbranch(c, znode, key, n);
++
++ if (znode->level == 0)
++ break;
++
++ if (*n < 0)
++ *n = 0;
++ zbr = &znode->zbranch[*n];
++
++ if (zbr->znode) {
++ znode->time = time;
++ znode = zbr->znode;
++ continue;
++ }
++
++ /* znode is not in TNC cache, load it from the media */
++ znode = ubifs_load_znode(c, zbr, znode, *n);
++ if (IS_ERR(znode))
++ return PTR_ERR(znode);
++ }
++
++ *zn = znode;
++ if (exact || !is_hash_key(c, key) || *n != -1) {
++ dbg_tnc("found %d, lvl %d, n %d", exact, znode->level, *n);
++ return exact;
++ }
++
++ /*
++ * Here is a tricky place. We have not found the key and this is a
++ * "hashed" key, which may collide. The rest of the code deals with
++ * situations like this:
++ *
++ * | 3 | 5 |
++ * / \
++ * | 3 | 5 | | 6 | 7 | (x)
++ *
++ * Or more a complex example:
++ *
++ * | 1 | 5 |
++ * / \
++ * | 1 | 3 | | 5 | 8 |
++ * \ /
++ * | 5 | 5 | | 6 | 7 | (x)
++ *
++ * In the examples, if we are looking for key "5", we may reach nodes
++ * marked with "(x)". In this case what we have do is to look at the
++ * left and see if there is "5" key there. If there is, we have to
++ * return it.
++ *
++ * Note, this whole situation is possible because we allow to have
++ * elements which are equivalent to the next key in the parent in the
++ * children of current znode. For example, this happens if we split a
++ * znode like this: | 3 | 5 | 5 | 6 | 7 |, which results in something
++ * like this:
++ * | 3 | 5 |
++ * / \
++ * | 3 | 5 | | 5 | 6 | 7 |
++ * ^
++ * And this becomes what is at the first "picture" after key "5" marked
++ * with "^" is removed. What could be done is we could prohibit
++ * splitting in the middle of the colliding sequence. Also, when
++ * removing the leftmost key, we would have to correct the key of the
++ * parent node, which would introduce additional complications. Namely,
++ * if we changed the leftmost key of the parent znode, the garbage
++ * collector would be unable to find it (GC is doing this when GC'ing
++ * indexing LEBs). Although we already have an additional RB-tree where
++ * we save such changed znodes (see 'ins_clr_old_idx_znode()') until
++ * after the commit. But anyway, this does not look easy to implement
++ * so we did not try this.
++ */
++ err = tnc_prev(c, &znode, n);
++ if (err == -ENOENT) {
++ dbg_tnc("found 0, lvl %d, n -1", znode->level);
++ *n = -1;
++ return 0;
++ }
++ if (unlikely(err < 0))
++ return err;
++ if (keys_cmp(c, key, &znode->zbranch[*n].key)) {
++ dbg_tnc("found 0, lvl %d, n -1", znode->level);
++ *n = -1;
++ return 0;
++ }
++
++ dbg_tnc("found 1, lvl %d, n %d", znode->level, *n);
++ *zn = znode;
++ return 1;
++}
++
++/**
++ * lookup_level0_dirty - search for zero-level znode dirtying.
++ * @c: UBIFS file-system description object
++ * @key: key to lookup
++ * @zn: znode is returned here
++ * @n: znode branch slot number is returned here
++ *
++ * This function looks up the TNC tree and search for zero-level znode which
++ * refers key @key. The found zero-level znode is returned in @zn. There are 3
++ * cases:
++ * o exact match, i.e. the found zero-level znode contains key @key, then %1
++ * is returned and slot number of the matched branch is stored in @n;
++ * o not exact match, which means that zero-level znode does not contain @key
++ * then %0 is returned and slot number of the closed branch is stored in
++ * @n;
++ * o @key is so small that it is even less than the lowest key of the
++ * leftmost zero-level node, then %0 is returned and %-1 is stored in @n.
++ *
++ * Additionally all znodes in the path from the root to the located zero-level
++ * znode are marked as dirty.
++ *
++ * Note, when the TNC tree is traversed, some znodes may be absent, then this
++ * function reads corresponding indexing nodes and inserts them to TNC. In
++ * case of failure, a negative error code is returned.
++ */
++static int lookup_level0_dirty(struct ubifs_info *c, const union ubifs_key *key,
++ struct ubifs_znode **zn, int *n)
++{
++ int err, exact;
++ struct ubifs_znode *znode;
++ unsigned long time = get_seconds();
++
++ dbg_tnc("search and dirty key %s", DBGKEY(key));
++
++ znode = c->zroot.znode;
++ if (unlikely(!znode)) {
++ znode = ubifs_load_znode(c, &c->zroot, NULL, 0);
++ if (IS_ERR(znode))
++ return PTR_ERR(znode);
++ }
++
++ znode = dirty_cow_znode(c, &c->zroot);
++ if (IS_ERR(znode))
++ return PTR_ERR(znode);
++
++ znode->time = time;
++
++ while (1) {
++ struct ubifs_zbranch *zbr;
++
++ exact = ubifs_search_zbranch(c, znode, key, n);
++
++ if (znode->level == 0)
++ break;
++
++ if (*n < 0)
++ *n = 0;
++ zbr = &znode->zbranch[*n];
++
++ if (zbr->znode) {
++ znode->time = time;
++ znode = dirty_cow_znode(c, zbr);
++ if (IS_ERR(znode))
++ return PTR_ERR(znode);
++ continue;
++ }
++
++ /* znode is not in TNC cache, load it from the media */
++ znode = ubifs_load_znode(c, zbr, znode, *n);
++ if (IS_ERR(znode))
++ return PTR_ERR(znode);
++ znode = dirty_cow_znode(c, zbr);
++ if (IS_ERR(znode))
++ return PTR_ERR(znode);
++ }
++
++ *zn = znode;
++ if (exact || !is_hash_key(c, key) || *n != -1) {
++ dbg_tnc("found %d, lvl %d, n %d", exact, znode->level, *n);
++ return exact;
++ }
++
++ /*
++ * See huge comment at 'lookup_level0_dirty()' what is the rest of the
++ * code.
++ */
++ err = tnc_prev(c, &znode, n);
++ if (err == -ENOENT) {
++ *n = -1;
++ dbg_tnc("found 0, lvl %d, n -1", znode->level);
++ return 0;
++ }
++ if (unlikely(err < 0))
++ return err;
++ if (keys_cmp(c, key, &znode->zbranch[*n].key)) {
++ *n = -1;
++ dbg_tnc("found 0, lvl %d, n -1", znode->level);
++ return 0;
++ }
++
++ if (znode->cnext || !ubifs_zn_dirty(znode)) {
++ znode = dirty_cow_bottom_up(c, znode);
++ if (IS_ERR(znode))
++ return PTR_ERR(znode);
++ }
++
++ dbg_tnc("found 1, lvl %d, n %d", znode->level, *n);
++ *zn = znode;
++ return 1;
++}
++
++/**
++ * maybe_leb_gced - determine if a LEB may have been garbage collected.
++ * @c: UBIFS file-system description object
++ * @lnum: LEB number
++ * @gc_seq1: garbage collection sequence number
++ *
++ * This function determines if @lnum may have been garbage collected since
++ * sequence number @gc_seq1. If it may have been then %1 is returned, otherwise
++ * %0 is returned.
++ */
++static int maybe_leb_gced(struct ubifs_info *c, int lnum, int gc_seq1)
++{
++ int gc_seq2, gced_lnum;
++
++ gced_lnum = c->gced_lnum;
++ smp_rmb();
++ gc_seq2 = c->gc_seq;
++ /* Same seq means no GC */
++ if (gc_seq1 == gc_seq2)
++ return 0;
++ /* Different by more than 1 means we don't know */
++ if (gc_seq1 + 1 != gc_seq2)
++ return 1;
++ /*
++ * We have seen the sequence number has increased by 1. Now we need to
++ * be sure we read the right LEB number, so read it again.
++ */
++ smp_rmb();
++ if (gced_lnum != c->gced_lnum)
++ return 1;
++ /* Finally we can check lnum */
++ if (gced_lnum == lnum)
++ return 1;
++ return 0;
++}
++
++/**
++ * ubifs_tnc_locate - look up a file-system node and return it and its location.
++ * @c: UBIFS file-system description object
++ * @key: node key to lookup
++ * @node: the node is returned here
++ * @lnum: LEB number is returned here
++ * @offs: offset is returned here
++ *
++ * This function look up and reads node with key @key. The caller has to make
++ * sure the @node buffer is large enough to fit the node. Returns zero in case
++ * of success, %-ENOENT if the node was not found, and a negative error code in
++ * case of failure. The node location can be returned in @lnum and @offs.
++ */
++int ubifs_tnc_locate(struct ubifs_info *c, const union ubifs_key *key,
++ void *node, int *lnum, int *offs)
++{
++ int found, n, err, safely = 0, gc_seq1;
++ struct ubifs_znode *znode;
++ struct ubifs_zbranch zbr, *zt;
++
++again:
++ mutex_lock(&c->tnc_mutex);
++ found = ubifs_lookup_level0(c, key, &znode, &n);
++ if (!found) {
++ err = -ENOENT;
++ goto out;
++ } else if (found < 0) {
++ err = found;
++ goto out;
++ }
++ zt = &znode->zbranch[n];
++ if (lnum) {
++ *lnum = zt->lnum;
++ *offs = zt->offs;
++ }
++ if (is_hash_key(c, key)) {
++ /*
++ * In this case the leaf node cache gets used, so we pass the
++ * address of the zbranch and keep the mutex locked
++ */
++ err = tnc_read_node_nm(c, zt, node);
++ goto out;
++ }
++ if (safely) {
++ err = ubifs_tnc_read_node(c, zt, node);
++ goto out;
++ }
++ /* Drop the TNC mutex prematurely and race with garbage collection */
++ zbr = znode->zbranch[n];
++ gc_seq1 = c->gc_seq;
++ mutex_unlock(&c->tnc_mutex);
++
++ if (ubifs_get_wbuf(c, zbr.lnum)) {
++ /* We do not GC journal heads */
++ err = ubifs_tnc_read_node(c, &zbr, node);
++ return err;
++ }
++
++ err = fallible_read_node(c, key, &zbr, node);
++ if (err <= 0 || maybe_leb_gced(c, zbr.lnum, gc_seq1)) {
++ /*
++ * The node may have been GC'ed out from under us so try again
++ * while keeping the TNC mutex locked.
++ */
++ safely = 1;
++ goto again;
++ }
++ return 0;
++
++out:
++ mutex_unlock(&c->tnc_mutex);
++ return err;
++}
++
++/**
++ * ubifs_tnc_get_bu_keys - lookup keys for bulk-read.
++ * @c: UBIFS file-system description object
++ * @bu: bulk-read parameters and results
++ *
++ * Lookup consecutive data node keys for the same inode that reside
++ * consecutively in the same LEB. This function returns zero in case of success
++ * and a negative error code in case of failure.
++ *
++ * Note, if the bulk-read buffer length (@bu->buf_len) is known, this function
++ * makes sure bulk-read nodes fit the buffer. Otherwise, this function prepares
++ * maximum possible amount of nodes for bulk-read.
++ */
++int ubifs_tnc_get_bu_keys(struct ubifs_info *c, struct bu_info *bu)
++{
++ int n, err = 0, lnum = -1, uninitialized_var(offs);
++ int uninitialized_var(len);
++ unsigned int block = key_block(c, &bu->key);
++ struct ubifs_znode *znode;
++
++ bu->cnt = 0;
++ bu->blk_cnt = 0;
++ bu->eof = 0;
++
++ mutex_lock(&c->tnc_mutex);
++ /* Find first key */
++ err = ubifs_lookup_level0(c, &bu->key, &znode, &n);
++ if (err < 0)
++ goto out;
++ if (err) {
++ /* Key found */
++ len = znode->zbranch[n].len;
++ /* The buffer must be big enough for at least 1 node */
++ if (len > bu->buf_len) {
++ err = -EINVAL;
++ goto out;
++ }
++ /* Add this key */
++ bu->zbranch[bu->cnt++] = znode->zbranch[n];
++ bu->blk_cnt += 1;
++ lnum = znode->zbranch[n].lnum;
++ offs = ALIGN(znode->zbranch[n].offs + len, 8);
++ }
++ while (1) {
++ struct ubifs_zbranch *zbr;
++ union ubifs_key *key;
++ unsigned int next_block;
++
++ /* Find next key */
++ err = tnc_next(c, &znode, &n);
++ if (err)
++ goto out;
++ zbr = &znode->zbranch[n];
++ key = &zbr->key;
++ /* See if there is another data key for this file */
++ if (key_inum(c, key) != key_inum(c, &bu->key) ||
++ key_type(c, key) != UBIFS_DATA_KEY) {
++ err = -ENOENT;
++ goto out;
++ }
++ if (lnum < 0) {
++ /* First key found */
++ lnum = zbr->lnum;
++ offs = ALIGN(zbr->offs + zbr->len, 8);
++ len = zbr->len;
++ if (len > bu->buf_len) {
++ err = -EINVAL;
++ goto out;
++ }
++ } else {
++ /*
++ * The data nodes must be in consecutive positions in
++ * the same LEB.
++ */
++ if (zbr->lnum != lnum || zbr->offs != offs)
++ goto out;
++ offs += ALIGN(zbr->len, 8);
++ len = ALIGN(len, 8) + zbr->len;
++ /* Must not exceed buffer length */
++ if (len > bu->buf_len)
++ goto out;
++ }
++ /* Allow for holes */
++ next_block = key_block(c, key);
++ bu->blk_cnt += (next_block - block - 1);
++ if (bu->blk_cnt >= UBIFS_MAX_BULK_READ)
++ goto out;
++ block = next_block;
++ /* Add this key */
++ bu->zbranch[bu->cnt++] = *zbr;
++ bu->blk_cnt += 1;
++ /* See if we have room for more */
++ if (bu->cnt >= UBIFS_MAX_BULK_READ)
++ goto out;
++ if (bu->blk_cnt >= UBIFS_MAX_BULK_READ)
++ goto out;
++ }
++out:
++ if (err == -ENOENT) {
++ bu->eof = 1;
++ err = 0;
++ }
++ bu->gc_seq = c->gc_seq;
++ mutex_unlock(&c->tnc_mutex);
++ if (err)
++ return err;
++ /*
++ * An enormous hole could cause bulk-read to encompass too many
++ * page cache pages, so limit the number here.
++ */
++ if (bu->blk_cnt > UBIFS_MAX_BULK_READ)
++ bu->blk_cnt = UBIFS_MAX_BULK_READ;
++ /*
++ * Ensure that bulk-read covers a whole number of page cache
++ * pages.
++ */
++ if (UBIFS_BLOCKS_PER_PAGE == 1 ||
++ !(bu->blk_cnt & (UBIFS_BLOCKS_PER_PAGE - 1)))
++ return 0;
++ if (bu->eof) {
++ /* At the end of file we can round up */
++ bu->blk_cnt += UBIFS_BLOCKS_PER_PAGE - 1;
++ return 0;
++ }
++ /* Exclude data nodes that do not make up a whole page cache page */
++ block = key_block(c, &bu->key) + bu->blk_cnt;
++ block &= ~(UBIFS_BLOCKS_PER_PAGE - 1);
++ while (bu->cnt) {
++ if (key_block(c, &bu->zbranch[bu->cnt - 1].key) < block)
++ break;
++ bu->cnt -= 1;
++ }
++ return 0;
++}
++
++/**
++ * read_wbuf - bulk-read from a LEB with a wbuf.
++ * @wbuf: wbuf that may overlap the read
++ * @buf: buffer into which to read
++ * @len: read length
++ * @lnum: LEB number from which to read
++ * @offs: offset from which to read
++ *
++ * This functions returns %0 on success or a negative error code on failure.
++ */
++static int read_wbuf(struct ubifs_wbuf *wbuf, void *buf, int len, int lnum,
++ int offs)
++{
++ const struct ubifs_info *c = wbuf->c;
++ int rlen, overlap;
++
++ dbg_io("LEB %d:%d, length %d", lnum, offs, len);
++ ubifs_assert(wbuf && lnum >= 0 && lnum < c->leb_cnt && offs >= 0);
++ ubifs_assert(!(offs & 7) && offs < c->leb_size);
++ ubifs_assert(offs + len <= c->leb_size);
++
++ spin_lock(&wbuf->lock);
++ overlap = (lnum == wbuf->lnum && offs + len > wbuf->offs);
++ if (!overlap) {
++ /* We may safely unlock the write-buffer and read the data */
++ spin_unlock(&wbuf->lock);
++ return ubi_read(c->ubi, lnum, buf, offs, len);
++ }
++
++ /* Don't read under wbuf */
++ rlen = wbuf->offs - offs;
++ if (rlen < 0)
++ rlen = 0;
++
++ /* Copy the rest from the write-buffer */
++ memcpy(buf + rlen, wbuf->buf + offs + rlen - wbuf->offs, len - rlen);
++ spin_unlock(&wbuf->lock);
++
++ if (rlen > 0)
++ /* Read everything that goes before write-buffer */
++ return ubi_read(c->ubi, lnum, buf, offs, rlen);
++
++ return 0;
++}
++
++/**
++ * validate_data_node - validate data nodes for bulk-read.
++ * @c: UBIFS file-system description object
++ * @buf: buffer containing data node to validate
++ * @zbr: zbranch of data node to validate
++ *
++ * This functions returns %0 on success or a negative error code on failure.
++ */
++static int validate_data_node(struct ubifs_info *c, void *buf,
++ struct ubifs_zbranch *zbr)
++{
++ union ubifs_key key1;
++ struct ubifs_ch *ch = buf;
++ int err, len;
++
++ if (ch->node_type != UBIFS_DATA_NODE) {
++ ubifs_err("bad node type (%d but expected %d)",
++ ch->node_type, UBIFS_DATA_NODE);
++ goto out_err;
++ }
++
++ err = ubifs_check_node(c, buf, zbr->lnum, zbr->offs, 0, 0);
++ if (err) {
++ ubifs_err("expected node type %d", UBIFS_DATA_NODE);
++ goto out;
++ }
++
++ len = le32_to_cpu(ch->len);
++ if (len != zbr->len) {
++ ubifs_err("bad node length %d, expected %d", len, zbr->len);
++ goto out_err;
++ }
++
++ /* Make sure the key of the read node is correct */
++ key_read(c, buf + UBIFS_KEY_OFFSET, &key1);
++ if (!keys_eq(c, &zbr->key, &key1)) {
++ ubifs_err("bad key in node at LEB %d:%d",
++ zbr->lnum, zbr->offs);
++ dbg_tnc("looked for key %s found node's key %s",
++ DBGKEY(&zbr->key), DBGKEY1(&key1));
++ goto out_err;
++ }
++
++ return 0;
++
++out_err:
++ err = -EINVAL;
++out:
++ ubifs_err("bad node at LEB %d:%d", zbr->lnum, zbr->offs);
++ dbg_dump_node(c, buf);
++ dbg_dump_stack();
++ return err;
++}
++
++/**
++ * ubifs_tnc_bulk_read - read a number of data nodes in one go.
++ * @c: UBIFS file-system description object
++ * @bu: bulk-read parameters and results
++ *
++ * This functions reads and validates the data nodes that were identified by the
++ * 'ubifs_tnc_get_bu_keys()' function. This functions returns %0 on success,
++ * -EAGAIN to indicate a race with GC, or another negative error code on
++ * failure.
++ */
++int ubifs_tnc_bulk_read(struct ubifs_info *c, struct bu_info *bu)
++{
++ int lnum = bu->zbranch[0].lnum, offs = bu->zbranch[0].offs, len, err, i;
++ struct ubifs_wbuf *wbuf;
++ void *buf;
++
++ len = bu->zbranch[bu->cnt - 1].offs;
++ len += bu->zbranch[bu->cnt - 1].len - offs;
++ if (len > bu->buf_len) {
++ ubifs_err("buffer too small %d vs %d", bu->buf_len, len);
++ return -EINVAL;
++ }
++
++ /* Do the read */
++ wbuf = ubifs_get_wbuf(c, lnum);
++ if (wbuf)
++ err = read_wbuf(wbuf, bu->buf, len, lnum, offs);
++ else
++ err = ubi_read(c->ubi, lnum, bu->buf, offs, len);
++
++ /* Check for a race with GC */
++ if (maybe_leb_gced(c, lnum, bu->gc_seq))
++ return -EAGAIN;
++
++ if (err && err != -EBADMSG) {
++ ubifs_err("failed to read from LEB %d:%d, error %d",
++ lnum, offs, err);
++ dbg_dump_stack();
++ dbg_tnc("key %s", DBGKEY(&bu->key));
++ return err;
++ }
++
++ /* Validate the nodes read */
++ buf = bu->buf;
++ for (i = 0; i < bu->cnt; i++) {
++ err = validate_data_node(c, buf, &bu->zbranch[i]);
++ if (err)
++ return err;
++ buf = buf + ALIGN(bu->zbranch[i].len, 8);
++ }
++
++ return 0;
++}
++
++/**
++ * do_lookup_nm- look up a "hashed" node.
++ * @c: UBIFS file-system description object
++ * @key: node key to lookup
++ * @node: the node is returned here
++ * @nm: node name
++ *
++ * This function look up and reads a node which contains name hash in the key.
++ * Since the hash may have collisions, there may be many nodes with the same
++ * key, so we have to sequentially look to all of them until the needed one is
++ * found. This function returns zero in case of success, %-ENOENT if the node
++ * was not found, and a negative error code in case of failure.
++ */
++static int do_lookup_nm(struct ubifs_info *c, const union ubifs_key *key,
++ void *node, const struct qstr *nm)
++{
++ int found, n, err;
++ struct ubifs_znode *znode;
++
++ dbg_tnc("name '%.*s' key %s", nm->len, nm->name, DBGKEY(key));
++ mutex_lock(&c->tnc_mutex);
++ found = ubifs_lookup_level0(c, key, &znode, &n);
++ if (!found) {
++ err = -ENOENT;
++ goto out_unlock;
++ } else if (found < 0) {
++ err = found;
++ goto out_unlock;
++ }
++
++ ubifs_assert(n >= 0);
++
++ err = resolve_collision(c, key, &znode, &n, nm);
++ dbg_tnc("rc returned %d, znode %p, n %d", err, znode, n);
++ if (unlikely(err < 0))
++ goto out_unlock;
++ if (err == 0) {
++ err = -ENOENT;
++ goto out_unlock;
++ }
++
++ err = tnc_read_node_nm(c, &znode->zbranch[n], node);
++
++out_unlock:
++ mutex_unlock(&c->tnc_mutex);
++ return err;
++}
++
++/**
++ * ubifs_tnc_lookup_nm - look up a "hashed" node.
++ * @c: UBIFS file-system description object
++ * @key: node key to lookup
++ * @node: the node is returned here
++ * @nm: node name
++ *
++ * This function look up and reads a node which contains name hash in the key.
++ * Since the hash may have collisions, there may be many nodes with the same
++ * key, so we have to sequentially look to all of them until the needed one is
++ * found. This function returns zero in case of success, %-ENOENT if the node
++ * was not found, and a negative error code in case of failure.
++ */
++int ubifs_tnc_lookup_nm(struct ubifs_info *c, const union ubifs_key *key,
++ void *node, const struct qstr *nm)
++{
++ int err, len;
++ const struct ubifs_dent_node *dent = node;
++
++ /*
++ * We assume that in most of the cases there are no name collisions and
++ * 'ubifs_tnc_lookup()' returns us the right direntry.
++ */
++ err = ubifs_tnc_lookup(c, key, node);
++ if (err)
++ return err;
++
++ len = le16_to_cpu(dent->nlen);
++ if (nm->len == len && !memcmp(dent->name, nm->name, len))
++ return 0;
++
++ /*
++ * Unluckily, there are hash collisions and we have to iterate over
++ * them look at each direntry with colliding name hash sequentially.
++ */
++ return do_lookup_nm(c, key, node, nm);
++}
++
++/**
++ * correct_parent_keys - correct parent znodes' keys.
++ * @c: UBIFS file-system description object
++ * @znode: znode to correct parent znodes for
++ *
++ * This is a helper function for 'tnc_insert()'. When the key of the leftmost
++ * zbranch changes, keys of parent znodes have to be corrected. This helper
++ * function is called in such situations and corrects the keys if needed.
++ */
++static void correct_parent_keys(const struct ubifs_info *c,
++ struct ubifs_znode *znode)
++{
++ union ubifs_key *key, *key1;
++
++ ubifs_assert(znode->parent);
++ ubifs_assert(znode->iip == 0);
++
++ key = &znode->zbranch[0].key;
++ key1 = &znode->parent->zbranch[0].key;
++
++ while (keys_cmp(c, key, key1) < 0) {
++ key_copy(c, key, key1);
++ znode = znode->parent;
++ znode->alt = 1;
++ if (!znode->parent || znode->iip)
++ break;
++ key1 = &znode->parent->zbranch[0].key;
++ }
++}
++
++/**
++ * insert_zbranch - insert a zbranch into a znode.
++ * @znode: znode into which to insert
++ * @zbr: zbranch to insert
++ * @n: slot number to insert to
++ *
++ * This is a helper function for 'tnc_insert()'. UBIFS does not allow "gaps" in
++ * znode's array of zbranches and keeps zbranches consolidated, so when a new
++ * zbranch has to be inserted to the @znode->zbranches[]' array at the @n-th
++ * slot, zbranches starting from @n have to be moved right.
++ */
++static void insert_zbranch(struct ubifs_znode *znode,
++ const struct ubifs_zbranch *zbr, int n)
++{
++ int i;
++
++ ubifs_assert(ubifs_zn_dirty(znode));
++
++ if (znode->level) {
++ for (i = znode->child_cnt; i > n; i--) {
++ znode->zbranch[i] = znode->zbranch[i - 1];
++ if (znode->zbranch[i].znode)
++ znode->zbranch[i].znode->iip = i;
++ }
++ if (zbr->znode)
++ zbr->znode->iip = n;
++ } else
++ for (i = znode->child_cnt; i > n; i--)
++ znode->zbranch[i] = znode->zbranch[i - 1];
++
++ znode->zbranch[n] = *zbr;
++ znode->child_cnt += 1;
++
++ /*
++ * After inserting at slot zero, the lower bound of the key range of
++ * this znode may have changed. If this znode is subsequently split
++ * then the upper bound of the key range may change, and furthermore
++ * it could change to be lower than the original lower bound. If that
++ * happens, then it will no longer be possible to find this znode in the
++ * TNC using the key from the index node on flash. That is bad because
++ * if it is not found, we will assume it is obsolete and may overwrite
++ * it. Then if there is an unclean unmount, we will start using the
++ * old index which will be broken.
++ *
++ * So we first mark znodes that have insertions at slot zero, and then
++ * if they are split we add their lnum/offs to the old_idx tree.
++ */
++ if (n == 0)
++ znode->alt = 1;
++}
++
++/**
++ * tnc_insert - insert a node into TNC.
++ * @c: UBIFS file-system description object
++ * @znode: znode to insert into
++ * @zbr: branch to insert
++ * @n: slot number to insert new zbranch to
++ *
++ * This function inserts a new node described by @zbr into znode @znode. If
++ * znode does not have a free slot for new zbranch, it is split. Parent znodes
++ * are splat as well if needed. Returns zero in case of success or a negative
++ * error code in case of failure.
++ */
++static int tnc_insert(struct ubifs_info *c, struct ubifs_znode *znode,
++ struct ubifs_zbranch *zbr, int n)
++{
++ struct ubifs_znode *zn, *zi, *zp;
++ int i, keep, move, appending = 0;
++ union ubifs_key *key = &zbr->key, *key1;
++
++ ubifs_assert(n >= 0 && n <= c->fanout);
++
++ /* Implement naive insert for now */
++again:
++ zp = znode->parent;
++ if (znode->child_cnt < c->fanout) {
++ ubifs_assert(n != c->fanout);
++ dbg_tnc("inserted at %d level %d, key %s", n, znode->level,
++ DBGKEY(key));
++
++ insert_zbranch(znode, zbr, n);
++
++ /* Ensure parent's key is correct */
++ if (n == 0 && zp && znode->iip == 0)
++ correct_parent_keys(c, znode);
++
++ return 0;
++ }
++
++ /*
++ * Unfortunately, @znode does not have more empty slots and we have to
++ * split it.
++ */
++ dbg_tnc("splitting level %d, key %s", znode->level, DBGKEY(key));
++
++ if (znode->alt)
++ /*
++ * We can no longer be sure of finding this znode by key, so we
++ * record it in the old_idx tree.
++ */
++ ins_clr_old_idx_znode(c, znode);
++
++ zn = kzalloc(c->max_znode_sz, GFP_NOFS);
++ if (!zn)
++ return -ENOMEM;
++ zn->parent = zp;
++ zn->level = znode->level;
++
++ /* Decide where to split */
++ if (znode->level == 0 && key_type(c, key) == UBIFS_DATA_KEY) {
++ /* Try not to split consecutive data keys */
++ if (n == c->fanout) {
++ key1 = &znode->zbranch[n - 1].key;
++ if (key_inum(c, key1) == key_inum(c, key) &&
++ key_type(c, key1) == UBIFS_DATA_KEY)
++ appending = 1;
++ } else
++ goto check_split;
++ } else if (appending && n != c->fanout) {
++ /* Try not to split consecutive data keys */
++ appending = 0;
++check_split:
++ if (n >= (c->fanout + 1) / 2) {
++ key1 = &znode->zbranch[0].key;
++ if (key_inum(c, key1) == key_inum(c, key) &&
++ key_type(c, key1) == UBIFS_DATA_KEY) {
++ key1 = &znode->zbranch[n].key;
++ if (key_inum(c, key1) != key_inum(c, key) ||
++ key_type(c, key1) != UBIFS_DATA_KEY) {
++ keep = n;
++ move = c->fanout - keep;
++ zi = znode;
++ goto do_split;
++ }
++ }
++ }
++ }
++
++ if (appending) {
++ keep = c->fanout;
++ move = 0;
++ } else {
++ keep = (c->fanout + 1) / 2;
++ move = c->fanout - keep;
++ }
++
++ /*
++ * Although we don't at present, we could look at the neighbors and see
++ * if we can move some zbranches there.
++ */
++
++ if (n < keep) {
++ /* Insert into existing znode */
++ zi = znode;
++ move += 1;
++ keep -= 1;
++ } else {
++ /* Insert into new znode */
++ zi = zn;
++ n -= keep;
++ /* Re-parent */
++ if (zn->level != 0)
++ zbr->znode->parent = zn;
++ }
++
++do_split:
++
++ __set_bit(DIRTY_ZNODE, &zn->flags);
++ atomic_long_inc(&c->dirty_zn_cnt);
++
++ zn->child_cnt = move;
++ znode->child_cnt = keep;
++
++ dbg_tnc("moving %d, keeping %d", move, keep);
++
++ /* Move zbranch */
++ for (i = 0; i < move; i++) {
++ zn->zbranch[i] = znode->zbranch[keep + i];
++ /* Re-parent */
++ if (zn->level != 0)
++ if (zn->zbranch[i].znode) {
++ zn->zbranch[i].znode->parent = zn;
++ zn->zbranch[i].znode->iip = i;
++ }
++ }
++
++ /* Insert new key and branch */
++ dbg_tnc("inserting at %d level %d, key %s", n, zn->level, DBGKEY(key));
++
++ insert_zbranch(zi, zbr, n);
++
++ /* Insert new znode (produced by spitting) into the parent */
++ if (zp) {
++ if (n == 0 && zi == znode && znode->iip == 0)
++ correct_parent_keys(c, znode);
++
++ /* Locate insertion point */
++ n = znode->iip + 1;
++
++ /* Tail recursion */
++ zbr->key = zn->zbranch[0].key;
++ zbr->znode = zn;
++ zbr->lnum = 0;
++ zbr->offs = 0;
++ zbr->len = 0;
++ znode = zp;
++
++ goto again;
++ }
++
++ /* We have to split root znode */
++ dbg_tnc("creating new zroot at level %d", znode->level + 1);
++
++ zi = kzalloc(c->max_znode_sz, GFP_NOFS);
++ if (!zi)
++ return -ENOMEM;
++
++ zi->child_cnt = 2;
++ zi->level = znode->level + 1;
++
++ __set_bit(DIRTY_ZNODE, &zi->flags);
++ atomic_long_inc(&c->dirty_zn_cnt);
++
++ zi->zbranch[0].key = znode->zbranch[0].key;
++ zi->zbranch[0].znode = znode;
++ zi->zbranch[0].lnum = c->zroot.lnum;
++ zi->zbranch[0].offs = c->zroot.offs;
++ zi->zbranch[0].len = c->zroot.len;
++ zi->zbranch[1].key = zn->zbranch[0].key;
++ zi->zbranch[1].znode = zn;
++
++ c->zroot.lnum = 0;
++ c->zroot.offs = 0;
++ c->zroot.len = 0;
++ c->zroot.znode = zi;
++
++ zn->parent = zi;
++ zn->iip = 1;
++ znode->parent = zi;
++ znode->iip = 0;
++
++ return 0;
++}
++
++/**
++ * ubifs_tnc_add - add a node to TNC.
++ * @c: UBIFS file-system description object
++ * @key: key to add
++ * @lnum: LEB number of node
++ * @offs: node offset
++ * @len: node length
++ *
++ * This function adds a node with key @key to TNC. The node may be new or it may
++ * obsolete some existing one. Returns %0 on success or negative error code on
++ * failure.
++ */
++int ubifs_tnc_add(struct ubifs_info *c, const union ubifs_key *key, int lnum,
++ int offs, int len)
++{
++ int found, n, err = 0;
++ struct ubifs_znode *znode;
++
++ mutex_lock(&c->tnc_mutex);
++ dbg_tnc("%d:%d, len %d, key %s", lnum, offs, len, DBGKEY(key));
++ found = lookup_level0_dirty(c, key, &znode, &n);
++ if (!found) {
++ struct ubifs_zbranch zbr;
++
++ zbr.znode = NULL;
++ zbr.lnum = lnum;
++ zbr.offs = offs;
++ zbr.len = len;
++ key_copy(c, key, &zbr.key);
++ err = tnc_insert(c, znode, &zbr, n + 1);
++ } else if (found == 1) {
++ struct ubifs_zbranch *zbr = &znode->zbranch[n];
++
++ lnc_free(zbr);
++ err = ubifs_add_dirt(c, zbr->lnum, zbr->len);
++ zbr->lnum = lnum;
++ zbr->offs = offs;
++ zbr->len = len;
++ } else
++ err = found;
++ if (!err)
++ err = dbg_check_tnc(c, 0);
++ mutex_unlock(&c->tnc_mutex);
++
++ return err;
++}
++
++/**
++ * ubifs_tnc_replace - replace a node in the TNC only if the old node is found.
++ * @c: UBIFS file-system description object
++ * @key: key to add
++ * @old_lnum: LEB number of old node
++ * @old_offs: old node offset
++ * @lnum: LEB number of node
++ * @offs: node offset
++ * @len: node length
++ *
++ * This function replaces a node with key @key in the TNC only if the old node
++ * is found. This function is called by garbage collection when node are moved.
++ * Returns %0 on success or negative error code on failure.
++ */
++int ubifs_tnc_replace(struct ubifs_info *c, const union ubifs_key *key,
++ int old_lnum, int old_offs, int lnum, int offs, int len)
++{
++ int found, n, err = 0;
++ struct ubifs_znode *znode;
++
++ mutex_lock(&c->tnc_mutex);
++ dbg_tnc("old LEB %d:%d, new LEB %d:%d, len %d, key %s", old_lnum,
++ old_offs, lnum, offs, len, DBGKEY(key));
++ found = lookup_level0_dirty(c, key, &znode, &n);
++ if (found < 0) {
++ err = found;
++ goto out_unlock;
++ }
++
++ if (found == 1) {
++ struct ubifs_zbranch *zbr = &znode->zbranch[n];
++
++ found = 0;
++ if (zbr->lnum == old_lnum && zbr->offs == old_offs) {
++ lnc_free(zbr);
++ err = ubifs_add_dirt(c, zbr->lnum, zbr->len);
++ if (err)
++ goto out_unlock;
++ zbr->lnum = lnum;
++ zbr->offs = offs;
++ zbr->len = len;
++ found = 1;
++ } else if (is_hash_key(c, key)) {
++ found = resolve_collision_directly(c, key, &znode, &n,
++ old_lnum, old_offs);
++ dbg_tnc("rc returned %d, znode %p, n %d, LEB %d:%d",
++ found, znode, n, old_lnum, old_offs);
++ if (found < 0) {
++ err = found;
++ goto out_unlock;
++ }
++
++ if (found) {
++ /* Ensure the znode is dirtied */
++ if (znode->cnext || !ubifs_zn_dirty(znode)) {
++ znode = dirty_cow_bottom_up(c, znode);
++ if (IS_ERR(znode)) {
++ err = PTR_ERR(znode);
++ goto out_unlock;
++ }
++ }
++ zbr = &znode->zbranch[n];
++ lnc_free(zbr);
++ err = ubifs_add_dirt(c, zbr->lnum,
++ zbr->len);
++ if (err)
++ goto out_unlock;
++ zbr->lnum = lnum;
++ zbr->offs = offs;
++ zbr->len = len;
++ }
++ }
++ }
++
++ if (!found)
++ err = ubifs_add_dirt(c, lnum, len);
++
++ if (!err)
++ err = dbg_check_tnc(c, 0);
++
++out_unlock:
++ mutex_unlock(&c->tnc_mutex);
++ return err;
++}
++
++/**
++ * ubifs_tnc_add_nm - add a "hashed" node to TNC.
++ * @c: UBIFS file-system description object
++ * @key: key to add
++ * @lnum: LEB number of node
++ * @offs: node offset
++ * @len: node length
++ * @nm: node name
++ *
++ * This is the same as 'ubifs_tnc_add()' but it should be used with keys which
++ * may have collisions, like directory entry keys.
++ */
++int ubifs_tnc_add_nm(struct ubifs_info *c, const union ubifs_key *key,
++ int lnum, int offs, int len, const struct qstr *nm)
++{
++ int found, n, err = 0;
++ struct ubifs_znode *znode;
++
++ mutex_lock(&c->tnc_mutex);
++ dbg_tnc("LEB %d:%d, name '%.*s', key %s", lnum, offs, nm->len, nm->name,
++ DBGKEY(key));
++ found = lookup_level0_dirty(c, key, &znode, &n);
++ if (found < 0) {
++ err = found;
++ goto out_unlock;
++ }
++
++ if (found == 1) {
++ if (c->replaying)
++ found = fallible_resolve_collision(c, key, &znode, &n,
++ nm, 1);
++ else
++ found = resolve_collision(c, key, &znode, &n, nm);
++ dbg_tnc("rc returned %d, znode %p, n %d", found, znode, n);
++ if (found < 0) {
++ err = found;
++ goto out_unlock;
++ }
++
++ /* Ensure the znode is dirtied */
++ if (znode->cnext || !ubifs_zn_dirty(znode)) {
++ znode = dirty_cow_bottom_up(c, znode);
++ if (IS_ERR(znode)) {
++ err = PTR_ERR(znode);
++ goto out_unlock;
++ }
++ }
++
++ if (found == 1) {
++ struct ubifs_zbranch *zbr = &znode->zbranch[n];
++
++ lnc_free(zbr);
++ err = ubifs_add_dirt(c, zbr->lnum, zbr->len);
++ zbr->lnum = lnum;
++ zbr->offs = offs;
++ zbr->len = len;
++ goto out_unlock;
++ }
++ }
++
++ if (!found) {
++ struct ubifs_zbranch zbr;
++
++ zbr.znode = NULL;
++ zbr.lnum = lnum;
++ zbr.offs = offs;
++ zbr.len = len;
++ key_copy(c, key, &zbr.key);
++ err = tnc_insert(c, znode, &zbr, n + 1);
++ if (err)
++ goto out_unlock;
++ if (c->replaying) {
++ /*
++ * We did not find it in the index so there may be a
++ * dangling branch still in the index. So we remove it
++ * by passing 'ubifs_tnc_remove_nm()' the same key but
++ * an unmatchable name.
++ */
++ struct qstr noname = { .len = 0, .name = "" };
++
++ err = dbg_check_tnc(c, 0);
++ mutex_unlock(&c->tnc_mutex);
++ if (err)
++ return err;
++ return ubifs_tnc_remove_nm(c, key, &noname);
++ }
++ }
++
++out_unlock:
++ if (!err)
++ err = dbg_check_tnc(c, 0);
++ mutex_unlock(&c->tnc_mutex);
++ return err;
++}
++
++/**
++ * tnc_delete - delete a znode form TNC.
++ * @c: UBIFS file-system description object
++ * @znode: znode to delete from
++ * @n: zbranch slot number to delete
++ *
++ * This function deletes a leaf node from @n-th slot of @znode. Returns zero in
++ * case of success and a negative error code in case of failure.
++ */
++static int tnc_delete(struct ubifs_info *c, struct ubifs_znode *znode, int n)
++{
++ struct ubifs_zbranch *zbr;
++ struct ubifs_znode *zp;
++ int i, err;
++
++ /* Delete without merge for now */
++ ubifs_assert(znode->level == 0);
++ ubifs_assert(n >= 0 && n < c->fanout);
++ dbg_tnc("deleting %s", DBGKEY(&znode->zbranch[n].key));
++
++ zbr = &znode->zbranch[n];
++ lnc_free(zbr);
++
++ err = ubifs_add_dirt(c, zbr->lnum, zbr->len);
++ if (err) {
++ dbg_dump_znode(c, znode);
++ return err;
++ }
++
++ /* We do not "gap" zbranch slots */
++ for (i = n; i < znode->child_cnt - 1; i++)
++ znode->zbranch[i] = znode->zbranch[i + 1];
++ znode->child_cnt -= 1;
++
++ if (znode->child_cnt > 0)
++ return 0;
++
++ /*
++ * This was the last zbranch, we have to delete this znode from the
++ * parent.
++ */
++
++ do {
++ ubifs_assert(!test_bit(OBSOLETE_ZNODE, &znode->flags));
++ ubifs_assert(ubifs_zn_dirty(znode));
++
++ zp = znode->parent;
++ n = znode->iip;
++
++ atomic_long_dec(&c->dirty_zn_cnt);
++
++ err = insert_old_idx_znode(c, znode);
++ if (err)
++ return err;
++
++ if (znode->cnext) {
++ __set_bit(OBSOLETE_ZNODE, &znode->flags);
++ atomic_long_inc(&c->clean_zn_cnt);
++ atomic_long_inc(&ubifs_clean_zn_cnt);
++ } else
++ kfree(znode);
++ znode = zp;
++ } while (znode->child_cnt == 1); /* while removing last child */
++
++ /* Remove from znode, entry n - 1 */
++ znode->child_cnt -= 1;
++ ubifs_assert(znode->level != 0);
++ for (i = n; i < znode->child_cnt; i++) {
++ znode->zbranch[i] = znode->zbranch[i + 1];
++ if (znode->zbranch[i].znode)
++ znode->zbranch[i].znode->iip = i;
++ }
++
++ /*
++ * If this is the root and it has only 1 child then
++ * collapse the tree.
++ */
++ if (!znode->parent) {
++ while (znode->child_cnt == 1 && znode->level != 0) {
++ zp = znode;
++ zbr = &znode->zbranch[0];
++ znode = get_znode(c, znode, 0);
++ if (IS_ERR(znode))
++ return PTR_ERR(znode);
++ znode = dirty_cow_znode(c, zbr);
++ if (IS_ERR(znode))
++ return PTR_ERR(znode);
++ znode->parent = NULL;
++ znode->iip = 0;
++ if (c->zroot.len) {
++ err = insert_old_idx(c, c->zroot.lnum,
++ c->zroot.offs);
++ if (err)
++ return err;
++ }
++ c->zroot.lnum = zbr->lnum;
++ c->zroot.offs = zbr->offs;
++ c->zroot.len = zbr->len;
++ c->zroot.znode = znode;
++ ubifs_assert(!test_bit(OBSOLETE_ZNODE,
++ &zp->flags));
++ ubifs_assert(test_bit(DIRTY_ZNODE, &zp->flags));
++ atomic_long_dec(&c->dirty_zn_cnt);
++
++ if (zp->cnext) {
++ __set_bit(OBSOLETE_ZNODE, &zp->flags);
++ atomic_long_inc(&c->clean_zn_cnt);
++ atomic_long_inc(&ubifs_clean_zn_cnt);
++ } else
++ kfree(zp);
++ }
++ }
++
++ return 0;
++}
++
++/**
++ * ubifs_tnc_remove - remove an index entry of a node.
++ * @c: UBIFS file-system description object
++ * @key: key of node
++ *
++ * Returns %0 on success or negative error code on failure.
++ */
++int ubifs_tnc_remove(struct ubifs_info *c, const union ubifs_key *key)
++{
++ int found, n, err = 0;
++ struct ubifs_znode *znode;
++
++ mutex_lock(&c->tnc_mutex);
++ dbg_tnc("key %s", DBGKEY(key));
++ found = lookup_level0_dirty(c, key, &znode, &n);
++ if (found < 0) {
++ err = found;
++ goto out_unlock;
++ }
++ if (found == 1)
++ err = tnc_delete(c, znode, n);
++ if (!err)
++ err = dbg_check_tnc(c, 0);
++
++out_unlock:
++ mutex_unlock(&c->tnc_mutex);
++ return err;
++}
++
++/**
++ * ubifs_tnc_remove_nm - remove an index entry for a "hashed" node.
++ * @c: UBIFS file-system description object
++ * @key: key of node
++ * @nm: directory entry name
++ *
++ * Returns %0 on success or negative error code on failure.
++ */
++int ubifs_tnc_remove_nm(struct ubifs_info *c, const union ubifs_key *key,
++ const struct qstr *nm)
++{
++ int n, err;
++ struct ubifs_znode *znode;
++
++ mutex_lock(&c->tnc_mutex);
++ dbg_tnc("%.*s, key %s", nm->len, nm->name, DBGKEY(key));
++ err = lookup_level0_dirty(c, key, &znode, &n);
++ if (err < 0)
++ goto out_unlock;
++
++ if (err) {
++ if (c->replaying)
++ err = fallible_resolve_collision(c, key, &znode, &n,
++ nm, 0);
++ else
++ err = resolve_collision(c, key, &znode, &n, nm);
++ dbg_tnc("rc returned %d, znode %p, n %d", err, znode, n);
++ if (err < 0)
++ goto out_unlock;
++ if (err) {
++ /* Ensure the znode is dirtied */
++ if (znode->cnext || !ubifs_zn_dirty(znode)) {
++ znode = dirty_cow_bottom_up(c, znode);
++ if (IS_ERR(znode)) {
++ err = PTR_ERR(znode);
++ goto out_unlock;
++ }
++ }
++ err = tnc_delete(c, znode, n);
++ }
++ }
++
++out_unlock:
++ if (!err)
++ err = dbg_check_tnc(c, 0);
++ mutex_unlock(&c->tnc_mutex);
++ return err;
++}
++
++/**
++ * key_in_range - determine if a key falls within a range of keys.
++ * @c: UBIFS file-system description object
++ * @key: key to check
++ * @from_key: lowest key in range
++ * @to_key: highest key in range
++ *
++ * This function returns %1 if the key is in range and %0 otherwise.
++ */
++static int key_in_range(struct ubifs_info *c, union ubifs_key *key,
++ union ubifs_key *from_key, union ubifs_key *to_key)
++{
++ if (keys_cmp(c, key, from_key) < 0)
++ return 0;
++ if (keys_cmp(c, key, to_key) > 0)
++ return 0;
++ return 1;
++}
++
++/**
++ * ubifs_tnc_remove_range - remove index entries in range.
++ * @c: UBIFS file-system description object
++ * @from_key: lowest key to remove
++ * @to_key: highest key to remove
++ *
++ * This function removes index entries starting at @from_key and ending at
++ * @to_key. This function returns zero in case of success and a negative error
++ * code in case of failure.
++ */
++int ubifs_tnc_remove_range(struct ubifs_info *c, union ubifs_key *from_key,
++ union ubifs_key *to_key)
++{
++ int i, n, k, err = 0;
++ struct ubifs_znode *znode;
++ union ubifs_key *key;
++
++ mutex_lock(&c->tnc_mutex);
++ while (1) {
++ /* Find first level 0 znode that contains keys to remove */
++ err = ubifs_lookup_level0(c, from_key, &znode, &n);
++ if (err < 0)
++ goto out_unlock;
++
++ if (err)
++ key = from_key;
++ else {
++ err = tnc_next(c, &znode, &n);
++ if (err == -ENOENT) {
++ err = 0;
++ goto out_unlock;
++ }
++ if (err < 0)
++ goto out_unlock;
++ key = &znode->zbranch[n].key;
++ if (!key_in_range(c, key, from_key, to_key)) {
++ err = 0;
++ goto out_unlock;
++ }
++ }
++
++ /* Ensure the znode is dirtied */
++ if (znode->cnext || !ubifs_zn_dirty(znode)) {
++ znode = dirty_cow_bottom_up(c, znode);
++ if (IS_ERR(znode)) {
++ err = PTR_ERR(znode);
++ goto out_unlock;
++ }
++ }
++
++ /* Remove all keys in range except the first */
++ for (i = n + 1, k = 0; i < znode->child_cnt; i++, k++) {
++ key = &znode->zbranch[i].key;
++ if (!key_in_range(c, key, from_key, to_key))
++ break;
++ lnc_free(&znode->zbranch[i]);
++ err = ubifs_add_dirt(c, znode->zbranch[i].lnum,
++ znode->zbranch[i].len);
++ if (err) {
++ dbg_dump_znode(c, znode);
++ goto out_unlock;
++ }
++ dbg_tnc("removing %s", DBGKEY(key));
++ }
++ if (k) {
++ for (i = n + 1 + k; i < znode->child_cnt; i++)
++ znode->zbranch[i - k] = znode->zbranch[i];
++ znode->child_cnt -= k;
++ }
++
++ /* Now delete the first */
++ err = tnc_delete(c, znode, n);
++ if (err)
++ goto out_unlock;
++ }
++
++out_unlock:
++ if (!err)
++ err = dbg_check_tnc(c, 0);
++ mutex_unlock(&c->tnc_mutex);
++ return err;
++}
++
++/**
++ * ubifs_tnc_remove_ino - remove an inode from TNC.
++ * @c: UBIFS file-system description object
++ * @inum: inode number to remove
++ *
++ * This function remove inode @inum and all the extended attributes associated
++ * with the anode from TNC and returns zero in case of success or a negative
++ * error code in case of failure.
++ */
++int ubifs_tnc_remove_ino(struct ubifs_info *c, ino_t inum)
++{
++ union ubifs_key key1, key2;
++ struct ubifs_dent_node *xent, *pxent = NULL;
++ struct qstr nm = { .name = NULL };
++
++ dbg_tnc("ino %lu", (unsigned long)inum);
++
++ /*
++ * Walk all extended attribute entries and remove them together with
++ * corresponding extended attribute inodes.
++ */
++ lowest_xent_key(c, &key1, inum);
++ while (1) {
++ ino_t xattr_inum;
++ int err;
++
++ xent = ubifs_tnc_next_ent(c, &key1, &nm);
++ if (IS_ERR(xent)) {
++ err = PTR_ERR(xent);
++ if (err == -ENOENT)
++ break;
++ return err;
++ }
++
++ xattr_inum = le64_to_cpu(xent->inum);
++ dbg_tnc("xent '%s', ino %lu", xent->name,
++ (unsigned long)xattr_inum);
++
++ nm.name = xent->name;
++ nm.len = le16_to_cpu(xent->nlen);
++ err = ubifs_tnc_remove_nm(c, &key1, &nm);
++ if (err) {
++ kfree(xent);
++ return err;
++ }
++
++ lowest_ino_key(c, &key1, xattr_inum);
++ highest_ino_key(c, &key2, xattr_inum);
++ err = ubifs_tnc_remove_range(c, &key1, &key2);
++ if (err) {
++ kfree(xent);
++ return err;
++ }
++
++ kfree(pxent);
++ pxent = xent;
++ key_read(c, &xent->key, &key1);
++ }
++
++ kfree(pxent);
++ lowest_ino_key(c, &key1, inum);
++ highest_ino_key(c, &key2, inum);
++
++ return ubifs_tnc_remove_range(c, &key1, &key2);
++}
++
++/**
++ * ubifs_tnc_next_ent - walk directory or extended attribute entries.
++ * @c: UBIFS file-system description object
++ * @key: key of last entry
++ * @nm: name of last entry found or %NULL
++ *
++ * This function finds and reads the next directory or extended attribute entry
++ * after the given key (@key) if there is one. @nm is used to resolve
++ * collisions.
++ *
++ * If the name of the current entry is not known and only the key is known,
++ * @nm->name has to be %NULL. In this case the semantics of this function is a
++ * little bit different and it returns the entry corresponding to this key, not
++ * the next one. If the key was not found, the closest "right" entry is
++ * returned.
++ *
++ * If the fist entry has to be found, @key has to contain the lowest possible
++ * key value for this inode and @name has to be %NULL.
++ *
++ * This function returns the found directory or extended attribute entry node
++ * in case of success, %-ENOENT is returned if no entry was found, and a
++ * negative error code is returned in case of failure.
++ */
++struct ubifs_dent_node *ubifs_tnc_next_ent(struct ubifs_info *c,
++ union ubifs_key *key,
++ const struct qstr *nm)
++{
++ int n, err, type = key_type(c, key);
++ struct ubifs_znode *znode;
++ struct ubifs_dent_node *dent;
++ struct ubifs_zbranch *zbr;
++ union ubifs_key *dkey;
++
++ dbg_tnc("%s %s", nm->name ? (char *)nm->name : "(lowest)", DBGKEY(key));
++ ubifs_assert(is_hash_key(c, key));
++
++ mutex_lock(&c->tnc_mutex);
++ err = ubifs_lookup_level0(c, key, &znode, &n);
++ if (unlikely(err < 0))
++ goto out_unlock;
++
++ if (nm->name) {
++ if (err) {
++ /* Handle collisions */
++ err = resolve_collision(c, key, &znode, &n, nm);
++ dbg_tnc("rc returned %d, znode %p, n %d",
++ err, znode, n);
++ if (unlikely(err < 0))
++ goto out_unlock;
++ }
++
++ /* Now find next entry */
++ err = tnc_next(c, &znode, &n);
++ if (unlikely(err))
++ goto out_unlock;
++ } else {
++ /*
++ * The full name of the entry was not given, in which case the
++ * behavior of this function is a little different and it
++ * returns current entry, not the next one.
++ */
++ if (!err) {
++ /*
++ * However, the given key does not exist in the TNC
++ * tree and @znode/@n variables contain the closest
++ * "preceding" element. Switch to the next one.
++ */
++ err = tnc_next(c, &znode, &n);
++ if (err)
++ goto out_unlock;
++ }
++ }
++
++ zbr = &znode->zbranch[n];
++ dent = kmalloc(zbr->len, GFP_NOFS);
++ if (unlikely(!dent)) {
++ err = -ENOMEM;
++ goto out_unlock;
++ }
++
++ /*
++ * The above 'tnc_next()' call could lead us to the next inode, check
++ * this.
++ */
++ dkey = &zbr->key;
++ if (key_inum(c, dkey) != key_inum(c, key) ||
++ key_type(c, dkey) != type) {
++ err = -ENOENT;
++ goto out_free;
++ }
++
++ err = tnc_read_node_nm(c, zbr, dent);
++ if (unlikely(err))
++ goto out_free;
++
++ mutex_unlock(&c->tnc_mutex);
++ return dent;
++
++out_free:
++ kfree(dent);
++out_unlock:
++ mutex_unlock(&c->tnc_mutex);
++ return ERR_PTR(err);
++}
++
++/**
++ * tnc_destroy_cnext - destroy left-over obsolete znodes from a failed commit.
++ * @c: UBIFS file-system description object
++ *
++ * Destroy left-over obsolete znodes from a failed commit.
++ */
++static void tnc_destroy_cnext(struct ubifs_info *c)
++{
++ struct ubifs_znode *cnext;
++
++ if (!c->cnext)
++ return;
++ ubifs_assert(c->cmt_state == COMMIT_BROKEN);
++ cnext = c->cnext;
++ do {
++ struct ubifs_znode *znode = cnext;
++
++ cnext = cnext->cnext;
++ if (test_bit(OBSOLETE_ZNODE, &znode->flags))
++ kfree(znode);
++ } while (cnext && cnext != c->cnext);
++}
++
++/**
++ * ubifs_tnc_close - close TNC subsystem and free all related resources.
++ * @c: UBIFS file-system description object
++ */
++void ubifs_tnc_close(struct ubifs_info *c)
++{
++ long clean_freed;
++
++ tnc_destroy_cnext(c);
++ if (c->zroot.znode) {
++ clean_freed = ubifs_destroy_tnc_subtree(c->zroot.znode);
++ atomic_long_sub(clean_freed, &ubifs_clean_zn_cnt);
++ }
++ kfree(c->gap_lebs);
++ kfree(c->ilebs);
++ destroy_old_idx(c);
++}
++
++/**
++ * left_znode - get the znode to the left.
++ * @c: UBIFS file-system description object
++ * @znode: znode
++ *
++ * This function returns a pointer to the znode to the left of @znode or NULL if
++ * there is not one. A negative error code is returned on failure.
++ */
++static struct ubifs_znode *left_znode(struct ubifs_info *c,
++ struct ubifs_znode *znode)
++{
++ int level = znode->level;
++
++ while (1) {
++ int n = znode->iip - 1;
++
++ /* Go up until we can go left */
++ znode = znode->parent;
++ if (!znode)
++ return NULL;
++ if (n >= 0) {
++ /* Now go down the rightmost branch to 'level' */
++ znode = get_znode(c, znode, n);
++ if (IS_ERR(znode))
++ return znode;
++ while (znode->level != level) {
++ n = znode->child_cnt - 1;
++ znode = get_znode(c, znode, n);
++ if (IS_ERR(znode))
++ return znode;
++ }
++ break;
++ }
++ }
++ return znode;
++}
++
++/**
++ * right_znode - get the znode to the right.
++ * @c: UBIFS file-system description object
++ * @znode: znode
++ *
++ * This function returns a pointer to the znode to the right of @znode or NULL
++ * if there is not one. A negative error code is returned on failure.
++ */
++static struct ubifs_znode *right_znode(struct ubifs_info *c,
++ struct ubifs_znode *znode)
++{
++ int level = znode->level;
++
++ while (1) {
++ int n = znode->iip + 1;
++
++ /* Go up until we can go right */
++ znode = znode->parent;
++ if (!znode)
++ return NULL;
++ if (n < znode->child_cnt) {
++ /* Now go down the leftmost branch to 'level' */
++ znode = get_znode(c, znode, n);
++ if (IS_ERR(znode))
++ return znode;
++ while (znode->level != level) {
++ znode = get_znode(c, znode, 0);
++ if (IS_ERR(znode))
++ return znode;
++ }
++ break;
++ }
++ }
++ return znode;
++}
++
++/**
++ * lookup_znode - find a particular indexing node from TNC.
++ * @c: UBIFS file-system description object
++ * @key: index node key to lookup
++ * @level: index node level
++ * @lnum: index node LEB number
++ * @offs: index node offset
++ *
++ * This function searches an indexing node by its first key @key and its
++ * address @lnum:@offs. It looks up the indexing tree by pulling all indexing
++ * nodes it traverses to TNC. This function is called fro indexing nodes which
++ * were found on the media by scanning, for example when garbage-collecting or
++ * when doing in-the-gaps commit. This means that the indexing node which is
++ * looked for does not have to have exactly the same leftmost key @key, because
++ * the leftmost key may have been changed, in which case TNC will contain a
++ * dirty znode which still refers the same @lnum:@offs. This function is clever
++ * enough to recognize such indexing nodes.
++ *
++ * Note, if a znode was deleted or changed too much, then this function will
++ * not find it. For situations like this UBIFS has the old index RB-tree
++ * (indexed by @lnum:@offs).
++ *
++ * This function returns a pointer to the znode found or %NULL if it is not
++ * found. A negative error code is returned on failure.
++ */
++static struct ubifs_znode *lookup_znode(struct ubifs_info *c,
++ union ubifs_key *key, int level,
++ int lnum, int offs)
++{
++ struct ubifs_znode *znode, *zn;
++ int n, nn;
++
++ /*
++ * The arguments have probably been read off flash, so don't assume
++ * they are valid.
++ */
++ if (level < 0)
++ return ERR_PTR(-EINVAL);
++
++ /* Get the root znode */
++ znode = c->zroot.znode;
++ if (!znode) {
++ znode = ubifs_load_znode(c, &c->zroot, NULL, 0);
++ if (IS_ERR(znode))
++ return znode;
++ }
++ /* Check if it is the one we are looking for */
++ if (c->zroot.lnum == lnum && c->zroot.offs == offs)
++ return znode;
++ /* Descend to the parent level i.e. (level + 1) */
++ if (level >= znode->level)
++ return NULL;
++ while (1) {
++ ubifs_search_zbranch(c, znode, key, &n);
++ if (n < 0) {
++ /*
++ * We reached a znode where the leftmost key is greater
++ * than the key we are searching for. This is the same
++ * situation as the one described in a huge comment at
++ * the end of the 'ubifs_lookup_level0()' function. And
++ * for exactly the same reasons we have to try to look
++ * left before giving up.
++ */
++ znode = left_znode(c, znode);
++ if (!znode)
++ return NULL;
++ if (IS_ERR(znode))
++ return znode;
++ ubifs_search_zbranch(c, znode, key, &n);
++ ubifs_assert(n >= 0);
++ }
++ if (znode->level == level + 1)
++ break;
++ znode = get_znode(c, znode, n);
++ if (IS_ERR(znode))
++ return znode;
++ }
++ /* Check if the child is the one we are looking for */
++ if (znode->zbranch[n].lnum == lnum && znode->zbranch[n].offs == offs)
++ return get_znode(c, znode, n);
++ /* If the key is unique, there is nowhere else to look */
++ if (!is_hash_key(c, key))
++ return NULL;
++ /*
++ * The key is not unique and so may be also in the znodes to either
++ * side.
++ */
++ zn = znode;
++ nn = n;
++ /* Look left */
++ while (1) {
++ /* Move one branch to the left */
++ if (n)
++ n -= 1;
++ else {
++ znode = left_znode(c, znode);
++ if (!znode)
++ break;
++ if (IS_ERR(znode))
++ return znode;
++ n = znode->child_cnt - 1;
++ }
++ /* Check it */
++ if (znode->zbranch[n].lnum == lnum &&
++ znode->zbranch[n].offs == offs)
++ return get_znode(c, znode, n);
++ /* Stop if the key is less than the one we are looking for */
++ if (keys_cmp(c, &znode->zbranch[n].key, key) < 0)
++ break;
++ }
++ /* Back to the middle */
++ znode = zn;
++ n = nn;
++ /* Look right */
++ while (1) {
++ /* Move one branch to the right */
++ if (++n >= znode->child_cnt) {
++ znode = right_znode(c, znode);
++ if (!znode)
++ break;
++ if (IS_ERR(znode))
++ return znode;
++ n = 0;
++ }
++ /* Check it */
++ if (znode->zbranch[n].lnum == lnum &&
++ znode->zbranch[n].offs == offs)
++ return get_znode(c, znode, n);
++ /* Stop if the key is greater than the one we are looking for */
++ if (keys_cmp(c, &znode->zbranch[n].key, key) > 0)
++ break;
++ }
++ return NULL;
++}
++
++/**
++ * is_idx_node_in_tnc - determine if an index node is in the TNC.
++ * @c: UBIFS file-system description object
++ * @key: key of index node
++ * @level: index node level
++ * @lnum: LEB number of index node
++ * @offs: offset of index node
++ *
++ * This function returns %0 if the index node is not referred to in the TNC, %1
++ * if the index node is referred to in the TNC and the corresponding znode is
++ * dirty, %2 if an index node is referred to in the TNC and the corresponding
++ * znode is clean, and a negative error code in case of failure.
++ *
++ * Note, the @key argument has to be the key of the first child. Also note,
++ * this function relies on the fact that 0:0 is never a valid LEB number and
++ * offset for a main-area node.
++ */
++int is_idx_node_in_tnc(struct ubifs_info *c, union ubifs_key *key, int level,
++ int lnum, int offs)
++{
++ struct ubifs_znode *znode;
++
++ znode = lookup_znode(c, key, level, lnum, offs);
++ if (!znode)
++ return 0;
++ if (IS_ERR(znode))
++ return PTR_ERR(znode);
++
++ return ubifs_zn_dirty(znode) ? 1 : 2;
++}
++
++/**
++ * is_leaf_node_in_tnc - determine if a non-indexing not is in the TNC.
++ * @c: UBIFS file-system description object
++ * @key: node key
++ * @lnum: node LEB number
++ * @offs: node offset
++ *
++ * This function returns %1 if the node is referred to in the TNC, %0 if it is
++ * not, and a negative error code in case of failure.
++ *
++ * Note, this function relies on the fact that 0:0 is never a valid LEB number
++ * and offset for a main-area node.
++ */
++static int is_leaf_node_in_tnc(struct ubifs_info *c, union ubifs_key *key,
++ int lnum, int offs)
++{
++ struct ubifs_zbranch *zbr;
++ struct ubifs_znode *znode, *zn;
++ int n, found, err, nn;
++ const int unique = !is_hash_key(c, key);
++
++ found = ubifs_lookup_level0(c, key, &znode, &n);
++ if (found < 0)
++ return found; /* Error code */
++ if (!found)
++ return 0;
++ zbr = &znode->zbranch[n];
++ if (lnum == zbr->lnum && offs == zbr->offs)
++ return 1; /* Found it */
++ if (unique)
++ return 0;
++ /*
++ * Because the key is not unique, we have to look left
++ * and right as well
++ */
++ zn = znode;
++ nn = n;
++ /* Look left */
++ while (1) {
++ err = tnc_prev(c, &znode, &n);
++ if (err == -ENOENT)
++ break;
++ if (err)
++ return err;
++ if (keys_cmp(c, key, &znode->zbranch[n].key))
++ break;
++ zbr = &znode->zbranch[n];
++ if (lnum == zbr->lnum && offs == zbr->offs)
++ return 1; /* Found it */
++ }
++ /* Look right */
++ znode = zn;
++ n = nn;
++ while (1) {
++ err = tnc_next(c, &znode, &n);
++ if (err) {
++ if (err == -ENOENT)
++ return 0;
++ return err;
++ }
++ if (keys_cmp(c, key, &znode->zbranch[n].key))
++ break;
++ zbr = &znode->zbranch[n];
++ if (lnum == zbr->lnum && offs == zbr->offs)
++ return 1; /* Found it */
++ }
++ return 0;
++}
++
++/**
++ * ubifs_tnc_has_node - determine whether a node is in the TNC.
++ * @c: UBIFS file-system description object
++ * @key: node key
++ * @level: index node level (if it is an index node)
++ * @lnum: node LEB number
++ * @offs: node offset
++ * @is_idx: non-zero if the node is an index node
++ *
++ * This function returns %1 if the node is in the TNC, %0 if it is not, and a
++ * negative error code in case of failure. For index nodes, @key has to be the
++ * key of the first child. An index node is considered to be in the TNC only if
++ * the corresponding znode is clean or has not been loaded.
++ */
++int ubifs_tnc_has_node(struct ubifs_info *c, union ubifs_key *key, int level,
++ int lnum, int offs, int is_idx)
++{
++ int err;
++
++ mutex_lock(&c->tnc_mutex);
++ if (is_idx) {
++ err = is_idx_node_in_tnc(c, key, level, lnum, offs);
++ if (err < 0)
++ goto out_unlock;
++ if (err == 1)
++ /* The index node was found but it was dirty */
++ err = 0;
++ else if (err == 2)
++ /* The index node was found and it was clean */
++ err = 1;
++ else
++ BUG_ON(err != 0);
++ } else
++ err = is_leaf_node_in_tnc(c, key, lnum, offs);
++
++out_unlock:
++ mutex_unlock(&c->tnc_mutex);
++ return err;
++}
++
++/**
++ * ubifs_dirty_idx_node - dirty an index node.
++ * @c: UBIFS file-system description object
++ * @key: index node key
++ * @level: index node level
++ * @lnum: index node LEB number
++ * @offs: index node offset
++ *
++ * This function loads and dirties an index node so that it can be garbage
++ * collected. The @key argument has to be the key of the first child. This
++ * function relies on the fact that 0:0 is never a valid LEB number and offset
++ * for a main-area node. Returns %0 on success and a negative error code on
++ * failure.
++ */
++int ubifs_dirty_idx_node(struct ubifs_info *c, union ubifs_key *key, int level,
++ int lnum, int offs)
++{
++ struct ubifs_znode *znode;
++ int err = 0;
++
++ mutex_lock(&c->tnc_mutex);
++ znode = lookup_znode(c, key, level, lnum, offs);
++ if (!znode)
++ goto out_unlock;
++ if (IS_ERR(znode)) {
++ err = PTR_ERR(znode);
++ goto out_unlock;
++ }
++ znode = dirty_cow_bottom_up(c, znode);
++ if (IS_ERR(znode)) {
++ err = PTR_ERR(znode);
++ goto out_unlock;
++ }
++
++out_unlock:
++ mutex_unlock(&c->tnc_mutex);
++ return err;
++}
+diff -Nurd linux-2.6.24/fs/ubifs/tnc_commit.c ubifs-v2.6.24/fs/ubifs/tnc_commit.c
+--- linux-2.6.24/fs/ubifs/tnc_commit.c 1970-01-01 02:00:00.000000000 +0200
++++ ubifs-v2.6.24/fs/ubifs/tnc_commit.c 2009-04-07 17:14:47.000000000 +0200
+@@ -0,0 +1,1105 @@
++/*
++ * This file is part of UBIFS.
++ *
++ * Copyright (C) 2006-2008 Nokia Corporation.
++ *
++ * This program is free software; you can redistribute it and/or modify it
++ * under the terms of the GNU General Public License version 2 as published by
++ * the Free Software Foundation.
++ *
++ * 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, write to the Free Software Foundation, Inc., 51
++ * Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
++ *
++ * Authors: Adrian Hunter
++ * Artem Bityutskiy (Битюцкий Ðртём)
++ */
++
++/* This file implements TNC functions for committing */
++
++#include "ubifs.h"
++
++/**
++ * make_idx_node - make an index node for fill-the-gaps method of TNC commit.
++ * @c: UBIFS file-system description object
++ * @idx: buffer in which to place new index node
++ * @znode: znode from which to make new index node
++ * @lnum: LEB number where new index node will be written
++ * @offs: offset where new index node will be written
++ * @len: length of new index node
++ */
++static int make_idx_node(struct ubifs_info *c, struct ubifs_idx_node *idx,
++ struct ubifs_znode *znode, int lnum, int offs, int len)
++{
++ struct ubifs_znode *zp;
++ int i, err;
++
++ /* Make index node */
++ idx->ch.node_type = UBIFS_IDX_NODE;
++ idx->child_cnt = cpu_to_le16(znode->child_cnt);
++ idx->level = cpu_to_le16(znode->level);
++ for (i = 0; i < znode->child_cnt; i++) {
++ struct ubifs_branch *br = ubifs_idx_branch(c, idx, i);
++ struct ubifs_zbranch *zbr = &znode->zbranch[i];
++
++ key_write_idx(c, &zbr->key, &br->key);
++ br->lnum = cpu_to_le32(zbr->lnum);
++ br->offs = cpu_to_le32(zbr->offs);
++ br->len = cpu_to_le32(zbr->len);
++ if (!zbr->lnum || !zbr->len) {
++ ubifs_err("bad ref in znode");
++ dbg_dump_znode(c, znode);
++ if (zbr->znode)
++ dbg_dump_znode(c, zbr->znode);
++ }
++ }
++ ubifs_prepare_node(c, idx, len, 0);
++
++#ifdef CONFIG_UBIFS_FS_DEBUG
++ znode->lnum = lnum;
++ znode->offs = offs;
++ znode->len = len;
++#endif
++
++ err = insert_old_idx_znode(c, znode);
++
++ /* Update the parent */
++ zp = znode->parent;
++ if (zp) {
++ struct ubifs_zbranch *zbr;
++
++ zbr = &zp->zbranch[znode->iip];
++ zbr->lnum = lnum;
++ zbr->offs = offs;
++ zbr->len = len;
++ } else {
++ c->zroot.lnum = lnum;
++ c->zroot.offs = offs;
++ c->zroot.len = len;
++ }
++ c->calc_idx_sz += ALIGN(len, 8);
++
++ atomic_long_dec(&c->dirty_zn_cnt);
++
++ ubifs_assert(ubifs_zn_dirty(znode));
++ ubifs_assert(test_bit(COW_ZNODE, &znode->flags));
++
++ __clear_bit(DIRTY_ZNODE, &znode->flags);
++ __clear_bit(COW_ZNODE, &znode->flags);
++
++ return err;
++}
++
++/**
++ * fill_gap - make index nodes in gaps in dirty index LEBs.
++ * @c: UBIFS file-system description object
++ * @lnum: LEB number that gap appears in
++ * @gap_start: offset of start of gap
++ * @gap_end: offset of end of gap
++ * @dirt: adds dirty space to this
++ *
++ * This function returns the number of index nodes written into the gap.
++ */
++static int fill_gap(struct ubifs_info *c, int lnum, int gap_start, int gap_end,
++ int *dirt)
++{
++ int len, gap_remains, gap_pos, written, pad_len;
++
++ ubifs_assert((gap_start & 7) == 0);
++ ubifs_assert((gap_end & 7) == 0);
++ ubifs_assert(gap_end >= gap_start);
++
++ gap_remains = gap_end - gap_start;
++ if (!gap_remains)
++ return 0;
++ gap_pos = gap_start;
++ written = 0;
++ while (c->enext) {
++ len = ubifs_idx_node_sz(c, c->enext->child_cnt);
++ if (len < gap_remains) {
++ struct ubifs_znode *znode = c->enext;
++ const int alen = ALIGN(len, 8);
++ int err;
++
++ ubifs_assert(alen <= gap_remains);
++ err = make_idx_node(c, c->ileb_buf + gap_pos, znode,
++ lnum, gap_pos, len);
++ if (err)
++ return err;
++ gap_remains -= alen;
++ gap_pos += alen;
++ c->enext = znode->cnext;
++ if (c->enext == c->cnext)
++ c->enext = NULL;
++ written += 1;
++ } else
++ break;
++ }
++ if (gap_end == c->leb_size) {
++ c->ileb_len = ALIGN(gap_pos, c->min_io_size);
++ /* Pad to end of min_io_size */
++ pad_len = c->ileb_len - gap_pos;
++ } else
++ /* Pad to end of gap */
++ pad_len = gap_remains;
++ dbg_gc("LEB %d:%d to %d len %d nodes written %d wasted bytes %d",
++ lnum, gap_start, gap_end, gap_end - gap_start, written, pad_len);
++ ubifs_pad(c, c->ileb_buf + gap_pos, pad_len);
++ *dirt += pad_len;
++ return written;
++}
++
++/**
++ * find_old_idx - find an index node obsoleted since the last commit start.
++ * @c: UBIFS file-system description object
++ * @lnum: LEB number of obsoleted index node
++ * @offs: offset of obsoleted index node
++ *
++ * Returns %1 if found and %0 otherwise.
++ */
++static int find_old_idx(struct ubifs_info *c, int lnum, int offs)
++{
++ struct ubifs_old_idx *o;
++ struct rb_node *p;
++
++ p = c->old_idx.rb_node;
++ while (p) {
++ o = rb_entry(p, struct ubifs_old_idx, rb);
++ if (lnum < o->lnum)
++ p = p->rb_left;
++ else if (lnum > o->lnum)
++ p = p->rb_right;
++ else if (offs < o->offs)
++ p = p->rb_left;
++ else if (offs > o->offs)
++ p = p->rb_right;
++ else
++ return 1;
++ }
++ return 0;
++}
++
++/**
++ * is_idx_node_in_use - determine if an index node can be overwritten.
++ * @c: UBIFS file-system description object
++ * @key: key of index node
++ * @level: index node level
++ * @lnum: LEB number of index node
++ * @offs: offset of index node
++ *
++ * If @key / @lnum / @offs identify an index node that was not part of the old
++ * index, then this function returns %0 (obsolete). Else if the index node was
++ * part of the old index but is now dirty %1 is returned, else if it is clean %2
++ * is returned. A negative error code is returned on failure.
++ */
++static int is_idx_node_in_use(struct ubifs_info *c, union ubifs_key *key,
++ int level, int lnum, int offs)
++{
++ int ret;
++
++ ret = is_idx_node_in_tnc(c, key, level, lnum, offs);
++ if (ret < 0)
++ return ret; /* Error code */
++ if (ret == 0)
++ if (find_old_idx(c, lnum, offs))
++ return 1;
++ return ret;
++}
++
++/**
++ * layout_leb_in_gaps - layout index nodes using in-the-gaps method.
++ * @c: UBIFS file-system description object
++ * @p: return LEB number here
++ *
++ * This function lays out new index nodes for dirty znodes using in-the-gaps
++ * method of TNC commit.
++ * This function merely puts the next znode into the next gap, making no attempt
++ * to try to maximise the number of znodes that fit.
++ * This function returns the number of index nodes written into the gaps, or a
++ * negative error code on failure.
++ */
++static int layout_leb_in_gaps(struct ubifs_info *c, int *p)
++{
++ struct ubifs_scan_leb *sleb;
++ struct ubifs_scan_node *snod;
++ int lnum, dirt = 0, gap_start, gap_end, err, written, tot_written;
++
++ tot_written = 0;
++ /* Get an index LEB with lots of obsolete index nodes */
++ lnum = ubifs_find_dirty_idx_leb(c);
++ if (lnum < 0)
++ /*
++ * There also may be dirt in the index head that could be
++ * filled, however we do not check there at present.
++ */
++ return lnum; /* Error code */
++ *p = lnum;
++ dbg_gc("LEB %d", lnum);
++ /*
++ * Scan the index LEB. We use the generic scan for this even though
++ * it is more comprehensive and less efficient than is needed for this
++ * purpose.
++ */
++ sleb = ubifs_scan(c, lnum, 0, c->ileb_buf);
++ c->ileb_len = 0;
++ if (IS_ERR(sleb))
++ return PTR_ERR(sleb);
++ gap_start = 0;
++ list_for_each_entry(snod, &sleb->nodes, list) {
++ struct ubifs_idx_node *idx;
++ int in_use, level;
++
++ ubifs_assert(snod->type == UBIFS_IDX_NODE);
++ idx = snod->node;
++ key_read(c, ubifs_idx_key(c, idx), &snod->key);
++ level = le16_to_cpu(idx->level);
++ /* Determine if the index node is in use (not obsolete) */
++ in_use = is_idx_node_in_use(c, &snod->key, level, lnum,
++ snod->offs);
++ if (in_use < 0) {
++ ubifs_scan_destroy(sleb);
++ return in_use; /* Error code */
++ }
++ if (in_use) {
++ if (in_use == 1)
++ dirt += ALIGN(snod->len, 8);
++ /*
++ * The obsolete index nodes form gaps that can be
++ * overwritten. This gap has ended because we have
++ * found an index node that is still in use
++ * i.e. not obsolete
++ */
++ gap_end = snod->offs;
++ /* Try to fill gap */
++ written = fill_gap(c, lnum, gap_start, gap_end, &dirt);
++ if (written < 0) {
++ ubifs_scan_destroy(sleb);
++ return written; /* Error code */
++ }
++ tot_written += written;
++ gap_start = ALIGN(snod->offs + snod->len, 8);
++ }
++ }
++ ubifs_scan_destroy(sleb);
++ c->ileb_len = c->leb_size;
++ gap_end = c->leb_size;
++ /* Try to fill gap */
++ written = fill_gap(c, lnum, gap_start, gap_end, &dirt);
++ if (written < 0)
++ return written; /* Error code */
++ tot_written += written;
++ if (tot_written == 0) {
++ struct ubifs_lprops lp;
++
++ dbg_gc("LEB %d wrote %d index nodes", lnum, tot_written);
++ err = ubifs_read_one_lp(c, lnum, &lp);
++ if (err)
++ return err;
++ if (lp.free == c->leb_size) {
++ /*
++ * We must have snatched this LEB from the idx_gc list
++ * so we need to correct the free and dirty space.
++ */
++ err = ubifs_change_one_lp(c, lnum,
++ c->leb_size - c->ileb_len,
++ dirt, 0, 0, 0);
++ if (err)
++ return err;
++ }
++ return 0;
++ }
++ err = ubifs_change_one_lp(c, lnum, c->leb_size - c->ileb_len, dirt,
++ 0, 0, 0);
++ if (err)
++ return err;
++ err = ubifs_leb_change(c, lnum, c->ileb_buf, c->ileb_len,
++ UBI_SHORTTERM);
++ if (err)
++ return err;
++ dbg_gc("LEB %d wrote %d index nodes", lnum, tot_written);
++ return tot_written;
++}
++
++/**
++ * get_leb_cnt - calculate the number of empty LEBs needed to commit.
++ * @c: UBIFS file-system description object
++ * @cnt: number of znodes to commit
++ *
++ * This function returns the number of empty LEBs needed to commit @cnt znodes
++ * to the current index head. The number is not exact and may be more than
++ * needed.
++ */
++static int get_leb_cnt(struct ubifs_info *c, int cnt)
++{
++ int d;
++
++ /* Assume maximum index node size (i.e. overestimate space needed) */
++ cnt -= (c->leb_size - c->ihead_offs) / c->max_idx_node_sz;
++ if (cnt < 0)
++ cnt = 0;
++ d = c->leb_size / c->max_idx_node_sz;
++ return DIV_ROUND_UP(cnt, d);
++}
++
++/**
++ * layout_in_gaps - in-the-gaps method of committing TNC.
++ * @c: UBIFS file-system description object
++ * @cnt: number of dirty znodes to commit.
++ *
++ * This function lays out new index nodes for dirty znodes using in-the-gaps
++ * method of TNC commit.
++ *
++ * This function returns %0 on success and a negative error code on failure.
++ */
++static int layout_in_gaps(struct ubifs_info *c, int cnt)
++{
++ int err, leb_needed_cnt, written, *p;
++
++ dbg_gc("%d znodes to write", cnt);
++
++ c->gap_lebs = kmalloc(sizeof(int) * (c->lst.idx_lebs + 1), GFP_NOFS);
++ if (!c->gap_lebs)
++ return -ENOMEM;
++
++ p = c->gap_lebs;
++ do {
++ ubifs_assert(p < c->gap_lebs + sizeof(int) * c->lst.idx_lebs);
++ written = layout_leb_in_gaps(c, p);
++ if (written < 0) {
++ err = written;
++ if (err != -ENOSPC) {
++ kfree(c->gap_lebs);
++ c->gap_lebs = NULL;
++ return err;
++ }
++ if (!dbg_force_in_the_gaps_enabled) {
++ /*
++ * Do not print scary warnings if the debugging
++ * option which forces in-the-gaps is enabled.
++ */
++ ubifs_err("out of space");
++ spin_lock(&c->space_lock);
++ dbg_dump_budg(c);
++ spin_unlock(&c->space_lock);
++ dbg_dump_lprops(c);
++ }
++ /* Try to commit anyway */
++ err = 0;
++ break;
++ }
++ p++;
++ cnt -= written;
++ leb_needed_cnt = get_leb_cnt(c, cnt);
++ dbg_gc("%d znodes remaining, need %d LEBs, have %d", cnt,
++ leb_needed_cnt, c->ileb_cnt);
++ } while (leb_needed_cnt > c->ileb_cnt);
++
++ *p = -1;
++ return 0;
++}
++
++/**
++ * layout_in_empty_space - layout index nodes in empty space.
++ * @c: UBIFS file-system description object
++ *
++ * This function lays out new index nodes for dirty znodes using empty LEBs.
++ *
++ * This function returns %0 on success and a negative error code on failure.
++ */
++static int layout_in_empty_space(struct ubifs_info *c)
++{
++ struct ubifs_znode *znode, *cnext, *zp;
++ int lnum, offs, len, next_len, buf_len, buf_offs, used, avail;
++ int wlen, blen, err;
++
++ cnext = c->enext;
++ if (!cnext)
++ return 0;
++
++ lnum = c->ihead_lnum;
++ buf_offs = c->ihead_offs;
++
++ buf_len = ubifs_idx_node_sz(c, c->fanout);
++ buf_len = ALIGN(buf_len, c->min_io_size);
++ used = 0;
++ avail = buf_len;
++
++ /* Ensure there is enough room for first write */
++ next_len = ubifs_idx_node_sz(c, cnext->child_cnt);
++ if (buf_offs + next_len > c->leb_size)
++ lnum = -1;
++
++ while (1) {
++ znode = cnext;
++
++ len = ubifs_idx_node_sz(c, znode->child_cnt);
++
++ /* Determine the index node position */
++ if (lnum == -1) {
++ if (c->ileb_nxt >= c->ileb_cnt) {
++ ubifs_err("out of space");
++ return -ENOSPC;
++ }
++ lnum = c->ilebs[c->ileb_nxt++];
++ buf_offs = 0;
++ used = 0;
++ avail = buf_len;
++ }
++
++ offs = buf_offs + used;
++
++#ifdef CONFIG_UBIFS_FS_DEBUG
++ znode->lnum = lnum;
++ znode->offs = offs;
++ znode->len = len;
++#endif
++
++ /* Update the parent */
++ zp = znode->parent;
++ if (zp) {
++ struct ubifs_zbranch *zbr;
++ int i;
++
++ i = znode->iip;
++ zbr = &zp->zbranch[i];
++ zbr->lnum = lnum;
++ zbr->offs = offs;
++ zbr->len = len;
++ } else {
++ c->zroot.lnum = lnum;
++ c->zroot.offs = offs;
++ c->zroot.len = len;
++ }
++ c->calc_idx_sz += ALIGN(len, 8);
++
++ /*
++ * Once lprops is updated, we can decrease the dirty znode count
++ * but it is easier to just do it here.
++ */
++ atomic_long_dec(&c->dirty_zn_cnt);
++
++ /*
++ * Calculate the next index node length to see if there is
++ * enough room for it
++ */
++ cnext = znode->cnext;
++ if (cnext == c->cnext)
++ next_len = 0;
++ else
++ next_len = ubifs_idx_node_sz(c, cnext->child_cnt);
++
++ if (c->min_io_size == 1) {
++ buf_offs += ALIGN(len, 8);
++ if (next_len) {
++ if (buf_offs + next_len <= c->leb_size)
++ continue;
++ err = ubifs_update_one_lp(c, lnum, 0,
++ c->leb_size - buf_offs, 0, 0);
++ if (err)
++ return err;
++ lnum = -1;
++ continue;
++ }
++ err = ubifs_update_one_lp(c, lnum,
++ c->leb_size - buf_offs, 0, 0, 0);
++ if (err)
++ return err;
++ break;
++ }
++
++ /* Update buffer positions */
++ wlen = used + len;
++ used += ALIGN(len, 8);
++ avail -= ALIGN(len, 8);
++
++ if (next_len != 0 &&
++ buf_offs + used + next_len <= c->leb_size &&
++ avail > 0)
++ continue;
++
++ if (avail <= 0 && next_len &&
++ buf_offs + used + next_len <= c->leb_size)
++ blen = buf_len;
++ else
++ blen = ALIGN(wlen, c->min_io_size);
++
++ /* The buffer is full or there are no more znodes to do */
++ buf_offs += blen;
++ if (next_len) {
++ if (buf_offs + next_len > c->leb_size) {
++ err = ubifs_update_one_lp(c, lnum,
++ c->leb_size - buf_offs, blen - used,
++ 0, 0);
++ if (err)
++ return err;
++ lnum = -1;
++ }
++ used -= blen;
++ if (used < 0)
++ used = 0;
++ avail = buf_len - used;
++ continue;
++ }
++ err = ubifs_update_one_lp(c, lnum, c->leb_size - buf_offs,
++ blen - used, 0, 0);
++ if (err)
++ return err;
++ break;
++ }
++
++#ifdef CONFIG_UBIFS_FS_DEBUG
++ c->dbg->new_ihead_lnum = lnum;
++ c->dbg->new_ihead_offs = buf_offs;
++#endif
++
++ return 0;
++}
++
++/**
++ * layout_commit - determine positions of index nodes to commit.
++ * @c: UBIFS file-system description object
++ * @no_space: indicates that insufficient empty LEBs were allocated
++ * @cnt: number of znodes to commit
++ *
++ * Calculate and update the positions of index nodes to commit. If there were
++ * an insufficient number of empty LEBs allocated, then index nodes are placed
++ * into the gaps created by obsolete index nodes in non-empty index LEBs. For
++ * this purpose, an obsolete index node is one that was not in the index as at
++ * the end of the last commit. To write "in-the-gaps" requires that those index
++ * LEBs are updated atomically in-place.
++ */
++static int layout_commit(struct ubifs_info *c, int no_space, int cnt)
++{
++ int err;
++
++ if (no_space) {
++ err = layout_in_gaps(c, cnt);
++ if (err)
++ return err;
++ }
++ err = layout_in_empty_space(c);
++ return err;
++}
++
++/**
++ * find_first_dirty - find first dirty znode.
++ * @znode: znode to begin searching from
++ */
++static struct ubifs_znode *find_first_dirty(struct ubifs_znode *znode)
++{
++ int i, cont;
++
++ if (!znode)
++ return NULL;
++
++ while (1) {
++ if (znode->level == 0) {
++ if (ubifs_zn_dirty(znode))
++ return znode;
++ return NULL;
++ }
++ cont = 0;
++ for (i = 0; i < znode->child_cnt; i++) {
++ struct ubifs_zbranch *zbr = &znode->zbranch[i];
++
++ if (zbr->znode && ubifs_zn_dirty(zbr->znode)) {
++ znode = zbr->znode;
++ cont = 1;
++ break;
++ }
++ }
++ if (!cont) {
++ if (ubifs_zn_dirty(znode))
++ return znode;
++ return NULL;
++ }
++ }
++}
++
++/**
++ * find_next_dirty - find next dirty znode.
++ * @znode: znode to begin searching from
++ */
++static struct ubifs_znode *find_next_dirty(struct ubifs_znode *znode)
++{
++ int n = znode->iip + 1;
++
++ znode = znode->parent;
++ if (!znode)
++ return NULL;
++ for (; n < znode->child_cnt; n++) {
++ struct ubifs_zbranch *zbr = &znode->zbranch[n];
++
++ if (zbr->znode && ubifs_zn_dirty(zbr->znode))
++ return find_first_dirty(zbr->znode);
++ }
++ return znode;
++}
++
++/**
++ * get_znodes_to_commit - create list of dirty znodes to commit.
++ * @c: UBIFS file-system description object
++ *
++ * This function returns the number of znodes to commit.
++ */
++static int get_znodes_to_commit(struct ubifs_info *c)
++{
++ struct ubifs_znode *znode, *cnext;
++ int cnt = 0;
++
++ c->cnext = find_first_dirty(c->zroot.znode);
++ znode = c->enext = c->cnext;
++ if (!znode) {
++ dbg_cmt("no znodes to commit");
++ return 0;
++ }
++ cnt += 1;
++ while (1) {
++ ubifs_assert(!test_bit(COW_ZNODE, &znode->flags));
++ __set_bit(COW_ZNODE, &znode->flags);
++ znode->alt = 0;
++ cnext = find_next_dirty(znode);
++ if (!cnext) {
++ znode->cnext = c->cnext;
++ break;
++ }
++ znode->cnext = cnext;
++ znode = cnext;
++ cnt += 1;
++ }
++ dbg_cmt("committing %d znodes", cnt);
++ ubifs_assert(cnt == atomic_long_read(&c->dirty_zn_cnt));
++ return cnt;
++}
++
++/**
++ * alloc_idx_lebs - allocate empty LEBs to be used to commit.
++ * @c: UBIFS file-system description object
++ * @cnt: number of znodes to commit
++ *
++ * This function returns %-ENOSPC if it cannot allocate a sufficient number of
++ * empty LEBs. %0 is returned on success, otherwise a negative error code
++ * is returned.
++ */
++static int alloc_idx_lebs(struct ubifs_info *c, int cnt)
++{
++ int i, leb_cnt, lnum;
++
++ c->ileb_cnt = 0;
++ c->ileb_nxt = 0;
++ leb_cnt = get_leb_cnt(c, cnt);
++ dbg_cmt("need about %d empty LEBS for TNC commit", leb_cnt);
++ if (!leb_cnt)
++ return 0;
++ c->ilebs = kmalloc(leb_cnt * sizeof(int), GFP_NOFS);
++ if (!c->ilebs)
++ return -ENOMEM;
++ for (i = 0; i < leb_cnt; i++) {
++ lnum = ubifs_find_free_leb_for_idx(c);
++ if (lnum < 0)
++ return lnum;
++ c->ilebs[c->ileb_cnt++] = lnum;
++ dbg_cmt("LEB %d", lnum);
++ }
++ if (dbg_force_in_the_gaps())
++ return -ENOSPC;
++ return 0;
++}
++
++/**
++ * free_unused_idx_lebs - free unused LEBs that were allocated for the commit.
++ * @c: UBIFS file-system description object
++ *
++ * It is possible that we allocate more empty LEBs for the commit than we need.
++ * This functions frees the surplus.
++ *
++ * This function returns %0 on success and a negative error code on failure.
++ */
++static int free_unused_idx_lebs(struct ubifs_info *c)
++{
++ int i, err = 0, lnum, er;
++
++ for (i = c->ileb_nxt; i < c->ileb_cnt; i++) {
++ lnum = c->ilebs[i];
++ dbg_cmt("LEB %d", lnum);
++ er = ubifs_change_one_lp(c, lnum, LPROPS_NC, LPROPS_NC, 0,
++ LPROPS_INDEX | LPROPS_TAKEN, 0);
++ if (!err)
++ err = er;
++ }
++ return err;
++}
++
++/**
++ * free_idx_lebs - free unused LEBs after commit end.
++ * @c: UBIFS file-system description object
++ *
++ * This function returns %0 on success and a negative error code on failure.
++ */
++static int free_idx_lebs(struct ubifs_info *c)
++{
++ int err;
++
++ err = free_unused_idx_lebs(c);
++ kfree(c->ilebs);
++ c->ilebs = NULL;
++ return err;
++}
++
++/**
++ * ubifs_tnc_start_commit - start TNC commit.
++ * @c: UBIFS file-system description object
++ * @zroot: new index root position is returned here
++ *
++ * This function prepares the list of indexing nodes to commit and lays out
++ * their positions on flash. If there is not enough free space it uses the
++ * in-gap commit method. Returns zero in case of success and a negative error
++ * code in case of failure.
++ */
++int ubifs_tnc_start_commit(struct ubifs_info *c, struct ubifs_zbranch *zroot)
++{
++ int err = 0, cnt;
++
++ mutex_lock(&c->tnc_mutex);
++ err = dbg_check_tnc(c, 1);
++ if (err)
++ goto out;
++ cnt = get_znodes_to_commit(c);
++ if (cnt != 0) {
++ int no_space = 0;
++
++ err = alloc_idx_lebs(c, cnt);
++ if (err == -ENOSPC)
++ no_space = 1;
++ else if (err)
++ goto out_free;
++ err = layout_commit(c, no_space, cnt);
++ if (err)
++ goto out_free;
++ ubifs_assert(atomic_long_read(&c->dirty_zn_cnt) == 0);
++ err = free_unused_idx_lebs(c);
++ if (err)
++ goto out;
++ }
++ destroy_old_idx(c);
++ memcpy(zroot, &c->zroot, sizeof(struct ubifs_zbranch));
++
++ err = ubifs_save_dirty_idx_lnums(c);
++ if (err)
++ goto out;
++
++ spin_lock(&c->space_lock);
++ /*
++ * Although we have not finished committing yet, update size of the
++ * committed index ('c->old_idx_sz') and zero out the index growth
++ * budget. It is OK to do this now, because we've reserved all the
++ * space which is needed to commit the index, and it is save for the
++ * budgeting subsystem to assume the index is already committed,
++ * even though it is not.
++ */
++ ubifs_assert(c->min_idx_lebs == ubifs_calc_min_idx_lebs(c));
++ c->old_idx_sz = c->calc_idx_sz;
++ c->budg_uncommitted_idx = 0;
++ c->min_idx_lebs = ubifs_calc_min_idx_lebs(c);
++ spin_unlock(&c->space_lock);
++ mutex_unlock(&c->tnc_mutex);
++
++ dbg_cmt("number of index LEBs %d", c->lst.idx_lebs);
++ dbg_cmt("size of index %llu", c->calc_idx_sz);
++ return err;
++
++out_free:
++ free_idx_lebs(c);
++out:
++ mutex_unlock(&c->tnc_mutex);
++ return err;
++}
++
++/**
++ * write_index - write index nodes.
++ * @c: UBIFS file-system description object
++ *
++ * This function writes the index nodes whose positions were laid out in the
++ * layout_in_empty_space function.
++ */
++static int write_index(struct ubifs_info *c)
++{
++ struct ubifs_idx_node *idx;
++ struct ubifs_znode *znode, *cnext;
++ int i, lnum, offs, len, next_len, buf_len, buf_offs, used;
++ int avail, wlen, err, lnum_pos = 0;
++
++ cnext = c->enext;
++ if (!cnext)
++ return 0;
++
++ /*
++ * Always write index nodes to the index head so that index nodes and
++ * other types of nodes are never mixed in the same erase block.
++ */
++ lnum = c->ihead_lnum;
++ buf_offs = c->ihead_offs;
++
++ /* Allocate commit buffer */
++ buf_len = ALIGN(c->max_idx_node_sz, c->min_io_size);
++ used = 0;
++ avail = buf_len;
++
++ /* Ensure there is enough room for first write */
++ next_len = ubifs_idx_node_sz(c, cnext->child_cnt);
++ if (buf_offs + next_len > c->leb_size) {
++ err = ubifs_update_one_lp(c, lnum, LPROPS_NC, 0, 0,
++ LPROPS_TAKEN);
++ if (err)
++ return err;
++ lnum = -1;
++ }
++
++ while (1) {
++ cond_resched();
++
++ znode = cnext;
++ idx = c->cbuf + used;
++
++ /* Make index node */
++ idx->ch.node_type = UBIFS_IDX_NODE;
++ idx->child_cnt = cpu_to_le16(znode->child_cnt);
++ idx->level = cpu_to_le16(znode->level);
++ for (i = 0; i < znode->child_cnt; i++) {
++ struct ubifs_branch *br = ubifs_idx_branch(c, idx, i);
++ struct ubifs_zbranch *zbr = &znode->zbranch[i];
++
++ key_write_idx(c, &zbr->key, &br->key);
++ br->lnum = cpu_to_le32(zbr->lnum);
++ br->offs = cpu_to_le32(zbr->offs);
++ br->len = cpu_to_le32(zbr->len);
++ if (!zbr->lnum || !zbr->len) {
++ ubifs_err("bad ref in znode");
++ dbg_dump_znode(c, znode);
++ if (zbr->znode)
++ dbg_dump_znode(c, zbr->znode);
++ }
++ }
++ len = ubifs_idx_node_sz(c, znode->child_cnt);
++ ubifs_prepare_node(c, idx, len, 0);
++
++ /* Determine the index node position */
++ if (lnum == -1) {
++ lnum = c->ilebs[lnum_pos++];
++ buf_offs = 0;
++ used = 0;
++ avail = buf_len;
++ }
++ offs = buf_offs + used;
++
++#ifdef CONFIG_UBIFS_FS_DEBUG
++ if (lnum != znode->lnum || offs != znode->offs ||
++ len != znode->len) {
++ ubifs_err("inconsistent znode posn");
++ return -EINVAL;
++ }
++#endif
++
++ /* Grab some stuff from znode while we still can */
++ cnext = znode->cnext;
++
++ ubifs_assert(ubifs_zn_dirty(znode));
++ ubifs_assert(test_bit(COW_ZNODE, &znode->flags));
++
++ /*
++ * It is important that other threads should see %DIRTY_ZNODE
++ * flag cleared before %COW_ZNODE. Specifically, it matters in
++ * the 'dirty_cow_znode()' function. This is the reason for the
++ * first barrier. Also, we want the bit changes to be seen to
++ * other threads ASAP, to avoid unnecesarry copying, which is
++ * the reason for the second barrier.
++ */
++ clear_bit(DIRTY_ZNODE, &znode->flags);
++ smp_mb__before_clear_bit();
++ clear_bit(COW_ZNODE, &znode->flags);
++ smp_mb__after_clear_bit();
++
++ /* Do not access znode from this point on */
++
++ /* Update buffer positions */
++ wlen = used + len;
++ used += ALIGN(len, 8);
++ avail -= ALIGN(len, 8);
++
++ /*
++ * Calculate the next index node length to see if there is
++ * enough room for it
++ */
++ if (cnext == c->cnext)
++ next_len = 0;
++ else
++ next_len = ubifs_idx_node_sz(c, cnext->child_cnt);
++
++ if (c->min_io_size == 1) {
++ /*
++ * Write the prepared index node immediately if there is
++ * no minimum IO size
++ */
++ err = ubifs_leb_write(c, lnum, c->cbuf, buf_offs,
++ wlen, UBI_SHORTTERM);
++ if (err)
++ return err;
++ buf_offs += ALIGN(wlen, 8);
++ if (next_len) {
++ used = 0;
++ avail = buf_len;
++ if (buf_offs + next_len > c->leb_size) {
++ err = ubifs_update_one_lp(c, lnum,
++ LPROPS_NC, 0, 0, LPROPS_TAKEN);
++ if (err)
++ return err;
++ lnum = -1;
++ }
++ continue;
++ }
++ } else {
++ int blen, nxt_offs = buf_offs + used + next_len;
++
++ if (next_len && nxt_offs <= c->leb_size) {
++ if (avail > 0)
++ continue;
++ else
++ blen = buf_len;
++ } else {
++ wlen = ALIGN(wlen, 8);
++ blen = ALIGN(wlen, c->min_io_size);
++ ubifs_pad(c, c->cbuf + wlen, blen - wlen);
++ }
++ /*
++ * The buffer is full or there are no more znodes
++ * to do
++ */
++ err = ubifs_leb_write(c, lnum, c->cbuf, buf_offs,
++ blen, UBI_SHORTTERM);
++ if (err)
++ return err;
++ buf_offs += blen;
++ if (next_len) {
++ if (nxt_offs > c->leb_size) {
++ err = ubifs_update_one_lp(c, lnum,
++ LPROPS_NC, 0, 0, LPROPS_TAKEN);
++ if (err)
++ return err;
++ lnum = -1;
++ }
++ used -= blen;
++ if (used < 0)
++ used = 0;
++ avail = buf_len - used;
++ memmove(c->cbuf, c->cbuf + blen, used);
++ continue;
++ }
++ }
++ break;
++ }
++
++#ifdef CONFIG_UBIFS_FS_DEBUG
++ if (lnum != c->dbg->new_ihead_lnum ||
++ buf_offs != c->dbg->new_ihead_offs) {
++ ubifs_err("inconsistent ihead");
++ return -EINVAL;
++ }
++#endif
++
++ c->ihead_lnum = lnum;
++ c->ihead_offs = buf_offs;
++
++ return 0;
++}
++
++/**
++ * free_obsolete_znodes - free obsolete znodes.
++ * @c: UBIFS file-system description object
++ *
++ * At the end of commit end, obsolete znodes are freed.
++ */
++static void free_obsolete_znodes(struct ubifs_info *c)
++{
++ struct ubifs_znode *znode, *cnext;
++
++ cnext = c->cnext;
++ do {
++ znode = cnext;
++ cnext = znode->cnext;
++ if (test_bit(OBSOLETE_ZNODE, &znode->flags))
++ kfree(znode);
++ else {
++ znode->cnext = NULL;
++ atomic_long_inc(&c->clean_zn_cnt);
++ atomic_long_inc(&ubifs_clean_zn_cnt);
++ }
++ } while (cnext != c->cnext);
++}
++
++/**
++ * return_gap_lebs - return LEBs used by the in-gap commit method.
++ * @c: UBIFS file-system description object
++ *
++ * This function clears the "taken" flag for the LEBs which were used by the
++ * "commit in-the-gaps" method.
++ */
++static int return_gap_lebs(struct ubifs_info *c)
++{
++ int *p, err;
++
++ if (!c->gap_lebs)
++ return 0;
++
++ dbg_cmt("");
++ for (p = c->gap_lebs; *p != -1; p++) {
++ err = ubifs_change_one_lp(c, *p, LPROPS_NC, LPROPS_NC, 0,
++ LPROPS_TAKEN, 0);
++ if (err)
++ return err;
++ }
++
++ kfree(c->gap_lebs);
++ c->gap_lebs = NULL;
++ return 0;
++}
++
++/**
++ * ubifs_tnc_end_commit - update the TNC for commit end.
++ * @c: UBIFS file-system description object
++ *
++ * Write the dirty znodes.
++ */
++int ubifs_tnc_end_commit(struct ubifs_info *c)
++{
++ int err;
++
++ if (!c->cnext)
++ return 0;
++
++ err = return_gap_lebs(c);
++ if (err)
++ return err;
++
++ err = write_index(c);
++ if (err)
++ return err;
++
++ mutex_lock(&c->tnc_mutex);
++
++ dbg_cmt("TNC height is %d", c->zroot.znode->level + 1);
++
++ free_obsolete_znodes(c);
++
++ c->cnext = NULL;
++ kfree(c->ilebs);
++ c->ilebs = NULL;
++
++ mutex_unlock(&c->tnc_mutex);
++
++ return 0;
++}
+diff -Nurd linux-2.6.24/fs/ubifs/tnc_misc.c ubifs-v2.6.24/fs/ubifs/tnc_misc.c
+--- linux-2.6.24/fs/ubifs/tnc_misc.c 1970-01-01 02:00:00.000000000 +0200
++++ ubifs-v2.6.24/fs/ubifs/tnc_misc.c 2009-04-07 17:14:47.000000000 +0200
+@@ -0,0 +1,494 @@
++/*
++ * This file is part of UBIFS.
++ *
++ * Copyright (C) 2006-2008 Nokia Corporation.
++ *
++ * This program is free software; you can redistribute it and/or modify it
++ * under the terms of the GNU General Public License version 2 as published by
++ * the Free Software Foundation.
++ *
++ * 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, write to the Free Software Foundation, Inc., 51
++ * Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
++ *
++ * Authors: Adrian Hunter
++ * Artem Bityutskiy (Битюцкий Ðртём)
++ */
++
++/*
++ * This file contains miscelanious TNC-related functions shared betweend
++ * different files. This file does not form any logically separate TNC
++ * sub-system. The file was created because there is a lot of TNC code and
++ * putting it all in one file would make that file too big and unreadable.
++ */
++
++#include "ubifs.h"
++
++/**
++ * ubifs_tnc_levelorder_next - next TNC tree element in levelorder traversal.
++ * @zr: root of the subtree to traverse
++ * @znode: previous znode
++ *
++ * This function implements levelorder TNC traversal. The LNC is ignored.
++ * Returns the next element or %NULL if @znode is already the last one.
++ */
++struct ubifs_znode *ubifs_tnc_levelorder_next(struct ubifs_znode *zr,
++ struct ubifs_znode *znode)
++{
++ int level, iip, level_search = 0;
++ struct ubifs_znode *zn;
++
++ ubifs_assert(zr);
++
++ if (unlikely(!znode))
++ return zr;
++
++ if (unlikely(znode == zr)) {
++ if (znode->level == 0)
++ return NULL;
++ return ubifs_tnc_find_child(zr, 0);
++ }
++
++ level = znode->level;
++
++ iip = znode->iip;
++ while (1) {
++ ubifs_assert(znode->level <= zr->level);
++
++ /*
++ * First walk up until there is a znode with next branch to
++ * look at.
++ */
++ while (znode->parent != zr && iip >= znode->parent->child_cnt) {
++ znode = znode->parent;
++ iip = znode->iip;
++ }
++
++ if (unlikely(znode->parent == zr &&
++ iip >= znode->parent->child_cnt)) {
++ /* This level is done, switch to the lower one */
++ level -= 1;
++ if (level_search || level < 0)
++ /*
++ * We were already looking for znode at lower
++ * level ('level_search'). As we are here
++ * again, it just does not exist. Or all levels
++ * were finished ('level < 0').
++ */
++ return NULL;
++
++ level_search = 1;
++ iip = -1;
++ znode = ubifs_tnc_find_child(zr, 0);
++ ubifs_assert(znode);
++ }
++
++ /* Switch to the next index */
++ zn = ubifs_tnc_find_child(znode->parent, iip + 1);
++ if (!zn) {
++ /* No more children to look at, we have walk up */
++ iip = znode->parent->child_cnt;
++ continue;
++ }
++
++ /* Walk back down to the level we came from ('level') */
++ while (zn->level != level) {
++ znode = zn;
++ zn = ubifs_tnc_find_child(zn, 0);
++ if (!zn) {
++ /*
++ * This path is not too deep so it does not
++ * reach 'level'. Try next path.
++ */
++ iip = znode->iip;
++ break;
++ }
++ }
++
++ if (zn) {
++ ubifs_assert(zn->level >= 0);
++ return zn;
++ }
++ }
++}
++
++/**
++ * ubifs_search_zbranch - search znode branch.
++ * @c: UBIFS file-system description object
++ * @znode: znode to search in
++ * @key: key to search for
++ * @n: znode branch slot number is returned here
++ *
++ * This is a helper function which search branch with key @key in @znode using
++ * binary search. The result of the search may be:
++ * o exact match, then %1 is returned, and the slot number of the branch is
++ * stored in @n;
++ * o no exact match, then %0 is returned and the slot number of the left
++ * closest branch is returned in @n; the slot if all keys in this znode are
++ * greater than @key, then %-1 is returned in @n.
++ */
++int ubifs_search_zbranch(const struct ubifs_info *c,
++ const struct ubifs_znode *znode,
++ const union ubifs_key *key, int *n)
++{
++ int beg = 0, end = znode->child_cnt, uninitialized_var(mid);
++ int uninitialized_var(cmp);
++ const struct ubifs_zbranch *zbr = &znode->zbranch[0];
++
++ ubifs_assert(end > beg);
++
++ while (end > beg) {
++ mid = (beg + end) >> 1;
++ cmp = keys_cmp(c, key, &zbr[mid].key);
++ if (cmp > 0)
++ beg = mid + 1;
++ else if (cmp < 0)
++ end = mid;
++ else {
++ *n = mid;
++ return 1;
++ }
++ }
++
++ *n = end - 1;
++
++ /* The insert point is after *n */
++ ubifs_assert(*n >= -1 && *n < znode->child_cnt);
++ if (*n == -1)
++ ubifs_assert(keys_cmp(c, key, &zbr[0].key) < 0);
++ else
++ ubifs_assert(keys_cmp(c, key, &zbr[*n].key) > 0);
++ if (*n + 1 < znode->child_cnt)
++ ubifs_assert(keys_cmp(c, key, &zbr[*n + 1].key) < 0);
++
++ return 0;
++}
++
++/**
++ * ubifs_tnc_postorder_first - find first znode to do postorder tree traversal.
++ * @znode: znode to start at (root of the sub-tree to traverse)
++ *
++ * Find the lowest leftmost znode in a subtree of the TNC tree. The LNC is
++ * ignored.
++ */
++struct ubifs_znode *ubifs_tnc_postorder_first(struct ubifs_znode *znode)
++{
++ if (unlikely(!znode))
++ return NULL;
++
++ while (znode->level > 0) {
++ struct ubifs_znode *child;
++
++ child = ubifs_tnc_find_child(znode, 0);
++ if (!child)
++ return znode;
++ znode = child;
++ }
++
++ return znode;
++}
++
++/**
++ * ubifs_tnc_postorder_next - next TNC tree element in postorder traversal.
++ * @znode: previous znode
++ *
++ * This function implements postorder TNC traversal. The LNC is ignored.
++ * Returns the next element or %NULL if @znode is already the last one.
++ */
++struct ubifs_znode *ubifs_tnc_postorder_next(struct ubifs_znode *znode)
++{
++ struct ubifs_znode *zn;
++
++ ubifs_assert(znode);
++ if (unlikely(!znode->parent))
++ return NULL;
++
++ /* Switch to the next index in the parent */
++ zn = ubifs_tnc_find_child(znode->parent, znode->iip + 1);
++ if (!zn)
++ /* This is in fact the last child, return parent */
++ return znode->parent;
++
++ /* Go to the first znode in this new subtree */
++ return ubifs_tnc_postorder_first(zn);
++}
++
++/**
++ * ubifs_destroy_tnc_subtree - destroy all znodes connected to a subtree.
++ * @znode: znode defining subtree to destroy
++ *
++ * This function destroys subtree of the TNC tree. Returns number of clean
++ * znodes in the subtree.
++ */
++long ubifs_destroy_tnc_subtree(struct ubifs_znode *znode)
++{
++ struct ubifs_znode *zn = ubifs_tnc_postorder_first(znode);
++ long clean_freed = 0;
++ int n;
++
++ ubifs_assert(zn);
++ while (1) {
++ for (n = 0; n < zn->child_cnt; n++) {
++ if (!zn->zbranch[n].znode)
++ continue;
++
++ if (zn->level > 0 &&
++ !ubifs_zn_dirty(zn->zbranch[n].znode))
++ clean_freed += 1;
++
++ cond_resched();
++ kfree(zn->zbranch[n].znode);
++ }
++
++ if (zn == znode) {
++ if (!ubifs_zn_dirty(zn))
++ clean_freed += 1;
++ kfree(zn);
++ return clean_freed;
++ }
++
++ zn = ubifs_tnc_postorder_next(zn);
++ }
++}
++
++/**
++ * read_znode - read an indexing node from flash and fill znode.
++ * @c: UBIFS file-system description object
++ * @lnum: LEB of the indexing node to read
++ * @offs: node offset
++ * @len: node length
++ * @znode: znode to read to
++ *
++ * This function reads an indexing node from the flash media and fills znode
++ * with the read data. Returns zero in case of success and a negative error
++ * code in case of failure. The read indexing node is validated and if anything
++ * is wrong with it, this function prints complaint messages and returns
++ * %-EINVAL.
++ */
++static int read_znode(struct ubifs_info *c, int lnum, int offs, int len,
++ struct ubifs_znode *znode)
++{
++ int i, err, type, cmp;
++ struct ubifs_idx_node *idx;
++
++ idx = kmalloc(c->max_idx_node_sz, GFP_NOFS);
++ if (!idx)
++ return -ENOMEM;
++
++ err = ubifs_read_node(c, idx, UBIFS_IDX_NODE, len, lnum, offs);
++ if (err < 0) {
++ kfree(idx);
++ return err;
++ }
++
++ znode->child_cnt = le16_to_cpu(idx->child_cnt);
++ znode->level = le16_to_cpu(idx->level);
++
++ dbg_tnc("LEB %d:%d, level %d, %d branch",
++ lnum, offs, znode->level, znode->child_cnt);
++
++ if (znode->child_cnt > c->fanout || znode->level > UBIFS_MAX_LEVELS) {
++ dbg_err("current fanout %d, branch count %d",
++ c->fanout, znode->child_cnt);
++ dbg_err("max levels %d, znode level %d",
++ UBIFS_MAX_LEVELS, znode->level);
++ err = 1;
++ goto out_dump;
++ }
++
++ for (i = 0; i < znode->child_cnt; i++) {
++ const struct ubifs_branch *br = ubifs_idx_branch(c, idx, i);
++ struct ubifs_zbranch *zbr = &znode->zbranch[i];
++
++ key_read(c, &br->key, &zbr->key);
++ zbr->lnum = le32_to_cpu(br->lnum);
++ zbr->offs = le32_to_cpu(br->offs);
++ zbr->len = le32_to_cpu(br->len);
++ zbr->znode = NULL;
++
++ /* Validate branch */
++
++ if (zbr->lnum < c->main_first ||
++ zbr->lnum >= c->leb_cnt || zbr->offs < 0 ||
++ zbr->offs + zbr->len > c->leb_size || zbr->offs & 7) {
++ dbg_err("bad branch %d", i);
++ err = 2;
++ goto out_dump;
++ }
++
++ switch (key_type(c, &zbr->key)) {
++ case UBIFS_INO_KEY:
++ case UBIFS_DATA_KEY:
++ case UBIFS_DENT_KEY:
++ case UBIFS_XENT_KEY:
++ break;
++ default:
++ dbg_msg("bad key type at slot %d: %s", i,
++ DBGKEY(&zbr->key));
++ err = 3;
++ goto out_dump;
++ }
++
++ if (znode->level)
++ continue;
++
++ type = key_type(c, &zbr->key);
++ if (c->ranges[type].max_len == 0) {
++ if (zbr->len != c->ranges[type].len) {
++ dbg_err("bad target node (type %d) length (%d)",
++ type, zbr->len);
++ dbg_err("have to be %d", c->ranges[type].len);
++ err = 4;
++ goto out_dump;
++ }
++ } else if (zbr->len < c->ranges[type].min_len ||
++ zbr->len > c->ranges[type].max_len) {
++ dbg_err("bad target node (type %d) length (%d)",
++ type, zbr->len);
++ dbg_err("have to be in range of %d-%d",
++ c->ranges[type].min_len,
++ c->ranges[type].max_len);
++ err = 5;
++ goto out_dump;
++ }
++ }
++
++ /*
++ * Ensure that the next key is greater or equivalent to the
++ * previous one.
++ */
++ for (i = 0; i < znode->child_cnt - 1; i++) {
++ const union ubifs_key *key1, *key2;
++
++ key1 = &znode->zbranch[i].key;
++ key2 = &znode->zbranch[i + 1].key;
++
++ cmp = keys_cmp(c, key1, key2);
++ if (cmp > 0) {
++ dbg_err("bad key order (keys %d and %d)", i, i + 1);
++ err = 6;
++ goto out_dump;
++ } else if (cmp == 0 && !is_hash_key(c, key1)) {
++ /* These can only be keys with colliding hash */
++ dbg_err("keys %d and %d are not hashed but equivalent",
++ i, i + 1);
++ err = 7;
++ goto out_dump;
++ }
++ }
++
++ kfree(idx);
++ return 0;
++
++out_dump:
++ ubifs_err("bad indexing node at LEB %d:%d, error %d", lnum, offs, err);
++ dbg_dump_node(c, idx);
++ kfree(idx);
++ return -EINVAL;
++}
++
++/**
++ * ubifs_load_znode - load znode to TNC cache.
++ * @c: UBIFS file-system description object
++ * @zbr: znode branch
++ * @parent: znode's parent
++ * @iip: index in parent
++ *
++ * This function loads znode pointed to by @zbr into the TNC cache and
++ * returns pointer to it in case of success and a negative error code in case
++ * of failure.
++ */
++struct ubifs_znode *ubifs_load_znode(struct ubifs_info *c,
++ struct ubifs_zbranch *zbr,
++ struct ubifs_znode *parent, int iip)
++{
++ int err;
++ struct ubifs_znode *znode;
++
++ ubifs_assert(!zbr->znode);
++ /*
++ * A slab cache is not presently used for znodes because the znode size
++ * depends on the fanout which is stored in the superblock.
++ */
++ znode = kzalloc(c->max_znode_sz, GFP_NOFS);
++ if (!znode)
++ return ERR_PTR(-ENOMEM);
++
++ err = read_znode(c, zbr->lnum, zbr->offs, zbr->len, znode);
++ if (err)
++ goto out;
++
++ atomic_long_inc(&c->clean_zn_cnt);
++
++ /*
++ * Increment the global clean znode counter as well. It is OK that
++ * global and per-FS clean znode counters may be inconsistent for some
++ * short time (because we might be preempted at this point), the global
++ * one is only used in shrinker.
++ */
++ atomic_long_inc(&ubifs_clean_zn_cnt);
++
++ zbr->znode = znode;
++ znode->parent = parent;
++ znode->time = get_seconds();
++ znode->iip = iip;
++
++ return znode;
++
++out:
++ kfree(znode);
++ return ERR_PTR(err);
++}
++
++/**
++ * ubifs_tnc_read_node - read a leaf node from the flash media.
++ * @c: UBIFS file-system description object
++ * @zbr: key and position of the node
++ * @node: node is returned here
++ *
++ * This function reads a node defined by @zbr from the flash media. Returns
++ * zero in case of success or a negative negative error code in case of
++ * failure.
++ */
++int ubifs_tnc_read_node(struct ubifs_info *c, struct ubifs_zbranch *zbr,
++ void *node)
++{
++ union ubifs_key key1, *key = &zbr->key;
++ int err, type = key_type(c, key);
++ struct ubifs_wbuf *wbuf;
++
++ /*
++ * 'zbr' has to point to on-flash node. The node may sit in a bud and
++ * may even be in a write buffer, so we have to take care about this.
++ */
++ wbuf = ubifs_get_wbuf(c, zbr->lnum);
++ if (wbuf)
++ err = ubifs_read_node_wbuf(wbuf, node, type, zbr->len,
++ zbr->lnum, zbr->offs);
++ else
++ err = ubifs_read_node(c, node, type, zbr->len, zbr->lnum,
++ zbr->offs);
++
++ if (err) {
++ dbg_tnc("key %s", DBGKEY(key));
++ return err;
++ }
++
++ /* Make sure the key of the read node is correct */
++ key_read(c, node + UBIFS_KEY_OFFSET, &key1);
++ if (!keys_eq(c, key, &key1)) {
++ ubifs_err("bad key in node at LEB %d:%d",
++ zbr->lnum, zbr->offs);
++ dbg_tnc("looked for key %s found node's key %s",
++ DBGKEY(key), DBGKEY1(&key1));
++ dbg_dump_node(c, node);
++ return -EINVAL;
++ }
++
++ return 0;
++}
+diff -Nurd linux-2.6.24/fs/ubifs/ubifs-media.h ubifs-v2.6.24/fs/ubifs/ubifs-media.h
+--- linux-2.6.24/fs/ubifs/ubifs-media.h 1970-01-01 02:00:00.000000000 +0200
++++ ubifs-v2.6.24/fs/ubifs/ubifs-media.h 2009-04-07 17:14:47.000000000 +0200
+@@ -0,0 +1,775 @@
++/*
++ * This file is part of UBIFS.
++ *
++ * Copyright (C) 2006-2008 Nokia Corporation.
++ *
++ * This program is free software; you can redistribute it and/or modify it
++ * under the terms of the GNU General Public License version 2 as published by
++ * the Free Software Foundation.
++ *
++ * 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, write to the Free Software Foundation, Inc., 51
++ * Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
++ *
++ * Authors: Artem Bityutskiy (Битюцкий Ðртём)
++ * Adrian Hunter
++ */
++
++/*
++ * This file describes UBIFS on-flash format and contains definitions of all the
++ * relevant data structures and constants.
++ *
++ * All UBIFS on-flash objects are stored in the form of nodes. All nodes start
++ * with the UBIFS node magic number and have the same common header. Nodes
++ * always sit at 8-byte aligned positions on the media and node header sizes are
++ * also 8-byte aligned (except for the indexing node and the padding node).
++ */
++
++#ifndef __UBIFS_MEDIA_H__
++#define __UBIFS_MEDIA_H__
++
++/* UBIFS node magic number (must not have the padding byte first or last) */
++#define UBIFS_NODE_MAGIC 0x06101831
++
++/*
++ * UBIFS on-flash format version. This version is increased when the on-flash
++ * format is changing. If this happens, UBIFS is will support older versions as
++ * well. But older UBIFS code will not support newer formats. Format changes
++ * will be rare and only when absolutely necessary, e.g. to fix a bug or to add
++ * a new feature.
++ *
++ * UBIFS went into mainline kernel with format version 4. The older formats
++ * were development formats.
++ */
++#define UBIFS_FORMAT_VERSION 4
++
++/*
++ * Read-only compatibility version. If the UBIFS format is changed, older UBIFS
++ * implementations will not be able to mount newer formats in read-write mode.
++ * However, depending on the change, it may be possible to mount newer formats
++ * in R/O mode. This is indicated by the R/O compatibility version which is
++ * stored in the super-block.
++ *
++ * This is needed to support boot-loaders which only need R/O mounting. With
++ * this flag it is possible to do UBIFS format changes without a need to update
++ * boot-loaders.
++ */
++#define UBIFS_RO_COMPAT_VERSION 0
++
++/* Minimum logical eraseblock size in bytes */
++#define UBIFS_MIN_LEB_SZ (15*1024)
++
++/* Initial CRC32 value used when calculating CRC checksums */
++#define UBIFS_CRC32_INIT 0xFFFFFFFFU
++
++/*
++ * UBIFS does not try to compress data if its length is less than the below
++ * constant.
++ */
++#define UBIFS_MIN_COMPR_LEN 128
++
++/*
++ * If compressed data length is less than %UBIFS_MIN_COMPRESS_DIFF bytes
++ * shorter than uncompressed data length, UBIFS prefers to leave this data
++ * node uncompress, because it'll be read faster.
++ */
++#define UBIFS_MIN_COMPRESS_DIFF 64
++
++/* Root inode number */
++#define UBIFS_ROOT_INO 1
++
++/* Lowest inode number used for regular inodes (not UBIFS-only internal ones) */
++#define UBIFS_FIRST_INO 64
++
++/*
++ * Maximum file name and extended attribute length (must be a multiple of 8,
++ * minus 1).
++ */
++#define UBIFS_MAX_NLEN 255
++
++/* Maximum number of data journal heads */
++#define UBIFS_MAX_JHEADS 1
++
++/*
++ * Size of UBIFS data block. Note, UBIFS is not a block oriented file-system,
++ * which means that it does not treat the underlying media as consisting of
++ * blocks like in case of hard drives. Do not be confused. UBIFS block is just
++ * the maximum amount of data which one data node can have or which can be
++ * attached to an inode node.
++ */
++#define UBIFS_BLOCK_SIZE 4096
++#define UBIFS_BLOCK_SHIFT 12
++
++/* UBIFS padding byte pattern (must not be first or last byte of node magic) */
++#define UBIFS_PADDING_BYTE 0xCE
++
++/* Maximum possible key length */
++#define UBIFS_MAX_KEY_LEN 16
++
++/* Key length ("simple" format) */
++#define UBIFS_SK_LEN 8
++
++/* Minimum index tree fanout */
++#define UBIFS_MIN_FANOUT 3
++
++/* Maximum number of levels in UBIFS indexing B-tree */
++#define UBIFS_MAX_LEVELS 512
++
++/* Maximum amount of data attached to an inode in bytes */
++#define UBIFS_MAX_INO_DATA UBIFS_BLOCK_SIZE
++
++/* LEB Properties Tree fanout (must be power of 2) and fanout shift */
++#define UBIFS_LPT_FANOUT 4
++#define UBIFS_LPT_FANOUT_SHIFT 2
++
++/* LEB Properties Tree bit field sizes */
++#define UBIFS_LPT_CRC_BITS 16
++#define UBIFS_LPT_CRC_BYTES 2
++#define UBIFS_LPT_TYPE_BITS 4
++
++/* The key is always at the same position in all keyed nodes */
++#define UBIFS_KEY_OFFSET offsetof(struct ubifs_ino_node, key)
++
++/*
++ * LEB Properties Tree node types.
++ *
++ * UBIFS_LPT_PNODE: LPT leaf node (contains LEB properties)
++ * UBIFS_LPT_NNODE: LPT internal node
++ * UBIFS_LPT_LTAB: LPT's own lprops table
++ * UBIFS_LPT_LSAVE: LPT's save table (big model only)
++ * UBIFS_LPT_NODE_CNT: count of LPT node types
++ * UBIFS_LPT_NOT_A_NODE: all ones (15 for 4 bits) is never a valid node type
++ */
++enum {
++ UBIFS_LPT_PNODE,
++ UBIFS_LPT_NNODE,
++ UBIFS_LPT_LTAB,
++ UBIFS_LPT_LSAVE,
++ UBIFS_LPT_NODE_CNT,
++ UBIFS_LPT_NOT_A_NODE = (1 << UBIFS_LPT_TYPE_BITS) - 1,
++};
++
++/*
++ * UBIFS inode types.
++ *
++ * UBIFS_ITYPE_REG: regular file
++ * UBIFS_ITYPE_DIR: directory
++ * UBIFS_ITYPE_LNK: soft link
++ * UBIFS_ITYPE_BLK: block device node
++ * UBIFS_ITYPE_CHR: character device node
++ * UBIFS_ITYPE_FIFO: fifo
++ * UBIFS_ITYPE_SOCK: socket
++ * UBIFS_ITYPES_CNT: count of supported file types
++ */
++enum {
++ UBIFS_ITYPE_REG,
++ UBIFS_ITYPE_DIR,
++ UBIFS_ITYPE_LNK,
++ UBIFS_ITYPE_BLK,
++ UBIFS_ITYPE_CHR,
++ UBIFS_ITYPE_FIFO,
++ UBIFS_ITYPE_SOCK,
++ UBIFS_ITYPES_CNT,
++};
++
++/*
++ * Supported key hash functions.
++ *
++ * UBIFS_KEY_HASH_R5: R5 hash
++ * UBIFS_KEY_HASH_TEST: test hash which just returns first 4 bytes of the name
++ */
++enum {
++ UBIFS_KEY_HASH_R5,
++ UBIFS_KEY_HASH_TEST,
++};
++
++/*
++ * Supported key formats.
++ *
++ * UBIFS_SIMPLE_KEY_FMT: simple key format
++ */
++enum {
++ UBIFS_SIMPLE_KEY_FMT,
++};
++
++/*
++ * The simple key format uses 29 bits for storing UBIFS block number and hash
++ * value.
++ */
++#define UBIFS_S_KEY_BLOCK_BITS 29
++#define UBIFS_S_KEY_BLOCK_MASK 0x1FFFFFFF
++#define UBIFS_S_KEY_HASH_BITS UBIFS_S_KEY_BLOCK_BITS
++#define UBIFS_S_KEY_HASH_MASK UBIFS_S_KEY_BLOCK_MASK
++
++/*
++ * Key types.
++ *
++ * UBIFS_INO_KEY: inode node key
++ * UBIFS_DATA_KEY: data node key
++ * UBIFS_DENT_KEY: directory entry node key
++ * UBIFS_XENT_KEY: extended attribute entry key
++ * UBIFS_KEY_TYPES_CNT: number of supported key types
++ */
++enum {
++ UBIFS_INO_KEY,
++ UBIFS_DATA_KEY,
++ UBIFS_DENT_KEY,
++ UBIFS_XENT_KEY,
++ UBIFS_KEY_TYPES_CNT,
++};
++
++/* Count of LEBs reserved for the superblock area */
++#define UBIFS_SB_LEBS 1
++/* Count of LEBs reserved for the master area */
++#define UBIFS_MST_LEBS 2
++
++/* First LEB of the superblock area */
++#define UBIFS_SB_LNUM 0
++/* First LEB of the master area */
++#define UBIFS_MST_LNUM (UBIFS_SB_LNUM + UBIFS_SB_LEBS)
++/* First LEB of the log area */
++#define UBIFS_LOG_LNUM (UBIFS_MST_LNUM + UBIFS_MST_LEBS)
++
++/*
++ * The below constants define the absolute minimum values for various UBIFS
++ * media areas. Many of them actually depend of flash geometry and the FS
++ * configuration (number of journal heads, orphan LEBs, etc). This means that
++ * the smallest volume size which can be used for UBIFS cannot be pre-defined
++ * by these constants. The file-system that meets the below limitation will not
++ * necessarily mount. UBIFS does run-time calculations and validates the FS
++ * size.
++ */
++
++/* Minimum number of logical eraseblocks in the log */
++#define UBIFS_MIN_LOG_LEBS 2
++/* Minimum number of bud logical eraseblocks (one for each head) */
++#define UBIFS_MIN_BUD_LEBS 3
++/* Minimum number of journal logical eraseblocks */
++#define UBIFS_MIN_JNL_LEBS (UBIFS_MIN_LOG_LEBS + UBIFS_MIN_BUD_LEBS)
++/* Minimum number of LPT area logical eraseblocks */
++#define UBIFS_MIN_LPT_LEBS 2
++/* Minimum number of orphan area logical eraseblocks */
++#define UBIFS_MIN_ORPH_LEBS 1
++/*
++ * Minimum number of main area logical eraseblocks (buds, 3 for the index, 1
++ * for GC, 1 for deletions, and at least 1 for committed data).
++ */
++#define UBIFS_MIN_MAIN_LEBS (UBIFS_MIN_BUD_LEBS + 6)
++
++/* Minimum number of logical eraseblocks */
++#define UBIFS_MIN_LEB_CNT (UBIFS_SB_LEBS + UBIFS_MST_LEBS + \
++ UBIFS_MIN_LOG_LEBS + UBIFS_MIN_LPT_LEBS + \
++ UBIFS_MIN_ORPH_LEBS + UBIFS_MIN_MAIN_LEBS)
++
++/* Node sizes (N.B. these are guaranteed to be multiples of 8) */
++#define UBIFS_CH_SZ sizeof(struct ubifs_ch)
++#define UBIFS_INO_NODE_SZ sizeof(struct ubifs_ino_node)
++#define UBIFS_DATA_NODE_SZ sizeof(struct ubifs_data_node)
++#define UBIFS_DENT_NODE_SZ sizeof(struct ubifs_dent_node)
++#define UBIFS_TRUN_NODE_SZ sizeof(struct ubifs_trun_node)
++#define UBIFS_PAD_NODE_SZ sizeof(struct ubifs_pad_node)
++#define UBIFS_SB_NODE_SZ sizeof(struct ubifs_sb_node)
++#define UBIFS_MST_NODE_SZ sizeof(struct ubifs_mst_node)
++#define UBIFS_REF_NODE_SZ sizeof(struct ubifs_ref_node)
++#define UBIFS_IDX_NODE_SZ sizeof(struct ubifs_idx_node)
++#define UBIFS_CS_NODE_SZ sizeof(struct ubifs_cs_node)
++#define UBIFS_ORPH_NODE_SZ sizeof(struct ubifs_orph_node)
++/* Extended attribute entry nodes are identical to directory entry nodes */
++#define UBIFS_XENT_NODE_SZ UBIFS_DENT_NODE_SZ
++/* Only this does not have to be multiple of 8 bytes */
++#define UBIFS_BRANCH_SZ sizeof(struct ubifs_branch)
++
++/* Maximum node sizes (N.B. these are guaranteed to be multiples of 8) */
++#define UBIFS_MAX_DATA_NODE_SZ (UBIFS_DATA_NODE_SZ + UBIFS_BLOCK_SIZE)
++#define UBIFS_MAX_INO_NODE_SZ (UBIFS_INO_NODE_SZ + UBIFS_MAX_INO_DATA)
++#define UBIFS_MAX_DENT_NODE_SZ (UBIFS_DENT_NODE_SZ + UBIFS_MAX_NLEN + 1)
++#define UBIFS_MAX_XENT_NODE_SZ UBIFS_MAX_DENT_NODE_SZ
++
++/* The largest UBIFS node */
++#define UBIFS_MAX_NODE_SZ UBIFS_MAX_INO_NODE_SZ
++
++/*
++ * On-flash inode flags.
++ *
++ * UBIFS_COMPR_FL: use compression for this inode
++ * UBIFS_SYNC_FL: I/O on this inode has to be synchronous
++ * UBIFS_IMMUTABLE_FL: inode is immutable
++ * UBIFS_APPEND_FL: writes to the inode may only append data
++ * UBIFS_DIRSYNC_FL: I/O on this directory inode has to be synchronous
++ * UBIFS_XATTR_FL: this inode is the inode for an extended attribute value
++ *
++ * Note, these are on-flash flags which correspond to ioctl flags
++ * (@FS_COMPR_FL, etc). They have the same values now, but generally, do not
++ * have to be the same.
++ */
++enum {
++ UBIFS_COMPR_FL = 0x01,
++ UBIFS_SYNC_FL = 0x02,
++ UBIFS_IMMUTABLE_FL = 0x04,
++ UBIFS_APPEND_FL = 0x08,
++ UBIFS_DIRSYNC_FL = 0x10,
++ UBIFS_XATTR_FL = 0x20,
++};
++
++/* Inode flag bits used by UBIFS */
++#define UBIFS_FL_MASK 0x0000001F
++
++/*
++ * UBIFS compression types.
++ *
++ * UBIFS_COMPR_NONE: no compression
++ * UBIFS_COMPR_LZO: LZO compression
++ * UBIFS_COMPR_ZLIB: ZLIB compression
++ * UBIFS_COMPR_TYPES_CNT: count of supported compression types
++ */
++enum {
++ UBIFS_COMPR_NONE,
++ UBIFS_COMPR_LZO,
++ UBIFS_COMPR_ZLIB,
++ UBIFS_COMPR_TYPES_CNT,
++};
++
++/*
++ * UBIFS node types.
++ *
++ * UBIFS_INO_NODE: inode node
++ * UBIFS_DATA_NODE: data node
++ * UBIFS_DENT_NODE: directory entry node
++ * UBIFS_XENT_NODE: extended attribute node
++ * UBIFS_TRUN_NODE: truncation node
++ * UBIFS_PAD_NODE: padding node
++ * UBIFS_SB_NODE: superblock node
++ * UBIFS_MST_NODE: master node
++ * UBIFS_REF_NODE: LEB reference node
++ * UBIFS_IDX_NODE: index node
++ * UBIFS_CS_NODE: commit start node
++ * UBIFS_ORPH_NODE: orphan node
++ * UBIFS_NODE_TYPES_CNT: count of supported node types
++ *
++ * Note, we index arrays by these numbers, so keep them low and contiguous.
++ * Node type constants for inodes, direntries and so on have to be the same as
++ * corresponding key type constants.
++ */
++enum {
++ UBIFS_INO_NODE,
++ UBIFS_DATA_NODE,
++ UBIFS_DENT_NODE,
++ UBIFS_XENT_NODE,
++ UBIFS_TRUN_NODE,
++ UBIFS_PAD_NODE,
++ UBIFS_SB_NODE,
++ UBIFS_MST_NODE,
++ UBIFS_REF_NODE,
++ UBIFS_IDX_NODE,
++ UBIFS_CS_NODE,
++ UBIFS_ORPH_NODE,
++ UBIFS_NODE_TYPES_CNT,
++};
++
++/*
++ * Master node flags.
++ *
++ * UBIFS_MST_DIRTY: rebooted uncleanly - master node is dirty
++ * UBIFS_MST_NO_ORPHS: no orphan inodes present
++ * UBIFS_MST_RCVRY: written by recovery
++ */
++enum {
++ UBIFS_MST_DIRTY = 1,
++ UBIFS_MST_NO_ORPHS = 2,
++ UBIFS_MST_RCVRY = 4,
++};
++
++/*
++ * Node group type (used by recovery to recover whole group or none).
++ *
++ * UBIFS_NO_NODE_GROUP: this node is not part of a group
++ * UBIFS_IN_NODE_GROUP: this node is a part of a group
++ * UBIFS_LAST_OF_NODE_GROUP: this node is the last in a group
++ */
++enum {
++ UBIFS_NO_NODE_GROUP = 0,
++ UBIFS_IN_NODE_GROUP,
++ UBIFS_LAST_OF_NODE_GROUP,
++};
++
++/*
++ * Superblock flags.
++ *
++ * UBIFS_FLG_BIGLPT: if "big" LPT model is used if set
++ */
++enum {
++ UBIFS_FLG_BIGLPT = 0x02,
++};
++
++/**
++ * struct ubifs_ch - common header node.
++ * @magic: UBIFS node magic number (%UBIFS_NODE_MAGIC)
++ * @crc: CRC-32 checksum of the node header
++ * @sqnum: sequence number
++ * @len: full node length
++ * @node_type: node type
++ * @group_type: node group type
++ * @padding: reserved for future, zeroes
++ *
++ * Every UBIFS node starts with this common part. If the node has a key, the
++ * key always goes next.
++ */
++struct ubifs_ch {
++ __le32 magic;
++ __le32 crc;
++ __le64 sqnum;
++ __le32 len;
++ __u8 node_type;
++ __u8 group_type;
++ __u8 padding[2];
++} __attribute__ ((packed));
++
++/**
++ * union ubifs_dev_desc - device node descriptor.
++ * @new: new type device descriptor
++ * @huge: huge type device descriptor
++ *
++ * This data structure describes major/minor numbers of a device node. In an
++ * inode is a device node then its data contains an object of this type. UBIFS
++ * uses standard Linux "new" and "huge" device node encodings.
++ */
++union ubifs_dev_desc {
++ __le32 new;
++ __le64 huge;
++} __attribute__ ((packed));
++
++/**
++ * struct ubifs_ino_node - inode node.
++ * @ch: common header
++ * @key: node key
++ * @creat_sqnum: sequence number at time of creation
++ * @size: inode size in bytes (amount of uncompressed data)
++ * @atime_sec: access time seconds
++ * @ctime_sec: creation time seconds
++ * @mtime_sec: modification time seconds
++ * @atime_nsec: access time nanoseconds
++ * @ctime_nsec: creation time nanoseconds
++ * @mtime_nsec: modification time nanoseconds
++ * @nlink: number of hard links
++ * @uid: owner ID
++ * @gid: group ID
++ * @mode: access flags
++ * @flags: per-inode flags (%UBIFS_COMPR_FL, %UBIFS_SYNC_FL, etc)
++ * @data_len: inode data length
++ * @xattr_cnt: count of extended attributes this inode has
++ * @xattr_size: summarized size of all extended attributes in bytes
++ * @padding1: reserved for future, zeroes
++ * @xattr_names: sum of lengths of all extended attribute names belonging to
++ * this inode
++ * @compr_type: compression type used for this inode
++ * @padding2: reserved for future, zeroes
++ * @data: data attached to the inode
++ *
++ * Note, even though inode compression type is defined by @compr_type, some
++ * nodes of this inode may be compressed with different compressor - this
++ * happens if compression type is changed while the inode already has data
++ * nodes. But @compr_type will be use for further writes to the inode.
++ *
++ * Note, do not forget to amend 'zero_ino_node_unused()' function when changing
++ * the padding fields.
++ */
++struct ubifs_ino_node {
++ struct ubifs_ch ch;
++ __u8 key[UBIFS_MAX_KEY_LEN];
++ __le64 creat_sqnum;
++ __le64 size;
++ __le64 atime_sec;
++ __le64 ctime_sec;
++ __le64 mtime_sec;
++ __le32 atime_nsec;
++ __le32 ctime_nsec;
++ __le32 mtime_nsec;
++ __le32 nlink;
++ __le32 uid;
++ __le32 gid;
++ __le32 mode;
++ __le32 flags;
++ __le32 data_len;
++ __le32 xattr_cnt;
++ __le32 xattr_size;
++ __u8 padding1[4]; /* Watch 'zero_ino_node_unused()' if changing! */
++ __le32 xattr_names;
++ __le16 compr_type;
++ __u8 padding2[26]; /* Watch 'zero_ino_node_unused()' if changing! */
++ __u8 data[];
++} __attribute__ ((packed));
++
++/**
++ * struct ubifs_dent_node - directory entry node.
++ * @ch: common header
++ * @key: node key
++ * @inum: target inode number
++ * @padding1: reserved for future, zeroes
++ * @type: type of the target inode (%UBIFS_ITYPE_REG, %UBIFS_ITYPE_DIR, etc)
++ * @nlen: name length
++ * @padding2: reserved for future, zeroes
++ * @name: zero-terminated name
++ *
++ * Note, do not forget to amend 'zero_dent_node_unused()' function when
++ * changing the padding fields.
++ */
++struct ubifs_dent_node {
++ struct ubifs_ch ch;
++ __u8 key[UBIFS_MAX_KEY_LEN];
++ __le64 inum;
++ __u8 padding1;
++ __u8 type;
++ __le16 nlen;
++ __u8 padding2[4]; /* Watch 'zero_dent_node_unused()' if changing! */
++ __u8 name[];
++} __attribute__ ((packed));
++
++/**
++ * struct ubifs_data_node - data node.
++ * @ch: common header
++ * @key: node key
++ * @size: uncompressed data size in bytes
++ * @compr_type: compression type (%UBIFS_COMPR_NONE, %UBIFS_COMPR_LZO, etc)
++ * @padding: reserved for future, zeroes
++ * @data: data
++ *
++ * Note, do not forget to amend 'zero_data_node_unused()' function when
++ * changing the padding fields.
++ */
++struct ubifs_data_node {
++ struct ubifs_ch ch;
++ __u8 key[UBIFS_MAX_KEY_LEN];
++ __le32 size;
++ __le16 compr_type;
++ __u8 padding[2]; /* Watch 'zero_data_node_unused()' if changing! */
++ __u8 data[];
++} __attribute__ ((packed));
++
++/**
++ * struct ubifs_trun_node - truncation node.
++ * @ch: common header
++ * @inum: truncated inode number
++ * @padding: reserved for future, zeroes
++ * @old_size: size before truncation
++ * @new_size: size after truncation
++ *
++ * This node exists only in the journal and never goes to the main area. Note,
++ * do not forget to amend 'zero_trun_node_unused()' function when changing the
++ * padding fields.
++ */
++struct ubifs_trun_node {
++ struct ubifs_ch ch;
++ __le32 inum;
++ __u8 padding[12]; /* Watch 'zero_trun_node_unused()' if changing! */
++ __le64 old_size;
++ __le64 new_size;
++} __attribute__ ((packed));
++
++/**
++ * struct ubifs_pad_node - padding node.
++ * @ch: common header
++ * @pad_len: how many bytes after this node are unused (because padded)
++ * @padding: reserved for future, zeroes
++ */
++struct ubifs_pad_node {
++ struct ubifs_ch ch;
++ __le32 pad_len;
++} __attribute__ ((packed));
++
++/**
++ * struct ubifs_sb_node - superblock node.
++ * @ch: common header
++ * @padding: reserved for future, zeroes
++ * @key_hash: type of hash function used in keys
++ * @key_fmt: format of the key
++ * @flags: file-system flags (%UBIFS_FLG_BIGLPT, etc)
++ * @min_io_size: minimal input/output unit size
++ * @leb_size: logical eraseblock size in bytes
++ * @leb_cnt: count of LEBs used by file-system
++ * @max_leb_cnt: maximum count of LEBs used by file-system
++ * @max_bud_bytes: maximum amount of data stored in buds
++ * @log_lebs: log size in logical eraseblocks
++ * @lpt_lebs: number of LEBs used for lprops table
++ * @orph_lebs: number of LEBs used for recording orphans
++ * @jhead_cnt: count of journal heads
++ * @fanout: tree fanout (max. number of links per indexing node)
++ * @lsave_cnt: number of LEB numbers in LPT's save table
++ * @fmt_version: UBIFS on-flash format version
++ * @default_compr: default compression
++ * @padding1: reserved for future, zeroes
++ * @rp_uid: reserve pool UID
++ * @rp_gid: reserve pool GID
++ * @rp_size: size of the reserved pool in bytes
++ * @padding2: reserved for future, zeroes
++ * @time_gran: time granularity in nanoseconds
++ * @uuid: UUID generated when the file system image was created
++ * @ro_compat_version: UBIFS R/O compatibility version
++ */
++struct ubifs_sb_node {
++ struct ubifs_ch ch;
++ __u8 padding[2];
++ __u8 key_hash;
++ __u8 key_fmt;
++ __le32 flags;
++ __le32 min_io_size;
++ __le32 leb_size;
++ __le32 leb_cnt;
++ __le32 max_leb_cnt;
++ __le64 max_bud_bytes;
++ __le32 log_lebs;
++ __le32 lpt_lebs;
++ __le32 orph_lebs;
++ __le32 jhead_cnt;
++ __le32 fanout;
++ __le32 lsave_cnt;
++ __le32 fmt_version;
++ __le16 default_compr;
++ __u8 padding1[2];
++ __le32 rp_uid;
++ __le32 rp_gid;
++ __le64 rp_size;
++ __le32 time_gran;
++ __u8 uuid[16];
++ __le32 ro_compat_version;
++ __u8 padding2[3968];
++} __attribute__ ((packed));
++
++/**
++ * struct ubifs_mst_node - master node.
++ * @ch: common header
++ * @highest_inum: highest inode number in the committed index
++ * @cmt_no: commit number
++ * @flags: various flags (%UBIFS_MST_DIRTY, etc)
++ * @log_lnum: start of the log
++ * @root_lnum: LEB number of the root indexing node
++ * @root_offs: offset within @root_lnum
++ * @root_len: root indexing node length
++ * @gc_lnum: LEB reserved for garbage collection (%-1 value means the LEB was
++ * not reserved and should be reserved on mount)
++ * @ihead_lnum: LEB number of index head
++ * @ihead_offs: offset of index head
++ * @index_size: size of index on flash
++ * @total_free: total free space in bytes
++ * @total_dirty: total dirty space in bytes
++ * @total_used: total used space in bytes (includes only data LEBs)
++ * @total_dead: total dead space in bytes (includes only data LEBs)
++ * @total_dark: total dark space in bytes (includes only data LEBs)
++ * @lpt_lnum: LEB number of LPT root nnode
++ * @lpt_offs: offset of LPT root nnode
++ * @nhead_lnum: LEB number of LPT head
++ * @nhead_offs: offset of LPT head
++ * @ltab_lnum: LEB number of LPT's own lprops table
++ * @ltab_offs: offset of LPT's own lprops table
++ * @lsave_lnum: LEB number of LPT's save table (big model only)
++ * @lsave_offs: offset of LPT's save table (big model only)
++ * @lscan_lnum: LEB number of last LPT scan
++ * @empty_lebs: number of empty logical eraseblocks
++ * @idx_lebs: number of indexing logical eraseblocks
++ * @leb_cnt: count of LEBs used by file-system
++ * @padding: reserved for future, zeroes
++ */
++struct ubifs_mst_node {
++ struct ubifs_ch ch;
++ __le64 highest_inum;
++ __le64 cmt_no;
++ __le32 flags;
++ __le32 log_lnum;
++ __le32 root_lnum;
++ __le32 root_offs;
++ __le32 root_len;
++ __le32 gc_lnum;
++ __le32 ihead_lnum;
++ __le32 ihead_offs;
++ __le64 index_size;
++ __le64 total_free;
++ __le64 total_dirty;
++ __le64 total_used;
++ __le64 total_dead;
++ __le64 total_dark;
++ __le32 lpt_lnum;
++ __le32 lpt_offs;
++ __le32 nhead_lnum;
++ __le32 nhead_offs;
++ __le32 ltab_lnum;
++ __le32 ltab_offs;
++ __le32 lsave_lnum;
++ __le32 lsave_offs;
++ __le32 lscan_lnum;
++ __le32 empty_lebs;
++ __le32 idx_lebs;
++ __le32 leb_cnt;
++ __u8 padding[344];
++} __attribute__ ((packed));
++
++/**
++ * struct ubifs_ref_node - logical eraseblock reference node.
++ * @ch: common header
++ * @lnum: the referred logical eraseblock number
++ * @offs: start offset in the referred LEB
++ * @jhead: journal head number
++ * @padding: reserved for future, zeroes
++ */
++struct ubifs_ref_node {
++ struct ubifs_ch ch;
++ __le32 lnum;
++ __le32 offs;
++ __le32 jhead;
++ __u8 padding[28];
++} __attribute__ ((packed));
++
++/**
++ * struct ubifs_branch - key/reference/length branch
++ * @lnum: LEB number of the target node
++ * @offs: offset within @lnum
++ * @len: target node length
++ * @key: key
++ */
++struct ubifs_branch {
++ __le32 lnum;
++ __le32 offs;
++ __le32 len;
++ __u8 key[];
++} __attribute__ ((packed));
++
++/**
++ * struct ubifs_idx_node - indexing node.
++ * @ch: common header
++ * @child_cnt: number of child index nodes
++ * @level: tree level
++ * @branches: LEB number / offset / length / key branches
++ */
++struct ubifs_idx_node {
++ struct ubifs_ch ch;
++ __le16 child_cnt;
++ __le16 level;
++ __u8 branches[];
++} __attribute__ ((packed));
++
++/**
++ * struct ubifs_cs_node - commit start node.
++ * @ch: common header
++ * @cmt_no: commit number
++ */
++struct ubifs_cs_node {
++ struct ubifs_ch ch;
++ __le64 cmt_no;
++} __attribute__ ((packed));
++
++/**
++ * struct ubifs_orph_node - orphan node.
++ * @ch: common header
++ * @cmt_no: commit number (also top bit is set on the last node of the commit)
++ * @inos: inode numbers of orphans
++ */
++struct ubifs_orph_node {
++ struct ubifs_ch ch;
++ __le64 cmt_no;
++ __le64 inos[];
++} __attribute__ ((packed));
++
++#endif /* __UBIFS_MEDIA_H__ */
+diff -Nurd linux-2.6.24/fs/ubifs/ubifs.h ubifs-v2.6.24/fs/ubifs/ubifs.h
+--- linux-2.6.24/fs/ubifs/ubifs.h 1970-01-01 02:00:00.000000000 +0200
++++ ubifs-v2.6.24/fs/ubifs/ubifs.h 2009-04-07 17:14:47.000000000 +0200
+@@ -0,0 +1,1729 @@
++/*
++ * This file is part of UBIFS.
++ *
++ * Copyright (C) 2006-2008 Nokia Corporation
++ *
++ * This program is free software; you can redistribute it and/or modify it
++ * under the terms of the GNU General Public License version 2 as published by
++ * the Free Software Foundation.
++ *
++ * 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, write to the Free Software Foundation, Inc., 51
++ * Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
++ *
++ * Authors: Artem Bityutskiy (Битюцкий Ðртём)
++ * Adrian Hunter
++ */
++
++#ifndef __UBIFS_H__
++#define __UBIFS_H__
++
++#include <asm/div64.h>
++#include <linux/statfs.h>
++#include <linux/fs.h>
++#include <linux/err.h>
++#include <linux/sched.h>
++#include <linux/vmalloc.h>
++#include <linux/spinlock.h>
++#include <linux/mutex.h>
++#include <linux/rwsem.h>
++#include <linux/mtd/ubi.h>
++#include <linux/pagemap.h>
++#include <linux/backing-dev.h>
++#include "ubifs-media.h"
++
++/* Version of this UBIFS implementation */
++#define UBIFS_VERSION 1
++
++/* Normal UBIFS messages */
++#define ubifs_msg(fmt, ...) \
++ printk(KERN_NOTICE "UBIFS: " fmt "\n", ##__VA_ARGS__)
++/* UBIFS error messages */
++#define ubifs_err(fmt, ...) \
++ printk(KERN_ERR "UBIFS error (pid %d): %s: " fmt "\n", current->pid, \
++ __func__, ##__VA_ARGS__)
++/* UBIFS warning messages */
++#define ubifs_warn(fmt, ...) \
++ printk(KERN_WARNING "UBIFS warning (pid %d): %s: " fmt "\n", \
++ current->pid, __func__, ##__VA_ARGS__)
++
++/* UBIFS file system VFS magic number */
++#define UBIFS_SUPER_MAGIC 0x24051905
++
++/* Number of UBIFS blocks per VFS page */
++#define UBIFS_BLOCKS_PER_PAGE (PAGE_CACHE_SIZE / UBIFS_BLOCK_SIZE)
++#define UBIFS_BLOCKS_PER_PAGE_SHIFT (PAGE_CACHE_SHIFT - UBIFS_BLOCK_SHIFT)
++
++/* "File system end of life" sequence number watermark */
++#define SQNUM_WARN_WATERMARK 0xFFFFFFFF00000000ULL
++#define SQNUM_WATERMARK 0xFFFFFFFFFF000000ULL
++
++/*
++ * Minimum amount of LEBs reserved for the index. At present the index needs at
++ * least 2 LEBs: one for the index head and one for in-the-gaps method (which
++ * currently does not cater for the index head and so excludes it from
++ * consideration).
++ */
++#define MIN_INDEX_LEBS 2
++
++/* Minimum amount of data UBIFS writes to the flash */
++#define MIN_WRITE_SZ (UBIFS_DATA_NODE_SZ + 8)
++
++/*
++ * Currently we do not support inode number overlapping and re-using, so this
++ * watermark defines dangerous inode number level. This should be fixed later,
++ * although it is difficult to exceed current limit. Another option is to use
++ * 64-bit inode numbers, but this means more overhead.
++ */
++#define INUM_WARN_WATERMARK 0xFFF00000
++#define INUM_WATERMARK 0xFFFFFF00
++
++/* Largest key size supported in this implementation */
++#define CUR_MAX_KEY_LEN UBIFS_SK_LEN
++
++/* Maximum number of entries in each LPT (LEB category) heap */
++#define LPT_HEAP_SZ 256
++
++/*
++ * Background thread name pattern. The numbers are UBI device and volume
++ * numbers.
++ */
++#define BGT_NAME_PATTERN "ubifs_bgt%d_%d"
++
++/* Default write-buffer synchronization timeout (5 secs) */
++#define DEFAULT_WBUF_TIMEOUT (5 * HZ)
++
++/* Maximum possible inode number (only 32-bit inodes are supported now) */
++#define MAX_INUM 0xFFFFFFFF
++
++/* Number of non-data journal heads */
++#define NONDATA_JHEADS_CNT 2
++
++/* Garbage collector head */
++#define GCHD 0
++/* Base journal head number */
++#define BASEHD 1
++/* First "general purpose" journal head */
++#define DATAHD 2
++
++/* 'No change' value for 'ubifs_change_lp()' */
++#define LPROPS_NC 0x80000001
++
++/*
++ * There is no notion of truncation key because truncation nodes do not exist
++ * in TNC. However, when replaying, it is handy to introduce fake "truncation"
++ * keys for truncation nodes because the code becomes simpler. So we define
++ * %UBIFS_TRUN_KEY type.
++ */
++#define UBIFS_TRUN_KEY UBIFS_KEY_TYPES_CNT
++
++/*
++ * How much a directory entry/extended attribute entry adds to the parent/host
++ * inode.
++ */
++#define CALC_DENT_SIZE(name_len) ALIGN(UBIFS_DENT_NODE_SZ + (name_len) + 1, 8)
++
++/* How much an extended attribute adds to the host inode */
++#define CALC_XATTR_BYTES(data_len) ALIGN(UBIFS_INO_NODE_SZ + (data_len) + 1, 8)
++
++/*
++ * Znodes which were not touched for 'OLD_ZNODE_AGE' seconds are considered
++ * "old", and znode which were touched last 'YOUNG_ZNODE_AGE' seconds ago are
++ * considered "young". This is used by shrinker when selecting znode to trim
++ * off.
++ */
++#define OLD_ZNODE_AGE 20
++#define YOUNG_ZNODE_AGE 5
++
++/*
++ * Some compressors, like LZO, may end up with more data then the input buffer.
++ * So UBIFS always allocates larger output buffer, to be sure the compressor
++ * will not corrupt memory in case of worst case compression.
++ */
++#define WORST_COMPR_FACTOR 2
++
++/* Maximum expected tree height for use by bottom_up_buf */
++#define BOTTOM_UP_HEIGHT 64
++
++/* Maximum number of data nodes to bulk-read */
++#define UBIFS_MAX_BULK_READ 32
++
++/*
++ * Lockdep classes for UBIFS inode @ui_mutex.
++ */
++enum {
++ WB_MUTEX_1 = 0,
++ WB_MUTEX_2 = 1,
++ WB_MUTEX_3 = 2,
++};
++
++/*
++ * Znode flags (actually, bit numbers which store the flags).
++ *
++ * DIRTY_ZNODE: znode is dirty
++ * COW_ZNODE: znode is being committed and a new instance of this znode has to
++ * be created before changing this znode
++ * OBSOLETE_ZNODE: znode is obsolete, which means it was deleted, but it is
++ * still in the commit list and the ongoing commit operation
++ * will commit it, and delete this znode after it is done
++ */
++enum {
++ DIRTY_ZNODE = 0,
++ COW_ZNODE = 1,
++ OBSOLETE_ZNODE = 2,
++};
++
++/*
++ * Commit states.
++ *
++ * COMMIT_RESTING: commit is not wanted
++ * COMMIT_BACKGROUND: background commit has been requested
++ * COMMIT_REQUIRED: commit is required
++ * COMMIT_RUNNING_BACKGROUND: background commit is running
++ * COMMIT_RUNNING_REQUIRED: commit is running and it is required
++ * COMMIT_BROKEN: commit failed
++ */
++enum {
++ COMMIT_RESTING = 0,
++ COMMIT_BACKGROUND,
++ COMMIT_REQUIRED,
++ COMMIT_RUNNING_BACKGROUND,
++ COMMIT_RUNNING_REQUIRED,
++ COMMIT_BROKEN,
++};
++
++/*
++ * 'ubifs_scan_a_node()' return values.
++ *
++ * SCANNED_GARBAGE: scanned garbage
++ * SCANNED_EMPTY_SPACE: scanned empty space
++ * SCANNED_A_NODE: scanned a valid node
++ * SCANNED_A_CORRUPT_NODE: scanned a corrupted node
++ * SCANNED_A_BAD_PAD_NODE: scanned a padding node with invalid pad length
++ *
++ * Greater than zero means: 'scanned that number of padding bytes'
++ */
++enum {
++ SCANNED_GARBAGE = 0,
++ SCANNED_EMPTY_SPACE = -1,
++ SCANNED_A_NODE = -2,
++ SCANNED_A_CORRUPT_NODE = -3,
++ SCANNED_A_BAD_PAD_NODE = -4,
++};
++
++/*
++ * LPT cnode flag bits.
++ *
++ * DIRTY_CNODE: cnode is dirty
++ * COW_CNODE: cnode is being committed and must be copied before writing
++ * OBSOLETE_CNODE: cnode is being committed and has been copied (or deleted),
++ * so it can (and must) be freed when the commit is finished
++ */
++enum {
++ DIRTY_CNODE = 0,
++ COW_CNODE = 1,
++ OBSOLETE_CNODE = 2,
++};
++
++/*
++ * Dirty flag bits (lpt_drty_flgs) for LPT special nodes.
++ *
++ * LTAB_DIRTY: ltab node is dirty
++ * LSAVE_DIRTY: lsave node is dirty
++ */
++enum {
++ LTAB_DIRTY = 1,
++ LSAVE_DIRTY = 2,
++};
++
++/*
++ * Return codes used by the garbage collector.
++ * @LEB_FREED: the logical eraseblock was freed and is ready to use
++ * @LEB_FREED_IDX: indexing LEB was freed and can be used only after the commit
++ * @LEB_RETAINED: the logical eraseblock was freed and retained for GC purposes
++ */
++enum {
++ LEB_FREED,
++ LEB_FREED_IDX,
++ LEB_RETAINED,
++};
++
++/**
++ * struct ubifs_old_idx - index node obsoleted since last commit start.
++ * @rb: rb-tree node
++ * @lnum: LEB number of obsoleted index node
++ * @offs: offset of obsoleted index node
++ */
++struct ubifs_old_idx {
++ struct rb_node rb;
++ int lnum;
++ int offs;
++};
++
++/* The below union makes it easier to deal with keys */
++union ubifs_key {
++ uint8_t u8[CUR_MAX_KEY_LEN];
++ uint32_t u32[CUR_MAX_KEY_LEN/4];
++ uint64_t u64[CUR_MAX_KEY_LEN/8];
++ __le32 j32[CUR_MAX_KEY_LEN/4];
++};
++
++/**
++ * struct ubifs_scan_node - UBIFS scanned node information.
++ * @list: list of scanned nodes
++ * @key: key of node scanned (if it has one)
++ * @sqnum: sequence number
++ * @type: type of node scanned
++ * @offs: offset with LEB of node scanned
++ * @len: length of node scanned
++ * @node: raw node
++ */
++struct ubifs_scan_node {
++ struct list_head list;
++ union ubifs_key key;
++ unsigned long long sqnum;
++ int type;
++ int offs;
++ int len;
++ void *node;
++};
++
++/**
++ * struct ubifs_scan_leb - UBIFS scanned LEB information.
++ * @lnum: logical eraseblock number
++ * @nodes_cnt: number of nodes scanned
++ * @nodes: list of struct ubifs_scan_node
++ * @endpt: end point (and therefore the start of empty space)
++ * @ecc: read returned -EBADMSG
++ * @buf: buffer containing entire LEB scanned
++ */
++struct ubifs_scan_leb {
++ int lnum;
++ int nodes_cnt;
++ struct list_head nodes;
++ int endpt;
++ int ecc;
++ void *buf;
++};
++
++/**
++ * struct ubifs_gced_idx_leb - garbage-collected indexing LEB.
++ * @list: list
++ * @lnum: LEB number
++ * @unmap: OK to unmap this LEB
++ *
++ * This data structure is used to temporary store garbage-collected indexing
++ * LEBs - they are not released immediately, but only after the next commit.
++ * This is needed to guarantee recoverability.
++ */
++struct ubifs_gced_idx_leb {
++ struct list_head list;
++ int lnum;
++ int unmap;
++};
++
++/**
++ * struct ubifs_inode - UBIFS in-memory inode description.
++ * @vfs_inode: VFS inode description object
++ * @creat_sqnum: sequence number at time of creation
++ * @del_cmtno: commit number corresponding to the time the inode was deleted,
++ * protected by @c->commit_sem;
++ * @xattr_size: summarized size of all extended attributes in bytes
++ * @xattr_cnt: count of extended attributes this inode has
++ * @xattr_names: sum of lengths of all extended attribute names belonging to
++ * this inode
++ * @dirty: non-zero if the inode is dirty
++ * @xattr: non-zero if this is an extended attribute inode
++ * @bulk_read: non-zero if bulk-read should be used
++ * @ui_mutex: serializes inode write-back with the rest of VFS operations,
++ * serializes "clean <-> dirty" state changes, serializes bulk-read,
++ * protects @dirty, @bulk_read, @ui_size, and @xattr_size
++ * @ui_lock: protects @synced_i_size
++ * @synced_i_size: synchronized size of inode, i.e. the value of inode size
++ * currently stored on the flash; used only for regular file
++ * inodes
++ * @ui_size: inode size used by UBIFS when writing to flash
++ * @flags: inode flags (@UBIFS_COMPR_FL, etc)
++ * @compr_type: default compression type used for this inode
++ * @last_page_read: page number of last page read (for bulk read)
++ * @read_in_a_row: number of consecutive pages read in a row (for bulk read)
++ * @data_len: length of the data attached to the inode
++ * @data: inode's data
++ *
++ * @ui_mutex exists for two main reasons. At first it prevents inodes from
++ * being written back while UBIFS changing them, being in the middle of an VFS
++ * operation. This way UBIFS makes sure the inode fields are consistent. For
++ * example, in 'ubifs_rename()' we change 3 inodes simultaneously, and
++ * write-back must not write any of them before we have finished.
++ *
++ * The second reason is budgeting - UBIFS has to budget all operations. If an
++ * operation is going to mark an inode dirty, it has to allocate budget for
++ * this. It cannot just mark it dirty because there is no guarantee there will
++ * be enough flash space to write the inode back later. This means UBIFS has
++ * to have full control over inode "clean <-> dirty" transitions (and pages
++ * actually). But unfortunately, VFS marks inodes dirty in many places, and it
++ * does not ask the file-system if it is allowed to do so (there is a notifier,
++ * but it is not enough), i.e., there is no mechanism to synchronize with this.
++ * So UBIFS has its own inode dirty flag and its own mutex to serialize
++ * "clean <-> dirty" transitions.
++ *
++ * The @synced_i_size field is used to make sure we never write pages which are
++ * beyond last synchronized inode size. See 'ubifs_writepage()' for more
++ * information.
++ *
++ * The @ui_size is a "shadow" variable for @inode->i_size and UBIFS uses
++ * @ui_size instead of @inode->i_size. The reason for this is that UBIFS cannot
++ * make sure @inode->i_size is always changed under @ui_mutex, because it
++ * cannot call 'vmtruncate()' with @ui_mutex locked, because it would deadlock
++ * with 'ubifs_writepage()' (see file.c). All the other inode fields are
++ * changed under @ui_mutex, so they do not need "shadow" fields. Note, one
++ * could consider to rework locking and base it on "shadow" fields.
++ */
++struct ubifs_inode {
++ struct inode vfs_inode;
++ unsigned long long creat_sqnum;
++ unsigned long long del_cmtno;
++ unsigned int xattr_size;
++ unsigned int xattr_cnt;
++ unsigned int xattr_names;
++ unsigned int dirty:1;
++ unsigned int xattr:1;
++ unsigned int bulk_read:1;
++ unsigned int compr_type:2;
++ struct mutex ui_mutex;
++ spinlock_t ui_lock;
++ loff_t synced_i_size;
++ loff_t ui_size;
++ int flags;
++ pgoff_t last_page_read;
++ pgoff_t read_in_a_row;
++ int data_len;
++ void *data;
++};
++
++/**
++ * struct ubifs_unclean_leb - records a LEB recovered under read-only mode.
++ * @list: list
++ * @lnum: LEB number of recovered LEB
++ * @endpt: offset where recovery ended
++ *
++ * This structure records a LEB identified during recovery that needs to be
++ * cleaned but was not because UBIFS was mounted read-only. The information
++ * is used to clean the LEB when remounting to read-write mode.
++ */
++struct ubifs_unclean_leb {
++ struct list_head list;
++ int lnum;
++ int endpt;
++};
++
++/*
++ * LEB properties flags.
++ *
++ * LPROPS_UNCAT: not categorized
++ * LPROPS_DIRTY: dirty > free, dirty >= @c->dead_wm, not index
++ * LPROPS_DIRTY_IDX: dirty + free > @c->min_idx_node_sze and index
++ * LPROPS_FREE: free > 0, dirty < @c->dead_wm, not empty, not index
++ * LPROPS_HEAP_CNT: number of heaps used for storing categorized LEBs
++ * LPROPS_EMPTY: LEB is empty, not taken
++ * LPROPS_FREEABLE: free + dirty == leb_size, not index, not taken
++ * LPROPS_FRDI_IDX: free + dirty == leb_size and index, may be taken
++ * LPROPS_CAT_MASK: mask for the LEB categories above
++ * LPROPS_TAKEN: LEB was taken (this flag is not saved on the media)
++ * LPROPS_INDEX: LEB contains indexing nodes (this flag also exists on flash)
++ */
++enum {
++ LPROPS_UNCAT = 0,
++ LPROPS_DIRTY = 1,
++ LPROPS_DIRTY_IDX = 2,
++ LPROPS_FREE = 3,
++ LPROPS_HEAP_CNT = 3,
++ LPROPS_EMPTY = 4,
++ LPROPS_FREEABLE = 5,
++ LPROPS_FRDI_IDX = 6,
++ LPROPS_CAT_MASK = 15,
++ LPROPS_TAKEN = 16,
++ LPROPS_INDEX = 32,
++};
++
++/**
++ * struct ubifs_lprops - logical eraseblock properties.
++ * @free: amount of free space in bytes
++ * @dirty: amount of dirty space in bytes
++ * @flags: LEB properties flags (see above)
++ * @lnum: LEB number
++ * @list: list of same-category lprops (for LPROPS_EMPTY and LPROPS_FREEABLE)
++ * @hpos: heap position in heap of same-category lprops (other categories)
++ */
++struct ubifs_lprops {
++ int free;
++ int dirty;
++ int flags;
++ int lnum;
++ union {
++ struct list_head list;
++ int hpos;
++ };
++};
++
++/**
++ * struct ubifs_lpt_lprops - LPT logical eraseblock properties.
++ * @free: amount of free space in bytes
++ * @dirty: amount of dirty space in bytes
++ * @tgc: trivial GC flag (1 => unmap after commit end)
++ * @cmt: commit flag (1 => reserved for commit)
++ */
++struct ubifs_lpt_lprops {
++ int free;
++ int dirty;
++ unsigned tgc:1;
++ unsigned cmt:1;
++};
++
++/**
++ * struct ubifs_lp_stats - statistics of eraseblocks in the main area.
++ * @empty_lebs: number of empty LEBs
++ * @taken_empty_lebs: number of taken LEBs
++ * @idx_lebs: number of indexing LEBs
++ * @total_free: total free space in bytes (includes all LEBs)
++ * @total_dirty: total dirty space in bytes (includes all LEBs)
++ * @total_used: total used space in bytes (does not include index LEBs)
++ * @total_dead: total dead space in bytes (does not include index LEBs)
++ * @total_dark: total dark space in bytes (does not include index LEBs)
++ *
++ * The @taken_empty_lebs field counts the LEBs that are in the transient state
++ * of having been "taken" for use but not yet written to. @taken_empty_lebs is
++ * needed to account correctly for @gc_lnum, otherwise @empty_lebs could be
++ * used by itself (in which case 'unused_lebs' would be a better name). In the
++ * case of @gc_lnum, it is "taken" at mount time or whenever a LEB is retained
++ * by GC, but unlike other empty LEBs that are "taken", it may not be written
++ * straight away (i.e. before the next commit start or unmount), so either
++ * @gc_lnum must be specially accounted for, or the current approach followed
++ * i.e. count it under @taken_empty_lebs.
++ *
++ * @empty_lebs includes @taken_empty_lebs.
++ *
++ * @total_used, @total_dead and @total_dark fields do not account indexing
++ * LEBs.
++ */
++struct ubifs_lp_stats {
++ int empty_lebs;
++ int taken_empty_lebs;
++ int idx_lebs;
++ long long total_free;
++ long long total_dirty;
++ long long total_used;
++ long long total_dead;
++ long long total_dark;
++};
++
++struct ubifs_nnode;
++
++/**
++ * struct ubifs_cnode - LEB Properties Tree common node.
++ * @parent: parent nnode
++ * @cnext: next cnode to commit
++ * @flags: flags (%DIRTY_LPT_NODE or %OBSOLETE_LPT_NODE)
++ * @iip: index in parent
++ * @level: level in the tree (zero for pnodes, greater than zero for nnodes)
++ * @num: node number
++ */
++struct ubifs_cnode {
++ struct ubifs_nnode *parent;
++ struct ubifs_cnode *cnext;
++ unsigned long flags;
++ int iip;
++ int level;
++ int num;
++};
++
++/**
++ * struct ubifs_pnode - LEB Properties Tree leaf node.
++ * @parent: parent nnode
++ * @cnext: next cnode to commit
++ * @flags: flags (%DIRTY_LPT_NODE or %OBSOLETE_LPT_NODE)
++ * @iip: index in parent
++ * @level: level in the tree (always zero for pnodes)
++ * @num: node number
++ * @lprops: LEB properties array
++ */
++struct ubifs_pnode {
++ struct ubifs_nnode *parent;
++ struct ubifs_cnode *cnext;
++ unsigned long flags;
++ int iip;
++ int level;
++ int num;
++ struct ubifs_lprops lprops[UBIFS_LPT_FANOUT];
++};
++
++/**
++ * struct ubifs_nbranch - LEB Properties Tree internal node branch.
++ * @lnum: LEB number of child
++ * @offs: offset of child
++ * @nnode: nnode child
++ * @pnode: pnode child
++ * @cnode: cnode child
++ */
++struct ubifs_nbranch {
++ int lnum;
++ int offs;
++ union {
++ struct ubifs_nnode *nnode;
++ struct ubifs_pnode *pnode;
++ struct ubifs_cnode *cnode;
++ };
++};
++
++/**
++ * struct ubifs_nnode - LEB Properties Tree internal node.
++ * @parent: parent nnode
++ * @cnext: next cnode to commit
++ * @flags: flags (%DIRTY_LPT_NODE or %OBSOLETE_LPT_NODE)
++ * @iip: index in parent
++ * @level: level in the tree (always greater than zero for nnodes)
++ * @num: node number
++ * @nbranch: branches to child nodes
++ */
++struct ubifs_nnode {
++ struct ubifs_nnode *parent;
++ struct ubifs_cnode *cnext;
++ unsigned long flags;
++ int iip;
++ int level;
++ int num;
++ struct ubifs_nbranch nbranch[UBIFS_LPT_FANOUT];
++};
++
++/**
++ * struct ubifs_lpt_heap - heap of categorized lprops.
++ * @arr: heap array
++ * @cnt: number in heap
++ * @max_cnt: maximum number allowed in heap
++ *
++ * There are %LPROPS_HEAP_CNT heaps.
++ */
++struct ubifs_lpt_heap {
++ struct ubifs_lprops **arr;
++ int cnt;
++ int max_cnt;
++};
++
++/*
++ * Return codes for LPT scan callback function.
++ *
++ * LPT_SCAN_CONTINUE: continue scanning
++ * LPT_SCAN_ADD: add the LEB properties scanned to the tree in memory
++ * LPT_SCAN_STOP: stop scanning
++ */
++enum {
++ LPT_SCAN_CONTINUE = 0,
++ LPT_SCAN_ADD = 1,
++ LPT_SCAN_STOP = 2,
++};
++
++struct ubifs_info;
++
++/* Callback used by the 'ubifs_lpt_scan_nolock()' function */
++typedef int (*ubifs_lpt_scan_callback)(struct ubifs_info *c,
++ const struct ubifs_lprops *lprops,
++ int in_tree, void *data);
++
++/**
++ * struct ubifs_wbuf - UBIFS write-buffer.
++ * @c: UBIFS file-system description object
++ * @buf: write-buffer (of min. flash I/O unit size)
++ * @lnum: logical eraseblock number the write-buffer points to
++ * @offs: write-buffer offset in this logical eraseblock
++ * @avail: number of bytes available in the write-buffer
++ * @used: number of used bytes in the write-buffer
++ * @dtype: type of data stored in this LEB (%UBI_LONGTERM, %UBI_SHORTTERM,
++ * %UBI_UNKNOWN)
++ * @jhead: journal head the mutex belongs to (note, needed only to shut lockdep
++ * up by 'mutex_lock_nested()).
++ * @sync_callback: write-buffer synchronization callback
++ * @io_mutex: serializes write-buffer I/O
++ * @lock: serializes @buf, @lnum, @offs, @avail, @used, @next_ino and @inodes
++ * fields
++ * @timer: write-buffer timer
++ * @timeout: timer expire interval in jiffies
++ * @need_sync: it is set if its timer expired and needs sync
++ * @next_ino: points to the next position of the following inode number
++ * @inodes: stores the inode numbers of the nodes which are in wbuf
++ *
++ * The write-buffer synchronization callback is called when the write-buffer is
++ * synchronized in order to notify how much space was wasted due to
++ * write-buffer padding and how much free space is left in the LEB.
++ *
++ * Note: the fields @buf, @lnum, @offs, @avail and @used can be read under
++ * spin-lock or mutex because they are written under both mutex and spin-lock.
++ * @buf is appended to under mutex but overwritten under both mutex and
++ * spin-lock. Thus the data between @buf and @buf + @used can be read under
++ * spinlock.
++ */
++struct ubifs_wbuf {
++ struct ubifs_info *c;
++ void *buf;
++ int lnum;
++ int offs;
++ int avail;
++ int used;
++ int dtype;
++ int jhead;
++ int (*sync_callback)(struct ubifs_info *c, int lnum, int free, int pad);
++ struct mutex io_mutex;
++ spinlock_t lock;
++ struct timer_list timer;
++ int timeout;
++ int need_sync;
++ int next_ino;
++ ino_t *inodes;
++};
++
++/**
++ * struct ubifs_bud - bud logical eraseblock.
++ * @lnum: logical eraseblock number
++ * @start: where the (uncommitted) bud data starts
++ * @jhead: journal head number this bud belongs to
++ * @list: link in the list buds belonging to the same journal head
++ * @rb: link in the tree of all buds
++ */
++struct ubifs_bud {
++ int lnum;
++ int start;
++ int jhead;
++ struct list_head list;
++ struct rb_node rb;
++};
++
++/**
++ * struct ubifs_jhead - journal head.
++ * @wbuf: head's write-buffer
++ * @buds_list: list of bud LEBs belonging to this journal head
++ *
++ * Note, the @buds list is protected by the @c->buds_lock.
++ */
++struct ubifs_jhead {
++ struct ubifs_wbuf wbuf;
++ struct list_head buds_list;
++};
++
++/**
++ * struct ubifs_zbranch - key/coordinate/length branch stored in znodes.
++ * @key: key
++ * @znode: znode address in memory
++ * @lnum: LEB number of the target node (indexing node or data node)
++ * @offs: target node offset within @lnum
++ * @len: target node length
++ */
++struct ubifs_zbranch {
++ union ubifs_key key;
++ union {
++ struct ubifs_znode *znode;
++ void *leaf;
++ };
++ int lnum;
++ int offs;
++ int len;
++};
++
++/**
++ * struct ubifs_znode - in-memory representation of an indexing node.
++ * @parent: parent znode or NULL if it is the root
++ * @cnext: next znode to commit
++ * @flags: znode flags (%DIRTY_ZNODE, %COW_ZNODE or %OBSOLETE_ZNODE)
++ * @time: last access time (seconds)
++ * @level: level of the entry in the TNC tree
++ * @child_cnt: count of child znodes
++ * @iip: index in parent's zbranch array
++ * @alt: lower bound of key range has altered i.e. child inserted at slot 0
++ * @lnum: LEB number of the corresponding indexing node
++ * @offs: offset of the corresponding indexing node
++ * @len: length of the corresponding indexing node
++ * @zbranch: array of znode branches (@c->fanout elements)
++ */
++struct ubifs_znode {
++ struct ubifs_znode *parent;
++ struct ubifs_znode *cnext;
++ unsigned long flags;
++ unsigned long time;
++ int level;
++ int child_cnt;
++ int iip;
++ int alt;
++#ifdef CONFIG_UBIFS_FS_DEBUG
++ int lnum, offs, len;
++#endif
++ struct ubifs_zbranch zbranch[];
++};
++
++/**
++ * struct bu_info - bulk-read information.
++ * @key: first data node key
++ * @zbranch: zbranches of data nodes to bulk read
++ * @buf: buffer to read into
++ * @buf_len: buffer length
++ * @gc_seq: GC sequence number to detect races with GC
++ * @cnt: number of data nodes for bulk read
++ * @blk_cnt: number of data blocks including holes
++ * @oef: end of file reached
++ */
++struct bu_info {
++ union ubifs_key key;
++ struct ubifs_zbranch zbranch[UBIFS_MAX_BULK_READ];
++ void *buf;
++ int buf_len;
++ int gc_seq;
++ int cnt;
++ int blk_cnt;
++ int eof;
++};
++
++/**
++ * struct ubifs_node_range - node length range description data structure.
++ * @len: fixed node length
++ * @min_len: minimum possible node length
++ * @max_len: maximum possible node length
++ *
++ * If @max_len is %0, the node has fixed length @len.
++ */
++struct ubifs_node_range {
++ union {
++ int len;
++ int min_len;
++ };
++ int max_len;
++};
++
++/**
++ * struct ubifs_compressor - UBIFS compressor description structure.
++ * @compr_type: compressor type (%UBIFS_COMPR_LZO, etc)
++ * @cc: cryptoapi compressor handle
++ * @comp_mutex: mutex used during compression
++ * @decomp_mutex: mutex used during decompression
++ * @name: compressor name
++ * @capi_name: cryptoapi compressor name
++ */
++struct ubifs_compressor {
++ int compr_type;
++ struct crypto_comp *cc;
++ struct mutex *comp_mutex;
++ struct mutex *decomp_mutex;
++ const char *name;
++ const char *capi_name;
++};
++
++/**
++ * struct ubifs_budget_req - budget requirements of an operation.
++ *
++ * @fast: non-zero if the budgeting should try to acquire budget quickly and
++ * should not try to call write-back
++ * @recalculate: non-zero if @idx_growth, @data_growth, and @dd_growth fields
++ * have to be re-calculated
++ * @new_page: non-zero if the operation adds a new page
++ * @dirtied_page: non-zero if the operation makes a page dirty
++ * @new_dent: non-zero if the operation adds a new directory entry
++ * @mod_dent: non-zero if the operation removes or modifies an existing
++ * directory entry
++ * @new_ino: non-zero if the operation adds a new inode
++ * @new_ino_d: now much data newly created inode contains
++ * @dirtied_ino: how many inodes the operation makes dirty
++ * @dirtied_ino_d: now much data dirtied inode contains
++ * @idx_growth: how much the index will supposedly grow
++ * @data_growth: how much new data the operation will supposedly add
++ * @dd_growth: how much data that makes other data dirty the operation will
++ * supposedly add
++ *
++ * @idx_growth, @data_growth and @dd_growth are not used in budget request. The
++ * budgeting subsystem caches index and data growth values there to avoid
++ * re-calculating them when the budget is released. However, if @idx_growth is
++ * %-1, it is calculated by the release function using other fields.
++ *
++ * An inode may contain 4KiB of data at max., thus the widths of @new_ino_d
++ * is 13 bits, and @dirtied_ino_d - 15, because up to 4 inodes may be made
++ * dirty by the re-name operation.
++ *
++ * Note, UBIFS aligns node lengths to 8-bytes boundary, so the requester has to
++ * make sure the amount of inode data which contribute to @new_ino_d and
++ * @dirtied_ino_d fields are aligned.
++ */
++struct ubifs_budget_req {
++ unsigned int fast:1;
++ unsigned int recalculate:1;
++#ifndef UBIFS_DEBUG
++ unsigned int new_page:1;
++ unsigned int dirtied_page:1;
++ unsigned int new_dent:1;
++ unsigned int mod_dent:1;
++ unsigned int new_ino:1;
++ unsigned int new_ino_d:13;
++ unsigned int dirtied_ino:4;
++ unsigned int dirtied_ino_d:15;
++#else
++ /* Not bit-fields to check for overflows */
++ unsigned int new_page;
++ unsigned int dirtied_page;
++ unsigned int new_dent;
++ unsigned int mod_dent;
++ unsigned int new_ino;
++ unsigned int new_ino_d;
++ unsigned int dirtied_ino;
++ unsigned int dirtied_ino_d;
++#endif
++ int idx_growth;
++ int data_growth;
++ int dd_growth;
++};
++
++/**
++ * struct ubifs_orphan - stores the inode number of an orphan.
++ * @rb: rb-tree node of rb-tree of orphans sorted by inode number
++ * @list: list head of list of orphans in order added
++ * @new_list: list head of list of orphans added since the last commit
++ * @cnext: next orphan to commit
++ * @dnext: next orphan to delete
++ * @inum: inode number
++ * @new: %1 => added since the last commit, otherwise %0
++ */
++struct ubifs_orphan {
++ struct rb_node rb;
++ struct list_head list;
++ struct list_head new_list;
++ struct ubifs_orphan *cnext;
++ struct ubifs_orphan *dnext;
++ ino_t inum;
++ int new;
++};
++
++/**
++ * struct ubifs_mount_opts - UBIFS-specific mount options information.
++ * @unmount_mode: selected unmount mode (%0 default, %1 normal, %2 fast)
++ * @bulk_read: enable/disable bulk-reads (%0 default, %1 disabe, %2 enable)
++ * @chk_data_crc: enable/disable CRC data checking when reading data nodes
++ * (%0 default, %1 disabe, %2 enable)
++ * @override_compr: override default compressor (%0 - do not override and use
++ * superblock compressor, %1 - override and use compressor
++ * specified in @compr_type)
++ * @compr_type: compressor type to override the superblock compressor with
++ * (%UBIFS_COMPR_NONE, etc)
++ */
++struct ubifs_mount_opts {
++ unsigned int unmount_mode:2;
++ unsigned int bulk_read:2;
++ unsigned int chk_data_crc:2;
++ unsigned int override_compr:1;
++ unsigned int compr_type:2;
++};
++
++struct ubifs_debug_info;
++
++/**
++ * struct ubifs_info - UBIFS file-system description data structure
++ * (per-superblock).
++ * @vfs_sb: VFS @struct super_block object
++ * @bdi: backing device info object to make VFS happy and disable read-ahead
++ *
++ * @highest_inum: highest used inode number
++ * @max_sqnum: current global sequence number
++ * @cmt_no: commit number of the last successfully completed commit, protected
++ * by @commit_sem
++ * @cnt_lock: protects @highest_inum and @max_sqnum counters
++ * @fmt_version: UBIFS on-flash format version
++ * @ro_compat_version: R/O compatibility version
++ * @uuid: UUID from super block
++ *
++ * @lhead_lnum: log head logical eraseblock number
++ * @lhead_offs: log head offset
++ * @ltail_lnum: log tail logical eraseblock number (offset is always 0)
++ * @log_mutex: protects the log, @lhead_lnum, @lhead_offs, @ltail_lnum, and
++ * @bud_bytes
++ * @min_log_bytes: minimum required number of bytes in the log
++ * @cmt_bud_bytes: used during commit to temporarily amount of bytes in
++ * committed buds
++ *
++ * @buds: tree of all buds indexed by bud LEB number
++ * @bud_bytes: how many bytes of flash is used by buds
++ * @buds_lock: protects the @buds tree, @bud_bytes, and per-journal head bud
++ * lists
++ * @jhead_cnt: count of journal heads
++ * @jheads: journal heads (head zero is base head)
++ * @max_bud_bytes: maximum number of bytes allowed in buds
++ * @bg_bud_bytes: number of bud bytes when background commit is initiated
++ * @old_buds: buds to be released after commit ends
++ * @max_bud_cnt: maximum number of buds
++ *
++ * @commit_sem: synchronizes committer with other processes
++ * @cmt_state: commit state
++ * @cs_lock: commit state lock
++ * @cmt_wq: wait queue to sleep on if the log is full and a commit is running
++ *
++ * @big_lpt: flag that LPT is too big to write whole during commit
++ * @no_chk_data_crc: do not check CRCs when reading data nodes (except during
++ * recovery)
++ * @bulk_read: enable bulk-reads
++ * @default_compr: default compression algorithm (%UBIFS_COMPR_LZO, etc)
++ * @rw_incompat: the media is not R/W compatible
++ *
++ * @tnc_mutex: protects the Tree Node Cache (TNC), @zroot, @cnext, @enext, and
++ * @calc_idx_sz
++ * @zroot: zbranch which points to the root index node and znode
++ * @cnext: next znode to commit
++ * @enext: next znode to commit to empty space
++ * @gap_lebs: array of LEBs used by the in-gaps commit method
++ * @cbuf: commit buffer
++ * @ileb_buf: buffer for commit in-the-gaps method
++ * @ileb_len: length of data in ileb_buf
++ * @ihead_lnum: LEB number of index head
++ * @ihead_offs: offset of index head
++ * @ilebs: pre-allocated index LEBs
++ * @ileb_cnt: number of pre-allocated index LEBs
++ * @ileb_nxt: next pre-allocated index LEBs
++ * @old_idx: tree of index nodes obsoleted since the last commit start
++ * @bottom_up_buf: a buffer which is used by 'dirty_cow_bottom_up()' in tnc.c
++ *
++ * @mst_node: master node
++ * @mst_offs: offset of valid master node
++ * @mst_mutex: protects the master node area, @mst_node, and @mst_offs
++ *
++ * @max_bu_buf_len: maximum bulk-read buffer length
++ * @bu_mutex: protects the pre-allocated bulk-read buffer and @c->bu
++ * @bu: pre-allocated bulk-read information
++ *
++ * @log_lebs: number of logical eraseblocks in the log
++ * @log_bytes: log size in bytes
++ * @log_last: last LEB of the log
++ * @lpt_lebs: number of LEBs used for lprops table
++ * @lpt_first: first LEB of the lprops table area
++ * @lpt_last: last LEB of the lprops table area
++ * @orph_lebs: number of LEBs used for the orphan area
++ * @orph_first: first LEB of the orphan area
++ * @orph_last: last LEB of the orphan area
++ * @main_lebs: count of LEBs in the main area
++ * @main_first: first LEB of the main area
++ * @main_bytes: main area size in bytes
++ *
++ * @key_hash_type: type of the key hash
++ * @key_hash: direntry key hash function
++ * @key_fmt: key format
++ * @key_len: key length
++ * @fanout: fanout of the index tree (number of links per indexing node)
++ *
++ * @min_io_size: minimal input/output unit size
++ * @min_io_shift: number of bits in @min_io_size minus one
++ * @leb_size: logical eraseblock size in bytes
++ * @half_leb_size: half LEB size
++ * @idx_leb_size: how many bytes of an LEB are effectively available when it is
++ * used to store indexing nodes (@leb_size - @max_idx_node_sz)
++ * @leb_cnt: count of logical eraseblocks
++ * @max_leb_cnt: maximum count of logical eraseblocks
++ * @old_leb_cnt: count of logical eraseblocks before re-size
++ * @ro_media: the underlying UBI volume is read-only
++ *
++ * @dirty_pg_cnt: number of dirty pages (not used)
++ * @dirty_zn_cnt: number of dirty znodes
++ * @clean_zn_cnt: number of clean znodes
++ *
++ * @budg_idx_growth: amount of bytes budgeted for index growth
++ * @budg_data_growth: amount of bytes budgeted for cached data
++ * @budg_dd_growth: amount of bytes budgeted for cached data that will make
++ * other data dirty
++ * @budg_uncommitted_idx: amount of bytes were budgeted for growth of the index,
++ * but which still have to be taken into account because
++ * the index has not been committed so far
++ * @space_lock: protects @budg_idx_growth, @budg_data_growth, @budg_dd_growth,
++ * @budg_uncommited_idx, @min_idx_lebs, @old_idx_sz, @lst,
++ * @nospace, and @nospace_rp;
++ * @min_idx_lebs: minimum number of LEBs required for the index
++ * @old_idx_sz: size of index on flash
++ * @calc_idx_sz: temporary variable which is used to calculate new index size
++ * (contains accurate new index size at end of TNC commit start)
++ * @lst: lprops statistics
++ * @nospace: non-zero if the file-system does not have flash space (used as
++ * optimization)
++ * @nospace_rp: the same as @nospace, but additionally means that even reserved
++ * pool is full
++ *
++ * @page_budget: budget for a page
++ * @inode_budget: budget for an inode
++ * @dent_budget: budget for a directory entry
++ *
++ * @ref_node_alsz: size of the LEB reference node aligned to the min. flash
++ * I/O unit
++ * @mst_node_alsz: master node aligned size
++ * @min_idx_node_sz: minimum indexing node aligned on 8-bytes boundary
++ * @max_idx_node_sz: maximum indexing node aligned on 8-bytes boundary
++ * @max_inode_sz: maximum possible inode size in bytes
++ * @max_znode_sz: size of znode in bytes
++ *
++ * @leb_overhead: how many bytes are wasted in an LEB when it is filled with
++ * data nodes of maximum size - used in free space reporting
++ * @dead_wm: LEB dead space watermark
++ * @dark_wm: LEB dark space watermark
++ * @block_cnt: count of 4KiB blocks on the FS
++ *
++ * @ranges: UBIFS node length ranges
++ * @ubi: UBI volume descriptor
++ * @di: UBI device information
++ * @vi: UBI volume information
++ *
++ * @orph_tree: rb-tree of orphan inode numbers
++ * @orph_list: list of orphan inode numbers in order added
++ * @orph_new: list of orphan inode numbers added since last commit
++ * @orph_cnext: next orphan to commit
++ * @orph_dnext: next orphan to delete
++ * @orphan_lock: lock for orph_tree and orph_new
++ * @orph_buf: buffer for orphan nodes
++ * @new_orphans: number of orphans since last commit
++ * @cmt_orphans: number of orphans being committed
++ * @tot_orphans: number of orphans in the rb_tree
++ * @max_orphans: maximum number of orphans allowed
++ * @ohead_lnum: orphan head LEB number
++ * @ohead_offs: orphan head offset
++ * @no_orphs: non-zero if there are no orphans
++ *
++ * @bgt: UBIFS background thread
++ * @bgt_name: background thread name
++ * @need_bgt: if background thread should run
++ * @need_wbuf_sync: if write-buffers have to be synchronized
++ *
++ * @gc_lnum: LEB number used for garbage collection
++ * @sbuf: a buffer of LEB size used by GC and replay for scanning
++ * @idx_gc: list of index LEBs that have been garbage collected
++ * @idx_gc_cnt: number of elements on the idx_gc list
++ * @gc_seq: incremented for every non-index LEB garbage collected
++ * @gced_lnum: last non-index LEB that was garbage collected
++ *
++ * @infos_list: links all 'ubifs_info' objects
++ * @umount_mutex: serializes shrinker and un-mount
++ * @shrinker_run_no: shrinker run number
++ *
++ * @space_bits: number of bits needed to record free or dirty space
++ * @lpt_lnum_bits: number of bits needed to record a LEB number in the LPT
++ * @lpt_offs_bits: number of bits needed to record an offset in the LPT
++ * @lpt_spc_bits: number of bits needed to space in the LPT
++ * @pcnt_bits: number of bits needed to record pnode or nnode number
++ * @lnum_bits: number of bits needed to record LEB number
++ * @nnode_sz: size of on-flash nnode
++ * @pnode_sz: size of on-flash pnode
++ * @ltab_sz: size of on-flash LPT lprops table
++ * @lsave_sz: size of on-flash LPT save table
++ * @pnode_cnt: number of pnodes
++ * @nnode_cnt: number of nnodes
++ * @lpt_hght: height of the LPT
++ * @pnodes_have: number of pnodes in memory
++ *
++ * @lp_mutex: protects lprops table and all the other lprops-related fields
++ * @lpt_lnum: LEB number of the root nnode of the LPT
++ * @lpt_offs: offset of the root nnode of the LPT
++ * @nhead_lnum: LEB number of LPT head
++ * @nhead_offs: offset of LPT head
++ * @lpt_drty_flgs: dirty flags for LPT special nodes e.g. ltab
++ * @dirty_nn_cnt: number of dirty nnodes
++ * @dirty_pn_cnt: number of dirty pnodes
++ * @check_lpt_free: flag that indicates LPT GC may be needed
++ * @lpt_sz: LPT size
++ * @lpt_nod_buf: buffer for an on-flash nnode or pnode
++ * @lpt_buf: buffer of LEB size used by LPT
++ * @nroot: address in memory of the root nnode of the LPT
++ * @lpt_cnext: next LPT node to commit
++ * @lpt_heap: array of heaps of categorized lprops
++ * @dirty_idx: a (reverse sorted) copy of the LPROPS_DIRTY_IDX heap as at
++ * previous commit start
++ * @uncat_list: list of un-categorized LEBs
++ * @empty_list: list of empty LEBs
++ * @freeable_list: list of freeable non-index LEBs (free + dirty == @leb_size)
++ * @frdi_idx_list: list of freeable index LEBs (free + dirty == @leb_size)
++ * @freeable_cnt: number of freeable LEBs in @freeable_list
++ *
++ * @ltab_lnum: LEB number of LPT's own lprops table
++ * @ltab_offs: offset of LPT's own lprops table
++ * @ltab: LPT's own lprops table
++ * @ltab_cmt: LPT's own lprops table (commit copy)
++ * @lsave_cnt: number of LEB numbers in LPT's save table
++ * @lsave_lnum: LEB number of LPT's save table
++ * @lsave_offs: offset of LPT's save table
++ * @lsave: LPT's save table
++ * @lscan_lnum: LEB number of last LPT scan
++ *
++ * @rp_size: size of the reserved pool in bytes
++ * @report_rp_size: size of the reserved pool reported to user-space
++ * @rp_uid: reserved pool user ID
++ * @rp_gid: reserved pool group ID
++ *
++ * @empty: if the UBI device is empty
++ * @replay_tree: temporary tree used during journal replay
++ * @replay_list: temporary list used during journal replay
++ * @replay_buds: list of buds to replay
++ * @cs_sqnum: sequence number of first node in the log (commit start node)
++ * @replay_sqnum: sequence number of node currently being replayed
++ * @need_recovery: file-system needs recovery
++ * @replaying: set to %1 during journal replay
++ * @unclean_leb_list: LEBs to recover when mounting ro to rw
++ * @rcvrd_mst_node: recovered master node to write when mounting ro to rw
++ * @size_tree: inode size information for recovery
++ * @remounting_rw: set while remounting from ro to rw (sb flags have MS_RDONLY)
++ * @always_chk_crc: always check CRCs (while mounting and remounting rw)
++ * @mount_opts: UBIFS-specific mount options
++ *
++ * @dbg: debugging-related information
++ */
++struct ubifs_info {
++ struct super_block *vfs_sb;
++ struct backing_dev_info bdi;
++
++ ino_t highest_inum;
++ unsigned long long max_sqnum;
++ unsigned long long cmt_no;
++ spinlock_t cnt_lock;
++ int fmt_version;
++ int ro_compat_version;
++ unsigned char uuid[16];
++
++ int lhead_lnum;
++ int lhead_offs;
++ int ltail_lnum;
++ struct mutex log_mutex;
++ int min_log_bytes;
++ long long cmt_bud_bytes;
++
++ struct rb_root buds;
++ long long bud_bytes;
++ spinlock_t buds_lock;
++ int jhead_cnt;
++ struct ubifs_jhead *jheads;
++ long long max_bud_bytes;
++ long long bg_bud_bytes;
++ struct list_head old_buds;
++ int max_bud_cnt;
++
++ struct rw_semaphore commit_sem;
++ int cmt_state;
++ spinlock_t cs_lock;
++ wait_queue_head_t cmt_wq;
++
++ unsigned int big_lpt:1;
++ unsigned int no_chk_data_crc:1;
++ unsigned int bulk_read:1;
++ unsigned int default_compr:2;
++ unsigned int rw_incompat:1;
++
++ struct mutex tnc_mutex;
++ struct ubifs_zbranch zroot;
++ struct ubifs_znode *cnext;
++ struct ubifs_znode *enext;
++ int *gap_lebs;
++ void *cbuf;
++ void *ileb_buf;
++ int ileb_len;
++ int ihead_lnum;
++ int ihead_offs;
++ int *ilebs;
++ int ileb_cnt;
++ int ileb_nxt;
++ struct rb_root old_idx;
++ int *bottom_up_buf;
++
++ struct ubifs_mst_node *mst_node;
++ int mst_offs;
++ struct mutex mst_mutex;
++
++ int max_bu_buf_len;
++ struct mutex bu_mutex;
++ struct bu_info bu;
++
++ int log_lebs;
++ long long log_bytes;
++ int log_last;
++ int lpt_lebs;
++ int lpt_first;
++ int lpt_last;
++ int orph_lebs;
++ int orph_first;
++ int orph_last;
++ int main_lebs;
++ int main_first;
++ long long main_bytes;
++
++ uint8_t key_hash_type;
++ uint32_t (*key_hash)(const char *str, int len);
++ int key_fmt;
++ int key_len;
++ int fanout;
++
++ int min_io_size;
++ int min_io_shift;
++ int leb_size;
++ int half_leb_size;
++ int idx_leb_size;
++ int leb_cnt;
++ int max_leb_cnt;
++ int old_leb_cnt;
++ int ro_media;
++
++ atomic_long_t dirty_pg_cnt;
++ atomic_long_t dirty_zn_cnt;
++ atomic_long_t clean_zn_cnt;
++
++ long long budg_idx_growth;
++ long long budg_data_growth;
++ long long budg_dd_growth;
++ long long budg_uncommitted_idx;
++ spinlock_t space_lock;
++ int min_idx_lebs;
++ unsigned long long old_idx_sz;
++ unsigned long long calc_idx_sz;
++ struct ubifs_lp_stats lst;
++ unsigned int nospace:1;
++ unsigned int nospace_rp:1;
++
++ int page_budget;
++ int inode_budget;
++ int dent_budget;
++
++ int ref_node_alsz;
++ int mst_node_alsz;
++ int min_idx_node_sz;
++ int max_idx_node_sz;
++ long long max_inode_sz;
++ int max_znode_sz;
++
++ int leb_overhead;
++ int dead_wm;
++ int dark_wm;
++ int block_cnt;
++
++ struct ubifs_node_range ranges[UBIFS_NODE_TYPES_CNT];
++ struct ubi_volume_desc *ubi;
++ struct ubi_device_info di;
++ struct ubi_volume_info vi;
++
++ struct rb_root orph_tree;
++ struct list_head orph_list;
++ struct list_head orph_new;
++ struct ubifs_orphan *orph_cnext;
++ struct ubifs_orphan *orph_dnext;
++ spinlock_t orphan_lock;
++ void *orph_buf;
++ int new_orphans;
++ int cmt_orphans;
++ int tot_orphans;
++ int max_orphans;
++ int ohead_lnum;
++ int ohead_offs;
++ int no_orphs;
++
++ struct task_struct *bgt;
++ char bgt_name[sizeof(BGT_NAME_PATTERN) + 9];
++ int need_bgt;
++ int need_wbuf_sync;
++
++ int gc_lnum;
++ void *sbuf;
++ struct list_head idx_gc;
++ int idx_gc_cnt;
++ int gc_seq;
++ int gced_lnum;
++
++ struct list_head infos_list;
++ struct mutex umount_mutex;
++ unsigned int shrinker_run_no;
++
++ int space_bits;
++ int lpt_lnum_bits;
++ int lpt_offs_bits;
++ int lpt_spc_bits;
++ int pcnt_bits;
++ int lnum_bits;
++ int nnode_sz;
++ int pnode_sz;
++ int ltab_sz;
++ int lsave_sz;
++ int pnode_cnt;
++ int nnode_cnt;
++ int lpt_hght;
++ int pnodes_have;
++
++ struct mutex lp_mutex;
++ int lpt_lnum;
++ int lpt_offs;
++ int nhead_lnum;
++ int nhead_offs;
++ int lpt_drty_flgs;
++ int dirty_nn_cnt;
++ int dirty_pn_cnt;
++ int check_lpt_free;
++ long long lpt_sz;
++ void *lpt_nod_buf;
++ void *lpt_buf;
++ struct ubifs_nnode *nroot;
++ struct ubifs_cnode *lpt_cnext;
++ struct ubifs_lpt_heap lpt_heap[LPROPS_HEAP_CNT];
++ struct ubifs_lpt_heap dirty_idx;
++ struct list_head uncat_list;
++ struct list_head empty_list;
++ struct list_head freeable_list;
++ struct list_head frdi_idx_list;
++ int freeable_cnt;
++
++ int ltab_lnum;
++ int ltab_offs;
++ struct ubifs_lpt_lprops *ltab;
++ struct ubifs_lpt_lprops *ltab_cmt;
++ int lsave_cnt;
++ int lsave_lnum;
++ int lsave_offs;
++ int *lsave;
++ int lscan_lnum;
++
++ long long rp_size;
++ long long report_rp_size;
++ uid_t rp_uid;
++ gid_t rp_gid;
++
++ /* The below fields are used only during mounting and re-mounting */
++ int empty;
++ struct rb_root replay_tree;
++ struct list_head replay_list;
++ struct list_head replay_buds;
++ unsigned long long cs_sqnum;
++ unsigned long long replay_sqnum;
++ int need_recovery;
++ int replaying;
++ struct list_head unclean_leb_list;
++ struct ubifs_mst_node *rcvrd_mst_node;
++ struct rb_root size_tree;
++ int remounting_rw;
++ int always_chk_crc;
++ struct ubifs_mount_opts mount_opts;
++
++#ifdef CONFIG_UBIFS_FS_DEBUG
++ struct ubifs_debug_info *dbg;
++#endif
++};
++
++extern struct list_head ubifs_infos;
++extern spinlock_t ubifs_infos_lock;
++extern atomic_long_t ubifs_clean_zn_cnt;
++extern struct kmem_cache *ubifs_inode_slab;
++extern const struct super_operations ubifs_super_operations;
++extern const struct address_space_operations ubifs_file_address_operations;
++extern const struct file_operations ubifs_file_operations;
++extern const struct inode_operations ubifs_file_inode_operations;
++extern const struct file_operations ubifs_dir_operations;
++extern const struct inode_operations ubifs_dir_inode_operations;
++extern const struct inode_operations ubifs_symlink_inode_operations;
++extern struct backing_dev_info ubifs_backing_dev_info;
++extern struct ubifs_compressor *ubifs_compressors[UBIFS_COMPR_TYPES_CNT];
++
++/* io.c */
++void ubifs_ro_mode(struct ubifs_info *c, int err);
++int ubifs_wbuf_write_nolock(struct ubifs_wbuf *wbuf, void *buf, int len);
++int ubifs_wbuf_seek_nolock(struct ubifs_wbuf *wbuf, int lnum, int offs,
++ int dtype);
++int ubifs_wbuf_init(struct ubifs_info *c, struct ubifs_wbuf *wbuf);
++int ubifs_read_node(const struct ubifs_info *c, void *buf, int type, int len,
++ int lnum, int offs);
++int ubifs_read_node_wbuf(struct ubifs_wbuf *wbuf, void *buf, int type, int len,
++ int lnum, int offs);
++int ubifs_write_node(struct ubifs_info *c, void *node, int len, int lnum,
++ int offs, int dtype);
++int ubifs_check_node(const struct ubifs_info *c, const void *buf, int lnum,
++ int offs, int quiet, int must_chk_crc);
++void ubifs_prepare_node(struct ubifs_info *c, void *buf, int len, int pad);
++void ubifs_prep_grp_node(struct ubifs_info *c, void *node, int len, int last);
++int ubifs_io_init(struct ubifs_info *c);
++void ubifs_pad(const struct ubifs_info *c, void *buf, int pad);
++int ubifs_wbuf_sync_nolock(struct ubifs_wbuf *wbuf);
++int ubifs_bg_wbufs_sync(struct ubifs_info *c);
++void ubifs_wbuf_add_ino_nolock(struct ubifs_wbuf *wbuf, ino_t inum);
++int ubifs_sync_wbufs_by_inode(struct ubifs_info *c, struct inode *inode);
++
++/* scan.c */
++struct ubifs_scan_leb *ubifs_scan(const struct ubifs_info *c, int lnum,
++ int offs, void *sbuf);
++void ubifs_scan_destroy(struct ubifs_scan_leb *sleb);
++int ubifs_scan_a_node(const struct ubifs_info *c, void *buf, int len, int lnum,
++ int offs, int quiet);
++struct ubifs_scan_leb *ubifs_start_scan(const struct ubifs_info *c, int lnum,
++ int offs, void *sbuf);
++void ubifs_end_scan(const struct ubifs_info *c, struct ubifs_scan_leb *sleb,
++ int lnum, int offs);
++int ubifs_add_snod(const struct ubifs_info *c, struct ubifs_scan_leb *sleb,
++ void *buf, int offs);
++void ubifs_scanned_corruption(const struct ubifs_info *c, int lnum, int offs,
++ void *buf);
++
++/* log.c */
++void ubifs_add_bud(struct ubifs_info *c, struct ubifs_bud *bud);
++void ubifs_create_buds_lists(struct ubifs_info *c);
++int ubifs_add_bud_to_log(struct ubifs_info *c, int jhead, int lnum, int offs);
++struct ubifs_bud *ubifs_search_bud(struct ubifs_info *c, int lnum);
++struct ubifs_wbuf *ubifs_get_wbuf(struct ubifs_info *c, int lnum);
++int ubifs_log_start_commit(struct ubifs_info *c, int *ltail_lnum);
++int ubifs_log_end_commit(struct ubifs_info *c, int new_ltail_lnum);
++int ubifs_log_post_commit(struct ubifs_info *c, int old_ltail_lnum);
++int ubifs_consolidate_log(struct ubifs_info *c);
++
++/* journal.c */
++int ubifs_jnl_update(struct ubifs_info *c, const struct inode *dir,
++ const struct qstr *nm, const struct inode *inode,
++ int deletion, int xent);
++int ubifs_jnl_write_data(struct ubifs_info *c, const struct inode *inode,
++ const union ubifs_key *key, const void *buf, int len);
++int ubifs_jnl_write_inode(struct ubifs_info *c, const struct inode *inode);
++int ubifs_jnl_delete_inode(struct ubifs_info *c, const struct inode *inode);
++int ubifs_jnl_rename(struct ubifs_info *c, const struct inode *old_dir,
++ const struct dentry *old_dentry,
++ const struct inode *new_dir,
++ const struct dentry *new_dentry, int sync);
++int ubifs_jnl_truncate(struct ubifs_info *c, const struct inode *inode,
++ loff_t old_size, loff_t new_size);
++int ubifs_jnl_delete_xattr(struct ubifs_info *c, const struct inode *host,
++ const struct inode *inode, const struct qstr *nm);
++int ubifs_jnl_change_xattr(struct ubifs_info *c, const struct inode *inode1,
++ const struct inode *inode2);
++
++/* budget.c */
++int ubifs_budget_space(struct ubifs_info *c, struct ubifs_budget_req *req);
++void ubifs_release_budget(struct ubifs_info *c, struct ubifs_budget_req *req);
++void ubifs_release_dirty_inode_budget(struct ubifs_info *c,
++ struct ubifs_inode *ui);
++int ubifs_budget_inode_op(struct ubifs_info *c, struct inode *inode,
++ struct ubifs_budget_req *req);
++void ubifs_release_ino_dirty(struct ubifs_info *c, struct inode *inode,
++ struct ubifs_budget_req *req);
++void ubifs_cancel_ino_op(struct ubifs_info *c, struct inode *inode,
++ struct ubifs_budget_req *req);
++long long ubifs_get_free_space(struct ubifs_info *c);
++long long ubifs_get_free_space_nolock(struct ubifs_info *c);
++int ubifs_calc_min_idx_lebs(struct ubifs_info *c);
++void ubifs_convert_page_budget(struct ubifs_info *c);
++long long ubifs_reported_space(const struct ubifs_info *c, long long free);
++long long ubifs_calc_available(const struct ubifs_info *c, int min_idx_lebs);
++
++/* find.c */
++int ubifs_find_free_space(struct ubifs_info *c, int min_space, int *offs,
++ int squeeze);
++int ubifs_find_free_leb_for_idx(struct ubifs_info *c);
++int ubifs_find_dirty_leb(struct ubifs_info *c, struct ubifs_lprops *ret_lp,
++ int min_space, int pick_free);
++int ubifs_find_dirty_idx_leb(struct ubifs_info *c);
++int ubifs_save_dirty_idx_lnums(struct ubifs_info *c);
++
++/* tnc.c */
++int ubifs_lookup_level0(struct ubifs_info *c, const union ubifs_key *key,
++ struct ubifs_znode **zn, int *n);
++int ubifs_tnc_lookup_nm(struct ubifs_info *c, const union ubifs_key *key,
++ void *node, const struct qstr *nm);
++int ubifs_tnc_locate(struct ubifs_info *c, const union ubifs_key *key,
++ void *node, int *lnum, int *offs);
++int ubifs_tnc_add(struct ubifs_info *c, const union ubifs_key *key, int lnum,
++ int offs, int len);
++int ubifs_tnc_replace(struct ubifs_info *c, const union ubifs_key *key,
++ int old_lnum, int old_offs, int lnum, int offs, int len);
++int ubifs_tnc_add_nm(struct ubifs_info *c, const union ubifs_key *key,
++ int lnum, int offs, int len, const struct qstr *nm);
++int ubifs_tnc_remove(struct ubifs_info *c, const union ubifs_key *key);
++int ubifs_tnc_remove_nm(struct ubifs_info *c, const union ubifs_key *key,
++ const struct qstr *nm);
++int ubifs_tnc_remove_range(struct ubifs_info *c, union ubifs_key *from_key,
++ union ubifs_key *to_key);
++int ubifs_tnc_remove_ino(struct ubifs_info *c, ino_t inum);
++struct ubifs_dent_node *ubifs_tnc_next_ent(struct ubifs_info *c,
++ union ubifs_key *key,
++ const struct qstr *nm);
++void ubifs_tnc_close(struct ubifs_info *c);
++int ubifs_tnc_has_node(struct ubifs_info *c, union ubifs_key *key, int level,
++ int lnum, int offs, int is_idx);
++int ubifs_dirty_idx_node(struct ubifs_info *c, union ubifs_key *key, int level,
++ int lnum, int offs);
++/* Shared by tnc.c for tnc_commit.c */
++void destroy_old_idx(struct ubifs_info *c);
++int is_idx_node_in_tnc(struct ubifs_info *c, union ubifs_key *key, int level,
++ int lnum, int offs);
++int insert_old_idx_znode(struct ubifs_info *c, struct ubifs_znode *znode);
++int ubifs_tnc_get_bu_keys(struct ubifs_info *c, struct bu_info *bu);
++int ubifs_tnc_bulk_read(struct ubifs_info *c, struct bu_info *bu);
++
++/* tnc_misc.c */
++struct ubifs_znode *ubifs_tnc_levelorder_next(struct ubifs_znode *zr,
++ struct ubifs_znode *znode);
++int ubifs_search_zbranch(const struct ubifs_info *c,
++ const struct ubifs_znode *znode,
++ const union ubifs_key *key, int *n);
++struct ubifs_znode *ubifs_tnc_postorder_first(struct ubifs_znode *znode);
++struct ubifs_znode *ubifs_tnc_postorder_next(struct ubifs_znode *znode);
++long ubifs_destroy_tnc_subtree(struct ubifs_znode *zr);
++struct ubifs_znode *ubifs_load_znode(struct ubifs_info *c,
++ struct ubifs_zbranch *zbr,
++ struct ubifs_znode *parent, int iip);
++int ubifs_tnc_read_node(struct ubifs_info *c, struct ubifs_zbranch *zbr,
++ void *node);
++
++/* tnc_commit.c */
++int ubifs_tnc_start_commit(struct ubifs_info *c, struct ubifs_zbranch *zroot);
++int ubifs_tnc_end_commit(struct ubifs_info *c);
++
++/* shrinker.c */
++int ubifs_shrinker(int nr_to_scan, gfp_t gfp_mask);
++
++/* commit.c */
++int ubifs_bg_thread(void *info);
++void ubifs_commit_required(struct ubifs_info *c);
++void ubifs_request_bg_commit(struct ubifs_info *c);
++int ubifs_run_commit(struct ubifs_info *c);
++void ubifs_recovery_commit(struct ubifs_info *c);
++int ubifs_gc_should_commit(struct ubifs_info *c);
++void ubifs_wait_for_commit(struct ubifs_info *c);
++
++/* master.c */
++int ubifs_read_master(struct ubifs_info *c);
++int ubifs_write_master(struct ubifs_info *c);
++
++/* sb.c */
++int ubifs_read_superblock(struct ubifs_info *c);
++struct ubifs_sb_node *ubifs_read_sb_node(struct ubifs_info *c);
++int ubifs_write_sb_node(struct ubifs_info *c, struct ubifs_sb_node *sup);
++
++/* replay.c */
++int ubifs_validate_entry(struct ubifs_info *c,
++ const struct ubifs_dent_node *dent);
++int ubifs_replay_journal(struct ubifs_info *c);
++
++/* gc.c */
++int ubifs_garbage_collect(struct ubifs_info *c, int anyway);
++int ubifs_gc_start_commit(struct ubifs_info *c);
++int ubifs_gc_end_commit(struct ubifs_info *c);
++void ubifs_destroy_idx_gc(struct ubifs_info *c);
++int ubifs_get_idx_gc_leb(struct ubifs_info *c);
++int ubifs_garbage_collect_leb(struct ubifs_info *c, struct ubifs_lprops *lp);
++
++/* orphan.c */
++int ubifs_add_orphan(struct ubifs_info *c, ino_t inum);
++void ubifs_delete_orphan(struct ubifs_info *c, ino_t inum);
++int ubifs_orphan_start_commit(struct ubifs_info *c);
++int ubifs_orphan_end_commit(struct ubifs_info *c);
++int ubifs_mount_orphans(struct ubifs_info *c, int unclean, int read_only);
++int ubifs_clear_orphans(struct ubifs_info *c);
++
++/* lpt.c */
++int ubifs_calc_lpt_geom(struct ubifs_info *c);
++int ubifs_create_dflt_lpt(struct ubifs_info *c, int *main_lebs, int lpt_first,
++ int *lpt_lebs, int *big_lpt);
++int ubifs_lpt_init(struct ubifs_info *c, int rd, int wr);
++struct ubifs_lprops *ubifs_lpt_lookup(struct ubifs_info *c, int lnum);
++struct ubifs_lprops *ubifs_lpt_lookup_dirty(struct ubifs_info *c, int lnum);
++int ubifs_lpt_scan_nolock(struct ubifs_info *c, int start_lnum, int end_lnum,
++ ubifs_lpt_scan_callback scan_cb, void *data);
++
++/* Shared by lpt.c for lpt_commit.c */
++void ubifs_pack_lsave(struct ubifs_info *c, void *buf, int *lsave);
++void ubifs_pack_ltab(struct ubifs_info *c, void *buf,
++ struct ubifs_lpt_lprops *ltab);
++void ubifs_pack_pnode(struct ubifs_info *c, void *buf,
++ struct ubifs_pnode *pnode);
++void ubifs_pack_nnode(struct ubifs_info *c, void *buf,
++ struct ubifs_nnode *nnode);
++struct ubifs_pnode *ubifs_get_pnode(struct ubifs_info *c,
++ struct ubifs_nnode *parent, int iip);
++struct ubifs_nnode *ubifs_get_nnode(struct ubifs_info *c,
++ struct ubifs_nnode *parent, int iip);
++int ubifs_read_nnode(struct ubifs_info *c, struct ubifs_nnode *parent, int iip);
++void ubifs_add_lpt_dirt(struct ubifs_info *c, int lnum, int dirty);
++void ubifs_add_nnode_dirt(struct ubifs_info *c, struct ubifs_nnode *nnode);
++uint32_t ubifs_unpack_bits(uint8_t **addr, int *pos, int nrbits);
++struct ubifs_nnode *ubifs_first_nnode(struct ubifs_info *c, int *hght);
++/* Needed only in debugging code in lpt_commit.c */
++int ubifs_unpack_nnode(const struct ubifs_info *c, void *buf,
++ struct ubifs_nnode *nnode);
++
++/* lpt_commit.c */
++int ubifs_lpt_start_commit(struct ubifs_info *c);
++int ubifs_lpt_end_commit(struct ubifs_info *c);
++int ubifs_lpt_post_commit(struct ubifs_info *c);
++void ubifs_lpt_free(struct ubifs_info *c, int wr_only);
++
++/* lprops.c */
++const struct ubifs_lprops *ubifs_change_lp(struct ubifs_info *c,
++ const struct ubifs_lprops *lp,
++ int free, int dirty, int flags,
++ int idx_gc_cnt);
++void ubifs_get_lp_stats(struct ubifs_info *c, struct ubifs_lp_stats *lst);
++void ubifs_add_to_cat(struct ubifs_info *c, struct ubifs_lprops *lprops,
++ int cat);
++void ubifs_replace_cat(struct ubifs_info *c, struct ubifs_lprops *old_lprops,
++ struct ubifs_lprops *new_lprops);
++void ubifs_ensure_cat(struct ubifs_info *c, struct ubifs_lprops *lprops);
++int ubifs_categorize_lprops(const struct ubifs_info *c,
++ const struct ubifs_lprops *lprops);
++int ubifs_change_one_lp(struct ubifs_info *c, int lnum, int free, int dirty,
++ int flags_set, int flags_clean, int idx_gc_cnt);
++int ubifs_update_one_lp(struct ubifs_info *c, int lnum, int free, int dirty,
++ int flags_set, int flags_clean);
++int ubifs_read_one_lp(struct ubifs_info *c, int lnum, struct ubifs_lprops *lp);
++const struct ubifs_lprops *ubifs_fast_find_free(struct ubifs_info *c);
++const struct ubifs_lprops *ubifs_fast_find_empty(struct ubifs_info *c);
++const struct ubifs_lprops *ubifs_fast_find_freeable(struct ubifs_info *c);
++const struct ubifs_lprops *ubifs_fast_find_frdi_idx(struct ubifs_info *c);
++
++/* file.c */
++int ubifs_fsync(struct file *file, struct dentry *dentry, int datasync);
++int ubifs_setattr(struct dentry *dentry, struct iattr *attr);
++
++/* dir.c */
++struct inode *ubifs_new_inode(struct ubifs_info *c, const struct inode *dir,
++ int mode);
++int ubifs_getattr(struct vfsmount *mnt, struct dentry *dentry,
++ struct kstat *stat);
++
++/* xattr.c */
++int ubifs_setxattr(struct dentry *dentry, const char *name,
++ const void *value, size_t size, int flags);
++ssize_t ubifs_getxattr(struct dentry *dentry, const char *name, void *buf,
++ size_t size);
++ssize_t ubifs_listxattr(struct dentry *dentry, char *buffer, size_t size);
++int ubifs_removexattr(struct dentry *dentry, const char *name);
++
++/* super.c */
++struct inode *ubifs_iget(struct super_block *sb, unsigned long inum);
++
++/* recovery.c */
++int ubifs_recover_master_node(struct ubifs_info *c);
++int ubifs_write_rcvrd_mst_node(struct ubifs_info *c);
++struct ubifs_scan_leb *ubifs_recover_leb(struct ubifs_info *c, int lnum,
++ int offs, void *sbuf, int grouped);
++struct ubifs_scan_leb *ubifs_recover_log_leb(struct ubifs_info *c, int lnum,
++ int offs, void *sbuf);
++int ubifs_recover_inl_heads(const struct ubifs_info *c, void *sbuf);
++int ubifs_clean_lebs(const struct ubifs_info *c, void *sbuf);
++int ubifs_rcvry_gc_commit(struct ubifs_info *c);
++int ubifs_recover_size_accum(struct ubifs_info *c, union ubifs_key *key,
++ int deletion, loff_t new_size);
++int ubifs_recover_size(struct ubifs_info *c);
++void ubifs_destroy_size_tree(struct ubifs_info *c);
++
++/* ioctl.c */
++long ubifs_ioctl(struct file *file, unsigned int cmd, unsigned long arg);
++void ubifs_set_inode_flags(struct inode *inode);
++#ifdef CONFIG_COMPAT
++long ubifs_compat_ioctl(struct file *file, unsigned int cmd, unsigned long arg);
++#endif
++
++/* compressor.c */
++int __init ubifs_compressors_init(void);
++void ubifs_compressors_exit(void);
++void ubifs_compress(const void *in_buf, int in_len, void *out_buf, int *out_len,
++ int *compr_type);
++int ubifs_decompress(const void *buf, int len, void *out, int *out_len,
++ int compr_type);
++
++#include "debug.h"
++#include "misc.h"
++#include "key.h"
++
++#endif /* !__UBIFS_H__ */
+diff -Nurd linux-2.6.24/fs/ubifs/xattr.c ubifs-v2.6.24/fs/ubifs/xattr.c
+--- linux-2.6.24/fs/ubifs/xattr.c 1970-01-01 02:00:00.000000000 +0200
++++ ubifs-v2.6.24/fs/ubifs/xattr.c 2009-04-07 17:14:47.000000000 +0200
+@@ -0,0 +1,571 @@
++/*
++ * This file is part of UBIFS.
++ *
++ * Copyright (C) 2006-2008 Nokia Corporation.
++ *
++ * This program is free software; you can redistribute it and/or modify it
++ * under the terms of the GNU General Public License version 2 as published by
++ * the Free Software Foundation.
++ *
++ * 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, write to the Free Software Foundation, Inc., 51
++ * Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
++ *
++ * Authors: Artem Bityutskiy (Битюцкий Ðртём)
++ * Adrian Hunter
++ */
++
++/*
++ * This file implements UBIFS extended attributes support.
++ *
++ * Extended attributes are implemented as regular inodes with attached data,
++ * which limits extended attribute size to UBIFS block size (4KiB). Names of
++ * extended attributes are described by extended attribute entries (xentries),
++ * which are almost identical to directory entries, but have different key type.
++ *
++ * In other words, the situation with extended attributes is very similar to
++ * directories. Indeed, any inode (but of course not xattr inodes) may have a
++ * number of associated xentries, just like directory inodes have associated
++ * directory entries. Extended attribute entries store the name of the extended
++ * attribute, the host inode number, and the extended attribute inode number.
++ * Similarly, direntries store the name, the parent and the target inode
++ * numbers. Thus, most of the common UBIFS mechanisms may be re-used for
++ * extended attributes.
++ *
++ * The number of extended attributes is not limited, but there is Linux
++ * limitation on the maximum possible size of the list of all extended
++ * attributes associated with an inode (%XATTR_LIST_MAX), so UBIFS makes sure
++ * the sum of all extended attribute names of the inode does not exceed that
++ * limit.
++ *
++ * Extended attributes are synchronous, which means they are written to the
++ * flash media synchronously and there is no write-back for extended attribute
++ * inodes. The extended attribute values are not stored in compressed form on
++ * the media.
++ *
++ * Since extended attributes are represented by regular inodes, they are cached
++ * in the VFS inode cache. The xentries are cached in the LNC cache (see
++ * tnc.c).
++ *
++ * ACL support is not implemented.
++ */
++
++#include <linux/xattr.h>
++#include <linux/posix_acl_xattr.h>
++#include "ubifs.h"
++
++/*
++ * Limit the number of extended attributes per inode so that the total size
++ * (@xattr_size) is guaranteeded to fit in an 'unsigned int'.
++ */
++#define MAX_XATTRS_PER_INODE 65535
++
++/*
++ * Extended attribute type constants.
++ *
++ * USER_XATTR: user extended attribute ("user.*")
++ * TRUSTED_XATTR: trusted extended attribute ("trusted.*)
++ * SECURITY_XATTR: security extended attribute ("security.*")
++ */
++enum {
++ USER_XATTR,
++ TRUSTED_XATTR,
++ SECURITY_XATTR,
++};
++
++static struct inode_operations none_inode_operations;
++static struct address_space_operations none_address_operations;
++static struct file_operations none_file_operations;
++
++/**
++ * create_xattr - create an extended attribute.
++ * @c: UBIFS file-system description object
++ * @host: host inode
++ * @nm: extended attribute name
++ * @value: extended attribute value
++ * @size: size of extended attribute value
++ *
++ * This is a helper function which creates an extended attribute of name @nm
++ * and value @value for inode @host. The host inode is also updated on flash
++ * because the ctime and extended attribute accounting data changes. This
++ * function returns zero in case of success and a negative error code in case
++ * of failure.
++ */
++static int create_xattr(struct ubifs_info *c, struct inode *host,
++ const struct qstr *nm, const void *value, int size)
++{
++ int err;
++ struct inode *inode;
++ struct ubifs_inode *ui, *host_ui = ubifs_inode(host);
++ struct ubifs_budget_req req = { .new_ino = 1, .new_dent = 1,
++ .new_ino_d = ALIGN(size, 8), .dirtied_ino = 1,
++ .dirtied_ino_d = ALIGN(host_ui->data_len, 8) };
++
++ if (host_ui->xattr_cnt >= MAX_XATTRS_PER_INODE)
++ return -ENOSPC;
++ /*
++ * Linux limits the maximum size of the extended attribute names list
++ * to %XATTR_LIST_MAX. This means we should not allow creating more
++ * extended attributes if the name list becomes larger. This limitation
++ * is artificial for UBIFS, though.
++ */
++ if (host_ui->xattr_names + host_ui->xattr_cnt +
++ nm->len + 1 > XATTR_LIST_MAX)
++ return -ENOSPC;
++
++ err = ubifs_budget_space(c, &req);
++ if (err)
++ return err;
++
++ inode = ubifs_new_inode(c, host, S_IFREG | S_IRWXUGO);
++ if (IS_ERR(inode)) {
++ err = PTR_ERR(inode);
++ goto out_budg;
++ }
++
++ /* Re-define all operations to be "nothing" */
++ inode->i_mapping->a_ops = &none_address_operations;
++ inode->i_op = &none_inode_operations;
++ inode->i_fop = &none_file_operations;
++
++ inode->i_flags |= S_SYNC | S_NOATIME | S_NOCMTIME | S_NOQUOTA;
++ ui = ubifs_inode(inode);
++ ui->xattr = 1;
++ ui->flags |= UBIFS_XATTR_FL;
++ ui->data = kmalloc(size, GFP_NOFS);
++ if (!ui->data) {
++ err = -ENOMEM;
++ goto out_free;
++ }
++ memcpy(ui->data, value, size);
++ inode->i_size = ui->ui_size = size;
++ ui->data_len = size;
++
++ mutex_lock(&host_ui->ui_mutex);
++ host->i_ctime = ubifs_current_time(host);
++ host_ui->xattr_cnt += 1;
++ host_ui->xattr_size += CALC_DENT_SIZE(nm->len);
++ host_ui->xattr_size += CALC_XATTR_BYTES(size);
++ host_ui->xattr_names += nm->len;
++
++ err = ubifs_jnl_update(c, host, nm, inode, 0, 1);
++ if (err)
++ goto out_cancel;
++ mutex_unlock(&host_ui->ui_mutex);
++
++ ubifs_release_budget(c, &req);
++ insert_inode_hash(inode);
++ iput(inode);
++ return 0;
++
++out_cancel:
++ host_ui->xattr_cnt -= 1;
++ host_ui->xattr_size -= CALC_DENT_SIZE(nm->len);
++ host_ui->xattr_size -= CALC_XATTR_BYTES(size);
++ mutex_unlock(&host_ui->ui_mutex);
++out_free:
++ make_bad_inode(inode);
++ iput(inode);
++out_budg:
++ ubifs_release_budget(c, &req);
++ return err;
++}
++
++/**
++ * change_xattr - change an extended attribute.
++ * @c: UBIFS file-system description object
++ * @host: host inode
++ * @inode: extended attribute inode
++ * @value: extended attribute value
++ * @size: size of extended attribute value
++ *
++ * This helper function changes the value of extended attribute @inode with new
++ * data from @value. Returns zero in case of success and a negative error code
++ * in case of failure.
++ */
++static int change_xattr(struct ubifs_info *c, struct inode *host,
++ struct inode *inode, const void *value, int size)
++{
++ int err;
++ struct ubifs_inode *host_ui = ubifs_inode(host);
++ struct ubifs_inode *ui = ubifs_inode(inode);
++ struct ubifs_budget_req req = { .dirtied_ino = 2,
++ .dirtied_ino_d = ALIGN(size, 8) + ALIGN(host_ui->data_len, 8) };
++
++ ubifs_assert(ui->data_len == inode->i_size);
++ err = ubifs_budget_space(c, &req);
++ if (err)
++ return err;
++
++ kfree(ui->data);
++ ui->data = kmalloc(size, GFP_NOFS);
++ if (!ui->data) {
++ err = -ENOMEM;
++ goto out_free;
++ }
++ memcpy(ui->data, value, size);
++ inode->i_size = ui->ui_size = size;
++ ui->data_len = size;
++
++ mutex_lock(&host_ui->ui_mutex);
++ host->i_ctime = ubifs_current_time(host);
++ host_ui->xattr_size -= CALC_XATTR_BYTES(ui->data_len);
++ host_ui->xattr_size += CALC_XATTR_BYTES(size);
++
++ /*
++ * It is important to write the host inode after the xattr inode
++ * because if the host inode gets synchronized (via 'fsync()'), then
++ * the extended attribute inode gets synchronized, because it goes
++ * before the host inode in the write-buffer.
++ */
++ err = ubifs_jnl_change_xattr(c, inode, host);
++ if (err)
++ goto out_cancel;
++ mutex_unlock(&host_ui->ui_mutex);
++
++ ubifs_release_budget(c, &req);
++ return 0;
++
++out_cancel:
++ host_ui->xattr_size -= CALC_XATTR_BYTES(size);
++ host_ui->xattr_size += CALC_XATTR_BYTES(ui->data_len);
++ mutex_unlock(&host_ui->ui_mutex);
++ make_bad_inode(inode);
++out_free:
++ ubifs_release_budget(c, &req);
++ return err;
++}
++
++/**
++ * check_namespace - check extended attribute name-space.
++ * @nm: extended attribute name
++ *
++ * This function makes sure the extended attribute name belongs to one of the
++ * supported extended attribute name-spaces. Returns name-space index in case
++ * of success and a negative error code in case of failure.
++ */
++static int check_namespace(const struct qstr *nm)
++{
++ int type;
++
++ if (nm->len > UBIFS_MAX_NLEN)
++ return -ENAMETOOLONG;
++
++ if (!strncmp(nm->name, XATTR_TRUSTED_PREFIX,
++ XATTR_TRUSTED_PREFIX_LEN)) {
++ if (nm->name[sizeof(XATTR_TRUSTED_PREFIX) - 1] == '\0')
++ return -EINVAL;
++ type = TRUSTED_XATTR;
++ } else if (!strncmp(nm->name, XATTR_USER_PREFIX,
++ XATTR_USER_PREFIX_LEN)) {
++ if (nm->name[XATTR_USER_PREFIX_LEN] == '\0')
++ return -EINVAL;
++ type = USER_XATTR;
++ } else if (!strncmp(nm->name, XATTR_SECURITY_PREFIX,
++ XATTR_SECURITY_PREFIX_LEN)) {
++ if (nm->name[sizeof(XATTR_SECURITY_PREFIX) - 1] == '\0')
++ return -EINVAL;
++ type = SECURITY_XATTR;
++ } else
++ return -EOPNOTSUPP;
++
++ return type;
++}
++
++static struct inode *iget_xattr(struct ubifs_info *c, ino_t inum)
++{
++ struct inode *inode;
++
++ inode = ubifs_iget(c->vfs_sb, inum);
++ if (IS_ERR(inode)) {
++ ubifs_err("dead extended attribute entry, error %d",
++ (int)PTR_ERR(inode));
++ return inode;
++ }
++ if (ubifs_inode(inode)->xattr)
++ return inode;
++ ubifs_err("corrupt extended attribute entry");
++ iput(inode);
++ return ERR_PTR(-EINVAL);
++}
++
++int ubifs_setxattr(struct dentry *dentry, const char *name,
++ const void *value, size_t size, int flags)
++{
++ struct inode *inode, *host = dentry->d_inode;
++ struct ubifs_info *c = host->i_sb->s_fs_info;
++ struct qstr nm = { .name = name, .len = strlen(name) };
++ struct ubifs_dent_node *xent;
++ union ubifs_key key;
++ int err, type;
++
++ dbg_gen("xattr '%s', host ino %lu ('%.*s'), size %zd", name,
++ host->i_ino, dentry->d_name.len, dentry->d_name.name, size);
++ ubifs_assert(mutex_is_locked(&host->i_mutex));
++
++ if (size > UBIFS_MAX_INO_DATA)
++ return -ERANGE;
++
++ type = check_namespace(&nm);
++ if (type < 0)
++ return type;
++
++ xent = kmalloc(UBIFS_MAX_XENT_NODE_SZ, GFP_NOFS);
++ if (!xent)
++ return -ENOMEM;
++
++ /*
++ * The extended attribute entries are stored in LNC, so multiple
++ * look-ups do not involve reading the flash.
++ */
++ xent_key_init(c, &key, host->i_ino, &nm);
++ err = ubifs_tnc_lookup_nm(c, &key, xent, &nm);
++ if (err) {
++ if (err != -ENOENT)
++ goto out_free;
++
++ if (flags & XATTR_REPLACE)
++ /* We are asked not to create the xattr */
++ err = -ENODATA;
++ else
++ err = create_xattr(c, host, &nm, value, size);
++ goto out_free;
++ }
++
++ if (flags & XATTR_CREATE) {
++ /* We are asked not to replace the xattr */
++ err = -EEXIST;
++ goto out_free;
++ }
++
++ inode = iget_xattr(c, le64_to_cpu(xent->inum));
++ if (IS_ERR(inode)) {
++ err = PTR_ERR(inode);
++ goto out_free;
++ }
++
++ err = change_xattr(c, host, inode, value, size);
++ iput(inode);
++
++out_free:
++ kfree(xent);
++ return err;
++}
++
++ssize_t ubifs_getxattr(struct dentry *dentry, const char *name, void *buf,
++ size_t size)
++{
++ struct inode *inode, *host = dentry->d_inode;
++ struct ubifs_info *c = host->i_sb->s_fs_info;
++ struct qstr nm = { .name = name, .len = strlen(name) };
++ struct ubifs_inode *ui;
++ struct ubifs_dent_node *xent;
++ union ubifs_key key;
++ int err;
++
++ dbg_gen("xattr '%s', ino %lu ('%.*s'), buf size %zd", name,
++ host->i_ino, dentry->d_name.len, dentry->d_name.name, size);
++
++ err = check_namespace(&nm);
++ if (err < 0)
++ return err;
++
++ xent = kmalloc(UBIFS_MAX_XENT_NODE_SZ, GFP_NOFS);
++ if (!xent)
++ return -ENOMEM;
++
++ xent_key_init(c, &key, host->i_ino, &nm);
++ err = ubifs_tnc_lookup_nm(c, &key, xent, &nm);
++ if (err) {
++ if (err == -ENOENT)
++ err = -ENODATA;
++ goto out_unlock;
++ }
++
++ inode = iget_xattr(c, le64_to_cpu(xent->inum));
++ if (IS_ERR(inode)) {
++ err = PTR_ERR(inode);
++ goto out_unlock;
++ }
++
++ ui = ubifs_inode(inode);
++ ubifs_assert(inode->i_size == ui->data_len);
++ ubifs_assert(ubifs_inode(host)->xattr_size > ui->data_len);
++
++ if (buf) {
++ /* If @buf is %NULL we are supposed to return the length */
++ if (ui->data_len > size) {
++ dbg_err("buffer size %zd, xattr len %d",
++ size, ui->data_len);
++ err = -ERANGE;
++ goto out_iput;
++ }
++
++ memcpy(buf, ui->data, ui->data_len);
++ }
++ err = ui->data_len;
++
++out_iput:
++ iput(inode);
++out_unlock:
++ kfree(xent);
++ return err;
++}
++
++ssize_t ubifs_listxattr(struct dentry *dentry, char *buffer, size_t size)
++{
++ union ubifs_key key;
++ struct inode *host = dentry->d_inode;
++ struct ubifs_info *c = host->i_sb->s_fs_info;
++ struct ubifs_inode *host_ui = ubifs_inode(host);
++ struct ubifs_dent_node *xent, *pxent = NULL;
++ int err, len, written = 0;
++ struct qstr nm = { .name = NULL };
++
++ dbg_gen("ino %lu ('%.*s'), buffer size %zd", host->i_ino,
++ dentry->d_name.len, dentry->d_name.name, size);
++
++ len = host_ui->xattr_names + host_ui->xattr_cnt;
++ if (!buffer)
++ /*
++ * We should return the minimum buffer size which will fit a
++ * null-terminated list of all the extended attribute names.
++ */
++ return len;
++
++ if (len > size)
++ return -ERANGE;
++
++ lowest_xent_key(c, &key, host->i_ino);
++ while (1) {
++ int type;
++
++ xent = ubifs_tnc_next_ent(c, &key, &nm);
++ if (IS_ERR(xent)) {
++ err = PTR_ERR(xent);
++ break;
++ }
++
++ nm.name = xent->name;
++ nm.len = le16_to_cpu(xent->nlen);
++
++ type = check_namespace(&nm);
++ if (unlikely(type < 0)) {
++ err = type;
++ break;
++ }
++
++ /* Show trusted namespace only for "power" users */
++ if (type != TRUSTED_XATTR || capable(CAP_SYS_ADMIN)) {
++ memcpy(buffer + written, nm.name, nm.len + 1);
++ written += nm.len + 1;
++ }
++
++ kfree(pxent);
++ pxent = xent;
++ key_read(c, &xent->key, &key);
++ }
++
++ kfree(pxent);
++ if (err != -ENOENT) {
++ ubifs_err("cannot find next direntry, error %d", err);
++ return err;
++ }
++
++ ubifs_assert(written <= size);
++ return written;
++}
++
++static int remove_xattr(struct ubifs_info *c, struct inode *host,
++ struct inode *inode, const struct qstr *nm)
++{
++ int err;
++ struct ubifs_inode *host_ui = ubifs_inode(host);
++ struct ubifs_inode *ui = ubifs_inode(inode);
++ struct ubifs_budget_req req = { .dirtied_ino = 2, .mod_dent = 1,
++ .dirtied_ino_d = ALIGN(host_ui->data_len, 8) };
++
++ ubifs_assert(ui->data_len == inode->i_size);
++
++ err = ubifs_budget_space(c, &req);
++ if (err)
++ return err;
++
++ mutex_lock(&host_ui->ui_mutex);
++ host->i_ctime = ubifs_current_time(host);
++ host_ui->xattr_cnt -= 1;
++ host_ui->xattr_size -= CALC_DENT_SIZE(nm->len);
++ host_ui->xattr_size -= CALC_XATTR_BYTES(ui->data_len);
++ host_ui->xattr_names -= nm->len;
++
++ err = ubifs_jnl_delete_xattr(c, host, inode, nm);
++ if (err)
++ goto out_cancel;
++ mutex_unlock(&host_ui->ui_mutex);
++
++ ubifs_release_budget(c, &req);
++ return 0;
++
++out_cancel:
++ host_ui->xattr_cnt += 1;
++ host_ui->xattr_size += CALC_DENT_SIZE(nm->len);
++ host_ui->xattr_size += CALC_XATTR_BYTES(ui->data_len);
++ mutex_unlock(&host_ui->ui_mutex);
++ ubifs_release_budget(c, &req);
++ make_bad_inode(inode);
++ return err;
++}
++
++int ubifs_removexattr(struct dentry *dentry, const char *name)
++{
++ struct inode *inode, *host = dentry->d_inode;
++ struct ubifs_info *c = host->i_sb->s_fs_info;
++ struct qstr nm = { .name = name, .len = strlen(name) };
++ struct ubifs_dent_node *xent;
++ union ubifs_key key;
++ int err;
++
++ dbg_gen("xattr '%s', ino %lu ('%.*s')", name,
++ host->i_ino, dentry->d_name.len, dentry->d_name.name);
++ ubifs_assert(mutex_is_locked(&host->i_mutex));
++
++ err = check_namespace(&nm);
++ if (err < 0)
++ return err;
++
++ xent = kmalloc(UBIFS_MAX_XENT_NODE_SZ, GFP_NOFS);
++ if (!xent)
++ return -ENOMEM;
++
++ xent_key_init(c, &key, host->i_ino, &nm);
++ err = ubifs_tnc_lookup_nm(c, &key, xent, &nm);
++ if (err) {
++ if (err == -ENOENT)
++ err = -ENODATA;
++ goto out_free;
++ }
++
++ inode = iget_xattr(c, le64_to_cpu(xent->inum));
++ if (IS_ERR(inode)) {
++ err = PTR_ERR(inode);
++ goto out_free;
++ }
++
++ ubifs_assert(inode->i_nlink == 1);
++ inode->i_nlink = 0;
++ err = remove_xattr(c, host, inode, &nm);
++ if (err)
++ inode->i_nlink = 1;
++
++ /* If @i_nlink is 0, 'iput()' will delete the inode */
++ iput(inode);
++
++out_free:
++ kfree(xent);
++ return err;
++}
+diff -Nurd linux-2.6.24/include/linux/fs.h ubifs-v2.6.24/include/linux/fs.h
+--- linux-2.6.24/include/linux/fs.h 2008-01-25 00:58:37.000000000 +0200
++++ ubifs-v2.6.24/include/linux/fs.h 2009-04-07 17:14:47.000000000 +0200
+@@ -1670,6 +1670,8 @@
+ extern int invalidate_inode_pages2(struct address_space *mapping);
+ extern int invalidate_inode_pages2_range(struct address_space *mapping,
+ pgoff_t start, pgoff_t end);
++extern void generic_sync_sb_inodes(struct super_block *sb,
++ struct writeback_control *wbc);
+ extern int write_inode_now(struct inode *, int);
+ extern int filemap_fdatawrite(struct address_space *);
+ extern int filemap_flush(struct address_space *);
+diff -Nurd linux-2.6.24/include/linux/mtd/ubi.h ubifs-v2.6.24/include/linux/mtd/ubi.h
+--- linux-2.6.24/include/linux/mtd/ubi.h 2008-01-25 00:58:37.000000000 +0200
++++ ubifs-v2.6.24/include/linux/mtd/ubi.h 2009-04-07 17:14:47.000000000 +0200
+@@ -26,23 +26,6 @@
+ #include <mtd/ubi-user.h>
+
+ /*
+- * UBI data type hint constants.
+- *
+- * UBI_LONGTERM: long-term data
+- * UBI_SHORTTERM: short-term data
+- * UBI_UNKNOWN: data persistence is unknown
+- *
+- * These constants are used when data is written to UBI volumes in order to
+- * help the UBI wear-leveling unit to find more appropriate physical
+- * eraseblocks.
+- */
+-enum {
+- UBI_LONGTERM = 1,
+- UBI_SHORTTERM,
+- UBI_UNKNOWN
+-};
+-
+-/*
+ * enum ubi_open_mode - UBI volume open mode constants.
+ *
+ * UBI_READONLY: read-only mode
+@@ -62,13 +45,13 @@
+ * @size: how many physical eraseblocks are reserved for this volume
+ * @used_bytes: how many bytes of data this volume contains
+ * @used_ebs: how many physical eraseblocks of this volume actually contain any
+- * data
++ * data
+ * @vol_type: volume type (%UBI_DYNAMIC_VOLUME or %UBI_STATIC_VOLUME)
+ * @corrupted: non-zero if the volume is corrupted (static volumes only)
+ * @upd_marker: non-zero if the volume has update marker set
+ * @alignment: volume alignment
+ * @usable_leb_size: how many bytes are available in logical eraseblocks of
+- * this volume
++ * this volume
+ * @name_len: volume name length
+ * @name: volume name
+ * @cdev: UBI volume character device major and minor numbers
+@@ -167,7 +150,9 @@
+ int len, int dtype);
+ int ubi_leb_erase(struct ubi_volume_desc *desc, int lnum);
+ int ubi_leb_unmap(struct ubi_volume_desc *desc, int lnum);
++int ubi_leb_map(struct ubi_volume_desc *desc, int lnum, int dtype);
+ int ubi_is_mapped(struct ubi_volume_desc *desc, int lnum);
++int ubi_sync(int ubi_num);
+
+ /*
+ * This function is the same as the 'ubi_leb_read()' function, but it does not
+diff -Nurd linux-2.6.24/include/mtd/Kbuild ubifs-v2.6.24/include/mtd/Kbuild
+--- linux-2.6.24/include/mtd/Kbuild 2008-01-25 00:58:37.000000000 +0200
++++ ubifs-v2.6.24/include/mtd/Kbuild 2009-04-07 17:14:47.000000000 +0200
+@@ -3,5 +3,4 @@
+ header-y += mtd-abi.h
+ header-y += mtd-user.h
+ header-y += nftl-user.h
+-header-y += ubi-header.h
+ header-y += ubi-user.h
+diff -Nurd linux-2.6.24/include/mtd/ubi-header.h ubifs-v2.6.24/include/mtd/ubi-header.h
+--- linux-2.6.24/include/mtd/ubi-header.h 2008-01-25 00:58:37.000000000 +0200
++++ ubifs-v2.6.24/include/mtd/ubi-header.h 1970-01-01 02:00:00.000000000 +0200
+@@ -1,331 +0,0 @@
+-/*
+- * Copyright (c) International Business Machines Corp., 2006
+- *
+- * 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 2 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, write to the Free Software
+- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+- *
+- * Authors: Artem Bityutskiy (Битюцкий Ðртём)
+- * Thomas Gleixner
+- * Frank Haverkamp
+- * Oliver Lohmann
+- * Andreas Arnez
+- */
+-
+-/*
+- * This file defines the layout of UBI headers and all the other UBI on-flash
+- * data structures. May be included by user-space.
+- */
+-
+-#ifndef __UBI_HEADER_H__
+-#define __UBI_HEADER_H__
+-
+-#include <asm/byteorder.h>
+-
+-/* The version of UBI images supported by this implementation */
+-#define UBI_VERSION 1
+-
+-/* The highest erase counter value supported by this implementation */
+-#define UBI_MAX_ERASECOUNTER 0x7FFFFFFF
+-
+-/* The initial CRC32 value used when calculating CRC checksums */
+-#define UBI_CRC32_INIT 0xFFFFFFFFU
+-
+-/* Erase counter header magic number (ASCII "UBI#") */
+-#define UBI_EC_HDR_MAGIC 0x55424923
+-/* Volume identifier header magic number (ASCII "UBI!") */
+-#define UBI_VID_HDR_MAGIC 0x55424921
+-
+-/*
+- * Volume type constants used in the volume identifier header.
+- *
+- * @UBI_VID_DYNAMIC: dynamic volume
+- * @UBI_VID_STATIC: static volume
+- */
+-enum {
+- UBI_VID_DYNAMIC = 1,
+- UBI_VID_STATIC = 2
+-};
+-
+-/*
+- * Compatibility constants used by internal volumes.
+- *
+- * @UBI_COMPAT_DELETE: delete this internal volume before anything is written
+- * to the flash
+- * @UBI_COMPAT_RO: attach this device in read-only mode
+- * @UBI_COMPAT_PRESERVE: preserve this internal volume - do not touch its
+- * physical eraseblocks, don't allow the wear-leveling unit to move them
+- * @UBI_COMPAT_REJECT: reject this UBI image
+- */
+-enum {
+- UBI_COMPAT_DELETE = 1,
+- UBI_COMPAT_RO = 2,
+- UBI_COMPAT_PRESERVE = 4,
+- UBI_COMPAT_REJECT = 5
+-};
+-
+-/* Sizes of UBI headers */
+-#define UBI_EC_HDR_SIZE sizeof(struct ubi_ec_hdr)
+-#define UBI_VID_HDR_SIZE sizeof(struct ubi_vid_hdr)
+-
+-/* Sizes of UBI headers without the ending CRC */
+-#define UBI_EC_HDR_SIZE_CRC (UBI_EC_HDR_SIZE - sizeof(__be32))
+-#define UBI_VID_HDR_SIZE_CRC (UBI_VID_HDR_SIZE - sizeof(__be32))
+-
+-/**
+- * struct ubi_ec_hdr - UBI erase counter header.
+- * @magic: erase counter header magic number (%UBI_EC_HDR_MAGIC)
+- * @version: version of UBI implementation which is supposed to accept this
+- * UBI image
+- * @padding1: reserved for future, zeroes
+- * @ec: the erase counter
+- * @vid_hdr_offset: where the VID header starts
+- * @data_offset: where the user data start
+- * @padding2: reserved for future, zeroes
+- * @hdr_crc: erase counter header CRC checksum
+- *
+- * The erase counter header takes 64 bytes and has a plenty of unused space for
+- * future usage. The unused fields are zeroed. The @version field is used to
+- * indicate the version of UBI implementation which is supposed to be able to
+- * work with this UBI image. If @version is greater then the current UBI
+- * version, the image is rejected. This may be useful in future if something
+- * is changed radically. This field is duplicated in the volume identifier
+- * header.
+- *
+- * The @vid_hdr_offset and @data_offset fields contain the offset of the the
+- * volume identifier header and user data, relative to the beginning of the
+- * physical eraseblock. These values have to be the same for all physical
+- * eraseblocks.
+- */
+-struct ubi_ec_hdr {
+- __be32 magic;
+- __u8 version;
+- __u8 padding1[3];
+- __be64 ec; /* Warning: the current limit is 31-bit anyway! */
+- __be32 vid_hdr_offset;
+- __be32 data_offset;
+- __u8 padding2[36];
+- __be32 hdr_crc;
+-} __attribute__ ((packed));
+-
+-/**
+- * struct ubi_vid_hdr - on-flash UBI volume identifier header.
+- * @magic: volume identifier header magic number (%UBI_VID_HDR_MAGIC)
+- * @version: UBI implementation version which is supposed to accept this UBI
+- * image (%UBI_VERSION)
+- * @vol_type: volume type (%UBI_VID_DYNAMIC or %UBI_VID_STATIC)
+- * @copy_flag: if this logical eraseblock was copied from another physical
+- * eraseblock (for wear-leveling reasons)
+- * @compat: compatibility of this volume (%0, %UBI_COMPAT_DELETE,
+- * %UBI_COMPAT_IGNORE, %UBI_COMPAT_PRESERVE, or %UBI_COMPAT_REJECT)
+- * @vol_id: ID of this volume
+- * @lnum: logical eraseblock number
+- * @leb_ver: version of this logical eraseblock (IMPORTANT: obsolete, to be
+- * removed, kept only for not breaking older UBI users)
+- * @data_size: how many bytes of data this logical eraseblock contains
+- * @used_ebs: total number of used logical eraseblocks in this volume
+- * @data_pad: how many bytes at the end of this physical eraseblock are not
+- * used
+- * @data_crc: CRC checksum of the data stored in this logical eraseblock
+- * @padding1: reserved for future, zeroes
+- * @sqnum: sequence number
+- * @padding2: reserved for future, zeroes
+- * @hdr_crc: volume identifier header CRC checksum
+- *
+- * The @sqnum is the value of the global sequence counter at the time when this
+- * VID header was created. The global sequence counter is incremented each time
+- * UBI writes a new VID header to the flash, i.e. when it maps a logical
+- * eraseblock to a new physical eraseblock. The global sequence counter is an
+- * unsigned 64-bit integer and we assume it never overflows. The @sqnum
+- * (sequence number) is used to distinguish between older and newer versions of
+- * logical eraseblocks.
+- *
+- * There are 2 situations when there may be more then one physical eraseblock
+- * corresponding to the same logical eraseblock, i.e., having the same @vol_id
+- * and @lnum values in the volume identifier header. Suppose we have a logical
+- * eraseblock L and it is mapped to the physical eraseblock P.
+- *
+- * 1. Because UBI may erase physical eraseblocks asynchronously, the following
+- * situation is possible: L is asynchronously erased, so P is scheduled for
+- * erasure, then L is written to,i.e. mapped to another physical eraseblock P1,
+- * so P1 is written to, then an unclean reboot happens. Result - there are 2
+- * physical eraseblocks P and P1 corresponding to the same logical eraseblock
+- * L. But P1 has greater sequence number, so UBI picks P1 when it attaches the
+- * flash.
+- *
+- * 2. From time to time UBI moves logical eraseblocks to other physical
+- * eraseblocks for wear-leveling reasons. If, for example, UBI moves L from P
+- * to P1, and an unclean reboot happens before P is physically erased, there
+- * are two physical eraseblocks P and P1 corresponding to L and UBI has to
+- * select one of them when the flash is attached. The @sqnum field says which
+- * PEB is the original (obviously P will have lower @sqnum) and the copy. But
+- * it is not enough to select the physical eraseblock with the higher sequence
+- * number, because the unclean reboot could have happen in the middle of the
+- * copying process, so the data in P is corrupted. It is also not enough to
+- * just select the physical eraseblock with lower sequence number, because the
+- * data there may be old (consider a case if more data was added to P1 after
+- * the copying). Moreover, the unclean reboot may happen when the erasure of P
+- * was just started, so it result in unstable P, which is "mostly" OK, but
+- * still has unstable bits.
+- *
+- * UBI uses the @copy_flag field to indicate that this logical eraseblock is a
+- * copy. UBI also calculates data CRC when the data is moved and stores it at
+- * the @data_crc field of the copy (P1). So when UBI needs to pick one physical
+- * eraseblock of two (P or P1), the @copy_flag of the newer one (P1) is
+- * examined. If it is cleared, the situation* is simple and the newer one is
+- * picked. If it is set, the data CRC of the copy (P1) is examined. If the CRC
+- * checksum is correct, this physical eraseblock is selected (P1). Otherwise
+- * the older one (P) is selected.
+- *
+- * Note, there is an obsolete @leb_ver field which was used instead of @sqnum
+- * in the past. But it is not used anymore and we keep it in order to be able
+- * to deal with old UBI images. It will be removed at some point.
+- *
+- * There are 2 sorts of volumes in UBI: user volumes and internal volumes.
+- * Internal volumes are not seen from outside and are used for various internal
+- * UBI purposes. In this implementation there is only one internal volume - the
+- * layout volume. Internal volumes are the main mechanism of UBI extensions.
+- * For example, in future one may introduce a journal internal volume. Internal
+- * volumes have their own reserved range of IDs.
+- *
+- * The @compat field is only used for internal volumes and contains the "degree
+- * of their compatibility". It is always zero for user volumes. This field
+- * provides a mechanism to introduce UBI extensions and to be still compatible
+- * with older UBI binaries. For example, if someone introduced a journal in
+- * future, he would probably use %UBI_COMPAT_DELETE compatibility for the
+- * journal volume. And in this case, older UBI binaries, which know nothing
+- * about the journal volume, would just delete this volume and work perfectly
+- * fine. This is similar to what Ext2fs does when it is fed by an Ext3fs image
+- * - it just ignores the Ext3fs journal.
+- *
+- * The @data_crc field contains the CRC checksum of the contents of the logical
+- * eraseblock if this is a static volume. In case of dynamic volumes, it does
+- * not contain the CRC checksum as a rule. The only exception is when the
+- * data of the physical eraseblock was moved by the wear-leveling unit, then
+- * the wear-leveling unit calculates the data CRC and stores it in the
+- * @data_crc field. And of course, the @copy_flag is %in this case.
+- *
+- * The @data_size field is used only for static volumes because UBI has to know
+- * how many bytes of data are stored in this eraseblock. For dynamic volumes,
+- * this field usually contains zero. The only exception is when the data of the
+- * physical eraseblock was moved to another physical eraseblock for
+- * wear-leveling reasons. In this case, UBI calculates CRC checksum of the
+- * contents and uses both @data_crc and @data_size fields. In this case, the
+- * @data_size field contains data size.
+- *
+- * The @used_ebs field is used only for static volumes and indicates how many
+- * eraseblocks the data of the volume takes. For dynamic volumes this field is
+- * not used and always contains zero.
+- *
+- * The @data_pad is calculated when volumes are created using the alignment
+- * parameter. So, effectively, the @data_pad field reduces the size of logical
+- * eraseblocks of this volume. This is very handy when one uses block-oriented
+- * software (say, cramfs) on top of the UBI volume.
+- */
+-struct ubi_vid_hdr {
+- __be32 magic;
+- __u8 version;
+- __u8 vol_type;
+- __u8 copy_flag;
+- __u8 compat;
+- __be32 vol_id;
+- __be32 lnum;
+- __be32 leb_ver; /* obsolete, to be removed, don't use */
+- __be32 data_size;
+- __be32 used_ebs;
+- __be32 data_pad;
+- __be32 data_crc;
+- __u8 padding1[4];
+- __be64 sqnum;
+- __u8 padding2[12];
+- __be32 hdr_crc;
+-} __attribute__ ((packed));
+-
+-/* Internal UBI volumes count */
+-#define UBI_INT_VOL_COUNT 1
+-
+-/*
+- * Starting ID of internal volumes. There is reserved room for 4096 internal
+- * volumes.
+- */
+-#define UBI_INTERNAL_VOL_START (0x7FFFFFFF - 4096)
+-
+-/* The layout volume contains the volume table */
+-
+-#define UBI_LAYOUT_VOL_ID UBI_INTERNAL_VOL_START
+-#define UBI_LAYOUT_VOLUME_EBS 2
+-#define UBI_LAYOUT_VOLUME_NAME "layout volume"
+-#define UBI_LAYOUT_VOLUME_COMPAT UBI_COMPAT_REJECT
+-
+-/* The maximum number of volumes per one UBI device */
+-#define UBI_MAX_VOLUMES 128
+-
+-/* The maximum volume name length */
+-#define UBI_VOL_NAME_MAX 127
+-
+-/* Size of the volume table record */
+-#define UBI_VTBL_RECORD_SIZE sizeof(struct ubi_vtbl_record)
+-
+-/* Size of the volume table record without the ending CRC */
+-#define UBI_VTBL_RECORD_SIZE_CRC (UBI_VTBL_RECORD_SIZE - sizeof(__be32))
+-
+-/**
+- * struct ubi_vtbl_record - a record in the volume table.
+- * @reserved_pebs: how many physical eraseblocks are reserved for this volume
+- * @alignment: volume alignment
+- * @data_pad: how many bytes are unused at the end of the each physical
+- * eraseblock to satisfy the requested alignment
+- * @vol_type: volume type (%UBI_DYNAMIC_VOLUME or %UBI_STATIC_VOLUME)
+- * @upd_marker: if volume update was started but not finished
+- * @name_len: volume name length
+- * @name: the volume name
+- * @padding2: reserved, zeroes
+- * @crc: a CRC32 checksum of the record
+- *
+- * The volume table records are stored in the volume table, which is stored in
+- * the layout volume. The layout volume consists of 2 logical eraseblock, each
+- * of which contains a copy of the volume table (i.e., the volume table is
+- * duplicated). The volume table is an array of &struct ubi_vtbl_record
+- * objects indexed by the volume ID.
+- *
+- * If the size of the logical eraseblock is large enough to fit
+- * %UBI_MAX_VOLUMES records, the volume table contains %UBI_MAX_VOLUMES
+- * records. Otherwise, it contains as many records as it can fit (i.e., size of
+- * logical eraseblock divided by sizeof(struct ubi_vtbl_record)).
+- *
+- * The @upd_marker flag is used to implement volume update. It is set to %1
+- * before update and set to %0 after the update. So if the update operation was
+- * interrupted, UBI knows that the volume is corrupted.
+- *
+- * The @alignment field is specified when the volume is created and cannot be
+- * later changed. It may be useful, for example, when a block-oriented file
+- * system works on top of UBI. The @data_pad field is calculated using the
+- * logical eraseblock size and @alignment. The alignment must be multiple to the
+- * minimal flash I/O unit. If @alignment is 1, all the available space of
+- * the physical eraseblocks is used.
+- *
+- * Empty records contain all zeroes and the CRC checksum of those zeroes.
+- */
+-struct ubi_vtbl_record {
+- __be32 reserved_pebs;
+- __be32 alignment;
+- __be32 data_pad;
+- __u8 vol_type;
+- __u8 upd_marker;
+- __be16 name_len;
+- __u8 name[UBI_VOL_NAME_MAX+1];
+- __u8 padding2[24];
+- __be32 crc;
+-} __attribute__ ((packed));
+-
+-#endif /* !__UBI_HEADER_H__ */
+diff -Nurd linux-2.6.24/include/mtd/ubi-user.h ubifs-v2.6.24/include/mtd/ubi-user.h
+--- linux-2.6.24/include/mtd/ubi-user.h 2008-01-25 00:58:37.000000000 +0200
++++ ubifs-v2.6.24/include/mtd/ubi-user.h 2009-04-07 17:14:47.000000000 +0200
+@@ -22,33 +22,55 @@
+ #define __UBI_USER_H__
+
+ /*
++ * UBI device creation (the same as MTD device attachment)
++ * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
++ *
++ * MTD devices may be attached using %UBI_IOCATT ioctl command of the UBI
++ * control device. The caller has to properly fill and pass
++ * &struct ubi_attach_req object - UBI will attach the MTD device specified in
++ * the request and return the newly created UBI device number as the ioctl
++ * return value.
++ *
++ * UBI device deletion (the same as MTD device detachment)
++ * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
++ *
++ * An UBI device maybe deleted with %UBI_IOCDET ioctl command of the UBI
++ * control device.
++ *
+ * UBI volume creation
+ * ~~~~~~~~~~~~~~~~~~~
+ *
+- * UBI volumes are created via the %UBI_IOCMKVOL IOCTL command of UBI character
++ * UBI volumes are created via the %UBI_IOCMKVOL ioctl command of UBI character
+ * device. A &struct ubi_mkvol_req object has to be properly filled and a
+- * pointer to it has to be passed to the IOCTL.
++ * pointer to it has to be passed to the ioctl.
+ *
+ * UBI volume deletion
+ * ~~~~~~~~~~~~~~~~~~~
+ *
+- * To delete a volume, the %UBI_IOCRMVOL IOCTL command of the UBI character
++ * To delete a volume, the %UBI_IOCRMVOL ioctl command of the UBI character
+ * device should be used. A pointer to the 32-bit volume ID hast to be passed
+- * to the IOCTL.
++ * to the ioctl.
+ *
+ * UBI volume re-size
+ * ~~~~~~~~~~~~~~~~~~
+ *
+- * To re-size a volume, the %UBI_IOCRSVOL IOCTL command of the UBI character
++ * To re-size a volume, the %UBI_IOCRSVOL ioctl command of the UBI character
+ * device should be used. A &struct ubi_rsvol_req object has to be properly
+- * filled and a pointer to it has to be passed to the IOCTL.
++ * filled and a pointer to it has to be passed to the ioctl.
++ *
++ * UBI volumes re-name
++ * ~~~~~~~~~~~~~~~~~~~
++ *
++ * To re-name several volumes atomically at one go, the %UBI_IOCRNVOL command
++ * of the UBI character device should be used. A &struct ubi_rnvol_req object
++ * has to be properly filled and a pointer to it has to be passed to the ioctl.
+ *
+ * UBI volume update
+ * ~~~~~~~~~~~~~~~~~
+ *
+- * Volume update should be done via the %UBI_IOCVOLUP IOCTL command of the
++ * Volume update should be done via the %UBI_IOCVOLUP ioctl command of the
+ * corresponding UBI volume character device. A pointer to a 64-bit update
+- * size should be passed to the IOCTL. After then, UBI expects user to write
++ * size should be passed to the ioctl. After this, UBI expects user to write
+ * this number of bytes to the volume character device. The update is finished
+ * when the claimed number of bytes is passed. So, the volume update sequence
+ * is something like:
+@@ -57,19 +79,73 @@
+ * ioctl(fd, UBI_IOCVOLUP, &image_size);
+ * write(fd, buf, image_size);
+ * close(fd);
++ *
++ * Logical eraseblock erase
++ * ~~~~~~~~~~~~~~~~~~~~~~~~
++ *
++ * To erase a logical eraseblock, the %UBI_IOCEBER ioctl command of the
++ * corresponding UBI volume character device should be used. This command
++ * unmaps the requested logical eraseblock, makes sure the corresponding
++ * physical eraseblock is successfully erased, and returns.
++ *
++ * Atomic logical eraseblock change
++ * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
++ *
++ * Atomic logical eraseblock change operation is called using the %UBI_IOCEBCH
++ * ioctl command of the corresponding UBI volume character device. A pointer to
++ * a &struct ubi_leb_change_req object has to be passed to the ioctl. Then the
++ * user is expected to write the requested amount of bytes (similarly to what
++ * should be done in case of the "volume update" ioctl).
++ *
++ * Logical eraseblock map
++ * ~~~~~~~~~~~~~~~~~~~~~
++ *
++ * To map a logical eraseblock to a physical eraseblock, the %UBI_IOCEBMAP
++ * ioctl command should be used. A pointer to a &struct ubi_map_req object is
++ * expected to be passed. The ioctl maps the requested logical eraseblock to
++ * a physical eraseblock and returns. Only non-mapped logical eraseblocks can
++ * be mapped. If the logical eraseblock specified in the request is already
++ * mapped to a physical eraseblock, the ioctl fails and returns error.
++ *
++ * Logical eraseblock unmap
++ * ~~~~~~~~~~~~~~~~~~~~~~~~
++ *
++ * To unmap a logical eraseblock to a physical eraseblock, the %UBI_IOCEBUNMAP
++ * ioctl command should be used. The ioctl unmaps the logical eraseblocks,
++ * schedules corresponding physical eraseblock for erasure, and returns. Unlike
++ * the "LEB erase" command, it does not wait for the physical eraseblock being
++ * erased. Note, the side effect of this is that if an unclean reboot happens
++ * after the unmap ioctl returns, you may find the LEB mapped again to the same
++ * physical eraseblock after the UBI is run again.
++ *
++ * Check if logical eraseblock is mapped
++ * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
++ *
++ * To check if a logical eraseblock is mapped to a physical eraseblock, the
++ * %UBI_IOCEBISMAP ioctl command should be used. It returns %0 if the LEB is
++ * not mapped, and %1 if it is mapped.
++ *
++ * Set an UBI volume property
++ * ~~~~~~~~~~~~~~~~~~~~~~~~~
++ *
++ * To set an UBI volume property the %UBI_IOCSETPROP ioctl command should be
++ * used. A pointer to a &struct ubi_set_prop_req object is expected to be
++ * passed. The object describes which property should be set, and to which value
++ * it should be set.
+ */
+
+ /*
+- * When a new volume is created, users may either specify the volume number they
+- * want to create or to let UBI automatically assign a volume number using this
+- * constant.
++ * When a new UBI volume or UBI device is created, users may either specify the
++ * volume/device number they want to create or to let UBI automatically assign
++ * the number using these constants.
+ */
+ #define UBI_VOL_NUM_AUTO (-1)
++#define UBI_DEV_NUM_AUTO (-1)
+
+ /* Maximum volume name length */
+ #define UBI_MAX_VOLUME_NAME 127
+
+-/* IOCTL commands of UBI character devices */
++/* ioctl commands of UBI character devices */
+
+ #define UBI_IOC_MAGIC 'o'
+
+@@ -79,15 +155,59 @@
+ #define UBI_IOCRMVOL _IOW(UBI_IOC_MAGIC, 1, int32_t)
+ /* Re-size an UBI volume */
+ #define UBI_IOCRSVOL _IOW(UBI_IOC_MAGIC, 2, struct ubi_rsvol_req)
++/* Re-name volumes */
++#define UBI_IOCRNVOL _IOW(UBI_IOC_MAGIC, 3, struct ubi_rnvol_req)
+
+-/* IOCTL commands of UBI volume character devices */
++/* ioctl commands of the UBI control character device */
++
++#define UBI_CTRL_IOC_MAGIC 'o'
++
++/* Attach an MTD device */
++#define UBI_IOCATT _IOW(UBI_CTRL_IOC_MAGIC, 64, struct ubi_attach_req)
++/* Detach an MTD device */
++#define UBI_IOCDET _IOW(UBI_CTRL_IOC_MAGIC, 65, int32_t)
++
++/* ioctl commands of UBI volume character devices */
+
+ #define UBI_VOL_IOC_MAGIC 'O'
+
+ /* Start UBI volume update */
+ #define UBI_IOCVOLUP _IOW(UBI_VOL_IOC_MAGIC, 0, int64_t)
+-/* An eraseblock erasure command, used for debugging, disabled by default */
++/* LEB erasure command, used for debugging, disabled by default */
+ #define UBI_IOCEBER _IOW(UBI_VOL_IOC_MAGIC, 1, int32_t)
++/* Atomic LEB change command */
++#define UBI_IOCEBCH _IOW(UBI_VOL_IOC_MAGIC, 2, int32_t)
++/* Map LEB command */
++#define UBI_IOCEBMAP _IOW(UBI_VOL_IOC_MAGIC, 3, struct ubi_map_req)
++/* Unmap LEB command */
++#define UBI_IOCEBUNMAP _IOW(UBI_VOL_IOC_MAGIC, 4, int32_t)
++/* Check if LEB is mapped command */
++#define UBI_IOCEBISMAP _IOR(UBI_VOL_IOC_MAGIC, 5, int32_t)
++/* Set an UBI volume property */
++#define UBI_IOCSETPROP _IOW(UBI_VOL_IOC_MAGIC, 6, struct ubi_set_prop_req)
++
++/* Maximum MTD device name length supported by UBI */
++#define MAX_UBI_MTD_NAME_LEN 127
++
++/* Maximum amount of UBI volumes that can be re-named at one go */
++#define UBI_MAX_RNVOL 32
++
++/*
++ * UBI data type hint constants.
++ *
++ * UBI_LONGTERM: long-term data
++ * UBI_SHORTTERM: short-term data
++ * UBI_UNKNOWN: data persistence is unknown
++ *
++ * These constants are used when data is written to UBI volumes in order to
++ * help the UBI wear-leveling unit to find more appropriate physical
++ * eraseblocks.
++ */
++enum {
++ UBI_LONGTERM = 1,
++ UBI_SHORTTERM = 2,
++ UBI_UNKNOWN = 3,
++};
+
+ /*
+ * UBI volume type constants.
+@@ -97,22 +217,68 @@
+ */
+ enum {
+ UBI_DYNAMIC_VOLUME = 3,
+- UBI_STATIC_VOLUME = 4
++ UBI_STATIC_VOLUME = 4,
++};
++
++/*
++ * UBI set property ioctl constants
++ *
++ * @UBI_PROP_DIRECT_WRITE: allow / disallow user to directly write and
++ * erase individual eraseblocks on dynamic volumes
++ */
++enum {
++ UBI_PROP_DIRECT_WRITE = 1,
++};
++
++/**
++ * struct ubi_attach_req - attach MTD device request.
++ * @ubi_num: UBI device number to create
++ * @mtd_num: MTD device number to attach
++ * @vid_hdr_offset: VID header offset (use defaults if %0)
++ * @padding: reserved for future, not used, has to be zeroed
++ *
++ * This data structure is used to specify MTD device UBI has to attach and the
++ * parameters it has to use. The number which should be assigned to the new UBI
++ * device is passed in @ubi_num. UBI may automatically assign the number if
++ * @UBI_DEV_NUM_AUTO is passed. In this case, the device number is returned in
++ * @ubi_num.
++ *
++ * Most applications should pass %0 in @vid_hdr_offset to make UBI use default
++ * offset of the VID header within physical eraseblocks. The default offset is
++ * the next min. I/O unit after the EC header. For example, it will be offset
++ * 512 in case of a 512 bytes page NAND flash with no sub-page support. Or
++ * it will be 512 in case of a 2KiB page NAND flash with 4 512-byte sub-pages.
++ *
++ * But in rare cases, if this optimizes things, the VID header may be placed to
++ * a different offset. For example, the boot-loader might do things faster if
++ * the VID header sits at the end of the first 2KiB NAND page with 4 sub-pages.
++ * As the boot-loader would not normally need to read EC headers (unless it
++ * needs UBI in RW mode), it might be faster to calculate ECC. This is weird
++ * example, but it real-life example. So, in this example, @vid_hdr_offer would
++ * be 2KiB-64 bytes = 1984. Note, that this position is not even 512-bytes
++ * aligned, which is OK, as UBI is clever enough to realize this is 4th
++ * sub-page of the first page and add needed padding.
++ */
++struct ubi_attach_req {
++ int32_t ubi_num;
++ int32_t mtd_num;
++ int32_t vid_hdr_offset;
++ int8_t padding[12];
+ };
+
+ /**
+ * struct ubi_mkvol_req - volume description data structure used in
+- * volume creation requests.
++ * volume creation requests.
+ * @vol_id: volume number
+ * @alignment: volume alignment
+ * @bytes: volume size in bytes
+ * @vol_type: volume type (%UBI_DYNAMIC_VOLUME or %UBI_STATIC_VOLUME)
+- * @padding1: reserved for future, not used
++ * @padding1: reserved for future, not used, has to be zeroed
+ * @name_len: volume name length
+- * @padding2: reserved for future, not used
++ * @padding2: reserved for future, not used, has to be zeroed
+ * @name: volume name
+ *
+- * This structure is used by userspace programs when creating new volumes. The
++ * This structure is used by user-space programs when creating new volumes. The
+ * @used_bytes field is only necessary when creating static volumes.
+ *
+ * The @alignment field specifies the required alignment of the volume logical
+@@ -139,7 +305,7 @@
+ int8_t padding1;
+ int16_t name_len;
+ int8_t padding2[4];
+- char name[UBI_MAX_VOLUME_NAME+1];
++ char name[UBI_MAX_VOLUME_NAME + 1];
+ } __attribute__ ((packed));
+
+ /**
+@@ -158,4 +324,87 @@
+ int32_t vol_id;
+ } __attribute__ ((packed));
+
++/**
++ * struct ubi_rnvol_req - volumes re-name request.
++ * @count: count of volumes to re-name
++ * @padding1: reserved for future, not used, has to be zeroed
++ * @vol_id: ID of the volume to re-name
++ * @name_len: name length
++ * @padding2: reserved for future, not used, has to be zeroed
++ * @name: new volume name
++ *
++ * UBI allows to re-name up to %32 volumes at one go. The count of volumes to
++ * re-name is specified in the @count field. The ID of the volumes to re-name
++ * and the new names are specified in the @vol_id and @name fields.
++ *
++ * The UBI volume re-name operation is atomic, which means that should power cut
++ * happen, the volumes will have either old name or new name. So the possible
++ * use-cases of this command is atomic upgrade. Indeed, to upgrade, say, volumes
++ * A and B one may create temporary volumes %A1 and %B1 with the new contents,
++ * then atomically re-name A1->A and B1->B, in which case old %A and %B will
++ * be removed.
++ *
++ * If it is not desirable to remove old A and B, the re-name request has to
++ * contain 4 entries: A1->A, A->A1, B1->B, B->B1, in which case old A1 and B1
++ * become A and B, and old A and B will become A1 and B1.
++ *
++ * It is also OK to request: A1->A, A1->X, B1->B, B->Y, in which case old A1
++ * and B1 become A and B, and old A and B become X and Y.
++ *
++ * In other words, in case of re-naming into an existing volume name, the
++ * existing volume is removed, unless it is re-named as well at the same
++ * re-name request.
++ */
++struct ubi_rnvol_req {
++ int32_t count;
++ int8_t padding1[12];
++ struct {
++ int32_t vol_id;
++ int16_t name_len;
++ int8_t padding2[2];
++ char name[UBI_MAX_VOLUME_NAME + 1];
++ } ents[UBI_MAX_RNVOL];
++} __attribute__ ((packed));
++
++/**
++ * struct ubi_leb_change_req - a data structure used in atomic LEB change
++ * requests.
++ * @lnum: logical eraseblock number to change
++ * @bytes: how many bytes will be written to the logical eraseblock
++ * @dtype: data type (%UBI_LONGTERM, %UBI_SHORTTERM, %UBI_UNKNOWN)
++ * @padding: reserved for future, not used, has to be zeroed
++ */
++struct ubi_leb_change_req {
++ int32_t lnum;
++ int32_t bytes;
++ int8_t dtype;
++ int8_t padding[7];
++} __attribute__ ((packed));
++
++/**
++ * struct ubi_map_req - a data structure used in map LEB requests.
++ * @lnum: logical eraseblock number to unmap
++ * @dtype: data type (%UBI_LONGTERM, %UBI_SHORTTERM, %UBI_UNKNOWN)
++ * @padding: reserved for future, not used, has to be zeroed
++ */
++struct ubi_map_req {
++ int32_t lnum;
++ int8_t dtype;
++ int8_t padding[3];
++} __attribute__ ((packed));
++
++
++/**
++ * struct ubi_set_prop_req - a data structure used to set an ubi volume
++ * property.
++ * @property: property to set (%UBI_PROP_DIRECT_WRITE)
++ * @padding: reserved for future, not used, has to be zeroed
++ * @value: value to set
++ */
++struct ubi_set_prop_req {
++ uint8_t property;
++ uint8_t padding[7];
++ uint64_t value;
++} __attribute__ ((packed));
++
+ #endif /* __UBI_USER_H__ */
+diff -Nurd linux-2.6.24/init/do_mounts.c ubifs-v2.6.24/init/do_mounts.c
+--- linux-2.6.24/init/do_mounts.c 2008-01-25 00:58:37.000000000 +0200
++++ ubifs-v2.6.24/init/do_mounts.c 2009-04-07 17:14:47.000000000 +0200
+@@ -440,7 +440,8 @@
+
+ if (saved_root_name[0]) {
+ root_device_name = saved_root_name;
+- if (!strncmp(root_device_name, "mtd", 3)) {
++ if (!strncmp(root_device_name, "mtd", 3) ||
++ !strncmp(root_device_name, "ubi", 3)) {
+ mount_block_root(root_device_name, root_mountflags);
+ goto out;
+ }
diff --git a/recipes/linux/linux-2.6.26/topas910/defconfig b/recipes/linux/linux-2.6.26/topas910/defconfig
new file mode 100644
index 0000000000..b4e29a51ab
--- /dev/null
+++ b/recipes/linux/linux-2.6.26/topas910/defconfig
@@ -0,0 +1,1145 @@
+#
+# Automatically generated make config: don't edit
+# Linux kernel version: 2.6.26.5
+# Wed Nov 12 22:49:19 2008
+#
+CONFIG_ARM=y
+CONFIG_SYS_SUPPORTS_APM_EMULATION=y
+# CONFIG_GENERIC_GPIO is not set
+# CONFIG_GENERIC_TIME is not set
+CONFIG_GENERIC_CLOCKEVENTS=y
+CONFIG_MMU=y
+# CONFIG_NO_IOPORT is not set
+CONFIG_GENERIC_HARDIRQS=y
+CONFIG_STACKTRACE_SUPPORT=y
+CONFIG_LOCKDEP_SUPPORT=y
+CONFIG_TRACE_IRQFLAGS_SUPPORT=y
+CONFIG_HARDIRQS_SW_RESEND=y
+CONFIG_GENERIC_IRQ_PROBE=y
+CONFIG_RWSEM_GENERIC_SPINLOCK=y
+# CONFIG_ARCH_HAS_ILOG2_U32 is not set
+# CONFIG_ARCH_HAS_ILOG2_U64 is not set
+CONFIG_GENERIC_HWEIGHT=y
+CONFIG_GENERIC_CALIBRATE_DELAY=y
+CONFIG_ARCH_SUPPORTS_AOUT=y
+CONFIG_ZONE_DMA=y
+CONFIG_VECTORS_BASE=0xffff0000
+CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
+
+#
+# General setup
+#
+CONFIG_EXPERIMENTAL=y
+CONFIG_BROKEN_ON_SMP=y
+CONFIG_INIT_ENV_ARG_LIMIT=32
+CONFIG_LOCALVERSION=""
+CONFIG_LOCALVERSION_AUTO=y
+CONFIG_SWAP=y
+CONFIG_SYSVIPC=y
+CONFIG_SYSVIPC_SYSCTL=y
+# CONFIG_POSIX_MQUEUE is not set
+# CONFIG_BSD_PROCESS_ACCT is not set
+# CONFIG_TASKSTATS is not set
+# CONFIG_AUDIT is not set
+# CONFIG_IKCONFIG is not set
+CONFIG_LOG_BUF_SHIFT=14
+# CONFIG_CGROUPS is not set
+# CONFIG_GROUP_SCHED is not set
+CONFIG_SYSFS_DEPRECATED=y
+CONFIG_SYSFS_DEPRECATED_V2=y
+# CONFIG_RELAY is not set
+CONFIG_NAMESPACES=y
+# CONFIG_UTS_NS is not set
+# CONFIG_IPC_NS is not set
+# CONFIG_USER_NS is not set
+# CONFIG_PID_NS is not set
+CONFIG_BLK_DEV_INITRD=y
+CONFIG_INITRAMFS_SOURCE=""
+CONFIG_CC_OPTIMIZE_FOR_SIZE=y
+CONFIG_SYSCTL=y
+# CONFIG_EMBEDDED is not set
+CONFIG_UID16=y
+CONFIG_SYSCTL_SYSCALL=y
+CONFIG_SYSCTL_SYSCALL_CHECK=y
+CONFIG_KALLSYMS=y
+# CONFIG_KALLSYMS_EXTRA_PASS is not set
+CONFIG_HOTPLUG=y
+CONFIG_PRINTK=y
+CONFIG_BUG=y
+CONFIG_ELF_CORE=y
+CONFIG_COMPAT_BRK=y
+CONFIG_BASE_FULL=y
+CONFIG_FUTEX=y
+CONFIG_ANON_INODES=y
+CONFIG_EPOLL=y
+CONFIG_SIGNALFD=y
+CONFIG_TIMERFD=y
+CONFIG_EVENTFD=y
+CONFIG_SHMEM=y
+CONFIG_VM_EVENT_COUNTERS=y
+CONFIG_SLAB=y
+# CONFIG_SLUB is not set
+# CONFIG_SLOB is not set
+# CONFIG_PROFILING is not set
+# CONFIG_MARKERS is not set
+CONFIG_HAVE_OPROFILE=y
+# CONFIG_KPROBES is not set
+CONFIG_HAVE_KPROBES=y
+CONFIG_HAVE_KRETPROBES=y
+# CONFIG_HAVE_DMA_ATTRS is not set
+CONFIG_PROC_PAGE_MONITOR=y
+CONFIG_SLABINFO=y
+CONFIG_RT_MUTEXES=y
+# CONFIG_TINY_SHMEM is not set
+CONFIG_BASE_SMALL=0
+CONFIG_MODULES=y
+# CONFIG_MODULE_FORCE_LOAD is not set
+CONFIG_MODULE_UNLOAD=y
+# CONFIG_MODULE_FORCE_UNLOAD is not set
+# CONFIG_MODVERSIONS is not set
+# CONFIG_MODULE_SRCVERSION_ALL is not set
+CONFIG_KMOD=y
+CONFIG_BLOCK=y
+# CONFIG_LBD is not set
+# CONFIG_BLK_DEV_IO_TRACE is not set
+# CONFIG_LSF is not set
+# CONFIG_BLK_DEV_BSG is not set
+
+#
+# IO Schedulers
+#
+CONFIG_IOSCHED_NOOP=y
+CONFIG_IOSCHED_AS=y
+CONFIG_IOSCHED_DEADLINE=y
+CONFIG_IOSCHED_CFQ=y
+CONFIG_DEFAULT_AS=y
+# CONFIG_DEFAULT_DEADLINE is not set
+# CONFIG_DEFAULT_CFQ is not set
+# CONFIG_DEFAULT_NOOP is not set
+CONFIG_DEFAULT_IOSCHED="anticipatory"
+CONFIG_CLASSIC_RCU=y
+
+#
+# System Type
+#
+# CONFIG_ARCH_AAEC2000 is not set
+# CONFIG_ARCH_INTEGRATOR is not set
+# CONFIG_ARCH_REALVIEW is not set
+# CONFIG_ARCH_VERSATILE is not set
+# CONFIG_ARCH_AT91 is not set
+# CONFIG_ARCH_CLPS7500 is not set
+# CONFIG_ARCH_CLPS711X is not set
+# CONFIG_ARCH_CO285 is not set
+# CONFIG_ARCH_EBSA110 is not set
+# CONFIG_ARCH_EP93XX is not set
+# CONFIG_ARCH_FOOTBRIDGE is not set
+# CONFIG_ARCH_NETX is not set
+# CONFIG_ARCH_H720X is not set
+# CONFIG_ARCH_IMX is not set
+CONFIG_ARCH_TMPA910=y
+# CONFIG_ARCH_IOP13XX is not set
+# CONFIG_ARCH_IOP32X is not set
+# CONFIG_ARCH_IOP33X is not set
+# CONFIG_ARCH_IXP23XX is not set
+# CONFIG_ARCH_IXP2000 is not set
+# CONFIG_ARCH_IXP4XX is not set
+# CONFIG_ARCH_L7200 is not set
+# CONFIG_ARCH_KS8695 is not set
+# CONFIG_ARCH_NS9XXX is not set
+# CONFIG_ARCH_MXC is not set
+# CONFIG_ARCH_ORION5X is not set
+# CONFIG_ARCH_PNX4008 is not set
+# CONFIG_ARCH_PXA is not set
+# CONFIG_ARCH_RPC is not set
+# CONFIG_ARCH_SA1100 is not set
+# CONFIG_ARCH_S3C2410 is not set
+# CONFIG_ARCH_SHARK is not set
+# CONFIG_ARCH_LH7A40X is not set
+# CONFIG_ARCH_DAVINCI is not set
+# CONFIG_ARCH_OMAP is not set
+# CONFIG_ARCH_MSM7X00A is not set
+
+#
+# Boot options
+#
+
+#
+# Power management
+#
+
+#
+# Processor Type
+#
+CONFIG_CPU_32=y
+CONFIG_CPU_ARM926T=y
+CONFIG_CPU_32v5=y
+CONFIG_CPU_ABRT_EV5TJ=y
+CONFIG_CPU_PABRT_NOIFAR=y
+CONFIG_CPU_CACHE_VIVT=y
+CONFIG_CPU_COPY_V4WB=y
+CONFIG_CPU_TLB_V4WBI=y
+CONFIG_CPU_CP15=y
+CONFIG_CPU_CP15_MMU=y
+
+#
+# Processor Features
+#
+CONFIG_ARM_THUMB=y
+# CONFIG_CPU_ICACHE_DISABLE is not set
+# CONFIG_CPU_DCACHE_DISABLE is not set
+# CONFIG_CPU_DCACHE_WRITETHROUGH is not set
+# CONFIG_CPU_CACHE_ROUND_ROBIN is not set
+# CONFIG_OUTER_CACHE is not set
+
+#
+# Bus support
+#
+# CONFIG_PCI_SYSCALL is not set
+# CONFIG_ARCH_SUPPORTS_MSI is not set
+# CONFIG_PCCARD is not set
+
+#
+# Kernel Features
+#
+# CONFIG_TICK_ONESHOT is not set
+CONFIG_GENERIC_CLOCKEVENTS_BUILD=y
+# CONFIG_PREEMPT is not set
+CONFIG_HZ=100
+CONFIG_AEABI=y
+# CONFIG_OABI_COMPAT is not set
+# CONFIG_ARCH_DISCONTIGMEM_ENABLE is not set
+CONFIG_SELECT_MEMORY_MODEL=y
+CONFIG_FLATMEM_MANUAL=y
+# CONFIG_DISCONTIGMEM_MANUAL is not set
+# CONFIG_SPARSEMEM_MANUAL is not set
+CONFIG_FLATMEM=y
+CONFIG_FLAT_NODE_MEM_MAP=y
+# CONFIG_SPARSEMEM_STATIC is not set
+# CONFIG_SPARSEMEM_VMEMMAP_ENABLE is not set
+CONFIG_PAGEFLAGS_EXTENDED=y
+CONFIG_SPLIT_PTLOCK_CPUS=4096
+# CONFIG_RESOURCES_64BIT is not set
+CONFIG_ZONE_DMA_FLAG=1
+CONFIG_BOUNCE=y
+CONFIG_VIRT_TO_BUS=y
+CONFIG_ALIGNMENT_TRAP=y
+
+#
+# Boot options
+#
+CONFIG_ZBOOT_ROM_TEXT=0
+CONFIG_ZBOOT_ROM_BSS=0
+CONFIG_CMDLINE="mtdparts=physmap-flash.0:256k(bootloader)ro,2048k(kernel),-(root) root=/dev/mtdblock2 rootfstype=jffs2"
+# CONFIG_XIP_KERNEL is not set
+# CONFIG_KEXEC is not set
+
+#
+# Floating point emulation
+#
+
+#
+# At least one emulation must be selected
+#
+CONFIG_VFP=y
+
+#
+# Userspace binary formats
+#
+CONFIG_BINFMT_ELF=y
+# CONFIG_BINFMT_AOUT is not set
+CONFIG_BINFMT_MISC=y
+
+#
+# Power management options
+#
+CONFIG_PM=y
+# CONFIG_PM_DEBUG is not set
+CONFIG_PM_SLEEP=y
+CONFIG_SUSPEND=y
+CONFIG_SUSPEND_FREEZER=y
+CONFIG_APM_EMULATION=y
+CONFIG_ARCH_SUSPEND_POSSIBLE=y
+
+#
+# Networking
+#
+CONFIG_NET=y
+
+#
+# Networking options
+#
+CONFIG_PACKET=y
+CONFIG_PACKET_MMAP=y
+CONFIG_UNIX=y
+CONFIG_XFRM=y
+# CONFIG_XFRM_USER is not set
+# CONFIG_XFRM_SUB_POLICY is not set
+# CONFIG_XFRM_MIGRATE is not set
+# CONFIG_XFRM_STATISTICS is not set
+# CONFIG_NET_KEY is not set
+CONFIG_INET=y
+CONFIG_IP_MULTICAST=y
+# CONFIG_IP_ADVANCED_ROUTER is not set
+CONFIG_IP_FIB_HASH=y
+CONFIG_IP_PNP=y
+CONFIG_IP_PNP_DHCP=y
+CONFIG_IP_PNP_BOOTP=y
+CONFIG_IP_PNP_RARP=y
+CONFIG_NET_IPIP=y
+# CONFIG_NET_IPGRE is not set
+# CONFIG_IP_MROUTE is not set
+# CONFIG_ARPD is not set
+CONFIG_SYN_COOKIES=y
+# CONFIG_INET_AH is not set
+# CONFIG_INET_ESP is not set
+# CONFIG_INET_IPCOMP is not set
+# CONFIG_INET_XFRM_TUNNEL is not set
+CONFIG_INET_TUNNEL=y
+CONFIG_INET_XFRM_MODE_TRANSPORT=y
+CONFIG_INET_XFRM_MODE_TUNNEL=y
+CONFIG_INET_XFRM_MODE_BEET=y
+# CONFIG_INET_LRO is not set
+CONFIG_INET_DIAG=y
+CONFIG_INET_TCP_DIAG=y
+# CONFIG_TCP_CONG_ADVANCED is not set
+CONFIG_TCP_CONG_CUBIC=y
+CONFIG_DEFAULT_TCP_CONG="cubic"
+# CONFIG_TCP_MD5SIG is not set
+# CONFIG_IPV6 is not set
+# CONFIG_NETWORK_SECMARK is not set
+# CONFIG_NETFILTER is not set
+# CONFIG_IP_DCCP is not set
+# CONFIG_IP_SCTP is not set
+# CONFIG_TIPC is not set
+# CONFIG_ATM is not set
+# CONFIG_BRIDGE is not set
+# CONFIG_VLAN_8021Q is not set
+# CONFIG_DECNET is not set
+# CONFIG_LLC2 is not set
+# CONFIG_IPX is not set
+# CONFIG_ATALK is not set
+# CONFIG_X25 is not set
+# CONFIG_LAPB is not set
+# CONFIG_ECONET is not set
+# CONFIG_WAN_ROUTER is not set
+# CONFIG_NET_SCHED is not set
+
+#
+# Network testing
+#
+# CONFIG_NET_PKTGEN is not set
+# CONFIG_HAMRADIO is not set
+# CONFIG_CAN is not set
+# CONFIG_IRDA is not set
+# CONFIG_BT is not set
+# CONFIG_AF_RXRPC is not set
+
+#
+# Wireless
+#
+# CONFIG_CFG80211 is not set
+# CONFIG_WIRELESS_EXT is not set
+# CONFIG_MAC80211 is not set
+# CONFIG_IEEE80211 is not set
+# CONFIG_RFKILL is not set
+# CONFIG_NET_9P is not set
+
+#
+# Device Drivers
+#
+
+#
+# Generic Driver Options
+#
+CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
+CONFIG_STANDALONE=y
+CONFIG_PREVENT_FIRMWARE_BUILD=y
+# CONFIG_FW_LOADER is not set
+# CONFIG_SYS_HYPERVISOR is not set
+# CONFIG_CONNECTOR is not set
+CONFIG_MTD=y
+# CONFIG_MTD_DEBUG is not set
+# CONFIG_MTD_CONCAT is not set
+CONFIG_MTD_PARTITIONS=y
+# CONFIG_MTD_REDBOOT_PARTS is not set
+CONFIG_MTD_CMDLINE_PARTS=y
+# CONFIG_MTD_AFS_PARTS is not set
+# CONFIG_MTD_AR7_PARTS is not set
+
+#
+# User Modules And Translation Layers
+#
+CONFIG_MTD_CHAR=y
+CONFIG_MTD_BLKDEVS=y
+CONFIG_MTD_BLOCK=y
+CONFIG_FTL=y
+# CONFIG_NFTL is not set
+# CONFIG_INFTL is not set
+# CONFIG_RFD_FTL is not set
+# CONFIG_SSFDC is not set
+# CONFIG_MTD_OOPS is not set
+
+#
+# RAM/ROM/Flash chip drivers
+#
+CONFIG_MTD_CFI=y
+CONFIG_MTD_JEDECPROBE=y
+CONFIG_MTD_GEN_PROBE=y
+# CONFIG_MTD_CFI_ADV_OPTIONS is not set
+# CONFIG_MTD_CFI_NOSWAP is not set
+# CONFIG_MTD_CFI_BE_BYTE_SWAP is not set
+# CONFIG_MTD_CFI_LE_BYTE_SWAP is not set
+CONFIG_MTD_MAP_BANK_WIDTH_1=y
+CONFIG_MTD_MAP_BANK_WIDTH_2=y
+CONFIG_MTD_MAP_BANK_WIDTH_4=y
+# CONFIG_MTD_MAP_BANK_WIDTH_8 is not set
+# CONFIG_MTD_MAP_BANK_WIDTH_16 is not set
+# CONFIG_MTD_MAP_BANK_WIDTH_32 is not set
+CONFIG_MTD_CFI_I1=y
+CONFIG_MTD_CFI_I2=y
+# CONFIG_MTD_CFI_I4 is not set
+# CONFIG_MTD_CFI_I8 is not set
+CONFIG_MTD_CFI_INTELEXT=y
+CONFIG_MTD_CFI_AMDSTD=y
+CONFIG_MTD_CFI_STAA=y
+CONFIG_MTD_CFI_UTIL=y
+# CONFIG_MTD_RAM is not set
+# CONFIG_MTD_ROM is not set
+# CONFIG_MTD_ABSENT is not set
+
+#
+# Mapping drivers for chip access
+#
+CONFIG_MTD_COMPLEX_MAPPINGS=y
+CONFIG_MTD_PHYSMAP=y
+CONFIG_MTD_PHYSMAP_START=0x21000000
+CONFIG_MTD_PHYSMAP_LEN=0x04000000
+CONFIG_MTD_PHYSMAP_BANKWIDTH=2
+# CONFIG_MTD_ARM_INTEGRATOR is not set
+# CONFIG_MTD_IMPA7 is not set
+# CONFIG_MTD_PLATRAM is not set
+
+#
+# Self-contained MTD device drivers
+#
+# CONFIG_MTD_SLRAM is not set
+# CONFIG_MTD_PHRAM is not set
+# CONFIG_MTD_MTDRAM is not set
+# CONFIG_MTD_BLOCK2MTD is not set
+
+#
+# Disk-On-Chip Device Drivers
+#
+# CONFIG_MTD_DOC2000 is not set
+# CONFIG_MTD_DOC2001 is not set
+# CONFIG_MTD_DOC2001PLUS is not set
+CONFIG_MTD_NAND=y
+CONFIG_MTD_NAND_VERIFY_WRITE=y
+# CONFIG_MTD_NAND_ECC_SMC is not set
+# CONFIG_MTD_NAND_MUSEUM_IDS is not set
+CONFIG_MTD_NAND_IDS=y
+# CONFIG_MTD_NAND_DISKONCHIP is not set
+# CONFIG_MTD_NAND_NANDSIM is not set
+# CONFIG_MTD_NAND_PLATFORM is not set
+# CONFIG_MTD_ALAUDA is not set
+# CONFIG_MTD_ONENAND is not set
+
+#
+# UBI - Unsorted block images
+#
+# CONFIG_MTD_UBI is not set
+# CONFIG_PARPORT is not set
+CONFIG_BLK_DEV=y
+# CONFIG_BLK_DEV_COW_COMMON is not set
+CONFIG_BLK_DEV_LOOP=y
+# CONFIG_BLK_DEV_CRYPTOLOOP is not set
+# CONFIG_BLK_DEV_NBD is not set
+# CONFIG_BLK_DEV_UB is not set
+CONFIG_BLK_DEV_RAM=y
+CONFIG_BLK_DEV_RAM_COUNT=1
+CONFIG_BLK_DEV_RAM_SIZE=32768
+# CONFIG_BLK_DEV_XIP is not set
+# CONFIG_CDROM_PKTCDVD is not set
+# CONFIG_ATA_OVER_ETH is not set
+# CONFIG_MISC_DEVICES is not set
+CONFIG_HAVE_IDE=y
+# CONFIG_IDE is not set
+
+#
+# SCSI device support
+#
+# CONFIG_RAID_ATTRS is not set
+CONFIG_SCSI=y
+CONFIG_SCSI_DMA=y
+# CONFIG_SCSI_TGT is not set
+# CONFIG_SCSI_NETLINK is not set
+CONFIG_SCSI_PROC_FS=y
+
+#
+# SCSI support type (disk, tape, CD-ROM)
+#
+CONFIG_BLK_DEV_SD=y
+# CONFIG_CHR_DEV_ST is not set
+# CONFIG_CHR_DEV_OSST is not set
+CONFIG_BLK_DEV_SR=y
+# CONFIG_BLK_DEV_SR_VENDOR is not set
+CONFIG_CHR_DEV_SG=y
+# CONFIG_CHR_DEV_SCH is not set
+
+#
+# Some SCSI devices (e.g. CD jukebox) support multiple LUNs
+#
+# CONFIG_SCSI_MULTI_LUN is not set
+# CONFIG_SCSI_CONSTANTS is not set
+# CONFIG_SCSI_LOGGING is not set
+# CONFIG_SCSI_SCAN_ASYNC is not set
+CONFIG_SCSI_WAIT_SCAN=m
+
+#
+# SCSI Transports
+#
+# CONFIG_SCSI_SPI_ATTRS is not set
+# CONFIG_SCSI_FC_ATTRS is not set
+# CONFIG_SCSI_ISCSI_ATTRS is not set
+# CONFIG_SCSI_SAS_LIBSAS is not set
+# CONFIG_SCSI_SRP_ATTRS is not set
+CONFIG_SCSI_LOWLEVEL=y
+# CONFIG_ISCSI_TCP is not set
+# CONFIG_SCSI_DEBUG is not set
+# CONFIG_ATA is not set
+# CONFIG_MD is not set
+CONFIG_NETDEVICES=y
+# CONFIG_NETDEVICES_MULTIQUEUE is not set
+# CONFIG_DUMMY is not set
+# CONFIG_BONDING is not set
+# CONFIG_MACVLAN is not set
+# CONFIG_EQUALIZER is not set
+# CONFIG_TUN is not set
+# CONFIG_VETH is not set
+# CONFIG_PHYLIB is not set
+CONFIG_NET_ETHERNET=y
+CONFIG_MII=y
+# CONFIG_AX88796 is not set
+# CONFIG_SMC91X is not set
+CONFIG_DM9000=y
+CONFIG_DM9000_DEBUGLEVEL=4
+# CONFIG_IBM_NEW_EMAC_ZMII is not set
+# CONFIG_IBM_NEW_EMAC_RGMII is not set
+# CONFIG_IBM_NEW_EMAC_TAH is not set
+# CONFIG_IBM_NEW_EMAC_EMAC4 is not set
+# CONFIG_B44 is not set
+# CONFIG_NETDEV_1000 is not set
+# CONFIG_NETDEV_10000 is not set
+
+#
+# Wireless LAN
+#
+# CONFIG_WLAN_PRE80211 is not set
+# CONFIG_WLAN_80211 is not set
+# CONFIG_IWLWIFI_LEDS is not set
+
+#
+# USB Network Adapters
+#
+# CONFIG_USB_CATC is not set
+# CONFIG_USB_KAWETH is not set
+# CONFIG_USB_PEGASUS is not set
+# CONFIG_USB_RTL8150 is not set
+# CONFIG_USB_USBNET is not set
+# CONFIG_WAN is not set
+# CONFIG_PPP is not set
+# CONFIG_SLIP is not set
+# CONFIG_NETCONSOLE is not set
+# CONFIG_NETPOLL is not set
+# CONFIG_NET_POLL_CONTROLLER is not set
+# CONFIG_ISDN is not set
+
+#
+# Input device support
+#
+CONFIG_INPUT=y
+# CONFIG_INPUT_FF_MEMLESS is not set
+# CONFIG_INPUT_POLLDEV is not set
+
+#
+# Userland interfaces
+#
+CONFIG_INPUT_MOUSEDEV=y
+# CONFIG_INPUT_MOUSEDEV_PSAUX is not set
+CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024
+CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768
+# CONFIG_INPUT_JOYDEV is not set
+CONFIG_INPUT_EVDEV=y
+# CONFIG_INPUT_EVBUG is not set
+
+#
+# Input Device Drivers
+#
+CONFIG_INPUT_KEYBOARD=y
+# CONFIG_KEYBOARD_ATKBD is not set
+# CONFIG_KEYBOARD_SUNKBD is not set
+# CONFIG_KEYBOARD_LKKBD is not set
+# CONFIG_KEYBOARD_XTKBD is not set
+# CONFIG_KEYBOARD_NEWTON is not set
+# CONFIG_KEYBOARD_STOWAWAY is not set
+CONFIG_INPUT_MOUSE=y
+# CONFIG_MOUSE_PS2 is not set
+# CONFIG_MOUSE_SERIAL is not set
+# CONFIG_MOUSE_APPLETOUCH is not set
+# CONFIG_MOUSE_VSXXXAA is not set
+# CONFIG_INPUT_JOYSTICK is not set
+# CONFIG_INPUT_TABLET is not set
+CONFIG_INPUT_TOUCHSCREEN=y
+# CONFIG_TOUCHSCREEN_FUJITSU is not set
+# CONFIG_TOUCHSCREEN_GUNZE is not set
+# CONFIG_TOUCHSCREEN_ELO is not set
+# CONFIG_TOUCHSCREEN_MTOUCH is not set
+# CONFIG_TOUCHSCREEN_MK712 is not set
+# CONFIG_TOUCHSCREEN_PENMOUNT is not set
+# CONFIG_TOUCHSCREEN_TOUCHRIGHT is not set
+# CONFIG_TOUCHSCREEN_TOUCHWIN is not set
+# CONFIG_TOUCHSCREEN_UCB1400 is not set
+CONFIG_TOUCHSCREEN_TMPA910=y
+# CONFIG_TOUCHSCREEN_USB_COMPOSITE is not set
+# CONFIG_INPUT_MISC is not set
+
+#
+# Hardware I/O ports
+#
+CONFIG_SERIO=y
+CONFIG_SERIO_SERPORT=y
+# CONFIG_SERIO_RAW is not set
+# CONFIG_GAMEPORT is not set
+
+#
+# Character devices
+#
+CONFIG_VT=y
+CONFIG_VT_CONSOLE=y
+CONFIG_HW_CONSOLE=y
+CONFIG_VT_HW_CONSOLE_BINDING=y
+CONFIG_DEVKMEM=y
+# CONFIG_SERIAL_NONSTANDARD is not set
+
+#
+# Serial drivers
+#
+# CONFIG_SERIAL_8250 is not set
+
+#
+# Non-8250 serial port support
+#
+CONFIG_SERIAL_TMPA910=y
+CONFIG_SERIAL_TMPA910_CONSOLE=y
+CONFIG_SERIAL_TMPA910_CONSOLE_PREFERED=y
+CONFIG_SERIAL_CORE=y
+CONFIG_SERIAL_CORE_CONSOLE=y
+CONFIG_UNIX98_PTYS=y
+# CONFIG_LEGACY_PTYS is not set
+# CONFIG_IPMI_HANDLER is not set
+CONFIG_HW_RANDOM=y
+# CONFIG_NVRAM is not set
+# CONFIG_R3964 is not set
+# CONFIG_RAW_DRIVER is not set
+# CONFIG_TCG_TPM is not set
+# CONFIG_I2C is not set
+# CONFIG_SPI is not set
+# CONFIG_W1 is not set
+# CONFIG_POWER_SUPPLY is not set
+# CONFIG_HWMON is not set
+# CONFIG_WATCHDOG is not set
+
+#
+# Sonics Silicon Backplane
+#
+CONFIG_SSB_POSSIBLE=y
+# CONFIG_SSB is not set
+
+#
+# Multifunction device drivers
+#
+# CONFIG_MFD_SM501 is not set
+# CONFIG_MFD_ASIC3 is not set
+# CONFIG_HTC_PASIC3 is not set
+
+#
+# Multimedia devices
+#
+
+#
+# Multimedia core support
+#
+# CONFIG_VIDEO_DEV is not set
+# CONFIG_DVB_CORE is not set
+# CONFIG_VIDEO_MEDIA is not set
+
+#
+# Multimedia drivers
+#
+# CONFIG_DAB is not set
+
+#
+# Graphics support
+#
+# CONFIG_VGASTATE is not set
+# CONFIG_VIDEO_OUTPUT_CONTROL is not set
+CONFIG_FB=y
+# CONFIG_FIRMWARE_EDID is not set
+# CONFIG_FB_DDC is not set
+CONFIG_FB_CFB_FILLRECT=y
+CONFIG_FB_CFB_COPYAREA=y
+CONFIG_FB_CFB_IMAGEBLIT=y
+# CONFIG_FB_CFB_REV_PIXELS_IN_BYTE is not set
+# CONFIG_FB_SYS_FILLRECT is not set
+# CONFIG_FB_SYS_COPYAREA is not set
+# CONFIG_FB_SYS_IMAGEBLIT is not set
+# CONFIG_FB_FOREIGN_ENDIAN is not set
+# CONFIG_FB_SYS_FOPS is not set
+# CONFIG_FB_SVGALIB is not set
+# CONFIG_FB_MACMODES is not set
+# CONFIG_FB_BACKLIGHT is not set
+# CONFIG_FB_MODE_HELPERS is not set
+# CONFIG_FB_TILEBLITTING is not set
+
+#
+# Frame buffer hardware drivers
+#
+CONFIG_FB_TMPA910=y
+# CONFIG_FB_S1D13XXX is not set
+# CONFIG_FB_VIRTUAL is not set
+# CONFIG_BACKLIGHT_LCD_SUPPORT is not set
+
+#
+# Display device support
+#
+# CONFIG_DISPLAY_SUPPORT is not set
+
+#
+# Console display driver support
+#
+# CONFIG_VGA_CONSOLE is not set
+CONFIG_DUMMY_CONSOLE=y
+CONFIG_FRAMEBUFFER_CONSOLE=y
+# CONFIG_FRAMEBUFFER_CONSOLE_DETECT_PRIMARY is not set
+CONFIG_FRAMEBUFFER_CONSOLE_ROTATION=y
+CONFIG_FONTS=y
+# CONFIG_FONT_8x8 is not set
+# CONFIG_FONT_8x16 is not set
+# CONFIG_FONT_6x11 is not set
+# CONFIG_FONT_7x14 is not set
+# CONFIG_FONT_PEARL_8x8 is not set
+# CONFIG_FONT_ACORN_8x8 is not set
+CONFIG_FONT_MINI_4x6=y
+# CONFIG_FONT_SUN8x16 is not set
+# CONFIG_FONT_SUN12x22 is not set
+# CONFIG_FONT_10x18 is not set
+# CONFIG_LOGO is not set
+
+#
+# Sound
+#
+# CONFIG_SOUND is not set
+CONFIG_HID_SUPPORT=y
+CONFIG_HID=y
+# CONFIG_HID_DEBUG is not set
+# CONFIG_HIDRAW is not set
+
+#
+# USB Input Devices
+#
+CONFIG_USB_HID=y
+# CONFIG_USB_HIDINPUT_POWERBOOK is not set
+# CONFIG_HID_FF is not set
+# CONFIG_USB_HIDDEV is not set
+CONFIG_USB_SUPPORT=y
+CONFIG_USB_ARCH_HAS_HCD=y
+# CONFIG_USB_ARCH_HAS_OHCI is not set
+# CONFIG_USB_ARCH_HAS_EHCI is not set
+CONFIG_USB=y
+CONFIG_USB_DEBUG=y
+# CONFIG_USB_ANNOUNCE_NEW_DEVICES is not set
+
+#
+# Miscellaneous USB options
+#
+CONFIG_USB_DEVICEFS=y
+CONFIG_USB_DEVICE_CLASS=y
+# CONFIG_USB_DYNAMIC_MINORS is not set
+# CONFIG_USB_SUSPEND is not set
+# CONFIG_USB_OTG is not set
+
+#
+# USB Host Controller Drivers
+#
+# CONFIG_USB_C67X00_HCD is not set
+# CONFIG_USB_ISP116X_HCD is not set
+# CONFIG_USB_ISP1760_HCD is not set
+CONFIG_USB_ISP1362_HCD=y
+# CONFIG_USB_SL811_HCD is not set
+# CONFIG_USB_R8A66597_HCD is not set
+
+#
+# USB Device Class drivers
+#
+# CONFIG_USB_ACM is not set
+# CONFIG_USB_PRINTER is not set
+# CONFIG_USB_WDM is not set
+
+#
+# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support'
+#
+
+#
+# may also be needed; see USB_STORAGE Help for more information
+#
+CONFIG_USB_STORAGE=y
+# CONFIG_USB_STORAGE_DEBUG is not set
+# CONFIG_USB_STORAGE_DATAFAB is not set
+# CONFIG_USB_STORAGE_FREECOM is not set
+# CONFIG_USB_STORAGE_ISD200 is not set
+# CONFIG_USB_STORAGE_DPCM is not set
+# CONFIG_USB_STORAGE_USBAT is not set
+# CONFIG_USB_STORAGE_SDDR09 is not set
+# CONFIG_USB_STORAGE_SDDR55 is not set
+# CONFIG_USB_STORAGE_JUMPSHOT is not set
+# CONFIG_USB_STORAGE_ALAUDA is not set
+# CONFIG_USB_STORAGE_ONETOUCH is not set
+# CONFIG_USB_STORAGE_KARMA is not set
+# CONFIG_USB_STORAGE_CYPRESS_ATACB is not set
+# CONFIG_USB_LIBUSUAL is not set
+
+#
+# USB Imaging devices
+#
+# CONFIG_USB_MDC800 is not set
+# CONFIG_USB_MICROTEK is not set
+CONFIG_USB_MON=y
+
+#
+# USB port drivers
+#
+# CONFIG_USB_SERIAL is not set
+
+#
+# USB Miscellaneous drivers
+#
+# CONFIG_USB_EMI62 is not set
+# CONFIG_USB_EMI26 is not set
+# CONFIG_USB_ADUTUX is not set
+# CONFIG_USB_AUERSWALD is not set
+# CONFIG_USB_RIO500 is not set
+# CONFIG_USB_LEGOTOWER is not set
+# CONFIG_USB_LCD is not set
+# CONFIG_USB_BERRY_CHARGE is not set
+# CONFIG_USB_LED is not set
+# CONFIG_USB_CYPRESS_CY7C63 is not set
+# CONFIG_USB_CYTHERM is not set
+# CONFIG_USB_PHIDGET is not set
+# CONFIG_USB_IDMOUSE is not set
+# CONFIG_USB_FTDI_ELAN is not set
+# CONFIG_USB_APPLEDISPLAY is not set
+# CONFIG_USB_LD is not set
+# CONFIG_USB_TRANCEVIBRATOR is not set
+# CONFIG_USB_IOWARRIOR is not set
+# CONFIG_USB_TEST is not set
+# CONFIG_USB_ISIGHTFW is not set
+# CONFIG_USB_GADGET is not set
+# CONFIG_MMC is not set
+# CONFIG_NEW_LEDS is not set
+CONFIG_RTC_LIB=y
+# CONFIG_RTC_CLASS is not set
+# CONFIG_UIO is not set
+
+#
+# File systems
+#
+CONFIG_EXT2_FS=y
+CONFIG_EXT2_FS_XATTR=y
+# CONFIG_EXT2_FS_POSIX_ACL is not set
+# CONFIG_EXT2_FS_SECURITY is not set
+# CONFIG_EXT2_FS_XIP is not set
+CONFIG_EXT3_FS=y
+CONFIG_EXT3_FS_XATTR=y
+# CONFIG_EXT3_FS_POSIX_ACL is not set
+# CONFIG_EXT3_FS_SECURITY is not set
+# CONFIG_EXT4DEV_FS is not set
+CONFIG_JBD=y
+CONFIG_FS_MBCACHE=y
+# CONFIG_REISERFS_FS is not set
+# CONFIG_JFS_FS is not set
+CONFIG_FS_POSIX_ACL=y
+# CONFIG_XFS_FS is not set
+# CONFIG_OCFS2_FS is not set
+CONFIG_DNOTIFY=y
+CONFIG_INOTIFY=y
+CONFIG_INOTIFY_USER=y
+# CONFIG_QUOTA is not set
+# CONFIG_AUTOFS_FS is not set
+# CONFIG_AUTOFS4_FS is not set
+# CONFIG_FUSE_FS is not set
+
+#
+# CD-ROM/DVD Filesystems
+#
+# CONFIG_ISO9660_FS is not set
+# CONFIG_UDF_FS is not set
+
+#
+# DOS/FAT/NT Filesystems
+#
+CONFIG_FAT_FS=y
+# CONFIG_MSDOS_FS is not set
+CONFIG_VFAT_FS=y
+CONFIG_FAT_DEFAULT_CODEPAGE=437
+CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1"
+# CONFIG_NTFS_FS is not set
+
+#
+# Pseudo filesystems
+#
+CONFIG_PROC_FS=y
+CONFIG_PROC_SYSCTL=y
+CONFIG_SYSFS=y
+CONFIG_TMPFS=y
+# CONFIG_TMPFS_POSIX_ACL is not set
+# CONFIG_HUGETLB_PAGE is not set
+# CONFIG_CONFIGFS_FS is not set
+
+#
+# Miscellaneous filesystems
+#
+# CONFIG_ADFS_FS is not set
+# CONFIG_AFFS_FS is not set
+# CONFIG_HFS_FS is not set
+# CONFIG_HFSPLUS_FS is not set
+# CONFIG_BEFS_FS is not set
+# CONFIG_BFS_FS is not set
+# CONFIG_EFS_FS is not set
+CONFIG_JFFS2_FS=y
+CONFIG_JFFS2_FS_DEBUG=0
+CONFIG_JFFS2_FS_WRITEBUFFER=y
+# CONFIG_JFFS2_FS_WBUF_VERIFY is not set
+# CONFIG_JFFS2_SUMMARY is not set
+# CONFIG_JFFS2_FS_XATTR is not set
+# CONFIG_JFFS2_COMPRESSION_OPTIONS is not set
+CONFIG_JFFS2_ZLIB=y
+# CONFIG_JFFS2_LZO is not set
+CONFIG_JFFS2_RTIME=y
+# CONFIG_JFFS2_RUBIN is not set
+# CONFIG_CRAMFS is not set
+# CONFIG_VXFS_FS is not set
+# CONFIG_MINIX_FS is not set
+# CONFIG_HPFS_FS is not set
+# CONFIG_QNX4FS_FS is not set
+# CONFIG_ROMFS_FS is not set
+# CONFIG_SYSV_FS is not set
+# CONFIG_UFS_FS is not set
+CONFIG_NETWORK_FILESYSTEMS=y
+CONFIG_NFS_FS=y
+CONFIG_NFS_V3=y
+CONFIG_NFS_V3_ACL=y
+CONFIG_NFS_V4=y
+# CONFIG_NFSD is not set
+CONFIG_ROOT_NFS=y
+CONFIG_LOCKD=y
+CONFIG_LOCKD_V4=y
+CONFIG_NFS_ACL_SUPPORT=y
+CONFIG_NFS_COMMON=y
+CONFIG_SUNRPC=y
+CONFIG_SUNRPC_GSS=y
+# CONFIG_SUNRPC_BIND34 is not set
+CONFIG_RPCSEC_GSS_KRB5=y
+# CONFIG_RPCSEC_GSS_SPKM3 is not set
+# CONFIG_SMB_FS is not set
+CONFIG_CIFS=m
+# CONFIG_CIFS_STATS is not set
+CONFIG_CIFS_WEAK_PW_HASH=y
+CONFIG_CIFS_XATTR=y
+CONFIG_CIFS_POSIX=y
+# CONFIG_CIFS_DEBUG2 is not set
+# CONFIG_CIFS_EXPERIMENTAL is not set
+# CONFIG_NCP_FS is not set
+# CONFIG_CODA_FS is not set
+# CONFIG_AFS_FS is not set
+
+#
+# Partition Types
+#
+CONFIG_PARTITION_ADVANCED=y
+# CONFIG_ACORN_PARTITION is not set
+# CONFIG_OSF_PARTITION is not set
+# CONFIG_AMIGA_PARTITION is not set
+# CONFIG_ATARI_PARTITION is not set
+# CONFIG_MAC_PARTITION is not set
+CONFIG_MSDOS_PARTITION=y
+# CONFIG_BSD_DISKLABEL is not set
+# CONFIG_MINIX_SUBPARTITION is not set
+# CONFIG_SOLARIS_X86_PARTITION is not set
+# CONFIG_UNIXWARE_DISKLABEL is not set
+# CONFIG_LDM_PARTITION is not set
+# CONFIG_SGI_PARTITION is not set
+# CONFIG_ULTRIX_PARTITION is not set
+# CONFIG_SUN_PARTITION is not set
+# CONFIG_KARMA_PARTITION is not set
+# CONFIG_EFI_PARTITION is not set
+# CONFIG_SYSV68_PARTITION is not set
+CONFIG_NLS=y
+CONFIG_NLS_DEFAULT="iso8859-1"
+CONFIG_NLS_CODEPAGE_437=y
+# CONFIG_NLS_CODEPAGE_737 is not set
+# CONFIG_NLS_CODEPAGE_775 is not set
+CONFIG_NLS_CODEPAGE_850=y
+# CONFIG_NLS_CODEPAGE_852 is not set
+# CONFIG_NLS_CODEPAGE_855 is not set
+# CONFIG_NLS_CODEPAGE_857 is not set
+# CONFIG_NLS_CODEPAGE_860 is not set
+# CONFIG_NLS_CODEPAGE_861 is not set
+# CONFIG_NLS_CODEPAGE_862 is not set
+# CONFIG_NLS_CODEPAGE_863 is not set
+# CONFIG_NLS_CODEPAGE_864 is not set
+# CONFIG_NLS_CODEPAGE_865 is not set
+# CONFIG_NLS_CODEPAGE_866 is not set
+# CONFIG_NLS_CODEPAGE_869 is not set
+# CONFIG_NLS_CODEPAGE_936 is not set
+# CONFIG_NLS_CODEPAGE_950 is not set
+# CONFIG_NLS_CODEPAGE_932 is not set
+# CONFIG_NLS_CODEPAGE_949 is not set
+# CONFIG_NLS_CODEPAGE_874 is not set
+# CONFIG_NLS_ISO8859_8 is not set
+# CONFIG_NLS_CODEPAGE_1250 is not set
+# CONFIG_NLS_CODEPAGE_1251 is not set
+# CONFIG_NLS_ASCII is not set
+CONFIG_NLS_ISO8859_1=y
+# CONFIG_NLS_ISO8859_2 is not set
+# CONFIG_NLS_ISO8859_3 is not set
+# CONFIG_NLS_ISO8859_4 is not set
+# CONFIG_NLS_ISO8859_5 is not set
+# CONFIG_NLS_ISO8859_6 is not set
+# CONFIG_NLS_ISO8859_7 is not set
+# CONFIG_NLS_ISO8859_9 is not set
+# CONFIG_NLS_ISO8859_13 is not set
+# CONFIG_NLS_ISO8859_14 is not set
+# CONFIG_NLS_ISO8859_15 is not set
+# CONFIG_NLS_KOI8_R is not set
+# CONFIG_NLS_KOI8_U is not set
+CONFIG_NLS_UTF8=y
+# CONFIG_DLM is not set
+
+#
+# Kernel hacking
+#
+# CONFIG_PRINTK_TIME is not set
+CONFIG_ENABLE_WARN_DEPRECATED=y
+CONFIG_ENABLE_MUST_CHECK=y
+CONFIG_FRAME_WARN=1024
+# CONFIG_MAGIC_SYSRQ is not set
+# CONFIG_UNUSED_SYMBOLS is not set
+# CONFIG_DEBUG_FS is not set
+# CONFIG_HEADERS_CHECK is not set
+# CONFIG_DEBUG_KERNEL is not set
+CONFIG_DEBUG_BUGVERBOSE=y
+CONFIG_FRAME_POINTER=y
+# CONFIG_SAMPLES is not set
+# CONFIG_DEBUG_USER is not set
+
+#
+# Security options
+#
+# CONFIG_KEYS is not set
+# CONFIG_SECURITY is not set
+# CONFIG_SECURITY_FILE_CAPABILITIES is not set
+CONFIG_CRYPTO=y
+
+#
+# Crypto core or helper
+#
+CONFIG_CRYPTO_ALGAPI=y
+CONFIG_CRYPTO_BLKCIPHER=y
+CONFIG_CRYPTO_MANAGER=y
+# CONFIG_CRYPTO_GF128MUL is not set
+# CONFIG_CRYPTO_NULL is not set
+# CONFIG_CRYPTO_CRYPTD is not set
+# CONFIG_CRYPTO_AUTHENC is not set
+# CONFIG_CRYPTO_TEST is not set
+
+#
+# Authenticated Encryption with Associated Data
+#
+# CONFIG_CRYPTO_CCM is not set
+# CONFIG_CRYPTO_GCM is not set
+# CONFIG_CRYPTO_SEQIV is not set
+
+#
+# Block modes
+#
+CONFIG_CRYPTO_CBC=y
+# CONFIG_CRYPTO_CTR is not set
+# CONFIG_CRYPTO_CTS is not set
+# CONFIG_CRYPTO_ECB is not set
+# CONFIG_CRYPTO_LRW is not set
+# CONFIG_CRYPTO_PCBC is not set
+# CONFIG_CRYPTO_XTS is not set
+
+#
+# Hash modes
+#
+# CONFIG_CRYPTO_HMAC is not set
+# CONFIG_CRYPTO_XCBC is not set
+
+#
+# Digest
+#
+# CONFIG_CRYPTO_CRC32C is not set
+# CONFIG_CRYPTO_MD4 is not set
+CONFIG_CRYPTO_MD5=y
+# CONFIG_CRYPTO_MICHAEL_MIC is not set
+# CONFIG_CRYPTO_SHA1 is not set
+# CONFIG_CRYPTO_SHA256 is not set
+# CONFIG_CRYPTO_SHA512 is not set
+# CONFIG_CRYPTO_TGR192 is not set
+# CONFIG_CRYPTO_WP512 is not set
+
+#
+# Ciphers
+#
+# CONFIG_CRYPTO_AES is not set
+# CONFIG_CRYPTO_ANUBIS is not set
+# CONFIG_CRYPTO_ARC4 is not set
+# CONFIG_CRYPTO_BLOWFISH is not set
+# CONFIG_CRYPTO_CAMELLIA is not set
+# CONFIG_CRYPTO_CAST5 is not set
+# CONFIG_CRYPTO_CAST6 is not set
+CONFIG_CRYPTO_DES=y
+# CONFIG_CRYPTO_FCRYPT is not set
+# CONFIG_CRYPTO_KHAZAD is not set
+# CONFIG_CRYPTO_SALSA20 is not set
+# CONFIG_CRYPTO_SEED is not set
+# CONFIG_CRYPTO_SERPENT is not set
+# CONFIG_CRYPTO_TEA is not set
+# CONFIG_CRYPTO_TWOFISH is not set
+
+#
+# Compression
+#
+# CONFIG_CRYPTO_DEFLATE is not set
+# CONFIG_CRYPTO_LZO is not set
+CONFIG_CRYPTO_HW=y
+
+#
+# Library routines
+#
+CONFIG_BITREVERSE=y
+# CONFIG_GENERIC_FIND_FIRST_BIT is not set
+# CONFIG_GENERIC_FIND_NEXT_BIT is not set
+# CONFIG_CRC_CCITT is not set
+# CONFIG_CRC16 is not set
+# CONFIG_CRC_ITU_T is not set
+CONFIG_CRC32=y
+# CONFIG_CRC7 is not set
+# CONFIG_LIBCRC32C is not set
+CONFIG_ZLIB_INFLATE=y
+CONFIG_ZLIB_DEFLATE=y
+CONFIG_PLIST=y
+CONFIG_HAS_IOMEM=y
+CONFIG_HAS_IOPORT=y
+CONFIG_HAS_DMA=y
diff --git a/recipes/linux/linux-2.6.29/cm-x270/0001-xm_x2xx-config-fix-up-CMDLINE-map-in-NOR-mtd-dev.patch b/recipes/linux/linux-2.6.29/cm-x270/0001-xm_x2xx-config-fix-up-CMDLINE-map-in-NOR-mtd-dev.patch
new file mode 100644
index 0000000000..2b7513244e
--- /dev/null
+++ b/recipes/linux/linux-2.6.29/cm-x270/0001-xm_x2xx-config-fix-up-CMDLINE-map-in-NOR-mtd-dev.patch
@@ -0,0 +1,828 @@
+From cb4aec56f42f2ba52b28f895c2bd1c743b752b47 Mon Sep 17 00:00:00 2001
+From: Cliff Brake <cbrake@bec-systems.com>
+Date: Thu, 12 Mar 2009 14:26:31 -0400
+Subject: [PATCH] xm_x2xx config -- fix up CMDLINE, map in NOR mtd devices
+
+---
+ arch/arm/configs/xm_x2xx_defconfig | 235 +++++++++++++++++++++++++-----------
+ 1 files changed, 163 insertions(+), 72 deletions(-)
+
+diff --git a/arch/arm/configs/xm_x2xx_defconfig b/arch/arm/configs/xm_x2xx_defconfig
+index 1039f36..bb38e2d 100644
+--- a/arch/arm/configs/xm_x2xx_defconfig
++++ b/arch/arm/configs/xm_x2xx_defconfig
+@@ -1,7 +1,7 @@
+ #
+ # Automatically generated make config: don't edit
+-# Linux kernel version: 2.6.27-rc8
+-# Sun Oct 5 11:05:36 2008
++# Linux kernel version: 2.6.29
++# Fri Apr 24 15:23:00 2009
+ #
+ CONFIG_ARM=y
+ CONFIG_SYS_SUPPORTS_APM_EMULATION=y
+@@ -22,7 +22,6 @@ CONFIG_RWSEM_GENERIC_SPINLOCK=y
+ # CONFIG_ARCH_HAS_ILOG2_U64 is not set
+ CONFIG_GENERIC_HWEIGHT=y
+ CONFIG_GENERIC_CALIBRATE_DELAY=y
+-CONFIG_ARCH_SUPPORTS_AOUT=y
+ CONFIG_ZONE_DMA=y
+ CONFIG_ARCH_MTD_XIP=y
+ CONFIG_GENERIC_HARDIRQS_NO__DO_IRQ=y
+@@ -44,15 +43,24 @@ CONFIG_SYSVIPC_SYSCTL=y
+ # CONFIG_BSD_PROCESS_ACCT is not set
+ # CONFIG_TASKSTATS is not set
+ # CONFIG_AUDIT is not set
++
++#
++# RCU Subsystem
++#
++CONFIG_CLASSIC_RCU=y
++# CONFIG_TREE_RCU is not set
++# CONFIG_PREEMPT_RCU is not set
++# CONFIG_TREE_RCU_TRACE is not set
++# CONFIG_PREEMPT_RCU_TRACE is not set
+ CONFIG_IKCONFIG=y
+ CONFIG_IKCONFIG_PROC=y
+ CONFIG_LOG_BUF_SHIFT=14
+-# CONFIG_CGROUPS is not set
+ CONFIG_GROUP_SCHED=y
+ CONFIG_FAIR_GROUP_SCHED=y
+ # CONFIG_RT_GROUP_SCHED is not set
+ CONFIG_USER_SCHED=y
+ # CONFIG_CGROUP_SCHED is not set
++# CONFIG_CGROUPS is not set
+ CONFIG_SYSFS_DEPRECATED=y
+ CONFIG_SYSFS_DEPRECATED_V2=y
+ # CONFIG_RELAY is not set
+@@ -61,6 +69,7 @@ CONFIG_BLK_DEV_INITRD=y
+ CONFIG_INITRAMFS_SOURCE=""
+ CONFIG_CC_OPTIMIZE_FOR_SIZE=y
+ CONFIG_SYSCTL=y
++CONFIG_ANON_INODES=y
+ CONFIG_EMBEDDED=y
+ CONFIG_UID16=y
+ CONFIG_SYSCTL_SYSCALL=y
+@@ -71,36 +80,29 @@ CONFIG_HOTPLUG=y
+ CONFIG_PRINTK=y
+ CONFIG_BUG=y
+ CONFIG_ELF_CORE=y
+-# CONFIG_COMPAT_BRK is not set
+ CONFIG_BASE_FULL=y
+ CONFIG_FUTEX=y
+-CONFIG_ANON_INODES=y
+ CONFIG_EPOLL=y
+ CONFIG_SIGNALFD=y
+ CONFIG_TIMERFD=y
+ CONFIG_EVENTFD=y
+ CONFIG_SHMEM=y
++CONFIG_AIO=y
+ # CONFIG_VM_EVENT_COUNTERS is not set
++CONFIG_PCI_QUIRKS=y
+ # CONFIG_SLUB_DEBUG is not set
++# CONFIG_COMPAT_BRK is not set
+ # CONFIG_SLAB is not set
+ CONFIG_SLUB=y
+ # CONFIG_SLOB is not set
+ # CONFIG_PROFILING is not set
+-# CONFIG_MARKERS is not set
+ CONFIG_HAVE_OPROFILE=y
+ # CONFIG_KPROBES is not set
+-# CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS is not set
+-# CONFIG_HAVE_IOREMAP_PROT is not set
+ CONFIG_HAVE_KPROBES=y
+ CONFIG_HAVE_KRETPROBES=y
+-# CONFIG_HAVE_ARCH_TRACEHOOK is not set
+-# CONFIG_HAVE_DMA_ATTRS is not set
+-# CONFIG_USE_GENERIC_SMP_HELPERS is not set
+ CONFIG_HAVE_CLK=y
+-# CONFIG_PROC_PAGE_MONITOR is not set
+ CONFIG_HAVE_GENERIC_DMA_COHERENT=y
+ CONFIG_RT_MUTEXES=y
+-# CONFIG_TINY_SHMEM is not set
+ CONFIG_BASE_SMALL=0
+ CONFIG_MODULES=y
+ # CONFIG_MODULE_FORCE_LOAD is not set
+@@ -108,11 +110,9 @@ CONFIG_MODULE_UNLOAD=y
+ # CONFIG_MODULE_FORCE_UNLOAD is not set
+ # CONFIG_MODVERSIONS is not set
+ # CONFIG_MODULE_SRCVERSION_ALL is not set
+-CONFIG_KMOD=y
+ CONFIG_BLOCK=y
+ # CONFIG_LBD is not set
+ # CONFIG_BLK_DEV_IO_TRACE is not set
+-# CONFIG_LSF is not set
+ # CONFIG_BLK_DEV_BSG is not set
+ # CONFIG_BLK_DEV_INTEGRITY is not set
+
+@@ -128,7 +128,7 @@ CONFIG_IOSCHED_CFQ=y
+ CONFIG_DEFAULT_CFQ=y
+ # CONFIG_DEFAULT_NOOP is not set
+ CONFIG_DEFAULT_IOSCHED="cfq"
+-CONFIG_CLASSIC_RCU=y
++CONFIG_FREEZER=y
+
+ #
+ # System Type
+@@ -138,7 +138,6 @@ CONFIG_CLASSIC_RCU=y
+ # CONFIG_ARCH_REALVIEW is not set
+ # CONFIG_ARCH_VERSATILE is not set
+ # CONFIG_ARCH_AT91 is not set
+-# CONFIG_ARCH_CLPS7500 is not set
+ # CONFIG_ARCH_CLPS711X is not set
+ # CONFIG_ARCH_EBSA110 is not set
+ # CONFIG_ARCH_EP93XX is not set
+@@ -165,17 +164,19 @@ CONFIG_ARCH_PXA=y
+ # CONFIG_ARCH_RPC is not set
+ # CONFIG_ARCH_SA1100 is not set
+ # CONFIG_ARCH_S3C2410 is not set
++# CONFIG_ARCH_S3C64XX is not set
+ # CONFIG_ARCH_SHARK is not set
+ # CONFIG_ARCH_LH7A40X is not set
+ # CONFIG_ARCH_DAVINCI is not set
+ # CONFIG_ARCH_OMAP is not set
+-# CONFIG_ARCH_MSM7X00A is not set
+-CONFIG_DMABOUNCE=y
++# CONFIG_ARCH_MSM is not set
++# CONFIG_ARCH_W90X900 is not set
+
+ #
+ # Intel PXA2xx/PXA3xx Implementations
+ #
+ # CONFIG_ARCH_GUMSTIX is not set
++# CONFIG_MACH_INTELMOTE2 is not set
+ # CONFIG_ARCH_LUBBOCK is not set
+ # CONFIG_MACH_LOGICPD_PXA270 is not set
+ # CONFIG_MACH_MAINSTONE is not set
+@@ -185,6 +186,7 @@ CONFIG_DMABOUNCE=y
+ # CONFIG_ARCH_VIPER is not set
+ # CONFIG_ARCH_PXA_ESERIES is not set
+ # CONFIG_TRIZEPS_PXA is not set
++# CONFIG_MACH_H5000 is not set
+ CONFIG_MACH_EM_X270=y
+ # CONFIG_MACH_COLIBRI is not set
+ # CONFIG_MACH_ZYLONITE is not set
+@@ -204,14 +206,6 @@ CONFIG_PXA_SSP=y
+ # CONFIG_PXA_PWM is not set
+
+ #
+-# Boot options
+-#
+-
+-#
+-# Power management
+-#
+-
+-#
+ # Processor Type
+ #
+ CONFIG_CPU_32=y
+@@ -232,6 +226,8 @@ CONFIG_ARM_THUMB=y
+ # CONFIG_OUTER_CACHE is not set
+ CONFIG_IWMMXT=y
+ CONFIG_XSCALE_PMU=y
++CONFIG_DMABOUNCE=y
++CONFIG_COMMON_CLKDEV=y
+
+ #
+ # Bus support
+@@ -242,6 +238,7 @@ CONFIG_PCI_HOST_ITE8152=y
+ # CONFIG_ARCH_SUPPORTS_MSI is not set
+ CONFIG_PCI_LEGACY=y
+ # CONFIG_PCI_DEBUG is not set
++# CONFIG_PCI_STUB is not set
+ CONFIG_PCCARD=m
+ # CONFIG_PCMCIA_DEBUG is not set
+ CONFIG_PCMCIA=m
+@@ -287,14 +284,13 @@ CONFIG_FLATMEM_MANUAL=y
+ # CONFIG_SPARSEMEM_MANUAL is not set
+ CONFIG_FLATMEM=y
+ CONFIG_FLAT_NODE_MEM_MAP=y
+-# CONFIG_SPARSEMEM_STATIC is not set
+-# CONFIG_SPARSEMEM_VMEMMAP_ENABLE is not set
+ CONFIG_PAGEFLAGS_EXTENDED=y
+ CONFIG_SPLIT_PTLOCK_CPUS=4096
+-# CONFIG_RESOURCES_64BIT is not set
++# CONFIG_PHYS_ADDR_T_64BIT is not set
+ CONFIG_ZONE_DMA_FLAG=1
+ CONFIG_BOUNCE=y
+ CONFIG_VIRT_TO_BUS=y
++CONFIG_UNEVICTABLE_LRU=y
+ CONFIG_ALIGNMENT_TRAP=y
+
+ #
+@@ -302,7 +298,7 @@ CONFIG_ALIGNMENT_TRAP=y
+ #
+ CONFIG_ZBOOT_ROM_TEXT=0x0
+ CONFIG_ZBOOT_ROM_BSS=0x0
+-CONFIG_CMDLINE="root=1f03 mem=32M"
++CONFIG_CMDLINE="console=ttyS1,38400 monitor=8 bpp=16 mem=64M mtdparts=physmap-flash.0:256k(boot)ro,0x180000(kernel),0x230000(root),-(config);cm-x270-nand:64m(app),-(data) rdinit=/sbin/init root=mtd4 rootfstype=jffs2"
+ # CONFIG_XIP_KERNEL is not set
+ # CONFIG_KEXEC is not set
+
+@@ -327,6 +323,8 @@ CONFIG_FPE_NWFPE=y
+ # Userspace binary formats
+ #
+ CONFIG_BINFMT_ELF=y
++# CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set
++CONFIG_HAVE_AOUT=y
+ # CONFIG_BINFMT_AOUT is not set
+ # CONFIG_BINFMT_MISC is not set
+
+@@ -345,6 +343,7 @@ CONFIG_NET=y
+ #
+ # Networking options
+ #
++CONFIG_COMPAT_NET_DEV_OPS=y
+ CONFIG_PACKET=y
+ CONFIG_PACKET_MMAP=y
+ CONFIG_UNIX=y
+@@ -389,6 +388,7 @@ CONFIG_DEFAULT_TCP_CONG="cubic"
+ # CONFIG_TIPC is not set
+ # CONFIG_ATM is not set
+ # CONFIG_BRIDGE is not set
++# CONFIG_NET_DSA is not set
+ # CONFIG_VLAN_8021Q is not set
+ # CONFIG_DECNET is not set
+ # CONFIG_LLC2 is not set
+@@ -399,6 +399,7 @@ CONFIG_DEFAULT_TCP_CONG="cubic"
+ # CONFIG_ECONET is not set
+ # CONFIG_WAN_ROUTER is not set
+ # CONFIG_NET_SCHED is not set
++# CONFIG_DCB is not set
+
+ #
+ # Network testing
+@@ -420,8 +421,6 @@ CONFIG_BT_HIDP=m
+ #
+ # Bluetooth device drivers
+ #
+-CONFIG_BT_HCIUSB=m
+-CONFIG_BT_HCIUSB_SCO=y
+ # CONFIG_BT_HCIBTUSB is not set
+ # CONFIG_BT_HCIBTSDIO is not set
+ # CONFIG_BT_HCIUART is not set
+@@ -434,15 +433,16 @@ CONFIG_BT_HCIUSB_SCO=y
+ # CONFIG_BT_HCIBTUART is not set
+ # CONFIG_BT_HCIVHCI is not set
+ # CONFIG_AF_RXRPC is not set
+-
+-#
+-# Wireless
+-#
++# CONFIG_PHONET is not set
++CONFIG_WIRELESS=y
+ # CONFIG_CFG80211 is not set
++CONFIG_WIRELESS_OLD_REGULATORY=y
+ CONFIG_WIRELESS_EXT=y
+ CONFIG_WIRELESS_EXT_SYSFS=y
++CONFIG_LIB80211=m
++# CONFIG_LIB80211_DEBUG is not set
+ # CONFIG_MAC80211 is not set
+-# CONFIG_IEEE80211 is not set
++# CONFIG_WIMAX is not set
+ # CONFIG_RFKILL is not set
+ # CONFIG_NET_9P is not set
+
+@@ -467,6 +467,7 @@ CONFIG_MTD=y
+ # CONFIG_MTD_DEBUG is not set
+ # CONFIG_MTD_CONCAT is not set
+ CONFIG_MTD_PARTITIONS=y
++# CONFIG_MTD_TESTS is not set
+ # CONFIG_MTD_REDBOOT_PARTS is not set
+ CONFIG_MTD_CMDLINE_PARTS=y
+ # CONFIG_MTD_AFS_PARTS is not set
+@@ -521,6 +522,7 @@ CONFIG_MTD_CFI_UTIL=y
+ #
+ # CONFIG_MTD_COMPLEX_MAPPINGS is not set
+ CONFIG_MTD_PHYSMAP=y
++CONFIG_MTD_PHYSMAP_COMPAT=y
+ CONFIG_MTD_PHYSMAP_START=0x0
+ CONFIG_MTD_PHYSMAP_LEN=0x400000
+ CONFIG_MTD_PHYSMAP_BANKWIDTH=2
+@@ -563,6 +565,11 @@ CONFIG_MTD_NAND_PLATFORM=y
+ # CONFIG_MTD_ONENAND is not set
+
+ #
++# LPDDR flash memory drivers
++#
++# CONFIG_MTD_LPDDR is not set
++
++#
+ # UBI - Unsorted block images
+ #
+ # CONFIG_MTD_UBI is not set
+@@ -642,6 +649,8 @@ CONFIG_SCSI_LOWLEVEL=y
+ # CONFIG_MEGARAID_LEGACY is not set
+ # CONFIG_MEGARAID_SAS is not set
+ # CONFIG_SCSI_HPTIOP is not set
++# CONFIG_LIBFC is not set
++# CONFIG_FCOE is not set
+ # CONFIG_SCSI_DMX3191D is not set
+ # CONFIG_SCSI_FUTURE_DOMAIN is not set
+ # CONFIG_SCSI_IPS is not set
+@@ -757,19 +766,23 @@ CONFIG_DM9000=y
+ CONFIG_DM9000_DEBUGLEVEL=1
+ # CONFIG_DM9000_FORCE_SIMPLE_PHY_POLL is not set
+ # CONFIG_SMC911X is not set
++# CONFIG_SMSC911X is not set
++# CONFIG_DNET is not set
+ # CONFIG_NET_TULIP is not set
+ # CONFIG_HP100 is not set
+ # CONFIG_IBM_NEW_EMAC_ZMII is not set
+ # CONFIG_IBM_NEW_EMAC_RGMII is not set
+ # CONFIG_IBM_NEW_EMAC_TAH is not set
+ # CONFIG_IBM_NEW_EMAC_EMAC4 is not set
++# CONFIG_IBM_NEW_EMAC_NO_FLOW_CTRL is not set
++# CONFIG_IBM_NEW_EMAC_MAL_CLR_ICINTSTAT is not set
++# CONFIG_IBM_NEW_EMAC_MAL_COMMON_ERR is not set
+ CONFIG_NET_PCI=y
+ # CONFIG_PCNET32 is not set
+ # CONFIG_AMD8111_ETH is not set
+ # CONFIG_ADAPTEC_STARFIRE is not set
+ # CONFIG_B44 is not set
+ # CONFIG_FORCEDETH is not set
+-# CONFIG_EEPRO100 is not set
+ # CONFIG_E100 is not set
+ # CONFIG_FEALNX is not set
+ # CONFIG_NATSEMI is not set
+@@ -783,10 +796,12 @@ CONFIG_8139TOO=y
+ # CONFIG_R6040 is not set
+ # CONFIG_SIS900 is not set
+ # CONFIG_EPIC100 is not set
++# CONFIG_SMSC9420 is not set
+ # CONFIG_SUNDANCE is not set
+ # CONFIG_TLAN is not set
+ # CONFIG_VIA_RHINE is not set
+ # CONFIG_SC92031 is not set
++# CONFIG_ATL2 is not set
+ # CONFIG_NETDEV_1000 is not set
+ # CONFIG_NETDEV_10000 is not set
+ # CONFIG_TR is not set
+@@ -797,8 +812,6 @@ CONFIG_8139TOO=y
+ # CONFIG_WLAN_PRE80211 is not set
+ CONFIG_WLAN_80211=y
+ # CONFIG_PCMCIA_RAYCS is not set
+-# CONFIG_IPW2100 is not set
+-# CONFIG_IPW2200 is not set
+ CONFIG_LIBERTAS=m
+ # CONFIG_LIBERTAS_USB is not set
+ # CONFIG_LIBERTAS_CS is not set
+@@ -811,10 +824,16 @@ CONFIG_LIBERTAS_SDIO=m
+ # CONFIG_PRISM54 is not set
+ # CONFIG_USB_ZD1201 is not set
+ # CONFIG_USB_NET_RNDIS_WLAN is not set
++# CONFIG_IPW2100 is not set
++# CONFIG_IPW2200 is not set
+ # CONFIG_IWLWIFI_LEDS is not set
+ # CONFIG_HOSTAP is not set
+
+ #
++# Enable WiMAX (Networking options) to see the WiMAX drivers
++#
++
++#
+ # USB Network Adapters
+ #
+ # CONFIG_USB_CATC is not set
+@@ -882,6 +901,7 @@ CONFIG_INPUT_TOUCHSCREEN=y
+ # CONFIG_TOUCHSCREEN_FUJITSU is not set
+ # CONFIG_TOUCHSCREEN_GUNZE is not set
+ # CONFIG_TOUCHSCREEN_ELO is not set
++# CONFIG_TOUCHSCREEN_WACOM_W8001 is not set
+ # CONFIG_TOUCHSCREEN_MTOUCH is not set
+ # CONFIG_TOUCHSCREEN_INEXIO is not set
+ # CONFIG_TOUCHSCREEN_MK712 is not set
+@@ -895,6 +915,7 @@ CONFIG_TOUCHSCREEN_WM9712=y
+ # CONFIG_TOUCHSCREEN_WM97XX_MAINSTONE is not set
+ # CONFIG_TOUCHSCREEN_USB_COMPOSITE is not set
+ # CONFIG_TOUCHSCREEN_TOUCHIT213 is not set
++# CONFIG_TOUCHSCREEN_TSC2007 is not set
+ # CONFIG_INPUT_MISC is not set
+
+ #
+@@ -933,11 +954,11 @@ CONFIG_SERIAL_CORE=y
+ CONFIG_SERIAL_CORE_CONSOLE=y
+ # CONFIG_SERIAL_JSM is not set
+ CONFIG_UNIX98_PTYS=y
++# CONFIG_DEVPTS_MULTIPLE_INSTANCES is not set
+ CONFIG_LEGACY_PTYS=y
+ CONFIG_LEGACY_PTY_COUNT=16
+ # CONFIG_IPMI_HANDLER is not set
+ # CONFIG_HW_RANDOM is not set
+-# CONFIG_NVRAM is not set
+ # CONFIG_R3964 is not set
+ # CONFIG_APPLICOM is not set
+
+@@ -1009,13 +1030,10 @@ CONFIG_I2C_PXA=y
+ # Miscellaneous I2C Chip support
+ #
+ # CONFIG_DS1682 is not set
+-# CONFIG_EEPROM_AT24 is not set
+-# CONFIG_EEPROM_LEGACY is not set
+ # CONFIG_SENSORS_PCF8574 is not set
+ # CONFIG_PCF8575 is not set
+ # CONFIG_SENSORS_PCA9539 is not set
+ # CONFIG_SENSORS_PCF8591 is not set
+-# CONFIG_TPS65010 is not set
+ # CONFIG_SENSORS_MAX6875 is not set
+ # CONFIG_SENSORS_TSL2550 is not set
+ # CONFIG_I2C_DEBUG_CORE is not set
+@@ -1029,6 +1047,10 @@ CONFIG_GPIOLIB=y
+ # CONFIG_GPIO_SYSFS is not set
+
+ #
++# Memory mapped GPIO expanders:
++#
++
++#
+ # I2C GPIO expanders:
+ #
+ # CONFIG_GPIO_MAX732X is not set
+@@ -1049,11 +1071,11 @@ CONFIG_GPIOLIB=y
+ # CONFIG_THERMAL is not set
+ # CONFIG_THERMAL_HWMON is not set
+ # CONFIG_WATCHDOG is not set
++CONFIG_SSB_POSSIBLE=y
+
+ #
+ # Sonics Silicon Backplane
+ #
+-CONFIG_SSB_POSSIBLE=y
+ # CONFIG_SSB is not set
+
+ #
+@@ -1065,10 +1087,16 @@ CONFIG_SSB_POSSIBLE=y
+ # CONFIG_HTC_EGPIO is not set
+ # CONFIG_HTC_PASIC3 is not set
+ # CONFIG_UCB1400_CORE is not set
++# CONFIG_TPS65010 is not set
++# CONFIG_TWL4030_CORE is not set
+ # CONFIG_MFD_TMIO is not set
+ # CONFIG_MFD_T7L66XB is not set
+ # CONFIG_MFD_TC6387XB is not set
+ # CONFIG_MFD_TC6393XB is not set
++# CONFIG_PMIC_DA903X is not set
++# CONFIG_MFD_WM8400 is not set
++# CONFIG_MFD_WM8350_I2C is not set
++# CONFIG_MFD_PCF50633 is not set
+
+ #
+ # Multimedia devices
+@@ -1095,6 +1123,7 @@ CONFIG_SSB_POSSIBLE=y
+ CONFIG_FB=y
+ # CONFIG_FIRMWARE_EDID is not set
+ # CONFIG_FB_DDC is not set
++# CONFIG_FB_BOOT_VESA_SUPPORT is not set
+ CONFIG_FB_CFB_FILLRECT=y
+ CONFIG_FB_CFB_COPYAREA=y
+ CONFIG_FB_CFB_IMAGEBLIT=y
+@@ -1128,6 +1157,7 @@ CONFIG_FB_CFB_IMAGEBLIT=y
+ # CONFIG_FB_S3 is not set
+ # CONFIG_FB_SAVAGE is not set
+ # CONFIG_FB_SIS is not set
++# CONFIG_FB_VIA is not set
+ # CONFIG_FB_NEOMAGIC is not set
+ # CONFIG_FB_KYRO is not set
+ # CONFIG_FB_3DFX is not set
+@@ -1138,12 +1168,14 @@ CONFIG_FB_CFB_IMAGEBLIT=y
+ # CONFIG_FB_PM3 is not set
+ # CONFIG_FB_CARMINE is not set
+ CONFIG_FB_PXA=y
++# CONFIG_FB_PXA_OVERLAY is not set
+ # CONFIG_FB_PXA_SMARTPANEL is not set
+ CONFIG_FB_PXA_PARAMETERS=y
+ CONFIG_FB_MBX=m
+ # CONFIG_FB_W100 is not set
+ # CONFIG_FB_VIRTUAL is not set
+ # CONFIG_FB_METRONOME is not set
++# CONFIG_FB_MB862XX is not set
+ # CONFIG_BACKLIGHT_LCD_SUPPORT is not set
+
+ #
+@@ -1167,6 +1199,7 @@ CONFIG_LOGO_LINUX_MONO=y
+ CONFIG_LOGO_LINUX_VGA16=y
+ CONFIG_LOGO_LINUX_CLUT224=y
+ CONFIG_SOUND=m
++CONFIG_SOUND_OSS_CORE=y
+ CONFIG_SND=m
+ CONFIG_SND_TIMER=m
+ CONFIG_SND_PCM=m
+@@ -1250,6 +1283,8 @@ CONFIG_SND_PCI=y
+ # CONFIG_SND_YMFPCI is not set
+ CONFIG_SND_ARM=y
+ CONFIG_SND_PXA2XX_PCM=m
++CONFIG_SND_PXA2XX_LIB=m
++CONFIG_SND_PXA2XX_LIB_AC97=y
+ CONFIG_SND_PXA2XX_AC97=m
+ CONFIG_SND_USB=y
+ # CONFIG_SND_USB_AUDIO is not set
+@@ -1269,9 +1304,34 @@ CONFIG_HID_DEBUG=y
+ # USB Input Devices
+ #
+ CONFIG_USB_HID=y
+-# CONFIG_USB_HIDINPUT_POWERBOOK is not set
+-# CONFIG_HID_FF is not set
++# CONFIG_HID_PID is not set
+ # CONFIG_USB_HIDDEV is not set
++
++#
++# Special HID drivers
++#
++CONFIG_HID_COMPAT=y
++# CONFIG_HID_A4TECH is not set
++# CONFIG_HID_APPLE is not set
++# CONFIG_HID_BELKIN is not set
++# CONFIG_HID_CHERRY is not set
++# CONFIG_HID_CHICONY is not set
++# CONFIG_HID_CYPRESS is not set
++# CONFIG_HID_EZKEY is not set
++# CONFIG_HID_GYRATION is not set
++# CONFIG_HID_LOGITECH is not set
++# CONFIG_HID_MICROSOFT is not set
++# CONFIG_HID_MONTEREY is not set
++# CONFIG_HID_NTRIG is not set
++# CONFIG_HID_PANTHERLORD is not set
++# CONFIG_HID_PETALYNX is not set
++# CONFIG_HID_SAMSUNG is not set
++# CONFIG_HID_SONY is not set
++# CONFIG_HID_SUNPLUS is not set
++# CONFIG_GREENASIA_FF is not set
++# CONFIG_HID_TOPSEED is not set
++# CONFIG_THRUSTMASTER_FF is not set
++# CONFIG_ZEROPLUS_FF is not set
+ CONFIG_USB_SUPPORT=y
+ CONFIG_USB_ARCH_HAS_HCD=y
+ CONFIG_USB_ARCH_HAS_OHCI=y
+@@ -1291,12 +1351,15 @@ CONFIG_USB_DEVICEFS=y
+ # CONFIG_USB_OTG_WHITELIST is not set
+ # CONFIG_USB_OTG_BLACKLIST_HUB is not set
+ CONFIG_USB_MON=y
++# CONFIG_USB_WUSB is not set
++# CONFIG_USB_WUSB_CBAF is not set
+
+ #
+ # USB Host Controller Drivers
+ #
+ # CONFIG_USB_C67X00_HCD is not set
+ # CONFIG_USB_EHCI_HCD is not set
++# CONFIG_USB_OXU210HP_HCD is not set
+ # CONFIG_USB_ISP116X_HCD is not set
+ # CONFIG_USB_ISP1760_HCD is not set
+ CONFIG_USB_OHCI_HCD=y
+@@ -1306,6 +1369,8 @@ CONFIG_USB_OHCI_LITTLE_ENDIAN=y
+ # CONFIG_USB_UHCI_HCD is not set
+ # CONFIG_USB_SL811_HCD is not set
+ # CONFIG_USB_R8A66597_HCD is not set
++# CONFIG_USB_WHCI_HCD is not set
++# CONFIG_USB_HWA_HCD is not set
+ # CONFIG_USB_MUSB_HDRC is not set
+
+ #
+@@ -1314,20 +1379,20 @@ CONFIG_USB_OHCI_LITTLE_ENDIAN=y
+ # CONFIG_USB_ACM is not set
+ # CONFIG_USB_PRINTER is not set
+ # CONFIG_USB_WDM is not set
++# CONFIG_USB_TMC is not set
+
+ #
+-# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support'
++# NOTE: USB_STORAGE depends on SCSI but BLK_DEV_SD may also be needed;
+ #
+
+ #
+-# may also be needed; see USB_STORAGE Help for more information
++# see USB_STORAGE Help for more information
+ #
+ CONFIG_USB_STORAGE=y
+ # CONFIG_USB_STORAGE_DEBUG is not set
+ # CONFIG_USB_STORAGE_DATAFAB is not set
+ # CONFIG_USB_STORAGE_FREECOM is not set
+ # CONFIG_USB_STORAGE_ISD200 is not set
+-# CONFIG_USB_STORAGE_DPCM is not set
+ # CONFIG_USB_STORAGE_USBAT is not set
+ # CONFIG_USB_STORAGE_SDDR09 is not set
+ # CONFIG_USB_STORAGE_SDDR55 is not set
+@@ -1355,6 +1420,7 @@ CONFIG_USB_STORAGE=y
+ # CONFIG_USB_EMI62 is not set
+ # CONFIG_USB_EMI26 is not set
+ # CONFIG_USB_ADUTUX is not set
++# CONFIG_USB_SEVSEG is not set
+ # CONFIG_USB_RIO500 is not set
+ # CONFIG_USB_LEGOTOWER is not set
+ # CONFIG_USB_LCD is not set
+@@ -1371,13 +1437,20 @@ CONFIG_USB_STORAGE=y
+ # CONFIG_USB_IOWARRIOR is not set
+ # CONFIG_USB_TEST is not set
+ # CONFIG_USB_ISIGHTFW is not set
++# CONFIG_USB_VST is not set
+ # CONFIG_USB_GADGET is not set
++
++#
++# OTG and related infrastructure
++#
++# CONFIG_USB_GPIO_VBUS is not set
++# CONFIG_UWB is not set
+ CONFIG_MMC=m
+ # CONFIG_MMC_DEBUG is not set
+ # CONFIG_MMC_UNSAFE_RESUME is not set
+
+ #
+-# MMC/SD Card Drivers
++# MMC/SD/SDIO Card Drivers
+ #
+ CONFIG_MMC_BLOCK=m
+ CONFIG_MMC_BLOCK_BOUNCE=y
+@@ -1385,7 +1458,7 @@ CONFIG_MMC_BLOCK_BOUNCE=y
+ # CONFIG_MMC_TEST is not set
+
+ #
+-# MMC/SD Host Controller Drivers
++# MMC/SD/SDIO Host Controller Drivers
+ #
+ CONFIG_MMC_PXA=m
+ # CONFIG_MMC_SDHCI is not set
+@@ -1401,7 +1474,6 @@ CONFIG_LEDS_CLASS=y
+ #
+ # CONFIG_LEDS_PCA9532 is not set
+ # CONFIG_LEDS_GPIO is not set
+-CONFIG_LEDS_CM_X270=y
+ # CONFIG_LEDS_PCA955X is not set
+
+ #
+@@ -1410,6 +1482,7 @@ CONFIG_LEDS_CM_X270=y
+ CONFIG_LEDS_TRIGGERS=y
+ # CONFIG_LEDS_TRIGGER_TIMER is not set
+ CONFIG_LEDS_TRIGGER_HEARTBEAT=y
++# CONFIG_LEDS_TRIGGER_BACKLIGHT is not set
+ # CONFIG_LEDS_TRIGGER_DEFAULT_ON is not set
+ CONFIG_RTC_LIB=y
+ CONFIG_RTC_CLASS=y
+@@ -1441,6 +1514,7 @@ CONFIG_RTC_INTF_DEV=y
+ # CONFIG_RTC_DRV_M41T80 is not set
+ # CONFIG_RTC_DRV_S35390A is not set
+ # CONFIG_RTC_DRV_FM3130 is not set
++# CONFIG_RTC_DRV_RX8581 is not set
+
+ #
+ # SPI RTC drivers
+@@ -1450,28 +1524,26 @@ CONFIG_RTC_INTF_DEV=y
+ # Platform RTC drivers
+ #
+ # CONFIG_RTC_DRV_CMOS is not set
++# CONFIG_RTC_DRV_DS1286 is not set
+ # CONFIG_RTC_DRV_DS1511 is not set
+ # CONFIG_RTC_DRV_DS1553 is not set
+ # CONFIG_RTC_DRV_DS1742 is not set
+ # CONFIG_RTC_DRV_STK17TA8 is not set
+ # CONFIG_RTC_DRV_M48T86 is not set
++# CONFIG_RTC_DRV_M48T35 is not set
+ # CONFIG_RTC_DRV_M48T59 is not set
++# CONFIG_RTC_DRV_BQ4802 is not set
+ CONFIG_RTC_DRV_V3020=y
+
+ #
+ # on-CPU RTC drivers
+ #
+ CONFIG_RTC_DRV_SA1100=y
++# CONFIG_RTC_DRV_PXA is not set
+ # CONFIG_DMADEVICES is not set
+-
+-#
+-# Voltage and Current regulators
+-#
+ # CONFIG_REGULATOR is not set
+-# CONFIG_REGULATOR_FIXED_VOLTAGE is not set
+-# CONFIG_REGULATOR_VIRTUAL_CONSUMER is not set
+-# CONFIG_REGULATOR_BQ24022 is not set
+ # CONFIG_UIO is not set
++# CONFIG_STAGING is not set
+
+ #
+ # File systems
+@@ -1483,14 +1555,16 @@ CONFIG_EXT3_FS=y
+ CONFIG_EXT3_FS_XATTR=y
+ # CONFIG_EXT3_FS_POSIX_ACL is not set
+ # CONFIG_EXT3_FS_SECURITY is not set
+-# CONFIG_EXT4DEV_FS is not set
++# CONFIG_EXT4_FS is not set
+ CONFIG_JBD=y
+ CONFIG_FS_MBCACHE=y
+ # CONFIG_REISERFS_FS is not set
+ # CONFIG_JFS_FS is not set
+ # CONFIG_FS_POSIX_ACL is not set
++CONFIG_FILE_LOCKING=y
+ # CONFIG_XFS_FS is not set
+ # CONFIG_OCFS2_FS is not set
++# CONFIG_BTRFS_FS is not set
+ CONFIG_DNOTIFY=y
+ CONFIG_INOTIFY=y
+ CONFIG_INOTIFY_USER=y
+@@ -1520,15 +1594,13 @@ CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1"
+ #
+ CONFIG_PROC_FS=y
+ CONFIG_PROC_SYSCTL=y
++# CONFIG_PROC_PAGE_MONITOR is not set
+ CONFIG_SYSFS=y
+ CONFIG_TMPFS=y
+ # CONFIG_TMPFS_POSIX_ACL is not set
+ # CONFIG_HUGETLB_PAGE is not set
+ # CONFIG_CONFIGFS_FS is not set
+-
+-#
+-# Miscellaneous filesystems
+-#
++CONFIG_MISC_FILESYSTEMS=y
+ # CONFIG_ADFS_FS is not set
+ # CONFIG_AFFS_FS is not set
+ # CONFIG_HFS_FS is not set
+@@ -1548,6 +1620,7 @@ CONFIG_JFFS2_ZLIB=y
+ CONFIG_JFFS2_RTIME=y
+ # CONFIG_JFFS2_RUBIN is not set
+ # CONFIG_CRAMFS is not set
++# CONFIG_SQUASHFS is not set
+ # CONFIG_VXFS_FS is not set
+ # CONFIG_MINIX_FS is not set
+ # CONFIG_OMFS_FS is not set
+@@ -1567,6 +1640,7 @@ CONFIG_LOCKD=y
+ CONFIG_LOCKD_V4=y
+ CONFIG_NFS_COMMON=y
+ CONFIG_SUNRPC=y
++# CONFIG_SUNRPC_REGISTER_V4 is not set
+ # CONFIG_RPCSEC_GSS_KRB5 is not set
+ # CONFIG_RPCSEC_GSS_SPKM3 is not set
+ # CONFIG_SMB_FS is not set
+@@ -1678,19 +1752,29 @@ CONFIG_DEBUG_KERNEL=y
+ # CONFIG_DEBUG_MEMORY_INIT is not set
+ # CONFIG_DEBUG_LIST is not set
+ # CONFIG_DEBUG_SG is not set
++# CONFIG_DEBUG_NOTIFIERS is not set
+ CONFIG_FRAME_POINTER=y
+ # CONFIG_BOOT_PRINTK_DELAY is not set
+ # CONFIG_RCU_TORTURE_TEST is not set
++# CONFIG_RCU_CPU_STALL_DETECTOR is not set
+ # CONFIG_BACKTRACE_SELF_TEST is not set
++# CONFIG_DEBUG_BLOCK_EXT_DEVT is not set
+ # CONFIG_FAULT_INJECTION is not set
+ # CONFIG_LATENCYTOP is not set
+ CONFIG_SYSCTL_SYSCALL_CHECK=y
+-CONFIG_HAVE_FTRACE=y
+-CONFIG_HAVE_DYNAMIC_FTRACE=y
+-# CONFIG_FTRACE is not set
++CONFIG_HAVE_FUNCTION_TRACER=y
++
++#
++# Tracers
++#
++# CONFIG_FUNCTION_TRACER is not set
+ # CONFIG_IRQSOFF_TRACER is not set
+ # CONFIG_SCHED_TRACER is not set
+ # CONFIG_CONTEXT_SWITCH_TRACER is not set
++# CONFIG_BOOT_TRACER is not set
++# CONFIG_TRACE_BRANCH_PROFILING is not set
++# CONFIG_STACK_TRACER is not set
++# CONFIG_DYNAMIC_PRINTK_DEBUG is not set
+ # CONFIG_SAMPLES is not set
+ CONFIG_HAVE_ARCH_KGDB=y
+ # CONFIG_KGDB is not set
+@@ -1705,13 +1789,16 @@ CONFIG_DEBUG_LL=y
+ #
+ # CONFIG_KEYS is not set
+ # CONFIG_SECURITY is not set
++# CONFIG_SECURITYFS is not set
+ # CONFIG_SECURITY_FILE_CAPABILITIES is not set
+ CONFIG_CRYPTO=y
+
+ #
+ # Crypto core or helper
+ #
++# CONFIG_CRYPTO_FIPS is not set
+ # CONFIG_CRYPTO_MANAGER is not set
++# CONFIG_CRYPTO_MANAGER2 is not set
+ # CONFIG_CRYPTO_GF128MUL is not set
+ # CONFIG_CRYPTO_NULL is not set
+ # CONFIG_CRYPTO_CRYPTD is not set
+@@ -1783,14 +1870,18 @@ CONFIG_CRYPTO=y
+ #
+ # CONFIG_CRYPTO_DEFLATE is not set
+ # CONFIG_CRYPTO_LZO is not set
++
++#
++# Random Number Generation
++#
++# CONFIG_CRYPTO_ANSI_CPRNG is not set
+ # CONFIG_CRYPTO_HW is not set
+
+ #
+ # Library routines
+ #
+ CONFIG_BITREVERSE=y
+-# CONFIG_GENERIC_FIND_FIRST_BIT is not set
+-# CONFIG_GENERIC_FIND_NEXT_BIT is not set
++CONFIG_GENERIC_FIND_LAST_BIT=y
+ CONFIG_CRC_CCITT=m
+ # CONFIG_CRC16 is not set
+ # CONFIG_CRC_T10DIF is not set
+--
+1.5.6.3
+
diff --git a/recipes/linux/linux-2.6.29/cm-x270/0001-xm_x2xx-config-fix-up-CMDLINE.patch b/recipes/linux/linux-2.6.29/cm-x270/0001-xm_x2xx-config-fix-up-CMDLINE.patch
new file mode 100644
index 0000000000..061895a0a9
--- /dev/null
+++ b/recipes/linux/linux-2.6.29/cm-x270/0001-xm_x2xx-config-fix-up-CMDLINE.patch
@@ -0,0 +1,26 @@
+From 4b949a9436820788d77ff335677dbb22e127d34f Mon Sep 17 00:00:00 2001
+From: Cliff Brake <cbrake@bec-systems.com>
+Date: Thu, 12 Mar 2009 14:26:31 -0400
+Subject: [PATCH] xm_x2xx config -- fix up CMDLINE
+
+---
+ arch/arm/configs/xm_x2xx_defconfig | 3 ++-
+ 1 files changed, 2 insertions(+), 1 deletions(-)
+
+diff --git a/arch/arm/configs/xm_x2xx_defconfig b/arch/arm/configs/xm_x2xx_defconfig
+index 1039f36..bcd31cf 100644
+--- a/arch/arm/configs/xm_x2xx_defconfig
++++ b/arch/arm/configs/xm_x2xx_defconfig
+@@ -302,7 +302,8 @@ CONFIG_ALIGNMENT_TRAP=y
+ #
+ CONFIG_ZBOOT_ROM_TEXT=0x0
+ CONFIG_ZBOOT_ROM_BSS=0x0
+-CONFIG_CMDLINE="root=1f03 mem=32M"
++CONFIG_CMDLINE="console=ttyS1,38400 monitor=8 bpp=16 mem=64M mtdparts=physmap-flash.0:256k(boot)ro,0x180000(kernel),0x230000(root),-(config);cm-x270-nand:64m(app),-(data) rdinit=/sbin/init root=mtd4 rootfstype=jffs2"
++
+ # CONFIG_XIP_KERNEL is not set
+ # CONFIG_KEXEC is not set
+
+--
+1.5.6.3
+
diff --git a/recipes/linux/linux-2.6.29/cm-x270/0002-cm-x270-nand-change-name-of-device.patch b/recipes/linux/linux-2.6.29/cm-x270/0002-cm-x270-nand-change-name-of-device.patch
new file mode 100644
index 0000000000..5f128f3790
--- /dev/null
+++ b/recipes/linux/linux-2.6.29/cm-x270/0002-cm-x270-nand-change-name-of-device.patch
@@ -0,0 +1,25 @@
+From 86c657eb50e8b28fd0438a8885810996947f7032 Mon Sep 17 00:00:00 2001
+From: Cliff Brake <cbrake@bec-systems.com>
+Date: Thu, 12 Mar 2009 14:31:56 -0400
+Subject: [PATCH] cm-x270 nand: change name of device
+
+---
+ drivers/mtd/nand/cmx270_nand.c | 2 ++
+ 1 files changed, 2 insertions(+), 0 deletions(-)
+
+diff --git a/drivers/mtd/nand/cmx270_nand.c b/drivers/mtd/nand/cmx270_nand.c
+index fa129c0..d456fa4 100644
+--- a/drivers/mtd/nand/cmx270_nand.c
++++ b/drivers/mtd/nand/cmx270_nand.c
+@@ -199,6 +199,8 @@ static int cmx270_init(void)
+ cmx270_nand_mtd->owner = THIS_MODULE;
+ cmx270_nand_mtd->priv = this;
+
++ cmx270_nand_mtd->name = "cm-x270-nand";
++
+ /* insert callbacks */
+ this->IO_ADDR_R = cmx270_nand_io;
+ this->IO_ADDR_W = cmx270_nand_io;
+--
+1.5.6.3
+
diff --git a/recipes/linux/linux-2.6.29/cm-x270/0003-cm-x2xx.c-add-support-for-sharp-VGA-display-panel.patch b/recipes/linux/linux-2.6.29/cm-x270/0003-cm-x2xx.c-add-support-for-sharp-VGA-display-panel.patch
new file mode 100644
index 0000000000..c400f1be6b
--- /dev/null
+++ b/recipes/linux/linux-2.6.29/cm-x270/0003-cm-x2xx.c-add-support-for-sharp-VGA-display-panel.patch
@@ -0,0 +1,64 @@
+From 55436d7d910bcfe0081bf84d3321260bf4aa89d3 Mon Sep 17 00:00:00 2001
+From: Cliff Brake <cbrake@bec-systems.com>
+Date: Thu, 12 Mar 2009 14:32:39 -0400
+Subject: [PATCH] cm-x2xx.c: add support for sharp VGA display panel
+
+merge with video mods
+---
+ arch/arm/mach-pxa/cm-x2xx.c | 26 ++++++++++++++++++++++++++
+ 1 files changed, 26 insertions(+), 0 deletions(-)
+
+diff --git a/arch/arm/mach-pxa/cm-x2xx.c b/arch/arm/mach-pxa/cm-x2xx.c
+index d99fd9e..fa91d93 100644
+--- a/arch/arm/mach-pxa/cm-x2xx.c
++++ b/arch/arm/mach-pxa/cm-x2xx.c
+@@ -190,6 +190,7 @@ static inline void cmx2xx_init_leds(void) {}
+ #define MTYPE_CRT800x600 3
+ #define MTYPE_TFT320x240 6
+ #define MTYPE_STN640x480 7
++#define MTYPE_TFT640x480_SHARP 8
+
+ static struct pxafb_mode_info generic_stn_320x240_mode = {
+ .pixclock = 76923,
+@@ -335,6 +336,28 @@ static struct pxafb_mach_info generic_stn_640x480 = {
+ .cmap_static = 0,
+ };
+
++static struct pxafb_mode_info sharp_vga_tft_mode = {
++ .pixclock = 38461,
++ .bpp = 16,
++ .xres = 640,
++ .yres = 480,
++ .hsync_len = 60,
++ .vsync_len = 2,
++ .left_margin = 72,
++ .upper_margin = 32,
++ .right_margin = 72,
++ .lower_margin = 10,
++ .sync = 0,
++};
++
++static struct pxafb_mach_info sharp_vga_tft = {
++ .modes = &sharp_vga_tft_mode,
++ .num_modes = 1,
++ .lccr0 = (LCCR0_PAS),
++ .lccr3 = (LCCR3_PixClkDiv(0x01) |
++ LCCR3_Acb(0xff)),
++};
++
+ static struct pxafb_mach_info *cmx2xx_display = &generic_crt_640x480;
+
+ static int __init cmx2xx_set_display(char *str)
+@@ -356,6 +379,9 @@ static int __init cmx2xx_set_display(char *str)
+ case MTYPE_TFT320x240:
+ cmx2xx_display = &generic_tft_320x240;
+ break;
++ case MTYPE_TFT640x480_SHARP:
++ cmx2xx_display = &sharp_vga_tft;
++ break;
+ case MTYPE_STN640x480:
+ cmx2xx_display = &generic_stn_640x480;
+ break;
+--
+1.5.6.3
+
diff --git a/recipes/linux/linux-2.6.29/cm-x270/0004-add-build-script.patch b/recipes/linux/linux-2.6.29/cm-x270/0004-add-build-script.patch
new file mode 100644
index 0000000000..95d5878b51
--- /dev/null
+++ b/recipes/linux/linux-2.6.29/cm-x270/0004-add-build-script.patch
@@ -0,0 +1,27 @@
+From dc0aeffcd6bde310f2fefe305c41da8d6d010033 Mon Sep 17 00:00:00 2001
+From: Cliff Brake <cbrake@bec-systems.com>
+Date: Thu, 12 Mar 2009 14:33:08 -0400
+Subject: [PATCH] add build script
+
+---
+ setup-env | 8 ++++++++
+ 1 files changed, 8 insertions(+), 0 deletions(-)
+ create mode 100644 setup-env
+
+diff --git a/setup-env b/setup-env
+new file mode 100644
+index 0000000..b869dcd
+--- /dev/null
++++ b/setup-env
+@@ -0,0 +1,8 @@
++# script that can be sourced to setup up the compiler
++# env for cross-compiling u-boot
++
++CROSS_COMPILER_PATH=`cd /build/oe/oe-stable/build/angstrom-2008.1/tmp/cross/armv5te/bin; pwd`
++export PATH=$CROSS_COMPILER_PATH:$PATH
++export ARCH=arm
++export CROSS_COMPILE=arm-angstrom-linux-gnueabi-
++
+--
+1.5.6.3
+
diff --git a/recipes/linux/linux-2.6.29/cm-x270/defconfig b/recipes/linux/linux-2.6.29/cm-x270/defconfig
new file mode 100644
index 0000000000..bb38e2da00
--- /dev/null
+++ b/recipes/linux/linux-2.6.29/cm-x270/defconfig
@@ -0,0 +1,1897 @@
+#
+# Automatically generated make config: don't edit
+# Linux kernel version: 2.6.29
+# Fri Apr 24 15:23:00 2009
+#
+CONFIG_ARM=y
+CONFIG_SYS_SUPPORTS_APM_EMULATION=y
+CONFIG_GENERIC_GPIO=y
+CONFIG_GENERIC_TIME=y
+CONFIG_GENERIC_CLOCKEVENTS=y
+CONFIG_MMU=y
+# CONFIG_NO_IOPORT is not set
+CONFIG_GENERIC_HARDIRQS=y
+CONFIG_STACKTRACE_SUPPORT=y
+CONFIG_HAVE_LATENCYTOP_SUPPORT=y
+CONFIG_LOCKDEP_SUPPORT=y
+CONFIG_TRACE_IRQFLAGS_SUPPORT=y
+CONFIG_HARDIRQS_SW_RESEND=y
+CONFIG_GENERIC_IRQ_PROBE=y
+CONFIG_RWSEM_GENERIC_SPINLOCK=y
+# CONFIG_ARCH_HAS_ILOG2_U32 is not set
+# CONFIG_ARCH_HAS_ILOG2_U64 is not set
+CONFIG_GENERIC_HWEIGHT=y
+CONFIG_GENERIC_CALIBRATE_DELAY=y
+CONFIG_ZONE_DMA=y
+CONFIG_ARCH_MTD_XIP=y
+CONFIG_GENERIC_HARDIRQS_NO__DO_IRQ=y
+CONFIG_VECTORS_BASE=0xffff0000
+CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
+
+#
+# General setup
+#
+CONFIG_EXPERIMENTAL=y
+CONFIG_BROKEN_ON_SMP=y
+CONFIG_INIT_ENV_ARG_LIMIT=32
+CONFIG_LOCALVERSION=""
+# CONFIG_LOCALVERSION_AUTO is not set
+CONFIG_SWAP=y
+CONFIG_SYSVIPC=y
+CONFIG_SYSVIPC_SYSCTL=y
+# CONFIG_POSIX_MQUEUE is not set
+# CONFIG_BSD_PROCESS_ACCT is not set
+# CONFIG_TASKSTATS is not set
+# CONFIG_AUDIT is not set
+
+#
+# RCU Subsystem
+#
+CONFIG_CLASSIC_RCU=y
+# CONFIG_TREE_RCU is not set
+# CONFIG_PREEMPT_RCU is not set
+# CONFIG_TREE_RCU_TRACE is not set
+# CONFIG_PREEMPT_RCU_TRACE is not set
+CONFIG_IKCONFIG=y
+CONFIG_IKCONFIG_PROC=y
+CONFIG_LOG_BUF_SHIFT=14
+CONFIG_GROUP_SCHED=y
+CONFIG_FAIR_GROUP_SCHED=y
+# CONFIG_RT_GROUP_SCHED is not set
+CONFIG_USER_SCHED=y
+# CONFIG_CGROUP_SCHED is not set
+# CONFIG_CGROUPS is not set
+CONFIG_SYSFS_DEPRECATED=y
+CONFIG_SYSFS_DEPRECATED_V2=y
+# CONFIG_RELAY is not set
+# CONFIG_NAMESPACES is not set
+CONFIG_BLK_DEV_INITRD=y
+CONFIG_INITRAMFS_SOURCE=""
+CONFIG_CC_OPTIMIZE_FOR_SIZE=y
+CONFIG_SYSCTL=y
+CONFIG_ANON_INODES=y
+CONFIG_EMBEDDED=y
+CONFIG_UID16=y
+CONFIG_SYSCTL_SYSCALL=y
+CONFIG_KALLSYMS=y
+# CONFIG_KALLSYMS_ALL is not set
+# CONFIG_KALLSYMS_EXTRA_PASS is not set
+CONFIG_HOTPLUG=y
+CONFIG_PRINTK=y
+CONFIG_BUG=y
+CONFIG_ELF_CORE=y
+CONFIG_BASE_FULL=y
+CONFIG_FUTEX=y
+CONFIG_EPOLL=y
+CONFIG_SIGNALFD=y
+CONFIG_TIMERFD=y
+CONFIG_EVENTFD=y
+CONFIG_SHMEM=y
+CONFIG_AIO=y
+# CONFIG_VM_EVENT_COUNTERS is not set
+CONFIG_PCI_QUIRKS=y
+# CONFIG_SLUB_DEBUG is not set
+# CONFIG_COMPAT_BRK is not set
+# CONFIG_SLAB is not set
+CONFIG_SLUB=y
+# CONFIG_SLOB is not set
+# CONFIG_PROFILING is not set
+CONFIG_HAVE_OPROFILE=y
+# CONFIG_KPROBES is not set
+CONFIG_HAVE_KPROBES=y
+CONFIG_HAVE_KRETPROBES=y
+CONFIG_HAVE_CLK=y
+CONFIG_HAVE_GENERIC_DMA_COHERENT=y
+CONFIG_RT_MUTEXES=y
+CONFIG_BASE_SMALL=0
+CONFIG_MODULES=y
+# CONFIG_MODULE_FORCE_LOAD is not set
+CONFIG_MODULE_UNLOAD=y
+# CONFIG_MODULE_FORCE_UNLOAD is not set
+# CONFIG_MODVERSIONS is not set
+# CONFIG_MODULE_SRCVERSION_ALL is not set
+CONFIG_BLOCK=y
+# CONFIG_LBD is not set
+# CONFIG_BLK_DEV_IO_TRACE is not set
+# CONFIG_BLK_DEV_BSG is not set
+# CONFIG_BLK_DEV_INTEGRITY is not set
+
+#
+# IO Schedulers
+#
+CONFIG_IOSCHED_NOOP=y
+CONFIG_IOSCHED_AS=y
+CONFIG_IOSCHED_DEADLINE=y
+CONFIG_IOSCHED_CFQ=y
+# CONFIG_DEFAULT_AS is not set
+# CONFIG_DEFAULT_DEADLINE is not set
+CONFIG_DEFAULT_CFQ=y
+# CONFIG_DEFAULT_NOOP is not set
+CONFIG_DEFAULT_IOSCHED="cfq"
+CONFIG_FREEZER=y
+
+#
+# System Type
+#
+# CONFIG_ARCH_AAEC2000 is not set
+# CONFIG_ARCH_INTEGRATOR is not set
+# CONFIG_ARCH_REALVIEW is not set
+# CONFIG_ARCH_VERSATILE is not set
+# CONFIG_ARCH_AT91 is not set
+# CONFIG_ARCH_CLPS711X is not set
+# CONFIG_ARCH_EBSA110 is not set
+# CONFIG_ARCH_EP93XX is not set
+# CONFIG_ARCH_FOOTBRIDGE is not set
+# CONFIG_ARCH_NETX is not set
+# CONFIG_ARCH_H720X is not set
+# CONFIG_ARCH_IMX is not set
+# CONFIG_ARCH_IOP13XX is not set
+# CONFIG_ARCH_IOP32X is not set
+# CONFIG_ARCH_IOP33X is not set
+# CONFIG_ARCH_IXP23XX is not set
+# CONFIG_ARCH_IXP2000 is not set
+# CONFIG_ARCH_IXP4XX is not set
+# CONFIG_ARCH_L7200 is not set
+# CONFIG_ARCH_KIRKWOOD is not set
+# CONFIG_ARCH_KS8695 is not set
+# CONFIG_ARCH_NS9XXX is not set
+# CONFIG_ARCH_LOKI is not set
+# CONFIG_ARCH_MV78XX0 is not set
+# CONFIG_ARCH_MXC is not set
+# CONFIG_ARCH_ORION5X is not set
+# CONFIG_ARCH_PNX4008 is not set
+CONFIG_ARCH_PXA=y
+# CONFIG_ARCH_RPC is not set
+# CONFIG_ARCH_SA1100 is not set
+# CONFIG_ARCH_S3C2410 is not set
+# CONFIG_ARCH_S3C64XX is not set
+# CONFIG_ARCH_SHARK is not set
+# CONFIG_ARCH_LH7A40X is not set
+# CONFIG_ARCH_DAVINCI is not set
+# CONFIG_ARCH_OMAP is not set
+# CONFIG_ARCH_MSM is not set
+# CONFIG_ARCH_W90X900 is not set
+
+#
+# Intel PXA2xx/PXA3xx Implementations
+#
+# CONFIG_ARCH_GUMSTIX is not set
+# CONFIG_MACH_INTELMOTE2 is not set
+# CONFIG_ARCH_LUBBOCK is not set
+# CONFIG_MACH_LOGICPD_PXA270 is not set
+# CONFIG_MACH_MAINSTONE is not set
+# CONFIG_MACH_MP900C is not set
+# CONFIG_ARCH_PXA_IDP is not set
+# CONFIG_PXA_SHARPSL is not set
+# CONFIG_ARCH_VIPER is not set
+# CONFIG_ARCH_PXA_ESERIES is not set
+# CONFIG_TRIZEPS_PXA is not set
+# CONFIG_MACH_H5000 is not set
+CONFIG_MACH_EM_X270=y
+# CONFIG_MACH_COLIBRI is not set
+# CONFIG_MACH_ZYLONITE is not set
+# CONFIG_MACH_LITTLETON is not set
+# CONFIG_MACH_TAVOREVB is not set
+# CONFIG_MACH_SAAR is not set
+CONFIG_MACH_ARMCORE=y
+# CONFIG_MACH_CM_X300 is not set
+# CONFIG_MACH_MAGICIAN is not set
+# CONFIG_MACH_MIOA701 is not set
+# CONFIG_MACH_PCM027 is not set
+# CONFIG_ARCH_PXA_PALM is not set
+# CONFIG_PXA_EZX is not set
+CONFIG_PXA25x=y
+CONFIG_PXA27x=y
+CONFIG_PXA_SSP=y
+# CONFIG_PXA_PWM is not set
+
+#
+# Processor Type
+#
+CONFIG_CPU_32=y
+CONFIG_CPU_XSCALE=y
+CONFIG_CPU_32v5=y
+CONFIG_CPU_ABRT_EV5T=y
+CONFIG_CPU_PABRT_NOIFAR=y
+CONFIG_CPU_CACHE_VIVT=y
+CONFIG_CPU_TLB_V4WBI=y
+CONFIG_CPU_CP15=y
+CONFIG_CPU_CP15_MMU=y
+
+#
+# Processor Features
+#
+CONFIG_ARM_THUMB=y
+# CONFIG_CPU_DCACHE_DISABLE is not set
+# CONFIG_OUTER_CACHE is not set
+CONFIG_IWMMXT=y
+CONFIG_XSCALE_PMU=y
+CONFIG_DMABOUNCE=y
+CONFIG_COMMON_CLKDEV=y
+
+#
+# Bus support
+#
+CONFIG_PCI=y
+CONFIG_PCI_SYSCALL=y
+CONFIG_PCI_HOST_ITE8152=y
+# CONFIG_ARCH_SUPPORTS_MSI is not set
+CONFIG_PCI_LEGACY=y
+# CONFIG_PCI_DEBUG is not set
+# CONFIG_PCI_STUB is not set
+CONFIG_PCCARD=m
+# CONFIG_PCMCIA_DEBUG is not set
+CONFIG_PCMCIA=m
+CONFIG_PCMCIA_LOAD_CIS=y
+CONFIG_PCMCIA_IOCTL=y
+CONFIG_CARDBUS=y
+
+#
+# PC-card bridges
+#
+CONFIG_YENTA=m
+# CONFIG_YENTA_O2 is not set
+# CONFIG_YENTA_RICOH is not set
+CONFIG_YENTA_TI=y
+# CONFIG_YENTA_ENE_TUNE is not set
+# CONFIG_YENTA_TOSHIBA is not set
+# CONFIG_PD6729 is not set
+# CONFIG_I82092 is not set
+CONFIG_PCMCIA_PXA2XX=m
+CONFIG_PCCARD_NONSTATIC=m
+
+#
+# Kernel Features
+#
+CONFIG_TICK_ONESHOT=y
+CONFIG_NO_HZ=y
+# CONFIG_HIGH_RES_TIMERS is not set
+CONFIG_GENERIC_CLOCKEVENTS_BUILD=y
+CONFIG_VMSPLIT_3G=y
+# CONFIG_VMSPLIT_2G is not set
+# CONFIG_VMSPLIT_1G is not set
+CONFIG_PAGE_OFFSET=0xC0000000
+# CONFIG_PREEMPT is not set
+CONFIG_HZ=100
+CONFIG_AEABI=y
+CONFIG_OABI_COMPAT=y
+CONFIG_ARCH_FLATMEM_HAS_HOLES=y
+# CONFIG_ARCH_SPARSEMEM_DEFAULT is not set
+# CONFIG_ARCH_SELECT_MEMORY_MODEL is not set
+CONFIG_SELECT_MEMORY_MODEL=y
+CONFIG_FLATMEM_MANUAL=y
+# CONFIG_DISCONTIGMEM_MANUAL is not set
+# CONFIG_SPARSEMEM_MANUAL is not set
+CONFIG_FLATMEM=y
+CONFIG_FLAT_NODE_MEM_MAP=y
+CONFIG_PAGEFLAGS_EXTENDED=y
+CONFIG_SPLIT_PTLOCK_CPUS=4096
+# CONFIG_PHYS_ADDR_T_64BIT is not set
+CONFIG_ZONE_DMA_FLAG=1
+CONFIG_BOUNCE=y
+CONFIG_VIRT_TO_BUS=y
+CONFIG_UNEVICTABLE_LRU=y
+CONFIG_ALIGNMENT_TRAP=y
+
+#
+# Boot options
+#
+CONFIG_ZBOOT_ROM_TEXT=0x0
+CONFIG_ZBOOT_ROM_BSS=0x0
+CONFIG_CMDLINE="console=ttyS1,38400 monitor=8 bpp=16 mem=64M mtdparts=physmap-flash.0:256k(boot)ro,0x180000(kernel),0x230000(root),-(config);cm-x270-nand:64m(app),-(data) rdinit=/sbin/init root=mtd4 rootfstype=jffs2"
+# CONFIG_XIP_KERNEL is not set
+# CONFIG_KEXEC is not set
+
+#
+# CPU Power Management
+#
+# CONFIG_CPU_FREQ is not set
+# CONFIG_CPU_IDLE is not set
+
+#
+# Floating point emulation
+#
+
+#
+# At least one emulation must be selected
+#
+CONFIG_FPE_NWFPE=y
+# CONFIG_FPE_NWFPE_XP is not set
+# CONFIG_FPE_FASTFPE is not set
+
+#
+# Userspace binary formats
+#
+CONFIG_BINFMT_ELF=y
+# CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set
+CONFIG_HAVE_AOUT=y
+# CONFIG_BINFMT_AOUT is not set
+# CONFIG_BINFMT_MISC is not set
+
+#
+# Power management options
+#
+CONFIG_PM=y
+# CONFIG_PM_DEBUG is not set
+CONFIG_PM_SLEEP=y
+CONFIG_SUSPEND=y
+CONFIG_SUSPEND_FREEZER=y
+CONFIG_APM_EMULATION=m
+CONFIG_ARCH_SUSPEND_POSSIBLE=y
+CONFIG_NET=y
+
+#
+# Networking options
+#
+CONFIG_COMPAT_NET_DEV_OPS=y
+CONFIG_PACKET=y
+CONFIG_PACKET_MMAP=y
+CONFIG_UNIX=y
+CONFIG_XFRM=y
+# CONFIG_XFRM_USER is not set
+# CONFIG_XFRM_SUB_POLICY is not set
+# CONFIG_XFRM_MIGRATE is not set
+# CONFIG_XFRM_STATISTICS is not set
+# CONFIG_NET_KEY is not set
+CONFIG_INET=y
+CONFIG_IP_MULTICAST=y
+# CONFIG_IP_ADVANCED_ROUTER is not set
+CONFIG_IP_FIB_HASH=y
+CONFIG_IP_PNP=y
+CONFIG_IP_PNP_DHCP=y
+CONFIG_IP_PNP_BOOTP=y
+# CONFIG_IP_PNP_RARP is not set
+# CONFIG_NET_IPIP is not set
+# CONFIG_NET_IPGRE is not set
+# CONFIG_IP_MROUTE is not set
+# CONFIG_ARPD is not set
+# CONFIG_SYN_COOKIES is not set
+# CONFIG_INET_AH is not set
+# CONFIG_INET_ESP is not set
+# CONFIG_INET_IPCOMP is not set
+# CONFIG_INET_XFRM_TUNNEL is not set
+# CONFIG_INET_TUNNEL is not set
+CONFIG_INET_XFRM_MODE_TRANSPORT=y
+CONFIG_INET_XFRM_MODE_TUNNEL=y
+CONFIG_INET_XFRM_MODE_BEET=y
+# CONFIG_INET_LRO is not set
+# CONFIG_INET_DIAG is not set
+# CONFIG_TCP_CONG_ADVANCED is not set
+CONFIG_TCP_CONG_CUBIC=y
+CONFIG_DEFAULT_TCP_CONG="cubic"
+# CONFIG_TCP_MD5SIG is not set
+# CONFIG_IPV6 is not set
+# CONFIG_NETWORK_SECMARK is not set
+# CONFIG_NETFILTER is not set
+# CONFIG_IP_DCCP is not set
+# CONFIG_IP_SCTP is not set
+# CONFIG_TIPC is not set
+# CONFIG_ATM is not set
+# CONFIG_BRIDGE is not set
+# CONFIG_NET_DSA is not set
+# CONFIG_VLAN_8021Q is not set
+# CONFIG_DECNET is not set
+# CONFIG_LLC2 is not set
+# CONFIG_IPX is not set
+# CONFIG_ATALK is not set
+# CONFIG_X25 is not set
+# CONFIG_LAPB is not set
+# CONFIG_ECONET is not set
+# CONFIG_WAN_ROUTER is not set
+# CONFIG_NET_SCHED is not set
+# CONFIG_DCB is not set
+
+#
+# Network testing
+#
+# CONFIG_NET_PKTGEN is not set
+# CONFIG_HAMRADIO is not set
+# CONFIG_CAN is not set
+# CONFIG_IRDA is not set
+CONFIG_BT=m
+CONFIG_BT_L2CAP=m
+CONFIG_BT_SCO=m
+CONFIG_BT_RFCOMM=m
+# CONFIG_BT_RFCOMM_TTY is not set
+CONFIG_BT_BNEP=m
+# CONFIG_BT_BNEP_MC_FILTER is not set
+# CONFIG_BT_BNEP_PROTO_FILTER is not set
+CONFIG_BT_HIDP=m
+
+#
+# Bluetooth device drivers
+#
+# CONFIG_BT_HCIBTUSB is not set
+# CONFIG_BT_HCIBTSDIO is not set
+# CONFIG_BT_HCIUART is not set
+# CONFIG_BT_HCIBCM203X is not set
+# CONFIG_BT_HCIBPA10X is not set
+# CONFIG_BT_HCIBFUSB is not set
+# CONFIG_BT_HCIDTL1 is not set
+# CONFIG_BT_HCIBT3C is not set
+# CONFIG_BT_HCIBLUECARD is not set
+# CONFIG_BT_HCIBTUART is not set
+# CONFIG_BT_HCIVHCI is not set
+# CONFIG_AF_RXRPC is not set
+# CONFIG_PHONET is not set
+CONFIG_WIRELESS=y
+# CONFIG_CFG80211 is not set
+CONFIG_WIRELESS_OLD_REGULATORY=y
+CONFIG_WIRELESS_EXT=y
+CONFIG_WIRELESS_EXT_SYSFS=y
+CONFIG_LIB80211=m
+# CONFIG_LIB80211_DEBUG is not set
+# CONFIG_MAC80211 is not set
+# CONFIG_WIMAX is not set
+# CONFIG_RFKILL is not set
+# CONFIG_NET_9P is not set
+
+#
+# Device Drivers
+#
+
+#
+# Generic Driver Options
+#
+CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
+CONFIG_STANDALONE=y
+CONFIG_PREVENT_FIRMWARE_BUILD=y
+CONFIG_FW_LOADER=m
+CONFIG_FIRMWARE_IN_KERNEL=y
+CONFIG_EXTRA_FIRMWARE=""
+# CONFIG_DEBUG_DRIVER is not set
+# CONFIG_DEBUG_DEVRES is not set
+# CONFIG_SYS_HYPERVISOR is not set
+# CONFIG_CONNECTOR is not set
+CONFIG_MTD=y
+# CONFIG_MTD_DEBUG is not set
+# CONFIG_MTD_CONCAT is not set
+CONFIG_MTD_PARTITIONS=y
+# CONFIG_MTD_TESTS is not set
+# CONFIG_MTD_REDBOOT_PARTS is not set
+CONFIG_MTD_CMDLINE_PARTS=y
+# CONFIG_MTD_AFS_PARTS is not set
+# CONFIG_MTD_AR7_PARTS is not set
+
+#
+# User Modules And Translation Layers
+#
+CONFIG_MTD_CHAR=y
+CONFIG_MTD_BLKDEVS=y
+CONFIG_MTD_BLOCK=y
+# CONFIG_FTL is not set
+# CONFIG_NFTL is not set
+# CONFIG_INFTL is not set
+# CONFIG_RFD_FTL is not set
+# CONFIG_SSFDC is not set
+# CONFIG_MTD_OOPS is not set
+
+#
+# RAM/ROM/Flash chip drivers
+#
+CONFIG_MTD_CFI=y
+CONFIG_MTD_JEDECPROBE=y
+CONFIG_MTD_GEN_PROBE=y
+CONFIG_MTD_CFI_ADV_OPTIONS=y
+CONFIG_MTD_CFI_NOSWAP=y
+# CONFIG_MTD_CFI_BE_BYTE_SWAP is not set
+# CONFIG_MTD_CFI_LE_BYTE_SWAP is not set
+# CONFIG_MTD_CFI_GEOMETRY is not set
+CONFIG_MTD_MAP_BANK_WIDTH_1=y
+CONFIG_MTD_MAP_BANK_WIDTH_2=y
+CONFIG_MTD_MAP_BANK_WIDTH_4=y
+# CONFIG_MTD_MAP_BANK_WIDTH_8 is not set
+# CONFIG_MTD_MAP_BANK_WIDTH_16 is not set
+# CONFIG_MTD_MAP_BANK_WIDTH_32 is not set
+CONFIG_MTD_CFI_I1=y
+CONFIG_MTD_CFI_I2=y
+# CONFIG_MTD_CFI_I4 is not set
+# CONFIG_MTD_CFI_I8 is not set
+# CONFIG_MTD_OTP is not set
+CONFIG_MTD_CFI_INTELEXT=y
+CONFIG_MTD_CFI_AMDSTD=y
+CONFIG_MTD_CFI_STAA=y
+CONFIG_MTD_CFI_UTIL=y
+# CONFIG_MTD_RAM is not set
+# CONFIG_MTD_ROM is not set
+# CONFIG_MTD_ABSENT is not set
+# CONFIG_MTD_XIP is not set
+
+#
+# Mapping drivers for chip access
+#
+# CONFIG_MTD_COMPLEX_MAPPINGS is not set
+CONFIG_MTD_PHYSMAP=y
+CONFIG_MTD_PHYSMAP_COMPAT=y
+CONFIG_MTD_PHYSMAP_START=0x0
+CONFIG_MTD_PHYSMAP_LEN=0x400000
+CONFIG_MTD_PHYSMAP_BANKWIDTH=2
+CONFIG_MTD_PXA2XX=y
+# CONFIG_MTD_ARM_INTEGRATOR is not set
+# CONFIG_MTD_IMPA7 is not set
+# CONFIG_MTD_SHARP_SL is not set
+# CONFIG_MTD_INTEL_VR_NOR is not set
+# CONFIG_MTD_PLATRAM is not set
+
+#
+# Self-contained MTD device drivers
+#
+# CONFIG_MTD_PMC551 is not set
+# CONFIG_MTD_SLRAM is not set
+# CONFIG_MTD_PHRAM is not set
+# CONFIG_MTD_MTDRAM is not set
+# CONFIG_MTD_BLOCK2MTD is not set
+
+#
+# Disk-On-Chip Device Drivers
+#
+# CONFIG_MTD_DOC2000 is not set
+# CONFIG_MTD_DOC2001 is not set
+# CONFIG_MTD_DOC2001PLUS is not set
+CONFIG_MTD_NAND=y
+# CONFIG_MTD_NAND_VERIFY_WRITE is not set
+# CONFIG_MTD_NAND_ECC_SMC is not set
+# CONFIG_MTD_NAND_MUSEUM_IDS is not set
+# CONFIG_MTD_NAND_H1900 is not set
+CONFIG_MTD_NAND_GPIO=m
+CONFIG_MTD_NAND_IDS=y
+# CONFIG_MTD_NAND_DISKONCHIP is not set
+# CONFIG_MTD_NAND_SHARPSL is not set
+# CONFIG_MTD_NAND_CAFE is not set
+CONFIG_MTD_NAND_CM_X270=y
+# CONFIG_MTD_NAND_NANDSIM is not set
+CONFIG_MTD_NAND_PLATFORM=y
+# CONFIG_MTD_ALAUDA is not set
+# CONFIG_MTD_ONENAND is not set
+
+#
+# LPDDR flash memory drivers
+#
+# CONFIG_MTD_LPDDR is not set
+
+#
+# UBI - Unsorted block images
+#
+# CONFIG_MTD_UBI is not set
+# CONFIG_PARPORT is not set
+CONFIG_BLK_DEV=y
+# CONFIG_BLK_CPQ_DA is not set
+# CONFIG_BLK_CPQ_CISS_DA is not set
+# CONFIG_BLK_DEV_DAC960 is not set
+# CONFIG_BLK_DEV_UMEM is not set
+# CONFIG_BLK_DEV_COW_COMMON is not set
+CONFIG_BLK_DEV_LOOP=y
+# CONFIG_BLK_DEV_CRYPTOLOOP is not set
+# CONFIG_BLK_DEV_NBD is not set
+# CONFIG_BLK_DEV_SX8 is not set
+# CONFIG_BLK_DEV_UB is not set
+CONFIG_BLK_DEV_RAM=y
+CONFIG_BLK_DEV_RAM_COUNT=16
+CONFIG_BLK_DEV_RAM_SIZE=4096
+# CONFIG_BLK_DEV_XIP is not set
+# CONFIG_CDROM_PKTCDVD is not set
+# CONFIG_ATA_OVER_ETH is not set
+# CONFIG_MISC_DEVICES is not set
+CONFIG_HAVE_IDE=y
+# CONFIG_IDE is not set
+
+#
+# SCSI device support
+#
+# CONFIG_RAID_ATTRS is not set
+CONFIG_SCSI=y
+CONFIG_SCSI_DMA=y
+# CONFIG_SCSI_TGT is not set
+# CONFIG_SCSI_NETLINK is not set
+CONFIG_SCSI_PROC_FS=y
+
+#
+# SCSI support type (disk, tape, CD-ROM)
+#
+CONFIG_BLK_DEV_SD=y
+# CONFIG_CHR_DEV_ST is not set
+# CONFIG_CHR_DEV_OSST is not set
+# CONFIG_BLK_DEV_SR is not set
+# CONFIG_CHR_DEV_SG is not set
+# CONFIG_CHR_DEV_SCH is not set
+
+#
+# Some SCSI devices (e.g. CD jukebox) support multiple LUNs
+#
+# CONFIG_SCSI_MULTI_LUN is not set
+# CONFIG_SCSI_CONSTANTS is not set
+# CONFIG_SCSI_LOGGING is not set
+# CONFIG_SCSI_SCAN_ASYNC is not set
+CONFIG_SCSI_WAIT_SCAN=m
+
+#
+# SCSI Transports
+#
+# CONFIG_SCSI_SPI_ATTRS is not set
+# CONFIG_SCSI_FC_ATTRS is not set
+# CONFIG_SCSI_ISCSI_ATTRS is not set
+# CONFIG_SCSI_SAS_LIBSAS is not set
+# CONFIG_SCSI_SRP_ATTRS is not set
+CONFIG_SCSI_LOWLEVEL=y
+# CONFIG_ISCSI_TCP is not set
+# CONFIG_BLK_DEV_3W_XXXX_RAID is not set
+# CONFIG_SCSI_3W_9XXX is not set
+# CONFIG_SCSI_ACARD is not set
+# CONFIG_SCSI_AACRAID is not set
+# CONFIG_SCSI_AIC7XXX is not set
+# CONFIG_SCSI_AIC7XXX_OLD is not set
+# CONFIG_SCSI_AIC79XX is not set
+# CONFIG_SCSI_AIC94XX is not set
+# CONFIG_SCSI_DPT_I2O is not set
+# CONFIG_SCSI_ADVANSYS is not set
+# CONFIG_SCSI_ARCMSR is not set
+# CONFIG_MEGARAID_NEWGEN is not set
+# CONFIG_MEGARAID_LEGACY is not set
+# CONFIG_MEGARAID_SAS is not set
+# CONFIG_SCSI_HPTIOP is not set
+# CONFIG_LIBFC is not set
+# CONFIG_FCOE is not set
+# CONFIG_SCSI_DMX3191D is not set
+# CONFIG_SCSI_FUTURE_DOMAIN is not set
+# CONFIG_SCSI_IPS is not set
+# CONFIG_SCSI_INITIO is not set
+# CONFIG_SCSI_INIA100 is not set
+# CONFIG_SCSI_MVSAS is not set
+# CONFIG_SCSI_STEX is not set
+# CONFIG_SCSI_SYM53C8XX_2 is not set
+# CONFIG_SCSI_IPR is not set
+# CONFIG_SCSI_QLOGIC_1280 is not set
+# CONFIG_SCSI_QLA_FC is not set
+# CONFIG_SCSI_QLA_ISCSI is not set
+# CONFIG_SCSI_LPFC is not set
+# CONFIG_SCSI_DC395x is not set
+# CONFIG_SCSI_DC390T is not set
+# CONFIG_SCSI_NSP32 is not set
+# CONFIG_SCSI_DEBUG is not set
+# CONFIG_SCSI_SRP is not set
+# CONFIG_SCSI_LOWLEVEL_PCMCIA is not set
+# CONFIG_SCSI_DH is not set
+CONFIG_ATA=m
+# CONFIG_ATA_NONSTANDARD is not set
+# CONFIG_SATA_PMP is not set
+# CONFIG_SATA_AHCI is not set
+# CONFIG_SATA_SIL24 is not set
+CONFIG_ATA_SFF=y
+# CONFIG_SATA_SVW is not set
+# CONFIG_ATA_PIIX is not set
+# CONFIG_SATA_MV is not set
+# CONFIG_SATA_NV is not set
+# CONFIG_PDC_ADMA is not set
+# CONFIG_SATA_QSTOR is not set
+# CONFIG_SATA_PROMISE is not set
+# CONFIG_SATA_SX4 is not set
+# CONFIG_SATA_SIL is not set
+# CONFIG_SATA_SIS is not set
+# CONFIG_SATA_ULI is not set
+# CONFIG_SATA_VIA is not set
+# CONFIG_SATA_VITESSE is not set
+# CONFIG_SATA_INIC162X is not set
+# CONFIG_PATA_ALI is not set
+# CONFIG_PATA_AMD is not set
+# CONFIG_PATA_ARTOP is not set
+# CONFIG_PATA_ATIIXP is not set
+# CONFIG_PATA_CMD640_PCI is not set
+# CONFIG_PATA_CMD64X is not set
+# CONFIG_PATA_CS5520 is not set
+# CONFIG_PATA_CS5530 is not set
+# CONFIG_PATA_CYPRESS is not set
+# CONFIG_PATA_EFAR is not set
+# CONFIG_ATA_GENERIC is not set
+# CONFIG_PATA_HPT366 is not set
+# CONFIG_PATA_HPT37X is not set
+# CONFIG_PATA_HPT3X2N is not set
+# CONFIG_PATA_HPT3X3 is not set
+# CONFIG_PATA_IT821X is not set
+# CONFIG_PATA_IT8213 is not set
+# CONFIG_PATA_JMICRON is not set
+# CONFIG_PATA_TRIFLEX is not set
+# CONFIG_PATA_MARVELL is not set
+# CONFIG_PATA_MPIIX is not set
+# CONFIG_PATA_OLDPIIX is not set
+# CONFIG_PATA_NETCELL is not set
+# CONFIG_PATA_NINJA32 is not set
+# CONFIG_PATA_NS87410 is not set
+# CONFIG_PATA_NS87415 is not set
+# CONFIG_PATA_OPTI is not set
+# CONFIG_PATA_OPTIDMA is not set
+CONFIG_PATA_PCMCIA=m
+# CONFIG_PATA_PDC_OLD is not set
+# CONFIG_PATA_RADISYS is not set
+# CONFIG_PATA_RZ1000 is not set
+# CONFIG_PATA_SC1200 is not set
+# CONFIG_PATA_SERVERWORKS is not set
+# CONFIG_PATA_PDC2027X is not set
+# CONFIG_PATA_SIL680 is not set
+# CONFIG_PATA_SIS is not set
+# CONFIG_PATA_VIA is not set
+# CONFIG_PATA_WINBOND is not set
+# CONFIG_PATA_PLATFORM is not set
+# CONFIG_PATA_SCH is not set
+# CONFIG_MD is not set
+# CONFIG_FUSION is not set
+
+#
+# IEEE 1394 (FireWire) support
+#
+
+#
+# Enable only one of the two stacks, unless you know what you are doing
+#
+# CONFIG_FIREWIRE is not set
+# CONFIG_IEEE1394 is not set
+# CONFIG_I2O is not set
+CONFIG_NETDEVICES=y
+# CONFIG_DUMMY is not set
+# CONFIG_BONDING is not set
+# CONFIG_MACVLAN is not set
+# CONFIG_EQUALIZER is not set
+# CONFIG_TUN is not set
+# CONFIG_VETH is not set
+# CONFIG_ARCNET is not set
+# CONFIG_PHYLIB is not set
+CONFIG_NET_ETHERNET=y
+CONFIG_MII=y
+# CONFIG_AX88796 is not set
+# CONFIG_HAPPYMEAL is not set
+# CONFIG_SUNGEM is not set
+# CONFIG_CASSINI is not set
+# CONFIG_NET_VENDOR_3COM is not set
+# CONFIG_SMC91X is not set
+CONFIG_DM9000=y
+CONFIG_DM9000_DEBUGLEVEL=1
+# CONFIG_DM9000_FORCE_SIMPLE_PHY_POLL is not set
+# CONFIG_SMC911X is not set
+# CONFIG_SMSC911X is not set
+# CONFIG_DNET is not set
+# CONFIG_NET_TULIP is not set
+# CONFIG_HP100 is not set
+# CONFIG_IBM_NEW_EMAC_ZMII is not set
+# CONFIG_IBM_NEW_EMAC_RGMII is not set
+# CONFIG_IBM_NEW_EMAC_TAH is not set
+# CONFIG_IBM_NEW_EMAC_EMAC4 is not set
+# CONFIG_IBM_NEW_EMAC_NO_FLOW_CTRL is not set
+# CONFIG_IBM_NEW_EMAC_MAL_CLR_ICINTSTAT is not set
+# CONFIG_IBM_NEW_EMAC_MAL_COMMON_ERR is not set
+CONFIG_NET_PCI=y
+# CONFIG_PCNET32 is not set
+# CONFIG_AMD8111_ETH is not set
+# CONFIG_ADAPTEC_STARFIRE is not set
+# CONFIG_B44 is not set
+# CONFIG_FORCEDETH is not set
+# CONFIG_E100 is not set
+# CONFIG_FEALNX is not set
+# CONFIG_NATSEMI is not set
+# CONFIG_NE2K_PCI is not set
+# CONFIG_8139CP is not set
+CONFIG_8139TOO=y
+# CONFIG_8139TOO_PIO is not set
+# CONFIG_8139TOO_TUNE_TWISTER is not set
+# CONFIG_8139TOO_8129 is not set
+# CONFIG_8139_OLD_RX_RESET is not set
+# CONFIG_R6040 is not set
+# CONFIG_SIS900 is not set
+# CONFIG_EPIC100 is not set
+# CONFIG_SMSC9420 is not set
+# CONFIG_SUNDANCE is not set
+# CONFIG_TLAN is not set
+# CONFIG_VIA_RHINE is not set
+# CONFIG_SC92031 is not set
+# CONFIG_ATL2 is not set
+# CONFIG_NETDEV_1000 is not set
+# CONFIG_NETDEV_10000 is not set
+# CONFIG_TR is not set
+
+#
+# Wireless LAN
+#
+# CONFIG_WLAN_PRE80211 is not set
+CONFIG_WLAN_80211=y
+# CONFIG_PCMCIA_RAYCS is not set
+CONFIG_LIBERTAS=m
+# CONFIG_LIBERTAS_USB is not set
+# CONFIG_LIBERTAS_CS is not set
+CONFIG_LIBERTAS_SDIO=m
+# CONFIG_LIBERTAS_DEBUG is not set
+# CONFIG_HERMES is not set
+# CONFIG_ATMEL is not set
+# CONFIG_AIRO_CS is not set
+# CONFIG_PCMCIA_WL3501 is not set
+# CONFIG_PRISM54 is not set
+# CONFIG_USB_ZD1201 is not set
+# CONFIG_USB_NET_RNDIS_WLAN is not set
+# CONFIG_IPW2100 is not set
+# CONFIG_IPW2200 is not set
+# CONFIG_IWLWIFI_LEDS is not set
+# CONFIG_HOSTAP is not set
+
+#
+# Enable WiMAX (Networking options) to see the WiMAX drivers
+#
+
+#
+# USB Network Adapters
+#
+# CONFIG_USB_CATC is not set
+# CONFIG_USB_KAWETH is not set
+# CONFIG_USB_PEGASUS is not set
+# CONFIG_USB_RTL8150 is not set
+# CONFIG_USB_USBNET is not set
+# CONFIG_NET_PCMCIA is not set
+# CONFIG_WAN is not set
+# CONFIG_FDDI is not set
+# CONFIG_HIPPI is not set
+CONFIG_PPP=m
+CONFIG_PPP_MULTILINK=y
+CONFIG_PPP_FILTER=y
+CONFIG_PPP_ASYNC=m
+# CONFIG_PPP_SYNC_TTY is not set
+CONFIG_PPP_DEFLATE=m
+CONFIG_PPP_BSDCOMP=m
+# CONFIG_PPP_MPPE is not set
+# CONFIG_PPPOE is not set
+# CONFIG_PPPOL2TP is not set
+# CONFIG_SLIP is not set
+CONFIG_SLHC=m
+# CONFIG_NET_FC is not set
+# CONFIG_NETCONSOLE is not set
+# CONFIG_NETPOLL is not set
+# CONFIG_NET_POLL_CONTROLLER is not set
+# CONFIG_ISDN is not set
+
+#
+# Input device support
+#
+CONFIG_INPUT=y
+# CONFIG_INPUT_FF_MEMLESS is not set
+# CONFIG_INPUT_POLLDEV is not set
+
+#
+# Userland interfaces
+#
+CONFIG_INPUT_MOUSEDEV=y
+CONFIG_INPUT_MOUSEDEV_PSAUX=y
+CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024
+CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768
+# CONFIG_INPUT_JOYDEV is not set
+CONFIG_INPUT_EVDEV=y
+# CONFIG_INPUT_EVBUG is not set
+# CONFIG_INPUT_APMPOWER is not set
+
+#
+# Input Device Drivers
+#
+CONFIG_INPUT_KEYBOARD=y
+CONFIG_KEYBOARD_ATKBD=y
+# CONFIG_KEYBOARD_SUNKBD is not set
+# CONFIG_KEYBOARD_LKKBD is not set
+# CONFIG_KEYBOARD_XTKBD is not set
+# CONFIG_KEYBOARD_NEWTON is not set
+# CONFIG_KEYBOARD_STOWAWAY is not set
+CONFIG_KEYBOARD_PXA27x=m
+# CONFIG_KEYBOARD_GPIO is not set
+# CONFIG_INPUT_MOUSE is not set
+# CONFIG_INPUT_JOYSTICK is not set
+# CONFIG_INPUT_TABLET is not set
+CONFIG_INPUT_TOUCHSCREEN=y
+# CONFIG_TOUCHSCREEN_FUJITSU is not set
+# CONFIG_TOUCHSCREEN_GUNZE is not set
+# CONFIG_TOUCHSCREEN_ELO is not set
+# CONFIG_TOUCHSCREEN_WACOM_W8001 is not set
+# CONFIG_TOUCHSCREEN_MTOUCH is not set
+# CONFIG_TOUCHSCREEN_INEXIO is not set
+# CONFIG_TOUCHSCREEN_MK712 is not set
+# CONFIG_TOUCHSCREEN_PENMOUNT is not set
+# CONFIG_TOUCHSCREEN_TOUCHRIGHT is not set
+# CONFIG_TOUCHSCREEN_TOUCHWIN is not set
+CONFIG_TOUCHSCREEN_WM97XX=m
+# CONFIG_TOUCHSCREEN_WM9705 is not set
+CONFIG_TOUCHSCREEN_WM9712=y
+# CONFIG_TOUCHSCREEN_WM9713 is not set
+# CONFIG_TOUCHSCREEN_WM97XX_MAINSTONE is not set
+# CONFIG_TOUCHSCREEN_USB_COMPOSITE is not set
+# CONFIG_TOUCHSCREEN_TOUCHIT213 is not set
+# CONFIG_TOUCHSCREEN_TSC2007 is not set
+# CONFIG_INPUT_MISC is not set
+
+#
+# Hardware I/O ports
+#
+CONFIG_SERIO=y
+# CONFIG_SERIO_SERPORT is not set
+# CONFIG_SERIO_PCIPS2 is not set
+CONFIG_SERIO_LIBPS2=y
+# CONFIG_SERIO_RAW is not set
+# CONFIG_GAMEPORT is not set
+
+#
+# Character devices
+#
+CONFIG_VT=y
+CONFIG_CONSOLE_TRANSLATIONS=y
+CONFIG_VT_CONSOLE=y
+CONFIG_HW_CONSOLE=y
+# CONFIG_VT_HW_CONSOLE_BINDING is not set
+CONFIG_DEVKMEM=y
+# CONFIG_SERIAL_NONSTANDARD is not set
+# CONFIG_NOZOMI is not set
+
+#
+# Serial drivers
+#
+# CONFIG_SERIAL_8250 is not set
+
+#
+# Non-8250 serial port support
+#
+CONFIG_SERIAL_PXA=y
+CONFIG_SERIAL_PXA_CONSOLE=y
+CONFIG_SERIAL_CORE=y
+CONFIG_SERIAL_CORE_CONSOLE=y
+# CONFIG_SERIAL_JSM is not set
+CONFIG_UNIX98_PTYS=y
+# CONFIG_DEVPTS_MULTIPLE_INSTANCES is not set
+CONFIG_LEGACY_PTYS=y
+CONFIG_LEGACY_PTY_COUNT=16
+# CONFIG_IPMI_HANDLER is not set
+# CONFIG_HW_RANDOM is not set
+# CONFIG_R3964 is not set
+# CONFIG_APPLICOM is not set
+
+#
+# PCMCIA character devices
+#
+# CONFIG_SYNCLINK_CS is not set
+# CONFIG_CARDMAN_4000 is not set
+# CONFIG_CARDMAN_4040 is not set
+# CONFIG_IPWIRELESS is not set
+# CONFIG_RAW_DRIVER is not set
+# CONFIG_TCG_TPM is not set
+CONFIG_DEVPORT=y
+CONFIG_I2C=y
+CONFIG_I2C_BOARDINFO=y
+CONFIG_I2C_CHARDEV=m
+CONFIG_I2C_HELPER_AUTO=y
+
+#
+# I2C Hardware Bus support
+#
+
+#
+# PC SMBus host controller drivers
+#
+# CONFIG_I2C_ALI1535 is not set
+# CONFIG_I2C_ALI1563 is not set
+# CONFIG_I2C_ALI15X3 is not set
+# CONFIG_I2C_AMD756 is not set
+# CONFIG_I2C_AMD8111 is not set
+# CONFIG_I2C_I801 is not set
+# CONFIG_I2C_ISCH is not set
+# CONFIG_I2C_PIIX4 is not set
+# CONFIG_I2C_NFORCE2 is not set
+# CONFIG_I2C_SIS5595 is not set
+# CONFIG_I2C_SIS630 is not set
+# CONFIG_I2C_SIS96X is not set
+# CONFIG_I2C_VIA is not set
+# CONFIG_I2C_VIAPRO is not set
+
+#
+# I2C system bus drivers (mostly embedded / system-on-chip)
+#
+# CONFIG_I2C_GPIO is not set
+# CONFIG_I2C_OCORES is not set
+CONFIG_I2C_PXA=y
+# CONFIG_I2C_PXA_SLAVE is not set
+# CONFIG_I2C_SIMTEC is not set
+
+#
+# External I2C/SMBus adapter drivers
+#
+# CONFIG_I2C_PARPORT_LIGHT is not set
+# CONFIG_I2C_TAOS_EVM is not set
+# CONFIG_I2C_TINY_USB is not set
+
+#
+# Graphics adapter I2C/DDC channel drivers
+#
+# CONFIG_I2C_VOODOO3 is not set
+
+#
+# Other I2C/SMBus bus drivers
+#
+# CONFIG_I2C_PCA_PLATFORM is not set
+# CONFIG_I2C_STUB is not set
+
+#
+# Miscellaneous I2C Chip support
+#
+# CONFIG_DS1682 is not set
+# CONFIG_SENSORS_PCF8574 is not set
+# CONFIG_PCF8575 is not set
+# CONFIG_SENSORS_PCA9539 is not set
+# CONFIG_SENSORS_PCF8591 is not set
+# CONFIG_SENSORS_MAX6875 is not set
+# CONFIG_SENSORS_TSL2550 is not set
+# CONFIG_I2C_DEBUG_CORE is not set
+# CONFIG_I2C_DEBUG_ALGO is not set
+# CONFIG_I2C_DEBUG_BUS is not set
+# CONFIG_I2C_DEBUG_CHIP is not set
+# CONFIG_SPI is not set
+CONFIG_ARCH_REQUIRE_GPIOLIB=y
+CONFIG_GPIOLIB=y
+# CONFIG_DEBUG_GPIO is not set
+# CONFIG_GPIO_SYSFS is not set
+
+#
+# Memory mapped GPIO expanders:
+#
+
+#
+# I2C GPIO expanders:
+#
+# CONFIG_GPIO_MAX732X is not set
+# CONFIG_GPIO_PCA953X is not set
+# CONFIG_GPIO_PCF857X is not set
+
+#
+# PCI GPIO expanders:
+#
+# CONFIG_GPIO_BT8XX is not set
+
+#
+# SPI GPIO expanders:
+#
+# CONFIG_W1 is not set
+# CONFIG_POWER_SUPPLY is not set
+# CONFIG_HWMON is not set
+# CONFIG_THERMAL is not set
+# CONFIG_THERMAL_HWMON is not set
+# CONFIG_WATCHDOG is not set
+CONFIG_SSB_POSSIBLE=y
+
+#
+# Sonics Silicon Backplane
+#
+# CONFIG_SSB is not set
+
+#
+# Multifunction device drivers
+#
+# CONFIG_MFD_CORE is not set
+# CONFIG_MFD_SM501 is not set
+# CONFIG_MFD_ASIC3 is not set
+# CONFIG_HTC_EGPIO is not set
+# CONFIG_HTC_PASIC3 is not set
+# CONFIG_UCB1400_CORE is not set
+# CONFIG_TPS65010 is not set
+# CONFIG_TWL4030_CORE is not set
+# CONFIG_MFD_TMIO is not set
+# CONFIG_MFD_T7L66XB is not set
+# CONFIG_MFD_TC6387XB is not set
+# CONFIG_MFD_TC6393XB is not set
+# CONFIG_PMIC_DA903X is not set
+# CONFIG_MFD_WM8400 is not set
+# CONFIG_MFD_WM8350_I2C is not set
+# CONFIG_MFD_PCF50633 is not set
+
+#
+# Multimedia devices
+#
+
+#
+# Multimedia core support
+#
+# CONFIG_VIDEO_DEV is not set
+# CONFIG_DVB_CORE is not set
+# CONFIG_VIDEO_MEDIA is not set
+
+#
+# Multimedia drivers
+#
+# CONFIG_DAB is not set
+
+#
+# Graphics support
+#
+# CONFIG_DRM is not set
+# CONFIG_VGASTATE is not set
+# CONFIG_VIDEO_OUTPUT_CONTROL is not set
+CONFIG_FB=y
+# CONFIG_FIRMWARE_EDID is not set
+# CONFIG_FB_DDC is not set
+# CONFIG_FB_BOOT_VESA_SUPPORT is not set
+CONFIG_FB_CFB_FILLRECT=y
+CONFIG_FB_CFB_COPYAREA=y
+CONFIG_FB_CFB_IMAGEBLIT=y
+# CONFIG_FB_CFB_REV_PIXELS_IN_BYTE is not set
+# CONFIG_FB_SYS_FILLRECT is not set
+# CONFIG_FB_SYS_COPYAREA is not set
+# CONFIG_FB_SYS_IMAGEBLIT is not set
+# CONFIG_FB_FOREIGN_ENDIAN is not set
+# CONFIG_FB_SYS_FOPS is not set
+# CONFIG_FB_SVGALIB is not set
+# CONFIG_FB_MACMODES is not set
+# CONFIG_FB_BACKLIGHT is not set
+# CONFIG_FB_MODE_HELPERS is not set
+# CONFIG_FB_TILEBLITTING is not set
+
+#
+# Frame buffer hardware drivers
+#
+# CONFIG_FB_CIRRUS is not set
+# CONFIG_FB_PM2 is not set
+# CONFIG_FB_CYBER2000 is not set
+# CONFIG_FB_ASILIANT is not set
+# CONFIG_FB_IMSTT is not set
+# CONFIG_FB_S1D13XXX is not set
+# CONFIG_FB_NVIDIA is not set
+# CONFIG_FB_RIVA is not set
+# CONFIG_FB_MATROX is not set
+# CONFIG_FB_RADEON is not set
+# CONFIG_FB_ATY128 is not set
+# CONFIG_FB_ATY is not set
+# CONFIG_FB_S3 is not set
+# CONFIG_FB_SAVAGE is not set
+# CONFIG_FB_SIS is not set
+# CONFIG_FB_VIA is not set
+# CONFIG_FB_NEOMAGIC is not set
+# CONFIG_FB_KYRO is not set
+# CONFIG_FB_3DFX is not set
+# CONFIG_FB_VOODOO1 is not set
+# CONFIG_FB_VT8623 is not set
+# CONFIG_FB_TRIDENT is not set
+# CONFIG_FB_ARK is not set
+# CONFIG_FB_PM3 is not set
+# CONFIG_FB_CARMINE is not set
+CONFIG_FB_PXA=y
+# CONFIG_FB_PXA_OVERLAY is not set
+# CONFIG_FB_PXA_SMARTPANEL is not set
+CONFIG_FB_PXA_PARAMETERS=y
+CONFIG_FB_MBX=m
+# CONFIG_FB_W100 is not set
+# CONFIG_FB_VIRTUAL is not set
+# CONFIG_FB_METRONOME is not set
+# CONFIG_FB_MB862XX is not set
+# CONFIG_BACKLIGHT_LCD_SUPPORT is not set
+
+#
+# Display device support
+#
+# CONFIG_DISPLAY_SUPPORT is not set
+
+#
+# Console display driver support
+#
+# CONFIG_VGA_CONSOLE is not set
+CONFIG_DUMMY_CONSOLE=y
+CONFIG_FRAMEBUFFER_CONSOLE=y
+# CONFIG_FRAMEBUFFER_CONSOLE_DETECT_PRIMARY is not set
+# CONFIG_FRAMEBUFFER_CONSOLE_ROTATION is not set
+# CONFIG_FONTS is not set
+CONFIG_FONT_8x8=y
+CONFIG_FONT_8x16=y
+CONFIG_LOGO=y
+CONFIG_LOGO_LINUX_MONO=y
+CONFIG_LOGO_LINUX_VGA16=y
+CONFIG_LOGO_LINUX_CLUT224=y
+CONFIG_SOUND=m
+CONFIG_SOUND_OSS_CORE=y
+CONFIG_SND=m
+CONFIG_SND_TIMER=m
+CONFIG_SND_PCM=m
+# CONFIG_SND_SEQUENCER is not set
+CONFIG_SND_OSSEMUL=y
+CONFIG_SND_MIXER_OSS=m
+CONFIG_SND_PCM_OSS=m
+CONFIG_SND_PCM_OSS_PLUGINS=y
+# CONFIG_SND_DYNAMIC_MINORS is not set
+CONFIG_SND_SUPPORT_OLD_API=y
+CONFIG_SND_VERBOSE_PROCFS=y
+# CONFIG_SND_VERBOSE_PRINTK is not set
+# CONFIG_SND_DEBUG is not set
+CONFIG_SND_VMASTER=y
+CONFIG_SND_AC97_CODEC=m
+CONFIG_SND_DRIVERS=y
+# CONFIG_SND_DUMMY is not set
+# CONFIG_SND_MTPAV is not set
+# CONFIG_SND_SERIAL_U16550 is not set
+# CONFIG_SND_MPU401 is not set
+# CONFIG_SND_AC97_POWER_SAVE is not set
+CONFIG_SND_PCI=y
+# CONFIG_SND_AD1889 is not set
+# CONFIG_SND_ALS300 is not set
+# CONFIG_SND_ALI5451 is not set
+# CONFIG_SND_ATIIXP is not set
+# CONFIG_SND_ATIIXP_MODEM is not set
+# CONFIG_SND_AU8810 is not set
+# CONFIG_SND_AU8820 is not set
+# CONFIG_SND_AU8830 is not set
+# CONFIG_SND_AW2 is not set
+# CONFIG_SND_AZT3328 is not set
+# CONFIG_SND_BT87X is not set
+# CONFIG_SND_CA0106 is not set
+# CONFIG_SND_CMIPCI is not set
+# CONFIG_SND_OXYGEN is not set
+# CONFIG_SND_CS4281 is not set
+# CONFIG_SND_CS46XX is not set
+# CONFIG_SND_DARLA20 is not set
+# CONFIG_SND_GINA20 is not set
+# CONFIG_SND_LAYLA20 is not set
+# CONFIG_SND_DARLA24 is not set
+# CONFIG_SND_GINA24 is not set
+# CONFIG_SND_LAYLA24 is not set
+# CONFIG_SND_MONA is not set
+# CONFIG_SND_MIA is not set
+# CONFIG_SND_ECHO3G is not set
+# CONFIG_SND_INDIGO is not set
+# CONFIG_SND_INDIGOIO is not set
+# CONFIG_SND_INDIGODJ is not set
+# CONFIG_SND_EMU10K1 is not set
+# CONFIG_SND_EMU10K1X is not set
+# CONFIG_SND_ENS1370 is not set
+# CONFIG_SND_ENS1371 is not set
+# CONFIG_SND_ES1938 is not set
+# CONFIG_SND_ES1968 is not set
+# CONFIG_SND_FM801 is not set
+# CONFIG_SND_HDA_INTEL is not set
+# CONFIG_SND_HDSP is not set
+# CONFIG_SND_HDSPM is not set
+# CONFIG_SND_HIFIER is not set
+# CONFIG_SND_ICE1712 is not set
+# CONFIG_SND_ICE1724 is not set
+# CONFIG_SND_INTEL8X0 is not set
+# CONFIG_SND_INTEL8X0M is not set
+# CONFIG_SND_KORG1212 is not set
+# CONFIG_SND_MAESTRO3 is not set
+# CONFIG_SND_MIXART is not set
+# CONFIG_SND_NM256 is not set
+# CONFIG_SND_PCXHR is not set
+# CONFIG_SND_RIPTIDE is not set
+# CONFIG_SND_RME32 is not set
+# CONFIG_SND_RME96 is not set
+# CONFIG_SND_RME9652 is not set
+# CONFIG_SND_SONICVIBES is not set
+# CONFIG_SND_TRIDENT is not set
+# CONFIG_SND_VIA82XX is not set
+# CONFIG_SND_VIA82XX_MODEM is not set
+# CONFIG_SND_VIRTUOSO is not set
+# CONFIG_SND_VX222 is not set
+# CONFIG_SND_YMFPCI is not set
+CONFIG_SND_ARM=y
+CONFIG_SND_PXA2XX_PCM=m
+CONFIG_SND_PXA2XX_LIB=m
+CONFIG_SND_PXA2XX_LIB_AC97=y
+CONFIG_SND_PXA2XX_AC97=m
+CONFIG_SND_USB=y
+# CONFIG_SND_USB_AUDIO is not set
+# CONFIG_SND_USB_CAIAQ is not set
+CONFIG_SND_PCMCIA=y
+# CONFIG_SND_VXPOCKET is not set
+# CONFIG_SND_PDAUDIOCF is not set
+# CONFIG_SND_SOC is not set
+# CONFIG_SOUND_PRIME is not set
+CONFIG_AC97_BUS=m
+CONFIG_HID_SUPPORT=y
+CONFIG_HID=y
+CONFIG_HID_DEBUG=y
+# CONFIG_HIDRAW is not set
+
+#
+# USB Input Devices
+#
+CONFIG_USB_HID=y
+# CONFIG_HID_PID is not set
+# CONFIG_USB_HIDDEV is not set
+
+#
+# Special HID drivers
+#
+CONFIG_HID_COMPAT=y
+# CONFIG_HID_A4TECH is not set
+# CONFIG_HID_APPLE is not set
+# CONFIG_HID_BELKIN is not set
+# CONFIG_HID_CHERRY is not set
+# CONFIG_HID_CHICONY is not set
+# CONFIG_HID_CYPRESS is not set
+# CONFIG_HID_EZKEY is not set
+# CONFIG_HID_GYRATION is not set
+# CONFIG_HID_LOGITECH is not set
+# CONFIG_HID_MICROSOFT is not set
+# CONFIG_HID_MONTEREY is not set
+# CONFIG_HID_NTRIG is not set
+# CONFIG_HID_PANTHERLORD is not set
+# CONFIG_HID_PETALYNX is not set
+# CONFIG_HID_SAMSUNG is not set
+# CONFIG_HID_SONY is not set
+# CONFIG_HID_SUNPLUS is not set
+# CONFIG_GREENASIA_FF is not set
+# CONFIG_HID_TOPSEED is not set
+# CONFIG_THRUSTMASTER_FF is not set
+# CONFIG_ZEROPLUS_FF is not set
+CONFIG_USB_SUPPORT=y
+CONFIG_USB_ARCH_HAS_HCD=y
+CONFIG_USB_ARCH_HAS_OHCI=y
+CONFIG_USB_ARCH_HAS_EHCI=y
+CONFIG_USB=y
+# CONFIG_USB_DEBUG is not set
+# CONFIG_USB_ANNOUNCE_NEW_DEVICES is not set
+
+#
+# Miscellaneous USB options
+#
+CONFIG_USB_DEVICEFS=y
+# CONFIG_USB_DEVICE_CLASS is not set
+# CONFIG_USB_DYNAMIC_MINORS is not set
+# CONFIG_USB_SUSPEND is not set
+# CONFIG_USB_OTG is not set
+# CONFIG_USB_OTG_WHITELIST is not set
+# CONFIG_USB_OTG_BLACKLIST_HUB is not set
+CONFIG_USB_MON=y
+# CONFIG_USB_WUSB is not set
+# CONFIG_USB_WUSB_CBAF is not set
+
+#
+# USB Host Controller Drivers
+#
+# CONFIG_USB_C67X00_HCD is not set
+# CONFIG_USB_EHCI_HCD is not set
+# CONFIG_USB_OXU210HP_HCD is not set
+# CONFIG_USB_ISP116X_HCD is not set
+# CONFIG_USB_ISP1760_HCD is not set
+CONFIG_USB_OHCI_HCD=y
+# CONFIG_USB_OHCI_BIG_ENDIAN_DESC is not set
+# CONFIG_USB_OHCI_BIG_ENDIAN_MMIO is not set
+CONFIG_USB_OHCI_LITTLE_ENDIAN=y
+# CONFIG_USB_UHCI_HCD is not set
+# CONFIG_USB_SL811_HCD is not set
+# CONFIG_USB_R8A66597_HCD is not set
+# CONFIG_USB_WHCI_HCD is not set
+# CONFIG_USB_HWA_HCD is not set
+# CONFIG_USB_MUSB_HDRC is not set
+
+#
+# USB Device Class drivers
+#
+# CONFIG_USB_ACM is not set
+# CONFIG_USB_PRINTER is not set
+# CONFIG_USB_WDM is not set
+# CONFIG_USB_TMC is not set
+
+#
+# NOTE: USB_STORAGE depends on SCSI but BLK_DEV_SD may also be needed;
+#
+
+#
+# see USB_STORAGE Help for more information
+#
+CONFIG_USB_STORAGE=y
+# CONFIG_USB_STORAGE_DEBUG is not set
+# CONFIG_USB_STORAGE_DATAFAB is not set
+# CONFIG_USB_STORAGE_FREECOM is not set
+# CONFIG_USB_STORAGE_ISD200 is not set
+# CONFIG_USB_STORAGE_USBAT is not set
+# CONFIG_USB_STORAGE_SDDR09 is not set
+# CONFIG_USB_STORAGE_SDDR55 is not set
+# CONFIG_USB_STORAGE_JUMPSHOT is not set
+# CONFIG_USB_STORAGE_ALAUDA is not set
+# CONFIG_USB_STORAGE_ONETOUCH is not set
+# CONFIG_USB_STORAGE_KARMA is not set
+# CONFIG_USB_STORAGE_CYPRESS_ATACB is not set
+# CONFIG_USB_LIBUSUAL is not set
+
+#
+# USB Imaging devices
+#
+# CONFIG_USB_MDC800 is not set
+# CONFIG_USB_MICROTEK is not set
+
+#
+# USB port drivers
+#
+# CONFIG_USB_SERIAL is not set
+
+#
+# USB Miscellaneous drivers
+#
+# CONFIG_USB_EMI62 is not set
+# CONFIG_USB_EMI26 is not set
+# CONFIG_USB_ADUTUX is not set
+# CONFIG_USB_SEVSEG is not set
+# CONFIG_USB_RIO500 is not set
+# CONFIG_USB_LEGOTOWER is not set
+# CONFIG_USB_LCD is not set
+# CONFIG_USB_BERRY_CHARGE is not set
+# CONFIG_USB_LED is not set
+# CONFIG_USB_CYPRESS_CY7C63 is not set
+# CONFIG_USB_CYTHERM is not set
+# CONFIG_USB_PHIDGET is not set
+# CONFIG_USB_IDMOUSE is not set
+# CONFIG_USB_FTDI_ELAN is not set
+# CONFIG_USB_APPLEDISPLAY is not set
+# CONFIG_USB_LD is not set
+# CONFIG_USB_TRANCEVIBRATOR is not set
+# CONFIG_USB_IOWARRIOR is not set
+# CONFIG_USB_TEST is not set
+# CONFIG_USB_ISIGHTFW is not set
+# CONFIG_USB_VST is not set
+# CONFIG_USB_GADGET is not set
+
+#
+# OTG and related infrastructure
+#
+# CONFIG_USB_GPIO_VBUS is not set
+# CONFIG_UWB is not set
+CONFIG_MMC=m
+# CONFIG_MMC_DEBUG is not set
+# CONFIG_MMC_UNSAFE_RESUME is not set
+
+#
+# MMC/SD/SDIO Card Drivers
+#
+CONFIG_MMC_BLOCK=m
+CONFIG_MMC_BLOCK_BOUNCE=y
+# CONFIG_SDIO_UART is not set
+# CONFIG_MMC_TEST is not set
+
+#
+# MMC/SD/SDIO Host Controller Drivers
+#
+CONFIG_MMC_PXA=m
+# CONFIG_MMC_SDHCI is not set
+# CONFIG_MMC_TIFM_SD is not set
+# CONFIG_MMC_SDRICOH_CS is not set
+# CONFIG_MEMSTICK is not set
+# CONFIG_ACCESSIBILITY is not set
+CONFIG_NEW_LEDS=y
+CONFIG_LEDS_CLASS=y
+
+#
+# LED drivers
+#
+# CONFIG_LEDS_PCA9532 is not set
+# CONFIG_LEDS_GPIO is not set
+# CONFIG_LEDS_PCA955X is not set
+
+#
+# LED Triggers
+#
+CONFIG_LEDS_TRIGGERS=y
+# CONFIG_LEDS_TRIGGER_TIMER is not set
+CONFIG_LEDS_TRIGGER_HEARTBEAT=y
+# CONFIG_LEDS_TRIGGER_BACKLIGHT is not set
+# CONFIG_LEDS_TRIGGER_DEFAULT_ON is not set
+CONFIG_RTC_LIB=y
+CONFIG_RTC_CLASS=y
+CONFIG_RTC_HCTOSYS=y
+CONFIG_RTC_HCTOSYS_DEVICE="rtc0"
+# CONFIG_RTC_DEBUG is not set
+
+#
+# RTC interfaces
+#
+CONFIG_RTC_INTF_SYSFS=y
+CONFIG_RTC_INTF_PROC=y
+CONFIG_RTC_INTF_DEV=y
+# CONFIG_RTC_INTF_DEV_UIE_EMUL is not set
+# CONFIG_RTC_DRV_TEST is not set
+
+#
+# I2C RTC drivers
+#
+# CONFIG_RTC_DRV_DS1307 is not set
+# CONFIG_RTC_DRV_DS1374 is not set
+# CONFIG_RTC_DRV_DS1672 is not set
+# CONFIG_RTC_DRV_MAX6900 is not set
+# CONFIG_RTC_DRV_RS5C372 is not set
+# CONFIG_RTC_DRV_ISL1208 is not set
+# CONFIG_RTC_DRV_X1205 is not set
+# CONFIG_RTC_DRV_PCF8563 is not set
+# CONFIG_RTC_DRV_PCF8583 is not set
+# CONFIG_RTC_DRV_M41T80 is not set
+# CONFIG_RTC_DRV_S35390A is not set
+# CONFIG_RTC_DRV_FM3130 is not set
+# CONFIG_RTC_DRV_RX8581 is not set
+
+#
+# SPI RTC drivers
+#
+
+#
+# Platform RTC drivers
+#
+# CONFIG_RTC_DRV_CMOS is not set
+# CONFIG_RTC_DRV_DS1286 is not set
+# CONFIG_RTC_DRV_DS1511 is not set
+# CONFIG_RTC_DRV_DS1553 is not set
+# CONFIG_RTC_DRV_DS1742 is not set
+# CONFIG_RTC_DRV_STK17TA8 is not set
+# CONFIG_RTC_DRV_M48T86 is not set
+# CONFIG_RTC_DRV_M48T35 is not set
+# CONFIG_RTC_DRV_M48T59 is not set
+# CONFIG_RTC_DRV_BQ4802 is not set
+CONFIG_RTC_DRV_V3020=y
+
+#
+# on-CPU RTC drivers
+#
+CONFIG_RTC_DRV_SA1100=y
+# CONFIG_RTC_DRV_PXA is not set
+# CONFIG_DMADEVICES is not set
+# CONFIG_REGULATOR is not set
+# CONFIG_UIO is not set
+# CONFIG_STAGING is not set
+
+#
+# File systems
+#
+CONFIG_EXT2_FS=y
+# CONFIG_EXT2_FS_XATTR is not set
+# CONFIG_EXT2_FS_XIP is not set
+CONFIG_EXT3_FS=y
+CONFIG_EXT3_FS_XATTR=y
+# CONFIG_EXT3_FS_POSIX_ACL is not set
+# CONFIG_EXT3_FS_SECURITY is not set
+# CONFIG_EXT4_FS is not set
+CONFIG_JBD=y
+CONFIG_FS_MBCACHE=y
+# CONFIG_REISERFS_FS is not set
+# CONFIG_JFS_FS is not set
+# CONFIG_FS_POSIX_ACL is not set
+CONFIG_FILE_LOCKING=y
+# CONFIG_XFS_FS is not set
+# CONFIG_OCFS2_FS is not set
+# CONFIG_BTRFS_FS is not set
+CONFIG_DNOTIFY=y
+CONFIG_INOTIFY=y
+CONFIG_INOTIFY_USER=y
+# CONFIG_QUOTA is not set
+# CONFIG_AUTOFS_FS is not set
+# CONFIG_AUTOFS4_FS is not set
+# CONFIG_FUSE_FS is not set
+
+#
+# CD-ROM/DVD Filesystems
+#
+# CONFIG_ISO9660_FS is not set
+# CONFIG_UDF_FS is not set
+
+#
+# DOS/FAT/NT Filesystems
+#
+CONFIG_FAT_FS=m
+# CONFIG_MSDOS_FS is not set
+CONFIG_VFAT_FS=m
+CONFIG_FAT_DEFAULT_CODEPAGE=437
+CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1"
+# CONFIG_NTFS_FS is not set
+
+#
+# Pseudo filesystems
+#
+CONFIG_PROC_FS=y
+CONFIG_PROC_SYSCTL=y
+# CONFIG_PROC_PAGE_MONITOR is not set
+CONFIG_SYSFS=y
+CONFIG_TMPFS=y
+# CONFIG_TMPFS_POSIX_ACL is not set
+# CONFIG_HUGETLB_PAGE is not set
+# CONFIG_CONFIGFS_FS is not set
+CONFIG_MISC_FILESYSTEMS=y
+# CONFIG_ADFS_FS is not set
+# CONFIG_AFFS_FS is not set
+# CONFIG_HFS_FS is not set
+# CONFIG_HFSPLUS_FS is not set
+# CONFIG_BEFS_FS is not set
+# CONFIG_BFS_FS is not set
+# CONFIG_EFS_FS is not set
+CONFIG_JFFS2_FS=y
+CONFIG_JFFS2_FS_DEBUG=0
+CONFIG_JFFS2_FS_WRITEBUFFER=y
+# CONFIG_JFFS2_FS_WBUF_VERIFY is not set
+CONFIG_JFFS2_SUMMARY=y
+# CONFIG_JFFS2_FS_XATTR is not set
+# CONFIG_JFFS2_COMPRESSION_OPTIONS is not set
+CONFIG_JFFS2_ZLIB=y
+# CONFIG_JFFS2_LZO is not set
+CONFIG_JFFS2_RTIME=y
+# CONFIG_JFFS2_RUBIN is not set
+# CONFIG_CRAMFS is not set
+# CONFIG_SQUASHFS is not set
+# CONFIG_VXFS_FS is not set
+# CONFIG_MINIX_FS is not set
+# CONFIG_OMFS_FS is not set
+# CONFIG_HPFS_FS is not set
+# CONFIG_QNX4FS_FS is not set
+# CONFIG_ROMFS_FS is not set
+# CONFIG_SYSV_FS is not set
+# CONFIG_UFS_FS is not set
+CONFIG_NETWORK_FILESYSTEMS=y
+CONFIG_NFS_FS=y
+CONFIG_NFS_V3=y
+# CONFIG_NFS_V3_ACL is not set
+# CONFIG_NFS_V4 is not set
+CONFIG_ROOT_NFS=y
+# CONFIG_NFSD is not set
+CONFIG_LOCKD=y
+CONFIG_LOCKD_V4=y
+CONFIG_NFS_COMMON=y
+CONFIG_SUNRPC=y
+# CONFIG_SUNRPC_REGISTER_V4 is not set
+# CONFIG_RPCSEC_GSS_KRB5 is not set
+# CONFIG_RPCSEC_GSS_SPKM3 is not set
+# CONFIG_SMB_FS is not set
+CONFIG_CIFS=m
+# CONFIG_CIFS_STATS is not set
+# CONFIG_CIFS_WEAK_PW_HASH is not set
+# CONFIG_CIFS_XATTR is not set
+# CONFIG_CIFS_DEBUG2 is not set
+# CONFIG_CIFS_EXPERIMENTAL is not set
+# CONFIG_NCP_FS is not set
+# CONFIG_CODA_FS is not set
+# CONFIG_AFS_FS is not set
+
+#
+# Partition Types
+#
+CONFIG_PARTITION_ADVANCED=y
+# CONFIG_ACORN_PARTITION is not set
+# CONFIG_OSF_PARTITION is not set
+# CONFIG_AMIGA_PARTITION is not set
+# CONFIG_ATARI_PARTITION is not set
+# CONFIG_MAC_PARTITION is not set
+CONFIG_MSDOS_PARTITION=y
+# CONFIG_BSD_DISKLABEL is not set
+# CONFIG_MINIX_SUBPARTITION is not set
+# CONFIG_SOLARIS_X86_PARTITION is not set
+# CONFIG_UNIXWARE_DISKLABEL is not set
+# CONFIG_LDM_PARTITION is not set
+# CONFIG_SGI_PARTITION is not set
+# CONFIG_ULTRIX_PARTITION is not set
+# CONFIG_SUN_PARTITION is not set
+# CONFIG_KARMA_PARTITION is not set
+# CONFIG_EFI_PARTITION is not set
+# CONFIG_SYSV68_PARTITION is not set
+CONFIG_NLS=m
+CONFIG_NLS_DEFAULT="iso8859-1"
+CONFIG_NLS_CODEPAGE_437=m
+# CONFIG_NLS_CODEPAGE_737 is not set
+# CONFIG_NLS_CODEPAGE_775 is not set
+# CONFIG_NLS_CODEPAGE_850 is not set
+# CONFIG_NLS_CODEPAGE_852 is not set
+# CONFIG_NLS_CODEPAGE_855 is not set
+# CONFIG_NLS_CODEPAGE_857 is not set
+# CONFIG_NLS_CODEPAGE_860 is not set
+# CONFIG_NLS_CODEPAGE_861 is not set
+# CONFIG_NLS_CODEPAGE_862 is not set
+# CONFIG_NLS_CODEPAGE_863 is not set
+# CONFIG_NLS_CODEPAGE_864 is not set
+# CONFIG_NLS_CODEPAGE_865 is not set
+# CONFIG_NLS_CODEPAGE_866 is not set
+# CONFIG_NLS_CODEPAGE_869 is not set
+# CONFIG_NLS_CODEPAGE_936 is not set
+# CONFIG_NLS_CODEPAGE_950 is not set
+# CONFIG_NLS_CODEPAGE_932 is not set
+# CONFIG_NLS_CODEPAGE_949 is not set
+# CONFIG_NLS_CODEPAGE_874 is not set
+# CONFIG_NLS_ISO8859_8 is not set
+# CONFIG_NLS_CODEPAGE_1250 is not set
+# CONFIG_NLS_CODEPAGE_1251 is not set
+# CONFIG_NLS_ASCII is not set
+CONFIG_NLS_ISO8859_1=m
+# CONFIG_NLS_ISO8859_2 is not set
+# CONFIG_NLS_ISO8859_3 is not set
+# CONFIG_NLS_ISO8859_4 is not set
+# CONFIG_NLS_ISO8859_5 is not set
+# CONFIG_NLS_ISO8859_6 is not set
+# CONFIG_NLS_ISO8859_7 is not set
+# CONFIG_NLS_ISO8859_9 is not set
+# CONFIG_NLS_ISO8859_13 is not set
+# CONFIG_NLS_ISO8859_14 is not set
+# CONFIG_NLS_ISO8859_15 is not set
+# CONFIG_NLS_KOI8_R is not set
+# CONFIG_NLS_KOI8_U is not set
+CONFIG_NLS_UTF8=m
+# CONFIG_DLM is not set
+
+#
+# Kernel hacking
+#
+# CONFIG_PRINTK_TIME is not set
+CONFIG_ENABLE_WARN_DEPRECATED=y
+CONFIG_ENABLE_MUST_CHECK=y
+CONFIG_FRAME_WARN=0
+# CONFIG_MAGIC_SYSRQ is not set
+# CONFIG_UNUSED_SYMBOLS is not set
+# CONFIG_DEBUG_FS is not set
+# CONFIG_HEADERS_CHECK is not set
+CONFIG_DEBUG_KERNEL=y
+# CONFIG_DEBUG_SHIRQ is not set
+# CONFIG_DETECT_SOFTLOCKUP is not set
+# CONFIG_SCHED_DEBUG is not set
+# CONFIG_SCHEDSTATS is not set
+# CONFIG_TIMER_STATS is not set
+# CONFIG_DEBUG_OBJECTS is not set
+# CONFIG_DEBUG_RT_MUTEXES is not set
+# CONFIG_RT_MUTEX_TESTER is not set
+# CONFIG_DEBUG_SPINLOCK is not set
+# CONFIG_DEBUG_MUTEXES is not set
+# CONFIG_DEBUG_LOCK_ALLOC is not set
+# CONFIG_PROVE_LOCKING is not set
+# CONFIG_LOCK_STAT is not set
+# CONFIG_DEBUG_SPINLOCK_SLEEP is not set
+# CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set
+# CONFIG_DEBUG_KOBJECT is not set
+# CONFIG_DEBUG_BUGVERBOSE is not set
+# CONFIG_DEBUG_INFO is not set
+# CONFIG_DEBUG_VM is not set
+# CONFIG_DEBUG_WRITECOUNT is not set
+# CONFIG_DEBUG_MEMORY_INIT is not set
+# CONFIG_DEBUG_LIST is not set
+# CONFIG_DEBUG_SG is not set
+# CONFIG_DEBUG_NOTIFIERS is not set
+CONFIG_FRAME_POINTER=y
+# CONFIG_BOOT_PRINTK_DELAY is not set
+# CONFIG_RCU_TORTURE_TEST is not set
+# CONFIG_RCU_CPU_STALL_DETECTOR is not set
+# CONFIG_BACKTRACE_SELF_TEST is not set
+# CONFIG_DEBUG_BLOCK_EXT_DEVT is not set
+# CONFIG_FAULT_INJECTION is not set
+# CONFIG_LATENCYTOP is not set
+CONFIG_SYSCTL_SYSCALL_CHECK=y
+CONFIG_HAVE_FUNCTION_TRACER=y
+
+#
+# Tracers
+#
+# CONFIG_FUNCTION_TRACER is not set
+# CONFIG_IRQSOFF_TRACER is not set
+# CONFIG_SCHED_TRACER is not set
+# CONFIG_CONTEXT_SWITCH_TRACER is not set
+# CONFIG_BOOT_TRACER is not set
+# CONFIG_TRACE_BRANCH_PROFILING is not set
+# CONFIG_STACK_TRACER is not set
+# CONFIG_DYNAMIC_PRINTK_DEBUG is not set
+# CONFIG_SAMPLES is not set
+CONFIG_HAVE_ARCH_KGDB=y
+# CONFIG_KGDB is not set
+CONFIG_DEBUG_USER=y
+CONFIG_DEBUG_ERRORS=y
+# CONFIG_DEBUG_STACK_USAGE is not set
+CONFIG_DEBUG_LL=y
+# CONFIG_DEBUG_ICEDCC is not set
+
+#
+# Security options
+#
+# CONFIG_KEYS is not set
+# CONFIG_SECURITY is not set
+# CONFIG_SECURITYFS is not set
+# CONFIG_SECURITY_FILE_CAPABILITIES is not set
+CONFIG_CRYPTO=y
+
+#
+# Crypto core or helper
+#
+# CONFIG_CRYPTO_FIPS is not set
+# CONFIG_CRYPTO_MANAGER is not set
+# CONFIG_CRYPTO_MANAGER2 is not set
+# CONFIG_CRYPTO_GF128MUL is not set
+# CONFIG_CRYPTO_NULL is not set
+# CONFIG_CRYPTO_CRYPTD is not set
+# CONFIG_CRYPTO_AUTHENC is not set
+# CONFIG_CRYPTO_TEST is not set
+
+#
+# Authenticated Encryption with Associated Data
+#
+# CONFIG_CRYPTO_CCM is not set
+# CONFIG_CRYPTO_GCM is not set
+# CONFIG_CRYPTO_SEQIV is not set
+
+#
+# Block modes
+#
+# CONFIG_CRYPTO_CBC is not set
+# CONFIG_CRYPTO_CTR is not set
+# CONFIG_CRYPTO_CTS is not set
+# CONFIG_CRYPTO_ECB is not set
+# CONFIG_CRYPTO_LRW is not set
+# CONFIG_CRYPTO_PCBC is not set
+# CONFIG_CRYPTO_XTS is not set
+
+#
+# Hash modes
+#
+# CONFIG_CRYPTO_HMAC is not set
+# CONFIG_CRYPTO_XCBC is not set
+
+#
+# Digest
+#
+# CONFIG_CRYPTO_CRC32C is not set
+# CONFIG_CRYPTO_MD4 is not set
+# CONFIG_CRYPTO_MD5 is not set
+# CONFIG_CRYPTO_MICHAEL_MIC is not set
+# CONFIG_CRYPTO_RMD128 is not set
+# CONFIG_CRYPTO_RMD160 is not set
+# CONFIG_CRYPTO_RMD256 is not set
+# CONFIG_CRYPTO_RMD320 is not set
+# CONFIG_CRYPTO_SHA1 is not set
+# CONFIG_CRYPTO_SHA256 is not set
+# CONFIG_CRYPTO_SHA512 is not set
+# CONFIG_CRYPTO_TGR192 is not set
+# CONFIG_CRYPTO_WP512 is not set
+
+#
+# Ciphers
+#
+# CONFIG_CRYPTO_AES is not set
+# CONFIG_CRYPTO_ANUBIS is not set
+# CONFIG_CRYPTO_ARC4 is not set
+# CONFIG_CRYPTO_BLOWFISH is not set
+# CONFIG_CRYPTO_CAMELLIA is not set
+# CONFIG_CRYPTO_CAST5 is not set
+# CONFIG_CRYPTO_CAST6 is not set
+# CONFIG_CRYPTO_DES is not set
+# CONFIG_CRYPTO_FCRYPT is not set
+# CONFIG_CRYPTO_KHAZAD is not set
+# CONFIG_CRYPTO_SALSA20 is not set
+# CONFIG_CRYPTO_SEED is not set
+# CONFIG_CRYPTO_SERPENT is not set
+# CONFIG_CRYPTO_TEA is not set
+# CONFIG_CRYPTO_TWOFISH is not set
+
+#
+# Compression
+#
+# CONFIG_CRYPTO_DEFLATE is not set
+# CONFIG_CRYPTO_LZO is not set
+
+#
+# Random Number Generation
+#
+# CONFIG_CRYPTO_ANSI_CPRNG is not set
+# CONFIG_CRYPTO_HW is not set
+
+#
+# Library routines
+#
+CONFIG_BITREVERSE=y
+CONFIG_GENERIC_FIND_LAST_BIT=y
+CONFIG_CRC_CCITT=m
+# CONFIG_CRC16 is not set
+# CONFIG_CRC_T10DIF is not set
+# CONFIG_CRC_ITU_T is not set
+CONFIG_CRC32=y
+# CONFIG_CRC7 is not set
+# CONFIG_LIBCRC32C is not set
+CONFIG_ZLIB_INFLATE=y
+CONFIG_ZLIB_DEFLATE=y
+CONFIG_PLIST=y
+CONFIG_HAS_IOMEM=y
+CONFIG_HAS_IOPORT=y
+CONFIG_HAS_DMA=y
diff --git a/recipes/linux/linux-2.6.29/micro2440/defconfig b/recipes/linux/linux-2.6.29/micro2440/defconfig
index e11a85a8f7..2003681738 100644
--- a/recipes/linux/linux-2.6.29/micro2440/defconfig
+++ b/recipes/linux/linux-2.6.29/micro2440/defconfig
@@ -1,7 +1,7 @@
#
# Automatically generated make config: don't edit
# Linux kernel version: 2.6.29
-# Sat Apr 4 16:57:10 2009
+# Thu Apr 16 12:10:25 2009
#
CONFIG_ARM=y
CONFIG_HAVE_PWM=y
@@ -311,8 +311,7 @@ CONFIG_ZBOOT_ROM_TEXT=0
CONFIG_ZBOOT_ROM_BSS=0
CONFIG_CMDLINE=""
# CONFIG_XIP_KERNEL is not set
-CONFIG_KEXEC=y
-CONFIG_ATAGS_PROC=y
+# CONFIG_KEXEC is not set
#
# CPU Power Management
@@ -626,17 +625,12 @@ CONFIG_MTD_QINFO_PROBE=y
# CONFIG_PARPORT is not set
CONFIG_BLK_DEV=y
# CONFIG_BLK_DEV_COW_COMMON is not set
-CONFIG_BLK_DEV_LOOP=m
+CONFIG_BLK_DEV_LOOP=y
# CONFIG_BLK_DEV_CRYPTOLOOP is not set
CONFIG_BLK_DEV_NBD=m
# CONFIG_BLK_DEV_UB is not set
-CONFIG_BLK_DEV_RAM=y
-CONFIG_BLK_DEV_RAM_COUNT=16
-CONFIG_BLK_DEV_RAM_SIZE=65536
-# CONFIG_BLK_DEV_XIP is not set
-CONFIG_CDROM_PKTCDVD=m
-CONFIG_CDROM_PKTCDVD_BUFFERS=8
-# CONFIG_CDROM_PKTCDVD_WCACHE is not set
+# CONFIG_BLK_DEV_RAM is not set
+# CONFIG_CDROM_PKTCDVD is not set
# CONFIG_ATA_OVER_ETH is not set
CONFIG_MISC_DEVICES=y
# CONFIG_ICS932S401 is not set
@@ -780,12 +774,12 @@ CONFIG_INPUT_FF_MEMLESS=y
# Userland interfaces
#
CONFIG_INPUT_MOUSEDEV=y
-CONFIG_INPUT_MOUSEDEV_PSAUX=y
+# CONFIG_INPUT_MOUSEDEV_PSAUX is not set
CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024
CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768
# CONFIG_INPUT_JOYDEV is not set
CONFIG_INPUT_EVDEV=y
-CONFIG_INPUT_EVBUG=m
+# CONFIG_INPUT_EVBUG is not set
#
# Input Device Drivers
@@ -867,6 +861,7 @@ CONFIG_DEVKMEM=y
#
CONFIG_SERIAL_SAMSUNG=y
CONFIG_SERIAL_SAMSUNG_UARTS=3
+# CONFIG_SERIAL_SAMSUNG_DEBUG is not set
CONFIG_SERIAL_SAMSUNG_CONSOLE=y
CONFIG_SERIAL_S3C2440=y
CONFIG_SERIAL_CORE=y
@@ -874,7 +869,7 @@ CONFIG_SERIAL_CORE_CONSOLE=y
CONFIG_UNIX98_PTYS=y
# CONFIG_DEVPTS_MULTIPLE_INSTANCES is not set
CONFIG_LEGACY_PTYS=y
-CONFIG_LEGACY_PTY_COUNT=128
+CONFIG_LEGACY_PTY_COUNT=16
CONFIG_IPMI_HANDLER=m
# CONFIG_IPMI_PANIC_EVENT is not set
CONFIG_IPMI_DEVICE_INTERFACE=m
@@ -1921,10 +1916,12 @@ CONFIG_HAVE_FUNCTION_TRACER=y
# CONFIG_SAMPLES is not set
CONFIG_HAVE_ARCH_KGDB=y
# CONFIG_KGDB is not set
-CONFIG_DEBUG_USER=y
+# CONFIG_DEBUG_USER is not set
# CONFIG_DEBUG_ERRORS is not set
# CONFIG_DEBUG_STACK_USAGE is not set
-# CONFIG_DEBUG_LL is not set
+CONFIG_DEBUG_LL=y
+# CONFIG_DEBUG_ICEDCC is not set
+CONFIG_DEBUG_S3C_PORT=y
CONFIG_DEBUG_S3C_UART=0
#
diff --git a/recipes/linux/linux-bug/defconfig b/recipes/linux/linux-bug/defconfig
new file mode 100644
index 0000000000..3e685bf123
--- /dev/null
+++ b/recipes/linux/linux-bug/defconfig
@@ -0,0 +1,1698 @@
+#
+# Automatically generated make config: don't edit
+# Linux kernel version: 2.6.27.2
+# Thu Apr 23 18:31:57 2009
+#
+CONFIG_ARM=y
+CONFIG_SYS_SUPPORTS_APM_EMULATION=y
+CONFIG_GENERIC_GPIO=y
+CONFIG_GENERIC_TIME=y
+CONFIG_GENERIC_CLOCKEVENTS=y
+CONFIG_MMU=y
+# CONFIG_NO_IOPORT is not set
+CONFIG_GENERIC_HARDIRQS=y
+CONFIG_STACKTRACE_SUPPORT=y
+CONFIG_HAVE_LATENCYTOP_SUPPORT=y
+CONFIG_LOCKDEP_SUPPORT=y
+CONFIG_TRACE_IRQFLAGS_SUPPORT=y
+CONFIG_HARDIRQS_SW_RESEND=y
+CONFIG_GENERIC_IRQ_PROBE=y
+CONFIG_RWSEM_GENERIC_SPINLOCK=y
+# CONFIG_ARCH_HAS_ILOG2_U32 is not set
+# CONFIG_ARCH_HAS_ILOG2_U64 is not set
+CONFIG_GENERIC_HWEIGHT=y
+CONFIG_GENERIC_CALIBRATE_DELAY=y
+CONFIG_ARCH_SUPPORTS_AOUT=y
+CONFIG_ZONE_DMA=y
+CONFIG_ARCH_MTD_XIP=y
+CONFIG_GENERIC_HARDIRQS_NO__DO_IRQ=y
+CONFIG_VECTORS_BASE=0xffff0000
+CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
+
+#
+# General setup
+#
+CONFIG_EXPERIMENTAL=y
+CONFIG_BROKEN_ON_SMP=y
+CONFIG_LOCK_KERNEL=y
+CONFIG_INIT_ENV_ARG_LIMIT=32
+CONFIG_LOCALVERSION=""
+# CONFIG_LOCALVERSION_AUTO is not set
+CONFIG_SWAP=y
+CONFIG_SYSVIPC=y
+CONFIG_SYSVIPC_SYSCTL=y
+# CONFIG_POSIX_MQUEUE is not set
+# CONFIG_BSD_PROCESS_ACCT is not set
+# CONFIG_TASKSTATS is not set
+# CONFIG_AUDIT is not set
+CONFIG_IKCONFIG=y
+CONFIG_IKCONFIG_PROC=y
+CONFIG_LOG_BUF_SHIFT=14
+# CONFIG_CGROUPS is not set
+# CONFIG_GROUP_SCHED is not set
+CONFIG_SYSFS_DEPRECATED=y
+CONFIG_SYSFS_DEPRECATED_V2=y
+# CONFIG_RELAY is not set
+# CONFIG_NAMESPACES is not set
+# CONFIG_BLK_DEV_INITRD is not set
+CONFIG_CC_OPTIMIZE_FOR_SIZE=y
+CONFIG_SYSCTL=y
+CONFIG_EMBEDDED=y
+CONFIG_UID16=y
+CONFIG_SYSCTL_SYSCALL=y
+CONFIG_KALLSYMS=y
+# CONFIG_KALLSYMS_ALL is not set
+# CONFIG_KALLSYMS_EXTRA_PASS is not set
+CONFIG_HOTPLUG=y
+CONFIG_PRINTK=y
+CONFIG_BUG=y
+CONFIG_ELF_CORE=y
+CONFIG_COMPAT_BRK=y
+CONFIG_BASE_FULL=y
+CONFIG_FUTEX=y
+CONFIG_ANON_INODES=y
+CONFIG_EPOLL=y
+CONFIG_SIGNALFD=y
+CONFIG_TIMERFD=y
+CONFIG_EVENTFD=y
+CONFIG_SHMEM=y
+CONFIG_VM_EVENT_COUNTERS=y
+CONFIG_SLAB=y
+# CONFIG_SLUB is not set
+# CONFIG_SLOB is not set
+# CONFIG_PROFILING is not set
+CONFIG_MARKERS=y
+CONFIG_HAVE_OPROFILE=y
+# CONFIG_KPROBES is not set
+# CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS is not set
+# CONFIG_HAVE_IOREMAP_PROT is not set
+CONFIG_HAVE_KPROBES=y
+CONFIG_HAVE_KRETPROBES=y
+# CONFIG_HAVE_ARCH_TRACEHOOK is not set
+# CONFIG_HAVE_DMA_ATTRS is not set
+# CONFIG_USE_GENERIC_SMP_HELPERS is not set
+# CONFIG_HAVE_CLK is not set
+CONFIG_PROC_PAGE_MONITOR=y
+CONFIG_HAVE_GENERIC_DMA_COHERENT=y
+CONFIG_SLABINFO=y
+CONFIG_RT_MUTEXES=y
+# CONFIG_TINY_SHMEM is not set
+CONFIG_BASE_SMALL=0
+CONFIG_MODULES=y
+# CONFIG_MODULE_FORCE_LOAD is not set
+CONFIG_MODULE_UNLOAD=y
+CONFIG_MODULE_FORCE_UNLOAD=y
+CONFIG_MODVERSIONS=y
+# CONFIG_MODULE_SRCVERSION_ALL is not set
+CONFIG_KMOD=y
+CONFIG_BLOCK=y
+# CONFIG_LBD is not set
+# CONFIG_BLK_DEV_IO_TRACE is not set
+# CONFIG_LSF is not set
+# CONFIG_BLK_DEV_BSG is not set
+# CONFIG_BLK_DEV_INTEGRITY is not set
+
+#
+# IO Schedulers
+#
+CONFIG_IOSCHED_NOOP=y
+CONFIG_IOSCHED_AS=y
+CONFIG_IOSCHED_DEADLINE=y
+CONFIG_IOSCHED_CFQ=y
+# CONFIG_DEFAULT_AS is not set
+# CONFIG_DEFAULT_DEADLINE is not set
+CONFIG_DEFAULT_CFQ=y
+# CONFIG_DEFAULT_NOOP is not set
+CONFIG_DEFAULT_IOSCHED="cfq"
+CONFIG_CLASSIC_RCU=y
+
+#
+# System Type
+#
+# CONFIG_ARCH_AAEC2000 is not set
+# CONFIG_ARCH_INTEGRATOR is not set
+# CONFIG_ARCH_REALVIEW is not set
+# CONFIG_ARCH_VERSATILE is not set
+# CONFIG_ARCH_AT91 is not set
+# CONFIG_ARCH_CLPS7500 is not set
+# CONFIG_ARCH_CLPS711X is not set
+# CONFIG_ARCH_EBSA110 is not set
+# CONFIG_ARCH_EP93XX is not set
+# CONFIG_ARCH_FOOTBRIDGE is not set
+# CONFIG_ARCH_NETX is not set
+# CONFIG_ARCH_H720X is not set
+# CONFIG_ARCH_IMX is not set
+# CONFIG_ARCH_IOP13XX is not set
+# CONFIG_ARCH_IOP32X is not set
+# CONFIG_ARCH_IOP33X is not set
+# CONFIG_ARCH_IXP23XX is not set
+# CONFIG_ARCH_IXP2000 is not set
+# CONFIG_ARCH_IXP4XX is not set
+# CONFIG_ARCH_L7200 is not set
+# CONFIG_ARCH_KIRKWOOD is not set
+# CONFIG_ARCH_KS8695 is not set
+# CONFIG_ARCH_NS9XXX is not set
+# CONFIG_ARCH_LOKI is not set
+# CONFIG_ARCH_MV78XX0 is not set
+CONFIG_ARCH_MXC=y
+# CONFIG_ARCH_ORION5X is not set
+# CONFIG_ARCH_PNX4008 is not set
+# CONFIG_ARCH_PXA is not set
+# CONFIG_ARCH_RPC is not set
+# CONFIG_ARCH_SA1100 is not set
+# CONFIG_ARCH_S3C2410 is not set
+# CONFIG_ARCH_SHARK is not set
+# CONFIG_ARCH_LH7A40X is not set
+# CONFIG_ARCH_DAVINCI is not set
+# CONFIG_ARCH_OMAP is not set
+# CONFIG_ARCH_MSM7X00A is not set
+
+#
+# Boot options
+#
+
+#
+# Power management
+#
+
+#
+# Freescale MXC Implementations
+#
+CONFIG_ARCH_MX3=y
+# CONFIG_ARCH_MX27 is not set
+
+#
+# MX3 Options
+#
+# CONFIG_MACH_MX31ADS is not set
+CONFIG_MACH_BUG=y
+# CONFIG_MX3_DOZE_DURING_IDLE is not set
+CONFIG_MXC_SDMA_API=y
+# CONFIG_ARCH_MXC_HAS_NFC_V1 is not set
+# CONFIG_ARCH_MXC_HAS_NFC_V2 is not set
+
+#
+# Device options
+#
+CONFIG_I2C_MXC_SELECT1=y
+CONFIG_I2C_MXC_SELECT2=y
+# CONFIG_I2C_MXC_SELECT3 is not set
+CONFIG_ARCH_HAS_EVTMON=y
+CONFIG_ISP1504_MXC=y
+
+#
+# Processor Type
+#
+CONFIG_CPU_32=y
+CONFIG_CPU_V6=y
+# CONFIG_CPU_32v6K is not set
+CONFIG_CPU_32v6=y
+CONFIG_CPU_ABRT_EV6=y
+CONFIG_CPU_PABRT_NOIFAR=y
+CONFIG_CPU_CACHE_V6=y
+CONFIG_CPU_CACHE_VIPT=y
+CONFIG_CPU_COPY_V6=y
+CONFIG_CPU_TLB_V6=y
+CONFIG_CPU_HAS_ASID=y
+CONFIG_CPU_CP15=y
+CONFIG_CPU_CP15_MMU=y
+
+#
+# Processor Features
+#
+CONFIG_ARM_THUMB=y
+# CONFIG_CPU_ICACHE_DISABLE is not set
+# CONFIG_CPU_DCACHE_DISABLE is not set
+# CONFIG_CPU_BPREDICT_DISABLE is not set
+CONFIG_OUTER_CACHE=y
+CONFIG_CACHE_L2X0=y
+
+#
+# Bus support
+#
+# CONFIG_PCI_SYSCALL is not set
+# CONFIG_ARCH_SUPPORTS_MSI is not set
+# CONFIG_PCCARD is not set
+
+#
+# Kernel Features
+#
+CONFIG_TICK_ONESHOT=y
+CONFIG_NO_HZ=y
+CONFIG_HIGH_RES_TIMERS=y
+CONFIG_GENERIC_CLOCKEVENTS_BUILD=y
+CONFIG_PREEMPT=y
+CONFIG_HZ=100
+CONFIG_AEABI=y
+# CONFIG_OABI_COMPAT is not set
+CONFIG_ARCH_FLATMEM_HAS_HOLES=y
+# CONFIG_ARCH_DISCONTIGMEM_ENABLE is not set
+CONFIG_SELECT_MEMORY_MODEL=y
+CONFIG_FLATMEM_MANUAL=y
+# CONFIG_DISCONTIGMEM_MANUAL is not set
+# CONFIG_SPARSEMEM_MANUAL is not set
+CONFIG_FLATMEM=y
+CONFIG_FLAT_NODE_MEM_MAP=y
+# CONFIG_SPARSEMEM_STATIC is not set
+# CONFIG_SPARSEMEM_VMEMMAP_ENABLE is not set
+CONFIG_PAGEFLAGS_EXTENDED=y
+CONFIG_SPLIT_PTLOCK_CPUS=4
+# CONFIG_RESOURCES_64BIT is not set
+CONFIG_ZONE_DMA_FLAG=1
+CONFIG_BOUNCE=y
+CONFIG_VIRT_TO_BUS=y
+CONFIG_ALIGNMENT_TRAP=y
+
+#
+# Boot options
+#
+CONFIG_ZBOOT_ROM_TEXT=0x0
+CONFIG_ZBOOT_ROM_BSS=0x0
+CONFIG_CMDLINE=" debug "
+# CONFIG_XIP_KERNEL is not set
+# CONFIG_KEXEC is not set
+
+#
+# Floating point emulation
+#
+
+#
+# At least one emulation must be selected
+#
+CONFIG_VFP=y
+
+#
+# Userspace binary formats
+#
+CONFIG_BINFMT_ELF=y
+# CONFIG_BINFMT_AOUT is not set
+# CONFIG_BINFMT_MISC is not set
+
+#
+# Power management options
+#
+CONFIG_PM=y
+# CONFIG_PM_DEBUG is not set
+CONFIG_PM_SLEEP=y
+CONFIG_SUSPEND=y
+CONFIG_SUSPEND_FREEZER=y
+CONFIG_APM_EMULATION=m
+CONFIG_ARCH_SUSPEND_POSSIBLE=y
+CONFIG_NET=y
+
+#
+# Networking options
+#
+CONFIG_PACKET=y
+CONFIG_PACKET_MMAP=y
+CONFIG_UNIX=y
+CONFIG_XFRM=y
+# CONFIG_XFRM_USER is not set
+# CONFIG_XFRM_SUB_POLICY is not set
+# CONFIG_XFRM_MIGRATE is not set
+# CONFIG_XFRM_STATISTICS is not set
+# CONFIG_NET_KEY is not set
+CONFIG_INET=y
+CONFIG_IP_MULTICAST=y
+# CONFIG_IP_ADVANCED_ROUTER is not set
+CONFIG_IP_FIB_HASH=y
+CONFIG_IP_PNP=y
+CONFIG_IP_PNP_DHCP=y
+CONFIG_IP_PNP_BOOTP=y
+# CONFIG_IP_PNP_RARP is not set
+# CONFIG_NET_IPIP is not set
+# CONFIG_NET_IPGRE is not set
+# CONFIG_IP_MROUTE is not set
+# CONFIG_ARPD is not set
+# CONFIG_SYN_COOKIES is not set
+# CONFIG_INET_AH is not set
+# CONFIG_INET_ESP is not set
+# CONFIG_INET_IPCOMP is not set
+# CONFIG_INET_XFRM_TUNNEL is not set
+CONFIG_INET_TUNNEL=y
+CONFIG_INET_XFRM_MODE_TRANSPORT=y
+CONFIG_INET_XFRM_MODE_TUNNEL=y
+CONFIG_INET_XFRM_MODE_BEET=y
+# CONFIG_INET_LRO is not set
+CONFIG_INET_DIAG=y
+CONFIG_INET_TCP_DIAG=y
+# CONFIG_TCP_CONG_ADVANCED is not set
+CONFIG_TCP_CONG_CUBIC=y
+CONFIG_DEFAULT_TCP_CONG="cubic"
+# CONFIG_TCP_MD5SIG is not set
+CONFIG_IPV6=y
+# CONFIG_IPV6_PRIVACY is not set
+# CONFIG_IPV6_ROUTER_PREF is not set
+# CONFIG_IPV6_OPTIMISTIC_DAD is not set
+# CONFIG_INET6_AH is not set
+# CONFIG_INET6_ESP is not set
+# CONFIG_INET6_IPCOMP is not set
+CONFIG_IPV6_MIP6=y
+# CONFIG_INET6_XFRM_TUNNEL is not set
+CONFIG_INET6_TUNNEL=m
+CONFIG_INET6_XFRM_MODE_TRANSPORT=y
+CONFIG_INET6_XFRM_MODE_TUNNEL=y
+CONFIG_INET6_XFRM_MODE_BEET=y
+# CONFIG_INET6_XFRM_MODE_ROUTEOPTIMIZATION is not set
+CONFIG_IPV6_SIT=y
+CONFIG_IPV6_NDISC_NODETYPE=y
+CONFIG_IPV6_TUNNEL=m
+# CONFIG_IPV6_MULTIPLE_TABLES is not set
+# CONFIG_IPV6_MROUTE is not set
+# CONFIG_NETWORK_SECMARK is not set
+# CONFIG_NETFILTER is not set
+# CONFIG_IP_DCCP is not set
+# CONFIG_IP_SCTP is not set
+# CONFIG_TIPC is not set
+# CONFIG_ATM is not set
+# CONFIG_BRIDGE is not set
+# CONFIG_VLAN_8021Q is not set
+# CONFIG_DECNET is not set
+# CONFIG_LLC2 is not set
+# CONFIG_IPX is not set
+# CONFIG_ATALK is not set
+# CONFIG_X25 is not set
+# CONFIG_LAPB is not set
+# CONFIG_ECONET is not set
+# CONFIG_WAN_ROUTER is not set
+# CONFIG_NET_SCHED is not set
+
+#
+# Network testing
+#
+# CONFIG_NET_PKTGEN is not set
+# CONFIG_HAMRADIO is not set
+# CONFIG_CAN is not set
+# CONFIG_IRDA is not set
+CONFIG_BT=m
+CONFIG_BT_L2CAP=m
+CONFIG_BT_SCO=m
+CONFIG_BT_RFCOMM=m
+CONFIG_BT_RFCOMM_TTY=y
+CONFIG_BT_BNEP=m
+# CONFIG_BT_BNEP_MC_FILTER is not set
+# CONFIG_BT_BNEP_PROTO_FILTER is not set
+CONFIG_BT_HIDP=m
+
+#
+# Bluetooth device drivers
+#
+CONFIG_BT_HCIBTUSB=m
+# CONFIG_BT_HCIBTSDIO is not set
+# CONFIG_BT_HCIUART is not set
+# CONFIG_BT_HCIBCM203X is not set
+# CONFIG_BT_HCIBPA10X is not set
+# CONFIG_BT_HCIBFUSB is not set
+# CONFIG_BT_HCIVHCI is not set
+# CONFIG_AF_RXRPC is not set
+
+#
+# Wireless
+#
+CONFIG_CFG80211=m
+CONFIG_NL80211=y
+CONFIG_WIRELESS_EXT=y
+CONFIG_WIRELESS_EXT_SYSFS=y
+CONFIG_MAC80211=m
+
+#
+# Rate control algorithm selection
+#
+CONFIG_MAC80211_RC_PID=y
+CONFIG_MAC80211_RC_DEFAULT_PID=y
+CONFIG_MAC80211_RC_DEFAULT="pid"
+# CONFIG_MAC80211_MESH is not set
+# CONFIG_MAC80211_LEDS is not set
+# CONFIG_MAC80211_DEBUGFS is not set
+# CONFIG_MAC80211_DEBUG_MENU is not set
+CONFIG_IEEE80211=m
+# CONFIG_IEEE80211_DEBUG is not set
+CONFIG_IEEE80211_CRYPT_WEP=m
+# CONFIG_IEEE80211_CRYPT_CCMP is not set
+# CONFIG_IEEE80211_CRYPT_TKIP is not set
+# CONFIG_RFKILL is not set
+# CONFIG_NET_9P is not set
+
+#
+# Device Drivers
+#
+
+#
+# Generic Driver Options
+#
+CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
+CONFIG_STANDALONE=y
+CONFIG_PREVENT_FIRMWARE_BUILD=y
+CONFIG_FW_LOADER=m
+CONFIG_FIRMWARE_IN_KERNEL=y
+CONFIG_EXTRA_FIRMWARE=""
+# CONFIG_DEBUG_DRIVER is not set
+# CONFIG_DEBUG_DEVRES is not set
+# CONFIG_SYS_HYPERVISOR is not set
+# CONFIG_CONNECTOR is not set
+CONFIG_MTD=y
+# CONFIG_MTD_DEBUG is not set
+# CONFIG_MTD_CONCAT is not set
+CONFIG_MTD_PARTITIONS=y
+CONFIG_MTD_REDBOOT_PARTS=y
+CONFIG_MTD_REDBOOT_DIRECTORY_BLOCK=-1
+# CONFIG_MTD_REDBOOT_PARTS_UNALLOCATED is not set
+# CONFIG_MTD_REDBOOT_PARTS_READONLY is not set
+CONFIG_MTD_CMDLINE_PARTS=y
+# CONFIG_MTD_AFS_PARTS is not set
+# CONFIG_MTD_AR7_PARTS is not set
+
+#
+# User Modules And Translation Layers
+#
+CONFIG_MTD_CHAR=y
+CONFIG_MTD_BLKDEVS=y
+CONFIG_MTD_BLOCK=y
+# CONFIG_FTL is not set
+# CONFIG_NFTL is not set
+# CONFIG_INFTL is not set
+# CONFIG_RFD_FTL is not set
+# CONFIG_SSFDC is not set
+# CONFIG_MTD_OOPS is not set
+
+#
+# RAM/ROM/Flash chip drivers
+#
+CONFIG_MTD_CFI=y
+# CONFIG_MTD_JEDECPROBE is not set
+CONFIG_MTD_GEN_PROBE=y
+CONFIG_MTD_CFI_ADV_OPTIONS=y
+CONFIG_MTD_CFI_NOSWAP=y
+# CONFIG_MTD_CFI_BE_BYTE_SWAP is not set
+# CONFIG_MTD_CFI_LE_BYTE_SWAP is not set
+CONFIG_MTD_CFI_GEOMETRY=y
+# CONFIG_MTD_MAP_BANK_WIDTH_1 is not set
+CONFIG_MTD_MAP_BANK_WIDTH_2=y
+# CONFIG_MTD_MAP_BANK_WIDTH_4 is not set
+# CONFIG_MTD_MAP_BANK_WIDTH_8 is not set
+# CONFIG_MTD_MAP_BANK_WIDTH_16 is not set
+# CONFIG_MTD_MAP_BANK_WIDTH_32 is not set
+CONFIG_MTD_CFI_I1=y
+# CONFIG_MTD_CFI_I2 is not set
+# CONFIG_MTD_CFI_I4 is not set
+# CONFIG_MTD_CFI_I8 is not set
+# CONFIG_MTD_OTP is not set
+CONFIG_MTD_CFI_INTELEXT=y
+CONFIG_MTD_CFI_AMDSTD=y
+# CONFIG_MTD_CFI_STAA is not set
+CONFIG_MTD_CFI_UTIL=y
+CONFIG_MTD_RAM=y
+# CONFIG_MTD_ROM is not set
+# CONFIG_MTD_ABSENT is not set
+# CONFIG_MTD_XIP is not set
+
+#
+# Mapping drivers for chip access
+#
+# CONFIG_MTD_COMPLEX_MAPPINGS is not set
+# CONFIG_MTD_PHYSMAP is not set
+# CONFIG_MTD_ARM_INTEGRATOR is not set
+# CONFIG_MTD_PLATRAM is not set
+
+#
+# Self-contained MTD device drivers
+#
+# CONFIG_MTD_DATAFLASH is not set
+# CONFIG_MTD_M25P80 is not set
+# CONFIG_MTD_SLRAM is not set
+# CONFIG_MTD_PHRAM is not set
+# CONFIG_MTD_MTDRAM is not set
+# CONFIG_MTD_BLOCK2MTD is not set
+
+#
+# Disk-On-Chip Device Drivers
+#
+# CONFIG_MTD_DOC2000 is not set
+# CONFIG_MTD_DOC2001 is not set
+# CONFIG_MTD_DOC2001PLUS is not set
+# CONFIG_MTD_NAND is not set
+# CONFIG_MTD_ONENAND is not set
+
+#
+# UBI - Unsorted block images
+#
+# CONFIG_MTD_UBI is not set
+# CONFIG_PARPORT is not set
+CONFIG_BLK_DEV=y
+# CONFIG_BLK_DEV_COW_COMMON is not set
+CONFIG_BLK_DEV_LOOP=y
+# CONFIG_BLK_DEV_CRYPTOLOOP is not set
+# CONFIG_BLK_DEV_NBD is not set
+# CONFIG_BLK_DEV_UB is not set
+CONFIG_BLK_DEV_RAM=y
+CONFIG_BLK_DEV_RAM_COUNT=16
+CONFIG_BLK_DEV_RAM_SIZE=16384
+# CONFIG_BLK_DEV_XIP is not set
+# CONFIG_CDROM_PKTCDVD is not set
+# CONFIG_ATA_OVER_ETH is not set
+CONFIG_MISC_DEVICES=y
+# CONFIG_EEPROM_93CX6 is not set
+# CONFIG_ENCLOSURE_SERVICES is not set
+CONFIG_HAVE_IDE=y
+# CONFIG_IDE is not set
+
+#
+# SCSI device support
+#
+# CONFIG_RAID_ATTRS is not set
+CONFIG_SCSI=y
+CONFIG_SCSI_DMA=y
+# CONFIG_SCSI_TGT is not set
+# CONFIG_SCSI_NETLINK is not set
+CONFIG_SCSI_PROC_FS=y
+
+#
+# SCSI support type (disk, tape, CD-ROM)
+#
+CONFIG_BLK_DEV_SD=y
+# CONFIG_CHR_DEV_ST is not set
+# CONFIG_CHR_DEV_OSST is not set
+# CONFIG_BLK_DEV_SR is not set
+# CONFIG_CHR_DEV_SG is not set
+# CONFIG_CHR_DEV_SCH is not set
+
+#
+# Some SCSI devices (e.g. CD jukebox) support multiple LUNs
+#
+CONFIG_SCSI_MULTI_LUN=y
+# CONFIG_SCSI_CONSTANTS is not set
+# CONFIG_SCSI_LOGGING is not set
+# CONFIG_SCSI_SCAN_ASYNC is not set
+CONFIG_SCSI_WAIT_SCAN=m
+
+#
+# SCSI Transports
+#
+# CONFIG_SCSI_SPI_ATTRS is not set
+# CONFIG_SCSI_FC_ATTRS is not set
+# CONFIG_SCSI_ISCSI_ATTRS is not set
+# CONFIG_SCSI_SAS_LIBSAS is not set
+# CONFIG_SCSI_SRP_ATTRS is not set
+CONFIG_SCSI_LOWLEVEL=y
+# CONFIG_ISCSI_TCP is not set
+# CONFIG_SCSI_DEBUG is not set
+# CONFIG_SCSI_DH is not set
+# CONFIG_ATA is not set
+# CONFIG_MD is not set
+CONFIG_NETDEVICES=y
+# CONFIG_DUMMY is not set
+# CONFIG_BONDING is not set
+# CONFIG_MACVLAN is not set
+# CONFIG_EQUALIZER is not set
+# CONFIG_TUN is not set
+# CONFIG_VETH is not set
+# CONFIG_PHYLIB is not set
+CONFIG_NET_ETHERNET=y
+CONFIG_MII=y
+# CONFIG_AX88796 is not set
+# CONFIG_SMC91X is not set
+# CONFIG_DM9000 is not set
+# CONFIG_ENC28J60 is not set
+CONFIG_SMC911X=y
+# CONFIG_IBM_NEW_EMAC_ZMII is not set
+# CONFIG_IBM_NEW_EMAC_RGMII is not set
+# CONFIG_IBM_NEW_EMAC_TAH is not set
+# CONFIG_IBM_NEW_EMAC_EMAC4 is not set
+# CONFIG_B44 is not set
+# CONFIG_NETDEV_1000 is not set
+# CONFIG_NETDEV_10000 is not set
+
+#
+# Wireless LAN
+#
+# CONFIG_WLAN_PRE80211 is not set
+CONFIG_WLAN_80211=y
+CONFIG_LIBERTAS=m
+# CONFIG_LIBERTAS_USB is not set
+CONFIG_LIBERTAS_SDIO=m
+CONFIG_LIBERTAS_GSPI=m
+CONFIG_LIBERTAS_BMI=m
+CONFIG_LIBERTAS_DEBUG=y
+CONFIG_USB_ZD1201=m
+# CONFIG_USB_NET_RNDIS_WLAN is not set
+# CONFIG_RTL8187 is not set
+# CONFIG_MAC80211_HWSIM is not set
+# CONFIG_P54_COMMON is not set
+# CONFIG_IWLWIFI_LEDS is not set
+# CONFIG_HOSTAP is not set
+# CONFIG_B43 is not set
+# CONFIG_B43LEGACY is not set
+# CONFIG_ZD1211RW is not set
+# CONFIG_RT2X00 is not set
+
+#
+# USB Network Adapters
+#
+# CONFIG_USB_CATC is not set
+# CONFIG_USB_KAWETH is not set
+CONFIG_USB_PEGASUS=m
+# CONFIG_USB_RTL8150 is not set
+CONFIG_USB_USBNET=m
+# CONFIG_USB_NET_AX8817X is not set
+CONFIG_USB_NET_CDCETHER=m
+CONFIG_USB_NET_DM9601=m
+# CONFIG_USB_NET_GL620A is not set
+# CONFIG_USB_NET_NET1080 is not set
+# CONFIG_USB_NET_PLUSB is not set
+# CONFIG_USB_NET_MCS7830 is not set
+# CONFIG_USB_NET_RNDIS_HOST is not set
+# CONFIG_USB_NET_CDC_SUBSET is not set
+# CONFIG_USB_NET_ZAURUS is not set
+# CONFIG_WAN is not set
+CONFIG_PPP=m
+# CONFIG_PPP_MULTILINK is not set
+# CONFIG_PPP_FILTER is not set
+CONFIG_PPP_ASYNC=m
+CONFIG_PPP_SYNC_TTY=m
+CONFIG_PPP_DEFLATE=m
+# CONFIG_PPP_BSDCOMP is not set
+# CONFIG_PPP_MPPE is not set
+# CONFIG_PPPOE is not set
+# CONFIG_PPPOL2TP is not set
+# CONFIG_SLIP is not set
+CONFIG_SLHC=m
+# CONFIG_NETCONSOLE is not set
+# CONFIG_NETPOLL is not set
+# CONFIG_NET_POLL_CONTROLLER is not set
+# CONFIG_ISDN is not set
+
+#
+# Input device support
+#
+CONFIG_INPUT=y
+# CONFIG_INPUT_FF_MEMLESS is not set
+# CONFIG_INPUT_POLLDEV is not set
+
+#
+# Userland interfaces
+#
+# CONFIG_INPUT_MOUSEDEV is not set
+# CONFIG_INPUT_JOYDEV is not set
+CONFIG_INPUT_BUGNAV=m
+CONFIG_INPUT_EVDEV=y
+# CONFIG_INPUT_EVBUG is not set
+# CONFIG_INPUT_APMPOWER is not set
+
+#
+# Input Device Drivers
+#
+CONFIG_INPUT_KEYBOARD=y
+# CONFIG_KEYBOARD_ATKBD is not set
+# CONFIG_KEYBOARD_SUNKBD is not set
+# CONFIG_KEYBOARD_LKKBD is not set
+# CONFIG_KEYBOARD_XTKBD is not set
+# CONFIG_KEYBOARD_NEWTON is not set
+# CONFIG_KEYBOARD_STOWAWAY is not set
+# CONFIG_KEYBOARD_GPIO is not set
+# CONFIG_INPUT_MOUSE is not set
+# CONFIG_INPUT_JOYSTICK is not set
+# CONFIG_INPUT_TABLET is not set
+CONFIG_INPUT_TOUCHSCREEN=y
+# CONFIG_TOUCHSCREEN_ADS7846 is not set
+# CONFIG_TOUCHSCREEN_FUJITSU is not set
+# CONFIG_TOUCHSCREEN_GUNZE is not set
+# CONFIG_TOUCHSCREEN_ELO is not set
+# CONFIG_TOUCHSCREEN_MTOUCH is not set
+# CONFIG_TOUCHSCREEN_INEXIO is not set
+# CONFIG_TOUCHSCREEN_MK712 is not set
+# CONFIG_TOUCHSCREEN_PENMOUNT is not set
+# CONFIG_TOUCHSCREEN_TOUCHRIGHT is not set
+# CONFIG_TOUCHSCREEN_TOUCHWIN is not set
+# CONFIG_TOUCHSCREEN_UCB1400 is not set
+# CONFIG_TOUCHSCREEN_USB_COMPOSITE is not set
+# CONFIG_TOUCHSCREEN_TOUCHIT213 is not set
+# CONFIG_INPUT_MISC is not set
+
+#
+# Hardware I/O ports
+#
+# CONFIG_SERIO is not set
+# CONFIG_GAMEPORT is not set
+
+#
+# Character devices
+#
+CONFIG_VT=y
+CONFIG_CONSOLE_TRANSLATIONS=y
+CONFIG_VT_CONSOLE=y
+CONFIG_HW_CONSOLE=y
+# CONFIG_VT_HW_CONSOLE_BINDING is not set
+CONFIG_DEVKMEM=y
+# CONFIG_SERIAL_NONSTANDARD is not set
+
+#
+# Serial drivers
+#
+# CONFIG_SERIAL_8250 is not set
+
+#
+# Non-8250 serial port support
+#
+CONFIG_SERIAL_MXC=y
+CONFIG_SERIAL_MXC_CONSOLE=y
+# CONFIG_SERIAL_IMX is not set
+CONFIG_SERIAL_CORE=y
+CONFIG_SERIAL_CORE_CONSOLE=y
+CONFIG_UNIX98_PTYS=y
+CONFIG_LEGACY_PTYS=y
+CONFIG_LEGACY_PTY_COUNT=256
+# CONFIG_IPMI_HANDLER is not set
+CONFIG_HW_RANDOM=y
+# CONFIG_NVRAM is not set
+# CONFIG_R3964 is not set
+# CONFIG_RAW_DRIVER is not set
+# CONFIG_TCG_TPM is not set
+CONFIG_I2C=y
+CONFIG_I2C_BOARDINFO=y
+CONFIG_I2C_CHARDEV=y
+CONFIG_I2C_HELPER_AUTO=y
+
+#
+# I2C Hardware Bus support
+#
+
+#
+# I2C system bus drivers (mostly embedded / system-on-chip)
+#
+# CONFIG_I2C_GPIO is not set
+CONFIG_I2C_MXC=y
+# CONFIG_I2C_OCORES is not set
+# CONFIG_I2C_SIMTEC is not set
+
+#
+# External I2C/SMBus adapter drivers
+#
+# CONFIG_I2C_PARPORT_LIGHT is not set
+# CONFIG_I2C_TAOS_EVM is not set
+# CONFIG_I2C_TINY_USB is not set
+
+#
+# Other I2C/SMBus bus drivers
+#
+# CONFIG_I2C_PCA_PLATFORM is not set
+# CONFIG_I2C_STUB is not set
+
+#
+# Miscellaneous I2C Chip support
+#
+# CONFIG_DS1682 is not set
+# CONFIG_AT24 is not set
+# CONFIG_SENSORS_EEPROM is not set
+# CONFIG_SENSORS_PCF8574 is not set
+# CONFIG_PCF8575 is not set
+# CONFIG_SENSORS_PCA9539 is not set
+# CONFIG_SENSORS_PCF8591 is not set
+# CONFIG_SENSORS_MAX6875 is not set
+# CONFIG_SENSORS_TSL2550 is not set
+# CONFIG_I2C_DEBUG_CORE is not set
+# CONFIG_I2C_DEBUG_ALGO is not set
+# CONFIG_I2C_DEBUG_BUS is not set
+# CONFIG_I2C_DEBUG_CHIP is not set
+CONFIG_SPI=y
+# CONFIG_SPI_DEBUG is not set
+CONFIG_SPI_MASTER=y
+
+#
+# SPI Master Controller Drivers
+#
+CONFIG_SPI_BITBANG=y
+CONFIG_SPI_MXC=y
+# CONFIG_SPI_MXC_TEST_LOOPBACK is not set
+CONFIG_SPI_MXC_SELECT1=y
+CONFIG_SPI_MXC_SELECT2=y
+# CONFIG_SPI_MXC_SELECT3 is not set
+
+#
+# SPI Protocol Masters
+#
+CONFIG_SPI_AT25=y
+CONFIG_SPI_SPIDEV=y
+# CONFIG_SPI_TLE62X0 is not set
+# CONFIG_W1 is not set
+CONFIG_POWER_SUPPLY=m
+# CONFIG_POWER_SUPPLY_DEBUG is not set
+# CONFIG_PDA_POWER is not set
+CONFIG_APM_POWER=m
+# CONFIG_BATTERY_DS2760 is not set
+# CONFIG_HWMON is not set
+CONFIG_WATCHDOG=y
+CONFIG_WATCHDOG_NOWAYOUT=y
+
+#
+# Watchdog Device Drivers
+#
+# CONFIG_SOFT_WATCHDOG is not set
+CONFIG_MXC_WATCHDOG=y
+
+#
+# USB-based Watchdog Cards
+#
+# CONFIG_USBPCWATCHDOG is not set
+
+#
+# Sonics Silicon Backplane
+#
+CONFIG_SSB_POSSIBLE=y
+# CONFIG_SSB is not set
+
+#
+# Multifunction device drivers
+#
+# CONFIG_MFD_CORE is not set
+# CONFIG_MFD_SM501 is not set
+# CONFIG_HTC_PASIC3 is not set
+# CONFIG_MFD_TMIO is not set
+# CONFIG_MFD_T7L66XB is not set
+# CONFIG_MFD_TC6387XB is not set
+
+#
+# Multimedia devices
+#
+
+#
+# Multimedia core support
+#
+CONFIG_VIDEO_DEV=y
+CONFIG_VIDEO_V4L2_COMMON=y
+CONFIG_VIDEO_ALLOW_V4L1=y
+CONFIG_VIDEO_V4L1_COMPAT=y
+# CONFIG_DVB_CORE is not set
+CONFIG_VIDEO_MEDIA=y
+
+#
+# Multimedia drivers
+#
+# CONFIG_MEDIA_ATTACH is not set
+CONFIG_MEDIA_TUNER=y
+# CONFIG_MEDIA_TUNER_CUSTOMIZE is not set
+CONFIG_MEDIA_TUNER_SIMPLE=y
+CONFIG_MEDIA_TUNER_TDA8290=y
+CONFIG_MEDIA_TUNER_TDA9887=y
+CONFIG_MEDIA_TUNER_TEA5761=y
+CONFIG_MEDIA_TUNER_TEA5767=y
+CONFIG_MEDIA_TUNER_MT20XX=y
+CONFIG_MEDIA_TUNER_XC2028=y
+CONFIG_MEDIA_TUNER_XC5000=y
+CONFIG_VIDEO_V4L2=y
+CONFIG_VIDEO_V4L1=y
+CONFIG_VIDEO_CAPTURE_DRIVERS=y
+# CONFIG_VIDEO_ADV_DEBUG is not set
+CONFIG_VIDEO_HELPER_CHIPS_AUTO=y
+# CONFIG_VIDEO_VIVI is not set
+# CONFIG_VIDEO_MXC_CAMERA is not set
+CONFIG_VIDEO_MXC_OUTPUT=m
+CONFIG_VIDEO_MXC_IPU_OUTPUT=m
+# CONFIG_VIDEO_MXC_OPL is not set
+# CONFIG_VIDEO_CPIA is not set
+# CONFIG_VIDEO_CPIA2 is not set
+# CONFIG_VIDEO_SAA5246A is not set
+# CONFIG_VIDEO_SAA5249 is not set
+# CONFIG_TUNER_3036 is not set
+# CONFIG_V4L_USB_DRIVERS is not set
+# CONFIG_SOC_CAMERA is not set
+# CONFIG_VIDEO_SH_MOBILE_CEU is not set
+# CONFIG_RADIO_ADAPTERS is not set
+# CONFIG_DAB is not set
+
+#
+# Graphics support
+#
+# CONFIG_VGASTATE is not set
+# CONFIG_VIDEO_OUTPUT_CONTROL is not set
+CONFIG_FB=y
+# CONFIG_FIRMWARE_EDID is not set
+# CONFIG_FB_DDC is not set
+CONFIG_FB_CFB_FILLRECT=y
+CONFIG_FB_CFB_COPYAREA=y
+CONFIG_FB_CFB_IMAGEBLIT=y
+# CONFIG_FB_CFB_REV_PIXELS_IN_BYTE is not set
+# CONFIG_FB_SYS_FILLRECT is not set
+# CONFIG_FB_SYS_COPYAREA is not set
+# CONFIG_FB_SYS_IMAGEBLIT is not set
+# CONFIG_FB_FOREIGN_ENDIAN is not set
+# CONFIG_FB_SYS_FOPS is not set
+# CONFIG_FB_SVGALIB is not set
+# CONFIG_FB_MACMODES is not set
+# CONFIG_FB_BACKLIGHT is not set
+# CONFIG_FB_MODE_HELPERS is not set
+# CONFIG_FB_TILEBLITTING is not set
+
+#
+# Frame buffer hardware drivers
+#
+CONFIG_FB_MXC=y
+# CONFIG_FB_MXC_SYNC_PANEL is not set
+CONFIG_FB_MXC_ASYNC_PANEL=y
+CONFIG_VIDEO_BUG_LCD=m
+
+#
+# Asynchronous Panel Type
+#
+# CONFIG_FB_MXC_EPSON_PANEL is not set
+CONFIG_FB_MXC_SHARP_320X240_PANEL=y
+# CONFIG_FB_MXC_PROJECTOR is not set
+# CONFIG_FB_MXC_ASYNC_PANEL_IFC_8_BIT is not set
+CONFIG_FB_MXC_ASYNC_PANEL_IFC_16_BIT=y
+# CONFIG_FB_MXC_ASYNC_PANEL_IFC_SERIAL is not set
+CONFIG_FB_BUG=y
+# CONFIG_FB_S1D13XXX is not set
+# CONFIG_FB_VIRTUAL is not set
+# CONFIG_BACKLIGHT_LCD_SUPPORT is not set
+
+#
+# Display device support
+#
+# CONFIG_DISPLAY_SUPPORT is not set
+
+#
+# Console display driver support
+#
+# CONFIG_VGA_CONSOLE is not set
+CONFIG_DUMMY_CONSOLE=y
+CONFIG_FRAMEBUFFER_CONSOLE=m
+# CONFIG_FRAMEBUFFER_CONSOLE_DETECT_PRIMARY is not set
+# CONFIG_FRAMEBUFFER_CONSOLE_ROTATION is not set
+# CONFIG_FONTS is not set
+CONFIG_FONT_8x8=y
+CONFIG_FONT_8x16=y
+# CONFIG_LOGO is not set
+CONFIG_SOUND=y
+CONFIG_SND=y
+CONFIG_SND_TIMER=y
+CONFIG_SND_PCM=y
+# CONFIG_SND_SEQUENCER is not set
+CONFIG_SND_OSSEMUL=y
+CONFIG_SND_MIXER_OSS=y
+CONFIG_SND_PCM_OSS=y
+CONFIG_SND_PCM_OSS_PLUGINS=y
+# CONFIG_SND_DYNAMIC_MINORS is not set
+CONFIG_SND_SUPPORT_OLD_API=y
+CONFIG_SND_VERBOSE_PROCFS=y
+# CONFIG_SND_VERBOSE_PRINTK is not set
+# CONFIG_SND_DEBUG is not set
+CONFIG_SND_DRIVERS=y
+# CONFIG_SND_DUMMY is not set
+# CONFIG_SND_MTPAV is not set
+# CONFIG_SND_SERIAL_U16550 is not set
+# CONFIG_SND_MPU401 is not set
+CONFIG_SND_ARM=y
+# CONFIG_SND_SPI is not set
+CONFIG_SND_USB=y
+# CONFIG_SND_USB_AUDIO is not set
+# CONFIG_SND_USB_CAIAQ is not set
+# CONFIG_SND_SOC is not set
+# CONFIG_SOUND_PRIME is not set
+CONFIG_HID_SUPPORT=y
+CONFIG_HID=y
+# CONFIG_HID_DEBUG is not set
+# CONFIG_HIDRAW is not set
+
+#
+# USB Input Devices
+#
+CONFIG_USB_HID=m
+# CONFIG_USB_HIDINPUT_POWERBOOK is not set
+# CONFIG_HID_FF is not set
+# CONFIG_USB_HIDDEV is not set
+
+#
+# USB HID Boot Protocol drivers
+#
+CONFIG_USB_KBD=m
+# CONFIG_USB_MOUSE is not set
+CONFIG_USB_SUPPORT=y
+CONFIG_USB_ARCH_HAS_HCD=y
+# CONFIG_USB_ARCH_HAS_OHCI is not set
+CONFIG_USB_ARCH_HAS_EHCI=y
+CONFIG_USB=y
+CONFIG_USB_DEBUG=y
+CONFIG_USB_ANNOUNCE_NEW_DEVICES=y
+
+#
+# Miscellaneous USB options
+#
+CONFIG_USB_DEVICEFS=y
+CONFIG_USB_DEVICE_CLASS=y
+# CONFIG_USB_DYNAMIC_MINORS is not set
+# CONFIG_USB_SUSPEND is not set
+# CONFIG_USB_OTG is not set
+# CONFIG_USB_OTG_WHITELIST is not set
+# CONFIG_USB_OTG_BLACKLIST_HUB is not set
+# CONFIG_USB_MON is not set
+
+#
+# USB Host Controller Drivers
+#
+# CONFIG_USB_C67X00_HCD is not set
+CONFIG_USB_EHCI_HCD=m
+CONFIG_USB_EHCI_ARC=y
+# CONFIG_USB_EHCI_ARC_H1 is not set
+CONFIG_USB_EHCI_ARC_H2=y
+CONFIG_USB_EHCI_ARC_OTG=y
+# CONFIG_USB_EHCI_FSL_MC13783 is not set
+# CONFIG_USB_EHCI_FSL_1301 is not set
+CONFIG_USB_EHCI_FSL_1504=y
+CONFIG_USB_EHCI_ROOT_HUB_TT=y
+# CONFIG_USB_EHCI_TT_NEWSCHED is not set
+# CONFIG_USB_ISP116X_HCD is not set
+# CONFIG_USB_ISP1760_HCD is not set
+# CONFIG_USB_SL811_HCD is not set
+# CONFIG_USB_R8A66597_HCD is not set
+# CONFIG_USB_GADGET_MUSB_HDRC is not set
+
+#
+# USB Device Class drivers
+#
+# CONFIG_USB_ACM is not set
+# CONFIG_USB_PRINTER is not set
+# CONFIG_USB_WDM is not set
+
+#
+# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support'
+#
+
+#
+# may also be needed; see USB_STORAGE Help for more information
+#
+CONFIG_USB_STORAGE=y
+# CONFIG_USB_STORAGE_DEBUG is not set
+# CONFIG_USB_STORAGE_DATAFAB is not set
+# CONFIG_USB_STORAGE_FREECOM is not set
+# CONFIG_USB_STORAGE_ISD200 is not set
+# CONFIG_USB_STORAGE_DPCM is not set
+# CONFIG_USB_STORAGE_USBAT is not set
+# CONFIG_USB_STORAGE_SDDR09 is not set
+# CONFIG_USB_STORAGE_SDDR55 is not set
+# CONFIG_USB_STORAGE_JUMPSHOT is not set
+# CONFIG_USB_STORAGE_ALAUDA is not set
+# CONFIG_USB_STORAGE_ONETOUCH is not set
+# CONFIG_USB_STORAGE_KARMA is not set
+# CONFIG_USB_STORAGE_CYPRESS_ATACB is not set
+# CONFIG_USB_LIBUSUAL is not set
+
+#
+# USB Imaging devices
+#
+# CONFIG_USB_MDC800 is not set
+# CONFIG_USB_MICROTEK is not set
+
+#
+# USB port drivers
+#
+CONFIG_USB_SERIAL=m
+# CONFIG_USB_EZUSB is not set
+CONFIG_USB_SERIAL_GENERIC=y
+# CONFIG_USB_SERIAL_AIRCABLE is not set
+# CONFIG_USB_SERIAL_ARK3116 is not set
+# CONFIG_USB_SERIAL_BELKIN is not set
+# CONFIG_USB_SERIAL_CH341 is not set
+# CONFIG_USB_SERIAL_WHITEHEAT is not set
+# CONFIG_USB_SERIAL_DIGI_ACCELEPORT is not set
+# CONFIG_USB_SERIAL_CP2101 is not set
+# CONFIG_USB_SERIAL_CYPRESS_M8 is not set
+# CONFIG_USB_SERIAL_EMPEG is not set
+CONFIG_USB_SERIAL_FTDI_SIO=m
+# CONFIG_USB_SERIAL_FUNSOFT is not set
+# CONFIG_USB_SERIAL_VISOR is not set
+# CONFIG_USB_SERIAL_IPAQ is not set
+# CONFIG_USB_SERIAL_IR is not set
+# CONFIG_USB_SERIAL_EDGEPORT is not set
+# CONFIG_USB_SERIAL_EDGEPORT_TI is not set
+# CONFIG_USB_SERIAL_GARMIN is not set
+# CONFIG_USB_SERIAL_IPW is not set
+# CONFIG_USB_SERIAL_IUU is not set
+# CONFIG_USB_SERIAL_KEYSPAN_PDA is not set
+# CONFIG_USB_SERIAL_KEYSPAN is not set
+# CONFIG_USB_SERIAL_KLSI is not set
+# CONFIG_USB_SERIAL_KOBIL_SCT is not set
+# CONFIG_USB_SERIAL_MCT_U232 is not set
+# CONFIG_USB_SERIAL_MOS7720 is not set
+# CONFIG_USB_SERIAL_MOS7840 is not set
+# CONFIG_USB_SERIAL_MOTOROLA is not set
+# CONFIG_USB_SERIAL_NAVMAN is not set
+# CONFIG_USB_SERIAL_PL2303 is not set
+# CONFIG_USB_SERIAL_OTI6858 is not set
+# CONFIG_USB_SERIAL_SPCP8X5 is not set
+# CONFIG_USB_SERIAL_HP4X is not set
+# CONFIG_USB_SERIAL_SAFE is not set
+CONFIG_USB_SERIAL_SIERRAWIRELESS=m
+# CONFIG_USB_SERIAL_TI is not set
+# CONFIG_USB_SERIAL_CYBERJACK is not set
+# CONFIG_USB_SERIAL_XIRCOM is not set
+# CONFIG_USB_SERIAL_OPTION is not set
+# CONFIG_USB_SERIAL_OMNINET is not set
+# CONFIG_USB_SERIAL_DEBUG is not set
+
+#
+# USB Miscellaneous drivers
+#
+# CONFIG_USB_EMI62 is not set
+# CONFIG_USB_EMI26 is not set
+# CONFIG_USB_ADUTUX is not set
+# CONFIG_USB_RIO500 is not set
+# CONFIG_USB_LEGOTOWER is not set
+# CONFIG_USB_LCD is not set
+# CONFIG_USB_BERRY_CHARGE is not set
+# CONFIG_USB_LED is not set
+# CONFIG_USB_CYPRESS_CY7C63 is not set
+# CONFIG_USB_CYTHERM is not set
+# CONFIG_USB_PHIDGET is not set
+# CONFIG_USB_IDMOUSE is not set
+# CONFIG_USB_FTDI_ELAN is not set
+# CONFIG_USB_APPLEDISPLAY is not set
+# CONFIG_USB_SISUSBVGA is not set
+# CONFIG_USB_LD is not set
+# CONFIG_USB_TRANCEVIBRATOR is not set
+# CONFIG_USB_IOWARRIOR is not set
+# CONFIG_USB_TEST is not set
+# CONFIG_USB_ISIGHTFW is not set
+CONFIG_USB_GADGET=m
+# CONFIG_USB_GADGET_DEBUG is not set
+# CONFIG_USB_GADGET_DEBUG_FILES is not set
+# CONFIG_USB_GADGET_DEBUG_FS is not set
+CONFIG_USB_GADGET_SELECTED=y
+# CONFIG_USB_GADGET_AMD5536UDC is not set
+CONFIG_USB_GADGET_ARC=y
+CONFIG_USB_ARC=m
+# CONFIG_USB_GADGET_ATMEL_USBA is not set
+# CONFIG_USB_GADGET_FSL_USB2 is not set
+# CONFIG_USB_GADGET_NET2280 is not set
+# CONFIG_USB_GADGET_PXA25X is not set
+# CONFIG_USB_GADGET_M66592 is not set
+# CONFIG_USB_GADGET_PXA27X is not set
+# CONFIG_USB_GADGET_GOKU is not set
+# CONFIG_USB_GADGET_LH7A40X is not set
+# CONFIG_USB_GADGET_OMAP is not set
+# CONFIG_USB_GADGET_S3C2410 is not set
+# CONFIG_USB_GADGET_AT91 is not set
+# CONFIG_USB_GADGET_DUMMY_HCD is not set
+CONFIG_USB_GADGET_DUALSPEED=y
+CONFIG_USB_GADGET_ARC_OTG=y
+# CONFIG_USB_OTG_MX31_BUG is not set
+# CONFIG_USB_GADGET_FSL_MC13783 is not set
+# CONFIG_USB_GADGET_FSL_1301 is not set
+CONFIG_USB_GADGET_FSL_1504=y
+# CONFIG_USB_ZERO is not set
+CONFIG_USB_ETH=m
+CONFIG_USB_ETH_RNDIS=y
+CONFIG_USB_GADGETFS=m
+CONFIG_USB_FILE_STORAGE=m
+# CONFIG_USB_FILE_STORAGE_TEST is not set
+CONFIG_USB_G_SERIAL=m
+# CONFIG_USB_MIDI_GADGET is not set
+# CONFIG_USB_G_PRINTER is not set
+# CONFIG_USB_CDC_COMPOSITE is not set
+CONFIG_MMC=y
+# CONFIG_MMC_DEBUG is not set
+# CONFIG_MMC_UNSAFE_RESUME is not set
+
+#
+# MMC/SD Card Drivers
+#
+CONFIG_MMC_BLOCK=y
+CONFIG_MMC_BLOCK_BOUNCE=y
+# CONFIG_SDIO_UART is not set
+# CONFIG_MMC_TEST is not set
+
+#
+# MMC/SD Host Controller Drivers
+#
+# CONFIG_MMC_SDHCI is not set
+# CONFIG_MMC_SPI is not set
+CONFIG_MMC_MXC=y
+# CONFIG_NEW_LEDS is not set
+CONFIG_RTC_LIB=y
+CONFIG_RTC_CLASS=y
+CONFIG_RTC_HCTOSYS=y
+CONFIG_RTC_HCTOSYS_DEVICE="rtc0"
+# CONFIG_RTC_DEBUG is not set
+
+#
+# RTC interfaces
+#
+CONFIG_RTC_INTF_SYSFS=y
+CONFIG_RTC_INTF_PROC=y
+CONFIG_RTC_INTF_DEV=y
+# CONFIG_RTC_INTF_DEV_UIE_EMUL is not set
+# CONFIG_RTC_DRV_TEST is not set
+
+#
+# I2C RTC drivers
+#
+# CONFIG_RTC_DRV_DS1307 is not set
+# CONFIG_RTC_DRV_DS1374 is not set
+# CONFIG_RTC_DRV_DS1672 is not set
+# CONFIG_RTC_DRV_MAX6900 is not set
+# CONFIG_RTC_DRV_RS5C372 is not set
+CONFIG_RTC12026=m
+# CONFIG_RTC_DRV_ISL1208 is not set
+# CONFIG_RTC_DRV_X1205 is not set
+# CONFIG_RTC_DRV_PCF8563 is not set
+# CONFIG_RTC_DRV_PCF8583 is not set
+# CONFIG_RTC_DRV_M41T80 is not set
+# CONFIG_RTC_DRV_S35390A is not set
+# CONFIG_RTC_DRV_FM3130 is not set
+
+#
+# SPI RTC drivers
+#
+# CONFIG_RTC_DRV_M41T94 is not set
+# CONFIG_RTC_DRV_DS1305 is not set
+# CONFIG_RTC_DRV_MAX6902 is not set
+# CONFIG_RTC_DRV_R9701 is not set
+# CONFIG_RTC_DRV_RS5C348 is not set
+
+#
+# Platform RTC drivers
+#
+# CONFIG_RTC_DRV_CMOS is not set
+# CONFIG_RTC_DRV_DS1511 is not set
+# CONFIG_RTC_DRV_DS1553 is not set
+# CONFIG_RTC_DRV_DS1742 is not set
+# CONFIG_RTC_DRV_STK17TA8 is not set
+# CONFIG_RTC_DRV_M48T86 is not set
+# CONFIG_RTC_DRV_M48T59 is not set
+# CONFIG_RTC_DRV_V3020 is not set
+
+#
+# on-CPU RTC drivers
+#
+# CONFIG_DMADEVICES is not set
+
+#
+# MXC support drivers
+#
+
+#
+# MXC IPU
+#
+CONFIG_MXC_IPU=y
+CONFIG_MXC_IPU_PF=m
+
+#
+# MXC SSI support
+#
+CONFIG_MXC_SSI=y
+
+#
+# MXC Digital Audio Multiplexer support
+#
+CONFIG_MXC_DAM=y
+
+#
+# MXC PMIC support
+#
+# CONFIG_MXC_SPI_PMIC_CORE is not set
+# CONFIG_MXC_PMIC is not set
+CONFIG_MXC_BUG_AUDIO=m
+CONFIG_MXC_BUG_AUDIO_FT=m
+
+#
+# BUG Power Management
+#
+CONFIG_BUG_PM=y
+CONFIG_BUG_APM=m
+CONFIG_BUG_KFLASH=y
+
+#
+# BUG Ethernet
+#
+CONFIG_BUG_ETHERNET=m
+# CONFIG_MOSES_FLASH is not set
+CONFIG_BMI_PIMS=m
+
+#
+# BMI PIMS
+#
+# CONFIG_BUG_FACTORY_TEST is not set
+CONFIG_BMI_GPS=m
+CONFIG_BMI_MDACC=m
+CONFIG_VIDEO_BMI_LCD=m
+# CONFIG_VIDEO_BMI_LCD_S320X240 is not set
+CONFIG_BMI_AUDIO=m
+CONFIG_BMI_CAMERA=m
+# CONFIG_BMI_CAMERA_VS6624 is not set
+CONFIG_BMI_CAMERA_OV2640=m
+CONFIG_BMI_VH=m
+# CONFIG_BMI_SENSOR is not set
+CONFIG_BMI_ZB=m
+# CONFIG_BMI_GSM is not set
+
+#
+# Advanced Power Management devices
+#
+# CONFIG_MXC_DVFS is not set
+
+#
+# MXC Security Drivers
+#
+CONFIG_MXC_SECURITY_SCC=y
+# CONFIG_SCC_DEBUG is not set
+CONFIG_MXC_SECURITY_RNG=y
+# CONFIG_MXC_RNG_TEST_DRIVER is not set
+# CONFIG_MXC_RNG_DEBUG is not set
+CONFIG_MXC_SECURITY_RTIC=y
+# CONFIG_MXC_RTIC_TEST_DEBUG is not set
+CONFIG_MXC_SECURITY_CORE=y
+
+#
+# MXC MPEG4 Encoder Kernel module support
+#
+CONFIG_MXC_HMP4E=m
+# CONFIG_MXC_HMP4E_DEBUG is not set
+
+#
+# MXC VPU(Video Processing Unit) support
+#
+# CONFIG_MXC_VPU is not set
+
+#
+# Voltage and Current regulators
+#
+# CONFIG_REGULATOR is not set
+# CONFIG_REGULATOR_FIXED_VOLTAGE is not set
+# CONFIG_REGULATOR_VIRTUAL_CONSUMER is not set
+# CONFIG_REGULATOR_BQ24022 is not set
+# CONFIG_UIO is not set
+
+#
+# File systems
+#
+CONFIG_EXT2_FS=y
+# CONFIG_EXT2_FS_XATTR is not set
+# CONFIG_EXT2_FS_XIP is not set
+CONFIG_EXT3_FS=y
+CONFIG_EXT3_FS_XATTR=y
+# CONFIG_EXT3_FS_POSIX_ACL is not set
+# CONFIG_EXT3_FS_SECURITY is not set
+# CONFIG_EXT4DEV_FS is not set
+CONFIG_JBD=y
+# CONFIG_JBD_DEBUG is not set
+CONFIG_FS_MBCACHE=y
+# CONFIG_REISERFS_FS is not set
+# CONFIG_JFS_FS is not set
+# CONFIG_FS_POSIX_ACL is not set
+# CONFIG_XFS_FS is not set
+# CONFIG_OCFS2_FS is not set
+CONFIG_DNOTIFY=y
+CONFIG_INOTIFY=y
+CONFIG_INOTIFY_USER=y
+# CONFIG_QUOTA is not set
+# CONFIG_AUTOFS_FS is not set
+CONFIG_AUTOFS4_FS=m
+# CONFIG_FUSE_FS is not set
+
+#
+# CD-ROM/DVD Filesystems
+#
+# CONFIG_ISO9660_FS is not set
+# CONFIG_UDF_FS is not set
+
+#
+# DOS/FAT/NT Filesystems
+#
+# CONFIG_MSDOS_FS is not set
+# CONFIG_VFAT_FS is not set
+# CONFIG_NTFS_FS is not set
+
+#
+# Pseudo filesystems
+#
+CONFIG_PROC_FS=y
+CONFIG_PROC_SYSCTL=y
+CONFIG_SYSFS=y
+CONFIG_TMPFS=y
+# CONFIG_TMPFS_POSIX_ACL is not set
+# CONFIG_HUGETLB_PAGE is not set
+# CONFIG_CONFIGFS_FS is not set
+
+#
+# Miscellaneous filesystems
+#
+# CONFIG_ADFS_FS is not set
+# CONFIG_AFFS_FS is not set
+# CONFIG_HFS_FS is not set
+# CONFIG_HFSPLUS_FS is not set
+# CONFIG_BEFS_FS is not set
+# CONFIG_BFS_FS is not set
+# CONFIG_EFS_FS is not set
+CONFIG_JFFS2_FS=y
+CONFIG_JFFS2_FS_DEBUG=0
+CONFIG_JFFS2_FS_WRITEBUFFER=y
+# CONFIG_JFFS2_FS_WBUF_VERIFY is not set
+# CONFIG_JFFS2_SUMMARY is not set
+# CONFIG_JFFS2_FS_XATTR is not set
+# CONFIG_JFFS2_COMPRESSION_OPTIONS is not set
+CONFIG_JFFS2_ZLIB=y
+# CONFIG_JFFS2_LZO is not set
+CONFIG_JFFS2_RTIME=y
+# CONFIG_JFFS2_RUBIN is not set
+CONFIG_CRAMFS=y
+# CONFIG_VXFS_FS is not set
+# CONFIG_MINIX_FS is not set
+# CONFIG_OMFS_FS is not set
+# CONFIG_HPFS_FS is not set
+# CONFIG_QNX4FS_FS is not set
+# CONFIG_ROMFS_FS is not set
+# CONFIG_SYSV_FS is not set
+# CONFIG_UFS_FS is not set
+CONFIG_NETWORK_FILESYSTEMS=y
+CONFIG_NFS_FS=m
+CONFIG_NFS_V3=y
+# CONFIG_NFS_V3_ACL is not set
+# CONFIG_NFS_V4 is not set
+# CONFIG_NFSD is not set
+CONFIG_LOCKD=m
+CONFIG_LOCKD_V4=y
+CONFIG_NFS_COMMON=y
+CONFIG_SUNRPC=m
+# CONFIG_RPCSEC_GSS_KRB5 is not set
+# CONFIG_RPCSEC_GSS_SPKM3 is not set
+# CONFIG_SMB_FS is not set
+# CONFIG_CIFS is not set
+# CONFIG_NCP_FS is not set
+# CONFIG_CODA_FS is not set
+# CONFIG_AFS_FS is not set
+
+#
+# Partition Types
+#
+# CONFIG_PARTITION_ADVANCED is not set
+CONFIG_MSDOS_PARTITION=y
+CONFIG_NLS=y
+CONFIG_NLS_DEFAULT="iso8859-1"
+CONFIG_NLS_CODEPAGE_437=y
+# CONFIG_NLS_CODEPAGE_737 is not set
+# CONFIG_NLS_CODEPAGE_775 is not set
+# CONFIG_NLS_CODEPAGE_850 is not set
+# CONFIG_NLS_CODEPAGE_852 is not set
+# CONFIG_NLS_CODEPAGE_855 is not set
+# CONFIG_NLS_CODEPAGE_857 is not set
+# CONFIG_NLS_CODEPAGE_860 is not set
+# CONFIG_NLS_CODEPAGE_861 is not set
+# CONFIG_NLS_CODEPAGE_862 is not set
+# CONFIG_NLS_CODEPAGE_863 is not set
+# CONFIG_NLS_CODEPAGE_864 is not set
+# CONFIG_NLS_CODEPAGE_865 is not set
+# CONFIG_NLS_CODEPAGE_866 is not set
+# CONFIG_NLS_CODEPAGE_869 is not set
+# CONFIG_NLS_CODEPAGE_936 is not set
+# CONFIG_NLS_CODEPAGE_950 is not set
+# CONFIG_NLS_CODEPAGE_932 is not set
+# CONFIG_NLS_CODEPAGE_949 is not set
+# CONFIG_NLS_CODEPAGE_874 is not set
+# CONFIG_NLS_ISO8859_8 is not set
+# CONFIG_NLS_CODEPAGE_1250 is not set
+# CONFIG_NLS_CODEPAGE_1251 is not set
+CONFIG_NLS_ASCII=m
+CONFIG_NLS_ISO8859_1=y
+# CONFIG_NLS_ISO8859_2 is not set
+# CONFIG_NLS_ISO8859_3 is not set
+# CONFIG_NLS_ISO8859_4 is not set
+# CONFIG_NLS_ISO8859_5 is not set
+# CONFIG_NLS_ISO8859_6 is not set
+# CONFIG_NLS_ISO8859_7 is not set
+# CONFIG_NLS_ISO8859_9 is not set
+# CONFIG_NLS_ISO8859_13 is not set
+# CONFIG_NLS_ISO8859_14 is not set
+# CONFIG_NLS_ISO8859_15 is not set
+# CONFIG_NLS_KOI8_R is not set
+# CONFIG_NLS_KOI8_U is not set
+CONFIG_NLS_UTF8=m
+# CONFIG_DLM is not set
+
+#
+# Kernel hacking
+#
+CONFIG_PRINTK_TIME=y
+CONFIG_ENABLE_WARN_DEPRECATED=y
+CONFIG_ENABLE_MUST_CHECK=y
+CONFIG_FRAME_WARN=1024
+CONFIG_MAGIC_SYSRQ=y
+# CONFIG_UNUSED_SYMBOLS is not set
+CONFIG_DEBUG_FS=y
+# CONFIG_HEADERS_CHECK is not set
+CONFIG_DEBUG_KERNEL=y
+# CONFIG_DEBUG_SHIRQ is not set
+# CONFIG_DETECT_SOFTLOCKUP is not set
+CONFIG_SCHED_DEBUG=y
+# CONFIG_SCHEDSTATS is not set
+CONFIG_TIMER_STATS=y
+# CONFIG_DEBUG_OBJECTS is not set
+# CONFIG_DEBUG_SLAB is not set
+CONFIG_DEBUG_PREEMPT=y
+# CONFIG_DEBUG_RT_MUTEXES is not set
+# CONFIG_RT_MUTEX_TESTER is not set
+# CONFIG_DEBUG_SPINLOCK is not set
+# CONFIG_DEBUG_MUTEXES is not set
+# CONFIG_DEBUG_LOCK_ALLOC is not set
+# CONFIG_PROVE_LOCKING is not set
+# CONFIG_LOCK_STAT is not set
+# CONFIG_DEBUG_SPINLOCK_SLEEP is not set
+# CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set
+CONFIG_STACKTRACE=y
+# CONFIG_DEBUG_KOBJECT is not set
+CONFIG_DEBUG_BUGVERBOSE=y
+# CONFIG_DEBUG_INFO is not set
+# CONFIG_DEBUG_VM is not set
+# CONFIG_DEBUG_WRITECOUNT is not set
+# CONFIG_DEBUG_MEMORY_INIT is not set
+# CONFIG_DEBUG_LIST is not set
+# CONFIG_DEBUG_SG is not set
+CONFIG_FRAME_POINTER=y
+# CONFIG_BOOT_PRINTK_DELAY is not set
+# CONFIG_RCU_TORTURE_TEST is not set
+# CONFIG_BACKTRACE_SELF_TEST is not set
+# CONFIG_FAULT_INJECTION is not set
+# CONFIG_LATENCYTOP is not set
+# CONFIG_SYSCTL_SYSCALL_CHECK is not set
+CONFIG_HAVE_FTRACE=y
+CONFIG_HAVE_DYNAMIC_FTRACE=y
+CONFIG_TRACING=y
+CONFIG_FTRACE=y
+# CONFIG_IRQSOFF_TRACER is not set
+# CONFIG_PREEMPT_TRACER is not set
+# CONFIG_SCHED_TRACER is not set
+CONFIG_CONTEXT_SWITCH_TRACER=y
+CONFIG_FTRACE_SELFTEST=y
+CONFIG_FTRACE_STARTUP_TEST=y
+# CONFIG_SAMPLES is not set
+CONFIG_HAVE_ARCH_KGDB=y
+# CONFIG_KGDB is not set
+CONFIG_DEBUG_USER=y
+CONFIG_DEBUG_ERRORS=y
+# CONFIG_DEBUG_STACK_USAGE is not set
+CONFIG_DEBUG_LL=y
+# CONFIG_DEBUG_ICEDCC is not set
+
+#
+# Security options
+#
+# CONFIG_KEYS is not set
+# CONFIG_SECURITY is not set
+# CONFIG_SECURITY_FILE_CAPABILITIES is not set
+CONFIG_CRYPTO=y
+
+#
+# Crypto core or helper
+#
+CONFIG_CRYPTO_ALGAPI=m
+CONFIG_CRYPTO_BLKCIPHER=m
+CONFIG_CRYPTO_MANAGER=m
+# CONFIG_CRYPTO_GF128MUL is not set
+# CONFIG_CRYPTO_NULL is not set
+# CONFIG_CRYPTO_CRYPTD is not set
+# CONFIG_CRYPTO_AUTHENC is not set
+# CONFIG_CRYPTO_TEST is not set
+
+#
+# Authenticated Encryption with Associated Data
+#
+# CONFIG_CRYPTO_CCM is not set
+# CONFIG_CRYPTO_GCM is not set
+# CONFIG_CRYPTO_SEQIV is not set
+
+#
+# Block modes
+#
+# CONFIG_CRYPTO_CBC is not set
+# CONFIG_CRYPTO_CTR is not set
+# CONFIG_CRYPTO_CTS is not set
+CONFIG_CRYPTO_ECB=m
+# CONFIG_CRYPTO_LRW is not set
+# CONFIG_CRYPTO_PCBC is not set
+# CONFIG_CRYPTO_XTS is not set
+
+#
+# Hash modes
+#
+# CONFIG_CRYPTO_HMAC is not set
+# CONFIG_CRYPTO_XCBC is not set
+
+#
+# Digest
+#
+# CONFIG_CRYPTO_CRC32C is not set
+# CONFIG_CRYPTO_MD4 is not set
+# CONFIG_CRYPTO_MD5 is not set
+CONFIG_CRYPTO_MICHAEL_MIC=m
+# CONFIG_CRYPTO_RMD128 is not set
+# CONFIG_CRYPTO_RMD160 is not set
+# CONFIG_CRYPTO_RMD256 is not set
+# CONFIG_CRYPTO_RMD320 is not set
+# CONFIG_CRYPTO_SHA1 is not set
+# CONFIG_CRYPTO_SHA256 is not set
+# CONFIG_CRYPTO_SHA512 is not set
+# CONFIG_CRYPTO_TGR192 is not set
+# CONFIG_CRYPTO_WP512 is not set
+
+#
+# Ciphers
+#
+CONFIG_CRYPTO_AES=m
+# CONFIG_CRYPTO_ANUBIS is not set
+CONFIG_CRYPTO_ARC4=m
+# CONFIG_CRYPTO_BLOWFISH is not set
+# CONFIG_CRYPTO_CAMELLIA is not set
+# CONFIG_CRYPTO_CAST5 is not set
+# CONFIG_CRYPTO_CAST6 is not set
+# CONFIG_CRYPTO_DES is not set
+# CONFIG_CRYPTO_FCRYPT is not set
+# CONFIG_CRYPTO_KHAZAD is not set
+# CONFIG_CRYPTO_SALSA20 is not set
+# CONFIG_CRYPTO_SEED is not set
+# CONFIG_CRYPTO_SERPENT is not set
+# CONFIG_CRYPTO_TEA is not set
+# CONFIG_CRYPTO_TWOFISH is not set
+
+#
+# Compression
+#
+# CONFIG_CRYPTO_DEFLATE is not set
+# CONFIG_CRYPTO_LZO is not set
+CONFIG_CRYPTO_HW=y
+
+#
+# Library routines
+#
+CONFIG_BITREVERSE=y
+# CONFIG_GENERIC_FIND_FIRST_BIT is not set
+# CONFIG_GENERIC_FIND_NEXT_BIT is not set
+CONFIG_CRC_CCITT=m
+# CONFIG_CRC16 is not set
+# CONFIG_CRC_T10DIF is not set
+# CONFIG_CRC_ITU_T is not set
+CONFIG_CRC32=y
+# CONFIG_CRC7 is not set
+# CONFIG_LIBCRC32C is not set
+CONFIG_ZLIB_INFLATE=y
+CONFIG_ZLIB_DEFLATE=y
+CONFIG_PLIST=y
+CONFIG_HAS_IOMEM=y
+CONFIG_HAS_IOPORT=y
+CONFIG_HAS_DMA=y
diff --git a/recipes/linux/linux-bug_2.6.27.2.bb b/recipes/linux/linux-bug_2.6.27.2.bb
new file mode 100644
index 0000000000..db49e63993
--- /dev/null
+++ b/recipes/linux/linux-bug_2.6.27.2.bb
@@ -0,0 +1,42 @@
+DESCRIPTION = "Linux kernel for bug"
+
+PV_append = "+svnr${SRCREV}"
+KV = "2.6.27.2"
+PR = "r26"
+
+COMPATIBLE_MACHINE = "bug"
+
+SVN_PRJ = "bug-linux-${KV}"
+
+SRC_URI = "svn://svn.buglabs.net/bug/trunk;module=${SVN_PRJ};proto=svn \
+ file://defconfig \
+ "
+
+S = "${WORKDIR}/${SVN_PRJ}"
+
+ARM_KEEP_OABI ?= "0"
+UBOOT_ENTRYPOINT = "0x80008000"
+
+require linux.inc
+
+do_install_append() {
+# install -m 0644 arch/${ARCH}/boot/uImage ${D}/${KERNEL_IMAGEDEST}/uImage-${KERNEL_VERSION}
+ cd ${D}/${KERNEL_IMAGEDEST} && ln -sf uImage-${KERNEL_VERSION} uImage
+}
+
+FILESDIR = "${WORKDIR}"
+FILES_kernel-image += "${KERNEL_IMAGEDEST}/uImage*"
+
+module_conf_g_ether = "options g_ether host_addr=46:0d:9e:67:69:eb"
+module_conf_bmi_audio = "options bmi_audio output_ints=1"
+module_autoload_arcotg_udc = "arcotg_udc"
+module_autoload_ehci-hcd = "ehci-hcd"
+module_autoload_g_ether = "g_ether"
+module_autoload_bugnav = "bugnav"
+module_autoload_bug_audio = "bug_audio"
+module_autoload_bugpm = "bugpm"
+module_autoload_bugpm_apm = "bugpm_apm"
+module_autoload_rtc-isl12026 = "rtc-isl12026"
+module_autoload_bug_v4l2_capture = "bug_v4l2_capture"
+# bmi_lcd_core loaded to ensure xserver device nodes are created on boot.
+module_autoload_bmi_lcd_core = "bmi_lcd_core"
diff --git a/recipes/linux/linux-kirkwood/defconfig b/recipes/linux/linux-kirkwood/defconfig
index 210c2c9e25..078f7efac3 100644
--- a/recipes/linux/linux-kirkwood/defconfig
+++ b/recipes/linux/linux-kirkwood/defconfig
@@ -1,7 +1,7 @@
#
# Automatically generated make config: don't edit
-# Linux kernel version: 2.6.29-rc7
-# Sat Mar 21 22:08:30 2009
+# Linux kernel version: 2.6.29.1
+# Mon Apr 27 14:13:52 2009
#
CONFIG_ARM=y
CONFIG_SYS_SUPPORTS_APM_EMULATION=y
@@ -34,7 +34,7 @@ CONFIG_BROKEN_ON_SMP=y
CONFIG_LOCK_KERNEL=y
CONFIG_INIT_ENV_ARG_LIMIT=32
CONFIG_LOCALVERSION=""
-CONFIG_LOCALVERSION_AUTO=y
+# CONFIG_LOCALVERSION_AUTO is not set
CONFIG_SWAP=y
CONFIG_SYSVIPC=y
CONFIG_SYSVIPC_SYSCTL=y
@@ -51,12 +51,13 @@ CONFIG_CLASSIC_RCU=y
# CONFIG_PREEMPT_RCU is not set
# CONFIG_TREE_RCU_TRACE is not set
# CONFIG_PREEMPT_RCU_TRACE is not set
-# CONFIG_IKCONFIG is not set
+CONFIG_IKCONFIG=y
+CONFIG_IKCONFIG_PROC=y
CONFIG_LOG_BUF_SHIFT=19
# CONFIG_GROUP_SCHED is not set
# CONFIG_CGROUPS is not set
# CONFIG_SYSFS_DEPRECATED_V2 is not set
-# CONFIG_RELAY is not set
+CONFIG_RELAY=y
CONFIG_NAMESPACES=y
# CONFIG_UTS_NS is not set
# CONFIG_IPC_NS is not set
@@ -67,6 +68,7 @@ CONFIG_BLK_DEV_INITRD=y
CONFIG_INITRAMFS_SOURCE=""
CONFIG_CC_OPTIMIZE_FOR_SIZE=y
CONFIG_SYSCTL=y
+CONFIG_ANON_INODES=y
# CONFIG_EMBEDDED is not set
CONFIG_UID16=y
CONFIG_SYSCTL_SYSCALL=y
@@ -77,10 +79,8 @@ CONFIG_HOTPLUG=y
CONFIG_PRINTK=y
CONFIG_BUG=y
CONFIG_ELF_CORE=y
-CONFIG_COMPAT_BRK=y
CONFIG_BASE_FULL=y
CONFIG_FUTEX=y
-CONFIG_ANON_INODES=y
CONFIG_EPOLL=y
CONFIG_SIGNALFD=y
CONFIG_TIMERFD=y
@@ -90,6 +90,7 @@ CONFIG_AIO=y
CONFIG_VM_EVENT_COUNTERS=y
CONFIG_PCI_QUIRKS=y
CONFIG_SLUB_DEBUG=y
+CONFIG_COMPAT_BRK=y
# CONFIG_SLAB is not set
CONFIG_SLUB=y
# CONFIG_SLOB is not set
@@ -110,11 +111,11 @@ CONFIG_MODULES=y
CONFIG_MODULE_FORCE_LOAD=y
CONFIG_MODULE_UNLOAD=y
CONFIG_MODULE_FORCE_UNLOAD=y
-# CONFIG_MODVERSIONS is not set
+CONFIG_MODVERSIONS=y
# CONFIG_MODULE_SRCVERSION_ALL is not set
CONFIG_BLOCK=y
CONFIG_LBD=y
-# CONFIG_BLK_DEV_IO_TRACE is not set
+CONFIG_BLK_DEV_IO_TRACE=y
# CONFIG_BLK_DEV_BSG is not set
# CONFIG_BLK_DEV_INTEGRITY is not set
@@ -181,6 +182,7 @@ CONFIG_MACH_DB88F6281_BP=y
CONFIG_MACH_RD88F6192_NAS=y
CONFIG_MACH_RD88F6281=y
CONFIG_MACH_SHEEVAPLUG=y
+# CONFIG_MACH_TS219 is not set
CONFIG_PLAT_ORION=y
#
@@ -250,15 +252,17 @@ CONFIG_ZONE_DMA_FLAG=0
CONFIG_VIRT_TO_BUS=y
CONFIG_UNEVICTABLE_LRU=y
CONFIG_ALIGNMENT_TRAP=y
+CONFIG_UACCESS_WITH_MEMCPY=y
#
# Boot options
#
CONFIG_ZBOOT_ROM_TEXT=0x0
CONFIG_ZBOOT_ROM_BSS=0x0
-CONFIG_CMDLINE=""
+CONFIG_CMDLINE=" debug "
# CONFIG_XIP_KERNEL is not set
-# CONFIG_KEXEC is not set
+CONFIG_KEXEC=y
+CONFIG_ATAGS_PROC=y
#
# CPU Power Management
@@ -280,8 +284,8 @@ CONFIG_CMDLINE=""
CONFIG_BINFMT_ELF=y
# CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set
CONFIG_HAVE_AOUT=y
-# CONFIG_BINFMT_AOUT is not set
-# CONFIG_BINFMT_MISC is not set
+CONFIG_BINFMT_AOUT=m
+CONFIG_BINFMT_MISC=m
#
# Power management options
@@ -373,6 +377,7 @@ CONFIG_IRDA=m
# IrDA protocols
#
CONFIG_IRLAN=m
+# CONFIG_IRNET is not set
CONFIG_IRCOMM=m
CONFIG_IRDA_ULTRA=y
@@ -448,6 +453,7 @@ CONFIG_WIRELESS_OLD_REGULATORY=y
CONFIG_WIRELESS_EXT=y
CONFIG_WIRELESS_EXT_SYSFS=y
CONFIG_LIB80211=y
+# CONFIG_LIB80211_DEBUG is not set
CONFIG_MAC80211=y
#
@@ -458,7 +464,7 @@ CONFIG_MAC80211_RC_MINSTREL=y
CONFIG_MAC80211_RC_DEFAULT_MINSTREL=y
CONFIG_MAC80211_RC_DEFAULT="minstrel"
# CONFIG_MAC80211_MESH is not set
-# CONFIG_MAC80211_LEDS is not set
+CONFIG_MAC80211_LEDS=y
# CONFIG_MAC80211_DEBUGFS is not set
# CONFIG_MAC80211_DEBUG_MENU is not set
# CONFIG_WIMAX is not set
@@ -586,7 +592,15 @@ CONFIG_MTD_NAND_ORION=y
#
# UBI - Unsorted block images
#
-# CONFIG_MTD_UBI is not set
+CONFIG_MTD_UBI=y
+CONFIG_MTD_UBI_WL_THRESHOLD=4096
+CONFIG_MTD_UBI_BEB_RESERVE=1
+# CONFIG_MTD_UBI_GLUEBI is not set
+
+#
+# UBI debugging options
+#
+# CONFIG_MTD_UBI_DEBUG is not set
# CONFIG_PARPORT is not set
CONFIG_BLK_DEV=y
# CONFIG_BLK_CPQ_DA is not set
@@ -595,13 +609,15 @@ CONFIG_BLK_DEV=y
# CONFIG_BLK_DEV_UMEM is not set
# CONFIG_BLK_DEV_COW_COMMON is not set
CONFIG_BLK_DEV_LOOP=y
-# CONFIG_BLK_DEV_CRYPTOLOOP is not set
+CONFIG_BLK_DEV_CRYPTOLOOP=y
# CONFIG_BLK_DEV_NBD is not set
# CONFIG_BLK_DEV_SX8 is not set
# CONFIG_BLK_DEV_UB is not set
# CONFIG_BLK_DEV_RAM is not set
-# CONFIG_CDROM_PKTCDVD is not set
-# CONFIG_ATA_OVER_ETH is not set
+CONFIG_CDROM_PKTCDVD=m
+CONFIG_CDROM_PKTCDVD_BUFFERS=8
+CONFIG_CDROM_PKTCDVD_WCACHE=y
+CONFIG_ATA_OVER_ETH=m
# CONFIG_MISC_DEVICES is not set
CONFIG_EEPROM_93CX6=m
CONFIG_HAVE_IDE=y
@@ -610,7 +626,7 @@ CONFIG_HAVE_IDE=y
#
# SCSI device support
#
-# CONFIG_RAID_ATTRS is not set
+CONFIG_RAID_ATTRS=m
CONFIG_SCSI=y
CONFIG_SCSI_DMA=y
# CONFIG_SCSI_TGT is not set
@@ -631,7 +647,7 @@ CONFIG_CHR_DEV_SG=m
#
# Some SCSI devices (e.g. CD jukebox) support multiple LUNs
#
-# CONFIG_SCSI_MULTI_LUN is not set
+CONFIG_SCSI_MULTI_LUN=y
# CONFIG_SCSI_CONSTANTS is not set
# CONFIG_SCSI_LOGGING is not set
# CONFIG_SCSI_SCAN_ASYNC is not set
@@ -813,6 +829,7 @@ CONFIG_MII=y
# CONFIG_ENC28J60 is not set
# CONFIG_SMC911X is not set
# CONFIG_SMSC911X is not set
+# CONFIG_DNET is not set
# CONFIG_NET_TULIP is not set
# CONFIG_HP100 is not set
# CONFIG_IBM_NEW_EMAC_ZMII is not set
@@ -861,6 +878,7 @@ CONFIG_NETDEV_1000=y
# CONFIG_TIGON3 is not set
# CONFIG_BNX2 is not set
CONFIG_MV643XX_ETH=y
+# CONFIG_MV643XX_ETH_LRO is not set
# CONFIG_QLA3XXX is not set
# CONFIG_ATL1 is not set
# CONFIG_ATL1E is not set
@@ -903,9 +921,6 @@ CONFIG_P54_USB=m
# CONFIG_HOSTAP is not set
# CONFIG_B43 is not set
# CONFIG_B43LEGACY is not set
-# CONFIG_B43LEGACY_DMA_AND_PIO_MODE is not set
-# CONFIG_B43LEGACY_DMA_MODE is not set
-# CONFIG_B43LEGACY_PIO_MODE is not set
CONFIG_ZD1211RW=m
# CONFIG_ZD1211RW_DEBUG is not set
CONFIG_RT2X00=m
@@ -928,19 +943,19 @@ CONFIG_RT2X00_LIB_LEDS=y
#
# USB Network Adapters
#
-# CONFIG_USB_CATC is not set
-# CONFIG_USB_KAWETH is not set
-# CONFIG_USB_PEGASUS is not set
-# CONFIG_USB_RTL8150 is not set
+CONFIG_USB_CATC=m
+CONFIG_USB_KAWETH=m
+CONFIG_USB_PEGASUS=m
+CONFIG_USB_RTL8150=m
CONFIG_USB_USBNET=m
CONFIG_USB_NET_AX8817X=m
CONFIG_USB_NET_CDCETHER=m
-# CONFIG_USB_NET_DM9601 is not set
-# CONFIG_USB_NET_SMSC95XX is not set
+CONFIG_USB_NET_DM9601=m
+CONFIG_USB_NET_SMSC95XX=m
# CONFIG_USB_NET_GL620A is not set
CONFIG_USB_NET_NET1080=m
-# CONFIG_USB_NET_PLUSB is not set
-# CONFIG_USB_NET_MCS7830 is not set
+CONFIG_USB_NET_PLUSB=m
+CONFIG_USB_NET_MCS7830=m
CONFIG_USB_NET_RNDIS_HOST=m
CONFIG_USB_NET_CDC_SUBSET=m
# CONFIG_USB_ALI_M5632 is not set
@@ -953,8 +968,21 @@ CONFIG_USB_NET_ZAURUS=m
# CONFIG_WAN is not set
# CONFIG_FDDI is not set
# CONFIG_HIPPI is not set
-# CONFIG_PPP is not set
-# CONFIG_SLIP is not set
+CONFIG_PPP=m
+CONFIG_PPP_MULTILINK=y
+CONFIG_PPP_FILTER=y
+CONFIG_PPP_ASYNC=m
+CONFIG_PPP_SYNC_TTY=m
+CONFIG_PPP_DEFLATE=m
+CONFIG_PPP_BSDCOMP=m
+CONFIG_PPP_MPPE=m
+CONFIG_PPPOE=m
+CONFIG_PPPOL2TP=m
+CONFIG_SLIP=m
+# CONFIG_SLIP_COMPRESSED is not set
+CONFIG_SLHC=m
+# CONFIG_SLIP_SMART is not set
+# CONFIG_SLIP_MODE_SLIP6 is not set
# CONFIG_NET_FC is not set
# CONFIG_NETCONSOLE is not set
# CONFIG_NETPOLL is not set
@@ -1623,7 +1651,7 @@ CONFIG_USB_GADGET_DUALSPEED=y
# CONFIG_UWB is not set
CONFIG_MMC=y
# CONFIG_MMC_DEBUG is not set
-# CONFIG_MMC_UNSAFE_RESUME is not set
+CONFIG_MMC_UNSAFE_RESUME=y
#
# MMC/SD/SDIO Card Drivers
@@ -1638,6 +1666,7 @@ CONFIG_SDIO_UART=y
#
# CONFIG_MMC_SDHCI is not set
# CONFIG_MMC_TIFM_SD is not set
+CONFIG_MMC_MVSDIO=y
# CONFIG_MMC_SPI is not set
# CONFIG_MEMSTICK is not set
# CONFIG_ACCESSIBILITY is not set
@@ -1836,6 +1865,12 @@ CONFIG_JFFS2_ZLIB=y
# CONFIG_JFFS2_LZO is not set
CONFIG_JFFS2_RTIME=y
# CONFIG_JFFS2_RUBIN is not set
+CONFIG_UBIFS_FS=y
+CONFIG_UBIFS_FS_XATTR=y
+CONFIG_UBIFS_FS_ADVANCED_COMPR=y
+CONFIG_UBIFS_FS_LZO=y
+CONFIG_UBIFS_FS_ZLIB=y
+# CONFIG_UBIFS_FS_DEBUG is not set
CONFIG_CRAMFS=y
# CONFIG_SQUASHFS is not set
# CONFIG_VXFS_FS is not set
@@ -1973,7 +2008,6 @@ CONFIG_DEBUG_MEMORY_INIT=y
# CONFIG_DEBUG_LIST is not set
# CONFIG_DEBUG_SG is not set
# CONFIG_DEBUG_NOTIFIERS is not set
-CONFIG_FRAME_POINTER=y
# CONFIG_BOOT_PRINTK_DELAY is not set
# CONFIG_RCU_TORTURE_TEST is not set
# CONFIG_RCU_CPU_STALL_DETECTOR is not set
@@ -2005,6 +2039,7 @@ CONFIG_TRACING=y
# CONFIG_SAMPLES is not set
CONFIG_HAVE_ARCH_KGDB=y
# CONFIG_KGDB is not set
+CONFIG_ARM_UNWIND=y
CONFIG_DEBUG_USER=y
CONFIG_DEBUG_ERRORS=y
# CONFIG_DEBUG_STACK_USAGE is not set
@@ -2054,7 +2089,7 @@ CONFIG_CRYPTO_MANAGER2=y
#
# Block modes
#
-CONFIG_CRYPTO_CBC=m
+CONFIG_CRYPTO_CBC=y
# CONFIG_CRYPTO_CTR is not set
# CONFIG_CRYPTO_CTS is not set
CONFIG_CRYPTO_ECB=y
@@ -2079,7 +2114,7 @@ CONFIG_CRYPTO_CRC32C=y
# CONFIG_CRYPTO_RMD160 is not set
# CONFIG_CRYPTO_RMD256 is not set
# CONFIG_CRYPTO_RMD320 is not set
-# CONFIG_CRYPTO_SHA1 is not set
+CONFIG_CRYPTO_SHA1=m
# CONFIG_CRYPTO_SHA256 is not set
# CONFIG_CRYPTO_SHA512 is not set
# CONFIG_CRYPTO_TGR192 is not set
@@ -2107,8 +2142,8 @@ CONFIG_CRYPTO_ARC4=y
#
# Compression
#
-# CONFIG_CRYPTO_DEFLATE is not set
-# CONFIG_CRYPTO_LZO is not set
+CONFIG_CRYPTO_DEFLATE=y
+CONFIG_CRYPTO_LZO=y
#
# Random Number Generation
@@ -2131,6 +2166,8 @@ CONFIG_CRC32=y
CONFIG_LIBCRC32C=y
CONFIG_ZLIB_INFLATE=y
CONFIG_ZLIB_DEFLATE=y
+CONFIG_LZO_COMPRESS=y
+CONFIG_LZO_DECOMPRESS=y
CONFIG_PLIST=y
CONFIG_HAS_IOMEM=y
CONFIG_HAS_IOPORT=y
diff --git a/recipes/linux/linux-kirkwood_2.6.29-rc7+git.bb b/recipes/linux/linux-kirkwood_2.6.29.1.bb
index f870bcef29..531f520497 100644
--- a/recipes/linux/linux-kirkwood_2.6.29-rc7+git.bb
+++ b/recipes/linux/linux-kirkwood_2.6.29.1.bb
@@ -1,15 +1,17 @@
DESCRIPTION = "Linux Kernel for Marvell Kirkwood based devices"
SECTION = "kernel"
LICENSE = "GPL"
-PR = "r0"
COMPATIBLE_MACHINE = "sheevaplug"
require linux.inc
-PV = "2.6.28+2.6.29rc7-${PR}+gitr${SRCREV}"
+# Change MACHINE_KERNEL_PR in conf/machine/include/kirkwood.inc
+PV = "2.6.29.1"
+PR_append = "+gitr${SRCREV}"
+#PV = "2.6.28+2.6.29rc7-${PR}+gitr${SRCREV}"
-SRCREV = "569106c70e49ad67c69fa7d43a2a5218e63a4619"
-SRC_URI = "git://git.marvell.com/orion.git;protocol=git \
+SRCREV = "f66f1d49e6d8617a07b07681c684083e48547eef"
+SRC_URI = "git://git.marvell.com/orion.git;protocol=git;branch=stable-2.6.29 \
file://fw.patch;patch=1 \
file://defconfig \
"
diff --git a/recipes/linux/linux-omap-2.6.29/dss2/0031-DSS2-do-bootmem-reserve-for-exclusive-access.patch b/recipes/linux/linux-omap-2.6.29/dss2/0031-DSS2-do-bootmem-reserve-for-exclusive-access.patch
new file mode 100644
index 0000000000..ae777ed04e
--- /dev/null
+++ b/recipes/linux/linux-omap-2.6.29/dss2/0031-DSS2-do-bootmem-reserve-for-exclusive-access.patch
@@ -0,0 +1,33 @@
+From 30c40f5e6b1794430f678bf23d3319354321cab7 Mon Sep 17 00:00:00 2001
+From: Imre Deak <imre.deak@nokia.com>
+Date: Tue, 14 Apr 2009 14:50:11 +0200
+Subject: [PATCH] DSS2: do bootmem reserve for exclusive access
+
+BOOTMEM_DEFAULT would allow multiple reservations for the same location,
+we need to reserve the region for our exclusive use. Also check if the
+reserve succeeded.
+
+Signed-off-by: Imre Deak <imre.deak@nokia.com>
+---
+ arch/arm/plat-omap/vram.c | 5 ++++-
+ 1 files changed, 4 insertions(+), 1 deletions(-)
+
+diff --git a/arch/arm/plat-omap/vram.c b/arch/arm/plat-omap/vram.c
+index f24a110..520f260 100644
+--- a/arch/arm/plat-omap/vram.c
++++ b/arch/arm/plat-omap/vram.c
+@@ -524,7 +524,10 @@ void __init omapfb_reserve_sdram(void)
+ return;
+ }
+
+- reserve_bootmem(paddr, size, BOOTMEM_DEFAULT);
++ if (reserve_bootmem(paddr, size, BOOTMEM_EXCLUSIVE) < 0) {
++ pr_err("FB: failed to reserve VRAM\n");
++ return;
++ }
+ } else {
+ if (size > sdram_size) {
+ printk(KERN_ERR "Illegal SDRAM size for VRAM\n");
+--
+1.5.6.5
+
diff --git a/recipes/linux/linux-omap-2.6.29/dss2/0032-DSS2-Fix-DISPC_VID_FIR-value-for-omap34xx.patch b/recipes/linux/linux-omap-2.6.29/dss2/0032-DSS2-Fix-DISPC_VID_FIR-value-for-omap34xx.patch
new file mode 100644
index 0000000000..4959a760b1
--- /dev/null
+++ b/recipes/linux/linux-omap-2.6.29/dss2/0032-DSS2-Fix-DISPC_VID_FIR-value-for-omap34xx.patch
@@ -0,0 +1,35 @@
+From ed7a9223f6785be03951c55f3b0695b0d5635c80 Mon Sep 17 00:00:00 2001
+From: =?utf-8?q?Ville=20Syrj=C3=A4l=C3=A4?= <ville.syrjala@nokia.com>
+Date: Thu, 9 Apr 2009 15:04:44 +0200
+Subject: [PATCH] DSS2: Fix DISPC_VID_FIR value for omap34xx
+MIME-Version: 1.0
+Content-Type: text/plain; charset=utf-8
+Content-Transfer-Encoding: 8bit
+
+The msbs of the DISPC_VID_FIR fields were incorrectly masked out on
+omap34xx and thus 4:1 downscale did not work correctly.
+
+Signed-off-by: Ville Syrjälä <ville.syrjala@nokia.com>
+---
+ drivers/video/omap2/dss/dispc.c | 5 ++++-
+ 1 files changed, 4 insertions(+), 1 deletions(-)
+
+diff --git a/drivers/video/omap2/dss/dispc.c b/drivers/video/omap2/dss/dispc.c
+index 076d3d4..b8a3329 100644
+--- a/drivers/video/omap2/dss/dispc.c
++++ b/drivers/video/omap2/dss/dispc.c
+@@ -994,7 +994,10 @@ static void _dispc_set_fir(enum omap_plane plane, int hinc, int vinc)
+
+ BUG_ON(plane == OMAP_DSS_GFX);
+
+- val = FLD_VAL(vinc, 27, 16) | FLD_VAL(hinc, 11, 0);
++ if (cpu_is_omap24xx())
++ val = FLD_VAL(vinc, 27, 16) | FLD_VAL(hinc, 11, 0);
++ else
++ val = FLD_VAL(vinc, 28, 16) | FLD_VAL(hinc, 12, 0);
+ dispc_write_reg(fir_reg[plane-1], val);
+ }
+
+--
+1.5.6.5
+
diff --git a/recipes/linux/linux-omap-2.6.29/dss2/0033-DSS2-Prefer-3-tap-filter.patch b/recipes/linux/linux-omap-2.6.29/dss2/0033-DSS2-Prefer-3-tap-filter.patch
new file mode 100644
index 0000000000..f643ca64f3
--- /dev/null
+++ b/recipes/linux/linux-omap-2.6.29/dss2/0033-DSS2-Prefer-3-tap-filter.patch
@@ -0,0 +1,82 @@
+From 5390230ed12585a79683733209db34e9130b8e3b Mon Sep 17 00:00:00 2001
+From: =?utf-8?q?Ville=20Syrj=C3=A4l=C3=A4?= <ville.syrjala@nokia.com>
+Date: Thu, 9 Apr 2009 15:04:43 +0200
+Subject: [PATCH] DSS2: Prefer 3-tap filter
+MIME-Version: 1.0
+Content-Type: text/plain; charset=utf-8
+Content-Transfer-Encoding: 8bit
+
+The 5-tap filter seems rather unstable. With some scaling settings it
+works and with some it doesn't even though the functional clock remains
+within the TRM limits. So prefer the 3-tap filter unless the functional
+clock required for it is too high.
+
+Signed-off-by: Ville Syrjälä <ville.syrjala@nokia.com>
+---
+ drivers/video/omap2/dss/dispc.c | 27 ++++++++++++---------------
+ 1 files changed, 12 insertions(+), 15 deletions(-)
+
+diff --git a/drivers/video/omap2/dss/dispc.c b/drivers/video/omap2/dss/dispc.c
+index b8a3329..b631dd8 100644
+--- a/drivers/video/omap2/dss/dispc.c
++++ b/drivers/video/omap2/dss/dispc.c
+@@ -1405,15 +1405,10 @@ static unsigned long calc_fclk_five_taps(u16 width, u16 height,
+ }
+
+ static unsigned long calc_fclk(u16 width, u16 height,
+- u16 out_width, u16 out_height,
+- enum omap_color_mode color_mode, bool five_taps)
++ u16 out_width, u16 out_height)
+ {
+ unsigned int hf, vf;
+
+- if (five_taps)
+- return calc_fclk_five_taps(width, height,
+- out_width, out_height, color_mode);
+-
+ /*
+ * FIXME how to determine the 'A' factor
+ * for the no downscaling case ?
+@@ -1494,7 +1489,7 @@ static int _dispc_setup_plane(enum omap_plane plane,
+ } else {
+ /* video plane */
+
+- unsigned long fclk;
++ unsigned long fclk = 0;
+
+ if (out_width < width / maxdownscale ||
+ out_width > width * 8)
+@@ -1530,20 +1525,22 @@ static int _dispc_setup_plane(enum omap_plane plane,
+ /* Must use 5-tap filter? */
+ five_taps = height > out_height * 2;
+
+- /* Try to use 5-tap filter whenever possible. */
+- if (cpu_is_omap34xx() && !five_taps &&
+- height > out_height && width <= 1024) {
+- fclk = calc_fclk_five_taps(width, height,
+- out_width, out_height, color_mode);
+- if (fclk <= dispc_fclk_rate())
++ if (!five_taps) {
++ fclk = calc_fclk(width, height,
++ out_width, out_height);
++
++ /* Try 5-tap filter if 3-tap fclk is too high */
++ if (cpu_is_omap34xx() && height > out_height &&
++ fclk > dispc_fclk_rate())
+ five_taps = true;
+ }
+
+ if (width > (2048 >> five_taps))
+ return -EINVAL;
+
+- fclk = calc_fclk(width, height, out_width, out_height,
+- color_mode, five_taps);
++ if (five_taps)
++ fclk = calc_fclk_five_taps(width, height,
++ out_width, out_height, color_mode);
+
+ DSSDBG("required fclk rate = %lu Hz\n", fclk);
+ DSSDBG("current fclk rate = %lu Hz\n", dispc_fclk_rate());
+--
+1.5.6.5
+
diff --git a/recipes/linux/linux-omap-2.6.29/dss2/0034-DSS2-VRAM-improve-omap_vram_add_region.patch b/recipes/linux/linux-omap-2.6.29/dss2/0034-DSS2-VRAM-improve-omap_vram_add_region.patch
new file mode 100644
index 0000000000..fdfc25fb47
--- /dev/null
+++ b/recipes/linux/linux-omap-2.6.29/dss2/0034-DSS2-VRAM-improve-omap_vram_add_region.patch
@@ -0,0 +1,135 @@
+From 946eb774e95cdc2f2fa5cdc24aa69229f82814b8 Mon Sep 17 00:00:00 2001
+From: Tomi Valkeinen <tomi.valkeinen@nokia.com>
+Date: Thu, 16 Apr 2009 17:56:00 +0300
+Subject: [PATCH] DSS2: VRAM: improve omap_vram_add_region()
+
+Combine postponed and non-posponed versions of omap_vram_add_region.
+Make the func non-static, so it can be called from board files.
+---
+ arch/arm/plat-omap/include/mach/vram.h | 1 +
+ arch/arm/plat-omap/vram.c | 54 +++++++++++++------------------
+ 2 files changed, 24 insertions(+), 31 deletions(-)
+
+diff --git a/arch/arm/plat-omap/include/mach/vram.h b/arch/arm/plat-omap/include/mach/vram.h
+index f176562..8639e08 100644
+--- a/arch/arm/plat-omap/include/mach/vram.h
++++ b/arch/arm/plat-omap/include/mach/vram.h
+@@ -24,6 +24,7 @@
+
+ #include <asm/types.h>
+
++extern int omap_vram_add_region(unsigned long paddr, size_t size);
+ extern int omap_vram_free(unsigned long paddr, size_t size);
+ extern int omap_vram_alloc(int mtype, size_t size, unsigned long *paddr);
+ extern int omap_vram_reserve(unsigned long paddr, size_t size);
+diff --git a/arch/arm/plat-omap/vram.c b/arch/arm/plat-omap/vram.c
+index 520f260..8e9fe77 100644
+--- a/arch/arm/plat-omap/vram.c
++++ b/arch/arm/plat-omap/vram.c
+@@ -60,6 +60,7 @@
+ * time when we cannot yet allocate the region list */
+ #define MAX_POSTPONED_REGIONS 10
+
++static bool vram_initialized;
+ static int postponed_cnt __initdata;
+ static struct {
+ unsigned long paddr;
+@@ -145,39 +146,32 @@ static void omap_vram_free_allocation(struct vram_alloc *va)
+ kfree(va);
+ }
+
+-static __init int omap_vram_add_region_postponed(unsigned long paddr,
+- size_t size)
+-{
+- if (postponed_cnt == MAX_POSTPONED_REGIONS)
+- return -ENOMEM;
+-
+- postponed_regions[postponed_cnt].paddr = paddr;
+- postponed_regions[postponed_cnt].size = size;
+-
+- ++postponed_cnt;
+-
+- return 0;
+-}
+-
+-/* add/remove_region can be exported if there's need to add/remove regions
+- * runtime */
+-static int omap_vram_add_region(unsigned long paddr, size_t size)
++int omap_vram_add_region(unsigned long paddr, size_t size)
+ {
+ struct vram_region *rm;
+ unsigned pages;
+
+- DBG("adding region paddr %08lx size %d\n",
+- paddr, size);
++ if (vram_initialized) {
++ DBG("adding region paddr %08lx size %d\n",
++ paddr, size);
+
+- size &= PAGE_MASK;
+- pages = size >> PAGE_SHIFT;
++ size &= PAGE_MASK;
++ pages = size >> PAGE_SHIFT;
+
+- rm = omap_vram_create_region(paddr, pages);
+- if (rm == NULL)
+- return -ENOMEM;
++ rm = omap_vram_create_region(paddr, pages);
++ if (rm == NULL)
++ return -ENOMEM;
++
++ list_add(&rm->list, &region_list);
++ } else {
++ if (postponed_cnt == MAX_POSTPONED_REGIONS)
++ return -ENOMEM;
+
+- list_add(&rm->list, &region_list);
++ postponed_regions[postponed_cnt].paddr = paddr;
++ postponed_regions[postponed_cnt].size = size;
+
++ ++postponed_cnt;
++ }
+ return 0;
+ }
+
+@@ -438,6 +432,8 @@ static __init int omap_vram_init(void)
+ {
+ int i, r;
+
++ vram_initialized = 1;
++
+ for (i = 0; i < postponed_cnt; i++)
+ omap_vram_add_region(postponed_regions[i].paddr,
+ postponed_regions[i].size);
+@@ -472,10 +468,6 @@ static void __init omapfb_early_vram(char **p)
+ omapfb_def_sdram_vram_size = memparse(*p, p);
+ if (**p == ',')
+ omapfb_def_sdram_vram_start = simple_strtoul((*p) + 1, p, 16);
+-
+- printk("omapfb_early_vram, %d, 0x%x\n",
+- omapfb_def_sdram_vram_size,
+- omapfb_def_sdram_vram_start);
+ }
+ __early_param("vram=", omapfb_early_vram);
+
+@@ -538,7 +530,7 @@ void __init omapfb_reserve_sdram(void)
+ BUG_ON(paddr & ~PAGE_MASK);
+ }
+
+- omap_vram_add_region_postponed(paddr, size);
++ omap_vram_add_region(paddr, size);
+
+ pr_info("Reserving %u bytes SDRAM for VRAM\n", size);
+ }
+@@ -594,7 +586,7 @@ unsigned long __init omapfb_reserve_sram(unsigned long sram_pstart,
+ reserved = pend_avail - paddr;
+ size_avail = pend_avail - reserved - pstart_avail;
+
+- omap_vram_add_region_postponed(paddr, size);
++ omap_vram_add_region(paddr, size);
+
+ if (reserved)
+ pr_info("Reserving %lu bytes SRAM for VRAM\n", reserved);
+--
+1.5.6.5
+
diff --git a/recipes/linux/linux-omap-2.6.29/dss2/0035-DSS2-Added-the-function-pointer-for-getting-default.patch b/recipes/linux/linux-omap-2.6.29/dss2/0035-DSS2-Added-the-function-pointer-for-getting-default.patch
new file mode 100644
index 0000000000..b7b395458f
--- /dev/null
+++ b/recipes/linux/linux-omap-2.6.29/dss2/0035-DSS2-Added-the-function-pointer-for-getting-default.patch
@@ -0,0 +1,66 @@
+From f825cafd5ee5c600218740507f85594c825b0c00 Mon Sep 17 00:00:00 2001
+From: Hardik Shah <hardik.shah@ti.com>
+Date: Thu, 16 Apr 2009 18:47:49 +0530
+Subject: [PATCH] DSS2: Added the function pointer for getting default color.
+
+V4L2 Framework has a CID for getting/setting default color.
+So added the function pointer for doing same.
+SYSFS based getting the default color will remain same
+
+Signed-off-by: Hardik Shah <hardik.shah@ti.com>
+---
+ arch/arm/plat-omap/include/mach/display.h | 1 +
+ drivers/video/omap2/dss/manager.c | 11 +++++++----
+ 2 files changed, 8 insertions(+), 4 deletions(-)
+
+diff --git a/arch/arm/plat-omap/include/mach/display.h b/arch/arm/plat-omap/include/mach/display.h
+index b0a6272..073cdda 100644
+--- a/arch/arm/plat-omap/include/mach/display.h
++++ b/arch/arm/plat-omap/include/mach/display.h
+@@ -414,6 +414,7 @@ struct omap_overlay_manager {
+ int (*apply)(struct omap_overlay_manager *mgr);
+
+ void (*set_default_color)(struct omap_overlay_manager *mgr, u32 color);
++ u32 (*get_default_color)(struct omap_overlay_manager *mgr);
+ void (*set_trans_key)(struct omap_overlay_manager *mgr,
+ enum omap_dss_color_key_type type,
+ u32 trans_key);
+diff --git a/drivers/video/omap2/dss/manager.c b/drivers/video/omap2/dss/manager.c
+index 8ca0bbb..12cf7b0 100644
+--- a/drivers/video/omap2/dss/manager.c
++++ b/drivers/video/omap2/dss/manager.c
+@@ -98,10 +98,8 @@ static ssize_t manager_display_store(struct omap_overlay_manager *mgr, const cha
+ static ssize_t manager_default_color_show(struct omap_overlay_manager *mgr,
+ char *buf)
+ {
+- u32 default_color;
+-
+- default_color = dispc_get_default_color(mgr->id);
+- return snprintf(buf, PAGE_SIZE, "%d", default_color);
++ return snprintf(buf, PAGE_SIZE, "%d",
++ mgr->get_default_color(mgr));
+ }
+
+ static ssize_t manager_default_color_store(struct omap_overlay_manager *mgr,
+@@ -470,6 +468,10 @@ static void omap_dss_mgr_enable_trans_key(struct omap_overlay_manager *mgr,
+ {
+ dispc_enable_trans_key(mgr->id, enable);
+ }
++static u32 omap_dss_mgr_get_default_color(struct omap_overlay_manager *mgr)
++{
++ return dispc_get_default_color(mgr->id);
++}
+
+ static void omap_dss_add_overlay_manager(struct omap_overlay_manager *manager)
+ {
+@@ -512,6 +514,7 @@ int dss_init_overlay_managers(struct platform_device *pdev)
+ mgr->set_default_color = &omap_dss_mgr_set_def_color,
+ mgr->set_trans_key = &omap_dss_mgr_set_trans_key,
+ mgr->enable_trans_key = &omap_dss_mgr_enable_trans_key,
++ mgr->get_default_color = &omap_dss_mgr_get_default_color;
+ mgr->caps = OMAP_DSS_OVL_MGR_CAP_DISPC,
+
+ dss_overlay_setup_dispc_manager(mgr);
+--
+1.5.6.5
+
diff --git a/recipes/linux/linux-omap-2.6.29/dss2/0036-DSS2-Added-support-for-setting-and-querying-alpha-b.patch b/recipes/linux/linux-omap-2.6.29/dss2/0036-DSS2-Added-support-for-setting-and-querying-alpha-b.patch
new file mode 100644
index 0000000000..c6e9f16b3a
--- /dev/null
+++ b/recipes/linux/linux-omap-2.6.29/dss2/0036-DSS2-Added-support-for-setting-and-querying-alpha-b.patch
@@ -0,0 +1,118 @@
+From 6c56dc10226c84f41917ac2117b0e654fa080d40 Mon Sep 17 00:00:00 2001
+From: Hardik Shah <hardik.shah@ti.com>
+Date: Thu, 16 Apr 2009 19:00:11 +0530
+Subject: [PATCH] DSS2: Added support for setting and querying alpha blending.
+
+Signed-off-by: Hardik Shah <hardik.shah@ti.com>
+---
+ arch/arm/plat-omap/include/mach/display.h | 3 +++
+ drivers/video/omap2/dss/dispc.c | 26 ++++++++++++++++++++++++++
+ drivers/video/omap2/dss/dss.h | 2 ++
+ drivers/video/omap2/dss/manager.c | 14 ++++++++++++++
+ 4 files changed, 45 insertions(+), 0 deletions(-)
+
+diff --git a/arch/arm/plat-omap/include/mach/display.h b/arch/arm/plat-omap/include/mach/display.h
+index 073cdda..e1f615a 100644
+--- a/arch/arm/plat-omap/include/mach/display.h
++++ b/arch/arm/plat-omap/include/mach/display.h
+@@ -415,11 +415,14 @@ struct omap_overlay_manager {
+
+ void (*set_default_color)(struct omap_overlay_manager *mgr, u32 color);
+ u32 (*get_default_color)(struct omap_overlay_manager *mgr);
++ bool (*get_alpha_blending_status)(struct omap_overlay_manager *mgr);
+ void (*set_trans_key)(struct omap_overlay_manager *mgr,
+ enum omap_dss_color_key_type type,
+ u32 trans_key);
+ void (*enable_trans_key)(struct omap_overlay_manager *mgr,
+ bool enable);
++ void (*enable_alpha_blending)(struct omap_overlay_manager *mgr,
++ bool enable);
+ };
+
+ enum omap_display_caps {
+diff --git a/drivers/video/omap2/dss/dispc.c b/drivers/video/omap2/dss/dispc.c
+index b631dd8..7e551c2 100644
+--- a/drivers/video/omap2/dss/dispc.c
++++ b/drivers/video/omap2/dss/dispc.c
+@@ -1847,6 +1847,32 @@ void dispc_enable_trans_key(enum omap_channel ch, bool enable)
+ REG_FLD_MOD(DISPC_CONFIG, enable, 12, 12);
+ enable_clocks(0);
+ }
++void dispc_enable_alpha_blending(enum omap_channel ch, bool enable)
++{
++ enable_clocks(1);
++ if (ch == OMAP_DSS_CHANNEL_LCD)
++ REG_FLD_MOD(DISPC_CONFIG, enable, 18, 18);
++ else /* OMAP_DSS_CHANNEL_DIGIT */
++ REG_FLD_MOD(DISPC_CONFIG, enable, 19, 19);
++ enable_clocks(0);
++}
++bool dispc_alpha_blending_enabled(enum omap_channel ch)
++{
++ bool enabled;
++
++ enable_clocks(1);
++ if (ch == OMAP_DSS_CHANNEL_LCD)
++ enabled = REG_GET(DISPC_CONFIG, 18, 18);
++ else if (ch == OMAP_DSS_CHANNEL_DIGIT)
++ enabled = REG_GET(DISPC_CONFIG, 18, 18);
++ else
++ BUG();
++ enable_clocks(0);
++
++ return enabled;
++
++}
++
+
+ bool dispc_trans_key_enabled(enum omap_channel ch)
+ {
+diff --git a/drivers/video/omap2/dss/dss.h b/drivers/video/omap2/dss/dss.h
+index 584dce6..1d01ff6 100644
+--- a/drivers/video/omap2/dss/dss.h
++++ b/drivers/video/omap2/dss/dss.h
+@@ -294,7 +294,9 @@ void dispc_get_trans_key(enum omap_channel ch,
+ enum omap_dss_color_key_type *type,
+ u32 *trans_key);
+ void dispc_enable_trans_key(enum omap_channel ch, bool enable);
++void dispc_enable_alpha_blending(enum omap_channel ch, bool enable);
+ bool dispc_trans_key_enabled(enum omap_channel ch);
++bool dispc_alpha_blending_enabled(enum omap_channel ch);
+
+ void dispc_set_lcd_timings(struct omap_video_timings *timings);
+ unsigned long dispc_fclk_rate(void);
+diff --git a/drivers/video/omap2/dss/manager.c b/drivers/video/omap2/dss/manager.c
+index 12cf7b0..90acd28 100644
+--- a/drivers/video/omap2/dss/manager.c
++++ b/drivers/video/omap2/dss/manager.c
+@@ -468,6 +468,16 @@ static void omap_dss_mgr_enable_trans_key(struct omap_overlay_manager *mgr,
+ {
+ dispc_enable_trans_key(mgr->id, enable);
+ }
++static void omap_dss_mgr_enable_alpha_blending(struct omap_overlay_manager *mgr,
++ bool enable)
++{
++ dispc_enable_alpha_blending(mgr->id, enable);
++}
++static bool omap_dss_mgr_get_alpha_blending_status(
++ struct omap_overlay_manager *mgr)
++{
++ return dispc_alpha_blending_enabled(mgr->id);
++}
+ static u32 omap_dss_mgr_get_default_color(struct omap_overlay_manager *mgr)
+ {
+ return dispc_get_default_color(mgr->id);
+@@ -514,6 +524,10 @@ int dss_init_overlay_managers(struct platform_device *pdev)
+ mgr->set_default_color = &omap_dss_mgr_set_def_color,
+ mgr->set_trans_key = &omap_dss_mgr_set_trans_key,
+ mgr->enable_trans_key = &omap_dss_mgr_enable_trans_key,
++ mgr->enable_alpha_blending =
++ &omap_dss_mgr_enable_alpha_blending;
++ mgr->get_alpha_blending_status =
++ omap_dss_mgr_get_alpha_blending_status;
+ mgr->get_default_color = &omap_dss_mgr_get_default_color;
+ mgr->caps = OMAP_DSS_OVL_MGR_CAP_DISPC,
+
+--
+1.5.6.5
+
diff --git a/recipes/linux/linux-omap-2.6.29/dss2/0037-DSS2-Added-support-for-querying-color-keying.patch b/recipes/linux/linux-omap-2.6.29/dss2/0037-DSS2-Added-support-for-querying-color-keying.patch
new file mode 100644
index 0000000000..fc62b09512
--- /dev/null
+++ b/recipes/linux/linux-omap-2.6.29/dss2/0037-DSS2-Added-support-for-querying-color-keying.patch
@@ -0,0 +1,150 @@
+From 2c9edd6af31a812a9487dd8bc12322e105a29f44 Mon Sep 17 00:00:00 2001
+From: Hardik Shah <hardik.shah@ti.com>
+Date: Fri, 17 Apr 2009 09:42:36 +0530
+Subject: [PATCH] DSS2: Added support for querying color keying.
+
+V4L2 Framework has a ioctl for getting/setting color keying.
+So added the function manager pointers for doing same.
+
+Modifed the color keying sysfs entries to use manager
+function pointer. Earlier they were calling direcly
+dispc function to set/enable color keying.
+
+Some of color-keying function pointers in the overlay_manager
+structure re-named to be more specific.
+
+Signed-off-by: Hardik Shah <hardik.shah@ti.com>
+---
+ arch/arm/plat-omap/include/mach/display.h | 6 ++++-
+ drivers/video/omap2/dss/manager.c | 36 +++++++++++++++++++++--------
+ 2 files changed, 31 insertions(+), 11 deletions(-)
+
+diff --git a/arch/arm/plat-omap/include/mach/display.h b/arch/arm/plat-omap/include/mach/display.h
+index e1f615a..d0b4c83 100644
+--- a/arch/arm/plat-omap/include/mach/display.h
++++ b/arch/arm/plat-omap/include/mach/display.h
+@@ -416,7 +416,11 @@ struct omap_overlay_manager {
+ void (*set_default_color)(struct omap_overlay_manager *mgr, u32 color);
+ u32 (*get_default_color)(struct omap_overlay_manager *mgr);
+ bool (*get_alpha_blending_status)(struct omap_overlay_manager *mgr);
+- void (*set_trans_key)(struct omap_overlay_manager *mgr,
++ bool (*get_trans_key_status)(struct omap_overlay_manager *mgr);
++ void (*get_trans_key_type_and_value)(struct omap_overlay_manager *mgr,
++ enum omap_dss_color_key_type *type,
++ u32 *trans_key);
++ void (*set_trans_key_type_and_value)(struct omap_overlay_manager *mgr,
+ enum omap_dss_color_key_type type,
+ u32 trans_key);
+ void (*enable_trans_key)(struct omap_overlay_manager *mgr,
+diff --git a/drivers/video/omap2/dss/manager.c b/drivers/video/omap2/dss/manager.c
+index 90acd28..e0501c4 100644
+--- a/drivers/video/omap2/dss/manager.c
++++ b/drivers/video/omap2/dss/manager.c
+@@ -124,7 +124,7 @@ static ssize_t manager_color_key_type_show(struct omap_overlay_manager *mgr,
+ {
+ enum omap_dss_color_key_type key_type;
+
+- dispc_get_trans_key(mgr->id, &key_type, NULL);
++ mgr->get_trans_key_type_and_value(mgr, &key_type, NULL);
+ BUG_ON(key_type >= ARRAY_SIZE(color_key_type_str));
+
+ return snprintf(buf, PAGE_SIZE, "%s\n", color_key_type_str[key_type]);
+@@ -143,8 +143,8 @@ static ssize_t manager_color_key_type_store(struct omap_overlay_manager *mgr,
+ }
+ if (key_type == ARRAY_SIZE(color_key_type_str))
+ return -EINVAL;
+- dispc_get_trans_key(mgr->id, NULL, &key_value);
+- dispc_set_trans_key(mgr->id, key_type, key_value);
++ mgr->get_trans_key_type_and_value(mgr, NULL, &key_value);
++ mgr->set_trans_key_type_and_value(mgr, key_type, key_value);
+
+ return size;
+ }
+@@ -154,7 +154,7 @@ static ssize_t manager_color_key_value_show(struct omap_overlay_manager *mgr,
+ {
+ u32 key_value;
+
+- dispc_get_trans_key(mgr->id, NULL, &key_value);
++ mgr->get_trans_key_type_and_value(mgr, NULL, &key_value);
+
+ return snprintf(buf, PAGE_SIZE, "%d\n", key_value);
+ }
+@@ -167,8 +167,8 @@ static ssize_t manager_color_key_value_store(struct omap_overlay_manager *mgr,
+
+ if (sscanf(buf, "%d", &key_value) != 1)
+ return -EINVAL;
+- dispc_get_trans_key(mgr->id, &key_type, NULL);
+- dispc_set_trans_key(mgr->id, key_type, key_value);
++ mgr->get_trans_key_type_and_value(mgr, &key_type, NULL);
++ mgr->set_trans_key_type_and_value(mgr, key_type, key_value);
+
+ return size;
+ }
+@@ -177,7 +177,7 @@ static ssize_t manager_color_key_enabled_show(struct omap_overlay_manager *mgr,
+ char *buf)
+ {
+ return snprintf(buf, PAGE_SIZE, "%d\n",
+- dispc_trans_key_enabled(mgr->id));
++ mgr->get_trans_key_status(mgr));
+ }
+
+ static ssize_t manager_color_key_enabled_store(struct omap_overlay_manager *mgr,
+@@ -188,7 +188,7 @@ static ssize_t manager_color_key_enabled_store(struct omap_overlay_manager *mgr,
+ if (sscanf(buf, "%d", &enable) != 1)
+ return -EINVAL;
+
+- dispc_enable_trans_key(mgr->id, enable);
++ mgr->enable_trans_key(mgr, enable);
+
+ return size;
+ }
+@@ -456,12 +456,20 @@ static void omap_dss_mgr_set_def_color(struct omap_overlay_manager *mgr,
+ dispc_set_default_color(mgr->id, color);
+ }
+
+-static void omap_dss_mgr_set_trans_key(struct omap_overlay_manager *mgr,
++static void omap_dss_mgr_set_trans_key_type_and_value(
++ struct omap_overlay_manager *mgr,
+ enum omap_dss_color_key_type type,
+ u32 trans_key)
+ {
+ dispc_set_trans_key(mgr->id, type, trans_key);
+ }
++static void omap_dss_mgr_get_trans_key_type_and_value(
++ struct omap_overlay_manager *mgr,
++ enum omap_dss_color_key_type *type,
++ u32 *trans_key)
++{
++ dispc_get_trans_key(mgr->id, type, trans_key);
++}
+
+ static void omap_dss_mgr_enable_trans_key(struct omap_overlay_manager *mgr,
+ bool enable)
+@@ -482,6 +490,10 @@ static u32 omap_dss_mgr_get_default_color(struct omap_overlay_manager *mgr)
+ {
+ return dispc_get_default_color(mgr->id);
+ }
++static bool omap_dss_mgr_get_trans_key_status(struct omap_overlay_manager *mgr)
++{
++ return dispc_trans_key_enabled(mgr->id);
++}
+
+ static void omap_dss_add_overlay_manager(struct omap_overlay_manager *manager)
+ {
+@@ -522,8 +534,12 @@ int dss_init_overlay_managers(struct platform_device *pdev)
+ mgr->unset_display = &omap_dss_unset_display,
+ mgr->apply = &omap_dss_mgr_apply,
+ mgr->set_default_color = &omap_dss_mgr_set_def_color,
+- mgr->set_trans_key = &omap_dss_mgr_set_trans_key,
++ mgr->set_trans_key_type_and_value =
++ &omap_dss_mgr_set_trans_key_type_and_value,
++ mgr->get_trans_key_type_and_value =
++ &omap_dss_mgr_get_trans_key_type_and_value,
+ mgr->enable_trans_key = &omap_dss_mgr_enable_trans_key,
++ mgr->get_trans_key_status = &omap_dss_mgr_get_trans_key_status,
+ mgr->enable_alpha_blending =
+ &omap_dss_mgr_enable_alpha_blending;
+ mgr->get_alpha_blending_status =
+--
+1.5.6.5
+
diff --git a/recipes/linux/linux-omap-2.6.29/dss2/0038-DSS2-OMAPFB-Some-color-keying-pointerd-renamed-in-D.patch b/recipes/linux/linux-omap-2.6.29/dss2/0038-DSS2-OMAPFB-Some-color-keying-pointerd-renamed-in-D.patch
new file mode 100644
index 0000000000..65cb113574
--- /dev/null
+++ b/recipes/linux/linux-omap-2.6.29/dss2/0038-DSS2-OMAPFB-Some-color-keying-pointerd-renamed-in-D.patch
@@ -0,0 +1,56 @@
+From 9e8877f0e5b17d3ddd101d6a63aa86fdb14d35d5 Mon Sep 17 00:00:00 2001
+From: Hardik Shah <hardik.shah@ti.com>
+Date: Fri, 17 Apr 2009 09:51:25 +0530
+Subject: [PATCH] DSS2:OMAPFB: Some color keying pointerd renamed in DSS2. Replicated in FB
+
+Signed-off-by: Hardik Shah <hardik.shah@ti.com>
+---
+ drivers/video/omap2/omapfb/omapfb-ioctl.c | 11 +++++++----
+ 1 files changed, 7 insertions(+), 4 deletions(-)
+
+diff --git a/drivers/video/omap2/omapfb/omapfb-ioctl.c b/drivers/video/omap2/omapfb/omapfb-ioctl.c
+index 7f18d2a..79d8916 100644
+--- a/drivers/video/omap2/omapfb/omapfb-ioctl.c
++++ b/drivers/video/omap2/omapfb/omapfb-ioctl.c
+@@ -288,7 +288,8 @@ static int _omapfb_set_color_key(struct omap_overlay_manager *mgr,
+ {
+ enum omap_dss_color_key_type kt;
+
+- if(!mgr->set_default_color || !mgr->set_trans_key ||
++ if (!mgr->set_default_color ||
++ !mgr->set_trans_key_type_and_value ||
+ !mgr->enable_trans_key)
+ return 0;
+
+@@ -310,7 +311,7 @@ static int _omapfb_set_color_key(struct omap_overlay_manager *mgr,
+ }
+
+ mgr->set_default_color(mgr, ck->background);
+- mgr->set_trans_key(mgr, kt, ck->trans_key);
++ mgr->set_trans_key_type_and_value(mgr, kt, ck->trans_key);
+ mgr->enable_trans_key(mgr, 1);
+
+ omapfb_color_keys[mgr->id] = *ck;
+@@ -341,7 +342,8 @@ static int omapfb_set_color_key(struct fb_info *fbi,
+ goto err;
+ }
+
+- if(!mgr->set_default_color || !mgr->set_trans_key ||
++ if (!mgr->set_default_color ||
++ !mgr->set_trans_key_type_and_value ||
+ !mgr->enable_trans_key) {
+ r = -ENODEV;
+ goto err;
+@@ -377,7 +379,8 @@ static int omapfb_get_color_key(struct fb_info *fbi,
+ goto err;
+ }
+
+- if(!mgr->set_default_color || !mgr->set_trans_key ||
++ if (!mgr->set_default_color ||
++ !mgr->set_trans_key_type_and_value ||
+ !mgr->enable_trans_key) {
+ r = -ENODEV;
+ goto err;
+--
+1.5.6.5
+
diff --git a/recipes/linux/linux-omap-2.6.29/dss2/0039-DSS2-Add-sysfs-entry-to-for-the-alpha-blending-supp.patch b/recipes/linux/linux-omap-2.6.29/dss2/0039-DSS2-Add-sysfs-entry-to-for-the-alpha-blending-supp.patch
new file mode 100644
index 0000000000..af8c2cd09b
--- /dev/null
+++ b/recipes/linux/linux-omap-2.6.29/dss2/0039-DSS2-Add-sysfs-entry-to-for-the-alpha-blending-supp.patch
@@ -0,0 +1,59 @@
+From 6f1f0c7b19ecb468824b79f9d181ef0da41b7d7d Mon Sep 17 00:00:00 2001
+From: Hardik Shah <hardik.shah@ti.com>
+Date: Fri, 17 Apr 2009 13:58:21 +0530
+Subject: [PATCH] DSS2: Add sysfs entry to for the alpha blending support.
+
+Signed-off-by: Hardik Shah <hardik.shah@ti.com>
+---
+ drivers/video/omap2/dss/manager.c | 21 +++++++++++++++++++++
+ 1 files changed, 21 insertions(+), 0 deletions(-)
+
+diff --git a/drivers/video/omap2/dss/manager.c b/drivers/video/omap2/dss/manager.c
+index e0501c4..7965a84 100644
+--- a/drivers/video/omap2/dss/manager.c
++++ b/drivers/video/omap2/dss/manager.c
+@@ -192,6 +192,22 @@ static ssize_t manager_color_key_enabled_store(struct omap_overlay_manager *mgr,
+
+ return size;
+ }
++static ssize_t manager_alpha_blending_enabled_show(
++ struct omap_overlay_manager *mgr, char *buf)
++{
++ return snprintf(buf, PAGE_SIZE, "%d\n",
++ mgr->get_alpha_blending_status(mgr));
++}
++static ssize_t manager_alpha_blending_enabled_store(
++ struct omap_overlay_manager *mgr,
++ const char *buf, size_t size)
++{
++ int enable;
++ if (sscanf(buf, "%d", &enable) != 1)
++ return -EINVAL;
++ mgr->enable_alpha_blending(mgr, enable);
++ return size;
++}
+
+
+ struct manager_attribute {
+@@ -215,6 +231,10 @@ static MANAGER_ATTR(color_key_value, S_IRUGO|S_IWUSR,
+ manager_color_key_value_show, manager_color_key_value_store);
+ static MANAGER_ATTR(color_key_enabled, S_IRUGO|S_IWUSR,
+ manager_color_key_enabled_show, manager_color_key_enabled_store);
++static MANAGER_ATTR(alpha_blending_enabled, S_IRUGO|S_IWUSR,
++ manager_alpha_blending_enabled_show,
++ manager_alpha_blending_enabled_store);
++
+
+ static struct attribute *manager_sysfs_attrs[] = {
+ &manager_attr_name.attr,
+@@ -223,6 +243,7 @@ static struct attribute *manager_sysfs_attrs[] = {
+ &manager_attr_color_key_type.attr,
+ &manager_attr_color_key_value.attr,
+ &manager_attr_color_key_enabled.attr,
++ &manager_attr_alpha_blending_enabled.attr,
+ NULL
+ };
+
+--
+1.5.6.5
+
diff --git a/recipes/linux/linux-omap-2.6.29/dss2/0040-DSS2-Provided-proper-exclusion-for-destination-colo.patch b/recipes/linux/linux-omap-2.6.29/dss2/0040-DSS2-Provided-proper-exclusion-for-destination-colo.patch
new file mode 100644
index 0000000000..66be75f3f7
--- /dev/null
+++ b/recipes/linux/linux-omap-2.6.29/dss2/0040-DSS2-Provided-proper-exclusion-for-destination-colo.patch
@@ -0,0 +1,97 @@
+From a5129f272a48aa22629137c9c31e60eddb8c3f5d Mon Sep 17 00:00:00 2001
+From: Hardik Shah <hardik.shah@ti.com>
+Date: Fri, 17 Apr 2009 14:24:46 +0530
+Subject: [PATCH] DSS2: Provided proper exclusion for destination color keying and alpha blending.
+
+OMAP does not support destination color key and alpha blending
+simultaneously. So this patch does not allow the user
+so set both at a time.
+
+Signed-off-by: Hardik Shah <hardik.shah@ti.com>
+---
+ drivers/video/omap2/dss/manager.c | 50 ++++++++++++++++++++++++++++++++++++-
+ 1 files changed, 49 insertions(+), 1 deletions(-)
+
+diff --git a/drivers/video/omap2/dss/manager.c b/drivers/video/omap2/dss/manager.c
+index 7965a84..108489c 100644
+--- a/drivers/video/omap2/dss/manager.c
++++ b/drivers/video/omap2/dss/manager.c
+@@ -137,12 +137,26 @@ static ssize_t manager_color_key_type_store(struct omap_overlay_manager *mgr,
+ u32 key_value;
+
+ for (key_type = OMAP_DSS_COLOR_KEY_GFX_DST;
+- key_type < ARRAY_SIZE(color_key_type_str); key_type++) {
++ key_type < ARRAY_SIZE(color_key_type_str); key_type++) {
+ if (sysfs_streq(buf, color_key_type_str[key_type]))
+ break;
+ }
+ if (key_type == ARRAY_SIZE(color_key_type_str))
+ return -EINVAL;
++ /* OMAP does not support destination color key and alpha blending
++ * simultaneously. So if alpha blending and color keying both are
++ * enabled then refrain from setting the color key type to
++ * gfx-destination
++ */
++ if (!key_type) {
++ bool color_key_enabled;
++ bool alpha_blending_enabled;
++ color_key_enabled = mgr->get_trans_key_status(mgr);
++ alpha_blending_enabled = mgr->get_alpha_blending_status(mgr);
++ if (color_key_enabled && alpha_blending_enabled)
++ return -EINVAL;
++ }
++
+ mgr->get_trans_key_type_and_value(mgr, NULL, &key_value);
+ mgr->set_trans_key_type_and_value(mgr, key_type, key_value);
+
+@@ -188,6 +202,23 @@ static ssize_t manager_color_key_enabled_store(struct omap_overlay_manager *mgr,
+ if (sscanf(buf, "%d", &enable) != 1)
+ return -EINVAL;
+
++ /* OMAP does not support destination color keying and
++ * alpha blending simultaneously. so if alpha blending
++ * is enabled refrain from enabling destination color
++ * keying.
++ */
++ if (enable) {
++ bool enabled;
++ enabled = mgr->get_alpha_blending_status(mgr);
++ if (enabled) {
++ enum omap_dss_color_key_type key_type;
++ mgr->get_trans_key_type_and_value(mgr,
++ &key_type, NULL);
++ if (!key_type)
++ return -EINVAL;
++ }
++
++ }
+ mgr->enable_trans_key(mgr, enable);
+
+ return size;
+@@ -205,6 +236,23 @@ static ssize_t manager_alpha_blending_enabled_store(
+ int enable;
+ if (sscanf(buf, "%d", &enable) != 1)
+ return -EINVAL;
++ /* OMAP does not support destination color keying and
++ * alpha blending simultaneously. so if destination
++ * color keying is enabled refrain from enabling
++ * alpha blending
++ */
++ if (enable) {
++ bool enabled;
++ enabled = mgr->get_trans_key_status(mgr);
++ if (enabled) {
++ enum omap_dss_color_key_type key_type;
++ mgr->get_trans_key_type_and_value(mgr, &key_type, NULL);
++ if (!key_type)
++ return -EINVAL;
++
++ }
++
++ }
+ mgr->enable_alpha_blending(mgr, enable);
+ return size;
+ }
+--
+1.5.6.5
+
diff --git a/recipes/linux/linux-omap-2.6.29/dss2/0041-DSS2-Disable-vertical-offset-with-fieldmode.patch b/recipes/linux/linux-omap-2.6.29/dss2/0041-DSS2-Disable-vertical-offset-with-fieldmode.patch
new file mode 100644
index 0000000000..6785ade279
--- /dev/null
+++ b/recipes/linux/linux-omap-2.6.29/dss2/0041-DSS2-Disable-vertical-offset-with-fieldmode.patch
@@ -0,0 +1,71 @@
+From 9bcac9b9e678f476c83b5679b1215b6bc946130a Mon Sep 17 00:00:00 2001
+From: =?utf-8?q?Ville=20Syrj=C3=A4l=C3=A4?= <ville.syrjala@nokia.com>
+Date: Mon, 20 Apr 2009 16:26:18 +0200
+Subject: [PATCH] DSS2: Disable vertical offset with fieldmode
+MIME-Version: 1.0
+Content-Type: text/plain; charset=utf-8
+Content-Transfer-Encoding: 8bit
+
+When using fieldmode each field is basically a separate picture so the
+vertical filter should start at phase 0 for both fields.
+
+Signed-off-by: Ville Syrjälä <ville.syrjala@nokia.com>
+---
+ drivers/video/omap2/dss/dispc.c | 23 +++++++++--------------
+ 1 files changed, 9 insertions(+), 14 deletions(-)
+
+diff --git a/drivers/video/omap2/dss/dispc.c b/drivers/video/omap2/dss/dispc.c
+index 7e551c2..f15614b 100644
+--- a/drivers/video/omap2/dss/dispc.c
++++ b/drivers/video/omap2/dss/dispc.c
+@@ -1029,12 +1029,12 @@ static void _dispc_set_vid_accu1(enum omap_plane plane, int haccu, int vaccu)
+ static void _dispc_set_scaling(enum omap_plane plane,
+ u16 orig_width, u16 orig_height,
+ u16 out_width, u16 out_height,
+- bool ilace, bool five_taps)
++ bool ilace, bool five_taps,
++ bool fieldmode)
+ {
+ int fir_hinc;
+ int fir_vinc;
+ int hscaleup, vscaleup;
+- int fieldmode = 0;
+ int accu0 = 0;
+ int accu1 = 0;
+ u32 l;
+@@ -1072,17 +1072,12 @@ static void _dispc_set_scaling(enum omap_plane plane,
+
+ dispc_write_reg(dispc_reg_att[plane], l);
+
+- if (ilace) {
+- if (fieldmode) {
+- accu0 = fir_vinc / 2;
+- accu1 = 0;
+- } else {
+- accu0 = 0;
+- accu1 = fir_vinc / 2;
+- if (accu1 >= 1024/2) {
+- accu0 = 1024/2;
+- accu1 -= accu0;
+- }
++ if (ilace && !fieldmode) {
++ accu0 = 0;
++ accu1 = fir_vinc / 2;
++ if (accu1 >= 1024/2) {
++ accu0 = 1024/2;
++ accu1 -= accu0;
+ }
+ }
+
+@@ -1582,7 +1577,7 @@ static int _dispc_setup_plane(enum omap_plane plane,
+ if (plane != OMAP_DSS_GFX) {
+ _dispc_set_scaling(plane, width, height,
+ out_width, out_height,
+- ilace, five_taps);
++ ilace, five_taps, fieldmode);
+ _dispc_set_vid_size(plane, out_width, out_height);
+ _dispc_set_vid_color_conv(plane, cconv);
+ }
+--
+1.5.6.5
+
diff --git a/recipes/linux/linux-omap-2.6.29/dss2/0042-DSS2-Don-t-enable-fieldmode-automatically.patch b/recipes/linux/linux-omap-2.6.29/dss2/0042-DSS2-Don-t-enable-fieldmode-automatically.patch
new file mode 100644
index 0000000000..5264911b41
--- /dev/null
+++ b/recipes/linux/linux-omap-2.6.29/dss2/0042-DSS2-Don-t-enable-fieldmode-automatically.patch
@@ -0,0 +1,34 @@
+From 9c6de0fed6e8a598d026d348533fdf731b737d55 Mon Sep 17 00:00:00 2001
+From: =?utf-8?q?Ville=20Syrj=C3=A4l=C3=A4?= <ville.syrjala@nokia.com>
+Date: Mon, 20 Apr 2009 16:26:19 +0200
+Subject: [PATCH] DSS2: Don't enable fieldmode automatically
+MIME-Version: 1.0
+Content-Type: text/plain; charset=utf-8
+Content-Transfer-Encoding: 8bit
+
+The only case where enabling fieldmode automatically seems reasonable
+is when source and destination heights are equal. Some kind of user
+controllable knob should be added so the user could enable field mode
+when the source is interlaced.
+
+Signed-off-by: Ville Syrjälä <ville.syrjala@nokia.com>
+---
+ drivers/video/omap2/dss/dispc.c | 2 +-
+ 1 files changed, 1 insertions(+), 1 deletions(-)
+
+diff --git a/drivers/video/omap2/dss/dispc.c b/drivers/video/omap2/dss/dispc.c
+index f15614b..1c036c1 100644
+--- a/drivers/video/omap2/dss/dispc.c
++++ b/drivers/video/omap2/dss/dispc.c
+@@ -1450,7 +1450,7 @@ static int _dispc_setup_plane(enum omap_plane plane,
+ if (paddr == 0)
+ return -EINVAL;
+
+- if (ilace && height >= out_height)
++ if (ilace && height == out_height)
+ fieldmode = 1;
+
+ if (ilace) {
+--
+1.5.6.5
+
diff --git a/recipes/linux/linux-omap-2.6.29/dss2/0043-DSS2-Swap-field-0-and-field-1-registers.patch b/recipes/linux/linux-omap-2.6.29/dss2/0043-DSS2-Swap-field-0-and-field-1-registers.patch
new file mode 100644
index 0000000000..76e37817c4
--- /dev/null
+++ b/recipes/linux/linux-omap-2.6.29/dss2/0043-DSS2-Swap-field-0-and-field-1-registers.patch
@@ -0,0 +1,170 @@
+From 35e88797e93b107ba602dee1e2ac8ea761dccd4b Mon Sep 17 00:00:00 2001
+From: =?utf-8?q?Ville=20Syrj=C3=A4l=C3=A4?= <ville.syrjala@nokia.com>
+Date: Mon, 20 Apr 2009 16:26:20 +0200
+Subject: [PATCH] DSS2: Swap field 0 and field 1 registers
+MIME-Version: 1.0
+Content-Type: text/plain; charset=utf-8
+Content-Transfer-Encoding: 8bit
+
+The values for the registers which have alternate values for each field
+were reveresed to what the hardware expects. For the hardware field 0
+is the even field or the bottom field, field 1 is the odd field or the
+top field. So simply swap the register values.
+
+Signed-off-by: Ville Syrjälä <ville.syrjala@nokia.com>
+---
+ drivers/video/omap2/dss/dispc.c | 66 ++++++++++++++++++++++-----------------
+ 1 files changed, 37 insertions(+), 29 deletions(-)
+
+diff --git a/drivers/video/omap2/dss/dispc.c b/drivers/video/omap2/dss/dispc.c
+index 1c036c1..9bab6cf 100644
+--- a/drivers/video/omap2/dss/dispc.c
++++ b/drivers/video/omap2/dss/dispc.c
+@@ -1072,12 +1072,16 @@ static void _dispc_set_scaling(enum omap_plane plane,
+
+ dispc_write_reg(dispc_reg_att[plane], l);
+
++ /*
++ * field 0 = even field = bottom field
++ * field 1 = odd field = top field
++ */
+ if (ilace && !fieldmode) {
+- accu0 = 0;
+- accu1 = fir_vinc / 2;
+- if (accu1 >= 1024/2) {
+- accu0 = 1024/2;
+- accu1 -= accu0;
++ accu1 = 0;
++ accu0 = fir_vinc / 2;
++ if (accu0 >= 1024/2) {
++ accu1 = 1024/2;
++ accu0 -= accu1;
+ }
+ }
+
+@@ -1266,34 +1270,38 @@ static void calc_dma_rotation_offset(u8 rotation, bool mirror,
+ fbh = width;
+ }
+
++ /*
++ * field 0 = even field = bottom field
++ * field 1 = odd field = top field
++ */
+ switch (rotation + mirror * 4) {
+ case 0:
+- *offset0 = 0;
++ *offset1 = 0;
+ if (fieldmode)
+- *offset1 = screen_width * ps;
++ *offset0 = screen_width * ps;
+ else
+- *offset1 = 0;
++ *offset0 = 0;
+ *row_inc = pixinc(1 + (screen_width - fbw) +
+ (fieldmode ? screen_width : 0),
+ ps);
+ *pix_inc = pixinc(1, ps);
+ break;
+ case 1:
+- *offset0 = screen_width * (fbh - 1) * ps;
++ *offset1 = screen_width * (fbh - 1) * ps;
+ if (fieldmode)
+- *offset1 = *offset0 + ps;
++ *offset0 = *offset1 + ps;
+ else
+- *offset1 = *offset0;
++ *offset0 = *offset1;
+ *row_inc = pixinc(screen_width * (fbh - 1) + 1 +
+ (fieldmode ? 1 : 0), ps);
+ *pix_inc = pixinc(-screen_width, ps);
+ break;
+ case 2:
+- *offset0 = (screen_width * (fbh - 1) + fbw - 1) * ps;
++ *offset1 = (screen_width * (fbh - 1) + fbw - 1) * ps;
+ if (fieldmode)
+- *offset1 = *offset0 - screen_width * ps;
++ *offset0 = *offset1 - screen_width * ps;
+ else
+- *offset1 = *offset0;
++ *offset0 = *offset1;
+ *row_inc = pixinc(-1 -
+ (screen_width - fbw) -
+ (fieldmode ? screen_width : 0),
+@@ -1301,11 +1309,11 @@ static void calc_dma_rotation_offset(u8 rotation, bool mirror,
+ *pix_inc = pixinc(-1, ps);
+ break;
+ case 3:
+- *offset0 = (fbw - 1) * ps;
++ *offset1 = (fbw - 1) * ps;
+ if (fieldmode)
+- *offset1 = *offset0 - ps;
++ *offset0 = *offset1 - ps;
+ else
+- *offset1 = *offset0;
++ *offset0 = *offset1;
+ *row_inc = pixinc(-screen_width * (fbh - 1) - 1 -
+ (fieldmode ? 1 : 0), ps);
+ *pix_inc = pixinc(screen_width, ps);
+@@ -1313,11 +1321,11 @@ static void calc_dma_rotation_offset(u8 rotation, bool mirror,
+
+ /* mirroring */
+ case 0 + 4:
+- *offset0 = (fbw - 1) * ps;
++ *offset1 = (fbw - 1) * ps;
+ if (fieldmode)
+- *offset1 = *offset0 + screen_width * ps;
++ *offset0 = *offset1 + screen_width * ps;
+ else
+- *offset1 = *offset0;
++ *offset0 = *offset1;
+ *row_inc = pixinc(screen_width * 2 - 1 +
+ (fieldmode ? screen_width : 0),
+ ps);
+@@ -1325,11 +1333,11 @@ static void calc_dma_rotation_offset(u8 rotation, bool mirror,
+ break;
+
+ case 1 + 4:
+- *offset0 = 0;
++ *offset1 = 0;
+ if (fieldmode)
+- *offset1 = *offset0 + screen_width * ps;
++ *offset0 = *offset1 + screen_width * ps;
+ else
+- *offset1 = *offset0;
++ *offset0 = *offset1;
+ *row_inc = pixinc(-screen_width * (fbh - 1) + 1 +
+ (fieldmode ? 1 : 0),
+ ps);
+@@ -1337,11 +1345,11 @@ static void calc_dma_rotation_offset(u8 rotation, bool mirror,
+ break;
+
+ case 2 + 4:
+- *offset0 = screen_width * (fbh - 1) * ps;
++ *offset1 = screen_width * (fbh - 1) * ps;
+ if (fieldmode)
+- *offset1 = *offset0 + screen_width * ps;
++ *offset0 = *offset1 + screen_width * ps;
+ else
+- *offset1 = *offset0;
++ *offset0 = *offset1;
+ *row_inc = pixinc(1 - screen_width * 2 -
+ (fieldmode ? screen_width : 0),
+ ps);
+@@ -1349,11 +1357,11 @@ static void calc_dma_rotation_offset(u8 rotation, bool mirror,
+ break;
+
+ case 3 + 4:
+- *offset0 = (screen_width * (fbh - 1) + fbw - 1) * ps;
++ *offset1 = (screen_width * (fbh - 1) + fbw - 1) * ps;
+ if (fieldmode)
+- *offset1 = *offset0 + screen_width * ps;
++ *offset0 = *offset1 + screen_width * ps;
+ else
+- *offset1 = *offset0;
++ *offset0 = *offset1;
+ *row_inc = pixinc(screen_width * (fbh - 1) - 1 -
+ (fieldmode ? 1 : 0),
+ ps);
+--
+1.5.6.5
+
diff --git a/recipes/linux/linux-omap-2.6.29/dss2/0044-DSS2-add-sysfs-entry-for-seting-the-rotate-type.patch b/recipes/linux/linux-omap-2.6.29/dss2/0044-DSS2-add-sysfs-entry-for-seting-the-rotate-type.patch
new file mode 100644
index 0000000000..32def9e8d5
--- /dev/null
+++ b/recipes/linux/linux-omap-2.6.29/dss2/0044-DSS2-add-sysfs-entry-for-seting-the-rotate-type.patch
@@ -0,0 +1,76 @@
+From a9b3500bd14609750a2337e866e1df62627c1bac Mon Sep 17 00:00:00 2001
+From: Imre Deak <imre.deak@nokia.com>
+Date: Mon, 20 Apr 2009 14:55:33 +0200
+Subject: [PATCH] DSS2: add sysfs entry for seting the rotate type
+
+This can help in utilizing VRAM memory better. Since with VRFB rotation
+we waste a lot of physical memory due to the VRFB HW design, provide the
+possibility to turn it off and free the extra memory for the use by other
+planes for example.
+---
+ drivers/video/omap2/omapfb/omapfb-sysfs.c | 42 ++++++++++++++++++++++++++++-
+ 1 files changed, 41 insertions(+), 1 deletions(-)
+
+diff --git a/drivers/video/omap2/omapfb/omapfb-sysfs.c b/drivers/video/omap2/omapfb/omapfb-sysfs.c
+index 2c88718..4e3da42 100644
+--- a/drivers/video/omap2/omapfb/omapfb-sysfs.c
++++ b/drivers/video/omap2/omapfb/omapfb-sysfs.c
+@@ -43,6 +43,46 @@ static ssize_t show_rotate_type(struct device *dev,
+ return snprintf(buf, PAGE_SIZE, "%d\n", ofbi->rotation_type);
+ }
+
++static ssize_t store_rotate_type(struct device *dev,
++ struct device_attribute *attr,
++ const char *buf, size_t count)
++{
++ struct fb_info *fbi = dev_get_drvdata(dev);
++ struct omapfb_info *ofbi = FB2OFB(fbi);
++ struct omapfb2_device *fbdev = ofbi->fbdev;
++ enum omap_dss_rotation_type rot_type;
++ int r;
++
++ rot_type = simple_strtoul(buf, NULL, 0);
++
++ if (rot_type != OMAP_DSS_ROT_DMA && rot_type != OMAP_DSS_ROT_VRFB)
++ return -EINVAL;
++
++ omapfb_lock(fbdev);
++
++ r = 0;
++ if (rot_type == ofbi->rotation_type)
++ goto out;
++
++ r = -EBUSY;
++ if (ofbi->region.size)
++ goto out;
++
++ ofbi->rotation_type = rot_type;
++
++ /*
++ * Since the VRAM for this FB is not allocated at the moment we don't need to
++ * do any further parameter checking at this point.
++ */
++
++ r = count;
++out:
++ omapfb_unlock(fbdev);
++
++ return r;
++}
++
++
+ static ssize_t show_mirror(struct device *dev,
+ struct device_attribute *attr, char *buf)
+ {
+@@ -327,7 +367,7 @@ static ssize_t show_virt(struct device *dev,
+ }
+
+ static struct device_attribute omapfb_attrs[] = {
+- __ATTR(rotate_type, S_IRUGO, show_rotate_type, NULL),
++ __ATTR(rotate_type, S_IRUGO | S_IWUSR, show_rotate_type, store_rotate_type),
+ __ATTR(mirror, S_IRUGO | S_IWUSR, show_mirror, store_mirror),
+ __ATTR(size, S_IRUGO | S_IWUSR, show_size, store_size),
+ __ATTR(overlays, S_IRUGO | S_IWUSR, show_overlays, store_overlays),
+--
+1.5.6.5
+
diff --git a/recipes/linux/linux-omap-2.6.29/dss2/0045-DSS2-Fixed-line-endings-from-to.patch b/recipes/linux/linux-omap-2.6.29/dss2/0045-DSS2-Fixed-line-endings-from-to.patch
new file mode 100644
index 0000000000..9382469850
--- /dev/null
+++ b/recipes/linux/linux-omap-2.6.29/dss2/0045-DSS2-Fixed-line-endings-from-to.patch
@@ -0,0 +1,48 @@
+From b0e081456a9b094109c04467d041ff693843ca47 Mon Sep 17 00:00:00 2001
+From: Tomi Valkeinen <tomi.valkeinen@nokia.com>
+Date: Tue, 21 Apr 2009 09:25:16 +0300
+Subject: [PATCH] DSS2: Fixed line endings from , to ;
+
+---
+ drivers/video/omap2/dss/manager.c | 18 +++++++++---------
+ 1 files changed, 9 insertions(+), 9 deletions(-)
+
+diff --git a/drivers/video/omap2/dss/manager.c b/drivers/video/omap2/dss/manager.c
+index 108489c..bf059e0 100644
+--- a/drivers/video/omap2/dss/manager.c
++++ b/drivers/video/omap2/dss/manager.c
+@@ -599,22 +599,22 @@ int dss_init_overlay_managers(struct platform_device *pdev)
+ break;
+ }
+
+- mgr->set_display = &omap_dss_set_display,
+- mgr->unset_display = &omap_dss_unset_display,
+- mgr->apply = &omap_dss_mgr_apply,
+- mgr->set_default_color = &omap_dss_mgr_set_def_color,
++ mgr->set_display = &omap_dss_set_display;
++ mgr->unset_display = &omap_dss_unset_display;
++ mgr->apply = &omap_dss_mgr_apply;
++ mgr->set_default_color = &omap_dss_mgr_set_def_color;
+ mgr->set_trans_key_type_and_value =
+- &omap_dss_mgr_set_trans_key_type_and_value,
++ &omap_dss_mgr_set_trans_key_type_and_value;
+ mgr->get_trans_key_type_and_value =
+- &omap_dss_mgr_get_trans_key_type_and_value,
+- mgr->enable_trans_key = &omap_dss_mgr_enable_trans_key,
+- mgr->get_trans_key_status = &omap_dss_mgr_get_trans_key_status,
++ &omap_dss_mgr_get_trans_key_type_and_value;
++ mgr->enable_trans_key = &omap_dss_mgr_enable_trans_key;
++ mgr->get_trans_key_status = &omap_dss_mgr_get_trans_key_status;
+ mgr->enable_alpha_blending =
+ &omap_dss_mgr_enable_alpha_blending;
+ mgr->get_alpha_blending_status =
+ omap_dss_mgr_get_alpha_blending_status;
+ mgr->get_default_color = &omap_dss_mgr_get_default_color;
+- mgr->caps = OMAP_DSS_OVL_MGR_CAP_DISPC,
++ mgr->caps = OMAP_DSS_OVL_MGR_CAP_DISPC;
+
+ dss_overlay_setup_dispc_manager(mgr);
+
+--
+1.5.6.5
+
diff --git a/recipes/linux/linux-omap-2.6.29/dss2/0046-DSS2-DSI-decrease-sync-timeout-from-60s-to-2s.patch b/recipes/linux/linux-omap-2.6.29/dss2/0046-DSS2-DSI-decrease-sync-timeout-from-60s-to-2s.patch
new file mode 100644
index 0000000000..4ae5fbdd9a
--- /dev/null
+++ b/recipes/linux/linux-omap-2.6.29/dss2/0046-DSS2-DSI-decrease-sync-timeout-from-60s-to-2s.patch
@@ -0,0 +1,26 @@
+From 0f88992b2681aed4f31dc7dd3926b357bbc95154 Mon Sep 17 00:00:00 2001
+From: Tomi Valkeinen <tomi.valkeinen@nokia.com>
+Date: Tue, 21 Apr 2009 10:11:55 +0300
+Subject: [PATCH] DSS2: DSI: decrease sync timeout from 60s to 2s
+
+The framedone-problem should be ok now, so we shouldn't get long waits.
+---
+ drivers/video/omap2/dss/dsi.c | 2 +-
+ 1 files changed, 1 insertions(+), 1 deletions(-)
+
+diff --git a/drivers/video/omap2/dss/dsi.c b/drivers/video/omap2/dss/dsi.c
+index 50af925..d59ad38 100644
+--- a/drivers/video/omap2/dss/dsi.c
++++ b/drivers/video/omap2/dss/dsi.c
+@@ -3216,7 +3216,7 @@ static void dsi_push_set_mirror(struct omap_display *display, int mirror)
+
+ static int dsi_wait_sync(struct omap_display *display)
+ {
+- long wait = msecs_to_jiffies(60000);
++ long wait = msecs_to_jiffies(2000);
+ struct completion compl;
+
+ DSSDBGF("");
+--
+1.5.6.5
+
diff --git a/recipes/linux/linux-omap-2.6.29/dss2/0047-DSS2-fix-return-value-for-rotate_type-sysfs-functio.patch b/recipes/linux/linux-omap-2.6.29/dss2/0047-DSS2-fix-return-value-for-rotate_type-sysfs-functio.patch
new file mode 100644
index 0000000000..0b0f104b30
--- /dev/null
+++ b/recipes/linux/linux-omap-2.6.29/dss2/0047-DSS2-fix-return-value-for-rotate_type-sysfs-functio.patch
@@ -0,0 +1,44 @@
+From 7ddd5eaa7bc345c3719d613a46a95b7e8052ad2c Mon Sep 17 00:00:00 2001
+From: Imre Deak <imre.deak@nokia.com>
+Date: Tue, 21 Apr 2009 15:18:36 +0200
+Subject: [PATCH] DSS2: fix return value for rotate_type sysfs function
+
+Signed-off-by: Imre Deak <imre.deak@nokia.com>
+---
+ drivers/video/omap2/omapfb/omapfb-sysfs.c | 9 ++++-----
+ 1 files changed, 4 insertions(+), 5 deletions(-)
+
+diff --git a/drivers/video/omap2/omapfb/omapfb-sysfs.c b/drivers/video/omap2/omapfb/omapfb-sysfs.c
+index 4e3da42..13028ae 100644
+--- a/drivers/video/omap2/omapfb/omapfb-sysfs.c
++++ b/drivers/video/omap2/omapfb/omapfb-sysfs.c
+@@ -64,9 +64,10 @@ static ssize_t store_rotate_type(struct device *dev,
+ if (rot_type == ofbi->rotation_type)
+ goto out;
+
+- r = -EBUSY;
+- if (ofbi->region.size)
++ if (ofbi->region.size) {
++ r = -EBUSY;
+ goto out;
++ }
+
+ ofbi->rotation_type = rot_type;
+
+@@ -74,12 +75,10 @@ static ssize_t store_rotate_type(struct device *dev,
+ * Since the VRAM for this FB is not allocated at the moment we don't need to
+ * do any further parameter checking at this point.
+ */
+-
+- r = count;
+ out:
+ omapfb_unlock(fbdev);
+
+- return r;
++ return r ? r : count;
+ }
+
+
+--
+1.5.6.5
+
diff --git a/recipes/linux/linux-omap-2.6.29/dss2/0048-OMAP2-3-DMA-implement-trans-copy-and-const-fill.patch b/recipes/linux/linux-omap-2.6.29/dss2/0048-OMAP2-3-DMA-implement-trans-copy-and-const-fill.patch
new file mode 100644
index 0000000000..cc6663fa21
--- /dev/null
+++ b/recipes/linux/linux-omap-2.6.29/dss2/0048-OMAP2-3-DMA-implement-trans-copy-and-const-fill.patch
@@ -0,0 +1,123 @@
+From e34564db95627ad20e918b240c45e2bd5555f7e8 Mon Sep 17 00:00:00 2001
+From: Tomi Valkeinen <tomi.valkeinen@nokia.com>
+Date: Wed, 22 Apr 2009 10:06:08 +0300
+Subject: [PATCH] OMAP2/3: DMA: implement trans copy and const fill
+
+Implement transparent copy and constant fill features for OMAP2/3.
+
+Signed-off-by: Tomi Valkeinen <tomi.valkeinen@nokia.com>
+---
+ arch/arm/plat-omap/dma.c | 81 +++++++++++++++++++++------------
+ arch/arm/plat-omap/include/mach/dma.h | 1 +
+ 2 files changed, 52 insertions(+), 30 deletions(-)
+
+diff --git a/arch/arm/plat-omap/dma.c b/arch/arm/plat-omap/dma.c
+index 3fd0e77..060ac71 100755
+--- a/arch/arm/plat-omap/dma.c
++++ b/arch/arm/plat-omap/dma.c
+@@ -310,41 +310,62 @@ EXPORT_SYMBOL(omap_set_dma_transfer_params);
+
+ void omap_set_dma_color_mode(int lch, enum omap_dma_color_mode mode, u32 color)
+ {
+- u16 w;
+-
+ BUG_ON(omap_dma_in_1510_mode());
+
+- if (cpu_class_is_omap2()) {
+- REVISIT_24XX();
+- return;
+- }
++ if (cpu_class_is_omap1()) {
++ u16 w;
+
+- w = dma_read(CCR2(lch));
+- w &= ~0x03;
++ w = dma_read(CCR2(lch));
++ w &= ~0x03;
+
+- switch (mode) {
+- case OMAP_DMA_CONSTANT_FILL:
+- w |= 0x01;
+- break;
+- case OMAP_DMA_TRANSPARENT_COPY:
+- w |= 0x02;
+- break;
+- case OMAP_DMA_COLOR_DIS:
+- break;
+- default:
+- BUG();
++ switch (mode) {
++ case OMAP_DMA_CONSTANT_FILL:
++ w |= 0x01;
++ break;
++ case OMAP_DMA_TRANSPARENT_COPY:
++ w |= 0x02;
++ break;
++ case OMAP_DMA_COLOR_DIS:
++ break;
++ default:
++ BUG();
++ }
++ dma_write(w, CCR2(lch));
++
++ w = dma_read(LCH_CTRL(lch));
++ w &= ~0x0f;
++ /* Default is channel type 2D */
++ if (mode) {
++ dma_write((u16)color, COLOR_L(lch));
++ dma_write((u16)(color >> 16), COLOR_U(lch));
++ w |= 1; /* Channel type G */
++ }
++ dma_write(w, LCH_CTRL(lch));
+ }
+- dma_write(w, CCR2(lch));
+
+- w = dma_read(LCH_CTRL(lch));
+- w &= ~0x0f;
+- /* Default is channel type 2D */
+- if (mode) {
+- dma_write((u16)color, COLOR_L(lch));
+- dma_write((u16)(color >> 16), COLOR_U(lch));
+- w |= 1; /* Channel type G */
++ if (cpu_class_is_omap2()) {
++ u32 val;
++
++ val = dma_read(CCR(lch));
++ val &= ~((1 << 17) | (1 << 16));
++
++ switch (mode) {
++ case OMAP_DMA_CONSTANT_FILL:
++ val |= 1 << 16;
++ break;
++ case OMAP_DMA_TRANSPARENT_COPY:
++ val |= 1 << 17;
++ break;
++ case OMAP_DMA_COLOR_DIS:
++ break;
++ default:
++ BUG();
++ }
++ dma_write(val, CCR(lch));
++
++ color &= 0xffffff;
++ dma_write(color, COLOR(lch));
+ }
+- dma_write(w, LCH_CTRL(lch));
+ }
+ EXPORT_SYMBOL(omap_set_dma_color_mode);
+
+diff --git a/arch/arm/plat-omap/include/mach/dma.h b/arch/arm/plat-omap/include/mach/dma.h
+index 224b077..4e34f47 100644
+--- a/arch/arm/plat-omap/include/mach/dma.h
++++ b/arch/arm/plat-omap/include/mach/dma.h
+@@ -144,6 +144,7 @@
+ #define OMAP_DMA4_CSSA_U(n) 0
+ #define OMAP_DMA4_CDSA_L(n) 0
+ #define OMAP_DMA4_CDSA_U(n) 0
++#define OMAP1_DMA_COLOR(n) 0
+
+ /*----------------------------------------------------------------------------*/
+
+--
+1.5.6.5
+
diff --git a/recipes/linux/linux-omap-2.6.29/dss2/0049-DSS2-VRAM-clear-allocated-area-with-DMA.patch b/recipes/linux/linux-omap-2.6.29/dss2/0049-DSS2-VRAM-clear-allocated-area-with-DMA.patch
new file mode 100644
index 0000000000..e9fc76ce15
--- /dev/null
+++ b/recipes/linux/linux-omap-2.6.29/dss2/0049-DSS2-VRAM-clear-allocated-area-with-DMA.patch
@@ -0,0 +1,101 @@
+From 02034cc79f69512a6037f03ad1243c28f59fdd8a Mon Sep 17 00:00:00 2001
+From: Tomi Valkeinen <tomi.valkeinen@nokia.com>
+Date: Wed, 22 Apr 2009 10:25:20 +0300
+Subject: [PATCH] DSS2: VRAM: clear allocated area with DMA
+
+Use DMA constant fill feature to clear VRAM area when
+someone allocates it.
+---
+ arch/arm/plat-omap/vram.c | 57 +++++++++++++++++++++++++++++++++++++++++++++
+ 1 files changed, 57 insertions(+), 0 deletions(-)
+
+diff --git a/arch/arm/plat-omap/vram.c b/arch/arm/plat-omap/vram.c
+index 8e9fe77..90276ac 100644
+--- a/arch/arm/plat-omap/vram.c
++++ b/arch/arm/plat-omap/vram.c
+@@ -31,11 +31,13 @@
+ #include <linux/seq_file.h>
+ #include <linux/bootmem.h>
+ #include <linux/omapfb.h>
++#include <linux/completion.h>
+
+ #include <asm/setup.h>
+
+ #include <mach/sram.h>
+ #include <mach/vram.h>
++#include <mach/dma.h>
+
+ #ifdef DEBUG
+ #define DBG(format, ...) printk(KERN_DEBUG "VRAM: " format, ## __VA_ARGS__)
+@@ -276,6 +278,59 @@ int omap_vram_reserve(unsigned long paddr, size_t size)
+ }
+ EXPORT_SYMBOL(omap_vram_reserve);
+
++static void _omap_vram_dma_cb(int lch, u16 ch_status, void *data)
++{
++ struct completion *compl = data;
++ complete(compl);
++}
++
++static int _omap_vram_clear(u32 paddr, unsigned pages)
++{
++ struct completion compl;
++ unsigned elem_count;
++ unsigned frame_count;
++ int r;
++ int lch;
++
++ init_completion(&compl);
++
++ r = omap_request_dma(OMAP_DMA_NO_DEVICE, "VRAM DMA",
++ _omap_vram_dma_cb,
++ &compl, &lch);
++ if (r) {
++ pr_err("VRAM: request_dma failed for memory clear\n");
++ return -EBUSY;
++ }
++
++ elem_count = pages * PAGE_SIZE / 4;
++ frame_count = 1;
++
++ omap_set_dma_transfer_params(lch, OMAP_DMA_DATA_TYPE_S32,
++ elem_count, frame_count,
++ OMAP_DMA_SYNC_ELEMENT,
++ 0, 0);
++
++ omap_set_dma_dest_params(lch, 0, OMAP_DMA_AMODE_POST_INC,
++ paddr, 0, 0);
++
++ omap_set_dma_color_mode(lch, OMAP_DMA_CONSTANT_FILL, 0x000000);
++
++ omap_start_dma(lch);
++
++ if (wait_for_completion_timeout(&compl, msecs_to_jiffies(1000)) == 0) {
++ omap_stop_dma(lch);
++ pr_err("VRAM: dma timeout while clearing memory\n");
++ r = -EIO;
++ goto err;
++ }
++
++ r = 0;
++err:
++ omap_free_dma(lch);
++
++ return r;
++}
++
+ static int _omap_vram_alloc(int mtype, unsigned pages, unsigned long *paddr)
+ {
+ struct vram_region *rm;
+@@ -313,6 +368,8 @@ found:
+
+ *paddr = start;
+
++ _omap_vram_clear(start, pages);
++
+ return 0;
+ }
+
+--
+1.5.6.5
+
diff --git a/recipes/linux/linux-omap-2.6.29/dss2/0050-DSS2-OMAPFB-remove-fb-clearing-code.patch b/recipes/linux/linux-omap-2.6.29/dss2/0050-DSS2-OMAPFB-remove-fb-clearing-code.patch
new file mode 100644
index 0000000000..8c5edd0c3d
--- /dev/null
+++ b/recipes/linux/linux-omap-2.6.29/dss2/0050-DSS2-OMAPFB-remove-fb-clearing-code.patch
@@ -0,0 +1,53 @@
+From 07482193cccdfe9ede1f47d72790dfbe54343505 Mon Sep 17 00:00:00 2001
+From: Tomi Valkeinen <tomi.valkeinen@nokia.com>
+Date: Wed, 22 Apr 2009 10:26:06 +0300
+Subject: [PATCH] DSS2: OMAPFB: remove fb clearing code
+
+VRAM manager does the clearing now when the area is allocated.
+---
+ drivers/video/omap2/omapfb/omapfb-main.c | 8 --------
+ 1 files changed, 0 insertions(+), 8 deletions(-)
+
+diff --git a/drivers/video/omap2/omapfb/omapfb-main.c b/drivers/video/omap2/omapfb/omapfb-main.c
+index cd63740..76e7c6c 100644
+--- a/drivers/video/omap2/omapfb/omapfb-main.c
++++ b/drivers/video/omap2/omapfb/omapfb-main.c
+@@ -1174,7 +1174,6 @@ static int omapfb_alloc_fbmem(struct fb_info *fbi, unsigned long size,
+ struct omapfb2_mem_region *rg;
+ void __iomem *vaddr;
+ int r;
+- int clear = 0;
+
+ rg = &ofbi->region;
+ memset(rg, 0, sizeof(*rg));
+@@ -1184,7 +1183,6 @@ static int omapfb_alloc_fbmem(struct fb_info *fbi, unsigned long size,
+ if (!paddr) {
+ DBG("allocating %lu bytes for fb %d\n", size, ofbi->id);
+ r = omap_vram_alloc(OMAPFB_MEMTYPE_SDRAM, size, &paddr);
+- clear = 1;
+ } else {
+ DBG("reserving %lu bytes at %lx for fb %d\n", size, paddr,
+ ofbi->id);
+@@ -1206,9 +1204,6 @@ static int omapfb_alloc_fbmem(struct fb_info *fbi, unsigned long size,
+ }
+
+ DBG("allocated VRAM paddr %lx, vaddr %p\n", paddr, vaddr);
+-
+- if (clear)
+- memset_io(vaddr, 0, size);
+ } else {
+ void __iomem *va;
+
+@@ -1232,9 +1227,6 @@ static int omapfb_alloc_fbmem(struct fb_info *fbi, unsigned long size,
+ rg->vrfb.vaddr[0] = va;
+
+ vaddr = NULL;
+-
+- if (clear)
+- memset_io(va, 0, size);
+ }
+
+ rg->paddr = paddr;
+--
+1.5.6.5
+
diff --git a/recipes/linux/linux-omap-2.6.29/dss2/0051-DSS2-VRAM-use-debugfs-not-procfs.patch b/recipes/linux/linux-omap-2.6.29/dss2/0051-DSS2-VRAM-use-debugfs-not-procfs.patch
new file mode 100644
index 0000000000..93ff3205d3
--- /dev/null
+++ b/recipes/linux/linux-omap-2.6.29/dss2/0051-DSS2-VRAM-use-debugfs-not-procfs.patch
@@ -0,0 +1,170 @@
+From b47aef28536f3c276d232c41cd3084c69389dca4 Mon Sep 17 00:00:00 2001
+From: Tomi Valkeinen <tomi.valkeinen@nokia.com>
+Date: Wed, 22 Apr 2009 14:11:52 +0300
+Subject: [PATCH] DSS2: VRAM: use debugfs, not procfs
+
+---
+ arch/arm/plat-omap/vram.c | 103 +++++++++++++++------------------------------
+ 1 files changed, 34 insertions(+), 69 deletions(-)
+
+diff --git a/arch/arm/plat-omap/vram.c b/arch/arm/plat-omap/vram.c
+index 90276ac..e847579 100644
+--- a/arch/arm/plat-omap/vram.c
++++ b/arch/arm/plat-omap/vram.c
+@@ -27,11 +27,11 @@
+ #include <linux/mm.h>
+ #include <linux/list.h>
+ #include <linux/dma-mapping.h>
+-#include <linux/proc_fs.h>
+ #include <linux/seq_file.h>
+ #include <linux/bootmem.h>
+ #include <linux/omapfb.h>
+ #include <linux/completion.h>
++#include <linux/debugfs.h>
+
+ #include <asm/setup.h>
+
+@@ -398,88 +398,54 @@ int omap_vram_alloc(int mtype, size_t size, unsigned long *paddr)
+ }
+ EXPORT_SYMBOL(omap_vram_alloc);
+
+-#ifdef CONFIG_PROC_FS
+-static void *r_next(struct seq_file *m, void *v, loff_t *pos)
+-{
+- struct list_head *l = v;
+-
+- (*pos)++;
+-
+- if (list_is_last(l, &region_list))
+- return NULL;
+-
+- return l->next;
+-}
+-
+-static void *r_start(struct seq_file *m, loff_t *pos)
+-{
+- loff_t p = *pos;
+- struct list_head *l = &region_list;
+-
+- mutex_lock(&region_mutex);
+-
+- do {
+- l = l->next;
+- if (l == &region_list)
+- return NULL;
+- } while (p--);
+-
+- return l;
+-}
+-
+-static void r_stop(struct seq_file *m, void *v)
+-{
+- mutex_unlock(&region_mutex);
+-}
+-
+-static int r_show(struct seq_file *m, void *v)
++#if defined(CONFIG_DEBUG_FS)
++static int vram_debug_show(struct seq_file *s, void *unused)
+ {
+ struct vram_region *vr;
+ struct vram_alloc *va;
+ unsigned size;
+
+- vr = list_entry(v, struct vram_region, list);
+-
+- size = vr->pages << PAGE_SHIFT;
+-
+- seq_printf(m, "%08lx-%08lx (%d bytes)\n",
+- vr->paddr, vr->paddr + size - 1,
+- size);
++ mutex_lock(&region_mutex);
+
+- list_for_each_entry(va, &vr->alloc_list, list) {
+- size = va->pages << PAGE_SHIFT;
+- seq_printf(m, " %08lx-%08lx (%d bytes)\n",
+- va->paddr, va->paddr + size - 1,
++ list_for_each_entry(vr, &region_list, list) {
++ size = vr->pages << PAGE_SHIFT;
++ seq_printf(s, "%08lx-%08lx (%d bytes)\n",
++ vr->paddr, vr->paddr + size - 1,
+ size);
+- }
+
++ list_for_each_entry(va, &vr->alloc_list, list) {
++ size = va->pages << PAGE_SHIFT;
++ seq_printf(s, " %08lx-%08lx (%d bytes)\n",
++ va->paddr, va->paddr + size - 1,
++ size);
++ }
++ }
+
++ mutex_unlock(&region_mutex);
+
+ return 0;
+ }
+
+-static const struct seq_operations resource_op = {
+- .start = r_start,
+- .next = r_next,
+- .stop = r_stop,
+- .show = r_show,
+-};
+-
+-static int vram_open(struct inode *inode, struct file *file)
++static int vram_debug_open(struct inode *inode, struct file *file)
+ {
+- return seq_open(file, &resource_op);
++ return single_open(file, vram_debug_show, inode->i_private);
+ }
+
+-static const struct file_operations proc_vram_operations = {
+- .open = vram_open,
+- .read = seq_read,
+- .llseek = seq_lseek,
+- .release = seq_release,
++static const struct file_operations vram_debug_fops = {
++ .open = vram_debug_open,
++ .read = seq_read,
++ .llseek = seq_lseek,
++ .release = single_release,
+ };
+
+-static int __init omap_vram_create_proc(void)
++static int __init omap_vram_create_debugfs(void)
+ {
+- proc_create("omap-vram", 0, NULL, &proc_vram_operations);
++ struct dentry *d;
++
++ d = debugfs_create_file("vram", S_IRUGO, NULL,
++ NULL, &vram_debug_fops);
++ if (IS_ERR(d))
++ return PTR_ERR(d);
+
+ return 0;
+ }
+@@ -487,7 +453,7 @@ static int __init omap_vram_create_proc(void)
+
+ static __init int omap_vram_init(void)
+ {
+- int i, r;
++ int i;
+
+ vram_initialized = 1;
+
+@@ -495,10 +461,9 @@ static __init int omap_vram_init(void)
+ omap_vram_add_region(postponed_regions[i].paddr,
+ postponed_regions[i].size);
+
+-#ifdef CONFIG_PROC_FS
+- r = omap_vram_create_proc();
+- if (r)
+- return -ENOMEM;
++#ifdef CONFIG_DEBUG_FS
++ if (omap_vram_create_debugfs())
++ pr_err("VRAM: Failed to create debugfs file\n");
+ #endif
+
+ return 0;
+--
+1.5.6.5
+
diff --git a/recipes/linux/linux-omap-2.6.29/dss2/0052-DSS2-VRAM-fix-section-mismatch-warning.patch b/recipes/linux/linux-omap-2.6.29/dss2/0052-DSS2-VRAM-fix-section-mismatch-warning.patch
new file mode 100644
index 0000000000..b8f89b6239
--- /dev/null
+++ b/recipes/linux/linux-omap-2.6.29/dss2/0052-DSS2-VRAM-fix-section-mismatch-warning.patch
@@ -0,0 +1,34 @@
+From 635fa66abe6e502c9b78b1dc66757bf67fd163e1 Mon Sep 17 00:00:00 2001
+From: Imre Deak <imre.deak@nokia.com>
+Date: Wed, 22 Apr 2009 14:40:48 +0200
+Subject: [PATCH] DSS2: VRAM: fix section mismatch warning
+
+postponed_regions are accessed from the non __init
+omap_vram_add_region().
+
+Signed-off-by: Imre Deak <imre.deak@nokia.com>
+---
+ arch/arm/plat-omap/vram.c | 4 ++--
+ 1 files changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/arch/arm/plat-omap/vram.c b/arch/arm/plat-omap/vram.c
+index e847579..b126a64 100644
+--- a/arch/arm/plat-omap/vram.c
++++ b/arch/arm/plat-omap/vram.c
+@@ -63,11 +63,11 @@
+ #define MAX_POSTPONED_REGIONS 10
+
+ static bool vram_initialized;
+-static int postponed_cnt __initdata;
++static int postponed_cnt;
+ static struct {
+ unsigned long paddr;
+ size_t size;
+-} postponed_regions[MAX_POSTPONED_REGIONS] __initdata;
++} postponed_regions[MAX_POSTPONED_REGIONS];
+
+ struct vram_alloc {
+ struct list_head list;
+--
+1.5.6.5
+
diff --git a/recipes/linux/linux-omap-2.6.29/dss2/0053-DSS2-disable-LCD-DIGIT-before-resetting-DSS.patch b/recipes/linux/linux-omap-2.6.29/dss2/0053-DSS2-disable-LCD-DIGIT-before-resetting-DSS.patch
new file mode 100644
index 0000000000..f591fb700a
--- /dev/null
+++ b/recipes/linux/linux-omap-2.6.29/dss2/0053-DSS2-disable-LCD-DIGIT-before-resetting-DSS.patch
@@ -0,0 +1,41 @@
+From c7ce3c5e9f7e28900b8ea9c3e1afe41dcdc0863d Mon Sep 17 00:00:00 2001
+From: Tomi Valkeinen <tomi.valkeinen@nokia.com>
+Date: Thu, 23 Apr 2009 10:46:53 +0300
+Subject: [PATCH] DSS2: disable LCD & DIGIT before resetting DSS
+
+This seems to fix the synclost problem that we get, if the bootloader
+starts the DSS and the kernel resets it.
+---
+ drivers/video/omap2/dss/dss.c | 8 +++++---
+ 1 files changed, 5 insertions(+), 3 deletions(-)
+
+diff --git a/drivers/video/omap2/dss/dss.c b/drivers/video/omap2/dss/dss.c
+index adc1f34..aab9758 100644
+--- a/drivers/video/omap2/dss/dss.c
++++ b/drivers/video/omap2/dss/dss.c
+@@ -285,6 +285,11 @@ int dss_init(bool skip_init)
+ }
+
+ if (!skip_init) {
++ /* disable LCD and DIGIT output. This seems to fix the synclost
++ * problem that we get, if the bootloader starts the DSS and
++ * the kernel resets it */
++ omap_writel(omap_readl(0x48050440) & ~0x3, 0x48050440);
++
+ /* We need to wait here a bit, otherwise we sometimes start to
+ * get synclost errors, and after that only power cycle will
+ * restore DSS functionality. I have no idea why this happens.
+@@ -294,10 +299,7 @@ int dss_init(bool skip_init)
+ msleep(50);
+
+ _omap_dss_reset();
+-
+ }
+- else
+- printk("DSS SKIP RESET\n");
+
+ /* autoidle */
+ REG_FLD_MOD(DSS_SYSCONFIG, 1, 0, 0);
+--
+1.5.6.5
+
diff --git a/recipes/linux/linux-omap-pm/0001-ASoC-Add-support-for-OMAP3-EVM.patch b/recipes/linux/linux-omap-pm/0001-ASoC-Add-support-for-OMAP3-EVM.patch
deleted file mode 100644
index a76e96e444..0000000000
--- a/recipes/linux/linux-omap-pm/0001-ASoC-Add-support-for-OMAP3-EVM.patch
+++ /dev/null
@@ -1,206 +0,0 @@
-From c1dad0b6b434300ae64c902d11611c54c513ea10 Mon Sep 17 00:00:00 2001
-From: Anuj Aggarwal <anuj.aggarwal@ti.com>
-Date: Fri, 21 Nov 2008 17:41:03 +0530
-Subject: [PATCH] ASoC: Add support for OMAP3 EVM
-
-This patch adds ALSA SoC support for OMAP3 EVM using TWL4030 audio codec.
-
-Signed-off-by: Anuj Aggarwal <anuj.aggarwal@ti.com>
----
- sound/soc/omap/Kconfig | 8 +++
- sound/soc/omap/Makefile | 3 +-
- sound/soc/omap/omap3evm.c | 147 +++++++++++++++++++++++++++++++++++++++++++++
- 3 files changed, 157 insertions(+), 1 deletions(-)
- create mode 100644 sound/soc/omap/omap3evm.c
-
-diff --git a/sound/soc/omap/Kconfig b/sound/soc/omap/Kconfig
-index 0daeee4..deb6ba9 100644
---- a/sound/soc/omap/Kconfig
-+++ b/sound/soc/omap/Kconfig
-@@ -22,6 +22,14 @@ config SND_OMAP_SOC_OMAP3_BEAGLE
- help
- Say Y if you want to add support for SoC audio on the Beagleboard.
-
-+config SND_OMAP_SOC_OMAP3EVM
-+ tristate "SoC Audio support for OMAP3EVM board"
-+ depends on SND_OMAP_SOC && MACH_OMAP3EVM
-+ select SND_OMAP_SOC_MCBSP
-+ select SND_SOC_TWL4030
-+ help
-+ Say Y if you want to add support for SoC audio on the omap3evm board.
-+
- config SND_OMAP_SOC_OSK5912
- tristate "SoC Audio support for omap osk5912"
- depends on SND_OMAP_SOC && MACH_OMAP_OSK
-diff --git a/sound/soc/omap/Makefile b/sound/soc/omap/Makefile
-index 4bae404..ef31c25 100644
---- a/sound/soc/omap/Makefile
-+++ b/sound/soc/omap/Makefile
-@@ -10,9 +10,10 @@ snd-soc-n810-objs := n810.o
- snd-soc-omap3beagle-objs := omap3beagle.o
- snd-soc-osk5912-objs := osk5912.o
- snd-soc-overo-objs := overo.o
-+snd-soc-omap3evm-objs := omap3evm.o
-
- obj-$(CONFIG_SND_OMAP_SOC_N810) += snd-soc-n810.o
- obj-$(CONFIG_SND_OMAP_SOC_OMAP3_BEAGLE) += snd-soc-omap3beagle.o
- obj-$(CONFIG_SND_OMAP_SOC_OSK5912) += snd-soc-osk5912.o
- obj-$(CONFIG_SND_OMAP_SOC_OVERO) += snd-soc-overo.o
--
-+obj-$(CONFIG_MACH_OMAP3EVM) += snd-soc-omap3evm.o
-diff --git a/sound/soc/omap/omap3evm.c b/sound/soc/omap/omap3evm.c
-new file mode 100644
-index 0000000..570af55
---- /dev/null
-+++ b/sound/soc/omap/omap3evm.c
-@@ -0,0 +1,147 @@
-+/*
-+ * omap3evm.c -- ALSA SoC support for OMAP3 EVM
-+ *
-+ * Author: Anuj Aggarwal <anuj.aggarwal@ti.com>
-+ *
-+ * Based on sound/soc/omap/beagle.c by Steve Sakoman
-+ *
-+ * Copyright (C) 2008 Texas Instruments, Incorporated
-+ *
-+ * 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 version 2.
-+ *
-+ * This program is distributed "as is" WITHOUT ANY WARRANTY of any kind,
-+ * whether express or implied; without even the implied warranty of
-+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-+ * General Public License for more details.
-+ */
-+
-+#include <linux/clk.h>
-+#include <linux/platform_device.h>
-+#include <sound/core.h>
-+#include <sound/pcm.h>
-+#include <sound/soc.h>
-+#include <sound/soc-dapm.h>
-+
-+#include <asm/mach-types.h>
-+#include <mach/hardware.h>
-+#include <mach/gpio.h>
-+#include <mach/mcbsp.h>
-+
-+#include "omap-mcbsp.h"
-+#include "omap-pcm.h"
-+#include "../codecs/twl4030.h"
-+
-+static int omap3evm_hw_params(struct snd_pcm_substream *substream,
-+ struct snd_pcm_hw_params *params)
-+{
-+ struct snd_soc_pcm_runtime *rtd = substream->private_data;
-+ struct snd_soc_dai *codec_dai = rtd->dai->codec_dai;
-+ struct snd_soc_dai *cpu_dai = rtd->dai->cpu_dai;
-+ int ret;
-+
-+ /* Set codec DAI configuration */
-+ ret = snd_soc_dai_set_fmt(codec_dai,
-+ SND_SOC_DAIFMT_I2S |
-+ SND_SOC_DAIFMT_NB_NF |
-+ SND_SOC_DAIFMT_CBM_CFM);
-+ if (ret < 0) {
-+ printk(KERN_ERR "can't set codec DAI configuration\n");
-+ return ret;
-+ }
-+
-+ /* Set cpu DAI configuration */
-+ ret = snd_soc_dai_set_fmt(cpu_dai,
-+ SND_SOC_DAIFMT_I2S |
-+ SND_SOC_DAIFMT_NB_NF |
-+ SND_SOC_DAIFMT_CBM_CFM);
-+ if (ret < 0) {
-+ printk(KERN_ERR "can't set cpu DAI configuration\n");
-+ return ret;
-+ }
-+
-+ /* Set the codec system clock for DAC and ADC */
-+ ret = snd_soc_dai_set_sysclk(codec_dai, 0, 26000000,
-+ SND_SOC_CLOCK_IN);
-+ if (ret < 0) {
-+ printk(KERN_ERR "can't set codec system clock\n");
-+ return ret;
-+ }
-+
-+ return 0;
-+}
-+
-+static struct snd_soc_ops omap3evm_ops = {
-+ .hw_params = omap3evm_hw_params,
-+};
-+
-+/* Digital audio interface glue - connects codec <--> CPU */
-+static struct snd_soc_dai_link omap3evm_dai = {
-+ .name = "TWL4030",
-+ .stream_name = "TWL4030",
-+ .cpu_dai = &omap_mcbsp_dai[0],
-+ .codec_dai = &twl4030_dai,
-+ .ops = &omap3evm_ops,
-+};
-+
-+/* Audio machine driver */
-+static struct snd_soc_machine snd_soc_machine_omap3evm = {
-+ .name = "omap3evm",
-+ .dai_link = &omap3evm_dai,
-+ .num_links = 1,
-+};
-+
-+/* Audio subsystem */
-+static struct snd_soc_device omap3evm_snd_devdata = {
-+ .machine = &snd_soc_machine_omap3evm,
-+ .platform = &omap_soc_platform,
-+ .codec_dev = &soc_codec_dev_twl4030,
-+};
-+
-+static struct platform_device *omap3evm_snd_device;
-+
-+static int __init omap3evm_soc_init(void)
-+{
-+ int ret;
-+
-+ if (!machine_is_omap3evm()) {
-+ pr_debug("Not OMAP3 EVM!\n");
-+ return -ENODEV;
-+ }
-+ pr_info("OMAP3 EVM SoC init\n");
-+
-+ omap3evm_snd_device = platform_device_alloc("soc-audio", -1);
-+ if (!omap3evm_snd_device) {
-+ printk(KERN_ERR "Platform device allocation failed\n");
-+ return -ENOMEM;
-+ }
-+
-+ platform_set_drvdata(omap3evm_snd_device, &omap3evm_snd_devdata);
-+ omap3evm_snd_devdata.dev = &omap3evm_snd_device->dev;
-+ *(unsigned int *)omap3evm_dai.cpu_dai->private_data = 1; /* McBSP2 */
-+
-+ ret = platform_device_add(omap3evm_snd_device);
-+ if (ret)
-+ goto err1;
-+
-+ return 0;
-+
-+err1:
-+ printk(KERN_ERR "Unable to add platform device\n");
-+ platform_device_put(omap3evm_snd_device);
-+
-+ return ret;
-+}
-+
-+static void __exit omap3evm_soc_exit(void)
-+{
-+ platform_device_unregister(omap3evm_snd_device);
-+}
-+
-+module_init(omap3evm_soc_init);
-+module_exit(omap3evm_soc_exit);
-+
-+MODULE_AUTHOR("Anuj Aggarwal <anuj.aggarwal@ti.com>");
-+MODULE_DESCRIPTION("ALSA SoC OMAP3 EVM");
-+MODULE_LICENSE("GPL");
---
-1.5.6.5
-
diff --git a/recipes/linux/linux-omap-pm/0001-Implement-downsampling-with-debugs.patch b/recipes/linux/linux-omap-pm/0001-Implement-downsampling-with-debugs.patch
deleted file mode 100644
index d3608df9cb..0000000000
--- a/recipes/linux/linux-omap-pm/0001-Implement-downsampling-with-debugs.patch
+++ /dev/null
@@ -1,138 +0,0 @@
-From 1ef94095e9399a9a387b7b457b48f6c5de7013d8 Mon Sep 17 00:00:00 2001
-From: Tuomas Kulve <tuomas.kulve@movial.com>
-Date: Fri, 31 Oct 2008 14:23:57 +0200
-Subject: [PATCH] Implement downsampling (with debugs).
-
----
- drivers/video/omap/dispc.c | 75 +++++++++++++++++++++++++++++++++++++-------
- 1 files changed, 63 insertions(+), 12 deletions(-)
-
-diff --git a/drivers/video/omap/dispc.c b/drivers/video/omap/dispc.c
-index 68bc887..3640dbe 100644
---- a/drivers/video/omap/dispc.c
-+++ b/drivers/video/omap/dispc.c
-@@ -18,6 +18,8 @@
- * with this program; if not, write to the Free Software Foundation, Inc.,
- * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
- */
-+#define DEBUG
-+#define VERBOSE_DEBUG
- #include <linux/kernel.h>
- #include <linux/dma-mapping.h>
- #include <linux/mm.h>
-@@ -545,6 +547,17 @@ static void write_firhv_reg(int plane, int reg, u32 value)
- dispc_write_reg(base + reg * 8, value);
- }
-
-+static void write_firv_reg(int plane, int reg, u32 value)
-+{
-+ u32 base;
-+
-+ if (plane == 1)
-+ base = 0x1E0;
-+ else
-+ base = 0x1E0 + 0x20;
-+ dispc_write_reg(base + reg * 4, value);
-+}
-+
- static void set_upsampling_coef_table(int plane)
- {
- const u32 coef[][2] = {
-@@ -565,6 +578,27 @@ static void set_upsampling_coef_table(int plane)
- }
- }
-
-+static void set_downsampling_coef_table(int plane)
-+{
-+ const u32 coef[][3] = {
-+ { 0x24382400, 0x24382400, 0x00000000 },
-+ { 0x28371FFE, 0x28391F04, 0x000004FE },
-+ { 0x2C361BFB, 0x2D381B08, 0x000008FB },
-+ { 0x303516F9, 0x3237170C, 0x00000CF9 },
-+ { 0x11343311, 0x123737F7, 0x0000F711 },
-+ { 0x1635300C, 0x173732F9, 0x0000F90C },
-+ { 0x1B362C08, 0x1B382DFB, 0x0000FB08 },
-+ { 0x1F372804, 0x1F3928FE, 0x0000FE04 },
-+ };
-+ int i;
-+
-+ for (i = 0; i < 8; i++) {
-+ write_firh_reg(plane, i, coef[i][0]);
-+ write_firhv_reg(plane, i, coef[i][1]);
-+ write_firv_reg(plane, i, coef[i][2]);
-+ }
-+}
-+
- static int omap_dispc_set_scale(int plane,
- int orig_width, int orig_height,
- int out_width, int out_height)
-@@ -592,25 +626,47 @@ static int omap_dispc_set_scale(int plane,
- if (orig_height > out_height ||
- orig_width * 8 < out_width ||
- orig_height * 8 < out_height) {
-+ dev_dbg(dispc.fbdev->dev,
-+ "Max upsampling is 8x, "
-+ "tried: %dx%d -> %dx%d\n",
-+ orig_width, orig_height,
-+ out_width, out_height);
- enable_lcd_clocks(0);
- return -EINVAL;
- }
- set_upsampling_coef_table(plane);
- } else if (orig_width > out_width) {
-- /* Downsampling not yet supported
-- */
--
-- enable_lcd_clocks(0);
-- return -EINVAL;
-+ /*
-+ * Downsampling.
-+ * Currently you can only scale both dimensions in one way.
-+ */
-+ if (orig_height < out_height ||
-+ orig_width > out_width * 4||
-+ orig_height > out_height * 4) {
-+ dev_dbg(dispc.fbdev->dev,
-+ "Max downsampling is 4x, "
-+ "tried: %dx%d -> %dx%d\n",
-+ orig_width, orig_height,
-+ out_width, out_height);
-+ enable_lcd_clocks(0);
-+ return -EINVAL;
-+ }
-+ set_downsampling_coef_table(plane);
- }
- if (!orig_width || orig_width == out_width)
- fir_hinc = 0;
- else
-- fir_hinc = 1024 * orig_width / out_width;
-+ fir_hinc = 1024 * (orig_width -1)/ (out_width -1);
- if (!orig_height || orig_height == out_height)
- fir_vinc = 0;
- else
-- fir_vinc = 1024 * orig_height / out_height;
-+ fir_vinc = 1024 * (orig_height-1) / (out_height -1 );
-+
-+ dev_dbg(dispc.fbdev->dev, "out_width %d out_height %d orig_width %d "
-+ "orig_height %d fir_hinc %d fir_vinc %d\n",
-+ out_width, out_height, orig_width, orig_height,
-+ fir_hinc, fir_vinc);
-+
- dispc.fir_hinc[plane] = fir_hinc;
- dispc.fir_vinc[plane] = fir_vinc;
-
-@@ -619,11 +675,6 @@ static int omap_dispc_set_scale(int plane,
- ((fir_vinc & 4095) << 16) |
- (fir_hinc & 4095));
-
-- dev_dbg(dispc.fbdev->dev, "out_width %d out_height %d orig_width %d "
-- "orig_height %d fir_hinc %d fir_vinc %d\n",
-- out_width, out_height, orig_width, orig_height,
-- fir_hinc, fir_vinc);
--
- MOD_REG_FLD(vs_reg[plane],
- FLD_MASK(16, 11) | FLD_MASK(0, 11),
- ((out_height - 1) << 16) | (out_width - 1));
---
-1.5.6.5
-
diff --git a/recipes/linux/linux-omap-pm/0001-Removed-resolution-check-that-prevents-scaling-when.patch b/recipes/linux/linux-omap-pm/0001-Removed-resolution-check-that-prevents-scaling-when.patch
deleted file mode 100644
index 636203ef32..0000000000
--- a/recipes/linux/linux-omap-pm/0001-Removed-resolution-check-that-prevents-scaling-when.patch
+++ /dev/null
@@ -1,26 +0,0 @@
-From 3227bd5c412e7eb0d4370b2834e71723f6b4be48 Mon Sep 17 00:00:00 2001
-From: Tuomas Kulve <tuomas.kulve@movial.fi>
-Date: Mon, 27 Oct 2008 18:55:59 +0200
-Subject: [PATCH] Removed resolution check that prevents scaling when output resolution doesn't match the original resolution.
-
----
- drivers/video/omap/dispc.c | 3 ---
- 1 files changed, 0 insertions(+), 3 deletions(-)
-
-diff --git a/drivers/video/omap/dispc.c b/drivers/video/omap/dispc.c
-index 0f0b2e5..1df0c1e 100644
---- a/drivers/video/omap/dispc.c
-+++ b/drivers/video/omap/dispc.c
-@@ -579,9 +579,6 @@ static int omap_dispc_set_scale(int plane,
- if ((unsigned)plane > OMAPFB_PLANE_NUM)
- return -ENODEV;
-
-- if (out_width != orig_width || out_height != orig_height)
-- return -EINVAL;
--
- enable_lcd_clocks(1);
- if (orig_width < out_width) {
- /*
---
-1.5.6.5
-
diff --git a/recipes/linux/linux-omap-pm/0002-DSS-OMAPFB-fb-driver-for-new-display-subsystem.patch b/recipes/linux/linux-omap-pm/0002-DSS-OMAPFB-fb-driver-for-new-display-subsystem.patch
deleted file mode 100644
index 0d9dba3311..0000000000
--- a/recipes/linux/linux-omap-pm/0002-DSS-OMAPFB-fb-driver-for-new-display-subsystem.patch
+++ /dev/null
@@ -1,3809 +0,0 @@
-From 2167c1818af2d302d3934185b534ea4006c407c7 Mon Sep 17 00:00:00 2001
-From: Tomi Valkeinen <tomi.valkeinen@nokia.com>
-Date: Wed, 7 Jan 2009 14:30:18 +0200
-Subject: [PATCH] DSS: OMAPFB: fb driver for new display subsystem
-
-Signed-off-by: Tomi Valkeinen <tomi.valkeinen@nokia.com>
----
- arch/arm/plat-omap/Makefile | 2 +-
- arch/arm/plat-omap/fb-vram.c | 646 +++++++++++++
- arch/arm/plat-omap/fb.c | 22 +
- arch/arm/plat-omap/include/mach/omapfb.h | 14 +
- drivers/video/Kconfig | 1 +
- drivers/video/Makefile | 1 +
- drivers/video/omap/Kconfig | 5 +-
- drivers/video/omap2/Kconfig | 42 +
- drivers/video/omap2/Makefile | 2 +
- drivers/video/omap2/omapfb-ioctl.c | 464 ++++++++++
- drivers/video/omap2/omapfb-main.c | 1441 ++++++++++++++++++++++++++++++
- drivers/video/omap2/omapfb-sysfs.c | 901 +++++++++++++++++++
- drivers/video/omap2/omapfb.h | 115 +++
- 13 files changed, 3653 insertions(+), 3 deletions(-)
- create mode 100644 arch/arm/plat-omap/fb-vram.c
- create mode 100644 drivers/video/omap2/Kconfig
- create mode 100644 drivers/video/omap2/Makefile
- create mode 100644 drivers/video/omap2/omapfb-ioctl.c
- create mode 100644 drivers/video/omap2/omapfb-main.c
- create mode 100644 drivers/video/omap2/omapfb-sysfs.c
- create mode 100644 drivers/video/omap2/omapfb.h
-
-diff --git a/arch/arm/plat-omap/Makefile b/arch/arm/plat-omap/Makefile
-index 2740497..7d602a6 100644
---- a/arch/arm/plat-omap/Makefile
-+++ b/arch/arm/plat-omap/Makefile
-@@ -4,7 +4,7 @@
-
- # Common support
- obj-y := common.o sram.o clock.o devices.o dma.o mux.o gpio.o \
-- usb.o fb.o io.o
-+ usb.o fb.o fb-vram.o io.o
- obj-m :=
- obj-n :=
- obj- :=
-diff --git a/arch/arm/plat-omap/fb-vram.c b/arch/arm/plat-omap/fb-vram.c
-new file mode 100644
-index 0000000..2994f8f
---- /dev/null
-+++ b/arch/arm/plat-omap/fb-vram.c
-@@ -0,0 +1,646 @@
-+/*
-+ * linux/arch/arm/plat-omap/fb-vram.c
-+ *
-+ * Copyright (C) 2008 Nokia Corporation
-+ * Author: Tomi Valkeinen <tomi.valkeinen@nokia.com>
-+ *
-+ * Some code and ideas taken from drivers/video/omap/ driver
-+ * by Imre Deak.
-+ *
-+ * This program is free software; you can redistribute it and/or modify it
-+ * under the terms of the GNU General Public License version 2 as published by
-+ * the Free Software Foundation.
-+ *
-+ * 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 <http://www.gnu.org/licenses/>.
-+ */
-+
-+//#define DEBUG
-+
-+#include <linux/vmalloc.h>
-+#include <linux/kernel.h>
-+#include <linux/mm.h>
-+#include <linux/list.h>
-+#include <linux/dma-mapping.h>
-+#include <linux/proc_fs.h>
-+#include <linux/seq_file.h>
-+#include <linux/bootmem.h>
-+
-+#include <asm/setup.h>
-+
-+#include <mach/sram.h>
-+#include <mach/omapfb.h>
-+
-+#ifdef DEBUG
-+#define DBG(format, ...) printk(KERN_DEBUG "VRAM: " format, ## __VA_ARGS__)
-+#else
-+#define DBG(format, ...)
-+#endif
-+
-+#define OMAP2_SRAM_START 0x40200000
-+/* Maximum size, in reality this is smaller if SRAM is partially locked. */
-+#define OMAP2_SRAM_SIZE 0xa0000 /* 640k */
-+
-+#define REG_MAP_SIZE(_page_cnt) \
-+ ((_page_cnt + (sizeof(unsigned long) * 8) - 1) / 8)
-+#define REG_MAP_PTR(_rg, _page_nr) \
-+ (((_rg)->map) + (_page_nr) / (sizeof(unsigned long) * 8))
-+#define REG_MAP_MASK(_page_nr) \
-+ (1 << ((_page_nr) & (sizeof(unsigned long) * 8 - 1)))
-+
-+#if defined(CONFIG_FB_OMAP2) || defined(CONFIG_FB_OMAP2_MODULE)
-+
-+/* postponed regions are used to temporarily store region information at boot
-+ * time when we cannot yet allocate the region list */
-+#define MAX_POSTPONED_REGIONS 10
-+
-+static int postponed_cnt __initdata;
-+static struct {
-+ unsigned long paddr;
-+ size_t size;
-+} postponed_regions[MAX_POSTPONED_REGIONS] __initdata;
-+
-+struct vram_alloc {
-+ struct list_head list;
-+ unsigned long paddr;
-+ unsigned pages;
-+};
-+
-+struct vram_region {
-+ struct list_head list;
-+ struct list_head alloc_list;
-+ unsigned long paddr;
-+ void *vaddr;
-+ unsigned pages;
-+ unsigned dma_alloced:1;
-+};
-+
-+static DEFINE_MUTEX(region_mutex);
-+static LIST_HEAD(region_list);
-+
-+static inline int region_mem_type(unsigned long paddr)
-+{
-+ if (paddr >= OMAP2_SRAM_START &&
-+ paddr < OMAP2_SRAM_START + OMAP2_SRAM_SIZE)
-+ return OMAPFB_MEMTYPE_SRAM;
-+ else
-+ return OMAPFB_MEMTYPE_SDRAM;
-+}
-+
-+static struct vram_region *omap_vram_create_region(unsigned long paddr,
-+ void *vaddr, unsigned pages)
-+{
-+ struct vram_region *rm;
-+
-+ rm = kzalloc(sizeof(*rm), GFP_KERNEL);
-+
-+ if (rm) {
-+ INIT_LIST_HEAD(&rm->alloc_list);
-+ rm->paddr = paddr;
-+ rm->vaddr = vaddr;
-+ rm->pages = pages;
-+ }
-+
-+ return rm;
-+}
-+
-+static void omap_vram_free_region(struct vram_region *vr)
-+{
-+ list_del(&vr->list);
-+ kfree(vr);
-+}
-+
-+static struct vram_alloc *omap_vram_create_allocation(struct vram_region *vr,
-+ unsigned long paddr, unsigned pages)
-+{
-+ struct vram_alloc *va;
-+ struct vram_alloc *new;
-+
-+ new = kzalloc(sizeof(*va), GFP_KERNEL);
-+
-+ if (!new)
-+ return NULL;
-+
-+ new->paddr = paddr;
-+ new->pages = pages;
-+
-+ list_for_each_entry(va, &vr->alloc_list, list) {
-+ if (va->paddr > new->paddr)
-+ break;
-+ }
-+
-+ list_add_tail(&new->list, &va->list);
-+
-+ return new;
-+}
-+
-+static void omap_vram_free_allocation(struct vram_alloc *va)
-+{
-+ list_del(&va->list);
-+ kfree(va);
-+}
-+
-+static __init int omap_vram_add_region_postponed(unsigned long paddr, size_t size)
-+{
-+ if (postponed_cnt == MAX_POSTPONED_REGIONS)
-+ return -ENOMEM;
-+
-+ postponed_regions[postponed_cnt].paddr = paddr;
-+ postponed_regions[postponed_cnt].size = size;
-+
-+ ++postponed_cnt;
-+
-+ return 0;
-+}
-+
-+/* add/remove_region can be exported if there's need to add/remove regions
-+ * runtime */
-+static int omap_vram_add_region(unsigned long paddr, size_t size)
-+{
-+ struct vram_region *rm;
-+ void *vaddr;
-+ unsigned pages;
-+
-+ DBG("adding region paddr %08lx size %d\n",
-+ paddr, size);
-+
-+ size &= PAGE_MASK;
-+ pages = size >> PAGE_SHIFT;
-+
-+ vaddr = ioremap_wc(paddr, size);
-+ if (vaddr == NULL)
-+ return -ENOMEM;
-+
-+ rm = omap_vram_create_region(paddr, vaddr, pages);
-+ if (rm == NULL) {
-+ iounmap(vaddr);
-+ return -ENOMEM;
-+ }
-+
-+ list_add(&rm->list, &region_list);
-+
-+ return 0;
-+}
-+
-+#if 0
-+int omap_vram_remove_region(unsigned long paddr)
-+{
-+ struct region *rm;
-+ unsigned i;
-+
-+ DBG("remove region paddr %08lx\n", paddr);
-+ list_for_each_entry(rm, &region_list, list)
-+ if (rm->paddr != paddr)
-+ continue;
-+
-+ if (rm->paddr != paddr)
-+ return -EINVAL;
-+
-+ for (i = 0; i < rm->page_cnt; i++)
-+ if (region_page_reserved(rm, i))
-+ return -EBUSY;
-+
-+ iounmap(rm->vaddr);
-+
-+ list_del(&rm->list);
-+
-+ kfree(rm);
-+
-+ return 0;
-+}
-+#endif
-+
-+int omap_vram_free(unsigned long paddr, void *vaddr, size_t size)
-+{
-+ struct vram_region *rm;
-+ struct vram_alloc *alloc;
-+ unsigned start, end;
-+
-+ DBG("free mem paddr %08lx vaddr %p size %d\n",
-+ paddr, vaddr, size);
-+
-+ size = PAGE_ALIGN(size);
-+
-+ mutex_lock(&region_mutex);
-+
-+ list_for_each_entry(rm, &region_list, list) {
-+ list_for_each_entry(alloc, &rm->alloc_list, list) {
-+ start = alloc->paddr;
-+ end = alloc->paddr + (alloc->pages >> PAGE_SHIFT);
-+
-+ if (start >= paddr && end < paddr + size)
-+ goto found;
-+ }
-+ }
-+
-+ mutex_unlock(&region_mutex);
-+ return -EINVAL;
-+
-+found:
-+ if (rm->dma_alloced) {
-+ DBG("freeing dma-alloced\n");
-+ dma_free_writecombine(NULL, size, vaddr, paddr);
-+ omap_vram_free_allocation(alloc);
-+ omap_vram_free_region(rm);
-+ } else {
-+ omap_vram_free_allocation(alloc);
-+ }
-+
-+ mutex_unlock(&region_mutex);
-+ return 0;
-+}
-+EXPORT_SYMBOL(omap_vram_free);
-+
-+#if 0
-+void *omap_vram_reserve(unsigned long paddr, size_t size)
-+{
-+
-+ struct region *rm;
-+ unsigned start_page;
-+ unsigned end_page;
-+ unsigned i;
-+ void *vaddr;
-+
-+ size = PAGE_ALIGN(size);
-+
-+ rm = region_find_region(paddr, size);
-+
-+ DBG("reserve mem paddr %08lx size %d\n",
-+ paddr, size);
-+
-+ BUG_ON(rm == NULL);
-+
-+ start_page = (paddr - rm->paddr) >> PAGE_SHIFT;
-+ end_page = start_page + (size >> PAGE_SHIFT);
-+ for (i = start_page; i < end_page; i++)
-+ region_reserve_page(rm, i);
-+
-+ vaddr = rm->vaddr + (start_page << PAGE_SHIFT);
-+
-+ return vaddr;
-+}
-+EXPORT_SYMBOL(omap_vram_reserve);
-+#endif
-+static void *_omap_vram_alloc(int mtype, unsigned pages, unsigned long *paddr)
-+{
-+ struct vram_region *rm;
-+ struct vram_alloc *alloc;
-+ void *vaddr;
-+
-+ list_for_each_entry(rm, &region_list, list) {
-+ unsigned long start, end;
-+
-+ DBG("checking region %lx %d\n", rm->paddr, rm->pages);
-+
-+ if (region_mem_type(rm->paddr) != mtype)
-+ continue;
-+
-+ start = rm->paddr;
-+
-+ list_for_each_entry(alloc, &rm->alloc_list, list) {
-+ end = alloc->paddr;
-+
-+ if (end - start >= pages << PAGE_SHIFT)
-+ goto found;
-+
-+ start = alloc->paddr + (alloc->pages << PAGE_SHIFT);
-+ }
-+
-+ end = rm->paddr + (rm->pages << PAGE_SHIFT);
-+found:
-+ if (end - start < pages << PAGE_SHIFT)
-+ continue;
-+
-+ DBG("FOUND %lx, end %lx\n", start, end);
-+
-+ if (omap_vram_create_allocation(rm, start, pages) == NULL)
-+ return NULL;
-+
-+ *paddr = start;
-+ vaddr = rm->vaddr + (start - rm->paddr);
-+
-+ return vaddr;
-+ }
-+
-+ return NULL;
-+}
-+
-+static void *_omap_vram_alloc_dma(unsigned pages, unsigned long *paddr)
-+{
-+ struct vram_region *rm;
-+ void *vaddr;
-+
-+ vaddr = dma_alloc_writecombine(NULL, pages << PAGE_SHIFT,
-+ (dma_addr_t *)paddr, GFP_KERNEL);
-+
-+ if (vaddr == NULL)
-+ return NULL;
-+
-+ rm = omap_vram_create_region(*paddr, vaddr, pages);
-+ if (rm == NULL) {
-+ dma_free_writecombine(NULL, pages << PAGE_SHIFT, vaddr,
-+ (dma_addr_t)*paddr);
-+ return NULL;
-+ }
-+
-+ rm->dma_alloced = 1;
-+
-+ if (omap_vram_create_allocation(rm, *paddr, pages) == NULL) {
-+ dma_free_writecombine(NULL, pages << PAGE_SHIFT, vaddr,
-+ (dma_addr_t)*paddr);
-+ kfree(rm);
-+ return NULL;
-+ }
-+
-+ list_add(&rm->list, &region_list);
-+
-+ return vaddr;
-+}
-+
-+void *omap_vram_alloc(int mtype, size_t size, unsigned long *paddr)
-+{
-+ void *vaddr;
-+ unsigned pages;
-+
-+ BUG_ON(mtype > OMAPFB_MEMTYPE_MAX || !size);
-+
-+ DBG("alloc mem type %d size %d\n", mtype, size);
-+
-+ size = PAGE_ALIGN(size);
-+ pages = size >> PAGE_SHIFT;
-+
-+ mutex_lock(&region_mutex);
-+
-+ vaddr = _omap_vram_alloc(mtype, pages, paddr);
-+
-+ if (vaddr == NULL && mtype == OMAPFB_MEMTYPE_SDRAM) {
-+ DBG("fallback to dma_alloc\n");
-+
-+ vaddr = _omap_vram_alloc_dma(pages, paddr);
-+ }
-+
-+ mutex_unlock(&region_mutex);
-+
-+ return vaddr;
-+}
-+EXPORT_SYMBOL(omap_vram_alloc);
-+
-+#ifdef CONFIG_PROC_FS
-+static void *r_next(struct seq_file *m, void *v, loff_t *pos)
-+{
-+ struct list_head *l = v;
-+
-+ (*pos)++;
-+
-+ if (list_is_last(l, &region_list))
-+ return 0;
-+
-+ return l->next;
-+}
-+
-+static void *r_start(struct seq_file *m, loff_t *pos)
-+{
-+ loff_t p = *pos;
-+ struct list_head *l = &region_list;
-+
-+ mutex_lock(&region_mutex);
-+
-+ do {
-+ l = l->next;
-+ if (l == &region_list)
-+ return NULL;
-+ } while (p--);
-+
-+ return l;
-+}
-+
-+static void r_stop(struct seq_file *m, void *v)
-+{
-+ mutex_unlock(&region_mutex);
-+}
-+
-+static int r_show(struct seq_file *m, void *v)
-+{
-+ struct vram_region *vr;
-+ struct vram_alloc *va;
-+ unsigned size;
-+
-+ vr = list_entry(v, struct vram_region, list);
-+
-+ size = vr->pages << PAGE_SHIFT;
-+ seq_printf(m, "%08lx-%08lx v:%p-%p (%d bytes) %s\n",
-+ vr->paddr, vr->paddr + size,
-+ vr->vaddr, vr->vaddr + size,
-+ size,
-+ vr->dma_alloced ? "dma_alloc" : "");
-+
-+ list_for_each_entry(va, &vr->alloc_list, list) {
-+ size = va->pages << PAGE_SHIFT;
-+ seq_printf(m, " %08lx-%08lx (%d bytes)\n",
-+ va->paddr, va->paddr + size,
-+ size);
-+ }
-+
-+
-+
-+ return 0;
-+}
-+
-+static const struct seq_operations resource_op = {
-+ .start = r_start,
-+ .next = r_next,
-+ .stop = r_stop,
-+ .show = r_show,
-+};
-+
-+static int vram_open(struct inode *inode, struct file *file)
-+{
-+ return seq_open(file, &resource_op);
-+}
-+
-+static const struct file_operations proc_vram_operations = {
-+ .open = vram_open,
-+ .read = seq_read,
-+ .llseek = seq_lseek,
-+ .release = seq_release,
-+};
-+
-+static int __init omap_vram_create_proc(void)
-+{
-+ proc_create("omap-vram", 0, NULL, &proc_vram_operations);
-+
-+ return 0;
-+}
-+#endif
-+
-+static __init int omap_vram_init(void)
-+{
-+ int i, r;
-+
-+ for (i = 0; i < postponed_cnt; i++)
-+ omap_vram_add_region(postponed_regions[i].paddr,
-+ postponed_regions[i].size);
-+
-+#ifdef CONFIG_PROC_FS
-+ r = omap_vram_create_proc();
-+ if (r)
-+ return -ENOMEM;
-+#endif
-+
-+ return 0;
-+}
-+
-+arch_initcall(omap_vram_init);
-+
-+/* boottime vram alloc stuff */
-+static u32 omapfb_sram_vram_start __initdata;
-+static u32 omapfb_sram_vram_size __initdata;
-+
-+static u32 omapfb_sdram_vram_start __initdata;
-+static u32 omapfb_sdram_vram_size __initdata;
-+
-+static u32 omapfb_def_sdram_vram_size __initdata;
-+
-+static void __init omapfb_early_vram(char **p)
-+{
-+ unsigned long size;
-+ size = memparse(*p, p);
-+ omapfb_def_sdram_vram_size = size;
-+}
-+__early_param("vram=", omapfb_early_vram);
-+
-+/*
-+ * Called from map_io. We need to call to this early enough so that we
-+ * can reserve the fixed SDRAM regions before VM could get hold of them.
-+ */
-+void __init omapfb_reserve_sdram(void)
-+{
-+ struct bootmem_data *bdata;
-+ unsigned long sdram_start, sdram_size;
-+ unsigned long reserved;
-+ u32 paddr;
-+ u32 size;
-+
-+ bdata = NODE_DATA(0)->bdata;
-+ sdram_start = bdata->node_min_pfn << PAGE_SHIFT;
-+ sdram_size = (bdata->node_low_pfn << PAGE_SHIFT) - sdram_start;
-+ reserved = 0;
-+
-+ /* cmdline arg overrides the board file definition */
-+ if (omapfb_def_sdram_vram_size) {
-+ size = omapfb_def_sdram_vram_size;
-+ paddr = 0;
-+ } else {
-+ size = omapfb_sdram_vram_size;
-+ paddr = omapfb_sdram_vram_start;
-+ }
-+
-+ if (size) {
-+ if (paddr) {
-+ if (paddr < sdram_start ||
-+ paddr + size > sdram_start + sdram_size) {
-+ printk(KERN_ERR "Illegal SDRAM region for VRAM\n");
-+ return;
-+ }
-+
-+ reserve_bootmem(paddr, size, BOOTMEM_DEFAULT);
-+ } else {
-+ if (size > sdram_size) {
-+ printk(KERN_ERR "Illegal SDRAM size for VRAM\n");
-+ return;
-+ }
-+
-+ paddr = virt_to_phys(alloc_bootmem(size));
-+ }
-+
-+ reserved += size;
-+ omap_vram_add_region_postponed(paddr, size);
-+ }
-+
-+ if (reserved)
-+ pr_info("Reserving %lu bytes SDRAM for VRAM\n", reserved);
-+}
-+
-+/*
-+ * Called at sram init time, before anything is pushed to the SRAM stack.
-+ * Because of the stack scheme, we will allocate everything from the
-+ * start of the lowest address region to the end of SRAM. This will also
-+ * include padding for page alignment and possible holes between regions.
-+ *
-+ * As opposed to the SDRAM case, we'll also do any dynamic allocations at
-+ * this point, since the driver built as a module would have problem with
-+ * freeing / reallocating the regions.
-+ */
-+unsigned long __init omapfb_reserve_sram(unsigned long sram_pstart,
-+ unsigned long sram_vstart,
-+ unsigned long sram_size,
-+ unsigned long pstart_avail,
-+ unsigned long size_avail)
-+{
-+ unsigned long pend_avail;
-+ unsigned long reserved;
-+ u32 paddr;
-+ u32 size;
-+
-+ paddr = omapfb_sram_vram_start;
-+ size = omapfb_sram_vram_size;
-+
-+ reserved = 0;
-+ pend_avail = pstart_avail + size_avail;
-+
-+
-+ if (!paddr) {
-+ /* Dynamic allocation */
-+ if ((size_avail & PAGE_MASK) < size) {
-+ printk(KERN_ERR "Not enough SRAM for VRAM\n");
-+ return 0;
-+ }
-+ size_avail = (size_avail - size) & PAGE_MASK;
-+ paddr = pstart_avail + size_avail;
-+ }
-+
-+ if (paddr < sram_pstart ||
-+ paddr + size > sram_pstart + sram_size) {
-+ printk(KERN_ERR "Illegal SRAM region for VRAM\n");
-+ return 0;
-+ }
-+
-+ /* Reserve everything above the start of the region. */
-+ if (pend_avail - paddr > reserved)
-+ reserved = pend_avail - paddr;
-+ size_avail = pend_avail - reserved - pstart_avail;
-+
-+ /*
-+ * We have a kernel mapping for this already, so the
-+ * driver won't have to make one.
-+ */
-+ /* XXX do we need the vaddr? */
-+ /* rg.vaddr = (void *)(sram_vstart + paddr - sram_pstart); */
-+
-+ omap_vram_add_region_postponed(paddr, size);
-+
-+ if (reserved)
-+ pr_info("Reserving %lu bytes SRAM for VRAM\n", reserved);
-+
-+ return reserved;
-+}
-+
-+void __init omap2_set_sdram_vram(u32 size, u32 start)
-+{
-+ omapfb_sdram_vram_start = start;
-+ omapfb_sdram_vram_size = size;
-+}
-+
-+void __init omap2_set_sram_vram(u32 size, u32 start)
-+{
-+ omapfb_sram_vram_start = start;
-+ omapfb_sram_vram_size = size;
-+}
-+
-+#endif
-+
-diff --git a/arch/arm/plat-omap/fb.c b/arch/arm/plat-omap/fb.c
-index 3746222..ee2cc6f 100644
---- a/arch/arm/plat-omap/fb.c
-+++ b/arch/arm/plat-omap/fb.c
-@@ -327,6 +327,28 @@ static inline int omap_init_fb(void)
-
- arch_initcall(omap_init_fb);
-
-+#elif defined(CONFIG_FB_OMAP2) || defined(CONFIG_FB_OMAP2_MODULE)
-+
-+static u64 omap_fb_dma_mask = ~(u32)0;
-+
-+static struct platform_device omap_fb_device = {
-+ .name = "omapfb",
-+ .id = -1,
-+ .dev = {
-+ .dma_mask = &omap_fb_dma_mask,
-+ .coherent_dma_mask = ~(u32)0,
-+ .platform_data = NULL,
-+ },
-+ .num_resources = 0,
-+};
-+
-+static inline int omap_init_fb(void)
-+{
-+ return platform_device_register(&omap_fb_device);
-+}
-+
-+arch_initcall(omap_init_fb);
-+
- #else
-
- void omapfb_reserve_sdram(void) {}
-diff --git a/arch/arm/plat-omap/include/mach/omapfb.h b/arch/arm/plat-omap/include/mach/omapfb.h
-index b226bdf..0800f92 100644
---- a/arch/arm/plat-omap/include/mach/omapfb.h
-+++ b/arch/arm/plat-omap/include/mach/omapfb.h
-@@ -90,6 +90,13 @@ enum omapfb_color_format {
- OMAPFB_COLOR_CLUT_1BPP,
- OMAPFB_COLOR_RGB444,
- OMAPFB_COLOR_YUY422,
-+
-+ OMAPFB_COLOR_ARGB16,
-+ OMAPFB_COLOR_RGB24U, /* RGB24, 32-bit container */
-+ OMAPFB_COLOR_RGB24P, /* RGB24, 24-bit container */
-+ OMAPFB_COLOR_ARGB32,
-+ OMAPFB_COLOR_RGBA32,
-+ OMAPFB_COLOR_RGBX32,
- };
-
- struct omapfb_update_window {
-@@ -393,6 +400,13 @@ extern int omapfb_update_window_async(struct fb_info *fbi,
- /* in arch/arm/plat-omap/fb.c */
- extern void omapfb_set_ctrl_platform_data(void *pdata);
-
-+/* in arch/arm/plat-omap/fb-vram */
-+int omap_vram_free(unsigned long paddr, void *vaddr, size_t size);
-+void *omap_vram_reserve(unsigned long paddr, size_t size);
-+void *omap_vram_alloc(int mtype, size_t size, unsigned long *paddr);
-+extern void omap2_set_sdram_vram(u32 size, u32 start);
-+extern void omap2_set_sram_vram(u32 size, u32 start);
-+
- #endif /* __KERNEL__ */
-
- #endif /* __OMAPFB_H */
-diff --git a/drivers/video/Kconfig b/drivers/video/Kconfig
-index 3f3ce13..689a3b1 100644
---- a/drivers/video/Kconfig
-+++ b/drivers/video/Kconfig
-@@ -2116,6 +2116,7 @@ config FB_PRE_INIT_FB
- the bootloader.
-
- source "drivers/video/omap/Kconfig"
-+source "drivers/video/omap2/Kconfig"
-
- source "drivers/video/backlight/Kconfig"
- source "drivers/video/display/Kconfig"
-diff --git a/drivers/video/Makefile b/drivers/video/Makefile
-index e39e33e..3d9d50e 100644
---- a/drivers/video/Makefile
-+++ b/drivers/video/Makefile
-@@ -120,6 +120,7 @@ obj-$(CONFIG_FB_SM501) += sm501fb.o
- obj-$(CONFIG_FB_XILINX) += xilinxfb.o
- obj-$(CONFIG_FB_SH_MOBILE_LCDC) += sh_mobile_lcdcfb.o
- obj-$(CONFIG_FB_OMAP) += omap/
-+obj-$(CONFIG_OMAP2_DSS) += omap2/
- obj-$(CONFIG_XEN_FBDEV_FRONTEND) += xen-fbfront.o
- obj-$(CONFIG_FB_CARMINE) += carminefb.o
- obj-$(CONFIG_FB_MB862XX) += mb862xx/
-diff --git a/drivers/video/omap/Kconfig b/drivers/video/omap/Kconfig
-index c355b59..541fab3 100644
---- a/drivers/video/omap/Kconfig
-+++ b/drivers/video/omap/Kconfig
-@@ -1,6 +1,7 @@
- config FB_OMAP
- tristate "OMAP frame buffer support (EXPERIMENTAL)"
-- depends on FB && ARCH_OMAP
-+ depends on FB && ARCH_OMAP && (OMAP2_DSS = "n")
-+
- select FB_CFB_FILLRECT
- select FB_CFB_COPYAREA
- select FB_CFB_IMAGEBLIT
-@@ -80,7 +81,7 @@ config FB_OMAP_BOOTLOADER_INIT
-
- config FB_OMAP_CONSISTENT_DMA_SIZE
- int "Consistent DMA memory size (MB)"
-- depends on FB_OMAP
-+ depends on FB && ARCH_OMAP
- range 1 14
- default 2
- help
-diff --git a/drivers/video/omap2/Kconfig b/drivers/video/omap2/Kconfig
-new file mode 100644
-index 0000000..8be51a3
---- /dev/null
-+++ b/drivers/video/omap2/Kconfig
-@@ -0,0 +1,42 @@
-+config FB_OMAP2
-+ tristate "OMAP2/3 frame buffer support (EXPERIMENTAL)"
-+ depends on FB && OMAP2_DSS
-+
-+ select FB_CFB_FILLRECT
-+ select FB_CFB_COPYAREA
-+ select FB_CFB_IMAGEBLIT
-+ help
-+ Frame buffer driver for OMAP2/3 based boards.
-+
-+config FB_OMAP2_DEBUG
-+ bool "Debug support for OMAP2/3 FB"
-+ default y
-+ depends on FB_OMAP2
-+ help
-+ Support for debug output. You have to enable the actual printing
-+ with debug module parameter.
-+
-+config FB_OMAP2_FORCE_AUTO_UPDATE
-+ bool "Force main display to automatic update mode"
-+ depends on FB_OMAP2
-+ help
-+ Forces main display to automatic update mode (if possible),
-+ and also enables tearsync (if possible). By default
-+ displays that support manual update are started in manual
-+ update mode.
-+
-+config FB_OMAP2_NUM_FBS
-+ int "Number of framebuffers"
-+ range 1 10
-+ default 3
-+ depends on FB_OMAP2
-+ help
-+ Select the number of framebuffers created. OMAP2/3 has 3 overlays
-+ so normally this would be 3.
-+
-+menu "OMAP2/3 Display Device Drivers"
-+ depends on OMAP2_DSS
-+
-+
-+endmenu
-+
-diff --git a/drivers/video/omap2/Makefile b/drivers/video/omap2/Makefile
-new file mode 100644
-index 0000000..51c2e00
---- /dev/null
-+++ b/drivers/video/omap2/Makefile
-@@ -0,0 +1,2 @@
-+obj-$(CONFIG_FB_OMAP2) += omapfb.o
-+omapfb-y := omapfb-main.o omapfb-sysfs.o omapfb-ioctl.o
-diff --git a/drivers/video/omap2/omapfb-ioctl.c b/drivers/video/omap2/omapfb-ioctl.c
-new file mode 100644
-index 0000000..1f0f044
---- /dev/null
-+++ b/drivers/video/omap2/omapfb-ioctl.c
-@@ -0,0 +1,464 @@
-+/*
-+ * linux/drivers/video/omap2/omapfb-ioctl.c
-+ *
-+ * Copyright (C) 2008 Nokia Corporation
-+ * Author: Tomi Valkeinen <tomi.valkeinen@nokia.com>
-+ *
-+ * Some code and ideas taken from drivers/video/omap/ driver
-+ * by Imre Deak.
-+ *
-+ * This program is free software; you can redistribute it and/or modify it
-+ * under the terms of the GNU General Public License version 2 as published by
-+ * the Free Software Foundation.
-+ *
-+ * 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 <http://www.gnu.org/licenses/>.
-+ */
-+
-+#include <linux/fb.h>
-+#include <linux/device.h>
-+#include <linux/uaccess.h>
-+#include <linux/platform_device.h>
-+#include <linux/mm.h>
-+
-+#include <mach/display.h>
-+#include <mach/omapfb.h>
-+
-+#include "omapfb.h"
-+
-+static int omapfb_setup_plane(struct fb_info *fbi, struct omapfb_plane_info *pi)
-+{
-+ struct omapfb_info *ofbi = FB2OFB(fbi);
-+ struct omapfb2_device *fbdev = ofbi->fbdev;
-+ struct omap_display *display = fb2display(fbi);
-+ struct omap_overlay *ovl;
-+ int r = 0;
-+
-+ DBG("omapfb_setup_plane\n");
-+
-+ omapfb_lock(fbdev);
-+
-+ if (ofbi->num_overlays != 1) {
-+ r = -EINVAL;
-+ goto out;
-+ }
-+
-+ /* XXX uses only the first overlay */
-+ ovl = ofbi->overlays[0];
-+
-+ if (pi->enabled && !ofbi->region.size) {
-+ /*
-+ * This plane's memory was freed, can't enable it
-+ * until it's reallocated.
-+ */
-+ r = -EINVAL;
-+ goto out;
-+ }
-+
-+ if (pi->enabled) {
-+ r = omapfb_setup_overlay(fbi, ovl, pi->pos_x, pi->pos_y,
-+ pi->out_width, pi->out_height);
-+ if (r)
-+ goto out;
-+ }
-+
-+ r = omapfb_setup_overlay(fbi, ovl, pi->pos_x, pi->pos_y,
-+ pi->out_width, pi->out_height);
-+ if (r)
-+ goto out;
-+
-+ ovl->enable(ovl, pi->enabled);
-+
-+ if (ovl->manager)
-+ ovl->manager->apply(ovl->manager);
-+
-+ if (display) {
-+ if (display->sync)
-+ display->sync(display);
-+
-+ if (display->update)
-+ display->update(display, 0, 0,
-+ display->panel->timings.x_res,
-+ display->panel->timings.y_res);
-+ }
-+
-+out:
-+ omapfb_unlock(fbdev);
-+ if (r)
-+ dev_err(fbdev->dev, "setup_plane failed\n");
-+ return r;
-+}
-+
-+static int omapfb_query_plane(struct fb_info *fbi, struct omapfb_plane_info *pi)
-+{
-+ struct omapfb_info *ofbi = FB2OFB(fbi);
-+ struct omapfb2_device *fbdev = ofbi->fbdev;
-+
-+ omapfb_lock(fbdev);
-+
-+ if (ofbi->num_overlays != 1) {
-+ memset(pi, 0, sizeof(*pi));
-+ } else {
-+ struct omap_overlay_info *ovli;
-+ struct omap_overlay *ovl;
-+
-+ ovl = ofbi->overlays[0];
-+ ovli = &ovl->info;
-+
-+ pi->pos_x = ovli->pos_x;
-+ pi->pos_y = ovli->pos_y;
-+ pi->enabled = ovli->enabled;
-+ pi->channel_out = 0; /* xxx */
-+ pi->mirror = 0;
-+ pi->out_width = ovli->out_width;
-+ pi->out_height = ovli->out_height;
-+ }
-+
-+ omapfb_unlock(fbdev);
-+
-+ return 0;
-+}
-+
-+static int omapfb_setup_mem(struct fb_info *fbi, struct omapfb_mem_info *mi)
-+{
-+ struct omapfb_info *ofbi = FB2OFB(fbi);
-+ struct omapfb2_device *fbdev = ofbi->fbdev;
-+ struct omapfb_mem_region *rg;
-+ struct omap_display *display = fb2display(fbi);
-+ int r, i;
-+ size_t size;
-+
-+ if (mi->type > OMAPFB_MEMTYPE_MAX)
-+ return -EINVAL;
-+
-+ size = PAGE_ALIGN(mi->size);
-+
-+ rg = &ofbi->region;
-+
-+ omapfb_lock(fbdev);
-+
-+ for (i = 0; i < ofbi->num_overlays; i++) {
-+ if (ofbi->overlays[i]->info.enabled) {
-+ r = -EBUSY;
-+ goto out;
-+ }
-+ }
-+
-+ if (rg->size != size || rg->type != mi->type) {
-+ struct fb_var_screeninfo new_var;
-+ unsigned long old_size = rg->size;
-+
-+ if (display->sync)
-+ display->sync(display);
-+
-+ r = omapfb_realloc_fbmem(fbdev, ofbi->id, size);
-+ if (r)
-+ goto out;
-+
-+ if (old_size != size) {
-+ if (size) {
-+ memcpy(&new_var, &fbi->var, sizeof(new_var));
-+ r = check_fb_var(fbi, &new_var);
-+ if (r < 0)
-+ goto out;
-+ memcpy(&fbi->var, &new_var, sizeof(fbi->var));
-+ set_fb_fix(fbi);
-+ } else {
-+ /*
-+ * Set these explicitly to indicate that the
-+ * plane memory is dealloce'd, the other
-+ * screen parameters in var / fix are invalid.
-+ */
-+ fbi->fix.smem_start = 0;
-+ fbi->fix.smem_len = 0;
-+ }
-+ }
-+ }
-+
-+ r = 0;
-+out:
-+ omapfb_unlock(fbdev);
-+
-+ return r;
-+}
-+
-+static int omapfb_query_mem(struct fb_info *fbi, struct omapfb_mem_info *mi)
-+{
-+ struct omapfb_info *ofbi = FB2OFB(fbi);
-+ struct omapfb2_device *fbdev = ofbi->fbdev;
-+ struct omapfb_mem_region *rg;
-+
-+ rg = &ofbi->region;
-+ memset(mi, 0, sizeof(*mi));
-+
-+ omapfb_lock(fbdev);
-+ mi->size = rg->size;
-+ mi->type = rg->type;
-+ omapfb_unlock(fbdev);
-+
-+ return 0;
-+}
-+
-+static int omapfb_update_window(struct fb_info *fbi,
-+ u32 x, u32 y, u32 w, u32 h)
-+{
-+ struct omapfb_info *ofbi = FB2OFB(fbi);
-+ struct omapfb2_device *fbdev = ofbi->fbdev;
-+ struct omap_display *display = fb2display(fbi);
-+
-+ if (!display)
-+ return 0;
-+
-+ if (w == 0 || h == 0)
-+ return 0;
-+
-+ if (x + w > display->panel->timings.x_res ||
-+ y + h > display->panel->timings.y_res)
-+ return -EINVAL;
-+
-+ omapfb_lock(fbdev);
-+ display->update(display, x, y, w, h);
-+ omapfb_unlock(fbdev);
-+
-+ return 0;
-+}
-+
-+static int omapfb_set_update_mode(struct fb_info *fbi,
-+ enum omapfb_update_mode mode)
-+{
-+ struct omapfb_info *ofbi = FB2OFB(fbi);
-+ struct omapfb2_device *fbdev = ofbi->fbdev;
-+ struct omap_display *display = fb2display(fbi);
-+ enum omap_dss_update_mode um;
-+ int r;
-+
-+ if (!display || !display->set_update_mode)
-+ return -EINVAL;
-+
-+ switch (mode) {
-+ case OMAPFB_UPDATE_DISABLED:
-+ um = OMAP_DSS_UPDATE_DISABLED;
-+ break;
-+
-+ case OMAPFB_AUTO_UPDATE:
-+ um = OMAP_DSS_UPDATE_AUTO;
-+ break;
-+
-+ case OMAPFB_MANUAL_UPDATE:
-+ um = OMAP_DSS_UPDATE_MANUAL;
-+ break;
-+
-+ default:
-+ return -EINVAL;
-+ }
-+
-+ omapfb_lock(fbdev);
-+ r = display->set_update_mode(display, um);
-+ omapfb_unlock(fbdev);
-+
-+ return r;
-+}
-+
-+static int omapfb_get_update_mode(struct fb_info *fbi,
-+ enum omapfb_update_mode *mode)
-+{
-+ struct omapfb_info *ofbi = FB2OFB(fbi);
-+ struct omapfb2_device *fbdev = ofbi->fbdev;
-+ struct omap_display *display = fb2display(fbi);
-+ enum omap_dss_update_mode m;
-+
-+ if (!display || !display->get_update_mode)
-+ return -EINVAL;
-+
-+ omapfb_lock(fbdev);
-+ m = display->get_update_mode(display);
-+ omapfb_unlock(fbdev);
-+
-+ switch (m) {
-+ case OMAP_DSS_UPDATE_DISABLED:
-+ *mode = OMAPFB_UPDATE_DISABLED;
-+ break;
-+ case OMAP_DSS_UPDATE_AUTO:
-+ *mode = OMAPFB_AUTO_UPDATE;
-+ break;
-+ case OMAP_DSS_UPDATE_MANUAL:
-+ *mode = OMAPFB_MANUAL_UPDATE;
-+ break;
-+ default:
-+ BUG();
-+ }
-+
-+ return 0;
-+}
-+
-+int omapfb_ioctl(struct fb_info *fbi, unsigned int cmd, unsigned long arg)
-+{
-+ struct omapfb_info *ofbi = FB2OFB(fbi);
-+ struct omapfb2_device *fbdev = ofbi->fbdev;
-+ struct omap_display *display = fb2display(fbi);
-+
-+ union {
-+ struct omapfb_update_window_old uwnd_o;
-+ struct omapfb_update_window uwnd;
-+ struct omapfb_plane_info plane_info;
-+ struct omapfb_caps caps;
-+ struct omapfb_mem_info mem_info;
-+ enum omapfb_update_mode update_mode;
-+ int test_num;
-+ } p;
-+
-+ int r = 0;
-+
-+ DBG("ioctl %x (%d)\n", cmd, cmd & 0xff);
-+
-+ switch (cmd) {
-+ case OMAPFB_SYNC_GFX:
-+ if (!display || !display->sync) {
-+ r = -EINVAL;
-+ break;
-+ }
-+
-+ omapfb_lock(fbdev);
-+ r = display->sync(display);
-+ omapfb_unlock(fbdev);
-+ break;
-+
-+ case OMAPFB_UPDATE_WINDOW_OLD:
-+ if (!display || !display->update) {
-+ r = -EINVAL;
-+ break;
-+ }
-+
-+ if (copy_from_user(&p.uwnd_o,
-+ (void __user *)arg,
-+ sizeof(p.uwnd_o))) {
-+ r = -EFAULT;
-+ break;
-+ }
-+
-+ r = omapfb_update_window(fbi, p.uwnd_o.x, p.uwnd_o.y,
-+ p.uwnd_o.width, p.uwnd_o.height);
-+ break;
-+
-+ case OMAPFB_UPDATE_WINDOW:
-+ if (!display || !display->update) {
-+ r = -EINVAL;
-+ break;
-+ }
-+
-+ if (copy_from_user(&p.uwnd, (void __user *)arg,
-+ sizeof(p.uwnd))) {
-+ r = -EFAULT;
-+ break;
-+ }
-+
-+ r = omapfb_update_window(fbi, p.uwnd.x, p.uwnd.y,
-+ p.uwnd.width, p.uwnd.height);
-+ break;
-+
-+ case OMAPFB_SETUP_PLANE:
-+ if (copy_from_user(&p.plane_info, (void __user *)arg,
-+ sizeof(p.plane_info)))
-+ r = -EFAULT;
-+ else
-+ r = omapfb_setup_plane(fbi, &p.plane_info);
-+ break;
-+
-+ case OMAPFB_QUERY_PLANE:
-+ r = omapfb_query_plane(fbi, &p.plane_info);
-+ if (r < 0)
-+ break;
-+ if (copy_to_user((void __user *)arg, &p.plane_info,
-+ sizeof(p.plane_info)))
-+ r = -EFAULT;
-+ break;
-+
-+ case OMAPFB_SETUP_MEM:
-+ if (copy_from_user(&p.mem_info, (void __user *)arg,
-+ sizeof(p.mem_info)))
-+ r = -EFAULT;
-+ else
-+ r = omapfb_setup_mem(fbi, &p.mem_info);
-+ break;
-+
-+ case OMAPFB_QUERY_MEM:
-+ r = omapfb_query_mem(fbi, &p.mem_info);
-+ if (r < 0)
-+ break;
-+ if (copy_to_user((void __user *)arg, &p.mem_info,
-+ sizeof(p.mem_info)))
-+ r = -EFAULT;
-+ break;
-+
-+ case OMAPFB_GET_CAPS:
-+ if (!display) {
-+ r = -EINVAL;
-+ break;
-+ }
-+
-+ p.caps.ctrl = display->caps;
-+
-+ if (copy_to_user((void __user *)arg, &p.caps, sizeof(p.caps)))
-+ r = -EFAULT;
-+ break;
-+
-+ case OMAPFB_SET_UPDATE_MODE:
-+ if (get_user(p.update_mode, (int __user *)arg))
-+ r = -EFAULT;
-+ else
-+ r = omapfb_set_update_mode(fbi, p.update_mode);
-+ break;
-+
-+ case OMAPFB_GET_UPDATE_MODE:
-+ r = omapfb_get_update_mode(fbi, &p.update_mode);
-+ if (r)
-+ break;
-+ if (put_user(p.update_mode,
-+ (enum omapfb_update_mode __user *)arg))
-+ r = -EFAULT;
-+ break;
-+
-+ /* LCD and CTRL tests do the same thing for backward
-+ * compatibility */
-+ case OMAPFB_LCD_TEST:
-+ if (get_user(p.test_num, (int __user *)arg)) {
-+ r = -EFAULT;
-+ break;
-+ }
-+ if (!display || !display->run_test) {
-+ r = -EINVAL;
-+ break;
-+ }
-+
-+ r = display->run_test(display, p.test_num);
-+
-+ break;
-+
-+ case OMAPFB_CTRL_TEST:
-+ if (get_user(p.test_num, (int __user *)arg)) {
-+ r = -EFAULT;
-+ break;
-+ }
-+ if (!display || !display->run_test) {
-+ r = -EINVAL;
-+ break;
-+ }
-+
-+ r = display->run_test(display, p.test_num);
-+
-+ break;
-+
-+ default:
-+ DBG("ioctl unhandled\n");
-+ r = -EINVAL;
-+ }
-+
-+ return r;
-+}
-+
-+
-diff --git a/drivers/video/omap2/omapfb-main.c b/drivers/video/omap2/omapfb-main.c
-new file mode 100644
-index 0000000..76bd416
---- /dev/null
-+++ b/drivers/video/omap2/omapfb-main.c
-@@ -0,0 +1,1441 @@
-+/*
-+ * linux/drivers/video/omap2/omapfb-main.c
-+ *
-+ * Copyright (C) 2008 Nokia Corporation
-+ * Author: Tomi Valkeinen <tomi.valkeinen@nokia.com>
-+ *
-+ * Some code and ideas taken from drivers/video/omap/ driver
-+ * by Imre Deak.
-+ *
-+ * This program is free software; you can redistribute it and/or modify it
-+ * under the terms of the GNU General Public License version 2 as published by
-+ * the Free Software Foundation.
-+ *
-+ * 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 <http://www.gnu.org/licenses/>.
-+ */
-+
-+#include <linux/module.h>
-+#include <linux/delay.h>
-+#include <linux/fb.h>
-+#include <linux/dma-mapping.h>
-+#include <linux/vmalloc.h>
-+#include <linux/device.h>
-+#include <linux/platform_device.h>
-+
-+#include <mach/display.h>
-+#include <mach/omapfb.h>
-+
-+#include "omapfb.h"
-+
-+#define MODULE_NAME "omapfb"
-+
-+static char *def_mode;
-+static char *def_vram;
-+
-+#ifdef DEBUG
-+unsigned int omapfb_debug;
-+module_param_named(debug, omapfb_debug, bool, 0644);
-+#endif
-+
-+#ifdef DEBUG
-+static void fill_fb(void *addr, struct fb_info *fbi)
-+{
-+ struct fb_var_screeninfo *var = &fbi->var;
-+
-+ const short w = var->xres_virtual;
-+ const short h = var->yres_virtual;
-+
-+ int y, x;
-+ u8 *p = addr;
-+
-+ for (y = 0; y < h; y++) {
-+ for (x = 0; x < w; x++) {
-+ if (var->bits_per_pixel == 16) {
-+ u16 *pw = (u16 *)p;
-+
-+ if (x < 20 && y < 20)
-+ *pw = 0xffff;
-+ else if (x == 20 || x == w - 20 ||
-+ y == 20 || y == h - 20)
-+ *pw = 0xffff;
-+ else if (x == y || w - x == h - y)
-+ *pw = ((1<<5)-1)<<11;
-+ else if (w - x == y || x == h - y)
-+ *pw = ((1<<6)-1)<<5;
-+ else {
-+ int t = x / (w/3);
-+ if (t == 0)
-+ *pw = y % 32;
-+ else if (t == 1)
-+ *pw = (y % 64) << 5;
-+ else if (t == 2)
-+ *pw = (y % 32) << 11;
-+ }
-+ } else if (var->bits_per_pixel == 24) {
-+ u8 *pb = (u8 *)p;
-+
-+ int r = 0, g = 0, b = 0;
-+
-+ if (x < 20 && y < 20)
-+ r = g = b = 0xff;
-+ else if (x == 20 || x == w - 20 ||
-+ y == 20 || y == h - 20)
-+ r = g = b = 0xff;
-+ else if (x == y || w - x == h - y)
-+ r = 0xff;
-+ else if (w - x == y || x == h - y)
-+ g = 0xff;
-+ else {
-+ int q = x / (w / 3);
-+ u8 base = 255 - (y % 256);
-+ if (q == 0)
-+ r = base;
-+ else if (q == 1)
-+ g = base;
-+ else if (q == 2)
-+ b = base;
-+ }
-+
-+ pb[0] = b;
-+ pb[1] = g;
-+ pb[2] = r;
-+
-+ } else if (var->bits_per_pixel == 32) {
-+ u32 *pd = (u32 *)p;
-+
-+ if (x < 20 && y < 20)
-+ *pd = 0xffffff;
-+ else if (x == 20 || x == w - 20 ||
-+ y == 20 || y == h - 20)
-+ *pd = 0xffffff;
-+ else if (x == y || w - x == h - y)
-+ *pd = 0xff0000;
-+ else if (w - x == y || x == h - y)
-+ *pd = 0x00ff00;
-+ else {
-+ u8 base = 255 - (y % 256);
-+ *pd = base << ((x / (w/3)) << 3);
-+ }
-+ }
-+
-+ p += var->bits_per_pixel >> 3;
-+ }
-+ }
-+}
-+#endif
-+
-+static enum omap_color_mode fb_mode_to_dss_mode(struct fb_var_screeninfo *var)
-+{
-+ switch (var->nonstd) {
-+ case 0:
-+ break;
-+ case OMAPFB_COLOR_YUV422:
-+ return OMAP_DSS_COLOR_UYVY;
-+
-+ case OMAPFB_COLOR_YUY422:
-+ return OMAP_DSS_COLOR_YUV2;
-+
-+ case OMAPFB_COLOR_ARGB16:
-+ return OMAP_DSS_COLOR_ARGB16;
-+
-+ case OMAPFB_COLOR_ARGB32:
-+ return OMAP_DSS_COLOR_ARGB32;
-+
-+ case OMAPFB_COLOR_RGBA32:
-+ return OMAP_DSS_COLOR_RGBA32;
-+
-+ case OMAPFB_COLOR_RGBX32:
-+ return OMAP_DSS_COLOR_RGBX32;
-+
-+ default:
-+ return -EINVAL;
-+ }
-+
-+ switch (var->bits_per_pixel) {
-+ case 1:
-+ return OMAP_DSS_COLOR_CLUT1;
-+ case 2:
-+ return OMAP_DSS_COLOR_CLUT2;
-+ case 4:
-+ return OMAP_DSS_COLOR_CLUT4;
-+ case 8:
-+ return OMAP_DSS_COLOR_CLUT8;
-+ case 12:
-+ return OMAP_DSS_COLOR_RGB12U;
-+ case 16:
-+ return OMAP_DSS_COLOR_RGB16;
-+ case 24:
-+ return OMAP_DSS_COLOR_RGB24P;
-+ case 32:
-+ return OMAP_DSS_COLOR_RGB24U;
-+ default:
-+ return -EINVAL;
-+ }
-+
-+ return -EINVAL;
-+}
-+
-+void set_fb_fix(struct fb_info *fbi)
-+{
-+ struct fb_fix_screeninfo *fix = &fbi->fix;
-+ struct fb_var_screeninfo *var = &fbi->var;
-+ struct omapfb_mem_region *rg = &FB2OFB(fbi)->region;
-+
-+ DBG("set_fb_fix\n");
-+
-+ /* used by open/write in fbmem.c */
-+ fbi->screen_base = (char __iomem *)rg->vaddr;
-+
-+ /* used by mmap in fbmem.c */
-+ fix->smem_start = rg->paddr;
-+ fix->smem_len = rg->size;
-+
-+ fix->type = FB_TYPE_PACKED_PIXELS;
-+
-+ if (var->nonstd)
-+ fix->visual = FB_VISUAL_PSEUDOCOLOR;
-+ else {
-+ switch (var->bits_per_pixel) {
-+ case 32:
-+ case 24:
-+ case 16:
-+ case 12:
-+ fix->visual = FB_VISUAL_TRUECOLOR;
-+ /* 12bpp is stored in 16 bits */
-+ break;
-+ case 1:
-+ case 2:
-+ case 4:
-+ case 8:
-+ fix->visual = FB_VISUAL_PSEUDOCOLOR;
-+ break;
-+ }
-+ }
-+
-+ fix->accel = FB_ACCEL_NONE;
-+ fix->line_length = (var->xres_virtual * var->bits_per_pixel) >> 3;
-+
-+ fix->xpanstep = 1;
-+ fix->ypanstep = 1;
-+}
-+
-+/* check new var and possibly modify it to be ok */
-+int check_fb_var(struct fb_info *fbi, struct fb_var_screeninfo *var)
-+{
-+ struct omapfb_info *ofbi = FB2OFB(fbi);
-+ struct omap_display *display = fb2display(fbi);
-+ unsigned long max_frame_size;
-+ unsigned long line_size;
-+ int xres_min, xres_max;
-+ int yres_min, yres_max;
-+ enum omap_color_mode mode = 0;
-+ struct omap_overlay *ovl;
-+
-+ DBG("check_fb_var %d\n", ofbi->id);
-+
-+ if (ofbi->region.size == 0) {
-+ memset(var, 0, sizeof(*var));
-+ return 0;
-+ }
-+
-+ if (ofbi->num_overlays == 0) {
-+ dev_err(ofbi->fbdev->dev, "no overlays, aborting\n");
-+ return -EINVAL;
-+ }
-+
-+ /* XXX: uses the first overlay */
-+ ovl = ofbi->overlays[0];
-+
-+ /* if we are using non standard mode, fix the bpp first */
-+ switch (var->nonstd) {
-+ case 0:
-+ break;
-+ case OMAPFB_COLOR_YUV422:
-+ case OMAPFB_COLOR_YUY422:
-+ case OMAPFB_COLOR_ARGB16:
-+ var->bits_per_pixel = 16;
-+ break;
-+ case OMAPFB_COLOR_ARGB32:
-+ case OMAPFB_COLOR_RGBA32:
-+ case OMAPFB_COLOR_RGBX32:
-+ var->bits_per_pixel = 32;
-+ break;
-+ default:
-+ DBG("invalid nonstd mode\n");
-+ return -EINVAL;
-+ }
-+
-+ mode = fb_mode_to_dss_mode(var);
-+ if (mode < 0) {
-+ DBG("cannot convert var to omap dss mode\n");
-+ return -EINVAL;
-+ }
-+
-+ if ((ovl->supported_modes & mode) == 0) {
-+ DBG("invalid mode\n");
-+ return -EINVAL;
-+ }
-+
-+ xres_min = OMAPFB_PLANE_XRES_MIN;
-+ xres_max = (display ? display->panel->timings.x_res : 2048) - ovl->info.pos_x;
-+ yres_min = OMAPFB_PLANE_YRES_MIN;
-+ yres_max = (display ? display->panel->timings.y_res : 2048) - ovl->info.pos_y;
-+
-+ if (var->xres < xres_min)
-+ var->xres = xres_min;
-+ if (var->yres < yres_min)
-+ var->yres = yres_min;
-+ if (var->xres_virtual < var->xres)
-+ var->xres_virtual = var->xres;
-+ if (var->yres_virtual < var->yres)
-+ var->yres_virtual = var->yres;
-+ max_frame_size = ofbi->region.size;
-+ line_size = (var->xres_virtual * var->bits_per_pixel) >> 3;
-+
-+ if (line_size * var->yres_virtual > max_frame_size) {
-+ /* Try to keep yres_virtual first */
-+ line_size = max_frame_size / var->yres_virtual;
-+ var->xres_virtual = line_size * 8 / var->bits_per_pixel;
-+ if (var->xres_virtual < var->xres) {
-+ /* Still doesn't fit. Shrink yres_virtual too */
-+ var->xres_virtual = var->xres;
-+ line_size = var->xres * var->bits_per_pixel / 8;
-+ var->yres_virtual = max_frame_size / line_size;
-+ }
-+ /* Recheck this, as the virtual size changed. */
-+ if (var->xres_virtual < var->xres)
-+ var->xres = var->xres_virtual;
-+ if (var->yres_virtual < var->yres)
-+ var->yres = var->yres_virtual;
-+ if (var->xres < xres_min || var->yres < yres_min) {
-+ DBG("Cannot fit FB to memory\n");
-+ return -EINVAL;
-+ }
-+ }
-+ if (var->xres + var->xoffset > var->xres_virtual)
-+ var->xoffset = var->xres_virtual - var->xres;
-+ if (var->yres + var->yoffset > var->yres_virtual)
-+ var->yoffset = var->yres_virtual - var->yres;
-+
-+ if (var->bits_per_pixel == 16) {
-+ var->red.offset = 11; var->red.length = 5;
-+ var->red.msb_right = 0;
-+ var->green.offset = 5; var->green.length = 6;
-+ var->green.msb_right = 0;
-+ var->blue.offset = 0; var->blue.length = 5;
-+ var->blue.msb_right = 0;
-+ } else if (var->bits_per_pixel == 24) {
-+ var->red.offset = 16; var->red.length = 8;
-+ var->red.msb_right = 0;
-+ var->green.offset = 8; var->green.length = 8;
-+ var->green.msb_right = 0;
-+ var->blue.offset = 0; var->blue.length = 8;
-+ var->blue.msb_right = 0;
-+ var->transp.offset = 0; var->transp.length = 0;
-+ } else if (var->bits_per_pixel == 32) {
-+ var->red.offset = 16; var->red.length = 8;
-+ var->red.msb_right = 0;
-+ var->green.offset = 8; var->green.length = 8;
-+ var->green.msb_right = 0;
-+ var->blue.offset = 0; var->blue.length = 8;
-+ var->blue.msb_right = 0;
-+ var->transp.offset = 0; var->transp.length = 0;
-+ } else {
-+ DBG("failed to setup fb color mask\n");
-+ return -EINVAL;
-+ }
-+
-+ DBG("xres = %d, yres = %d, vxres = %d, vyres = %d\n",
-+ var->xres, var->yres,
-+ var->xres_virtual, var->yres_virtual);
-+
-+ var->height = -1;
-+ var->width = -1;
-+ var->grayscale = 0;
-+
-+ if (display && display->get_timings) {
-+ struct omap_video_timings timings;
-+ display->get_timings(display, &timings);
-+
-+ /* pixclock in ps, the rest in pixclock */
-+ var->pixclock = timings.pixel_clock != 0 ?
-+ KHZ2PICOS(timings.pixel_clock) :
-+ 0;
-+ var->left_margin = timings.hfp;
-+ var->right_margin = timings.hbp;
-+ var->upper_margin = timings.vfp;
-+ var->lower_margin = timings.vbp;
-+ var->hsync_len = timings.hsw;
-+ var->vsync_len = timings.vsw;
-+ } else {
-+ var->pixclock = 0;
-+ var->left_margin = 0;
-+ var->right_margin = 0;
-+ var->upper_margin = 0;
-+ var->lower_margin = 0;
-+ var->hsync_len = 0;
-+ var->vsync_len = 0;
-+ }
-+
-+ /* TODO: get these from panel->config */
-+ var->vmode = FB_VMODE_NONINTERLACED;
-+ var->sync = 0;
-+
-+ return 0;
-+}
-+
-+/*
-+ * ---------------------------------------------------------------------------
-+ * fbdev framework callbacks
-+ * ---------------------------------------------------------------------------
-+ */
-+static int omapfb_open(struct fb_info *fbi, int user)
-+{
-+ return 0;
-+}
-+
-+static int omapfb_release(struct fb_info *fbi, int user)
-+{
-+ struct omapfb_info *ofbi = FB2OFB(fbi);
-+ struct omapfb2_device *fbdev = ofbi->fbdev;
-+ struct omap_display *display = fb2display(fbi);
-+
-+ DBG("Closing fb with plane index %d\n", ofbi->id);
-+
-+ omapfb_lock(fbdev);
-+#if 1
-+ if (display) {
-+ /* XXX Is this really needed ? */
-+ if (display->sync)
-+ display->sync(display);
-+
-+ if (display->update)
-+ display->update(display,
-+ 0, 0,
-+ display->panel->timings.x_res,
-+ display->panel->timings.y_res);
-+ }
-+#endif
-+
-+ if (display && display->sync)
-+ display->sync(display);
-+
-+ omapfb_unlock(fbdev);
-+
-+ return 0;
-+}
-+
-+/* setup overlay according to the fb */
-+int omapfb_setup_overlay(struct fb_info *fbi, struct omap_overlay *ovl,
-+ int posx, int posy, int outw, int outh)
-+{
-+ int r = 0;
-+ struct omapfb_info *ofbi = FB2OFB(fbi);
-+ struct fb_var_screeninfo *var = &fbi->var;
-+ enum omap_color_mode mode = 0;
-+ int offset;
-+ u32 data_start_p;
-+ void *data_start_v;
-+
-+ DBG("setup_overlay %d\n", ofbi->id);
-+
-+ if ((ovl->caps & OMAP_DSS_OVL_CAP_SCALE) == 0 &&
-+ (outw != var->xres || outh != var->yres)) {
-+ r = -EINVAL;
-+ goto err;
-+ }
-+
-+ offset = ((var->yoffset * var->xres_virtual +
-+ var->xoffset) * var->bits_per_pixel) >> 3;
-+
-+ data_start_p = ofbi->region.paddr + offset;
-+ data_start_v = ofbi->region.vaddr + offset;
-+
-+ mode = fb_mode_to_dss_mode(var);
-+
-+ if (mode == -EINVAL) {
-+ r = -EINVAL;
-+ goto err;
-+ }
-+
-+ r = ovl->setup_input(ovl,
-+ data_start_p, data_start_v,
-+ var->xres_virtual,
-+ var->xres, var->yres,
-+ mode);
-+
-+ if (r)
-+ goto err;
-+
-+ r = ovl->setup_output(ovl,
-+ posx, posy,
-+ outw, outh);
-+
-+ if (r)
-+ goto err;
-+
-+ return 0;
-+
-+err:
-+ DBG("setup_overlay failed\n");
-+ return r;
-+}
-+
-+/* apply var to the overlay */
-+int omapfb_apply_changes(struct fb_info *fbi, int init)
-+{
-+ int r = 0;
-+ struct omapfb_info *ofbi = FB2OFB(fbi);
-+ struct fb_var_screeninfo *var = &fbi->var;
-+ struct omap_overlay *ovl;
-+ int posx, posy;
-+ int outw, outh;
-+ int i;
-+
-+ for (i = 0; i < ofbi->num_overlays; i++) {
-+ ovl = ofbi->overlays[i];
-+
-+ DBG("apply_changes, fb %d, ovl %d\n", ofbi->id, ovl->id);
-+
-+ if (ofbi->region.size == 0) {
-+ /* the fb is not available. disable the overlay */
-+ ovl->enable(ovl, 0);
-+ if (!init && ovl->manager)
-+ ovl->manager->apply(ovl->manager);
-+ continue;
-+ }
-+
-+ if (init || (ovl->caps & OMAP_DSS_OVL_CAP_SCALE) == 0) {
-+ outw = var->xres;
-+ outh = var->yres;
-+ } else {
-+ outw = ovl->info.out_width;
-+ outh = ovl->info.out_height;
-+ }
-+
-+ if (init) {
-+ posx = 0;
-+ posy = 0;
-+ } else {
-+ posx = ovl->info.pos_x;
-+ posy = ovl->info.pos_y;
-+ }
-+
-+ r = omapfb_setup_overlay(fbi, ovl, posx, posy, outw, outh);
-+ if (r)
-+ goto err;
-+
-+ if (!init && ovl->manager)
-+ ovl->manager->apply(ovl->manager);
-+ }
-+ return 0;
-+err:
-+ DBG("apply_changes failed\n");
-+ return r;
-+}
-+
-+/* checks var and eventually tweaks it to something supported,
-+ * DO NOT MODIFY PAR */
-+static int omapfb_check_var(struct fb_var_screeninfo *var, struct fb_info *fbi)
-+{
-+ int r;
-+
-+ DBG("check_var(%d)\n", FB2OFB(fbi)->id);
-+
-+ r = check_fb_var(fbi, var);
-+
-+ return r;
-+}
-+
-+/* set the video mode according to info->var */
-+static int omapfb_set_par(struct fb_info *fbi)
-+{
-+ int r;
-+
-+ DBG("set_par(%d)\n", FB2OFB(fbi)->id);
-+
-+ set_fb_fix(fbi);
-+ r = omapfb_apply_changes(fbi, 0);
-+
-+ return r;
-+}
-+
-+static void omapfb_rotate(struct fb_info *fbi, int rotate)
-+{
-+ DBG("rotate(%d)\n", FB2OFB(fbi)->id);
-+ return;
-+}
-+
-+static int omapfb_pan_display(struct fb_var_screeninfo *var,
-+ struct fb_info *fbi)
-+{
-+ struct omapfb_info *ofbi = FB2OFB(fbi);
-+ struct omapfb2_device *fbdev = ofbi->fbdev;
-+ int r = 0;
-+
-+ DBG("pan_display(%d)\n", ofbi->id);
-+
-+ omapfb_lock(fbdev);
-+
-+ if (var->xoffset != fbi->var.xoffset ||
-+ var->yoffset != fbi->var.yoffset) {
-+ struct fb_var_screeninfo new_var;
-+
-+ new_var = fbi->var;
-+ new_var.xoffset = var->xoffset;
-+ new_var.yoffset = var->yoffset;
-+
-+ r = check_fb_var(fbi, &new_var);
-+
-+ if (r == 0) {
-+ fbi->var = new_var;
-+ set_fb_fix(fbi);
-+ r = omapfb_apply_changes(fbi, 0);
-+ }
-+ }
-+
-+ omapfb_unlock(fbdev);
-+
-+ return r;
-+}
-+
-+static void mmap_user_open(struct vm_area_struct *vma)
-+{
-+ struct omapfb_info *ofbi = (struct omapfb_info *)vma->vm_private_data;
-+
-+ atomic_inc(&ofbi->map_count);
-+}
-+
-+static void mmap_user_close(struct vm_area_struct *vma)
-+{
-+ struct omapfb_info *ofbi = (struct omapfb_info *)vma->vm_private_data;
-+
-+ atomic_dec(&ofbi->map_count);
-+}
-+
-+static struct vm_operations_struct mmap_user_ops = {
-+ .open = mmap_user_open,
-+ .close = mmap_user_close,
-+};
-+
-+static int omapfb_mmap(struct fb_info *fbi, struct vm_area_struct *vma)
-+{
-+ struct omapfb_info *ofbi = FB2OFB(fbi);
-+ struct omapfb_mem_region *rg = &ofbi->region;
-+ unsigned long off;
-+ unsigned long start;
-+ u32 len;
-+
-+ if (vma->vm_end - vma->vm_start == 0)
-+ return 0;
-+ if (vma->vm_pgoff > (~0UL >> PAGE_SHIFT))
-+ return -EINVAL;
-+ off = vma->vm_pgoff << PAGE_SHIFT;
-+
-+ start = rg->paddr;
-+ len = rg->size;
-+ if (off >= len)
-+ return -EINVAL;
-+ if ((vma->vm_end - vma->vm_start + off) > len)
-+ return -EINVAL;
-+ off += start;
-+ vma->vm_pgoff = off >> PAGE_SHIFT;
-+ vma->vm_flags |= VM_IO | VM_RESERVED;
-+ vma->vm_page_prot = pgprot_writecombine(vma->vm_page_prot);
-+ vma->vm_ops = &mmap_user_ops;
-+ vma->vm_private_data = ofbi;
-+ if (io_remap_pfn_range(vma, vma->vm_start, off >> PAGE_SHIFT,
-+ vma->vm_end - vma->vm_start, vma->vm_page_prot))
-+ return -EAGAIN;
-+ /* vm_ops.open won't be called for mmap itself. */
-+ atomic_inc(&ofbi->map_count);
-+ return 0;
-+}
-+
-+/* Store a single color palette entry into a pseudo palette or the hardware
-+ * palette if one is available. For now we support only 16bpp and thus store
-+ * the entry only to the pseudo palette.
-+ */
-+static int _setcolreg(struct fb_info *fbi, u_int regno, u_int red, u_int green,
-+ u_int blue, u_int transp, int update_hw_pal)
-+{
-+ /*struct omapfb_info *ofbi = FB2OFB(fbi);*/
-+ /*struct omapfb2_device *fbdev = ofbi->fbdev;*/
-+ struct fb_var_screeninfo *var = &fbi->var;
-+ int r = 0;
-+
-+ enum omapfb_color_format mode = OMAPFB_COLOR_RGB24U; /* XXX */
-+
-+ /*switch (plane->color_mode) {*/
-+ switch (mode) {
-+ case OMAPFB_COLOR_YUV422:
-+ case OMAPFB_COLOR_YUV420:
-+ case OMAPFB_COLOR_YUY422:
-+ r = -EINVAL;
-+ break;
-+ case OMAPFB_COLOR_CLUT_8BPP:
-+ case OMAPFB_COLOR_CLUT_4BPP:
-+ case OMAPFB_COLOR_CLUT_2BPP:
-+ case OMAPFB_COLOR_CLUT_1BPP:
-+ /*
-+ if (fbdev->ctrl->setcolreg)
-+ r = fbdev->ctrl->setcolreg(regno, red, green, blue,
-+ transp, update_hw_pal);
-+ */
-+ /* Fallthrough */
-+ r = -EINVAL;
-+ break;
-+ case OMAPFB_COLOR_RGB565:
-+ case OMAPFB_COLOR_RGB444:
-+ case OMAPFB_COLOR_RGB24P:
-+ case OMAPFB_COLOR_RGB24U:
-+ if (r != 0)
-+ break;
-+
-+ if (regno < 0) {
-+ r = -EINVAL;
-+ break;
-+ }
-+
-+ if (regno < 16) {
-+ u16 pal;
-+ pal = ((red >> (16 - var->red.length)) <<
-+ var->red.offset) |
-+ ((green >> (16 - var->green.length)) <<
-+ var->green.offset) |
-+ (blue >> (16 - var->blue.length));
-+ ((u32 *)(fbi->pseudo_palette))[regno] = pal;
-+ }
-+ break;
-+ default:
-+ BUG();
-+ }
-+ return r;
-+}
-+
-+static int omapfb_setcolreg(u_int regno, u_int red, u_int green, u_int blue,
-+ u_int transp, struct fb_info *info)
-+{
-+ DBG("setcolreg\n");
-+
-+ return _setcolreg(info, regno, red, green, blue, transp, 1);
-+}
-+
-+static int omapfb_setcmap(struct fb_cmap *cmap, struct fb_info *info)
-+{
-+ int count, index, r;
-+ u16 *red, *green, *blue, *transp;
-+ u16 trans = 0xffff;
-+
-+ DBG("setcmap\n");
-+
-+ red = cmap->red;
-+ green = cmap->green;
-+ blue = cmap->blue;
-+ transp = cmap->transp;
-+ index = cmap->start;
-+
-+ for (count = 0; count < cmap->len; count++) {
-+ if (transp)
-+ trans = *transp++;
-+ r = _setcolreg(info, index++, *red++, *green++, *blue++, trans,
-+ count == cmap->len - 1);
-+ if (r != 0)
-+ return r;
-+ }
-+
-+ return 0;
-+}
-+
-+static int omapfb_blank(int blank, struct fb_info *fbi)
-+{
-+ struct omapfb_info *ofbi = FB2OFB(fbi);
-+ struct omapfb2_device *fbdev = ofbi->fbdev;
-+ struct omap_display *display = fb2display(fbi);
-+ int do_update = 0;
-+ int r = 0;
-+
-+ omapfb_lock(fbdev);
-+
-+ switch (blank) {
-+ case FB_BLANK_UNBLANK:
-+ if (display->state != OMAP_DSS_DISPLAY_SUSPENDED) {
-+ r = -EINVAL;
-+ goto exit;
-+ }
-+
-+ if (display->resume)
-+ r = display->resume(display);
-+
-+ if (r == 0 && display->get_update_mode &&
-+ display->get_update_mode(display) ==
-+ OMAP_DSS_UPDATE_MANUAL)
-+ do_update = 1;
-+
-+ break;
-+
-+ case FB_BLANK_POWERDOWN:
-+ if (display->state != OMAP_DSS_DISPLAY_ACTIVE) {
-+ r = -EINVAL;
-+ goto exit;
-+ }
-+
-+ if (display->suspend)
-+ r = display->suspend(display);
-+
-+ break;
-+
-+ default:
-+ r = -EINVAL;
-+ }
-+
-+exit:
-+ omapfb_unlock(fbdev);
-+
-+ if (r == 0 && do_update && display->update)
-+ r = display->update(display,
-+ 0, 0,
-+ display->panel->timings.x_res,
-+ display->panel->timings.y_res);
-+
-+ return r;
-+}
-+
-+static struct fb_ops omapfb_ops = {
-+ .owner = THIS_MODULE,
-+ .fb_open = omapfb_open,
-+ .fb_release = omapfb_release,
-+ .fb_fillrect = cfb_fillrect,
-+ .fb_copyarea = cfb_copyarea,
-+ .fb_imageblit = cfb_imageblit,
-+ .fb_blank = omapfb_blank,
-+ .fb_ioctl = omapfb_ioctl,
-+ .fb_check_var = omapfb_check_var,
-+ .fb_set_par = omapfb_set_par,
-+ .fb_rotate = omapfb_rotate,
-+ .fb_pan_display = omapfb_pan_display,
-+ .fb_mmap = omapfb_mmap,
-+ .fb_setcolreg = omapfb_setcolreg,
-+ .fb_setcmap = omapfb_setcmap,
-+};
-+
-+static void omapfb_free_fbmem(struct omapfb2_device *fbdev, int fbnum)
-+{
-+ struct omapfb_info *ofbi = FB2OFB(fbdev->fbs[fbnum]);
-+ struct omapfb_mem_region *rg;
-+
-+ rg = &ofbi->region;
-+
-+ if (rg->paddr)
-+ if (omap_vram_free(rg->paddr, rg->vaddr, rg->size))
-+ dev_err(fbdev->dev, "VRAM FREE failed\n");
-+
-+ rg->vaddr = NULL;
-+ rg->paddr = 0;
-+ rg->alloc = 0;
-+ rg->size = 0;
-+}
-+
-+static int omapfb_free_all_fbmem(struct omapfb2_device *fbdev)
-+{
-+ int i;
-+
-+ DBG("free all fbmem\n");
-+
-+ for (i = 0; i < fbdev->num_fbs; i++)
-+ omapfb_free_fbmem(fbdev, i);
-+
-+ return 0;
-+}
-+
-+static int omapfb_alloc_fbmem(struct omapfb2_device *fbdev, int fbnum,
-+ unsigned long size)
-+{
-+ struct omapfb_info *ofbi;
-+ struct omapfb_mem_region *rg;
-+ unsigned long paddr;
-+ void *vaddr;
-+
-+ size = PAGE_ALIGN(size);
-+
-+ ofbi = FB2OFB(fbdev->fbs[fbnum]);
-+ rg = &ofbi->region;
-+ memset(rg, 0, sizeof(*rg));
-+
-+ DBG("allocating %lu bytes for fb %d\n",
-+ size, ofbi->id);
-+
-+ vaddr = omap_vram_alloc(OMAPFB_MEMTYPE_SDRAM, size, &paddr);
-+ DBG("allocated VRAM paddr %lx, vaddr %p\n", paddr, vaddr);
-+
-+ if (vaddr == NULL) {
-+ dev_err(fbdev->dev,
-+ "failed to allocate framebuffer\n");
-+ return -ENOMEM;
-+ }
-+
-+ rg->paddr = paddr;
-+ rg->vaddr = vaddr;
-+ rg->size = size;
-+ rg->alloc = 1;
-+
-+ return 0;
-+}
-+
-+int omapfb_realloc_fbmem(struct omapfb2_device *fbdev, int fbnum,
-+ unsigned long size)
-+{
-+ struct omapfb_info *ofbi = FB2OFB(fbdev->fbs[fbnum]);
-+ struct omapfb_mem_region *rg = &ofbi->region;
-+ unsigned old_size = rg->size;
-+ int r;
-+
-+ size = PAGE_ALIGN(size);
-+
-+ omapfb_free_fbmem(fbdev, fbnum);
-+
-+ if (size == 0)
-+ return 0;
-+
-+ r = omapfb_alloc_fbmem(fbdev, fbnum, size);
-+
-+ if (r)
-+ omapfb_alloc_fbmem(fbdev, fbnum, old_size);
-+
-+ return r;
-+}
-+
-+/* allocate fbmem using display resolution as reference */
-+static int omapfb_alloc_fbmem_display(struct omapfb2_device *fbdev, int fbnum,
-+ unsigned long def_vram)
-+{
-+ struct omapfb_info *ofbi;
-+ struct omap_display *display;
-+ int bytespp;
-+ unsigned long size;
-+
-+ ofbi = FB2OFB(fbdev->fbs[fbnum]);
-+ display = fb2display(fbdev->fbs[fbnum]);
-+
-+ if (!display)
-+ return 0;
-+
-+ switch (display->panel->bpp) {
-+ case 16:
-+ bytespp = 2;
-+ break;
-+ case 24:
-+ case 32:
-+ bytespp = 4;
-+ break;
-+ default:
-+ bytespp = 4;
-+ break;
-+ }
-+
-+ size = display->panel->timings.x_res * display->panel->timings.y_res *
-+ bytespp;
-+
-+ if (def_vram > size)
-+ size = def_vram;
-+
-+ return omapfb_alloc_fbmem(fbdev, fbnum, size);
-+}
-+
-+static int omapfb_allocate_all_fbs(struct omapfb2_device *fbdev)
-+{
-+ int i, r;
-+ unsigned long vrams[10];
-+
-+ memset(vrams, 0, sizeof(vrams));
-+
-+ if (def_vram) {
-+ char *p = def_vram;
-+ i = 0;
-+
-+ while (true) {
-+ unsigned long size;
-+
-+ size = memparse(p, &p);
-+
-+ if (size == 0) {
-+ dev_err(fbdev->dev, "illegal vram size\n");
-+ break;
-+ }
-+
-+ vrams[i++] = size;
-+
-+ if (*p != ',')
-+ break;
-+
-+ p++;
-+ }
-+ }
-+
-+ for (i = 0; i < fbdev->num_fbs; i++) {
-+ r = omapfb_alloc_fbmem_display(fbdev, i, vrams[i]);
-+
-+ if (r)
-+ return r;
-+ }
-+
-+ for (i = 0; i < fbdev->num_fbs; i++) {
-+ struct omapfb_info *ofbi = FB2OFB(fbdev->fbs[i]);
-+ struct omapfb_mem_region *rg;
-+ rg = &ofbi->region;
-+
-+ DBG("region%d phys %08x virt %p size=%lu\n",
-+ i,
-+ rg->paddr,
-+ rg->vaddr,
-+ rg->size);
-+ }
-+
-+ return 0;
-+}
-+
-+/* initialize fb_info, var, fix to something sane based on the display */
-+static int fbinfo_init(struct omapfb2_device *fbdev, struct fb_info *fbi)
-+{
-+ struct fb_var_screeninfo *var = &fbi->var;
-+ struct fb_fix_screeninfo *fix = &fbi->fix;
-+ struct omap_display *display = fb2display(fbi);
-+ int r = 0;
-+
-+ fbi->fbops = &omapfb_ops;
-+ fbi->flags = FBINFO_FLAG_DEFAULT;
-+ fbi->pseudo_palette = fbdev->pseudo_palette;
-+
-+ strncpy(fix->id, MODULE_NAME, sizeof(fix->id));
-+
-+ var->nonstd = 0;
-+
-+ if (display) {
-+ var->xres = display->panel->timings.x_res;
-+ var->yres = display->panel->timings.y_res;
-+ var->xres_virtual = var->xres;
-+ var->yres_virtual = var->yres;
-+ /* var->rotate = def_rotate; */
-+
-+ switch (display->panel->bpp) {
-+ case 16:
-+ var->bits_per_pixel = 16;
-+ break;
-+ case 18:
-+ var->bits_per_pixel = 16;
-+ break;
-+ case 24:
-+ var->bits_per_pixel = 32;
-+ break;
-+ default:
-+ dev_err(fbdev->dev, "illegal display bpp\n");
-+ return -EINVAL;
-+ }
-+ }
-+
-+ r = check_fb_var(fbi, var);
-+ if (r)
-+ goto err;
-+
-+ set_fb_fix(fbi);
-+
-+#ifdef DEBUG
-+ if (omapfb_debug)
-+ fill_fb(FB2OFB(fbi)->region.vaddr, fbi);
-+#endif
-+err:
-+ return r;
-+}
-+
-+static void fbinfo_cleanup(struct omapfb2_device *fbdev, struct fb_info *fbi)
-+{
-+ fb_dealloc_cmap(&fbi->cmap);
-+}
-+
-+
-+static void omapfb_free_resources(struct omapfb2_device *fbdev)
-+{
-+ int i;
-+
-+ DBG("free_resources\n");
-+
-+ if (fbdev == NULL)
-+ return;
-+
-+ for (i = 0; i < fbdev->num_fbs; i++)
-+ unregister_framebuffer(fbdev->fbs[i]);
-+
-+ /* free the reserved fbmem */
-+ omapfb_free_all_fbmem(fbdev);
-+
-+ for (i = 0; i < fbdev->num_fbs; i++) {
-+ fbinfo_cleanup(fbdev, fbdev->fbs[i]);
-+ framebuffer_release(fbdev->fbs[i]);
-+ }
-+
-+ for (i = 0; i < fbdev->num_displays; i++) {
-+ if (fbdev->displays[i]->state != OMAP_DSS_DISPLAY_DISABLED)
-+ fbdev->displays[i]->disable(fbdev->displays[i]);
-+
-+ omap_dss_put_display(fbdev->displays[i]);
-+ }
-+
-+ dev_set_drvdata(fbdev->dev, NULL);
-+ kfree(fbdev);
-+}
-+
-+static int omapfb_create_framebuffers(struct omapfb2_device *fbdev)
-+{
-+ int r, i;
-+
-+ fbdev->num_fbs = 0;
-+
-+ DBG("create %d framebuffers\n", CONFIG_FB_OMAP2_NUM_FBS);
-+
-+ /* allocate fb_infos */
-+ for (i = 0; i < CONFIG_FB_OMAP2_NUM_FBS; i++) {
-+ struct fb_info *fbi;
-+ struct omapfb_info *ofbi;
-+
-+ fbi = framebuffer_alloc(sizeof(struct omapfb_info),
-+ fbdev->dev);
-+
-+ if (fbi == NULL) {
-+ dev_err(fbdev->dev,
-+ "unable to allocate memory for plane info\n");
-+ return -ENOMEM;
-+ }
-+
-+ fbdev->fbs[i] = fbi;
-+
-+ ofbi = FB2OFB(fbi);
-+ ofbi->fbdev = fbdev;
-+ ofbi->id = i;
-+ fbdev->num_fbs++;
-+ }
-+
-+ DBG("fb_infos allocated\n");
-+
-+ /* assign overlays for the fbs */
-+ for (i = 0; i < min(fbdev->num_fbs, fbdev->num_overlays); i++) {
-+ struct omapfb_info *ofbi = FB2OFB(fbdev->fbs[i]);
-+
-+ ofbi->overlays[0] = fbdev->overlays[i];
-+ ofbi->num_overlays = 1;
-+ }
-+
-+ /* allocate fb memories */
-+ r = omapfb_allocate_all_fbs(fbdev);
-+ if (r) {
-+ dev_err(fbdev->dev, "failed to allocate fbmem\n");
-+ return r;
-+ }
-+
-+ DBG("fbmems allocated\n");
-+
-+ /* setup fb_infos */
-+ for (i = 0; i < fbdev->num_fbs; i++) {
-+ r = fbinfo_init(fbdev, fbdev->fbs[i]);
-+ if (r) {
-+ dev_err(fbdev->dev, "failed to setup fb_info\n");
-+ return r;
-+ }
-+ }
-+
-+ DBG("fb_infos initialized\n");
-+
-+ for (i = 0; i < fbdev->num_fbs; i++) {
-+ r = register_framebuffer(fbdev->fbs[i]);
-+ if (r != 0) {
-+ dev_err(fbdev->dev,
-+ "registering framebuffer %d failed\n", i);
-+ return r;
-+ }
-+ }
-+
-+ DBG("framebuffers registered\n");
-+
-+ for (i = 0; i < fbdev->num_fbs; i++) {
-+ r = omapfb_apply_changes(fbdev->fbs[i], 1);
-+ if (r)
-+ dev_err(fbdev->dev, "failed to change mode\n");
-+ }
-+
-+ /* Enable the first framebuffer that has overlay that is connected
-+ * to display. Usually this would be the GFX plane. */
-+ r = 0;
-+ for (i = 0; i < fbdev->num_fbs; i++) {
-+ struct omapfb_info *ofbi = FB2OFB(fbdev->fbs[i]);
-+ int t;
-+
-+ for (t = 0; t < ofbi->num_overlays; t++) {
-+ struct omap_overlay *ovl = ofbi->overlays[t];
-+ if (ovl->manager && ovl->manager->display) {
-+ ovl->enable(ovl, 1);
-+ r = 1;
-+ break;
-+ }
-+ }
-+
-+ if (r)
-+ break;
-+ }
-+
-+ DBG("create_framebuffers done\n");
-+
-+ return 0;
-+}
-+
-+int omapfb_mode_to_timings(const char *mode_str,
-+ struct omap_video_timings *timings, unsigned *bpp)
-+{
-+ struct fb_info fbi;
-+ struct fb_var_screeninfo var;
-+ struct fb_ops fbops;
-+ int r;
-+
-+ /* this is quite a hack, but I wanted to use the modedb and for
-+ * that we need fb_info and var, so we create dummy ones */
-+
-+ memset(&fbi, 0, sizeof(fbi));
-+ memset(&var, 0, sizeof(var));
-+ memset(&fbops, 0, sizeof(fbops));
-+ fbi.fbops = &fbops;
-+
-+ r = fb_find_mode(&var, &fbi, mode_str, NULL, 0, NULL, 24);
-+
-+ if (r != 0) {
-+ timings->pixel_clock = PICOS2KHZ(var.pixclock);
-+ timings->hfp = var.left_margin;
-+ timings->hbp = var.right_margin;
-+ timings->vfp = var.upper_margin;
-+ timings->vbp = var.lower_margin;
-+ timings->hsw = var.hsync_len;
-+ timings->vsw = var.vsync_len;
-+ timings->x_res = var.xres;
-+ timings->y_res = var.yres;
-+
-+ switch (var.bits_per_pixel) {
-+ case 16:
-+ *bpp = 16;
-+ break;
-+ case 24:
-+ case 32:
-+ default:
-+ *bpp = 24;
-+ break;
-+ }
-+
-+ return 0;
-+ } else {
-+ return -EINVAL;
-+ }
-+}
-+
-+static int omapfb_probe(struct platform_device *pdev)
-+{
-+ struct omapfb2_device *fbdev = NULL;
-+ int r = 0;
-+ int i, t;
-+ struct omap_overlay *ovl;
-+ struct omap_display *def_display;
-+
-+ DBG("omapfb_probe\n");
-+
-+ if (pdev->num_resources != 0) {
-+ dev_err(&pdev->dev, "probed for an unknown device\n");
-+ r = -ENODEV;
-+ goto err0;
-+ }
-+
-+ fbdev = kzalloc(sizeof(struct omapfb2_device), GFP_KERNEL);
-+ if (fbdev == NULL) {
-+ r = -ENOMEM;
-+ goto err0;
-+ }
-+
-+ mutex_init(&fbdev->mtx);
-+
-+ fbdev->dev = &pdev->dev;
-+ platform_set_drvdata(pdev, fbdev);
-+
-+ fbdev->num_displays = 0;
-+ t = omap_dss_get_num_displays();
-+ for (i = 0; i < t; i++) {
-+ struct omap_display *display;
-+ display = omap_dss_get_display(i);
-+ if (!display) {
-+ dev_err(&pdev->dev, "can't get display %d\n", i);
-+ r = -EINVAL;
-+ goto cleanup;
-+ }
-+
-+ fbdev->displays[fbdev->num_displays++] = display;
-+ }
-+
-+ if (fbdev->num_displays == 0) {
-+ dev_err(&pdev->dev, "no displays\n");
-+ r = -EINVAL;
-+ goto cleanup;
-+ }
-+
-+ fbdev->num_overlays = omap_dss_get_num_overlays();
-+ for (i = 0; i < fbdev->num_overlays; i++)
-+ fbdev->overlays[i] = omap_dss_get_overlay(i);
-+
-+ fbdev->num_managers = omap_dss_get_num_overlay_managers();
-+ for (i = 0; i < fbdev->num_managers; i++)
-+ fbdev->managers[i] = omap_dss_get_overlay_manager(i);
-+
-+
-+ /* gfx overlay should be the default one. find a display
-+ * connected to that, and use it as default display */
-+ ovl = omap_dss_get_overlay(0);
-+ if (ovl->manager && ovl->manager->display) {
-+ def_display = ovl->manager->display;
-+ } else {
-+ dev_err(&pdev->dev, "cannot find default display\n");
-+ r = -EINVAL;
-+ goto cleanup;
-+ }
-+
-+ if (def_mode && strlen(def_mode) > 0)
-+ {
-+ struct omap_video_timings timings;
-+ unsigned bpp;
-+
-+ if (omapfb_mode_to_timings(def_mode, &timings, &bpp) == 0) {
-+ if (def_display->set_timings)
-+ def_display->set_timings(def_display, &timings);
-+
-+ def_display->panel->bpp = bpp;
-+ }
-+ }
-+
-+ r = omapfb_create_framebuffers(fbdev);
-+ if (r)
-+ goto cleanup;
-+
-+ for (i = 0; i < fbdev->num_managers; i++) {
-+ struct omap_overlay_manager *mgr;
-+ mgr = fbdev->managers[i];
-+ r = mgr->apply(mgr);
-+ if (r) {
-+ dev_err(fbdev->dev, "failed to apply dispc config\n");
-+ goto cleanup;
-+ }
-+ }
-+
-+ DBG("mgr->apply'ed\n");
-+
-+ r = def_display->enable(def_display);
-+ if (r) {
-+ dev_err(fbdev->dev, "Failed to enable display '%s'\n",
-+ def_display->name);
-+ goto cleanup;
-+ }
-+
-+ /* set the update mode */
-+ if (def_display->caps & OMAP_DSS_DISPLAY_CAP_MANUAL_UPDATE) {
-+#ifdef CONFIG_FB_OMAP2_FORCE_AUTO_UPDATE
-+ if (def_display->set_update_mode)
-+ def_display->set_update_mode(def_display,
-+ OMAP_DSS_UPDATE_AUTO);
-+ if (def_display->enable_te)
-+ def_display->enable_te(def_display, 1);
-+#else
-+ if (def_display->set_update_mode)
-+ def_display->set_update_mode(def_display,
-+ OMAP_DSS_UPDATE_MANUAL);
-+ if (def_display->enable_te)
-+ def_display->enable_te(def_display, 0);
-+#endif
-+ } else {
-+ if (def_display->set_update_mode)
-+ def_display->set_update_mode(def_display,
-+ OMAP_DSS_UPDATE_AUTO);
-+ }
-+
-+ for (i = 0; i < fbdev->num_displays; i++) {
-+ struct omap_display *display = fbdev->displays[i];
-+
-+ if (display->update)
-+ display->update(display,
-+ 0, 0,
-+ display->panel->timings.x_res,
-+ display->panel->timings.y_res);
-+ }
-+
-+ DBG("display->updated\n");
-+
-+ omapfb_create_sysfs(fbdev);
-+ DBG("sysfs created\n");
-+
-+ return 0;
-+
-+cleanup:
-+ omapfb_free_resources(fbdev);
-+err0:
-+ dev_err(&pdev->dev, "failed to setup omapfb\n");
-+ return r;
-+}
-+
-+static int omapfb_remove(struct platform_device *pdev)
-+{
-+ struct omapfb2_device *fbdev = platform_get_drvdata(pdev);
-+
-+ /* FIXME: wait till completion of pending events */
-+
-+ omapfb_remove_sysfs(fbdev);
-+
-+ omapfb_free_resources(fbdev);
-+
-+ return 0;
-+}
-+
-+static struct platform_driver omapfb_driver = {
-+ .probe = omapfb_probe,
-+ .remove = omapfb_remove,
-+ .driver = {
-+ .name = "omapfb",
-+ .owner = THIS_MODULE,
-+ },
-+};
-+
-+static int __init omapfb_init(void)
-+{
-+ DBG("omapfb_init\n");
-+
-+ if (platform_driver_register(&omapfb_driver)) {
-+ printk(KERN_ERR "failed to register omapfb driver\n");
-+ return -ENODEV;
-+ }
-+
-+ return 0;
-+}
-+
-+static void __exit omapfb_exit(void)
-+{
-+ DBG("omapfb_exit\n");
-+ platform_driver_unregister(&omapfb_driver);
-+}
-+
-+module_param_named(video_mode, def_mode, charp, 0);
-+module_param_named(vram, def_vram, charp, 0);
-+
-+/* late_initcall to let panel/ctrl drivers loaded first.
-+ * I guess better option would be a more dynamic approach,
-+ * so that omapfb reacts to new panels when they are loaded */
-+late_initcall(omapfb_init);
-+/*module_init(omapfb_init);*/
-+module_exit(omapfb_exit);
-+
-+MODULE_AUTHOR("Tomi Valkeinen <tomi.valkeinen@nokia.com>");
-+MODULE_DESCRIPTION("OMAP2/3 Framebuffer");
-+MODULE_LICENSE("GPL v2");
-diff --git a/drivers/video/omap2/omapfb-sysfs.c b/drivers/video/omap2/omapfb-sysfs.c
-new file mode 100644
-index 0000000..4383e44
---- /dev/null
-+++ b/drivers/video/omap2/omapfb-sysfs.c
-@@ -0,0 +1,901 @@
-+/*
-+ * linux/drivers/video/omap2/omapfb-sysfs.c
-+ *
-+ * Copyright (C) 2008 Nokia Corporation
-+ * Author: Tomi Valkeinen <tomi.valkeinen@nokia.com>
-+ *
-+ * Some code and ideas taken from drivers/video/omap/ driver
-+ * by Imre Deak.
-+ *
-+ * This program is free software; you can redistribute it and/or modify it
-+ * under the terms of the GNU General Public License version 2 as published by
-+ * the Free Software Foundation.
-+ *
-+ * 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 <http://www.gnu.org/licenses/>.
-+ */
-+
-+#include <linux/fb.h>
-+#include <linux/sysfs.h>
-+#include <linux/device.h>
-+#include <linux/uaccess.h>
-+#include <linux/platform_device.h>
-+#include <linux/kernel.h>
-+
-+#include <mach/display.h>
-+#include <mach/omapfb.h>
-+
-+#include "omapfb.h"
-+
-+static int omapfb_attach_framebuffer(struct fb_info *fbi,
-+ struct omap_overlay *ovl)
-+{
-+ struct omapfb_info *ofbi = FB2OFB(fbi);
-+ struct omapfb2_device *fbdev = ofbi->fbdev;
-+ int i, t;
-+ int r;
-+
-+ if (ofbi->num_overlays >= OMAPFB_MAX_OVL_PER_FB) {
-+ dev_err(fbdev->dev, "fb has max number of overlays already\n");
-+ return -EINVAL;
-+ }
-+
-+ for (i = 0; i < ofbi->num_overlays; i++) {
-+ if (ofbi->overlays[i] == ovl) {
-+ dev_err(fbdev->dev, "fb already attached to overlay\n");
-+ return -EINVAL;
-+ }
-+ }
-+
-+ for (i = 0; i < fbdev->num_fbs; i++) {
-+ struct omapfb_info *ofbi2 = FB2OFB(fbdev->fbs[i]);
-+ for (t = 0; t < ofbi2->num_overlays; t++) {
-+ if (ofbi2->overlays[t] == ovl) {
-+ dev_err(fbdev->dev, "overlay already in use\n");
-+ return -EINVAL;
-+ }
-+ }
-+ }
-+
-+ ofbi->overlays[ofbi->num_overlays++] = ovl;
-+
-+/*
-+ if (ovl->manager && ovl->manager->display)
-+ omapfb_adjust_fb(fbi, ovl, 0, 0);
-+*/
-+ r = omapfb_apply_changes(fbi, 1);
-+ if (r)
-+ return r;
-+
-+ if (ovl->manager)
-+ ovl->manager->apply(ovl->manager);
-+
-+ return 0;
-+}
-+
-+static int omapfb_detach_framebuffer(struct fb_info *fbi,
-+ struct omap_overlay *ovl)
-+{
-+ int i;
-+ struct omapfb_info *ofbi = FB2OFB(fbi);
-+ struct omapfb2_device *fbdev = ofbi->fbdev;
-+
-+ for (i = 0; i < ofbi->num_overlays; i++) {
-+ if (ofbi->overlays[i] == ovl)
-+ break;
-+ }
-+
-+ if (i == ofbi->num_overlays) {
-+ dev_err(fbdev->dev, "cannot detach fb, overlay not attached\n");
-+ return -EINVAL;
-+ }
-+
-+ ovl->enable(ovl, 0);
-+
-+ if (ovl->manager)
-+ ovl->manager->apply(ovl->manager);
-+
-+ for (i = i + 1; i < ofbi->num_overlays; i++)
-+ ofbi->overlays[i-1] = ofbi->overlays[i];
-+
-+ ofbi->num_overlays--;
-+
-+ return 0;
-+}
-+
-+
-+static ssize_t show_framebuffers(struct device *dev,
-+ struct device_attribute *attr,
-+ char *buf)
-+{
-+ struct platform_device *pdev = to_platform_device(dev);
-+ struct omapfb2_device *fbdev = platform_get_drvdata(pdev);
-+ ssize_t l = 0, size = PAGE_SIZE;
-+ int i, t;
-+
-+ omapfb_lock(fbdev);
-+
-+ for (i = 0; i < fbdev->num_fbs; i++) {
-+ struct omapfb_info *ofbi = FB2OFB(fbdev->fbs[i]);
-+ struct omapfb_mem_region *rg;
-+
-+ rg = &ofbi->region;
-+
-+ l += snprintf(buf + l, size - l, "%d p:%08x v:%p size:%lu t:",
-+ ofbi->id,
-+ rg->paddr, rg->vaddr, rg->size);
-+
-+ if (ofbi->num_overlays == 0)
-+ l += snprintf(buf + l, size - l, "none");
-+
-+ for (t = 0; t < ofbi->num_overlays; t++) {
-+ struct omap_overlay *ovl;
-+ ovl = ofbi->overlays[t];
-+
-+ l += snprintf(buf + l, size - l, "%s%s",
-+ t == 0 ? "" : ",",
-+ ovl->name);
-+ }
-+
-+ l += snprintf(buf + l, size - l, "\n");
-+ }
-+
-+ omapfb_unlock(fbdev);
-+
-+ return l;
-+}
-+
-+static struct omap_overlay *find_overlay_by_name(struct omapfb2_device *fbdev,
-+ char *name)
-+{
-+ int i;
-+
-+ for (i = 0; i < fbdev->num_overlays; i++)
-+ if (strcmp(name, fbdev->overlays[i]->name) == 0)
-+ return fbdev->overlays[i];
-+
-+ return NULL;
-+}
-+
-+static struct omap_display *find_display_by_name(struct omapfb2_device *fbdev,
-+ char *name)
-+{
-+ int i;
-+
-+ for (i = 0; i < fbdev->num_displays; i++)
-+ if (strcmp(name, fbdev->displays[i]->name) == 0)
-+ return fbdev->displays[i];
-+
-+ return NULL;
-+}
-+
-+static struct omap_overlay_manager *find_manager_by_name(
-+ struct omapfb2_device *fbdev,
-+ char *name)
-+{
-+ int i;
-+
-+ for (i = 0; i < fbdev->num_managers; i++)
-+ if (strcmp(name, fbdev->managers[i]->name) == 0)
-+ return fbdev->managers[i];
-+
-+ return NULL;
-+}
-+
-+static int parse_overlays(struct omapfb2_device *fbdev, char *str,
-+ struct omap_overlay *ovls[])
-+{
-+ int num_ovls = 0;
-+ int s, e = 0;
-+ char ovlname[10];
-+
-+ while (1) {
-+ struct omap_overlay *ovl;
-+
-+ s = e;
-+
-+ while (e < strlen(str) && str[e] != ',')
-+ e++;
-+
-+ strncpy(ovlname, str + s, e - s);
-+ ovlname[e-s] = 0;
-+
-+ DBG("searching for '%s'\n", ovlname);
-+ ovl = find_overlay_by_name(fbdev, ovlname);
-+
-+ if (ovl) {
-+ DBG("found an overlay\n");
-+ ovls[num_ovls] = ovl;
-+ num_ovls++;
-+ } else {
-+ DBG("unknown overlay %s\n", str);
-+ return 0;
-+ }
-+
-+ if (e == strlen(str))
-+ break;
-+
-+ e++;
-+ }
-+
-+ return num_ovls;
-+}
-+
-+static ssize_t store_framebuffers(struct device *dev,
-+ struct device_attribute *attr,
-+ const char *buf, size_t count)
-+{
-+ struct platform_device *pdev = to_platform_device(dev);
-+ struct omapfb2_device *fbdev = platform_get_drvdata(pdev);
-+ int idx;
-+ char fbname[3];
-+ unsigned long fbnum;
-+ char ovlnames[40];
-+ int num_ovls = 0;
-+ struct omap_overlay *ovls[OMAPFB_MAX_OVL_PER_FB];
-+ struct fb_info *fbi;
-+ struct omapfb_info *ofbi;
-+ int r, i;
-+
-+ idx = 0;
-+ while (idx < count && buf[idx] != ' ')
-+ ++idx;
-+
-+ if (idx == count)
-+ return -EINVAL;
-+
-+ if (idx >= sizeof(fbname))
-+ return -EINVAL;
-+
-+ strncpy(fbname, buf, idx);
-+ fbname[idx] = 0;
-+ idx++;
-+
-+ if (strict_strtoul(fbname, 10, &fbnum))
-+ return -EINVAL;
-+
-+ r = sscanf(buf + idx, "t:%39s", ovlnames);
-+
-+ if (r != 1) {
-+ r = -EINVAL;
-+ goto err;
-+ }
-+
-+ omapfb_lock(fbdev);
-+
-+ if (fbnum >= fbdev->num_fbs) {
-+ dev_err(dev, "fb not found\n");
-+ r = -EINVAL;
-+ goto err;
-+ }
-+
-+ fbi = fbdev->fbs[fbnum];
-+ ofbi = FB2OFB(fbi);
-+
-+ if (strcmp(ovlnames, "none") == 0) {
-+ num_ovls = 0;
-+ } else {
-+ num_ovls = parse_overlays(fbdev, ovlnames, ovls);
-+
-+ if (num_ovls == 0) {
-+ dev_err(dev, "overlays not found\n");
-+ r = -EINVAL;
-+ goto err;
-+ }
-+ }
-+
-+ for (i = 0; i < ofbi->num_overlays; i++) {
-+ r = omapfb_detach_framebuffer(fbi, ofbi->overlays[i]);
-+ if (r) {
-+ dev_err(dev, "detach failed\n");
-+ goto err;
-+ }
-+ }
-+
-+ if (num_ovls > 0) {
-+ for (i = 0; i < num_ovls; i++) {
-+ r = omapfb_attach_framebuffer(fbi, ovls[i]);
-+ if (r) {
-+ dev_err(dev, "attach failed\n");
-+ goto err;
-+ }
-+ }
-+ }
-+
-+ omapfb_unlock(fbdev);
-+ return count;
-+
-+err:
-+ omapfb_unlock(fbdev);
-+ return r;
-+}
-+
-+static ssize_t show_overlays(struct device *dev, struct device_attribute *attr,
-+ char *buf)
-+{
-+ struct platform_device *pdev = to_platform_device(dev);
-+ struct omapfb2_device *fbdev = platform_get_drvdata(pdev);
-+ ssize_t l = 0, size = PAGE_SIZE;
-+ int i, mgr_num;
-+
-+ omapfb_lock(fbdev);
-+
-+ for (i = 0; i < fbdev->num_overlays; i++) {
-+ struct omap_overlay *ovl;
-+ struct omap_overlay_manager *mgr;
-+
-+ ovl = fbdev->overlays[i];
-+ mgr = ovl->manager;
-+
-+ for (mgr_num = 0; mgr_num < fbdev->num_managers; mgr_num++)
-+ if (fbdev->managers[mgr_num] == mgr)
-+ break;
-+
-+ l += snprintf(buf + l, size - l,
-+ "%s t:%s x:%d y:%d iw:%d ih:%d w: %d h: %d e:%d\n",
-+ ovl->name,
-+ mgr ? mgr->name : "none",
-+ ovl->info.pos_x,
-+ ovl->info.pos_y,
-+ ovl->info.width,
-+ ovl->info.height,
-+ ovl->info.out_width,
-+ ovl->info.out_height,
-+ ovl->info.enabled);
-+ }
-+
-+ omapfb_unlock(fbdev);
-+
-+ return l;
-+}
-+
-+static ssize_t store_overlays(struct device *dev,
-+ struct device_attribute *attr,
-+ const char *buf, size_t count)
-+{
-+ struct platform_device *pdev = to_platform_device(dev);
-+ struct omapfb2_device *fbdev = platform_get_drvdata(pdev);
-+ int idx;
-+ struct omap_overlay *ovl = NULL;
-+ struct omap_overlay_manager *mgr;
-+ int r;
-+ char ovlname[10];
-+ int posx, posy, outw, outh;
-+ int enabled;
-+
-+ idx = 0;
-+ while (idx < count && buf[idx] != ' ')
-+ ++idx;
-+
-+ if (idx == count)
-+ return -EINVAL;
-+
-+ if (idx >= sizeof(ovlname))
-+ return -EINVAL;
-+
-+ strncpy(ovlname, buf, idx);
-+ ovlname[idx] = 0;
-+ idx++;
-+
-+ omapfb_lock(fbdev);
-+
-+ ovl = find_overlay_by_name(fbdev, ovlname);
-+
-+ if (!ovl) {
-+ dev_err(dev, "ovl not found\n");
-+ r = -EINVAL;
-+ goto err;
-+ }
-+
-+ DBG("ovl %s found\n", ovl->name);
-+
-+ mgr = ovl->manager;
-+
-+ posx = ovl->info.pos_x;
-+ posy = ovl->info.pos_y;
-+ outw = ovl->info.out_width;
-+ outh = ovl->info.out_height;
-+ enabled = ovl->info.enabled;
-+
-+ while (idx < count) {
-+ char c;
-+ int val;
-+ int len;
-+ char sval[10];
-+
-+ r = sscanf(buf + idx, "%c:%d%n", &c, &val, &len);
-+
-+ if (r != 2) {
-+ val = 0;
-+
-+ r = sscanf(buf + idx, "%c:%9s%n", &c, sval, &len);
-+
-+ if (r != 2) {
-+ dev_err(dev, "sscanf failed, aborting\n");
-+ r = -EINVAL;
-+ goto err;
-+ }
-+ } else {
-+ sval[0] = 0;
-+ }
-+
-+ switch (c) {
-+ case 't':
-+ if (strcmp(sval, "none") == 0) {
-+ mgr = NULL;
-+ } else {
-+ mgr = find_manager_by_name(fbdev, sval);
-+
-+ if (mgr == NULL) {
-+ dev_err(dev, "no such manager\n");
-+ r = -EINVAL;
-+ goto err;
-+ }
-+
-+ DBG("manager %s found\n", mgr->name);
-+ }
-+
-+ break;
-+
-+ case 'x':
-+ posx = val;
-+ break;
-+
-+ case 'y':
-+ posy = val;
-+ break;
-+
-+ case 'w':
-+ if (ovl->caps & OMAP_DSS_OVL_CAP_SCALE)
-+ outw = val;
-+ break;
-+
-+ case 'h':
-+ if (ovl->caps & OMAP_DSS_OVL_CAP_SCALE)
-+ outh = val;
-+ break;
-+
-+ case 'e':
-+ enabled = val;
-+ break;
-+
-+ default:
-+ dev_err(dev, "unknown option %c\n", c);
-+ r = -EINVAL;
-+ goto err;
-+ }
-+
-+ idx += len + 1;
-+ }
-+
-+ r = ovl->setup_output(ovl, posx, posy, outw, outh);
-+
-+ if (r) {
-+ dev_err(dev, "setup overlay failed\n");
-+ goto err;
-+ }
-+
-+ if (mgr != ovl->manager) {
-+ /* detach old manager */
-+ if (ovl->manager) {
-+ r = ovl->unset_manager(ovl);
-+ if (r) {
-+ dev_err(dev, "detach failed\n");
-+ goto err;
-+ }
-+ }
-+
-+ if (mgr) {
-+ r = ovl->set_manager(ovl, mgr);
-+ if (r) {
-+ dev_err(dev, "Failed to attach overlay\n");
-+ goto err;
-+ }
-+ }
-+ }
-+
-+ r = ovl->enable(ovl, enabled);
-+
-+ if (r) {
-+ dev_err(dev, "enable overlay failed\n");
-+ goto err;
-+ }
-+
-+ if (mgr) {
-+ r = mgr->apply(mgr);
-+ if (r) {
-+ dev_err(dev, "failed to apply dispc config\n");
-+ goto err;
-+ }
-+ } else {
-+ ovl->enable(ovl, 0);
-+ }
-+
-+ if (mgr && mgr->display && mgr->display->update)
-+ mgr->display->update(mgr->display,
-+ 0, 0,
-+ mgr->display->panel->timings.x_res,
-+ mgr->display->panel->timings.y_res);
-+
-+ omapfb_unlock(fbdev);
-+ return count;
-+
-+err:
-+ omapfb_unlock(fbdev);
-+ return r;
-+}
-+
-+static ssize_t show_managers(struct device *dev, struct device_attribute *attr,
-+ char *buf)
-+{
-+ struct platform_device *pdev = to_platform_device(dev);
-+ struct omapfb2_device *fbdev = platform_get_drvdata(pdev);
-+ ssize_t l = 0, size = PAGE_SIZE;
-+ int i;
-+
-+ omapfb_lock(fbdev);
-+
-+ for (i = 0; i < fbdev->num_managers; i++) {
-+ struct omap_display *display;
-+ struct omap_overlay_manager *mgr;
-+
-+ mgr = fbdev->managers[i];
-+ display = mgr->display;
-+
-+ l += snprintf(buf + l, size - l, "%s t:%s\n",
-+ mgr->name, display ? display->name : "none");
-+ }
-+
-+ omapfb_unlock(fbdev);
-+
-+ return l;
-+}
-+
-+static ssize_t store_managers(struct device *dev,
-+ struct device_attribute *attr,
-+ const char *buf, size_t count)
-+{
-+ struct platform_device *pdev = to_platform_device(dev);
-+ struct omapfb2_device *fbdev = platform_get_drvdata(pdev);
-+ int idx;
-+ struct omap_overlay_manager *mgr;
-+ struct omap_display *display;
-+ char mgrname[10];
-+ char displayname[10];
-+ int r;
-+
-+ idx = 0;
-+ while (idx < count && buf[idx] != ' ')
-+ ++idx;
-+
-+ if (idx == count)
-+ return -EINVAL;
-+
-+ if (idx >= sizeof(mgrname))
-+ return -EINVAL;
-+
-+ strncpy(mgrname, buf, idx);
-+ mgrname[idx] = 0;
-+ idx++;
-+
-+ omapfb_lock(fbdev);
-+
-+ mgr = find_manager_by_name(fbdev, mgrname);
-+
-+ if (!mgr) {
-+ dev_err(dev, "manager not found\n");
-+ r = -EINVAL;
-+ goto err;
-+ }
-+
-+ r = sscanf(buf + idx, "t:%9s", displayname);
-+
-+ if (r != 1) {
-+ r = -EINVAL;
-+ goto err;
-+ }
-+
-+ if (strcmp(displayname, "none") == 0) {
-+ display = NULL;
-+ } else {
-+ display = find_display_by_name(fbdev, displayname);
-+
-+ if (!display) {
-+ dev_err(dev, "display not found\n");
-+ r = -EINVAL;
-+ goto err;
-+ }
-+ }
-+
-+ if (mgr->display) {
-+ r = mgr->unset_display(mgr);
-+ if (r) {
-+ dev_err(dev, "failed to unset display\n");
-+ goto err;
-+ }
-+ }
-+
-+ if (display) {
-+ r = mgr->set_display(mgr, display);
-+ if (r) {
-+ dev_err(dev, "failed to set manager\n");
-+ goto err;
-+ }
-+
-+ r = mgr->apply(mgr);
-+ if (r) {
-+ dev_err(dev, "failed to apply dispc config\n");
-+ goto err;
-+ }
-+ }
-+
-+ omapfb_unlock(fbdev);
-+ return count;
-+
-+err:
-+ omapfb_unlock(fbdev);
-+ return r;
-+}
-+
-+static ssize_t show_displays(struct device *dev, struct device_attribute *attr,
-+ char *buf)
-+{
-+ struct platform_device *pdev = to_platform_device(dev);
-+ struct omapfb2_device *fbdev = platform_get_drvdata(pdev);
-+ ssize_t l = 0, size = PAGE_SIZE;
-+ int i;
-+ struct omap_video_timings timings;
-+
-+ omapfb_lock(fbdev);
-+
-+ for (i = 0; i < fbdev->num_displays; i++) {
-+ struct omap_display *display;
-+ enum omap_dss_update_mode mode = -1;
-+ int te = 0;
-+
-+ display = fbdev->displays[i];
-+
-+ if (display->get_update_mode)
-+ mode = display->get_update_mode(display);
-+
-+ if (display->get_te)
-+ te = display->get_te(display);
-+
-+ if (display->get_timings)
-+ display->get_timings(display, &timings);
-+ else
-+ memset(&timings, 0, sizeof(timings));
-+
-+ l += snprintf(buf + l, size - l,
-+ "%s e:%d u:%d t:%d h:%u/%u/%u/%u "
-+ "v:%u/%u/%u/%u p:%u\n",
-+ display->name,
-+ display->state != OMAP_DSS_DISPLAY_DISABLED,
-+ mode, te,
-+ timings.x_res,
-+ timings.hfp, timings.hbp, timings.hsw,
-+ timings.y_res,
-+ timings.vfp, timings.vbp, timings.vsw,
-+ timings.pixel_clock);
-+ }
-+
-+ omapfb_unlock(fbdev);
-+
-+ return l;
-+}
-+
-+static ssize_t store_displays(struct device *dev,
-+ struct device_attribute *attr,
-+ const char *buf, size_t count)
-+{
-+ struct platform_device *pdev = to_platform_device(dev);
-+ struct omapfb2_device *fbdev = platform_get_drvdata(pdev);
-+ int enable;
-+ struct omap_video_timings old_timings;
-+ struct omap_video_timings new_timings;
-+ enum omap_dss_update_mode mode;
-+ struct omap_display *display = NULL;
-+ int r;
-+ int te;
-+ char str[128];
-+ char *s, *tok;
-+
-+ if (strlen(buf) > sizeof(str) - 1)
-+ return -EINVAL;
-+
-+ strcpy(str, buf);
-+
-+ /* remove trailing linefeeds */
-+ s = str + strlen(str) - 1;
-+ while (s >= str && *s == '\n') {
-+ *s = 0;
-+ s--;
-+ }
-+
-+ s = str;
-+
-+ if ((tok = strsep(&s, " ")) == 0)
-+ return -EINVAL;
-+
-+ omapfb_lock(fbdev);
-+
-+ display = find_display_by_name(fbdev, tok);
-+
-+ if (!display) {
-+ dev_err(dev, "display not found\n");
-+ r = -EINVAL;
-+ goto err;
-+ }
-+
-+ enable = display->state != OMAP_DSS_DISPLAY_DISABLED;
-+ if (display->get_update_mode)
-+ mode = display->get_update_mode(display);
-+ else
-+ mode = 0;
-+
-+ if (display->get_te)
-+ te = display->get_te(display);
-+ else
-+ te = 0;
-+
-+ if (display->get_timings)
-+ display->get_timings(display, &old_timings);
-+ else
-+ memset(&old_timings, 0, sizeof(old_timings));
-+
-+ memcpy(&new_timings, &old_timings, sizeof(new_timings));
-+
-+ while ((tok = strsep(&s, " "))) {
-+ char c, *o;
-+
-+ if (strlen(tok) < 3 || tok[1] != ':') {
-+ dev_err(dev, "illegal option\n");
-+ r = -EINVAL;
-+ goto err;
-+ }
-+
-+ c = tok[0];
-+ o = tok + 2;
-+
-+ switch (c) {
-+ case 'e':
-+ enable = simple_strtoul(o, NULL, 0);
-+ break;
-+
-+ case 'u':
-+ mode = simple_strtoul(o, NULL, 0);
-+ break;
-+
-+ case 't':
-+ te = simple_strtoul(o, NULL, 0);
-+ break;
-+
-+ case 'm': {
-+ unsigned bpp;
-+ if (omapfb_mode_to_timings(o, &new_timings, &bpp) != 0)
-+ memset(&new_timings, 0, sizeof(new_timings));
-+
-+ break;
-+ }
-+
-+ case 'h': {
-+ unsigned xres, hfp, hbp, hsw;
-+
-+ if (sscanf(o, "%u/%u/%u/%u",
-+ &xres, &hfp, &hbp, &hsw) != 4) {
-+ dev_err(dev, "illegal horizontal timings\n");
-+ r = -EINVAL;
-+ goto err;
-+ }
-+
-+ new_timings.x_res = xres;
-+ new_timings.hfp = hfp;
-+ new_timings.hbp = hbp;
-+ new_timings.hsw = hsw;
-+ break;
-+ }
-+
-+ case 'v': {
-+ unsigned yres, vfp, vbp, vsw;
-+
-+ if (sscanf(o, "%u/%u/%u/%u",
-+ &yres, &vfp, &vbp, &vsw) != 4) {
-+ dev_err(dev, "illegal vertical timings\n");
-+ r = -EINVAL;
-+ goto err;
-+ }
-+
-+ new_timings.y_res = yres;
-+ new_timings.vfp = vfp;
-+ new_timings.vbp = vbp;
-+ new_timings.vsw = vsw;
-+ break;
-+ }
-+
-+ case 'p':
-+ new_timings.pixel_clock = simple_strtoul(o, NULL, 0);
-+ break;
-+
-+ default:
-+ dev_err(dev, "unknown option %c\n", c);
-+ r = -EINVAL;
-+ goto err;
-+ }
-+ }
-+
-+ if (memcmp(&new_timings, &old_timings, sizeof(new_timings)) != 0) {
-+ if (display->set_timings)
-+ display->set_timings(display, &new_timings);
-+
-+ /* sigh, bpp is not a setting of the display, but
-+ * the overlay. */
-+ //def_display->panel->bpp = bpp;
-+ }
-+
-+ if (enable != (display->state != OMAP_DSS_DISPLAY_DISABLED)) {
-+ if (enable) {
-+ r = display->enable(display);
-+ if (r)
-+ dev_err(dev, "failed to enable display\n");
-+ } else {
-+ display->disable(display);
-+ }
-+ }
-+
-+ if (display->set_update_mode && display->get_update_mode) {
-+ if (mode != display->get_update_mode(display))
-+ display->set_update_mode(display, mode);
-+ }
-+
-+ if (display->enable_te && display->get_te) {
-+ if (te != display->get_te(display))
-+ display->enable_te(display, te);
-+ }
-+
-+ r = count;
-+err:
-+ omapfb_unlock(fbdev);
-+ return r;
-+}
-+
-+
-+static DEVICE_ATTR(framebuffers, S_IRUGO | S_IWUSR,
-+ show_framebuffers, store_framebuffers);
-+static DEVICE_ATTR(overlays, S_IRUGO | S_IWUSR,
-+ show_overlays, store_overlays);
-+static DEVICE_ATTR(managers, S_IRUGO | S_IWUSR,
-+ show_managers, store_managers);
-+static DEVICE_ATTR(displays, S_IRUGO | S_IWUSR,
-+ show_displays, store_displays);
-+
-+static struct attribute *omapfb_attrs[] = {
-+ &dev_attr_framebuffers.attr,
-+ &dev_attr_overlays.attr,
-+ &dev_attr_managers.attr,
-+ &dev_attr_displays.attr,
-+ NULL,
-+};
-+
-+static struct attribute_group omapfb_attr_group = {
-+ .attrs = omapfb_attrs,
-+};
-+
-+void omapfb_create_sysfs(struct omapfb2_device *fbdev)
-+{
-+ int r;
-+
-+ r = sysfs_create_group(&fbdev->dev->kobj, &omapfb_attr_group);
-+ if (r)
-+ dev_err(fbdev->dev, "failed to create sysfs clk file\n");
-+}
-+
-+void omapfb_remove_sysfs(struct omapfb2_device *fbdev)
-+{
-+ sysfs_remove_group(&fbdev->dev->kobj, &omapfb_attr_group);
-+}
-+
-diff --git a/drivers/video/omap2/omapfb.h b/drivers/video/omap2/omapfb.h
-new file mode 100644
-index 0000000..9ba4f1b
---- /dev/null
-+++ b/drivers/video/omap2/omapfb.h
-@@ -0,0 +1,115 @@
-+/*
-+ * linux/drivers/video/omap2/omapfb.h
-+ *
-+ * Copyright (C) 2008 Nokia Corporation
-+ * Author: Tomi Valkeinen <tomi.valkeinen@nokia.com>
-+ *
-+ * Some code and ideas taken from drivers/video/omap/ driver
-+ * by Imre Deak.
-+ *
-+ * This program is free software; you can redistribute it and/or modify it
-+ * under the terms of the GNU General Public License version 2 as published by
-+ * the Free Software Foundation.
-+ *
-+ * 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 <http://www.gnu.org/licenses/>.
-+ */
-+
-+#ifndef __DRIVERS_VIDEO_OMAP2_OMAPFB_H__
-+#define __DRIVERS_VIDEO_OMAP2_OMAPFB_H__
-+
-+#ifdef CONFIG_FB_OMAP2_DEBUG
-+#define DEBUG
-+#endif
-+
-+#ifdef DEBUG
-+extern unsigned int omapfb_debug;
-+#define DBG(format, ...) \
-+ if (omapfb_debug) \
-+ printk(KERN_DEBUG "OMAPFB: " format, ## __VA_ARGS__)
-+#else
-+#define DBG(format, ...)
-+#endif
-+
-+#define FB2OFB(fb_info) ((struct omapfb_info *)(fb_info->par))
-+
-+/* max number of overlays to which a framebuffer data can be direct */
-+#define OMAPFB_MAX_OVL_PER_FB 3
-+
-+/* appended to fb_info */
-+struct omapfb_info {
-+ int id;
-+ struct omapfb_mem_region region;
-+ atomic_t map_count;
-+ int num_overlays;
-+ struct omap_overlay *overlays[OMAPFB_MAX_OVL_PER_FB];
-+ struct omapfb2_device *fbdev;
-+};
-+
-+struct omapfb2_device {
-+ struct device *dev;
-+ struct mutex mtx;
-+
-+ u32 pseudo_palette[17];
-+
-+ int state;
-+
-+ int num_fbs;
-+ struct fb_info *fbs[10];
-+
-+ int num_displays;
-+ struct omap_display *displays[10];
-+ int num_overlays;
-+ struct omap_overlay *overlays[10];
-+ int num_managers;
-+ struct omap_overlay_manager *managers[10];
-+};
-+
-+void set_fb_fix(struct fb_info *fbi);
-+int check_fb_var(struct fb_info *fbi, struct fb_var_screeninfo *var);
-+int omapfb_realloc_fbmem(struct omapfb2_device *fbdev, int fbnum,
-+ unsigned long size);
-+int omapfb_apply_changes(struct fb_info *fbi, int init);
-+int omapfb_setup_overlay(struct fb_info *fbi, struct omap_overlay *ovl,
-+ int posx, int posy, int outw, int outh);
-+
-+void omapfb_create_sysfs(struct omapfb2_device *fbdev);
-+void omapfb_remove_sysfs(struct omapfb2_device *fbdev);
-+
-+int omapfb_ioctl(struct fb_info *fbi, unsigned int cmd, unsigned long arg);
-+
-+int omapfb_mode_to_timings(const char *mode_str,
-+ struct omap_video_timings *timings, unsigned *bpp);
-+
-+/* find the display connected to this fb, if any */
-+static inline struct omap_display *fb2display(struct fb_info *fbi)
-+{
-+ struct omapfb_info *ofbi = FB2OFB(fbi);
-+ int i;
-+
-+ /* XXX: returns the display connected to first attached overlay */
-+ for (i = 0; i < ofbi->num_overlays; i++) {
-+ if (ofbi->overlays[i]->manager)
-+ return ofbi->overlays[i]->manager->display;
-+ }
-+
-+ return NULL;
-+}
-+
-+static inline void omapfb_lock(struct omapfb2_device *fbdev)
-+{
-+ mutex_lock(&fbdev->mtx);
-+}
-+
-+static inline void omapfb_unlock(struct omapfb2_device *fbdev)
-+{
-+ mutex_unlock(&fbdev->mtx);
-+}
-+
-+
-+#endif
---
-1.5.6.3
-
diff --git a/recipes/linux/linux-omap-pm/0003-DSS-Add-generic-DVI-panel.patch b/recipes/linux/linux-omap-pm/0003-DSS-Add-generic-DVI-panel.patch
deleted file mode 100644
index d043671eaf..0000000000
--- a/recipes/linux/linux-omap-pm/0003-DSS-Add-generic-DVI-panel.patch
+++ /dev/null
@@ -1,146 +0,0 @@
-From e9f476d658fb5c7de57498d54c0acd6429439350 Mon Sep 17 00:00:00 2001
-From: Tomi Valkeinen <tomi.valkeinen@nokia.com>
-Date: Mon, 5 Jan 2009 15:06:40 +0200
-Subject: [PATCH] DSS: Add generic DVI panel
-
-You also need DSI PLL to generate pix clock for 1280x1024.
-
-Signed-off-by: Tomi Valkeinen <tomi.valkeinen@nokia.com>
----
- drivers/video/omap2/Kconfig | 5 ++
- drivers/video/omap2/Makefile | 2 +
- drivers/video/omap2/panel-generic.c | 97 +++++++++++++++++++++++++++++++++++
- 3 files changed, 104 insertions(+), 0 deletions(-)
- create mode 100644 drivers/video/omap2/panel-generic.c
-
-diff --git a/drivers/video/omap2/Kconfig b/drivers/video/omap2/Kconfig
-index 8be51a3..be00882 100644
---- a/drivers/video/omap2/Kconfig
-+++ b/drivers/video/omap2/Kconfig
-@@ -37,6 +37,11 @@ config FB_OMAP2_NUM_FBS
- menu "OMAP2/3 Display Device Drivers"
- depends on OMAP2_DSS
-
-+config PANEL_GENERIC
-+ tristate "Generic Panel"
-+ help
-+ Generic panel driver.
-+ Used for DVI output for Beagle and OMAP3 SDP.
-
- endmenu
-
-diff --git a/drivers/video/omap2/Makefile b/drivers/video/omap2/Makefile
-index 51c2e00..f471a2b 100644
---- a/drivers/video/omap2/Makefile
-+++ b/drivers/video/omap2/Makefile
-@@ -1,2 +1,4 @@
- obj-$(CONFIG_FB_OMAP2) += omapfb.o
- omapfb-y := omapfb-main.o omapfb-sysfs.o omapfb-ioctl.o
-+
-+obj-$(CONFIG_PANEL_GENERIC) += panel-generic.o
-diff --git a/drivers/video/omap2/panel-generic.c b/drivers/video/omap2/panel-generic.c
-new file mode 100644
-index 0000000..5c8fecd
---- /dev/null
-+++ b/drivers/video/omap2/panel-generic.c
-@@ -0,0 +1,97 @@
-+/*
-+ * Generic panel support
-+ *
-+ * Copyright (C) 2008 Nokia Corporation
-+ * Author: Tomi Valkeinen <tomi.valkeinen@nokia.com>
-+ *
-+ * This program is free software; you can redistribute it and/or modify it
-+ * under the terms of the GNU General Public License version 2 as published by
-+ * the Free Software Foundation.
-+ *
-+ * 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 <http://www.gnu.org/licenses/>.
-+ */
-+
-+#include <linux/module.h>
-+#include <linux/delay.h>
-+
-+#include <mach/display.h>
-+
-+static int generic_panel_init(struct omap_display *display)
-+{
-+ return 0;
-+}
-+
-+static int generic_panel_enable(struct omap_display *display)
-+{
-+ int r = 0;
-+
-+ if (display->hw_config.panel_enable)
-+ r = display->hw_config.panel_enable(display);
-+
-+ return r;
-+}
-+
-+static void generic_panel_disable(struct omap_display *display)
-+{
-+ if (display->hw_config.panel_disable)
-+ display->hw_config.panel_disable(display);
-+}
-+
-+static int generic_panel_suspend(struct omap_display *display)
-+{
-+ generic_panel_disable(display);
-+ return 0;
-+}
-+
-+static int generic_panel_resume(struct omap_display *display)
-+{
-+ return generic_panel_enable(display);
-+}
-+
-+static struct omap_panel generic_panel = {
-+ .owner = THIS_MODULE,
-+ .name = "panel-generic",
-+ .init = generic_panel_init,
-+ .enable = generic_panel_enable,
-+ .disable = generic_panel_disable,
-+ .suspend = generic_panel_suspend,
-+ .resume = generic_panel_resume,
-+
-+ .timings = {
-+ /* 640 x 480 @ 60 Hz Reduced blanking VESA CVT 0.31M3-R */
-+ .x_res = 640,
-+ .y_res = 480,
-+ .pixel_clock = 23500,
-+ .hfp = 48,
-+ .hsw = 32,
-+ .hbp = 80,
-+ .vfp = 3,
-+ .vsw = 4,
-+ .vbp = 7,
-+ },
-+
-+ .bpp = 24,
-+ .config = OMAP_DSS_LCD_TFT,
-+};
-+
-+
-+static int __init generic_panel_drv_init(void)
-+{
-+ omap_dss_register_panel(&generic_panel);
-+ return 0;
-+}
-+
-+static void __exit generic_panel_drv_exit(void)
-+{
-+ omap_dss_unregister_panel(&generic_panel);
-+}
-+
-+module_init(generic_panel_drv_init);
-+module_exit(generic_panel_drv_exit);
-+MODULE_LICENSE("GPL");
---
-1.5.6.3
-
diff --git a/recipes/linux/linux-omap-pm/0004-DSS-support-for-Beagle-Board.patch b/recipes/linux/linux-omap-pm/0004-DSS-support-for-Beagle-Board.patch
deleted file mode 100644
index 769cbcbff0..0000000000
--- a/recipes/linux/linux-omap-pm/0004-DSS-support-for-Beagle-Board.patch
+++ /dev/null
@@ -1,1607 +0,0 @@
-From 76e1700add1c77b614ed11c3e29e8a39bd4e6b8c Mon Sep 17 00:00:00 2001
-From: Tomi Valkeinen <tomi.valkeinen@nokia.com>
-Date: Mon, 29 Sep 2008 17:03:36 +0300
-Subject: [PATCH] DSS: support for Beagle Board
-
-Signed-off-by: Tomi Valkeinen <tomi.valkeinen@nokia.com>
----
- arch/arm/configs/dss_omap3_beagle_defconfig | 1437 +++++++++++++++++++++++++++
- arch/arm/mach-omap2/board-omap3beagle.c | 101 ++-
- 2 files changed, 1524 insertions(+), 14 deletions(-)
- create mode 100644 arch/arm/configs/dss_omap3_beagle_defconfig
-
-diff --git a/arch/arm/configs/dss_omap3_beagle_defconfig b/arch/arm/configs/dss_omap3_beagle_defconfig
-new file mode 100644
-index 0000000..f39167f
---- /dev/null
-+++ b/arch/arm/configs/dss_omap3_beagle_defconfig
-@@ -0,0 +1,1437 @@
-+#
-+# Automatically generated make config: don't edit
-+# Linux kernel version: 2.6.28-omap1
-+# Wed Jan 7 15:22:00 2009
-+#
-+CONFIG_ARM=y
-+CONFIG_SYS_SUPPORTS_APM_EMULATION=y
-+CONFIG_GENERIC_GPIO=y
-+CONFIG_GENERIC_TIME=y
-+CONFIG_GENERIC_CLOCKEVENTS=y
-+CONFIG_MMU=y
-+# CONFIG_NO_IOPORT is not set
-+CONFIG_GENERIC_HARDIRQS=y
-+CONFIG_STACKTRACE_SUPPORT=y
-+CONFIG_HAVE_LATENCYTOP_SUPPORT=y
-+CONFIG_LOCKDEP_SUPPORT=y
-+CONFIG_TRACE_IRQFLAGS_SUPPORT=y
-+CONFIG_HARDIRQS_SW_RESEND=y
-+CONFIG_GENERIC_IRQ_PROBE=y
-+CONFIG_RWSEM_GENERIC_SPINLOCK=y
-+# CONFIG_ARCH_HAS_ILOG2_U32 is not set
-+# CONFIG_ARCH_HAS_ILOG2_U64 is not set
-+CONFIG_GENERIC_HWEIGHT=y
-+CONFIG_GENERIC_CALIBRATE_DELAY=y
-+CONFIG_GENERIC_HARDIRQS_NO__DO_IRQ=y
-+CONFIG_VECTORS_BASE=0xffff0000
-+CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
-+
-+#
-+# General setup
-+#
-+CONFIG_EXPERIMENTAL=y
-+CONFIG_BROKEN_ON_SMP=y
-+CONFIG_INIT_ENV_ARG_LIMIT=32
-+CONFIG_LOCALVERSION=""
-+CONFIG_LOCALVERSION_AUTO=y
-+CONFIG_SWAP=y
-+CONFIG_SYSVIPC=y
-+CONFIG_SYSVIPC_SYSCTL=y
-+# CONFIG_POSIX_MQUEUE is not set
-+CONFIG_BSD_PROCESS_ACCT=y
-+# CONFIG_BSD_PROCESS_ACCT_V3 is not set
-+# CONFIG_TASKSTATS is not set
-+# CONFIG_AUDIT is not set
-+# CONFIG_IKCONFIG is not set
-+CONFIG_LOG_BUF_SHIFT=14
-+# CONFIG_CGROUPS is not set
-+CONFIG_GROUP_SCHED=y
-+CONFIG_FAIR_GROUP_SCHED=y
-+# CONFIG_RT_GROUP_SCHED is not set
-+CONFIG_USER_SCHED=y
-+# CONFIG_CGROUP_SCHED is not set
-+CONFIG_SYSFS_DEPRECATED=y
-+CONFIG_SYSFS_DEPRECATED_V2=y
-+# CONFIG_RELAY is not set
-+# CONFIG_NAMESPACES is not set
-+CONFIG_BLK_DEV_INITRD=y
-+CONFIG_INITRAMFS_SOURCE=""
-+CONFIG_CC_OPTIMIZE_FOR_SIZE=y
-+CONFIG_SYSCTL=y
-+CONFIG_EMBEDDED=y
-+CONFIG_UID16=y
-+# CONFIG_SYSCTL_SYSCALL is not set
-+CONFIG_KALLSYMS=y
-+# CONFIG_KALLSYMS_ALL is not set
-+CONFIG_KALLSYMS_EXTRA_PASS=y
-+CONFIG_HOTPLUG=y
-+CONFIG_PRINTK=y
-+CONFIG_BUG=y
-+CONFIG_ELF_CORE=y
-+CONFIG_COMPAT_BRK=y
-+CONFIG_BASE_FULL=y
-+CONFIG_FUTEX=y
-+CONFIG_ANON_INODES=y
-+CONFIG_EPOLL=y
-+CONFIG_SIGNALFD=y
-+CONFIG_TIMERFD=y
-+CONFIG_EVENTFD=y
-+CONFIG_SHMEM=y
-+CONFIG_AIO=y
-+CONFIG_VM_EVENT_COUNTERS=y
-+CONFIG_SLAB=y
-+# CONFIG_SLUB is not set
-+# CONFIG_SLOB is not set
-+# CONFIG_PROFILING is not set
-+# CONFIG_MARKERS is not set
-+CONFIG_HAVE_OPROFILE=y
-+# CONFIG_KPROBES is not set
-+CONFIG_HAVE_KPROBES=y
-+CONFIG_HAVE_KRETPROBES=y
-+CONFIG_HAVE_CLK=y
-+CONFIG_HAVE_GENERIC_DMA_COHERENT=y
-+CONFIG_SLABINFO=y
-+CONFIG_RT_MUTEXES=y
-+# CONFIG_TINY_SHMEM is not set
-+CONFIG_BASE_SMALL=0
-+CONFIG_MODULES=y
-+# CONFIG_MODULE_FORCE_LOAD is not set
-+CONFIG_MODULE_UNLOAD=y
-+# CONFIG_MODULE_FORCE_UNLOAD is not set
-+CONFIG_MODVERSIONS=y
-+CONFIG_MODULE_SRCVERSION_ALL=y
-+CONFIG_KMOD=y
-+CONFIG_BLOCK=y
-+# CONFIG_LBD is not set
-+# CONFIG_BLK_DEV_IO_TRACE is not set
-+# CONFIG_LSF is not set
-+# CONFIG_BLK_DEV_BSG is not set
-+# CONFIG_BLK_DEV_INTEGRITY is not set
-+
-+#
-+# IO Schedulers
-+#
-+CONFIG_IOSCHED_NOOP=y
-+CONFIG_IOSCHED_AS=y
-+CONFIG_IOSCHED_DEADLINE=y
-+CONFIG_IOSCHED_CFQ=y
-+CONFIG_DEFAULT_AS=y
-+# CONFIG_DEFAULT_DEADLINE is not set
-+# CONFIG_DEFAULT_CFQ is not set
-+# CONFIG_DEFAULT_NOOP is not set
-+CONFIG_DEFAULT_IOSCHED="anticipatory"
-+CONFIG_CLASSIC_RCU=y
-+# CONFIG_FREEZER is not set
-+
-+#
-+# System Type
-+#
-+# CONFIG_ARCH_AAEC2000 is not set
-+# CONFIG_ARCH_INTEGRATOR is not set
-+# CONFIG_ARCH_REALVIEW is not set
-+# CONFIG_ARCH_VERSATILE is not set
-+# CONFIG_ARCH_AT91 is not set
-+# CONFIG_ARCH_CLPS7500 is not set
-+# CONFIG_ARCH_CLPS711X is not set
-+# CONFIG_ARCH_EBSA110 is not set
-+# CONFIG_ARCH_EP93XX is not set
-+# CONFIG_ARCH_FOOTBRIDGE is not set
-+# CONFIG_ARCH_NETX is not set
-+# CONFIG_ARCH_H720X is not set
-+# CONFIG_ARCH_IMX is not set
-+# CONFIG_ARCH_IOP13XX is not set
-+# CONFIG_ARCH_IOP32X is not set
-+# CONFIG_ARCH_IOP33X is not set
-+# CONFIG_ARCH_IXP23XX is not set
-+# CONFIG_ARCH_IXP2000 is not set
-+# CONFIG_ARCH_IXP4XX is not set
-+# CONFIG_ARCH_L7200 is not set
-+# CONFIG_ARCH_KIRKWOOD is not set
-+# CONFIG_ARCH_KS8695 is not set
-+# CONFIG_ARCH_NS9XXX is not set
-+# CONFIG_ARCH_LOKI is not set
-+# CONFIG_ARCH_MV78XX0 is not set
-+# CONFIG_ARCH_MXC is not set
-+# CONFIG_ARCH_ORION5X is not set
-+# CONFIG_ARCH_PNX4008 is not set
-+# CONFIG_ARCH_PXA is not set
-+# CONFIG_ARCH_RPC is not set
-+# CONFIG_ARCH_SA1100 is not set
-+# CONFIG_ARCH_S3C2410 is not set
-+# CONFIG_ARCH_SHARK is not set
-+# CONFIG_ARCH_LH7A40X is not set
-+# CONFIG_ARCH_DAVINCI is not set
-+CONFIG_ARCH_OMAP=y
-+# CONFIG_ARCH_MSM is not set
-+
-+#
-+# TI OMAP Implementations
-+#
-+CONFIG_ARCH_OMAP_OTG=y
-+# CONFIG_ARCH_OMAP1 is not set
-+# CONFIG_ARCH_OMAP2 is not set
-+CONFIG_ARCH_OMAP3=y
-+
-+#
-+# OMAP Feature Selections
-+#
-+# CONFIG_OMAP_DEBUG_POWERDOMAIN is not set
-+# CONFIG_OMAP_DEBUG_CLOCKDOMAIN is not set
-+# CONFIG_OMAP_SMARTREFLEX is not set
-+# CONFIG_OMAP_RESET_CLOCKS is not set
-+CONFIG_OMAP_BOOT_TAG=y
-+CONFIG_OMAP_BOOT_REASON=y
-+# CONFIG_OMAP_COMPONENT_VERSION is not set
-+# CONFIG_OMAP_GPIO_SWITCH is not set
-+# CONFIG_OMAP_MUX is not set
-+# CONFIG_OMAP_MCBSP is not set
-+# CONFIG_OMAP_MMU_FWK is not set
-+# CONFIG_OMAP_MBOX_FWK is not set
-+# CONFIG_OMAP_MPU_TIMER is not set
-+CONFIG_OMAP_32K_TIMER=y
-+CONFIG_OMAP_32K_TIMER_HZ=128
-+CONFIG_OMAP_DM_TIMER=y
-+# CONFIG_OMAP_LL_DEBUG_UART1 is not set
-+# CONFIG_OMAP_LL_DEBUG_UART2 is not set
-+CONFIG_OMAP_LL_DEBUG_UART3=y
-+CONFIG_OMAP2_DSS=m
-+CONFIG_OMAP2_DSS_DEBUG_SUPPORT=y
-+# CONFIG_OMAP2_DSS_RFBI is not set
-+CONFIG_OMAP2_DSS_VENC=y
-+# CONFIG_OMAP2_DSS_SDI is not set
-+# CONFIG_OMAP2_DSS_DSI is not set
-+# CONFIG_OMAP2_DSS_FAKE_VSYNC is not set
-+CONFIG_OMAP2_DSS_MIN_FCK_PER_PCK=0
-+CONFIG_ARCH_OMAP34XX=y
-+CONFIG_ARCH_OMAP3430=y
-+
-+#
-+# OMAP Board Type
-+#
-+# CONFIG_MACH_OMAP_LDP is not set
-+# CONFIG_MACH_OMAP_3430SDP is not set
-+# CONFIG_MACH_OMAP3EVM is not set
-+CONFIG_MACH_OMAP3_BEAGLE=y
-+# CONFIG_MACH_OVERO is not set
-+# CONFIG_MACH_OMAP3_PANDORA is not set
-+CONFIG_OMAP_TICK_GPTIMER=12
-+
-+#
-+# Boot options
-+#
-+
-+#
-+# Power management
-+#
-+
-+#
-+# Processor Type
-+#
-+CONFIG_CPU_32=y
-+CONFIG_CPU_32v6K=y
-+CONFIG_CPU_V7=y
-+CONFIG_CPU_32v7=y
-+CONFIG_CPU_ABRT_EV7=y
-+CONFIG_CPU_PABRT_IFAR=y
-+CONFIG_CPU_CACHE_V7=y
-+CONFIG_CPU_CACHE_VIPT=y
-+CONFIG_CPU_COPY_V6=y
-+CONFIG_CPU_TLB_V7=y
-+CONFIG_CPU_HAS_ASID=y
-+CONFIG_CPU_CP15=y
-+CONFIG_CPU_CP15_MMU=y
-+
-+#
-+# Processor Features
-+#
-+CONFIG_ARM_THUMB=y
-+# CONFIG_ARM_THUMBEE is not set
-+# CONFIG_CPU_ICACHE_DISABLE is not set
-+# CONFIG_CPU_DCACHE_DISABLE is not set
-+# CONFIG_CPU_BPREDICT_DISABLE is not set
-+CONFIG_HAS_TLS_REG=y
-+# CONFIG_OUTER_CACHE is not set
-+
-+#
-+# Bus support
-+#
-+# CONFIG_PCI_SYSCALL is not set
-+# CONFIG_ARCH_SUPPORTS_MSI is not set
-+# CONFIG_PCCARD is not set
-+
-+#
-+# Kernel Features
-+#
-+CONFIG_TICK_ONESHOT=y
-+CONFIG_NO_HZ=y
-+CONFIG_HIGH_RES_TIMERS=y
-+CONFIG_GENERIC_CLOCKEVENTS_BUILD=y
-+CONFIG_VMSPLIT_3G=y
-+# CONFIG_VMSPLIT_2G is not set
-+# CONFIG_VMSPLIT_1G is not set
-+CONFIG_PAGE_OFFSET=0xC0000000
-+# CONFIG_PREEMPT is not set
-+CONFIG_HZ=128
-+CONFIG_AEABI=y
-+CONFIG_OABI_COMPAT=y
-+CONFIG_ARCH_FLATMEM_HAS_HOLES=y
-+# CONFIG_ARCH_SPARSEMEM_DEFAULT is not set
-+# CONFIG_ARCH_SELECT_MEMORY_MODEL is not set
-+CONFIG_SELECT_MEMORY_MODEL=y
-+CONFIG_FLATMEM_MANUAL=y
-+# CONFIG_DISCONTIGMEM_MANUAL is not set
-+# CONFIG_SPARSEMEM_MANUAL is not set
-+CONFIG_FLATMEM=y
-+CONFIG_FLAT_NODE_MEM_MAP=y
-+CONFIG_PAGEFLAGS_EXTENDED=y
-+CONFIG_SPLIT_PTLOCK_CPUS=4
-+# CONFIG_RESOURCES_64BIT is not set
-+# CONFIG_PHYS_ADDR_T_64BIT is not set
-+CONFIG_ZONE_DMA_FLAG=0
-+CONFIG_VIRT_TO_BUS=y
-+CONFIG_UNEVICTABLE_LRU=y
-+# CONFIG_LEDS is not set
-+CONFIG_ALIGNMENT_TRAP=y
-+
-+#
-+# Boot options
-+#
-+CONFIG_ZBOOT_ROM_TEXT=0x0
-+CONFIG_ZBOOT_ROM_BSS=0x0
-+CONFIG_CMDLINE="root=/dev/nfs nfsroot=192.168.0.1:/home/user/buildroot ip=192.168.0.2:192.168.0.1:192.168.0.1:255.255.255.0:tgt:eth0:off rw console=ttyS2,115200n8"
-+# CONFIG_XIP_KERNEL is not set
-+# CONFIG_KEXEC is not set
-+
-+#
-+# CPU Power Management
-+#
-+# CONFIG_CPU_FREQ is not set
-+# CONFIG_CPU_IDLE is not set
-+
-+#
-+# Floating point emulation
-+#
-+
-+#
-+# At least one emulation must be selected
-+#
-+CONFIG_FPE_NWFPE=y
-+# CONFIG_FPE_NWFPE_XP is not set
-+# CONFIG_FPE_FASTFPE is not set
-+CONFIG_VFP=y
-+CONFIG_VFPv3=y
-+# CONFIG_NEON is not set
-+
-+#
-+# Userspace binary formats
-+#
-+CONFIG_BINFMT_ELF=y
-+# CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set
-+CONFIG_HAVE_AOUT=y
-+# CONFIG_BINFMT_AOUT is not set
-+CONFIG_BINFMT_MISC=y
-+
-+#
-+# Power management options
-+#
-+CONFIG_PM=y
-+# CONFIG_PM_DEBUG is not set
-+# CONFIG_SUSPEND is not set
-+# CONFIG_APM_EMULATION is not set
-+CONFIG_ARCH_SUSPEND_POSSIBLE=y
-+CONFIG_NET=y
-+
-+#
-+# Networking options
-+#
-+CONFIG_PACKET=y
-+# CONFIG_PACKET_MMAP is not set
-+CONFIG_UNIX=y
-+CONFIG_XFRM=y
-+# CONFIG_XFRM_USER is not set
-+# CONFIG_XFRM_SUB_POLICY is not set
-+# CONFIG_XFRM_MIGRATE is not set
-+# CONFIG_XFRM_STATISTICS is not set
-+CONFIG_NET_KEY=y
-+# CONFIG_NET_KEY_MIGRATE is not set
-+CONFIG_INET=y
-+# CONFIG_IP_MULTICAST is not set
-+# CONFIG_IP_ADVANCED_ROUTER is not set
-+CONFIG_IP_FIB_HASH=y
-+CONFIG_IP_PNP=y
-+CONFIG_IP_PNP_DHCP=y
-+CONFIG_IP_PNP_BOOTP=y
-+CONFIG_IP_PNP_RARP=y
-+# CONFIG_NET_IPIP is not set
-+# CONFIG_NET_IPGRE is not set
-+# CONFIG_ARPD is not set
-+# CONFIG_SYN_COOKIES is not set
-+# CONFIG_INET_AH is not set
-+# CONFIG_INET_ESP is not set
-+# CONFIG_INET_IPCOMP is not set
-+# CONFIG_INET_XFRM_TUNNEL is not set
-+# CONFIG_INET_TUNNEL is not set
-+CONFIG_INET_XFRM_MODE_TRANSPORT=y
-+CONFIG_INET_XFRM_MODE_TUNNEL=y
-+CONFIG_INET_XFRM_MODE_BEET=y
-+# CONFIG_INET_LRO is not set
-+CONFIG_INET_DIAG=y
-+CONFIG_INET_TCP_DIAG=y
-+# CONFIG_TCP_CONG_ADVANCED is not set
-+CONFIG_TCP_CONG_CUBIC=y
-+CONFIG_DEFAULT_TCP_CONG="cubic"
-+# CONFIG_TCP_MD5SIG is not set
-+# CONFIG_IPV6 is not set
-+# CONFIG_NETWORK_SECMARK is not set
-+# CONFIG_NETFILTER is not set
-+# CONFIG_IP_DCCP is not set
-+# CONFIG_IP_SCTP is not set
-+# CONFIG_TIPC is not set
-+# CONFIG_ATM is not set
-+# CONFIG_BRIDGE is not set
-+# CONFIG_NET_DSA is not set
-+# CONFIG_VLAN_8021Q is not set
-+# CONFIG_DECNET is not set
-+# CONFIG_LLC2 is not set
-+# CONFIG_IPX is not set
-+# CONFIG_ATALK is not set
-+# CONFIG_X25 is not set
-+# CONFIG_LAPB is not set
-+# CONFIG_ECONET is not set
-+# CONFIG_WAN_ROUTER is not set
-+# CONFIG_NET_SCHED is not set
-+
-+#
-+# Network testing
-+#
-+# CONFIG_NET_PKTGEN is not set
-+# CONFIG_HAMRADIO is not set
-+# CONFIG_CAN is not set
-+# CONFIG_IRDA is not set
-+# CONFIG_BT is not set
-+# CONFIG_AF_RXRPC is not set
-+# CONFIG_PHONET is not set
-+CONFIG_WIRELESS=y
-+# CONFIG_CFG80211 is not set
-+CONFIG_WIRELESS_OLD_REGULATORY=y
-+# CONFIG_WIRELESS_EXT is not set
-+# CONFIG_MAC80211 is not set
-+# CONFIG_IEEE80211 is not set
-+# CONFIG_RFKILL is not set
-+# CONFIG_NET_9P is not set
-+
-+#
-+# Device Drivers
-+#
-+
-+#
-+# Generic Driver Options
-+#
-+CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
-+CONFIG_STANDALONE=y
-+CONFIG_PREVENT_FIRMWARE_BUILD=y
-+# CONFIG_FW_LOADER is not set
-+# CONFIG_DEBUG_DRIVER is not set
-+# CONFIG_DEBUG_DEVRES is not set
-+# CONFIG_SYS_HYPERVISOR is not set
-+# CONFIG_CONNECTOR is not set
-+CONFIG_MTD=y
-+# CONFIG_MTD_DEBUG is not set
-+# CONFIG_MTD_CONCAT is not set
-+CONFIG_MTD_PARTITIONS=y
-+# CONFIG_MTD_REDBOOT_PARTS is not set
-+# CONFIG_MTD_CMDLINE_PARTS is not set
-+# CONFIG_MTD_AFS_PARTS is not set
-+# CONFIG_MTD_AR7_PARTS is not set
-+
-+#
-+# User Modules And Translation Layers
-+#
-+CONFIG_MTD_CHAR=y
-+CONFIG_MTD_BLKDEVS=y
-+CONFIG_MTD_BLOCK=y
-+# CONFIG_FTL is not set
-+# CONFIG_NFTL is not set
-+# CONFIG_INFTL is not set
-+# CONFIG_RFD_FTL is not set
-+# CONFIG_SSFDC is not set
-+# CONFIG_MTD_OOPS is not set
-+
-+#
-+# RAM/ROM/Flash chip drivers
-+#
-+# CONFIG_MTD_CFI is not set
-+# CONFIG_MTD_JEDECPROBE is not set
-+CONFIG_MTD_MAP_BANK_WIDTH_1=y
-+CONFIG_MTD_MAP_BANK_WIDTH_2=y
-+CONFIG_MTD_MAP_BANK_WIDTH_4=y
-+# CONFIG_MTD_MAP_BANK_WIDTH_8 is not set
-+# CONFIG_MTD_MAP_BANK_WIDTH_16 is not set
-+# CONFIG_MTD_MAP_BANK_WIDTH_32 is not set
-+CONFIG_MTD_CFI_I1=y
-+CONFIG_MTD_CFI_I2=y
-+# CONFIG_MTD_CFI_I4 is not set
-+# CONFIG_MTD_CFI_I8 is not set
-+# CONFIG_MTD_RAM is not set
-+# CONFIG_MTD_ROM is not set
-+# CONFIG_MTD_ABSENT is not set
-+
-+#
-+# Mapping drivers for chip access
-+#
-+# CONFIG_MTD_COMPLEX_MAPPINGS is not set
-+# CONFIG_MTD_PLATRAM is not set
-+
-+#
-+# Self-contained MTD device drivers
-+#
-+# CONFIG_MTD_SLRAM is not set
-+# CONFIG_MTD_PHRAM is not set
-+# CONFIG_MTD_MTDRAM is not set
-+# CONFIG_MTD_BLOCK2MTD is not set
-+
-+#
-+# Disk-On-Chip Device Drivers
-+#
-+# CONFIG_MTD_DOC2000 is not set
-+# CONFIG_MTD_DOC2001 is not set
-+# CONFIG_MTD_DOC2001PLUS is not set
-+CONFIG_MTD_NAND=y
-+# CONFIG_MTD_NAND_VERIFY_WRITE is not set
-+# CONFIG_MTD_NAND_ECC_SMC is not set
-+# CONFIG_MTD_NAND_MUSEUM_IDS is not set
-+# CONFIG_MTD_NAND_GPIO is not set
-+CONFIG_MTD_NAND_OMAP2=y
-+CONFIG_MTD_NAND_IDS=y
-+# CONFIG_MTD_NAND_DISKONCHIP is not set
-+# CONFIG_MTD_NAND_NANDSIM is not set
-+# CONFIG_MTD_NAND_PLATFORM is not set
-+# CONFIG_MTD_ALAUDA is not set
-+# CONFIG_MTD_ONENAND is not set
-+
-+#
-+# UBI - Unsorted block images
-+#
-+# CONFIG_MTD_UBI is not set
-+# CONFIG_PARPORT is not set
-+CONFIG_BLK_DEV=y
-+# CONFIG_BLK_DEV_COW_COMMON is not set
-+CONFIG_BLK_DEV_LOOP=y
-+# CONFIG_BLK_DEV_CRYPTOLOOP is not set
-+# CONFIG_BLK_DEV_NBD is not set
-+# CONFIG_BLK_DEV_UB is not set
-+CONFIG_BLK_DEV_RAM=y
-+CONFIG_BLK_DEV_RAM_COUNT=16
-+CONFIG_BLK_DEV_RAM_SIZE=16384
-+# CONFIG_BLK_DEV_XIP is not set
-+# CONFIG_CDROM_PKTCDVD is not set
-+# CONFIG_ATA_OVER_ETH is not set
-+# CONFIG_MISC_DEVICES is not set
-+CONFIG_HAVE_IDE=y
-+# CONFIG_IDE is not set
-+
-+#
-+# SCSI device support
-+#
-+# CONFIG_RAID_ATTRS is not set
-+CONFIG_SCSI=y
-+CONFIG_SCSI_DMA=y
-+# CONFIG_SCSI_TGT is not set
-+# CONFIG_SCSI_NETLINK is not set
-+CONFIG_SCSI_PROC_FS=y
-+
-+#
-+# SCSI support type (disk, tape, CD-ROM)
-+#
-+CONFIG_BLK_DEV_SD=y
-+# CONFIG_CHR_DEV_ST is not set
-+# CONFIG_CHR_DEV_OSST is not set
-+# CONFIG_BLK_DEV_SR is not set
-+# CONFIG_CHR_DEV_SG is not set
-+# CONFIG_CHR_DEV_SCH is not set
-+
-+#
-+# Some SCSI devices (e.g. CD jukebox) support multiple LUNs
-+#
-+# CONFIG_SCSI_MULTI_LUN is not set
-+# CONFIG_SCSI_CONSTANTS is not set
-+# CONFIG_SCSI_LOGGING is not set
-+# CONFIG_SCSI_SCAN_ASYNC is not set
-+CONFIG_SCSI_WAIT_SCAN=m
-+
-+#
-+# SCSI Transports
-+#
-+# CONFIG_SCSI_SPI_ATTRS is not set
-+# CONFIG_SCSI_FC_ATTRS is not set
-+# CONFIG_SCSI_ISCSI_ATTRS is not set
-+# CONFIG_SCSI_SAS_LIBSAS is not set
-+# CONFIG_SCSI_SRP_ATTRS is not set
-+CONFIG_SCSI_LOWLEVEL=y
-+# CONFIG_ISCSI_TCP is not set
-+# CONFIG_SCSI_DEBUG is not set
-+# CONFIG_SCSI_DH is not set
-+# CONFIG_ATA is not set
-+# CONFIG_MD is not set
-+CONFIG_NETDEVICES=y
-+# CONFIG_DUMMY is not set
-+# CONFIG_BONDING is not set
-+# CONFIG_MACVLAN is not set
-+# CONFIG_EQUALIZER is not set
-+# CONFIG_TUN is not set
-+# CONFIG_VETH is not set
-+# CONFIG_NET_ETHERNET is not set
-+# CONFIG_NETDEV_1000 is not set
-+# CONFIG_NETDEV_10000 is not set
-+
-+#
-+# Wireless LAN
-+#
-+# CONFIG_WLAN_PRE80211 is not set
-+# CONFIG_WLAN_80211 is not set
-+# CONFIG_IWLWIFI_LEDS is not set
-+
-+#
-+# USB Network Adapters
-+#
-+# CONFIG_USB_CATC is not set
-+# CONFIG_USB_KAWETH is not set
-+# CONFIG_USB_PEGASUS is not set
-+# CONFIG_USB_RTL8150 is not set
-+# CONFIG_USB_USBNET is not set
-+# CONFIG_WAN is not set
-+# CONFIG_PPP is not set
-+# CONFIG_SLIP is not set
-+# CONFIG_NETCONSOLE is not set
-+# CONFIG_NETPOLL is not set
-+# CONFIG_NET_POLL_CONTROLLER is not set
-+# CONFIG_ISDN is not set
-+
-+#
-+# Input device support
-+#
-+CONFIG_INPUT=y
-+# CONFIG_INPUT_FF_MEMLESS is not set
-+# CONFIG_INPUT_POLLDEV is not set
-+
-+#
-+# Userland interfaces
-+#
-+# CONFIG_INPUT_MOUSEDEV is not set
-+# CONFIG_INPUT_JOYDEV is not set
-+# CONFIG_INPUT_EVDEV is not set
-+# CONFIG_INPUT_EVBUG is not set
-+
-+#
-+# Input Device Drivers
-+#
-+# CONFIG_INPUT_KEYBOARD is not set
-+# CONFIG_INPUT_MOUSE is not set
-+# CONFIG_INPUT_JOYSTICK is not set
-+# CONFIG_INPUT_TABLET is not set
-+# CONFIG_INPUT_TOUCHSCREEN is not set
-+# CONFIG_INPUT_MISC is not set
-+
-+#
-+# Hardware I/O ports
-+#
-+# CONFIG_SERIO is not set
-+# CONFIG_GAMEPORT is not set
-+
-+#
-+# Character devices
-+#
-+CONFIG_VT=y
-+CONFIG_CONSOLE_TRANSLATIONS=y
-+CONFIG_VT_CONSOLE=y
-+CONFIG_HW_CONSOLE=y
-+# CONFIG_VT_HW_CONSOLE_BINDING is not set
-+CONFIG_DEVKMEM=y
-+# CONFIG_SERIAL_NONSTANDARD is not set
-+
-+#
-+# Serial drivers
-+#
-+CONFIG_SERIAL_8250=y
-+CONFIG_SERIAL_8250_CONSOLE=y
-+CONFIG_SERIAL_8250_NR_UARTS=32
-+CONFIG_SERIAL_8250_RUNTIME_UARTS=4
-+CONFIG_SERIAL_8250_EXTENDED=y
-+CONFIG_SERIAL_8250_MANY_PORTS=y
-+CONFIG_SERIAL_8250_SHARE_IRQ=y
-+CONFIG_SERIAL_8250_DETECT_IRQ=y
-+CONFIG_SERIAL_8250_RSA=y
-+
-+#
-+# Non-8250 serial port support
-+#
-+CONFIG_SERIAL_CORE=y
-+CONFIG_SERIAL_CORE_CONSOLE=y
-+CONFIG_UNIX98_PTYS=y
-+# CONFIG_LEGACY_PTYS is not set
-+# CONFIG_IPMI_HANDLER is not set
-+CONFIG_HW_RANDOM=y
-+# CONFIG_NVRAM is not set
-+# CONFIG_R3964 is not set
-+# CONFIG_RAW_DRIVER is not set
-+# CONFIG_TCG_TPM is not set
-+CONFIG_I2C=y
-+CONFIG_I2C_BOARDINFO=y
-+CONFIG_I2C_CHARDEV=y
-+CONFIG_I2C_HELPER_AUTO=y
-+
-+#
-+# I2C Hardware Bus support
-+#
-+
-+#
-+# I2C system bus drivers (mostly embedded / system-on-chip)
-+#
-+# CONFIG_I2C_GPIO is not set
-+# CONFIG_I2C_OCORES is not set
-+CONFIG_I2C_OMAP=y
-+# CONFIG_I2C2_OMAP_BEAGLE is not set
-+# CONFIG_I2C_SIMTEC is not set
-+
-+#
-+# External I2C/SMBus adapter drivers
-+#
-+# CONFIG_I2C_PARPORT_LIGHT is not set
-+# CONFIG_I2C_TAOS_EVM is not set
-+# CONFIG_I2C_TINY_USB is not set
-+
-+#
-+# Other I2C/SMBus bus drivers
-+#
-+# CONFIG_I2C_PCA_PLATFORM is not set
-+# CONFIG_I2C_STUB is not set
-+
-+#
-+# Miscellaneous I2C Chip support
-+#
-+# CONFIG_DS1682 is not set
-+# CONFIG_AT24 is not set
-+# CONFIG_SENSORS_EEPROM is not set
-+# CONFIG_SENSORS_PCF8574 is not set
-+# CONFIG_PCF8575 is not set
-+# CONFIG_SENSORS_PCA9539 is not set
-+# CONFIG_SENSORS_PCF8591 is not set
-+# CONFIG_TPS65010 is not set
-+# CONFIG_TWL4030_MADC is not set
-+# CONFIG_TWL4030_PWRBUTTON is not set
-+# CONFIG_TWL4030_POWEROFF is not set
-+# CONFIG_SENSORS_MAX6875 is not set
-+# CONFIG_SENSORS_TSL2550 is not set
-+# CONFIG_LP5521 is not set
-+# CONFIG_I2C_DEBUG_CORE is not set
-+# CONFIG_I2C_DEBUG_ALGO is not set
-+# CONFIG_I2C_DEBUG_BUS is not set
-+# CONFIG_I2C_DEBUG_CHIP is not set
-+# CONFIG_SPI is not set
-+CONFIG_ARCH_REQUIRE_GPIOLIB=y
-+CONFIG_GPIOLIB=y
-+# CONFIG_DEBUG_GPIO is not set
-+# CONFIG_GPIO_SYSFS is not set
-+
-+#
-+# Memory mapped GPIO expanders:
-+#
-+
-+#
-+# I2C GPIO expanders:
-+#
-+# CONFIG_GPIO_MAX732X is not set
-+# CONFIG_GPIO_PCA953X is not set
-+# CONFIG_GPIO_PCF857X is not set
-+CONFIG_GPIO_TWL4030=y
-+
-+#
-+# PCI GPIO expanders:
-+#
-+
-+#
-+# SPI GPIO expanders:
-+#
-+# CONFIG_W1 is not set
-+# CONFIG_POWER_SUPPLY is not set
-+# CONFIG_HWMON is not set
-+# CONFIG_THERMAL is not set
-+# CONFIG_THERMAL_HWMON is not set
-+# CONFIG_WATCHDOG is not set
-+CONFIG_SSB_POSSIBLE=y
-+
-+#
-+# Sonics Silicon Backplane
-+#
-+# CONFIG_SSB is not set
-+
-+#
-+# Multifunction device drivers
-+#
-+# CONFIG_MFD_CORE is not set
-+# CONFIG_MFD_SM501 is not set
-+# CONFIG_MFD_ASIC3 is not set
-+# CONFIG_HTC_EGPIO is not set
-+# CONFIG_HTC_PASIC3 is not set
-+CONFIG_TWL4030_CORE=y
-+# CONFIG_TWL4030_POWER is not set
-+# CONFIG_MFD_TMIO is not set
-+# CONFIG_MFD_T7L66XB is not set
-+# CONFIG_MFD_TC6387XB is not set
-+# CONFIG_MFD_TC6393XB is not set
-+# CONFIG_PMIC_DA903X is not set
-+# CONFIG_MFD_WM8400 is not set
-+# CONFIG_MFD_WM8350_I2C is not set
-+
-+#
-+# Multimedia devices
-+#
-+
-+#
-+# Multimedia core support
-+#
-+# CONFIG_VIDEO_DEV is not set
-+# CONFIG_DVB_CORE is not set
-+# CONFIG_VIDEO_MEDIA is not set
-+
-+#
-+# Multimedia drivers
-+#
-+CONFIG_DAB=y
-+# CONFIG_USB_DABUSB is not set
-+
-+#
-+# Graphics support
-+#
-+# CONFIG_VGASTATE is not set
-+# CONFIG_VIDEO_OUTPUT_CONTROL is not set
-+CONFIG_FB=y
-+# CONFIG_FIRMWARE_EDID is not set
-+# CONFIG_FB_DDC is not set
-+# CONFIG_FB_BOOT_VESA_SUPPORT is not set
-+CONFIG_FB_CFB_FILLRECT=m
-+CONFIG_FB_CFB_COPYAREA=m
-+CONFIG_FB_CFB_IMAGEBLIT=m
-+# CONFIG_FB_CFB_REV_PIXELS_IN_BYTE is not set
-+# CONFIG_FB_SYS_FILLRECT is not set
-+# CONFIG_FB_SYS_COPYAREA is not set
-+# CONFIG_FB_SYS_IMAGEBLIT is not set
-+# CONFIG_FB_FOREIGN_ENDIAN is not set
-+# CONFIG_FB_SYS_FOPS is not set
-+# CONFIG_FB_SVGALIB is not set
-+# CONFIG_FB_MACMODES is not set
-+# CONFIG_FB_BACKLIGHT is not set
-+# CONFIG_FB_MODE_HELPERS is not set
-+# CONFIG_FB_TILEBLITTING is not set
-+
-+#
-+# Frame buffer hardware drivers
-+#
-+# CONFIG_FB_S1D13XXX is not set
-+# CONFIG_FB_VIRTUAL is not set
-+# CONFIG_FB_METRONOME is not set
-+# CONFIG_FB_MB862XX is not set
-+CONFIG_FB_OMAP_CONSISTENT_DMA_SIZE=4
-+CONFIG_FB_OMAP2=m
-+# CONFIG_FB_OMAP2_DEBUG is not set
-+# CONFIG_FB_OMAP2_FORCE_AUTO_UPDATE is not set
-+CONFIG_FB_OMAP2_NUM_FBS=3
-+
-+#
-+# OMAP2/3 Display Device Drivers
-+#
-+CONFIG_PANEL_GENERIC=m
-+# CONFIG_BACKLIGHT_LCD_SUPPORT is not set
-+
-+#
-+# Display device support
-+#
-+# CONFIG_DISPLAY_SUPPORT is not set
-+
-+#
-+# Console display driver support
-+#
-+# CONFIG_VGA_CONSOLE is not set
-+CONFIG_DUMMY_CONSOLE=y
-+# CONFIG_FRAMEBUFFER_CONSOLE is not set
-+# CONFIG_LOGO is not set
-+# CONFIG_SOUND is not set
-+# CONFIG_HID_SUPPORT is not set
-+CONFIG_USB_SUPPORT=y
-+CONFIG_USB_ARCH_HAS_HCD=y
-+CONFIG_USB_ARCH_HAS_OHCI=y
-+CONFIG_USB_ARCH_HAS_EHCI=y
-+CONFIG_USB=y
-+# CONFIG_USB_DEBUG is not set
-+# CONFIG_USB_ANNOUNCE_NEW_DEVICES is not set
-+
-+#
-+# Miscellaneous USB options
-+#
-+CONFIG_USB_DEVICEFS=y
-+CONFIG_USB_DEVICE_CLASS=y
-+# CONFIG_USB_DYNAMIC_MINORS is not set
-+CONFIG_USB_SUSPEND=y
-+CONFIG_USB_OTG=y
-+# CONFIG_USB_OTG_WHITELIST is not set
-+# CONFIG_USB_OTG_BLACKLIST_HUB is not set
-+CONFIG_USB_MON=y
-+# CONFIG_USB_WUSB is not set
-+# CONFIG_USB_WUSB_CBAF is not set
-+
-+#
-+# USB Host Controller Drivers
-+#
-+# CONFIG_USB_C67X00_HCD is not set
-+# CONFIG_USB_EHCI_HCD is not set
-+# CONFIG_USB_ISP116X_HCD is not set
-+# CONFIG_USB_OHCI_HCD is not set
-+# CONFIG_USB_SL811_HCD is not set
-+# CONFIG_USB_R8A66597_HCD is not set
-+# CONFIG_USB_HWA_HCD is not set
-+CONFIG_USB_MUSB_HDRC=y
-+CONFIG_USB_MUSB_SOC=y
-+
-+#
-+# OMAP 343x high speed USB support
-+#
-+# CONFIG_USB_MUSB_HOST is not set
-+# CONFIG_USB_MUSB_PERIPHERAL is not set
-+CONFIG_USB_MUSB_OTG=y
-+CONFIG_USB_GADGET_MUSB_HDRC=y
-+CONFIG_USB_MUSB_HDRC_HCD=y
-+# CONFIG_MUSB_PIO_ONLY is not set
-+CONFIG_USB_INVENTRA_DMA=y
-+# CONFIG_USB_TI_CPPI_DMA is not set
-+# CONFIG_USB_MUSB_DEBUG is not set
-+
-+#
-+# USB Device Class drivers
-+#
-+# CONFIG_USB_ACM is not set
-+# CONFIG_USB_PRINTER is not set
-+# CONFIG_USB_WDM is not set
-+# CONFIG_USB_TMC is not set
-+
-+#
-+# NOTE: USB_STORAGE depends on SCSI but BLK_DEV_SD may also be needed;
-+#
-+
-+#
-+# see USB_STORAGE Help for more information
-+#
-+# CONFIG_USB_STORAGE is not set
-+# CONFIG_USB_LIBUSUAL is not set
-+
-+#
-+# USB Imaging devices
-+#
-+# CONFIG_USB_MDC800 is not set
-+# CONFIG_USB_MICROTEK is not set
-+
-+#
-+# USB port drivers
-+#
-+# CONFIG_USB_SERIAL is not set
-+
-+#
-+# USB Miscellaneous drivers
-+#
-+# CONFIG_USB_EMI62 is not set
-+# CONFIG_USB_EMI26 is not set
-+# CONFIG_USB_ADUTUX is not set
-+# CONFIG_USB_SEVSEG is not set
-+# CONFIG_USB_RIO500 is not set
-+# CONFIG_USB_LEGOTOWER is not set
-+# CONFIG_USB_LCD is not set
-+# CONFIG_USB_BERRY_CHARGE is not set
-+# CONFIG_USB_LED is not set
-+# CONFIG_USB_CYPRESS_CY7C63 is not set
-+# CONFIG_USB_CYTHERM is not set
-+# CONFIG_USB_PHIDGET is not set
-+# CONFIG_USB_IDMOUSE is not set
-+# CONFIG_USB_FTDI_ELAN is not set
-+# CONFIG_USB_APPLEDISPLAY is not set
-+# CONFIG_USB_LD is not set
-+# CONFIG_USB_TRANCEVIBRATOR is not set
-+# CONFIG_USB_IOWARRIOR is not set
-+# CONFIG_USB_TEST is not set
-+# CONFIG_USB_ISIGHTFW is not set
-+# CONFIG_USB_VST is not set
-+CONFIG_USB_GADGET=y
-+# CONFIG_USB_GADGET_DEBUG is not set
-+# CONFIG_USB_GADGET_DEBUG_FILES is not set
-+# CONFIG_USB_GADGET_DEBUG_FS is not set
-+CONFIG_USB_GADGET_VBUS_DRAW=2
-+CONFIG_USB_GADGET_SELECTED=y
-+# CONFIG_USB_GADGET_AT91 is not set
-+# CONFIG_USB_GADGET_ATMEL_USBA is not set
-+# CONFIG_USB_GADGET_FSL_USB2 is not set
-+# CONFIG_USB_GADGET_LH7A40X is not set
-+# CONFIG_USB_GADGET_OMAP is not set
-+# CONFIG_USB_GADGET_PXA25X is not set
-+# CONFIG_USB_GADGET_PXA27X is not set
-+# CONFIG_USB_GADGET_S3C2410 is not set
-+# CONFIG_USB_GADGET_M66592 is not set
-+# CONFIG_USB_GADGET_AMD5536UDC is not set
-+# CONFIG_USB_GADGET_FSL_QE is not set
-+# CONFIG_USB_GADGET_NET2280 is not set
-+# CONFIG_USB_GADGET_GOKU is not set
-+# CONFIG_USB_GADGET_DUMMY_HCD is not set
-+CONFIG_USB_GADGET_DUALSPEED=y
-+# CONFIG_USB_ZERO is not set
-+CONFIG_USB_ETH=y
-+CONFIG_USB_ETH_RNDIS=y
-+# CONFIG_USB_GADGETFS is not set
-+# CONFIG_USB_FILE_STORAGE is not set
-+# CONFIG_USB_G_SERIAL is not set
-+# CONFIG_USB_MIDI_GADGET is not set
-+# CONFIG_USB_G_PRINTER is not set
-+# CONFIG_USB_CDC_COMPOSITE is not set
-+
-+#
-+# OTG and related infrastructure
-+#
-+CONFIG_USB_OTG_UTILS=y
-+# CONFIG_USB_GPIO_VBUS is not set
-+# CONFIG_ISP1301_OMAP is not set
-+CONFIG_TWL4030_USB=y
-+CONFIG_MMC=y
-+# CONFIG_MMC_DEBUG is not set
-+# CONFIG_MMC_UNSAFE_RESUME is not set
-+
-+#
-+# MMC/SD/SDIO Card Drivers
-+#
-+CONFIG_MMC_BLOCK=y
-+CONFIG_MMC_BLOCK_BOUNCE=y
-+# CONFIG_SDIO_UART is not set
-+# CONFIG_MMC_TEST is not set
-+
-+#
-+# MMC/SD/SDIO Host Controller Drivers
-+#
-+# CONFIG_MMC_SDHCI is not set
-+CONFIG_MMC_OMAP_HS=y
-+# CONFIG_MEMSTICK is not set
-+# CONFIG_ACCESSIBILITY is not set
-+# CONFIG_NEW_LEDS is not set
-+CONFIG_RTC_LIB=y
-+CONFIG_RTC_CLASS=y
-+CONFIG_RTC_HCTOSYS=y
-+CONFIG_RTC_HCTOSYS_DEVICE="rtc0"
-+# CONFIG_RTC_DEBUG is not set
-+
-+#
-+# RTC interfaces
-+#
-+CONFIG_RTC_INTF_SYSFS=y
-+CONFIG_RTC_INTF_PROC=y
-+CONFIG_RTC_INTF_DEV=y
-+# CONFIG_RTC_INTF_DEV_UIE_EMUL is not set
-+# CONFIG_RTC_DRV_TEST is not set
-+
-+#
-+# I2C RTC drivers
-+#
-+# CONFIG_RTC_DRV_DS1307 is not set
-+# CONFIG_RTC_DRV_DS1374 is not set
-+# CONFIG_RTC_DRV_DS1672 is not set
-+# CONFIG_RTC_DRV_MAX6900 is not set
-+# CONFIG_RTC_DRV_RS5C372 is not set
-+# CONFIG_RTC_DRV_ISL1208 is not set
-+# CONFIG_RTC_DRV_X1205 is not set
-+# CONFIG_RTC_DRV_PCF8563 is not set
-+# CONFIG_RTC_DRV_PCF8583 is not set
-+# CONFIG_RTC_DRV_M41T80 is not set
-+CONFIG_RTC_DRV_TWL4030=y
-+# CONFIG_RTC_DRV_S35390A is not set
-+# CONFIG_RTC_DRV_FM3130 is not set
-+# CONFIG_RTC_DRV_RX8581 is not set
-+
-+#
-+# SPI RTC drivers
-+#
-+
-+#
-+# Platform RTC drivers
-+#
-+# CONFIG_RTC_DRV_CMOS is not set
-+# CONFIG_RTC_DRV_DS1286 is not set
-+# CONFIG_RTC_DRV_DS1511 is not set
-+# CONFIG_RTC_DRV_DS1553 is not set
-+# CONFIG_RTC_DRV_DS1742 is not set
-+# CONFIG_RTC_DRV_STK17TA8 is not set
-+# CONFIG_RTC_DRV_M48T86 is not set
-+# CONFIG_RTC_DRV_M48T35 is not set
-+# CONFIG_RTC_DRV_M48T59 is not set
-+# CONFIG_RTC_DRV_BQ4802 is not set
-+# CONFIG_RTC_DRV_V3020 is not set
-+
-+#
-+# on-CPU RTC drivers
-+#
-+# CONFIG_DMADEVICES is not set
-+# CONFIG_REGULATOR is not set
-+# CONFIG_UIO is not set
-+
-+#
-+# CBUS support
-+#
-+# CONFIG_CBUS is not set
-+
-+#
-+# File systems
-+#
-+CONFIG_EXT2_FS=y
-+# CONFIG_EXT2_FS_XATTR is not set
-+# CONFIG_EXT2_FS_XIP is not set
-+CONFIG_EXT3_FS=y
-+# CONFIG_EXT3_FS_XATTR is not set
-+# CONFIG_EXT4_FS is not set
-+CONFIG_JBD=y
-+# CONFIG_JBD_DEBUG is not set
-+# CONFIG_REISERFS_FS is not set
-+# CONFIG_JFS_FS is not set
-+# CONFIG_FS_POSIX_ACL is not set
-+CONFIG_FILE_LOCKING=y
-+# CONFIG_XFS_FS is not set
-+# CONFIG_OCFS2_FS is not set
-+CONFIG_DNOTIFY=y
-+CONFIG_INOTIFY=y
-+CONFIG_INOTIFY_USER=y
-+CONFIG_QUOTA=y
-+# CONFIG_QUOTA_NETLINK_INTERFACE is not set
-+CONFIG_PRINT_QUOTA_WARNING=y
-+# CONFIG_QFMT_V1 is not set
-+CONFIG_QFMT_V2=y
-+CONFIG_QUOTACTL=y
-+# CONFIG_AUTOFS_FS is not set
-+# CONFIG_AUTOFS4_FS is not set
-+# CONFIG_FUSE_FS is not set
-+
-+#
-+# CD-ROM/DVD Filesystems
-+#
-+# CONFIG_ISO9660_FS is not set
-+# CONFIG_UDF_FS is not set
-+
-+#
-+# DOS/FAT/NT Filesystems
-+#
-+CONFIG_FAT_FS=y
-+CONFIG_MSDOS_FS=y
-+CONFIG_VFAT_FS=y
-+CONFIG_FAT_DEFAULT_CODEPAGE=437
-+CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1"
-+# CONFIG_NTFS_FS is not set
-+
-+#
-+# Pseudo filesystems
-+#
-+CONFIG_PROC_FS=y
-+CONFIG_PROC_SYSCTL=y
-+CONFIG_PROC_PAGE_MONITOR=y
-+CONFIG_SYSFS=y
-+CONFIG_TMPFS=y
-+# CONFIG_TMPFS_POSIX_ACL is not set
-+# CONFIG_HUGETLB_PAGE is not set
-+# CONFIG_CONFIGFS_FS is not set
-+
-+#
-+# Miscellaneous filesystems
-+#
-+# CONFIG_ADFS_FS is not set
-+# CONFIG_AFFS_FS is not set
-+# CONFIG_HFS_FS is not set
-+# CONFIG_HFSPLUS_FS is not set
-+# CONFIG_BEFS_FS is not set
-+# CONFIG_BFS_FS is not set
-+# CONFIG_EFS_FS is not set
-+CONFIG_JFFS2_FS=y
-+CONFIG_JFFS2_FS_DEBUG=0
-+CONFIG_JFFS2_FS_WRITEBUFFER=y
-+# CONFIG_JFFS2_FS_WBUF_VERIFY is not set
-+# CONFIG_JFFS2_SUMMARY is not set
-+# CONFIG_JFFS2_FS_XATTR is not set
-+# CONFIG_JFFS2_COMPRESSION_OPTIONS is not set
-+CONFIG_JFFS2_ZLIB=y
-+# CONFIG_JFFS2_LZO is not set
-+CONFIG_JFFS2_RTIME=y
-+# CONFIG_JFFS2_RUBIN is not set
-+# CONFIG_CRAMFS is not set
-+# CONFIG_VXFS_FS is not set
-+# CONFIG_MINIX_FS is not set
-+# CONFIG_OMFS_FS is not set
-+# CONFIG_HPFS_FS is not set
-+# CONFIG_QNX4FS_FS is not set
-+# CONFIG_ROMFS_FS is not set
-+# CONFIG_SYSV_FS is not set
-+# CONFIG_UFS_FS is not set
-+CONFIG_NETWORK_FILESYSTEMS=y
-+CONFIG_NFS_FS=y
-+CONFIG_NFS_V3=y
-+# CONFIG_NFS_V3_ACL is not set
-+CONFIG_NFS_V4=y
-+CONFIG_ROOT_NFS=y
-+# CONFIG_NFSD is not set
-+CONFIG_LOCKD=y
-+CONFIG_LOCKD_V4=y
-+CONFIG_NFS_COMMON=y
-+CONFIG_SUNRPC=y
-+CONFIG_SUNRPC_GSS=y
-+# CONFIG_SUNRPC_REGISTER_V4 is not set
-+CONFIG_RPCSEC_GSS_KRB5=y
-+# CONFIG_RPCSEC_GSS_SPKM3 is not set
-+# CONFIG_SMB_FS is not set
-+# CONFIG_CIFS is not set
-+# CONFIG_NCP_FS is not set
-+# CONFIG_CODA_FS is not set
-+# CONFIG_AFS_FS is not set
-+
-+#
-+# Partition Types
-+#
-+CONFIG_PARTITION_ADVANCED=y
-+# CONFIG_ACORN_PARTITION is not set
-+# CONFIG_OSF_PARTITION is not set
-+# CONFIG_AMIGA_PARTITION is not set
-+# CONFIG_ATARI_PARTITION is not set
-+# CONFIG_MAC_PARTITION is not set
-+CONFIG_MSDOS_PARTITION=y
-+# CONFIG_BSD_DISKLABEL is not set
-+# CONFIG_MINIX_SUBPARTITION is not set
-+# CONFIG_SOLARIS_X86_PARTITION is not set
-+# CONFIG_UNIXWARE_DISKLABEL is not set
-+# CONFIG_LDM_PARTITION is not set
-+# CONFIG_SGI_PARTITION is not set
-+# CONFIG_ULTRIX_PARTITION is not set
-+# CONFIG_SUN_PARTITION is not set
-+# CONFIG_KARMA_PARTITION is not set
-+# CONFIG_EFI_PARTITION is not set
-+# CONFIG_SYSV68_PARTITION is not set
-+CONFIG_NLS=y
-+CONFIG_NLS_DEFAULT="iso8859-1"
-+CONFIG_NLS_CODEPAGE_437=y
-+# CONFIG_NLS_CODEPAGE_737 is not set
-+# CONFIG_NLS_CODEPAGE_775 is not set
-+# CONFIG_NLS_CODEPAGE_850 is not set
-+# CONFIG_NLS_CODEPAGE_852 is not set
-+# CONFIG_NLS_CODEPAGE_855 is not set
-+# CONFIG_NLS_CODEPAGE_857 is not set
-+# CONFIG_NLS_CODEPAGE_860 is not set
-+# CONFIG_NLS_CODEPAGE_861 is not set
-+# CONFIG_NLS_CODEPAGE_862 is not set
-+# CONFIG_NLS_CODEPAGE_863 is not set
-+# CONFIG_NLS_CODEPAGE_864 is not set
-+# CONFIG_NLS_CODEPAGE_865 is not set
-+# CONFIG_NLS_CODEPAGE_866 is not set
-+# CONFIG_NLS_CODEPAGE_869 is not set
-+# CONFIG_NLS_CODEPAGE_936 is not set
-+# CONFIG_NLS_CODEPAGE_950 is not set
-+# CONFIG_NLS_CODEPAGE_932 is not set
-+# CONFIG_NLS_CODEPAGE_949 is not set
-+# CONFIG_NLS_CODEPAGE_874 is not set
-+# CONFIG_NLS_ISO8859_8 is not set
-+# CONFIG_NLS_CODEPAGE_1250 is not set
-+# CONFIG_NLS_CODEPAGE_1251 is not set
-+# CONFIG_NLS_ASCII is not set
-+CONFIG_NLS_ISO8859_1=y
-+# CONFIG_NLS_ISO8859_2 is not set
-+# CONFIG_NLS_ISO8859_3 is not set
-+# CONFIG_NLS_ISO8859_4 is not set
-+# CONFIG_NLS_ISO8859_5 is not set
-+# CONFIG_NLS_ISO8859_6 is not set
-+# CONFIG_NLS_ISO8859_7 is not set
-+# CONFIG_NLS_ISO8859_9 is not set
-+# CONFIG_NLS_ISO8859_13 is not set
-+# CONFIG_NLS_ISO8859_14 is not set
-+# CONFIG_NLS_ISO8859_15 is not set
-+# CONFIG_NLS_KOI8_R is not set
-+# CONFIG_NLS_KOI8_U is not set
-+# CONFIG_NLS_UTF8 is not set
-+# CONFIG_DLM is not set
-+
-+#
-+# Kernel hacking
-+#
-+# CONFIG_PRINTK_TIME is not set
-+CONFIG_ENABLE_WARN_DEPRECATED=y
-+CONFIG_ENABLE_MUST_CHECK=y
-+CONFIG_FRAME_WARN=1024
-+CONFIG_MAGIC_SYSRQ=y
-+# CONFIG_UNUSED_SYMBOLS is not set
-+CONFIG_DEBUG_FS=y
-+# CONFIG_HEADERS_CHECK is not set
-+CONFIG_DEBUG_KERNEL=y
-+# CONFIG_DEBUG_SHIRQ is not set
-+CONFIG_DETECT_SOFTLOCKUP=y
-+# CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC is not set
-+CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC_VALUE=0
-+CONFIG_SCHED_DEBUG=y
-+# CONFIG_SCHEDSTATS is not set
-+# CONFIG_TIMER_STATS is not set
-+# CONFIG_DEBUG_OBJECTS is not set
-+# CONFIG_DEBUG_SLAB is not set
-+# CONFIG_DEBUG_RT_MUTEXES is not set
-+# CONFIG_RT_MUTEX_TESTER is not set
-+# CONFIG_DEBUG_SPINLOCK is not set
-+CONFIG_DEBUG_MUTEXES=y
-+# CONFIG_DEBUG_LOCK_ALLOC is not set
-+# CONFIG_PROVE_LOCKING is not set
-+# CONFIG_LOCK_STAT is not set
-+# CONFIG_DEBUG_SPINLOCK_SLEEP is not set
-+# CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set
-+# CONFIG_DEBUG_KOBJECT is not set
-+CONFIG_DEBUG_BUGVERBOSE=y
-+CONFIG_DEBUG_INFO=y
-+# CONFIG_DEBUG_VM is not set
-+# CONFIG_DEBUG_WRITECOUNT is not set
-+# CONFIG_DEBUG_MEMORY_INIT is not set
-+# CONFIG_DEBUG_LIST is not set
-+# CONFIG_DEBUG_SG is not set
-+CONFIG_FRAME_POINTER=y
-+# CONFIG_BOOT_PRINTK_DELAY is not set
-+# CONFIG_RCU_TORTURE_TEST is not set
-+# CONFIG_RCU_CPU_STALL_DETECTOR is not set
-+# CONFIG_BACKTRACE_SELF_TEST is not set
-+# CONFIG_DEBUG_BLOCK_EXT_DEVT is not set
-+# CONFIG_FAULT_INJECTION is not set
-+# CONFIG_LATENCYTOP is not set
-+CONFIG_HAVE_FUNCTION_TRACER=y
-+
-+#
-+# Tracers
-+#
-+# CONFIG_FUNCTION_TRACER is not set
-+# CONFIG_IRQSOFF_TRACER is not set
-+# CONFIG_SCHED_TRACER is not set
-+# CONFIG_CONTEXT_SWITCH_TRACER is not set
-+# CONFIG_BOOT_TRACER is not set
-+# CONFIG_STACK_TRACER is not set
-+# CONFIG_DYNAMIC_PRINTK_DEBUG is not set
-+# CONFIG_SAMPLES is not set
-+CONFIG_HAVE_ARCH_KGDB=y
-+# CONFIG_KGDB is not set
-+CONFIG_DEBUG_USER=y
-+CONFIG_DEBUG_ERRORS=y
-+# CONFIG_DEBUG_STACK_USAGE is not set
-+# CONFIG_DEBUG_LL is not set
-+
-+#
-+# Security options
-+#
-+# CONFIG_KEYS is not set
-+# CONFIG_SECURITY is not set
-+# CONFIG_SECURITYFS is not set
-+# CONFIG_SECURITY_FILE_CAPABILITIES is not set
-+CONFIG_CRYPTO=y
-+
-+#
-+# Crypto core or helper
-+#
-+# CONFIG_CRYPTO_FIPS is not set
-+CONFIG_CRYPTO_ALGAPI=y
-+CONFIG_CRYPTO_ALGAPI2=y
-+CONFIG_CRYPTO_AEAD2=y
-+CONFIG_CRYPTO_BLKCIPHER=y
-+CONFIG_CRYPTO_BLKCIPHER2=y
-+CONFIG_CRYPTO_HASH2=y
-+CONFIG_CRYPTO_RNG2=y
-+CONFIG_CRYPTO_MANAGER=y
-+CONFIG_CRYPTO_MANAGER2=y
-+# CONFIG_CRYPTO_GF128MUL is not set
-+# CONFIG_CRYPTO_NULL is not set
-+# CONFIG_CRYPTO_CRYPTD is not set
-+# CONFIG_CRYPTO_AUTHENC is not set
-+# CONFIG_CRYPTO_TEST is not set
-+
-+#
-+# Authenticated Encryption with Associated Data
-+#
-+# CONFIG_CRYPTO_CCM is not set
-+# CONFIG_CRYPTO_GCM is not set
-+# CONFIG_CRYPTO_SEQIV is not set
-+
-+#
-+# Block modes
-+#
-+CONFIG_CRYPTO_CBC=y
-+# CONFIG_CRYPTO_CTR is not set
-+# CONFIG_CRYPTO_CTS is not set
-+CONFIG_CRYPTO_ECB=m
-+# CONFIG_CRYPTO_LRW is not set
-+CONFIG_CRYPTO_PCBC=m
-+# CONFIG_CRYPTO_XTS is not set
-+
-+#
-+# Hash modes
-+#
-+# CONFIG_CRYPTO_HMAC is not set
-+# CONFIG_CRYPTO_XCBC is not set
-+
-+#
-+# Digest
-+#
-+# CONFIG_CRYPTO_CRC32C is not set
-+# CONFIG_CRYPTO_MD4 is not set
-+CONFIG_CRYPTO_MD5=y
-+# CONFIG_CRYPTO_MICHAEL_MIC is not set
-+# CONFIG_CRYPTO_RMD128 is not set
-+# CONFIG_CRYPTO_RMD160 is not set
-+# CONFIG_CRYPTO_RMD256 is not set
-+# CONFIG_CRYPTO_RMD320 is not set
-+# CONFIG_CRYPTO_SHA1 is not set
-+# CONFIG_CRYPTO_SHA256 is not set
-+# CONFIG_CRYPTO_SHA512 is not set
-+# CONFIG_CRYPTO_TGR192 is not set
-+# CONFIG_CRYPTO_WP512 is not set
-+
-+#
-+# Ciphers
-+#
-+# CONFIG_CRYPTO_AES is not set
-+# CONFIG_CRYPTO_ANUBIS is not set
-+# CONFIG_CRYPTO_ARC4 is not set
-+# CONFIG_CRYPTO_BLOWFISH is not set
-+# CONFIG_CRYPTO_CAMELLIA is not set
-+# CONFIG_CRYPTO_CAST5 is not set
-+# CONFIG_CRYPTO_CAST6 is not set
-+CONFIG_CRYPTO_DES=y
-+# CONFIG_CRYPTO_FCRYPT is not set
-+# CONFIG_CRYPTO_KHAZAD is not set
-+# CONFIG_CRYPTO_SALSA20 is not set
-+# CONFIG_CRYPTO_SEED is not set
-+# CONFIG_CRYPTO_SERPENT is not set
-+# CONFIG_CRYPTO_TEA is not set
-+# CONFIG_CRYPTO_TWOFISH is not set
-+
-+#
-+# Compression
-+#
-+# CONFIG_CRYPTO_DEFLATE is not set
-+# CONFIG_CRYPTO_LZO is not set
-+
-+#
-+# Random Number Generation
-+#
-+# CONFIG_CRYPTO_ANSI_CPRNG is not set
-+CONFIG_CRYPTO_HW=y
-+
-+#
-+# Library routines
-+#
-+CONFIG_BITREVERSE=y
-+CONFIG_CRC_CCITT=y
-+# CONFIG_CRC16 is not set
-+# CONFIG_CRC_T10DIF is not set
-+# CONFIG_CRC_ITU_T is not set
-+CONFIG_CRC32=y
-+# CONFIG_CRC7 is not set
-+CONFIG_LIBCRC32C=y
-+CONFIG_ZLIB_INFLATE=y
-+CONFIG_ZLIB_DEFLATE=y
-+CONFIG_PLIST=y
-+CONFIG_HAS_IOMEM=y
-+CONFIG_HAS_IOPORT=y
-+CONFIG_HAS_DMA=y
-diff --git a/arch/arm/mach-omap2/board-omap3beagle.c b/arch/arm/mach-omap2/board-omap3beagle.c
-index fe97bab..61f0fc9 100644
---- a/arch/arm/mach-omap2/board-omap3beagle.c
-+++ b/arch/arm/mach-omap2/board-omap3beagle.c
---- /tmp/board-omap3beagle.c 2009-02-17 22:48:44.000000000 +0100
-+++ git/arch/arm/mach-omap2/board-omap3beagle.c 2009-02-17 22:49:05.000000000 +0100
-@@ -45,6 +45,8 @@
- #include <mach/mux.h>
- #include <mach/omap-pm.h>
- #include <mach/clock.h>
-+#include <mach/omapfb.h>
-+#include <mach/display.h>
-
- #include "twl4030-generic-scripts.h"
- #include "mmc-twl4030.h"
-@@ -238,15 +240,6 @@ static void __init omap3_beagle_init_irq(void)
- omap_gpio_init();
- }
-
--static struct platform_device omap3_beagle_lcd_device = {
-- .name = "omap3beagle_lcd",
-- .id = -1,
--};
--
--static struct omap_lcd_config omap3_beagle_lcd_config __initdata = {
-- .ctrl_name = "internal",
--};
--
- static struct gpio_led gpio_leds[] = {
- {
- .name = "beagleboard::usr0",
-@@ -300,13 +293,94 @@ static struct platform_device keys_gpio = {
- },
- };
-
-+/* DSS */
-+
-+static int beagle_enable_dvi(struct omap_display *display)
-+{
-+ if (display->hw_config.panel_reset_gpio != -1)
-+ gpio_direction_output(display->hw_config.panel_reset_gpio, 1);
-+
-+ return 0;
-+}
-+
-+static void beagle_disable_dvi(struct omap_display *display)
-+{
-+ if (display->hw_config.panel_reset_gpio != -1)
-+ gpio_direction_output(display->hw_config.panel_reset_gpio, 0);
-+}
-+
-+static struct omap_display_data beagle_display_data_dvi = {
-+ .type = OMAP_DISPLAY_TYPE_DPI,
-+ .name = "dvi",
-+ .panel_name = "panel-generic",
-+ .u.dpi.data_lines = 24,
-+ .panel_reset_gpio = 170,
-+ .panel_enable = beagle_enable_dvi,
-+ .panel_disable = beagle_disable_dvi,
-+};
-+
-+
-+static int beagle_panel_enable_tv(struct omap_display *display)
-+{
-+#define ENABLE_VDAC_DEDICATED 0x03
-+#define ENABLE_VDAC_DEV_GRP 0x20
-+
-+ twl4030_i2c_write_u8(TWL4030_MODULE_PM_RECEIVER,
-+ ENABLE_VDAC_DEDICATED,
-+ TWL4030_VDAC_DEDICATED);
-+ twl4030_i2c_write_u8(TWL4030_MODULE_PM_RECEIVER,
-+ ENABLE_VDAC_DEV_GRP, TWL4030_VDAC_DEV_GRP);
-+
-+ return 0;
-+}
-+
-+static void beagle_panel_disable_tv(struct omap_display *display)
-+{
-+ twl4030_i2c_write_u8(TWL4030_MODULE_PM_RECEIVER, 0x00,
-+ TWL4030_VDAC_DEDICATED);
-+ twl4030_i2c_write_u8(TWL4030_MODULE_PM_RECEIVER, 0x00,
-+ TWL4030_VDAC_DEV_GRP);
-+}
-+
-+static struct omap_display_data beagle_display_data_tv = {
-+ .type = OMAP_DISPLAY_TYPE_VENC,
-+ .name = "tv",
-+ .u.venc.type = OMAP_DSS_VENC_TYPE_SVIDEO,
-+ .panel_enable = beagle_panel_enable_tv,
-+ .panel_disable = beagle_panel_disable_tv,
-+};
-+
-+static struct omap_dss_platform_data beagle_dss_data = {
-+ .num_displays = 2,
-+ .displays = {
-+ &beagle_display_data_dvi,
-+ &beagle_display_data_tv,
-+ }
-+};
-+
-+static struct platform_device beagle_dss_device = {
-+ .name = "omap-dss",
-+ .id = -1,
-+ .dev = {
-+ .platform_data = &beagle_dss_data,
-+ },
-+};
-+
-+static void __init beagle_display_init(void)
-+{
-+ int r;
-+
-+ r = gpio_request(beagle_display_data_dvi.panel_reset_gpio, "DVI reset");
-+ if (r < 0)
-+ printk(KERN_ERR "Unable to get DVI reset GPIO\n");
-+}
-+
- static struct omap_board_config_kernel omap3_beagle_config[] __initdata = {
- { OMAP_TAG_UART, &omap3_beagle_uart_config },
-- { OMAP_TAG_LCD, &omap3_beagle_lcd_config },
- };
-
- static struct platform_device *omap3_beagle_devices[] __initdata = {
-- &omap3_beagle_lcd_device,
-+ &beagle_dss_device,
- &leds_gpio,
- &keys_gpio,
- };
-@@ -359,18 +433,17 @@ static void __init omap3_beagle_init(void)
- omap_serial_init();
-
- omap_cfg_reg(J25_34XX_GPIO170);
-- gpio_request(170, "DVI_nPD");
-- /* REVISIT leave DVI powered down until it's needed ... */
-- gpio_direction_output(170, true);
-
- usb_musb_init();
- usb_ehci_init();
- omap3beagle_flash_init();
-+ beagle_display_init();
- }
-
- static void __init omap3_beagle_map_io(void)
- {
- omap2_set_globals_343x();
-+ omap2_set_sdram_vram(1280 * 1024 * 4 * 3, 0);
- omap2_map_common_io();
- }
-
---
-1.5.6.3
-
diff --git a/recipes/linux/linux-omap-pm/0005-DSS-Sharp-LS037V7DW01-LCD-Panel-driver.patch b/recipes/linux/linux-omap-pm/0005-DSS-Sharp-LS037V7DW01-LCD-Panel-driver.patch
deleted file mode 100644
index 57cec272fb..0000000000
--- a/recipes/linux/linux-omap-pm/0005-DSS-Sharp-LS037V7DW01-LCD-Panel-driver.patch
+++ /dev/null
@@ -1,156 +0,0 @@
-From b0d997fcd65c4389e3d4a5e375774e51ebe6186a Mon Sep 17 00:00:00 2001
-From: Tomi Valkeinen <tomi.valkeinen@nokia.com>
-Date: Fri, 14 Nov 2008 15:47:19 +0200
-Subject: [PATCH] DSS: Sharp LS037V7DW01 LCD Panel driver
-
-Signed-off-by: Tomi Valkeinen <tomi.valkeinen@nokia.com>
----
- drivers/video/omap2/Kconfig | 7 ++-
- drivers/video/omap2/Makefile | 1 +
- drivers/video/omap2/panel-sharp-ls037v7dw01.c | 109 +++++++++++++++++++++++++
- 3 files changed, 116 insertions(+), 1 deletions(-)
- create mode 100644 drivers/video/omap2/panel-sharp-ls037v7dw01.c
-
-diff --git a/drivers/video/omap2/Kconfig b/drivers/video/omap2/Kconfig
-index be00882..b54c955 100644
---- a/drivers/video/omap2/Kconfig
-+++ b/drivers/video/omap2/Kconfig
-@@ -43,5 +43,10 @@ config PANEL_GENERIC
- Generic panel driver.
- Used for DVI output for Beagle and OMAP3 SDP.
-
--endmenu
-+config PANEL_SHARP_LS037V7DW01
-+ tristate "Sharp LS037V7DW01 LCD Panel"
-+ depends on OMAP2_DSS
-+ help
-+ LCD Panel used in TI's SDP3430 and EVM boards
-
-+endmenu
-diff --git a/drivers/video/omap2/Makefile b/drivers/video/omap2/Makefile
-index f471a2b..fe6858e 100644
---- a/drivers/video/omap2/Makefile
-+++ b/drivers/video/omap2/Makefile
-@@ -2,3 +2,4 @@ obj-$(CONFIG_FB_OMAP2) += omapfb.o
- omapfb-y := omapfb-main.o omapfb-sysfs.o omapfb-ioctl.o
-
- obj-$(CONFIG_PANEL_GENERIC) += panel-generic.o
-+obj-$(CONFIG_PANEL_SHARP_LS037V7DW01) += panel-sharp-ls037v7dw01.o
-diff --git a/drivers/video/omap2/panel-sharp-ls037v7dw01.c b/drivers/video/omap2/panel-sharp-ls037v7dw01.c
-new file mode 100644
-index 0000000..7d67b6d
---- /dev/null
-+++ b/drivers/video/omap2/panel-sharp-ls037v7dw01.c
-@@ -0,0 +1,109 @@
-+/*
-+ * LCD panel driver for Sharp LS037V7DW01
-+ *
-+ * Copyright (C) 2008 Nokia Corporation
-+ * Author: Tomi Valkeinen <tomi.valkeinen@nokia.com>
-+ *
-+ * This program is free software; you can redistribute it and/or modify it
-+ * under the terms of the GNU General Public License version 2 as published by
-+ * the Free Software Foundation.
-+ *
-+ * 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 <http://www.gnu.org/licenses/>.
-+ */
-+
-+#include <linux/module.h>
-+#include <linux/delay.h>
-+
-+#include <mach/display.h>
-+
-+static int sharp_ls_panel_init(struct omap_display *display)
-+{
-+ return 0;
-+}
-+
-+static void sharp_ls_panel_cleanup(struct omap_display *display)
-+{
-+}
-+
-+static int sharp_ls_panel_enable(struct omap_display *display)
-+{
-+ int r = 0;
-+
-+ if (display->hw_config.panel_enable)
-+ r = display->hw_config.panel_enable(display);
-+
-+ return r;
-+}
-+
-+static void sharp_ls_panel_disable(struct omap_display *display)
-+{
-+ if (display->hw_config.panel_disable)
-+ display->hw_config.panel_disable(display);
-+}
-+
-+static int sharp_ls_panel_suspend(struct omap_display *display)
-+{
-+ sharp_ls_panel_disable(display);
-+ return 0;
-+}
-+
-+static int sharp_ls_panel_resume(struct omap_display *display)
-+{
-+ return sharp_ls_panel_enable(display);
-+}
-+
-+static struct omap_panel sharp_ls_panel = {
-+ .owner = THIS_MODULE,
-+ .name = "sharp-ls037v7dw01",
-+ .init = sharp_ls_panel_init,
-+ .cleanup = sharp_ls_panel_cleanup,
-+ .enable = sharp_ls_panel_enable,
-+ .disable = sharp_ls_panel_disable,
-+ .suspend = sharp_ls_panel_suspend,
-+ .resume = sharp_ls_panel_resume,
-+ /*.set_mode = sharp_ls_set_mode, */
-+
-+ .timings = {
-+ .x_res = 480,
-+ .y_res = 640,
-+
-+ .pixel_clock = 19200,
-+
-+ .hsw = 2,
-+ .hfp = 1,
-+ .hbp = 28,
-+
-+ .vsw = 1,
-+ .vfp = 1,
-+ .vbp = 1,
-+ },
-+
-+ .acb = 0x28,
-+
-+ .config = OMAP_DSS_LCD_TFT | OMAP_DSS_LCD_IVS |
-+ OMAP_DSS_LCD_IHS | OMAP_DSS_LCD_IPC,
-+
-+ .bpp = 16,
-+};
-+
-+
-+static int __init sharp_ls_panel_drv_init(void)
-+{
-+ omap_dss_register_panel(&sharp_ls_panel);
-+ return 0;
-+}
-+
-+static void __exit sharp_ls_panel_drv_exit(void)
-+{
-+ omap_dss_unregister_panel(&sharp_ls_panel);
-+}
-+
-+module_init(sharp_ls_panel_drv_init);
-+module_exit(sharp_ls_panel_drv_exit);
-+MODULE_LICENSE("GPL");
---
-1.5.6.3
-
diff --git a/recipes/linux/linux-omap-pm/0006-DSS-Support-for-OMAP3-SDP-board.patch b/recipes/linux/linux-omap-pm/0006-DSS-Support-for-OMAP3-SDP-board.patch
deleted file mode 100644
index e73264ebb6..0000000000
--- a/recipes/linux/linux-omap-pm/0006-DSS-Support-for-OMAP3-SDP-board.patch
+++ /dev/null
@@ -1,1877 +0,0 @@
-From 7806a298a80d260473dc488c7cea2a72fe96866f Mon Sep 17 00:00:00 2001
-From: Tomi Valkeinen <tomi.valkeinen@nokia.com>
-Date: Fri, 14 Nov 2008 15:47:55 +0200
-Subject: [PATCH] DSS: Support for OMAP3 SDP board
-
-Signed-off-by: Tomi Valkeinen <tomi.valkeinen@nokia.com>
----
- arch/arm/configs/dss_omap_3430sdp_defconfig | 1603 +++++++++++++++++++++++++++
- arch/arm/mach-omap2/board-3430sdp.c | 215 ++++-
- 2 files changed, 1809 insertions(+), 9 deletions(-)
- create mode 100644 arch/arm/configs/dss_omap_3430sdp_defconfig
-
-diff --git a/arch/arm/configs/dss_omap_3430sdp_defconfig b/arch/arm/configs/dss_omap_3430sdp_defconfig
-new file mode 100644
-index 0000000..42d7f5e
---- /dev/null
-+++ b/arch/arm/configs/dss_omap_3430sdp_defconfig
-@@ -0,0 +1,1603 @@
-+#
-+# Automatically generated make config: don't edit
-+# Linux kernel version: 2.6.28-omap1
-+# Wed Jan 7 15:22:34 2009
-+#
-+CONFIG_ARM=y
-+CONFIG_SYS_SUPPORTS_APM_EMULATION=y
-+CONFIG_GENERIC_GPIO=y
-+CONFIG_GENERIC_TIME=y
-+CONFIG_GENERIC_CLOCKEVENTS=y
-+CONFIG_MMU=y
-+# CONFIG_NO_IOPORT is not set
-+CONFIG_GENERIC_HARDIRQS=y
-+CONFIG_STACKTRACE_SUPPORT=y
-+CONFIG_HAVE_LATENCYTOP_SUPPORT=y
-+CONFIG_LOCKDEP_SUPPORT=y
-+CONFIG_TRACE_IRQFLAGS_SUPPORT=y
-+CONFIG_HARDIRQS_SW_RESEND=y
-+CONFIG_GENERIC_IRQ_PROBE=y
-+CONFIG_RWSEM_GENERIC_SPINLOCK=y
-+# CONFIG_ARCH_HAS_ILOG2_U32 is not set
-+# CONFIG_ARCH_HAS_ILOG2_U64 is not set
-+CONFIG_GENERIC_HWEIGHT=y
-+CONFIG_GENERIC_CALIBRATE_DELAY=y
-+CONFIG_GENERIC_HARDIRQS_NO__DO_IRQ=y
-+CONFIG_VECTORS_BASE=0xffff0000
-+CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
-+
-+#
-+# General setup
-+#
-+CONFIG_EXPERIMENTAL=y
-+CONFIG_BROKEN_ON_SMP=y
-+CONFIG_INIT_ENV_ARG_LIMIT=32
-+CONFIG_LOCALVERSION=""
-+# CONFIG_LOCALVERSION_AUTO is not set
-+CONFIG_SWAP=y
-+CONFIG_SYSVIPC=y
-+CONFIG_SYSVIPC_SYSCTL=y
-+# CONFIG_POSIX_MQUEUE is not set
-+CONFIG_BSD_PROCESS_ACCT=y
-+# CONFIG_BSD_PROCESS_ACCT_V3 is not set
-+# CONFIG_TASKSTATS is not set
-+# CONFIG_AUDIT is not set
-+# CONFIG_IKCONFIG is not set
-+CONFIG_LOG_BUF_SHIFT=14
-+# CONFIG_CGROUPS is not set
-+CONFIG_GROUP_SCHED=y
-+CONFIG_FAIR_GROUP_SCHED=y
-+# CONFIG_RT_GROUP_SCHED is not set
-+CONFIG_USER_SCHED=y
-+# CONFIG_CGROUP_SCHED is not set
-+CONFIG_SYSFS_DEPRECATED=y
-+CONFIG_SYSFS_DEPRECATED_V2=y
-+# CONFIG_RELAY is not set
-+# CONFIG_NAMESPACES is not set
-+CONFIG_BLK_DEV_INITRD=y
-+CONFIG_INITRAMFS_SOURCE=""
-+CONFIG_CC_OPTIMIZE_FOR_SIZE=y
-+CONFIG_SYSCTL=y
-+CONFIG_EMBEDDED=y
-+CONFIG_UID16=y
-+# CONFIG_SYSCTL_SYSCALL is not set
-+CONFIG_KALLSYMS=y
-+# CONFIG_KALLSYMS_ALL is not set
-+CONFIG_KALLSYMS_EXTRA_PASS=y
-+CONFIG_HOTPLUG=y
-+CONFIG_PRINTK=y
-+CONFIG_BUG=y
-+CONFIG_ELF_CORE=y
-+CONFIG_COMPAT_BRK=y
-+CONFIG_BASE_FULL=y
-+CONFIG_FUTEX=y
-+CONFIG_ANON_INODES=y
-+CONFIG_EPOLL=y
-+CONFIG_SIGNALFD=y
-+CONFIG_TIMERFD=y
-+CONFIG_EVENTFD=y
-+CONFIG_SHMEM=y
-+CONFIG_AIO=y
-+CONFIG_VM_EVENT_COUNTERS=y
-+CONFIG_SLAB=y
-+# CONFIG_SLUB is not set
-+# CONFIG_SLOB is not set
-+# CONFIG_PROFILING is not set
-+# CONFIG_MARKERS is not set
-+CONFIG_HAVE_OPROFILE=y
-+# CONFIG_KPROBES is not set
-+CONFIG_HAVE_KPROBES=y
-+CONFIG_HAVE_KRETPROBES=y
-+CONFIG_HAVE_CLK=y
-+CONFIG_HAVE_GENERIC_DMA_COHERENT=y
-+CONFIG_SLABINFO=y
-+CONFIG_RT_MUTEXES=y
-+# CONFIG_TINY_SHMEM is not set
-+CONFIG_BASE_SMALL=0
-+CONFIG_MODULES=y
-+# CONFIG_MODULE_FORCE_LOAD is not set
-+CONFIG_MODULE_UNLOAD=y
-+# CONFIG_MODULE_FORCE_UNLOAD is not set
-+CONFIG_MODVERSIONS=y
-+CONFIG_MODULE_SRCVERSION_ALL=y
-+CONFIG_KMOD=y
-+CONFIG_BLOCK=y
-+# CONFIG_LBD is not set
-+# CONFIG_BLK_DEV_IO_TRACE is not set
-+# CONFIG_LSF is not set
-+# CONFIG_BLK_DEV_BSG is not set
-+# CONFIG_BLK_DEV_INTEGRITY is not set
-+
-+#
-+# IO Schedulers
-+#
-+CONFIG_IOSCHED_NOOP=y
-+CONFIG_IOSCHED_AS=y
-+CONFIG_IOSCHED_DEADLINE=y
-+CONFIG_IOSCHED_CFQ=y
-+CONFIG_DEFAULT_AS=y
-+# CONFIG_DEFAULT_DEADLINE is not set
-+# CONFIG_DEFAULT_CFQ is not set
-+# CONFIG_DEFAULT_NOOP is not set
-+CONFIG_DEFAULT_IOSCHED="anticipatory"
-+CONFIG_CLASSIC_RCU=y
-+CONFIG_FREEZER=y
-+
-+#
-+# System Type
-+#
-+# CONFIG_ARCH_AAEC2000 is not set
-+# CONFIG_ARCH_INTEGRATOR is not set
-+# CONFIG_ARCH_REALVIEW is not set
-+# CONFIG_ARCH_VERSATILE is not set
-+# CONFIG_ARCH_AT91 is not set
-+# CONFIG_ARCH_CLPS7500 is not set
-+# CONFIG_ARCH_CLPS711X is not set
-+# CONFIG_ARCH_EBSA110 is not set
-+# CONFIG_ARCH_EP93XX is not set
-+# CONFIG_ARCH_FOOTBRIDGE is not set
-+# CONFIG_ARCH_NETX is not set
-+# CONFIG_ARCH_H720X is not set
-+# CONFIG_ARCH_IMX is not set
-+# CONFIG_ARCH_IOP13XX is not set
-+# CONFIG_ARCH_IOP32X is not set
-+# CONFIG_ARCH_IOP33X is not set
-+# CONFIG_ARCH_IXP23XX is not set
-+# CONFIG_ARCH_IXP2000 is not set
-+# CONFIG_ARCH_IXP4XX is not set
-+# CONFIG_ARCH_L7200 is not set
-+# CONFIG_ARCH_KIRKWOOD is not set
-+# CONFIG_ARCH_KS8695 is not set
-+# CONFIG_ARCH_NS9XXX is not set
-+# CONFIG_ARCH_LOKI is not set
-+# CONFIG_ARCH_MV78XX0 is not set
-+# CONFIG_ARCH_MXC is not set
-+# CONFIG_ARCH_ORION5X is not set
-+# CONFIG_ARCH_PNX4008 is not set
-+# CONFIG_ARCH_PXA is not set
-+# CONFIG_ARCH_RPC is not set
-+# CONFIG_ARCH_SA1100 is not set
-+# CONFIG_ARCH_S3C2410 is not set
-+# CONFIG_ARCH_SHARK is not set
-+# CONFIG_ARCH_LH7A40X is not set
-+# CONFIG_ARCH_DAVINCI is not set
-+CONFIG_ARCH_OMAP=y
-+# CONFIG_ARCH_MSM is not set
-+
-+#
-+# TI OMAP Implementations
-+#
-+CONFIG_ARCH_OMAP_OTG=y
-+# CONFIG_ARCH_OMAP1 is not set
-+# CONFIG_ARCH_OMAP2 is not set
-+CONFIG_ARCH_OMAP3=y
-+
-+#
-+# OMAP Feature Selections
-+#
-+# CONFIG_OMAP_DEBUG_POWERDOMAIN is not set
-+# CONFIG_OMAP_DEBUG_CLOCKDOMAIN is not set
-+CONFIG_OMAP_SMARTREFLEX=y
-+# CONFIG_OMAP_SMARTREFLEX_TESTING is not set
-+CONFIG_OMAP_RESET_CLOCKS=y
-+CONFIG_OMAP_BOOT_TAG=y
-+CONFIG_OMAP_BOOT_REASON=y
-+# CONFIG_OMAP_COMPONENT_VERSION is not set
-+# CONFIG_OMAP_GPIO_SWITCH is not set
-+CONFIG_OMAP_MUX=y
-+CONFIG_OMAP_MUX_DEBUG=y
-+CONFIG_OMAP_MUX_WARNINGS=y
-+# CONFIG_OMAP_MCBSP is not set
-+# CONFIG_OMAP_MMU_FWK is not set
-+# CONFIG_OMAP_MBOX_FWK is not set
-+# CONFIG_OMAP_MPU_TIMER is not set
-+CONFIG_OMAP_32K_TIMER=y
-+CONFIG_OMAP_32K_TIMER_HZ=128
-+CONFIG_OMAP_DM_TIMER=y
-+CONFIG_OMAP_LL_DEBUG_UART1=y
-+# CONFIG_OMAP_LL_DEBUG_UART2 is not set
-+# CONFIG_OMAP_LL_DEBUG_UART3 is not set
-+CONFIG_OMAP_SERIAL_WAKE=y
-+CONFIG_OMAP2_DSS=m
-+CONFIG_OMAP2_DSS_DEBUG_SUPPORT=y
-+# CONFIG_OMAP2_DSS_RFBI is not set
-+CONFIG_OMAP2_DSS_VENC=y
-+# CONFIG_OMAP2_DSS_SDI is not set
-+# CONFIG_OMAP2_DSS_DSI is not set
-+# CONFIG_OMAP2_DSS_FAKE_VSYNC is not set
-+CONFIG_OMAP2_DSS_MIN_FCK_PER_PCK=0
-+CONFIG_ARCH_OMAP34XX=y
-+CONFIG_ARCH_OMAP3430=y
-+
-+#
-+# OMAP Board Type
-+#
-+# CONFIG_MACH_OMAP_LDP is not set
-+CONFIG_MACH_OMAP_3430SDP=y
-+# CONFIG_MACH_OMAP3EVM is not set
-+# CONFIG_MACH_OMAP3_BEAGLE is not set
-+# CONFIG_MACH_OVERO is not set
-+# CONFIG_MACH_OMAP3_PANDORA is not set
-+CONFIG_OMAP_TICK_GPTIMER=1
-+
-+#
-+# Boot options
-+#
-+
-+#
-+# Power management
-+#
-+
-+#
-+# Processor Type
-+#
-+CONFIG_CPU_32=y
-+CONFIG_CPU_32v6K=y
-+CONFIG_CPU_V7=y
-+CONFIG_CPU_32v7=y
-+CONFIG_CPU_ABRT_EV7=y
-+CONFIG_CPU_PABRT_IFAR=y
-+CONFIG_CPU_CACHE_V7=y
-+CONFIG_CPU_CACHE_VIPT=y
-+CONFIG_CPU_COPY_V6=y
-+CONFIG_CPU_TLB_V7=y
-+CONFIG_CPU_HAS_ASID=y
-+CONFIG_CPU_CP15=y
-+CONFIG_CPU_CP15_MMU=y
-+
-+#
-+# Processor Features
-+#
-+CONFIG_ARM_THUMB=y
-+# CONFIG_ARM_THUMBEE is not set
-+# CONFIG_CPU_ICACHE_DISABLE is not set
-+# CONFIG_CPU_DCACHE_DISABLE is not set
-+# CONFIG_CPU_BPREDICT_DISABLE is not set
-+CONFIG_HAS_TLS_REG=y
-+# CONFIG_OUTER_CACHE is not set
-+
-+#
-+# Bus support
-+#
-+# CONFIG_PCI_SYSCALL is not set
-+# CONFIG_ARCH_SUPPORTS_MSI is not set
-+# CONFIG_PCCARD is not set
-+
-+#
-+# Kernel Features
-+#
-+CONFIG_TICK_ONESHOT=y
-+CONFIG_NO_HZ=y
-+CONFIG_HIGH_RES_TIMERS=y
-+CONFIG_GENERIC_CLOCKEVENTS_BUILD=y
-+CONFIG_VMSPLIT_3G=y
-+# CONFIG_VMSPLIT_2G is not set
-+# CONFIG_VMSPLIT_1G is not set
-+CONFIG_PAGE_OFFSET=0xC0000000
-+# CONFIG_PREEMPT is not set
-+CONFIG_HZ=128
-+CONFIG_AEABI=y
-+CONFIG_OABI_COMPAT=y
-+CONFIG_ARCH_FLATMEM_HAS_HOLES=y
-+# CONFIG_ARCH_SPARSEMEM_DEFAULT is not set
-+# CONFIG_ARCH_SELECT_MEMORY_MODEL is not set
-+CONFIG_SELECT_MEMORY_MODEL=y
-+CONFIG_FLATMEM_MANUAL=y
-+# CONFIG_DISCONTIGMEM_MANUAL is not set
-+# CONFIG_SPARSEMEM_MANUAL is not set
-+CONFIG_FLATMEM=y
-+CONFIG_FLAT_NODE_MEM_MAP=y
-+CONFIG_PAGEFLAGS_EXTENDED=y
-+CONFIG_SPLIT_PTLOCK_CPUS=4
-+# CONFIG_RESOURCES_64BIT is not set
-+# CONFIG_PHYS_ADDR_T_64BIT is not set
-+CONFIG_ZONE_DMA_FLAG=0
-+CONFIG_VIRT_TO_BUS=y
-+CONFIG_UNEVICTABLE_LRU=y
-+# CONFIG_LEDS is not set
-+CONFIG_ALIGNMENT_TRAP=y
-+
-+#
-+# Boot options
-+#
-+CONFIG_ZBOOT_ROM_TEXT=0x0
-+CONFIG_ZBOOT_ROM_BSS=0x0
-+CONFIG_CMDLINE="root=/dev/nfs nfsroot=192.168.0.1:/home/user/buildroot ip=192.168.0.2:192.168.0.1:192.168.0.1:255.255.255.0:tgt:eth0:off rw console=ttyS2,115200n8"
-+# CONFIG_XIP_KERNEL is not set
-+# CONFIG_KEXEC is not set
-+
-+#
-+# CPU Power Management
-+#
-+# CONFIG_CPU_FREQ is not set
-+# CONFIG_CPU_IDLE is not set
-+
-+#
-+# Floating point emulation
-+#
-+
-+#
-+# At least one emulation must be selected
-+#
-+CONFIG_FPE_NWFPE=y
-+# CONFIG_FPE_NWFPE_XP is not set
-+# CONFIG_FPE_FASTFPE is not set
-+CONFIG_VFP=y
-+CONFIG_VFPv3=y
-+# CONFIG_NEON is not set
-+
-+#
-+# Userspace binary formats
-+#
-+CONFIG_BINFMT_ELF=y
-+# CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set
-+CONFIG_HAVE_AOUT=y
-+# CONFIG_BINFMT_AOUT is not set
-+CONFIG_BINFMT_MISC=y
-+
-+#
-+# Power management options
-+#
-+CONFIG_PM=y
-+# CONFIG_PM_DEBUG is not set
-+CONFIG_PM_SLEEP=y
-+CONFIG_SUSPEND=y
-+CONFIG_SUSPEND_FREEZER=y
-+# CONFIG_APM_EMULATION is not set
-+CONFIG_ARCH_SUSPEND_POSSIBLE=y
-+CONFIG_NET=y
-+
-+#
-+# Networking options
-+#
-+CONFIG_PACKET=y
-+# CONFIG_PACKET_MMAP is not set
-+CONFIG_UNIX=y
-+CONFIG_XFRM=y
-+# CONFIG_XFRM_USER is not set
-+# CONFIG_XFRM_SUB_POLICY is not set
-+# CONFIG_XFRM_MIGRATE is not set
-+# CONFIG_XFRM_STATISTICS is not set
-+CONFIG_NET_KEY=y
-+# CONFIG_NET_KEY_MIGRATE is not set
-+CONFIG_INET=y
-+# CONFIG_IP_MULTICAST is not set
-+# CONFIG_IP_ADVANCED_ROUTER is not set
-+CONFIG_IP_FIB_HASH=y
-+CONFIG_IP_PNP=y
-+CONFIG_IP_PNP_DHCP=y
-+CONFIG_IP_PNP_BOOTP=y
-+CONFIG_IP_PNP_RARP=y
-+# CONFIG_NET_IPIP is not set
-+# CONFIG_NET_IPGRE is not set
-+# CONFIG_ARPD is not set
-+# CONFIG_SYN_COOKIES is not set
-+# CONFIG_INET_AH is not set
-+# CONFIG_INET_ESP is not set
-+# CONFIG_INET_IPCOMP is not set
-+# CONFIG_INET_XFRM_TUNNEL is not set
-+# CONFIG_INET_TUNNEL is not set
-+CONFIG_INET_XFRM_MODE_TRANSPORT=y
-+CONFIG_INET_XFRM_MODE_TUNNEL=y
-+CONFIG_INET_XFRM_MODE_BEET=y
-+# CONFIG_INET_LRO is not set
-+CONFIG_INET_DIAG=y
-+CONFIG_INET_TCP_DIAG=y
-+# CONFIG_TCP_CONG_ADVANCED is not set
-+CONFIG_TCP_CONG_CUBIC=y
-+CONFIG_DEFAULT_TCP_CONG="cubic"
-+# CONFIG_TCP_MD5SIG is not set
-+# CONFIG_IPV6 is not set
-+# CONFIG_NETWORK_SECMARK is not set
-+# CONFIG_NETFILTER is not set
-+# CONFIG_IP_DCCP is not set
-+# CONFIG_IP_SCTP is not set
-+# CONFIG_TIPC is not set
-+# CONFIG_ATM is not set
-+# CONFIG_BRIDGE is not set
-+# CONFIG_NET_DSA is not set
-+# CONFIG_VLAN_8021Q is not set
-+# CONFIG_DECNET is not set
-+# CONFIG_LLC2 is not set
-+# CONFIG_IPX is not set
-+# CONFIG_ATALK is not set
-+# CONFIG_X25 is not set
-+# CONFIG_LAPB is not set
-+# CONFIG_ECONET is not set
-+# CONFIG_WAN_ROUTER is not set
-+# CONFIG_NET_SCHED is not set
-+
-+#
-+# Network testing
-+#
-+# CONFIG_NET_PKTGEN is not set
-+# CONFIG_HAMRADIO is not set
-+# CONFIG_CAN is not set
-+# CONFIG_IRDA is not set
-+# CONFIG_BT is not set
-+# CONFIG_AF_RXRPC is not set
-+# CONFIG_PHONET is not set
-+CONFIG_WIRELESS=y
-+# CONFIG_CFG80211 is not set
-+CONFIG_WIRELESS_OLD_REGULATORY=y
-+# CONFIG_WIRELESS_EXT is not set
-+# CONFIG_MAC80211 is not set
-+# CONFIG_IEEE80211 is not set
-+# CONFIG_RFKILL is not set
-+# CONFIG_NET_9P is not set
-+
-+#
-+# Device Drivers
-+#
-+
-+#
-+# Generic Driver Options
-+#
-+CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
-+CONFIG_STANDALONE=y
-+CONFIG_PREVENT_FIRMWARE_BUILD=y
-+# CONFIG_FW_LOADER is not set
-+# CONFIG_DEBUG_DRIVER is not set
-+# CONFIG_DEBUG_DEVRES is not set
-+# CONFIG_SYS_HYPERVISOR is not set
-+# CONFIG_CONNECTOR is not set
-+CONFIG_MTD=y
-+# CONFIG_MTD_DEBUG is not set
-+CONFIG_MTD_CONCAT=y
-+CONFIG_MTD_PARTITIONS=y
-+# CONFIG_MTD_REDBOOT_PARTS is not set
-+CONFIG_MTD_CMDLINE_PARTS=y
-+# CONFIG_MTD_AFS_PARTS is not set
-+# CONFIG_MTD_AR7_PARTS is not set
-+
-+#
-+# User Modules And Translation Layers
-+#
-+CONFIG_MTD_CHAR=y
-+CONFIG_MTD_BLKDEVS=y
-+CONFIG_MTD_BLOCK=y
-+# CONFIG_FTL is not set
-+# CONFIG_NFTL is not set
-+# CONFIG_INFTL is not set
-+# CONFIG_RFD_FTL is not set
-+# CONFIG_SSFDC is not set
-+# CONFIG_MTD_OOPS is not set
-+
-+#
-+# RAM/ROM/Flash chip drivers
-+#
-+CONFIG_MTD_CFI=y
-+# CONFIG_MTD_JEDECPROBE is not set
-+CONFIG_MTD_GEN_PROBE=y
-+# CONFIG_MTD_CFI_ADV_OPTIONS is not set
-+CONFIG_MTD_MAP_BANK_WIDTH_1=y
-+CONFIG_MTD_MAP_BANK_WIDTH_2=y
-+CONFIG_MTD_MAP_BANK_WIDTH_4=y
-+# CONFIG_MTD_MAP_BANK_WIDTH_8 is not set
-+# CONFIG_MTD_MAP_BANK_WIDTH_16 is not set
-+# CONFIG_MTD_MAP_BANK_WIDTH_32 is not set
-+CONFIG_MTD_CFI_I1=y
-+CONFIG_MTD_CFI_I2=y
-+# CONFIG_MTD_CFI_I4 is not set
-+# CONFIG_MTD_CFI_I8 is not set
-+CONFIG_MTD_CFI_INTELEXT=y
-+# CONFIG_MTD_CFI_AMDSTD is not set
-+# CONFIG_MTD_CFI_STAA is not set
-+CONFIG_MTD_CFI_UTIL=y
-+# CONFIG_MTD_RAM is not set
-+# CONFIG_MTD_ROM is not set
-+# CONFIG_MTD_ABSENT is not set
-+
-+#
-+# Mapping drivers for chip access
-+#
-+# CONFIG_MTD_COMPLEX_MAPPINGS is not set
-+# CONFIG_MTD_PHYSMAP is not set
-+# CONFIG_MTD_ARM_INTEGRATOR is not set
-+CONFIG_MTD_OMAP_NOR=y
-+# CONFIG_MTD_PLATRAM is not set
-+
-+#
-+# Self-contained MTD device drivers
-+#
-+# CONFIG_MTD_DATAFLASH is not set
-+# CONFIG_MTD_M25P80 is not set
-+# CONFIG_MTD_SLRAM is not set
-+# CONFIG_MTD_PHRAM is not set
-+# CONFIG_MTD_MTDRAM is not set
-+# CONFIG_MTD_BLOCK2MTD is not set
-+
-+#
-+# Disk-On-Chip Device Drivers
-+#
-+# CONFIG_MTD_DOC2000 is not set
-+# CONFIG_MTD_DOC2001 is not set
-+# CONFIG_MTD_DOC2001PLUS is not set
-+CONFIG_MTD_NAND=y
-+# CONFIG_MTD_NAND_VERIFY_WRITE is not set
-+CONFIG_MTD_NAND_ECC_SMC=y
-+# CONFIG_MTD_NAND_MUSEUM_IDS is not set
-+# CONFIG_MTD_NAND_GPIO is not set
-+CONFIG_MTD_NAND_OMAP2=y
-+CONFIG_MTD_NAND_IDS=y
-+# CONFIG_MTD_NAND_DISKONCHIP is not set
-+# CONFIG_MTD_NAND_NANDSIM is not set
-+# CONFIG_MTD_NAND_PLATFORM is not set
-+# CONFIG_MTD_ALAUDA is not set
-+CONFIG_MTD_ONENAND=y
-+CONFIG_MTD_ONENAND_VERIFY_WRITE=y
-+# CONFIG_MTD_ONENAND_GENERIC is not set
-+CONFIG_MTD_ONENAND_OMAP2=y
-+# CONFIG_MTD_ONENAND_OTP is not set
-+# CONFIG_MTD_ONENAND_2X_PROGRAM is not set
-+# CONFIG_MTD_ONENAND_SIM is not set
-+
-+#
-+# UBI - Unsorted block images
-+#
-+# CONFIG_MTD_UBI is not set
-+# CONFIG_PARPORT is not set
-+CONFIG_BLK_DEV=y
-+# CONFIG_BLK_DEV_COW_COMMON is not set
-+CONFIG_BLK_DEV_LOOP=y
-+# CONFIG_BLK_DEV_CRYPTOLOOP is not set
-+# CONFIG_BLK_DEV_NBD is not set
-+# CONFIG_BLK_DEV_UB is not set
-+CONFIG_BLK_DEV_RAM=y
-+CONFIG_BLK_DEV_RAM_COUNT=16
-+CONFIG_BLK_DEV_RAM_SIZE=16384
-+# CONFIG_BLK_DEV_XIP is not set
-+# CONFIG_CDROM_PKTCDVD is not set
-+# CONFIG_ATA_OVER_ETH is not set
-+CONFIG_MISC_DEVICES=y
-+# CONFIG_EEPROM_93CX6 is not set
-+# CONFIG_ICS932S401 is not set
-+# CONFIG_OMAP_STI is not set
-+# CONFIG_ENCLOSURE_SERVICES is not set
-+# CONFIG_C2PORT is not set
-+CONFIG_HAVE_IDE=y
-+# CONFIG_IDE is not set
-+
-+#
-+# SCSI device support
-+#
-+# CONFIG_RAID_ATTRS is not set
-+CONFIG_SCSI=y
-+CONFIG_SCSI_DMA=y
-+# CONFIG_SCSI_TGT is not set
-+# CONFIG_SCSI_NETLINK is not set
-+CONFIG_SCSI_PROC_FS=y
-+
-+#
-+# SCSI support type (disk, tape, CD-ROM)
-+#
-+CONFIG_BLK_DEV_SD=y
-+# CONFIG_CHR_DEV_ST is not set
-+# CONFIG_CHR_DEV_OSST is not set
-+# CONFIG_BLK_DEV_SR is not set
-+# CONFIG_CHR_DEV_SG is not set
-+# CONFIG_CHR_DEV_SCH is not set
-+
-+#
-+# Some SCSI devices (e.g. CD jukebox) support multiple LUNs
-+#
-+# CONFIG_SCSI_MULTI_LUN is not set
-+# CONFIG_SCSI_CONSTANTS is not set
-+# CONFIG_SCSI_LOGGING is not set
-+# CONFIG_SCSI_SCAN_ASYNC is not set
-+CONFIG_SCSI_WAIT_SCAN=m
-+
-+#
-+# SCSI Transports
-+#
-+# CONFIG_SCSI_SPI_ATTRS is not set
-+# CONFIG_SCSI_FC_ATTRS is not set
-+# CONFIG_SCSI_ISCSI_ATTRS is not set
-+# CONFIG_SCSI_SAS_LIBSAS is not set
-+# CONFIG_SCSI_SRP_ATTRS is not set
-+CONFIG_SCSI_LOWLEVEL=y
-+# CONFIG_ISCSI_TCP is not set
-+# CONFIG_SCSI_DEBUG is not set
-+# CONFIG_SCSI_DH is not set
-+# CONFIG_ATA is not set
-+# CONFIG_MD is not set
-+CONFIG_NETDEVICES=y
-+# CONFIG_DUMMY is not set
-+# CONFIG_BONDING is not set
-+# CONFIG_MACVLAN is not set
-+# CONFIG_EQUALIZER is not set
-+# CONFIG_TUN is not set
-+# CONFIG_VETH is not set
-+# CONFIG_PHYLIB is not set
-+CONFIG_NET_ETHERNET=y
-+CONFIG_MII=y
-+# CONFIG_AX88796 is not set
-+CONFIG_SMC91X=y
-+# CONFIG_DM9000 is not set
-+# CONFIG_ENC28J60 is not set
-+# CONFIG_SMC911X is not set
-+# CONFIG_IBM_NEW_EMAC_ZMII is not set
-+# CONFIG_IBM_NEW_EMAC_RGMII is not set
-+# CONFIG_IBM_NEW_EMAC_TAH is not set
-+# CONFIG_IBM_NEW_EMAC_EMAC4 is not set
-+# CONFIG_IBM_NEW_EMAC_NO_FLOW_CTRL is not set
-+# CONFIG_IBM_NEW_EMAC_MAL_CLR_ICINTSTAT is not set
-+# CONFIG_IBM_NEW_EMAC_MAL_COMMON_ERR is not set
-+# CONFIG_B44 is not set
-+CONFIG_NETDEV_1000=y
-+CONFIG_NETDEV_10000=y
-+
-+#
-+# Wireless LAN
-+#
-+# CONFIG_WLAN_PRE80211 is not set
-+# CONFIG_WLAN_80211 is not set
-+# CONFIG_IWLWIFI_LEDS is not set
-+
-+#
-+# USB Network Adapters
-+#
-+# CONFIG_USB_CATC is not set
-+# CONFIG_USB_KAWETH is not set
-+# CONFIG_USB_PEGASUS is not set
-+# CONFIG_USB_RTL8150 is not set
-+# CONFIG_USB_USBNET is not set
-+# CONFIG_WAN is not set
-+# CONFIG_PPP is not set
-+# CONFIG_SLIP is not set
-+# CONFIG_NETCONSOLE is not set
-+# CONFIG_NETPOLL is not set
-+# CONFIG_NET_POLL_CONTROLLER is not set
-+# CONFIG_ISDN is not set
-+
-+#
-+# Input device support
-+#
-+CONFIG_INPUT=y
-+# CONFIG_INPUT_FF_MEMLESS is not set
-+# CONFIG_INPUT_POLLDEV is not set
-+
-+#
-+# Userland interfaces
-+#
-+# CONFIG_INPUT_MOUSEDEV is not set
-+# CONFIG_INPUT_JOYDEV is not set
-+CONFIG_INPUT_EVDEV=y
-+# CONFIG_INPUT_EVBUG is not set
-+
-+#
-+# Input Device Drivers
-+#
-+CONFIG_INPUT_KEYBOARD=y
-+# CONFIG_KEYBOARD_ATKBD is not set
-+# CONFIG_KEYBOARD_SUNKBD is not set
-+# CONFIG_KEYBOARD_LKKBD is not set
-+# CONFIG_KEYBOARD_XTKBD is not set
-+# CONFIG_KEYBOARD_NEWTON is not set
-+# CONFIG_KEYBOARD_STOWAWAY is not set
-+CONFIG_KEYBOARD_TWL4030=y
-+# CONFIG_KEYBOARD_LM8323 is not set
-+# CONFIG_KEYBOARD_GPIO is not set
-+# CONFIG_INPUT_MOUSE is not set
-+# CONFIG_INPUT_JOYSTICK is not set
-+# CONFIG_INPUT_TABLET is not set
-+CONFIG_INPUT_TOUCHSCREEN=y
-+CONFIG_TOUCHSCREEN_ADS7846=y
-+# CONFIG_TOUCHSCREEN_FUJITSU is not set
-+# CONFIG_TOUCHSCREEN_GUNZE is not set
-+# CONFIG_TOUCHSCREEN_ELO is not set
-+# CONFIG_TOUCHSCREEN_MTOUCH is not set
-+# CONFIG_TOUCHSCREEN_INEXIO is not set
-+# CONFIG_TOUCHSCREEN_MK712 is not set
-+# CONFIG_TOUCHSCREEN_PENMOUNT is not set
-+# CONFIG_TOUCHSCREEN_TOUCHRIGHT is not set
-+# CONFIG_TOUCHSCREEN_TOUCHWIN is not set
-+# CONFIG_TOUCHSCREEN_TSC2005 is not set
-+# CONFIG_TOUCHSCREEN_TSC210X is not set
-+# CONFIG_TOUCHSCREEN_USB_COMPOSITE is not set
-+# CONFIG_TOUCHSCREEN_TOUCHIT213 is not set
-+# CONFIG_INPUT_MISC is not set
-+
-+#
-+# Hardware I/O ports
-+#
-+# CONFIG_SERIO is not set
-+# CONFIG_GAMEPORT is not set
-+
-+#
-+# Character devices
-+#
-+CONFIG_VT=y
-+CONFIG_CONSOLE_TRANSLATIONS=y
-+CONFIG_VT_CONSOLE=y
-+CONFIG_HW_CONSOLE=y
-+# CONFIG_VT_HW_CONSOLE_BINDING is not set
-+CONFIG_DEVKMEM=y
-+# CONFIG_SERIAL_NONSTANDARD is not set
-+
-+#
-+# Serial drivers
-+#
-+CONFIG_SERIAL_8250=y
-+CONFIG_SERIAL_8250_CONSOLE=y
-+CONFIG_SERIAL_8250_NR_UARTS=32
-+CONFIG_SERIAL_8250_RUNTIME_UARTS=4
-+CONFIG_SERIAL_8250_EXTENDED=y
-+CONFIG_SERIAL_8250_MANY_PORTS=y
-+CONFIG_SERIAL_8250_SHARE_IRQ=y
-+CONFIG_SERIAL_8250_DETECT_IRQ=y
-+CONFIG_SERIAL_8250_RSA=y
-+
-+#
-+# Non-8250 serial port support
-+#
-+CONFIG_SERIAL_CORE=y
-+CONFIG_SERIAL_CORE_CONSOLE=y
-+CONFIG_UNIX98_PTYS=y
-+# CONFIG_LEGACY_PTYS is not set
-+# CONFIG_IPMI_HANDLER is not set
-+CONFIG_HW_RANDOM=y
-+# CONFIG_NVRAM is not set
-+# CONFIG_R3964 is not set
-+# CONFIG_RAW_DRIVER is not set
-+# CONFIG_TCG_TPM is not set
-+CONFIG_I2C=y
-+CONFIG_I2C_BOARDINFO=y
-+CONFIG_I2C_CHARDEV=y
-+CONFIG_I2C_HELPER_AUTO=y
-+
-+#
-+# I2C Hardware Bus support
-+#
-+
-+#
-+# I2C system bus drivers (mostly embedded / system-on-chip)
-+#
-+# CONFIG_I2C_GPIO is not set
-+# CONFIG_I2C_OCORES is not set
-+CONFIG_I2C_OMAP=y
-+# CONFIG_I2C_SIMTEC is not set
-+
-+#
-+# External I2C/SMBus adapter drivers
-+#
-+# CONFIG_I2C_PARPORT_LIGHT is not set
-+# CONFIG_I2C_TAOS_EVM is not set
-+# CONFIG_I2C_TINY_USB is not set
-+
-+#
-+# Other I2C/SMBus bus drivers
-+#
-+# CONFIG_I2C_PCA_PLATFORM is not set
-+# CONFIG_I2C_STUB is not set
-+
-+#
-+# Miscellaneous I2C Chip support
-+#
-+# CONFIG_DS1682 is not set
-+# CONFIG_AT24 is not set
-+# CONFIG_SENSORS_EEPROM is not set
-+# CONFIG_SENSORS_PCF8574 is not set
-+# CONFIG_PCF8575 is not set
-+# CONFIG_SENSORS_PCA9539 is not set
-+# CONFIG_SENSORS_PCF8591 is not set
-+# CONFIG_TPS65010 is not set
-+# CONFIG_TWL4030_MADC is not set
-+# CONFIG_TWL4030_PWRBUTTON is not set
-+# CONFIG_TWL4030_POWEROFF is not set
-+# CONFIG_SENSORS_MAX6875 is not set
-+# CONFIG_SENSORS_TSL2550 is not set
-+# CONFIG_LP5521 is not set
-+# CONFIG_I2C_DEBUG_CORE is not set
-+# CONFIG_I2C_DEBUG_ALGO is not set
-+# CONFIG_I2C_DEBUG_BUS is not set
-+# CONFIG_I2C_DEBUG_CHIP is not set
-+CONFIG_SPI=y
-+# CONFIG_SPI_DEBUG is not set
-+CONFIG_SPI_MASTER=y
-+
-+#
-+# SPI Master Controller Drivers
-+#
-+# CONFIG_SPI_BITBANG is not set
-+CONFIG_SPI_OMAP24XX=y
-+
-+#
-+# SPI Protocol Masters
-+#
-+# CONFIG_SPI_AT25 is not set
-+# CONFIG_SPI_TSC210X is not set
-+# CONFIG_SPI_TSC2301 is not set
-+# CONFIG_SPI_SPIDEV is not set
-+# CONFIG_SPI_TLE62X0 is not set
-+CONFIG_ARCH_REQUIRE_GPIOLIB=y
-+CONFIG_GPIOLIB=y
-+# CONFIG_DEBUG_GPIO is not set
-+# CONFIG_GPIO_SYSFS is not set
-+
-+#
-+# Memory mapped GPIO expanders:
-+#
-+
-+#
-+# I2C GPIO expanders:
-+#
-+# CONFIG_GPIO_MAX732X is not set
-+# CONFIG_GPIO_PCA953X is not set
-+# CONFIG_GPIO_PCF857X is not set
-+CONFIG_GPIO_TWL4030=y
-+
-+#
-+# PCI GPIO expanders:
-+#
-+
-+#
-+# SPI GPIO expanders:
-+#
-+# CONFIG_GPIO_MAX7301 is not set
-+# CONFIG_GPIO_MCP23S08 is not set
-+# CONFIG_W1 is not set
-+# CONFIG_POWER_SUPPLY is not set
-+# CONFIG_HWMON is not set
-+# CONFIG_THERMAL is not set
-+# CONFIG_THERMAL_HWMON is not set
-+CONFIG_WATCHDOG=y
-+CONFIG_WATCHDOG_NOWAYOUT=y
-+
-+#
-+# Watchdog Device Drivers
-+#
-+# CONFIG_SOFT_WATCHDOG is not set
-+CONFIG_OMAP_WATCHDOG=y
-+
-+#
-+# USB-based Watchdog Cards
-+#
-+# CONFIG_USBPCWATCHDOG is not set
-+CONFIG_SSB_POSSIBLE=y
-+
-+#
-+# Sonics Silicon Backplane
-+#
-+# CONFIG_SSB is not set
-+
-+#
-+# Multifunction device drivers
-+#
-+# CONFIG_MFD_CORE is not set
-+# CONFIG_MFD_SM501 is not set
-+# CONFIG_MFD_ASIC3 is not set
-+# CONFIG_HTC_EGPIO is not set
-+# CONFIG_HTC_PASIC3 is not set
-+CONFIG_TWL4030_CORE=y
-+# CONFIG_TWL4030_POWER is not set
-+# CONFIG_MFD_TMIO is not set
-+# CONFIG_MFD_T7L66XB is not set
-+# CONFIG_MFD_TC6387XB is not set
-+# CONFIG_MFD_TC6393XB is not set
-+# CONFIG_PMIC_DA903X is not set
-+# CONFIG_MFD_WM8400 is not set
-+# CONFIG_MFD_WM8350_I2C is not set
-+
-+#
-+# Multimedia devices
-+#
-+
-+#
-+# Multimedia core support
-+#
-+# CONFIG_VIDEO_DEV is not set
-+# CONFIG_DVB_CORE is not set
-+# CONFIG_VIDEO_MEDIA is not set
-+
-+#
-+# Multimedia drivers
-+#
-+CONFIG_DAB=y
-+# CONFIG_USB_DABUSB is not set
-+
-+#
-+# Graphics support
-+#
-+# CONFIG_VGASTATE is not set
-+CONFIG_VIDEO_OUTPUT_CONTROL=m
-+CONFIG_FB=y
-+# CONFIG_FIRMWARE_EDID is not set
-+# CONFIG_FB_DDC is not set
-+# CONFIG_FB_BOOT_VESA_SUPPORT is not set
-+CONFIG_FB_CFB_FILLRECT=m
-+CONFIG_FB_CFB_COPYAREA=m
-+CONFIG_FB_CFB_IMAGEBLIT=m
-+# CONFIG_FB_CFB_REV_PIXELS_IN_BYTE is not set
-+# CONFIG_FB_SYS_FILLRECT is not set
-+# CONFIG_FB_SYS_COPYAREA is not set
-+# CONFIG_FB_SYS_IMAGEBLIT is not set
-+# CONFIG_FB_FOREIGN_ENDIAN is not set
-+# CONFIG_FB_SYS_FOPS is not set
-+# CONFIG_FB_SVGALIB is not set
-+# CONFIG_FB_MACMODES is not set
-+# CONFIG_FB_BACKLIGHT is not set
-+# CONFIG_FB_MODE_HELPERS is not set
-+# CONFIG_FB_TILEBLITTING is not set
-+
-+#
-+# Frame buffer hardware drivers
-+#
-+# CONFIG_FB_S1D13XXX is not set
-+# CONFIG_FB_VIRTUAL is not set
-+# CONFIG_FB_METRONOME is not set
-+# CONFIG_FB_MB862XX is not set
-+# CONFIG_FB_OMAP_LCD_VGA is not set
-+CONFIG_FB_OMAP_CONSISTENT_DMA_SIZE=2
-+CONFIG_FB_OMAP2=m
-+CONFIG_FB_OMAP2_DEBUG=y
-+# CONFIG_FB_OMAP2_FORCE_AUTO_UPDATE is not set
-+CONFIG_FB_OMAP2_NUM_FBS=3
-+
-+#
-+# OMAP2/3 Display Device Drivers
-+#
-+CONFIG_PANEL_GENERIC=m
-+CONFIG_PANEL_SHARP_LS037V7DW01=m
-+# CONFIG_BACKLIGHT_LCD_SUPPORT is not set
-+
-+#
-+# Display device support
-+#
-+# CONFIG_DISPLAY_SUPPORT is not set
-+
-+#
-+# Console display driver support
-+#
-+# CONFIG_VGA_CONSOLE is not set
-+CONFIG_DUMMY_CONSOLE=y
-+# CONFIG_FRAMEBUFFER_CONSOLE is not set
-+# CONFIG_LOGO is not set
-+# CONFIG_SOUND is not set
-+CONFIG_HID_SUPPORT=y
-+CONFIG_HID=y
-+# CONFIG_HID_DEBUG is not set
-+# CONFIG_HIDRAW is not set
-+
-+#
-+# USB Input Devices
-+#
-+CONFIG_USB_HID=y
-+# CONFIG_HID_PID is not set
-+# CONFIG_USB_HIDDEV is not set
-+
-+#
-+# Special HID drivers
-+#
-+CONFIG_HID_COMPAT=y
-+CONFIG_HID_A4TECH=y
-+CONFIG_HID_APPLE=y
-+CONFIG_HID_BELKIN=y
-+CONFIG_HID_BRIGHT=y
-+CONFIG_HID_CHERRY=y
-+CONFIG_HID_CHICONY=y
-+CONFIG_HID_CYPRESS=y
-+CONFIG_HID_DELL=y
-+CONFIG_HID_EZKEY=y
-+CONFIG_HID_GYRATION=y
-+CONFIG_HID_LOGITECH=y
-+# CONFIG_LOGITECH_FF is not set
-+# CONFIG_LOGIRUMBLEPAD2_FF is not set
-+CONFIG_HID_MICROSOFT=y
-+CONFIG_HID_MONTEREY=y
-+CONFIG_HID_PANTHERLORD=y
-+# CONFIG_PANTHERLORD_FF is not set
-+CONFIG_HID_PETALYNX=y
-+CONFIG_HID_SAMSUNG=y
-+CONFIG_HID_SONY=y
-+CONFIG_HID_SUNPLUS=y
-+# CONFIG_THRUSTMASTER_FF is not set
-+# CONFIG_ZEROPLUS_FF is not set
-+CONFIG_USB_SUPPORT=y
-+CONFIG_USB_ARCH_HAS_HCD=y
-+CONFIG_USB_ARCH_HAS_OHCI=y
-+CONFIG_USB_ARCH_HAS_EHCI=y
-+CONFIG_USB=y
-+CONFIG_USB_DEBUG=y
-+CONFIG_USB_ANNOUNCE_NEW_DEVICES=y
-+
-+#
-+# Miscellaneous USB options
-+#
-+CONFIG_USB_DEVICEFS=y
-+# CONFIG_USB_DEVICE_CLASS is not set
-+# CONFIG_USB_DYNAMIC_MINORS is not set
-+CONFIG_USB_SUSPEND=y
-+CONFIG_USB_OTG=y
-+# CONFIG_USB_OTG_WHITELIST is not set
-+# CONFIG_USB_OTG_BLACKLIST_HUB is not set
-+CONFIG_USB_MON=y
-+# CONFIG_USB_WUSB is not set
-+# CONFIG_USB_WUSB_CBAF is not set
-+
-+#
-+# USB Host Controller Drivers
-+#
-+# CONFIG_USB_C67X00_HCD is not set
-+CONFIG_USB_EHCI_HCD=m
-+CONFIG_OMAP_EHCI_PHY_MODE=y
-+# CONFIG_OMAP_EHCI_TLL_MODE is not set
-+# CONFIG_USB_EHCI_ROOT_HUB_TT is not set
-+# CONFIG_USB_EHCI_TT_NEWSCHED is not set
-+# CONFIG_USB_ISP116X_HCD is not set
-+# CONFIG_USB_OHCI_HCD is not set
-+# CONFIG_USB_SL811_HCD is not set
-+# CONFIG_USB_R8A66597_HCD is not set
-+# CONFIG_USB_HWA_HCD is not set
-+CONFIG_USB_MUSB_HDRC=y
-+CONFIG_USB_MUSB_SOC=y
-+
-+#
-+# OMAP 343x high speed USB support
-+#
-+# CONFIG_USB_MUSB_HOST is not set
-+# CONFIG_USB_MUSB_PERIPHERAL is not set
-+CONFIG_USB_MUSB_OTG=y
-+CONFIG_USB_GADGET_MUSB_HDRC=y
-+CONFIG_USB_MUSB_HDRC_HCD=y
-+# CONFIG_MUSB_PIO_ONLY is not set
-+CONFIG_USB_INVENTRA_DMA=y
-+# CONFIG_USB_TI_CPPI_DMA is not set
-+# CONFIG_USB_MUSB_DEBUG is not set
-+
-+#
-+# USB Device Class drivers
-+#
-+# CONFIG_USB_ACM is not set
-+# CONFIG_USB_PRINTER is not set
-+# CONFIG_USB_WDM is not set
-+# CONFIG_USB_TMC is not set
-+
-+#
-+# NOTE: USB_STORAGE depends on SCSI but BLK_DEV_SD may also be needed;
-+#
-+
-+#
-+# see USB_STORAGE Help for more information
-+#
-+CONFIG_USB_STORAGE=y
-+CONFIG_USB_STORAGE_DEBUG=y
-+# CONFIG_USB_STORAGE_DATAFAB is not set
-+# CONFIG_USB_STORAGE_FREECOM is not set
-+# CONFIG_USB_STORAGE_ISD200 is not set
-+# CONFIG_USB_STORAGE_DPCM is not set
-+# CONFIG_USB_STORAGE_USBAT is not set
-+# CONFIG_USB_STORAGE_SDDR09 is not set
-+# CONFIG_USB_STORAGE_SDDR55 is not set
-+# CONFIG_USB_STORAGE_JUMPSHOT is not set
-+# CONFIG_USB_STORAGE_ALAUDA is not set
-+# CONFIG_USB_STORAGE_ONETOUCH is not set
-+# CONFIG_USB_STORAGE_KARMA is not set
-+# CONFIG_USB_STORAGE_CYPRESS_ATACB is not set
-+# CONFIG_USB_LIBUSUAL is not set
-+
-+#
-+# USB Imaging devices
-+#
-+# CONFIG_USB_MDC800 is not set
-+# CONFIG_USB_MICROTEK is not set
-+
-+#
-+# USB port drivers
-+#
-+# CONFIG_USB_SERIAL is not set
-+
-+#
-+# USB Miscellaneous drivers
-+#
-+# CONFIG_USB_EMI62 is not set
-+# CONFIG_USB_EMI26 is not set
-+# CONFIG_USB_ADUTUX is not set
-+# CONFIG_USB_SEVSEG is not set
-+# CONFIG_USB_RIO500 is not set
-+# CONFIG_USB_LEGOTOWER is not set
-+# CONFIG_USB_LCD is not set
-+# CONFIG_USB_BERRY_CHARGE is not set
-+# CONFIG_USB_LED is not set
-+# CONFIG_USB_CYPRESS_CY7C63 is not set
-+# CONFIG_USB_CYTHERM is not set
-+# CONFIG_USB_PHIDGET is not set
-+# CONFIG_USB_IDMOUSE is not set
-+# CONFIG_USB_FTDI_ELAN is not set
-+# CONFIG_USB_APPLEDISPLAY is not set
-+# CONFIG_USB_SISUSBVGA is not set
-+# CONFIG_USB_LD is not set
-+# CONFIG_USB_TRANCEVIBRATOR is not set
-+# CONFIG_USB_IOWARRIOR is not set
-+CONFIG_USB_TEST=y
-+# CONFIG_USB_ISIGHTFW is not set
-+# CONFIG_USB_VST is not set
-+CONFIG_USB_GADGET=y
-+CONFIG_USB_GADGET_DEBUG=y
-+CONFIG_USB_GADGET_DEBUG_FILES=y
-+# CONFIG_USB_GADGET_DEBUG_FS is not set
-+CONFIG_USB_GADGET_VBUS_DRAW=2
-+CONFIG_USB_GADGET_SELECTED=y
-+# CONFIG_USB_GADGET_AT91 is not set
-+# CONFIG_USB_GADGET_ATMEL_USBA is not set
-+# CONFIG_USB_GADGET_FSL_USB2 is not set
-+# CONFIG_USB_GADGET_LH7A40X is not set
-+# CONFIG_USB_GADGET_OMAP is not set
-+# CONFIG_USB_GADGET_PXA25X is not set
-+# CONFIG_USB_GADGET_PXA27X is not set
-+# CONFIG_USB_GADGET_S3C2410 is not set
-+# CONFIG_USB_GADGET_M66592 is not set
-+# CONFIG_USB_GADGET_AMD5536UDC is not set
-+# CONFIG_USB_GADGET_FSL_QE is not set
-+# CONFIG_USB_GADGET_NET2280 is not set
-+# CONFIG_USB_GADGET_GOKU is not set
-+# CONFIG_USB_GADGET_DUMMY_HCD is not set
-+CONFIG_USB_GADGET_DUALSPEED=y
-+CONFIG_USB_ZERO=m
-+# CONFIG_USB_ZERO_HNPTEST is not set
-+# CONFIG_USB_ETH is not set
-+# CONFIG_USB_GADGETFS is not set
-+# CONFIG_USB_FILE_STORAGE is not set
-+# CONFIG_USB_G_SERIAL is not set
-+# CONFIG_USB_MIDI_GADGET is not set
-+# CONFIG_USB_G_PRINTER is not set
-+# CONFIG_USB_CDC_COMPOSITE is not set
-+
-+#
-+# OTG and related infrastructure
-+#
-+CONFIG_USB_OTG_UTILS=y
-+# CONFIG_USB_GPIO_VBUS is not set
-+# CONFIG_ISP1301_OMAP is not set
-+CONFIG_TWL4030_USB=y
-+CONFIG_MMC=y
-+# CONFIG_MMC_DEBUG is not set
-+# CONFIG_MMC_UNSAFE_RESUME is not set
-+
-+#
-+# MMC/SD/SDIO Card Drivers
-+#
-+CONFIG_MMC_BLOCK=y
-+CONFIG_MMC_BLOCK_BOUNCE=y
-+# CONFIG_SDIO_UART is not set
-+# CONFIG_MMC_TEST is not set
-+
-+#
-+# MMC/SD/SDIO Host Controller Drivers
-+#
-+# CONFIG_MMC_SDHCI is not set
-+CONFIG_MMC_OMAP_HS=m
-+# CONFIG_MMC_SPI is not set
-+# CONFIG_MEMSTICK is not set
-+# CONFIG_ACCESSIBILITY is not set
-+# CONFIG_NEW_LEDS is not set
-+CONFIG_RTC_LIB=y
-+CONFIG_RTC_CLASS=y
-+CONFIG_RTC_HCTOSYS=y
-+CONFIG_RTC_HCTOSYS_DEVICE="rtc0"
-+# CONFIG_RTC_DEBUG is not set
-+
-+#
-+# RTC interfaces
-+#
-+CONFIG_RTC_INTF_SYSFS=y
-+CONFIG_RTC_INTF_PROC=y
-+CONFIG_RTC_INTF_DEV=y
-+# CONFIG_RTC_INTF_DEV_UIE_EMUL is not set
-+# CONFIG_RTC_DRV_TEST is not set
-+
-+#
-+# I2C RTC drivers
-+#
-+# CONFIG_RTC_DRV_DS1307 is not set
-+# CONFIG_RTC_DRV_DS1374 is not set
-+# CONFIG_RTC_DRV_DS1672 is not set
-+# CONFIG_RTC_DRV_MAX6900 is not set
-+# CONFIG_RTC_DRV_RS5C372 is not set
-+# CONFIG_RTC_DRV_ISL1208 is not set
-+# CONFIG_RTC_DRV_X1205 is not set
-+# CONFIG_RTC_DRV_PCF8563 is not set
-+# CONFIG_RTC_DRV_PCF8583 is not set
-+# CONFIG_RTC_DRV_M41T80 is not set
-+CONFIG_RTC_DRV_TWL4030=y
-+# CONFIG_RTC_DRV_S35390A is not set
-+# CONFIG_RTC_DRV_FM3130 is not set
-+# CONFIG_RTC_DRV_RX8581 is not set
-+
-+#
-+# SPI RTC drivers
-+#
-+# CONFIG_RTC_DRV_M41T94 is not set
-+# CONFIG_RTC_DRV_DS1305 is not set
-+# CONFIG_RTC_DRV_DS1390 is not set
-+# CONFIG_RTC_DRV_MAX6902 is not set
-+# CONFIG_RTC_DRV_R9701 is not set
-+# CONFIG_RTC_DRV_RS5C348 is not set
-+# CONFIG_RTC_DRV_DS3234 is not set
-+
-+#
-+# Platform RTC drivers
-+#
-+# CONFIG_RTC_DRV_CMOS is not set
-+# CONFIG_RTC_DRV_DS1286 is not set
-+# CONFIG_RTC_DRV_DS1511 is not set
-+# CONFIG_RTC_DRV_DS1553 is not set
-+# CONFIG_RTC_DRV_DS1742 is not set
-+# CONFIG_RTC_DRV_STK17TA8 is not set
-+# CONFIG_RTC_DRV_M48T86 is not set
-+# CONFIG_RTC_DRV_M48T35 is not set
-+# CONFIG_RTC_DRV_M48T59 is not set
-+# CONFIG_RTC_DRV_BQ4802 is not set
-+# CONFIG_RTC_DRV_V3020 is not set
-+
-+#
-+# on-CPU RTC drivers
-+#
-+# CONFIG_DMADEVICES is not set
-+# CONFIG_REGULATOR is not set
-+# CONFIG_UIO is not set
-+
-+#
-+# CBUS support
-+#
-+# CONFIG_CBUS is not set
-+
-+#
-+# File systems
-+#
-+CONFIG_EXT2_FS=y
-+# CONFIG_EXT2_FS_XATTR is not set
-+# CONFIG_EXT2_FS_XIP is not set
-+CONFIG_EXT3_FS=y
-+# CONFIG_EXT3_FS_XATTR is not set
-+# CONFIG_EXT4_FS is not set
-+CONFIG_JBD=y
-+# CONFIG_JBD_DEBUG is not set
-+# CONFIG_REISERFS_FS is not set
-+# CONFIG_JFS_FS is not set
-+# CONFIG_FS_POSIX_ACL is not set
-+CONFIG_FILE_LOCKING=y
-+# CONFIG_XFS_FS is not set
-+# CONFIG_OCFS2_FS is not set
-+CONFIG_DNOTIFY=y
-+CONFIG_INOTIFY=y
-+CONFIG_INOTIFY_USER=y
-+CONFIG_QUOTA=y
-+# CONFIG_QUOTA_NETLINK_INTERFACE is not set
-+CONFIG_PRINT_QUOTA_WARNING=y
-+# CONFIG_QFMT_V1 is not set
-+CONFIG_QFMT_V2=y
-+CONFIG_QUOTACTL=y
-+# CONFIG_AUTOFS_FS is not set
-+# CONFIG_AUTOFS4_FS is not set
-+# CONFIG_FUSE_FS is not set
-+
-+#
-+# CD-ROM/DVD Filesystems
-+#
-+# CONFIG_ISO9660_FS is not set
-+# CONFIG_UDF_FS is not set
-+
-+#
-+# DOS/FAT/NT Filesystems
-+#
-+CONFIG_FAT_FS=y
-+CONFIG_MSDOS_FS=y
-+CONFIG_VFAT_FS=y
-+CONFIG_FAT_DEFAULT_CODEPAGE=437
-+CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1"
-+# CONFIG_NTFS_FS is not set
-+
-+#
-+# Pseudo filesystems
-+#
-+CONFIG_PROC_FS=y
-+CONFIG_PROC_SYSCTL=y
-+CONFIG_PROC_PAGE_MONITOR=y
-+CONFIG_SYSFS=y
-+CONFIG_TMPFS=y
-+# CONFIG_TMPFS_POSIX_ACL is not set
-+# CONFIG_HUGETLB_PAGE is not set
-+# CONFIG_CONFIGFS_FS is not set
-+
-+#
-+# Miscellaneous filesystems
-+#
-+# CONFIG_ADFS_FS is not set
-+# CONFIG_AFFS_FS is not set
-+# CONFIG_HFS_FS is not set
-+# CONFIG_HFSPLUS_FS is not set
-+# CONFIG_BEFS_FS is not set
-+# CONFIG_BFS_FS is not set
-+# CONFIG_EFS_FS is not set
-+CONFIG_JFFS2_FS=y
-+CONFIG_JFFS2_FS_DEBUG=0
-+CONFIG_JFFS2_FS_WRITEBUFFER=y
-+# CONFIG_JFFS2_FS_WBUF_VERIFY is not set
-+# CONFIG_JFFS2_SUMMARY is not set
-+# CONFIG_JFFS2_FS_XATTR is not set
-+CONFIG_JFFS2_COMPRESSION_OPTIONS=y
-+CONFIG_JFFS2_ZLIB=y
-+# CONFIG_JFFS2_LZO is not set
-+CONFIG_JFFS2_RTIME=y
-+# CONFIG_JFFS2_RUBIN is not set
-+# CONFIG_JFFS2_CMODE_NONE is not set
-+CONFIG_JFFS2_CMODE_PRIORITY=y
-+# CONFIG_JFFS2_CMODE_SIZE is not set
-+# CONFIG_JFFS2_CMODE_FAVOURLZO is not set
-+# CONFIG_CRAMFS is not set
-+# CONFIG_VXFS_FS is not set
-+# CONFIG_MINIX_FS is not set
-+# CONFIG_OMFS_FS is not set
-+# CONFIG_HPFS_FS is not set
-+# CONFIG_QNX4FS_FS is not set
-+# CONFIG_ROMFS_FS is not set
-+# CONFIG_SYSV_FS is not set
-+# CONFIG_UFS_FS is not set
-+CONFIG_NETWORK_FILESYSTEMS=y
-+CONFIG_NFS_FS=y
-+CONFIG_NFS_V3=y
-+# CONFIG_NFS_V3_ACL is not set
-+CONFIG_NFS_V4=y
-+CONFIG_ROOT_NFS=y
-+# CONFIG_NFSD is not set
-+CONFIG_LOCKD=y
-+CONFIG_LOCKD_V4=y
-+CONFIG_NFS_COMMON=y
-+CONFIG_SUNRPC=y
-+CONFIG_SUNRPC_GSS=y
-+# CONFIG_SUNRPC_REGISTER_V4 is not set
-+CONFIG_RPCSEC_GSS_KRB5=y
-+# CONFIG_RPCSEC_GSS_SPKM3 is not set
-+# CONFIG_SMB_FS is not set
-+# CONFIG_CIFS is not set
-+# CONFIG_NCP_FS is not set
-+# CONFIG_CODA_FS is not set
-+# CONFIG_AFS_FS is not set
-+
-+#
-+# Partition Types
-+#
-+CONFIG_PARTITION_ADVANCED=y
-+# CONFIG_ACORN_PARTITION is not set
-+# CONFIG_OSF_PARTITION is not set
-+# CONFIG_AMIGA_PARTITION is not set
-+# CONFIG_ATARI_PARTITION is not set
-+# CONFIG_MAC_PARTITION is not set
-+CONFIG_MSDOS_PARTITION=y
-+# CONFIG_BSD_DISKLABEL is not set
-+# CONFIG_MINIX_SUBPARTITION is not set
-+# CONFIG_SOLARIS_X86_PARTITION is not set
-+# CONFIG_UNIXWARE_DISKLABEL is not set
-+# CONFIG_LDM_PARTITION is not set
-+# CONFIG_SGI_PARTITION is not set
-+# CONFIG_ULTRIX_PARTITION is not set
-+# CONFIG_SUN_PARTITION is not set
-+# CONFIG_KARMA_PARTITION is not set
-+# CONFIG_EFI_PARTITION is not set
-+# CONFIG_SYSV68_PARTITION is not set
-+CONFIG_NLS=y
-+CONFIG_NLS_DEFAULT="iso8859-1"
-+CONFIG_NLS_CODEPAGE_437=y
-+# CONFIG_NLS_CODEPAGE_737 is not set
-+# CONFIG_NLS_CODEPAGE_775 is not set
-+# CONFIG_NLS_CODEPAGE_850 is not set
-+# CONFIG_NLS_CODEPAGE_852 is not set
-+# CONFIG_NLS_CODEPAGE_855 is not set
-+# CONFIG_NLS_CODEPAGE_857 is not set
-+# CONFIG_NLS_CODEPAGE_860 is not set
-+# CONFIG_NLS_CODEPAGE_861 is not set
-+# CONFIG_NLS_CODEPAGE_862 is not set
-+# CONFIG_NLS_CODEPAGE_863 is not set
-+# CONFIG_NLS_CODEPAGE_864 is not set
-+# CONFIG_NLS_CODEPAGE_865 is not set
-+# CONFIG_NLS_CODEPAGE_866 is not set
-+# CONFIG_NLS_CODEPAGE_869 is not set
-+# CONFIG_NLS_CODEPAGE_936 is not set
-+# CONFIG_NLS_CODEPAGE_950 is not set
-+# CONFIG_NLS_CODEPAGE_932 is not set
-+# CONFIG_NLS_CODEPAGE_949 is not set
-+# CONFIG_NLS_CODEPAGE_874 is not set
-+# CONFIG_NLS_ISO8859_8 is not set
-+# CONFIG_NLS_CODEPAGE_1250 is not set
-+# CONFIG_NLS_CODEPAGE_1251 is not set
-+# CONFIG_NLS_ASCII is not set
-+CONFIG_NLS_ISO8859_1=y
-+# CONFIG_NLS_ISO8859_2 is not set
-+# CONFIG_NLS_ISO8859_3 is not set
-+# CONFIG_NLS_ISO8859_4 is not set
-+# CONFIG_NLS_ISO8859_5 is not set
-+# CONFIG_NLS_ISO8859_6 is not set
-+# CONFIG_NLS_ISO8859_7 is not set
-+# CONFIG_NLS_ISO8859_9 is not set
-+# CONFIG_NLS_ISO8859_13 is not set
-+# CONFIG_NLS_ISO8859_14 is not set
-+# CONFIG_NLS_ISO8859_15 is not set
-+# CONFIG_NLS_KOI8_R is not set
-+# CONFIG_NLS_KOI8_U is not set
-+# CONFIG_NLS_UTF8 is not set
-+# CONFIG_DLM is not set
-+
-+#
-+# Kernel hacking
-+#
-+# CONFIG_PRINTK_TIME is not set
-+CONFIG_ENABLE_WARN_DEPRECATED=y
-+CONFIG_ENABLE_MUST_CHECK=y
-+CONFIG_FRAME_WARN=1024
-+CONFIG_MAGIC_SYSRQ=y
-+# CONFIG_UNUSED_SYMBOLS is not set
-+CONFIG_DEBUG_FS=y
-+# CONFIG_HEADERS_CHECK is not set
-+CONFIG_DEBUG_KERNEL=y
-+# CONFIG_DEBUG_SHIRQ is not set
-+CONFIG_DETECT_SOFTLOCKUP=y
-+# CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC is not set
-+CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC_VALUE=0
-+CONFIG_SCHED_DEBUG=y
-+# CONFIG_SCHEDSTATS is not set
-+# CONFIG_TIMER_STATS is not set
-+# CONFIG_DEBUG_OBJECTS is not set
-+# CONFIG_DEBUG_SLAB is not set
-+# CONFIG_DEBUG_RT_MUTEXES is not set
-+# CONFIG_RT_MUTEX_TESTER is not set
-+# CONFIG_DEBUG_SPINLOCK is not set
-+CONFIG_DEBUG_MUTEXES=y
-+# CONFIG_DEBUG_LOCK_ALLOC is not set
-+# CONFIG_PROVE_LOCKING is not set
-+# CONFIG_LOCK_STAT is not set
-+# CONFIG_DEBUG_SPINLOCK_SLEEP is not set
-+# CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set
-+# CONFIG_DEBUG_KOBJECT is not set
-+CONFIG_DEBUG_BUGVERBOSE=y
-+CONFIG_DEBUG_INFO=y
-+# CONFIG_DEBUG_VM is not set
-+# CONFIG_DEBUG_WRITECOUNT is not set
-+# CONFIG_DEBUG_MEMORY_INIT is not set
-+# CONFIG_DEBUG_LIST is not set
-+# CONFIG_DEBUG_SG is not set
-+CONFIG_FRAME_POINTER=y
-+# CONFIG_BOOT_PRINTK_DELAY is not set
-+# CONFIG_RCU_TORTURE_TEST is not set
-+# CONFIG_RCU_CPU_STALL_DETECTOR is not set
-+# CONFIG_BACKTRACE_SELF_TEST is not set
-+# CONFIG_DEBUG_BLOCK_EXT_DEVT is not set
-+# CONFIG_FAULT_INJECTION is not set
-+# CONFIG_LATENCYTOP is not set
-+CONFIG_HAVE_FUNCTION_TRACER=y
-+
-+#
-+# Tracers
-+#
-+# CONFIG_FUNCTION_TRACER is not set
-+# CONFIG_IRQSOFF_TRACER is not set
-+# CONFIG_SCHED_TRACER is not set
-+# CONFIG_CONTEXT_SWITCH_TRACER is not set
-+# CONFIG_BOOT_TRACER is not set
-+# CONFIG_STACK_TRACER is not set
-+# CONFIG_DYNAMIC_PRINTK_DEBUG is not set
-+# CONFIG_SAMPLES is not set
-+CONFIG_HAVE_ARCH_KGDB=y
-+# CONFIG_KGDB is not set
-+CONFIG_DEBUG_USER=y
-+CONFIG_DEBUG_ERRORS=y
-+# CONFIG_DEBUG_STACK_USAGE is not set
-+# CONFIG_DEBUG_LL is not set
-+
-+#
-+# Security options
-+#
-+# CONFIG_KEYS is not set
-+# CONFIG_SECURITY is not set
-+# CONFIG_SECURITYFS is not set
-+# CONFIG_SECURITY_FILE_CAPABILITIES is not set
-+CONFIG_CRYPTO=y
-+
-+#
-+# Crypto core or helper
-+#
-+# CONFIG_CRYPTO_FIPS is not set
-+CONFIG_CRYPTO_ALGAPI=y
-+CONFIG_CRYPTO_ALGAPI2=y
-+CONFIG_CRYPTO_AEAD2=y
-+CONFIG_CRYPTO_BLKCIPHER=y
-+CONFIG_CRYPTO_BLKCIPHER2=y
-+CONFIG_CRYPTO_HASH2=y
-+CONFIG_CRYPTO_RNG2=y
-+CONFIG_CRYPTO_MANAGER=y
-+CONFIG_CRYPTO_MANAGER2=y
-+# CONFIG_CRYPTO_GF128MUL is not set
-+# CONFIG_CRYPTO_NULL is not set
-+# CONFIG_CRYPTO_CRYPTD is not set
-+# CONFIG_CRYPTO_AUTHENC is not set
-+# CONFIG_CRYPTO_TEST is not set
-+
-+#
-+# Authenticated Encryption with Associated Data
-+#
-+# CONFIG_CRYPTO_CCM is not set
-+# CONFIG_CRYPTO_GCM is not set
-+# CONFIG_CRYPTO_SEQIV is not set
-+
-+#
-+# Block modes
-+#
-+CONFIG_CRYPTO_CBC=y
-+# CONFIG_CRYPTO_CTR is not set
-+# CONFIG_CRYPTO_CTS is not set
-+CONFIG_CRYPTO_ECB=m
-+# CONFIG_CRYPTO_LRW is not set
-+CONFIG_CRYPTO_PCBC=m
-+# CONFIG_CRYPTO_XTS is not set
-+
-+#
-+# Hash modes
-+#
-+# CONFIG_CRYPTO_HMAC is not set
-+# CONFIG_CRYPTO_XCBC is not set
-+
-+#
-+# Digest
-+#
-+# CONFIG_CRYPTO_CRC32C is not set
-+# CONFIG_CRYPTO_MD4 is not set
-+CONFIG_CRYPTO_MD5=y
-+# CONFIG_CRYPTO_MICHAEL_MIC is not set
-+# CONFIG_CRYPTO_RMD128 is not set
-+# CONFIG_CRYPTO_RMD160 is not set
-+# CONFIG_CRYPTO_RMD256 is not set
-+# CONFIG_CRYPTO_RMD320 is not set
-+# CONFIG_CRYPTO_SHA1 is not set
-+# CONFIG_CRYPTO_SHA256 is not set
-+# CONFIG_CRYPTO_SHA512 is not set
-+# CONFIG_CRYPTO_TGR192 is not set
-+# CONFIG_CRYPTO_WP512 is not set
-+
-+#
-+# Ciphers
-+#
-+# CONFIG_CRYPTO_AES is not set
-+# CONFIG_CRYPTO_ANUBIS is not set
-+# CONFIG_CRYPTO_ARC4 is not set
-+# CONFIG_CRYPTO_BLOWFISH is not set
-+# CONFIG_CRYPTO_CAMELLIA is not set
-+# CONFIG_CRYPTO_CAST5 is not set
-+# CONFIG_CRYPTO_CAST6 is not set
-+CONFIG_CRYPTO_DES=y
-+# CONFIG_CRYPTO_FCRYPT is not set
-+# CONFIG_CRYPTO_KHAZAD is not set
-+# CONFIG_CRYPTO_SALSA20 is not set
-+# CONFIG_CRYPTO_SEED is not set
-+# CONFIG_CRYPTO_SERPENT is not set
-+# CONFIG_CRYPTO_TEA is not set
-+# CONFIG_CRYPTO_TWOFISH is not set
-+
-+#
-+# Compression
-+#
-+# CONFIG_CRYPTO_DEFLATE is not set
-+# CONFIG_CRYPTO_LZO is not set
-+
-+#
-+# Random Number Generation
-+#
-+# CONFIG_CRYPTO_ANSI_CPRNG is not set
-+CONFIG_CRYPTO_HW=y
-+
-+#
-+# Library routines
-+#
-+CONFIG_BITREVERSE=y
-+CONFIG_CRC_CCITT=y
-+# CONFIG_CRC16 is not set
-+# CONFIG_CRC_T10DIF is not set
-+# CONFIG_CRC_ITU_T is not set
-+CONFIG_CRC32=y
-+# CONFIG_CRC7 is not set
-+CONFIG_LIBCRC32C=y
-+CONFIG_ZLIB_INFLATE=y
-+CONFIG_ZLIB_DEFLATE=y
-+CONFIG_PLIST=y
-+CONFIG_HAS_IOMEM=y
-+CONFIG_HAS_IOPORT=y
-+CONFIG_HAS_DMA=y
-diff --git a/arch/arm/mach-omap2/board-3430sdp.c b/arch/arm/mach-omap2/board-3430sdp.c
-index ade186b..529322f 100644
---- a/arch/arm/mach-omap2/board-3430sdp.c
-+++ b/arch/arm/mach-omap2/board-3430sdp.c
-@@ -39,6 +39,7 @@
- #include <mach/keypad.h>
- #include <mach/dma.h>
- #include <mach/gpmc.h>
-+#include <mach/display.h>
-
- #include <asm/io.h>
- #include <asm/delay.h>
-@@ -238,14 +239,214 @@ static struct spi_board_info sdp3430_spi_board_info[] __initdata = {
- },
- };
-
--static struct platform_device sdp3430_lcd_device = {
-- .name = "sdp2430_lcd",
-- .id = -1,
-+
-+#define SDP2430_LCD_PANEL_BACKLIGHT_GPIO 91
-+#define SDP2430_LCD_PANEL_ENABLE_GPIO 154
-+#if 0
-+#define SDP3430_LCD_PANEL_BACKLIGHT_GPIO 24
-+#define SDP3430_LCD_PANEL_ENABLE_GPIO 28
-+#else
-+#define SDP3430_LCD_PANEL_BACKLIGHT_GPIO 8
-+#define SDP3430_LCD_PANEL_ENABLE_GPIO 5
-+#endif
-+
-+#define PM_RECEIVER TWL4030_MODULE_PM_RECEIVER
-+#define ENABLE_VAUX2_DEDICATED 0x09
-+#define ENABLE_VAUX2_DEV_GRP 0x20
-+#define ENABLE_VAUX3_DEDICATED 0x03
-+#define ENABLE_VAUX3_DEV_GRP 0x20
-+
-+#define ENABLE_VPLL2_DEDICATED 0x05
-+#define ENABLE_VPLL2_DEV_GRP 0xE0
-+#define TWL4030_VPLL2_DEV_GRP 0x33
-+#define TWL4030_VPLL2_DEDICATED 0x36
-+
-+#define t2_out(c, r, v) twl4030_i2c_write_u8(c, r, v)
-+
-+static unsigned backlight_gpio;
-+static unsigned enable_gpio;
-+static int lcd_enabled;
-+static int dvi_enabled;
-+
-+static void __init sdp3430_display_init(void)
-+{
-+ int r;
-+
-+ enable_gpio = SDP3430_LCD_PANEL_ENABLE_GPIO;
-+ backlight_gpio = SDP3430_LCD_PANEL_BACKLIGHT_GPIO;
-+
-+ r = gpio_request(enable_gpio, "LCD reset");
-+ if (r) {
-+ printk(KERN_ERR "failed to get LCD reset GPIO\n");
-+ goto err0;
-+ }
-+
-+ r = gpio_request(backlight_gpio, "LCD Backlight");
-+ if (r) {
-+ printk(KERN_ERR "failed to get LCD backlight GPIO\n");
-+ goto err1;
-+ }
-+
-+ gpio_direction_output(enable_gpio, 0);
-+ gpio_direction_output(backlight_gpio, 0);
-+
-+ return;
-+err1:
-+ gpio_free(enable_gpio);
-+err0:
-+ return;
-+}
-+
-+
-+static int sdp3430_panel_enable_lcd(struct omap_display *display)
-+{
-+ u8 ded_val, ded_reg;
-+ u8 grp_val, grp_reg;
-+
-+ if (dvi_enabled) {
-+ printk(KERN_ERR "cannot enable LCD, DVI is enabled\n");
-+ return -EINVAL;
-+ }
-+
-+ if (omap_rev() > OMAP3430_REV_ES1_0) {
-+ t2_out(PM_RECEIVER, ENABLE_VPLL2_DEDICATED,
-+ TWL4030_VPLL2_DEDICATED);
-+ t2_out(PM_RECEIVER, ENABLE_VPLL2_DEV_GRP,
-+ TWL4030_VPLL2_DEV_GRP);
-+ }
-+
-+ ded_reg = TWL4030_VAUX3_DEDICATED;
-+ ded_val = ENABLE_VAUX3_DEDICATED;
-+ grp_reg = TWL4030_VAUX3_DEV_GRP;
-+ grp_val = ENABLE_VAUX3_DEV_GRP;
-+
-+ gpio_direction_output(enable_gpio, 1);
-+ gpio_direction_output(backlight_gpio, 1);
-+
-+ if (0 != t2_out(PM_RECEIVER, ded_val, ded_reg))
-+ return -EIO;
-+ if (0 != t2_out(PM_RECEIVER, grp_val, grp_reg))
-+ return -EIO;
-+
-+ lcd_enabled = 1;
-+
-+ return 0;
-+}
-+
-+static void sdp3430_panel_disable_lcd(struct omap_display *display)
-+{
-+ lcd_enabled = 0;
-+
-+ gpio_direction_output(enable_gpio, 0);
-+ gpio_direction_output(backlight_gpio, 0);
-+
-+ if (omap_rev() > OMAP3430_REV_ES1_0) {
-+ t2_out(PM_RECEIVER, 0x0, TWL4030_VPLL2_DEDICATED);
-+ t2_out(PM_RECEIVER, 0x0, TWL4030_VPLL2_DEV_GRP);
-+ mdelay(4);
-+ }
-+}
-+
-+static struct omap_display_data sdp3430_display_data = {
-+ .type = OMAP_DISPLAY_TYPE_DPI,
-+ .name = "lcd",
-+ .panel_name = "sharp-ls037v7dw01",
-+ .u.dpi.data_lines = 16,
-+ .panel_enable = sdp3430_panel_enable_lcd,
-+ .panel_disable = sdp3430_panel_disable_lcd,
-+};
-+
-+static int sdp3430_panel_enable_dvi(struct omap_display *display)
-+{
-+ if (lcd_enabled) {
-+ printk(KERN_ERR "cannot enable DVI, LCD is enabled\n");
-+ return -EINVAL;
-+ }
-+
-+ if (omap_rev() > OMAP3430_REV_ES1_0) {
-+ t2_out(PM_RECEIVER, ENABLE_VPLL2_DEDICATED,
-+ TWL4030_VPLL2_DEDICATED);
-+ t2_out(PM_RECEIVER, ENABLE_VPLL2_DEV_GRP,
-+ TWL4030_VPLL2_DEV_GRP);
-+ }
-+
-+ dvi_enabled = 1;
-+
-+ return 0;
-+}
-+
-+static void sdp3430_panel_disable_dvi(struct omap_display *display)
-+{
-+ dvi_enabled = 0;
-+
-+ if (omap_rev() > OMAP3430_REV_ES1_0) {
-+ t2_out(PM_RECEIVER, 0x0, TWL4030_VPLL2_DEDICATED);
-+ t2_out(PM_RECEIVER, 0x0, TWL4030_VPLL2_DEV_GRP);
-+ mdelay(4);
-+ }
-+}
-+
-+
-+static struct omap_display_data sdp3430_display_data_dvi = {
-+ .type = OMAP_DISPLAY_TYPE_DPI,
-+ .name = "dvi",
-+ .panel_name = "panel-generic",
-+ .u.dpi.data_lines = 24,
-+ .panel_enable = sdp3430_panel_enable_dvi,
-+ .panel_disable = sdp3430_panel_disable_dvi,
- };
-
-+static int sdp3430_panel_enable_tv(struct omap_display *display)
-+{
-+#define ENABLE_VDAC_DEDICATED 0x03
-+#define ENABLE_VDAC_DEV_GRP 0x20
-+
-+ twl4030_i2c_write_u8(TWL4030_MODULE_PM_RECEIVER,
-+ ENABLE_VDAC_DEDICATED,
-+ TWL4030_VDAC_DEDICATED);
-+ twl4030_i2c_write_u8(TWL4030_MODULE_PM_RECEIVER,
-+ ENABLE_VDAC_DEV_GRP, TWL4030_VDAC_DEV_GRP);
-+
-+ return 0;
-+}
-+
-+static void sdp3430_panel_disable_tv(struct omap_display *display)
-+{
-+ twl4030_i2c_write_u8(TWL4030_MODULE_PM_RECEIVER, 0x00,
-+ TWL4030_VDAC_DEDICATED);
-+ twl4030_i2c_write_u8(TWL4030_MODULE_PM_RECEIVER, 0x00,
-+ TWL4030_VDAC_DEV_GRP);
-+}
-+
-+static struct omap_display_data sdp3430_display_data_tv = {
-+ .type = OMAP_DISPLAY_TYPE_VENC,
-+ .name = "tv",
-+ .u.venc.type = OMAP_DSS_VENC_TYPE_SVIDEO,
-+ .panel_enable = sdp3430_panel_enable_tv,
-+ .panel_disable = sdp3430_panel_disable_tv,
-+};
-+
-+static struct omap_dss_platform_data sdp3430_dss_data = {
-+ .num_displays = 3,
-+ .displays = {
-+ &sdp3430_display_data,
-+ &sdp3430_display_data_dvi,
-+ &sdp3430_display_data_tv,
-+ }
-+};
-+
-+static struct platform_device sdp3430_dss_device = {
-+ .name = "omap-dss",
-+ .id = -1,
-+ .dev = {
-+ .platform_data = &sdp3430_dss_data,
-+ },
-+};
-+
-+
- static struct platform_device *sdp3430_devices[] __initdata = {
- &sdp3430_smc91x_device,
-- &sdp3430_lcd_device,
-+ &sdp3430_dss_device,
- };
-
- static inline void __init sdp3430_init_smc91x(void)
-@@ -292,13 +493,8 @@ static struct omap_uart_config sdp3430_uart_config __initdata = {
- .enabled_uarts = ((1 << 0) | (1 << 1) | (1 << 2)),
- };
-
--static struct omap_lcd_config sdp3430_lcd_config __initdata = {
-- .ctrl_name = "internal",
--};
--
- static struct omap_board_config_kernel sdp3430_config[] __initdata = {
- { OMAP_TAG_UART, &sdp3430_uart_config },
-- { OMAP_TAG_LCD, &sdp3430_lcd_config },
- };
-
- static int sdp3430_batt_table[] = {
-@@ -481,6 +677,7 @@ static void __init omap_3430sdp_init(void)
- usb_musb_init();
- usb_ehci_init();
- twl4030_mmc_init(mmc);
-+ sdp3430_display_init();
- }
-
- static void __init omap_3430sdp_map_io(void)
---
-1.5.6.3
-
diff --git a/recipes/linux/linux-omap-pm/0007-DSS-Support-for-OMAP3-EVM-board.patch b/recipes/linux/linux-omap-pm/0007-DSS-Support-for-OMAP3-EVM-board.patch
deleted file mode 100644
index fb12ea4c03..0000000000
--- a/recipes/linux/linux-omap-pm/0007-DSS-Support-for-OMAP3-EVM-board.patch
+++ /dev/null
@@ -1,255 +0,0 @@
-From 98b4c02ad7229074414bc51bae1452fe93ab5111 Mon Sep 17 00:00:00 2001
-From: Tomi Valkeinen <tomi.valkeinen@nokia.com>
-Date: Mon, 5 Jan 2009 14:57:32 +0200
-Subject: [PATCH] DSS: Support for OMAP3 EVM board
-
-Coded by Vaibhav Hiremath <hvaibhav@ti.com>
-
-Signed-off-by: Tomi Valkeinen <tomi.valkeinen@nokia.com>
----
- arch/arm/mach-omap2/board-omap3evm.c | 203 ++++++++++++++++++++++++++++++++-
- 1 files changed, 196 insertions(+), 7 deletions(-)
-
-diff --git a/arch/arm/mach-omap2/board-omap3evm.c b/arch/arm/mach-omap2/board-omap3evm.c
-index e4e60e2..e7ec9e6 100644
---- a/arch/arm/mach-omap2/board-omap3evm.c
-+++ b/arch/arm/mach-omap2/board-omap3evm.c
-@@ -36,6 +36,7 @@
- #include <mach/usb-ehci.h>
- #include <mach/common.h>
- #include <mach/mcspi.h>
-+#include <mach/display.h>
-
- #include "sdram-micron-mt46h32m32lf-6.h"
- #include "twl4030-generic-scripts.h"
-@@ -160,13 +161,201 @@ static int __init omap3_evm_i2c_init(void)
- return 0;
- }
-
--static struct platform_device omap3_evm_lcd_device = {
-- .name = "omap3evm_lcd",
-- .id = -1,
-+#define LCD_PANEL_LR 2
-+#define LCD_PANEL_UD 3
-+#define LCD_PANEL_INI 152
-+#define LCD_PANEL_ENABLE_GPIO 153
-+#define LCD_PANEL_QVGA 154
-+#define LCD_PANEL_RESB 155
-+
-+#define ENABLE_VDAC_DEDICATED 0x03
-+#define ENABLE_VDAC_DEV_GRP 0x20
-+#define ENABLE_VPLL2_DEDICATED 0x05
-+#define ENABLE_VPLL2_DEV_GRP 0xE0
-+
-+#define TWL4030_GPIODATA_IN3 0x03
-+#define TWL4030_GPIODATA_DIR3 0x06
-+#define TWL4030_VPLL2_DEV_GRP 0x33
-+#define TWL4030_VPLL2_DEDICATED 0x36
-+
-+static int lcd_enabled;
-+static int dvi_enabled;
-+
-+static void __init omap3_evm_display_init(void)
-+{
-+ int r;
-+ r = gpio_request(LCD_PANEL_LR, "lcd_panel_lr");
-+ if (r) {
-+ printk(KERN_ERR "failed to get LCD_PANEL_LR\n");
-+ return;
-+ }
-+ r = gpio_request(LCD_PANEL_UD, "lcd_panel_ud");
-+ if (r) {
-+ printk(KERN_ERR "failed to get LCD_PANEL_UD\n");
-+ goto err_1;
-+ }
-+
-+ r = gpio_request(LCD_PANEL_INI, "lcd_panel_ini");
-+ if (r) {
-+ printk(KERN_ERR "failed to get LCD_PANEL_INI\n");
-+ goto err_2;
-+ }
-+ r = gpio_request(LCD_PANEL_RESB, "lcd_panel_resb");
-+ if (r) {
-+ printk(KERN_ERR "failed to get LCD_PANEL_RESB\n");
-+ goto err_3;
-+ }
-+ r = gpio_request(LCD_PANEL_QVGA, "lcd_panel_qvga");
-+ if (r) {
-+ printk(KERN_ERR "failed to get LCD_PANEL_QVGA\n");
-+ goto err_4;
-+ }
-+
-+ gpio_direction_output(LCD_PANEL_LR, 0);
-+ gpio_direction_output(LCD_PANEL_UD, 0);
-+ gpio_direction_output(LCD_PANEL_INI, 0);
-+ gpio_direction_output(LCD_PANEL_RESB, 0);
-+ gpio_direction_output(LCD_PANEL_QVGA, 0);
-+
-+#define TWL_LED_LEDEN 0x00
-+#define TWL_PWMA_PWMAON 0x00
-+#define TWL_PWMA_PWMAOFF 0x01
-+
-+ twl4030_i2c_write_u8(TWL4030_MODULE_LED, 0x11, TWL_LED_LEDEN);
-+ twl4030_i2c_write_u8(TWL4030_MODULE_PWMA, 0x01, TWL_PWMA_PWMAON);
-+ twl4030_i2c_write_u8(TWL4030_MODULE_PWMA, 0x02, TWL_PWMA_PWMAOFF);
-+
-+ gpio_direction_output(LCD_PANEL_RESB, 1);
-+ gpio_direction_output(LCD_PANEL_INI, 1);
-+ gpio_direction_output(LCD_PANEL_QVGA, 0);
-+ gpio_direction_output(LCD_PANEL_LR, 1);
-+ gpio_direction_output(LCD_PANEL_UD, 1);
-+
-+ return;
-+
-+err_4:
-+ gpio_free(LCD_PANEL_RESB);
-+err_3:
-+ gpio_free(LCD_PANEL_INI);
-+err_2:
-+ gpio_free(LCD_PANEL_UD);
-+err_1:
-+ gpio_free(LCD_PANEL_LR);
-+
-+}
-+
-+static int omap3_evm_panel_enable_lcd(struct omap_display *display)
-+{
-+ if (dvi_enabled) {
-+ printk(KERN_ERR "cannot enable LCD, DVI is enabled\n");
-+ return -EINVAL;
-+ }
-+ if (omap_rev() > OMAP3430_REV_ES1_0) {
-+ twl4030_i2c_write_u8(TWL4030_MODULE_PM_RECEIVER,
-+ ENABLE_VPLL2_DEDICATED, TWL4030_VPLL2_DEDICATED);
-+ twl4030_i2c_write_u8(TWL4030_MODULE_PM_RECEIVER,
-+ ENABLE_VPLL2_DEV_GRP, TWL4030_VPLL2_DEV_GRP);
-+ }
-+ gpio_direction_output(LCD_PANEL_ENABLE_GPIO, 0);
-+ lcd_enabled = 1;
-+ return 0;
-+}
-+
-+static void omap3_evm_panel_disable_lcd(struct omap_display *display)
-+{
-+ if (omap_rev() > OMAP3430_REV_ES1_0) {
-+ twl4030_i2c_write_u8(TWL4030_MODULE_PM_RECEIVER, 0x0,
-+ TWL4030_VPLL2_DEDICATED);
-+ twl4030_i2c_write_u8(TWL4030_MODULE_PM_RECEIVER, 0x0,
-+ TWL4030_VPLL2_DEV_GRP);
-+ }
-+ gpio_direction_output(LCD_PANEL_ENABLE_GPIO, 1);
-+ lcd_enabled = 0;
-+}
-+
-+static struct omap_display_data omap3_evm_display_data = {
-+ .type = OMAP_DISPLAY_TYPE_DPI,
-+ .name = "lcd",
-+ .panel_name = "sharp-ls037v7dw01",
-+ .u.dpi.data_lines = 18,
-+ .panel_enable = omap3_evm_panel_enable_lcd,
-+ .panel_disable = omap3_evm_panel_disable_lcd,
- };
-
--static struct omap_lcd_config omap3_evm_lcd_config __initdata = {
-- .ctrl_name = "internal",
-+static int omap3_evm_panel_enable_tv(struct omap_display *display)
-+{
-+ twl4030_i2c_write_u8(TWL4030_MODULE_PM_RECEIVER,
-+ ENABLE_VDAC_DEDICATED, TWL4030_VDAC_DEDICATED);
-+ twl4030_i2c_write_u8(TWL4030_MODULE_PM_RECEIVER,
-+ ENABLE_VDAC_DEV_GRP, TWL4030_VDAC_DEV_GRP);
-+ return 0;
-+}
-+
-+static void omap3_evm_panel_disable_tv(struct omap_display *display)
-+{
-+ twl4030_i2c_write_u8(TWL4030_MODULE_PM_RECEIVER, 0x00,
-+ TWL4030_VDAC_DEDICATED);
-+ twl4030_i2c_write_u8(TWL4030_MODULE_PM_RECEIVER, 0x00,
-+ TWL4030_VDAC_DEV_GRP);
-+}
-+
-+static struct omap_display_data omap3_evm_display_data_tv = {
-+ .type = OMAP_DISPLAY_TYPE_VENC,
-+ .name = "tv",
-+ .u.venc.type = OMAP_DSS_VENC_TYPE_SVIDEO,
-+ .panel_enable = omap3_evm_panel_enable_tv,
-+ .panel_disable = omap3_evm_panel_disable_tv,
-+};
-+
-+
-+static int omap3_evm_panel_enable_dvi(struct omap_display *display)
-+{
-+ if (lcd_enabled) {
-+ printk(KERN_ERR "cannot enable DVI, LCD is enabled\n");
-+ return -EINVAL;
-+ }
-+ twl4030_i2c_write_u8(TWL4030_MODULE_GPIO, 0x80,
-+ TWL4030_GPIODATA_IN3);
-+ twl4030_i2c_write_u8(TWL4030_MODULE_GPIO, 0x80,
-+ TWL4030_GPIODATA_DIR3);
-+ dvi_enabled = 1;
-+
-+ return 0;
-+}
-+
-+static void omap3_evm_panel_disable_dvi(struct omap_display *display)
-+{
-+ twl4030_i2c_write_u8(TWL4030_MODULE_GPIO, 0x00,
-+ TWL4030_GPIODATA_IN3);
-+ twl4030_i2c_write_u8(TWL4030_MODULE_GPIO, 0x00,
-+ TWL4030_GPIODATA_DIR3);
-+ dvi_enabled = 0;
-+}
-+
-+
-+static struct omap_display_data omap3_evm_display_data_dvi = {
-+ .type = OMAP_DISPLAY_TYPE_DPI,
-+ .name = "dvi",
-+ .panel_name = "panel-generic",
-+ .u.dpi.data_lines = 24,
-+ .panel_enable = omap3_evm_panel_enable_dvi,
-+ .panel_disable = omap3_evm_panel_disable_dvi,
-+};
-+
-+static struct omap_dss_platform_data omap3_evm_dss_data = {
-+ .num_displays = 3,
-+ .displays = {
-+ &omap3_evm_display_data,
-+ &omap3_evm_display_data_dvi,
-+ &omap3_evm_display_data_tv,
-+ }
-+};
-+static struct platform_device omap3_evm_dss_device = {
-+ .name = "omap-dss",
-+ .id = -1,
-+ .dev = {
-+ .platform_data = &omap3_evm_dss_data,
-+ },
- };
-
- static void ads7846_dev_init(void)
-@@ -225,11 +414,10 @@ static void __init omap3_evm_init_irq(void)
-
- static struct omap_board_config_kernel omap3_evm_config[] __initdata = {
- { OMAP_TAG_UART, &omap3_evm_uart_config },
-- { OMAP_TAG_LCD, &omap3_evm_lcd_config },
- };
-
- static struct platform_device *omap3_evm_devices[] __initdata = {
-- &omap3_evm_lcd_device,
-+ &omap3_evm_dss_device,
- &omap3evm_smc911x_device,
- };
-
-@@ -260,6 +448,7 @@ static void __init omap3_evm_init(void)
- usb_ehci_init();
- omap3evm_flash_init();
- ads7846_dev_init();
-+ omap3_evm_display_init();
- }
-
- static void __init omap3_evm_map_io(void)
---
-1.5.6.3
-
diff --git a/recipes/linux/linux-omap-pm/0009-DSS-OMAPFB-allocate-fbmem-only-for-fb0-or-if-spes.patch b/recipes/linux/linux-omap-pm/0009-DSS-OMAPFB-allocate-fbmem-only-for-fb0-or-if-spes.patch
deleted file mode 100644
index 89174909a0..0000000000
--- a/recipes/linux/linux-omap-pm/0009-DSS-OMAPFB-allocate-fbmem-only-for-fb0-or-if-spes.patch
+++ /dev/null
@@ -1,121 +0,0 @@
-From bd4fd1dd3be7ff31a6cf779f0683d617280ac92e Mon Sep 17 00:00:00 2001
-From: Tomi Valkeinen <tomi.valkeinen@nokia.com>
-Date: Wed, 7 Jan 2009 16:44:17 +0200
-Subject: [PATCH] DSS: OMAPFB: allocate fbmem only for fb0, or if spesified in vram arg
-
----
- drivers/video/omap2/omapfb-main.c | 65 +++++++++++++++++++-----------------
- 1 files changed, 34 insertions(+), 31 deletions(-)
-
-diff --git a/drivers/video/omap2/omapfb-main.c b/drivers/video/omap2/omapfb-main.c
-index 76bd416..9dbff42 100644
---- a/drivers/video/omap2/omapfb-main.c
-+++ b/drivers/video/omap2/omapfb-main.c
-@@ -939,11 +939,12 @@ static int omapfb_alloc_fbmem_display(struct omapfb2_device *fbdev, int fbnum,
- break;
- }
-
-- size = display->panel->timings.x_res * display->panel->timings.y_res *
-- bytespp;
--
-- if (def_vram > size)
-+ if (def_vram)
- size = def_vram;
-+ else
-+ size = display->panel->timings.x_res *
-+ display->panel->timings.y_res *
-+ bytespp;
-
- return omapfb_alloc_fbmem(fbdev, fbnum, size);
- }
-@@ -956,13 +957,25 @@ static int omapfb_allocate_all_fbs(struct omapfb2_device *fbdev)
- memset(vrams, 0, sizeof(vrams));
-
- if (def_vram) {
-- char *p = def_vram;
-+ char str[64];
-+ char *tok, *s;
-+
-+ if (strlen(def_vram) > sizeof(str) - 1) {
-+ dev_err(fbdev->dev, "Illegal vram parameters\n");
-+ return -EINVAL;
-+ }
-+
-+ strcpy(str, def_vram);
-+
-+ s = str;
- i = 0;
-
-- while (true) {
-+ while ((tok = strsep(&s, ","))) {
- unsigned long size;
-
-- size = memparse(p, &p);
-+ printk("param '%s'\n", tok);
-+
-+ size = memparse(tok, NULL);
-
- if (size == 0) {
- dev_err(fbdev->dev, "illegal vram size\n");
-@@ -970,19 +983,18 @@ static int omapfb_allocate_all_fbs(struct omapfb2_device *fbdev)
- }
-
- vrams[i++] = size;
--
-- if (*p != ',')
-- break;
--
-- p++;
- }
- }
-
- for (i = 0; i < fbdev->num_fbs; i++) {
-- r = omapfb_alloc_fbmem_display(fbdev, i, vrams[i]);
-+ /* allocate memory automatically only for fb0, or if
-+ * excplicitly defined with vram option */
-+ if (i == 0 || vrams[i] != 0) {
-+ r = omapfb_alloc_fbmem_display(fbdev, i, vrams[i]);
-
-- if (r)
-- return r;
-+ if (r)
-+ return r;
-+ }
- }
-
- for (i = 0; i < fbdev->num_fbs; i++) {
-@@ -1167,24 +1179,15 @@ static int omapfb_create_framebuffers(struct omapfb2_device *fbdev)
- dev_err(fbdev->dev, "failed to change mode\n");
- }
-
-- /* Enable the first framebuffer that has overlay that is connected
-- * to display. Usually this would be the GFX plane. */
-- r = 0;
-- for (i = 0; i < fbdev->num_fbs; i++) {
-- struct omapfb_info *ofbi = FB2OFB(fbdev->fbs[i]);
-- int t;
-+ /* Enable fb0 */
-+ if (fbdev->num_fbs > 0) {
-+ struct omapfb_info *ofbi = FB2OFB(fbdev->fbs[0]);
-
-- for (t = 0; t < ofbi->num_overlays; t++) {
-- struct omap_overlay *ovl = ofbi->overlays[t];
-- if (ovl->manager && ovl->manager->display) {
-- ovl->enable(ovl, 1);
-- r = 1;
-- break;
-- }
-- }
-+ if (ofbi->num_overlays > 0 ) {
-+ struct omap_overlay *ovl = ofbi->overlays[0];
-
-- if (r)
-- break;
-+ ovl->enable(ovl, 1);
-+ }
- }
-
- DBG("create_framebuffers done\n");
---
-1.5.6.3
-
diff --git a/recipes/linux/linux-omap-pm/0010-DSS-OMAPFB-remove-extra-omapfb_setup_overlay-call.patch b/recipes/linux/linux-omap-pm/0010-DSS-OMAPFB-remove-extra-omapfb_setup_overlay-call.patch
deleted file mode 100644
index c5ce980772..0000000000
--- a/recipes/linux/linux-omap-pm/0010-DSS-OMAPFB-remove-extra-omapfb_setup_overlay-call.patch
+++ /dev/null
@@ -1,29 +0,0 @@
-From 70c3edb223f7bfbc6c5b095826c779b7dd853f10 Mon Sep 17 00:00:00 2001
-From: Tomi Valkeinen <tomi.valkeinen@nokia.com>
-Date: Wed, 7 Jan 2009 17:00:46 +0200
-Subject: [PATCH] OMAPFB: remove extra omapfb_setup_overlay call
-
-It kinda messed things up...
----
- drivers/video/omap2/omapfb-ioctl.c | 5 -----
- 1 files changed, 0 insertions(+), 5 deletions(-)
-
-diff --git a/drivers/video/omap2/omapfb-ioctl.c b/drivers/video/omap2/omapfb-ioctl.c
-index 1f0f044..bb5f791 100644
---- a/drivers/video/omap2/omapfb-ioctl.c
-+++ b/drivers/video/omap2/omapfb-ioctl.c
-@@ -67,11 +67,6 @@ static int omapfb_setup_plane(struct fb_info *fbi, struct omapfb_plane_info *pi)
- goto out;
- }
-
-- r = omapfb_setup_overlay(fbi, ovl, pi->pos_x, pi->pos_y,
-- pi->out_width, pi->out_height);
-- if (r)
-- goto out;
--
- ovl->enable(ovl, pi->enabled);
-
- if (ovl->manager)
---
-1.5.6.3
-
diff --git a/recipes/linux/linux-omap-pm/0011-DSS-OMAPFB-fix-GFX_SYNC-to-be-compatible-with-DSS1.patch b/recipes/linux/linux-omap-pm/0011-DSS-OMAPFB-fix-GFX_SYNC-to-be-compatible-with-DSS1.patch
deleted file mode 100644
index 8d4165ac7a..0000000000
--- a/recipes/linux/linux-omap-pm/0011-DSS-OMAPFB-fix-GFX_SYNC-to-be-compatible-with-DSS1.patch
+++ /dev/null
@@ -1,27 +0,0 @@
-From 36d6e7edd70d16ad57ed745a1c48694805035dc7 Mon Sep 17 00:00:00 2001
-From: Tomi Valkeinen <tomi.valkeinen@nokia.com>
-Date: Wed, 7 Jan 2009 17:17:08 +0200
-Subject: [PATCH] OMAPFB: fix GFX_SYNC to be compatible with DSS1
-
-DSS1 never returned an error from GFX_SYNC ioctl. So we neither.
----
- drivers/video/omap2/omapfb-ioctl.c | 3 ++-
- 1 files changed, 2 insertions(+), 1 deletions(-)
-
-diff --git a/drivers/video/omap2/omapfb-ioctl.c b/drivers/video/omap2/omapfb-ioctl.c
-index bb5f791..0cb0370 100644
---- a/drivers/video/omap2/omapfb-ioctl.c
-+++ b/drivers/video/omap2/omapfb-ioctl.c
-@@ -314,7 +314,8 @@ int omapfb_ioctl(struct fb_info *fbi, unsigned int cmd, unsigned long arg)
- switch (cmd) {
- case OMAPFB_SYNC_GFX:
- if (!display || !display->sync) {
-- r = -EINVAL;
-+ /* DSS1 never returns an error here, so we neither */
-+ /*r = -EINVAL;*/
- break;
- }
-
---
-1.5.6.3
-
diff --git a/recipes/linux/linux-omap-pm/0012-DSS-Add-comments-to-FAKE_VSYNC-to-make-things-more.patch b/recipes/linux/linux-omap-pm/0012-DSS-Add-comments-to-FAKE_VSYNC-to-make-things-more.patch
deleted file mode 100644
index 85e7952c8d..0000000000
--- a/recipes/linux/linux-omap-pm/0012-DSS-Add-comments-to-FAKE_VSYNC-to-make-things-more.patch
+++ /dev/null
@@ -1,27 +0,0 @@
-From 942267b679b7f60b33e034ee29e313925cfbcae0 Mon Sep 17 00:00:00 2001
-From: Tomi Valkeinen <tomi.valkeinen@nokia.com>
-Date: Wed, 7 Jan 2009 17:20:24 +0200
-Subject: [PATCH] DSS: Add comments to FAKE_VSYNC to make things more clear
-
----
- arch/arm/plat-omap/dss/Kconfig | 4 +++-
- 1 files changed, 3 insertions(+), 1 deletions(-)
-
-diff --git a/arch/arm/plat-omap/dss/Kconfig b/arch/arm/plat-omap/dss/Kconfig
-index 6b342df..f0b1f1c 100644
---- a/arch/arm/plat-omap/dss/Kconfig
-+++ b/arch/arm/plat-omap/dss/Kconfig
-@@ -46,7 +46,9 @@ config OMAP2_DSS_FAKE_VSYNC
- default n
- help
- If this is selected, DSI will fake a DISPC VSYNC interrupt
-- when DSI has sent a frame.
-+ when DSI has sent a frame. This is only needed with DSI or
-+ RFBI displays using manual mode, and you want VSYNC to time,
-+ for example, animation.
-
- config OMAP2_DSS_MIN_FCK_PER_PCK
- int "Minimum FCK/PCK ratio (for scaling)"
---
-1.5.6.3
-
diff --git a/recipes/linux/linux-omap-pm/0013-DSS-OMAPFB-remove-extra-spaces.patch b/recipes/linux/linux-omap-pm/0013-DSS-OMAPFB-remove-extra-spaces.patch
deleted file mode 100644
index fac269a319..0000000000
--- a/recipes/linux/linux-omap-pm/0013-DSS-OMAPFB-remove-extra-spaces.patch
+++ /dev/null
@@ -1,25 +0,0 @@
-From 17f3d30a218efba9bf947a667c9c1fa2f4286794 Mon Sep 17 00:00:00 2001
-From: Tomi Valkeinen <tomi.valkeinen@nokia.com>
-Date: Wed, 7 Jan 2009 17:40:59 +0200
-Subject: [PATCH] OMAPFB: remove extra spaces
-
----
- drivers/video/omap2/omapfb-sysfs.c | 2 +-
- 1 files changed, 1 insertions(+), 1 deletions(-)
-
-diff --git a/drivers/video/omap2/omapfb-sysfs.c b/drivers/video/omap2/omapfb-sysfs.c
-index 4383e44..0e153b9 100644
---- a/drivers/video/omap2/omapfb-sysfs.c
-+++ b/drivers/video/omap2/omapfb-sysfs.c
-@@ -337,7 +337,7 @@ static ssize_t show_overlays(struct device *dev, struct device_attribute *attr,
- break;
-
- l += snprintf(buf + l, size - l,
-- "%s t:%s x:%d y:%d iw:%d ih:%d w: %d h: %d e:%d\n",
-+ "%s t:%s x:%d y:%d iw:%d ih:%d w:%d h:%d e:%d\n",
- ovl->name,
- mgr ? mgr->name : "none",
- ovl->info.pos_x,
---
-1.5.6.3
-
diff --git a/recipes/linux/linux-omap-pm/0014-DSS-fix-clk_get_usecount.patch b/recipes/linux/linux-omap-pm/0014-DSS-fix-clk_get_usecount.patch
deleted file mode 100644
index a935709a9e..0000000000
--- a/recipes/linux/linux-omap-pm/0014-DSS-fix-clk_get_usecount.patch
+++ /dev/null
@@ -1,67 +0,0 @@
-From ba234fff55f8a1ef96b57ce2e18ab90df76f2c82 Mon Sep 17 00:00:00 2001
-From: Tomi Valkeinen <tomi.valkeinen@nokia.com>
-Date: Thu, 8 Jan 2009 12:01:39 +0200
-Subject: [PATCH] DSS: fix clk_get_usecount
-
----
- arch/arm/plat-omap/dss/dss.c | 12 ++++++------
- 1 files changed, 6 insertions(+), 6 deletions(-)
-
-diff --git a/arch/arm/plat-omap/dss/dss.c b/arch/arm/plat-omap/dss/dss.c
-index 4a403c1..b9f35d8 100644
---- a/arch/arm/plat-omap/dss/dss.c
-+++ b/arch/arm/plat-omap/dss/dss.c
-@@ -236,7 +236,7 @@ ssize_t dss_print_clocks(char *buf, ssize_t size)
- l += snprintf(buf + l, size - l, "%-15s\t%lu\t%d\n",
- clocks[i]->name,
- clk_get_rate(clocks[i]),
-- clk_get_usecount(clocks[i]));
-+ clocks[i]->usecount);
- }
-
- return l;
-@@ -590,28 +590,28 @@ void dss_exit(void)
- free_irq(INT_24XX_DSS_IRQ, NULL);
-
- /* these should be removed at some point */
-- c = clk_get_usecount(dss.dss_ick);
-+ c = dss.dss_ick->usecount;
- if (c > 0) {
- DSSERR("warning: dss_ick usecount %d, disabling\n", c);
- while (c-- > 0)
- clk_disable(dss.dss_ick);
- }
-
-- c = clk_get_usecount(dss.dss1_fck);
-+ c = dss.dss1_fck->usecount;
- if (c > 0) {
- DSSERR("warning: dss1_fck usecount %d, disabling\n", c);
- while (c-- > 0)
- clk_disable(dss.dss1_fck);
- }
-
-- c = clk_get_usecount(dss.dss2_fck);
-+ c = dss.dss2_fck->usecount;
- if (c > 0) {
- DSSERR("warning: dss2_fck usecount %d, disabling\n", c);
- while (c-- > 0)
- clk_disable(dss.dss2_fck);
- }
-
-- c = clk_get_usecount(dss.dss_54m_fck);
-+ c = dss.dss_54m_fck->usecount;
- if (c > 0) {
- DSSERR("warning: dss_54m_fck usecount %d, disabling\n", c);
- while (c-- > 0)
-@@ -619,7 +619,7 @@ void dss_exit(void)
- }
-
- if (dss.dss_96m_fck) {
-- c = clk_get_usecount(dss.dss_96m_fck);
-+ c = dss.dss_96m_fck->usecount;
- if (c > 0) {
- DSSERR("warning: dss_96m_fck usecount %d, disabling\n",
- c);
---
-1.5.6.3
-
diff --git a/recipes/linux/linux-omap-pm/add-cpufreq-for-omap3evm.diff b/recipes/linux/linux-omap-pm/add-cpufreq-for-omap3evm.diff
deleted file mode 100644
index e9986cf36a..0000000000
--- a/recipes/linux/linux-omap-pm/add-cpufreq-for-omap3evm.diff
+++ /dev/null
@@ -1,28 +0,0 @@
---- /tmp/board-omap3evm.c 2009-02-27 17:02:00.000000000 +0100
-+++ git/arch/arm/mach-omap2/board-omap3evm.c 2009-02-27 17:21:10.000000000 +0100
-@@ -37,11 +37,14 @@
- #include <mach/common.h>
- #include <mach/mcspi.h>
- #include <mach/display.h>
-+#include <mach/omap-pm.h>
-+#include <mach/clock.h>
-
- #include "sdram-micron-mt46h32m32lf-6.h"
- #include "twl4030-generic-scripts.h"
- #include "mmc-twl4030.h"
--
-+#include "pm.h"
-+#include "omap3-opp.h"
-
- static struct resource omap3evm_smc911x_resources[] = {
- [0] = {
-@@ -406,7 +409,8 @@
-
- static void __init omap3_evm_init_irq(void)
- {
-- omap2_init_common_hw(mt46h32m32lf6_sdrc_params, NULL, NULL, NULL);
-+ omap2_init_common_hw(mt46h32m32lf6_sdrc_params, omap3_mpu_rate_table,
-+ omap3_dsp_rate_table, omap3_l3_rate_table);
- omap_init_irq();
- omap_gpio_init();
- omap3evm_init_smc911x();
diff --git a/recipes/linux/linux-omap-pm/beagleboard/ehci.patch b/recipes/linux/linux-omap-pm/beagleboard/ehci.patch
new file mode 100644
index 0000000000..5a8c84471b
--- /dev/null
+++ b/recipes/linux/linux-omap-pm/beagleboard/ehci.patch
@@ -0,0 +1,131 @@
+Index: git/arch/arm/mach-omap2/board-omap3beagle.c
+===================================================================
+--- git.orig/arch/arm/mach-omap2/board-omap3beagle.c
++++ git/arch/arm/mach-omap2/board-omap3beagle.c
+@@ -154,6 +154,7 @@ static int beagle_twl_gpio_setup(struct
+ * power switch and overcurrent detect
+ */
+
++#if 0 /* TODO: This needs to be modified to not rely on u-boot */
+ gpio_request(gpio + 1, "EHCI_nOC");
+ gpio_direction_input(gpio + 1);
+
+@@ -163,7 +164,7 @@ static int beagle_twl_gpio_setup(struct
+
+ /* TWL4030_GPIO_MAX + 1 == ledB, PMU_STAT (out, active low LED) */
+ gpio_leds[2].gpio = gpio + TWL4030_GPIO_MAX + 1;
+-
++#endif
+ return 0;
+ }
+
+Index: git/arch/arm/mach-omap2/usb-ehci.c
+===================================================================
+--- git.orig/arch/arm/mach-omap2/usb-ehci.c
++++ git/arch/arm/mach-omap2/usb-ehci.c
+@@ -147,9 +147,11 @@ static void setup_ehci_io_mux(void)
+
+ void __init usb_ehci_init(void)
+ {
++#if 0 /* TODO: Setup Pin IO MUX for EHCI - moved this temporarily to U-boot */
+ /* Setup Pin IO MUX for EHCI */
+ if (cpu_is_omap34xx())
+ setup_ehci_io_mux();
++#endif
+
+ if (platform_device_register(&ehci_device) < 0) {
+ printk(KERN_ERR "Unable to register HS-USB (EHCI) device\n");
+Index: git/drivers/usb/host/ehci-omap.c
+===================================================================
+--- git.orig/drivers/usb/host/ehci-omap.c
++++ git/drivers/usb/host/ehci-omap.c
+@@ -48,16 +48,25 @@
+ * to get the PHY state machine in working state
+ */
+ #define EXTERNAL_PHY_RESET
++#ifdef CONFIG_MACH_OMAP3_BEAGLE
++#define EXT_PHY_RESET_GPIO_PORT2 (147)
++#else
+ #define EXT_PHY_RESET_GPIO_PORT1 (57)
+ #define EXT_PHY_RESET_GPIO_PORT2 (61)
++#endif
+ #define EXT_PHY_RESET_DELAY (10)
+
++#define PHY_STP_PULLUP_ENABLE (0x10)
++#define PHY_STP_PULLUP_DISABLE (0x90)
++
+ /* ISSUE2:
+ * USBHOST supports External charge pump PHYs only
+ * Use the VBUS from Port1 to power VBUS of Port2 externally
+ * So use Port2 as the working ULPI port
+ */
++#ifndef CONFIG_MACH_OMAP3_BEAGLE
+ #define VBUS_INTERNAL_CHARGEPUMP_HACK
++#endif
+
+ #endif /* CONFIG_OMAP_EHCI_PHY_MODE */
+
+@@ -225,14 +234,43 @@ static int omap_start_ehc(struct platfor
+
+ #ifdef EXTERNAL_PHY_RESET
+ /* Refer: ISSUE1 */
++#ifndef CONFIG_MACH_OMAP3_BEAGLE
+ gpio_request(EXT_PHY_RESET_GPIO_PORT1, "USB1 PHY reset");
+ gpio_direction_output(EXT_PHY_RESET_GPIO_PORT1, 0);
++#endif
+ gpio_request(EXT_PHY_RESET_GPIO_PORT2, "USB2 PHY reset");
+ gpio_direction_output(EXT_PHY_RESET_GPIO_PORT2, 0);
++ gpio_set_value(EXT_PHY_RESET_GPIO_PORT2, 0);
+ /* Hold the PHY in RESET for enough time till DIR is high */
+ udelay(EXT_PHY_RESET_DELAY);
+ #endif
+
++ /*
++ * The PHY register 0x7 - Interface Control register is
++ * configured to disable the integrated STP pull-up resistor
++ * used for interface protection.
++ *
++ * May not need to be here.
++ */
++ omap_writel((0x7 << EHCI_INSNREG05_ULPI_REGADD_SHIFT) |/* interface reg */
++ (2 << EHCI_INSNREG05_ULPI_OPSEL_SHIFT) |/* Write */
++ (1 << EHCI_INSNREG05_ULPI_PORTSEL_SHIFT) |/* Port1 */
++ (1 << EHCI_INSNREG05_ULPI_CONTROL_SHIFT) |/* Start */
++ (PHY_STP_PULLUP_DISABLE),
++ EHCI_INSNREG05_ULPI);
++
++ while (!(omap_readl(EHCI_INSNREG05_ULPI) & (1<<EHCI_INSNREG05_ULPI_CONTROL_SHIFT)));
++
++ /* Force PHY to HS */
++ omap_writel((0x4 << EHCI_INSNREG05_ULPI_REGADD_SHIFT) |/* function ctrl */
++ (2 << EHCI_INSNREG05_ULPI_OPSEL_SHIFT) |/* Write */
++ (1 << EHCI_INSNREG05_ULPI_PORTSEL_SHIFT) |/* Port1 */
++ (1 << EHCI_INSNREG05_ULPI_CONTROL_SHIFT) |/* Start */
++ (0x40),
++ EHCI_INSNREG05_ULPI);
++
++ while (!(omap_readl(EHCI_INSNREG05_ULPI) & (1<<EHCI_INSNREG05_ULPI_CONTROL_SHIFT)));
++
+ /* Configure TLL for 60Mhz clk for ULPI */
+ ehci_clocks->usbtll_fck_clk = clk_get(&dev->dev, USBHOST_TLL_FCLK);
+ if (IS_ERR(ehci_clocks->usbtll_fck_clk))
+@@ -307,7 +345,9 @@ static int omap_start_ehc(struct platfor
+ * Hold the PHY in RESET for enough time till PHY is settled and ready
+ */
+ udelay(EXT_PHY_RESET_DELAY);
++#ifndef CONFIG_MACH_OMAP3_BEAGLE
+ gpio_set_value(EXT_PHY_RESET_GPIO_PORT1, 1);
++#endif
+ gpio_set_value(EXT_PHY_RESET_GPIO_PORT2, 1);
+ #endif
+
+@@ -393,7 +433,9 @@ static void omap_stop_ehc(struct platfor
+
+
+ #ifdef EXTERNAL_PHY_RESET
++#ifndef CONFIG_MACH_OMAP3_BEAGLE
+ gpio_free(EXT_PHY_RESET_GPIO_PORT1);
++#endif
+ gpio_free(EXT_PHY_RESET_GPIO_PORT2);
+ #endif
+
diff --git a/recipes/linux/linux-omap-pm/cache-display-fix.patch b/recipes/linux/linux-omap-pm/cache-display-fix.patch
deleted file mode 100644
index 019fd5acf1..0000000000
--- a/recipes/linux/linux-omap-pm/cache-display-fix.patch
+++ /dev/null
@@ -1,238 +0,0 @@
-On Tue, 2008-07-01 at 06:23 +0100, Dirk Behme wrote:
-> Catalin Marinas wrote:
-> > But, anyway, if you want a patch, Harry is updating it to a recent
-> > kernel.
->
-> Any news on this? I think there are some people wanting a patch ;)
-
-See below for a preliminary patch updated to 2.6.26-rc8. Note that I
-don't plan to submit it in its current form but clean it up a bit first.
-
-
-Show the cache type of ARMv7 CPUs
-
-From: Catalin Marinas <catalin.marinas@arm.com>
-
-Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
----
-
- arch/arm/kernel/setup.c | 137 +++++++++++++++++++++++++++++++++++++++++++++-
- include/asm-arm/system.h | 18 ++++++
- 2 files changed, 153 insertions(+), 2 deletions(-)
-
-
-diff --git a/arch/arm/kernel/setup.c b/arch/arm/kernel/setup.c
-index 5ae0eb2..0cd238d 100644
---- a/arch/arm/kernel/setup.c
-+++ b/arch/arm/kernel/setup.c
-@@ -256,6 +256,24 @@ static const char *proc_arch[] = {
- "?(17)",
- };
-
-+static const char *v7_cache_policy[4] = {
-+ "reserved",
-+ "AVIVT",
-+ "VIPT",
-+ "PIPT",
-+};
-+
-+static const char *v7_cache_type[8] = {
-+ "none",
-+ "instruction only",
-+ "data only",
-+ "separate instruction and data",
-+ "unified",
-+ "unknown type",
-+ "unknown type",
-+ "unknown type",
-+};
-+
- #define CACHE_TYPE(x) (((x) >> 25) & 15)
- #define CACHE_S(x) ((x) & (1 << 24))
- #define CACHE_DSIZE(x) (((x) >> 12) & 4095) /* only if S=1 */
-@@ -266,6 +284,22 @@ static const char *proc_arch[] = {
- #define CACHE_M(y) ((y) & (1 << 2))
- #define CACHE_LINE(y) ((y) & 3)
-
-+#define CACHE_TYPE_V7(x) (((x) >> 14) & 3)
-+#define CACHE_UNIFIED(x) ((((x) >> 27) & 7)+1)
-+#define CACHE_COHERENT(x) ((((x) >> 24) & 7)+1)
-+
-+#define CACHE_ID_LEVEL_MASK 7
-+#define CACHE_ID_LEVEL_BITS 3
-+
-+#define CACHE_LINE_V7(v) ((1 << (((v) & 7)+4)))
-+#define CACHE_ASSOC_V7(v) ((((v) >> 3) & ((1<<10)-1))+1)
-+#define CACHE_SETS_V7(v) ((((v) >> 13) & ((1<<15)-1))+1)
-+#define CACHE_SIZE_V7(v) (CACHE_LINE_V7(v)*CACHE_ASSOC_V7(v)*CACHE_SETS_V7(v))
-+#define CACHE_WA_V7(v) (((v) & (1<<28)) != 0)
-+#define CACHE_RA_V7(v) (((v) & (1<<29)) != 0)
-+#define CACHE_WB_V7(v) (((v) & (1<<30)) != 0)
-+#define CACHE_WT_V7(v) (((v) & (1<<31)) != 0)
-+
- static inline void dump_cache(const char *prefix, int cpu, unsigned int cache)
- {
- unsigned int mult = 2 + (CACHE_M(cache) ? 1 : 0);
-@@ -279,11 +313,57 @@ static inline void dump_cache(const char *prefix, int cpu, unsigned int cache)
- CACHE_LINE(cache)));
- }
-
-+static void dump_v7_cache(const char *type, int cpu, unsigned int level)
-+{
-+ unsigned int cachesize;
-+
-+ write_extended_cpuid(2,0,0,0,level); /* Set the cache size selection register */
-+ write_extended_cpuid(0,7,5,4,0); /* Prefetch flush to wait for above */
-+ cachesize = read_extended_cpuid(1,0,0,0);
-+
-+ printk("CPU%u: %s cache: %d bytes, associativity %d, %d byte lines, %d sets,\n supports%s%s%s%s\n",
-+ cpu, type,
-+ CACHE_SIZE_V7(cachesize),CACHE_ASSOC_V7(cachesize),
-+ CACHE_LINE_V7(cachesize),CACHE_SETS_V7(cachesize),
-+ CACHE_WA_V7(cachesize) ? " WA" : "",
-+ CACHE_RA_V7(cachesize) ? " RA" : "",
-+ CACHE_WB_V7(cachesize) ? " WB" : "",
-+ CACHE_WT_V7(cachesize) ? " WT" : "");
-+}
-+
- static void __init dump_cpu_info(int cpu)
- {
- unsigned int info = read_cpuid(CPUID_CACHETYPE);
-
-- if (info != processor_id) {
-+ if (info != processor_id && (info & (1 << 31))) {
-+ /* ARMv7 style of cache info register */
-+ unsigned int id = read_extended_cpuid(1,0,0,1);
-+ unsigned int level = 0;
-+ printk("CPU%u: L1 I %s cache. Caches unified at level %u, coherent at level %u\n",
-+ cpu,
-+ v7_cache_policy[CACHE_TYPE_V7(info)],
-+ CACHE_UNIFIED(id),
-+ CACHE_COHERENT(id));
-+
-+ while (id & CACHE_ID_LEVEL_MASK) {
-+ printk("CPU%u: Level %u cache is %s\n",
-+ cpu, (level >> 1)+1, v7_cache_type[id & CACHE_ID_LEVEL_MASK]);
-+
-+ if (id & 1) {
-+ /* Dump I at this level */
-+ dump_v7_cache("I", cpu, level | 1);
-+ }
-+
-+ if (id & (4 | 2)) {
-+ /* Dump D or unified at this level */
-+ dump_v7_cache((id & 4) ? "unified" : "D", cpu, level);
-+ }
-+
-+ /* Next level out */
-+ level += 2;
-+ id >>= CACHE_ID_LEVEL_BITS;
-+ }
-+ } else if (info != processor_id) {
- printk("CPU%u: D %s %s cache\n", cpu, cache_is_vivt() ? "VIVT" : "VIPT",
- cache_types[CACHE_TYPE(info)]);
- if (CACHE_S(info)) {
-@@ -916,6 +996,30 @@ c_show_cache(struct seq_file *m, const char *type, unsigned int cache)
- CACHE_LINE(cache)));
- }
-
-+static void c_show_v7_cache(struct seq_file *m, const char *type, unsigned int levelselect)
-+{
-+ unsigned int cachesize;
-+ unsigned int level = (levelselect >> 1) + 1;
-+
-+ write_extended_cpuid(2,0,0,0,levelselect); /* Set the cache size selection register */
-+ write_extended_cpuid(0,7,5,4,0); /* Prefetch flush to wait for above */
-+ cachesize = read_extended_cpuid(1,0,0,0);
-+
-+ seq_printf(m, "L%u %s size\t\t: %d bytes\n"
-+ "L%u %s assoc\t\t: %d\n"
-+ "L%u %s line length\t: %d\n"
-+ "L%u %s sets\t\t: %d\n"
-+ "L%u %s supports\t\t:%s%s%s%s\n",
-+ level, type, CACHE_SIZE_V7(cachesize),
-+ level, type, CACHE_ASSOC_V7(cachesize),
-+ level, type, CACHE_LINE_V7(cachesize),
-+ level, type, CACHE_SETS_V7(cachesize),
-+ level, type, CACHE_WA_V7(cachesize) ? " WA" : "",
-+ CACHE_RA_V7(cachesize) ? " RA" : "",
-+ CACHE_WB_V7(cachesize) ? " WB" : "",
-+ CACHE_WT_V7(cachesize) ? " WT" : "");
-+}
-+
- static int c_show(struct seq_file *m, void *v)
- {
- int i;
-@@ -971,7 +1075,36 @@ static int c_show(struct seq_file *m, void *v)
-
- {
- unsigned int cache_info = read_cpuid(CPUID_CACHETYPE);
-- if (cache_info != processor_id) {
-+ if (cache_info != processor_id && (cache_info & (1<<31))) {
-+ /* V7 style of cache info register */
-+ unsigned int id = read_extended_cpuid(1,0,0,1);
-+ unsigned int levelselect = 0;
-+ seq_printf(m, "L1 I cache\t:%s\n"
-+ "Cache unification level\t: %u\n"
-+ "Cache coherency level\t: %u\n",
-+ v7_cache_policy[CACHE_TYPE_V7(cache_info)],
-+ CACHE_UNIFIED(id),
-+ CACHE_COHERENT(id));
-+
-+ while (id & CACHE_ID_LEVEL_MASK) {
-+ seq_printf(m, "Level %u cache\t\t: %s\n",
-+ (levelselect >> 1)+1, v7_cache_type[id & CACHE_ID_LEVEL_MASK]);
-+
-+ if (id & 1) {
-+ /* Dump I at this level */
-+ c_show_v7_cache(m, "I", levelselect | 1);
-+ }
-+
-+ if (id & (4 | 2)) {
-+ /* Dump D or unified at this level */
-+ c_show_v7_cache(m, (id & 4) ? "cache" : "D", levelselect);
-+ }
-+
-+ /* Next level out */
-+ levelselect += 2;
-+ id >>= CACHE_ID_LEVEL_BITS;
-+ }
-+ } else if (cache_info != processor_id) {
- seq_printf(m, "Cache type\t: %s\n"
- "Cache clean\t: %s\n"
- "Cache lockdown\t: %s\n"
-diff --git a/arch/arm/include/asm/system.h b/arch/arm/include/asm/system.h
-index 514af79..704738e 100644
---- a/arch/arm/include/asm/system.h
-+++ b/arch/arm/include/asm/system.h
-@@ -74,6 +74,24 @@
- : "cc"); \
- __val; \
- })
-+#define read_extended_cpuid(op1,op2,op3,op4) \
-+ ({ \
-+ unsigned int __val; \
-+ asm("mrc p15," __stringify(op1) ",%0,c" __stringify(op2)",c" __stringify(op3)"," __stringify(op4) \
-+ : "=r" (__val) \
-+ : \
-+ : "cc"); \
-+ __val; \
-+ })
-+
-+#define write_extended_cpuid(op1,op2,op3,op4,v) \
-+ ({ \
-+ unsigned int __val = v; \
-+ asm("mcr p15," __stringify(op1) ",%0,c" __stringify(op2)",c" __stringify(op3)"," __stringify(op4) \
-+ : \
-+ : "r" (__val) \
-+ : "cc"); \
-+ })
- #else
- extern unsigned int processor_id;
- #define read_cpuid(reg) (processor_id)
-
-
---
-Catalin
-
-
diff --git a/recipes/linux/linux-omap-pm/dss2.diff b/recipes/linux/linux-omap-pm/dss2.diff
deleted file mode 100644
index 8d3d2fdca6..0000000000
--- a/recipes/linux/linux-omap-pm/dss2.diff
+++ /dev/null
@@ -1,9 +0,0 @@
---- /tmp/Makefile 2009-01-12 15:50:04.000000000 +0100
-+++ git/arch/arm/plat-omap/Makefile 2009-01-12 15:50:25.000000000 +0100
-@@ -32,3 +32,6 @@
- obj-$(CONFIG_OMAP_PM_NOOP) += omap-pm-noop.o
- obj-$(CONFIG_OMAP_PM_SRF) += omap-pm-srf.o \
- resource.o
-+
-+# OMAP2/3 Display Subsystem
-+obj-y += dss/
diff --git a/recipes/linux/linux-omap-pm/dss2/0001-Revert-gro-Fix-legacy-path-napi_complete-crash.patch b/recipes/linux/linux-omap-pm/dss2/0001-Revert-gro-Fix-legacy-path-napi_complete-crash.patch
new file mode 100644
index 0000000000..aeab62f105
--- /dev/null
+++ b/recipes/linux/linux-omap-pm/dss2/0001-Revert-gro-Fix-legacy-path-napi_complete-crash.patch
@@ -0,0 +1,39 @@
+From 26abf45ac80be4c54a63fecf1c3c1e1efb416e0a Mon Sep 17 00:00:00 2001
+From: Tomi Valkeinen <tomi.valkeinen@nokia.com>
+Date: Wed, 1 Apr 2009 18:27:09 +0300
+Subject: [PATCH] Revert "gro: Fix legacy path napi_complete crash"
+
+This reverts commit 303c6a0251852ecbdc5c15e466dcaff5971f7517.
+
+Fixes USB network problems
+---
+ net/core/dev.c | 5 ++---
+ 1 files changed, 2 insertions(+), 3 deletions(-)
+
+diff --git a/net/core/dev.c b/net/core/dev.c
+index e3fe5c7..c1e9dc0 100644
+--- a/net/core/dev.c
++++ b/net/core/dev.c
+@@ -2588,9 +2588,9 @@ static int process_backlog(struct napi_struct *napi, int quota)
+ local_irq_disable();
+ skb = __skb_dequeue(&queue->input_pkt_queue);
+ if (!skb) {
++ __napi_complete(napi);
+ local_irq_enable();
+- napi_complete(napi);
+- goto out;
++ break;
+ }
+ local_irq_enable();
+
+@@ -2599,7 +2599,6 @@ static int process_backlog(struct napi_struct *napi, int quota)
+
+ napi_gro_flush(napi);
+
+-out:
+ return work;
+ }
+
+--
+1.5.6.5
+
diff --git a/recipes/linux/linux-omap-pm/dss2/0002-OMAPFB-move-omapfb.h-to-include-linux.patch b/recipes/linux/linux-omap-pm/dss2/0002-OMAPFB-move-omapfb.h-to-include-linux.patch
new file mode 100644
index 0000000000..5873ae280c
--- /dev/null
+++ b/recipes/linux/linux-omap-pm/dss2/0002-OMAPFB-move-omapfb.h-to-include-linux.patch
@@ -0,0 +1,1297 @@
+From 02243f13eec816e11d16676a131bc04b8a0666ab Mon Sep 17 00:00:00 2001
+From: Tomi Valkeinen <tomi.valkeinen@nokia.com>
+Date: Wed, 11 Feb 2009 16:33:02 +0200
+Subject: [PATCH] OMAPFB: move omapfb.h to include/linux/
+
+This is needed so that omapfb.h is automatically exported to user space.
+
+omapfb.h should be cleaned up later. Some stuff can probably be moved
+to omapfb's private include file.
+
+Signed-off-by: Tomi Valkeinen <tomi.valkeinen@nokia.com>
+---
+ arch/arm/mach-omap1/board-nokia770.c | 2 +-
+ arch/arm/mach-omap2/board-n800.c | 2 +-
+ arch/arm/mach-omap2/io.c | 2 +-
+ arch/arm/plat-omap/fb.c | 2 +-
+ arch/arm/plat-omap/include/mach/omapfb.h | 398 ------------------------------
+ drivers/video/omap/blizzard.c | 2 +-
+ drivers/video/omap/dispc.c | 2 +-
+ drivers/video/omap/hwa742.c | 2 +-
+ drivers/video/omap/lcd_2430sdp.c | 2 +-
+ drivers/video/omap/lcd_ams_delta.c | 2 +-
+ drivers/video/omap/lcd_apollon.c | 2 +-
+ drivers/video/omap/lcd_h3.c | 2 +-
+ drivers/video/omap/lcd_h4.c | 3 +-
+ drivers/video/omap/lcd_inn1510.c | 2 +-
+ drivers/video/omap/lcd_inn1610.c | 2 +-
+ drivers/video/omap/lcd_ldp.c | 2 +-
+ drivers/video/omap/lcd_mipid.c | 2 +-
+ drivers/video/omap/lcd_omap2evm.c | 2 +-
+ drivers/video/omap/lcd_omap3beagle.c | 2 +-
+ drivers/video/omap/lcd_omap3evm.c | 2 +-
+ drivers/video/omap/lcd_osk.c | 2 +-
+ drivers/video/omap/lcd_overo.c | 2 +-
+ drivers/video/omap/lcd_p2.c | 2 +-
+ drivers/video/omap/lcd_palmte.c | 2 +-
+ drivers/video/omap/lcd_palmtt.c | 2 +-
+ drivers/video/omap/lcd_palmz71.c | 3 +-
+ drivers/video/omap/lcdc.c | 2 +-
+ drivers/video/omap/omapfb_main.c | 2 +-
+ drivers/video/omap/rfbi.c | 3 +-
+ drivers/video/omap/sossi.c | 2 +-
+ include/linux/omapfb.h | 398 ++++++++++++++++++++++++++++++
+ 31 files changed, 427 insertions(+), 430 deletions(-)
+ delete mode 100644 arch/arm/plat-omap/include/mach/omapfb.h
+ create mode 100644 include/linux/omapfb.h
+
+diff --git a/arch/arm/mach-omap1/board-nokia770.c b/arch/arm/mach-omap1/board-nokia770.c
+index 8780ca6..ca4680a 100644
+--- a/arch/arm/mach-omap1/board-nokia770.c
++++ b/arch/arm/mach-omap1/board-nokia770.c
+@@ -18,6 +18,7 @@
+ #include <linux/spi/spi.h>
+ #include <linux/spi/ads7846.h>
+ #include <linux/workqueue.h>
++#include <linux/omapfb.h>
+ #include <linux/delay.h>
+
+ #include <mach/hardware.h>
+@@ -32,7 +33,6 @@
+ #include <mach/keypad.h>
+ #include <mach/common.h>
+ #include <mach/dsp_common.h>
+-#include <mach/omapfb.h>
+ #include <mach/lcd_mipid.h>
+ #include <mach/mmc.h>
+ #include <mach/usb.h>
+diff --git a/arch/arm/mach-omap2/board-n800.c b/arch/arm/mach-omap2/board-n800.c
+index cb32b61..f6f6571 100644
+--- a/arch/arm/mach-omap2/board-n800.c
++++ b/arch/arm/mach-omap2/board-n800.c
+@@ -27,6 +27,7 @@
+ #include <linux/i2c/lm8323.h>
+ #include <linux/i2c/menelaus.h>
+ #include <linux/i2c/lp5521.h>
++#include <linux/omapfb.h>
+ #include <mach/hardware.h>
+ #include <asm/mach-types.h>
+ #include <asm/mach/arch.h>
+@@ -39,7 +40,6 @@
+ #include <mach/lcd_mipid.h>
+ #include <mach/clock.h>
+ #include <mach/gpio-switch.h>
+-#include <mach/omapfb.h>
+ #include <mach/blizzard.h>
+
+ #include <../drivers/cbus/tahvo.h>
+diff --git a/arch/arm/plat-omap/fb.c b/arch/arm/plat-omap/fb.c
+index 3746222..40615a6 100644
+--- a/arch/arm/plat-omap/fb.c
++++ b/arch/arm/plat-omap/fb.c
+@@ -28,13 +28,13 @@
+ #include <linux/platform_device.h>
+ #include <linux/bootmem.h>
+ #include <linux/io.h>
++#include <linux/omapfb.h>
+
+ #include <mach/hardware.h>
+ #include <asm/mach/map.h>
+
+ #include <mach/board.h>
+ #include <mach/sram.h>
+-#include <mach/omapfb.h>
+
+ #if defined(CONFIG_FB_OMAP) || defined(CONFIG_FB_OMAP_MODULE)
+
+diff --git a/arch/arm/plat-omap/include/mach/omapfb.h b/arch/arm/plat-omap/include/mach/omapfb.h
+deleted file mode 100644
+index b226bdf..0000000
+--- a/arch/arm/plat-omap/include/mach/omapfb.h
++++ /dev/null
+@@ -1,398 +0,0 @@
+-/*
+- * File: arch/arm/plat-omap/include/mach/omapfb.h
+- *
+- * Framebuffer driver for TI OMAP boards
+- *
+- * Copyright (C) 2004 Nokia Corporation
+- * Author: Imre Deak <imre.deak@nokia.com>
+- *
+- * 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 2 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, write to the Free Software Foundation, Inc.,
+- * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+- */
+-
+-#ifndef __OMAPFB_H
+-#define __OMAPFB_H
+-
+-#include <asm/ioctl.h>
+-#include <asm/types.h>
+-
+-/* IOCTL commands. */
+-
+-#define OMAP_IOW(num, dtype) _IOW('O', num, dtype)
+-#define OMAP_IOR(num, dtype) _IOR('O', num, dtype)
+-#define OMAP_IOWR(num, dtype) _IOWR('O', num, dtype)
+-#define OMAP_IO(num) _IO('O', num)
+-
+-#define OMAPFB_MIRROR OMAP_IOW(31, int)
+-#define OMAPFB_SYNC_GFX OMAP_IO(37)
+-#define OMAPFB_VSYNC OMAP_IO(38)
+-#define OMAPFB_SET_UPDATE_MODE OMAP_IOW(40, int)
+-#define OMAPFB_GET_CAPS OMAP_IOR(42, struct omapfb_caps)
+-#define OMAPFB_GET_UPDATE_MODE OMAP_IOW(43, int)
+-#define OMAPFB_LCD_TEST OMAP_IOW(45, int)
+-#define OMAPFB_CTRL_TEST OMAP_IOW(46, int)
+-#define OMAPFB_UPDATE_WINDOW_OLD OMAP_IOW(47, struct omapfb_update_window_old)
+-#define OMAPFB_SET_COLOR_KEY OMAP_IOW(50, struct omapfb_color_key)
+-#define OMAPFB_GET_COLOR_KEY OMAP_IOW(51, struct omapfb_color_key)
+-#define OMAPFB_SETUP_PLANE OMAP_IOW(52, struct omapfb_plane_info)
+-#define OMAPFB_QUERY_PLANE OMAP_IOW(53, struct omapfb_plane_info)
+-#define OMAPFB_UPDATE_WINDOW OMAP_IOW(54, struct omapfb_update_window)
+-#define OMAPFB_SETUP_MEM OMAP_IOW(55, struct omapfb_mem_info)
+-#define OMAPFB_QUERY_MEM OMAP_IOW(56, struct omapfb_mem_info)
+-
+-#define OMAPFB_CAPS_GENERIC_MASK 0x00000fff
+-#define OMAPFB_CAPS_LCDC_MASK 0x00fff000
+-#define OMAPFB_CAPS_PANEL_MASK 0xff000000
+-
+-#define OMAPFB_CAPS_MANUAL_UPDATE 0x00001000
+-#define OMAPFB_CAPS_TEARSYNC 0x00002000
+-#define OMAPFB_CAPS_PLANE_RELOCATE_MEM 0x00004000
+-#define OMAPFB_CAPS_PLANE_SCALE 0x00008000
+-#define OMAPFB_CAPS_WINDOW_PIXEL_DOUBLE 0x00010000
+-#define OMAPFB_CAPS_WINDOW_SCALE 0x00020000
+-#define OMAPFB_CAPS_WINDOW_OVERLAY 0x00040000
+-#define OMAPFB_CAPS_WINDOW_ROTATE 0x00080000
+-#define OMAPFB_CAPS_SET_BACKLIGHT 0x01000000
+-
+-/* Values from DSP must map to lower 16-bits */
+-#define OMAPFB_FORMAT_MASK 0x00ff
+-#define OMAPFB_FORMAT_FLAG_DOUBLE 0x0100
+-#define OMAPFB_FORMAT_FLAG_TEARSYNC 0x0200
+-#define OMAPFB_FORMAT_FLAG_FORCE_VSYNC 0x0400
+-#define OMAPFB_FORMAT_FLAG_ENABLE_OVERLAY 0x0800
+-#define OMAPFB_FORMAT_FLAG_DISABLE_OVERLAY 0x1000
+-
+-#define OMAPFB_EVENT_READY 1
+-#define OMAPFB_EVENT_DISABLED 2
+-
+-#define OMAPFB_MEMTYPE_SDRAM 0
+-#define OMAPFB_MEMTYPE_SRAM 1
+-#define OMAPFB_MEMTYPE_MAX 1
+-
+-enum omapfb_color_format {
+- OMAPFB_COLOR_RGB565 = 0,
+- OMAPFB_COLOR_YUV422,
+- OMAPFB_COLOR_YUV420,
+- OMAPFB_COLOR_CLUT_8BPP,
+- OMAPFB_COLOR_CLUT_4BPP,
+- OMAPFB_COLOR_CLUT_2BPP,
+- OMAPFB_COLOR_CLUT_1BPP,
+- OMAPFB_COLOR_RGB444,
+- OMAPFB_COLOR_YUY422,
+-};
+-
+-struct omapfb_update_window {
+- __u32 x, y;
+- __u32 width, height;
+- __u32 format;
+- __u32 out_x, out_y;
+- __u32 out_width, out_height;
+- __u32 reserved[8];
+-};
+-
+-struct omapfb_update_window_old {
+- __u32 x, y;
+- __u32 width, height;
+- __u32 format;
+-};
+-
+-enum omapfb_plane {
+- OMAPFB_PLANE_GFX = 0,
+- OMAPFB_PLANE_VID1,
+- OMAPFB_PLANE_VID2,
+-};
+-
+-enum omapfb_channel_out {
+- OMAPFB_CHANNEL_OUT_LCD = 0,
+- OMAPFB_CHANNEL_OUT_DIGIT,
+-};
+-
+-struct omapfb_plane_info {
+- __u32 pos_x;
+- __u32 pos_y;
+- __u8 enabled;
+- __u8 channel_out;
+- __u8 mirror;
+- __u8 reserved1;
+- __u32 out_width;
+- __u32 out_height;
+- __u32 reserved2[12];
+-};
+-
+-struct omapfb_mem_info {
+- __u32 size;
+- __u8 type;
+- __u8 reserved[3];
+-};
+-
+-struct omapfb_caps {
+- __u32 ctrl;
+- __u32 plane_color;
+- __u32 wnd_color;
+-};
+-
+-enum omapfb_color_key_type {
+- OMAPFB_COLOR_KEY_DISABLED = 0,
+- OMAPFB_COLOR_KEY_GFX_DST,
+- OMAPFB_COLOR_KEY_VID_SRC,
+-};
+-
+-struct omapfb_color_key {
+- __u8 channel_out;
+- __u32 background;
+- __u32 trans_key;
+- __u8 key_type;
+-};
+-
+-enum omapfb_update_mode {
+- OMAPFB_UPDATE_DISABLED = 0,
+- OMAPFB_AUTO_UPDATE,
+- OMAPFB_MANUAL_UPDATE
+-};
+-
+-#ifdef __KERNEL__
+-
+-#include <linux/completion.h>
+-#include <linux/interrupt.h>
+-#include <linux/fb.h>
+-#include <linux/mutex.h>
+-
+-#include <mach/board.h>
+-
+-#define OMAP_LCDC_INV_VSYNC 0x0001
+-#define OMAP_LCDC_INV_HSYNC 0x0002
+-#define OMAP_LCDC_INV_PIX_CLOCK 0x0004
+-#define OMAP_LCDC_INV_OUTPUT_EN 0x0008
+-#define OMAP_LCDC_HSVS_RISING_EDGE 0x0010
+-#define OMAP_LCDC_HSVS_OPPOSITE 0x0020
+-
+-#define OMAP_LCDC_SIGNAL_MASK 0x003f
+-
+-#define OMAP_LCDC_PANEL_TFT 0x0100
+-
+-#define OMAPFB_PLANE_XRES_MIN 8
+-#define OMAPFB_PLANE_YRES_MIN 8
+-
+-#ifdef CONFIG_ARCH_OMAP1
+-#define OMAPFB_PLANE_NUM 1
+-#else
+-#define OMAPFB_PLANE_NUM 3
+-#endif
+-
+-struct omapfb_device;
+-
+-struct lcd_panel {
+- const char *name;
+- int config; /* TFT/STN, signal inversion */
+- int bpp; /* Pixel format in fb mem */
+- int data_lines; /* Lines on LCD HW interface */
+-
+- int x_res, y_res;
+- int pixel_clock; /* In kHz */
+- int hsw; /* Horizontal synchronization
+- pulse width */
+- int hfp; /* Horizontal front porch */
+- int hbp; /* Horizontal back porch */
+- int vsw; /* Vertical synchronization
+- pulse width */
+- int vfp; /* Vertical front porch */
+- int vbp; /* Vertical back porch */
+- int acb; /* ac-bias pin frequency */
+- int pcd; /* pixel clock divider.
+- Obsolete use pixel_clock instead */
+-
+- int (*init) (struct lcd_panel *panel,
+- struct omapfb_device *fbdev);
+- void (*cleanup) (struct lcd_panel *panel);
+- int (*enable) (struct lcd_panel *panel);
+- void (*disable) (struct lcd_panel *panel);
+- unsigned long (*get_caps) (struct lcd_panel *panel);
+- int (*set_bklight_level)(struct lcd_panel *panel,
+- unsigned int level);
+- unsigned int (*get_bklight_level)(struct lcd_panel *panel);
+- unsigned int (*get_bklight_max) (struct lcd_panel *panel);
+- int (*run_test) (struct lcd_panel *panel, int test_num);
+-};
+-
+-struct extif_timings {
+- int cs_on_time;
+- int cs_off_time;
+- int we_on_time;
+- int we_off_time;
+- int re_on_time;
+- int re_off_time;
+- int we_cycle_time;
+- int re_cycle_time;
+- int cs_pulse_width;
+- int access_time;
+-
+- int clk_div;
+-
+- u32 tim[5]; /* set by extif->convert_timings */
+-
+- int converted;
+-};
+-
+-struct lcd_ctrl_extif {
+- int (*init) (struct omapfb_device *fbdev);
+- void (*cleanup) (void);
+- void (*get_clk_info) (u32 *clk_period, u32 *max_clk_div);
+- unsigned long (*get_max_tx_rate)(void);
+- int (*convert_timings) (struct extif_timings *timings);
+- void (*set_timings) (const struct extif_timings *timings);
+- void (*set_bits_per_cycle)(int bpc);
+- void (*write_command) (const void *buf, unsigned int len);
+- void (*read_data) (void *buf, unsigned int len);
+- void (*write_data) (const void *buf, unsigned int len);
+- void (*transfer_area) (int width, int height,
+- void (callback)(void * data), void *data);
+- int (*setup_tearsync) (unsigned pin_cnt,
+- unsigned hs_pulse_time, unsigned vs_pulse_time,
+- int hs_pol_inv, int vs_pol_inv, int div);
+- int (*enable_tearsync) (int enable, unsigned line);
+-
+- unsigned long max_transmit_size;
+-};
+-
+-struct omapfb_notifier_block {
+- struct notifier_block nb;
+- void *data;
+- int plane_idx;
+-};
+-
+-typedef int (*omapfb_notifier_callback_t)(struct notifier_block *,
+- unsigned long event,
+- void *fbi);
+-
+-struct omapfb_mem_region {
+- u32 paddr;
+- void __iomem *vaddr;
+- unsigned long size;
+- u8 type; /* OMAPFB_PLANE_MEM_* */
+- unsigned alloc:1; /* allocated by the driver */
+- unsigned map:1; /* kernel mapped by the driver */
+-};
+-
+-struct omapfb_mem_desc {
+- int region_cnt;
+- struct omapfb_mem_region region[OMAPFB_PLANE_NUM];
+-};
+-
+-struct lcd_ctrl {
+- const char *name;
+- void *data;
+-
+- int (*init) (struct omapfb_device *fbdev,
+- int ext_mode,
+- struct omapfb_mem_desc *req_md);
+- void (*cleanup) (void);
+- void (*bind_client) (struct omapfb_notifier_block *nb);
+- void (*get_caps) (int plane, struct omapfb_caps *caps);
+- int (*set_update_mode)(enum omapfb_update_mode mode);
+- enum omapfb_update_mode (*get_update_mode)(void);
+- int (*setup_plane) (int plane, int channel_out,
+- unsigned long offset,
+- int screen_width,
+- int pos_x, int pos_y, int width,
+- int height, int color_mode);
+- int (*set_rotate) (int angle);
+- int (*setup_mem) (int plane, size_t size,
+- int mem_type, unsigned long *paddr);
+- int (*mmap) (struct fb_info *info,
+- struct vm_area_struct *vma);
+- int (*set_scale) (int plane,
+- int orig_width, int orig_height,
+- int out_width, int out_height);
+- int (*enable_plane) (int plane, int enable);
+- int (*update_window) (struct fb_info *fbi,
+- struct omapfb_update_window *win,
+- void (*callback)(void *),
+- void *callback_data);
+- void (*sync) (void);
+- void (*suspend) (void);
+- void (*resume) (void);
+- int (*run_test) (int test_num);
+- int (*setcolreg) (u_int regno, u16 red, u16 green,
+- u16 blue, u16 transp,
+- int update_hw_mem);
+- int (*set_color_key) (struct omapfb_color_key *ck);
+- int (*get_color_key) (struct omapfb_color_key *ck);
+-};
+-
+-enum omapfb_state {
+- OMAPFB_DISABLED = 0,
+- OMAPFB_SUSPENDED= 99,
+- OMAPFB_ACTIVE = 100
+-};
+-
+-struct omapfb_plane_struct {
+- int idx;
+- struct omapfb_plane_info info;
+- enum omapfb_color_format color_mode;
+- struct omapfb_device *fbdev;
+-};
+-
+-struct omapfb_device {
+- int state;
+- int ext_lcdc; /* Using external
+- LCD controller */
+- struct mutex rqueue_mutex;
+-
+- int palette_size;
+- u32 pseudo_palette[17];
+-
+- struct lcd_panel *panel; /* LCD panel */
+- const struct lcd_ctrl *ctrl; /* LCD controller */
+- const struct lcd_ctrl *int_ctrl; /* internal LCD ctrl */
+- struct lcd_ctrl_extif *ext_if; /* LCD ctrl external
+- interface */
+- struct device *dev;
+- struct fb_var_screeninfo new_var; /* for mode changes */
+-
+- struct omapfb_mem_desc mem_desc;
+- struct fb_info *fb_info[OMAPFB_PLANE_NUM];
+-};
+-
+-struct omapfb_platform_data {
+- struct omap_lcd_config lcd;
+- struct omapfb_mem_desc mem_desc;
+- void *ctrl_platform_data;
+-};
+-
+-#ifdef CONFIG_ARCH_OMAP1
+-extern struct lcd_ctrl omap1_lcd_ctrl;
+-#else
+-extern struct lcd_ctrl omap2_disp_ctrl;
+-#endif
+-
+-extern void omapfb_reserve_sdram(void);
+-extern void omapfb_register_panel(struct lcd_panel *panel);
+-extern void omapfb_write_first_pixel(struct omapfb_device *fbdev, u16 pixval);
+-extern void omapfb_notify_clients(struct omapfb_device *fbdev,
+- unsigned long event);
+-extern int omapfb_register_client(struct omapfb_notifier_block *nb,
+- omapfb_notifier_callback_t callback,
+- void *callback_data);
+-extern int omapfb_unregister_client(struct omapfb_notifier_block *nb);
+-extern int omapfb_update_window_async(struct fb_info *fbi,
+- struct omapfb_update_window *win,
+- void (*callback)(void *),
+- void *callback_data);
+-
+-/* in arch/arm/plat-omap/fb.c */
+-extern void omapfb_set_ctrl_platform_data(void *pdata);
+-
+-#endif /* __KERNEL__ */
+-
+-#endif /* __OMAPFB_H */
+diff --git a/drivers/video/omap/blizzard.c b/drivers/video/omap/blizzard.c
+index f60a233..8121c09 100644
+--- a/drivers/video/omap/blizzard.c
++++ b/drivers/video/omap/blizzard.c
+@@ -25,9 +25,9 @@
+ #include <linux/fb.h>
+ #include <linux/delay.h>
+ #include <linux/clk.h>
++#include <linux/omapfb.h>
+
+ #include <mach/dma.h>
+-#include <mach/omapfb.h>
+ #include <mach/blizzard.h>
+
+ #include "dispc.h"
+diff --git a/drivers/video/omap/dispc.c b/drivers/video/omap/dispc.c
+index c140c21..1915af5 100644
+--- a/drivers/video/omap/dispc.c
++++ b/drivers/video/omap/dispc.c
+@@ -24,9 +24,9 @@
+ #include <linux/vmalloc.h>
+ #include <linux/clk.h>
+ #include <linux/io.h>
++#include <linux/omapfb.h>
+
+ #include <mach/sram.h>
+-#include <mach/omapfb.h>
+ #include <mach/board.h>
+
+ #include "dispc.h"
+diff --git a/drivers/video/omap/hwa742.c b/drivers/video/omap/hwa742.c
+index f24df0b..9b4c506 100644
+--- a/drivers/video/omap/hwa742.c
++++ b/drivers/video/omap/hwa742.c
+@@ -25,9 +25,9 @@
+ #include <linux/fb.h>
+ #include <linux/delay.h>
+ #include <linux/clk.h>
++#include <linux/omapfb.h>
+
+ #include <mach/dma.h>
+-#include <mach/omapfb.h>
+ #include <mach/hwa742.h>
+
+ #define HWA742_REV_CODE_REG 0x0
+diff --git a/drivers/video/omap/lcd_2430sdp.c b/drivers/video/omap/lcd_2430sdp.c
+index a22b452..1252cc3 100644
+--- a/drivers/video/omap/lcd_2430sdp.c
++++ b/drivers/video/omap/lcd_2430sdp.c
+@@ -26,9 +26,9 @@
+ #include <linux/delay.h>
+ #include <linux/gpio.h>
+ #include <linux/i2c/twl4030.h>
++#include <linux/omapfb.h>
+
+ #include <mach/mux.h>
+-#include <mach/omapfb.h>
+ #include <asm/mach-types.h>
+
+ #define SDP2430_LCD_PANEL_BACKLIGHT_GPIO 91
+diff --git a/drivers/video/omap/lcd_ams_delta.c b/drivers/video/omap/lcd_ams_delta.c
+index 3fd5342..4d54725 100644
+--- a/drivers/video/omap/lcd_ams_delta.c
++++ b/drivers/video/omap/lcd_ams_delta.c
+@@ -24,13 +24,13 @@
+
+ #include <linux/module.h>
+ #include <linux/platform_device.h>
++#include <linux/omapfb.h>
+
+ #include <asm/delay.h>
+ #include <asm/io.h>
+
+ #include <mach/board-ams-delta.h>
+ #include <mach/hardware.h>
+-#include <mach/omapfb.h>
+
+ #define AMS_DELTA_DEFAULT_CONTRAST 112
+
+diff --git a/drivers/video/omap/lcd_apollon.c b/drivers/video/omap/lcd_apollon.c
+index beae5d9..e3b2224 100644
+--- a/drivers/video/omap/lcd_apollon.c
++++ b/drivers/video/omap/lcd_apollon.c
+@@ -23,10 +23,10 @@
+
+ #include <linux/module.h>
+ #include <linux/platform_device.h>
++#include <linux/omapfb.h>
+
+ #include <mach/gpio.h>
+ #include <mach/mux.h>
+-#include <mach/omapfb.h>
+
+ /* #define USE_35INCH_LCD 1 */
+
+diff --git a/drivers/video/omap/lcd_h3.c b/drivers/video/omap/lcd_h3.c
+index 2486237..f7264ea 100644
+--- a/drivers/video/omap/lcd_h3.c
++++ b/drivers/video/omap/lcd_h3.c
+@@ -22,9 +22,9 @@
+ #include <linux/module.h>
+ #include <linux/platform_device.h>
+ #include <linux/i2c/tps65010.h>
++#include <linux/omapfb.h>
+
+ #include <mach/gpio.h>
+-#include <mach/omapfb.h>
+
+ #define MODULE_NAME "omapfb-lcd_h3"
+
+diff --git a/drivers/video/omap/lcd_h4.c b/drivers/video/omap/lcd_h4.c
+index 6ff5643..d72df0c 100644
+--- a/drivers/video/omap/lcd_h4.c
++++ b/drivers/video/omap/lcd_h4.c
+@@ -21,8 +21,7 @@
+
+ #include <linux/module.h>
+ #include <linux/platform_device.h>
+-
+-#include <mach/omapfb.h>
++#include <linux/omapfb.h>
+
+ static int h4_panel_init(struct lcd_panel *panel, struct omapfb_device *fbdev)
+ {
+diff --git a/drivers/video/omap/lcd_inn1510.c b/drivers/video/omap/lcd_inn1510.c
+index 6953ed4..f6e05d7 100644
+--- a/drivers/video/omap/lcd_inn1510.c
++++ b/drivers/video/omap/lcd_inn1510.c
+@@ -22,9 +22,9 @@
+ #include <linux/module.h>
+ #include <linux/platform_device.h>
+ #include <linux/io.h>
++#include <linux/omapfb.h>
+
+ #include <mach/fpga.h>
+-#include <mach/omapfb.h>
+
+ static int innovator1510_panel_init(struct lcd_panel *panel,
+ struct omapfb_device *fbdev)
+diff --git a/drivers/video/omap/lcd_inn1610.c b/drivers/video/omap/lcd_inn1610.c
+index 4c4f7ee..c599e41 100644
+--- a/drivers/video/omap/lcd_inn1610.c
++++ b/drivers/video/omap/lcd_inn1610.c
+@@ -21,9 +21,9 @@
+
+ #include <linux/module.h>
+ #include <linux/platform_device.h>
++#include <linux/omapfb.h>
+
+ #include <mach/gpio.h>
+-#include <mach/omapfb.h>
+
+ #define MODULE_NAME "omapfb-lcd_h3"
+
+diff --git a/drivers/video/omap/lcd_ldp.c b/drivers/video/omap/lcd_ldp.c
+index 8925230..1c25186 100644
+--- a/drivers/video/omap/lcd_ldp.c
++++ b/drivers/video/omap/lcd_ldp.c
+@@ -25,10 +25,10 @@
+ #include <linux/platform_device.h>
+ #include <linux/delay.h>
+ #include <linux/i2c/twl4030.h>
++#include <linux/omapfb.h>
+
+ #include <mach/gpio.h>
+ #include <mach/mux.h>
+-#include <mach/omapfb.h>
+ #include <asm/mach-types.h>
+
+ #define LCD_PANEL_BACKLIGHT_GPIO (15 + OMAP_MAX_GPIO_LINES)
+diff --git a/drivers/video/omap/lcd_mipid.c b/drivers/video/omap/lcd_mipid.c
+index 1895997..4b28005 100644
+--- a/drivers/video/omap/lcd_mipid.c
++++ b/drivers/video/omap/lcd_mipid.c
+@@ -22,8 +22,8 @@
+ #include <linux/delay.h>
+ #include <linux/workqueue.h>
+ #include <linux/spi/spi.h>
++#include <linux/omapfb.h>
+
+-#include <mach/omapfb.h>
+ #include <mach/lcd_mipid.h>
+
+ #include "../../cbus/tahvo.h"
+diff --git a/drivers/video/omap/lcd_omap2evm.c b/drivers/video/omap/lcd_omap2evm.c
+index 2fc46c2..1908a2b 100644
+--- a/drivers/video/omap/lcd_omap2evm.c
++++ b/drivers/video/omap/lcd_omap2evm.c
+@@ -25,9 +25,9 @@
+ #include <linux/platform_device.h>
+ #include <linux/gpio.h>
+ #include <linux/i2c/twl4030.h>
++#include <linux/omapfb.h>
+
+ #include <mach/mux.h>
+-#include <mach/omapfb.h>
+ #include <asm/mach-types.h>
+
+ #define LCD_PANEL_ENABLE_GPIO 154
+diff --git a/drivers/video/omap/lcd_omap3beagle.c b/drivers/video/omap/lcd_omap3beagle.c
+index eae43e4..6be117e 100644
+--- a/drivers/video/omap/lcd_omap3beagle.c
++++ b/drivers/video/omap/lcd_omap3beagle.c
+@@ -24,9 +24,9 @@
+ #include <linux/platform_device.h>
+ #include <linux/gpio.h>
+ #include <linux/i2c/twl4030.h>
++#include <linux/omapfb.h>
+
+ #include <mach/mux.h>
+-#include <mach/omapfb.h>
+ #include <asm/mach-types.h>
+
+ #define LCD_PANEL_ENABLE_GPIO 170
+diff --git a/drivers/video/omap/lcd_omap3evm.c b/drivers/video/omap/lcd_omap3evm.c
+index 1c3d814..10ba48c 100644
+--- a/drivers/video/omap/lcd_omap3evm.c
++++ b/drivers/video/omap/lcd_omap3evm.c
+@@ -24,9 +24,9 @@
+ #include <linux/platform_device.h>
+ #include <linux/gpio.h>
+ #include <linux/i2c/twl4030.h>
++#include <linux/omapfb.h>
+
+ #include <mach/mux.h>
+-#include <mach/omapfb.h>
+ #include <asm/mach-types.h>
+
+ #define LCD_PANEL_ENABLE_GPIO 153
+diff --git a/drivers/video/omap/lcd_osk.c b/drivers/video/omap/lcd_osk.c
+index 379c96d..d6b193e 100644
+--- a/drivers/video/omap/lcd_osk.c
++++ b/drivers/video/omap/lcd_osk.c
+@@ -22,10 +22,10 @@
+
+ #include <linux/module.h>
+ #include <linux/platform_device.h>
++#include <linux/omapfb.h>
+
+ #include <mach/gpio.h>
+ #include <mach/mux.h>
+-#include <mach/omapfb.h>
+
+ static int osk_panel_init(struct lcd_panel *panel, struct omapfb_device *fbdev)
+ {
+diff --git a/drivers/video/omap/lcd_overo.c b/drivers/video/omap/lcd_overo.c
+index 2bc5c92..40c2026 100644
+--- a/drivers/video/omap/lcd_overo.c
++++ b/drivers/video/omap/lcd_overo.c
+@@ -22,10 +22,10 @@
+ #include <linux/module.h>
+ #include <linux/platform_device.h>
+ #include <linux/i2c/twl4030.h>
++#include <linux/omapfb.h>
+
+ #include <mach/gpio.h>
+ #include <mach/mux.h>
+-#include <mach/omapfb.h>
+ #include <asm/mach-types.h>
+
+ #define LCD_ENABLE 144
+diff --git a/drivers/video/omap/lcd_p2.c b/drivers/video/omap/lcd_p2.c
+index dd40fd7..bc5abef 100644
+--- a/drivers/video/omap/lcd_p2.c
++++ b/drivers/video/omap/lcd_p2.c
+@@ -24,10 +24,10 @@
+ #include <linux/module.h>
+ #include <linux/delay.h>
+ #include <linux/platform_device.h>
++#include <linux/omapfb.h>
+
+ #include <mach/mux.h>
+ #include <mach/gpio.h>
+-#include <mach/omapfb.h>
+
+ /*
+ * File: epson-md-tft.h
+diff --git a/drivers/video/omap/lcd_palmte.c b/drivers/video/omap/lcd_palmte.c
+index 2183173..dcb456c 100644
+--- a/drivers/video/omap/lcd_palmte.c
++++ b/drivers/video/omap/lcd_palmte.c
+@@ -22,9 +22,9 @@
+ #include <linux/module.h>
+ #include <linux/platform_device.h>
+ #include <linux/io.h>
++#include <linux/omapfb.h>
+
+ #include <mach/fpga.h>
+-#include <mach/omapfb.h>
+
+ static int palmte_panel_init(struct lcd_panel *panel,
+ struct omapfb_device *fbdev)
+diff --git a/drivers/video/omap/lcd_palmtt.c b/drivers/video/omap/lcd_palmtt.c
+index 57b0f6c..e8adab8 100644
+--- a/drivers/video/omap/lcd_palmtt.c
++++ b/drivers/video/omap/lcd_palmtt.c
+@@ -28,9 +28,9 @@ GPIO13 - screen blanking
+ #include <linux/platform_device.h>
+ #include <linux/module.h>
+ #include <linux/io.h>
++#include <linux/omapfb.h>
+
+ #include <mach/gpio.h>
+-#include <mach/omapfb.h>
+
+ static int palmtt_panel_init(struct lcd_panel *panel,
+ struct omapfb_device *fbdev)
+diff --git a/drivers/video/omap/lcd_palmz71.c b/drivers/video/omap/lcd_palmz71.c
+index d33d78b..d5b3f82 100644
+--- a/drivers/video/omap/lcd_palmz71.c
++++ b/drivers/video/omap/lcd_palmz71.c
+@@ -23,8 +23,7 @@
+ #include <linux/module.h>
+ #include <linux/platform_device.h>
+ #include <linux/io.h>
+-
+-#include <mach/omapfb.h>
++#include <linux/omapfb.h>
+
+ static int palmz71_panel_init(struct lcd_panel *panel,
+ struct omapfb_device *fbdev)
+diff --git a/drivers/video/omap/lcdc.c b/drivers/video/omap/lcdc.c
+index ab39492..633e33c 100644
+--- a/drivers/video/omap/lcdc.c
++++ b/drivers/video/omap/lcdc.c
+@@ -28,9 +28,9 @@
+ #include <linux/dma-mapping.h>
+ #include <linux/vmalloc.h>
+ #include <linux/clk.h>
++#include <linux/omapfb.h>
+
+ #include <mach/dma.h>
+-#include <mach/omapfb.h>
+
+ #include <asm/mach-types.h>
+
+diff --git a/drivers/video/omap/omapfb_main.c b/drivers/video/omap/omapfb_main.c
+index 3bb4247..c6306af 100644
+--- a/drivers/video/omap/omapfb_main.c
++++ b/drivers/video/omap/omapfb_main.c
+@@ -27,9 +27,9 @@
+ #include <linux/platform_device.h>
+ #include <linux/mm.h>
+ #include <linux/uaccess.h>
++#include <linux/omapfb.h>
+
+ #include <mach/dma.h>
+-#include <mach/omapfb.h>
+
+ #include "lcdc.h"
+ #include "dispc.h"
+diff --git a/drivers/video/omap/rfbi.c b/drivers/video/omap/rfbi.c
+index 29fa368..118cfa9 100644
+--- a/drivers/video/omap/rfbi.c
++++ b/drivers/video/omap/rfbi.c
+@@ -26,8 +26,7 @@
+ #include <linux/interrupt.h>
+ #include <linux/clk.h>
+ #include <linux/io.h>
+-
+-#include <mach/omapfb.h>
++#include <linux/omapfb.h>
+
+ #include "dispc.h"
+
+diff --git a/drivers/video/omap/sossi.c b/drivers/video/omap/sossi.c
+index cc697cc..ff9dd71 100644
+--- a/drivers/video/omap/sossi.c
++++ b/drivers/video/omap/sossi.c
+@@ -23,9 +23,9 @@
+ #include <linux/clk.h>
+ #include <linux/irq.h>
+ #include <linux/io.h>
++#include <linux/omapfb.h>
+
+ #include <mach/dma.h>
+-#include <mach/omapfb.h>
+
+ #include "lcdc.h"
+
+diff --git a/include/linux/omapfb.h b/include/linux/omapfb.h
+new file mode 100644
+index 0000000..b226bdf
+--- /dev/null
++++ b/include/linux/omapfb.h
+@@ -0,0 +1,398 @@
++/*
++ * File: arch/arm/plat-omap/include/mach/omapfb.h
++ *
++ * Framebuffer driver for TI OMAP boards
++ *
++ * Copyright (C) 2004 Nokia Corporation
++ * Author: Imre Deak <imre.deak@nokia.com>
++ *
++ * 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 2 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, write to the Free Software Foundation, Inc.,
++ * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
++ */
++
++#ifndef __OMAPFB_H
++#define __OMAPFB_H
++
++#include <asm/ioctl.h>
++#include <asm/types.h>
++
++/* IOCTL commands. */
++
++#define OMAP_IOW(num, dtype) _IOW('O', num, dtype)
++#define OMAP_IOR(num, dtype) _IOR('O', num, dtype)
++#define OMAP_IOWR(num, dtype) _IOWR('O', num, dtype)
++#define OMAP_IO(num) _IO('O', num)
++
++#define OMAPFB_MIRROR OMAP_IOW(31, int)
++#define OMAPFB_SYNC_GFX OMAP_IO(37)
++#define OMAPFB_VSYNC OMAP_IO(38)
++#define OMAPFB_SET_UPDATE_MODE OMAP_IOW(40, int)
++#define OMAPFB_GET_CAPS OMAP_IOR(42, struct omapfb_caps)
++#define OMAPFB_GET_UPDATE_MODE OMAP_IOW(43, int)
++#define OMAPFB_LCD_TEST OMAP_IOW(45, int)
++#define OMAPFB_CTRL_TEST OMAP_IOW(46, int)
++#define OMAPFB_UPDATE_WINDOW_OLD OMAP_IOW(47, struct omapfb_update_window_old)
++#define OMAPFB_SET_COLOR_KEY OMAP_IOW(50, struct omapfb_color_key)
++#define OMAPFB_GET_COLOR_KEY OMAP_IOW(51, struct omapfb_color_key)
++#define OMAPFB_SETUP_PLANE OMAP_IOW(52, struct omapfb_plane_info)
++#define OMAPFB_QUERY_PLANE OMAP_IOW(53, struct omapfb_plane_info)
++#define OMAPFB_UPDATE_WINDOW OMAP_IOW(54, struct omapfb_update_window)
++#define OMAPFB_SETUP_MEM OMAP_IOW(55, struct omapfb_mem_info)
++#define OMAPFB_QUERY_MEM OMAP_IOW(56, struct omapfb_mem_info)
++
++#define OMAPFB_CAPS_GENERIC_MASK 0x00000fff
++#define OMAPFB_CAPS_LCDC_MASK 0x00fff000
++#define OMAPFB_CAPS_PANEL_MASK 0xff000000
++
++#define OMAPFB_CAPS_MANUAL_UPDATE 0x00001000
++#define OMAPFB_CAPS_TEARSYNC 0x00002000
++#define OMAPFB_CAPS_PLANE_RELOCATE_MEM 0x00004000
++#define OMAPFB_CAPS_PLANE_SCALE 0x00008000
++#define OMAPFB_CAPS_WINDOW_PIXEL_DOUBLE 0x00010000
++#define OMAPFB_CAPS_WINDOW_SCALE 0x00020000
++#define OMAPFB_CAPS_WINDOW_OVERLAY 0x00040000
++#define OMAPFB_CAPS_WINDOW_ROTATE 0x00080000
++#define OMAPFB_CAPS_SET_BACKLIGHT 0x01000000
++
++/* Values from DSP must map to lower 16-bits */
++#define OMAPFB_FORMAT_MASK 0x00ff
++#define OMAPFB_FORMAT_FLAG_DOUBLE 0x0100
++#define OMAPFB_FORMAT_FLAG_TEARSYNC 0x0200
++#define OMAPFB_FORMAT_FLAG_FORCE_VSYNC 0x0400
++#define OMAPFB_FORMAT_FLAG_ENABLE_OVERLAY 0x0800
++#define OMAPFB_FORMAT_FLAG_DISABLE_OVERLAY 0x1000
++
++#define OMAPFB_EVENT_READY 1
++#define OMAPFB_EVENT_DISABLED 2
++
++#define OMAPFB_MEMTYPE_SDRAM 0
++#define OMAPFB_MEMTYPE_SRAM 1
++#define OMAPFB_MEMTYPE_MAX 1
++
++enum omapfb_color_format {
++ OMAPFB_COLOR_RGB565 = 0,
++ OMAPFB_COLOR_YUV422,
++ OMAPFB_COLOR_YUV420,
++ OMAPFB_COLOR_CLUT_8BPP,
++ OMAPFB_COLOR_CLUT_4BPP,
++ OMAPFB_COLOR_CLUT_2BPP,
++ OMAPFB_COLOR_CLUT_1BPP,
++ OMAPFB_COLOR_RGB444,
++ OMAPFB_COLOR_YUY422,
++};
++
++struct omapfb_update_window {
++ __u32 x, y;
++ __u32 width, height;
++ __u32 format;
++ __u32 out_x, out_y;
++ __u32 out_width, out_height;
++ __u32 reserved[8];
++};
++
++struct omapfb_update_window_old {
++ __u32 x, y;
++ __u32 width, height;
++ __u32 format;
++};
++
++enum omapfb_plane {
++ OMAPFB_PLANE_GFX = 0,
++ OMAPFB_PLANE_VID1,
++ OMAPFB_PLANE_VID2,
++};
++
++enum omapfb_channel_out {
++ OMAPFB_CHANNEL_OUT_LCD = 0,
++ OMAPFB_CHANNEL_OUT_DIGIT,
++};
++
++struct omapfb_plane_info {
++ __u32 pos_x;
++ __u32 pos_y;
++ __u8 enabled;
++ __u8 channel_out;
++ __u8 mirror;
++ __u8 reserved1;
++ __u32 out_width;
++ __u32 out_height;
++ __u32 reserved2[12];
++};
++
++struct omapfb_mem_info {
++ __u32 size;
++ __u8 type;
++ __u8 reserved[3];
++};
++
++struct omapfb_caps {
++ __u32 ctrl;
++ __u32 plane_color;
++ __u32 wnd_color;
++};
++
++enum omapfb_color_key_type {
++ OMAPFB_COLOR_KEY_DISABLED = 0,
++ OMAPFB_COLOR_KEY_GFX_DST,
++ OMAPFB_COLOR_KEY_VID_SRC,
++};
++
++struct omapfb_color_key {
++ __u8 channel_out;
++ __u32 background;
++ __u32 trans_key;
++ __u8 key_type;
++};
++
++enum omapfb_update_mode {
++ OMAPFB_UPDATE_DISABLED = 0,
++ OMAPFB_AUTO_UPDATE,
++ OMAPFB_MANUAL_UPDATE
++};
++
++#ifdef __KERNEL__
++
++#include <linux/completion.h>
++#include <linux/interrupt.h>
++#include <linux/fb.h>
++#include <linux/mutex.h>
++
++#include <mach/board.h>
++
++#define OMAP_LCDC_INV_VSYNC 0x0001
++#define OMAP_LCDC_INV_HSYNC 0x0002
++#define OMAP_LCDC_INV_PIX_CLOCK 0x0004
++#define OMAP_LCDC_INV_OUTPUT_EN 0x0008
++#define OMAP_LCDC_HSVS_RISING_EDGE 0x0010
++#define OMAP_LCDC_HSVS_OPPOSITE 0x0020
++
++#define OMAP_LCDC_SIGNAL_MASK 0x003f
++
++#define OMAP_LCDC_PANEL_TFT 0x0100
++
++#define OMAPFB_PLANE_XRES_MIN 8
++#define OMAPFB_PLANE_YRES_MIN 8
++
++#ifdef CONFIG_ARCH_OMAP1
++#define OMAPFB_PLANE_NUM 1
++#else
++#define OMAPFB_PLANE_NUM 3
++#endif
++
++struct omapfb_device;
++
++struct lcd_panel {
++ const char *name;
++ int config; /* TFT/STN, signal inversion */
++ int bpp; /* Pixel format in fb mem */
++ int data_lines; /* Lines on LCD HW interface */
++
++ int x_res, y_res;
++ int pixel_clock; /* In kHz */
++ int hsw; /* Horizontal synchronization
++ pulse width */
++ int hfp; /* Horizontal front porch */
++ int hbp; /* Horizontal back porch */
++ int vsw; /* Vertical synchronization
++ pulse width */
++ int vfp; /* Vertical front porch */
++ int vbp; /* Vertical back porch */
++ int acb; /* ac-bias pin frequency */
++ int pcd; /* pixel clock divider.
++ Obsolete use pixel_clock instead */
++
++ int (*init) (struct lcd_panel *panel,
++ struct omapfb_device *fbdev);
++ void (*cleanup) (struct lcd_panel *panel);
++ int (*enable) (struct lcd_panel *panel);
++ void (*disable) (struct lcd_panel *panel);
++ unsigned long (*get_caps) (struct lcd_panel *panel);
++ int (*set_bklight_level)(struct lcd_panel *panel,
++ unsigned int level);
++ unsigned int (*get_bklight_level)(struct lcd_panel *panel);
++ unsigned int (*get_bklight_max) (struct lcd_panel *panel);
++ int (*run_test) (struct lcd_panel *panel, int test_num);
++};
++
++struct extif_timings {
++ int cs_on_time;
++ int cs_off_time;
++ int we_on_time;
++ int we_off_time;
++ int re_on_time;
++ int re_off_time;
++ int we_cycle_time;
++ int re_cycle_time;
++ int cs_pulse_width;
++ int access_time;
++
++ int clk_div;
++
++ u32 tim[5]; /* set by extif->convert_timings */
++
++ int converted;
++};
++
++struct lcd_ctrl_extif {
++ int (*init) (struct omapfb_device *fbdev);
++ void (*cleanup) (void);
++ void (*get_clk_info) (u32 *clk_period, u32 *max_clk_div);
++ unsigned long (*get_max_tx_rate)(void);
++ int (*convert_timings) (struct extif_timings *timings);
++ void (*set_timings) (const struct extif_timings *timings);
++ void (*set_bits_per_cycle)(int bpc);
++ void (*write_command) (const void *buf, unsigned int len);
++ void (*read_data) (void *buf, unsigned int len);
++ void (*write_data) (const void *buf, unsigned int len);
++ void (*transfer_area) (int width, int height,
++ void (callback)(void * data), void *data);
++ int (*setup_tearsync) (unsigned pin_cnt,
++ unsigned hs_pulse_time, unsigned vs_pulse_time,
++ int hs_pol_inv, int vs_pol_inv, int div);
++ int (*enable_tearsync) (int enable, unsigned line);
++
++ unsigned long max_transmit_size;
++};
++
++struct omapfb_notifier_block {
++ struct notifier_block nb;
++ void *data;
++ int plane_idx;
++};
++
++typedef int (*omapfb_notifier_callback_t)(struct notifier_block *,
++ unsigned long event,
++ void *fbi);
++
++struct omapfb_mem_region {
++ u32 paddr;
++ void __iomem *vaddr;
++ unsigned long size;
++ u8 type; /* OMAPFB_PLANE_MEM_* */
++ unsigned alloc:1; /* allocated by the driver */
++ unsigned map:1; /* kernel mapped by the driver */
++};
++
++struct omapfb_mem_desc {
++ int region_cnt;
++ struct omapfb_mem_region region[OMAPFB_PLANE_NUM];
++};
++
++struct lcd_ctrl {
++ const char *name;
++ void *data;
++
++ int (*init) (struct omapfb_device *fbdev,
++ int ext_mode,
++ struct omapfb_mem_desc *req_md);
++ void (*cleanup) (void);
++ void (*bind_client) (struct omapfb_notifier_block *nb);
++ void (*get_caps) (int plane, struct omapfb_caps *caps);
++ int (*set_update_mode)(enum omapfb_update_mode mode);
++ enum omapfb_update_mode (*get_update_mode)(void);
++ int (*setup_plane) (int plane, int channel_out,
++ unsigned long offset,
++ int screen_width,
++ int pos_x, int pos_y, int width,
++ int height, int color_mode);
++ int (*set_rotate) (int angle);
++ int (*setup_mem) (int plane, size_t size,
++ int mem_type, unsigned long *paddr);
++ int (*mmap) (struct fb_info *info,
++ struct vm_area_struct *vma);
++ int (*set_scale) (int plane,
++ int orig_width, int orig_height,
++ int out_width, int out_height);
++ int (*enable_plane) (int plane, int enable);
++ int (*update_window) (struct fb_info *fbi,
++ struct omapfb_update_window *win,
++ void (*callback)(void *),
++ void *callback_data);
++ void (*sync) (void);
++ void (*suspend) (void);
++ void (*resume) (void);
++ int (*run_test) (int test_num);
++ int (*setcolreg) (u_int regno, u16 red, u16 green,
++ u16 blue, u16 transp,
++ int update_hw_mem);
++ int (*set_color_key) (struct omapfb_color_key *ck);
++ int (*get_color_key) (struct omapfb_color_key *ck);
++};
++
++enum omapfb_state {
++ OMAPFB_DISABLED = 0,
++ OMAPFB_SUSPENDED= 99,
++ OMAPFB_ACTIVE = 100
++};
++
++struct omapfb_plane_struct {
++ int idx;
++ struct omapfb_plane_info info;
++ enum omapfb_color_format color_mode;
++ struct omapfb_device *fbdev;
++};
++
++struct omapfb_device {
++ int state;
++ int ext_lcdc; /* Using external
++ LCD controller */
++ struct mutex rqueue_mutex;
++
++ int palette_size;
++ u32 pseudo_palette[17];
++
++ struct lcd_panel *panel; /* LCD panel */
++ const struct lcd_ctrl *ctrl; /* LCD controller */
++ const struct lcd_ctrl *int_ctrl; /* internal LCD ctrl */
++ struct lcd_ctrl_extif *ext_if; /* LCD ctrl external
++ interface */
++ struct device *dev;
++ struct fb_var_screeninfo new_var; /* for mode changes */
++
++ struct omapfb_mem_desc mem_desc;
++ struct fb_info *fb_info[OMAPFB_PLANE_NUM];
++};
++
++struct omapfb_platform_data {
++ struct omap_lcd_config lcd;
++ struct omapfb_mem_desc mem_desc;
++ void *ctrl_platform_data;
++};
++
++#ifdef CONFIG_ARCH_OMAP1
++extern struct lcd_ctrl omap1_lcd_ctrl;
++#else
++extern struct lcd_ctrl omap2_disp_ctrl;
++#endif
++
++extern void omapfb_reserve_sdram(void);
++extern void omapfb_register_panel(struct lcd_panel *panel);
++extern void omapfb_write_first_pixel(struct omapfb_device *fbdev, u16 pixval);
++extern void omapfb_notify_clients(struct omapfb_device *fbdev,
++ unsigned long event);
++extern int omapfb_register_client(struct omapfb_notifier_block *nb,
++ omapfb_notifier_callback_t callback,
++ void *callback_data);
++extern int omapfb_unregister_client(struct omapfb_notifier_block *nb);
++extern int omapfb_update_window_async(struct fb_info *fbi,
++ struct omapfb_update_window *win,
++ void (*callback)(void *),
++ void *callback_data);
++
++/* in arch/arm/plat-omap/fb.c */
++extern void omapfb_set_ctrl_platform_data(void *pdata);
++
++#endif /* __KERNEL__ */
++
++#endif /* __OMAPFB_H */
+--
+1.5.6.5
+
diff --git a/recipes/linux/linux-omap-pm/0001-DSS-New-display-subsystem-driver-for-OMAP2-3.patch b/recipes/linux/linux-omap-pm/dss2/0003-DSS2-OMAP2-3-Display-Subsystem-driver.patch
index 2c77fcc205..c3523362c6 100644
--- a/recipes/linux/linux-omap-pm/0001-DSS-New-display-subsystem-driver-for-OMAP2-3.patch
+++ b/recipes/linux/linux-omap-pm/dss2/0003-DSS2-OMAP2-3-Display-Subsystem-driver.patch
@@ -1,54 +1,74 @@
-From 3128e95ff7e6a1bed47cc5c64a138cc3bbab492a Mon Sep 17 00:00:00 2001
+From 284deec412f9c6f15c971d8eaf4d0156a51a2f3b Mon Sep 17 00:00:00 2001
From: Tomi Valkeinen <tomi.valkeinen@nokia.com>
-Date: Wed, 7 Jan 2009 14:30:09 +0200
-Subject: [PATCH] DSS: New display subsystem driver for OMAP2/3
+Date: Thu, 2 Apr 2009 10:23:42 +0300
+Subject: [PATCH] DSS2: OMAP2/3 Display Subsystem driver
Signed-off-by: Tomi Valkeinen <tomi.valkeinen@nokia.com>
---
- Documentation/arm/OMAP/DSS | 266 +++
- arch/arm/plat-omap/Kconfig | 2 +
- arch/arm/plat-omap/Makefile | 2 +
- arch/arm/plat-omap/dss/Kconfig | 69 +
- arch/arm/plat-omap/dss/Makefile | 6 +
- arch/arm/plat-omap/dss/dispc.c | 2113 +++++++++++++++++++
- arch/arm/plat-omap/dss/display.c | 787 +++++++
- arch/arm/plat-omap/dss/dpi.c | 344 ++++
- arch/arm/plat-omap/dss/dsi.c | 3187 +++++++++++++++++++++++++++++
- arch/arm/plat-omap/dss/dss.c | 774 +++++++
- arch/arm/plat-omap/dss/dss.h | 274 +++
- arch/arm/plat-omap/dss/rfbi.c | 1262 ++++++++++++
- arch/arm/plat-omap/dss/sdi.c | 174 ++
- arch/arm/plat-omap/dss/venc.c | 506 +++++
- arch/arm/plat-omap/include/mach/display.h | 462 +++++
- 15 files changed, 10228 insertions(+), 0 deletions(-)
+ Documentation/arm/OMAP/DSS | 311 +++
+ arch/arm/plat-omap/Makefile | 2 +-
+ arch/arm/plat-omap/include/mach/display.h | 520 ++++
+ arch/arm/plat-omap/include/mach/vram.h | 33 +
+ arch/arm/plat-omap/include/mach/vrfb.h | 47 +
+ arch/arm/plat-omap/vram.c | 615 +++++
+ arch/arm/plat-omap/vrfb.c | 159 ++
+ drivers/video/Kconfig | 1 +
+ drivers/video/Makefile | 1 +
+ drivers/video/omap2/Kconfig | 3 +
+ drivers/video/omap2/Makefile | 4 +
+ drivers/video/omap2/dss/Kconfig | 89 +
+ drivers/video/omap2/dss/Makefile | 6 +
+ drivers/video/omap2/dss/core.c | 641 +++++
+ drivers/video/omap2/dss/dispc.c | 2968 +++++++++++++++++++++++
+ drivers/video/omap2/dss/display.c | 693 ++++++
+ drivers/video/omap2/dss/dpi.c | 393 +++
+ drivers/video/omap2/dss/dsi.c | 3752 +++++++++++++++++++++++++++++
+ drivers/video/omap2/dss/dss.c | 345 +++
+ drivers/video/omap2/dss/dss.h | 331 +++
+ drivers/video/omap2/dss/manager.c | 576 +++++
+ drivers/video/omap2/dss/overlay.c | 587 +++++
+ drivers/video/omap2/dss/rfbi.c | 1304 ++++++++++
+ drivers/video/omap2/dss/sdi.c | 245 ++
+ drivers/video/omap2/dss/venc.c | 600 +++++
+ 25 files changed, 14225 insertions(+), 1 deletions(-)
create mode 100644 Documentation/arm/OMAP/DSS
- create mode 100644 arch/arm/plat-omap/dss/Kconfig
- create mode 100644 arch/arm/plat-omap/dss/Makefile
- create mode 100644 arch/arm/plat-omap/dss/dispc.c
- create mode 100644 arch/arm/plat-omap/dss/display.c
- create mode 100644 arch/arm/plat-omap/dss/dpi.c
- create mode 100644 arch/arm/plat-omap/dss/dsi.c
- create mode 100644 arch/arm/plat-omap/dss/dss.c
- create mode 100644 arch/arm/plat-omap/dss/dss.h
- create mode 100644 arch/arm/plat-omap/dss/rfbi.c
- create mode 100644 arch/arm/plat-omap/dss/sdi.c
- create mode 100644 arch/arm/plat-omap/dss/venc.c
create mode 100644 arch/arm/plat-omap/include/mach/display.h
+ create mode 100644 arch/arm/plat-omap/include/mach/vram.h
+ create mode 100644 arch/arm/plat-omap/include/mach/vrfb.h
+ create mode 100644 arch/arm/plat-omap/vram.c
+ create mode 100644 arch/arm/plat-omap/vrfb.c
+ create mode 100644 drivers/video/omap2/Kconfig
+ create mode 100644 drivers/video/omap2/Makefile
+ create mode 100644 drivers/video/omap2/dss/Kconfig
+ create mode 100644 drivers/video/omap2/dss/Makefile
+ create mode 100644 drivers/video/omap2/dss/core.c
+ create mode 100644 drivers/video/omap2/dss/dispc.c
+ create mode 100644 drivers/video/omap2/dss/display.c
+ create mode 100644 drivers/video/omap2/dss/dpi.c
+ create mode 100644 drivers/video/omap2/dss/dsi.c
+ create mode 100644 drivers/video/omap2/dss/dss.c
+ create mode 100644 drivers/video/omap2/dss/dss.h
+ create mode 100644 drivers/video/omap2/dss/manager.c
+ create mode 100644 drivers/video/omap2/dss/overlay.c
+ create mode 100644 drivers/video/omap2/dss/rfbi.c
+ create mode 100644 drivers/video/omap2/dss/sdi.c
+ create mode 100644 drivers/video/omap2/dss/venc.c
diff --git a/Documentation/arm/OMAP/DSS b/Documentation/arm/OMAP/DSS
new file mode 100644
-index 0000000..a5e608c
+index 0000000..9e902a2
--- /dev/null
+++ b/Documentation/arm/OMAP/DSS
-@@ -0,0 +1,266 @@
+@@ -0,0 +1,311 @@
+OMAP2/3 Display Subsystem
+-------------------------
+
+This is an almost total rewrite of the OMAP FB driver in drivers/video/omap
+(let's call it DSS1). The main differences between DSS1 and DSS2 are DSI,
-+TV-out and multiple display support.
++TV-out and multiple display support, but there are lots of small improvements
++also.
+
-+The DSS2 driver (omap-dss module) is in arch/arm/plat-omap/dss/, and the FB,
++The DSS2 driver (omapdss module) is in arch/arm/plat-omap/dss/, and the FB,
+panel and controller drivers are in drivers/video/omap2/. DSS1 and DSS2 live
+currently side by side, you can choose which one to use.
+
@@ -59,7 +79,7 @@ index 0000000..a5e608c
+
+- MIPI DPI (parallel) output
+- MIPI DSI output in command mode
-+- MIPI DBI (RFBI) output (not tested for a while, might've gotten broken)
++- MIPI DBI (RFBI) output
+- SDI output
+- TV output
+- All pieces can be compiled as a module or inside kernel
@@ -72,8 +92,13 @@ index 0000000..a5e608c
+- Adjusting DSS FCK to find a good pixel clock
+- Use DSI DPLL to create DSS FCK
+
-+omap-dss driver
-+------------
++Tested boards include:
++- OMAP3 SDP board
++- Beagle board
++- N810
++
++omapdss driver
++--------------
+
+The DSS driver does not itself have any support for Linux framebuffer, V4L or
+such like the current ones, but it has an internal kernel API that upper level
@@ -81,15 +106,15 @@ index 0000000..a5e608c
+
+The DSS driver models OMAP's overlays, overlay managers and displays in a
+flexible way to enable non-common multi-display configuration. In addition to
-+modelling the hardware overlays, omap-dss supports virtual overlays and overlay
++modelling the hardware overlays, omapdss supports virtual overlays and overlay
+managers. These can be used when updating a display with CPU or system DMA.
+
+Panel and controller drivers
+----------------------------
+
+The drivers implement panel or controller specific functionality and are not
-+visible to users except through omapfb driver. They register themselves to the
-+DSS driver.
++usually visible to users except through omapfb driver. They register
++themselves to the DSS driver.
+
+omapfb driver
+-------------
@@ -107,17 +132,19 @@ index 0000000..a5e608c
+V4L2 drivers
+------------
+
-+Currently there are no V4L2 display drivers planned, but it is possible to
-+implement such either to omapfb driver, or as a separate one. From omap-dss
-+point of view the V4L2 drivers should be similar to framebuffer driver.
++V4L2 is being implemented in TI.
++
++From omapdss point of view the V4L2 drivers should be similar to framebuffer
++driver.
+
+Architecture
+--------------------
+
+Some clarification what the different components do:
+
-+ - Framebuffer is a memory area inside OMAP's SDRAM that contains the pixel
-+ data for the image. Framebuffer has width and height and color depth.
++ - Framebuffer is a memory area inside OMAP's SRAM/SDRAM that contains the
++ pixel data for the image. Framebuffer has width and height and color
++ depth.
+ - Overlay defines where the pixels are read from and where they go on the
+ screen. The overlay may be smaller than framebuffer, thus displaying only
+ part of the framebuffer. The position of the overlay may be changed if
@@ -145,54 +172,69 @@ index 0000000..a5e608c
+
+Sysfs
+-----
-+The sysfs interface is a hack, but works for testing. I don't think sysfs
++The sysfs interface is mainly used for testing. I don't think sysfs
+interface is the best for this in the final version, but I don't quite know
+what would be the best interfaces for these things.
+
-+In /sys/devices/platform/omapfb we have four files: framebuffers,
-+overlays, managers and displays. You can read them so see the current
-+setup, and change them by writing to it in the form of
-+"<item-id> <opt1>:<val1> <opt2>:<val2>..."
-+
-+"framebuffers" lists all framebuffers. Its format is:
-+ <fb number>
-+ p:<physical address, read only>
-+ v:<virtual address, read only>
-+ s:<size, read only>
-+ t:<target overlay>
-+
-+"overlays" lists all overlays. Its format is:
-+ <overlay name>
-+ t:<target manager>
-+ x:<xpos>
-+ y:<ypos>
-+ iw:<input width, read only>
-+ ih:<input height, read only>
-+ w:<output width>
-+ h:<output height>
-+ e:<enabled>
-+
-+"managers" lists all overlay managers. Its format is:
-+ <manager name>
-+ t:<target display>
-+
-+"displays" lists all displays. Its format is:
-+ <display name>
-+ e:<enabled>
-+ u:<update mode>
-+ t:<tear sync on/off>
-+ h:<xres/hfp/hbp/hsw>
-+ v:<yres/vfp/vbp/vsw>
-+ p:<pix clock, in kHz>
-+ m:<mode str, as in drivers/video/modedb.c:fb_find_mode>
-+
-+There is also a debug sysfs file at /sys/devices/platform/omap-dss/clk which
-+shows how DSS has configured the clocks.
++The sysfs interface is divided to two parts: DSS and FB.
++
++/sys/class/graphics/fb? directory:
++mirror 0=off, 1=on
++rotate Rotation 0-3 for 0, 90, 180, 270 degrees
++rotate_type 0 = DMA rotation, 1 = VRFB rotation
++overlays List of overlay numbers to which framebuffer pixels go
++phys_addr Physical address of the framebuffer
++virt_addr Virtual address of the framebuffer
++size Size of the framebuffer
++
++/sys/devices/platform/omapdss/overlay? directory:
++enabled 0=off, 1=on
++input_size width,height (ie. the framebuffer size)
++manager Destination overlay manager name
++name
++output_size width,height
++position x,y
++screen_width width
++
++/sys/devices/platform/omapdss/manager? directory:
++display Destination display
++name
++
++/sys/devices/platform/omapdss/display? directory:
++ctrl_name Controller name
++mirror 0=off, 1=on
++update_mode 0=off, 1=auto, 2=manual
++enabled 0=off, 1=on
++name
++rotate Rotation 0-3 for 0, 90, 180, 270 degrees
++timings Display timings (pixclock,xres/hfp/hbp/hsw,yres/vfp/vbp/vsw)
++ When writing, two special timings are accepted for tv-out:
++ "pal" and "ntsc"
++panel_name
++tear_elim Tearing elimination 0=off, 1=on
++
++There are also some debugfs files at <debugfs>/omapdss/ which show information
++about clocks and registers.
+
+Examples
+--------
+
-+In the example scripts "omapfb" is a symlink to /sys/devices/platform/omapfb/.
++The following definitions have been made for the examples below:
++
++ovl0=/sys/devices/platform/omapdss/overlay0
++ovl1=/sys/devices/platform/omapdss/overlay1
++ovl2=/sys/devices/platform/omapdss/overlay2
++
++mgr0=/sys/devices/platform/omapdss/manager0
++mgr1=/sys/devices/platform/omapdss/manager1
++
++lcd=/sys/devices/platform/omapdss/display0
++dvi=/sys/devices/platform/omapdss/display1
++tv=/sys/devices/platform/omapdss/display2
++
++fb0=/sys/class/graphics/fb0
++fb1=/sys/class/graphics/fb1
++fb2=/sys/class/graphics/fb2
+
+Default setup on OMAP3 SDP
+--------------------------
@@ -206,19 +248,18 @@ index 0000000..a5e608c
+FB1 --- VID1 --+- LCD ---- LCD
+FB2 --- VID2 -/ TV ----- TV
+
-+Switch from LCD to DVI
++Example: Switch from LCD to DVI
+----------------------
+
-+dviline=`cat omapfb/displays |grep dvi`
-+w=`echo $dviline | cut -d " " -f 5 | cut -d ":" -f 2 | cut -d "/" -f 1`
-+h=`echo $dviline | cut -d " " -f 6 | cut -d ":" -f 2 | cut -d "/" -f 1`
++w=`cat $dvi/horizontal | cut -d "," -f 1`
++h=`cat $dvi/vertical | cut -d "," -f 1`
+
-+echo "lcd e:0" > omapfb/displays
-+echo "lcd t:none" > omapfb/managers
-+fbset -fb /dev/fb0 -xres $w -yres $h
++echo "0" > $lcd/enabled
++echo "" > $mgr0/display
++fbset -fb /dev/fb0 -xres $w -yres $h -vxres $w -vyres $h
+# at this point you have to switch the dvi/lcd dip-switch from the omap board
-+echo "lcd t:dvi" > omapfb/managers
-+echo "dvi e:1" > omapfb/displays
++echo "dvi" > $mgr0/display
++echo "1" > $dvi/enabled
+
+After this the configuration looks like:
+
@@ -226,18 +267,25 @@ index 0000000..a5e608c
+FB1 --- VID1 --+- LCD -/ LCD
+FB2 --- VID2 -/ TV ----- TV
+
-+Clone GFX overlay to LCD and TV
++Example: Clone GFX overlay to LCD and TV
+-------------------------------
+
-+tvline=`cat /sys/devices/platform/omapfb/displays |grep tv`
-+w=`echo $tvline | cut -d " " -f 5 | cut -d ":" -f 2 | cut -d "/" -f 1`
-+h=`echo $tvline | cut -d " " -f 6 | cut -d ":" -f 2 | cut -d "/" -f 1`
++w=`cat $tv/horizontal | cut -d "," -f 1`
++h=`cat $tv/vertical | cut -d "," -f 1`
++
++echo "0" > $ovl0/enabled
++echo "0" > $ovl1/enabled
++
++echo "" > $fb1/overlays
++echo "0,1" > $fb0/overlays
++
++echo "$w,$h" > $ovl1/output_size
++echo "tv" > $ovl1/manager
+
-+echo "1 t:none" > omapfb/framebuffers
-+echo "0 t:gfx,vid1" > omapfb/framebuffers
-+echo "gfx e:1" > omapfb/overlays
-+echo "vid1 t:tv w:$w h:$h e:1" > omapfb/overlays
-+echo "tv e:1" > omapfb/displays
++echo "1" > $ovl0/enabled
++echo "1" > $ovl1/enabled
++
++echo "1" > $tv/enabled
+
+After this the configuration looks like (only relevant parts shown):
+
@@ -247,36 +295,64 @@ index 0000000..a5e608c
+Misc notes
+----------
+
-+OMAP FB allocates the framebuffer memory using the OMAP VRAM allocator. If
-+that fails, it will fall back to dma_alloc_writecombine().
++OMAP FB allocates the framebuffer memory using the OMAP VRAM allocator.
+
+Using DSI DPLL to generate pixel clock it is possible produce the pixel clock
+of 86.5MHz (max possible), and with that you get 1280x1024@57 output from DVI.
+
-+Arguments
-+---------
++Rotation and mirroring currently only supports RGB565 and RGB8888 modes. VRFB
++does not support mirroring.
++
++VRFB rotation requires much more memory than non-rotated framebuffer, so you
++probably need to increase your vram setting before using VRFB rotation. Also,
++many applications may not work with VRFB if they do not pay attention to all
++framebuffer parameters.
++
++Kernel boot arguments
++---------------------
+
-+vram
-+ - Amount of total VRAM to preallocate. For example, "10M".
++vram=<size>
++ - Amount of total VRAM to preallocate. For example, "10M". omapfb
++ allocates memory for framebuffers from VRAM.
+
-+omapfb.video_mode
-+ - Default video mode for default display. For example,
-+ "800x400MR-24@60". See drivers/video/modedb.c
++omapfb.mode=<display>:<mode>[,...]
++ - Default video mode for specified displays. For example,
++ "dvi:800x400MR-24@60". See drivers/video/modedb.c.
++ There are also two special modes: "pal" and "ntsc" that
++ can be used to tv out.
+
-+omapfb.vram
-+ - VRAM allocated for each framebuffer. Normally omapfb allocates vram
++omapfb.vram=<fbnum>:<size>[@<physaddr>][,...]
++ - VRAM allocated for a framebuffer. Normally omapfb allocates vram
+ depending on the display size. With this you can manually allocate
-+ more. For example "4M,3M" allocates 4M for fb0, 3M for fb1.
++ more or define the physical address of each framebuffer. For example,
++ "1:4M" to allocate 4M for fb1.
+
-+omapfb.debug
++omapfb.debug=<y|n>
+ - Enable debug printing. You have to have OMAPFB debug support enabled
+ in kernel config.
+
-+omap-dss.def_disp
++omapfb.test=<y|n>
++ - Draw test pattern to framebuffer whenever framebuffer settings change.
++ You need to have OMAPFB debug support enabled in kernel config.
++
++omapfb.vrfb=<y|n>
++ - Use VRFB rotation for all framebuffers.
++
++omapfb.rotate=<angle>
++ - Default rotation applied to all framebuffers.
++ 0 - 0 degree rotation
++ 1 - 90 degree rotation
++ 2 - 180 degree rotation
++ 3 - 270 degree rotation
++
++omapfb.mirror=<y|n>
++ - Default mirror for all framebuffers. Only works with DMA rotation.
++
++omapdss.def_disp=<display>
+ - Name of default display, to which all overlays will be connected.
+ Common examples are "lcd" or "tv".
+
-+omap-dss.debug
++omapdss.debug=<y|n>
+ - Enable debug printing. You have to have DSS debug support enabled in
+ kernel config.
+
@@ -288,45 +364,1480 @@ index 0000000..a5e608c
+Error checking
+- Lots of checks are missing or implemented just as BUG()
+
-+Rotate (external FB)
-+Rotate (VRFB)
-+Rotate (SMS)
-+
+System DMA update for DSI
+- Can be used for RGB16 and RGB24P modes. Probably not for RGB24U (how
+ to skip the empty byte?)
+
-+Power management
-+- Context saving
-+
-+Resolution change
-+- The x/y res of the framebuffer are not display resolutions, but the size
-+ of the overlay.
-+- The display resolution affects all planes on the display.
-+
+OMAP1 support
+- Not sure if needed
+
-diff --git a/arch/arm/plat-omap/Kconfig b/arch/arm/plat-omap/Kconfig
-index 2465aea..cd7d9e2 100644
---- a/arch/arm/plat-omap/Kconfig
-+++ b/arch/arm/plat-omap/Kconfig
-@@ -245,6 +245,8 @@ config OMAP_SERIAL_WAKE
- to data on the serial RX line. This allows you to wake the
- system from serial console.
+diff --git a/arch/arm/plat-omap/Makefile b/arch/arm/plat-omap/Makefile
+index 3ebc09e..e6146b2 100644
+--- a/arch/arm/plat-omap/Makefile
++++ b/arch/arm/plat-omap/Makefile
+@@ -4,7 +4,7 @@
-+source "arch/arm/plat-omap/dss/Kconfig"
+ # Common support
+ obj-y := common.o sram.o clock.o devices.o dma.o mux.o gpio.o \
+- usb.o fb.o io.o
++ usb.o fb.o vram.o vrfb.o io.o
+ obj-m :=
+ obj-n :=
+ obj- :=
+diff --git a/arch/arm/plat-omap/include/mach/display.h b/arch/arm/plat-omap/include/mach/display.h
+new file mode 100644
+index 0000000..6288353
+--- /dev/null
++++ b/arch/arm/plat-omap/include/mach/display.h
+@@ -0,0 +1,520 @@
++/*
++ * linux/include/asm-arm/arch-omap/display.h
++ *
++ * Copyright (C) 2008 Nokia Corporation
++ * Author: Tomi Valkeinen <tomi.valkeinen@nokia.com>
++ *
++ * This program is free software; you can redistribute it and/or modify it
++ * under the terms of the GNU General Public License version 2 as published by
++ * the Free Software Foundation.
++ *
++ * 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 <http://www.gnu.org/licenses/>.
++ */
++
++#ifndef __ASM_ARCH_OMAP_DISPLAY_H
++#define __ASM_ARCH_OMAP_DISPLAY_H
++
++#include <linux/list.h>
++#include <linux/kobject.h>
++#include <asm/atomic.h>
++
++#define DISPC_IRQ_FRAMEDONE (1 << 0)
++#define DISPC_IRQ_VSYNC (1 << 1)
++#define DISPC_IRQ_EVSYNC_EVEN (1 << 2)
++#define DISPC_IRQ_EVSYNC_ODD (1 << 3)
++#define DISPC_IRQ_ACBIAS_COUNT_STAT (1 << 4)
++#define DISPC_IRQ_PROG_LINE_NUM (1 << 5)
++#define DISPC_IRQ_GFX_FIFO_UNDERFLOW (1 << 6)
++#define DISPC_IRQ_GFX_END_WIN (1 << 7)
++#define DISPC_IRQ_PAL_GAMMA_MASK (1 << 8)
++#define DISPC_IRQ_OCP_ERR (1 << 9)
++#define DISPC_IRQ_VID1_FIFO_UNDERFLOW (1 << 10)
++#define DISPC_IRQ_VID1_END_WIN (1 << 11)
++#define DISPC_IRQ_VID2_FIFO_UNDERFLOW (1 << 12)
++#define DISPC_IRQ_VID2_END_WIN (1 << 13)
++#define DISPC_IRQ_SYNC_LOST (1 << 14)
++#define DISPC_IRQ_SYNC_LOST_DIGIT (1 << 15)
++#define DISPC_IRQ_WAKEUP (1 << 16)
++
++enum omap_display_type {
++ OMAP_DISPLAY_TYPE_NONE = 0,
++ OMAP_DISPLAY_TYPE_DPI = 1 << 0,
++ OMAP_DISPLAY_TYPE_DBI = 1 << 1,
++ OMAP_DISPLAY_TYPE_SDI = 1 << 2,
++ OMAP_DISPLAY_TYPE_DSI = 1 << 3,
++ OMAP_DISPLAY_TYPE_VENC = 1 << 4,
++};
++
++enum omap_plane {
++ OMAP_DSS_GFX = 0,
++ OMAP_DSS_VIDEO1 = 1,
++ OMAP_DSS_VIDEO2 = 2
++};
++
++enum omap_channel {
++ OMAP_DSS_CHANNEL_LCD = 0,
++ OMAP_DSS_CHANNEL_DIGIT = 1,
++};
++
++enum omap_color_mode {
++ OMAP_DSS_COLOR_CLUT1 = 1 << 0, /* BITMAP 1 */
++ OMAP_DSS_COLOR_CLUT2 = 1 << 1, /* BITMAP 2 */
++ OMAP_DSS_COLOR_CLUT4 = 1 << 2, /* BITMAP 4 */
++ OMAP_DSS_COLOR_CLUT8 = 1 << 3, /* BITMAP 8 */
++ OMAP_DSS_COLOR_RGB12U = 1 << 4, /* RGB12, 16-bit container */
++ OMAP_DSS_COLOR_ARGB16 = 1 << 5, /* ARGB16 */
++ OMAP_DSS_COLOR_RGB16 = 1 << 6, /* RGB16 */
++ OMAP_DSS_COLOR_RGB24U = 1 << 7, /* RGB24, 32-bit container */
++ OMAP_DSS_COLOR_RGB24P = 1 << 8, /* RGB24, 24-bit container */
++ OMAP_DSS_COLOR_YUV2 = 1 << 9, /* YUV2 4:2:2 co-sited */
++ OMAP_DSS_COLOR_UYVY = 1 << 10, /* UYVY 4:2:2 co-sited */
++ OMAP_DSS_COLOR_ARGB32 = 1 << 11, /* ARGB32 */
++ OMAP_DSS_COLOR_RGBA32 = 1 << 12, /* RGBA32 */
++ OMAP_DSS_COLOR_RGBX32 = 1 << 13, /* RGBx32 */
++
++ OMAP_DSS_COLOR_GFX_OMAP3 =
++ OMAP_DSS_COLOR_CLUT1 | OMAP_DSS_COLOR_CLUT2 |
++ OMAP_DSS_COLOR_CLUT4 | OMAP_DSS_COLOR_CLUT8 |
++ OMAP_DSS_COLOR_RGB12U | OMAP_DSS_COLOR_ARGB16 |
++ OMAP_DSS_COLOR_RGB16 | OMAP_DSS_COLOR_RGB24U |
++ OMAP_DSS_COLOR_RGB24P | OMAP_DSS_COLOR_ARGB32 |
++ OMAP_DSS_COLOR_RGBA32 | OMAP_DSS_COLOR_RGBX32,
++
++ OMAP_DSS_COLOR_VID_OMAP3 =
++ OMAP_DSS_COLOR_RGB12U | OMAP_DSS_COLOR_ARGB16 |
++ OMAP_DSS_COLOR_RGB16 | OMAP_DSS_COLOR_RGB24U |
++ OMAP_DSS_COLOR_RGB24P | OMAP_DSS_COLOR_ARGB32 |
++ OMAP_DSS_COLOR_RGBA32 | OMAP_DSS_COLOR_RGBX32 |
++ OMAP_DSS_COLOR_YUV2 | OMAP_DSS_COLOR_UYVY,
++};
++
++enum omap_lcd_display_type {
++ OMAP_DSS_LCD_DISPLAY_STN,
++ OMAP_DSS_LCD_DISPLAY_TFT,
++};
++
++enum omap_dss_load_mode {
++ OMAP_DSS_LOAD_CLUT_AND_FRAME = 0,
++ OMAP_DSS_LOAD_CLUT_ONLY = 1,
++ OMAP_DSS_LOAD_FRAME_ONLY = 2,
++ OMAP_DSS_LOAD_CLUT_ONCE_FRAME = 3,
++};
++
++enum omap_dss_color_key_type {
++ OMAP_DSS_COLOR_KEY_GFX_DST = 0,
++ OMAP_DSS_COLOR_KEY_VID_SRC = 1,
++};
++
++enum omap_rfbi_te_mode {
++ OMAP_DSS_RFBI_TE_MODE_1 = 1,
++ OMAP_DSS_RFBI_TE_MODE_2 = 2,
++};
++
++enum omap_panel_config {
++ OMAP_DSS_LCD_IVS = 1<<0,
++ OMAP_DSS_LCD_IHS = 1<<1,
++ OMAP_DSS_LCD_IPC = 1<<2,
++ OMAP_DSS_LCD_IEO = 1<<3,
++ OMAP_DSS_LCD_RF = 1<<4,
++ OMAP_DSS_LCD_ONOFF = 1<<5,
++
++ OMAP_DSS_LCD_TFT = 1<<20,
++};
++
++enum omap_dss_venc_type {
++ OMAP_DSS_VENC_TYPE_COMPOSITE,
++ OMAP_DSS_VENC_TYPE_SVIDEO,
++};
++
++struct omap_display;
++struct omap_panel;
++struct omap_ctrl;
++
++/* RFBI */
++
++struct rfbi_timings {
++ int cs_on_time;
++ int cs_off_time;
++ int we_on_time;
++ int we_off_time;
++ int re_on_time;
++ int re_off_time;
++ int we_cycle_time;
++ int re_cycle_time;
++ int cs_pulse_width;
++ int access_time;
++
++ int clk_div;
++
++ u32 tim[5]; /* set by rfbi_convert_timings() */
++
++ int converted;
++};
++
++void omap_rfbi_write_command(const void *buf, u32 len);
++void omap_rfbi_read_data(void *buf, u32 len);
++void omap_rfbi_write_data(const void *buf, u32 len);
++void omap_rfbi_write_pixels(const void __iomem *buf, int scr_width,
++ u16 x, u16 y,
++ u16 w, u16 h);
++int omap_rfbi_enable_te(bool enable, unsigned line);
++int omap_rfbi_setup_te(enum omap_rfbi_te_mode mode,
++ unsigned hs_pulse_time, unsigned vs_pulse_time,
++ int hs_pol_inv, int vs_pol_inv, int extif_div);
++
++/* DSI */
++int dsi_vc_dcs_write(int channel, u8 *data, int len);
++int dsi_vc_dcs_write_nosync(int channel, u8 *data, int len);
++int dsi_vc_dcs_read(int channel, u8 dcs_cmd, u8 *buf, int buflen);
++int dsi_vc_set_max_rx_packet_size(int channel, u16 len);
++int dsi_vc_send_null(int channel);
++
++/* Board specific data */
++struct omap_dss_display_config {
++ enum omap_display_type type;
++
++ union {
++ struct {
++ u8 data_lines;
++ } dpi;
++
++ struct {
++ u8 channel;
++ u8 data_lines;
++ } rfbi;
++
++ struct {
++ u8 datapairs;
++ } sdi;
++
++ struct {
++ u8 clk_lane;
++ u8 clk_pol;
++ u8 data1_lane;
++ u8 data1_pol;
++ u8 data2_lane;
++ u8 data2_pol;
++ unsigned long ddr_clk_hz;
++ } dsi;
++
++ struct {
++ enum omap_dss_venc_type type;
++ } venc;
++ } u;
++
++ int panel_reset_gpio;
++ int ctrl_reset_gpio;
++
++ const char *name; /* for debug */
++ const char *ctrl_name;
++ const char *panel_name;
++
++ void *panel_data;
++ void *ctrl_data;
++
++ /* platform specific enable/disable */
++ int (*panel_enable)(struct omap_display *display);
++ void (*panel_disable)(struct omap_display *display);
++ int (*ctrl_enable)(struct omap_display *display);
++ void (*ctrl_disable)(struct omap_display *display);
++ int (*set_backlight)(struct omap_display *display,
++ int level);
++};
++
++struct device;
++
++/* Board specific data */
++struct omap_dss_board_info {
++ unsigned (*get_last_off_on_transaction_id)(struct device *dev);
++ int (*dsi_power_up)(void);
++ void (*dsi_power_down)(void);
++ int num_displays;
++ struct omap_dss_display_config *displays[];
++};
++
++struct omap_ctrl {
++ struct module *owner;
++
++ const char *name;
++
++ int (*init)(struct omap_display *display);
++ void (*cleanup)(struct omap_display *display);
++ int (*enable)(struct omap_display *display);
++ void (*disable)(struct omap_display *display);
++ int (*suspend)(struct omap_display *display);
++ int (*resume)(struct omap_display *display);
++ void (*setup_update)(struct omap_display *display,
++ u16 x, u16 y, u16 w, u16 h);
++
++ int (*enable_te)(struct omap_display *display, bool enable);
++
++ u8 (*get_rotate)(struct omap_display *display);
++ int (*set_rotate)(struct omap_display *display, u8 rotate);
++
++ bool (*get_mirror)(struct omap_display *display);
++ int (*set_mirror)(struct omap_display *display, bool enable);
++
++ int (*run_test)(struct omap_display *display, int test);
++ int (*memory_read)(struct omap_display *display,
++ void *buf, size_t size,
++ u16 x, u16 y, u16 w, u16 h);
++
++ u8 pixel_size;
++
++ struct rfbi_timings timings;
++
++ void *priv;
++};
++
++struct omap_video_timings {
++ /* Unit: pixels */
++ u16 x_res;
++ /* Unit: pixels */
++ u16 y_res;
++ /* Unit: KHz */
++ u32 pixel_clock;
++ /* Unit: pixel clocks */
++ u16 hsw; /* Horizontal synchronization pulse width */
++ /* Unit: pixel clocks */
++ u16 hfp; /* Horizontal front porch */
++ /* Unit: pixel clocks */
++ u16 hbp; /* Horizontal back porch */
++ /* Unit: line clocks */
++ u16 vsw; /* Vertical synchronization pulse width */
++ /* Unit: line clocks */
++ u16 vfp; /* Vertical front porch */
++ /* Unit: line clocks */
++ u16 vbp; /* Vertical back porch */
++
++};
++
++#ifdef CONFIG_OMAP2_DSS_VENC
++/* Hardcoded timings for tv modes. Venc only uses these to
++ * identify the mode, and does not actually use the configs
++ * itself. However, the configs should be something that
++ * a normal monitor can also show */
++const extern struct omap_video_timings omap_dss_pal_timings;
++const extern struct omap_video_timings omap_dss_ntsc_timings;
++#endif
++
++struct omap_panel {
++ struct module *owner;
++
++ const char *name;
++
++ int (*init)(struct omap_display *display);
++ void (*cleanup)(struct omap_display *display);
++ int (*remove)(struct omap_display *display);
++ int (*enable)(struct omap_display *display);
++ void (*disable)(struct omap_display *display);
++ int (*suspend)(struct omap_display *display);
++ int (*resume)(struct omap_display *display);
++ int (*run_test)(struct omap_display *display, int test);
++
++ struct omap_video_timings timings;
++
++ int acbi; /* ac-bias pin transitions per interrupt */
++ /* Unit: line clocks */
++ int acb; /* ac-bias pin frequency */
++
++ enum omap_panel_config config;
++
++ u8 recommended_bpp;
++
++ void *priv;
++};
++
++/* XXX perhaps this should be removed */
++enum omap_dss_overlay_managers {
++ OMAP_DSS_OVL_MGR_LCD,
++ OMAP_DSS_OVL_MGR_TV,
++};
++
++struct omap_overlay_manager;
++
++struct omap_overlay_info {
++ bool enabled;
++
++ u32 paddr;
++ void __iomem *vaddr;
++ u16 screen_width;
++ u16 width;
++ u16 height;
++ enum omap_color_mode color_mode;
++ u8 rotation;
++ bool mirror;
++
++ u16 pos_x;
++ u16 pos_y;
++ u16 out_width; /* if 0, out_width == width */
++ u16 out_height; /* if 0, out_height == height */
++};
++
++enum omap_overlay_caps {
++ OMAP_DSS_OVL_CAP_SCALE = 1 << 0,
++ OMAP_DSS_OVL_CAP_DISPC = 1 << 1,
++};
++
++struct omap_overlay {
++ struct kobject kobj;
++ struct list_head list;
++
++ const char *name;
++ int id;
++ struct omap_overlay_manager *manager;
++ enum omap_color_mode supported_modes;
++ struct omap_overlay_info info;
++ enum omap_overlay_caps caps;
++
++ int (*set_manager)(struct omap_overlay *ovl,
++ struct omap_overlay_manager *mgr);
++ int (*unset_manager)(struct omap_overlay *ovl);
++
++ int (*set_overlay_info)(struct omap_overlay *ovl,
++ struct omap_overlay_info *info);
++ void (*get_overlay_info)(struct omap_overlay *ovl,
++ struct omap_overlay_info *info);
++};
++
++enum omap_overlay_manager_caps {
++ OMAP_DSS_OVL_MGR_CAP_DISPC = 1 << 0,
++};
++
++struct omap_overlay_manager {
++ struct kobject kobj;
++ struct list_head list;
++
++ const char *name;
++ int id;
++ enum omap_overlay_manager_caps caps;
++ struct omap_display *display;
++ int num_overlays;
++ struct omap_overlay **overlays;
++ enum omap_display_type supported_displays;
++
++ int (*set_display)(struct omap_overlay_manager *mgr,
++ struct omap_display *display);
++ int (*unset_display)(struct omap_overlay_manager *mgr);
++
++ int (*apply)(struct omap_overlay_manager *mgr);
++
++ void (*set_default_color)(struct omap_overlay_manager *mgr, u32 color);
++ void (*set_trans_key)(struct omap_overlay_manager *mgr,
++ enum omap_dss_color_key_type type,
++ u32 trans_key);
++ void (*enable_trans_key)(struct omap_overlay_manager *mgr,
++ bool enable);
++};
++
++enum omap_display_caps {
++ OMAP_DSS_DISPLAY_CAP_MANUAL_UPDATE = 1 << 0,
++};
++
++enum omap_dss_update_mode {
++ OMAP_DSS_UPDATE_DISABLED = 0,
++ OMAP_DSS_UPDATE_AUTO,
++ OMAP_DSS_UPDATE_MANUAL,
++};
++
++enum omap_dss_display_state {
++ OMAP_DSS_DISPLAY_DISABLED = 0,
++ OMAP_DSS_DISPLAY_ACTIVE,
++ OMAP_DSS_DISPLAY_SUSPENDED,
++};
++
++struct omap_display {
++ struct kobject kobj;
++ struct list_head list;
++
++ /*atomic_t ref_count;*/
++ int ref_count;
++ /* helper variable for driver suspend/resume */
++ int activate_after_resume;
++
++ enum omap_display_type type;
++ const char *name;
++
++ enum omap_display_caps caps;
++
++ struct omap_overlay_manager *manager;
++
++ enum omap_dss_display_state state;
++
++ struct omap_dss_display_config hw_config; /* board specific data */
++ struct omap_ctrl *ctrl; /* static common data */
++ struct omap_panel *panel; /* static common data */
++
++ int (*enable)(struct omap_display *display);
++ void (*disable)(struct omap_display *display);
++
++ int (*suspend)(struct omap_display *display);
++ int (*resume)(struct omap_display *display);
++
++ void (*get_resolution)(struct omap_display *display,
++ u16 *xres, u16 *yres);
++ int (*get_recommended_bpp)(struct omap_display *display);
++
++ int (*check_timings)(struct omap_display *display,
++ struct omap_video_timings *timings);
++ void (*set_timings)(struct omap_display *display,
++ struct omap_video_timings *timings);
++ void (*get_timings)(struct omap_display *display,
++ struct omap_video_timings *timings);
++ int (*update)(struct omap_display *display,
++ u16 x, u16 y, u16 w, u16 h);
++ int (*sync)(struct omap_display *display);
++ int (*wait_vsync)(struct omap_display *display);
++
++ int (*set_update_mode)(struct omap_display *display,
++ enum omap_dss_update_mode);
++ enum omap_dss_update_mode (*get_update_mode)
++ (struct omap_display *display);
++
++ int (*enable_te)(struct omap_display *display, bool enable);
++ int (*get_te)(struct omap_display *display);
++
++ u8 (*get_rotate)(struct omap_display *display);
++ int (*set_rotate)(struct omap_display *display, u8 rotate);
++
++ bool (*get_mirror)(struct omap_display *display);
++ int (*set_mirror)(struct omap_display *display, bool enable);
++
++ int (*run_test)(struct omap_display *display, int test);
++ int (*memory_read)(struct omap_display *display,
++ void *buf, size_t size,
++ u16 x, u16 y, u16 w, u16 h);
++
++ void (*configure_overlay)(struct omap_overlay *overlay);
++};
++
++int omap_dss_get_num_displays(void);
++struct omap_display *omap_dss_get_display(int no);
++void omap_dss_put_display(struct omap_display *display);
++
++void omap_dss_register_ctrl(struct omap_ctrl *ctrl);
++void omap_dss_unregister_ctrl(struct omap_ctrl *ctrl);
++
++void omap_dss_register_panel(struct omap_panel *panel);
++void omap_dss_unregister_panel(struct omap_panel *panel);
++
++int omap_dss_get_num_overlay_managers(void);
++struct omap_overlay_manager *omap_dss_get_overlay_manager(int num);
++
++int omap_dss_get_num_overlays(void);
++struct omap_overlay *omap_dss_get_overlay(int num);
++
++typedef void (*omap_dispc_isr_t) (void *arg, u32 mask);
++int omap_dispc_register_isr(omap_dispc_isr_t isr, void *arg, u32 mask);
++int omap_dispc_unregister_isr(omap_dispc_isr_t isr, void *arg, u32 mask);
++
++int omap_dispc_wait_for_irq_timeout(u32 irqmask, unsigned long timeout);
++int omap_dispc_wait_for_irq_interruptible_timeout(u32 irqmask,
++ unsigned long timeout);
++
++#endif
+diff --git a/arch/arm/plat-omap/include/mach/vram.h b/arch/arm/plat-omap/include/mach/vram.h
+new file mode 100644
+index 0000000..f176562
+--- /dev/null
++++ b/arch/arm/plat-omap/include/mach/vram.h
+@@ -0,0 +1,33 @@
++/*
++ * File: arch/arm/plat-omap/include/mach/vram.h
++ *
++ * Copyright (C) 2009 Nokia Corporation
++ * Author: Tomi Valkeinen <tomi.valkeinen@nokia.com>
++ *
++ * 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 2 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, write to the Free Software Foundation, Inc.,
++ * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
++ */
++
++#ifndef __OMAPVRAM_H
++#define __OMAPVRAM_H
++
++#include <asm/types.h>
++
++extern int omap_vram_free(unsigned long paddr, size_t size);
++extern int omap_vram_alloc(int mtype, size_t size, unsigned long *paddr);
++extern int omap_vram_reserve(unsigned long paddr, size_t size);
++extern void omap2_set_sdram_vram(u32 size, u32 start);
++extern void omap2_set_sram_vram(u32 size, u32 start);
++
++#endif
+diff --git a/arch/arm/plat-omap/include/mach/vrfb.h b/arch/arm/plat-omap/include/mach/vrfb.h
+new file mode 100644
+index 0000000..2047862
+--- /dev/null
++++ b/arch/arm/plat-omap/include/mach/vrfb.h
+@@ -0,0 +1,47 @@
++/*
++ * File: arch/arm/plat-omap/include/mach/vrfb.h
++ *
++ * VRFB
++ *
++ * Copyright (C) 2009 Nokia Corporation
++ * Author: Tomi Valkeinen <tomi.valkeinen@nokia.com>
++ *
++ * 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 2 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, write to the Free Software Foundation, Inc.,
++ * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
++ */
++
++#ifndef __VRFB_H
++#define __VRFB_H
++
++#define OMAP_VRFB_LINE_LEN 2048
++
++struct vrfb
++{
++ u8 context;
++ void __iomem *vaddr[4];
++ unsigned long paddr[4];
++ u16 xoffset;
++ u16 yoffset;
++ u8 bytespp;
++};
++
++extern int omap_vrfb_request_ctx(struct vrfb *vrfb);
++extern void omap_vrfb_release_ctx(struct vrfb *vrfb);
++extern void omap_vrfb_adjust_size(u16 *width, u16 *height,
++ u8 bytespp);
++extern void omap_vrfb_setup(struct vrfb *vrfb, unsigned long paddr,
++ u16 width, u16 height,
++ u8 bytespp);
++
++#endif /* __VRFB_H */
+diff --git a/arch/arm/plat-omap/vram.c b/arch/arm/plat-omap/vram.c
+new file mode 100644
+index 0000000..f24a110
+--- /dev/null
++++ b/arch/arm/plat-omap/vram.c
+@@ -0,0 +1,615 @@
++/*
++ * linux/arch/arm/plat-omap/vram.c
++ *
++ * Copyright (C) 2008 Nokia Corporation
++ * Author: Tomi Valkeinen <tomi.valkeinen@nokia.com>
++ *
++ * Some code and ideas taken from drivers/video/omap/ driver
++ * by Imre Deak.
++ *
++ * This program is free software; you can redistribute it and/or modify it
++ * under the terms of the GNU General Public License version 2 as published by
++ * the Free Software Foundation.
++ *
++ * 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 <http://www.gnu.org/licenses/>.
++ */
++
++/*#define DEBUG*/
++
++#include <linux/vmalloc.h>
++#include <linux/kernel.h>
++#include <linux/mm.h>
++#include <linux/list.h>
++#include <linux/dma-mapping.h>
++#include <linux/proc_fs.h>
++#include <linux/seq_file.h>
++#include <linux/bootmem.h>
++#include <linux/omapfb.h>
++
++#include <asm/setup.h>
++
++#include <mach/sram.h>
++#include <mach/vram.h>
++
++#ifdef DEBUG
++#define DBG(format, ...) printk(KERN_DEBUG "VRAM: " format, ## __VA_ARGS__)
++#else
++#define DBG(format, ...)
++#endif
++
++#define OMAP2_SRAM_START 0x40200000
++/* Maximum size, in reality this is smaller if SRAM is partially locked. */
++#define OMAP2_SRAM_SIZE 0xa0000 /* 640k */
++
++#define REG_MAP_SIZE(_page_cnt) \
++ ((_page_cnt + (sizeof(unsigned long) * 8) - 1) / 8)
++#define REG_MAP_PTR(_rg, _page_nr) \
++ (((_rg)->map) + (_page_nr) / (sizeof(unsigned long) * 8))
++#define REG_MAP_MASK(_page_nr) \
++ (1 << ((_page_nr) & (sizeof(unsigned long) * 8 - 1)))
++
++#if defined(CONFIG_FB_OMAP2) || defined(CONFIG_FB_OMAP2_MODULE)
++
++/* postponed regions are used to temporarily store region information at boot
++ * time when we cannot yet allocate the region list */
++#define MAX_POSTPONED_REGIONS 10
++
++static int postponed_cnt __initdata;
++static struct {
++ unsigned long paddr;
++ size_t size;
++} postponed_regions[MAX_POSTPONED_REGIONS] __initdata;
++
++struct vram_alloc {
++ struct list_head list;
++ unsigned long paddr;
++ unsigned pages;
++};
++
++struct vram_region {
++ struct list_head list;
++ struct list_head alloc_list;
++ unsigned long paddr;
++ unsigned pages;
++};
++
++static DEFINE_MUTEX(region_mutex);
++static LIST_HEAD(region_list);
++
++static inline int region_mem_type(unsigned long paddr)
++{
++ if (paddr >= OMAP2_SRAM_START &&
++ paddr < OMAP2_SRAM_START + OMAP2_SRAM_SIZE)
++ return OMAPFB_MEMTYPE_SRAM;
++ else
++ return OMAPFB_MEMTYPE_SDRAM;
++}
++
++static struct vram_region *omap_vram_create_region(unsigned long paddr,
++ unsigned pages)
++{
++ struct vram_region *rm;
++
++ rm = kzalloc(sizeof(*rm), GFP_KERNEL);
++
++ if (rm) {
++ INIT_LIST_HEAD(&rm->alloc_list);
++ rm->paddr = paddr;
++ rm->pages = pages;
++ }
++
++ return rm;
++}
++
++#if 0
++static void omap_vram_free_region(struct vram_region *vr)
++{
++ list_del(&vr->list);
++ kfree(vr);
++}
++#endif
++
++static struct vram_alloc *omap_vram_create_allocation(struct vram_region *vr,
++ unsigned long paddr, unsigned pages)
++{
++ struct vram_alloc *va;
++ struct vram_alloc *new;
++
++ new = kzalloc(sizeof(*va), GFP_KERNEL);
++
++ if (!new)
++ return NULL;
++
++ new->paddr = paddr;
++ new->pages = pages;
++
++ list_for_each_entry(va, &vr->alloc_list, list) {
++ if (va->paddr > new->paddr)
++ break;
++ }
++
++ list_add_tail(&new->list, &va->list);
++
++ return new;
++}
++
++static void omap_vram_free_allocation(struct vram_alloc *va)
++{
++ list_del(&va->list);
++ kfree(va);
++}
++
++static __init int omap_vram_add_region_postponed(unsigned long paddr,
++ size_t size)
++{
++ if (postponed_cnt == MAX_POSTPONED_REGIONS)
++ return -ENOMEM;
++
++ postponed_regions[postponed_cnt].paddr = paddr;
++ postponed_regions[postponed_cnt].size = size;
++
++ ++postponed_cnt;
++
++ return 0;
++}
++
++/* add/remove_region can be exported if there's need to add/remove regions
++ * runtime */
++static int omap_vram_add_region(unsigned long paddr, size_t size)
++{
++ struct vram_region *rm;
++ unsigned pages;
++
++ DBG("adding region paddr %08lx size %d\n",
++ paddr, size);
++
++ size &= PAGE_MASK;
++ pages = size >> PAGE_SHIFT;
++
++ rm = omap_vram_create_region(paddr, pages);
++ if (rm == NULL)
++ return -ENOMEM;
++
++ list_add(&rm->list, &region_list);
++
++ return 0;
++}
++
++int omap_vram_free(unsigned long paddr, size_t size)
++{
++ struct vram_region *rm;
++ struct vram_alloc *alloc;
++ unsigned start, end;
++
++ DBG("free mem paddr %08lx size %d\n", paddr, size);
++
++ size = PAGE_ALIGN(size);
++
++ mutex_lock(&region_mutex);
++
++ list_for_each_entry(rm, &region_list, list) {
++ list_for_each_entry(alloc, &rm->alloc_list, list) {
++ start = alloc->paddr;
++ end = alloc->paddr + (alloc->pages >> PAGE_SHIFT);
++
++ if (start >= paddr && end < paddr + size)
++ goto found;
++ }
++ }
++
++ mutex_unlock(&region_mutex);
++ return -EINVAL;
++
++found:
++ omap_vram_free_allocation(alloc);
++
++ mutex_unlock(&region_mutex);
++ return 0;
++}
++EXPORT_SYMBOL(omap_vram_free);
++
++static int _omap_vram_reserve(unsigned long paddr, unsigned pages)
++{
++ struct vram_region *rm;
++ struct vram_alloc *alloc;
++ size_t size;
++
++ size = pages << PAGE_SHIFT;
++
++ list_for_each_entry(rm, &region_list, list) {
++ unsigned long start, end;
++
++ DBG("checking region %lx %d\n", rm->paddr, rm->pages);
++
++ if (region_mem_type(rm->paddr) != region_mem_type(paddr))
++ continue;
++
++ start = rm->paddr;
++ end = start + (rm->pages << PAGE_SHIFT) - 1;
++ if (start > paddr || end < paddr + size - 1)
++ continue;
++
++ DBG("block ok, checking allocs\n");
++
++ list_for_each_entry(alloc, &rm->alloc_list, list) {
++ end = alloc->paddr - 1;
++
++ if (start <= paddr && end >= paddr + size - 1)
++ goto found;
++
++ start = alloc->paddr + (alloc->pages << PAGE_SHIFT);
++ }
++
++ end = rm->paddr + (rm->pages << PAGE_SHIFT) - 1;
++
++ if (!(start <= paddr && end >= paddr + size - 1))
++ continue;
++found:
++ DBG("FOUND area start %lx, end %lx\n", start, end);
++
++ if (omap_vram_create_allocation(rm, paddr, pages) == NULL)
++ return -ENOMEM;
++
++ return 0;
++ }
++
++ return -ENOMEM;
++}
++
++int omap_vram_reserve(unsigned long paddr, size_t size)
++{
++ unsigned pages;
++ int r;
++
++ DBG("reserve mem paddr %08lx size %d\n", paddr, size);
++
++ size = PAGE_ALIGN(size);
++ pages = size >> PAGE_SHIFT;
++
++ mutex_lock(&region_mutex);
++
++ r = _omap_vram_reserve(paddr, pages);
++
++ mutex_unlock(&region_mutex);
++
++ return r;
++}
++EXPORT_SYMBOL(omap_vram_reserve);
++
++static int _omap_vram_alloc(int mtype, unsigned pages, unsigned long *paddr)
++{
++ struct vram_region *rm;
++ struct vram_alloc *alloc;
++
++ list_for_each_entry(rm, &region_list, list) {
++ unsigned long start, end;
++
++ DBG("checking region %lx %d\n", rm->paddr, rm->pages);
++
++ if (region_mem_type(rm->paddr) != mtype)
++ continue;
++
++ start = rm->paddr;
++
++ list_for_each_entry(alloc, &rm->alloc_list, list) {
++ end = alloc->paddr;
++
++ if (end - start >= pages << PAGE_SHIFT)
++ goto found;
++
++ start = alloc->paddr + (alloc->pages << PAGE_SHIFT);
++ }
++
++ end = rm->paddr + (rm->pages << PAGE_SHIFT);
++found:
++ if (end - start < pages << PAGE_SHIFT)
++ continue;
++
++ DBG("FOUND %lx, end %lx\n", start, end);
++
++ alloc = omap_vram_create_allocation(rm, start, pages);
++ if (alloc == NULL)
++ return -ENOMEM;
++
++ *paddr = start;
++
++ return 0;
++ }
++
++ return -ENOMEM;
++}
++
++int omap_vram_alloc(int mtype, size_t size, unsigned long *paddr)
++{
++ unsigned pages;
++ int r;
++
++ BUG_ON(mtype > OMAPFB_MEMTYPE_MAX || !size);
++
++ DBG("alloc mem type %d size %d\n", mtype, size);
++
++ size = PAGE_ALIGN(size);
++ pages = size >> PAGE_SHIFT;
++
++ mutex_lock(&region_mutex);
++
++ r = _omap_vram_alloc(mtype, pages, paddr);
++
++ mutex_unlock(&region_mutex);
++
++ return r;
++}
++EXPORT_SYMBOL(omap_vram_alloc);
++
++#ifdef CONFIG_PROC_FS
++static void *r_next(struct seq_file *m, void *v, loff_t *pos)
++{
++ struct list_head *l = v;
++
++ (*pos)++;
++
++ if (list_is_last(l, &region_list))
++ return NULL;
++
++ return l->next;
++}
++
++static void *r_start(struct seq_file *m, loff_t *pos)
++{
++ loff_t p = *pos;
++ struct list_head *l = &region_list;
++
++ mutex_lock(&region_mutex);
++
++ do {
++ l = l->next;
++ if (l == &region_list)
++ return NULL;
++ } while (p--);
++
++ return l;
++}
++
++static void r_stop(struct seq_file *m, void *v)
++{
++ mutex_unlock(&region_mutex);
++}
++
++static int r_show(struct seq_file *m, void *v)
++{
++ struct vram_region *vr;
++ struct vram_alloc *va;
++ unsigned size;
++
++ vr = list_entry(v, struct vram_region, list);
++
++ size = vr->pages << PAGE_SHIFT;
++
++ seq_printf(m, "%08lx-%08lx (%d bytes)\n",
++ vr->paddr, vr->paddr + size - 1,
++ size);
++
++ list_for_each_entry(va, &vr->alloc_list, list) {
++ size = va->pages << PAGE_SHIFT;
++ seq_printf(m, " %08lx-%08lx (%d bytes)\n",
++ va->paddr, va->paddr + size - 1,
++ size);
++ }
++
++
++
++ return 0;
++}
++
++static const struct seq_operations resource_op = {
++ .start = r_start,
++ .next = r_next,
++ .stop = r_stop,
++ .show = r_show,
++};
++
++static int vram_open(struct inode *inode, struct file *file)
++{
++ return seq_open(file, &resource_op);
++}
++
++static const struct file_operations proc_vram_operations = {
++ .open = vram_open,
++ .read = seq_read,
++ .llseek = seq_lseek,
++ .release = seq_release,
++};
++
++static int __init omap_vram_create_proc(void)
++{
++ proc_create("omap-vram", 0, NULL, &proc_vram_operations);
++
++ return 0;
++}
++#endif
++
++static __init int omap_vram_init(void)
++{
++ int i, r;
++
++ for (i = 0; i < postponed_cnt; i++)
++ omap_vram_add_region(postponed_regions[i].paddr,
++ postponed_regions[i].size);
++
++#ifdef CONFIG_PROC_FS
++ r = omap_vram_create_proc();
++ if (r)
++ return -ENOMEM;
++#endif
++
++ return 0;
++}
++
++arch_initcall(omap_vram_init);
++
++/* boottime vram alloc stuff */
++
++/* set from board file */
++static u32 omapfb_sram_vram_start __initdata;
++static u32 omapfb_sram_vram_size __initdata;
++
++/* set from board file */
++static u32 omapfb_sdram_vram_start __initdata;
++static u32 omapfb_sdram_vram_size __initdata;
++
++/* set from kernel cmdline */
++static u32 omapfb_def_sdram_vram_size __initdata;
++static u32 omapfb_def_sdram_vram_start __initdata;
++
++static void __init omapfb_early_vram(char **p)
++{
++ omapfb_def_sdram_vram_size = memparse(*p, p);
++ if (**p == ',')
++ omapfb_def_sdram_vram_start = simple_strtoul((*p) + 1, p, 16);
++
++ printk("omapfb_early_vram, %d, 0x%x\n",
++ omapfb_def_sdram_vram_size,
++ omapfb_def_sdram_vram_start);
++}
++__early_param("vram=", omapfb_early_vram);
++
++/*
++ * Called from map_io. We need to call to this early enough so that we
++ * can reserve the fixed SDRAM regions before VM could get hold of them.
++ */
++void __init omapfb_reserve_sdram(void)
++{
++ struct bootmem_data *bdata;
++ unsigned long sdram_start, sdram_size;
++ u32 paddr;
++ u32 size = 0;
++
++ /* cmdline arg overrides the board file definition */
++ if (omapfb_def_sdram_vram_size) {
++ size = omapfb_def_sdram_vram_size;
++ paddr = omapfb_def_sdram_vram_start;
++ }
++
++ if (!size) {
++ size = omapfb_sdram_vram_size;
++ paddr = omapfb_sdram_vram_start;
++ }
++
++#ifdef CONFIG_OMAP2_DSS_VRAM_SIZE
++ if (!size) {
++ size = CONFIG_OMAP2_DSS_VRAM_SIZE * 1024 * 1024;
++ paddr = 0;
++ }
++#endif
++
++ if (!size)
++ return;
++
++ size = PAGE_ALIGN(size);
++
++ bdata = NODE_DATA(0)->bdata;
++ sdram_start = bdata->node_min_pfn << PAGE_SHIFT;
++ sdram_size = (bdata->node_low_pfn << PAGE_SHIFT) - sdram_start;
++
++ if (paddr) {
++ if ((paddr & ~PAGE_MASK) || paddr < sdram_start ||
++ paddr + size > sdram_start + sdram_size) {
++ printk(KERN_ERR "Illegal SDRAM region for VRAM\n");
++ return;
++ }
++
++ reserve_bootmem(paddr, size, BOOTMEM_DEFAULT);
++ } else {
++ if (size > sdram_size) {
++ printk(KERN_ERR "Illegal SDRAM size for VRAM\n");
++ return;
++ }
++
++ paddr = virt_to_phys(alloc_bootmem_pages(size));
++ BUG_ON(paddr & ~PAGE_MASK);
++ }
++
++ omap_vram_add_region_postponed(paddr, size);
++
++ pr_info("Reserving %u bytes SDRAM for VRAM\n", size);
++}
++
++/*
++ * Called at sram init time, before anything is pushed to the SRAM stack.
++ * Because of the stack scheme, we will allocate everything from the
++ * start of the lowest address region to the end of SRAM. This will also
++ * include padding for page alignment and possible holes between regions.
++ *
++ * As opposed to the SDRAM case, we'll also do any dynamic allocations at
++ * this point, since the driver built as a module would have problem with
++ * freeing / reallocating the regions.
++ */
++unsigned long __init omapfb_reserve_sram(unsigned long sram_pstart,
++ unsigned long sram_vstart,
++ unsigned long sram_size,
++ unsigned long pstart_avail,
++ unsigned long size_avail)
++{
++ unsigned long pend_avail;
++ unsigned long reserved;
++ u32 paddr;
++ u32 size;
++
++ paddr = omapfb_sram_vram_start;
++ size = omapfb_sram_vram_size;
++
++ if (!size)
++ return 0;
++
++ reserved = 0;
++ pend_avail = pstart_avail + size_avail;
++
++ if (!paddr) {
++ /* Dynamic allocation */
++ if ((size_avail & PAGE_MASK) < size) {
++ printk(KERN_ERR "Not enough SRAM for VRAM\n");
++ return 0;
++ }
++ size_avail = (size_avail - size) & PAGE_MASK;
++ paddr = pstart_avail + size_avail;
++ }
++
++ if (paddr < sram_pstart ||
++ paddr + size > sram_pstart + sram_size) {
++ printk(KERN_ERR "Illegal SRAM region for VRAM\n");
++ return 0;
++ }
++
++ /* Reserve everything above the start of the region. */
++ if (pend_avail - paddr > reserved)
++ reserved = pend_avail - paddr;
++ size_avail = pend_avail - reserved - pstart_avail;
++
++ omap_vram_add_region_postponed(paddr, size);
+
- endmenu
++ if (reserved)
++ pr_info("Reserving %lu bytes SRAM for VRAM\n", reserved);
++
++ return reserved;
++}
++
++void __init omap2_set_sdram_vram(u32 size, u32 start)
++{
++ omapfb_sdram_vram_start = start;
++ omapfb_sdram_vram_size = size;
++}
++
++void __init omap2_set_sram_vram(u32 size, u32 start)
++{
++ omapfb_sram_vram_start = start;
++ omapfb_sram_vram_size = size;
++}
++
++#endif
++
+diff --git a/arch/arm/plat-omap/vrfb.c b/arch/arm/plat-omap/vrfb.c
+new file mode 100644
+index 0000000..7e0f8fc
+--- /dev/null
++++ b/arch/arm/plat-omap/vrfb.c
+@@ -0,0 +1,159 @@
++#include <linux/kernel.h>
++#include <linux/module.h>
++#include <linux/ioport.h>
++#include <asm/io.h>
++
++#include <mach/io.h>
++#include <mach/vrfb.h>
++
++/*#define DEBUG*/
++
++#ifdef DEBUG
++#define DBG(format, ...) printk(KERN_DEBUG "VRFB: " format, ## __VA_ARGS__)
++#else
++#define DBG(format, ...)
++#endif
++
++#define SMS_ROT_VIRT_BASE(context, rot) \
++ (((context >= 4) ? 0xD0000000 : 0x70000000) \
++ | 0x4000000 * (context) \
++ | 0x1000000 * (rot))
++
++#define OMAP_VRFB_SIZE (2048 * 2048 * 4)
++
++#define VRFB_PAGE_WIDTH_EXP 5 /* Assuming SDRAM pagesize= 1024 */
++#define VRFB_PAGE_HEIGHT_EXP 5 /* 1024 = 2^5 * 2^5 */
++#define VRFB_PAGE_WIDTH (1 << VRFB_PAGE_WIDTH_EXP)
++#define VRFB_PAGE_HEIGHT (1 << VRFB_PAGE_HEIGHT_EXP)
++#define SMS_IMAGEHEIGHT_OFFSET 16
++#define SMS_IMAGEWIDTH_OFFSET 0
++#define SMS_PH_OFFSET 8
++#define SMS_PW_OFFSET 4
++#define SMS_PS_OFFSET 0
++
++#define OMAP_SMS_BASE 0x6C000000
++#define SMS_ROT_CONTROL(context) (OMAP_SMS_BASE + 0x180 + 0x10 * context)
++#define SMS_ROT_SIZE(context) (OMAP_SMS_BASE + 0x184 + 0x10 * context)
++#define SMS_ROT_PHYSICAL_BA(context) (OMAP_SMS_BASE + 0x188 + 0x10 * context)
++
++#define VRFB_NUM_CTXS 12
++/* bitmap of reserved contexts */
++static unsigned ctx_map;
++
++void omap_vrfb_adjust_size(u16 *width, u16 *height,
++ u8 bytespp)
++{
++ *width = ALIGN(*width * bytespp, VRFB_PAGE_WIDTH) / bytespp;
++ *height = ALIGN(*height, VRFB_PAGE_HEIGHT);
++}
++EXPORT_SYMBOL(omap_vrfb_adjust_size);
++
++void omap_vrfb_setup(struct vrfb *vrfb, unsigned long paddr,
++ u16 width, u16 height,
++ u8 bytespp)
++{
++ unsigned pixel_size_exp;
++ u16 vrfb_width;
++ u16 vrfb_height;
++ u8 ctx = vrfb->context;
++
++ DBG("omapfb_set_vrfb(%d, %lx, %dx%d, %d)\n", ctx, paddr,
++ width, height, bytespp);
++
++ if (bytespp == 4)
++ pixel_size_exp = 2;
++ else if (bytespp == 2)
++ pixel_size_exp = 1;
++ else
++ BUG();
++
++ vrfb_width = ALIGN(width * bytespp, VRFB_PAGE_WIDTH) / bytespp;
++ vrfb_height = ALIGN(height, VRFB_PAGE_HEIGHT);
++
++ DBG("vrfb w %u, h %u\n", vrfb_width, vrfb_height);
++
++ omap_writel(paddr, SMS_ROT_PHYSICAL_BA(ctx));
++ omap_writel((vrfb_width << SMS_IMAGEWIDTH_OFFSET) |
++ (vrfb_height << SMS_IMAGEHEIGHT_OFFSET),
++ SMS_ROT_SIZE(ctx));
++
++ omap_writel(pixel_size_exp << SMS_PS_OFFSET |
++ VRFB_PAGE_WIDTH_EXP << SMS_PW_OFFSET |
++ VRFB_PAGE_HEIGHT_EXP << SMS_PH_OFFSET,
++ SMS_ROT_CONTROL(ctx));
++
++ DBG("vrfb offset pixels %d, %d\n",
++ vrfb_width - width, vrfb_height - height);
++
++ vrfb->xoffset = vrfb_width - width;
++ vrfb->yoffset = vrfb_height - height;
++ vrfb->bytespp = bytespp;
++}
++EXPORT_SYMBOL(omap_vrfb_setup);
++
++void omap_vrfb_release_ctx(struct vrfb *vrfb)
++{
++ int rot;
++
++ if (vrfb->context == 0xff)
++ return;
++
++ DBG("release ctx %d\n", vrfb->context);
++
++ ctx_map &= ~(1 << vrfb->context);
++
++ for (rot = 0; rot < 4; ++rot) {
++ if(vrfb->paddr[rot]) {
++ release_mem_region(vrfb->paddr[rot], OMAP_VRFB_SIZE);
++ vrfb->paddr[rot] = 0;
++ }
++ }
++
++ vrfb->context = 0xff;
++}
++EXPORT_SYMBOL(omap_vrfb_release_ctx);
++
++int omap_vrfb_request_ctx(struct vrfb *vrfb)
++{
++ int rot;
++ u32 paddr;
++ u8 ctx;
++
++ DBG("request ctx\n");
++
++ for (ctx = 0; ctx < VRFB_NUM_CTXS; ++ctx)
++ if ((ctx_map & (1 << ctx)) == 0)
++ break;
++
++ if (ctx == VRFB_NUM_CTXS) {
++ printk(KERN_ERR "vrfb: no free contexts\n");
++ return -EBUSY;
++ }
++
++ DBG("found free ctx %d\n", ctx);
++
++ ctx_map |= 1 << ctx;
++
++ memset(vrfb, 0, sizeof(*vrfb));
++
++ vrfb->context = ctx;
++
++ for (rot = 0; rot < 4; ++rot) {
++ paddr = SMS_ROT_VIRT_BASE(ctx, rot);
++ if (!request_mem_region(paddr, OMAP_VRFB_SIZE, "vrfb")) {
++ printk(KERN_ERR "vrfb: failed to reserve VRFB "
++ "area for ctx %d, rotation %d\n",
++ ctx, rot * 90);
++ omap_vrfb_release_ctx(vrfb);
++ return -ENOMEM;
++ }
++
++ vrfb->paddr[rot] = paddr;
++
++ DBG("VRFB %d/%d: %lx\n", ctx, rot*90, vrfb->paddr[rot]);
++ }
++
++ return 0;
++}
++EXPORT_SYMBOL(omap_vrfb_request_ctx);
++
+diff --git a/drivers/video/Kconfig b/drivers/video/Kconfig
+index fb19803..8b3752b 100644
+--- a/drivers/video/Kconfig
++++ b/drivers/video/Kconfig
+@@ -2132,6 +2132,7 @@ config FB_MX3
+ an LCD display with your i.MX31 system, say Y here.
- endif
-diff --git a/arch/arm/plat-omap/dss/Kconfig b/arch/arm/plat-omap/dss/Kconfig
+ source "drivers/video/omap/Kconfig"
++source "drivers/video/omap2/Kconfig"
+
+ source "drivers/video/backlight/Kconfig"
+ source "drivers/video/display/Kconfig"
+diff --git a/drivers/video/Makefile b/drivers/video/Makefile
+index 2a998ca..1db8dd4 100644
+--- a/drivers/video/Makefile
++++ b/drivers/video/Makefile
+@@ -120,6 +120,7 @@ obj-$(CONFIG_FB_SM501) += sm501fb.o
+ obj-$(CONFIG_FB_XILINX) += xilinxfb.o
+ obj-$(CONFIG_FB_SH_MOBILE_LCDC) += sh_mobile_lcdcfb.o
+ obj-$(CONFIG_FB_OMAP) += omap/
++obj-$(CONFIG_OMAP2_DSS) += omap2/
+ obj-$(CONFIG_XEN_FBDEV_FRONTEND) += xen-fbfront.o
+ obj-$(CONFIG_FB_CARMINE) += carminefb.o
+ obj-$(CONFIG_FB_MB862XX) += mb862xx/
+diff --git a/drivers/video/omap2/Kconfig b/drivers/video/omap2/Kconfig
+new file mode 100644
+index 0000000..89bf210
+--- /dev/null
++++ b/drivers/video/omap2/Kconfig
+@@ -0,0 +1,3 @@
++source "drivers/video/omap2/dss/Kconfig"
++source "drivers/video/omap2/displays/Kconfig"
++source "drivers/video/omap2/omapfb/Kconfig"
+diff --git a/drivers/video/omap2/Makefile b/drivers/video/omap2/Makefile
new file mode 100644
-index 0000000..6b342df
+index 0000000..72134db
--- /dev/null
-+++ b/arch/arm/plat-omap/dss/Kconfig
-@@ -0,0 +1,69 @@
-+config OMAP2_DSS
++++ b/drivers/video/omap2/Makefile
+@@ -0,0 +1,4 @@
++# OMAP2/3 Display Subsystem
++obj-y += dss/
++obj-y += displays/
++obj-y += omapfb/
+diff --git a/drivers/video/omap2/dss/Kconfig b/drivers/video/omap2/dss/Kconfig
+new file mode 100644
+index 0000000..f2ce068
+--- /dev/null
++++ b/drivers/video/omap2/dss/Kconfig
+@@ -0,0 +1,89 @@
++menuconfig OMAP2_DSS
+ tristate "OMAP2/3 Display Subsystem support (EXPERIMENTAL)"
+ depends on ARCH_OMAP2 || ARCH_OMAP3
+ help
@@ -334,6 +1845,18 @@ index 0000000..6b342df
+
+if OMAP2_DSS
+
++config OMAP2_DSS_VRAM_SIZE
++ int "VRAM size (MB)"
++ range 0 32
++ default 4
++ help
++ The amount of SDRAM to reserve at boot time for video RAM use.
++ This VRAM will be used by omapfb and other drivers that need
++ large continuous RAM area for video use.
++
++ You can also set this with "vram=<bytes>" kernel argument, or
++ in the board file.
++
+config OMAP2_DSS_DEBUG_SUPPORT
+ bool "Debug support"
+ default y
@@ -343,38 +1866,46 @@ index 0000000..6b342df
+
+config OMAP2_DSS_RFBI
+ bool "RFBI support"
-+ default y
++ default n
++ help
++ MIPI DBI, or RFBI (Remote Framebuffer Interface), support.
+
+config OMAP2_DSS_VENC
+ bool "VENC support"
+ default y
-+
-+if ARCH_OMAP3
++ help
++ OMAP Video Encoder support.
+
+config OMAP2_DSS_SDI
+ bool "SDI support"
-+ default y
++ depends on ARCH_OMAP3
++ default n
++ help
++ SDI (Serial Display Interface) support.
+
+config OMAP2_DSS_DSI
+ bool "DSI support"
-+ default y
-+
-+endif
++ depends on ARCH_OMAP3
++ default n
++ help
++ MIPI DSI support.
+
+config OMAP2_DSS_USE_DSI_PLL
+ bool "Use DSI PLL for PCLK (EXPERIMENTAL)"
+ default n
+ depends on OMAP2_DSS_DSI
+ help
-+ Use DSI PLL to generate pixel clock.
-+ Currently only for DPI output.
++ Use DSI PLL to generate pixel clock. Currently only for DPI output.
++ DSI PLL can be used to generate higher and more precise pixel clocks.
+
+config OMAP2_DSS_FAKE_VSYNC
+ bool "Fake VSYNC irq from manual update displays"
+ default n
+ help
-+ If this is selected, DSI will fake a DISPC VSYNC interrupt
-+ when DSI has sent a frame.
++ If this is selected, DSI will generate a fake DISPC VSYNC interrupt
++ when DSI has sent a frame. This is only needed with DSI or RFBI
++ displays using manual mode, and you want VSYNC to, for example,
++ time animation.
+
+config OMAP2_DSS_MIN_FCK_PER_PCK
+ int "Minimum FCK/PCK ratio (for scaling)"
@@ -395,28 +1926,675 @@ index 0000000..6b342df
+ is very high.
+
+endif
-diff --git a/arch/arm/plat-omap/dss/Makefile b/arch/arm/plat-omap/dss/Makefile
+diff --git a/drivers/video/omap2/dss/Makefile b/drivers/video/omap2/dss/Makefile
new file mode 100644
-index 0000000..e98c6c1
+index 0000000..980c72c
--- /dev/null
-+++ b/arch/arm/plat-omap/dss/Makefile
++++ b/drivers/video/omap2/dss/Makefile
@@ -0,0 +1,6 @@
-+obj-$(CONFIG_OMAP2_DSS) += omap-dss.o
-+omap-dss-y := dss.o display.o dispc.o dpi.o
-+omap-dss-$(CONFIG_OMAP2_DSS_RFBI) += rfbi.o
-+omap-dss-$(CONFIG_OMAP2_DSS_VENC) += venc.o
-+omap-dss-$(CONFIG_OMAP2_DSS_SDI) += sdi.o
-+omap-dss-$(CONFIG_OMAP2_DSS_DSI) += dsi.o
-diff --git a/arch/arm/plat-omap/dss/dispc.c b/arch/arm/plat-omap/dss/dispc.c
++obj-$(CONFIG_OMAP2_DSS) += omapdss.o
++omapdss-y := core.o dss.o dispc.o dpi.o display.o manager.o overlay.o
++omapdss-$(CONFIG_OMAP2_DSS_RFBI) += rfbi.o
++omapdss-$(CONFIG_OMAP2_DSS_VENC) += venc.o
++omapdss-$(CONFIG_OMAP2_DSS_SDI) += sdi.o
++omapdss-$(CONFIG_OMAP2_DSS_DSI) += dsi.o
+diff --git a/drivers/video/omap2/dss/core.c b/drivers/video/omap2/dss/core.c
new file mode 100644
-index 0000000..20caa48
+index 0000000..ae7cd06
--- /dev/null
-+++ b/arch/arm/plat-omap/dss/dispc.c
-@@ -0,0 +1,2113 @@
++++ b/drivers/video/omap2/dss/core.c
+@@ -0,0 +1,641 @@
+/*
-+ * linux/arch/arm/plat-omap/dss/dispc.c
++ * linux/drivers/video/omap2/dss/core.c
+ *
-+ * Copyright (C) 2008 Nokia Corporation
++ * Copyright (C) 2009 Nokia Corporation
++ * Author: Tomi Valkeinen <tomi.valkeinen@nokia.com>
++ *
++ * Some code and ideas taken from drivers/video/omap/ driver
++ * by Imre Deak.
++ *
++ * This program is free software; you can redistribute it and/or modify it
++ * under the terms of the GNU General Public License version 2 as published by
++ * the Free Software Foundation.
++ *
++ * 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 <http://www.gnu.org/licenses/>.
++ */
++
++#define DSS_SUBSYS_NAME "CORE"
++
++#include <linux/kernel.h>
++#include <linux/module.h>
++#include <linux/clk.h>
++#include <linux/err.h>
++#include <linux/platform_device.h>
++#include <linux/seq_file.h>
++#include <linux/debugfs.h>
++#include <linux/io.h>
++
++#include <mach/display.h>
++#include <mach/clock.h>
++
++#include "dss.h"
++
++static struct {
++ struct platform_device *pdev;
++ unsigned ctx_id;
++
++ struct clk *dss_ick;
++ struct clk *dss1_fck;
++ struct clk *dss2_fck;
++ struct clk *dss_54m_fck;
++ struct clk *dss_96m_fck;
++ unsigned num_clks_enabled;
++} core;
++
++static void dss_clk_enable_all_no_ctx(void);
++static void dss_clk_disable_all_no_ctx(void);
++static void dss_clk_enable_no_ctx(enum dss_clock clks);
++static void dss_clk_disable_no_ctx(enum dss_clock clks);
++
++static char *def_disp_name;
++module_param_named(def_disp, def_disp_name, charp, 0);
++MODULE_PARM_DESC(def_disp_name, "default display name");
++
++#ifdef DEBUG
++unsigned int dss_debug;
++module_param_named(debug, dss_debug, bool, 0644);
++#endif
++
++/* CONTEXT */
++static unsigned dss_get_ctx_id(void)
++{
++ struct omap_dss_board_info *pdata = core.pdev->dev.platform_data;
++
++ if (!pdata->get_last_off_on_transaction_id)
++ return 0;
++
++ return pdata->get_last_off_on_transaction_id(&core.pdev->dev);
++}
++
++int dss_need_ctx_restore(void)
++{
++ int id = dss_get_ctx_id();
++
++ if (id != core.ctx_id) {
++ DSSDBG("ctx id %u -> id %u\n",
++ core.ctx_id, id);
++ core.ctx_id = id;
++ return 1;
++ } else {
++ return 0;
++ }
++}
++
++static void save_all_ctx(void)
++{
++ DSSDBG("save context\n");
++
++ dss_clk_enable_no_ctx(DSS_CLK_ICK | DSS_CLK_FCK1);
++
++ dss_save_context();
++ dispc_save_context();
++#ifdef CONFIG_OMAP2_DSS_DSI
++ dsi_save_context();
++#endif
++
++ dss_clk_disable_no_ctx(DSS_CLK_ICK | DSS_CLK_FCK1);
++}
++
++static void restore_all_ctx(void)
++{
++ DSSDBG("restore context\n");
++
++ dss_clk_enable_all_no_ctx();
++
++ dss_restore_context();
++ dispc_restore_context();
++#ifdef CONFIG_OMAP2_DSS_DSI
++ dsi_restore_context();
++#endif
++
++ dss_clk_disable_all_no_ctx();
++}
++
++/* CLOCKS */
++void dss_dump_clocks(struct seq_file *s)
++{
++ int i;
++ struct clk *clocks[5] = {
++ core.dss_ick,
++ core.dss1_fck,
++ core.dss2_fck,
++ core.dss_54m_fck,
++ core.dss_96m_fck
++ };
++
++ seq_printf(s, "- dss -\n");
++
++ seq_printf(s, "internal clk count\t%u\n", core.num_clks_enabled);
++
++ for (i = 0; i < 5; i++) {
++ if (!clocks[i])
++ continue;
++ seq_printf(s, "%-15s\t%lu\t%d\n",
++ clocks[i]->name,
++ clk_get_rate(clocks[i]),
++ clocks[i]->usecount);
++ }
++}
++
++static int dss_get_clocks(void)
++{
++ const struct {
++ struct clk **clock;
++ char *omap2_name;
++ char *omap3_name;
++ } clocks[5] = {
++ { &core.dss_ick, "dss_ick", "dss_ick" }, /* L3 & L4 ick */
++ { &core.dss1_fck, "dss1_fck", "dss1_alwon_fck" },
++ { &core.dss2_fck, "dss2_fck", "dss2_alwon_fck" },
++ { &core.dss_54m_fck, "dss_54m_fck", "dss_tv_fck" },
++ { &core.dss_96m_fck, NULL, "dss_96m_fck" },
++ };
++
++ int r = 0;
++ int i;
++ const int num_clocks = 5;
++
++ for (i = 0; i < num_clocks; i++)
++ *clocks[i].clock = NULL;
++
++ for (i = 0; i < num_clocks; i++) {
++ struct clk *clk;
++ const char *clk_name;
++
++ clk_name = cpu_is_omap34xx() ? clocks[i].omap3_name
++ : clocks[i].omap2_name;
++
++ if (!clk_name)
++ continue;
++
++ clk = clk_get(NULL, clk_name);
++
++ if (IS_ERR(clk)) {
++ DSSERR("can't get clock %s", clk_name);
++ r = PTR_ERR(clk);
++ goto err;
++ }
++
++ DSSDBG("clk %s, rate %ld\n",
++ clk_name, clk_get_rate(clk));
++
++ *clocks[i].clock = clk;
++ }
++
++ return 0;
++
++err:
++ for (i = 0; i < num_clocks; i++) {
++ if (!IS_ERR(*clocks[i].clock))
++ clk_put(*clocks[i].clock);
++ }
++
++ return r;
++}
++
++static void dss_put_clocks(void)
++{
++ if (core.dss_96m_fck)
++ clk_put(core.dss_96m_fck);
++ clk_put(core.dss_54m_fck);
++ clk_put(core.dss1_fck);
++ clk_put(core.dss2_fck);
++ clk_put(core.dss_ick);
++}
++
++unsigned long dss_clk_get_rate(enum dss_clock clk)
++{
++ switch (clk) {
++ case DSS_CLK_ICK:
++ return clk_get_rate(core.dss_ick);
++ case DSS_CLK_FCK1:
++ return clk_get_rate(core.dss1_fck);
++ case DSS_CLK_FCK2:
++ return clk_get_rate(core.dss2_fck);
++ case DSS_CLK_54M:
++ return clk_get_rate(core.dss_54m_fck);
++ case DSS_CLK_96M:
++ return clk_get_rate(core.dss_96m_fck);
++ }
++
++ BUG();
++ return 0;
++}
++
++static unsigned count_clk_bits(enum dss_clock clks)
++{
++ unsigned num_clks = 0;
++
++ if (clks & DSS_CLK_ICK)
++ ++num_clks;
++ if (clks & DSS_CLK_FCK1)
++ ++num_clks;
++ if (clks & DSS_CLK_FCK2)
++ ++num_clks;
++ if (clks & DSS_CLK_54M)
++ ++num_clks;
++ if (clks & DSS_CLK_96M)
++ ++num_clks;
++
++ return num_clks;
++}
++
++static void dss_clk_enable_no_ctx(enum dss_clock clks)
++{
++ unsigned num_clks = count_clk_bits(clks);
++
++ if (clks & DSS_CLK_ICK)
++ clk_enable(core.dss_ick);
++ if (clks & DSS_CLK_FCK1)
++ clk_enable(core.dss1_fck);
++ if (clks & DSS_CLK_FCK2)
++ clk_enable(core.dss2_fck);
++ if (clks & DSS_CLK_54M)
++ clk_enable(core.dss_54m_fck);
++ if (clks & DSS_CLK_96M)
++ clk_enable(core.dss_96m_fck);
++
++ core.num_clks_enabled += num_clks;
++}
++
++void dss_clk_enable(enum dss_clock clks)
++{
++ dss_clk_enable_no_ctx(clks);
++
++ if (cpu_is_omap34xx() && dss_need_ctx_restore())
++ restore_all_ctx();
++}
++
++static void dss_clk_disable_no_ctx(enum dss_clock clks)
++{
++ unsigned num_clks = count_clk_bits(clks);
++
++ if (clks & DSS_CLK_ICK)
++ clk_disable(core.dss_ick);
++ if (clks & DSS_CLK_FCK1)
++ clk_disable(core.dss1_fck);
++ if (clks & DSS_CLK_FCK2)
++ clk_disable(core.dss2_fck);
++ if (clks & DSS_CLK_54M)
++ clk_disable(core.dss_54m_fck);
++ if (clks & DSS_CLK_96M)
++ clk_disable(core.dss_96m_fck);
++
++ core.num_clks_enabled -= num_clks;
++}
++
++void dss_clk_disable(enum dss_clock clks)
++{
++ if (cpu_is_omap34xx()) {
++ unsigned num_clks = count_clk_bits(clks);
++
++ BUG_ON(core.num_clks_enabled < num_clks);
++
++ if (core.num_clks_enabled == num_clks)
++ save_all_ctx();
++ }
++
++ dss_clk_disable_no_ctx(clks);
++}
++
++static void dss_clk_enable_all_no_ctx(void)
++{
++ enum dss_clock clks;
++
++ clks = DSS_CLK_ICK | DSS_CLK_FCK1 | DSS_CLK_FCK2 | DSS_CLK_54M;
++ if (cpu_is_omap34xx())
++ clks |= DSS_CLK_96M;
++ dss_clk_enable_no_ctx(clks);
++}
++
++static void dss_clk_disable_all_no_ctx(void)
++{
++ enum dss_clock clks;
++
++ clks = DSS_CLK_ICK | DSS_CLK_FCK1 | DSS_CLK_FCK2 | DSS_CLK_54M;
++ if (cpu_is_omap34xx())
++ clks |= DSS_CLK_96M;
++ dss_clk_disable_no_ctx(clks);
++}
++
++static void dss_clk_disable_all(void)
++{
++ enum dss_clock clks;
++
++ clks = DSS_CLK_ICK | DSS_CLK_FCK1 | DSS_CLK_FCK2 | DSS_CLK_54M;
++ if (cpu_is_omap34xx())
++ clks |= DSS_CLK_96M;
++ dss_clk_disable(clks);
++}
++
++/* DEBUGFS */
++#if defined(CONFIG_DEBUG_FS) && defined(CONFIG_OMAP2_DSS_DEBUG_SUPPORT)
++static void dss_debug_dump_clocks(struct seq_file *s)
++{
++ dss_dump_clocks(s);
++ dispc_dump_clocks(s);
++#ifdef CONFIG_OMAP2_DSS_DSI
++ dsi_dump_clocks(s);
++#endif
++}
++
++static int dss_debug_show(struct seq_file *s, void *unused)
++{
++ void (*func)(struct seq_file *) = s->private;
++ func(s);
++ return 0;
++}
++
++static int dss_debug_open(struct inode *inode, struct file *file)
++{
++ return single_open(file, dss_debug_show, inode->i_private);
++}
++
++static const struct file_operations dss_debug_fops = {
++ .open = dss_debug_open,
++ .read = seq_read,
++ .llseek = seq_lseek,
++ .release = single_release,
++};
++
++static struct dentry *dss_debugfs_dir;
++
++static int dss_initialize_debugfs(void)
++{
++ dss_debugfs_dir = debugfs_create_dir("omapdss", NULL);
++ if (IS_ERR(dss_debugfs_dir)) {
++ int err = PTR_ERR(dss_debugfs_dir);
++ dss_debugfs_dir = NULL;
++ return err;
++ }
++
++ debugfs_create_file("clk", S_IRUGO, dss_debugfs_dir,
++ &dss_debug_dump_clocks, &dss_debug_fops);
++
++ debugfs_create_file("dss", S_IRUGO, dss_debugfs_dir,
++ &dss_dump_regs, &dss_debug_fops);
++ debugfs_create_file("dispc", S_IRUGO, dss_debugfs_dir,
++ &dispc_dump_regs, &dss_debug_fops);
++#ifdef CONFIG_OMAP2_DSS_RFBI
++ debugfs_create_file("rfbi", S_IRUGO, dss_debugfs_dir,
++ &rfbi_dump_regs, &dss_debug_fops);
++#endif
++#ifdef CONFIG_OMAP2_DSS_DSI
++ debugfs_create_file("dsi", S_IRUGO, dss_debugfs_dir,
++ &dsi_dump_regs, &dss_debug_fops);
++#endif
++ return 0;
++}
++
++static void dss_uninitialize_debugfs(void)
++{
++ if (dss_debugfs_dir)
++ debugfs_remove_recursive(dss_debugfs_dir);
++}
++#endif /* CONFIG_DEBUG_FS && CONFIG_OMAP2_DSS_DEBUG_SUPPORT */
++
++
++/* DSI powers */
++int dss_dsi_power_up(void)
++{
++ struct omap_dss_board_info *pdata = core.pdev->dev.platform_data;
++
++ if (!pdata->dsi_power_up)
++ return 0; /* presume power is always on then */
++
++ return pdata->dsi_power_up();
++}
++
++void dss_dsi_power_down(void)
++{
++ struct omap_dss_board_info *pdata = core.pdev->dev.platform_data;
++
++ if (!pdata->dsi_power_down)
++ return;
++
++ pdata->dsi_power_down();
++}
++
++
++
++/* PLATFORM DEVICE */
++static int omap_dss_probe(struct platform_device *pdev)
++{
++ int skip_init = 0;
++ int r;
++
++ core.pdev = pdev;
++
++ r = dss_get_clocks();
++ if (r)
++ goto fail0;
++
++ dss_clk_enable_all_no_ctx();
++
++ core.ctx_id = dss_get_ctx_id();
++ DSSDBG("initial ctx id %u\n", core.ctx_id);
++
++#ifdef CONFIG_FB_OMAP_BOOTLOADER_INIT
++ /* DISPC_CONTROL */
++ if (omap_readl(0x48050440) & 1) /* LCD enabled? */
++ skip_init = 1;
++#endif
++
++ r = dss_init(skip_init);
++ if (r) {
++ DSSERR("Failed to initialize DSS\n");
++ goto fail0;
++ }
++
++#ifdef CONFIG_OMAP2_DSS_RFBI
++ r = rfbi_init();
++ if (r) {
++ DSSERR("Failed to initialize rfbi\n");
++ goto fail0;
++ }
++#endif
++
++ r = dpi_init();
++ if (r) {
++ DSSERR("Failed to initialize dpi\n");
++ goto fail0;
++ }
++
++ r = dispc_init();
++ if (r) {
++ DSSERR("Failed to initialize dispc\n");
++ goto fail0;
++ }
++#ifdef CONFIG_OMAP2_DSS_VENC
++ r = venc_init();
++ if (r) {
++ DSSERR("Failed to initialize venc\n");
++ goto fail0;
++ }
++#endif
++ if (cpu_is_omap34xx()) {
++#ifdef CONFIG_OMAP2_DSS_SDI
++ r = sdi_init(skip_init);
++ if (r) {
++ DSSERR("Failed to initialize SDI\n");
++ goto fail0;
++ }
++#endif
++#ifdef CONFIG_OMAP2_DSS_DSI
++ r = dsi_init();
++ if (r) {
++ DSSERR("Failed to initialize DSI\n");
++ goto fail0;
++ }
++#endif
++ }
++
++#if defined(CONFIG_DEBUG_FS) && defined(CONFIG_OMAP2_DSS_DEBUG_SUPPORT)
++ r = dss_initialize_debugfs();
++ if (r)
++ goto fail0;
++#endif
++
++ dss_init_displays(pdev);
++ dss_init_overlay_managers(pdev);
++ dss_init_overlays(pdev, def_disp_name);
++
++ dss_clk_disable_all();
++
++ return 0;
++
++ /* XXX fail correctly */
++fail0:
++ return r;
++}
++
++static int omap_dss_remove(struct platform_device *pdev)
++{
++ int c;
++
++ dss_uninit_overlays(pdev);
++ dss_uninit_overlay_managers(pdev);
++ dss_uninit_displays(pdev);
++
++#if defined(CONFIG_DEBUG_FS) && defined(CONFIG_OMAP2_DSS_DEBUG_SUPPORT)
++ dss_uninitialize_debugfs();
++#endif
++
++#ifdef CONFIG_OMAP2_DSS_VENC
++ venc_exit();
++#endif
++ dispc_exit();
++ dpi_exit();
++#ifdef CONFIG_OMAP2_DSS_RFBI
++ rfbi_exit();
++#endif
++ if (cpu_is_omap34xx()) {
++#ifdef CONFIG_OMAP2_DSS_DSI
++ dsi_exit();
++#endif
++#ifdef CONFIG_OMAP2_DSS_SDI
++ sdi_exit();
++#endif
++ }
++
++ dss_exit();
++
++ /* these should be removed at some point */
++ c = core.dss_ick->usecount;
++ if (c > 0) {
++ DSSERR("warning: dss_ick usecount %d, disabling\n", c);
++ while (c-- > 0)
++ clk_disable(core.dss_ick);
++ }
++
++ c = core.dss1_fck->usecount;
++ if (c > 0) {
++ DSSERR("warning: dss1_fck usecount %d, disabling\n", c);
++ while (c-- > 0)
++ clk_disable(core.dss1_fck);
++ }
++
++ c = core.dss2_fck->usecount;
++ if (c > 0) {
++ DSSERR("warning: dss2_fck usecount %d, disabling\n", c);
++ while (c-- > 0)
++ clk_disable(core.dss2_fck);
++ }
++
++ c = core.dss_54m_fck->usecount;
++ if (c > 0) {
++ DSSERR("warning: dss_54m_fck usecount %d, disabling\n", c);
++ while (c-- > 0)
++ clk_disable(core.dss_54m_fck);
++ }
++
++ if (core.dss_96m_fck) {
++ c = core.dss_96m_fck->usecount;
++ if (c > 0) {
++ DSSERR("warning: dss_96m_fck usecount %d, disabling\n",
++ c);
++ while (c-- > 0)
++ clk_disable(core.dss_96m_fck);
++ }
++ }
++
++ dss_put_clocks();
++
++ return 0;
++}
++
++static void omap_dss_shutdown(struct platform_device *pdev)
++{
++ DSSDBG("shutdown\n");
++}
++
++static int omap_dss_suspend(struct platform_device *pdev, pm_message_t state)
++{
++ DSSDBG("suspend %d\n", state.event);
++
++ return dss_suspend_all_displays();
++}
++
++static int omap_dss_resume(struct platform_device *pdev)
++{
++ DSSDBG("resume\n");
++
++ return dss_resume_all_displays();
++}
++
++static struct platform_driver omap_dss_driver = {
++ .probe = omap_dss_probe,
++ .remove = omap_dss_remove,
++ .shutdown = omap_dss_shutdown,
++ .suspend = omap_dss_suspend,
++ .resume = omap_dss_resume,
++ .driver = {
++ .name = "omapdss",
++ .owner = THIS_MODULE,
++ },
++};
++
++static int __init omap_dss_init(void)
++{
++ return platform_driver_register(&omap_dss_driver);
++}
++
++static void __exit omap_dss_exit(void)
++{
++ platform_driver_unregister(&omap_dss_driver);
++}
++
++subsys_initcall(omap_dss_init);
++module_exit(omap_dss_exit);
++
++
++MODULE_AUTHOR("Tomi Valkeinen <tomi.valkeinen@nokia.com>");
++MODULE_DESCRIPTION("OMAP2/3 Display Subsystem");
++MODULE_LICENSE("GPL v2");
++
+diff --git a/drivers/video/omap2/dss/dispc.c b/drivers/video/omap2/dss/dispc.c
+new file mode 100644
+index 0000000..ffb5648
+--- /dev/null
++++ b/drivers/video/omap2/dss/dispc.c
+@@ -0,0 +1,2968 @@
++/*
++ * linux/drivers/video/omap2/dss/dispc.c
++ *
++ * Copyright (C) 2009 Nokia Corporation
+ * Author: Tomi Valkeinen <tomi.valkeinen@nokia.com>
+ *
+ * Some code and ideas taken from drivers/video/omap/ driver
@@ -443,6 +2621,9 @@ index 0000000..20caa48
+#include <linux/clk.h>
+#include <linux/io.h>
+#include <linux/jiffies.h>
++#include <linux/seq_file.h>
++#include <linux/delay.h>
++#include <linux/workqueue.h>
+
+#include <mach/sram.h>
+#include <mach/board.h>
@@ -545,11 +2726,11 @@ index 0000000..20caa48
+
+#define DISPC_MAX_NR_ISRS 8
+
-+static struct {
++struct omap_dispc_isr_data {
+ omap_dispc_isr_t isr;
+ void *arg;
+ u32 mask;
-+} registered_isr[DISPC_MAX_NR_ISRS];
++};
+
+#define REG_GET(idx, start, end) \
+ FLD_GET(dispc_read_reg(idx), start, end)
@@ -572,9 +2753,18 @@ index 0000000..20caa48
+ unsigned long cache_prate;
+ struct dispc_clock_info cache_cinfo;
+
++ u32 irq_error_mask;
++ struct omap_dispc_isr_data registered_isr[DISPC_MAX_NR_ISRS];
++
++ spinlock_t error_lock;
++ u32 error_irqs;
++ struct work_struct error_work;
++
+ u32 ctx[DISPC_SZ_REGS / sizeof(u32)];
+} dispc;
+
++static void omap_dispc_set_irqs(void);
++
+static inline void dispc_write_reg(const struct dispc_reg idx, u32 val)
+{
+ __raw_writel(val, dispc.base + idx.idx);
@@ -877,7 +3067,7 @@ index 0000000..20caa48
+#undef SR
+#undef RR
+
-+static inline void enable_clocks(int enable)
++static inline void enable_clocks(bool enable)
+{
+ if (enable)
+ dss_clk_enable(DSS_CLK_ICK | DSS_CLK_FCK1);
@@ -936,12 +3126,18 @@ index 0000000..20caa48
+ dispc_write_reg(DISPC_VID_FIR_COEF_HV(plane-1, reg), value);
+}
+
++static void _dispc_write_firv_reg(enum omap_plane plane, int reg, u32 value)
++{
++ BUG_ON(plane == OMAP_DSS_GFX);
++
++ dispc_write_reg(DISPC_VID_FIR_COEF_V(plane-1, reg), value);
++}
+
+static void _dispc_set_scale_coef(enum omap_plane plane, int hscaleup,
-+ int vscaleup)
++ int vscaleup, int five_taps)
+{
+ /* Coefficients for horizontal up-sampling */
-+ const u32 coef_hup[8] = {
++ static const u32 coef_hup[8] = {
+ 0x00800000,
+ 0x0D7CF800,
+ 0x1E70F5FF,
@@ -953,7 +3149,7 @@ index 0000000..20caa48
+ };
+
+ /* Coefficients for horizontal down-sampling */
-+ const u32 coef_hdown[8] = {
++ static const u32 coef_hdown[8] = {
+ 0x24382400,
+ 0x28371FFE,
+ 0x2C361BFB,
@@ -965,7 +3161,8 @@ index 0000000..20caa48
+ };
+
+ /* Coefficients for horizontal and vertical up-sampling */
-+ const u32 coef_hvup[8] = {
++ static const u32 coef_hvup[2][8] = {
++ {
+ 0x00800000,
+ 0x037B02FF,
+ 0x0C6F05FE,
@@ -974,10 +3171,22 @@ index 0000000..20caa48
+ 0x075920FE,
+ 0x056F0CFF,
+ 0x027B0300,
++ },
++ {
++ 0x00800000,
++ 0x0D7CF8FF,
++ 0x1E70F5FE,
++ 0x335FF5FB,
++ 0xF7404000,
++ 0xF55F33FE,
++ 0xF5701EFF,
++ 0xF87C0D00,
++ },
+ };
+
+ /* Coefficients for horizontal and vertical down-sampling */
-+ const u32 coef_hvdown[8] = {
++ static const u32 coef_hvdown[2][8] = {
++ {
+ 0x24382400,
+ 0x28391F04,
+ 0x2D381B08,
@@ -986,11 +3195,48 @@ index 0000000..20caa48
+ 0x173732F9,
+ 0x1B382DFB,
+ 0x1F3928FE,
++ },
++ {
++ 0x24382400,
++ 0x28371F04,
++ 0x2C361B08,
++ 0x3035160C,
++ 0x113433F7,
++ 0x163530F9,
++ 0x1B362CFB,
++ 0x1F3728FE,
++ },
++ };
++
++ /* Coefficients for vertical up-sampling */
++ static const u32 coef_vup[8] = {
++ 0x00000000,
++ 0x0000FF00,
++ 0x0000FEFF,
++ 0x0000FBFE,
++ 0x000000F7,
++ 0x0000FEFB,
++ 0x0000FFFE,
++ 0x000000FF,
++ };
++
++
++ /* Coefficients for vertical down-sampling */
++ static const u32 coef_vdown[8] = {
++ 0x00000000,
++ 0x000004FE,
++ 0x000008FB,
++ 0x00000CF9,
++ 0x0000F711,
++ 0x0000F90C,
++ 0x0000FB08,
++ 0x0000FE04,
+ };
+
+ const u32 *h_coef;
+ const u32 *hv_coef;
+ const u32 *hv_coef_mod;
++ const u32 *v_coef;
+ int i;
+
+ if (hscaleup)
@@ -999,17 +3245,19 @@ index 0000000..20caa48
+ h_coef = coef_hdown;
+
+ if (vscaleup) {
-+ hv_coef = coef_hvup;
++ hv_coef = coef_hvup[five_taps];
++ v_coef = coef_vup;
+
+ if (hscaleup)
+ hv_coef_mod = NULL;
+ else
-+ hv_coef_mod = coef_hvdown;
++ hv_coef_mod = coef_hvdown[five_taps];
+ } else {
-+ hv_coef = coef_hvdown;
++ hv_coef = coef_hvdown[five_taps];
++ v_coef = coef_vdown;
+
+ if (hscaleup)
-+ hv_coef_mod = coef_hvup;
++ hv_coef_mod = coef_hvup[five_taps];
+ else
+ hv_coef_mod = NULL;
+ }
@@ -1029,6 +3277,15 @@ index 0000000..20caa48
+ _dispc_write_firh_reg(plane, i, h);
+ _dispc_write_firhv_reg(plane, i, hv);
+ }
++
++ if (!five_taps)
++ return;
++
++ for (i = 0; i < 8; i++) {
++ u32 v;
++ v = v_coef[i];
++ _dispc_write_firv_reg(plane, i, v);
++ }
+}
+
+static void _dispc_setup_color_conv_coef(void)
@@ -1114,7 +3371,16 @@ index 0000000..20caa48
+ dispc_write_reg(vsi_reg[plane-1], val);
+}
+
-+static void _dispc_set_row_inc(enum omap_plane plane, int inc)
++static void _dispc_set_pix_inc(enum omap_plane plane, u16 inc)
++{
++ const struct dispc_reg ri_reg[] = { DISPC_GFX_PIXEL_INC,
++ DISPC_VID_PIXEL_INC(0),
++ DISPC_VID_PIXEL_INC(1) };
++
++ dispc_write_reg(ri_reg[plane], inc);
++}
++
++static void _dispc_set_row_inc(enum omap_plane plane, u16 inc)
+{
+ const struct dispc_reg ri_reg[] = { DISPC_GFX_ROW_INC,
+ DISPC_VID_ROW_INC(0),
@@ -1216,7 +3482,7 @@ index 0000000..20caa48
+ enable_clocks(0);
+}
+
-+static void _dispc_set_vid_color_conv(enum omap_plane plane, int enable)
++static void _dispc_set_vid_color_conv(enum omap_plane plane, bool enable)
+{
+ u32 val;
+
@@ -1227,7 +3493,7 @@ index 0000000..20caa48
+ dispc_write_reg(dispc_reg_att[plane], val);
+}
+
-+void dispc_set_lcd_size(int width, int height)
++void dispc_set_lcd_size(u16 width, u16 height)
+{
+ u32 val;
+ BUG_ON((width > (1 << 11)) || (height > (1 << 11)));
@@ -1237,7 +3503,7 @@ index 0000000..20caa48
+ enable_clocks(0);
+}
+
-+void dispc_set_digit_size(int width, int height)
++void dispc_set_digit_size(u16 width, u16 height)
+{
+ u32 val;
+ BUG_ON((width > (1 << 11)) || (height > (1 << 11)));
@@ -1263,6 +3529,12 @@ index 0000000..20caa48
+ else
+ BUG();
+
++ if (cpu_is_omap34xx()) {
++ /* FIFOMERGE */
++ if (REG_GET(DISPC_CONFIG, 14, 14))
++ size *= 3;
++ }
++
+ enable_clocks(0);
+
+ return size;
@@ -1273,19 +3545,11 @@ index 0000000..20caa48
+ const struct dispc_reg ftrs_reg[] = { DISPC_GFX_FIFO_THRESHOLD,
+ DISPC_VID_FIFO_THRESHOLD(0),
+ DISPC_VID_FIFO_THRESHOLD(1) };
-+ const struct dispc_reg fsz_reg[] = { DISPC_GFX_FIFO_SIZE_STATUS,
-+ DISPC_VID_FIFO_SIZE_STATUS(0),
-+ DISPC_VID_FIFO_SIZE_STATUS(1) };
+ u32 size;
+
+ enable_clocks(1);
+
-+ if (cpu_is_omap24xx())
-+ size = FLD_GET(dispc_read_reg(fsz_reg[plane]), 8, 0);
-+ else if (cpu_is_omap34xx())
-+ size = FLD_GET(dispc_read_reg(fsz_reg[plane]), 10, 0);
-+ else
-+ BUG();
++ size = dispc_get_plane_fifo_size(plane);
+
+ BUG_ON(low > size || high > size);
+
@@ -1305,6 +3569,16 @@ index 0000000..20caa48
+ enable_clocks(0);
+}
+
++void dispc_enable_fifomerge(bool enable)
++{
++ enable_clocks(1);
++
++ DSSDBG("FIFO merge %s\n", enable ? "enabled" : "disabled");
++ REG_FLD_MOD(DISPC_CONFIG, enable ? 1 : 0, 14, 14);
++
++ enable_clocks(0);
++}
++
+static void _dispc_set_fir(enum omap_plane plane, int hinc, int vinc)
+{
+ u32 val;
@@ -1343,13 +3617,13 @@ index 0000000..20caa48
+
+
+static void _dispc_set_scaling(enum omap_plane plane,
-+ int orig_width, int orig_height,
-+ int out_width, int out_height,
-+ int ilace)
++ u16 orig_width, u16 orig_height,
++ u16 out_width, u16 out_height,
++ bool ilace)
+{
+ int fir_hinc;
+ int fir_vinc;
-+ int hscaleup, vscaleup;
++ int hscaleup, vscaleup, five_taps;
+ int fieldmode = 0;
+ int accu0 = 0;
+ int accu1 = 0;
@@ -1359,8 +3633,9 @@ index 0000000..20caa48
+
+ hscaleup = orig_width <= out_width;
+ vscaleup = orig_height <= out_height;
++ five_taps = orig_height > out_height * 2;
+
-+ _dispc_set_scale_coef(plane, hscaleup, vscaleup);
++ _dispc_set_scale_coef(plane, hscaleup, vscaleup, five_taps);
+
+ if (!orig_width || orig_width == out_width)
+ fir_hinc = 0;
@@ -1375,7 +3650,7 @@ index 0000000..20caa48
+ _dispc_set_fir(plane, fir_hinc, fir_vinc);
+
+ l = dispc_read_reg(dispc_reg_att[plane]);
-+ l &= ~(0x0f << 5);
++ l &= ~((0x0f << 5) | (0x3 << 21));
+
+ l |= fir_hinc ? (1 << 5) : 0;
+ l |= fir_vinc ? (1 << 6) : 0;
@@ -1383,6 +3658,9 @@ index 0000000..20caa48
+ l |= hscaleup ? 0 : (1 << 7);
+ l |= vscaleup ? 0 : (1 << 8);
+
++ l |= five_taps ? (1 << 21) : 0;
++ l |= five_taps ? (1 << 22) : 0;
++
+ dispc_write_reg(dispc_reg_att[plane], l);
+
+ if (ilace) {
@@ -1403,155 +3681,467 @@ index 0000000..20caa48
+ _dispc_set_vid_accu1(plane, 0, accu1);
+}
+
-+static int _dispc_setup_plane(enum omap_plane plane,
-+ enum omap_channel channel_out,
-+ u32 paddr, int screen_width,
-+ int pos_x, int pos_y,
-+ int width, int height,
-+ int out_width, int out_height,
-+ enum omap_color_mode color_mode,
-+ int ilace)
++static void _dispc_set_rotation_attrs(enum omap_plane plane, u8 rotation,
++ bool mirroring, enum omap_color_mode color_mode)
+{
-+ int fieldmode = 0;
-+ int bpp;
-+ int cconv;
-+ int scaling = 0;
++ if (color_mode == OMAP_DSS_COLOR_YUV2 ||
++ color_mode == OMAP_DSS_COLOR_UYVY) {
++ int vidrot = 0;
+
-+ if (plane == OMAP_DSS_GFX) {
-+ if (width != out_width || height != out_height)
-+ return -EINVAL;
-+ } else {
-+ /* video plane */
-+ if (width != out_width || height != out_height)
-+ scaling = 1;
++ if (mirroring) {
++ switch (rotation) {
++ case 0: vidrot = 2; break;
++ case 1: vidrot = 3; break;
++ case 2: vidrot = 0; break;
++ case 3: vidrot = 1; break;
++ }
++ } else {
++ switch (rotation) {
++ case 0: vidrot = 0; break;
++ case 1: vidrot = 1; break;
++ case 2: vidrot = 2; break;
++ case 3: vidrot = 1; break;
++ }
++ }
+
-+ if (out_width < width/2 ||
-+ out_width > width*8)
-+ return -EINVAL;
++ REG_FLD_MOD(dispc_reg_att[plane], vidrot, 13, 12);
+
-+ if (out_height < height/2 ||
-+ out_height > height*8)
-+ return -EINVAL;
++ if (rotation == 1 || rotation == 3)
++ REG_FLD_MOD(dispc_reg_att[plane], 0x1, 18, 18);
++ else
++ REG_FLD_MOD(dispc_reg_att[plane], 0x0, 18, 18);
++ } else {
++ REG_FLD_MOD(dispc_reg_att[plane], 0, 13, 12);
++ REG_FLD_MOD(dispc_reg_att[plane], 0, 18, 18);
+ }
++}
+
++static int pixinc(int pixels, u8 ps)
++{
++ if (pixels == 1)
++ return 1;
++ else if (pixels > 1)
++ return 1 + (pixels - 1) * ps;
++ else if (pixels < 0)
++ return 1 - (-pixels + 1) * ps;
++ else
++ BUG();
++}
++
++static void calc_rotation_offset(u8 rotation, bool mirror,
++ u16 screen_width,
++ u16 width, u16 height,
++ enum omap_color_mode color_mode, bool fieldmode,
++ unsigned *offset0, unsigned *offset1,
++ u16 *row_inc, u16 *pix_inc)
++{
++ u8 ps;
++ u16 fbw, fbh;
+
+ switch (color_mode) {
+ case OMAP_DSS_COLOR_RGB16:
-+ bpp = 16;
-+ cconv = 0;
++ case OMAP_DSS_COLOR_ARGB16:
++ ps = 2;
+ break;
+
+ case OMAP_DSS_COLOR_RGB24P:
-+ bpp = 24;
-+ cconv = 0;
++ ps = 3;
+ break;
+
+ case OMAP_DSS_COLOR_RGB24U:
-+ bpp = 32;
-+ cconv = 0;
++ case OMAP_DSS_COLOR_ARGB32:
++ case OMAP_DSS_COLOR_RGBA32:
++ case OMAP_DSS_COLOR_RGBX32:
++ ps = 4;
+ break;
+
+ case OMAP_DSS_COLOR_YUV2:
+ case OMAP_DSS_COLOR_UYVY:
-+ BUG_ON(plane == OMAP_DSS_GFX);
-+ bpp = 16;
-+ cconv = 1;
++ ps = 2;
++ break;
++ default:
++ BUG();
++ return;
++ }
++
++ DSSDBG("calc_rot(%d): scrw %d, %dx%d\n", rotation, screen_width,
++ width, height);
++
++ /* width & height are overlay sizes, convert to fb sizes */
++
++ if (rotation == 0 || rotation == 2) {
++ fbw = width;
++ fbh = height;
++ } else {
++ fbw = height;
++ fbh = width;
++ }
++
++ switch (rotation + mirror * 4) {
++ case 0:
++ *offset0 = 0;
++ if (fieldmode)
++ *offset1 = screen_width * ps;
++ else
++ *offset1 = 0;
++ *row_inc = pixinc(1 + (screen_width - fbw) +
++ (fieldmode ? screen_width : 0),
++ ps);
++ *pix_inc = pixinc(1, ps);
++ break;
++ case 1:
++ *offset0 = screen_width * (fbh - 1) * ps;
++ if (fieldmode)
++ *offset1 = *offset0 + ps;
++ else
++ *offset1 = *offset0;
++ *row_inc = pixinc(screen_width * (fbh - 1) + 1 +
++ (fieldmode ? 1 : 0), ps);
++ *pix_inc = pixinc(-screen_width, ps);
++ break;
++ case 2:
++ *offset0 = (screen_width * (fbh - 1) + fbw - 1) * ps;
++ if (fieldmode)
++ *offset1 = *offset0 - screen_width * ps;
++ else
++ *offset1 = *offset0;
++ *row_inc = pixinc(-1 -
++ (screen_width - fbw) -
++ (fieldmode ? screen_width : 0),
++ ps);
++ *pix_inc = pixinc(-1, ps);
++ break;
++ case 3:
++ *offset0 = (fbw - 1) * ps;
++ if (fieldmode)
++ *offset1 = *offset0 - ps;
++ else
++ *offset1 = *offset0;
++ *row_inc = pixinc(-screen_width * (fbh - 1) - 1 -
++ (fieldmode ? 1 : 0), ps);
++ *pix_inc = pixinc(screen_width, ps);
++ break;
++
++ /* mirroring */
++ case 0 + 4:
++ *offset0 = (fbw - 1) * ps;
++ if (fieldmode)
++ *offset1 = *offset0 + screen_width * ps;
++ else
++ *offset1 = *offset0;
++ *row_inc = pixinc(screen_width * 2 - 1 +
++ (fieldmode ? screen_width : 0),
++ ps);
++ *pix_inc = pixinc(-1, ps);
++ break;
++
++ case 1 + 4:
++ *offset0 = 0;
++ if (fieldmode)
++ *offset1 = *offset0 + screen_width * ps;
++ else
++ *offset1 = *offset0;
++ *row_inc = pixinc(-screen_width * (fbh - 1) + 1 +
++ (fieldmode ? 1 : 0),
++ ps);
++ *pix_inc = pixinc(screen_width, ps);
++ break;
++
++ case 2 + 4:
++ *offset0 = screen_width * (fbh - 1) * ps;
++ if (fieldmode)
++ *offset1 = *offset0 + screen_width * ps;
++ else
++ *offset1 = *offset0;
++ *row_inc = pixinc(1 - screen_width * 2 -
++ (fieldmode ? screen_width : 0),
++ ps);
++ *pix_inc = pixinc(1, ps);
++ break;
++
++ case 3 + 4:
++ *offset0 = (screen_width * (fbh - 1) + fbw - 1) * ps;
++ if (fieldmode)
++ *offset1 = *offset0 + screen_width * ps;
++ else
++ *offset1 = *offset0;
++ *row_inc = pixinc(screen_width * (fbh - 1) - 1 -
++ (fieldmode ? 1 : 0),
++ ps);
++ *pix_inc = pixinc(-screen_width, ps);
+ break;
+
+ default:
+ BUG();
-+ return 1;
+ }
++}
+
-+ if (ilace) {
-+ if (height == out_height || height > out_height)
-+ fieldmode = 1;
++static int _dispc_setup_plane(enum omap_plane plane,
++ enum omap_channel channel_out,
++ u32 paddr, u16 screen_width,
++ u16 pos_x, u16 pos_y,
++ u16 width, u16 height,
++ u16 out_width, u16 out_height,
++ enum omap_color_mode color_mode,
++ bool ilace,
++ u8 rotation, int mirror)
++{
++ const int maxdownscale = cpu_is_omap34xx() ? 4 : 2;
++ bool five_taps = height > out_height * 2;
++ bool fieldmode = 0;
++ int cconv = 0;
++ unsigned offset0, offset1;
++ u16 row_inc;
++ u16 pix_inc;
++
++ if (plane == OMAP_DSS_GFX) {
++ if (width != out_width || height != out_height)
++ return -EINVAL;
++
++ switch (color_mode) {
++ case OMAP_DSS_COLOR_ARGB16:
++ case OMAP_DSS_COLOR_RGB16:
++ case OMAP_DSS_COLOR_RGB24P:
++ case OMAP_DSS_COLOR_RGB24U:
++ case OMAP_DSS_COLOR_ARGB32:
++ case OMAP_DSS_COLOR_RGBA32:
++ case OMAP_DSS_COLOR_RGBX32:
++ break;
++
++ default:
++ return -EINVAL;
++ }
++ } else {
++ /* video plane */
++ if (width > (2048 >> five_taps))
++ return -EINVAL;
++
++ if (out_width < width / maxdownscale ||
++ out_width > width * 8)
++ return -EINVAL;
++
++ if (out_height < height / maxdownscale ||
++ out_height > height * 8)
++ return -EINVAL;
++
++ switch (color_mode) {
++ case OMAP_DSS_COLOR_RGB16:
++ case OMAP_DSS_COLOR_RGB24P:
++ case OMAP_DSS_COLOR_RGB24U:
++ case OMAP_DSS_COLOR_RGBX32:
++ break;
++
++ case OMAP_DSS_COLOR_ARGB16:
++ case OMAP_DSS_COLOR_ARGB32:
++ case OMAP_DSS_COLOR_RGBA32:
++ if (plane == OMAP_DSS_VIDEO1)
++ return -EINVAL;
++ break;
++
++ case OMAP_DSS_COLOR_YUV2:
++ case OMAP_DSS_COLOR_UYVY:
++ cconv = 1;
++ break;
++
++ default:
++ return -EINVAL;
++ }
+ }
+
-+ if (fieldmode)
-+ height /= 2;
++ if (ilace && height >= out_height)
++ fieldmode = 1;
+
-+ if (ilace)
++ calc_rotation_offset(rotation, mirror,
++ screen_width, width, height, color_mode,
++ fieldmode,
++ &offset0, &offset1, &row_inc, &pix_inc);
++
++ DSSDBG("offset0 %u, offset1 %u, row_inc %d, pix_inc %d\n",
++ offset0, offset1, row_inc, pix_inc);
++
++ if (ilace) {
++ if (fieldmode)
++ height /= 2;
++ pos_y /= 2;
+ out_height /= 2;
+
-+ if (plane != OMAP_DSS_GFX)
-+ _dispc_set_scaling(plane, width, height,
-+ out_width, out_height,
-+ ilace);
++ DSSDBG("adjusting for ilace: height %d, pos_y %d, "
++ "out_height %d\n",
++ height, pos_y, out_height);
++ }
+
-+ /* attributes */
+ _dispc_set_channel_out(plane, channel_out);
+ _dispc_set_color_mode(plane, color_mode);
-+ if (plane != OMAP_DSS_GFX)
-+ _dispc_set_vid_color_conv(plane, cconv);
-+
-+ /* */
+
-+ _dispc_set_plane_ba0(plane, paddr);
++ _dispc_set_plane_ba0(plane, paddr + offset0);
++ _dispc_set_plane_ba1(plane, paddr + offset1);
+
-+ if (fieldmode)
-+ _dispc_set_plane_ba1(plane, paddr + screen_width * bpp/8);
-+ else
-+ _dispc_set_plane_ba1(plane, paddr);
++ _dispc_set_row_inc(plane, row_inc);
++ _dispc_set_pix_inc(plane, pix_inc);
+
++ DSSDBG("%d,%d %dx%d -> %dx%d\n", pos_x, pos_y, width, height,
++ out_width, out_height);
+
+ _dispc_set_plane_pos(plane, pos_x, pos_y);
+
+ _dispc_set_pic_size(plane, width, height);
+
-+ if (plane != OMAP_DSS_GFX)
++ if (plane != OMAP_DSS_GFX) {
++ _dispc_set_scaling(plane, width, height,
++ out_width, out_height,
++ ilace);
+ _dispc_set_vid_size(plane, out_width, out_height);
++ _dispc_set_vid_color_conv(plane, cconv);
++ }
+
-+ _dispc_set_row_inc(plane,
-+ (screen_width - width) * bpp / 8 +
-+ (fieldmode ? screen_width * bpp / 8 : 0) +
-+ 1);
++ _dispc_set_rotation_attrs(plane, rotation, mirror, color_mode);
+
+ return 0;
+}
+
-+static void _dispc_enable_plane(enum omap_plane plane, int enable)
++static void _dispc_enable_plane(enum omap_plane plane, bool enable)
+{
+ REG_FLD_MOD(dispc_reg_att[plane], enable ? 1 : 0, 0, 0);
+}
+
++static void dispc_disable_isr(void *data, u32 mask)
++{
++ struct completion *compl = data;
++ complete(compl);
++}
+
-+void dispc_enable_lcd_out(int enable)
++static void _enable_lcd_out(bool enable)
+{
-+ enable_clocks(1);
+ REG_FLD_MOD(DISPC_CONTROL, enable ? 1 : 0, 0, 0);
-+ enable_clocks(0);
+}
+
-+void dispc_enable_digit_out(int enable)
++void dispc_enable_lcd_out(bool enable)
+{
++ struct completion frame_done_completion;
++ bool is_on;
++ int r;
++
+ enable_clocks(1);
++
++ /* When we disable LCD output, we need to wait until frame is done.
++ * Otherwise the DSS is still working, and turning off the clocks
++ * prevents DSS from going to OFF mode */
++ is_on = REG_GET(DISPC_CONTROL, 0, 0);
++
++ if (!enable && is_on) {
++ init_completion(&frame_done_completion);
++
++ r = omap_dispc_register_isr(dispc_disable_isr,
++ &frame_done_completion,
++ DISPC_IRQ_FRAMEDONE);
++
++ if (r)
++ DSSERR("failed to register FRAMEDONE isr\n");
++ }
++
++ _enable_lcd_out(enable);
++
++ if (!enable && is_on) {
++ if (!wait_for_completion_timeout(&frame_done_completion,
++ msecs_to_jiffies(100)))
++ DSSERR("timeout waiting for FRAME DONE\n");
++
++ r = omap_dispc_unregister_isr(dispc_disable_isr,
++ &frame_done_completion,
++ DISPC_IRQ_FRAMEDONE);
++
++ if (r)
++ DSSERR("failed to unregister FRAMEDONE isr\n");
++ }
++
++ enable_clocks(0);
++}
++
++static void _enable_digit_out(bool enable)
++{
+ REG_FLD_MOD(DISPC_CONTROL, enable ? 1 : 0, 1, 1);
++}
++
++void dispc_enable_digit_out(bool enable)
++{
++ struct completion frame_done_completion;
++ int r;
++
++ enable_clocks(1);
++
++ if (REG_GET(DISPC_CONTROL, 1, 1) == enable) {
++ enable_clocks(0);
++ return;
++ }
++
++ if (enable) {
++ /* When we enable digit output, we'll get an extra digit
++ * sync lost interrupt, that we need to ignore */
++ dispc.irq_error_mask &= ~DISPC_IRQ_SYNC_LOST_DIGIT;
++ omap_dispc_set_irqs();
++ }
++
++ /* When we disable digit output, we need to wait until fields are done.
++ * Otherwise the DSS is still working, and turning off the clocks
++ * prevents DSS from going to OFF mode. And when enabling, we need to
++ * wait for the extra sync losts */
++ init_completion(&frame_done_completion);
++
++ r = omap_dispc_register_isr(dispc_disable_isr, &frame_done_completion,
++ DISPC_IRQ_EVSYNC_EVEN | DISPC_IRQ_EVSYNC_ODD);
++ if (r)
++ DSSERR("failed to register EVSYNC isr\n");
++
++ _enable_digit_out(enable);
++
++ /* XXX I understand from TRM that we should only wait for the
++ * current field to complete. But it seems we have to wait
++ * for both fields */
++ if (!wait_for_completion_timeout(&frame_done_completion,
++ msecs_to_jiffies(100)))
++ DSSERR("timeout waiting for EVSYNC\n");
++
++ if (!wait_for_completion_timeout(&frame_done_completion,
++ msecs_to_jiffies(100)))
++ DSSERR("timeout waiting for EVSYNC\n");
++
++ r = omap_dispc_unregister_isr(dispc_disable_isr,
++ &frame_done_completion,
++ DISPC_IRQ_EVSYNC_EVEN | DISPC_IRQ_EVSYNC_ODD);
++ if (r)
++ DSSERR("failed to unregister EVSYNC isr\n");
++
++ if (enable) {
++ dispc.irq_error_mask = DISPC_IRQ_MASK_ERROR;
++ dispc_write_reg(DISPC_IRQSTATUS, DISPC_IRQ_SYNC_LOST_DIGIT);
++ omap_dispc_set_irqs();
++ }
++
+ enable_clocks(0);
+}
+
-+void dispc_lcd_enable_signal_polarity(int act_high)
++void dispc_lcd_enable_signal_polarity(bool act_high)
+{
+ enable_clocks(1);
+ REG_FLD_MOD(DISPC_CONTROL, act_high ? 1 : 0, 29, 29);
+ enable_clocks(0);
+}
+
-+void dispc_lcd_enable_signal(int enable)
++void dispc_lcd_enable_signal(bool enable)
+{
+ enable_clocks(1);
+ REG_FLD_MOD(DISPC_CONTROL, enable ? 1 : 0, 28, 28);
+ enable_clocks(0);
+}
+
-+void dispc_pck_free_enable(int enable)
++void dispc_pck_free_enable(bool enable)
+{
+ enable_clocks(1);
+ REG_FLD_MOD(DISPC_CONTROL, enable ? 1 : 0, 27, 27);
+ enable_clocks(0);
+}
+
-+void dispc_enable_fifohandcheck(int enable)
++void dispc_enable_fifohandcheck(bool enable)
+{
+ enable_clocks(1);
+ REG_FLD_MOD(DISPC_CONFIG, enable ? 1 : 0, 16, 16);
@@ -1590,7 +4180,7 @@ index 0000000..20caa48
+}
+
+
-+void omap_dispc_set_default_color(enum omap_channel channel, u32 color)
++void dispc_set_default_color(enum omap_channel channel, u32 color)
+{
+ const struct dispc_reg def_reg[] = { DISPC_DEFAULT_COLOR0,
+ DISPC_DEFAULT_COLOR1 };
@@ -1600,7 +4190,23 @@ index 0000000..20caa48
+ enable_clocks(0);
+}
+
-+void omap_dispc_set_trans_key(enum omap_channel ch,
++u32 dispc_get_default_color(enum omap_channel channel)
++{
++ const struct dispc_reg def_reg[] = { DISPC_DEFAULT_COLOR0,
++ DISPC_DEFAULT_COLOR1 };
++ u32 l;
++
++ BUG_ON(channel != OMAP_DSS_CHANNEL_DIGIT &&
++ channel != OMAP_DSS_CHANNEL_LCD);
++
++ enable_clocks(1);
++ l = dispc_read_reg(def_reg[channel]);
++ enable_clocks(0);
++
++ return l;
++}
++
++void dispc_set_trans_key(enum omap_channel ch,
+ enum omap_dss_color_key_type type,
+ u32 trans_key)
+{
@@ -1617,7 +4223,29 @@ index 0000000..20caa48
+ enable_clocks(0);
+}
+
-+void omap_dispc_enable_trans_key(enum omap_channel ch, int enable)
++void dispc_get_trans_key(enum omap_channel ch,
++ enum omap_dss_color_key_type *type,
++ u32 *trans_key)
++{
++ const struct dispc_reg tr_reg[] = {
++ DISPC_TRANS_COLOR0, DISPC_TRANS_COLOR1 };
++
++ enable_clocks(1);
++ if (type) {
++ if (ch == OMAP_DSS_CHANNEL_LCD)
++ *type = REG_GET(DISPC_CONFIG, 11, 11) >> 11;
++ else if (ch == OMAP_DSS_CHANNEL_DIGIT)
++ *type = REG_GET(DISPC_CONFIG, 13, 13) >> 13;
++ else
++ BUG();
++ }
++
++ if (trans_key)
++ *trans_key = dispc_read_reg(tr_reg[ch]);
++ enable_clocks(0);
++}
++
++void dispc_enable_trans_key(enum omap_channel ch, bool enable)
+{
+ enable_clocks(1);
+ if (ch == OMAP_DSS_CHANNEL_LCD)
@@ -1627,7 +4255,23 @@ index 0000000..20caa48
+ enable_clocks(0);
+}
+
-+void dispc_set_tft_data_lines(int data_lines)
++bool dispc_trans_key_enabled(enum omap_channel ch)
++{
++ bool enabled;
++
++ enable_clocks(1);
++ if (ch == OMAP_DSS_CHANNEL_LCD)
++ enabled = REG_GET(DISPC_CONFIG, 10, 10);
++ else if (ch == OMAP_DSS_CHANNEL_DIGIT)
++ enabled = REG_GET(DISPC_CONFIG, 12, 12);
++ else BUG();
++ enable_clocks(0);
++
++ return enabled;
++}
++
++
++void dispc_set_tft_data_lines(u8 data_lines)
+{
+ int code;
+
@@ -1700,19 +4344,35 @@ index 0000000..20caa48
+{
+ u32 timing_h, timing_v;
+
-+ BUG_ON(hsw < 1 || hsw > 64);
-+ BUG_ON(hfp < 1 || hfp > 256);
-+ BUG_ON(hbp < 1 || hbp > 256);
++ if (cpu_is_omap24xx() || omap_rev() < OMAP3430_REV_ES3_0) {
++ BUG_ON(hsw < 1 || hsw > 64);
++ BUG_ON(hfp < 1 || hfp > 256);
++ BUG_ON(hbp < 1 || hbp > 256);
++
++ BUG_ON(vsw < 1 || vsw > 64);
++ BUG_ON(vfp < 0 || vfp > 255);
++ BUG_ON(vbp < 0 || vbp > 255);
+
-+ BUG_ON(vsw < 1 || vsw > 64);
-+ BUG_ON(vfp < 0 || vfp > 255);
-+ BUG_ON(vbp < 0 || vbp > 255);
++ timing_h = FLD_VAL(hsw-1, 5, 0) | FLD_VAL(hfp-1, 15, 8) |
++ FLD_VAL(hbp-1, 27, 20);
+
-+ timing_h = FLD_VAL(hsw-1, 5, 0) | FLD_VAL(hfp-1, 15, 8) |
-+ FLD_VAL(hbp-1, 27, 20);
++ timing_v = FLD_VAL(vsw-1, 5, 0) | FLD_VAL(vfp, 15, 8) |
++ FLD_VAL(vbp, 27, 20);
++ } else {
++ BUG_ON(hsw < 1 || hsw > 256);
++ BUG_ON(hfp < 1 || hfp > 4096);
++ BUG_ON(hbp < 1 || hbp > 4096);
+
-+ timing_v = FLD_VAL(vsw-1, 5, 0) | FLD_VAL(vfp, 15, 8) |
-+ FLD_VAL(vbp, 27, 20);
++ BUG_ON(vsw < 1 || vsw > 256);
++ BUG_ON(vfp < 0 || vfp > 4095);
++ BUG_ON(vbp < 0 || vbp > 4095);
++
++ timing_h = FLD_VAL(hsw-1, 7, 0) | FLD_VAL(hfp-1, 19, 8) |
++ FLD_VAL(hbp-1, 31, 20);
++
++ timing_v = FLD_VAL(vsw-1, 7, 0) | FLD_VAL(vfp, 19, 8) |
++ FLD_VAL(vbp, 31, 20);
++ }
+
+ enable_clocks(1);
+ dispc_write_reg(DISPC_TIMING_H, timing_h);
@@ -1746,7 +4406,7 @@ index 0000000..20caa48
+ DSSDBG("hsync %luHz, vsync %luHz\n", ht, vt);
+}
+
-+void dispc_set_lcd_divisor(int lck_div, int pck_div)
++void dispc_set_lcd_divisor(u16 lck_div, u16 pck_div)
+{
+ BUG_ON(lck_div < 1);
+ BUG_ON(pck_div < 2);
@@ -1796,34 +4456,175 @@ index 0000000..20caa48
+ return r / lcd / pcd;
+}
+
-+ssize_t dispc_print_clocks(char *buf, ssize_t size)
++void dispc_dump_clocks(struct seq_file *s)
+{
-+ ssize_t l = 0;
+ int lcd, pcd;
+
+ enable_clocks(1);
+
+ dispc_get_lcd_divisor(&lcd, &pcd);
+
-+ l += snprintf(buf + l, size - l, "- dispc -\n");
++ seq_printf(s, "- dispc -\n");
+
-+ l += snprintf(buf + l, size - l, "dispc fclk source = %s\n",
++ seq_printf(s, "dispc fclk source = %s\n",
+ dss_get_dispc_clk_source() == 0 ?
+ "dss1_alwon_fclk" : "dsi1_pll_fclk");
+
-+ l += snprintf(buf + l, size - l,
-+ "pixel clk = %lu / %d / %d = %lu\n",
++ seq_printf(s, "pixel clk = %lu / %d / %d = %lu\n",
+ dispc_fclk_rate(),
+ lcd, pcd,
+ dispc_pclk_rate());
+
+ enable_clocks(0);
++}
+
-+ return l;
++void dispc_dump_regs(struct seq_file *s)
++{
++#define DUMPREG(r) seq_printf(s, "%-35s %08x\n", #r, dispc_read_reg(r))
++
++ dss_clk_enable(DSS_CLK_ICK | DSS_CLK_FCK1);
++
++ DUMPREG(DISPC_REVISION);
++ DUMPREG(DISPC_SYSCONFIG);
++ DUMPREG(DISPC_SYSSTATUS);
++ DUMPREG(DISPC_IRQSTATUS);
++ DUMPREG(DISPC_IRQENABLE);
++ DUMPREG(DISPC_CONTROL);
++ DUMPREG(DISPC_CONFIG);
++ DUMPREG(DISPC_CAPABLE);
++ DUMPREG(DISPC_DEFAULT_COLOR0);
++ DUMPREG(DISPC_DEFAULT_COLOR1);
++ DUMPREG(DISPC_TRANS_COLOR0);
++ DUMPREG(DISPC_TRANS_COLOR1);
++ DUMPREG(DISPC_LINE_STATUS);
++ DUMPREG(DISPC_LINE_NUMBER);
++ DUMPREG(DISPC_TIMING_H);
++ DUMPREG(DISPC_TIMING_V);
++ DUMPREG(DISPC_POL_FREQ);
++ DUMPREG(DISPC_DIVISOR);
++ DUMPREG(DISPC_GLOBAL_ALPHA);
++ DUMPREG(DISPC_SIZE_DIG);
++ DUMPREG(DISPC_SIZE_LCD);
++
++ DUMPREG(DISPC_GFX_BA0);
++ DUMPREG(DISPC_GFX_BA1);
++ DUMPREG(DISPC_GFX_POSITION);
++ DUMPREG(DISPC_GFX_SIZE);
++ DUMPREG(DISPC_GFX_ATTRIBUTES);
++ DUMPREG(DISPC_GFX_FIFO_THRESHOLD);
++ DUMPREG(DISPC_GFX_FIFO_SIZE_STATUS);
++ DUMPREG(DISPC_GFX_ROW_INC);
++ DUMPREG(DISPC_GFX_PIXEL_INC);
++ DUMPREG(DISPC_GFX_WINDOW_SKIP);
++ DUMPREG(DISPC_GFX_TABLE_BA);
++
++ DUMPREG(DISPC_DATA_CYCLE1);
++ DUMPREG(DISPC_DATA_CYCLE2);
++ DUMPREG(DISPC_DATA_CYCLE3);
++
++ DUMPREG(DISPC_CPR_COEF_R);
++ DUMPREG(DISPC_CPR_COEF_G);
++ DUMPREG(DISPC_CPR_COEF_B);
++
++ DUMPREG(DISPC_GFX_PRELOAD);
++
++ DUMPREG(DISPC_VID_BA0(0));
++ DUMPREG(DISPC_VID_BA1(0));
++ DUMPREG(DISPC_VID_POSITION(0));
++ DUMPREG(DISPC_VID_SIZE(0));
++ DUMPREG(DISPC_VID_ATTRIBUTES(0));
++ DUMPREG(DISPC_VID_FIFO_THRESHOLD(0));
++ DUMPREG(DISPC_VID_FIFO_SIZE_STATUS(0));
++ DUMPREG(DISPC_VID_ROW_INC(0));
++ DUMPREG(DISPC_VID_PIXEL_INC(0));
++ DUMPREG(DISPC_VID_FIR(0));
++ DUMPREG(DISPC_VID_PICTURE_SIZE(0));
++ DUMPREG(DISPC_VID_ACCU0(0));
++ DUMPREG(DISPC_VID_ACCU1(0));
++
++ DUMPREG(DISPC_VID_BA0(1));
++ DUMPREG(DISPC_VID_BA1(1));
++ DUMPREG(DISPC_VID_POSITION(1));
++ DUMPREG(DISPC_VID_SIZE(1));
++ DUMPREG(DISPC_VID_ATTRIBUTES(1));
++ DUMPREG(DISPC_VID_FIFO_THRESHOLD(1));
++ DUMPREG(DISPC_VID_FIFO_SIZE_STATUS(1));
++ DUMPREG(DISPC_VID_ROW_INC(1));
++ DUMPREG(DISPC_VID_PIXEL_INC(1));
++ DUMPREG(DISPC_VID_FIR(1));
++ DUMPREG(DISPC_VID_PICTURE_SIZE(1));
++ DUMPREG(DISPC_VID_ACCU0(1));
++ DUMPREG(DISPC_VID_ACCU1(1));
++
++ DUMPREG(DISPC_VID_FIR_COEF_H(0, 0));
++ DUMPREG(DISPC_VID_FIR_COEF_H(0, 1));
++ DUMPREG(DISPC_VID_FIR_COEF_H(0, 2));
++ DUMPREG(DISPC_VID_FIR_COEF_H(0, 3));
++ DUMPREG(DISPC_VID_FIR_COEF_H(0, 4));
++ DUMPREG(DISPC_VID_FIR_COEF_H(0, 5));
++ DUMPREG(DISPC_VID_FIR_COEF_H(0, 6));
++ DUMPREG(DISPC_VID_FIR_COEF_H(0, 7));
++ DUMPREG(DISPC_VID_FIR_COEF_HV(0, 0));
++ DUMPREG(DISPC_VID_FIR_COEF_HV(0, 1));
++ DUMPREG(DISPC_VID_FIR_COEF_HV(0, 2));
++ DUMPREG(DISPC_VID_FIR_COEF_HV(0, 3));
++ DUMPREG(DISPC_VID_FIR_COEF_HV(0, 4));
++ DUMPREG(DISPC_VID_FIR_COEF_HV(0, 5));
++ DUMPREG(DISPC_VID_FIR_COEF_HV(0, 6));
++ DUMPREG(DISPC_VID_FIR_COEF_HV(0, 7));
++ DUMPREG(DISPC_VID_CONV_COEF(0, 0));
++ DUMPREG(DISPC_VID_CONV_COEF(0, 1));
++ DUMPREG(DISPC_VID_CONV_COEF(0, 2));
++ DUMPREG(DISPC_VID_CONV_COEF(0, 3));
++ DUMPREG(DISPC_VID_CONV_COEF(0, 4));
++ DUMPREG(DISPC_VID_FIR_COEF_V(0, 0));
++ DUMPREG(DISPC_VID_FIR_COEF_V(0, 1));
++ DUMPREG(DISPC_VID_FIR_COEF_V(0, 2));
++ DUMPREG(DISPC_VID_FIR_COEF_V(0, 3));
++ DUMPREG(DISPC_VID_FIR_COEF_V(0, 4));
++ DUMPREG(DISPC_VID_FIR_COEF_V(0, 5));
++ DUMPREG(DISPC_VID_FIR_COEF_V(0, 6));
++ DUMPREG(DISPC_VID_FIR_COEF_V(0, 7));
++
++ DUMPREG(DISPC_VID_FIR_COEF_H(1, 0));
++ DUMPREG(DISPC_VID_FIR_COEF_H(1, 1));
++ DUMPREG(DISPC_VID_FIR_COEF_H(1, 2));
++ DUMPREG(DISPC_VID_FIR_COEF_H(1, 3));
++ DUMPREG(DISPC_VID_FIR_COEF_H(1, 4));
++ DUMPREG(DISPC_VID_FIR_COEF_H(1, 5));
++ DUMPREG(DISPC_VID_FIR_COEF_H(1, 6));
++ DUMPREG(DISPC_VID_FIR_COEF_H(1, 7));
++ DUMPREG(DISPC_VID_FIR_COEF_HV(1, 0));
++ DUMPREG(DISPC_VID_FIR_COEF_HV(1, 1));
++ DUMPREG(DISPC_VID_FIR_COEF_HV(1, 2));
++ DUMPREG(DISPC_VID_FIR_COEF_HV(1, 3));
++ DUMPREG(DISPC_VID_FIR_COEF_HV(1, 4));
++ DUMPREG(DISPC_VID_FIR_COEF_HV(1, 5));
++ DUMPREG(DISPC_VID_FIR_COEF_HV(1, 6));
++ DUMPREG(DISPC_VID_FIR_COEF_HV(1, 7));
++ DUMPREG(DISPC_VID_CONV_COEF(1, 0));
++ DUMPREG(DISPC_VID_CONV_COEF(1, 1));
++ DUMPREG(DISPC_VID_CONV_COEF(1, 2));
++ DUMPREG(DISPC_VID_CONV_COEF(1, 3));
++ DUMPREG(DISPC_VID_CONV_COEF(1, 4));
++ DUMPREG(DISPC_VID_FIR_COEF_V(1, 0));
++ DUMPREG(DISPC_VID_FIR_COEF_V(1, 1));
++ DUMPREG(DISPC_VID_FIR_COEF_V(1, 2));
++ DUMPREG(DISPC_VID_FIR_COEF_V(1, 3));
++ DUMPREG(DISPC_VID_FIR_COEF_V(1, 4));
++ DUMPREG(DISPC_VID_FIR_COEF_V(1, 5));
++ DUMPREG(DISPC_VID_FIR_COEF_V(1, 6));
++ DUMPREG(DISPC_VID_FIR_COEF_V(1, 7));
++
++ DUMPREG(DISPC_VID_PRELOAD(0));
++ DUMPREG(DISPC_VID_PRELOAD(1));
++
++ dss_clk_disable(DSS_CLK_ICK | DSS_CLK_FCK1);
++#undef DUMPREG
+}
+
-+static void _dispc_set_pol_freq(int onoff, int rf, int ieo, int ipc,
-+ int ihs, int ivs, int acbi, int acb)
++static void _dispc_set_pol_freq(bool onoff, bool rf, bool ieo, bool ipc,
++ bool ihs, bool ivs, u8 acbi, u8 acb)
+{
+ u32 l = 0;
+
@@ -1855,13 +4656,13 @@ index 0000000..20caa48
+ panel->acbi, panel->acb);
+}
+
-+void find_lck_pck_divs(int is_tft, unsigned long req_pck, unsigned long fck,
-+ int *lck_div, int *pck_div)
++void find_lck_pck_divs(bool is_tft, unsigned long req_pck, unsigned long fck,
++ u16 *lck_div, u16 *pck_div)
+{
-+ int pcd_min = is_tft ? 2 : 3;
++ u16 pcd_min = is_tft ? 2 : 3;
+ unsigned long best_pck;
-+ int best_ld, cur_ld;
-+ int best_pd, cur_pd;
++ u16 best_ld, cur_ld;
++ u16 best_pd, cur_pd;
+
+ best_pck = 0;
+ best_ld = 0;
@@ -1897,13 +4698,14 @@ index 0000000..20caa48
+ *pck_div = best_pd;
+}
+
-+int dispc_calc_clock_div(int is_tft, unsigned long req_pck,
++int dispc_calc_clock_div(bool is_tft, unsigned long req_pck,
+ struct dispc_clock_info *cinfo)
+{
+ unsigned long prate;
+ struct dispc_clock_info cur, best;
+ int match = 0;
+ int min_fck_per_pck;
++ unsigned long fck_rate = dss_clk_get_rate(DSS_CLK_FCK1);
+
+ if (cpu_is_omap34xx())
+ prate = clk_get_rate(clk_get_parent(dispc.dpll4_m4_ck));
@@ -1912,7 +4714,7 @@ index 0000000..20caa48
+
+ if (req_pck == dispc.cache_req_pck &&
+ ((cpu_is_omap34xx() && prate == dispc.cache_prate) ||
-+ dispc.cache_cinfo.fck == dss_clk_get_rate(DSS_CLK_FCK1))) {
++ dispc.cache_cinfo.fck == fck_rate)) {
+ DSSDBG("dispc clock info found from cache.\n");
+ *cinfo = dispc.cache_cinfo;
+ return 0;
@@ -2028,70 +4830,120 @@ index 0000000..20caa48
+ return 0;
+}
+
++int dispc_get_clock_div(struct dispc_clock_info *cinfo)
++{
++ cinfo->fck = dss_clk_get_rate(DSS_CLK_FCK1);
++
++ if (cpu_is_omap34xx()) {
++ unsigned long prate;
++ prate = clk_get_rate(clk_get_parent(dispc.dpll4_m4_ck));
++ cinfo->fck_div = prate / (cinfo->fck / 2);
++ } else {
++ cinfo->fck_div = 0;
++ }
++
++ cinfo->lck_div = REG_GET(DISPC_DIVISOR, 23, 16);
++ cinfo->pck_div = REG_GET(DISPC_DIVISOR, 7, 0);
++
++ cinfo->lck = cinfo->fck / cinfo->lck_div;
++ cinfo->pck = cinfo->lck / cinfo->pck_div;
++
++ return 0;
++}
++
++static void omap_dispc_set_irqs(void)
++{
++ unsigned long flags;
++ u32 mask = dispc.irq_error_mask;
++ int i;
++ struct omap_dispc_isr_data *isr_data;
++
++ spin_lock_irqsave(&dispc.irq_lock, flags);
++
++ for (i = 0; i < DISPC_MAX_NR_ISRS; i++) {
++ isr_data = &dispc.registered_isr[i];
++
++ if (isr_data->isr == NULL)
++ continue;
++
++ mask |= isr_data->mask;
++ }
++
++ enable_clocks(1);
++ dispc_write_reg(DISPC_IRQENABLE, mask);
++ enable_clocks(0);
++
++ spin_unlock_irqrestore(&dispc.irq_lock, flags);
++}
++
+int omap_dispc_register_isr(omap_dispc_isr_t isr, void *arg, u32 mask)
+{
+ int i;
-+ int ret = -EBUSY;
++ int ret;
+ unsigned long flags;
-+ u32 new_mask = 0;
++ struct omap_dispc_isr_data *isr_data;
+
+ if (isr == NULL)
+ return -EINVAL;
+
+ spin_lock_irqsave(&dispc.irq_lock, flags);
+
++ /* check for duplicate entry */
+ for (i = 0; i < DISPC_MAX_NR_ISRS; i++) {
-+ if (registered_isr[i].isr == isr) {
++ isr_data = &dispc.registered_isr[i];
++ if (isr_data->isr == isr && isr_data->arg == arg &&
++ isr_data->mask == mask) {
+ ret = -EINVAL;
-+ break;
++ goto err;
+ }
++ }
+
-+ if (registered_isr[i].isr != NULL)
-+ continue;
++ isr_data = NULL;
++ ret = -EBUSY;
+
-+ registered_isr[i].isr = isr;
-+ registered_isr[i].arg = arg;
-+ registered_isr[i].mask = mask;
++ for (i = 0; i < DISPC_MAX_NR_ISRS; i++) {
++ isr_data = &dispc.registered_isr[i];
+
-+ enable_clocks(1);
-+ new_mask = dispc_read_reg(DISPC_IRQENABLE);
-+ new_mask |= mask;
-+ dispc_write_reg(DISPC_IRQENABLE, new_mask);
-+ enable_clocks(0);
++ if (isr_data->isr != NULL)
++ continue;
+
++ isr_data->isr = isr;
++ isr_data->arg = arg;
++ isr_data->mask = mask;
+ ret = 0;
++
+ break;
+ }
-+
++err:
+ spin_unlock_irqrestore(&dispc.irq_lock, flags);
+
++ if (ret == 0)
++ omap_dispc_set_irqs();
++
+ return ret;
+}
+EXPORT_SYMBOL(omap_dispc_register_isr);
+
-+int omap_dispc_unregister_isr(omap_dispc_isr_t isr)
++int omap_dispc_unregister_isr(omap_dispc_isr_t isr, void *arg, u32 mask)
+{
-+ int i, j;
++ int i;
+ unsigned long flags;
-+ u32 new_mask = DISPC_IRQ_MASK_ERROR;
+ int ret = -EINVAL;
++ struct omap_dispc_isr_data *isr_data;
+
+ spin_lock_irqsave(&dispc.irq_lock, flags);
+
+ for (i = 0; i < DISPC_MAX_NR_ISRS; i++) {
-+ if (registered_isr[i].isr != isr)
++ isr_data = &dispc.registered_isr[i];
++ if (isr_data->isr != isr || isr_data->arg != arg ||
++ isr_data->mask != mask)
+ continue;
+
-+ registered_isr[i].isr = NULL;
-+ registered_isr[i].arg = NULL;
-+ registered_isr[i].mask = 0;
++ /* found the correct isr */
+
-+ for (j = 0; j < DISPC_MAX_NR_ISRS; j++)
-+ new_mask |= registered_isr[j].mask;
-+
-+ enable_clocks(1);
-+ dispc_write_reg(DISPC_IRQENABLE, new_mask);
-+ enable_clocks(0);
++ isr_data->isr = NULL;
++ isr_data->arg = NULL;
++ isr_data->mask = 0;
+
+ ret = 0;
+ break;
@@ -2099,6 +4951,9 @@ index 0000000..20caa48
+
+ spin_unlock_irqrestore(&dispc.irq_lock, flags);
+
++ if (ret == 0)
++ omap_dispc_set_irqs();
++
+ return ret;
+}
+EXPORT_SYMBOL(omap_dispc_unregister_isr);
@@ -2106,7 +4961,7 @@ index 0000000..20caa48
+#ifdef DEBUG
+static void print_irq_status(u32 status)
+{
-+ if ((status & DISPC_IRQ_MASK_ERROR) == 0)
++ if ((status & dispc.irq_error_mask) == 0)
+ return;
+
+ printk(KERN_DEBUG "DISPC IRQ: 0x%x: ", status);
@@ -2134,8 +4989,9 @@ index 0000000..20caa48
+{
+ int i;
+ u32 irqstatus = dispc_read_reg(DISPC_IRQSTATUS);
-+ static int errors;
+ u32 handledirqs = 0;
++ u32 unhandled_errors;
++ struct omap_dispc_isr_data *isr_data;
+
+#ifdef DEBUG
+ if (dss_debug)
@@ -2146,28 +5002,195 @@ index 0000000..20caa48
+ dispc_write_reg(DISPC_IRQSTATUS, irqstatus);
+
+ for (i = 0; i < DISPC_MAX_NR_ISRS; i++) {
-+ if (!registered_isr[i].isr)
++ isr_data = &dispc.registered_isr[i];
++
++ if (!isr_data->isr)
+ continue;
-+ if (registered_isr[i].mask & irqstatus) {
-+ registered_isr[i].isr(registered_isr[i].arg,
-+ irqstatus);
-+ handledirqs |= registered_isr[i].mask;
++
++ if (isr_data->mask & irqstatus) {
++ isr_data->isr(isr_data->arg, irqstatus);
++ handledirqs |= isr_data->mask;
++ }
++ }
++
++ unhandled_errors = irqstatus & ~handledirqs & dispc.irq_error_mask;
++
++ if (unhandled_errors) {
++ spin_lock(&dispc.error_lock);
++ dispc.error_irqs |= unhandled_errors;
++ spin_unlock(&dispc.error_lock);
++
++ dispc.irq_error_mask &= ~unhandled_errors;
++ omap_dispc_set_irqs();
++
++ schedule_work(&dispc.error_work);
++ }
++}
++
++static void dispc_error_worker(struct work_struct *work)
++{
++ int i;
++ u32 errors;
++ unsigned long flags;
++
++ spin_lock_irqsave(&dispc.error_lock, flags);
++ errors = dispc.error_irqs;
++ dispc.error_irqs = 0;
++ spin_unlock_irqrestore(&dispc.error_lock, flags);
++
++ if (errors & DISPC_IRQ_GFX_FIFO_UNDERFLOW) {
++ DSSERR("GFX_FIFO_UNDERFLOW, disabling GFX\n");
++ for (i = 0; i < omap_dss_get_num_overlays(); ++i) {
++ struct omap_overlay *ovl;
++ ovl = omap_dss_get_overlay(i);
++
++ if (!(ovl->caps & OMAP_DSS_OVL_CAP_DISPC))
++ continue;
++
++ if (ovl->id == 0) {
++ dispc_enable_plane(ovl->id, 0);
++ dispc_go(ovl->manager->id);
++ mdelay(50);
++ break;
++ }
++ }
++ }
++
++ if (errors & DISPC_IRQ_VID1_FIFO_UNDERFLOW) {
++ DSSERR("VID1_FIFO_UNDERFLOW, disabling VID1\n");
++ for (i = 0; i < omap_dss_get_num_overlays(); ++i) {
++ struct omap_overlay *ovl;
++ ovl = omap_dss_get_overlay(i);
++
++ if (!(ovl->caps & OMAP_DSS_OVL_CAP_DISPC))
++ continue;
++
++ if (ovl->id == 1) {
++ dispc_enable_plane(ovl->id, 0);
++ dispc_go(ovl->manager->id);
++ mdelay(50);
++ break;
++ }
++ }
++ }
++
++ if (errors & DISPC_IRQ_VID2_FIFO_UNDERFLOW) {
++ DSSERR("VID2_FIFO_UNDERFLOW, disabling VID2\n");
++ for (i = 0; i < omap_dss_get_num_overlays(); ++i) {
++ struct omap_overlay *ovl;
++ ovl = omap_dss_get_overlay(i);
++
++ if (!(ovl->caps & OMAP_DSS_OVL_CAP_DISPC))
++ continue;
++
++ if (ovl->id == 2) {
++ dispc_enable_plane(ovl->id, 0);
++ dispc_go(ovl->manager->id);
++ mdelay(50);
++ break;
++ }
++ }
++ }
++
++ if (errors & DISPC_IRQ_SYNC_LOST) {
++ DSSERR("SYNC_LOST, disabling LCD\n");
++ for (i = 0; i < omap_dss_get_num_overlay_managers(); ++i) {
++ struct omap_overlay_manager *mgr;
++ mgr = omap_dss_get_overlay_manager(i);
++
++ if (mgr->id == OMAP_DSS_CHANNEL_LCD) {
++ mgr->display->disable(mgr->display);
++ break;
++ }
+ }
+ }
+
-+ if (irqstatus & ~handledirqs & DISPC_IRQ_MASK_ERROR) {
-+ if (printk_ratelimit()) {
-+ DSSERR("dispc irq error status %04x\n",
-+ irqstatus);
++ if (errors & DISPC_IRQ_SYNC_LOST_DIGIT) {
++ DSSERR("SYNC_LOST_DIGIT, disabling TV\n");
++ for (i = 0; i < omap_dss_get_num_overlay_managers(); ++i) {
++ struct omap_overlay_manager *mgr;
++ mgr = omap_dss_get_overlay_manager(i);
++
++ if (mgr->id == OMAP_DSS_CHANNEL_DIGIT) {
++ mgr->display->disable(mgr->display);
++ break;
++ }
+ }
-+ if (errors++ > 100) {
-+ DSSERR("Excessive DISPC errors\n"
-+ "Turning off lcd and digit\n");
-+ dispc_enable_lcd_out(0);
-+ dispc_enable_digit_out(0);
++ }
++
++ if (errors & DISPC_IRQ_OCP_ERR) {
++ DSSERR("OCP_ERR\n");
++ for (i = 0; i < omap_dss_get_num_overlay_managers(); ++i) {
++ struct omap_overlay_manager *mgr;
++ mgr = omap_dss_get_overlay_manager(i);
++
++ if (mgr->caps & OMAP_DSS_OVL_CAP_DISPC)
++ mgr->display->disable(mgr->display);
+ }
+ }
+
++ dispc.irq_error_mask |= errors;
++ omap_dispc_set_irqs();
++}
++
++int omap_dispc_wait_for_irq_timeout(u32 irqmask, unsigned long timeout)
++{
++ void dispc_irq_wait_handler(void *data, u32 mask)
++ {
++ complete((struct completion *)data);
++ }
++
++ int r;
++ DECLARE_COMPLETION_ONSTACK(completion);
++
++ r = omap_dispc_register_isr(dispc_irq_wait_handler, &completion,
++ irqmask);
++
++ if (r)
++ return r;
++
++ timeout = wait_for_completion_timeout(&completion, timeout);
++
++ omap_dispc_unregister_isr(dispc_irq_wait_handler, &completion, irqmask);
++
++ if (timeout == 0)
++ return -ETIMEDOUT;
++
++ if (timeout == -ERESTARTSYS)
++ return -ERESTARTSYS;
++
++ return 0;
++}
++
++int omap_dispc_wait_for_irq_interruptible_timeout(u32 irqmask,
++ unsigned long timeout)
++{
++ void dispc_irq_wait_handler(void *data, u32 mask)
++ {
++ complete((struct completion *)data);
++ }
++
++ int r;
++ DECLARE_COMPLETION_ONSTACK(completion);
++
++ r = omap_dispc_register_isr(dispc_irq_wait_handler, &completion,
++ irqmask);
++
++ if (r)
++ return r;
++
++ timeout = wait_for_completion_interruptible_timeout(&completion,
++ timeout);
++
++ omap_dispc_unregister_isr(dispc_irq_wait_handler, &completion, irqmask);
++
++ if (timeout == 0)
++ return -ETIMEDOUT;
++
++ if (timeout == -ERESTARTSYS)
++ return -ERESTARTSYS;
++
++ return 0;
+}
+
+#ifdef CONFIG_OMAP2_DSS_FAKE_VSYNC
@@ -2177,26 +5200,29 @@ index 0000000..20caa48
+ int i;
+
+ for (i = 0; i < DISPC_MAX_NR_ISRS; i++) {
-+ if (!registered_isr[i].isr)
++ struct omap_dispc_isr_data *isr_data;
++ isr_data = &dispc.registered_isr[i];
++
++ if (!isr_data->isr)
+ continue;
-+ if (registered_isr[i].mask & irqstatus)
-+ registered_isr[i].isr(registered_isr[i].arg,
-+ irqstatus);
++
++ if (isr_data->mask & irqstatus)
++ isr_data->isr(isr_data->arg, irqstatus);
+ }
+}
+#endif
+
+static void _omap_dispc_initialize_irq(void)
+{
-+ memset(registered_isr, 0, sizeof(registered_isr));
++ memset(dispc.registered_isr, 0, sizeof(dispc.registered_isr));
++
++ dispc.irq_error_mask = DISPC_IRQ_MASK_ERROR;
+
+ /* there's SYNC_LOST_DIGIT waiting after enabling the DSS,
+ * so clear it */
-+ dispc_write_reg(DISPC_IRQSTATUS,
-+ dispc_read_reg(DISPC_IRQSTATUS));
++ dispc_write_reg(DISPC_IRQSTATUS, dispc_read_reg(DISPC_IRQSTATUS));
+
-+ /* We'll handle these always */
-+ dispc_write_reg(DISPC_IRQENABLE, DISPC_IRQ_MASK_ERROR);
++ omap_dispc_set_irqs();
+}
+
+static void _omap_dispc_initial_config(void)
@@ -2214,14 +5240,12 @@ index 0000000..20caa48
+ REG_FLD_MOD(DISPC_CONFIG, 1, 9, 9);
+
+ /* L3 firewall setting: enable access to OCM RAM */
-+ __raw_writel(0x402000b0, IO_ADDRESS(0x680050a0));
++ if (cpu_is_omap24xx())
++ __raw_writel(0x402000b0, IO_ADDRESS(0x680050a0));
+
+ _dispc_setup_color_conv_coef();
+
+ dispc_set_loadmode(OMAP_DSS_LOAD_FRAME_ONLY);
-+
-+ /* Set logic clock to fck, pixel clock to fck/2 for now */
-+ dispc_set_lcd_divisor(1, 2);
+}
+
+int dispc_init(void)
@@ -2229,6 +5253,9 @@ index 0000000..20caa48
+ u32 rev;
+
+ spin_lock_init(&dispc.irq_lock);
++ spin_lock_init(&dispc.error_lock);
++
++ INIT_WORK(&dispc.error_work, dispc_error_worker);
+
+ dispc.base = ioremap(DISPC_BASE, DISPC_SZ_REGS);
+ if (!dispc.base) {
@@ -2268,7 +5295,7 @@ index 0000000..20caa48
+ iounmap(dispc.base);
+}
+
-+int dispc_enable_plane(enum omap_plane plane, int enable)
++int dispc_enable_plane(enum omap_plane plane, bool enable)
+{
+ DSSDBG("dispc_enable_plane %d, %d\n", plane, enable);
+
@@ -2280,21 +5307,23 @@ index 0000000..20caa48
+}
+
+int dispc_setup_plane(enum omap_plane plane, enum omap_channel channel_out,
-+ u32 paddr, int screen_width,
-+ int pos_x, int pos_y,
-+ int width, int height,
-+ int out_width, int out_height,
++ u32 paddr, u16 screen_width,
++ u16 pos_x, u16 pos_y,
++ u16 width, u16 height,
++ u16 out_width, u16 out_height,
+ enum omap_color_mode color_mode,
-+ int ilace)
++ bool ilace,
++ u8 rotation, bool mirror)
+{
+ int r = 0;
+
-+ DSSDBG("dispc_setup_plane %d, %x, sw %d, %d,%d, %dx%d -> "
-+ "%dx%d, (ilace %d)\n",
-+ plane, paddr, screen_width, pos_x, pos_y,
++ DSSDBG("dispc_setup_plane %d, ch %d, pa %x, sw %d, %d,%d, %dx%d -> "
++ "%dx%d, ilace %d, cmode %x, rot %d, mir %d\n",
++ plane, channel_out, paddr, screen_width, pos_x, pos_y,
+ width, height,
+ out_width, out_height,
-+ ilace);
++ ilace, color_mode,
++ rotation, mirror);
+
+ enable_clocks(1);
+
@@ -2303,7 +5332,8 @@ index 0000000..20caa48
+ pos_x, pos_y,
+ width, height,
+ out_width, out_height,
-+ color_mode, ilace);
++ color_mode, ilace,
++ rotation, mirror);
+
+ enable_clocks(0);
+
@@ -2341,7 +5371,7 @@ index 0000000..20caa48
+
+/* returns the area that needs updating */
+void dispc_setup_partial_planes(struct omap_display *display,
-+ int *xi, int *yi, int *wi, int *hi)
++ u16 *xi, u16 *yi, u16 *wi, u16 *hi)
+{
+ struct omap_overlay_manager *mgr;
+ int i;
@@ -2367,7 +5397,7 @@ index 0000000..20caa48
+ for (i = 0; i < mgr->num_overlays; i++) {
+ struct omap_overlay *ovl;
+ struct omap_overlay_info *pi;
-+ ovl = &mgr->overlays[i];
++ ovl = mgr->overlays[i];
+
+ if (ovl->manager != mgr)
+ continue;
@@ -2425,7 +5455,7 @@ index 0000000..20caa48
+ }
+
+ for (i = 0; i < mgr->num_overlays; i++) {
-+ struct omap_overlay *ovl = &mgr->overlays[i];
++ struct omap_overlay *ovl = mgr->overlays[i];
+ struct omap_overlay_info *pi = &ovl->info;
+
+ int px = pi->pos_x;
@@ -2456,6 +5486,9 @@ index 0000000..20caa48
+
+ switch (pi->color_mode) {
+ case OMAP_DSS_COLOR_RGB16:
++ case OMAP_DSS_COLOR_ARGB16:
++ case OMAP_DSS_COLOR_YUV2:
++ case OMAP_DSS_COLOR_UYVY:
+ bpp = 16;
+ break;
+
@@ -2464,14 +5497,12 @@ index 0000000..20caa48
+ break;
+
+ case OMAP_DSS_COLOR_RGB24U:
++ case OMAP_DSS_COLOR_ARGB32:
++ case OMAP_DSS_COLOR_RGBA32:
++ case OMAP_DSS_COLOR_RGBX32:
+ bpp = 32;
+ break;
+
-+ case OMAP_DSS_COLOR_YUV2:
-+ case OMAP_DSS_COLOR_UYVY:
-+ bpp = 16;
-+ break;
-+
+ default:
+ BUG();
+ return;
@@ -2514,7 +5545,9 @@ index 0000000..20caa48
+ px, py,
+ pw, ph,
+ pow, poh,
-+ pi->color_mode, 0);
++ pi->color_mode, 0,
++ pi->rotation, // XXX rotation probably wrong
++ pi->mirror);
+
+ dispc_enable_plane(ovl->id, 1);
+ }
@@ -2526,16 +5559,16 @@ index 0000000..20caa48
+
+}
+
-diff --git a/arch/arm/plat-omap/dss/display.c b/arch/arm/plat-omap/dss/display.c
+diff --git a/drivers/video/omap2/dss/display.c b/drivers/video/omap2/dss/display.c
new file mode 100644
-index 0000000..e3ff778
+index 0000000..9aaf392
--- /dev/null
-+++ b/arch/arm/plat-omap/dss/display.c
-@@ -0,0 +1,787 @@
++++ b/drivers/video/omap2/dss/display.c
+@@ -0,0 +1,693 @@
+/*
-+ * linux/arch/arm/plat-omap/dss/display.c
++ * linux/drivers/video/omap2/dss/display.c
+ *
-+ * Copyright (C) 2008 Nokia Corporation
++ * Copyright (C) 2009 Nokia Corporation
+ * Author: Tomi Valkeinen <tomi.valkeinen@nokia.com>
+ *
+ * Some code and ideas taken from drivers/video/omap/ driver
@@ -2557,631 +5590,541 @@ index 0000000..e3ff778
+#define DSS_SUBSYS_NAME "DISPLAY"
+
+#include <linux/kernel.h>
-+#include <linux/io.h>
-+#include <linux/device.h>
-+#include <linux/err.h>
-+#include <linux/sysfs.h>
-+#include <linux/clk.h>
++#include <linux/module.h>
++#include <linux/jiffies.h>
++#include <linux/list.h>
++#include <linux/platform_device.h>
+
+#include <mach/display.h>
-+#include <mach/clock.h>
+#include "dss.h"
+
-+#define DSS_MAX_DISPLAYS 8
-+
+static int num_displays;
-+static struct omap_display displays[DSS_MAX_DISPLAYS];
++static LIST_HEAD(display_list);
+
-+static ssize_t show_clk(struct device *dev, struct device_attribute *attr,
-+ char *buf)
++static ssize_t display_name_show(struct omap_display *display, char *buf)
+{
-+ ssize_t l, size = PAGE_SIZE;
-+
-+ l = 0;
++ return snprintf(buf, PAGE_SIZE, "%s\n", display->name);
++}
+
-+ l += dss_print_clocks(buf + l, size - l);
++static ssize_t display_enabled_show(struct omap_display *display, char *buf)
++{
++ bool enabled = display->state != OMAP_DSS_DISPLAY_DISABLED;
+
-+ l += dispc_print_clocks(buf + l, size - l);
-+#ifdef CONFIG_OMAP2_DSS_DSI
-+ l += dsi_print_clocks(buf + l, size - l);
-+#endif
-+ return l;
++ return snprintf(buf, PAGE_SIZE, "%d\n", enabled);
+}
+
-+static DEVICE_ATTR(clk, S_IRUGO, show_clk, NULL);
-+
-+int initialize_sysfs(struct device *dev)
++static ssize_t display_enabled_store(struct omap_display *display,
++ const char *buf, size_t size)
+{
-+ int r;
++ bool enabled, r;
+
-+ r = device_create_file(dev, &dev_attr_clk);
-+ if (r)
-+ DSSERR("failed to create sysfs clk file\n");
++ enabled = simple_strtoul(buf, NULL, 10);
+
-+ return r;
++ if (enabled != (display->state != OMAP_DSS_DISPLAY_DISABLED)) {
++ if (enabled) {
++ r = display->enable(display);
++ if (r)
++ return r;
++ } else {
++ display->disable(display);
++ }
++ }
++
++ return size;
+}
+
-+void uninitialize_sysfs(struct device *dev)
++static ssize_t display_upd_mode_show(struct omap_display *display, char *buf)
+{
-+ device_remove_file(dev, &dev_attr_clk);
++ enum omap_dss_update_mode mode = OMAP_DSS_UPDATE_AUTO;
++ if (display->get_update_mode)
++ mode = display->get_update_mode(display);
++ return snprintf(buf, PAGE_SIZE, "%d\n", mode);
+}
+
-+void initialize_displays(struct omap_dss_platform_data *pdata)
++static ssize_t display_upd_mode_store(struct omap_display *display,
++ const char *buf, size_t size)
+{
-+ int i;
-+
-+ num_displays = 0;
-+
-+ BUG_ON(pdata->num_displays > DSS_MAX_DISPLAYS);
-+
-+ for (i = 0; i < pdata->num_displays; ++i) {
-+ struct omap_display *display = &displays[i];
++ int val, r;
++ enum omap_dss_update_mode mode;
+
-+ /*atomic_set(&display->ref_count, 0);*/
-+ display->ref_count = 0;
++ val = simple_strtoul(buf, NULL, 10);
+
-+ display->hw_config = *pdata->displays[i];
-+ display->type = pdata->displays[i]->type;
-+ display->name = pdata->displays[i]->name;
-+
-+ switch (display->type) {
-+
-+ case OMAP_DISPLAY_TYPE_DPI:
-+ dpi_init_display(display);
-+ break;
-+#ifdef CONFIG_OMAP2_DSS_RFBI
-+ case OMAP_DISPLAY_TYPE_DBI:
-+ rfbi_init_display(display);
++ switch (val) {
++ case OMAP_DSS_UPDATE_DISABLED:
++ case OMAP_DSS_UPDATE_AUTO:
++ case OMAP_DSS_UPDATE_MANUAL:
++ mode = (enum omap_dss_update_mode)val;
+ break;
-+#endif
-+#ifdef CONFIG_OMAP2_DSS_VENC
-+ case OMAP_DISPLAY_TYPE_VENC:
-+ venc_init_display(display);
-+ break;
-+#endif
-+#ifdef CONFIG_OMAP2_DSS_SDI
-+ case OMAP_DISPLAY_TYPE_SDI:
-+ sdi_init_display(display);
-+ break;
-+#endif
-+#ifdef CONFIG_OMAP2_DSS_DSI
-+ case OMAP_DISPLAY_TYPE_DSI:
-+ dsi_init_display(display);
-+ break;
-+#endif
-+
+ default:
-+ DSSERR("Support for display '%s' not compiled in.\n",
-+ display->name);
-+ continue;
-+ }
-+
-+ num_displays++;
++ return -EINVAL;
+ }
++
++ if ((r = display->set_update_mode(display, mode)))
++ return r;
++
++ return size;
+}
+
-+static int check_overlay(struct omap_overlay *ovl,
-+ struct omap_display *display)
++static ssize_t display_tear_show(struct omap_display *display, char *buf)
+{
-+ struct omap_overlay_info *info;
-+ int outw, outh;
++ return snprintf(buf, PAGE_SIZE, "%d\n",
++ display->get_te ? display->get_te(display) : 0);
++}
+
-+ if (!display)
-+ return 0;
++static ssize_t display_tear_store(struct omap_display *display,
++ const char *buf, size_t size)
++{
++ unsigned long te;
++ int r;
+
-+ if (!ovl->info.enabled)
-+ return 0;
++ if (!display->enable_te || !display->get_te)
++ return -ENOENT;
+
-+ info = &ovl->info;
++ te = simple_strtoul(buf, NULL, 0);
+
-+ if ((ovl->caps & OMAP_DSS_OVL_CAP_SCALE) == 0) {
-+ outw = info->width;
-+ outh = info->height;
-+ } else {
-+ if (info->out_width == 0)
-+ outw = info->width;
-+ else
-+ outw = info->out_width;
++ if ((r = display->enable_te(display, te)))
++ return r;
+
-+ if (info->out_height == 0)
-+ outh = info->height;
-+ else
-+ outh = info->out_height;
-+ }
++ return size;
++}
+
-+ if (display->panel->timings.x_res < info->pos_x + outw)
-+ return -EINVAL;
++static ssize_t display_timings_show(struct omap_display *display, char *buf)
++{
++ struct omap_video_timings t;
+
-+ if (display->panel->timings.y_res < info->pos_y + outh)
-+ return -EINVAL;
++ if (!display->get_timings)
++ return -ENOENT;
+
-+ return 0;
-+}
++ display->get_timings(display, &t);
+
++ return snprintf(buf, PAGE_SIZE, "%u,%u/%u/%u/%u,%u/%u/%u/%u\n",
++ t.pixel_clock,
++ t.x_res, t.hfp, t.hbp, t.hsw,
++ t.y_res, t.vfp, t.vbp, t.vsw);
++}
+
-+static int omap_dss_set_manager(struct omap_overlay *ovl,
-+ struct omap_overlay_manager *mgr)
++static ssize_t display_timings_store(struct omap_display *display,
++ const char *buf, size_t size)
+{
-+ int r;
++ struct omap_video_timings t;
++ int r, found;
+
-+ if (ovl->manager) {
-+ DSSERR("overlay '%s' already has a manager '%s'\n",
-+ ovl->name, ovl->manager->name);
++ if (!display->set_timings || !display->check_timings)
++ return -ENOENT;
++
++ found = 0;
++#ifdef CONFIG_OMAP2_DSS_VENC
++ if (strncmp("pal", buf, 3) == 0) {
++ t = omap_dss_pal_timings;
++ found = 1;
++ } else if (strncmp("ntsc", buf, 4) == 0) {
++ t = omap_dss_ntsc_timings;
++ found = 1;
+ }
++#endif
++ if (!found && sscanf(buf, "%u,%hu/%hu/%hu/%hu,%hu/%hu/%hu/%hu",
++ &t.pixel_clock,
++ &t.x_res, &t.hfp, &t.hbp, &t.hsw,
++ &t.y_res, &t.vfp, &t.vbp, &t.vsw) != 9)
++ return -EINVAL;
+
-+ r = check_overlay(ovl, mgr->display);
-+ if (r)
++ if ((r = display->check_timings(display, &t)))
+ return r;
+
-+ ovl->manager = mgr;
++ display->set_timings(display, &t);
+
-+ return 0;
++ return size;
+}
+
-+static int omap_dss_unset_manager(struct omap_overlay *ovl)
++static ssize_t display_rotate_show(struct omap_display *display, char *buf)
+{
-+ if (!ovl->manager) {
-+ DSSERR("failed to detach overlay: manager not set\n");
-+ return -EINVAL;
-+ }
-+
-+ ovl->manager = NULL;
-+
-+ return 0;
++ int rotate;
++ if (!display->get_rotate)
++ return -ENOENT;
++ rotate = display->get_rotate(display);
++ return snprintf(buf, PAGE_SIZE, "%u\n", rotate);
+}
+
-+static int omap_dss_set_display(struct omap_overlay_manager *mgr,
-+ struct omap_display *display)
++static ssize_t display_rotate_store(struct omap_display *display,
++ const char *buf, size_t size)
+{
-+ int i;
++ unsigned long rot;
+ int r;
+
-+ if (display->manager) {
-+ DSSERR("display '%s' already has a manager '%s'\n",
-+ display->name, display->manager->name);
-+ return -EINVAL;
-+ }
-+
-+ if ((mgr->supported_displays & display->type) == 0) {
-+ DSSERR("display '%s' does not support manager '%s'\n",
-+ display->name, mgr->name);
-+ return -EINVAL;
-+ }
-+
-+ for (i = 0; i < mgr->num_overlays; i++) {
-+ struct omap_overlay *ovl = &mgr->overlays[i];
-+
-+ if (ovl->manager != mgr || !ovl->info.enabled)
-+ continue;
++ if (!display->set_rotate || !display->get_rotate)
++ return -ENOENT;
+
-+ r = check_overlay(ovl, display);
-+ if (r)
-+ return r;
-+ }
++ rot = simple_strtoul(buf, NULL, 0);
+
-+ display->manager = mgr;
-+ mgr->display = display;
++ if ((r = display->set_rotate(display, rot)))
++ return r;
+
-+ return 0;
++ return size;
+}
+
-+static int omap_dss_unset_display(struct omap_overlay_manager *mgr)
++static ssize_t display_mirror_show(struct omap_display *display, char *buf)
+{
-+ if (!mgr->display) {
-+ DSSERR("failed to unset display, display not set.\n");
-+ return -EINVAL;
-+ }
-+
-+ mgr->display->manager = NULL;
-+ mgr->display = NULL;
-+
-+ return 0;
++ int mirror;
++ if (!display->get_mirror)
++ return -ENOENT;
++ mirror = display->get_mirror(display);
++ return snprintf(buf, PAGE_SIZE, "%u\n", mirror);
+}
+
-+static int omap_dss_setup_overlay_input(struct omap_overlay *ovl,
-+ u32 paddr, void *vaddr, int screen_width,
-+ int width, int height,
-+ enum omap_color_mode color_mode)
++static ssize_t display_mirror_store(struct omap_display *display,
++ const char *buf, size_t size)
+{
++ unsigned long mirror;
+ int r;
-+ struct omap_overlay_info old_info;
+
-+ if ((ovl->supported_modes & color_mode) == 0) {
-+ DSSERR("overlay doesn't support mode %d\n", color_mode);
-+ return -EINVAL;
-+ }
++ if (!display->set_mirror || !display->get_mirror)
++ return -ENOENT;
+
-+ old_info = ovl->info;
-+
-+ ovl->info.paddr = paddr;
-+ ovl->info.vaddr = vaddr;
-+ ovl->info.screen_width = screen_width;
++ mirror = simple_strtoul(buf, NULL, 0);
+
-+ ovl->info.width = width;
-+ ovl->info.height = height;
-+ ovl->info.color_mode = color_mode;
++ if ((r = display->set_mirror(display, mirror)))
++ return r;
+
-+ if (ovl->manager) {
-+ r = check_overlay(ovl, ovl->manager->display);
-+ if (r) {
-+ ovl->info = old_info;
-+ return r;
-+ }
-+ }
++ return size;
++}
+
-+ return 0;
++static ssize_t display_panel_name_show(struct omap_display *display, char *buf)
++{
++ return snprintf(buf, PAGE_SIZE, "%s\n",
++ display->panel ? display->panel->name : "");
+}
+
-+static int omap_dss_setup_overlay_output(struct omap_overlay *ovl,
-+ int pos_x, int pos_y,
-+ int out_width, int out_height)
++static ssize_t display_ctrl_name_show(struct omap_display *display, char *buf)
+{
-+ int r;
-+ struct omap_overlay_info old_info;
++ return snprintf(buf, PAGE_SIZE, "%s\n",
++ display->ctrl ? display->ctrl->name : "");
++}
+
-+ old_info = ovl->info;
++struct display_attribute {
++ struct attribute attr;
++ ssize_t (*show)(struct omap_display *, char *);
++ ssize_t (*store)(struct omap_display *, const char *, size_t);
++};
+
-+ ovl->info.pos_x = pos_x;
-+ ovl->info.pos_y = pos_y;
-+ ovl->info.out_width = out_width;
-+ ovl->info.out_height = out_height;
++#define DISPLAY_ATTR(_name, _mode, _show, _store) \
++ struct display_attribute display_attr_##_name = \
++ __ATTR(_name, _mode, _show, _store)
++
++static DISPLAY_ATTR(name, S_IRUGO, display_name_show, NULL);
++static DISPLAY_ATTR(enabled, S_IRUGO|S_IWUSR,
++ display_enabled_show, display_enabled_store);
++static DISPLAY_ATTR(update_mode, S_IRUGO|S_IWUSR,
++ display_upd_mode_show, display_upd_mode_store);
++static DISPLAY_ATTR(tear_elim, S_IRUGO|S_IWUSR,
++ display_tear_show, display_tear_store);
++static DISPLAY_ATTR(timings, S_IRUGO|S_IWUSR,
++ display_timings_show, display_timings_store);
++static DISPLAY_ATTR(rotate, S_IRUGO|S_IWUSR,
++ display_rotate_show, display_rotate_store);
++static DISPLAY_ATTR(mirror, S_IRUGO|S_IWUSR,
++ display_mirror_show, display_mirror_store);
++static DISPLAY_ATTR(panel_name, S_IRUGO, display_panel_name_show, NULL);
++static DISPLAY_ATTR(ctrl_name, S_IRUGO, display_ctrl_name_show, NULL);
++
++static struct attribute *display_sysfs_attrs[] = {
++ &display_attr_name.attr,
++ &display_attr_enabled.attr,
++ &display_attr_update_mode.attr,
++ &display_attr_tear_elim.attr,
++ &display_attr_timings.attr,
++ &display_attr_rotate.attr,
++ &display_attr_mirror.attr,
++ &display_attr_panel_name.attr,
++ &display_attr_ctrl_name.attr,
++ NULL
++};
+
-+ if (ovl->manager) {
-+ r = check_overlay(ovl, ovl->manager->display);
-+ if (r) {
-+ ovl->info = old_info;
-+ return r;
-+ }
-+ }
++static ssize_t display_attr_show(struct kobject *kobj, struct attribute *attr, char *buf)
++{
++ struct omap_display *display;
++ struct display_attribute *display_attr;
+
-+ return 0;
++ display = container_of(kobj, struct omap_display, kobj);
++ display_attr = container_of(attr, struct display_attribute, attr);
++
++ if (!display_attr->show)
++ return -ENOENT;
++
++ return display_attr->show(display, buf);
+}
+
-+static int omap_dss_enable_overlay(struct omap_overlay *ovl, int enable)
++static ssize_t display_attr_store(struct kobject *kobj, struct attribute *attr,
++ const char *buf, size_t size)
+{
-+ struct omap_overlay_info old_info;
-+ int r;
++ struct omap_display *display;
++ struct display_attribute *display_attr;
+
-+ old_info = ovl->info;
++ display = container_of(kobj, struct omap_display, kobj);
++ display_attr = container_of(attr, struct display_attribute, attr);
+
-+ ovl->info.enabled = enable ? 1 : 0;
++ if (!display_attr->store)
++ return -ENOENT;
+
-+ if (ovl->manager) {
-+ r = check_overlay(ovl, ovl->manager->display);
-+ if (r) {
-+ ovl->info = old_info;
-+ return r;
-+ }
-+ }
-+
-+ return 0;
++ return display_attr->store(display, buf, size);
+}
+
++static struct sysfs_ops display_sysfs_ops = {
++ .show = display_attr_show,
++ .store = display_attr_store,
++};
+
-+static int omap_dss_mgr_apply(struct omap_overlay_manager *mgr)
-+{
-+ int i;
-+ int r = 0;
++static struct kobj_type display_ktype = {
++ .sysfs_ops = &display_sysfs_ops,
++ .default_attrs = display_sysfs_attrs,
++};
+
-+ DSSDBG("omap_dss_mgr_apply(%s)\n", mgr->name);
++static void default_get_resolution(struct omap_display *display,
++ u16 *xres, u16 *yres)
++{
++ *xres = display->panel->timings.x_res;
++ *yres = display->panel->timings.y_res;
++}
+
-+ if (!mgr->display) {
-+ DSSDBG("no display, aborting apply\n");
-+ return 0;
-+ }
++static void default_configure_overlay(struct omap_overlay *ovl)
++{
++ unsigned low, high, size;
++ enum omap_burst_size burst;
++ enum omap_plane plane = ovl->id;
+
-+ /* on a manual update display update() handles configuring
-+ * planes */
-+ if (mgr->display->get_update_mode) {
-+ enum omap_dss_update_mode mode;
-+ mode = mgr->display->get_update_mode(mgr->display);
-+ if (mode == OMAP_DSS_UPDATE_MANUAL)
-+ return 0;
-+ }
++ burst = OMAP_DSS_BURST_16x32;
++ size = 16 * 32 / 8;
+
-+ dss_clk_enable(DSS_CLK_ICK | DSS_CLK_FCK1);
++ dispc_set_burst_size(plane, burst);
+
-+ for (i = 0; i < mgr->num_overlays; i++) {
-+ int ilace = 0;
-+ int outw, outh;
++ high = dispc_get_plane_fifo_size(plane) - 1;
++ low = dispc_get_plane_fifo_size(plane) - size;
+
-+ struct omap_overlay *ovl = &mgr->overlays[i];
++ dispc_setup_plane_fifo(plane, low, high);
++}
+
-+ if (!ovl->manager) {
-+ dispc_enable_plane(ovl->id, 0);
-+ continue;
-+ }
++static int default_wait_vsync(struct omap_display *display)
++{
++ unsigned long timeout = msecs_to_jiffies(500);
++ u32 irq;
+
-+ if (ovl->manager != mgr)
-+ continue;
++ if (display->type == OMAP_DISPLAY_TYPE_VENC)
++ irq = DISPC_IRQ_EVSYNC_ODD;
++ else
++ irq = DISPC_IRQ_VSYNC;
+
-+ if (!ovl->info.enabled) {
-+ dispc_enable_plane(ovl->id, 0);
-+ continue;
-+ }
++ return omap_dispc_wait_for_irq_interruptible_timeout(irq, timeout);
++}
+
-+ if (mgr->display->type == OMAP_DISPLAY_TYPE_VENC)
-+ ilace = 1;
++static int default_get_recommended_bpp(struct omap_display *display)
++{
++ if (display->panel->recommended_bpp)
++ return display->panel->recommended_bpp;
+
-+ if (ovl->info.out_width == 0)
-+ outw = ovl->info.width;
++ switch (display->type) {
++ case OMAP_DISPLAY_TYPE_DPI:
++ if (display->hw_config.u.dpi.data_lines == 24)
++ return 24;
+ else
-+ outw = ovl->info.out_width;
++ return 16;
+
-+ if (ovl->info.out_height == 0)
-+ outh = ovl->info.height;
++ case OMAP_DISPLAY_TYPE_DBI:
++ case OMAP_DISPLAY_TYPE_DSI:
++ if (display->ctrl->pixel_size == 24)
++ return 24;
+ else
-+ outh = ovl->info.out_height;
-+
-+ r = dispc_setup_plane(ovl->id, ovl->manager->id,
-+ ovl->info.paddr,
-+ ovl->info.screen_width,
-+ ovl->info.pos_x,
-+ ovl->info.pos_y,
-+ ovl->info.width,
-+ ovl->info.height,
-+ outw,
-+ outh,
-+ ovl->info.color_mode,
-+ ilace);
-+
-+ if (r) {
-+ DSSERR("dispc_setup_plane failed\n");
-+ goto exit;
-+ }
-+
-+ dispc_enable_plane(ovl->id, 1);
++ return 16;
++ case OMAP_DISPLAY_TYPE_VENC:
++ case OMAP_DISPLAY_TYPE_SDI:
++ return 24;
++ return 24;
++ default:
++ BUG();
+ }
-+
-+ dispc_go(mgr->id);
-+
-+exit:
-+ dss_clk_disable(DSS_CLK_ICK | DSS_CLK_FCK1);
-+
-+ return r;
+}
+
-+static struct omap_overlay dispc_overlays[] = {
-+ {
-+ .name = "gfx",
-+ .id = OMAP_DSS_GFX,
-+ .set_manager = &omap_dss_set_manager,
-+ .unset_manager = &omap_dss_unset_manager,
-+ .setup_input = &omap_dss_setup_overlay_input,
-+ .setup_output = &omap_dss_setup_overlay_output,
-+ .enable = &omap_dss_enable_overlay,
-+ .supported_modes = OMAP_DSS_COLOR_GFX_OMAP3,
-+ },
-+ {
-+ .name = "vid1",
-+ .id = OMAP_DSS_VIDEO1,
-+ .set_manager = &omap_dss_set_manager,
-+ .unset_manager = &omap_dss_unset_manager,
-+ .setup_input = &omap_dss_setup_overlay_input,
-+ .setup_output = &omap_dss_setup_overlay_output,
-+ .enable = &omap_dss_enable_overlay,
-+ .supported_modes = OMAP_DSS_COLOR_VID_OMAP3,
-+ .caps = OMAP_DSS_OVL_CAP_SCALE,
-+ },
-+ {
-+ .name = "vid2",
-+ .id = OMAP_DSS_VIDEO2,
-+ .set_manager = &omap_dss_set_manager,
-+ .unset_manager = &omap_dss_unset_manager,
-+ .setup_input = &omap_dss_setup_overlay_input,
-+ .setup_output = &omap_dss_setup_overlay_output,
-+ .enable = &omap_dss_enable_overlay,
-+ .supported_modes = OMAP_DSS_COLOR_VID_OMAP3,
-+ .caps = OMAP_DSS_OVL_CAP_SCALE,
-+ },
-+};
++void dss_init_displays(struct platform_device *pdev)
++{
++ struct omap_dss_board_info *pdata = pdev->dev.platform_data;
++ int i, r;
+
-+static struct omap_overlay_manager dispc_overlay_managers[] =
-+{
-+ [OMAP_DSS_OVL_MGR_LCD] = {
-+ .name = "lcd",
-+ .id = OMAP_DSS_CHANNEL_LCD,
-+ .num_overlays = 3,
-+ .overlays = dispc_overlays,
-+ .set_display = &omap_dss_set_display,
-+ .unset_display = &omap_dss_unset_display,
-+ .apply = &omap_dss_mgr_apply,
-+ .caps = OMAP_DSS_OVL_MGR_CAP_DISPC,
-+ .supported_displays =
-+ OMAP_DISPLAY_TYPE_DPI | OMAP_DISPLAY_TYPE_DBI |
-+ OMAP_DISPLAY_TYPE_SDI | OMAP_DISPLAY_TYPE_DSI,
-+ },
-+ [OMAP_DSS_OVL_MGR_TV] = {
-+ .name = "tv",
-+ .id = OMAP_DSS_CHANNEL_DIGIT,
-+ .num_overlays = 3,
-+ .overlays = dispc_overlays,
-+ .set_display = &omap_dss_set_display,
-+ .unset_display = &omap_dss_unset_display,
-+ .apply = &omap_dss_mgr_apply,
-+ .caps = OMAP_DSS_OVL_MGR_CAP_DISPC,
-+ .supported_displays = OMAP_DISPLAY_TYPE_VENC,
-+ },
-+};
++ INIT_LIST_HEAD(&display_list);
+
-+static int num_overlays = 3;
++ num_displays = 0;
+
-+static struct omap_overlay *omap_dss_overlays[10] = {
-+ &dispc_overlays[0],
-+ &dispc_overlays[1],
-+ &dispc_overlays[2],
-+};
++ for (i = 0; i < pdata->num_displays; ++i) {
++ struct omap_display *display;
+
-+static int num_overlay_managers = 2;
++ switch (pdata->displays[i]->type) {
++ case OMAP_DISPLAY_TYPE_DPI:
++#ifdef CONFIG_OMAP2_DSS_RFBI
++ case OMAP_DISPLAY_TYPE_DBI:
++#endif
++#ifdef CONFIG_OMAP2_DSS_SDI
++ case OMAP_DISPLAY_TYPE_SDI:
++#endif
++#ifdef CONFIG_OMAP2_DSS_DSI
++ case OMAP_DISPLAY_TYPE_DSI:
++#endif
++#ifdef CONFIG_OMAP2_DSS_VENC
++ case OMAP_DISPLAY_TYPE_VENC:
++#endif
++ break;
++ default:
++ DSSERR("Support for display '%s' not compiled in.\n",
++ pdata->displays[i]->name);
++ continue;
++ }
+
-+static struct omap_overlay_manager *omap_dss_overlay_managers[10] = {
-+ &dispc_overlay_managers[0],
-+ &dispc_overlay_managers[1],
-+};
++ display = kzalloc(sizeof(*display), GFP_KERNEL);
+
++ /*atomic_set(&display->ref_count, 0);*/
++ display->ref_count = 0;
+
-+static void omap_dss_add_overlay(struct omap_overlay *overlay)
-+{
-+ int i = num_overlays++;
++ display->hw_config = *pdata->displays[i];
++ display->type = pdata->displays[i]->type;
++ display->name = pdata->displays[i]->name;
+
-+ omap_dss_overlays[i] = overlay;
-+}
++ display->get_resolution = default_get_resolution;
++ display->get_recommended_bpp = default_get_recommended_bpp;
++ display->configure_overlay = default_configure_overlay;
++ display->wait_vsync = default_wait_vsync;
+
-+static void omap_dss_add_overlay_manager(struct omap_overlay_manager *manager)
-+{
-+ int i = num_overlay_managers++;
-+ omap_dss_overlay_managers[i] = manager;
-+}
++ switch (display->type) {
++ case OMAP_DISPLAY_TYPE_DPI:
++ dpi_init_display(display);
++ break;
++#ifdef CONFIG_OMAP2_DSS_RFBI
++ case OMAP_DISPLAY_TYPE_DBI:
++ rfbi_init_display(display);
++ break;
++#endif
++#ifdef CONFIG_OMAP2_DSS_VENC
++ case OMAP_DISPLAY_TYPE_VENC:
++ venc_init_display(display);
++ break;
++#endif
++#ifdef CONFIG_OMAP2_DSS_SDI
++ case OMAP_DISPLAY_TYPE_SDI:
++ sdi_init_display(display);
++ break;
++#endif
++#ifdef CONFIG_OMAP2_DSS_DSI
++ case OMAP_DISPLAY_TYPE_DSI:
++ dsi_init_display(display);
++ break;
++#endif
++ default:
++ BUG();
++ }
+
-+int omap_dss_get_num_overlays(void)
-+{
-+ return num_overlays;
-+}
-+EXPORT_SYMBOL(omap_dss_get_num_overlays);
++ r = kobject_init_and_add(&display->kobj, &display_ktype,
++ &pdev->dev.kobj, "display%d", num_displays);
+
-+struct omap_overlay *omap_dss_get_overlay(int num)
-+{
-+ BUG_ON(num >= num_overlays);
-+ return omap_dss_overlays[num];
-+}
-+EXPORT_SYMBOL(omap_dss_get_overlay);
++ if (r) {
++ DSSERR("failed to create sysfs file\n");
++ continue;
++ }
+
-+int omap_dss_get_num_overlay_managers(void)
-+{
-+ return num_overlay_managers;
-+}
-+EXPORT_SYMBOL(omap_dss_get_num_overlay_managers);
++ num_displays++;
+
-+struct omap_overlay_manager *omap_dss_get_overlay_manager(int num)
-+{
-+ BUG_ON(num >= num_overlay_managers);
-+ return omap_dss_overlay_managers[num];
++ list_add_tail(&display->list, &display_list);
++ }
+}
-+EXPORT_SYMBOL(omap_dss_get_overlay_manager);
+
-+static int ovl_mgr_apply_l4(struct omap_overlay_manager *mgr)
++void dss_uninit_displays(struct platform_device *pdev)
+{
-+ DSSDBG("omap_dss_mgr_apply_l4(%s)\n", mgr->name);
++ struct omap_display *display;
+
-+ return 0;
++ while (!list_empty(&display_list)) {
++ display = list_first_entry(&display_list,
++ struct omap_display, list);
++ list_del(&display->list);
++ kobject_del(&display->kobj);
++ kobject_put(&display->kobj);
++ kfree(display);
++ }
++
++ num_displays = 0;
+}
+
-+void initialize_overlays(const char *def_disp_name)
++int dss_suspend_all_displays(void)
+{
-+ int i;
-+ struct omap_overlay_manager *lcd_mgr;
-+ struct omap_overlay_manager *tv_mgr;
-+ struct omap_overlay_manager *def_mgr = NULL;
-+
-+ lcd_mgr = omap_dss_get_overlay_manager(OMAP_DSS_OVL_MGR_LCD);
-+ tv_mgr = omap_dss_get_overlay_manager(OMAP_DSS_OVL_MGR_TV);
-+
-+ if (def_disp_name) {
-+ for (i = 0; i < num_displays; i++) {
-+ struct omap_display *display = &displays[i];
-+
-+ if (strcmp(display->name, def_disp_name) == 0) {
-+ if (display->type != OMAP_DISPLAY_TYPE_VENC) {
-+ omap_dss_set_display(lcd_mgr, display);
-+ def_mgr = lcd_mgr;
-+ } else {
-+ omap_dss_set_display(tv_mgr, display);
-+ def_mgr = tv_mgr;
-+ }
++ int r;
++ struct omap_display *display;
+
-+ break;
-+ }
++ list_for_each_entry(display, &display_list, list) {
++ if (display->state != OMAP_DSS_DISPLAY_ACTIVE) {
++ display->activate_after_resume = 0;
++ continue;
+ }
+
-+ if (!def_mgr)
-+ DSSWARN("default display %s not found\n",
-+ def_disp_name);
-+ }
-+
-+ if (def_mgr != lcd_mgr) {
-+ /* connect lcd manager to first non-VENC display found */
-+ for (i = 0; i < num_displays; i++) {
-+ struct omap_display *display = &displays[i];
-+ if (display->type != OMAP_DISPLAY_TYPE_VENC) {
-+ omap_dss_set_display(lcd_mgr, display);
-+
-+ if (!def_mgr)
-+ def_mgr = lcd_mgr;
-+
-+ break;
-+ }
++ if (!display->suspend) {
++ DSSERR("display '%s' doesn't implement suspend\n",
++ display->name);
++ r = -ENOSYS;
++ goto err;
+ }
-+ }
+
-+ if (def_mgr != tv_mgr) {
-+ /* connect tv manager to first VENC display found */
-+ for (i = 0; i < num_displays; i++) {
-+ struct omap_display *display = &displays[i];
-+ if (display->type == OMAP_DISPLAY_TYPE_VENC) {
-+ omap_dss_set_display(tv_mgr, display);
++ r = display->suspend(display);
+
-+ if (!def_mgr)
-+ def_mgr = tv_mgr;
++ if (r)
++ goto err;
+
-+ break;
-+ }
-+ }
++ display->activate_after_resume = 1;
+ }
+
-+ /* connect all dispc overlays to def_mgr */
-+ if (def_mgr) {
-+ for (i = 0; i < 3; i++) {
-+ struct omap_overlay *ovl;
-+ ovl = omap_dss_get_overlay(i);
-+ omap_dss_set_manager(ovl, def_mgr);
-+ }
-+ }
++ return 0;
++err:
++ /* resume all displays that were suspended */
++ dss_resume_all_displays();
++ return r;
++}
+
-+ /* setup L4 overlay as an example */
-+ {
-+ static struct omap_overlay ovl = {
-+ .name = "l4-ovl",
-+ .supported_modes = OMAP_DSS_COLOR_RGB24U,
-+ .set_manager = &omap_dss_set_manager,
-+ .unset_manager = &omap_dss_unset_manager,
-+ .setup_input = &omap_dss_setup_overlay_input,
-+ .setup_output = &omap_dss_setup_overlay_output,
-+ .enable = &omap_dss_enable_overlay,
-+ };
++int dss_resume_all_displays(void)
++{
++ int r;
++ struct omap_display *display;
+
-+ static struct omap_overlay_manager mgr = {
-+ .name = "l4",
-+ .num_overlays = 1,
-+ .overlays = &ovl,
-+ .set_display = &omap_dss_set_display,
-+ .unset_display = &omap_dss_unset_display,
-+ .apply = &ovl_mgr_apply_l4,
-+ .supported_displays =
-+ OMAP_DISPLAY_TYPE_DBI | OMAP_DISPLAY_TYPE_DSI,
-+ };
++ list_for_each_entry(display, &display_list, list) {
++ if (display->activate_after_resume && display->resume) {
++ r = display->resume(display);
++ if (r)
++ return r;
++ }
+
-+ omap_dss_add_overlay(&ovl);
-+ omap_dss_add_overlay_manager(&mgr);
-+ omap_dss_set_manager(&ovl, &mgr);
++ display->activate_after_resume = 0;
+ }
+
++ return 0;
+}
+
-+
+int omap_dss_get_num_displays(void)
+{
+ return num_displays;
+}
+EXPORT_SYMBOL(omap_dss_get_num_displays);
+
++struct omap_display *dss_get_display(int no)
++{
++ int i = 0;
++ struct omap_display *display;
++
++ list_for_each_entry(display, &display_list, list) {
++ if (i++ == no)
++ return display;
++ }
++
++ return NULL;
++}
++
+struct omap_display *omap_dss_get_display(int no)
+{
+ struct omap_display *display;
+
-+ if (no >= num_displays)
-+ return NULL;
++ display = dss_get_display(no);
+
-+ display = &displays[no];
++ if (!display)
++ return NULL;
+
+ switch (display->type) {
+ case OMAP_DISPLAY_TYPE_VENC:
@@ -3203,21 +6146,21 @@ index 0000000..e3ff778
+ return NULL;
+ }
+
-+ if (display->panel) {
-+ if (!try_module_get(display->panel->owner))
++ if (display->ctrl) {
++ if (!try_module_get(display->ctrl->owner))
+ goto err0;
+
-+ if (display->panel->init)
-+ if (display->panel->init(display) != 0)
++ if (display->ctrl->init)
++ if (display->ctrl->init(display) != 0)
+ goto err1;
+ }
+
-+ if (display->ctrl) {
-+ if (!try_module_get(display->ctrl->owner))
++ if (display->panel) {
++ if (!try_module_get(display->panel->owner))
+ goto err2;
+
-+ if (display->ctrl->init)
-+ if (display->ctrl->init(display) != 0)
++ if (display->panel->init)
++ if (display->panel->init(display) != 0)
+ goto err3;
+ }
+
@@ -3229,14 +6172,14 @@ index 0000000..e3ff778
+
+ return display;
+err3:
-+ if (display->ctrl)
-+ module_put(display->ctrl->owner);
-+err2:
-+ if (display->panel && display->panel->init)
-+ display->panel->cleanup(display);
-+err1:
+ if (display->panel)
+ module_put(display->panel->owner);
++err2:
++ if (display->ctrl && display->ctrl->cleanup)
++ display->ctrl->cleanup(display);
++err1:
++ if (display->ctrl)
++ module_put(display->ctrl->owner);
+err0:
+ return NULL;
+}
@@ -3266,10 +6209,9 @@ index 0000000..e3ff778
+
+void omap_dss_register_ctrl(struct omap_ctrl *ctrl)
+{
-+ int i;
++ struct omap_display *display;
+
-+ for (i = 0; i < num_displays; i++) {
-+ struct omap_display *display = &displays[i];
++ list_for_each_entry(display, &display_list, list) {
+ if (display->hw_config.ctrl_name &&
+ strcmp(display->hw_config.ctrl_name, ctrl->name) == 0) {
+ display->ctrl = ctrl;
@@ -3281,10 +6223,9 @@ index 0000000..e3ff778
+
+void omap_dss_register_panel(struct omap_panel *panel)
+{
-+ int i;
++ struct omap_display *display;
+
-+ for (i = 0; i < num_displays; i++) {
-+ struct omap_display *display = &displays[i];
++ list_for_each_entry(display, &display_list, list) {
+ if (display->hw_config.panel_name &&
+ strcmp(display->hw_config.panel_name, panel->name) == 0) {
+ display->panel = panel;
@@ -3296,10 +6237,9 @@ index 0000000..e3ff778
+
+void omap_dss_unregister_ctrl(struct omap_ctrl *ctrl)
+{
-+ int i;
++ struct omap_display *display;
+
-+ for (i = 0; i < num_displays; i++) {
-+ struct omap_display *display = &displays[i];
++ list_for_each_entry(display, &display_list, list) {
+ if (display->hw_config.ctrl_name &&
+ strcmp(display->hw_config.ctrl_name, ctrl->name) == 0)
+ display->ctrl = NULL;
@@ -3309,26 +6249,25 @@ index 0000000..e3ff778
+
+void omap_dss_unregister_panel(struct omap_panel *panel)
+{
-+ int i;
++ struct omap_display *display;
+
-+ for (i = 0; i < num_displays; i++) {
-+ struct omap_display *display = &displays[i];
++ list_for_each_entry(display, &display_list, list) {
+ if (display->hw_config.panel_name &&
+ strcmp(display->hw_config.panel_name, panel->name) == 0)
+ display->panel = NULL;
+ }
+}
+EXPORT_SYMBOL(omap_dss_unregister_panel);
-diff --git a/arch/arm/plat-omap/dss/dpi.c b/arch/arm/plat-omap/dss/dpi.c
+diff --git a/drivers/video/omap2/dss/dpi.c b/drivers/video/omap2/dss/dpi.c
new file mode 100644
-index 0000000..2dd8a3b
+index 0000000..71fffca
--- /dev/null
-+++ b/arch/arm/plat-omap/dss/dpi.c
-@@ -0,0 +1,344 @@
++++ b/drivers/video/omap2/dss/dpi.c
+@@ -0,0 +1,393 @@
+/*
-+ * linux/arch/arm/plat-omap/dss/dpi.c
++ * linux/drivers/video/omap2/dss/dpi.c
+ *
-+ * Copyright (C) 2008 Nokia Corporation
++ * Copyright (C) 2009 Nokia Corporation
+ * Author: Tomi Valkeinen <tomi.valkeinen@nokia.com>
+ *
+ * Some code and ideas taken from drivers/video/omap/ driver
@@ -3354,20 +6293,70 @@ index 0000000..2dd8a3b
+
+#include <mach/board.h>
+#include <mach/display.h>
-+#include "dss.h"
++#include <mach/cpu.h>
+
++#include "dss.h"
+
+static struct {
+ int update_enabled;
+} dpi;
+
-+static void dpi_set_mode(struct omap_display *display)
++#ifdef CONFIG_OMAP2_DSS_USE_DSI_PLL
++static int dpi_set_dsi_clk(bool is_tft, unsigned long pck_req,
++ unsigned long *fck, int *lck_div, int *pck_div)
++{
++ struct dsi_clock_info cinfo;
++ int r;
++
++ r = dsi_pll_calc_pck(is_tft, pck_req, &cinfo);
++ if (r)
++ return r;
++
++ r = dsi_pll_program(&cinfo);
++ if (r)
++ return r;
++
++ dss_select_clk_source(0, 1);
++
++ dispc_set_lcd_divisor(cinfo.lck_div, cinfo.pck_div);
++
++ *fck = cinfo.dsi1_pll_fclk;
++ *lck_div = cinfo.lck_div;
++ *pck_div = cinfo.pck_div;
++
++ return 0;
++}
++#else
++static int dpi_set_dispc_clk(bool is_tft, unsigned long pck_req,
++ unsigned long *fck, int *lck_div, int *pck_div)
++{
++ struct dispc_clock_info cinfo;
++ int r;
++
++ r = dispc_calc_clock_div(is_tft, pck_req, &cinfo);
++ if (r)
++ return r;
++
++ r = dispc_set_clock_div(&cinfo);
++ if (r)
++ return r;
++
++ *fck = cinfo.fck;
++ *lck_div = cinfo.lck_div;
++ *pck_div = cinfo.pck_div;
++
++ return 0;
++}
++#endif
++
++static int dpi_set_mode(struct omap_display *display)
+{
+ struct omap_panel *panel = display->panel;
+ int lck_div, pck_div;
+ unsigned long fck;
+ unsigned long pck;
-+ int is_tft;
++ bool is_tft;
++ int r = 0;
+
+ dss_clk_enable(DSS_CLK_ICK | DSS_CLK_FCK1);
+
@@ -3376,39 +6365,14 @@ index 0000000..2dd8a3b
+ is_tft = (display->panel->config & OMAP_DSS_LCD_TFT) != 0;
+
+#ifdef CONFIG_OMAP2_DSS_USE_DSI_PLL
-+ {
-+ struct dsi_clock_info cinfo;
-+ dsi_pll_calc_pck(is_tft,
-+ display->panel->timings.pixel_clock * 1000,
-+ &cinfo);
-+
-+ dsi_pll_program(&cinfo);
-+
-+ dss_select_clk_source(0, 1);
-+
-+ dispc_set_lcd_divisor(cinfo.lck_div, cinfo.pck_div);
-+
-+ fck = cinfo.dispc_fck;
-+ lck_div = cinfo.lck_div;
-+ pck_div = cinfo.pck_div;
-+ }
++ r = dpi_set_dsi_clk(is_tft, panel->timings.pixel_clock * 1000,
++ &fck, &lck_div, &pck_div);
+#else
-+ {
-+ struct dispc_clock_info cinfo;
-+ dispc_calc_clock_div(is_tft, panel->timings.pixel_clock * 1000,
-+ &cinfo);
-+
-+ if (dispc_set_clock_div(&cinfo)) {
-+ DSSERR("Failed to set DSS clocks\n");
-+ dss_clk_disable(DSS_CLK_ICK | DSS_CLK_FCK1);
-+ return;
-+ }
-+
-+ fck = cinfo.fck;
-+ lck_div = cinfo.lck_div;
-+ pck_div = cinfo.pck_div;
-+ }
++ r = dpi_set_dispc_clk(is_tft, panel->timings.pixel_clock * 1000,
++ &fck, &lck_div, &pck_div);
+#endif
++ if (r)
++ goto err0;
+
+ pck = fck / lck_div / pck_div / 1000;
+
@@ -3422,68 +6386,74 @@ index 0000000..2dd8a3b
+
+ dispc_set_lcd_timings(&panel->timings);
+
++err0:
+ dss_clk_disable(DSS_CLK_ICK | DSS_CLK_FCK1);
++ return r;
+}
+
++static int dpi_basic_init(struct omap_display *display)
++{
++ bool is_tft;
++
++ is_tft = (display->panel->config & OMAP_DSS_LCD_TFT) != 0;
++
++ dispc_set_parallel_interface_mode(OMAP_DSS_PARALLELMODE_BYPASS);
++ dispc_set_lcd_display_type(is_tft ? OMAP_DSS_LCD_DISPLAY_TFT :
++ OMAP_DSS_LCD_DISPLAY_STN);
++ dispc_set_tft_data_lines(display->hw_config.u.dpi.data_lines);
++
++ return 0;
++}
+
+static int dpi_display_enable(struct omap_display *display)
+{
+ struct omap_panel *panel = display->panel;
+ int r;
-+ int is_tft;
-+ unsigned high, low, burst;
+
+ if (display->state != OMAP_DSS_DISPLAY_DISABLED) {
+ DSSERR("display already enabled\n");
+ return -EINVAL;
+ }
+
-+ r = panel->enable(display);
-+ if (r)
-+ return r;
-+
+ dss_clk_enable(DSS_CLK_ICK | DSS_CLK_FCK1);
+
++ r = dpi_basic_init(display);
++ if (r)
++ goto err0;
++
+#ifdef CONFIG_OMAP2_DSS_USE_DSI_PLL
+ dss_clk_enable(DSS_CLK_FCK2);
+ r = dsi_pll_init(0, 1);
+ if (r)
-+ return r;
++ goto err1;
+#endif
-+ is_tft = (display->panel->config & OMAP_DSS_LCD_TFT) != 0;
-+
-+ dispc_set_parallel_interface_mode(OMAP_DSS_PARALLELMODE_BYPASS);
-+ dispc_set_lcd_display_type(is_tft ? OMAP_DSS_LCD_DISPLAY_TFT :
-+ OMAP_DSS_LCD_DISPLAY_STN);
-+ dispc_set_tft_data_lines(display->hw_config.u.dpi.data_lines);
-+
-+ dispc_set_burst_size(OMAP_DSS_GFX, OMAP_DSS_BURST_16x32);
-+ dispc_set_burst_size(OMAP_DSS_VIDEO1, OMAP_DSS_BURST_16x32);
-+ dispc_set_burst_size(OMAP_DSS_VIDEO2, OMAP_DSS_BURST_16x32);
-+
-+ burst = 16 * 32 / 8;
-+
-+ high = dispc_get_plane_fifo_size(OMAP_DSS_GFX) - burst;
-+ low = dispc_get_plane_fifo_size(OMAP_DSS_GFX) / 4;
-+ dispc_setup_plane_fifo(OMAP_DSS_GFX, low, high);
-+
-+ high = dispc_get_plane_fifo_size(OMAP_DSS_VIDEO1) - burst;
-+ low = dispc_get_plane_fifo_size(OMAP_DSS_VIDEO1) / 4;
-+ dispc_setup_plane_fifo(OMAP_DSS_VIDEO1, low, high);
-+
-+ high = dispc_get_plane_fifo_size(OMAP_DSS_VIDEO2) - burst;
-+ low = dispc_get_plane_fifo_size(OMAP_DSS_VIDEO2) / 4;
-+ dispc_setup_plane_fifo(OMAP_DSS_VIDEO2, low, high);
-+
-+ dpi_set_mode(display);
++ r = dpi_set_mode(display);
++ if (r)
++ goto err2;
+
+ mdelay(2);
+
+ dispc_enable_lcd_out(1);
+
++ r = panel->enable(display);
++ if (r)
++ goto err3;
++
+ display->state = OMAP_DSS_DISPLAY_ACTIVE;
+
+ return 0;
++
++err3:
++ dispc_enable_lcd_out(0);
++err2:
++#ifdef CONFIG_OMAP2_DSS_USE_DSI_PLL
++ dsi_pll_uninit();
++err1:
++ dss_clk_disable(DSS_CLK_FCK2);
++#endif
++err0:
++ dss_clk_disable(DSS_CLK_ICK | DSS_CLK_FCK1);
++ return r;
+}
+
+static int dpi_display_resume(struct omap_display *display);
@@ -3497,6 +6467,7 @@ index 0000000..2dd8a3b
+ dpi_display_resume(display);
+
+ display->panel->disable(display);
++
+ dispc_enable_lcd_out(0);
+
+#ifdef CONFIG_OMAP2_DSS_USE_DSI_PLL
@@ -3515,6 +6486,8 @@ index 0000000..2dd8a3b
+ if (display->state != OMAP_DSS_DISPLAY_ACTIVE)
+ return -EINVAL;
+
++ DSSDBG("dpi_display_suspend\n");
++
+ if (display->panel->suspend)
+ display->panel->suspend(display);
+
@@ -3532,10 +6505,12 @@ index 0000000..2dd8a3b
+ if (display->state != OMAP_DSS_DISPLAY_SUSPENDED)
+ return -EINVAL;
+
-+ dispc_enable_lcd_out(1);
++ DSSDBG("dpi_display_resume\n");
+
+ dss_clk_enable(DSS_CLK_ICK | DSS_CLK_FCK1);
+
++ dispc_enable_lcd_out(1);
++
+ if (display->panel->resume)
+ display->panel->resume(display);
+
@@ -3558,21 +6533,34 @@ index 0000000..2dd8a3b
+static int dpi_check_timings(struct omap_display *display,
+ struct omap_video_timings *timings)
+{
-+ int is_tft;
++ bool is_tft;
+ int r;
+ int lck_div, pck_div;
+ unsigned long fck;
+ unsigned long pck;
+
-+ if (timings->hsw < 1 || timings->hsw > 64 ||
-+ timings->hfp < 1 || timings->hfp > 256 ||
-+ timings->hbp < 1 || timings->hbp > 256) {
-+ return -EINVAL;
-+ }
++ if (cpu_is_omap24xx() || omap_rev() < OMAP3430_REV_ES3_0) {
++ if (timings->hsw < 1 || timings->hsw > 64 ||
++ timings->hfp < 1 || timings->hfp > 256 ||
++ timings->hbp < 1 || timings->hbp > 256) {
++ return -EINVAL;
++ }
+
-+ if (timings->vsw < 1 || timings->vsw > 64 ||
-+ timings->vfp > 256 || timings->vbp > 256) {
-+ return -EINVAL;
++ if (timings->vsw < 1 || timings->vsw > 64 ||
++ timings->vfp > 255 || timings->vbp > 255) {
++ return -EINVAL;
++ }
++ } else {
++ if (timings->hsw < 1 || timings->hsw > 256 ||
++ timings->hfp < 1 || timings->hfp > 4096 ||
++ timings->hbp < 1 || timings->hbp > 4096) {
++ return -EINVAL;
++ }
++
++ if (timings->vsw < 1 || timings->vsw > 64 ||
++ timings->vfp > 4095 || timings->vbp > 4095) {
++ return -EINVAL;
++ }
+ }
+
+ if (timings->pixel_clock == 0)
@@ -3589,7 +6577,7 @@ index 0000000..2dd8a3b
+ if (r)
+ return r;
+
-+ fck = cinfo.dispc_fck;
++ fck = cinfo.dsi1_pll_fclk;
+ lck_div = cinfo.lck_div;
+ pck_div = cinfo.pck_div;
+ }
@@ -3669,16 +6657,16 @@ index 0000000..2dd8a3b
+{
+}
+
-diff --git a/arch/arm/plat-omap/dss/dsi.c b/arch/arm/plat-omap/dss/dsi.c
+diff --git a/drivers/video/omap2/dss/dsi.c b/drivers/video/omap2/dss/dsi.c
new file mode 100644
-index 0000000..e279571
+index 0000000..4442931
--- /dev/null
-+++ b/arch/arm/plat-omap/dss/dsi.c
-@@ -0,0 +1,3187 @@
++++ b/drivers/video/omap2/dss/dsi.c
+@@ -0,0 +1,3752 @@
+/*
-+ * linux/arch/arm/plat-omap/dss/dsi.c
++ * linux/drivers/video/omap2/dss/dsi.c
+ *
-+ * Copyright (C) 2008 Nokia Corporation
++ * Copyright (C) 2009 Nokia Corporation
+ * Author: Tomi Valkeinen <tomi.valkeinen@nokia.com>
+ *
+ * This program is free software; you can redistribute it and/or modify it
@@ -3705,6 +6693,8 @@ index 0000000..e279571
+#include <linux/delay.h>
+#include <linux/workqueue.h>
+#include <linux/mutex.h>
++#include <linux/seq_file.h>
++#include <linux/kfifo.h>
+
+#include <mach/board.h>
+#include <mach/display.h>
@@ -3712,9 +6702,7 @@ index 0000000..e279571
+
+#include "dss.h"
+
-+/*#define VERBOSE*/
+/*#define VERBOSE_IRQ*/
-+/*#define MEASURE_PERF*/
+
+#define DSI_BASE 0x4804FC00
+
@@ -3867,6 +6855,62 @@ index 0000000..e279571
+ DSI_FIFO_SIZE_128 = 4,
+};
+
++#define DSI_CMD_FIFO_LEN 16
++
++struct dsi_cmd_update {
++ int bytespp;
++ u16 x;
++ u16 y;
++ u16 w;
++ u16 h;
++};
++
++struct dsi_cmd_mem_read {
++ void *buf;
++ size_t size;
++ u16 x;
++ u16 y;
++ u16 w;
++ u16 h;
++ size_t *ret_size;
++ struct completion *completion;
++};
++
++struct dsi_cmd_test {
++ int test_num;
++ int *result;
++ struct completion *completion;
++};
++
++enum dsi_cmd {
++ DSI_CMD_UPDATE,
++ DSI_CMD_AUTOUPDATE,
++ DSI_CMD_SYNC,
++ DSI_CMD_MEM_READ,
++ DSI_CMD_TEST,
++ DSI_CMD_SET_TE,
++ DSI_CMD_SET_UPDATE_MODE,
++ DSI_CMD_SET_ROTATE,
++ DSI_CMD_SET_MIRROR,
++};
++
++struct dsi_cmd_item {
++ struct omap_display *display;
++
++ enum dsi_cmd cmd;
++
++ union {
++ struct dsi_cmd_update r;
++ struct completion *sync;
++ struct dsi_cmd_mem_read mem_read;
++ struct dsi_cmd_test test;
++ int te;
++ enum omap_dss_update_mode update_mode;
++ int rotate;
++ int mirror;
++ } u;
++};
++
+static struct
+{
+ void __iomem *base;
@@ -3876,10 +6920,9 @@ index 0000000..e279571
+ unsigned long dsiphy; /* Hz */
+ unsigned long ddr_clk; /* Hz */
+
-+ u32 ctx[DSI_SZ_REGS / sizeof(u32)];
-+
+ struct {
-+ enum fifo_size fifo_size;
++ struct omap_display *display;
++ enum fifo_size fifo_size;
+ int dest_per; /* destination peripheral 0-3 */
+ } vc[4];
+
@@ -3889,34 +6932,54 @@ index 0000000..e279571
+
+ struct completion bta_completion;
+
-+ spinlock_t update_lock;
-+ int update_ongoing;
-+ int update_syncers;
-+ struct completion update_completion;
-+ struct delayed_work framedone_work;
++ struct work_struct framedone_work;
++ struct work_struct process_work;
++ struct workqueue_struct *workqueue;
+
-+ enum omap_dss_update_mode user_update_mode; /* what the user wants */
-+ enum omap_dss_update_mode update_mode; /* current mode */
++ enum omap_dss_update_mode user_update_mode;
++ enum omap_dss_update_mode target_update_mode;
++ enum omap_dss_update_mode update_mode;
+ int use_te;
+ int framedone_scheduled; /* helps to catch strange framedone bugs */
+
-+ struct {
-+ struct omap_display *display;
-+ int x, y, w, h;
-+ int bytespp;
-+ } update_region;
-+
+ unsigned long cache_req_pck;
+ unsigned long cache_clk_freq;
+ struct dsi_clock_info cache_cinfo;
+
-+#ifdef MEASURE_PERF
++ struct kfifo *cmd_fifo;
++ spinlock_t cmd_lock;
++ struct completion cmd_done;
++ atomic_t cmd_fifo_full;
++ atomic_t cmd_pending;
++
++ bool autoupdate_setup;
++
++#ifdef DEBUG
+ ktime_t perf_setup_time;
+ ktime_t perf_start_time;
+ int perf_measure_frames;
++
++ struct {
++ int x, y, w, h;
++ int bytespp;
++ } update_region;
++
+#endif
++ int debug_process;
++ int debug_read;
++ int debug_write;
+} dsi;
+
++#ifdef DEBUG
++static unsigned int dsi_perf;
++module_param_named(dsi_perf, dsi_perf, bool, 0644);
++#endif
++
++static void dsi_process_cmd_fifo(struct work_struct *work);
++static void dsi_push_update(struct omap_display *display,
++ int x, int y, int w, int h);
++static void dsi_push_autoupdate(struct omap_display *display);
++
+static inline void dsi_write_reg(const struct dsi_reg idx, u32 val)
+{
+ __raw_writel(val, dsi.base + idx.idx);
@@ -3928,108 +6991,14 @@ index 0000000..e279571
+}
+
+
-+#define SR(reg) \
-+ dsi.ctx[(DSI_##reg).idx / sizeof(u32)] = dsi_read_reg(DSI_##reg)
-+#define RR(reg) \
-+ dsi_write_reg(DSI_##reg, dsi.ctx[(DSI_##reg).idx / sizeof(u32)])
-+
+void dsi_save_context(void)
+{
-+ SR(SYSCONFIG);
-+ SR(IRQENABLE);
-+ SR(CTRL);
-+ SR(COMPLEXIO_CFG1);
-+ SR(COMPLEXIO_IRQ_ENABLE);
-+ SR(CLK_CTRL);
-+ SR(TIMING1);
-+ SR(TIMING2);
-+ SR(VM_TIMING1);
-+ SR(VM_TIMING2);
-+ SR(VM_TIMING3);
-+ SR(CLK_TIMING);
-+ SR(TX_FIFO_VC_SIZE);
-+ SR(RX_FIFO_VC_SIZE);
-+ SR(COMPLEXIO_CFG2);
-+ SR(VM_TIMING4);
-+ SR(VM_TIMING5);
-+ SR(VM_TIMING6);
-+ SR(VM_TIMING7);
-+ SR(STOPCLK_TIMING);
-+
-+ SR(VC_CTRL(0));
-+ SR(VC_TE(0));
-+ SR(VC_IRQENABLE(0));
-+
-+ SR(VC_CTRL(1));
-+ SR(VC_TE(1));
-+ SR(VC_IRQENABLE(1));
-+
-+ SR(VC_CTRL(2));
-+ SR(VC_TE(2));
-+ SR(VC_IRQENABLE(2));
-+
-+ SR(VC_CTRL(3));
-+ SR(VC_TE(3));
-+ SR(VC_IRQENABLE(3));
-+
-+ SR(DSIPHY_CFG0);
-+ SR(DSIPHY_CFG1);
-+ SR(DSIPHY_CFG2);
-+ SR(DSIPHY_CFG5);
-+
-+ SR(PLL_CONTROL);
-+ SR(PLL_CONFIGURATION1);
-+ SR(PLL_CONFIGURATION2);
+}
+
+void dsi_restore_context(void)
+{
-+ RR(SYSCONFIG);
-+ RR(IRQENABLE);
-+ RR(CTRL);
-+ RR(COMPLEXIO_CFG1);
-+ RR(COMPLEXIO_IRQ_ENABLE);
-+ RR(CLK_CTRL);
-+ RR(TIMING1);
-+ RR(TIMING2);
-+ RR(VM_TIMING1);
-+ RR(VM_TIMING2);
-+ RR(VM_TIMING3);
-+ RR(CLK_TIMING);
-+ RR(TX_FIFO_VC_SIZE);
-+ RR(RX_FIFO_VC_SIZE);
-+ RR(COMPLEXIO_CFG2);
-+ RR(VM_TIMING4);
-+ RR(VM_TIMING5);
-+ RR(VM_TIMING6);
-+ RR(VM_TIMING7);
-+ RR(STOPCLK_TIMING);
-+
-+ RR(VC_CTRL(0));
-+ RR(VC_IRQENABLE(0));
-+
-+ RR(VC_CTRL(1));
-+ RR(VC_IRQENABLE(1));
-+
-+ RR(VC_CTRL(2));
-+ RR(VC_IRQENABLE(2));
-+
-+ RR(VC_CTRL(3));
-+ RR(VC_IRQENABLE(3));
-+
-+ RR(DSIPHY_CFG0);
-+ RR(DSIPHY_CFG1);
-+ RR(DSIPHY_CFG2);
-+ RR(DSIPHY_CFG5);
-+
-+ RR(PLL_CONTROL);
-+ RR(PLL_CONFIGURATION1);
-+ RR(PLL_CONFIGURATION2);
+}
+
-+#undef SR
-+#undef RR
-+
+static inline int wait_for_bit_change(const struct dsi_reg idx, int bitnum,
+ int value)
+{
@@ -4043,8 +7012,7 @@ index 0000000..e279571
+ return value;
+}
+
-+
-+#ifdef MEASURE_PERF
++#ifdef DEBUG
+static void perf_mark_setup(void)
+{
+ dsi.perf_setup_time = ktime_get();
@@ -4063,6 +7031,9 @@ index 0000000..e279571
+ const int numframes = 100;
+ static u32 s_trans_us, s_min_us = 0xffffffff, s_max_us;
+
++ if (!dsi_perf)
++ return;
++
+ if (dsi.update_mode == OMAP_DSS_UPDATE_DISABLED)
+ return;
+
@@ -4098,12 +7069,13 @@ index 0000000..e279571
+ if (dsi.perf_measure_frames < numframes)
+ return;
+
-+ DSSINFO("%s update: %d frames in %u us (min/max %u/%u), "
-+ "%u fps\n",
++ DSSINFO("%s update: %d frames in %u us "
++ "(min/max/avg %u/%u/%u), %u fps\n",
+ name, numframes,
+ s_trans_us,
+ s_min_us,
+ s_max_us,
++ s_trans_us / numframes,
+ 1000*1000 / (s_trans_us / numframes));
+
+ dsi.perf_measure_frames = 0;
@@ -4128,9 +7100,6 @@ index 0000000..e279571
+#define perf_show(x)
+#endif
+
-+
-+
-+
+static void print_irq_status(u32 status)
+{
+#ifndef VERBOSE_IRQ
@@ -4331,7 +7300,7 @@ index 0000000..e279571
+}
+
+/* DSI func clock. this could also be DSI2_PLL_FCLK */
-+static inline void enable_clocks(int enable)
++static inline void enable_clocks(bool enable)
+{
+ if (enable)
+ dss_clk_enable(DSS_CLK_ICK | DSS_CLK_FCK1);
@@ -4340,7 +7309,7 @@ index 0000000..e279571
+}
+
+/* source clock for DSI PLL. this could also be PCLKFREE */
-+static inline void dsi_enable_pll_clock(int enable)
++static inline void dsi_enable_pll_clock(bool enable)
+{
+ if (enable)
+ dss_clk_enable(DSS_CLK_FCK2);
@@ -4385,7 +7354,7 @@ index 0000000..e279571
+#define _dsi_print_reset_status()
+#endif
+
-+static inline int dsi_if_enable(int enable)
++static inline int dsi_if_enable(bool enable)
+{
+ DSSDBG("dsi_if_enable(%d)\n", enable);
+
@@ -4472,7 +7441,7 @@ index 0000000..e279571
+ return 0;
+}
+
-+int dsi_pll_calc_pck(int is_tft, unsigned long req_pck,
++int dsi_pll_calc_pck(bool is_tft, unsigned long req_pck,
+ struct dsi_clock_info *cinfo)
+{
+ struct dsi_clock_info cur, best;
@@ -4532,30 +7501,30 @@ index 0000000..e279571
+ /* DSI1_PLL_FCLK(MHz) = DSIPHY(MHz) / regm3 < 173MHz */
+ for (cur.regm3 = 1; cur.regm3 < REGM3_MAX;
+ ++cur.regm3) {
-+ cur.dispc_fck = cur.dsiphy / cur.regm3;
++ cur.dsi1_pll_fclk = cur.dsiphy / cur.regm3;
+
+ /* this will narrow down the search a bit,
+ * but still give pixclocks below what was
+ * requested */
-+ if (cur.dispc_fck < req_pck)
++ if (cur.dsi1_pll_fclk < req_pck)
+ break;
+
-+ if (cur.dispc_fck > DISPC_MAX_FCK)
++ if (cur.dsi1_pll_fclk > DISPC_MAX_FCK)
+ continue;
+
+ if (min_fck_per_pck &&
-+ cur.dispc_fck <
++ cur.dsi1_pll_fclk <
+ req_pck * min_fck_per_pck)
+ continue;
+
+ match = 1;
+
+ find_lck_pck_divs(is_tft, req_pck,
-+ cur.dispc_fck,
++ cur.dsi1_pll_fclk,
+ &cur.lck_div,
+ &cur.pck_div);
+
-+ cur.lck = cur.dispc_fck / cur.lck_div;
++ cur.lck = cur.dsi1_pll_fclk / cur.lck_div;
+ cur.pck = cur.lck / cur.pck_div;
+
+ if (abs(cur.pck - req_pck) <
@@ -4583,12 +7552,13 @@ index 0000000..e279571
+ return -EINVAL;
+ }
+
-+ /* DSI2_PLL_FCLK(MHz) = DSIPHY(MHz) / regm4 < 173MHz */
-+ /* hardcoded 48MHz for now. what should it be? */
++ /* DSI2_PLL_FCLK (regm4) is not used. Set it to something sane. */
+ best.regm4 = best.dsiphy / 48000000;
+ if (best.regm4 > REGM4_MAX)
+ best.regm4 = REGM4_MAX;
-+ best.dsi_fck = best.dsiphy / best.regm4;
++ else if (best.regm4 == 0)
++ best.regm4 = 1;
++ best.dsi2_pll_fclk = best.dsiphy / best.regm4;
+
+ if (cinfo)
+ *cinfo = best;
@@ -4604,7 +7574,7 @@ index 0000000..e279571
+ struct dsi_clock_info *cinfo)
+{
+ struct dsi_clock_info cur, best;
-+ const int use_dss2_fck = 1;
++ const bool use_dss2_fck = 1;
+ unsigned long datafreq;
+
+ DSSDBG("dsi_pll_calc_ddrfreq\n");
@@ -4667,19 +7637,21 @@ index 0000000..e279571
+ }
+ }
+found:
-+ /* DSI1_PLL_FCLK(MHz) = DSIPHY(MHz) / regm3 < 173MHz */
-+ /* hardcoded 48MHz for now. what should it be? */
-+ best.regm3 = best.dsiphy / (48000000);
++ /* DSI1_PLL_FCLK (regm3) is not used. Set it to something sane. */
++ best.regm3 = best.dsiphy / 48000000;
+ if (best.regm3 > REGM3_MAX)
+ best.regm3 = REGM3_MAX;
-+ best.dispc_fck = best.dsiphy / best.regm3;
++ else if (best.regm3 == 0)
++ best.regm3 = 1;
++ best.dsi1_pll_fclk = best.dsiphy / best.regm3;
+
-+ /* DSI2_PLL_FCLK(MHz) = DSIPHY(MHz) / regm4 < 173MHz */
-+ /* hardcoded 48MHz for now. what should it be? */
-+ best.regm4 = best.dsiphy / (48000000);
++ /* DSI2_PLL_FCLK (regm4) is not used. Set it to something sane. */
++ best.regm4 = best.dsiphy / 48000000;
+ if (best.regm4 > REGM4_MAX)
+ best.regm4 = REGM4_MAX;
-+ best.dsi_fck = best.dsiphy / best.regm4;
++ else if (best.regm4 == 0)
++ best.regm4 = 1;
++ best.dsi2_pll_fclk = best.dsiphy / best.regm4;
+
+ if (cinfo)
+ *cinfo = best;
@@ -4698,13 +7670,10 @@ index 0000000..e279571
+
+ DSSDBG("dsi_pll_program\n");
+
-+ enable_clocks(1);
-+ dsi_enable_pll_clock(1);
-+
+ dsi.dsiphy = cinfo->dsiphy;
+ dsi.ddr_clk = dsi.dsiphy / 4;
-+ dsi.dsi1_pll_fclk = cinfo->dispc_fck;
-+ dsi.dsi2_pll_fclk = cinfo->dsi_fck;
++ dsi.dsi1_pll_fclk = cinfo->dsi1_pll_fclk;
++ dsi.dsi2_pll_fclk = cinfo->dsi2_pll_fclk;
+
+ DSSDBG("DSI Fint %ld\n", cinfo->fint);
+
@@ -4727,9 +7696,9 @@ index 0000000..e279571
+ DSSDBG("Clock lane freq %ld Hz\n", dsi.ddr_clk);
+
+ DSSDBG("regm3 = %d, dsi1_pll_fclk = %lu\n",
-+ cinfo->regm3, cinfo->dispc_fck);
++ cinfo->regm3, cinfo->dsi1_pll_fclk);
+ DSSDBG("regm4 = %d, dsi2_pll_fclk = %lu\n",
-+ cinfo->regm4, cinfo->dsi_fck);
++ cinfo->regm4, cinfo->dsi2_pll_fclk);
+
+ REG_FLD_MOD(DSI_PLL_CONTROL, 0, 0, 0); /* DSI_PLL_AUTOMODE = manual */
+
@@ -4786,13 +7755,10 @@ index 0000000..e279571
+
+ DSSDBG("PLL config done\n");
+err:
-+ enable_clocks(0);
-+ dsi_enable_pll_clock(0);
-+
+ return r;
+}
+
-+int dsi_pll_init(int enable_hsclk, int enable_hsdiv)
++int dsi_pll_init(bool enable_hsclk, bool enable_hsdiv)
+{
+ int r = 0;
+ enum dsi_pll_power_state pwstate;
@@ -4806,21 +7772,25 @@ index 0000000..e279571
+ /* configure dispc fck and pixel clock to something sane */
+ r = dispc_calc_clock_div(1, 48 * 1000 * 1000, &cinfo);
+ if (r)
-+ return r;
++ goto err0;
+
+ r = dispc_set_clock_div(&cinfo);
+ if (r) {
+ DSSERR("Failed to set basic clocks\n");
-+ return r;
++ goto err0;
+ }
+
++ r = dss_dsi_power_up();
++ if (r)
++ goto err0;
++
+ /* PLL does not come out of reset without this... */
+ dispc_pck_free_enable(1);
+
+ if (wait_for_bit_change(DSI_PLL_STATUS, 0, 1) != 1) {
+ DSSERR("PLL not coming out of reset.\n");
+ r = -ENODEV;
-+ goto err;
++ goto err1;
+ }
+
+ /* ... but if left on, we get problems when planes do not
@@ -4839,15 +7809,14 @@ index 0000000..e279571
+ r = dsi_pll_power(pwstate);
+
+ if (r)
-+ goto err;
-+
-+ enable_clocks(0);
-+ dsi_enable_pll_clock(0);
++ goto err1;
+
+ DSSDBG("PLL init done\n");
+
+ return 0;
-+err:
++err1:
++ dss_dsi_power_down();
++err0:
+ enable_clocks(0);
+ dsi_enable_pll_clock(0);
+ return r;
@@ -4855,8 +7824,12 @@ index 0000000..e279571
+
+void dsi_pll_uninit(void)
+{
++ enable_clocks(0);
++ dsi_enable_pll_clock(0);
++
+ dsi.pll_locked = 0;
+ dsi_pll_power(DSI_PLL_POWER_OFF);
++ dss_dsi_power_down();
+ DSSDBG("PLL uninit done\n");
+}
+
@@ -4870,31 +7843,28 @@ index 0000000..e279571
+ return dsi.dsi2_pll_fclk;
+}
+
-+ssize_t dsi_print_clocks(char *buf, ssize_t size)
++void dsi_dump_clocks(struct seq_file *s)
+{
-+ ssize_t l = 0;
+ int clksel;
+
+ enable_clocks(1);
+
+ clksel = REG_GET(DSI_PLL_CONFIGURATION2, 11, 11);
+
-+ l += snprintf(buf + l, size - l, "- dsi -\n");
++ seq_printf(s, "- dsi -\n");
+
-+ l += snprintf(buf + l, size - l, "dsi fclk source = %s\n",
++ seq_printf(s, "dsi fclk source = %s\n",
+ dss_get_dsi_clk_source() == 0 ?
+ "dss1_alwon_fclk" : "dsi2_pll_fclk");
+
-+ l += snprintf(buf + l, size - l, "dsi pll source = %s\n",
++ seq_printf(s, "dsi pll source = %s\n",
+ clksel == 0 ?
+ "dss2_alwon_fclk" : "pclkfree");
+
-+ l += snprintf(buf + l, size - l,
-+ "DSIPHY\t\t%lu\nDDR_CLK\t\t%lu\n",
++ seq_printf(s, "DSIPHY\t\t%lu\nDDR_CLK\t\t%lu\n",
+ dsi.dsiphy, dsi.ddr_clk);
+
-+ l += snprintf(buf + l, size - l,
-+ "dsi1_pll_fck\t%lu (%s)\n"
++ seq_printf(s, "dsi1_pll_fck\t%lu (%s)\n"
+ "dsi2_pll_fck\t%lu (%s)\n",
+ dsi.dsi1_pll_fclk,
+ dss_get_dispc_clk_source() == 0 ? "off" : "on",
@@ -4902,10 +7872,87 @@ index 0000000..e279571
+ dss_get_dsi_clk_source() == 0 ? "off" : "on");
+
+ enable_clocks(0);
-+
-+ return l;
+}
+
++void dsi_dump_regs(struct seq_file *s)
++{
++#define DUMPREG(r) seq_printf(s, "%-35s %08x\n", #r, dsi_read_reg(r))
++
++ dss_clk_enable(DSS_CLK_ICK | DSS_CLK_FCK1);
++
++ DUMPREG(DSI_REVISION);
++ DUMPREG(DSI_SYSCONFIG);
++ DUMPREG(DSI_SYSSTATUS);
++ DUMPREG(DSI_IRQSTATUS);
++ DUMPREG(DSI_IRQENABLE);
++ DUMPREG(DSI_CTRL);
++ DUMPREG(DSI_COMPLEXIO_CFG1);
++ DUMPREG(DSI_COMPLEXIO_IRQ_STATUS);
++ DUMPREG(DSI_COMPLEXIO_IRQ_ENABLE);
++ DUMPREG(DSI_CLK_CTRL);
++ DUMPREG(DSI_TIMING1);
++ DUMPREG(DSI_TIMING2);
++ DUMPREG(DSI_VM_TIMING1);
++ DUMPREG(DSI_VM_TIMING2);
++ DUMPREG(DSI_VM_TIMING3);
++ DUMPREG(DSI_CLK_TIMING);
++ DUMPREG(DSI_TX_FIFO_VC_SIZE);
++ DUMPREG(DSI_RX_FIFO_VC_SIZE);
++ DUMPREG(DSI_COMPLEXIO_CFG2);
++ DUMPREG(DSI_RX_FIFO_VC_FULLNESS);
++ DUMPREG(DSI_VM_TIMING4);
++ DUMPREG(DSI_TX_FIFO_VC_EMPTINESS);
++ DUMPREG(DSI_VM_TIMING5);
++ DUMPREG(DSI_VM_TIMING6);
++ DUMPREG(DSI_VM_TIMING7);
++ DUMPREG(DSI_STOPCLK_TIMING);
++
++ DUMPREG(DSI_VC_CTRL(0));
++ DUMPREG(DSI_VC_TE(0));
++ DUMPREG(DSI_VC_LONG_PACKET_HEADER(0));
++ DUMPREG(DSI_VC_LONG_PACKET_PAYLOAD(0));
++ DUMPREG(DSI_VC_SHORT_PACKET_HEADER(0));
++ DUMPREG(DSI_VC_IRQSTATUS(0));
++ DUMPREG(DSI_VC_IRQENABLE(0));
++
++ DUMPREG(DSI_VC_CTRL(1));
++ DUMPREG(DSI_VC_TE(1));
++ DUMPREG(DSI_VC_LONG_PACKET_HEADER(1));
++ DUMPREG(DSI_VC_LONG_PACKET_PAYLOAD(1));
++ DUMPREG(DSI_VC_SHORT_PACKET_HEADER(1));
++ DUMPREG(DSI_VC_IRQSTATUS(1));
++ DUMPREG(DSI_VC_IRQENABLE(1));
++
++ DUMPREG(DSI_VC_CTRL(2));
++ DUMPREG(DSI_VC_TE(2));
++ DUMPREG(DSI_VC_LONG_PACKET_HEADER(2));
++ DUMPREG(DSI_VC_LONG_PACKET_PAYLOAD(2));
++ DUMPREG(DSI_VC_SHORT_PACKET_HEADER(2));
++ DUMPREG(DSI_VC_IRQSTATUS(2));
++ DUMPREG(DSI_VC_IRQENABLE(2));
++
++ DUMPREG(DSI_VC_CTRL(3));
++ DUMPREG(DSI_VC_TE(3));
++ DUMPREG(DSI_VC_LONG_PACKET_HEADER(3));
++ DUMPREG(DSI_VC_LONG_PACKET_PAYLOAD(3));
++ DUMPREG(DSI_VC_SHORT_PACKET_HEADER(3));
++ DUMPREG(DSI_VC_IRQSTATUS(3));
++ DUMPREG(DSI_VC_IRQENABLE(3));
++
++ DUMPREG(DSI_DSIPHY_CFG0);
++ DUMPREG(DSI_DSIPHY_CFG1);
++ DUMPREG(DSI_DSIPHY_CFG2);
++ DUMPREG(DSI_DSIPHY_CFG5);
++
++ DUMPREG(DSI_PLL_CONTROL);
++ DUMPREG(DSI_PLL_STATUS);
++ DUMPREG(DSI_PLL_GO);
++ DUMPREG(DSI_PLL_CONFIGURATION1);
++ DUMPREG(DSI_PLL_CONFIGURATION2);
++
++ dss_clk_disable(DSS_CLK_ICK | DSS_CLK_FCK1);
++#undef DUMPREG
++}
+
+enum dsi_complexio_power_state {
+ DSI_COMPLEXIO_POWER_OFF = 0x0,
@@ -4972,12 +8019,17 @@ index 0000000..e279571
+ */
+}
+
-+static inline int ns2ddr(int ns)
++static inline unsigned ns2ddr(unsigned ns)
+{
+ /* convert time in ns to ddr ticks, rounding up */
+ return (ns * (dsi.ddr_clk/1000/1000) + 999) / 1000;
+}
+
++static inline unsigned ddr2ns(unsigned ddr)
++{
++ return ddr * 1000 * 1000 / (dsi.ddr_clk / 1000);
++}
++
+static void dsi_complexio_timings(void)
+{
+ u32 r;
@@ -4996,7 +8048,7 @@ index 0000000..e279571
+ ths_prepare_ths_zero = ns2ddr(145) + 5;
+
+ /* min max(8*UI, 60ns+4*UI) */
-+ ths_trail = max(4, ns2ddr(60) + 2);
++ ths_trail = max((unsigned)4, ns2ddr(60) + 2);
+
+ /* min 100ns */
+ ths_exit = ns2ddr(100);
@@ -5013,16 +8065,20 @@ index 0000000..e279571
+ /* min tclk-prepare + tclk-zero = 300ns */
+ tclk_zero = ns2ddr(300 - 38);
+
-+#ifdef VERBOSE
-+ DSSDBG("ths_prepare %d, ths_prepare_ths_zero %d\n",
-+ ths_prepare, ths_prepare_ths_zero);
-+ DSSDBG("ths_trail %d, ths_exit %d\n", ths_trail, ths_exit);
-+
-+
-+ DSSDBG("tlpx_half %d, tclk_trail %d, tclk_zero %d\n", tlpx_half,
-+ tclk_trail, tclk_zero);
-+ DSSDBG("tclk_prepare %d\n", tclk_prepare);
-+#endif
++ DSSDBG("ths_prepare %u (%uns), ths_prepare_ths_zero %u (%uns)\n",
++ ths_prepare, ddr2ns(ths_prepare),
++ ths_prepare_ths_zero, ddr2ns(ths_prepare_ths_zero));
++ DSSDBG("ths_trail %u (%uns), ths_exit %u (%uns)\n",
++ ths_trail, ddr2ns(ths_trail),
++ ths_exit, ddr2ns(ths_exit));
++
++ DSSDBG("tlpx_half %u (%uns), tclk_trail %u (%uns), "
++ "tclk_zero %u (%uns)\n",
++ tlpx_half, ddr2ns(tlpx_half),
++ tclk_trail, ddr2ns(tclk_trail),
++ tclk_zero, ddr2ns(tclk_zero));
++ DSSDBG("tclk_prepare %u (%uns)\n",
++ tclk_prepare, ddr2ns(tclk_prepare));
+
+ /* program timings */
+
@@ -5114,6 +8170,27 @@ index 0000000..e279571
+ dsi_complexio_power(DSI_COMPLEXIO_POWER_OFF);
+}
+
++static int _dsi_wait_reset(void)
++{
++ int i = 0;
++
++ while (REG_GET(DSI_SYSSTATUS, 0, 0) == 0) {
++ if (i++ > 5) {
++ DSSERR("soft reset failed\n");
++ return -ENODEV;
++ }
++ udelay(1);
++ }
++
++ return 0;
++}
++
++static int _dsi_reset(void)
++{
++ /* Soft reset */
++ REG_FLD_MOD(DSI_SYSCONFIG, 1, 1, 1);
++ return _dsi_wait_reset();
++}
+
+
+static void dsi_config_tx_fifo(enum fifo_size size1, enum fifo_size size2,
@@ -5255,7 +8332,7 @@ index 0000000..e279571
+}
+
+
-+static int dsi_vc_enable(int channel, int enable)
++static int dsi_vc_enable(int channel, bool enable)
+{
+ DSSDBG("dsi_vc_enable channel %d, enable %d\n", channel, enable);
+
@@ -5271,7 +8348,7 @@ index 0000000..e279571
+ return 0;
+}
+
-+static void dsi_vc_enable_hs(int channel, int enable)
++static void dsi_vc_enable_hs(int channel, bool enable)
+{
+ DSSDBG("dsi_vc_enable_hs(%d, %d)\n", channel, enable);
+
@@ -5299,6 +8376,43 @@ index 0000000..e279571
+ }
+}
+
++static void dsi_show_rx_ack_with_err(u16 err)
++{
++ DSSERR("\tACK with ERROR (%#x):\n", err);
++ if (err & (1 << 0))
++ DSSERR("\t\tSoT Error\n");
++ if (err & (1 << 1))
++ DSSERR("\t\tSoT Sync Error\n");
++ if (err & (1 << 2))
++ DSSERR("\t\tEoT Sync Error\n");
++ if (err & (1 << 3))
++ DSSERR("\t\tEscape Mode Entry Command Error\n");
++ if (err & (1 << 4))
++ DSSERR("\t\tLP Transmit Sync Error\n");
++ if (err & (1 << 5))
++ DSSERR("\t\tHS Receive Timeout Error\n");
++ if (err & (1 << 6))
++ DSSERR("\t\tFalse Control Error\n");
++ if (err & (1 << 7))
++ DSSERR("\t\t(reserved7)\n");
++ if (err & (1 << 8))
++ DSSERR("\t\tECC Error, single-bit (corrected)\n");
++ if (err & (1 << 9))
++ DSSERR("\t\tECC Error, multi-bit (not corrected)\n");
++ if (err & (1 << 10))
++ DSSERR("\t\tChecksum Error\n");
++ if (err & (1 << 11))
++ DSSERR("\t\tData type not recognized\n");
++ if (err & (1 << 12))
++ DSSERR("\t\tInvalid VC ID\n");
++ if (err & (1 << 13))
++ DSSERR("\t\tInvalid Transmission Length\n");
++ if (err & (1 << 14))
++ DSSERR("\t\t(reserved14)\n");
++ if (err & (1 << 15))
++ DSSERR("\t\tDSI Protocol Violation\n");
++}
++
+static u16 dsi_vc_flush_receive_data(int channel)
+{
+ /* RX_FIFO_NOT_EMPTY */
@@ -5307,31 +8421,22 @@ index 0000000..e279571
+ u8 dt;
+ val = dsi_read_reg(DSI_VC_SHORT_PACKET_HEADER(channel));
+ DSSDBG("\trawval %#08x\n", val);
-+ dt = FLD_GET(val, 7, 0);
++ dt = FLD_GET(val, 5, 0);
+ if (dt == DSI_DT_RX_ACK_WITH_ERR) {
+ u16 err = FLD_GET(val, 23, 8);
-+ DSSERR("\tACK with ERROR: %#x\n", err);
-+ if (err & (1 << 9))
-+ DSSERR("\t\tECC multibit\n");
-+ if (err & (1 << 11))
-+ DSSERR("\t\tData type not recognized\n");
-+ if (err & (1 << 12))
-+ DSSERR("\t\tInvalid VC ID\n");
-+
++ dsi_show_rx_ack_with_err(err);
+ } else if (dt == DSI_DT_RX_SHORT_READ_1) {
+ DSSDBG("\tDCS short response, 1 byte: %#x\n",
+ FLD_GET(val, 23, 8));
-+ return FLD_GET(val, 23, 8);
+ } else if (dt == DSI_DT_RX_SHORT_READ_2) {
+ DSSDBG("\tDCS short response, 2 byte: %#x\n",
+ FLD_GET(val, 23, 8));
-+ return FLD_GET(val, 23, 8);
+ } else if (dt == DSI_DT_RX_DCS_LONG_READ) {
+ DSSDBG("\tDCS long response, len %d\n",
+ FLD_GET(val, 23, 8));
+ dsi_vc_flush_long_data(channel);
+ } else {
-+ DSSERR("\tunknown datatype\n");
++ DSSERR("\tunknown datatype 0x%02x\n", dt);
+ }
+ }
+ return 0;
@@ -5422,7 +8527,8 @@ index 0000000..e279571
+ int r = 0;
+ u8 b1, b2, b3, b4;
+
-+ /*DSSDBG("dsi_vc_send_long, %d bytes\n", len); */
++ if (dsi.debug_write)
++ DSSDBG("dsi_vc_send_long, %d bytes\n", len);
+
+ /* len + header */
+ if (dsi.vc[channel].fifo_size * 32 * 4 < len + 4) {
@@ -5436,7 +8542,8 @@ index 0000000..e279571
+
+ p = data;
+ for (i = 0; i < len >> 2; i++) {
-+ /*DSSDBG("\tsending full packet %d\n", i); */
++ if (dsi.debug_write)
++ DSSDBG("\tsending full packet %d\n", i);
+ /*dsi_vc_print_status(0); */
+
+ b1 = *p++;
@@ -5451,7 +8558,8 @@ index 0000000..e279571
+ if (i) {
+ b1 = 0; b2 = 0; b3 = 0;
+
-+ /*DSSDBG("\tsending remainder bytes %d\n", i); */
++ if (dsi.debug_write)
++ DSSDBG("\tsending remainder bytes %d\n", i);
+
+ switch (i) {
+ case 3:
@@ -5478,11 +8586,12 @@ index 0000000..e279571
+{
+ u32 r;
+ u8 data_id;
-+/*
-+ DSSDBG("dsi_vc_send_short(ch%d, dt %#x, b1 %#x, b2 %#x)\n",
-+ channel,
-+ data_type, data & 0xff, (data >> 8) & 0xff);
-+*/
++
++ if (dsi.debug_write)
++ DSSDBG("dsi_vc_send_short(ch%d, dt %#x, b1 %#x, b2 %#x)\n",
++ channel,
++ data_type, data & 0xff, (data >> 8) & 0xff);
++
+ if (FLD_GET(dsi_read_reg(DSI_VC_CTRL(channel)), 16, 16)) {
+ DSSERR("ERROR FIFO FULL, aborting transfer\n");
+ return -EINVAL;
@@ -5547,34 +8656,37 @@ index 0000000..e279571
+{
+ u32 val;
+ u8 dt;
-+ int debug = 0;
++ int r;
+
-+ if (debug)
++ if (dsi.debug_read)
+ DSSDBG("dsi_vc_dcs_read\n");
+
-+ dsi_vc_send_short(channel, DSI_DT_DCS_READ, dcs_cmd, 0);
++ r = dsi_vc_send_short(channel, DSI_DT_DCS_READ, dcs_cmd, 0);
++ if (r)
++ return r;
+
-+ dsi_vc_send_bta_sync(channel);
++ r = dsi_vc_send_bta_sync(channel);
++ if (r)
++ return r;
++
++ if (REG_GET(DSI_VC_CTRL(channel), 20, 20) == 0) { /* RX_FIFO_NOT_EMPTY */
++ DSSERR("RX fifo empty when trying to read.\n");
++ return -EIO;
++ }
+
+ val = dsi_read_reg(DSI_VC_SHORT_PACKET_HEADER(channel));
-+ if (debug)
-+ DSSDBG("\trawval %#08x\n", val);
-+ dt = FLD_GET(val, 7, 0);
++ if (dsi.debug_read)
++ DSSDBG("\theader: %08x\n", val);
++ dt = FLD_GET(val, 5, 0);
+ if (dt == DSI_DT_RX_ACK_WITH_ERR) {
+ u16 err = FLD_GET(val, 23, 8);
-+ DSSERR("\tACK with ERROR: %#x\n", err);
-+ if (err & (1 << 9))
-+ DSSERR("\t\tECC multibit\n");
-+ if (err & (1 << 11))
-+ DSSERR("\t\tData type not recognized\n");
-+ if (err & (1 << 12))
-+ DSSERR("\t\tInvalid VC ID\n");
++ dsi_show_rx_ack_with_err(err);
+ return -1;
+
+ } else if (dt == DSI_DT_RX_SHORT_READ_1) {
+ u8 data = FLD_GET(val, 15, 8);
-+ if (debug)
-+ DSSDBG("\tDCS short response, 1 byte: %#x\n", data);
++ if (dsi.debug_read)
++ DSSDBG("\tDCS short response, 1 byte: %02x\n", data);
+
+ if (buflen < 1)
+ return -1;
@@ -5584,8 +8696,8 @@ index 0000000..e279571
+ return 1;
+ } else if (dt == DSI_DT_RX_SHORT_READ_2) {
+ u16 data = FLD_GET(val, 23, 8);
-+ if (debug)
-+ DSSDBG("\tDCS short response, 2 byte: %#x\n", data);
++ if (dsi.debug_read)
++ DSSDBG("\tDCS short response, 2 byte: %04x\n", data);
+
+ if (buflen < 2)
+ return -1;
@@ -5595,38 +8707,37 @@ index 0000000..e279571
+
+ return 2;
+ } else if (dt == DSI_DT_RX_DCS_LONG_READ) {
-+ int x;
++ int w;
+ int len = FLD_GET(val, 23, 8);
-+ if (debug)
++ if (dsi.debug_read)
+ DSSDBG("\tDCS long response, len %d\n", len);
+
+ if (len > buflen)
+ return -1;
+
-+ x = 0;
-+ while (x < len) {
++ /* two byte checksum ends the packet, not included in len */
++ for (w = 0; w < len + 2;) {
++ int b;
+ val = dsi_read_reg(DSI_VC_SHORT_PACKET_HEADER(channel));
-+ if (debug)
-+ DSSDBG("\t\tb1 %#02x b2 %#02x b3 %#02x b4 "
-+ "%#02x\n",
++ if (dsi.debug_read)
++ DSSDBG("\t\t%02x %02x %02x %02x\n",
+ (val >> 0) & 0xff,
+ (val >> 8) & 0xff,
+ (val >> 16) & 0xff,
+ (val >> 24) & 0xff);
+
-+ if (x < len)
-+ buf[x++] = (val >> 0) & 0xff;
-+ if (x < len)
-+ buf[x++] = (val >> 8) & 0xff;
-+ if (x < len)
-+ buf[x++] = (val >> 16) & 0xff;
-+ if (x < len)
-+ buf[x++] = (val >> 24) & 0xff;
++ for (b = 0; b < 4; ++b) {
++ if (w < len)
++ buf[w] = (val >> (b * 8)) & 0xff;
++ /* we discard the 2 byte checksum */
++ ++w;
++ }
+ }
+
+ return len;
++
+ } else {
-+ DSSERR("\tunknown datatype\n");
++ DSSERR("\tunknown datatype 0x%02x\n", dt);
+ return -1;
+ }
+}
@@ -5862,11 +8973,9 @@ index 0000000..e279571
+ r = FLD_MOD(r, ddr_clk_post, 7, 0);
+ dsi_write_reg(DSI_CLK_TIMING, r);
+
-+#ifdef VERBOSE
+ DSSDBG("ddr_clk_pre %d, ddr_clk_post %d\n",
+ ddr_clk_pre,
+ ddr_clk_post);
-+#endif
+}
+
+
@@ -5900,7 +9009,7 @@ index 0000000..e279571
+ int pixels_left;
+ int bytespp = 3;
+ int scr_width;
-+ u32 *data;
++ u32 __iomem *data;
+ int start_offset;
+ int horiz_inc;
+ int current_x;
@@ -5911,7 +9020,7 @@ index 0000000..e279571
+ DSSDBG("dsi_update_screen_l4 (%d,%d %dx%d)\n",
+ x, y, w, h);
+
-+ ovl = &display->manager->overlays[0];
++ ovl = display->manager->overlays[0];
+
+ if (ovl->info.color_mode != OMAP_DSS_COLOR_RGB24U)
+ return -EINVAL;
@@ -5919,9 +9028,6 @@ index 0000000..e279571
+ if (display->ctrl->pixel_size != 24)
+ return -EINVAL;
+
-+ enable_clocks(1);
-+ dsi_enable_pll_clock(1);
-+
+ scr_width = ovl->info.screen_width;
+ data = ovl->info.vaddr;
+
@@ -5953,11 +9059,13 @@ index 0000000..e279571
+
+ data += start_offset;
+
++#ifdef DEBUG
+ dsi.update_region.x = x;
+ dsi.update_region.y = y;
+ dsi.update_region.w = w;
+ dsi.update_region.h = h;
+ dsi.update_region.bytespp = bytespp;
++#endif
+
+ perf_mark_start();
+
@@ -5979,7 +9087,6 @@ index 0000000..e279571
+ DSSERR("fifo stalls overflow, pixels left %d\n",
+ pixels_left);
+ dsi_if_enable(0);
-+ enable_clocks(0);
+ return -EIO;
+ }
+ }
@@ -5992,7 +9099,6 @@ index 0000000..e279571
+ DSSERR("fifo stalls overflow, pixels left %d\n",
+ pixels_left);
+ dsi_if_enable(0);
-+ enable_clocks(0);
+ return -EIO;
+ }
+ }
@@ -6003,7 +9109,6 @@ index 0000000..e279571
+ DSSERR("fifo stalls overflow, pixels left %d\n",
+ pixels_left);
+ dsi_if_enable(0);
-+ enable_clocks(0);
+ return -EIO;
+ }
+ }
@@ -6018,7 +9123,7 @@ index 0000000..e279571
+ DSI_PUSH(0, dcs_cmd);
+
+ while (pixels-- > 0) {
-+ u32 pix = *data++;
++ u32 pix = __raw_readl(data++);
+
+ DSI_PUSH(0, (pix >> 16) & 0xff);
+ DSI_PUSH(0, (pix >> 8) & 0xff);
@@ -6036,9 +9141,6 @@ index 0000000..e279571
+
+ perf_show("L4");
+
-+ enable_clocks(0);
-+ dsi_enable_pll_clock(0);
-+
+ return 0;
+}
+
@@ -6136,74 +9238,60 @@ index 0000000..e279571
+}
+#endif
+
-+static int dsi_wait_for_framedone(int stop_update)
-+{
-+ unsigned long flags;
-+
-+ spin_lock_irqsave(&dsi.update_lock, flags);
-+ if (dsi.update_ongoing) {
-+ long wait = msecs_to_jiffies(1000);
-+ dsi.update_syncers++;
-+ if (stop_update)
-+ dsi.update_mode = OMAP_DSS_UPDATE_DISABLED;
-+ spin_unlock_irqrestore(&dsi.update_lock, flags);
-+ wait = wait_for_completion_timeout(&dsi.update_completion,
-+ wait);
-+ if (wait == 0) {
-+ DSSERR("timeout waiting sync\n");
-+ return -ETIME;
-+ }
-+ } else {
-+ spin_unlock_irqrestore(&dsi.update_lock, flags);
-+ }
-+
-+ return 0;
-+}
-+
+static void dsi_setup_update_dispc(struct omap_display *display,
-+ int x, int y, int w, int h)
++ u16 x, u16 y, u16 w, u16 h)
+{
-+ int bytespp = 3;
-+
+ DSSDBG("dsi_setup_update_dispc(%d,%d %dx%d)\n",
+ x, y, w, h);
+
-+ dsi.update_region.display = display;
++#ifdef DEBUG
+ dsi.update_region.x = x;
+ dsi.update_region.y = y;
+ dsi.update_region.w = w;
+ dsi.update_region.h = h;
-+ dsi.update_region.bytespp = bytespp;
-+
-+ enable_clocks(1);
++ dsi.update_region.bytespp = 3; // XXX
++#endif
+
+ dispc_setup_partial_planes(display, &x, &y, &w, &h);
+
+ dispc_set_lcd_size(w, h);
++}
+
-+ enable_clocks(0);
++static void dsi_setup_autoupdate_dispc(struct omap_display *display)
++{
++ u16 w, h;
++
++ display->get_resolution(display, &w, &h);
++
++#ifdef DEBUG
++ dsi.update_region.x = 0;
++ dsi.update_region.y = 0;
++ dsi.update_region.w = w;
++ dsi.update_region.h = h;
++ dsi.update_region.bytespp = 3; // XXX
++#endif
++
++ /* the overlay settings may not have been applied, if we were in manual
++ * mode earlier, so do it here */
++ display->manager->apply(display->manager);
++
++ dispc_set_lcd_size(w, h);
++
++ dsi.autoupdate_setup = 0;
+}
+
-+static void dsi_update_screen_dispc(struct omap_display *display)
++static void dsi_update_screen_dispc(struct omap_display *display,
++ u16 x, u16 y, u16 w, u16 h)
+{
+ int bytespp = 3;
+ int total_len;
+ int line_packet_len;
-+ int x, y, w, h;
+ u32 l;
+
-+ x = dsi.update_region.x;
-+ y = dsi.update_region.y;
-+ w = dsi.update_region.w;
-+ h = dsi.update_region.h;
-+
-+ if (dsi.user_update_mode != OMAP_DSS_UPDATE_AUTO)
++ if (dsi.update_mode == OMAP_DSS_UPDATE_MANUAL)
+ DSSDBG("dsi_update_screen_dispc(%d,%d %dx%d)\n",
+ x, y, w, h);
+
-+ enable_clocks(1);
-+ dsi_enable_pll_clock(1);
-+
+ /* TODO: one packet could be longer, I think? Max is the line buffer */
+ line_packet_len = w * bytespp + 1; /* 1 byte for DCS cmd */
+ total_len = line_packet_len * h;
@@ -6246,18 +9334,11 @@ index 0000000..e279571
+ * is sending the data. Thus we have to wait until we can do a new
+ * transfer or turn the clocks off. We do that in a separate work
+ * func. */
-+ /* XXX When using auto update and delay value 0, the kernel seems to be
-+ * very relaxed about when to call our callback. It may take a second.
-+ * Thus we use a delay of 1 */
-+ if (dsi.update_mode == OMAP_DSS_UPDATE_AUTO)
-+ schedule_delayed_work(&dsi.framedone_work, 1);
-+ else
-+ schedule_delayed_work(&dsi.framedone_work, 0);
++ queue_work(dsi.workqueue, &dsi.framedone_work);
+}
+
+static void framedone_worker(struct work_struct *work)
+{
-+ unsigned long flags;
+ u32 l;
+ unsigned long tmo;
+ int i = 0;
@@ -6284,17 +9365,9 @@ index 0000000..e279571
+ if (REG_GET(DSI_VC_TE(1), 31, 31))
+ DSSERR("TE_START not zero\n");
+
-+ spin_lock_irqsave(&dsi.update_lock, flags);
-+ if (dsi.update_ongoing == 0) {
-+ spin_unlock_irqrestore(&dsi.update_lock, flags);
-+ DSSERR("framedone irq without update request\n");
-+ return;
-+ }
-+ spin_unlock_irqrestore(&dsi.update_lock, flags);
-+
+ perf_show("DISPC");
+
-+ if (dsi.user_update_mode != OMAP_DSS_UPDATE_AUTO)
++ if (dsi.update_mode == OMAP_DSS_UPDATE_MANUAL)
+ DSSDBG("FRAMEDONE\n");
+
+#if 0
@@ -6308,110 +9381,528 @@ index 0000000..e279571
+#ifdef CONFIG_OMAP2_DSS_FAKE_VSYNC
+ dispc_fake_vsync_irq();
+#endif
-+ enable_clocks(0);
-+ dsi_enable_pll_clock(0);
-+
+ dsi.framedone_scheduled = 0;
+
-+ spin_lock_irqsave(&dsi.update_lock, flags);
++ /* XXX check that fifo is not full. otherwise we would sleep and never
++ * get to process_cmd_fifo below */
++ /* We check for target_update_mode, not update_mode. No reason to push
++ * new updates if we're turning auto update off */
++ if (dsi.target_update_mode == OMAP_DSS_UPDATE_AUTO)
++ dsi_push_autoupdate(dsi.vc[1].display);
++
++ atomic_set(&dsi.cmd_pending, 0);
++ dsi_process_cmd_fifo(NULL);
++}
++
++static void dsi_start_auto_update(struct omap_display *display)
++{
++ DSSDBG("starting auto update\n");
++
++ dsi.autoupdate_setup = 1;
++
++ dsi_push_autoupdate(display);
++}
++
++
++
++
++
++
++
++
++
++
++
+
-+ if (dsi.update_mode != OMAP_DSS_UPDATE_AUTO)
-+ dsi.update_ongoing = 0;
+
-+ while (dsi.update_syncers > 0) {
-+ complete(&dsi.update_completion);
-+ --dsi.update_syncers;
++/* FIFO functions */
++
++static void dsi_signal_fifo_waiters(void)
++{
++ if (atomic_read(&dsi.cmd_fifo_full) > 0) {
++ DSSDBG("SIGNALING: Fifo not full for waiter!\n");
++ complete(&dsi.cmd_done);
++ atomic_dec(&dsi.cmd_fifo_full);
+ }
++}
+
-+ if (dsi.update_mode == OMAP_DSS_UPDATE_AUTO) {
-+ spin_unlock_irqrestore(&dsi.update_lock, flags);
-+ dsi_update_screen_dispc(dsi.update_region.display);
++/* returns 1 for async op, and 0 for sync op */
++static int dsi_do_update(struct omap_display *display,
++ struct dsi_cmd_update *upd)
++{
++ int r;
++ u16 x = upd->x, y = upd->y, w = upd->w, h = upd->h;
++ u16 dw, dh;
++
++ if (dsi.update_mode == OMAP_DSS_UPDATE_DISABLED)
++ return 0;
++
++ if (display->state != OMAP_DSS_DISPLAY_ACTIVE)
++ return 0;
++
++ display->get_resolution(display, &dw, &dh);
++ if (x > dw || y > dh)
++ return 0;
++
++ if (x + w > dw)
++ w = dw - x;
++
++ if (y + h > dh)
++ h = dh - y;
++
++ DSSDBGF("%d,%d %dx%d", x, y, w, h);
++
++ perf_mark_setup();
++
++ if (display->manager->caps & OMAP_DSS_OVL_MGR_CAP_DISPC) {
++ dsi_setup_update_dispc(display, x, y, w, h);
++ dsi_update_screen_dispc(display, x, y, w, h);
++ return 1;
+ } else {
-+ spin_unlock_irqrestore(&dsi.update_lock, flags);
++ r = dsi_update_screen_l4(display, x, y, w, h);
++ if (r)
++ DSSERR("L4 update failed\n");
++ return 0;
+ }
+}
+
-+static void dsi_start_auto_update(struct omap_display *display)
++/* returns 1 for async op, and 0 for sync op */
++static int dsi_do_autoupdate(struct omap_display *display)
+{
-+ unsigned long flags;
-+ int bytespp = 3;
++ int r;
++ u16 w, h;
+
-+ DSSDBG("starting auto update\n");
++ if (dsi.update_mode == OMAP_DSS_UPDATE_DISABLED)
++ return 0;
+
-+ dsi.update_region.display = display;
-+ dsi.update_region.x = 0;
-+ dsi.update_region.y = 0;
-+ dsi.update_region.w = display->panel->timings.x_res;
-+ dsi.update_region.h = display->panel->timings.y_res;
-+ dsi.update_region.bytespp = bytespp;
++ if (display->state != OMAP_DSS_DISPLAY_ACTIVE)
++ return 0;
+
-+ enable_clocks(1);
-+ dsi_enable_pll_clock(1);
++ display->get_resolution(display, &w, &h);
+
-+ dispc_set_lcd_size(display->panel->timings.x_res,
-+ display->panel->timings.y_res);
++ perf_mark_setup();
+
-+ spin_lock_irqsave(&dsi.update_lock, flags);
-+ dsi.update_ongoing = 1;
-+ spin_unlock_irqrestore(&dsi.update_lock, flags);
-+ dsi_update_screen_dispc(display);
++ if (display->manager->caps & OMAP_DSS_OVL_MGR_CAP_DISPC) {
++ if (dsi.autoupdate_setup)
++ dsi_setup_autoupdate_dispc(display);
++ dsi_update_screen_dispc(display, 0, 0, w, h);
++ return 1;
++ } else {
++ r = dsi_update_screen_l4(display, 0, 0, w, h);
++ if (r)
++ DSSERR("L4 update failed\n");
++ return 0;
++ }
+}
+
-+static void dsi_stop_auto_update(void)
++static void dsi_do_cmd_mem_read(struct omap_display *display,
++ struct dsi_cmd_mem_read *mem_read)
+{
-+ DSSDBG("waiting for display to finish.\n");
-+ dsi_wait_for_framedone(1);
-+ DSSDBG("done waiting\n");
++ int r;
++ r = display->ctrl->memory_read(display,
++ mem_read->buf,
++ mem_read->size,
++ mem_read->x,
++ mem_read->y,
++ mem_read->w,
++ mem_read->h);
+
-+ enable_clocks(0);
-+ dsi_enable_pll_clock(0);
++ *mem_read->ret_size = (size_t)r;
++ complete(mem_read->completion);
+}
+
-+static int dsi_set_update_mode(struct omap_display *display,
-+ enum omap_dss_update_mode mode)
++static void dsi_do_cmd_test(struct omap_display *display,
++ struct dsi_cmd_test *test)
+{
-+ if (mode == dsi.update_mode)
-+ return 0;
++ int r = 0;
+
-+ if (dsi.update_mode == OMAP_DSS_UPDATE_AUTO)
-+ dsi_stop_auto_update();
-+ else if (dsi.update_mode == OMAP_DSS_UPDATE_MANUAL)
-+ dsi_wait_for_framedone(0);
++ DSSDBGF("");
+
++ if (display->state != OMAP_DSS_DISPLAY_ACTIVE)
++ return;
++
++ /* run test first in low speed mode */
++ dsi_vc_enable_hs(0, 0);
++
++ if (display->ctrl->run_test) {
++ r = display->ctrl->run_test(display, test->test_num);
++ if (r)
++ goto end;
++ }
++
++ if (display->panel->run_test) {
++ r = display->panel->run_test(display, test->test_num);
++ if (r)
++ goto end;
++ }
++
++ /* then in high speed */
++ dsi_vc_enable_hs(0, 1);
++
++ if (display->ctrl->run_test) {
++ r = display->ctrl->run_test(display, test->test_num);
++ if (r)
++ goto end;
++ }
++
++ if (display->panel->run_test)
++ r = display->panel->run_test(display, test->test_num);
++
++end:
++ dsi_vc_enable_hs(0, 1);
++
++ *test->result = r;
++ complete(test->completion);
++
++ DSSDBG("test end\n");
++}
++
++static void dsi_do_cmd_set_te(struct omap_display *display, bool enable)
++{
++ dsi.use_te = enable;
++
++ if (display->state != OMAP_DSS_DISPLAY_ACTIVE)
++ return;
++
++ display->ctrl->enable_te(display, enable);
++
++ if (enable) {
++ /* disable LP_RX_TO, so that we can receive TE.
++ * Time to wait for TE is longer than the timer allows */
++ REG_FLD_MOD(DSI_TIMING2, 0, 15, 15); /* LP_RX_TO */
++ } else {
++ REG_FLD_MOD(DSI_TIMING2, 1, 15, 15); /* LP_RX_TO */
++ }
++}
++
++static void dsi_do_cmd_set_update_mode(struct omap_display *display,
++ enum omap_dss_update_mode mode)
++{
+ dsi.update_mode = mode;
+
-+ if (dsi.update_mode == OMAP_DSS_UPDATE_AUTO)
++ if (display->state != OMAP_DSS_DISPLAY_ACTIVE)
++ return;
++
++ if (mode == OMAP_DSS_UPDATE_AUTO)
+ dsi_start_auto_update(display);
++}
+
-+ return 0;
++static void dsi_process_cmd_fifo(struct work_struct *work)
++{
++ int len;
++ struct dsi_cmd_item p;
++ unsigned long flags;
++ struct omap_display *display;
++ int exit = 0;
++
++ if (dsi.debug_process)
++ DSSDBGF("");
++
++ if (atomic_cmpxchg(&dsi.cmd_pending, 0, 1) == 1) {
++ if (dsi.debug_process)
++ DSSDBG("cmd pending, skip process\n");
++ return;
++ }
++
++ while (!exit) {
++ spin_lock_irqsave(dsi.cmd_fifo->lock, flags);
++
++ len = __kfifo_get(dsi.cmd_fifo, (unsigned char *)&p,
++ sizeof(p));
++ if (len == 0) {
++ if (dsi.debug_process)
++ DSSDBG("nothing more in fifo, atomic clear\n");
++ atomic_set(&dsi.cmd_pending, 0);
++ spin_unlock_irqrestore(dsi.cmd_fifo->lock, flags);
++ break;
++ }
++
++ spin_unlock_irqrestore(dsi.cmd_fifo->lock, flags);
++
++ BUG_ON(len != sizeof(p));
++
++ display = p.display;
++
++ if (dsi.debug_process)
++ DSSDBG("processing cmd %d\n", p.cmd);
++
++ switch (p.cmd) {
++ case DSI_CMD_UPDATE:
++ if (dsi_do_update(display, &p.u.r)) {
++ if (dsi.debug_process)
++ DSSDBG("async update\n");
++ exit = 1;
++ } else {
++ if (dsi.debug_process)
++ DSSDBG("sync update\n");
++ }
++ break;
++
++ case DSI_CMD_AUTOUPDATE:
++ if (dsi_do_autoupdate(display)) {
++ if (dsi.debug_process)
++ DSSDBG("async autoupdate\n");
++ exit = 1;
++ } else {
++ if (dsi.debug_process)
++ DSSDBG("sync autoupdate\n");
++ }
++ break;
++
++ case DSI_CMD_SYNC:
++ if (dsi.debug_process)
++ DSSDBG("Signaling SYNC done!\n");
++ complete(p.u.sync);
++ break;
++
++ case DSI_CMD_MEM_READ:
++ dsi_do_cmd_mem_read(display, &p.u.mem_read);
++ break;
++
++ case DSI_CMD_TEST:
++ dsi_do_cmd_test(display, &p.u.test);
++ break;
++
++ case DSI_CMD_SET_TE:
++ dsi_do_cmd_set_te(display, p.u.te);
++ break;
++
++ case DSI_CMD_SET_UPDATE_MODE:
++ dsi_do_cmd_set_update_mode(display, p.u.update_mode);
++ break;
++
++ case DSI_CMD_SET_ROTATE:
++ display->ctrl->set_rotate(display, p.u.rotate);
++ if (dsi.update_mode == OMAP_DSS_UPDATE_AUTO)
++ dsi.autoupdate_setup = 1;
++ break;
++
++ case DSI_CMD_SET_MIRROR:
++ display->ctrl->set_mirror(display, p.u.mirror);
++ break;
++
++ default:
++ BUG();
++ }
++ }
++
++ if (dsi.debug_process)
++ DSSDBG("exit dsi_process_cmd_fifo\n");
++
++ dsi_signal_fifo_waiters();
+}
+
-+/* Display funcs */
++static void dsi_push_cmd(struct dsi_cmd_item *p)
++{
++ int ret;
+
-+static int dsi_display_enable(struct omap_display *display)
++ if (dsi.debug_process)
++ DSSDBGF("");
++
++ while (1) {
++ unsigned long flags;
++ unsigned avail, used;
++
++ spin_lock_irqsave(dsi.cmd_fifo->lock, flags);
++ used = __kfifo_len(dsi.cmd_fifo) / sizeof(struct dsi_cmd_item);
++ avail = DSI_CMD_FIFO_LEN - used;
++
++ if (dsi.debug_process)
++ DSSDBG("%u/%u items left in fifo\n", avail, used);
++
++ if (avail == 0) {
++ if (dsi.debug_process)
++ DSSDBG("cmd fifo full, waiting...\n");
++ spin_unlock_irqrestore(dsi.cmd_fifo->lock, flags);
++ atomic_inc(&dsi.cmd_fifo_full);
++ wait_for_completion(&dsi.cmd_done);
++ if (dsi.debug_process)
++ DSSDBG("cmd fifo not full, woke up\n");
++ continue;
++ }
++
++ ret = __kfifo_put(dsi.cmd_fifo, (unsigned char *)p,
++ sizeof(*p));
++
++ spin_unlock_irqrestore(dsi.cmd_fifo->lock, flags);
++
++ BUG_ON(ret != sizeof(*p));
++
++ break;
++ }
++
++ queue_work(dsi.workqueue, &dsi.process_work);
++}
++
++static void dsi_push_update(struct omap_display *display,
++ int x, int y, int w, int h)
+{
-+ int r = 0;
-+ struct dsi_clock_info cinfo;
-+ u32 low, high;
++ struct dsi_cmd_item p;
+
-+ DSSDBG("dsi_display_enable\n");
++ p.display = display;
++ p.cmd = DSI_CMD_UPDATE;
+
-+ mutex_lock(&dsi.lock);
++ p.u.r.x = x;
++ p.u.r.y = y;
++ p.u.r.w = w;
++ p.u.r.h = h;
+
-+ if (display->state != OMAP_DSS_DISPLAY_DISABLED) {
-+ DSSERR("display already enabled\n");
-+ r = -EINVAL;
-+ goto err0;
++ DSSDBG("pushing UPDATE %d,%d %dx%d\n", x, y, w, h);
++
++ dsi_push_cmd(&p);
++}
++
++static void dsi_push_autoupdate(struct omap_display *display)
++{
++ struct dsi_cmd_item p;
++
++ p.display = display;
++ p.cmd = DSI_CMD_AUTOUPDATE;
++
++ dsi_push_cmd(&p);
++}
++
++static void dsi_push_sync(struct omap_display *display,
++ struct completion *sync_comp)
++{
++ struct dsi_cmd_item p;
++
++ p.display = display;
++ p.cmd = DSI_CMD_SYNC;
++ p.u.sync = sync_comp;
++
++ DSSDBG("pushing SYNC\n");
++
++ dsi_push_cmd(&p);
++}
++
++static void dsi_push_mem_read(struct omap_display *display,
++ struct dsi_cmd_mem_read *mem_read)
++{
++ struct dsi_cmd_item p;
++
++ p.display = display;
++ p.cmd = DSI_CMD_MEM_READ;
++ p.u.mem_read = *mem_read;
++
++ DSSDBG("pushing MEM_READ\n");
++
++ dsi_push_cmd(&p);
++}
++
++static void dsi_push_test(struct omap_display *display, int test_num,
++ int *result, struct completion *completion)
++{
++ struct dsi_cmd_item p;
++
++ p.display = display;
++ p.cmd = DSI_CMD_TEST;
++ p.u.test.test_num = test_num;
++ p.u.test.result = result;
++ p.u.test.completion = completion;
++
++ DSSDBG("pushing TEST\n");
++
++ dsi_push_cmd(&p);
++}
++
++static void dsi_push_set_te(struct omap_display *display, bool enable)
++{
++ struct dsi_cmd_item p;
++
++ p.display = display;
++ p.cmd = DSI_CMD_SET_TE;
++ p.u.te = enable;
++
++ DSSDBG("pushing SET_TE\n");
++
++ dsi_push_cmd(&p);
++}
++
++static void dsi_push_set_update_mode(struct omap_display *display,
++ enum omap_dss_update_mode mode)
++{
++ struct dsi_cmd_item p;
++
++ p.display = display;
++ p.cmd = DSI_CMD_SET_UPDATE_MODE;
++ p.u.update_mode = mode;
++
++ DSSDBG("pushing SET_UPDATE_MODE\n");
++
++ dsi_push_cmd(&p);
++}
++
++static void dsi_push_set_rotate(struct omap_display *display, int rotate)
++{
++ struct dsi_cmd_item p;
++
++ p.display = display;
++ p.cmd = DSI_CMD_SET_ROTATE;
++ p.u.rotate = rotate;
++
++ DSSDBG("pushing SET_ROTATE\n");
++
++ dsi_push_cmd(&p);
++}
++
++static void dsi_push_set_mirror(struct omap_display *display, int mirror)
++{
++ struct dsi_cmd_item p;
++
++ p.display = display;
++ p.cmd = DSI_CMD_SET_MIRROR;
++ p.u.mirror = mirror;
++
++ DSSDBG("pushing SET_MIRROR\n");
++
++ dsi_push_cmd(&p);
++}
++
++static int dsi_wait_sync(struct omap_display *display)
++{
++ long wait = msecs_to_jiffies(60000);
++ struct completion compl;
++
++ DSSDBGF("");
++
++ init_completion(&compl);
++ dsi_push_sync(display, &compl);
++
++ DSSDBG("Waiting for SYNC to happen...\n");
++ wait = wait_for_completion_timeout(&compl, wait);
++ DSSDBG("Released from SYNC\n");
++
++ if (wait == 0) {
++ DSSERR("timeout waiting sync\n");
++ return -ETIME;
+ }
+
-+ enable_clocks(1);
-+ dsi_enable_pll_clock(1);
++ return 0;
++}
++
++
++
++
++
++
++
++
++
++
++
++
++/* Display funcs */
++
++static int dsi_display_init_dispc(struct omap_display *display)
++{
++ int r;
+
+ r = omap_dispc_register_isr(framedone_callback, NULL,
+ DISPC_IRQ_FRAMEDONE);
+ if (r) {
+ DSSERR("can't get FRAMEDONE irq\n");
-+ goto err1;
++ return r;
+ }
+
+ dispc_set_lcd_display_type(OMAP_DSS_LCD_DISPLAY_TFT);
@@ -6419,22 +9910,6 @@ index 0000000..e279571
+ dispc_set_parallel_interface_mode(OMAP_DSS_PARALLELMODE_DSI);
+ dispc_enable_fifohandcheck(1);
+
-+ dispc_set_burst_size(OMAP_DSS_GFX, OMAP_DSS_BURST_16x32);
-+ dispc_set_burst_size(OMAP_DSS_VIDEO1, OMAP_DSS_BURST_16x32);
-+ dispc_set_burst_size(OMAP_DSS_VIDEO2, OMAP_DSS_BURST_16x32);
-+
-+ high = dispc_get_plane_fifo_size(OMAP_DSS_GFX) - (16*32/8);
-+ low = 0;
-+ dispc_setup_plane_fifo(OMAP_DSS_GFX, low, high);
-+
-+ high = dispc_get_plane_fifo_size(OMAP_DSS_VIDEO1) - (16*32/8);
-+ low = 0;
-+ dispc_setup_plane_fifo(OMAP_DSS_VIDEO1, low, high);
-+
-+ high = dispc_get_plane_fifo_size(OMAP_DSS_VIDEO2) - (16*32/8);
-+ low = 0;
-+ dispc_setup_plane_fifo(OMAP_DSS_VIDEO2, low, high);
-+
+ dispc_set_tft_data_lines(display->ctrl->pixel_size);
+
+ {
@@ -6450,25 +9925,39 @@ index 0000000..e279571
+ dispc_set_lcd_timings(&timings);
+ }
+
++ return 0;
++}
++
++static void dsi_display_uninit_dispc(struct omap_display *display)
++{
++ omap_dispc_unregister_isr(framedone_callback, NULL,
++ DISPC_IRQ_FRAMEDONE);
++}
++
++static int dsi_display_init_dsi(struct omap_display *display)
++{
++ struct dsi_clock_info cinfo;
++ int r;
++
+ _dsi_print_reset_status();
+
+ r = dsi_pll_init(1, 0);
+ if (r)
-+ goto err2;
++ goto err0;
+
+ r = dsi_pll_calc_ddrfreq(display->hw_config.u.dsi.ddr_clk_hz, &cinfo);
+ if (r)
-+ goto err3;
++ goto err1;
+
+ r = dsi_pll_program(&cinfo);
+ if (r)
-+ goto err3;
++ goto err1;
+
+ DSSDBG("PLL OK\n");
+
+ r = dsi_complexio_init(display);
+ if (r)
-+ goto err3;
++ goto err1;
+
+ _dsi_print_reset_status();
+
@@ -6480,7 +9969,7 @@ index 0000000..e279571
+
+ r = dsi_proto_config(display);
+ if (r)
-+ goto err4;
++ goto err2;
+
+ /* enable interface */
+ dsi_vc_enable(0, 1);
@@ -6488,51 +9977,107 @@ index 0000000..e279571
+ dsi_if_enable(1);
+ dsi_force_tx_stop_mode_io();
+
-+
+ if (display->ctrl && display->ctrl->enable) {
+ r = display->ctrl->enable(display);
+ if (r)
-+ goto err5;
++ goto err3;
+ }
+
+ if (display->panel && display->panel->enable) {
+ r = display->panel->enable(display);
+ if (r)
-+ goto err6;
-+ }
-+
-+ if (dsi.use_te) {
-+ r = display->ctrl->enable_te(display, 1);
-+ if (r)
-+ goto err7;
++ goto err4;
+ }
+
+ /* enable high-speed after initial config */
+ dsi_vc_enable_hs(0, 1);
+
-+ display->state = OMAP_DSS_DISPLAY_ACTIVE;
-+
-+ dsi_set_update_mode(display, dsi.user_update_mode);
-+
-+ enable_clocks(0);
-+ dsi_enable_pll_clock(0);
-+ mutex_unlock(&dsi.lock);
-+
+ return 0;
-+err7:
++err4:
++ if (display->ctrl && display->ctrl->disable)
++ display->ctrl->disable(display);
++err3:
++ dsi_if_enable(0);
++err2:
++ dsi_complexio_uninit();
++err1:
++ dsi_pll_uninit();
++err0:
++ return r;
++}
++
++static void dsi_display_uninit_dsi(struct omap_display *display)
++{
+ if (display->panel && display->panel->disable)
+ display->panel->disable(display);
-+err6:
+ if (display->ctrl && display->ctrl->disable)
+ display->ctrl->disable(display);
-+err5:
-+ dsi_if_enable(0);
-+err4:
++
+ dsi_complexio_uninit();
-+err3:
+ dsi_pll_uninit();
++}
++
++static int dsi_core_init(void)
++{
++ /* Autoidle */
++ REG_FLD_MOD(DSI_SYSCONFIG, 1, 0, 0);
++
++ /* ENWAKEUP */
++ REG_FLD_MOD(DSI_SYSCONFIG, 1, 2, 2);
++
++ /* SIDLEMODE smart-idle */
++ REG_FLD_MOD(DSI_SYSCONFIG, 2, 4, 3);
++
++ _dsi_initialize_irq();
++
++ return 0;
++}
++
++static int dsi_display_enable(struct omap_display *display)
++{
++ int r = 0;
++
++ DSSDBG("dsi_display_enable\n");
++
++ mutex_lock(&dsi.lock);
++
++ if (display->state != OMAP_DSS_DISPLAY_DISABLED) {
++ DSSERR("display already enabled\n");
++ r = -EINVAL;
++ goto err0;
++ }
++
++ enable_clocks(1);
++ dsi_enable_pll_clock(1);
++
++ r = _dsi_reset();
++ if (r)
++ return r;
++
++ dsi_core_init();
++
++ r = dsi_display_init_dispc(display);
++ if (r)
++ goto err1;
++
++ r = dsi_display_init_dsi(display);
++ if (r)
++ goto err2;
++
++ display->state = OMAP_DSS_DISPLAY_ACTIVE;
++
++ if (dsi.use_te)
++ dsi_push_set_te(display, 1);
++
++ dsi_push_set_update_mode(display, dsi.user_update_mode);
++ dsi.target_update_mode = dsi.user_update_mode;
++
++ mutex_unlock(&dsi.lock);
++
++ return dsi_wait_sync(display);
++
+err2:
-+ omap_dispc_unregister_isr(framedone_callback);
++ dsi_display_uninit_dispc(display);
+err1:
+ enable_clocks(0);
+ dsi_enable_pll_clock(0);
@@ -6548,25 +10093,22 @@ index 0000000..e279571
+
+ mutex_lock(&dsi.lock);
+
-+ if (display->state == OMAP_DSS_DISPLAY_DISABLED)
++ if (display->state == OMAP_DSS_DISPLAY_DISABLED ||
++ display->state == OMAP_DSS_DISPLAY_SUSPENDED)
+ goto end;
+
-+ enable_clocks(1);
-+ dsi_enable_pll_clock(1);
++ if (dsi.target_update_mode != OMAP_DSS_UPDATE_DISABLED) {
++ dsi_push_set_update_mode(display, OMAP_DSS_UPDATE_DISABLED);
++ dsi.target_update_mode = OMAP_DSS_UPDATE_DISABLED;
++ }
+
-+ dsi_set_update_mode(display, OMAP_DSS_UPDATE_DISABLED);
++ dsi_wait_sync(display);
+
+ display->state = OMAP_DSS_DISPLAY_DISABLED;
+
-+ omap_dispc_unregister_isr(framedone_callback);
-+
-+ if (display->panel && display->panel->disable)
-+ display->panel->disable(display);
-+ if (display->ctrl && display->ctrl->disable)
-+ display->ctrl->disable(display);
++ dsi_display_uninit_dispc(display);
+
-+ dsi_complexio_uninit();
-+ dsi_pll_uninit();
++ dsi_display_uninit_dsi(display);
+
+ enable_clocks(0);
+ dsi_enable_pll_clock(0);
@@ -6576,14 +10118,9 @@ index 0000000..e279571
+
+static int dsi_display_suspend(struct omap_display *display)
+{
-+ if (display->state != OMAP_DSS_DISPLAY_ACTIVE)
-+ return -EINVAL;
-+
-+ if (display->panel->suspend)
-+ display->panel->suspend(display);
++ DSSDBG("dsi_display_suspend\n");
+
-+ if (display->ctrl->suspend)
-+ display->ctrl->suspend(display);
++ dsi_display_disable(display);
+
+ display->state = OMAP_DSS_DISPLAY_SUSPENDED;
+
@@ -6592,26 +10129,15 @@ index 0000000..e279571
+
+static int dsi_display_resume(struct omap_display *display)
+{
-+ if (display->state != OMAP_DSS_DISPLAY_SUSPENDED)
-+ return -EINVAL;
++ DSSDBG("dsi_display_resume\n");
+
-+ if (display->panel->resume)
-+ display->panel->resume(display);
-+
-+ if (display->ctrl->resume)
-+ display->ctrl->resume(display);
-+
-+ display->state = OMAP_DSS_DISPLAY_ACTIVE;
-+
-+ return 0;
++ display->state = OMAP_DSS_DISPLAY_DISABLED;
++ return dsi_display_enable(display);
+}
+
+static int dsi_display_update(struct omap_display *display,
-+ int x, int y, int w, int h)
++ u16 x, u16 y, u16 w, u16 h)
+{
-+ unsigned long flags;
-+ int r = 0;
-+
+ DSSDBG("dsi_display_update(%d,%d %dx%d)\n", x, y, w, h);
+
+ if (w == 0 || h == 0)
@@ -6619,179 +10145,188 @@ index 0000000..e279571
+
+ mutex_lock(&dsi.lock);
+
-+ if (dsi.update_mode != OMAP_DSS_UPDATE_MANUAL)
-+ goto end; /* XXX return error? */
++ if (dsi.target_update_mode == OMAP_DSS_UPDATE_MANUAL)
++ dsi_push_update(display, x, y, w, h);
++ /* XXX else return error? */
+
-+ spin_lock_irqsave(&dsi.update_lock, flags);
-+
-+ if (dsi.update_ongoing) {
-+ spin_unlock_irqrestore(&dsi.update_lock, flags);
-+ DSSERR("DSI is busy\n");
-+ r = -EBUSY;
-+ goto end;
-+ }
++ mutex_unlock(&dsi.lock);
+
-+ perf_mark_setup();
++ return 0;
++}
+
-+ dsi.update_ongoing = 1;
++static int dsi_display_sync(struct omap_display *display)
++{
++ DSSDBGF("");
++ return dsi_wait_sync(display);
++}
+
-+ if (dsi.update_syncers > 0)
-+ DSSERR("someone waiting for sync, and no update ongoing\n");
++static int dsi_display_set_update_mode(struct omap_display *display,
++ enum omap_dss_update_mode mode)
++{
++ DSSDBGF("%d", mode);
+
-+ spin_unlock_irqrestore(&dsi.update_lock, flags);
++ mutex_lock(&dsi.lock);
+
-+ if (display->manager->caps & OMAP_DSS_OVL_MGR_CAP_DISPC) {
-+ dsi_setup_update_dispc(display, x, y, w, h);
-+ dsi_update_screen_dispc(display);
-+ } else {
-+ r = dsi_update_screen_l4(display, x, y, w, h);
-+ if (r)
-+ goto end;
++ if (dsi.target_update_mode != mode) {
++ dsi_push_set_update_mode(display, mode);
+
-+ spin_lock_irqsave(&dsi.update_lock, flags);
-+ dsi.update_ongoing = 0;
-+ while (dsi.update_syncers > 0) {
-+ complete(&dsi.update_completion);
-+ --dsi.update_syncers;
-+ }
-+ spin_unlock_irqrestore(&dsi.update_lock, flags);
++ dsi.target_update_mode = mode;
++ dsi.user_update_mode = mode;
+ }
+
-+end:
+ mutex_unlock(&dsi.lock);
-+ return r;
++
++ return dsi_wait_sync(display);
+}
+
-+static int dsi_display_sync(struct omap_display *display)
++static enum omap_dss_update_mode dsi_display_get_update_mode(
++ struct omap_display *display)
+{
-+ int r = 0;
++ return dsi.update_mode;
++}
+
-+ DSSDBG("dsi_display_sync\n");
++static int dsi_display_enable_te(struct omap_display *display, bool enable)
++{
++ DSSDBGF("%d", enable);
+
-+ mutex_lock(&dsi.lock);
++ if (!display->ctrl->enable_te)
++ return -ENOENT;
+
-+ if (dsi.update_mode != OMAP_DSS_UPDATE_MANUAL)
-+ goto end;
++ dsi_push_set_te(display, enable);
+
-+ r = dsi_wait_for_framedone(0);
++ return dsi_wait_sync(display);
++}
+
-+end:
-+ mutex_unlock(&dsi.lock);
-+ return r;
++static int dsi_display_get_te(struct omap_display *display)
++{
++ return dsi.use_te;
+}
+
-+static int dsi_display_set_update_mode(struct omap_display *display,
-+ enum omap_dss_update_mode mode)
++
++
++static int dsi_display_set_rotate(struct omap_display *display, u8 rotate)
+{
-+ int r;
++ DSSDBGF("%d", rotate);
+
-+ DSSDBG("dsi_display_set_update_mode\n");
++ if (!display->ctrl->set_rotate || !display->ctrl->get_rotate)
++ return -EINVAL;
+
-+ mutex_lock(&dsi.lock);
++ dsi_push_set_rotate(display, rotate);
+
-+ r = dsi_set_update_mode(display, mode);
-+ dsi.user_update_mode = mode;
++ return dsi_wait_sync(display);
++}
+
-+ mutex_unlock(&dsi.lock);
++static u8 dsi_display_get_rotate(struct omap_display *display)
++{
++ if (!display->ctrl->set_rotate || !display->ctrl->get_rotate)
++ return 0;
+
-+ return r;
++ return display->ctrl->get_rotate(display);
+}
+
-+static enum omap_dss_update_mode dsi_display_get_update_mode(
-+ struct omap_display *display)
++static int dsi_display_set_mirror(struct omap_display *display, bool mirror)
+{
-+ return dsi.user_update_mode;
++ DSSDBGF("%d", mirror);
++
++ if (!display->ctrl->set_mirror || !display->ctrl->get_mirror)
++ return -EINVAL;
++
++ dsi_push_set_mirror(display, mirror);
++
++ return dsi_wait_sync(display);
+}
+
-+static int dsi_display_enable_te(struct omap_display *display, int enable)
++static bool dsi_display_get_mirror(struct omap_display *display)
+{
-+ DSSDBG("dsi_display_enable_te\n");
++ if (!display->ctrl->set_mirror || !display->ctrl->get_mirror)
++ return 0;
+
-+ mutex_lock(&dsi.lock);
++ return display->ctrl->get_mirror(display);
++}
+
-+ enable_clocks(1);
-+ dsi_enable_pll_clock(1);
++static int dsi_display_run_test(struct omap_display *display, int test_num)
++{
++ long wait = msecs_to_jiffies(60000);
++ struct completion compl;
++ int result;
+
-+ dsi_set_update_mode(display, OMAP_DSS_UPDATE_DISABLED);
++ if (display->state != OMAP_DSS_DISPLAY_ACTIVE)
++ return -EIO;
+
-+ dsi.use_te = enable;
-+ display->ctrl->enable_te(display, enable);
-+ if (enable) {
-+ /* disable LP_RX_TO, so that we can receive TE.
-+ * Time to wait for TE is longer than the timer allows */
-+ REG_FLD_MOD(DSI_TIMING2, 0, 15, 15); /* LP_RX_TO */
-+ } else {
-+ REG_FLD_MOD(DSI_TIMING2, 1, 15, 15); /* LP_RX_TO */
-+ }
++ DSSDBGF("%d", test_num);
+
-+ /* restore the old update mode */
-+ dsi_set_update_mode(display, dsi.user_update_mode);
++ init_completion(&compl);
+
-+ enable_clocks(0);
-+ dsi_enable_pll_clock(0);
++ dsi_push_test(display, test_num, &result, &compl);
+
-+ mutex_unlock(&dsi.lock);
++ DSSDBG("Waiting for SYNC to happen...\n");
++ wait = wait_for_completion_timeout(&compl, wait);
++ DSSDBG("Released from SYNC\n");
+
-+ return 0;
-+}
++ if (wait == 0) {
++ DSSERR("timeout waiting test sync\n");
++ return -ETIME;
++ }
+
-+static int dsi_display_get_te(struct omap_display *display)
-+{
-+ return dsi.use_te;
++ return result;
+}
+
-+static int dsi_display_run_test(struct omap_display *display, int test_num)
++static int dsi_display_memory_read(struct omap_display *display,
++ void *buf, size_t size,
++ u16 x, u16 y, u16 w, u16 h)
+{
-+ int r = 0;
++ long wait = msecs_to_jiffies(60000);
++ struct completion compl;
++ struct dsi_cmd_mem_read mem_read;
++ size_t ret_size;
+
-+ DSSDBG("dsi_display_run_test %d\n", test_num);
++ DSSDBGF("");
+
-+ mutex_lock(&dsi.lock);
++ if (!display->ctrl->memory_read)
++ return -EINVAL;
+
-+ enable_clocks(1);
-+ dsi_enable_pll_clock(1);
++ if (display->state != OMAP_DSS_DISPLAY_ACTIVE)
++ return -EIO;
+
-+ dsi_set_update_mode(display, OMAP_DSS_UPDATE_DISABLED);
++ init_completion(&compl);
+
-+ /* run test first in low speed mode */
-+ dsi_vc_enable_hs(0, 0);
++ mem_read.x = x;
++ mem_read.y = y;
++ mem_read.w = w;
++ mem_read.h = h;
++ mem_read.buf = buf;
++ mem_read.size = size;
++ mem_read.ret_size = &ret_size;
++ mem_read.completion = &compl;
+
-+ if (display->ctrl->run_test) {
-+ r = display->ctrl->run_test(display, test_num);
-+ if (r)
-+ goto fail;
-+ }
++ dsi_push_mem_read(display, &mem_read);
+
-+ if (display->panel->run_test) {
-+ r = display->panel->run_test(display, test_num);
-+ if (r)
-+ goto fail;
-+ }
-+
-+ /* then in high speed */
-+ dsi_vc_enable_hs(0, 1);
++ DSSDBG("Waiting for SYNC to happen...\n");
++ wait = wait_for_completion_timeout(&compl, wait);
++ DSSDBG("Released from SYNC\n");
+
-+ if (display->ctrl->run_test) {
-+ r = display->ctrl->run_test(display, test_num);
-+ if (r)
-+ goto fail;
++ if (wait == 0) {
++ DSSERR("timeout waiting mem read sync\n");
++ return -ETIME;
+ }
+
-+ if (display->panel->run_test)
-+ r = display->panel->run_test(display, test_num);
-+
-+fail:
-+ dsi_vc_enable_hs(0, 1);
++ return ret_size;
++}
+
-+ /* restore the old update mode */
-+ dsi_set_update_mode(display, dsi.user_update_mode);
++static void dsi_configure_overlay(struct omap_overlay *ovl)
++{
++ unsigned low, high, size;
++ enum omap_burst_size burst;
++ enum omap_plane plane = ovl->id;
+
-+ enable_clocks(0);
-+ dsi_enable_pll_clock(0);
++ burst = OMAP_DSS_BURST_16x32;
++ size = 16 * 32 / 8;
+
-+ mutex_unlock(&dsi.lock);
++ dispc_set_burst_size(plane, burst);
+
-+ return r;
++ high = dispc_get_plane_fifo_size(plane) - size;
++ low = 0;
++ dispc_setup_plane_fifo(plane, low, high);
+}
+
+void dsi_init_display(struct omap_display *display)
@@ -6808,25 +10343,49 @@ index 0000000..e279571
+ display->get_update_mode = dsi_display_get_update_mode;
+ display->enable_te = dsi_display_enable_te;
+ display->get_te = dsi_display_get_te;
++
++ display->get_rotate = dsi_display_get_rotate;
++ display->set_rotate = dsi_display_set_rotate;
++
++ display->get_mirror = dsi_display_get_mirror;
++ display->set_mirror = dsi_display_set_mirror;
++
+ display->run_test = dsi_display_run_test;
++ display->memory_read = dsi_display_memory_read;
++
++ display->configure_overlay = dsi_configure_overlay;
+
+ display->caps = OMAP_DSS_DISPLAY_CAP_MANUAL_UPDATE;
++
++ dsi.vc[0].display = display;
++ dsi.vc[1].display = display;
+}
+
+int dsi_init(void)
+{
+ u32 rev;
+
++ spin_lock_init(&dsi.cmd_lock);
++ dsi.cmd_fifo = kfifo_alloc(
++ DSI_CMD_FIFO_LEN * sizeof(struct dsi_cmd_item),
++ GFP_KERNEL,
++ &dsi.cmd_lock);
++
++ init_completion(&dsi.cmd_done);
++ atomic_set(&dsi.cmd_fifo_full, 0);
++ atomic_set(&dsi.cmd_pending, 0);
++
+ init_completion(&dsi.bta_completion);
-+ INIT_DELAYED_WORK(&dsi.framedone_work, framedone_worker);
+
-+ init_completion(&dsi.update_completion);
-+ spin_lock_init(&dsi.update_lock);
-+ dsi.update_ongoing = 0;
-+ dsi.update_syncers = 0;
++ dsi.workqueue = create_singlethread_workqueue("dsi");
++ INIT_WORK(&dsi.framedone_work, framedone_worker);
++ INIT_WORK(&dsi.process_work, dsi_process_cmd_fifo);
+
+ mutex_init(&dsi.lock);
+
++ dsi.target_update_mode = OMAP_DSS_UPDATE_DISABLED;
++ dsi.user_update_mode = OMAP_DSS_UPDATE_DISABLED;
++
+ dsi.base = ioremap(DSI_BASE, DSI_SZ_REGS);
+ if (!dsi.base) {
+ DSSERR("can't ioremap DSI\n");
@@ -6835,17 +10394,6 @@ index 0000000..e279571
+
+ enable_clocks(1);
+
-+ /* Autoidle */
-+ REG_FLD_MOD(DSI_SYSCONFIG, 1, 0, 0);
-+
-+ /* ENWAKEUP */
-+ REG_FLD_MOD(DSI_SYSCONFIG, 1, 2, 2);
-+
-+ /* SIDLEMODE smart-idle */
-+ REG_FLD_MOD(DSI_SYSCONFIG, 2, 4, 3);
-+
-+ _dsi_initialize_irq();
-+
+ rev = dsi_read_reg(DSI_REVISION);
+ printk(KERN_INFO "OMAP DSI rev %d.%d\n",
+ FLD_GET(rev, 7, 4), FLD_GET(rev, 3, 0));
@@ -6857,21 +10405,26 @@ index 0000000..e279571
+
+void dsi_exit(void)
+{
++ flush_workqueue(dsi.workqueue);
++ destroy_workqueue(dsi.workqueue);
++
+ iounmap(dsi.base);
+
++ kfifo_free(dsi.cmd_fifo);
++
+ DSSDBG("omap_dsi_exit\n");
+}
+
-diff --git a/arch/arm/plat-omap/dss/dss.c b/arch/arm/plat-omap/dss/dss.c
+diff --git a/drivers/video/omap2/dss/dss.c b/drivers/video/omap2/dss/dss.c
new file mode 100644
-index 0000000..4a403c1
+index 0000000..adc1f34
--- /dev/null
-+++ b/arch/arm/plat-omap/dss/dss.c
-@@ -0,0 +1,774 @@
++++ b/drivers/video/omap2/dss/dss.c
+@@ -0,0 +1,345 @@
+/*
-+ * linux/arch/arm/plat-omap/dss/dss.c
++ * linux/drivers/video/omap2/dss/dss.c
+ *
-+ * Copyright (C) 2008 Nokia Corporation
++ * Copyright (C) 2009 Nokia Corporation
+ * Author: Tomi Valkeinen <tomi.valkeinen@nokia.com>
+ *
+ * Some code and ideas taken from drivers/video/omap/ driver
@@ -6893,16 +10446,13 @@ index 0000000..4a403c1
+#define DSS_SUBSYS_NAME "DSS"
+
+#include <linux/kernel.h>
-+#include <linux/module.h>
+#include <linux/io.h>
-+#include <linux/clk.h>
+#include <linux/err.h>
+#include <linux/delay.h>
+#include <linux/interrupt.h>
-+#include <linux/platform_device.h>
++#include <linux/seq_file.h>
+
+#include <mach/display.h>
-+#include <mach/clock.h>
+#include "dss.h"
+
+#define DSS_BASE 0x48050000
@@ -6933,33 +10483,11 @@ index 0000000..4a403c1
+static struct {
+ void __iomem *base;
+
-+ struct clk *dss_ick;
-+ struct clk *dss1_fck;
-+ struct clk *dss2_fck;
-+ struct clk *dss_54m_fck;
-+ struct clk *dss_96m_fck;
-+
-+ unsigned num_clks_enabled;
-+ struct platform_device *pdev;
-+ unsigned ctx_id;
+ u32 ctx[DSS_SZ_REGS / sizeof(u32)];
+} dss;
+
-+static void dss_clk_enable_all_no_ctx(void);
-+static void dss_clk_disable_all_no_ctx(void);
-+static void dss_clk_enable_no_ctx(enum dss_clock clks);
-+static void dss_clk_disable_no_ctx(enum dss_clock clks);
+static int _omap_dss_wait_reset(void);
+
-+static char *def_disp_name;
-+module_param_named(def_disp, def_disp_name, charp, 0);
-+MODULE_PARM_DESC(def_disp_name, "default display name");
-+
-+#ifdef DEBUG
-+unsigned int dss_debug;
-+module_param_named(debug, dss_debug, bool, 0644);
-+#endif
-+
+static inline void dss_write_reg(const struct dss_reg idx, u32 val)
+{
+ __raw_writel(val, dss.base + idx.idx);
@@ -6975,72 +10503,38 @@ index 0000000..4a403c1
+#define RR(reg) \
+ dss_write_reg(DSS_##reg, dss.ctx[(DSS_##reg).idx / sizeof(u32)])
+
-+static void dss_save_context(void)
++void dss_save_context(void)
+{
+ if (cpu_is_omap24xx())
+ return;
+
+ SR(SYSCONFIG);
+ SR(CONTROL);
++
++#ifdef CONFIG_OMAP2_DSS_SDI
+ SR(SDI_CONTROL);
+ SR(PLL_CONTROL);
++#endif
+}
+
-+static void dss_restore_context(void)
++void dss_restore_context(void)
+{
++ if (_omap_dss_wait_reset())
++ DSSERR("DSS not coming out of reset after sleep\n");
++
+ RR(SYSCONFIG);
+ RR(CONTROL);
++
++#ifdef CONFIG_OMAP2_DSS_SDI
+ RR(SDI_CONTROL);
+ RR(PLL_CONTROL);
++#endif
+}
+
+#undef SR
+#undef RR
+
-+static unsigned dss_get_ctx_id(void)
-+{
-+ struct omap_dss_platform_data *pdata = dss.pdev->dev.platform_data;
-+
-+ if (!pdata->get_last_off_on_transaction_id)
-+ return 0;
-+
-+ return pdata->get_last_off_on_transaction_id(&dss.pdev->dev);
-+}
-+
-+static void save_all_ctx(void)
-+{
-+ DSSDBG("save context\n");
-+
-+ dss_clk_enable_no_ctx(DSS_CLK_ICK | DSS_CLK_FCK1);
-+
-+ dss_save_context();
-+ dispc_save_context();
-+#ifdef CONFIG_OMAP2_DSS_DSI
-+ dsi_save_context();
-+#endif
-+
-+ dss_clk_disable_no_ctx(DSS_CLK_ICK | DSS_CLK_FCK1);
-+}
-+
-+static void restore_all_ctx(void)
-+{
-+ DSSDBG("restore context\n");
-+
-+ dss_clk_enable_all_no_ctx();
-+
-+ if (_omap_dss_wait_reset())
-+ DSSERR("DSS not coming out of reset after sleep\n");
-+
-+ dss_restore_context();
-+ dispc_restore_context();
-+#ifdef CONFIG_OMAP2_DSS_DSI
-+ dsi_restore_context();
-+#endif
-+
-+ dss_clk_disable_all_no_ctx();
-+}
-+
-+void dss_sdi_init(int datapairs)
++void dss_sdi_init(u8 datapairs)
+{
+ u32 l;
+
@@ -7057,6 +10551,11 @@ index 0000000..4a403c1
+ l = FLD_MOD(l, 0xb, 16, 11); /* SDI_PLL_REGN */
+ l = FLD_MOD(l, 0xb4, 10, 1); /* SDI_PLL_REGM */
+ dss_write_reg(DSS_PLL_CONTROL, l);
++}
++
++void dss_sdi_enable(void)
++{
++ dispc_pck_free_enable(1);
+
+ /* Reset SDI PLL */
+ REG_FLD_MOD(DSS_PLL_CONTROL, 1, 18, 18); /* SDI_PLL_SYSRESET */
@@ -7079,239 +10578,40 @@ index 0000000..4a403c1
+ dispc_lcd_enable_signal(1);
+
+ /* Waiting for SDI reset to complete */
-+ while (!(dss_read_reg(DSS_SDI_STATUS) & (1 << 5)))
++ while (!(dss_read_reg(DSS_SDI_STATUS) & (1 << 2)))
+ ;
+}
+
-+ssize_t dss_print_clocks(char *buf, ssize_t size)
++void dss_sdi_disable(void)
+{
-+ ssize_t l = 0;
-+ int i;
-+ struct clk *clocks[5] = {
-+ dss.dss_ick,
-+ dss.dss1_fck,
-+ dss.dss2_fck,
-+ dss.dss_54m_fck,
-+ dss.dss_96m_fck
-+ };
-+
-+ l += snprintf(buf + l, size - l, "- dss -\n");
-+
-+ l += snprintf(buf + l, size - l, "internal clk count\t%u\n",
-+ dss.num_clks_enabled);
-+
-+ for (i = 0; i < 5; i++) {
-+ if (!clocks[i])
-+ continue;
-+ l += snprintf(buf + l, size - l, "%-15s\t%lu\t%d\n",
-+ clocks[i]->name,
-+ clk_get_rate(clocks[i]),
-+ clk_get_usecount(clocks[i]));
-+ }
-+
-+ return l;
-+}
-+
-+static int get_dss_clocks(void)
-+{
-+ const struct {
-+ struct clk **clock;
-+ char *omap2_name;
-+ char *omap3_name;
-+ } clocks[5] = {
-+ { &dss.dss_ick, "dss_ick", "dss_ick" }, /* L3 & L4 ick */
-+ { &dss.dss1_fck, "dss1_fck", "dss1_alwon_fck" },
-+ { &dss.dss2_fck, "dss2_fck", "dss2_alwon_fck" },
-+ { &dss.dss_54m_fck, "dss_54m_fck", "dss_tv_fck" },
-+ { &dss.dss_96m_fck, NULL, "dss_96m_fck" },
-+ };
-+
-+ int r = 0;
-+ int i;
-+ const int num_clocks = 5;
-+
-+ for (i = 0; i < num_clocks; i++)
-+ *clocks[i].clock = NULL;
-+
-+ for (i = 0; i < num_clocks; i++) {
-+ struct clk *clk;
-+ const char *clk_name;
-+
-+ clk_name = cpu_is_omap34xx() ? clocks[i].omap3_name
-+ : clocks[i].omap2_name;
-+
-+ if (!clk_name)
-+ continue;
++ dispc_lcd_enable_signal(0);
+
-+ clk = clk_get(NULL, clk_name);
-+
-+ if (IS_ERR(clk)) {
-+ DSSERR("can't get clock %s", clk_name);
-+ r = PTR_ERR(clk);
-+ goto err;
-+ }
-+
-+ DSSDBG("clk %s, rate %ld\n",
-+ clk_name, clk_get_rate(clk));
-+
-+ *clocks[i].clock = clk;
-+ }
-+
-+ return 0;
-+
-+err:
-+ for (i = 0; i < num_clocks; i++) {
-+ if (!IS_ERR(*clocks[i].clock))
-+ clk_put(*clocks[i].clock);
-+ }
-+
-+ return r;
-+}
-+
-+static void put_dss_clocks(void)
-+{
-+ if (dss.dss_96m_fck)
-+ clk_put(dss.dss_96m_fck);
-+ clk_put(dss.dss_54m_fck);
-+ clk_put(dss.dss1_fck);
-+ clk_put(dss.dss2_fck);
-+ clk_put(dss.dss_ick);
-+}
-+
-+unsigned long dss_clk_get_rate(enum dss_clock clk)
-+{
-+ switch (clk) {
-+ case DSS_CLK_ICK:
-+ return clk_get_rate(dss.dss_ick);
-+ case DSS_CLK_FCK1:
-+ return clk_get_rate(dss.dss1_fck);
-+ case DSS_CLK_FCK2:
-+ return clk_get_rate(dss.dss2_fck);
-+ case DSS_CLK_54M:
-+ return clk_get_rate(dss.dss_54m_fck);
-+ case DSS_CLK_96M:
-+ return clk_get_rate(dss.dss_96m_fck);
-+ }
-+
-+ BUG();
-+ return 0;
-+}
-+
-+static unsigned count_clk_bits(enum dss_clock clks)
-+{
-+ unsigned num_clks = 0;
-+
-+ if (clks & DSS_CLK_ICK)
-+ ++num_clks;
-+ if (clks & DSS_CLK_FCK1)
-+ ++num_clks;
-+ if (clks & DSS_CLK_FCK2)
-+ ++num_clks;
-+ if (clks & DSS_CLK_54M)
-+ ++num_clks;
-+ if (clks & DSS_CLK_96M)
-+ ++num_clks;
-+
-+ return num_clks;
-+}
-+
-+static void dss_clk_enable_no_ctx(enum dss_clock clks)
-+{
-+ unsigned num_clks = count_clk_bits(clks);
-+
-+ if (clks & DSS_CLK_ICK)
-+ clk_enable(dss.dss_ick);
-+ if (clks & DSS_CLK_FCK1)
-+ clk_enable(dss.dss1_fck);
-+ if (clks & DSS_CLK_FCK2)
-+ clk_enable(dss.dss2_fck);
-+ if (clks & DSS_CLK_54M)
-+ clk_enable(dss.dss_54m_fck);
-+ if (clks & DSS_CLK_96M)
-+ clk_enable(dss.dss_96m_fck);
-+
-+ dss.num_clks_enabled += num_clks;
-+}
-+
-+void dss_clk_enable(enum dss_clock clks)
-+{
-+ dss_clk_enable_no_ctx(clks);
-+
-+ if (cpu_is_omap34xx()) {
-+ int id = dss_get_ctx_id();
-+
-+ if (id != dss.ctx_id) {
-+ DSSDBG("ctx id %u -> id %u\n",
-+ dss.ctx_id, id);
-+ restore_all_ctx();
-+ dss.ctx_id = id;
-+ }
-+ }
-+}
-+
-+static void dss_clk_disable_no_ctx(enum dss_clock clks)
-+{
-+ unsigned num_clks = count_clk_bits(clks);
-+
-+ if (clks & DSS_CLK_ICK)
-+ clk_disable(dss.dss_ick);
-+ if (clks & DSS_CLK_FCK1)
-+ clk_disable(dss.dss1_fck);
-+ if (clks & DSS_CLK_FCK2)
-+ clk_disable(dss.dss2_fck);
-+ if (clks & DSS_CLK_54M)
-+ clk_disable(dss.dss_54m_fck);
-+ if (clks & DSS_CLK_96M)
-+ clk_disable(dss.dss_96m_fck);
-+
-+ dss.num_clks_enabled -= num_clks;
-+}
-+
-+void dss_clk_disable(enum dss_clock clks)
-+{
-+ if (cpu_is_omap34xx()) {
-+ unsigned num_clks = count_clk_bits(clks);
-+
-+ BUG_ON(dss.num_clks_enabled < num_clks);
-+
-+ if (dss.num_clks_enabled == num_clks)
-+ save_all_ctx();
-+ }
++ dispc_pck_free_enable(0);
+
-+ dss_clk_disable_no_ctx(clks);
++ /* Reset SDI PLL */
++ REG_FLD_MOD(DSS_PLL_CONTROL, 0, 18, 18); /* SDI_PLL_SYSRESET */
+}
+
-+static void dss_clk_enable_all_no_ctx(void)
++void dss_dump_regs(struct seq_file *s)
+{
-+ enum dss_clock clks;
++#define DUMPREG(r) seq_printf(s, "%-35s %08x\n", #r, dss_read_reg(r))
+
-+ clks = DSS_CLK_ICK | DSS_CLK_FCK1 | DSS_CLK_FCK2 | DSS_CLK_54M;
-+ if (cpu_is_omap34xx())
-+ clks |= DSS_CLK_96M;
-+ dss_clk_enable_no_ctx(clks);
-+}
-+
-+static void dss_clk_disable_all_no_ctx(void)
-+{
-+ enum dss_clock clks;
-+
-+ clks = DSS_CLK_ICK | DSS_CLK_FCK1 | DSS_CLK_FCK2 | DSS_CLK_54M;
-+ if (cpu_is_omap34xx())
-+ clks |= DSS_CLK_96M;
-+ dss_clk_disable_no_ctx(clks);
-+}
++ dss_clk_enable(DSS_CLK_ICK | DSS_CLK_FCK1);
+
-+static void dss_clk_disable_all(void)
-+{
-+ enum dss_clock clks;
++ DUMPREG(DSS_REVISION);
++ DUMPREG(DSS_SYSCONFIG);
++ DUMPREG(DSS_SYSSTATUS);
++ DUMPREG(DSS_IRQSTATUS);
++ DUMPREG(DSS_CONTROL);
++ DUMPREG(DSS_SDI_CONTROL);
++ DUMPREG(DSS_PLL_CONTROL);
++ DUMPREG(DSS_SDI_STATUS);
+
-+ clks = DSS_CLK_ICK | DSS_CLK_FCK1 | DSS_CLK_FCK2 | DSS_CLK_54M;
-+ if (cpu_is_omap34xx())
-+ clks |= DSS_CLK_96M;
-+ dss_clk_disable(clks);
++ dss_clk_disable(DSS_CLK_ICK | DSS_CLK_FCK1);
++#undef DUMPREG
+}
+
-+void dss_select_clk_source(int dsi, int dispc)
++void dss_select_clk_source(bool dsi, bool dispc)
+{
+ u32 r;
+ r = dss_read_reg(DSS_CONTROL);
@@ -7390,12 +10690,12 @@ index 0000000..4a403c1
+ REG_FLD_MOD(DSS_CONTROL, l, 6, 6);
+}
+
-+void dss_set_dac_pwrdn_bgz(int enable)
++void dss_set_dac_pwrdn_bgz(bool enable)
+{
+ REG_FLD_MOD(DSS_CONTROL, enable, 5, 5); /* DAC Power-Down Control */
+}
+
-+int dss_init(void)
++int dss_init(bool skip_init)
+{
+ int r;
+ u32 rev;
@@ -7407,14 +10707,20 @@ index 0000000..4a403c1
+ goto fail0;
+ }
+
-+ /* We need to wait here a bit, otherwise we sometimes start to get
-+ * synclost errors. I believe we could wait for one framedone or
-+ * perhaps vsync interrupt, but, because dispc is not initialized yet,
-+ * we don't have access to the irq register.
-+ */
-+ msleep(400);
++ if (!skip_init) {
++ /* We need to wait here a bit, otherwise we sometimes start to
++ * get synclost errors, and after that only power cycle will
++ * restore DSS functionality. I have no idea why this happens.
++ * And we have to wait _before_ resetting the DSS, but after
++ * enabling clocks.
++ */
++ msleep(50);
++
++ _omap_dss_reset();
+
-+ _omap_dss_reset();
++ }
++ else
++ printk("DSS SKIP RESET\n");
+
+ /* autoidle */
+ REG_FLD_MOD(DSS_SYSCONFIG, 1, 0, 0);
@@ -7455,203 +10761,21 @@ index 0000000..4a403c1
+
+void dss_exit(void)
+{
-+ int c;
-+
+ free_irq(INT_24XX_DSS_IRQ, NULL);
+
-+ /* these should be removed at some point */
-+ c = clk_get_usecount(dss.dss_ick);
-+ if (c > 0) {
-+ DSSERR("warning: dss_ick usecount %d, disabling\n", c);
-+ while (c-- > 0)
-+ clk_disable(dss.dss_ick);
-+ }
-+
-+ c = clk_get_usecount(dss.dss1_fck);
-+ if (c > 0) {
-+ DSSERR("warning: dss1_fck usecount %d, disabling\n", c);
-+ while (c-- > 0)
-+ clk_disable(dss.dss1_fck);
-+ }
-+
-+ c = clk_get_usecount(dss.dss2_fck);
-+ if (c > 0) {
-+ DSSERR("warning: dss2_fck usecount %d, disabling\n", c);
-+ while (c-- > 0)
-+ clk_disable(dss.dss2_fck);
-+ }
-+
-+ c = clk_get_usecount(dss.dss_54m_fck);
-+ if (c > 0) {
-+ DSSERR("warning: dss_54m_fck usecount %d, disabling\n", c);
-+ while (c-- > 0)
-+ clk_disable(dss.dss_54m_fck);
-+ }
-+
-+ if (dss.dss_96m_fck) {
-+ c = clk_get_usecount(dss.dss_96m_fck);
-+ if (c > 0) {
-+ DSSERR("warning: dss_96m_fck usecount %d, disabling\n",
-+ c);
-+ while (c-- > 0)
-+ clk_disable(dss.dss_96m_fck);
-+ }
-+ }
-+
-+ put_dss_clocks();
-+
+ iounmap(dss.base);
+}
+
-+
-+
-+static int omap_dss_probe(struct platform_device *pdev)
-+{
-+ struct omap_dss_platform_data *pdata = pdev->dev.platform_data;
-+
-+ int r;
-+
-+ dss.pdev = pdev;
-+
-+ r = get_dss_clocks();
-+ if (r)
-+ goto fail0;
-+
-+ dss_clk_enable_all_no_ctx();
-+
-+ dss.ctx_id = dss_get_ctx_id();
-+ DSSDBG("initial ctx id %u\n", dss.ctx_id);
-+
-+ r = dss_init();
-+ if (r) {
-+ DSSERR("Failed to initialize DSS\n");
-+ goto fail0;
-+ }
-+
-+#ifdef CONFIG_OMAP2_DSS_RFBI
-+ r = rfbi_init();
-+ if (r) {
-+ DSSERR("Failed to initialize rfbi\n");
-+ goto fail0;
-+ }
-+#endif
-+
-+ r = dpi_init();
-+ if (r) {
-+ DSSERR("Failed to initialize dpi\n");
-+ goto fail0;
-+ }
-+
-+ r = dispc_init();
-+ if (r) {
-+ DSSERR("Failed to initialize dispc\n");
-+ goto fail0;
-+ }
-+#ifdef CONFIG_OMAP2_DSS_VENC
-+ r = venc_init();
-+ if (r) {
-+ DSSERR("Failed to initialize venc\n");
-+ goto fail0;
-+ }
-+#endif
-+ if (cpu_is_omap34xx()) {
-+#ifdef CONFIG_OMAP2_DSS_SDI
-+ r = sdi_init();
-+ if (r) {
-+ DSSERR("Failed to initialize SDI\n");
-+ goto fail0;
-+ }
-+#endif
-+#ifdef CONFIG_OMAP2_DSS_DSI
-+ r = dsi_init();
-+ if (r) {
-+ DSSERR("Failed to initialize DSI\n");
-+ goto fail0;
-+ }
-+#endif
-+ }
-+
-+ initialize_displays(pdata);
-+
-+ r = initialize_sysfs(&pdev->dev);
-+ if (r)
-+ goto fail0;
-+
-+ initialize_overlays(def_disp_name);
-+
-+ dss_clk_disable_all();
-+
-+ return 0;
-+
-+ /* XXX fail correctly */
-+fail0:
-+ return r;
-+}
-+
-+static int omap_dss_remove(struct platform_device *pdev)
-+{
-+ uninitialize_sysfs(&pdev->dev);
-+
-+#ifdef CONFIG_OMAP2_DSS_VENC
-+ venc_exit();
-+#endif
-+ dispc_exit();
-+ dpi_exit();
-+#ifdef CONFIG_OMAP2_DSS_RFBI
-+ rfbi_exit();
-+#endif
-+ if (cpu_is_omap34xx()) {
-+#ifdef CONFIG_OMAP2_DSS_DSI
-+ dsi_exit();
-+#endif
-+#ifdef CONFIG_OMAP2_DSS_SDI
-+ sdi_exit();
-+#endif
-+ }
-+
-+ dss_exit();
-+
-+ return 0;
-+}
-+
-+
-+static struct platform_driver omap_dss_driver = {
-+ .probe = omap_dss_probe,
-+ .remove = omap_dss_remove,
-+ .driver = {
-+ .name = "omap-dss",
-+ .owner = THIS_MODULE,
-+ },
-+};
-+
-+static int __init omap_dss_init(void)
-+{
-+ return platform_driver_register(&omap_dss_driver);
-+}
-+
-+static void __exit omap_dss_exit(void)
-+{
-+ platform_driver_unregister(&omap_dss_driver);
-+}
-+
-+subsys_initcall(omap_dss_init);
-+module_exit(omap_dss_exit);
-+
-+
-+MODULE_AUTHOR("Tomi Valkeinen <tomi.valkeinen@nokia.com>");
-+MODULE_DESCRIPTION("OMAP2/3 Display Subsystem");
-+MODULE_LICENSE("GPL v2");
-+
-diff --git a/arch/arm/plat-omap/dss/dss.h b/arch/arm/plat-omap/dss/dss.h
+diff --git a/drivers/video/omap2/dss/dss.h b/drivers/video/omap2/dss/dss.h
new file mode 100644
-index 0000000..da628a7
+index 0000000..bac5ece
--- /dev/null
-+++ b/arch/arm/plat-omap/dss/dss.h
-@@ -0,0 +1,274 @@
++++ b/drivers/video/omap2/dss/dss.h
+@@ -0,0 +1,331 @@
+/*
-+ * linux/arch/arm/plat-omap/dss/dss.h
++ * linux/drivers/video/omap2/dss/dss.h
+ *
-+ * Copyright (C) 2008 Nokia Corporation
++ * Copyright (C) 2009 Nokia Corporation
+ * Author: Tomi Valkeinen <tomi.valkeinen@nokia.com>
+ *
+ * Some code and ideas taken from drivers/video/omap/ driver
@@ -7682,42 +10806,61 @@ index 0000000..da628a7
+#ifdef DSS_SUBSYS_NAME
+#define DSSDBG(format, ...) \
+ if (dss_debug) \
-+ printk(KERN_DEBUG "omap-dss " DSS_SUBSYS_NAME ": " format, \
++ printk(KERN_DEBUG "omapdss " DSS_SUBSYS_NAME ": " format, \
+ ## __VA_ARGS__)
+#else
+#define DSSDBG(format, ...) \
+ if (dss_debug) \
-+ printk(KERN_DEBUG "omap-dss: " format, ## __VA_ARGS__)
++ printk(KERN_DEBUG "omapdss: " format, ## __VA_ARGS__)
+#endif
++
++#ifdef DSS_SUBSYS_NAME
++#define DSSDBGF(format, ...) \
++ if (dss_debug) \
++ printk(KERN_DEBUG "omapdss " DSS_SUBSYS_NAME \
++ ": %s(" format ")\n", \
++ __func__, \
++ ## __VA_ARGS__)
+#else
++#define DSSDBGF(format, ...) \
++ if (dss_debug) \
++ printk(KERN_DEBUG "omapdss: " \
++ ": %s(" format ")\n", \
++ __func__, \
++ ## __VA_ARGS__)
++#endif
++
++#else /* DEBUG */
+#define DSSDBG(format, ...)
++#define DSSDBGF(format, ...)
+#endif
+
++
+#ifdef DSS_SUBSYS_NAME
+#define DSSERR(format, ...) \
-+ printk(KERN_ERR "omap-dss " DSS_SUBSYS_NAME " error: " format, \
++ printk(KERN_ERR "omapdss " DSS_SUBSYS_NAME " error: " format, \
+ ## __VA_ARGS__)
+#else
+#define DSSERR(format, ...) \
-+ printk(KERN_ERR "omap-dss error: " format, ## __VA_ARGS__)
++ printk(KERN_ERR "omapdss error: " format, ## __VA_ARGS__)
+#endif
+
+#ifdef DSS_SUBSYS_NAME
+#define DSSINFO(format, ...) \
-+ printk(KERN_INFO "omap-dss " DSS_SUBSYS_NAME ": " format, \
++ printk(KERN_INFO "omapdss " DSS_SUBSYS_NAME ": " format, \
+ ## __VA_ARGS__)
+#else
+#define DSSINFO(format, ...) \
-+ printk(KERN_INFO "omap-dss: " format, ## __VA_ARGS__)
++ printk(KERN_INFO "omapdss: " format, ## __VA_ARGS__)
+#endif
+
+#ifdef DSS_SUBSYS_NAME
+#define DSSWARN(format, ...) \
-+ printk(KERN_WARNING "omap-dss " DSS_SUBSYS_NAME ": " format, \
++ printk(KERN_WARNING "omapdss " DSS_SUBSYS_NAME ": " format, \
+ ## __VA_ARGS__)
+#else
+#define DSSWARN(format, ...) \
-+ printk(KERN_WARNING "omap-dss: " format, ## __VA_ARGS__)
++ printk(KERN_WARNING "omapdss: " format, ## __VA_ARGS__)
+#endif
+
+/* OMAP TRM gives bitfields as start:end, where start is the higher bit
@@ -7757,65 +10900,95 @@ index 0000000..da628a7
+ unsigned long pck;
+
+ /* dividers */
-+ int fck_div;
-+ int lck_div;
-+ int pck_div;
++ u16 fck_div;
++ u16 lck_div;
++ u16 pck_div;
+};
+
+struct dsi_clock_info {
+ /* rates that we get with dividers below */
+ unsigned long fint;
+ unsigned long dsiphy;
-+ unsigned long clkin; /* input clk for DSI PLL */
-+ unsigned long dispc_fck; /* output clk, DSI1_PLL_FCLK */
-+ unsigned long dsi_fck; /* output clk, DSI2_PLL_FCLK */
++ unsigned long clkin;
++ unsigned long dsi1_pll_fclk;
++ unsigned long dsi2_pll_fclk;
+ unsigned long lck;
+ unsigned long pck;
+
+ /* dividers */
-+ int regn;
-+ int regm;
-+ int regm3;
-+ int regm4;
++ u16 regn;
++ u16 regm;
++ u16 regm3;
++ u16 regm4;
+
-+ int lck_div;
-+ int pck_div;
++ u16 lck_div;
++ u16 pck_div;
+
-+ int highfreq;
-+ int use_dss2_fck;
++ u8 highfreq;
++ bool use_dss2_fck;
+};
+
-+int initialize_sysfs(struct device *dev);
-+void uninitialize_sysfs(struct device *dev);
-+void initialize_displays(struct omap_dss_platform_data *pdata);
-+void initialize_overlays(const char *def_disp_name);
++struct seq_file;
++struct platform_device;
++
++/* core */
++void dss_clk_enable(enum dss_clock clks);
++void dss_clk_disable(enum dss_clock clks);
++unsigned long dss_clk_get_rate(enum dss_clock clk);
++int dss_need_ctx_restore(void);
++void dss_dump_clocks(struct seq_file *s);
++
++int dss_dsi_power_up(void);
++void dss_dsi_power_down(void);
++
++/* display */
++void dss_init_displays(struct platform_device *pdev);
++void dss_uninit_displays(struct platform_device *pdev);
++int dss_suspend_all_displays(void);
++int dss_resume_all_displays(void);
++struct omap_display *dss_get_display(int no);
++
++/* manager */
++int dss_init_overlay_managers(struct platform_device *pdev);
++void dss_uninit_overlay_managers(struct platform_device *pdev);
++
++/* overlay */
++void dss_init_overlays(struct platform_device *pdev, const char *def_disp_name);
++void dss_uninit_overlays(struct platform_device *pdev);
++int dss_check_overlay(struct omap_overlay *ovl, struct omap_display *display);
++void dss_overlay_setup_dispc_manager(struct omap_overlay_manager *mgr);
+
+/* DSS */
-+int dss_init(void);
++int dss_init(bool skip_init);
+void dss_exit(void);
+
-+void dss_clk_enable(enum dss_clock clks);
-+void dss_clk_disable(enum dss_clock clks);
++void dss_save_context(void);
++void dss_restore_context(void);
++
++void dss_dump_regs(struct seq_file *s);
+
-+void dss_sdi_init(int datapairs);
-+void dss_select_clk_source(int dsi, int dispc);
++void dss_sdi_init(u8 datapairs);
++void dss_sdi_enable(void);
++void dss_sdi_disable(void);
++
++void dss_select_clk_source(bool dsi, bool dispc);
+int dss_get_dsi_clk_source(void);
+int dss_get_dispc_clk_source(void);
+void dss_set_venc_output(enum omap_dss_venc_type type);
-+void dss_set_dac_pwrdn_bgz(int enable);
-+unsigned long dss_clk_get_rate(enum dss_clock clk);
-+ssize_t dss_print_clocks(char *buf, ssize_t size);
++void dss_set_dac_pwrdn_bgz(bool enable);
+
+/* SDI */
-+int sdi_init(void);
++int sdi_init(bool skip_init);
+void sdi_exit(void);
+void sdi_init_display(struct omap_display *display);
+
-+
+/* DSI */
+int dsi_init(void);
+void dsi_exit(void);
+
++void dsi_dump_clocks(struct seq_file *s);
++void dsi_dump_regs(struct seq_file *s);
++
+void dsi_save_context(void);
+void dsi_restore_context(void);
+
@@ -7823,12 +10996,11 @@ index 0000000..da628a7
+void dsi_irq_handler(void);
+unsigned long dsi_get_dsi1_pll_rate(void);
+unsigned long dsi_get_dsi2_pll_rate(void);
-+int dsi_pll_calc_pck(int is_tft, unsigned long req_pck,
++int dsi_pll_calc_pck(bool is_tft, unsigned long req_pck,
+ struct dsi_clock_info *cinfo);
+int dsi_pll_program(struct dsi_clock_info *cinfo);
-+int dsi_pll_init(int enable_hsclk, int enable_hsdiv);
++int dsi_pll_init(bool enable_hsclk, bool enable_hsdiv);
+void dsi_pll_uninit(void);
-+ssize_t dsi_print_clocks(char *buf, ssize_t size);
+
+/* DPI */
+int dpi_init(void);
@@ -7838,100 +11010,1284 @@ index 0000000..da628a7
+/* DISPC */
+int dispc_init(void);
+void dispc_exit(void);
++void dispc_dump_clocks(struct seq_file *s);
++void dispc_dump_regs(struct seq_file *s);
+void dispc_irq_handler(void);
+void dispc_fake_vsync_irq(void);
+
+void dispc_save_context(void);
+void dispc_restore_context(void);
+
-+void dispc_lcd_enable_signal_polarity(int act_high);
-+void dispc_lcd_enable_signal(int enable);
-+void dispc_pck_free_enable(int enable);
-+void dispc_enable_fifohandcheck(int enable);
++void dispc_lcd_enable_signal_polarity(bool act_high);
++void dispc_lcd_enable_signal(bool enable);
++void dispc_pck_free_enable(bool enable);
++void dispc_enable_fifohandcheck(bool enable);
+
-+void dispc_set_lcd_size(int width, int height);
-+void dispc_set_digit_size(int width, int height);
++void dispc_set_lcd_size(u16 width, u16 height);
++void dispc_set_digit_size(u16 width, u16 height);
+u32 dispc_get_plane_fifo_size(enum omap_plane plane);
+void dispc_setup_plane_fifo(enum omap_plane plane, u32 low, u32 high);
++void dispc_enable_fifomerge(bool enable);
+void dispc_set_burst_size(enum omap_plane plane,
+ enum omap_burst_size burst_size);
+
+void dispc_set_plane_ba0(enum omap_plane plane, u32 paddr);
+void dispc_set_plane_ba1(enum omap_plane plane, u32 paddr);
-+void dispc_set_plane_pos(enum omap_plane plane, int x, int y);
-+void dispc_set_plane_size(enum omap_plane plane, int width, int height);
-+void dispc_set_row_inc(enum omap_plane plane, int inc);
++void dispc_set_plane_pos(enum omap_plane plane, u16 x, u16 y);
++void dispc_set_plane_size(enum omap_plane plane, u16 width, u16 height);
+
+int dispc_setup_plane(enum omap_plane plane, enum omap_channel channel_out,
-+ u32 paddr, int screen_width,
-+ int pos_x, int pos_y,
-+ int width, int height,
-+ int out_width, int out_height,
++ u32 paddr, u16 screen_width,
++ u16 pos_x, u16 pos_y,
++ u16 width, u16 height,
++ u16 out_width, u16 out_height,
+ enum omap_color_mode color_mode,
-+ int ilace);
++ bool ilace,
++ u8 rotation, bool mirror);
+
+void dispc_go(enum omap_channel channel);
-+void dispc_enable_lcd_out(int enable);
-+void dispc_enable_digit_out(int enable);
-+int dispc_enable_plane(enum omap_plane plane, int enable);
++void dispc_enable_lcd_out(bool enable);
++void dispc_enable_digit_out(bool enable);
++int dispc_enable_plane(enum omap_plane plane, bool enable);
+
+void dispc_set_parallel_interface_mode(enum omap_parallel_interface_mode mode);
-+void dispc_set_tft_data_lines(int data_lines);
++void dispc_set_tft_data_lines(u8 data_lines);
+void dispc_set_lcd_display_type(enum omap_lcd_display_type type);
+void dispc_set_loadmode(enum omap_dss_load_mode mode);
+
+void dispc_set_default_color(enum omap_channel channel, u32 color);
++u32 dispc_get_default_color(enum omap_channel channel);
+void dispc_set_trans_key(enum omap_channel ch,
+ enum omap_dss_color_key_type type,
+ u32 trans_key);
-+void dispc_enable_trans_key(enum omap_channel ch, int enable);
++void dispc_get_trans_key(enum omap_channel ch,
++ enum omap_dss_color_key_type *type,
++ u32 *trans_key);
++void dispc_enable_trans_key(enum omap_channel ch, bool enable);
++bool dispc_trans_key_enabled(enum omap_channel ch);
+
+void dispc_set_lcd_timings(struct omap_video_timings *timings);
+unsigned long dispc_fclk_rate(void);
+unsigned long dispc_pclk_rate(void);
+void dispc_set_pol_freq(struct omap_panel *panel);
-+void find_lck_pck_divs(int is_tft, unsigned long req_pck, unsigned long fck,
-+ int *lck_div, int *pck_div);
-+int dispc_calc_clock_div(int is_tft, unsigned long req_pck,
++void find_lck_pck_divs(bool is_tft, unsigned long req_pck, unsigned long fck,
++ u16 *lck_div, u16 *pck_div);
++int dispc_calc_clock_div(bool is_tft, unsigned long req_pck,
+ struct dispc_clock_info *cinfo);
+int dispc_set_clock_div(struct dispc_clock_info *cinfo);
-+void dispc_set_lcd_divisor(int lck_div, int pck_div);
++int dispc_get_clock_div(struct dispc_clock_info *cinfo);
++void dispc_set_lcd_divisor(u16 lck_div, u16 pck_div);
+
+void dispc_setup_partial_planes(struct omap_display *display,
-+ int *x, int *y, int *w, int *h);
++ u16 *x, u16 *y, u16 *w, u16 *h);
+void dispc_draw_partial_planes(struct omap_display *display);
+
+
-+ssize_t dispc_print_clocks(char *buf, ssize_t size);
-+
+/* VENC */
+int venc_init(void);
+void venc_exit(void);
++void venc_dump_regs(struct seq_file *s);
+void venc_init_display(struct omap_display *display);
+
+/* RFBI */
+int rfbi_init(void);
+void rfbi_exit(void);
++void rfbi_dump_regs(struct seq_file *s);
+
+int rfbi_configure(int rfbi_module, int bpp, int lines);
-+void rfbi_enable_rfbi(int enable);
-+void rfbi_transfer_area(int width, int height,
++void rfbi_enable_rfbi(bool enable);
++void rfbi_transfer_area(u16 width, u16 height,
+ void (callback)(void *data), void *data);
+void rfbi_set_timings(int rfbi_module, struct rfbi_timings *t);
+unsigned long rfbi_get_max_tx_rate(void);
+void rfbi_init_display(struct omap_display *display);
+
+#endif
-diff --git a/arch/arm/plat-omap/dss/rfbi.c b/arch/arm/plat-omap/dss/rfbi.c
+diff --git a/drivers/video/omap2/dss/manager.c b/drivers/video/omap2/dss/manager.c
new file mode 100644
-index 0000000..b4b65e6
+index 0000000..b0fee80
--- /dev/null
-+++ b/arch/arm/plat-omap/dss/rfbi.c
-@@ -0,0 +1,1262 @@
++++ b/drivers/video/omap2/dss/manager.c
+@@ -0,0 +1,576 @@
+/*
-+ * linux/arch/arm/plat-omap/dss/rfbi.c
++ * linux/drivers/video/omap2/dss/manager.c
+ *
-+ * Copyright (C) 2008 Nokia Corporation
++ * Copyright (C) 2009 Nokia Corporation
++ * Author: Tomi Valkeinen <tomi.valkeinen@nokia.com>
++ *
++ * Some code and ideas taken from drivers/video/omap/ driver
++ * by Imre Deak.
++ *
++ * This program is free software; you can redistribute it and/or modify it
++ * under the terms of the GNU General Public License version 2 as published by
++ * the Free Software Foundation.
++ *
++ * 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 <http://www.gnu.org/licenses/>.
++ */
++
++#define DSS_SUBSYS_NAME "MANAGER"
++
++#include <linux/kernel.h>
++#include <linux/module.h>
++#include <linux/platform_device.h>
++
++#include <mach/display.h>
++
++#include "dss.h"
++
++static int num_managers;
++static struct list_head manager_list;
++
++static ssize_t manager_name_show(struct omap_overlay_manager *mgr, char *buf)
++{
++ return snprintf(buf, PAGE_SIZE, "%s\n", mgr->name);
++}
++
++static ssize_t manager_display_show(struct omap_overlay_manager *mgr, char *buf)
++{
++ return snprintf(buf, PAGE_SIZE, "%s\n",
++ mgr->display ? mgr->display->name : "<none>");
++}
++
++static ssize_t manager_display_store(struct omap_overlay_manager *mgr, const char *buf, size_t size)
++{
++ int r, i;
++ int len = size;
++ struct omap_display *display = NULL;
++
++ if (buf[size-1] == '\n')
++ --len;
++
++ if (len > 0) {
++ for (i = 0; i < omap_dss_get_num_displays(); ++i) {
++ display = dss_get_display(i);
++
++ if (strncmp(buf, display->name, len) == 0)
++ break;
++
++ display = NULL;
++ }
++ }
++
++ if (len > 0 && display == NULL)
++ return -EINVAL;
++
++ if (display)
++ DSSDBG("display %s found\n", display->name);
++
++ if (mgr->display) {
++ r = mgr->unset_display(mgr);
++ if (r) {
++ DSSERR("failed to unset display\n");
++ return r;
++ }
++ }
++
++ if (display) {
++ r = mgr->set_display(mgr, display);
++ if (r) {
++ DSSERR("failed to set manager\n");
++ return r;
++ }
++
++ r = mgr->apply(mgr);
++ if (r) {
++ DSSERR("failed to apply dispc config\n");
++ return r;
++ }
++ }
++
++ return size;
++}
++
++static ssize_t manager_default_color_show(struct omap_overlay_manager *mgr,
++ char *buf)
++{
++ u32 default_color;
++
++ default_color = dispc_get_default_color(mgr->id);
++ return snprintf(buf, PAGE_SIZE, "%d", default_color);
++}
++
++static ssize_t manager_default_color_store(struct omap_overlay_manager *mgr,
++ const char *buf, size_t size)
++{
++ u32 default_color;
++
++ if (sscanf(buf, "%d", &default_color) != 1)
++ return -EINVAL;
++ dispc_set_default_color(mgr->id, default_color);
++
++ return size;
++}
++
++static const char *color_key_type_str[] = {
++ "gfx-destination",
++ "video-source",
++};
++
++static ssize_t manager_color_key_type_show(struct omap_overlay_manager *mgr,
++ char *buf)
++{
++ enum omap_dss_color_key_type key_type;
++
++ dispc_get_trans_key(mgr->id, &key_type, NULL);
++ BUG_ON(key_type >= ARRAY_SIZE(color_key_type_str));
++
++ return snprintf(buf, PAGE_SIZE, "%s\n", color_key_type_str[key_type]);
++}
++
++static ssize_t manager_color_key_type_store(struct omap_overlay_manager *mgr,
++ const char *buf, size_t size)
++{
++ enum omap_dss_color_key_type key_type;
++ u32 key_value;
++
++ for (key_type = OMAP_DSS_COLOR_KEY_GFX_DST;
++ key_type < ARRAY_SIZE(color_key_type_str); key_type++) {
++ if (sysfs_streq(buf, color_key_type_str[key_type]))
++ break;
++ }
++ if (key_type == ARRAY_SIZE(color_key_type_str))
++ return -EINVAL;
++ dispc_get_trans_key(mgr->id, NULL, &key_value);
++ dispc_set_trans_key(mgr->id, key_type, key_value);
++
++ return size;
++}
++
++static ssize_t manager_color_key_value_show(struct omap_overlay_manager *mgr,
++ char *buf)
++{
++ u32 key_value;
++
++ dispc_get_trans_key(mgr->id, NULL, &key_value);
++
++ return snprintf(buf, PAGE_SIZE, "%d\n", key_value);
++}
++
++static ssize_t manager_color_key_value_store(struct omap_overlay_manager *mgr,
++ const char *buf, size_t size)
++{
++ enum omap_dss_color_key_type key_type;
++ u32 key_value;
++
++ if (sscanf(buf, "%d", &key_value) != 1)
++ return -EINVAL;
++ dispc_get_trans_key(mgr->id, &key_type, NULL);
++ dispc_set_trans_key(mgr->id, key_type, key_value);
++
++ return size;
++}
++
++static ssize_t manager_color_key_enabled_show(struct omap_overlay_manager *mgr,
++ char *buf)
++{
++ return snprintf(buf, PAGE_SIZE, "%d\n",
++ dispc_trans_key_enabled(mgr->id));
++}
++
++static ssize_t manager_color_key_enabled_store(struct omap_overlay_manager *mgr,
++ const char *buf, size_t size)
++{
++ int enable;
++
++ if (sscanf(buf, "%d", &enable) != 1)
++ return -EINVAL;
++
++ dispc_enable_trans_key(mgr->id, enable);
++
++ return size;
++}
++
++
++struct manager_attribute {
++ struct attribute attr;
++ ssize_t (*show)(struct omap_overlay_manager *, char *);
++ ssize_t (*store)(struct omap_overlay_manager *, const char *, size_t);
++};
++
++#define MANAGER_ATTR(_name, _mode, _show, _store) \
++ struct manager_attribute manager_attr_##_name = \
++ __ATTR(_name, _mode, _show, _store)
++
++static MANAGER_ATTR(name, S_IRUGO, manager_name_show, NULL);
++static MANAGER_ATTR(display, S_IRUGO|S_IWUSR,
++ manager_display_show, manager_display_store);
++static MANAGER_ATTR(default_color, S_IRUGO|S_IWUSR,
++ manager_default_color_show, manager_default_color_store);
++static MANAGER_ATTR(color_key_type, S_IRUGO|S_IWUSR,
++ manager_color_key_type_show, manager_color_key_type_store);
++static MANAGER_ATTR(color_key_value, S_IRUGO|S_IWUSR,
++ manager_color_key_value_show, manager_color_key_value_store);
++static MANAGER_ATTR(color_key_enabled, S_IRUGO|S_IWUSR,
++ manager_color_key_enabled_show, manager_color_key_enabled_store);
++
++static struct attribute *manager_sysfs_attrs[] = {
++ &manager_attr_name.attr,
++ &manager_attr_display.attr,
++ &manager_attr_default_color.attr,
++ &manager_attr_color_key_type.attr,
++ &manager_attr_color_key_value.attr,
++ &manager_attr_color_key_enabled.attr,
++ NULL
++};
++
++static ssize_t manager_attr_show(struct kobject *kobj, struct attribute *attr, char *buf)
++{
++ struct omap_overlay_manager *manager;
++ struct manager_attribute *manager_attr;
++
++ manager = container_of(kobj, struct omap_overlay_manager, kobj);
++ manager_attr = container_of(attr, struct manager_attribute, attr);
++
++ if (!manager_attr->show)
++ return -ENOENT;
++
++ return manager_attr->show(manager, buf);
++}
++
++static ssize_t manager_attr_store(struct kobject *kobj, struct attribute *attr,
++ const char *buf, size_t size)
++{
++ struct omap_overlay_manager *manager;
++ struct manager_attribute *manager_attr;
++
++ manager = container_of(kobj, struct omap_overlay_manager, kobj);
++ manager_attr = container_of(attr, struct manager_attribute, attr);
++
++ if (!manager_attr->store)
++ return -ENOENT;
++
++ return manager_attr->store(manager, buf, size);
++}
++
++static struct sysfs_ops manager_sysfs_ops = {
++ .show = manager_attr_show,
++ .store = manager_attr_store,
++};
++
++static struct kobj_type manager_ktype = {
++ .sysfs_ops = &manager_sysfs_ops,
++ .default_attrs = manager_sysfs_attrs,
++};
++
++static int omap_dss_set_display(struct omap_overlay_manager *mgr,
++ struct omap_display *display)
++{
++ int i;
++ int r;
++
++ if (display->manager) {
++ DSSERR("display '%s' already has a manager '%s'\n",
++ display->name, display->manager->name);
++ return -EINVAL;
++ }
++
++ if ((mgr->supported_displays & display->type) == 0) {
++ DSSERR("display '%s' does not support manager '%s'\n",
++ display->name, mgr->name);
++ return -EINVAL;
++ }
++
++ for (i = 0; i < mgr->num_overlays; i++) {
++ struct omap_overlay *ovl = mgr->overlays[i];
++
++ if (ovl->manager != mgr || !ovl->info.enabled)
++ continue;
++
++ r = dss_check_overlay(ovl, display);
++ if (r)
++ return r;
++ }
++
++ display->manager = mgr;
++ mgr->display = display;
++
++ return 0;
++}
++
++static int omap_dss_unset_display(struct omap_overlay_manager *mgr)
++{
++ if (!mgr->display) {
++ DSSERR("failed to unset display, display not set.\n");
++ return -EINVAL;
++ }
++
++ mgr->display->manager = NULL;
++ mgr->display = NULL;
++
++ return 0;
++}
++
++
++static int overlay_enabled(struct omap_overlay *ovl)
++{
++ return ovl->info.enabled && ovl->manager && ovl->manager->display;
++}
++
++/* We apply settings to both managers here so that we can use optimizations
++ * like fifomerge. Shadow registers can be changed first and the non-shadowed
++ * should be changed last, at the same time with GO */
++static int omap_dss_mgr_apply(struct omap_overlay_manager *mgr)
++{
++ int i;
++ int ret = 0;
++ enum omap_dss_update_mode mode;
++ struct omap_display *display;
++ struct omap_overlay *ovl;
++ bool ilace = 0;
++ int outw, outh;
++ int r;
++ int num_planes_enabled = 0;
++
++ DSSDBG("omap_dss_mgr_apply(%s)\n", mgr->name);
++
++ dss_clk_enable(DSS_CLK_ICK | DSS_CLK_FCK1);
++
++ /* Configure normal overlay parameters and disable unused overlays */
++ for (i = 0; i < omap_dss_get_num_overlays(); ++i) {
++ ovl = omap_dss_get_overlay(i);
++
++ if (!(ovl->caps & OMAP_DSS_OVL_CAP_DISPC))
++ continue;
++
++ if (!overlay_enabled(ovl)) {
++ dispc_enable_plane(ovl->id, 0);
++ continue;
++ }
++
++ display = ovl->manager->display;
++
++ if (dss_check_overlay(ovl, display)) {
++ dispc_enable_plane(ovl->id, 0);
++ continue;
++ }
++
++ ++num_planes_enabled;
++
++ /* On a manual update display, in manual update mode, update()
++ * handles configuring planes */
++ mode = OMAP_DSS_UPDATE_AUTO;
++ if (display->get_update_mode)
++ mode = display->get_update_mode(mgr->display);
++
++ if (display->caps & OMAP_DSS_DISPLAY_CAP_MANUAL_UPDATE &&
++ mode != OMAP_DSS_UPDATE_AUTO)
++ continue;
++
++ if (display->type == OMAP_DISPLAY_TYPE_VENC)
++ ilace = 1;
++
++ if (ovl->info.out_width == 0)
++ outw = ovl->info.width;
++ else
++ outw = ovl->info.out_width;
++
++ if (ovl->info.out_height == 0)
++ outh = ovl->info.height;
++ else
++ outh = ovl->info.out_height;
++
++ r = dispc_setup_plane(ovl->id, ovl->manager->id,
++ ovl->info.paddr,
++ ovl->info.screen_width,
++ ovl->info.pos_x,
++ ovl->info.pos_y,
++ ovl->info.width,
++ ovl->info.height,
++ outw,
++ outh,
++ ovl->info.color_mode,
++ ilace,
++ ovl->info.rotation,
++ ovl->info.mirror);
++
++ if (r) {
++ DSSERR("dispc_setup_plane failed for ovl %d\n",
++ ovl->id);
++ dispc_enable_plane(ovl->id, 0);
++ continue;
++ }
++
++ dispc_enable_plane(ovl->id, 1);
++ }
++
++ /* Enable fifo merge if possible */
++ dispc_enable_fifomerge(num_planes_enabled == 1);
++
++ /* Go through overlays again. This time we configure fifos. We have to
++ * do this after enabling/disabling fifomerge so that we have correct
++ * knowledge of fifo sizes */
++ for (i = 0; i < omap_dss_get_num_overlays(); ++i) {
++ ovl = omap_dss_get_overlay(i);
++
++ if (!(ovl->caps & OMAP_DSS_OVL_CAP_DISPC))
++ continue;
++
++ if (!overlay_enabled(ovl)) {
++ continue;
++ }
++
++ ovl->manager->display->configure_overlay(ovl);
++ }
++
++ /* Issue GO for managers */
++ list_for_each_entry(mgr, &manager_list, list) {
++ if (!(mgr->caps & OMAP_DSS_OVL_MGR_CAP_DISPC))
++ continue;
++
++ display = mgr->display;
++
++ if (!display)
++ continue;
++
++ /* We don't need GO with manual update display. LCD iface will
++ * always be turned off after frame, and new settings will
++ * be taken in to use at next update */
++ if (display->caps & OMAP_DSS_DISPLAY_CAP_MANUAL_UPDATE)
++ continue;
++
++ dispc_go(mgr->id);
++ }
++
++ dss_clk_disable(DSS_CLK_ICK | DSS_CLK_FCK1);
++
++ return ret;
++}
++
++static void omap_dss_mgr_set_def_color(struct omap_overlay_manager *mgr,
++ u32 color)
++{
++ dispc_set_default_color(mgr->id, color);
++}
++
++static void omap_dss_mgr_set_trans_key(struct omap_overlay_manager *mgr,
++ enum omap_dss_color_key_type type,
++ u32 trans_key)
++{
++ dispc_set_trans_key(mgr->id, type, trans_key);
++}
++
++static void omap_dss_mgr_enable_trans_key(struct omap_overlay_manager *mgr,
++ bool enable)
++{
++ dispc_enable_trans_key(mgr->id, enable);
++}
++
++static void omap_dss_add_overlay_manager(struct omap_overlay_manager *manager)
++{
++ ++num_managers;
++ list_add_tail(&manager->list, &manager_list);
++}
++
++int dss_init_overlay_managers(struct platform_device *pdev)
++{
++ int i, r;
++
++ INIT_LIST_HEAD(&manager_list);
++
++ num_managers = 0;
++
++ for (i = 0; i < 2; ++i) {
++ struct omap_overlay_manager *mgr;
++ mgr = kzalloc(sizeof(*mgr), GFP_KERNEL);
++
++ BUG_ON(mgr == NULL);
++
++ switch (i) {
++ case 0:
++ mgr->name = "lcd";
++ mgr->id = OMAP_DSS_CHANNEL_LCD;
++ mgr->supported_displays =
++ OMAP_DISPLAY_TYPE_DPI | OMAP_DISPLAY_TYPE_DBI |
++ OMAP_DISPLAY_TYPE_SDI | OMAP_DISPLAY_TYPE_DSI;
++ break;
++ case 1:
++ mgr->name = "tv";
++ mgr->id = OMAP_DSS_CHANNEL_DIGIT;
++ mgr->supported_displays = OMAP_DISPLAY_TYPE_VENC;
++ break;
++ }
++
++ mgr->set_display = &omap_dss_set_display,
++ mgr->unset_display = &omap_dss_unset_display,
++ mgr->apply = &omap_dss_mgr_apply,
++ mgr->set_default_color = &omap_dss_mgr_set_def_color,
++ mgr->set_trans_key = &omap_dss_mgr_set_trans_key,
++ mgr->enable_trans_key = &omap_dss_mgr_enable_trans_key,
++ mgr->caps = OMAP_DSS_OVL_MGR_CAP_DISPC,
++
++ dss_overlay_setup_dispc_manager(mgr);
++
++ omap_dss_add_overlay_manager(mgr);
++
++ r = kobject_init_and_add(&mgr->kobj, &manager_ktype,
++ &pdev->dev.kobj, "manager%d", i);
++
++ if (r) {
++ DSSERR("failed to create sysfs file\n");
++ continue;
++ }
++ }
++
++ return 0;
++}
++
++void dss_uninit_overlay_managers(struct platform_device *pdev)
++{
++ struct omap_overlay_manager *mgr;
++
++ while (!list_empty(&manager_list)) {
++ mgr = list_first_entry(&manager_list,
++ struct omap_overlay_manager, list);
++ list_del(&mgr->list);
++ kobject_del(&mgr->kobj);
++ kobject_put(&mgr->kobj);
++ kfree(mgr);
++ }
++
++ num_managers = 0;
++}
++
++int omap_dss_get_num_overlay_managers(void)
++{
++ return num_managers;
++}
++EXPORT_SYMBOL(omap_dss_get_num_overlay_managers);
++
++struct omap_overlay_manager *omap_dss_get_overlay_manager(int num)
++{
++ int i = 0;
++ struct omap_overlay_manager *mgr;
++
++ list_for_each_entry(mgr, &manager_list, list) {
++ if (i++ == num)
++ return mgr;
++ }
++
++ return NULL;
++}
++EXPORT_SYMBOL(omap_dss_get_overlay_manager);
++
++#ifdef L4_EXAMPLE
++static int ovl_mgr_apply_l4(struct omap_overlay_manager *mgr)
++{
++ DSSDBG("omap_dss_mgr_apply_l4(%s)\n", mgr->name);
++
++ return 0;
++}
++#endif
++
+diff --git a/drivers/video/omap2/dss/overlay.c b/drivers/video/omap2/dss/overlay.c
+new file mode 100644
+index 0000000..968edbe
+--- /dev/null
++++ b/drivers/video/omap2/dss/overlay.c
+@@ -0,0 +1,587 @@
++/*
++ * linux/drivers/video/omap2/dss/overlay.c
++ *
++ * Copyright (C) 2009 Nokia Corporation
++ * Author: Tomi Valkeinen <tomi.valkeinen@nokia.com>
++ *
++ * Some code and ideas taken from drivers/video/omap/ driver
++ * by Imre Deak.
++ *
++ * This program is free software; you can redistribute it and/or modify it
++ * under the terms of the GNU General Public License version 2 as published by
++ * the Free Software Foundation.
++ *
++ * 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 <http://www.gnu.org/licenses/>.
++ */
++
++#define DSS_SUBSYS_NAME "OVERLAY"
++
++#include <linux/kernel.h>
++#include <linux/module.h>
++#include <linux/err.h>
++#include <linux/sysfs.h>
++#include <linux/kobject.h>
++#include <linux/platform_device.h>
++
++#include <mach/display.h>
++
++#include "dss.h"
++
++static int num_overlays;
++static struct list_head overlay_list;
++
++static ssize_t overlay_name_show(struct omap_overlay *ovl, char *buf)
++{
++ return snprintf(buf, PAGE_SIZE, "%s\n", ovl->name);
++}
++
++static ssize_t overlay_manager_show(struct omap_overlay *ovl, char *buf)
++{
++ return snprintf(buf, PAGE_SIZE, "%s\n",
++ ovl->manager ? ovl->manager->name : "<none>");
++}
++
++static ssize_t overlay_manager_store(struct omap_overlay *ovl, const char *buf, size_t size)
++{
++ int i, r;
++ struct omap_overlay_manager *mgr = NULL;
++ int len = size;
++
++ if (buf[size-1] == '\n')
++ --len;
++
++ if (len > 0) {
++ for (i = 0; i < omap_dss_get_num_overlay_managers(); ++i) {
++ mgr = omap_dss_get_overlay_manager(i);
++
++ if (strncmp(buf, mgr->name, len) == 0)
++ break;
++
++ mgr = NULL;
++ }
++ }
++
++ if (len > 0 && mgr == NULL)
++ return -EINVAL;
++
++ if (mgr)
++ DSSDBG("manager %s found\n", mgr->name);
++
++ if (mgr != ovl->manager) {
++ /* detach old manager */
++ if (ovl->manager) {
++ r = ovl->unset_manager(ovl);
++ if (r) {
++ DSSERR("detach failed\n");
++ return r;
++ }
++ }
++
++ if (mgr) {
++ r = ovl->set_manager(ovl, mgr);
++ if (r) {
++ DSSERR("Failed to attach overlay\n");
++ return r;
++ }
++ }
++ }
++
++ if (ovl->manager && (r = ovl->manager->apply(ovl->manager)))
++ return r;
++
++ return size;
++}
++
++static ssize_t overlay_input_size_show(struct omap_overlay *ovl, char *buf)
++{
++ return snprintf(buf, PAGE_SIZE, "%d,%d\n",
++ ovl->info.width, ovl->info.height);
++}
++
++static ssize_t overlay_screen_width_show(struct omap_overlay *ovl, char *buf)
++{
++ return snprintf(buf, PAGE_SIZE, "%d\n", ovl->info.screen_width);
++}
++
++static ssize_t overlay_position_show(struct omap_overlay *ovl, char *buf)
++{
++ return snprintf(buf, PAGE_SIZE, "%d,%d\n",
++ ovl->info.pos_x, ovl->info.pos_y);
++}
++
++static ssize_t overlay_position_store(struct omap_overlay *ovl,
++ const char *buf, size_t size)
++{
++ int r;
++ char *last;
++ struct omap_overlay_info info;
++
++ ovl->get_overlay_info(ovl, &info);
++
++ info.pos_x = simple_strtoul(buf, &last, 10);
++ ++last;
++ if (last - buf >= size)
++ return -EINVAL;
++
++ info.pos_y = simple_strtoul(last, &last, 10);
++
++ if ((r = ovl->set_overlay_info(ovl, &info)))
++ return r;
++
++ if (ovl->manager && (r = ovl->manager->apply(ovl->manager)))
++ return r;
++
++ return size;
++}
++
++static ssize_t overlay_output_size_show(struct omap_overlay *ovl, char *buf)
++{
++ return snprintf(buf, PAGE_SIZE, "%d,%d\n",
++ ovl->info.out_width, ovl->info.out_height);
++}
++
++static ssize_t overlay_output_size_store(struct omap_overlay *ovl,
++ const char *buf, size_t size)
++{
++ int r;
++ char *last;
++ struct omap_overlay_info info;
++
++ ovl->get_overlay_info(ovl, &info);
++
++ info.out_width = simple_strtoul(buf, &last, 10);
++ ++last;
++ if (last - buf >= size)
++ return -EINVAL;
++
++ info.out_height = simple_strtoul(last, &last, 10);
++
++ if ((r = ovl->set_overlay_info(ovl, &info)))
++ return r;
++
++ if (ovl->manager && (r = ovl->manager->apply(ovl->manager)))
++ return r;
++
++ return size;
++}
++
++static ssize_t overlay_enabled_show(struct omap_overlay *ovl, char *buf)
++{
++ return snprintf(buf, PAGE_SIZE, "%d\n", ovl->info.enabled);
++}
++
++static ssize_t overlay_enabled_store(struct omap_overlay *ovl, const char *buf, size_t size)
++{
++ int r;
++ struct omap_overlay_info info;
++
++ ovl->get_overlay_info(ovl, &info);
++
++ info.enabled = simple_strtoul(buf, NULL, 10);
++
++ if ((r = ovl->set_overlay_info(ovl, &info)))
++ return r;
++
++ if (ovl->manager && (r = ovl->manager->apply(ovl->manager)))
++ return r;
++
++ return size;
++}
++
++struct overlay_attribute {
++ struct attribute attr;
++ ssize_t (*show)(struct omap_overlay *, char *);
++ ssize_t (*store)(struct omap_overlay *, const char *, size_t);
++};
++
++#define OVERLAY_ATTR(_name, _mode, _show, _store) \
++ struct overlay_attribute overlay_attr_##_name = \
++ __ATTR(_name, _mode, _show, _store)
++
++static OVERLAY_ATTR(name, S_IRUGO, overlay_name_show, NULL);
++static OVERLAY_ATTR(manager, S_IRUGO|S_IWUSR,
++ overlay_manager_show, overlay_manager_store);
++static OVERLAY_ATTR(input_size, S_IRUGO, overlay_input_size_show, NULL);
++static OVERLAY_ATTR(screen_width, S_IRUGO, overlay_screen_width_show, NULL);
++static OVERLAY_ATTR(position, S_IRUGO|S_IWUSR,
++ overlay_position_show, overlay_position_store);
++static OVERLAY_ATTR(output_size, S_IRUGO|S_IWUSR,
++ overlay_output_size_show, overlay_output_size_store);
++static OVERLAY_ATTR(enabled, S_IRUGO|S_IWUSR,
++ overlay_enabled_show, overlay_enabled_store);
++
++static struct attribute *overlay_sysfs_attrs[] = {
++ &overlay_attr_name.attr,
++ &overlay_attr_manager.attr,
++ &overlay_attr_input_size.attr,
++ &overlay_attr_screen_width.attr,
++ &overlay_attr_position.attr,
++ &overlay_attr_output_size.attr,
++ &overlay_attr_enabled.attr,
++ NULL
++};
++
++static ssize_t overlay_attr_show(struct kobject *kobj, struct attribute *attr, char *buf)
++{
++ struct omap_overlay *overlay;
++ struct overlay_attribute *overlay_attr;
++
++ overlay = container_of(kobj, struct omap_overlay, kobj);
++ overlay_attr = container_of(attr, struct overlay_attribute, attr);
++
++ if (!overlay_attr->show)
++ return -ENOENT;
++
++ return overlay_attr->show(overlay, buf);
++}
++
++static ssize_t overlay_attr_store(struct kobject *kobj, struct attribute *attr,
++ const char *buf, size_t size)
++{
++ struct omap_overlay *overlay;
++ struct overlay_attribute *overlay_attr;
++
++ overlay = container_of(kobj, struct omap_overlay, kobj);
++ overlay_attr = container_of(attr, struct overlay_attribute, attr);
++
++ if (!overlay_attr->store)
++ return -ENOENT;
++
++ return overlay_attr->store(overlay, buf, size);
++}
++
++static struct sysfs_ops overlay_sysfs_ops = {
++ .show = overlay_attr_show,
++ .store = overlay_attr_store,
++};
++
++static struct kobj_type overlay_ktype = {
++ .sysfs_ops = &overlay_sysfs_ops,
++ .default_attrs = overlay_sysfs_attrs,
++};
++
++/* Check if overlay parameters are compatible with display */
++int dss_check_overlay(struct omap_overlay *ovl, struct omap_display *display)
++{
++ struct omap_overlay_info *info;
++ u16 outw, outh;
++ u16 dw, dh;
++
++ if (!display)
++ return 0;
++
++ if (!ovl->info.enabled)
++ return 0;
++
++ info = &ovl->info;
++
++ display->get_resolution(display, &dw, &dh);
++
++ DSSDBG("check_overlay %d: (%d,%d %dx%d -> %dx%d) disp (%dx%d)\n",
++ ovl->id,
++ info->pos_x, info->pos_y,
++ info->width, info->height,
++ info->out_width, info->out_height,
++ dw, dh);
++
++ if ((ovl->caps & OMAP_DSS_OVL_CAP_SCALE) == 0) {
++ outw = info->width;
++ outh = info->height;
++ } else {
++ if (info->out_width == 0)
++ outw = info->width;
++ else
++ outw = info->out_width;
++
++ if (info->out_height == 0)
++ outh = info->height;
++ else
++ outh = info->out_height;
++ }
++
++ if (dw < info->pos_x + outw) {
++ DSSDBG("check_overlay failed 1: %d < %d + %d\n",
++ dw, info->pos_x, outw);
++ return -EINVAL;
++ }
++
++ if (dh < info->pos_y + outh) {
++ DSSDBG("check_overlay failed 2: %d < %d + %d\n",
++ dh, info->pos_y, outh);
++ return -EINVAL;
++ }
++
++ if ((ovl->supported_modes & info->color_mode) == 0) {
++ DSSERR("overlay doesn't support mode %d\n", info->color_mode);
++ return -EINVAL;
++ }
++
++ return 0;
++}
++
++static int dss_ovl_set_overlay_info(struct omap_overlay *ovl,
++ struct omap_overlay_info *info)
++{
++ int r;
++ struct omap_overlay_info old_info;
++
++ old_info = ovl->info;
++ ovl->info = *info;
++
++ if (ovl->manager) {
++ r = dss_check_overlay(ovl, ovl->manager->display);
++ if (r) {
++ ovl->info = old_info;
++ return r;
++ }
++ }
++
++ return 0;
++}
++
++static void dss_ovl_get_overlay_info(struct omap_overlay *ovl,
++ struct omap_overlay_info *info)
++{
++ *info = ovl->info;
++}
++
++static int omap_dss_set_manager(struct omap_overlay *ovl,
++ struct omap_overlay_manager *mgr)
++{
++ int r;
++
++ if (ovl->manager) {
++ DSSERR("overlay '%s' already has a manager '%s'\n",
++ ovl->name, ovl->manager->name);
++ }
++
++ r = dss_check_overlay(ovl, mgr->display);
++ if (r)
++ return r;
++
++ ovl->manager = mgr;
++
++ return 0;
++}
++
++static int omap_dss_unset_manager(struct omap_overlay *ovl)
++{
++ if (!ovl->manager) {
++ DSSERR("failed to detach overlay: manager not set\n");
++ return -EINVAL;
++ }
++
++ ovl->manager = NULL;
++
++ return 0;
++}
++
++int omap_dss_get_num_overlays(void)
++{
++ return num_overlays;
++}
++EXPORT_SYMBOL(omap_dss_get_num_overlays);
++
++struct omap_overlay *omap_dss_get_overlay(int num)
++{
++ int i = 0;
++ struct omap_overlay *ovl;
++
++ list_for_each_entry(ovl, &overlay_list, list) {
++ if (i++ == num)
++ return ovl;
++ }
++
++ return NULL;
++}
++EXPORT_SYMBOL(omap_dss_get_overlay);
++
++static void omap_dss_add_overlay(struct omap_overlay *overlay)
++{
++ ++num_overlays;
++ list_add_tail(&overlay->list, &overlay_list);
++}
++
++static struct omap_overlay *dispc_overlays[3];
++
++void dss_overlay_setup_dispc_manager(struct omap_overlay_manager *mgr)
++{
++ mgr->num_overlays = 3;
++ mgr->overlays = dispc_overlays;
++}
++
++void dss_init_overlays(struct platform_device *pdev, const char *def_disp_name)
++{
++ int i, r;
++ struct omap_overlay_manager *lcd_mgr;
++ struct omap_overlay_manager *tv_mgr;
++ struct omap_overlay_manager *def_mgr = NULL;
++
++ INIT_LIST_HEAD(&overlay_list);
++
++ num_overlays = 0;
++
++ for (i = 0; i < 3; ++i) {
++ struct omap_overlay *ovl;
++ ovl = kzalloc(sizeof(*ovl), GFP_KERNEL);
++
++ BUG_ON(ovl == NULL);
++
++ switch (i) {
++ case 0:
++ ovl->name = "gfx";
++ ovl->id = OMAP_DSS_GFX;
++ ovl->supported_modes = OMAP_DSS_COLOR_GFX_OMAP3;
++ ovl->caps = OMAP_DSS_OVL_CAP_DISPC;
++ break;
++ case 1:
++ ovl->name = "vid1";
++ ovl->id = OMAP_DSS_VIDEO1;
++ ovl->supported_modes = OMAP_DSS_COLOR_VID_OMAP3;
++ ovl->caps = OMAP_DSS_OVL_CAP_SCALE |
++ OMAP_DSS_OVL_CAP_DISPC;
++ break;
++ case 2:
++ ovl->name = "vid2";
++ ovl->id = OMAP_DSS_VIDEO2;
++ ovl->supported_modes = OMAP_DSS_COLOR_VID_OMAP3;
++ ovl->caps = OMAP_DSS_OVL_CAP_SCALE |
++ OMAP_DSS_OVL_CAP_DISPC;
++ break;
++ }
++
++ ovl->set_manager = &omap_dss_set_manager;
++ ovl->unset_manager = &omap_dss_unset_manager;
++ ovl->set_overlay_info = &dss_ovl_set_overlay_info;
++ ovl->get_overlay_info = &dss_ovl_get_overlay_info;
++
++ omap_dss_add_overlay(ovl);
++
++ r = kobject_init_and_add(&ovl->kobj, &overlay_ktype,
++ &pdev->dev.kobj, "overlay%d", i);
++
++ if (r) {
++ DSSERR("failed to create sysfs file\n");
++ continue;
++ }
++
++ dispc_overlays[i] = ovl;
++ }
++
++ lcd_mgr = omap_dss_get_overlay_manager(OMAP_DSS_OVL_MGR_LCD);
++ tv_mgr = omap_dss_get_overlay_manager(OMAP_DSS_OVL_MGR_TV);
++
++ if (def_disp_name) {
++ for (i = 0; i < omap_dss_get_num_displays() ; i++) {
++ struct omap_display *display = dss_get_display(i);
++
++ if (strcmp(display->name, def_disp_name) == 0) {
++ if (display->type != OMAP_DISPLAY_TYPE_VENC) {
++ lcd_mgr->set_display(lcd_mgr, display);
++ def_mgr = lcd_mgr;
++ } else {
++ lcd_mgr->set_display(tv_mgr, display);
++ def_mgr = tv_mgr;
++ }
++
++ break;
++ }
++ }
++
++ if (!def_mgr)
++ DSSWARN("default display %s not found\n",
++ def_disp_name);
++ }
++
++ if (def_mgr != lcd_mgr) {
++ /* connect lcd manager to first non-VENC display found */
++ for (i = 0; i < omap_dss_get_num_displays(); i++) {
++ struct omap_display *display = dss_get_display(i);
++ if (display->type != OMAP_DISPLAY_TYPE_VENC) {
++ lcd_mgr->set_display(lcd_mgr, display);
++
++ if (!def_mgr)
++ def_mgr = lcd_mgr;
++
++ break;
++ }
++ }
++ }
++
++ if (def_mgr != tv_mgr) {
++ /* connect tv manager to first VENC display found */
++ for (i = 0; i < omap_dss_get_num_displays(); i++) {
++ struct omap_display *display = dss_get_display(i);
++ if (display->type == OMAP_DISPLAY_TYPE_VENC) {
++ tv_mgr->set_display(tv_mgr, display);
++
++ if (!def_mgr)
++ def_mgr = tv_mgr;
++
++ break;
++ }
++ }
++ }
++
++ /* connect all dispc overlays to def_mgr */
++ if (def_mgr) {
++ for (i = 0; i < 3; i++) {
++ struct omap_overlay *ovl;
++ ovl = omap_dss_get_overlay(i);
++ omap_dss_set_manager(ovl, def_mgr);
++ }
++ }
++
++#ifdef L4_EXAMPLE
++ /* setup L4 overlay as an example */
++ {
++ static struct omap_overlay ovl = {
++ .name = "l4-ovl",
++ .supported_modes = OMAP_DSS_COLOR_RGB24U,
++ .set_manager = &omap_dss_set_manager,
++ .unset_manager = &omap_dss_unset_manager,
++ .setup_input = &omap_dss_setup_overlay_input,
++ .setup_output = &omap_dss_setup_overlay_output,
++ .enable = &omap_dss_enable_overlay,
++ };
++
++ static struct omap_overlay_manager mgr = {
++ .name = "l4",
++ .num_overlays = 1,
++ .overlays = &ovl,
++ .set_display = &omap_dss_set_display,
++ .unset_display = &omap_dss_unset_display,
++ .apply = &ovl_mgr_apply_l4,
++ .supported_displays =
++ OMAP_DISPLAY_TYPE_DBI | OMAP_DISPLAY_TYPE_DSI,
++ };
++
++ omap_dss_add_overlay(&ovl);
++ omap_dss_add_overlay_manager(&mgr);
++ omap_dss_set_manager(&ovl, &mgr);
++ }
++#endif
++}
++
++void dss_uninit_overlays(struct platform_device *pdev)
++{
++ struct omap_overlay *ovl;
++
++ while (!list_empty(&overlay_list)) {
++ ovl = list_first_entry(&overlay_list,
++ struct omap_overlay, list);
++ list_del(&ovl->list);
++ kobject_del(&ovl->kobj);
++ kobject_put(&ovl->kobj);
++ kfree(ovl);
++ }
++
++ num_overlays = 0;
++}
++
+diff --git a/drivers/video/omap2/dss/rfbi.c b/drivers/video/omap2/dss/rfbi.c
+new file mode 100644
+index 0000000..3e9ae1e
+--- /dev/null
++++ b/drivers/video/omap2/dss/rfbi.c
+@@ -0,0 +1,1304 @@
++/*
++ * linux/drivers/video/omap2/dss/rfbi.c
++ *
++ * Copyright (C) 2009 Nokia Corporation
+ * Author: Tomi Valkeinen <tomi.valkeinen@nokia.com>
+ *
+ * Some code and ideas taken from drivers/video/omap/ driver
@@ -7961,6 +12317,7 @@ index 0000000..b4b65e6
+#include <linux/kfifo.h>
+#include <linux/ktime.h>
+#include <linux/hrtimer.h>
++#include <linux/seq_file.h>
+
+#include <mach/board.h>
+#include <mach/display.h>
@@ -8089,7 +12446,7 @@ index 0000000..b4b65e6
+ return __raw_readl(rfbi.base + idx.idx);
+}
+
-+static void rfbi_enable_clocks(int enable)
++static void rfbi_enable_clocks(bool enable)
+{
+ if (enable)
+ dss_clk_enable(DSS_CLK_ICK | DSS_CLK_FCK1);
@@ -8192,8 +12549,9 @@ index 0000000..b4b65e6
+}
+EXPORT_SYMBOL(omap_rfbi_write_data);
+
-+void omap_rfbi_write_pixels(const void *buf, int scr_width, int x, int y,
-+ int w, int h)
++void omap_rfbi_write_pixels(const void __iomem *buf, int scr_width,
++ u16 x, u16 y,
++ u16 w, u16 h)
+{
+ int start_offset = scr_width * y + x;
+ int horiz_offset = scr_width - w;
@@ -8203,41 +12561,41 @@ index 0000000..b4b65e6
+
+ if (rfbi.datatype == OMAP_DSS_RFBI_DATATYPE_16 &&
+ rfbi.parallelmode == OMAP_DSS_RFBI_PARALLELMODE_8) {
-+ const u16 *pd = buf;
++ const u16 __iomem *pd = buf;
+ pd += start_offset;
+
+ for (; h; --h) {
+ for (i = 0; i < w; ++i) {
-+ const u8 *b = (const u8 *)pd;
-+ rfbi_write_reg(RFBI_PARAM, *(b+1));
-+ rfbi_write_reg(RFBI_PARAM, *(b+0));
++ const u8 __iomem *b = (const u8 __iomem *)pd;
++ rfbi_write_reg(RFBI_PARAM, __raw_readb(b+1));
++ rfbi_write_reg(RFBI_PARAM, __raw_readb(b+0));
+ ++pd;
+ }
+ pd += horiz_offset;
+ }
+ } else if (rfbi.datatype == OMAP_DSS_RFBI_DATATYPE_24 &&
+ rfbi.parallelmode == OMAP_DSS_RFBI_PARALLELMODE_8) {
-+ const u32 *pd = buf;
++ const u32 __iomem *pd = buf;
+ pd += start_offset;
+
+ for (; h; --h) {
+ for (i = 0; i < w; ++i) {
-+ const u8 *b = (const u8 *)pd;
-+ rfbi_write_reg(RFBI_PARAM, *(b+2));
-+ rfbi_write_reg(RFBI_PARAM, *(b+1));
-+ rfbi_write_reg(RFBI_PARAM, *(b+0));
++ const u8 __iomem *b = (const u8 __iomem *)pd;
++ rfbi_write_reg(RFBI_PARAM, __raw_readb(b+2));
++ rfbi_write_reg(RFBI_PARAM, __raw_readb(b+1));
++ rfbi_write_reg(RFBI_PARAM, __raw_readb(b+0));
+ ++pd;
+ }
+ pd += horiz_offset;
+ }
+ } else if (rfbi.datatype == OMAP_DSS_RFBI_DATATYPE_16 &&
+ rfbi.parallelmode == OMAP_DSS_RFBI_PARALLELMODE_16) {
-+ const u16 *pd = buf;
++ const u16 __iomem *pd = buf;
+ pd += start_offset;
+
+ for (; h; --h) {
+ for (i = 0; i < w; ++i) {
-+ rfbi_write_reg(RFBI_PARAM, *pd);
++ rfbi_write_reg(RFBI_PARAM, __raw_readw(pd));
+ ++pd;
+ }
+ pd += horiz_offset;
@@ -8299,7 +12657,7 @@ index 0000000..b4b65e6
+#define perf_show(x)
+#endif
+
-+void rfbi_transfer_area(int width, int height,
++void rfbi_transfer_area(u16 width, u16 height,
+ void (callback)(void *data), void *data)
+{
+ u32 l;
@@ -8668,7 +13026,7 @@ index 0000000..b4b65e6
+EXPORT_SYMBOL(omap_rfbi_setup_te);
+
+/* xxx FIX module selection missing */
-+int omap_rfbi_enable_te(int enable, unsigned line)
++int omap_rfbi_enable_te(bool enable, unsigned line)
+{
+ u32 l;
+
@@ -8891,10 +13249,10 @@ index 0000000..b4b65e6
+/* returns 1 for async op, and 0 for sync op */
+static int do_update(struct omap_display *display, struct update_region *upd)
+{
-+ int x = upd->x;
-+ int y = upd->y;
-+ int w = upd->w;
-+ int h = upd->h;
++ u16 x = upd->x;
++ u16 y = upd->y;
++ u16 w = upd->w;
++ u16 h = upd->h;
+
+ perf_mark_setup();
+
@@ -8914,10 +13272,10 @@ index 0000000..b4b65e6
+ return 1;
+ } else {
+ struct omap_overlay *ovl;
-+ void *addr;
++ void __iomem *addr;
+ int scr_width;
+
-+ ovl = &display->manager->overlays[0];
++ ovl = display->manager->overlays[0];
+ scr_width = ovl->info.screen_width;
+ addr = ovl->info.vaddr;
+
@@ -9041,6 +13399,45 @@ index 0000000..b4b65e6
+ process_cmd_fifo();
+}
+
++void rfbi_dump_regs(struct seq_file *s)
++{
++#define DUMPREG(r) seq_printf(s, "%-35s %08x\n", #r, rfbi_read_reg(r))
++
++ dss_clk_enable(DSS_CLK_ICK | DSS_CLK_FCK1);
++
++ DUMPREG(RFBI_REVISION);
++ DUMPREG(RFBI_SYSCONFIG);
++ DUMPREG(RFBI_SYSSTATUS);
++ DUMPREG(RFBI_CONTROL);
++ DUMPREG(RFBI_PIXEL_CNT);
++ DUMPREG(RFBI_LINE_NUMBER);
++ DUMPREG(RFBI_CMD);
++ DUMPREG(RFBI_PARAM);
++ DUMPREG(RFBI_DATA);
++ DUMPREG(RFBI_READ);
++ DUMPREG(RFBI_STATUS);
++
++ DUMPREG(RFBI_CONFIG(0));
++ DUMPREG(RFBI_ONOFF_TIME(0));
++ DUMPREG(RFBI_CYCLE_TIME(0));
++ DUMPREG(RFBI_DATA_CYCLE1(0));
++ DUMPREG(RFBI_DATA_CYCLE2(0));
++ DUMPREG(RFBI_DATA_CYCLE3(0));
++
++ DUMPREG(RFBI_CONFIG(1));
++ DUMPREG(RFBI_ONOFF_TIME(1));
++ DUMPREG(RFBI_CYCLE_TIME(1));
++ DUMPREG(RFBI_DATA_CYCLE1(1));
++ DUMPREG(RFBI_DATA_CYCLE2(1));
++ DUMPREG(RFBI_DATA_CYCLE3(1));
++
++ DUMPREG(RFBI_VSYNC_WIDTH);
++ DUMPREG(RFBI_HSYNC_WIDTH);
++
++ dss_clk_disable(DSS_CLK_ICK | DSS_CLK_FCK1);
++#undef DUMPREG
++}
++
+int rfbi_init(void)
+{
+ u32 rev;
@@ -9093,7 +13490,7 @@ index 0000000..b4b65e6
+
+/* struct omap_display support */
+static int rfbi_display_update(struct omap_display *display,
-+ int x, int y, int w, int h)
++ u16 x, u16 y, u16 w, u16 h)
+{
+ int rfbi_module;
+
@@ -9122,7 +13519,7 @@ index 0000000..b4b65e6
+ return 0;
+}
+
-+static int rfbi_display_enable_te(struct omap_display *display, int enable)
++static int rfbi_display_enable_te(struct omap_display *display, bool enable)
+{
+ display->ctrl->enable_te(display, enable);
+ return 0;
@@ -9175,7 +13572,8 @@ index 0000000..b4b65e6
+static void rfbi_display_disable(struct omap_display *display)
+{
+ display->ctrl->disable(display);
-+ omap_dispc_unregister_isr(framedone_callback);
++ omap_dispc_unregister_isr(framedone_callback, NULL,
++ DISPC_IRQ_FRAMEDONE);
+}
+
+void rfbi_init_display(struct omap_display *display)
@@ -9190,16 +13588,16 @@ index 0000000..b4b65e6
+
+ display->caps = OMAP_DSS_DISPLAY_CAP_MANUAL_UPDATE;
+}
-diff --git a/arch/arm/plat-omap/dss/sdi.c b/arch/arm/plat-omap/dss/sdi.c
+diff --git a/drivers/video/omap2/dss/sdi.c b/drivers/video/omap2/dss/sdi.c
new file mode 100644
-index 0000000..02d549b
+index 0000000..fbff2b2
--- /dev/null
-+++ b/arch/arm/plat-omap/dss/sdi.c
-@@ -0,0 +1,174 @@
++++ b/drivers/video/omap2/dss/sdi.c
+@@ -0,0 +1,245 @@
+/*
-+ * linux/arch/arm/plat-omap/dss/sdi.c
++ * linux/drivers/video/omap2/dss/sdi.c
+ *
-+ * Copyright (C) 2008 Nokia Corporation
++ * Copyright (C) 2009 Nokia Corporation
+ * Author: Tomi Valkeinen <tomi.valkeinen@nokia.com>
+ *
+ * This program is free software; you can redistribute it and/or modify it
@@ -9228,59 +13626,52 @@ index 0000000..02d549b
+
+
+static struct {
-+ int update_enabled;
++ bool skip_init;
++ bool update_enabled;
+} sdi;
+
++static void sdi_basic_init(void)
++{
++ dispc_set_parallel_interface_mode(OMAP_DSS_PARALLELMODE_BYPASS);
++
++ dispc_set_lcd_display_type(OMAP_DSS_LCD_DISPLAY_TFT);
++ dispc_set_tft_data_lines(24);
++ dispc_lcd_enable_signal_polarity(1);
++}
++
+static int sdi_display_enable(struct omap_display *display)
+{
+ struct dispc_clock_info cinfo;
-+ int lck_div, pck_div;
++ u16 lck_div, pck_div;
+ unsigned long fck;
+ struct omap_panel *panel = display->panel;
-+ unsigned high, low, burst;
+ unsigned long pck;
++ int r;
+
+ if (display->state != OMAP_DSS_DISPLAY_DISABLED) {
+ DSSERR("display already enabled\n");
+ return -EINVAL;
+ }
+
-+ panel->enable(display);
-+
-+ dss_clk_enable(DSS_CLK_ICK | DSS_CLK_FCK1);
-+
-+ dispc_set_parallel_interface_mode(OMAP_DSS_PARALLELMODE_BYPASS);
-+
-+ dispc_set_burst_size(OMAP_DSS_GFX, OMAP_DSS_BURST_16x32);
-+ dispc_set_burst_size(OMAP_DSS_VIDEO1, OMAP_DSS_BURST_16x32);
-+ dispc_set_burst_size(OMAP_DSS_VIDEO2, OMAP_DSS_BURST_16x32);
-+
-+ burst = 16 * 32 / 8;
-+
-+ high = dispc_get_plane_fifo_size(OMAP_DSS_GFX) - burst;
-+ low = dispc_get_plane_fifo_size(OMAP_DSS_GFX) / 4 * 3;
-+ dispc_setup_plane_fifo(OMAP_DSS_GFX, low, high);
-+
-+ high = dispc_get_plane_fifo_size(OMAP_DSS_VIDEO1) - burst;
-+ low = dispc_get_plane_fifo_size(OMAP_DSS_VIDEO1) / 4 * 3;
-+ dispc_setup_plane_fifo(OMAP_DSS_VIDEO1, low, high);
++ /* In case of skip_init sdi_init has already enabled the clocks */
++ if (!sdi.skip_init)
++ dss_clk_enable(DSS_CLK_ICK | DSS_CLK_FCK1);
+
-+ high = dispc_get_plane_fifo_size(OMAP_DSS_VIDEO2) - burst;
-+ low = dispc_get_plane_fifo_size(OMAP_DSS_VIDEO2) / 4 * 3;
-+ dispc_setup_plane_fifo(OMAP_DSS_VIDEO2, low, high);
++ sdi_basic_init();
+
+ /* 15.5.9.1.2 */
+ panel->config |= OMAP_DSS_LCD_RF | OMAP_DSS_LCD_ONOFF;
+
+ dispc_set_pol_freq(panel);
+
-+ dispc_calc_clock_div(1, panel->timings.pixel_clock * 1000,
-+ &cinfo);
++ if (!sdi.skip_init)
++ r = dispc_calc_clock_div(1, panel->timings.pixel_clock * 1000,
++ &cinfo);
++ else
++ r = dispc_get_clock_div(&cinfo);
+
-+ if (dispc_set_clock_div(&cinfo)) {
-+ DSSERR("Failed to set DSS clocks\n");
-+ return -EINVAL;
-+ }
++ if (r)
++ goto err0;
+
+ fck = cinfo.fck;
+ lck_div = cinfo.lck_div;
@@ -9296,37 +13687,98 @@ index 0000000..02d549b
+ panel->timings.pixel_clock = pck;
+ }
+
-+ dispc_set_lcd_timings(&panel->timings);
+
-+ dispc_set_lcd_display_type(OMAP_DSS_LCD_DISPLAY_TFT);
-+ dispc_set_tft_data_lines(24);
-+ dispc_lcd_enable_signal_polarity(1);
-+ dispc_pck_free_enable(1);
++ dispc_set_lcd_timings(&panel->timings);
+
-+ dss_sdi_init(display->hw_config.u.sdi.datapairs);
++ r = dispc_set_clock_div(&cinfo);
++ if (r)
++ goto err1;
+
-+ mdelay(2);
++ if (!sdi.skip_init) {
++ dss_sdi_init(display->hw_config.u.sdi.datapairs);
++ dss_sdi_enable();
++ mdelay(2);
++ }
+
+ dispc_enable_lcd_out(1);
+
++ r = panel->enable(display);
++ if (r)
++ goto err2;
++
+ display->state = OMAP_DSS_DISPLAY_ACTIVE;
+
++ sdi.skip_init = 0;
++
+ return 0;
++err2:
++ dispc_enable_lcd_out(0);
++err1:
++err0:
++ dss_clk_disable(DSS_CLK_ICK | DSS_CLK_FCK1);
++ return r;
+}
+
++static int sdi_display_resume(struct omap_display *display);
++
+static void sdi_display_disable(struct omap_display *display)
+{
+ if (display->state == OMAP_DSS_DISPLAY_DISABLED)
+ return;
+
++ if (display->state == OMAP_DSS_DISPLAY_SUSPENDED)
++ sdi_display_resume(display);
++
+ display->panel->disable(display);
++
+ dispc_enable_lcd_out(0);
+
++ dss_sdi_disable();
++
+ dss_clk_disable(DSS_CLK_ICK | DSS_CLK_FCK1);
+
+ display->state = OMAP_DSS_DISPLAY_DISABLED;
+}
+
++static int sdi_display_suspend(struct omap_display *display)
++{
++ if (display->state != OMAP_DSS_DISPLAY_ACTIVE)
++ return -EINVAL;
++
++ if (display->panel->suspend)
++ display->panel->suspend(display);
++
++ dispc_enable_lcd_out(0);
++
++ dss_sdi_disable();
++
++ dss_clk_disable(DSS_CLK_ICK | DSS_CLK_FCK1);
++
++ display->state = OMAP_DSS_DISPLAY_SUSPENDED;
++
++ return 0;
++}
++
++static int sdi_display_resume(struct omap_display *display)
++{
++ if (display->state != OMAP_DSS_DISPLAY_SUSPENDED)
++ return -EINVAL;
++
++ dss_clk_enable(DSS_CLK_ICK | DSS_CLK_FCK1);
++
++ dss_sdi_enable();
++ mdelay(2);
++
++ dispc_enable_lcd_out(1);
++
++ if (display->panel->resume)
++ display->panel->resume(display);
++
++ display->state = OMAP_DSS_DISPLAY_ACTIVE;
++
++ return 0;
++}
++
+static int sdi_display_set_update_mode(struct omap_display *display,
+ enum omap_dss_update_mode mode)
+{
@@ -9351,6 +13803,11 @@ index 0000000..02d549b
+ OMAP_DSS_UPDATE_DISABLED;
+}
+
++static void sdi_get_timings(struct omap_display *display,
++ struct omap_video_timings *timings)
++{
++ *timings = display->panel->timings;
++}
+
+void sdi_init_display(struct omap_display *display)
+{
@@ -9358,28 +13815,40 @@ index 0000000..02d549b
+
+ display->enable = sdi_display_enable;
+ display->disable = sdi_display_disable;
++ display->suspend = sdi_display_suspend;
++ display->resume = sdi_display_resume;
+ display->set_update_mode = sdi_display_set_update_mode;
+ display->get_update_mode = sdi_display_get_update_mode;
++ display->get_timings = sdi_get_timings;
+}
+
-+int sdi_init(void)
++int sdi_init(bool skip_init)
+{
++ /* we store this for first display enable, then clear it */
++ sdi.skip_init = skip_init;
++
++ /*
++ * Enable clocks already here, otherwise there would be a toggle
++ * of them until sdi_display_enable is called.
++ */
++ if (skip_init)
++ dss_clk_enable(DSS_CLK_ICK | DSS_CLK_FCK1);
+ return 0;
+}
+
+void sdi_exit(void)
+{
+}
-diff --git a/arch/arm/plat-omap/dss/venc.c b/arch/arm/plat-omap/dss/venc.c
+diff --git a/drivers/video/omap2/dss/venc.c b/drivers/video/omap2/dss/venc.c
new file mode 100644
-index 0000000..81319e4
+index 0000000..aceed9f
--- /dev/null
-+++ b/arch/arm/plat-omap/dss/venc.c
-@@ -0,0 +1,506 @@
++++ b/drivers/video/omap2/dss/venc.c
+@@ -0,0 +1,600 @@
+/*
-+ * linux/arch/arm/plat-omap/dss/venc.c
++ * linux/drivers/video/omap2/dss/venc.c
+ *
-+ * Copyright (C) 2008 Nokia Corporation
++ * Copyright (C) 2009 Nokia Corporation
+ * Author: Tomi Valkeinen <tomi.valkeinen@nokia.com>
+ *
+ * VENC settings from TI's DSS driver
@@ -9400,12 +13869,14 @@ index 0000000..81319e4
+#define DSS_SUBSYS_NAME "VENC"
+
+#include <linux/kernel.h>
++#include <linux/module.h>
+#include <linux/clk.h>
+#include <linux/err.h>
+#include <linux/io.h>
+#include <linux/mutex.h>
+#include <linux/completion.h>
+#include <linux/delay.h>
++#include <linux/string.h>
+
+#include <mach/display.h>
+#include <mach/cpu.h>
@@ -9499,9 +13970,6 @@ index 0000000..81319e4
+ u32 tvdetgp_int_start_stop_x;
+ u32 tvdetgp_int_start_stop_y;
+ u32 gen_ctrl;
-+
-+ int width;
-+ int height;
+};
+
+/* from TRM */
@@ -9530,7 +13998,7 @@ index 0000000..81319e4
+
+ .savid__eavid = 0x06A70108,
+ .flen__fal = 0x00180270,
-+ .lal__phase_reset = 0x00180270,
++ .lal__phase_reset = 0x00040135,
+ .hs_int_start_stop_x = 0x00880358,
+ .hs_ext_start_stop_x = 0x000F035F,
+ .vs_int_start_x = 0x01A70000,
@@ -9547,9 +14015,6 @@ index 0000000..81319e4
+ .tvdetgp_int_start_stop_x = 0x00140001,
+ .tvdetgp_int_start_stop_y = 0x00010001,
+ .gen_ctrl = 0x00FF0000,
-+
-+ .width = 720,
-+ .height = 574, /* for some reason, this isn't 576 */
+};
+
+/* from TRM */
@@ -9595,9 +14060,6 @@ index 0000000..81319e4
+ .tvdetgp_int_start_stop_x = 0x00140001,
+ .tvdetgp_int_start_stop_y = 0x00010001,
+ .gen_ctrl = 0x00F90000,
-+
-+ .width = 720,
-+ .height = 482,
+};
+
+static const struct venc_config venc_config_pal_bdghi = {
@@ -9641,20 +14103,41 @@ index 0000000..81319e4
+ .fid_int_start_x__fid_int_start_y = 0x0005008A,
+ .fid_int_offset_y__fid_ext_start_x = 0x002E0138,
+ .fid_ext_start_y__fid_ext_offset_y = 0x01380005,
++};
+
-+ .width = 720,
-+ .height = 576,
++const struct omap_video_timings omap_dss_pal_timings = {
++ .x_res = 720,
++ .y_res = 574,
++ .pixel_clock = 26181,
++ .hsw = 32,
++ .hfp = 80,
++ .hbp = 48,
++ .vsw = 7,
++ .vfp = 3,
++ .vbp = 6,
+};
++EXPORT_SYMBOL(omap_dss_pal_timings);
++
++const struct omap_video_timings omap_dss_ntsc_timings = {
++ .x_res = 720,
++ .y_res = 482,
++ .pixel_clock = 22153,
++ .hsw = 32,
++ .hfp = 80,
++ .hbp = 48,
++ .vsw = 10,
++ .vfp = 3,
++ .vbp = 6,
++};
++EXPORT_SYMBOL(omap_dss_ntsc_timings);
+
+static struct {
+ void __iomem *base;
-+ const struct venc_config *config;
+ struct mutex venc_lock;
+} venc;
+
+static struct omap_panel venc_panel = {
+ .name = "tv-out",
-+ .bpp = 24,
+};
+
+static inline void venc_write_reg(int idx, u32 val)
@@ -9727,13 +14210,16 @@ index 0000000..81319e4
+{
+ int t = 1000;
+
-+ venc_write_reg(VENC_F_CONTROL, venc_read_reg(VENC_F_CONTROL) | (1<<8));
++ venc_write_reg(VENC_F_CONTROL, 1<<8);
+ while (venc_read_reg(VENC_F_CONTROL) & (1<<8)) {
+ if (--t == 0) {
+ DSSERR("Failed to reset venc\n");
+ return;
+ }
+ }
++
++ /* the magical sleep that makes things work */
++ msleep(20);
+}
+
+static void venc_enable_clocks(int enable)
@@ -9746,20 +14232,25 @@ index 0000000..81319e4
+ DSS_CLK_96M);
+}
+
++static const struct venc_config *venc_timings_to_config(
++ struct omap_video_timings *timings)
++{
++ if (memcmp(&omap_dss_pal_timings, timings, sizeof(*timings)) == 0)
++ return &venc_config_pal_trm;
++
++ if (memcmp(&omap_dss_ntsc_timings, timings, sizeof(*timings)) == 0)
++ return &venc_config_ntsc_trm;
++
++ BUG();
++}
++
+int venc_init(void)
+{
+ u8 rev_id;
-+ int use_pal = 1; /* XXX */
+
+ mutex_init(&venc.venc_lock);
+
-+ if (use_pal)
-+ venc.config = &venc_config_pal_trm;
-+ else
-+ venc.config = &venc_config_ntsc_trm;
-+
-+ venc_panel.timings.x_res = venc.config->width;
-+ venc_panel.timings.y_res = venc.config->height;
++ venc_panel.timings = omap_dss_pal_timings;
+
+ venc.base = ioremap(VENC_BASE, SZ_1K);
+ if (!venc.base) {
@@ -9767,13 +14258,8 @@ index 0000000..81319e4
+ return -ENOMEM;
+ }
+
-+ /* enable clocks */
+ venc_enable_clocks(1);
+
-+ /* configure venc */
-+ venc_reset();
-+ venc_write_config(venc.config);
-+
+ rev_id = (u8)(venc_read_reg(VENC_REV_ID) & 0xff);
+ printk(KERN_INFO "OMAP VENC rev %d\n", rev_id);
+
@@ -9787,25 +14273,13 @@ index 0000000..81319e4
+ iounmap(venc.base);
+}
+
-+static void venc_sync_lost_handler(void *arg, u32 mask)
-+{
-+ /* we just catch SYNC_LOST_DIGIT here so that
-+ * dispc doesn't take it as an error */
-+}
-+
-+static int venc_enable_display(struct omap_display *display)
++static void venc_power_on(struct omap_display *display)
+{
-+ DSSDBG("venc_enable_display\n");
-+
-+ mutex_lock(&venc.venc_lock);
-+
-+ if (display->state != OMAP_DSS_DISPLAY_DISABLED) {
-+ mutex_unlock(&venc.venc_lock);
-+ return -EINVAL;
-+ }
-+
+ venc_enable_clocks(1);
+
++ venc_reset();
++ venc_write_config(venc_timings_to_config(&display->panel->timings));
++
+ dss_set_venc_output(display->hw_config.u.venc.type);
+ dss_set_dac_pwrdn_bgz(1);
+
@@ -9818,42 +14292,17 @@ index 0000000..81319e4
+ venc_write_reg(VENC_OUTPUT_CONTROL, 0xd);
+ }
+
-+ venc_write_config(venc.config);
-+
-+ dispc_set_digit_size(venc.config->width, venc.config->height/2);
++ dispc_set_digit_size(display->panel->timings.x_res,
++ display->panel->timings.y_res/2);
+
+ if (display->hw_config.panel_enable)
+ display->hw_config.panel_enable(display);
+
-+ dispc_go(OMAP_DSS_CHANNEL_DIGIT);
-+
-+ omap_dispc_register_isr(venc_sync_lost_handler, NULL,
-+ DISPC_IRQ_SYNC_LOST_DIGIT);
-+
+ dispc_enable_digit_out(1);
-+
-+ mdelay(20);
-+
-+ omap_dispc_unregister_isr(venc_sync_lost_handler);
-+
-+ display->state = OMAP_DSS_DISPLAY_ACTIVE;
-+
-+ mutex_unlock(&venc.venc_lock);
-+
-+ return 0;
+}
+
-+static void venc_disable_display(struct omap_display *display)
++static void venc_power_off(struct omap_display *display)
+{
-+ DSSDBG("venc_disable_display\n");
-+
-+ mutex_lock(&venc.venc_lock);
-+
-+ if (display->state == OMAP_DSS_DISPLAY_DISABLED) {
-+ mutex_unlock(&venc.venc_lock);
-+ return;
-+ }
-+
+ venc_write_reg(VENC_OUTPUT_CONTROL, 0);
+ dss_set_dac_pwrdn_bgz(0);
+
@@ -9863,493 +14312,139 @@ index 0000000..81319e4
+ display->hw_config.panel_disable(display);
+
+ venc_enable_clocks(0);
-+
-+ display->state = OMAP_DSS_DISPLAY_DISABLED;
-+
-+ mutex_unlock(&venc.venc_lock);
-+}
-+
-+static void venc_get_timings(struct omap_display *display,
-+ struct omap_video_timings *timings)
-+{
-+ *timings = venc_panel.timings;
+}
+
-+void venc_init_display(struct omap_display *display)
++static int venc_enable_display(struct omap_display *display)
+{
-+ display->panel = &venc_panel;
-+ display->enable = venc_enable_display;
-+ display->disable = venc_disable_display;
-+ display->get_timings = venc_get_timings;
-+}
-diff --git a/arch/arm/plat-omap/include/mach/display.h b/arch/arm/plat-omap/include/mach/display.h
-new file mode 100644
-index 0000000..49ab00a
---- /dev/null
-+++ b/arch/arm/plat-omap/include/mach/display.h
-@@ -0,0 +1,462 @@
-+/*
-+ * linux/include/asm-arm/arch-omap/display.h
-+ *
-+ * Copyright (C) 2008 Nokia Corporation
-+ * Author: Tomi Valkeinen <tomi.valkeinen@nokia.com>
-+ *
-+ * This program is free software; you can redistribute it and/or modify it
-+ * under the terms of the GNU General Public License version 2 as published by
-+ * the Free Software Foundation.
-+ *
-+ * 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 <http://www.gnu.org/licenses/>.
-+ */
-+
-+#ifndef __ASM_ARCH_OMAP_DISPLAY_H
-+#define __ASM_ARCH_OMAP_DISPLAY_H
-+
-+#include <asm/atomic.h>
-+
-+#define DISPC_IRQ_FRAMEDONE (1 << 0)
-+#define DISPC_IRQ_VSYNC (1 << 1)
-+#define DISPC_IRQ_EVSYNC_EVEN (1 << 2)
-+#define DISPC_IRQ_EVSYNC_ODD (1 << 3)
-+#define DISPC_IRQ_ACBIAS_COUNT_STAT (1 << 4)
-+#define DISPC_IRQ_PROG_LINE_NUM (1 << 5)
-+#define DISPC_IRQ_GFX_FIFO_UNDERFLOW (1 << 6)
-+#define DISPC_IRQ_GFX_END_WIN (1 << 7)
-+#define DISPC_IRQ_PAL_GAMMA_MASK (1 << 8)
-+#define DISPC_IRQ_OCP_ERR (1 << 9)
-+#define DISPC_IRQ_VID1_FIFO_UNDERFLOW (1 << 10)
-+#define DISPC_IRQ_VID1_END_WIN (1 << 11)
-+#define DISPC_IRQ_VID2_FIFO_UNDERFLOW (1 << 12)
-+#define DISPC_IRQ_VID2_END_WIN (1 << 13)
-+#define DISPC_IRQ_SYNC_LOST (1 << 14)
-+#define DISPC_IRQ_SYNC_LOST_DIGIT (1 << 15)
-+
-+enum omap_display_type {
-+ OMAP_DISPLAY_TYPE_NONE = 0,
-+ OMAP_DISPLAY_TYPE_DPI = 1 << 0,
-+ OMAP_DISPLAY_TYPE_DBI = 1 << 1,
-+ OMAP_DISPLAY_TYPE_SDI = 1 << 2,
-+ OMAP_DISPLAY_TYPE_DSI = 1 << 3,
-+ OMAP_DISPLAY_TYPE_VENC = 1 << 4,
-+};
-+
-+enum omap_plane {
-+ OMAP_DSS_GFX = 0,
-+ OMAP_DSS_VIDEO1 = 1,
-+ OMAP_DSS_VIDEO2 = 2
-+};
-+
-+enum omap_channel {
-+ OMAP_DSS_CHANNEL_LCD = 0,
-+ OMAP_DSS_CHANNEL_DIGIT = 1,
-+};
-+
-+enum omap_color_mode {
-+ OMAP_DSS_COLOR_CLUT1 = 1 << 0, /* BITMAP 1 */
-+ OMAP_DSS_COLOR_CLUT2 = 1 << 1, /* BITMAP 2 */
-+ OMAP_DSS_COLOR_CLUT4 = 1 << 2, /* BITMAP 4 */
-+ OMAP_DSS_COLOR_CLUT8 = 1 << 3, /* BITMAP 8 */
-+ OMAP_DSS_COLOR_RGB12U = 1 << 4, /* RGB12, 16-bit container */
-+ OMAP_DSS_COLOR_ARGB16 = 1 << 5, /* ARGB16 */
-+ OMAP_DSS_COLOR_RGB16 = 1 << 6, /* RGB16 */
-+ OMAP_DSS_COLOR_RGB24U = 1 << 7, /* RGB24, 32-bit container */
-+ OMAP_DSS_COLOR_RGB24P = 1 << 8, /* RGB24, 24-bit container */
-+ OMAP_DSS_COLOR_YUV2 = 1 << 9, /* YUV2 4:2:2 co-sited */
-+ OMAP_DSS_COLOR_UYVY = 1 << 10, /* UYVY 4:2:2 co-sited */
-+ OMAP_DSS_COLOR_ARGB32 = 1 << 11, /* ARGB32 */
-+ OMAP_DSS_COLOR_RGBA32 = 1 << 12, /* RGBA32 */
-+ OMAP_DSS_COLOR_RGBX32 = 1 << 13, /* RGBx32 */
-+
-+ OMAP_DSS_COLOR_GFX_OMAP3 =
-+ OMAP_DSS_COLOR_CLUT1 | OMAP_DSS_COLOR_CLUT2 |
-+ OMAP_DSS_COLOR_CLUT4 | OMAP_DSS_COLOR_CLUT8 |
-+ OMAP_DSS_COLOR_RGB12U | OMAP_DSS_COLOR_ARGB16 |
-+ OMAP_DSS_COLOR_RGB16 | OMAP_DSS_COLOR_RGB24U |
-+ OMAP_DSS_COLOR_RGB24P | OMAP_DSS_COLOR_ARGB32 |
-+ OMAP_DSS_COLOR_RGBA32 | OMAP_DSS_COLOR_RGBX32,
-+
-+ OMAP_DSS_COLOR_VID_OMAP3 =
-+ OMAP_DSS_COLOR_RGB12U | OMAP_DSS_COLOR_ARGB16 |
-+ OMAP_DSS_COLOR_RGB16 | OMAP_DSS_COLOR_RGB24U |
-+ OMAP_DSS_COLOR_RGB24P | OMAP_DSS_COLOR_ARGB32 |
-+ OMAP_DSS_COLOR_RGBA32 | OMAP_DSS_COLOR_RGBX32 |
-+ OMAP_DSS_COLOR_YUV2 | OMAP_DSS_COLOR_UYVY,
-+};
-+
-+enum omap_lcd_display_type {
-+ OMAP_DSS_LCD_DISPLAY_STN,
-+ OMAP_DSS_LCD_DISPLAY_TFT,
-+};
-+
-+enum omap_dss_load_mode {
-+ OMAP_DSS_LOAD_CLUT_AND_FRAME = 0,
-+ OMAP_DSS_LOAD_CLUT_ONLY = 1,
-+ OMAP_DSS_LOAD_FRAME_ONLY = 2,
-+ OMAP_DSS_LOAD_CLUT_ONCE_FRAME = 3,
-+};
-+
-+enum omap_dss_color_key_type {
-+ OMAP_DSS_COLOR_KEY_GFX_DST = 0,
-+ OMAP_DSS_COLOR_KEY_VID_SRC = 1,
-+};
-+
-+enum omap_rfbi_te_mode {
-+ OMAP_DSS_RFBI_TE_MODE_1 = 1,
-+ OMAP_DSS_RFBI_TE_MODE_2 = 2,
-+};
-+
-+enum omap_panel_config {
-+ OMAP_DSS_LCD_IVS = 1<<0,
-+ OMAP_DSS_LCD_IHS = 1<<1,
-+ OMAP_DSS_LCD_IPC = 1<<2,
-+ OMAP_DSS_LCD_IEO = 1<<3,
-+ OMAP_DSS_LCD_RF = 1<<4,
-+ OMAP_DSS_LCD_ONOFF = 1<<5,
-+
-+ OMAP_DSS_LCD_TFT = 1<<20,
-+};
-+
-+enum omap_dss_venc_type {
-+ OMAP_DSS_VENC_TYPE_COMPOSITE,
-+ OMAP_DSS_VENC_TYPE_SVIDEO,
-+};
-+
-+struct omap_display;
-+struct omap_panel;
-+struct omap_ctrl;
-+
-+/* RFBI */
-+
-+struct rfbi_timings {
-+ int cs_on_time;
-+ int cs_off_time;
-+ int we_on_time;
-+ int we_off_time;
-+ int re_on_time;
-+ int re_off_time;
-+ int we_cycle_time;
-+ int re_cycle_time;
-+ int cs_pulse_width;
-+ int access_time;
-+
-+ int clk_div;
-+
-+ u32 tim[5]; /* set by rfbi_convert_timings() */
-+
-+ int converted;
-+};
-+
-+void omap_rfbi_write_command(const void *buf, u32 len);
-+void omap_rfbi_read_data(void *buf, u32 len);
-+void omap_rfbi_write_data(const void *buf, u32 len);
-+void omap_rfbi_write_pixels(const void *buf, int scr_width, int x, int y,
-+ int w, int h);
-+int omap_rfbi_enable_te(int enable, unsigned line);
-+int omap_rfbi_setup_te(enum omap_rfbi_te_mode mode,
-+ unsigned hs_pulse_time, unsigned vs_pulse_time,
-+ int hs_pol_inv, int vs_pol_inv, int extif_div);
-+
-+/* DSI */
-+int dsi_vc_dcs_write(int channel, u8 *data, int len);
-+int dsi_vc_dcs_write_nosync(int channel, u8 *data, int len);
-+int dsi_vc_dcs_read(int channel, u8 dcs_cmd, u8 *buf, int buflen);
-+int dsi_vc_set_max_rx_packet_size(int channel, u16 len);
-+int dsi_vc_send_null(int channel);
-+
-+/* Board specific data */
-+struct omap_display_data {
-+ enum omap_display_type type;
-+
-+ union {
-+ struct {
-+ int data_lines;
-+ } dpi;
-+
-+ struct {
-+ int channel;
-+ int data_lines;
-+ } rfbi;
-+
-+ struct {
-+ int datapairs;
-+ } sdi;
-+
-+ struct {
-+ int clk_lane;
-+ int clk_pol;
-+ int data1_lane;
-+ int data1_pol;
-+ int data2_lane;
-+ int data2_pol;
-+ unsigned long ddr_clk_hz;
-+ } dsi;
-+
-+ struct {
-+ enum omap_dss_venc_type type;
-+ } venc;
-+ } u;
-+
-+ int panel_reset_gpio;
-+ int ctrl_reset_gpio;
-+
-+ const char *name; /* for debug */
-+ const char *ctrl_name;
-+ const char *panel_name;
-+
-+ void *priv;
-+
-+ /* platform specific enable/disable */
-+ int (*panel_enable)(struct omap_display *display);
-+ void (*panel_disable)(struct omap_display *display);
-+ int (*ctrl_enable)(struct omap_display *display);
-+ void (*ctrl_disable)(struct omap_display *display);
-+ int (*set_backlight)(struct omap_display *display,
-+ int level);
-+};
-+
-+struct device;
-+
-+/* Board specific data */
-+struct omap_dss_platform_data {
-+ unsigned (*get_last_off_on_transaction_id)(struct device *dev);
-+ int num_displays;
-+ struct omap_display_data *displays[];
-+};
-+
-+struct omap_ctrl {
-+ struct module *owner;
-+
-+ const char *name;
-+
-+ int (*init)(struct omap_display *display);
-+ void (*cleanup)(struct omap_display *display);
-+ int (*enable)(struct omap_display *display);
-+ void (*disable)(struct omap_display *display);
-+ int (*suspend)(struct omap_display *display);
-+ int (*resume)(struct omap_display *display);
-+ void (*setup_update)(struct omap_display *display,
-+ int x, int y, int w, int h);
-+
-+ int (*enable_te)(struct omap_display *display, int enable);
-+
-+ int (*rotate)(struct omap_display *display, int rotate);
-+ int (*mirror)(struct omap_display *display, int enable);
-+
-+ int (*run_test)(struct omap_display *display, int test);
-+
-+ int pixel_size;
-+
-+ struct rfbi_timings timings;
-+
-+ void *priv;
-+};
-+
-+struct omap_video_timings {
-+ /* Unit: pixels */
-+ u16 x_res;
-+ /* Unit: pixels */
-+ u16 y_res;
-+ /* Unit: KHz */
-+ u32 pixel_clock;
-+ /* Unit: pixel clocks */
-+ u16 hsw; /* Horizontal synchronization pulse width */
-+ /* Unit: pixel clocks */
-+ u16 hfp; /* Horizontal front porch */
-+ /* Unit: pixel clocks */
-+ u16 hbp; /* Horizontal back porch */
-+ /* Unit: line clocks */
-+ u16 vsw; /* Vertical synchronization pulse width */
-+ /* Unit: line clocks */
-+ u16 vfp; /* Vertical front porch */
-+ /* Unit: line clocks */
-+ u16 vbp; /* Vertical back porch */
-+
-+};
-+
-+struct omap_panel {
-+ struct module *owner;
-+
-+ const char *name;
-+
-+ int (*init)(struct omap_display *display);
-+ void (*cleanup)(struct omap_display *display);
-+ int (*remove)(struct omap_display *display);
-+ int (*enable)(struct omap_display *display);
-+ void (*disable)(struct omap_display *display);
-+ int (*suspend)(struct omap_display *display);
-+ int (*resume)(struct omap_display *display);
-+ int (*run_test)(struct omap_display *display, int test);
-+
-+ struct omap_video_timings timings;
-+
-+ int acbi; /* ac-bias pin transitions per interrupt */
-+ /* Unit: line clocks */
-+ int acb; /* ac-bias pin frequency */
-+
-+ enum omap_panel_config config;
-+
-+ int bpp;
-+
-+ void *priv;
-+};
-+
-+/* XXX perhaps this should be removed */
-+enum omap_dss_overlay_managers {
-+ OMAP_DSS_OVL_MGR_LCD,
-+ OMAP_DSS_OVL_MGR_TV,
-+};
-+
-+struct omap_overlay_manager;
++ int r = 0;
+
-+struct omap_overlay_info {
-+ int enabled;
-+ u32 paddr;
-+ void *vaddr;
-+ int screen_width;
-+ int pos_x;
-+ int pos_y;
-+ int width;
-+ int height;
-+ int out_width; /* if 0, out_width == width */
-+ int out_height; /* if 0, out_height == height */
-+ enum omap_color_mode color_mode;
-+};
++ DSSDBG("venc_enable_display\n");
+
-+enum omap_overlay_caps {
-+ OMAP_DSS_OVL_CAP_SCALE = 1 << 0,
-+};
++ mutex_lock(&venc.venc_lock);
+
-+struct omap_overlay {
++ if (display->state != OMAP_DSS_DISPLAY_DISABLED) {
++ r = -EINVAL;
++ goto err;
++ }
+
-+ const char *name;
-+ int id;
-+ struct omap_overlay_manager *manager;
-+ enum omap_color_mode supported_modes;
-+ struct omap_overlay_info info;
-+ enum omap_overlay_caps caps;
++ venc_power_on(display);
+
-+ int (*set_manager)(struct omap_overlay *ovl,
-+ struct omap_overlay_manager *mgr);
-+ int (*unset_manager)(struct omap_overlay *ovl);
++ display->state = OMAP_DSS_DISPLAY_ACTIVE;
++err:
++ mutex_unlock(&venc.venc_lock);
+
-+ int (*setup_input)(struct omap_overlay *ovl,
-+ u32 paddr, void *vaddr,
-+ int screen_width,
-+ int width, int height,
-+ enum omap_color_mode color_mode);
-+ int (*setup_output)(struct omap_overlay *ovl,
-+ int pos_x, int pos_y,
-+ int out_width, int out_height);
-+ int (*enable)(struct omap_overlay *ovl, int enable);
-+};
++ return r;
++}
+
-+enum omap_overlay_manager_caps {
-+ OMAP_DSS_OVL_MGR_CAP_DISPC = 1 << 0,
-+};
++static void venc_disable_display(struct omap_display *display)
++{
++ DSSDBG("venc_disable_display\n");
+
-+struct omap_overlay_manager {
++ mutex_lock(&venc.venc_lock);
+
-+ const char *name;
-+ int id;
-+ enum omap_overlay_manager_caps caps;
-+ struct omap_display *display;
-+ int num_overlays;
-+ struct omap_overlay *overlays;
-+ enum omap_display_type supported_displays;
++ if (display->state == OMAP_DSS_DISPLAY_DISABLED)
++ goto end;
+
-+ int (*set_display)(struct omap_overlay_manager *mgr,
-+ struct omap_display *display);
-+ int (*unset_display)(struct omap_overlay_manager *mgr);
++ if (display->state == OMAP_DSS_DISPLAY_SUSPENDED) {
++ /* suspended is the same as disabled with venc */
++ display->state = OMAP_DSS_DISPLAY_DISABLED;
++ goto end;
++ }
+
-+ int (*apply)(struct omap_overlay_manager *mgr);
-+};
++ venc_power_off(display);
+
-+enum omap_display_caps {
-+ OMAP_DSS_DISPLAY_CAP_MANUAL_UPDATE = 1 << 0,
-+};
++ display->state = OMAP_DSS_DISPLAY_DISABLED;
++end:
++ mutex_unlock(&venc.venc_lock);
++}
+
-+enum omap_dss_update_mode {
-+ OMAP_DSS_UPDATE_DISABLED = 0,
-+ OMAP_DSS_UPDATE_AUTO,
-+ OMAP_DSS_UPDATE_MANUAL,
-+};
++static int venc_display_suspend(struct omap_display *display)
++{
++ int r = 0;
+
-+enum omap_dss_display_state {
-+ OMAP_DSS_DISPLAY_DISABLED = 0,
-+ OMAP_DSS_DISPLAY_ACTIVE,
-+ OMAP_DSS_DISPLAY_SUSPENDED,
-+};
++ DSSDBG("venc_display_suspend\n");
+
-+struct omap_display {
-+ /*atomic_t ref_count;*/
-+ int ref_count;
++ mutex_lock(&venc.venc_lock);
+
-+ enum omap_display_type type;
-+ const char *name;
++ if (display->state != OMAP_DSS_DISPLAY_ACTIVE) {
++ r = -EINVAL;
++ goto err;
++ }
+
-+ enum omap_display_caps caps;
++ venc_power_off(display);
+
-+ struct omap_overlay_manager *manager;
++ display->state = OMAP_DSS_DISPLAY_SUSPENDED;
++err:
++ mutex_unlock(&venc.venc_lock);
+
-+ enum omap_dss_display_state state;
++ return r;
++}
+
-+ struct omap_display_data hw_config; /* board specific data */
-+ struct omap_ctrl *ctrl; /* static common data */
-+ struct omap_panel *panel; /* static common data */
++static int venc_display_resume(struct omap_display *display)
++{
++ int r = 0;
+
-+ int (*enable)(struct omap_display *display);
-+ void (*disable)(struct omap_display *display);
++ DSSDBG("venc_display_resume\n");
+
-+ int (*suspend)(struct omap_display *display);
-+ int (*resume)(struct omap_display *display);
++ mutex_lock(&venc.venc_lock);
+
-+ int (*check_timings)(struct omap_display *display,
-+ struct omap_video_timings *timings);
-+ void (*set_timings)(struct omap_display *display,
-+ struct omap_video_timings *timings);
-+ void (*get_timings)(struct omap_display *display,
-+ struct omap_video_timings *timings);
-+ int (*update)(struct omap_display *display,
-+ int x, int y, int w, int h);
-+ int (*sync)(struct omap_display *display);
++ if (display->state != OMAP_DSS_DISPLAY_SUSPENDED) {
++ r = -EINVAL;
++ goto err;
++ }
+
-+ int (*set_update_mode)(struct omap_display *display,
-+ enum omap_dss_update_mode);
-+ enum omap_dss_update_mode (*get_update_mode)
-+ (struct omap_display *display);
++ venc_power_on(display);
+
-+ int (*enable_te)(struct omap_display *display, int enable);
-+ int (*get_te)(struct omap_display *display);
++ display->state = OMAP_DSS_DISPLAY_ACTIVE;
++err:
++ mutex_unlock(&venc.venc_lock);
+
-+ int (*run_test)(struct omap_display *display, int test);
-+};
++ return r;
++}
+
-+int omap_dss_get_num_displays(void);
-+struct omap_display *omap_dss_get_display(int no);
-+void omap_dss_put_display(struct omap_display *display);
++static void venc_get_timings(struct omap_display *display,
++ struct omap_video_timings *timings)
++{
++ *timings = venc_panel.timings;
++}
+
-+void omap_dss_register_ctrl(struct omap_ctrl *ctrl);
-+void omap_dss_unregister_ctrl(struct omap_ctrl *ctrl);
++static void venc_set_timings(struct omap_display *display,
++ struct omap_video_timings *timings)
++{
++ DSSDBG("venc_set_timings\n");
++ display->panel->timings = *timings;
++ if (display->state == OMAP_DSS_DISPLAY_ACTIVE) {
++ /* turn the venc off and on to get new timings to use */
++ venc_disable_display(display);
++ venc_enable_display(display);
++ }
++}
+
-+void omap_dss_register_panel(struct omap_panel *panel);
-+void omap_dss_unregister_panel(struct omap_panel *panel);
++static int venc_check_timings(struct omap_display *display,
++ struct omap_video_timings *timings)
++{
++ DSSDBG("venc_check_timings\n");
+
-+int omap_dss_get_num_overlay_managers(void);
-+struct omap_overlay_manager *omap_dss_get_overlay_manager(int num);
++ if (memcmp(&omap_dss_pal_timings, timings, sizeof(*timings)) == 0)
++ return 0;
+
-+int omap_dss_get_num_overlays(void);
-+struct omap_overlay *omap_dss_get_overlay(int num);
++ if (memcmp(&omap_dss_ntsc_timings, timings, sizeof(*timings)) == 0)
++ return 0;
+
-+typedef void (*omap_dispc_isr_t) (void *arg, u32 mask);
-+int omap_dispc_register_isr(omap_dispc_isr_t isr, void *arg, u32 mask);
-+int omap_dispc_unregister_isr(omap_dispc_isr_t isr);
++ return -EINVAL;
++}
+
-+#endif
++void venc_init_display(struct omap_display *display)
++{
++ display->panel = &venc_panel;
++ display->enable = venc_enable_display;
++ display->disable = venc_disable_display;
++ display->suspend = venc_display_suspend;
++ display->resume = venc_display_resume;
++ display->get_timings = venc_get_timings;
++ display->set_timings = venc_set_timings;
++ display->check_timings = venc_check_timings;
++}
--
-1.5.6.3
+1.5.6.5
diff --git a/recipes/linux/linux-omap-pm/dss2/0004-DSS2-OMAP-framebuffer-driver.patch b/recipes/linux/linux-omap-pm/dss2/0004-DSS2-OMAP-framebuffer-driver.patch
new file mode 100644
index 0000000000..09afa7e5be
--- /dev/null
+++ b/recipes/linux/linux-omap-pm/dss2/0004-DSS2-OMAP-framebuffer-driver.patch
@@ -0,0 +1,3403 @@
+From db9314f01a207e256d545244d3d00dc4ce535280 Mon Sep 17 00:00:00 2001
+From: Tomi Valkeinen <tomi.valkeinen@nokia.com>
+Date: Thu, 2 Apr 2009 10:25:48 +0300
+Subject: [PATCH] DSS2: OMAP framebuffer driver
+
+Signed-off-by: Tomi Valkeinen <tomi.valkeinen@nokia.com>
+---
+ arch/arm/plat-omap/fb.c | 28 +
+ drivers/video/omap/Kconfig | 5 +-
+ drivers/video/omap2/omapfb/Kconfig | 35 +
+ drivers/video/omap2/omapfb/Makefile | 2 +
+ drivers/video/omap2/omapfb/omapfb-ioctl.c | 656 ++++++++++
+ drivers/video/omap2/omapfb/omapfb-main.c | 2010 +++++++++++++++++++++++++++++
+ drivers/video/omap2/omapfb/omapfb-sysfs.c | 371 ++++++
+ drivers/video/omap2/omapfb/omapfb.h | 153 +++
+ include/linux/omapfb.h | 20 +
+ 9 files changed, 3278 insertions(+), 2 deletions(-)
+ create mode 100644 drivers/video/omap2/omapfb/Kconfig
+ create mode 100644 drivers/video/omap2/omapfb/Makefile
+ create mode 100644 drivers/video/omap2/omapfb/omapfb-ioctl.c
+ create mode 100644 drivers/video/omap2/omapfb/omapfb-main.c
+ create mode 100644 drivers/video/omap2/omapfb/omapfb-sysfs.c
+ create mode 100644 drivers/video/omap2/omapfb/omapfb.h
+
+diff --git a/arch/arm/plat-omap/fb.c b/arch/arm/plat-omap/fb.c
+index 40615a6..1dc3415 100644
+--- a/arch/arm/plat-omap/fb.c
++++ b/arch/arm/plat-omap/fb.c
+@@ -327,6 +327,34 @@ static inline int omap_init_fb(void)
+
+ arch_initcall(omap_init_fb);
+
++#elif defined(CONFIG_FB_OMAP2) || defined(CONFIG_FB_OMAP2_MODULE)
++
++static u64 omap_fb_dma_mask = ~(u32)0;
++static struct omapfb_platform_data omapfb_config;
++
++static struct platform_device omap_fb_device = {
++ .name = "omapfb",
++ .id = -1,
++ .dev = {
++ .dma_mask = &omap_fb_dma_mask,
++ .coherent_dma_mask = ~(u32)0,
++ .platform_data = &omapfb_config,
++ },
++ .num_resources = 0,
++};
++
++void omapfb_set_platform_data(struct omapfb_platform_data *data)
++{
++ omapfb_config = *data;
++}
++
++static inline int omap_init_fb(void)
++{
++ return platform_device_register(&omap_fb_device);
++}
++
++arch_initcall(omap_init_fb);
++
+ #else
+
+ void omapfb_reserve_sdram(void) {}
+diff --git a/drivers/video/omap/Kconfig b/drivers/video/omap/Kconfig
+index c355b59..a1c10de 100644
+--- a/drivers/video/omap/Kconfig
++++ b/drivers/video/omap/Kconfig
+@@ -1,6 +1,7 @@
+ config FB_OMAP
+ tristate "OMAP frame buffer support (EXPERIMENTAL)"
+- depends on FB && ARCH_OMAP
++ depends on FB && ARCH_OMAP && (OMAP2_DSS = "n")
++
+ select FB_CFB_FILLRECT
+ select FB_CFB_COPYAREA
+ select FB_CFB_IMAGEBLIT
+@@ -72,7 +73,7 @@ config FB_OMAP_LCD_MIPID
+
+ config FB_OMAP_BOOTLOADER_INIT
+ bool "Check bootloader initialization"
+- depends on FB_OMAP
++ depends on FB_OMAP || FB_OMAP2
+ help
+ Say Y here if you want to enable checking if the bootloader has
+ already initialized the display controller. In this case the
+diff --git a/drivers/video/omap2/omapfb/Kconfig b/drivers/video/omap2/omapfb/Kconfig
+new file mode 100644
+index 0000000..4f66033
+--- /dev/null
++++ b/drivers/video/omap2/omapfb/Kconfig
+@@ -0,0 +1,35 @@
++menuconfig FB_OMAP2
++ tristate "OMAP2/3 frame buffer support (EXPERIMENTAL)"
++ depends on FB && OMAP2_DSS
++
++ select FB_CFB_FILLRECT
++ select FB_CFB_COPYAREA
++ select FB_CFB_IMAGEBLIT
++ help
++ Frame buffer driver for OMAP2/3 based boards.
++
++config FB_OMAP2_DEBUG_SUPPORT
++ bool "Debug support for OMAP2/3 FB"
++ default y
++ depends on FB_OMAP2
++ help
++ Support for debug output. You have to enable the actual printing
++ with debug module parameter.
++
++config FB_OMAP2_FORCE_AUTO_UPDATE
++ bool "Force main display to automatic update mode"
++ depends on FB_OMAP2
++ help
++ Forces main display to automatic update mode (if possible),
++ and also enables tearsync (if possible). By default
++ displays that support manual update are started in manual
++ update mode.
++
++config FB_OMAP2_NUM_FBS
++ int "Number of framebuffers"
++ range 1 10
++ default 3
++ depends on FB_OMAP2
++ help
++ Select the number of framebuffers created. OMAP2/3 has 3 overlays
++ so normally this would be 3.
+diff --git a/drivers/video/omap2/omapfb/Makefile b/drivers/video/omap2/omapfb/Makefile
+new file mode 100644
+index 0000000..51c2e00
+--- /dev/null
++++ b/drivers/video/omap2/omapfb/Makefile
+@@ -0,0 +1,2 @@
++obj-$(CONFIG_FB_OMAP2) += omapfb.o
++omapfb-y := omapfb-main.o omapfb-sysfs.o omapfb-ioctl.o
+diff --git a/drivers/video/omap2/omapfb/omapfb-ioctl.c b/drivers/video/omap2/omapfb/omapfb-ioctl.c
+new file mode 100644
+index 0000000..7f18d2a
+--- /dev/null
++++ b/drivers/video/omap2/omapfb/omapfb-ioctl.c
+@@ -0,0 +1,656 @@
++/*
++ * linux/drivers/video/omap2/omapfb-ioctl.c
++ *
++ * Copyright (C) 2008 Nokia Corporation
++ * Author: Tomi Valkeinen <tomi.valkeinen@nokia.com>
++ *
++ * Some code and ideas taken from drivers/video/omap/ driver
++ * by Imre Deak.
++ *
++ * This program is free software; you can redistribute it and/or modify it
++ * under the terms of the GNU General Public License version 2 as published by
++ * the Free Software Foundation.
++ *
++ * 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 <http://www.gnu.org/licenses/>.
++ */
++
++#include <linux/fb.h>
++#include <linux/device.h>
++#include <linux/uaccess.h>
++#include <linux/platform_device.h>
++#include <linux/mm.h>
++#include <linux/omapfb.h>
++#include <linux/vmalloc.h>
++
++#include <mach/display.h>
++#include <mach/vrfb.h>
++
++#include "omapfb.h"
++
++static int omapfb_setup_plane(struct fb_info *fbi, struct omapfb_plane_info *pi)
++{
++ struct omapfb_info *ofbi = FB2OFB(fbi);
++ struct omapfb2_device *fbdev = ofbi->fbdev;
++ struct omap_display *display = fb2display(fbi);
++ struct omap_overlay *ovl;
++ struct omap_overlay_info info;
++ int r = 0;
++
++ DBG("omapfb_setup_plane\n");
++
++ omapfb_lock(fbdev);
++
++ if (ofbi->num_overlays != 1) {
++ r = -EINVAL;
++ goto out;
++ }
++
++ /* XXX uses only the first overlay */
++ ovl = ofbi->overlays[0];
++
++ if (pi->enabled && !ofbi->region.size) {
++ /*
++ * This plane's memory was freed, can't enable it
++ * until it's reallocated.
++ */
++ r = -EINVAL;
++ goto out;
++ }
++
++ ovl->get_overlay_info(ovl, &info);
++
++ info.pos_x = pi->pos_x;
++ info.pos_y = pi->pos_y;
++ info.out_width = pi->out_width;
++ info.out_height = pi->out_height;
++ info.enabled = pi->enabled;
++
++ r = ovl->set_overlay_info(ovl, &info);
++ if (r)
++ goto out;
++
++ if (ovl->manager) {
++ r = ovl->manager->apply(ovl->manager);
++ if (r)
++ goto out;
++ }
++
++ if (display) {
++ u16 w, h;
++
++ if (display->sync)
++ display->sync(display);
++
++ display->get_resolution(display, &w, &h);
++
++ if (display->update)
++ display->update(display, 0, 0, w, h);
++ }
++
++out:
++ omapfb_unlock(fbdev);
++ if (r)
++ dev_err(fbdev->dev, "setup_plane failed\n");
++ return r;
++}
++
++static int omapfb_query_plane(struct fb_info *fbi, struct omapfb_plane_info *pi)
++{
++ struct omapfb_info *ofbi = FB2OFB(fbi);
++ struct omapfb2_device *fbdev = ofbi->fbdev;
++
++ omapfb_lock(fbdev);
++
++ if (ofbi->num_overlays != 1) {
++ memset(pi, 0, sizeof(*pi));
++ } else {
++ struct omap_overlay_info *ovli;
++ struct omap_overlay *ovl;
++
++ ovl = ofbi->overlays[0];
++ ovli = &ovl->info;
++
++ pi->pos_x = ovli->pos_x;
++ pi->pos_y = ovli->pos_y;
++ pi->enabled = ovli->enabled;
++ pi->channel_out = 0; /* xxx */
++ pi->mirror = 0;
++ pi->out_width = ovli->out_width;
++ pi->out_height = ovli->out_height;
++ }
++
++ omapfb_unlock(fbdev);
++
++ return 0;
++}
++
++static int omapfb_setup_mem(struct fb_info *fbi, struct omapfb_mem_info *mi)
++{
++ struct omapfb_info *ofbi = FB2OFB(fbi);
++ struct omapfb2_device *fbdev = ofbi->fbdev;
++ struct omapfb2_mem_region *rg;
++ int r, i;
++ size_t size;
++
++ if (mi->type > OMAPFB_MEMTYPE_MAX)
++ return -EINVAL;
++
++ size = PAGE_ALIGN(mi->size);
++
++ rg = &ofbi->region;
++
++ omapfb_lock(fbdev);
++
++ for (i = 0; i < ofbi->num_overlays; i++) {
++ if (ofbi->overlays[i]->info.enabled) {
++ r = -EBUSY;
++ goto out;
++ }
++ }
++
++ if (rg->size != size || rg->type != mi->type) {
++ r = omapfb_realloc_fbmem(fbi, size, mi->type);
++ if (r) {
++ dev_err(fbdev->dev, "realloc fbmem failed\n");
++ goto out;
++ }
++ }
++
++ r = 0;
++out:
++ omapfb_unlock(fbdev);
++
++ return r;
++}
++
++static int omapfb_query_mem(struct fb_info *fbi, struct omapfb_mem_info *mi)
++{
++ struct omapfb_info *ofbi = FB2OFB(fbi);
++ struct omapfb2_device *fbdev = ofbi->fbdev;
++ struct omapfb2_mem_region *rg;
++
++ rg = &ofbi->region;
++ memset(mi, 0, sizeof(*mi));
++
++ omapfb_lock(fbdev);
++ mi->size = rg->size;
++ mi->type = rg->type;
++ omapfb_unlock(fbdev);
++
++ return 0;
++}
++
++static int omapfb_update_window(struct fb_info *fbi,
++ u32 x, u32 y, u32 w, u32 h)
++{
++ struct omapfb_info *ofbi = FB2OFB(fbi);
++ struct omapfb2_device *fbdev = ofbi->fbdev;
++ struct omap_display *display = fb2display(fbi);
++ u16 dw, dh;
++
++ if (!display)
++ return 0;
++
++ if (w == 0 || h == 0)
++ return 0;
++
++ display->get_resolution(display, &dw, &dh);
++
++ if (x + w > dw || y + h > dh)
++ return -EINVAL;
++
++ omapfb_lock(fbdev);
++ display->update(display, x, y, w, h);
++ omapfb_unlock(fbdev);
++
++ return 0;
++}
++
++static int omapfb_set_update_mode(struct fb_info *fbi,
++ enum omapfb_update_mode mode)
++{
++ struct omapfb_info *ofbi = FB2OFB(fbi);
++ struct omapfb2_device *fbdev = ofbi->fbdev;
++ struct omap_display *display = fb2display(fbi);
++ enum omap_dss_update_mode um;
++ int r;
++
++ if (!display || !display->set_update_mode)
++ return -EINVAL;
++
++ switch (mode) {
++ case OMAPFB_UPDATE_DISABLED:
++ um = OMAP_DSS_UPDATE_DISABLED;
++ break;
++
++ case OMAPFB_AUTO_UPDATE:
++ um = OMAP_DSS_UPDATE_AUTO;
++ break;
++
++ case OMAPFB_MANUAL_UPDATE:
++ um = OMAP_DSS_UPDATE_MANUAL;
++ break;
++
++ default:
++ return -EINVAL;
++ }
++
++ omapfb_lock(fbdev);
++ r = display->set_update_mode(display, um);
++ omapfb_unlock(fbdev);
++
++ return r;
++}
++
++static int omapfb_get_update_mode(struct fb_info *fbi,
++ enum omapfb_update_mode *mode)
++{
++ struct omapfb_info *ofbi = FB2OFB(fbi);
++ struct omapfb2_device *fbdev = ofbi->fbdev;
++ struct omap_display *display = fb2display(fbi);
++ enum omap_dss_update_mode m;
++
++ if (!display || !display->get_update_mode)
++ return -EINVAL;
++
++ omapfb_lock(fbdev);
++ m = display->get_update_mode(display);
++ omapfb_unlock(fbdev);
++
++ switch (m) {
++ case OMAP_DSS_UPDATE_DISABLED:
++ *mode = OMAPFB_UPDATE_DISABLED;
++ break;
++ case OMAP_DSS_UPDATE_AUTO:
++ *mode = OMAPFB_AUTO_UPDATE;
++ break;
++ case OMAP_DSS_UPDATE_MANUAL:
++ *mode = OMAPFB_MANUAL_UPDATE;
++ break;
++ default:
++ BUG();
++ }
++
++ return 0;
++}
++
++/* XXX this color key handling is a hack... */
++static struct omapfb_color_key omapfb_color_keys[2];
++
++static int _omapfb_set_color_key(struct omap_overlay_manager *mgr,
++ struct omapfb_color_key *ck)
++{
++ enum omap_dss_color_key_type kt;
++
++ if(!mgr->set_default_color || !mgr->set_trans_key ||
++ !mgr->enable_trans_key)
++ return 0;
++
++ if (ck->key_type == OMAPFB_COLOR_KEY_DISABLED) {
++ mgr->enable_trans_key(mgr, 0);
++ omapfb_color_keys[mgr->id] = *ck;
++ return 0;
++ }
++
++ switch(ck->key_type) {
++ case OMAPFB_COLOR_KEY_GFX_DST:
++ kt = OMAP_DSS_COLOR_KEY_GFX_DST;
++ break;
++ case OMAPFB_COLOR_KEY_VID_SRC:
++ kt = OMAP_DSS_COLOR_KEY_VID_SRC;
++ break;
++ default:
++ return -EINVAL;
++ }
++
++ mgr->set_default_color(mgr, ck->background);
++ mgr->set_trans_key(mgr, kt, ck->trans_key);
++ mgr->enable_trans_key(mgr, 1);
++
++ omapfb_color_keys[mgr->id] = *ck;
++
++ return 0;
++}
++
++static int omapfb_set_color_key(struct fb_info *fbi,
++ struct omapfb_color_key *ck)
++{
++ struct omapfb_info *ofbi = FB2OFB(fbi);
++ struct omapfb2_device *fbdev = ofbi->fbdev;
++ int r;
++ int i;
++ struct omap_overlay_manager *mgr = NULL;
++
++ omapfb_lock(fbdev);
++
++ for (i = 0; i < ofbi->num_overlays; i++) {
++ if (ofbi->overlays[i]->manager) {
++ mgr = ofbi->overlays[i]->manager;
++ break;
++ }
++ }
++
++ if (!mgr) {
++ r = -EINVAL;
++ goto err;
++ }
++
++ if(!mgr->set_default_color || !mgr->set_trans_key ||
++ !mgr->enable_trans_key) {
++ r = -ENODEV;
++ goto err;
++ }
++
++ r = _omapfb_set_color_key(mgr, ck);
++err:
++ omapfb_unlock(fbdev);
++
++ return r;
++}
++
++static int omapfb_get_color_key(struct fb_info *fbi,
++ struct omapfb_color_key *ck)
++{
++ struct omapfb_info *ofbi = FB2OFB(fbi);
++ struct omapfb2_device *fbdev = ofbi->fbdev;
++ struct omap_overlay_manager *mgr = NULL;
++ int r = 0;
++ int i;
++
++ omapfb_lock(fbdev);
++
++ for (i = 0; i < ofbi->num_overlays; i++) {
++ if (ofbi->overlays[i]->manager) {
++ mgr = ofbi->overlays[i]->manager;
++ break;
++ }
++ }
++
++ if (!mgr) {
++ r = -EINVAL;
++ goto err;
++ }
++
++ if(!mgr->set_default_color || !mgr->set_trans_key ||
++ !mgr->enable_trans_key) {
++ r = -ENODEV;
++ goto err;
++ }
++
++ *ck = omapfb_color_keys[mgr->id];
++err:
++ omapfb_unlock(fbdev);
++
++ return r;
++}
++
++static int omapfb_memory_read(struct fb_info *fbi,
++ struct omapfb_memory_read *mr)
++{
++ struct omap_display *display = fb2display(fbi);
++ struct omapfb_info *ofbi = FB2OFB(fbi);
++ struct omapfb2_device *fbdev = ofbi->fbdev;
++ void *buf;
++ int r;
++
++ if (!display || !display->memory_read)
++ return -ENOENT;
++
++ if (!access_ok(VERIFY_WRITE, mr->buffer, mr->buffer_size))
++ return -EFAULT;
++
++ if (mr->w * mr->h * 3 > mr->buffer_size)
++ return -EINVAL;
++
++ buf = vmalloc(mr->buffer_size);
++ if (!buf) {
++ DBG("vmalloc failed\n");
++ return -ENOMEM;
++ }
++
++ omapfb_lock(fbdev);
++
++ r = display->memory_read(display, buf, mr->buffer_size,
++ mr->x, mr->y, mr->w, mr->h);
++
++ if (r > 0) {
++ if (copy_to_user(mr->buffer, buf, mr->buffer_size))
++ r = -EFAULT;
++ }
++
++ vfree(buf);
++
++ omapfb_unlock(fbdev);
++
++ return r;
++}
++
++int omapfb_ioctl(struct fb_info *fbi, unsigned int cmd, unsigned long arg)
++{
++ struct omapfb_info *ofbi = FB2OFB(fbi);
++ struct omapfb2_device *fbdev = ofbi->fbdev;
++ struct omap_display *display = fb2display(fbi);
++
++ union {
++ struct omapfb_update_window_old uwnd_o;
++ struct omapfb_update_window uwnd;
++ struct omapfb_plane_info plane_info;
++ struct omapfb_caps caps;
++ struct omapfb_mem_info mem_info;
++ struct omapfb_color_key color_key;
++ enum omapfb_update_mode update_mode;
++ int test_num;
++ struct omapfb_memory_read memory_read;
++ } p;
++
++ int r = 0;
++
++ switch (cmd) {
++ case OMAPFB_SYNC_GFX:
++ DBG("ioctl SYNC_GFX\n");
++ if (!display || !display->sync) {
++ /* DSS1 never returns an error here, so we neither */
++ /*r = -EINVAL;*/
++ break;
++ }
++
++ omapfb_lock(fbdev);
++ r = display->sync(display);
++ omapfb_unlock(fbdev);
++ break;
++
++ case OMAPFB_UPDATE_WINDOW_OLD:
++ DBG("ioctl UPDATE_WINDOW_OLD\n");
++ if (!display || !display->update) {
++ r = -EINVAL;
++ break;
++ }
++
++ if (copy_from_user(&p.uwnd_o,
++ (void __user *)arg,
++ sizeof(p.uwnd_o))) {
++ r = -EFAULT;
++ break;
++ }
++
++ r = omapfb_update_window(fbi, p.uwnd_o.x, p.uwnd_o.y,
++ p.uwnd_o.width, p.uwnd_o.height);
++ break;
++
++ case OMAPFB_UPDATE_WINDOW:
++ DBG("ioctl UPDATE_WINDOW\n");
++ if (!display || !display->update) {
++ r = -EINVAL;
++ break;
++ }
++
++ if (copy_from_user(&p.uwnd, (void __user *)arg,
++ sizeof(p.uwnd))) {
++ r = -EFAULT;
++ break;
++ }
++
++ r = omapfb_update_window(fbi, p.uwnd.x, p.uwnd.y,
++ p.uwnd.width, p.uwnd.height);
++ break;
++
++ case OMAPFB_SETUP_PLANE:
++ DBG("ioctl SETUP_PLANE\n");
++ if (copy_from_user(&p.plane_info, (void __user *)arg,
++ sizeof(p.plane_info)))
++ r = -EFAULT;
++ else
++ r = omapfb_setup_plane(fbi, &p.plane_info);
++ break;
++
++ case OMAPFB_QUERY_PLANE:
++ DBG("ioctl QUERY_PLANE\n");
++ r = omapfb_query_plane(fbi, &p.plane_info);
++ if (r < 0)
++ break;
++ if (copy_to_user((void __user *)arg, &p.plane_info,
++ sizeof(p.plane_info)))
++ r = -EFAULT;
++ break;
++
++ case OMAPFB_SETUP_MEM:
++ DBG("ioctl SETUP_MEM\n");
++ if (copy_from_user(&p.mem_info, (void __user *)arg,
++ sizeof(p.mem_info)))
++ r = -EFAULT;
++ else
++ r = omapfb_setup_mem(fbi, &p.mem_info);
++ break;
++
++ case OMAPFB_QUERY_MEM:
++ DBG("ioctl QUERY_MEM\n");
++ r = omapfb_query_mem(fbi, &p.mem_info);
++ if (r < 0)
++ break;
++ if (copy_to_user((void __user *)arg, &p.mem_info,
++ sizeof(p.mem_info)))
++ r = -EFAULT;
++ break;
++
++ case OMAPFB_GET_CAPS:
++ DBG("ioctl GET_CAPS\n");
++ if (!display) {
++ r = -EINVAL;
++ break;
++ }
++
++ p.caps.ctrl = display->caps;
++
++ if (copy_to_user((void __user *)arg, &p.caps, sizeof(p.caps)))
++ r = -EFAULT;
++ break;
++
++ case OMAPFB_SET_UPDATE_MODE:
++ DBG("ioctl SET_UPDATE_MODE\n");
++ if (get_user(p.update_mode, (int __user *)arg))
++ r = -EFAULT;
++ else
++ r = omapfb_set_update_mode(fbi, p.update_mode);
++ break;
++
++ case OMAPFB_GET_UPDATE_MODE:
++ DBG("ioctl GET_UPDATE_MODE\n");
++ r = omapfb_get_update_mode(fbi, &p.update_mode);
++ if (r)
++ break;
++ if (put_user(p.update_mode,
++ (enum omapfb_update_mode __user *)arg))
++ r = -EFAULT;
++ break;
++
++ case OMAPFB_SET_COLOR_KEY:
++ DBG("ioctl SET_COLOR_KEY\n");
++ if (copy_from_user(&p.color_key, (void __user *)arg,
++ sizeof(p.color_key)))
++ r = -EFAULT;
++ else
++ r = omapfb_set_color_key(fbi, &p.color_key);
++ break;
++
++ case OMAPFB_GET_COLOR_KEY:
++ DBG("ioctl GET_COLOR_KEY\n");
++ if ((r = omapfb_get_color_key(fbi, &p.color_key)) < 0)
++ break;
++ if (copy_to_user((void __user *)arg, &p.color_key,
++ sizeof(p.color_key)))
++ r = -EFAULT;
++ break;
++
++ case OMAPFB_WAITFORVSYNC:
++ DBG("ioctl WAITFORVSYNC\n");
++ if (!display) {
++ r = -EINVAL;
++ break;
++ }
++
++ r = display->wait_vsync(display);
++ break;
++
++ /* LCD and CTRL tests do the same thing for backward
++ * compatibility */
++ case OMAPFB_LCD_TEST:
++ DBG("ioctl LCD_TEST\n");
++ if (get_user(p.test_num, (int __user *)arg)) {
++ r = -EFAULT;
++ break;
++ }
++ if (!display || !display->run_test) {
++ r = -EINVAL;
++ break;
++ }
++
++ r = display->run_test(display, p.test_num);
++
++ break;
++
++ case OMAPFB_CTRL_TEST:
++ DBG("ioctl CTRL_TEST\n");
++ if (get_user(p.test_num, (int __user *)arg)) {
++ r = -EFAULT;
++ break;
++ }
++ if (!display || !display->run_test) {
++ r = -EINVAL;
++ break;
++ }
++
++ r = display->run_test(display, p.test_num);
++
++ break;
++
++ case OMAPFB_MEMORY_READ:
++ DBG("ioctl MEMORY_READ\n");
++
++ if (copy_from_user(&p.memory_read, (void __user *)arg,
++ sizeof(p.memory_read))) {
++ r = -EFAULT;
++ break;
++ }
++
++ r = omapfb_memory_read(fbi, &p.memory_read);
++
++ break;
++
++ default:
++ dev_err(fbdev->dev, "Unknown ioctl 0x%x\n", cmd);
++ r = -EINVAL;
++ }
++
++ if (r < 0)
++ DBG("ioctl failed: %d\n", r);
++
++ return r;
++}
++
++
+diff --git a/drivers/video/omap2/omapfb/omapfb-main.c b/drivers/video/omap2/omapfb/omapfb-main.c
+new file mode 100644
+index 0000000..852abe5
+--- /dev/null
++++ b/drivers/video/omap2/omapfb/omapfb-main.c
+@@ -0,0 +1,2010 @@
++/*
++ * linux/drivers/video/omap2/omapfb-main.c
++ *
++ * Copyright (C) 2008 Nokia Corporation
++ * Author: Tomi Valkeinen <tomi.valkeinen@nokia.com>
++ *
++ * Some code and ideas taken from drivers/video/omap/ driver
++ * by Imre Deak.
++ *
++ * This program is free software; you can redistribute it and/or modify it
++ * under the terms of the GNU General Public License version 2 as published by
++ * the Free Software Foundation.
++ *
++ * 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 <http://www.gnu.org/licenses/>.
++ */
++
++#include <linux/module.h>
++#include <linux/delay.h>
++#include <linux/fb.h>
++#include <linux/dma-mapping.h>
++#include <linux/vmalloc.h>
++#include <linux/device.h>
++#include <linux/platform_device.h>
++#include <linux/omapfb.h>
++
++#include <mach/display.h>
++#include <mach/vram.h>
++#include <mach/vrfb.h>
++
++#include "omapfb.h"
++
++#define MODULE_NAME "omapfb"
++
++static char *def_mode;
++static char *def_vram;
++static int def_vrfb;
++static int def_rotate;
++static int def_mirror;
++
++#ifdef DEBUG
++unsigned int omapfb_debug;
++module_param_named(debug, omapfb_debug, bool, 0644);
++static unsigned int omapfb_test_pattern;
++module_param_named(test, omapfb_test_pattern, bool, 0644);
++#endif
++
++#ifdef DEBUG
++static void draw_pixel(struct fb_info *fbi, int x, int y, unsigned color)
++{
++ struct fb_var_screeninfo *var = &fbi->var;
++ struct fb_fix_screeninfo *fix = &fbi->fix;
++ void __iomem *addr = fbi->screen_base;
++ const unsigned bytespp = var->bits_per_pixel >> 3;
++ const unsigned line_len = fix->line_length / bytespp;
++
++ int r = (color >> 16) & 0xff;
++ int g = (color >> 8) & 0xff;
++ int b = (color >> 0) & 0xff;
++
++ if (var->bits_per_pixel == 16) {
++ u16 __iomem *p = (u16 __iomem *)addr;
++ p += y * line_len + x;
++
++ r = r * 32 / 256;
++ g = g * 64 / 256;
++ b = b * 32 / 256;
++
++ __raw_writew((r << 11) | (g << 5) | (b << 0), p);
++ } else if (var->bits_per_pixel == 24) {
++ u8 __iomem *p = (u8 __iomem *)addr;
++ p += (y * line_len + x) * 3;
++
++ __raw_writeb(b, p + 0);
++ __raw_writeb(g, p + 1);
++ __raw_writeb(r, p + 2);
++ } else if (var->bits_per_pixel == 32) {
++ u32 __iomem *p = (u32 __iomem *)addr;
++ p += y * line_len + x;
++ __raw_writel(color, p);
++ }
++}
++
++static void fill_fb(struct fb_info *fbi)
++{
++ struct fb_var_screeninfo *var = &fbi->var;
++ const short w = var->xres_virtual;
++ const short h = var->yres_virtual;
++ void __iomem *addr = fbi->screen_base;
++ int y, x;
++
++ if (!addr)
++ return;
++
++ DBG("fill_fb %dx%d, line_len %d bytes\n", w, h, fbi->fix.line_length);
++
++ for (y = 0; y < h; y++) {
++ for (x = 0; x < w; x++) {
++ if (x < 20 && y < 20)
++ draw_pixel(fbi, x, y, 0xffffff);
++ else if (x < 20 && (y > 20 && y < h - 20))
++ draw_pixel(fbi, x, y, 0xff);
++ else if (y < 20 && (x > 20 && x < w - 20))
++ draw_pixel(fbi, x, y, 0xff00);
++ else if (x > w - 20 && (y > 20 && y < h - 20))
++ draw_pixel(fbi, x, y, 0xff0000);
++ else if (y > h - 20 && (x > 20 && x < w - 20))
++ draw_pixel(fbi, x, y, 0xffff00);
++ else if (x == 20 || x == w - 20 ||
++ y == 20 || y == h - 20)
++ draw_pixel(fbi, x, y, 0xffffff);
++ else if (x == y || w - x == h - y)
++ draw_pixel(fbi, x, y, 0xff00ff);
++ else if (w - x == y || x == h - y)
++ draw_pixel(fbi, x, y, 0x00ffff);
++ else if (x > 20 && y > 20 && x < w - 20 && y < h - 20) {
++ int t = x * 3 / w;
++ unsigned r = 0, g = 0, b = 0;
++ unsigned c;
++ if (var->bits_per_pixel == 16) {
++ if (t == 0)
++ b = (y % 32) * 256 / 32;
++ else if (t == 1)
++ g = (y % 64) * 256 / 64;
++ else if (t == 2)
++ r = (y % 32) * 256 / 32;
++ } else {
++ if (t == 0)
++ b = (y % 256);
++ else if (t == 1)
++ g = (y % 256);
++ else if (t == 2)
++ r = (y % 256);
++ }
++ c = (r << 16) | (g << 8) | (b << 0);
++ draw_pixel(fbi, x, y, c);
++ } else {
++ draw_pixel(fbi, x, y, 0);
++ }
++ }
++ }
++}
++#endif
++
++static unsigned omapfb_get_vrfb_offset(struct omapfb_info *ofbi, int rot)
++{
++ struct vrfb *vrfb = &ofbi->region.vrfb;
++ unsigned offset;
++
++ switch (rot) {
++ case FB_ROTATE_UR:
++ offset = 0;
++ break;
++ case FB_ROTATE_CW:
++ offset = vrfb->yoffset;
++ break;
++ case FB_ROTATE_UD:
++ offset = vrfb->yoffset * OMAP_VRFB_LINE_LEN + vrfb->xoffset;
++ break;
++ case FB_ROTATE_CCW:
++ offset = vrfb->xoffset * OMAP_VRFB_LINE_LEN;
++ break;
++ default:
++ BUG();
++ }
++
++ offset *= vrfb->bytespp;
++
++ return offset;
++}
++
++static u32 omapfb_get_region_rot_paddr(struct omapfb_info *ofbi)
++{
++ if (ofbi->rotation_type == OMAPFB_ROT_VRFB) {
++ unsigned offset;
++ int rot;
++
++ rot = ofbi->rotation;
++
++ offset = omapfb_get_vrfb_offset(ofbi, rot);
++
++ return ofbi->region.vrfb.paddr[rot] + offset;
++ } else {
++ return ofbi->region.paddr;
++ }
++}
++
++u32 omapfb_get_region_paddr(struct omapfb_info *ofbi)
++{
++ if (ofbi->rotation_type == OMAPFB_ROT_VRFB)
++ return ofbi->region.vrfb.paddr[0];
++ else
++ return ofbi->region.paddr;
++}
++
++void __iomem *omapfb_get_region_vaddr(struct omapfb_info *ofbi)
++{
++ if (ofbi->rotation_type == OMAPFB_ROT_VRFB)
++ return ofbi->region.vrfb.vaddr[0];
++ else
++ return ofbi->region.vaddr;
++}
++
++static struct omapfb_colormode omapfb_colormodes[] = {
++ {
++ .dssmode = OMAP_DSS_COLOR_UYVY,
++ .bits_per_pixel = 16,
++ .nonstd = OMAPFB_COLOR_YUV422,
++ }, {
++ .dssmode = OMAP_DSS_COLOR_YUV2,
++ .bits_per_pixel = 16,
++ .nonstd = OMAPFB_COLOR_YUY422,
++ }, {
++ .dssmode = OMAP_DSS_COLOR_ARGB16,
++ .bits_per_pixel = 16,
++ .red = { .length = 4, .offset = 8, .msb_right = 0 },
++ .green = { .length = 4, .offset = 4, .msb_right = 0 },
++ .blue = { .length = 4, .offset = 0, .msb_right = 0 },
++ .transp = { .length = 4, .offset = 12, .msb_right = 0 },
++ }, {
++ .dssmode = OMAP_DSS_COLOR_RGB16,
++ .bits_per_pixel = 16,
++ .red = { .length = 5, .offset = 11, .msb_right = 0 },
++ .green = { .length = 6, .offset = 5, .msb_right = 0 },
++ .blue = { .length = 5, .offset = 0, .msb_right = 0 },
++ .transp = { .length = 0, .offset = 0, .msb_right = 0 },
++ }, {
++ .dssmode = OMAP_DSS_COLOR_RGB24P,
++ .bits_per_pixel = 24,
++ .red = { .length = 8, .offset = 16, .msb_right = 0 },
++ .green = { .length = 8, .offset = 8, .msb_right = 0 },
++ .blue = { .length = 8, .offset = 0, .msb_right = 0 },
++ .transp = { .length = 0, .offset = 0, .msb_right = 0 },
++ }, {
++ .dssmode = OMAP_DSS_COLOR_RGB24U,
++ .bits_per_pixel = 32,
++ .red = { .length = 8, .offset = 16, .msb_right = 0 },
++ .green = { .length = 8, .offset = 8, .msb_right = 0 },
++ .blue = { .length = 8, .offset = 0, .msb_right = 0 },
++ .transp = { .length = 0, .offset = 0, .msb_right = 0 },
++ }, {
++ .dssmode = OMAP_DSS_COLOR_ARGB32,
++ .bits_per_pixel = 32,
++ .red = { .length = 8, .offset = 16, .msb_right = 0 },
++ .green = { .length = 8, .offset = 8, .msb_right = 0 },
++ .blue = { .length = 8, .offset = 0, .msb_right = 0 },
++ .transp = { .length = 8, .offset = 24, .msb_right = 0 },
++ }, {
++ .dssmode = OMAP_DSS_COLOR_RGBA32,
++ .bits_per_pixel = 32,
++ .red = { .length = 8, .offset = 24, .msb_right = 0 },
++ .green = { .length = 8, .offset = 16, .msb_right = 0 },
++ .blue = { .length = 8, .offset = 8, .msb_right = 0 },
++ .transp = { .length = 8, .offset = 0, .msb_right = 0 },
++ }, {
++ .dssmode = OMAP_DSS_COLOR_RGBX32,
++ .bits_per_pixel = 32,
++ .red = { .length = 8, .offset = 24, .msb_right = 0 },
++ .green = { .length = 8, .offset = 16, .msb_right = 0 },
++ .blue = { .length = 8, .offset = 8, .msb_right = 0 },
++ .transp = { .length = 0, .offset = 0, .msb_right = 0 },
++ },
++};
++
++static bool cmp_var_to_colormode(struct fb_var_screeninfo *var,
++ struct omapfb_colormode *color)
++{
++ bool cmp_component(struct fb_bitfield *f1, struct fb_bitfield *f2)
++ {
++ return f1->length == f2->length &&
++ f1->offset == f2->offset &&
++ f1->msb_right == f2->msb_right;
++ }
++
++ if (var->bits_per_pixel == 0 ||
++ var->red.length == 0 ||
++ var->blue.length == 0 ||
++ var->green.length == 0)
++ return 0;
++
++ return var->bits_per_pixel == color->bits_per_pixel &&
++ cmp_component(&var->red, &color->red) &&
++ cmp_component(&var->green, &color->green) &&
++ cmp_component(&var->blue, &color->blue) &&
++ cmp_component(&var->transp, &color->transp);
++}
++
++static void assign_colormode_to_var(struct fb_var_screeninfo *var,
++ struct omapfb_colormode *color)
++{
++ var->bits_per_pixel = color->bits_per_pixel;
++ var->nonstd = color->nonstd;
++ var->red = color->red;
++ var->green = color->green;
++ var->blue = color->blue;
++ var->transp = color->transp;
++}
++
++static enum omap_color_mode fb_mode_to_dss_mode(struct fb_var_screeninfo *var)
++{
++ enum omap_color_mode dssmode;
++ int i;
++
++ /* first match with nonstd field */
++ if (var->nonstd) {
++ for (i = 0; i < ARRAY_SIZE(omapfb_colormodes); ++i) {
++ struct omapfb_colormode *mode = &omapfb_colormodes[i];
++ if (var->nonstd == mode->nonstd) {
++ assign_colormode_to_var(var, mode);
++ return mode->dssmode;
++ }
++ }
++
++ return -EINVAL;
++ }
++
++ /* then try exact match of bpp and colors */
++ for (i = 0; i < ARRAY_SIZE(omapfb_colormodes); ++i) {
++ struct omapfb_colormode *mode = &omapfb_colormodes[i];
++ if (cmp_var_to_colormode(var, mode)) {
++ assign_colormode_to_var(var, mode);
++ return mode->dssmode;
++ }
++ }
++
++ /* match with bpp if user has not filled color fields
++ * properly */
++ switch (var->bits_per_pixel) {
++ case 1:
++ dssmode = OMAP_DSS_COLOR_CLUT1;
++ break;
++ case 2:
++ dssmode = OMAP_DSS_COLOR_CLUT2;
++ break;
++ case 4:
++ dssmode = OMAP_DSS_COLOR_CLUT4;
++ break;
++ case 8:
++ dssmode = OMAP_DSS_COLOR_CLUT8;
++ break;
++ case 12:
++ dssmode = OMAP_DSS_COLOR_RGB12U;
++ break;
++ case 16:
++ dssmode = OMAP_DSS_COLOR_RGB16;
++ break;
++ case 24:
++ dssmode = OMAP_DSS_COLOR_RGB24P;
++ break;
++ case 32:
++ dssmode = OMAP_DSS_COLOR_RGB24U;
++ break;
++ default:
++ return -EINVAL;
++ }
++
++ for (i = 0; i < ARRAY_SIZE(omapfb_colormodes); ++i) {
++ struct omapfb_colormode *mode = &omapfb_colormodes[i];
++ if (dssmode == mode->dssmode) {
++ assign_colormode_to_var(var, mode);
++ return mode->dssmode;
++ }
++ }
++
++ return -EINVAL;
++}
++
++void set_fb_fix(struct fb_info *fbi)
++{
++ struct fb_fix_screeninfo *fix = &fbi->fix;
++ struct fb_var_screeninfo *var = &fbi->var;
++ struct omapfb_info *ofbi = FB2OFB(fbi);
++ struct omapfb2_mem_region *rg = &ofbi->region;
++
++ DBG("set_fb_fix\n");
++
++ /* used by open/write in fbmem.c */
++ fbi->screen_base = (char __iomem *)omapfb_get_region_vaddr(ofbi);
++
++ /* used by mmap in fbmem.c */
++ if (ofbi->rotation_type == OMAPFB_ROT_VRFB)
++ fix->line_length =
++ (OMAP_VRFB_LINE_LEN * var->bits_per_pixel) >> 3;
++ else
++ fix->line_length =
++ (var->xres_virtual * var->bits_per_pixel) >> 3;
++ fix->smem_start = omapfb_get_region_paddr(ofbi);
++ fix->smem_len = rg->size;
++
++ fix->type = FB_TYPE_PACKED_PIXELS;
++
++ if (var->nonstd)
++ fix->visual = FB_VISUAL_PSEUDOCOLOR;
++ else {
++ switch (var->bits_per_pixel) {
++ case 32:
++ case 24:
++ case 16:
++ case 12:
++ fix->visual = FB_VISUAL_TRUECOLOR;
++ /* 12bpp is stored in 16 bits */
++ break;
++ case 1:
++ case 2:
++ case 4:
++ case 8:
++ fix->visual = FB_VISUAL_PSEUDOCOLOR;
++ break;
++ }
++ }
++
++ fix->accel = FB_ACCEL_NONE;
++
++ fix->xpanstep = 1;
++ fix->ypanstep = 1;
++
++ if (rg->size) {
++ if (ofbi->rotation_type == OMAPFB_ROT_VRFB)
++ omap_vrfb_setup(&rg->vrfb, rg->paddr,
++ var->xres_virtual, var->yres_virtual,
++ var->bits_per_pixel >> 3);
++ }
++}
++
++/* check new var and possibly modify it to be ok */
++int check_fb_var(struct fb_info *fbi, struct fb_var_screeninfo *var)
++{
++ struct omapfb_info *ofbi = FB2OFB(fbi);
++ struct omap_display *display = fb2display(fbi);
++ unsigned long max_frame_size;
++ unsigned long line_size;
++ int xres_min, yres_min;
++ int xres_max, yres_max;
++ enum omap_color_mode mode = 0;
++ int i;
++ int bytespp;
++
++ DBG("check_fb_var %d\n", ofbi->id);
++
++ if (ofbi->region.size == 0)
++ return 0;
++
++ mode = fb_mode_to_dss_mode(var);
++ if (mode < 0) {
++ DBG("cannot convert var to omap dss mode\n");
++ return -EINVAL;
++ }
++
++ for (i = 0; i < ofbi->num_overlays; ++i) {
++ if ((ofbi->overlays[i]->supported_modes & mode) == 0) {
++ DBG("invalid mode\n");
++ return -EINVAL;
++ }
++ }
++
++ if (var->rotate < 0 || var->rotate > 3)
++ return -EINVAL;
++
++ if (var->rotate != fbi->var.rotate) {
++ DBG("rotation changing\n");
++
++ ofbi->rotation = var->rotate;
++
++ if (abs(var->rotate - fbi->var.rotate) != 2) {
++ int tmp;
++ DBG("rotate changing 90/270 degrees. "
++ "swapping x/y res\n");
++
++ tmp = var->yres;
++ var->yres = var->xres;
++ var->xres = tmp;
++
++ tmp = var->yres_virtual;
++ var->yres_virtual = var->xres_virtual;
++ var->xres_virtual = tmp;
++ }
++ }
++
++ xres_min = OMAPFB_PLANE_XRES_MIN;
++ xres_max = 2048;
++ yres_min = OMAPFB_PLANE_YRES_MIN;
++ yres_max = 2048;
++
++ bytespp = var->bits_per_pixel >> 3;
++
++ /* XXX: some applications seem to set virtual res to 0. */
++ if (var->xres_virtual == 0)
++ var->xres_virtual = var->xres;
++
++ if (var->yres_virtual == 0)
++ var->yres_virtual = var->yres;
++
++ if (var->xres_virtual < xres_min || var->yres_virtual < yres_min)
++ return -EINVAL;
++
++ if (var->xres < xres_min)
++ var->xres = xres_min;
++ if (var->yres < yres_min)
++ var->yres = yres_min;
++ if (var->xres > xres_max)
++ var->xres = xres_max;
++ if (var->yres > yres_max)
++ var->yres = yres_max;
++
++ if (var->xres > var->xres_virtual)
++ var->xres = var->xres_virtual;
++ if (var->yres > var->yres_virtual)
++ var->yres = var->yres_virtual;
++
++ if (ofbi->rotation_type == OMAPFB_ROT_VRFB)
++ line_size = OMAP_VRFB_LINE_LEN * bytespp;
++ else
++ line_size = var->xres_virtual * bytespp;
++
++ max_frame_size = ofbi->region.size;
++
++ DBG("max frame size %lu, line size %lu\n", max_frame_size, line_size);
++
++ if (line_size * var->yres_virtual > max_frame_size) {
++ DBG("can't fit FB into memory, reducing y\n");
++ var->yres_virtual = max_frame_size / line_size;
++
++ if (var->yres_virtual < yres_min)
++ var->yres_virtual = yres_min;
++
++ if (var->yres > var->yres_virtual)
++ var->yres = var->yres_virtual;
++ }
++
++ if (line_size * var->yres_virtual > max_frame_size) {
++ DBG("can't fit FB into memory, reducing x\n");
++ if (ofbi->rotation_type == OMAPFB_ROT_VRFB)
++ return -EINVAL;
++
++ var->xres_virtual = max_frame_size / var->yres_virtual /
++ bytespp;
++
++ if (var->xres_virtual < xres_min)
++ var->xres_virtual = xres_min;
++
++ if (var->xres > var->xres_virtual)
++ var->xres = var->xres_virtual;
++
++ line_size = var->xres_virtual * bytespp;
++ }
++
++ if (line_size * var->yres_virtual > max_frame_size) {
++ DBG("cannot fit FB to memory\n");
++ return -EINVAL;
++ }
++
++ if (var->xres + var->xoffset > var->xres_virtual)
++ var->xoffset = var->xres_virtual - var->xres;
++ if (var->yres + var->yoffset > var->yres_virtual)
++ var->yoffset = var->yres_virtual - var->yres;
++
++ DBG("xres = %d, yres = %d, vxres = %d, vyres = %d\n",
++ var->xres, var->yres,
++ var->xres_virtual, var->yres_virtual);
++
++ var->height = -1;
++ var->width = -1;
++ var->grayscale = 0;
++
++ if (display && display->get_timings) {
++ struct omap_video_timings timings;
++ display->get_timings(display, &timings);
++
++ /* pixclock in ps, the rest in pixclock */
++ var->pixclock = timings.pixel_clock != 0 ?
++ KHZ2PICOS(timings.pixel_clock) :
++ 0;
++ var->left_margin = timings.hfp;
++ var->right_margin = timings.hbp;
++ var->upper_margin = timings.vfp;
++ var->lower_margin = timings.vbp;
++ var->hsync_len = timings.hsw;
++ var->vsync_len = timings.vsw;
++ } else {
++ var->pixclock = 0;
++ var->left_margin = 0;
++ var->right_margin = 0;
++ var->upper_margin = 0;
++ var->lower_margin = 0;
++ var->hsync_len = 0;
++ var->vsync_len = 0;
++ }
++
++ /* TODO: get these from panel->config */
++ var->vmode = FB_VMODE_NONINTERLACED;
++ var->sync = 0;
++
++ return 0;
++}
++
++/*
++ * ---------------------------------------------------------------------------
++ * fbdev framework callbacks
++ * ---------------------------------------------------------------------------
++ */
++static int omapfb_open(struct fb_info *fbi, int user)
++{
++ return 0;
++}
++
++static int omapfb_release(struct fb_info *fbi, int user)
++{
++ struct omapfb_info *ofbi = FB2OFB(fbi);
++ struct omapfb2_device *fbdev = ofbi->fbdev;
++ struct omap_display *display = fb2display(fbi);
++
++ DBG("Closing fb with plane index %d\n", ofbi->id);
++
++ omapfb_lock(fbdev);
++#if 1
++ if (display && display->get_update_mode && display->update) {
++ /* XXX this update should be removed, I think. But it's
++ * good for debugging */
++ if (display->get_update_mode(display) ==
++ OMAP_DSS_UPDATE_MANUAL) {
++ u16 w, h;
++
++ if (display->sync)
++ display->sync(display);
++
++ display->get_resolution(display, &w, &h);
++ display->update(display, 0, 0, w, h);
++ }
++ }
++#endif
++
++ if (display && display->sync)
++ display->sync(display);
++
++ omapfb_unlock(fbdev);
++
++ return 0;
++}
++
++/* setup overlay according to the fb */
++static int omapfb_setup_overlay(struct fb_info *fbi, struct omap_overlay *ovl,
++ u16 posx, u16 posy, u16 outw, u16 outh)
++{
++ int r = 0;
++ struct omapfb_info *ofbi = FB2OFB(fbi);
++ struct fb_var_screeninfo *var = &fbi->var;
++ struct fb_fix_screeninfo *fix = &fbi->fix;
++ enum omap_color_mode mode = 0;
++ int offset;
++ u32 data_start_p;
++ void __iomem *data_start_v;
++ struct omap_overlay_info info;
++ int xres, yres;
++ int screen_width;
++ int rot, mirror;
++
++ DBG("setup_overlay %d, posx %d, posy %d, outw %d, outh %d\n", ofbi->id,
++ posx, posy, outw, outh);
++
++ if (ofbi->rotation == FB_ROTATE_CW || ofbi->rotation == FB_ROTATE_CCW) {
++ xres = var->yres;
++ yres = var->xres;
++ } else {
++ xres = var->xres;
++ yres = var->yres;
++ }
++
++ offset = ((var->yoffset * var->xres_virtual +
++ var->xoffset) * var->bits_per_pixel) >> 3;
++
++ if (ofbi->rotation_type == OMAPFB_ROT_VRFB) {
++ data_start_p = omapfb_get_region_rot_paddr(ofbi);
++ data_start_v = NULL;
++ } else {
++ data_start_p = omapfb_get_region_paddr(ofbi);
++ data_start_v = omapfb_get_region_vaddr(ofbi);
++ }
++
++ data_start_p += offset;
++ data_start_v += offset;
++
++ mode = fb_mode_to_dss_mode(var);
++
++ if (mode == -EINVAL) {
++ DBG("fb_mode_to_dss_mode failed");
++ r = -EINVAL;
++ goto err;
++ }
++
++ screen_width = fix->line_length / (var->bits_per_pixel >> 3);
++
++ ovl->get_overlay_info(ovl, &info);
++
++ if (ofbi->rotation_type == OMAPFB_ROT_VRFB) {
++ rot = 0;
++ mirror = 0;
++ } else {
++ rot = ofbi->rotation;
++ mirror = ofbi->mirror;
++ }
++
++ info.paddr = data_start_p;
++ info.vaddr = data_start_v;
++ info.screen_width = screen_width;
++ info.width = xres;
++ info.height = yres;
++ info.color_mode = mode;
++ info.rotation = rot;
++ info.mirror = mirror;
++
++ info.pos_x = posx;
++ info.pos_y = posy;
++ info.out_width = outw;
++ info.out_height = outh;
++
++ r = ovl->set_overlay_info(ovl, &info);
++ if (r) {
++ DBG("ovl->setup_overlay_info failed\n");
++ goto err;
++ }
++
++ return 0;
++
++err:
++ DBG("setup_overlay failed\n");
++ return r;
++}
++
++/* apply var to the overlay */
++int omapfb_apply_changes(struct fb_info *fbi, int init)
++{
++ int r = 0;
++ struct omapfb_info *ofbi = FB2OFB(fbi);
++ struct fb_var_screeninfo *var = &fbi->var;
++ struct omap_overlay *ovl;
++ u16 posx, posy;
++ u16 outw, outh;
++ int i;
++
++#ifdef DEBUG
++ if (omapfb_test_pattern)
++ fill_fb(fbi);
++#endif
++
++ for (i = 0; i < ofbi->num_overlays; i++) {
++ ovl = ofbi->overlays[i];
++
++ DBG("apply_changes, fb %d, ovl %d\n", ofbi->id, ovl->id);
++
++ if (ofbi->region.size == 0) {
++ /* the fb is not available. disable the overlay */
++ omapfb_overlay_enable(ovl, 0);
++ if (!init && ovl->manager)
++ ovl->manager->apply(ovl->manager);
++ continue;
++ }
++
++ if (init || (ovl->caps & OMAP_DSS_OVL_CAP_SCALE) == 0) {
++ if (ofbi->rotation == FB_ROTATE_CW ||
++ ofbi->rotation == FB_ROTATE_CCW) {
++ outw = var->yres;
++ outh = var->xres;
++ } else {
++ outw = var->xres;
++ outh = var->yres;
++ }
++ } else {
++ outw = ovl->info.out_width;
++ outh = ovl->info.out_height;
++ }
++
++ if (init) {
++ posx = 0;
++ posy = 0;
++ } else {
++ posx = ovl->info.pos_x;
++ posy = ovl->info.pos_y;
++ }
++
++ r = omapfb_setup_overlay(fbi, ovl, posx, posy, outw, outh);
++ if (r)
++ goto err;
++
++ if (!init && ovl->manager)
++ ovl->manager->apply(ovl->manager);
++ }
++ return 0;
++err:
++ DBG("apply_changes failed\n");
++ return r;
++}
++
++/* checks var and eventually tweaks it to something supported,
++ * DO NOT MODIFY PAR */
++static int omapfb_check_var(struct fb_var_screeninfo *var, struct fb_info *fbi)
++{
++ int r;
++
++ DBG("check_var(%d)\n", FB2OFB(fbi)->id);
++
++ r = check_fb_var(fbi, var);
++
++ return r;
++}
++
++/* set the video mode according to info->var */
++static int omapfb_set_par(struct fb_info *fbi)
++{
++ int r;
++
++ DBG("set_par(%d)\n", FB2OFB(fbi)->id);
++
++ set_fb_fix(fbi);
++ r = omapfb_apply_changes(fbi, 0);
++
++ return r;
++}
++
++static int omapfb_pan_display(struct fb_var_screeninfo *var,
++ struct fb_info *fbi)
++{
++ struct omapfb_info *ofbi = FB2OFB(fbi);
++ struct omapfb2_device *fbdev = ofbi->fbdev;
++ int r = 0;
++
++ DBG("pan_display(%d)\n", ofbi->id);
++
++ omapfb_lock(fbdev);
++
++ if (var->xoffset != fbi->var.xoffset ||
++ var->yoffset != fbi->var.yoffset) {
++ struct fb_var_screeninfo new_var;
++
++ new_var = fbi->var;
++ new_var.xoffset = var->xoffset;
++ new_var.yoffset = var->yoffset;
++
++ r = check_fb_var(fbi, &new_var);
++
++ if (r == 0) {
++ fbi->var = new_var;
++ set_fb_fix(fbi);
++ r = omapfb_apply_changes(fbi, 0);
++ }
++ }
++
++ omapfb_unlock(fbdev);
++
++ return r;
++}
++
++static void mmap_user_open(struct vm_area_struct *vma)
++{
++ struct omapfb_info *ofbi = (struct omapfb_info *)vma->vm_private_data;
++
++ atomic_inc(&ofbi->map_count);
++}
++
++static void mmap_user_close(struct vm_area_struct *vma)
++{
++ struct omapfb_info *ofbi = (struct omapfb_info *)vma->vm_private_data;
++
++ atomic_dec(&ofbi->map_count);
++}
++
++static struct vm_operations_struct mmap_user_ops = {
++ .open = mmap_user_open,
++ .close = mmap_user_close,
++};
++
++static int omapfb_mmap(struct fb_info *fbi, struct vm_area_struct *vma)
++{
++ struct omapfb_info *ofbi = FB2OFB(fbi);
++ struct fb_fix_screeninfo *fix = &fbi->fix;
++ unsigned long off;
++ unsigned long start;
++ u32 len;
++
++ if (vma->vm_end - vma->vm_start == 0)
++ return 0;
++ if (vma->vm_pgoff > (~0UL >> PAGE_SHIFT))
++ return -EINVAL;
++ off = vma->vm_pgoff << PAGE_SHIFT;
++
++ start = omapfb_get_region_paddr(ofbi);
++ len = fix->smem_len;
++ if (off >= len)
++ return -EINVAL;
++ if ((vma->vm_end - vma->vm_start + off) > len)
++ return -EINVAL;
++
++ off += start;
++
++ DBG("user mmap region start %lx, len %d, off %lx\n", start, len, off);
++
++ vma->vm_pgoff = off >> PAGE_SHIFT;
++ vma->vm_flags |= VM_IO | VM_RESERVED;
++ vma->vm_page_prot = pgprot_writecombine(vma->vm_page_prot);
++ vma->vm_ops = &mmap_user_ops;
++ vma->vm_private_data = ofbi;
++ if (io_remap_pfn_range(vma, vma->vm_start, off >> PAGE_SHIFT,
++ vma->vm_end - vma->vm_start, vma->vm_page_prot))
++ return -EAGAIN;
++ /* vm_ops.open won't be called for mmap itself. */
++ atomic_inc(&ofbi->map_count);
++ return 0;
++}
++
++/* Store a single color palette entry into a pseudo palette or the hardware
++ * palette if one is available. For now we support only 16bpp and thus store
++ * the entry only to the pseudo palette.
++ */
++static int _setcolreg(struct fb_info *fbi, u_int regno, u_int red, u_int green,
++ u_int blue, u_int transp, int update_hw_pal)
++{
++ /*struct omapfb_info *ofbi = FB2OFB(fbi);*/
++ /*struct omapfb2_device *fbdev = ofbi->fbdev;*/
++ struct fb_var_screeninfo *var = &fbi->var;
++ int r = 0;
++
++ enum omapfb_color_format mode = OMAPFB_COLOR_RGB24U; /* XXX */
++
++ /*switch (plane->color_mode) {*/
++ switch (mode) {
++ case OMAPFB_COLOR_YUV422:
++ case OMAPFB_COLOR_YUV420:
++ case OMAPFB_COLOR_YUY422:
++ r = -EINVAL;
++ break;
++ case OMAPFB_COLOR_CLUT_8BPP:
++ case OMAPFB_COLOR_CLUT_4BPP:
++ case OMAPFB_COLOR_CLUT_2BPP:
++ case OMAPFB_COLOR_CLUT_1BPP:
++ /*
++ if (fbdev->ctrl->setcolreg)
++ r = fbdev->ctrl->setcolreg(regno, red, green, blue,
++ transp, update_hw_pal);
++ */
++ /* Fallthrough */
++ r = -EINVAL;
++ break;
++ case OMAPFB_COLOR_RGB565:
++ case OMAPFB_COLOR_RGB444:
++ case OMAPFB_COLOR_RGB24P:
++ case OMAPFB_COLOR_RGB24U:
++ if (r != 0)
++ break;
++
++ if (regno < 0) {
++ r = -EINVAL;
++ break;
++ }
++
++ if (regno < 16) {
++ u16 pal;
++ pal = ((red >> (16 - var->red.length)) <<
++ var->red.offset) |
++ ((green >> (16 - var->green.length)) <<
++ var->green.offset) |
++ (blue >> (16 - var->blue.length));
++ ((u32 *)(fbi->pseudo_palette))[regno] = pal;
++ }
++ break;
++ default:
++ BUG();
++ }
++ return r;
++}
++
++static int omapfb_setcolreg(u_int regno, u_int red, u_int green, u_int blue,
++ u_int transp, struct fb_info *info)
++{
++ DBG("setcolreg\n");
++
++ return _setcolreg(info, regno, red, green, blue, transp, 1);
++}
++
++static int omapfb_setcmap(struct fb_cmap *cmap, struct fb_info *info)
++{
++ int count, index, r;
++ u16 *red, *green, *blue, *transp;
++ u16 trans = 0xffff;
++
++ DBG("setcmap\n");
++
++ red = cmap->red;
++ green = cmap->green;
++ blue = cmap->blue;
++ transp = cmap->transp;
++ index = cmap->start;
++
++ for (count = 0; count < cmap->len; count++) {
++ if (transp)
++ trans = *transp++;
++ r = _setcolreg(info, index++, *red++, *green++, *blue++, trans,
++ count == cmap->len - 1);
++ if (r != 0)
++ return r;
++ }
++
++ return 0;
++}
++
++static int omapfb_blank(int blank, struct fb_info *fbi)
++{
++ struct omapfb_info *ofbi = FB2OFB(fbi);
++ struct omapfb2_device *fbdev = ofbi->fbdev;
++ struct omap_display *display = fb2display(fbi);
++ int do_update = 0;
++ int r = 0;
++
++ omapfb_lock(fbdev);
++
++ switch (blank) {
++ case FB_BLANK_UNBLANK:
++ if (display->state != OMAP_DSS_DISPLAY_SUSPENDED)
++ goto exit;
++
++ if (display->resume)
++ r = display->resume(display);
++
++ if (r == 0 && display->get_update_mode &&
++ display->get_update_mode(display) ==
++ OMAP_DSS_UPDATE_MANUAL)
++ do_update = 1;
++
++ break;
++
++ case FB_BLANK_NORMAL:
++ /* FB_BLANK_NORMAL could be implemented.
++ * Needs DSS additions. */
++ case FB_BLANK_VSYNC_SUSPEND:
++ case FB_BLANK_HSYNC_SUSPEND:
++ case FB_BLANK_POWERDOWN:
++ if (display->state != OMAP_DSS_DISPLAY_ACTIVE)
++ goto exit;
++
++ if (display->suspend)
++ r = display->suspend(display);
++
++ break;
++
++ default:
++ r = -EINVAL;
++ }
++
++exit:
++ omapfb_unlock(fbdev);
++
++ if (r == 0 && do_update && display->update) {
++ u16 w, h;
++ display->get_resolution(display, &w, &h);
++
++ r = display->update(display, 0, 0, w, h);
++ }
++
++ return r;
++}
++
++#if 0
++/* XXX fb_read and fb_write are needed for VRFB */
++ssize_t omapfb_write(struct fb_info *info, const char __user *buf,
++ size_t count, loff_t *ppos)
++{
++ DBG("omapfb_write %d, %lu\n", count, (unsigned long)*ppos);
++ // XXX needed for VRFB
++ return count;
++}
++#endif
++
++static struct fb_ops omapfb_ops = {
++ .owner = THIS_MODULE,
++ .fb_open = omapfb_open,
++ .fb_release = omapfb_release,
++ .fb_fillrect = cfb_fillrect,
++ .fb_copyarea = cfb_copyarea,
++ .fb_imageblit = cfb_imageblit,
++ .fb_blank = omapfb_blank,
++ .fb_ioctl = omapfb_ioctl,
++ .fb_check_var = omapfb_check_var,
++ .fb_set_par = omapfb_set_par,
++ .fb_pan_display = omapfb_pan_display,
++ .fb_mmap = omapfb_mmap,
++ .fb_setcolreg = omapfb_setcolreg,
++ .fb_setcmap = omapfb_setcmap,
++ //.fb_write = omapfb_write,
++};
++
++static void omapfb_free_fbmem(struct fb_info *fbi)
++{
++ struct omapfb_info *ofbi = FB2OFB(fbi);
++ struct omapfb2_device *fbdev = ofbi->fbdev;
++ struct omapfb2_mem_region *rg;
++
++ rg = &ofbi->region;
++
++ if (rg->paddr)
++ if (omap_vram_free(rg->paddr, rg->size))
++ dev_err(fbdev->dev, "VRAM FREE failed\n");
++
++ if (rg->vaddr)
++ iounmap(rg->vaddr);
++
++ if (ofbi->rotation_type == OMAPFB_ROT_VRFB) {
++ /* unmap the 0 angle rotation */
++ if (rg->vrfb.vaddr[0]) {
++ iounmap(rg->vrfb.vaddr[0]);
++ omap_vrfb_release_ctx(&rg->vrfb);
++ }
++ }
++
++ rg->vaddr = NULL;
++ rg->paddr = 0;
++ rg->alloc = 0;
++ rg->size = 0;
++}
++
++static int omapfb_free_all_fbmem(struct omapfb2_device *fbdev)
++{
++ int i;
++
++ DBG("free all fbmem\n");
++
++ for (i = 0; i < fbdev->num_fbs; i++) {
++ struct fb_info *fbi = fbdev->fbs[i];
++ omapfb_free_fbmem(fbi);
++ memset(&fbi->fix, 0, sizeof(fbi->fix));
++ memset(&fbi->var, 0, sizeof(fbi->var));
++ }
++
++ return 0;
++}
++
++static int omapfb_alloc_fbmem(struct fb_info *fbi, unsigned long size,
++ unsigned long paddr)
++{
++ struct omapfb_info *ofbi = FB2OFB(fbi);
++ struct omapfb2_device *fbdev = ofbi->fbdev;
++ struct omapfb2_mem_region *rg;
++ void __iomem *vaddr;
++ int r;
++ int clear = 0;
++
++ rg = &ofbi->region;
++ memset(rg, 0, sizeof(*rg));
++
++ size = PAGE_ALIGN(size);
++
++ if (!paddr) {
++ DBG("allocating %lu bytes for fb %d\n", size, ofbi->id);
++ r = omap_vram_alloc(OMAPFB_MEMTYPE_SDRAM, size, &paddr);
++ clear = 1;
++ } else {
++ DBG("reserving %lu bytes at %lx for fb %d\n", size, paddr,
++ ofbi->id);
++ r = omap_vram_reserve(paddr, size);
++ }
++
++ if (r) {
++ dev_err(fbdev->dev, "failed to allocate framebuffer\n");
++ return -ENOMEM;
++ }
++
++ if (ofbi->rotation_type != OMAPFB_ROT_VRFB) {
++ vaddr = ioremap_wc(paddr, size);
++
++ if (!vaddr) {
++ dev_err(fbdev->dev, "failed to ioremap framebuffer\n");
++ omap_vram_free(paddr, size);
++ return -ENOMEM;
++ }
++
++ DBG("allocated VRAM paddr %lx, vaddr %p\n", paddr, vaddr);
++
++ if (clear)
++ memset_io(vaddr, 0, size);
++ } else {
++ void __iomem *va;
++
++ r = omap_vrfb_request_ctx(&rg->vrfb);
++ if (r) {
++ dev_err(fbdev->dev, "vrfb create ctx failed\n");
++ return r;
++ }
++
++ /* only ioremap the 0 angle view */
++ va = ioremap_wc(rg->vrfb.paddr[0], size);
++
++ if(!va) {
++ printk(KERN_ERR "vrfb: ioremap failed\n");
++ return -ENOMEM;
++ }
++
++ DBG("ioremapped vrfb area 0 to %p\n", va);
++
++ rg->vrfb.vaddr[0] = va;
++
++ vaddr = NULL;
++
++ if (clear)
++ memset_io(va, 0, size);
++ }
++
++ rg->paddr = paddr;
++ rg->vaddr = vaddr;
++ rg->size = size;
++ rg->alloc = 1;
++
++ return 0;
++}
++
++/* allocate fbmem using display resolution as reference */
++static int omapfb_alloc_fbmem_display(struct fb_info *fbi, unsigned long size,
++ unsigned long paddr)
++{
++ struct omapfb_info *ofbi = FB2OFB(fbi);
++ struct omap_display *display;
++ int bytespp;
++
++ display = fb2display(fbi);
++
++ if (!display)
++ return 0;
++
++ switch (display->get_recommended_bpp(display)) {
++ case 16:
++ bytespp = 2;
++ break;
++ case 24:
++ bytespp = 4;
++ break;
++ default:
++ bytespp = 4;
++ break;
++ }
++
++ if (!size) {
++ u16 w, h;
++
++ display->get_resolution(display, &w, &h);
++
++ if (ofbi->rotation_type == OMAPFB_ROT_VRFB) {
++ int oldw = w, oldh = h;
++
++ omap_vrfb_adjust_size(&w, &h, bytespp);
++
++ /* Because we change the resolution of the 0 degree view,
++ * we need to alloc max(w, h) for height */
++ h = max(w, h);
++ w = OMAP_VRFB_LINE_LEN;
++
++ DBG("adjusting fb mem size for VRFB, %dx%d -> %dx%d\n",
++ oldw, oldh, w, h);
++ }
++
++ size = w * h * bytespp;
++ }
++
++ return omapfb_alloc_fbmem(fbi, size, paddr);
++}
++
++static int omapfb_parse_vram_param(const char *param, int max_entries,
++ unsigned long *sizes, unsigned long *paddrs)
++{
++ int fbnum;
++ unsigned long size;
++ unsigned long paddr = 0;
++ char *p, *start;
++
++ start = (char *)param;
++
++ while (1) {
++ p = start;
++
++ fbnum = simple_strtoul(p, &p, 10);
++
++ if (p == param)
++ return -EINVAL;
++
++ if (*p != ':')
++ return -EINVAL;
++
++ if (fbnum >= max_entries)
++ return -EINVAL;
++
++ size = memparse(p + 1, &p);
++
++ if (!size)
++ return -EINVAL;
++
++ paddr = 0;
++
++ if (*p == '@') {
++ paddr = simple_strtoul(p + 1, &p, 16);
++
++ if (!paddr)
++ return -EINVAL;
++
++ }
++
++ paddrs[fbnum] = paddr;
++ sizes[fbnum] = size;
++
++ if (*p == 0)
++ break;
++
++ if (*p != ',')
++ return -EINVAL;
++
++ ++p;
++
++ start = p;
++ }
++
++ return 0;
++}
++
++static int omapfb_allocate_all_fbs(struct omapfb2_device *fbdev)
++{
++ int i, r;
++ unsigned long vram_sizes[10];
++ unsigned long vram_paddrs[10];
++
++ memset(&vram_sizes, 0, sizeof(vram_sizes));
++ memset(&vram_paddrs, 0, sizeof(vram_paddrs));
++
++ if (def_vram && omapfb_parse_vram_param(def_vram, 10,
++ vram_sizes, vram_paddrs)) {
++ dev_err(fbdev->dev, "failed to parse vram parameter\n");
++
++ memset(&vram_sizes, 0, sizeof(vram_sizes));
++ memset(&vram_paddrs, 0, sizeof(vram_paddrs));
++ }
++
++ if (fbdev->dev->platform_data) {
++ struct omapfb_platform_data *opd;
++ opd = fbdev->dev->platform_data;
++ for (i = 0; i < opd->mem_desc.region_cnt; ++i) {
++ if (!vram_sizes[i]) {
++ unsigned long size;
++ unsigned long paddr;
++
++ size = opd->mem_desc.region[i].size;
++ paddr = opd->mem_desc.region[i].paddr;
++
++ vram_sizes[i] = size;
++ vram_paddrs[i] = paddr;
++ }
++ }
++ }
++
++ for (i = 0; i < fbdev->num_fbs; i++) {
++ /* allocate memory automatically only for fb0, or if
++ * excplicitly defined with vram or plat data option */
++ if (i == 0 || vram_sizes[i] != 0) {
++ r = omapfb_alloc_fbmem_display(fbdev->fbs[i],
++ vram_sizes[i], vram_paddrs[i]);
++
++ if (r)
++ return r;
++ }
++ }
++
++ for (i = 0; i < fbdev->num_fbs; i++) {
++ struct omapfb_info *ofbi = FB2OFB(fbdev->fbs[i]);
++ struct omapfb2_mem_region *rg;
++ rg = &ofbi->region;
++
++ DBG("region%d phys %08x virt %p size=%lu\n",
++ i,
++ rg->paddr,
++ rg->vaddr,
++ rg->size);
++ }
++
++ return 0;
++}
++
++int omapfb_realloc_fbmem(struct fb_info *fbi, unsigned long size, int type)
++{
++ struct omapfb_info *ofbi = FB2OFB(fbi);
++ struct omapfb2_device *fbdev = ofbi->fbdev;
++ struct omap_display *display = fb2display(fbi);
++ struct omapfb2_mem_region *rg = &ofbi->region;
++ unsigned long old_size = rg->size;
++ unsigned long old_paddr = rg->paddr;
++ int old_type = rg->type;
++ int r;
++
++ if (type > OMAPFB_MEMTYPE_MAX)
++ return -EINVAL;
++
++ size = PAGE_ALIGN(size);
++
++ if (old_size == size && old_type == type)
++ return 0;
++
++ if (display && display->sync)
++ display->sync(display);
++
++ omapfb_free_fbmem(fbi);
++
++ if (size == 0) {
++ memset(&fbi->fix, 0, sizeof(fbi->fix));
++ memset(&fbi->var, 0, sizeof(fbi->var));
++ return 0;
++ }
++
++ r = omapfb_alloc_fbmem(fbi, size, 0);
++
++ if (r) {
++ if (old_size)
++ omapfb_alloc_fbmem(fbi, old_size, old_paddr);
++
++ if (rg->size == 0) {
++ memset(&fbi->fix, 0, sizeof(fbi->fix));
++ memset(&fbi->var, 0, sizeof(fbi->var));
++ }
++
++ return r;
++ }
++
++ if (old_size == size)
++ return 0;
++
++ if (old_size == 0) {
++ DBG("initializing fb %d\n", ofbi->id);
++ r = omapfb_fb_init(fbdev, fbi);
++ if (r) {
++ DBG("omapfb_fb_init failed\n");
++ goto err;
++ }
++ r = omapfb_apply_changes(fbi, 1);
++ if (r) {
++ DBG("omapfb_apply_changes failed\n");
++ goto err;
++ }
++ } else {
++ struct fb_var_screeninfo new_var;
++ memcpy(&new_var, &fbi->var, sizeof(new_var));
++ r = check_fb_var(fbi, &new_var);
++ if (r)
++ goto err;
++ memcpy(&fbi->var, &new_var, sizeof(fbi->var));
++ set_fb_fix(fbi);
++ }
++
++ return 0;
++err:
++ omapfb_free_fbmem(fbi);
++ memset(&fbi->fix, 0, sizeof(fbi->fix));
++ memset(&fbi->var, 0, sizeof(fbi->var));
++ return r;
++}
++
++/* initialize fb_info, var, fix to something sane based on the display */
++int omapfb_fb_init(struct omapfb2_device *fbdev, struct fb_info *fbi)
++{
++ struct fb_var_screeninfo *var = &fbi->var;
++ struct fb_fix_screeninfo *fix = &fbi->fix;
++ struct omap_display *display = fb2display(fbi);
++ struct omapfb_info *ofbi = FB2OFB(fbi);
++ int r = 0;
++
++ fbi->fbops = &omapfb_ops;
++ fbi->flags = FBINFO_FLAG_DEFAULT;
++ fbi->pseudo_palette = fbdev->pseudo_palette;
++
++ strncpy(fix->id, MODULE_NAME, sizeof(fix->id));
++
++ if (ofbi->region.size == 0) {
++ memset(&fbi->fix, 0, sizeof(fbi->fix));
++ memset(&fbi->var, 0, sizeof(fbi->var));
++ return 0;
++ }
++
++ var->nonstd = 0;
++
++ var->rotate = ofbi->rotation;
++
++ if (display) {
++ u16 w, h;
++ display->get_resolution(display, &w, &h);
++
++ if (ofbi->rotation == FB_ROTATE_CW ||
++ ofbi->rotation == FB_ROTATE_CCW) {
++ var->xres = h;
++ var->yres = w;
++ } else {
++ var->xres = w;
++ var->yres = h;
++ }
++
++ var->xres_virtual = var->xres;
++ var->yres_virtual = var->yres;
++
++ switch (display->get_recommended_bpp(display)) {
++ case 16:
++ var->bits_per_pixel = 16;
++ break;
++ case 24:
++ var->bits_per_pixel = 32;
++ break;
++ default:
++ dev_err(fbdev->dev, "illegal display bpp\n");
++ return -EINVAL;
++ }
++ } else {
++ /* if there's no display, let's just guess some basic values */
++ var->xres = 320;
++ var->yres = 240;
++ var->xres_virtual = var->xres;
++ var->yres_virtual = var->yres;
++ var->bits_per_pixel = 16;
++ }
++
++ r = check_fb_var(fbi, var);
++ if (r)
++ goto err;
++
++ set_fb_fix(fbi);
++err:
++ return r;
++}
++
++static void fbinfo_cleanup(struct omapfb2_device *fbdev, struct fb_info *fbi)
++{
++ fb_dealloc_cmap(&fbi->cmap);
++}
++
++
++static void omapfb_free_resources(struct omapfb2_device *fbdev)
++{
++ int i;
++
++ DBG("free_resources\n");
++
++ if (fbdev == NULL)
++ return;
++
++ for (i = 0; i < fbdev->num_fbs; i++)
++ unregister_framebuffer(fbdev->fbs[i]);
++
++ /* free the reserved fbmem */
++ omapfb_free_all_fbmem(fbdev);
++
++ for (i = 0; i < fbdev->num_fbs; i++) {
++ fbinfo_cleanup(fbdev, fbdev->fbs[i]);
++ framebuffer_release(fbdev->fbs[i]);
++ }
++
++ for (i = 0; i < fbdev->num_displays; i++) {
++ if (fbdev->displays[i]->state != OMAP_DSS_DISPLAY_DISABLED)
++ fbdev->displays[i]->disable(fbdev->displays[i]);
++
++ omap_dss_put_display(fbdev->displays[i]);
++ }
++
++ dev_set_drvdata(fbdev->dev, NULL);
++ kfree(fbdev);
++}
++
++static int omapfb_create_framebuffers(struct omapfb2_device *fbdev)
++{
++ int r, i;
++
++ fbdev->num_fbs = 0;
++
++ DBG("create %d framebuffers\n", CONFIG_FB_OMAP2_NUM_FBS);
++
++ /* allocate fb_infos */
++ for (i = 0; i < CONFIG_FB_OMAP2_NUM_FBS; i++) {
++ struct fb_info *fbi;
++ struct omapfb_info *ofbi;
++
++ fbi = framebuffer_alloc(sizeof(struct omapfb_info),
++ fbdev->dev);
++
++ if (fbi == NULL) {
++ dev_err(fbdev->dev,
++ "unable to allocate memory for plane info\n");
++ return -ENOMEM;
++ }
++
++ fbdev->fbs[i] = fbi;
++
++ ofbi = FB2OFB(fbi);
++ ofbi->fbdev = fbdev;
++ ofbi->id = i;
++
++ /* assign these early, so that fb alloc can use them */
++ ofbi->rotation_type = def_vrfb ? OMAPFB_ROT_VRFB :
++ OMAPFB_ROT_DMA;
++ ofbi->rotation = def_rotate;
++ ofbi->mirror = def_mirror;
++
++ fbdev->num_fbs++;
++ }
++
++ DBG("fb_infos allocated\n");
++
++ /* assign overlays for the fbs */
++ for (i = 0; i < min(fbdev->num_fbs, fbdev->num_overlays); i++) {
++ struct omapfb_info *ofbi = FB2OFB(fbdev->fbs[i]);
++
++ ofbi->overlays[0] = fbdev->overlays[i];
++ ofbi->num_overlays = 1;
++ }
++
++ /* allocate fb memories */
++ r = omapfb_allocate_all_fbs(fbdev);
++ if (r) {
++ dev_err(fbdev->dev, "failed to allocate fbmem\n");
++ return r;
++ }
++
++ DBG("fbmems allocated\n");
++
++ /* setup fb_infos */
++ for (i = 0; i < fbdev->num_fbs; i++) {
++ r = omapfb_fb_init(fbdev, fbdev->fbs[i]);
++ if (r) {
++ dev_err(fbdev->dev, "failed to setup fb_info\n");
++ return r;
++ }
++ }
++
++ DBG("fb_infos initialized\n");
++
++ for (i = 0; i < fbdev->num_fbs; i++) {
++ r = register_framebuffer(fbdev->fbs[i]);
++ if (r != 0) {
++ dev_err(fbdev->dev,
++ "registering framebuffer %d failed\n", i);
++ return r;
++ }
++ }
++
++ DBG("framebuffers registered\n");
++
++ for (i = 0; i < fbdev->num_fbs; i++) {
++ r = omapfb_apply_changes(fbdev->fbs[i], 1);
++ if (r) {
++ dev_err(fbdev->dev, "failed to change mode\n");
++ return r;
++ }
++ }
++
++ DBG("create sysfs for fbs\n");
++ r = omapfb_create_sysfs(fbdev);
++ if (r) {
++ dev_err(fbdev->dev, "failed to create sysfs entries\n");
++ return r;
++ }
++
++ /* Enable fb0 */
++ if (fbdev->num_fbs > 0) {
++ struct omapfb_info *ofbi = FB2OFB(fbdev->fbs[0]);
++
++ if (ofbi->num_overlays > 0 ) {
++ struct omap_overlay *ovl = ofbi->overlays[0];
++
++ r = omapfb_overlay_enable(ovl, 1);
++
++ if (r) {
++ dev_err(fbdev->dev,
++ "failed to enable overlay\n");
++ return r;
++ }
++ }
++ }
++
++ DBG("create_framebuffers done\n");
++
++ return 0;
++}
++
++int omapfb_mode_to_timings(const char *mode_str,
++ struct omap_video_timings *timings, u8 *bpp)
++{
++ struct fb_info fbi;
++ struct fb_var_screeninfo var;
++ struct fb_ops fbops;
++ int r;
++
++#ifdef CONFIG_OMAP2_DSS_VENC
++ if (strcmp(mode_str, "pal") == 0) {
++ *timings = omap_dss_pal_timings;
++ *bpp = 0;
++ return 0;
++ } else if (strcmp(mode_str, "ntsc") == 0) {
++ *timings = omap_dss_ntsc_timings;
++ *bpp = 0;
++ return 0;
++ }
++#endif
++
++ /* this is quite a hack, but I wanted to use the modedb and for
++ * that we need fb_info and var, so we create dummy ones */
++
++ memset(&fbi, 0, sizeof(fbi));
++ memset(&var, 0, sizeof(var));
++ memset(&fbops, 0, sizeof(fbops));
++ fbi.fbops = &fbops;
++
++ r = fb_find_mode(&var, &fbi, mode_str, NULL, 0, NULL, 24);
++
++ if (r != 0) {
++ timings->pixel_clock = PICOS2KHZ(var.pixclock);
++ timings->hfp = var.left_margin;
++ timings->hbp = var.right_margin;
++ timings->vfp = var.upper_margin;
++ timings->vbp = var.lower_margin;
++ timings->hsw = var.hsync_len;
++ timings->vsw = var.vsync_len;
++ timings->x_res = var.xres;
++ timings->y_res = var.yres;
++
++ switch (var.bits_per_pixel) {
++ case 16:
++ *bpp = 16;
++ break;
++ case 24:
++ case 32:
++ default:
++ *bpp = 24;
++ break;
++ }
++
++ return 0;
++ } else {
++ return -EINVAL;
++ }
++}
++
++static int omapfb_set_def_mode(struct omap_display *display, char *mode_str)
++{
++ int r;
++ u8 bpp;
++ struct omap_video_timings timings;
++
++ r = omapfb_mode_to_timings(mode_str, &timings, &bpp);
++ if (r)
++ return r;
++
++ display->panel->recommended_bpp = bpp;
++
++ if (!display->check_timings || !display->set_timings)
++ return -EINVAL;
++
++ r = display->check_timings(display, &timings);
++ if (r)
++ return r;
++
++ display->set_timings(display, &timings);
++
++ return 0;
++}
++
++static int omapfb_parse_def_modes(struct omapfb2_device *fbdev)
++{
++ char *str, *options, *this_opt;
++ int r = 0;
++
++ str = kmalloc(strlen(def_mode) + 1, GFP_KERNEL);
++ strcpy(str, def_mode);
++ options = str;
++
++ while (!r && (this_opt = strsep(&options, ",")) != NULL) {
++ char *p, *display_str, *mode_str;
++ struct omap_display *display;
++ int i;
++
++ p = strchr(this_opt, ':');
++ if (!p) {
++ r = -EINVAL;
++ break;
++ }
++
++ *p = 0;
++ display_str = this_opt;
++ mode_str = p + 1;
++
++ display = NULL;
++ for (i = 0; i < fbdev->num_displays; ++i) {
++ if (strcmp(fbdev->displays[i]->name,
++ display_str) == 0) {
++ display = fbdev->displays[i];
++ break;
++ }
++ }
++
++ if (!display) {
++ r = -EINVAL;
++ break;
++ }
++
++ r = omapfb_set_def_mode(display, mode_str);
++ if (r)
++ break;
++ }
++
++ kfree(str);
++
++ return r;
++}
++
++static int omapfb_probe(struct platform_device *pdev)
++{
++ struct omapfb2_device *fbdev = NULL;
++ int r = 0;
++ int i, t;
++ struct omap_overlay *ovl;
++ struct omap_display *def_display;
++
++ DBG("omapfb_probe\n");
++
++ if (pdev->num_resources != 0) {
++ dev_err(&pdev->dev, "probed for an unknown device\n");
++ r = -ENODEV;
++ goto err0;
++ }
++
++ fbdev = kzalloc(sizeof(struct omapfb2_device), GFP_KERNEL);
++ if (fbdev == NULL) {
++ r = -ENOMEM;
++ goto err0;
++ }
++
++ mutex_init(&fbdev->mtx);
++
++ fbdev->dev = &pdev->dev;
++ platform_set_drvdata(pdev, fbdev);
++
++ fbdev->num_displays = 0;
++ t = omap_dss_get_num_displays();
++ for (i = 0; i < t; i++) {
++ struct omap_display *display;
++ display = omap_dss_get_display(i);
++ if (!display) {
++ dev_err(&pdev->dev, "can't get display %d\n", i);
++ r = -EINVAL;
++ goto cleanup;
++ }
++
++ fbdev->displays[fbdev->num_displays++] = display;
++ }
++
++ if (fbdev->num_displays == 0) {
++ dev_err(&pdev->dev, "no displays\n");
++ r = -EINVAL;
++ goto cleanup;
++ }
++
++ fbdev->num_overlays = omap_dss_get_num_overlays();
++ for (i = 0; i < fbdev->num_overlays; i++)
++ fbdev->overlays[i] = omap_dss_get_overlay(i);
++
++ fbdev->num_managers = omap_dss_get_num_overlay_managers();
++ for (i = 0; i < fbdev->num_managers; i++)
++ fbdev->managers[i] = omap_dss_get_overlay_manager(i);
++
++
++ /* gfx overlay should be the default one. find a display
++ * connected to that, and use it as default display */
++ ovl = omap_dss_get_overlay(0);
++ if (ovl->manager && ovl->manager->display) {
++ def_display = ovl->manager->display;
++ } else {
++ dev_err(&pdev->dev, "cannot find default display\n");
++ r = -EINVAL;
++ goto cleanup;
++ }
++
++ if (def_mode && strlen(def_mode) > 0) {
++ if (omapfb_parse_def_modes(fbdev))
++ dev_err(&pdev->dev, "cannot parse default modes\n");
++ }
++
++ r = omapfb_create_framebuffers(fbdev);
++ if (r)
++ goto cleanup;
++
++ for (i = 0; i < fbdev->num_managers; i++) {
++ struct omap_overlay_manager *mgr;
++ mgr = fbdev->managers[i];
++ r = mgr->apply(mgr);
++ if (r) {
++ dev_err(fbdev->dev, "failed to apply dispc config\n");
++ goto cleanup;
++ }
++ }
++
++ DBG("mgr->apply'ed\n");
++
++ r = def_display->enable(def_display);
++ if (r) {
++ dev_err(fbdev->dev, "Failed to enable display '%s'\n",
++ def_display->name);
++ goto cleanup;
++ }
++
++ /* set the update mode */
++ if (def_display->caps & OMAP_DSS_DISPLAY_CAP_MANUAL_UPDATE) {
++#ifdef CONFIG_FB_OMAP2_FORCE_AUTO_UPDATE
++ if (def_display->set_update_mode)
++ def_display->set_update_mode(def_display,
++ OMAP_DSS_UPDATE_AUTO);
++ if (def_display->enable_te)
++ def_display->enable_te(def_display, 1);
++#else
++ if (def_display->set_update_mode)
++ def_display->set_update_mode(def_display,
++ OMAP_DSS_UPDATE_MANUAL);
++ if (def_display->enable_te)
++ def_display->enable_te(def_display, 0);
++#endif
++ } else {
++ if (def_display->set_update_mode)
++ def_display->set_update_mode(def_display,
++ OMAP_DSS_UPDATE_AUTO);
++ }
++
++ for (i = 0; i < fbdev->num_displays; i++) {
++ struct omap_display *display = fbdev->displays[i];
++ u16 w, h;
++
++ if (!display->get_update_mode || !display->update)
++ continue;
++
++ if (display->get_update_mode(display) ==
++ OMAP_DSS_UPDATE_MANUAL) {
++
++ display->get_resolution(display, &w, &h);
++ display->update(display, 0, 0, w, h);
++ }
++ }
++
++ DBG("display->updated\n");
++
++ return 0;
++
++cleanup:
++ omapfb_free_resources(fbdev);
++err0:
++ dev_err(&pdev->dev, "failed to setup omapfb\n");
++ return r;
++}
++
++static int omapfb_remove(struct platform_device *pdev)
++{
++ struct omapfb2_device *fbdev = platform_get_drvdata(pdev);
++
++ /* FIXME: wait till completion of pending events */
++
++ omapfb_remove_sysfs(fbdev);
++
++ omapfb_free_resources(fbdev);
++
++ return 0;
++}
++
++static struct platform_driver omapfb_driver = {
++ .probe = omapfb_probe,
++ .remove = omapfb_remove,
++ .driver = {
++ .name = "omapfb",
++ .owner = THIS_MODULE,
++ },
++};
++
++static int __init omapfb_init(void)
++{
++ DBG("omapfb_init\n");
++
++ if (platform_driver_register(&omapfb_driver)) {
++ printk(KERN_ERR "failed to register omapfb driver\n");
++ return -ENODEV;
++ }
++
++ return 0;
++}
++
++static void __exit omapfb_exit(void)
++{
++ DBG("omapfb_exit\n");
++ platform_driver_unregister(&omapfb_driver);
++}
++
++module_param_named(mode, def_mode, charp, 0);
++module_param_named(vram, def_vram, charp, 0);
++module_param_named(rotate, def_rotate, int, 0);
++module_param_named(vrfb, def_vrfb, bool, 0);
++module_param_named(mirror, def_mirror, bool, 0);
++
++/* late_initcall to let panel/ctrl drivers loaded first.
++ * I guess better option would be a more dynamic approach,
++ * so that omapfb reacts to new panels when they are loaded */
++late_initcall(omapfb_init);
++/*module_init(omapfb_init);*/
++module_exit(omapfb_exit);
++
++MODULE_AUTHOR("Tomi Valkeinen <tomi.valkeinen@nokia.com>");
++MODULE_DESCRIPTION("OMAP2/3 Framebuffer");
++MODULE_LICENSE("GPL v2");
+diff --git a/drivers/video/omap2/omapfb/omapfb-sysfs.c b/drivers/video/omap2/omapfb/omapfb-sysfs.c
+new file mode 100644
+index 0000000..2c88718
+--- /dev/null
++++ b/drivers/video/omap2/omapfb/omapfb-sysfs.c
+@@ -0,0 +1,371 @@
++/*
++ * linux/drivers/video/omap2/omapfb-sysfs.c
++ *
++ * Copyright (C) 2008 Nokia Corporation
++ * Author: Tomi Valkeinen <tomi.valkeinen@nokia.com>
++ *
++ * Some code and ideas taken from drivers/video/omap/ driver
++ * by Imre Deak.
++ *
++ * This program is free software; you can redistribute it and/or modify it
++ * under the terms of the GNU General Public License version 2 as published by
++ * the Free Software Foundation.
++ *
++ * 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 <http://www.gnu.org/licenses/>.
++ */
++
++#include <linux/fb.h>
++#include <linux/sysfs.h>
++#include <linux/device.h>
++#include <linux/uaccess.h>
++#include <linux/platform_device.h>
++#include <linux/kernel.h>
++#include <linux/mm.h>
++#include <linux/omapfb.h>
++
++#include <mach/display.h>
++#include <mach/vrfb.h>
++
++#include "omapfb.h"
++
++static ssize_t show_rotate_type(struct device *dev,
++ struct device_attribute *attr, char *buf)
++{
++ struct fb_info *fbi = dev_get_drvdata(dev);
++ struct omapfb_info *ofbi = FB2OFB(fbi);
++
++ return snprintf(buf, PAGE_SIZE, "%d\n", ofbi->rotation_type);
++}
++
++static ssize_t show_mirror(struct device *dev,
++ struct device_attribute *attr, char *buf)
++{
++ struct fb_info *fbi = dev_get_drvdata(dev);
++ struct omapfb_info *ofbi = FB2OFB(fbi);
++
++ return snprintf(buf, PAGE_SIZE, "%d\n", ofbi->mirror);
++}
++
++static ssize_t store_mirror(struct device *dev,
++ struct device_attribute *attr,
++ const char *buf, size_t count)
++{
++ struct fb_info *fbi = dev_get_drvdata(dev);
++ struct omapfb_info *ofbi = FB2OFB(fbi);
++ struct omapfb2_device *fbdev = ofbi->fbdev;
++ bool mirror;
++ int r;
++ struct fb_var_screeninfo new_var;
++
++ mirror = simple_strtoul(buf, NULL, 0);
++
++ if (mirror != 0 && mirror != 1)
++ return -EINVAL;
++
++ omapfb_lock(fbdev);
++
++ ofbi->mirror = mirror;
++
++ memcpy(&new_var, &fbi->var, sizeof(new_var));
++ r = check_fb_var(fbi, &new_var);
++ if (r)
++ goto out;
++ memcpy(&fbi->var, &new_var, sizeof(fbi->var));
++
++ set_fb_fix(fbi);
++
++ r = omapfb_apply_changes(fbi, 0);
++ if (r)
++ goto out;
++
++ r = count;
++out:
++ omapfb_unlock(fbdev);
++
++ return r;
++}
++
++static ssize_t show_overlays(struct device *dev,
++ struct device_attribute *attr, char *buf)
++{
++ struct fb_info *fbi = dev_get_drvdata(dev);
++ struct omapfb_info *ofbi = FB2OFB(fbi);
++ struct omapfb2_device *fbdev = ofbi->fbdev;
++ ssize_t l = 0;
++ int t;
++
++ for (t = 0; t < ofbi->num_overlays; t++) {
++ struct omap_overlay *ovl = ofbi->overlays[t];
++ int ovlnum;
++
++ for (ovlnum = 0; ovlnum < fbdev->num_overlays; ++ovlnum)
++ if (ovl == fbdev->overlays[ovlnum])
++ break;
++
++ l += snprintf(buf + l, PAGE_SIZE - l, "%s%d",
++ t == 0 ? "" : ",", ovlnum);
++ }
++
++ l += snprintf(buf + l, PAGE_SIZE - l, "\n");
++
++ return l;
++}
++
++static struct omapfb_info *get_overlay_fb(struct omapfb2_device *fbdev,
++ struct omap_overlay *ovl)
++{
++ int i, t;
++
++ for (i = 0; i < fbdev->num_fbs; i++) {
++ struct omapfb_info *ofbi = FB2OFB(fbdev->fbs[i]);
++
++ for (t = 0; t < ofbi->num_overlays; t++) {
++ if (ofbi->overlays[t] == ovl)
++ return ofbi;
++ }
++ }
++
++ return NULL;
++}
++
++static ssize_t store_overlays(struct device *dev, struct device_attribute *attr,
++ const char *buf, size_t count)
++{
++ struct fb_info *fbi = dev_get_drvdata(dev);
++ struct omapfb_info *ofbi = FB2OFB(fbi);
++ struct omapfb2_device *fbdev = ofbi->fbdev;
++ struct omap_overlay *ovls[OMAPFB_MAX_OVL_PER_FB];
++ struct omap_overlay *ovl;
++ int num_ovls, r, i;
++ int len;
++
++ num_ovls = 0;
++
++ len = strlen(buf);
++ if (buf[len - 1] == '\n')
++ len = len - 1;
++
++ omapfb_lock(fbdev);
++
++ if (len > 0) {
++ char *p = (char *)buf;
++ int ovlnum;
++
++ while (p < buf + len) {
++ int found;
++ if (num_ovls == OMAPFB_MAX_OVL_PER_FB) {
++ r = -EINVAL;
++ goto out;
++ }
++
++ ovlnum = simple_strtoul(p, &p, 0);
++ if (ovlnum > fbdev->num_overlays) {
++ r = -EINVAL;
++ goto out;
++ }
++
++ found = 0;
++ for (i = 0; i < num_ovls; ++i) {
++ if (ovls[i] == fbdev->overlays[ovlnum]) {
++ found = 1;
++ break;
++ }
++ }
++
++ if (!found)
++ ovls[num_ovls++] = fbdev->overlays[ovlnum];
++
++ p++;
++ }
++ }
++
++ for (i = 0; i < num_ovls; ++i) {
++ struct omapfb_info *ofbi2 = get_overlay_fb(fbdev, ovls[i]);
++ if (ofbi2 && ofbi2 != ofbi) {
++ dev_err(fbdev->dev, "overlay already in use\n");
++ r = -EINVAL;
++ goto out;
++ }
++ }
++
++ /* detach unused overlays */
++ for (i = 0; i < ofbi->num_overlays; ++i) {
++ int t, found;
++
++ ovl = ofbi->overlays[i];
++
++ found = 0;
++
++ for (t = 0; t < num_ovls; ++t) {
++ if (ovl == ovls[t]) {
++ found = 1;
++ break;
++ }
++ }
++
++ if (found)
++ continue;
++
++ DBG("detaching %d\n", ofbi->overlays[i]->id);
++
++ omapfb_overlay_enable(ovl, 0);
++
++ if (ovl->manager)
++ ovl->manager->apply(ovl->manager);
++
++ for (t = i + 1; t < ofbi->num_overlays; t++)
++ ofbi->overlays[t-1] = ofbi->overlays[t];
++
++ ofbi->num_overlays--;
++ i--;
++ }
++
++ for (i = 0; i < num_ovls; ++i) {
++ int t, found;
++
++ ovl = ovls[i];
++
++ found = 0;
++
++ for (t = 0; t < ofbi->num_overlays; ++t) {
++ if (ovl == ofbi->overlays[t]) {
++ found = 1;
++ break;
++ }
++ }
++
++ if (found)
++ continue;
++
++ ofbi->overlays[ofbi->num_overlays++] = ovl;
++
++ r = omapfb_apply_changes(fbi, 1);
++ if (r)
++ goto out;
++
++ if (ovl->manager) {
++ r = ovl->manager->apply(ovl->manager);
++ if (r)
++ goto out;
++ }
++ }
++
++ r = count;
++out:
++ omapfb_unlock(fbdev);
++
++ return r;
++}
++
++static ssize_t show_size(struct device *dev,
++ struct device_attribute *attr, char *buf)
++{
++ struct fb_info *fbi = dev_get_drvdata(dev);
++ struct omapfb_info *ofbi = FB2OFB(fbi);
++
++ return snprintf(buf, PAGE_SIZE, "%lu\n", ofbi->region.size);
++}
++
++static ssize_t store_size(struct device *dev, struct device_attribute *attr,
++ const char *buf, size_t count)
++{
++ struct fb_info *fbi = dev_get_drvdata(dev);
++ struct omapfb_info *ofbi = FB2OFB(fbi);
++ struct omapfb2_device *fbdev = ofbi->fbdev;
++ unsigned long size;
++ int r;
++ int i;
++
++ size = PAGE_ALIGN(simple_strtoul(buf, NULL, 0));
++
++ omapfb_lock(fbdev);
++
++ for (i = 0; i < ofbi->num_overlays; i++) {
++ if (ofbi->overlays[i]->info.enabled) {
++ r = -EBUSY;
++ goto out;
++ }
++ }
++
++ if (size != ofbi->region.size) {
++ r = omapfb_realloc_fbmem(fbi, size, ofbi->region.type);
++ if (r) {
++ dev_err(dev, "realloc fbmem failed\n");
++ goto out;
++ }
++ }
++
++ r = count;
++out:
++ omapfb_unlock(fbdev);
++
++ return r;
++}
++
++static ssize_t show_phys(struct device *dev,
++ struct device_attribute *attr, char *buf)
++{
++ struct fb_info *fbi = dev_get_drvdata(dev);
++ struct omapfb_info *ofbi = FB2OFB(fbi);
++
++ return snprintf(buf, PAGE_SIZE, "%0x\n", ofbi->region.paddr);
++}
++
++static ssize_t show_virt(struct device *dev,
++ struct device_attribute *attr, char *buf)
++{
++ struct fb_info *fbi = dev_get_drvdata(dev);
++ struct omapfb_info *ofbi = FB2OFB(fbi);
++
++ return snprintf(buf, PAGE_SIZE, "%p\n", ofbi->region.vaddr);
++}
++
++static struct device_attribute omapfb_attrs[] = {
++ __ATTR(rotate_type, S_IRUGO, show_rotate_type, NULL),
++ __ATTR(mirror, S_IRUGO | S_IWUSR, show_mirror, store_mirror),
++ __ATTR(size, S_IRUGO | S_IWUSR, show_size, store_size),
++ __ATTR(overlays, S_IRUGO | S_IWUSR, show_overlays, store_overlays),
++ __ATTR(phys_addr, S_IRUGO, show_phys, NULL),
++ __ATTR(virt_addr, S_IRUGO, show_virt, NULL),
++};
++
++int omapfb_create_sysfs(struct omapfb2_device *fbdev)
++{
++ int i;
++ int r;
++
++ DBG("create sysfs for fbs\n");
++ for (i = 0; i < fbdev->num_fbs; i++) {
++ int t;
++ for (t = 0; t < ARRAY_SIZE(omapfb_attrs); t++) {
++ r = device_create_file(fbdev->fbs[i]->dev,
++ &omapfb_attrs[t]);
++
++ if (r) {
++ dev_err(fbdev->dev, "failed to create sysfs file\n");
++ return r;
++ }
++ }
++ }
++
++ return 0;
++}
++
++void omapfb_remove_sysfs(struct omapfb2_device *fbdev)
++{
++ int i, t;
++
++ DBG("remove sysfs for fbs\n");
++ for (i = 0; i < fbdev->num_fbs; i++) {
++ for (t = 0; t < ARRAY_SIZE(omapfb_attrs); t++)
++ device_remove_file(fbdev->fbs[i]->dev,
++ &omapfb_attrs[t]);
++ }
++}
++
+diff --git a/drivers/video/omap2/omapfb/omapfb.h b/drivers/video/omap2/omapfb/omapfb.h
+new file mode 100644
+index 0000000..65e9e6e
+--- /dev/null
++++ b/drivers/video/omap2/omapfb/omapfb.h
+@@ -0,0 +1,153 @@
++/*
++ * linux/drivers/video/omap2/omapfb.h
++ *
++ * Copyright (C) 2008 Nokia Corporation
++ * Author: Tomi Valkeinen <tomi.valkeinen@nokia.com>
++ *
++ * Some code and ideas taken from drivers/video/omap/ driver
++ * by Imre Deak.
++ *
++ * This program is free software; you can redistribute it and/or modify it
++ * under the terms of the GNU General Public License version 2 as published by
++ * the Free Software Foundation.
++ *
++ * 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 <http://www.gnu.org/licenses/>.
++ */
++
++#ifndef __DRIVERS_VIDEO_OMAP2_OMAPFB_H__
++#define __DRIVERS_VIDEO_OMAP2_OMAPFB_H__
++
++#ifdef CONFIG_FB_OMAP2_DEBUG_SUPPORT
++#define DEBUG
++#endif
++
++#ifdef DEBUG
++extern unsigned int omapfb_debug;
++#define DBG(format, ...) \
++ if (omapfb_debug) \
++ printk(KERN_DEBUG "OMAPFB: " format, ## __VA_ARGS__)
++#else
++#define DBG(format, ...)
++#endif
++
++#define FB2OFB(fb_info) ((struct omapfb_info *)(fb_info->par))
++
++/* max number of overlays to which a framebuffer data can be direct */
++#define OMAPFB_MAX_OVL_PER_FB 3
++
++struct omapfb2_mem_region {
++ u32 paddr;
++ void __iomem *vaddr;
++ struct vrfb vrfb;
++ unsigned long size;
++ u8 type; /* OMAPFB_PLANE_MEM_* */
++ bool alloc; /* allocated by the driver */
++ bool map; /* kernel mapped by the driver */
++};
++
++enum omapfb_rotation_type {
++ OMAPFB_ROT_DMA = 0,
++ OMAPFB_ROT_VRFB = 1,
++};
++
++/* appended to fb_info */
++struct omapfb_info {
++ int id;
++ struct omapfb2_mem_region region;
++ atomic_t map_count;
++ int num_overlays;
++ struct omap_overlay *overlays[OMAPFB_MAX_OVL_PER_FB];
++ struct omapfb2_device *fbdev;
++ enum omapfb_rotation_type rotation_type;
++ u8 rotation;
++ bool mirror;
++};
++
++struct omapfb2_device {
++ struct device *dev;
++ struct mutex mtx;
++
++ u32 pseudo_palette[17];
++
++ int state;
++
++ unsigned num_fbs;
++ struct fb_info *fbs[10];
++
++ unsigned num_displays;
++ struct omap_display *displays[10];
++ unsigned num_overlays;
++ struct omap_overlay *overlays[10];
++ unsigned num_managers;
++ struct omap_overlay_manager *managers[10];
++};
++
++struct omapfb_colormode {
++ enum omap_color_mode dssmode;
++ u32 bits_per_pixel;
++ u32 nonstd;
++ struct fb_bitfield red;
++ struct fb_bitfield green;
++ struct fb_bitfield blue;
++ struct fb_bitfield transp;
++};
++
++u32 omapfb_get_region_paddr(struct omapfb_info *ofbi);
++void __iomem *omapfb_get_region_vaddr(struct omapfb_info *ofbi);
++
++void set_fb_fix(struct fb_info *fbi);
++int check_fb_var(struct fb_info *fbi, struct fb_var_screeninfo *var);
++int omapfb_realloc_fbmem(struct fb_info *fbi, unsigned long size, int type);
++int omapfb_apply_changes(struct fb_info *fbi, int init);
++int omapfb_fb_init(struct omapfb2_device *fbdev, struct fb_info *fbi);
++
++int omapfb_create_sysfs(struct omapfb2_device *fbdev);
++void omapfb_remove_sysfs(struct omapfb2_device *fbdev);
++
++int omapfb_ioctl(struct fb_info *fbi, unsigned int cmd, unsigned long arg);
++
++int omapfb_mode_to_timings(const char *mode_str,
++ struct omap_video_timings *timings, u8 *bpp);
++
++/* find the display connected to this fb, if any */
++static inline struct omap_display *fb2display(struct fb_info *fbi)
++{
++ struct omapfb_info *ofbi = FB2OFB(fbi);
++ int i;
++
++ /* XXX: returns the display connected to first attached overlay */
++ for (i = 0; i < ofbi->num_overlays; i++) {
++ if (ofbi->overlays[i]->manager)
++ return ofbi->overlays[i]->manager->display;
++ }
++
++ return NULL;
++}
++
++static inline void omapfb_lock(struct omapfb2_device *fbdev)
++{
++ mutex_lock(&fbdev->mtx);
++}
++
++static inline void omapfb_unlock(struct omapfb2_device *fbdev)
++{
++ mutex_unlock(&fbdev->mtx);
++}
++
++static inline int omapfb_overlay_enable(struct omap_overlay *ovl,
++ int enable)
++{
++ struct omap_overlay_info info;
++
++ ovl->get_overlay_info(ovl, &info);
++ info.enabled = enable;
++ return ovl->set_overlay_info(ovl, &info);
++}
++
++#endif
+diff --git a/include/linux/omapfb.h b/include/linux/omapfb.h
+index b226bdf..96190b2 100644
+--- a/include/linux/omapfb.h
++++ b/include/linux/omapfb.h
+@@ -50,6 +50,8 @@
+ #define OMAPFB_UPDATE_WINDOW OMAP_IOW(54, struct omapfb_update_window)
+ #define OMAPFB_SETUP_MEM OMAP_IOW(55, struct omapfb_mem_info)
+ #define OMAPFB_QUERY_MEM OMAP_IOW(56, struct omapfb_mem_info)
++#define OMAPFB_WAITFORVSYNC OMAP_IO(57)
++#define OMAPFB_MEMORY_READ OMAP_IOR(58, struct omapfb_memory_read)
+
+ #define OMAPFB_CAPS_GENERIC_MASK 0x00000fff
+ #define OMAPFB_CAPS_LCDC_MASK 0x00fff000
+@@ -90,6 +92,13 @@ enum omapfb_color_format {
+ OMAPFB_COLOR_CLUT_1BPP,
+ OMAPFB_COLOR_RGB444,
+ OMAPFB_COLOR_YUY422,
++
++ OMAPFB_COLOR_ARGB16,
++ OMAPFB_COLOR_RGB24U, /* RGB24, 32-bit container */
++ OMAPFB_COLOR_RGB24P, /* RGB24, 24-bit container */
++ OMAPFB_COLOR_ARGB32,
++ OMAPFB_COLOR_RGBA32,
++ OMAPFB_COLOR_RGBX32,
+ };
+
+ struct omapfb_update_window {
+@@ -161,6 +170,15 @@ enum omapfb_update_mode {
+ OMAPFB_MANUAL_UPDATE
+ };
+
++struct omapfb_memory_read {
++ __u16 x;
++ __u16 y;
++ __u16 w;
++ __u16 h;
++ size_t buffer_size;
++ void __user *buffer;
++};
++
+ #ifdef __KERNEL__
+
+ #include <linux/completion.h>
+@@ -376,6 +394,8 @@ extern struct lcd_ctrl omap1_lcd_ctrl;
+ extern struct lcd_ctrl omap2_disp_ctrl;
+ #endif
+
++extern void omapfb_set_platform_data(struct omapfb_platform_data *data);
++
+ extern void omapfb_reserve_sdram(void);
+ extern void omapfb_register_panel(struct lcd_panel *panel);
+ extern void omapfb_write_first_pixel(struct omapfb_device *fbdev, u16 pixval);
+--
+1.5.6.5
+
diff --git a/recipes/linux/linux-omap-pm/dss2/0005-DSS2-Add-panel-drivers.patch b/recipes/linux/linux-omap-pm/dss2/0005-DSS2-Add-panel-drivers.patch
new file mode 100644
index 0000000000..d12586ca2f
--- /dev/null
+++ b/recipes/linux/linux-omap-pm/dss2/0005-DSS2-Add-panel-drivers.patch
@@ -0,0 +1,396 @@
+From 4cc0368574f587f448231ccd121266bed4bf9729 Mon Sep 17 00:00:00 2001
+From: Tomi Valkeinen <tomi.valkeinen@nokia.com>
+Date: Thu, 2 Apr 2009 10:29:56 +0300
+Subject: [PATCH] DSS2: Add panel drivers
+
+- Generic panel
+- Samsung LTE430WQ-F0C LCD Panel
+- Sharp LS037V7DW01 LCD Panel
+
+Signed-off-by: Tomi Valkeinen <tomi.valkeinen@nokia.com>
+---
+ drivers/video/omap2/displays/Kconfig | 21 ++++
+ drivers/video/omap2/displays/Makefile | 3 +
+ drivers/video/omap2/displays/panel-generic.c | 96 +++++++++++++++++
+ .../omap2/displays/panel-samsung-lte430wq-f0c.c | 108 +++++++++++++++++++
+ .../video/omap2/displays/panel-sharp-ls037v7dw01.c | 112 ++++++++++++++++++++
+ 5 files changed, 340 insertions(+), 0 deletions(-)
+ create mode 100644 drivers/video/omap2/displays/Kconfig
+ create mode 100644 drivers/video/omap2/displays/Makefile
+ create mode 100644 drivers/video/omap2/displays/panel-generic.c
+ create mode 100644 drivers/video/omap2/displays/panel-samsung-lte430wq-f0c.c
+ create mode 100644 drivers/video/omap2/displays/panel-sharp-ls037v7dw01.c
+
+diff --git a/drivers/video/omap2/displays/Kconfig b/drivers/video/omap2/displays/Kconfig
+new file mode 100644
+index 0000000..0419ec8
+--- /dev/null
++++ b/drivers/video/omap2/displays/Kconfig
+@@ -0,0 +1,21 @@
++menu "OMAP2/3 Display Device Drivers"
++ depends on OMAP2_DSS
++
++config PANEL_GENERIC
++ tristate "Generic Panel"
++ help
++ Generic panel driver.
++ Used for DVI output for Beagle and OMAP3 SDP.
++
++config PANEL_SAMSUNG_LTE430WQ_F0C
++ tristate "Samsung LTE430WQ-F0C LCD Panel"
++ depends on OMAP2_DSS
++ help
++ LCD Panel used on Overo Palo43
++
++config PANEL_SHARP_LS037V7DW01
++ tristate "Sharp LS037V7DW01 LCD Panel"
++ depends on OMAP2_DSS
++ help
++ LCD Panel used in TI's SDP3430 and EVM boards
++endmenu
+diff --git a/drivers/video/omap2/displays/Makefile b/drivers/video/omap2/displays/Makefile
+new file mode 100644
+index 0000000..a26bbd2
+--- /dev/null
++++ b/drivers/video/omap2/displays/Makefile
+@@ -0,0 +1,3 @@
++obj-$(CONFIG_PANEL_GENERIC) += panel-generic.o
++obj-$(CONFIG_PANEL_SAMSUNG_LTE430WQ_F0C) += panel-samsung-lte430wq-f0c.o
++obj-$(CONFIG_PANEL_SHARP_LS037V7DW01) += panel-sharp-ls037v7dw01.o
+diff --git a/drivers/video/omap2/displays/panel-generic.c b/drivers/video/omap2/displays/panel-generic.c
+new file mode 100644
+index 0000000..8382acb
+--- /dev/null
++++ b/drivers/video/omap2/displays/panel-generic.c
+@@ -0,0 +1,96 @@
++/*
++ * Generic panel support
++ *
++ * Copyright (C) 2008 Nokia Corporation
++ * Author: Tomi Valkeinen <tomi.valkeinen@nokia.com>
++ *
++ * This program is free software; you can redistribute it and/or modify it
++ * under the terms of the GNU General Public License version 2 as published by
++ * the Free Software Foundation.
++ *
++ * 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 <http://www.gnu.org/licenses/>.
++ */
++
++#include <linux/module.h>
++#include <linux/delay.h>
++
++#include <mach/display.h>
++
++static int generic_panel_init(struct omap_display *display)
++{
++ return 0;
++}
++
++static int generic_panel_enable(struct omap_display *display)
++{
++ int r = 0;
++
++ if (display->hw_config.panel_enable)
++ r = display->hw_config.panel_enable(display);
++
++ return r;
++}
++
++static void generic_panel_disable(struct omap_display *display)
++{
++ if (display->hw_config.panel_disable)
++ display->hw_config.panel_disable(display);
++}
++
++static int generic_panel_suspend(struct omap_display *display)
++{
++ generic_panel_disable(display);
++ return 0;
++}
++
++static int generic_panel_resume(struct omap_display *display)
++{
++ return generic_panel_enable(display);
++}
++
++static struct omap_panel generic_panel = {
++ .owner = THIS_MODULE,
++ .name = "panel-generic",
++ .init = generic_panel_init,
++ .enable = generic_panel_enable,
++ .disable = generic_panel_disable,
++ .suspend = generic_panel_suspend,
++ .resume = generic_panel_resume,
++
++ .timings = {
++ /* 640 x 480 @ 60 Hz Reduced blanking VESA CVT 0.31M3-R */
++ .x_res = 640,
++ .y_res = 480,
++ .pixel_clock = 23500,
++ .hfp = 48,
++ .hsw = 32,
++ .hbp = 80,
++ .vfp = 3,
++ .vsw = 4,
++ .vbp = 7,
++ },
++
++ .config = OMAP_DSS_LCD_TFT,
++};
++
++
++static int __init generic_panel_drv_init(void)
++{
++ omap_dss_register_panel(&generic_panel);
++ return 0;
++}
++
++static void __exit generic_panel_drv_exit(void)
++{
++ omap_dss_unregister_panel(&generic_panel);
++}
++
++module_init(generic_panel_drv_init);
++module_exit(generic_panel_drv_exit);
++MODULE_LICENSE("GPL");
+diff --git a/drivers/video/omap2/displays/panel-samsung-lte430wq-f0c.c b/drivers/video/omap2/displays/panel-samsung-lte430wq-f0c.c
+new file mode 100644
+index 0000000..e4bb781
+--- /dev/null
++++ b/drivers/video/omap2/displays/panel-samsung-lte430wq-f0c.c
+@@ -0,0 +1,108 @@
++/*
++ * LCD panel driver for Samsung LTE430WQ-F0C
++ *
++ * Author: Steve Sakoman <steve@sakoman.com>
++ *
++ * This program is free software; you can redistribute it and/or modify it
++ * under the terms of the GNU General Public License version 2 as published by
++ * the Free Software Foundation.
++ *
++ * 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 <http://www.gnu.org/licenses/>.
++ */
++
++#include <linux/module.h>
++#include <linux/delay.h>
++
++#include <mach/display.h>
++
++static int samsung_lte_panel_init(struct omap_display *display)
++{
++ return 0;
++}
++
++static void samsung_lte_panel_cleanup(struct omap_display *display)
++{
++}
++
++static int samsung_lte_panel_enable(struct omap_display *display)
++{
++ int r = 0;
++
++ /* wait couple of vsyncs until enabling the LCD */
++ msleep(50);
++
++ if (display->hw_config.panel_enable)
++ r = display->hw_config.panel_enable(display);
++
++ return r;
++}
++
++static void samsung_lte_panel_disable(struct omap_display *display)
++{
++ if (display->hw_config.panel_disable)
++ display->hw_config.panel_disable(display);
++
++ /* wait at least 5 vsyncs after disabling the LCD */
++ msleep(100);
++}
++
++static int samsung_lte_panel_suspend(struct omap_display *display)
++{
++ samsung_lte_panel_disable(display);
++ return 0;
++}
++
++static int samsung_lte_panel_resume(struct omap_display *display)
++{
++ return samsung_lte_panel_enable(display);
++}
++
++static struct omap_panel samsung_lte_panel = {
++ .owner = THIS_MODULE,
++ .name = "samsung-lte430wq-f0c",
++ .init = samsung_lte_panel_init,
++ .cleanup = samsung_lte_panel_cleanup,
++ .enable = samsung_lte_panel_enable,
++ .disable = samsung_lte_panel_disable,
++ .suspend = samsung_lte_panel_suspend,
++ .resume = samsung_lte_panel_resume,
++
++ .timings = {
++ .x_res = 480,
++ .y_res = 272,
++
++ .pixel_clock = 9200,
++
++ .hsw = 41,
++ .hfp = 8,
++ .hbp = 45-41,
++
++ .vsw = 10,
++ .vfp = 4,
++ .vbp = 12-10,
++ },
++ .recommended_bpp = 16,
++ .config = OMAP_DSS_LCD_TFT | OMAP_DSS_LCD_IHS | OMAP_DSS_LCD_IVS,
++};
++
++
++static int __init samsung_lte_panel_drv_init(void)
++{
++ omap_dss_register_panel(&samsung_lte_panel);
++ return 0;
++}
++
++static void __exit samsung_lte_panel_drv_exit(void)
++{
++ omap_dss_unregister_panel(&samsung_lte_panel);
++}
++
++module_init(samsung_lte_panel_drv_init);
++module_exit(samsung_lte_panel_drv_exit);
++MODULE_LICENSE("GPL");
+diff --git a/drivers/video/omap2/displays/panel-sharp-ls037v7dw01.c b/drivers/video/omap2/displays/panel-sharp-ls037v7dw01.c
+new file mode 100644
+index 0000000..1f99150
+--- /dev/null
++++ b/drivers/video/omap2/displays/panel-sharp-ls037v7dw01.c
+@@ -0,0 +1,112 @@
++/*
++ * LCD panel driver for Sharp LS037V7DW01
++ *
++ * Copyright (C) 2008 Nokia Corporation
++ * Author: Tomi Valkeinen <tomi.valkeinen@nokia.com>
++ *
++ * This program is free software; you can redistribute it and/or modify it
++ * under the terms of the GNU General Public License version 2 as published by
++ * the Free Software Foundation.
++ *
++ * 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 <http://www.gnu.org/licenses/>.
++ */
++
++#include <linux/module.h>
++#include <linux/delay.h>
++
++#include <mach/display.h>
++
++static int sharp_ls_panel_init(struct omap_display *display)
++{
++ return 0;
++}
++
++static void sharp_ls_panel_cleanup(struct omap_display *display)
++{
++}
++
++static int sharp_ls_panel_enable(struct omap_display *display)
++{
++ int r = 0;
++
++ /* wait couple of vsyncs until enabling the LCD */
++ msleep(50);
++
++ if (display->hw_config.panel_enable)
++ r = display->hw_config.panel_enable(display);
++
++ return r;
++}
++
++static void sharp_ls_panel_disable(struct omap_display *display)
++{
++ if (display->hw_config.panel_disable)
++ display->hw_config.panel_disable(display);
++
++ /* wait at least 5 vsyncs after disabling the LCD */
++
++ msleep(100);
++}
++
++static int sharp_ls_panel_suspend(struct omap_display *display)
++{
++ sharp_ls_panel_disable(display);
++ return 0;
++}
++
++static int sharp_ls_panel_resume(struct omap_display *display)
++{
++ return sharp_ls_panel_enable(display);
++}
++
++static struct omap_panel sharp_ls_panel = {
++ .owner = THIS_MODULE,
++ .name = "sharp-ls037v7dw01",
++ .init = sharp_ls_panel_init,
++ .cleanup = sharp_ls_panel_cleanup,
++ .enable = sharp_ls_panel_enable,
++ .disable = sharp_ls_panel_disable,
++ .suspend = sharp_ls_panel_suspend,
++ .resume = sharp_ls_panel_resume,
++
++ .timings = {
++ .x_res = 480,
++ .y_res = 640,
++
++ .pixel_clock = 19200,
++
++ .hsw = 2,
++ .hfp = 1,
++ .hbp = 28,
++
++ .vsw = 1,
++ .vfp = 1,
++ .vbp = 1,
++ },
++
++ .acb = 0x28,
++
++ .config = OMAP_DSS_LCD_TFT | OMAP_DSS_LCD_IVS | OMAP_DSS_LCD_IHS,
++};
++
++
++static int __init sharp_ls_panel_drv_init(void)
++{
++ omap_dss_register_panel(&sharp_ls_panel);
++ return 0;
++}
++
++static void __exit sharp_ls_panel_drv_exit(void)
++{
++ omap_dss_unregister_panel(&sharp_ls_panel);
++}
++
++module_init(sharp_ls_panel_drv_init);
++module_exit(sharp_ls_panel_drv_exit);
++MODULE_LICENSE("GPL");
+--
+1.5.6.5
+
diff --git a/recipes/linux/linux-omap-pm/0008-DSS-Hacked-N810-support.patch b/recipes/linux/linux-omap-pm/dss2/0006-DSS2-HACK-Add-DSS2-support-for-N800.patch
index e2f21699b9..0025f1aa8b 100644
--- a/recipes/linux/linux-omap-pm/0008-DSS-Hacked-N810-support.patch
+++ b/recipes/linux/linux-omap-pm/dss2/0006-DSS2-HACK-Add-DSS2-support-for-N800.patch
@@ -1,31 +1,35 @@
-From a36dfe9ce6faa6a13bb82b3039856d8aa1528dc2 Mon Sep 17 00:00:00 2001
+From 18a25382e81c03230e022ca2eb7e0fce24479d6a Mon Sep 17 00:00:00 2001
From: Tomi Valkeinen <tomi.valkeinen@nokia.com>
-Date: Thu, 18 Dec 2008 15:37:42 +0200
-Subject: [PATCH] DSS: Hacked N810 support
+Date: Thu, 2 Apr 2009 10:31:57 +0300
+Subject: [PATCH] DSS2: HACK: Add DSS2 support for N800
+Works, but it an ugly quick hack.
+
+Signed-off-by: Tomi Valkeinen <tomi.valkeinen@nokia.com>
---
- arch/arm/mach-omap2/board-n800.c | 214 ++++++++++++++---
- drivers/video/omap2/Kconfig | 10 +
- drivers/video/omap2/Makefile | 3 +
- drivers/video/omap2/ctrl-blizzard.c | 279 ++++++++++++++++++++++
- drivers/video/omap2/panel-n800.c | 437 +++++++++++++++++++++++++++++++++++
+ arch/arm/mach-omap2/board-n800.c | 216 +++++++++++---
+ drivers/video/omap2/displays/Kconfig | 10 +
+ drivers/video/omap2/displays/Makefile | 3 +
+ drivers/video/omap2/displays/ctrl-blizzard.c | 279 +++++++++++++++++
+ drivers/video/omap2/displays/panel-n800.c | 435 ++++++++++++++++++++++++++
5 files changed, 905 insertions(+), 38 deletions(-)
- create mode 100644 drivers/video/omap2/ctrl-blizzard.c
- create mode 100644 drivers/video/omap2/panel-n800.c
+ create mode 100644 drivers/video/omap2/displays/ctrl-blizzard.c
+ create mode 100644 drivers/video/omap2/displays/panel-n800.c
diff --git a/arch/arm/mach-omap2/board-n800.c b/arch/arm/mach-omap2/board-n800.c
-index b38b295..ffa5aad 100644
+index f6f6571..6de60ae 100644
--- a/arch/arm/mach-omap2/board-n800.c
+++ b/arch/arm/mach-omap2/board-n800.c
-@@ -40,6 +40,7 @@
+@@ -41,6 +41,8 @@
+ #include <mach/clock.h>
#include <mach/gpio-switch.h>
- #include <mach/omapfb.h>
#include <mach/blizzard.h>
+#include <mach/display.h>
++#include <mach/vram.h>
#include <../drivers/cbus/tahvo.h>
#include <../drivers/media/video/tcm825x.h>
-@@ -156,23 +157,175 @@ static struct omap_uart_config n800_uart_config __initdata = {
+@@ -161,23 +163,176 @@ static struct omap_uart_config n800_uart_config __initdata = {
#include "../../../drivers/cbus/retu.h"
@@ -119,7 +123,7 @@ index b38b295..ffa5aad 100644
+ return 0;
+}
+
-+static struct omap_display_data n800_dsi_display_data = {
++static struct omap_dss_display_config n800_dsi_display_data = {
+ .type = OMAP_DISPLAY_TYPE_DBI,
+ .name = "lcd",
+ .ctrl_name = "ctrl-blizzard",
@@ -136,9 +140,9 @@ index b38b295..ffa5aad 100644
+ /* 8 for cmd mode, 16 for pixel data. ctrl-blizzard handles switching */
+ .data_lines = 8,
+ },
-+ .priv = 0, // XXX used for panel datalines
++ .panel_data = 0, // XXX used for panel datalines
+};
-+static struct omap_dss_platform_data n800_dss_data = {
++static struct omap_dss_board_info n800_dss_data = {
+ .num_displays = 1,
+ .displays = {
+ &n800_dsi_display_data,
@@ -149,7 +153,7 @@ index b38b295..ffa5aad 100644
- .tmp105_irq_pin = 125,
- .set_power = n800_tmp105_set_power,
+static struct platform_device n800_dss_device = {
-+ .name = "omap-dss",
++ .name = "omapdss",
+ .id = -1,
+ .dev = {
+ .platform_data = &n800_dss_data,
@@ -164,7 +168,8 @@ index b38b295..ffa5aad 100644
+ conf = omap_get_config(OMAP_TAG_LCD, struct omap_lcd_config);
+ if (conf != NULL) {
+ n800_dsi_display_data.panel_reset_gpio = conf->nreset_gpio;
-+ n800_dsi_display_data.priv = (void*)(u32)conf->data_lines; // XXX
++ n800_dsi_display_data.panel_data =
++ (void*)(u32)conf->data_lines; // XXX
+ //printk("\n\nTULI %d\n\n", conf->data_lines);
+ } else {
+ printk("\n\nEI TULLU MIOTÄÄÄ\n\n");
@@ -211,7 +216,7 @@ index b38b295..ffa5aad 100644
static void mipid_shutdown(struct mipid_platform_data *pdata)
{
if (pdata->nreset_gpio != -1) {
-@@ -186,6 +339,7 @@ static struct mipid_platform_data n800_mipid_platform_data = {
+@@ -191,6 +346,7 @@ static struct mipid_platform_data n800_mipid_platform_data = {
.shutdown = mipid_shutdown,
};
@@ -219,7 +224,7 @@ index b38b295..ffa5aad 100644
static void __init mipid_dev_init(void)
{
const struct omap_lcd_config *conf;
-@@ -196,26 +350,9 @@ static void __init mipid_dev_init(void)
+@@ -201,26 +357,9 @@ static void __init mipid_dev_init(void)
n800_mipid_platform_data.data_lines = conf->data_lines;
}
}
@@ -248,7 +253,7 @@ index b38b295..ffa5aad 100644
static void blizzard_enable_clocks(int enable)
{
if (enable)
-@@ -260,14 +397,12 @@ static void __init blizzard_dev_init(void)
+@@ -265,14 +404,12 @@ static void __init blizzard_dev_init(void)
gpio_direction_output(N800_BLIZZARD_POWERDOWN_GPIO, 1);
blizzard_get_clocks();
@@ -265,7 +270,7 @@ index b38b295..ffa5aad 100644
{ OMAP_TAG_TMP105, &n800_tmp105_config },
};
-@@ -374,7 +509,7 @@ static struct omap2_mcspi_device_config tsc2005_mcspi_config = {
+@@ -379,7 +516,7 @@ static struct omap2_mcspi_device_config tsc2005_mcspi_config = {
static struct spi_board_info n800_spi_board_info[] __initdata = {
{
@@ -274,7 +279,7 @@ index b38b295..ffa5aad 100644
.bus_num = 1,
.chip_select = 1,
.max_speed_hz = 4000000,
-@@ -399,7 +534,7 @@ static struct spi_board_info n800_spi_board_info[] __initdata = {
+@@ -404,7 +541,7 @@ static struct spi_board_info n800_spi_board_info[] __initdata = {
static struct spi_board_info n810_spi_board_info[] __initdata = {
{
@@ -283,15 +288,15 @@ index b38b295..ffa5aad 100644
.bus_num = 1,
.chip_select = 1,
.max_speed_hz = 4000000,
-@@ -567,6 +702,7 @@ static struct platform_device *n800_devices[] __initdata = {
- #if defined(CONFIG_CBUS_RETU) && defined(CONFIG_LEDS_OMAP_PWM)
- &n800_keypad_led_device,
+@@ -582,6 +719,7 @@ static struct platform_device *n800_devices[] __initdata = {
+ #if defined(CONFIG_CBUS_RETU_HEADSET)
+ &retu_headset_device,
#endif
+ &n800_dss_device,
};
#ifdef CONFIG_MENELAUS
-@@ -689,9 +825,10 @@ void __init nokia_n800_common_init(void)
+@@ -713,9 +851,10 @@ void __init nokia_n800_common_init(void)
if (machine_is_nokia_n810())
i2c_register_board_info(2, n810_i2c_board_info_2,
ARRAY_SIZE(n810_i2c_board_info_2));
@@ -305,7 +310,7 @@ index b38b295..ffa5aad 100644
}
static void __init nokia_n800_init(void)
-@@ -712,6 +849,7 @@ void __init nokia_n800_map_io(void)
+@@ -735,6 +874,7 @@ void __init nokia_n800_map_io(void)
omap_board_config_size = ARRAY_SIZE(n800_config);
omap2_set_globals_242x();
@@ -313,41 +318,41 @@ index b38b295..ffa5aad 100644
omap2_map_common_io();
}
-diff --git a/drivers/video/omap2/Kconfig b/drivers/video/omap2/Kconfig
-index b54c955..4e9211e 100644
---- a/drivers/video/omap2/Kconfig
-+++ b/drivers/video/omap2/Kconfig
-@@ -49,4 +49,14 @@ config PANEL_SHARP_LS037V7DW01
+diff --git a/drivers/video/omap2/displays/Kconfig b/drivers/video/omap2/displays/Kconfig
+index 0419ec8..356ceb1 100644
+--- a/drivers/video/omap2/displays/Kconfig
++++ b/drivers/video/omap2/displays/Kconfig
+@@ -18,4 +18,14 @@ config PANEL_SHARP_LS037V7DW01
+ depends on OMAP2_DSS
help
LCD Panel used in TI's SDP3430 and EVM boards
-
++
+config PANEL_N800
-+ tristate "panel n800"
++ tristate "Panel N8x0"
+ help
-+ N800 LCD
++ N8x0 LCD (hack)
+
+config CTRL_BLIZZARD
-+ tristate "blizzard ctrl"
++ tristate "Blizzard Controller"
+ help
-+ Blizzard Ctrl
-+
++ Blizzard Controller (hack)
endmenu
-diff --git a/drivers/video/omap2/Makefile b/drivers/video/omap2/Makefile
-index fe6858e..7727f9c 100644
---- a/drivers/video/omap2/Makefile
-+++ b/drivers/video/omap2/Makefile
-@@ -3,3 +3,6 @@ omapfb-y := omapfb-main.o omapfb-sysfs.o omapfb-ioctl.o
-
+diff --git a/drivers/video/omap2/displays/Makefile b/drivers/video/omap2/displays/Makefile
+index a26bbd2..1b74b7e 100644
+--- a/drivers/video/omap2/displays/Makefile
++++ b/drivers/video/omap2/displays/Makefile
+@@ -1,3 +1,6 @@
obj-$(CONFIG_PANEL_GENERIC) += panel-generic.o
+ obj-$(CONFIG_PANEL_SAMSUNG_LTE430WQ_F0C) += panel-samsung-lte430wq-f0c.o
obj-$(CONFIG_PANEL_SHARP_LS037V7DW01) += panel-sharp-ls037v7dw01.o
+
+obj-$(CONFIG_CTRL_BLIZZARD) += ctrl-blizzard.o
+obj-$(CONFIG_PANEL_N800) += panel-n800.o
-diff --git a/drivers/video/omap2/ctrl-blizzard.c b/drivers/video/omap2/ctrl-blizzard.c
+diff --git a/drivers/video/omap2/displays/ctrl-blizzard.c b/drivers/video/omap2/displays/ctrl-blizzard.c
new file mode 100644
-index 0000000..e1e5569
+index 0000000..6698e4d
--- /dev/null
-+++ b/drivers/video/omap2/ctrl-blizzard.c
++++ b/drivers/video/omap2/displays/ctrl-blizzard.c
@@ -0,0 +1,279 @@
+
+//#define DEBUG
@@ -507,7 +512,7 @@ index 0000000..e1e5569
+int rfbi_configure(int rfbi_module, int bpp, int lines);
+
+static void blizzard_ctrl_setup_update(struct omap_display *display,
-+ int x, int y, int w, int h)
++ u16 x, u16 y, u16 w, u16 h)
+{
+ u8 tmp[18];
+ int x_end, y_end;
@@ -556,17 +561,17 @@ index 0000000..e1e5569
+ 16);
+}
+
-+static int blizzard_ctrl_enable_te(struct omap_display *display, int enable)
++static int blizzard_ctrl_enable_te(struct omap_display *display, bool enable)
+{
+ return 0;
+}
+
-+static int blizzard_ctrl_rotate(struct omap_display *display, int rotate)
++static int blizzard_ctrl_rotate(struct omap_display *display, u8 rotate)
+{
+ return 0;
+}
+
-+static int blizzard_ctrl_mirror(struct omap_display *display, int enable)
++static int blizzard_ctrl_mirror(struct omap_display *display, bool enable)
+{
+ return 0;
+}
@@ -584,8 +589,8 @@ index 0000000..e1e5569
+ .disable = blizzard_ctrl_disable,
+ .setup_update = blizzard_ctrl_setup_update,
+ .enable_te = blizzard_ctrl_enable_te,
-+ .rotate = blizzard_ctrl_rotate,
-+ .mirror = blizzard_ctrl_mirror,
++ .set_rotate = blizzard_ctrl_rotate,
++ .set_mirror = blizzard_ctrl_mirror,
+ .run_test = blizzard_run_test,
+ .pixel_size = 16,
+
@@ -628,12 +633,12 @@ index 0000000..e1e5569
+MODULE_AUTHOR("Tomi Valkeinen <tomi.valkeinen@nokia.com>");
+MODULE_DESCRIPTION("Blizzard Driver");
+MODULE_LICENSE("GPL");
-diff --git a/drivers/video/omap2/panel-n800.c b/drivers/video/omap2/panel-n800.c
+diff --git a/drivers/video/omap2/displays/panel-n800.c b/drivers/video/omap2/displays/panel-n800.c
new file mode 100644
-index 0000000..3ae0a16
+index 0000000..91d3e37
--- /dev/null
-+++ b/drivers/video/omap2/panel-n800.c
-@@ -0,0 +1,437 @@
++++ b/drivers/video/omap2/displays/panel-n800.c
+@@ -0,0 +1,435 @@
+
+/*#define DEBUG*/
+
@@ -791,7 +796,7 @@ index 0000000..3ae0a16
+
+ pn800_write(md, 0xc2, (u8 *)initpar, sizeof(initpar));
+
-+ data_lines = (int)md->display->hw_config.priv; // XXX
++ data_lines = (int)md->display->hw_config.panel_data; // XXX
+
+ set_data_lines(md, data_lines);
+}
@@ -1002,8 +1007,6 @@ index 0000000..3ae0a16
+ .vbp = 3,
+ },
+ .config = OMAP_DSS_LCD_TFT,
-+
-+ .bpp = 16,
+};
+
+static int pn800_spi_probe(struct spi_device *spi)
@@ -1072,5 +1075,5 @@ index 0000000..3ae0a16
+MODULE_DESCRIPTION("N800 LCD Driver");
+MODULE_LICENSE("GPL");
--
-1.5.6.3
+1.5.6.5
diff --git a/recipes/linux/linux-omap-pm/dss2/0007-DSS2-Add-DSS2-support-for-SDP-Beagle-Overo-EVM.patch b/recipes/linux/linux-omap-pm/dss2/0007-DSS2-Add-DSS2-support-for-SDP-Beagle-Overo-EVM.patch
new file mode 100644
index 0000000000..62d653700e
--- /dev/null
+++ b/recipes/linux/linux-omap-pm/dss2/0007-DSS2-Add-DSS2-support-for-SDP-Beagle-Overo-EVM.patch
@@ -0,0 +1,5691 @@
+From 9292aae93419867b9d0fce5cf3b2697e9250f5b5 Mon Sep 17 00:00:00 2001
+From: Tomi Valkeinen <tomi.valkeinen@nokia.com>
+Date: Thu, 2 Apr 2009 10:36:05 +0300
+Subject: [PATCH] DSS2: Add DSS2 support for SDP, Beagle, Overo, EVM
+
+Also custom dss_*_defconfigs as an example.
+
+Signed-off-by: Tomi Valkeinen <tomi.valkeinen@nokia.com>
+---
+ arch/arm/configs/dss_omap3_beagle_defconfig | 1371 ++++++++++++++++++++
+ arch/arm/configs/dss_omap_3430sdp_defconfig | 1634 +++++++++++++++++++++++
+ arch/arm/configs/dss_overo_defconfig | 1862 +++++++++++++++++++++++++++
+ arch/arm/mach-omap2/board-3430sdp.c | 227 ++++-
+ arch/arm/mach-omap2/board-omap3beagle.c | 95 ++-
+ arch/arm/mach-omap2/board-omap3evm.c | 217 +++-
+ arch/arm/mach-omap2/board-overo.c | 98 ++-
+ 7 files changed, 5475 insertions(+), 29 deletions(-)
+ create mode 100644 arch/arm/configs/dss_omap3_beagle_defconfig
+ create mode 100644 arch/arm/configs/dss_omap_3430sdp_defconfig
+ create mode 100644 arch/arm/configs/dss_overo_defconfig
+
+diff --git a/arch/arm/configs/dss_omap3_beagle_defconfig b/arch/arm/configs/dss_omap3_beagle_defconfig
+new file mode 100644
+index 0000000..7143168
+--- /dev/null
++++ b/arch/arm/configs/dss_omap3_beagle_defconfig
+@@ -0,0 +1,1371 @@
++#
++# Automatically generated make config: don't edit
++# Linux kernel version: 2.6.29-omap1
++# Thu Apr 2 11:24:09 2009
++#
++CONFIG_ARM=y
++CONFIG_SYS_SUPPORTS_APM_EMULATION=y
++CONFIG_GENERIC_GPIO=y
++CONFIG_GENERIC_TIME=y
++CONFIG_GENERIC_CLOCKEVENTS=y
++CONFIG_MMU=y
++# CONFIG_NO_IOPORT is not set
++CONFIG_GENERIC_HARDIRQS=y
++CONFIG_STACKTRACE_SUPPORT=y
++CONFIG_HAVE_LATENCYTOP_SUPPORT=y
++CONFIG_LOCKDEP_SUPPORT=y
++CONFIG_TRACE_IRQFLAGS_SUPPORT=y
++CONFIG_HARDIRQS_SW_RESEND=y
++CONFIG_GENERIC_IRQ_PROBE=y
++CONFIG_RWSEM_GENERIC_SPINLOCK=y
++# CONFIG_ARCH_HAS_ILOG2_U32 is not set
++# CONFIG_ARCH_HAS_ILOG2_U64 is not set
++CONFIG_GENERIC_HWEIGHT=y
++CONFIG_GENERIC_CALIBRATE_DELAY=y
++CONFIG_GENERIC_HARDIRQS_NO__DO_IRQ=y
++CONFIG_VECTORS_BASE=0xffff0000
++CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
++
++#
++# General setup
++#
++CONFIG_EXPERIMENTAL=y
++CONFIG_BROKEN_ON_SMP=y
++CONFIG_INIT_ENV_ARG_LIMIT=32
++CONFIG_LOCALVERSION=""
++CONFIG_LOCALVERSION_AUTO=y
++CONFIG_SWAP=y
++CONFIG_SYSVIPC=y
++CONFIG_SYSVIPC_SYSCTL=y
++# CONFIG_POSIX_MQUEUE is not set
++CONFIG_BSD_PROCESS_ACCT=y
++# CONFIG_BSD_PROCESS_ACCT_V3 is not set
++# CONFIG_TASKSTATS is not set
++# CONFIG_AUDIT is not set
++
++#
++# RCU Subsystem
++#
++CONFIG_CLASSIC_RCU=y
++# CONFIG_TREE_RCU is not set
++# CONFIG_PREEMPT_RCU is not set
++# CONFIG_TREE_RCU_TRACE is not set
++# CONFIG_PREEMPT_RCU_TRACE is not set
++# CONFIG_IKCONFIG is not set
++CONFIG_LOG_BUF_SHIFT=14
++CONFIG_GROUP_SCHED=y
++CONFIG_FAIR_GROUP_SCHED=y
++# CONFIG_RT_GROUP_SCHED is not set
++CONFIG_USER_SCHED=y
++# CONFIG_CGROUP_SCHED is not set
++# CONFIG_CGROUPS is not set
++CONFIG_SYSFS_DEPRECATED=y
++CONFIG_SYSFS_DEPRECATED_V2=y
++# CONFIG_RELAY is not set
++# CONFIG_NAMESPACES is not set
++CONFIG_BLK_DEV_INITRD=y
++CONFIG_INITRAMFS_SOURCE=""
++CONFIG_CC_OPTIMIZE_FOR_SIZE=y
++CONFIG_SYSCTL=y
++CONFIG_ANON_INODES=y
++CONFIG_EMBEDDED=y
++CONFIG_UID16=y
++# CONFIG_SYSCTL_SYSCALL is not set
++CONFIG_KALLSYMS=y
++# CONFIG_KALLSYMS_ALL is not set
++CONFIG_KALLSYMS_EXTRA_PASS=y
++CONFIG_HOTPLUG=y
++CONFIG_PRINTK=y
++CONFIG_BUG=y
++CONFIG_ELF_CORE=y
++CONFIG_BASE_FULL=y
++CONFIG_FUTEX=y
++CONFIG_EPOLL=y
++CONFIG_SIGNALFD=y
++CONFIG_TIMERFD=y
++CONFIG_EVENTFD=y
++CONFIG_SHMEM=y
++CONFIG_AIO=y
++CONFIG_VM_EVENT_COUNTERS=y
++CONFIG_COMPAT_BRK=y
++CONFIG_SLAB=y
++# CONFIG_SLUB is not set
++# CONFIG_SLOB is not set
++# CONFIG_PROFILING is not set
++CONFIG_HAVE_OPROFILE=y
++# CONFIG_KPROBES is not set
++CONFIG_HAVE_KPROBES=y
++CONFIG_HAVE_KRETPROBES=y
++CONFIG_HAVE_CLK=y
++CONFIG_HAVE_GENERIC_DMA_COHERENT=y
++CONFIG_SLABINFO=y
++CONFIG_RT_MUTEXES=y
++CONFIG_BASE_SMALL=0
++CONFIG_MODULES=y
++# CONFIG_MODULE_FORCE_LOAD is not set
++CONFIG_MODULE_UNLOAD=y
++# CONFIG_MODULE_FORCE_UNLOAD is not set
++CONFIG_MODVERSIONS=y
++CONFIG_MODULE_SRCVERSION_ALL=y
++CONFIG_BLOCK=y
++# CONFIG_LBD is not set
++# CONFIG_BLK_DEV_IO_TRACE is not set
++# CONFIG_BLK_DEV_BSG is not set
++# CONFIG_BLK_DEV_INTEGRITY is not set
++
++#
++# IO Schedulers
++#
++CONFIG_IOSCHED_NOOP=y
++CONFIG_IOSCHED_AS=y
++CONFIG_IOSCHED_DEADLINE=y
++CONFIG_IOSCHED_CFQ=y
++CONFIG_DEFAULT_AS=y
++# CONFIG_DEFAULT_DEADLINE is not set
++# CONFIG_DEFAULT_CFQ is not set
++# CONFIG_DEFAULT_NOOP is not set
++CONFIG_DEFAULT_IOSCHED="anticipatory"
++# CONFIG_FREEZER is not set
++
++#
++# System Type
++#
++# CONFIG_ARCH_AAEC2000 is not set
++# CONFIG_ARCH_INTEGRATOR is not set
++# CONFIG_ARCH_REALVIEW is not set
++# CONFIG_ARCH_VERSATILE is not set
++# CONFIG_ARCH_AT91 is not set
++# CONFIG_ARCH_CLPS711X is not set
++# CONFIG_ARCH_EBSA110 is not set
++# CONFIG_ARCH_EP93XX is not set
++# CONFIG_ARCH_FOOTBRIDGE is not set
++# CONFIG_ARCH_NETX is not set
++# CONFIG_ARCH_H720X is not set
++# CONFIG_ARCH_IMX is not set
++# CONFIG_ARCH_IOP13XX is not set
++# CONFIG_ARCH_IOP32X is not set
++# CONFIG_ARCH_IOP33X is not set
++# CONFIG_ARCH_IXP23XX is not set
++# CONFIG_ARCH_IXP2000 is not set
++# CONFIG_ARCH_IXP4XX is not set
++# CONFIG_ARCH_L7200 is not set
++# CONFIG_ARCH_KIRKWOOD is not set
++# CONFIG_ARCH_KS8695 is not set
++# CONFIG_ARCH_NS9XXX is not set
++# CONFIG_ARCH_LOKI is not set
++# CONFIG_ARCH_MV78XX0 is not set
++# CONFIG_ARCH_MXC is not set
++# CONFIG_ARCH_ORION5X is not set
++# CONFIG_ARCH_PNX4008 is not set
++# CONFIG_ARCH_PXA is not set
++# CONFIG_ARCH_RPC is not set
++# CONFIG_ARCH_SA1100 is not set
++# CONFIG_ARCH_S3C2410 is not set
++# CONFIG_ARCH_S3C64XX is not set
++# CONFIG_ARCH_SHARK is not set
++# CONFIG_ARCH_LH7A40X is not set
++# CONFIG_ARCH_DAVINCI is not set
++CONFIG_ARCH_OMAP=y
++# CONFIG_ARCH_MSM is not set
++# CONFIG_ARCH_W90X900 is not set
++
++#
++# TI OMAP Implementations
++#
++CONFIG_ARCH_OMAP_OTG=y
++# CONFIG_ARCH_OMAP1 is not set
++# CONFIG_ARCH_OMAP2 is not set
++CONFIG_ARCH_OMAP3=y
++
++#
++# OMAP Feature Selections
++#
++# CONFIG_OMAP_DEBUG_POWERDOMAIN is not set
++# CONFIG_OMAP_DEBUG_CLOCKDOMAIN is not set
++# CONFIG_OMAP_SMARTREFLEX is not set
++# CONFIG_OMAP_RESET_CLOCKS is not set
++CONFIG_OMAP_BOOT_TAG=y
++CONFIG_OMAP_BOOT_REASON=y
++# CONFIG_OMAP_COMPONENT_VERSION is not set
++# CONFIG_OMAP_GPIO_SWITCH is not set
++# CONFIG_OMAP_MUX is not set
++# CONFIG_OMAP_MCBSP is not set
++# CONFIG_OMAP_MBOX_FWK is not set
++# CONFIG_OMAP_MPU_TIMER is not set
++CONFIG_OMAP_32K_TIMER=y
++CONFIG_OMAP_32K_TIMER_HZ=128
++CONFIG_OMAP_TICK_GPTIMER=12
++CONFIG_OMAP_DM_TIMER=y
++# CONFIG_OMAP_LL_DEBUG_UART1 is not set
++# CONFIG_OMAP_LL_DEBUG_UART2 is not set
++CONFIG_OMAP_LL_DEBUG_UART3=y
++CONFIG_ARCH_OMAP34XX=y
++CONFIG_ARCH_OMAP3430=y
++
++#
++# OMAP Board Type
++#
++# CONFIG_MACH_NOKIA_RX51 is not set
++# CONFIG_MACH_OMAP_LDP is not set
++# CONFIG_MACH_OMAP_3430SDP is not set
++# CONFIG_MACH_OMAP3EVM is not set
++CONFIG_MACH_OMAP3_BEAGLE=y
++# CONFIG_MACH_OVERO is not set
++# CONFIG_MACH_OMAP3_PANDORA is not set
++
++#
++# Processor Type
++#
++CONFIG_CPU_32=y
++CONFIG_CPU_32v6K=y
++CONFIG_CPU_V7=y
++CONFIG_CPU_32v7=y
++CONFIG_CPU_ABRT_EV7=y
++CONFIG_CPU_PABRT_IFAR=y
++CONFIG_CPU_CACHE_V7=y
++CONFIG_CPU_CACHE_VIPT=y
++CONFIG_CPU_COPY_V6=y
++CONFIG_CPU_TLB_V7=y
++CONFIG_CPU_HAS_ASID=y
++CONFIG_CPU_CP15=y
++CONFIG_CPU_CP15_MMU=y
++
++#
++# Processor Features
++#
++CONFIG_ARM_THUMB=y
++# CONFIG_ARM_THUMBEE is not set
++# CONFIG_CPU_ICACHE_DISABLE is not set
++# CONFIG_CPU_DCACHE_DISABLE is not set
++# CONFIG_CPU_BPREDICT_DISABLE is not set
++CONFIG_HAS_TLS_REG=y
++# CONFIG_OUTER_CACHE is not set
++
++#
++# Bus support
++#
++# CONFIG_PCI_SYSCALL is not set
++# CONFIG_ARCH_SUPPORTS_MSI is not set
++# CONFIG_PCCARD is not set
++
++#
++# Kernel Features
++#
++CONFIG_TICK_ONESHOT=y
++CONFIG_NO_HZ=y
++CONFIG_HIGH_RES_TIMERS=y
++CONFIG_GENERIC_CLOCKEVENTS_BUILD=y
++CONFIG_VMSPLIT_3G=y
++# CONFIG_VMSPLIT_2G is not set
++# CONFIG_VMSPLIT_1G is not set
++CONFIG_PAGE_OFFSET=0xC0000000
++# CONFIG_PREEMPT is not set
++CONFIG_HZ=128
++CONFIG_AEABI=y
++CONFIG_OABI_COMPAT=y
++CONFIG_ARCH_FLATMEM_HAS_HOLES=y
++# CONFIG_ARCH_SPARSEMEM_DEFAULT is not set
++# CONFIG_ARCH_SELECT_MEMORY_MODEL is not set
++CONFIG_SELECT_MEMORY_MODEL=y
++CONFIG_FLATMEM_MANUAL=y
++# CONFIG_DISCONTIGMEM_MANUAL is not set
++# CONFIG_SPARSEMEM_MANUAL is not set
++CONFIG_FLATMEM=y
++CONFIG_FLAT_NODE_MEM_MAP=y
++CONFIG_PAGEFLAGS_EXTENDED=y
++CONFIG_SPLIT_PTLOCK_CPUS=4
++# CONFIG_PHYS_ADDR_T_64BIT is not set
++CONFIG_ZONE_DMA_FLAG=0
++CONFIG_VIRT_TO_BUS=y
++CONFIG_UNEVICTABLE_LRU=y
++# CONFIG_LEDS is not set
++CONFIG_ALIGNMENT_TRAP=y
++
++#
++# Boot options
++#
++CONFIG_ZBOOT_ROM_TEXT=0x0
++CONFIG_ZBOOT_ROM_BSS=0x0
++CONFIG_CMDLINE="root=/dev/nfs nfsroot=192.168.2.14:/tftpboot/rootfs ip=192.168.2.15 nolock,rsize=1024,wsize=1024 rw"
++# CONFIG_XIP_KERNEL is not set
++# CONFIG_KEXEC is not set
++
++#
++# CPU Power Management
++#
++# CONFIG_CPU_FREQ is not set
++# CONFIG_CPU_IDLE is not set
++
++#
++# Floating point emulation
++#
++
++#
++# At least one emulation must be selected
++#
++CONFIG_FPE_NWFPE=y
++# CONFIG_FPE_NWFPE_XP is not set
++# CONFIG_FPE_FASTFPE is not set
++CONFIG_VFP=y
++CONFIG_VFPv3=y
++# CONFIG_NEON is not set
++
++#
++# Userspace binary formats
++#
++CONFIG_BINFMT_ELF=y
++# CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set
++CONFIG_HAVE_AOUT=y
++# CONFIG_BINFMT_AOUT is not set
++CONFIG_BINFMT_MISC=y
++
++#
++# Power management options
++#
++CONFIG_PM=y
++# CONFIG_PM_DEBUG is not set
++# CONFIG_SUSPEND is not set
++# CONFIG_APM_EMULATION is not set
++CONFIG_ARCH_SUSPEND_POSSIBLE=y
++CONFIG_NET=y
++
++#
++# Networking options
++#
++CONFIG_COMPAT_NET_DEV_OPS=y
++CONFIG_PACKET=y
++# CONFIG_PACKET_MMAP is not set
++CONFIG_UNIX=y
++CONFIG_XFRM=y
++# CONFIG_XFRM_USER is not set
++# CONFIG_XFRM_SUB_POLICY is not set
++# CONFIG_XFRM_MIGRATE is not set
++# CONFIG_XFRM_STATISTICS is not set
++CONFIG_NET_KEY=y
++# CONFIG_NET_KEY_MIGRATE is not set
++CONFIG_INET=y
++# CONFIG_IP_MULTICAST is not set
++# CONFIG_IP_ADVANCED_ROUTER is not set
++CONFIG_IP_FIB_HASH=y
++CONFIG_IP_PNP=y
++CONFIG_IP_PNP_DHCP=y
++CONFIG_IP_PNP_BOOTP=y
++CONFIG_IP_PNP_RARP=y
++# CONFIG_NET_IPIP is not set
++# CONFIG_NET_IPGRE is not set
++# CONFIG_ARPD is not set
++# CONFIG_SYN_COOKIES is not set
++# CONFIG_INET_AH is not set
++# CONFIG_INET_ESP is not set
++# CONFIG_INET_IPCOMP is not set
++# CONFIG_INET_XFRM_TUNNEL is not set
++# CONFIG_INET_TUNNEL is not set
++CONFIG_INET_XFRM_MODE_TRANSPORT=y
++CONFIG_INET_XFRM_MODE_TUNNEL=y
++CONFIG_INET_XFRM_MODE_BEET=y
++# CONFIG_INET_LRO is not set
++CONFIG_INET_DIAG=y
++CONFIG_INET_TCP_DIAG=y
++# CONFIG_TCP_CONG_ADVANCED is not set
++CONFIG_TCP_CONG_CUBIC=y
++CONFIG_DEFAULT_TCP_CONG="cubic"
++# CONFIG_TCP_MD5SIG is not set
++# CONFIG_IPV6 is not set
++# CONFIG_NETWORK_SECMARK is not set
++# CONFIG_NETFILTER is not set
++# CONFIG_IP_DCCP is not set
++# CONFIG_IP_SCTP is not set
++# CONFIG_TIPC is not set
++# CONFIG_ATM is not set
++# CONFIG_BRIDGE is not set
++# CONFIG_NET_DSA is not set
++# CONFIG_VLAN_8021Q is not set
++# CONFIG_DECNET is not set
++# CONFIG_LLC2 is not set
++# CONFIG_IPX is not set
++# CONFIG_ATALK is not set
++# CONFIG_X25 is not set
++# CONFIG_LAPB is not set
++# CONFIG_ECONET is not set
++# CONFIG_WAN_ROUTER is not set
++# CONFIG_NET_SCHED is not set
++# CONFIG_DCB is not set
++
++#
++# Network testing
++#
++# CONFIG_NET_PKTGEN is not set
++# CONFIG_HAMRADIO is not set
++# CONFIG_CAN is not set
++# CONFIG_IRDA is not set
++# CONFIG_BT is not set
++# CONFIG_AF_RXRPC is not set
++# CONFIG_PHONET is not set
++CONFIG_WIRELESS=y
++# CONFIG_CFG80211 is not set
++CONFIG_WIRELESS_OLD_REGULATORY=y
++# CONFIG_WIRELESS_EXT is not set
++# CONFIG_LIB80211 is not set
++# CONFIG_MAC80211 is not set
++# CONFIG_WIMAX is not set
++# CONFIG_RFKILL is not set
++# CONFIG_NET_9P is not set
++
++#
++# Device Drivers
++#
++
++#
++# Generic Driver Options
++#
++CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
++CONFIG_STANDALONE=y
++CONFIG_PREVENT_FIRMWARE_BUILD=y
++# CONFIG_FW_LOADER is not set
++# CONFIG_DEBUG_DRIVER is not set
++# CONFIG_DEBUG_DEVRES is not set
++# CONFIG_SYS_HYPERVISOR is not set
++# CONFIG_CONNECTOR is not set
++CONFIG_MTD=y
++# CONFIG_MTD_DEBUG is not set
++# CONFIG_MTD_CONCAT is not set
++CONFIG_MTD_PARTITIONS=y
++# CONFIG_MTD_TESTS is not set
++# CONFIG_MTD_REDBOOT_PARTS is not set
++# CONFIG_MTD_CMDLINE_PARTS is not set
++# CONFIG_MTD_AFS_PARTS is not set
++# CONFIG_MTD_AR7_PARTS is not set
++
++#
++# User Modules And Translation Layers
++#
++CONFIG_MTD_CHAR=y
++CONFIG_MTD_BLKDEVS=y
++CONFIG_MTD_BLOCK=y
++# CONFIG_FTL is not set
++# CONFIG_NFTL is not set
++# CONFIG_INFTL is not set
++# CONFIG_RFD_FTL is not set
++# CONFIG_SSFDC is not set
++# CONFIG_MTD_OOPS is not set
++
++#
++# RAM/ROM/Flash chip drivers
++#
++# CONFIG_MTD_CFI is not set
++# CONFIG_MTD_JEDECPROBE is not set
++CONFIG_MTD_MAP_BANK_WIDTH_1=y
++CONFIG_MTD_MAP_BANK_WIDTH_2=y
++CONFIG_MTD_MAP_BANK_WIDTH_4=y
++# CONFIG_MTD_MAP_BANK_WIDTH_8 is not set
++# CONFIG_MTD_MAP_BANK_WIDTH_16 is not set
++# CONFIG_MTD_MAP_BANK_WIDTH_32 is not set
++CONFIG_MTD_CFI_I1=y
++CONFIG_MTD_CFI_I2=y
++# CONFIG_MTD_CFI_I4 is not set
++# CONFIG_MTD_CFI_I8 is not set
++# CONFIG_MTD_RAM is not set
++# CONFIG_MTD_ROM is not set
++# CONFIG_MTD_ABSENT is not set
++
++#
++# Mapping drivers for chip access
++#
++# CONFIG_MTD_COMPLEX_MAPPINGS is not set
++# CONFIG_MTD_PLATRAM is not set
++
++#
++# Self-contained MTD device drivers
++#
++# CONFIG_MTD_SLRAM is not set
++# CONFIG_MTD_PHRAM is not set
++# CONFIG_MTD_MTDRAM is not set
++# CONFIG_MTD_BLOCK2MTD is not set
++
++#
++# Disk-On-Chip Device Drivers
++#
++# CONFIG_MTD_DOC2000 is not set
++# CONFIG_MTD_DOC2001 is not set
++# CONFIG_MTD_DOC2001PLUS is not set
++CONFIG_MTD_NAND=y
++# CONFIG_MTD_NAND_VERIFY_WRITE is not set
++# CONFIG_MTD_NAND_ECC_SMC is not set
++# CONFIG_MTD_NAND_MUSEUM_IDS is not set
++# CONFIG_MTD_NAND_GPIO is not set
++CONFIG_MTD_NAND_OMAP2=y
++CONFIG_MTD_NAND_IDS=y
++# CONFIG_MTD_NAND_DISKONCHIP is not set
++# CONFIG_MTD_NAND_NANDSIM is not set
++# CONFIG_MTD_NAND_PLATFORM is not set
++# CONFIG_MTD_ONENAND is not set
++
++#
++# LPDDR flash memory drivers
++#
++# CONFIG_MTD_LPDDR is not set
++
++#
++# UBI - Unsorted block images
++#
++# CONFIG_MTD_UBI is not set
++# CONFIG_PARPORT is not set
++CONFIG_BLK_DEV=y
++# CONFIG_BLK_DEV_COW_COMMON is not set
++CONFIG_BLK_DEV_LOOP=y
++# CONFIG_BLK_DEV_CRYPTOLOOP is not set
++# CONFIG_BLK_DEV_NBD is not set
++CONFIG_BLK_DEV_RAM=y
++CONFIG_BLK_DEV_RAM_COUNT=16
++CONFIG_BLK_DEV_RAM_SIZE=16384
++# CONFIG_BLK_DEV_XIP is not set
++# CONFIG_CDROM_PKTCDVD is not set
++# CONFIG_ATA_OVER_ETH is not set
++# CONFIG_MISC_DEVICES is not set
++CONFIG_HAVE_IDE=y
++# CONFIG_IDE is not set
++
++#
++# SCSI device support
++#
++# CONFIG_RAID_ATTRS is not set
++CONFIG_SCSI=y
++CONFIG_SCSI_DMA=y
++# CONFIG_SCSI_TGT is not set
++# CONFIG_SCSI_NETLINK is not set
++CONFIG_SCSI_PROC_FS=y
++
++#
++# SCSI support type (disk, tape, CD-ROM)
++#
++CONFIG_BLK_DEV_SD=y
++# CONFIG_CHR_DEV_ST is not set
++# CONFIG_CHR_DEV_OSST is not set
++# CONFIG_BLK_DEV_SR is not set
++# CONFIG_CHR_DEV_SG is not set
++# CONFIG_CHR_DEV_SCH is not set
++
++#
++# Some SCSI devices (e.g. CD jukebox) support multiple LUNs
++#
++# CONFIG_SCSI_MULTI_LUN is not set
++# CONFIG_SCSI_CONSTANTS is not set
++# CONFIG_SCSI_LOGGING is not set
++# CONFIG_SCSI_SCAN_ASYNC is not set
++CONFIG_SCSI_WAIT_SCAN=m
++
++#
++# SCSI Transports
++#
++# CONFIG_SCSI_SPI_ATTRS is not set
++# CONFIG_SCSI_FC_ATTRS is not set
++# CONFIG_SCSI_ISCSI_ATTRS is not set
++# CONFIG_SCSI_SAS_LIBSAS is not set
++# CONFIG_SCSI_SRP_ATTRS is not set
++CONFIG_SCSI_LOWLEVEL=y
++# CONFIG_ISCSI_TCP is not set
++# CONFIG_LIBFC is not set
++# CONFIG_SCSI_DEBUG is not set
++# CONFIG_SCSI_DH is not set
++# CONFIG_ATA is not set
++# CONFIG_MD is not set
++CONFIG_NETDEVICES=y
++# CONFIG_DUMMY is not set
++# CONFIG_BONDING is not set
++# CONFIG_MACVLAN is not set
++# CONFIG_EQUALIZER is not set
++# CONFIG_TUN is not set
++# CONFIG_VETH is not set
++# CONFIG_NET_ETHERNET is not set
++# CONFIG_NETDEV_1000 is not set
++# CONFIG_NETDEV_10000 is not set
++
++#
++# Wireless LAN
++#
++# CONFIG_WLAN_PRE80211 is not set
++# CONFIG_WLAN_80211 is not set
++# CONFIG_IWLWIFI_LEDS is not set
++
++#
++# Enable WiMAX (Networking options) to see the WiMAX drivers
++#
++# CONFIG_WAN is not set
++# CONFIG_PPP is not set
++# CONFIG_SLIP is not set
++# CONFIG_NETCONSOLE is not set
++# CONFIG_NETPOLL is not set
++# CONFIG_NET_POLL_CONTROLLER is not set
++# CONFIG_ISDN is not set
++
++#
++# Input device support
++#
++CONFIG_INPUT=y
++# CONFIG_INPUT_FF_MEMLESS is not set
++# CONFIG_INPUT_POLLDEV is not set
++
++#
++# Userland interfaces
++#
++# CONFIG_INPUT_MOUSEDEV is not set
++# CONFIG_INPUT_JOYDEV is not set
++# CONFIG_INPUT_EVDEV is not set
++# CONFIG_INPUT_EVBUG is not set
++
++#
++# Input Device Drivers
++#
++# CONFIG_INPUT_KEYBOARD is not set
++# CONFIG_INPUT_MOUSE is not set
++# CONFIG_INPUT_JOYSTICK is not set
++# CONFIG_INPUT_TABLET is not set
++# CONFIG_INPUT_TOUCHSCREEN is not set
++# CONFIG_INPUT_MISC is not set
++
++#
++# Hardware I/O ports
++#
++# CONFIG_SERIO is not set
++# CONFIG_GAMEPORT is not set
++
++#
++# Character devices
++#
++CONFIG_VT=y
++CONFIG_CONSOLE_TRANSLATIONS=y
++CONFIG_VT_CONSOLE=y
++CONFIG_HW_CONSOLE=y
++# CONFIG_VT_HW_CONSOLE_BINDING is not set
++CONFIG_DEVKMEM=y
++# CONFIG_SERIAL_NONSTANDARD is not set
++
++#
++# Serial drivers
++#
++CONFIG_SERIAL_8250=y
++CONFIG_SERIAL_8250_CONSOLE=y
++CONFIG_SERIAL_8250_NR_UARTS=32
++CONFIG_SERIAL_8250_RUNTIME_UARTS=4
++CONFIG_SERIAL_8250_EXTENDED=y
++CONFIG_SERIAL_8250_MANY_PORTS=y
++CONFIG_SERIAL_8250_SHARE_IRQ=y
++CONFIG_SERIAL_8250_DETECT_IRQ=y
++CONFIG_SERIAL_8250_RSA=y
++
++#
++# Non-8250 serial port support
++#
++CONFIG_SERIAL_CORE=y
++CONFIG_SERIAL_CORE_CONSOLE=y
++CONFIG_UNIX98_PTYS=y
++# CONFIG_DEVPTS_MULTIPLE_INSTANCES is not set
++# CONFIG_LEGACY_PTYS is not set
++# CONFIG_IPMI_HANDLER is not set
++CONFIG_HW_RANDOM=y
++# CONFIG_R3964 is not set
++# CONFIG_RAW_DRIVER is not set
++# CONFIG_TCG_TPM is not set
++CONFIG_I2C=y
++CONFIG_I2C_BOARDINFO=y
++CONFIG_I2C_CHARDEV=y
++CONFIG_I2C_HELPER_AUTO=y
++
++#
++# I2C Hardware Bus support
++#
++
++#
++# I2C system bus drivers (mostly embedded / system-on-chip)
++#
++# CONFIG_I2C_GPIO is not set
++# CONFIG_I2C_OCORES is not set
++CONFIG_I2C_OMAP=y
++# CONFIG_I2C_SIMTEC is not set
++
++#
++# External I2C/SMBus adapter drivers
++#
++# CONFIG_I2C_PARPORT_LIGHT is not set
++# CONFIG_I2C_TAOS_EVM is not set
++
++#
++# Other I2C/SMBus bus drivers
++#
++# CONFIG_I2C_PCA_PLATFORM is not set
++# CONFIG_I2C_STUB is not set
++
++#
++# Miscellaneous I2C Chip support
++#
++# CONFIG_DS1682 is not set
++# CONFIG_SENSORS_PCF8574 is not set
++# CONFIG_PCF8575 is not set
++# CONFIG_SENSORS_PCA9539 is not set
++# CONFIG_SENSORS_PCF8591 is not set
++# CONFIG_TWL4030_MADC is not set
++# CONFIG_TWL4030_POWEROFF is not set
++# CONFIG_SENSORS_MAX6875 is not set
++# CONFIG_SENSORS_TSL2550 is not set
++# CONFIG_I2C_DEBUG_CORE is not set
++# CONFIG_I2C_DEBUG_ALGO is not set
++# CONFIG_I2C_DEBUG_BUS is not set
++# CONFIG_I2C_DEBUG_CHIP is not set
++# CONFIG_SPI is not set
++CONFIG_ARCH_REQUIRE_GPIOLIB=y
++CONFIG_GPIOLIB=y
++# CONFIG_DEBUG_GPIO is not set
++# CONFIG_GPIO_SYSFS is not set
++
++#
++# Memory mapped GPIO expanders:
++#
++
++#
++# I2C GPIO expanders:
++#
++# CONFIG_GPIO_MAX732X is not set
++# CONFIG_GPIO_PCA953X is not set
++# CONFIG_GPIO_PCF857X is not set
++CONFIG_GPIO_TWL4030=y
++
++#
++# PCI GPIO expanders:
++#
++
++#
++# SPI GPIO expanders:
++#
++# CONFIG_W1 is not set
++# CONFIG_POWER_SUPPLY is not set
++# CONFIG_HWMON is not set
++# CONFIG_THERMAL is not set
++# CONFIG_THERMAL_HWMON is not set
++# CONFIG_WATCHDOG is not set
++CONFIG_SSB_POSSIBLE=y
++
++#
++# Sonics Silicon Backplane
++#
++# CONFIG_SSB is not set
++
++#
++# Multifunction device drivers
++#
++# CONFIG_MFD_CORE is not set
++# CONFIG_MFD_SM501 is not set
++# CONFIG_MFD_ASIC3 is not set
++# CONFIG_HTC_EGPIO is not set
++# CONFIG_HTC_PASIC3 is not set
++# CONFIG_TPS65010 is not set
++CONFIG_TWL4030_CORE=y
++# CONFIG_TWL4030_POWER is not set
++# CONFIG_MFD_TMIO is not set
++# CONFIG_MFD_T7L66XB is not set
++# CONFIG_MFD_TC6387XB is not set
++# CONFIG_MFD_TC6393XB is not set
++# CONFIG_PMIC_DA903X is not set
++# CONFIG_MFD_WM8400 is not set
++# CONFIG_MFD_WM8350_I2C is not set
++# CONFIG_MFD_PCF50633 is not set
++
++#
++# Multimedia devices
++#
++
++#
++# Multimedia core support
++#
++# CONFIG_VIDEO_DEV is not set
++# CONFIG_DVB_CORE is not set
++# CONFIG_VIDEO_MEDIA is not set
++
++#
++# Multimedia drivers
++#
++CONFIG_DAB=y
++
++#
++# Graphics support
++#
++# CONFIG_VGASTATE is not set
++# CONFIG_VIDEO_OUTPUT_CONTROL is not set
++CONFIG_FB=y
++# CONFIG_FIRMWARE_EDID is not set
++# CONFIG_FB_DDC is not set
++# CONFIG_FB_BOOT_VESA_SUPPORT is not set
++CONFIG_FB_CFB_FILLRECT=m
++CONFIG_FB_CFB_COPYAREA=m
++CONFIG_FB_CFB_IMAGEBLIT=m
++# CONFIG_FB_CFB_REV_PIXELS_IN_BYTE is not set
++# CONFIG_FB_SYS_FILLRECT is not set
++# CONFIG_FB_SYS_COPYAREA is not set
++# CONFIG_FB_SYS_IMAGEBLIT is not set
++# CONFIG_FB_FOREIGN_ENDIAN is not set
++# CONFIG_FB_SYS_FOPS is not set
++# CONFIG_FB_SVGALIB is not set
++# CONFIG_FB_MACMODES is not set
++# CONFIG_FB_BACKLIGHT is not set
++# CONFIG_FB_MODE_HELPERS is not set
++# CONFIG_FB_TILEBLITTING is not set
++
++#
++# Frame buffer hardware drivers
++#
++# CONFIG_FB_S1D13XXX is not set
++# CONFIG_FB_VIRTUAL is not set
++# CONFIG_FB_METRONOME is not set
++# CONFIG_FB_MB862XX is not set
++# CONFIG_FB_OMAP_BOOTLOADER_INIT is not set
++CONFIG_OMAP2_DSS=m
++CONFIG_OMAP2_DSS_VRAM_SIZE=12
++CONFIG_OMAP2_DSS_DEBUG_SUPPORT=y
++# CONFIG_OMAP2_DSS_RFBI is not set
++CONFIG_OMAP2_DSS_VENC=y
++# CONFIG_OMAP2_DSS_SDI is not set
++# CONFIG_OMAP2_DSS_DSI is not set
++# CONFIG_OMAP2_DSS_FAKE_VSYNC is not set
++CONFIG_OMAP2_DSS_MIN_FCK_PER_PCK=0
++
++#
++# OMAP2/3 Display Device Drivers
++#
++CONFIG_PANEL_GENERIC=m
++# CONFIG_PANEL_SAMSUNG_LTE430WQ_F0C is not set
++# CONFIG_PANEL_SHARP_LS037V7DW01 is not set
++# CONFIG_PANEL_N800 is not set
++# CONFIG_CTRL_BLIZZARD is not set
++CONFIG_FB_OMAP2=m
++CONFIG_FB_OMAP2_DEBUG_SUPPORT=y
++# CONFIG_FB_OMAP2_FORCE_AUTO_UPDATE is not set
++CONFIG_FB_OMAP2_NUM_FBS=3
++# CONFIG_BACKLIGHT_LCD_SUPPORT is not set
++
++#
++# Display device support
++#
++# CONFIG_DISPLAY_SUPPORT is not set
++
++#
++# Console display driver support
++#
++# CONFIG_VGA_CONSOLE is not set
++CONFIG_DUMMY_CONSOLE=y
++# CONFIG_FRAMEBUFFER_CONSOLE is not set
++# CONFIG_LOGO is not set
++# CONFIG_SOUND is not set
++# CONFIG_HID_SUPPORT is not set
++CONFIG_USB_SUPPORT=y
++CONFIG_USB_ARCH_HAS_HCD=y
++CONFIG_USB_ARCH_HAS_OHCI=y
++CONFIG_USB_ARCH_HAS_EHCI=y
++# CONFIG_USB is not set
++# CONFIG_USB_OTG_WHITELIST is not set
++# CONFIG_USB_OTG_BLACKLIST_HUB is not set
++CONFIG_USB_MUSB_HDRC=y
++CONFIG_USB_MUSB_SOC=y
++
++#
++# OMAP 343x high speed USB support
++#
++# CONFIG_USB_MUSB_HOST is not set
++CONFIG_USB_MUSB_PERIPHERAL=y
++# CONFIG_USB_MUSB_OTG is not set
++CONFIG_USB_GADGET_MUSB_HDRC=y
++# CONFIG_MUSB_PIO_ONLY is not set
++CONFIG_USB_INVENTRA_DMA=y
++# CONFIG_USB_TI_CPPI_DMA is not set
++# CONFIG_USB_MUSB_DEBUG is not set
++
++#
++# NOTE: USB_STORAGE depends on SCSI but BLK_DEV_SD may also be needed;
++#
++CONFIG_USB_GADGET=y
++# CONFIG_USB_GADGET_DEBUG is not set
++# CONFIG_USB_GADGET_DEBUG_FILES is not set
++# CONFIG_USB_GADGET_DEBUG_FS is not set
++CONFIG_USB_GADGET_VBUS_DRAW=2
++CONFIG_USB_GADGET_SELECTED=y
++# CONFIG_USB_GADGET_AT91 is not set
++# CONFIG_USB_GADGET_ATMEL_USBA is not set
++# CONFIG_USB_GADGET_FSL_USB2 is not set
++# CONFIG_USB_GADGET_LH7A40X is not set
++# CONFIG_USB_GADGET_OMAP is not set
++# CONFIG_USB_GADGET_PXA25X is not set
++# CONFIG_USB_GADGET_PXA27X is not set
++# CONFIG_USB_GADGET_S3C2410 is not set
++# CONFIG_USB_GADGET_IMX is not set
++# CONFIG_USB_GADGET_M66592 is not set
++# CONFIG_USB_GADGET_AMD5536UDC is not set
++# CONFIG_USB_GADGET_FSL_QE is not set
++# CONFIG_USB_GADGET_CI13XXX is not set
++# CONFIG_USB_GADGET_NET2280 is not set
++# CONFIG_USB_GADGET_GOKU is not set
++# CONFIG_USB_GADGET_DUMMY_HCD is not set
++CONFIG_USB_GADGET_DUALSPEED=y
++# CONFIG_USB_ZERO is not set
++CONFIG_USB_ETH=y
++CONFIG_USB_ETH_RNDIS=y
++# CONFIG_USB_GADGETFS is not set
++# CONFIG_USB_FILE_STORAGE is not set
++# CONFIG_USB_G_SERIAL is not set
++# CONFIG_USB_MIDI_GADGET is not set
++# CONFIG_USB_G_PRINTER is not set
++# CONFIG_USB_CDC_COMPOSITE is not set
++
++#
++# OTG and related infrastructure
++#
++CONFIG_USB_OTG_UTILS=y
++# CONFIG_USB_GPIO_VBUS is not set
++# CONFIG_ISP1301_OMAP is not set
++CONFIG_TWL4030_USB=y
++CONFIG_MMC=y
++# CONFIG_MMC_DEBUG is not set
++# CONFIG_MMC_UNSAFE_RESUME is not set
++
++#
++# MMC/SD/SDIO Card Drivers
++#
++CONFIG_MMC_BLOCK=y
++CONFIG_MMC_BLOCK_BOUNCE=y
++# CONFIG_SDIO_UART is not set
++# CONFIG_MMC_TEST is not set
++
++#
++# MMC/SD/SDIO Host Controller Drivers
++#
++# CONFIG_MMC_SDHCI is not set
++CONFIG_MMC_OMAP_HS=y
++# CONFIG_MEMSTICK is not set
++# CONFIG_ACCESSIBILITY is not set
++# CONFIG_NEW_LEDS is not set
++CONFIG_RTC_LIB=y
++CONFIG_RTC_CLASS=y
++CONFIG_RTC_HCTOSYS=y
++CONFIG_RTC_HCTOSYS_DEVICE="rtc0"
++# CONFIG_RTC_DEBUG is not set
++
++#
++# RTC interfaces
++#
++CONFIG_RTC_INTF_SYSFS=y
++CONFIG_RTC_INTF_PROC=y
++CONFIG_RTC_INTF_DEV=y
++# CONFIG_RTC_INTF_DEV_UIE_EMUL is not set
++# CONFIG_RTC_DRV_TEST is not set
++
++#
++# I2C RTC drivers
++#
++# CONFIG_RTC_DRV_DS1307 is not set
++# CONFIG_RTC_DRV_DS1374 is not set
++# CONFIG_RTC_DRV_DS1672 is not set
++# CONFIG_RTC_DRV_MAX6900 is not set
++# CONFIG_RTC_DRV_RS5C372 is not set
++# CONFIG_RTC_DRV_ISL1208 is not set
++# CONFIG_RTC_DRV_X1205 is not set
++# CONFIG_RTC_DRV_PCF8563 is not set
++# CONFIG_RTC_DRV_PCF8583 is not set
++# CONFIG_RTC_DRV_M41T80 is not set
++CONFIG_RTC_DRV_TWL4030=y
++# CONFIG_RTC_DRV_S35390A is not set
++# CONFIG_RTC_DRV_FM3130 is not set
++# CONFIG_RTC_DRV_RX8581 is not set
++
++#
++# SPI RTC drivers
++#
++
++#
++# Platform RTC drivers
++#
++# CONFIG_RTC_DRV_CMOS is not set
++# CONFIG_RTC_DRV_DS1286 is not set
++# CONFIG_RTC_DRV_DS1511 is not set
++# CONFIG_RTC_DRV_DS1553 is not set
++# CONFIG_RTC_DRV_DS1742 is not set
++# CONFIG_RTC_DRV_STK17TA8 is not set
++# CONFIG_RTC_DRV_M48T86 is not set
++# CONFIG_RTC_DRV_M48T35 is not set
++# CONFIG_RTC_DRV_M48T59 is not set
++# CONFIG_RTC_DRV_BQ4802 is not set
++# CONFIG_RTC_DRV_V3020 is not set
++
++#
++# on-CPU RTC drivers
++#
++# CONFIG_DMADEVICES is not set
++CONFIG_REGULATOR=y
++# CONFIG_REGULATOR_DEBUG is not set
++# CONFIG_REGULATOR_FIXED_VOLTAGE is not set
++# CONFIG_REGULATOR_VIRTUAL_CONSUMER is not set
++# CONFIG_REGULATOR_BQ24022 is not set
++CONFIG_REGULATOR_TWL4030=y
++# CONFIG_UIO is not set
++# CONFIG_STAGING is not set
++
++#
++# CBUS support
++#
++# CONFIG_CBUS is not set
++
++#
++# File systems
++#
++CONFIG_EXT2_FS=y
++# CONFIG_EXT2_FS_XATTR is not set
++# CONFIG_EXT2_FS_XIP is not set
++CONFIG_EXT3_FS=y
++# CONFIG_EXT3_FS_XATTR is not set
++# CONFIG_EXT4_FS is not set
++CONFIG_JBD=y
++# CONFIG_JBD_DEBUG is not set
++# CONFIG_REISERFS_FS is not set
++# CONFIG_JFS_FS is not set
++# CONFIG_FS_POSIX_ACL is not set
++CONFIG_FILE_LOCKING=y
++# CONFIG_XFS_FS is not set
++# CONFIG_OCFS2_FS is not set
++# CONFIG_BTRFS_FS is not set
++CONFIG_DNOTIFY=y
++CONFIG_INOTIFY=y
++CONFIG_INOTIFY_USER=y
++CONFIG_QUOTA=y
++# CONFIG_QUOTA_NETLINK_INTERFACE is not set
++CONFIG_PRINT_QUOTA_WARNING=y
++CONFIG_QUOTA_TREE=y
++# CONFIG_QFMT_V1 is not set
++CONFIG_QFMT_V2=y
++CONFIG_QUOTACTL=y
++# CONFIG_AUTOFS_FS is not set
++# CONFIG_AUTOFS4_FS is not set
++# CONFIG_FUSE_FS is not set
++
++#
++# CD-ROM/DVD Filesystems
++#
++# CONFIG_ISO9660_FS is not set
++# CONFIG_UDF_FS is not set
++
++#
++# DOS/FAT/NT Filesystems
++#
++CONFIG_FAT_FS=y
++CONFIG_MSDOS_FS=y
++CONFIG_VFAT_FS=y
++CONFIG_FAT_DEFAULT_CODEPAGE=437
++CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1"
++# CONFIG_NTFS_FS is not set
++
++#
++# Pseudo filesystems
++#
++CONFIG_PROC_FS=y
++CONFIG_PROC_SYSCTL=y
++CONFIG_PROC_PAGE_MONITOR=y
++CONFIG_SYSFS=y
++CONFIG_TMPFS=y
++# CONFIG_TMPFS_POSIX_ACL is not set
++# CONFIG_HUGETLB_PAGE is not set
++# CONFIG_CONFIGFS_FS is not set
++CONFIG_MISC_FILESYSTEMS=y
++# CONFIG_ADFS_FS is not set
++# CONFIG_AFFS_FS is not set
++# CONFIG_HFS_FS is not set
++# CONFIG_HFSPLUS_FS is not set
++# CONFIG_BEFS_FS is not set
++# CONFIG_BFS_FS is not set
++# CONFIG_EFS_FS is not set
++CONFIG_JFFS2_FS=y
++CONFIG_JFFS2_FS_DEBUG=0
++CONFIG_JFFS2_FS_WRITEBUFFER=y
++# CONFIG_JFFS2_FS_WBUF_VERIFY is not set
++# CONFIG_JFFS2_SUMMARY is not set
++# CONFIG_JFFS2_FS_XATTR is not set
++# CONFIG_JFFS2_COMPRESSION_OPTIONS is not set
++CONFIG_JFFS2_ZLIB=y
++# CONFIG_JFFS2_LZO is not set
++CONFIG_JFFS2_RTIME=y
++# CONFIG_JFFS2_RUBIN is not set
++# CONFIG_CRAMFS is not set
++# CONFIG_SQUASHFS is not set
++# CONFIG_VXFS_FS is not set
++# CONFIG_MINIX_FS is not set
++# CONFIG_OMFS_FS is not set
++# CONFIG_HPFS_FS is not set
++# CONFIG_QNX4FS_FS is not set
++# CONFIG_ROMFS_FS is not set
++# CONFIG_SYSV_FS is not set
++# CONFIG_UFS_FS is not set
++CONFIG_NETWORK_FILESYSTEMS=y
++CONFIG_NFS_FS=y
++CONFIG_NFS_V3=y
++# CONFIG_NFS_V3_ACL is not set
++CONFIG_NFS_V4=y
++CONFIG_ROOT_NFS=y
++# CONFIG_NFSD is not set
++CONFIG_LOCKD=y
++CONFIG_LOCKD_V4=y
++CONFIG_NFS_COMMON=y
++CONFIG_SUNRPC=y
++CONFIG_SUNRPC_GSS=y
++# CONFIG_SUNRPC_REGISTER_V4 is not set
++CONFIG_RPCSEC_GSS_KRB5=y
++# CONFIG_RPCSEC_GSS_SPKM3 is not set
++# CONFIG_SMB_FS is not set
++# CONFIG_CIFS is not set
++# CONFIG_NCP_FS is not set
++# CONFIG_CODA_FS is not set
++# CONFIG_AFS_FS is not set
++
++#
++# Partition Types
++#
++CONFIG_PARTITION_ADVANCED=y
++# CONFIG_ACORN_PARTITION is not set
++# CONFIG_OSF_PARTITION is not set
++# CONFIG_AMIGA_PARTITION is not set
++# CONFIG_ATARI_PARTITION is not set
++# CONFIG_MAC_PARTITION is not set
++CONFIG_MSDOS_PARTITION=y
++# CONFIG_BSD_DISKLABEL is not set
++# CONFIG_MINIX_SUBPARTITION is not set
++# CONFIG_SOLARIS_X86_PARTITION is not set
++# CONFIG_UNIXWARE_DISKLABEL is not set
++# CONFIG_LDM_PARTITION is not set
++# CONFIG_SGI_PARTITION is not set
++# CONFIG_ULTRIX_PARTITION is not set
++# CONFIG_SUN_PARTITION is not set
++# CONFIG_KARMA_PARTITION is not set
++# CONFIG_EFI_PARTITION is not set
++# CONFIG_SYSV68_PARTITION is not set
++CONFIG_NLS=y
++CONFIG_NLS_DEFAULT="iso8859-1"
++CONFIG_NLS_CODEPAGE_437=y
++# CONFIG_NLS_CODEPAGE_737 is not set
++# CONFIG_NLS_CODEPAGE_775 is not set
++# CONFIG_NLS_CODEPAGE_850 is not set
++# CONFIG_NLS_CODEPAGE_852 is not set
++# CONFIG_NLS_CODEPAGE_855 is not set
++# CONFIG_NLS_CODEPAGE_857 is not set
++# CONFIG_NLS_CODEPAGE_860 is not set
++# CONFIG_NLS_CODEPAGE_861 is not set
++# CONFIG_NLS_CODEPAGE_862 is not set
++# CONFIG_NLS_CODEPAGE_863 is not set
++# CONFIG_NLS_CODEPAGE_864 is not set
++# CONFIG_NLS_CODEPAGE_865 is not set
++# CONFIG_NLS_CODEPAGE_866 is not set
++# CONFIG_NLS_CODEPAGE_869 is not set
++# CONFIG_NLS_CODEPAGE_936 is not set
++# CONFIG_NLS_CODEPAGE_950 is not set
++# CONFIG_NLS_CODEPAGE_932 is not set
++# CONFIG_NLS_CODEPAGE_949 is not set
++# CONFIG_NLS_CODEPAGE_874 is not set
++# CONFIG_NLS_ISO8859_8 is not set
++# CONFIG_NLS_CODEPAGE_1250 is not set
++# CONFIG_NLS_CODEPAGE_1251 is not set
++# CONFIG_NLS_ASCII is not set
++CONFIG_NLS_ISO8859_1=y
++# CONFIG_NLS_ISO8859_2 is not set
++# CONFIG_NLS_ISO8859_3 is not set
++# CONFIG_NLS_ISO8859_4 is not set
++# CONFIG_NLS_ISO8859_5 is not set
++# CONFIG_NLS_ISO8859_6 is not set
++# CONFIG_NLS_ISO8859_7 is not set
++# CONFIG_NLS_ISO8859_9 is not set
++# CONFIG_NLS_ISO8859_13 is not set
++# CONFIG_NLS_ISO8859_14 is not set
++# CONFIG_NLS_ISO8859_15 is not set
++# CONFIG_NLS_KOI8_R is not set
++# CONFIG_NLS_KOI8_U is not set
++# CONFIG_NLS_UTF8 is not set
++# CONFIG_DLM is not set
++
++#
++# Kernel hacking
++#
++# CONFIG_PRINTK_TIME is not set
++CONFIG_ENABLE_WARN_DEPRECATED=y
++CONFIG_ENABLE_MUST_CHECK=y
++CONFIG_FRAME_WARN=1024
++CONFIG_MAGIC_SYSRQ=y
++# CONFIG_UNUSED_SYMBOLS is not set
++CONFIG_DEBUG_FS=y
++# CONFIG_HEADERS_CHECK is not set
++CONFIG_DEBUG_KERNEL=y
++# CONFIG_DEBUG_SHIRQ is not set
++CONFIG_DETECT_SOFTLOCKUP=y
++# CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC is not set
++CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC_VALUE=0
++CONFIG_SCHED_DEBUG=y
++# CONFIG_SCHEDSTATS is not set
++# CONFIG_TIMER_STATS is not set
++# CONFIG_DEBUG_OBJECTS is not set
++# CONFIG_DEBUG_SLAB is not set
++# CONFIG_DEBUG_RT_MUTEXES is not set
++# CONFIG_RT_MUTEX_TESTER is not set
++# CONFIG_DEBUG_SPINLOCK is not set
++CONFIG_DEBUG_MUTEXES=y
++# CONFIG_DEBUG_LOCK_ALLOC is not set
++# CONFIG_PROVE_LOCKING is not set
++# CONFIG_LOCK_STAT is not set
++# CONFIG_DEBUG_SPINLOCK_SLEEP is not set
++# CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set
++# CONFIG_DEBUG_KOBJECT is not set
++CONFIG_DEBUG_BUGVERBOSE=y
++CONFIG_DEBUG_INFO=y
++# CONFIG_DEBUG_VM is not set
++# CONFIG_DEBUG_WRITECOUNT is not set
++# CONFIG_DEBUG_MEMORY_INIT is not set
++# CONFIG_DEBUG_LIST is not set
++# CONFIG_DEBUG_SG is not set
++# CONFIG_DEBUG_NOTIFIERS is not set
++CONFIG_FRAME_POINTER=y
++# CONFIG_BOOT_PRINTK_DELAY is not set
++# CONFIG_RCU_TORTURE_TEST is not set
++# CONFIG_RCU_CPU_STALL_DETECTOR is not set
++# CONFIG_BACKTRACE_SELF_TEST is not set
++# CONFIG_DEBUG_BLOCK_EXT_DEVT is not set
++# CONFIG_FAULT_INJECTION is not set
++# CONFIG_LATENCYTOP is not set
++CONFIG_HAVE_FUNCTION_TRACER=y
++
++#
++# Tracers
++#
++# CONFIG_FUNCTION_TRACER is not set
++# CONFIG_IRQSOFF_TRACER is not set
++# CONFIG_SCHED_TRACER is not set
++# CONFIG_CONTEXT_SWITCH_TRACER is not set
++# CONFIG_BOOT_TRACER is not set
++# CONFIG_TRACE_BRANCH_PROFILING is not set
++# CONFIG_STACK_TRACER is not set
++# CONFIG_DYNAMIC_PRINTK_DEBUG is not set
++# CONFIG_SAMPLES is not set
++CONFIG_HAVE_ARCH_KGDB=y
++# CONFIG_KGDB is not set
++CONFIG_DEBUG_USER=y
++CONFIG_DEBUG_ERRORS=y
++# CONFIG_DEBUG_STACK_USAGE is not set
++# CONFIG_DEBUG_LL is not set
++
++#
++# Security options
++#
++# CONFIG_KEYS is not set
++# CONFIG_SECURITY is not set
++# CONFIG_SECURITYFS is not set
++# CONFIG_SECURITY_FILE_CAPABILITIES is not set
++CONFIG_CRYPTO=y
++
++#
++# Crypto core or helper
++#
++# CONFIG_CRYPTO_FIPS is not set
++CONFIG_CRYPTO_ALGAPI=y
++CONFIG_CRYPTO_ALGAPI2=y
++CONFIG_CRYPTO_AEAD2=y
++CONFIG_CRYPTO_BLKCIPHER=y
++CONFIG_CRYPTO_BLKCIPHER2=y
++CONFIG_CRYPTO_HASH=y
++CONFIG_CRYPTO_HASH2=y
++CONFIG_CRYPTO_RNG2=y
++CONFIG_CRYPTO_MANAGER=y
++CONFIG_CRYPTO_MANAGER2=y
++# CONFIG_CRYPTO_GF128MUL is not set
++# CONFIG_CRYPTO_NULL is not set
++# CONFIG_CRYPTO_CRYPTD is not set
++# CONFIG_CRYPTO_AUTHENC is not set
++# CONFIG_CRYPTO_TEST is not set
++
++#
++# Authenticated Encryption with Associated Data
++#
++# CONFIG_CRYPTO_CCM is not set
++# CONFIG_CRYPTO_GCM is not set
++# CONFIG_CRYPTO_SEQIV is not set
++
++#
++# Block modes
++#
++CONFIG_CRYPTO_CBC=y
++# CONFIG_CRYPTO_CTR is not set
++# CONFIG_CRYPTO_CTS is not set
++CONFIG_CRYPTO_ECB=m
++# CONFIG_CRYPTO_LRW is not set
++CONFIG_CRYPTO_PCBC=m
++# CONFIG_CRYPTO_XTS is not set
++
++#
++# Hash modes
++#
++# CONFIG_CRYPTO_HMAC is not set
++# CONFIG_CRYPTO_XCBC is not set
++
++#
++# Digest
++#
++CONFIG_CRYPTO_CRC32C=y
++# CONFIG_CRYPTO_MD4 is not set
++CONFIG_CRYPTO_MD5=y
++# CONFIG_CRYPTO_MICHAEL_MIC is not set
++# CONFIG_CRYPTO_RMD128 is not set
++# CONFIG_CRYPTO_RMD160 is not set
++# CONFIG_CRYPTO_RMD256 is not set
++# CONFIG_CRYPTO_RMD320 is not set
++# CONFIG_CRYPTO_SHA1 is not set
++# CONFIG_CRYPTO_SHA256 is not set
++# CONFIG_CRYPTO_SHA512 is not set
++# CONFIG_CRYPTO_TGR192 is not set
++# CONFIG_CRYPTO_WP512 is not set
++
++#
++# Ciphers
++#
++# CONFIG_CRYPTO_AES is not set
++# CONFIG_CRYPTO_ANUBIS is not set
++# CONFIG_CRYPTO_ARC4 is not set
++# CONFIG_CRYPTO_BLOWFISH is not set
++# CONFIG_CRYPTO_CAMELLIA is not set
++# CONFIG_CRYPTO_CAST5 is not set
++# CONFIG_CRYPTO_CAST6 is not set
++CONFIG_CRYPTO_DES=y
++# CONFIG_CRYPTO_FCRYPT is not set
++# CONFIG_CRYPTO_KHAZAD is not set
++# CONFIG_CRYPTO_SALSA20 is not set
++# CONFIG_CRYPTO_SEED is not set
++# CONFIG_CRYPTO_SERPENT is not set
++# CONFIG_CRYPTO_TEA is not set
++# CONFIG_CRYPTO_TWOFISH is not set
++
++#
++# Compression
++#
++# CONFIG_CRYPTO_DEFLATE is not set
++# CONFIG_CRYPTO_LZO is not set
++
++#
++# Random Number Generation
++#
++# CONFIG_CRYPTO_ANSI_CPRNG is not set
++CONFIG_CRYPTO_HW=y
++
++#
++# Library routines
++#
++CONFIG_BITREVERSE=y
++CONFIG_GENERIC_FIND_LAST_BIT=y
++CONFIG_CRC_CCITT=y
++# CONFIG_CRC16 is not set
++# CONFIG_CRC_T10DIF is not set
++# CONFIG_CRC_ITU_T is not set
++CONFIG_CRC32=y
++# CONFIG_CRC7 is not set
++CONFIG_LIBCRC32C=y
++CONFIG_ZLIB_INFLATE=y
++CONFIG_ZLIB_DEFLATE=y
++CONFIG_PLIST=y
++CONFIG_HAS_IOMEM=y
++CONFIG_HAS_IOPORT=y
++CONFIG_HAS_DMA=y
+diff --git a/arch/arm/configs/dss_omap_3430sdp_defconfig b/arch/arm/configs/dss_omap_3430sdp_defconfig
+new file mode 100644
+index 0000000..dc30dce
+--- /dev/null
++++ b/arch/arm/configs/dss_omap_3430sdp_defconfig
+@@ -0,0 +1,1634 @@
++#
++# Automatically generated make config: don't edit
++# Linux kernel version: 2.6.29-omap1
++# Thu Apr 2 11:11:24 2009
++#
++CONFIG_ARM=y
++CONFIG_SYS_SUPPORTS_APM_EMULATION=y
++CONFIG_GENERIC_GPIO=y
++CONFIG_GENERIC_TIME=y
++CONFIG_GENERIC_CLOCKEVENTS=y
++CONFIG_MMU=y
++# CONFIG_NO_IOPORT is not set
++CONFIG_GENERIC_HARDIRQS=y
++CONFIG_STACKTRACE_SUPPORT=y
++CONFIG_HAVE_LATENCYTOP_SUPPORT=y
++CONFIG_LOCKDEP_SUPPORT=y
++CONFIG_TRACE_IRQFLAGS_SUPPORT=y
++CONFIG_HARDIRQS_SW_RESEND=y
++CONFIG_GENERIC_IRQ_PROBE=y
++CONFIG_RWSEM_GENERIC_SPINLOCK=y
++# CONFIG_ARCH_HAS_ILOG2_U32 is not set
++# CONFIG_ARCH_HAS_ILOG2_U64 is not set
++CONFIG_GENERIC_HWEIGHT=y
++CONFIG_GENERIC_CALIBRATE_DELAY=y
++CONFIG_GENERIC_HARDIRQS_NO__DO_IRQ=y
++CONFIG_VECTORS_BASE=0xffff0000
++CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
++
++#
++# General setup
++#
++CONFIG_EXPERIMENTAL=y
++CONFIG_BROKEN_ON_SMP=y
++CONFIG_INIT_ENV_ARG_LIMIT=32
++CONFIG_LOCALVERSION=""
++CONFIG_LOCALVERSION_AUTO=y
++CONFIG_SWAP=y
++CONFIG_SYSVIPC=y
++CONFIG_SYSVIPC_SYSCTL=y
++# CONFIG_POSIX_MQUEUE is not set
++CONFIG_BSD_PROCESS_ACCT=y
++# CONFIG_BSD_PROCESS_ACCT_V3 is not set
++# CONFIG_TASKSTATS is not set
++# CONFIG_AUDIT is not set
++
++#
++# RCU Subsystem
++#
++CONFIG_CLASSIC_RCU=y
++# CONFIG_TREE_RCU is not set
++# CONFIG_PREEMPT_RCU is not set
++# CONFIG_TREE_RCU_TRACE is not set
++# CONFIG_PREEMPT_RCU_TRACE is not set
++# CONFIG_IKCONFIG is not set
++CONFIG_LOG_BUF_SHIFT=14
++CONFIG_GROUP_SCHED=y
++CONFIG_FAIR_GROUP_SCHED=y
++# CONFIG_RT_GROUP_SCHED is not set
++CONFIG_USER_SCHED=y
++# CONFIG_CGROUP_SCHED is not set
++# CONFIG_CGROUPS is not set
++CONFIG_SYSFS_DEPRECATED=y
++CONFIG_SYSFS_DEPRECATED_V2=y
++# CONFIG_RELAY is not set
++# CONFIG_NAMESPACES is not set
++CONFIG_BLK_DEV_INITRD=y
++CONFIG_INITRAMFS_SOURCE=""
++CONFIG_CC_OPTIMIZE_FOR_SIZE=y
++CONFIG_SYSCTL=y
++CONFIG_ANON_INODES=y
++CONFIG_EMBEDDED=y
++CONFIG_UID16=y
++# CONFIG_SYSCTL_SYSCALL is not set
++CONFIG_KALLSYMS=y
++# CONFIG_KALLSYMS_ALL is not set
++CONFIG_KALLSYMS_EXTRA_PASS=y
++CONFIG_HOTPLUG=y
++CONFIG_PRINTK=y
++CONFIG_BUG=y
++CONFIG_ELF_CORE=y
++CONFIG_BASE_FULL=y
++CONFIG_FUTEX=y
++CONFIG_EPOLL=y
++CONFIG_SIGNALFD=y
++CONFIG_TIMERFD=y
++CONFIG_EVENTFD=y
++CONFIG_SHMEM=y
++CONFIG_AIO=y
++CONFIG_VM_EVENT_COUNTERS=y
++CONFIG_COMPAT_BRK=y
++CONFIG_SLAB=y
++# CONFIG_SLUB is not set
++# CONFIG_SLOB is not set
++# CONFIG_PROFILING is not set
++CONFIG_HAVE_OPROFILE=y
++# CONFIG_KPROBES is not set
++CONFIG_HAVE_KPROBES=y
++CONFIG_HAVE_KRETPROBES=y
++CONFIG_HAVE_CLK=y
++CONFIG_HAVE_GENERIC_DMA_COHERENT=y
++CONFIG_SLABINFO=y
++CONFIG_RT_MUTEXES=y
++CONFIG_BASE_SMALL=0
++CONFIG_MODULES=y
++# CONFIG_MODULE_FORCE_LOAD is not set
++CONFIG_MODULE_UNLOAD=y
++# CONFIG_MODULE_FORCE_UNLOAD is not set
++CONFIG_MODVERSIONS=y
++CONFIG_MODULE_SRCVERSION_ALL=y
++CONFIG_BLOCK=y
++# CONFIG_LBD is not set
++# CONFIG_BLK_DEV_IO_TRACE is not set
++# CONFIG_BLK_DEV_BSG is not set
++# CONFIG_BLK_DEV_INTEGRITY is not set
++
++#
++# IO Schedulers
++#
++CONFIG_IOSCHED_NOOP=y
++CONFIG_IOSCHED_AS=y
++CONFIG_IOSCHED_DEADLINE=y
++CONFIG_IOSCHED_CFQ=y
++CONFIG_DEFAULT_AS=y
++# CONFIG_DEFAULT_DEADLINE is not set
++# CONFIG_DEFAULT_CFQ is not set
++# CONFIG_DEFAULT_NOOP is not set
++CONFIG_DEFAULT_IOSCHED="anticipatory"
++CONFIG_FREEZER=y
++
++#
++# System Type
++#
++# CONFIG_ARCH_AAEC2000 is not set
++# CONFIG_ARCH_INTEGRATOR is not set
++# CONFIG_ARCH_REALVIEW is not set
++# CONFIG_ARCH_VERSATILE is not set
++# CONFIG_ARCH_AT91 is not set
++# CONFIG_ARCH_CLPS711X is not set
++# CONFIG_ARCH_EBSA110 is not set
++# CONFIG_ARCH_EP93XX is not set
++# CONFIG_ARCH_FOOTBRIDGE is not set
++# CONFIG_ARCH_NETX is not set
++# CONFIG_ARCH_H720X is not set
++# CONFIG_ARCH_IMX is not set
++# CONFIG_ARCH_IOP13XX is not set
++# CONFIG_ARCH_IOP32X is not set
++# CONFIG_ARCH_IOP33X is not set
++# CONFIG_ARCH_IXP23XX is not set
++# CONFIG_ARCH_IXP2000 is not set
++# CONFIG_ARCH_IXP4XX is not set
++# CONFIG_ARCH_L7200 is not set
++# CONFIG_ARCH_KIRKWOOD is not set
++# CONFIG_ARCH_KS8695 is not set
++# CONFIG_ARCH_NS9XXX is not set
++# CONFIG_ARCH_LOKI is not set
++# CONFIG_ARCH_MV78XX0 is not set
++# CONFIG_ARCH_MXC is not set
++# CONFIG_ARCH_ORION5X is not set
++# CONFIG_ARCH_PNX4008 is not set
++# CONFIG_ARCH_PXA is not set
++# CONFIG_ARCH_RPC is not set
++# CONFIG_ARCH_SA1100 is not set
++# CONFIG_ARCH_S3C2410 is not set
++# CONFIG_ARCH_S3C64XX is not set
++# CONFIG_ARCH_SHARK is not set
++# CONFIG_ARCH_LH7A40X is not set
++# CONFIG_ARCH_DAVINCI is not set
++CONFIG_ARCH_OMAP=y
++# CONFIG_ARCH_MSM is not set
++# CONFIG_ARCH_W90X900 is not set
++
++#
++# TI OMAP Implementations
++#
++CONFIG_ARCH_OMAP_OTG=y
++# CONFIG_ARCH_OMAP1 is not set
++# CONFIG_ARCH_OMAP2 is not set
++CONFIG_ARCH_OMAP3=y
++
++#
++# OMAP Feature Selections
++#
++# CONFIG_OMAP_DEBUG_POWERDOMAIN is not set
++# CONFIG_OMAP_DEBUG_CLOCKDOMAIN is not set
++CONFIG_OMAP_SMARTREFLEX=y
++# CONFIG_OMAP_SMARTREFLEX_TESTING is not set
++CONFIG_OMAP_RESET_CLOCKS=y
++CONFIG_OMAP_BOOT_TAG=y
++CONFIG_OMAP_BOOT_REASON=y
++# CONFIG_OMAP_COMPONENT_VERSION is not set
++# CONFIG_OMAP_GPIO_SWITCH is not set
++CONFIG_OMAP_MUX=y
++CONFIG_OMAP_MUX_DEBUG=y
++CONFIG_OMAP_MUX_WARNINGS=y
++# CONFIG_OMAP_MCBSP is not set
++# CONFIG_OMAP_MBOX_FWK is not set
++# CONFIG_OMAP_MPU_TIMER is not set
++CONFIG_OMAP_32K_TIMER=y
++CONFIG_OMAP_32K_TIMER_HZ=128
++CONFIG_OMAP_TICK_GPTIMER=1
++CONFIG_OMAP_DM_TIMER=y
++CONFIG_OMAP_LL_DEBUG_UART1=y
++# CONFIG_OMAP_LL_DEBUG_UART2 is not set
++# CONFIG_OMAP_LL_DEBUG_UART3 is not set
++CONFIG_OMAP_SERIAL_WAKE=y
++CONFIG_ARCH_OMAP34XX=y
++CONFIG_ARCH_OMAP3430=y
++
++#
++# OMAP Board Type
++#
++# CONFIG_MACH_NOKIA_RX51 is not set
++# CONFIG_MACH_OMAP_LDP is not set
++CONFIG_MACH_OMAP_3430SDP=y
++# CONFIG_MACH_OMAP3EVM is not set
++# CONFIG_MACH_OMAP3_BEAGLE is not set
++# CONFIG_MACH_OVERO is not set
++# CONFIG_MACH_OMAP3_PANDORA is not set
++
++#
++# Processor Type
++#
++CONFIG_CPU_32=y
++CONFIG_CPU_32v6K=y
++CONFIG_CPU_V7=y
++CONFIG_CPU_32v7=y
++CONFIG_CPU_ABRT_EV7=y
++CONFIG_CPU_PABRT_IFAR=y
++CONFIG_CPU_CACHE_V7=y
++CONFIG_CPU_CACHE_VIPT=y
++CONFIG_CPU_COPY_V6=y
++CONFIG_CPU_TLB_V7=y
++CONFIG_CPU_HAS_ASID=y
++CONFIG_CPU_CP15=y
++CONFIG_CPU_CP15_MMU=y
++
++#
++# Processor Features
++#
++CONFIG_ARM_THUMB=y
++# CONFIG_ARM_THUMBEE is not set
++# CONFIG_CPU_ICACHE_DISABLE is not set
++# CONFIG_CPU_DCACHE_DISABLE is not set
++# CONFIG_CPU_BPREDICT_DISABLE is not set
++CONFIG_HAS_TLS_REG=y
++# CONFIG_OUTER_CACHE is not set
++
++#
++# Bus support
++#
++# CONFIG_PCI_SYSCALL is not set
++# CONFIG_ARCH_SUPPORTS_MSI is not set
++# CONFIG_PCCARD is not set
++
++#
++# Kernel Features
++#
++CONFIG_TICK_ONESHOT=y
++CONFIG_NO_HZ=y
++CONFIG_HIGH_RES_TIMERS=y
++CONFIG_GENERIC_CLOCKEVENTS_BUILD=y
++CONFIG_VMSPLIT_3G=y
++# CONFIG_VMSPLIT_2G is not set
++# CONFIG_VMSPLIT_1G is not set
++CONFIG_PAGE_OFFSET=0xC0000000
++# CONFIG_PREEMPT is not set
++CONFIG_HZ=128
++CONFIG_AEABI=y
++CONFIG_OABI_COMPAT=y
++CONFIG_ARCH_FLATMEM_HAS_HOLES=y
++# CONFIG_ARCH_SPARSEMEM_DEFAULT is not set
++# CONFIG_ARCH_SELECT_MEMORY_MODEL is not set
++CONFIG_SELECT_MEMORY_MODEL=y
++CONFIG_FLATMEM_MANUAL=y
++# CONFIG_DISCONTIGMEM_MANUAL is not set
++# CONFIG_SPARSEMEM_MANUAL is not set
++CONFIG_FLATMEM=y
++CONFIG_FLAT_NODE_MEM_MAP=y
++CONFIG_PAGEFLAGS_EXTENDED=y
++CONFIG_SPLIT_PTLOCK_CPUS=4
++# CONFIG_PHYS_ADDR_T_64BIT is not set
++CONFIG_ZONE_DMA_FLAG=0
++CONFIG_VIRT_TO_BUS=y
++CONFIG_UNEVICTABLE_LRU=y
++# CONFIG_LEDS is not set
++CONFIG_ALIGNMENT_TRAP=y
++
++#
++# Boot options
++#
++CONFIG_ZBOOT_ROM_TEXT=0x0
++CONFIG_ZBOOT_ROM_BSS=0x0
++CONFIG_CMDLINE="root=/dev/nfs nfsroot=192.168.0.1:/home/user/buildroot ip=192.168.0.2:192.168.0.1:192.168.0.1:255.255.255.0:tgt:eth0:off rw console=ttyS2,115200n8"
++# CONFIG_XIP_KERNEL is not set
++# CONFIG_KEXEC is not set
++
++#
++# CPU Power Management
++#
++# CONFIG_CPU_FREQ is not set
++# CONFIG_CPU_IDLE is not set
++
++#
++# Floating point emulation
++#
++
++#
++# At least one emulation must be selected
++#
++CONFIG_FPE_NWFPE=y
++# CONFIG_FPE_NWFPE_XP is not set
++# CONFIG_FPE_FASTFPE is not set
++CONFIG_VFP=y
++CONFIG_VFPv3=y
++# CONFIG_NEON is not set
++
++#
++# Userspace binary formats
++#
++CONFIG_BINFMT_ELF=y
++# CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set
++CONFIG_HAVE_AOUT=y
++# CONFIG_BINFMT_AOUT is not set
++CONFIG_BINFMT_MISC=y
++
++#
++# Power management options
++#
++CONFIG_PM=y
++# CONFIG_PM_DEBUG is not set
++CONFIG_PM_SLEEP=y
++CONFIG_SUSPEND=y
++CONFIG_SUSPEND_FREEZER=y
++# CONFIG_APM_EMULATION is not set
++CONFIG_ARCH_SUSPEND_POSSIBLE=y
++CONFIG_NET=y
++
++#
++# Networking options
++#
++CONFIG_COMPAT_NET_DEV_OPS=y
++CONFIG_PACKET=y
++# CONFIG_PACKET_MMAP is not set
++CONFIG_UNIX=y
++CONFIG_XFRM=y
++# CONFIG_XFRM_USER is not set
++# CONFIG_XFRM_SUB_POLICY is not set
++# CONFIG_XFRM_MIGRATE is not set
++# CONFIG_XFRM_STATISTICS is not set
++CONFIG_NET_KEY=y
++# CONFIG_NET_KEY_MIGRATE is not set
++CONFIG_INET=y
++# CONFIG_IP_MULTICAST is not set
++# CONFIG_IP_ADVANCED_ROUTER is not set
++CONFIG_IP_FIB_HASH=y
++CONFIG_IP_PNP=y
++CONFIG_IP_PNP_DHCP=y
++CONFIG_IP_PNP_BOOTP=y
++CONFIG_IP_PNP_RARP=y
++# CONFIG_NET_IPIP is not set
++# CONFIG_NET_IPGRE is not set
++# CONFIG_ARPD is not set
++# CONFIG_SYN_COOKIES is not set
++# CONFIG_INET_AH is not set
++# CONFIG_INET_ESP is not set
++# CONFIG_INET_IPCOMP is not set
++# CONFIG_INET_XFRM_TUNNEL is not set
++# CONFIG_INET_TUNNEL is not set
++CONFIG_INET_XFRM_MODE_TRANSPORT=y
++CONFIG_INET_XFRM_MODE_TUNNEL=y
++CONFIG_INET_XFRM_MODE_BEET=y
++# CONFIG_INET_LRO is not set
++CONFIG_INET_DIAG=y
++CONFIG_INET_TCP_DIAG=y
++# CONFIG_TCP_CONG_ADVANCED is not set
++CONFIG_TCP_CONG_CUBIC=y
++CONFIG_DEFAULT_TCP_CONG="cubic"
++# CONFIG_TCP_MD5SIG is not set
++# CONFIG_IPV6 is not set
++# CONFIG_NETWORK_SECMARK is not set
++# CONFIG_NETFILTER is not set
++# CONFIG_IP_DCCP is not set
++# CONFIG_IP_SCTP is not set
++# CONFIG_TIPC is not set
++# CONFIG_ATM is not set
++# CONFIG_BRIDGE is not set
++# CONFIG_NET_DSA is not set
++# CONFIG_VLAN_8021Q is not set
++# CONFIG_DECNET is not set
++# CONFIG_LLC2 is not set
++# CONFIG_IPX is not set
++# CONFIG_ATALK is not set
++# CONFIG_X25 is not set
++# CONFIG_LAPB is not set
++# CONFIG_ECONET is not set
++# CONFIG_WAN_ROUTER is not set
++# CONFIG_NET_SCHED is not set
++# CONFIG_DCB is not set
++
++#
++# Network testing
++#
++# CONFIG_NET_PKTGEN is not set
++# CONFIG_HAMRADIO is not set
++# CONFIG_CAN is not set
++# CONFIG_IRDA is not set
++# CONFIG_BT is not set
++# CONFIG_AF_RXRPC is not set
++# CONFIG_PHONET is not set
++CONFIG_WIRELESS=y
++# CONFIG_CFG80211 is not set
++CONFIG_WIRELESS_OLD_REGULATORY=y
++# CONFIG_WIRELESS_EXT is not set
++# CONFIG_LIB80211 is not set
++# CONFIG_MAC80211 is not set
++# CONFIG_WIMAX is not set
++# CONFIG_RFKILL is not set
++# CONFIG_NET_9P is not set
++
++#
++# Device Drivers
++#
++
++#
++# Generic Driver Options
++#
++CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
++CONFIG_STANDALONE=y
++CONFIG_PREVENT_FIRMWARE_BUILD=y
++# CONFIG_FW_LOADER is not set
++# CONFIG_DEBUG_DRIVER is not set
++# CONFIG_DEBUG_DEVRES is not set
++# CONFIG_SYS_HYPERVISOR is not set
++# CONFIG_CONNECTOR is not set
++CONFIG_MTD=y
++# CONFIG_MTD_DEBUG is not set
++CONFIG_MTD_CONCAT=y
++CONFIG_MTD_PARTITIONS=y
++# CONFIG_MTD_TESTS is not set
++# CONFIG_MTD_REDBOOT_PARTS is not set
++CONFIG_MTD_CMDLINE_PARTS=y
++# CONFIG_MTD_AFS_PARTS is not set
++# CONFIG_MTD_AR7_PARTS is not set
++
++#
++# User Modules And Translation Layers
++#
++CONFIG_MTD_CHAR=y
++CONFIG_MTD_BLKDEVS=y
++CONFIG_MTD_BLOCK=y
++# CONFIG_FTL is not set
++# CONFIG_NFTL is not set
++# CONFIG_INFTL is not set
++# CONFIG_RFD_FTL is not set
++# CONFIG_SSFDC is not set
++# CONFIG_MTD_OOPS is not set
++
++#
++# RAM/ROM/Flash chip drivers
++#
++CONFIG_MTD_CFI=y
++# CONFIG_MTD_JEDECPROBE is not set
++CONFIG_MTD_GEN_PROBE=y
++# CONFIG_MTD_CFI_ADV_OPTIONS is not set
++CONFIG_MTD_MAP_BANK_WIDTH_1=y
++CONFIG_MTD_MAP_BANK_WIDTH_2=y
++CONFIG_MTD_MAP_BANK_WIDTH_4=y
++# CONFIG_MTD_MAP_BANK_WIDTH_8 is not set
++# CONFIG_MTD_MAP_BANK_WIDTH_16 is not set
++# CONFIG_MTD_MAP_BANK_WIDTH_32 is not set
++CONFIG_MTD_CFI_I1=y
++CONFIG_MTD_CFI_I2=y
++# CONFIG_MTD_CFI_I4 is not set
++# CONFIG_MTD_CFI_I8 is not set
++CONFIG_MTD_CFI_INTELEXT=y
++# CONFIG_MTD_CFI_AMDSTD is not set
++# CONFIG_MTD_CFI_STAA is not set
++CONFIG_MTD_CFI_UTIL=y
++# CONFIG_MTD_RAM is not set
++# CONFIG_MTD_ROM is not set
++# CONFIG_MTD_ABSENT is not set
++
++#
++# Mapping drivers for chip access
++#
++# CONFIG_MTD_COMPLEX_MAPPINGS is not set
++# CONFIG_MTD_PHYSMAP is not set
++# CONFIG_MTD_ARM_INTEGRATOR is not set
++CONFIG_MTD_OMAP_NOR=y
++# CONFIG_MTD_PLATRAM is not set
++
++#
++# Self-contained MTD device drivers
++#
++# CONFIG_MTD_DATAFLASH is not set
++# CONFIG_MTD_M25P80 is not set
++# CONFIG_MTD_SLRAM is not set
++# CONFIG_MTD_PHRAM is not set
++# CONFIG_MTD_MTDRAM is not set
++# CONFIG_MTD_BLOCK2MTD is not set
++
++#
++# Disk-On-Chip Device Drivers
++#
++# CONFIG_MTD_DOC2000 is not set
++# CONFIG_MTD_DOC2001 is not set
++# CONFIG_MTD_DOC2001PLUS is not set
++CONFIG_MTD_NAND=y
++# CONFIG_MTD_NAND_VERIFY_WRITE is not set
++CONFIG_MTD_NAND_ECC_SMC=y
++# CONFIG_MTD_NAND_MUSEUM_IDS is not set
++# CONFIG_MTD_NAND_GPIO is not set
++CONFIG_MTD_NAND_OMAP2=y
++CONFIG_MTD_NAND_IDS=y
++# CONFIG_MTD_NAND_DISKONCHIP is not set
++# CONFIG_MTD_NAND_NANDSIM is not set
++# CONFIG_MTD_NAND_PLATFORM is not set
++# CONFIG_MTD_ALAUDA is not set
++CONFIG_MTD_ONENAND=y
++CONFIG_MTD_ONENAND_VERIFY_WRITE=y
++# CONFIG_MTD_ONENAND_GENERIC is not set
++CONFIG_MTD_ONENAND_OMAP2=y
++# CONFIG_MTD_ONENAND_OTP is not set
++# CONFIG_MTD_ONENAND_2X_PROGRAM is not set
++# CONFIG_MTD_ONENAND_SIM is not set
++
++#
++# LPDDR flash memory drivers
++#
++# CONFIG_MTD_LPDDR is not set
++
++#
++# UBI - Unsorted block images
++#
++# CONFIG_MTD_UBI is not set
++# CONFIG_PARPORT is not set
++CONFIG_BLK_DEV=y
++# CONFIG_BLK_DEV_COW_COMMON is not set
++CONFIG_BLK_DEV_LOOP=y
++# CONFIG_BLK_DEV_CRYPTOLOOP is not set
++# CONFIG_BLK_DEV_NBD is not set
++# CONFIG_BLK_DEV_UB is not set
++CONFIG_BLK_DEV_RAM=y
++CONFIG_BLK_DEV_RAM_COUNT=16
++CONFIG_BLK_DEV_RAM_SIZE=16384
++# CONFIG_BLK_DEV_XIP is not set
++# CONFIG_CDROM_PKTCDVD is not set
++# CONFIG_ATA_OVER_ETH is not set
++CONFIG_MISC_DEVICES=y
++# CONFIG_ICS932S401 is not set
++# CONFIG_OMAP_STI is not set
++# CONFIG_ENCLOSURE_SERVICES is not set
++# CONFIG_C2PORT is not set
++
++#
++# EEPROM support
++#
++# CONFIG_EEPROM_AT24 is not set
++# CONFIG_EEPROM_AT25 is not set
++# CONFIG_EEPROM_LEGACY is not set
++# CONFIG_EEPROM_93CX6 is not set
++CONFIG_HAVE_IDE=y
++# CONFIG_IDE is not set
++
++#
++# SCSI device support
++#
++# CONFIG_RAID_ATTRS is not set
++CONFIG_SCSI=y
++CONFIG_SCSI_DMA=y
++# CONFIG_SCSI_TGT is not set
++# CONFIG_SCSI_NETLINK is not set
++CONFIG_SCSI_PROC_FS=y
++
++#
++# SCSI support type (disk, tape, CD-ROM)
++#
++CONFIG_BLK_DEV_SD=y
++# CONFIG_CHR_DEV_ST is not set
++# CONFIG_CHR_DEV_OSST is not set
++# CONFIG_BLK_DEV_SR is not set
++# CONFIG_CHR_DEV_SG is not set
++# CONFIG_CHR_DEV_SCH is not set
++
++#
++# Some SCSI devices (e.g. CD jukebox) support multiple LUNs
++#
++# CONFIG_SCSI_MULTI_LUN is not set
++# CONFIG_SCSI_CONSTANTS is not set
++# CONFIG_SCSI_LOGGING is not set
++# CONFIG_SCSI_SCAN_ASYNC is not set
++CONFIG_SCSI_WAIT_SCAN=m
++
++#
++# SCSI Transports
++#
++# CONFIG_SCSI_SPI_ATTRS is not set
++# CONFIG_SCSI_FC_ATTRS is not set
++# CONFIG_SCSI_ISCSI_ATTRS is not set
++# CONFIG_SCSI_SAS_LIBSAS is not set
++# CONFIG_SCSI_SRP_ATTRS is not set
++CONFIG_SCSI_LOWLEVEL=y
++# CONFIG_ISCSI_TCP is not set
++# CONFIG_LIBFC is not set
++# CONFIG_SCSI_DEBUG is not set
++# CONFIG_SCSI_DH is not set
++# CONFIG_ATA is not set
++# CONFIG_MD is not set
++CONFIG_NETDEVICES=y
++# CONFIG_DUMMY is not set
++# CONFIG_BONDING is not set
++# CONFIG_MACVLAN is not set
++# CONFIG_EQUALIZER is not set
++# CONFIG_TUN is not set
++# CONFIG_VETH is not set
++# CONFIG_PHYLIB is not set
++CONFIG_NET_ETHERNET=y
++CONFIG_MII=y
++# CONFIG_AX88796 is not set
++CONFIG_SMC91X=y
++# CONFIG_DM9000 is not set
++# CONFIG_ENC28J60 is not set
++# CONFIG_SMC911X is not set
++# CONFIG_SMSC911X is not set
++# CONFIG_DNET is not set
++# CONFIG_IBM_NEW_EMAC_ZMII is not set
++# CONFIG_IBM_NEW_EMAC_RGMII is not set
++# CONFIG_IBM_NEW_EMAC_TAH is not set
++# CONFIG_IBM_NEW_EMAC_EMAC4 is not set
++# CONFIG_IBM_NEW_EMAC_NO_FLOW_CTRL is not set
++# CONFIG_IBM_NEW_EMAC_MAL_CLR_ICINTSTAT is not set
++# CONFIG_IBM_NEW_EMAC_MAL_COMMON_ERR is not set
++# CONFIG_B44 is not set
++CONFIG_NETDEV_1000=y
++CONFIG_NETDEV_10000=y
++
++#
++# Wireless LAN
++#
++# CONFIG_WLAN_PRE80211 is not set
++# CONFIG_WLAN_80211 is not set
++# CONFIG_IWLWIFI_LEDS is not set
++
++#
++# Enable WiMAX (Networking options) to see the WiMAX drivers
++#
++
++#
++# USB Network Adapters
++#
++# CONFIG_USB_CATC is not set
++# CONFIG_USB_KAWETH is not set
++# CONFIG_USB_PEGASUS is not set
++# CONFIG_USB_RTL8150 is not set
++# CONFIG_USB_USBNET is not set
++# CONFIG_WAN is not set
++# CONFIG_PPP is not set
++# CONFIG_SLIP is not set
++# CONFIG_NETCONSOLE is not set
++# CONFIG_NETPOLL is not set
++# CONFIG_NET_POLL_CONTROLLER is not set
++# CONFIG_ISDN is not set
++
++#
++# Input device support
++#
++CONFIG_INPUT=y
++# CONFIG_INPUT_FF_MEMLESS is not set
++# CONFIG_INPUT_POLLDEV is not set
++
++#
++# Userland interfaces
++#
++# CONFIG_INPUT_MOUSEDEV is not set
++# CONFIG_INPUT_JOYDEV is not set
++CONFIG_INPUT_EVDEV=y
++# CONFIG_INPUT_EVBUG is not set
++
++#
++# Input Device Drivers
++#
++CONFIG_INPUT_KEYBOARD=y
++# CONFIG_KEYBOARD_ATKBD is not set
++# CONFIG_KEYBOARD_SUNKBD is not set
++# CONFIG_KEYBOARD_LKKBD is not set
++# CONFIG_KEYBOARD_XTKBD is not set
++# CONFIG_KEYBOARD_NEWTON is not set
++# CONFIG_KEYBOARD_STOWAWAY is not set
++CONFIG_KEYBOARD_TWL4030=y
++# CONFIG_KEYBOARD_GPIO is not set
++# CONFIG_INPUT_MOUSE is not set
++# CONFIG_INPUT_JOYSTICK is not set
++# CONFIG_INPUT_TABLET is not set
++CONFIG_INPUT_TOUCHSCREEN=y
++CONFIG_TOUCHSCREEN_ADS7846=y
++# CONFIG_TOUCHSCREEN_FUJITSU is not set
++# CONFIG_TOUCHSCREEN_GUNZE is not set
++# CONFIG_TOUCHSCREEN_ELO is not set
++# CONFIG_TOUCHSCREEN_WACOM_W8001 is not set
++# CONFIG_TOUCHSCREEN_MTOUCH is not set
++# CONFIG_TOUCHSCREEN_INEXIO is not set
++# CONFIG_TOUCHSCREEN_MK712 is not set
++# CONFIG_TOUCHSCREEN_PENMOUNT is not set
++# CONFIG_TOUCHSCREEN_TOUCHRIGHT is not set
++# CONFIG_TOUCHSCREEN_TOUCHWIN is not set
++# CONFIG_TOUCHSCREEN_TSC2005 is not set
++# CONFIG_TOUCHSCREEN_TSC210X is not set
++# CONFIG_TOUCHSCREEN_USB_COMPOSITE is not set
++# CONFIG_TOUCHSCREEN_TOUCHIT213 is not set
++# CONFIG_TOUCHSCREEN_TSC2007 is not set
++# CONFIG_INPUT_MISC is not set
++
++#
++# Hardware I/O ports
++#
++# CONFIG_SERIO is not set
++# CONFIG_GAMEPORT is not set
++
++#
++# Character devices
++#
++CONFIG_VT=y
++CONFIG_CONSOLE_TRANSLATIONS=y
++CONFIG_VT_CONSOLE=y
++CONFIG_HW_CONSOLE=y
++# CONFIG_VT_HW_CONSOLE_BINDING is not set
++CONFIG_DEVKMEM=y
++# CONFIG_SERIAL_NONSTANDARD is not set
++
++#
++# Serial drivers
++#
++CONFIG_SERIAL_8250=y
++CONFIG_SERIAL_8250_CONSOLE=y
++CONFIG_SERIAL_8250_NR_UARTS=32
++CONFIG_SERIAL_8250_RUNTIME_UARTS=4
++CONFIG_SERIAL_8250_EXTENDED=y
++CONFIG_SERIAL_8250_MANY_PORTS=y
++CONFIG_SERIAL_8250_SHARE_IRQ=y
++CONFIG_SERIAL_8250_DETECT_IRQ=y
++CONFIG_SERIAL_8250_RSA=y
++
++#
++# Non-8250 serial port support
++#
++CONFIG_SERIAL_CORE=y
++CONFIG_SERIAL_CORE_CONSOLE=y
++CONFIG_UNIX98_PTYS=y
++# CONFIG_DEVPTS_MULTIPLE_INSTANCES is not set
++# CONFIG_LEGACY_PTYS is not set
++# CONFIG_IPMI_HANDLER is not set
++CONFIG_HW_RANDOM=y
++# CONFIG_R3964 is not set
++# CONFIG_RAW_DRIVER is not set
++# CONFIG_TCG_TPM is not set
++CONFIG_I2C=y
++CONFIG_I2C_BOARDINFO=y
++CONFIG_I2C_CHARDEV=y
++CONFIG_I2C_HELPER_AUTO=y
++
++#
++# I2C Hardware Bus support
++#
++
++#
++# I2C system bus drivers (mostly embedded / system-on-chip)
++#
++# CONFIG_I2C_GPIO is not set
++# CONFIG_I2C_OCORES is not set
++CONFIG_I2C_OMAP=y
++# CONFIG_I2C_SIMTEC is not set
++
++#
++# External I2C/SMBus adapter drivers
++#
++# CONFIG_I2C_PARPORT_LIGHT is not set
++# CONFIG_I2C_TAOS_EVM is not set
++# CONFIG_I2C_TINY_USB is not set
++
++#
++# Other I2C/SMBus bus drivers
++#
++# CONFIG_I2C_PCA_PLATFORM is not set
++# CONFIG_I2C_STUB is not set
++
++#
++# Miscellaneous I2C Chip support
++#
++# CONFIG_DS1682 is not set
++# CONFIG_SENSORS_PCF8574 is not set
++# CONFIG_PCF8575 is not set
++# CONFIG_SENSORS_PCA9539 is not set
++# CONFIG_SENSORS_PCF8591 is not set
++# CONFIG_TWL4030_MADC is not set
++# CONFIG_TWL4030_POWEROFF is not set
++# CONFIG_SENSORS_MAX6875 is not set
++# CONFIG_SENSORS_TSL2550 is not set
++# CONFIG_I2C_DEBUG_CORE is not set
++# CONFIG_I2C_DEBUG_ALGO is not set
++# CONFIG_I2C_DEBUG_BUS is not set
++# CONFIG_I2C_DEBUG_CHIP is not set
++CONFIG_SPI=y
++# CONFIG_SPI_DEBUG is not set
++CONFIG_SPI_MASTER=y
++
++#
++# SPI Master Controller Drivers
++#
++# CONFIG_SPI_BITBANG is not set
++# CONFIG_SPI_GPIO is not set
++CONFIG_SPI_OMAP24XX=y
++
++#
++# SPI Protocol Masters
++#
++# CONFIG_SPI_TSC210X is not set
++# CONFIG_SPI_TSC2301 is not set
++# CONFIG_SPI_SPIDEV is not set
++# CONFIG_SPI_TLE62X0 is not set
++CONFIG_ARCH_REQUIRE_GPIOLIB=y
++CONFIG_GPIOLIB=y
++# CONFIG_DEBUG_GPIO is not set
++# CONFIG_GPIO_SYSFS is not set
++
++#
++# Memory mapped GPIO expanders:
++#
++
++#
++# I2C GPIO expanders:
++#
++# CONFIG_GPIO_MAX732X is not set
++# CONFIG_GPIO_PCA953X is not set
++# CONFIG_GPIO_PCF857X is not set
++CONFIG_GPIO_TWL4030=y
++
++#
++# PCI GPIO expanders:
++#
++
++#
++# SPI GPIO expanders:
++#
++# CONFIG_GPIO_MAX7301 is not set
++# CONFIG_GPIO_MCP23S08 is not set
++# CONFIG_W1 is not set
++# CONFIG_POWER_SUPPLY is not set
++# CONFIG_HWMON is not set
++# CONFIG_THERMAL is not set
++# CONFIG_THERMAL_HWMON is not set
++CONFIG_WATCHDOG=y
++CONFIG_WATCHDOG_NOWAYOUT=y
++
++#
++# Watchdog Device Drivers
++#
++# CONFIG_SOFT_WATCHDOG is not set
++CONFIG_OMAP_WATCHDOG=y
++
++#
++# USB-based Watchdog Cards
++#
++# CONFIG_USBPCWATCHDOG is not set
++CONFIG_SSB_POSSIBLE=y
++
++#
++# Sonics Silicon Backplane
++#
++# CONFIG_SSB is not set
++
++#
++# Multifunction device drivers
++#
++# CONFIG_MFD_CORE is not set
++# CONFIG_MFD_SM501 is not set
++# CONFIG_MFD_ASIC3 is not set
++# CONFIG_HTC_EGPIO is not set
++# CONFIG_HTC_PASIC3 is not set
++# CONFIG_TPS65010 is not set
++CONFIG_TWL4030_CORE=y
++# CONFIG_TWL4030_POWER is not set
++# CONFIG_MFD_TMIO is not set
++# CONFIG_MFD_T7L66XB is not set
++# CONFIG_MFD_TC6387XB is not set
++# CONFIG_MFD_TC6393XB is not set
++# CONFIG_PMIC_DA903X is not set
++# CONFIG_MFD_WM8400 is not set
++# CONFIG_MFD_WM8350_I2C is not set
++# CONFIG_MFD_PCF50633 is not set
++
++#
++# Multimedia devices
++#
++
++#
++# Multimedia core support
++#
++# CONFIG_VIDEO_DEV is not set
++# CONFIG_DVB_CORE is not set
++# CONFIG_VIDEO_MEDIA is not set
++
++#
++# Multimedia drivers
++#
++CONFIG_DAB=y
++# CONFIG_USB_DABUSB is not set
++
++#
++# Graphics support
++#
++# CONFIG_VGASTATE is not set
++CONFIG_VIDEO_OUTPUT_CONTROL=m
++CONFIG_FB=y
++# CONFIG_FIRMWARE_EDID is not set
++# CONFIG_FB_DDC is not set
++# CONFIG_FB_BOOT_VESA_SUPPORT is not set
++CONFIG_FB_CFB_FILLRECT=m
++CONFIG_FB_CFB_COPYAREA=m
++CONFIG_FB_CFB_IMAGEBLIT=m
++# CONFIG_FB_CFB_REV_PIXELS_IN_BYTE is not set
++# CONFIG_FB_SYS_FILLRECT is not set
++# CONFIG_FB_SYS_COPYAREA is not set
++# CONFIG_FB_SYS_IMAGEBLIT is not set
++# CONFIG_FB_FOREIGN_ENDIAN is not set
++# CONFIG_FB_SYS_FOPS is not set
++# CONFIG_FB_SVGALIB is not set
++# CONFIG_FB_MACMODES is not set
++# CONFIG_FB_BACKLIGHT is not set
++# CONFIG_FB_MODE_HELPERS is not set
++# CONFIG_FB_TILEBLITTING is not set
++
++#
++# Frame buffer hardware drivers
++#
++# CONFIG_FB_S1D13XXX is not set
++# CONFIG_FB_VIRTUAL is not set
++# CONFIG_FB_METRONOME is not set
++# CONFIG_FB_MB862XX is not set
++# CONFIG_FB_OMAP_LCD_VGA is not set
++# CONFIG_FB_OMAP_BOOTLOADER_INIT is not set
++CONFIG_OMAP2_DSS=m
++CONFIG_OMAP2_DSS_VRAM_SIZE=8
++CONFIG_OMAP2_DSS_DEBUG_SUPPORT=y
++# CONFIG_OMAP2_DSS_RFBI is not set
++CONFIG_OMAP2_DSS_VENC=y
++# CONFIG_OMAP2_DSS_SDI is not set
++# CONFIG_OMAP2_DSS_DSI is not set
++# CONFIG_OMAP2_DSS_FAKE_VSYNC is not set
++CONFIG_OMAP2_DSS_MIN_FCK_PER_PCK=0
++
++#
++# OMAP2/3 Display Device Drivers
++#
++CONFIG_PANEL_GENERIC=m
++# CONFIG_PANEL_SAMSUNG_LTE430WQ_F0C is not set
++CONFIG_PANEL_SHARP_LS037V7DW01=m
++# CONFIG_PANEL_N800 is not set
++# CONFIG_CTRL_BLIZZARD is not set
++CONFIG_FB_OMAP2=m
++CONFIG_FB_OMAP2_DEBUG_SUPPORT=y
++# CONFIG_FB_OMAP2_FORCE_AUTO_UPDATE is not set
++CONFIG_FB_OMAP2_NUM_FBS=3
++# CONFIG_BACKLIGHT_LCD_SUPPORT is not set
++
++#
++# Display device support
++#
++# CONFIG_DISPLAY_SUPPORT is not set
++
++#
++# Console display driver support
++#
++# CONFIG_VGA_CONSOLE is not set
++CONFIG_DUMMY_CONSOLE=y
++# CONFIG_FRAMEBUFFER_CONSOLE is not set
++# CONFIG_LOGO is not set
++# CONFIG_SOUND is not set
++CONFIG_HID_SUPPORT=y
++CONFIG_HID=y
++# CONFIG_HID_DEBUG is not set
++# CONFIG_HIDRAW is not set
++
++#
++# USB Input Devices
++#
++CONFIG_USB_HID=y
++# CONFIG_HID_PID is not set
++# CONFIG_USB_HIDDEV is not set
++
++#
++# Special HID drivers
++#
++CONFIG_HID_COMPAT=y
++# CONFIG_HID_A4TECH is not set
++# CONFIG_HID_APPLE is not set
++# CONFIG_HID_BELKIN is not set
++# CONFIG_HID_CHERRY is not set
++# CONFIG_HID_CHICONY is not set
++# CONFIG_HID_CYPRESS is not set
++# CONFIG_HID_EZKEY is not set
++# CONFIG_HID_GYRATION is not set
++# CONFIG_HID_LOGITECH is not set
++# CONFIG_HID_MICROSOFT is not set
++# CONFIG_HID_MONTEREY is not set
++# CONFIG_HID_NTRIG is not set
++# CONFIG_HID_PANTHERLORD is not set
++# CONFIG_HID_PETALYNX is not set
++# CONFIG_HID_SAMSUNG is not set
++# CONFIG_HID_SONY is not set
++# CONFIG_HID_SUNPLUS is not set
++# CONFIG_GREENASIA_FF is not set
++# CONFIG_HID_TOPSEED is not set
++# CONFIG_THRUSTMASTER_FF is not set
++# CONFIG_ZEROPLUS_FF is not set
++CONFIG_USB_SUPPORT=y
++CONFIG_USB_ARCH_HAS_HCD=y
++CONFIG_USB_ARCH_HAS_OHCI=y
++CONFIG_USB_ARCH_HAS_EHCI=y
++CONFIG_USB=y
++CONFIG_USB_DEBUG=y
++CONFIG_USB_ANNOUNCE_NEW_DEVICES=y
++
++#
++# Miscellaneous USB options
++#
++CONFIG_USB_DEVICEFS=y
++# CONFIG_USB_DEVICE_CLASS is not set
++# CONFIG_USB_DYNAMIC_MINORS is not set
++CONFIG_USB_SUSPEND=y
++CONFIG_USB_OTG=y
++# CONFIG_USB_OTG_WHITELIST is not set
++# CONFIG_USB_OTG_BLACKLIST_HUB is not set
++CONFIG_USB_MON=y
++# CONFIG_USB_WUSB is not set
++# CONFIG_USB_WUSB_CBAF is not set
++
++#
++# USB Host Controller Drivers
++#
++# CONFIG_USB_C67X00_HCD is not set
++CONFIG_USB_EHCI_HCD=m
++CONFIG_OMAP_EHCI_PHY_MODE=y
++# CONFIG_OMAP_EHCI_TLL_MODE is not set
++# CONFIG_USB_EHCI_ROOT_HUB_TT is not set
++# CONFIG_USB_EHCI_TT_NEWSCHED is not set
++# CONFIG_USB_OXU210HP_HCD is not set
++# CONFIG_USB_ISP116X_HCD is not set
++# CONFIG_USB_OHCI_HCD is not set
++# CONFIG_USB_SL811_HCD is not set
++# CONFIG_USB_R8A66597_HCD is not set
++# CONFIG_USB_HWA_HCD is not set
++CONFIG_USB_MUSB_HDRC=y
++CONFIG_USB_MUSB_SOC=y
++
++#
++# OMAP 343x high speed USB support
++#
++# CONFIG_USB_MUSB_HOST is not set
++# CONFIG_USB_MUSB_PERIPHERAL is not set
++CONFIG_USB_MUSB_OTG=y
++CONFIG_USB_GADGET_MUSB_HDRC=y
++CONFIG_USB_MUSB_HDRC_HCD=y
++# CONFIG_MUSB_PIO_ONLY is not set
++CONFIG_USB_INVENTRA_DMA=y
++# CONFIG_USB_TI_CPPI_DMA is not set
++# CONFIG_USB_MUSB_DEBUG is not set
++
++#
++# USB Device Class drivers
++#
++# CONFIG_USB_ACM is not set
++# CONFIG_USB_PRINTER is not set
++# CONFIG_USB_WDM is not set
++# CONFIG_USB_TMC is not set
++
++#
++# NOTE: USB_STORAGE depends on SCSI but BLK_DEV_SD may also be needed;
++#
++
++#
++# see USB_STORAGE Help for more information
++#
++CONFIG_USB_STORAGE=y
++CONFIG_USB_STORAGE_DEBUG=y
++# CONFIG_USB_STORAGE_DATAFAB is not set
++# CONFIG_USB_STORAGE_FREECOM is not set
++# CONFIG_USB_STORAGE_ISD200 is not set
++# CONFIG_USB_STORAGE_USBAT is not set
++# CONFIG_USB_STORAGE_SDDR09 is not set
++# CONFIG_USB_STORAGE_SDDR55 is not set
++# CONFIG_USB_STORAGE_JUMPSHOT is not set
++# CONFIG_USB_STORAGE_ALAUDA is not set
++# CONFIG_USB_STORAGE_ONETOUCH is not set
++# CONFIG_USB_STORAGE_KARMA is not set
++# CONFIG_USB_STORAGE_CYPRESS_ATACB is not set
++# CONFIG_USB_LIBUSUAL is not set
++
++#
++# USB Imaging devices
++#
++# CONFIG_USB_MDC800 is not set
++# CONFIG_USB_MICROTEK is not set
++
++#
++# USB port drivers
++#
++# CONFIG_USB_SERIAL is not set
++
++#
++# USB Miscellaneous drivers
++#
++# CONFIG_USB_EMI62 is not set
++# CONFIG_USB_EMI26 is not set
++# CONFIG_USB_ADUTUX is not set
++# CONFIG_USB_SEVSEG is not set
++# CONFIG_USB_RIO500 is not set
++# CONFIG_USB_LEGOTOWER is not set
++# CONFIG_USB_LCD is not set
++# CONFIG_USB_BERRY_CHARGE is not set
++# CONFIG_USB_LED is not set
++# CONFIG_USB_CYPRESS_CY7C63 is not set
++# CONFIG_USB_CYTHERM is not set
++# CONFIG_USB_PHIDGET is not set
++# CONFIG_USB_IDMOUSE is not set
++# CONFIG_USB_FTDI_ELAN is not set
++# CONFIG_USB_APPLEDISPLAY is not set
++# CONFIG_USB_SISUSBVGA is not set
++# CONFIG_USB_LD is not set
++# CONFIG_USB_TRANCEVIBRATOR is not set
++# CONFIG_USB_IOWARRIOR is not set
++CONFIG_USB_TEST=y
++# CONFIG_USB_ISIGHTFW is not set
++# CONFIG_USB_VST is not set
++CONFIG_USB_GADGET=y
++CONFIG_USB_GADGET_DEBUG=y
++CONFIG_USB_GADGET_DEBUG_FILES=y
++# CONFIG_USB_GADGET_DEBUG_FS is not set
++CONFIG_USB_GADGET_VBUS_DRAW=2
++CONFIG_USB_GADGET_SELECTED=y
++# CONFIG_USB_GADGET_AT91 is not set
++# CONFIG_USB_GADGET_ATMEL_USBA is not set
++# CONFIG_USB_GADGET_FSL_USB2 is not set
++# CONFIG_USB_GADGET_LH7A40X is not set
++# CONFIG_USB_GADGET_OMAP is not set
++# CONFIG_USB_GADGET_PXA25X is not set
++# CONFIG_USB_GADGET_PXA27X is not set
++# CONFIG_USB_GADGET_S3C2410 is not set
++# CONFIG_USB_GADGET_IMX is not set
++# CONFIG_USB_GADGET_M66592 is not set
++# CONFIG_USB_GADGET_AMD5536UDC is not set
++# CONFIG_USB_GADGET_FSL_QE is not set
++# CONFIG_USB_GADGET_CI13XXX is not set
++# CONFIG_USB_GADGET_NET2280 is not set
++# CONFIG_USB_GADGET_GOKU is not set
++# CONFIG_USB_GADGET_DUMMY_HCD is not set
++CONFIG_USB_GADGET_DUALSPEED=y
++CONFIG_USB_ZERO=m
++# CONFIG_USB_ZERO_HNPTEST is not set
++# CONFIG_USB_ETH is not set
++# CONFIG_USB_GADGETFS is not set
++# CONFIG_USB_FILE_STORAGE is not set
++# CONFIG_USB_G_SERIAL is not set
++# CONFIG_USB_MIDI_GADGET is not set
++# CONFIG_USB_G_PRINTER is not set
++# CONFIG_USB_CDC_COMPOSITE is not set
++
++#
++# OTG and related infrastructure
++#
++CONFIG_USB_OTG_UTILS=y
++# CONFIG_USB_GPIO_VBUS is not set
++# CONFIG_ISP1301_OMAP is not set
++CONFIG_TWL4030_USB=y
++CONFIG_MMC=y
++# CONFIG_MMC_DEBUG is not set
++# CONFIG_MMC_UNSAFE_RESUME is not set
++
++#
++# MMC/SD/SDIO Card Drivers
++#
++CONFIG_MMC_BLOCK=y
++CONFIG_MMC_BLOCK_BOUNCE=y
++# CONFIG_SDIO_UART is not set
++# CONFIG_MMC_TEST is not set
++
++#
++# MMC/SD/SDIO Host Controller Drivers
++#
++# CONFIG_MMC_SDHCI is not set
++CONFIG_MMC_OMAP_HS=m
++# CONFIG_MMC_SPI is not set
++# CONFIG_MEMSTICK is not set
++# CONFIG_ACCESSIBILITY is not set
++# CONFIG_NEW_LEDS is not set
++CONFIG_RTC_LIB=y
++CONFIG_RTC_CLASS=y
++CONFIG_RTC_HCTOSYS=y
++CONFIG_RTC_HCTOSYS_DEVICE="rtc0"
++# CONFIG_RTC_DEBUG is not set
++
++#
++# RTC interfaces
++#
++CONFIG_RTC_INTF_SYSFS=y
++CONFIG_RTC_INTF_PROC=y
++CONFIG_RTC_INTF_DEV=y
++# CONFIG_RTC_INTF_DEV_UIE_EMUL is not set
++# CONFIG_RTC_DRV_TEST is not set
++
++#
++# I2C RTC drivers
++#
++# CONFIG_RTC_DRV_DS1307 is not set
++# CONFIG_RTC_DRV_DS1374 is not set
++# CONFIG_RTC_DRV_DS1672 is not set
++# CONFIG_RTC_DRV_MAX6900 is not set
++# CONFIG_RTC_DRV_RS5C372 is not set
++# CONFIG_RTC_DRV_ISL1208 is not set
++# CONFIG_RTC_DRV_X1205 is not set
++# CONFIG_RTC_DRV_PCF8563 is not set
++# CONFIG_RTC_DRV_PCF8583 is not set
++# CONFIG_RTC_DRV_M41T80 is not set
++CONFIG_RTC_DRV_TWL4030=y
++# CONFIG_RTC_DRV_S35390A is not set
++# CONFIG_RTC_DRV_FM3130 is not set
++# CONFIG_RTC_DRV_RX8581 is not set
++
++#
++# SPI RTC drivers
++#
++# CONFIG_RTC_DRV_M41T94 is not set
++# CONFIG_RTC_DRV_DS1305 is not set
++# CONFIG_RTC_DRV_DS1390 is not set
++# CONFIG_RTC_DRV_MAX6902 is not set
++# CONFIG_RTC_DRV_R9701 is not set
++# CONFIG_RTC_DRV_RS5C348 is not set
++# CONFIG_RTC_DRV_DS3234 is not set
++
++#
++# Platform RTC drivers
++#
++# CONFIG_RTC_DRV_CMOS is not set
++# CONFIG_RTC_DRV_DS1286 is not set
++# CONFIG_RTC_DRV_DS1511 is not set
++# CONFIG_RTC_DRV_DS1553 is not set
++# CONFIG_RTC_DRV_DS1742 is not set
++# CONFIG_RTC_DRV_STK17TA8 is not set
++# CONFIG_RTC_DRV_M48T86 is not set
++# CONFIG_RTC_DRV_M48T35 is not set
++# CONFIG_RTC_DRV_M48T59 is not set
++# CONFIG_RTC_DRV_BQ4802 is not set
++# CONFIG_RTC_DRV_V3020 is not set
++
++#
++# on-CPU RTC drivers
++#
++# CONFIG_DMADEVICES is not set
++CONFIG_REGULATOR=y
++# CONFIG_REGULATOR_DEBUG is not set
++# CONFIG_REGULATOR_FIXED_VOLTAGE is not set
++# CONFIG_REGULATOR_VIRTUAL_CONSUMER is not set
++# CONFIG_REGULATOR_BQ24022 is not set
++CONFIG_REGULATOR_TWL4030=y
++# CONFIG_UIO is not set
++# CONFIG_STAGING is not set
++
++#
++# CBUS support
++#
++# CONFIG_CBUS is not set
++
++#
++# File systems
++#
++CONFIG_EXT2_FS=y
++# CONFIG_EXT2_FS_XATTR is not set
++# CONFIG_EXT2_FS_XIP is not set
++CONFIG_EXT3_FS=y
++# CONFIG_EXT3_FS_XATTR is not set
++# CONFIG_EXT4_FS is not set
++CONFIG_JBD=y
++# CONFIG_JBD_DEBUG is not set
++# CONFIG_REISERFS_FS is not set
++# CONFIG_JFS_FS is not set
++# CONFIG_FS_POSIX_ACL is not set
++CONFIG_FILE_LOCKING=y
++# CONFIG_XFS_FS is not set
++# CONFIG_OCFS2_FS is not set
++# CONFIG_BTRFS_FS is not set
++CONFIG_DNOTIFY=y
++CONFIG_INOTIFY=y
++CONFIG_INOTIFY_USER=y
++CONFIG_QUOTA=y
++# CONFIG_QUOTA_NETLINK_INTERFACE is not set
++CONFIG_PRINT_QUOTA_WARNING=y
++CONFIG_QUOTA_TREE=y
++# CONFIG_QFMT_V1 is not set
++CONFIG_QFMT_V2=y
++CONFIG_QUOTACTL=y
++# CONFIG_AUTOFS_FS is not set
++# CONFIG_AUTOFS4_FS is not set
++# CONFIG_FUSE_FS is not set
++
++#
++# CD-ROM/DVD Filesystems
++#
++# CONFIG_ISO9660_FS is not set
++# CONFIG_UDF_FS is not set
++
++#
++# DOS/FAT/NT Filesystems
++#
++CONFIG_FAT_FS=y
++CONFIG_MSDOS_FS=y
++CONFIG_VFAT_FS=y
++CONFIG_FAT_DEFAULT_CODEPAGE=437
++CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1"
++# CONFIG_NTFS_FS is not set
++
++#
++# Pseudo filesystems
++#
++CONFIG_PROC_FS=y
++CONFIG_PROC_SYSCTL=y
++CONFIG_PROC_PAGE_MONITOR=y
++CONFIG_SYSFS=y
++CONFIG_TMPFS=y
++# CONFIG_TMPFS_POSIX_ACL is not set
++# CONFIG_HUGETLB_PAGE is not set
++# CONFIG_CONFIGFS_FS is not set
++CONFIG_MISC_FILESYSTEMS=y
++# CONFIG_ADFS_FS is not set
++# CONFIG_AFFS_FS is not set
++# CONFIG_HFS_FS is not set
++# CONFIG_HFSPLUS_FS is not set
++# CONFIG_BEFS_FS is not set
++# CONFIG_BFS_FS is not set
++# CONFIG_EFS_FS is not set
++CONFIG_JFFS2_FS=y
++CONFIG_JFFS2_FS_DEBUG=0
++CONFIG_JFFS2_FS_WRITEBUFFER=y
++# CONFIG_JFFS2_FS_WBUF_VERIFY is not set
++# CONFIG_JFFS2_SUMMARY is not set
++# CONFIG_JFFS2_FS_XATTR is not set
++CONFIG_JFFS2_COMPRESSION_OPTIONS=y
++CONFIG_JFFS2_ZLIB=y
++# CONFIG_JFFS2_LZO is not set
++CONFIG_JFFS2_RTIME=y
++# CONFIG_JFFS2_RUBIN is not set
++# CONFIG_JFFS2_CMODE_NONE is not set
++CONFIG_JFFS2_CMODE_PRIORITY=y
++# CONFIG_JFFS2_CMODE_SIZE is not set
++# CONFIG_JFFS2_CMODE_FAVOURLZO is not set
++# CONFIG_CRAMFS is not set
++# CONFIG_SQUASHFS is not set
++# CONFIG_VXFS_FS is not set
++# CONFIG_MINIX_FS is not set
++# CONFIG_OMFS_FS is not set
++# CONFIG_HPFS_FS is not set
++# CONFIG_QNX4FS_FS is not set
++# CONFIG_ROMFS_FS is not set
++# CONFIG_SYSV_FS is not set
++# CONFIG_UFS_FS is not set
++CONFIG_NETWORK_FILESYSTEMS=y
++CONFIG_NFS_FS=y
++CONFIG_NFS_V3=y
++# CONFIG_NFS_V3_ACL is not set
++CONFIG_NFS_V4=y
++CONFIG_ROOT_NFS=y
++# CONFIG_NFSD is not set
++CONFIG_LOCKD=y
++CONFIG_LOCKD_V4=y
++CONFIG_NFS_COMMON=y
++CONFIG_SUNRPC=y
++CONFIG_SUNRPC_GSS=y
++# CONFIG_SUNRPC_REGISTER_V4 is not set
++CONFIG_RPCSEC_GSS_KRB5=y
++# CONFIG_RPCSEC_GSS_SPKM3 is not set
++# CONFIG_SMB_FS is not set
++# CONFIG_CIFS is not set
++# CONFIG_NCP_FS is not set
++# CONFIG_CODA_FS is not set
++# CONFIG_AFS_FS is not set
++
++#
++# Partition Types
++#
++CONFIG_PARTITION_ADVANCED=y
++# CONFIG_ACORN_PARTITION is not set
++# CONFIG_OSF_PARTITION is not set
++# CONFIG_AMIGA_PARTITION is not set
++# CONFIG_ATARI_PARTITION is not set
++# CONFIG_MAC_PARTITION is not set
++CONFIG_MSDOS_PARTITION=y
++# CONFIG_BSD_DISKLABEL is not set
++# CONFIG_MINIX_SUBPARTITION is not set
++# CONFIG_SOLARIS_X86_PARTITION is not set
++# CONFIG_UNIXWARE_DISKLABEL is not set
++# CONFIG_LDM_PARTITION is not set
++# CONFIG_SGI_PARTITION is not set
++# CONFIG_ULTRIX_PARTITION is not set
++# CONFIG_SUN_PARTITION is not set
++# CONFIG_KARMA_PARTITION is not set
++# CONFIG_EFI_PARTITION is not set
++# CONFIG_SYSV68_PARTITION is not set
++CONFIG_NLS=y
++CONFIG_NLS_DEFAULT="iso8859-1"
++CONFIG_NLS_CODEPAGE_437=y
++# CONFIG_NLS_CODEPAGE_737 is not set
++# CONFIG_NLS_CODEPAGE_775 is not set
++# CONFIG_NLS_CODEPAGE_850 is not set
++# CONFIG_NLS_CODEPAGE_852 is not set
++# CONFIG_NLS_CODEPAGE_855 is not set
++# CONFIG_NLS_CODEPAGE_857 is not set
++# CONFIG_NLS_CODEPAGE_860 is not set
++# CONFIG_NLS_CODEPAGE_861 is not set
++# CONFIG_NLS_CODEPAGE_862 is not set
++# CONFIG_NLS_CODEPAGE_863 is not set
++# CONFIG_NLS_CODEPAGE_864 is not set
++# CONFIG_NLS_CODEPAGE_865 is not set
++# CONFIG_NLS_CODEPAGE_866 is not set
++# CONFIG_NLS_CODEPAGE_869 is not set
++# CONFIG_NLS_CODEPAGE_936 is not set
++# CONFIG_NLS_CODEPAGE_950 is not set
++# CONFIG_NLS_CODEPAGE_932 is not set
++# CONFIG_NLS_CODEPAGE_949 is not set
++# CONFIG_NLS_CODEPAGE_874 is not set
++# CONFIG_NLS_ISO8859_8 is not set
++# CONFIG_NLS_CODEPAGE_1250 is not set
++# CONFIG_NLS_CODEPAGE_1251 is not set
++# CONFIG_NLS_ASCII is not set
++CONFIG_NLS_ISO8859_1=y
++# CONFIG_NLS_ISO8859_2 is not set
++# CONFIG_NLS_ISO8859_3 is not set
++# CONFIG_NLS_ISO8859_4 is not set
++# CONFIG_NLS_ISO8859_5 is not set
++# CONFIG_NLS_ISO8859_6 is not set
++# CONFIG_NLS_ISO8859_7 is not set
++# CONFIG_NLS_ISO8859_9 is not set
++# CONFIG_NLS_ISO8859_13 is not set
++# CONFIG_NLS_ISO8859_14 is not set
++# CONFIG_NLS_ISO8859_15 is not set
++# CONFIG_NLS_KOI8_R is not set
++# CONFIG_NLS_KOI8_U is not set
++# CONFIG_NLS_UTF8 is not set
++# CONFIG_DLM is not set
++
++#
++# Kernel hacking
++#
++# CONFIG_PRINTK_TIME is not set
++CONFIG_ENABLE_WARN_DEPRECATED=y
++CONFIG_ENABLE_MUST_CHECK=y
++CONFIG_FRAME_WARN=1024
++CONFIG_MAGIC_SYSRQ=y
++# CONFIG_UNUSED_SYMBOLS is not set
++CONFIG_DEBUG_FS=y
++# CONFIG_HEADERS_CHECK is not set
++CONFIG_DEBUG_KERNEL=y
++# CONFIG_DEBUG_SHIRQ is not set
++CONFIG_DETECT_SOFTLOCKUP=y
++# CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC is not set
++CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC_VALUE=0
++CONFIG_SCHED_DEBUG=y
++# CONFIG_SCHEDSTATS is not set
++# CONFIG_TIMER_STATS is not set
++# CONFIG_DEBUG_OBJECTS is not set
++# CONFIG_DEBUG_SLAB is not set
++# CONFIG_DEBUG_RT_MUTEXES is not set
++# CONFIG_RT_MUTEX_TESTER is not set
++# CONFIG_DEBUG_SPINLOCK is not set
++CONFIG_DEBUG_MUTEXES=y
++# CONFIG_DEBUG_LOCK_ALLOC is not set
++# CONFIG_PROVE_LOCKING is not set
++# CONFIG_LOCK_STAT is not set
++# CONFIG_DEBUG_SPINLOCK_SLEEP is not set
++# CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set
++# CONFIG_DEBUG_KOBJECT is not set
++CONFIG_DEBUG_BUGVERBOSE=y
++CONFIG_DEBUG_INFO=y
++# CONFIG_DEBUG_VM is not set
++# CONFIG_DEBUG_WRITECOUNT is not set
++# CONFIG_DEBUG_MEMORY_INIT is not set
++# CONFIG_DEBUG_LIST is not set
++# CONFIG_DEBUG_SG is not set
++# CONFIG_DEBUG_NOTIFIERS is not set
++CONFIG_FRAME_POINTER=y
++# CONFIG_BOOT_PRINTK_DELAY is not set
++# CONFIG_RCU_TORTURE_TEST is not set
++# CONFIG_RCU_CPU_STALL_DETECTOR is not set
++# CONFIG_BACKTRACE_SELF_TEST is not set
++# CONFIG_DEBUG_BLOCK_EXT_DEVT is not set
++# CONFIG_FAULT_INJECTION is not set
++# CONFIG_LATENCYTOP is not set
++CONFIG_HAVE_FUNCTION_TRACER=y
++
++#
++# Tracers
++#
++# CONFIG_FUNCTION_TRACER is not set
++# CONFIG_IRQSOFF_TRACER is not set
++# CONFIG_SCHED_TRACER is not set
++# CONFIG_CONTEXT_SWITCH_TRACER is not set
++# CONFIG_BOOT_TRACER is not set
++# CONFIG_TRACE_BRANCH_PROFILING is not set
++# CONFIG_STACK_TRACER is not set
++# CONFIG_DYNAMIC_PRINTK_DEBUG is not set
++# CONFIG_SAMPLES is not set
++CONFIG_HAVE_ARCH_KGDB=y
++# CONFIG_KGDB is not set
++CONFIG_DEBUG_USER=y
++CONFIG_DEBUG_ERRORS=y
++# CONFIG_DEBUG_STACK_USAGE is not set
++# CONFIG_DEBUG_LL is not set
++
++#
++# Security options
++#
++# CONFIG_KEYS is not set
++# CONFIG_SECURITY is not set
++# CONFIG_SECURITYFS is not set
++# CONFIG_SECURITY_FILE_CAPABILITIES is not set
++CONFIG_CRYPTO=y
++
++#
++# Crypto core or helper
++#
++# CONFIG_CRYPTO_FIPS is not set
++CONFIG_CRYPTO_ALGAPI=y
++CONFIG_CRYPTO_ALGAPI2=y
++CONFIG_CRYPTO_AEAD2=y
++CONFIG_CRYPTO_BLKCIPHER=y
++CONFIG_CRYPTO_BLKCIPHER2=y
++CONFIG_CRYPTO_HASH=y
++CONFIG_CRYPTO_HASH2=y
++CONFIG_CRYPTO_RNG2=y
++CONFIG_CRYPTO_MANAGER=y
++CONFIG_CRYPTO_MANAGER2=y
++# CONFIG_CRYPTO_GF128MUL is not set
++# CONFIG_CRYPTO_NULL is not set
++# CONFIG_CRYPTO_CRYPTD is not set
++# CONFIG_CRYPTO_AUTHENC is not set
++# CONFIG_CRYPTO_TEST is not set
++
++#
++# Authenticated Encryption with Associated Data
++#
++# CONFIG_CRYPTO_CCM is not set
++# CONFIG_CRYPTO_GCM is not set
++# CONFIG_CRYPTO_SEQIV is not set
++
++#
++# Block modes
++#
++CONFIG_CRYPTO_CBC=y
++# CONFIG_CRYPTO_CTR is not set
++# CONFIG_CRYPTO_CTS is not set
++CONFIG_CRYPTO_ECB=m
++# CONFIG_CRYPTO_LRW is not set
++CONFIG_CRYPTO_PCBC=m
++# CONFIG_CRYPTO_XTS is not set
++
++#
++# Hash modes
++#
++# CONFIG_CRYPTO_HMAC is not set
++# CONFIG_CRYPTO_XCBC is not set
++
++#
++# Digest
++#
++CONFIG_CRYPTO_CRC32C=y
++# CONFIG_CRYPTO_MD4 is not set
++CONFIG_CRYPTO_MD5=y
++# CONFIG_CRYPTO_MICHAEL_MIC is not set
++# CONFIG_CRYPTO_RMD128 is not set
++# CONFIG_CRYPTO_RMD160 is not set
++# CONFIG_CRYPTO_RMD256 is not set
++# CONFIG_CRYPTO_RMD320 is not set
++# CONFIG_CRYPTO_SHA1 is not set
++# CONFIG_CRYPTO_SHA256 is not set
++# CONFIG_CRYPTO_SHA512 is not set
++# CONFIG_CRYPTO_TGR192 is not set
++# CONFIG_CRYPTO_WP512 is not set
++
++#
++# Ciphers
++#
++# CONFIG_CRYPTO_AES is not set
++# CONFIG_CRYPTO_ANUBIS is not set
++# CONFIG_CRYPTO_ARC4 is not set
++# CONFIG_CRYPTO_BLOWFISH is not set
++# CONFIG_CRYPTO_CAMELLIA is not set
++# CONFIG_CRYPTO_CAST5 is not set
++# CONFIG_CRYPTO_CAST6 is not set
++CONFIG_CRYPTO_DES=y
++# CONFIG_CRYPTO_FCRYPT is not set
++# CONFIG_CRYPTO_KHAZAD is not set
++# CONFIG_CRYPTO_SALSA20 is not set
++# CONFIG_CRYPTO_SEED is not set
++# CONFIG_CRYPTO_SERPENT is not set
++# CONFIG_CRYPTO_TEA is not set
++# CONFIG_CRYPTO_TWOFISH is not set
++
++#
++# Compression
++#
++# CONFIG_CRYPTO_DEFLATE is not set
++# CONFIG_CRYPTO_LZO is not set
++
++#
++# Random Number Generation
++#
++# CONFIG_CRYPTO_ANSI_CPRNG is not set
++CONFIG_CRYPTO_HW=y
++
++#
++# Library routines
++#
++CONFIG_BITREVERSE=y
++CONFIG_GENERIC_FIND_LAST_BIT=y
++CONFIG_CRC_CCITT=y
++# CONFIG_CRC16 is not set
++# CONFIG_CRC_T10DIF is not set
++# CONFIG_CRC_ITU_T is not set
++CONFIG_CRC32=y
++# CONFIG_CRC7 is not set
++CONFIG_LIBCRC32C=y
++CONFIG_ZLIB_INFLATE=y
++CONFIG_ZLIB_DEFLATE=y
++CONFIG_PLIST=y
++CONFIG_HAS_IOMEM=y
++CONFIG_HAS_IOPORT=y
++CONFIG_HAS_DMA=y
+diff --git a/arch/arm/configs/dss_overo_defconfig b/arch/arm/configs/dss_overo_defconfig
+new file mode 100644
+index 0000000..755a1b6
+--- /dev/null
++++ b/arch/arm/configs/dss_overo_defconfig
+@@ -0,0 +1,1862 @@
++#
++# Automatically generated make config: don't edit
++# Linux kernel version: 2.6.29-omap1
++# Thu Apr 2 11:30:57 2009
++#
++CONFIG_ARM=y
++CONFIG_SYS_SUPPORTS_APM_EMULATION=y
++CONFIG_GENERIC_GPIO=y
++CONFIG_GENERIC_TIME=y
++CONFIG_GENERIC_CLOCKEVENTS=y
++CONFIG_MMU=y
++# CONFIG_NO_IOPORT is not set
++CONFIG_GENERIC_HARDIRQS=y
++CONFIG_STACKTRACE_SUPPORT=y
++CONFIG_HAVE_LATENCYTOP_SUPPORT=y
++CONFIG_LOCKDEP_SUPPORT=y
++CONFIG_TRACE_IRQFLAGS_SUPPORT=y
++CONFIG_HARDIRQS_SW_RESEND=y
++CONFIG_GENERIC_IRQ_PROBE=y
++CONFIG_RWSEM_GENERIC_SPINLOCK=y
++# CONFIG_ARCH_HAS_ILOG2_U32 is not set
++# CONFIG_ARCH_HAS_ILOG2_U64 is not set
++CONFIG_GENERIC_HWEIGHT=y
++CONFIG_GENERIC_CALIBRATE_DELAY=y
++CONFIG_GENERIC_HARDIRQS_NO__DO_IRQ=y
++CONFIG_OPROFILE_ARMV7=y
++CONFIG_VECTORS_BASE=0xffff0000
++CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
++
++#
++# General setup
++#
++CONFIG_EXPERIMENTAL=y
++CONFIG_BROKEN_ON_SMP=y
++CONFIG_INIT_ENV_ARG_LIMIT=32
++CONFIG_LOCALVERSION=""
++CONFIG_LOCALVERSION_AUTO=y
++CONFIG_SWAP=y
++CONFIG_SYSVIPC=y
++CONFIG_SYSVIPC_SYSCTL=y
++# CONFIG_POSIX_MQUEUE is not set
++CONFIG_BSD_PROCESS_ACCT=y
++# CONFIG_BSD_PROCESS_ACCT_V3 is not set
++# CONFIG_TASKSTATS is not set
++# CONFIG_AUDIT is not set
++
++#
++# RCU Subsystem
++#
++CONFIG_CLASSIC_RCU=y
++# CONFIG_TREE_RCU is not set
++# CONFIG_PREEMPT_RCU is not set
++# CONFIG_TREE_RCU_TRACE is not set
++# CONFIG_PREEMPT_RCU_TRACE is not set
++CONFIG_IKCONFIG=y
++CONFIG_IKCONFIG_PROC=y
++CONFIG_LOG_BUF_SHIFT=14
++CONFIG_GROUP_SCHED=y
++CONFIG_FAIR_GROUP_SCHED=y
++# CONFIG_RT_GROUP_SCHED is not set
++CONFIG_USER_SCHED=y
++# CONFIG_CGROUP_SCHED is not set
++# CONFIG_CGROUPS is not set
++CONFIG_SYSFS_DEPRECATED=y
++CONFIG_SYSFS_DEPRECATED_V2=y
++# CONFIG_RELAY is not set
++# CONFIG_NAMESPACES is not set
++CONFIG_BLK_DEV_INITRD=y
++CONFIG_INITRAMFS_SOURCE=""
++CONFIG_CC_OPTIMIZE_FOR_SIZE=y
++CONFIG_SYSCTL=y
++CONFIG_ANON_INODES=y
++CONFIG_EMBEDDED=y
++CONFIG_UID16=y
++# CONFIG_SYSCTL_SYSCALL is not set
++CONFIG_KALLSYMS=y
++# CONFIG_KALLSYMS_ALL is not set
++# CONFIG_KALLSYMS_EXTRA_PASS is not set
++CONFIG_HOTPLUG=y
++CONFIG_PRINTK=y
++CONFIG_BUG=y
++# CONFIG_ELF_CORE is not set
++CONFIG_BASE_FULL=y
++CONFIG_FUTEX=y
++CONFIG_EPOLL=y
++CONFIG_SIGNALFD=y
++CONFIG_TIMERFD=y
++CONFIG_EVENTFD=y
++CONFIG_SHMEM=y
++CONFIG_AIO=y
++CONFIG_VM_EVENT_COUNTERS=y
++CONFIG_SLUB_DEBUG=y
++# CONFIG_COMPAT_BRK is not set
++# CONFIG_SLAB is not set
++CONFIG_SLUB=y
++# CONFIG_SLOB is not set
++CONFIG_PROFILING=y
++CONFIG_TRACEPOINTS=y
++# CONFIG_MARKERS is not set
++CONFIG_OPROFILE=y
++CONFIG_HAVE_OPROFILE=y
++# CONFIG_KPROBES is not set
++CONFIG_HAVE_KPROBES=y
++CONFIG_HAVE_KRETPROBES=y
++CONFIG_HAVE_CLK=y
++CONFIG_HAVE_GENERIC_DMA_COHERENT=y
++CONFIG_SLABINFO=y
++CONFIG_RT_MUTEXES=y
++CONFIG_BASE_SMALL=0
++CONFIG_MODULES=y
++# CONFIG_MODULE_FORCE_LOAD is not set
++CONFIG_MODULE_UNLOAD=y
++CONFIG_MODULE_FORCE_UNLOAD=y
++CONFIG_MODVERSIONS=y
++CONFIG_MODULE_SRCVERSION_ALL=y
++CONFIG_BLOCK=y
++CONFIG_LBD=y
++# CONFIG_BLK_DEV_IO_TRACE is not set
++# CONFIG_BLK_DEV_BSG is not set
++# CONFIG_BLK_DEV_INTEGRITY is not set
++
++#
++# IO Schedulers
++#
++CONFIG_IOSCHED_NOOP=y
++CONFIG_IOSCHED_AS=y
++CONFIG_IOSCHED_DEADLINE=y
++CONFIG_IOSCHED_CFQ=y
++# CONFIG_DEFAULT_AS is not set
++# CONFIG_DEFAULT_DEADLINE is not set
++CONFIG_DEFAULT_CFQ=y
++# CONFIG_DEFAULT_NOOP is not set
++CONFIG_DEFAULT_IOSCHED="cfq"
++CONFIG_FREEZER=y
++
++#
++# System Type
++#
++# CONFIG_ARCH_AAEC2000 is not set
++# CONFIG_ARCH_INTEGRATOR is not set
++# CONFIG_ARCH_REALVIEW is not set
++# CONFIG_ARCH_VERSATILE is not set
++# CONFIG_ARCH_AT91 is not set
++# CONFIG_ARCH_CLPS711X is not set
++# CONFIG_ARCH_EBSA110 is not set
++# CONFIG_ARCH_EP93XX is not set
++# CONFIG_ARCH_FOOTBRIDGE is not set
++# CONFIG_ARCH_NETX is not set
++# CONFIG_ARCH_H720X is not set
++# CONFIG_ARCH_IMX is not set
++# CONFIG_ARCH_IOP13XX is not set
++# CONFIG_ARCH_IOP32X is not set
++# CONFIG_ARCH_IOP33X is not set
++# CONFIG_ARCH_IXP23XX is not set
++# CONFIG_ARCH_IXP2000 is not set
++# CONFIG_ARCH_IXP4XX is not set
++# CONFIG_ARCH_L7200 is not set
++# CONFIG_ARCH_KIRKWOOD is not set
++# CONFIG_ARCH_KS8695 is not set
++# CONFIG_ARCH_NS9XXX is not set
++# CONFIG_ARCH_LOKI is not set
++# CONFIG_ARCH_MV78XX0 is not set
++# CONFIG_ARCH_MXC is not set
++# CONFIG_ARCH_ORION5X is not set
++# CONFIG_ARCH_PNX4008 is not set
++# CONFIG_ARCH_PXA is not set
++# CONFIG_ARCH_RPC is not set
++# CONFIG_ARCH_SA1100 is not set
++# CONFIG_ARCH_S3C2410 is not set
++# CONFIG_ARCH_S3C64XX is not set
++# CONFIG_ARCH_SHARK is not set
++# CONFIG_ARCH_LH7A40X is not set
++# CONFIG_ARCH_DAVINCI is not set
++CONFIG_ARCH_OMAP=y
++# CONFIG_ARCH_MSM is not set
++# CONFIG_ARCH_W90X900 is not set
++
++#
++# TI OMAP Implementations
++#
++CONFIG_ARCH_OMAP_OTG=y
++# CONFIG_ARCH_OMAP1 is not set
++# CONFIG_ARCH_OMAP2 is not set
++CONFIG_ARCH_OMAP3=y
++
++#
++# OMAP Feature Selections
++#
++# CONFIG_OMAP_DEBUG_POWERDOMAIN is not set
++# CONFIG_OMAP_DEBUG_CLOCKDOMAIN is not set
++CONFIG_OMAP_SMARTREFLEX=y
++# CONFIG_OMAP_SMARTREFLEX_TESTING is not set
++# CONFIG_OMAP_RESET_CLOCKS is not set
++CONFIG_OMAP_BOOT_TAG=y
++CONFIG_OMAP_BOOT_REASON=y
++# CONFIG_OMAP_COMPONENT_VERSION is not set
++# CONFIG_OMAP_GPIO_SWITCH is not set
++# CONFIG_OMAP_MUX is not set
++CONFIG_OMAP_MCBSP=y
++# CONFIG_OMAP_MBOX_FWK is not set
++# CONFIG_OMAP_MPU_TIMER is not set
++CONFIG_OMAP_32K_TIMER=y
++CONFIG_OMAP_32K_TIMER_HZ=128
++CONFIG_OMAP_TICK_GPTIMER=1
++CONFIG_OMAP_DM_TIMER=y
++# CONFIG_OMAP_LL_DEBUG_UART1 is not set
++# CONFIG_OMAP_LL_DEBUG_UART2 is not set
++CONFIG_OMAP_LL_DEBUG_UART3=y
++CONFIG_ARCH_OMAP34XX=y
++CONFIG_ARCH_OMAP3430=y
++
++#
++# OMAP Board Type
++#
++# CONFIG_MACH_NOKIA_RX51 is not set
++# CONFIG_MACH_OMAP_LDP is not set
++# CONFIG_MACH_OMAP_3430SDP is not set
++# CONFIG_MACH_OMAP3EVM is not set
++# CONFIG_MACH_OMAP3_BEAGLE is not set
++CONFIG_MACH_OVERO=y
++# CONFIG_MACH_OMAP3_PANDORA is not set
++
++#
++# Processor Type
++#
++CONFIG_CPU_32=y
++CONFIG_CPU_32v6K=y
++CONFIG_CPU_V7=y
++CONFIG_CPU_32v7=y
++CONFIG_CPU_ABRT_EV7=y
++CONFIG_CPU_PABRT_IFAR=y
++CONFIG_CPU_CACHE_V7=y
++CONFIG_CPU_CACHE_VIPT=y
++CONFIG_CPU_COPY_V6=y
++CONFIG_CPU_TLB_V7=y
++CONFIG_CPU_HAS_ASID=y
++CONFIG_CPU_CP15=y
++CONFIG_CPU_CP15_MMU=y
++
++#
++# Processor Features
++#
++CONFIG_ARM_THUMB=y
++CONFIG_ARM_THUMBEE=y
++# CONFIG_CPU_ICACHE_DISABLE is not set
++# CONFIG_CPU_DCACHE_DISABLE is not set
++# CONFIG_CPU_BPREDICT_DISABLE is not set
++CONFIG_HAS_TLS_REG=y
++# CONFIG_OUTER_CACHE is not set
++
++#
++# Bus support
++#
++# CONFIG_PCI_SYSCALL is not set
++# CONFIG_ARCH_SUPPORTS_MSI is not set
++# CONFIG_PCCARD is not set
++
++#
++# Kernel Features
++#
++CONFIG_TICK_ONESHOT=y
++CONFIG_NO_HZ=y
++CONFIG_HIGH_RES_TIMERS=y
++CONFIG_GENERIC_CLOCKEVENTS_BUILD=y
++CONFIG_VMSPLIT_3G=y
++# CONFIG_VMSPLIT_2G is not set
++# CONFIG_VMSPLIT_1G is not set
++CONFIG_PAGE_OFFSET=0xC0000000
++# CONFIG_PREEMPT is not set
++CONFIG_HZ=128
++CONFIG_AEABI=y
++# CONFIG_OABI_COMPAT is not set
++CONFIG_ARCH_FLATMEM_HAS_HOLES=y
++# CONFIG_ARCH_SPARSEMEM_DEFAULT is not set
++# CONFIG_ARCH_SELECT_MEMORY_MODEL is not set
++CONFIG_SELECT_MEMORY_MODEL=y
++CONFIG_FLATMEM_MANUAL=y
++# CONFIG_DISCONTIGMEM_MANUAL is not set
++# CONFIG_SPARSEMEM_MANUAL is not set
++CONFIG_FLATMEM=y
++CONFIG_FLAT_NODE_MEM_MAP=y
++CONFIG_PAGEFLAGS_EXTENDED=y
++CONFIG_SPLIT_PTLOCK_CPUS=4
++# CONFIG_PHYS_ADDR_T_64BIT is not set
++CONFIG_ZONE_DMA_FLAG=0
++CONFIG_VIRT_TO_BUS=y
++CONFIG_UNEVICTABLE_LRU=y
++CONFIG_LEDS=y
++CONFIG_ALIGNMENT_TRAP=y
++
++#
++# Boot options
++#
++CONFIG_ZBOOT_ROM_TEXT=0x0
++CONFIG_ZBOOT_ROM_BSS=0x0
++CONFIG_CMDLINE="root=/dev/nfs nfsroot=192.168.2.14:/tftpboot/rootfs ip=192.168.2.15 nolock,rsize=1024,wsize=1024 rw"
++# CONFIG_XIP_KERNEL is not set
++CONFIG_KEXEC=y
++CONFIG_ATAGS_PROC=y
++
++#
++# CPU Power Management
++#
++CONFIG_CPU_FREQ=y
++CONFIG_CPU_FREQ_TABLE=y
++# CONFIG_CPU_FREQ_DEBUG is not set
++CONFIG_CPU_FREQ_STAT=y
++CONFIG_CPU_FREQ_STAT_DETAILS=y
++CONFIG_CPU_FREQ_DEFAULT_GOV_PERFORMANCE=y
++# CONFIG_CPU_FREQ_DEFAULT_GOV_POWERSAVE is not set
++# CONFIG_CPU_FREQ_DEFAULT_GOV_USERSPACE is not set
++# CONFIG_CPU_FREQ_DEFAULT_GOV_ONDEMAND is not set
++# CONFIG_CPU_FREQ_DEFAULT_GOV_CONSERVATIVE is not set
++CONFIG_CPU_FREQ_GOV_PERFORMANCE=y
++# CONFIG_CPU_FREQ_GOV_POWERSAVE is not set
++CONFIG_CPU_FREQ_GOV_USERSPACE=y
++CONFIG_CPU_FREQ_GOV_ONDEMAND=y
++# CONFIG_CPU_FREQ_GOV_CONSERVATIVE is not set
++# CONFIG_CPU_IDLE is not set
++
++#
++# Floating point emulation
++#
++
++#
++# At least one emulation must be selected
++#
++CONFIG_VFP=y
++CONFIG_VFPv3=y
++CONFIG_NEON=y
++
++#
++# Userspace binary formats
++#
++CONFIG_BINFMT_ELF=y
++CONFIG_HAVE_AOUT=y
++CONFIG_BINFMT_AOUT=m
++CONFIG_BINFMT_MISC=y
++
++#
++# Power management options
++#
++CONFIG_PM=y
++# CONFIG_PM_DEBUG is not set
++CONFIG_PM_SLEEP=y
++CONFIG_SUSPEND=y
++CONFIG_SUSPEND_FREEZER=y
++# CONFIG_APM_EMULATION is not set
++CONFIG_ARCH_SUSPEND_POSSIBLE=y
++CONFIG_NET=y
++
++#
++# Networking options
++#
++CONFIG_COMPAT_NET_DEV_OPS=y
++CONFIG_PACKET=y
++CONFIG_PACKET_MMAP=y
++CONFIG_UNIX=y
++CONFIG_XFRM=y
++# CONFIG_XFRM_USER is not set
++# CONFIG_XFRM_SUB_POLICY is not set
++# CONFIG_XFRM_MIGRATE is not set
++# CONFIG_XFRM_STATISTICS is not set
++CONFIG_NET_KEY=y
++# CONFIG_NET_KEY_MIGRATE is not set
++CONFIG_INET=y
++# CONFIG_IP_MULTICAST is not set
++# CONFIG_IP_ADVANCED_ROUTER is not set
++CONFIG_IP_FIB_HASH=y
++CONFIG_IP_PNP=y
++CONFIG_IP_PNP_DHCP=y
++CONFIG_IP_PNP_BOOTP=y
++CONFIG_IP_PNP_RARP=y
++# CONFIG_NET_IPIP is not set
++# CONFIG_NET_IPGRE is not set
++# CONFIG_ARPD is not set
++# CONFIG_SYN_COOKIES is not set
++# CONFIG_INET_AH is not set
++# CONFIG_INET_ESP is not set
++# CONFIG_INET_IPCOMP is not set
++# CONFIG_INET_XFRM_TUNNEL is not set
++CONFIG_INET_TUNNEL=m
++CONFIG_INET_XFRM_MODE_TRANSPORT=y
++CONFIG_INET_XFRM_MODE_TUNNEL=y
++CONFIG_INET_XFRM_MODE_BEET=y
++# CONFIG_INET_LRO is not set
++CONFIG_INET_DIAG=y
++CONFIG_INET_TCP_DIAG=y
++# CONFIG_TCP_CONG_ADVANCED is not set
++CONFIG_TCP_CONG_CUBIC=y
++CONFIG_DEFAULT_TCP_CONG="cubic"
++# CONFIG_TCP_MD5SIG is not set
++CONFIG_IPV6=m
++# CONFIG_IPV6_PRIVACY is not set
++# CONFIG_IPV6_ROUTER_PREF is not set
++# CONFIG_IPV6_OPTIMISTIC_DAD is not set
++# CONFIG_INET6_AH is not set
++# CONFIG_INET6_ESP is not set
++# CONFIG_INET6_IPCOMP is not set
++# CONFIG_IPV6_MIP6 is not set
++# CONFIG_INET6_XFRM_TUNNEL is not set
++# CONFIG_INET6_TUNNEL is not set
++CONFIG_INET6_XFRM_MODE_TRANSPORT=m
++CONFIG_INET6_XFRM_MODE_TUNNEL=m
++CONFIG_INET6_XFRM_MODE_BEET=m
++# CONFIG_INET6_XFRM_MODE_ROUTEOPTIMIZATION is not set
++CONFIG_IPV6_SIT=m
++CONFIG_IPV6_NDISC_NODETYPE=y
++# CONFIG_IPV6_TUNNEL is not set
++# CONFIG_IPV6_MULTIPLE_TABLES is not set
++# CONFIG_IPV6_MROUTE is not set
++# CONFIG_NETWORK_SECMARK is not set
++# CONFIG_NETFILTER is not set
++# CONFIG_IP_DCCP is not set
++# CONFIG_IP_SCTP is not set
++# CONFIG_TIPC is not set
++# CONFIG_ATM is not set
++# CONFIG_BRIDGE is not set
++# CONFIG_NET_DSA is not set
++# CONFIG_VLAN_8021Q is not set
++# CONFIG_DECNET is not set
++# CONFIG_LLC2 is not set
++# CONFIG_IPX is not set
++# CONFIG_ATALK is not set
++# CONFIG_X25 is not set
++# CONFIG_LAPB is not set
++# CONFIG_ECONET is not set
++# CONFIG_WAN_ROUTER is not set
++# CONFIG_NET_SCHED is not set
++# CONFIG_DCB is not set
++
++#
++# Network testing
++#
++# CONFIG_NET_PKTGEN is not set
++# CONFIG_HAMRADIO is not set
++# CONFIG_CAN is not set
++# CONFIG_IRDA is not set
++CONFIG_BT=y
++CONFIG_BT_L2CAP=y
++CONFIG_BT_SCO=y
++CONFIG_BT_RFCOMM=y
++CONFIG_BT_RFCOMM_TTY=y
++CONFIG_BT_BNEP=y
++CONFIG_BT_BNEP_MC_FILTER=y
++CONFIG_BT_BNEP_PROTO_FILTER=y
++CONFIG_BT_HIDP=y
++
++#
++# Bluetooth device drivers
++#
++# CONFIG_BT_HCIBTSDIO is not set
++CONFIG_BT_HCIUART=y
++CONFIG_BT_HCIUART_H4=y
++CONFIG_BT_HCIUART_BCSP=y
++# CONFIG_BT_HCIUART_LL is not set
++# CONFIG_BT_HCIBRF6150 is not set
++# CONFIG_BT_HCIH4P is not set
++# CONFIG_BT_HCIVHCI is not set
++# CONFIG_AF_RXRPC is not set
++# CONFIG_PHONET is not set
++CONFIG_WIRELESS=y
++CONFIG_CFG80211=y
++# CONFIG_CFG80211_REG_DEBUG is not set
++CONFIG_NL80211=y
++CONFIG_WIRELESS_OLD_REGULATORY=y
++CONFIG_WIRELESS_EXT=y
++CONFIG_WIRELESS_EXT_SYSFS=y
++CONFIG_LIB80211=y
++CONFIG_LIB80211_CRYPT_WEP=m
++CONFIG_LIB80211_CRYPT_CCMP=m
++CONFIG_LIB80211_CRYPT_TKIP=m
++# CONFIG_LIB80211_DEBUG is not set
++CONFIG_MAC80211=y
++
++#
++# Rate control algorithm selection
++#
++CONFIG_MAC80211_RC_PID=y
++CONFIG_MAC80211_RC_MINSTREL=y
++CONFIG_MAC80211_RC_DEFAULT_PID=y
++# CONFIG_MAC80211_RC_DEFAULT_MINSTREL is not set
++CONFIG_MAC80211_RC_DEFAULT="pid"
++# CONFIG_MAC80211_MESH is not set
++CONFIG_MAC80211_LEDS=y
++# CONFIG_MAC80211_DEBUGFS is not set
++# CONFIG_MAC80211_DEBUG_MENU is not set
++# CONFIG_WIMAX is not set
++# CONFIG_RFKILL is not set
++# CONFIG_NET_9P is not set
++
++#
++# Device Drivers
++#
++
++#
++# Generic Driver Options
++#
++CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
++CONFIG_STANDALONE=y
++CONFIG_PREVENT_FIRMWARE_BUILD=y
++CONFIG_FW_LOADER=y
++CONFIG_FIRMWARE_IN_KERNEL=y
++CONFIG_EXTRA_FIRMWARE=""
++# CONFIG_DEBUG_DRIVER is not set
++# CONFIG_DEBUG_DEVRES is not set
++# CONFIG_SYS_HYPERVISOR is not set
++# CONFIG_CONNECTOR is not set
++CONFIG_MTD=y
++# CONFIG_MTD_DEBUG is not set
++CONFIG_MTD_CONCAT=y
++CONFIG_MTD_PARTITIONS=y
++# CONFIG_MTD_TESTS is not set
++# CONFIG_MTD_REDBOOT_PARTS is not set
++# CONFIG_MTD_CMDLINE_PARTS is not set
++# CONFIG_MTD_AFS_PARTS is not set
++# CONFIG_MTD_AR7_PARTS is not set
++
++#
++# User Modules And Translation Layers
++#
++CONFIG_MTD_CHAR=y
++CONFIG_MTD_BLKDEVS=y
++CONFIG_MTD_BLOCK=y
++# CONFIG_FTL is not set
++# CONFIG_NFTL is not set
++# CONFIG_INFTL is not set
++# CONFIG_RFD_FTL is not set
++# CONFIG_SSFDC is not set
++# CONFIG_MTD_OOPS is not set
++
++#
++# RAM/ROM/Flash chip drivers
++#
++# CONFIG_MTD_CFI is not set
++# CONFIG_MTD_JEDECPROBE is not set
++CONFIG_MTD_MAP_BANK_WIDTH_1=y
++CONFIG_MTD_MAP_BANK_WIDTH_2=y
++CONFIG_MTD_MAP_BANK_WIDTH_4=y
++# CONFIG_MTD_MAP_BANK_WIDTH_8 is not set
++# CONFIG_MTD_MAP_BANK_WIDTH_16 is not set
++# CONFIG_MTD_MAP_BANK_WIDTH_32 is not set
++CONFIG_MTD_CFI_I1=y
++CONFIG_MTD_CFI_I2=y
++# CONFIG_MTD_CFI_I4 is not set
++# CONFIG_MTD_CFI_I8 is not set
++# CONFIG_MTD_RAM is not set
++# CONFIG_MTD_ROM is not set
++# CONFIG_MTD_ABSENT is not set
++
++#
++# Mapping drivers for chip access
++#
++# CONFIG_MTD_COMPLEX_MAPPINGS is not set
++# CONFIG_MTD_PLATRAM is not set
++
++#
++# Self-contained MTD device drivers
++#
++# CONFIG_MTD_DATAFLASH is not set
++# CONFIG_MTD_M25P80 is not set
++# CONFIG_MTD_SLRAM is not set
++# CONFIG_MTD_PHRAM is not set
++# CONFIG_MTD_MTDRAM is not set
++# CONFIG_MTD_BLOCK2MTD is not set
++
++#
++# Disk-On-Chip Device Drivers
++#
++# CONFIG_MTD_DOC2000 is not set
++# CONFIG_MTD_DOC2001 is not set
++# CONFIG_MTD_DOC2001PLUS is not set
++CONFIG_MTD_NAND=y
++# CONFIG_MTD_NAND_VERIFY_WRITE is not set
++# CONFIG_MTD_NAND_ECC_SMC is not set
++# CONFIG_MTD_NAND_MUSEUM_IDS is not set
++# CONFIG_MTD_NAND_GPIO is not set
++CONFIG_MTD_NAND_OMAP2=y
++CONFIG_MTD_NAND_IDS=y
++# CONFIG_MTD_NAND_DISKONCHIP is not set
++# CONFIG_MTD_NAND_NANDSIM is not set
++# CONFIG_MTD_NAND_PLATFORM is not set
++# CONFIG_MTD_ONENAND is not set
++
++#
++# LPDDR flash memory drivers
++#
++# CONFIG_MTD_LPDDR is not set
++
++#
++# UBI - Unsorted block images
++#
++# CONFIG_MTD_UBI is not set
++# CONFIG_PARPORT is not set
++CONFIG_BLK_DEV=y
++# CONFIG_BLK_DEV_COW_COMMON is not set
++CONFIG_BLK_DEV_LOOP=y
++CONFIG_BLK_DEV_CRYPTOLOOP=m
++# CONFIG_BLK_DEV_NBD is not set
++CONFIG_BLK_DEV_RAM=y
++CONFIG_BLK_DEV_RAM_COUNT=16
++CONFIG_BLK_DEV_RAM_SIZE=16384
++# CONFIG_BLK_DEV_XIP is not set
++CONFIG_CDROM_PKTCDVD=m
++CONFIG_CDROM_PKTCDVD_BUFFERS=8
++# CONFIG_CDROM_PKTCDVD_WCACHE is not set
++# CONFIG_ATA_OVER_ETH is not set
++CONFIG_MISC_DEVICES=y
++# CONFIG_ICS932S401 is not set
++# CONFIG_OMAP_STI is not set
++# CONFIG_ENCLOSURE_SERVICES is not set
++# CONFIG_C2PORT is not set
++
++#
++# EEPROM support
++#
++# CONFIG_EEPROM_AT24 is not set
++# CONFIG_EEPROM_AT25 is not set
++# CONFIG_EEPROM_LEGACY is not set
++CONFIG_EEPROM_93CX6=m
++CONFIG_HAVE_IDE=y
++# CONFIG_IDE is not set
++
++#
++# SCSI device support
++#
++CONFIG_RAID_ATTRS=m
++CONFIG_SCSI=y
++CONFIG_SCSI_DMA=y
++# CONFIG_SCSI_TGT is not set
++# CONFIG_SCSI_NETLINK is not set
++CONFIG_SCSI_PROC_FS=y
++
++#
++# SCSI support type (disk, tape, CD-ROM)
++#
++CONFIG_BLK_DEV_SD=y
++# CONFIG_CHR_DEV_ST is not set
++# CONFIG_CHR_DEV_OSST is not set
++# CONFIG_BLK_DEV_SR is not set
++CONFIG_CHR_DEV_SG=m
++# CONFIG_CHR_DEV_SCH is not set
++
++#
++# Some SCSI devices (e.g. CD jukebox) support multiple LUNs
++#
++CONFIG_SCSI_MULTI_LUN=y
++# CONFIG_SCSI_CONSTANTS is not set
++# CONFIG_SCSI_LOGGING is not set
++# CONFIG_SCSI_SCAN_ASYNC is not set
++CONFIG_SCSI_WAIT_SCAN=m
++
++#
++# SCSI Transports
++#
++# CONFIG_SCSI_SPI_ATTRS is not set
++# CONFIG_SCSI_FC_ATTRS is not set
++# CONFIG_SCSI_ISCSI_ATTRS is not set
++# CONFIG_SCSI_SAS_LIBSAS is not set
++# CONFIG_SCSI_SRP_ATTRS is not set
++CONFIG_SCSI_LOWLEVEL=y
++# CONFIG_ISCSI_TCP is not set
++# CONFIG_LIBFC is not set
++# CONFIG_SCSI_DEBUG is not set
++# CONFIG_SCSI_DH is not set
++# CONFIG_ATA is not set
++CONFIG_MD=y
++CONFIG_BLK_DEV_MD=m
++CONFIG_MD_LINEAR=m
++CONFIG_MD_RAID0=m
++CONFIG_MD_RAID1=m
++CONFIG_MD_RAID10=m
++CONFIG_MD_RAID456=m
++CONFIG_MD_RAID5_RESHAPE=y
++CONFIG_MD_MULTIPATH=m
++CONFIG_MD_FAULTY=m
++CONFIG_BLK_DEV_DM=m
++# CONFIG_DM_DEBUG is not set
++CONFIG_DM_CRYPT=m
++CONFIG_DM_SNAPSHOT=m
++CONFIG_DM_MIRROR=m
++CONFIG_DM_ZERO=m
++CONFIG_DM_MULTIPATH=m
++CONFIG_DM_DELAY=m
++# CONFIG_DM_UEVENT is not set
++CONFIG_NETDEVICES=y
++CONFIG_DUMMY=m
++# CONFIG_BONDING is not set
++# CONFIG_MACVLAN is not set
++# CONFIG_EQUALIZER is not set
++CONFIG_TUN=m
++# CONFIG_VETH is not set
++# CONFIG_NET_ETHERNET is not set
++# CONFIG_NETDEV_1000 is not set
++# CONFIG_NETDEV_10000 is not set
++
++#
++# Wireless LAN
++#
++# CONFIG_WLAN_PRE80211 is not set
++CONFIG_WLAN_80211=y
++CONFIG_LIBERTAS=y
++CONFIG_LIBERTAS_SDIO=y
++CONFIG_LIBERTAS_DEBUG=y
++# CONFIG_LIBERTAS_THINFIRM is not set
++# CONFIG_MAC80211_HWSIM is not set
++CONFIG_P54_COMMON=m
++# CONFIG_IWLWIFI_LEDS is not set
++CONFIG_HOSTAP=m
++CONFIG_HOSTAP_FIRMWARE=y
++CONFIG_HOSTAP_FIRMWARE_NVRAM=y
++# CONFIG_B43 is not set
++# CONFIG_B43LEGACY is not set
++# CONFIG_RT2X00 is not set
++
++#
++# Enable WiMAX (Networking options) to see the WiMAX drivers
++#
++# CONFIG_WAN is not set
++CONFIG_PPP=m
++# CONFIG_PPP_MULTILINK is not set
++# CONFIG_PPP_FILTER is not set
++CONFIG_PPP_ASYNC=m
++CONFIG_PPP_SYNC_TTY=m
++CONFIG_PPP_DEFLATE=m
++CONFIG_PPP_BSDCOMP=m
++CONFIG_PPP_MPPE=m
++CONFIG_PPPOE=m
++# CONFIG_PPPOL2TP is not set
++# CONFIG_SLIP is not set
++CONFIG_SLHC=m
++# CONFIG_NETCONSOLE is not set
++# CONFIG_NETPOLL is not set
++# CONFIG_NET_POLL_CONTROLLER is not set
++# CONFIG_ISDN is not set
++
++#
++# Input device support
++#
++CONFIG_INPUT=y
++# CONFIG_INPUT_FF_MEMLESS is not set
++# CONFIG_INPUT_POLLDEV is not set
++
++#
++# Userland interfaces
++#
++CONFIG_INPUT_MOUSEDEV=y
++CONFIG_INPUT_MOUSEDEV_PSAUX=y
++CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024
++CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768
++# CONFIG_INPUT_JOYDEV is not set
++CONFIG_INPUT_EVDEV=y
++# CONFIG_INPUT_EVBUG is not set
++
++#
++# Input Device Drivers
++#
++CONFIG_INPUT_KEYBOARD=y
++# CONFIG_KEYBOARD_ATKBD is not set
++# CONFIG_KEYBOARD_SUNKBD is not set
++# CONFIG_KEYBOARD_LKKBD is not set
++# CONFIG_KEYBOARD_XTKBD is not set
++# CONFIG_KEYBOARD_NEWTON is not set
++# CONFIG_KEYBOARD_STOWAWAY is not set
++# CONFIG_KEYBOARD_TWL4030 is not set
++# CONFIG_KEYBOARD_LM8323 is not set
++# CONFIG_KEYBOARD_GPIO is not set
++CONFIG_INPUT_MOUSE=y
++CONFIG_MOUSE_PS2=y
++CONFIG_MOUSE_PS2_ALPS=y
++CONFIG_MOUSE_PS2_LOGIPS2PP=y
++CONFIG_MOUSE_PS2_SYNAPTICS=y
++CONFIG_MOUSE_PS2_TRACKPOINT=y
++# CONFIG_MOUSE_PS2_ELANTECH is not set
++# CONFIG_MOUSE_PS2_TOUCHKIT is not set
++# CONFIG_MOUSE_SERIAL is not set
++# CONFIG_MOUSE_APPLETOUCH is not set
++# CONFIG_MOUSE_BCM5974 is not set
++# CONFIG_MOUSE_VSXXXAA is not set
++# CONFIG_MOUSE_GPIO is not set
++# CONFIG_INPUT_JOYSTICK is not set
++# CONFIG_INPUT_TABLET is not set
++# CONFIG_INPUT_TOUCHSCREEN is not set
++# CONFIG_INPUT_MISC is not set
++
++#
++# Hardware I/O ports
++#
++CONFIG_SERIO=y
++CONFIG_SERIO_SERPORT=y
++CONFIG_SERIO_LIBPS2=y
++# CONFIG_SERIO_RAW is not set
++# CONFIG_GAMEPORT is not set
++
++#
++# Character devices
++#
++CONFIG_VT=y
++CONFIG_CONSOLE_TRANSLATIONS=y
++CONFIG_VT_CONSOLE=y
++CONFIG_HW_CONSOLE=y
++CONFIG_VT_HW_CONSOLE_BINDING=y
++CONFIG_DEVKMEM=y
++# CONFIG_SERIAL_NONSTANDARD is not set
++
++#
++# Serial drivers
++#
++CONFIG_SERIAL_8250=y
++CONFIG_SERIAL_8250_CONSOLE=y
++CONFIG_SERIAL_8250_NR_UARTS=32
++CONFIG_SERIAL_8250_RUNTIME_UARTS=4
++CONFIG_SERIAL_8250_EXTENDED=y
++CONFIG_SERIAL_8250_MANY_PORTS=y
++CONFIG_SERIAL_8250_SHARE_IRQ=y
++CONFIG_SERIAL_8250_DETECT_IRQ=y
++CONFIG_SERIAL_8250_RSA=y
++
++#
++# Non-8250 serial port support
++#
++CONFIG_SERIAL_CORE=y
++CONFIG_SERIAL_CORE_CONSOLE=y
++CONFIG_UNIX98_PTYS=y
++# CONFIG_DEVPTS_MULTIPLE_INSTANCES is not set
++# CONFIG_LEGACY_PTYS is not set
++# CONFIG_IPMI_HANDLER is not set
++CONFIG_HW_RANDOM=y
++# CONFIG_R3964 is not set
++# CONFIG_RAW_DRIVER is not set
++# CONFIG_TCG_TPM is not set
++CONFIG_I2C=y
++CONFIG_I2C_BOARDINFO=y
++CONFIG_I2C_CHARDEV=y
++CONFIG_I2C_HELPER_AUTO=y
++
++#
++# I2C Hardware Bus support
++#
++
++#
++# I2C system bus drivers (mostly embedded / system-on-chip)
++#
++# CONFIG_I2C_GPIO is not set
++# CONFIG_I2C_OCORES is not set
++CONFIG_I2C_OMAP=y
++# CONFIG_I2C_SIMTEC is not set
++
++#
++# External I2C/SMBus adapter drivers
++#
++# CONFIG_I2C_PARPORT_LIGHT is not set
++# CONFIG_I2C_TAOS_EVM is not set
++
++#
++# Other I2C/SMBus bus drivers
++#
++# CONFIG_I2C_PCA_PLATFORM is not set
++# CONFIG_I2C_STUB is not set
++
++#
++# Miscellaneous I2C Chip support
++#
++# CONFIG_DS1682 is not set
++# CONFIG_SENSORS_PCF8574 is not set
++# CONFIG_PCF8575 is not set
++# CONFIG_SENSORS_PCA9539 is not set
++# CONFIG_SENSORS_PCF8591 is not set
++CONFIG_TWL4030_MADC=m
++CONFIG_TWL4030_POWEROFF=y
++# CONFIG_SENSORS_MAX6875 is not set
++# CONFIG_SENSORS_TSL2550 is not set
++# CONFIG_SENSORS_TSL2563 is not set
++# CONFIG_I2C_DEBUG_CORE is not set
++# CONFIG_I2C_DEBUG_ALGO is not set
++# CONFIG_I2C_DEBUG_BUS is not set
++# CONFIG_I2C_DEBUG_CHIP is not set
++CONFIG_SPI=y
++# CONFIG_SPI_DEBUG is not set
++CONFIG_SPI_MASTER=y
++
++#
++# SPI Master Controller Drivers
++#
++# CONFIG_SPI_BITBANG is not set
++# CONFIG_SPI_GPIO is not set
++CONFIG_SPI_OMAP24XX=y
++
++#
++# SPI Protocol Masters
++#
++# CONFIG_SPI_TSC210X is not set
++# CONFIG_SPI_TSC2301 is not set
++# CONFIG_SPI_SPIDEV is not set
++# CONFIG_SPI_TLE62X0 is not set
++CONFIG_ARCH_REQUIRE_GPIOLIB=y
++CONFIG_GPIOLIB=y
++CONFIG_DEBUG_GPIO=y
++CONFIG_GPIO_SYSFS=y
++
++#
++# Memory mapped GPIO expanders:
++#
++
++#
++# I2C GPIO expanders:
++#
++# CONFIG_GPIO_MAX732X is not set
++# CONFIG_GPIO_PCA953X is not set
++# CONFIG_GPIO_PCF857X is not set
++CONFIG_GPIO_TWL4030=y
++
++#
++# PCI GPIO expanders:
++#
++
++#
++# SPI GPIO expanders:
++#
++# CONFIG_GPIO_MAX7301 is not set
++# CONFIG_GPIO_MCP23S08 is not set
++# CONFIG_W1 is not set
++CONFIG_POWER_SUPPLY=m
++# CONFIG_POWER_SUPPLY_DEBUG is not set
++# CONFIG_PDA_POWER is not set
++# CONFIG_BATTERY_DS2760 is not set
++# CONFIG_TWL4030_BCI_BATTERY is not set
++# CONFIG_BATTERY_BQ27x00 is not set
++CONFIG_HWMON=y
++# CONFIG_HWMON_VID is not set
++# CONFIG_SENSORS_AD7414 is not set
++# CONFIG_SENSORS_AD7418 is not set
++# CONFIG_SENSORS_ADCXX is not set
++# CONFIG_SENSORS_ADM1021 is not set
++# CONFIG_SENSORS_ADM1025 is not set
++# CONFIG_SENSORS_ADM1026 is not set
++# CONFIG_SENSORS_ADM1029 is not set
++# CONFIG_SENSORS_ADM1031 is not set
++# CONFIG_SENSORS_ADM9240 is not set
++# CONFIG_SENSORS_ADT7462 is not set
++# CONFIG_SENSORS_ADT7470 is not set
++# CONFIG_SENSORS_ADT7473 is not set
++# CONFIG_SENSORS_ADT7475 is not set
++# CONFIG_SENSORS_ATXP1 is not set
++# CONFIG_SENSORS_DS1621 is not set
++# CONFIG_SENSORS_F71805F is not set
++# CONFIG_SENSORS_F71882FG is not set
++# CONFIG_SENSORS_F75375S is not set
++# CONFIG_SENSORS_GL518SM is not set
++# CONFIG_SENSORS_GL520SM is not set
++# CONFIG_SENSORS_IT87 is not set
++# CONFIG_SENSORS_LM63 is not set
++# CONFIG_SENSORS_LM70 is not set
++# CONFIG_SENSORS_LM75 is not set
++# CONFIG_SENSORS_LM77 is not set
++# CONFIG_SENSORS_LM78 is not set
++# CONFIG_SENSORS_LM80 is not set
++# CONFIG_SENSORS_LM83 is not set
++# CONFIG_SENSORS_LM85 is not set
++# CONFIG_SENSORS_LM87 is not set
++# CONFIG_SENSORS_LM90 is not set
++# CONFIG_SENSORS_LM92 is not set
++# CONFIG_SENSORS_LM93 is not set
++# CONFIG_SENSORS_LTC4245 is not set
++# CONFIG_SENSORS_MAX1111 is not set
++# CONFIG_SENSORS_MAX1619 is not set
++# CONFIG_SENSORS_MAX6650 is not set
++# CONFIG_SENSORS_PC87360 is not set
++# CONFIG_SENSORS_PC87427 is not set
++# CONFIG_SENSORS_DME1737 is not set
++# CONFIG_SENSORS_SMSC47M1 is not set
++# CONFIG_SENSORS_SMSC47M192 is not set
++# CONFIG_SENSORS_SMSC47B397 is not set
++# CONFIG_SENSORS_ADS7828 is not set
++# CONFIG_SENSORS_THMC50 is not set
++# CONFIG_SENSORS_VT1211 is not set
++# CONFIG_SENSORS_W83781D is not set
++# CONFIG_SENSORS_W83791D is not set
++# CONFIG_SENSORS_W83792D is not set
++# CONFIG_SENSORS_W83793 is not set
++# CONFIG_SENSORS_W83L785TS is not set
++# CONFIG_SENSORS_W83L786NG is not set
++# CONFIG_SENSORS_W83627HF is not set
++# CONFIG_SENSORS_W83627EHF is not set
++# CONFIG_SENSORS_TSC210X is not set
++CONFIG_SENSORS_OMAP34XX=y
++# CONFIG_HWMON_DEBUG_CHIP is not set
++# CONFIG_THERMAL is not set
++# CONFIG_THERMAL_HWMON is not set
++CONFIG_WATCHDOG=y
++CONFIG_WATCHDOG_NOWAYOUT=y
++
++#
++# Watchdog Device Drivers
++#
++# CONFIG_SOFT_WATCHDOG is not set
++CONFIG_OMAP_WATCHDOG=y
++CONFIG_SSB_POSSIBLE=y
++
++#
++# Sonics Silicon Backplane
++#
++# CONFIG_SSB is not set
++
++#
++# Multifunction device drivers
++#
++# CONFIG_MFD_CORE is not set
++# CONFIG_MFD_SM501 is not set
++# CONFIG_MFD_ASIC3 is not set
++# CONFIG_HTC_EGPIO is not set
++# CONFIG_HTC_PASIC3 is not set
++# CONFIG_TPS65010 is not set
++CONFIG_TWL4030_CORE=y
++# CONFIG_TWL4030_POWER is not set
++# CONFIG_MFD_TMIO is not set
++# CONFIG_MFD_T7L66XB is not set
++# CONFIG_MFD_TC6387XB is not set
++# CONFIG_MFD_TC6393XB is not set
++# CONFIG_PMIC_DA903X is not set
++# CONFIG_MFD_WM8400 is not set
++# CONFIG_MFD_WM8350_I2C is not set
++# CONFIG_MFD_PCF50633 is not set
++
++#
++# Multimedia devices
++#
++
++#
++# Multimedia core support
++#
++CONFIG_VIDEO_DEV=m
++CONFIG_VIDEO_V4L2_COMMON=m
++CONFIG_VIDEO_ALLOW_V4L1=y
++CONFIG_VIDEO_V4L1_COMPAT=y
++CONFIG_DVB_CORE=m
++CONFIG_VIDEO_MEDIA=m
++
++#
++# Multimedia drivers
++#
++CONFIG_MEDIA_ATTACH=y
++CONFIG_MEDIA_TUNER=m
++# CONFIG_MEDIA_TUNER_CUSTOMIZE is not set
++CONFIG_MEDIA_TUNER_SIMPLE=m
++CONFIG_MEDIA_TUNER_TDA8290=m
++CONFIG_MEDIA_TUNER_TDA9887=m
++CONFIG_MEDIA_TUNER_TEA5761=m
++CONFIG_MEDIA_TUNER_TEA5767=m
++CONFIG_MEDIA_TUNER_MT20XX=m
++CONFIG_MEDIA_TUNER_XC2028=m
++CONFIG_MEDIA_TUNER_XC5000=m
++CONFIG_VIDEO_V4L2=m
++CONFIG_VIDEO_V4L1=m
++CONFIG_VIDEO_CAPTURE_DRIVERS=y
++# CONFIG_VIDEO_ADV_DEBUG is not set
++# CONFIG_VIDEO_FIXED_MINOR_RANGES is not set
++CONFIG_VIDEO_HELPER_CHIPS_AUTO=y
++# CONFIG_VIDEO_VIVI is not set
++# CONFIG_VIDEO_CPIA is not set
++# CONFIG_VIDEO_SAA5246A is not set
++# CONFIG_VIDEO_SAA5249 is not set
++# CONFIG_SOC_CAMERA is not set
++CONFIG_RADIO_ADAPTERS=y
++# CONFIG_RADIO_TEA5764 is not set
++# CONFIG_DVB_DYNAMIC_MINORS is not set
++CONFIG_DVB_CAPTURE_DRIVERS=y
++# CONFIG_TTPCI_EEPROM is not set
++# CONFIG_DVB_B2C2_FLEXCOP is not set
++
++#
++# Supported DVB Frontends
++#
++
++#
++# Customise DVB Frontends
++#
++# CONFIG_DVB_FE_CUSTOMISE is not set
++
++#
++# Multistandard (satellite) frontends
++#
++# CONFIG_DVB_STB0899 is not set
++# CONFIG_DVB_STB6100 is not set
++
++#
++# DVB-S (satellite) frontends
++#
++CONFIG_DVB_CX24110=m
++CONFIG_DVB_CX24123=m
++CONFIG_DVB_MT312=m
++CONFIG_DVB_S5H1420=m
++# CONFIG_DVB_STV0288 is not set
++# CONFIG_DVB_STB6000 is not set
++CONFIG_DVB_STV0299=m
++CONFIG_DVB_TDA8083=m
++CONFIG_DVB_TDA10086=m
++# CONFIG_DVB_TDA8261 is not set
++CONFIG_DVB_VES1X93=m
++CONFIG_DVB_TUNER_ITD1000=m
++# CONFIG_DVB_TUNER_CX24113 is not set
++CONFIG_DVB_TDA826X=m
++CONFIG_DVB_TUA6100=m
++# CONFIG_DVB_CX24116 is not set
++# CONFIG_DVB_SI21XX is not set
++
++#
++# DVB-T (terrestrial) frontends
++#
++CONFIG_DVB_SP8870=m
++CONFIG_DVB_SP887X=m
++CONFIG_DVB_CX22700=m
++CONFIG_DVB_CX22702=m
++# CONFIG_DVB_DRX397XD is not set
++CONFIG_DVB_L64781=m
++CONFIG_DVB_TDA1004X=m
++CONFIG_DVB_NXT6000=m
++CONFIG_DVB_MT352=m
++CONFIG_DVB_ZL10353=m
++CONFIG_DVB_DIB3000MB=m
++CONFIG_DVB_DIB3000MC=m
++CONFIG_DVB_DIB7000M=m
++CONFIG_DVB_DIB7000P=m
++CONFIG_DVB_TDA10048=m
++
++#
++# DVB-C (cable) frontends
++#
++CONFIG_DVB_VES1820=m
++CONFIG_DVB_TDA10021=m
++CONFIG_DVB_TDA10023=m
++CONFIG_DVB_STV0297=m
++
++#
++# ATSC (North American/Korean Terrestrial/Cable DTV) frontends
++#
++CONFIG_DVB_NXT200X=m
++# CONFIG_DVB_OR51211 is not set
++# CONFIG_DVB_OR51132 is not set
++CONFIG_DVB_BCM3510=m
++CONFIG_DVB_LGDT330X=m
++# CONFIG_DVB_LGDT3304 is not set
++CONFIG_DVB_S5H1409=m
++CONFIG_DVB_AU8522=m
++CONFIG_DVB_S5H1411=m
++
++#
++# ISDB-T (terrestrial) frontends
++#
++# CONFIG_DVB_S921 is not set
++
++#
++# Digital terrestrial only tuners/PLL
++#
++CONFIG_DVB_PLL=m
++CONFIG_DVB_TUNER_DIB0070=m
++
++#
++# SEC control devices for DVB-S
++#
++CONFIG_DVB_LNBP21=m
++# CONFIG_DVB_ISL6405 is not set
++CONFIG_DVB_ISL6421=m
++# CONFIG_DVB_LGS8GL5 is not set
++
++#
++# Tools to develop new frontends
++#
++# CONFIG_DVB_DUMMY_FE is not set
++# CONFIG_DVB_AF9013 is not set
++# CONFIG_DAB is not set
++
++#
++# Graphics support
++#
++# CONFIG_VGASTATE is not set
++# CONFIG_VIDEO_OUTPUT_CONTROL is not set
++CONFIG_FB=y
++# CONFIG_FIRMWARE_EDID is not set
++# CONFIG_FB_DDC is not set
++# CONFIG_FB_BOOT_VESA_SUPPORT is not set
++CONFIG_FB_CFB_FILLRECT=m
++CONFIG_FB_CFB_COPYAREA=m
++CONFIG_FB_CFB_IMAGEBLIT=m
++# CONFIG_FB_CFB_REV_PIXELS_IN_BYTE is not set
++# CONFIG_FB_SYS_FILLRECT is not set
++# CONFIG_FB_SYS_COPYAREA is not set
++# CONFIG_FB_SYS_IMAGEBLIT is not set
++# CONFIG_FB_FOREIGN_ENDIAN is not set
++# CONFIG_FB_SYS_FOPS is not set
++# CONFIG_FB_SVGALIB is not set
++# CONFIG_FB_MACMODES is not set
++# CONFIG_FB_BACKLIGHT is not set
++# CONFIG_FB_MODE_HELPERS is not set
++# CONFIG_FB_TILEBLITTING is not set
++
++#
++# Frame buffer hardware drivers
++#
++# CONFIG_FB_S1D13XXX is not set
++# CONFIG_FB_VIRTUAL is not set
++# CONFIG_FB_METRONOME is not set
++# CONFIG_FB_MB862XX is not set
++# CONFIG_FB_OMAP_BOOTLOADER_INIT is not set
++CONFIG_OMAP2_DSS=m
++CONFIG_OMAP2_DSS_VRAM_SIZE=12
++CONFIG_OMAP2_DSS_DEBUG_SUPPORT=y
++# CONFIG_OMAP2_DSS_RFBI is not set
++CONFIG_OMAP2_DSS_VENC=y
++# CONFIG_OMAP2_DSS_SDI is not set
++# CONFIG_OMAP2_DSS_DSI is not set
++# CONFIG_OMAP2_DSS_FAKE_VSYNC is not set
++CONFIG_OMAP2_DSS_MIN_FCK_PER_PCK=0
++
++#
++# OMAP2/3 Display Device Drivers
++#
++CONFIG_PANEL_GENERIC=m
++CONFIG_PANEL_SAMSUNG_LTE430WQ_F0C=m
++# CONFIG_PANEL_SHARP_LS037V7DW01 is not set
++# CONFIG_PANEL_N800 is not set
++# CONFIG_CTRL_BLIZZARD is not set
++CONFIG_FB_OMAP2=m
++CONFIG_FB_OMAP2_DEBUG_SUPPORT=y
++# CONFIG_FB_OMAP2_FORCE_AUTO_UPDATE is not set
++CONFIG_FB_OMAP2_NUM_FBS=3
++# CONFIG_BACKLIGHT_LCD_SUPPORT is not set
++
++#
++# Display device support
++#
++CONFIG_DISPLAY_SUPPORT=y
++
++#
++# Display hardware drivers
++#
++
++#
++# Console display driver support
++#
++# CONFIG_VGA_CONSOLE is not set
++CONFIG_DUMMY_CONSOLE=y
++# CONFIG_FRAMEBUFFER_CONSOLE is not set
++# CONFIG_LOGO is not set
++CONFIG_SOUND=y
++CONFIG_SOUND_OSS_CORE=y
++CONFIG_SND=y
++CONFIG_SND_TIMER=y
++CONFIG_SND_PCM=y
++CONFIG_SND_SEQUENCER=m
++# CONFIG_SND_SEQ_DUMMY is not set
++CONFIG_SND_OSSEMUL=y
++CONFIG_SND_MIXER_OSS=y
++CONFIG_SND_PCM_OSS=y
++CONFIG_SND_PCM_OSS_PLUGINS=y
++CONFIG_SND_SEQUENCER_OSS=y
++# CONFIG_SND_HRTIMER is not set
++# CONFIG_SND_DYNAMIC_MINORS is not set
++CONFIG_SND_SUPPORT_OLD_API=y
++CONFIG_SND_VERBOSE_PROCFS=y
++CONFIG_SND_VERBOSE_PRINTK=y
++CONFIG_SND_DEBUG=y
++# CONFIG_SND_DEBUG_VERBOSE is not set
++# CONFIG_SND_PCM_XRUN_DEBUG is not set
++CONFIG_SND_DRIVERS=y
++# CONFIG_SND_DUMMY is not set
++# CONFIG_SND_VIRMIDI is not set
++# CONFIG_SND_MTPAV is not set
++# CONFIG_SND_SERIAL_U16550 is not set
++# CONFIG_SND_MPU401 is not set
++CONFIG_SND_ARM=y
++CONFIG_SND_SPI=y
++CONFIG_SND_SOC=y
++CONFIG_SND_OMAP_SOC=y
++CONFIG_SND_OMAP_SOC_MCBSP=y
++CONFIG_SND_OMAP_SOC_OVERO=y
++CONFIG_SND_SOC_I2C_AND_SPI=y
++# CONFIG_SND_SOC_ALL_CODECS is not set
++CONFIG_SND_SOC_TWL4030=y
++# CONFIG_SOUND_PRIME is not set
++CONFIG_HID_SUPPORT=y
++CONFIG_HID=y
++CONFIG_HID_DEBUG=y
++# CONFIG_HIDRAW is not set
++# CONFIG_HID_PID is not set
++
++#
++# Special HID drivers
++#
++CONFIG_HID_COMPAT=y
++# CONFIG_HID_APPLE is not set
++CONFIG_USB_SUPPORT=y
++CONFIG_USB_ARCH_HAS_HCD=y
++CONFIG_USB_ARCH_HAS_OHCI=y
++CONFIG_USB_ARCH_HAS_EHCI=y
++# CONFIG_USB is not set
++# CONFIG_USB_OTG_WHITELIST is not set
++# CONFIG_USB_OTG_BLACKLIST_HUB is not set
++CONFIG_USB_MUSB_HDRC=y
++CONFIG_USB_MUSB_SOC=y
++
++#
++# OMAP 343x high speed USB support
++#
++# CONFIG_USB_MUSB_HOST is not set
++CONFIG_USB_MUSB_PERIPHERAL=y
++# CONFIG_USB_MUSB_OTG is not set
++CONFIG_USB_GADGET_MUSB_HDRC=y
++# CONFIG_MUSB_PIO_ONLY is not set
++CONFIG_USB_INVENTRA_DMA=y
++# CONFIG_USB_TI_CPPI_DMA is not set
++# CONFIG_USB_MUSB_DEBUG is not set
++
++#
++# NOTE: USB_STORAGE depends on SCSI but BLK_DEV_SD may also be needed;
++#
++CONFIG_USB_GADGET=y
++# CONFIG_USB_GADGET_DEBUG is not set
++# CONFIG_USB_GADGET_DEBUG_FILES is not set
++# CONFIG_USB_GADGET_DEBUG_FS is not set
++CONFIG_USB_GADGET_VBUS_DRAW=2
++CONFIG_USB_GADGET_SELECTED=y
++# CONFIG_USB_GADGET_AT91 is not set
++# CONFIG_USB_GADGET_ATMEL_USBA is not set
++# CONFIG_USB_GADGET_FSL_USB2 is not set
++# CONFIG_USB_GADGET_LH7A40X is not set
++# CONFIG_USB_GADGET_OMAP is not set
++# CONFIG_USB_GADGET_PXA25X is not set
++# CONFIG_USB_GADGET_PXA27X is not set
++# CONFIG_USB_GADGET_S3C2410 is not set
++# CONFIG_USB_GADGET_IMX is not set
++# CONFIG_USB_GADGET_M66592 is not set
++# CONFIG_USB_GADGET_AMD5536UDC is not set
++# CONFIG_USB_GADGET_FSL_QE is not set
++# CONFIG_USB_GADGET_CI13XXX is not set
++# CONFIG_USB_GADGET_NET2280 is not set
++# CONFIG_USB_GADGET_GOKU is not set
++# CONFIG_USB_GADGET_DUMMY_HCD is not set
++CONFIG_USB_GADGET_DUALSPEED=y
++# CONFIG_USB_ZERO is not set
++CONFIG_USB_ETH=y
++CONFIG_USB_ETH_RNDIS=y
++# CONFIG_USB_GADGETFS is not set
++# CONFIG_USB_FILE_STORAGE is not set
++# CONFIG_USB_G_SERIAL is not set
++# CONFIG_USB_MIDI_GADGET is not set
++# CONFIG_USB_G_PRINTER is not set
++# CONFIG_USB_CDC_COMPOSITE is not set
++
++#
++# OTG and related infrastructure
++#
++CONFIG_USB_OTG_UTILS=y
++# CONFIG_USB_GPIO_VBUS is not set
++# CONFIG_ISP1301_OMAP is not set
++CONFIG_TWL4030_USB=y
++CONFIG_MMC=y
++# CONFIG_MMC_DEBUG is not set
++CONFIG_MMC_UNSAFE_RESUME=y
++
++#
++# MMC/SD/SDIO Card Drivers
++#
++CONFIG_MMC_BLOCK=y
++CONFIG_MMC_BLOCK_BOUNCE=y
++CONFIG_SDIO_UART=y
++# CONFIG_MMC_TEST is not set
++
++#
++# MMC/SD/SDIO Host Controller Drivers
++#
++# CONFIG_MMC_SDHCI is not set
++CONFIG_MMC_OMAP_HS=y
++# CONFIG_MMC_SPI is not set
++# CONFIG_MEMSTICK is not set
++# CONFIG_ACCESSIBILITY is not set
++CONFIG_NEW_LEDS=y
++CONFIG_LEDS_CLASS=y
++
++#
++# LED drivers
++#
++# CONFIG_LEDS_OMAP_DEBUG is not set
++# CONFIG_LEDS_OMAP is not set
++# CONFIG_LEDS_OMAP_PWM is not set
++# CONFIG_LEDS_PCA9532 is not set
++CONFIG_LEDS_GPIO=y
++# CONFIG_LEDS_LP5521 is not set
++# CONFIG_LEDS_PCA955X is not set
++
++#
++# LED Triggers
++#
++CONFIG_LEDS_TRIGGERS=y
++CONFIG_LEDS_TRIGGER_TIMER=y
++CONFIG_LEDS_TRIGGER_HEARTBEAT=y
++# CONFIG_LEDS_TRIGGER_BACKLIGHT is not set
++# CONFIG_LEDS_TRIGGER_DEFAULT_ON is not set
++CONFIG_RTC_LIB=y
++CONFIG_RTC_CLASS=y
++CONFIG_RTC_HCTOSYS=y
++CONFIG_RTC_HCTOSYS_DEVICE="rtc0"
++# CONFIG_RTC_DEBUG is not set
++
++#
++# RTC interfaces
++#
++CONFIG_RTC_INTF_SYSFS=y
++CONFIG_RTC_INTF_PROC=y
++CONFIG_RTC_INTF_DEV=y
++# CONFIG_RTC_INTF_DEV_UIE_EMUL is not set
++# CONFIG_RTC_DRV_TEST is not set
++
++#
++# I2C RTC drivers
++#
++# CONFIG_RTC_DRV_DS1307 is not set
++# CONFIG_RTC_DRV_DS1374 is not set
++# CONFIG_RTC_DRV_DS1672 is not set
++# CONFIG_RTC_DRV_MAX6900 is not set
++# CONFIG_RTC_DRV_RS5C372 is not set
++# CONFIG_RTC_DRV_ISL1208 is not set
++# CONFIG_RTC_DRV_X1205 is not set
++# CONFIG_RTC_DRV_PCF8563 is not set
++# CONFIG_RTC_DRV_PCF8583 is not set
++# CONFIG_RTC_DRV_M41T80 is not set
++CONFIG_RTC_DRV_TWL4030=y
++# CONFIG_RTC_DRV_S35390A is not set
++# CONFIG_RTC_DRV_FM3130 is not set
++# CONFIG_RTC_DRV_RX8581 is not set
++
++#
++# SPI RTC drivers
++#
++# CONFIG_RTC_DRV_M41T94 is not set
++# CONFIG_RTC_DRV_DS1305 is not set
++# CONFIG_RTC_DRV_DS1390 is not set
++# CONFIG_RTC_DRV_MAX6902 is not set
++# CONFIG_RTC_DRV_R9701 is not set
++# CONFIG_RTC_DRV_RS5C348 is not set
++# CONFIG_RTC_DRV_DS3234 is not set
++
++#
++# Platform RTC drivers
++#
++# CONFIG_RTC_DRV_CMOS is not set
++# CONFIG_RTC_DRV_DS1286 is not set
++# CONFIG_RTC_DRV_DS1511 is not set
++# CONFIG_RTC_DRV_DS1553 is not set
++# CONFIG_RTC_DRV_DS1742 is not set
++# CONFIG_RTC_DRV_STK17TA8 is not set
++# CONFIG_RTC_DRV_M48T86 is not set
++# CONFIG_RTC_DRV_M48T35 is not set
++# CONFIG_RTC_DRV_M48T59 is not set
++# CONFIG_RTC_DRV_BQ4802 is not set
++# CONFIG_RTC_DRV_V3020 is not set
++
++#
++# on-CPU RTC drivers
++#
++# CONFIG_DMADEVICES is not set
++CONFIG_REGULATOR=y
++# CONFIG_REGULATOR_DEBUG is not set
++# CONFIG_REGULATOR_FIXED_VOLTAGE is not set
++# CONFIG_REGULATOR_VIRTUAL_CONSUMER is not set
++# CONFIG_REGULATOR_BQ24022 is not set
++CONFIG_REGULATOR_TWL4030=y
++# CONFIG_UIO is not set
++# CONFIG_STAGING is not set
++
++#
++# CBUS support
++#
++# CONFIG_CBUS is not set
++
++#
++# File systems
++#
++CONFIG_EXT2_FS=y
++# CONFIG_EXT2_FS_XATTR is not set
++# CONFIG_EXT2_FS_XIP is not set
++CONFIG_EXT3_FS=y
++# CONFIG_EXT3_FS_XATTR is not set
++# CONFIG_EXT4_FS is not set
++CONFIG_JBD=y
++# CONFIG_JBD_DEBUG is not set
++# CONFIG_REISERFS_FS is not set
++# CONFIG_JFS_FS is not set
++CONFIG_FS_POSIX_ACL=y
++CONFIG_FILE_LOCKING=y
++CONFIG_XFS_FS=m
++# CONFIG_XFS_QUOTA is not set
++# CONFIG_XFS_POSIX_ACL is not set
++# CONFIG_XFS_RT is not set
++# CONFIG_XFS_DEBUG is not set
++# CONFIG_GFS2_FS is not set
++# CONFIG_OCFS2_FS is not set
++# CONFIG_BTRFS_FS is not set
++CONFIG_DNOTIFY=y
++CONFIG_INOTIFY=y
++CONFIG_INOTIFY_USER=y
++CONFIG_QUOTA=y
++# CONFIG_QUOTA_NETLINK_INTERFACE is not set
++CONFIG_PRINT_QUOTA_WARNING=y
++CONFIG_QUOTA_TREE=y
++# CONFIG_QFMT_V1 is not set
++CONFIG_QFMT_V2=y
++CONFIG_QUOTACTL=y
++# CONFIG_AUTOFS_FS is not set
++# CONFIG_AUTOFS4_FS is not set
++CONFIG_FUSE_FS=m
++
++#
++# CD-ROM/DVD Filesystems
++#
++CONFIG_ISO9660_FS=m
++CONFIG_JOLIET=y
++CONFIG_ZISOFS=y
++CONFIG_UDF_FS=m
++CONFIG_UDF_NLS=y
++
++#
++# DOS/FAT/NT Filesystems
++#
++CONFIG_FAT_FS=y
++CONFIG_MSDOS_FS=y
++CONFIG_VFAT_FS=y
++CONFIG_FAT_DEFAULT_CODEPAGE=437
++CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1"
++# CONFIG_NTFS_FS is not set
++
++#
++# Pseudo filesystems
++#
++CONFIG_PROC_FS=y
++CONFIG_PROC_SYSCTL=y
++CONFIG_PROC_PAGE_MONITOR=y
++CONFIG_SYSFS=y
++CONFIG_TMPFS=y
++# CONFIG_TMPFS_POSIX_ACL is not set
++# CONFIG_HUGETLB_PAGE is not set
++# CONFIG_CONFIGFS_FS is not set
++CONFIG_MISC_FILESYSTEMS=y
++# CONFIG_ADFS_FS is not set
++# CONFIG_AFFS_FS is not set
++# CONFIG_HFS_FS is not set
++# CONFIG_HFSPLUS_FS is not set
++# CONFIG_BEFS_FS is not set
++# CONFIG_BFS_FS is not set
++# CONFIG_EFS_FS is not set
++CONFIG_JFFS2_FS=y
++CONFIG_JFFS2_FS_DEBUG=0
++CONFIG_JFFS2_FS_WRITEBUFFER=y
++# CONFIG_JFFS2_FS_WBUF_VERIFY is not set
++CONFIG_JFFS2_SUMMARY=y
++CONFIG_JFFS2_FS_XATTR=y
++CONFIG_JFFS2_FS_POSIX_ACL=y
++CONFIG_JFFS2_FS_SECURITY=y
++CONFIG_JFFS2_COMPRESSION_OPTIONS=y
++CONFIG_JFFS2_ZLIB=y
++CONFIG_JFFS2_LZO=y
++CONFIG_JFFS2_RTIME=y
++CONFIG_JFFS2_RUBIN=y
++# CONFIG_JFFS2_CMODE_NONE is not set
++CONFIG_JFFS2_CMODE_PRIORITY=y
++# CONFIG_JFFS2_CMODE_SIZE is not set
++# CONFIG_JFFS2_CMODE_FAVOURLZO is not set
++# CONFIG_CRAMFS is not set
++# CONFIG_SQUASHFS is not set
++# CONFIG_VXFS_FS is not set
++# CONFIG_MINIX_FS is not set
++# CONFIG_OMFS_FS is not set
++# CONFIG_HPFS_FS is not set
++# CONFIG_QNX4FS_FS is not set
++# CONFIG_ROMFS_FS is not set
++# CONFIG_SYSV_FS is not set
++# CONFIG_UFS_FS is not set
++CONFIG_NETWORK_FILESYSTEMS=y
++CONFIG_NFS_FS=y
++CONFIG_NFS_V3=y
++# CONFIG_NFS_V3_ACL is not set
++CONFIG_NFS_V4=y
++CONFIG_ROOT_NFS=y
++# CONFIG_NFSD is not set
++CONFIG_LOCKD=y
++CONFIG_LOCKD_V4=y
++CONFIG_EXPORTFS=m
++CONFIG_NFS_COMMON=y
++CONFIG_SUNRPC=y
++CONFIG_SUNRPC_GSS=y
++# CONFIG_SUNRPC_REGISTER_V4 is not set
++CONFIG_RPCSEC_GSS_KRB5=y
++# CONFIG_RPCSEC_GSS_SPKM3 is not set
++# CONFIG_SMB_FS is not set
++# CONFIG_CIFS is not set
++# CONFIG_NCP_FS is not set
++# CONFIG_CODA_FS is not set
++# CONFIG_AFS_FS is not set
++
++#
++# Partition Types
++#
++CONFIG_PARTITION_ADVANCED=y
++# CONFIG_ACORN_PARTITION is not set
++# CONFIG_OSF_PARTITION is not set
++# CONFIG_AMIGA_PARTITION is not set
++# CONFIG_ATARI_PARTITION is not set
++# CONFIG_MAC_PARTITION is not set
++CONFIG_MSDOS_PARTITION=y
++# CONFIG_BSD_DISKLABEL is not set
++# CONFIG_MINIX_SUBPARTITION is not set
++# CONFIG_SOLARIS_X86_PARTITION is not set
++# CONFIG_UNIXWARE_DISKLABEL is not set
++# CONFIG_LDM_PARTITION is not set
++# CONFIG_SGI_PARTITION is not set
++# CONFIG_ULTRIX_PARTITION is not set
++# CONFIG_SUN_PARTITION is not set
++# CONFIG_KARMA_PARTITION is not set
++# CONFIG_EFI_PARTITION is not set
++# CONFIG_SYSV68_PARTITION is not set
++CONFIG_NLS=y
++CONFIG_NLS_DEFAULT="iso8859-1"
++CONFIG_NLS_CODEPAGE_437=y
++# CONFIG_NLS_CODEPAGE_737 is not set
++# CONFIG_NLS_CODEPAGE_775 is not set
++# CONFIG_NLS_CODEPAGE_850 is not set
++# CONFIG_NLS_CODEPAGE_852 is not set
++# CONFIG_NLS_CODEPAGE_855 is not set
++# CONFIG_NLS_CODEPAGE_857 is not set
++# CONFIG_NLS_CODEPAGE_860 is not set
++# CONFIG_NLS_CODEPAGE_861 is not set
++# CONFIG_NLS_CODEPAGE_862 is not set
++# CONFIG_NLS_CODEPAGE_863 is not set
++# CONFIG_NLS_CODEPAGE_864 is not set
++# CONFIG_NLS_CODEPAGE_865 is not set
++# CONFIG_NLS_CODEPAGE_866 is not set
++# CONFIG_NLS_CODEPAGE_869 is not set
++# CONFIG_NLS_CODEPAGE_936 is not set
++# CONFIG_NLS_CODEPAGE_950 is not set
++# CONFIG_NLS_CODEPAGE_932 is not set
++# CONFIG_NLS_CODEPAGE_949 is not set
++# CONFIG_NLS_CODEPAGE_874 is not set
++# CONFIG_NLS_ISO8859_8 is not set
++# CONFIG_NLS_CODEPAGE_1250 is not set
++# CONFIG_NLS_CODEPAGE_1251 is not set
++# CONFIG_NLS_ASCII is not set
++CONFIG_NLS_ISO8859_1=y
++# CONFIG_NLS_ISO8859_2 is not set
++# CONFIG_NLS_ISO8859_3 is not set
++# CONFIG_NLS_ISO8859_4 is not set
++# CONFIG_NLS_ISO8859_5 is not set
++# CONFIG_NLS_ISO8859_6 is not set
++# CONFIG_NLS_ISO8859_7 is not set
++# CONFIG_NLS_ISO8859_9 is not set
++# CONFIG_NLS_ISO8859_13 is not set
++# CONFIG_NLS_ISO8859_14 is not set
++# CONFIG_NLS_ISO8859_15 is not set
++# CONFIG_NLS_KOI8_R is not set
++# CONFIG_NLS_KOI8_U is not set
++# CONFIG_NLS_UTF8 is not set
++# CONFIG_DLM is not set
++
++#
++# Kernel hacking
++#
++# CONFIG_PRINTK_TIME is not set
++CONFIG_ENABLE_WARN_DEPRECATED=y
++CONFIG_ENABLE_MUST_CHECK=y
++CONFIG_FRAME_WARN=1024
++CONFIG_MAGIC_SYSRQ=y
++# CONFIG_UNUSED_SYMBOLS is not set
++CONFIG_DEBUG_FS=y
++# CONFIG_HEADERS_CHECK is not set
++CONFIG_DEBUG_KERNEL=y
++# CONFIG_DEBUG_SHIRQ is not set
++CONFIG_DETECT_SOFTLOCKUP=y
++# CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC is not set
++CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC_VALUE=0
++CONFIG_SCHED_DEBUG=y
++CONFIG_SCHEDSTATS=y
++CONFIG_TIMER_STATS=y
++# CONFIG_DEBUG_OBJECTS is not set
++# CONFIG_SLUB_DEBUG_ON is not set
++# CONFIG_SLUB_STATS is not set
++# CONFIG_DEBUG_RT_MUTEXES is not set
++# CONFIG_RT_MUTEX_TESTER is not set
++# CONFIG_DEBUG_SPINLOCK is not set
++CONFIG_DEBUG_MUTEXES=y
++# CONFIG_DEBUG_LOCK_ALLOC is not set
++# CONFIG_PROVE_LOCKING is not set
++# CONFIG_LOCK_STAT is not set
++# CONFIG_DEBUG_SPINLOCK_SLEEP is not set
++# CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set
++CONFIG_STACKTRACE=y
++# CONFIG_DEBUG_KOBJECT is not set
++CONFIG_DEBUG_BUGVERBOSE=y
++# CONFIG_DEBUG_INFO is not set
++# CONFIG_DEBUG_VM is not set
++# CONFIG_DEBUG_WRITECOUNT is not set
++# CONFIG_DEBUG_MEMORY_INIT is not set
++# CONFIG_DEBUG_LIST is not set
++# CONFIG_DEBUG_SG is not set
++# CONFIG_DEBUG_NOTIFIERS is not set
++CONFIG_FRAME_POINTER=y
++# CONFIG_BOOT_PRINTK_DELAY is not set
++# CONFIG_RCU_TORTURE_TEST is not set
++# CONFIG_RCU_CPU_STALL_DETECTOR is not set
++# CONFIG_BACKTRACE_SELF_TEST is not set
++# CONFIG_DEBUG_BLOCK_EXT_DEVT is not set
++# CONFIG_FAULT_INJECTION is not set
++# CONFIG_LATENCYTOP is not set
++CONFIG_NOP_TRACER=y
++CONFIG_HAVE_FUNCTION_TRACER=y
++CONFIG_RING_BUFFER=y
++CONFIG_TRACING=y
++
++#
++# Tracers
++#
++# CONFIG_FUNCTION_TRACER is not set
++# CONFIG_IRQSOFF_TRACER is not set
++# CONFIG_SCHED_TRACER is not set
++# CONFIG_CONTEXT_SWITCH_TRACER is not set
++# CONFIG_BOOT_TRACER is not set
++# CONFIG_TRACE_BRANCH_PROFILING is not set
++# CONFIG_STACK_TRACER is not set
++# CONFIG_FTRACE_STARTUP_TEST is not set
++# CONFIG_DYNAMIC_PRINTK_DEBUG is not set
++# CONFIG_SAMPLES is not set
++CONFIG_HAVE_ARCH_KGDB=y
++# CONFIG_KGDB is not set
++CONFIG_DEBUG_USER=y
++CONFIG_DEBUG_ERRORS=y
++# CONFIG_DEBUG_STACK_USAGE is not set
++# CONFIG_DEBUG_LL is not set
++
++#
++# Security options
++#
++# CONFIG_KEYS is not set
++# CONFIG_SECURITY is not set
++# CONFIG_SECURITYFS is not set
++# CONFIG_SECURITY_FILE_CAPABILITIES is not set
++CONFIG_XOR_BLOCKS=m
++CONFIG_ASYNC_CORE=m
++CONFIG_ASYNC_MEMCPY=m
++CONFIG_ASYNC_XOR=m
++CONFIG_CRYPTO=y
++
++#
++# Crypto core or helper
++#
++# CONFIG_CRYPTO_FIPS is not set
++CONFIG_CRYPTO_ALGAPI=y
++CONFIG_CRYPTO_ALGAPI2=y
++CONFIG_CRYPTO_AEAD2=y
++CONFIG_CRYPTO_BLKCIPHER=y
++CONFIG_CRYPTO_BLKCIPHER2=y
++CONFIG_CRYPTO_HASH=y
++CONFIG_CRYPTO_HASH2=y
++CONFIG_CRYPTO_RNG2=y
++CONFIG_CRYPTO_MANAGER=y
++CONFIG_CRYPTO_MANAGER2=y
++CONFIG_CRYPTO_GF128MUL=m
++CONFIG_CRYPTO_NULL=m
++CONFIG_CRYPTO_CRYPTD=m
++# CONFIG_CRYPTO_AUTHENC is not set
++CONFIG_CRYPTO_TEST=m
++
++#
++# Authenticated Encryption with Associated Data
++#
++# CONFIG_CRYPTO_CCM is not set
++# CONFIG_CRYPTO_GCM is not set
++# CONFIG_CRYPTO_SEQIV is not set
++
++#
++# Block modes
++#
++CONFIG_CRYPTO_CBC=y
++# CONFIG_CRYPTO_CTR is not set
++# CONFIG_CRYPTO_CTS is not set
++CONFIG_CRYPTO_ECB=y
++CONFIG_CRYPTO_LRW=m
++CONFIG_CRYPTO_PCBC=m
++# CONFIG_CRYPTO_XTS is not set
++
++#
++# Hash modes
++#
++CONFIG_CRYPTO_HMAC=m
++CONFIG_CRYPTO_XCBC=m
++
++#
++# Digest
++#
++CONFIG_CRYPTO_CRC32C=y
++CONFIG_CRYPTO_MD4=m
++CONFIG_CRYPTO_MD5=y
++CONFIG_CRYPTO_MICHAEL_MIC=y
++# CONFIG_CRYPTO_RMD128 is not set
++# CONFIG_CRYPTO_RMD160 is not set
++# CONFIG_CRYPTO_RMD256 is not set
++# CONFIG_CRYPTO_RMD320 is not set
++CONFIG_CRYPTO_SHA1=m
++CONFIG_CRYPTO_SHA256=m
++CONFIG_CRYPTO_SHA512=m
++CONFIG_CRYPTO_TGR192=m
++CONFIG_CRYPTO_WP512=m
++
++#
++# Ciphers
++#
++CONFIG_CRYPTO_AES=y
++CONFIG_CRYPTO_ANUBIS=m
++CONFIG_CRYPTO_ARC4=y
++CONFIG_CRYPTO_BLOWFISH=m
++CONFIG_CRYPTO_CAMELLIA=m
++CONFIG_CRYPTO_CAST5=m
++CONFIG_CRYPTO_CAST6=m
++CONFIG_CRYPTO_DES=y
++CONFIG_CRYPTO_FCRYPT=m
++CONFIG_CRYPTO_KHAZAD=m
++# CONFIG_CRYPTO_SALSA20 is not set
++# CONFIG_CRYPTO_SEED is not set
++CONFIG_CRYPTO_SERPENT=m
++CONFIG_CRYPTO_TEA=m
++CONFIG_CRYPTO_TWOFISH=m
++CONFIG_CRYPTO_TWOFISH_COMMON=m
++
++#
++# Compression
++#
++CONFIG_CRYPTO_DEFLATE=m
++# CONFIG_CRYPTO_LZO is not set
++
++#
++# Random Number Generation
++#
++# CONFIG_CRYPTO_ANSI_CPRNG is not set
++CONFIG_CRYPTO_HW=y
++
++#
++# Library routines
++#
++CONFIG_BITREVERSE=y
++CONFIG_GENERIC_FIND_LAST_BIT=y
++CONFIG_CRC_CCITT=y
++CONFIG_CRC16=m
++CONFIG_CRC_T10DIF=y
++CONFIG_CRC_ITU_T=y
++CONFIG_CRC32=y
++CONFIG_CRC7=y
++CONFIG_LIBCRC32C=y
++CONFIG_ZLIB_INFLATE=y
++CONFIG_ZLIB_DEFLATE=y
++CONFIG_LZO_COMPRESS=y
++CONFIG_LZO_DECOMPRESS=y
++CONFIG_PLIST=y
++CONFIG_HAS_IOMEM=y
++CONFIG_HAS_IOPORT=y
++CONFIG_HAS_DMA=y
+diff --git a/arch/arm/mach-omap2/board-3430sdp.c b/arch/arm/mach-omap2/board-3430sdp.c
+index 0a1099e..3c664a9 100644
+--- a/arch/arm/mach-omap2/board-3430sdp.c
++++ b/arch/arm/mach-omap2/board-3430sdp.c
+@@ -242,6 +243,35 @@ static struct spi_board_info sdp3430_spi_board_info[] __initdata = {
+ },
+ };
+
++
++#define SDP2430_LCD_PANEL_BACKLIGHT_GPIO 91
++#define SDP2430_LCD_PANEL_ENABLE_GPIO 154
++#if 0
++#define SDP3430_LCD_PANEL_BACKLIGHT_GPIO 24
++#define SDP3430_LCD_PANEL_ENABLE_GPIO 28
++#else
++#define SDP3430_LCD_PANEL_BACKLIGHT_GPIO 8
++#define SDP3430_LCD_PANEL_ENABLE_GPIO 5
++#endif
++
++#define PM_RECEIVER TWL4030_MODULE_PM_RECEIVER
++#define ENABLE_VAUX2_DEDICATED 0x09
++#define ENABLE_VAUX2_DEV_GRP 0x20
++#define ENABLE_VAUX3_DEDICATED 0x03
++#define ENABLE_VAUX3_DEV_GRP 0x20
++
++#define ENABLE_VPLL2_DEDICATED 0x05
++#define ENABLE_VPLL2_DEV_GRP 0xE0
++#define TWL4030_VPLL2_DEV_GRP 0x33
++#define TWL4030_VPLL2_DEDICATED 0x36
++
++#define t2_out(c, r, v) twl4030_i2c_write_u8(c, r, v)
++
++static unsigned backlight_gpio;
++static unsigned enable_gpio;
++static int lcd_enabled;
++static int dvi_enabled;
++
+ static struct platform_device sdp3430_lcd_device = {
+ .name = "sdp2430_lcd",
+ .id = -1,
+@@ -257,9 +287,198 @@ static struct regulator_consumer_supply sdp3430_vdvi_supply = {
+ .dev = &sdp3430_lcd_device.dev,
+ };
+
++static void enable_vpll2(int enable)
++{
++ u8 ded_val, grp_val;
++
++ if (enable) {
++ ded_val = ENABLE_VPLL2_DEDICATED;
++ grp_val = ENABLE_VPLL2_DEV_GRP;
++ } else {
++ ded_val = 0;
++ grp_val = 0;
++ }
++
++ twl4030_i2c_write_u8(TWL4030_MODULE_PM_RECEIVER,
++ ded_val, TWL4030_VPLL2_DEDICATED);
++ twl4030_i2c_write_u8(TWL4030_MODULE_PM_RECEIVER,
++ grp_val, TWL4030_VPLL2_DEV_GRP);
++}
++
++static int sdp3430_dsi_power_up(void)
++{
++ if (omap_rev() > OMAP3430_REV_ES1_0)
++ enable_vpll2(1);
++ return 0;
++}
++
++static void sdp3430_dsi_power_down(void)
++{
++ if (omap_rev() > OMAP3430_REV_ES1_0)
++ enable_vpll2(0);
++}
++
++static void __init sdp3430_display_init(void)
++{
++ int r;
++
++ enable_gpio = SDP3430_LCD_PANEL_ENABLE_GPIO;
++ backlight_gpio = SDP3430_LCD_PANEL_BACKLIGHT_GPIO;
++
++ r = gpio_request(enable_gpio, "LCD reset");
++ if (r) {
++ printk(KERN_ERR "failed to get LCD reset GPIO\n");
++ goto err0;
++ }
++
++ r = gpio_request(backlight_gpio, "LCD Backlight");
++ if (r) {
++ printk(KERN_ERR "failed to get LCD backlight GPIO\n");
++ goto err1;
++ }
++
++ gpio_direction_output(enable_gpio, 0);
++ gpio_direction_output(backlight_gpio, 0);
++
++ return;
++err1:
++ gpio_free(enable_gpio);
++err0:
++ return;
++}
++
++static int sdp3430_panel_enable_lcd(struct omap_display *display)
++{
++ u8 ded_val, ded_reg;
++ u8 grp_val, grp_reg;
++
++ if (dvi_enabled) {
++ printk(KERN_ERR "cannot enable LCD, DVI is enabled\n");
++ return -EINVAL;
++ }
++
++ ded_reg = TWL4030_VAUX3_DEDICATED;
++ ded_val = ENABLE_VAUX3_DEDICATED;
++ grp_reg = TWL4030_VAUX3_DEV_GRP;
++ grp_val = ENABLE_VAUX3_DEV_GRP;
++
++ gpio_direction_output(enable_gpio, 1);
++ gpio_direction_output(backlight_gpio, 1);
++
++ if (0 != t2_out(PM_RECEIVER, ded_val, ded_reg))
++ return -EIO;
++ if (0 != t2_out(PM_RECEIVER, grp_val, grp_reg))
++ return -EIO;
++
++ sdp3430_dsi_power_up();
++
++ lcd_enabled = 1;
++
++ return 0;
++}
++
++static void sdp3430_panel_disable_lcd(struct omap_display *display)
++{
++ lcd_enabled = 0;
++
++ sdp3430_dsi_power_down();
++
++ gpio_direction_output(enable_gpio, 0);
++ gpio_direction_output(backlight_gpio, 0);
++}
++
++static struct omap_dss_display_config sdp3430_display_data = {
++ .type = OMAP_DISPLAY_TYPE_DPI,
++ .name = "lcd",
++ .panel_name = "sharp-ls037v7dw01",
++ .u.dpi.data_lines = 16,
++ .panel_enable = sdp3430_panel_enable_lcd,
++ .panel_disable = sdp3430_panel_disable_lcd,
++};
++
++static int sdp3430_panel_enable_dvi(struct omap_display *display)
++{
++ if (lcd_enabled) {
++ printk(KERN_ERR "cannot enable DVI, LCD is enabled\n");
++ return -EINVAL;
++ }
++
++ sdp3430_dsi_power_up();
++
++ dvi_enabled = 1;
++
++ return 0;
++}
++
++static void sdp3430_panel_disable_dvi(struct omap_display *display)
++{
++ sdp3430_dsi_power_down();
++
++ dvi_enabled = 0;
++}
++
++
++static struct omap_dss_display_config sdp3430_display_data_dvi = {
++ .type = OMAP_DISPLAY_TYPE_DPI,
++ .name = "dvi",
++ .panel_name = "panel-generic",
++ .u.dpi.data_lines = 24,
++ .panel_enable = sdp3430_panel_enable_dvi,
++ .panel_disable = sdp3430_panel_disable_dvi,
++};
++
++static int sdp3430_panel_enable_tv(struct omap_display *display)
++{
++#define ENABLE_VDAC_DEDICATED 0x03
++#define ENABLE_VDAC_DEV_GRP 0x20
++
++ twl4030_i2c_write_u8(TWL4030_MODULE_PM_RECEIVER,
++ ENABLE_VDAC_DEDICATED,
++ TWL4030_VDAC_DEDICATED);
++ twl4030_i2c_write_u8(TWL4030_MODULE_PM_RECEIVER,
++ ENABLE_VDAC_DEV_GRP, TWL4030_VDAC_DEV_GRP);
++
++ return 0;
++}
++
++static void sdp3430_panel_disable_tv(struct omap_display *display)
++{
++ twl4030_i2c_write_u8(TWL4030_MODULE_PM_RECEIVER, 0x00,
++ TWL4030_VDAC_DEDICATED);
++ twl4030_i2c_write_u8(TWL4030_MODULE_PM_RECEIVER, 0x00,
++ TWL4030_VDAC_DEV_GRP);
++}
++
++static struct omap_dss_display_config sdp3430_display_data_tv = {
++ .type = OMAP_DISPLAY_TYPE_VENC,
++ .name = "tv",
++ .u.venc.type = OMAP_DSS_VENC_TYPE_SVIDEO,
++ .panel_enable = sdp3430_panel_enable_tv,
++ .panel_disable = sdp3430_panel_disable_tv,
++};
++
++static struct omap_dss_board_info sdp3430_dss_data = {
++ .dsi_power_up = sdp3430_dsi_power_up,
++ .dsi_power_down = sdp3430_dsi_power_down,
++ .num_displays = 3,
++ .displays = {
++ &sdp3430_display_data,
++ &sdp3430_display_data_dvi,
++ &sdp3430_display_data_tv,
++ }
++};
++
++static struct platform_device sdp3430_dss_device = {
++ .name = "omapdss",
++ .id = -1,
++ .dev = {
++ .platform_data = &sdp3430_dss_data,
++ },
++};
++
+ static struct platform_device *sdp3430_devices[] __initdata = {
+ &sdp3430_smc91x_device,
+- &sdp3430_lcd_device,
++ &sdp3430_dss_device,
+ };
+
+ static inline void __init sdp3430_init_smc91x(void)
+@@ -306,13 +525,8 @@ static struct omap_uart_config sdp3430_uart_config __initdata = {
+ .enabled_uarts = ((1 << 0) | (1 << 1) | (1 << 2)),
+ };
+
+-static struct omap_lcd_config sdp3430_lcd_config __initdata = {
+- .ctrl_name = "internal",
+-};
+-
+ static struct omap_board_config_kernel sdp3430_config[] __initdata = {
+ { OMAP_TAG_UART, &sdp3430_uart_config },
+- { OMAP_TAG_LCD, &sdp3430_lcd_config },
+ };
+
+ static int sdp3430_batt_table[] = {
+@@ -681,6 +895,7 @@ static void __init omap_3430sdp_init(void)
+ omap_serial_init();
+ usb_musb_init();
+ usb_ehci_init();
++ sdp3430_display_init();
+ }
+
+ static void __init omap_3430sdp_map_io(void)
+diff --git a/arch/arm/mach-omap2/board-omap3beagle.c b/arch/arm/mach-omap2/board-omap3beagle.c
+index 346351e..b67e7a5 100644
+--- a/arch/arm/mach-omap2/board-omap3beagle.c
++++ b/arch/arm/mach-omap2/board-omap3beagle.c
+@@ -30,6 +30,7 @@
+
+ #include <linux/regulator/machine.h>
+ #include <linux/i2c/twl4030.h>
++#include <linux/omapfb.h>
+
+ #include <mach/hardware.h>
+ #include <asm/mach-types.h>
+@@ -312,10 +314,6 @@ static void __init omap3_beagle_init_irq(void)
+ omap_gpio_init();
+ }
+
+-static struct omap_lcd_config omap3_beagle_lcd_config __initdata = {
+- .ctrl_name = "internal",
+-};
+-
+ static struct gpio_led gpio_leds[] = {
+ {
+ .name = "beagleboard::usr0",
+@@ -369,13 +367,94 @@ static struct platform_device keys_gpio = {
+ },
+ };
+
++/* DSS */
++
++static int beagle_enable_dvi(struct omap_display *display)
++{
++ if (display->hw_config.panel_reset_gpio != -1)
++ gpio_direction_output(display->hw_config.panel_reset_gpio, 1);
++
++ return 0;
++}
++
++static void beagle_disable_dvi(struct omap_display *display)
++{
++ if (display->hw_config.panel_reset_gpio != -1)
++ gpio_direction_output(display->hw_config.panel_reset_gpio, 0);
++}
++
++static struct omap_dss_display_config beagle_display_data_dvi = {
++ .type = OMAP_DISPLAY_TYPE_DPI,
++ .name = "dvi",
++ .panel_name = "panel-generic",
++ .u.dpi.data_lines = 24,
++ .panel_reset_gpio = 170,
++ .panel_enable = beagle_enable_dvi,
++ .panel_disable = beagle_disable_dvi,
++};
++
++
++static int beagle_panel_enable_tv(struct omap_display *display)
++{
++#define ENABLE_VDAC_DEDICATED 0x03
++#define ENABLE_VDAC_DEV_GRP 0x20
++
++ twl4030_i2c_write_u8(TWL4030_MODULE_PM_RECEIVER,
++ ENABLE_VDAC_DEDICATED,
++ TWL4030_VDAC_DEDICATED);
++ twl4030_i2c_write_u8(TWL4030_MODULE_PM_RECEIVER,
++ ENABLE_VDAC_DEV_GRP, TWL4030_VDAC_DEV_GRP);
++
++ return 0;
++}
++
++static void beagle_panel_disable_tv(struct omap_display *display)
++{
++ twl4030_i2c_write_u8(TWL4030_MODULE_PM_RECEIVER, 0x00,
++ TWL4030_VDAC_DEDICATED);
++ twl4030_i2c_write_u8(TWL4030_MODULE_PM_RECEIVER, 0x00,
++ TWL4030_VDAC_DEV_GRP);
++}
++
++static struct omap_dss_display_config beagle_display_data_tv = {
++ .type = OMAP_DISPLAY_TYPE_VENC,
++ .name = "tv",
++ .u.venc.type = OMAP_DSS_VENC_TYPE_SVIDEO,
++ .panel_enable = beagle_panel_enable_tv,
++ .panel_disable = beagle_panel_disable_tv,
++};
++
++static struct omap_dss_board_info beagle_dss_data = {
++ .num_displays = 2,
++ .displays = {
++ &beagle_display_data_dvi,
++ &beagle_display_data_tv,
++ }
++};
++
++static struct platform_device beagle_dss_device = {
++ .name = "omapdss",
++ .id = -1,
++ .dev = {
++ .platform_data = &beagle_dss_data,
++ },
++};
++
++static void __init beagle_display_init(void)
++{
++ int r;
++
++ r = gpio_request(beagle_display_data_dvi.panel_reset_gpio, "DVI reset");
++ if (r < 0)
++ printk(KERN_ERR "Unable to get DVI reset GPIO\n");
++}
++
+ static struct omap_board_config_kernel omap3_beagle_config[] __initdata = {
+ { OMAP_TAG_UART, &omap3_beagle_uart_config },
+- { OMAP_TAG_LCD, &omap3_beagle_lcd_config },
+ };
+
+ static struct platform_device *omap3_beagle_devices[] __initdata = {
+- &omap3_beagle_lcd_device,
++ &beagle_dss_device,
+ &leds_gpio,
+ &keys_gpio,
+ };
+@@ -428,13 +507,11 @@ static void __init omap3_beagle_init(void)
+ omap_serial_init();
+
+ omap_cfg_reg(J25_34XX_GPIO170);
+- gpio_request(170, "DVI_nPD");
+- /* REVISIT leave DVI powered down until it's needed ... */
+- gpio_direction_output(170, true);
+
+ usb_musb_init();
+ usb_ehci_init();
+ omap3beagle_flash_init();
++ beagle_display_init();
+ }
+
+ static void __init omap3_beagle_map_io(void)
+diff --git a/arch/arm/mach-omap2/board-omap3evm.c b/arch/arm/mach-omap2/board-omap3evm.c
+index 024d7c4..6f5a866 100644
+--- a/arch/arm/mach-omap2/board-omap3evm.c
++++ b/arch/arm/mach-omap2/board-omap3evm.c
+@@ -216,13 +217,215 @@ static int __init omap3_evm_i2c_init(void)
+ return 0;
+ }
+
+-static struct platform_device omap3_evm_lcd_device = {
+- .name = "omap3evm_lcd",
+- .id = -1,
++#define LCD_PANEL_LR 2
++#define LCD_PANEL_UD 3
++#define LCD_PANEL_INI 152
++#define LCD_PANEL_ENABLE_GPIO 153
++#define LCD_PANEL_QVGA 154
++#define LCD_PANEL_RESB 155
++
++#define ENABLE_VDAC_DEDICATED 0x03
++#define ENABLE_VDAC_DEV_GRP 0x20
++#define ENABLE_VPLL2_DEDICATED 0x05
++#define ENABLE_VPLL2_DEV_GRP 0xE0
++
++#define TWL4030_GPIODATA_IN3 0x03
++#define TWL4030_GPIODATA_DIR3 0x06
++#define TWL4030_VPLL2_DEV_GRP 0x33
++#define TWL4030_VPLL2_DEDICATED 0x36
++
++static int lcd_enabled;
++static int dvi_enabled;
++
++static void __init omap3_evm_display_init(void)
++{
++ int r;
++ r = gpio_request(LCD_PANEL_LR, "lcd_panel_lr");
++ if (r) {
++ printk(KERN_ERR "failed to get LCD_PANEL_LR\n");
++ return;
++ }
++ r = gpio_request(LCD_PANEL_UD, "lcd_panel_ud");
++ if (r) {
++ printk(KERN_ERR "failed to get LCD_PANEL_UD\n");
++ goto err_1;
++ }
++
++ r = gpio_request(LCD_PANEL_INI, "lcd_panel_ini");
++ if (r) {
++ printk(KERN_ERR "failed to get LCD_PANEL_INI\n");
++ goto err_2;
++ }
++ r = gpio_request(LCD_PANEL_RESB, "lcd_panel_resb");
++ if (r) {
++ printk(KERN_ERR "failed to get LCD_PANEL_RESB\n");
++ goto err_3;
++ }
++ r = gpio_request(LCD_PANEL_QVGA, "lcd_panel_qvga");
++ if (r) {
++ printk(KERN_ERR "failed to get LCD_PANEL_QVGA\n");
++ goto err_4;
++ }
++
++ gpio_direction_output(LCD_PANEL_LR, 0);
++ gpio_direction_output(LCD_PANEL_UD, 0);
++ gpio_direction_output(LCD_PANEL_INI, 0);
++ gpio_direction_output(LCD_PANEL_RESB, 0);
++ gpio_direction_output(LCD_PANEL_QVGA, 0);
++
++#define TWL_LED_LEDEN 0x00
++#define TWL_PWMA_PWMAON 0x00
++#define TWL_PWMA_PWMAOFF 0x01
++
++ twl4030_i2c_write_u8(TWL4030_MODULE_LED, 0x11, TWL_LED_LEDEN);
++ twl4030_i2c_write_u8(TWL4030_MODULE_PWMA, 0x01, TWL_PWMA_PWMAON);
++ twl4030_i2c_write_u8(TWL4030_MODULE_PWMA, 0x02, TWL_PWMA_PWMAOFF);
++
++ gpio_direction_output(LCD_PANEL_RESB, 1);
++ gpio_direction_output(LCD_PANEL_INI, 1);
++ gpio_direction_output(LCD_PANEL_QVGA, 0);
++ gpio_direction_output(LCD_PANEL_LR, 1);
++ gpio_direction_output(LCD_PANEL_UD, 1);
++
++ return;
++
++err_4:
++ gpio_free(LCD_PANEL_RESB);
++err_3:
++ gpio_free(LCD_PANEL_INI);
++err_2:
++ gpio_free(LCD_PANEL_UD);
++err_1:
++ gpio_free(LCD_PANEL_LR);
++
++}
++
++static int omap3_evm_panel_enable_lcd(struct omap_display *display)
++{
++ if (dvi_enabled) {
++ printk(KERN_ERR "cannot enable LCD, DVI is enabled\n");
++ return -EINVAL;
++ }
++ if (omap_rev() > OMAP3430_REV_ES1_0) {
++ twl4030_i2c_write_u8(TWL4030_MODULE_PM_RECEIVER,
++ ENABLE_VPLL2_DEDICATED, TWL4030_VPLL2_DEDICATED);
++ twl4030_i2c_write_u8(TWL4030_MODULE_PM_RECEIVER,
++ ENABLE_VPLL2_DEV_GRP, TWL4030_VPLL2_DEV_GRP);
++ }
++ gpio_direction_output(LCD_PANEL_ENABLE_GPIO, 0);
++ lcd_enabled = 1;
++ return 0;
++}
++
++static void omap3_evm_panel_disable_lcd(struct omap_display *display)
++{
++ if (omap_rev() > OMAP3430_REV_ES1_0) {
++ twl4030_i2c_write_u8(TWL4030_MODULE_PM_RECEIVER, 0x0,
++ TWL4030_VPLL2_DEDICATED);
++ twl4030_i2c_write_u8(TWL4030_MODULE_PM_RECEIVER, 0x0,
++ TWL4030_VPLL2_DEV_GRP);
++ }
++ gpio_direction_output(LCD_PANEL_ENABLE_GPIO, 1);
++ lcd_enabled = 0;
++}
++
++static struct omap_dss_display_config omap3_evm_display_data = {
++ .type = OMAP_DISPLAY_TYPE_DPI,
++ .name = "lcd",
++ .panel_name = "sharp-ls037v7dw01",
++ .u.dpi.data_lines = 18,
++ .panel_enable = omap3_evm_panel_enable_lcd,
++ .panel_disable = omap3_evm_panel_disable_lcd,
+ };
+
+-static struct omap_lcd_config omap3_evm_lcd_config __initdata = {
+- .ctrl_name = "internal",
++static int omap3_evm_panel_enable_tv(struct omap_display *display)
++{
++ twl4030_i2c_write_u8(TWL4030_MODULE_PM_RECEIVER,
++ ENABLE_VDAC_DEDICATED, TWL4030_VDAC_DEDICATED);
++ twl4030_i2c_write_u8(TWL4030_MODULE_PM_RECEIVER,
++ ENABLE_VDAC_DEV_GRP, TWL4030_VDAC_DEV_GRP);
++ return 0;
++}
++
++static void omap3_evm_panel_disable_tv(struct omap_display *display)
++{
++ twl4030_i2c_write_u8(TWL4030_MODULE_PM_RECEIVER, 0x00,
++ TWL4030_VDAC_DEDICATED);
++ twl4030_i2c_write_u8(TWL4030_MODULE_PM_RECEIVER, 0x00,
++ TWL4030_VDAC_DEV_GRP);
++}
++
++static struct omap_dss_display_config omap3_evm_display_data_tv = {
++ .type = OMAP_DISPLAY_TYPE_VENC,
++ .name = "tv",
++ .u.venc.type = OMAP_DSS_VENC_TYPE_SVIDEO,
++ .panel_enable = omap3_evm_panel_enable_tv,
++ .panel_disable = omap3_evm_panel_disable_tv,
++};
++
++
++static int omap3_evm_panel_enable_dvi(struct omap_display *display)
++{
++ if (lcd_enabled) {
++ printk(KERN_ERR "cannot enable DVI, LCD is enabled\n");
++ return -EINVAL;
++ }
++ if (omap_rev() > OMAP3430_REV_ES1_0) {
++ twl4030_i2c_write_u8(TWL4030_MODULE_PM_RECEIVER,
++ ENABLE_VPLL2_DEDICATED, TWL4030_VPLL2_DEDICATED);
++ twl4030_i2c_write_u8(TWL4030_MODULE_PM_RECEIVER,
++ ENABLE_VPLL2_DEV_GRP, TWL4030_VPLL2_DEV_GRP);
++ }
++
++ twl4030_i2c_write_u8(TWL4030_MODULE_GPIO, 0x80,
++ TWL4030_GPIODATA_IN3);
++ twl4030_i2c_write_u8(TWL4030_MODULE_GPIO, 0x80,
++ TWL4030_GPIODATA_DIR3);
++ dvi_enabled = 1;
++
++ return 0;
++}
++
++static void omap3_evm_panel_disable_dvi(struct omap_display *display)
++{
++ if (omap_rev() > OMAP3430_REV_ES1_0) {
++ twl4030_i2c_write_u8(TWL4030_MODULE_PM_RECEIVER, 0x0,
++ TWL4030_VPLL2_DEDICATED);
++ twl4030_i2c_write_u8(TWL4030_MODULE_PM_RECEIVER, 0x0,
++ TWL4030_VPLL2_DEV_GRP);
++ }
++
++ twl4030_i2c_write_u8(TWL4030_MODULE_GPIO, 0x00,
++ TWL4030_GPIODATA_IN3);
++ twl4030_i2c_write_u8(TWL4030_MODULE_GPIO, 0x00,
++ TWL4030_GPIODATA_DIR3);
++ dvi_enabled = 0;
++}
++
++
++static struct omap_dss_display_config omap3_evm_display_data_dvi = {
++ .type = OMAP_DISPLAY_TYPE_DPI,
++ .name = "dvi",
++ .panel_name = "panel-generic",
++ .u.dpi.data_lines = 24,
++ .panel_enable = omap3_evm_panel_enable_dvi,
++ .panel_disable = omap3_evm_panel_disable_dvi,
++};
++
++static struct omap_dss_board_info omap3_evm_dss_data = {
++ .num_displays = 3,
++ .displays = {
++ &omap3_evm_display_data,
++ &omap3_evm_display_data_dvi,
++ &omap3_evm_display_data_tv,
++ }
++};
++static struct platform_device omap3_evm_dss_device = {
++ .name = "omapdss",
++ .id = -1,
++ .dev = {
++ .platform_data = &omap3_evm_dss_data,
++ },
+ };
+
+ static void ads7846_dev_init(void)
+@@ -281,11 +484,10 @@ static void __init omap3_evm_init_irq(void)
+
+ static struct omap_board_config_kernel omap3_evm_config[] __initdata = {
+ { OMAP_TAG_UART, &omap3_evm_uart_config },
+- { OMAP_TAG_LCD, &omap3_evm_lcd_config },
+ };
+
+ static struct platform_device *omap3_evm_devices[] __initdata = {
+- &omap3_evm_lcd_device,
++ &omap3_evm_dss_device,
+ &omap3evm_smc911x_device,
+ };
+
+@@ -305,6 +507,7 @@ static void __init omap3_evm_init(void)
+ usb_ehci_init();
+ omap3evm_flash_init();
+ ads7846_dev_init();
++ omap3_evm_display_init();
+ }
+
+ static void __init omap3_evm_map_io(void)
+diff --git a/arch/arm/mach-omap2/board-overo.c b/arch/arm/mach-omap2/board-overo.c
+index 071f4b0..267bb6b 100644
+--- a/arch/arm/mach-omap2/board-overo.c
++++ b/arch/arm/mach-omap2/board-overo.c
+@@ -41,6 +41,7 @@
+ #include <mach/board-overo.h>
+ #include <mach/board.h>
+ #include <mach/common.h>
++#include <mach/display.h>
+ #include <mach/gpio.h>
+ #include <mach/gpmc.h>
+ #include <mach/hardware.h>
+@@ -176,6 +177,9 @@ static void __init overo_ads7846_init(void)
+ static inline void __init overo_ads7846_init(void) { return; }
+ #endif
+
++static int lcd_enabled;
++static int dvi_enabled;
++
+ static struct mtd_partition overo_nand_partitions[] = {
+ {
+ .name = "xloader",
+@@ -360,22 +364,101 @@ static void __init overo_init_irq(void)
+ omap_gpio_init();
+ }
+
+-static struct platform_device overo_lcd_device = {
+- .name = "overo_lcd",
+- .id = -1,
++/* DSS */
++
++#define OVERO_GPIO_LCD_EN 144
++
++static void __init overo_display_init(void)
++{
++ int r;
++
++ r = gpio_request(OVERO_GPIO_LCD_EN, "display enable");
++ if (r)
++ printk("fail1\n");
++ r = gpio_direction_output(OVERO_GPIO_LCD_EN, 1);
++ if (r)
++ printk("fail2\n");
++ gpio_export(OVERO_GPIO_LCD_EN, 0);
++}
++
++static int overo_panel_enable_dvi(struct omap_display *display)
++{
++ if (lcd_enabled) {
++ printk(KERN_ERR "cannot enable DVI, LCD is enabled\n");
++ return -EINVAL;
++ }
++ dvi_enabled = 1;
++
++ gpio_set_value(OVERO_GPIO_LCD_EN, 1);
++
++ return 0;
++}
++
++static void overo_panel_disable_dvi(struct omap_display *display)
++{
++ gpio_set_value(OVERO_GPIO_LCD_EN, 0);
++
++ dvi_enabled = 0;
++}
++
++static struct omap_dss_display_config overo_display_data_dvi = {
++ .type = OMAP_DISPLAY_TYPE_DPI,
++ .name = "dvi",
++ .panel_name = "panel-generic",
++ .u.dpi.data_lines = 24,
++ .panel_enable = overo_panel_enable_dvi,
++ .panel_disable = overo_panel_disable_dvi,
+ };
+
+-static struct omap_lcd_config overo_lcd_config __initdata = {
+- .ctrl_name = "internal",
++static int overo_panel_enable_lcd(struct omap_display *display)
++{
++ if (dvi_enabled) {
++ printk(KERN_ERR "cannot enable LCD, DVI is enabled\n");
++ return -EINVAL;
++ }
++
++ gpio_set_value(OVERO_GPIO_LCD_EN, 1);
++ lcd_enabled = 1;
++ return 0;
++}
++
++static void overo_panel_disable_lcd(struct omap_display *display)
++{
++ gpio_set_value(OVERO_GPIO_LCD_EN, 0);
++ lcd_enabled = 0;
++}
++
++static struct omap_dss_display_config overo_display_data_lcd = {
++ .type = OMAP_DISPLAY_TYPE_DPI,
++ .name = "lcd43",
++ .panel_name = "samsung-lte430wq-f0c",
++ .u.dpi.data_lines = 24,
++ .panel_enable = overo_panel_enable_lcd,
++ .panel_disable = overo_panel_disable_lcd,
++ };
++
++static struct omap_dss_board_info overo_dss_data = {
++ .num_displays = 2,
++ .displays = {
++ &overo_display_data_dvi,
++ &overo_display_data_lcd,
++ }
++};
++
++static struct platform_device overo_dss_device = {
++ .name = "omapdss",
++ .id = -1,
++ .dev = {
++ .platform_data = &overo_dss_data,
++ },
+ };
+
+ static struct omap_board_config_kernel overo_config[] __initdata = {
+ { OMAP_TAG_UART, &overo_uart_config },
+- { OMAP_TAG_LCD, &overo_lcd_config },
+ };
+
+ static struct platform_device *overo_devices[] __initdata = {
+- &overo_lcd_device,
++ &overo_dss_device,
+ };
+
+ static void __init overo_init(void)
+@@ -390,6 +473,7 @@ static void __init overo_init(void)
+ overo_flash_init();
+ overo_init_smsc911x();
+ overo_ads7846_init();
++ overo_display_init();
+
+ if ((gpio_request(OVERO_GPIO_W2W_NRESET,
+ "OVERO_GPIO_W2W_NRESET") == 0) &&
+--
+1.5.6.5
+
diff --git a/recipes/linux/linux-omap-pm/dss2/0008-DSS2-Add-function-to-display-object-to-get-the-back.patch b/recipes/linux/linux-omap-pm/dss2/0008-DSS2-Add-function-to-display-object-to-get-the-back.patch
new file mode 100644
index 0000000000..4c8d432dd5
--- /dev/null
+++ b/recipes/linux/linux-omap-pm/dss2/0008-DSS2-Add-function-to-display-object-to-get-the-back.patch
@@ -0,0 +1,39 @@
+From 4741076cae4f4284e1fff9a03f35475b8455af54 Mon Sep 17 00:00:00 2001
+From: Imre Deak <imre.deak@nokia.com>
+Date: Wed, 1 Apr 2009 14:36:39 +0200
+Subject: [PATCH] DSS2: Add function to display object to get the backlight level
+
+This is needed by an upcoming patch that changes the backlight
+initialization to use the backlight level set by the bootloader.
+
+Also add a field for the maximum backlight level.
+
+Signed-off-by: Imre Deak <imre.deak@nokia.com>
+---
+ arch/arm/plat-omap/include/mach/display.h | 3 +++
+ 1 files changed, 3 insertions(+), 0 deletions(-)
+
+diff --git a/arch/arm/plat-omap/include/mach/display.h b/arch/arm/plat-omap/include/mach/display.h
+index 6288353..6b702c7 100644
+--- a/arch/arm/plat-omap/include/mach/display.h
++++ b/arch/arm/plat-omap/include/mach/display.h
+@@ -211,6 +211,8 @@ struct omap_dss_display_config {
+ int panel_reset_gpio;
+ int ctrl_reset_gpio;
+
++ int max_backlight_level;
++
+ const char *name; /* for debug */
+ const char *ctrl_name;
+ const char *panel_name;
+@@ -225,6 +227,7 @@ struct omap_dss_display_config {
+ void (*ctrl_disable)(struct omap_display *display);
+ int (*set_backlight)(struct omap_display *display,
+ int level);
++ int (*get_backlight)(struct omap_display *display);
+ };
+
+ struct device;
+--
+1.5.6.5
+
diff --git a/recipes/linux/linux-omap-pm/dss2/0009-DSS2-Add-acx565akm-panel.patch b/recipes/linux/linux-omap-pm/dss2/0009-DSS2-Add-acx565akm-panel.patch
new file mode 100644
index 0000000000..3f55f04460
--- /dev/null
+++ b/recipes/linux/linux-omap-pm/dss2/0009-DSS2-Add-acx565akm-panel.patch
@@ -0,0 +1,778 @@
+From 66e16f86d3f4c5b34b37e965c65102b7192371de Mon Sep 17 00:00:00 2001
+From: Imre Deak <imre.deak@nokia.com>
+Date: Thu, 2 Apr 2009 11:47:13 +0300
+Subject: [PATCH] DSS2: Add acx565akm panel
+
+Signed-off-by: Imre Deak <imre.deak@nokia.com>
+---
+ drivers/video/omap2/displays/Kconfig | 8 +
+ drivers/video/omap2/displays/Makefile | 2 +
+ drivers/video/omap2/displays/panel-acx565akm.c | 712 ++++++++++++++++++++++++
+ drivers/video/omap2/displays/panel-acx565akm.h | 9 +
+ 4 files changed, 731 insertions(+), 0 deletions(-)
+ create mode 100644 drivers/video/omap2/displays/panel-acx565akm.c
+ create mode 100644 drivers/video/omap2/displays/panel-acx565akm.h
+
+diff --git a/drivers/video/omap2/displays/Kconfig b/drivers/video/omap2/displays/Kconfig
+index 356ceb1..3feecee 100644
+--- a/drivers/video/omap2/displays/Kconfig
++++ b/drivers/video/omap2/displays/Kconfig
+@@ -28,4 +28,12 @@ config CTRL_BLIZZARD
+ tristate "Blizzard Controller"
+ help
+ Blizzard Controller (hack)
++
++config PANEL_ACX565AKM
++ tristate "ACX565AKM LCD Panel"
++ depends on OMAP2_DSS_SDI
++ select BACKLIGHT_CLASS_DEVICE
++ help
++ LCD Panel used in RX51
++
+ endmenu
+diff --git a/drivers/video/omap2/displays/Makefile b/drivers/video/omap2/displays/Makefile
+index 1b74b7e..9bafcb6 100644
+--- a/drivers/video/omap2/displays/Makefile
++++ b/drivers/video/omap2/displays/Makefile
+@@ -4,3 +4,5 @@ obj-$(CONFIG_PANEL_SHARP_LS037V7DW01) += panel-sharp-ls037v7dw01.o
+
+ obj-$(CONFIG_CTRL_BLIZZARD) += ctrl-blizzard.o
+ obj-$(CONFIG_PANEL_N800) += panel-n800.o
++
++obj-$(CONFIG_PANEL_ACX565AKM) += panel-acx565akm.o
+diff --git a/drivers/video/omap2/displays/panel-acx565akm.c b/drivers/video/omap2/displays/panel-acx565akm.c
+new file mode 100644
+index 0000000..2679d6c
+--- /dev/null
++++ b/drivers/video/omap2/displays/panel-acx565akm.c
+@@ -0,0 +1,712 @@
++#include <linux/kernel.h>
++#include <linux/module.h>
++#include <linux/clk.h>
++#include <linux/platform_device.h>
++#include <linux/delay.h>
++#include <linux/spi/spi.h>
++#include <linux/jiffies.h>
++#include <linux/sched.h>
++#include <linux/backlight.h>
++#include <linux/fb.h>
++
++#include <mach/display.h>
++#include <mach/dma.h>
++
++#include "panel-acx565akm.h"
++
++#define MIPID_CMD_READ_DISP_ID 0x04
++#define MIPID_CMD_READ_RED 0x06
++#define MIPID_CMD_READ_GREEN 0x07
++#define MIPID_CMD_READ_BLUE 0x08
++#define MIPID_CMD_READ_DISP_STATUS 0x09
++#define MIPID_CMD_RDDSDR 0x0F
++#define MIPID_CMD_SLEEP_IN 0x10
++#define MIPID_CMD_SLEEP_OUT 0x11
++#define MIPID_CMD_DISP_OFF 0x28
++#define MIPID_CMD_DISP_ON 0x29
++#define MIPID_CMD_WRITE_DISP_BRIGHTNESS 0x51
++#define MIPID_CMD_READ_DISP_BRIGHTNESS 0x52
++#define MIPID_CMD_WRITE_CTRL_DISP 0x53
++
++#define CTRL_DISP_BRIGHTNESS_CTRL_ON (1 << 5)
++#define CTRL_DISP_AMBIENT_LIGHT_CTRL_ON (1 << 4)
++#define CTRL_DISP_BACKLIGHT_ON (1 << 2)
++#define CTRL_DISP_AUTO_BRIGHTNESS_ON (1 << 1)
++
++#define MIPID_CMD_READ_CTRL_DISP 0x54
++#define MIPID_CMD_WRITE_CABC 0x55
++#define MIPID_CMD_READ_CABC 0x56
++
++#define MIPID_VER_LPH8923 3
++#define MIPID_VER_LS041Y3 4
++#define MIPID_VER_L4F00311 8
++#define MIPID_VER_ACX565AKM 9
++
++struct acx565akm_device {
++ struct backlight_device *bl_dev;
++ int enabled;
++ int model;
++ int revision;
++ u8 display_id[3];
++ int has_bc:1;
++ int has_cabc:1;
++ unsigned int saved_bklight_level;
++ unsigned long hw_guard_end; /* next value of jiffies
++ when we can issue the
++ next sleep in/out command */
++ unsigned long hw_guard_wait; /* max guard time in jiffies */
++
++ struct spi_device *spi;
++ struct mutex mutex;
++ struct omap_panel panel;
++ struct omap_display *display;
++};
++
++static int acx565akm_bl_update_status(struct backlight_device *dev);
++
++static void acx565akm_transfer(struct acx565akm_device *md, int cmd,
++ const u8 *wbuf, int wlen, u8 *rbuf, int rlen)
++{
++ struct spi_message m;
++ struct spi_transfer *x, xfer[5];
++ int r;
++
++ BUG_ON(md->spi == NULL);
++
++ spi_message_init(&m);
++
++ memset(xfer, 0, sizeof(xfer));
++ x = &xfer[0];
++
++ cmd &= 0xff;
++ x->tx_buf = &cmd;
++ x->bits_per_word = 9;
++ x->len = 2;
++
++ if (rlen > 1 && wlen == 0) {
++ /*
++ * Between the command and the response data there is a
++ * dummy clock cycle. Add an extra bit after the command
++ * word to account for this.
++ */
++ x->bits_per_word = 10;
++ cmd <<= 1;
++ }
++ spi_message_add_tail(x, &m);
++
++ if (wlen) {
++ x++;
++ x->tx_buf = wbuf;
++ x->len = wlen;
++ x->bits_per_word = 9;
++ spi_message_add_tail(x, &m);
++ }
++
++ if (rlen) {
++ x++;
++ x->rx_buf = rbuf;
++ x->len = rlen;
++ spi_message_add_tail(x, &m);
++ }
++
++ r = spi_sync(md->spi, &m);
++ if (r < 0)
++ dev_dbg(&md->spi->dev, "spi_sync %d\n", r);
++}
++
++static inline void acx565akm_cmd(struct acx565akm_device *md, int cmd)
++{
++ acx565akm_transfer(md, cmd, NULL, 0, NULL, 0);
++}
++
++static inline void acx565akm_write(struct acx565akm_device *md,
++ int reg, const u8 *buf, int len)
++{
++ acx565akm_transfer(md, reg, buf, len, NULL, 0);
++}
++
++static inline void acx565akm_read(struct acx565akm_device *md,
++ int reg, u8 *buf, int len)
++{
++ acx565akm_transfer(md, reg, NULL, 0, buf, len);
++}
++
++static void hw_guard_start(struct acx565akm_device *md, int guard_msec)
++{
++ md->hw_guard_wait = msecs_to_jiffies(guard_msec);
++ md->hw_guard_end = jiffies + md->hw_guard_wait;
++}
++
++static void hw_guard_wait(struct acx565akm_device *md)
++{
++ unsigned long wait = md->hw_guard_end - jiffies;
++
++ if ((long)wait > 0 && wait <= md->hw_guard_wait) {
++ set_current_state(TASK_UNINTERRUPTIBLE);
++ schedule_timeout(wait);
++ }
++}
++
++static void set_sleep_mode(struct acx565akm_device *md, int on)
++{
++ int cmd, sleep_time = 50;
++
++ if (on)
++ cmd = MIPID_CMD_SLEEP_IN;
++ else
++ cmd = MIPID_CMD_SLEEP_OUT;
++ hw_guard_wait(md);
++ acx565akm_cmd(md, cmd);
++ hw_guard_start(md, 120);
++ /*
++ * When we enable the panel, it seems we _have_ to sleep
++ * 120 ms before sending the init string. When disabling the
++ * panel we'll sleep for the duration of 2 frames, so that the
++ * controller can still provide the PCLK,HS,VS signals. */
++ if (!on)
++ sleep_time = 120;
++ msleep(sleep_time);
++}
++
++static void set_display_state(struct acx565akm_device *md, int enabled)
++{
++ int cmd = enabled ? MIPID_CMD_DISP_ON : MIPID_CMD_DISP_OFF;
++
++ acx565akm_cmd(md, cmd);
++}
++
++static int panel_enabled(struct acx565akm_device *md)
++{
++ u32 disp_status;
++ int enabled;
++
++ acx565akm_read(md, MIPID_CMD_READ_DISP_STATUS, (u8 *)&disp_status, 4);
++ disp_status = __be32_to_cpu(disp_status);
++ enabled = (disp_status & (1 << 17)) && (disp_status & (1 << 10));
++ dev_dbg(&md->spi->dev,
++ "LCD panel %senabled by bootloader (status 0x%04x)\n",
++ enabled ? "" : "not ", disp_status);
++ return enabled;
++}
++
++static void enable_backlight_ctrl(struct acx565akm_device *md, int enable)
++{
++ u16 ctrl;
++
++ acx565akm_read(md, MIPID_CMD_READ_CTRL_DISP, (u8 *)&ctrl, 1);
++ if (enable) {
++ ctrl |= CTRL_DISP_BRIGHTNESS_CTRL_ON |
++ CTRL_DISP_BACKLIGHT_ON;
++ } else {
++ ctrl &= ~(CTRL_DISP_BRIGHTNESS_CTRL_ON |
++ CTRL_DISP_BACKLIGHT_ON);
++ }
++
++ ctrl |= 1 << 8;
++ acx565akm_write(md, MIPID_CMD_WRITE_CTRL_DISP, (u8 *)&ctrl, 2);
++}
++
++static void set_cabc_mode(struct acx565akm_device *md, int mode)
++{
++ u16 cabc_ctrl;
++
++ cabc_ctrl = 0;
++ acx565akm_read(md, MIPID_CMD_READ_CABC, (u8 *)&cabc_ctrl, 1);
++ cabc_ctrl &= ~3;
++ cabc_ctrl |= (1 << 8) | (mode & 3);
++ acx565akm_write(md, MIPID_CMD_WRITE_CABC, (u8 *)&cabc_ctrl, 2);
++}
++
++static int get_cabc_mode(struct acx565akm_device *md)
++{
++ u8 cabc_ctrl;
++
++ acx565akm_read(md, MIPID_CMD_READ_CABC, &cabc_ctrl, 1);
++ return cabc_ctrl & 3;
++}
++
++static int panel_detect(struct acx565akm_device *md)
++{
++ acx565akm_read(md, MIPID_CMD_READ_DISP_ID, md->display_id, 3);
++ dev_dbg(&md->spi->dev, "MIPI display ID: %02x%02x%02x\n",
++ md->display_id[0], md->display_id[1], md->display_id[2]);
++
++ switch (md->display_id[0]) {
++ case 0x10:
++ md->model = MIPID_VER_ACX565AKM;
++ md->panel.name = "acx565akm";
++ md->has_bc = 1;
++ md->has_cabc = 1;
++ break;
++ case 0x29:
++ md->model = MIPID_VER_L4F00311;
++ md->panel.name = "l4f00311";
++ break;
++ case 0x45:
++ md->model = MIPID_VER_LPH8923;
++ md->panel.name = "lph8923";
++ break;
++ case 0x83:
++ md->model = MIPID_VER_LS041Y3;
++ md->panel.name = "ls041y3";
++ break;
++ default:
++ md->panel.name = "unknown";
++ dev_err(&md->spi->dev, "invalid display ID\n");
++ return -ENODEV;
++ }
++
++ md->revision = md->display_id[1];
++
++ pr_info("omapfb: %s rev %02x LCD detected\n",
++ md->panel.name, md->revision);
++
++ return 0;
++}
++
++static int acx565akm_panel_enable(struct omap_display *display)
++{
++ struct acx565akm_device *md =
++ (struct acx565akm_device *)display->panel->priv;
++
++ dev_dbg(&md->spi->dev, "%s\n", __func__);
++
++ mutex_lock(&md->mutex);
++
++ if (display->hw_config.panel_enable)
++ display->hw_config.panel_enable(display);
++
++ md->enabled = panel_enabled(md);
++
++ if (md->enabled) {
++ dev_dbg(&md->spi->dev, "panel already enabled\n");
++ mutex_unlock(&md->mutex);
++ return 0;
++ }
++
++ set_sleep_mode(md, 0);
++ md->enabled = 1;
++ set_display_state(md, 1);
++
++ mutex_unlock(&md->mutex);
++
++ return acx565akm_bl_update_status(md->bl_dev);
++}
++
++static void acx565akm_panel_disable(struct omap_display *display)
++{
++ struct acx565akm_device *md =
++ (struct acx565akm_device *)display->panel->priv;
++
++ dev_dbg(&md->spi->dev, "%s\n", __func__);
++
++ mutex_lock(&md->mutex);
++
++ if (!md->enabled) {
++ mutex_unlock(&md->mutex);
++ return;
++ }
++ set_display_state(md, 0);
++ set_sleep_mode(md, 1);
++ md->enabled = 0;
++
++ if (display->hw_config.panel_disable)
++ display->hw_config.panel_disable(display);
++
++ mutex_unlock(&md->mutex);
++}
++
++#if 0
++static void acx565akm_set_mode(struct omap_display *display,
++ int x_res, int y_res, int bpp)
++{
++ struct acx565akm_device *md =
++ (struct acx565akm_device *)display->panel->priv;
++ u16 par;
++
++ switch (bpp) {
++ case 16:
++ par = 0x150;
++ break;
++ case 18:
++ par = 0x160;
++ break;
++ case 24:
++ par = 0x170;
++ break;
++ }
++
++ acx565akm_write(md, 0x3a, (u8 *)&par, 2);
++}
++#endif
++
++static int acx565akm_panel_suspend(struct omap_display *display)
++{
++ acx565akm_panel_disable(display);
++ return 0;
++}
++
++static int acx565akm_panel_resume(struct omap_display *display)
++{
++ return acx565akm_panel_enable(display);
++}
++
++static void acx565akm_set_brightness(struct acx565akm_device *md, int level)
++{
++ int bv;
++
++ bv = level | (1 << 8);
++ acx565akm_write(md, MIPID_CMD_WRITE_DISP_BRIGHTNESS, (u8 *)&bv, 2);
++
++ if (level)
++ enable_backlight_ctrl(md, 1);
++ else
++ enable_backlight_ctrl(md, 0);
++}
++
++static int acx565akm_get_actual_brightness(struct acx565akm_device *md)
++{
++ u8 bv;
++
++ acx565akm_read(md, MIPID_CMD_READ_DISP_BRIGHTNESS, &bv, 1);
++
++ return bv;
++}
++
++static int acx565akm_bl_update_status(struct backlight_device *dev)
++{
++ struct acx565akm_device *md = dev_get_drvdata(&dev->dev);
++ struct omap_display *display = md->display;
++ int r;
++ int level;
++
++ dev_dbg(&md->spi->dev, "%s\n", __func__);
++
++ if (display->hw_config.set_backlight == NULL)
++ return -ENODEV;
++
++ mutex_lock(&md->mutex);
++
++ if (dev->props.fb_blank == FB_BLANK_UNBLANK &&
++ dev->props.power == FB_BLANK_UNBLANK)
++ level = dev->props.brightness;
++ else
++ level = 0;
++
++ r = 0;
++ if (md->has_bc)
++ acx565akm_set_brightness(md, level);
++ else
++ if (display->hw_config.set_backlight != NULL)
++ r = display->hw_config.set_backlight(display, level);
++ else
++ r = -ENODEV;
++
++ mutex_unlock(&md->mutex);
++
++ return r;
++}
++
++static int acx565akm_bl_get_intensity(struct backlight_device *dev)
++{
++ struct acx565akm_device *md = dev_get_drvdata(&dev->dev);
++ struct omap_display *display = md->display;
++
++ dev_dbg(&dev->dev, "%s\n", __func__);
++
++ if (md->has_bc && display->hw_config.set_backlight == NULL)
++ return -ENODEV;
++
++ if (dev->props.fb_blank == FB_BLANK_UNBLANK &&
++ dev->props.power == FB_BLANK_UNBLANK) {
++ if (md->has_bc)
++ return acx565akm_get_actual_brightness(md);
++ else
++ return dev->props.brightness;
++ }
++
++ return 0;
++}
++
++static struct backlight_ops acx565akm_bl_ops = {
++ .get_brightness = acx565akm_bl_get_intensity,
++ .update_status = acx565akm_bl_update_status,
++};
++
++static const char *cabc_modes[] = {
++ "off", /* used also always when CABC is not supported */
++ "ui",
++ "still-image",
++ "moving-image",
++};
++
++static ssize_t show_cabc_mode(struct device *dev,
++ struct device_attribute *attr,
++ char *buf)
++{
++ struct acx565akm_device *md = dev_get_drvdata(dev);
++ const char *mode_str;
++ int mode;
++ int len;
++
++ if (!md->has_cabc)
++ mode = 0;
++ else
++ mode = get_cabc_mode(md);
++ mode_str = "unknown";
++ if (mode >= 0 && mode < ARRAY_SIZE(cabc_modes))
++ mode_str = cabc_modes[mode];
++ len = snprintf(buf, PAGE_SIZE, "%s\n", mode_str);
++
++ return len < PAGE_SIZE - 1 ? len : PAGE_SIZE - 1;
++}
++
++static ssize_t store_cabc_mode(struct device *dev,
++ struct device_attribute *attr,
++ const char *buf, size_t count)
++{
++ struct acx565akm_device *md = dev_get_drvdata(dev);
++ int i;
++
++ for (i = 0; i < ARRAY_SIZE(cabc_modes); i++) {
++ const char *mode_str = cabc_modes[i];
++ int cmp_len = strlen(mode_str);
++
++ if (count > 0 && buf[count - 1] == '\n')
++ count--;
++ if (count != cmp_len)
++ continue;
++
++ if (strncmp(buf, mode_str, cmp_len) == 0)
++ break;
++ }
++
++ if (i == ARRAY_SIZE(cabc_modes))
++ return -EINVAL;
++
++ if (!md->has_cabc && i != 0)
++ return -EINVAL;
++
++ mutex_lock(&md->mutex);
++ set_cabc_mode(md, i);
++ mutex_unlock(&md->mutex);
++
++ return count;
++}
++
++static ssize_t show_cabc_available_modes(struct device *dev,
++ struct device_attribute *attr,
++ char *buf)
++{
++ struct acx565akm_device *md = dev_get_drvdata(dev);
++ int len;
++ int i;
++
++ if (!md->has_cabc)
++ return snprintf(buf, PAGE_SIZE, "%s\n", cabc_modes[0]);
++
++ for (i = 0, len = 0;
++ len < PAGE_SIZE && i < ARRAY_SIZE(cabc_modes); i++)
++ len += snprintf(&buf[len], PAGE_SIZE - len, "%s%s%s",
++ i ? " " : "", cabc_modes[i],
++ i == ARRAY_SIZE(cabc_modes) - 1 ? "\n" : "");
++
++ return len < PAGE_SIZE ? len : PAGE_SIZE - 1;
++}
++
++static DEVICE_ATTR(cabc_mode, S_IRUGO | S_IWUSR,
++ show_cabc_mode, store_cabc_mode);
++static DEVICE_ATTR(cabc_available_modes, S_IRUGO,
++ show_cabc_available_modes, NULL);
++
++static struct attribute *bldev_attrs[] = {
++ &dev_attr_cabc_mode.attr,
++ &dev_attr_cabc_available_modes.attr,
++ NULL,
++};
++
++static struct attribute_group bldev_attr_group = {
++ .attrs = bldev_attrs,
++};
++
++static int acx565akm_panel_init(struct omap_display *display)
++{
++ struct omap_panel *panel = display->panel;
++ struct acx565akm_panel_data *panel_data = display->hw_config.panel_data;
++ struct acx565akm_device *md = (struct acx565akm_device *)panel->priv;
++
++ struct backlight_device *bldev;
++ int brightness;
++ int max_brightness;
++ int r;
++
++ dev_dbg(&md->spi->dev, "%s\n", __func__);
++
++ if (!panel_data) {
++ dev_err(&md->spi->dev, "no panel data\n");
++ return -ENODEV;
++ }
++
++ mutex_init(&md->mutex);
++ md->display = display;
++
++ if (display->hw_config.panel_enable)
++ display->hw_config.panel_enable(display);
++
++ md->enabled = panel_enabled(md);
++
++ r = panel_detect(md);
++ if (r) {
++ if (!md->enabled && display->hw_config.panel_disable)
++ display->hw_config.panel_disable(display);
++ mutex_unlock(&md->mutex);
++ return r;
++ }
++
++ if (!panel_data->bc_connected) {
++ md->has_bc = 0;
++ md->has_cabc = 0;
++ }
++
++#if 0
++ acx565akm_set_mode(display, panel->timings.x_res, panel->timings.y_res,
++ panel->bpp);
++#endif
++
++ if (!md->enabled)
++ display->hw_config.panel_disable(display);
++
++ bldev = backlight_device_register("acx565akm", &md->spi->dev,
++ md, &acx565akm_bl_ops);
++ md->bl_dev = bldev;
++
++ if (md->has_cabc) {
++ r = sysfs_create_group(&bldev->dev.kobj, &bldev_attr_group);
++ if (r) {
++ dev_err(&bldev->dev, "failed to create sysfs files\n");
++ backlight_device_unregister(bldev);
++ return r;
++ }
++ }
++
++ bldev->props.fb_blank = FB_BLANK_UNBLANK;
++ bldev->props.power = FB_BLANK_UNBLANK;
++
++ if (md->has_bc)
++ max_brightness = 255;
++ else
++ max_brightness = display->hw_config.max_backlight_level;
++
++ if (md->has_bc)
++ brightness = acx565akm_get_actual_brightness(md);
++ else {
++ if (display->hw_config.get_backlight != NULL)
++ brightness = display->hw_config.get_backlight(display);
++ else
++ brightness = 0;
++ }
++
++ bldev->props.max_brightness = max_brightness;
++ bldev->props.brightness = brightness;
++ acx565akm_bl_update_status(bldev);
++
++ return 0;
++}
++
++static struct omap_panel acx565akm_panel = {
++ .name = "panel-acx565akm",
++ .init = acx565akm_panel_init,
++ .suspend = acx565akm_panel_suspend,
++ .resume = acx565akm_panel_resume,
++ .enable = acx565akm_panel_enable,
++ .disable = acx565akm_panel_disable,
++
++ .timings = {
++ .x_res = 800,
++ .y_res = 480,
++
++ .pixel_clock = 24000,
++
++ .hsw = 4,
++ .hfp = 16,
++ .hbp = 12,
++
++ .vsw = 3,
++ .vfp = 3,
++ .vbp = 3,
++ },
++
++ .config = OMAP_DSS_LCD_TFT,
++
++ .recommended_bpp = 16,
++
++ /*
++ * supported modes: 12bpp(444), 16bpp(565), 18bpp(666), 24bpp(888)
++ * resolutions.
++ */
++};
++
++static int acx565akm_spi_probe(struct spi_device *spi)
++{
++ struct acx565akm_device *md;
++
++ dev_dbg(&md->spi->dev, "%s\n", __func__);
++
++ md = kzalloc(sizeof(*md), GFP_KERNEL);
++ if (md == NULL) {
++ dev_err(&spi->dev, "out of memory\n");
++ return -ENOMEM;
++ }
++
++ spi->mode = SPI_MODE_3;
++ md->spi = spi;
++ dev_set_drvdata(&spi->dev, md);
++ md->panel = acx565akm_panel;
++ acx565akm_panel.priv = md;
++
++ omap_dss_register_panel(&acx565akm_panel);
++
++ return 0;
++}
++
++static int acx565akm_spi_remove(struct spi_device *spi)
++{
++ struct acx565akm_device *md = dev_get_drvdata(&spi->dev);
++
++ dev_dbg(&md->spi->dev, "%s\n", __func__);
++
++ sysfs_remove_group(&md->bl_dev->dev.kobj, &bldev_attr_group);
++ backlight_device_unregister(md->bl_dev);
++ omap_dss_unregister_panel(&acx565akm_panel);
++
++ kfree(md);
++
++ return 0;
++}
++
++static struct spi_driver acx565akm_spi_driver = {
++ .driver = {
++ .name = "acx565akm",
++ .bus = &spi_bus_type,
++ .owner = THIS_MODULE,
++ },
++ .probe = acx565akm_spi_probe,
++ .remove = __devexit_p(acx565akm_spi_remove),
++};
++
++static int __init acx565akm_init(void)
++{
++ return spi_register_driver(&acx565akm_spi_driver);
++}
++
++static void __exit acx565akm_exit(void)
++{
++ spi_unregister_driver(&acx565akm_spi_driver);
++}
++
++module_init(acx565akm_init);
++module_exit(acx565akm_exit);
++
++MODULE_AUTHOR("Tomi Valkeinen <tomi.valkeinen@nokia.com>");
++MODULE_DESCRIPTION("acx565akm LCD Driver");
++MODULE_LICENSE("GPL");
+diff --git a/drivers/video/omap2/displays/panel-acx565akm.h b/drivers/video/omap2/displays/panel-acx565akm.h
+new file mode 100644
+index 0000000..6d3727b
+--- /dev/null
++++ b/drivers/video/omap2/displays/panel-acx565akm.h
+@@ -0,0 +1,9 @@
++#ifndef __DRIVERS_VIDEO_OMAP2_DISPLAYS_PANEL_ACX565AKM_H
++#define __DRIVERS_VIDEO_OMAP2_DISPLAYS_PANEL_ACX565AKM_H
++
++struct acx565akm_panel_data {
++ unsigned bc_connected:1;
++};
++
++#endif
++
+--
+1.5.6.5
+
diff --git a/recipes/linux/linux-omap-pm/dss2/0010-DSS2-Small-VRFB-context-allocation-bug-fixed.patch b/recipes/linux/linux-omap-pm/dss2/0010-DSS2-Small-VRFB-context-allocation-bug-fixed.patch
new file mode 100644
index 0000000000..c7efc58a05
--- /dev/null
+++ b/recipes/linux/linux-omap-pm/dss2/0010-DSS2-Small-VRFB-context-allocation-bug-fixed.patch
@@ -0,0 +1,28 @@
+From 370510e24ddbf539392ebb6a1e43280965fcb19b Mon Sep 17 00:00:00 2001
+From: Vaibhav Hiremath <hvaibhav@ti.com>
+Date: Tue, 31 Mar 2009 18:47:32 +0530
+Subject: [PATCH] DSS2: Small VRFB context allocation bug fixed
+
+This is minor bug while requesting and mapping memory for
+VRFB space.
+
+Signed-off-by: Vaibhav Hiremath <hvaibhav@ti.com>
+---
+ drivers/video/omap2/omapfb/omapfb-main.c | 1 +
+ 1 files changed, 1 insertions(+), 0 deletions(-)
+
+diff --git a/drivers/video/omap2/omapfb/omapfb-main.c b/drivers/video/omap2/omapfb/omapfb-main.c
+index 852abe5..44febef 100644
+--- a/drivers/video/omap2/omapfb/omapfb-main.c
++++ b/drivers/video/omap2/omapfb/omapfb-main.c
+@@ -1193,6 +1193,7 @@ static int omapfb_alloc_fbmem(struct fb_info *fbi, unsigned long size,
+
+ if(!va) {
+ printk(KERN_ERR "vrfb: ioremap failed\n");
++ omap_vrfb_release_ctx(&rg->vrfb);
+ return -ENOMEM;
+ }
+
+--
+1.5.6.5
+
diff --git a/recipes/linux/linux-omap-pm/dss2/0011-DSS2-Allocated-memory-for-Color-Look-up-table.patch b/recipes/linux/linux-omap-pm/dss2/0011-DSS2-Allocated-memory-for-Color-Look-up-table.patch
new file mode 100644
index 0000000000..1a82ed2a22
--- /dev/null
+++ b/recipes/linux/linux-omap-pm/dss2/0011-DSS2-Allocated-memory-for-Color-Look-up-table.patch
@@ -0,0 +1,37 @@
+From 370d1f93a32e8fcaeac5c16574417e354af21d08 Mon Sep 17 00:00:00 2001
+From: Vaibhav Hiremath <hvaibhav@ti.com>
+Date: Tue, 31 Mar 2009 18:38:31 +0530
+Subject: [PATCH] DSS2: Allocated memory for Color Look-up-table
+
+We were not allocating memory for CMAP buffer and due to that
+G_CMAP was failing, since it does check for size of CMAP buffer.
+
+Called "fb_alloc_cmap" for llocating memory for CMAP.
+
+We are currently not supporting 1,2,4,8 bpp, so meaning less
+for us as of now. But for completeness this is required.
+
+Signed-off-by: Vaibhav Hiremath <hvaibhav@ti.com>
+---
+ drivers/video/omap2/omapfb/omapfb-main.c | 5 +++++
+ 1 files changed, 5 insertions(+), 0 deletions(-)
+
+diff --git a/drivers/video/omap2/omapfb/omapfb-main.c b/drivers/video/omap2/omapfb/omapfb-main.c
+index 44febef..afe40a9 100644
+--- a/drivers/video/omap2/omapfb/omapfb-main.c
++++ b/drivers/video/omap2/omapfb/omapfb-main.c
+@@ -1525,6 +1525,11 @@ int omapfb_fb_init(struct omapfb2_device *fbdev, struct fb_info *fbi)
+ goto err;
+
+ set_fb_fix(fbi);
++
++ r = fb_alloc_cmap(&fbi->cmap, 256, 0);
++ if (r)
++ dev_err(fbdev->dev, "unable to allocate color map memory\n");
++
+ err:
+ return r;
+ }
+--
+1.5.6.5
+
diff --git a/recipes/linux/linux-omap-pm/dss2/0012-DSS2-Fix-DMA-rotation.patch b/recipes/linux/linux-omap-pm/dss2/0012-DSS2-Fix-DMA-rotation.patch
new file mode 100644
index 0000000000..22add6efd2
--- /dev/null
+++ b/recipes/linux/linux-omap-pm/dss2/0012-DSS2-Fix-DMA-rotation.patch
@@ -0,0 +1,65 @@
+From 9c93bcab724b5935d745604773ed43825efefd87 Mon Sep 17 00:00:00 2001
+From: Tomi Valkeinen <tomi.valkeinen@nokia.com>
+Date: Thu, 2 Apr 2009 13:47:11 +0300
+Subject: [PATCH] DSS2: Fix DMA rotation
+
+u16 was not a good type for offsets. First, they need to be signed,
+and second, 16 bits is not enough.
+---
+ drivers/video/omap2/dss/dispc.c | 12 ++++++------
+ 1 files changed, 6 insertions(+), 6 deletions(-)
+
+diff --git a/drivers/video/omap2/dss/dispc.c b/drivers/video/omap2/dss/dispc.c
+index ffb5648..6cea545 100644
+--- a/drivers/video/omap2/dss/dispc.c
++++ b/drivers/video/omap2/dss/dispc.c
+@@ -778,7 +778,7 @@ static void _dispc_set_vid_size(enum omap_plane plane, int width, int height)
+ dispc_write_reg(vsi_reg[plane-1], val);
+ }
+
+-static void _dispc_set_pix_inc(enum omap_plane plane, u16 inc)
++static void _dispc_set_pix_inc(enum omap_plane plane, s32 inc)
+ {
+ const struct dispc_reg ri_reg[] = { DISPC_GFX_PIXEL_INC,
+ DISPC_VID_PIXEL_INC(0),
+@@ -787,7 +787,7 @@ static void _dispc_set_pix_inc(enum omap_plane plane, u16 inc)
+ dispc_write_reg(ri_reg[plane], inc);
+ }
+
+-static void _dispc_set_row_inc(enum omap_plane plane, u16 inc)
++static void _dispc_set_row_inc(enum omap_plane plane, s32 inc)
+ {
+ const struct dispc_reg ri_reg[] = { DISPC_GFX_ROW_INC,
+ DISPC_VID_ROW_INC(0),
+@@ -1123,7 +1123,7 @@ static void _dispc_set_rotation_attrs(enum omap_plane plane, u8 rotation,
+ }
+ }
+
+-static int pixinc(int pixels, u8 ps)
++static s32 pixinc(int pixels, u8 ps)
+ {
+ if (pixels == 1)
+ return 1;
+@@ -1140,7 +1140,7 @@ static void calc_rotation_offset(u8 rotation, bool mirror,
+ u16 width, u16 height,
+ enum omap_color_mode color_mode, bool fieldmode,
+ unsigned *offset0, unsigned *offset1,
+- u16 *row_inc, u16 *pix_inc)
++ s32 *row_inc, s32 *pix_inc)
+ {
+ u8 ps;
+ u16 fbw, fbh;
+@@ -1298,8 +1298,8 @@ static int _dispc_setup_plane(enum omap_plane plane,
+ bool fieldmode = 0;
+ int cconv = 0;
+ unsigned offset0, offset1;
+- u16 row_inc;
+- u16 pix_inc;
++ s32 row_inc;
++ s32 pix_inc;
+
+ if (plane == OMAP_DSS_GFX) {
+ if (width != out_width || height != out_height)
+--
+1.5.6.5
+
diff --git a/recipes/linux/linux-omap-pm/dss2/0013-DSS2-Verify-that-overlay-paddr-0.patch b/recipes/linux/linux-omap-pm/dss2/0013-DSS2-Verify-that-overlay-paddr-0.patch
new file mode 100644
index 0000000000..76b8c73630
--- /dev/null
+++ b/recipes/linux/linux-omap-pm/dss2/0013-DSS2-Verify-that-overlay-paddr-0.patch
@@ -0,0 +1,41 @@
+From 360a55ddd309e3a45b227a4a905ae7120dd16169 Mon Sep 17 00:00:00 2001
+From: Tomi Valkeinen <tomi.valkeinen@nokia.com>
+Date: Thu, 2 Apr 2009 14:21:12 +0300
+Subject: [PATCH] DSS2: Verify that overlay paddr != 0
+
+---
+ drivers/video/omap2/dss/dispc.c | 3 +++
+ drivers/video/omap2/dss/overlay.c | 3 +++
+ 2 files changed, 6 insertions(+), 0 deletions(-)
+
+diff --git a/drivers/video/omap2/dss/dispc.c b/drivers/video/omap2/dss/dispc.c
+index 6cea545..2480a03 100644
+--- a/drivers/video/omap2/dss/dispc.c
++++ b/drivers/video/omap2/dss/dispc.c
+@@ -1301,6 +1301,9 @@ static int _dispc_setup_plane(enum omap_plane plane,
+ s32 row_inc;
+ s32 pix_inc;
+
++ if (paddr == 0)
++ return -EINVAL;
++
+ if (plane == OMAP_DSS_GFX) {
+ if (width != out_width || height != out_height)
+ return -EINVAL;
+diff --git a/drivers/video/omap2/dss/overlay.c b/drivers/video/omap2/dss/overlay.c
+index 968edbe..9209acf 100644
+--- a/drivers/video/omap2/dss/overlay.c
++++ b/drivers/video/omap2/dss/overlay.c
+@@ -331,6 +331,9 @@ static int dss_ovl_set_overlay_info(struct omap_overlay *ovl,
+ int r;
+ struct omap_overlay_info old_info;
+
++ if (info->paddr == 0)
++ return -EINVAL;
++
+ old_info = ovl->info;
+ ovl->info = *info;
+
+--
+1.5.6.5
+
diff --git a/recipes/linux/linux-omap-pm/dss2/0014-DSS2-Add-function-to-get-DSS-logic-clock-rate.patch b/recipes/linux/linux-omap-pm/dss2/0014-DSS2-Add-function-to-get-DSS-logic-clock-rate.patch
new file mode 100644
index 0000000000..3b3fd77a9a
--- /dev/null
+++ b/recipes/linux/linux-omap-pm/dss2/0014-DSS2-Add-function-to-get-DSS-logic-clock-rate.patch
@@ -0,0 +1,51 @@
+From 832b763db235da8e62f7b6ab02bcb8ad6bcb7a01 Mon Sep 17 00:00:00 2001
+From: Tomi Valkeinen <tomi.valkeinen@nokia.com>
+Date: Thu, 2 Apr 2009 16:48:41 +0300
+Subject: [PATCH] DSS2: Add function to get DSS logic clock rate
+
+---
+ drivers/video/omap2/dss/dispc.c | 15 +++++++++++++++
+ drivers/video/omap2/dss/dss.h | 1 +
+ 2 files changed, 16 insertions(+), 0 deletions(-)
+
+diff --git a/drivers/video/omap2/dss/dispc.c b/drivers/video/omap2/dss/dispc.c
+index 2480a03..1bc23f7 100644
+--- a/drivers/video/omap2/dss/dispc.c
++++ b/drivers/video/omap2/dss/dispc.c
+@@ -1850,6 +1850,21 @@ unsigned long dispc_fclk_rate(void)
+ return r;
+ }
+
++unsigned long dispc_lclk_rate(void)
++{
++ int lcd;
++ unsigned long r;
++ u32 l;
++
++ l = dispc_read_reg(DISPC_DIVISOR);
++
++ lcd = FLD_GET(l, 23, 16);
++
++ r = dispc_fclk_rate();
++
++ return r / lcd;
++}
++
+ unsigned long dispc_pclk_rate(void)
+ {
+ int lcd, pcd;
+diff --git a/drivers/video/omap2/dss/dss.h b/drivers/video/omap2/dss/dss.h
+index bac5ece..0be42b6 100644
+--- a/drivers/video/omap2/dss/dss.h
++++ b/drivers/video/omap2/dss/dss.h
+@@ -294,6 +294,7 @@ bool dispc_trans_key_enabled(enum omap_channel ch);
+
+ void dispc_set_lcd_timings(struct omap_video_timings *timings);
+ unsigned long dispc_fclk_rate(void);
++unsigned long dispc_lclk_rate(void);
+ unsigned long dispc_pclk_rate(void);
+ void dispc_set_pol_freq(struct omap_panel *panel);
+ void find_lck_pck_divs(bool is_tft, unsigned long req_pck, unsigned long fck,
+--
+1.5.6.5
+
diff --git a/recipes/linux/linux-omap-pm/dss2/0015-DSS2-DSI-calculate-VP_CLK_RATIO-properly.patch b/recipes/linux/linux-omap-pm/dss2/0015-DSS2-DSI-calculate-VP_CLK_RATIO-properly.patch
new file mode 100644
index 0000000000..d6b0cbbb41
--- /dev/null
+++ b/recipes/linux/linux-omap-pm/dss2/0015-DSS2-DSI-calculate-VP_CLK_RATIO-properly.patch
@@ -0,0 +1,68 @@
+From a5c235a6f0094494ae1fc1a1ba4728e0d33dfd3b Mon Sep 17 00:00:00 2001
+From: Tomi Valkeinen <tomi.valkeinen@nokia.com>
+Date: Thu, 2 Apr 2009 16:49:27 +0300
+Subject: [PATCH] DSS2: DSI: calculate VP_CLK_RATIO properly
+
+---
+ drivers/video/omap2/dss/dsi.c | 17 +++++++++++------
+ 1 files changed, 11 insertions(+), 6 deletions(-)
+
+diff --git a/drivers/video/omap2/dss/dsi.c b/drivers/video/omap2/dss/dsi.c
+index 4442931..aecb89d 100644
+--- a/drivers/video/omap2/dss/dsi.c
++++ b/drivers/video/omap2/dss/dsi.c
+@@ -1104,7 +1104,10 @@ int dsi_pll_init(bool enable_hsclk, bool enable_hsdiv)
+ enable_clocks(1);
+ dsi_enable_pll_clock(1);
+
+- /* configure dispc fck and pixel clock to something sane */
++ /* XXX this should be calculated depending on the screen size,
++ * required framerate and DSI speed.
++ * For now 48MHz is enough for 864x480@60 with 360Mbps/lane
++ * with two lanes */
+ r = dispc_calc_clock_div(1, 48 * 1000 * 1000, &cinfo);
+ if (r)
+ goto err0;
+@@ -1119,7 +1122,7 @@ int dsi_pll_init(bool enable_hsclk, bool enable_hsdiv)
+ if (r)
+ goto err0;
+
+- /* PLL does not come out of reset without this... */
++ /* XXX PLL does not come out of reset without this... */
+ dispc_pck_free_enable(1);
+
+ if (wait_for_bit_change(DSI_PLL_STATUS, 0, 1) != 1) {
+@@ -1128,8 +1131,8 @@ int dsi_pll_init(bool enable_hsclk, bool enable_hsdiv)
+ goto err1;
+ }
+
+- /* ... but if left on, we get problems when planes do not
+- * fill the whole display. No idea about this XXX */
++ /* XXX ... but if left on, we get problems when planes do not
++ * fill the whole display. No idea about this */
+ dispc_pck_free_enable(0);
+
+ if (enable_hsclk && enable_hsdiv)
+@@ -2214,6 +2217,7 @@ static int dsi_proto_config(struct omap_display *display)
+ {
+ u32 r;
+ int buswidth = 0;
++ int div;
+
+ dsi_config_tx_fifo(DSI_FIFO_SIZE_128,
+ DSI_FIFO_SIZE_0,
+@@ -2254,8 +2258,9 @@ static int dsi_proto_config(struct omap_display *display)
+ r = FLD_MOD(r, 1, 1, 1); /* CS_RX_EN */
+ r = FLD_MOD(r, 1, 2, 2); /* ECC_RX_EN */
+ r = FLD_MOD(r, 1, 3, 3); /* TX_FIFO_ARBITRATION */
+- /* XXX what should the ratio be */
+- r = FLD_MOD(r, 0, 4, 4); /* VP_CLK_RATIO, VP_PCLK = VP_CLK/2 */
++
++ div = dispc_lclk_rate() / dispc_pclk_rate();
++ r = FLD_MOD(r, div == 2 ? 0 : 1, 4, 4); /* VP_CLK_RATIO */
+ r = FLD_MOD(r, buswidth, 7, 6); /* VP_DATA_BUS_WIDTH */
+ r = FLD_MOD(r, 0, 8, 8); /* VP_CLK_POL */
+ r = FLD_MOD(r, 2, 13, 12); /* LINE_BUFFER, 2 lines */
+--
+1.5.6.5
+
diff --git a/recipes/linux/linux-omap-pm/dss2/0016-DSS2-DSI-improve-packet-len-calculation.patch b/recipes/linux/linux-omap-pm/dss2/0016-DSS2-DSI-improve-packet-len-calculation.patch
new file mode 100644
index 0000000000..bca449f169
--- /dev/null
+++ b/recipes/linux/linux-omap-pm/dss2/0016-DSS2-DSI-improve-packet-len-calculation.patch
@@ -0,0 +1,58 @@
+From 6b2c9d84c7accdfe1067fcdc8a00e50674aab4bb Mon Sep 17 00:00:00 2001
+From: Tomi Valkeinen <tomi.valkeinen@nokia.com>
+Date: Thu, 2 Apr 2009 17:42:26 +0300
+Subject: [PATCH] DSS2: DSI: improve packet len calculation
+
+---
+ drivers/video/omap2/dss/dsi.c | 21 ++++++++++++++++-----
+ 1 files changed, 16 insertions(+), 5 deletions(-)
+
+diff --git a/drivers/video/omap2/dss/dsi.c b/drivers/video/omap2/dss/dsi.c
+index aecb89d..66ac6ea 100644
+--- a/drivers/video/omap2/dss/dsi.c
++++ b/drivers/video/omap2/dss/dsi.c
+@@ -2624,17 +2624,28 @@ static void dsi_update_screen_dispc(struct omap_display *display,
+ u16 x, u16 y, u16 w, u16 h)
+ {
+ int bytespp = 3;
++ int len;
+ int total_len;
+- int line_packet_len;
++ int packet_payload;
++ int packet_len;
+ u32 l;
+
+ if (dsi.update_mode == OMAP_DSS_UPDATE_MANUAL)
+ DSSDBG("dsi_update_screen_dispc(%d,%d %dx%d)\n",
+ x, y, w, h);
+
+- /* TODO: one packet could be longer, I think? Max is the line buffer */
+- line_packet_len = w * bytespp + 1; /* 1 byte for DCS cmd */
+- total_len = line_packet_len * h;
++ len = w * h * bytespp;
++
++ /* XXX: one packet could be longer, I think? Line buffer is
++ * 1024 x 24bits, but we have to put DCS cmd there also.
++ * 1023 * 3 should work, but causes strange color effects. */
++ packet_payload = min(w, (u16)1020) * bytespp;
++
++ packet_len = packet_payload + 1; /* 1 byte for DCS cmd */
++ total_len = (len / packet_payload) * packet_len;
++
++ if (len % packet_payload)
++ total_len += (len % packet_payload) + 1;
+
+ display->ctrl->setup_update(display, x, y, w, h);
+
+@@ -2646,7 +2657,7 @@ static void dsi_update_screen_dispc(struct omap_display *display,
+ l = FLD_VAL(total_len, 23, 0); /* TE_SIZE */
+ dsi_write_reg(DSI_VC_TE(1), l);
+
+- dsi_vc_write_long_header(1, DSI_DT_DCS_LONG_WRITE, line_packet_len, 0);
++ dsi_vc_write_long_header(1, DSI_DT_DCS_LONG_WRITE, packet_len, 0);
+
+ if (dsi.use_te)
+ l = FLD_MOD(l, 1, 30, 30); /* TE_EN */
+--
+1.5.6.5
+
diff --git a/recipes/linux/linux-omap-pm/dss2/0017-DSS2-Disable-video-planes-on-sync-lost-error.patch b/recipes/linux/linux-omap-pm/dss2/0017-DSS2-Disable-video-planes-on-sync-lost-error.patch
new file mode 100644
index 0000000000..5b68b57da9
--- /dev/null
+++ b/recipes/linux/linux-omap-pm/dss2/0017-DSS2-Disable-video-planes-on-sync-lost-error.patch
@@ -0,0 +1,103 @@
+From 85848d329ca3a2d6ee6841cdc11cc5951d187931 Mon Sep 17 00:00:00 2001
+From: =?utf-8?q?Ville=20Syrj=C3=A4l=C3=A4?= <ville.syrjala@nokia.com>
+Date: Fri, 3 Apr 2009 19:09:20 +0200
+Subject: [PATCH] DSS2: Disable video planes on sync lost error
+MIME-Version: 1.0
+Content-Type: text/plain; charset=utf-8
+Content-Transfer-Encoding: 8bit
+
+When encountering the sync lost error disable the display and all video
+planes on the affected manager. Afterwards re-enable the display.
+
+Signed-off-by: Ville Syrjälä <ville.syrjala@nokia.com>
+---
+ drivers/video/omap2/dss/dispc.c | 50 +++++++++++++++++++++++++++++++++++++++
+ 1 files changed, 50 insertions(+), 0 deletions(-)
+
+diff --git a/drivers/video/omap2/dss/dispc.c b/drivers/video/omap2/dss/dispc.c
+index 1bc23f7..41734f3 100644
+--- a/drivers/video/omap2/dss/dispc.c
++++ b/drivers/video/omap2/dss/dispc.c
+@@ -2518,29 +2518,79 @@ static void dispc_error_worker(struct work_struct *work)
+ }
+
+ if (errors & DISPC_IRQ_SYNC_LOST) {
++ struct omap_overlay_manager *manager = NULL;
++ bool enable = false;
++
+ DSSERR("SYNC_LOST, disabling LCD\n");
++
+ for (i = 0; i < omap_dss_get_num_overlay_managers(); ++i) {
+ struct omap_overlay_manager *mgr;
+ mgr = omap_dss_get_overlay_manager(i);
+
+ if (mgr->id == OMAP_DSS_CHANNEL_LCD) {
++ manager = mgr;
++ enable = mgr->display->state ==
++ OMAP_DSS_DISPLAY_ACTIVE;
+ mgr->display->disable(mgr->display);
+ break;
+ }
+ }
++
++ if (manager) {
++ for (i = 0; i < omap_dss_get_num_overlays(); ++i) {
++ struct omap_overlay *ovl;
++ ovl = omap_dss_get_overlay(i);
++
++ if (!(ovl->caps & OMAP_DSS_OVL_CAP_DISPC))
++ continue;
++
++ if (ovl->id != 0 && ovl->manager == manager)
++ dispc_enable_plane(ovl->id, 0);
++ }
++
++ dispc_go(manager->id);
++ mdelay(50);
++ if (enable)
++ manager->display->enable(manager->display);
++ }
+ }
+
+ if (errors & DISPC_IRQ_SYNC_LOST_DIGIT) {
++ struct omap_overlay_manager *manager = NULL;
++ bool enable = false;
++
+ DSSERR("SYNC_LOST_DIGIT, disabling TV\n");
++
+ for (i = 0; i < omap_dss_get_num_overlay_managers(); ++i) {
+ struct omap_overlay_manager *mgr;
+ mgr = omap_dss_get_overlay_manager(i);
+
+ if (mgr->id == OMAP_DSS_CHANNEL_DIGIT) {
++ manager = mgr;
++ enable = mgr->display->state ==
++ OMAP_DSS_DISPLAY_ACTIVE;
+ mgr->display->disable(mgr->display);
+ break;
+ }
+ }
++
++ if (manager) {
++ for (i = 0; i < omap_dss_get_num_overlays(); ++i) {
++ struct omap_overlay *ovl;
++ ovl = omap_dss_get_overlay(i);
++
++ if (!(ovl->caps & OMAP_DSS_OVL_CAP_DISPC))
++ continue;
++
++ if (ovl->id != 0 && ovl->manager == manager)
++ dispc_enable_plane(ovl->id, 0);
++ }
++
++ dispc_go(manager->id);
++ mdelay(50);
++ if (enable)
++ manager->display->enable(manager->display);
++ }
+ }
+
+ if (errors & DISPC_IRQ_OCP_ERR) {
+--
+1.5.6.5
+
diff --git a/recipes/linux/linux-omap-pm/dss2/0018-DSS2-check-for-ovl-paddr-only-when-enabling.patch b/recipes/linux/linux-omap-pm/dss2/0018-DSS2-check-for-ovl-paddr-only-when-enabling.patch
new file mode 100644
index 0000000000..088135c0a8
--- /dev/null
+++ b/recipes/linux/linux-omap-pm/dss2/0018-DSS2-check-for-ovl-paddr-only-when-enabling.patch
@@ -0,0 +1,40 @@
+From 63e15ba8d5f95b13d3abf359da718537d769f112 Mon Sep 17 00:00:00 2001
+From: Tomi Valkeinen <tomi.valkeinen@nokia.com>
+Date: Tue, 7 Apr 2009 10:01:58 +0300
+Subject: [PATCH] DSS2: check for ovl paddr only when enabling
+
+It seems Xvideo uses SETUP_PLANE ioctl even when
+the fb memory has not been allocated. Sigh.
+---
+ drivers/video/omap2/dss/overlay.c | 8 +++++---
+ 1 files changed, 5 insertions(+), 3 deletions(-)
+
+diff --git a/drivers/video/omap2/dss/overlay.c b/drivers/video/omap2/dss/overlay.c
+index 9209acf..c047206 100644
+--- a/drivers/video/omap2/dss/overlay.c
++++ b/drivers/video/omap2/dss/overlay.c
+@@ -281,6 +281,11 @@ int dss_check_overlay(struct omap_overlay *ovl, struct omap_display *display)
+
+ info = &ovl->info;
+
++ if (info->paddr == 0) {
++ DSSDBG("check_overlay failed: paddr 0\n");
++ return -EINVAL;
++ }
++
+ display->get_resolution(display, &dw, &dh);
+
+ DSSDBG("check_overlay %d: (%d,%d %dx%d -> %dx%d) disp (%dx%d)\n",
+@@ -331,9 +336,6 @@ static int dss_ovl_set_overlay_info(struct omap_overlay *ovl,
+ int r;
+ struct omap_overlay_info old_info;
+
+- if (info->paddr == 0)
+- return -EINVAL;
+-
+ old_info = ovl->info;
+ ovl->info = *info;
+
+--
+1.5.6.5
+
diff --git a/recipes/linux/linux-omap-pm/dss2/0019-DSS2-Check-fclk-limits-when-configuring-video-plane.patch b/recipes/linux/linux-omap-pm/dss2/0019-DSS2-Check-fclk-limits-when-configuring-video-plane.patch
new file mode 100644
index 0000000000..daa95ca50d
--- /dev/null
+++ b/recipes/linux/linux-omap-pm/dss2/0019-DSS2-Check-fclk-limits-when-configuring-video-plane.patch
@@ -0,0 +1,183 @@
+From 67f3fc050ab4e2006d5b7ec6ec341896627181ab Mon Sep 17 00:00:00 2001
+From: =?utf-8?q?Ville=20Syrj=C3=A4l=C3=A4?= <ville.syrjala@nokia.com>
+Date: Mon, 6 Apr 2009 17:32:04 +0200
+Subject: [PATCH] DSS2: Check fclk limits when configuring video planes
+MIME-Version: 1.0
+Content-Type: text/plain; charset=utf-8
+Content-Transfer-Encoding: 8bit
+
+Check that the currect functional clock is fast enough to support
+the requested scaling ratios. Also check if 5-tap filtering can be
+used even though the downscaling ratio is less than 1:2 since the
+functional clock rate required for 5-tap filtering can be less than
+the requirement for 3-tap filtering, and 5-tap filtering should look
+better.
+
+Signed-off-by: Ville Syrjälä <ville.syrjala@nokia.com>
+---
+ drivers/video/omap2/dss/dispc.c | 104 ++++++++++++++++++++++++++++++++++++---
+ 1 files changed, 97 insertions(+), 7 deletions(-)
+
+diff --git a/drivers/video/omap2/dss/dispc.c b/drivers/video/omap2/dss/dispc.c
+index 41734f3..61861d8 100644
+--- a/drivers/video/omap2/dss/dispc.c
++++ b/drivers/video/omap2/dss/dispc.c
+@@ -1026,11 +1026,11 @@ static void _dispc_set_vid_accu1(enum omap_plane plane, int haccu, int vaccu)
+ static void _dispc_set_scaling(enum omap_plane plane,
+ u16 orig_width, u16 orig_height,
+ u16 out_width, u16 out_height,
+- bool ilace)
++ bool ilace, bool five_taps)
+ {
+ int fir_hinc;
+ int fir_vinc;
+- int hscaleup, vscaleup, five_taps;
++ int hscaleup, vscaleup;
+ int fieldmode = 0;
+ int accu0 = 0;
+ int accu1 = 0;
+@@ -1040,7 +1040,6 @@ static void _dispc_set_scaling(enum omap_plane plane,
+
+ hscaleup = orig_width <= out_width;
+ vscaleup = orig_height <= out_height;
+- five_taps = orig_height > out_height * 2;
+
+ _dispc_set_scale_coef(plane, hscaleup, vscaleup, five_taps);
+
+@@ -1283,6 +1282,73 @@ static void calc_rotation_offset(u8 rotation, bool mirror,
+ }
+ }
+
++static unsigned long calc_fclk_five_taps(u16 width, u16 height,
++ u16 out_width, u16 out_height, enum omap_color_mode color_mode)
++{
++ u32 fclk = 0;
++ /* FIXME venc pclk? */
++ u64 tmp, pclk = dispc_pclk_rate();
++
++ if (height > out_height) {
++ /* FIXME get real display PPL */
++ unsigned int ppl = 800;
++
++ tmp = pclk * height * out_width;
++ do_div(tmp, 2 * out_height * ppl);
++ fclk = tmp;
++
++ if (height > 2 * out_height) {
++ tmp = pclk * (height - 2 * out_height) * out_width;
++ do_div(tmp, 2 * out_height * (ppl - out_width));
++ fclk = max(fclk, (u32) tmp);
++ }
++ }
++
++ if (width > out_width) {
++ tmp = pclk * width;
++ do_div(tmp, out_width);
++ fclk = max(fclk, (u32) tmp);
++
++ if (color_mode == OMAP_DSS_COLOR_RGB24U)
++ fclk <<= 1;
++ }
++
++ return fclk;
++}
++
++static unsigned long calc_fclk(u16 width, u16 height,
++ u16 out_width, u16 out_height,
++ enum omap_color_mode color_mode, bool five_taps)
++{
++ unsigned int hf, vf;
++
++ if (five_taps)
++ return calc_fclk_five_taps(width, height,
++ out_width, out_height, color_mode);
++
++ /*
++ * FIXME how to determine the 'A' factor
++ * for the no downscaling case ?
++ */
++
++ if (width > 3 * out_width)
++ hf = 4;
++ else if (width > 2 * out_width)
++ hf = 3;
++ else if (width > out_width)
++ hf = 2;
++ else
++ hf = 1;
++
++ if (height > out_height)
++ vf = 2;
++ else
++ vf = 1;
++
++ /* FIXME venc pclk? */
++ return dispc_pclk_rate() * vf * hf;
++}
++
+ static int _dispc_setup_plane(enum omap_plane plane,
+ enum omap_channel channel_out,
+ u32 paddr, u16 screen_width,
+@@ -1294,7 +1360,7 @@ static int _dispc_setup_plane(enum omap_plane plane,
+ u8 rotation, int mirror)
+ {
+ const int maxdownscale = cpu_is_omap34xx() ? 4 : 2;
+- bool five_taps = height > out_height * 2;
++ bool five_taps = 0;
+ bool fieldmode = 0;
+ int cconv = 0;
+ unsigned offset0, offset1;
+@@ -1323,8 +1389,8 @@ static int _dispc_setup_plane(enum omap_plane plane,
+ }
+ } else {
+ /* video plane */
+- if (width > (2048 >> five_taps))
+- return -EINVAL;
++
++ unsigned long fclk;
+
+ if (out_width < width / maxdownscale ||
+ out_width > width * 8)
+@@ -1356,6 +1422,30 @@ static int _dispc_setup_plane(enum omap_plane plane,
+ default:
+ return -EINVAL;
+ }
++
++ /* Must use 5-tap filter? */
++ five_taps = height > out_height * 2;
++
++ /* Try to use 5-tap filter whenever possible. */
++ if (cpu_is_omap34xx() && !five_taps &&
++ height > out_height && width <= 1024) {
++ fclk = calc_fclk_five_taps(width, height,
++ out_width, out_height, color_mode);
++ if (fclk <= dispc_fclk_rate())
++ five_taps = true;
++ }
++
++ if (width > (2048 >> five_taps))
++ return -EINVAL;
++
++ fclk = calc_fclk(width, height, out_width, out_height,
++ color_mode, five_taps);
++
++ DSSDBG("required fclk rate = %lu Hz\n", fclk);
++ DSSDBG("current fclk rate = %lu Hz\n", dispc_fclk_rate());
++
++ if (fclk > dispc_fclk_rate())
++ return -EINVAL;
+ }
+
+ if (ilace && height >= out_height)
+@@ -1399,7 +1489,7 @@ static int _dispc_setup_plane(enum omap_plane plane,
+ if (plane != OMAP_DSS_GFX) {
+ _dispc_set_scaling(plane, width, height,
+ out_width, out_height,
+- ilace);
++ ilace, five_taps);
+ _dispc_set_vid_size(plane, out_width, out_height);
+ _dispc_set_vid_color_conv(plane, cconv);
+ }
+--
+1.5.6.5
+
diff --git a/recipes/linux/linux-omap-pm/dss2/0020-DSS2-Check-scaling-limits-against-proper-values.patch b/recipes/linux/linux-omap-pm/dss2/0020-DSS2-Check-scaling-limits-against-proper-values.patch
new file mode 100644
index 0000000000..b3248527e8
--- /dev/null
+++ b/recipes/linux/linux-omap-pm/dss2/0020-DSS2-Check-scaling-limits-against-proper-values.patch
@@ -0,0 +1,79 @@
+From 9f8f1613253656f155b3844c8255a560f86e0acd Mon Sep 17 00:00:00 2001
+From: =?utf-8?q?Ville=20Syrj=C3=A4l=C3=A4?= <ville.syrjala@nokia.com>
+Date: Mon, 6 Apr 2009 17:32:05 +0200
+Subject: [PATCH] DSS2: Check scaling limits against proper values
+MIME-Version: 1.0
+Content-Type: text/plain; charset=utf-8
+Content-Transfer-Encoding: 8bit
+
+Move the ilace and fieldmode related height adjustments to be performed
+before checking the scaling limits.
+
+Signed-off-by: Ville Syrjälä <ville.syrjala@nokia.com>
+---
+ drivers/video/omap2/dss/dispc.c | 31 ++++++++++++++++---------------
+ 1 files changed, 16 insertions(+), 15 deletions(-)
+
+diff --git a/drivers/video/omap2/dss/dispc.c b/drivers/video/omap2/dss/dispc.c
+index 61861d8..ae7be3d 100644
+--- a/drivers/video/omap2/dss/dispc.c
++++ b/drivers/video/omap2/dss/dispc.c
+@@ -1366,10 +1366,25 @@ static int _dispc_setup_plane(enum omap_plane plane,
+ unsigned offset0, offset1;
+ s32 row_inc;
+ s32 pix_inc;
++ u16 frame_height = height;
+
+ if (paddr == 0)
+ return -EINVAL;
+
++ if (ilace && height >= out_height)
++ fieldmode = 1;
++
++ if (ilace) {
++ if (fieldmode)
++ height /= 2;
++ pos_y /= 2;
++ out_height /= 2;
++
++ DSSDBG("adjusting for ilace: height %d, pos_y %d, "
++ "out_height %d\n",
++ height, pos_y, out_height);
++ }
++
+ if (plane == OMAP_DSS_GFX) {
+ if (width != out_width || height != out_height)
+ return -EINVAL;
+@@ -1448,28 +1463,14 @@ static int _dispc_setup_plane(enum omap_plane plane,
+ return -EINVAL;
+ }
+
+- if (ilace && height >= out_height)
+- fieldmode = 1;
+-
+ calc_rotation_offset(rotation, mirror,
+- screen_width, width, height, color_mode,
++ screen_width, width, frame_height, color_mode,
+ fieldmode,
+ &offset0, &offset1, &row_inc, &pix_inc);
+
+ DSSDBG("offset0 %u, offset1 %u, row_inc %d, pix_inc %d\n",
+ offset0, offset1, row_inc, pix_inc);
+
+- if (ilace) {
+- if (fieldmode)
+- height /= 2;
+- pos_y /= 2;
+- out_height /= 2;
+-
+- DSSDBG("adjusting for ilace: height %d, pos_y %d, "
+- "out_height %d\n",
+- height, pos_y, out_height);
+- }
+-
+ _dispc_set_channel_out(plane, channel_out);
+ _dispc_set_color_mode(plane, color_mode);
+
+--
+1.5.6.5
+
diff --git a/recipes/linux/linux-omap-pm/dss2/0021-DSS2-Add-venc-register-dump.patch b/recipes/linux/linux-omap-pm/dss2/0021-DSS2-Add-venc-register-dump.patch
new file mode 100644
index 0000000000..31ff180228
--- /dev/null
+++ b/recipes/linux/linux-omap-pm/dss2/0021-DSS2-Add-venc-register-dump.patch
@@ -0,0 +1,96 @@
+From c5e71be877e71c7df329205307e830f158c403bf Mon Sep 17 00:00:00 2001
+From: =?utf-8?q?Ville=20Syrj=C3=A4l=C3=A4?= <ville.syrjala@nokia.com>
+Date: Mon, 6 Apr 2009 17:32:06 +0200
+Subject: [PATCH] DSS2: Add venc register dump
+MIME-Version: 1.0
+Content-Type: text/plain; charset=utf-8
+Content-Transfer-Encoding: 8bit
+
+Add a new file to debugfs to dump the VENC registers. The function
+prototype was already there but the implementation was missing.
+
+Signed-off-by: Ville Syrjälä <ville.syrjala@nokia.com>
+---
+ drivers/video/omap2/dss/venc.c | 55 ++++++++++++++++++++++++++++++++++++++++
+ 1 files changed, 55 insertions(+), 0 deletions(-)
+
+diff --git a/drivers/video/omap2/dss/venc.c b/drivers/video/omap2/dss/venc.c
+index aceed9f..b655df4 100644
+--- a/drivers/video/omap2/dss/venc.c
++++ b/drivers/video/omap2/dss/venc.c
+@@ -30,6 +30,7 @@
+ #include <linux/completion.h>
+ #include <linux/delay.h>
+ #include <linux/string.h>
++#include <linux/seq_file.h>
+
+ #include <mach/display.h>
+ #include <mach/cpu.h>
+@@ -81,6 +82,7 @@
+ #define VENC_TVDETGP_INT_START_STOP_Y 0xB4
+ #define VENC_GEN_CTRL 0xB8
+ #define VENC_OUTPUT_CONTROL 0xC4
++#define VENC_OUTPUT_TEST 0xC8
+ #define VENC_DAC_B__DAC_C 0xC8
+
+ struct venc_config {
+@@ -598,3 +600,56 @@ void venc_init_display(struct omap_display *display)
+ display->set_timings = venc_set_timings;
+ display->check_timings = venc_check_timings;
+ }
++
++void venc_dump_regs(struct seq_file *s)
++{
++#define DUMPREG(r) seq_printf(s, "%-35s %08x\n", #r, venc_read_reg(r))
++
++ venc_enable_clocks(1);
++
++ DUMPREG(VENC_F_CONTROL);
++ DUMPREG(VENC_VIDOUT_CTRL);
++ DUMPREG(VENC_SYNC_CTRL);
++ DUMPREG(VENC_LLEN);
++ DUMPREG(VENC_FLENS);
++ DUMPREG(VENC_HFLTR_CTRL);
++ DUMPREG(VENC_CC_CARR_WSS_CARR);
++ DUMPREG(VENC_C_PHASE);
++ DUMPREG(VENC_GAIN_U);
++ DUMPREG(VENC_GAIN_V);
++ DUMPREG(VENC_GAIN_Y);
++ DUMPREG(VENC_BLACK_LEVEL);
++ DUMPREG(VENC_BLANK_LEVEL);
++ DUMPREG(VENC_X_COLOR);
++ DUMPREG(VENC_M_CONTROL);
++ DUMPREG(VENC_BSTAMP_WSS_DATA);
++ DUMPREG(VENC_S_CARR);
++ DUMPREG(VENC_LINE21);
++ DUMPREG(VENC_LN_SEL);
++ DUMPREG(VENC_L21__WC_CTL);
++ DUMPREG(VENC_HTRIGGER_VTRIGGER);
++ DUMPREG(VENC_SAVID__EAVID);
++ DUMPREG(VENC_FLEN__FAL);
++ DUMPREG(VENC_LAL__PHASE_RESET);
++ DUMPREG(VENC_HS_INT_START_STOP_X);
++ DUMPREG(VENC_HS_EXT_START_STOP_X);
++ DUMPREG(VENC_VS_INT_START_X);
++ DUMPREG(VENC_VS_INT_STOP_X__VS_INT_START_Y);
++ DUMPREG(VENC_VS_INT_STOP_Y__VS_EXT_START_X);
++ DUMPREG(VENC_VS_EXT_STOP_X__VS_EXT_START_Y);
++ DUMPREG(VENC_VS_EXT_STOP_Y);
++ DUMPREG(VENC_AVID_START_STOP_X);
++ DUMPREG(VENC_AVID_START_STOP_Y);
++ DUMPREG(VENC_FID_INT_START_X__FID_INT_START_Y);
++ DUMPREG(VENC_FID_INT_OFFSET_Y__FID_EXT_START_X);
++ DUMPREG(VENC_FID_EXT_START_Y__FID_EXT_OFFSET_Y);
++ DUMPREG(VENC_TVDETGP_INT_START_STOP_X);
++ DUMPREG(VENC_TVDETGP_INT_START_STOP_Y);
++ DUMPREG(VENC_GEN_CTRL);
++ DUMPREG(VENC_OUTPUT_CONTROL);
++ DUMPREG(VENC_OUTPUT_TEST);
++
++ venc_enable_clocks(0);
++
++#undef DUMPREG
++}
+--
+1.5.6.5
+
diff --git a/recipes/linux/linux-omap-pm/dss2/0022-DSS2-FB-remove-unused-var-warning.patch b/recipes/linux/linux-omap-pm/dss2/0022-DSS2-FB-remove-unused-var-warning.patch
new file mode 100644
index 0000000000..d4fb327c76
--- /dev/null
+++ b/recipes/linux/linux-omap-pm/dss2/0022-DSS2-FB-remove-unused-var-warning.patch
@@ -0,0 +1,27 @@
+From facfd479bb6efad76eec1e74048cb7a31da7287d Mon Sep 17 00:00:00 2001
+From: Imre Deak <imre.deak@nokia.com>
+Date: Mon, 6 Apr 2009 22:26:04 +0200
+Subject: [PATCH] DSS2: FB: remove unused var warning
+
+Signed-off-by: Imre Deak <imre.deak@nokia.com>
+---
+ drivers/video/omap2/omapfb/omapfb-main.c | 2 ++
+ 1 files changed, 2 insertions(+), 0 deletions(-)
+
+diff --git a/drivers/video/omap2/omapfb/omapfb-main.c b/drivers/video/omap2/omapfb/omapfb-main.c
+index afe40a9..12ce0c3 100644
+--- a/drivers/video/omap2/omapfb/omapfb-main.c
++++ b/drivers/video/omap2/omapfb/omapfb-main.c
+@@ -1246,7 +1246,9 @@ static int omapfb_alloc_fbmem_display(struct fb_info *fbi, unsigned long size,
+ display->get_resolution(display, &w, &h);
+
+ if (ofbi->rotation_type == OMAPFB_ROT_VRFB) {
++#ifdef DEBUG
+ int oldw = w, oldh = h;
++#endif
+
+ omap_vrfb_adjust_size(&w, &h, bytespp);
+
+--
+1.5.6.5
+
diff --git a/recipes/linux/linux-omap-pm/dss2/0023-DSS2-pass-the-default-FB-color-format-through-board.patch b/recipes/linux/linux-omap-pm/dss2/0023-DSS2-pass-the-default-FB-color-format-through-board.patch
new file mode 100644
index 0000000000..6492905530
--- /dev/null
+++ b/recipes/linux/linux-omap-pm/dss2/0023-DSS2-pass-the-default-FB-color-format-through-board.patch
@@ -0,0 +1,214 @@
+From c02b843c2732bc7b15a3e35b5dd715d68225bbd1 Mon Sep 17 00:00:00 2001
+From: Imre Deak <imre.deak@nokia.com>
+Date: Wed, 8 Apr 2009 12:51:46 +0200
+Subject: [PATCH] DSS2: pass the default FB color format through board info
+
+Add a field to the FB memory region platform data, so that board
+init code can pass a default color format to the driver. Set this
+format as an initial setting for the given FB.
+
+This is needed for an upcoming patch that adds detection of the
+color format set by the bootloader.
+
+Signed-off-by: Imre Deak <imre.deak@nokia.com>
+---
+ drivers/video/omap2/omapfb/omapfb-main.c | 121 +++++++++++++++++++++++++++---
+ drivers/video/omap2/omapfb/omapfb.h | 2 +
+ include/linux/omapfb.h | 5 +
+ 3 files changed, 117 insertions(+), 11 deletions(-)
+
+diff --git a/drivers/video/omap2/omapfb/omapfb-main.c b/drivers/video/omap2/omapfb/omapfb-main.c
+index 12ce0c3..67c67c2 100644
+--- a/drivers/video/omap2/omapfb/omapfb-main.c
++++ b/drivers/video/omap2/omapfb/omapfb-main.c
+@@ -370,6 +370,21 @@ static enum omap_color_mode fb_mode_to_dss_mode(struct fb_var_screeninfo *var)
+ return -EINVAL;
+ }
+
++static int dss_mode_to_fb_mode(enum omap_color_mode dssmode,
++ struct fb_var_screeninfo *var)
++{
++ int i;
++
++ for (i = 0; i < ARRAY_SIZE(omapfb_colormodes); ++i) {
++ struct omapfb_colormode *mode = &omapfb_colormodes[i];
++ if (dssmode == mode->dssmode) {
++ assign_colormode_to_var(var, mode);
++ return 0;
++ }
++ }
++ return -ENOENT;
++}
++
+ void set_fb_fix(struct fb_info *fbi)
+ {
+ struct fb_fix_screeninfo *fix = &fbi->fix;
+@@ -1267,6 +1282,60 @@ static int omapfb_alloc_fbmem_display(struct fb_info *fbi, unsigned long size,
+ return omapfb_alloc_fbmem(fbi, size, paddr);
+ }
+
++static enum omap_color_mode fb_format_to_dss_mode(enum omapfb_color_format format)
++{
++ enum omap_color_mode mode;
++
++ switch (format) {
++ case OMAPFB_COLOR_RGB565:
++ mode = OMAP_DSS_COLOR_RGB16;
++ break;
++ case OMAPFB_COLOR_YUV422:
++ mode = OMAP_DSS_COLOR_YUV2;
++ break;
++ case OMAPFB_COLOR_CLUT_8BPP:
++ mode = OMAP_DSS_COLOR_CLUT8;
++ break;
++ case OMAPFB_COLOR_CLUT_4BPP:
++ mode = OMAP_DSS_COLOR_CLUT4;
++ break;
++ case OMAPFB_COLOR_CLUT_2BPP:
++ mode = OMAP_DSS_COLOR_CLUT2;
++ break;
++ case OMAPFB_COLOR_CLUT_1BPP:
++ mode = OMAP_DSS_COLOR_CLUT1;
++ break;
++ case OMAPFB_COLOR_RGB444:
++ mode = OMAP_DSS_COLOR_RGB12U;
++ break;
++ case OMAPFB_COLOR_YUY422:
++ mode = OMAP_DSS_COLOR_UYVY;
++ break;
++ case OMAPFB_COLOR_ARGB16:
++ mode = OMAP_DSS_COLOR_ARGB16;
++ break;
++ case OMAPFB_COLOR_RGB24U:
++ mode = OMAP_DSS_COLOR_RGB24U;
++ break;
++ case OMAPFB_COLOR_RGB24P:
++ mode = OMAP_DSS_COLOR_RGB24P;
++ break;
++ case OMAPFB_COLOR_ARGB32:
++ mode = OMAP_DSS_COLOR_ARGB32;
++ break;
++ case OMAPFB_COLOR_RGBA32:
++ mode = OMAP_DSS_COLOR_RGBA32;
++ break;
++ case OMAPFB_COLOR_RGBX32:
++ mode = OMAP_DSS_COLOR_RGBX32;
++ break;
++ default:
++ mode = -EINVAL;
++ }
++
++ return mode;
++}
++
+ static int omapfb_parse_vram_param(const char *param, int max_entries,
+ unsigned long *sizes, unsigned long *paddrs)
+ {
+@@ -1483,9 +1552,36 @@ int omapfb_fb_init(struct omapfb2_device *fbdev, struct fb_info *fbi)
+ }
+
+ var->nonstd = 0;
++ var->bits_per_pixel = 0;
+
+ var->rotate = ofbi->rotation;
+
++ /*
++ * Check if there is a default color format set in the board file,
++ * and use this format instead the default deducted from the
++ * display bpp.
++ */
++ if (fbdev->dev->platform_data) {
++ struct omapfb_platform_data *opd;
++ int id = ofbi->id;
++
++ opd = fbdev->dev->platform_data;
++ if (opd->mem_desc.region[id].format_used) {
++ enum omap_color_mode mode;
++ enum omapfb_color_format format;
++
++ format = opd->mem_desc.region[id].format;
++ mode = fb_format_to_dss_mode(format);
++ if (mode < 0) {
++ r = mode;
++ goto err;
++ }
++ r = dss_mode_to_fb_mode(mode, var);
++ if (r < 0)
++ goto err;
++ }
++ }
++
+ if (display) {
+ u16 w, h;
+ display->get_resolution(display, &w, &h);
+@@ -1502,16 +1598,18 @@ int omapfb_fb_init(struct omapfb2_device *fbdev, struct fb_info *fbi)
+ var->xres_virtual = var->xres;
+ var->yres_virtual = var->yres;
+
+- switch (display->get_recommended_bpp(display)) {
+- case 16:
+- var->bits_per_pixel = 16;
+- break;
+- case 24:
+- var->bits_per_pixel = 32;
+- break;
+- default:
+- dev_err(fbdev->dev, "illegal display bpp\n");
+- return -EINVAL;
++ if (!var->bits_per_pixel) {
++ switch (display->get_recommended_bpp(display)) {
++ case 16:
++ var->bits_per_pixel = 16;
++ break;
++ case 24:
++ var->bits_per_pixel = 32;
++ break;
++ default:
++ dev_err(fbdev->dev, "illegal display bpp\n");
++ return -EINVAL;
++ }
+ }
+ } else {
+ /* if there's no display, let's just guess some basic values */
+@@ -1519,7 +1617,8 @@ int omapfb_fb_init(struct omapfb2_device *fbdev, struct fb_info *fbi)
+ var->yres = 240;
+ var->xres_virtual = var->xres;
+ var->yres_virtual = var->yres;
+- var->bits_per_pixel = 16;
++ if (!var->bits_per_pixel)
++ var->bits_per_pixel = 16;
+ }
+
+ r = check_fb_var(fbi, var);
+diff --git a/drivers/video/omap2/omapfb/omapfb.h b/drivers/video/omap2/omapfb/omapfb.h
+index 65e9e6e..2607def 100644
+--- a/drivers/video/omap2/omapfb/omapfb.h
++++ b/drivers/video/omap2/omapfb/omapfb.h
+@@ -27,6 +27,8 @@
+ #define DEBUG
+ #endif
+
++#include <mach/display.h>
++
+ #ifdef DEBUG
+ extern unsigned int omapfb_debug;
+ #define DBG(format, ...) \
+diff --git a/include/linux/omapfb.h b/include/linux/omapfb.h
+index 96190b2..7a34f22 100644
+--- a/include/linux/omapfb.h
++++ b/include/linux/omapfb.h
+@@ -298,6 +298,11 @@ struct omapfb_mem_region {
+ void __iomem *vaddr;
+ unsigned long size;
+ u8 type; /* OMAPFB_PLANE_MEM_* */
++ enum omapfb_color_format format;/* OMAPFB_COLOR_* */
++ unsigned format_used:1; /* Must be set when format is set.
++ * Needed b/c of the badly chosen 0
++ * base for OMAPFB_COLOR_* values
++ */
+ unsigned alloc:1; /* allocated by the driver */
+ unsigned map:1; /* kernel mapped by the driver */
+ };
+--
+1.5.6.5
+
diff --git a/recipes/linux/linux-omap-pm/dss2/0024-DSS2-Beagle-Use-gpio_set_value.patch b/recipes/linux/linux-omap-pm/dss2/0024-DSS2-Beagle-Use-gpio_set_value.patch
new file mode 100644
index 0000000000..559e49f40a
--- /dev/null
+++ b/recipes/linux/linux-omap-pm/dss2/0024-DSS2-Beagle-Use-gpio_set_value.patch
@@ -0,0 +1,48 @@
+From 2710416c43572652cb5355a5eaf68038c95659e8 Mon Sep 17 00:00:00 2001
+From: Tomi Valkeinen <tomi.valkeinen@nokia.com>
+Date: Thu, 9 Apr 2009 12:10:46 +0300
+Subject: [PATCH] DSS2: Beagle: Use gpio_set_value
+
+---
+ arch/arm/mach-omap2/board-omap3beagle.c | 10 +++++++---
+ 1 files changed, 7 insertions(+), 3 deletions(-)
+
+diff --git a/arch/arm/mach-omap2/board-omap3beagle.c b/arch/arm/mach-omap2/board-omap3beagle.c
+index b67e7a5..8c1961d 100644
+--- a/arch/arm/mach-omap2/board-omap3beagle.c
++++ b/arch/arm/mach-omap2/board-omap3beagle.c
+@@ -372,7 +372,7 @@ static struct platform_device keys_gpio = {
+ static int beagle_enable_dvi(struct omap_display *display)
+ {
+ if (display->hw_config.panel_reset_gpio != -1)
+- gpio_direction_output(display->hw_config.panel_reset_gpio, 1);
++ gpio_set_value(display->hw_config.panel_reset_gpio, 1);
+
+ return 0;
+ }
+@@ -380,7 +380,7 @@ static int beagle_enable_dvi(struct omap_display *display)
+ static void beagle_disable_dvi(struct omap_display *display)
+ {
+ if (display->hw_config.panel_reset_gpio != -1)
+- gpio_direction_output(display->hw_config.panel_reset_gpio, 0);
++ gpio_set_value(display->hw_config.panel_reset_gpio, 0);
+ }
+
+ static struct omap_dss_display_config beagle_display_data_dvi = {
+@@ -445,8 +445,12 @@ static void __init beagle_display_init(void)
+ int r;
+
+ r = gpio_request(beagle_display_data_dvi.panel_reset_gpio, "DVI reset");
+- if (r < 0)
++ if (r < 0) {
+ printk(KERN_ERR "Unable to get DVI reset GPIO\n");
++ return;
++ }
++
++ gpio_direction_output(beagle_display_data_dvi.panel_reset_gpio, 0);
+ }
+
+ static struct omap_board_config_kernel omap3_beagle_config[] __initdata = {
+--
+1.5.6.5
+
diff --git a/recipes/linux/linux-omap-pm/dss2/0025-DSS2-VRFB-Macro-for-calculating-base-address-of-th.patch b/recipes/linux/linux-omap-pm/dss2/0025-DSS2-VRFB-Macro-for-calculating-base-address-of-th.patch
new file mode 100644
index 0000000000..e81b1331bb
--- /dev/null
+++ b/recipes/linux/linux-omap-pm/dss2/0025-DSS2-VRFB-Macro-for-calculating-base-address-of-th.patch
@@ -0,0 +1,28 @@
+From 990f3160d33361c135ee72e91f202e05a8c378fc Mon Sep 17 00:00:00 2001
+From: Hardik Shah <hardik.shah@ti.com>
+Date: Mon, 13 Apr 2009 18:50:24 +0530
+Subject: [PATCH] DSS2: VRFB: Macro for calculating base address of the VRFB context was faulty
+
+Signed-off-by: Hardik Shah <hardik.shah@ti.com>
+---
+ arch/arm/plat-omap/vrfb.c | 4 ++--
+ 1 files changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/arch/arm/plat-omap/vrfb.c b/arch/arm/plat-omap/vrfb.c
+index 7e0f8fc..d68065f 100644
+--- a/arch/arm/plat-omap/vrfb.c
++++ b/arch/arm/plat-omap/vrfb.c
+@@ -16,8 +16,8 @@
+
+ #define SMS_ROT_VIRT_BASE(context, rot) \
+ (((context >= 4) ? 0xD0000000 : 0x70000000) \
+- | 0x4000000 * (context) \
+- | 0x1000000 * (rot))
++ + (0x4000000 * (context)) \
++ + (0x1000000 * (rot)))
+
+ #define OMAP_VRFB_SIZE (2048 * 2048 * 4)
+
+--
+1.5.6.5
+
diff --git a/recipes/linux/linux-omap-pm/dss2/0026-DSS2-DSI-sidlemode-to-noidle-while-sending-frame.patch b/recipes/linux/linux-omap-pm/dss2/0026-DSS2-DSI-sidlemode-to-noidle-while-sending-frame.patch
new file mode 100644
index 0000000000..6ee3908d10
--- /dev/null
+++ b/recipes/linux/linux-omap-pm/dss2/0026-DSS2-DSI-sidlemode-to-noidle-while-sending-frame.patch
@@ -0,0 +1,78 @@
+From a1e8018c0806a1a0579eda4b93b7d6764a2ff643 Mon Sep 17 00:00:00 2001
+From: Tomi Valkeinen <tomi.valkeinen@nokia.com>
+Date: Wed, 15 Apr 2009 14:06:54 +0300
+Subject: [PATCH] DSS2: DSI: sidlemode to noidle while sending frame
+
+DISPC interrupts are not wake-up capable. Smart-idle in DISPC_SIDLEMODE
+causes DSS interface to go to idle at the end of the frame, and the
+FRAMEDONE interrupt is then delayed until something wakes up the DSS
+interface.
+
+So we set SIDLEMODE to no-idle when we start sending the frame, and
+set it back to smart-idle after receiving FRAMEDONE.
+---
+ drivers/video/omap2/dss/dispc.c | 10 ++++++++++
+ drivers/video/omap2/dss/dsi.c | 4 ++++
+ drivers/video/omap2/dss/dss.h | 3 +++
+ 3 files changed, 17 insertions(+), 0 deletions(-)
+
+diff --git a/drivers/video/omap2/dss/dispc.c b/drivers/video/omap2/dss/dispc.c
+index ae7be3d..16c68b8 100644
+--- a/drivers/video/omap2/dss/dispc.c
++++ b/drivers/video/omap2/dss/dispc.c
+@@ -2791,6 +2791,16 @@ static void _omap_dispc_initialize_irq(void)
+ omap_dispc_set_irqs();
+ }
+
++void dispc_enable_sidle(void)
++{
++ REG_FLD_MOD(DISPC_SYSCONFIG, 2, 4, 3); /* SIDLEMODE: smart idle */
++}
++
++void dispc_disable_sidle(void)
++{
++ REG_FLD_MOD(DISPC_SYSCONFIG, 1, 4, 3); /* SIDLEMODE: no idle */
++}
++
+ static void _omap_dispc_initial_config(void)
+ {
+ u32 l;
+diff --git a/drivers/video/omap2/dss/dsi.c b/drivers/video/omap2/dss/dsi.c
+index 66ac6ea..50af925 100644
+--- a/drivers/video/omap2/dss/dsi.c
++++ b/drivers/video/omap2/dss/dsi.c
+@@ -2665,6 +2665,8 @@ static void dsi_update_screen_dispc(struct omap_display *display,
+ l = FLD_MOD(l, 1, 31, 31); /* TE_START */
+ dsi_write_reg(DSI_VC_TE(1), l);
+
++ dispc_disable_sidle();
++
+ dispc_enable_lcd_out(1);
+
+ if (dsi.use_te)
+@@ -2678,6 +2680,8 @@ static void framedone_callback(void *data, u32 mask)
+ return;
+ }
+
++ dispc_enable_sidle();
++
+ dsi.framedone_scheduled = 1;
+
+ /* We get FRAMEDONE when DISPC has finished sending pixels and turns
+diff --git a/drivers/video/omap2/dss/dss.h b/drivers/video/omap2/dss/dss.h
+index 0be42b6..d0917a8 100644
+--- a/drivers/video/omap2/dss/dss.h
++++ b/drivers/video/omap2/dss/dss.h
+@@ -244,6 +244,9 @@ void dispc_fake_vsync_irq(void);
+ void dispc_save_context(void);
+ void dispc_restore_context(void);
+
++void dispc_enable_sidle(void);
++void dispc_disable_sidle(void);
++
+ void dispc_lcd_enable_signal_polarity(bool act_high);
+ void dispc_lcd_enable_signal(bool enable);
+ void dispc_pck_free_enable(bool enable);
+--
+1.5.6.5
+
diff --git a/recipes/linux/linux-omap-pm/dss2/0027-DSS2-VRFB-rotation-and-mirroring-implemented.patch b/recipes/linux/linux-omap-pm/dss2/0027-DSS2-VRFB-rotation-and-mirroring-implemented.patch
new file mode 100644
index 0000000000..b56e32a11c
--- /dev/null
+++ b/recipes/linux/linux-omap-pm/dss2/0027-DSS2-VRFB-rotation-and-mirroring-implemented.patch
@@ -0,0 +1,324 @@
+From 77e848eeba461e9b55b09d39fd0d640caea13e19 Mon Sep 17 00:00:00 2001
+From: Hardik Shah <hardik.shah@ti.com>
+Date: Thu, 9 Apr 2009 12:09:44 +0530
+Subject: [PATCH] DSS2: VRFB rotation and mirroring implemented.
+
+DSS2 modified to accept the rotation_type input
+to get the dma or VRFB rotation.
+
+DSS2: VRFB: Changed to pass DSS mode to vrfb_setup instead of Bpp.
+
+VRFB size registers requires the width to be halved when the
+mode is YUV or UYVY. So modifed to pass the mode to omap_vrfb_setup
+function.
+
+Code added by Tim Yamin for few bug fixes
+
+Signed-off-by: Tim Yamin <plasm@roo.me.uk>
+Signed-off-by: Hardik Shah <hardik.shah@ti.com>
+---
+ arch/arm/plat-omap/include/mach/display.h | 6 ++
+ arch/arm/plat-omap/include/mach/vrfb.h | 3 +-
+ arch/arm/plat-omap/vrfb.c | 36 +++++++++-
+ drivers/video/omap2/dss/dispc.c | 109 +++++++++++++++++++++++++++--
+ drivers/video/omap2/dss/dss.h | 1 +
+ drivers/video/omap2/dss/manager.c | 1 +
+ 6 files changed, 144 insertions(+), 12 deletions(-)
+
+diff --git a/arch/arm/plat-omap/include/mach/display.h b/arch/arm/plat-omap/include/mach/display.h
+index 6b702c7..b0a6272 100644
+--- a/arch/arm/plat-omap/include/mach/display.h
++++ b/arch/arm/plat-omap/include/mach/display.h
+@@ -341,6 +341,11 @@ enum omap_dss_overlay_managers {
+
+ struct omap_overlay_manager;
+
++enum omap_dss_rotation_type {
++ OMAP_DSS_ROT_DMA = 0,
++ OMAP_DSS_ROT_VRFB = 1,
++};
++
+ struct omap_overlay_info {
+ bool enabled;
+
+@@ -351,6 +356,7 @@ struct omap_overlay_info {
+ u16 height;
+ enum omap_color_mode color_mode;
+ u8 rotation;
++ enum omap_dss_rotation_type rotation_type;
+ bool mirror;
+
+ u16 pos_x;
+diff --git a/arch/arm/plat-omap/include/mach/vrfb.h b/arch/arm/plat-omap/include/mach/vrfb.h
+index 2047862..12c7fab 100644
+--- a/arch/arm/plat-omap/include/mach/vrfb.h
++++ b/arch/arm/plat-omap/include/mach/vrfb.h
+@@ -24,6 +24,7 @@
+ #ifndef __VRFB_H
+ #define __VRFB_H
+
++#include <mach/display.h>
+ #define OMAP_VRFB_LINE_LEN 2048
+
+ struct vrfb
+@@ -42,6 +43,6 @@ extern void omap_vrfb_adjust_size(u16 *width, u16 *height,
+ u8 bytespp);
+ extern void omap_vrfb_setup(struct vrfb *vrfb, unsigned long paddr,
+ u16 width, u16 height,
+- u8 bytespp);
++ enum omap_color_mode color_mode);
+
+ #endif /* __VRFB_H */
+diff --git a/arch/arm/plat-omap/vrfb.c b/arch/arm/plat-omap/vrfb.c
+index d68065f..2f08f6d 100644
+--- a/arch/arm/plat-omap/vrfb.c
++++ b/arch/arm/plat-omap/vrfb.c
+@@ -5,7 +5,6 @@
+
+ #include <mach/io.h>
+ #include <mach/vrfb.h>
+-
+ /*#define DEBUG*/
+
+ #ifdef DEBUG
+@@ -50,19 +49,48 @@ EXPORT_SYMBOL(omap_vrfb_adjust_size);
+
+ void omap_vrfb_setup(struct vrfb *vrfb, unsigned long paddr,
+ u16 width, u16 height,
+- u8 bytespp)
++ enum omap_color_mode color_mode)
+ {
+ unsigned pixel_size_exp;
+ u16 vrfb_width;
+ u16 vrfb_height;
+ u8 ctx = vrfb->context;
++ u8 bytespp;
+
+ DBG("omapfb_set_vrfb(%d, %lx, %dx%d, %d)\n", ctx, paddr,
+ width, height, bytespp);
+
+- if (bytespp == 4)
++ switch (color_mode) {
++ case OMAP_DSS_COLOR_RGB16:
++ case OMAP_DSS_COLOR_ARGB16:
++ bytespp = 2;
++ break;
++
++ case OMAP_DSS_COLOR_RGB24P:
++ bytespp = 3;
++ break;
++
++ case OMAP_DSS_COLOR_RGB24U:
++ case OMAP_DSS_COLOR_ARGB32:
++ case OMAP_DSS_COLOR_RGBA32:
++ case OMAP_DSS_COLOR_RGBX32:
++ case OMAP_DSS_COLOR_YUV2:
++ case OMAP_DSS_COLOR_UYVY:
++ bytespp = 4;
++ break;
++
++ default:
++ BUG();
++ return;
++ }
++
++ if (color_mode == OMAP_DSS_COLOR_YUV2 ||
++ color_mode == OMAP_DSS_COLOR_UYVY)
++ width >>= 1;
++
++ if (bytespp == 4) {
+ pixel_size_exp = 2;
+- else if (bytespp == 2)
++ } else if (bytespp == 2)
+ pixel_size_exp = 1;
+ else
+ BUG();
+diff --git a/drivers/video/omap2/dss/dispc.c b/drivers/video/omap2/dss/dispc.c
+index 16c68b8..23a8155 100644
+--- a/drivers/video/omap2/dss/dispc.c
++++ b/drivers/video/omap2/dss/dispc.c
+@@ -1106,7 +1106,7 @@ static void _dispc_set_rotation_attrs(enum omap_plane plane, u8 rotation,
+ case 0: vidrot = 0; break;
+ case 1: vidrot = 1; break;
+ case 2: vidrot = 2; break;
+- case 3: vidrot = 1; break;
++ case 3: vidrot = 3; break;
+ }
+ }
+
+@@ -1134,7 +1134,92 @@ static s32 pixinc(int pixels, u8 ps)
+ BUG();
+ }
+
+-static void calc_rotation_offset(u8 rotation, bool mirror,
++static void calc_vrfb_rotation_offset(u8 rotation, bool mirror,
++ u16 screen_width,
++ u16 width, u16 height,
++ enum omap_color_mode color_mode, bool fieldmode,
++ unsigned *offset0, unsigned *offset1,
++ s32 *row_inc, s32 *pix_inc)
++{
++ u8 ps;
++
++ switch (color_mode) {
++ case OMAP_DSS_COLOR_RGB16:
++ case OMAP_DSS_COLOR_ARGB16:
++ ps = 2;
++ break;
++
++ case OMAP_DSS_COLOR_RGB24P:
++ ps = 3;
++ break;
++
++ case OMAP_DSS_COLOR_RGB24U:
++ case OMAP_DSS_COLOR_ARGB32:
++ case OMAP_DSS_COLOR_RGBA32:
++ case OMAP_DSS_COLOR_RGBX32:
++ case OMAP_DSS_COLOR_YUV2:
++ case OMAP_DSS_COLOR_UYVY:
++ ps = 4;
++ break;
++
++ default:
++ BUG();
++ return;
++ }
++
++ DSSDBG("calc_rot(%d): scrw %d, %dx%d\n", rotation, screen_width,
++ width, height);
++ switch (rotation + mirror * 4) {
++ case 0:
++ case 2:
++ /*
++ * If the pixel format is YUV or UYVY divide the width
++ * of the image by 2 for 0 and 180 degree rotation.
++ */
++ if (color_mode == OMAP_DSS_COLOR_YUV2 ||
++ color_mode == OMAP_DSS_COLOR_UYVY)
++ width = width >> 1;
++ case 1:
++ case 3:
++ *offset0 = 0;
++ if (fieldmode)
++ *offset1 = screen_width * ps;
++ else
++ *offset1 = 0;
++
++ *row_inc = pixinc(1 + (screen_width - width) +
++ (fieldmode ? screen_width : 0),
++ ps);
++ *pix_inc = pixinc(1, ps);
++ break;
++
++ case 4:
++ case 6:
++ /* If the pixel format is YUV or UYVY divide the width
++ * of the image by 2 for 0 degree and 180 degree
++ */
++ if (color_mode == OMAP_DSS_COLOR_YUV2 ||
++ color_mode == OMAP_DSS_COLOR_UYVY)
++ width = width >> 1;
++ case 5:
++ case 7:
++ *offset0 = 0;
++ if (fieldmode)
++ *offset1 = screen_width * ps;
++ else
++ *offset1 = 0;
++ *row_inc = pixinc(1 - (screen_width + width) -
++ (fieldmode ? screen_width : 0),
++ ps);
++ *pix_inc = pixinc(1, ps);
++ break;
++
++ default:
++ BUG();
++ }
++}
++
++static void calc_dma_rotation_offset(u8 rotation, bool mirror,
+ u16 screen_width,
+ u16 width, u16 height,
+ enum omap_color_mode color_mode, bool fieldmode,
+@@ -1357,6 +1442,7 @@ static int _dispc_setup_plane(enum omap_plane plane,
+ u16 out_width, u16 out_height,
+ enum omap_color_mode color_mode,
+ bool ilace,
++ enum omap_dss_rotation_type rotation_type,
+ u8 rotation, int mirror)
+ {
+ const int maxdownscale = cpu_is_omap34xx() ? 4 : 2;
+@@ -1463,10 +1549,16 @@ static int _dispc_setup_plane(enum omap_plane plane,
+ return -EINVAL;
+ }
+
+- calc_rotation_offset(rotation, mirror,
+- screen_width, width, frame_height, color_mode,
+- fieldmode,
+- &offset0, &offset1, &row_inc, &pix_inc);
++ if (rotation_type == OMAP_DSS_ROT_DMA)
++ calc_dma_rotation_offset(rotation, mirror,
++ screen_width, width, frame_height, color_mode,
++ fieldmode,
++ &offset0, &offset1, &row_inc, &pix_inc);
++ else
++ calc_vrfb_rotation_offset(rotation, mirror,
++ screen_width, width, frame_height, color_mode,
++ fieldmode,
++ &offset0, &offset1, &row_inc, &pix_inc);
+
+ DSSDBG("offset0 %u, offset1 %u, row_inc %d, pix_inc %d\n",
+ offset0, offset1, row_inc, pix_inc);
+@@ -2889,6 +2981,7 @@ int dispc_setup_plane(enum omap_plane plane, enum omap_channel channel_out,
+ u16 out_width, u16 out_height,
+ enum omap_color_mode color_mode,
+ bool ilace,
++ enum omap_dss_rotation_type rotation_type,
+ u8 rotation, bool mirror)
+ {
+ int r = 0;
+@@ -2909,6 +3002,7 @@ int dispc_setup_plane(enum omap_plane plane, enum omap_channel channel_out,
+ width, height,
+ out_width, out_height,
+ color_mode, ilace,
++ rotation_type,
+ rotation, mirror);
+
+ enable_clocks(0);
+@@ -3122,7 +3216,8 @@ void dispc_setup_partial_planes(struct omap_display *display,
+ pw, ph,
+ pow, poh,
+ pi->color_mode, 0,
+- pi->rotation, // XXX rotation probably wrong
++ pi->rotation_type,
++ pi->rotation,
+ pi->mirror);
+
+ dispc_enable_plane(ovl->id, 1);
+diff --git a/drivers/video/omap2/dss/dss.h b/drivers/video/omap2/dss/dss.h
+index d0917a8..584dce6 100644
+--- a/drivers/video/omap2/dss/dss.h
++++ b/drivers/video/omap2/dss/dss.h
+@@ -272,6 +272,7 @@ int dispc_setup_plane(enum omap_plane plane, enum omap_channel channel_out,
+ u16 out_width, u16 out_height,
+ enum omap_color_mode color_mode,
+ bool ilace,
++ enum omap_dss_rotation_type rotation_type,
+ u8 rotation, bool mirror);
+
+ void dispc_go(enum omap_channel channel);
+diff --git a/drivers/video/omap2/dss/manager.c b/drivers/video/omap2/dss/manager.c
+index b0fee80..8ca0bbb 100644
+--- a/drivers/video/omap2/dss/manager.c
++++ b/drivers/video/omap2/dss/manager.c
+@@ -395,6 +395,7 @@ static int omap_dss_mgr_apply(struct omap_overlay_manager *mgr)
+ outh,
+ ovl->info.color_mode,
+ ilace,
++ ovl->info.rotation_type,
+ ovl->info.rotation,
+ ovl->info.mirror);
+
+--
+1.5.6.5
+
diff --git a/recipes/linux/linux-omap-pm/dss2/0028-DSS2-OMAPFB-Added-support-for-the-YUV-VRFB-rotatio.patch b/recipes/linux/linux-omap-pm/dss2/0028-DSS2-OMAPFB-Added-support-for-the-YUV-VRFB-rotatio.patch
new file mode 100644
index 0000000000..6400da3c24
--- /dev/null
+++ b/recipes/linux/linux-omap-pm/dss2/0028-DSS2-OMAPFB-Added-support-for-the-YUV-VRFB-rotatio.patch
@@ -0,0 +1,236 @@
+From c09f1a0642fd58a1b081594ea36dfd1bf71aec52 Mon Sep 17 00:00:00 2001
+From: Hardik Shah <hardik.shah@ti.com>
+Date: Thu, 9 Apr 2009 12:13:07 +0530
+Subject: [PATCH] DSS2: OMAPFB: Added support for the YUV VRFB rotation and mirroring.
+
+DSS2 now requires roatation_type to be specified by driver.
+Added support for that.
+DSS2 OMAPFB: Modified to pass the dss mode to omap_vrfb_setup function.
+
+VRFB size register requires the width to be halved when the
+mode is YUV or UYVY. So VRFB is modifed to pass the mode to omap_vrfb_setup
+function.
+
+Few changes done by Tim Yamin
+Signed-off-by: Tim Yamin <plasm@roo.me.uk>
+Signed-off-by: Hardik Shah <hardik.shah@ti.com>
+---
+ arch/arm/plat-omap/vrfb.c | 4 +-
+ drivers/video/omap2/omapfb/omapfb-main.c | 59 ++++++++++++++----------------
+ drivers/video/omap2/omapfb/omapfb.h | 7 +---
+ 3 files changed, 30 insertions(+), 40 deletions(-)
+
+diff --git a/arch/arm/plat-omap/vrfb.c b/arch/arm/plat-omap/vrfb.c
+index 2f08f6d..2ae0d68 100644
+--- a/arch/arm/plat-omap/vrfb.c
++++ b/arch/arm/plat-omap/vrfb.c
+@@ -88,9 +88,9 @@ void omap_vrfb_setup(struct vrfb *vrfb, unsigned long paddr,
+ color_mode == OMAP_DSS_COLOR_UYVY)
+ width >>= 1;
+
+- if (bytespp == 4) {
++ if (bytespp == 4)
+ pixel_size_exp = 2;
+- } else if (bytespp == 2)
++ else if (bytespp == 2)
+ pixel_size_exp = 1;
+ else
+ BUG();
+diff --git a/drivers/video/omap2/omapfb/omapfb-main.c b/drivers/video/omap2/omapfb/omapfb-main.c
+index 67c67c2..57f5900 100644
+--- a/drivers/video/omap2/omapfb/omapfb-main.c
++++ b/drivers/video/omap2/omapfb/omapfb-main.c
+@@ -176,15 +176,9 @@ static unsigned omapfb_get_vrfb_offset(struct omapfb_info *ofbi, int rot)
+
+ static u32 omapfb_get_region_rot_paddr(struct omapfb_info *ofbi)
+ {
+- if (ofbi->rotation_type == OMAPFB_ROT_VRFB) {
+- unsigned offset;
+- int rot;
+-
+- rot = ofbi->rotation;
+-
+- offset = omapfb_get_vrfb_offset(ofbi, rot);
+-
+- return ofbi->region.vrfb.paddr[rot] + offset;
++ if (ofbi->rotation_type == OMAP_DSS_ROT_VRFB) {
++ return ofbi->region.vrfb.paddr[ofbi->rotation]
++ + omapfb_get_vrfb_offset(ofbi, ofbi->rotation);
+ } else {
+ return ofbi->region.paddr;
+ }
+@@ -192,7 +186,7 @@ static u32 omapfb_get_region_rot_paddr(struct omapfb_info *ofbi)
+
+ u32 omapfb_get_region_paddr(struct omapfb_info *ofbi)
+ {
+- if (ofbi->rotation_type == OMAPFB_ROT_VRFB)
++ if (ofbi->rotation_type == OMAP_DSS_ROT_VRFB)
+ return ofbi->region.vrfb.paddr[0];
+ else
+ return ofbi->region.paddr;
+@@ -200,7 +194,7 @@ u32 omapfb_get_region_paddr(struct omapfb_info *ofbi)
+
+ void __iomem *omapfb_get_region_vaddr(struct omapfb_info *ofbi)
+ {
+- if (ofbi->rotation_type == OMAPFB_ROT_VRFB)
++ if (ofbi->rotation_type == OMAP_DSS_ROT_VRFB)
+ return ofbi->region.vrfb.vaddr[0];
+ else
+ return ofbi->region.vaddr;
+@@ -398,7 +392,7 @@ void set_fb_fix(struct fb_info *fbi)
+ fbi->screen_base = (char __iomem *)omapfb_get_region_vaddr(ofbi);
+
+ /* used by mmap in fbmem.c */
+- if (ofbi->rotation_type == OMAPFB_ROT_VRFB)
++ if (ofbi->rotation_type == OMAP_DSS_ROT_VRFB)
+ fix->line_length =
+ (OMAP_VRFB_LINE_LEN * var->bits_per_pixel) >> 3;
+ else
+@@ -434,11 +428,14 @@ void set_fb_fix(struct fb_info *fbi)
+ fix->xpanstep = 1;
+ fix->ypanstep = 1;
+
+- if (rg->size) {
+- if (ofbi->rotation_type == OMAPFB_ROT_VRFB)
+- omap_vrfb_setup(&rg->vrfb, rg->paddr,
+- var->xres_virtual, var->yres_virtual,
+- var->bits_per_pixel >> 3);
++ if (rg->size && ofbi->rotation_type == OMAP_DSS_ROT_VRFB) {
++ enum omap_color_mode mode = 0;
++ mode = fb_mode_to_dss_mode(var);
++
++ omap_vrfb_setup(&rg->vrfb, rg->paddr,
++ var->xres_virtual,
++ var->yres_virtual,
++ mode);
+ }
+ }
+
+@@ -527,7 +524,7 @@ int check_fb_var(struct fb_info *fbi, struct fb_var_screeninfo *var)
+ if (var->yres > var->yres_virtual)
+ var->yres = var->yres_virtual;
+
+- if (ofbi->rotation_type == OMAPFB_ROT_VRFB)
++ if (ofbi->rotation_type == OMAP_DSS_ROT_VRFB)
+ line_size = OMAP_VRFB_LINE_LEN * bytespp;
+ else
+ line_size = var->xres_virtual * bytespp;
+@@ -549,7 +546,7 @@ int check_fb_var(struct fb_info *fbi, struct fb_var_screeninfo *var)
+
+ if (line_size * var->yres_virtual > max_frame_size) {
+ DBG("can't fit FB into memory, reducing x\n");
+- if (ofbi->rotation_type == OMAPFB_ROT_VRFB)
++ if (ofbi->rotation_type == OMAP_DSS_ROT_VRFB)
+ return -EINVAL;
+
+ var->xres_virtual = max_frame_size / var->yres_virtual /
+@@ -672,7 +669,7 @@ static int omapfb_setup_overlay(struct fb_info *fbi, struct omap_overlay *ovl,
+ struct omap_overlay_info info;
+ int xres, yres;
+ int screen_width;
+- int rot, mirror;
++ int mirror;
+
+ DBG("setup_overlay %d, posx %d, posy %d, outw %d, outh %d\n", ofbi->id,
+ posx, posy, outw, outh);
+@@ -688,7 +685,7 @@ static int omapfb_setup_overlay(struct fb_info *fbi, struct omap_overlay *ovl,
+ offset = ((var->yoffset * var->xres_virtual +
+ var->xoffset) * var->bits_per_pixel) >> 3;
+
+- if (ofbi->rotation_type == OMAPFB_ROT_VRFB) {
++ if (ofbi->rotation_type == OMAP_DSS_ROT_VRFB) {
+ data_start_p = omapfb_get_region_rot_paddr(ofbi);
+ data_start_v = NULL;
+ } else {
+@@ -711,13 +708,10 @@ static int omapfb_setup_overlay(struct fb_info *fbi, struct omap_overlay *ovl,
+
+ ovl->get_overlay_info(ovl, &info);
+
+- if (ofbi->rotation_type == OMAPFB_ROT_VRFB) {
+- rot = 0;
++ if (ofbi->rotation_type == OMAP_DSS_ROT_VRFB)
+ mirror = 0;
+- } else {
+- rot = ofbi->rotation;
++ else
+ mirror = ofbi->mirror;
+- }
+
+ info.paddr = data_start_p;
+ info.vaddr = data_start_v;
+@@ -725,7 +719,8 @@ static int omapfb_setup_overlay(struct fb_info *fbi, struct omap_overlay *ovl,
+ info.width = xres;
+ info.height = yres;
+ info.color_mode = mode;
+- info.rotation = rot;
++ info.rotation_type = ofbi->rotation_type;
++ info.rotation = ofbi->rotation;
+ info.mirror = mirror;
+
+ info.pos_x = posx;
+@@ -1121,7 +1116,7 @@ static void omapfb_free_fbmem(struct fb_info *fbi)
+ if (rg->vaddr)
+ iounmap(rg->vaddr);
+
+- if (ofbi->rotation_type == OMAPFB_ROT_VRFB) {
++ if (ofbi->rotation_type == OMAP_DSS_ROT_VRFB) {
+ /* unmap the 0 angle rotation */
+ if (rg->vrfb.vaddr[0]) {
+ iounmap(rg->vrfb.vaddr[0]);
+@@ -1181,7 +1176,7 @@ static int omapfb_alloc_fbmem(struct fb_info *fbi, unsigned long size,
+ return -ENOMEM;
+ }
+
+- if (ofbi->rotation_type != OMAPFB_ROT_VRFB) {
++ if (ofbi->rotation_type != OMAP_DSS_ROT_VRFB) {
+ vaddr = ioremap_wc(paddr, size);
+
+ if (!vaddr) {
+@@ -1260,7 +1255,7 @@ static int omapfb_alloc_fbmem_display(struct fb_info *fbi, unsigned long size,
+
+ display->get_resolution(display, &w, &h);
+
+- if (ofbi->rotation_type == OMAPFB_ROT_VRFB) {
++ if (ofbi->rotation_type == OMAP_DSS_ROT_VRFB) {
+ #ifdef DEBUG
+ int oldw = w, oldh = h;
+ #endif
+@@ -1701,8 +1696,8 @@ static int omapfb_create_framebuffers(struct omapfb2_device *fbdev)
+ ofbi->id = i;
+
+ /* assign these early, so that fb alloc can use them */
+- ofbi->rotation_type = def_vrfb ? OMAPFB_ROT_VRFB :
+- OMAPFB_ROT_DMA;
++ ofbi->rotation_type = def_vrfb ? OMAP_DSS_ROT_VRFB :
++ OMAP_DSS_ROT_DMA;
+ ofbi->rotation = def_rotate;
+ ofbi->mirror = def_mirror;
+
+diff --git a/drivers/video/omap2/omapfb/omapfb.h b/drivers/video/omap2/omapfb/omapfb.h
+index 2607def..43f6922 100644
+--- a/drivers/video/omap2/omapfb/omapfb.h
++++ b/drivers/video/omap2/omapfb/omapfb.h
+@@ -53,11 +53,6 @@ struct omapfb2_mem_region {
+ bool map; /* kernel mapped by the driver */
+ };
+
+-enum omapfb_rotation_type {
+- OMAPFB_ROT_DMA = 0,
+- OMAPFB_ROT_VRFB = 1,
+-};
+-
+ /* appended to fb_info */
+ struct omapfb_info {
+ int id;
+@@ -66,7 +61,7 @@ struct omapfb_info {
+ int num_overlays;
+ struct omap_overlay *overlays[OMAPFB_MAX_OVL_PER_FB];
+ struct omapfb2_device *fbdev;
+- enum omapfb_rotation_type rotation_type;
++ enum omap_dss_rotation_type rotation_type;
+ u8 rotation;
+ bool mirror;
+ };
+--
+1.5.6.5
+
diff --git a/recipes/linux/linux-omap-pm/dss2/0029-DSS2-OMAPFB-Set-line_length-correctly-for-YUV-with.patch b/recipes/linux/linux-omap-pm/dss2/0029-DSS2-OMAPFB-Set-line_length-correctly-for-YUV-with.patch
new file mode 100644
index 0000000000..072978670b
--- /dev/null
+++ b/recipes/linux/linux-omap-pm/dss2/0029-DSS2-OMAPFB-Set-line_length-correctly-for-YUV-with.patch
@@ -0,0 +1,61 @@
+From a8a37babe4856170f4cba86c425a8f21975d9e9e Mon Sep 17 00:00:00 2001
+From: Tim Yamin <plasm@roo.me.uk>
+Date: Mon, 13 Apr 2009 13:57:42 -0700
+Subject: [PATCH] DSS2: OMAPFB: Set line_length correctly for YUV with VRFB.
+
+Signed-off-by: Tim Yamin <plasm@roo.me.uk>
+---
+ drivers/video/omap2/omapfb/omapfb-main.c | 30 +++++++++++++++++++++++++-----
+ 1 files changed, 25 insertions(+), 5 deletions(-)
+
+diff --git a/drivers/video/omap2/omapfb/omapfb-main.c b/drivers/video/omap2/omapfb/omapfb-main.c
+index 57f5900..cd63740 100644
+--- a/drivers/video/omap2/omapfb/omapfb-main.c
++++ b/drivers/video/omap2/omapfb/omapfb-main.c
+@@ -392,10 +392,19 @@ void set_fb_fix(struct fb_info *fbi)
+ fbi->screen_base = (char __iomem *)omapfb_get_region_vaddr(ofbi);
+
+ /* used by mmap in fbmem.c */
+- if (ofbi->rotation_type == OMAP_DSS_ROT_VRFB)
+- fix->line_length =
+- (OMAP_VRFB_LINE_LEN * var->bits_per_pixel) >> 3;
+- else
++ if (ofbi->rotation_type == OMAP_DSS_ROT_VRFB) {
++ switch (var->nonstd) {
++ case OMAPFB_COLOR_YUV422:
++ case OMAPFB_COLOR_YUY422:
++ fix->line_length =
++ (OMAP_VRFB_LINE_LEN * var->bits_per_pixel) >> 2;
++ break;
++ default:
++ fix->line_length =
++ (OMAP_VRFB_LINE_LEN * var->bits_per_pixel) >> 3;
++ break;
++ }
++ } else
+ fix->line_length =
+ (var->xres_virtual * var->bits_per_pixel) >> 3;
+ fix->smem_start = omapfb_get_region_paddr(ofbi);
+@@ -704,7 +713,18 @@ static int omapfb_setup_overlay(struct fb_info *fbi, struct omap_overlay *ovl,
+ goto err;
+ }
+
+- screen_width = fix->line_length / (var->bits_per_pixel >> 3);
++ switch (var->nonstd) {
++ case OMAPFB_COLOR_YUV422:
++ case OMAPFB_COLOR_YUY422:
++ if (ofbi->rotation_type == OMAP_DSS_ROT_VRFB) {
++ screen_width = fix->line_length
++ / (var->bits_per_pixel >> 2);
++ break;
++ }
++ default:
++ screen_width = fix->line_length / (var->bits_per_pixel >> 3);
++ break;
++ }
+
+ ovl->get_overlay_info(ovl, &info);
+
+--
+1.5.6.5
+
diff --git a/recipes/linux/linux-omap-pm/dss2/0030-DSS2-dispc_get_trans_key-was-returning-wrong-key-ty.patch b/recipes/linux/linux-omap-pm/dss2/0030-DSS2-dispc_get_trans_key-was-returning-wrong-key-ty.patch
new file mode 100644
index 0000000000..7e2bb48938
--- /dev/null
+++ b/recipes/linux/linux-omap-pm/dss2/0030-DSS2-dispc_get_trans_key-was-returning-wrong-key-ty.patch
@@ -0,0 +1,29 @@
+From bda19b9359d9dc60f8b0beb5685e173e236ee30f Mon Sep 17 00:00:00 2001
+From: Hardik Shah <hardik.shah@ti.com>
+Date: Wed, 15 Apr 2009 17:05:18 +0530
+Subject: [PATCH] DSS2: dispc_get_trans_key was returning wrong key type
+
+Signed-off-by: Hardik Shah <hardik.shah@ti.com>
+---
+ drivers/video/omap2/dss/dispc.c | 4 ++--
+ 1 files changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/drivers/video/omap2/dss/dispc.c b/drivers/video/omap2/dss/dispc.c
+index 23a8155..076d3d4 100644
+--- a/drivers/video/omap2/dss/dispc.c
++++ b/drivers/video/omap2/dss/dispc.c
+@@ -1826,9 +1826,9 @@ void dispc_get_trans_key(enum omap_channel ch,
+ enable_clocks(1);
+ if (type) {
+ if (ch == OMAP_DSS_CHANNEL_LCD)
+- *type = REG_GET(DISPC_CONFIG, 11, 11) >> 11;
++ *type = REG_GET(DISPC_CONFIG, 11, 11);
+ else if (ch == OMAP_DSS_CHANNEL_DIGIT)
+- *type = REG_GET(DISPC_CONFIG, 13, 13) >> 13;
++ *type = REG_GET(DISPC_CONFIG, 13, 13);
+ else
+ BUG();
+ }
+--
+1.5.6.5
+
diff --git a/recipes/linux/linux-omap-pm/dss2/0031-DSS2-do-bootmem-reserve-for-exclusive-access.patch b/recipes/linux/linux-omap-pm/dss2/0031-DSS2-do-bootmem-reserve-for-exclusive-access.patch
new file mode 100644
index 0000000000..ae777ed04e
--- /dev/null
+++ b/recipes/linux/linux-omap-pm/dss2/0031-DSS2-do-bootmem-reserve-for-exclusive-access.patch
@@ -0,0 +1,33 @@
+From 30c40f5e6b1794430f678bf23d3319354321cab7 Mon Sep 17 00:00:00 2001
+From: Imre Deak <imre.deak@nokia.com>
+Date: Tue, 14 Apr 2009 14:50:11 +0200
+Subject: [PATCH] DSS2: do bootmem reserve for exclusive access
+
+BOOTMEM_DEFAULT would allow multiple reservations for the same location,
+we need to reserve the region for our exclusive use. Also check if the
+reserve succeeded.
+
+Signed-off-by: Imre Deak <imre.deak@nokia.com>
+---
+ arch/arm/plat-omap/vram.c | 5 ++++-
+ 1 files changed, 4 insertions(+), 1 deletions(-)
+
+diff --git a/arch/arm/plat-omap/vram.c b/arch/arm/plat-omap/vram.c
+index f24a110..520f260 100644
+--- a/arch/arm/plat-omap/vram.c
++++ b/arch/arm/plat-omap/vram.c
+@@ -524,7 +524,10 @@ void __init omapfb_reserve_sdram(void)
+ return;
+ }
+
+- reserve_bootmem(paddr, size, BOOTMEM_DEFAULT);
++ if (reserve_bootmem(paddr, size, BOOTMEM_EXCLUSIVE) < 0) {
++ pr_err("FB: failed to reserve VRAM\n");
++ return;
++ }
+ } else {
+ if (size > sdram_size) {
+ printk(KERN_ERR "Illegal SDRAM size for VRAM\n");
+--
+1.5.6.5
+
diff --git a/recipes/linux/linux-omap-pm/dss2/0032-DSS2-Fix-DISPC_VID_FIR-value-for-omap34xx.patch b/recipes/linux/linux-omap-pm/dss2/0032-DSS2-Fix-DISPC_VID_FIR-value-for-omap34xx.patch
new file mode 100644
index 0000000000..4959a760b1
--- /dev/null
+++ b/recipes/linux/linux-omap-pm/dss2/0032-DSS2-Fix-DISPC_VID_FIR-value-for-omap34xx.patch
@@ -0,0 +1,35 @@
+From ed7a9223f6785be03951c55f3b0695b0d5635c80 Mon Sep 17 00:00:00 2001
+From: =?utf-8?q?Ville=20Syrj=C3=A4l=C3=A4?= <ville.syrjala@nokia.com>
+Date: Thu, 9 Apr 2009 15:04:44 +0200
+Subject: [PATCH] DSS2: Fix DISPC_VID_FIR value for omap34xx
+MIME-Version: 1.0
+Content-Type: text/plain; charset=utf-8
+Content-Transfer-Encoding: 8bit
+
+The msbs of the DISPC_VID_FIR fields were incorrectly masked out on
+omap34xx and thus 4:1 downscale did not work correctly.
+
+Signed-off-by: Ville Syrjälä <ville.syrjala@nokia.com>
+---
+ drivers/video/omap2/dss/dispc.c | 5 ++++-
+ 1 files changed, 4 insertions(+), 1 deletions(-)
+
+diff --git a/drivers/video/omap2/dss/dispc.c b/drivers/video/omap2/dss/dispc.c
+index 076d3d4..b8a3329 100644
+--- a/drivers/video/omap2/dss/dispc.c
++++ b/drivers/video/omap2/dss/dispc.c
+@@ -994,7 +994,10 @@ static void _dispc_set_fir(enum omap_plane plane, int hinc, int vinc)
+
+ BUG_ON(plane == OMAP_DSS_GFX);
+
+- val = FLD_VAL(vinc, 27, 16) | FLD_VAL(hinc, 11, 0);
++ if (cpu_is_omap24xx())
++ val = FLD_VAL(vinc, 27, 16) | FLD_VAL(hinc, 11, 0);
++ else
++ val = FLD_VAL(vinc, 28, 16) | FLD_VAL(hinc, 12, 0);
+ dispc_write_reg(fir_reg[plane-1], val);
+ }
+
+--
+1.5.6.5
+
diff --git a/recipes/linux/linux-omap-pm/dss2/0033-DSS2-Prefer-3-tap-filter.patch b/recipes/linux/linux-omap-pm/dss2/0033-DSS2-Prefer-3-tap-filter.patch
new file mode 100644
index 0000000000..f643ca64f3
--- /dev/null
+++ b/recipes/linux/linux-omap-pm/dss2/0033-DSS2-Prefer-3-tap-filter.patch
@@ -0,0 +1,82 @@
+From 5390230ed12585a79683733209db34e9130b8e3b Mon Sep 17 00:00:00 2001
+From: =?utf-8?q?Ville=20Syrj=C3=A4l=C3=A4?= <ville.syrjala@nokia.com>
+Date: Thu, 9 Apr 2009 15:04:43 +0200
+Subject: [PATCH] DSS2: Prefer 3-tap filter
+MIME-Version: 1.0
+Content-Type: text/plain; charset=utf-8
+Content-Transfer-Encoding: 8bit
+
+The 5-tap filter seems rather unstable. With some scaling settings it
+works and with some it doesn't even though the functional clock remains
+within the TRM limits. So prefer the 3-tap filter unless the functional
+clock required for it is too high.
+
+Signed-off-by: Ville Syrjälä <ville.syrjala@nokia.com>
+---
+ drivers/video/omap2/dss/dispc.c | 27 ++++++++++++---------------
+ 1 files changed, 12 insertions(+), 15 deletions(-)
+
+diff --git a/drivers/video/omap2/dss/dispc.c b/drivers/video/omap2/dss/dispc.c
+index b8a3329..b631dd8 100644
+--- a/drivers/video/omap2/dss/dispc.c
++++ b/drivers/video/omap2/dss/dispc.c
+@@ -1405,15 +1405,10 @@ static unsigned long calc_fclk_five_taps(u16 width, u16 height,
+ }
+
+ static unsigned long calc_fclk(u16 width, u16 height,
+- u16 out_width, u16 out_height,
+- enum omap_color_mode color_mode, bool five_taps)
++ u16 out_width, u16 out_height)
+ {
+ unsigned int hf, vf;
+
+- if (five_taps)
+- return calc_fclk_five_taps(width, height,
+- out_width, out_height, color_mode);
+-
+ /*
+ * FIXME how to determine the 'A' factor
+ * for the no downscaling case ?
+@@ -1494,7 +1489,7 @@ static int _dispc_setup_plane(enum omap_plane plane,
+ } else {
+ /* video plane */
+
+- unsigned long fclk;
++ unsigned long fclk = 0;
+
+ if (out_width < width / maxdownscale ||
+ out_width > width * 8)
+@@ -1530,20 +1525,22 @@ static int _dispc_setup_plane(enum omap_plane plane,
+ /* Must use 5-tap filter? */
+ five_taps = height > out_height * 2;
+
+- /* Try to use 5-tap filter whenever possible. */
+- if (cpu_is_omap34xx() && !five_taps &&
+- height > out_height && width <= 1024) {
+- fclk = calc_fclk_five_taps(width, height,
+- out_width, out_height, color_mode);
+- if (fclk <= dispc_fclk_rate())
++ if (!five_taps) {
++ fclk = calc_fclk(width, height,
++ out_width, out_height);
++
++ /* Try 5-tap filter if 3-tap fclk is too high */
++ if (cpu_is_omap34xx() && height > out_height &&
++ fclk > dispc_fclk_rate())
+ five_taps = true;
+ }
+
+ if (width > (2048 >> five_taps))
+ return -EINVAL;
+
+- fclk = calc_fclk(width, height, out_width, out_height,
+- color_mode, five_taps);
++ if (five_taps)
++ fclk = calc_fclk_five_taps(width, height,
++ out_width, out_height, color_mode);
+
+ DSSDBG("required fclk rate = %lu Hz\n", fclk);
+ DSSDBG("current fclk rate = %lu Hz\n", dispc_fclk_rate());
+--
+1.5.6.5
+
diff --git a/recipes/linux/linux-omap-pm/dss2/0034-DSS2-VRAM-improve-omap_vram_add_region.patch b/recipes/linux/linux-omap-pm/dss2/0034-DSS2-VRAM-improve-omap_vram_add_region.patch
new file mode 100644
index 0000000000..fdfc25fb47
--- /dev/null
+++ b/recipes/linux/linux-omap-pm/dss2/0034-DSS2-VRAM-improve-omap_vram_add_region.patch
@@ -0,0 +1,135 @@
+From 946eb774e95cdc2f2fa5cdc24aa69229f82814b8 Mon Sep 17 00:00:00 2001
+From: Tomi Valkeinen <tomi.valkeinen@nokia.com>
+Date: Thu, 16 Apr 2009 17:56:00 +0300
+Subject: [PATCH] DSS2: VRAM: improve omap_vram_add_region()
+
+Combine postponed and non-posponed versions of omap_vram_add_region.
+Make the func non-static, so it can be called from board files.
+---
+ arch/arm/plat-omap/include/mach/vram.h | 1 +
+ arch/arm/plat-omap/vram.c | 54 +++++++++++++------------------
+ 2 files changed, 24 insertions(+), 31 deletions(-)
+
+diff --git a/arch/arm/plat-omap/include/mach/vram.h b/arch/arm/plat-omap/include/mach/vram.h
+index f176562..8639e08 100644
+--- a/arch/arm/plat-omap/include/mach/vram.h
++++ b/arch/arm/plat-omap/include/mach/vram.h
+@@ -24,6 +24,7 @@
+
+ #include <asm/types.h>
+
++extern int omap_vram_add_region(unsigned long paddr, size_t size);
+ extern int omap_vram_free(unsigned long paddr, size_t size);
+ extern int omap_vram_alloc(int mtype, size_t size, unsigned long *paddr);
+ extern int omap_vram_reserve(unsigned long paddr, size_t size);
+diff --git a/arch/arm/plat-omap/vram.c b/arch/arm/plat-omap/vram.c
+index 520f260..8e9fe77 100644
+--- a/arch/arm/plat-omap/vram.c
++++ b/arch/arm/plat-omap/vram.c
+@@ -60,6 +60,7 @@
+ * time when we cannot yet allocate the region list */
+ #define MAX_POSTPONED_REGIONS 10
+
++static bool vram_initialized;
+ static int postponed_cnt __initdata;
+ static struct {
+ unsigned long paddr;
+@@ -145,39 +146,32 @@ static void omap_vram_free_allocation(struct vram_alloc *va)
+ kfree(va);
+ }
+
+-static __init int omap_vram_add_region_postponed(unsigned long paddr,
+- size_t size)
+-{
+- if (postponed_cnt == MAX_POSTPONED_REGIONS)
+- return -ENOMEM;
+-
+- postponed_regions[postponed_cnt].paddr = paddr;
+- postponed_regions[postponed_cnt].size = size;
+-
+- ++postponed_cnt;
+-
+- return 0;
+-}
+-
+-/* add/remove_region can be exported if there's need to add/remove regions
+- * runtime */
+-static int omap_vram_add_region(unsigned long paddr, size_t size)
++int omap_vram_add_region(unsigned long paddr, size_t size)
+ {
+ struct vram_region *rm;
+ unsigned pages;
+
+- DBG("adding region paddr %08lx size %d\n",
+- paddr, size);
++ if (vram_initialized) {
++ DBG("adding region paddr %08lx size %d\n",
++ paddr, size);
+
+- size &= PAGE_MASK;
+- pages = size >> PAGE_SHIFT;
++ size &= PAGE_MASK;
++ pages = size >> PAGE_SHIFT;
+
+- rm = omap_vram_create_region(paddr, pages);
+- if (rm == NULL)
+- return -ENOMEM;
++ rm = omap_vram_create_region(paddr, pages);
++ if (rm == NULL)
++ return -ENOMEM;
++
++ list_add(&rm->list, &region_list);
++ } else {
++ if (postponed_cnt == MAX_POSTPONED_REGIONS)
++ return -ENOMEM;
+
+- list_add(&rm->list, &region_list);
++ postponed_regions[postponed_cnt].paddr = paddr;
++ postponed_regions[postponed_cnt].size = size;
+
++ ++postponed_cnt;
++ }
+ return 0;
+ }
+
+@@ -438,6 +432,8 @@ static __init int omap_vram_init(void)
+ {
+ int i, r;
+
++ vram_initialized = 1;
++
+ for (i = 0; i < postponed_cnt; i++)
+ omap_vram_add_region(postponed_regions[i].paddr,
+ postponed_regions[i].size);
+@@ -472,10 +468,6 @@ static void __init omapfb_early_vram(char **p)
+ omapfb_def_sdram_vram_size = memparse(*p, p);
+ if (**p == ',')
+ omapfb_def_sdram_vram_start = simple_strtoul((*p) + 1, p, 16);
+-
+- printk("omapfb_early_vram, %d, 0x%x\n",
+- omapfb_def_sdram_vram_size,
+- omapfb_def_sdram_vram_start);
+ }
+ __early_param("vram=", omapfb_early_vram);
+
+@@ -538,7 +530,7 @@ void __init omapfb_reserve_sdram(void)
+ BUG_ON(paddr & ~PAGE_MASK);
+ }
+
+- omap_vram_add_region_postponed(paddr, size);
++ omap_vram_add_region(paddr, size);
+
+ pr_info("Reserving %u bytes SDRAM for VRAM\n", size);
+ }
+@@ -594,7 +586,7 @@ unsigned long __init omapfb_reserve_sram(unsigned long sram_pstart,
+ reserved = pend_avail - paddr;
+ size_avail = pend_avail - reserved - pstart_avail;
+
+- omap_vram_add_region_postponed(paddr, size);
++ omap_vram_add_region(paddr, size);
+
+ if (reserved)
+ pr_info("Reserving %lu bytes SRAM for VRAM\n", reserved);
+--
+1.5.6.5
+
diff --git a/recipes/linux/linux-omap-pm/dss2/0035-DSS2-Added-the-function-pointer-for-getting-default.patch b/recipes/linux/linux-omap-pm/dss2/0035-DSS2-Added-the-function-pointer-for-getting-default.patch
new file mode 100644
index 0000000000..b7b395458f
--- /dev/null
+++ b/recipes/linux/linux-omap-pm/dss2/0035-DSS2-Added-the-function-pointer-for-getting-default.patch
@@ -0,0 +1,66 @@
+From f825cafd5ee5c600218740507f85594c825b0c00 Mon Sep 17 00:00:00 2001
+From: Hardik Shah <hardik.shah@ti.com>
+Date: Thu, 16 Apr 2009 18:47:49 +0530
+Subject: [PATCH] DSS2: Added the function pointer for getting default color.
+
+V4L2 Framework has a CID for getting/setting default color.
+So added the function pointer for doing same.
+SYSFS based getting the default color will remain same
+
+Signed-off-by: Hardik Shah <hardik.shah@ti.com>
+---
+ arch/arm/plat-omap/include/mach/display.h | 1 +
+ drivers/video/omap2/dss/manager.c | 11 +++++++----
+ 2 files changed, 8 insertions(+), 4 deletions(-)
+
+diff --git a/arch/arm/plat-omap/include/mach/display.h b/arch/arm/plat-omap/include/mach/display.h
+index b0a6272..073cdda 100644
+--- a/arch/arm/plat-omap/include/mach/display.h
++++ b/arch/arm/plat-omap/include/mach/display.h
+@@ -414,6 +414,7 @@ struct omap_overlay_manager {
+ int (*apply)(struct omap_overlay_manager *mgr);
+
+ void (*set_default_color)(struct omap_overlay_manager *mgr, u32 color);
++ u32 (*get_default_color)(struct omap_overlay_manager *mgr);
+ void (*set_trans_key)(struct omap_overlay_manager *mgr,
+ enum omap_dss_color_key_type type,
+ u32 trans_key);
+diff --git a/drivers/video/omap2/dss/manager.c b/drivers/video/omap2/dss/manager.c
+index 8ca0bbb..12cf7b0 100644
+--- a/drivers/video/omap2/dss/manager.c
++++ b/drivers/video/omap2/dss/manager.c
+@@ -98,10 +98,8 @@ static ssize_t manager_display_store(struct omap_overlay_manager *mgr, const cha
+ static ssize_t manager_default_color_show(struct omap_overlay_manager *mgr,
+ char *buf)
+ {
+- u32 default_color;
+-
+- default_color = dispc_get_default_color(mgr->id);
+- return snprintf(buf, PAGE_SIZE, "%d", default_color);
++ return snprintf(buf, PAGE_SIZE, "%d",
++ mgr->get_default_color(mgr));
+ }
+
+ static ssize_t manager_default_color_store(struct omap_overlay_manager *mgr,
+@@ -470,6 +468,10 @@ static void omap_dss_mgr_enable_trans_key(struct omap_overlay_manager *mgr,
+ {
+ dispc_enable_trans_key(mgr->id, enable);
+ }
++static u32 omap_dss_mgr_get_default_color(struct omap_overlay_manager *mgr)
++{
++ return dispc_get_default_color(mgr->id);
++}
+
+ static void omap_dss_add_overlay_manager(struct omap_overlay_manager *manager)
+ {
+@@ -512,6 +514,7 @@ int dss_init_overlay_managers(struct platform_device *pdev)
+ mgr->set_default_color = &omap_dss_mgr_set_def_color,
+ mgr->set_trans_key = &omap_dss_mgr_set_trans_key,
+ mgr->enable_trans_key = &omap_dss_mgr_enable_trans_key,
++ mgr->get_default_color = &omap_dss_mgr_get_default_color;
+ mgr->caps = OMAP_DSS_OVL_MGR_CAP_DISPC,
+
+ dss_overlay_setup_dispc_manager(mgr);
+--
+1.5.6.5
+
diff --git a/recipes/linux/linux-omap-pm/dss2/0036-DSS2-Added-support-for-setting-and-querying-alpha-b.patch b/recipes/linux/linux-omap-pm/dss2/0036-DSS2-Added-support-for-setting-and-querying-alpha-b.patch
new file mode 100644
index 0000000000..c6e9f16b3a
--- /dev/null
+++ b/recipes/linux/linux-omap-pm/dss2/0036-DSS2-Added-support-for-setting-and-querying-alpha-b.patch
@@ -0,0 +1,118 @@
+From 6c56dc10226c84f41917ac2117b0e654fa080d40 Mon Sep 17 00:00:00 2001
+From: Hardik Shah <hardik.shah@ti.com>
+Date: Thu, 16 Apr 2009 19:00:11 +0530
+Subject: [PATCH] DSS2: Added support for setting and querying alpha blending.
+
+Signed-off-by: Hardik Shah <hardik.shah@ti.com>
+---
+ arch/arm/plat-omap/include/mach/display.h | 3 +++
+ drivers/video/omap2/dss/dispc.c | 26 ++++++++++++++++++++++++++
+ drivers/video/omap2/dss/dss.h | 2 ++
+ drivers/video/omap2/dss/manager.c | 14 ++++++++++++++
+ 4 files changed, 45 insertions(+), 0 deletions(-)
+
+diff --git a/arch/arm/plat-omap/include/mach/display.h b/arch/arm/plat-omap/include/mach/display.h
+index 073cdda..e1f615a 100644
+--- a/arch/arm/plat-omap/include/mach/display.h
++++ b/arch/arm/plat-omap/include/mach/display.h
+@@ -415,11 +415,14 @@ struct omap_overlay_manager {
+
+ void (*set_default_color)(struct omap_overlay_manager *mgr, u32 color);
+ u32 (*get_default_color)(struct omap_overlay_manager *mgr);
++ bool (*get_alpha_blending_status)(struct omap_overlay_manager *mgr);
+ void (*set_trans_key)(struct omap_overlay_manager *mgr,
+ enum omap_dss_color_key_type type,
+ u32 trans_key);
+ void (*enable_trans_key)(struct omap_overlay_manager *mgr,
+ bool enable);
++ void (*enable_alpha_blending)(struct omap_overlay_manager *mgr,
++ bool enable);
+ };
+
+ enum omap_display_caps {
+diff --git a/drivers/video/omap2/dss/dispc.c b/drivers/video/omap2/dss/dispc.c
+index b631dd8..7e551c2 100644
+--- a/drivers/video/omap2/dss/dispc.c
++++ b/drivers/video/omap2/dss/dispc.c
+@@ -1847,6 +1847,32 @@ void dispc_enable_trans_key(enum omap_channel ch, bool enable)
+ REG_FLD_MOD(DISPC_CONFIG, enable, 12, 12);
+ enable_clocks(0);
+ }
++void dispc_enable_alpha_blending(enum omap_channel ch, bool enable)
++{
++ enable_clocks(1);
++ if (ch == OMAP_DSS_CHANNEL_LCD)
++ REG_FLD_MOD(DISPC_CONFIG, enable, 18, 18);
++ else /* OMAP_DSS_CHANNEL_DIGIT */
++ REG_FLD_MOD(DISPC_CONFIG, enable, 19, 19);
++ enable_clocks(0);
++}
++bool dispc_alpha_blending_enabled(enum omap_channel ch)
++{
++ bool enabled;
++
++ enable_clocks(1);
++ if (ch == OMAP_DSS_CHANNEL_LCD)
++ enabled = REG_GET(DISPC_CONFIG, 18, 18);
++ else if (ch == OMAP_DSS_CHANNEL_DIGIT)
++ enabled = REG_GET(DISPC_CONFIG, 18, 18);
++ else
++ BUG();
++ enable_clocks(0);
++
++ return enabled;
++
++}
++
+
+ bool dispc_trans_key_enabled(enum omap_channel ch)
+ {
+diff --git a/drivers/video/omap2/dss/dss.h b/drivers/video/omap2/dss/dss.h
+index 584dce6..1d01ff6 100644
+--- a/drivers/video/omap2/dss/dss.h
++++ b/drivers/video/omap2/dss/dss.h
+@@ -294,7 +294,9 @@ void dispc_get_trans_key(enum omap_channel ch,
+ enum omap_dss_color_key_type *type,
+ u32 *trans_key);
+ void dispc_enable_trans_key(enum omap_channel ch, bool enable);
++void dispc_enable_alpha_blending(enum omap_channel ch, bool enable);
+ bool dispc_trans_key_enabled(enum omap_channel ch);
++bool dispc_alpha_blending_enabled(enum omap_channel ch);
+
+ void dispc_set_lcd_timings(struct omap_video_timings *timings);
+ unsigned long dispc_fclk_rate(void);
+diff --git a/drivers/video/omap2/dss/manager.c b/drivers/video/omap2/dss/manager.c
+index 12cf7b0..90acd28 100644
+--- a/drivers/video/omap2/dss/manager.c
++++ b/drivers/video/omap2/dss/manager.c
+@@ -468,6 +468,16 @@ static void omap_dss_mgr_enable_trans_key(struct omap_overlay_manager *mgr,
+ {
+ dispc_enable_trans_key(mgr->id, enable);
+ }
++static void omap_dss_mgr_enable_alpha_blending(struct omap_overlay_manager *mgr,
++ bool enable)
++{
++ dispc_enable_alpha_blending(mgr->id, enable);
++}
++static bool omap_dss_mgr_get_alpha_blending_status(
++ struct omap_overlay_manager *mgr)
++{
++ return dispc_alpha_blending_enabled(mgr->id);
++}
+ static u32 omap_dss_mgr_get_default_color(struct omap_overlay_manager *mgr)
+ {
+ return dispc_get_default_color(mgr->id);
+@@ -514,6 +524,10 @@ int dss_init_overlay_managers(struct platform_device *pdev)
+ mgr->set_default_color = &omap_dss_mgr_set_def_color,
+ mgr->set_trans_key = &omap_dss_mgr_set_trans_key,
+ mgr->enable_trans_key = &omap_dss_mgr_enable_trans_key,
++ mgr->enable_alpha_blending =
++ &omap_dss_mgr_enable_alpha_blending;
++ mgr->get_alpha_blending_status =
++ omap_dss_mgr_get_alpha_blending_status;
+ mgr->get_default_color = &omap_dss_mgr_get_default_color;
+ mgr->caps = OMAP_DSS_OVL_MGR_CAP_DISPC,
+
+--
+1.5.6.5
+
diff --git a/recipes/linux/linux-omap-pm/dss2/0037-DSS2-Added-support-for-querying-color-keying.patch b/recipes/linux/linux-omap-pm/dss2/0037-DSS2-Added-support-for-querying-color-keying.patch
new file mode 100644
index 0000000000..fc62b09512
--- /dev/null
+++ b/recipes/linux/linux-omap-pm/dss2/0037-DSS2-Added-support-for-querying-color-keying.patch
@@ -0,0 +1,150 @@
+From 2c9edd6af31a812a9487dd8bc12322e105a29f44 Mon Sep 17 00:00:00 2001
+From: Hardik Shah <hardik.shah@ti.com>
+Date: Fri, 17 Apr 2009 09:42:36 +0530
+Subject: [PATCH] DSS2: Added support for querying color keying.
+
+V4L2 Framework has a ioctl for getting/setting color keying.
+So added the function manager pointers for doing same.
+
+Modifed the color keying sysfs entries to use manager
+function pointer. Earlier they were calling direcly
+dispc function to set/enable color keying.
+
+Some of color-keying function pointers in the overlay_manager
+structure re-named to be more specific.
+
+Signed-off-by: Hardik Shah <hardik.shah@ti.com>
+---
+ arch/arm/plat-omap/include/mach/display.h | 6 ++++-
+ drivers/video/omap2/dss/manager.c | 36 +++++++++++++++++++++--------
+ 2 files changed, 31 insertions(+), 11 deletions(-)
+
+diff --git a/arch/arm/plat-omap/include/mach/display.h b/arch/arm/plat-omap/include/mach/display.h
+index e1f615a..d0b4c83 100644
+--- a/arch/arm/plat-omap/include/mach/display.h
++++ b/arch/arm/plat-omap/include/mach/display.h
+@@ -416,7 +416,11 @@ struct omap_overlay_manager {
+ void (*set_default_color)(struct omap_overlay_manager *mgr, u32 color);
+ u32 (*get_default_color)(struct omap_overlay_manager *mgr);
+ bool (*get_alpha_blending_status)(struct omap_overlay_manager *mgr);
+- void (*set_trans_key)(struct omap_overlay_manager *mgr,
++ bool (*get_trans_key_status)(struct omap_overlay_manager *mgr);
++ void (*get_trans_key_type_and_value)(struct omap_overlay_manager *mgr,
++ enum omap_dss_color_key_type *type,
++ u32 *trans_key);
++ void (*set_trans_key_type_and_value)(struct omap_overlay_manager *mgr,
+ enum omap_dss_color_key_type type,
+ u32 trans_key);
+ void (*enable_trans_key)(struct omap_overlay_manager *mgr,
+diff --git a/drivers/video/omap2/dss/manager.c b/drivers/video/omap2/dss/manager.c
+index 90acd28..e0501c4 100644
+--- a/drivers/video/omap2/dss/manager.c
++++ b/drivers/video/omap2/dss/manager.c
+@@ -124,7 +124,7 @@ static ssize_t manager_color_key_type_show(struct omap_overlay_manager *mgr,
+ {
+ enum omap_dss_color_key_type key_type;
+
+- dispc_get_trans_key(mgr->id, &key_type, NULL);
++ mgr->get_trans_key_type_and_value(mgr, &key_type, NULL);
+ BUG_ON(key_type >= ARRAY_SIZE(color_key_type_str));
+
+ return snprintf(buf, PAGE_SIZE, "%s\n", color_key_type_str[key_type]);
+@@ -143,8 +143,8 @@ static ssize_t manager_color_key_type_store(struct omap_overlay_manager *mgr,
+ }
+ if (key_type == ARRAY_SIZE(color_key_type_str))
+ return -EINVAL;
+- dispc_get_trans_key(mgr->id, NULL, &key_value);
+- dispc_set_trans_key(mgr->id, key_type, key_value);
++ mgr->get_trans_key_type_and_value(mgr, NULL, &key_value);
++ mgr->set_trans_key_type_and_value(mgr, key_type, key_value);
+
+ return size;
+ }
+@@ -154,7 +154,7 @@ static ssize_t manager_color_key_value_show(struct omap_overlay_manager *mgr,
+ {
+ u32 key_value;
+
+- dispc_get_trans_key(mgr->id, NULL, &key_value);
++ mgr->get_trans_key_type_and_value(mgr, NULL, &key_value);
+
+ return snprintf(buf, PAGE_SIZE, "%d\n", key_value);
+ }
+@@ -167,8 +167,8 @@ static ssize_t manager_color_key_value_store(struct omap_overlay_manager *mgr,
+
+ if (sscanf(buf, "%d", &key_value) != 1)
+ return -EINVAL;
+- dispc_get_trans_key(mgr->id, &key_type, NULL);
+- dispc_set_trans_key(mgr->id, key_type, key_value);
++ mgr->get_trans_key_type_and_value(mgr, &key_type, NULL);
++ mgr->set_trans_key_type_and_value(mgr, key_type, key_value);
+
+ return size;
+ }
+@@ -177,7 +177,7 @@ static ssize_t manager_color_key_enabled_show(struct omap_overlay_manager *mgr,
+ char *buf)
+ {
+ return snprintf(buf, PAGE_SIZE, "%d\n",
+- dispc_trans_key_enabled(mgr->id));
++ mgr->get_trans_key_status(mgr));
+ }
+
+ static ssize_t manager_color_key_enabled_store(struct omap_overlay_manager *mgr,
+@@ -188,7 +188,7 @@ static ssize_t manager_color_key_enabled_store(struct omap_overlay_manager *mgr,
+ if (sscanf(buf, "%d", &enable) != 1)
+ return -EINVAL;
+
+- dispc_enable_trans_key(mgr->id, enable);
++ mgr->enable_trans_key(mgr, enable);
+
+ return size;
+ }
+@@ -456,12 +456,20 @@ static void omap_dss_mgr_set_def_color(struct omap_overlay_manager *mgr,
+ dispc_set_default_color(mgr->id, color);
+ }
+
+-static void omap_dss_mgr_set_trans_key(struct omap_overlay_manager *mgr,
++static void omap_dss_mgr_set_trans_key_type_and_value(
++ struct omap_overlay_manager *mgr,
+ enum omap_dss_color_key_type type,
+ u32 trans_key)
+ {
+ dispc_set_trans_key(mgr->id, type, trans_key);
+ }
++static void omap_dss_mgr_get_trans_key_type_and_value(
++ struct omap_overlay_manager *mgr,
++ enum omap_dss_color_key_type *type,
++ u32 *trans_key)
++{
++ dispc_get_trans_key(mgr->id, type, trans_key);
++}
+
+ static void omap_dss_mgr_enable_trans_key(struct omap_overlay_manager *mgr,
+ bool enable)
+@@ -482,6 +490,10 @@ static u32 omap_dss_mgr_get_default_color(struct omap_overlay_manager *mgr)
+ {
+ return dispc_get_default_color(mgr->id);
+ }
++static bool omap_dss_mgr_get_trans_key_status(struct omap_overlay_manager *mgr)
++{
++ return dispc_trans_key_enabled(mgr->id);
++}
+
+ static void omap_dss_add_overlay_manager(struct omap_overlay_manager *manager)
+ {
+@@ -522,8 +534,12 @@ int dss_init_overlay_managers(struct platform_device *pdev)
+ mgr->unset_display = &omap_dss_unset_display,
+ mgr->apply = &omap_dss_mgr_apply,
+ mgr->set_default_color = &omap_dss_mgr_set_def_color,
+- mgr->set_trans_key = &omap_dss_mgr_set_trans_key,
++ mgr->set_trans_key_type_and_value =
++ &omap_dss_mgr_set_trans_key_type_and_value,
++ mgr->get_trans_key_type_and_value =
++ &omap_dss_mgr_get_trans_key_type_and_value,
+ mgr->enable_trans_key = &omap_dss_mgr_enable_trans_key,
++ mgr->get_trans_key_status = &omap_dss_mgr_get_trans_key_status,
+ mgr->enable_alpha_blending =
+ &omap_dss_mgr_enable_alpha_blending;
+ mgr->get_alpha_blending_status =
+--
+1.5.6.5
+
diff --git a/recipes/linux/linux-omap-pm/dss2/0038-DSS2-OMAPFB-Some-color-keying-pointerd-renamed-in-D.patch b/recipes/linux/linux-omap-pm/dss2/0038-DSS2-OMAPFB-Some-color-keying-pointerd-renamed-in-D.patch
new file mode 100644
index 0000000000..65cb113574
--- /dev/null
+++ b/recipes/linux/linux-omap-pm/dss2/0038-DSS2-OMAPFB-Some-color-keying-pointerd-renamed-in-D.patch
@@ -0,0 +1,56 @@
+From 9e8877f0e5b17d3ddd101d6a63aa86fdb14d35d5 Mon Sep 17 00:00:00 2001
+From: Hardik Shah <hardik.shah@ti.com>
+Date: Fri, 17 Apr 2009 09:51:25 +0530
+Subject: [PATCH] DSS2:OMAPFB: Some color keying pointerd renamed in DSS2. Replicated in FB
+
+Signed-off-by: Hardik Shah <hardik.shah@ti.com>
+---
+ drivers/video/omap2/omapfb/omapfb-ioctl.c | 11 +++++++----
+ 1 files changed, 7 insertions(+), 4 deletions(-)
+
+diff --git a/drivers/video/omap2/omapfb/omapfb-ioctl.c b/drivers/video/omap2/omapfb/omapfb-ioctl.c
+index 7f18d2a..79d8916 100644
+--- a/drivers/video/omap2/omapfb/omapfb-ioctl.c
++++ b/drivers/video/omap2/omapfb/omapfb-ioctl.c
+@@ -288,7 +288,8 @@ static int _omapfb_set_color_key(struct omap_overlay_manager *mgr,
+ {
+ enum omap_dss_color_key_type kt;
+
+- if(!mgr->set_default_color || !mgr->set_trans_key ||
++ if (!mgr->set_default_color ||
++ !mgr->set_trans_key_type_and_value ||
+ !mgr->enable_trans_key)
+ return 0;
+
+@@ -310,7 +311,7 @@ static int _omapfb_set_color_key(struct omap_overlay_manager *mgr,
+ }
+
+ mgr->set_default_color(mgr, ck->background);
+- mgr->set_trans_key(mgr, kt, ck->trans_key);
++ mgr->set_trans_key_type_and_value(mgr, kt, ck->trans_key);
+ mgr->enable_trans_key(mgr, 1);
+
+ omapfb_color_keys[mgr->id] = *ck;
+@@ -341,7 +342,8 @@ static int omapfb_set_color_key(struct fb_info *fbi,
+ goto err;
+ }
+
+- if(!mgr->set_default_color || !mgr->set_trans_key ||
++ if (!mgr->set_default_color ||
++ !mgr->set_trans_key_type_and_value ||
+ !mgr->enable_trans_key) {
+ r = -ENODEV;
+ goto err;
+@@ -377,7 +379,8 @@ static int omapfb_get_color_key(struct fb_info *fbi,
+ goto err;
+ }
+
+- if(!mgr->set_default_color || !mgr->set_trans_key ||
++ if (!mgr->set_default_color ||
++ !mgr->set_trans_key_type_and_value ||
+ !mgr->enable_trans_key) {
+ r = -ENODEV;
+ goto err;
+--
+1.5.6.5
+
diff --git a/recipes/linux/linux-omap-pm/dss2/0039-DSS2-Add-sysfs-entry-to-for-the-alpha-blending-supp.patch b/recipes/linux/linux-omap-pm/dss2/0039-DSS2-Add-sysfs-entry-to-for-the-alpha-blending-supp.patch
new file mode 100644
index 0000000000..af8c2cd09b
--- /dev/null
+++ b/recipes/linux/linux-omap-pm/dss2/0039-DSS2-Add-sysfs-entry-to-for-the-alpha-blending-supp.patch
@@ -0,0 +1,59 @@
+From 6f1f0c7b19ecb468824b79f9d181ef0da41b7d7d Mon Sep 17 00:00:00 2001
+From: Hardik Shah <hardik.shah@ti.com>
+Date: Fri, 17 Apr 2009 13:58:21 +0530
+Subject: [PATCH] DSS2: Add sysfs entry to for the alpha blending support.
+
+Signed-off-by: Hardik Shah <hardik.shah@ti.com>
+---
+ drivers/video/omap2/dss/manager.c | 21 +++++++++++++++++++++
+ 1 files changed, 21 insertions(+), 0 deletions(-)
+
+diff --git a/drivers/video/omap2/dss/manager.c b/drivers/video/omap2/dss/manager.c
+index e0501c4..7965a84 100644
+--- a/drivers/video/omap2/dss/manager.c
++++ b/drivers/video/omap2/dss/manager.c
+@@ -192,6 +192,22 @@ static ssize_t manager_color_key_enabled_store(struct omap_overlay_manager *mgr,
+
+ return size;
+ }
++static ssize_t manager_alpha_blending_enabled_show(
++ struct omap_overlay_manager *mgr, char *buf)
++{
++ return snprintf(buf, PAGE_SIZE, "%d\n",
++ mgr->get_alpha_blending_status(mgr));
++}
++static ssize_t manager_alpha_blending_enabled_store(
++ struct omap_overlay_manager *mgr,
++ const char *buf, size_t size)
++{
++ int enable;
++ if (sscanf(buf, "%d", &enable) != 1)
++ return -EINVAL;
++ mgr->enable_alpha_blending(mgr, enable);
++ return size;
++}
+
+
+ struct manager_attribute {
+@@ -215,6 +231,10 @@ static MANAGER_ATTR(color_key_value, S_IRUGO|S_IWUSR,
+ manager_color_key_value_show, manager_color_key_value_store);
+ static MANAGER_ATTR(color_key_enabled, S_IRUGO|S_IWUSR,
+ manager_color_key_enabled_show, manager_color_key_enabled_store);
++static MANAGER_ATTR(alpha_blending_enabled, S_IRUGO|S_IWUSR,
++ manager_alpha_blending_enabled_show,
++ manager_alpha_blending_enabled_store);
++
+
+ static struct attribute *manager_sysfs_attrs[] = {
+ &manager_attr_name.attr,
+@@ -223,6 +243,7 @@ static struct attribute *manager_sysfs_attrs[] = {
+ &manager_attr_color_key_type.attr,
+ &manager_attr_color_key_value.attr,
+ &manager_attr_color_key_enabled.attr,
++ &manager_attr_alpha_blending_enabled.attr,
+ NULL
+ };
+
+--
+1.5.6.5
+
diff --git a/recipes/linux/linux-omap-pm/dss2/0040-DSS2-Provided-proper-exclusion-for-destination-colo.patch b/recipes/linux/linux-omap-pm/dss2/0040-DSS2-Provided-proper-exclusion-for-destination-colo.patch
new file mode 100644
index 0000000000..66be75f3f7
--- /dev/null
+++ b/recipes/linux/linux-omap-pm/dss2/0040-DSS2-Provided-proper-exclusion-for-destination-colo.patch
@@ -0,0 +1,97 @@
+From a5129f272a48aa22629137c9c31e60eddb8c3f5d Mon Sep 17 00:00:00 2001
+From: Hardik Shah <hardik.shah@ti.com>
+Date: Fri, 17 Apr 2009 14:24:46 +0530
+Subject: [PATCH] DSS2: Provided proper exclusion for destination color keying and alpha blending.
+
+OMAP does not support destination color key and alpha blending
+simultaneously. So this patch does not allow the user
+so set both at a time.
+
+Signed-off-by: Hardik Shah <hardik.shah@ti.com>
+---
+ drivers/video/omap2/dss/manager.c | 50 ++++++++++++++++++++++++++++++++++++-
+ 1 files changed, 49 insertions(+), 1 deletions(-)
+
+diff --git a/drivers/video/omap2/dss/manager.c b/drivers/video/omap2/dss/manager.c
+index 7965a84..108489c 100644
+--- a/drivers/video/omap2/dss/manager.c
++++ b/drivers/video/omap2/dss/manager.c
+@@ -137,12 +137,26 @@ static ssize_t manager_color_key_type_store(struct omap_overlay_manager *mgr,
+ u32 key_value;
+
+ for (key_type = OMAP_DSS_COLOR_KEY_GFX_DST;
+- key_type < ARRAY_SIZE(color_key_type_str); key_type++) {
++ key_type < ARRAY_SIZE(color_key_type_str); key_type++) {
+ if (sysfs_streq(buf, color_key_type_str[key_type]))
+ break;
+ }
+ if (key_type == ARRAY_SIZE(color_key_type_str))
+ return -EINVAL;
++ /* OMAP does not support destination color key and alpha blending
++ * simultaneously. So if alpha blending and color keying both are
++ * enabled then refrain from setting the color key type to
++ * gfx-destination
++ */
++ if (!key_type) {
++ bool color_key_enabled;
++ bool alpha_blending_enabled;
++ color_key_enabled = mgr->get_trans_key_status(mgr);
++ alpha_blending_enabled = mgr->get_alpha_blending_status(mgr);
++ if (color_key_enabled && alpha_blending_enabled)
++ return -EINVAL;
++ }
++
+ mgr->get_trans_key_type_and_value(mgr, NULL, &key_value);
+ mgr->set_trans_key_type_and_value(mgr, key_type, key_value);
+
+@@ -188,6 +202,23 @@ static ssize_t manager_color_key_enabled_store(struct omap_overlay_manager *mgr,
+ if (sscanf(buf, "%d", &enable) != 1)
+ return -EINVAL;
+
++ /* OMAP does not support destination color keying and
++ * alpha blending simultaneously. so if alpha blending
++ * is enabled refrain from enabling destination color
++ * keying.
++ */
++ if (enable) {
++ bool enabled;
++ enabled = mgr->get_alpha_blending_status(mgr);
++ if (enabled) {
++ enum omap_dss_color_key_type key_type;
++ mgr->get_trans_key_type_and_value(mgr,
++ &key_type, NULL);
++ if (!key_type)
++ return -EINVAL;
++ }
++
++ }
+ mgr->enable_trans_key(mgr, enable);
+
+ return size;
+@@ -205,6 +236,23 @@ static ssize_t manager_alpha_blending_enabled_store(
+ int enable;
+ if (sscanf(buf, "%d", &enable) != 1)
+ return -EINVAL;
++ /* OMAP does not support destination color keying and
++ * alpha blending simultaneously. so if destination
++ * color keying is enabled refrain from enabling
++ * alpha blending
++ */
++ if (enable) {
++ bool enabled;
++ enabled = mgr->get_trans_key_status(mgr);
++ if (enabled) {
++ enum omap_dss_color_key_type key_type;
++ mgr->get_trans_key_type_and_value(mgr, &key_type, NULL);
++ if (!key_type)
++ return -EINVAL;
++
++ }
++
++ }
+ mgr->enable_alpha_blending(mgr, enable);
+ return size;
+ }
+--
+1.5.6.5
+
diff --git a/recipes/linux/linux-omap-pm/dss2/0041-DSS2-Disable-vertical-offset-with-fieldmode.patch b/recipes/linux/linux-omap-pm/dss2/0041-DSS2-Disable-vertical-offset-with-fieldmode.patch
new file mode 100644
index 0000000000..6785ade279
--- /dev/null
+++ b/recipes/linux/linux-omap-pm/dss2/0041-DSS2-Disable-vertical-offset-with-fieldmode.patch
@@ -0,0 +1,71 @@
+From 9bcac9b9e678f476c83b5679b1215b6bc946130a Mon Sep 17 00:00:00 2001
+From: =?utf-8?q?Ville=20Syrj=C3=A4l=C3=A4?= <ville.syrjala@nokia.com>
+Date: Mon, 20 Apr 2009 16:26:18 +0200
+Subject: [PATCH] DSS2: Disable vertical offset with fieldmode
+MIME-Version: 1.0
+Content-Type: text/plain; charset=utf-8
+Content-Transfer-Encoding: 8bit
+
+When using fieldmode each field is basically a separate picture so the
+vertical filter should start at phase 0 for both fields.
+
+Signed-off-by: Ville Syrjälä <ville.syrjala@nokia.com>
+---
+ drivers/video/omap2/dss/dispc.c | 23 +++++++++--------------
+ 1 files changed, 9 insertions(+), 14 deletions(-)
+
+diff --git a/drivers/video/omap2/dss/dispc.c b/drivers/video/omap2/dss/dispc.c
+index 7e551c2..f15614b 100644
+--- a/drivers/video/omap2/dss/dispc.c
++++ b/drivers/video/omap2/dss/dispc.c
+@@ -1029,12 +1029,12 @@ static void _dispc_set_vid_accu1(enum omap_plane plane, int haccu, int vaccu)
+ static void _dispc_set_scaling(enum omap_plane plane,
+ u16 orig_width, u16 orig_height,
+ u16 out_width, u16 out_height,
+- bool ilace, bool five_taps)
++ bool ilace, bool five_taps,
++ bool fieldmode)
+ {
+ int fir_hinc;
+ int fir_vinc;
+ int hscaleup, vscaleup;
+- int fieldmode = 0;
+ int accu0 = 0;
+ int accu1 = 0;
+ u32 l;
+@@ -1072,17 +1072,12 @@ static void _dispc_set_scaling(enum omap_plane plane,
+
+ dispc_write_reg(dispc_reg_att[plane], l);
+
+- if (ilace) {
+- if (fieldmode) {
+- accu0 = fir_vinc / 2;
+- accu1 = 0;
+- } else {
+- accu0 = 0;
+- accu1 = fir_vinc / 2;
+- if (accu1 >= 1024/2) {
+- accu0 = 1024/2;
+- accu1 -= accu0;
+- }
++ if (ilace && !fieldmode) {
++ accu0 = 0;
++ accu1 = fir_vinc / 2;
++ if (accu1 >= 1024/2) {
++ accu0 = 1024/2;
++ accu1 -= accu0;
+ }
+ }
+
+@@ -1582,7 +1577,7 @@ static int _dispc_setup_plane(enum omap_plane plane,
+ if (plane != OMAP_DSS_GFX) {
+ _dispc_set_scaling(plane, width, height,
+ out_width, out_height,
+- ilace, five_taps);
++ ilace, five_taps, fieldmode);
+ _dispc_set_vid_size(plane, out_width, out_height);
+ _dispc_set_vid_color_conv(plane, cconv);
+ }
+--
+1.5.6.5
+
diff --git a/recipes/linux/linux-omap-pm/dss2/0042-DSS2-Don-t-enable-fieldmode-automatically.patch b/recipes/linux/linux-omap-pm/dss2/0042-DSS2-Don-t-enable-fieldmode-automatically.patch
new file mode 100644
index 0000000000..5264911b41
--- /dev/null
+++ b/recipes/linux/linux-omap-pm/dss2/0042-DSS2-Don-t-enable-fieldmode-automatically.patch
@@ -0,0 +1,34 @@
+From 9c6de0fed6e8a598d026d348533fdf731b737d55 Mon Sep 17 00:00:00 2001
+From: =?utf-8?q?Ville=20Syrj=C3=A4l=C3=A4?= <ville.syrjala@nokia.com>
+Date: Mon, 20 Apr 2009 16:26:19 +0200
+Subject: [PATCH] DSS2: Don't enable fieldmode automatically
+MIME-Version: 1.0
+Content-Type: text/plain; charset=utf-8
+Content-Transfer-Encoding: 8bit
+
+The only case where enabling fieldmode automatically seems reasonable
+is when source and destination heights are equal. Some kind of user
+controllable knob should be added so the user could enable field mode
+when the source is interlaced.
+
+Signed-off-by: Ville Syrjälä <ville.syrjala@nokia.com>
+---
+ drivers/video/omap2/dss/dispc.c | 2 +-
+ 1 files changed, 1 insertions(+), 1 deletions(-)
+
+diff --git a/drivers/video/omap2/dss/dispc.c b/drivers/video/omap2/dss/dispc.c
+index f15614b..1c036c1 100644
+--- a/drivers/video/omap2/dss/dispc.c
++++ b/drivers/video/omap2/dss/dispc.c
+@@ -1450,7 +1450,7 @@ static int _dispc_setup_plane(enum omap_plane plane,
+ if (paddr == 0)
+ return -EINVAL;
+
+- if (ilace && height >= out_height)
++ if (ilace && height == out_height)
+ fieldmode = 1;
+
+ if (ilace) {
+--
+1.5.6.5
+
diff --git a/recipes/linux/linux-omap-pm/dss2/0043-DSS2-Swap-field-0-and-field-1-registers.patch b/recipes/linux/linux-omap-pm/dss2/0043-DSS2-Swap-field-0-and-field-1-registers.patch
new file mode 100644
index 0000000000..76e37817c4
--- /dev/null
+++ b/recipes/linux/linux-omap-pm/dss2/0043-DSS2-Swap-field-0-and-field-1-registers.patch
@@ -0,0 +1,170 @@
+From 35e88797e93b107ba602dee1e2ac8ea761dccd4b Mon Sep 17 00:00:00 2001
+From: =?utf-8?q?Ville=20Syrj=C3=A4l=C3=A4?= <ville.syrjala@nokia.com>
+Date: Mon, 20 Apr 2009 16:26:20 +0200
+Subject: [PATCH] DSS2: Swap field 0 and field 1 registers
+MIME-Version: 1.0
+Content-Type: text/plain; charset=utf-8
+Content-Transfer-Encoding: 8bit
+
+The values for the registers which have alternate values for each field
+were reveresed to what the hardware expects. For the hardware field 0
+is the even field or the bottom field, field 1 is the odd field or the
+top field. So simply swap the register values.
+
+Signed-off-by: Ville Syrjälä <ville.syrjala@nokia.com>
+---
+ drivers/video/omap2/dss/dispc.c | 66 ++++++++++++++++++++++-----------------
+ 1 files changed, 37 insertions(+), 29 deletions(-)
+
+diff --git a/drivers/video/omap2/dss/dispc.c b/drivers/video/omap2/dss/dispc.c
+index 1c036c1..9bab6cf 100644
+--- a/drivers/video/omap2/dss/dispc.c
++++ b/drivers/video/omap2/dss/dispc.c
+@@ -1072,12 +1072,16 @@ static void _dispc_set_scaling(enum omap_plane plane,
+
+ dispc_write_reg(dispc_reg_att[plane], l);
+
++ /*
++ * field 0 = even field = bottom field
++ * field 1 = odd field = top field
++ */
+ if (ilace && !fieldmode) {
+- accu0 = 0;
+- accu1 = fir_vinc / 2;
+- if (accu1 >= 1024/2) {
+- accu0 = 1024/2;
+- accu1 -= accu0;
++ accu1 = 0;
++ accu0 = fir_vinc / 2;
++ if (accu0 >= 1024/2) {
++ accu1 = 1024/2;
++ accu0 -= accu1;
+ }
+ }
+
+@@ -1266,34 +1270,38 @@ static void calc_dma_rotation_offset(u8 rotation, bool mirror,
+ fbh = width;
+ }
+
++ /*
++ * field 0 = even field = bottom field
++ * field 1 = odd field = top field
++ */
+ switch (rotation + mirror * 4) {
+ case 0:
+- *offset0 = 0;
++ *offset1 = 0;
+ if (fieldmode)
+- *offset1 = screen_width * ps;
++ *offset0 = screen_width * ps;
+ else
+- *offset1 = 0;
++ *offset0 = 0;
+ *row_inc = pixinc(1 + (screen_width - fbw) +
+ (fieldmode ? screen_width : 0),
+ ps);
+ *pix_inc = pixinc(1, ps);
+ break;
+ case 1:
+- *offset0 = screen_width * (fbh - 1) * ps;
++ *offset1 = screen_width * (fbh - 1) * ps;
+ if (fieldmode)
+- *offset1 = *offset0 + ps;
++ *offset0 = *offset1 + ps;
+ else
+- *offset1 = *offset0;
++ *offset0 = *offset1;
+ *row_inc = pixinc(screen_width * (fbh - 1) + 1 +
+ (fieldmode ? 1 : 0), ps);
+ *pix_inc = pixinc(-screen_width, ps);
+ break;
+ case 2:
+- *offset0 = (screen_width * (fbh - 1) + fbw - 1) * ps;
++ *offset1 = (screen_width * (fbh - 1) + fbw - 1) * ps;
+ if (fieldmode)
+- *offset1 = *offset0 - screen_width * ps;
++ *offset0 = *offset1 - screen_width * ps;
+ else
+- *offset1 = *offset0;
++ *offset0 = *offset1;
+ *row_inc = pixinc(-1 -
+ (screen_width - fbw) -
+ (fieldmode ? screen_width : 0),
+@@ -1301,11 +1309,11 @@ static void calc_dma_rotation_offset(u8 rotation, bool mirror,
+ *pix_inc = pixinc(-1, ps);
+ break;
+ case 3:
+- *offset0 = (fbw - 1) * ps;
++ *offset1 = (fbw - 1) * ps;
+ if (fieldmode)
+- *offset1 = *offset0 - ps;
++ *offset0 = *offset1 - ps;
+ else
+- *offset1 = *offset0;
++ *offset0 = *offset1;
+ *row_inc = pixinc(-screen_width * (fbh - 1) - 1 -
+ (fieldmode ? 1 : 0), ps);
+ *pix_inc = pixinc(screen_width, ps);
+@@ -1313,11 +1321,11 @@ static void calc_dma_rotation_offset(u8 rotation, bool mirror,
+
+ /* mirroring */
+ case 0 + 4:
+- *offset0 = (fbw - 1) * ps;
++ *offset1 = (fbw - 1) * ps;
+ if (fieldmode)
+- *offset1 = *offset0 + screen_width * ps;
++ *offset0 = *offset1 + screen_width * ps;
+ else
+- *offset1 = *offset0;
++ *offset0 = *offset1;
+ *row_inc = pixinc(screen_width * 2 - 1 +
+ (fieldmode ? screen_width : 0),
+ ps);
+@@ -1325,11 +1333,11 @@ static void calc_dma_rotation_offset(u8 rotation, bool mirror,
+ break;
+
+ case 1 + 4:
+- *offset0 = 0;
++ *offset1 = 0;
+ if (fieldmode)
+- *offset1 = *offset0 + screen_width * ps;
++ *offset0 = *offset1 + screen_width * ps;
+ else
+- *offset1 = *offset0;
++ *offset0 = *offset1;
+ *row_inc = pixinc(-screen_width * (fbh - 1) + 1 +
+ (fieldmode ? 1 : 0),
+ ps);
+@@ -1337,11 +1345,11 @@ static void calc_dma_rotation_offset(u8 rotation, bool mirror,
+ break;
+
+ case 2 + 4:
+- *offset0 = screen_width * (fbh - 1) * ps;
++ *offset1 = screen_width * (fbh - 1) * ps;
+ if (fieldmode)
+- *offset1 = *offset0 + screen_width * ps;
++ *offset0 = *offset1 + screen_width * ps;
+ else
+- *offset1 = *offset0;
++ *offset0 = *offset1;
+ *row_inc = pixinc(1 - screen_width * 2 -
+ (fieldmode ? screen_width : 0),
+ ps);
+@@ -1349,11 +1357,11 @@ static void calc_dma_rotation_offset(u8 rotation, bool mirror,
+ break;
+
+ case 3 + 4:
+- *offset0 = (screen_width * (fbh - 1) + fbw - 1) * ps;
++ *offset1 = (screen_width * (fbh - 1) + fbw - 1) * ps;
+ if (fieldmode)
+- *offset1 = *offset0 + screen_width * ps;
++ *offset0 = *offset1 + screen_width * ps;
+ else
+- *offset1 = *offset0;
++ *offset0 = *offset1;
+ *row_inc = pixinc(screen_width * (fbh - 1) - 1 -
+ (fieldmode ? 1 : 0),
+ ps);
+--
+1.5.6.5
+
diff --git a/recipes/linux/linux-omap-pm/dss2/0044-DSS2-add-sysfs-entry-for-seting-the-rotate-type.patch b/recipes/linux/linux-omap-pm/dss2/0044-DSS2-add-sysfs-entry-for-seting-the-rotate-type.patch
new file mode 100644
index 0000000000..32def9e8d5
--- /dev/null
+++ b/recipes/linux/linux-omap-pm/dss2/0044-DSS2-add-sysfs-entry-for-seting-the-rotate-type.patch
@@ -0,0 +1,76 @@
+From a9b3500bd14609750a2337e866e1df62627c1bac Mon Sep 17 00:00:00 2001
+From: Imre Deak <imre.deak@nokia.com>
+Date: Mon, 20 Apr 2009 14:55:33 +0200
+Subject: [PATCH] DSS2: add sysfs entry for seting the rotate type
+
+This can help in utilizing VRAM memory better. Since with VRFB rotation
+we waste a lot of physical memory due to the VRFB HW design, provide the
+possibility to turn it off and free the extra memory for the use by other
+planes for example.
+---
+ drivers/video/omap2/omapfb/omapfb-sysfs.c | 42 ++++++++++++++++++++++++++++-
+ 1 files changed, 41 insertions(+), 1 deletions(-)
+
+diff --git a/drivers/video/omap2/omapfb/omapfb-sysfs.c b/drivers/video/omap2/omapfb/omapfb-sysfs.c
+index 2c88718..4e3da42 100644
+--- a/drivers/video/omap2/omapfb/omapfb-sysfs.c
++++ b/drivers/video/omap2/omapfb/omapfb-sysfs.c
+@@ -43,6 +43,46 @@ static ssize_t show_rotate_type(struct device *dev,
+ return snprintf(buf, PAGE_SIZE, "%d\n", ofbi->rotation_type);
+ }
+
++static ssize_t store_rotate_type(struct device *dev,
++ struct device_attribute *attr,
++ const char *buf, size_t count)
++{
++ struct fb_info *fbi = dev_get_drvdata(dev);
++ struct omapfb_info *ofbi = FB2OFB(fbi);
++ struct omapfb2_device *fbdev = ofbi->fbdev;
++ enum omap_dss_rotation_type rot_type;
++ int r;
++
++ rot_type = simple_strtoul(buf, NULL, 0);
++
++ if (rot_type != OMAP_DSS_ROT_DMA && rot_type != OMAP_DSS_ROT_VRFB)
++ return -EINVAL;
++
++ omapfb_lock(fbdev);
++
++ r = 0;
++ if (rot_type == ofbi->rotation_type)
++ goto out;
++
++ r = -EBUSY;
++ if (ofbi->region.size)
++ goto out;
++
++ ofbi->rotation_type = rot_type;
++
++ /*
++ * Since the VRAM for this FB is not allocated at the moment we don't need to
++ * do any further parameter checking at this point.
++ */
++
++ r = count;
++out:
++ omapfb_unlock(fbdev);
++
++ return r;
++}
++
++
+ static ssize_t show_mirror(struct device *dev,
+ struct device_attribute *attr, char *buf)
+ {
+@@ -327,7 +367,7 @@ static ssize_t show_virt(struct device *dev,
+ }
+
+ static struct device_attribute omapfb_attrs[] = {
+- __ATTR(rotate_type, S_IRUGO, show_rotate_type, NULL),
++ __ATTR(rotate_type, S_IRUGO | S_IWUSR, show_rotate_type, store_rotate_type),
+ __ATTR(mirror, S_IRUGO | S_IWUSR, show_mirror, store_mirror),
+ __ATTR(size, S_IRUGO | S_IWUSR, show_size, store_size),
+ __ATTR(overlays, S_IRUGO | S_IWUSR, show_overlays, store_overlays),
+--
+1.5.6.5
+
diff --git a/recipes/linux/linux-omap-pm/dss2/0045-DSS2-Fixed-line-endings-from-to.patch b/recipes/linux/linux-omap-pm/dss2/0045-DSS2-Fixed-line-endings-from-to.patch
new file mode 100644
index 0000000000..9382469850
--- /dev/null
+++ b/recipes/linux/linux-omap-pm/dss2/0045-DSS2-Fixed-line-endings-from-to.patch
@@ -0,0 +1,48 @@
+From b0e081456a9b094109c04467d041ff693843ca47 Mon Sep 17 00:00:00 2001
+From: Tomi Valkeinen <tomi.valkeinen@nokia.com>
+Date: Tue, 21 Apr 2009 09:25:16 +0300
+Subject: [PATCH] DSS2: Fixed line endings from , to ;
+
+---
+ drivers/video/omap2/dss/manager.c | 18 +++++++++---------
+ 1 files changed, 9 insertions(+), 9 deletions(-)
+
+diff --git a/drivers/video/omap2/dss/manager.c b/drivers/video/omap2/dss/manager.c
+index 108489c..bf059e0 100644
+--- a/drivers/video/omap2/dss/manager.c
++++ b/drivers/video/omap2/dss/manager.c
+@@ -599,22 +599,22 @@ int dss_init_overlay_managers(struct platform_device *pdev)
+ break;
+ }
+
+- mgr->set_display = &omap_dss_set_display,
+- mgr->unset_display = &omap_dss_unset_display,
+- mgr->apply = &omap_dss_mgr_apply,
+- mgr->set_default_color = &omap_dss_mgr_set_def_color,
++ mgr->set_display = &omap_dss_set_display;
++ mgr->unset_display = &omap_dss_unset_display;
++ mgr->apply = &omap_dss_mgr_apply;
++ mgr->set_default_color = &omap_dss_mgr_set_def_color;
+ mgr->set_trans_key_type_and_value =
+- &omap_dss_mgr_set_trans_key_type_and_value,
++ &omap_dss_mgr_set_trans_key_type_and_value;
+ mgr->get_trans_key_type_and_value =
+- &omap_dss_mgr_get_trans_key_type_and_value,
+- mgr->enable_trans_key = &omap_dss_mgr_enable_trans_key,
+- mgr->get_trans_key_status = &omap_dss_mgr_get_trans_key_status,
++ &omap_dss_mgr_get_trans_key_type_and_value;
++ mgr->enable_trans_key = &omap_dss_mgr_enable_trans_key;
++ mgr->get_trans_key_status = &omap_dss_mgr_get_trans_key_status;
+ mgr->enable_alpha_blending =
+ &omap_dss_mgr_enable_alpha_blending;
+ mgr->get_alpha_blending_status =
+ omap_dss_mgr_get_alpha_blending_status;
+ mgr->get_default_color = &omap_dss_mgr_get_default_color;
+- mgr->caps = OMAP_DSS_OVL_MGR_CAP_DISPC,
++ mgr->caps = OMAP_DSS_OVL_MGR_CAP_DISPC;
+
+ dss_overlay_setup_dispc_manager(mgr);
+
+--
+1.5.6.5
+
diff --git a/recipes/linux/linux-omap-pm/dss2/0046-DSS2-DSI-decrease-sync-timeout-from-60s-to-2s.patch b/recipes/linux/linux-omap-pm/dss2/0046-DSS2-DSI-decrease-sync-timeout-from-60s-to-2s.patch
new file mode 100644
index 0000000000..4ae5fbdd9a
--- /dev/null
+++ b/recipes/linux/linux-omap-pm/dss2/0046-DSS2-DSI-decrease-sync-timeout-from-60s-to-2s.patch
@@ -0,0 +1,26 @@
+From 0f88992b2681aed4f31dc7dd3926b357bbc95154 Mon Sep 17 00:00:00 2001
+From: Tomi Valkeinen <tomi.valkeinen@nokia.com>
+Date: Tue, 21 Apr 2009 10:11:55 +0300
+Subject: [PATCH] DSS2: DSI: decrease sync timeout from 60s to 2s
+
+The framedone-problem should be ok now, so we shouldn't get long waits.
+---
+ drivers/video/omap2/dss/dsi.c | 2 +-
+ 1 files changed, 1 insertions(+), 1 deletions(-)
+
+diff --git a/drivers/video/omap2/dss/dsi.c b/drivers/video/omap2/dss/dsi.c
+index 50af925..d59ad38 100644
+--- a/drivers/video/omap2/dss/dsi.c
++++ b/drivers/video/omap2/dss/dsi.c
+@@ -3216,7 +3216,7 @@ static void dsi_push_set_mirror(struct omap_display *display, int mirror)
+
+ static int dsi_wait_sync(struct omap_display *display)
+ {
+- long wait = msecs_to_jiffies(60000);
++ long wait = msecs_to_jiffies(2000);
+ struct completion compl;
+
+ DSSDBGF("");
+--
+1.5.6.5
+
diff --git a/recipes/linux/linux-omap-pm/dss2/0047-DSS2-fix-return-value-for-rotate_type-sysfs-functio.patch b/recipes/linux/linux-omap-pm/dss2/0047-DSS2-fix-return-value-for-rotate_type-sysfs-functio.patch
new file mode 100644
index 0000000000..0b0f104b30
--- /dev/null
+++ b/recipes/linux/linux-omap-pm/dss2/0047-DSS2-fix-return-value-for-rotate_type-sysfs-functio.patch
@@ -0,0 +1,44 @@
+From 7ddd5eaa7bc345c3719d613a46a95b7e8052ad2c Mon Sep 17 00:00:00 2001
+From: Imre Deak <imre.deak@nokia.com>
+Date: Tue, 21 Apr 2009 15:18:36 +0200
+Subject: [PATCH] DSS2: fix return value for rotate_type sysfs function
+
+Signed-off-by: Imre Deak <imre.deak@nokia.com>
+---
+ drivers/video/omap2/omapfb/omapfb-sysfs.c | 9 ++++-----
+ 1 files changed, 4 insertions(+), 5 deletions(-)
+
+diff --git a/drivers/video/omap2/omapfb/omapfb-sysfs.c b/drivers/video/omap2/omapfb/omapfb-sysfs.c
+index 4e3da42..13028ae 100644
+--- a/drivers/video/omap2/omapfb/omapfb-sysfs.c
++++ b/drivers/video/omap2/omapfb/omapfb-sysfs.c
+@@ -64,9 +64,10 @@ static ssize_t store_rotate_type(struct device *dev,
+ if (rot_type == ofbi->rotation_type)
+ goto out;
+
+- r = -EBUSY;
+- if (ofbi->region.size)
++ if (ofbi->region.size) {
++ r = -EBUSY;
+ goto out;
++ }
+
+ ofbi->rotation_type = rot_type;
+
+@@ -74,12 +75,10 @@ static ssize_t store_rotate_type(struct device *dev,
+ * Since the VRAM for this FB is not allocated at the moment we don't need to
+ * do any further parameter checking at this point.
+ */
+-
+- r = count;
+ out:
+ omapfb_unlock(fbdev);
+
+- return r;
++ return r ? r : count;
+ }
+
+
+--
+1.5.6.5
+
diff --git a/recipes/linux/linux-omap-pm/dss2/0048-OMAP2-3-DMA-implement-trans-copy-and-const-fill.patch b/recipes/linux/linux-omap-pm/dss2/0048-OMAP2-3-DMA-implement-trans-copy-and-const-fill.patch
new file mode 100644
index 0000000000..cc6663fa21
--- /dev/null
+++ b/recipes/linux/linux-omap-pm/dss2/0048-OMAP2-3-DMA-implement-trans-copy-and-const-fill.patch
@@ -0,0 +1,123 @@
+From e34564db95627ad20e918b240c45e2bd5555f7e8 Mon Sep 17 00:00:00 2001
+From: Tomi Valkeinen <tomi.valkeinen@nokia.com>
+Date: Wed, 22 Apr 2009 10:06:08 +0300
+Subject: [PATCH] OMAP2/3: DMA: implement trans copy and const fill
+
+Implement transparent copy and constant fill features for OMAP2/3.
+
+Signed-off-by: Tomi Valkeinen <tomi.valkeinen@nokia.com>
+---
+ arch/arm/plat-omap/dma.c | 81 +++++++++++++++++++++------------
+ arch/arm/plat-omap/include/mach/dma.h | 1 +
+ 2 files changed, 52 insertions(+), 30 deletions(-)
+
+diff --git a/arch/arm/plat-omap/dma.c b/arch/arm/plat-omap/dma.c
+index 3fd0e77..060ac71 100755
+--- a/arch/arm/plat-omap/dma.c
++++ b/arch/arm/plat-omap/dma.c
+@@ -310,41 +310,62 @@ EXPORT_SYMBOL(omap_set_dma_transfer_params);
+
+ void omap_set_dma_color_mode(int lch, enum omap_dma_color_mode mode, u32 color)
+ {
+- u16 w;
+-
+ BUG_ON(omap_dma_in_1510_mode());
+
+- if (cpu_class_is_omap2()) {
+- REVISIT_24XX();
+- return;
+- }
++ if (cpu_class_is_omap1()) {
++ u16 w;
+
+- w = dma_read(CCR2(lch));
+- w &= ~0x03;
++ w = dma_read(CCR2(lch));
++ w &= ~0x03;
+
+- switch (mode) {
+- case OMAP_DMA_CONSTANT_FILL:
+- w |= 0x01;
+- break;
+- case OMAP_DMA_TRANSPARENT_COPY:
+- w |= 0x02;
+- break;
+- case OMAP_DMA_COLOR_DIS:
+- break;
+- default:
+- BUG();
++ switch (mode) {
++ case OMAP_DMA_CONSTANT_FILL:
++ w |= 0x01;
++ break;
++ case OMAP_DMA_TRANSPARENT_COPY:
++ w |= 0x02;
++ break;
++ case OMAP_DMA_COLOR_DIS:
++ break;
++ default:
++ BUG();
++ }
++ dma_write(w, CCR2(lch));
++
++ w = dma_read(LCH_CTRL(lch));
++ w &= ~0x0f;
++ /* Default is channel type 2D */
++ if (mode) {
++ dma_write((u16)color, COLOR_L(lch));
++ dma_write((u16)(color >> 16), COLOR_U(lch));
++ w |= 1; /* Channel type G */
++ }
++ dma_write(w, LCH_CTRL(lch));
+ }
+- dma_write(w, CCR2(lch));
+
+- w = dma_read(LCH_CTRL(lch));
+- w &= ~0x0f;
+- /* Default is channel type 2D */
+- if (mode) {
+- dma_write((u16)color, COLOR_L(lch));
+- dma_write((u16)(color >> 16), COLOR_U(lch));
+- w |= 1; /* Channel type G */
++ if (cpu_class_is_omap2()) {
++ u32 val;
++
++ val = dma_read(CCR(lch));
++ val &= ~((1 << 17) | (1 << 16));
++
++ switch (mode) {
++ case OMAP_DMA_CONSTANT_FILL:
++ val |= 1 << 16;
++ break;
++ case OMAP_DMA_TRANSPARENT_COPY:
++ val |= 1 << 17;
++ break;
++ case OMAP_DMA_COLOR_DIS:
++ break;
++ default:
++ BUG();
++ }
++ dma_write(val, CCR(lch));
++
++ color &= 0xffffff;
++ dma_write(color, COLOR(lch));
+ }
+- dma_write(w, LCH_CTRL(lch));
+ }
+ EXPORT_SYMBOL(omap_set_dma_color_mode);
+
+diff --git a/arch/arm/plat-omap/include/mach/dma.h b/arch/arm/plat-omap/include/mach/dma.h
+index 224b077..4e34f47 100644
+--- a/arch/arm/plat-omap/include/mach/dma.h
++++ b/arch/arm/plat-omap/include/mach/dma.h
+@@ -144,6 +144,7 @@
+ #define OMAP_DMA4_CSSA_U(n) 0
+ #define OMAP_DMA4_CDSA_L(n) 0
+ #define OMAP_DMA4_CDSA_U(n) 0
++#define OMAP1_DMA_COLOR(n) 0
+
+ /*----------------------------------------------------------------------------*/
+
+--
+1.5.6.5
+
diff --git a/recipes/linux/linux-omap-pm/dss2/0049-DSS2-VRAM-clear-allocated-area-with-DMA.patch b/recipes/linux/linux-omap-pm/dss2/0049-DSS2-VRAM-clear-allocated-area-with-DMA.patch
new file mode 100644
index 0000000000..e9fc76ce15
--- /dev/null
+++ b/recipes/linux/linux-omap-pm/dss2/0049-DSS2-VRAM-clear-allocated-area-with-DMA.patch
@@ -0,0 +1,101 @@
+From 02034cc79f69512a6037f03ad1243c28f59fdd8a Mon Sep 17 00:00:00 2001
+From: Tomi Valkeinen <tomi.valkeinen@nokia.com>
+Date: Wed, 22 Apr 2009 10:25:20 +0300
+Subject: [PATCH] DSS2: VRAM: clear allocated area with DMA
+
+Use DMA constant fill feature to clear VRAM area when
+someone allocates it.
+---
+ arch/arm/plat-omap/vram.c | 57 +++++++++++++++++++++++++++++++++++++++++++++
+ 1 files changed, 57 insertions(+), 0 deletions(-)
+
+diff --git a/arch/arm/plat-omap/vram.c b/arch/arm/plat-omap/vram.c
+index 8e9fe77..90276ac 100644
+--- a/arch/arm/plat-omap/vram.c
++++ b/arch/arm/plat-omap/vram.c
+@@ -31,11 +31,13 @@
+ #include <linux/seq_file.h>
+ #include <linux/bootmem.h>
+ #include <linux/omapfb.h>
++#include <linux/completion.h>
+
+ #include <asm/setup.h>
+
+ #include <mach/sram.h>
+ #include <mach/vram.h>
++#include <mach/dma.h>
+
+ #ifdef DEBUG
+ #define DBG(format, ...) printk(KERN_DEBUG "VRAM: " format, ## __VA_ARGS__)
+@@ -276,6 +278,59 @@ int omap_vram_reserve(unsigned long paddr, size_t size)
+ }
+ EXPORT_SYMBOL(omap_vram_reserve);
+
++static void _omap_vram_dma_cb(int lch, u16 ch_status, void *data)
++{
++ struct completion *compl = data;
++ complete(compl);
++}
++
++static int _omap_vram_clear(u32 paddr, unsigned pages)
++{
++ struct completion compl;
++ unsigned elem_count;
++ unsigned frame_count;
++ int r;
++ int lch;
++
++ init_completion(&compl);
++
++ r = omap_request_dma(OMAP_DMA_NO_DEVICE, "VRAM DMA",
++ _omap_vram_dma_cb,
++ &compl, &lch);
++ if (r) {
++ pr_err("VRAM: request_dma failed for memory clear\n");
++ return -EBUSY;
++ }
++
++ elem_count = pages * PAGE_SIZE / 4;
++ frame_count = 1;
++
++ omap_set_dma_transfer_params(lch, OMAP_DMA_DATA_TYPE_S32,
++ elem_count, frame_count,
++ OMAP_DMA_SYNC_ELEMENT,
++ 0, 0);
++
++ omap_set_dma_dest_params(lch, 0, OMAP_DMA_AMODE_POST_INC,
++ paddr, 0, 0);
++
++ omap_set_dma_color_mode(lch, OMAP_DMA_CONSTANT_FILL, 0x000000);
++
++ omap_start_dma(lch);
++
++ if (wait_for_completion_timeout(&compl, msecs_to_jiffies(1000)) == 0) {
++ omap_stop_dma(lch);
++ pr_err("VRAM: dma timeout while clearing memory\n");
++ r = -EIO;
++ goto err;
++ }
++
++ r = 0;
++err:
++ omap_free_dma(lch);
++
++ return r;
++}
++
+ static int _omap_vram_alloc(int mtype, unsigned pages, unsigned long *paddr)
+ {
+ struct vram_region *rm;
+@@ -313,6 +368,8 @@ found:
+
+ *paddr = start;
+
++ _omap_vram_clear(start, pages);
++
+ return 0;
+ }
+
+--
+1.5.6.5
+
diff --git a/recipes/linux/linux-omap-pm/dss2/0050-DSS2-OMAPFB-remove-fb-clearing-code.patch b/recipes/linux/linux-omap-pm/dss2/0050-DSS2-OMAPFB-remove-fb-clearing-code.patch
new file mode 100644
index 0000000000..8c5edd0c3d
--- /dev/null
+++ b/recipes/linux/linux-omap-pm/dss2/0050-DSS2-OMAPFB-remove-fb-clearing-code.patch
@@ -0,0 +1,53 @@
+From 07482193cccdfe9ede1f47d72790dfbe54343505 Mon Sep 17 00:00:00 2001
+From: Tomi Valkeinen <tomi.valkeinen@nokia.com>
+Date: Wed, 22 Apr 2009 10:26:06 +0300
+Subject: [PATCH] DSS2: OMAPFB: remove fb clearing code
+
+VRAM manager does the clearing now when the area is allocated.
+---
+ drivers/video/omap2/omapfb/omapfb-main.c | 8 --------
+ 1 files changed, 0 insertions(+), 8 deletions(-)
+
+diff --git a/drivers/video/omap2/omapfb/omapfb-main.c b/drivers/video/omap2/omapfb/omapfb-main.c
+index cd63740..76e7c6c 100644
+--- a/drivers/video/omap2/omapfb/omapfb-main.c
++++ b/drivers/video/omap2/omapfb/omapfb-main.c
+@@ -1174,7 +1174,6 @@ static int omapfb_alloc_fbmem(struct fb_info *fbi, unsigned long size,
+ struct omapfb2_mem_region *rg;
+ void __iomem *vaddr;
+ int r;
+- int clear = 0;
+
+ rg = &ofbi->region;
+ memset(rg, 0, sizeof(*rg));
+@@ -1184,7 +1183,6 @@ static int omapfb_alloc_fbmem(struct fb_info *fbi, unsigned long size,
+ if (!paddr) {
+ DBG("allocating %lu bytes for fb %d\n", size, ofbi->id);
+ r = omap_vram_alloc(OMAPFB_MEMTYPE_SDRAM, size, &paddr);
+- clear = 1;
+ } else {
+ DBG("reserving %lu bytes at %lx for fb %d\n", size, paddr,
+ ofbi->id);
+@@ -1206,9 +1204,6 @@ static int omapfb_alloc_fbmem(struct fb_info *fbi, unsigned long size,
+ }
+
+ DBG("allocated VRAM paddr %lx, vaddr %p\n", paddr, vaddr);
+-
+- if (clear)
+- memset_io(vaddr, 0, size);
+ } else {
+ void __iomem *va;
+
+@@ -1232,9 +1227,6 @@ static int omapfb_alloc_fbmem(struct fb_info *fbi, unsigned long size,
+ rg->vrfb.vaddr[0] = va;
+
+ vaddr = NULL;
+-
+- if (clear)
+- memset_io(va, 0, size);
+ }
+
+ rg->paddr = paddr;
+--
+1.5.6.5
+
diff --git a/recipes/linux/linux-omap-pm/dss2/0051-DSS2-VRAM-use-debugfs-not-procfs.patch b/recipes/linux/linux-omap-pm/dss2/0051-DSS2-VRAM-use-debugfs-not-procfs.patch
new file mode 100644
index 0000000000..93ff3205d3
--- /dev/null
+++ b/recipes/linux/linux-omap-pm/dss2/0051-DSS2-VRAM-use-debugfs-not-procfs.patch
@@ -0,0 +1,170 @@
+From b47aef28536f3c276d232c41cd3084c69389dca4 Mon Sep 17 00:00:00 2001
+From: Tomi Valkeinen <tomi.valkeinen@nokia.com>
+Date: Wed, 22 Apr 2009 14:11:52 +0300
+Subject: [PATCH] DSS2: VRAM: use debugfs, not procfs
+
+---
+ arch/arm/plat-omap/vram.c | 103 +++++++++++++++------------------------------
+ 1 files changed, 34 insertions(+), 69 deletions(-)
+
+diff --git a/arch/arm/plat-omap/vram.c b/arch/arm/plat-omap/vram.c
+index 90276ac..e847579 100644
+--- a/arch/arm/plat-omap/vram.c
++++ b/arch/arm/plat-omap/vram.c
+@@ -27,11 +27,11 @@
+ #include <linux/mm.h>
+ #include <linux/list.h>
+ #include <linux/dma-mapping.h>
+-#include <linux/proc_fs.h>
+ #include <linux/seq_file.h>
+ #include <linux/bootmem.h>
+ #include <linux/omapfb.h>
+ #include <linux/completion.h>
++#include <linux/debugfs.h>
+
+ #include <asm/setup.h>
+
+@@ -398,88 +398,54 @@ int omap_vram_alloc(int mtype, size_t size, unsigned long *paddr)
+ }
+ EXPORT_SYMBOL(omap_vram_alloc);
+
+-#ifdef CONFIG_PROC_FS
+-static void *r_next(struct seq_file *m, void *v, loff_t *pos)
+-{
+- struct list_head *l = v;
+-
+- (*pos)++;
+-
+- if (list_is_last(l, &region_list))
+- return NULL;
+-
+- return l->next;
+-}
+-
+-static void *r_start(struct seq_file *m, loff_t *pos)
+-{
+- loff_t p = *pos;
+- struct list_head *l = &region_list;
+-
+- mutex_lock(&region_mutex);
+-
+- do {
+- l = l->next;
+- if (l == &region_list)
+- return NULL;
+- } while (p--);
+-
+- return l;
+-}
+-
+-static void r_stop(struct seq_file *m, void *v)
+-{
+- mutex_unlock(&region_mutex);
+-}
+-
+-static int r_show(struct seq_file *m, void *v)
++#if defined(CONFIG_DEBUG_FS)
++static int vram_debug_show(struct seq_file *s, void *unused)
+ {
+ struct vram_region *vr;
+ struct vram_alloc *va;
+ unsigned size;
+
+- vr = list_entry(v, struct vram_region, list);
+-
+- size = vr->pages << PAGE_SHIFT;
+-
+- seq_printf(m, "%08lx-%08lx (%d bytes)\n",
+- vr->paddr, vr->paddr + size - 1,
+- size);
++ mutex_lock(&region_mutex);
+
+- list_for_each_entry(va, &vr->alloc_list, list) {
+- size = va->pages << PAGE_SHIFT;
+- seq_printf(m, " %08lx-%08lx (%d bytes)\n",
+- va->paddr, va->paddr + size - 1,
++ list_for_each_entry(vr, &region_list, list) {
++ size = vr->pages << PAGE_SHIFT;
++ seq_printf(s, "%08lx-%08lx (%d bytes)\n",
++ vr->paddr, vr->paddr + size - 1,
+ size);
+- }
+
++ list_for_each_entry(va, &vr->alloc_list, list) {
++ size = va->pages << PAGE_SHIFT;
++ seq_printf(s, " %08lx-%08lx (%d bytes)\n",
++ va->paddr, va->paddr + size - 1,
++ size);
++ }
++ }
+
++ mutex_unlock(&region_mutex);
+
+ return 0;
+ }
+
+-static const struct seq_operations resource_op = {
+- .start = r_start,
+- .next = r_next,
+- .stop = r_stop,
+- .show = r_show,
+-};
+-
+-static int vram_open(struct inode *inode, struct file *file)
++static int vram_debug_open(struct inode *inode, struct file *file)
+ {
+- return seq_open(file, &resource_op);
++ return single_open(file, vram_debug_show, inode->i_private);
+ }
+
+-static const struct file_operations proc_vram_operations = {
+- .open = vram_open,
+- .read = seq_read,
+- .llseek = seq_lseek,
+- .release = seq_release,
++static const struct file_operations vram_debug_fops = {
++ .open = vram_debug_open,
++ .read = seq_read,
++ .llseek = seq_lseek,
++ .release = single_release,
+ };
+
+-static int __init omap_vram_create_proc(void)
++static int __init omap_vram_create_debugfs(void)
+ {
+- proc_create("omap-vram", 0, NULL, &proc_vram_operations);
++ struct dentry *d;
++
++ d = debugfs_create_file("vram", S_IRUGO, NULL,
++ NULL, &vram_debug_fops);
++ if (IS_ERR(d))
++ return PTR_ERR(d);
+
+ return 0;
+ }
+@@ -487,7 +453,7 @@ static int __init omap_vram_create_proc(void)
+
+ static __init int omap_vram_init(void)
+ {
+- int i, r;
++ int i;
+
+ vram_initialized = 1;
+
+@@ -495,10 +461,9 @@ static __init int omap_vram_init(void)
+ omap_vram_add_region(postponed_regions[i].paddr,
+ postponed_regions[i].size);
+
+-#ifdef CONFIG_PROC_FS
+- r = omap_vram_create_proc();
+- if (r)
+- return -ENOMEM;
++#ifdef CONFIG_DEBUG_FS
++ if (omap_vram_create_debugfs())
++ pr_err("VRAM: Failed to create debugfs file\n");
+ #endif
+
+ return 0;
+--
+1.5.6.5
+
diff --git a/recipes/linux/linux-omap-pm/dss2/0052-DSS2-VRAM-fix-section-mismatch-warning.patch b/recipes/linux/linux-omap-pm/dss2/0052-DSS2-VRAM-fix-section-mismatch-warning.patch
new file mode 100644
index 0000000000..b8f89b6239
--- /dev/null
+++ b/recipes/linux/linux-omap-pm/dss2/0052-DSS2-VRAM-fix-section-mismatch-warning.patch
@@ -0,0 +1,34 @@
+From 635fa66abe6e502c9b78b1dc66757bf67fd163e1 Mon Sep 17 00:00:00 2001
+From: Imre Deak <imre.deak@nokia.com>
+Date: Wed, 22 Apr 2009 14:40:48 +0200
+Subject: [PATCH] DSS2: VRAM: fix section mismatch warning
+
+postponed_regions are accessed from the non __init
+omap_vram_add_region().
+
+Signed-off-by: Imre Deak <imre.deak@nokia.com>
+---
+ arch/arm/plat-omap/vram.c | 4 ++--
+ 1 files changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/arch/arm/plat-omap/vram.c b/arch/arm/plat-omap/vram.c
+index e847579..b126a64 100644
+--- a/arch/arm/plat-omap/vram.c
++++ b/arch/arm/plat-omap/vram.c
+@@ -63,11 +63,11 @@
+ #define MAX_POSTPONED_REGIONS 10
+
+ static bool vram_initialized;
+-static int postponed_cnt __initdata;
++static int postponed_cnt;
+ static struct {
+ unsigned long paddr;
+ size_t size;
+-} postponed_regions[MAX_POSTPONED_REGIONS] __initdata;
++} postponed_regions[MAX_POSTPONED_REGIONS];
+
+ struct vram_alloc {
+ struct list_head list;
+--
+1.5.6.5
+
diff --git a/recipes/linux/linux-omap-pm/dss2/0053-DSS2-disable-LCD-DIGIT-before-resetting-DSS.patch b/recipes/linux/linux-omap-pm/dss2/0053-DSS2-disable-LCD-DIGIT-before-resetting-DSS.patch
new file mode 100644
index 0000000000..f591fb700a
--- /dev/null
+++ b/recipes/linux/linux-omap-pm/dss2/0053-DSS2-disable-LCD-DIGIT-before-resetting-DSS.patch
@@ -0,0 +1,41 @@
+From c7ce3c5e9f7e28900b8ea9c3e1afe41dcdc0863d Mon Sep 17 00:00:00 2001
+From: Tomi Valkeinen <tomi.valkeinen@nokia.com>
+Date: Thu, 23 Apr 2009 10:46:53 +0300
+Subject: [PATCH] DSS2: disable LCD & DIGIT before resetting DSS
+
+This seems to fix the synclost problem that we get, if the bootloader
+starts the DSS and the kernel resets it.
+---
+ drivers/video/omap2/dss/dss.c | 8 +++++---
+ 1 files changed, 5 insertions(+), 3 deletions(-)
+
+diff --git a/drivers/video/omap2/dss/dss.c b/drivers/video/omap2/dss/dss.c
+index adc1f34..aab9758 100644
+--- a/drivers/video/omap2/dss/dss.c
++++ b/drivers/video/omap2/dss/dss.c
+@@ -285,6 +285,11 @@ int dss_init(bool skip_init)
+ }
+
+ if (!skip_init) {
++ /* disable LCD and DIGIT output. This seems to fix the synclost
++ * problem that we get, if the bootloader starts the DSS and
++ * the kernel resets it */
++ omap_writel(omap_readl(0x48050440) & ~0x3, 0x48050440);
++
+ /* We need to wait here a bit, otherwise we sometimes start to
+ * get synclost errors, and after that only power cycle will
+ * restore DSS functionality. I have no idea why this happens.
+@@ -294,10 +299,7 @@ int dss_init(bool skip_init)
+ msleep(50);
+
+ _omap_dss_reset();
+-
+ }
+- else
+- printk("DSS SKIP RESET\n");
+
+ /* autoidle */
+ REG_FLD_MOD(DSS_SYSCONFIG, 1, 0, 0);
+--
+1.5.6.5
+
diff --git a/recipes/linux/linux-omap-pm/dss2/merge-fixups.diff b/recipes/linux/linux-omap-pm/dss2/merge-fixups.diff
new file mode 100644
index 0000000000..94e663ce9e
--- /dev/null
+++ b/recipes/linux/linux-omap-pm/dss2/merge-fixups.diff
@@ -0,0 +1,49 @@
+
+--- /tmp/io.c 2009-04-23 12:31:45.000000000 +0200
++++ git/arch/arm/mach-omap2/io.c 2009-04-23 12:32:35.000000000 +0200
+@@ -18,6 +18,7 @@
+ #include <linux/module.h>
+ #include <linux/kernel.h>
+ #include <linux/init.h>
++#include <linux/omapfb.h>
+ #include <linux/io.h>
+ #include <linux/clk.h>
+
+@@ -25,7 +26,6 @@
+
+ #include <asm/mach/map.h>
+ #include <mach/mux.h>
+-#include <mach/omapfb.h>
+ #include <mach/sram.h>
+ #include <mach/sdrc.h>
+ #include <mach/gpmc.h>
+--- /tmp/board-3430sdp.c 2009-04-23 12:31:45.000000000 +0200
++++ git/arch/arm/mach-omap2/board-3430sdp.c 2009-04-23 12:32:51.000000000 +0200
+@@ -38,6 +38,7 @@
+ #include <mach/dma.h>
+ #include <mach/gpmc.h>
+ #include <mach/omap-pm.h>
++#include <mach/display.h>
+
+ #include <mach/control.h>
+ #include <mach/clock.h>
+--- /tmp/board-omap3beagle.c 2009-04-23 12:31:45.000000000 +0200
++++ git/arch/arm/mach-omap2/board-omap3beagle.c 2009-04-23 12:33:07.000000000 +0200
+@@ -46,6 +46,7 @@
+ #include <mach/mux.h>
+ #include <mach/omap-pm.h>
+ #include <mach/clock.h>
++#include <mach/display.h>
+
+ #include "twl4030-generic-scripts.h"
+ #include "mmc-twl4030.h"
+--- /tmp/board-omap3evm.c 2009-04-23 12:31:45.000000000 +0200
++++ git/arch/arm/mach-omap2/board-omap3evm.c 2009-04-23 12:33:22.000000000 +0200
+@@ -38,6 +38,7 @@
+ #include <mach/mcspi.h>
+ #include <mach/omap-pm.h>
+ #include <mach/clock.h>
++#include <mach/display.h>
+
+ #include "sdram-micron-mt46h32m32lf-6.h"
+ #include "twl4030-generic-scripts.h"
diff --git a/recipes/linux/linux-omap-pm/dvb-fix-dma.diff b/recipes/linux/linux-omap-pm/dvb-fix-dma.diff
deleted file mode 100644
index e05473fc7f..0000000000
--- a/recipes/linux/linux-omap-pm/dvb-fix-dma.diff
+++ /dev/null
@@ -1,60 +0,0 @@
-Hi,
-I post this patch that fixes a kernel crash that happens when using a dvb
-usb stick on a mips platform and I think even on other platforms on which
-the dma access in not cache-coherent.
-
-The problem's origin is that, inside the method usb_bulk_urb_init of file
-drivers/media/dvb/dvb-usb/usb-urb.c, stream->urb_list[i]->transfer_buffer
-points to a memory area that has been allocated to be dma-coherent but
-stream->urb_list[i]->transfer_flags doesn't include the
-URB_NO_TRANSFER_DMA_MAP flag and stream->urb_list[i]->transfer_dma is not
-set.
-When later on the stream->urb_list[i]->transfer_buffer pointer is used
-inside function usb_hcd_submit_urb of file drivers/usb/core/hcd.c since the
-flag URB_NO_TRANSFER_DMA_MAP is not set the urb->transfer_buffer pointer is
-passed to the dma_map_single function that since the address is dma-coherent
-returns a wrong tranfer_dma address that later on leads to the kernel crash.
-
-The problem is solved by setting the URB_NO_TRANSFER_DMA_MAP flag and the
-stream->urb_list[i]->transfer_dma address.
-
-Perhaps to be more safe the URB_NO_TRANSFER_DMA_MAP flag can be set only
-if stream->urb_list[i]->transfer_dma != 0.
-
-I don't know if half of the fault can be of the dma_map_single function that
-should anyway returns a valid address both for a not dma-coherent and a
-dma-coherent address.
-
-Just to be clear:
-I've done this patch to solve my problem and I tested it only on a mips
-platform
-but I think it should not cause any problems on other platforms.
-I posted it here to help someone else that can have my same problem and to
-point it out
-to the mantainer of this part of code.
-You can use it at your own risk and I'm not resposible in any way for any
-problem or
-damage that it can cause.
-I'm available to discuss about it
-
-Bye
-
-Michele Scorcia
-
---------------------
-
-
-
-
---- /tmp/usb-urb.c 2008-10-08 09:53:23.000000000 +0200
-+++ git/drivers/media/dvb/dvb-usb/usb-urb.c 2008-10-08 09:54:16.000000000 +0200
-@@ -152,7 +152,8 @@
- stream->props.u.bulk.buffersize,
- usb_urb_complete, stream);
-
-- stream->urb_list[i]->transfer_flags = 0;
-+ stream->urb_list[i]->transfer_flags = URB_NO_TRANSFER_DMA_MAP;
-+ stream->urb_list[i]->transfer_dma = stream->dma_addr[i];
- stream->urbs_initialized++;
- }
- return 0;
diff --git a/recipes/linux/linux-omap-pm/ehci.patch b/recipes/linux/linux-omap-pm/ehci.patch
new file mode 100644
index 0000000000..e69de29bb2
--- /dev/null
+++ b/recipes/linux/linux-omap-pm/ehci.patch
diff --git a/recipes/linux/linux-omap-pm/fix-clkrate-programming.diff b/recipes/linux/linux-omap-pm/fix-clkrate-programming.diff
deleted file mode 100644
index 10369d4200..0000000000
--- a/recipes/linux/linux-omap-pm/fix-clkrate-programming.diff
+++ /dev/null
@@ -1,57 +0,0 @@
-From: Paul Walmsley <paul@pwsan.com>
-Date: Fri, 17 Oct 2008 22:18:42 +0000 (-0600)
-Subject: OMAP3 clock: fix non-CORE DPLL rate assignment bugs
-X-Git-Tag: v2.6.27-omap1~8
-X-Git-Url: http://git.kernel.org/?p=linux%2Fkernel%2Fgit%2Ftmlind%2Flinux-omap-2.6.git;a=commitdiff_plain;h=2ac1da8c787f73f067e717408e631501ba60aabc
-
-OMAP3 clock: fix non-CORE DPLL rate assignment bugs
-
-Commit 8b1f0bd44fe490ec631230c8c040753a2bda8caa introduced a bug that
-caused non-CORE DPLL rates to be incorrectly set on boot in
-omap3_noncore_dpll_enable(). Debugged by Tomi Valkeinen
-<tomi.valkeinen@nokia.com> - thanks Tomi.
-
-Also fix omap3_noncore_dpll_set_rate() to assign clk->rate after a
-DPLL reprogram.
-
-Tested on 3430SDP.
-
-Signed-off-by: Paul Walmsley <paul@pwsan.com>
-Cc: Tomi Valkeinen <tomi.valkeinen@nokia.com>
-Cc: Rick Bronson <rick@efn.org>
-Cc: Timo Kokkonen <timo.t.kokkonen@nokia.com>
-Cc: Sakari Poussa <sakari.poussa@nokia.com>
-Signed-off-by: Tony Lindgren <tony@atomide.com>
----
-
-diff --git a/arch/arm/mach-omap2/clock34xx.c b/arch/arm/mach-omap2/clock34xx.c
-index df258f7..cc43f4f 100644
---- a/arch/arm/mach-omap2/clock34xx.c
-+++ b/arch/arm/mach-omap2/clock34xx.c
-@@ -271,7 +271,6 @@ static int _omap3_noncore_dpll_stop(struct clk *clk)
- static int omap3_noncore_dpll_enable(struct clk *clk)
- {
- int r;
-- long rate;
- struct dpll_data *dd;
-
- if (clk == &dpll3_ck)
-@@ -287,7 +286,7 @@ static int omap3_noncore_dpll_enable(struct clk *clk)
- r = _omap3_noncore_dpll_lock(clk);
-
- if (!r)
-- clk->rate = rate;
-+ clk->rate = omap2_get_dpll_rate(clk);
-
- return r;
- }
-@@ -430,6 +429,9 @@ static int omap3_noncore_dpll_set_rate(struct clk *clk, unsigned long rate)
- ret = omap3_noncore_dpll_program(clk, dd->last_rounded_m,
- dd->last_rounded_n, freqsel);
-
-+ if (!ret)
-+ clk->rate = rate;
-+
- }
-
- omap3_dpll_recalc(clk);
diff --git a/recipes/linux/linux-omap-pm/fix-dpll-m4.diff b/recipes/linux/linux-omap-pm/fix-dpll-m4.diff
deleted file mode 100644
index 1fa3bfe7fe..0000000000
--- a/recipes/linux/linux-omap-pm/fix-dpll-m4.diff
+++ /dev/null
@@ -1,37 +0,0 @@
-From linux-omap-owner@vger.kernel.org Mon Dec 08 14:41:05 2008
-
-This fixes commit e42218d45afbc3e654e289e021e6b80c657b16c2. The commit
-was based on old kernel tree, and with bad luck applied ok but to wrong
-position, modifying dpll4_m6_ck instead of dpll4_m4_ck.
-
-Signed-off-by: Tomi Valkeinen <tomi.valkeinen@nokia.com>
----
- arch/arm/mach-omap2/clock34xx.h | 4 ++--
- 1 files changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/arch/arm/mach-omap2/clock34xx.h b/arch/arm/mach-omap2/clock34xx.h
-index 1c2b49f..5357507 100644
---- a/arch/arm/mach-omap2/clock34xx.h
-+++ b/arch/arm/mach-omap2/clock34xx.h
-@@ -825,6 +825,8 @@ static struct clk dpll4_m4_ck = {
- PARENT_CONTROLS_CLOCK,
- .clkdm = { .name = "dpll4_clkdm" },
- .recalc = &omap2_clksel_recalc,
-+ .set_rate = &omap2_clksel_set_rate,
-+ .round_rate = &omap2_clksel_round_rate,
- };
-
- /* The PWRDN bit is apparently only available on 3430ES2 and above */
-@@ -879,8 +881,6 @@ static struct clk dpll4_m6_ck = {
- PARENT_CONTROLS_CLOCK,
- .clkdm = { .name = "dpll4_clkdm" },
- .recalc = &omap2_clksel_recalc,
-- .set_rate = &omap2_clksel_set_rate,
-- .round_rate = &omap2_clksel_round_rate,
- };
-
- /* The PWRDN bit is apparently only available on 3430ES2 and above */
---
-1.6.0.3
-
-
diff --git a/recipes/linux/linux-omap-pm/fix-irq33.diff b/recipes/linux/linux-omap-pm/fix-irq33.diff
deleted file mode 100644
index 709f042ab7..0000000000
--- a/recipes/linux/linux-omap-pm/fix-irq33.diff
+++ /dev/null
@@ -1,111 +0,0 @@
-From: "Nathan Monson" <nmonson@gmail.com>
-To: "linux-omap@vger.kernel.org List" <linux-omap@vger.kernel.org>
-Subject: Re: omapfb: help from userspace
-Cc: "TK, Pratheesh Gangadhar" <pratheesh@ti.com>
-
-On Wed, Oct 8, 2008 at 11:36 AM, Nathan Monson <nmonson@gmail.com> wrote:
-> "Felipe Contreras" <felipe.contreras@gmail.com> writes:
->> irq -33, desc: c0335cf8, depth: 0, count: 0, unhandled: 0
->
-> On the BeagleBoard list, Pratheesh Gangadhar said that mapping I/O
-> regions as Strongly Ordered suppresses this problem:
-> http://groups.google.com/group/beagleboard/browse_thread/thread/23e1c95b4bfb09b5/70d12dca569ca503?show_docid=70d12dca569ca503
-
-Pratheesh helped me make a patch against the latest linux-omap git to
-try this.
-
-With this patch, my IRQ -33 problems with the DSP have disappeared.
-Before, I would end up in IRQ -33 loop after 10 invocations of the DSP
-Bridge 'ping.out' utility. I just finished running it 50,000 times
-without error.
-
-As stated before, this patch is just a workaround for testing
-purposes, not a fix. Who knows what performance side effects it
-has...
-
----
-diff --git a/arch/arm/include/asm/mach/map.h b/arch/arm/include/asm/mach/map.h
-index 9eb936e..5cb4f5f 100644
---- a/arch/arm/include/asm/mach/map.h
-+++ b/arch/arm/include/asm/mach/map.h
-@@ -25,6 +25,7 @@ struct map_desc {
- #define MT_HIGH_VECTORS 8
- #define MT_MEMORY 9
- #define MT_ROM 10
-+#define MT_MEMORY_SO 11
-
- #define MT_NONSHARED_DEVICE MT_DEVICE_NONSHARED
- #define MT_IXP2000_DEVICE MT_DEVICE_IXP2000
-diff --git a/arch/arm/mach-omap2/io.c b/arch/arm/mach-omap2/io.c
-index adbe21f..c11c0e8 100644
---- a/arch/arm/mach-omap2/io.c
-+++ b/arch/arm/mach-omap2/io.c
-@@ -119,13 +119,13 @@ static struct map_desc omap34xx_io_desc[] __initdata = {
- .virtual = L3_34XX_VIRT,
- .pfn = __phys_to_pfn(L3_34XX_PHYS),
- .length = L3_34XX_SIZE,
-- .type = MT_DEVICE
-+ .type = MT_MEMORY_SO
- },
- {
- .virtual = L4_34XX_VIRT,
- .pfn = __phys_to_pfn(L4_34XX_PHYS),
- .length = L4_34XX_SIZE,
-- .type = MT_DEVICE
-+ .type = MT_MEMORY_SO
- },
- {
- .virtual = L4_WK_34XX_VIRT,
-@@ -137,19 +137,19 @@ static struct map_desc omap34xx_io_desc[] __initdata = {
- .virtual = OMAP34XX_GPMC_VIRT,
- .pfn = __phys_to_pfn(OMAP34XX_GPMC_PHYS),
- .length = OMAP34XX_GPMC_SIZE,
-- .type = MT_DEVICE
-+ .type = MT_MEMORY_SO
- },
- {
- .virtual = OMAP343X_SMS_VIRT,
- .pfn = __phys_to_pfn(OMAP343X_SMS_PHYS),
- .length = OMAP343X_SMS_SIZE,
-- .type = MT_DEVICE
-+ .type = MT_MEMORY_SO
- },
- {
- .virtual = OMAP343X_SDRC_VIRT,
- .pfn = __phys_to_pfn(OMAP343X_SDRC_PHYS),
- .length = OMAP343X_SDRC_SIZE,
-- .type = MT_DEVICE
-+ .type = MT_MEMORY_SO
- },
- {
- .virtual = L4_PER_34XX_VIRT,
-@@ -161,7 +161,7 @@ static struct map_desc omap34xx_io_desc[] __initdata = {
- .virtual = L4_EMU_34XX_VIRT,
- .pfn = __phys_to_pfn(L4_EMU_34XX_PHYS),
- .length = L4_EMU_34XX_SIZE,
-- .type = MT_DEVICE
-+ .type = MT_MEMORY_SO
- },
- };
- #endif
-diff --git a/arch/arm/mm/mmu.c b/arch/arm/mm/mmu.c
-index a713e40..d5f25ad 100644
---- a/arch/arm/mm/mmu.c
-+++ b/arch/arm/mm/mmu.c
-@@ -245,6 +245,10 @@ static struct mem_type mem_types[] = {
- .prot_sect = PMD_TYPE_SECT,
- .domain = DOMAIN_KERNEL,
- },
-+ [MT_MEMORY_SO] = {
-+ .prot_sect = PMD_TYPE_SECT | PMD_SECT_AP_WRITE | PMD_SECT_UNCACHED,
-+ .domain = DOMAIN_KERNEL,
-+ },
- };
-
- const struct mem_type *get_mem_type(unsigned int type)
---
---
-To unsubscribe from this list: send the line "unsubscribe linux-omap" in
-the body of a message to majordomo@vger.kernel.org
-More majordomo info at http://vger.kernel.org/majordomo-info.html
-
diff --git a/recipes/linux/linux-omap-pm/fixup-evm-cpufreq.diff b/recipes/linux/linux-omap-pm/fixup-evm-cpufreq.diff
deleted file mode 100644
index fda1b6ddd9..0000000000
--- a/recipes/linux/linux-omap-pm/fixup-evm-cpufreq.diff
+++ /dev/null
@@ -1,44 +0,0 @@
-From: Kevin Hilman <khilman@deeprootsystems.com>
-Date: Mon, 2 Mar 2009 21:57:31 +0000 (-0800)
-Subject: OMAP3: PM: CPUfreq support for OMAP3EVM board
-X-Git-Url: http://git.kernel.org/?p=linux%2Fkernel%2Fgit%2Fkhilman%2Flinux-omap-pm.git;a=commitdiff_plain;h=e10fda5f6106c6e0a559c3a4720ebff7a8bb1a43
-
-OMAP3: PM: CPUfreq support for OMAP3EVM board
-
-From: Koen Kooi <koen@beagleboard.org>
-
-Uses the common OMAP3 OPP settings on OMAP3 EVM board.
-
-Signed-off-by: Kevin Hilman <khilman@deeprootsystems.com>
----
-
-diff --git a/arch/arm/mach-omap2/board-omap3evm.c b/arch/arm/mach-omap2/board-omap3evm.c
-index 6fbbe95..072930a 100644
---- a/arch/arm/mach-omap2/board-omap3evm.c
-+++ b/arch/arm/mach-omap2/board-omap3evm.c
-@@ -36,14 +36,11 @@
- #include <mach/usb-ehci.h>
- #include <mach/common.h>
- #include <mach/mcspi.h>
--#include <mach/omap-pm.h>
--#include <mach/clock.h>
-
- #include "sdram-micron-mt46h32m32lf-6.h"
- #include "twl4030-generic-scripts.h"
- #include "mmc-twl4030.h"
--#include "pm.h"
--#include "omap3-opp.h"
-+
-
- static struct resource omap3evm_smc911x_resources[] = {
- [0] = {
-@@ -220,8 +217,7 @@ struct spi_board_info omap3evm_spi_board_info[] = {
-
- static void __init omap3_evm_init_irq(void)
- {
-- omap2_init_common_hw(mt46h32m32lf6_sdrc_params, omap3_mpu_rate_table,
-- omap3_dsp_rate_table, omap3_l3_rate_table);
-+ omap2_init_common_hw(mt46h32m32lf6_sdrc_params, NULL, NULL, NULL);
- omap_init_irq();
- omap_gpio_init();
- omap3evm_init_smc911x();
diff --git a/recipes/linux/linux-omap-pm/ioremap-fix.patch b/recipes/linux/linux-omap-pm/ioremap-fix.patch
deleted file mode 100644
index 406138b04d..0000000000
--- a/recipes/linux/linux-omap-pm/ioremap-fix.patch
+++ /dev/null
@@ -1,75 +0,0 @@
-From: Russell King <rmk@dyn-67.arm.linux.org.uk>
-Date: Sun, 25 Jan 2009 17:36:34 +0000 (+0000)
-Subject: [ARM] fix section-based ioremap
-X-Git-Url: http://git.kernel.org/?p=linux%2Fkernel%2Fgit%2Fkhilman%2Flinux-omap-pm.git;a=commitdiff_plain;h=9ae635f00a568cf95dbd15fa2c50eaee0aa27d2a
-
-[ARM] fix section-based ioremap
-
-Tomi Valkeinen reports:
- Running with latest linux-omap kernel on OMAP3 SDP board, I have
- problem with iounmap(). It looks like iounmap() does not properly
- free large areas. Below is a test which fails for me in 6-7 loops.
-
- for (i = 0; i < 200; ++i) {
- vaddr = ioremap(paddr, size);
- if (!vaddr) {
- printk("couldn't ioremap\n");
- break;
- }
- iounmap(vaddr);
- }
-
-The changes to vmalloc.c weren't reflected in the ARM ioremap
-implementation. Turns out the fix is rather simple.
-
-Tested-by: Tomi Valkeinen <tomi.valkeinen@nokia.com>
-Tested-by: Matt Gerassimoff <mgeras@gmail.com>
-Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
-(cherry picked from commit 24f11ec001920f1cfaeeed8e8b55725d900bbb56)
----
-
-diff --git a/arch/arm/mm/ioremap.c b/arch/arm/mm/ioremap.c
-index 18373f7..9f88dd3 100644
---- a/arch/arm/mm/ioremap.c
-+++ b/arch/arm/mm/ioremap.c
-@@ -138,7 +138,7 @@ void __check_kvm_seq(struct mm_struct *mm)
- */
- static void unmap_area_sections(unsigned long virt, unsigned long size)
- {
-- unsigned long addr = virt, end = virt + (size & ~SZ_1M);
-+ unsigned long addr = virt, end = virt + (size & ~(SZ_1M - 1));
- pgd_t *pgd;
-
- flush_cache_vunmap(addr, end);
-@@ -337,10 +337,7 @@ void __iounmap(volatile void __iomem *io_addr)
- void *addr = (void *)(PAGE_MASK & (unsigned long)io_addr);
- #ifndef CONFIG_SMP
- struct vm_struct **p, *tmp;
--#endif
-- unsigned int section_mapping = 0;
-
--#ifndef CONFIG_SMP
- /*
- * If this is a section based mapping we need to handle it
- * specially as the VM subsystem does not know how to handle
-@@ -352,11 +349,8 @@ void __iounmap(volatile void __iomem *io_addr)
- for (p = &vmlist ; (tmp = *p) ; p = &tmp->next) {
- if ((tmp->flags & VM_IOREMAP) && (tmp->addr == addr)) {
- if (tmp->flags & VM_ARM_SECTION_MAPPING) {
-- *p = tmp->next;
- unmap_area_sections((unsigned long)tmp->addr,
- tmp->size);
-- kfree(tmp);
-- section_mapping = 1;
- }
- break;
- }
-@@ -364,7 +358,6 @@ void __iounmap(volatile void __iomem *io_addr)
- write_unlock(&vmlist_lock);
- #endif
-
-- if (!section_mapping)
-- vunmap(addr);
-+ vunmap(addr);
- }
- EXPORT_SYMBOL(__iounmap);
diff --git a/recipes/linux/linux-omap-pm/mru-256MB.diff b/recipes/linux/linux-omap-pm/mru-256MB.diff
deleted file mode 100644
index 0492ca2d8f..0000000000
--- a/recipes/linux/linux-omap-pm/mru-256MB.diff
+++ /dev/null
@@ -1,24 +0,0 @@
-From: Mans Rullgard <mans@mansr.com>
-Date: Thu, 2 Oct 2008 00:05:33 +0000 (+0100)
-Subject: OMAP: Increase VMALLOC_END to allow 256MB RAM
-X-Git-Url: http://git.mansr.com/?p=linux-omap;a=commitdiff_plain;h=355a0ce968e4a7b0c8d8203f4517296e932e373d
-
-OMAP: Increase VMALLOC_END to allow 256MB RAM
-
-This increases VMALLOC_END to 0x18000000, making room for 256MB
-RAM with the default 128MB vmalloc region.
-
-Signed-off-by: Mans Rullgard <mans@mansr.com>
----
-
-diff --git a/arch/arm/plat-omap/include/mach/vmalloc.h b/arch/arm/plat-omap/include/mach/vmalloc.h
-index d8515cb..b97dfaf 100644
---- a/arch/arm/plat-omap/include/mach/vmalloc.h
-+++ b/arch/arm/plat-omap/include/mach/vmalloc.h
-@@ -17,5 +17,5 @@
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- */
--#define VMALLOC_END (PAGE_OFFSET + 0x17000000)
-+#define VMALLOC_END (PAGE_OFFSET + 0x18000000)
-
diff --git a/recipes/linux/linux-omap-pm/mru-enable-overlay-optimalization.diff b/recipes/linux/linux-omap-pm/mru-enable-overlay-optimalization.diff
deleted file mode 100644
index d027c53d6b..0000000000
--- a/recipes/linux/linux-omap-pm/mru-enable-overlay-optimalization.diff
+++ /dev/null
@@ -1,117 +0,0 @@
-From: Mans Rullgard <mans@mansr.com>
-Date: Fri, 29 Aug 2008 01:45:26 +0000 (+0100)
-Subject: OMAP: Enable overlay optimisation
-X-Git-Url: http://git.mansr.com/?p=linux-omap;a=commitdiff_plain;h=7e052af7e4c73dc450412486ad37eb529e725dc7
-
-OMAP: Enable overlay optimisation
-
-This enables the overlay optimisation feature when the video
-overlay is active. This reduces memory bandwidth used by the
-display subsystem, improving overall performance.
-
-Signed-off-by: Mans Rullgard <mans@mansr.com>
----
-
-diff --git a/drivers/video/omap/dispc.c b/drivers/video/omap/dispc.c
-index 888d2c2..0f0b2e5 100644
---- a/drivers/video/omap/dispc.c
-+++ b/drivers/video/omap/dispc.c
-@@ -315,6 +315,60 @@ void omap_dispc_enable_digit_out(int enable)
- }
- EXPORT_SYMBOL(omap_dispc_enable_digit_out);
-
-+#define MIN(a, b) ((a)<(b)?(a):(b))
-+#define MAX(a, b) ((a)>(b)?(a):(b))
-+
-+static void setup_overlay_opt(void)
-+{
-+ struct fb_info **fbi = dispc.fbdev->fb_info;
-+ struct omapfb_plane_struct *gfx, *vid;
-+ struct fb_var_screeninfo *gvar;
-+ unsigned gx, gx2, gy, gy2, gw, gh;
-+ unsigned vx, vx2, vy, vy2, vw, vh;
-+ unsigned bpp, skip;
-+ static unsigned last_skip;
-+
-+ if (!fbi[0] || !fbi[1])
-+ return;
-+
-+ gfx = fbi[0]->par;
-+ vid = fbi[1]->par;
-+ gvar = &fbi[0]->var;
-+
-+ gx = gfx->info.pos_x;
-+ gy = gfx->info.pos_y;
-+ gw = gfx->info.out_width;
-+ gh = gfx->info.out_height;
-+ vx = vid->info.pos_x;
-+ vy = vid->info.pos_y;
-+ vw = vid->info.out_width;
-+ vh = vid->info.out_height;
-+ gx2 = gx + gw;
-+ gy2 = gy + gh;
-+ vx2 = vx + vw;
-+ vy2 = vy + vh;
-+ bpp = gvar->bits_per_pixel / 8;
-+
-+ if (!gfx->info.enabled || !vid->info.enabled ||
-+ dispc.color_key.key_type != OMAPFB_COLOR_KEY_DISABLED) {
-+ skip = 0;
-+ } else if (vx <= gx && vx2 >= gx2) {
-+ unsigned y = MIN(gy2, vy2) - MAX(gy, vy);
-+ skip = y * gvar->xres_virtual * bpp;
-+ } else if (vx <= gx || vx2 >= gx2) {
-+ unsigned x = MIN(gx2, vx2) - MAX(gx, vx);
-+ skip = x * bpp;
-+ } else {
-+ skip = vw * bpp + 1;
-+ }
-+
-+ if (skip != last_skip) {
-+ last_skip = skip;
-+ dispc_write_reg(DISPC_GFX_WINDOW_SKIP, skip);
-+ MOD_REG_FLD(DISPC_CONTROL, 1<<12, !!skip<<12);
-+ }
-+}
-+
- static inline int _setup_plane(int plane, int channel_out,
- u32 paddr, int screen_width,
- int pos_x, int pos_y, int width, int height,
-@@ -437,6 +491,9 @@ static inline int _setup_plane(int plane, int channel_out,
-
- dispc_write_reg(ri_reg[plane], (screen_width - width) * bpp / 8 + 1);
-
-+ if (plane < 2)
-+ setup_overlay_opt();
-+
- MOD_REG_FLD(DISPC_CONTROL, 1<<5, 1<<5);
-
- return height * screen_width * bpp / 8;
-@@ -585,11 +642,19 @@ static int omap_dispc_enable_plane(int plane, int enable)
- const u32 at_reg[] = { DISPC_GFX_ATTRIBUTES,
- DISPC_VID1_BASE + DISPC_VID_ATTRIBUTES,
- DISPC_VID2_BASE + DISPC_VID_ATTRIBUTES };
-+ struct omapfb_plane_struct *pi;
-+
- if ((unsigned int)plane > dispc.mem_desc.region_cnt)
- return -EINVAL;
-
-+ pi = dispc.fbdev->fb_info[plane]->par;
-+ pi->info.enabled = enable;
-+
- enable_lcd_clocks(1);
- MOD_REG_FLD(at_reg[plane], 1, enable ? 1 : 0);
-+ if (plane < 2)
-+ setup_overlay_opt();
-+ MOD_REG_FLD(DISPC_CONTROL, 1<<5, 1<<5);
- enable_lcd_clocks(0);
-
- return 0;
-@@ -633,6 +698,7 @@ static int omap_dispc_set_color_key(struct omapfb_color_key *ck)
- if (val != 0)
- dispc_write_reg(tr_reg, ck->trans_key);
- dispc_write_reg(df_reg, ck->background);
-+ setup_overlay_opt();
- enable_lcd_clocks(0);
-
- dispc.color_key = *ck;
diff --git a/recipes/linux/linux-omap-pm/mru-fix-display-panning.diff b/recipes/linux/linux-omap-pm/mru-fix-display-panning.diff
deleted file mode 100644
index a4ba3d29f4..0000000000
--- a/recipes/linux/linux-omap-pm/mru-fix-display-panning.diff
+++ /dev/null
@@ -1,49 +0,0 @@
-From: Mans Rullgard <mans@mansr.com>
-Date: Fri, 29 Aug 2008 01:18:48 +0000 (+0100)
-Subject: OMAP: Fix omapfb display panning
-X-Git-Url: http://git.mansr.com/?p=linux-omap;a=commitdiff_plain;h=2ea46e9f28ff57a32d87bc380457a584c913fe78
-
-OMAP: Fix omapfb display panning
-
-This makes the FBIOPAN_DISPLAY ioctl work with omapfb.
-
-Signed-off-by: Mans Rullgard <mans@mansr.com>
----
-
-diff --git a/drivers/video/omap/dispc.c b/drivers/video/omap/dispc.c
-index ce4c4de..64bf333 100644
---- a/drivers/video/omap/dispc.c
-+++ b/drivers/video/omap/dispc.c
-@@ -436,6 +436,8 @@ static inline int _setup_plane(int plane, int channel_out,
-
- dispc_write_reg(ri_reg[plane], (screen_width - width) * bpp / 8 + 1);
-
-+ MOD_REG_FLD(DISPC_CONTROL, 1<<5, 1<<5);
-+
- return height * screen_width * bpp / 8;
- }
-
-diff --git a/drivers/video/omap/omapfb_main.c b/drivers/video/omap/omapfb_main.c
-index e7f3462..e9ffb92 100644
---- a/drivers/video/omap/omapfb_main.c
-+++ b/drivers/video/omap/omapfb_main.c
-@@ -207,8 +207,8 @@ static int ctrl_change_mode(struct fb_info *fbi)
- struct omapfb_device *fbdev = plane->fbdev;
- struct fb_var_screeninfo *var = &fbi->var;
-
-- offset = var->yoffset * fbi->fix.line_length +
-- var->xoffset * var->bits_per_pixel / 8;
-+ offset = (var->yoffset * var->xres_virtual + var->xoffset) *
-+ var->bits_per_pixel / 8;
-
- if (fbdev->ctrl->sync)
- fbdev->ctrl->sync();
-@@ -426,6 +426,8 @@ static void set_fb_fix(struct fb_info *fbi)
- }
- fix->accel = FB_ACCEL_OMAP1610;
- fix->line_length = var->xres_virtual * bpp / 8;
-+ fix->xpanstep = 1;
-+ fix->ypanstep = 1;
- }
-
- static int set_color_mode(struct omapfb_plane_struct *plane,
diff --git a/recipes/linux/linux-omap-pm/mru-fix-timings.diff b/recipes/linux/linux-omap-pm/mru-fix-timings.diff
deleted file mode 100644
index 37ca7d33ac..0000000000
--- a/recipes/linux/linux-omap-pm/mru-fix-timings.diff
+++ /dev/null
@@ -1,26 +0,0 @@
-From: Mans Rullgard <mans@mansr.com>
-Date: Fri, 29 Aug 2008 01:16:14 +0000 (+0100)
-Subject: OMAP: Fix video timings info message
-X-Git-Url: http://git.mansr.com/?p=linux-omap;a=commitdiff_plain;h=3a8bdf0967ae2c4eb3cebb97118ef0392f709c1c
-
-OMAP: Fix video timings info message
-
-This fixes the hsync frequency value printed on startup.
-
-Signed-off-by: Mans Rullgard <mans@mansr.com>
----
-
-diff --git a/drivers/video/omap/omapfb_main.c b/drivers/video/omap/omapfb_main.c
-index d176a2c..e7f3462 100644
---- a/drivers/video/omap/omapfb_main.c
-+++ b/drivers/video/omap/omapfb_main.c
-@@ -1792,7 +1792,8 @@ static int omapfb_do_probe(struct platform_device *pdev,
- vram, fbdev->mem_desc.region_cnt);
- pr_info("omapfb: Pixclock %lu kHz hfreq %lu.%lu kHz "
- "vfreq %lu.%lu Hz\n",
-- phz / 1000, hhz / 10000, hhz % 10, vhz / 10, vhz % 10);
-+ phz / 1000, hhz / 10000, hhz % 10000,
-+ vhz / 10, vhz % 10);
-
- return 0;
-
diff --git a/recipes/linux/linux-omap-pm/mru-improve-pixclock-config.diff b/recipes/linux/linux-omap-pm/mru-improve-pixclock-config.diff
deleted file mode 100644
index 5a702128f2..0000000000
--- a/recipes/linux/linux-omap-pm/mru-improve-pixclock-config.diff
+++ /dev/null
@@ -1,93 +0,0 @@
-From: Mans Rullgard <mans@mansr.com>
-Date: Fri, 29 Aug 2008 01:34:39 +0000 (+0100)
-Subject: OMAP: Improve pixel clock configuration
-X-Git-Url: http://git.mansr.com/?p=linux-omap;a=commitdiff_plain;h=01c2d720e59c291de9eb21eb65225f2f215fef84
-
-OMAP: Improve pixel clock configuration
-
-This sets the DSS1_ALWON_FCLK clock as close as possible to a
-multiple of the requested pixel clock, while keeping it below
-the 173MHz limit.
-
-Due to of the structure of the clock tree, dss1_alwon_fck cannot
-be set directly, and we must use dpll4_m4_ck instead.
-
-Signed-off-by: Mans Rullgard <mans@mansr.com>
----
-
-diff --git a/drivers/video/omap/dispc.c b/drivers/video/omap/dispc.c
-index 64bf333..888d2c2 100644
---- a/drivers/video/omap/dispc.c
-+++ b/drivers/video/omap/dispc.c
-@@ -177,6 +177,7 @@ static struct {
-
- struct clk *dss_ick, *dss1_fck;
- struct clk *dss_54m_fck;
-+ struct clk *dpll4_m4_ck;
-
- enum omapfb_update_mode update_mode;
- struct omapfb_device *fbdev;
-@@ -736,19 +737,34 @@ static void setup_color_conv_coef(void)
- MOD_REG_FLD(at2_reg, (1 << 11), ct->full_range);
- }
-
-+#define MAX_FCK 173000000
-+
- static void calc_ck_div(int is_tft, int pck, int *lck_div, int *pck_div)
- {
-+ unsigned long prate = clk_get_rate(clk_get_parent(dispc.dpll4_m4_ck));
-+ unsigned long pcd_min = is_tft? 2: 3;
-+ unsigned long fck_div;
- unsigned long fck, lck;
-
-- *lck_div = 1;
- pck = max(1, pck);
-+
-+ if (pck * pcd_min > MAX_FCK) {
-+ dev_warn(dispc.fbdev->dev, "pixclock %d kHz too high.\n",
-+ pck / 1000);
-+ pck = MAX_FCK / pcd_min;
-+ }
-+
-+ fck = pck * 2;
-+ fck_div = (prate + pck) / fck;
-+ if (fck_div > 16)
-+ fck_div /= (fck_div + 15) / 16;
-+ if (fck_div < 1)
-+ fck_div = 1;
-+ clk_set_rate(dispc.dpll4_m4_ck, prate / fck_div);
- fck = clk_get_rate(dispc.dss1_fck);
-- lck = fck;
-- *pck_div = (lck + pck - 1) / pck;
-- if (is_tft)
-- *pck_div = max(2, *pck_div);
-- else
-- *pck_div = max(3, *pck_div);
-+
-+ *lck_div = 1;
-+ *pck_div = (fck + pck - 1) / pck;
- if (*pck_div > 255) {
- *pck_div = 255;
- lck = pck * *pck_div;
-@@ -909,11 +925,21 @@ static int get_dss_clocks(void)
- return PTR_ERR(dispc.dss_54m_fck);
- }
-
-+ if (IS_ERR((dispc.dpll4_m4_ck =
-+ clk_get(dispc.fbdev->dev, "dpll4_m4_ck")))) {
-+ dev_err(dispc.fbdev->dev, "can't get dpll4_m4_ck");
-+ clk_put(dispc.dss_ick);
-+ clk_put(dispc.dss1_fck);
-+ clk_put(dispc.dss_54m_fck);
-+ return PTR_ERR(dispc.dss_54m_fck);
-+ }
-+
- return 0;
- }
-
- static void put_dss_clocks(void)
- {
-+ clk_put(dispc.dpll4_m4_ck);
- clk_put(dispc.dss_54m_fck);
- clk_put(dispc.dss1_fck);
- clk_put(dispc.dss_ick);
diff --git a/recipes/linux/linux-omap-pm/mru-make-video-timings-selectable.diff b/recipes/linux/linux-omap-pm/mru-make-video-timings-selectable.diff
deleted file mode 100644
index bba3ef72cc..0000000000
--- a/recipes/linux/linux-omap-pm/mru-make-video-timings-selectable.diff
+++ /dev/null
@@ -1,312 +0,0 @@
-From: Mans Rullgard <mans@mansr.com>
-Date: Fri, 29 Aug 2008 01:42:12 +0000 (+0100)
-Subject: OMAP: Make video mode selectable from pre-defined list
-X-Git-Url: http://git.mansr.com/?p=linux-omap;a=commitdiff_plain;h=7a9e55d7156dae6bc930c77620a88a669d2ed1c9
-
-OMAP: Make video mode selectable from pre-defined list
-
-This adds a list of common video modes and allows one to be
-selected with video=omapfb:mode:name on the command line,
-overriding the defaults from lcd_*.c. A default named mode
-can also be specified in the kernel configuration.
-
-Signed-off-by: Mans Rullgard <mans@mansr.com>
----
-
-diff --git a/drivers/video/omap/Kconfig b/drivers/video/omap/Kconfig
-index 5ebd591..9977e80 100644
---- a/drivers/video/omap/Kconfig
-+++ b/drivers/video/omap/Kconfig
-@@ -7,26 +7,13 @@ config FB_OMAP
- help
- Frame buffer driver for OMAP based boards.
-
--choice
-- depends on FB_OMAP && MACH_OVERO
-- prompt "Screen resolution"
-- default FB_OMAP_079M3R
-+config FB_OMAP_VIDEO_MODE
-+ string "Default video mode"
-+ depends on FB_OMAP
- help
-- Selected desired screen resolution
--
--config FB_OMAP_031M3R
-- boolean "640 x 480 @ 60 Hz Reduced blanking"
--
--config FB_OMAP_048M3R
-- boolean "800 x 600 @ 60 Hz Reduced blanking"
--
--config FB_OMAP_079M3R
-- boolean "1024 x 768 @ 60 Hz Reduced blanking"
--
--config FB_OMAP_092M9R
-- boolean "1280 x 720 @ 60 Hz Reduced blanking"
--
--endchoice
-+ Enter video mode name to use if none is specified on the kernel
-+ command line. If left blank, board-specific default timings
-+ will be used. See omapfb_main.c for a list of valid mode names.
-
- config FB_OMAP_LCDC_EXTERNAL
- bool "External LCD controller support"
-diff --git a/drivers/video/omap/omapfb_main.c b/drivers/video/omap/omapfb_main.c
-index e9ffb92..c4c4049 100644
---- a/drivers/video/omap/omapfb_main.c
-+++ b/drivers/video/omap/omapfb_main.c
-@@ -36,6 +36,20 @@
-
- #define MODULE_NAME "omapfb"
-
-+struct video_mode {
-+ const char *name;
-+ int x_res, y_res;
-+ int pixel_clock; /* In kHz */
-+ int hsw; /* Horizontal synchronization
-+ pulse width */
-+ int hfp; /* Horizontal front porch */
-+ int hbp; /* Horizontal back porch */
-+ int vsw; /* Vertical synchronization
-+ pulse width */
-+ int vfp; /* Vertical front porch */
-+ int vbp; /* Vertical back porch */
-+};
-+
- static unsigned int def_accel;
- static unsigned long def_vram[OMAPFB_PLANE_NUM];
- static unsigned int def_vram_cnt;
-@@ -43,6 +57,7 @@ static unsigned long def_vxres;
- static unsigned long def_vyres;
- static unsigned int def_rotate;
- static unsigned int def_mirror;
-+static char def_mode[16] = CONFIG_FB_OMAP_VIDEO_MODE;
-
- #ifdef CONFIG_FB_OMAP_MANUAL_UPDATE
- static int manual_update = 1;
-@@ -53,6 +68,7 @@ static int manual_update;
- static struct platform_device *fbdev_pdev;
- static struct lcd_panel *fbdev_panel;
- static struct omapfb_device *omapfb_dev;
-+static struct video_mode video_mode;
-
- struct caps_table_struct {
- unsigned long flag;
-@@ -83,6 +99,152 @@ static struct caps_table_struct color_caps[] = {
- { 1 << OMAPFB_COLOR_YUY422, "YUY422", },
- };
-
-+static struct video_mode video_modes[] __initdata = {
-+ {
-+ /* 640 x 480 @ 60 Hz Reduced blanking VESA CVT 0.31M3-R */
-+ .name = "640x480@60",
-+ .x_res = 640,
-+ .y_res = 480,
-+ .hfp = 48,
-+ .hsw = 32,
-+ .hbp = 80,
-+ .vfp = 3,
-+ .vsw = 4,
-+ .vbp = 7,
-+ .pixel_clock = 23500,
-+ },
-+ {
-+ /* 800 x 600 @ 60 Hz Reduced blanking VESA CVT 0.48M3-R */
-+ .name = "800x600@60",
-+ .x_res = 800,
-+ .y_res = 600,
-+ .hfp = 48,
-+ .hsw = 32,
-+ .hbp = 80,
-+ .vfp = 3,
-+ .vsw = 4,
-+ .vbp = 11,
-+ .pixel_clock = 35500,
-+ },
-+ {
-+ /* 1024 x 768 @ 60 Hz Reduced blanking VESA CVT 0.79M3-R */
-+ .name = "1024x768@60",
-+ .x_res = 1024,
-+ .y_res = 768,
-+ .hfp = 48,
-+ .hsw = 32,
-+ .hbp = 80,
-+ .vfp = 3,
-+ .vsw = 4,
-+ .vbp = 15,
-+ .pixel_clock = 56000,
-+ },
-+ {
-+ /* 1280 x 720 @ 60 Hz Reduced blanking VESA CVT 0.92M9-R */
-+ .name = "1280x720@60",
-+ .x_res = 1280,
-+ .y_res = 720,
-+ .hfp = 48,
-+ .hsw = 32,
-+ .hbp = 80,
-+ .vfp = 3,
-+ .vsw = 5,
-+ .vbp = 13,
-+ .pixel_clock = 64000,
-+ },
-+ {
-+ /* 720 x 480 @ 60 Hz CEA-861 Format 3 */
-+ .name = "480p60",
-+ .x_res = 720,
-+ .y_res = 480,
-+ .hfp = 16,
-+ .hsw = 62,
-+ .hbp = 60,
-+ .vfp = 9,
-+ .vsw = 6,
-+ .vbp = 30,
-+ .pixel_clock = 27027,
-+ },
-+ {
-+ /* 720 x 576 @ 60 Hz CEA-861 Format 18 */
-+ .name = "576p50",
-+ .x_res = 720,
-+ .y_res = 576,
-+ .hfp = 12,
-+ .hsw = 64,
-+ .hbp = 68,
-+ .vfp = 5,
-+ .vsw = 5,
-+ .vbp = 39,
-+ .pixel_clock = 27000,
-+ },
-+ {
-+ /* 1280 x 720 @ 50 Hz CEA-861B Format 19 */
-+ .name = "720p50",
-+ .x_res = 1280,
-+ .y_res = 720,
-+ .hfp = 440,
-+ .hsw = 40,
-+ .hbp = 220,
-+ .vfp = 20,
-+ .vsw = 5,
-+ .vbp = 5,
-+ .pixel_clock = 74250,
-+ },
-+ {
-+ /* 1280 x 720 @ 60 Hz CEA-861B Format 4 */
-+ .name = "720p60",
-+ .x_res = 1280,
-+ .y_res = 720,
-+ .hfp = 110,
-+ .hsw = 40,
-+ .hbp = 220,
-+ .vfp = 20,
-+ .vsw = 5,
-+ .vbp = 5,
-+ .pixel_clock = 74250,
-+ },
-+ {
-+ /* 1920 x 1080 @ 24 Hz CEA-861B Format 32 */
-+ .name = "1080p24",
-+ .x_res = 1920,
-+ .y_res = 1080,
-+ .hfp = 148,
-+ .hsw = 44,
-+ .hbp = 638,
-+ .vfp = 36,
-+ .vsw = 5,
-+ .vbp = 4,
-+ .pixel_clock = 74250,
-+ },
-+ {
-+ /* 1920 x 1080 @ 25 Hz CEA-861B Format 33 */
-+ .name = "1080p25",
-+ .x_res = 1920,
-+ .y_res = 1080,
-+ .hfp = 148,
-+ .hsw = 44,
-+ .hbp = 528,
-+ .vfp = 36,
-+ .vsw = 5,
-+ .vbp = 4,
-+ .pixel_clock = 74250,
-+ },
-+ {
-+ /* 1920 x 1080 @ 30 Hz CEA-861B Format 34 */
-+ .name = "1080p30",
-+ .x_res = 1920,
-+ .y_res = 1080,
-+ .hfp = 148,
-+ .hsw = 44,
-+ .hbp = 88,
-+ .vfp = 36,
-+ .vsw = 5,
-+ .vbp = 4,
-+ .pixel_clock = 74250,
-+ },
-+};
-+
- /*
- * ---------------------------------------------------------------------------
- * LCD panel
-@@ -1714,6 +1876,20 @@ static int omapfb_do_probe(struct platform_device *pdev,
- goto cleanup;
- }
-
-+ if (video_mode.name) {
-+ pr_info("omapfb: using mode %s\n", video_mode.name);
-+
-+ fbdev->panel->x_res = video_mode.x_res;
-+ fbdev->panel->y_res = video_mode.y_res;
-+ fbdev->panel->pixel_clock = video_mode.pixel_clock;
-+ fbdev->panel->hsw = video_mode.hsw;
-+ fbdev->panel->hfp = video_mode.hfp;
-+ fbdev->panel->hbp = video_mode.hbp;
-+ fbdev->panel->vsw = video_mode.vsw;
-+ fbdev->panel->vfp = video_mode.vfp;
-+ fbdev->panel->vbp = video_mode.vbp;
-+ }
-+
- r = fbdev->panel->init(fbdev->panel, fbdev);
- if (r)
- goto cleanup;
-@@ -1870,6 +2046,17 @@ static struct platform_driver omapfb_driver = {
- },
- };
-
-+static void __init omapfb_find_mode(char *name, struct video_mode *vmode)
-+{
-+ int i;
-+
-+ for (i = 0; i < sizeof(video_modes)/sizeof(video_modes[0]); i++)
-+ if (!strcmp(name, video_modes[i].name)) {
-+ *vmode = video_modes[i];
-+ break;
-+ }
-+}
-+
- #ifndef MODULE
-
- /* Process kernel command line parameters */
-@@ -1918,6 +2105,8 @@ static int __init omapfb_setup(char *options)
- def_mirror = (simple_strtoul(this_opt + 7, NULL, 0));
- else if (!strncmp(this_opt, "manual_update", 13))
- manual_update = 1;
-+ else if (!strncmp(this_opt, "mode:", 5))
-+ strncpy(def_mode, this_opt + 5, sizeof(def_mode));
- else {
- pr_debug("omapfb: invalid option\n");
- r = -1;
-@@ -1939,6 +2128,9 @@ static int __init omapfb_init(void)
- return -ENODEV;
- omapfb_setup(option);
- #endif
-+
-+ omapfb_find_mode(def_mode, &video_mode);
-+
- /* Register the driver with LDM */
- if (platform_driver_register(&omapfb_driver)) {
- pr_debug("failed to register omapfb driver\n");
-@@ -1960,6 +2152,7 @@ module_param_named(vyres, def_vyres, long, 0664);
- module_param_named(rotate, def_rotate, uint, 0664);
- module_param_named(mirror, def_mirror, uint, 0664);
- module_param_named(manual_update, manual_update, bool, 0664);
-+module_param_string(video_mode, def_mode, sizeof(def_mode), 0664);
-
- module_init(omapfb_init);
- module_exit(omapfb_cleanup);
diff --git a/recipes/linux/linux-omap-pm/musb-support-high-bandwidth.patch.eml b/recipes/linux/linux-omap-pm/musb-support-high-bandwidth.patch.eml
deleted file mode 100644
index 0264a97045..0000000000
--- a/recipes/linux/linux-omap-pm/musb-support-high-bandwidth.patch.eml
+++ /dev/null
@@ -1,134 +0,0 @@
-Enables support for camera (as creative) requiring high bandwidth
-isochronous transfer.
-
-Signed-off-by: Ajay Kumar Gupta <ajay.gupta@ti.com>
----
- drivers/usb/musb/musb_core.c | 18 +++++++++---------
- drivers/usb/musb/musb_host.c | 32 +++++++++++++++++++++-----------
- 2 files changed, 30 insertions(+), 20 deletions(-)
-
-diff --git a/drivers/usb/musb/musb_core.c b/drivers/usb/musb/musb_core.c
-index c939f81..9914f70 100644
---- a/drivers/usb/musb/musb_core.c
-+++ b/drivers/usb/musb/musb_core.c
-@@ -1063,17 +1063,17 @@ static struct fifo_cfg __initdata mode_4_cfg[] = {
- { .hw_ep_num = 7, .style = FIFO_TX, .maxpacket = 512, },
- { .hw_ep_num = 7, .style = FIFO_RX, .maxpacket = 512, },
- { .hw_ep_num = 8, .style = FIFO_TX, .maxpacket = 512, },
--{ .hw_ep_num = 8, .style = FIFO_RX, .maxpacket = 512, },
-+{ .hw_ep_num = 8, .style = FIFO_RX, .maxpacket = 64, },
- { .hw_ep_num = 9, .style = FIFO_TX, .maxpacket = 512, },
--{ .hw_ep_num = 9, .style = FIFO_RX, .maxpacket = 512, },
-+{ .hw_ep_num = 9, .style = FIFO_RX, .maxpacket = 64, },
- { .hw_ep_num = 10, .style = FIFO_TX, .maxpacket = 512, },
--{ .hw_ep_num = 10, .style = FIFO_RX, .maxpacket = 512, },
--{ .hw_ep_num = 11, .style = FIFO_TX, .maxpacket = 512, },
--{ .hw_ep_num = 11, .style = FIFO_RX, .maxpacket = 512, },
--{ .hw_ep_num = 12, .style = FIFO_TX, .maxpacket = 512, },
--{ .hw_ep_num = 12, .style = FIFO_RX, .maxpacket = 512, },
--{ .hw_ep_num = 13, .style = FIFO_TX, .maxpacket = 512, },
--{ .hw_ep_num = 13, .style = FIFO_RX, .maxpacket = 512, },
-+{ .hw_ep_num = 10, .style = FIFO_RX, .maxpacket = 64, },
-+{ .hw_ep_num = 11, .style = FIFO_TX, .maxpacket = 256, },
-+{ .hw_ep_num = 11, .style = FIFO_RX, .maxpacket = 256, },
-+{ .hw_ep_num = 12, .style = FIFO_TX, .maxpacket = 256, },
-+{ .hw_ep_num = 12, .style = FIFO_RX, .maxpacket = 256, },
-+{ .hw_ep_num = 13, .style = FIFO_TX, .maxpacket = 256, },
-+{ .hw_ep_num = 13, .style = FIFO_RX, .maxpacket = 4096, },
- { .hw_ep_num = 14, .style = FIFO_RXTX, .maxpacket = 1024, },
- { .hw_ep_num = 15, .style = FIFO_RXTX, .maxpacket = 1024, },
- };
-diff --git a/drivers/usb/musb/musb_host.c b/drivers/usb/musb/musb_host.c
-index 08e421f..84173df 100644
---- a/drivers/usb/musb/musb_host.c
-+++ b/drivers/usb/musb/musb_host.c
-@@ -1443,6 +1443,10 @@ void musb_host_rx(struct musb *musb, u8 epnum)
- /* packet error reported later */
- iso_err = true;
- }
-+ } else if (rx_csr & MUSB_RXCSR_INCOMPRX) {
-+ DBG(3, "end %d Highbandwidth incomplete ISO packet received\n"
-+ , epnum);
-+ status = -EPROTO;
- }
-
- /* faults abort the transfer */
-@@ -1595,7 +1599,13 @@ void musb_host_rx(struct musb *musb, u8 epnum)
- val &= ~MUSB_RXCSR_H_AUTOREQ;
- else
- val |= MUSB_RXCSR_H_AUTOREQ;
-- val |= MUSB_RXCSR_AUTOCLEAR | MUSB_RXCSR_DMAENAB;
-+
-+ if (qh->maxpacket & ~0x7ff)
-+ /* Autoclear doesn't work in high bandwidth iso */
-+ val |= MUSB_RXCSR_DMAENAB;
-+ else
-+ val |= MUSB_RXCSR_AUTOCLEAR
-+ | MUSB_RXCSR_DMAENAB;
-
- musb_writew(epio, MUSB_RXCSR,
- MUSB_RXCSR_H_WZC_BITS | val);
-@@ -1666,6 +1676,7 @@ static int musb_schedule(
- int best_end, epnum;
- struct musb_hw_ep *hw_ep = NULL;
- struct list_head *head = NULL;
-+ u16 maxpacket;
-
- /* use fixed hardware for control and bulk */
- switch (qh->type) {
-@@ -1708,6 +1719,13 @@ static int musb_schedule(
- best_diff = 4096;
- best_end = -1;
-
-+ if (qh->maxpacket & (1<<11))
-+ maxpacket = 2 * (qh->maxpacket & 0x7ff);
-+ else if (qh->maxpacket & (1<<12))
-+ maxpacket = 3 * (qh->maxpacket & 0x7ff);
-+ else
-+ maxpacket = (qh->maxpacket & 0x7ff);
-+
- for (epnum = 1; epnum < musb->nr_endpoints; epnum++) {
- int diff;
-
-@@ -1718,9 +1736,9 @@ static int musb_schedule(
- continue;
-
- if (is_in)
-- diff = hw_ep->max_packet_sz_rx - qh->maxpacket;
-+ diff = hw_ep->max_packet_sz_rx - maxpacket;
- else
-- diff = hw_ep->max_packet_sz_tx - qh->maxpacket;
-+ diff = hw_ep->max_packet_sz_tx - maxpacket;
-
- if (diff > 0 && best_diff > diff) {
- best_diff = diff;
-@@ -1797,13 +1815,6 @@ static int musb_urb_enqueue(
- qh->is_ready = 1;
-
- qh->maxpacket = le16_to_cpu(epd->wMaxPacketSize);
--
-- /* no high bandwidth support yet */
-- if (qh->maxpacket & ~0x7ff) {
-- ret = -EMSGSIZE;
-- goto done;
-- }
--
- qh->epnum = epd->bEndpointAddress & USB_ENDPOINT_NUMBER_MASK;
- qh->type = epd->bmAttributes & USB_ENDPOINT_XFERTYPE_MASK;
-
-@@ -1897,7 +1908,6 @@ static int musb_urb_enqueue(
- }
- spin_unlock_irqrestore(&musb->lock, flags);
-
--done:
- if (ret != 0) {
- usb_hcd_unlink_urb_from_ep(hcd, urb);
- kfree(qh);
---
-1.5.6
-
---
-To unsubscribe from this list: send the line "unsubscribe linux-omap" in
-the body of a message to majordomo@vger.kernel.org
-More majordomo info at http://vger.kernel.org/majordomo-info.html
-
diff --git a/recipes/linux/linux-omap-pm/no-harry-potter.diff b/recipes/linux/linux-omap-pm/no-harry-potter.diff
deleted file mode 100644
index 2bb20ab9c0..0000000000
--- a/recipes/linux/linux-omap-pm/no-harry-potter.diff
+++ /dev/null
@@ -1,11 +0,0 @@
---- /tmp/Makefile 2008-04-24 14:36:20.509598016 +0200
-+++ git/arch/arm/Makefile 2008-04-24 14:36:31.949546584 +0200
-@@ -47,7 +47,7 @@
- # Note that GCC does not numerically define an architecture version
- # macro, but instead defines a whole series of macros which makes
- # testing for a specific architecture or later rather impossible.
--arch-$(CONFIG_CPU_32v7) :=-D__LINUX_ARM_ARCH__=7 $(call cc-option,-march=armv7a,-march=armv5t -Wa$(comma)-march=armv7a)
-+arch-$(CONFIG_CPU_32v7) :=-D__LINUX_ARM_ARCH__=7 $(call cc-option,-march=armv7-a,-march=armv5t -Wa$(comma)-march=armv7-a)
- arch-$(CONFIG_CPU_32v6) :=-D__LINUX_ARM_ARCH__=6 $(call cc-option,-march=armv6,-march=armv5t -Wa$(comma)-march=armv6)
- # Only override the compiler option if ARMv6. The ARMv6K extensions are
- # always available in ARMv7
diff --git a/recipes/linux/linux-omap-pm/omap-2430-lcd.patch b/recipes/linux/linux-omap-pm/omap-2430-lcd.patch
deleted file mode 100644
index 8f8a687c06..0000000000
--- a/recipes/linux/linux-omap-pm/omap-2430-lcd.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- git/drivers/video/omap/lcd_2430sdp.c.orig 2007-08-13 14:35:17.000000000 -0700
-+++ git/drivers/video/omap/lcd_2430sdp.c 2007-08-13 14:35:55.000000000 -0700
-@@ -32,7 +32,7 @@
- #define LCD_PANEL_BACKLIGHT_GPIO 91
- #define LCD_PANEL_ENABLE_GPIO 154
- #define LCD_PIXCLOCK_MAX 5400 /* freq 5.4 MHz */
--#define PM_RECEIVER TWL4030_MODULE_PM_RECIEVER
-+#define PM_RECEIVER TWL4030_MODULE_PM_RECEIVER
- #define ENABLE_VAUX2_DEDICATED 0x09
- #define ENABLE_VAUX2_DEV_GRP 0x20
-
diff --git a/recipes/linux/linux-omap-pm/oprofile-0.9.3.armv7.diff b/recipes/linux/linux-omap-pm/oprofile-0.9.3.armv7.diff
deleted file mode 100644
index 1eedbb50ff..0000000000
--- a/recipes/linux/linux-omap-pm/oprofile-0.9.3.armv7.diff
+++ /dev/null
@@ -1,599 +0,0 @@
-Hi,
-
-This patch adds Oprofile support on ARMv7, using the PMNC unit.
-Tested on OMAP3430 SDP.
-
-Feedback and comments are welcome.
-
-The patch to user space components is attached for reference. It i applies
-against version 0.9.3 of oprofile source
-(http://prdownloads.sourceforge.net/oprofile/oprofile-0.9.3.tar.gz).
-
-Regards,
-Jean.
-
----
-
-From: Jean Pihet <jpihet@mvista.com>
-Date: Tue, 6 May 2008 17:21:44 +0200
-Subject: [PATCH] ARM: Add ARMv7 oprofile support
-
-Add ARMv7 Oprofile support to kernel
-
-Signed-off-by: Jean Pihet <jpihet@mvista.com>
----
-
-diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig
-index c60a27d..60b50a0 100644
---- a/arch/arm/Kconfig
-+++ b/arch/arm/Kconfig
-@@ -161,6 +161,11 @@ config OPROFILE_MPCORE
- config OPROFILE_ARM11_CORE
- bool
-
-+config OPROFILE_ARMV7
-+ def_bool y
-+ depends on CPU_V7 && !SMP
-+ bool
-+
- endif
-
- config VECTORS_BASE
-diff --git a/arch/arm/oprofile/Makefile b/arch/arm/oprofile/Makefile
-index e61d0cc..88e31f5 100644
---- a/arch/arm/oprofile/Makefile
-+++ b/arch/arm/oprofile/Makefile
-@@ -11,3 +11,4 @@ oprofile-$(CONFIG_CPU_XSCALE) += op_model_xscale.o
- oprofile-$(CONFIG_OPROFILE_ARM11_CORE) += op_model_arm11_core.o
- oprofile-$(CONFIG_OPROFILE_ARMV6) += op_model_v6.o
- oprofile-$(CONFIG_OPROFILE_MPCORE) += op_model_mpcore.o
-+oprofile-$(CONFIG_OPROFILE_ARMV7) += op_model_v7.o
-diff --git a/arch/arm/oprofile/common.c b/arch/arm/oprofile/common.c
-index 0a5cf3a..3fcd752 100644
---- a/arch/arm/oprofile/common.c
-+++ b/arch/arm/oprofile/common.c
-@@ -145,6 +145,10 @@ int __init oprofile_arch_init(struct oprofile_operations *ops)
- spec = &op_mpcore_spec;
- #endif
-
-+#ifdef CONFIG_OPROFILE_ARMV7
-+ spec = &op_armv7_spec;
-+#endif
-+
- if (spec) {
- ret = spec->init();
- if (ret < 0)
-diff --git a/arch/arm/oprofile/op_arm_model.h
-b/arch/arm/oprofile/op_arm_model.h
-index 4899c62..8c4e4f6 100644
---- a/arch/arm/oprofile/op_arm_model.h
-+++ b/arch/arm/oprofile/op_arm_model.h
-@@ -26,6 +26,7 @@ extern struct op_arm_model_spec op_xscale_spec;
-
- extern struct op_arm_model_spec op_armv6_spec;
- extern struct op_arm_model_spec op_mpcore_spec;
-+extern struct op_arm_model_spec op_armv7_spec;
-
- extern void arm_backtrace(struct pt_regs * const regs, unsigned int depth);
-
-diff --git a/arch/arm/oprofile/op_model_v7.c b/arch/arm/oprofile/op_model_v7.c
-new file mode 100644
-index 0000000..a159bc1
---- /dev/null
-+++ b/arch/arm/oprofile/op_model_v7.c
-@@ -0,0 +1,407 @@
-+/**
-+ * @file op_model_v7.c
-+ * ARM V7 (Cortex A8) Event Monitor Driver
-+ *
-+ * @remark Copyright 2008 Jean Pihet <jpihet@mvista.com>
-+ * @remark Copyright 2004 ARM SMP Development Team
-+ */
-+#include <linux/types.h>
-+#include <linux/errno.h>
-+#include <linux/oprofile.h>
-+#include <linux/interrupt.h>
-+#include <linux/irq.h>
-+#include <linux/smp.h>
-+
-+#include "op_counter.h"
-+#include "op_arm_model.h"
-+#include "op_model_v7.h"
-+
-+/* #define DEBUG */
-+
-+
-+/*
-+ * ARM V7 PMNC support
-+ */
-+
-+static u32 cnt_en[CNTMAX];
-+
-+static inline void armv7_pmnc_write(u32 val)
-+{
-+ val &= PMNC_MASK;
-+ asm volatile("mcr p15, 0, %0, c9, c12, 0" : : "r" (val));
-+}
-+
-+static inline u32 armv7_pmnc_read(void)
-+{
-+ u32 val;
-+
-+ asm volatile("mrc p15, 0, %0, c9, c12, 0" : "=r" (val));
-+ return val;
-+}
-+
-+static inline u32 armv7_pmnc_enable_counter(unsigned int cnt)
-+{
-+ u32 val;
-+
-+ if (cnt >= CNTMAX) {
-+ printk(KERN_ERR "oprofile: CPU%u enabling wrong PMNC counter"
-+ " %d\n", smp_processor_id(), cnt);
-+ return -1;
-+ }
-+
-+ if (cnt == CCNT)
-+ val = CNTENS_C;
-+ else
-+ val = (1 << (cnt - CNT0));
-+
-+ val &= CNTENS_MASK;
-+ asm volatile("mcr p15, 0, %0, c9, c12, 1" : : "r" (val));
-+
-+ return cnt;
-+}
-+
-+static inline u32 armv7_pmnc_disable_counter(unsigned int cnt)
-+{
-+ u32 val;
-+
-+ if (cnt >= CNTMAX) {
-+ printk(KERN_ERR "oprofile: CPU%u disabling wrong PMNC counter"
-+ " %d\n", smp_processor_id(), cnt);
-+ return -1;
-+ }
-+
-+ if (cnt == CCNT)
-+ val = CNTENC_C;
-+ else
-+ val = (1 << (cnt - CNT0));
-+
-+ val &= CNTENC_MASK;
-+ asm volatile("mcr p15, 0, %0, c9, c12, 2" : : "r" (val));
-+
-+ return cnt;
-+}
-+
-+static inline u32 armv7_pmnc_enable_intens(unsigned int cnt)
-+{
-+ u32 val;
-+
-+ if (cnt >= CNTMAX) {
-+ printk(KERN_ERR "oprofile: CPU%u enabling wrong PMNC counter"
-+ " interrupt enable %d\n", smp_processor_id(), cnt);
-+ return -1;
-+ }
-+
-+ if (cnt == CCNT)
-+ val = INTENS_C;
-+ else
-+ val = (1 << (cnt - CNT0));
-+
-+ val &= INTENS_MASK;
-+ asm volatile("mcr p15, 0, %0, c9, c14, 1" : : "r" (val));
-+
-+ return cnt;
-+}
-+
-+static inline u32 armv7_pmnc_getreset_flags(void)
-+{
-+ u32 val;
-+
-+ /* Read */
-+ asm volatile("mrc p15, 0, %0, c9, c12, 3" : "=r" (val));
-+
-+ /* Write to clear flags */
-+ val &= FLAG_MASK;
-+ asm volatile("mcr p15, 0, %0, c9, c12, 3" : : "r" (val));
-+
-+ return val;
-+}
-+
-+static inline int armv7_pmnc_select_counter(unsigned int cnt)
-+{
-+ u32 val;
-+
-+ if ((cnt == CCNT) || (cnt >= CNTMAX)) {
-+ printk(KERN_ERR "oprofile: CPU%u selecting wrong PMNC counteri"
-+ " %d\n", smp_processor_id(), cnt);
-+ return -1;
-+ }
-+
-+ val = (cnt - CNT0) & SELECT_MASK;
-+ asm volatile("mcr p15, 0, %0, c9, c12, 5" : : "r" (val));
-+
-+ return cnt;
-+}
-+
-+static inline void armv7_pmnc_write_evtsel(unsigned int cnt, u32 val)
-+{
-+ if (armv7_pmnc_select_counter(cnt) == cnt) {
-+ val &= EVTSEL_MASK;
-+ asm volatile("mcr p15, 0, %0, c9, c13, 1" : : "r" (val));
-+ }
-+}
-+
-+static void armv7_pmnc_reset_counter(unsigned int cnt)
-+{
-+ u32 cpu_cnt = CPU_COUNTER(smp_processor_id(), cnt);
-+ u32 val = -(u32)counter_config[cpu_cnt].count;
-+
-+ switch (cnt) {
-+ case CCNT:
-+ armv7_pmnc_disable_counter(cnt);
-+
-+ asm volatile("mcr p15, 0, %0, c9, c13, 0" : : "r" (val));
-+
-+ if (cnt_en[cnt] != 0)
-+ armv7_pmnc_enable_counter(cnt);
-+
-+ break;
-+
-+ case CNT0:
-+ case CNT1:
-+ case CNT2:
-+ case CNT3:
-+ armv7_pmnc_disable_counter(cnt);
-+
-+ if (armv7_pmnc_select_counter(cnt) == cnt)
-+ asm volatile("mcr p15, 0, %0, c9, c13, 2" : : "r" (val));
-+
-+ if (cnt_en[cnt] != 0)
-+ armv7_pmnc_enable_counter(cnt);
-+
-+ break;
-+
-+ default:
-+ printk(KERN_ERR "oprofile: CPU%u resetting wrong PMNC counter"
-+ " %d\n", smp_processor_id(), cnt);
-+ break;
-+ }
-+}
-+
-+int armv7_setup_pmnc(void)
-+{
-+ unsigned int cnt;
-+
-+ if (armv7_pmnc_read() & PMNC_E) {
-+ printk(KERN_ERR "oprofile: CPU%u PMNC still enabled when setup"
-+ " new event counter.\n", smp_processor_id());
-+ return -EBUSY;
-+ }
-+
-+ /*
-+ * Initialize & Reset PMNC: C bit, D bit and P bit.
-+ * Note: Using a slower count for CCNT (D bit: divide by 64) results
-+ * in a more stable system
-+ */
-+ armv7_pmnc_write(PMNC_P | PMNC_C | PMNC_D);
-+
-+
-+ for (cnt = CCNT; cnt < CNTMAX; cnt++) {
-+ unsigned long event;
-+ u32 cpu_cnt = CPU_COUNTER(smp_processor_id(), cnt);
-+
-+ /*
-+ * Disable counter
-+ */
-+ armv7_pmnc_disable_counter(cnt);
-+ cnt_en[cnt] = 0;
-+
-+ if (!counter_config[cpu_cnt].enabled)
-+ continue;
-+
-+ event = counter_config[cpu_cnt].event & 255;
-+
-+ /*
-+ * Set event (if destined for PMNx counters)
-+ * We don't need to set the event if it's a cycle count
-+ */
-+ if (cnt != CCNT)
-+ armv7_pmnc_write_evtsel(cnt, event);
-+
-+ /*
-+ * Enable interrupt for this counter
-+ */
-+ armv7_pmnc_enable_intens(cnt);
-+
-+ /*
-+ * Reset counter
-+ */
-+ armv7_pmnc_reset_counter(cnt);
-+
-+ /*
-+ * Enable counter
-+ */
-+ armv7_pmnc_enable_counter(cnt);
-+ cnt_en[cnt] = 1;
-+ }
-+
-+ return 0;
-+}
-+
-+static inline void armv7_start_pmnc(void)
-+{
-+ armv7_pmnc_write(armv7_pmnc_read() | PMNC_E);
-+}
-+
-+static inline void armv7_stop_pmnc(void)
-+{
-+ armv7_pmnc_write(armv7_pmnc_read() & ~PMNC_E);
-+}
-+
-+/*
-+ * CPU counters' IRQ handler (one IRQ per CPU)
-+ */
-+static irqreturn_t armv7_pmnc_interrupt(int irq, void *arg)
-+{
-+ struct pt_regs *regs = get_irq_regs();
-+ unsigned int cnt;
-+ u32 flags;
-+
-+
-+ /*
-+ * Stop IRQ generation
-+ */
-+ armv7_stop_pmnc();
-+
-+ /*
-+ * Get and reset overflow status flags
-+ */
-+ flags = armv7_pmnc_getreset_flags();
-+
-+ /*
-+ * Cycle counter
-+ */
-+ if (flags & FLAG_C) {
-+ u32 cpu_cnt = CPU_COUNTER(smp_processor_id(), CCNT);
-+ armv7_pmnc_reset_counter(CCNT);
-+ oprofile_add_sample(regs, cpu_cnt);
-+ }
-+
-+ /*
-+ * PMNC counters 0:3
-+ */
-+ for (cnt = CNT0; cnt < CNTMAX; cnt++) {
-+ if (flags & (1 << (cnt - CNT0))) {
-+ u32 cpu_cnt = CPU_COUNTER(smp_processor_id(), cnt);
-+ armv7_pmnc_reset_counter(cnt);
-+ oprofile_add_sample(regs, cpu_cnt);
-+ }
-+ }
-+
-+ /*
-+ * Allow IRQ generation
-+ */
-+ armv7_start_pmnc();
-+
-+ return IRQ_HANDLED;
-+}
-+
-+int armv7_request_interrupts(int *irqs, int nr)
-+{
-+ unsigned int i;
-+ int ret = 0;
-+
-+ for (i = 0; i < nr; i++) {
-+ ret = request_irq(irqs[i], armv7_pmnc_interrupt,
-+ IRQF_DISABLED, "CP15 PMNC", NULL);
-+ if (ret != 0) {
-+ printk(KERN_ERR "oprofile: unable to request IRQ%u"
-+ " for ARMv7\n",
-+ irqs[i]);
-+ break;
-+ }
-+ }
-+
-+ if (i != nr)
-+ while (i-- != 0)
-+ free_irq(irqs[i], NULL);
-+
-+ return ret;
-+}
-+
-+void armv7_release_interrupts(int *irqs, int nr)
-+{
-+ unsigned int i;
-+
-+ for (i = 0; i < nr; i++)
-+ free_irq(irqs[i], NULL);
-+}
-+
-+#ifdef DEBUG
-+static void armv7_pmnc_dump_regs(void)
-+{
-+ u32 val;
-+ unsigned int cnt;
-+
-+ printk(KERN_INFO "PMNC registers dump:\n");
-+
-+ asm volatile("mrc p15, 0, %0, c9, c12, 0" : "=r" (val));
-+ printk(KERN_INFO "PMNC =0x%08x\n", val);
-+
-+ asm volatile("mrc p15, 0, %0, c9, c12, 1" : "=r" (val));
-+ printk(KERN_INFO "CNTENS=0x%08x\n", val);
-+
-+ asm volatile("mrc p15, 0, %0, c9, c14, 1" : "=r" (val));
-+ printk(KERN_INFO "INTENS=0x%08x\n", val);
-+
-+ asm volatile("mrc p15, 0, %0, c9, c12, 3" : "=r" (val));
-+ printk(KERN_INFO "FLAGS =0x%08x\n", val);
-+
-+ asm volatile("mrc p15, 0, %0, c9, c12, 5" : "=r" (val));
-+ printk(KERN_INFO "SELECT=0x%08x\n", val);
-+
-+ asm volatile("mrc p15, 0, %0, c9, c13, 0" : "=r" (val));
-+ printk(KERN_INFO "CCNT =0x%08x\n", val);
-+
-+ for (cnt = CNT0; cnt < CNTMAX; cnt++) {
-+ armv7_pmnc_select_counter(cnt);
-+ asm volatile("mrc p15, 0, %0, c9, c13, 2" : "=r" (val));
-+ printk(KERN_INFO "CNT[%d] count =0x%08x\n", cnt-CNT0, val);
-+ asm volatile("mrc p15, 0, %0, c9, c13, 1" : "=r" (val));
-+ printk(KERN_INFO "CNT[%d] evtsel=0x%08x\n", cnt-CNT0, val);
-+ }
-+}
-+#endif
-+
-+
-+static int irqs[] = {
-+#ifdef CONFIG_ARCH_OMAP3
-+ INT_34XX_BENCH_MPU_EMUL,
-+#endif
-+};
-+
-+static void armv7_pmnc_stop(void)
-+{
-+#ifdef DEBUG
-+ armv7_pmnc_dump_regs();
-+#endif
-+ armv7_stop_pmnc();
-+ armv7_release_interrupts(irqs, ARRAY_SIZE(irqs));
-+}
-+
-+static int armv7_pmnc_start(void)
-+{
-+ int ret;
-+
-+#ifdef DEBUG
-+ armv7_pmnc_dump_regs();
-+#endif
-+ ret = armv7_request_interrupts(irqs, ARRAY_SIZE(irqs));
-+ if (ret >= 0)
-+ armv7_start_pmnc();
-+
-+ return ret;
-+}
-+
-+static int armv7_detect_pmnc(void)
-+{
-+ return 0;
-+}
-+
-+struct op_arm_model_spec op_armv7_spec = {
-+ .init = armv7_detect_pmnc,
-+ .num_counters = 5,
-+ .setup_ctrs = armv7_setup_pmnc,
-+ .start = armv7_pmnc_start,
-+ .stop = armv7_pmnc_stop,
-+ .name = "arm/armv7",
-+};
-diff --git a/arch/arm/oprofile/op_model_v7.h b/arch/arm/oprofile/op_model_v7.h
-new file mode 100644
-index 0000000..08f40ea
---- /dev/null
-+++ b/arch/arm/oprofile/op_model_v7.h
-@@ -0,0 +1,101 @@
-+/**
-+ * @file op_model_v7.h
-+ * ARM v7 (Cortex A8) Event Monitor Driver
-+ *
-+ * @remark Copyright 2008 Jean Pihet <jpihet@mvista.com>
-+ * @remark Copyright 2004 ARM SMP Development Team
-+ * @remark Copyright 2000-2004 Deepak Saxena <dsaxena@mvista.com>
-+ * @remark Copyright 2000-2004 MontaVista Software Inc
-+ * @remark Copyright 2004 Dave Jiang <dave.jiang@intel.com>
-+ * @remark Copyright 2004 Intel Corporation
-+ * @remark Copyright 2004 Zwane Mwaikambo <zwane@arm.linux.org.uk>
-+ * @remark Copyright 2004 Oprofile Authors
-+ *
-+ * @remark Read the file COPYING
-+ *
-+ * @author Zwane Mwaikambo
-+ */
-+#ifndef OP_MODEL_V7_H
-+#define OP_MODEL_V7_H
-+
-+/*
-+ * Per-CPU PMNC: config reg
-+ */
-+#define PMNC_E (1 << 0) /* Enable all counters */
-+#define PMNC_P (1 << 1) /* Reset all counters */
-+#define PMNC_C (1 << 2) /* Cycle counter reset */
-+#define PMNC_D (1 << 3) /* CCNT counts every 64th cpu cycle */
-+#define PMNC_X (1 << 4) /* Export to ETM */
-+#define PMNC_DP (1 << 5) /* Disable CCNT if non-invasive debug*/
-+#define PMNC_MASK 0x3f /* Mask for writable bits */
-+
-+/*
-+ * Available counters
-+ */
-+#define CCNT 0
-+#define CNT0 1
-+#define CNT1 2
-+#define CNT2 3
-+#define CNT3 4
-+#define CNTMAX 5
-+
-+#define CPU_COUNTER(cpu, counter) ((cpu) * CNTMAX + (counter))
-+
-+/*
-+ * CNTENS: counters enable reg
-+ */
-+#define CNTENS_P0 (1 << 0)
-+#define CNTENS_P1 (1 << 1)
-+#define CNTENS_P2 (1 << 2)
-+#define CNTENS_P3 (1 << 3)
-+#define CNTENS_C (1 << 31)
-+#define CNTENS_MASK 0x8000000f /* Mask for writable bits */
-+
-+/*
-+ * CNTENC: counters disable reg
-+ */
-+#define CNTENC_P0 (1 << 0)
-+#define CNTENC_P1 (1 << 1)
-+#define CNTENC_P2 (1 << 2)
-+#define CNTENC_P3 (1 << 3)
-+#define CNTENC_C (1 << 31)
-+#define CNTENC_MASK 0x8000000f /* Mask for writable bits */
-+
-+/*
-+ * INTENS: counters overflow interrupt enable reg
-+ */
-+#define INTENS_P0 (1 << 0)
-+#define INTENS_P1 (1 << 1)
-+#define INTENS_P2 (1 << 2)
-+#define INTENS_P3 (1 << 3)
-+#define INTENS_C (1 << 31)
-+#define INTENS_MASK 0x8000000f /* Mask for writable bits */
-+
-+/*
-+ * EVTSEL: Event selection reg
-+ */
-+#define EVTSEL_MASK 0x7f /* Mask for writable bits */
-+
-+/*
-+ * SELECT: Counter selection reg
-+ */
-+#define SELECT_MASK 0x1f /* Mask for writable bits */
-+
-+/*
-+ * FLAG: counters overflow flag status reg
-+ */
-+#define FLAG_P0 (1 << 0)
-+#define FLAG_P1 (1 << 1)
-+#define FLAG_P2 (1 << 2)
-+#define FLAG_P3 (1 << 3)
-+#define FLAG_C (1 << 31)
-+#define FLAG_MASK 0x8000000f /* Mask for writable bits */
-+
-+
-+int armv7_setup_pmu(void);
-+int armv7_start_pmu(void);
-+int armv7_stop_pmu(void);
-+int armv7_request_interrupts(int *, int);
-+void armv7_release_interrupts(int *, int);
-+
-+#endif
-
diff --git a/recipes/linux/linux-omap-pm/overo-cpufreq.diff b/recipes/linux/linux-omap-pm/overo-cpufreq.diff
new file mode 100644
index 0000000000..a51d8560e1
--- /dev/null
+++ b/recipes/linux/linux-omap-pm/overo-cpufreq.diff
@@ -0,0 +1,25 @@
+--- /tmp/board-overo.c 2009-04-23 12:46:21.000000000 +0200
++++ git/arch/arm/mach-omap2/board-overo.c 2009-04-23 12:46:31.000000000 +0200
+@@ -48,6 +48,12 @@
+ #include <mach/nand.h>
+ #include <mach/usb.h>
+
++#include <mach/omap-pm.h>
++#include <mach/clock.h>
++
++#include "pm.h"
++#include "omap3-opp.h"
++
+ #include "sdram-micron-mt46h32m32lf-6.h"
+ #include "twl4030-generic-scripts.h"
+ #include "mmc-twl4030.h"
+@@ -359,7 +365,8 @@
+
+ static void __init overo_init_irq(void)
+ {
+- omap2_init_common_hw(mt46h32m32lf6_sdrc_params, NULL, NULL, NULL);
++ omap2_init_common_hw(mt46h32m32lf6_sdrc_params, omap3_mpu_rate_table,
++ omap3_dsp_rate_table, omap3_l3_rate_table);
+ omap_init_irq();
+ omap_gpio_init();
+ }
diff --git a/recipes/linux/linux-omap-pm/overo/defconfig b/recipes/linux/linux-omap-pm/overo/defconfig
new file mode 100644
index 0000000000..e90f2af4da
--- /dev/null
+++ b/recipes/linux/linux-omap-pm/overo/defconfig
@@ -0,0 +1,2250 @@
+#
+# Automatically generated make config: don't edit
+# Linux kernel version: 2.6.29-omap1
+# Sat Apr 25 09:31:25 2009
+#
+CONFIG_ARM=y
+CONFIG_SYS_SUPPORTS_APM_EMULATION=y
+CONFIG_GENERIC_GPIO=y
+CONFIG_GENERIC_TIME=y
+CONFIG_GENERIC_CLOCKEVENTS=y
+CONFIG_MMU=y
+# CONFIG_NO_IOPORT is not set
+CONFIG_GENERIC_HARDIRQS=y
+CONFIG_STACKTRACE_SUPPORT=y
+CONFIG_HAVE_LATENCYTOP_SUPPORT=y
+CONFIG_LOCKDEP_SUPPORT=y
+CONFIG_TRACE_IRQFLAGS_SUPPORT=y
+CONFIG_HARDIRQS_SW_RESEND=y
+CONFIG_GENERIC_IRQ_PROBE=y
+CONFIG_RWSEM_GENERIC_SPINLOCK=y
+# CONFIG_ARCH_HAS_ILOG2_U32 is not set
+# CONFIG_ARCH_HAS_ILOG2_U64 is not set
+CONFIG_GENERIC_HWEIGHT=y
+CONFIG_GENERIC_CALIBRATE_DELAY=y
+CONFIG_GENERIC_HARDIRQS_NO__DO_IRQ=y
+CONFIG_OPROFILE_ARMV7=y
+CONFIG_VECTORS_BASE=0xffff0000
+CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
+
+#
+# General setup
+#
+CONFIG_EXPERIMENTAL=y
+CONFIG_BROKEN_ON_SMP=y
+CONFIG_INIT_ENV_ARG_LIMIT=32
+CONFIG_LOCALVERSION=""
+# CONFIG_LOCALVERSION_AUTO is not set
+CONFIG_SWAP=y
+CONFIG_SYSVIPC=y
+CONFIG_SYSVIPC_SYSCTL=y
+# CONFIG_POSIX_MQUEUE is not set
+CONFIG_BSD_PROCESS_ACCT=y
+# CONFIG_BSD_PROCESS_ACCT_V3 is not set
+CONFIG_TASKSTATS=y
+CONFIG_TASK_DELAY_ACCT=y
+CONFIG_TASK_XACCT=y
+CONFIG_TASK_IO_ACCOUNTING=y
+# CONFIG_AUDIT is not set
+
+#
+# RCU Subsystem
+#
+CONFIG_CLASSIC_RCU=y
+# CONFIG_TREE_RCU is not set
+# CONFIG_PREEMPT_RCU is not set
+# CONFIG_TREE_RCU_TRACE is not set
+# CONFIG_PREEMPT_RCU_TRACE is not set
+CONFIG_IKCONFIG=y
+CONFIG_IKCONFIG_PROC=y
+CONFIG_LOG_BUF_SHIFT=14
+CONFIG_GROUP_SCHED=y
+CONFIG_FAIR_GROUP_SCHED=y
+# CONFIG_RT_GROUP_SCHED is not set
+CONFIG_USER_SCHED=y
+# CONFIG_CGROUP_SCHED is not set
+# CONFIG_CGROUPS is not set
+CONFIG_SYSFS_DEPRECATED=y
+CONFIG_SYSFS_DEPRECATED_V2=y
+CONFIG_RELAY=y
+# CONFIG_NAMESPACES is not set
+CONFIG_BLK_DEV_INITRD=y
+CONFIG_INITRAMFS_SOURCE=""
+CONFIG_CC_OPTIMIZE_FOR_SIZE=y
+CONFIG_SYSCTL=y
+CONFIG_ANON_INODES=y
+CONFIG_EMBEDDED=y
+CONFIG_UID16=y
+# CONFIG_SYSCTL_SYSCALL is not set
+CONFIG_KALLSYMS=y
+# CONFIG_KALLSYMS_ALL is not set
+# CONFIG_KALLSYMS_EXTRA_PASS is not set
+CONFIG_HOTPLUG=y
+CONFIG_PRINTK=y
+CONFIG_BUG=y
+# CONFIG_ELF_CORE is not set
+CONFIG_BASE_FULL=y
+CONFIG_FUTEX=y
+CONFIG_EPOLL=y
+CONFIG_SIGNALFD=y
+CONFIG_TIMERFD=y
+CONFIG_EVENTFD=y
+CONFIG_SHMEM=y
+CONFIG_AIO=y
+CONFIG_VM_EVENT_COUNTERS=y
+# CONFIG_COMPAT_BRK is not set
+CONFIG_SLAB=y
+# CONFIG_SLUB is not set
+# CONFIG_SLOB is not set
+CONFIG_PROFILING=y
+CONFIG_TRACEPOINTS=y
+# CONFIG_MARKERS is not set
+CONFIG_OPROFILE=y
+CONFIG_HAVE_OPROFILE=y
+# CONFIG_KPROBES is not set
+CONFIG_HAVE_KPROBES=y
+CONFIG_HAVE_KRETPROBES=y
+CONFIG_HAVE_CLK=y
+CONFIG_HAVE_GENERIC_DMA_COHERENT=y
+CONFIG_SLABINFO=y
+CONFIG_RT_MUTEXES=y
+CONFIG_BASE_SMALL=0
+CONFIG_MODULES=y
+CONFIG_MODULE_FORCE_LOAD=y
+CONFIG_MODULE_UNLOAD=y
+CONFIG_MODULE_FORCE_UNLOAD=y
+CONFIG_MODVERSIONS=y
+CONFIG_MODULE_SRCVERSION_ALL=y
+CONFIG_BLOCK=y
+CONFIG_LBD=y
+CONFIG_BLK_DEV_IO_TRACE=y
+# CONFIG_BLK_DEV_BSG is not set
+# CONFIG_BLK_DEV_INTEGRITY is not set
+
+#
+# IO Schedulers
+#
+CONFIG_IOSCHED_NOOP=y
+CONFIG_IOSCHED_AS=y
+CONFIG_IOSCHED_DEADLINE=y
+CONFIG_IOSCHED_CFQ=y
+CONFIG_DEFAULT_AS=y
+# CONFIG_DEFAULT_DEADLINE is not set
+# CONFIG_DEFAULT_CFQ is not set
+# CONFIG_DEFAULT_NOOP is not set
+CONFIG_DEFAULT_IOSCHED="anticipatory"
+CONFIG_FREEZER=y
+
+#
+# System Type
+#
+# CONFIG_ARCH_AAEC2000 is not set
+# CONFIG_ARCH_INTEGRATOR is not set
+# CONFIG_ARCH_REALVIEW is not set
+# CONFIG_ARCH_VERSATILE is not set
+# CONFIG_ARCH_AT91 is not set
+# CONFIG_ARCH_CLPS711X is not set
+# CONFIG_ARCH_EBSA110 is not set
+# CONFIG_ARCH_EP93XX is not set
+# CONFIG_ARCH_FOOTBRIDGE is not set
+# CONFIG_ARCH_NETX is not set
+# CONFIG_ARCH_H720X is not set
+# CONFIG_ARCH_IMX is not set
+# CONFIG_ARCH_IOP13XX is not set
+# CONFIG_ARCH_IOP32X is not set
+# CONFIG_ARCH_IOP33X is not set
+# CONFIG_ARCH_IXP23XX is not set
+# CONFIG_ARCH_IXP2000 is not set
+# CONFIG_ARCH_IXP4XX is not set
+# CONFIG_ARCH_L7200 is not set
+# CONFIG_ARCH_KIRKWOOD is not set
+# CONFIG_ARCH_KS8695 is not set
+# CONFIG_ARCH_NS9XXX is not set
+# CONFIG_ARCH_LOKI is not set
+# CONFIG_ARCH_MV78XX0 is not set
+# CONFIG_ARCH_MXC is not set
+# CONFIG_ARCH_ORION5X is not set
+# CONFIG_ARCH_PNX4008 is not set
+# CONFIG_ARCH_PXA is not set
+# CONFIG_ARCH_RPC is not set
+# CONFIG_ARCH_SA1100 is not set
+# CONFIG_ARCH_S3C2410 is not set
+# CONFIG_ARCH_S3C64XX is not set
+# CONFIG_ARCH_SHARK is not set
+# CONFIG_ARCH_LH7A40X is not set
+# CONFIG_ARCH_DAVINCI is not set
+CONFIG_ARCH_OMAP=y
+# CONFIG_ARCH_MSM is not set
+# CONFIG_ARCH_W90X900 is not set
+
+#
+# TI OMAP Implementations
+#
+CONFIG_ARCH_OMAP_OTG=y
+# CONFIG_ARCH_OMAP1 is not set
+# CONFIG_ARCH_OMAP2 is not set
+CONFIG_ARCH_OMAP3=y
+
+#
+# OMAP Feature Selections
+#
+# CONFIG_OMAP_DEBUG_POWERDOMAIN is not set
+# CONFIG_OMAP_DEBUG_CLOCKDOMAIN is not set
+CONFIG_OMAP_SMARTREFLEX=y
+# CONFIG_OMAP_SMARTREFLEX_TESTING is not set
+# CONFIG_OMAP_RESET_CLOCKS is not set
+CONFIG_OMAP_BOOT_TAG=y
+CONFIG_OMAP_BOOT_REASON=y
+# CONFIG_OMAP_COMPONENT_VERSION is not set
+# CONFIG_OMAP_GPIO_SWITCH is not set
+# CONFIG_OMAP_MUX is not set
+CONFIG_OMAP_MCBSP=y
+# CONFIG_OMAP_MBOX_FWK is not set
+# CONFIG_OMAP_MPU_TIMER is not set
+CONFIG_OMAP_32K_TIMER=y
+# CONFIG_OMAP3_DEBOBS is not set
+CONFIG_OMAP_32K_TIMER_HZ=128
+CONFIG_OMAP_TICK_GPTIMER=1
+CONFIG_OMAP_DM_TIMER=y
+# CONFIG_OMAP_LL_DEBUG_UART1 is not set
+# CONFIG_OMAP_LL_DEBUG_UART2 is not set
+CONFIG_OMAP_LL_DEBUG_UART3=y
+# CONFIG_OMAP_PM_NONE is not set
+# CONFIG_OMAP_PM_NOOP is not set
+CONFIG_OMAP_PM_SRF=y
+CONFIG_ARCH_OMAP34XX=y
+CONFIG_ARCH_OMAP3430=y
+
+#
+# OMAP Board Type
+#
+# CONFIG_MACH_NOKIA_RX51 is not set
+# CONFIG_MACH_OMAP_LDP is not set
+# CONFIG_MACH_OMAP_3430SDP is not set
+# CONFIG_MACH_OMAP3EVM is not set
+# CONFIG_MACH_OMAP3_BEAGLE is not set
+CONFIG_MACH_OVERO=y
+# CONFIG_MACH_OMAP3_PANDORA is not set
+
+#
+# Processor Type
+#
+CONFIG_CPU_32=y
+CONFIG_CPU_32v6K=y
+CONFIG_CPU_V7=y
+CONFIG_CPU_32v7=y
+CONFIG_CPU_ABRT_EV7=y
+CONFIG_CPU_PABRT_IFAR=y
+CONFIG_CPU_CACHE_V7=y
+CONFIG_CPU_CACHE_VIPT=y
+CONFIG_CPU_COPY_V6=y
+CONFIG_CPU_TLB_V7=y
+CONFIG_CPU_HAS_ASID=y
+CONFIG_CPU_CP15=y
+CONFIG_CPU_CP15_MMU=y
+
+#
+# Processor Features
+#
+CONFIG_ARM_THUMB=y
+CONFIG_ARM_THUMBEE=y
+# CONFIG_CPU_ICACHE_DISABLE is not set
+# CONFIG_CPU_DCACHE_DISABLE is not set
+# CONFIG_CPU_BPREDICT_DISABLE is not set
+CONFIG_HAS_TLS_REG=y
+# CONFIG_OUTER_CACHE is not set
+
+#
+# Bus support
+#
+# CONFIG_PCI_SYSCALL is not set
+# CONFIG_ARCH_SUPPORTS_MSI is not set
+# CONFIG_PCCARD is not set
+
+#
+# Kernel Features
+#
+CONFIG_TICK_ONESHOT=y
+CONFIG_NO_HZ=y
+CONFIG_HIGH_RES_TIMERS=y
+CONFIG_GENERIC_CLOCKEVENTS_BUILD=y
+CONFIG_VMSPLIT_3G=y
+# CONFIG_VMSPLIT_2G is not set
+# CONFIG_VMSPLIT_1G is not set
+CONFIG_PAGE_OFFSET=0xC0000000
+# CONFIG_PREEMPT is not set
+CONFIG_HZ=128
+CONFIG_AEABI=y
+# CONFIG_OABI_COMPAT is not set
+CONFIG_ARCH_FLATMEM_HAS_HOLES=y
+# CONFIG_ARCH_SPARSEMEM_DEFAULT is not set
+# CONFIG_ARCH_SELECT_MEMORY_MODEL is not set
+CONFIG_SELECT_MEMORY_MODEL=y
+CONFIG_FLATMEM_MANUAL=y
+# CONFIG_DISCONTIGMEM_MANUAL is not set
+# CONFIG_SPARSEMEM_MANUAL is not set
+CONFIG_FLATMEM=y
+CONFIG_FLAT_NODE_MEM_MAP=y
+CONFIG_PAGEFLAGS_EXTENDED=y
+CONFIG_SPLIT_PTLOCK_CPUS=4
+# CONFIG_PHYS_ADDR_T_64BIT is not set
+CONFIG_ZONE_DMA_FLAG=0
+CONFIG_VIRT_TO_BUS=y
+CONFIG_UNEVICTABLE_LRU=y
+# CONFIG_LEDS is not set
+CONFIG_ALIGNMENT_TRAP=y
+
+#
+# Boot options
+#
+CONFIG_ZBOOT_ROM_TEXT=0x0
+CONFIG_ZBOOT_ROM_BSS=0x0
+CONFIG_CMDLINE=" debug "
+# CONFIG_XIP_KERNEL is not set
+CONFIG_KEXEC=y
+CONFIG_ATAGS_PROC=y
+
+#
+# CPU Power Management
+#
+CONFIG_CPU_FREQ=y
+CONFIG_CPU_FREQ_TABLE=y
+# CONFIG_CPU_FREQ_DEBUG is not set
+CONFIG_CPU_FREQ_STAT=y
+CONFIG_CPU_FREQ_STAT_DETAILS=y
+CONFIG_CPU_FREQ_DEFAULT_GOV_PERFORMANCE=y
+# CONFIG_CPU_FREQ_DEFAULT_GOV_POWERSAVE is not set
+# CONFIG_CPU_FREQ_DEFAULT_GOV_USERSPACE is not set
+# CONFIG_CPU_FREQ_DEFAULT_GOV_ONDEMAND is not set
+# CONFIG_CPU_FREQ_DEFAULT_GOV_CONSERVATIVE is not set
+CONFIG_CPU_FREQ_GOV_PERFORMANCE=y
+CONFIG_CPU_FREQ_GOV_POWERSAVE=y
+CONFIG_CPU_FREQ_GOV_USERSPACE=y
+CONFIG_CPU_FREQ_GOV_ONDEMAND=y
+CONFIG_CPU_FREQ_GOV_CONSERVATIVE=y
+CONFIG_CPU_IDLE=y
+CONFIG_CPU_IDLE_GOV_LADDER=y
+CONFIG_CPU_IDLE_GOV_MENU=y
+
+#
+# Floating point emulation
+#
+
+#
+# At least one emulation must be selected
+#
+CONFIG_VFP=y
+CONFIG_VFPv3=y
+CONFIG_NEON=y
+# CONFIG_ARM_ERRATUM_451034 is not set
+
+#
+# Userspace binary formats
+#
+CONFIG_BINFMT_ELF=y
+CONFIG_HAVE_AOUT=y
+CONFIG_BINFMT_AOUT=m
+CONFIG_BINFMT_MISC=y
+
+#
+# Power management options
+#
+CONFIG_PM=y
+# CONFIG_PM_DEBUG is not set
+CONFIG_PM_SLEEP=y
+CONFIG_SUSPEND=y
+CONFIG_SUSPEND_FREEZER=y
+# CONFIG_APM_EMULATION is not set
+CONFIG_ARCH_SUSPEND_POSSIBLE=y
+CONFIG_NET=y
+
+#
+# Networking options
+#
+CONFIG_COMPAT_NET_DEV_OPS=y
+CONFIG_PACKET=y
+CONFIG_PACKET_MMAP=y
+CONFIG_UNIX=y
+CONFIG_XFRM=y
+# CONFIG_XFRM_USER is not set
+# CONFIG_XFRM_SUB_POLICY is not set
+# CONFIG_XFRM_MIGRATE is not set
+# CONFIG_XFRM_STATISTICS is not set
+CONFIG_NET_KEY=y
+# CONFIG_NET_KEY_MIGRATE is not set
+CONFIG_INET=y
+# CONFIG_IP_MULTICAST is not set
+# CONFIG_IP_ADVANCED_ROUTER is not set
+CONFIG_IP_FIB_HASH=y
+CONFIG_IP_PNP=y
+CONFIG_IP_PNP_DHCP=y
+CONFIG_IP_PNP_BOOTP=y
+CONFIG_IP_PNP_RARP=y
+CONFIG_NET_IPIP=m
+# CONFIG_NET_IPGRE is not set
+# CONFIG_ARPD is not set
+# CONFIG_SYN_COOKIES is not set
+# CONFIG_INET_AH is not set
+# CONFIG_INET_ESP is not set
+# CONFIG_INET_IPCOMP is not set
+# CONFIG_INET_XFRM_TUNNEL is not set
+CONFIG_INET_TUNNEL=m
+CONFIG_INET_XFRM_MODE_TRANSPORT=y
+CONFIG_INET_XFRM_MODE_TUNNEL=y
+CONFIG_INET_XFRM_MODE_BEET=y
+# CONFIG_INET_LRO is not set
+CONFIG_INET_DIAG=y
+CONFIG_INET_TCP_DIAG=y
+# CONFIG_TCP_CONG_ADVANCED is not set
+CONFIG_TCP_CONG_CUBIC=y
+CONFIG_DEFAULT_TCP_CONG="cubic"
+# CONFIG_TCP_MD5SIG is not set
+CONFIG_IPV6=m
+# CONFIG_IPV6_PRIVACY is not set
+# CONFIG_IPV6_ROUTER_PREF is not set
+# CONFIG_IPV6_OPTIMISTIC_DAD is not set
+# CONFIG_INET6_AH is not set
+# CONFIG_INET6_ESP is not set
+# CONFIG_INET6_IPCOMP is not set
+# CONFIG_IPV6_MIP6 is not set
+# CONFIG_INET6_XFRM_TUNNEL is not set
+# CONFIG_INET6_TUNNEL is not set
+CONFIG_INET6_XFRM_MODE_TRANSPORT=m
+CONFIG_INET6_XFRM_MODE_TUNNEL=m
+CONFIG_INET6_XFRM_MODE_BEET=m
+# CONFIG_INET6_XFRM_MODE_ROUTEOPTIMIZATION is not set
+CONFIG_IPV6_SIT=m
+CONFIG_IPV6_NDISC_NODETYPE=y
+# CONFIG_IPV6_TUNNEL is not set
+# CONFIG_IPV6_MULTIPLE_TABLES is not set
+# CONFIG_IPV6_MROUTE is not set
+# CONFIG_NETWORK_SECMARK is not set
+# CONFIG_NETFILTER is not set
+# CONFIG_IP_DCCP is not set
+# CONFIG_IP_SCTP is not set
+# CONFIG_TIPC is not set
+# CONFIG_ATM is not set
+CONFIG_STP=m
+CONFIG_GARP=m
+CONFIG_BRIDGE=m
+# CONFIG_NET_DSA is not set
+CONFIG_VLAN_8021Q=m
+CONFIG_VLAN_8021Q_GVRP=y
+# CONFIG_DECNET is not set
+CONFIG_LLC=m
+# CONFIG_LLC2 is not set
+# CONFIG_IPX is not set
+# CONFIG_ATALK is not set
+# CONFIG_X25 is not set
+# CONFIG_LAPB is not set
+# CONFIG_ECONET is not set
+# CONFIG_WAN_ROUTER is not set
+# CONFIG_NET_SCHED is not set
+# CONFIG_DCB is not set
+
+#
+# Network testing
+#
+# CONFIG_NET_PKTGEN is not set
+# CONFIG_HAMRADIO is not set
+# CONFIG_CAN is not set
+# CONFIG_IRDA is not set
+CONFIG_BT=y
+CONFIG_BT_L2CAP=y
+CONFIG_BT_SCO=y
+CONFIG_BT_RFCOMM=y
+CONFIG_BT_RFCOMM_TTY=y
+CONFIG_BT_BNEP=y
+CONFIG_BT_BNEP_MC_FILTER=y
+CONFIG_BT_BNEP_PROTO_FILTER=y
+CONFIG_BT_HIDP=y
+
+#
+# Bluetooth device drivers
+#
+CONFIG_BT_HCIBTUSB=y
+CONFIG_BT_HCIBTSDIO=y
+CONFIG_BT_HCIUART=y
+CONFIG_BT_HCIUART_H4=y
+CONFIG_BT_HCIUART_BCSP=y
+# CONFIG_BT_HCIUART_LL is not set
+CONFIG_BT_HCIBCM203X=y
+CONFIG_BT_HCIBPA10X=y
+# CONFIG_BT_HCIBFUSB is not set
+# CONFIG_BT_HCIBRF6150 is not set
+# CONFIG_BT_HCIH4P is not set
+# CONFIG_BT_HCIVHCI is not set
+# CONFIG_AF_RXRPC is not set
+# CONFIG_PHONET is not set
+CONFIG_WIRELESS=y
+CONFIG_CFG80211=y
+# CONFIG_CFG80211_REG_DEBUG is not set
+CONFIG_NL80211=y
+CONFIG_WIRELESS_OLD_REGULATORY=y
+CONFIG_WIRELESS_EXT=y
+CONFIG_WIRELESS_EXT_SYSFS=y
+CONFIG_LIB80211=m
+CONFIG_LIB80211_CRYPT_WEP=m
+CONFIG_LIB80211_CRYPT_CCMP=m
+CONFIG_LIB80211_CRYPT_TKIP=m
+# CONFIG_LIB80211_DEBUG is not set
+CONFIG_MAC80211=y
+
+#
+# Rate control algorithm selection
+#
+CONFIG_MAC80211_RC_PID=y
+# CONFIG_MAC80211_RC_MINSTREL is not set
+CONFIG_MAC80211_RC_DEFAULT_PID=y
+# CONFIG_MAC80211_RC_DEFAULT_MINSTREL is not set
+CONFIG_MAC80211_RC_DEFAULT="pid"
+# CONFIG_MAC80211_MESH is not set
+CONFIG_MAC80211_LEDS=y
+# CONFIG_MAC80211_DEBUGFS is not set
+# CONFIG_MAC80211_DEBUG_MENU is not set
+# CONFIG_WIMAX is not set
+# CONFIG_RFKILL is not set
+# CONFIG_NET_9P is not set
+
+#
+# Device Drivers
+#
+
+#
+# Generic Driver Options
+#
+CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
+CONFIG_STANDALONE=y
+CONFIG_PREVENT_FIRMWARE_BUILD=y
+CONFIG_FW_LOADER=y
+CONFIG_FIRMWARE_IN_KERNEL=y
+CONFIG_EXTRA_FIRMWARE=""
+# CONFIG_DEBUG_DRIVER is not set
+# CONFIG_DEBUG_DEVRES is not set
+# CONFIG_SYS_HYPERVISOR is not set
+# CONFIG_CONNECTOR is not set
+CONFIG_MTD=y
+# CONFIG_MTD_DEBUG is not set
+CONFIG_MTD_CONCAT=y
+CONFIG_MTD_PARTITIONS=y
+# CONFIG_MTD_TESTS is not set
+# CONFIG_MTD_REDBOOT_PARTS is not set
+# CONFIG_MTD_CMDLINE_PARTS is not set
+# CONFIG_MTD_AFS_PARTS is not set
+# CONFIG_MTD_AR7_PARTS is not set
+
+#
+# User Modules And Translation Layers
+#
+CONFIG_MTD_CHAR=y
+CONFIG_MTD_BLKDEVS=y
+CONFIG_MTD_BLOCK=y
+# CONFIG_FTL is not set
+# CONFIG_NFTL is not set
+# CONFIG_INFTL is not set
+# CONFIG_RFD_FTL is not set
+# CONFIG_SSFDC is not set
+# CONFIG_MTD_OOPS is not set
+
+#
+# RAM/ROM/Flash chip drivers
+#
+# CONFIG_MTD_CFI is not set
+# CONFIG_MTD_JEDECPROBE is not set
+CONFIG_MTD_MAP_BANK_WIDTH_1=y
+CONFIG_MTD_MAP_BANK_WIDTH_2=y
+CONFIG_MTD_MAP_BANK_WIDTH_4=y
+# CONFIG_MTD_MAP_BANK_WIDTH_8 is not set
+# CONFIG_MTD_MAP_BANK_WIDTH_16 is not set
+# CONFIG_MTD_MAP_BANK_WIDTH_32 is not set
+CONFIG_MTD_CFI_I1=y
+CONFIG_MTD_CFI_I2=y
+# CONFIG_MTD_CFI_I4 is not set
+# CONFIG_MTD_CFI_I8 is not set
+# CONFIG_MTD_RAM is not set
+# CONFIG_MTD_ROM is not set
+# CONFIG_MTD_ABSENT is not set
+
+#
+# Mapping drivers for chip access
+#
+# CONFIG_MTD_COMPLEX_MAPPINGS is not set
+# CONFIG_MTD_PLATRAM is not set
+
+#
+# Self-contained MTD device drivers
+#
+# CONFIG_MTD_DATAFLASH is not set
+# CONFIG_MTD_M25P80 is not set
+# CONFIG_MTD_SLRAM is not set
+# CONFIG_MTD_PHRAM is not set
+# CONFIG_MTD_MTDRAM is not set
+# CONFIG_MTD_BLOCK2MTD is not set
+
+#
+# Disk-On-Chip Device Drivers
+#
+# CONFIG_MTD_DOC2000 is not set
+# CONFIG_MTD_DOC2001 is not set
+# CONFIG_MTD_DOC2001PLUS is not set
+CONFIG_MTD_NAND=y
+# CONFIG_MTD_NAND_VERIFY_WRITE is not set
+# CONFIG_MTD_NAND_ECC_SMC is not set
+# CONFIG_MTD_NAND_MUSEUM_IDS is not set
+# CONFIG_MTD_NAND_GPIO is not set
+CONFIG_MTD_NAND_OMAP2=y
+CONFIG_MTD_NAND_IDS=y
+# CONFIG_MTD_NAND_DISKONCHIP is not set
+# CONFIG_MTD_NAND_NANDSIM is not set
+# CONFIG_MTD_NAND_PLATFORM is not set
+# CONFIG_MTD_ALAUDA is not set
+# CONFIG_MTD_ONENAND is not set
+
+#
+# LPDDR flash memory drivers
+#
+# CONFIG_MTD_LPDDR is not set
+
+#
+# UBI - Unsorted block images
+#
+CONFIG_MTD_UBI=y
+CONFIG_MTD_UBI_WL_THRESHOLD=4096
+CONFIG_MTD_UBI_BEB_RESERVE=1
+CONFIG_MTD_UBI_GLUEBI=y
+
+#
+# UBI debugging options
+#
+# CONFIG_MTD_UBI_DEBUG is not set
+# CONFIG_PARPORT is not set
+CONFIG_BLK_DEV=y
+# CONFIG_BLK_DEV_COW_COMMON is not set
+CONFIG_BLK_DEV_LOOP=y
+CONFIG_BLK_DEV_CRYPTOLOOP=m
+# CONFIG_BLK_DEV_NBD is not set
+# CONFIG_BLK_DEV_UB is not set
+CONFIG_BLK_DEV_RAM=y
+CONFIG_BLK_DEV_RAM_COUNT=16
+CONFIG_BLK_DEV_RAM_SIZE=16384
+# CONFIG_BLK_DEV_XIP is not set
+CONFIG_CDROM_PKTCDVD=m
+CONFIG_CDROM_PKTCDVD_BUFFERS=8
+# CONFIG_CDROM_PKTCDVD_WCACHE is not set
+# CONFIG_ATA_OVER_ETH is not set
+# CONFIG_MISC_DEVICES is not set
+CONFIG_EEPROM_93CX6=m
+CONFIG_HAVE_IDE=y
+# CONFIG_IDE is not set
+
+#
+# SCSI device support
+#
+CONFIG_RAID_ATTRS=m
+CONFIG_SCSI=y
+CONFIG_SCSI_DMA=y
+# CONFIG_SCSI_TGT is not set
+# CONFIG_SCSI_NETLINK is not set
+CONFIG_SCSI_PROC_FS=y
+
+#
+# SCSI support type (disk, tape, CD-ROM)
+#
+CONFIG_BLK_DEV_SD=y
+# CONFIG_CHR_DEV_ST is not set
+# CONFIG_CHR_DEV_OSST is not set
+CONFIG_BLK_DEV_SR=m
+# CONFIG_BLK_DEV_SR_VENDOR is not set
+CONFIG_CHR_DEV_SG=m
+# CONFIG_CHR_DEV_SCH is not set
+
+#
+# Some SCSI devices (e.g. CD jukebox) support multiple LUNs
+#
+CONFIG_SCSI_MULTI_LUN=y
+# CONFIG_SCSI_CONSTANTS is not set
+# CONFIG_SCSI_LOGGING is not set
+# CONFIG_SCSI_SCAN_ASYNC is not set
+CONFIG_SCSI_WAIT_SCAN=m
+
+#
+# SCSI Transports
+#
+# CONFIG_SCSI_SPI_ATTRS is not set
+# CONFIG_SCSI_FC_ATTRS is not set
+# CONFIG_SCSI_ISCSI_ATTRS is not set
+# CONFIG_SCSI_SAS_LIBSAS is not set
+# CONFIG_SCSI_SRP_ATTRS is not set
+CONFIG_SCSI_LOWLEVEL=y
+# CONFIG_ISCSI_TCP is not set
+# CONFIG_LIBFC is not set
+# CONFIG_SCSI_DEBUG is not set
+# CONFIG_SCSI_DH is not set
+# CONFIG_ATA is not set
+CONFIG_MD=y
+CONFIG_BLK_DEV_MD=m
+CONFIG_MD_LINEAR=m
+CONFIG_MD_RAID0=m
+CONFIG_MD_RAID1=m
+CONFIG_MD_RAID10=m
+CONFIG_MD_RAID456=m
+CONFIG_MD_RAID5_RESHAPE=y
+CONFIG_MD_MULTIPATH=m
+CONFIG_MD_FAULTY=m
+CONFIG_BLK_DEV_DM=m
+# CONFIG_DM_DEBUG is not set
+CONFIG_DM_CRYPT=m
+CONFIG_DM_SNAPSHOT=m
+CONFIG_DM_MIRROR=m
+CONFIG_DM_ZERO=m
+CONFIG_DM_MULTIPATH=m
+CONFIG_DM_DELAY=m
+# CONFIG_DM_UEVENT is not set
+CONFIG_NETDEVICES=y
+CONFIG_DUMMY=m
+# CONFIG_BONDING is not set
+# CONFIG_MACVLAN is not set
+# CONFIG_EQUALIZER is not set
+CONFIG_TUN=m
+# CONFIG_VETH is not set
+CONFIG_PHYLIB=m
+
+#
+# MII PHY device drivers
+#
+# CONFIG_MARVELL_PHY is not set
+# CONFIG_DAVICOM_PHY is not set
+# CONFIG_QSEMI_PHY is not set
+# CONFIG_LXT_PHY is not set
+# CONFIG_CICADA_PHY is not set
+# CONFIG_VITESSE_PHY is not set
+# CONFIG_SMSC_PHY is not set
+# CONFIG_BROADCOM_PHY is not set
+# CONFIG_ICPLUS_PHY is not set
+# CONFIG_REALTEK_PHY is not set
+# CONFIG_NATIONAL_PHY is not set
+# CONFIG_STE10XP is not set
+# CONFIG_LSI_ET1011C_PHY is not set
+# CONFIG_MDIO_BITBANG is not set
+CONFIG_NET_ETHERNET=y
+CONFIG_MII=y
+# CONFIG_AX88796 is not set
+# CONFIG_SMC91X is not set
+# CONFIG_DM9000 is not set
+# CONFIG_ENC28J60 is not set
+# CONFIG_SMC911X is not set
+CONFIG_SMSC911X=m
+# CONFIG_DNET is not set
+# CONFIG_IBM_NEW_EMAC_ZMII is not set
+# CONFIG_IBM_NEW_EMAC_RGMII is not set
+# CONFIG_IBM_NEW_EMAC_TAH is not set
+# CONFIG_IBM_NEW_EMAC_EMAC4 is not set
+# CONFIG_IBM_NEW_EMAC_NO_FLOW_CTRL is not set
+# CONFIG_IBM_NEW_EMAC_MAL_CLR_ICINTSTAT is not set
+# CONFIG_IBM_NEW_EMAC_MAL_COMMON_ERR is not set
+# CONFIG_B44 is not set
+# CONFIG_NETDEV_1000 is not set
+# CONFIG_NETDEV_10000 is not set
+
+#
+# Wireless LAN
+#
+# CONFIG_WLAN_PRE80211 is not set
+CONFIG_WLAN_80211=y
+CONFIG_LIBERTAS=m
+CONFIG_LIBERTAS_USB=m
+CONFIG_LIBERTAS_SDIO=m
+CONFIG_LIBERTAS_DEBUG=y
+# CONFIG_LIBERTAS_THINFIRM is not set
+CONFIG_USB_ZD1201=m
+CONFIG_USB_NET_RNDIS_WLAN=m
+CONFIG_RTL8187=m
+# CONFIG_MAC80211_HWSIM is not set
+CONFIG_P54_COMMON=m
+CONFIG_P54_USB=m
+# CONFIG_IWLWIFI_LEDS is not set
+CONFIG_HOSTAP=m
+CONFIG_HOSTAP_FIRMWARE=y
+CONFIG_HOSTAP_FIRMWARE_NVRAM=y
+# CONFIG_B43 is not set
+# CONFIG_B43LEGACY is not set
+CONFIG_ZD1211RW=m
+# CONFIG_ZD1211RW_DEBUG is not set
+CONFIG_RT2X00=m
+CONFIG_RT2500USB=m
+CONFIG_RT73USB=m
+CONFIG_RT2X00_LIB_USB=m
+CONFIG_RT2X00_LIB=m
+CONFIG_RT2X00_LIB_FIRMWARE=y
+CONFIG_RT2X00_LIB_CRYPTO=y
+CONFIG_RT2X00_LIB_LEDS=y
+# CONFIG_RT2X00_DEBUG is not set
+
+#
+# Enable WiMAX (Networking options) to see the WiMAX drivers
+#
+
+#
+# USB Network Adapters
+#
+CONFIG_USB_CATC=m
+CONFIG_USB_KAWETH=m
+CONFIG_USB_PEGASUS=m
+CONFIG_USB_RTL8150=m
+CONFIG_USB_USBNET=y
+CONFIG_USB_NET_AX8817X=y
+CONFIG_USB_NET_CDCETHER=y
+CONFIG_USB_NET_DM9601=m
+CONFIG_USB_NET_SMSC95XX=m
+CONFIG_USB_NET_GL620A=m
+CONFIG_USB_NET_NET1080=m
+CONFIG_USB_NET_PLUSB=m
+CONFIG_USB_NET_MCS7830=m
+CONFIG_USB_NET_RNDIS_HOST=m
+CONFIG_USB_NET_CDC_SUBSET=m
+CONFIG_USB_ALI_M5632=y
+CONFIG_USB_AN2720=y
+CONFIG_USB_BELKIN=y
+CONFIG_USB_ARMLINUX=y
+CONFIG_USB_EPSON2888=y
+CONFIG_USB_KC2190=y
+CONFIG_USB_NET_ZAURUS=m
+# CONFIG_WAN is not set
+CONFIG_PPP=m
+# CONFIG_PPP_MULTILINK is not set
+# CONFIG_PPP_FILTER is not set
+CONFIG_PPP_ASYNC=m
+CONFIG_PPP_SYNC_TTY=m
+CONFIG_PPP_DEFLATE=m
+CONFIG_PPP_BSDCOMP=m
+CONFIG_PPP_MPPE=m
+CONFIG_PPPOE=m
+# CONFIG_PPPOL2TP is not set
+# CONFIG_SLIP is not set
+CONFIG_SLHC=m
+# CONFIG_NETCONSOLE is not set
+# CONFIG_NETPOLL is not set
+# CONFIG_NET_POLL_CONTROLLER is not set
+# CONFIG_ISDN is not set
+
+#
+# Input device support
+#
+CONFIG_INPUT=y
+# CONFIG_INPUT_FF_MEMLESS is not set
+# CONFIG_INPUT_POLLDEV is not set
+
+#
+# Userland interfaces
+#
+CONFIG_INPUT_MOUSEDEV=y
+CONFIG_INPUT_MOUSEDEV_PSAUX=y
+CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024
+CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768
+# CONFIG_INPUT_JOYDEV is not set
+CONFIG_INPUT_EVDEV=y
+# CONFIG_INPUT_EVBUG is not set
+
+#
+# Input Device Drivers
+#
+CONFIG_INPUT_KEYBOARD=y
+# CONFIG_KEYBOARD_ATKBD is not set
+# CONFIG_KEYBOARD_SUNKBD is not set
+# CONFIG_KEYBOARD_LKKBD is not set
+# CONFIG_KEYBOARD_XTKBD is not set
+# CONFIG_KEYBOARD_NEWTON is not set
+# CONFIG_KEYBOARD_STOWAWAY is not set
+# CONFIG_KEYBOARD_TWL4030 is not set
+# CONFIG_KEYBOARD_GPIO is not set
+CONFIG_INPUT_MOUSE=y
+CONFIG_MOUSE_PS2=y
+CONFIG_MOUSE_PS2_ALPS=y
+CONFIG_MOUSE_PS2_LOGIPS2PP=y
+CONFIG_MOUSE_PS2_SYNAPTICS=y
+CONFIG_MOUSE_PS2_TRACKPOINT=y
+# CONFIG_MOUSE_PS2_ELANTECH is not set
+# CONFIG_MOUSE_PS2_TOUCHKIT is not set
+# CONFIG_MOUSE_SERIAL is not set
+# CONFIG_MOUSE_APPLETOUCH is not set
+# CONFIG_MOUSE_BCM5974 is not set
+# CONFIG_MOUSE_VSXXXAA is not set
+# CONFIG_MOUSE_GPIO is not set
+# CONFIG_INPUT_JOYSTICK is not set
+# CONFIG_INPUT_TABLET is not set
+CONFIG_INPUT_TOUCHSCREEN=y
+CONFIG_TOUCHSCREEN_ADS7846=m
+# CONFIG_TOUCHSCREEN_FUJITSU is not set
+# CONFIG_TOUCHSCREEN_GUNZE is not set
+# CONFIG_TOUCHSCREEN_ELO is not set
+# CONFIG_TOUCHSCREEN_WACOM_W8001 is not set
+# CONFIG_TOUCHSCREEN_MTOUCH is not set
+# CONFIG_TOUCHSCREEN_INEXIO is not set
+# CONFIG_TOUCHSCREEN_MK712 is not set
+# CONFIG_TOUCHSCREEN_PENMOUNT is not set
+# CONFIG_TOUCHSCREEN_TOUCHRIGHT is not set
+# CONFIG_TOUCHSCREEN_TOUCHWIN is not set
+# CONFIG_TOUCHSCREEN_TSC2005 is not set
+# CONFIG_TOUCHSCREEN_TSC210X is not set
+# CONFIG_TOUCHSCREEN_USB_COMPOSITE is not set
+# CONFIG_TOUCHSCREEN_TOUCHIT213 is not set
+# CONFIG_TOUCHSCREEN_TSC2007 is not set
+# CONFIG_INPUT_MISC is not set
+
+#
+# Hardware I/O ports
+#
+CONFIG_SERIO=y
+CONFIG_SERIO_SERPORT=y
+CONFIG_SERIO_LIBPS2=y
+# CONFIG_SERIO_RAW is not set
+# CONFIG_GAMEPORT is not set
+
+#
+# Character devices
+#
+CONFIG_VT=y
+CONFIG_CONSOLE_TRANSLATIONS=y
+CONFIG_VT_CONSOLE=y
+CONFIG_HW_CONSOLE=y
+CONFIG_VT_HW_CONSOLE_BINDING=y
+CONFIG_DEVKMEM=y
+# CONFIG_SERIAL_NONSTANDARD is not set
+
+#
+# Serial drivers
+#
+CONFIG_SERIAL_8250=y
+CONFIG_SERIAL_8250_CONSOLE=y
+CONFIG_SERIAL_8250_NR_UARTS=32
+CONFIG_SERIAL_8250_RUNTIME_UARTS=4
+CONFIG_SERIAL_8250_EXTENDED=y
+CONFIG_SERIAL_8250_MANY_PORTS=y
+CONFIG_SERIAL_8250_SHARE_IRQ=y
+CONFIG_SERIAL_8250_DETECT_IRQ=y
+CONFIG_SERIAL_8250_RSA=y
+
+#
+# Non-8250 serial port support
+#
+CONFIG_SERIAL_CORE=y
+CONFIG_SERIAL_CORE_CONSOLE=y
+CONFIG_UNIX98_PTYS=y
+# CONFIG_DEVPTS_MULTIPLE_INSTANCES is not set
+# CONFIG_LEGACY_PTYS is not set
+# CONFIG_IPMI_HANDLER is not set
+CONFIG_HW_RANDOM=y
+# CONFIG_R3964 is not set
+# CONFIG_RAW_DRIVER is not set
+# CONFIG_TCG_TPM is not set
+CONFIG_I2C=y
+CONFIG_I2C_BOARDINFO=y
+CONFIG_I2C_CHARDEV=y
+CONFIG_I2C_HELPER_AUTO=y
+
+#
+# I2C Hardware Bus support
+#
+
+#
+# I2C system bus drivers (mostly embedded / system-on-chip)
+#
+# CONFIG_I2C_GPIO is not set
+# CONFIG_I2C_OCORES is not set
+CONFIG_I2C_OMAP=y
+# CONFIG_I2C_SIMTEC is not set
+
+#
+# External I2C/SMBus adapter drivers
+#
+# CONFIG_I2C_PARPORT_LIGHT is not set
+# CONFIG_I2C_TAOS_EVM is not set
+# CONFIG_I2C_TINY_USB is not set
+
+#
+# Other I2C/SMBus bus drivers
+#
+# CONFIG_I2C_PCA_PLATFORM is not set
+# CONFIG_I2C_STUB is not set
+
+#
+# Miscellaneous I2C Chip support
+#
+# CONFIG_DS1682 is not set
+# CONFIG_SENSORS_PCF8574 is not set
+# CONFIG_PCF8575 is not set
+# CONFIG_SENSORS_PCA9539 is not set
+# CONFIG_SENSORS_PCF8591 is not set
+CONFIG_TWL4030_MADC=m
+CONFIG_TWL4030_POWEROFF=y
+# CONFIG_SENSORS_MAX6875 is not set
+# CONFIG_SENSORS_TSL2550 is not set
+# CONFIG_SENSORS_TSL2563 is not set
+# CONFIG_I2C_DEBUG_CORE is not set
+# CONFIG_I2C_DEBUG_ALGO is not set
+# CONFIG_I2C_DEBUG_BUS is not set
+# CONFIG_I2C_DEBUG_CHIP is not set
+CONFIG_SPI=y
+# CONFIG_SPI_DEBUG is not set
+CONFIG_SPI_MASTER=y
+
+#
+# SPI Master Controller Drivers
+#
+# CONFIG_SPI_BITBANG is not set
+# CONFIG_SPI_GPIO is not set
+CONFIG_SPI_OMAP24XX=y
+
+#
+# SPI Protocol Masters
+#
+# CONFIG_SPI_TSC210X is not set
+# CONFIG_SPI_TSC2301 is not set
+# CONFIG_SPI_SPIDEV is not set
+# CONFIG_SPI_TLE62X0 is not set
+CONFIG_ARCH_REQUIRE_GPIOLIB=y
+CONFIG_GPIOLIB=y
+CONFIG_DEBUG_GPIO=y
+CONFIG_GPIO_SYSFS=y
+
+#
+# Memory mapped GPIO expanders:
+#
+
+#
+# I2C GPIO expanders:
+#
+# CONFIG_GPIO_MAX732X is not set
+# CONFIG_GPIO_PCA953X is not set
+# CONFIG_GPIO_PCF857X is not set
+CONFIG_GPIO_TWL4030=y
+
+#
+# PCI GPIO expanders:
+#
+
+#
+# SPI GPIO expanders:
+#
+# CONFIG_GPIO_MAX7301 is not set
+# CONFIG_GPIO_MCP23S08 is not set
+# CONFIG_W1 is not set
+CONFIG_POWER_SUPPLY=m
+# CONFIG_POWER_SUPPLY_DEBUG is not set
+# CONFIG_PDA_POWER is not set
+# CONFIG_BATTERY_DS2760 is not set
+# CONFIG_TWL4030_BCI_BATTERY is not set
+# CONFIG_BATTERY_BQ27x00 is not set
+CONFIG_HWMON=y
+# CONFIG_HWMON_VID is not set
+# CONFIG_SENSORS_AD7414 is not set
+# CONFIG_SENSORS_AD7418 is not set
+# CONFIG_SENSORS_ADCXX is not set
+# CONFIG_SENSORS_ADM1021 is not set
+# CONFIG_SENSORS_ADM1025 is not set
+# CONFIG_SENSORS_ADM1026 is not set
+# CONFIG_SENSORS_ADM1029 is not set
+# CONFIG_SENSORS_ADM1031 is not set
+# CONFIG_SENSORS_ADM9240 is not set
+# CONFIG_SENSORS_ADT7462 is not set
+# CONFIG_SENSORS_ADT7470 is not set
+# CONFIG_SENSORS_ADT7473 is not set
+# CONFIG_SENSORS_ADT7475 is not set
+# CONFIG_SENSORS_ATXP1 is not set
+# CONFIG_SENSORS_DS1621 is not set
+# CONFIG_SENSORS_F71805F is not set
+# CONFIG_SENSORS_F71882FG is not set
+# CONFIG_SENSORS_F75375S is not set
+# CONFIG_SENSORS_GL518SM is not set
+# CONFIG_SENSORS_GL520SM is not set
+# CONFIG_SENSORS_IT87 is not set
+# CONFIG_SENSORS_LM63 is not set
+# CONFIG_SENSORS_LM70 is not set
+# CONFIG_SENSORS_LM75 is not set
+# CONFIG_SENSORS_LM77 is not set
+# CONFIG_SENSORS_LM78 is not set
+# CONFIG_SENSORS_LM80 is not set
+# CONFIG_SENSORS_LM83 is not set
+# CONFIG_SENSORS_LM85 is not set
+# CONFIG_SENSORS_LM87 is not set
+# CONFIG_SENSORS_LM90 is not set
+# CONFIG_SENSORS_LM92 is not set
+# CONFIG_SENSORS_LM93 is not set
+# CONFIG_SENSORS_LTC4245 is not set
+# CONFIG_SENSORS_MAX1111 is not set
+# CONFIG_SENSORS_MAX1619 is not set
+# CONFIG_SENSORS_MAX6650 is not set
+# CONFIG_SENSORS_PC87360 is not set
+# CONFIG_SENSORS_PC87427 is not set
+# CONFIG_SENSORS_DME1737 is not set
+# CONFIG_SENSORS_SMSC47M1 is not set
+# CONFIG_SENSORS_SMSC47M192 is not set
+# CONFIG_SENSORS_SMSC47B397 is not set
+# CONFIG_SENSORS_ADS7828 is not set
+# CONFIG_SENSORS_THMC50 is not set
+# CONFIG_SENSORS_VT1211 is not set
+# CONFIG_SENSORS_W83781D is not set
+# CONFIG_SENSORS_W83791D is not set
+# CONFIG_SENSORS_W83792D is not set
+# CONFIG_SENSORS_W83793 is not set
+# CONFIG_SENSORS_W83L785TS is not set
+# CONFIG_SENSORS_W83L786NG is not set
+# CONFIG_SENSORS_W83627HF is not set
+# CONFIG_SENSORS_W83627EHF is not set
+# CONFIG_SENSORS_TSC210X is not set
+CONFIG_SENSORS_OMAP34XX=y
+# CONFIG_HWMON_DEBUG_CHIP is not set
+# CONFIG_THERMAL is not set
+# CONFIG_THERMAL_HWMON is not set
+CONFIG_WATCHDOG=y
+CONFIG_WATCHDOG_NOWAYOUT=y
+
+#
+# Watchdog Device Drivers
+#
+# CONFIG_SOFT_WATCHDOG is not set
+CONFIG_OMAP_WATCHDOG=y
+
+#
+# USB-based Watchdog Cards
+#
+# CONFIG_USBPCWATCHDOG is not set
+CONFIG_SSB_POSSIBLE=y
+
+#
+# Sonics Silicon Backplane
+#
+# CONFIG_SSB is not set
+
+#
+# Multifunction device drivers
+#
+# CONFIG_MFD_CORE is not set
+# CONFIG_MFD_SM501 is not set
+# CONFIG_MFD_ASIC3 is not set
+# CONFIG_HTC_EGPIO is not set
+# CONFIG_HTC_PASIC3 is not set
+# CONFIG_TPS65010 is not set
+CONFIG_TWL4030_CORE=y
+# CONFIG_TWL4030_POWER is not set
+# CONFIG_MFD_TMIO is not set
+# CONFIG_MFD_T7L66XB is not set
+# CONFIG_MFD_TC6387XB is not set
+# CONFIG_MFD_TC6393XB is not set
+# CONFIG_PMIC_DA903X is not set
+# CONFIG_MFD_WM8400 is not set
+# CONFIG_MFD_WM8350_I2C is not set
+# CONFIG_MFD_PCF50633 is not set
+
+#
+# Multimedia devices
+#
+
+#
+# Multimedia core support
+#
+CONFIG_VIDEO_DEV=m
+CONFIG_VIDEO_V4L2_COMMON=m
+CONFIG_VIDEO_ALLOW_V4L1=y
+CONFIG_VIDEO_V4L1_COMPAT=y
+CONFIG_DVB_CORE=m
+CONFIG_VIDEO_MEDIA=m
+
+#
+# Multimedia drivers
+#
+CONFIG_MEDIA_ATTACH=y
+CONFIG_MEDIA_TUNER=m
+# CONFIG_MEDIA_TUNER_CUSTOMIZE is not set
+CONFIG_MEDIA_TUNER_SIMPLE=m
+CONFIG_MEDIA_TUNER_TDA8290=m
+CONFIG_MEDIA_TUNER_TDA827X=m
+CONFIG_MEDIA_TUNER_TDA18271=m
+CONFIG_MEDIA_TUNER_TDA9887=m
+CONFIG_MEDIA_TUNER_TEA5761=m
+CONFIG_MEDIA_TUNER_TEA5767=m
+CONFIG_MEDIA_TUNER_MT20XX=m
+CONFIG_MEDIA_TUNER_MT2060=m
+CONFIG_MEDIA_TUNER_MT2266=m
+CONFIG_MEDIA_TUNER_QT1010=m
+CONFIG_MEDIA_TUNER_XC2028=m
+CONFIG_MEDIA_TUNER_XC5000=m
+CONFIG_MEDIA_TUNER_MXL5005S=m
+CONFIG_VIDEO_V4L2=m
+CONFIG_VIDEO_V4L1=m
+CONFIG_VIDEO_TVEEPROM=m
+CONFIG_VIDEO_TUNER=m
+CONFIG_VIDEO_CAPTURE_DRIVERS=y
+# CONFIG_VIDEO_ADV_DEBUG is not set
+# CONFIG_VIDEO_FIXED_MINOR_RANGES is not set
+CONFIG_VIDEO_HELPER_CHIPS_AUTO=y
+CONFIG_VIDEO_MSP3400=m
+CONFIG_VIDEO_CS53L32A=m
+CONFIG_VIDEO_WM8775=m
+CONFIG_VIDEO_SAA711X=m
+CONFIG_VIDEO_CX25840=m
+CONFIG_VIDEO_CX2341X=m
+# CONFIG_VIDEO_VIVI is not set
+# CONFIG_VIDEO_CPIA is not set
+# CONFIG_VIDEO_CPIA2 is not set
+# CONFIG_VIDEO_SAA5246A is not set
+# CONFIG_VIDEO_SAA5249 is not set
+# CONFIG_VIDEO_AU0828 is not set
+# CONFIG_SOC_CAMERA is not set
+CONFIG_V4L_USB_DRIVERS=y
+CONFIG_USB_VIDEO_CLASS=m
+CONFIG_USB_VIDEO_CLASS_INPUT_EVDEV=y
+# CONFIG_USB_GSPCA is not set
+CONFIG_VIDEO_PVRUSB2=m
+CONFIG_VIDEO_PVRUSB2_SYSFS=y
+CONFIG_VIDEO_PVRUSB2_DVB=y
+# CONFIG_VIDEO_PVRUSB2_DEBUGIFC is not set
+# CONFIG_VIDEO_EM28XX is not set
+CONFIG_VIDEO_USBVISION=m
+CONFIG_VIDEO_USBVIDEO=m
+CONFIG_USB_VICAM=m
+CONFIG_USB_IBMCAM=m
+CONFIG_USB_KONICAWC=m
+CONFIG_USB_QUICKCAM_MESSENGER=m
+# CONFIG_USB_ET61X251 is not set
+CONFIG_VIDEO_OVCAMCHIP=m
+CONFIG_USB_W9968CF=m
+CONFIG_USB_OV511=m
+CONFIG_USB_SE401=m
+CONFIG_USB_SN9C102=m
+CONFIG_USB_STV680=m
+# CONFIG_USB_ZC0301 is not set
+CONFIG_USB_PWC=m
+# CONFIG_USB_PWC_DEBUG is not set
+CONFIG_USB_ZR364XX=m
+# CONFIG_USB_STKWEBCAM is not set
+# CONFIG_USB_S2255 is not set
+CONFIG_RADIO_ADAPTERS=y
+# CONFIG_USB_DSBR is not set
+# CONFIG_USB_SI470X is not set
+# CONFIG_USB_MR800 is not set
+# CONFIG_RADIO_TEA5764 is not set
+# CONFIG_DVB_DYNAMIC_MINORS is not set
+CONFIG_DVB_CAPTURE_DRIVERS=y
+# CONFIG_TTPCI_EEPROM is not set
+
+#
+# Supported USB Adapters
+#
+CONFIG_DVB_USB=m
+# CONFIG_DVB_USB_DEBUG is not set
+CONFIG_DVB_USB_A800=m
+CONFIG_DVB_USB_DIBUSB_MB=m
+# CONFIG_DVB_USB_DIBUSB_MB_FAULTY is not set
+CONFIG_DVB_USB_DIBUSB_MC=m
+CONFIG_DVB_USB_DIB0700=m
+CONFIG_DVB_USB_UMT_010=m
+CONFIG_DVB_USB_CXUSB=m
+CONFIG_DVB_USB_M920X=m
+CONFIG_DVB_USB_GL861=m
+CONFIG_DVB_USB_AU6610=m
+CONFIG_DVB_USB_DIGITV=m
+CONFIG_DVB_USB_VP7045=m
+CONFIG_DVB_USB_VP702X=m
+CONFIG_DVB_USB_GP8PSK=m
+CONFIG_DVB_USB_NOVA_T_USB2=m
+CONFIG_DVB_USB_TTUSB2=m
+CONFIG_DVB_USB_DTT200U=m
+CONFIG_DVB_USB_OPERA1=m
+CONFIG_DVB_USB_AF9005=m
+CONFIG_DVB_USB_AF9005_REMOTE=m
+# CONFIG_DVB_USB_DW2102 is not set
+# CONFIG_DVB_USB_CINERGY_T2 is not set
+# CONFIG_DVB_USB_ANYSEE is not set
+# CONFIG_DVB_USB_DTV5100 is not set
+# CONFIG_DVB_USB_AF9015 is not set
+# CONFIG_DVB_SIANO_SMS1XXX is not set
+
+#
+# Supported FlexCopII (B2C2) Adapters
+#
+# CONFIG_DVB_B2C2_FLEXCOP is not set
+
+#
+# Supported DVB Frontends
+#
+
+#
+# Customise DVB Frontends
+#
+# CONFIG_DVB_FE_CUSTOMISE is not set
+
+#
+# Multistandard (satellite) frontends
+#
+# CONFIG_DVB_STB0899 is not set
+# CONFIG_DVB_STB6100 is not set
+
+#
+# DVB-S (satellite) frontends
+#
+CONFIG_DVB_CX24110=m
+CONFIG_DVB_CX24123=m
+CONFIG_DVB_MT312=m
+CONFIG_DVB_S5H1420=m
+# CONFIG_DVB_STV0288 is not set
+# CONFIG_DVB_STB6000 is not set
+CONFIG_DVB_STV0299=m
+CONFIG_DVB_TDA8083=m
+CONFIG_DVB_TDA10086=m
+# CONFIG_DVB_TDA8261 is not set
+CONFIG_DVB_VES1X93=m
+CONFIG_DVB_TUNER_ITD1000=m
+# CONFIG_DVB_TUNER_CX24113 is not set
+CONFIG_DVB_TDA826X=m
+CONFIG_DVB_TUA6100=m
+# CONFIG_DVB_CX24116 is not set
+# CONFIG_DVB_SI21XX is not set
+
+#
+# DVB-T (terrestrial) frontends
+#
+CONFIG_DVB_SP8870=m
+CONFIG_DVB_SP887X=m
+CONFIG_DVB_CX22700=m
+CONFIG_DVB_CX22702=m
+# CONFIG_DVB_DRX397XD is not set
+CONFIG_DVB_L64781=m
+CONFIG_DVB_TDA1004X=m
+CONFIG_DVB_NXT6000=m
+CONFIG_DVB_MT352=m
+CONFIG_DVB_ZL10353=m
+CONFIG_DVB_DIB3000MB=m
+CONFIG_DVB_DIB3000MC=m
+CONFIG_DVB_DIB7000M=m
+CONFIG_DVB_DIB7000P=m
+CONFIG_DVB_TDA10048=m
+
+#
+# DVB-C (cable) frontends
+#
+CONFIG_DVB_VES1820=m
+CONFIG_DVB_TDA10021=m
+CONFIG_DVB_TDA10023=m
+CONFIG_DVB_STV0297=m
+
+#
+# ATSC (North American/Korean Terrestrial/Cable DTV) frontends
+#
+CONFIG_DVB_NXT200X=m
+# CONFIG_DVB_OR51211 is not set
+# CONFIG_DVB_OR51132 is not set
+CONFIG_DVB_BCM3510=m
+CONFIG_DVB_LGDT330X=m
+# CONFIG_DVB_LGDT3304 is not set
+CONFIG_DVB_S5H1409=m
+CONFIG_DVB_AU8522=m
+CONFIG_DVB_S5H1411=m
+
+#
+# ISDB-T (terrestrial) frontends
+#
+# CONFIG_DVB_S921 is not set
+
+#
+# Digital terrestrial only tuners/PLL
+#
+CONFIG_DVB_PLL=m
+CONFIG_DVB_TUNER_DIB0070=m
+
+#
+# SEC control devices for DVB-S
+#
+CONFIG_DVB_LNBP21=m
+# CONFIG_DVB_ISL6405 is not set
+CONFIG_DVB_ISL6421=m
+# CONFIG_DVB_LGS8GL5 is not set
+
+#
+# Tools to develop new frontends
+#
+# CONFIG_DVB_DUMMY_FE is not set
+# CONFIG_DVB_AF9013 is not set
+# CONFIG_DAB is not set
+
+#
+# Graphics support
+#
+# CONFIG_VGASTATE is not set
+# CONFIG_VIDEO_OUTPUT_CONTROL is not set
+CONFIG_FB=y
+# CONFIG_FIRMWARE_EDID is not set
+# CONFIG_FB_DDC is not set
+# CONFIG_FB_BOOT_VESA_SUPPORT is not set
+CONFIG_FB_CFB_FILLRECT=y
+CONFIG_FB_CFB_COPYAREA=y
+CONFIG_FB_CFB_IMAGEBLIT=y
+# CONFIG_FB_CFB_REV_PIXELS_IN_BYTE is not set
+# CONFIG_FB_SYS_FILLRECT is not set
+# CONFIG_FB_SYS_COPYAREA is not set
+# CONFIG_FB_SYS_IMAGEBLIT is not set
+# CONFIG_FB_FOREIGN_ENDIAN is not set
+# CONFIG_FB_SYS_FOPS is not set
+# CONFIG_FB_SVGALIB is not set
+# CONFIG_FB_MACMODES is not set
+# CONFIG_FB_BACKLIGHT is not set
+# CONFIG_FB_MODE_HELPERS is not set
+# CONFIG_FB_TILEBLITTING is not set
+
+#
+# Frame buffer hardware drivers
+#
+# CONFIG_FB_S1D13XXX is not set
+# CONFIG_FB_VIRTUAL is not set
+# CONFIG_FB_METRONOME is not set
+# CONFIG_FB_MB862XX is not set
+# CONFIG_FB_OMAP_BOOTLOADER_INIT is not set
+CONFIG_OMAP2_DSS=y
+CONFIG_OMAP2_DSS_VRAM_SIZE=10
+CONFIG_OMAP2_DSS_DEBUG_SUPPORT=y
+# CONFIG_OMAP2_DSS_RFBI is not set
+CONFIG_OMAP2_DSS_VENC=y
+# CONFIG_OMAP2_DSS_SDI is not set
+CONFIG_OMAP2_DSS_DSI=y
+CONFIG_OMAP2_DSS_USE_DSI_PLL=y
+# CONFIG_OMAP2_DSS_FAKE_VSYNC is not set
+CONFIG_OMAP2_DSS_MIN_FCK_PER_PCK=0
+
+#
+# OMAP2/3 Display Device Drivers
+#
+CONFIG_PANEL_GENERIC=y
+CONFIG_PANEL_SAMSUNG_LTE430WQ_F0C=y
+# CONFIG_PANEL_SHARP_LS037V7DW01 is not set
+# CONFIG_PANEL_N800 is not set
+# CONFIG_CTRL_BLIZZARD is not set
+CONFIG_FB_OMAP2=y
+CONFIG_FB_OMAP2_DEBUG_SUPPORT=y
+# CONFIG_FB_OMAP2_FORCE_AUTO_UPDATE is not set
+CONFIG_FB_OMAP2_NUM_FBS=3
+CONFIG_BACKLIGHT_LCD_SUPPORT=y
+CONFIG_LCD_CLASS_DEVICE=y
+# CONFIG_LCD_LTV350QV is not set
+# CONFIG_LCD_ILI9320 is not set
+# CONFIG_LCD_TDO24M is not set
+# CONFIG_LCD_VGG2432A4 is not set
+CONFIG_LCD_PLATFORM=y
+CONFIG_BACKLIGHT_CLASS_DEVICE=y
+CONFIG_BACKLIGHT_GENERIC=y
+
+#
+# Display device support
+#
+CONFIG_DISPLAY_SUPPORT=y
+
+#
+# Display hardware drivers
+#
+
+#
+# Console display driver support
+#
+# CONFIG_VGA_CONSOLE is not set
+CONFIG_DUMMY_CONSOLE=y
+CONFIG_FRAMEBUFFER_CONSOLE=y
+# CONFIG_FRAMEBUFFER_CONSOLE_DETECT_PRIMARY is not set
+CONFIG_FRAMEBUFFER_CONSOLE_ROTATION=y
+CONFIG_FONTS=y
+# CONFIG_FONT_8x8 is not set
+CONFIG_FONT_8x16=y
+# CONFIG_FONT_6x11 is not set
+# CONFIG_FONT_7x14 is not set
+# CONFIG_FONT_PEARL_8x8 is not set
+# CONFIG_FONT_ACORN_8x8 is not set
+CONFIG_FONT_MINI_4x6=y
+# CONFIG_FONT_SUN8x16 is not set
+# CONFIG_FONT_SUN12x22 is not set
+# CONFIG_FONT_10x18 is not set
+# CONFIG_LOGO is not set
+CONFIG_SOUND=y
+CONFIG_SOUND_OSS_CORE=y
+CONFIG_SND=y
+CONFIG_SND_TIMER=y
+CONFIG_SND_PCM=y
+CONFIG_SND_HWDEP=y
+CONFIG_SND_RAWMIDI=y
+# CONFIG_SND_SEQUENCER is not set
+CONFIG_SND_OSSEMUL=y
+CONFIG_SND_MIXER_OSS=m
+CONFIG_SND_PCM_OSS=m
+CONFIG_SND_PCM_OSS_PLUGINS=y
+CONFIG_SND_HRTIMER=m
+# CONFIG_SND_DYNAMIC_MINORS is not set
+CONFIG_SND_SUPPORT_OLD_API=y
+CONFIG_SND_VERBOSE_PROCFS=y
+CONFIG_SND_VERBOSE_PRINTK=y
+CONFIG_SND_DEBUG=y
+# CONFIG_SND_DEBUG_VERBOSE is not set
+# CONFIG_SND_PCM_XRUN_DEBUG is not set
+# CONFIG_SND_DRIVERS is not set
+# CONFIG_SND_ARM is not set
+# CONFIG_SND_SPI is not set
+CONFIG_SND_USB=y
+CONFIG_SND_USB_AUDIO=y
+CONFIG_SND_USB_CAIAQ=m
+CONFIG_SND_USB_CAIAQ_INPUT=y
+CONFIG_SND_SOC=y
+CONFIG_SND_OMAP_SOC=y
+CONFIG_SND_OMAP_SOC_MCBSP=y
+CONFIG_SND_OMAP_SOC_OVERO=y
+CONFIG_SND_SOC_I2C_AND_SPI=y
+# CONFIG_SND_SOC_ALL_CODECS is not set
+CONFIG_SND_SOC_TWL4030=y
+# CONFIG_SOUND_PRIME is not set
+CONFIG_HID_SUPPORT=y
+CONFIG_HID=y
+CONFIG_HID_DEBUG=y
+# CONFIG_HIDRAW is not set
+
+#
+# USB Input Devices
+#
+CONFIG_USB_HID=y
+# CONFIG_HID_PID is not set
+# CONFIG_USB_HIDDEV is not set
+
+#
+# Special HID drivers
+#
+CONFIG_HID_COMPAT=y
+CONFIG_HID_A4TECH=y
+CONFIG_HID_APPLE=y
+CONFIG_HID_BELKIN=y
+CONFIG_HID_CHERRY=y
+CONFIG_HID_CHICONY=y
+CONFIG_HID_CYPRESS=y
+CONFIG_HID_EZKEY=y
+CONFIG_HID_GYRATION=y
+CONFIG_HID_LOGITECH=y
+# CONFIG_LOGITECH_FF is not set
+# CONFIG_LOGIRUMBLEPAD2_FF is not set
+CONFIG_HID_MICROSOFT=y
+CONFIG_HID_MONTEREY=y
+# CONFIG_HID_NTRIG is not set
+CONFIG_HID_PANTHERLORD=y
+# CONFIG_PANTHERLORD_FF is not set
+CONFIG_HID_PETALYNX=y
+CONFIG_HID_SAMSUNG=y
+CONFIG_HID_SONY=y
+CONFIG_HID_SUNPLUS=y
+# CONFIG_GREENASIA_FF is not set
+# CONFIG_HID_TOPSEED is not set
+# CONFIG_THRUSTMASTER_FF is not set
+# CONFIG_ZEROPLUS_FF is not set
+CONFIG_USB_SUPPORT=y
+CONFIG_USB_ARCH_HAS_HCD=y
+CONFIG_USB_ARCH_HAS_OHCI=y
+CONFIG_USB_ARCH_HAS_EHCI=y
+CONFIG_USB=y
+CONFIG_USB_DEBUG=y
+CONFIG_USB_ANNOUNCE_NEW_DEVICES=y
+
+#
+# Miscellaneous USB options
+#
+CONFIG_USB_DEVICEFS=y
+CONFIG_USB_DEVICE_CLASS=y
+# CONFIG_USB_DYNAMIC_MINORS is not set
+CONFIG_USB_SUSPEND=y
+# CONFIG_USB_OTG is not set
+# CONFIG_USB_OTG_WHITELIST is not set
+# CONFIG_USB_OTG_BLACKLIST_HUB is not set
+CONFIG_USB_MON=y
+# CONFIG_USB_WUSB is not set
+# CONFIG_USB_WUSB_CBAF is not set
+
+#
+# USB Host Controller Drivers
+#
+# CONFIG_USB_C67X00_HCD is not set
+CONFIG_USB_EHCI_HCD=y
+CONFIG_OMAP_EHCI_PHY_MODE=y
+# CONFIG_OMAP_EHCI_TLL_MODE is not set
+CONFIG_USB_EHCI_ROOT_HUB_TT=y
+# CONFIG_USB_EHCI_TT_NEWSCHED is not set
+# CONFIG_USB_OXU210HP_HCD is not set
+# CONFIG_USB_ISP116X_HCD is not set
+# CONFIG_USB_OHCI_HCD is not set
+# CONFIG_USB_SL811_HCD is not set
+# CONFIG_USB_R8A66597_HCD is not set
+# CONFIG_USB_HWA_HCD is not set
+CONFIG_USB_MUSB_HDRC=y
+CONFIG_USB_MUSB_SOC=y
+
+#
+# OMAP 343x high speed USB support
+#
+CONFIG_USB_MUSB_HOST=y
+# CONFIG_USB_MUSB_PERIPHERAL is not set
+# CONFIG_USB_MUSB_OTG is not set
+# CONFIG_USB_GADGET_MUSB_HDRC is not set
+CONFIG_USB_MUSB_HDRC_HCD=y
+# CONFIG_MUSB_PIO_ONLY is not set
+CONFIG_USB_INVENTRA_DMA=y
+# CONFIG_USB_TI_CPPI_DMA is not set
+CONFIG_USB_MUSB_DEBUG=y
+
+#
+# USB Device Class drivers
+#
+CONFIG_USB_ACM=m
+CONFIG_USB_PRINTER=m
+CONFIG_USB_WDM=y
+# CONFIG_USB_TMC is not set
+
+#
+# NOTE: USB_STORAGE depends on SCSI but BLK_DEV_SD may also be needed;
+#
+
+#
+# see USB_STORAGE Help for more information
+#
+CONFIG_USB_STORAGE=y
+# CONFIG_USB_STORAGE_DEBUG is not set
+# CONFIG_USB_STORAGE_DATAFAB is not set
+# CONFIG_USB_STORAGE_FREECOM is not set
+# CONFIG_USB_STORAGE_ISD200 is not set
+# CONFIG_USB_STORAGE_USBAT is not set
+# CONFIG_USB_STORAGE_SDDR09 is not set
+# CONFIG_USB_STORAGE_SDDR55 is not set
+# CONFIG_USB_STORAGE_JUMPSHOT is not set
+# CONFIG_USB_STORAGE_ALAUDA is not set
+# CONFIG_USB_STORAGE_ONETOUCH is not set
+# CONFIG_USB_STORAGE_KARMA is not set
+# CONFIG_USB_STORAGE_CYPRESS_ATACB is not set
+# CONFIG_USB_LIBUSUAL is not set
+
+#
+# USB Imaging devices
+#
+# CONFIG_USB_MDC800 is not set
+# CONFIG_USB_MICROTEK is not set
+
+#
+# USB port drivers
+#
+CONFIG_USB_SERIAL=m
+CONFIG_USB_EZUSB=y
+CONFIG_USB_SERIAL_GENERIC=y
+# CONFIG_USB_SERIAL_AIRCABLE is not set
+# CONFIG_USB_SERIAL_ARK3116 is not set
+# CONFIG_USB_SERIAL_BELKIN is not set
+# CONFIG_USB_SERIAL_CH341 is not set
+# CONFIG_USB_SERIAL_WHITEHEAT is not set
+# CONFIG_USB_SERIAL_DIGI_ACCELEPORT is not set
+# CONFIG_USB_SERIAL_CP2101 is not set
+# CONFIG_USB_SERIAL_CYPRESS_M8 is not set
+# CONFIG_USB_SERIAL_EMPEG is not set
+CONFIG_USB_SERIAL_FTDI_SIO=m
+# CONFIG_USB_SERIAL_FUNSOFT is not set
+# CONFIG_USB_SERIAL_VISOR is not set
+# CONFIG_USB_SERIAL_IPAQ is not set
+# CONFIG_USB_SERIAL_IR is not set
+# CONFIG_USB_SERIAL_EDGEPORT is not set
+# CONFIG_USB_SERIAL_EDGEPORT_TI is not set
+# CONFIG_USB_SERIAL_GARMIN is not set
+# CONFIG_USB_SERIAL_IPW is not set
+# CONFIG_USB_SERIAL_IUU is not set
+CONFIG_USB_SERIAL_KEYSPAN_PDA=m
+# CONFIG_USB_SERIAL_KEYSPAN is not set
+# CONFIG_USB_SERIAL_KLSI is not set
+# CONFIG_USB_SERIAL_KOBIL_SCT is not set
+# CONFIG_USB_SERIAL_MCT_U232 is not set
+# CONFIG_USB_SERIAL_MOS7720 is not set
+# CONFIG_USB_SERIAL_MOS7840 is not set
+# CONFIG_USB_SERIAL_MOTOROLA is not set
+# CONFIG_USB_SERIAL_NAVMAN is not set
+# CONFIG_USB_SERIAL_PL2303 is not set
+# CONFIG_USB_SERIAL_OTI6858 is not set
+# CONFIG_USB_SERIAL_SPCP8X5 is not set
+# CONFIG_USB_SERIAL_HP4X is not set
+# CONFIG_USB_SERIAL_SAFE is not set
+# CONFIG_USB_SERIAL_SIEMENS_MPI is not set
+# CONFIG_USB_SERIAL_SIERRAWIRELESS is not set
+# CONFIG_USB_SERIAL_TI is not set
+# CONFIG_USB_SERIAL_CYBERJACK is not set
+# CONFIG_USB_SERIAL_XIRCOM is not set
+CONFIG_USB_SERIAL_OPTION=m
+# CONFIG_USB_SERIAL_OMNINET is not set
+# CONFIG_USB_SERIAL_OPTICON is not set
+# CONFIG_USB_SERIAL_DEBUG is not set
+
+#
+# USB Miscellaneous drivers
+#
+CONFIG_USB_EMI62=m
+CONFIG_USB_EMI26=m
+# CONFIG_USB_ADUTUX is not set
+# CONFIG_USB_SEVSEG is not set
+# CONFIG_USB_RIO500 is not set
+CONFIG_USB_LEGOTOWER=m
+CONFIG_USB_LCD=m
+# CONFIG_USB_BERRY_CHARGE is not set
+CONFIG_USB_LED=m
+# CONFIG_USB_CYPRESS_CY7C63 is not set
+# CONFIG_USB_CYTHERM is not set
+# CONFIG_USB_PHIDGET is not set
+# CONFIG_USB_IDMOUSE is not set
+# CONFIG_USB_FTDI_ELAN is not set
+# CONFIG_USB_APPLEDISPLAY is not set
+CONFIG_USB_SISUSBVGA=m
+CONFIG_USB_SISUSBVGA_CON=y
+# CONFIG_USB_LD is not set
+# CONFIG_USB_TRANCEVIBRATOR is not set
+# CONFIG_USB_IOWARRIOR is not set
+# CONFIG_USB_TEST is not set
+# CONFIG_USB_ISIGHTFW is not set
+# CONFIG_USB_VST is not set
+CONFIG_USB_GADGET=y
+# CONFIG_USB_GADGET_DEBUG is not set
+# CONFIG_USB_GADGET_DEBUG_FILES is not set
+# CONFIG_USB_GADGET_DEBUG_FS is not set
+CONFIG_USB_GADGET_VBUS_DRAW=2
+CONFIG_USB_GADGET_SELECTED=y
+# CONFIG_USB_GADGET_AT91 is not set
+# CONFIG_USB_GADGET_ATMEL_USBA is not set
+# CONFIG_USB_GADGET_FSL_USB2 is not set
+# CONFIG_USB_GADGET_LH7A40X is not set
+CONFIG_USB_GADGET_OMAP=y
+CONFIG_USB_OMAP=y
+# CONFIG_USB_GADGET_PXA25X is not set
+# CONFIG_USB_GADGET_PXA27X is not set
+# CONFIG_USB_GADGET_S3C2410 is not set
+# CONFIG_USB_GADGET_IMX is not set
+# CONFIG_USB_GADGET_M66592 is not set
+# CONFIG_USB_GADGET_AMD5536UDC is not set
+# CONFIG_USB_GADGET_FSL_QE is not set
+# CONFIG_USB_GADGET_CI13XXX is not set
+# CONFIG_USB_GADGET_NET2280 is not set
+# CONFIG_USB_GADGET_GOKU is not set
+# CONFIG_USB_GADGET_DUMMY_HCD is not set
+# CONFIG_USB_GADGET_DUALSPEED is not set
+# CONFIG_USB_ZERO is not set
+CONFIG_USB_ETH=m
+CONFIG_USB_ETH_RNDIS=y
+# CONFIG_USB_GADGETFS is not set
+CONFIG_USB_FILE_STORAGE=m
+# CONFIG_USB_FILE_STORAGE_TEST is not set
+CONFIG_USB_G_SERIAL=m
+# CONFIG_USB_MIDI_GADGET is not set
+CONFIG_USB_G_PRINTER=m
+CONFIG_USB_CDC_COMPOSITE=m
+
+#
+# OTG and related infrastructure
+#
+CONFIG_USB_OTG_UTILS=y
+# CONFIG_USB_GPIO_VBUS is not set
+# CONFIG_ISP1301_OMAP is not set
+CONFIG_TWL4030_USB=y
+CONFIG_MMC=y
+# CONFIG_MMC_DEBUG is not set
+# CONFIG_MMC_UNSAFE_RESUME is not set
+
+#
+# MMC/SD/SDIO Card Drivers
+#
+CONFIG_MMC_BLOCK=y
+CONFIG_MMC_BLOCK_BOUNCE=y
+CONFIG_SDIO_UART=y
+# CONFIG_MMC_TEST is not set
+
+#
+# MMC/SD/SDIO Host Controller Drivers
+#
+# CONFIG_MMC_SDHCI is not set
+CONFIG_MMC_OMAP_HS=y
+# CONFIG_MMC_SPI is not set
+# CONFIG_MEMSTICK is not set
+# CONFIG_ACCESSIBILITY is not set
+CONFIG_NEW_LEDS=y
+CONFIG_LEDS_CLASS=y
+
+#
+# LED drivers
+#
+# CONFIG_LEDS_OMAP_DEBUG is not set
+# CONFIG_LEDS_OMAP is not set
+# CONFIG_LEDS_OMAP_PWM is not set
+# CONFIG_LEDS_PCA9532 is not set
+CONFIG_LEDS_GPIO=y
+# CONFIG_LEDS_LP5521 is not set
+# CONFIG_LEDS_PCA955X is not set
+
+#
+# LED Triggers
+#
+CONFIG_LEDS_TRIGGERS=y
+CONFIG_LEDS_TRIGGER_TIMER=y
+CONFIG_LEDS_TRIGGER_HEARTBEAT=y
+# CONFIG_LEDS_TRIGGER_BACKLIGHT is not set
+# CONFIG_LEDS_TRIGGER_DEFAULT_ON is not set
+CONFIG_RTC_LIB=y
+CONFIG_RTC_CLASS=y
+CONFIG_RTC_HCTOSYS=y
+CONFIG_RTC_HCTOSYS_DEVICE="rtc0"
+# CONFIG_RTC_DEBUG is not set
+
+#
+# RTC interfaces
+#
+CONFIG_RTC_INTF_SYSFS=y
+CONFIG_RTC_INTF_PROC=y
+CONFIG_RTC_INTF_DEV=y
+# CONFIG_RTC_INTF_DEV_UIE_EMUL is not set
+# CONFIG_RTC_DRV_TEST is not set
+
+#
+# I2C RTC drivers
+#
+# CONFIG_RTC_DRV_DS1307 is not set
+# CONFIG_RTC_DRV_DS1374 is not set
+# CONFIG_RTC_DRV_DS1672 is not set
+# CONFIG_RTC_DRV_MAX6900 is not set
+# CONFIG_RTC_DRV_RS5C372 is not set
+# CONFIG_RTC_DRV_ISL1208 is not set
+# CONFIG_RTC_DRV_X1205 is not set
+# CONFIG_RTC_DRV_PCF8563 is not set
+# CONFIG_RTC_DRV_PCF8583 is not set
+# CONFIG_RTC_DRV_M41T80 is not set
+CONFIG_RTC_DRV_TWL4030=y
+# CONFIG_RTC_DRV_S35390A is not set
+# CONFIG_RTC_DRV_FM3130 is not set
+# CONFIG_RTC_DRV_RX8581 is not set
+
+#
+# SPI RTC drivers
+#
+# CONFIG_RTC_DRV_M41T94 is not set
+# CONFIG_RTC_DRV_DS1305 is not set
+# CONFIG_RTC_DRV_DS1390 is not set
+# CONFIG_RTC_DRV_MAX6902 is not set
+# CONFIG_RTC_DRV_R9701 is not set
+# CONFIG_RTC_DRV_RS5C348 is not set
+# CONFIG_RTC_DRV_DS3234 is not set
+
+#
+# Platform RTC drivers
+#
+# CONFIG_RTC_DRV_CMOS is not set
+# CONFIG_RTC_DRV_DS1286 is not set
+# CONFIG_RTC_DRV_DS1511 is not set
+# CONFIG_RTC_DRV_DS1553 is not set
+# CONFIG_RTC_DRV_DS1742 is not set
+# CONFIG_RTC_DRV_STK17TA8 is not set
+# CONFIG_RTC_DRV_M48T86 is not set
+# CONFIG_RTC_DRV_M48T35 is not set
+# CONFIG_RTC_DRV_M48T59 is not set
+# CONFIG_RTC_DRV_BQ4802 is not set
+# CONFIG_RTC_DRV_V3020 is not set
+
+#
+# on-CPU RTC drivers
+#
+# CONFIG_DMADEVICES is not set
+CONFIG_REGULATOR=y
+CONFIG_REGULATOR_DEBUG=y
+# CONFIG_REGULATOR_FIXED_VOLTAGE is not set
+# CONFIG_REGULATOR_VIRTUAL_CONSUMER is not set
+# CONFIG_REGULATOR_BQ24022 is not set
+CONFIG_REGULATOR_TWL4030=y
+# CONFIG_UIO is not set
+# CONFIG_STAGING is not set
+
+#
+# CBUS support
+#
+# CONFIG_CBUS is not set
+
+#
+# File systems
+#
+CONFIG_EXT2_FS=y
+# CONFIG_EXT2_FS_XATTR is not set
+# CONFIG_EXT2_FS_XIP is not set
+CONFIG_EXT3_FS=y
+# CONFIG_EXT3_FS_XATTR is not set
+# CONFIG_EXT4_FS is not set
+CONFIG_JBD=y
+# CONFIG_JBD_DEBUG is not set
+# CONFIG_REISERFS_FS is not set
+# CONFIG_JFS_FS is not set
+CONFIG_FS_POSIX_ACL=y
+CONFIG_FILE_LOCKING=y
+# CONFIG_XFS_FS is not set
+# CONFIG_GFS2_FS is not set
+# CONFIG_OCFS2_FS is not set
+# CONFIG_BTRFS_FS is not set
+CONFIG_DNOTIFY=y
+CONFIG_INOTIFY=y
+CONFIG_INOTIFY_USER=y
+CONFIG_QUOTA=y
+# CONFIG_QUOTA_NETLINK_INTERFACE is not set
+CONFIG_PRINT_QUOTA_WARNING=y
+CONFIG_QUOTA_TREE=y
+# CONFIG_QFMT_V1 is not set
+CONFIG_QFMT_V2=y
+CONFIG_QUOTACTL=y
+# CONFIG_AUTOFS_FS is not set
+# CONFIG_AUTOFS4_FS is not set
+CONFIG_FUSE_FS=m
+
+#
+# CD-ROM/DVD Filesystems
+#
+CONFIG_ISO9660_FS=m
+CONFIG_JOLIET=y
+CONFIG_ZISOFS=y
+CONFIG_UDF_FS=m
+CONFIG_UDF_NLS=y
+
+#
+# DOS/FAT/NT Filesystems
+#
+CONFIG_FAT_FS=y
+CONFIG_MSDOS_FS=y
+CONFIG_VFAT_FS=y
+CONFIG_FAT_DEFAULT_CODEPAGE=437
+CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1"
+# CONFIG_NTFS_FS is not set
+
+#
+# Pseudo filesystems
+#
+CONFIG_PROC_FS=y
+CONFIG_PROC_SYSCTL=y
+CONFIG_PROC_PAGE_MONITOR=y
+CONFIG_SYSFS=y
+CONFIG_TMPFS=y
+# CONFIG_TMPFS_POSIX_ACL is not set
+# CONFIG_HUGETLB_PAGE is not set
+# CONFIG_CONFIGFS_FS is not set
+CONFIG_MISC_FILESYSTEMS=y
+# CONFIG_ADFS_FS is not set
+# CONFIG_AFFS_FS is not set
+# CONFIG_HFS_FS is not set
+# CONFIG_HFSPLUS_FS is not set
+# CONFIG_BEFS_FS is not set
+# CONFIG_BFS_FS is not set
+# CONFIG_EFS_FS is not set
+CONFIG_JFFS2_FS=y
+CONFIG_JFFS2_FS_DEBUG=0
+CONFIG_JFFS2_FS_WRITEBUFFER=y
+# CONFIG_JFFS2_FS_WBUF_VERIFY is not set
+CONFIG_JFFS2_SUMMARY=y
+CONFIG_JFFS2_FS_XATTR=y
+CONFIG_JFFS2_FS_POSIX_ACL=y
+CONFIG_JFFS2_FS_SECURITY=y
+CONFIG_JFFS2_COMPRESSION_OPTIONS=y
+CONFIG_JFFS2_ZLIB=y
+CONFIG_JFFS2_LZO=y
+CONFIG_JFFS2_RTIME=y
+CONFIG_JFFS2_RUBIN=y
+# CONFIG_JFFS2_CMODE_NONE is not set
+CONFIG_JFFS2_CMODE_PRIORITY=y
+# CONFIG_JFFS2_CMODE_SIZE is not set
+# CONFIG_JFFS2_CMODE_FAVOURLZO is not set
+CONFIG_UBIFS_FS=y
+# CONFIG_UBIFS_FS_XATTR is not set
+# CONFIG_UBIFS_FS_ADVANCED_COMPR is not set
+CONFIG_UBIFS_FS_LZO=y
+CONFIG_UBIFS_FS_ZLIB=y
+# CONFIG_UBIFS_FS_DEBUG is not set
+# CONFIG_CRAMFS is not set
+# CONFIG_SQUASHFS is not set
+# CONFIG_VXFS_FS is not set
+# CONFIG_MINIX_FS is not set
+# CONFIG_OMFS_FS is not set
+# CONFIG_HPFS_FS is not set
+# CONFIG_QNX4FS_FS is not set
+# CONFIG_ROMFS_FS is not set
+# CONFIG_SYSV_FS is not set
+# CONFIG_UFS_FS is not set
+CONFIG_NETWORK_FILESYSTEMS=y
+CONFIG_NFS_FS=y
+CONFIG_NFS_V3=y
+# CONFIG_NFS_V3_ACL is not set
+CONFIG_NFS_V4=y
+CONFIG_ROOT_NFS=y
+# CONFIG_NFSD is not set
+CONFIG_LOCKD=y
+CONFIG_LOCKD_V4=y
+CONFIG_NFS_COMMON=y
+CONFIG_SUNRPC=y
+CONFIG_SUNRPC_GSS=y
+# CONFIG_SUNRPC_REGISTER_V4 is not set
+CONFIG_RPCSEC_GSS_KRB5=y
+# CONFIG_RPCSEC_GSS_SPKM3 is not set
+# CONFIG_SMB_FS is not set
+# CONFIG_CIFS is not set
+# CONFIG_NCP_FS is not set
+# CONFIG_CODA_FS is not set
+# CONFIG_AFS_FS is not set
+
+#
+# Partition Types
+#
+CONFIG_PARTITION_ADVANCED=y
+# CONFIG_ACORN_PARTITION is not set
+# CONFIG_OSF_PARTITION is not set
+# CONFIG_AMIGA_PARTITION is not set
+# CONFIG_ATARI_PARTITION is not set
+# CONFIG_MAC_PARTITION is not set
+CONFIG_MSDOS_PARTITION=y
+# CONFIG_BSD_DISKLABEL is not set
+# CONFIG_MINIX_SUBPARTITION is not set
+# CONFIG_SOLARIS_X86_PARTITION is not set
+# CONFIG_UNIXWARE_DISKLABEL is not set
+# CONFIG_LDM_PARTITION is not set
+# CONFIG_SGI_PARTITION is not set
+# CONFIG_ULTRIX_PARTITION is not set
+# CONFIG_SUN_PARTITION is not set
+# CONFIG_KARMA_PARTITION is not set
+# CONFIG_EFI_PARTITION is not set
+# CONFIG_SYSV68_PARTITION is not set
+CONFIG_NLS=y
+CONFIG_NLS_DEFAULT="iso8859-1"
+CONFIG_NLS_CODEPAGE_437=y
+# CONFIG_NLS_CODEPAGE_737 is not set
+# CONFIG_NLS_CODEPAGE_775 is not set
+# CONFIG_NLS_CODEPAGE_850 is not set
+# CONFIG_NLS_CODEPAGE_852 is not set
+# CONFIG_NLS_CODEPAGE_855 is not set
+# CONFIG_NLS_CODEPAGE_857 is not set
+# CONFIG_NLS_CODEPAGE_860 is not set
+# CONFIG_NLS_CODEPAGE_861 is not set
+# CONFIG_NLS_CODEPAGE_862 is not set
+# CONFIG_NLS_CODEPAGE_863 is not set
+# CONFIG_NLS_CODEPAGE_864 is not set
+# CONFIG_NLS_CODEPAGE_865 is not set
+# CONFIG_NLS_CODEPAGE_866 is not set
+# CONFIG_NLS_CODEPAGE_869 is not set
+# CONFIG_NLS_CODEPAGE_936 is not set
+# CONFIG_NLS_CODEPAGE_950 is not set
+# CONFIG_NLS_CODEPAGE_932 is not set
+# CONFIG_NLS_CODEPAGE_949 is not set
+# CONFIG_NLS_CODEPAGE_874 is not set
+# CONFIG_NLS_ISO8859_8 is not set
+# CONFIG_NLS_CODEPAGE_1250 is not set
+# CONFIG_NLS_CODEPAGE_1251 is not set
+# CONFIG_NLS_ASCII is not set
+CONFIG_NLS_ISO8859_1=y
+# CONFIG_NLS_ISO8859_2 is not set
+# CONFIG_NLS_ISO8859_3 is not set
+# CONFIG_NLS_ISO8859_4 is not set
+# CONFIG_NLS_ISO8859_5 is not set
+# CONFIG_NLS_ISO8859_6 is not set
+# CONFIG_NLS_ISO8859_7 is not set
+# CONFIG_NLS_ISO8859_9 is not set
+# CONFIG_NLS_ISO8859_13 is not set
+# CONFIG_NLS_ISO8859_14 is not set
+# CONFIG_NLS_ISO8859_15 is not set
+# CONFIG_NLS_KOI8_R is not set
+# CONFIG_NLS_KOI8_U is not set
+# CONFIG_NLS_UTF8 is not set
+# CONFIG_DLM is not set
+
+#
+# Kernel hacking
+#
+# CONFIG_PRINTK_TIME is not set
+CONFIG_ENABLE_WARN_DEPRECATED=y
+CONFIG_ENABLE_MUST_CHECK=y
+CONFIG_FRAME_WARN=1024
+CONFIG_MAGIC_SYSRQ=y
+# CONFIG_UNUSED_SYMBOLS is not set
+CONFIG_DEBUG_FS=y
+# CONFIG_HEADERS_CHECK is not set
+CONFIG_DEBUG_KERNEL=y
+# CONFIG_DEBUG_SHIRQ is not set
+CONFIG_DETECT_SOFTLOCKUP=y
+# CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC is not set
+CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC_VALUE=0
+CONFIG_SCHED_DEBUG=y
+CONFIG_SCHEDSTATS=y
+CONFIG_TIMER_STATS=y
+# CONFIG_DEBUG_OBJECTS is not set
+# CONFIG_DEBUG_SLAB is not set
+# CONFIG_DEBUG_RT_MUTEXES is not set
+# CONFIG_RT_MUTEX_TESTER is not set
+# CONFIG_DEBUG_SPINLOCK is not set
+CONFIG_DEBUG_MUTEXES=y
+# CONFIG_DEBUG_LOCK_ALLOC is not set
+# CONFIG_PROVE_LOCKING is not set
+# CONFIG_LOCK_STAT is not set
+# CONFIG_DEBUG_SPINLOCK_SLEEP is not set
+# CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set
+CONFIG_STACKTRACE=y
+# CONFIG_DEBUG_KOBJECT is not set
+# CONFIG_DEBUG_BUGVERBOSE is not set
+CONFIG_DEBUG_INFO=y
+# CONFIG_DEBUG_VM is not set
+# CONFIG_DEBUG_WRITECOUNT is not set
+# CONFIG_DEBUG_MEMORY_INIT is not set
+# CONFIG_DEBUG_LIST is not set
+# CONFIG_DEBUG_SG is not set
+# CONFIG_DEBUG_NOTIFIERS is not set
+CONFIG_FRAME_POINTER=y
+# CONFIG_BOOT_PRINTK_DELAY is not set
+# CONFIG_RCU_TORTURE_TEST is not set
+# CONFIG_RCU_CPU_STALL_DETECTOR is not set
+# CONFIG_BACKTRACE_SELF_TEST is not set
+# CONFIG_DEBUG_BLOCK_EXT_DEVT is not set
+# CONFIG_FAULT_INJECTION is not set
+# CONFIG_LATENCYTOP is not set
+CONFIG_NOP_TRACER=y
+CONFIG_HAVE_FUNCTION_TRACER=y
+CONFIG_RING_BUFFER=y
+CONFIG_TRACING=y
+
+#
+# Tracers
+#
+# CONFIG_FUNCTION_TRACER is not set
+# CONFIG_IRQSOFF_TRACER is not set
+# CONFIG_SCHED_TRACER is not set
+# CONFIG_CONTEXT_SWITCH_TRACER is not set
+# CONFIG_BOOT_TRACER is not set
+# CONFIG_TRACE_BRANCH_PROFILING is not set
+# CONFIG_STACK_TRACER is not set
+# CONFIG_FTRACE_STARTUP_TEST is not set
+# CONFIG_DYNAMIC_PRINTK_DEBUG is not set
+# CONFIG_SAMPLES is not set
+CONFIG_HAVE_ARCH_KGDB=y
+# CONFIG_KGDB is not set
+# CONFIG_DEBUG_USER is not set
+# CONFIG_DEBUG_ERRORS is not set
+# CONFIG_DEBUG_STACK_USAGE is not set
+# CONFIG_DEBUG_LL is not set
+
+#
+# Security options
+#
+# CONFIG_KEYS is not set
+# CONFIG_SECURITY is not set
+# CONFIG_SECURITYFS is not set
+# CONFIG_SECURITY_FILE_CAPABILITIES is not set
+CONFIG_XOR_BLOCKS=m
+CONFIG_ASYNC_CORE=m
+CONFIG_ASYNC_MEMCPY=m
+CONFIG_ASYNC_XOR=m
+CONFIG_CRYPTO=y
+
+#
+# Crypto core or helper
+#
+# CONFIG_CRYPTO_FIPS is not set
+CONFIG_CRYPTO_ALGAPI=y
+CONFIG_CRYPTO_ALGAPI2=y
+CONFIG_CRYPTO_AEAD2=y
+CONFIG_CRYPTO_BLKCIPHER=y
+CONFIG_CRYPTO_BLKCIPHER2=y
+CONFIG_CRYPTO_HASH=y
+CONFIG_CRYPTO_HASH2=y
+CONFIG_CRYPTO_RNG2=y
+CONFIG_CRYPTO_MANAGER=y
+CONFIG_CRYPTO_MANAGER2=y
+CONFIG_CRYPTO_GF128MUL=m
+CONFIG_CRYPTO_NULL=m
+CONFIG_CRYPTO_CRYPTD=m
+# CONFIG_CRYPTO_AUTHENC is not set
+CONFIG_CRYPTO_TEST=m
+
+#
+# Authenticated Encryption with Associated Data
+#
+# CONFIG_CRYPTO_CCM is not set
+# CONFIG_CRYPTO_GCM is not set
+# CONFIG_CRYPTO_SEQIV is not set
+
+#
+# Block modes
+#
+CONFIG_CRYPTO_CBC=y
+# CONFIG_CRYPTO_CTR is not set
+# CONFIG_CRYPTO_CTS is not set
+CONFIG_CRYPTO_ECB=y
+CONFIG_CRYPTO_LRW=m
+CONFIG_CRYPTO_PCBC=m
+# CONFIG_CRYPTO_XTS is not set
+
+#
+# Hash modes
+#
+CONFIG_CRYPTO_HMAC=m
+CONFIG_CRYPTO_XCBC=m
+
+#
+# Digest
+#
+CONFIG_CRYPTO_CRC32C=y
+CONFIG_CRYPTO_MD4=m
+CONFIG_CRYPTO_MD5=y
+CONFIG_CRYPTO_MICHAEL_MIC=y
+# CONFIG_CRYPTO_RMD128 is not set
+# CONFIG_CRYPTO_RMD160 is not set
+# CONFIG_CRYPTO_RMD256 is not set
+# CONFIG_CRYPTO_RMD320 is not set
+CONFIG_CRYPTO_SHA1=m
+CONFIG_CRYPTO_SHA256=m
+CONFIG_CRYPTO_SHA512=m
+CONFIG_CRYPTO_TGR192=m
+CONFIG_CRYPTO_WP512=m
+
+#
+# Ciphers
+#
+CONFIG_CRYPTO_AES=y
+CONFIG_CRYPTO_ANUBIS=m
+CONFIG_CRYPTO_ARC4=y
+CONFIG_CRYPTO_BLOWFISH=m
+CONFIG_CRYPTO_CAMELLIA=m
+CONFIG_CRYPTO_CAST5=m
+CONFIG_CRYPTO_CAST6=m
+CONFIG_CRYPTO_DES=y
+CONFIG_CRYPTO_FCRYPT=m
+CONFIG_CRYPTO_KHAZAD=m
+# CONFIG_CRYPTO_SALSA20 is not set
+# CONFIG_CRYPTO_SEED is not set
+CONFIG_CRYPTO_SERPENT=m
+CONFIG_CRYPTO_TEA=m
+CONFIG_CRYPTO_TWOFISH=m
+CONFIG_CRYPTO_TWOFISH_COMMON=m
+
+#
+# Compression
+#
+CONFIG_CRYPTO_DEFLATE=y
+CONFIG_CRYPTO_LZO=y
+
+#
+# Random Number Generation
+#
+# CONFIG_CRYPTO_ANSI_CPRNG is not set
+CONFIG_CRYPTO_HW=y
+
+#
+# Library routines
+#
+CONFIG_BITREVERSE=y
+CONFIG_GENERIC_FIND_LAST_BIT=y
+CONFIG_CRC_CCITT=y
+CONFIG_CRC16=y
+CONFIG_CRC_T10DIF=y
+CONFIG_CRC_ITU_T=y
+CONFIG_CRC32=y
+CONFIG_CRC7=y
+CONFIG_LIBCRC32C=y
+CONFIG_ZLIB_INFLATE=y
+CONFIG_ZLIB_DEFLATE=y
+CONFIG_LZO_COMPRESS=y
+CONFIG_LZO_DECOMPRESS=y
+CONFIG_PLIST=y
+CONFIG_HAS_IOMEM=y
+CONFIG_HAS_IOPORT=y
+CONFIG_HAS_DMA=y
diff --git a/recipes/linux/linux-omap-pm/0001-This-merges-Steve-Kipisz-USB-EHCI-support.-He-star.patch b/recipes/linux/linux-omap-pm/overo/ehci.patch
index d590f8ffb9..72c6b9bec3 100644
--- a/recipes/linux/linux-omap-pm/0001-This-merges-Steve-Kipisz-USB-EHCI-support.-He-star.patch
+++ b/recipes/linux/linux-omap-pm/overo/ehci.patch
@@ -1,44 +1,11 @@
-From f8f10f496bce396416d7156da876222c6ce8c341 Mon Sep 17 00:00:00 2001
-From: Steven Kipisz <skipisz@beagleboard.org>
-Date: Wed, 9 Jan 2009 12:01:11 -0600
-Subject: [PATCH-USB] Omap3 beagleboard: add support for EHCI in revision C1 boards
-
-Signed-off-by: Jason Kridner <jkridner@beagleboard.org>
----
- arch/arm/mach-omap2/board-omap3beagle.c | 10 +---------
- arch/arm/mach-omap2/usb-ehci.c | 4 +---
- drivers/usb/host/ehci-omap.c | 26 ++++++++++++++++++++++++++
- 3 files changed, 28 insertions(+), 12 deletions(-)
-
-diff --git a/arch/arm/mach-omap2/board-omap3beagle.c b/arch/arm/mach-omap2/board-omap3beagle.c
-index fe97bab..de81153 100644
---- a/arch/arm/mach-omap2/board-omap3beagle.c
-+++ b/arch/arm/mach-omap2/board-omap3beagle.c
-@@ -140,15 +140,7 @@ static int beagle_twl_gpio_setup(struct device *dev,
- * power switch and overcurrent detect
- */
-
-- gpio_request(gpio + 1, "EHCI_nOC");
-- gpio_direction_input(gpio + 1);
--
-- /* TWL4030_GPIO_MAX + 0 == ledA, EHCI nEN_USB_PWR (out, active low) */
-- gpio_request(gpio + TWL4030_GPIO_MAX, "nEN_USB_PWR");
-- gpio_direction_output(gpio + TWL4030_GPIO_MAX, 1);
--
-- /* TWL4030_GPIO_MAX + 1 == ledB, PMU_STAT (out, active low LED) */
-- gpio_leds[2].gpio = gpio + TWL4030_GPIO_MAX + 1;
-+ /* TODO: This needs to be modified to not rely on u-boot */
-
- return 0;
- }
diff --git a/arch/arm/mach-omap2/usb-ehci.c b/arch/arm/mach-omap2/usb-ehci.c
index 489439d..2c6305b 100644
--- a/arch/arm/mach-omap2/usb-ehci.c
+++ b/arch/arm/mach-omap2/usb-ehci.c
@@ -152,9 +152,7 @@ static void setup_ehci_io_mux(void)
+
void __init usb_ehci_init(void)
{
- #if defined(CONFIG_USB_EHCI_HCD) || defined(CONFIG_USB_EHCI_HCD_MODULE)
- /* Setup Pin IO MUX for EHCI */
- if (cpu_is_omap34xx())
- setup_ehci_io_mux();
@@ -55,8 +22,8 @@ index 1b3266c..8472996 100644
* to get the PHY state machine in working state
*/
#define EXTERNAL_PHY_RESET
-+#ifdef CONFIG_MACH_OMAP3_BEAGLE
-+#define EXT_PHY_RESET_GPIO_PORT2 (147)
++#ifdef CONFIG_MACH_OVERO
++#define EXT_PHY_RESET_GPIO_PORT2 (183)
+#else
#define EXT_PHY_RESET_GPIO_PORT1 (57)
#define EXT_PHY_RESET_GPIO_PORT2 (61)
@@ -72,7 +39,7 @@ index 1b3266c..8472996 100644
* Use the VBUS from Port1 to power VBUS of Port2 externally
* So use Port2 as the working ULPI port
*/
-+#ifndef CONFIG_MACH_OMAP3_BEAGLE
++#ifndef CONFIG_MACH_OVERO
#define VBUS_INTERNAL_CHARGEPUMP_HACK
+#endif
@@ -82,7 +49,7 @@ index 1b3266c..8472996 100644
#ifdef EXTERNAL_PHY_RESET
/* Refer: ISSUE1 */
-+#ifndef CONFIG_MACH_OMAP3_BEAGLE
++#ifndef CONFIG_MACH_OVERO
gpio_request(EXT_PHY_RESET_GPIO_PORT1, "USB1 PHY reset");
gpio_direction_output(EXT_PHY_RESET_GPIO_PORT1, 0);
+#endif
@@ -126,7 +93,7 @@ index 1b3266c..8472996 100644
* Hold the PHY in RESET for enough time till PHY is settled and ready
*/
udelay(EXT_PHY_RESET_DELAY);
-+#ifndef CONFIG_MACH_OMAP3_BEAGLE
++#ifndef CONFIG_MACH_OVERO
gpio_set_value(EXT_PHY_RESET_GPIO_PORT1, 1);
+#endif
gpio_set_value(EXT_PHY_RESET_GPIO_PORT2, 1);
@@ -136,7 +103,7 @@ index 1b3266c..8472996 100644
#ifdef EXTERNAL_PHY_RESET
-+#ifndef CONFIG_MACH_OMAP3_BEAGLE
++#ifndef CONFIG_MACH_OVERO
gpio_free(EXT_PHY_RESET_GPIO_PORT1);
+#endif
gpio_free(EXT_PHY_RESET_GPIO_PORT2);
diff --git a/recipes/linux/linux-omap-pm/strongly-ordered-memory.diff b/recipes/linux/linux-omap-pm/strongly-ordered-memory.diff
deleted file mode 100644
index b60e4f4a6b..0000000000
--- a/recipes/linux/linux-omap-pm/strongly-ordered-memory.diff
+++ /dev/null
@@ -1,18 +0,0 @@
---- /tmp/irq.c 2008-09-16 10:43:30.000000000 +0200
-+++ git/arch/arm/mach-omap2/irq.c 2008-09-16 10:46:18.463198000 +0200
-@@ -64,6 +64,7 @@
- static void omap_ack_irq(unsigned int irq)
- {
- intc_bank_write_reg(0x1, &irq_banks[0], INTC_CONTROL);
-+ intc_bank_read_reg(&irq_banks[0],INTC_REVISION);
- }
-
- static void omap_mask_irq(unsigned int irq)
-@@ -73,6 +74,7 @@
- irq &= (IRQ_BITS_PER_REG - 1);
-
- intc_bank_write_reg(1 << irq, &irq_banks[0], INTC_MIR_SET0 + offset);
-+ intc_bank_read_reg(&irq_banks[0],INTC_REVISION);
- }
-
- static void omap_unmask_irq(unsigned int irq)
diff --git a/recipes/linux/linux-omap-pm/tick-schedc-suppress-needless-timer-reprogramming.patch b/recipes/linux/linux-omap-pm/tick-schedc-suppress-needless-timer-reprogramming.patch
deleted file mode 100644
index c5cf4ef6ef..0000000000
--- a/recipes/linux/linux-omap-pm/tick-schedc-suppress-needless-timer-reprogramming.patch
+++ /dev/null
@@ -1,81 +0,0 @@
-From: "Woodruff, Richard" <r-woodruff2@ti.com>
-
-In my device I get many interrupts from a high speed USB device in a very
-short period of time. The system spends a lot of time reprogramming the
-hardware timer which is in a slower timing domain as compared to the CPU.
-This results in the CPU spending a huge amount of time waiting for the
-timer posting to be done. All of this reprogramming is useless as the
-wake up time has not changed.
-
-As measured using ETM trace this drops my reprogramming penalty from
-almost 60% CPU load down to 15% during high interrupt rate. I can send
-traces to show this.
-
-
-Suppress setting of duplicate timer event when timer already stopped.
-Timer programming can be very costly and can result in long cpu stall/wait
-times.
-
-[akpm@linux-foundation.org: coding-style fixes]
-Signed-off-by: Richard Woodruff <r-woodruff2@ti.com>
-Cc: Thomas Gleixner <tglx@linutronix.de>
-
-On Wed, 24 Sep 2008 18:31:29 +0200 (CEST) Thomas Gleixner <tglx@linutronix.de> wrote:
-
-> No, we only fall trrough into raise_softirq() when the reprogram code
-> detects that the event already expired. So you change the flow :)
->
-> It does also not deal with delta_jiffies >= NEXT_TIMER_MAX_DELTA :(
->
-> I have a closer look on that.
-
-Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
----
-
- kernel/time/tick-sched.c | 19 +++++++++++++------
- 1 file changed, 13 insertions(+), 6 deletions(-)
-
-diff -puN kernel/time/tick-sched.c~tick-schedc-suppress-needless-timer-reprogramming kernel/time/tick-sched.c
---- a/kernel/time/tick-sched.c~tick-schedc-suppress-needless-timer-reprogramming
-+++ a/kernel/time/tick-sched.c
-@@ -282,6 +282,17 @@ void tick_nohz_stop_sched_tick(int inidl
- /* Schedule the tick, if we are at least one jiffie off */
- if ((long)delta_jiffies >= 1) {
-
-+ /*
-+ * calculate the expiry time for the next timer wheel
-+ * timer
-+ */
-+ expires = ktime_add_ns(last_update, tick_period.tv64 *
-+ delta_jiffies);
-+
-+ /* Skip reprogram of event if its not changed */
-+ if (ts->tick_stopped && ktime_equal(expires, dev->next_event))
-+ goto out2;
-+
- if (delta_jiffies > 1)
- cpu_set(cpu, nohz_cpu_mask);
- /*
-@@ -332,12 +343,7 @@ void tick_nohz_stop_sched_tick(int inidl
- goto out;
- }
-
-- /*
-- * calculate the expiry time for the next timer wheel
-- * timer
-- */
-- expires = ktime_add_ns(last_update, tick_period.tv64 *
-- delta_jiffies);
-+ /* Mark expiries */
- ts->idle_expires = expires;
-
- if (ts->nohz_mode == NOHZ_MODE_HIGHRES) {
-@@ -356,6 +362,7 @@ void tick_nohz_stop_sched_tick(int inidl
- tick_do_update_jiffies64(ktime_get());
- cpu_clear(cpu, nohz_cpu_mask);
- }
-+out2:
- raise_softirq_irqoff(TIMER_SOFTIRQ);
- out:
- ts->next_jiffies = next_jiffies;
-_
diff --git a/recipes/linux/linux-omap-pm/timer-suppression.patch b/recipes/linux/linux-omap-pm/timer-suppression.patch
deleted file mode 100644
index 04362c96e3..0000000000
--- a/recipes/linux/linux-omap-pm/timer-suppression.patch
+++ /dev/null
@@ -1,43 +0,0 @@
-diff --git a/kernel/time/tick-sched.c b/kernel/time/tick-sched.c
-index b854a89..26f5569 100644
---- a/kernel/time/tick-sched.c
-+++ b/kernel/time/tick-sched.c
-@@ -253,6 +253,16 @@ void tick_nohz_stop_sched_tick(void)
-
- /* Schedule the tick, if we are at least one jiffie off */
- if ((long)delta_jiffies >= 1) {
-+ /*
-+ * calculate the expiry time for the next timer wheel
-+ * timer
-+ */
-+ expires = ktime_add_ns(last_update, tick_period.tv64 *
-+ delta_jiffies);
-+
-+ /* Skip reprogram of event if its not changed */
-+ if(ts->tick_stopped && ktime_equal(expires, dev->next_event))
-+ goto out2;
-
- if (delta_jiffies > 1)
- cpu_set(cpu, nohz_cpu_mask);
-@@ -304,12 +314,7 @@ void tick_nohz_stop_sched_tick(void)
- goto out;
- }
-
-- /*
-- * calculate the expiry time for the next timer wheel
-- * timer
-- */
-- expires = ktime_add_ns(last_update, tick_period.tv64 *
-- delta_jiffies);
-+ /* Mark expiries */
- ts->idle_expires = expires;
-
- if (ts->nohz_mode == NOHZ_MODE_HIGHRES) {
-@@ -328,6 +333,7 @@ void tick_nohz_stop_sched_tick(void)
- tick_do_update_jiffies64(ktime_get());
- cpu_clear(cpu, nohz_cpu_mask);
- }
-+out2:
- raise_softirq_irqoff(TIMER_SOFTIRQ);
- out:
- ts->next_jiffies = next_jiffies;
diff --git a/recipes/linux/linux-omap-pm/touchscreen.patch b/recipes/linux/linux-omap-pm/touchscreen.patch
deleted file mode 100644
index 2325c401e4..0000000000
--- a/recipes/linux/linux-omap-pm/touchscreen.patch
+++ /dev/null
@@ -1,22 +0,0 @@
-diff --git a/arch/arm/mach-omap2/board-omap3evm.c b/arch/arm/mach-omap2/board-omap3evm.c
-index d8109ae..f8ce669 100644
---- a/arch/arm/mach-omap2/board-omap3evm.c
-+++ b/arch/arm/mach-omap2/board-omap3evm.c
-@@ -128,8 +128,16 @@ static int ads7846_get_pendown_state(void)
- }
-
- struct ads7846_platform_data ads7846_config = {
-+ .x_max = 0x0fff,
-+ .y_max = 0x0fff,
-+ .x_plate_ohms = 180,
-+ .pressure_max = 255,
-+ .debounce_max = 10,
-+ .debounce_tol = 3,
-+ .debounce_rep = 1,
- .get_pendown_state = ads7846_get_pendown_state,
- .keep_vref_on = 1,
-+ .settle_delay_usecs = 150,
- };
-
- static struct omap2_mcspi_device_config ads7846_mcspi_config = {
-
diff --git a/recipes/linux/linux-omap-pm/twl-asoc-fix-record.diff b/recipes/linux/linux-omap-pm/twl-asoc-fix-record.diff
deleted file mode 100644
index 9c0ceaa2e0..0000000000
--- a/recipes/linux/linux-omap-pm/twl-asoc-fix-record.diff
+++ /dev/null
@@ -1,34 +0,0 @@
-From linux-omap-owner@vger.kernel.org Sat Dec 06 02:14:21 2008
-Date: Fri, 5 Dec 2008 16:46:34 -0800
-From: "Steve Sakoman" <sakoman@gmail.com>
-To: "linux-omap@vger.kernel.org" <linux-omap@vger.kernel.org>
-Subject: [FYI PATCH] ASOC:TWL4030 Audio capture fix
-
-A couple of folks have noticed an issue with audio capture -- the
-capture result is always silence.
-
-The patch below is a quick fix for those with this issue. There are
-substantial changes to the codec driver that will be trickling down
-from ASoC, and they deal with this issue differently.
-
-So consider this as a bandaid for those who don't want to wait for the
-trickle down :-)
-
-Steve
-
-
-diff --git a/sound/soc/codecs/twl4030.c b/sound/soc/codecs/twl4030.c
-index ee2f0d3..8b4aafb 100644
---- a/sound/soc/codecs/twl4030.c
-+++ b/sound/soc/codecs/twl4030.c
-@@ -45,8 +45,8 @@ static const u8 twl4030_reg[TWL4030_CACHEREGNUM] = {
- 0xc3, /* REG_OPTION (0x2) */
- 0x00, /* REG_UNKNOWN (0x3) */
- 0x00, /* REG_MICBIAS_CTL (0x4) */
-- 0x24, /* REG_ANAMICL (0x5) */
-- 0x04, /* REG_ANAMICR (0x6) */
-+ 0x34, /* REG_ANAMICL (0x5) */
-+ 0x14, /* REG_ANAMICR (0x6) */
- 0x0a, /* REG_AVADC_CTL (0x7) */
- 0x00, /* REG_ADCMICSEL (0x8) */
- 0x00, /* REG_DIGMIXING (0x9) */
diff --git a/recipes/linux/linux-omap-pm/usbttyfix.patch b/recipes/linux/linux-omap-pm/usbttyfix.patch
deleted file mode 100644
index 997705a31b..0000000000
--- a/recipes/linux/linux-omap-pm/usbttyfix.patch
+++ /dev/null
@@ -1,29 +0,0 @@
-To get USB HOST mode working on USB OTG Port with USB TTY enabled U-boot
-
-Signed-off-by: Syed Mohammed Khasim <khasim@ti.com>
----
---- linux-2.6.git/drivers/usb/musb/omap2430.c 2009-01-19 22:42:18.000000000 +0530
-+++ linux-2.6.git/drivers/usb/musb/omap2430.c 2009-02-19 12:45:22.000000000 +0530
-@@ -33,6 +33,7 @@
- #include <linux/list.h>
- #include <linux/clk.h>
- #include <linux/io.h>
-+#include <linux/i2c/twl4030.h>
-
- #include <asm/mach-types.h>
- #include <mach/hardware.h>
-@@ -233,6 +234,14 @@ int __init musb_platform_init(struct mus
- omap_cfg_reg(AE5_2430_USB0HS_STP);
- #endif
-
-+ /* Reset MUSB Controller */
-+ omap_writel(SOFTRST,OTG_SYSCONFIG);
-+
-+#if defined(CONFIG_TWL4030_USB)
-+ /* Reset the TWL USB PHY */
-+ twl4030_i2c_write_u8(TWL4030_MODULE_USB, 0x60, 0x4);
-+#endif
-+
- musb->xceiv = *x;
- musb_platform_resume(musb);
-
diff --git a/recipes/linux/linux-omap-pm_git.bb b/recipes/linux/linux-omap-pm_git.bb
index dbb64ca75f..11bfa4b087 100644
--- a/recipes/linux/linux-omap-pm_git.bb
+++ b/recipes/linux/linux-omap-pm_git.bb
@@ -3,53 +3,80 @@ require linux.inc
DESCRIPTION = "Linux kernel for OMAP processors"
KERNEL_IMAGETYPE = "uImage"
-COMPATIBLE_MACHINE = "omap5912osk|omap1710h3|omap2430sdp|omap2420h4|beagleboard|omap3evm|omap3-pandora"
+COMPATIBLE_MACHINE = "omap5912osk|omap1710h3|omap2430sdp|omap2420h4|beagleboard|omap3evm|omap3-pandora|overo"
DEFAULT_PREFERENCE = "-1"
-SRCREV = "fe30e75b8c0b91b259fcea781b859e594ba21ae9"
+SRCREV = "9d76f46e79302058464b569dbad9af8c594dbe53"
-PV = "2.6.28-pm3+gitr${SRCREV}"
-PR = "r7"
+PV = "2.6.29-pm0+gitr${SRCREV}"
-SRC_URI = "git://git.kernel.org/pub/scm/linux/kernel/git/khilman/linux-omap-pm.git;protocol=git;branch=pm-2.6.28 \
+SRC_URI = "git://git.kernel.org/pub/scm/linux/kernel/git/khilman/linux-omap-pm.git;protocol=git;branch=pm \
file://defconfig"
SRC_URI_append = " \
- file://fixup-evm-cpufreq.diff;patch=1 \
file://no-empty-flash-warnings.patch;patch=1 \
file://no-cortex-deadlock.patch;patch=1 \
file://read_die_ids.patch;patch=1 \
file://fix-install.patch;patch=1 \
- file://musb-support-high-bandwidth.patch.eml;patch=1 \
- file://mru-fix-timings.diff;patch=1 \
- file://mru-fix-display-panning.diff;patch=1 \
- file://mru-improve-pixclock-config.diff;patch=1 \
- file://mru-make-video-timings-selectable.diff;patch=1 \
- file://mru-enable-overlay-optimalization.diff;patch=1 \
- file://dvb-fix-dma.diff;patch=1 \
- file://0001-Removed-resolution-check-that-prevents-scaling-when.patch;patch=1 \
- file://0001-Implement-downsampling-with-debugs.patch;patch=1 \
- file://twl-asoc-fix-record.diff;patch=1 \
- file://tick-schedc-suppress-needless-timer-reprogramming.patch;patch=1 \
- file://0001-DSS-New-display-subsystem-driver-for-OMAP2-3.patch;patch=1 \
- file://0002-DSS-OMAPFB-fb-driver-for-new-display-subsystem.patch;patch=1 \
- file://0003-DSS-Add-generic-DVI-panel.patch;patch=1 \
- file://0004-DSS-support-for-Beagle-Board.patch;patch=1 \
- file://0005-DSS-Sharp-LS037V7DW01-LCD-Panel-driver.patch;patch=1 \
- file://0007-DSS-Support-for-OMAP3-EVM-board.patch;patch=1 \
- file://0008-DSS-Hacked-N810-support.patch;patch=1 \
- file://0009-DSS-OMAPFB-allocate-fbmem-only-for-fb0-or-if-spes.patch;patch=1 \
- file://0010-DSS-OMAPFB-remove-extra-omapfb_setup_overlay-call.patch;patch=1 \
- file://0011-DSS-OMAPFB-fix-GFX_SYNC-to-be-compatible-with-DSS1.patch;patch=1 \
- file://0014-DSS-fix-clk_get_usecount.patch;patch=1 \
- file://0001-ASoC-Add-support-for-OMAP3-EVM.patch;patch=1 \
- file://0001-This-merges-Steve-Kipisz-USB-EHCI-support.-He-star.patch;patch=1 \
- file://dss2.diff;patch=1 \
- file://register-all-OPPs.diff;patch=1 \
- file://add-cpufreq-for-omap3evm.diff;patch=1 \
- file://usbttyfix.patch;patch=1 \
file://0124-leds-gpio-broken-with-current-git.patch;patch=1 \
+ file://ehci.patch;patch=1 \
+ file://dss2/0001-Revert-gro-Fix-legacy-path-napi_complete-crash.patch;patch=1 \
+ file://dss2/0002-OMAPFB-move-omapfb.h-to-include-linux.patch;patch=1 \
+ file://dss2/0003-DSS2-OMAP2-3-Display-Subsystem-driver.patch;patch=1 \
+ file://dss2/0004-DSS2-OMAP-framebuffer-driver.patch;patch=1 \
+ file://dss2/0005-DSS2-Add-panel-drivers.patch;patch=1 \
+ file://dss2/0006-DSS2-HACK-Add-DSS2-support-for-N800.patch;patch=1 \
+ file://dss2/0007-DSS2-Add-DSS2-support-for-SDP-Beagle-Overo-EVM.patch;patch=1 \
+ file://dss2/0008-DSS2-Add-function-to-display-object-to-get-the-back.patch;patch=1 \
+ file://dss2/0009-DSS2-Add-acx565akm-panel.patch;patch=1 \
+ file://dss2/0010-DSS2-Small-VRFB-context-allocation-bug-fixed.patch;patch=1 \
+ file://dss2/0011-DSS2-Allocated-memory-for-Color-Look-up-table.patch;patch=1 \
+ file://dss2/0012-DSS2-Fix-DMA-rotation.patch;patch=1 \
+ file://dss2/0013-DSS2-Verify-that-overlay-paddr-0.patch;patch=1 \
+ file://dss2/0014-DSS2-Add-function-to-get-DSS-logic-clock-rate.patch;patch=1 \
+ file://dss2/0015-DSS2-DSI-calculate-VP_CLK_RATIO-properly.patch;patch=1 \
+ file://dss2/0016-DSS2-DSI-improve-packet-len-calculation.patch;patch=1 \
+ file://dss2/0017-DSS2-Disable-video-planes-on-sync-lost-error.patch;patch=1 \
+ file://dss2/0018-DSS2-check-for-ovl-paddr-only-when-enabling.patch;patch=1 \
+ file://dss2/0019-DSS2-Check-fclk-limits-when-configuring-video-plane.patch;patch=1 \
+ file://dss2/0020-DSS2-Check-scaling-limits-against-proper-values.patch;patch=1 \
+ file://dss2/0021-DSS2-Add-venc-register-dump.patch;patch=1 \
+ file://dss2/0022-DSS2-FB-remove-unused-var-warning.patch;patch=1 \
+ file://dss2/0023-DSS2-pass-the-default-FB-color-format-through-board.patch;patch=1 \
+ file://dss2/0024-DSS2-Beagle-Use-gpio_set_value.patch;patch=1 \
+ file://dss2/0025-DSS2-VRFB-Macro-for-calculating-base-address-of-th.patch;patch=1 \
+ file://dss2/0026-DSS2-DSI-sidlemode-to-noidle-while-sending-frame.patch;patch=1 \
+ file://dss2/0027-DSS2-VRFB-rotation-and-mirroring-implemented.patch;patch=1 \
+ file://dss2/0028-DSS2-OMAPFB-Added-support-for-the-YUV-VRFB-rotatio.patch;patch=1 \
+ file://dss2/0029-DSS2-OMAPFB-Set-line_length-correctly-for-YUV-with.patch;patch=1 \
+ file://dss2/0030-DSS2-dispc_get_trans_key-was-returning-wrong-key-ty.patch;patch=1 \
+ file://dss2/0031-DSS2-do-bootmem-reserve-for-exclusive-access.patch;patch=1 \
+ file://dss2/0032-DSS2-Fix-DISPC_VID_FIR-value-for-omap34xx.patch;patch=1 \
+ file://dss2/0033-DSS2-Prefer-3-tap-filter.patch;patch=1 \
+ file://dss2/0034-DSS2-VRAM-improve-omap_vram_add_region.patch;patch=1 \
+ file://dss2/0035-DSS2-Added-the-function-pointer-for-getting-default.patch;patch=1 \
+ file://dss2/0036-DSS2-Added-support-for-setting-and-querying-alpha-b.patch;patch=1 \
+ file://dss2/0037-DSS2-Added-support-for-querying-color-keying.patch;patch=1 \
+ file://dss2/0038-DSS2-OMAPFB-Some-color-keying-pointerd-renamed-in-D.patch;patch=1 \
+ file://dss2/0039-DSS2-Add-sysfs-entry-to-for-the-alpha-blending-supp.patch;patch=1 \
+ file://dss2/0040-DSS2-Provided-proper-exclusion-for-destination-colo.patch;patch=1 \
+ file://dss2/0041-DSS2-Disable-vertical-offset-with-fieldmode.patch;patch=1 \
+ file://dss2/0042-DSS2-Don-t-enable-fieldmode-automatically.patch;patch=1 \
+ file://dss2/0043-DSS2-Swap-field-0-and-field-1-registers.patch;patch=1 \
+ file://dss2/0044-DSS2-add-sysfs-entry-for-seting-the-rotate-type.patch;patch=1 \
+ file://dss2/0045-DSS2-Fixed-line-endings-from-to.patch;patch=1 \
+ file://dss2/0046-DSS2-DSI-decrease-sync-timeout-from-60s-to-2s.patch;patch=1 \
+ file://dss2/0047-DSS2-fix-return-value-for-rotate_type-sysfs-functio.patch;patch=1 \
+ file://dss2/0048-OMAP2-3-DMA-implement-trans-copy-and-const-fill.patch;patch=1 \
+ file://dss2/0049-DSS2-VRAM-clear-allocated-area-with-DMA.patch;patch=1 \
+ file://dss2/0050-DSS2-OMAPFB-remove-fb-clearing-code.patch;patch=1 \
+ file://dss2/0051-DSS2-VRAM-use-debugfs-not-procfs.patch;patch=1 \
+ file://dss2/0052-DSS2-VRAM-fix-section-mismatch-warning.patch;patch=1 \
+ file://dss2/0053-DSS2-disable-LCD-DIGIT-before-resetting-DSS.patch;patch=1 \
+ file://dss2/merge-fixups.diff;patch=1 \
+ file://overo-cpufreq.diff;patch=1 \
+ file://register-all-OPPs.diff;patch=1 \
"
diff --git a/recipes/linux/linux-omap_2.6.28.bb b/recipes/linux/linux-omap_2.6.28.bb
index fe586e0f12..859321bdef 100644
--- a/recipes/linux/linux-omap_2.6.28.bb
+++ b/recipes/linux/linux-omap_2.6.28.bb
@@ -6,7 +6,6 @@ KERNEL_IMAGETYPE = "uImage"
COMPATIBLE_MACHINE = "omap5912osk|omap1710h3|omap2430sdp|omap2420h4|beagleboard|omap3evm|omap3-pandora|overo"
DEFAULT_PREFERENCE = "-1"
-DEFAULT_PREFERENCE_beagleboard = "1"
DEFAULT_PREFERENCE_omap5912osk = "1"
SRCREV = "79d042a081d3e467c735bb0d9569ed6296f85a3c"
diff --git a/recipes/linux/linux-omap_2.6.29.bb b/recipes/linux/linux-omap_2.6.29.bb
index f70fc9b0a3..f0769f8556 100644
--- a/recipes/linux/linux-omap_2.6.29.bb
+++ b/recipes/linux/linux-omap_2.6.29.bb
@@ -7,6 +7,7 @@ COMPATIBLE_MACHINE = "omap5912osk|omap1710h3|omap2430sdp|omap2420h4|beagleboard|
DEFAULT_PREFERENCE = "-1"
DEFAULT_PREFERENCE_overo = "1"
+DEFAULT_PREFERENCE_beagleboard = "1"
SRCREV = "58cf2f1425abfd3a449f9fe985e48be2d2555022"
@@ -51,6 +52,29 @@ SRC_URI_append = " \
file://dss2/0028-DSS2-OMAPFB-Added-support-for-the-YUV-VRFB-rotatio.patch;patch=1 \
file://dss2/0029-DSS2-OMAPFB-Set-line_length-correctly-for-YUV-with.patch;patch=1 \
file://dss2/0030-DSS2-dispc_get_trans_key-was-returning-wrong-key-ty.patch;patch=1 \
+ file://dss2/0031-DSS2-do-bootmem-reserve-for-exclusive-access.patch;patch=1 \
+ file://dss2/0032-DSS2-Fix-DISPC_VID_FIR-value-for-omap34xx.patch;patch=1 \
+ file://dss2/0033-DSS2-Prefer-3-tap-filter.patch;patch=1 \
+ file://dss2/0034-DSS2-VRAM-improve-omap_vram_add_region.patch;patch=1 \
+ file://dss2/0035-DSS2-Added-the-function-pointer-for-getting-default.patch;patch=1 \
+ file://dss2/0036-DSS2-Added-support-for-setting-and-querying-alpha-b.patch;patch=1 \
+ file://dss2/0037-DSS2-Added-support-for-querying-color-keying.patch;patch=1 \
+ file://dss2/0038-DSS2-OMAPFB-Some-color-keying-pointerd-renamed-in-D.patch;patch=1 \
+ file://dss2/0039-DSS2-Add-sysfs-entry-to-for-the-alpha-blending-supp.patch;patch=1 \
+ file://dss2/0040-DSS2-Provided-proper-exclusion-for-destination-colo.patch;patch=1 \
+ file://dss2/0041-DSS2-Disable-vertical-offset-with-fieldmode.patch;patch=1 \
+ file://dss2/0042-DSS2-Don-t-enable-fieldmode-automatically.patch;patch=1 \
+ file://dss2/0043-DSS2-Swap-field-0-and-field-1-registers.patch;patch=1 \
+ file://dss2/0044-DSS2-add-sysfs-entry-for-seting-the-rotate-type.patch;patch=1 \
+ file://dss2/0045-DSS2-Fixed-line-endings-from-to.patch;patch=1 \
+ file://dss2/0046-DSS2-DSI-decrease-sync-timeout-from-60s-to-2s.patch;patch=1 \
+ file://dss2/0047-DSS2-fix-return-value-for-rotate_type-sysfs-functio.patch;patch=1 \
+ file://dss2/0048-OMAP2-3-DMA-implement-trans-copy-and-const-fill.patch;patch=1 \
+ file://dss2/0049-DSS2-VRAM-clear-allocated-area-with-DMA.patch;patch=1 \
+ file://dss2/0050-DSS2-OMAPFB-remove-fb-clearing-code.patch;patch=1 \
+ file://dss2/0051-DSS2-VRAM-use-debugfs-not-procfs.patch;patch=1 \
+ file://dss2/0052-DSS2-VRAM-fix-section-mismatch-warning.patch;patch=1 \
+ file://dss2/0053-DSS2-disable-LCD-DIGIT-before-resetting-DSS.patch;patch=1 \
file://0001-board-ldp-add-regulator-info-to-get-the-microSD-slo.patch;patch=1 \
file://fix-unaligned-access.diff;patch=1 \
file://make-alignment-visible.diff;patch=1 \
diff --git a/recipes/linux/linux-rt_2.6.29.bb b/recipes/linux/linux-rt_2.6.29.bb
new file mode 100644
index 0000000000..e0e8483a4c
--- /dev/null
+++ b/recipes/linux/linux-rt_2.6.29.bb
@@ -0,0 +1,17 @@
+require linux.inc
+
+# Linux kernel using the PREEMPT RT patch
+
+# Mark archs/machines that this kernel supports
+DEFAULT_PREFERENCE = "-1"
+
+PR = "r0"
+
+SRC_URI = "${KERNELORG_MIRROR}/pub/linux/kernel/v2.6/linux-${PV}.tar.bz2 \
+ ${KERNELORG_MIRROR}/pub/linux/kernel/v2.6/patch-${PV}.1.bz2;patch=1 \
+ ${KERNELORG_MIRROR}/pub/linux/kernel/projects/rt/patch-${PV}.1-rt8.bz2;patch=1 \
+ file://defconfig"
+
+S = "${WORKDIR}/linux-${PV}"
+
+
diff --git a/recipes/linux/linux.inc b/recipes/linux/linux.inc
index 984efac4d3..5a4a11fecf 100644
--- a/recipes/linux/linux.inc
+++ b/recipes/linux/linux.inc
@@ -98,8 +98,11 @@ do_configure_prepend() {
-e '/CONFIG_LOGO=/d' \
-e '/CONFIG_LOGO_LINUX_CLUT224=/d' \
-e '/CONFIG_LOCALVERSION/d' \
+ -e '/CONFIG_LOCALVERSION_AUTO/d' \
< '${WORKDIR}/defconfig' >>'${S}/.config'
+ echo 'CONFIG_LOCALVERSION=""' >>${S}/.config
+ echo '# CONFIG_LOCALVERSION_AUTO is not set' >>${S}/.config
#
# root-over-nfs-over-usb-eth support. Limited, but should cover some cases.
# Enable this by setting a proper CMDLINE_NFSROOT_USB.
diff --git a/recipes/linux/linux_2.6.24.bb b/recipes/linux/linux_2.6.24.bb
index cf4af828ab..c0278bf250 100644
--- a/recipes/linux/linux_2.6.24.bb
+++ b/recipes/linux/linux_2.6.24.bb
@@ -12,10 +12,11 @@ DEFAULT_PREFERENCE_oxnas = "1"
DEFAULT_PREFERENCE_hipox = "1"
DEFAULT_PREFERENCE_cs-e9302 = "1"
-PR = "r28"
+PR = "r31"
SRC_URI = "${KERNELORG_MIRROR}/pub/linux/kernel/v2.6/linux-2.6.24.tar.bz2 \
file://squashfs-lzma-2.6.24.patch;patch=1 \
+ file://ubifs-v2.6.24.patch;patch=1 \
file://time.h.patch;patch=1 \
file://defconfig"
@@ -100,6 +101,7 @@ SRC_URI_append_hipox = " \
file://hipox-pci-max-size.patch;patch=1 \
file://hipox-nand.patch;patch=1 \
file://hipox-ubifs.patch;patch=1 \
+ file://hipox-kconfig.patch;patch=1 \
"
CMDLINE_cm-x270 = "console=${CMX270_CONSOLE_SERIAL_PORT},38400 monitor=1 mem=64M mtdparts=physmap-flash.0:256k(boot)ro,0x180000(kernel),-(root);cm-x270-nand:64m(app),-(data) rdinit=/sbin/init root=mtd3 rootfstype=jffs2"
diff --git a/recipes/linux/linux_2.6.25.bb b/recipes/linux/linux_2.6.25.bb
index 5da65469b1..b529b756cf 100644
--- a/recipes/linux/linux_2.6.25.bb
+++ b/recipes/linux/linux_2.6.25.bb
@@ -7,7 +7,7 @@ DEFAULT_PREFERENCE = "-1"
DEFAULT_PREFERENCE_mpc8313e-rdb = "1"
DEFAULT_PREFERENCE_kilauea = "1"
DEFAULT_PREFERENCE_sequoia = "1"
-DEFAULT_PREFERENCE_cm-x270 = "1"
+DEFAULT_PREFERENCE_cm-x270 = "-1"
DEFAULT_PREFERENCE_alix = "1"
DEFAULT_PREFERENCE_at32stk1000 = "1"
DEFAULT_PREFERENCE_at91-l9260 = "1"
diff --git a/recipes/linux/linux_2.6.26.bb b/recipes/linux/linux_2.6.26.bb
index ff4ced7fec..53d55577b0 100644
--- a/recipes/linux/linux_2.6.26.bb
+++ b/recipes/linux/linux_2.6.26.bb
@@ -1,12 +1,14 @@
require linux.inc
-PR = "r8"
+PR = "r9"
# Mark archs/machines that this kernel supports
DEFAULT_PREFERENCE = "-1"
DEFAULT_PREFERENCE_boc01 = "1"
DEFAULT_PREFERENCE_mpc8313e-rdb = "1"
DEFAULT_PREFERENCE_canyonlands = "1"
+DEFAULT_PREFERENCE_topas910 = "1"
+
SRC_URI = "${KERNELORG_MIRROR}/pub/linux/kernel/v2.6/linux-2.6.26.tar.bz2 \
file://defconfig"
@@ -34,6 +36,9 @@ SRC_URI_append_mpc8313e-rdb = "\
file://mpc8313e-rdb-eth-fixed.patch;patch=1 \
"
+SRC_URI_append_topas910 = " ${KERNELORG_MIRROR}/pub/linux/kernel/v2.6/patch-2.6.26.5.bz2;patch=1 \
+ http://www.bplan-gmbh.org/data/toshiba/topas/linux/2.6.26.5/patch_2.6.26.5_topas910.bz2;patch=1"
+
# see http://bugzilla.kernel.org/show_bug.cgi?id=11143
do_stage_append() {
if [ -f arch/${ARCH}/lib/crtsavres.o ]; then
diff --git a/recipes/linux/linux_2.6.29.bb b/recipes/linux/linux_2.6.29.bb
index b6d6e45b78..4850fba9b8 100644
--- a/recipes/linux/linux_2.6.29.bb
+++ b/recipes/linux/linux_2.6.29.bb
@@ -1,6 +1,6 @@
require linux.inc
-PR = "r3"
+PR = "r4"
S = "${WORKDIR}/linux-2.6.29"
@@ -13,6 +13,7 @@ DEFAULT_PREFERENCE_vortex86sx = "1"
DEFAULT_PREFERENCE_atngw100 = "1"
DEFAULT_PREFERENCE_micro2440 = "1"
DEFAULT_PREFERENCE_ep93xx = "1"
+DEFAULT_PREFERENCE_cm-x270 = "1"
SRC_URI = "${KERNELORG_MIRROR}/pub/linux/kernel/v2.6/linux-2.6.29.tar.bz2 \
file://defconfig"
@@ -57,3 +58,12 @@ SRC_URI_append_ep93xx = " \
file://add-edb9301.patch;patch=1 \
file://edb9301-fix-machine-id.patch;patch=1 \
"
+
+SRC_URI_append_cm-x270 = "\
+ file://0001-xm_x2xx-config-fix-up-CMDLINE.patch;patch=1 \
+ file://0002-cm-x270-nand-change-name-of-device.patch;patch=1 \
+ file://0003-cm-x2xx.c-add-support-for-sharp-VGA-display-panel.patch;patch=1 \
+ "
+
+CMDLINE_cm-x270 = "console=${CMX270_CONSOLE_SERIAL_PORT},38400 monitor=8 bpp=16 mem=64M mtdparts=physmap-flash.0:256k(boot)ro,0x180000(kernel),0x230000(root),-(config);cm-x270-nand:64m(app),-(data) rdinit=/sbin/init root=mtd4 rootfstype=jffs2"
+
diff --git a/recipes/linux/openezx-kernel_git.bb b/recipes/linux/openezx-kernel_git.bb
index 04044131b2..64fac44558 100644
--- a/recipes/linux/openezx-kernel_git.bb
+++ b/recipes/linux/openezx-kernel_git.bb
@@ -1,9 +1,9 @@
DESCRIPTION = "OpenEZX 2.6 Linux Development Kernel for the Motorola EZX GSM phones"
AUTHOR = "The OpenEZX Team <openezx-devel@lists.openezx.org>"
HOMEPAGE = "http://www.openezx.org"
-KV = "2.6.28+2.6.29rc8"
+KV = "2.6.29+2.6.30rc2"
PV = "${KV}+gitr${SRCREV}"
-PR = "r0"
+PR = "r3"
require linux.inc
@@ -17,14 +17,14 @@ SRC_URI = "\
S = "${WORKDIR}/git"
##############################################################
-# kernel image resides on a seperate flash partition (for now)
-# But we can flash it from userspace (flash_unlock /dev/mtdX && flash_eraseall /dev/mtdX && flashcp /boot/zImage /dev/mtdX)
-# so lets make a package of it. What about a postinst that flashes the new kernel?
+# The kernel image used to reside on a seperate flash partition
+# It can be flashed from userspace, so we should package it anyways
+# (flash_unlock /dev/mtdX && flash_eraseall /dev/mtdX && flashcp /boot/zImage /dev/mtdX)
COMPATIBLE_HOST = "arm.*-linux"
COMPATIBLE_MACHINE = '(a780|e680|a910|a1200|rorkre2|rokre6)'
-# Kernel command line parameters are given over boot_usb or gen-blob's menu
+# The Kernel command line parameters are given via boot_usb or gen-blob
###############################################################
# module configs specific to this kernel
diff --git a/recipes/lowlevel_topas910/lowlevel-topas910_1.0.bb b/recipes/lowlevel_topas910/lowlevel-topas910_1.0.bb
new file mode 100644
index 0000000000..6a814a2462
--- /dev/null
+++ b/recipes/lowlevel_topas910/lowlevel-topas910_1.0.bb
@@ -0,0 +1,31 @@
+DESCRIPTION = "Lowlevel - a simple bootloader for the Toshiba Topas 910."
+SECTION = "bootloaders"
+PRIORITY = "optional"
+LICENSE = "BSD"
+PROVIDES = "virtual/bootloader"
+DEPENDS = "virtual/kernel"
+PR = "r0"
+
+inherit gpe
+
+SRC_URI = "http://www.bplan-gmbh.org/data/toshiba/topas/linux/2.6.26.5/lowlevel_topas910.tar.bz2"
+
+
+S = "${WORKDIR}/lowlevel/"
+
+CFLAGS_append = " -D__LITTLEENDIAN__ -ffreestanding -I. -include ./arm.h -include ./simple_io32.h"
+
+do_install () {
+}
+
+do_deploy () {
+ install -d ${DEPLOY_DIR_IMAGE}
+ install ${S}/bootstart_tmpa910.bin ${DEPLOY_DIR_IMAGE}/bootstart_tmpa910.bin
+ dd if=/dev/full of=/tmp/pad bs=1k count=256
+ cat ${S}/bootstart_tmpa910.bin /tmp/pad > /tmp/pad1
+ dd if=/tmp/pad1 of=/tmp/pad2 bs=1k count=256
+ cat /tmp/pad2 ${DEPLOY_DIR_IMAGE}/zImage-topas910.bin > ${DEPLOY_DIR_IMAGE}/flashimage-topas910.bin
+}
+
+do_deploy[dirs] = "${S}"
+addtask deploy before do_build after do_compile
diff --git a/recipes/make/mingw-make-canadian-sdk_3.81.bb b/recipes/make/mingw-make-canadian-sdk_3.81.bb
index 3479dad249..a4b1f729ce 100644
--- a/recipes/make/mingw-make-canadian-sdk_3.81.bb
+++ b/recipes/make/mingw-make-canadian-sdk_3.81.bb
@@ -9,8 +9,6 @@ interdependent files, and, if necessary, issues commands \
to bring them up-to-date - MinGW port."
HOMEPAGE = "http://www.mingw.org/"
-DEPENDS = "virtual/${HOST_PREFIX}binutils virtual/${HOST_PREFIX}gcc"
-
SRC_URI = "${SOURCEFORGE_MIRROR}/mingw/mingw32-make-3.81-20080326-src.tar.gz"
S = "${WORKDIR}/make-${PV}-patched"
diff --git a/recipes/man/man_1.5p.bb b/recipes/man/man_1.5p.bb
index 2a1ed7fd72..c3412a5806 100644
--- a/recipes/man/man_1.5p.bb
+++ b/recipes/man/man_1.5p.bb
@@ -14,13 +14,14 @@ SRC_URI = "${KERNELORG_MIRROR}/pub/linux/utils/man/man-${PV}.tar.bz2 \
# Disable parallel make or it tries to link objects before they are built
PARALLEL_MAKE = ""
-EXTRA_OEMAKE = ""
+EXTRA_OEMAKE = 'LFDLAGS="${LDFLAGS}"'
GS = "-DGREPSILENT=\"q\""
DEFS = "-DUSG -DDO_COMPRESS ${GS}"
do_configure() {
# this doesn't support cross compilation, so it generates a
# bogus configuration
+ sed -i /^LDFLAGS/d src/Makefile.in
./configure -d -confdir ${sysconfdir}
}
diff --git a/recipes/meta/canadian-sdk.bb b/recipes/meta/canadian-sdk.bb
index 9126c7e872..809173b42f 100644
--- a/recipes/meta/canadian-sdk.bb
+++ b/recipes/meta/canadian-sdk.bb
@@ -1,25 +1,57 @@
DESCRIPTION = "Meta package for building a installable toolchain"
LICENSE = "MIT"
-DEPENDS = "ipkg-native ipkg-utils-native fakeroot-native sed-native zip-native"
-PR = "r3"
+DEPENDS = "opkg-native ipkg-utils-native fakeroot-native sed-native zip-native"
+PR = "r4"
+
+# NOTE: We need to save and restore PACKAGE_ARCHS, because sdk.bbclass
+# will change HOST_ARCH, which can result in SITEINFO_ENDIANESS (which
+# is computed in siteinfo.bbclass) in changing if the original HOST_ARCH
+# endianess differs from the new HOST_ARCH endianess. SITEINFO_ENDIANNESS
+# is used in a number of places, including the construction of the
+# PACKAGE_EXTRA_ARCHS list for machines that are capable of running in
+# either endianess. There may be better ways to fix this.
+
+# Save value of PACKAGE_ARCHS (note the ":=" syntax to force immediate eval)
+REAL_PACKAGE_ARCHS := "${PACKAGE_ARCHS}"
inherit canadian-sdk meta
+# Restore PACKAGE_ARCHS (sdk.bbclass may have caused it to change)
+PACKAGE_ARCHS := "${REAL_PACKAGE_ARCHS}"
+
SDK_DIR = "${WORKDIR}/sdk"
SDK_OUTPUT = "${SDK_DIR}/image"
-SDK_DEPLOY = "${TMPDIR}/deploy/sdk"
-SDK_SUFFIX = "toolchain"
+SDK_DEPLOY = "${DEPLOY_DIR}/sdk"
-FEED_ARCH ?= "${TARGET_ARCH}"
-
-IPKG_HOST = "ipkg-cl -f ${IPKGCONF_CANSDK} -o ${SDK_OUTPUT}"
-IPKG_TARGET = "ipkg-cl -f ${IPKGCONF_TARGET} -o ${SDK_OUTPUT}${prefix}"
+IPKG_HOST = "opkg-cl -f ${IPKGCONF_CANSDK} -o ${SDK_OUTPUT}"
+IPKG_TARGET = "opkg-cl -f ${IPKGCONF_TARGET} -o ${SDK_OUTPUT}/${SDK_PATH}/${TARGET_SYS}"
TOOLCHAIN_CANADIAN_HOST_TASK ?= "task-sdk-canadian-host"
TOOLCHAIN_TARGET_TASK ?= "task-sdk-bare"
+FEED_ARCH ?= "${TARGET_ARCH}"
+SDK_SUFFIX = "toolchain"
+TOOLCHAIN_OUTPUTNAME ?= "${SDK_SYS}-${DISTRO}-${DISTRO_VERSION}-${FEED_ARCH}-${TARGET_OS}-${SDK_SUFFIX}"
RDEPENDS = "${TOOLCHAIN_TARGET_TASK} ${TOOLCHAIN_CANADIAN_HOST_TASK}"
+TOOLCHAIN_FEED_URI ?= "${DISTRO_FEED_URI}"
+
+modify_opkg_conf () {
+ OUTPUT_OPKGCONF_TARGET="${SDK_OUTPUT}/${prefix}/${TARGET_SYS}/${layout_sysconfdir}/opkg.conf"
+ OUTPUT_OPKGCONF_HOST="${SDK_OUTPUT}/${prefix}/${TARGET_SYS}/${layout_sysconfdir}/opkg-canadian-sdk.conf"
+ OUTPUT_OPKGCONF_SDK="${SDK_OUTPUT}/${sysconfdir}/opkg-canadian-sdk.conf"
+ rm ${OUTPUT_OPKGCONF_TARGET}
+ rm ${OUTPUT_OPKGCONF_HOST}
+ rm ${OUTPUT_OPKGCONF_SDK}
+ opkgarchs="${PACKAGE_ARCHS}"
+ priority=1
+ for arch in ${opkgarchs}; do
+ echo "arch ${arch} ${priority}" >> ${OUTPUT_OPKGCONF_TARGET};
+ echo "src/gz ${arch} ${TOOLCHAIN_FEED_URI}/${arch}" >> ${OUTPUT_OPKGCONF_TARGET};
+ priority=$(expr ${priority} + 5);
+ done
+}
+
do_populate_sdk() {
rm -rf ${SDK_OUTPUT}
mkdir -p ${SDK_OUTPUT}
@@ -31,41 +63,26 @@ do_populate_sdk() {
revipkgarchs="$arch $revipkgarchs"
done
+ mkdir -p ${SDK_OUTPUT}/usr/lib/opkg
${IPKG_HOST} update
${IPKG_HOST} -force-depends install ${TOOLCHAIN_CANADIAN_HOST_TASK}
+ mkdir -p ${SDK_OUTPUT}/${SDK_PATH}/${TARGET_SYS}/usr/lib/opkg
${IPKG_TARGET} update
${IPKG_TARGET} install ${TOOLCHAIN_TARGET_TASK}
- mkdir -p ${SDK_OUTPUT}${prefix}/${TARGET_SYS}
- cp -pPR ${SDK_OUTPUT}${prefix}/usr ${SDK_OUTPUT}${prefix}/${TARGET_SYS}/
- rm -rf ${SDK_OUTPUT}${prefix}/usr
-
- cp -pPR ${SDK_OUTPUT}${prefix}/lib/* ${SDK_OUTPUT}${prefix}/${TARGET_SYS}/lib/
- rm -rf ${SDK_OUTPUT}${prefix}/lib/*
-
- cp -pPR ${SDK_OUTPUT}/usr/lib/ipkg ${SDK_OUTPUT}${prefix}/lib/
- rm -rf ${SDK_OUTPUT}/usr/lib/ipkg/*
- rmdir -p --ignore-fail-on-non-empty ${SDK_OUTPUT}/usr/lib/ipkg
-
- for fn in `ls ${SDK_OUTPUT}${prefix}/${TARGET_SYS}/lib/`; do
- if [ -h ${SDK_OUTPUT}${prefix}/${TARGET_SYS}/lib/$fn ]; then
- link=`readlink ${SDK_OUTPUT}${prefix}/${TARGET_SYS}/lib/$fn`
- bname=`basename $link`
- if [ ! -e $link -a -e ${SDK_OUTPUT}${prefix}/${TARGET_SYS}/lib/$bame ]; then
- rm ${SDK_OUTPUT}${prefix}/${TARGET_SYS}/lib/$fn
- ln -s $bname ${SDK_OUTPUT}${prefix}/${TARGET_SYS}/lib/$fn
- fi
- fi
- done
+ install -d ${SDK_OUTPUT}/${prefix}/usr/lib/opkg
+ mv ${SDK_OUTPUT}/usr/lib/opkg/* ${SDK_OUTPUT}/${prefix}/usr/lib/opkg/
+ rm -Rf ${SDK_OUTPUT}/usr/lib
- mv ${SDK_OUTPUT}${prefix}/${TARGET_SYS}/lib/gcc ${SDK_OUTPUT}${prefix}/lib
+ install -d ${SDK_OUTPUT}/${prefix}/${TARGET_SYS}/${layout_sysconfdir}
+ install -m 0644 ${IPKGCONF_TARGET} ${IPKGCONF_CANSDK} ${SDK_OUTPUT}/${prefix}/${TARGET_SYS}/${layout_sysconfdir}/
- echo 'GROUP ( libpthread.so.0 libpthread_nonshared.a )' > ${SDK_OUTPUT}${prefix}/${TARGET_SYS}/lib/libpthread.so
- echo 'GROUP ( libc.so.6 libc_nonshared.a )' > ${SDK_OUTPUT}${prefix}/${TARGET_SYS}/lib/libc.so
+ install -d ${SDK_OUTPUT}/${sysconfdir}
+ install -m 0644 ${IPKGCONF_CANSDK} ${SDK_OUTPUT}/${sysconfdir}/
# extract and store ipks, pkgdata and shlibs data
- target_pkgs=`cat ${SDK_OUTPUT}${prefix}/${TARGET_SYS}/usr/lib/ipkg/status | grep Package: | cut -f 2 -d ' '`
+ target_pkgs=`cat ${SDK_OUTPUT}/${prefix}/package-status | grep Package: | cut -f 2 -d ' '`
mkdir -p ${SDK_OUTPUT}/${prefix}/ipk/
mkdir -p ${SDK_OUTPUT}/${prefix}/pkgdata/runtime/
mkdir -p ${SDK_OUTPUT}/${prefix}/${TARGET_SYS}/shlibs/
@@ -78,12 +95,12 @@ do_populate_sdk() {
orig_pkg=`ipkg-list-fields $pkgnames | grep OE: | cut -d ' ' -f2`
pkg_subdir=$arch${TARGET_VENDOR}${@['-' + bb.data.getVar('TARGET_OS', d, 1), ''][bb.data.getVar('TARGET_OS', d, 1) == ('' or 'custom')]}
mkdir -p ${SDK_OUTPUT}/${prefix}/pkgdata/$pkg_subdir/runtime
- cp ${TMPDIR}/pkgdata/$pkg_subdir/$orig_pkg ${SDK_OUTPUT}/${prefix}/pkgdata/$pkg_subdir/
- subpkgs=`cat ${TMPDIR}/pkgdata/$pkg_subdir/$orig_pkg | grep PACKAGES: | cut -b 10-`
+ cp ${STAGING_DIR}/pkgdata/$pkg_subdir/$orig_pkg ${SDK_OUTPUT}/${prefix}/pkgdata/$pkg_subdir/
+ subpkgs=`cat ${STAGING_DIR}/pkgdata/$pkg_subdir/$orig_pkg | grep PACKAGES: | cut -b 10-`
for subpkg in $subpkgs; do
- cp ${TMPDIR}/pkgdata/$pkg_subdir/runtime/$subpkg ${SDK_OUTPUT}/${prefix}/pkgdata/$pkg_subdir/runtime/
- if [ -e ${TMPDIR}/pkgdata/$pkg_subdir/runtime/$subpkg.packaged ];then
- cp ${TMPDIR}/pkgdata/$pkg_subdir/runtime/$subpkg.packaged ${SDK_OUTPUT}/${prefix}/pkgdata/$pkg_subdir/runtime/
+ cp ${STAGING_DIR}/pkgdata/$pkg_subdir/runtime/$subpkg ${SDK_OUTPUT}/${prefix}/pkgdata/$pkg_subdir/runtime/
+ if [ -e ${STAGING_DIR}/pkgdata/$pkg_subdir/runtime/$subpkg.packaged ];then
+ cp ${STAGING_DIR}/pkgdata/$pkg_subdir/runtime/$subpkg.packaged ${SDK_OUTPUT}/${prefix}/pkgdata/$pkg_subdir/runtime/
fi
if [ -e ${STAGING_DIR_TARGET}/shlibs/$subpkg.list ]; then
cp ${STAGING_DIR_TARGET}/shlibs/$subpkg.* ${SDK_OUTPUT}/${prefix}/${TARGET_SYS}/shlibs/
@@ -96,7 +113,7 @@ do_populate_sdk() {
# add missing link to libgcc_s.so.1
# libgcc-dev should be responsible for that, but it's not getting built
- # RP: it gets smashed up depending on the order that gcc, gcc-cross and
+ # RP: it gets smashed up depending on the order that gcc, gcc-cross and
# gcc-cross-sdk get built :( (30/11/07)
ln -sf libgcc_s.so.1 ${SDK_OUTPUT}/${prefix}/${TARGET_SYS}/lib/libgcc_s.so
@@ -122,21 +139,36 @@ do_populate_sdk() {
for sitefile in ${CONFIG_SITE} ; do
cat $sitefile >> $siteconfig
done
-}
-do_package_sdk() {
- # package it up
+ # Create environment setup script
+ script=${SDK_OUTPUT}/${prefix}/environment-setup
+ touch $script
+ echo 'export PATH=${prefix}/bin:$PATH' >> $script
+ echo 'export LIBTOOL_SYSROOT_PATH=${prefix}/${TARGET_SYS}' >> $script
+ echo 'export PKG_CONFIG_SYSROOT_DIR=${prefix}/${TARGET_SYS}' >> $script
+ echo 'export PKG_CONFIG_PATH=${prefix}/${TARGET_SYS}${layout_libdir}/pkgconfig' >> $script
+ echo 'export CONFIG_SITE=${prefix}/site-config' >> $script
+ echo "alias opkg='LD_LIBRARY_PATH=${prefix}/lib ${prefix}/bin/opkg-cl -f ${sysconfdir}/opkg-canadian-sdk.conf -o ${prefix}'" >> $script
+ echo "alias opkg-target='LD_LIBRARY_PATH=${prefix}/lib ${prefix}/bin/opkg-cl -f ${prefix}/${TARGET_SYS}${layout_sysconfdir}/opkg.conf -o ${prefix}/${TARGET_SYS}'" >> $script
+
+ # Add version information
+ versionfile=${SDK_OUTPUT}/${prefix}/version
+ touch $versionfile
+ echo 'Distro: ${DISTRO}' >> $versionfile
+ echo 'Distro Version: ${DISTRO_VERSION}' >> $versionfile
+ echo 'Metadata Revision: ${METADATA_REVISION}' >> $versionfile
+ echo 'Timestamp: ${DATETIME}' >> $versionfile
+
+ modify_opkg_conf
+
+ # Package it up
mkdir -p ${SDK_DEPLOY}
cd ${SDK_OUTPUT}
- fakeroot tar cfj ${SDK_DEPLOY}/${SDK_SYS}-sdk-${DISTRO}-${DISTRO_VERSION}-${FEED_ARCH}-${TARGET_OS}.tar.bz2 .${prefix}
- rm -f ${SDK_DEPLOY}/${SDK_SYS}-sdk-${DISTRO}-${DISTRO_VERSION}-${FEED_ARCH}-${TARGET_OS}.zip
- zip -r -D ${SDK_DEPLOY}/${SDK_SYS}-sdk-${DISTRO}-${DISTRO_VERSION}-${FEED_ARCH}-${TARGET_OS}.zip .${prefix}
+ fakeroot tar cfj ${SDK_DEPLOY}/${TOOLCHAIN_OUTPUTNAME}.tar.bz2 .
+ rm -f ${SDK_DEPLOY}/${TOOLCHAIN_OUTPUTNAME}.zip
+ zip -r -D ${SDK_DEPLOY}/${TOOLCHAIN_OUTPUTNAME}.zip .
}
do_populate_sdk[nostamp] = "1"
do_populate_sdk[recrdeptask] = "do_package_write"
addtask populate_sdk before do_build after do_install
-
-do_package_sdk[nostamp] = "1"
-do_package_sdk[recrdeptask] = "do_populate_sdk"
-addtask package_sdk before do_build after do_populate_sdk
diff --git a/recipes/meta/slugos-packages.bb b/recipes/meta/slugos-packages.bb
index 8ad95d6f3f..9ccc143823 100644
--- a/recipes/meta/slugos-packages.bb
+++ b/recipes/meta/slugos-packages.bb
@@ -63,7 +63,6 @@ SLUGOS_PACKAGES = "\
coreutils \
cron \
cryptsetup \
- ctrlproxy \
cups \
curl \
cvs \
@@ -250,7 +249,11 @@ SLUGOS_PACKAGES = "\
"
# Packages currently broken on all platforms
+# Notes:
+# ctrlproxy - dependency on tdb.h (part of samba but not packaged/staged).
+#
SLUGOS_BROKEN_PACKAGES = "\
+ ctrlproxy \
ctorrent \
cyrus-imapd \
cyrus-sasl \
diff --git a/recipes/mingw/mingw-runtime.inc b/recipes/mingw/mingw-runtime.inc
index d984911fff..5820e9914f 100644
--- a/recipes/mingw/mingw-runtime.inc
+++ b/recipes/mingw/mingw-runtime.inc
@@ -5,8 +5,8 @@ DEPENDS = "virtual/${TARGET_PREFIX}gcc-initial mingw-w32api"
PROVIDES = "virtual/${TARGET_PREFIX}libc virtual/${TARGET_PREFIX}libc-for-gcc"
-DEFAULT_PREFERENCE = "0"
-DEFAULT_PREFERENCE_sdk-mingw32 = "1"
+DEFAULT_PREFERENCE = "-1"
+DEFAULT_PREFERENCE_mingw32 = "1"
PACKAGES = ""
diff --git a/recipes/mingw/mingw-w32api.inc b/recipes/mingw/mingw-w32api.inc
index ecb1cd290a..ac2ede9945 100644
--- a/recipes/mingw/mingw-w32api.inc
+++ b/recipes/mingw/mingw-w32api.inc
@@ -5,8 +5,8 @@ DEPENDS = "virtual/${TARGET_PREFIX}gcc-initial"
PROVIDES = "mingw-w32api"
-DEFAULT_PREFERENCE = "0"
-DEFAULT_PREFERENCE_sdk-mingw32 = "1"
+DEFAULT_PREFERENCE = "-1"
+DEFAULT_PREFERENCE_mingw32 = "1"
PACKAGES = ""
diff --git a/recipes/mplayer/files/omapfb.patch b/recipes/mplayer/files/omapfb.patch
index 860cf070f4..2356d80960 100644
--- a/recipes/mplayer/files/omapfb.patch
+++ b/recipes/mplayer/files/omapfb.patch
@@ -8,3 +8,22 @@
extern vo_functions_t video_out_svga;
extern vo_functions_t video_out_png;
extern vo_functions_t video_out_ggi;
+@@ -177,6 +178,7 @@
+ #ifdef CONFIG_FBDEV
+ &video_out_fbdev,
+ &video_out_fbdev2,
++ &video_out_omapfb,
+ #endif
+ #ifdef CONFIG_SVGALIB
+ &video_out_svga,
+--- a/Makefile 2009-02-03 13:45:48.000000000 -0800
++++ b/Makefile 2009-02-03 13:45:50.000000000 -0800
+@@ -551,7 +551,7 @@
+ SRCS_MPLAYER-$(DXR2) += libao2/ao_dxr2.c libvo/vo_dxr2.c
+ SRCS_MPLAYER-$(DXR3) += libvo/vo_dxr3.c
+ SRCS_MPLAYER-$(ESD) += libao2/ao_esd.c
+-SRCS_MPLAYER-$(FBDEV) += libvo/vo_fbdev.c libvo/vo_fbdev2.c
++SRCS_MPLAYER-$(FBDEV) += libvo/vo_fbdev.c libvo/vo_fbdev2.c libvo/vo_omapfb.c libvo/yuv.S
+ SRCS_MPLAYER-$(GGI) += libvo/vo_ggi.c
+ SRCS_MPLAYER-$(GIF) += libvo/vo_gif89a.c
+ SRCS_MPLAYER-$(GL) += libvo/gl_common.c libvo/vo_gl.c libvo/vo_gl2.c
diff --git a/recipes/mplayer/files/vo_omapfb.c b/recipes/mplayer/files/vo_omapfb.c
index 5a43404300..127e550cae 100644
--- a/recipes/mplayer/files/vo_omapfb.c
+++ b/recipes/mplayer/files/vo_omapfb.c
@@ -58,8 +58,8 @@ It's an interpolation bug in the color conversion that needs to be fixed
#include "fastmemcpy.h"
#include "sub.h"
#include "mp_msg.h"
-
#include "omapfb.h"
+#include "x11_common.h"
#include "libswscale/swscale.h"
#include "libmpcodecs/vf_scale.h"
@@ -87,10 +87,12 @@ static int fb_overlay_only = 0; // if set, we need only framebuffer overlay, but
static int dbl_buffer = 0;
static int fullscreen_flag = 0;
static int plane_ready = 0;
+static uint32_t drwX, drwY;
extern void yuv420_to_yuv422(uint8_t *yuv, uint8_t *y, uint8_t *u, uint8_t *v, int w, int h, int yw, int cw, int dw);
static struct fb_var_screeninfo sinfo_p0;
static struct fb_var_screeninfo sinfo;
+static struct fb_fix_screeninfo finfo;
static struct omapfb_mem_info minfo;
static struct omapfb_plane_info pinfo;
static struct {
@@ -155,155 +157,20 @@ static void x11_get_window_abs_position(Display *display, Window window,
XFree(child);
}
-
-/**
- * Function that controls fullscreen state for x11 window
- * action = 1 (set fullscreen)
- * action = 0 (set windowed mode)
- */
-static void x11_set_fullscreen_state(Display *display, Window window, int action)
-{
- XEvent xev;
-
- /* init X event structure for _NET_WM_FULLSCREEN client msg */
- xev.xclient.type = ClientMessage;
- xev.xclient.serial = 0;
- xev.xclient.send_event = True;
- xev.xclient.message_type = XInternAtom(display, "_NET_WM_STATE", False);
- xev.xclient.window = window;
- xev.xclient.format = 32;
- xev.xclient.data.l[0] = action;
- xev.xclient.data.l[1] = XInternAtom(display, "_NET_WM_STATE_FULLSCREEN", False);
- xev.xclient.data.l[2] = 0;
- xev.xclient.data.l[3] = 0;
- xev.xclient.data.l[4] = 0;
-
- /* finally send that damn thing */
- if (!XSendEvent(display, DefaultRootWindow(display), False, SubstructureRedirectMask | SubstructureNotifyMask, &xev)) {
- mp_msg(MSGT_VO, MSGL_ERR, "[omapfb] failure in x11_set_fullscreen_state\n");
- exit(1);
- }
- XSync(display, False);
-}
-
-
-XClassHint classhint = {"mediaplayer-ui", "mediaplayer-ui"};
-
-
-/**
- * Initialize x11 window (it is used to allocate some screen area for framebuffer overlay)
- */
-static void x11_init()
+static void x11_check_events(void)
{
- display = XOpenDisplay(getenv("DISPLAY"));
- if (display == NULL) {
- mp_msg(MSGT_VO, MSGL_ERR, "[omapfb] failure in x11_init, can't open display\n");
- exit(1);
- }
+ int e = vo_x11_check_events(mDisplay);
- screen_num = DefaultScreen(display);
+ if (e & VO_EVENT_RESIZE)
+ vo_calc_drwXY(&drwX, &drwY);
- if (WinID > 0)
+ if (e & VO_EVENT_EXPOSE || e & VO_EVENT_RESIZE)
{
- Window root;
- Window *child;
- unsigned int n_children;
-
- win = WinID;
-
- /* Query window tree information */
- XQueryTree(display, win, &root, &parent, &child, &n_children);
- if (n_children)
- XFree(child);
-
- XUnmapWindow(display, win);
- if (parent)
- XSelectInput(display, parent, StructureNotifyMask);
- XMapWindow(display, win);
-
- wm_delete_window = XInternAtom(display, "WM_DELETE_WINDOW", False);
- XSetWMProtocols(display, win, &wm_delete_window, 1);
- } else {
- win = XCreateSimpleWindow(display, RootWindow(display, screen_num),
- sinfo_p0.xres / 2 - sinfo.xres / 2, sinfo_p0.yres / 2 - sinfo.yres / 2, sinfo.xres, sinfo.yres, 0,
- WhitePixel(display, screen_num),
- TRANSPARENT_COLOR_KEY);
-
- XSetClassHint(display, win, &classhint);
-
- XStoreName(display, win, "MPlayer");
- XMapWindow(display, win);
-
- /* Set WM_DELETE_WINDOW atom in WM_PROTOCOLS property (to get window_delete requests). */
- wm_delete_window = XInternAtom(display, "WM_DELETE_WINDOW", False);
- XSetWMProtocols(display, win, &wm_delete_window, 1);
- XSelectInput(display, win, StructureNotifyMask | KeyPressMask);
- }
-}
-
-
-void print_properties(Window win2)
-{
- Atom *p;
- int num, j;
- char *aname;
- Atom type;
- int format;
- unsigned long nitems, bytes_after;
- unsigned char *ret = NULL;
-
- p = XListProperties(display, win2, &num);
- printf("found %d properties for window %d\n", num, (int)win2);
- for (j = 0; j < num; j++) {
- aname = XGetAtomName(display, p[j]);
- if (aname) {
- if(Success == XGetWindowProperty(display, win2, XInternAtom(display, aname, False),
- 0L, ~0L, False, XA_STRING,
- &type, &format, &nitems,
- &bytes_after, &ret))
- {
-/* printf("format = %d, nitems = %d, bytes_after = %d\n", format, nitems, bytes_after);*/
- printf("%s = %s\n", aname, ret);
- XFree(ret);
- }
- XFree(aname);
- } else printf("NULL\n");
- }
- XFree(p);
-}
-
-
-static int x11_check_events()
-{
- if (!display) {
- mp_msg(MSGT_VO, MSGL_ERR, "[omapfb] 'x11_check_events' called out of sequence\n");
- exit(1);
- }
-
- int ret = 0;
- XEvent Event;
- while (XPending(display)) {
- XNextEvent(display, &Event);
- if (Event.type == UnmapNotify)
- omapfb_update(0, 0, 0, 0, 0);
- else if ((Event.type == MapNotify) || (Event.type == ConfigureNotify))
- omapfb_update(0, 0, 0, 0, 1);
- else if (Event.type == KeyPress) {
- int key;
- KeySym keySym = XKeycodeToKeysym(display, Event.xkey.keycode, 0);
- key = ((keySym & 0xff00) != 0 ? ((keySym & 0x00ff) + 256) : (keySym));
- ret |= VO_EVENT_KEYPRESS;
- vo_x11_putkey(key);
- } else if (Event.type == ClientMessage) {
- if ((Atom)Event.xclient.data.l[0] == wm_delete_window) {
- mplayer_put_key(KEY_ESC);
- }
- }
+ vo_xv_draw_colorkey(drwX, drwY, vo_dwidth - 1, vo_dheight - 1);
+ omapfb_update(0, 0, 0, 0, 1);
}
- return ret;
}
-
static void x11_uninit()
{
if (display) {
@@ -312,13 +179,11 @@ static void x11_uninit()
}
}
-
/**
* Initialize framebuffer
*/
static int preinit(const char *arg)
{
-
opt_t subopts[] = {
{"fb_overlay_only", OPT_ARG_BOOL, &fb_overlay_only, NULL},
{"dbl_buffer", OPT_ARG_BOOL, &dbl_buffer, NULL},
@@ -351,49 +216,28 @@ static int preinit(const char *arg)
ioctl(dev_fd, OMAPFB_QUERY_PLANE, &pinfo);
ioctl(dev_fd, OMAPFB_QUERY_MEM, &minfo);
- if (!fb_overlay_only)
- x11_init();
+ if (!fb_overlay_only && !vo_init())
+ {
+ mp_msg(MSGT_VO, MSGL_FATAL, "[omapfb] Could not open X, overlay only...\n");
+ fb_overlay_only = 1;
+ }
return 0;
}
-
static void omapfb_update(int x, int y, int out_w, int out_h, int show)
{
if (!fb_overlay_only)
- x11_get_window_abs_position(display, win, &x, &y, &out_w, &out_h);
-
- if ((x < 0) || (y < 0)
-
-// If you develop the right scaling-down patch in kernel, uncomment the line below and comment the next one
-// || (out_w < sinfo.xres / 4) || (out_h < sinfo.yres / 4)
- || (out_w < sinfo.xres) || (out_h < sinfo.yres)
-
-// If you don't have the right scaling-up patch in kernel, comment the line below and uncomment the next one
-/* Kernel patch to enable scaling up on the omap3
-======================================================
---- a/drivers/video/omap/dispc.c 2008-11-01 20:08:04.000000000 -0700
-+++ b/drivers/video/omap/dispc.c 2008-11-01 20:09:02.000000000 -0700
-@@ -523,9 +523,6 @@
- if ((unsigned)plane > OMAPFB_PLANE_NUM)
- return -ENODEV;
-
-- if (out_width != orig_width || out_height != orig_height)
-- return -EINVAL;
--
- enable_lcd_clocks(1);
- if (orig_width < out_width) {
- /*
-======================================================
-*/
- || (out_w > sinfo.xres * 8) || (out_h > sinfo.yres * 8)
-// || (out_w > sinfo.xres) || (out_h > sinfo.yres)
+ x11_get_window_abs_position(mDisplay, vo_window, &x, &y, &out_w, &out_h);
- || (x + out_w > sinfo_p0.xres) || (y + out_h > sinfo_p0.yres)) {
+ if (x < 0 || y < 0 || (x + out_w > sinfo_p0.xres) || (y + out_h > sinfo_p0.yres) || /* Clipping not currently supported */
+ (out_w < sinfo.xres / 4) || (out_h < sinfo.yres / 4) || /* HW can't scale down by more than 4x */
+ (out_w > sinfo.xres * 8) || (out_h > sinfo.yres * 8) ) { /* HW can't scale up by more than 8x */
pinfo.enabled = 0;
pinfo.pos_x = 0;
pinfo.pos_y = 0;
ioctl(dev_fd, OMAPFB_SETUP_PLANE, &pinfo);
+ ioctl(dev_fd, FBIOGET_FSCREENINFO, &finfo);
return;
}
@@ -403,9 +247,9 @@ static void omapfb_update(int x, int y, int out_w, int out_h, int show)
pinfo.out_width = out_w;
pinfo.out_height = out_h;
ioctl(dev_fd, OMAPFB_SETUP_PLANE, &pinfo);
+ ioctl(dev_fd, FBIOGET_FSCREENINFO, &finfo);
}
-
static int config(uint32_t width, uint32_t height, uint32_t d_width,
uint32_t d_height, uint32_t flags, char *title,
uint32_t format)
@@ -414,7 +258,56 @@ static int config(uint32_t width, uint32_t height, uint32_t d_width,
int i;
struct omapfb_color_key color_key;
+ XVisualInfo vinfo;
+ XSetWindowAttributes xswa;
+ XWindowAttributes attribs;
+ unsigned long xswamask;
+ int depth;
+
+ Window root, parent;
+ Window *child;
+ unsigned int n_children;
+
fullscreen_flag = flags & VOFLAG_FULLSCREEN;
+ if (!fb_overlay_only)
+ {
+ if (!title)
+ title = "MPlayer OMAPFB (X11/FB) render";
+
+ XGetWindowAttributes(mDisplay, mRootWin, &attribs);
+ depth = attribs.depth;
+ if (depth != 15 && depth != 16 && depth != 24 && depth != 32)
+ depth = 24;
+ XMatchVisualInfo(mDisplay, mScreen, depth, TrueColor, &vinfo);
+
+ xswa.border_pixel = 0;
+ xswa.background_pixel = xv_colorkey = TRANSPARENT_COLOR_KEY;
+
+ xswamask = CWBackPixel | CWBorderPixel;
+ xv_ck_info.method = CK_METHOD_BACKGROUND;
+
+ vo_x11_create_vo_window(&vinfo, vo_dx, vo_dy, vo_dwidth, vo_dheight,
+ flags, CopyFromParent, "omapfb", title);
+ XChangeWindowAttributes(mDisplay, vo_window, xswamask, &xswa);
+
+ /* Need to receive events on the parent window -- so when it is
+ moved / resized / etc., we know. */
+ if(WinID > 0)
+ {
+ /* Query window tree information */
+ XQueryTree(mDisplay, vo_window, &root, &parent, &child, &n_children);
+ if (n_children)
+ XFree(child);
+
+ XUnmapWindow(mDisplay, vo_window);
+ if (parent)
+ XSelectInput(mDisplay, parent, StructureNotifyMask);
+ XMapWindow(mDisplay, vo_window);
+ }
+
+ vo_calc_drwXY(&drwX, &drwY);
+ vo_xv_draw_colorkey(drwX, drwY, vo_dwidth - 1, vo_dheight - 1);
+ }
fbmem = mmap(NULL, minfo.size, PROT_READ|PROT_WRITE, MAP_SHARED, dev_fd, 0);
if (fbmem == MAP_FAILED) {
@@ -452,12 +345,8 @@ static int config(uint32_t width, uint32_t height, uint32_t d_width,
if (WinID <= 0) {
if (fullscreen_flag) {
- if (!fb_overlay_only)
- x11_set_fullscreen_state(display, win, 1);
omapfb_update(0, 0, sinfo_p0.xres, sinfo_p0.yres, 1);
} else {
- if (!fb_overlay_only)
- x11_set_fullscreen_state(display, win, 0);
omapfb_update(sinfo_p0.xres / 2 - sinfo.xres / 2, sinfo_p0.yres / 2 - sinfo.yres / 2, sinfo.xres, sinfo.yres, 1);
}
}
@@ -475,25 +364,21 @@ static int config(uint32_t width, uint32_t height, uint32_t d_width,
return 0;
}
-
static void draw_alpha(int x0, int y0, int w, int h, unsigned char *src, unsigned char *srca, int stride)
{
- vo_draw_alpha_yuy2(w, h, src, srca, stride, fb_pages[page].buf + sinfo.xres * y0 * 2 + x0 * 2, sinfo.xres);
+ vo_draw_alpha_yuy2(w, h, src, srca, stride, fb_pages[page].buf + y0 * finfo.line_length + x0 * 2, finfo.line_length);
}
-
static void draw_osd(void)
{
vo_draw_text(sinfo.xres, sinfo.yres, draw_alpha);
}
-
static int draw_frame(uint8_t *src[])
{
return 1;
}
-
static int draw_slice(uint8_t *src[], int stride[], int w, int h, int x, int y)
{
if (x!=0)
@@ -504,12 +389,10 @@ static int draw_slice(uint8_t *src[], int stride[], int w, int h, int x, int y)
ioctl(dev_fd, OMAPFB_SYNC_GFX);
- yuv420_to_yuv422(fb_pages[page].buf + 2 * sinfo.xres * y, src[0], src[1], src[2], w & ~15, h, stride[0], stride[1], 2 * sinfo.xres_virtual);
-
+ yuv420_to_yuv422(fb_pages[page].buf + y * finfo.line_length, src[0], src[1], src[2], w & ~15, h, stride[0], stride[1], finfo.line_length);
return 0;
}
-
static void flip_page(void)
{
if (fb_page_flip) {
@@ -520,7 +403,6 @@ static void flip_page(void)
}
}
-
static int query_format(uint32_t format)
{
// For simplicity pretend that we can only do YV12, support for
@@ -563,17 +445,20 @@ static int control(uint32_t request, void *data, ...)
if (WinID > 0) return VO_FALSE;
if (fullscreen_flag) {
if (!fb_overlay_only)
- x11_set_fullscreen_state(display, win, 0);
+ vo_x11_fullscreen();
fullscreen_flag = 0;
omapfb_update(sinfo_p0.xres / 2 - sinfo.xres / 2, sinfo_p0.yres / 2 - sinfo.yres / 2, sinfo.xres, sinfo.yres, 1);
} else {
if (!fb_overlay_only)
- x11_set_fullscreen_state(display, win, 1);
+ vo_x11_fullscreen();
fullscreen_flag = 1;
omapfb_update(0, 0, sinfo_p0.xres, sinfo_p0.yres, 1);
}
return VO_TRUE;
}
+ case VOCTRL_UPDATE_SCREENINFO:
+ update_xinerama_info();
+ return VO_TRUE;
}
return VO_NOTIMPL;
}
diff --git a/recipes/mplayer/mplayer_svn.bb b/recipes/mplayer/mplayer_svn.bb
index fa39d796fd..3042a3ced0 100644
--- a/recipes/mplayer/mplayer_svn.bb
+++ b/recipes/mplayer/mplayer_svn.bb
@@ -16,7 +16,7 @@ SRC_URI = "svn://svn.mplayerhq.hu/mplayer;module=trunk \
"
SRC_URI_append_armv7a = " \
-# file://omapfb.patch;patch=1 \
+ file://omapfb.patch;patch=1 \
file://vo_omapfb.c \
file://yuv.S \
"
@@ -37,7 +37,7 @@ RCONFLICTS_${PN} = "mplayer-atty"
RREPLACES_${PN} = "mplayer-atty"
PV = "0.0+1.0rc2+svnr${SRCREV}"
-PR = "r9"
+PR = "r10"
DEFAULT_PREFERENCE = "-1"
DEFAULT_PREFERENCE_armv7a = "1"
@@ -198,6 +198,8 @@ do_configure_prepend_armv7a() {
cp ${WORKDIR}/vo_omapfb.c ${S}/libvo
cp ${STAGING_KERNEL_DIR}/arch/arm/plat-omap/include/mach/omapfb.h ${S}/libvo/omapfb.h || true
cp ${STAGING_KERNEL_DIR}/include/asm-arm/arch-omap/omapfb.h ${S}/libvo/omapfb.h || true
+ cp ${STAGING_KERNEL_DIR}/include/linux/omapfb.h ${S}/libvo/omapfb.h || true
+ sed -e 's/__user//g' -i ${S}/libvo/omapfb.h || true
}
CFLAGS_append = " -I${S}/libdvdread4 "
diff --git a/recipes/nautilus/nautilus-cd-burner/makefile.patch b/recipes/nautilus/nautilus-cd-burner/makefile.patch
deleted file mode 100644
index ece201e25d..0000000000
--- a/recipes/nautilus/nautilus-cd-burner/makefile.patch
+++ /dev/null
@@ -1,42 +0,0 @@
---- nautilus-cd-burner-2.8.5/Makefile.am 2004-10-20 15:52:13.000000000 -0700
-+++ nautilus-cd-burner-2.8.5.new/Makefile.am 2004-11-15 16:57:16.530130640 -0700
-@@ -52,6 +51,8 @@
- CLEANFILES = $(desktop_in_files:.desktop.in=.desktop) \
- $(schema_DATA) $(CDRECMARSHALFILES)
-
-+DISTCLEANFILES = intltool-extract intltool-merge intltool-update
-+
- modulesconfdir=$(sysconfdir)/gnome-vfs-2.0/modules
- modulesconf_DATA = mapping-modules.conf
- modulesdir = $(libdir)/gnome-vfs-2.0/modules
-@@ -109,6 +110,12 @@
- mapping-protocol.c \
- $(NULL)
-
-+# we set this so that Automake will use different file names when
-+# compiling, so that the copy of mapping-method.o compiled for
-+# libmapping.la doesn't conflict with the copy compiled for
-+# mapping-daemon (the library one should be PIC code).
-+libmapping_la_CFLAGS =
-+
- libmapping_la_LDFLAGS = $(module_flags)
- libmapping_la_LIBADD = $(MAPPING_LIBS)
-
-@@ -142,12 +149,11 @@
-
- if LIBSTDCXX_HACK
- AM_CXXFLAGS = -fno-exceptions -fno-rtti
--CXXLD=--tag=CC $(CXX)
--else
--# If we don't set it, it doesn't seem to appear in the Makefile at all
--# and we can't recursively set it, hence
--CXXLD=$(CXX)
--endif
-+CXX_LINK_TAG = --tag=CC
-+endif
-+CXXLINK = $(LIBTOOL) --mode=link $(CXX_LINK_TAG) $(CXXLD) $(AM_CXXFLAGS) \
-+ $(CXXFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
-+
-
- libnautilus_burn_la_LIBADD = $(BURN_LIBS)
- libnautilus_burnincludedir = $(includedir)/libnautilus-burn/
diff --git a/recipes/nautilus/nautilus-cd-burner_2.24.0.bb b/recipes/nautilus/nautilus-cd-burner_2.24.0.bb
new file mode 100644
index 0000000000..4d8394ed10
--- /dev/null
+++ b/recipes/nautilus/nautilus-cd-burner_2.24.0.bb
@@ -0,0 +1,22 @@
+DESCRIPTION = "Easy To Use GNOME CD/DVD Burning Application"
+LICENSE = "LGPL GPL"
+SECTION = "x11/gnome"
+inherit gnome
+
+DEPENDS="dbus-glib eel glib-2.0 gtk+ hal libglade libgnomeui nautilus"
+# recipe does not exist yet:
+#DEPENDS += "gnome-mount"
+# FIXME: recipes are missing
+#RDEPENDS = "genisoimage growisofs wodim"
+
+PACKAGES += "nautilus-extension-nautilus-cd-burner"
+FILES_nautilus-extension-nautilus-cd-burner = "${libdir}/nautilus"
+FILES_${PN}-dbg += "${libdir}/nautilus/extensions-*/.debug"
+
+do_install_append() {
+ rm ${D}${libdir}/nautilus/extensions-*/*.la
+}
+
+do_stage() {
+ autotools_stage_all
+}
diff --git a/recipes/nautilus/nautilus-cd-burner_2.8.5.bb b/recipes/nautilus/nautilus-cd-burner_2.8.5.bb
deleted file mode 100644
index 71f0a5c44e..0000000000
--- a/recipes/nautilus/nautilus-cd-burner_2.8.5.bb
+++ /dev/null
@@ -1,30 +0,0 @@
-# nautilus-cd-burner OE build file
-# Copyright (C) 2005, Advanced Micro Devices, Inc. All Rights Reserved
-# Released under the MIT license (see packages/COPYING)
-
-inherit gnome
-LICENSE="GPL"
-
-DEPENDS="nautilus"
-
-SRC_URI += "file://makefile.patch;patch=1"
-
-EXTRA_OECONF = "--disable-gtk-doc"
-
-PACKAGES += "libnautilus-burn"
-
-FILES_${PN} = "/usr/share/* /usr/bin/* /etc /usr/lib/gnome-vfs-2.0/* \
- /usr/lib/nautilus/*"
-FILES_libnautilus-burn="/usr/lib/*.so*"
-
-headers="bacon-cd-selection.h cd-drive.h cd-recorder.h"
-hdir="${STAGING_INCDIR}/libnautilus-burn"
-
-do_stage() {
- install -d ${hdir}
- for file in ${headers}; do
- install -m 0644 $file ${hdir}/$file
- done
-
- oe_libinstall libnautilus-burn ${STAGING_LIBDIR}
-}
diff --git a/recipes/netbase/netbase/bug/hosts b/recipes/netbase/netbase/bug/hosts
new file mode 100644
index 0000000000..789d660fa7
--- /dev/null
+++ b/recipes/netbase/netbase/bug/hosts
@@ -0,0 +1,3 @@
+127.0.0.1 localhost.localdomain localhost bug
+10.10.10.1 bughost
+
diff --git a/recipes/netbase/netbase/bug/interfaces b/recipes/netbase/netbase/bug/interfaces
new file mode 100644
index 0000000000..c4104840b5
--- /dev/null
+++ b/recipes/netbase/netbase/bug/interfaces
@@ -0,0 +1,39 @@
+# /etc/network/interfaces -- configuration file for ifup(8), ifdown(8)
+
+# The loopback interface
+auto lo
+iface lo inet loopback
+
+# Ethernet/RNDIS gadget (g_ether)
+# usbnet and static hwaddr for mac users
+auto usb0
+iface usb0 inet static
+ hwaddress ether A2:80:F4:8A:3C:91
+ address 10.10.10.10
+ netmask 255.255.255.0
+ gateway 10.10.10.1
+
+# Wireless interfaces
+iface wlan0 inet dhcp
+ wireless_mode managed
+ wireless_essid any
+ wpa-driver wext
+ wpa-conf /etc/wpa_supplicant.conf
+
+# Wired or wireless interfaces
+# Handylink Ethernet or Wifi bugmodule or USB Ethernet
+auto eth0
+iface eth0 inet dhcp
+ wireless_mode managed
+ wireless_essid any
+ wpa-driver wext
+ wpa-conf /etc/wpa_supplicant.conf
+#
+# Wired or wireless interfaces
+# Wifi bugmodule or USB Ethernet
+auto eth1
+iface eth1 inet dhcp
+ wireless_mode managed
+ wireless_essid any
+ wpa-driver wext
+ wpa-conf /etc/wpa_supplicant.conf
diff --git a/recipes/netbase/netbase_4.21.bb b/recipes/netbase/netbase_4.21.bb
index 04533d89b9..4dfc18223a 100644
--- a/recipes/netbase/netbase_4.21.bb
+++ b/recipes/netbase/netbase_4.21.bb
@@ -2,7 +2,7 @@ DESCRIPTION = "This package provides the necessary \
infrastructure for basic TCP/IP based networking."
SECTION = "base"
LICENSE = "GPL"
-PR = "r34"
+PR = "r35"
inherit update-rc.d
diff --git a/recipes/owfs/files/owhttpd b/recipes/owfs/files/owhttpd
new file mode 100755
index 0000000000..5d74d13d9d
--- /dev/null
+++ b/recipes/owfs/files/owhttpd
@@ -0,0 +1,60 @@
+#!/bin/sh
+
+PATH=/sbin:/bin:/usr/bin
+
+DAEMON="owhttpd"
+
+test -f /usr/bin/${DAEMON} || exit 0
+
+if test -f /etc/default/${DAEMON} ; then
+. /etc/default/${DAEMON}
+else
+:
+fi
+
+if [ "$START_OWHTTPD" != "yes" ]
+then
+ exit 0
+fi
+
+
+startdaemon(){
+ echo -n "Starting ${DAEMON}: "
+ start-stop-daemon --start -x /usr/bin/${DAEMON} -- ${CMDLINE} --pid_file /var/run/${DAEMON}.pid
+ echo "done"
+}
+
+stopdaemon(){
+ echo -n "Stopping ${DAEMON}: "
+ start-stop-daemon --stop -p /var/run/${DAEMON}.pid
+ echo "done"
+}
+
+
+
+case "$1" in
+ start)
+ startdaemon
+ ;;
+ stop)
+ stopdaemon
+ ;;
+ force-reload)
+ stopdaemon
+ startdaemon
+ ;;
+ restart)
+ stopdaemon
+ startdaemon
+ ;;
+ reload)
+ stopdaemon
+ startdaemon
+ ;;
+ *)
+ echo "Usage: ${DAEMON} { start | stop | restart | reload }" >&2
+ exit 1
+ ;;
+esac
+
+exit 0
diff --git a/recipes/owfs/files/owserver b/recipes/owfs/files/owserver
new file mode 100755
index 0000000000..b69ea53e37
--- /dev/null
+++ b/recipes/owfs/files/owserver
@@ -0,0 +1,59 @@
+#!/bin/sh
+
+PATH=/sbin:/bin:/usr/bin
+
+DAEMON="owserver"
+
+test -f /usr/bin/${DAEMON} || exit 0
+
+if test -f /etc/default/${DAEMON} ; then
+. /etc/default/${DAEMON}
+else
+:
+fi
+
+if [ "$START_OWSERVER" != "yes" ]
+then
+ exit 0
+fi
+
+startdaemon(){
+ echo -n "Starting ${DAEMON}: "
+ start-stop-daemon --start -x /usr/bin/${DAEMON} -- ${CMDLINE} --pid_file /var/run/${DAEMON}.pid
+ echo "done"
+}
+
+stopdaemon(){
+ echo -n "Stopping ${DAEMON}: "
+ start-stop-daemon --stop -p /var/run/${DAEMON}.pid
+ echo "done"
+}
+
+
+
+case "$1" in
+ start)
+ startdaemon
+ ;;
+ stop)
+ stopdaemon
+ ;;
+ force-reload)
+ stopdaemon
+ startdaemon
+ ;;
+ restart)
+ stopdaemon
+ startdaemon
+ ;;
+ reload)
+ stopdaemon
+ startdaemon
+ ;;
+ *)
+ echo "Usage: ${DAEMON} { start | stop | restart | reload }" >&2
+ exit 1
+ ;;
+esac
+
+exit 0
diff --git a/recipes/owfs/owfs_2.7p21.bb b/recipes/owfs/owfs_2.7p21.bb
new file mode 100644
index 0000000000..b195054737
--- /dev/null
+++ b/recipes/owfs/owfs_2.7p21.bb
@@ -0,0 +1,58 @@
+DESCRIPTION = "1-Wire file system"
+HOMEPAGE = "http://www.owfs.org/"
+SECTION = "console/network"
+PRIORITY = "optional"
+LICENSE = "GPLv2"
+DEPENDS += "fuse libusb"
+
+SRC_URI = "${SOURCEFORGE_MIRROR}/owfs/owfs-${PV}.tar.gz \
+ file://owhttpd \
+ file://owserver "
+
+inherit autotools update-rc.d
+
+EXTRA_OECONF = " \
+ --enable-owhttpd \
+ --enable-cache \
+ --enable-mt \
+ "
+
+do_install_prepend() {
+ install -d ${D}${sysconfdir}/default/
+ install -d ${D}${sysconfdir}/init.d/
+ install -m 0755 ${WORKDIR}/owhttpd ${D}${sysconfdir}/init.d/owhttpd
+ install -m 0755 ${WORKDIR}/owserver ${D}${sysconfdir}/init.d/owserver
+}
+do_stage() {
+ autotools_stage_all
+}
+
+PACKAGES =+ "owftpd owhttpd owserver owshell libowcapi libow libownet owmon owtap"
+
+DESCRIPTION_owftpd = "Anoymous FTP server for 1-wire access"
+DESCRIPTION_owhttpd = "Tiny webserver for 1-wire control"
+DESCRIPTION_owserver = "Backend server (daemon) for 1-wire control"
+DESCRIPTION_owshell = "owdir owread owwrite owpresent owget - lightweight owserver access"
+DESCRIPTION_libowcapi = "easy C-language 1-wire interface "
+DESCRIPTION_libow = "easy C-language 1-wire interface to the owserver protocol"
+DESCRIPTION_libownet = "easy C-language 1-wire interface to the owserver protocol"
+DESCRIPTION_owmon = "Monitor for owserver settings and statistics"
+DESCRIPTION_owtap = "Packet sniffer for the owserver protocol"
+
+FILES_owftpd = "${bindir}/owftpd"
+FILES_owhttpd = "${bindir}/owhttpd ${sysconfdir}/init.d/owhttpd"
+FILES_owserver = "${bindir}/owserver ${sysconfdir}/init.d/owserver"
+FILES_owshell = "${bindir}/owread ${bindir}/owwrite \
+ ${bindir}/owdir ${bindir}/owpresent \
+ ${bindir}/owget ${bindir}/owside"
+FILES_owmon = "${bindir}/owmon"
+FILES_owtap = "${bindir}/owtap"
+FILES_libowcapi = "${libdir}/libowcapi-*"
+FILES_libow = "${libdir}/libow-*"
+FILES_libownet = "${libdir}/libownet-*"
+
+INITSCRIPT_PACKAGES = "owhttpd owserver"
+INITSCRIPT_NAME_owserver = "owserver"
+INITSCRIPT_NAME_owhttpd = "owhttpd"
+INITSCRIPT_PARAMS_owserver = "defaults 20"
+INITSCRIPT_PARAMS_owhttpd = "defaults 21"
diff --git a/recipes/powertop/powertop_1.11.bb b/recipes/powertop/powertop_1.11.bb
index 2fb8061c59..2f2a3a4255 100644
--- a/recipes/powertop/powertop_1.11.bb
+++ b/recipes/powertop/powertop_1.11.bb
@@ -3,12 +3,17 @@ HOMEPAGE = "http://www.linuxpowertop.org/"
LICENSE = "GPLv2"
DEPENDS = "virtual/libintl ncurses"
+PR = "r1"
+
SRC_URI = "http://www.lesswatts.org/projects/powertop/download/powertop-${PV}.tar.gz"
-SRC_URI_append_beagleboard = " file://omap.patch;patch=1;pnum=0"
+SRC_URI_append_armv7a = " file://omap.patch;patch=1;pnum=0"
CFLAGS += "${LDFLAGS}"
-CFLAGS_beagleboard += "-DOMAP3"
+CFLAGS_append_beagleboard = " -DOMAP3"
+CFLAGS_append_overo = " -DOMAP3"
+CFLAGS_append_omap3evm = " -DOMAP3"
+
do_configure() {
# We do not build ncurses with wide char support
diff --git a/recipes/pthsem/files/ldflags.patch b/recipes/pthsem/files/ldflags.patch
new file mode 100644
index 0000000000..74fd60b4f8
--- /dev/null
+++ b/recipes/pthsem/files/ldflags.patch
@@ -0,0 +1,16 @@
+diff -urN pth-2.0.2.orig/Makefile.in pth-2.0.2/Makefile.in
+--- pth-2.0.2.orig/Makefile.in 2004-07-13 10:48:10.000000000 +0000
++++ pth-2.0.2/Makefile.in 2009-04-06 12:12:37.000000000 +0000
+@@ -168,10 +168,10 @@
+
+ # build the static and possibly shared libraries
+ libpthsem.la: $(LOBJS)
+- $(LIBTOOL) --mode=link --quiet $(CC) -o libpthsem.la $(LOBJS) \
++ $(LIBTOOL) --mode=link --quiet $(CC) $(LDFLAGS) -o libpthsem.la $(LOBJS) \
+ -rpath $(libdir) -version-info `$(SHTOOL) version -lc -dlibtool $(_VERSION_FILE)`
+ libpthread.la: pthread.lo $(LOBJS)
+- $(LIBTOOL) --mode=link --quiet $(CC) -o libpthread.la pthread.lo $(LOBJS) \
++ $(LIBTOOL) --mode=link --quiet $(CC) $(LDFLAGS) -o libpthread.la pthread.lo $(LOBJS) \
+ -rpath $(libdir) -version-info `$(SHTOOL) version -lc -dlibtool $(_VERSION_FILE)`
+
+ # build the manual pages
diff --git a/recipes/pthsem/pthsem_2.0.7.bb b/recipes/pthsem/pthsem_2.0.7.bb
new file mode 100644
index 0000000000..30e2f176e0
--- /dev/null
+++ b/recipes/pthsem/pthsem_2.0.7.bb
@@ -0,0 +1,31 @@
+DESCRIPTION = "GNU Portable Threads replacement with semaphore support"
+SECTION = "libs"
+PRIORITY = "optional"
+LICENSE = "GPL LGPL FDL"
+PR = "r0"
+
+SRC_URI = "https://www.auto.tuwien.ac.at/~mkoegler/pth/pthsem-${PV}.tar.gz \
+ file://ldflags.patch;patch=1 \
+ "
+
+inherit autotools binconfig
+
+do_configure() {
+ gnu-configize
+ oe_runconf
+}
+do_install_prepend() {
+ cp ${S}/pth-config ${S}/pthsem-config
+}
+do_stage() {
+ oe_libinstall -so libpthsem ${STAGING_LIBDIR}
+ install -d ${STAGING_INCDIR}/
+ install -m 0644 ${S}/pth.h ${STAGING_INCDIR}/pthsem.h
+ install -d ${STAGING_BINDIR}/
+ install -d ${STAGING_DATADIR}/aclocal
+ install pth.m4 ${STAGING_DATADIR}/aclocal/pthsem.m4
+}
+
+BINCONFIG_GLOB = "pthsem-config"
+
+PARALLEL_MAKE = ""
diff --git a/recipes/pulseaudio/libcanberra_0.10.bb b/recipes/pulseaudio/libcanberra_0.12.bb
index c88ad4e731..42fc3c68a8 100644
--- a/recipes/pulseaudio/libcanberra_0.10.bb
+++ b/recipes/pulseaudio/libcanberra_0.12.bb
@@ -19,9 +19,5 @@ FILES_${PN}-dbg += "${libdir}/gtk-2.0/modules/.debug"
AUTOTOOLS_STAGE_PKGCONFIG = "1"
do_stage() {
- autotools_stage_all
+ autotools_stage_all
}
-
-
-
-
diff --git a/recipes/pxaregs/pxaregs_1.14.bb b/recipes/pxaregs/pxaregs_1.14.bb
index d57dacef51..ada5220bf0 100644
--- a/recipes/pxaregs/pxaregs_1.14.bb
+++ b/recipes/pxaregs/pxaregs_1.14.bb
@@ -12,7 +12,7 @@ SRC_URI = "http://www.mn-logistik.de/unsupported/pxa250/pxaregs.c \
S = "${WORKDIR}"
do_compile() {
- ${CC} pxaregs.c -o pxaregs ${CFLAGS}
+ ${CC} pxaregs.c -o pxaregs ${CFLAGS} ${LDFLAGS}
}
do_install() {
diff --git a/recipes/python/python-evas_svn.bb b/recipes/python/python-evas_svn.bb
index 8a95b4418c..3af7afdf63 100644
--- a/recipes/python/python-evas_svn.bb
+++ b/recipes/python/python-evas_svn.bb
@@ -3,4 +3,5 @@ DEPENDS += "evas"
do_stage() {
distutils_stage_all
+ distutils_stage_headers
}
diff --git a/recipes/qt4/files/4.5.0/0003-no-tools.patch b/recipes/qt4/files/4.5.1/0003-no-tools.patch
index 3829ffcdc5..3829ffcdc5 100644
--- a/recipes/qt4/files/4.5.0/0003-no-tools.patch
+++ b/recipes/qt4/files/4.5.1/0003-no-tools.patch
diff --git a/recipes/qt4/files/4.5.0/0006-freetype-host-includes.patch b/recipes/qt4/files/4.5.1/0006-freetype-host-includes.patch
index 987c425138..987c425138 100644
--- a/recipes/qt4/files/4.5.0/0006-freetype-host-includes.patch
+++ b/recipes/qt4/files/4.5.1/0006-freetype-host-includes.patch
diff --git a/recipes/qt4/files/4.5.0/0007-openssl-host-includes.patch b/recipes/qt4/files/4.5.1/0007-openssl-host-includes.patch
index 3409cc0bf2..3409cc0bf2 100644
--- a/recipes/qt4/files/4.5.0/0007-openssl-host-includes.patch
+++ b/recipes/qt4/files/4.5.1/0007-openssl-host-includes.patch
diff --git a/recipes/qt4/files/4.5.0/0008-qt-lib-infix.patch b/recipes/qt4/files/4.5.1/0008-qt-lib-infix.patch
index 3efaff37d3..3efaff37d3 100644
--- a/recipes/qt4/files/4.5.0/0008-qt-lib-infix.patch
+++ b/recipes/qt4/files/4.5.1/0008-qt-lib-infix.patch
diff --git a/recipes/qt4/files/4.5.0/0010-no-simpledecoration-example.patch b/recipes/qt4/files/4.5.1/0010-no-simpledecoration-example.patch
index 070b4ac9c1..070b4ac9c1 100644
--- a/recipes/qt4/files/4.5.0/0010-no-simpledecoration-example.patch
+++ b/recipes/qt4/files/4.5.1/0010-no-simpledecoration-example.patch
diff --git a/recipes/qt4/files/linux.conf b/recipes/qt4/files/linux.conf
index 3471c6f9f6..90b8d65aba 100644
--- a/recipes/qt4/files/linux.conf
+++ b/recipes/qt4/files/linux.conf
@@ -28,6 +28,8 @@ QMAKE_MOC = $(OE_QMAKE_MOC)
QMAKE_UIC = $(OE_QMAKE_UIC)
QMAKE_UIC3 = $(OE_QMAKE_UIC3)
QMAKE_RCC = $(OE_QMAKE_RCC)
+QMAKE_QDBUSCPP2XML = $(OE_QMAKE_QDBUSCPP2XML)
+QMAKE_QDBUSXML2CPP = $(OE_QMAKE_QDBUSXML2CPP)
QMAKE_AR = $(OE_QMAKE_AR) cqs
QMAKE_OBJCOPY = objcopy
diff --git a/recipes/qt4/qt4-embedded_4.5.0.bb b/recipes/qt4/qt4-embedded_4.5.1.bb
index 35b56de48a..5da55f9c1c 100644
--- a/recipes/qt4/qt4-embedded_4.5.0.bb
+++ b/recipes/qt4/qt4-embedded_4.5.1.bb
@@ -4,7 +4,6 @@ LICENSE = "GPL LGPL QPL"
PRIORITY = "optional"
HOMEPAGE = "http://www.trolltech.com"
DEPENDS += "tslib"
-PR = "r1"
DEFAULT_PREFERENCE = "-1"
SRC_URI = "ftp://ftp.trolltech.com/qt/source/qt-embedded-linux-opensource-src-${PV}.tar.bz2 \
diff --git a/recipes/qt4/qt4-tools-native.inc b/recipes/qt4/qt4-tools-native.inc
index df5afd3c15..a79eed4810 100644
--- a/recipes/qt4/qt4-tools-native.inc
+++ b/recipes/qt4/qt4-tools-native.inc
@@ -1,5 +1,5 @@
DESCRIPTION = "Native tools for Qt/[X11|Mac|Embedded] version 4.x"
-DEPENDS = "zlib-native"
+DEPENDS = "zlib-native dbus-native"
SECTION = "libs"
HOMEPAGE = "http://www.trolltech.com"
PRIORITY = "optional"
@@ -30,13 +30,14 @@ EXTRA_OECONF = "-prefix ${prefix} \
EXTRA_OEMAKE = " "
do_configure() {
- echo yes | LFLAGS="-L${STAGING_LIBDIR_NATIVE}" ./configure ${EXTRA_OECONF} || die "Configuring qt failed. EXTRA_OECONF was ${EXTRA_OECONF}"
+ (echo o; echo yes) | LFLAGS="-L${STAGING_LIBDIR_NATIVE}" ./configure ${EXTRA_OECONF} || die "Configuring qt failed. EXTRA_OECONF was ${EXTRA_OECONF}"
}
TOBUILD = "\
src/tools/moc \
src/corelib \
src/sql \
+ src/dbus \
src/qt3support \
src/xml \
src/tools/uic \
@@ -46,6 +47,7 @@ TOBUILD = "\
src/tools/uic3 \
tools/linguist/lrelease \
tools/linguist/lupdate \
+ tools/qdbus \
"
do_compile() {
@@ -57,7 +59,7 @@ do_compile() {
do_stage() {
install -d ${STAGING_BINDIR_NATIVE}/
install -m 0755 bin/qmake ${STAGING_BINDIR_NATIVE}/qmake2
- for i in moc uic uic3 rcc lrelease lupdate; do
+ for i in moc uic uic3 rcc lrelease lupdate qdbuscpp2xml qdbusxml2cpp; do
install -m 0755 bin/${i} ${STAGING_BINDIR_NATIVE}/${i}4
done
diff --git a/recipes/qt4/qt4-tools-native_4.4.3.bb b/recipes/qt4/qt4-tools-native_4.4.3.bb
index ef86db4703..e8fc316145 100644
--- a/recipes/qt4/qt4-tools-native_4.4.3.bb
+++ b/recipes/qt4/qt4-tools-native_4.4.3.bb
@@ -1,2 +1,2 @@
require qt4-tools-native.inc
-PR = "r3"
+PR = "r4"
diff --git a/recipes/qt4/qt4-tools-native_4.5.0.bb b/recipes/qt4/qt4-tools-native_4.5.1.bb
index ab633149ba..ab633149ba 100644
--- a/recipes/qt4/qt4-tools-native_4.5.0.bb
+++ b/recipes/qt4/qt4-tools-native_4.5.1.bb
diff --git a/recipes/qt4/qt4-x11-free_4.5.0.bb b/recipes/qt4/qt4-x11-free_4.5.1.bb
index 0ffbbc2e09..0ffbbc2e09 100644
--- a/recipes/qt4/qt4-x11-free_4.5.0.bb
+++ b/recipes/qt4/qt4-x11-free_4.5.1.bb
diff --git a/recipes/qt4/qt4.inc b/recipes/qt4/qt4.inc
index fb44e58faa..3deffa6617 100644
--- a/recipes/qt4/qt4.inc
+++ b/recipes/qt4/qt4.inc
@@ -62,7 +62,7 @@ OTHER_PACKAGES = "\
${QT_BASE_NAME}-pixeltool"
PACKAGES += "${LIB_PACKAGES} ${DEV_PACKAGES} ${DBG_PACKAGES} ${OTHER_PACKAGES}"
-PACKAGES_DYNAMIC = "${QT_BASE_NAME}-plugin-*"
+PACKAGES_DYNAMIC = "${QT_BASE_NAME}-plugin-* ${QT_BASE_NAME}-translation-*"
ALLOW_EMPTY_${PN} = "1"
FILES_${PN} = ""
@@ -103,7 +103,7 @@ do_configure() {
echo "Examples=${bindir}/${QT_DIR_NAME}/examples" >> $QT_CONF_PATH
echo "Demos=${bindir}/${QT_DIR_NAME}/demos" >> $QT_CONF_PATH
- echo yes | ./configure -v \
+ (echo o; echo yes) | ./configure -v \
-prefix ${prefix} \
-bindir ${bindir} \
-libdir ${libdir} \
diff --git a/recipes/rpm/rpm-native_4.4.2.3.bb b/recipes/rpm/rpm-native_4.4.2.3.bb
index 287383c8c9..62cef86a72 100644
--- a/recipes/rpm/rpm-native_4.4.2.3.bb
+++ b/recipes/rpm/rpm-native_4.4.2.3.bb
@@ -3,6 +3,7 @@ inherit native distutils-native-base
require rpm-${PV}.inc
DEPENDS = "beecrypt-native gettext-native zlib-native file-native popt-native python-native"
+PACKAGES = ""
export localstatedir = "${layout_localstatedir}"
export varprefix = "${layout_localstatedir}"
diff --git a/recipes/siproxd/files/no-docs.patch b/recipes/siproxd/files/no-docs.patch
new file mode 100644
index 0000000000..499a5bb56b
--- /dev/null
+++ b/recipes/siproxd/files/no-docs.patch
@@ -0,0 +1,38 @@
+Taken from siproxd snapshot
+
+--- siproxd-0.7.1/configure.in 2008-02-02 20:13:31.000000000 +0300
++++ siproxd-0.7.2/configure.in 2009-03-01 18:41:27.000000000 +0300
+@@ -135,6 +141,33 @@
+
+
+ dnl **********************************************
++dnl * Building doc
++dnl **********************************************
++
++dnl
++dnl --enable-doc
++dnl
++
++ build_docs="yes";
++ AC_MSG_CHECKING(build documentation)
++ AC_ARG_ENABLE(doc,
++ [ --disable-doc build pdf/html doc (default=enabled)],
++ if test "x$enableval" = "xno"; then
++ build_docs="no";
++ fi
++ AC_MSG_RESULT($build_docs), AC_MSG_RESULT($build_docs))
++ if test "x$build_docs" = "xyes"; then
++ AC_CHECK_PROG(docbook2pdf,docbook2pdf,yes,)
++ AM_CONDITIONAL(have_docbook2pdf,test "$docbook2pdf" = "yes")
++ AC_CHECK_PROG(docbook2html,docbook2html,yes,)
++ AM_CONDITIONAL(have_docbook2html,test "$docbook2html" = "yes")
++ else
++ AM_CONDITIONAL(have_docbook2pdf,false)
++ AM_CONDITIONAL(have_docbook2html,false)
++ fi
++
++
++dnl **********************************************
+ dnl * Selection of static build variants
+ dnl **********************************************
+
diff --git a/recipes/siproxd/files/siproxd.init b/recipes/siproxd/files/siproxd.init
new file mode 100644
index 0000000000..4a40f18bcc
--- /dev/null
+++ b/recipes/siproxd/files/siproxd.init
@@ -0,0 +1,59 @@
+#!/bin/bash
+#
+# /etc/rc.d/init.d/siproxd
+#
+# Starts the siproxd daemon
+#
+# description: Listen and dispatch SIP messages
+# processname: siproxd
+
+
+DAEMON=/usr/sbin/siproxd
+NAME=siproxd
+
+test -x $DAEMON || exit 0
+
+start() {
+ echo -n $"Starting sip proxy: "
+ start-stop-daemon --start --quiet --pidfile /var/run/$NAME.pid \
+ --exec $DAEMON -- $DAEMON_OPTS || true
+ echo "$NAME."
+}
+
+stop() {
+ echo -n $"Stopping sip proxy: "
+ start-stop-daemon --stop --quiet --pidfile /var/run/$NAME.pid \
+ --exec $DAEMON || true
+ echo "$NAME."
+}
+
+
+restart() {
+ stop
+ start
+}
+
+reload() {
+ trap "" SIGHUP
+ killall -HUP siproxd
+}
+
+case "$1" in
+start)
+ start
+ ;;
+stop)
+ stop
+ ;;
+reload)
+ reload
+ ;;
+restart)
+ restart
+ ;;
+*)
+ echo $"Usage: $0 {start|stop|restart|reload}"
+ exit 1
+esac
+
+exit 0
diff --git a/recipes/siproxd/siproxd.inc b/recipes/siproxd/siproxd.inc
new file mode 100644
index 0000000000..1e7f3aea7b
--- /dev/null
+++ b/recipes/siproxd/siproxd.inc
@@ -0,0 +1,40 @@
+DESCRIPTION = "SIP proxy/masquerading daemon"
+SECTION = "net"
+DEPENDS = "libosip2"
+LICENSE = "GPL"
+
+SRC_URI = " \
+ ${SOURCEFORGE_MIRROR}/siproxd/siproxd-${PV}.tar.gz \
+ file://siproxd.init \
+ "
+
+inherit autotools update-rc.d
+
+INITSCRIPT_NAME = "siproxd"
+
+EXTRA_OECONF = "--disable-doc"
+
+do_configure() {
+ gnu-configize
+ aclocal
+ libtoolize --copy --force
+ automake --add-missing
+ autoreconf
+ oe_runconf
+}
+
+do_install_append() {
+ cp ${D}/${sysconfdir}/siproxd.conf.example ${D}/${sysconfdir}/siproxd.conf
+ sed -ri "s,^#?(pid_file)\ *=\ *.*$,\1 = /var/run/siproxd.pid," ${D}/${sysconfdir}/siproxd.conf
+ sed -ri "s,^#?(plugindir)\ *=\ *.*$,\1 = ${libdir}/siproxd/," ${D}/${sysconfdir}/siproxd.conf
+ install -d ${D}/${sysconfdir}/init.d
+ install -m 755 ${WORKDIR}/siproxd.init ${D}/${sysconfdir}/init.d/siproxd
+}
+
+CONFFILES_${PN} = " \
+ ${sysconfdir}/siproxd.conf \
+ ${sysconfdir}/siproxd_passwd.cfg \
+ "
+
+FILES_${PN} = "${sysconfdir} ${sbindir} ${libdir}/siproxd/*.so.*"
+FILES_${PN}-dev += "${libdir}/siproxd/*.so ${libdir}/siproxd/*.a ${libdir}/siproxd/*.la"
diff --git a/recipes/siproxd/siproxd_0.7.1.bb b/recipes/siproxd/siproxd_0.7.1.bb
new file mode 100644
index 0000000000..66c36d1740
--- /dev/null
+++ b/recipes/siproxd/siproxd_0.7.1.bb
@@ -0,0 +1,3 @@
+require siproxd.inc
+
+SRC_URI += "file://no-docs.patch;patch=1"
diff --git a/recipes/sqlite/sqlite3-native_3.6.13.bb b/recipes/sqlite/sqlite3-native_3.6.13.bb
new file mode 100644
index 0000000000..08208c4c74
--- /dev/null
+++ b/recipes/sqlite/sqlite3-native_3.6.13.bb
@@ -0,0 +1 @@
+require sqlite3-native.inc
diff --git a/recipes/sqlite/sqlite3_3.6.13.bb b/recipes/sqlite/sqlite3_3.6.13.bb
new file mode 100644
index 0000000000..53fd96c705
--- /dev/null
+++ b/recipes/sqlite/sqlite3_3.6.13.bb
@@ -0,0 +1 @@
+require sqlite3.inc
diff --git a/recipes/squashfs-tools/squashfs-tools-4.0/Makefile.patch b/recipes/squashfs-tools/squashfs-tools-4.0/Makefile.patch
new file mode 100644
index 0000000000..2c88aba2ae
--- /dev/null
+++ b/recipes/squashfs-tools/squashfs-tools-4.0/Makefile.patch
@@ -0,0 +1,60 @@
+Index: squashfs-tools/Makefile
+===================================================================
+--- squashfs-tools.orig/Makefile 2009-04-19 01:47:43.000000000 +0200
++++ squashfs-tools/Makefile 2009-04-19 01:52:36.000000000 +0200
+@@ -1,36 +1,48 @@
+ INSTALL_DIR = /usr/local/bin
+
+ INCLUDEDIR = .
++CFLAGS_R = -I$(INCLUDEDIR) -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE
++LIBS = -lz -lpthread
+
+ CFLAGS := -I$(INCLUDEDIR) -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -O2
+
+ all: mksquashfs unsquashfs
+
+ mksquashfs: mksquashfs.o read_fs.o sort.o swap.o pseudo.o
+- $(CC) mksquashfs.o read_fs.o sort.o swap.o pseudo.o -lz -lpthread -lm -o $@
++ $(CC) $(LDFLAGS) mksquashfs.o read_fs.o sort.o swap.o pseudo.o -lz -lpthread -lm -o $@
+
+ mksquashfs.o: mksquashfs.c squashfs_fs.h mksquashfs.h global.h sort.h squashfs_swap.h Makefile
++ $(CC) $(CFLAGS_R) $(CFLAGS) -c -o $@ $<
+
+ read_fs.o: read_fs.c squashfs_fs.h read_fs.h global.h squashfs_swap.h Makefile
++ $(CC) $(CFLAGS_R) $(CFLAGS) -c -o $@ $<
+
+ sort.o: sort.c squashfs_fs.h global.h sort.h Makefile
++ $(CC) $(CFLAGS_R) $(CFLAGS) -c -o $@ $<
+
+ swap.o: swap.c Makefile
++ $(CC) $(CFLAGS_R) $(CFLAGS) -c -o $@ $<
+
+ pseudo.o: pseudo.c pseudo.h Makefile
++ $(CC) $(CFLAGS_R) $(CFLAGS) -c -o $@ $<
+
+ unsquashfs: unsquashfs.o unsquash-1.o unsquash-2.o unsquash-3.o unsquash-4.o swap.o
+- $(CC) unsquashfs.o unsquash-1.o unsquash-2.o unsquash-3.o unsquash-4.o swap.o -lz -lpthread -lm -o $@
++ $(CC) $(LDFLAGS) unsquashfs.o unsquash-1.o unsquash-2.o unsquash-3.o unsquash-4.o swap.o -lz -lpthread -lm -o $@
+
+-unsquashfs.o: unsquashfs.h unsquashfs.c squashfs_fs.h squashfs_swap.h squashfs_compat.h global.h Makefile
++unsquashfs.o: unsquashfs.c unsquashfs.h squashfs_fs.h squashfs_swap.h squashfs_compat.h global.h Makefile
++ $(CC) $(CFLAGS_R) $(CFLAGS) -c -o $@ $<
+
+-unsquash-1.o: unsquashfs.h unsquash-1.c squashfs_fs.h squashfs_compat.h global.h Makefile
++unsquash-1.o: unsquash-1.c unsquashfs.h squashfs_fs.h squashfs_compat.h global.h Makefile
++ $(CC) $(CFLAGS_R) $(CFLAGS) -c -o $@ $<
+
+-unsquash-2.o: unsquashfs.h unsquash-2.c unsquashfs.h squashfs_fs.h squashfs_compat.h global.h Makefile
++unsquash-2.o: unsquash-2.c unsquashfs.h unsquashfs.h squashfs_fs.h squashfs_compat.h global.h Makefile
++ $(CC) $(CFLAGS_R) $(CFLAGS) -c -o $@ $<
+
+-unsquash-3.o: unsquashfs.h unsquash-3.c squashfs_fs.h squashfs_compat.h global.h Makefile
++unsquash-3.o: unsquash-3.c unsquashfs.h squashfs_fs.h squashfs_compat.h global.h Makefile
++ $(CC) $(CFLAGS_R) $(CFLAGS) -c -o $@ $<
+
+-unsquash-4.o: unsquashfs.h unsquash-4.c squashfs_fs.h squashfs_swap.h global.h Makefile
++unsquash-4.o: unsquash-4.c unsquashfs.h squashfs_fs.h squashfs_swap.h global.h Makefile
++ $(CC) $(CFLAGS_R) $(CFLAGS) -c -o $@ $<
+
+ clean:
+ -rm -f *.o mksquashfs unsquashfs
diff --git a/recipes/squashfs-tools/squashfs-tools-native_4.0.bb b/recipes/squashfs-tools/squashfs-tools-native_4.0.bb
new file mode 100644
index 0000000000..87ba761ce4
--- /dev/null
+++ b/recipes/squashfs-tools/squashfs-tools-native_4.0.bb
@@ -0,0 +1,11 @@
+require squashfs-tools_${PV}.bb
+PR = "r0"
+
+inherit native
+
+FILESPATH = "${@base_set_filespath([ '${FILE_DIRNAME}/squashfs-tools-${PV}', '${FILE_DIRNAME}/squashfs-tools', '${FILE_DIRNAME}/files', '${FILE_DIRNAME}' ], d)}"
+PACKAGES = ""
+
+do_stage () {
+ install -m 0755 mksquashfs ${STAGING_BINDIR}/
+}
diff --git a/recipes/squashfs-tools/squashfs-tools_4.0.bb b/recipes/squashfs-tools/squashfs-tools_4.0.bb
new file mode 100644
index 0000000000..8299cd6fdf
--- /dev/null
+++ b/recipes/squashfs-tools/squashfs-tools_4.0.bb
@@ -0,0 +1,12 @@
+require squashfs-tools.inc
+PR = "r0"
+
+DEFAULT_PREFERENCE = "-1"
+
+# some release have .tgz, some have .tar.gz, so keep that outside the .inc file
+
+#http://ovh.dl.sourceforge.net/sourceforge/squashfs/squashfs4.0.tar.gz
+
+SRC_URI = "${SOURCEFORGE_MIRROR}/squashfs/squashfs${@bb.data.getVar('PV',d,1).replace('r','-r')}.tar.gz \
+file://Makefile.patch;patch=1"
+
diff --git a/recipes/tasks/task-base.bb b/recipes/tasks/task-base.bb
index 2269662ebe..66c26af181 100644
--- a/recipes/tasks/task-base.bb
+++ b/recipes/tasks/task-base.bb
@@ -1,5 +1,5 @@
DESCRIPTION = "Merge machine and distro options to create a basic machine task/package"
-PR = "r82"
+PR = "r83"
inherit task
@@ -256,7 +256,7 @@ RRECOMMENDS_task-base-bluetooth = "\
kernel-module-hidp \
kernel-module-hci-uart \
kernel-module-sco \
- ${@base_contains('COMBINED_FEATURES', 'usbhost', 'kernel-module-hci-usb', '',d)} \
+ ${@base_contains('COMBINED_FEATURES', 'usbhost', 'kernel-module-btusb kernel-module-hci-usb', '',d)} \
${@base_contains('COMBINED_FEATURES', 'pcmcia', 'kernel-module-bluetooth3c-cs', '',d)} \
${@base_contains('COMBINED_FEATURES', 'pcmcia', 'kernel-module-bluecard-cs', '',d)} \
${@base_contains('COMBINED_FEATURES', 'pcmcia', 'kernel-module-bluetoothuart-cs', '',d)} \
diff --git a/recipes/tasks/task-openmoko-feed.bb b/recipes/tasks/task-openmoko-feed.bb
index 9a9e385cfa..670af8eafe 100644
--- a/recipes/tasks/task-openmoko-feed.bb
+++ b/recipes/tasks/task-openmoko-feed.bb
@@ -16,12 +16,16 @@ RDEPENDS_task-openmoko-feed = "\
eet evas ecore embryo epsilon edje efreet emotion epdf \
exhibit edje-viewer \
free42-vga \
- gpe-filemanager gpe-gallery gpe-timesheet gpe-todo \
+ gpe-filemanager gpe-gallery gpe-timesheet gpe-todo gpe-contacts \
+ leafpad abiword \
+ claws-mail claws-plugin-mailmbox claws-plugin-gtkhtml2-viewer claws-plugin-rssyl \
ipkg-link ipkg-utils \
joe \
kbdd \
kexec-tools \
midori \
+ dillo \
+ fennec \
${@base_conditional('ENTERPRISE_DISTRO', '1', '', 'mplayer', d)} \
mtpaint \
mysql \
diff --git a/recipes/tracker/tracker_0.5.4.bb b/recipes/tracker/tracker_0.5.4.bb
index 4753280190..e1a94b7328 100644
--- a/recipes/tracker/tracker_0.5.4.bb
+++ b/recipes/tracker/tracker_0.5.4.bb
@@ -1,6 +1,6 @@
DESCRIPTION = "Tracker is a tool designed to extract information and metadata about your personal data so that it can be searched easily and quickly."
LICENSE = "GPLv2"
-DEPENDS = "file gtk+ gstreamer gamin libgmime dbus poppler libexif libgsf"
+DEPENDS = "file gtk+ gstreamer gamin libgmime dbus poppler libexif libgsf libgnomecanvas"
PR = "r3"
diff --git a/recipes/tunctl/tunctl.inc b/recipes/tunctl/tunctl.inc
new file mode 100644
index 0000000000..c9c7e95664
--- /dev/null
+++ b/recipes/tunctl/tunctl.inc
@@ -0,0 +1,14 @@
+DESCRIPTION = "The tunctl tool for controlling the TUN/TAP driver in Linux."
+SECTION = "net"
+LICENSE = "GPL"
+
+SRC_URI = "${SOURCEFORGE_MIRROR}/tunctl/tunctl-${PV}.tar.gz"
+
+do_compile() {
+ oe_runmake tunctl
+}
+
+do_install() {
+ install -d ${D}/${sbindir}
+ install -m 755 tunctl ${D}/${sbindir}
+}
diff --git a/recipes/tunctl/tunctl_1.5.bb b/recipes/tunctl/tunctl_1.5.bb
new file mode 100644
index 0000000000..8a988a84f3
--- /dev/null
+++ b/recipes/tunctl/tunctl_1.5.bb
@@ -0,0 +1 @@
+require tunctl.inc
diff --git a/recipes/u-boot/u-boot-1.2.0/dm355-leopard.diff b/recipes/u-boot/u-boot-1.2.0/dm355-leopard.diff
index b614522f42..d37041fb99 100644
--- a/recipes/u-boot/u-boot-1.2.0/dm355-leopard.diff
+++ b/recipes/u-boot/u-boot-1.2.0/dm355-leopard.diff
@@ -65,8 +65,6 @@
cpu/arm926ejs/config.mk | 4
cpu/arm926ejs/interrupts.c | 148
cpu/arm926ejs/interrupts.c.orig | 191
- doc/README.SBC8560 | 57
- doc/README.sbc8560 | 53
drivers/Makefile | 4
drivers/davinci_i2c.c | 296
drivers/davinci_i2c.h | 87
@@ -159,14 +157,12 @@
include/asm/u-boot.h | 60
include/config.h | 2
include/config.mk | 3
- include/configs/SBC8560.h | 410 -
include/configs/davinci.h | 222
include/configs/dm355_evm.h | 227
include/configs/dm355_ipnc.h | 234
include/configs/dm355_leopard.h | 234
include/configs/dm700.h | 204
include/configs/omap2420h4.h | 2
- include/configs/sbc8560.h | 408 +
include/flash.h | 2
include/linux/mtd/nand.h | 190
include/linux/mtd/nand_ids.h | 1
@@ -11430,7 +11426,7 @@ diff -Nurd u-boot-1.2.0/board/dm355_leopard/dm355_leopard.c u-boot-1.2.0-leopard
+#define PLL1_POSTDIV *(volatile unsigned int *)0x01C40928
+#define PLL1_PLLDIV4 *(volatile unsigned int *)0x01C40960
+#define SYSTEM_MISC *(volatile unsigned int *)0x01C40038
-+#define MACH_DM355_LEOPARD 1381
++#define MACH_DM355_LEOPARD 2138
+
+#define W_SETUP 0x1 //0~f
+#define W_STROBE 0x3 //0~3f
@@ -19001,124 +18997,6 @@ diff -Nurd u-boot-1.2.0/cpu/arm926ejs/interrupts.c.orig u-boot-1.2.0-leopard/cpu
+}
+
+#endif /* CONFIG_INTEGRATOR */
-diff -Nurd u-boot-1.2.0/doc/README.SBC8560 u-boot-1.2.0-leopard/doc/README.SBC8560
---- u-boot-1.2.0/doc/README.SBC8560 1969-12-31 21:00:00.000000000 -0300
-+++ u-boot-1.2.0-leopard/doc/README.SBC8560 2007-12-04 07:50:40.000000000 -0300
-@@ -0,0 +1,57 @@
-+The port was tested on Wind River System Sbc8560 board
-+<www.windriver.com>. U-Boot was installed on the flash memory of the
-+CPU card (no the SODIMM).
-+
-+NOTE: Please configure uboot compile to the proper PCI frequency and
-+setup the appropriate DIP switch settings.
-+
-+SBC8560 board:
-+
-+Make sure boards switches are set to their appropriate conditions.
-+Refer to the Engineering Reference Guide ERG-00300-002. Of particular
-+importance are: 1) the settings for JP4 (JP4 1-3 and 2-4), which
-+select the on-board FLASH device (Intel 28F128Jx); 2) The settings
-+for the Clock SW9 (33 MHz or 66 MHz).
-+
-+ Note: SW9 Settings: 66 MHz
-+ 4:1 ratio CCB clocks:SYSCLK
-+ 3:1 ration e500 Core:CCB
-+ pos1 - on, pos2 - on, pos3 - off, pos4 - on, pos5 - off, pos6 - on
-+ Note: SW9 Settings: 33 MHz
-+ 8:1 ratio CCB clocks:SYSCLK
-+ 3:1 ration e500 Core:CCB
-+ pos1 - on, pos2 - on, pos3 - on, pos4 - off, pos5 - off, pos6 - on
-+
-+
-+Flashing the FLASH device with the "Wind River ICE":
-+
-+1) Properly connect and configure the Wind River ICE to the target
-+ JTAG port. This includes running the SBC8560 register script. Make
-+ sure target memory can be read and written.
-+
-+2) Build the u-boot image:
-+ make distclean
-+ make SBC8560_66_config or SBC8560_33_config
-+ make CROSS_COMPILE=.../ELDK3.0/ppc_8xx-/ all
-+
-+ Note: reference is made to the ELDK3.0 compiler. Further, it seems
-+ the ppc_8xx compiler is required for the 85xx (no 85xx
-+ designated compiler in ELDK3.0)
-+
-+3) Convert the uboot (.elf) file to a uboot.bin file (using
-+ visionClick converter). The bin file should be converted from
-+ fffc0000 to ffffffff
-+
-+4) Setup the Flash Utility (tools menu) for:
-+
-+ Do a "dc clr" [visionClick] to load the default register settings
-+ Determine the clock speed of the PCI bus and set SW9 accordingly
-+ Note: the speed of the PCI bus defaults to the slowest PCI card
-+ PlayBack the "default" register file for the SBC8560
-+ Select the uboot.bin file with zero bias
-+ Select the initialize Target prior to programming
-+ Select the V28F640Jx (8192 x 8) 1 device FLASH Algorithm
-+ Select the erase base address from FFFC0000 to FFFFFFFF
-+ Select the start address from 0 with size of 4000
-+
-+5) Erase and Program
-diff -Nurd u-boot-1.2.0/doc/README.sbc8560 u-boot-1.2.0-leopard/doc/README.sbc8560
---- u-boot-1.2.0/doc/README.sbc8560 2007-01-06 20:13:11.000000000 -0300
-+++ u-boot-1.2.0-leopard/doc/README.sbc8560 1969-12-31 21:00:00.000000000 -0300
-@@ -1,53 +0,0 @@
--The port was tested on Wind River System Sbc8560 board <www.windriver.com>.
--U-Boot was installed on the flash memory of the CPU card (no the SODIMM).
--
--NOTE: Please configure uboot compile to the proper PCI frequency and
--setup the appropriate DIP switch settings.
--
--SBC8560 board:
--
--Make sure boards switches are set to their appropriate conditions.
--Refer to the Engineering Reference Guide ERG-00300-002. Of particular
--importance are: 1)Tthe settings for JP4 (JP4 1-3 and 2-4), which
--select the on-board FLASH device (Intel 28F128Jx); 2) The settings
--for the Clock SW9 (33 MHz or 66 MHz).
--
-- Note: SW9 Settings: 66 MHz
-- 4:1 ratio CCB clocks:SYSCLK
-- 3:1 ration e500 Core:CCB
-- pos1 - on, pos2 - on, pos3 - off, pos4 - on, pos5 - off, pos6 - on
-- Note: SW9 Settings: 33 MHz
-- 8:1 ratio CCB clocks:SYSCLK
-- 3:1 ration e500 Core:CCB
-- pos1 - on, pos2 - on, pos3 - on, pos4 - off, pos5 - off, pos6 - on
--
--
--Flashing the FLASH device with the "Wind River ICE":
--
--1) Properly connect and configure the Wind River ICE to the
-- target JTAG port. This includes running the SBC8560 register script.
-- Make sure target memory can be read and written.
--
--2) Build the u-boot image:
-- make distclean
-- make SBC8560_66_config or SBC8560_33_config
-- make CROSS_COMPILE=.../ELDK3.0/ppc_8xx-/ all
--
-- Note: reference is made to the ELDK3.0 compiler but any 85xx cross-compiler
-- should suffice.
--
--3) Convert the uboot (.elf) file to a uboot.bin file (using visionClick converter).
-- The bin file should be converted from fffc0000 to ffffffff
--
--4) Setup the Flash Utility (tools menu) for:
--
-- Determine the clock speed of the PCI bus and set SW9 accordingly
-- Note: the speed of the PCI bus defaults to the slowest PCI card
-- PlayBack the "default" register file for the SBC8560
-- Select the uboot.bin file with zero bias
-- Select the initialize Target prior to programming
-- Select the V28F640Jx (8192 x 8) 1 device FLASH Algorithm
-- Select the erase base address from FFFC0000 to FFFFFFFF
-- Select the start address from 0 with size of 4000
--
--5) Erase and Program
diff -Nurd u-boot-1.2.0/drivers/Makefile u-boot-1.2.0-leopard/drivers/Makefile
--- u-boot-1.2.0/drivers/Makefile 2007-01-06 20:13:11.000000000 -0300
+++ u-boot-1.2.0-leopard/drivers/Makefile 2008-01-05 03:40:50.000000000 -0300
@@ -45550,420 +45428,6 @@ diff -Nurd u-boot-1.2.0/include/config.mk u-boot-1.2.0-leopard/include/config.mk
+ARCH = arm
+CPU = arm926ejs
+BOARD = dm355_leopard
-diff -Nurd u-boot-1.2.0/include/configs/SBC8560.h u-boot-1.2.0-leopard/include/configs/SBC8560.h
---- u-boot-1.2.0/include/configs/SBC8560.h 2007-01-06 20:13:11.000000000 -0300
-+++ u-boot-1.2.0-leopard/include/configs/SBC8560.h 1969-12-31 21:00:00.000000000 -0300
-@@ -1,410 +0,0 @@
--/*
-- * (C) Copyright 2002,2003 Motorola,Inc.
-- * Xianghua Xiao <X.Xiao@motorola.com>
-- *
-- * (C) Copyright 2004 Wind River Systems Inc <www.windriver.com>.
-- * Added support for Wind River SBC8560 board
-- *
-- * See file CREDITS for list of people who contributed to this
-- * project.
-- *
-- * 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 2 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, write to the Free Software
-- * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
-- * MA 02111-1307 USA
-- */
--
--/* mpc8560ads board configuration file */
--/* please refer to doc/README.mpc85xx for more info */
--/* make sure you change the MAC address and other network params first,
-- * search for CONFIG_ETHADDR,CONFIG_SERVERIP,etc in this file
-- */
--
--#ifndef __CONFIG_H
--#define __CONFIG_H
--
--#if XXX
--#define DEBUG /* General debug */
--#define ET_DEBUG
--#endif
--#define TSEC_DEBUG
--
--/* High Level Configuration Options */
--#define CONFIG_BOOKE 1 /* BOOKE */
--#define CONFIG_E500 1 /* BOOKE e500 family */
--#define CONFIG_MPC85xx 1 /* MPC8540/MPC8560 */
--#define CONFIG_MPC85xx_REV1 1 /* MPC85xx Rev 1.0 chip */
--
--
--#define CONFIG_CPM2 1 /* has CPM2 */
--#define CONFIG_SBC8560 1 /* configuration for SBC8560 board */
--
--#define CONFIG_MPC8560ADS 1 /* MPC8560ADS board specific (supplement) */
--
--#define CONFIG_TSEC_ENET /* tsec ethernet support */
--#undef CONFIG_PCI /* pci ethernet support */
--#undef CONFIG_ETHER_ON_FCC /* cpm FCC ethernet support */
--
--
--#define CONFIG_ENV_OVERWRITE
--
--/* Using Localbus SDRAM to emulate flash before we can program the flash,
-- * normally you need a flash-boot image(u-boot.bin), if so undef this.
-- */
--#undef CONFIG_RAM_AS_FLASH
--
--#if defined(CONFIG_PCI_66) /* some PCI card is 33Mhz only */
-- #define CONFIG_SYS_CLK_FREQ 66000000/* sysclk for MPC85xx */
--#else
-- #define CONFIG_SYS_CLK_FREQ 33000000/* most pci cards are 33Mhz */
--#endif
--
--/* below can be toggled for performance analysis. otherwise use default */
--#define CONFIG_L2_CACHE /* toggle L2 cache */
--#undef CONFIG_BTB /* toggle branch predition */
--#undef CONFIG_ADDR_STREAMING /* toggle addr streaming */
--
--#define CONFIG_BOARD_EARLY_INIT_F 1 /* Call board_early_init_f */
--
--#undef CFG_DRAM_TEST /* memory test, takes time */
--#define CFG_MEMTEST_START 0x00200000 /* memtest region */
--#define CFG_MEMTEST_END 0x00400000
--
--#if (defined(CONFIG_PCI) && defined(CONFIG_TSEC_ENET) || \
-- defined(CONFIG_PCI) && defined(CONFIG_ETHER_ON_FCC) || \
-- defined(CONFIG_TSEC_ENET) && defined(CONFIG_ETHER_ON_FCC))
--#error "You can only use ONE of PCI Ethernet Card or TSEC Ethernet or CPM FCC."
--#endif
--
--/*
-- * Base addresses -- Note these are effective addresses where the
-- * actual resources get mapped (not physical addresses)
-- */
--#define CFG_CCSRBAR_DEFAULT 0xff700000 /* CCSRBAR Default */
--
--#if XXX
-- #define CFG_CCSRBAR 0xfdf00000 /* relocated CCSRBAR */
--#else
-- #define CFG_CCSRBAR 0xff700000 /* default CCSRBAR */
--#endif
--#define CFG_IMMR CFG_CCSRBAR /* PQII uses CFG_IMMR */
--
--#define CFG_DDR_SDRAM_BASE 0x00000000 /* DDR is system memory */
--#define CFG_SDRAM_BASE CFG_DDR_SDRAM_BASE
--#define CFG_SDRAM_SIZE 512 /* DDR is 512MB */
--#define SPD_EEPROM_ADDRESS 0x55 /* DDR DIMM */
--
--#undef CONFIG_DDR_ECC /* only for ECC DDR module */
--#undef CONFIG_SPD_EEPROM /* Use SPD EEPROM for DDR setup */
--
--#if defined(CONFIG_MPC85xx_REV1)
-- #define CONFIG_DDR_DLL /* possible DLL fix needed */
--#endif
--
--#undef CONFIG_CLOCKS_IN_MHZ
--
--#if defined(CONFIG_RAM_AS_FLASH)
-- #define CFG_LBC_SDRAM_BASE 0xfc000000 /* Localbus SDRAM */
-- #define CFG_FLASH_BASE 0xf8000000 /* start of FLASH 8M */
-- #define CFG_BR0_PRELIM 0xf8000801 /* port size 8bit */
-- #define CFG_OR0_PRELIM 0xf8000ff7 /* 8MB Flash */
--#else /* Boot from real Flash */
-- #define CFG_LBC_SDRAM_BASE 0xf8000000 /* Localbus SDRAM */
-- #define CFG_FLASH_BASE 0xff800000 /* start of FLASH 8M */
-- #define CFG_BR0_PRELIM 0xff800801 /* port size 8bit */
-- #define CFG_OR0_PRELIM 0xff800ff7 /* 8MB Flash */
--#endif
--#define CFG_LBC_SDRAM_SIZE 64 /* LBC SDRAM is 64MB */
--
--/* local bus definitions */
--#define CFG_BR1_PRELIM 0xe4001801 /* 64M, 32-bit flash */
--#define CFG_OR1_PRELIM 0xfc000ff7
--
--#define CFG_BR2_PRELIM 0x00000000 /* CS2 not used */
--#define CFG_OR2_PRELIM 0x00000000
--
--#define CFG_BR3_PRELIM 0xf0001861 /* 64MB localbus SDRAM */
--#define CFG_OR3_PRELIM 0xfc000cc1
--
--#if defined(CONFIG_RAM_AS_FLASH)
-- #define CFG_BR4_PRELIM 0xf4001861 /* 64M localbus SDRAM */
--#else
-- #define CFG_BR4_PRELIM 0xf8001861 /* 64M localbus SDRAM */
--#endif
--#define CFG_OR4_PRELIM 0xfc000cc1
--
--#define CFG_BR5_PRELIM 0xfc000801 /* 16M CS5 misc devices */
--#if 1
-- #define CFG_OR5_PRELIM 0xff000ff7
--#else
-- #define CFG_OR5_PRELIM 0xff0000f0
--#endif
--
--#define CFG_BR6_PRELIM 0xe0001801 /* 64M, 32-bit flash */
--#define CFG_OR6_PRELIM 0xfc000ff7
--#define CFG_LBC_LCRR 0x00030002 /* local bus freq */
--#define CFG_LBC_LBCR 0x00000000
--#define CFG_LBC_LSRT 0x20000000
--#define CFG_LBC_MRTPR 0x20000000
--#define CFG_LBC_LSDMR_1 0x2861b723
--#define CFG_LBC_LSDMR_2 0x0861b723
--#define CFG_LBC_LSDMR_3 0x0861b723
--#define CFG_LBC_LSDMR_4 0x1861b723
--#define CFG_LBC_LSDMR_5 0x4061b723
--
--/* just hijack the MOT BCSR def for SBC8560 misc devices */
--#define CFG_BCSR ((CFG_BR5_PRELIM & 0xff000000)|0x00400000)
--/* the size of CS5 needs to be >= 16M for TLB and LAW setups */
--
--#define CONFIG_L1_INIT_RAM
--#define CFG_INIT_RAM_LOCK 1
--#define CFG_INIT_RAM_ADDR 0x70000000 /* Initial RAM address */
--#define CFG_INIT_RAM_END 0x4000 /* End of used area in RAM */
--
--#define CFG_GBL_DATA_SIZE 128 /* num bytes initial data */
--#define CFG_GBL_DATA_OFFSET (CFG_INIT_RAM_END - CFG_GBL_DATA_SIZE)
--#define CFG_INIT_SP_OFFSET CFG_GBL_DATA_OFFSET
--
--#define CFG_MONITOR_LEN (256 * 1024) /* Reserve 256 kB for Mon */
--#define CFG_MALLOC_LEN (128 * 1024) /* Reserved for malloc */
--
--/* Serial Port */
--#undef CONFIG_CONS_ON_SCC /* define if console on SCC */
--#undef CONFIG_CONS_NONE /* define if console on something else */
--
--#define CONFIG_CONS_INDEX 1
--#undef CONFIG_SERIAL_SOFTWARE_FIFO
--#define CFG_NS16550
--#define CFG_NS16550_SERIAL
--#define CFG_NS16550_REG_SIZE 1
--#define CFG_NS16550_CLK 1843200 /* get_bus_freq(0) */
--#define CONFIG_BAUDRATE 9600
--
--#define CFG_BAUDRATE_TABLE \
-- {300, 600, 1200, 2400, 4800, 9600, 19200, 38400,115200}
--
--#define CFG_NS16550_COM1 ((CFG_BR5_PRELIM & 0xff000000)+0x00700000)
--#define CFG_NS16550_COM2 ((CFG_BR5_PRELIM & 0xff000000)+0x00800000)
--
--/* Use the HUSH parser */
--#define CFG_HUSH_PARSER
--#ifdef CFG_HUSH_PARSER
--#define CFG_PROMPT_HUSH_PS2 "> "
--#endif
--
--/* I2C */
--#define CONFIG_HARD_I2C /* I2C with hardware support*/
--#undef CONFIG_SOFT_I2C /* I2C bit-banged */
--#define CFG_I2C_SPEED 400000 /* I2C speed and slave address */
--#define CFG_I2C_SLAVE 0x7F
--#define CFG_I2C_NOPROBES {0x69} /* Don't probe these addrs */
--
--#define CFG_PCI_MEM_BASE 0xC0000000
--#define CFG_PCI_MEM_PHYS 0xC0000000
--#define CFG_PCI_MEM_SIZE 0x10000000
--
--#if defined(CONFIG_TSEC_ENET) /* TSEC Ethernet port */
--
--# define CONFIG_NET_MULTI 1
--# define CONFIG_MII 1 /* MII PHY management */
--# define CONFIG_MPC85xx_TSEC1
--# define CONFIG_MPC85xx_TSEC1_NAME "TSEC0"
--# define TSEC1_PHY_ADDR 25
--# define TSEC1_PHYIDX 0
--/* Options are: TSEC0 */
--# define CONFIG_ETHPRIME "TSEC0"
--
--
--#elif defined(CONFIG_ETHER_ON_FCC) /* CPM FCC Ethernet */
--
-- #undef CONFIG_ETHER_NONE /* define if ether on something else */
-- #define CONFIG_ETHER_ON_FCC2 /* cpm FCC ethernet support */
-- #define CONFIG_ETHER_INDEX 2 /* which channel for ether */
--
-- #if (CONFIG_ETHER_INDEX == 2)
-- /*
-- * - Rx-CLK is CLK13
-- * - Tx-CLK is CLK14
-- * - Select bus for bd/buffers
-- * - Full duplex
-- */
-- #define CFG_CMXFCR_MASK (CMXFCR_FC2 | CMXFCR_RF2CS_MSK | CMXFCR_TF2CS_MSK)
-- #define CFG_CMXFCR_VALUE (CMXFCR_RF2CS_CLK13 | CMXFCR_TF2CS_CLK14)
-- #define CFG_CPMFCR_RAMTYPE 0
-- #define CFG_FCC_PSMR (FCC_PSMR_FDE)
--
-- #elif (CONFIG_ETHER_INDEX == 3)
-- /* need more definitions here for FE3 */
-- #endif /* CONFIG_ETHER_INDEX */
--
-- #define CONFIG_MII /* MII PHY management */
-- #define CONFIG_BITBANGMII /* bit-bang MII PHY management */
-- /*
-- * GPIO pins used for bit-banged MII communications
-- */
-- #define MDIO_PORT 2 /* Port C */
-- #define MDIO_ACTIVE (iop->pdir |= 0x00400000)
-- #define MDIO_TRISTATE (iop->pdir &= ~0x00400000)
-- #define MDIO_READ ((iop->pdat & 0x00400000) != 0)
--
-- #define MDIO(bit) if(bit) iop->pdat |= 0x00400000; \
-- else iop->pdat &= ~0x00400000
--
-- #define MDC(bit) if(bit) iop->pdat |= 0x00200000; \
-- else iop->pdat &= ~0x00200000
--
-- #define MIIDELAY udelay(1)
--
--#endif
--
--/*-----------------------------------------------------------------------
-- * FLASH and environment organization
-- */
--
--#define CFG_FLASH_CFI 1 /* Flash is CFI conformant */
--#define CFG_FLASH_CFI_DRIVER 1 /* Use the common driver */
--#if 0
--#define CFG_FLASH_USE_BUFFER_WRITE 1 /* use buffered writes (20x faster) */
--#define CFG_FLASH_PROTECTION /* use hardware protection */
--#endif
--#define CFG_MAX_FLASH_SECT 64 /* max number of sectors on one chip */
--#define CFG_MAX_FLASH_BANKS 1 /* max number of memory banks */
--
--#undef CFG_FLASH_CHECKSUM
--#define CFG_FLASH_ERASE_TOUT 200000 /* Timeout for Flash Erase (in ms) */
--#define CFG_FLASH_WRITE_TOUT 50000 /* Timeout for Flash Write (in ms) */
--
--#define CFG_MONITOR_BASE TEXT_BASE /* start of monitor */
--
--#if 0
--/* XXX This doesn't work and I don't want to fix it */
--#if (CFG_MONITOR_BASE < CFG_FLASH_BASE)
-- #define CFG_RAMBOOT
--#else
-- #undef CFG_RAMBOOT
--#endif
--#endif
--
--/* Environment */
--#if !defined(CFG_RAMBOOT)
-- #if defined(CONFIG_RAM_AS_FLASH)
-- #define CFG_ENV_IS_NOWHERE
-- #define CFG_ENV_ADDR (CFG_FLASH_BASE + 0x100000)
-- #define CFG_ENV_SIZE 0x2000
-- #else
-- #define CFG_ENV_IS_IN_FLASH 1
-- #define CFG_ENV_SECT_SIZE 0x20000 /* 128K(one sector) for env */
-- #define CFG_ENV_ADDR (CFG_MONITOR_BASE - CFG_ENV_SECT_SIZE)
-- #define CFG_ENV_SIZE 0x2000 /* CFG_ENV_SECT_SIZE */
-- #endif
--#else
-- #define CFG_NO_FLASH 1 /* Flash is not usable now */
-- #define CFG_ENV_IS_NOWHERE 1 /* Store ENV in memory only */
-- #define CFG_ENV_ADDR (CFG_MONITOR_BASE - 0x1000)
-- #define CFG_ENV_SIZE 0x2000
--#endif
--
--#define CONFIG_BOOTARGS "root=/dev/nfs rw nfsroot=192.168.0.251:/tftpboot ip=192.168.0.105:192.168.0.251::255.255.255.0:sbc8560:eth0:off console=ttyS0,9600"
--/*#define CONFIG_BOOTARGS "root=/dev/ram rw console=ttyS0,115200"*/
--#define CONFIG_BOOTCOMMAND "bootm 0xff800000 0xffa00000"
--#define CONFIG_BOOTDELAY 5 /* -1 disable autoboot */
--
--#define CONFIG_LOADS_ECHO 1 /* echo on for serial download */
--#define CFG_LOADS_BAUD_CHANGE 1 /* allow baudrate change */
--
--#if defined(CFG_RAMBOOT) || defined(CONFIG_RAM_AS_FLASH)
-- #if defined(CONFIG_PCI)
-- #define CONFIG_COMMANDS ((CONFIG_CMD_DFL | CFG_CMD_PCI | \
-- CFG_CMD_PING | CFG_CMD_I2C) & \
-- ~(CFG_CMD_ENV | \
-- CFG_CMD_LOADS ))
-- #elif (defined(CONFIG_TSEC_ENET) || defined(CONFIG_ETHER_ON_FCC))
-- #define CONFIG_COMMANDS ((CONFIG_CMD_DFL | CFG_CMD_MII | \
-- CFG_CMD_PING | CFG_CMD_I2C) & \
-- ~(CFG_CMD_ENV))
-- #endif
--#else
-- #if defined(CONFIG_PCI)
-- #define CONFIG_COMMANDS (CONFIG_CMD_DFL | CFG_CMD_PCI | \
-- CFG_CMD_PING | CFG_CMD_I2C)
-- #elif (defined(CONFIG_TSEC_ENET) || defined(CONFIG_ETHER_ON_FCC))
-- #define CONFIG_COMMANDS (CONFIG_CMD_DFL | CFG_CMD_MII | \
-- CFG_CMD_PING | CFG_CMD_I2C)
-- #endif
--#endif
--
--#include <cmd_confdefs.h>
--
--#undef CONFIG_WATCHDOG /* watchdog disabled */
--
--/*
-- * Miscellaneous configurable options
-- */
--#define CFG_LONGHELP /* undef to save memory */
--#define CFG_PROMPT "SBC8560=> " /* Monitor Command Prompt */
--#if (CONFIG_COMMANDS & CFG_CMD_KGDB)
-- #define CFG_CBSIZE 1024 /* Console I/O Buffer Size */
--#else
-- #define CFG_CBSIZE 256 /* Console I/O Buffer Size */
--#endif
--#define CFG_PBSIZE (CFG_CBSIZE+sizeof(CFG_PROMPT)+16) /* Print Buffer Size */
--#define CFG_MAXARGS 16 /* max number of command args */
--#define CFG_BARGSIZE CFG_CBSIZE /* Boot Argument Buffer Size */
--#define CFG_LOAD_ADDR 0x1000000 /* default load address */
--#define CFG_HZ 1000 /* decrementer freq: 1 ms ticks */
--
--/*
-- * For booting Linux, the board info and command line data
-- * have to be in the first 8 MB of memory, since this is
-- * the maximum mapped by the Linux kernel during initialization.
-- */
--#define CFG_BOOTMAPSZ (8 << 20) /* Initial Memory map for Linux */
--
--/* Cache Configuration */
--#define CFG_DCACHE_SIZE 32768
--#define CFG_CACHELINE_SIZE 32
--#if (CONFIG_COMMANDS & CFG_CMD_KGDB)
-- #define CFG_CACHELINE_SHIFT 5 /* log base 2 of the above value */
--#endif
--
--/*
-- * Internal Definitions
-- *
-- * Boot Flags
-- */
--#define BOOTFLAG_COLD 0x01 /* Normal Power-On: Boot from FLASH */
--#define BOOTFLAG_WARM 0x02 /* Software reboot */
--
--#if (CONFIG_COMMANDS & CFG_CMD_KGDB)
-- #define CONFIG_KGDB_BAUDRATE 230400 /* speed to run kgdb serial port */
-- #define CONFIG_KGDB_SER_INDEX 2 /* which serial port to use */
--#endif
--
--/*Note: change below for your network setting!!! */
--#if defined(CONFIG_TSEC_ENET) || defined(CONFIG_ETHER_ON_FCC)
--# define CONFIG_ETHADDR 00:vv:ww:xx:yy:8a
--# define CONFIG_HAS_ETH1
--# define CONFIG_ETH1ADDR 00:vv:ww:xx:yy:8b
--# define CONFIG_HAS_ETH2
--# define CONFIG_ETH2ADDR 00:vv:ww:xx:yy:8c
--#endif
--
--#define CONFIG_SERVERIP YourServerIP
--#define CONFIG_IPADDR YourTargetIP
--#define CONFIG_GATEWAYIP YourGatewayIP
--#define CONFIG_NETMASK 255.255.255.0
--#define CONFIG_HOSTNAME SBC8560
--#define CONFIG_ROOTPATH YourRootPath
--#define CONFIG_BOOTFILE YourImageName
--
--#endif /* __CONFIG_H */
diff -Nurd u-boot-1.2.0/include/configs/davinci.h u-boot-1.2.0-leopard/include/configs/davinci.h
--- u-boot-1.2.0/include/configs/davinci.h 1969-12-31 21:00:00.000000000 -0300
+++ u-boot-1.2.0-leopard/include/configs/davinci.h 2007-12-04 07:50:49.000000000 -0300
@@ -47117,418 +46581,6 @@ diff -Nurd u-boot-1.2.0/include/configs/omap2420h4.h u-boot-1.2.0-leopard/includ
#ifdef CONFIG_APTIX
#define V_SCLK 1500000
-diff -Nurd u-boot-1.2.0/include/configs/sbc8560.h u-boot-1.2.0-leopard/include/configs/sbc8560.h
---- u-boot-1.2.0/include/configs/sbc8560.h 1969-12-31 21:00:00.000000000 -0300
-+++ u-boot-1.2.0-leopard/include/configs/sbc8560.h 2007-12-04 07:50:50.000000000 -0300
-@@ -0,0 +1,408 @@
-+/*
-+ * (C) Copyright 2002,2003 Motorola,Inc.
-+ * Xianghua Xiao <X.Xiao@motorola.com>
-+ *
-+ * (C) Copyright 2004 Wind River Systems Inc <www.windriver.com>.
-+ * Added support for Wind River SBC8560 board
-+ *
-+ * See file CREDITS for list of people who contributed to this
-+ * project.
-+ *
-+ * 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 2 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, write to the Free Software
-+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
-+ * MA 02111-1307 USA
-+ */
-+
-+/* mpc8560ads board configuration file */
-+/* please refer to doc/README.mpc85xx for more info */
-+/* make sure you change the MAC address and other network params first,
-+ * search for CONFIG_ETHADDR,CONFIG_SERVERIP,etc in this file
-+ */
-+
-+#ifndef __CONFIG_H
-+#define __CONFIG_H
-+
-+/* High Level Configuration Options */
-+#define CONFIG_BOOKE 1 /* BOOKE */
-+#define CONFIG_E500 1 /* BOOKE e500 family */
-+#define CONFIG_MPC85xx 1 /* MPC8540/MPC8560 */
-+#define CONFIG_MPC85xx_REV1 1 /* MPC85xx Rev 1.0 chip */
-+
-+
-+#define CONFIG_CPM2 1 /* has CPM2 */
-+#define CONFIG_SBC8560 1 /* configuration for SBC8560 board */
-+
-+/* XXX flagging this as something I might want to delete */
-+#define CONFIG_MPC8560ADS 1 /* MPC8560ADS board specific */
-+
-+#define CONFIG_TSEC_ENET /* tsec ethernet support */
-+#undef CONFIG_PCI /* pci ethernet support */
-+#undef CONFIG_ETHER_ON_FCC /* cpm FCC ethernet support */
-+
-+
-+#define CONFIG_ENV_OVERWRITE
-+
-+/* Using Localbus SDRAM to emulate flash before we can program the flash,
-+ * normally you need a flash-boot image(u-boot.bin), if so undef this.
-+ */
-+#undef CONFIG_RAM_AS_FLASH
-+
-+#if defined(CONFIG_PCI_66) /* some PCI card is 33Mhz only */
-+ #define CONFIG_SYS_CLK_FREQ 66000000/* sysclk for MPC85xx */
-+#else
-+ #define CONFIG_SYS_CLK_FREQ 33000000/* most pci cards are 33Mhz */
-+#endif
-+
-+/* below can be toggled for performance analysis. otherwise use default */
-+#define CONFIG_L2_CACHE /* toggle L2 cache */
-+#undef CONFIG_BTB /* toggle branch predition */
-+#undef CONFIG_ADDR_STREAMING /* toggle addr streaming */
-+
-+#define CONFIG_BOARD_EARLY_INIT_F 1 /* Call board_early_init_f */
-+
-+#undef CFG_DRAM_TEST /* memory test, takes time */
-+#define CFG_MEMTEST_START 0x00200000 /* memtest region */
-+#define CFG_MEMTEST_END 0x00400000
-+
-+#if (defined(CONFIG_PCI) && defined(CONFIG_TSEC_ENET) || \
-+ defined(CONFIG_PCI) && defined(CONFIG_ETHER_ON_FCC) || \
-+ defined(CONFIG_TSEC_ENET) && defined(CONFIG_ETHER_ON_FCC))
-+#error "You can only use ONE of PCI Ethernet Card or TSEC Ethernet or CPM FCC."
-+#endif
-+
-+/*
-+ * Base addresses -- Note these are effective addresses where the
-+ * actual resources get mapped (not physical addresses)
-+ */
-+#define CFG_CCSRBAR_DEFAULT 0xff700000 /* CCSRBAR Default */
-+
-+#if XXX
-+ #define CFG_CCSRBAR 0xfdf00000 /* relocated CCSRBAR */
-+#else
-+ #define CFG_CCSRBAR 0xff700000 /* default CCSRBAR */
-+#endif
-+#define CFG_IMMR CFG_CCSRBAR /* PQII uses CFG_IMMR */
-+
-+#define CFG_DDR_SDRAM_BASE 0x00000000 /* DDR is system memory */
-+#define CFG_SDRAM_BASE CFG_DDR_SDRAM_BASE
-+#define CFG_SDRAM_SIZE 512 /* DDR is 512MB */
-+#define SPD_EEPROM_ADDRESS 0x55 /* DDR DIMM */
-+
-+#undef CONFIG_DDR_ECC /* only for ECC DDR module */
-+#undef CONFIG_SPD_EEPROM /* Use SPD EEPROM for DDR setup */
-+
-+#if defined(CONFIG_MPC85xx_REV1)
-+ #define CONFIG_DDR_DLL /* possible DLL fix needed */
-+#endif
-+
-+#undef CONFIG_CLOCKS_IN_MHZ
-+
-+#if defined(CONFIG_RAM_AS_FLASH)
-+ #define CFG_LBC_SDRAM_BASE 0xfc000000 /* Localbus SDRAM */
-+ #define CFG_FLASH_BASE 0xf8000000 /* start of FLASH 8M */
-+ #define CFG_BR0_PRELIM 0xf8000801 /* port size 8bit */
-+ #define CFG_OR0_PRELIM 0xf8000ff7 /* 8MB Flash */
-+#else /* Boot from real Flash */
-+ #define CFG_LBC_SDRAM_BASE 0xf8000000 /* Localbus SDRAM */
-+ #define CFG_FLASH_BASE 0xff800000 /* start of FLASH 8M */
-+ #define CFG_BR0_PRELIM 0xff800801 /* port size 8bit */
-+ #define CFG_OR0_PRELIM 0xff800ff7 /* 8MB Flash */
-+#endif
-+#define CFG_LBC_SDRAM_SIZE 64 /* LBC SDRAM is 64MB */
-+
-+/* local bus definitions */
-+#define CFG_BR1_PRELIM 0xe4001801 /* 64M, 32-bit flash */
-+#define CFG_OR1_PRELIM 0xfc000ff7
-+
-+#define CFG_BR2_PRELIM 0x00000000 /* CS2 not used */
-+#define CFG_OR2_PRELIM 0x00000000
-+
-+#define CFG_BR3_PRELIM 0xf0001861 /* 64MB localbus SDRAM */
-+#define CFG_OR3_PRELIM 0xfc000cc1
-+
-+#if defined(CONFIG_RAM_AS_FLASH)
-+ #define CFG_BR4_PRELIM 0xf4001861 /* 64M localbus SDRAM */
-+#else
-+ #define CFG_BR4_PRELIM 0xf8001861 /* 64M localbus SDRAM */
-+#endif
-+#define CFG_OR4_PRELIM 0xfc000cc1
-+
-+#define CFG_BR5_PRELIM 0xfc000801 /* 16M CS5 misc devices */
-+#if 1
-+ #define CFG_OR5_PRELIM 0xff000ff7
-+#else
-+ #define CFG_OR5_PRELIM 0xff0000f0
-+#endif
-+
-+#define CFG_BR6_PRELIM 0xe0001801 /* 64M, 32-bit flash */
-+#define CFG_OR6_PRELIM 0xfc000ff7
-+#define CFG_LBC_LCRR 0x00030002 /* local bus freq */
-+#define CFG_LBC_LBCR 0x00000000
-+#define CFG_LBC_LSRT 0x20000000
-+#define CFG_LBC_MRTPR 0x20000000
-+#define CFG_LBC_LSDMR_1 0x2861b723
-+#define CFG_LBC_LSDMR_2 0x0861b723
-+#define CFG_LBC_LSDMR_3 0x0861b723
-+#define CFG_LBC_LSDMR_4 0x1861b723
-+#define CFG_LBC_LSDMR_5 0x4061b723
-+
-+/* just hijack the MOT BCSR def for SBC8560 misc devices */
-+#define CFG_BCSR ((CFG_BR5_PRELIM & 0xff000000)|0x00400000)
-+/* the size of CS5 needs to be >= 16M for TLB and LAW setups */
-+
-+#define CONFIG_L1_INIT_RAM
-+#define CFG_INIT_RAM_LOCK 1
-+#define CFG_INIT_RAM_ADDR 0x70000000 /* Initial RAM address */
-+#define CFG_INIT_RAM_END 0x4000 /* End of used area in RAM */
-+
-+#define CFG_GBL_DATA_SIZE 128 /* num bytes initial data */
-+#define CFG_GBL_DATA_OFFSET (CFG_INIT_RAM_END - CFG_GBL_DATA_SIZE)
-+#define CFG_INIT_SP_OFFSET CFG_GBL_DATA_OFFSET
-+
-+#define CFG_MONITOR_LEN (256 * 1024) /* Reserve 256 kB for Mon */
-+#define CFG_MALLOC_LEN (128 * 1024) /* Reserved for malloc */
-+
-+/* Serial Port */
-+#undef CONFIG_CONS_ON_SCC /* define if console on SCC */
-+#undef CONFIG_CONS_NONE /* define if console on something else */
-+
-+#define CONFIG_CONS_INDEX 1
-+#undef CONFIG_SERIAL_SOFTWARE_FIFO
-+#define CFG_NS16550
-+#define CFG_NS16550_SERIAL
-+#define CFG_NS16550_REG_SIZE 1
-+#define CFG_NS16550_CLK 1843200 /* get_bus_freq(0) */
-+#define CONFIG_BAUDRATE 9600
-+
-+#define CFG_BAUDRATE_TABLE \
-+ {300, 600, 1200, 2400, 4800, 9600, 19200, 38400,115200}
-+
-+#define CFG_NS16550_COM1 ((CFG_BR5_PRELIM & 0xff000000)+0x00700000)
-+#define CFG_NS16550_COM2 ((CFG_BR5_PRELIM & 0xff000000)+0x00800000)
-+
-+/* Use the HUSH parser */
-+#define CFG_HUSH_PARSER
-+#ifdef CFG_HUSH_PARSER
-+#define CFG_PROMPT_HUSH_PS2 "> "
-+#endif
-+
-+/*
-+ * I2C
-+ */
-+#define CONFIG_FSL_I2C /* Use FSL common I2C driver */
-+#define CONFIG_HARD_I2C /* I2C with hardware support*/
-+#undef CONFIG_SOFT_I2C /* I2C bit-banged */
-+#define CFG_I2C_SPEED 400000 /* I2C speed and slave address */
-+#define CFG_I2C_SLAVE 0x7F
-+#define CFG_I2C_NOPROBES {0x69} /* Don't probe these addrs */
-+#define CFG_I2C_OFFSET 0x3000
-+
-+#define CFG_PCI_MEM_BASE 0xC0000000
-+#define CFG_PCI_MEM_PHYS 0xC0000000
-+#define CFG_PCI_MEM_SIZE 0x10000000
-+
-+#if defined(CONFIG_TSEC_ENET) /* TSEC Ethernet port */
-+
-+# define CONFIG_NET_MULTI 1
-+# define CONFIG_MII 1 /* MII PHY management */
-+# define CONFIG_MPC85xx_TSEC1
-+# define CONFIG_MPC85xx_TSEC1_NAME "TSEC0"
-+# define TSEC1_PHY_ADDR 25
-+# define TSEC1_PHYIDX 0
-+/* Options are: TSEC0 */
-+# define CONFIG_ETHPRIME "TSEC0"
-+
-+#elif defined(CONFIG_ETHER_ON_FCC) /* CPM FCC Ethernet */
-+
-+ #undef CONFIG_ETHER_NONE /* define if ether on something else */
-+ #define CONFIG_ETHER_ON_FCC2 /* cpm FCC ethernet support */
-+ #define CONFIG_ETHER_INDEX 2 /* which channel for ether */
-+
-+ #if (CONFIG_ETHER_INDEX == 2)
-+ /*
-+ * - Rx-CLK is CLK13
-+ * - Tx-CLK is CLK14
-+ * - Select bus for bd/buffers
-+ * - Full duplex
-+ */
-+ #define CFG_CMXFCR_MASK (CMXFCR_FC2 | CMXFCR_RF2CS_MSK | CMXFCR_TF2CS_MSK)
-+ #define CFG_CMXFCR_VALUE (CMXFCR_RF2CS_CLK13 | CMXFCR_TF2CS_CLK14)
-+ #define CFG_CPMFCR_RAMTYPE 0
-+ #define CFG_FCC_PSMR (FCC_PSMR_FDE)
-+
-+ #elif (CONFIG_ETHER_INDEX == 3)
-+ /* need more definitions here for FE3 */
-+ #endif /* CONFIG_ETHER_INDEX */
-+
-+ #define CONFIG_MII /* MII PHY management */
-+ #define CONFIG_BITBANGMII /* bit-bang MII PHY management */
-+ /*
-+ * GPIO pins used for bit-banged MII communications
-+ */
-+ #define MDIO_PORT 2 /* Port C */
-+ #define MDIO_ACTIVE (iop->pdir |= 0x00400000)
-+ #define MDIO_TRISTATE (iop->pdir &= ~0x00400000)
-+ #define MDIO_READ ((iop->pdat & 0x00400000) != 0)
-+
-+ #define MDIO(bit) if(bit) iop->pdat |= 0x00400000; \
-+ else iop->pdat &= ~0x00400000
-+
-+ #define MDC(bit) if(bit) iop->pdat |= 0x00200000; \
-+ else iop->pdat &= ~0x00200000
-+
-+ #define MIIDELAY udelay(1)
-+
-+#endif
-+
-+/*-----------------------------------------------------------------------
-+ * FLASH and environment organization
-+ */
-+
-+#define CFG_FLASH_CFI 1 /* Flash is CFI conformant */
-+#define CFG_FLASH_CFI_DRIVER 1 /* Use the common driver */
-+#if 0
-+#define CFG_FLASH_USE_BUFFER_WRITE 1 /* use buffered writes (20x faster) */
-+#define CFG_FLASH_PROTECTION /* use hardware protection */
-+#endif
-+#define CFG_MAX_FLASH_SECT 64 /* max number of sectors on one chip */
-+#define CFG_MAX_FLASH_BANKS 1 /* max number of memory banks */
-+
-+#undef CFG_FLASH_CHECKSUM
-+#define CFG_FLASH_ERASE_TOUT 200000 /* Timeout for Flash Erase (in ms) */
-+#define CFG_FLASH_WRITE_TOUT 50000 /* Timeout for Flash Write (in ms) */
-+
-+#define CFG_MONITOR_BASE TEXT_BASE /* start of monitor */
-+
-+#if 0
-+/* XXX This doesn't work and I don't want to fix it */
-+#if (CFG_MONITOR_BASE < CFG_FLASH_BASE)
-+ #define CFG_RAMBOOT
-+#else
-+ #undef CFG_RAMBOOT
-+#endif
-+#endif
-+
-+/* Environment */
-+#if !defined(CFG_RAMBOOT)
-+ #if defined(CONFIG_RAM_AS_FLASH)
-+ #define CFG_ENV_IS_NOWHERE
-+ #define CFG_ENV_ADDR (CFG_FLASH_BASE + 0x100000)
-+ #define CFG_ENV_SIZE 0x2000
-+ #else
-+ #define CFG_ENV_IS_IN_FLASH 1
-+ #define CFG_ENV_SECT_SIZE 0x20000 /* 128K(one sector) for env */
-+ #define CFG_ENV_ADDR (CFG_MONITOR_BASE - CFG_ENV_SECT_SIZE)
-+ #define CFG_ENV_SIZE 0x2000 /* CFG_ENV_SECT_SIZE */
-+ #endif
-+#else
-+ #define CFG_NO_FLASH 1 /* Flash is not usable now */
-+ #define CFG_ENV_IS_NOWHERE 1 /* Store ENV in memory only */
-+ #define CFG_ENV_ADDR (CFG_MONITOR_BASE - 0x1000)
-+ #define CFG_ENV_SIZE 0x2000
-+#endif
-+
-+#define CONFIG_BOOTARGS "root=/dev/nfs rw nfsroot=192.168.0.251:/tftpboot ip=192.168.0.105:192.168.0.251::255.255.255.0:sbc8560:eth0:off console=ttyS0,9600"
-+/*#define CONFIG_BOOTARGS "root=/dev/ram rw console=ttyS0,115200"*/
-+#define CONFIG_BOOTCOMMAND "bootm 0xff800000 0xffa00000"
-+#define CONFIG_BOOTDELAY 5 /* -1 disable autoboot */
-+
-+#define CONFIG_LOADS_ECHO 1 /* echo on for serial download */
-+#define CFG_LOADS_BAUD_CHANGE 1 /* allow baudrate change */
-+
-+#if defined(CFG_RAMBOOT) || defined(CONFIG_RAM_AS_FLASH)
-+ #if defined(CONFIG_PCI)
-+ #define CONFIG_COMMANDS ((CONFIG_CMD_DFL | CFG_CMD_PCI | \
-+ CFG_CMD_PING | CFG_CMD_I2C) & \
-+ ~(CFG_CMD_ENV | \
-+ CFG_CMD_LOADS ))
-+ #elif (defined(CONFIG_TSEC_ENET) || defined(CONFIG_ETHER_ON_FCC))
-+ #define CONFIG_COMMANDS ((CONFIG_CMD_DFL | CFG_CMD_MII | \
-+ CFG_CMD_PING | CFG_CMD_I2C) & \
-+ ~(CFG_CMD_ENV))
-+ #endif
-+#else
-+ #if defined(CONFIG_PCI)
-+ #define CONFIG_COMMANDS (CONFIG_CMD_DFL | CFG_CMD_PCI | \
-+ CFG_CMD_PING | CFG_CMD_I2C)
-+ #elif (defined(CONFIG_TSEC_ENET) || defined(CONFIG_ETHER_ON_FCC))
-+ #define CONFIG_COMMANDS (CONFIG_CMD_DFL | CFG_CMD_MII | \
-+ CFG_CMD_PING | CFG_CMD_I2C)
-+ #endif
-+#endif
-+
-+#include <cmd_confdefs.h>
-+
-+#undef CONFIG_WATCHDOG /* watchdog disabled */
-+
-+/*
-+ * Miscellaneous configurable options
-+ */
-+#define CFG_LONGHELP /* undef to save memory */
-+#define CFG_PROMPT "SBC8560=> " /* Monitor Command Prompt */
-+#if (CONFIG_COMMANDS & CFG_CMD_KGDB)
-+ #define CFG_CBSIZE 1024 /* Console I/O Buffer Size */
-+#else
-+ #define CFG_CBSIZE 256 /* Console I/O Buffer Size */
-+#endif
-+#define CFG_PBSIZE (CFG_CBSIZE+sizeof(CFG_PROMPT)+16) /* Print Buffer Size */
-+#define CFG_MAXARGS 16 /* max number of command args */
-+#define CFG_BARGSIZE CFG_CBSIZE /* Boot Argument Buffer Size */
-+#define CFG_LOAD_ADDR 0x1000000 /* default load address */
-+#define CFG_HZ 1000 /* decrementer freq: 1 ms ticks */
-+
-+/*
-+ * For booting Linux, the board info and command line data
-+ * have to be in the first 8 MB of memory, since this is
-+ * the maximum mapped by the Linux kernel during initialization.
-+ */
-+#define CFG_BOOTMAPSZ (8 << 20) /* Initial Memory map for Linux */
-+
-+/* Cache Configuration */
-+#define CFG_DCACHE_SIZE 32768
-+#define CFG_CACHELINE_SIZE 32
-+#if (CONFIG_COMMANDS & CFG_CMD_KGDB)
-+ #define CFG_CACHELINE_SHIFT 5 /* log base 2 of the above value */
-+#endif
-+
-+/*
-+ * Internal Definitions
-+ *
-+ * Boot Flags
-+ */
-+#define BOOTFLAG_COLD 0x01 /* Normal Power-On: Boot from FLASH */
-+#define BOOTFLAG_WARM 0x02 /* Software reboot */
-+
-+#if (CONFIG_COMMANDS & CFG_CMD_KGDB)
-+ #define CONFIG_KGDB_BAUDRATE 230400 /* speed to run kgdb serial port */
-+ #define CONFIG_KGDB_SER_INDEX 2 /* which serial port to use */
-+#endif
-+
-+/*Note: change below for your network setting!!! */
-+#if defined(CONFIG_TSEC_ENET) || defined(CONFIG_ETHER_ON_FCC)
-+# define CONFIG_ETHADDR 00:01:af:07:9b:8a
-+# define CONFIG_HAS_ETH1
-+# define CONFIG_ETH1ADDR 00:01:af:07:9b:8b
-+# define CONFIG_HAS_ETH2
-+# define CONFIG_ETH2ADDR 00:01:af:07:9b:8c
-+#endif
-+
-+#define CONFIG_SERVERIP 192.168.0.131
-+#define CONFIG_IPADDR 192.168.0.105
-+#define CONFIG_GATEWAYIP 0.0.0.0
-+#define CONFIG_NETMASK 255.255.255.0
-+#define CONFIG_HOSTNAME SBC8560
-+#define CONFIG_ROOTPATH /home/ppc
-+#define CONFIG_BOOTFILE pImage
-+
-+#endif /* __CONFIG_H */
diff -Nurd u-boot-1.2.0/include/flash.h u-boot-1.2.0-leopard/include/flash.h
--- u-boot-1.2.0/include/flash.h 2007-01-06 20:13:11.000000000 -0300
+++ u-boot-1.2.0-leopard/include/flash.h 2007-12-04 07:50:42.000000000 -0300
diff --git a/recipes/u-boot/u-boot-2009.01/at91sam9g20-fix-config.patch b/recipes/u-boot/u-boot-2009.01/at91sam9g20-fix-config.patch
new file mode 100644
index 0000000000..473e065523
--- /dev/null
+++ b/recipes/u-boot/u-boot-2009.01/at91sam9g20-fix-config.patch
@@ -0,0 +1,274 @@
+Index: u-boot-2009.01/include/configs/at91sam9g20ek.h
+===================================================================
+--- u-boot-2009.01.orig/include/configs/at91sam9g20ek.h 2009-04-23 16:52:46.586815368 +0400
++++ u-boot-2009.01/include/configs/at91sam9g20ek.h 2009-04-23 16:52:56.062814967 +0400
+@@ -28,9 +28,12 @@
+ #define __CONFIG_H
+
+ /* ARM asynchronous clock */
+-#define AT91_MAIN_CLOCK 396288000 /* from 18.432 MHz crystal */
++#define AT91_CPU_NAME "AT91SAM9G20"
++#define AT91_MAIN_CLOCK 18432000 /* 18.432 MHz crystal */
+ #define AT91_MASTER_CLOCK 132096000 /* peripheral = main / 3 */
+-#define CFG_HZ 1000000 /* 1us resolution */
++#define AT91_CPU_CLOCK 396000000 /* cpu */
++#define CONFIG_SYS_AT91_PLLB 0x107c3e18 /* PLLB settings for USB */
++#define CONFIG_SYS_HZ 1000000 /* 1us resolution */
+
+ #define AT91_SLOW_CLOCK 32768 /* slow clock */
+
+@@ -88,22 +91,22 @@
+
+ /* DataFlash */
+ #define CONFIG_HAS_DATAFLASH 1
+-#define CFG_SPI_WRITE_TOUT (5*CFG_HZ)
+-#define CFG_MAX_DATAFLASH_BANKS 2
+-#define CFG_DATAFLASH_LOGIC_ADDR_CS0 0xC0000000 /* CS0 */
+-#define CFG_DATAFLASH_LOGIC_ADDR_CS1 0xD0000000 /* CS1 */
++#define CONFIG_SYS_SPI_WRITE_TOUT (5*CONFIG_SYS_HZ)
++#define CONFIG_SYS_MAX_DATAFLASH_BANKS 2
++#define CONFIG_SYS_DATAFLASH_LOGIC_ADDR_CS0 0xC0000000 /* CS0 */
++#define CONFIG_SYS_DATAFLASH_LOGIC_ADDR_CS1 0xD0000000 /* CS1 */
+ #define AT91_SPI_CLK 15000000
+ #define DATAFLASH_TCSS (0x22 << 16)
+ #define DATAFLASH_TCHS (0x1 << 24)
+
+ /* NAND flash */
+ #define NAND_MAX_CHIPS 1
+-#define CFG_MAX_NAND_DEVICE 1
+-#define CFG_NAND_BASE 0x40000000
+-#define CFG_NAND_DBW_8 1
++#define CONFIG_SYS_MAX_NAND_DEVICE 1
++#define CONFIG_SYS_NAND_BASE 0x40000000
++#define CONFIG_SYS_NAND_DBW_8 1
+
+ /* NOR flash - no real flash on this board */
+-#define CFG_NO_FLASH 1
++#define CONFIG_SYS_NO_FLASH 1
+
+ /* Ethernet */
+ #define CONFIG_MACB 1
+@@ -116,52 +119,53 @@
+ #define CONFIG_USB_OHCI_NEW 1
+ #define LITTLEENDIAN 1
+ #define CONFIG_DOS_PARTITION 1
+-#define CFG_USB_OHCI_CPU_INIT 1
+-#define CFG_USB_OHCI_REGS_BASE 0x00500000 /* AT91SAM9G20_UHP_BASE */
+-#define CFG_USB_OHCI_SLOT_NAME "at91sam9g20"
+-#define CFG_USB_OHCI_MAX_ROOT_PORTS 2
++#define CONFIG_SYS_USB_OHCI_CPU_INIT 1
++#define CONFIG_SYS_USB_OHCI_REGS_BASE 0x00500000 /* AT91SAM9G20_UHP_BASE */
++#define CONFIG_SYS_USB_OHCI_SLOT_NAME "at91sam9g20"
++#define CONFIG_SYS_USB_OHCI_MAX_ROOT_PORTS 2
+ #define CONFIG_USB_STORAGE 1
++#define CONFIG_CMD_FAT 1
+
+-#define CFG_LOAD_ADDR 0x22000000 /* load address */
++#define CONFIG_SYS_LOAD_ADDR 0x22000000 /* load address */
+
+-#define CFG_MEMTEST_START PHYS_SDRAM
+-#define CFG_MEMTEST_END 0x23e00000
++#define CONFIG_SYS_MEMTEST_START PHYS_SDRAM
++#define CONFIG_SYS_MEMTEST_END 0x23e00000
+
+-#ifdef CFG_USE_DATAFLASH_CS0
++#ifdef CONFIG_SYS_USE_DATAFLASH_CS0
+
+ /* bootstrap + u-boot + env + linux in dataflash on CS0 */
+-#define CFG_ENV_IS_IN_DATAFLASH 1
+-#define CFG_MONITOR_BASE (CFG_DATAFLASH_LOGIC_ADDR_CS0 + 0x8400)
+-#define CFG_ENV_OFFSET 0x4200
+-#define CFG_ENV_ADDR (CFG_DATAFLASH_LOGIC_ADDR_CS0 + CFG_ENV_OFFSET)
+-#define CFG_ENV_SIZE 0x4200
++#define CONFIG_ENV_IS_IN_DATAFLASH 1
++#define CONFIG_SYS_MONITOR_BASE (CONFIG_SYS_DATAFLASH_LOGIC_ADDR_CS0 + 0x8400)
++#define CONFIG_ENV_OFFSET 0x4200
++#define CONFIG_ENV_ADDR (CONFIG_SYS_DATAFLASH_LOGIC_ADDR_CS0 + CONFIG_ENV_OFFSET)
++#define CONFIG_ENV_SIZE 0x4200
+ #define CONFIG_BOOTCOMMAND "cp.b 0xC0042000 0x22000000 0x210000; bootm"
+ #define CONFIG_BOOTARGS "console=ttyS0,115200 " \
+ "root=/dev/mtdblock0 " \
+ "mtdparts=at91_nand:-(root) " \
+ "rw rootfstype=jffs2"
+
+-#elif CFG_USE_DATAFLASH_CS1
++#elif CONFIG_SYS_USE_DATAFLASH_CS1
+
+ /* bootstrap + u-boot + env + linux in dataflash on CS1 */
+-#define CFG_ENV_IS_IN_DATAFLASH 1
+-#define CFG_MONITOR_BASE (CFG_DATAFLASH_LOGIC_ADDR_CS1 + 0x8400)
+-#define CFG_ENV_OFFSET 0x4200
+-#define CFG_ENV_ADDR (CFG_DATAFLASH_LOGIC_ADDR_CS1 + CFG_ENV_OFFSET)
+-#define CFG_ENV_SIZE 0x4200
++#define CONFIG_ENV_IS_IN_DATAFLASH 1
++#define CONFIG_SYS_MONITOR_BASE (CONFIG_SYS_DATAFLASH_LOGIC_ADDR_CS1 + 0x8400)
++#define CONFIG_ENV_OFFSET 0x4200
++#define CONFIG_ENV_ADDR (CONFIG_SYS_DATAFLASH_LOGIC_ADDR_CS1 + CONFIG_ENV_OFFSET)
++#define CONFIG_ENV_SIZE 0x4200
+ #define CONFIG_BOOTCOMMAND "cp.b 0xD0042000 0x22000000 0x210000; bootm"
+ #define CONFIG_BOOTARGS "console=ttyS0,115200 " \
+ "root=/dev/mtdblock0 " \
+ "mtdparts=at91_nand:-(root) " \
+ "rw rootfstype=jffs2"
+
+-#else /* CFG_USE_NANDFLASH */
++#else /* CONFIG_SYS_USE_NANDFLASH */
+
+ /* bootstrap + u-boot + env + linux in nandflash */
+-#define CFG_ENV_IS_IN_NAND 1
+-#define CFG_ENV_OFFSET 0x60000
+-#define CFG_ENV_OFFSET_REDUND 0x80000
+-#define CFG_ENV_SIZE 0x20000 /* 1 sector = 128 kB */
++#define CONFIG_ENV_IS_IN_NAND 1
++#define CONFIG_ENV_OFFSET 0x60000
++#define CONFIG_ENV_OFFSET_REDUND 0x80000
++#define CONFIG_ENV_SIZE 0x20000 /* 1 sector = 128 kB */
+ #define CONFIG_BOOTCOMMAND "nand read 0x22000000 0xA0000 0x200000; bootm"
+ #define CONFIG_BOOTARGS "console=ttyS0,115200 " \
+ "root=/dev/mtdblock5 " \
+@@ -173,21 +177,21 @@
+ #endif
+
+ #define CONFIG_BAUDRATE 115200
+-#define CFG_BAUDRATE_TABLE {115200 , 19200, 38400, 57600, 9600 }
++#define CONFIG_SYS_BAUDRATE_TABLE {115200 , 19200, 38400, 57600, 9600 }
+
+-#define CFG_PROMPT "U-Boot> "
+-#define CFG_CBSIZE 256
+-#define CFG_MAXARGS 16
+-#define CFG_PBSIZE (CFG_CBSIZE + sizeof(CFG_PROMPT) + 16)
+-#define CFG_LONGHELP 1
++#define CONFIG_SYS_PROMPT "U-Boot> "
++#define CONFIG_SYS_CBSIZE 256
++#define CONFIG_SYS_MAXARGS 16
++#define CONFIG_SYS_PBSIZE (CONFIG_SYS_CBSIZE + sizeof(CONFIG_SYS_PROMPT) + 16)
++#define CONFIG_SYS_LONGHELP 1
+ #define CONFIG_CMDLINE_EDITING 1
+
+ #define ROUND(A, B) (((A) + (B)) & ~((B) - 1))
+ /*
+ * Size of malloc() pool
+ */
+-#define CFG_MALLOC_LEN ROUND(3 * CFG_ENV_SIZE + 128*1024, 0x1000)
+-#define CFG_GBL_DATA_SIZE 128 /* 128 bytes for initial data */
++#define CONFIG_SYS_MALLOC_LEN ROUND(3 * CONFIG_ENV_SIZE + 128*1024, 0x1000)
++#define CONFIG_SYS_GBL_DATA_SIZE 128 /* 128 bytes for initial data */
+
+ #define CONFIG_STACKSIZE (32*1024) /* regular stack */
+
+Index: u-boot-2009.01/board/atmel/at91sam9g20ek/at91sam9g20ek.c
+===================================================================
+--- u-boot-2009.01.orig/board/atmel/at91sam9g20ek/at91sam9g20ek.c 2009-04-23 16:52:46.602814682 +0400
++++ u-boot-2009.01/board/atmel/at91sam9g20ek/at91sam9g20ek.c 2009-04-23 16:52:56.066814644 +0400
+@@ -33,6 +33,7 @@
+ #if defined(CONFIG_RESET_PHY_R) && defined(CONFIG_MACB)
+ #include <net.h>
+ #endif
++#include <netdev.h>
+
+ DECLARE_GLOBAL_DATA_PTR;
+
+@@ -90,9 +91,9 @@
+ at91_sys_write(AT91_SMC_MODE(3),
+ AT91_SMC_READMODE | AT91_SMC_WRITEMODE |
+ AT91_SMC_EXNWMODE_DISABLE |
+-#ifdef CFG_NAND_DBW_16
++#ifdef CONFIG_SYS_NAND_DBW_16
+ AT91_SMC_DBW_16 |
+-#else /* CFG_NAND_DBW_8 */
++#else /* CONFIG_SYS_NAND_DBW_8 */
+ AT91_SMC_DBW_8 |
+ #endif
+ AT91_SMC_TDF_(3));
+@@ -253,7 +254,7 @@
+ {
+ int rc = 0;
+ #ifdef CONFIG_MACB
+- rc = macb_eth_initialize(0, (void *)AT91_BASE_EMAC, 0x00);
++ rc = macb_eth_initialize(0, (void *)AT91SAM9260_BASE_EMAC, 0x00);
+ #endif
+ return rc;
+ }
+Index: u-boot-2009.01/board/atmel/at91sam9g20ek/nand.c
+===================================================================
+--- u-boot-2009.01.orig/board/atmel/at91sam9g20ek/nand.c 2009-04-23 16:52:46.614814115 +0400
++++ u-boot-2009.01/board/atmel/at91sam9g20ek/nand.c 2009-04-23 16:52:56.066814644 +0400
+@@ -37,27 +37,26 @@
+ #define MASK_ALE (1 << 21) /* our ALE is AD21 */
+ #define MASK_CLE (1 << 22) /* our CLE is AD22 */
+
+-static void at91sam9g20ek_nand_hwcontrol(struct mtd_info *mtd, int cmd)
++static void at91sam9g20ek_nand_hwcontrol(struct mtd_info *mtd,
++ int cmd, unsigned int ctrl)
+ {
+ struct nand_chip *this = mtd->priv;
+- ulong IO_ADDR_W = (ulong) this->IO_ADDR_W;
+
+- IO_ADDR_W &= ~(MASK_ALE|MASK_CLE);
+- switch (cmd) {
+- case NAND_CTL_SETCLE:
+- IO_ADDR_W |= MASK_CLE;
+- break;
+- case NAND_CTL_SETALE:
+- IO_ADDR_W |= MASK_ALE;
+- break;
+- case NAND_CTL_CLRNCE:
+- at91_set_gpio_value(AT91_PIN_PC14, 1);
+- break;
+- case NAND_CTL_SETNCE:
+- at91_set_gpio_value(AT91_PIN_PC14, 0);
+- break;
++ if (ctrl & NAND_CTRL_CHANGE) {
++ ulong IO_ADDR_W = (ulong) this->IO_ADDR_W;
++ IO_ADDR_W &= ~(MASK_ALE | MASK_CLE);
++
++ if (ctrl & NAND_CLE)
++ IO_ADDR_W |= MASK_CLE;
++ if (ctrl & NAND_ALE)
++ IO_ADDR_W |= MASK_ALE;
++
++ at91_set_gpio_value(AT91_PIN_PC14, !(ctrl & NAND_NCE));
++ this->IO_ADDR_W = (void *) IO_ADDR_W;
+ }
+- this->IO_ADDR_W = (void *) IO_ADDR_W;
++
++ if (cmd != NAND_CMD_NONE)
++ writeb(cmd, this->IO_ADDR_W);
+ }
+
+ static int at91sam9g20ek_nand_ready(struct mtd_info *mtd)
+@@ -67,11 +66,11 @@
+
+ int board_nand_init(struct nand_chip *nand)
+ {
+- nand->eccmode = NAND_ECC_SOFT;
+-#ifdef CFG_NAND_DBW_16
++ nand->ecc.mode = NAND_ECC_SOFT;
++#ifdef CONFIG_SYS_NAND_DBW_16
+ nand->options = NAND_BUSWIDTH_16;
+ #endif
+- nand->hwcontrol = at91sam9g20ek_nand_hwcontrol;
++ nand->cmd_ctrl = at91sam9g20ek_nand_hwcontrol;
+ nand->dev_ready = at91sam9g20ek_nand_ready;
+ nand->chip_delay = 20;
+
+Index: u-boot-2009.01/board/atmel/at91sam9g20ek/partition.c
+===================================================================
+--- u-boot-2009.01.orig/board/atmel/at91sam9g20ek/partition.c 2009-04-23 16:52:46.634814571 +0400
++++ u-boot-2009.01/board/atmel/at91sam9g20ek/partition.c 2009-04-23 16:52:56.066814644 +0400
+@@ -23,11 +23,11 @@
+ #include <asm/hardware.h>
+ #include <dataflash.h>
+
+-AT91S_DATAFLASH_INFO dataflash_info[CFG_MAX_DATAFLASH_BANKS];
++AT91S_DATAFLASH_INFO dataflash_info[CONFIG_SYS_MAX_DATAFLASH_BANKS];
+
+-struct dataflash_addr cs[CFG_MAX_DATAFLASH_BANKS] = {
+- {CFG_DATAFLASH_LOGIC_ADDR_CS0, 0}, /* Logical adress, CS */
+- {CFG_DATAFLASH_LOGIC_ADDR_CS1, 1}
++struct dataflash_addr cs[CONFIG_SYS_MAX_DATAFLASH_BANKS] = {
++ {CONFIG_SYS_DATAFLASH_LOGIC_ADDR_CS0, 0}, /* Logical adress, CS */
++ {CONFIG_SYS_DATAFLASH_LOGIC_ADDR_CS1, 1}
+ };
+
+ /*define the area offsets*/
diff --git a/recipes/u-boot/u-boot-2009.03/hipox/01-hipox-fix-gmac-reset.patch b/recipes/u-boot/u-boot-2009.03/hipox/01-hipox-fix-gmac-reset.patch
new file mode 100644
index 0000000000..e233f532db
--- /dev/null
+++ b/recipes/u-boot/u-boot-2009.03/hipox/01-hipox-fix-gmac-reset.patch
@@ -0,0 +1,16 @@
+diff -Nurd u-boot-2009.03.orig/board/hipox/eth.c u-boot-2009.03/board/hipox/eth.c
+--- u-boot-2009.03.orig/board/hipox/eth.c 2009-04-20 16:00:48.000000000 +0200
++++ u-boot-2009.03/board/hipox/eth.c 2009-04-20 16:01:54.000000000 +0200
+@@ -1415,6 +1415,12 @@
+ // Disable all GMAC interrupts
+ dma_reg_write(priv, DMA_INT_ENABLE_REG, 0);
+
++#ifdef CONFIG_HIPOX
++ // reset phy first, preventing lock up after linux warm start
++ if (phy_detect())
++ start_phy_reset();
++#endif
++
+ // Reset the entire GMAC
+ dma_reg_write(priv, DMA_BUS_MODE_REG, 1UL << DMA_BUS_MODE_SWR_BIT);
+
diff --git a/recipes/u-boot/u-boot-2009.03/hipox/02-hipox-enable-mmu.patch b/recipes/u-boot/u-boot-2009.03/hipox/02-hipox-enable-mmu.patch
new file mode 100644
index 0000000000..b7ddf27d27
--- /dev/null
+++ b/recipes/u-boot/u-boot-2009.03/hipox/02-hipox-enable-mmu.patch
@@ -0,0 +1,281 @@
+diff -Nurd u-boot-2009.03.orig/cpu/arm926ejs/cpu.c u-boot-2009.03/cpu/arm926ejs/cpu.c
+--- u-boot-2009.03.orig/cpu/arm926ejs/cpu.c 2009-04-20 16:00:48.000000000 +0200
++++ u-boot-2009.03/cpu/arm926ejs/cpu.c 2009-04-20 16:03:56.000000000 +0200
+@@ -77,6 +77,245 @@
+ for (i = 0; i < 100; i++);
+ }
+
++#ifdef CONFIG_ARM926EJS
++#include <asm/io.h>
++
++/* read co-processor 15, register #3 (domain register) */
++static unsigned long read_p15_c3 (void)
++{
++ unsigned long value;
++
++ __asm__ __volatile__(
++ "mrc p15, 0, %0, c3, c0, 0 @ read domain reg\n"
++ : "=r" (value)
++ :
++ : "memory");
++
++#ifdef MMU_DEBUG
++ printf ("p15/c3 is = %08lx\n", value);
++#endif
++ return value;
++}
++
++/* write to co-processor 15, register #3 (domain register) */
++static void write_p15_c3 (unsigned long value)
++{
++#ifdef MMU_DEBUG
++ printf ("write %08lx to p15/c3\n", value);
++#endif
++ __asm__ __volatile__(
++ "mcr p15, 0, %0, c3, c0, 0 @ write it back\n"
++ :
++ : "r" (value)
++ : "memory");
++
++ read_p15_c3 ();
++}
++
++/* read co-processor 15, register #2 (ttb register) */
++static unsigned long read_p15_c2 (void)
++{
++ unsigned long value;
++
++ __asm__ __volatile__(
++ "mrc p15, 0, %0, c2, c0, 0 @ read domain reg\n"
++ : "=r" (value)
++ :
++ : "memory");
++
++#ifdef MMU_DEBUG
++ printf ("p15/c2 is = %08lx\n", value);
++#endif
++ return value;
++}
++
++/* write to co-processor 15, register #2 (ttb register) */
++static void write_p15_c2 (unsigned long value)
++{
++#ifdef MMU_DEBUG
++ printf ("write %08lx to p15/c2\n", value);
++#endif
++ __asm__ __volatile__(
++ "mcr p15, 0, %0, c2, c0, 0 @ write it back\n"
++ :
++ : "r" (value)
++ : "memory");
++
++ read_p15_c2 ();
++}
++
++typedef struct {
++ unsigned int vAddress;
++ unsigned int ptAddress;
++ unsigned int masterPtAddress;
++ unsigned int type;
++ unsigned int dom;
++} Pagetable;
++
++#define FAULT 0
++#define COARSE 1
++#define MASTER 2
++#define FINE 3
++
++// put the page table before u-boot and heap, pagetable is 16kb
++#define MPT (TEXT_BASE - CONFIG_SYS_MALLOC_LEN - 64*1024)
++
++/* Page Tables */
++/* VADDRESS, PTADDRESS, PTTYPE, DOM */
++Pagetable masterPT = {MPT, MPT, MPT, MASTER, 3};
++
++typedef struct {
++ unsigned int vAddress;
++ unsigned int pageSize;
++ unsigned int numPages;
++ unsigned int AP;
++ unsigned int CB;
++ unsigned int pAddress;
++ Pagetable *PT;
++} Region;
++
++#define NANA 0x00
++#define RWNA 0x01
++#define RWRO 0x02
++#define RWRW 0x03
++
++/* cb = not cached/not buffered */
++/* cB = not Cached/Buffered */
++/* Cb = Cached/not Buffered */
++/* WT = write through cache */
++/* WB = write back cache */
++#define cb 0x0
++#define cB 0x1
++#define WT 0x2
++#define WB 0x3
++
++/* REGION TABLES */
++/* VADDRESS, PAGESIZE, NUMPAGES, AP, CB, PADDRESS, &PT */
++
++// create one region for all the 4GB memory space
++Region wholeRegion =
++ {0x00000000, 1024, 4096, RWRW, cb, 0x00000000, &masterPT};
++
++// Size of SDRAM, starting at PHYS_SDRAM_1_PA
++Region SDRAMRegion =
++ {PHYS_SDRAM_1_PA, 1024, PHYS_SDRAM_1_MAX_SIZE >> 20, RWRW, WT, PHYS_SDRAM_1_PA, &masterPT};
++
++static void mmuInitPT(Pagetable *pt)
++{
++ int index; /* number of lines in PT/entries written per loop*/
++ unsigned int PTE, *PTEptr; /* points to page table entry in PT */
++
++ PTEptr = (unsigned int *)pt->ptAddress; /* set pointer base PT */
++ PTE = FAULT;
++
++ for (index = 4096; index > 0; index--)
++ {
++ *PTEptr++ = PTE;
++ }
++}
++
++static void mmuMapRegion(Region *region)
++{
++ int i;
++ unsigned int *PTEptr, PTE;
++
++ PTEptr = (unsigned int *)region->PT->ptAddress; /* base addr PT */
++ PTEptr += region->vAddress >> 20; /* set to first PTE in region */
++ PTEptr += region->numPages - 1; /* set to last PTE in region */
++ PTE = region->pAddress & 0xfff00000; /* set physical address */
++ PTE |= (region->AP & 0x3) << 10; /* set Access Permissions */
++ PTE |= region->PT->dom << 5; /* set Domain for section */
++ PTE |= (region->CB & 0x3) << 2; /* set Cache & WB attributes */
++ PTE |= 0x12; /* set as section entry */
++
++ for (i=region->numPages - 1; i >= 0; i--) /* fill PTE in region */
++ {
++ *PTEptr-- = PTE + (i << 20); /* i = 1 MB section */
++ }
++}
++
++static void mmuAttachPT(Pagetable *pt) /* attach L2 PT to L1 master PT */
++{
++ unsigned int *ttb;
++
++ ttb = (unsigned int *)pt->masterPtAddress; /* read ttb from PT */
++
++ write_p15_c2((unsigned long)ttb);
++}
++
++static void domainAccessSet(unsigned int value, unsigned int mask)
++{
++ uint32_t reg;
++
++ reg = read_p15_c3(); /* get domain reg. */
++
++ reg &= ~mask; /* clear bits that change */
++ reg |= value; /* set bits that change */
++
++ cp_delay();
++ write_p15_c3(reg);
++}
++
++static void controlSet(unsigned int value, unsigned int mask)
++{
++ uint32_t reg;
++
++ reg = read_p15_c1(); /* get control reg. */
++
++ reg &= ~mask; /* clear bits that change */
++ reg |= value; /* set bits that change */
++
++ cp_delay();
++ write_p15_c1(reg);
++}
++
++static void flushDCache(void)
++{
++ unsigned int c7format = 0;
++
++ __asm__ __volatile__(
++ "mcr p15, 0, %0, c7, c6, 0 @ invalidate caches \n\t"
++ :
++ : "r" (c7format)
++ : "memory");
++}
++
++#define DOM3CLT 0x00000040
++#define CHANGEALLDOM 0xffffffff
++#define ENABLEMMU 0x00000001
++#define ENABLEDCACHE 0x00000004
++#define ENABLEICACHE 0x00001000
++#define CHANGEMMU 0x00000001
++#define CHANGEDCACHE 0x00000004
++#define CHANGEICACHE 0x00001000
++#define ENABLEWB 0x00000008
++#define CHANGEWB 0x00000008
++
++static void mmu_enable(void)
++{
++ int enable, change;
++
++ /* Initialize system (fixed) page tables */
++ mmuInitPT(&masterPT); /* init master L1 PT with FAULT PTE */
++
++ /* Filling page tables with translation & attribute data */
++ mmuMapRegion(&wholeRegion);
++ mmuMapRegion(&SDRAMRegion);
++
++ /* Activating page tables */
++ mmuAttachPT(&masterPT); /* load L1 TTB to cp15:c2:c0 register */
++
++ /* Set Domain Access */
++ domainAccessSet(DOM3CLT , CHANGEALLDOM); /* set Domain Access */
++
++ /* Enable MMU, caches and write buffer */
++ enable = ENABLEMMU;
++ change = CHANGEMMU;
++
++ controlSet(enable, change); /* enable cache and MMU */
++}
++#endif
++
+ /* See also ARM926EJ-S Technical Reference Manual */
+ #define C1_MMU (1<<0) /* mmu off/on */
+ #define C1_ALIGN (1<<1) /* alignment faults off/on */
+@@ -171,6 +410,20 @@
+
+ void dcache_enable(void)
+ {
++#ifdef CONFIG_ARM926EJS
++ int istat = icache_status();
++
++ if(istat)
++ icache_disable();
++
++ mmu_enable();
++
++ if(istat)
++ icache_enable();
++
++ flushDCache();
++#endif
++
+ cache_enable(C1_DC);
+ }
+
+diff -Nurd u-boot-2009.03.orig/include/configs/hipox.h u-boot-2009.03/include/configs/hipox.h
+--- u-boot-2009.03.orig/include/configs/hipox.h 2009-04-20 16:00:48.000000000 +0200
++++ u-boot-2009.03/include/configs/hipox.h 2009-04-20 16:03:56.000000000 +0200
+@@ -34,6 +34,7 @@
+ #define CONFIG_CMD_DHCP
+ #define CONFIG_CMD_DIAG
+ #define CONFIG_CMD_PING
++#define CONFIG_CMD_CACHE
+
+ /**
+ * Architecture
diff --git a/recipes/u-boot/u-boot_1.2.0.bb b/recipes/u-boot/u-boot_1.2.0.bb
index 3f5cfa5310..edcb1b1415 100644
--- a/recipes/u-boot/u-boot_1.2.0.bb
+++ b/recipes/u-boot/u-boot_1.2.0.bb
@@ -14,7 +14,7 @@ SRC_URI_append_lsppchd = "file://u-boot-kurobox.patch;patch=1 \
file://u-boot-kurobox-fdt.patch;patch=1 \
file://defconfig_lsppchg"
-SRC_URI_append_dm355-leopard = "file://dm355-leopard.diff"
+SRC_URI_append_dm355-leopard = " file://dm355-leopard.diff;patch=1"
do_compile_prepend_lsppchg () {
cp ${WORKDIR}/defconfig_lsppchg ${S}/include/configs/linkstation.h
diff --git a/recipes/u-boot/u-boot_2009.01.bb b/recipes/u-boot/u-boot_2009.01.bb
index fd1801a29b..e0839c923e 100644
--- a/recipes/u-boot/u-boot_2009.01.bb
+++ b/recipes/u-boot/u-boot_2009.01.bb
@@ -23,6 +23,12 @@ SRC_URI_append_at91sam9263ek = "\
file://u-boot-2009.01-exp-003-drivers-net-macb.c.patch;patch=1 \
"
+SRC_URI_append_at91sam9g20ek = "\
+ file://u-boot-2009.01-exp-002-at91sam9g20ek.patch;patch=1 \
+ file://u-boot-2009.01-exp-003-drivers-net-macb.c.patch;patch=1 \
+ file://at91sam9g20-fix-config.patch;patch=1 \
+ "
+
PACKAGE_ARCH = "${MACHINE_ARCH}"
PARALLEL_MAKE = ""
diff --git a/recipes/u-boot/u-boot_2009.03.bb b/recipes/u-boot/u-boot_2009.03.bb
index 11f2a0e441..a2c0c6fd7c 100644
--- a/recipes/u-boot/u-boot_2009.03.bb
+++ b/recipes/u-boot/u-boot_2009.03.bb
@@ -1,4 +1,4 @@
-PR = "r1"
+PR = "r2"
require u-boot.inc
DEFAULT_PREFERENCE = "-1"
@@ -6,7 +6,10 @@ DEFAULT_PREFERENCE_hipox = "1"
SRC_URI = "ftp://ftp.denx.de/pub/u-boot/u-boot-${PV}.tar.bz2 "
-SRC_URI_append_hipox = "file://00-hipox.patch;patch=1 "
+SRC_URI_append_hipox = "file://00-hipox.patch;patch=1 \
+ file://01-hipox-fix-gmac-reset.patch;patch=1 \
+ file://02-hipox-enable-mmu.patch;patch=1 \
+"
TARGET_LDFLAGS = ""
diff --git a/recipes/u-boot/u-boot_git.bb b/recipes/u-boot/u-boot_git.bb
index 4b5d5af710..9846cd8e95 100644
--- a/recipes/u-boot/u-boot_git.bb
+++ b/recipes/u-boot/u-boot_git.bb
@@ -16,9 +16,9 @@ SRC_URI_beagleboard = "git://gitorious.org/u-boot-omap3/mainline.git;branch=omap
SRCREV_beagleboard = "2dea1db2a3b7c12ed70bbf8ee50755089c5e5170"
PV_beagleboard = "2009.03+${PR}+gitr${SRCREV}"
-SRC_URI_omap3evm = "git://www.sakoman.net/git/u-boot-omap3.git;branch=omap3;protocol=git"
-SRCREV_omap3evm = "1e329ec630b31803ee191d2ee335214662b5bfea"
-PV_omap3evm = "2008.10+${PR}+gitr${SRCREV}"
+SRC_URI_omap3evm = "git://gitorious.org/u-boot-omap3/mainline.git;branch=omap3-dev;protocol=git"
+SRCREV_omap3evm = "2dea1db2a3b7c12ed70bbf8ee50755089c5e5170"
+PV_omap3evm = "2009.03+${PR}+gitr${SRCREV}"
SRC_URI_omapzoom = "git://www.sakoman.net/git/u-boot-omap3.git;branch=omap3-dev;protocol=git"
SRCREV_omapzoom = "d691b424f1f5bf7eea3a4131dfc578d272e8f335"
diff --git a/recipes/udev/udev-124/default b/recipes/udev/udev-124/default
new file mode 100644
index 0000000000..5c4937a9a0
--- /dev/null
+++ b/recipes/udev/udev-124/default
@@ -0,0 +1,4 @@
+# Default for /etc/init.d/udev
+
+# Comment this out to disable device cache
+DEVCACHE="/etc/dev.tar"
diff --git a/recipes/udev/udev-124/init b/recipes/udev/udev-124/init
index 9e11f08989..efe44708ca 100644
--- a/recipes/udev/udev-124/init
+++ b/recipes/udev/udev-124/init
@@ -14,6 +14,7 @@ export TZ=/etc/localtime
[ -d /sys/class ] || exit 1
[ -r /proc/mounts ] || exit 1
[ -x /sbin/udevd ] || exit 1
+[ -f /etc/default/udev ] && . /etc/default/udev
[ -f /etc/udev/udev.conf ] && . /etc/udev/udev.conf
kill_udevd() {
@@ -34,9 +35,18 @@ LANG=C awk "\$2 == \"/dev\" && \$4 == \"tmpfs\" { exit 1 }" /proc/mounts && {
mkdir -m 0755 /dev/shm
}
-if [ -e /etc/dev.tar ]; then
- (cd /; tar xf /etc/dev.tar)
- not_first_boot=1
+if [ "$DEVCACHE" != "" ]; then
+ # Invalidate udev cache if the kernel or its bootargs/cmdline have changed
+ [ -x /bin/uname ] && /bin/uname -mrspv > /tmp/uname || touch /tmp/uname
+ [ -r /proc/cmdline ] && cat /proc/cmdline > /tmp/cmdline || touch /tmp/cmdline
+ [ -r /proc/atags ] && cat /proc/atags > /tmp/atags || touch /tmp/atags
+ if [ -e $DEVCACHE ] && \
+ cmp -s /tmp/uname /etc/udev/saved.uname && \
+ cmp -s /tmp/cmdline /etc/udev/saved.cmdline && \
+ cmp -s /tmp/atags /etc/udev/saved.atags; then
+ (cd /; tar xf $DEVCACHE)
+ not_first_boot=1
+ fi
fi
# make_extra_nodes
@@ -50,10 +60,21 @@ kill_udevd > "/dev/null" 2>&1
if [ "$not_first_boot" != "" ];then
/sbin/udevadm trigger --subsystem-nomatch=tty --subsystem-nomatch=mem --subsystem-nomatch=vc --subsystem-nomatch=vtconsole --subsystem-nomatch=misc --subsystem-nomatch=dcon --subsystem-nomatch=pci_bus --subsystem-nomatch=graphics --subsystem-nomatch=backlight --subsystem-nomatch=video4linux --subsystem-nomatch=platform
(/sbin/udevadm settle --timeout=3; /sbin/udevadm control env STARTUP=)&
+ if [ "$DEVCACHE" != "" ]; then
+ rm -f /tmp/uname
+ rm -f /tmp/cmdline
+ rm -f /tmp/atags
+ fi
else
/sbin/udevadm trigger
/sbin/udevadm settle
- (cd /; tar cf /etc/dev.tar dev)
+ if [ "$DEVCACHE" != "" ]; then
+ echo -n " and populating dev cache"
+ (cd /; tar cf $DEVCACHE dev)
+ mv /tmp/uname /etc/udev/saved.uname
+ mv /tmp/cmdline /etc/udev/saved.cmdline
+ mv /tmp/atags /etc/udev/saved.atags
+ fi
fi
echo
diff --git a/recipes/udev/udev_124.bb b/recipes/udev/udev_124.bb
index 37dc3a7dbe..e5d9d73f89 100644
--- a/recipes/udev/udev_124.bb
+++ b/recipes/udev/udev_124.bb
@@ -2,7 +2,7 @@ DESCRIPTION = "udev is a daemon which dynamically creates and removes device nod
/dev/, handles hotplug events and loads drivers at boot time. It replaces \
the hotplug package and requires a kernel not older than 2.6.12."
RPROVIDES_${PN} = "hotplug"
-PR = "r15"
+PR = "r16"
SRC_URI = "http://kernel.org/pub/linux/utils/kernel/hotplug/udev-${PV}.tar.gz \
file://noasmlinkage.patch;patch=1 \
@@ -12,6 +12,7 @@ SRC_URI = "http://kernel.org/pub/linux/utils/kernel/hotplug/udev-${PV}.tar.gz \
file://libvolume-id-soname.patch;patch=1 \
file://mount.blacklist \
file://run.rules \
+ file://default \
"
SRC_URI_append_h2200 = " file://50-hostap_cs.rules "
@@ -33,6 +34,9 @@ do_install () {
install -d ${D}${sysconfdir}/init.d
install -m 0755 ${WORKDIR}/init ${D}${sysconfdir}/init.d/udev
+ install -d ${D}${sysconfdir}/default
+ install -m 0755 ${WORKDIR}/default ${D}${sysconfdir}/default/udev
+
install -d ${D}${sysconfdir}/udev/rules.d/
install -m 0644 ${WORKDIR}/mount.blacklist ${D}${sysconfdir}/udev/
@@ -45,6 +49,10 @@ do_install () {
install -m 0644 ${WORKDIR}/devfs-udev.rules ${D}${sysconfdir}/udev/rules.d/devfs-udev.rules
fi
+ touch ${D}${sysconfdir}/udev/saved.uname
+ touch ${D}${sysconfdir}/udev/saved.cmdline
+ touch ${D}${sysconfdir}/udev/saved.atags
+
install -d ${D}${sysconfdir}/udev/scripts/
install -m 0755 ${WORKDIR}/mount.sh ${D}${sysconfdir}/udev/scripts/mount.sh
diff --git a/recipes/udev/udev_141.bb b/recipes/udev/udev_141.bb
index a11c13d563..242558bbf4 100644
--- a/recipes/udev/udev_141.bb
+++ b/recipes/udev/udev_141.bb
@@ -20,8 +20,6 @@ INITSCRIPT_PARAMS = "start 03 S ."
FILES_${PN} += "${base_libdir}/udev/*"
FILES_${PN}-dbg += "${base_libdir}/udev/.debug"
-UDEV_EXTRAS = "extras/firmware/ extras/scsi_id/ extras/volume_id/"
-EXTRA_OEMAKE += "libudevdir=/lib/udev libdir=${base_libdir} prefix="
do_install () {
install -d ${D}${usrsbindir} \
diff --git a/recipes/unzip/unzip_552.bb b/recipes/unzip/unzip_552.bb
index 2f06e1b1c6..d8809196d8 100644
--- a/recipes/unzip/unzip_552.bb
+++ b/recipes/unzip/unzip_552.bb
@@ -6,7 +6,7 @@ PR = "r1"
SRC_URI = "http://ftp.info-zip.org/pub/infozip/src/unzip${PV}.tar.gz"
S = "${WORKDIR}/unzip-5.52"
-export LD = "${CC}"
+export LD = "${CC} ${LDFLAGS}"
do_compile() {
oe_runmake -f unix/Makefile generic
diff --git a/recipes/util-linux-ng/util-linux-ng.inc b/recipes/util-linux-ng/util-linux-ng.inc
index dda9792ee0..01e769eb6a 100644
--- a/recipes/util-linux-ng/util-linux-ng.inc
+++ b/recipes/util-linux-ng/util-linux-ng.inc
@@ -1,7 +1,7 @@
DESCRIPTION = "Util-linux-ng is a suite of essential utilities for any Linux system."
SECTION = "base"
LICENSE = "GPL"
-DEPENDS = "udev zlib ncurses e2fsprogs-libs"
+DEPENDS = "udev zlib ncurses e2fsprogs-libs virtual/libintl"
inherit autotools
diff --git a/recipes/util-linux-ng/util-linux-ng_2.13.1.bb b/recipes/util-linux-ng/util-linux-ng_2.13.1.bb
index 946147d41c..8fded14fbe 100644
--- a/recipes/util-linux-ng/util-linux-ng_2.13.1.bb
+++ b/recipes/util-linux-ng/util-linux-ng_2.13.1.bb
@@ -1,5 +1,6 @@
require util-linux-ng.inc
+SRC_URI = "${KERNELORG_MIRROR}/pub/linux/utils/util-linux-ng/v2.13/util-linux-ng-${PV}${RC}.tar.bz2"
#SRC_URI += "file://util-linux_2.12r-12.diff.gz;patch=1"
#SRC_URI += "file://glibc-fix.patch;patch=1"
#SRC_URI += "file://glibc-umount2.patch;patch=1"
diff --git a/recipes/vala/vala-bootstrap-native_0.6.0.bb b/recipes/vala/vala-bootstrap-native_0.6.0.bb
index 8cc3acb52b..36db7174a6 100644
--- a/recipes/vala/vala-bootstrap-native_0.6.0.bb
+++ b/recipes/vala/vala-bootstrap-native_0.6.0.bb
@@ -1,4 +1,5 @@
-require vala_${PV}.bb
+require vala.inc
+PR = "r2"
inherit native
DEPENDS = "glib-2.0-native"
diff --git a/recipes/vala/vala_0.6.0.bb b/recipes/vala/vala_0.6.0.bb
index 7b2b4e293c..e03e39f002 100644
--- a/recipes/vala/vala_0.6.0.bb
+++ b/recipes/vala/vala_0.6.0.bb
@@ -1,2 +1,3 @@
require vala.inc
+DEPENDS = "vala-bootstrap-native"
PR = "r2"
diff --git a/recipes/webif/webif_svn.bb b/recipes/webif/webif_svn.bb
new file mode 100644
index 0000000000..8e84293c2d
--- /dev/null
+++ b/recipes/webif/webif_svn.bb
@@ -0,0 +1,37 @@
+DESCRIPTION = "Web interface"
+LICENSE = "GPL"
+
+PV = "0.0.3+svnr${SRCREV}"
+SRCREV = "4737"
+
+SRC_URI = "svn://x-wrt.googlecode.com/svn;module=trunk;proto=http"
+
+S = "${WORKDIR}/trunk"
+
+do_compile() {
+ cd ${S}/package/webif/
+ ${CC} ${CFLAGS} \
+ -D_METAPACK \
+ -I${STAGING_INCDIR} -include endian.h \
+ ${LDFLAGS} \
+ -o ${S}/webifmetabin \
+ src/int2human/main.c src/int2human/human_readable.c \
+ src/wepkeygen/keygen.c src/wepkeygen/md5.c \
+ src/webif-page.c src/bstrip.c src/webifmetabin.c
+}
+
+do_install() {
+ install -d ${D}${bindir}
+ install -m 0755 ${S}/webifmetabin ${D}${bindir}/
+
+ install -d ${D}${sysconfdir}
+ cp -dPr ${S}/package/webif/files/etc/* ${D}${sysconfdir}/
+
+ install -d ${D}${libdir}
+ cp -dPr ${S}/package/webif/files/usr/lib/* ${D}${libdir}/
+
+ find ${D} -name ".svn" | xargs rm -r || true
+}
+
+
+RDEPENDS_${PN} = "haserl ${IPKG_VARIANT} cron"
diff --git a/recipes/wt/wt_2.2.3.bb b/recipes/wt/wt_2.2.3.bb
index b9ab7580f8..49fad6de91 100644
--- a/recipes/wt/wt_2.2.3.bb
+++ b/recipes/wt/wt_2.2.3.bb
@@ -12,6 +12,8 @@ SRC_URI = "${SOURCEFORGE_MIRROR}/witty/wt-${PV}.tar.gz \
FILES_${PN} += "${datadir}/Wt"
FILES_${PN}-dev += "${datadir}/cmake-2.*"
+ARM_INSTRUCTION_SET = "arm"
+
inherit cmake
STAGE_TEMP = "${WORKDIR}/temp-staging"
diff --git a/recipes/zaurus-updater/zaurus-updater.bb b/recipes/zaurus-updater/zaurus-updater.bb
index 6ed1c5fdd4..ab32d7fe29 100644
--- a/recipes/zaurus-updater/zaurus-updater.bb
+++ b/recipes/zaurus-updater/zaurus-updater.bb
@@ -35,3 +35,4 @@ do_deploy() {
}
addtask deploy before do_build after do_compile
+PARALLEL_MAKE = ""
diff --git a/site/powerpc-common b/site/powerpc-common
index 7a988b16bd..cc523bccc6 100644
--- a/site/powerpc-common
+++ b/site/powerpc-common
@@ -36,6 +36,7 @@ ac_cv_time_r_type=${ac_cv_time_r_type=POSIX}
cookie_io_functions_use_off64_t=${cookie_io_functions_use_off64_t=yes}
ac_cv_va_copy=${ac_cv_va_copy=yes}
ac_cv___va_copy=${ac_cv___va_copy=yes}
+ac_cv_va_val_copy=${ac_cv_va_val_copy=no}
# apache
ac_cv_func_pthread_key_delete=${ac_cv_func_pthread_key_delete=yes}